AI Agent(智能体)深度学习教程

版本: v1.0 | 日期: 2026-06-03 | 作者: 实战笔记系列

从零到一掌握 AI Agent 核心原理与实践,覆盖 LLM 大脑、规划推理、工具调用、记忆系统、多智能体协作等完整知识体系。


目录

  1. 一、AI Agent 简介
  • 1.1 什么是 AI Agent?
  • 1.2 谁适合学习本教程?
  • 1.3 思维转变:从对话到任务执行
  1. 二、AI Agent 核心概念
  • 2.1 结构组成四要素
  • 2.2 运行方式详解
  • 2.3 与普通大模型的区别
  • 2.4 类比理解
  • 2.5 实例场景:北京三日游
  1. 三、AI Agent 工作原理
  • 3.1 架构总览
  • 3.2 Python 代码示例:天气穿衣助手
  • 3.3 Agent 运行循环(ReAct 模式)
  • 3.4 工具调用(Tool Calling)机制
  • 3.5 记忆系统设计
  1. 四、AI Agent 完整课程体系
  • 4.1 理论基础路线
  • 4.2 实践操作路线
  • 4.3 Vibe Coding 新范式
  • 4.4 Python 实现智能体路线
  1. 五、核心工具与平台实战
  • 5.1 Claude Code 入门
  • 5.2 Skills 系统教程
  • 5.3 LangChain / LangGraph 实战
  • 5.4 CrewAI 多智能体协作
  • 5.5 OpenClaw (Clawdbot) 教程
  1. 六、学习资源推荐
  2. 七、快速体验:无代码构建 Agent
  3. 八、实战项目:构建一个智能助手
  4. 附录:术语表与参考

一、AI Agent 简介

1.1 什么是 AI Agent?

AI Agent(人工智能智能体 / Artificial Intelligence Agent) 是一种能够感知环境、自主决策并执行行动以达成目标的智能软件实体。

与传统的"一问一答"聊天机器人不同,AI Agent 不仅仅是"回答问题",而是能够"动手做事"。

┌──────────────────────────────────────────────────────────────────────┐
│                     AI Agent 核心公式                                  │
├──────────────────────────────────────────────────────────────────────┤
│                                                                       │
│   Agent = LLM (大脑) + Planning (规划) + Tool Use (执行) + Memory (记忆) │
│                                                                       │
│   ┌──────────┐    ┌──────────┐    ┌──────────┐    ┌──────────┐       │
│   │  🧠 LLM  │    │  📋 规划  │    │  🔧 工具  │    │  🗄️  记忆  │       │
│   │ 大语言模型│    │ Planning │    │ Tool Use │    │  Memory  │       │
│   │          │    │          │    │          │    │          │       │
│   │  理解意图 │───→│  拆解任务 │───→│  执行操作 │───→│  存储上下文│       │
│   │  生成方案 │    │  编排步骤 │    │  调用 API │    │  积累经验 │       │
│   └──────────┘    └──────────┘    └──────────┘    └──────────┘       │
│                                                                       │
└──────────────────────────────────────────────────────────────────────┘

与传统聊天机器人的对比

维度 传统 Chatbot AI Agent
输入 自然语言问题 目标/任务描述
处理 单轮 NLU → NLG 多轮推理 + 工具调用
输出 文本回复 文本回复 + 实际行动
状态 无状态(每次独立) 有状态(记忆上下文)
能力边界 受限训练数据 可通过工具扩展
典型场景 客服问答、闲聊 自动化工作流、数据分析、代码生成

1.2 谁适合学习本教程?

目标人群 学习方向 预期收获
想用 AI 自动化日常任务的人 了解 Agent 能做什么、如何接入 用 Agent 替代重复工作
编程新手 基础概念 → Vibe Coding → 实践 零代码或低代码构建 Agent
零基础但会电脑操作 无代码平台体验 → 理解原理 从"聊天"升级到"干活"
有编程基础的学习者 Python Agent 开发 → 多智能体系统 从零构建生产级 Agent
DevOps / 运维工程师 Agent + 工具集成 → 自动化运维 智能告警、自动修复

1.3 思维转变:从对话到任务执行

旧思维:人 → 「帮我查天气」 → AI → 「北京今天晴,22°C」 → 人自己决定穿什么
─────────────────────────────────────────────────────────────────────
新思维:人 → 「明天去北京出差,行程怎么安排?」 → Agent ─┐
                                                        ├→ 查天气
                                                        ├→ 查航班
                                                        ├→ 订酒店
                                                        ├→ 排日程
                                                        └→ 返回完整方案

核心思维转变:从"对话框问答"(Dialog-based Q&A)升级为"目标驱动的任务执行"(Goal-driven Task Execution)。Agent 不再是被动的信息提供者,而是主动的任务完成者。


二、AI Agent 核心概念

2.1 结构组成四要素

