Skip to content

是否必须新开一个 AI 项目? ​

结论(建议):C/B 助手不强制新开独立产品仓库;更推荐 主站内新增 AI 模块(或薄 AI 服务),用现有 Domain Port 当 Tool。
独立仓适合:编排极重、团队拆分、或 Python LangGraph 实验要长期跑生产时再拆。


1. 先澄清「新开 AI 项目」可能指三种东西 ​

含义要不要说明
A. 新学一套 AI 应用(新技术域)✅ 要这是能力目标,与仓库无关
B. Git 上新建 tour-mate-agent 独立仓⚠️ 非必须过早拆仓会双倍发布/鉴权/联调
C. 进程上独立微服务⚠️ 可后期流量与模型成本上来再拆

很多人把 A 和 B 绑在一起。对你当前阶段,做 A,暂缓 B。


2. 三种落地形态对比 ​

形态 1:主站内模块(推荐起步) ​

tour-mate-platform
  ├─ domain/...          现有业务
  ├─ (新)assistant 或 ai 相关包/模块
  │     ApplicationService / Tool Dispatcher
  │     调 IActivity... 等已有 Port
  └─ trigger 增加 AssistantController

适合:C 端 NL 搜活动、B 端只读分析第一期。
优点:权限、用户上下文、事务、发布链路复用;Tool 就是调自己的 ApplicationService。
缺点:模型依赖与业务 jar 耦合;要控制好依赖方向(AI 编排依赖 Domain,Domain 不依赖具体模型 SDK 细节——可用 Port 隔离)。

形态 2:独立 AI 服务(同组织内) ​

tour-mate-ai-service  ──HTTP/RPC──►  tour-mate-platform(业务 API)

适合:多端 Agent、独立扩缩容、或 Python 编排为主。
优点:技术栈自由;模型故障隔离。
缺点:要重做鉴权透传、幂等、超时、契约版本;本地联调成本高。
建议:等 C 端 MVP 在主站验证「卡片点击率」后再评估拆分。

形态 3:完全独立「AI 产品仓」+ 只打外部 HTTP ​

学习 Demo 可以,但接 TourMate 真实活动时,会快速退化成「又写一遍 BFF」。
除非你明确要做可对外售卖的 Agent 平台,否则对个人项目过重。


3. 和「Spring AI / LangChain4j」的关系 ​

框架选择解决的是 怎么调模型、怎么绑 Tool、怎么做 RAG,
不决定必须新开仓库。

  • 主站内模块:直接引 Spring AI 或 LangChain4j 依赖即可。
  • 独立服务:同一框架换个 Boot 工程。
  • Python LangGraph:更适合「实验编排 / 长工作流」,用 HTTP 调主站 Tool API;不必一上来取代 Java 主路径。

4. 决策树(可直接用) ​

是否已有稳定业务 API / ApplicationService?
  ├─ 是 → 主站内做 Assistant 模块(默认)
  └─ 否 → 先补业务能力,再谈助手

C 端是否只要「搜活动 + 深链」?
  ├─ 是 → 不要独立仓
  └─ 复杂多 Agent 长流程 + 要独立扩缩 → 再拆 AI 服务

是否主要用 Python 做生产编排?
  ├─ 否(Java 主路径)→ 主站模块或 Java AI 服务
  └─ 是 → 独立 Python 服务 + 主站暴露 Tool API(注意鉴权)

5. 建议你怎么落(可执行) ​

阶段 0(现在)

  • 本目录继续沉淀方案与评测集。
  • 主仓尚未开干前,不必建空 AI 仓。

阶段 1(C 端 MVP)

  • 在 tour-mate-platform 增加 assistant 相关模块/包 + Admin/App API。
  • Tool = 现有活动查询。

阶段 2(B 端工作流变重)

  • 若 Java 状态机够用,继续主站。
  • 若强需求 LangGraph checkpoint / 复杂人机回路,再开 tour-mate-agent-orchestrator(Python),主站只暴露受控 Tool API。

阶段 3(有流量)

  • 按成本与隔离拆模型网关 / 独立扩缩。

6. 一句话回答你的原话 ​

「不管做 B 还是 C,都需要新开一个 AI 项目对吧?」

不对齐「必须新开仓库」这句话。
需要对齐的是:新开一个 AI 能力边界(模块或服务)+ 明确 Tool 契约;仓库可以仍是 tour-mate-platform,直到拆分的收益大于联调成本。

Powered by VitePress