Project · TripMind · AI 多智能体旅行规划

情绪价值驱动的
旅行智能体

从西北毕设演进出的多智能体旅行引擎。首创将"情绪价值"和"圈层身份"作为一等公民编入约束层,5 大专职 Agent 以 DAG 依赖顺序协作,完全覆盖社媒信息采集到供应链履约逻辑闭环。

FastAPI + Gunicorn React 18 + Vite 5 5 Agent DAG SSE + Redis Pub/Sub 多 LLM 适配层 Docker + GitHub Actions

解决的真实痛点

当前旅游内容高度同质化("特种兵攻略"),缺乏对旅行者情绪诉求、身份圈层(银发族、演唱会粉丝、潜水发烧友)和非标资源(本地向导、小众民宿)的深度整合。

风险感知(天气/政治事件/节庆冲突)和跨境合规在规划阶段几乎缺失。传统攻略无法真正理解"这个人想要什么感受"。

5 Agent DAG 编排引擎

Phase 1 · 并行
Social Agent
解析小红书/TikTok 链接,提取 POI、情绪标签、热度数据
并行
Phase 1 · 并行
Risk Agent
监控天气、政治事件、节庆冲突,发现隐藏机会(演唱会/活动)
并行
Phase 2
Transport Agent
多模态跨岛/跨境路线规划,含签证合规校验
串行
Phase 3
Constraint Agent
对齐预算/健康/圈层约束,拥有一票否决权(safety-first)
否决权
Phase 4
Supply Agent
模拟 WhatsApp + RPA 预订非标库存(本地向导/特色民宿)
串行

统一接口,一键切换 Provider

Claude(主力)
Anthropic 原生 SDK,核心推理首选
OpenAI GPT-4o
标准 OpenAI SDK,工具调用自动转换
Gemini 2.0 Flash
google-generativeai SDK
Minimax / DeepSeek
OpenAI-compatible base_url 注入

统一 BaseLLM 抽象接口,工具调用格式自动转换(Anthropic ↔ OpenAI),环境变量一键切换 Provider,上层 Agent 代码无需感知差异。

不只是 Prototype

🐳
Docker Compose:Frontend(Vite/Nginx)+ Backend(FastAPI/Gunicorn)+ Redis(Pub/Sub)+ Nginx 反代,5 服务完整编排
⚙️
CI/CD:GitHub Actions 三阶段(ruff lint + mypy → pytest → Docker build),代码质量门控
🔒
并发控制:全局 Semaphore 限制 LLM 并发请求数,Redis 支持多 Worker 横向扩展;容器以非 root 用户运行
📱
前端流式 UX:React 18 + Framer Motion,每个 Agent 独立进度环 + 实时日志流 + Agent 间数据包动画;离线 Mock 模式任何场合可流畅演示

工程选型

后端框架
FastAPI 0.110
Uvicorn + Gunicorn
Python 3.12
LLM SDK
anthropic 0.25+
openai 1.14+
google-generativeai
实时流
sse-starlette (SSE)
Redis 7.2
asyncio 客户端
前端
React 18 + Vite 5
Tailwind CSS 3.4
Framer Motion 11
数据验证
Pydantic v2
pydantic-settings
structlog 日志
部署/CI
Docker Compose
GitHub Actions
ruff + mypy

关键决策

DAG 依赖编排而非简单 Chain
Transport Agent 必须等 Social Agent 的 POI 数据,Constraint Agent 汇读所有前置输出后再决策,Supply Agent 最后执行——执行顺序本身即业务逻辑,不是随意串联。
Constraint Agent 一票否决
安全(健康/预算/签证)约束不参与"投票",直接 veto,避免 LLM 在多 Agent 协商中被绕过。情绪价值不能凌驾于安全红线之上。
SSE + Redis Pub/Sub
单机 SSE 满足 MVP 需求;Redis 支持多 Worker 部署时事件跨进程广播,无需改上层代码。Mock 数据与真实 SSE 事件结构完全一致,保证 Demo 模式下前端行为与真实环境无差。
情绪价值作为一等公民
"圈层身份"(银发族/潜水发烧友/演唱会粉丝)和"情绪诉求"直接编入 Constraint Agent 的约束层,不是营销话术,是工程实现——这是业内首创。