写代码只占程序员三成时间,CodiumAI 想拿下剩下的七成
Flow Engineering and Code Integrity at Scale with Itamar Friedman, CEO of Codium AI
Codium AI 创始人 Itamar Friedman 与 Nathan 聊如何用 LLM 做任务分解与流程编排,从而在大规模代码库中保障代码完整性。
GitHub Copilot 用三年多时间做到一亿美元年收入,是第一个跑通商业化的编程大模型产品。可 CodiumAI 创始人兼 CEO 伊塔玛·弗里德曼(Itamar Friedman)在 Cognitive Revolution 播客里给出的数字更扎心:在成熟团队里,写代码最多占程序员三成时间,不少团队连三成都不到。剩下的时间花在测试、代码评审、集成、重构和维护上,而这恰恰是当时所有 AI 编程工具最薄弱的地带。
这期节目发布于 2024 年 3 月。CodiumAI 成立仅 18 个月,已服务数十万开发者,光 VS Code 插件就有约 25 万活跃用户。弗里德曼此前的公司 Codota 是代码补全产品 Tabnine 的前身,他算是最早一批做 AI 编程工具的人。这次他带来两样东西:一款主打「代码完整性」的产品,和一篇名为 AlphaCodium 的研究。后者用大约一百次模型调用,把 GPT-4 在编程竞赛基准上的通过率翻了一倍多;DeepMind 的 AlphaCode 达到类似水平,靠的是上百万次调用。
写代码,是程序员最不忙的部分
弗里德曼把 2022 年 8 月称作「BC 时代」,ChatGPT 出现之前。那时他刚看到 Copilot 跑通的早期信号,判断代码补全的本质是把搜索搬进 IDE:以前要 Google 五次、翻五个 Stack Overflow 页面,现在结果直接变成代码。Stack Overflow 流量持续下滑,就是这个变化的注脚。
但他同时判断,补全和生成很快会变成大宗商品。当时市面已有约 15 款同类工具,Copilot 领先,本地开源模型迟早够用。企业还在批量采购,原因有二:那三成时间确实重要,而且补全是 LLM 最顺手的事,模型本来就是训练来按上下文补下一行代码的。让它判断「这段代码到底能不能跑」,训练和产品设计都差得远。
真正的问题在写完代码之后。测试呢?评审呢?对照 Jira 工单检查有没有漏功能呢?这些活没人爱干,却占掉大头。他给成熟团队算了笔账:搞清楚要做什么、动手写、保证代码能跑且能并入现有系统,三个阶段里动手写低于 30%,不少研究给出的数字还要更低。还有一层常被忽略:真实项目里大量工作是改旧代码,写完一周它就是遗留代码,等着被修、被重构。那些炫酷的 agent 演示,生成一个五页面的注册加仪表盘网站,这类东西 GitHub 上本来就有现成仓库。
红杉资本也把软件开发切成 pre-build、build、ship 三段,CodiumAI 的判断类似,但更激进:
「一个虚拟团队成员不能只写代码、不测试、不理解更深的上下文。团队成员要覆盖 pre-build、build、ship 三个阶段。」
公司名用「完整性」而非「测试」,也有讲究。测试是验证代码意图的老办法,还有别的路径:自动为代码生成一份规格说明,再和产品经理写的需求文档做匹配,代码符不符合预期,照样能查。往后走,弗里德曼还想查开发实践,甚至公司文化层面的东西。
产品:先告诉你该测什么,再帮你测
主持人内森·拉本兹(Nathan Labenz)装上插件试了一周。他点下「生成测试」,插件先弹出 20 个值得测的行为,每个还能展开子行为,一个函数最多能挖出 50 到 100 种测试角度,然后才给出前六条具体测试。弗里德曼说,开发者反馈最多的价值恰恰在这里:用完之后知道了自己的代码该怎么测,边界情况在哪。生成代码好玩也省时间,想清楚怎么测才是大家又恨又躲不掉的活。内森平时做原型,不碰生产环境,原本以为自己用不上多少,结果光这个功能就够回本。
内森也点了「运行并修复」,随即抛出疑问:修复本身谁来把关?这个问题贯穿了整期对话,弗里德曼的答案不靠单点功能,靠的是把验证嵌进整个流程。
另一个让内森上头的是「增强」(Enhance)命令。他自学编程多年,点一下,插件把类型标注、规范写法全补齐,像请了个私教。但弗里德曼坦白,大约一半开发者讨厌这个功能,因为每个人对好代码的口味不同,类似空格还是 Tab 之争,没有对错。解法是开放配置:每个仓库一份配置文件,写清楚这个项目里「增强」意味着什么;技术负责人可以给初级开发者预设原则。已经有客户做了示范:老 API 要废弃,配置之后,谁误用了老接口,插件立刻提示换新的。再往后,他希望 AI 能自动学习团队的最佳实践,第一步先让人能自己配。
面向团队的另一条线是 Git 插件 PR-Agent,专治拉取请求评审这个老大难,输入 /describe 就能生成完整的 PR 描述。插件里还有 ChatGPT 式的对话入口 Codiumate,可以圈选上下文提问,比复制粘贴省事。还有个概念叫「DRY by AI」:程序员讲究不重复自己(DRY),可现实是需求写在 Jira,代码写一遍,测试再写一遍,三份东西高度重叠还常常不同步。AI 的机会是让代码、测试、规格说明三者互相生成、保持一致。目前靠用户点按钮触发,等准确率够了,会变成自动对齐加告警。
运营上还有两个细节。其一,他们坚持零数据留存:上下文在运行时现场计算,靠依赖图算法决定往上往下追多少层,早期不建向量数据库,就是为了打消企业客户对代码被索引存储的顾虑。其二,JetBrains 插件的增长速度反超 VS Code,可能几个月内就盖过去,评分 4.8。企业市场里 JetBrains 的地盘比想象中大。
至于 1000 万行 monorepo 的上下文难题,弗里德曼的判断是,窗口涨到 12.8 万 token 当然有帮助,但窗口解决不了注意力聚焦,更替代不了分步处理。人拿到一大坨代码也会先整理再动手,模型一样要走步骤,卡帕西说过,迭代本质上是给模型增加思考块。他们的理念是把算法算出来的子上下文亮给用户:在「扩展测试套件」功能里,开发者能看到并增删模型引用的依赖清单,想要覆盖更广的测试就手动加。语言相关的依赖图是苦活,开源生态里 tree-sitter 之类远远不够,JetBrains 和 GitHub 手里都有内部方案,只是没开放。
AlphaCodium:把提示工程换成流工程
重头戏是研究。他们选的基准是 DeepMind 设计的 CodeContests,题目来自 Codeforces 竞赛。选它有讲究:LeetCode 的 Hard 题都偏简单,HumanEval 早已饱和,有人发现 GPT-4 在某个日期之前的题全对、之后的题全错,基本坐实了训练数据污染。Codeforces 的私有测试用例不在互联网上,像 Kaggle 一样防刷分。这个基准此前只有 DeepMind 和 OpenAI 认真提交过,CodiumAI 是第三家。
先看前人成绩。DeepMind 的 AlphaCode 一代微调了专用模型,解出约 28% 的题目,大致相当于参赛者的中位水平,代价是每道题上百万次模型调用,完全不实用。二代换了 Gemini Pro,调用量降了几个量级,但模型照样要针对竞赛微调,换个场景就得重训。AlphaCodium 走了另一条路:用现成的 GPT-4,不做任何微调,每道题约一百次调用,几分钟,几美元。五次提交、每次约三个候选方案、每个方案约 15 次调用。测试集上解出 30% 的题目,超过一半参赛者,约 51 到 52 百分位;验证集上最高接近一半,内森总结这是 AlphaCode 一代的两倍,和二代相当。想进前 10%,得把调用加到一千次以上,他们刻意不做,为的是留下一个别人能复现的实用结果。
为什么只提交 5 次?同行惯例是 10 次。他们从产品角度考虑,给用户推荐前三个或前五个方案比较合理,少跑一半还省时间。真提交 10 次,成绩还会更好,这个对比其实偏向 DeepMind 和 OpenAI。
方法被命名为流工程(Flow Engineering),刻意避开「思维链」和「智能体」两个词,思维链只是流的一种。论文标题就叫「从提示工程到流工程」,流程拆细之后,每一步的提示词变得极简,花在提示上的功夫降到 5% 左右。内森读完仓库里的全部提示词,评价是简短、清晰,真正的功夫全在任务拆解上。
流程分两段。预处理阶段不写一行代码:先反思问题本身,再推理公开测试用例,然后生成几个候选解题策略,注意只是策略,没有代码,接着排序,最后生成额外的 AI 测试,专门补边界情况。迭代阶段才动手:生成代码,自我改进几轮,跑公开测试,失败就修,再跑 AI 生成的测试,继续修。
这里有个关键设计叫锚定:凡是通过的测试立刻锚定,后续任何改动都必须保持通过;失败的测试则先反思,到底是代码错了,还是测试本身错了。开发者写测试时也常纠结这个问题,而且天然偏向接受绿灯,这套偏见被原样搬进流程,攒出一个不断增长的已通过测试池。思路借自课程学习,先易后难,逐步推进。防错误累积靠两个手法:知识累积,让信息带着前几步的消化结果往下传;跳跃注入,把第 4 步的输出直接插回第 7 步,绕开中间的损耗。
输出格式用 YAML,比 JSON 和 XML 都省 token,人也能直接读,内森说他已经从 XML 阵营倒戈。还有个反直觉的点,内森的原话值得整段引用:
「让 AI 做一件事,然后马上拿它的方案让它批评自己,直觉上这不该管用。但它就是管用。」
卡帕西读了论文后在推特上重点夸的,正是这条流的设计。项目开源,提示词、温度参数、全部配置都在仓库里。顺带一个耐人寻味的细节:GPT-4 直接提示在验证集上的领先幅度明显大于其他模型,到了测试集差距却缩小,指向部分验证题与训练数据重合;流工程的价值,在更干净的测试集上反而更突出。他们还测了更多模型,DeepSeek 意外能打,尤其在测试集上泛化得好;有些模型聊天很强,写代码拉胯。
分歧点:AI 写的代码,质量到底降没降
这是全期最有张力的讨论。一边是 GitHub 报告说 AI 让代码质量提升,一边是另一些报告说代码质量在下滑,加里·马库斯的质疑被内森认真转述:可能速度上去了,技术债也在堆积,收益是海市蜃楼。
弗里德曼的回应:两种说法都对,取决于场景。从零开始的原型项目,AI 产出接近甚至超过普通开发者;可如果是服务上亿用户的产品,要往复杂代码库里加功能,需要大量上下文,当前质量大概率下降。根源在于整个行业把生成设计成了系统一。他引用丹尼尔·卡尼曼《思考,快与慢》:给点上下文,给个提示,立刻要答案,这是快思考。AlphaCodium 展示的是系统二,慢下来,分步骤,过程中还去取相关信息。做智能体未必等于系统二,关键看流程属性。
他的预测很具体:到 2024 年底,系统二式的生成会让 AI 在复杂代码上的质量反超普通开发者。企业对补全之外的用例兴趣也在涨,PR 评审只是第一个,2024 年底前大家会在更多环节用上 AI。
明天就能用的东西
这期内容的价值超出编程圈,AlphaCodium 本质上是一份通用的 AI 工作流设计模板。能直接搬走的有这些:
- 先拆解再动手。把大任务切成每一步都可靠的子任务,生成代码前先反思问题、列策略。内森的建议更进一步:把自己行业的成功工作流写下来,很多团队从没文档化过自己的流程。
- 生成后立刻自评。用另一个提示词让模型批评刚产出的结果,多轮迭代,实测有效。
- 结构化输出改用 YAML,省 token 又可读。
- 锚定已验证的结果,先易后难,困难决策尽量往后推,用跳跃注入防止错误累积。
- 要求模型输出小而模块化的单元,方便单独验证。
写代码的人,明天可以装 CodiumAI 插件跑一次「生成测试」,看看它给函数列出的行为清单,多半会撞见自己从没想过的边界情况;团队可以试试开源的 PR-Agent。做 AI 产品的人,直接去读 AlphaCodium 的 GitHub 仓库,提示词和参数全公开,照着搭自己的流。节目结尾内森还推荐了 TinyStories 那期,微软研究院的 Ronen Eldan 和 Yuanzhi Li 用三岁儿童读物水平的数据,训出了带推理能力的小模型,想理解模型怎么学会思考,值得一听。
In this episode, Nathan sits down with Itamar Friedman, CEO of Codium AI, the company on the mission to create the code integrity paradigm. They discuss harnessing LLMs for code integrity, task decomposition, workflow engineering, and much more. Try the Brave search API for free for up to 2000 queries per month at https://brave.com/api
X/SOCIAL:
@labenz (Nathan)
@itamar_mar (Itamar)
@CodiumAI (Sodium)
LINKS:
Codium: https://www.codium.ai/
Cognitive Revolution Feed: https://cognitiverevolution.ai/
SPONSORS:
Oracle Cloud Infrastructure (OCI) is a single platform for your infrastructure, database, application development, and AI needs. OCI has four to eight times the bandwidth of other clouds; offers one consistent price, and nobody does data better than Oracle. If you want to do more and spend less, take a free test drive of OCI at https://oracle.com/cognitive
Omneky is an omnichannel creative generation platform that lets you launch hundreds of thousands of ad iterations that actually work customized across all platforms, with a click of a button. Omneky combines generative AI and real-time advertising data. Mention "Cog Rev" for 10% off www.omneky.com
The Brave search API can be used to assemble a data set to train your AI models and help with retrieval augmentation at the time of inference. All while remaining affordable with developer first pricing, integrating the Brave search API into your workflow translates to more ethical data sourcing and more human representative data sets. Try the Brave search API for free for up to 2000 queries per month at https://brave.com/api
ODF is where top founders get their start. Apply to join the next cohort and go from idea to conviction-fast. ODF has helped over 1000 companies like Traba, Levels and Finch get their start. Is it your turn? Go to http://beondeck.com/revolution to learn more.
TIMESTAMPS:
(00:00:00) Episode Preview
(00:06:32) The evolution of AI in software development: beyond code generation
(00:09:51) The shift towards code integrity and its impact
(00:14:23) Unveiling Alpha Codium: A leap in AI-assisted code integrity
(00:16:53) The broader impact of AI on software development processes
(00:17:11) Sponsor break: Oraclel | Omneky
(00:18:52) The future of AI in coding: enhancements, testing, and more
(00:24:41) AI's role in enhancing code quality and developer efficiency
(00:43:38) Exploring the challenges of large codebases
(00:44:03) The impact of LLM context growth on code understanding
(00:45:19) Innovative approaches to data retention and context computation
(00:46:08) Deep dive into repo analysis and future directions
(00:42:31) Personal experiences and the quest for efficient code management
(00:48:26) Dynamic graph strategies and future features in IDEs
(00:49:10) From code testing to advanced flow engineering: a new paradigm
(00:52:37) Unveiling Alpha Codium: A leap in coding challenge solutions
(01:07:31) Reflecting on workflows
(01:23:30) Final thoughts and recommendations for AI enthusiasts
The Cognitive Revolution is produced by Turpentine: a media network covering technology, business, and culture.
Producer: Vivian Meng
Editor: Graham Bessellieu
For sponsor or guest inquiries, email: vivian@turpentine.co
本集资源与出处
- 视频在 YouTube 收看
- 音频节目 MP3 直链来自官方播客 RSS
- 订阅Apple Podcasts
- 官网节目官方页面
- 文本精读 Markdown 版便于引用与 AI 读取


