done when all verification conditions are met: tests pass, only specified files are modified, regex strings are absent,样例输出全匹配,git status clean,新增行含re.sub,函数输出严格等于预期。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你需要让Codex在完成任务后能自己判断“这事到底算不算做完”,而不是等你一句句人工核对输出结果。这要求把验收标准写成Codex可执行、可检查的明确条件,不是模糊描述。
用 Done when 明确退出条件
在任务初始 Prompt 中,单独写一段以 Done when 开头的内容,后面跟一个或多个可验证的事实陈述。
例如:Done when python3 -m unittest test_slugify.py returns exit code 0;Done when git diff --no-index /dev/null slugify.py | grep -q "re.sub";Done when the function handles "\t \n " and outputs "codex-first-task"。
这些语句必须能通过命令行、文件内容比对、返回值、字符串匹配等方式直接判定真假。Codex 会将它们作为目标达成的唯一依据,不满足就继续迭代。
把验收标准嵌入 AGENTS.md
方法一:项目级固化
在仓库根目录创建 AGENTS.md,加入一段 验收清单(Verification Checklist),每条以 ✅ 开头,用自然语言描述可检查项:
✅ 运行 make test 后所有测试通过(exit code 0)
✅ 修改仅限于 src/utils/slugify.py,未改动任何 .test 文件
✅ 输出中不含正则表达式原始字符串(如 r"\s+"),只出现编译后的 re.compile 调用
方法二:模块级覆盖
在 services/auth/ 目录下放一份子目录 AGENTS.md,其中写明该模块特有的验收规则,比如:✅ JWT 签发逻辑不得调用 os.urandom(),必须使用 secrets.token_urlsafe()。Codex 读取时会自动合并全局 + 项目 + 子目录规则。
通过本地 Codex 或 OpenClaw OAuth 凭证直接调用 ChatGPT/Codex Responses 的 image_generation 工具来生成或编辑光栅图像,然后保存
用真实样例驱动验收
第一步:在 Prompt 中提供一组输入-预期输出对,格式严格为 JSON 数组:
[{"input": " Codex\tFirst\nTask ", "expected": "codex-first-task"}, {"input": "API v2", "expected": "api-v2"}]
第二步:要求 Codex 在修改后,必须用这组样例运行函数并逐条比对结果。不要只测一个用例——【缺少多组边界样例会导致 Codex 误判验收通过】。
第三步:命令它输出验证日志,形如:✓ test 1: " Codex\tFirst\nTask " → "codex-first-task"
✗ test 2: "API v2" → "api--v2"(连字符重复)
绑定退出状态与文件差异检查
1. 要求 Codex 执行完修改后,必须运行 git status --porcelain 并确认输出为空(表示无未提交变更)或仅含指定文件(如只允许改 slugify.py)。
2. 接着运行 git diff --staged --slugify.py | grep -E '^\+',提取所有新增行,并验证其中是否包含 re.sub(r'\s+', '-', ...)
3. 最后执行 python3 -c "from slugify import slugify_title; print(slugify_title('a b\tc'))",输出必须严格等于 "a-b-c"。
这三步构成闭环验证链:文件范围可控→代码变更合规→运行结果正确。任一环节失败,Codex 就不能宣告任务完成。










