AI Agent 教程

附录B:常见问题 FAQ

收集了学习和使用 AI Agent 过程中最常被问到的问题,每个都给你掰开揉碎了讲清楚。


1. Agent 和普通聊天机器人有什么区别?

一句话回答:聊天机器人只动嘴,Agent 能动手。

详细解释

对比项 普通聊天机器人 Agent
交互方式 你问一句,它答一句 你给一个任务,它自己拆解、执行、完成
能不能用工具 不能,只能生成文字 能,可以执行代码、读写文件、调 API、查数据库
有没有自主性 没有,完全被动 有,能自己决定下一步干什么
能不能循环 不能,一问一答就结束 能,想-做-看循环,直到任务完成
典型场景 闲聊、问答 写代码、数据分析、自动化流程

举个例子:你问聊天机器人"北京今天天气怎么样?",它只能根据训练数据猜一个(大概率是错的)。而 Agent 会去调用天气 API,拿到实时数据,然后告诉你准确的天气信息。


2. Agent 和 RAG 有什么区别?

一句话回答:RAG 是 Agent 的一种能力,不是同一个层面的东西。

详细解释

Agent 可以把 RAG 当作自己的一个工具来使用。比如一个客服 Agent,遇到用户问产品问题,就先用 RAG 从产品文档里搜出相关信息,然后再回答。但 Agent 还能做很多 RAG 做不了的事,比如帮用户下单、修改配置、执行代码等。

简单说:RAG 是"开卷考试",Agent 是"全能助手"。RAG 只是助手工具箱里的一件工具。


3. 用 Claude Agent SDK 一个月大概要花多少钱?

一句话回答:看你用多少,从几块钱到几百美元都有可能。

详细费用估算(基于 2025 年 Claude API 定价):

Claude 模型定价参考

模型 输入价格(每百万 token) 输出价格(每百万 token)
Claude Haiku 3.5 $0.80 $4.00
Claude Sonnet 4 $3.00 $15.00
Claude Opus 4 $15.00 $75.00

不同使用场景的月费估算

使用场景 模型选择 预估月费
个人学习、跑教程示例 Haiku 3.5 $1 - $5
个人开发者日常使用 Sonnet 4 $10 - $50
小团队生产环境 Sonnet 4 $50 - $200
重度使用(大量 Agent 并行) Opus 4 $200 - $1000+

省钱技巧

注意:以上价格可能随时调整,请以 Anthropic 官方定价页面 为准。


4. 能用免费/开源模型替代 Claude 吗?

一句话回答:理论上可以,但效果会差不少。

详细解释

Claude Agent SDK 的设计是基于 Claude 模型的能力的,特别是 Claude 的 Tool Use 能力。但如果你想用其他模型:

可行的替代方案

现实情况

建议:学习阶段先用 Claude(花不了多少钱),等理解了 Agent 原理后,再尝试用开源模型替换。


5. Agent 会不会失控?怎么防止?

一句话回答:有可能,但有很多防护手段。

可能的"失控"场景

防护措施(从简单到复杂)

  1. 设置费用上限maxTotalCost 参数,超过预算自动停止
  2. 限制循环次数maxTurns 参数,最多循环多少次
  3. 权限控制:Permission Mode 设置,危险操作必须人工确认
  4. 沙箱隔离:让 Agent 在 Docker 容器里运行,搞不坏真实环境
  5. Hook 检查:在执行工具前用 Hook 检查命令是否安全
  6. 输入验证:对用户输入做过滤,防止 Prompt Injection
  7. 输出校验:对 Agent 的输出做检查,发现异常及时中断
  8. 日志监控:记录 Agent 的所有行为,事后可以审计

最佳实践

开发阶段 -> 宽松权限,方便调试
测试阶段 -> 中等权限,逐步收紧
生产阶段 -> 严格权限 + 沙箱 + 监控 + 费用上限

6. Windows 能跑 Claude Agent SDK 吗?

一句话回答:能,但推荐用 WSL。

详细说明

安装 WSL 的步骤

# 以管理员身份打开 PowerShell
wsl --install

# 装好后重启电脑,打开 Ubuntu 终端
# 然后按照教程第三章的 Linux 环境设置步骤操作即可

IDE 推荐:VS Code + WSL 扩展,在 Windows 上写代码,在 WSL 里运行,两全其美。


7. 需要 GPU 吗?

一句话回答:不需要。

详细解释

Claude Agent SDK 是调用 Anthropic 的云端 API,大模型是在 Anthropic 的服务器上跑的,你本地只是发请求和接收结果,一台普通笔记本就够了。

什么时候才需要 GPU

本教程的所有内容,一台 4GB 内存的笔记本都能跑。主要消耗的是网络带宽而不是计算资源。


8. Claude Agent SDK 和 Anthropic API SDK 有什么区别?

