分享
0130-Peter Steinberger 访谈:AI 编程革命
输入“/”快速插入内容
0130-Peter Steinberger 访谈:AI 编程革命
用户9970
用户9970
用户3733
用户3733
1月30日修改
今天看到
Peter Steinberger 去了 The Pragmatic Engineer 的播客。
Peter Steinberger 创建了 PSPDF kit——一个被超过 10 亿设备使用的 PDF 框架,后来经历严重职业倦怠卖掉股份消失了 3 年。2024 年回归后,他用完全不同的方式创建了 Clawdbot,一周从 100 星涨到 3300 星。
这期播客
总共录了 xx 时间,xx谈到了xx个有趣的观点:
几个核心观点
Peter Steinberger 说他现在"一天能有 600 次提交,而且都不是垃圾代码"。更反直觉的是——他说自己不再阅读大部分代码,但写出的代码比以前更好了。
总结一下做个笔记👇
1.
关闭循环原则:AI 必须能自己调试和测试,这是区分有效 AI 编码和 vibe coding 的关键
2.
PR 已死:Code reviews 没意义了,他对 prompts 的兴趣比代码更大,PR 应该叫"Prompt Requests"
3.
Codex 优势:比 Claude Code 慢 10 倍,但几乎每个 prompt 都能给出正确结果
4.
CLI 比 MCP 好:MCP 是"拐杖",CLI 可以用 jq 过滤、可以脚本化、可以链式调用
5.
并行工作流:同时运行 5-10 个 AI 代理,像玩星际争霸管理多个基地
6.
心智负担更大:不写代码了但脑力消耗更大,要同时管理多条并行工作线
7.
系统理解 > 语言能力:感受模型运行时间、知道何时出问题,比会某种语言更重要
8.
公司可能精简 30%:需要能做所有事的高能动性、高能力的人,远少于以前
9.
AI 自我更新:他的 bot 可以自己 fetch 和更新自己,用户说"update yourself"就行
10.
技术消失:最终体验是技术消失,你只是在和手机上的朋友对话
11.
新人建议:保持无限好奇,像学乐器一样需要不断尝试和练习
---
精华片段
01 一天 600 次提交
主持人:你说你一天能有 600 次提交,而且不是垃圾代码?
Peter:是的,这听起来完全疯狂,但它是有效的。有人做了代码审查说"这实际上不是 slop"。
我现在写的代码比以前更好,尽管我自己不再写代码了。以前在公司,我会对每一个细节、每一个空格、每一个命名花大量时间。回头看,这有点傻——客户根本看不到代码内部。
当然代码要达到一定标准、要能用、要快、要安全,但那些 bikeshedding 真的很蠢。
#02 关闭循环原则
主持人:你一直提到"关闭循环",这是什么意思?
Peter:这是让 AI 编码有效的最大秘密——AI 需要能自己验证工作。
AI 之所以擅长编码但在写作上表现一般,是因为代码可以验证。你可以编译、lint、执行、检查输出。如果你正确设计系统,你就有了完美的循环。
比如我做网站,我把核心设计成可以通过 CLI 运行,这样就有了完美的执行循环。浏览器循环太慢了,你需要快速循环的东西。
我调试 Mac 应用时,让 AI 说"你建一个纯 CLI 用于调试,调用所有相同的代码路径,你可以自己调用然后迭代修复"。然后它就自己 cook 了一个小时,告诉我"这里有个竞态条件,这里有个配置错误"。
我不需要看那些代码。但因为它运行了测试,所以我信任它。
#03 Code Reviews 已死
主持人:那代码审查呢?CI/CD 呢?
Peter:我不太在乎 CI 了。我有本地 CI。我现在有点"DAH"(Don't Ask, Don't Tell)了。
代理运行测试,就快得多。我不想 push 到分支然后等 10 分钟 CI。因为你已经在代理那里等了 10 分钟了。如果测试本地通过,我们就合并。
有时候 main 会稍微滑一点,但通常很接近。代理管这个叫"gate"——我不知道这词哪来的。它会问"要运行 full gate 吗?"Full gate 就是 linting、building、checking、运行所有测试。
我更感兴趣的是 prompts 而不是代码。我让人们请加上 prompts。我读 prompts 比读代码更多,因为这给我更高的信号——你是怎么得到这个解决方案的?问了什么?有多少引导?
如果有人想要一个功能,我让他们写一个 prompt request。把它写好,因为然后我可以把代理指向这个 issue,它就会构建出来。
#04 Claude Code vs Codex
主持人:你现在用什么工具?怎么选择的?
Peter:Claude Code 是一个开创品类的产品,对通用计算机工作非常棒,对编码也很好。但对于在复杂应用中写代码,Codex 要好太多了。
因为它慢 10 倍。Claude 会读三个文件然后就自信地开始创建代码,你必须引导它、push 它去读更多代码,让它看到你代码库的更大图景。
而 Codex 会静静地读文件 10 分钟。如果你只在一个终端工作,我完全理解为什么你会觉得这无法忍受。但我宁愿要一个我不用告诉它做什么的东西。
我和模型对话。"看看这个,我们有什么选项?""你考虑过这个功能吗?"它会探索不同方向,直到我说"build this"它才会构建。
有一些触发词因为它们确实有点 trigger happy,但只要我说"let's discuss"或"give me options",它们就不会构建任何东西。
#05 MCP 是拐杖
主持人:你怎么看 MCP?
Peter:作为拐杖还行。MCP 带来的最好的事情是让公司重新思考开放更多 API。
但整个概念有点傻。你必须预先导出所有函数、所有工具、所有解释,当你的 session 加载时。然后模型必须发送精确的 JSON blob,然后得到 JSON 回来。
但模型真的很擅长用 bash。