Skip to content

AI 编程正在终结框架时代吗?

封面

引子:框架没死,但它的“主角位”正在被 AI 夺走

过去二十年,软件工程有一条几乎不变的主线:人写代码,框架定结构,IDE 提效率,CI/CD 负责交付。我们习惯了用框架回答“项目应该长什么样”,再用工程规范回答“代码应该怎么写”。

但现在,这套秩序正在被改写。

当大模型不仅能补全代码,还能读懂仓库上下文、生成项目骨架、重构测试、修 CI/CD、甚至根据 issue 自动修 bug 时,一个尖锐的问题出现了:框架时代真的要结束了吗?

我的判断是:框架不会消失,但它会退居二线。 在 AI 编程时代,真正的中心从“如何组织代码”转向了“如何组织上下文、任务与验证”。软件工程的瓶颈,也从编码效率,转移到了工程治理。

这才是这场变革最值得警惕、也最值得兴奋的地方。

从补全代码到交付任务:AI 编程的范式跃迁

AI 编程最初打动开发者的,是代码补全。

它像一个聪明的实习生:你写到一半,它帮你补下一行;你输入一个函数签名,它续写实现;你贴一段模板,它自动把样板代码填满。Copilot 时代的价值很直接:省输入、少重复、提效率。

但这只是第一阶段。

今天更值得关注的是第二阶段:AI 正在从“写代码”走向“做工程”。它开始能做的,不再只是单个函数,而是:

  • 初始化一个项目骨架
  • 根据需求拆分模块
  • 生成单元测试和集成测试
  • 修改多文件逻辑
  • 生成 Dockerfile、GitHub Actions、部署脚本
  • 根据失败日志继续修复

这意味着开发范式发生了根本变化:

以前是“人类主导写代码,工具辅助”; 现在正在变成“人类定义目标,AI 执行任务,人类审校结果”。

换句话说,AI 编程不再只是 code completion,而是在逼近 software task execution。

“终结框架时代”到底是什么意思

这句话不是说框架会被彻底淘汰,而是说它的核心价值正在变化。

传统框架最重要的作用有三个:

  1. 统一项目结构
  2. 约束最佳实践
  3. 提供默认能力和脚手架

但在 AI 编程时代,模型可以直接根据自然语言需求生成这些东西:

  • 自动选择技术栈
  • 自动生成目录结构
  • 自动搭建接口和页面
  • 自动补齐测试和配置

于是,框架过去最核心的“脚手架能力”开始被模型侵蚀。框架不再是开发入口,而更像是工程约束层治理边界层

真正留下来的,不是“框架帮你快速起步”,而是“框架帮你限制模型别乱来”。

技术原理:AI 编程的核心不是模型,而是上下文系统

很多人误以为,AI 编程能力的上限主要由模型参数决定。其实不是。真正决定工程能力的,往往是上下文管理

因为软件工程从来不是单点任务,而是一个多约束系统:

  • 业务需求
  • 项目结构
  • 历史代码
  • 依赖版本
  • 测试用例
  • 配置文件
  • 日志与错误信息
  • 团队编码规范

模型如果看不到这些,就很容易写出“语法正确、工程错误”的代码。

1. 上下文管理:AI 编程的基础设施

目前常见的上下文管理方式,大致有四种。

长上下文窗口

让模型一次看更多代码和文档。

问题也很明显:

  • 上下文越长,不代表理解越强
  • 噪音太多会降低准确率
  • token 成本上升很快
  • 关键约束容易被淹没

RAG:把代码库变成可检索知识库

系统先从仓库、文档、issue、PR 中检索相关内容,再交给模型生成。

常见检索对象包括:

  • 相关函数
  • 调用链
  • README 和架构文档
  • 历史 commit
  • 测试文件
  • 错误日志

这一步非常关键。因为 AI 编程真正需要的,不是“看很多字”,而是“拿到对的字”。

分层上下文

一个成熟的工程 Agent 往往会把上下文分成几层:

  • 全局层:架构、规范、模块边界
  • 任务层:当前修改目标
  • 局部层:相关类、函数、测试
  • 执行层:编译错误、lint、测试失败

这比把所有内容一股脑塞给模型更有效。

任务摘要与记忆

当任务进入多轮执行后,模型需要记住:

  • 用户目标是什么
  • 已经修改了什么
  • 哪些假设成立了
  • 哪些测试失败了
  • 下一步该做什么

否则 Agent 很容易“失忆”,在复杂任务里反复横跳。

2. 代码检索:从关键词搜索走向语义理解

传统代码搜索是关键词匹配,而 AI 编程需要的是语义检索。

比如你要找“支付失败后的补偿流程”,关键词未必命中,但语义检索可以通过行为、职责、调用链把相关代码找出来。

一个实用的代码检索系统通常包括:

  • 索引:代码、文档、issue、PR
  • 向量化:把片段转成 embedding
  • 结构图:文件依赖图、调用图、继承图
  • 混合检索:关键词 + 向量 + 图检索

这里的关键不是“找得多”,而是“找得准且可编辑”。因为 AI 编程不是文档问答,而是仓库级修改。

3. Agent 协作:从聊天机器人到工程执行器

AI 编程真正强起来,是因为 Agent 出现了。

一个典型的软件工程 Agent 往往包含四个角色:

  • Planner:拆解任务
  • Retriever:检索上下文
  • Executor:改代码、跑命令
  • Verifier:跑测试、检查结果

