AgentFlow
Architecture

Vue d'ensemble de l'architecture

Modules Go sous application/internal et pipeline d'exécution.

Vue d'ensemble de l'architecture

AgentFlow est une CLI Go (application/cmd/agentflow) dont la majeure partie du comportement vit dans application/internal/ et les contrats partagés dans application/pkg/agentflow. Cette séparation garde le binaire fin tout en isolant parsing, planification, investigation, coût et stockage derrière des packages explicites que vous pouvez raisonner depuis la seule arborescence.

Pipeline d'exécution

Le chemin de bout en bout part de la CLI, résout l'intention, exécute le pipeline V3 (investigation, optimisation du contexte, coût et budgets, routage), puis les étapes workflow — plan, enrich, dev — dans un worktree avant validation, revue optionnelle et rapport.

flowchart TD
  A[User intent / CLI] --> B[intent resolver + planner]
  B --> C[pipeline V3]
  C --> D[investigation]
  D --> E[contextopt]
  E --> F[cost estimate + budgets]
  F --> G[routing]
  G --> H[workflow: plan enrich dev]
  H --> I[worktree + agent exec]
  I --> J[validation]
  J --> K[review + report]

Modules internes

PackageRôle
cliCommandes Cobra, docgen, contexte app
configChargement YAML, défauts, résolution de chemins
intentNL work/continue, résolveur hybride, exécuteur
workflowMachine à états, plan/dev/verify/review, worktrees
worktreeCycle de vie git worktree
agent / agent/execContrats subprocess
source / source/notionIngestion de specs
contextoptCollecte/réduction/pack de contexte
investigationgrep/scan local
costJetons, tarification, budgets
routingClasse d'étape → agent/modèle
mcpOutils MCP stdio (optionnel)
store/sqliteRuns, tâches, métriques
reportRapports de run
tuiUI rich/plain/json
ragIndex de chunks (SQLite, non vectoriel)
bootstrapinit, doctor
redactMasquage de secrets dans les logs
validationExécuteur de commandes externes

Stockage d'état

Runs et tâches persistent dans SQLite à state.path (défaut .agentflow/state.sqlite). Les artefacts de chaque run vont sous .agentflow/runs/<run-id>/, ce qui garde prompts, logs et sorties intermédiaires adressables sans relire la base.

Points d'extension

Nouveaux agents via la config seule ; nouvelles portes qualité via validation.commands ; stratégies de routage sous routing.strategies ; outils MCP optionnels quand mcp.enabled: true. Ce sont des coutures intentionnelles : la plupart des équipes étendent AgentFlow sans forker le point d'entrée Go.

Voir aussi