Ran Wei/ AI智能体/模块1
EN
AI智能体系列 — Ran Wei

模块1: 什么是AI智能体?

了解AI智能体是什么,它们与聊天机器人有何不同,以及使其运作的核心组件。

1

定义

AI智能体是以大语言模型(LLM)为推理核心,结合工具、记忆和规划能力,代表用户自主完成多步骤任务的软件系统。

与遵循严格预编程规则的传统软件不同,AI智能体可以解释模糊的指令、将复杂目标分解为子任务、在每一步决定使用哪些工具,并根据中间结果调整策略。LLM提供"大脑"——自然语言理解和生成能力——而周围的基础设施提供"身体"——感知、记忆和作用于世界的能力。

更正式的理解方式:AI智能体是一个接收目标、在环境中运作、并跨多个步骤采取行动以实现该目标的系统,在每一步使用LLM来决定该做什么。

类比

把AI智能体想象成一位行政助理。你说"帮我订一张下周去东京的机票,800美元以内的。"助理会查看你的日程、搜索航班选项、比较价格,然后订下最佳选项——全程不需要你微观管理每一步。而聊天机器人就像一本词典:你问一个问题,得到一个答案,交互结束。

注意

"智能体"在AI领域有悠久的历史,可追溯到1990年代(如Marvin Minsky的"心智社会")。当前浪潮的不同之处在于使用LLM作为通用推理引擎,这极大地拓宽了智能体无需特定任务编程即可处理的任务范围。

AI智能体的关键特性

研究人员已经识别出几个将真正的智能体与更简单的AI系统区分开的特性。并非每个智能体都需要所有这些特性,但了解它们有助于你为用例设计合适的复杂度级别:

注意

实践中最具影响力的特性是工具使用。配备工具的LLM可以访问实时数据、执行代码,并在现实世界中采取行动。其他一切(规划、记忆、自我纠正)都是为了提高这些工具使用决策的质量。

# A conceptual skeleton of an AI agent in Python
class AIAgent:
    def __init__(self, llm, tools, memory):
        self.llm = llm          # The reasoning engine (GPT-4o, Claude, etc.)
        self.tools = tools      # Available actions (search, calculate, etc.)
        self.memory = memory    # Short-term and long-term storage

    def run(self, goal: str, max_steps: int = 10) -> str:
        """Execute the agent loop until the goal is achieved."""
        self.memory.add("user", goal)

        for step in range(max_steps):
            # THINK: Ask the LLM what to do next
            thought = self.llm.think(self.memory.context())

            if thought.wants_tool:
                # ACT: Execute the requested tool
                result = self.tools.execute(thought.tool_call)
                # OBSERVE: Store the result for the next iteration
                self.memory.add("assistant", thought.reasoning)
                self.memory.add("tool", result)
            else:
                # DONE: Return the final answer
                return thought.response

        return "Max steps reached without a final answer."
注意

这是伪代码,用于说明架构。你将在模块5中使用实际的OpenAI和Anthropic API构建一个真正可运行的版本。关键要点是,结构出奇地简单——一个包含LLM、工具、记忆和循环的类。

AI智能体与传统软件的区别

传统软件是确定性的——给定相同的输入,总是产生相同的输出。AI智能体是随机性的——它可能会采用不同的路径来解决同一个问题。这对测试、调试和部署有深远的影响(在模块14-15中详述)。

属性传统软件AI智能体
行为确定性——遵循精确的代码路径随机性——LLM每次可能有不同的推理
错误处理Try/catch,预定义的错误码自我纠正,用不同策略重试
测试精确断言的单元测试模糊匹配的评估套件
调试逐行跟踪代码检查对话日志和推理轨迹
扩展更多服务器,负载均衡更多智能体,编排,成本管理
2

智能体 vs 聊天机器人

理解AI智能体最简单的方式是将它们与大多数人已经熟悉的聊天机器人进行对比。聊天机器人对单个提示做出单个回应。智能体跨多个步骤进行推理,决定使用哪些工具,维护上下文,并采取现实世界的行动。

当你问ChatGPT"伦敦的天气怎么样?"时,它要么从训练数据中知道答案(可能已过时),要么告诉你无法访问实时数据。当你问智能体同样的问题时,它会识别出需要当前数据,调用天气API,获取结果,格式化后返回实时答案。区别不在于智能——而在于架构

这里有一个具体的例子。假设用户说:"找出下周二从伦敦到东京最便宜的三个航班,然后发邮件给我一个摘要。"聊天机器人会生成一个看似合理但编造的列表。智能体则会:(1) 调用航班搜索API,(2) 过滤和排序结果,(3) 撰写邮件,(4) 通过邮件API发送——跨多轮推理的四个不同动作。

方面聊天机器人智能体
推理单轮——一个提示,一个回应多步骤——规划、执行和迭代
工具无(仅文本生成)搜索、API、代码执行、数据库
记忆仅会话(刷新后丢失)短期(对话)+ 长期(持久化)
行动仅文本输出现实世界影响(发邮件、写文件等)
自主性被动响应——等待每个提示目标导向——独立追求目标
错误处理无——用户必须重试自我纠正——用不同策略重试
提示

