展开本页目录
开始前准备什么
- 本机安装 Python 3、Git 和 Codex CLI;本次版本 0.162.0-alpha.2。
- 准备 apizt Key,并在模型广场核对当前令牌可用的准确 Responses 型号;本次为 gpt-6-sol。
- 在新的独立目录解压任务材料。合并配置前备份用户文件,将真实 Key 放在启动环境。
- 原测试失败
- Codex 读取与修改
- 独立复跑
- 人工检查 diff
- 核对账单
先下载样例,再完成自己的首次调用
示例不含密钥。API 按实际用量计费;下载和点击不代表调用成功。
包含原实现、5 项固定测试、无密钥配置与复现说明。原实现预期有 2 项失败。
记录 CLI 版本、模型、任务范围、聚合 usage、独立验收与账单核对状态。
先用只读任务检查请求,再运行仓库改动
Codex CLI 0.166.0-alpha.5.1;本地请求回放。请求轨迹和退出码见回执。
在临时 Git 仓库写一份 README,执行 git status --short 保存基线。
使用只读 sandbox、临时 Responses provider 运行一次非交互检查。
再次执行 git status --short 比较前后;只有连接成功后,才按原教程执行真正的修改和测试。
本次新增检查没有执行原教程中的代码修复;原示例的 diff 和测试记录仍单独保留。
- 通过:前后 git 状态一致
- 通过:只读任务有实际请求
本地样例复跑
python3 lab.py --output ./result d05任务固定:边界裁剪,不改测试
clamp(value, lower, upper) 应把值限制在包含上下限的范围内;lower > upper 时必须报 ValueError。原实现只限制上界,所以低于下界与上下限颠倒两项测试失败。
测试文件在任务开始前提交到 Git。把原测试留在原位,防止模型通过删测试、改断言或绕过检查制造成功。
| 固定检查 | 原实现 | 独立验收 |
|---|---|---|
| 低于下界 | 失败 | 通过 |
| 高于上界 | 通过 | 通过 |
| 范围内数值 | 通过 | 通过 |
| 等于边界 | 通过 | 通过 |
| 下界大于上界 | 失败 | 通过 |
- 固定检查
- 低于下界
- 原实现
- 失败
- 独立验收
- 通过
- 固定检查
- 高于上界
- 原实现
- 通过
- 独立验收
- 通过
- 固定检查
- 范围内数值
- 原实现
- 通过
- 独立验收
- 通过
- 固定检查
- 等于边界
- 原实现
- 通过
- 独立验收
- 通过
- 固定检查
- 下界大于上界
- 原实现
- 失败
- 独立验收
- 通过
原始 clamp.py
def clamp(value, lower, upper):
return min(value, upper)接入配置:用 Responses,Key 留在环境中
按当前可用型号配置自定义 provider。env_key 保存变量名称;真实密钥不写进仓库、页面、截图或配置下载包。
网页检查器只做静态解析;接着用当前 CLI 检查加载。需要 --profile 时使用独立 <name>.config.toml,旧 [profiles.*] 写法需迁移。
需要合并到已备份的用户配置
model = "gpt-6-sol"
model_provider = "apizt"
[model_providers.apizt]
name = "apizt"
base_url = "https://api.apizt.com/v1"
env_key = "tokenba_API_KEY"
wire_api = "responses"
request_max_retries = 0
stream_max_retries = 0运行步骤:先看到失败,再让 Codex 处理
在新的任务目录初始化 Git,并记录原始提交。先运行原测试,确认不是测试环境本身失败;随后要求 Codex 读取文件、修改实现、实际运行测试。
下面命令会发起在线模型请求并可能产生费用。使用 workspace-write,限制工作目录,保留自身批准规则;不要为这个小任务授予整个磁盘或生产系统权限。
在独立任务目录运行
git init
git add clamp.py test_clamp.py
git commit -m "Fixed failing clamp fixture"
python3 -m unittest -v
codex exec --json -s workspace-write \
"Read clamp.py and test_clamp.py. Run tests. Fix only clamp.py; do not modify tests. Run tests again and report outcome." > codex-events.jsonl
python3 -m unittest -v
git diff --name-only
git diff -- clamp.py实际结果:只有实现改动,5 项测试通过
模型增加上下限合法性检查,并将返回值改成 max(lower, min(value, upper))。人工核对差异后,独立执行同一测试命令,退出码为 0。
保留公开补丁与测试输出,方便你逐行核对。测试通过只证明这 5 个条件;生产函数仍应按自己的数值类型、NaN、无穷大与业务约束补充验收。
实际修改后的 clamp.py
def clamp(value, lower, upper):
if lower > upper:
raise ValueError("lower must not be greater than upper")
return max(lower, min(value, upper))一次工具受阻也要保留记录
本次流程中,清理 __pycache__ 的 rm -rf 命令被本地执行规则拒绝;随后客户端在隔离任务目录内改用 find 删除缓存文件,继续完成任务。这个本地工具错误不是网关接口失败。
不要只看最后一条“完成”消息或进程退出码。检查工具事件、失败原因、目标文件和测试;如果涉及外部写入,先核对已执行操作,不能重复整个任务来赌成功。
完整任务用了多少,实际扣了多少
本次 turn.completed 聚合记录:输入 132,130 tokens,其中缓存读取 110,080;输出 1,030,其中 reasoning 198。缓存量属于输入细分,不要再次加到输入总数。
已按时间窗口、型号与三类 token 总量匹配控制台的 6 条消费记录,显示实扣合计 $0.002808。这是本次测试账户、通道与缓存状态下的观察值;你的任务成本请按自己的实际账单核对。
| 验收项 | 本次记录 |
|---|---|
| CLI 运行时间 | 约 95 秒;单次任务观察值 |
| 独立测试 | 5 / 5 通过 |
| 修改范围 | 仅 clamp.py |
| 网络自动重试配置 | request_max_retries = 0,stream_max_retries = 0 |
| 实际扣费 | $0.002808;6 条控制台记录合计 |
- 验收项
- CLI 运行时间
- 本次记录
- 约 95 秒;单次任务观察值
- 验收项
- 独立测试
- 本次记录
- 5 / 5 通过
- 验收项
- 修改范围
- 本次记录
- 仅 clamp.py
- 验收项
- 网络自动重试配置
- 本次记录
- request_max_retries = 0,stream_max_retries = 0
- 验收项
- 实际扣费
- 本次记录
- $0.002808;6 条控制台记录合计
怎样确认已经完成
- 原始仓库可复现两个失败,测试文件未被修改。
- 客户端确实读取、修改和执行测试,不只给出一段建议代码。
- 独立复跑原测试通过;人工检查只有目标实现差异。
- 用量保留原始来源;全部账单记录与任务时间、型号、令牌核对。
常见问题
这能证明 Codex 所有 Agent 功能都兼容吗?
不能。本次只验证固定 Python 仓库的读取、实现修改和测试,不包含浏览器、MCP、远程环境、多仓库或生产发布。
为什么一个小函数有很多输入 tokens?
完整客户端回合包含系统提示、工具定义、历史与多次交互,不能只按函数字数估算。缓存读取和费用要按实际 usage、分组与账单核对。
