第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 架构¶
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 = 软件工程 / 客服 / 数据分析的"瑞士军刀"。