有些系统还会加入 Reflector,根据失败结果反思并重试。

这就把 AI 从“回答问题”推进到了“执行工作流”。

协作模式上,既可以是单 Agent 调工具,也可以是多 Agent 分工:

模式特点适用场景
单 Agent 多工具简单直接,链路短中小任务、单仓库修改
多 Agent 协作分工明确,但协调成本高大项目、复杂重构、长任务

多 Agent 的想象力很大,但也最容易出问题:目标冲突、重复修改、互相覆盖、责任不清。工程协作的复杂度,并不会因为模型出现而自动消失。

4. 评测基准:别只看“写得像不像”

AI 编程最容易犯的错,就是把“看起来会写”误认为“真的能交付”。

函数级基准,比如 HumanEval、MBPP,主要衡量的是局部代码生成能力。但真实工程更看重:

  • 能不能在仓库里找到相关上下文
  • 能不能改多文件
  • 能不能通过测试
  • 能不能在失败后自我修复
  • 能不能保持长程任务一致性

因此,SWE-bench 这类真实 GitHub issue 修复基准,才更接近工程现实。它告诉我们:AI 编程的考卷,已经从“写一道题”变成“交一个 PR”

5. 工程边界:AI 能替代什么,不能替代什么

这是最容易被技术乐观主义忽略的一点。

AI 很擅长:

  • 样板代码
  • 测试生成
  • API 适配
  • 脚本编写
  • 局部重构
  • 代码迁移
  • 简单 bug 修复

但 AI 依然薄弱于:

  • 需求不明确时的产品决策
  • 跨团队系统设计
  • 长期架构权衡
  • 隐性业务知识
  • 安全合规判断
  • 高风险生产改动

所以,AI 编程越强,工程边界越重要。你必须明确:哪些能自动改,哪些必须人工审;哪些能直接合并,哪些必须跑测试;哪些改动需要权限和审计。

这不是保守,而是治理。

行业影响:软件工程正在从“写”转向“控”

AI 编程对行业的影响,不只是提效,而是重塑软件工程生命周期。

需求阶段

AI 可以帮你澄清需求、整理 user story、拆解任务。

设计阶段

AI 可以生成架构候选方案、接口定义、模块边界建议。

实现阶段

AI 可以写代码、补测试、生成脚本、批量修改文件。

测试阶段

AI 可以根据失败日志修复问题,甚至辅助设计回归测试。

发布阶段

AI 可以生成 CI/CD 配置、部署脚本、回滚策略。

运维阶段

AI 可以分析日志和监控,辅助定位故障,甚至生成修复 PR。

这意味着,软件工程的重心不再只是“实现功能”,而是“控制系统行为”。

开发者角色也会变

未来更值钱的,不是手速,而是三种能力:

  1. 把复杂需求翻译成 AI 可执行任务
  2. 判断生成结果是否可靠
  3. 设计好测试、约束和权限边界

也就是说,开发者会从“编码者”逐渐转向“系统设计者 + 审核者 + 编排者”。

这对小团队是利好。AI 让小团队更像大团队,甚至能在短期内做出接近大团队的产出。但对大团队来说,治理会更重要,因为 AI 会放大协作复杂度,而不是自动消除它。

框架生态也会分化

未来的框架大概率会分成三类:

  • 人类开发者框架:强调易学、稳定、文档完善
  • AI 友好框架:强调结构清晰、约定明确、API 稳定
  • 模型原生框架:围绕 Agent、工具调用、工作流和记忆来设计

这也是为什么“终结框架时代”不是一个简单的消亡判断,而是一次角色重分配。

框架不会死,但它会从主角变成底座。

个人思考:AI 编程不是把工程变简单,而是把工程变诚实

我对 AI 编程最强烈的感受,不是“它让写代码更轻松”,而是它让软件工程暴露出了本来就存在、但过去被代码量掩盖的问题。

以前,一个团队是否专业,往往看谁写得快、写得多、框架玩得熟。

现在不一样了。

当代码可以被快速生成,真正决定系统质量的,反而变成了那些以前不够“性感”的东西:

  • 上下文是否完整
  • 测试是否可靠
  • 检索是否准确
  • 权限是否清晰
  • 审核是否有效
  • 边界是否定义明确

AI 让“会写代码”变得便宜,也让“会做工程”变得昂贵。

这是一种很现实的筛选机制。它会淘汰一批只会堆代码的人,也会奖励那些真正懂系统、懂协作、懂约束的人。

所以,如果要给这场变化下一个判断,我会说:

  • 不是框架时代结束了
  • 而是“框架定义开发者”的时代正在结束
  • 未来定义开发者的,是上下文、检索、Agent、评测和边界

这不是 AI 对软件工程的替代,而是软件工程对 AI 的再定义。

结语

AI 编程正在把软件工程从“写代码”推向“编排系统”。从补全一行,到生成架构;从修一个函数,到交付一个 PR;从 IDE 辅助,到 Agent 执行,变化已经不是量变,而是范式迁移。

真正的竞争点,早已不只是模型谁更强,而是谁能把上下文管理、代码检索、协作 Agent、评测基准和工程边界整合成一套可落地的生产体系。

框架不会消失,但它会被重新定义。未来的软件工程,拼的不再是谁写得更多,而是谁把系统控得更稳。

本文部分内容由 AI 辅助生成,经人工审校和补充后发布。