三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

ChatGPT、Codex趋势:为什么AI编程正在从代码生成走向任务执行?

ChatGPT、Codex趋势:为什么AI编程正在从代码生成走向任务执行?

过去我们评价一个AI编程工具,最常问的是:

代码写得准不准?

能不能补全函数?

能不能修Bug?

能不能理解更多文件?

能不能一次生成更完整的代码?

这种评价方式没有错。

因为早期AI编程的核心任务,本来就是:

Code Generation。

开发者提出需求,模型生成代码,然后人负责复制、运行、测试、修改和提交。

但真正长期使用ChatGPT、Codex这类工具以后,会发现一个变化:

开发者交给AI的任务正在越来越少地停留在:

帮我写一段代码。

而越来越接近:

帮我把这个问题解决掉。

两句话看起来差别不大,背后的工程模式却完全不同。

因为“写代码”只需要解决一个输出问题。

而“完成任务”意味着Agent必须经历:

理解目标 ↓ 读取项目 ↓ 定位问题 ↓ 修改代码 ↓ 运行工具 ↓ 执行测试 ↓ 检查结果 ↓ 继续修正 ↓ 判断是否完成

这意味着AI编程正在从:

生成代码

走向:

执行任务。


一、Code Generation时代,AI只是开发流程中的一个环节

最早的AI编程工作流非常简单:

需求 ↓ AI生成代码 ↓ 开发者复制 ↓ 运行 ↓ 调试

AI真正负责的只有中间一段:

Generate。

其他环节仍然由人完成。

所以这个阶段最重要的指标自然是:

  • 代码正确率;

  • 补全速度;

  • 首次生成质量;

  • 代码风格;

  • 上下文长度。

如果模型生成代码质量更高,开发效率就会提高。

整个逻辑很直接。

但它有一个明显限制:

AI并不知道自己生成的代码最终有没有真正解决问题。

它可以输出:

修改完成。

但它可能没有运行测试。

没有Build。

没有检查Diff。

甚至没有真正理解当前项目环境。

所以这个阶段的“完成”,更多只是:

Output Finished。

而不是:

Task Finished。


二、任务执行最大的变化:代码从“结果”变成了“动作”

假设用户现在提出:

修复登录后偶发401的问题。

如果只是代码生成模型,它可能直接输出:

修改Token刷新逻辑……

但一个真正承担任务执行的Agent,首先应该问:

401到底来自哪里?

于是流程变成:

复现问题 ↓ 读取认证代码 ↓ 分析日志 ↓ 检查Token ↓ 检查Cookie ↓ 确定Root Cause ↓ 修改代码 ↓ 运行测试 ↓ 重新验证

这时候代码已经不再是最终目标。

代码只是:

Agent完成任务过程中采取的一种Action。

所以可以把两种模式简单区分成:

过去: Goal = Generate Code
现在: Goal = Change System State

真正的目标是:

登录问题消失,并且有证据证明它已经消失。

这就是任务执行和代码生成之间最重要的区别。


三、AI一旦开始执行,工程问题就突然变多了

代码生成阶段,问题相对简单。

模型只需要考虑:

写什么?

Agent真正执行以后,必须继续回答:

在哪里执行?

可以读取什么?

可以修改什么?

可以运行哪些命令?

能不能联网?

哪些操作需要确认?

修改之后怎么验证?

于是AI编程开始出现一整套过去很少讨论的概念:

Workspace Permission Sandbox Tool Context Task Boundary Verification Evidence

这也是为什么现在谈Codex,越来越难只讨论:

模型写代码能力。

因为同一个模型,在两个不同工程环境里的表现可能完全不同。

一个环境:

目录准确;

项目规则清晰;

工具完整;

权限合理;

测试体系成熟。

另一个环境:

Workspace巨大;

依赖损坏;

权限混乱;

任务没有边界;

没有测试。

最终使用体验可能完全不同。

所以Agent时代真正重要的不只是:

Model Intelligence。

还有:

Execution Environment。


四、从Prompt Engineering到Task Engineering

代码生成时代,大家最关心:

Prompt怎么写?

比如:

给模型更多背景;

指定技术栈;

规定输出格式;

补充示例。

这些当然仍然有价值。

但任务越来越复杂以后,仅仅优化Prompt已经不够。

假设你告诉Codex:

帮我把认证系统优化好。

即使Prompt写得很漂亮,Agent仍然面临大量未定义问题:

什么叫优化?

允许修改哪些模块?

能不能升级依赖?

数据库能不能动?

什么状态算完成?

如果第一次修改失败,是继续扩大范围还是停止?

所以Agent任务越来越需要定义:

Problem Scope Constraint Milestone Verification Done

这其实已经不是传统Prompt Engineering。

更接近:

Task Engineering。

也就是:

不只是告诉Agent“做什么”,还要设计整个任务应该怎样运行。


五、任务执行必须有“状态”,不能只靠聊天记录

长任务里还有一个明显问题:

Agent不只是需要记住需求。

还需要知道:

现在做到哪里了。

例如:

目标: 修复认证问题 已确认: Token正常 已排除: 数据库问题 当前Root Cause: Cookie配置 已修改: auth/cookie.ts 当前状态: 单元测试通过 集成测试未完成

这些信息其实已经形成:

Execution State。

如果状态只存在于几十轮聊天记录里,任务越长越容易混乱。

所以真正长期运行的Agent,越来越需要:

计划;

Checkpoint;

状态记录;