┌──────────────────────────────────────────────────────────────────────┐
│                      Agent 结构四要素详解                              │
├──────────────────────────────────────────────────────────────────────┤
│                                                                       │
│  ┌──────────────────────────────────────────────────────────────┐   │
│  │  🎯 目标 (Goal)                                               │   │
│  │  ─────────────────────────────────────────────────────────── │   │
│  │  明确任务意图:用户想达成什么结果?                            │   │
│  │  示例:"规划三天北京行程,预算 5000 元"                        │   │
│  │  好的目标 = 可量化、有边界、可验证                             │   │
│  └──────────────────────────────────────────────────────────────┘   │
│                              │                                        │
│                              ▼                                        │
│  ┌──────────────────────────────────────────────────────────────┐   │
│  │  📋 逻辑/推理 (Reasoning / Planning)                           │   │
│  │  ─────────────────────────────────────────────────────────── │   │
│  │  按规则拆解为可执行步骤:                                      │   │
│  │    步骤1: 查询北京未来三天天气                                 │   │
│  │    步骤2: 搜索北京热门景点                                     │   │
│  │    步骤3: 查询机票/高铁价格                                    │   │
│  │    步骤4: 按预算筛选酒店                                       │   │
│  │    步骤5: 编排生成最终行程表                                   │   │
│  │  常用方法: ReAct, Chain-of-Thought, Tree-of-Thoughts          │   │
│  └──────────────────────────────────────────────────────────────┘   │
│                              │                                        │
│                              ▼                                        │
│  ┌──────────────────────────────────────────────────────────────┐   │
│  │  🔧 工具 (Tools)                                              │   │
│  │  ─────────────────────────────────────────────────────────── │   │
│  │  通过代码或 API 落地执行:                                     │   │
│  │    search_web(query)     → 搜索引擎 API                       │   │
│  │    get_weather(city)     → 天气 API                           │   │
│  │    query_flights(from,to)→ 机票 API                           │   │
│  │    book_hotel(...)       → 酒店预订 API                       │   │
│  │    send_email(...)       → 邮件 API                           │   │
│  │  工具 = Agent 的"手脚",将意图转化为现实世界的行动             │   │
│  └──────────────────────────────────────────────────────────────┘   │
│                              │                                        │
│                              ▼                                        │
│  ┌──────────────────────────────────────────────────────────────┐   │
│  │  🗄️   记忆 (Memory)                                           │   │
│  │  ─────────────────────────────────────────────────────────── │   │
│  │  短时记忆 (Short-term):当前对话上下文、中间结果               │   │
│  │  长时记忆 (Long-term):用户偏好、历史经验、知识库              │   │
│  │  工作记忆 (Working):当前任务执行中的临时状态                  │   │
│  │  示例:记住用户"不吃辣"的偏好,后续推荐餐厅时自动过滤          │   │
│  └──────────────────────────────────────────────────────────────┘   │
│                                                                       │
└──────────────────────────────────────────────────────────────────────┘

2.2 运行方式详解

Agent 的完整运行闭环:

                       ┌──────────────────────────────────┐
                       │         Agent 运行闭环            │
                       └──────────────────────────────────┘

   ① 接收输入           ② 理解+判断           ③ 拆解任务
   User: "帮我订        LLM 理解意图:         ReAct 规划:
   明天去上海的          出差订票需求            1) 查航班
   机票"        ──────→ 紧急程度:高     ──────→ 2) 比较价格
                                                3) 选择下单

        │                                            │
        │           ┌────────────────────┐           │
        │           │   ⑦ 调整策略        │           │
        │           │   遇到错误/阻塞     │           │
        │           │   重新规划路线      │←──────────┤
        │           └────────────────────┘           │
        │                    ▲                       │
        ▼                    │                       ▼
   ⑥ 返回结果               │               ④ 调用工具
   "已为您预订                │               search_flights(
    MU5101 航班               │                from=上海,
    8:00-10:30                │                to=北京,
    ¥680"       ──────────────┘                date=2026-06-04
                                               )
        │                                            │
        └────────────── ⑤ 解析结果 ◄────────────────┘
                       提取航班号、时间、价格
                       存入短时记忆

关键能力说明

阶段 能力 说明
① 接收输入 意图理解(Intent Understanding) 支持自然语言、图像、语音等多模态输入
② 理解判断 语义解析 + 实体提取 从"明天去上海"中提取 date=2026-06-04、dest=上海
③ 拆解任务 任务分解(Task Decomposition) 将一个复杂目标分解为有序的子任务链
④ 调用工具 工具选择与参数填充 根据任务类型自动选择合适的工具并填入参数
⑤ 解析结果 结构化数据提取 将 API 返回的 JSON 转为人类可读信息
⑥ 返回结果 多模态输出 文字 + 表格 + 链接 + 操作确认
⑦ 调整策略 错误恢复与重规划 遇阻时自动寻找替代方案

2.3 与普通大模型的区别

