WMS AI 库存对话 MVP 设计
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_ade43103/fsd-sds。
技能介绍
要解决什么问题
WMS 需要挂接对话式业务查询,首期用最小方案验证:用户用自然语言查库存,系统识别参数、缺则追问,再调用现有 WMS 接口返回结果。范围锁定为显式 SKU + 仓库编码的单场景;不支持商品名模糊查,会话由后端按 sessionId 维护。
方案如何落地
采用 LangChain4j AIService + 单一 InventoryQueryTool,业务聚合留在 WmsQryService,远程走 Feign。
- 入站:
InventoryChatController→InventoryAssistantFacade→InventoryAssistantAiService.chat(sessionId, message) - 编排:结合
ChatMemoryStore判断 SKU /warehouseCode是否齐全;缺参返回 ASK 追问;齐全则调 Tool - 查询:Tool 强校验后调用
WmsQryService.queryInventory,先验仓库再查库存 - 响应:AIService 输出固定 JSON(
replyType:ASK/RESULT/ERROR),Facade 解析为ChatQueryResult,非 JSON 有兜底
边界与注意点
MVP 不引入多 Tool Agent、RAG 或模型路由;会话记忆首期内存,可后续换 Redis。需在 system message 与 Tool 层禁止猜测 SKU/仓库;Feign 超时与 WMS 异常统一映射为用户可读错误文案,避免底层异常外泄。
使用场景
- WMS 前端要接 `/chat/inventory`,需按 sessionId 实现缺仓库编码时的追问与第二轮补参续查
- 在 sc-agent 模块里用 AIService 挂单一 `InventoryQueryTool`,并复用现有 `WmsQryService` 而非把逻辑写进 Prompt
- 编写集成测试:Mock Feign 后走 Controller→Facade→Tool 全链路,覆盖仓库不存在与库存为空分支
- 评审 MVP 范围,确认不引入商品名模糊查、RAG 或多 Tool Agent,避免交付膨胀
适合人员
- 负责 WMS 对话接口的后端工程师,要把 LangChain4j AIService 与 Feign 接到现有查询服务上
- 制定 sc-agent 分层(interfaces/application/infrastructure)的架构师,需对照文档划清 AI 编排与应用层边界
- 编写库存聊天验收用例的测试工程师,重点覆盖两轮会话补参与非 SKU 输入的拒绝逻辑
- 带 WMS+AI MVP 交付的技术负责人,需要固定 JSON 契约、错误文案与「禁止猜测参数」的落地检查项