Agent Engineering 课程阅读
首页/课程二 · Agent 手写/毕业项目:智能研究助手(简历级)

在 GitHub 查看原文

本页目录

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)、部署上线。