维度 普通大模型(LLM) AI Agent
核心能力 文本生成 文本生成 + 行动执行
交互模式 单轮/多轮对话 目标驱动的多步任务链
工具调用 ❌ 不支持 ✅ 支持(API、代码、函数)
记忆系统 仅会话上下文 短期 + 长期 + 工作记忆
自主性 被动响应 主动规划、自主决策
行动边界 仅输出文本 操作文件、访问网络、调用服务
错误处理 自动重试、降级策略
典型输出 “建议你穿外套” “已发邮件给你的助理,附上穿衣建议”
普通 LLM:
  你: "帮我分析这份 Excel 销售数据"
  LLM: "请上传文件,我无法直接访问你的电脑"

AI Agent:
  你: "帮我分析这份 Excel 销售数据"
  Agent: 
    ① 读取 D:/reports/sales.xlsx
    ② 按月份汇总销售额
    ③ 生成趋势图
    ④ 输出分析报告到 D:/reports/analysis.md
    ⑤ "分析完成!已生成报告到 analysis.md,要点:本月环比+15%"

2.4 类比理解

┌──────────────────────────────────────────────────────────────────────┐
│                        两种"程序"的对比                               │
├──────────────────────────────────────────────────────────────────────┤
│                                                                       │
│   传统程序 = 自动售货机                     AI Agent = 私人助理        │
│   ────────────────                         ────────────────           │
│                                                                       │
│   ┌──────────────┐                         ┌──────────────┐          │
│   │  🥤 投币 →   │                          │  👤 "帮我安排  │          │
│   │  选按钮 →   │                          │  明天行程"    │          │
│   │  出货       │                          │               │          │
│   └──────────────┘                          │  ① 查日历    │          │
│                                              │  ② 预约会议  │          │
│   ✅ 固定流程(if-else)                    │  ③ 订餐厅    │          │
│   ✅ 可预测、可靠                           │  ④ 发邮件    │          │
│   ❌ 无法处理未知场景                       │               │          │
│   ❌ 无自主决策                             │  ⑤ 回复你    │          │
│                                              └──────────────┘          │
│                                              ✅ 自主规划              │
│                                              ✅ 灵活应变              │
│                                              ⚠️  结果需验证          │
│                                                                       │
└──────────────────────────────────────────────────────────────────────┘

2.5 实例场景:北京三日游

以"规划三天北京行程,预算 5000 元"为例,演示 Agent 的完整工作流程:

┌──────────────────────────────────────────────────────────────────────┐
│  🎯 目标: 规划三天北京行程,预算 ¥5000                                │
├──────────────────────────────────────────────────────────────────────┤
│                                                                       │
│  Step 1 — 信息收集                                                    │
│  ┌────────────────────────────────────────────────────────────────┐  │
│  │ 🔧 search_flights("深圳→北京", "2026-06-10")                    │  │
│  │    → 共 15 班航班,最低 ¥650,最高 ¥2100                        │  │
│  │ 🔧 get_weather("北京", "2026-06-10..2026-06-12")               │  │
│  │    → 晴 28°C / 多云 25°C / 小雨 22°C                            │  │
│  │ 🔧 search_hotels("北京", budget="<300/晚")                      │  │
│  │    → 3 家可选酒店,均价 ¥220-280/晚                             │  │
│  │ 🔧 search_attractions("北京", "热门")                           │  │
│  │    → 故宫 ¥60, 长城 ¥40, 颐和园 ¥30, 天坛 ¥15                  │  │
│  └────────────────────────────────────────────────────────────────┘  │
│                                    │                                   │
│                                    ▼                                   │
│  Step 2 — 预算规划                                                    │
│  ┌────────────────────────────────────────────────────────────────┐  │
│  │  机票往返:     ¥650 × 2 = ¥1300                                 │  │
│  │  酒店(2晚):    ¥250 × 2 = ¥500                                  │  │
│  │  景点门票:     故宫+长城+颐和园+天坛 = ¥145                     │  │
│  │  餐饮预算:     ¥120 × 3天 = ¥360                                │  │
│  │  交通(市内):   ¥50 × 3天 = ¥150                                 │  │
│  │  ─────────────────────────────────────                          │  │
│  │  合计: ¥2455 ✅ 在 ¥5000 预算内                                  │  │
│  └────────────────────────────────────────────────────────────────┘  │
│                                    │                                   │
│                                    ▼                                   │
│  Step 3 — 生成行程                                                    │
│  ┌────────────────────────────────────────────────────────────────┐  │
│  │  📅 Day 1 (6/10 晴 28°C)                                       │  │
│  │   08:00 抵达北京首都机场                                         │  │
│  │   10:00 入住酒店(如家·王府井店 ¥240/晚)                       │  │
│  │   12:00 午餐:护国寺小吃 ¥35                                    │  │
│  │   14:00 故宫博物院 ¥60(需提前预约)                            │  │
│  │   18:00 晚餐:全聚德烤鸭 ¥120                                   │  │
│  │                                                                  │  │
│  │  📅 Day 2 (6/11 多云 25°C)                                     │  │
│  │   07:00 出发 → 八达岭长城 ¥40                                   │  │
│  │   12:00 午餐:长城脚下农家菜 ¥50                                │  │
│  │   15:00 返回市区 → 颐和园 ¥30                                   │  │
│  │   19:00 晚餐:簋街 ¥100                                         │  │
│  │                                                                  │  │
│  │  📅 Day 3 (6/12 小雨 22°C)                                     │  │
│  │   09:00 天坛公园 ¥15                                            │  │
│  │   11:00 前门大街逛街                                             │  │
│  │   14:00 前往机场 → 16:00 航班返回                               │  │
│  └────────────────────────────────────────────────────────────────┘  │
│                                                                       │
│  💰 预算使用率: 49.1% | 剩余 ¥2545                                   │
│  ⚠️  提示: Day 3 有雨,建议携带雨具                                  │
│                                                                       │
└──────────────────────────────────────────────────────────────────────┘

