从 LLM 到 Agent Skill:把 AI 底层概念串起来

目录

    • [1. 引言:一串被新名词割裂的认知](#1. 引言:一串被新名词割裂的认知)
    • [2. LLM:一颗强大的"大脑"](#2. LLM:一颗强大的"大脑")
      • [2.1 LLM 的本质](#2.1 LLM 的本质)
      • [2.2 LLM 的三个关键局限](#2.2 LLM 的三个关键局限)
    • [3. Agent:给大脑接上"身体"](#3. Agent:给大脑接上"身体")
      • [3.1 什么是 Agent](#3.1 什么是 Agent)
      • [3.2 核心机制:ReAct 循环](#3.2 核心机制:ReAct 循环)
    • [4. Skill:把能力封装成"技能包"](#4. Skill:把能力封装成"技能包")
      • [4.1 什么是 Skill](#4.1 什么是 Skill)
      • [4.2 一个 Skill 的示例](#4.2 一个 Skill 的示例)
      • [4.3 Skill 解决了什么](#4.3 Skill 解决了什么)
    • [5. 三者如何串联:一张完整的认知地图](#5. 三者如何串联:一张完整的认知地图)
    • [6. 从概念到实践:一个完整的最小示例](#6. 从概念到实践:一个完整的最小示例)
    • [7. 小结](#7. 小结)

1. 引言:一串被新名词割裂的认知

过去两年,AI 领域的新词层出不穷:先是 LLM(大语言模型) ,然后是 Agent(智能体) ,再到现在频繁出现的 Skill(技能)。很多同学每学一个概念都觉得"懂了",但把三个词放在一起时,反而说不清它们之间到底什么关系。

这篇文章想做的事情很简单:用一条主线把 LLM、Agent、Skill 串起来,讲清楚每个概念解决什么问题、为什么会出现下一个概念、以及它们如何协同工作。读完你会获得一张可以长期使用的认知地图,而不是三个孤立的术语。

文章按照"为什么会出现下一个概念"的顺序展开,建议这样阅读:

  • 第 2 章先认识 LLM:它擅长什么,又缺什么;
  • 第 3 章看 Agent 如何补齐 LLM 的短板,让大脑拥有身体;
  • 第 4 章学习 Skill 如何把能力封装起来,让 Agent 更稳定、可复用;
  • 第 5 章用一张图把三者关系串成完整的认知地图;
  • 第 6 章用一个最小示例,把概念落到可运行的代码里。

这里有一条隐藏的逻辑链:前者推动后者出现,后者弥补前者短板。抓住这条因果链,远比记住三个名词更有价值。

2. LLM:一颗强大的"大脑"

2.1 LLM 的本质

LLM(Large Language Model,大语言模型)本质上是一个在海量文本上训练的概率模型 :给定上文,预测下一个 token。Token 是模型处理文本的最小单位,可以近似理解为一个字、一个词或一个子词;所谓"大",既指参数量大,也指训练数据规模大。

它的核心能力可以概括为三类:

  • 语言理解:总结、翻译、分类、抽取信息;
  • 语言生成:写作、对话、改写、代码补全;
  • 上下文学习(In-Context Learning):不做梯度更新,仅靠 prompt 里的示例就能完成新任务。

一个容易困惑的问题是:"预测下一个词"这种看起来机械的任务,为什么能产生智能? 原因是,自然语言本身携带了人类的大量知识与推理结构;模型为了更准确地预测下一个 token,被迫学会了语法、事实、逻辑乃至一定程度的常识。这也是为什么同一个模型既能写诗,也能写代码。

这三类能力共同构成了 LLM 的价值基础。但理解 LLM 不能只看它能做什么,更要看它缺什么

2.2 LLM 的三个关键局限

先看一张对比表:

局限 具体表现 典型场景
知识静态 训练数据有截止时间,无法获取最新信息 问"今天股价多少"只能编造
无行动能力 只能输出文本,不能操作外部世界 不能真正帮你订机票、查数据库
推理受限 复杂多步任务容易出错、幻觉 多位数运算、长链路规划

这三点值得分别展开理解:

知识静态 :LLM 的"知识"来自训练它时的那批数据。如果数据截止到某一天,那它就无法可靠回答之后发生的事情。业界用 RAG(检索增强生成) 等方式来补这个短板,其核心思路就是"让模型现用现查",而不是把所有知识都塞进参数里。

无行动能力:LLM 只会输出一串文本,"帮你订机票"这件事它无法真正完成。它最多只能告诉你"我建议你打开 App 自己下单"。要让它真的操作外部世界,就必须给它接入工具、API 或代码执行环境------这正好是 Agent 要做的事。

推理受限:模型在单次生成里"一次成文",对于需要多步推导的问题很容易在中途出错。例如长链路的数学运算或项目规划,如果不让模型分步思考、反复验证,它的错误会不断累积。这也需要一套"思考---执行---观察"的机制来约束它。

这三个局限并不是 LLM 的失败,而是它作为一种"纯文本预测器"的天然边界。它们正好是 Agent 出现的直接原因

3. Agent:给大脑接上"身体"

3.1 什么是 Agent

Agent(智能体)可以理解为:把 LLM 作为核心决策器,再给它加上感知、记忆、工具调用和行动能力,形成一个可以自主完成任务的系统

一个完整的 Agent 通常包含四个组件:

  • 大脑(LLM):负责理解、推理、决策;
  • 工具(Tools):搜索引擎、代码执行器、数据库、API 等外部能力;
  • 记忆(Memory):短期上下文 + 长期知识存储;
  • 规划(Planning):把大任务拆解成可执行的步骤。

这里最容易混淆的是记忆规划,可以再多说两句:

  • 记忆通常分三层:当前对话的上下文(短期记忆)、跨会话的用户偏好与事实(长期记忆)、以及工具执行过程中产生的中间结果(工作记忆)。没有记忆的 Agent 会"失忆",每次都从零开始。
  • 规划是 Agent 的核心价值之一:人类下指令往往只说目标,不列步骤。Agent 需要自己把"写一份行业报告"拆成"搜索资料---提炼观点---生成大纲---写正文---检查修改"等子任务,再逐个执行。

它们之间的关系如下:
#mermaid-svg-OJqkhKlfcR1arzOA{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-OJqkhKlfcR1arzOA .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-OJqkhKlfcR1arzOA .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-OJqkhKlfcR1arzOA .error-icon{fill:#552222;}#mermaid-svg-OJqkhKlfcR1arzOA .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-OJqkhKlfcR1arzOA .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-OJqkhKlfcR1arzOA .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-OJqkhKlfcR1arzOA .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-OJqkhKlfcR1arzOA .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-OJqkhKlfcR1arzOA .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-OJqkhKlfcR1arzOA .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-OJqkhKlfcR1arzOA .marker{fill:#333333;stroke:#333333;}#mermaid-svg-OJqkhKlfcR1arzOA .marker.cross{stroke:#333333;}#mermaid-svg-OJqkhKlfcR1arzOA svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-OJqkhKlfcR1arzOA p{margin:0;}#mermaid-svg-OJqkhKlfcR1arzOA .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-OJqkhKlfcR1arzOA .cluster-label text{fill:#333;}#mermaid-svg-OJqkhKlfcR1arzOA .cluster-label span{color:#333;}#mermaid-svg-OJqkhKlfcR1arzOA .cluster-label span p{background-color:transparent;}#mermaid-svg-OJqkhKlfcR1arzOA .label text,#mermaid-svg-OJqkhKlfcR1arzOA span{fill:#333;color:#333;}#mermaid-svg-OJqkhKlfcR1arzOA .node rect,#mermaid-svg-OJqkhKlfcR1arzOA .node circle,#mermaid-svg-OJqkhKlfcR1arzOA .node ellipse,#mermaid-svg-OJqkhKlfcR1arzOA .node polygon,#mermaid-svg-OJqkhKlfcR1arzOA .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-OJqkhKlfcR1arzOA .rough-node .label text,#mermaid-svg-OJqkhKlfcR1arzOA .node .label text,#mermaid-svg-OJqkhKlfcR1arzOA .image-shape .label,#mermaid-svg-OJqkhKlfcR1arzOA .icon-shape .label{text-anchor:middle;}#mermaid-svg-OJqkhKlfcR1arzOA .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-OJqkhKlfcR1arzOA .rough-node .label,#mermaid-svg-OJqkhKlfcR1arzOA .node .label,#mermaid-svg-OJqkhKlfcR1arzOA .image-shape .label,#mermaid-svg-OJqkhKlfcR1arzOA .icon-shape .label{text-align:center;}#mermaid-svg-OJqkhKlfcR1arzOA .node.clickable{cursor:pointer;}#mermaid-svg-OJqkhKlfcR1arzOA .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-OJqkhKlfcR1arzOA .arrowheadPath{fill:#333333;}#mermaid-svg-OJqkhKlfcR1arzOA .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-OJqkhKlfcR1arzOA .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-OJqkhKlfcR1arzOA .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-OJqkhKlfcR1arzOA .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-OJqkhKlfcR1arzOA .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-OJqkhKlfcR1arzOA .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-OJqkhKlfcR1arzOA .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-OJqkhKlfcR1arzOA .cluster text{fill:#333;}#mermaid-svg-OJqkhKlfcR1arzOA .cluster span{color:#333;}#mermaid-svg-OJqkhKlfcR1arzOA div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-OJqkhKlfcR1arzOA .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-OJqkhKlfcR1arzOA rect.text{fill:none;stroke-width:0;}#mermaid-svg-OJqkhKlfcR1arzOA .icon-shape,#mermaid-svg-OJqkhKlfcR1arzOA .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-OJqkhKlfcR1arzOA .icon-shape p,#mermaid-svg-OJqkhKlfcR1arzOA .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-OJqkhKlfcR1arzOA .icon-shape .label rect,#mermaid-svg-OJqkhKlfcR1arzOA .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-OJqkhKlfcR1arzOA .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-OJqkhKlfcR1arzOA .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-OJqkhKlfcR1arzOA :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 用户任务
Agent
LLM 大脑

理解与决策
规划

拆解步骤
工具调用

执行行动
记忆

记录结果
返回结果

可以看到,Agent 不是"另一个更聪明的模型",而是一套以 LLM 为中心的工程系统。模型负责"聪明",工程负责"能干活"。

3.2 核心机制:ReAct 循环

Agent 最常见的运行模式是 ReAct(Reasoning + Acting),即"思考一步、行动一步、观察结果、再思考"的循环。这个循环可以拆成四个阶段:

  1. Thought(思考):LLM 分析当前任务和已知信息,决定下一步做什么;
  2. Action(行动):LLM 选择一个工具并给出调用参数;
  3. Observation(观察):工具执行后,把结果写回上下文;
  4. 重复直到完成:如果结果足够回答,就生成最终答案;否则带着新的观察继续思考。

这个机制解决了 LLM "一次成文"不可靠的问题:它把复杂任务变成一连串小步骤,每一步都有新的信息输入来修正方向。下面是一个精简的 Python 示例:

python 复制代码
class SimpleAgent:
    def __init__(self, llm, tools):
        self.llm = llm
        self.tools = tools  # {"search": search_func, "calc": calc_func}
        self.history = []

    def run(self, task):
        self.history.append({"role": "user", "content": task})
        for _ in range(10):  # 最多循环 10 轮
            response = self.llm.chat(self.history)
            action = self.parse_action(response)

            if action["type"] == "final_answer":
                return action["content"]

            tool_name = action["tool"]
            result = self.tools[tool_name](action["input"])
            self.history.append({"role": "assistant", "content": response})
            self.history.append({"role": "tool", "content": str(result)})

        return "达到最大循环次数"

在这个例子里,history 就是 Agent 的"工作记忆",每一步的工具结果都会被追加进去,保证 LLM 在下一轮思考时能看到最新信息。真实框架中的循环还会加入超时、错误重试、人工确认等保护机制。

Agent 的价值在于:它把 LLM 从"只会说"变成了"能做"。但 Agent 本身也有问题------每个 Agent 的能力往往是一次性的、难以复用。于是 Skill 登场了。

4. Skill:把能力封装成"技能包"

4.1 什么是 Skill

Skill(技能)是对某一类可复用能力的标准化封装。可以把它类比为编程里的"函数"或"库":把实现细节藏起来,只暴露清晰的输入输出接口,让 Agent 按需调用。

Skill 和普通 API 的区别在于:它不是简单的"输入---输出"函数,而是带有语义描述的能力单元。描述的作用是让 LLM 判断"什么时候该用这个技能、应该传什么参数"------这一点对 Agent 至关重要,因为 Agent 是在运行时才动态决定调用哪些工具的。

一个 Skill 通常包含以下要素:

  • 名称与描述:告诉 Agent 这个技能是干什么的、什么时候用;
  • 输入参数:明确定义需要什么数据;
  • 执行逻辑:具体的实现过程;
  • 输出格式:返回什么样的结果。

好的 Skill 设计还遵循两个原则:单一职责 (一个 Skill 只做好一件事)和描述清晰(让 LLM 不看代码也能正确调用)。这两点会直接影响 Agent 的执行成功率。

4.2 一个 Skill 的示例

以"查询天气"为例,一个典型的 Skill 定义如下:

python 复制代码
class WeatherSkill:
    name = "get_weather"
    description = "查询指定城市的实时天气,需要城市名称作为输入"

    def __init__(self, api_key):
        self.api_key = api_key

    def run(self, city: str) -> dict:
        # 调用天气 API 并返回结果
        response = call_weather_api(self.api_key, city)
        return {
            "city": city,
            "temperature": response["temp"],
            "condition": response["condition"]
        }

    def to_tool_schema(self):
        return {
            "name": self.name,
            "description": self.description,
            "parameters": {
                "type": "object",
                "properties": {
                    "city": {"type": "string", "description": "城市名"}
                },
                "required": ["city"]
            }
        }

这个例子里有两个关键点值得注意:

  • description 直接告诉 LLM 技能的用途和输入要求,是 LLM 决定是否调用的依据;
  • to_tool_schema() 把技能转成标准化的工具定义,供 Agent 框架注册和调用。

也就是说,Skill 的核心不只是"能执行",更是"被模型正确理解并正确调用"。这两件事合在一起,才让它成为一个合格的可复用能力单元。

4.3 Skill 解决了什么

Skill 的出现主要解决了三个层次的问题:

  1. 可复用:一次封装,多个 Agent 或多个场景共用;
  2. 可组合:多个 Skill 可以串成更复杂的工作流;
  3. 可管理:权限、版本、质量可以统一治理。

举个例子:同一个"数据库查询" Skill,今天可以被"客服问答 Agent"使用,明天也可以被"数据分析 Agent"使用。如果之后需要升级数据库版本,只需要更新这个 Skill,所有依赖它的 Agent 都能同时受益。这种"一次维护、多处复用"的能力,正是 Agent 规模化落地的关键。

5. 三者如何串联:一张完整的认知地图

现在我们把三个概念放到同一张图里看:
#mermaid-svg-w9252uW5U8e8AWNX{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-w9252uW5U8e8AWNX .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-w9252uW5U8e8AWNX .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-w9252uW5U8e8AWNX .error-icon{fill:#552222;}#mermaid-svg-w9252uW5U8e8AWNX .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-w9252uW5U8e8AWNX .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-w9252uW5U8e8AWNX .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-w9252uW5U8e8AWNX .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-w9252uW5U8e8AWNX .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-w9252uW5U8e8AWNX .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-w9252uW5U8e8AWNX .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-w9252uW5U8e8AWNX .marker{fill:#333333;stroke:#333333;}#mermaid-svg-w9252uW5U8e8AWNX .marker.cross{stroke:#333333;}#mermaid-svg-w9252uW5U8e8AWNX svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-w9252uW5U8e8AWNX p{margin:0;}#mermaid-svg-w9252uW5U8e8AWNX .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-w9252uW5U8e8AWNX .cluster-label text{fill:#333;}#mermaid-svg-w9252uW5U8e8AWNX .cluster-label span{color:#333;}#mermaid-svg-w9252uW5U8e8AWNX .cluster-label span p{background-color:transparent;}#mermaid-svg-w9252uW5U8e8AWNX .label text,#mermaid-svg-w9252uW5U8e8AWNX span{fill:#333;color:#333;}#mermaid-svg-w9252uW5U8e8AWNX .node rect,#mermaid-svg-w9252uW5U8e8AWNX .node circle,#mermaid-svg-w9252uW5U8e8AWNX .node ellipse,#mermaid-svg-w9252uW5U8e8AWNX .node polygon,#mermaid-svg-w9252uW5U8e8AWNX .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-w9252uW5U8e8AWNX .rough-node .label text,#mermaid-svg-w9252uW5U8e8AWNX .node .label text,#mermaid-svg-w9252uW5U8e8AWNX .image-shape .label,#mermaid-svg-w9252uW5U8e8AWNX .icon-shape .label{text-anchor:middle;}#mermaid-svg-w9252uW5U8e8AWNX .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-w9252uW5U8e8AWNX .rough-node .label,#mermaid-svg-w9252uW5U8e8AWNX .node .label,#mermaid-svg-w9252uW5U8e8AWNX .image-shape .label,#mermaid-svg-w9252uW5U8e8AWNX .icon-shape .label{text-align:center;}#mermaid-svg-w9252uW5U8e8AWNX .node.clickable{cursor:pointer;}#mermaid-svg-w9252uW5U8e8AWNX .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-w9252uW5U8e8AWNX .arrowheadPath{fill:#333333;}#mermaid-svg-w9252uW5U8e8AWNX .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-w9252uW5U8e8AWNX .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-w9252uW5U8e8AWNX .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-w9252uW5U8e8AWNX .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-w9252uW5U8e8AWNX .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-w9252uW5U8e8AWNX .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-w9252uW5U8e8AWNX .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-w9252uW5U8e8AWNX .cluster text{fill:#333;}#mermaid-svg-w9252uW5U8e8AWNX .cluster span{color:#333;}#mermaid-svg-w9252uW5U8e8AWNX div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-w9252uW5U8e8AWNX .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-w9252uW5U8e8AWNX rect.text{fill:none;stroke-width:0;}#mermaid-svg-w9252uW5U8e8AWNX .icon-shape,#mermaid-svg-w9252uW5U8e8AWNX .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-w9252uW5U8e8AWNX .icon-shape p,#mermaid-svg-w9252uW5U8e8AWNX .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-w9252uW5U8e8AWNX .icon-shape .label rect,#mermaid-svg-w9252uW5U8e8AWNX .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-w9252uW5U8e8AWNX .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-w9252uW5U8e8AWNX .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-w9252uW5U8e8AWNX :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 返回结果
Skill 层(技能包)
搜索技能
数据库技能
代码执行技能
Agent 层(身体)
规划拆解
工具调用
记忆管理
LLM 层(大脑)
语言理解
推理决策
文本生成

一句话总结三者关系

  • LLM 提供最底层的智能,是"大脑";
  • Agent 把 LLM 的智能组织成"能完成任务的系统",是"身体 + 决策流程";
  • Skill 把 Agent 需要的能力做成"可插拔的模块",是"工具箱里的螺丝刀"。

为了更直观地理解,可以想象一个真实场景:用户问"帮我查一下北京明天天气,然后告诉我适不适合跑步"。

  • LLM 负责理解这句话的意图,并判断"需要先查天气";
  • Agent 负责规划:先调用天气 Skill,再根据结果给出建议;
  • Skill 执行真正的天气查询,返回温度、风力和天气状况。

整个过程里,LLM 出智慧,Agent 出流程,Skill 出能力。三者分工不同,但缺一不可。

6. 从概念到实践:一个完整的最小示例

下面用一个"帮你查资料并总结"的场景,展示三者如何协作:

python 复制代码
# 1. 定义 Skill(可复用能力)
class SearchSkill:
    name = "web_search"
    description = "搜索网页并返回相关结果摘要"

    def run(self, query: str) -> str:
        results = search_engine(query)
        return summarize_results(results)

# 2. 组装 Agent(决策与行动)
agent = SimpleAgent(
    llm=ChatLLM(model="gpt-4o"),
    tools=[SearchSkill(), CodeRunnerSkill(), DBQuerySkill()]
)

# 3. 执行任务(LLM 在内部完成推理)
answer = agent.run("调研 2026 年 AI Agent 框架的现状,并给出对比")
print(answer)

这个例子的执行流程可以拆成三步:

  1. 定义 SkillSearchSkill 封装了"搜索 + 摘要"的完整逻辑,并提供清晰的名称与描述;
  2. 组装 Agent :把多个 Skill 注册给 SimpleAgent,由 LLM 在运行时决定调用哪个;
  3. 执行任务:用户只给出目标,Agent 内部借助 ReAct 循环不断调用 Skill,直到生成最终答案。

在这个例子里:底层智能来自 LLM,决策流程由 Agent 组织,具体能力由 Skill 提供。三者各司其职,缺一不可。如果再给这个例子加上"把搜索到的资料存到知识库"这一步,你就能直观体会到 Skill 可组合、可复用的价值------新增一个"入库" Skill,Agent 的能力就能立刻扩展。

7. 小结

理解 AI 底层概念,关键在于看到它们之间的因果关系

  • 因为 LLM 有"无行动能力"的局限,所以需要 Agent
  • 因为 Agent 的能力"难以复用和治理",所以需要 Skill
  • 因为 Skill 让能力标准化,Agent 才能规模化地解决真实问题。

下次再看到新术语时,不妨问自己一个问题:它补上了前一个概念的什么短板? 这个思考习惯,会让你在快速演进的 AI 领域始终保持清醒。

如果再往前走一步,你还可以关注三个延伸方向:

  • 多 Agent 协作:当单个 Agent 不够用时,多个 Agent 如何分工协调;
  • Skill 生态:如何设计一套可共享、可交易的 Skill 标准,让能力像软件包一样流通;
  • 评估与安全:当 Agent 拥有行动能力后,如何确保它不被误用、如何评估它的可靠性。

这些话题,都是"LLM → Agent → Skill"这条主线自然延伸出来的下一站。掌握今天这张地图,你就能更从容地继续往前走。

相关推荐
DS随心转小程序1 小时前
巧用 AI 导出鸭攻克各类难题完善 ChatGPT 输出 word 文档转化工作
人工智能·chatgpt·aigc·word·豆包·deepseek·ai导出鸭
梦想的旅途21 小时前
企微 API 二次开发:结合 AI 打造考勤打卡与报表智能分析系统
人工智能·企业微信
Kari111 小时前
腾讯云 ADP 实施问题解析:回答异常时企业如何组织排查与支持协同?
人工智能
小唔w1 小时前
文件越攒越多?三步分类归档法 + 常用工具体验分享
人工智能
2401_894915531 小时前
新手落地 Geo 优化:源码下载、依赖安装、数据库初始化完整步骤
运维·服务器·数据库·人工智能·缓存·开源
新新学长搞科研1 小时前
【ACM出版|高校主办】第二届生成式AI与数字媒体艺术国际学术会议(GAIDMA 2026)
人工智能·媒体
陈卿诺语1 小时前
MySQL错误-this is incompatible with sql_mode=only_full_group_by完美解决方案
sql·mysql·adb
网络工程小王1 小时前
【HCIE-AI】4.NLP 核心任务与技术演进学习笔记
人工智能·深度学习·自然语言处理·nlp·transformer
万维易源1 小时前
免费药品信息查询:用API 读懂常用药
java·前端·数据库·药品信息·药品查询·药品查询api