Coding Agent:外循环 + Workspace 提示词组装

Coding Agent:外循环 + Workspace 提示词组装 由 Archify 生成的架构图。 CLI / 宿主 · run / runStream · 架构组件 CLI / 宿主 run / runStream LoopController · 外循环:多轮 turn · 外循环(多轮自治) · loop LoopController 外循环:多轮 turn loop CodingSession · runSingleTurn(Stream) · 架构组件 · loop CodingSession runSingleTurn(Stream) loop AgentSession/ReAct · 内层模型+工具循环 · 架构组件 · loop AgentSession/ReAct 内层模型+工具循环 loop CodingLoopPolicy · auto-continue 参数 · 外循环(多轮自治) · loop CodingLoopPolicy auto-continue 参数 loop CodingLoopDecision · continue / stopReason · 外循环(多轮自治) · loop CodingLoopDecision continue / stopReason loop PromptAssembler · mergeSystemPrompt · Workspace 提示词来源 · prompt PromptAssembler mergeSystemPrompt prompt CodingAgentResult · 聚合 tokens/cost/decision · 外循环(多轮自治) · loop CodingAgentResult 聚合 tokens/cost/decision loop WorkspaceContext · root/skills/AGENTS.md · Workspace 提示词来源 · prompt WorkspaceContext root/skills/AGENTS.md prompt 工作区存储 · AgentsMdStore·FileService · Workspace 提示词来源 · prompt 工作区存储 AgentsMdStore·FileService prompt ① 调用 ② runSingleTurn ③ 内层 ReAct ④ decide 输入 ⑤ decide ⑥ continuationPrompt→下一轮 ⑦ mergeSystemPrompt ⑧ buildWorkspacePrompt ⑨ 富化 ⑩ 聚合输出 外循环(多轮自治) Workspace 提示词来源 图例 前端 后端 数据库 安全

外循环判定

  • • 每轮:throwIfInterrupted → maxTotalTurns 检查 → runSingleTurn → 累加 tokens/cost/toolCalls → decide → continue 则带 continuationPrompt 进下一轮
  • • 输出文本模式驱动:QUESTION_PATTERN 停等用户输入、COMPLETION_PATTERN 判完成、CONTINUE_PATTERN 自动续跑(受 maxAutoFollowUps 限)

stopReason 谱系

  • • BLOCKED_BY_APPROVAL / BLOCKED_BY_TOOL_ERROR:审批拒绝或工具错误且 stopOnApprovalBlock 时停;turnError 经 ErrorTrackingAgentListener 捕获
  • • MAX_TOTAL_TURNS_REACHED 硬上限、CONTINUATION_REQUIRED、INTERRUPTED、ERROR——decision 记入 session.recordLoopDecision

Workspace 提示词

  • • buildWorkspacePrompt:root 路径 + 工具选择指引(read/write/edit/apply_patch/bash/bash_process/update_agents_md)+ apply_patch 语法 + shell 用法
  • • Skills/Prompts 索引 + AGENTS.md 正文(<agents_md> 包裹)并入;allowOutsideWorkspace=false 时明确不依赖工作区外文件