Agent学院
Agent 是 AI 的终极形态——不只是回答问题,而是能自主思考、规划和行动。这是 AI 最激动人心的方向。
什么是Agent?
Agent(智能体)是一个能自主完成任务的AI系统。你给它一个目标,它会自己思考需要做什么、怎么做,然后一步步执行。
用一个比喻:
- 普通AI(ChatGPT) = 一个很聪明的客服:你问一句,它答一句
- Agent = 一个私人助理:你说"帮我安排下周的出差",它自己查机票、订酒店、写行程单、发给同事
普通AI是被动回答,Agent是主动行动。Agent 能使用工具、记住信息、制定计划、处理异常。
Agent vs 聊天机器人
| 维度 | 聊天机器人 | Agent |
|---|---|---|
| 交互模式 | 你问我答 | 给目标,自主执行 |
| 工具使用 | 只能聊天 | 搜索、写代码、调API、读写文件 |
| 记忆 | 只有当前对话 | 短期+长期记忆 |
| 规划 | 无 | 拆解任务、制定计划 |
| 错误处理 | 报错给你看 | 自己重试、换方案 |
| 多步任务 | 每步都要你手动触发 | 自动执行多个步骤 |
| 例子 | "翻译这段话" | "调研竞品X,写分析报告,发邮件给团队" |
Agent 四大核心能力
1. Planning(规划)
Agent 收到任务后,会先把大任务拆成小步骤。
任务:"帮我写一个TODO应用的后端API"
Agent 的规划:
1. 设计数据库 schema(tasks表)
2. 创建 Express 项目
3. 实现 CRUD 接口(增删改查)
4. 添加输入验证
5. 写单元测试
6. 启动服务并测试
→ 然后按顺序一步步执行常见的规划策略:
- ReAct:思考→行动→观察→思考……循环
- Plan-and-Execute:先制定完整计划,再逐步执行
- Tree of Thoughts:同时探索多条路径,选最优解
2. Memory(记忆)
Agent 的记忆系统让它能记住之前发生的事情。
| 类型 | 存储位置 | 生命周期 | 用途 |
|---|---|---|---|
| 短期记忆 | 上下文窗口 | 当前对话 | 记住刚才说了什么 |
| 长期记忆 | 向量数据库/文件 | 永久 | 记住用户偏好、历史知识 |
| 工作记忆 | 变量/缓存 | 当前任务 | 记住任务中间结果 |
实现长期记忆的常见方式:
- 向量数据库:把对话/知识 embedding 后存入 Pinecone、Milvus、Chroma 等
- 文件存储:把重要信息写入文件或数据库
- 摘要压缩:对话太长时,自动总结并存储
3. Tools(工具)
Agent 最强大的地方在于能使用工具。
| 工具类型 | 例子 | 用途 |
|---|---|---|
| 搜索 | Google、Bing | 获取实时信息 |
| 代码执行 | Python、Node.js | 运行代码、处理数据 |
| 文件操作 | 读写文件 | 创建文档、修改代码 |
| API调用 | 天气API、支付API | 获取外部服务 |
| 数据库 | MySQL、MongoDB | 存储和查询数据 |
| 浏览器 | Playwright、Puppeteer | 网页操作 |
| 通讯 | 邮件、Slack、微信 | 发送消息 |
4. Reasoning(推理)
Agent 能根据收集到的信息做出判断和决策:
- 判断哪个搜索结果最相关
- 判断代码是否有 bug
- 判断下一步该做什么
- 遇到错误时决定重试还是换方案
Workflow(工作流)
多个 Agent 可以协作完成复杂任务,这就是 Workflow。
顺序执行(Sequential)
并行执行(Parallel)
路由分发(Router)
┌→ 技术问题Agent
用户提问 ─┤→ 财务问题Agent
└→ 通用问题Agent
例:
客服系统根据问题类型分配给不同AgentMCP(Model Context Protocol)
MCP 是 Anthropic 提出的开放标准,让 AI Agent 能统一连接各种工具和数据源。
MCP 解决了什么问题?
没有 MCP 之前:
- 每个 AI 要单独对接每个工具 = N×M 种集成
- 工具开发者要为每个 AI 写适配代码
有了 MCP:
- 工具开发者:按 MCP 标准写一次,所有 AI 都能用
- AI 开发者:支持 MCP,就能用所有 MCP 工具
MCP 架构
┌─────────────┐ MCP协议 ┌─────────────┐
│ AI 应用 │ ←──────────────→ │ MCP Server │
│ (Client) │ │ (工具提供方) │
└─────────────┘ └─────────────┘
↕
┌─────────────┐
│ 外部服务 │
│ (GitHub/DB…) │
└─────────────┘MCP Server 示例
- 文件系统:读写本地文件
- GitHub:创建PR、查看Issue
- 数据库:查询 MySQL/PostgreSQL
- Slack:发送消息
- 浏览器:网页操作
Cursor、Claude Desktop 等工具已经原生支持 MCP。
开发框架
OpenAI Agent SDK
OpenAI 官方的 Agent 开发框架,简单易用。
from agents import Agent, Runner
agent = Agent(
name="助手",
instructions="你是一个有帮助的助手",
tools=[search, calculator]
)
result = Runner.run_sync(agent, "今天北京天气怎么样?")
print(result.final_output)特点:OpenAI 官方维护,API 简洁,支持工具调用和多 Agent 协作
适合:使用 OpenAI 模型的项目、快速原型开发
LangChain / LangGraph
最流行的 LLM 应用开发框架,生态最完善。
from langchain_openai import ChatOpenAI
from langgraph.prebuilt import create_react_agent
model = ChatOpenAI(model="gpt-4o")
agent = create_react_agent(model, tools=[search, calculator])
result = agent.invoke({
"messages": [{"role": "user", "content": "今天北京天气怎么样?"}]
})特点:生态最大、组件最全、社区活跃、支持多种模型
缺点:概念多、学习曲线陡、抽象层太厚
适合:需要复杂链式调用、多模型切换的项目
AutoGen(微软)
微软的多 Agent 对话框架,让多个 Agent 互相讨论解决问题。
from autogen import AssistantAgent, UserProxyAgent
assistant = AssistantAgent("assistant", llm_config=config)
user = UserProxyAgent("user", code_execution_config={"work_dir": "coding"})
user.initiate_chat(assistant, message="分析这份销售数据")特点:多Agent对话、自动代码执行、适合研究场景
CrewAI
用团队协作的比喻来组织多 Agent。
from crewai import Agent, Task, Crew
researcher = Agent(role="研究员", goal="收集信息")
writer = Agent(role="写手", goal="撰写文章")
editor = Agent(role="编辑", goal="审核修改")
task1 = Task(description="调研AI趋势", agent=researcher)
task2 = Task(description="写文章", agent=writer)
task3 = Task(description="审核", agent=editor)
crew = Crew(agents=[researcher, writer, editor], tasks=[task1, task2, task3])
result = crew.kickoff()特点:角色分工明确、代码简洁、直观易懂
适合:内容创作流程、多角色协作场景
低代码平台
Dify
Dify 是最流行的开源 LLM 应用开发平台。
- 可视化编排:拖拽式构建 AI 工作流
- RAG 集成:内置知识库管理
- 多模型支持:OpenAI、Claude、DeepSeek 等
- 一键部署:生成 API 或嵌入网页
- 开源:可以自己部署
适合:不想写代码但想构建 AI 应用的人、企业快速搭建 AI 助手
Coze(扣子)
Coze 是字节跳动的 AI Bot 开发平台。
- 零代码:完全可视化配置
- 丰富的插件:搜索、天气、新闻等
- 多平台发布:微信、飞书、网页等
- 免费使用:基础功能免费
适合:个人用户、快速创建聊天机器人
n8n
n8n 是一个开源的工作流自动化平台,类似 Zapier 但可以自部署。
- 400+ 集成:Gmail、Slack、GitHub、数据库等
- AI 节点:内置 LLM 调用能力
- 可视化编辑:拖拽式构建流程
- 自部署:数据完全在自己手里
适合:自动化办公流程、数据管道、定时任务
实战案例
案例1:自动研究报告生成
目标:自动调研一个行业,生成研究报告
Workflow:
1. 搜索Agent:搜索行业最新新闻和报告(10篇)
2. 摘要Agent:每篇文章提取核心观点
3. 分析Agent:综合分析趋势和机会
4. 写作Agent:生成完整报告(3000字)
5. 审核Agent:检查事实和逻辑
6. 格式Agent:输出为 Markdown/PDF
预计耗时:3-5分钟
替代人工:原本需要1-2天案例2:智能客服系统
目标:自动处理客服问题
架构:
Router Agent(路由)
├→ 订单Agent:查物流、退款、修改地址
├→ 技术Agent:解答产品使用问题
├→ 投诉Agent:处理投诉,必要时转人工
└→ 通用Agent:闲聊、引导
每个Agent都有:
- 知识库(RAG)
- 工具(查订单系统、发邮件)
- 记忆(记住用户历史)案例3:自动化代码审查
目标:PR 提交后自动代码审查
触发:GitHub Webhook → 收到 PR
流程:
1. 读取Agent:获取 PR 的 diff
2. 分析Agent:检查代码质量、安全、性能
3. 测试Agent:运行相关测试
4. 评论Agent:在 PR 上留下审查意见
集成:GitHub API + MCP Server常见问题
Q: Agent 和普通的 AI 聊天有什么区别?
聊天是你问一句它答一句。Agent 是你给一个目标,它自己规划、执行、调整,直到完成。
Q: 构建 Agent 需要什么技术基础?
低代码平台(Dify、Coze)不需要编程。用框架(LangChain、OpenAI SDK)需要 Python/JS 基础。从零构建需要了解 API 调用和系统设计。
Q: Agent 会不会失控?
好问题。Agent 确实有风险,所以需要:权限控制(限制它能用的工具)、人工审核(关键操作要人确认)、日志记录(所有行为可追溯)。
Q: 我应该用哪个框架?
- 零代码 → Dify 或 Coze
- Python 快速开发 → OpenAI Agent SDK 或 CrewAI
- 复杂系统 → LangGraph
- 自动化工作流 → n8n