<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>AI Development on Miao Kong</title><link>https://miaok.ong/tags/ai-development/</link><description>Recent content in AI Development on Miao Kong</description><generator>Hugo</generator><language>zh</language><lastBuildDate>Sat, 20 Jun 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://miaok.ong/tags/ai-development/index.xml" rel="self" type="application/rss+xml"/><item><title>Vibe Coding 的下一个范式：从「需求优先」到「契约优先」</title><link>https://miaok.ong/posts/contract-first-vibe-coding-paradigm/</link><pubDate>Sat, 20 Jun 2026 00:00:00 +0000</pubDate><guid>https://miaok.ong/posts/contract-first-vibe-coding-paradigm/</guid><description>&lt;h3&gt;500 行的诅咒&lt;/h3&gt;&lt;p&gt;
&lt;/p&gt;&lt;p&gt;不知道你是否有过这种体验：打开 Cursor 或者 Claude Code，三句话描述需求，AI 刷刷刷生成了几百行代码。功能跑起来了，你很满意。继续加功能，再让 AI 改，再改……&lt;/p&gt;&lt;p&gt;
&lt;/p&gt;&lt;p&gt;到第五轮对话的时候，你发现不对了。AI 开始「忘记」之前约定好的接口格式。一个参数名莫名其妙地变了。一个原本正常的函数被重构出了三个彼此冲突的版本。你开始花越来越多的时间&lt;strong&gt;读代码&lt;/strong&gt;——不是 review，是在找 bug。更糟糕的是，这些 bug 并非逻辑错误，而是 &lt;strong&gt;AI 在不同对话轮次之间产生了不一致&lt;/strong&gt;。&lt;/p&gt;&lt;p&gt;
&lt;/p&gt;&lt;p&gt;这就是「500 行的诅咒」：vibe coding 的魅力在项目复杂度的&lt;strong&gt;线性增长&lt;/strong&gt;面前，呈现&lt;strong&gt;断崖式衰减&lt;/strong&gt;。&lt;/p&gt;&lt;p&gt;
&lt;/p&gt;&lt;h3&gt;安全工程师的顿悟&lt;/h3&gt;&lt;p&gt;
&lt;/p&gt;&lt;p&gt;@Pluvio9yte 最近的一篇深度总结把这个洞察讲透了。他原是一名安全工程师，后来 all-in 全栈开发——每天大量使用 AI 编程工具。&lt;/p&gt;&lt;p&gt;
&lt;/p&gt;&lt;p&gt;他的核心洞察很反直觉：&lt;strong&gt;Vibe Coding 的最佳实践，既不是「需求优先」，也不是「代码优先」，而是「契约优先」。&lt;/strong&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;他基于 OpenSpec 搭了一套方法论：&lt;/p&gt;&lt;p&gt;
&lt;/p&gt;&lt;blockquote&gt;1. &lt;strong&gt;先定接口契约&lt;/strong&gt;——输入、输出、副作用、不变量，必须写在代码之前&lt;br&gt;2. &lt;strong&gt;契约成为人和 AI 共同的 single source of truth&lt;/strong&gt;——所有对话上下文都以契约为锚&lt;br&gt;3. &lt;strong&gt;spec 漂移在开发阶段就被捕获&lt;/strong&gt;——而不是等到上线靠用户帮你发现&lt;/blockquote&gt;&lt;p&gt;
&lt;/p&gt;&lt;p&gt;这套思路最大的价值在于：它把「容易漂移的上下文」外化成了一个稳定的参照物。人对它有充分理解，AI 对它也有明确的约束。&lt;/p&gt;&lt;p&gt;
&lt;/p&gt;&lt;h3&gt;工具侧正在发生的事&lt;/h3&gt;&lt;p&gt;
&lt;/p&gt;&lt;p&gt;如果你关注各大 AI 编码平台最近一个月的更新，会发现一个共同趋势。&lt;/p&gt;&lt;p&gt;
&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Claude Code Artifacts：解决协作黑洞。&lt;/strong&gt;过去 AI 编程成果「只有操作者自己能看到」。Claude Code 刚推了 Artifacts 功能——把 AI 编程过程中的产出（调试数据、架构图、PR 走查结果）生成可实时分享的交互式网页。但关键在于：这功能起作用的前提是，有结构化的东西可以分享。如果你的 AI 代码本身就是一团 hash，Artifacts 也救不了你。&lt;/p&gt;</description></item></channel></rss>