Voyant Travel Assistant是旅行AI工具,通过规划工具调用、执行操作、记录收据,在回复用户之前进行严格验证,提供一个可信赖和来源清晰的答案。Voyant Travel Assistant采用AI优先的规划方法(利用OpenAI风格的工具),结合Zod进行严格的JSON解析,实现非阻塞的异步I/O,通过集成大量工具,包括天气、国家/地区信息、景点、通用旅行搜索(如Tavily/Brave)、RAG(如Vectara)和Amadeus提供的城市/机场/航班数据,可以自动对回复进行核实,将所有操作收据和验证结果存储起来,用户可随时通过/why命令追溯答案的生成逻辑和来源。
如果想快速使用Voyant Travel Assistant,可按照以下步骤操作:
1、进入root目录,执行npm install安装依赖;
2、运行npm run build进行项目构建;
3、执行npm run start启动项目。
如果需要使用命令行界面(CLI),进入root目录后运行npm run cli即可。
基础需求为设置LLM_PROVIDER_BASEURL和LLM_API_KEY(或OPENROUTER_API_KEY),当使用Amadeus、Vectara、Search等工具时,还需额外配置对应的密钥。
| 测试类型 | 测试对象 | 特点 |
|---|---|---|
| 单元测试 | 纯模块(如模式、解析器、辅助工具) | 不涉及网络请求,专注于模块内部逻辑正确性 |
| 集成测试 | 工具适配器和API路由 | 使用HTTP模拟技术,验证模块间协同工作能力 |
| 黄金测试 | 真实元智能体对话 | 会保存对话记录,通过LLM传递调用验证器(参考verify.md),断言基于存储的验证工件,执行/why命令时无需重新验证 |
• 执行单元测试:进入root目录,运行npm run test:unit。
• 执行集成测试:进入root目录,运行npm run test:integration。
• 执行黄金测试:进入root目录,运行VERIFY_LLM=1 AUTO_VERIFY_REPLIES=true npm run test:golden。
• 需提供LLM_PROVIDER_BASEURL和LLM_API_KEY,或OPENROUTER_API_KEY。
• 只有当VERIFY_LLM=1时,黄金测试才会执行,否则会被跳过。
Voyant Travel Assistant的智能体决策流程清晰,从接收用户消息到生成最终回复,涉及多个关键环节,各环节协同工作,确保用户需求得到准确响应。
1、用户发送消息后,请求会被发送至POST /chat接口(对应文件为root/src/api/routes.ts)。
2、接口将请求传递给handleChat()函数(对应文件为root/src/core/blend.ts)。
3、handleChat()函数调用runMetaAgentTurn()函数(对应文件为root/src/agent/meta_agent.ts),启动元智能体流程。
4、元智能体首先加载meta_agent.md文件,并记录提示哈希值/版本信息。
5、借助LLM进行分析与规划,生成CONTROL JSON路由、缺失信息及调用指令。
6、通过chatWithToolsLLM()函数执行工具调用规划。
7、再次利用LLM整合信息,生成有依据的回复。
8、调用setLastReceipts()函数(对应文件为slot_memory.ts)存储操作记录。
9、通过observeStage和addMeta* metrics(对应文件为util/metrics.ts)记录阶段信息与元数据指标。
10、检查是否开启AUTO_VERIFY_REPLIES=true:
• 若是,调用verifyAnswer()函数(对应文件为core/verify.ts),结合上下文(getContext)、插槽(slots)和意图(intent)进行验证。
• 验证完成后,调用setLastVerification()函数(对应文件为slot_memory.ts)存储验证结果。
• 判断验证结果是否为“失败”且存在修正答案。
若是,使用修正后的答案,调用pushMessage(thread, revised)将其添加到对话线程。
若否,直接返回元智能体生成的回复。
• 存储验证结果后,返回最终回复。
• 若未开启AUTO_VERIFY_REPLIES=true,直接返回元智能体生成的回复。
11、生成ChatOutput并传递给调用方。
12、用户可通过/why命令查看操作记录和存储的验证结果。
工具注册表对应文件为root/src/agent/tools/index.ts,包含多种实用工具。
• 天气查询、国家查询、景点查询(weather / getCountry / getAttractions)/
• 旅行信息搜索(searchTravelInfo,支持Tavily/Brave)。
• 向量查询(vectaraQuery,用于RAG定位)。
• 政策提取与深度研究(extractPolicyWithCrawlee / deepResearch)。
• Amadeus相关工具(resolveCity / airports / flights,用于城市解析、机场查询、航班查询)。
1、用户发送消息后,系统加载meta_agent.md中的系统提示。
2、基于系统提示,通过LLM生成规划请求,包含CONTROL JSON路由、缺失信息及调用指令。
3、调用chatWithToolsLLM()函数执行元智能体操作。
4、依据meta_agent.md中的整合指令,对信息进行整合。
5、调用slot_memory.setLastReceipts存储操作记录。
6、判断是否需要自动验证或执行/why命令:
• 若是,加载verify.md,生成严格的JSON格式验证结果。
• 若否,直接生成回复。
7、最终输出包含回复和操作记录的结果。
PowerPoint演示文稿智能生成工具 PowerPoint Slides Skill
金融 AI 新工具 FinClaw,免费提供1000+ 金融专属Skills
PPT Agent 演示文稿生成框架
端到端自主AI科研引擎 NanoResearch
CitationClaw 学术论文智能引用画像和分析报告
pi-autoresearch:pi自动化实验优化循环
OpenClaw Control Center:为OpenClaw用户(包括团队和个人)提供统一的监控和管理界面
OpenClaw Dashboard 仪表盘:让OpenClaw管理更简单
PaperBanana-CN 学术配图助手
996.ICU:工作 996, 生病 ICU