DocentPro 正在构建一个人工智能旅行平台,帮助旅行者确定去哪里、做什么以及如何计划。
人们喜欢使用 ChatGPT 和 Perplexity 进行旅行研究——它们在提供想法方面做得很好。但对于 DocentPro 来说,旅行不仅仅是研究——它关乎于创建一个从发现到计划再到预订的精简体验。这些工具常常不够。你仍然需要绘制路线、比较评分、浏览评论、在应用程序之间来回切换才能完成所有工作。
为了解决这个问题,他们使用 LangGraph 和 LangSmith 构建了一个模块化多代理系统,将 LLM 的创造力与确定性逻辑的精确性相结合,并设计了可重用的代理,这些代理可以在行程规划和实时对话中协同工作。
构建跨堆栈工作的模块化代理
DocentPro 将行程规划代理分解为四个领域:景点、餐厅、酒店和活动。每个领域都有自己的代理负责管理,并且每个代理都设计成模块化和可重用的。这意味着,“餐厅研究代理”不仅仅用于行程规划器,为每天推荐餐点。当用户询问“附近有什么好吃的餐馆?”时,他们的聊天助手也会调用相同的代理。
这种方法有助于 DocentPro 团队避免重复逻辑,保持一致性,并使他们的代理更容易测试和改进。有了 LangGraph,系统的每个部分都被构建成一个清晰、可追溯的节点——借助 LangSmith,他们可以一步一步地调试和完善行为。DocentPro 认为这是朝着更具协作性的人工智能迈出的微小但重要的一步——代理不再孤立运行,而是可以在不同的工作流程中协同工作。
平衡 LLM 的灵活性与确定性控制
虽然 LLM 在提出有趣的想法方面做得很好——比如推荐当地热门景点——但它们并不总是符合实际。此外,虽然 LLM 在推荐有趣的地点方面做得很好,尤其是知名景点,但它们常常仅根据自己的“已知”信息来制定行程,而不是人们实际的移动方式。结果呢?在一天之内,行程会像之字形一样穿过各个区域,而不考虑实际的路线。

因此,DocentPro 在系统中设置了“护栏”,以确保输出能够接地气。这包括:
- K-Means 聚类,按地理位置对兴趣点进行分组
- 路线重排,以最大限度地减少不必要的行程
- 过滤掉幻觉出现或已关闭的地点
- 为每个推荐生成 LLM 解释
这种混合方法有助于 DocentPro 在有用的建议和用户可以实际遵循的实用计划之间取得平衡。
使用 LangSmith 进行可观测性和调试
LangSmith 在帮助 DocentPro 使其系统可靠方面发挥了至关重要的作用。他们使用它来:
- 跟踪和监控每次 LangGraph 运行
- 快速检查哪里出了问题(或出对了)
- 了解用户如何与我们的代理进行交互
- 重放会话以更快地迭代并改进行为
这对于多代理系统尤其有用,在这样的系统中,很容易失去对谁在做什么的追踪。有了 LangSmith,DocentPro 团队始终对决策过程有可见性。
支持 12 种语言的音频指南
DocentPro 最早构建的功能之一是面向全球景点的按需音频指南系统。他们最初是通过自定义 RAG 管道来实现的——但随着他们增加了对 12 种语言和更多地点的支持,维护和扩展该系统变得痛苦不堪。
因此,DocentPro 决定在短短两天内将他们的架构移植到 LangGraph,采用为内容生成量身定制的地图-还原式工作流程。这意味着:
- 对于每个兴趣点,他们将其分解为多个主题(例如,历史、建筑、趣闻)
- 每个主题都经过一系列代理:研究 ⇒ 叙事生成(RAG)⇒ 翻译 ⇒ TTS(文本转语音)
- 最终输出随后被汇总为结构化的、每种语言的音频播放列表

LangSmith 帮助 DocentPro 跟踪和调试了早期运行,现在该系统可以以最小的开销在全球范围内扩展。
结果
DocentPro 的当前系统:
- 在行程规划和聊天中使用了模块化、领域特定的代理
- 将确定性算法与基于 LLM 的推理相结合
- 通过 LangSmith 完全可追溯和可改进
- 为世界各地的旅行者提供人工智能行程和多语言音频指南
DocentPro 将继续改进他们的代理交互方式以及他们如何为灵活的旅行带来结构——一次一个行程。