第1课:这玩意到底是啥?
一句话说明白
Claude Agent SDK 就是一个 Python 库,让你能在自己的程序里"雇"一个或多个 AI 员工,给它们分配角色、分配工具、让它们自己干活。
而我们要做的智能研究平台,就是用这个库搭出来的一个"AI 研究团队"——你丢一个课题进去,它自动帮你搜资料、画图表、写报告。
打个比方你就懂了
想象你是一家公司的老板,现在需要一份关于"电动汽车"的研究报告。
传统做法: 你自己打开浏览器 → 搜一堆资料 → 复制粘贴 → 整理数据 → 画图表 → 写报告。花一天时间。
用了这个平台之后:
graph TD
A["你(老板): 帮我研究一下电动汽车市场"] --> B["AI 组长(Lead Agent): 收到! 我把这个课题拆成4块"]
B --> C1["AI 研究员1号<br/>搜索电池技术的最新资料"]
B --> C2["AI 研究员2号<br/>搜索市场规模和增长数据"]
B --> C3["AI 研究员3号<br/>搜索主要厂商和竞争格局"]
B --> C4["AI 研究员4号<br/>搜索充电基础设施情况"]
C1 --> D["4个研究员同时干活, 互不干扰"]
C2 --> D
C3 --> D
C4 --> D
D --> E["AI 数据分析师<br/>读取所有研究笔记, 提炼数据, 画图表"]
E --> F["AI 报告撰写人<br/>把所有内容整合成一份 PDF 报告"]
F --> G["最终输出: electric_vehicles_report_20260228.pdf"]
整个过程你只说了一句话,剩下的全自动。
这个系统长什么样?
graph TD
A["你(用户)<br/>帮我研究 XXX"] --> B["AI 组长 (Lead Agent)<br/>角色: 只负责拆任务和调度, 自己不干活<br/>工具: 只有一个 Task(派活)"]
B -- "同时派出" --> R1["研究员1"]
B -- "同时派出" --> R2["研究员2"]
B -- "同时派出" --> R3["研究员3"]
B -- "同时派出" --> R4["研究员4"]
R1 -- "并行搜索" --> N["research_notes/(研究笔记文件夹)"]
R2 --> N
R3 --> N
R4 --> N
N --> DA["AI 数据分析师 (Data Analyst)<br/>读笔记 → 提炼数据 → 用 Python 画图表"]
DA --> C["charts/(图表文件夹)"]
C --> RW["AI 报告撰写人 (Report Writer)<br/>读所有材料 → 生成 PDF 报告"]
RW --> PDF["最终 PDF 报告"]
背后用了哪些核心概念?
别怕,一共就 5 个核心概念,后面的课程会一个一个讲:
| 概念 | 一句话解释 | 对应课程 |
|---|---|---|
| query() | 问AI一个问题,拿到回答就完事 | 第3课 |
| ClaudeSDKClient | 和AI来回聊天,可以多轮对话 | 第4课 |
| Tools(工具) | 给AI装上"手",让它能搜网页、写文件、跑代码 | 第5课 |
| Agents(子Agent) | 定义不同角色的AI,各管各的 | 第6课 |
| Hooks(钩子) | 监控AI的每一步操作,该拦截就拦截 | 第7课 |
这套教程的学习路线
graph TD
L1["第1课 这玩意是啥(你在这里)"] --> L2["第2课 环境搭建 -- 把工具装好"]
L2 --> L3["第3课 第一次对话 -- 学会 query(), 先让AI说句话"]
L3 --> L4["第4课 来回聊天 -- 学会 ClaudeSDKClient, 搞多轮对话"]
L4 --> L5["第5课 给AI装工具 -- 让AI能搜索、读写文件、跑代码"]
L5 --> L6["第6课 多个AI一起干活 -- 定义子Agent, 团队协作"]
L6 --> L7["第7课 监控AI的行为 -- 用Hooks拦截和记录"]
L7 --> L8["第8课 完整实战 -- 从零搭建智能研究平台"]
L8 --> L9["第9课 进阶优化 -- 日志、成本控制、错误处理"]
每一课都有完整可运行的代码,不会只讲理论不给代码。
学完能做什么?
学完这套教程,你不光能跑通这个研究平台 demo,更重要的是你会理解背后的设计模式。同样的架构可以用来做:
- 竞品分析工具 — 输入公司名,自动出竞品报告
- 舆情监控系统 — 搜索+分析+汇总,定时跑
- 文献综述助手 — 搜论文、提关键信息、生成综述
- 市场调研平台 — 多维度收集数据,自动可视化
本质都是一样的:拆任务 → 并行搜索 → 整合分析 → 输出报告。
下一课预告
下一课我们先把环境搭好,确保代码能跑起来。毕竟,光看不练假把式。