让 AI Agent 回答一个问题很容易,但要它连续修改代码、执行测试并依据结果反复修正,就需要合适的循环机制。Loop 决定智能体能运行多少轮、如何组织工具调用、何时停止,以及怎样用实际证据确认任务完成。理解这些差异,是配置长任务执行方式的基础。
同一个 Agent,为什么你只是聊聊天,别人却能让它通宵改完 40 个测试?差别通常在它的"工作方式"——专业点叫 Loop(循环)。上篇我们聊过权限模式(能动什么),这篇讲另一条线:循环方式(跑多远、怎么跑)。它决定 Agent 是回一句话就停,还是一轮一轮干到任务完成。
Agent 最小的工作单位是"思考 → 调用工具 → 拿到结果",这算一次迭代(loop iteration)。普通对话里,Agent 回你一句就停;Loop 工作方式决定四件事:
单轮循环
目标循环
多Agent流水线
先分清两件事:循环方式(跑多远、怎么跑)和权限模式(能动什么、问不问)是两个正交维度,各选各的。别把权限模式当工作方式用。
"修复所有失败的单元测试"这种任务,一次回复根本不可能完成,必须让 Agent 持续调研、修改、验证、再修改。划分循环方式的第一意义:让 Agent 能跑完一个任务,而不只是回答一句话。
让循环无限制跑,Token 会被烧穿。所以框架要提供迭代上限、Token 预算、重复行为检测——比如检测到 Agent 反复调用同一个工具、传相同参数,先提示它换个思路,严重时强制停止。
普通对话里 Agent 输出一段文字就算完事;目标循环里它必须自我审计——跑测试、查文件,找出实际证据证明目标达成,没有证据的项一律视为未完成。这层机制把"它说做完了"升级成"它证明做完了"。
一个 40 步的大任务,做到后面 Agent 早忘了前面说过什么。多 Agent 流水线用上下文隔离解决:每个 worker 只关注自己的子任务,不被其他任务的信息干扰。
以下截至 2026-09,以官方文档为准。先看两个具体框架,再看背后的通用范式。
QwenPaw 把这套机制叫"循环工程"(Loop Engineering),三等模式:
| 模式 | 进入方式 | 循环行为 | 适用 |
|---|---|---|---|
| 默认(普通对话) | 直接聊 | 一轮即停 + 循环保护 | 问答、小修 |
| Goal(目标循环) | /goal <目标> | 单 Agent 持续迭代,自我审计证明完成 | 目标明确的持续任务 |
| Mission(任务流水线) | /mission <任务> | master → worker → verifier 多 Agent | 大型多子任务项目 |
默认模式也有循环保护:迭代上限(默认 50 次)、重复行为检测(先注入提示换思路,严重则强制停)、完成度检查(Agent 只输出文本不调工具时,自动提醒它确认任务是否真完成)。
Goal 模式会自动启用三个专用工具:get_goal(查进度、迭代数、Token 用量、剩余预算)、update_goal(标记 complete 或 blocked)、create_goal(按需创建新目标)。停止条件:目标完成(有证据)、遇到阻塞、迭代用完(默认 20)、Token 预算耗尽(默认 30 万)、你手动停止。
Mission 模式分两阶段:Phase 1 先生成 PRD、把任务拆成用户故事,你确认后进入 Phase 2;Phase 2 里 master 把故事派给 worker 独立实现,verifier 独立验收,未通过的自动重试。可用 /mission status、/mission list 看进度。
Loop 参数在 Console「运行配置 → 智能体 Loop 设置」里调,预设"默认 / Goal / Mission"三套模板,对应 agent.json 的 running.loop:
{
"running": {
"loop": {
"iteration": { "enabled": true, "max_iterations": 50 },
"doom_loop": { "enabled": true, "window_size": 6, "similarity_threshold": 0.8 },
"rubric": { "enabled": false, "max_interventions": 1 }
}
}
}
DSH(2026-08 开源,"一切皆插件")在输入框上方有模式选择器,四种模式:
| 模式 | 循环方式 | 特点 |
|---|---|---|
| 标准 | 经典工具循环:调一次工具 → 拿结果 → 再决定 | 完整工具集(文件/Shell/搜索/Skills/计划/目标/子 Agent/工作流) |
| PTC(Code 模式) | 模型写一段 TypeScript,一次 run_code 组合多步工具调用 | 拥有标准全部能力,省模型-工具往返、省 Token |
| 极简 | 最小循环:持久 Bash + 文件编辑器 | 提示词固定"你是有帮助的软件工程助手",去上下文压缩,基准测试专用 |
| 创造 | 标准能力 + 运行时检查 | 现场试插件、组合成新模式,Agent 可以给自己造工具 |
PTC 的收益很直观:原来读文件 → 搜索 → 筛选 → 并行调用 → 整理结果可能要五次模型往返,有机会压进一次程序执行;代价是要求模型有稳定的代码规划能力,调试难度高,小白先别碰。
两个框架的模式背后是几种通用范式,理解了范式换框架就不慌:
| 范式 | 特征 | 代表 |
|---|---|---|
| ReAct | 推理 → 行动 → 观察,一步一循环 | DSH 标准、QwenPaw 默认 |
| Plan-and-Execute | 先出计划再执行 | QwenPaw Goal |
| 反思 / 自我审计 | 每轮对照验收标准找证据 | QwenPaw Goal 的完成判定 |
| 程序化编排 | 用代码组织多步工具调用 | DSH PTC |
| 多 Agent 流水线 | 拆用户故事,派活-干活-验收 | QwenPaw Mission |
| 场景 | 推荐模式 |
|---|---|
| 快速问答、改个文案 | 默认 |
| 修复全部失败测试、翻译文档、生成调研报告 | Goal |
| 从零搭一个完整项目、多模块功能 | Mission |
| 多步且结构化的批量操作(读 → 搜 → 筛 → 写) | PTC |
| 对比两个模型的裸能力 | 极简 |
| 想造一个新 Agent / 新插件 | 创造 |
"给项目加 CI":先用默认模式聊需求 → Goal 模式让它持续写配置、跑测试 → 卡住就拆成 Mission,让各模块 worker 并行改 → 最后 verifier 验收。任务越大,模式越重;一个任务里换两三次模式很正常。
| 工具 | 怎么切 | 查看状态 |
|---|---|---|
| QwenPaw | /goal <目标>、/mission <任务> | /mission status、/mission list |
| QwenPaw Loop 参数 | Console 运行配置 → 智能体 Loop 设置 | agent.json 的 running.loop |
| DSH | 输入框上方模式选择器 | 轨迹视图(只追加事件日志) |
用 Goal 模式推进:目标是 <任务描述>。
先给我一份执行计划,然后持续工作直到完成。
每完成一个里程碑用一句话汇报;
只有当你找到实际证据(测试通过 / 文件存在)时才标记完成。
一句话让 Agent"实现整个功能",它回一段代码就停,你以为是全部。长任务请显式进 Goal / Mission。
目标循环默认 30 万 Token,复杂任务可能烧穿;先设预算,别让它自己跑通宵。
给个小任务开 Mission:PRD、多 Agent、验证流水线,光协调开销就回不了本。
模型代码规划不稳,run_code 写出来的编排全是 bug,调试成本比省下的 Token 更贵。先标准模式验证模型,再考虑 PTC。
极简模式只有两个工具,没有 Skills、没有搜索,适合基准测试,不适合干活。
两个维度别混:循环方式管"跑多远",权限模式管"能动什么"。该用 Goal 的只开了 yolo(全自动权限却只有单轮循环),该问的没问,两头都容易出事。
数据来源:QwenPaw 官方文档「循环工程」、DeepSeek Harness 官方介绍与开发者文档,核对时间 2026-09。