<?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 Last Stand</title><link>https://amatsuzero.github.io/LastStand/tags/%E7%B3%BB%E7%BB%9F%E6%9E%84%E5%BB%BA/</link><description>Recent content in 系统构建 on Last Stand</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Tue, 09 Jun 2026 00:00:00 +0800</lastBuildDate><atom:link href="https://amatsuzero.github.io/LastStand/tags/%E7%B3%BB%E7%BB%9F%E6%9E%84%E5%BB%BA/index.xml" rel="self" type="application/rss+xml"/><item><title>第15章：从算法到实践：构建你的 Agent</title><link>https://amatsuzero.github.io/LastStand/posts/aiagentalgorithm/chapter-15/</link><pubDate>Tue, 09 Jun 2026 00:00:00 +0800</pubDate><guid>https://amatsuzero.github.io/LastStand/posts/aiagentalgorithm/chapter-15/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;复杂系统从来不是一次性设计出来的，它是从一个可工作的简单系统逐步演化而来。&amp;rdquo;
— John Gall，《系统学》&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="151-问题引入"&gt;15.1 问题引入&lt;/h2&gt;
&lt;p&gt;经过前14章的深入分析，我们已经逐一拆解了 Claude Code 的每一个核心算法思想——从工具抽象到推理循环，从权限控制到多 Agent 协调，从 MCP 协议到钩子系统，从上下文压缩到容错重试。现在，一个自然的问题摆在面前：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;如果你要从零开始构建一个类似 Claude Code 的 Agent 系统，该怎么做？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;这不是一个简单的问题。Claude Code 的源码体量庞大，模块之间存在复杂的依赖关系。直接照搬源码既不现实也不明智。我们需要的是一张&lt;strong&gt;路线图&lt;/strong&gt;——从最小可行系统出发，逐步叠加能力层，每一步都有清晰的目标和边界。&lt;/p&gt;
&lt;p&gt;本章将给出这张路线图。我们将按照八个递进步骤，从一个仅有50行伪代码的最小循环，逐步演化为一个功能完整的 Agent 系统。每一步都会回顾前几章的核心算法，给出可执行的伪代码框架，并对照 Claude Code 的实际实现进行验证。&lt;/p&gt;
&lt;h2 id="152-算法思想"&gt;15.2 算法思想&lt;/h2&gt;
&lt;h3 id="1521-agent-系统的最小可行架构"&gt;15.2.1 Agent 系统的最小可行架构&lt;/h3&gt;
&lt;p&gt;任何 Agent 系统，无论多复杂，都可以归结为三个核心组件：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;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;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;┌─────────────────────────────────────────┐
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ Agent 系统 │
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ │
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ ┌───────────┐ ┌──────────┐ ┌──────┐ │
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ │ 推理循环 │←→│ 工具系统 │←→│ 权限 │ │
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ │ (大脑) │ │ (双手) │ │ 控制 │ │
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ └───────────┘ └──────────┘ └──────┘ │
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ │
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;└─────────────────────────────────────────┘
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;推理循环&lt;/strong&gt;是大脑，决定&amp;quot;做什么&amp;quot;和&amp;quot;何时停止&amp;quot;；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;工具系统&lt;/strong&gt;是双手，提供&amp;quot;怎么做&amp;quot;的能力；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;权限控制&lt;/strong&gt;是安全阀，确保&amp;quot;能不能做&amp;quot;。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Claude Code 的源码完美印证了这一划分。&lt;code&gt;query.ts&lt;/code&gt; 中的 &lt;code&gt;queryLoop&lt;/code&gt; 是推理循环，&lt;code&gt;Tool.ts&lt;/code&gt; 定义了工具抽象，&lt;code&gt;permissions.ts&lt;/code&gt; 实现了权限判定。三者紧密协作，但职责清晰分离。&lt;/p&gt;</description></item></channel></rss>