从「让 AI 写几段代码」到「让 AI 完成一段工程任务」,这两者之间的距离,不是一个更好的提示词,而是一套工程体系。
演绎自 《别再把 Codex 当聊天机器人用了:AI 编程真正难的,是交付》,原作者:袁从德
很多工程师第一次接触 AI 编程,都会经历三个阶段。
这时,一个很关键的分水岭出现了。你到底是在让 AI 「写几段代码」,还是在让 AI 「完成一段工程任务」?这两个问题看上去差不多,实际差很多。前者关心的是答案,后者关心的是交付。也正是因为这个变化,我们写了《Codex 快速入门:Harness 工程落地》这本书。
过去一段时间,很多关于 AI 编程的讨论都集中在提示词上:
怎么问,模型才会给出更好的代码?
怎么描述,模型才不会漏掉需求?
怎么写 prompt,才能让它一次生成完整模块?
这些问题当然重要,但它们只解决了一部分问题。在真实项目里,工程师真正头疼的往往不是「AI 能不能写出一段看起来对的代码」,而是:
这才是 Codex 和普通聊天机器人Codex 这类云端 agent 和本地补全工具Codex 和普通聊天机器人(Chen 注:Codex 和 Copilot/Cursor 的区别也在这里:后两者是本地 inline 补全或对话辅助,改动由你实时控制;Codex 是异步云端 agent,它独立完成整个修改闭环,最终以 PR 的形式交给你审查——这才是「工程交付」的意义。) 的根本差别。普通问答助手更像在项目外部给建议。它可以解释、比较、生成示例,但集成、适配和验证主要还要靠人完成。Codex 的意义在于,它开始进入软件工程现场——在云端沙箱里 clone 仓库,按现有结构定位代码,在合适的位置实施修改,调用测试和检查命令,再根据结果继续调整。
所以我们在书里反复强调一句话:Codex 不是聊天机器人,而是工程交付工具。
很多人第一次用 Codex,会这样问:
怎么写一个 CSV 解析函数?
或者:
帮我生成一个 FastAPI 认证中间件。
这类问题不是不能问,但它们仍然是「问答模式」。但对 Codex 来说,它们仍然是「问答模式」,没有发挥出 agent 的真正优势。但它们仍然是「问答模式」。(Chen 注:用 Copilot 或 Cursor 问这类问题完全合理,它们就是为 inline 补全和对话辅助设计的。但 Codex 是云端 agent,把它用成问答工具,等于用挖掘机挖花盆——工具没问题,场景用错了。) AI 给你一段代码,你再复制、粘贴、适配、测试、修 bug。
如果换成 Codex 更适合的方式,任务应该像这样描述:
请在现有数据导入模块中支持自定义分隔符和编码,保持原有默认行为不变;处理字段中包含分隔符的情况;补充对应单元测试;完成后运行相关测试,并说明验证结果。
这条指令的重点不是更长,而是更像一次工程委托。它包含了目标、范围、约束和验收标准。Codex 需要做的不再是「回答一个问题」,而是在项目中完成一段可验证的变更。
这也是很多开发者从 AI 编程中获得稳定收益的关键:不要只向 AI 要代码,要向它交付任务。
提示词当然有用,但真正决定 Codex 效果的,往往是更底层的工程条件。
项目有没有清楚的目录结构?有没有 README.md、贡献规范、架构说明?有没有可运行的测试、lint、类型检查或统一验证脚本?团队约定是写在文档里 AGENTS.md 里供 Codex 读取文档里(Chen 注:Codex 通过读取仓库根目录的 AGENTS.md 文件来了解项目约定。这是它感知「这个项目怎么工作」的主要入口——测试命令是什么、禁止修改哪些文件、PR 格式要求等,都应该写在这里。没有 AGENTS.md 的仓库,Codex 只能靠猜。),还是只存在某个老员工脑子里?
这些东西过去只是「好工程习惯」,到了 AI 协作时代,它们会直接决定 Codex 能不能正确理解任务。
因为 Codex 再强,也逃不开三类典型错误。
这些问题不是靠「再写一个神奇 prompt」解决的,而是靠上下文、规则、测试和审查解决的。
我们见过不少人第一次用 AI agentCodexAI agent,就直接扔一个巨大任务:
帮我重构整个用户模块。
把这个项目改成微服务。
补齐所有测试,顺便优化架构。
然后很快失望。
我们的建议恰好相反:第一次任务一定要小。比如:
任务越小,越容易观察 Codex 的完整工作链路:它读了哪些文件,怎么判断修改位置,改了哪些内容,跑了什么测试,遇到失败后怎么处理,最终 PR diff 是否符合预期。
这比一上来追求「惊艳效果」更重要。
因为 Codex 的真正价值,不是一次生成多少代码,而是能不能跑通一个稳定闭环:
这个闭环跑通以后,开发者才会真正理解 Codex 的工作方式。它不是魔法按钮,也不是外包程序员,而是一个需要被放进工程流程里的 AI 协作伙伴。
AGENTS.md、task 模板、shell hooks 来表达,而不是每次靠人工提醒。书名里有一个关键词:Harness。我用这个词,是想表达一种很朴素的工程思想:不要试图给 AI 写死每一步剧本,而是给它一个稳定的工作约束。(Chen 注:Harness 在 Codex 里有具体的技术形式:AGENTS.md(项目规则和约定)、task prompt 模板(可复用的任务描述格式)、shell hooks(任务开始/结束时自动执行的脚本)、Skills(可组合的子任务单元)。这套机制让 Codex 的使用方式从「每次临时描述」升级为「标准化工程配置」。)
一个好的 Harness,通常包括三层:
这和传统「提示词技巧」不太一样。提示词更像一次性表达,Harness 更像可复用的工程环境。它可以沉淀成项目规则、任务模板、验证脚本、自动化检查,甚至团队协作规范。
当一个团队开始把反复出现的 Codex 偏差沉淀为 AGENTS.md 规则,把人工反复提醒的事项沉淀为 脚本shell hooks脚本,把模糊的验收口径沉淀为测试,AICodexAI 协作才会从「看运气」变成「可持续」。
如果你已经用过 ChatGPT、GitHub Copilot、Cursor、Qoder、Trae 或其他 AI 编程工具,但仍然觉得它们停留在「给代码片段」的层面,这本书会帮你把使用方式升级到「交付任务」的层面。如果你是技术负责人、架构师或资深工程师,正在思考 AI 编程如何进入真实研发流程,而不是只作为个人效率玩具,这本书会重点讨论规则、验证、审查、权限和风险分级。
如果你刚开始接触 Codex,也可以从这本书入门。它会从 Codex 的定位、基本原理、安装登录、CLI、App、本地任务和云端任务讲起,再通过场景案例跑通从任务描述到验证闭环的完整流程。这本书也不只适合 Codex 用户。书里讨论的 Harness、Skills、Subagents、MCP、Worktrees 等方法,本质上是在讲 AI 工具进入工程交付时需要怎样被组织。因此对 Cursor、Qoder、Trae 等 AI 工具用户也有参考价值。
未来的工程师,不一定要把每一行代码都亲手敲出来。但他必须更清楚地知道:目标是什么,边界在哪里,怎样验证,哪些风险不能交给 Codex 自动决定,哪些经验应该沉淀为 项目AGENTS.md项目 规则。
AI 编程的竞争力,可能不再只是「谁更会写代码」,而是谁更会组织一次可验证、可审查、可复用的人机协作。
这也是我们写《Codex 快速入门:Harness 工程落地》的原因。
如果你正在从「让 AI 帮我写几段代码」,走向「让 Codex 帮我完成一段真实工程任务」,这本书应该会对你有用。
本书围绕 Codex 深度参与真实软件工程的完整路径展开,系统阐述了在 AI 编程工具快速爆发的背景下,在实际使用中面临的诸多痛点及其解决方案。全书按照「认知迁移 → Harness 工程 → 场景实战 → 团队落地」的逻辑组织内容。
京东购买