Codex Harness 源码课 / 中文
LESSON 12 / 12 25 分钟

验证与扩展:用测试约束架构假设

把阅读结论转换成可复现用例,覆盖状态转换和失败边界。

公开源码快照 · 2026-10-13 · f82e365922

学完你能做到

本课目录 · 4 节

先复现,再扩展

把问题缩小为一个可观察行为,例如“名称不同的两个工具是否被正确分派”。寻找对应,阅读固定输入、执行动作与断言,再向外追踪。测试通过证明受检查条件下的行为,不能证明所有环境都相同。

router_tests.rs 包含扩展工具规格与执行器示例。它比凭空添加一个 更好的起点:先理解工具身份、规格、执行契约与注册,再看它如何进入工具计划。新的工具需要明确输入、输出、取消和权限边界。

验证路线从可观察问题到实现和固定测试样本,再覆盖成功、失败、取消与权限拒绝,形成可复现说明。
验证路线从可观察问题到实现和固定测试样本,再覆盖成功、失败、取消与权限拒绝,形成可复现说明。 · 教学示意,省略次要分支;不是完整调用图。

无账号的阅读实践

git clone https://github.com/openai/codex.git
cd codex
git checkout f82e36592278a0a782fb0d0fc97e5fa10e832ac2
rg -n "tool_supports_parallel|supports_parallel_tool_calls" codex-rs/core/src/tools
rg -n "ExtensionEcho" codex-rs/core/src/tools/router_tests.rs

这组命令只获取和搜索公开代码,不连接账户。首次克隆需要网络。固定版本后,再核对文件路径与本课程是否一致。不要把最新安装的二进制当成这一源码提交的构建产物。

需要编译时,选择最小范围

、 工具链及依赖准备好后,可以按 docs/install.md 构建。根目录 提供格式化、静态检查和测试入口;just 是读取任务配方的命令工具, 是测试运行器。以下命令是读完规范后可选择执行的练习,不是本网站运行所需。

cd codex-rs
cargo test -p codex-core --lib tool_log_payload_redacts_plaintext_multi_agent_messages
# 或在仓库根目录使用已安装的任务工具
just test -p codex-core

第一条定位现有日志脱敏测试,第二条范围更大。编译可能下载依赖并占用磁盘;不同平台与工具链会影响可运行的测试。本课程制作过程中核验了文件和测试名称,但没有编译或运行 Codex 的 测试套件。网站自身的检查记录在交付包中。

结业任务:写出你自己的执行链

若准备向上游反馈,本版本 contributing.md 明确欢迎问题、分析和功能请求,但不接受外部代码贡献或 PR。先查现有问题,提供脱敏复现材料;本地练习不意味着上游会接收补丁。

沿着源码读

以下定位均锁定本课程版本。先读注释与分支,再深入类型定义。

READ & VERIFY / 小练习

实现推演

完成结业任务后,用三句话解释:问题在哪一层、证据来自哪个固定文件、还有什么没有被验证。不要用“应该如此”代替实际证据。

阅读练习无需模型账号。示例命令请先确认目录与环境。

自测与边界检查

只添加工具函数而没有接入规格与注册,能可靠调用吗?

展开自测答案

不能。还要让对应工具身份、可见规格与执行实现进入有效工具计划,并验证名称、参数和边界。

一个测试通过,能证明闭源桌面端也相同吗?

展开自测答案

不能。它证明的是该源码测试所覆盖的条件。客户端集成、配置和执行环境需要独立检查。

学习记录保存在本机

搜索课程

输入关键词,搜索全部课程、词典与来源。

就地词典

在完整词典中查看 →

完整架构总图

放大后横向、纵向滚动阅读;聚焦图示区域后可用方向键滚动。

完整架构职责图,内容与正文总图相同