Skip to content
←返回开源项目

OPEN SOURCE DEEP DIVE

智能体运行时AI CodingCodexClaude Code

HelixHarness:把团队工程基因带进编码智能体

滴滴开源的编码智能体运行时,用 Propose、Apply、Archive 把需求、验证与可复用工程知识留在仓库,并提供可选的观测、版本评测与人工把关的进化平台。

didi/helixharness334PythonApache-2.01 min read

HelixHarness 是滴滴金融科技团队开源的一套编码智能体运行时。它并不试图再发明一个通用编码模型,而是把团队已经形成的业务规则、架构边界、验证方式和历史经验整理成编码智能体能够按需读取的项目上下文,再用一条可检查的研发流程约束需求、实现与归档。当前源码标注 HelixHarness 与 helixharness-platform 均为 1.0.0 版本,采用 Apache-2.0 许可证;本文基于仓库提交 8b23069fb464104ce556798ec69737f7eba469b3 精读。

项目最值得关注的地方,是它把“知识复用”和“框架自身如何改进”拆成了两个边界清楚的产品:前者是安装在 Codex 或 Claude Code 中、直接服务业务研发的插件;后者是维护者可选部署的观测、评测与进化平台。普通开发不依赖平台在线,平台也不被描述成给业务代码打分的通用服务。

HelixHarness 的 Propose、Apply、Archive 工作流示意图
Harness 约束与知识索引进入 Propose 和 Apply;Archive 在人工确认后保留已验证知识,供后续任务继续使用。

不是提示词集合,而是可恢复的研发生命周期

HelixHarness 对外提供九个公共命令:init、propose、apply、archive、bug-fix、ut、update、status 和 config。核心路径是 Propose、Apply、Archive。Propose 明确需求范围与验收条件,生成规范与任务;Apply 执行实现、测试和双轴评审;Archive 检查完成证据,并将确认过的经验整理回项目知识。

这里的“完成”由仓库中的工件和验证结果决定,而不是由模型回复“已经完成”决定。需求、任务、验证报告和归档结果都留在项目里,因此开发者可以审阅过程,也可以在中断后恢复未完成工作。propose --loop 能连续推进三个阶段,但遇到需求决策、验收边界或真实阻塞时仍会暂停。项目文档还明确区分研发完成与发布部署:这条循环本身不负责上线。

单仓模式和多仓 Workspace 共用业务合同。Workspace 在根目录维护仓库关系与依赖编排,每个参与仓库仍保留自己的需求、实现、测试和验证证据;根目录不会代替子仓写业务工件。这种设计让跨服务功能有一个统一的协调入口,同时避免把多个仓库的生命周期混成一份无法审计的巨型任务。

把 Harness、Knowledge、Specs 和 Hooks 分开

HelixHarness 将项目上下文分成四个层次。Harness 回答“代理必须遵守什么工程约束”,存放在 docs/harness/;Knowledge 回答“系统如何运作、哪些业务规则和历史决策重要”,存放在 docs/knowledge/;Specs 回答“当前要构建什么、用什么证据证明完成”,存放在 docs/specs/;Hooks 则把宿主运行时检查、流程门禁和评审清单接到关键阶段。

这种拆分让不同类型的上下文拥有不同生命周期。业务规则可以在 Archive 后沉淀,任务合同随着当前需求结束,执行检查跟随宿主和项目配置变化。它们不是被一次性塞进超长提示词,而是通过 index.md 的“文件或目录、定位、加载时机”三列表格按需选择。代理先读取根索引,再只加载当前需求、任务或归档步骤真正命中的叶子文件。

HelixHarness 框架迭代闭环示意图
维护者路径不是直接改提示词,而是观测使用、提出假设、构建候选、冻结评测,再由人工决定是否采纳。

按需加载协议还规定了一个容易被忽视的边界:未被索引的内容不属于标准读取集,代理不能凭文件路径猜测并跳过索引直接读取。这减少了“碰巧读到一个旧文档”带来的上下文污染,也迫使项目维护者把真正可复用的知识整理成有导航、有加载条件的资产。

宿主适配与共享核心的边界

HelixHarness 当前以稳定支持等级接入 Codex 和 Claude Code。共享核心保存工作流顺序、任务状态、检查点、工件合同和评审门禁;Host Kit 负责命令投影、原生工具映射、子代理派发、项目设置、Hook 生命周期、遥测和更新。Codex 使用 Skill 投影,Claude Code 使用原生命令,但两者都必须指向同一套公共命令合同和唯一阶段正文。

Host API 1.1 的价值在于阻止平台差异渗入业务逻辑。若某个宿主缺少能力,适配器必须明确声明原生、模拟或不支持;没有安全降级时应关闭失败,而不是偷偷借用另一个宿主的路径。新增宿主也被要求作为独立的架构变更完成清单、安装、运行时适配和真实客户端验收,不能在共享核心中增加平台名称分支。

这种边界同样体现在 Hook 分发上:Codex 与 Claude Code 各自声明自己的 hook 配置,共享生命周期服务只消费显式 HostManifest 和规范事件,不根据环境变量或缓存目录猜当前宿主。会话停止也不会被当作业务任务已经完成,阶段完成需要显式记录 start 与 finish。

可选平台:观测、评测与候选进化

