Recherche approfondie & recherche web
Comment PlanToCode effectue des recherches web, traite les résultats et intègre les découvertes dans les workflows de développement.
La fonctionnalité de recherche approfondie permet à PlanToCode d'effectuer des recherches intelligentes alimentées par l'IA, de rassembler des informations pertinentes et d'intégrer les découvertes directement dans les workflows de développement. Ce système utilise de grands modèles de langage pour générer des requêtes de recherche ciblées basées sur le contexte de votre projet, exécuter des tâches de recherche en parallèle et synthétiser des insights actionnables pour améliorer la génération de code et les capacités de résolution de problèmes.
Pipeline de recherche approfondie
Le workflow en deux étapes : génération de prompts et exécution de recherche en parallèle.
Vue d'ensemble de l'architecture
Le système de recherche approfondie fonctionne comme un workflow en deux étapes : (1) WebSearchPromptsGeneration - l'IA analyse votre tâche et le contexte du projet pour générer des requêtes de recherche ciblées, et (2) WebSearchExecution - le LLM exécute les prompts de recherche en parallèle et synthétise les résultats. Chaque étape est conçue pour la fiabilité, l'efficacité des coûts et la pertinence contextuelle.
Étapes du workflow de recherche
Génération de prompts
Les prompts de recherche sont automatiquement générés par l'IA basée sur votre description de tâche, le contexte du projet et les fichiers inclus. Le système analyse la structure de votre codebase via l'arborescence de répertoires et le contenu des fichiers pour formuler des requêtes de recherche ciblées. Jusqu'à 12 prompts de recherche focalisés sont générés par tâche.
Sujets de recherche
- • Documentation API et recherche spécifique aux bibliothèques
- • Résolution d'erreurs et approches de débogage
- • Bonnes pratiques et patterns recommandés
- • Compatibilité de version et chemins de migration
- • Considérations de sécurité et sensibilisation aux vulnérabilités
Exécution de la recherche
Les prompts de recherche sont exécutés en parallèle par des modèles de langage IA. Chaque prompt est traité indépendamment, permettant au système de rassembler des informations sur plusieurs aspects de votre tâche simultanément. Les résultats sont synthétisés en découvertes structurées avec des titres et des insights actionnables.
Domaines de recherche
- • Documentation API et spécifications techniques
- • Exemples de code et patterns d'implémentation
- • Résolution d'erreurs et approches de dépannage
- • Bonnes pratiques et patterns d'implémentation
- • Compatibilité de version et guide de migration
Traitement et synthèse des résultats
Les résultats de recherche sont structurés en format JSON avec des titres et des découvertes détaillées. Le système agrège les résultats des tâches de recherche parallèles, suit les comptages de succès et d'échecs et fournit un résumé des résultats de la recherche. Les résultats sont stockés dans les métadonnées du job pour un accès facile.
Étapes de traitement
- • Découvertes clés extraites et formatées pour l'intégration
- • Résultats organisés par sujet de recherche et pertinence
- • Résultats consolidés à travers plusieurs prompts de recherche
- • Exécution de la recherche suivie avec métriques de temps
- • Insights actionnables et recommandations mis en évidence
Détails de l'intégration API
Configuration de la recherche IA
Le système utilise des modèles de langage IA via OpenRouter pour effectuer des recherches web intelligentes. Le LLM génère des requêtes de recherche ciblées basées sur le contexte de votre tâche et synthétise les résultats à partir de ses données d'entraînement et de ses capacités de recherche web. La sélection et la configuration du modèle sont gérées via les paramètres de l'application.
// Start the web search workflow (Tauri command)
await invoke("start_web_search_workflow", {
sessionId,
taskDescription,
projectDirectory,
excludedPaths: ["node_modules", "dist"],
timeoutMs: 300000,
});Pipeline de traitement du contenu
Les résultats de recherche passent par un pipeline de traitement standardisé qui extrait les informations significatives tout en préservant le formatage et le contexte. Le pipeline gère différents types de contenu et synthétise les résultats en insights actionnables pour les workflows de développement.
// WebSearchExecution response (stored in job.response)
{
"searchResults": [
{ "title": "Research Task 1", "findings": "Summary text..." }
],
"searchResultsCount": 1,
"summary": "Found 1 research findings"
}Intégration au workflow de développement
Recherche contextuelle
Les requêtes de recherche sont automatiquement enrichies avec le contexte de votre session actuelle. Le système inclut l'arborescence de répertoires de votre projet et le contenu des fichiers sélectionnés dans la phase de génération de prompts, permettant à l'IA de formuler des requêtes de recherche spécifiques à votre codebase.
Intégration des résultats
Les résultats de recherche peuvent être utilisés pour éclairer les plans d'implémentation. Quand les tâches de recherche se terminent, les résultats sont formatés comme des tags research_finding qui peuvent être incorporés dans les tâches de planification suivantes, garantissant que votre implémentation est guidée par les bonnes pratiques actuelles et une documentation précise.
Stockage des résultats
Les résultats de recherche sont stockés dans les métadonnées du job et peuvent être consultés via le panneau de détails du job. Les résultats persistent pendant la durée de la session et peuvent être référencés lors de la création de plans d'implémentation ou de décisions de codage.
Configuration et personnalisation
Paramètres de recherche
Le comportement de recherche est configuré via la sélection du modèle et les paramètres de tâche. Choisissez votre modèle IA préféré pour les tâches de recherche, configurez les timeouts et sélectionnez les fichiers à inclure pour le contexte.
Options configurables
- • Répertoire de projet et sélection de fichiers pour le contexte
- • La sélection du modèle détermine la qualité et le coût de la recherche
- • Maximum 12 prompts de recherche générés par tâche
- • Démarrer la recherche manuellement via la commande de workflow
- • Inclure les fichiers de projet pertinents pour un meilleur contexte
Paramètres spécifiques au projet
La configuration de recherche est consciente de la session. Le système utilise le répertoire de projet de la session actuelle et les fichiers inclus pour fournir le contexte. Les chemins exclus (comme node_modules, dist) sont automatiquement filtrés de l'arborescence de répertoires montrée à l'IA.
Considérations de coût
Utilisation et coûts
La recherche approfondie utilise vos crédits IA configurés via OpenRouter. Chaque tâche de recherche génère plusieurs appels LLM en parallèle, donc les coûts augmentent avec le nombre de prompts de recherche générés. Le système suit l'utilisation des tokens et les coûts par job pour la transparence.
Conseils de gestion des coûts
- • Utilisation de tokens suivie par job de recherche avec détail des coûts
- • Coûts gérés via vos crédits d'abonnement OpenRouter ou PlanToCode
- • Surveiller les métadonnées de job pour les comptages de tokens et coûts estimés
- • Résultats de recherche mis en cache par session pour éviter les requêtes redondantes
Optimisation des coûts
Les coûts de recherche sont gérés via la génération intelligente de prompts - le système limite les prompts de recherche à un maximum de 12 par tâche. L'exécution parallèle minimise le temps d'attente. Chaque job suit l'utilisation des tokens et les coûts estimés dans ses métadonnées pour une transparence totale.
Bonnes pratiques et exemples
Stratégies de recherche efficaces
Pour maximiser la valeur de l'intégration de la recherche web, suivez ces stratégies éprouvées pour formuler des requêtes, interpréter les résultats et intégrer les découvertes dans votre workflow de développement.
Formulation de requête
- • Inclure des numéros de version spécifiques quand pertinent
- • Combiner les noms de bibliothèques avec des messages d'erreur spécifiques
- • Utiliser « bonnes pratiques » ou « approche recommandée » pour les recherches de patterns
- • Inclure les contraintes de plateforme ou d'environnement
Évaluation des résultats
- • Prioriser la documentation officielle par rapport aux sources tierces
- • Vérifier les dates de publication pour les informations sensibles au temps
- • Vérifier les exemples de code dans votre environnement de développement
- • Croiser les solutions entre plusieurs sources
Exemples d'intégration
Les patterns d'intégration courants démontrent comment les résultats de recherche web améliorent différents scénarios de développement, du débogage d'erreurs spécifiques à l'implémentation de nouvelles fonctionnalités avec des APIs non familières.
// Example: API integration research
Search query: "Next.js 14 app router middleware authentication"
Results integrated as:
- Middleware setup code with current best practices
- Authentication flow documentation links
- Common pitfalls and troubleshooting tips
- Compatible library recommendationsDépannage et support
Problèmes courants
La plupart des problèmes de recherche proviennent de la connectivité API LLM, de crédits insuffisants ou de prompts trop larges. Le système fournit des messages d'erreur clairs et un suivi de l'état des jobs pour le dépannage.
Erreurs API
Vérifiez le statut de l'API OpenRouter et le solde de crédits
Aucun prompt de recherche généré
Fournissez des descriptions de tâche plus spécifiques ou incluez des fichiers pertinents pour le contexte
Disponibilité des modèles
Certains modèles peuvent avoir des restrictions régionales via OpenRouter
Optimisation des performances
Pour des performances optimales, fournissez des descriptions de tâche claires et spécifiques. Incluez les fichiers de projet pertinents pour donner à l'IA un meilleur contexte. Le système exécute les prompts de recherche en parallèle pour minimiser le temps d'exécution total.
Prêt à utiliser la recherche approfondie ?
Les fonctionnalités de recherche approfondie et de recherche web sont disponibles dans l'application bureau PlanToCode. Téléchargez la version pour votre plateforme pour commencer à intégrer la recherche web dans votre workflow de développement.