<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Peter Steinberger on KnightLi的博客</title>
        <link>https://www.knightli.com/tags/peter-steinberger/</link>
        <description>Recent content in Peter Steinberger on KnightLi的博客</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>zh-cn</language>
        <lastBuildDate>Sun, 17 May 2026 20:02:26 +0800</lastBuildDate><atom:link href="https://www.knightli.com/tags/peter-steinberger/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>OpenClaw 作者 Peter Steinberger 如何看 AI 软件开发？从 OpenClaw 到闭环编程</title>
        <link>https://www.knightli.com/2026/05/17/peter-steinberger-ai-software-development/</link>
        <pubDate>Sun, 17 May 2026 20:02:26 +0800</pubDate>
        
        <guid>https://www.knightli.com/2026/05/17/peter-steinberger-ai-software-development/</guid>
        <description>&lt;p&gt;Peter Steinberger 的经历很适合用来观察 AI 软件开发正在发生什么变化。&lt;/p&gt;
&lt;p&gt;他不是“突然被 AI 带火的新人”。在 OpenClaw 之前，他已经是 PSPDFKit 的创始人，长期做 PDF 渲染、文档处理和开发者工具。这类产品很难靠概念包装取胜，必须面对性能、兼容性、API 设计、企业客户和长期维护。&lt;/p&gt;
&lt;p&gt;所以，当 Steinberger 后来用 AI 工具做出 OpenClaw，并围绕 AI Agent、个人自动化和 AI 编程发表观点时，重点不只是“一个人写了很多代码”。更值得看的，是他把多年软件工程经验和新一代 AI coding agent 结合后，对开发流程的重新理解。&lt;/p&gt;
&lt;h2 id=&#34;ai-编程不是魔法按钮&#34;&gt;AI 编程不是魔法按钮
&lt;/h2&gt;&lt;p&gt;很多人讨论 AI 编程时，会把它简化成两个极端。&lt;/p&gt;
&lt;p&gt;一种说法是：AI 已经能写代码，程序员快没用了。&lt;/p&gt;
&lt;p&gt;另一种说法是：AI 写的代码不可靠，真正工程还是得靠人手写。&lt;/p&gt;
&lt;p&gt;Steinberger 的经验更接近第三种：AI 让软件开发的操作单位变了，但没有取消工程判断。&lt;/p&gt;
&lt;p&gt;过去，开发者主要以“编辑代码”为中心工作。需求拆解、架构判断、写实现、跑测试、修 bug，都围绕人工修改代码展开。&lt;/p&gt;
&lt;p&gt;AI coding agent 介入后，开发者越来越像在管理一个执行系统：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;说明目标。&lt;/li&gt;
&lt;li&gt;提供上下文。&lt;/li&gt;
&lt;li&gt;约束边界。&lt;/li&gt;
&lt;li&gt;让 agent 修改代码。&lt;/li&gt;
&lt;li&gt;运行测试和检查。&lt;/li&gt;
&lt;li&gt;根据结果继续迭代。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这不是简单把键盘交给模型，而是把人从“每一行都亲手敲”转到“定义方向、设计反馈、判断结果”。&lt;/p&gt;
&lt;h2 id=&#34;为什么他不喜欢把这叫-vibe-coding&#34;&gt;为什么他不喜欢把这叫 vibe coding
&lt;/h2&gt;&lt;p&gt;围绕 Steinberger 的讨论里，一个高频词是 &lt;code&gt;vibe coding&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;这个词原本用来形容一种新开发方式：开发者用自然语言描述想法，让 AI 生成大量代码，再通过运行结果和反馈不断调整。&lt;/p&gt;
&lt;p&gt;但 Steinberger 对这个词并不完全买账。公开报道中提到，他认为 &lt;code&gt;vibe coding&lt;/code&gt; 容易变成一种贬义表达，暗示 AI 辅助开发只是“凭感觉乱生成”，忽视了背后的技能、判断和经验。&lt;/p&gt;
&lt;p&gt;这个批评有道理。&lt;/p&gt;
&lt;p&gt;真正有效的 AI 编程并不是随便输入一句话，然后相信模型输出。它需要：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;能把模糊需求拆成可执行任务。&lt;/li&gt;
&lt;li&gt;能识别模型是否误解了目标。&lt;/li&gt;
&lt;li&gt;能设计测试和验收标准。&lt;/li&gt;
&lt;li&gt;能判断代码结构是否会影响长期维护。&lt;/li&gt;
&lt;li&gt;能知道什么时候应该停止生成、转向人工审查。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;换句话说，AI 降低了写代码的摩擦，但没有降低理解系统的责任。&lt;/p&gt;
&lt;h2 id=&#34;闭环才是关键&#34;&gt;闭环才是关键
&lt;/h2&gt;&lt;p&gt;Steinberger 相关访谈和文章里，经常被总结出的一个核心思路是“闭环”。&lt;/p&gt;
&lt;p&gt;只让 AI 生成代码，是开环。&lt;/p&gt;
&lt;p&gt;让 AI 生成代码、运行代码、读取错误、修复问题、再运行测试，才更接近闭环。&lt;/p&gt;
&lt;p&gt;这个差别非常重要。&lt;/p&gt;
&lt;p&gt;开环生成很容易制造表面可用的软件。页面能打开，功能看起来有，代码也不少，但一旦进入真实场景，就会暴露状态管理、权限、异常处理、边界条件和部署问题。&lt;/p&gt;
&lt;p&gt;闭环开发要求输出必须被反馈约束。最简单的闭环是：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;写清楚目标。&lt;/li&gt;
&lt;li&gt;让 AI 修改代码。&lt;/li&gt;
&lt;li&gt;自动运行测试、类型检查、lint 或构建。&lt;/li&gt;
&lt;li&gt;把错误反馈给 AI。&lt;/li&gt;
&lt;li&gt;重复直到通过。&lt;/li&gt;
&lt;li&gt;最后由人审查关键路径。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;这也是 AI 软件开发真正能提高效率的地方。不是因为模型一次就写对，而是因为它可以快速参与“生成、验证、修复”的循环。&lt;/p&gt;
&lt;h2 id=&#34;经验越多越能用好-ai&#34;&gt;经验越多，越能用好 AI
&lt;/h2&gt;&lt;p&gt;AI 编程最容易产生的误解之一，是“经验不重要了”。&lt;/p&gt;
&lt;p&gt;Steinberger 的案例反而说明，经验会变得更重要，只是作用方式变了。&lt;/p&gt;
&lt;p&gt;一个有经验的工程师更容易判断：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;哪些任务适合交给 agent。&lt;/li&gt;
&lt;li&gt;哪些模块需要先写测试。&lt;/li&gt;
&lt;li&gt;哪些改动风险太高，不该让 AI 大范围重构。&lt;/li&gt;
&lt;li&gt;哪些生成代码只是看起来合理。&lt;/li&gt;
&lt;li&gt;哪些问题应该通过架构调整解决，而不是继续补丁式修复。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;AI 可以生成大量候选方案，但候选方案越多，越需要判断力。没有经验的人可能会被“能跑起来”迷惑，有经验的人更会追问：能不能维护？能不能扩展？会不会破坏安全边界？出了问题能不能定位？&lt;/p&gt;
&lt;p&gt;这也是为什么 AI coding agent 并没有让软件工程变成纯聊天。它更像把一部分执行劳动外包出去，同时放大了规划、审查、验证和取舍的重要性。&lt;/p&gt;
&lt;h2 id=&#34;openclaw-的意义不只是项目本身&#34;&gt;OpenClaw 的意义不只是项目本身
&lt;/h2&gt;&lt;p&gt;OpenClaw 被关注，不只是因为它是一个开源 AI agent，也不只是因为它的增长速度快。&lt;/p&gt;
&lt;p&gt;它更像一个信号：开发者开始希望 AI 不只回答问题，而是能接入真实工具，完成真实动作。&lt;/p&gt;
&lt;p&gt;传统聊天机器人停留在对话框里。它可以解释代码、写草稿、给建议，但很多时候还需要人复制、粘贴、打开软件、执行命令。&lt;/p&gt;
&lt;p&gt;Agent 的方向是把模型接到工具上：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;文件系统。&lt;/li&gt;
&lt;li&gt;浏览器。&lt;/li&gt;
&lt;li&gt;终端。&lt;/li&gt;
&lt;li&gt;邮件。&lt;/li&gt;
&lt;li&gt;日历。&lt;/li&gt;
&lt;li&gt;第三方服务。&lt;/li&gt;
&lt;li&gt;项目仓库。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;一旦模型能使用这些工具，软件开发的边界就会变化。AI 不再只是“代码补全”，而会参与项目阅读、任务拆解、文件修改、测试执行、PR 整理和工作流自动化。&lt;/p&gt;
&lt;p&gt;这也是 Steinberger 加入 OpenAI 后被关注的原因。他代表的不是单个开发者故事，而是一种产品方向：个人 agent 会从演示玩具走向日常工作层。&lt;/p&gt;
&lt;h2 id=&#34;这对普通开发者意味着什么&#34;&gt;这对普通开发者意味着什么
&lt;/h2&gt;&lt;p&gt;对普通开发者来说，Steinberger 的经验不一定能直接复制。&lt;/p&gt;
&lt;p&gt;不是每个人都能同时管理多个 agent，不是每个项目都适合高强度 AI 生成，也不是每个团队都能接受“先生成再快速迭代”的节奏。&lt;/p&gt;
&lt;p&gt;但有几件事值得学。&lt;/p&gt;
&lt;p&gt;第一，先把任务写清楚。&lt;/p&gt;
&lt;p&gt;AI 对含糊目标很敏感。你说“优化一下”，它可能改风格、改结构、加功能、删逻辑。你说“把登录失败时的错误提示从英文改成中文，不改变认证流程”，结果通常更可控。&lt;/p&gt;
&lt;p&gt;第二，把验证命令固定下来。&lt;/p&gt;
&lt;p&gt;如果一个项目没有测试、没有构建命令、没有 lint，AI 就很难形成闭环。哪怕只是最基础的 &lt;code&gt;npm test&lt;/code&gt;、&lt;code&gt;go test ./...&lt;/code&gt;、&lt;code&gt;pytest&lt;/code&gt;、&lt;code&gt;hugo&lt;/code&gt;，也比完全靠肉眼检查强。&lt;/p&gt;
&lt;p&gt;第三，控制改动范围。&lt;/p&gt;
&lt;p&gt;一次只让 AI 处理一个模块、一个 bug、一个页面，通常比让它“重构整个项目”更可靠。&lt;/p&gt;
&lt;p&gt;第四，保留人工审查。&lt;/p&gt;
&lt;p&gt;尤其是认证、支付、权限、数据删除、部署脚本、数据库迁移、安全配置这些地方，不要因为代码是 AI 生成的就降低审查标准。&lt;/p&gt;
&lt;p&gt;第五，复盘 prompt 和失败模式。&lt;/p&gt;
&lt;p&gt;如果 AI 经常误解某类任务，就把约束写进项目规则、agent instructions 或技能文件。AI 编程能力不是只来自模型，也来自你给它搭建的工作环境。&lt;/p&gt;
&lt;h2 id=&#34;ai-软件开发会走向哪里&#34;&gt;AI 软件开发会走向哪里
&lt;/h2&gt;&lt;p&gt;Steinberger 的故事说明，AI 软件开发正在从“辅助写代码”走向“组织软件生产流程”。&lt;/p&gt;
&lt;p&gt;早期 AI 编程工具的价值主要是补全函数、解释报错、生成模板。现在的变化是，agent 可以跨文件工作，可以调用工具，可以运行检查，可以根据反馈继续修复。&lt;/p&gt;
&lt;p&gt;这会带来几个趋势：&lt;/p&gt;
&lt;p&gt;第一，个人开发者的产能上限会提高。&lt;/p&gt;
&lt;p&gt;一个人可以同时推进更多原型、脚本、内部工具和小型产品。但产能提高不等于质量自动提高。越快生成，越需要验证。&lt;/p&gt;
&lt;p&gt;第二，项目结构会更重要。&lt;/p&gt;
&lt;p&gt;代码越清晰，测试越明确，文档越完整，AI 越容易正确修改。混乱项目对人难，对 AI 也难。&lt;/p&gt;
&lt;p&gt;第三，软件工程师会更像工作流设计者。&lt;/p&gt;
&lt;p&gt;未来重要的不只是会不会写某门语言，而是能否把需求、上下文、工具、测试、部署和权限组织成一个可控循环。&lt;/p&gt;
&lt;p&gt;第四，安全边界会更敏感。&lt;/p&gt;
&lt;p&gt;Agent 能做事，就可能做错事。它能读文件、执行命令、访问服务，也意味着权限、审计和回滚会成为 AI 开发环境的基础设施。&lt;/p&gt;
&lt;h2 id=&#34;小结&#34;&gt;小结
&lt;/h2&gt;&lt;p&gt;Peter Steinberger 的 AI 软件开发观，最有价值的地方不是“AI 生成了多少代码”，而是他展示了一种新的开发姿势。&lt;/p&gt;
&lt;p&gt;人不再只是在编辑器里逐行输入，而是在设计目标、管理 agent、构造反馈回路、审查结果和调整系统。代码仍然重要，但代码不再是唯一的劳动中心。&lt;/p&gt;
&lt;p&gt;如果说传统软件开发强调“把代码写对”，AI 软件开发会更强调“让系统持续产出可验证的正确结果”。&lt;/p&gt;
&lt;p&gt;这不是降低工程门槛那么简单。它是在改变工程能力的形态：从手工实现，转向任务分解、上下文管理、工具编排、自动验证和最终判断。&lt;/p&gt;
&lt;h2 id=&#34;参考资料&#34;&gt;参考资料
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://techcrunch.com/2026/02/25/openclaw-creators-advice-to-ai-builders-is-to-be-more-playful-and-allow-yourself-time-to-improve/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;TechCrunch：OpenClaw creator’s advice to AI builders&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://builtin.com/articles/openclaw-founder-to-openai-analysis&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Built In：What Is OpenAI Getting From the OpenClaw Deal?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://podwise.ai/dashboard/episodes/7026858&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;The Pragmatic Engineer：The creator of Clawd: I ship code I don&amp;rsquo;t read&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.teamday.ai/ai/steinberger-openclaw-builders-unscripted-openai&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;TeamDay：Peter Steinberger: Building OpenClaw as a Solo Dev&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        
    </channel>
</rss>
