百度LLM Arena用子Agent和交接协议管理研发
概述
百度LLM Arena团队在 versus-fe(React + Vite)与 versus-server(Go + Gin)两仓之上用 Git Submodule 建立父仓 versus,实现 AI-First 单仓重构:父仓 CLAUDE.md 存放跨前后端、跨 Agent、跨需求的全局知识与协作规则,子仓 CLAUDE.md 存放各自架构约束与编码规范,需求文档、Agent 定义、测试用例与测试结果、.claude/agent-memory 全部入库,做到代码库之外别无他物。 为降低 Submodule 操作复杂度,让 DUCC 生成 scripts/ 下的 pull-all.sh、status.sh、commit 等脚本,实现一句话递归拉取、状态查看与部署上线。针对 Anthropic 指出的上下文焦虑与自视甚高问题,按端到端流程拆分 requirement-designer、go-api-implementer、frontend-engineer、test-case-designer、integration-test-runner、e2e-test-executor 6 个 Sub-Agent,并定义 AGENT-HANDOFF 块作为交接协议:每个 Agent 结束前必须输出 requirement-id、status(completed/awaiting_review/has_bugs/all_passed)、output、next-step、next-step-prompt、after-approval-next-step、bugs 等字段,由主会话直接解析调度而不落盘。 测试报告为 has_bugs 时主会话按 Bug 归属回发给对应编码 Agent(后端 Bug→go-api-implementer、前端 Bug→frontend-engineer),修复后重启对应测试 Agent 验证,循环到 all_passed。E2E 侧装上 Chrome DevTools MCP,Agent 在独立端口(后端 8901、前端 3001)起服务,按 navigate_page→take_snapshot→逐步执行 click/fill/type→take_screenshot 的链路执行用例。 以「为视频大模型增加评估任务类型」等需求实跑:此前需要 1 天开发完的功能现在约 2 小时完成。按 4 个功能升级的数据统计,功能发布效率提升 4 倍(作者自述与 OpenAI 博客的 10 倍仍有差距)。另用 Codex CLI 的 /goal 做只改 Markdown 的文档—代码一致性同步,8 分多钟、约 435W token 完成,但该步骤尚未并入 Harness 自闭环。