<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>约束满足 on Tony Bai</title><link>https://tonybai.com/tags/%E7%BA%A6%E6%9D%9F%E6%BB%A1%E8%B6%B3/</link><description>Recent content in 约束满足 on Tony Bai</description><generator>Hugo</generator><language>zh-cn</language><copyright>2004-2026 Tony Bai. 版权所有.</copyright><lastBuildDate>Fri, 03 Jul 2026 06:00:00 +0800</lastBuildDate><atom:link href="https://tonybai.com/tags/%E7%BA%A6%E6%9D%9F%E6%BB%A1%E8%B6%B3/index.xml" rel="self" type="application/rss+xml"/><item><title>每个 AI 工程师都应该知道的 20 个循环设计模式</title><link>https://tonybai.com/2026/07/03/20-loop-design-patterns-every-ai-engineer-should-know/</link><pubDate>Fri, 03 Jul 2026 06:00:00 +0800</pubDate><guid>https://tonybai.com/2026/07/03/20-loop-design-patterns-every-ai-engineer-should-know/</guid><description>在 AI 辅助开发的工程实践中，仅凭调整提示词（Prompt）构建的 Agent 系统往往极其脆弱，难以胜任复杂和长时间运行的任务。本文基于技术专家 Rahul 对工业级 AI 生产系统核心规律的总结，详细介绍了 20 个被广泛使用的“循环设计模式（Loop Design Patterns）”。文章指出，真正的竞争力已经从单次模型调用（Single Model Call）转向了循环工程（Loop Engineering），即通过构建“生成 → 评估 → 学习 → 改进”的自动化闭环，让系统具备自我进化的能力。这 20 个模式涵盖了从基础的质量提升、历史记忆更新、动态规划，到多路径探索以及最高阶的系统工作流自我重构。掌握这些循环设计，是实现 Agent 从脆弱 Demo 走向百万年薪级工业落地架构的关键。</description><content:encoded><![CDATA[<p><img alt="题图" loading="lazy" src="/images/wp-content/uploads/2026/20-loop-design-patterns-every-ai-engineer-should-know-1.png"></p>
<p><a href="https://tonybai.com/2026/07/03/20-loop-design-patterns-every-ai-engineer-should-know">本文永久链接</a> – <a href="https://tonybai.com/2026/07/03/20-loop-design-patterns-every-ai-engineer-should-know">https://tonybai.com/2026/07/03/20-loop-design-patterns-every-ai-engineer-should-know</a></p>
<p>大家好，我是Tony Bai。</p>
<p>在前一篇中，我们分享了 OpenAI 联合创始人、现Anthropic独立研究员 Andrej Karpathy 的一线手记《<a href="https://tonybai.com/2026/07/02/loops-md-notes-on-agents-that-run-for-days">LOOPS.md</a>》。他一针见血地指出：“Prompt 是你写完一次就忘的东西，而 Loop（循环）才是你睡觉时仍在为你工作的系统。” 提示词的杠杆效应已经见顶，现在的竞争维度，是“循环工程（Loop Engineering）”。</p>
<p>但是，具体到工程实践中，我们该如何设计这些循环？</p>
<p>AI 圈知名技术专家 Rahul (@sairahul1) 梳理总结了当前工业级 AI 生产系统中最核心的 <a href="https://x.com/sairahul1/status/2072258045460226373">20 个“循环设计模式”（Loop Design Patterns）</a>。</p>
<p>正如传统的软件工程有《设计模式》（Design Patterns）作为圣经，<a href="https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzIyNzM0MDk0Mg==&amp;action=getalbum&amp;album_id=4405916224124043265#wechat_redirect">AI 时代的软件工程</a>也正在迎来它自己的范式。正如Rahui所说“Agent 只是干活的工人，而 Loop 才是让工人不断自我进化的机制”。普通工程师和年薪百万的资深 AI 架构师之间，差的正是这套循环设计的功力。</p>
<p>从代码纠错、多角色博弈、动态规划，到让系统自我重构的终极优化循环。这 20 个模式，将彻底帮你告别单次调用的“拼运气”时代，跨入工业级 Agent 系统的大门。</p>
<p>以下为译文全文：</p>
<p><img loading="lazy" src="/images/wp-content/uploads/2026/building-industrial-grade-agent-skills-qr.png"></p>
<hr>
<p>大多数 AI 工程师只知道如何构建一个 Agent（智能体）。</p>
<p>但极少数人知道如何构建一个<strong>在第一次尝试失败后，能够自主变得更好</strong>的系统。</p>
<p>而这，正是年薪百万与普通工程师之间的鸿沟。</p>
<p>两者的本质区别在于：</p>
<ul>
<li><strong>Agent（智能体）</strong> 只是一个干活的工人。</li>
<li><strong>Loop（循环）</strong> 才是让这个工人不断改进的机制。</li>
</ul>
<p>今天，在生产环境（Production）中运行的最强大的 AI 系统，绝不是靠单次模型调用（Single Model Call）支撑起来的。</p>
<p>它们全部都是“循环（Loops）”。</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>生成（Generate） -&gt;  评估（Evaluate） -&gt; 学习（Learn） -&gt; 改进（Improve）
</span></span></code></pre></div><p>周而复始。</p>
<p>直到输出结果真正达到优秀标准。</p>
<p>以下是频繁出现在工业级 AI 系统中的 <strong>20 个循环设计模式</strong>。</p>
<p>建议收藏，你迟早会用到它们。</p>
<h2 id="agent-vs-循环">Agent vs 循环</h2>
<ul>
<li>老方法（单次调用）：输入 Prompt -&gt; 获得 Response -&gt; 结束。</li>
<li>新方法（循环模式）：生成 -&gt; 批判 -&gt; 重写 -&gt; 打分 -&gt; 重试 -&gt; 记忆 -&gt; 改进。</li>
</ul>
<p>前者就像一个工厂临时工，干完一次就走人。</p>
<p>后者则像一个卓越的正式工：研究每一次失误，重新改写操作手册，<strong>让自己的工作在每一个班次都提升 3%</strong>。</p>
<p>目前正在交付生产级 AI 的顶尖团队，早就不再死磕怎么写出更好的提示词（Prompt）了。</p>
<p>他们正在构建更好的循环（Loops）。</p>
<p><img loading="lazy" src="/images/wp-content/uploads/2026/20-loop-design-patterns-every-ai-engineer-should-know-2.png"></p>
<h2 id="第一类质量提升循环-quality-improvement-loops">第一类：质量提升循环 (Quality Improvement Loops)</h2>
<p><em>（核心目的：在输出结果离开系统前，使其质量达到极限）</em></p>
<h3 id="1-生成---批判---重写-generate---critique---rewrite">1. 生成 -&gt; 批判 -&gt; 重写 (Generate -&gt; Critique -&gt; Rewrite)</h3>
<p>这是 AI 工程中最核心、最重要的循环。</p>
<p>生成输出 -&gt; 批判者（Critic）进行审查 -&gt; 生成者（Generator）根据反馈重写。不断重复，直到达到质量阈值。</p>
<p>这不是用一个模型搞定一切，而是<strong>两个角色，一条流水线</strong>。</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-plaintext" data-lang="plaintext"><span style="display:flex;"><span>[生成者 Generator] → 产出初稿
</span></span><span style="display:flex;"><span>[批判者 Critic]    → &#34;第 3 段很模糊。缺乏论据支撑。语气不够专业。&#34;
</span></span><span style="display:flex;"><span>[生成者 Generator] → 根据批判意见进行重写
</span></span><span style="display:flex;"><span>[批判者 Critic]    → &#34;有进步，但结论部分仍然偏弱。&#34;
</span></span><span style="display:flex;"><span>[生成者 Generator] → 完成最终重写
</span></span></code></pre></div><ul>
<li><strong>适用场景</strong>：文案写作、代码审查、报告撰写、战略规划书、销售开发信。</li>
<li><strong>核心洞察</strong>：负责生成的模型，往往不是评估自身输出的最佳裁判。让一个独立的“批判者”角色去挑刺，总能找出生成者忽略的盲点。</li>
</ul>
<p><img loading="lazy" src="/images/wp-content/uploads/2026/20-loop-design-patterns-every-ai-engineer-should-know-3.png"></p>
<h3 id="2-打分-重试循环-score-and-retry-loop">2. “打分-重试”循环 (Score-and-Retry Loop)</h3>
<p>生成 -&gt; 打分。如果低于阈值，则重试。</p>
<p>极度简单，极度强大，却在实践中被严重低估。</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>score <span style="color:#f92672">=</span> evaluate(output)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">while</span> score <span style="color:#f92672">&lt;</span> threshold:
</span></span><span style="display:flex;"><span>    output <span style="color:#f92672">=</span> generate(prompt)
</span></span><span style="display:flex;"><span>    score <span style="color:#f92672">=</span> evaluate(output)
</span></span><span style="display:flex;"><span>    attempts <span style="color:#f92672">+=</span> <span style="color:#ae81ff">1</span>
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">if</span> attempts <span style="color:#f92672">&gt;</span> max_retries:
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">return</span> best_so_far <span style="color:#75715e"># 达到最大重试次数，返回目前最好的结果</span>
</span></span></code></pre></div><ul>
<li><strong>适用场景</strong>：当质量可以被客观量化时（如数据提取准确率、格式合规性、事实正确性、线索评分）。</li>
<li><strong>核心设计</strong>：生成者并不知道自己正在被考核，只有评估者（Evaluator）掌握打分标准。这种角色上的隔离，正是该模式的精髓。</li>
</ul>
<h3 id="3-多重批判者循环-multi-critic-loop">3. 多重批判者循环 (Multi-Critic Loop)</h3>
<p>单个批判者难免会有盲点。</p>
<p>那就引入四个。</p>
<ul>
<li>正确性批判者：信息是否事实准确？</li>
<li>风格批判者：表达是否清晰、文笔是否流畅？</li>
<li>安全批判者：内容是否合规、是否安全？</li>
<li>领域批判者：是否达到了行业专家的标准？</li>
</ul>
<p>每个批判者独立进行评估。</p>
<p>最终的输出必须<strong>同时通过这四个维度的审核</strong>，才能获准出库。</p>
<ul>
<li><strong>适用场景</strong>：医疗 AI、法律文件审查、财务分析、受监管的内容生成。</li>
</ul>
<p><img loading="lazy" src="/images/wp-content/uploads/2026/20-loop-design-patterns-every-ai-engineer-should-know-4.png"></p>
<h3 id="4-对抗式批判循环-adversarial-critique-loop">4. 对抗式批判循环 (Adversarial Critique Loop)</h3>
<p>在这个模式中，批判者的唯一任务就是摧毁（Break）生成者的答案。</p>
<p>不帮忙优化，只负责挑刺和否定。</p>
<p>对抗式批判者会提出以下灵魂拷问：</p>
<ul>
<li>“这里有哪些假设是不成立的？”</li>
<li>“缺失了哪些关键证据？”</li>
<li>“如果是一个怀疑论者会怎么反驳？”</li>
<li>“这里看似自信的结论，哪些其实是错的？”</li>
</ul>
<p>生成者随后必须进行自我辩护或重写。</p>
<p>只有经受住这一轮轮猛烈攻击后存活下来的答案，才是最好的答案。</p>
<ul>
<li><strong>适用场景</strong>：前沿研究综述、投资逻辑审查、战略规划、风险评估。</li>
</ul>
<h3 id="5-评审团共识循环-judge-ensemble-loop">5. 评审团共识循环 (Judge Ensemble Loop)</h3>
<p>单个裁判的打分往往伴随着噪声（Noise）。</p>
<p>让五个裁判联合打分，就能抹平这种噪音。</p>
<p>将同一个输出结果送入多个独立的评估器（Evaluators）中，汇总并计算平均分。只有在获得高度共识（High Consensus）的情况下，系统才会继续推进。</p>
<ul>
<li><strong>适用场景</strong>：单模型评估结果不稳定、任务容错率极低、边界极端情况（Edge Cases）至关重要的场景。</li>
</ul>
<p><img loading="lazy" src="/images/wp-content/uploads/2026/20-loop-design-patterns-every-ai-engineer-should-know-5.png"></p>
<h2 id="第二类记忆循环-memory-loops">第二类：记忆循环 (Memory Loops)</h2>
<p><em>（核心目的：从历史经验中学习，让下一次运行变得更聪明）</em></p>
<h3 id="6-反思循环-reflexion-loop">6. 反思循环 (Reflexion Loop)</h3>
<p>这是目前存在的最重要的自我进化（Self-Improvement）设计模式。</p>
<p>Agent 执行失败 -&gt; 分析失败原因 -&gt; 将教训存入记忆库 -&gt; 带着这段教训（写入 Context）重新尝试。</p>
<p>每一次迭代，都比上一次更聪明。</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-plaintext" data-lang="plaintext"><span style="display:flex;"><span>尝试 1: 失败了
</span></span><span style="display:flex;"><span>反思: &#34;我假设了 X 成立，但实际上 X 是错的。下次一定要先验证 X。&#34;
</span></span><span style="display:flex;"><span>尝试 2: 注入教训 → 获得部分成功
</span></span><span style="display:flex;"><span>反思: &#34;变好了。但我漏掉了步骤 Y。需要增加对 Y 的检查。&#34;
</span></span><span style="display:flex;"><span>尝试 3: 成功
</span></span></code></pre></div><p>这就是“会失败一次的系统”与“只会在同一个地方摔倒一次的系统”之间的本质区别。</p>
<p><img loading="lazy" src="/images/wp-content/uploads/2026/20-loop-design-patterns-every-ai-engineer-should-know-6.png"></p>
<h3 id="7-记忆更新循环-memory-update-loop">7. 记忆更新循环 (Memory Update Loop)</h3>
<p>在每次任务结束后，雷打不动地记录并固化三件事：</p>
<ul>
<li>做出了什么决策？</li>
<li>最终带来了什么结果？</li>
<li>如果重来一次，会有什么不同的做法？</li>
</ul>
<p>未来的每一次运行，都会自动继承这些知识库。</p>
<p>系统运行到第 6 个月时的表现，和第 1 个月时相比会有天壤之别，因为它已经阅读了自己长达 6 个月的成长史。</p>
<h3 id="8-错误档案库循环-error-library-loop">8. 错误档案库循环 (Error Library Loop)</h3>
<p>把每一次失败都存进“错题本”。</p>
<p>不管是错误的回答、糟糕的输出、失败的执行，还是遇到的极端 Edge Case。</p>
<p>在执行任何新任务之前，系统会首先检索错题本：<strong>如果存在类似的失败记录 -&gt; 在任务开始前，直接将已知的修正方案写入执行策略。</strong></p>
<p>确保系统绝不在同一个地方跌倒两次。这是目前生产环境中最被低估的模式。</p>
<h3 id="9-成功案例库循环-success-pattern-loop">9. 成功案例库循环 (Success Pattern Loop)</h3>
<p>大多数工程师只记得记录失败。</p>
<p>但你也需要记录成功。</p>
<p>当一个任务完成得很漂亮时：<strong>保存它的执行路径 -&gt; 保存当时的 Context -&gt; 保存促成成功的关键因素。</strong></p>
<p>在面对类似任务时，检索并复用这些成功模式。不仅要从错误中吸取教训，更要从胜利中复制经验。</p>
<h3 id="10-记忆压缩循环-memory-compression-loop">10. 记忆压缩循环 (Memory Compression Loop)</h3>
<p>记忆会无休止地膨胀。</p>
<p>而无限的、杂乱的原始记忆，等同于无法使用的垃圾。</p>
<p>当积累了 N 条记忆项后，系统自动启动压缩机制：将大量具体的细碎记忆 -&gt; 升华为更高级别的抽象规律（Abstractions）。</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-plaintext" data-lang="plaintext"><span style="display:flex;"><span>【压缩前】：
</span></span><span style="display:flex;"><span>&#34;任务 A 失败了，因为存在 X 问题&#34;
</span></span><span style="display:flex;"><span>&#34;任务 B 失败了，因为存在 X 问题&#34;
</span></span><span style="display:flex;"><span>&#34;任务 C 失败了，因为存在 X 问题&#34;
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>【压缩后】：
</span></span><span style="display:flex;"><span>&#34;底层规律：X 会直接导致失败。执行任何任务前，务必优先检查 X。&#34;
</span></span></code></pre></div><p>保持上下文窗口（Context）永远干净清爽，让关键规律随时可读，确保系统高速运行。</p>
<p><img loading="lazy" src="/images/wp-content/uploads/2026/20-loop-design-patterns-every-ai-engineer-should-know-7.png"></p>
<h2 id="第三类规划循环-planning-loops">第三类：规划循环 (Planning Loops)</h2>
<p><em>（核心目的：当现实发生变化时，能够动态调整路线）</em></p>
<h3 id="11-规划---执行---重新规划-plan---execute---replan">11. 规划 -&gt; 执行 -&gt; 重新规划 (Plan -&gt; Execute -&gt; Replan)</h3>
<p>AI Agent 设计中最常见的错误，就是<strong>把最初的规划当成一成不变的圣旨</strong>。</p>
<p>再完美的规划，在碰撞现实的瞬间也会碎落一地。</p>
<p>该模式的核心路径是：</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>制定规划 -&gt; 执行当前步骤 -&gt; 观察实际结果 -&gt; 更新规划 -&gt; 继续前行
</span></span></code></pre></div><p>它不是一条线性的瀑布流（Waterfall），而是一个不断收敛的螺旋（Spiral）。每一圈迭代，都在拉近与目标的距离。</p>
<ul>
<li><strong>适用场景</strong>：外部环境动态变化、任务步骤之间存在强依赖、长周期（Long-Horizon）复杂任务。</li>
</ul>
<p><img loading="lazy" src="/images/wp-content/uploads/2026/20-loop-design-patterns-every-ai-engineer-should-know-8.png"></p>
<h3 id="12-动态工作流循环-dynamic-workflow-loop">12. 动态工作流循环 (Dynamic Workflow Loop)</h3>
<p>绝大多数 AI 流水线（Pipelines）都是死板固定的：步骤 1 -&gt; 步骤 2 -&gt; 步骤 3，永远如此。</p>
<p>而动态工作流会根据中间结果<strong>在运行时决定自己的形状</strong>：</p>
<ul>
<li>
<p>如果步骤 1 的输出是 A -&gt; 走分支 X；</p>
</li>
<li>
<p>如果输出是 B -&gt; 走分支 Y；</p>
</li>
<li>
<p>如果输出是 C -&gt; 直接跳过步骤 2，执行步骤 5。</p>
</li>
<li>
<p><strong>适用场景</strong>：多文档深度调研、多渠道客服自动路由、个性化内容自适应生成。</p>
</li>
</ul>
<h3 id="13-目标分解循环-goal-decomposition-loop">13. 目标分解循环 (Goal Decomposition Loop)</h3>
<p>当一个极其庞大、模糊的目标进入系统时：</p>
<ol>
<li>系统将其拆解为若干子目标（Subgoals）；</li>
<li>每个子目标再细化为具体任务（Tasks）；</li>
<li>每个任务继续拆解为执行步骤（Steps）；</li>
<li><strong>持续递归拆解</strong>，直到每一个最小单元都小到可以通过单次模型调用（Single Call）完美搞定。</li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-plaintext" data-lang="plaintext"><span style="display:flex;"><span>大目标: &#34;写一份详尽的竞品分析报告&#34;
</span></span><span style="display:flex;"><span>  |
</span></span><span style="display:flex;"><span>  ├─ 子目标 1: &#34;定位排名前 5 的直接竞品&#34;
</span></span><span style="display:flex;"><span>  ├─ 子目标 2: &#34;分析每个竞品的核心功能点&#34;
</span></span><span style="display:flex;"><span>  ├─ 子目标 3: &#34;对比彼此的价格模型&#34;
</span></span><span style="display:flex;"><span>  └─ 子目标 4: &#34;找出市场空白与破局点&#34;
</span></span><span style="display:flex;"><span>        |
</span></span><span style="display:flex;"><span>     每个子目标 → 拆解为任务 → 转化为底层的单次 API 调用
</span></span></code></pre></div><p>在系统有能力开始干活之前，这个拆分循环绝不停下。</p>
<h3 id="14-进度自评循环-progress-evaluation-loop">14. 进度自评循环 (Progress Evaluation Loop)</h3>
<p>每执行 N 个步骤，系统都需要强行停下来问自己：“我们当前采取的动作，真的正在拉近我们与终极目标的距离吗？”</p>
<p>如果是：继续执行当前策略。<br>
如果否：果断切换策略、寻找新工具，或者重修路线图。</p>
<p>Agent 绝不应该只会盲目地执行命令，它必须具备进度监控（Self-monitoring）的能力。</p>
<ul>
<li><strong>适用场景</strong>：长时间运行的调研 Agent、需自主运行数天的自动化任务、自动 Debug 的编程 Agent。</li>
</ul>
<h3 id="15-约束满足循环-constraint-satisfaction-loop">15. 约束满足循环 (Constraint Satisfaction Loop)</h3>
<p>不达目的，誓不罢休。在所有硬性约束被完全满足之前，循环永远在后台运转。</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-python" data-lang="python"><span style="display:flex;"><span><span style="color:#66d9ef">while</span> <span style="color:#f92672">not</span> all_constraints_satisfied(output):
</span></span><span style="display:flex;"><span>    output <span style="color:#f92672">=</span> improve(output, unsatisfied_constraints)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># 必须通过的约束硬性指标：</span>
</span></span><span style="display:flex;"><span>constraints <span style="color:#f92672">=</span> [
</span></span><span style="display:flex;"><span>    budget_under_limit,      <span style="color:#75715e"># 预算未超支</span>
</span></span><span style="display:flex;"><span>    quality_above_threshold, <span style="color:#75715e"># 质量达标</span>
</span></span><span style="display:flex;"><span>    latency_under_200ms,     <span style="color:#75715e"># 延迟低于200毫秒</span>
</span></span><span style="display:flex;"><span>    tone_matches_brand,      <span style="color:#75715e"># 语气符合品牌调性</span>
</span></span><span style="display:flex;"><span>    no_hallucinations        <span style="color:#75715e"># 无幻觉成分</span>
</span></span><span style="display:flex;"><span>]
</span></span></code></pre></div><p>这在真实的商业化生产系统中非常普遍：<strong>只要有一条业务规则（Business Rule）没有通过，这个输出在系统内部就绝对不算完工。</strong></p>
<p><img loading="lazy" src="/images/wp-content/uploads/2026/20-loop-design-patterns-every-ai-engineer-should-know-9.png"></p>
<h2 id="第四类探索循环-exploration-loops">第四类：探索循环 (Exploration Loops)</h2>
<p><em>（核心目的：通过尝试多条路径，榨出最优解）</em></p>
<h3 id="16-分支探索循环-branch-and-explore-loop">16. 分支探索循环 (Branch-and-Explore Loop)</h3>
<p>不要把赌注押在单一条路上。</p>
<p>同时向多个方向展开探索。</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>paths <span style="color:#f92672">=</span> [
</span></span><span style="display:flex;"><span>    generate(approach<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;conservative&#34;</span>), <span style="color:#75715e"># 保守方案</span>
</span></span><span style="display:flex;"><span>    generate(approach<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;aggressive&#34;</span>),   <span style="color:#75715e"># 激进方案</span>
</span></span><span style="display:flex;"><span>    generate(approach<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;creative&#34;</span>)      <span style="color:#75715e"># 创意方案</span>
</span></span><span style="display:flex;"><span>]
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># 对所有方案进行打分评估，挑出最优解</span>
</span></span><span style="display:flex;"><span>scores <span style="color:#f92672">=</span> [evaluate(p) <span style="color:#66d9ef">for</span> p <span style="color:#f92672">in</span> paths]
</span></span><span style="display:flex;"><span>best <span style="color:#f92672">=</span> paths[scores<span style="color:#f92672">.</span>index(max(scores))]
</span></span></code></pre></div><p>横向对比所有尝试的产出，选择表现最好的那条分支，无情丢弃其余分支。</p>
<ul>
<li><strong>适用场景</strong>：文案多版本测试、架构决策评估、多路径 Debug 假说验证、A/B 测试生成。</li>
</ul>
<p><img loading="lazy" src="/images/wp-content/uploads/2026/20-loop-design-patterns-every-ai-engineer-should-know-10.png"></p>
<h3 id="17-树搜索循环-tree-search-loop">17. 树搜索循环 (Tree Search Loop)</h3>
<p>“分支探索循环”仅仅是在广度上展开了一层。</p>
<p>而树搜索（Tree Search）则可以根据需要向纵深无限延伸。</p>
<p>展开最具潜力的节点，剪掉最弱的分支。不惜代价持续探索，直到在树的深处挖出正确答案。</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-plaintext" data-lang="plaintext"><span style="display:flex;"><span>根节点 → 展开分支 [A, B, C]
</span></span><span style="display:flex;"><span>  ├─ 节点 A → 展开 [A1, A2] （系统评估 A 很有前景，继续深挖）
</span></span><span style="display:flex;"><span>  ├─ 节点 B → 剪枝剪掉      （系统评估 B 表现太差，在此止步）
</span></span><span style="display:flex;"><span>  └─ 节点 A1 → 展开 [A1a, A1b]
</span></span><span style="display:flex;"><span>        └─ A1a → 找到最优解! ✓
</span></span></code></pre></div><ul>
<li><strong>适用场景</strong>：高度复杂的推理链、多步骤的长程规划、代码库级别的重构与 Debug。</li>
<li><strong>代价</strong>：虽然计算资源消耗极高，但它能完成单次 API 调用永远无法企及的复杂任务。</li>
</ul>
<h3 id="18-辩论循环-debate-loop">18. 辩论循环 (Debate Loop)</h3>
<p>准备两个 Agent。针对同一个议题，站在完全相反的立场上。</p>
<p>Agent A 负责正方立论，Agent B 负责反方驳斥。</p>
<p>在每一轮辩论中，双方都在无情地挑战对方的假设、要求对方出示证据、戳破对方的逻辑漏洞。</p>
<p>最终的正确答案，不是在妥协和共识中产生的，而是在激烈的冲突和对抗中被逼出来的。这种对抗性的张力，能把单 Agent 盲目自信下隐藏的所有死角全部逼成显形。</p>
<ul>
<li><strong>适用场景</strong>：投资决策、战略规划论证、重大风险评估、深度学术/行业批判。</li>
</ul>
<p><img loading="lazy" src="/images/wp-content/uploads/2026/20-loop-design-patterns-every-ai-engineer-should-know-11.png"></p>
<h2 id="第五类系统优化循环-system-optimization-loops">第五类：系统优化循环 (System Optimization Loops)</h2>
<p><em>（核心目的：让循环本身具备自我优化的元能力）</em></p>
<h3 id="19-prompt-自动优化循环-prompt-optimization-loop">19. Prompt 自动优化循环 (Prompt Optimization Loop)</h3>
<p>大多数普通工程师写好一个 Prompt 之后就再也不动它了。</p>
<p>而自动优化循环打破了这一现状。在这套系统里：</p>
<ol>
<li>系统对每一次任务的输出进行打分；</li>
<li>定位到哪些场景下 Prompt 表现最差、导致了失败；</li>
<li>自动重写并升级 Prompt 以修复这些已知漏洞；</li>
<li>重新运行测试集并重新评分。</li>
</ol>
<p><strong>整个 Prompt 的进化过程完全自动化，不需要任何人类插手。</strong></p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>current_prompt <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;请帮我总结这份文件。&#34;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">for</span> iteration <span style="color:#f92672">in</span> range(max_iterations):
</span></span><span style="display:flex;"><span>    outputs <span style="color:#f92672">=</span> [run(current_prompt, doc) <span style="color:#66d9ef">for</span> doc <span style="color:#f92672">in</span> test_set]
</span></span><span style="display:flex;"><span>    scores <span style="color:#f92672">=</span> [evaluate(o) <span style="color:#66d9ef">for</span> o <span style="color:#f92672">in</span> outputs]
</span></span><span style="display:flex;"><span>    avg_score <span style="color:#f92672">=</span> mean(scores)
</span></span><span style="display:flex;"><span>    
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">if</span> avg_score <span style="color:#f92672">&gt;=</span> target:
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">break</span> <span style="color:#75715e"># 达到目标分数，退出优化</span>
</span></span><span style="display:flex;"><span>        
</span></span><span style="display:flex;"><span>    <span style="color:#75715e"># 筛选出低于阈值的失败案例</span>
</span></span><span style="display:flex;"><span>    failures <span style="color:#f92672">=</span> [o <span style="color:#66d9ef">for</span> o, s <span style="color:#f92672">in</span> zip(outputs, scores) <span style="color:#66d9ef">if</span> s <span style="color:#f92672">&lt;</span> threshold]
</span></span><span style="display:flex;"><span>    <span style="color:#75715e"># 根据失败反馈，让模型自我重写升级 Prompt</span>
</span></span><span style="display:flex;"><span>    current_prompt <span style="color:#f92672">=</span> improve_prompt(current_prompt, failures)
</span></span></code></pre></div><p>今天，在最顶尖的 AI 生产系统中运行的最强 Prompt，早就不是由人类手工写出来的了。</p>
<p>它们，是被系统自己“繁衍和进化”出来的。</p>
<p><img loading="lazy" src="/images/wp-content/uploads/2026/20-loop-design-patterns-every-ai-engineer-should-know-12.png"></p>
<h3 id="20-工作流自我重构循环-workflow-optimization-loop">20. 工作流自我重构循环 (Workflow Optimization Loop)</h3>
<p>这是整套框架最迷人、最硬核的部分。</p>
<p>它实现了“用循环去优化循环本身”（The loop improves the loop）。</p>
<p>系统在运行过程中，会不断、精确地测量自己的各项体征：</p>
<ul>
<li>延迟（Latency）：每一个原子步骤耗时多久？</li>
<li>成本（Cost）：每一次调用消耗了多少 Token？</li>
<li>质量（Quality）：每个核心节点输出的评分如何？</li>
</ul>
<p>接着，它开始动刀修改自己的工作流。</p>
<p>嫌系统运行太慢？它会自动将两个可以并行的串行步骤改为并行（Parallelize）。<br>
嫌运行成本太贵？它会在质量不降级的前提下，自动把某个昂贵的 GPT-4 节点替换为小尺寸模型（Cheaper Model）。<br>
发现某段输出质量下滑？它会在这个节点输出前，自动安插一个批判者（Critic）角色进行强行拦截。</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>metrics <span style="color:#f92672">=</span> measure_workflow(outputs, latency, cost)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">if</span> metrics<span style="color:#f92672">.</span>latency <span style="color:#f92672">&gt;</span> target_latency:
</span></span><span style="display:flex;"><span>    <span style="color:#75715e"># 延迟超标，自动改写工作流，将慢步骤改为并行执行</span>
</span></span><span style="display:flex;"><span>    workflow <span style="color:#f92672">=</span> parallelize(slow_steps)
</span></span><span style="display:flex;"><span>    
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">if</span> metrics<span style="color:#f92672">.</span>cost <span style="color:#f92672">&gt;</span> budget:
</span></span><span style="display:flex;"><span>    <span style="color:#75715e"># 预算超支，自动在非核心步骤替换为更低廉的模型</span>
</span></span><span style="display:flex;"><span>    workflow <span style="color:#f92672">=</span> replace_with_cheaper_model(high_cost_steps)
</span></span><span style="display:flex;"><span>    
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">if</span> metrics<span style="color:#f92672">.</span>quality <span style="color:#f92672">&lt;</span> threshold:
</span></span><span style="display:flex;"><span>    <span style="color:#75715e"># 质量不达标，自动在关键出口前强行塞入一个 Critic 拦截节点</span>
</span></span><span style="display:flex;"><span>    workflow <span style="color:#f92672">=</span> add_critic_before(final_output_step)
</span></span></code></pre></div><p>至此，<strong>真正具备“自我进化”能力的终极系统</strong>诞生了。</p>
<p>它不仅在改进它输出的数据，它在重写它自己的生命结构。</p>
<p><img loading="lazy" src="/images/wp-content/uploads/2026/20-loop-design-patterns-every-ai-engineer-should-know-13.png"></p>
<h2 id="20-个模式背后的统一灵魂">20 个模式背后的统一灵魂</h2>
<p>尽管这 20 个设计模式形态各异，但如果你把它们的骨架抽离出来，你会发现它们都共享着同一个底层公式：</p>
<p>$$\text{行动 (Act)} \rightarrow \text{观察 (Observe)} \rightarrow \text{评估 (Evaluate)} \rightarrow \text{调整 (Adjust)}$$</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>行动 -&gt; 观察 -&gt; 评估 -&gt; 调整
</span></span></code></pre></div><p>这就是全部的秘诀。</p>
<p>不要指望第一枪就能打中靶心。第一枪的产出，永远只是一个粗糙的起点。</p>
<p>而循环（Loop），才是将一个简陋的起点，淬炼成工业级可用产品的唯一熔炉。</p>
<p><img loading="lazy" src="/images/wp-content/uploads/2026/20-loop-design-patterns-every-ai-engineer-should-know-14.png"></p>
<h2 id="大多数工程师认为智能体是未来的发展方向">大多数工程师认为智能体是未来的发展方向</h2>
<p>大多数普通人依然坚信“Agent”就是大模型的未来。</p>
<p>但真相是：Agent 只是打工的工人。Loop，才是让工人每天自我进化的机制。</p>
<p>当前 AI 行业最底层的范式大转移，根本不是在追求更好的基础模型，而是研发思路的彻底倒转：</p>
<ul>
<li><strong>过去式</strong>：Prompt -&gt; Response（一锤子买卖）</li>
<li><strong>进行时</strong>：Generate -&gt; Evaluate -&gt; Learn -&gt; Improve（无限循环进化）</li>
</ul>
<p>那些真正掌握了 “循环设计（Loop Design）” 精髓的团队，从来不会浪费时间去祈祷模型给个好提示词。</p>
<p>他们构建的系统，在部署上线后的每一天，都在人类看不见的后台默默地自我进化。</p>
<p><strong>去构建循环吧，让它在你睡觉时，替你改变世界。</strong></p>
<h2 id="小结">小结</h2>
<p>如果说过去两年是“提示词工程（Prompt Engineering）”的启蒙期，那么这篇关于 20 种“循环模式”的总结，则正式为我们拉开了“AI 软件系统设计学”的帷幕。</p>
<p>从最基础的“生成-批判”流水线，到令人震撼的“Prompt 与工作流自我重构”，这 20 个模式无一不在向我们传递一个冰冷的工程真相：即使大模型再聪明，单点突破的运气也永远敌不过系统级闭环的确定性。</p>
<p>不再寄希望于模型一次性吐出完美的答案，而是构建一个能在失败中反思、在记忆中学习、在约束中收敛的熔炉。当你的架构图里充满了自我诊断、自我修复和自我优化的飞轮时，你就真正掌握了 AI 时代系统工程的顶级心法。</p>
<p>原文链接：https://x.com/sairahul1/status/2072258045460226373</p>
<hr>
<p>还在为写 Agent 框架频频死循环、上下文爆炸而束手无策？我的新专栏 <strong>《<a href="http://gk.link/a/12IzL">从0 开始构建 Agent Harness</a>》</strong> 将带你：</p>
<ul>
<li>抛弃臃肿框架，回归“驾驭工程 (Harness Engineering)”的第一性原理</li>
<li>用 Go 语言手写 ReAct 循环、并发拦截与上下文压缩引擎等，复刻极简OpenClaw</li>
<li>构建坚不可摧的 Safety Middleware 与飞书人工审批防线</li>
<li>在底层实现 Token 成本审计、链路追踪与自动化跑分评估</li>
<li>从“调包侠”进化为掌控大模型边界的“AI 操作系统架构师”</li>
</ul>
<p>扫描下方二维码，开启从 0 开始构建Agent Harness 的实战之旅。</p>
<p><img loading="lazy" src="/images/wp-content/uploads/2026/build-agent-harness-from-scratch-qr.png"></p>
<hr>
<p>还在为“复制粘贴喂AI”而烦恼？我的新专栏 <strong>《<a href="http://gk.link/a/12EPd">AI原生开发工作流实战</a>》</strong> 将带你：</p>
<ul>
<li>告别低效，重塑开发范式</li>
<li>驾驭AI Agent(Claude Code)，实现工作流自动化</li>
<li>从“AI使用者”进化为规范驱动开发的“工作流指挥家”</li>
</ul>
<p>扫描下方二维码，开启你的AI原生开发之旅。</p>
<p><img loading="lazy" src="/images/wp-content/uploads/2025/ai-native-dev-workflow-qr.png"></p>
<hr>
<p><strong>原「Gopher部落」已重装升级为「Go &amp; AI 精进营」知识星球，快来加入星球，开启你的技术跃迁之旅吧！</strong></p>
<p>我们致力于打造一个高品质的 <strong>Go 语言深度学习</strong> 与 <strong>AI 应用探索</strong> 平台。在这里，你将获得：</p>
<ul>
<li><strong>体系化 Go 核心进阶内容:</strong> 深入「Go原理课」、「Go进阶课」、「Go避坑课」等独家深度专栏，夯实你的 Go 内功。</li>
<li><strong>前沿 Go+AI 实战赋能:</strong> 紧跟时代步伐，学习「Go+AI应用实战」、「Agent开发实战课」、「Agentic软件工程课」、「Claude Code开发工作流实战课」、「OpenClaw实战分享」等，掌握 AI 时代新技能。</li>
<li><strong>星主 Tony Bai 亲自答疑:</strong> 遇到难题？星主第一时间为你深度解析，扫清学习障碍。</li>
<li><strong>高活跃 Gopher 交流圈:</strong> 与众多优秀 Gopher 分享心得、讨论技术，碰撞思想火花。</li>
<li><strong>独家资源与内容首发:</strong> 技术文章、课程更新、精选资源，第一时间触达。</li>
</ul>
<p>衷心希望「Go &amp; AI 精进营」能成为你学习、进步、交流的港湾。让我们在此相聚，享受技术精进的快乐！欢迎你的加入！</p>
<p><img loading="lazy" src="http://image.tonybai.com/img/tonybai/gopher-and-ai-tribe-zsxq-small-card.jpg"></p>
<hr>
<p>商务合作方式：撰稿、出书、培训、在线课程、合伙创业、咨询、广告合作。如有需求，请扫描下方公众号二维码，与我私信联系。</p>
<p><img loading="lazy" src="http://image.tonybai.com/img/tonybai/iamtonybai-wechat-qr.png"></p>
<!-- 
公众号地址：https://mp.weixin.qq.com/s/Zm-RqUH9jRABqN9DFKD-Kg
-->
]]></content:encoded></item></channel></rss>