Agent Harness 学习
← 返回对照矩阵

lifecycle hooks

结构

生命周期挂载点

第三方代码能在循环的哪些时刻插进来?

对比
openJiuwen仅摘要

Rails:双层挂载点(core rail + harness rails)

core/single_agent/rail/ 提供 before/after/on_exception 回调事件,harness/rails/ 在其上定义 Harness 级生命周期节点。主循环里的 force_finish 与 steering 放行都由 rails 在 AFTER_REACT_ITERATION 等节点驱动——挂载点不只是观测,还能改变循环走向。

Codex仅摘要

独立 hooks crate + 工具级 hook 名

codex-rs/hooks 为独立 crate,core/src/tools/hook_names.rs 定义工具执行阶段的 hook 名称;压缩流程也显式声明要让 compact hooks 观察到一致的生命周期。

hooks 也是一个插件包

packages/hooks 与其他能力包平级——在「everything is a plugin」下,挂载点机制本身也是可替换的插件。

Pi仅摘要

扩展机制(loader / runner / wrapper)

coding-agent/src/core/extensions/ 由 loader、runner、wrapper、types 四个文件构成;沙箱与子代理都以扩展形式存在,说明扩展点是 Pi 主要的能力注入方式。

back to course / 回到课程

矩阵展示的是「各家怎么做」。这个问题本身为什么存在、有哪些经典权衡,在课程里讲:

3

Harness 是什么

围绕模型的编排框架:它编码了「模型独立完成不了什么」