一句话回答:Anthropic API SDK 是"发动机",Claude Agent SDK 是"整车"。

对比

对比项 Anthropic API SDK Claude Agent SDK
是什么 API 调用的封装库 Agent 开发的完整框架
做什么 发消息、收回复 构建完整的 Agent 应用
有没有循环 没有,调一次收一次 有,内置 Agentic Loop
Tool Use 你自己实现调度逻辑 框架自动处理
会话管理 你自己管理 框架提供
适合谁 想自己造轮子的人 想快速搭 Agent 的人

关系:Claude Agent SDK 底层就是调用 Anthropic API SDK。就像 React 底层用了 JavaScript DOM API 一样——你可以直接用 DOM API 写网页,但用 React 更高效。

选择建议


9. 什么时候该用 Agent,什么时候不该用?

该用 Agent 的场景

不该用 Agent 的场景

判断标准:如果你能用 if-else 把流程完全写死,那就不需要 Agent。如果流程中有"看情况决定"的部分,Agent 就有用武之地。


10. Agent 的上下文窗口满了怎么办?

一句话回答:要么压缩,要么分段,要么用外部存储。

具体策略

  1. 上下文压缩/摘要:让 AI 把之前的对话总结成一段摘要,用摘要替代原始对话。Claude Agent SDK 支持自动上下文管理。

  2. 滑动窗口:只保留最近的 N 轮对话,旧的自动丢弃。适合实时对话场景。

  3. 分段处理:把大任务拆成多个小任务,每个小任务用独立的 Session。Subagent 就是干这个的。

  4. 外部存储:重要信息存到文件或数据库里,需要时让 Agent 用工具去读取,而不是全放在上下文里。

  5. Prompt Caching:把不变的系统提示词缓存起来,虽然不减少上下文大小,但能减少 token 消耗和成本。

  6. Fork Session:当上下文快满时,fork 一个新 session,把关键信息带过去,从"干净"的状态继续。

预防胜于治疗


11. 怎么降低 Agent 的使用成本?

按效果排序的省钱方法

  1. 选对模型:简单任务用 Haiku(便宜 20 倍),只有复杂任务才用 Opus
  2. 用 Prompt Caching:系统提示词开启缓存,反复使用的提示词成本降 90%
  3. 控制上下文长度:别让上下文无限膨胀,及时清理无用的历史
  4. 用 Subagent + 小模型:主 Agent 用 Sonnet 统筹,Subagent 用 Haiku 干活
  5. 设置费用上限maxTotalCost 防止意外烧钱
  6. 优化工具返回:工具返回结果做截断,别返回一大堆无用信息
  7. 批量处理:能批量做的事别一个一个做,减少 API 调用次数
  8. 缓存重复请求:相同的问题不要重复问 AI,在应用层做缓存
  9. 用结构化输出:让 AI 返回精确的 JSON,而不是一大段废话

实际案例:一个代码审查 Agent,优化前每次审查花 $0.50,优化后(Prompt Caching + Subagent + 截断返回)降到 $0.08。


12. MCP 和直接调 API 有什么区别?

一句话回答:MCP 是标准化的工具接口,直接调 API 是自己写适配代码。

对比

对比项 直接调 API 用 MCP
接入方式 每个 API 写一套调用代码 统一接口,即插即用
工具描述 你自己写 JSON Schema MCP Server 自动提供
可复用性 你写的代码只有你能用 MCP Server 所有人都能用
生态 没有 越来越多现成的 MCP Server
学习成本 每个 API 都要看文档 学一次 MCP 协议就够了
适用场景 简单、一次性的集成 需要接入多个工具的场景

什么时候用 MCP

什么时候直接调 API


13. Subagent 最多能嵌套几层?

一句话回答:技术上没有硬性限制,但实际上不建议超过 2-3 层。

详细解释

Claude Agent SDK 没有规定 Subagent 的最大嵌套深度。理论上 Agent A 可以创建 Agent B,B 创建 C,C 创建 D……

但实际限制来自

推荐的模式

主 Agent(统筹协调)
├── Subagent 1(搜索资料)
├── Subagent 2(写代码)
├── Subagent 3(跑测试)
└── Subagent 4(写文档)

扁平优于深层嵌套——一个主 Agent 管多个并行的 Subagent,而不是一层套一层。


14. Agent 能访问互联网吗?

一句话回答:不能直接上网,但可以通过工具间接上网。

详细解释

Claude 模型本身不能上网,它只能根据训练数据回答问题。但 Agent 可以通过工具来访问互联网:

安全提醒


15. 怎么让 Agent 记住之前的对话?

一句话回答:用会话存储或者外部记忆系统。

