<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>人工智能 on Jiangwan&#39;s Blog</title>
        <link>https://jiangwan.ink/categories/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/</link>
        <description>Recent content in 人工智能 on Jiangwan&#39;s Blog</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>zh-cn</language>
        <lastBuildDate>Wed, 01 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://jiangwan.ink/categories/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>Agent 基础设施演进：Tools、Skills 与 MCP 的工程边界</title>
        <link>https://jiangwan.ink/p/agent-infrastructure-evolution/</link>
        <pubDate>Wed, 01 Apr 2026 00:00:00 +0000</pubDate>
        
        <guid>https://jiangwan.ink/p/agent-infrastructure-evolution/</guid>
        <description>&lt;p&gt;　　2025 到 2026 年的 Agent 开发历程，最显著的变化是底层基础设施从碎片化走向收敛。在早期，开发者通常直接使用模型厂商提供的 Function Calling 接口。这种模式导致了 M×N 的集成困境：如果系统接入了 M 个不同的大模型，同时需要使用 N 种外部能力，开发者就需要编写大量重复的胶水代码进行格式转换与适配。&lt;/p&gt;
&lt;p&gt;　　随着 Agent 应用向深水区演进，系统需要解耦模型本身与外部执行逻辑，标准化协议与能力分层成为架构演进的必然结果。目前，现代 Agent 架构中主要沉淀了三个核心概念：Tools、Skills 与 MCP。厘清这三者的边界，是构建高可复用 Agent 系统的首要前提。&lt;/p&gt;
&lt;h2 id=&#34;一-概念重塑toolsskills-与-mcp-的边界&#34;&gt;一、 概念重塑：Tools、Skills 与 MCP 的边界
&lt;/h2&gt;&lt;p&gt;　　虽然这三个词语在日常交流中常被混用，但在工程实现上，它们处于完全不同的架构抽象层级。&lt;/p&gt;
&lt;h3 id=&#34;1-tools原子执行单元&#34;&gt;1. Tools：原子执行单元
&lt;/h3&gt;&lt;p&gt;　　Tools 是系统中最底层的执行模块。它本质上是具体的代码函数，负责完成单一的、无状态的操作。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;特征定义&lt;/strong&gt;：Tools 只关心输入与输出，不包含任何复杂的业务决策机制。查询数据库、发送 HTTP 请求、读取本地文件均属于 Tools 的范畴。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;设计原则&lt;/strong&gt;：在设计 Tools 时，应当追求极致的单一职责与高内聚。一个合格的 Tool 应当具备明确的 Schema 定义，确保任何外部调用者都能准确识别其所需的参数列表与返回值格式。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;2-skills场景化的业务编排&#34;&gt;2. Skills：场景化的业务编排
&lt;/h3&gt;&lt;p&gt;　　Skills 建立在 Tools 之上，是面向特定业务场景的能力封装。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;特征定义&lt;/strong&gt;：如果说 Tool 是“执行一条 SQL 语句”，那么 Skill 就是“分析上季度营收数据并生成报告”。Skill 内部通常组合了多个 Tools，并包含了特定的执行流控制、Prompt 模板或上下文状态管理。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;价值体现&lt;/strong&gt;：Skill 的核心价值在于降低大模型在复杂任务中的推理负担。将固定的业务逻辑下沉到 Skill 层执行，可以大幅减少 Token 消耗，并提高输出结果的确定性。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;3-mcp底层的标准化通信机制&#34;&gt;3. MCP：底层的标准化通信机制
&lt;/h3&gt;&lt;p&gt;　　MCP 全称 Model Context Protocol，它既不是工具也不是技能，而是一套标准化的通信规范。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;核心作用&lt;/strong&gt;：MCP 统一了 Agent 客户端与外部数据、工具服务端之间的双向交互协议。它规定了客户端应如何向服务端请求工具列表，以及服务端应如何将执行结果或上下文资源返回给客户端。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;架构意义&lt;/strong&gt;：引入 MCP 后，模型与工具之间实现了彻底的解耦。只要工具或技能封装为符合 MCP 规范的 Server，任何支持 MCP Client 的大模型或 Agent 框架都可以直接接入并使用，彻底消除了 M×N 的适配成本。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;二-架构演进从散装调用到标准协议&#34;&gt;二、 架构演进：从散装调用到标准协议
&lt;/h2&gt;&lt;p&gt;　　在现代的标准化架构下，一次完整的 Agent 任务执行链路呈现出清晰的分层特征。以下是基于 MCP 协议的系统协作架构图：&lt;/p&gt;
&lt;pre class=&#34;mermaid&#34;&gt;
  sequenceDiagram
    participant LLM as Agent / LLM (MCP Client)
    participant Protocol as MCP 通信层
    participant Server as MCP Server
    participant Skill as Skill (业务编排)
    participant Tool as Tool (原子单元)
    participant API as 外部系统 (DB/API)

    LLM-&amp;gt;&amp;gt;Protocol: 请求可用能力列表 (Discover)
    Protocol-&amp;gt;&amp;gt;Server: 转发请求
    Server--&amp;gt;&amp;gt;Protocol: 返回 Skills 与 Tools 列表及 Schema
    Protocol--&amp;gt;&amp;gt;LLM: 同步给模型

    LLM-&amp;gt;&amp;gt;Protocol: 决定调用特定 Skill (Call)
    Protocol-&amp;gt;&amp;gt;Server: 传递 JSON 参数
    Server-&amp;gt;&amp;gt;Skill: 触发业务流程
    Skill-&amp;gt;&amp;gt;Tool: 按逻辑组合调用 Tool A
    Tool-&amp;gt;&amp;gt;API: 执行底层交互 (如 SQL 查询)
    API--&amp;gt;&amp;gt;Tool: 返回原始数据
    Tool--&amp;gt;&amp;gt;Skill: 传递执行结果
    Skill-&amp;gt;&amp;gt;Tool: 调用 Tool B (如数据清洗)
    Tool--&amp;gt;&amp;gt;Skill: 返回处理后数据
    Skill--&amp;gt;&amp;gt;Server: 汇总最终业务结果
    Server--&amp;gt;&amp;gt;Protocol: 按照 MCP 规范封装响应
    Protocol--&amp;gt;&amp;gt;LLM: 返回结果，供 LLM 继续推理
