过去两年,大家都在统计一个数字:AI 写了多少代码?
20%、30%、50%……
但这个数字,可能正在迅速失去意义。
因为企业真正需要的,从来不是更多代码,而是更多被正确完成的工作。
当 AI 开始自己理解任务、搜索代码、修改文件、运行测试、发现失败、继续修复,并最终交付一个通过验证的结果时,变化就已经不再是“AI 会不会写代码”。
软件工程本身,开始机器化了。
这里说的“机器化”,不是过去 CI/CD 那种把几个固定步骤自动化。传统自动化解决的是“重复执行”,现在的 Agent 正在尝试解决的是“自主完成”。
自动化解决的是“重复执行”,机器化解决的是“自主完成”。

01 AI Coding 真正的变化,不是“写得更多”
我们过去其实一直把 AI Coding 理解得太窄。
Copilot 时代,AI 做的事情主要是:你写一半,它帮你补完。后来 ChatGPT、Cursor 出现:你描述一个需求,它帮你生成一段代码。
本质上,我们一直在问:AI 能不能替程序员敲键盘?
但软件开发真正困难的部分,从来不只是写代码。真正困难的是:理解需求、判断影响范围、选择方案、遵守系统约束、处理异常、完成测试、Review,并最终判断——这件事到底做对了没有?
写代码,是软件工程的一部分;把一件事正确地做完,才是软件工程。
而现在真正值得关注的变化,就是 AI 开始从前者进入后者。
OpenAI 对 Codex 面向软件工程团队的官方定位已经非常直接:它不只是生成代码,而是可以从 issue 开始,规划修改、写代码、运行测试,再准备一个可以进入人工 Review 的 PR。
也就是说,产品目标已经从 Code Generation,逐渐进入 Task Execution。
02 从 Code Completion,到 Goal → Verified Result
如果把 AI Coding 最近几年的变化拉长来看,大概可以分成三个阶段。
第一阶段:Code Completion
你输入一个函数开头,AI 帮你补完下面的代码。核心关系是:Token → Token。
这时候 AI 更像一个高级输入法。
第二阶段:Coding Agent
你告诉它:给这个接口增加分页,并补充测试。
搜索代码 → 理解项目 → 修改文件 → 执行测试 → 发现错误 → 再继续修改
这个阶段开始变成:Task → Code。
Codex、Claude Code 今天其实已经大量进入这一阶段。
第三阶段:Engineering Agent
未来你给出的可能只是:这个接口最近 7 天 P99 延迟上涨了 30%,找出原因并修复,但不能影响现有调用方。
观察 → 定位 → 制定方案 → 修改 → 测试 → Review → 修复 → 最终验证
Goal → Verified Result
这才是我认为 AI Coding 真正重要的跃迁。
OpenAI 在自己的内部实验中已经走得更远。2026 年 2 月,他们公开了一次很有意思的实践:一个真实运行的内部软件产品,应用逻辑、测试、CI、文档、可观测性和内部工具,全部由 Codex 生成,没有人工直接提交代码。
更值得关注的不是“100 万行代码”,而是他们最后总结出来的一句话:Human steer. Agents execute.
人的工作开始从直接写代码,转向设计环境、明确意图、建立反馈循环。
这已经不是简单的 AI 辅助编程,而是软件生产方式本身在发生变化。

