如何构建你的Agents|LangChain构建Agents指南

56 阅读7分钟

本文较长,建议点赞收藏。更多AI大模型应用开发学习视频及资料,在智泊AI

01 前言

LangChain官网的一篇文章介绍了构建一个Agent的思路和具体步骤,包括从如何选择真实样例,到构建MVP产品,再到测试质量和安全,最后完成生产环境的部署。同时通过一个邮件Agent的案例进行阐述。

LangChain:开发由大模型驱动的AI应用的框架。

这是一篇很有实用性的指导手册,用一个案例贯穿每一步骤,使得如何构建Agent变得具象化,更易理解。

构建一个Agent一共包括如下六个步骤

  • 定义工作和任务
  • 设计操作流程
  • 用提示词搭建MVP产品
  • 连接数据和编排
  • 测试和迭代
  • 部署、扩展和精进

02 六大步骤

步骤一、通过示例定义Agent的工作

选择一些真实的并且确实需要Agent的任务,然后列出5到10个具体示例。示例是为了:

  • 验证你的想法是有边界的,不至于过于繁琐和模糊
  • 为后续的性能测试提供一个可对比的基准

假如一个公认的“聪明的实习生”在足够的时间和资源的情况下,都无法实现它,那说明你想通过Agent做的工作不是很切合实际了。

以邮箱Agent示例,这一步我们要做什么?

定义Agent需要处理的任务,可能包括如下:

1、为关键干系人的邮件设置优先级

2、根据日历可用的时间来安排会议

3、忽略垃圾或者不需要回复的邮件

4、基于公司的文档回答有关产品的问题

在这一步中要避雷:

1、如果没有具体的例子,可能范围太过于宽泛

2、如果传统软件能够实现的更好(例如逻辑简单、固定,业内有好的解决方案)那就用传统软件实现。毕竟Agent更慢、更贵而且可能产生幻觉。

3、指望不存在或者无法构建的API或者数据源

步骤二、设计标准操作流程(SOP)

设计一个标准操作流程(SOP),按步骤描述是我们自己是如何完成它们的,而不是Agent。

这有助于进一步确认问题范围合理清晰,同时暴露出Agent需要的关键步骤、决策、工具。

以邮箱Agent示例,这一步我们要做什么?

设计一个逐步的流程,它可能是:

1、分析邮件内容和发件人信息来分类回复的优先级

2、检测日历,安排视频会议

3、基于邮件内容、发件人和规划时间信息起草回复内容

4、人工审核和同意后进行发送邮件

步骤三、用提示词搭建MVP

一开始做一个大而全的Agent不太现实,可以先找一个切入点完成MVP。这样可以更加明确流程怎样流转、有哪些地方需要做决策、哪里需要LLM推理。

构建MVP产品,聚焦在LLM推理(分类、决策),为此打造一个高质量的Prompt(提示词) 。先不要考虑Prompt的数据来源,使用手动输入的方式先实现LLM的推理功能。

可以使用LangSmith来管理提示词、测试数据、追踪流程性能。

简单实现MVP:

  • 手动输入提示词依赖的数据
  • 使用步骤一的例子来进行测试
  • 精力放在LLM的推理效果上,这很关键

以邮箱Agent示例,这一步我们要做什么?

聚焦在邮件的意图识别和优先级分类上,这是后续的基础。写一个只做这一件事的提示词,例如:

  • 输入

    邮件内容:我们可以在下周碰面讨论关于LangChain的产品roadmap吗?

    发件人:“Jeff Bezos”,职位:“CEO”

  • 预期输出

    intent:“会议请求”,Urgency:“高”

调整提示词确保模型能够持续稳定的提供准确的判断

步骤四、接入数据和编排

现在已经有了一个可以工作的提示词,可以把真实的数据接入进来了。

识别提示词需要的上下文和数据,例如邮件内容、日历、产品说明文档。并规划如何获取这些数据,如通过API还是数据库或者其它的途径,是获取后输入提示词还是由LLM进行决策。

以邮箱Agent示例,这一步我们要做什么?

假设可能用到的工具:Gmail API 读取来信、Google Calendar API 查可用时间、CRM 查询发件人信息

一个可能的编排如下:

1、新邮件自动触发Agent

2、Agent从CRM和Web检索发件人信息

3、把邮件上下文和发件人信息提供给LLM,判断意图和紧急程度及是否需要回复

4、如果需要会议,则检查并选择候选日历

5、Agent构建回复内容

6、人工审核并通过后进行发送邮件

步骤五、测试和迭代

测试质量和边界,使用步骤一定义的示例进行测试核心流程。为了方便测试,可以使用链路追踪LangSmith进行可视化流程调试。

如果示例测试没问题,可以扩展到自动测试,通常测试案例会扩充到几十个,全面评估Agent的长短板。

以邮箱Agent示例,这一步我们要做什么?

  • 以程序方式跑完所有示例
  • 定义自动化的成功指标 - 想清楚预期的行为和结果
  • 选择性人工复核,兜底可能遗漏的问题

自动化测试需要先想清楚并量化性能标准,一个可能的测试成功标准包括:

  • 语气和安全:回复专业,避免不当内容
  • 意图和优先级识别:正确分类,并识别出回复的优先级
  • 工具使用效率:必要时才会使用工具
  • 起草回复内容质量:回复清晰并与上下文相关

步骤六、部署 扩展与精进

当MVP表现稳定可靠,再开始扩展Agent的能力以适应更多示例,甚至实现多Agent协作。每一次扩展都要经过第五步的测试,确保扩展不会影响现有的能力。

准备就绪后,可以部署到生产环境给真实的用户使用,部署后密切关注真实使用情况和效果。

以邮箱Agent示例,这一步我们要做什么?

观察并收集,真实使用的情况可以暴露一些未考虑到的场景,这样就可以持续进行迭代。之后逐步增加新的集成、优化提示词和编排流程。仍要注意,每次一的迭代都要经过第五步的测试流程。

03 最后

无论是自动化邮件分流还是编排复杂工作流,这六个步骤都提供了一条从想法落地到产生影响的实用路径。最好的 Agent 永远是在迭代中打磨出来的,从简单出发、持续优化

最后,为了方便记忆,基于六大步骤让ChatGPT生成了一个口诀,微调后:

先例后法,抓核再编,详测而布

(例=选具体示例;法=SOP;核=MVP/Prompt;编=编排接数据;测=测试迭代;布=上线发布)

参考:blog.langchain.com/how-to-buil…

学习资源推荐

如果你想更深入地学习大模型,以下是一些非常有价值的学习资源,这些资源将帮助你从不同角度学习大模型,提升你的实践能力。

本文较长,建议点赞收藏。更多AI大模型应用开发学习视频及资料,在智泊AI