AI 时间线

2026 AI 时间线·02:先计划,再执行——AI编程工作流正在改变

2026年1月,GitHub Copilot CLI先后加入专门智能体与Plan Mode,代码仓库也出现用于管理Coding Agent任务的Agents页面。这些变化表明,AI编程的竞争重点正从“生成代码有多快”,转向“能否在编码前澄清需求、确认范围、暴露风险,并让人持续掌握关键决策”。

发布于 2026年7月28日 · 更新于 2026年7月28日 · 约 11 分钟阅读

文章目录 8 节

开发者只输入了一句话:“给现有网站增加用户登录功能。”

几分钟后,AI已经新建了登录页面、写好了接口,还顺手调整了数据库模型。项目能够启动,页面也能打开,看上去效率很高。问题是,产品原本需要手机号验证码登录,AI却实现了邮箱和密码;现有用户表已经保存了客户资料,新迁移脚本却把“用户”和“会员”当成了两个独立实体;后台接口只判断是否登录,没有区分普通用户与管理员;为了让代码结构更“统一”,它还重构了几处与登录无关的模块。

代码并非完全错误,甚至可能通过基础构建检查。它只是解决了另一个问题。

这正是AI编程中最容易被速度掩盖的风险:模型越快,错误方向被执行得越完整,返工成本反而越高。

写得很快,不等于做对

传统编程工具最常见的失败,是语法错误、类型不匹配、依赖缺失或测试未通过。这些问题通常会留下明确痕迹:编译器报错,测试变红,页面崩溃,日志出现异常。

需求理解错误更危险,因为它经常能够“正常运行”。

一个符合语法、结构整齐、测试也通过的登录模块,仍然可能使用了错误的登录方式、错误的数据模型或错误的权限边界。机器检查能够确认代码是否按照某种规则工作,却未必能确认这是不是业务真正需要的规则。错误越靠近需求、架构和安全层,越难通过一次运行发现。

直接让AI动手时,模型通常会补全缺失信息。它必须决定使用什么认证方式、会话保存在哪里、密码怎样处理、是否新增数据表、哪些页面需要保护。若开发者没有说明,它只能根据代码片段、常见做法和概率较高的模式做出推断。

问题不在于AI会推断,而在于这些推断常被悄悄写进代码。一个未经确认的假设,很快就会变成数据库迁移、接口设计和前端状态管理。等人发现方向不对时,修改已经扩散到多个文件。

因此,AI编程真正需要优化的,不只是生成阶段,而是“假设进入代码之前”的那段流程。

GitHub在2026年1月补上的,是工作流中的停顿

2026年1月14日,GitHub介绍了Copilot CLI中的Explore、Task、Plan和Code-review等专门智能体。Explore用于分析代码库,Task负责运行测试和构建等命令,Plan分析依赖与项目结构并形成实施计划,Code-review聚焦于审查真实问题。GitHub同时说明,Copilot会在适当情况下自动委派任务,并可并行运行多个智能体。GitHub官方更新

一周后的1月21日,Copilot CLI加入Plan Mode。按照GitHub当时的说明,进入该模式后,Copilot会先分析请求,通过提问确认范围、需求和设计选择,再生成结构化实施计划;用户确认方案后,才进入实现。计划还可以在专门面板中查看,开发者能够在执行前继续调整方向。GitHub官方更新

1月26日,GitHub又把Coding Agent任务管理放回代码仓库,在已启用Copilot coding agent的仓库中提供Agents页面。开发者可以集中查看会话、创建和切换任务、阅读日志、查看文件差异,并跳转到相关拉取请求。GitHub把它描述为一种“mission control”式视图,这个比喻相当准确:它管理的不是一次问答,而是一组正在推进、等待检查或已经完成的开发任务。GitHub官方更新

这些功能在当时有各自的适用入口和启用条件,不能据此推断所有开发者都已经采用同一种AI工作流。但把三次更新放在一起看,方向很清楚:AI工具开始主动为“理解、计划、执行、审查和管理”划分阶段,而不是把所有事情都塞进一个持续生成代码的聊天窗口。

一个登录功能,应该先暴露哪些问题

仍以“给现有网站增加用户登录功能”为例。这里是一个示例,不代表任何真实项目。

若直接执行,AI很容易选择最熟悉的实现:创建用户表,增加邮箱和密码字段,接入某个认证库,生成登录页,再给受保护页面加中间件。每一步都合理,但组合起来未必适合现有系统。

有效的计划阶段不会急着展示十几条施工步骤,而会先找到无法从当前信息中可靠判断的地方。

登录标识是邮箱、手机号,还是第三方账号?现有数据库里是否已经有用户、客户或员工记录?新认证身份要与旧数据合并,还是建立关联?密码由本系统保存,还是交给外部身份服务?会话采用Cookie、服务端Session还是Token?管理员、普通用户和未登录访客分别能访问什么?旧用户首次登录怎样激活账号?部署时是否需要新增密钥、回调地址和环境变量?

这些问题不是“实现细节的补充”,而是在确定要实现什么。

当需求明确后,计划才应落到修改范围:哪些路由、组件、接口和数据表会受影响;哪些文件明确不应改动;是否需要数据库迁移与回滚脚本;历史数据如何兼容;密码哈希、会话过期、CSRF防护、登录限流和权限校验由哪一层承担;测试覆盖正常登录、错误凭证、会话失效、越权访问和迁移失败等哪些情况。

