从 AI 写代码,到 AI 驱动研发:中间差了一个 JARVIS
从 AI 写代码,到 AI 驱动研发:中间差了一个 JARVIS
今天很多团队已经接受了一件事:AI 会写代码,而且会越写越好。
无论是 Copilot、Cursor,还是各种 coding agent,大家都已经见过它们在局部任务上的惊艳表现:补函数、改 bug、写测试、搭页面、重构样板代码、生成接口调用、解释旧代码……这些事,AI 确实已经很能打。
但奇怪的是,真正把 AI 用进研发体系里的团队,还是很少。
原因不在于模型不够强,而在于很多团队对“AI 参与研发”的理解,还停留在一个过于简化的画面里:
给 AI 一份需求,它就去写代码;写完后人来验收。
这当然是起点,但离真正的“AI 驱动研发”还差得很远。
我现在越来越明确:
从 AI 写代码,到 AI 驱动研发,中间不是差一个更强的模型,而是差一个 JARVIS。
这里说的 JARVIS,不是某个具体产品名,也不是一个酷炫的 Agent 壳,而是一个更本质的东西:AI Native 研发中枢。
1. “AI 写代码”到底是什么范式
先说清楚,AI 写代码并没有错,而且已经很有价值。
它的典型工作方式是:
- 人提出一个任务
- AI 读取当前代码和上下文
- AI 生成修改方案
- AI 编写或修改代码
- 人类 review、测试、决定是否接受
这个范式为什么有效?因为它很好地利用了 LLM 的几个长处:
- 语言到代码的映射能力
- 对常见模式的归纳能力
- 对局部上下文的推理能力
- 高速生成样板和重复结构的能力
在任务短、边界清晰、上下文有限的时候,这种模式甚至已经足够强。
但它有个根本限制:
它默认问题主要发生在“实现层”。
换句话说,它假设:只要需求大致明确,真正需要 AI 解决的主要就是代码实现。
而真实的软件研发并不是这样。
2. 研发真正复杂的地方,不在“写”,而在“持续做对”
一个工程任务越往后走,你就越会发现,真正消耗团队的并不是写代码本身,而是下面这些东西:
- 这个需求边界到底是什么
- 为什么历史上会这样设计
- 之前类似问题有没有踩过坑
- 某个改动会影响哪些模块
- 哪些方案看起来合理,但组织已经否决过
- 哪些测试是关键守门点
- 哪些地方必须人工批准,哪些可以自动推进
这些东西共同决定了:
- 代码是不是“业务上正确”
- 修复会不会引入回归
- 新需求会不会和旧约束冲突
- 团队会不会重复讨论同一个问题
- AI 会不会每轮都像一个刚入职的新同事
所以研发的难点,从来不只是“生成能力”,而是:
如何在长周期、多约束、会变化的环境里,保持记忆和秩序。
而这正是“AI 写代码”范式天然缺的部分。
3. 为什么单个 coding agent 很难直接升级成研发系统
一个强 coding agent,通常已经能做很多事:
- 读代码
- 写代码
- 跑命令
- 执行测试
- 修改文件
- 总结结果
但一旦你希望它承担研发系统级职责,它马上会碰到几个结构性问题。
3.1 它的记忆是脆弱的
即使模型上下文越来越大,研发中的关键记忆仍然不是靠“塞更多 token”解决的。
因为真正重要的记忆不是一堆文本片段,而是:
- 设计决策
- 历史 bug 模式
- 被否决需求及理由
- 模块之间的因果关系
- 当前版本计划和 backlog 状态
- 哪些知识已经过期,哪些仍然有效
这些内容需要被组织、维护、演化,不是简单堆在上下文里就够。
3.2 它对“现在的状态”掌握得不稳定
研发不是只有代码仓库。还有很多关键状态分散在别处:
- issue 系统
- MR / PR 审查
- 版本计划
- 发布环境
- 测试环境
- 人员分工
- 历史讨论
单个 coding agent 很容易只看见“当前 checkout 的代码”,却看不见“这个任务此刻在整个组织里处于什么状态”。
3.3 它缺少角色分层
真实研发里,开发、测试、产品判断、风险评估、知识维护,并不是一个动作。
如果让单个 Agent 同时扮演所有角色,表面上看很统一,实际上很容易出现:
- 自己写、自己测、自己宣布成功
- 没有独立视角去发现目标漂移
- 没有机制把经验沉淀给下一轮
- 没有边界去阻止“为了通过而通过”
这会让系统越来越黑盒。
3.4 它无法天然处理长期协同
任务一旦跨天、跨周、多分支、多模块推进,就需要有人维护这些信息:
- 现在有哪些任务在进行中
- 谁依赖谁
- 哪个结论已经确认
- 哪个实验失败了
- 哪些知识应该固化进系统
- 哪些流程应该被调整
如果没有一个中枢,所有任务都只是局部冲刺。你会看到很多“局部都很聪明,整体却越来越乱”的场面。
4. JARVIS 真正补上的,不是编码能力,而是系统能力
我现在更愿意把 JARVIS 理解成这样一个系统:
它负责让 AI 在研发过程中拥有记忆、知道状态、会使用工具、能回收经验,并在关键节点接受人类约束。
这意味着 JARVIS 要补上的,不是一两个功能,而是几类核心能力。
4.1 记忆层:让 AI 不再每次从零开始
如果一个 AI 每次接任务都像第一次接触这个产品,那它再强也只是“高智商实习生”。
记忆层至少应该包括:
- 历史功能和设计决策
- 历史 bug 与修复模式
- 已知风险和边界条件
- 被否决需求和原因
- 过去实验的结论与失败教训
这类记忆不只是为了检索,更是为了帮助 AI 在一开始就进入“组织语境”。
4.2 状态层:让 AI 知道现在发生了什么
除了历史,AI 还必须知道“此刻”的状态:
- 当前 open issue 和优先级
- 版本节奏与排期
- 哪些任务已经在进行中
- 哪些代码已合并、哪些还在 review
- 测试环境和发布环境的现实情况
没有状态层,AI 很容易给出“理论上正确、当下不适用”的建议。
4.3 编排层:把研发活动拆成可控环节
研发中很多事情不该由一个 Agent 一把梭,而应该被拆成:
- 需求澄清
- 方案判断
- 实现
- 测试
- 回归验证
- 知识更新
- 风险审查
编排层的意义在于:
- 不同环节可以调用不同能力
- 每一步都有明确输入输出
- 出错时可以知道错在哪一层
- 失败经验可以回写到具体环节,而不是笼统归因给“AI 不行”
4.4 测试层:让系统对“做对”有真实反馈
很多团队把 AI 测试理解成“让 AI 自己写点测试”。
这远远不够。
测试层真正的职责是:
- 把历史 bug 变成可复现、可回归的守门点
- 把业务边界显式化,而不是隐藏在口头经验里
- 让每次修复都能留下防重复发生的结构
测试不是附属品,而是 AI 研发闭环里的约束器。
4.5 人机边界层:让自动化不会滑向失控
真正成熟的 AI 研发体系,不是“人不看代码”,而是:
- 人不需要盯每一个局部动作
- 但人要定义边界、审批点、验收标准和风险阈值
哪些环节可放权,哪些必须停下来问人,这不是工程细节,而是系统设计问题。
5. 为什么我说“中间差了一个 JARVIS”
因为从能力结构上看,这中间确实有一道清晰的断层。
AI 写代码时,关注的是:
- 当前任务
- 当前代码
- 当前窗口里的局部正确性
AI 驱动研发时,关注的是:
- 历史连续性
- 当前组织状态
- 多环节之间的协同关系
- 失败后的恢复机制
- 经验的沉淀与复用
前者更像一个很强的执行器。
后者开始接近一个真正的研发系统。
而把执行器变成系统,中间必须有一个负责记忆、状态、编排和边界控制的中枢。这就是我说的 JARVIS。
6. JARVIS 不是“一个更大的 Prompt”
这是最容易被误解的地方。
很多人会下意识地认为:
- 多给点文档
- 把 prompt 写复杂一些
- 接上更多 MCP / Tool
- 换个更强模型
是不是就等于 JARVIS 了?
不是。
这些东西可能是材料,但不是系统。
真正的 JARVIS 至少有三个关键特征:
第一,它有结构化记忆,而不是临时喂料
它知道哪些是历史事实,哪些是当前状态,哪些是未来判断。
第二,它能持续更新,而不是一次性构建
每次修 bug、做决策、发生回归,都会反向更新它的记忆和规则。
第三,它服务于组织,而不是服务于单次对话
它不是为了让某一次回答更聪明,而是为了让整个研发体系越来越稳定、越来越会积累。
所以,JARVIS 的本质不是“更聪明地回答问题”,而是“让组织的 AI 能力具有连续性”。
7. 在我的实践里,JARVIS 为什么越来越像必选项
最近我越来越强烈地感受到:
如果没有研发中枢,AI 在复杂研发任务里会不断出现同一种浪费:
- 明明以前分析过的问题,又重新分析一遍
- 明明以前否过的方案,又重新提出来
- 明明以前修过的 bug,没有沉淀成回归测试
- 明明系统里已有知识,Agent 却像不知道一样重新摸索
这些浪费看起来是“小问题”,累积起来却会吞掉大量信心和效率。
相反,一旦你开始把:
- issue 历史
- 模块知识
- 设计决策
- 已知问题
- 回归测试
- 当前 backlog
- 版本计划
逐渐组织成一个能被 AI 调用、也能随着研发共同演进的体系,很多东西就开始变了。
AI 不再只是“帮你写”。
它开始能够:
- 基于历史判断问题是不是重复出现
- 提前指出某类改动的结构性风险
- 把零散 issue 看成模式,而不是孤立事件
- 在多次任务之间形成连续上下文
也就是说,它开始不是一个代码工人,而是一个真正参与研发判断的成员。
8. 结语
软件行业接下来几年一定会继续看到更强的 coding agent。
但如果一个团队只是把更强的 agent 接进现有流程,最后大概率只会得到一个更能干的局部执行器,而不是一个真正的 AI 研发系统。
从 AI 写代码,到 AI 驱动研发,中间真正差的那一步,不是模型升级,不是 token 扩容,也不是 prompt engineering。
中间差的是一个能承载组织记忆、实时状态、任务编排、测试约束和人机边界的研发中枢。
我把它叫做 JARVIS。
它不是为了让 AI 看起来更酷,而是为了让 AI 真正能够成为软件公司的长期生产力。
上一篇文章讨论了为什么单次实验测不出真正上限;这一篇想说明,要跨过那道上限,缺的不是更强的“写”,而是一个能让 AI 持续“做对”的系统。