三、AI Agent 工作原理

3.1 架构总览

┌──────────────────────────────────────────────────────────────────────┐
│                     AI Agent 通用架构                                  │
├──────────────────────────────────────────────────────────────────────┤
│                                                                       │
│   ┌─────────────────────────────────────────────────────────────┐    │
│   │                      用户界面层 (UI)                          │    │
│   │               Chat / Voice / CLI / API Gateway               │    │
│   └──────────────────────────┬──────────────────────────────────┘    │
│                              │                                        │
│                              ▼                                        │
│   ┌─────────────────────────────────────────────────────────────┐    │
│   │                     Agent 核心 (Core)                         │    │
│   │  ┌──────────┐  ┌──────────┐  ┌──────────┐  ┌──────────┐     │    │
│   │  │ 规划器    │  │ 执行器    │  │ 记忆管理  │  │ 安全守卫  │     │    │
│   │  │ Planner  │  │ Executor │  │  Memory  │  │  Guard   │     │    │
│   │  └──────────┘  └──────────┘  └──────────┘  └──────────┘     │    │
│   └──────────────────────────┬──────────────────────────────────┘    │
│                              │                                        │
│                              ▼                                        │
│   ┌─────────────────────────────────────────────────────────────┐    │
│   │                       LLM 层 (Brain)                          │    │
│   │  GPT-4 / Claude / Gemini / DeepSeek / Qwen / LLaMA           │    │
│   └──────────────────────────┬──────────────────────────────────┘    │
│                              │                                        │
│                              ▼                                        │
│   ┌─────────────────────────────────────────────────────────────┐    │
│   │                    工具层 (Tools)                              │    │
│   │  ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐    │    │
│   │  │ 搜索   │ │ 代码   │ │ 文件   │ │ API    │ │ 浏览器  │    │    │
│   │  │ Search │ │ Code   │ │ File   │ │ Call   │ │Browser │    │    │
│   │  └────────┘ └────────┘ └────────┘ └────────┘ └────────┘    │    │
│   └─────────────────────────────────────────────────────────────┘    │
│                                                                       │
└──────────────────────────────────────────────────────────────────────┘

3.2 Python 代码示例:天气穿衣助手

下面是一个完整的 AI Agent 最小实现,无需任何框架依赖,仅用 Python + OpenAI API:

"""
天气穿衣助手 Agent — 最小可运行示例
依赖: pip install openai requests
"""

import json
import requests
from openai import OpenAI

# ─── 1. 定义工具 (Tools) ───
def get_weather(city: str) -> dict:
    """获取城市天气(模拟数据)"""
    # 实际项目中替换为天气 API(和风/OpenWeather/中国气象局)
    weather_data = {
        "北京": {"temp": 22, "humidity": 45, "condition": "晴"},
        "上海": {"temp": 28, "humidity": 80, "condition": "多云转小雨"},
        "深圳": {"temp": 32, "humidity": 90, "condition": "雷阵雨"},
    }
    return weather_data.get(city, {"temp": 20, "humidity": 60, "condition": "未知"})

def suggest_clothing(temp: int, humidity: int, condition: str) -> str:
    """根据天气生成穿衣建议"""
    suggestion = ""

    # 温度判断
    if temp < 10:
        suggestion += "❄️ 寒冷 | 建议羽绒服 + 围巾 + 手套\n"
    elif temp < 20:
        suggestion += "🍂 微凉 | 建议薄外套 + 长裤\n"
    elif temp < 28:
        suggestion += "☀️ 温暖 | 建议短袖 + 薄长裤\n"
    else:
        suggestion += "🔥 炎热 | 建议短袖短裤 + 防晒\n"

    # 湿度判断
    if humidity > 70:
        suggestion += "💧 潮湿 | 携带雨具,注意防潮\n"
    elif humidity < 30:
        suggestion += "🏜️ 干燥 | 注意补水保湿\n"

    # 天气判断
    if "雨" in condition:
        suggestion += "🌧️ 有雨 | 务必带伞!\n"
    elif "雪" in condition:
        suggestion += "🌨️ 有雪 | 穿防滑鞋\n"

    return suggestion


