<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Search on Armstrong Yan</title><link>https://yanqian.github.io/zh/tags/search/</link><description>Recent content in Search on Armstrong Yan</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Sat, 18 Jul 2026 23:37:09 +0800</lastBuildDate><atom:link href="https://yanqian.github.io/zh/tags/search/index.xml" rel="self" type="application/rss+xml"/><item><title>AI 原生软件工程（三）：软件即搜索</title><link>https://yanqian.github.io/zh/posts/publish/software-is-becoming-search-why-engineers-are-turning-into-constraint-designers/</link><pubDate>Sat, 18 Jul 2026 23:37:09 +0800</pubDate><guid>https://yanqian.github.io/zh/posts/publish/software-is-becoming-search-why-engineers-are-turning-into-constraint-designers/</guid><description>&lt;p&gt;当实现变得唾手可得，工程就不再那么像建造，而更像导航。&lt;/p&gt;
&lt;p&gt;这是“AI 原生软件工程”系列的第三篇。&lt;/p&gt;
&lt;p&gt;本文承接上一篇：&lt;a href="https://yanqian.github.io/zh/posts/publish/harness-engineering-is-about-limiting-ai-not-empowering-it/" &gt;AI 原生软件工程（二）：验证框架工程与正确性&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;第一篇追问：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;当实现工作交给 AI 后，理解从何而来？
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;第二篇追问：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;当生成的成本变得低廉，如何保证正确性？
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;这一篇要问：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;如果实现越来越便宜，
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;工程师究竟在做什么？
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;在这里，约束的含义发生了变化。&lt;/p&gt;
&lt;p&gt;第二篇谈约束，是为了保证正确性。&lt;/p&gt;
&lt;p&gt;这一篇谈约束，是为了界定搜索范围：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;如何划定可接受实现的范围？
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&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;最后测试结果。&lt;/p&gt;
&lt;p&gt;瓶颈显而易见：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;写代码。
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;我们对工程能力的理解，也一直建立在这个前提之上。&lt;/p&gt;
&lt;p&gt;人们眼中的优秀工程师，往往能够：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;更快写出实现&lt;/li&gt;
&lt;li&gt;更快完成调试&lt;/li&gt;
&lt;li&gt;熟记更多 API&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;不是因为它会取代工程师。&lt;/p&gt;
&lt;p&gt;而是因为它让实现成本骤降。&lt;/p&gt;
&lt;p&gt;一旦实现变得便宜，软件开发的方式也会随之改变。&lt;/p&gt;
&lt;p&gt;它开始变得像一场搜索。&lt;/p&gt;
&lt;h2 id="传统工程在实现稀缺时做建造"&gt;
 传统工程：在实现稀缺时做建造
 &lt;a class="heading-link" href="#%e4%bc%a0%e7%bb%9f%e5%b7%a5%e7%a8%8b%e5%9c%a8%e5%ae%9e%e7%8e%b0%e7%a8%80%e7%bc%ba%e6%97%b6%e5%81%9a%e5%bb%ba%e9%80%a0"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="链接到标题"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;链接到标题&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;传统的软件开发大致遵循这条路径：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;想法
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-&amp;gt; 架构
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-&amp;gt; 实现
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-&amp;gt; 验证
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&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;工程就是建造。&lt;/p&gt;
&lt;h2 id="ai-让建造变成探索"&gt;
 AI 让建造变成探索
 &lt;a class="heading-link" href="#ai-%e8%ae%a9%e5%bb%ba%e9%80%a0%e5%8f%98%e6%88%90%e6%8e%a2%e7%b4%a2"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="链接到标题"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;链接到标题&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;有了现代编程智能体，实现不再稀缺。&lt;/p&gt;
&lt;p&gt;短短几分钟，你就可以得到：&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;多套 API 设计&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;于是，工作流程变成了：&lt;/p&gt;</description></item></channel></rss>