helixharness-platform 是面向框架维护者的可选服务,采用 FastAPI、Jinja2 和 HTMX。组合 Web UI 连接三个互不导入、也不跨模块查库的部分:Bench 管理标定用例与隔离执行,Eval 连接冻结版本、验收测试和评审结果,Evolution 从符合条件的证据中生成候选假设。每个模块拥有独立数据库,平台服务不是插件运行的前提。

HelixHarness 平台的观测看板,页面使用合成演示数据
观测视图把阶段状态、时间、Token、返工和验证质量集中起来,帮助定位真实研发流程中的摩擦。

评测对象是 HelixHarness 框架版本或候选变更,而不是业务代码本身的优劣。基准与候选必须由明确的 Git 引用冻结,在同一批已发布且经过校准的 Case 上运行,并由独立 Worker、确定性检查与模型评审共同形成证据。候选审阅通过后才进入评测,平台也不会自动发布候选。

HelixHarness 平台的冻结版本评测页面,页面使用合成演示数据
评测页展示冻结版本、Case、运行与 Mock 结果之间的关系;截图来自内置 Demo,分数不代表真实模型能力。

项目对证据边界写得很克制。内置 Demo 使用合成 Case、Mock Run 和项目账本,页面会明确标注 Demo,不能把其中的分数当作模型性能或框架改进幅度。真实评测需要使用者配置模型服务、凭据、可访问仓库和经过校准的 Case。遥测默认关闭,异步上报与反馈也没有默认平台地址;即使设置了地址,反馈内容仍需要用户确认。

适合谁,以及当前不应误读什么

HelixHarness 适合希望把团队工程习惯、业务知识和评审门禁带进编码代理研发流程的团队,尤其是需要跨多个服务协作、保留任务证据或维护自有智能体框架的组织。它提供的是一个可以审阅和扩展的运行时骨架,而不是“配置后自动完成所有软件工程”的承诺。

当前边界同样清楚:只正式支持 Codex 与 Claude Code;多代理宿主支持和可配置工作流阶段仍在路线图中;真实评测依赖外部模型环境与标定 Case;知识是否进入长期资产仍由人确认;候选是否采纳也由人决定。正是这些限制,让项目更像可审计的工程基础设施,而不是又一个用模型回复掩盖过程风险的自动化外壳。

源码与完整文档位于 didi/helixharness,许可证为 Apache-2.0。对于正在构建 Agent Harness、编码工作流或团队知识系统的开发者,它提供了三个值得单独审视的设计:阶段工件作为完成证据、索引驱动的上下文加载,以及宿主适配与框架评测之间的明确分界。

智能体运行时AI CodingCodexClaude CodeKnowledge ManagementFramework EvaluationApache-2.0工程知识

原始链接

https://github.com/didi/helixharness

相关开源项目

NousResearch/hermes-agentMIT

Hermes Agent:把「自我改进」做成闭环学习回路的开源 agent

Nous Research 的自我改进型 agent(24.8 万+ star)。闭环学习回路五个机制:周期性记忆 nudge、任务后自主创建技能、技能在使用中自我改进、FTS5 会话检索 + LLM 摘要、Honcho 用户建模。一个 TUI,七个终端后端(local/Docker/SSH/Singularity/Modal/Daytona/Vercel Sandbox),六个聊天平台由单个 gateway 提供。模型不锁定。同时是轨迹数据生产装置。「自我改进」是可证伪主张,受控实验尚未做过,记为待复现。

智能体运行时Self-Improving Agents
Python248k52k956
deepseek-ai/deepseek-harnessMIT

DeepSeek Harness:一切皆插件的开源 agent 运行时

DeepSeek AI 开源的 agent harness(命令行 dsh,MIT,23 万+ star)。内核只提供插件系统语义,工具、界面、模型接入全部以插件挂载;底座是 Cordis 的时空可组合性范式(arXiv:2608.25512)。当前处于 developer preview,官方明确警告会有破坏兼容性的变更,运行前须读 SAFETY.md。基准复现尚未做过,这一档记为待复现。

智能体运行时Plugin Architecture
TypeScript234k28k1.0k
earendil-works/piMIT

Pi:分层的 agent harness monorepo

Pi Agent Harness(原 badlogic/pi-mono,10.8 万+ star,MIT/TypeScript)。不是一个 CLI 而是一套可分层取用的包:pi-coding-agent(交互式编码 agent)、pi-agent-core(带工具调用与状态管理的运行时)、pi-ai(统一多 provider LLM API),外加 chord 组合运行时、pi-telemetry 遥测契约、pi-durable 持久化、pi-tui 差分渲染终端 UI。README 明确写出它没有内置权限系统,并给出微 VM / Docker / 沙箱三条边界路径。未做基准复现,记为待复现。

智能体运行时Coding Agent
TypeScript109k14k334
JuliusBrussee/cavemanNOASSERTION

Caveman:让编码 agent 少说废话、少读垃圾的省 token 三件套

MIT 规则文件让 agent 少说废话(代码与报错永不缩写),Go 本地代理在请求发出前压缩日志/JSON/diff 且原件可取回,中间件把同样能力带进你的应用;JetBrains 86 任务 A/B 输出 −8.5% 质量持平,仓库 54 跑套件输入 −33.2%、18/18 校验通过。

token optimization智能体运行时
Go108k6.3k244

本站含 CakeGrowth 联盟推广链接,我们可能从符合条件的购买中获得佣金。