面向小微商户的自然语言进销存 Agent · Natural Language Inventory Agent
基于 Java Spring Boot + Python LangGraph + Vue 3 的双服务 AI Agent 架构。 将采购、销售、库存、赊账等业务能力封装为可调用工具,采用 Deterministic First, LLM Fallback 设计哲学—— 能用代码确定的事情不交给 LLM;LLM 只负责必要的语义理解,业务状态、工具权限、写入确认和最终业务事实全部由系统代码负责。 Agent 可以犯错,但绝不能在用户不知情的情况下直接修改业务数据。
6 个核心功能模块界面 · 拖动画廊可自由旋转浏览
悬停卡片放大 · 双击查看大图
不是让 LLM 决定整个业务流程,而是将 LLM 的不确定性限制在"语义理解"这一层,将业务正确性重新交给确定性的系统逻辑。
Java + Python 双服务架构:Java 收口权限认证、事务控制和数据持久化;Python 基于 LangGraph 的 ReAct Agent 仅负责语义理解与工具编排。业务操作经 REST API 回调 Java 执行,LLM 在结构上无法直连数据库,从架构层面杜绝 AI 越权写库的风险。
Router 以纯代码三级漏斗(状态机 → 关键词正则 → 全工具兜底)判定意图,零 LLM 调用、毫秒级响应,再按能力分发至三个 Agent:QueryAgent(只读工具集)、WriteAgent(只写专用 prompt + 预览-确认协议)、FullAgent(全工具兜底)。以工具绑定而非提示词约束实现权限边界。
所有写操作强制 Preview → Confirm → Commit 流程。第一轮 LLM 生成 confirmed=False 的预览参数,Redis 缓存真实工具入参;第二轮确认时从 Redis 恢复参数追加 confirmed=True,零 LLM 调用直执写入,写入成功后清除状态防止重复确认。带轮次过期保护(跨 12 轮自动失效),杜绝未确认改数据与重复入账。
引入 Guardrails 校验模式,以 Tool 执行结果而非 LLM 回复作为业务事实,检测假成功、伪造预览、工具错配等 6 种幻觉类型。命中后带针对性纠正指令重试,重试循环同样走 Guard 校验,二次失败后诚实降级提示用户重新输入,不编造、不硬答。
设置 Agent ReAct 循环上限(recursion_limit=10)与无结果轮次早停机制,防止 LLM 陷入工具调用死循环或无限检索无果的异常场景,保障服务可用性。
Java 业务后端 + SSE Gateway 与 Python Agent Runtime 职责分离。Python 不直接访问数据库,所有读写通过 Java 业务 API 完成——业务逻辑、事务、权限校验全部收口在 Java。
DEMO CREDENTIALS · 点击右侧按钮可一键复制