Skip to content

从零到进阶做 Agent(十二)结语与进阶方向

🕒 Published at:

十一篇走下来,我们从「调用一次大模型」一路做到了「一个会查资料、会调工具、有记忆的智能客服 Agent」。这一篇不写新代码,帮你把整条路串成一张地图,并指出从 Demo 到生产还差哪些东西、往下该看什么。

我们走过的路

回头看,整个系列其实是三级火箭:

第一级·地基(1–3 篇):搞清 LLM / RAG / Agent 的关系,用 OpenAI 兼容接口跑通模型调用,掌握流式、多轮对话,以及提示词工程里最关键的「结构化输出」。这一层和框架无关,是所有 LLM 应用的通用功底。

第二级·RAG(4–8 篇):请出 LangChain,用 PromptTemplate + LCEL + OutputParser 把流程标准化;接着做文档加载、切分、向量化、检索,拼出完整的 RAG 问答链,最后套上界面做成能上传问答的应用。这一层解决的是「让模型带着你的私有知识回答」。

第三级·Agent(9–11 篇):从「会答」到「会做」——理解 ReAct 循环,定义工具,用 create_agent 搭 Agent,用中间件做日志/监控/动态提示词,最后把 RAG 降格成工具,综合成一个真实的客服 Agent。这一层解决的是「让模型自己决定做什么」。

一句话记住它们的关系:LLM 是发动机,RAG 是喂给它私有知识的方式,Agent 是让它能自主行动的框架,而 RAG 通常是 Agent 手里的一件工具。

从 Demo 到生产,还差什么

本系列的代码追求「清晰、能跑」,但要真正上线服务用户,还有几块必须补:

效果评估。 Demo 靠「手动问几句感觉还行」,生产要靠数据说话。你需要一个评测集(典型问题 + 期望答案),量化检索命中率、回答准确率、有没有胡编。RAG 尤其要单独评估「检索」和「生成」两段——很多时候答错是检索没召回,不是模型的锅。

可观测性。 线上要能看到每一次请求「检索了什么、调了哪些工具、消耗多少 token、慢在哪一步」。中间件是天然的埋点位置,再配合 LangSmith 这类追踪工具,排查问题会轻松很多。

成本与延迟。 每次调用都在花钱、都要等待。常见优化:缓存重复问题、给简单任务用更小更快的模型、控制检索条数和历史长度、能流式就流式(体感更快)。

安全与边界。 用户输入不可信:要防提示词注入、对工具调用做权限校验和参数校验(别像教程里直接 eval)、对敏感信息脱敏、给高风险操作加「转人工确认」。这些很多都能用上一篇提到的内置中间件(PII 脱敏、人在回路、调用次数限制)来兜底。

数据与更新。 知识库会变。要有把新文档增量入库、把过时内容删除更新的流程,而不是每次全量重建。

往下可以深入什么

如果想继续往前走,几个方向值得投入:

更强的检索(Advanced RAG):查询改写、多路检索、重排序(rerank)、混合检索(关键词 + 向量),能显著提升召回质量;文档量大时还要研究更合适的切分策略和向量库选型。

多智能体协作(Multi-Agent):把一个复杂任务拆给多个各有专长的 Agent 协作完成。LangGraph 正是为这种「有状态、有分支、有循环」的复杂流程设计的——本系列的记忆和 Agent 都建在它之上,深入它会打开新世界。

MCP 与工具生态:了解 Model Context Protocol 这类标准,能让你的 Agent 更规范地接入海量现成工具和数据源。

评估与实验体系:把「拍脑袋调提示词」升级成「有评测集、能对比、可回归」的工程化流程。

写在最后

Agent 领域变化很快,框架接口几个月就可能调整——这也是为什么本系列反复强调以官方文档为准代码要亲手验证。但底层的思想是稳定的:把任务说清楚(提示词)、给它可靠的知识(RAG)、给它能用的工具(Agent)、给它可控的边界(中间件与评估)。 抓住这四点,无论框架怎么变,你都能快速上手。

感谢一路读到这里。如果这个系列帮你入了门,不妨挑一个你身边的真实场景——客服、资料问答、个人助理——把它做出来。动手做一个能用的,胜过读十篇教程。