决策记录;

最终Evidence。

这和传统软件系统非常相似。

复杂工作不能只靠:

“我记得刚才做过什么。”

必须把状态显式化。


六、为什么Verification会成为Agent时代的核心能力?

代码生成时代,人通常会自然接过AI的代码:

自己看一遍;

自己运行;

自己测试。

所以验证压力主要在人。

但Agent开始自主执行以后,如果每一个结果仍然需要开发者从头检查:

AI虽然写得更快,

人的Review压力却可能越来越大。

这时候一个真正成熟的Agent不能只输出:

Done。

还应该能够提供:

修改了哪些文件 为什么修改 运行了什么测试 测试结果是什么 哪些内容没有验证 还存在什么风险

也就是说:

Execution之后必须跟着Verification。

可以把完整流程理解成:

Task ↓ Action ↓ Result ↓ Verification ↓ Evidence

其中Evidence非常关键。

因为Agent真正进入工程体系以后,企业需要的不是:

“AI觉得自己完成了。”

而是:

系统能够证明任务达到了完成条件。


七、多Agent进一步把AI编程变成系统问题

一个Agent的时候,开发者还可以一直盯着。

但如果同时运行:

Agent A:修Bug Agent B:补测试 Agent C:分析日志 Agent D:处理另一个Issue

问题马上从单任务变成:

Coordination。

需要解决:

  • 谁负责什么;

  • 哪些任务可以并行;

  • 哪些必须串行;

  • 是否共享Workspace;

  • 结果怎么汇总;

  • 冲突怎么处理;

  • 哪个Agent拥有最终决策权。

这时候“AI编程工具”的概念又继续变化。

它不再只是:

一个更强的Coding Assistant。

而开始接近:

一个由多个执行单元组成的工程系统。

因此未来真正重要的能力可能不是:

一次开多少个Agent。

而是:

这些Agent能不能在清楚的边界内形成稳定协作。


八、开发者的位置也在发生变化

传统开发者大量时间花在:

Read Write Run Debug Test

Agent承担更多执行以后,人不会消失。

但人的工作重心会逐渐向上移动:

Define Goal ↓ Set Boundary ↓ Review Decision ↓ Handle Exception ↓ Verify Result

也就是说,人正在从:

直接执行者

逐渐增加一个角色:

任务监督者。

这并不是简单的“AI替人写代码”。

真正发生的是:

人和机器之间的工作分工重新划分。

Agent负责越来越多:

How。

人负责越来越多:

What;

Why;

Whether。


九、所以未来评价AI编程工具的标准也会变化

过去评价模型:

写代码准确率;

Benchmark;

上下文长度;

Token成本。

这些不会消失。

但Agent真正进入工作流以后,还需要增加新的指标。

例如:

Task Completion Rate

任务最终有没有真正完成?

Human Intervention Rate

完成一个任务需要人介入多少次?

Recovery Rate

遇到失败以后能不能自行恢复?

Verification Quality

结果有没有可靠证据?

Scope Control

任务执行过程中有没有不断扩大范围?

Long-Horizon Stability

执行时间变长以后还能不能保持最初目标?

这些指标衡量的已经不是:

模型单次输出质量。

而是:

整个Agent系统的工作质量。


十、AI编程真正发生的是“抽象层级上移”

回头看整个变化,会发现AI编程正在不断提高自己的工作抽象层级。

第一阶段:

Line

AI补全一行代码。

第二阶段:

Function / File

AI生成完整模块。

第三阶段:

Task

AI修复一个Bug或者实现一个Feature。

第四阶段:

Goal

Agent围绕一个目标,自己协调多个步骤甚至多个执行单元。

所以真正的发展路线可能不是:

模型一次写更多代码。

而是:

人类逐渐把更高层级的目标交给系统。


十一、从“代码工具”到“执行系统”

如果只看表面,Codex仍然是AI编程工具。

但从系统结构来看,它正在越来越接近:

Intent ↓ Agent ↓ Context ↓ Tools ↓ Environment ↓ Execution ↓ Verification ↓ Result

这套结构真正强调的是:

完整闭环。

如果只有:

Intent ↓ Code

仍然是生成工具。

如果能够完成:

Intent ↓ Verified Result

它才开始接近执行系统。

这也是为什么最近AI编程领域越来越多地讨论:

Context Engineering;

Task Engineering;

Skills;

MCP;

Subagents;

Verification;

Control Plane。

它们表面上是不同技术。

本质上都在解决同一个问题:

怎样让模型从“会生成”走向“能持续、可控地完成工作”。


最后

AI编程正在从代码生成走向任务执行,并不是因为代码突然不重要了。

恰恰相反。

代码依然是软件工程最核心的执行媒介之一。

真正变化的是:

代码在整个AI工作流里的位置。

过去:

Code = Result

现在越来越接近:

Code = Action

真正的结果是:

Task Completed + Verified

所以未来开发者真正需要掌握的,也可能不再只是:

怎么让AI生成更好的代码。

还包括:

怎样定义目标;

怎样限制范围;

怎样组织Context;

怎样设计工具;

怎样拆分Agent;

怎样建立验证;

怎样让失败可以恢复。

当这些能力逐渐成熟以后,

AI编程就不再只是:

一个模型帮人写代码。

而会越来越接近:

人定义目标,Agent系统负责把工程推进到一个可以验证的完成状态。

这才是从:

Code Generation

走向:

Task Execution

真正意味着的变化。

← 返回列表