# ─── 2. 定义工具调用协议 ───
TOOLS = [
    {
        "type": "function",
        "function": {
            "name": "get_weather",
            "description": "获取指定城市的实时天气,返回温度(°C)、湿度和天气状况",
            "parameters": {
                "type": "object",
                "properties": {
                    "city": {
                        "type": "string",
                        "description": "城市名称,如: 北京、上海、深圳"
                    }
                },
                "required": ["city"]
            }
        }
    }
]

# 工具名 → 函数映射
TOOL_MAP = {
    "get_weather": get_weather,
}


# ─── 3. Agent 主类 ───
class WeatherAgent:
    """
    AI Agent — 天气穿衣助手

    核心组件:
      - tools: 可调用的工具函数
      - memory: 存储中间结果和上下文
      - run:   解析指令 → 规划 → 执行 → 输出
    """

    def __init__(self, api_key: str, model: str = "gpt-4o-mini"):
        self.client = OpenAI(api_key=api_key, base_url="https://api.openai.com/v1")
        self.model = model
        self.memory: list[dict] = []  # 对话历史

    def run(self, user_input: str) -> str:
        """主运行方法"""
        print(f"👤 用户: {user_input}")
        print("🤖 Agent 工作中...")

        # Step 1: 添加用户消息到记忆
        self.memory.append({"role": "user", "content": user_input})

        # Step 2: 调用 LLM 获取响应(可能包含工具调用请求)
        response = self.client.chat.completions.create(
            model=self.model,
            messages=[
                {"role": "system", "content": (
                    "你是一个穿衣助手 Agent。用户会询问某个城市的天气并寻求穿衣建议。"
                    "请先调用 get_weather 工具获取天气数据,\
然后根据温度、湿度、天气状况给出穿衣建议。"
                    "回复风格:简洁、实用、友好。"
                )},
                *self.memory
            ],
            tools=TOOLS,
            tool_choice="auto",  # 让 LLM 自动决定是否需要调用工具
        )

        assistant_msg = response.choices[0].message

        # Step 3: 处理工具调用请求
        if assistant_msg.tool_calls:
            print(f"  🔧 调用工具: {assistant_msg.tool_calls[0].function.name}")

            for tool_call in assistant_msg.tool_calls:
                func_name = tool_call.function.name
                func_args = json.loads(tool_call.function.arguments)

                # 执行工具
                func = TOOL_MAP[func_name]
                weather = func(**func_args)  # 获取天气数据

                # 生成穿衣建议
                clothing_advice = suggest_clothing(
                    weather["temp"], weather["humidity"], weather["condition"]
                )

                # Step 4: 将工具结果返回给 LLM 生成最终回复
                self.memory.append(assistant_msg.model_dump())
                self.memory.append({
                    "role": "tool",
                    "tool_call_id": tool_call.id,
                    "content": json.dumps(weather, ensure_ascii=False)
                })

            # 调用 LLM 生成最终自然语言回复
            final_response = self.client.chat.completions.create(
                model=self.model,
                messages=self.memory
            )
            reply = final_response.choices[0].message.content
        else:
            # LLM 直接回复(无需工具)
            reply = assistant_msg.content

        # Step 5: 保存回复到记忆
        self.memory.append({"role": "assistant", "content": reply})

        print(f"🤖 Agent: {reply}\n")
        return reply


# ─── 4. 运行示例 ───
if __name__ == "__main__":
    import os

    # 初始化 Agent(请替换为你的 API Key)
    agent = WeatherAgent(
        api_key=os.getenv("OPENAI_API_KEY", "sk-your-key-here"),
        model="gpt-4o-mini"
    )

    # 测试用例
    test_cases = [
        "我想知道北京的天气,该怎么穿衣服?",
        "明天去上海出差,需要带伞吗?",
        "深圳今天的天气适合跑步吗?",
    ]

    for question in test_cases:
        agent.run(question)
        print("-" * 50)

代码执行流程解析

用户输入: "我想知道北京的天气,该怎么穿衣服?"
    │
    ▼
┌──────────────────────────────────────────┐
│ ① LLM 分析意图                            │
│    → 需要调用 get_weather 工具            │
│    → 从输入中提取 city=北京               │
│    → 生成 tool_calls:                     │
│      [{function: "get_weather",           │
│        args: {city: "北京"}}]             │
└──────────────────┬───────────────────────┘
                   ▼
┌──────────────────────────────────────────┐
│ ② Agent 执行工具                          │
│   get_weather("北京") = {                 │
│     temp: 22, 湿度: 45%, 天气: 晴        │
│   }                                       │
│   suggest_clothing(...) =                 │
│     "温暖 | 短袖 + 薄长裤"                │
└──────────────────┬───────────────────────┘
                   ▼
