AI 编程的本质,就是机器学习
Keras 的作者 François Chollet 最近写一段话,大意是:足够先进的 AI 编程,本质上就是机器学习。
而差不多这句话的原话,我上周刚和团队一位小伙伴说到过……
我和他聊到 Codex 的 /goal 的功能,以及用 Claude Code 的使用姿势:我会写好需求描述,定义好验收标准及测试用例,提供好环境,然后让 agent 自己跑。它会先改代码、再跑测试、再看结果来评估、再改,如此循环往复,直到全部完成。
(这个用法,我在去年 Ralph Loop 爆火之前就分享过:
被喷了……我索性扔出价值过万的 AI 编程 prompt)
最近有一次,我第二天醒来还没结束,最好一共跑了有 10+ 小时。而跑完后我看了一眼,再翻了翻表结构、页面样式和交互基本没问题了,就合了。
那些代码我逐行读了吗?以前会,现在越来越少了。
当然,我在前续的准备工作会做的更重了。
而回顾整个过程,它是这样的:我设定了一个优化目标(需求),划定了搜索空间的约束(测试),然后一个优化过程自动迭代,直到目标收敛。最后我得到一个黑箱,我可以不看它的内部逻辑,只看它的行为是否符合预期。
有没有发现:这……不就是训练一个模型吗?
需求文档就是 loss function,测试用例就是验证集,coding agent 就是模型架构,Agent 的每一轮迭代就是一个 training step。而产出的代码库,就是训练好的模型权重,我会部署它,但当然不会去看每一个参数的值。
这么来看,这两件事就不是“像”了,而是就“是”同一件事。
而一旦接受了这个等号,你的工作方式和心态可能就彻底不一样了。
你花时间的地方不再是写代码本身,而是:我的优化目标定对了吗?我的验证标准够不够严?我的约束条件会不会让 agent 找到某个投机取巧的捷径,测试全过但逻辑其实是歪的?
而这些问题,机器学习领域已经研究了几十年了。过拟合、数据泄露、概念漂移,都会有同样的坑。
Chollet 最后还问了一个问题:AI 编程的 Keras 会是什么?什么样的高层抽象,能让人用最少的认知成本,去驾驭这个“训练”过程?
很好的问题。
现在的 coding agent 已经能设定目标、自动循环、跨轮次保持上下文、不达成就不停。我们要做的,将只剩下一件事:
想清楚自己到底要什么、验收标准是什么。
而写代码这件事,也正在从“手工编写逻辑”变成“训练一个会执行逻辑的系统”。而你,正在从一个程序员,变成一个 ML 工程师。
🔗https://x.com/fchollet/status/2024519439140737442