news 2026/10/3 7:22:11

多个AI智能体之间上下文如何传递?揭秘Antfarm的KEY变量传递与验证-重试闭环

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
多个AI智能体之间上下文如何传递?揭秘Antfarm的KEY变量传递与验证-重试闭环

多个AI智能体之间上下文如何传递?揭秘Antfarm的KEY变量传递与验证-重试闭环

【免费下载链接】antfarmBuild your agent team in OpenClaw with one command.项目地址: https://gitcode.com/gh_mirrors/antf/antfarm

当多个 AI 智能体(Agent)协作完成一项任务时,最核心的难题是上下文传递:规划者探明的仓库路径、开发者改动的分支、验证者发现的问题,如何准确"接力"给下一个智能体?Antfarm 是一款开源的多智能体工作流编排工具(一句话在 OpenClaw 上搭出一支会协作的 AI 代理团队),它用一个极简却优雅的机制解决了这个问题——KEY: value 变量传递 + 验证-重试闭环。下面带你彻底看懂这套机制。

为什么多智能体协作离不开"上下文传递"?

Antfarm 的设计哲学是"每个步骤都是全新会话"(fresh context):规划者、开发者、验证者各自在独立的、干净的上下文中运行,谁也不会被前面几十条消息"污染"。这带来两大好处:

  • 不出现"上下文窗口爆炸",每个智能体都专注当前任务;
  • 不会出现"50 条消息前的幻觉状态"。

但新会话意味着智能体之间不能靠记忆沟通,必须有一套显式的上下文传递协议。Antfarm 的答案只有 9 个字:约定输出 KEY: value 键值对。

核心机制:KEY: value 变量如何一步步接力

整个传递链路分四步,全部由 src/installer/step-ops.ts 自动完成:

第 1 步:智能体按约定格式输出

每个步骤的输入模板都会要求智能体用KEY: value行回复结果。例如 feature-dev 工作流的 plan 步骤(见 workflows/feature-dev/workflow.yml):

Reply with: STATUS: done REPO: /path/to/repo BRANCH: feature-branch-name STORIES_JSON: [ ... ]

第 2 步:解析并合并进"运行上下文"

步骤完成后,parseOutputKeyValues 会把输出解析成键值对(键名统一转小写,并支持多行值),随后在 completeStep 中合并写入 SQLite 的 run 上下文——这份 JSON 就是整个工作流的"公共记忆板"。

第 3 步:用 {{占位符}} 注入下一个智能体

下一步启动前,resolveTemplate 会把输入模板里的{{repo}}、{{branch}}、{{build_cmd}}替换成上下文中的真实值。比如 setup 步骤的模板:

REPO: {{repo}} BRANCH: {{branch}}

开发者智能体拿到的,就是填充好的完整任务书。上下文就这样在智能体之间无缝接力,全程无需人工干预。

第 4 步:缺少变量会提前报错,而不是带病运行

如果模板引用了上下文中不存在的键,Antfarm 会直接把该步骤标记失败([missing: xxx]),避免智能体拿着残缺信息干活——这是很多多智能体框架忽略的细节。

一个真实案例:feature-dev 全流程的变量接力

Antfarm 内置的 feature-dev 工作流展示了完整链路:plan → setup → implement → verify → test → pr → review(见 workflows/feature-dev/workflow.yml)。

步骤产出的 KEY 变量被谁消费
plan(规划者)repo、branch、stories_jsonsetup、implement
setup(环境准备)build_cmd、test_cmdimplement、verify
implement(开发者)changes、testsverify、test、pr
test(测试者)resultspr
pr(开发者)prreview

可以看到:每个智能体只负责"产出"自己的 KEY,后面所有步骤按需"消费"。这就是 KEY 变量传递的本质——把隐式的对话变成了显式的、可追踪的数据流。

验证-重试闭环:ISSUES 如何回流成 {{verify_feedback}}

光有传递还不够,Antfarm 的另一套精髓是验证-重试闭环:开发者不能给自己作业打分,验证者(verifier)在独立会话中逐条检查验收标准。

  • 验证通过:回复STATUS: done+VERIFIED: 确认内容,流程继续;
  • 验证失败:回复STATUS: retry+ISSUES: 缺失项清单。

此时 handleVerifyEachCompletion 会做一件关键的事:把ISSUES内容写入上下文的verify_feedback键,并让 implement 步骤带着重试次数重新执行。而 implement 的输入模板里正好有:

VERIFY FEEDBACK (if retrying): {{verify_feedback}}

于是验证者的批评被原封不动地"回喂"给开发者,开发者在修复时就能直接看到问题清单,而不是盲目重来。若重试次数超过max_retries,流程会escalate_to: human升级给人处理——没有任何失败会被静默吞掉。

如何为自己的工作流设计 KEY 变量与重试闭环?

看懂机制后,你也很容易照此设计自己的工作流,官方指南见 docs/creating-workflows.md。三条黄金法则:

  1. 每个步骤的模板里写明输出格式——告诉智能体必须返回哪些KEY: value,且 KEY 用大写;
  2. 验证步骤永远配retry_step——用on_fail.retry_step指定回跳步骤,用max_retries控制重试上限;
  3. 一个智能体只干一件事——传递越清晰,闭环越可靠。

写在最后

Antfarm 证明了:多智能体上下文传递不需要复杂的消息队列,"KEY: value 约定 + 集中式上下文存储 + 模板占位符"三件套,配合验证-重试闭环,就能让一支 AI 智能体团队像真正的研发流水线一样可靠运转。YAML + SQLite + cron,极简之下全是巧思。

【免费下载链接】antfarmBuild your agent team in OpenClaw with one command.项目地址: https://gitcode.com/gh_mirrors/antf/antfarm

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/3 7:21:41

佳木斯刘佳新玛特迪桑特女导购气质女郎事件(附完整版视频)

佳木斯迪桑特女导购:在黑龙江佳木斯新玛特商场内,迪桑特专柜的一名普通女销售刘佳被曝不雅视频。平日里工作看似正常的她,竟然胆大包天到直接利用上班时间,在店内狭窄的试衣间里,与一名神秘男子上演了一场. 不慎流出被全网疯传&…

作者头像 李华
网站建设 2026/10/3 7:21:31

DRV8818PWPR步进驱动原理与STM32裸机控制实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/3 7:20:02

2026最新测试:替代PanDownload的网盘不限速直链解析工具

平时我们在使用网盘保存或者获取文件时,经常会遇到进度条走得非常慢的情况。很多时候大家会下意识觉得是外部线路出现了波动,但实际上不少阻碍都出在我们自己的设备和日常使用习惯上。 想要解决这种烦恼,不妨先静下心来从自身的环境找找根源…

作者头像 李华