openJiuwen仅摘要
Rails:双层挂载点(core rail + harness rails)
core/single_agent/rail/ 提供 before/after/on_exception 回调事件,harness/rails/ 在其上定义 Harness 级生命周期节点。主循环里的 force_finish 与 steering 放行都由 rails 在 AFTER_REACT_ITERATION 等节点驱动——挂载点不只是观测,还能改变循环走向。
lifecycle hooks
结构第三方代码能在循环的哪些时刻插进来?
Rails:双层挂载点(core rail + harness rails)
core/single_agent/rail/ 提供 before/after/on_exception 回调事件,harness/rails/ 在其上定义 Harness 级生命周期节点。主循环里的 force_finish 与 steering 放行都由 rails 在 AFTER_REACT_ITERATION 等节点驱动——挂载点不只是观测,还能改变循环走向。
独立 hooks crate + 工具级 hook 名
codex-rs/hooks 为独立 crate,core/src/tools/hook_names.rs 定义工具执行阶段的 hook 名称;压缩流程也显式声明要让 compact hooks 观察到一致的生命周期。
hooks 也是一个插件包
packages/hooks 与其他能力包平级——在「everything is a plugin」下,挂载点机制本身也是可替换的插件。
扩展机制(loader / runner / wrapper)
coding-agent/src/core/extensions/ 由 loader、runner、wrapper、types 四个文件构成;沙箱与子代理都以扩展形式存在,说明扩展点是 Pi 主要的能力注入方式。
back to course / 回到课程
矩阵展示的是「各家怎么做」。这个问题本身为什么存在、有哪些经典权衡,在课程里讲:
第 3 章
围绕模型的编排框架:它编码了「模型独立完成不了什么」