┌──────────────────────────────────────────┐
│ ③ 将工具结果返回 LLM                     │
│   LLM 整理为自然语言:                     │
│   "北京今天晴,22°C,湿度45%。建议穿     │
│    短袖+薄长裤,天气干燥注意补水!"       │
└──────────────────┬───────────────────────┘
                   ▼
┌──────────────────────────────────────────┐
│ ④ 回复用户 + 存入记忆                    │
│   memory.append(assistant_reply)          │
│   下次用户问"那上海呢?"时 Agent 可      │
│   利用记忆直接关联上下文                  │
└──────────────────────────────────────────┘

3.3 Agent 运行循环(ReAct 模式)

ReAct(Reasoning + Acting) 是当前最主流的 Agent 推理模式:

┌──────────────────────────────────────────────────────────────────────┐
│                    ReAct 循环 (Reasoning + Acting)                     │
├──────────────────────────────────────────────────────────────────────┤
│                                                                       │
│   ┌──────────┐     ┌──────────┐     ┌──────────┐     ┌──────────┐   │
│   │ Thought  │────→│  Action  │────→│Observation│────→│ Thought  │   │
│   │  思考    │     │  行动    │     │  观察    │     │  思考    │   │
│   └──────────┘     └──────────┘     └──────────┘     └──────────┘   │
│        ▲                                                    │        │
│        │     ┌──────────────────────────────────────┐      │        │
│        └─────│         循环直到任务完成               │◄─────┘        │
│              │  最终 Answer: "任务完成,结果是..."     │              │
│              └──────────────────────────────────────┘              │
│                                                                       │
│   示例流程(订机票):                                                │
│   Thought 1: "我需要先查询航班"                                      │
│   Action 1:  search_flights("北京→上海", "明天")                     │
│   Observe 1: {flights: [{MU5101, ¥680}, {CA1234, ¥920}]}            │
│   Thought 2: "MU5101 价格合适,但需要确认时间"                       │
│   Action 2:  get_flight_detail("MU5101")                            │
│   Observe 2: {dep: "08:00", arr: "10:30", seats: 23}                │
│   Thought 3: "时间合适,座位充足,可以下单"                           │
│   Action 3:  book_flight("MU5101", passenger="用户")               │
│   Observe 3: {status: "success", order_id: "FL20260603001"}         │
│   Thought 4: "预订成功"                                               │
│   Answer:    "已为您预订 MU5101 航班,8:00-10:30,订单号 FL20260603..."│
│                                                                       │
└──────────────────────────────────────────────────────────────────────┘

3.4 工具调用(Tool Calling)机制

工具调用是 Agent "动手能力"的核心,分为函数调用(Function Calling)MCP 协议两种主流方式:

方式 原理 适用场景 代表实现
Function Calling LLM 输出 JSON 描述要调用的函数名和参数 简单工具、API 调用 OpenAI / Claude API
MCP (Model Context Protocol) 标准化的工具连接协议 复杂工具集成、多服务协作 Anthropic MCP
Code Execution LLM 直接生成可执行代码 数据分析、文件操作 Code Interpreter
Browser Control LLM 控制浏览器操作 Web 自动化、信息采集 Playwright / Selenium
# Function Calling 的 JSON Schema 定义示例
TOOL_SCHEMA = {
    "name": "send_email",
    "description": "发送邮件",
    "parameters": {
        "type": "object",
        "properties": {
            "to":       {"type": "string", "description": "收件人邮箱"},
            "subject":  {"type": "string", "description": "邮件主题"},
            "body":     {"type": "string", "description": "邮件正文"},
            "cc":       {"type": "string", "description": "抄送邮箱(可选)"},
        },
        "required": ["to", "subject", "body"]
    }
}

3.5 记忆系统设计

┌──────────────────────────────────────────────────────────────────────┐
│                     Agent 三级记忆系统                                 │
├──────────────────────────────────────────────────────────────────────┤
│                                                                       │
│   ┌─────────────────────────────────────────────────────────────┐    │
│   │ 🗄️   工作记忆 (Working Memory)    生命周期: 当前任务          │    │
│   │ ─────────────────────────────────────────────────────────── │    │
│   │ 存放: 当前执行的中间步骤、工具调用结果、临时变量              │    │
│   │ 实现: Python 变量 / Redis / memcached                       │    │
│   │ 容量: 小(单次任务上下文)                                    │    │
│   └─────────────────────────────────────────────────────────────┘    │
│                              │                                        │
│                              ▼                                        │
│   ┌─────────────────────────────────────────────────────────────┐    │
│   │ 🗄️   短期记忆 (Short-term Memory)  生命周期: 当前会话          │    │
│   │ ─────────────────────────────────────────────────────────── │    │
│   │ 存放: 对话历史、用户偏好、上下文关联                          │    │
│   │ 实现: LLM 上下文窗口 / 会话缓存                              │    │
│   │ 容量: 中等(受 LLM Context Window 限制)                     │    │
│   └─────────────────────────────────────────────────────────────┘    │
│                              │                                        │
│                              ▼                                        │
│   ┌─────────────────────────────────────────────────────────────┐    │
│   │ 🗄️   长期记忆 (Long-term Memory)   生命周期: 跨会话持久化      │    │
│   │ ─────────────────────────────────────────────────────────── │    │
│   │ 存放: 用户档案、知识库、历史经验、项目文档                    │    │
│   │ 实现: 向量数据库 (Milvus/Pinecone) / PostgreSQL / 文件系统  │    │
│   │ 容量: 大(无上限)                                            │    │
│   └─────────────────────────────────────────────────────────────┘    │
│                                                                       │
└──────────────────────────────────────────────────────────────────────┘