&lt;/pre&gt;

&lt;p&gt;　　从上述链路可以看出，MCP Server 作为网关，屏蔽了后端所有复杂的业务实现。模型端（客户端）无需关心后端是简单的单体 Tool 还是复杂的串联 Skill，只需要按照统一的协议发送调用请求并等待标准响应即可。&lt;/p&gt;
&lt;h2 id=&#34;三-实践思考&#34;&gt;三、 实践思考
&lt;/h2&gt;&lt;p&gt;　　在实际开发中，理解概念只是第一步，更重要的是在工程实践中做出合理的选型。&lt;/p&gt;
&lt;h3 id=&#34;1-粒度划分写-tool-还是封装-skill&#34;&gt;1. 粒度划分：写 Tool 还是封装 Skill？
&lt;/h3&gt;&lt;p&gt;　　在系统构建初期，开发者容易倾向于把所有逻辑都写成巨大的单体 Tool，或者过度碎片化。合理的划分依据应基于“业务复用度”与“推理确定性”。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;倾向于 Tool 的场景&lt;/strong&gt;：当逻辑纯粹是数据获取或状态变更，且对各种上下文均适用时（如 send_email），应当保持其作为独立的 Tool。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;倾向于 Skill 的场景&lt;/strong&gt;：当某项任务需要固定的多步操作，且包含前置条件校验或数据中间态转换时（如 git_commit_and_push），应将其封装为 Skill。这不仅能减少大模型发生“幻觉”导致调用顺序错误的概率，也能提升系统的响应速度。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;2-接入-mcp-的工程折衷&#34;&gt;2. 接入 MCP 的工程折衷
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;引入成本&lt;/strong&gt;：对于生命周期极短的单次脚本任务，强行引入 MCP 架构会增加不必要的网络通信开销与服务部署成本（如需要单独维护 MCP Server 进程）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;长期收益&lt;/strong&gt;：但对于需要长期维护的个人知识库系统或跨应用调用的 Agent 矩阵，MCP 是不可或缺的基础设施。它保证了今天编写的业务能力，在明天切换底层大模型基座时，依然可以被无缝调用。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;四-总结&#34;&gt;四、 总结
&lt;/h2&gt;&lt;p&gt;　　从 2025 年到 2026 年初，Agent 技术栈完成了从“手写各类 API 适配器”到“基于标准协议构建基础设施”的蜕变。Tools 提供了手脚，Skills 沉淀了经验，而 MCP 则铺设了统一的轨道。理解并遵循这三者的架构边界，是我们在当下构建健壮、可扩展的 Agent 系统的必经之路。&lt;/p&gt;
</description>
        </item>
        
    </channel>
</rss>
