位置:首页 > 进阶教程 > 双AI搭子大吉与Hermes协作搭建无人工厂实战及IMA踩坑

双AI搭子大吉与Hermes协作搭建无人工厂实战及IMA踩坑

时间:2026-07-19  |  作者:星河游者  |  阅读:0

这篇文章约2000字,包含可直接复用的命令、架构图和真实踩坑记录。

如果你正打算用WorkBuddy实现多Agent协作,或想打造知识库自动化流程,按本文思路应能复现。

一、为什么要把一个Agent拆成两个?

使用WorkBuddy一段时间后,会发现一个明显的瓶颈:把所有任务都堆给一个对话窗口,上下文很快被历史记录撑爆。

长任务做到一半,容易忘记最初目标。更麻烦的是,手头同时有Windows主力机和一台Ubuntu机器,两边的记忆根本对不上。

解决方案其实不复杂——让两个Agent分工干活:

  • 大吉:跑在Windows的WorkBuddy上,主要负责写代码、整理文件、对接本地任务,以及输出交接文件。
  • Hermes:跑在Ubuntu上,负责耗时长的任务、汇总报告,充当“群代表”对外输出结果。

关键在于,这两个Agent之间不依赖实时通信,不建消息队列,也不需要调度器。它们唯一依赖的是一个共享知识库,相当于公共信箱,天然做到解耦。

WorkBuddy双窗口/两台机器并排工作图 图1:WorkBuddy双窗口 / 两台机器并排工作图

二、架构:以IMA知识库为单一事实源

这个设计最关键的一点,就是只用一个共享文件夹当信箱。这里用的是IMA知识库(腾讯的AI知识库),它开放了OpenAPI,允许Agent直接读写。

文件夹结构采用“三权分立”的思路:

  • 共享/:存放交接文件、汇总报告、任务元数据——两个Agent都能看到。
  • 大吉私域/:大吉的草稿、中间产物、记忆——只有大吉能访问。
  • Hermes私域/:Hermes的中间产物——只有Hermes能访问。

共享/目录下再细分几个子目录:

  • tasks/(任务清单)
  • handoffs/(交接文件)
  • reports/(汇总报告)
  • archive/(归档)
  • templates/(模板)

交接文件的命名规则是:{任务ID}-{轮次}-{发送方}-{状态}.md。例如:20260630-A3-01-daji-pending.md

每个文件必须小于2KB,并在文件头部用YAML格式标注任务ID、轮次、状态和创建时间。

IMA知识库文件夹树 图2:IMA知识库文件夹树

这套规范最核心的好处是:任何一方如果挂了,另一方都能从文件夹里恢复上下文,任务不会丢失。

三、IMA OpenAPI接入:401鉴权踩坑(重点)

第一次让Hermes调用IMA的OpenAPI时,直接返回了401错误。排查下来,根本原因不是token错了,而是传输方式不对。

这里把正确的做法一次性说清楚,一共三层:

① 凭据值

在IMA开放平台拿到两个值:client_idapi_key(在知识库设置 → OpenAPI里生成)。

② 怎么传(头名和位置)

不是用标准的 Authorization 头,而是两个自定义HTTP头

ima-openapi-clientid: 
ima-openapi-apikey: 

再加上标准头 Content-Type: application/json

③ 完整示例请求

curl -X POST 'https://ima.tencent.com/wiki/v1/knowledge/search' 
-H 'ima-openapi-clientid: YOUR_CLIENT_ID' 
-H 'ima-openapi-apikey: YOUR_API_KEY' 
-H 'Content-Type: application/json' 
-d '{"knowledge_id":"YOUR_KB_ID","query":"双Agent协作协议","top_k":5}'

路径前缀是 /wiki/v1/,早期写成 /api/v1/ 一直返回401;Content-Type 必须显式写 application/json,缺了也会被拒绝。这两点是最坑的地方。

第二个坑:Hermes能用search搜到文件,但get_media_info拿到的只是一个签名URL,还得再fetch一次才能读到正文内容——别以为search返回的结果里就带了完整内容。

四、协作流程怎么跑起来(端到端6步)

  • 1. 在大吉窗口下发命令(包含任务ID、目标和约束条件)。
  • 2. 大吉把交接文件写到共享/handoffs/目录下,并提示“去复制”。
  • 3. 手动把正文复制,然后转发给Hermes(这里涉及人工中转,具体原因在下一节会讲)。
  • 4. Hermes读取交接文件 → 开始干活 → 把汇总结果写到共享/reports/
  • 5. 手动复制汇总结果,贴回大吉的窗口。
  • 6. 大吉把文件归档到共享/archive/,并写工作日志。

token铁律:不寒暄、不复述、不解释常识;引用而非转述(贴上链接加一句说明即可);单次完整任务的预算控制在3000 token以内。这套纪律让两个Agent的上下文都保持精简,长任务不容易跑偏。

五、踩过的坑 & 关键教训

最痛的坑:零手动传输做不到

理想情况是Agent之间能自动流转,但受限于平台限制和没有跨机器的实时通道,目前还是需要人工在IMA里“复制粘贴”来中转。

因此,现在的策略更倾向于“大吉单干”模式——能一个Agent闭环完成的,就绝不拆开;只有那些确实很长的任务,才会丢给Hermes处理。务实一点,没必要为了架构而架构。

信源真实性执念

任何写入报告的数据,都必须按照“官方 > 行业 > 集体 > 个人”的优先级来分级,并且必须附上可验证的链接,否则宁可空缺。这条规矩救过好几次,避免把假消息喂进知识库,污染两个Agent。

六、效果

  • 日报自动化:能从多个渠道搜索信息,结构化整理并归档到IMA,流程已经跑通。
  • 记忆共享:大吉和Hermes读取同一份共享记忆,不再出现各自为政、信息不一致的情况。
  • 跨机协作:Windows负责编写和下发,Ubuntu负责跑长任务,两边互不阻塞。

七、想动手?Checklist

  • 在IMA建一个知识库,开启OpenAPI,拿到 client_idapi_key
  • 按三权分立的思路建立文件夹及其子目录。
  • 先用curl把API调通一次(确认 /wiki/v1/ 路径和两个自定义头)。
  • 制定一套交接文件的命名规范(包含YAML头部信息,单文件控制在2KB以内)。
  • 立下token铁律,防止上下文膨胀。
  • 先让“单Agent闭环”跑顺畅,再考虑拆分出第二个Agent。

免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。

相关文章

更多

精选合集

更多

大家都在玩

热门话题

大家都在看

更多