四、AI Agent 完整课程体系

4.1 理论基础路线

                    AI Agent 理论知识栈(由底向上)

  Layer 6  Agent 架构设计  → 单智能体 → 多智能体协作
  Layer 5  Agent 上下文工程 & Harness Engineering
  Layer 4  RAG & 向量数据库
  Layer 3  推理与规划 (CoT/ToT/ReAct/Plan-and-Solve)
  Layer 2  提示词工程 & Token 概念
  Layer 1  大语言模型基础 (Transformer/预训练/微调/RLHF)
层级 主题 核心知识点
Layer 1 LLM 基础 Transformer、自注意力、预训练vs微调、RLHF、模型量化
Layer 2 提示词工程 System Prompt、Few-shot、CoT、角色扮演
Layer 3 Token BPE分词、Token计数、成本计算、上下文窗口
Layer 4 推理与规划 ReAct、Chain-of-Thought、Tree-of-Thoughts
Layer 5 向量数据库 Embedding、相似度搜索、Milvus/Pinecone/ChromaDB
Layer 6 RAG 文档加载→切分→向量化→检索→增强生成
Layer 7 上下文工程 上下文窗口管理、动态提示词组装
Layer 8 Agent架构 单Agent vs 多Agent、Orchestrator/Worker模式
Layer 9 Harness 安全护栏、输入验证、输出过滤
Layer 10 Hermes Agent 推理型Agent模式、自我纠错、元认知

4.2 实践操作路线

  新手入门(1-3天)   → Miaoda无代码 + Claude Code安装
       ↓
  基础进阶(1-2周)   → Claude Code深度 + Vibe Coding + Skills
       ↓
  框架实战(2-4周)   → LangChain + LangGraph + CrewAI + OpenClaw
       ↓
  Python原生(4-8周) → Python完整Agent + RAG + 多Agent + 部署

4.3 Vibe Coding 新范式

工具 定位 特点
Claude Code 最强AI编程助手 Skills系统、MCP支持、全栈开发
OpenCode 开源AI编程Agent Coding Plan、CC Switch
Qoder 开发平台 Quest模式(任务驱动)、CLI
Trae 字节跳动出品 Solo模式、中文友好
AI MonkeyCode AI开发平台 可视化编程、一键部署

4.4 Python 实现 Agent 完整路线

阶段 内容 核心技术
① 环境配置 Python 3.10+、Poetry/venv 开发环境搭建
② 第一个Agent 工具调用+LLM循环 OpenAI Function Calling
③ 记忆系统 短期/长期/工作记忆 Redis/ChromaDB/SQLite
④ 推理规划 ReAct/CoT实现 提示词工程+循环控制
⑤ RAG集成 知识检索增强 Embedding+向量搜索
⑥ 多智能体 多Agent协作 CrewAI/AutoGen
⑦ 多模态 图像/语音处理 GPT-4V/Whisper
⑧ 安全对齐 输入验证/输出过滤 Guardrails
⑨ 生产部署 Docker/K8s/监控 FastAPI/Prometheus

五、核心工具与平台实战

5.1 Claude Code 入门

npm install -g @anthropic-ai/claude-code
claude                      # 交互模式
claude -p "write a server" # 单次任务
claude --resume             # 恢复会话

Claude Code 核心能力:自动读项目结构→自主选工具→多步任务编排→MCP连接外部服务。

5.2 Skills 系统

Skills = Agent的"能力包",三级存储:

级别 存储 示例
User-level ~/.workbuddy/skills/ PDF处理、Excel、Git
Project-level {project}/.workbuddy/skills/ API调用、部署脚本
Built-in 应用内置 多模态生成、云部署

5.3 LangChain / LangGraph

特性 LangChain LangGraph
定位 Agent开发框架 有状态Agent编排
核心概念 Chain/Tool/Memory Graph/Node/Edge/State
适用场景 线性工作流 复杂多步、条件分支、循环
# LangGraph 最小示例
from langgraph.graph import StateGraph, END
class State(TypedDict):
    query: str; result: str | None

