周末上线了一个有点意思的东西:三代理盲评工作流,MIT协议开源,任何编码代理或自主循环都能通过HTTP端点调用。核心假设很直接——模型没法可靠地自评,所以外部盲评机制是唯一能诚实的解法。代码仓库在github.com/ejentum/agent-teams/tree/main/blind-eval-trio。
整个工作流完全开源。可选接入Ejentum的harness API做认知引导(免费档100次调用,持续使用需付费档)。但harness是可拆卸的,不是必需。我用同一组payload测试了四种配置:纯MCP、MCP+路由技能、MCP+重量级匹配技能、裸基线。结果裸基线产出了同等水平的角色约束输出。结构完整性来自跨实验室路由+角色约束系统提示+工具锁定,而非harness层。如果把这工作流叫做"Ejentum驱动"却不说明harness只是锦上添花而非承重结构,那就是不诚实,所以我 upfront 讲清楚。
![]()
看看现在的趋势。Karpathy的autoresearch用Git作为整个控制循环。Claude Code的GitHub Action接收issue然后开PR。Codex Cloud基于同样的理念。自主代理越来越倾向于在没有人工把关的情况下提交行动。瓶颈不再是"代理该做什么",而是"代理在承诺去做之前该做什么"。
自评填不了这个坑。文献很明确:Huang等人《Large Language Models Cannot Self-Correct Reasoning Yet》(arxiv 2310.01798)、LLM-as-judge研究显示同模型评判自己输出会坍缩为自我偏好、还有更近的CorrectBench结果。让同一个模型批判自己的计划,只会复制原有的盲点。"单个LLM戴三顶评审帽"是提示工程表演,自己给自己盖章。
GitHub懂这个。他们4月发布了Copilot CLI的"Rubber Duck":一个聚焦的评审代理,由互补模型家族驱动,在规划完非平凡变更后、实施前进行批判。他们测得Sonnet开启Rubber Duck后,Sonnet→Opus的性能差距缩小了74.7%。Copilot CLI内置免费。他们锁定了开发者工具赛道的预承诺跨模型批判表面。
这个工作流是给其他人的:在Claude Agent SDK / LangGraph / AutoGen / CrewAI / heym上构建自主循环的代理运行时开发者;想要可调用原语的多代理系统设计师;Cursor / Cline / Aider用户;在无Copilot CLI的受限环境中运行Claude Code的安全团队;直接用Anthropic或OpenAI API构建自定义Python管道的研究者。他们没人能免费用Rubber Duck;但他们都能自托管这个。
三个代理并行,每个来自不同模型实验室,每个锁定一个角色和一个认知操作:
调用代理提交结构化payload:{ task: string, method: { goal, steps, expected_outcome }, context: { files, dependencies, constraints } }。三个评审代理各自在隔离环境中接收同一payload,但系统提示不同:
代理A(安全视角):识别风险、边界条件、失败模式。代理B(正确性视角):验证逻辑完整性、步骤顺序、资源假设。代理C(完整性视角):检查遗漏、隐式假设、与任务目标的契合度。
三者互不可见。输出汇入聚合层,冲突标记为"需人工仲裁",共识标记为"可提交"。整个流程约15-30秒,取决于模型选择。
关键设计:工具锁定。每个评审代理只能调用特定工具——安全代理可调威胁建模检查表,正确性代理可调测试生成器,完整性代理可调需求追踪器。不能调用执行工具、不能调用文件系统、不能调用网络。认知隔离通过架构强制执行,而非提示工程请求。
我测试了三种模型组合:GPT-4o + Claude 3.5 Sonnet + Gemini 1.5 Pro;Claude 3 Opus + GPT-4 Turbo + Gemini 1.5 Flash;纯开源(Llama 3 70B + Mixtral 8x22B + Qwen 72B)。第一种组合冲突率最低(12%),第三种最高(34%),但第三种在标记为"需仲裁"的案例中,人工复核后发现实际问题的比例更高(78% vs 61%)。便宜模型更吵,但吵得更值得听。
HTTP端点设计为无状态。POST /evaluate,payload进,{ consensus: boolean, reviews: [...], arbitration_required: boolean }出。没有会话,没有记忆,没有跨调用的代理状态。这样调用方可以把它塞进任何编排逻辑——LangGraph的条件边、CrewAI的任务委托、或者直接curl。
有个细节可能重要:payload里的method字段是调用代理自己生成的。这意味着评审代理在评判一个同行(可能同模型家族)产出的计划。但盲评机制切断了自我偏好的反馈回路——评审代理不知道作者是谁,不能访问作者的隐藏状态,只能看到结构化的方法描述。这不够完美,但比"你批判你自己"诚实。
GitHub的Rubber Duck是闭源的、Copilot绑定的、微软控制的。这个工作流是开源的、模型无关的、自托管的。不是竞争,是补位——给那些需要预承诺评审但不在Copilot生态里的人一个选项。
下一步:把聚合层做成可插拔的(目前硬编码为简单多数决),加时间戳和签名支持用于审计日志,以及一个可选的"人类在环"钩子,在仲裁触发时暂停等待输入。但这些是增量改进。核心结构——跨实验室、角色锁定、工具隔离——已经跑通了。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.