验收标准也必须在动手前说清楚。例如,“登录页面能够显示”不是有效验收。“旧用户数据不丢失;普通用户不能访问管理接口;连续输入错误密码会受到限制;退出登录后旧会话失效;迁移可在测试环境回滚”,才接近可执行的判断条件。

计划的价值,就在于把原本隐藏在一句需求里的产品决策、数据风险和安全边界提前摊开。

Plan Mode不是“先让AI列一下步骤”

普通对话中也可以要求AI“先列计划,再写代码”。两者表面相似,差别却不只在格式。

一份步骤列表通常是单向输出。模型根据现有信息生成看似完整的路线,用户读完后继续要求执行。若输入本身缺少关键事实,列表只会把未经确认的假设包装得更有条理。

Plan Mode更重要的设计,是把澄清、确认和执行许可嵌入工作流。GitHub在1月21日的说明中强调,Copilot会使用提问工具追问范围与设计选择,在双方对方案达成一致后,再由用户决定开始实现。 这意味着计划不是一篇预先写好的说明文,而是一个决策过程。

AI主动提问也不是能力不足的表现。相反,在信息不完整时暂停,是比自信补全更可靠的行为。对于按钮文案、局部样式这类低风险细节,模型可以采用合理默认值;但涉及产品入口、数据结构、权限、安全和兼容性时,默认值本身就是决策,不能悄悄替人做出。

当然,计划模式不会自动保证正确。AI可能问错问题,也可能基于错误的代码库理解设计出过度复杂的方案。计划与执行还可能脱节:文档承诺只修改认证模块,实际实现却触碰了公共组件;计划写了迁移回滚,代码中却没有对应脚本。

所以,一个计划是否有效,不看篇幅,也不看术语是否专业,而看它是否完成三件事:暴露信息缺口,锁定修改边界,给出可验证的完成条件。

什么时候该计划,什么时候直接做

并不是每个任务都值得进入复杂规划。

修正一处明确的错别字、替换已知配置值、给现有函数补一个边界判断,或者按照已有测试修复一个局部缺陷,通常可以直接执行。前提是影响范围清楚、失败容易发现、回滚成本很低。

当任务跨越多个模块,包含数据库或接口变更,涉及认证、权限、支付、隐私和部署配置,可能影响历史数据,或者需求中存在明显歧义时,先计划几乎是必要的。还有一类任务也应暂停:用户说的是结果,例如“提高页面速度”“优化订单流程”“让系统更安全”,但没有定义指标、边界和验收方式。此时直接改代码,只是在用技术动作替代问题定义。

计划也不能变成新的负担。为了修改一个按钮而生成两页架构说明,会让人把时间花在维护计划,而不是解决问题。更糟的是,冗长计划容易制造一种虚假的安全感:内容越完整,开发者越容易默认它已经考虑周全。

好的计划应该与风险成比例。小任务只需确认目标文件和验收结果;中等任务需要说明影响范围、方案与测试;高风险任务才值得展开数据迁移、安全边界、回滚策略和分阶段发布。计划不是越长越好,而是要让下一步决定更清楚。

多智能体提高并行能力,也放大协调成本

Explore、Plan、Task、Code-review等专门智能体出现后,开发者不再只是把一个问题交给一个模型。一个任务可能先由Explore梳理代码库,再由Plan形成方案,Task运行构建和测试,Code-review检查改动;部分工作还可以并行进行。

这种分工有现实价值。代码库探索不会持续挤占主对话上下文,测试失败可以保留完整输出,审查也能独立于实现过程进行。但并行并不等于没有代价。

两个智能体可能同时修改同一文件;一个智能体依赖另一个尚未完成的数据结构;审查智能体可能依据旧版本代码提出意见;不同任务都通过测试,却在合并后产生冲突。任务拆得越细,接口约定、依赖顺序和结果合并就越重要。

这也是Agents页面更像任务控制台,而不是新聊天界面的原因。它把会话、日志、文件改动和拉取请求集中起来,使人能够知道每个智能体在做什么、做到了哪一步、修改了哪些内容。1月26日的官方说明还提到,日志会将相似工具调用分组,展示内联输出预览、文件差异和Bash命令,以提高可追踪性。

但控制台只能提高可见性,不能替代责任人。谁来决定任务如何拆分,谁来判断两个方案冲突时保留哪一个,谁来确认数据库迁移能够上线,谁来为最终结果签字,答案仍然是人。

开发者的角色会从“逐行输入代码”更多地转向定义问题、分配任务、设置边界、审查证据和做最终取舍。AI可以提出技术方案,也可以执行大量具体工作;产品方向、架构权衡、安全例外和验收结论,不能因为智能体数量增加就变成无人负责的区域。

把误解挡在代码之前

AI编程越自动化,开发者越不能只说“帮我做完”。

当工具能够探索仓库、拆分任务、并行执行、运行测试并提交改动时,一句含糊需求可能在很短时间内扩散成一组结构完整的错误实现。此时,人的价值不再主要体现为比模型更快地写出某个函数,而是更早指出:真正的问题是什么,哪些范围不能碰,哪些选择必须确认,什么结果才算完成。

我更愿意把Plan Mode理解为一道可见的决策门,而不是代码生成前的仪式。它应当迫使双方在关键假设上停下来,让风险在数据库被改动、权限被放开、接口被发布之前出现。

未来高质量AI编程的核心,不是让模型无条件执行更多,而是让误解更早暴露,让计划能够被质疑,让执行过程可以被干预,让验收条件足够明确。工具可以承担越来越多操作,决定权和最终责任仍应留在人手中。

参考资料

RELATED WRITING

相关文章

返回文章列表