graph = StateGraph(State)
graph.add_node('fetch', lambda s: s.update({'result': 'done'}) or s)
graph.add_edge('fetch', END)
graph.set_entry_point('fetch')
app = graph.compile()

5.4 CrewAI 多智能体

三个角色协作完成任务:研究员(收集数据)→撰写员(写报告)→审核员(质量把关)

5.5 OpenClaw / Clawdbot

开源多平台Agent机器人框架,支持Telegram/Discord/Slack/WhatsApp,多LLM后端,插件系统。


六、学习资源推荐

类别 资源 适合人群
课程 Google 5天智能体课程 入门
课程 微软 AI Agents for Beginners 入门→进阶
课程 Hugging Face 智能体课程 进阶
开源 Hello-Agents 最简Agent实现
开源 500个智能体案例 实战参考
平台 Miaoda 无代码体验
平台 Dify / Coze / n8n 低代码Agent构建

推荐学习时间线:第1周理解概念→第2周动手实践→第3周深入开发→第4周生产部署。


七、快速体验:无代码构建 Agent

Miaoda(一句话生成应用)

输入 Agent自动完成
“做一个待办事项应用” 增删改查+分类+状态标记
“生成数据看板” 图表+筛选+导出+实时刷新
“帮我写博客系统” 文章编辑+分类+评论+RSS

其他平台

平台 特点
Dify 可视化工作流、RAG Pipeline
Coze(扣子) 中文友好、插件市场
n8n 开源、200+集成
Flowise LangChain可视化拖拽
LobeChat 插件系统、多模型

八、实战项目:构建个人工作助理

功能架构:输入层(自然语言/定时触发) → Agent核心(日程管理/邮件处理/文件管理/信息检索) → 工具层(日历API/邮件API/文件系统/搜索API/通知推送)

MVP代码

from openai import OpenAI; import json, os
client = OpenAI(api_key=os.getenv("API_KEY"))

def add_todo(task, due=""): return f"已添加待办: {task}"
def search_files(kw, path="."): 
    import subprocess
    r = subprocess.run(["find",path,"-name",f"*{kw}*","-maxdepth","3"],capture_output=True,text=True)
    return r.stdout.strip() or "未找到"

TOOLS = [...]  # 工具定义(省略schema)
TOOL_MAP = {"add_todo":add_todo, "search_files":search_files}

def run(user_input, memory):
    memory.append({"role":"user","content":user_input})
    resp = client.chat.completions.create(model="gpt-4o-mini",messages=memory,tools=TOOLS)
    msg = resp.choices[0].message
    if msg.tool_calls:
        memory.append(msg.model_dump())
        for tc in msg.tool_calls:
            r = TOOL_MAP[tc.function.name](**json.loads(tc.function.arguments))
            memory.append({"role":"tool","tool_call_id":tc.id,"content":r})
        final = client.chat.completions.create(model="gpt-4o-mini",messages=memory)
        reply = final.choices[0].message.content
    else:
        reply = msg.content
    memory.append({"role":"assistant","content":reply})
    return reply

附录:术语表

术语 解释
AI Agent 能自主感知、决策、执行任务的AI系统
LLM 大语言模型,Agent的推理引擎
Tool Calling LLM调用外部函数/API的能力
ReAct Reasoning+Acting,主流Agent推理模式
RAG 检索增强生成,结合外部知识检索
Embedding 向量嵌入,将文本转为向量
Vector Database 向量数据库(Milvus/Pinecone/ChromaDB)
MCP Model Context Protocol,工具连接协议
Prompt Engineering 提示词工程
CoT Chain-of-Thought,思维链推理
Vibe Coding 用自然语言驱动代码生成
Multi-Agent 多智能体协同
Guardrails 安全护栏
Context Window 上下文窗口,LLM单次处理上限
Fine-tuning 微调
Orchestrator 多Agent任务编排器

版本: v1.1 | 日期: 2026-06-03 | 更新: 实验环境部署完成
服务器集群: ecs-7175 系列 4 台 c6.large.2 已配置 (2026-06-03 21:18)

节点 IP 部署
agent-01 119.13.78.66 Docker 29.5.2 + Python 3.12 + OpenAI 2.40.0 + 天气Agent + 个人助理MVP
agent-02 159.138.6.170 Docker 29.5.2 + LangChain 1.3.4 + LangGraph 1.2.4
agent-03 27.106.123.111 Docker 29.5.2 + CrewAI 1.14.6
agent-04 119.13.90.229 Docker 29.5.2 + Node.js 22.22.3 + Flask 3.1.3
后续计划: LangChain/LangGraph/CrewAI完整实战代码、多Agent协作深入、生产级部署(Docker+K8s+Prometheus)
Logo

这里是“一人公司”的成长家园。我们提供从产品曝光、技术变现到法律财税的全栈内容,并连接云服务、办公空间等稀缺资源,助你专注创造,无忧运营。

更多推荐