本页目录
L09 — 毕业项目:智能研究助手(简历级)
本课目标:综合前 8 课所有技术,做一个能写进简历的 Agent 项目。给一个主题,Agent 自主联网搜索、整理信息、生成结构化研究报告。
这是 Agent 课程的收官——把你学的 function calling、ReAct 循环、记忆、规划、错误处理全部集成到一个真实可用的项目里。
1. 项目是什么?
智能研究助手(Research Agent):用户输入一个研究主题,Agent 自主完成:
用户:"帮我研究一下 RAG 技术的现状和应用"
│
▼
Agent 自主工作:
1. 🤔 思考:该搜什么关键词?(规划)
2. 🔍 联网搜索 "RAG 技术 现状"
3. 📖 阅读结果,发现信息不够
4. 🤔 换关键词再搜 "RAG 应用 案例"(多轮搜索)
5. 📝 整理所有信息,生成结构化研究报告
│
▼
输出:一份带要点、来源引用的研究报告
这个项目集成了你学的所有技术: - ✅ Function Calling(调用搜索工具) - ✅ ReAct 循环(思考→行动→观察) - ✅ 记忆(记住搜索过的内容) - ✅ 规划(自主决定搜什么、搜几次) - ✅ 错误处理(搜索失败、网络问题) - ✅ 工程化(步数限制、日志、可观测)
2. 为什么这个项目能进简历?
| 维度 | 说明 |
|---|---|
| 真实可用 | 不是玩具 demo,真能用来做调研 |
| 技术全面 | 涵盖 Agent 核心技术栈(面试能讲的点很多) |
| 自主决策 | Agent 自己决定搜什么、搜几次——展示"智能" |
| 联网能力 | 用真实搜索(DuckDuckGo),不是模拟数据 |
| 可演示 | 跑起来有完整的工作过程日志,面试现场可演示 |
简历怎么写(参考)
智能研究助手 Agent:基于 GLM-4 实现的自主研究 Agent,集成 function calling、ReAct 循环、多轮搜索。用户输入研究主题后,Agent 自主规划搜索策略、联网检索信息、多轮补充、生成结构化研究报告。支持搜索失败重试、步数限制等工程化能力。
3. 技术架构
┌─────────────────────────────────────────────┐
│ ReAct 循环(L03) │
│ Thought → Action → Observation → 循环 │
│ │
│ ┌─────────────────────────────────────┐ │
│ │ 可用工具(Function Calling, L02) │ │
│ │ - web_search:联网搜索(核心工具) │ │
│ │ - fetch_summary:获取网页摘要 │ │
│ └─────────────────────────────────────┘ │
│ │
│ 记忆(L05):messages 保留搜索历史 │
│ 规划(L06):Agent 自主决定搜什么 │
│ 错误处理(L02):搜索失败优雅降级 │
└─────────────────────────────────────────────┘
│
▼
结构化研究报告(带来源引用)
4. 搜索工具:DuckDuckGo
本项目用 DuckDuckGo 搜索(通过 duckduckgo-search 库):
- ✅ 免费,无需 API key
- ✅ 真实联网搜索(不是模拟数据)
- ✅ 返回标题、摘要、链接
from duckduckgo_search import DDGS
ddgs = DDGS()
results = ddgs.text("RAG 技术", max_results=5)
# 返回 [{"title": "...", "body": "摘要...", "href": "链接"}, ...]
⚠️ DuckDuckGo 搜索偶尔会因为网络/反爬失败。代码做了错误兜底——失败时返回友好提示,让 Agent 知道"这次没搜到,可以换关键词重试"。
5. 工程化要点(L09 的重点)
毕业项目相比前面的练习 demo,多了这些工程化能力:
① 可观测日志
打印 Agent 每一步的思考、动作、结果——让你(和面试官)看清 Agent 的工作过程。
② 步数限制(防失控)
设 MAX_STEPS,避免 Agent 无限搜索下去烧钱。
③ 错误处理
搜索失败、网络超时、返回空结果——都有兜底,不会让程序崩。
④ 结构化输出
最终报告有清晰结构(概述/要点/来源),不是一坨文本。
⑤ 来源引用
报告里标注信息来源链接,可追溯。
6. 跑起来
python agent-lessons/09_capstone/code.py
程序会先跑一个内置的演示主题,然后进入交互模式,你可以输入自己想研究的主题:
> 帮我研究一下 LangChain 和 LlamaIndex 的区别
> 2024 年大模型有哪些重要进展
> exit
💡 联网搜索需要网络。如果搜索频繁失败,可能是网络/反爬限制,等几分钟再试。
🎓 Agent 课程完结
恭喜!学完这 9 课,你已经从零掌握了 AI Agent 的完整知识体系:
| 课 | 主题 | 核心认知 |
|---|---|---|
| 01 | 认识 Agent | Agent = LLM + 工具 + 决策循环 |
| 02 | Function Calling | 工具调度器、错误兜底 |
| 03 | ReAct 循环 | Thought→Action→Observation(面试核心) |
| 04 | 工具设计 | description 是灵魂 |
| 05 | 记忆 | messages 管理、窗口策略 |
| 06 | 规划 | Plan-and-Execute vs ReAct |
| 07 | Agentic RAG | RAG 是 Agent 工具箱的一把扳手 |
| 08 | 多 Agent | 关注点分离、协作代价 |
| 09 | 毕业项目 | 综合应用,简历级项目 |
你现在的完整知识栈:RAG(前 9 课)+ Agent(这 9 课)= 大模型应用开发的核心能力。下一步可以探索:Agentic RAG 进阶、多模态 Agent、Agent 框架(LangGraph)、部署上线。