微信扫码
添加专属顾问
阿里商旅借助AgentScope框架实现多智能体协同,将差旅助手准确率提升至90%,打造智能差旅新标杆。 核心内容: 1. 单智能体模式面临的三大技术瓶颈 2. AgentScope框架带来的架构革新 3. 混合编程模式的技术实现路径
阿里商旅是阿里巴巴旗下一站式数智化差旅服务平台。依托阿里巴巴生态强大的供应链及信息数字整合能力,帮助企业实现降本增效,增加合规透明度,全方位提升企业组织效率及员工差旅体验。其中AliGo阿里商旅的差旅助手,用户只需要输入确定的行程时间和地点,AliGo就会自动规划行程为用户推荐合适的交通方式,实现"出差事项收集 → 行程规划 → 一键下单"的完整业务闭环。
一、背景
阿里商旅早期通过workflow+单智能体的模式快速构建并成功上线了 AliGo 系统的第一个版本,然而,在实际使用过程中,我们发现这种模式存在技术瓶颈和架构局限性,亟需进行代码化升级。
(一) 痛点分析
1.单智能体模式的技术瓶颈
随着业务逻辑复杂度的持续攀升,Prompt Token 数量急剧增长,token 过多,就会导致大模型的注意力机制开始出现明显衰减,无法满足业务对高准确率的核心要求。具体表现为:
2.架构泛化能力不足
3.上下文工程的初级阶段
(二) 目标
为了解决上述核心痛点,我们启动了 AliGo 代码化架构升级,主要目标包括:
二、方案
(一) 技术选型
结论:最终采用“Python 写核心 AI 逻辑 + Java 写服务层” 的混合模式。用 Python 实现 Agent 核心智能逻辑,包括 规划、记忆、LLM 调用;Java 构建外围高并发服务,比如前置的鉴权、MTop 对接、MCP 服务等。
编者:AliGo选型时间为2025年中旬,目前,AgentScope已经提供AgentScope Java,供Java开发者选择
团队对两个框架进行了多个场景的实操和调研,直观感受:对于基础能力,如 MCP 服务调用、与 Qwen LLM 集成时 AgentScope 开箱即用,LangGraph 要额外做一些适配工作等原因,最终选型AgentScope,原因如下:
Python 主流的 Web 框架主要是 FastAPI(新)和 Flask(老)。
结论:使用 FastAPI,原因如下:
(二) Multi Agent架构
基于商旅业务特性,我们尝试了几种常见的 Multi Agent 架构模式。
结论:基于准确度与耗时的考量,我们采用了“Handoffs(交接模式)+ Routing(纯路由方式)”混合的模式,比如在行程规划、知识库查询的场景下采用 Routing 模式,在信息查询的场景下采用 Handoffs 模式,模式不固定可按需调整。
以主规划智能体为核心,协调多个专业化子智能体协同工作,形成完整的差旅规划解决方案。
(三) 意图识别
意图识别智能体的职责如下:
主智能体+意图识别智能体实现-Level3 组件图
在系统运行过程中我们发现了一个性能问题:当用户有明确意图并通过界面操作触发功能时(如点击“为我规划行程”、“为我提申请”、“开始规划”),系统仍需经过大模型的完整分析流程,导致不必要的延迟。
我们重新审视了架构设计,提出了分层处理策略:将明确的用户意图通过快速通道直接路由,复杂语义理解仍交由 AI 智能分析。整体就是个"快慢车道"的设计:
第二阶段的主智能体+意图识别架构
核心的设计在于主智能体的动态 Prompt 生成机制。主智能体(main_plan_agent)并不是简单地调用规则引擎或 LLM 意图识别,而是根据规则引擎的 classify() 结果动态选择不同的处理路径:
def get_prompt_main_plan(user_input: str) -> str: # 运行时决策:根据规则引擎结果动态选择Prompt模板 rule_match_result = classifier.classify(user_input) if rule_match_result: # 规则匹配成功:生成简单意图Prompt,直接路由到对应智能体 return _get_simple_intent_prompt(...) else: # 规则匹配失败:生成复杂意图Prompt,先调用intent_recognition_agent return _get_complex_intent_prompt(...)
在项目初期样本量有限的情况下,为兼顾推理速度与准确率,可采用推理速度快的大模型(如 Qwen3-Next-80B-A3B-Instruct),通过显式输出其推理逻辑,有效提升意图识别的准确性。商旅应用场景:意图识别、日期时间转化。
(四) 实时思考链&流式输出
引入多智能体架构模式不可避免地增加了整体响应耗时,因此我们通过设计实时思考链动态展示各智能体的推理与协作过程,来缓解用户在等待最终结果时的焦虑感。
该智能体是一种基于“思考(Reason)-行动(Act)-观察(Observation)”循环架构的系统,深度融合大语言模型的推理能力与外部工具调用能力,通过交替生成推理轨迹与执行动作高效完成复杂任务。
在 AgentScope 中,其核心由两个抽象方法_reasoning和_acting构成,并通过钩子机制(Hooks)在推理、执行等关键节点注入自定义逻辑,从而支持实时引导、并行工具调用、结构化输出等高级功能。
_reasoning):调用大语言模型生成下一步行动方案;支持流式输出以实时呈现思考链;并能自动将纯文本响应解析为结构化的工具调用格式。_acting):支持工具的并行或串行调用;统一处理执行结果并持久化至内存上下文;同时提供中断响应与错误恢复机制。observation = initial_user_inputhistory = []while True:# 调用大语言模型,基于当前观察和历史生成思考与行动thought, action, action_input = llm_agent.reason_and_act(observation, history)if action == "Finish":# 任务完成,输出最终答案return thought # 即最终回答else:# 执行工具调用result = execute_tool(action, action_input)# 将工具结果作为新的观察observation = result# 记录本轮推理与执行到历史history.append((thought, action, result))
通过前置打印钩子函数(print hook),可在 Agent 执行过程中实时拦截每一条生成的消息;当捕获到tool_use类型消息时,自动调用add_tool_use,而检测到tool_result类型消息时,则触发add_tool_result,从而实现对工具调用及其结果的细粒度追踪与状态同步。
# 在_react_agent.py中的_acting方法实现了工具调用的实时返回async def _acting(self, tool_call: ToolUseBlock) -> Msg | None:# 创建工具结果消息容器tool_res_msg = Msg(...)try:# 执行工具调用,返回AsyncGeneratortool_res = await self.toolkit.call_tool_function(tool_call)response_msg = None# 异步迭代处理工具响应块async for chunk in tool_res:# 实时更新工具结果tool_res_msg.content[0]["output"] = chunk.content# 实时打印输出(除非是完成函数且成功执行)if (tool_call["name"] != self.finish_function_name ornot chunk.metadata.get("success")):await self.print(tool_res_msg, chunk.is_last)# 处理中断if chunk.is_interrupted:raise asyncio.CancelledError()# 返回最终响应消息if (tool_call["name"] == self.finish_function_name andchunk.metadata and chunk.metadata.get("success")):response_msg = chunk.metadata.get("response_msg")return response_msg
[{"type": "tool","id": "{id}","name": "query_tool","input": {"question": "什么是差标管控"}}][{"type": "result","id": "{id}","name": "query_tool","output": [{"type": "text","text": "问题: 什么是差标管控\n\n搜索结果:\n\n1. 相似度: N/A\n\n\n在阿里商旅出差审批单中,预算与差标的区别如下:\n- 预算是指本次差旅出行的整体预算费用。\n- 差标是指本次差旅形成中,出行人乘坐飞机以及入住酒店等差旅类目的费用标准。\n\n"}]}]
ReActAgent.register_class_hook('print', 'task_print_hook', task_print_hook)TaskCollector 是一个自定义任务状态收集器,核心职责是统一管理思考链状态信息。其主要功能包括:管理任务的完整生命周期(PENDING、DOING、DONE、FAILED)、维护任务间的层级关系、通过发布-订阅模式实时推送状态更新,以及管理任务队列与订阅者列表。
关键方法涵盖:
add_use() 用于添加工具调用任务。add_result() 用于记录工具执行结果。subscribe()/unsubscribe() 实现灵活的订阅管理机制。该模块的核心职责包括:
TaskCollector 实例以统一管理任务状态。task_update 类型消息以实时渲染思考链,并监听 text 类型消息以展示最终回答。基于 ReAct 智能体在调用工具时暴露的 hook,可构建实时推理链(Chain-of-Thought),通过逐步展示智能体的思考与行动过程,有效缓解用户在等待最终结果时的焦虑感。
(五) 上下文工程
核心上下文技术架构:
通过出入栈的方式维护智能体调用链的层级关系以及共享 sessionId 来实现模块间的记忆共享。主要解决以下三个核心问题:
为确保智能体(Agent)的独立性与数据隔离,系统默认采用各智能体独立管理自身对话历史的设计;然而,在复杂的多智能体协作场景中,用户体验的连续性至关重要。为此,我们引入上下文共享机制,对高相关性的智能体动态开放必要的上下文信息,从而实现对话的无缝流转与状态同步,在保障隔离性的同时兼顾协作效率与体验一致性。
AgentScope 框架提供了标准化的上下文格式,在技术实现上以业务关系驱动智能体间的记忆复用,并基于最小权限原则动态供给各智能体所需的上下文信息,在有效降低上下文规模的同时,显著提升模型推理的准确度与效率。
(六) Prompt工程(工程与智能体结合)
我们此前将业务流程、规则及工具调用规范全部嵌入 Prompt 中,虽保证了整体性,但其结构本质上是一个线性的“工作流程说明书”,难以适配用户非线性、动态变化的对话需求。同时,要求模型在全量业务规则基础上实时推理用户当前状态,对其能力要求会非常高。
为此,我们转而采用动态 Prompt 组装机制,本质上为 AI 构建了一个状态机:通过工程手段结合自然语言理解与程序化状态控制,精准识别用户所处的对话阶段,并将模型注意力聚焦于当前主链路,从而打造出一个鲁棒性更强、更智能的对话 Agent。
在工程实践中,应协同模型共同确定当前及下一轮对话的注意力焦点,并据此明确业务边界;在此可控范围内,交由 AI 自主处理逻辑细节,从而在工程确定性与 AI 灵活性之间实现有效平衡。
三、周边生态
(一) 知识库
在 AliGo 多智能体架构中,为了给各个企业提供内部知识检索能力,也为了支持差旅场景的专业问答(差旅政策、申请单规则、企业制度等),我们构建了一套完整的企业级知识库系统,具备以下核心能力:
我们调研了市面上的两种成熟的方案:
最终选择 MaxKB 作为基础框架,主要原因:
(二) 观测
在 AliGo 多智能体系统迭代过程中,我们面临着三大核心观测挑战:
为了解决上述痛点,我们尝试构建完整的AI应用可观测性体系,核心目标包括:
在 LLM 应用开发和监控领域,主要的可观测性平台是 Langfuse(开源)和 LangSmith(商业)。
选型结论:经综合评估,Langfuse 在开源透明、数据安全、成本控制和可扩展性方面具有更具优势,完全满足商旅 Saas + 本地化部署的诉求,是构建可控、可靠的 LLM 应用监控平台的最佳选择。
(三) 评测
在阿里商旅行程规划系统中,AI测评系统作为质量保障的核心基础设施,为多智能体系统的输出结果提供自动化、智能化的评测能力。随着智能体能力的不断迭代升级,我们需要一套完整的测评体系来确保每次发布的质量稳定性, 因此构建了这套AI测评系统,具备以下核心能力:
四、效果
五、未来规划
传统的迭代依赖人工复盘和手动调优的方式效率低、响应慢,难以支撑系统持续进化。后续,我们会持续通过冷启动优化、主动发现异常、引入 Prompt 优化智能体等构建一套多智能体自进化(Self-Evolving Agent System)方案,驱动阿里商旅向更智能、更敏捷、更可靠的方向升级。
AgentScope 是通义实验室开源的企业级智能体开发框架,提供智能体编排、工具调用与评测等核心能力,并原生支持智能体微调,助力开发者快速搭建企业级 Agent 系统。目前在GitHub已经有16k的star,欢迎
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业
2026-06-30
我们拿到了企微 AI Agent 的内测资格,提前替你试了一周
2026-06-30
a16z:不要再给Agent标“软件”价格了,AI正式进入劳动力市场!
2026-06-29
Codex 接管群消息后,半小时完成一天的汇总工作
2026-06-29
火山引擎张鑫:企业Agent落地,我们之前忽视了经营问题
2026-06-29
火种&起源:一个运营从0到1搭建CI自动化流水线的实战记录
2026-06-29
员工提效不等于组织提效:真正的解法是构建数字员工
2026-06-28
企业可以这样落地 AI 能力(五):价值闭环
2026-06-26
企业微信的AI,在玩一种很新的东西
2026-04-24
2026-04-08
2026-06-08
2026-04-08
2026-05-15
2026-05-15
2026-04-23
2026-04-07
2026-05-06
2026-04-10
2026-06-24
2026-06-24
2026-06-23
2026-06-17
2026-06-10
2026-06-08
2026-05-29
2026-05-27
欢迎您使用【53AI 官方网站】(以下简称“本网站”或“我们”)。本《会员服务协议》(以下简称“本协议”)是您(以下简称“会员”或“用户”)与【深圳市博思协创网络科技有限公司】之间关于注册、登录及使用本网站会员服务所订立的法律协议。
在您注册或登录前,请务必审慎阅读、充分理解各条款内容,特别是免除或限制责任的条款、知识产权条款、争议解决条款等。此类条款将以加粗形式提示您注意。 当您通过微信公众号授权、手机验证码验证或其他方式成功登录本网站时,即视为您已完全理解并同意接受本协议的全部内容。
一、 定义
本网站:指由【深圳市博思协创网络科技有限公司】运营的,域名为【53ai.com】的网站及相关移动端页面。
会员服务:指本网站向注册会员提供的知识库文章查阅、内容检索及其他相关增值服务。
知识库内容:指本网站发布的包括但不限于文字、图表、数据、研究报告、行业分析等数字化内容资源。
二、 账号注册与登录
登录方式:本网站支持以下登录方式,您可根据实际情况选择:
微信公众号授权登录:您同意将您的微信OpenID信息授权给本网站,用于创建或关联会员账号。
手机验证码登录:您需提供真实有效的手机号码,并通过短信验证码完成身份验证与登录/注册。
账号安全:您的账号仅限您本人使用,禁止赠与、借用、租用、转让或售卖。因您保管不善导致的账号被盗、密码泄露等损失,由您自行承担。
实名认证:根据相关法律法规要求,我们可能要求您在特定功能下完成实名认证。如您拒绝提供,可能无法使用部分或全部服务。
未成年人保护:若您未满18周岁,请在法定监护人的陪同下阅读本协议,并在征得监护人同意后使用本服务。
三、 服务内容与规范
知识库查阅权限:会员登录后,有权按照其会员等级对应的权限范围,在线浏览、检索本网站知识库中的相关文章及内容。
服务变更:我们有权根据业务发展需要,调整、变更或终止部分服务内容,并将以网站公告、公众号消息等方式提前通知。
禁止行为:您在使用服务时不得实施以下行为:
利用技术手段批量爬取、下载、转存知识库内容;
将知识库内容用于商业目的或未经授权地向第三方传播;
干扰本网站正常运行或侵犯其他用户合法权益;
发布违法违规信息或从事违反公序良俗的活动。
四、 知识产权声明
权利归属:本网站知识库中的排版设计、软件代码等内容的知识产权均归【公司全称】或原权利人所有,受《中华人民共和国著作权法》等法律保护。
有限许可:本网站授予会员一项非独占、不可转让、不可转授权的普通许可,仅限于个人学习、研究之目的在线查阅知识库内容。
侵权追责:未经书面许可,任何单位或个人不得以任何形式复制、转载、摘编、镜像、汇编或以其他方式使用上述内容。一经发现,我们保留追究其法律责任的权利。
五、 个人信息保护
我们重视对您个人信息的保护。关于我们如何收集、使用、存储和保护您的个人信息,请单独阅读 《隐私政策》。
您通过微信公众号授权或手机号验证所提供的信息,我们将严格按照《个人信息保护法》的规定处理,仅用于身份识别、服务提供及安全验证等必要用途。
您可以随时通过网站设置或联系客服行使查阅、更正、删除个人信息及撤回授权同意的权利。
六、 免责声明
内容准确性:知识库内容仅供参考,不构成专业建议。我们不对其完整性、准确性、时效性作任何明示或暗示的保证,您应自行判断并承担使用风险。
不可抗力:因自然灾害、政策法规变化、网络故障、第三方平台接口异常(如微信接口维护、运营商短信通道故障)等不可抗力导致的服务中断或延迟,我们不承担违约责任。
第三方链接:本网站可能包含指向第三方网站的链接,该等网站的内容和服务不受我们控制,请您自行甄别风险。
七、 违约责任
如您违反本协议约定,我们有权视情节采取警告、限制功能、暂停服务、注销账号等措施,并保留要求赔偿损失的权利。
如因您的违约行为导致我们遭受行政处罚、第三方索赔或商誉损失,您应承担全部赔偿责任(包括但不限于罚款、赔偿金、律师费、公证费等)。
八、 法律适用与争议解决
本协议的订立、执行和解释均适用中华人民共和国大陆地区法律。
因本协议产生的或与本协议有关的任何争议,双方应友好协商解决;协商不成的,任何一方均可向【公司所在地】有管辖权的人民法院提起诉讼。
九、 其他
本协议构成双方就本服务达成的完整协议,取代此前任何口头或书面约定。
本协议任一条款被认定为无效或不可执行的,不影响其他条款的效力。
我们对本协议享有最终解释权,并在法律允许的范围内保留随时修改的权利。修改后的协议一经公布即生效,继续使用服务即视为同意修订内容。