并非每个应用都需要智能体。如果你的用例是单轮问答(如"总结这个文档"),简单的LLM调用更便宜、更快、更可靠。智能体在需要多个步骤外部数据现实世界行动的任务中才大放异彩。

自主性光谱

实际上,纯聊天机器人和完全自主的智能体之间存在一个光谱。大多数现实世界的系统处于中间位置:

级别描述示例
级别0:聊天机器人单轮文本生成基本的ChatGPT对话
级别1:路由器LLM分类意图,路由到正确的处理器客户支持分流
级别2:工具使用者LLM在单步中决定调用哪个工具天气查询、计算器
级别3:智能体多步骤推理,含工具使用和自我纠正研究助手、编码智能体
级别4:多智能体多个智能体协作完成共同目标软件开发团队模拟

随着你在本教程中的进展,你将构建每个级别的系统——从简单的API调用(级别0)开始,一直到模块11中的多智能体编排(级别4)。

实际示例:聊天机器人 vs 智能体

为了使区别具体化,这里展示了当你向聊天机器人和智能体问同一个问题时会发生什么:"目前GitHub上排名前3的热门Python仓库是什么?"

# CHATBOT APPROACH: Single LLM call, no tools
# The model can only use training data (potentially months old)
response = client.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user",
               "content": "What are the top 3 trending Python repos on GitHub?"}]
)
# Result: May list repos that WERE popular during training,
# but cannot know what's trending RIGHT NOW.

# AGENT APPROACH: LLM + tool use
# The agent recognises it needs live data and calls a tool
# Step 1: LLM decides to call search_github_trending(language="python")
# Step 2: Tool returns real-time data from GitHub's API
# Step 3: LLM formats the result into a helpful response
# Result: Accurate, real-time information
3

核心组件

每个AI智能体,无论框架或实现如何,都由相同的五个核心组件构成。在编写任何代码之前,理解这些组件至关重要。

LLM核心

推理引擎——GPT-4o、Claude Sonnet 4、Gemini等。这是理解指令、生成计划和产出响应的"大脑"。

工具

智能体可调用的功能:网络搜索、计算器、API调用、代码执行、数据库查询、文件I/O。工具赋予智能体"双手"。

记忆

短期(当前对话上下文)和长期(持久化向量存储、数据库)。记忆赋予智能体跨交互的连续性。

规划

将复杂目标分解为可执行的子任务并确定操作顺序。这是"战略思考"能力。

编排

将所有组件联系在一起并管理组件间流程的控制循环(观察-思考-行动)。

深入了解LLM核心

LLM是最关键的组件。它充当决策中心,解释用户意图、生成计划、选择工具并综合结果。现代智能体通常使用最强大的可用模型——GPT-4o、Claude Sonnet 4或Gemini——因为推理质量直接决定智能体的可靠性。

LLM接收完整的对话历史(包括工具结果)作为上下文,并在每一步必须决定:是调用工具、请求用户澄清,还是给出最终答案?这种决策由系统提示(在模块3中介绍)和模型固有的能力共同指导。

工具:扩展智能体的触达范围

没有工具,智能体不过是多了几步的聊天机器人。工具使智能体能够与现实世界交互。每个工具由名称、描述(让LLM知道何时使用)和输入模式(让LLM知道提供什么参数)定义。

# Example: defining a tool for the agent to use
weather_tool = {
    "name": "get_weather",
    "description": "Get the current weather for a given city. Use this when the user asks about weather conditions.",
    "input_schema": {
        "type": "object",
        "properties": {
            "city": {"type": "string", "description": "The city name, e.g. 'London'"},
            "units": {"type": "string", "enum": ["celsius", "fahrenheit"], "description": "Temperature unit"}
        },
        "required": ["city"]
    }
}
注意

工具描述是提示工程的一部分。模糊的描述如"获取天气"会导致LLM错误地使用工具。清晰的描述如"获取指定城市的当前天气。当用户询问当前天气状况、温度或预报时使用"能显著提高工具选择的准确性。

记忆:短期 vs 长期

短期记忆是对话历史——你在每次API调用时传递的messages数组。它受模型上下文窗口的限制(如GPT-4o为128K token,Claude为200K)。随着对话增长,较旧的消息可能需要被总结或丢弃以保持在限制内。

长期记忆是外部存储——向量数据库、JSON文件或传统数据库——跨会话持久化并允许智能体"记住"过去的交互。例如,智能体可能在长期记忆中存储用户偏好("偏好公制单位"),这样就不需要每次都询问。

类比

短期记忆就像你桌上当前的文件——你可以看到并参考它们,但桌面空间有限。长期记忆就像一个档案柜——你可以存储更多内容,但需要知道要查找什么并明确检索。

规划:分解目标