03 真正的竞争,正在从模型变成“工程系统”
这时候会出现一个很有意思的现象。两家公司可能使用完全一样的模型,都用 GPT,都用 Claude。
但 A 公司的 Agent 可以自主完成一个 Feature,B 公司的 Agent 只能帮程序员写几个函数。
为什么?很可能不是模型差距。
A 公司给 Agent 建了一间整理好的工厂;B 公司只是把 Agent 扔进一个杂乱的仓库。
Prompt 当然仍然重要,但它会越来越像整个工程系统中的一个组件,而不是决定 AI Coding 效果的全部。
真正决定 Agent 能不能稳定工作的,是 Context、Specification、Execution、Verification 和 Governance。
我把它叫做:软件工程机器化的五块基础设施。
1. Context:这个系统是什么?
• 系统架构
• 模块职责
• API 约束
• 业务术语
• 历史设计决策
• 常见坑
• 项目规则
例如 AGENTS.md、Architecture Docs、ADR、Repository Instructions。OpenAI 在 Codex 官方文档里也强调过:配置好的开发环境、可靠的测试和清晰的文档,会直接影响 Coding Agent 的表现。
2. Specification:到底要做什么?
• 业务目标
• 预期结果
• 影响范围
• 禁止修改
• 异常场景
• 验收标准
• 验证命令
换句话说,把模糊需求,变成可执行的 Specification。
3. Execution:Agent 怎么完成?
搜索代码 → 修改文件 → 执行命令 → 运行测试 → 读取错误 → 再继续修复
过去这些动作必须一个程序员逐个完成。现在它们开始变成一个持续运行的 Loop。
4. Verification:怎么知道它做对了?
这是整套系统里,我认为最重要的一层。因为 Agent 最大的问题从来不是“它能不能生成代码”,而是“谁来判断这些代码真的正确?”
• Unit Test
• Integration Test
• Contract Test
• Lint
• Security Scan
• Performance Test
• Acceptance Test
最终目标只有一个:让“完成没完成”变成机器能够判断的问题。
Machine-verifiable Acceptance Criteria
机器可验证的验收标准
只有 Verification 足够强,Agent 才能真正形成:尝试 → 失败 → 修复 → 再验证 的闭环。
5. Governance:Agent 什么不能做?
Agent 能力越强,这一层越重要。当 Agent 可以访问 Git、Shell、CI、数据库、云资源和生产环境,问题就不再只是 AI 好不好用,而是 AI 被允许做什么。
• Allowed Paths
• Allowed Commands
• Approval Gates
• Audit Logs
• Rollback
• Secret Protection
OpenAI 今年专门公开了内部运行 Codex 的安全实践,核心就是明确 Agent 的访问边界、人工审批点和审计能力。Anthropic 也提出了一个很形象的概念:Blast Radius。
AI Coding 正在从开发工具问题,进入工程治理问题。

04 不要再统计 AI 写了多少代码,开始统计 AI 完成了多少工作
今天很多公司评价 AI Coding,会说:我们 AI 生成代码占比已经达到 30%。
这个指标有价值,但长期看远远不够。
假设 AI 写了 90% 的代码,但最后工程师仍然需要重新阅读全部代码、手动运行测试、判断影响范围、修一堆 Bug、再手动提交,那么 AI 本质上仍然只是一个非常快的打字员。
真正值得关注的,我认为应该是两个指标。
第一个:任务自主闭环率
Autonomous Task Completion Rate
无需人工介入并通过最终验收的任务数 ÷ Agent 接收任务总数
比如一个月给 Agent 100 个任务,其中 65 个无需人工介入并通过最终验证,20 个需要人工接管,15 个失败。
那么任务自主闭环率 = 65%。
AI 代码占比衡量的是 AI 参与了多少;任务自主闭环率衡量的是 AI 完成了多少。
企业真正购买的,从来不是 Token,也不是代码行数,而是已经完成的工作。
第二个:自治工程跨度
Autonomous Engineering Horizon
Agent 在不需要人接管的情况下,可以持续完成多长的工程任务?
一个函数 → 一个 Bug → 一个 Issue → 一个跨文件 Feature → 一个完整 Work Item → 甚至一个 Sprint
Anthropic 今年分析了大约 40 万次 Claude Code 会话,发现一个很明显的变化:人在典型会话中更多负责决定“做什么”,Claude 更多负责决定“怎么做”。而且随着时间推进,使用方式也在从 Debugging,逐渐向更完整的端到端任务迁移。
自动驾驶有一个很好的类比。真正重要的问题从来不是 AI 会不会转方向盘,而是它能连续开多少公里不需要人接管。
Coding Agent 也一样。真正的进步不是又能多写多少代码,而是可以独立承接多长的工作链。
未来评价 Coding Agent,可以只看一个二维坐标:横轴是任务自主闭环率,纵轴是自治工程跨度。真正的进步,就是两个数字不断向右上方移动。
05 当代码越来越便宜,程序员的工作会继续向上移动
到了这里,很容易滑入一个老问题:那程序员是不是要被取代了?
我反而觉得,这不是最值得讨论的问题。
因为计算机行业过去几十年一直在发生一件事情:人的抽象层不断上移。
机器码 → C / Java → Framework / Cloud / Kubernetes → Agent
现在,人的抽象层可能又开始向上移动:
写代码 → 定义任务 → 定义约束 → 定义验证 → 设计软件生产系统
所以未来优秀工程师的价值,未必只是“我能写最复杂的代码”,而可能越来越变成:我能让一个软件生产系统持续正确地工作。
这也会重新定义 Tech Lead。
以前:Review Code → 以后:设计 Review System
以前:告诉开发怎么做 → 以后:把“应该怎么做”编码成规则
以前:发现问题亲自解决 → 以后:定义哪些问题 Agent 自己解决,哪些必须升级给人
过去程序员编程软件。 未来越来越多优秀工程师,会开始编程“软件生产系统”。

