AI Project Introduction
X介绍X是一个基于 Spring AI Alibaba 构建的企业级 ReAct (Reasoning推理 Acting行动) Agent 平台。它不仅仅是一个简单的问答机器人而是一个具备自主感知、逻辑推理、工具调用和业务闭环能力的智能决策系统。过去这几年我有两个比较鲜明的技术标签一是有从 0 到 1 建设高并发、高可靠平台系统的工程经验二是具备传统工程 AI Agent的复合能力。其中我最想重点介绍的是高德秒送订单智能排查平台。秒送业务对时效和客诉响应要求非常高面对发票申请失败、骑手诱导取消这类问题原来靠人工排查往往要耗费小时级时间。我在这件事上的核心工作是独立设计并落地了一套基于 ReAct 范式的 Multi-Agent 架构。具体来说我设计了统一的 Agent 抽象层把对话记忆、会话管理、任务调度、结构化输出解析这些通用能力沉淀下来支持 ReAct、Plan-Execute、状态机三种编排模式灵活切换搭建了对话路由 → 上下文组装 → Agent 引擎 → 工具服务四层应用架构把大模型和高德内部 HSF 服务、SLS 日志查询等现实工具做了无缝集成实现了两阶段意图识别路由先用 Qwen-Turbo 轻量模型做快速、稳定的意图分类再通过 FunctionToolCallback 把十几个后端查询服务封装成 Agent 可调用的工具为了保证执行安全还基于 Diamond 配置中心做了动态工具注册和调用限流Agent 启动时按白名单装载工具并限制每个工具的调用次数。在发票排查场景里我通过提示词工程把标准化排查链路固化到 Prompt 里同时加入反幻觉约束要求所有结论必须引用具体数据源在诱导取消风控场景里我设计了一个 4 级风险标准加硬性排除条件的复杂规则框架并且搭建了 AI 与传统风控算法并行的验证机制通过自定义 Interceptor 同步做判责对比产生的差异案例又回流成高质量标注数据持续优化模型。这个项目最终的效果是特定客诉场景的故障平均定位时间从小时级缩短到分钟级排查效率提升了 90% 以上。除了 AI 方向我在高德聚合出行平台也深度参与了订单履约、运力调度、服务治理等核心域建设支撑业务从零增长到日订单万级核心链路可用性做到 99.99%。一、整体技术架构1、核心框架层Pandora Boot: 阿里巴巴内部标准的微服务容器提供隔离的类加载环境和中间件集成。Spring Boot 3.2 Java 17: 现代化的基础运行环境。Spring AI Alibaba: 核心 AI 引擎提供了 Agent 框架、模型抽象和工具注册机制。2、大模型与记忆层DashScope (灵积): 接入阿里云通义千问Qwen3-Max作为“大脑”负责复杂的逻辑推理和意图识别。Redis Memory: 利用spring-ai-alibaba-starter-memory-redis 实现长短期记忆管理支持多轮对话上下文保持。3、交互与通信层DingTalk Stream: 采用钉钉长连接模式实现低延迟的群聊消息接收和交互式卡片回调。HSF(High Speed Framework): 高性能 RPC 框架对外暴露 SPI 接口供其他业务系统如客服工作台调用 Agent 能力。4、数据与工具层SLS(Simple Log Service): 实时日志查询Agent 通过它获取业务现场的原始数据。Tair/Diamond: 分布式缓存与配置中心支撑高频数据读取和动态规则下发。二、核心 Agent 实现原理以“发票排查”为例这是项目的亮点功能展示了 Agent 如何像人类专家一样解决复杂问题。1、自主决策流程 (ReAct Loop)1.1、意图识别 (Intention Recognition):用户输入“订单 xxxx… 开票失败了”。Agent 首先通过轻量级模型识别出意图为 INVOICE发票类。1.2、上下文组装 (Context Engineering):动态注入 业务规则如订单过期判定标准。动态注入 可用数据源当前可查询的 SLS 项目和 logStore 列表。1.3、思考与行动 (Reasoning Acting):思考: “要查失败原因我得先看订单详情确认服务商是谁。”行动: 调用 queryDeliveryOrder 工具。观察: 拿到订单信息发现是“XX 服务商”。思考: “接下来我要去 SLS 查这个订单的开票日志看看有没有报错。”行动: 调用 queryLog 工具指定 logStore 和 queryKey。1.4、根因定位与结论:Agent 分析日志中的 Exception 堆栈结合业务规则判定为“服务商超时”。调用 getSPByCpCode 获取该服务商的钉钉反馈群。输出: 生成一份包含根因、服务商信息和处理建议的结构化报告。2、工具调用实现 (Tools MCP)Function Calling: 使用 FunctionToolCallback 将 Java 方法包装成 AI 可调用的工具。动态工具注册: Agent 在初始化时根据 Diamond 配置动态计算可用的 logStore 数量并据此调整工具调用的最大次数限制防止死循环。MCP(Model Context Protocol) 思想: 虽然目前主要使用本地 Tool Callback但架构上预留了通过 MCP 协议扩展远程工具的能力实现了模型与业务数据的解耦。3、专门的 Skill (Prompt Engineering)System Prompt: 定义了 Agent 的“人设”发票排查专家。思维链 (Chain of Thought): 在 Prompt 中强制要求 Agent 按步骤执行快速定向 - 获取配置 - 日志采集 - 调用链追踪 - 交叉验证。反幻觉约束: 明确禁止 Agent 从订单号推测日期所有结论必须标注数据来源如[来源: SLS queryLog]。三、关键技术点与创新点下表总结了 X 平台在实现企业级 Agent 过程中的关键技术点与创新点技术点说明动态上下文注入不硬编码数据源而是从 Diamond 配置中实时读取 SLS 项目信息让 Agent 能适应不同的环境日常/预发/线上。多层安全防护引入 ModelCallLimitHook 和 ToolCallLimitHook严格控制 AI 的思考轮数和工具调用次数防止费用失控。流式卡片交互钉钉通知不仅是文本还支持“思考中…”的流式卡片更新提升了用户在等待复杂分析时的体验。监控与可观测性通过 TokenMonitoringInterceptor 和 ToolCallMonitoringInterceptor实时监控每一轮对话的 Token 消耗和工具耗时。