规划是将"准备一份竞争分析报告"这样的高层目标分解为可操作步骤的能力:(1) 识别竞争对手,(2) 收集财务数据,(3) 分析市场定位,(4) 起草报告。高级智能体使用思维链推理ReAct(推理+行动)等技术来更有效地规划。

编排:控制循环

编排是连接所有其他组件的"胶水"。它是管理智能体循环的代码——向LLM发送消息、解析响应、执行工具调用、处理错误、以及决定任务何时完成。你可以将其想象为GUI应用的主事件循环或视频游戏的游戏循环。

在最简单的形式中,编排是一个包含if/else分支的while循环。在生产系统中,它可能包括重试逻辑、并行工具执行、人工审批门控和成本跟踪。我们将从模块5开始逐步构建。

# The orchestration loop in its simplest form
def agent_loop(user_goal, llm, tools, max_steps=10):
    messages = [{"role": "user", "content": user_goal}]

    for step in range(max_steps):
        response = llm.generate(messages)       # Think

        if response.wants_tool:                  # Needs more info?
            result = tools.run(response.tool)    # Act
            messages.append(response.as_message())
            messages.append(result.as_message()) # Observe
        else:
            return response.text                 # Done!

    return "Reached max steps without completing."

组件如何协同工作

以下是所有五个组件在真实场景中交互的演示。用户问:"苹果公司上季度的收入是多少?"

  1. 编排接收用户消息并启动循环
  2. LLM核心(Claude Sonnet 4)推理:"我需要财务数据。我应该使用search_sec_filings工具。"
  3. 规划(隐含在LLM的推理中):决定搜索苹果最新的10-Q文件
  4. 工具search_sec_filings函数调用SEC EDGAR API并返回文件数据
  5. 记忆:工具结果被添加到对话历史中
  6. LLM核心读取文件数据,提取收入数字,并格式化响应
  7. 编排检测到LLM已完成(没有更多工具调用)并将最终答案返回给用户
提示

构建第一个智能体时,从LLM + 一个工具 + 循环开始。只在需要时才添加记忆和规划的复杂性。过早的复杂性是智能体项目失败的首要原因。

4

智能体生态 (2025-2026)

AI智能体生态系统自2024年以来已经爆发。曾经是小众研究领域的它,已成为AI行业增长最快的细分市场,每家主要科技公司都在大力投资智能体基础设施。预计到2030年市场规模将达到500亿美元。

两个关键协议已成为智能体通信的行业标准。Anthropic推出的MCP(模型上下文协议)标准化了智能体连接外部工具和数据源的方式——可以把它想象成"AI智能体的USB-C"。Google推出的A2A(智能体到智能体)使不同供应商构建的智能体能够相互通信和协作完成任务。这两个协议共同解决了之前使不同供应商的智能体无法协同工作的互操作性问题。

类比

MCP就像工具的万能适配器。在MCP之前,每个智能体框架都有自己连接工具的方式——就像每部手机都有不同的充电线。MCP标准化了连接方式,使任何按MCP规范构建的工具都能与任何支持MCP的智能体配合使用。A2A做的是同样的事情,但针对的是智能体之间的通信,而非智能体到工具的通信。

该生态大致可分为三个层次:

层次包含内容示例
基础模型驱动智能体推理的LLMGPT-4o、Claude Sonnet 4、Gemini 2.5 Pro
智能体框架构建智能体的库和SDKLangChain、CrewAI、OpenAI Agents SDK、Claude Agent SDK
智能体平台部署智能体的端到端托管解决方案OpenAI Assistants API、Amazon Bedrock Agents、Google Vertex AI Agent Builder
注意

智能体生态系统发展极为迅速。今天的标准框架和最佳实践可能在数月内被取代。请专注于理解核心概念(LLM推理、工具使用、记忆、规划),而不是记忆特定的API签名——这些概念在所有框架中都是通用的。

智能体的当前应用

关键行业趋势

几个趋势正在塑造当前的智能体生态:

本教程系列涵盖的内容

这个15模块的系列将带你从零到可投入生产的AI智能体。以下是你将学到的路线图:

模块1–5:基础

核心概念、环境搭建、提示工程、API调用和智能体循环。到模块5结束,你将拥有一个可工作的智能体。

模块6–9:能力

工具使用、记忆管理、RAG(检索增强生成)和MCP(模型上下文协议)用于连接外部服务。

模块10–12:架构

智能体框架(LangChain、CrewAI)、多智能体编排和A2A(智能体到智能体)通信协议。

模块13–15:生产

安全护栏、测试与评估、部署最佳实践和成本优化策略。

提示

学习智能体的最佳方式就是构建一个。从模块2开始,我们将搭建你的开发环境并开始编写代码。到模块5结束,你将拥有一个能够推理、使用工具和维护对话上下文的工作智能体。

本系列的前置知识

要充分利用本教程,你应该具备:

无需LLM、API或AI的先前经验。我们将从头开始介绍所有内容。

下一模块

模块2 — 环境搭建与API配置