跳转至

第19章 §05 · 智能体系统 · 讲解稿

承接: Ch19 §04 药物 → §05 智能体 篇幅: ~3500 字


一 · 一句话总览

智能体系统 = LLM + 工具 + 规划 + 反思。SWE-Agent / Devin / AutoGPT / AgentVerse 4 大流派, 让 LLM 不只聊天, 能"做事"。


二 · 智能体基础 (Ch23 §01-§10 详见)

  • AutoGPT / BabyAGI (2023): 任务分解 + 循环执行
  • LangChain Agents: ReAct + 工具
  • AutoGen (Microsoft): 多 Agent 协作
  • CrewAI: 角色化团队
  • LangGraph: 图状态机

(详见 Ch23 全章)


三 · SWE-Agent (Princeton 2024)

3.1 任务

自动修复 GitHub Issue: 真实软件工程任务

3.2 架构

Issue → Repo 检索 (ripgrep) → 代码编辑 (Editor) → 测试 (pytest) → 验证

3.3 工具集

  • search: ripgrep 代码搜索
  • open: 文件查看
  • edit: 代码修改
  • submit: 提交

3.4 SWE-Bench 评估

  • 2294 个真实 GitHub Issue (12 个 Python 仓库)
  • Agent 自动修复
  • 结果: SWE-Agent 12.5%, Agentless 27.3% (2024), Devin 13-20% (争议)

3.5 改进方向

  • 更长上下文 (1M)
  • 更好的检索 (RAG over codebase)
  • 多步规划 (Planner + Executor)
  • 持续学习 (从 PR 反馈)

四 · Devin (Cognition 2024)

4.1 定位

"全球第一位 AI 软件工程师" (Cognition 2024-03 发布)

4.2 能力

  • 端到端: 规划 → 编码 → 调试 → 部署
  • 浏览器 / 编辑器 / Shell 工具
  • 自主学习新技能

4.3 争议

  • 演示视频"夸大"
  • 真实能力需独立验证
  • 2024-2025 第三方测评: 远低于演示水平

4.4 启示

  • Agent 路线方向正确, 当前不成熟
  • 需要 Eval 标准化 (SWE-Bench / HumanEval-Agent)
  • 工程师短期不会被替代, 但会用 Agent 的会替代不会用的

五 · AgentVerse / MetaGPT

5.1 AgentVerse (THU 2023)

4 角色协作: 招聘 / 决策 / 执行 / 评估

5.2 MetaGPT (2023)

多角色软件公司: - ProductManager / Architect / ProjectManager / Engineer - SOP 工作流 - 输出完整代码 + 文档

5.3 ChatDev (清华)

虚拟软件公司: - 聊聊式工作流 - 1000+ 任务实验


六 · 通用 Agent 框架

6.1 LangChain / LangGraph

  • 最大生态, Python 为主
  • LangGraph: 状态图 + 循环

6.2 AutoGen (Microsoft)

  • ConversableAgent + GroupChat
  • 多 Agent 异步对话

6.3 CrewAI

  • 角色 + 任务 + 工具
  • 类似公司组织

6.4 Smolagents (HuggingFace)

  • Code Agent: 写 Python 代码执行
  • 极简 (~1000 行)

七 · Agent 评估

7.1 基准

基准 任务 当前 SOTA
SWE-Bench GitHub Issue 27%
HumanEval-Agent 代码生成 70%+
WebArena 网页任务 58%
OSWorld OS 任务 38%
GAIA 通用助理 30%

7.2 评估维度

  • 任务成功率: 完成率
  • 效率: 步数 / 时间
  • 鲁棒性: 错误恢复
  • 成本: $ / 任务

7.3 失败模式

  • 循环 (agent 反复尝试同样方法)
  • 幻觉 (编造 API)
  • 长上下文遗忘
  • 工具错用

八 · 实战: SWE-Agent 简化版

from sweagent import Agent

agent = Agent(
    repo="https://github.com/HenryNdubuaku/maths-cs-ai-compendium",
    model="claude-3.5-sonnet",
    tools=["search", "edit", "test", "submit"],
)

result = agent.run(issue_id=42)
print(result.patch)  # 代码改动
print(result.test_results)  # 测试通过

九 · 一句话总结

智能体系统 = LLM + 工具 + 多角色 + 反思。SWE-Agent 解决真实 GitHub Issue (12-27%), Devin 演示夸张但方向正确。未来 5 年 Agent = 软件工程 / 客服 / 数据分析的"瑞士军刀"。