几种方案

  1. Session 持久化:Claude Agent SDK 支持保存和恢复 Session,下次可以 Resume 继续聊。最简单,但上下文有限。

  2. 文件系统记忆:让 Agent 把重要信息写入文件(比如 memory.md),下次启动时先读这个文件。简单粗暴但有效。

  3. 数据库记忆:用 SQLite 或其他数据库存储对话历史和关键信息,Agent 通过工具查询。

  4. 向量数据库:用 RAG 方案,把历史对话和知识存成向量,每次对话时搜出最相关的内容放进上下文。

  5. 摘要记忆:定期让 AI 把对话历史总结成摘要,下次对话时带上摘要而不是全部历史。

推荐方案


16. Agent 写代码靠谱吗?

一句话回答:简单代码很靠谱,复杂代码需要人审核。

实际体验

代码类型 靠谱程度 说明
简单函数/脚本 很靠谱(90%+) 常见模式,模型见过很多
CRUD 接口 靠谱(85%+) 模板化程度高
单元测试 靠谱(80%+) 适合 AI 的结构化任务
复杂业务逻辑 一般(60-70%) 需要理解业务细节
系统架构设计 需要谨慎(50-60%) AI 可能过度设计
性能优化 需要人工审核 AI 不擅长性能瓶颈分析

最佳实践


17. 有没有中文文档?

一句话回答:官方暂时没有完整中文文档,但有一些资源。

目前可用的中文资源

小窍门:遇到英文文档看不懂的地方,直接复制给 Claude 说"用大白话翻译一下这段文档",效果比机翻好很多。


18. OpenClaw、NanoClaw、ZeroClaw 怎么选?

一句话回答:看你的技术栈和需求深度。

项目 语言 定位 适合谁
OpenClaw TypeScript 最完整的开源复刻 想深入了解 Claude Code 架构的人
NanoClaw TypeScript 精简版,核心功能 想快速上手、基于此二次开发的人
ZeroClaw Python 从零实现的 Python 版 Python 开发者、想理解底层原理的人

选择建议


19. Claude Agent SDK 支持哪些编程语言?

一句话回答:官方支持 TypeScript 和 Python。

详细说明

其他语言


20. 学完这套教程后应该去哪里继续学习?

循序渐进的学习路径

第一步:动手做项目

第二步:深入官方文档

第三步:跟进前沿动态

第四步:扩展技术栈

第五步:参与社区

记住:AI Agent 这个领域发展极快,你看到的"最佳实践"可能半年后就过时了。保持学习的习惯比记住具体的 API 更重要。


21. 为什么我的 Agent 老是不按预期调用工具?

常见原因和解决方法

  1. 工具描述不清楚:工具的 description 写得太简单,AI 不知道什么时候该用。解决:写清楚工具干什么、什么情况下该用、参数是什么意思。

  2. 工具太多:一次注册了太多工具,AI 选择困难。解决:减少工具数量,或者用 Tool Search 按需加载。

  3. System Prompt 没写好:没有明确告诉 AI 应该怎么使用工具。解决:在 System Prompt 中加入示例和规则。

  4. 参数格式不对:JSON Schema 定义有问题,AI 传的参数不符合预期。解决:检查 Schema 定义,用 Zod/Pydantic 做验证。

  5. 模型能力不足:用了 Haiku 做复杂的多工具协调。解决:换 Sonnet 或 Opus。


22. Agent 执行任务时报错了,怎么排查?

排查步骤

  1. 看日志:首先看 Agent 的输出日志,一般会打印 AI 的思考过程和工具调用记录

  2. 检查工具返回:看工具返回了什么。很可能是工具本身出了错(API 超时、权限不足等)

  3. 检查上下文:看看是不是上下文太长被截断了,导致 AI 丢失了关键信息

  4. 隔离测试:把出错的那一步单独拿出来测试,确认是 AI 的问题还是工具的问题

  5. 看 API 响应:如果怀疑是 API 层面的问题,用 console.log 或断点看原始的 API 请求和响应

  6. 简化复现:用最简单的输入复现问题,排除干扰因素

常见错误


23. 能不能让多个 Agent 一起协作?

一句话回答:可以,这就是 Agent Swarm(智能体群)。

协作模式

  1. 主从模式(最常用):一个主 Agent 分配任务,多个 Subagent 执行

    主 Agent: "分析这个项目"
    ├── Subagent A: 分析代码质量
    ├── Subagent B: 分析安全漏洞
    └── Subagent C: 分析性能瓶颈
    主 Agent: 汇总三个报告
    
  2. 流水线模式:A 做完交给 B,B 做完交给 C

    Agent A (研究) -> Agent B (编码) -> Agent C (测试)
    
  3. 对等协作:多个 Agent 角色平等,通过消息通道协调

注意事项


还有问题? 直接问 Claude 就好——毕竟它就是你的 AI 助手。把问题描述清楚,它大概率能帮你解决。

← 上一章A. 术语表