06 如果你负责一个研发团队,明天就可以开始做这 5 件事
不用一上来搞十几个 Agent,也不用先搭一个宏大的 AI Coding 平台。
真正值得做的是,把现有项目一点一点变成:机器可以理解的软件工程系统。
第一步:给核心项目补一份 AGENTS.md
至少明确:项目是什么、核心模块是什么、哪些模块不能乱动、怎么运行、怎么测试、有哪些工程约束。
先把高级开发脑子里的知识,沉淀到 Repository 里。
第二步:修改你的研发任务模板
以后重要开发任务至少增加:业务目标、影响范围、禁止修改、异常场景、验收标准、验证命令。
不要只写“实现 XX 功能”,而要让 Agent 能够判断什么时候才算真正完成。
第三步:盘点哪些验收条件还只能靠人判断
比如“页面看起来正常”“性能没问题”“不会影响旧接口”,这些对于 Agent 都太模糊。
逐渐把它们变成自动化测试、性能阈值、Schema Check、Contract Test、Regression Test。
你的 Verification 越强,Agent 才越能自主。
第四步:先建立一个最小闭环
Task → Implement → Test → Repair → Verify
不要马上追求自动上线。哪怕一开始只能处理很小的 Bug,只要 Loop 能自己跑起来,后面能力就会慢慢叠加。
第五步:开始统计“自主闭环率”
不要只统计 AI 使用次数,也不要只统计 AI 代码占比。开始真正记录:多少任务 Agent 接了?多少任务无需人工介入完成?什么地方最容易被人工接管?为什么会失败?
然后每一次失败,都不要只想着“换一个 Prompt 再试试”,而应该多问一句:我们的工程系统缺了什么?
缺 Context?
缺测试?
缺工具?
缺权限?
还是缺验收标准?
这才是 Harness Engineering 真正有价值的地方。
软件工程从来没有等于写代码。只是过去,代码本身足够昂贵,以至于我们经常把两者混在一起。
当 AI 开始快速降低代码生成的边际成本,真正稀缺的东西才会慢慢浮出来:
• 如何定义正确的问题
• 如何建立可靠的边界
• 如何验证最终结果
• 如何把个人经验变成组织能力
OpenAI 在自己的 Agent-first 工程实践里总结:工程师的工作正在越来越集中在环境、反馈循环和控制系统上。
Anthropic 的真实使用数据也显示:人在越来越多负责“决定做什么”,而 Agent 开始承担更多“怎么做”。
这两件事放在一起,其实已经指向同一个方向。
AI Coding 的终局,可能从来不是:程序员终于不用写代码了。
而是:软件工程第一次开始从一套高度依赖人脑的工作方式,变成一套机器可以理解、执行、验证和持续运行的系统。
过去程序员编程软件。未来,越来越多程序员会开始编程:生产软件的系统。
当代码越来越便宜之后,真正的软件工程,开始变贵。
延伸阅读 / 官方资料
如果想继续顺着这篇文章往下看,下面 5 篇官方材料已经足够。
1. OpenAI|Harness engineering: leveraging Codex in an agent-first world
2. OpenAI|Codex for Software Engineering Teams
3. Anthropic|Agentic coding and persistent returns to expertise
4. OpenAI|Running Codex safely at OpenAI
5. Anthropic|How we contain Claude across products
轩见 AI · 关注 AI 如何真正改变工作、组织与商业
夜雨聆风