Harness目前炒作的很火热,从prompt到context再到目前的harness,那到底什么是harness,目前为什么各大博主的文章或者视频都在说,但是都停留在概念上,落地怎么去实现?我目前每天关注的harness的落地==都停在了怎么去编写代码+验证代码+多agent协同+上下文记忆管理,目的都是一个:拴住一个目标,不要让这批汗血宝马的精力白费,朝着星辰大海出发。但是做一个智能体怎么去实现一个harness的规范,一起看看源码就知道了,文章有很多是我和GLM5.1对话的结果,文章也是给自己留个印象,不要介意,用好AI,一定要会提问题! ok,打开源码,映入眼帘就是能看到这个deerflow2的包名都有个harness,这是吃定了这个概念了,更加好奇到底怎么控制agent的了
ok,首先得知道这个deerflow1.0本来就是做一个深度研究的文案助手,可以从网络上去抓取各个资源然后分析汇总出来一个总的文档,这个过程就很多Agent,一个总的Agent去规划,去这个网站搜那个网站搜,然后手下的agent去执行就好。
那deerflow2.0还是一样,没有拷贝原来的代码,重新按照harness重新设计
先问问ai他觉得这个deerflow有啥厉害的
1.多Agent协同机制
多agent我也做过类似的项目,我觉得难点是这样几类:
- 协调者怎么去编排 怎么给subagent传递消息和做好交互
- 多个agent的记忆+工具+沙箱环境,都怎么隔离
- 如果subagent挂掉,怎么走别的逻辑,比如降级,规则编排,需不需要把任务派给别人去完成
- 子agent完成后,谁去验证,怎么去验证
先问问ai看总览怎么做的:
好的,能看到很简单的agent身份,一个领导+多个相同身份的general+bash 的agent角色 那咋们再详细问问
Lead Agent是由prompt+中间件强制执行
先看看提示词吧
能看到很简单
- 角色定位:你是一个任务编排者,核心工作流是“拆解、委派、综合”。
- 可用工具:你可以调用通用型子代理(处理研究、分析等复杂任务)和命令行子代理(执行代码、部署等操作)。
- 核心限制:每次回复最多同时发起 3 个子任务。
- 何时使用:当任务复杂、需要多角度分析或处理大型代码库时,请并行启动子代理。
- 何时不用:当任务简单、无法拆解、需要即时澄清或存在严格的顺序依赖时,请直接执行,不要委派。
都看了下就很简单,符合常见的多Agent任务,编排好任务,然后执行,每个子agent只拿到lead的一句话就去网络查询+有自己隔离的环境+多线程异步
再根据咋们前面的问题:到底咋编排拆解任务的,怎么去和子agent交互的,就充分信任子agent返回的信息吗?
原来有深度搜索的skill啊,那也是提示词去实现的,这没什么亮点的,任务拆解什么都靠提示词给llm,llm自己去发挥
再问问有没有lead和子类的交互,发现也没有,那这块太一般了,毫无亮点,就很一般的常规做法:子代理是tool形式,然后写在lead的提示词中,需要就去自己选着使用。然后拆解任务也是使用的skill其实就是提示词。然后多个agent也没有交流。最多创建三个子agent,如果多了就拆成两个线程去运行。然后子类失败了,lead也不会走什么降级策略/规则引擎什么的 有点失望看着。
那接着看看他刚刚说的真正亮点:middleware是干什么的
啊?这不就是agentscope的hook机制吗,这有什么稀奇的?
这个middleware大概就是作为当用户上传文件后,会对他做一个解析,这个流程
- ThreadDataMiddleware - 线程数据目录
- UploadsMiddleware - 上传文件注入
- DanglingToolCallMiddleware - 修补断裂的工具调用
4. LoopDetectionMiddleware - 循环检测
5. ClarificationMiddleware - 澄清中断
6.MemoryMiddleware - 长期记忆
我对于他这块所谓的亮点保持质疑?这不就是agentscope里面的hook机制,当有一个行为发生的时候,会先去检查其hook.onevent,我可以注册进去也可以不注册,很灵活。就比如这个深度研究的场景,当ai返回的消息我不够满意,我去在其文章上进行补充,补充后呢,就会给加上一个hook,当下次ai再去按着进行的时候,就会先看看我修改的地方,接着修改
下面是ai总结的比较好的场景。其实吧,我觉得这就是ReActAgent基本的功能要素,就是实现一个更加智能的可以human-in-loop的一个过程,没有什么特殊点,有点类似于多加了几个hook机制,然后各个hook在不同的时间线上有自己的操作
好吧,一路看下来,你有没有和我一样失望的 再看看上下文记忆这块有什么好策略吧
好吧,就是文件管理上下文管理,记忆的形式是实现的,也很一般,不如我上次讲的openViking
最后,我的总结就是,这个deerflow2.0就是普通的一个案例,你说他使用到harness范式了吗,也有,比如多agent去有自己独立的沙箱去隔离运行,不会塞满整个一个agent。比如还有每次做任务的时候会把人也带进来,human-in-loop,查看完计划再去运行,才能做好这次的深度调研任务。 好吧,没想到能这么火这个,估计就是有字节背书+harness进入大众视野。