阿里商旅基于 AgentScope 构建多智能体差旅助手,准确率提升至 90% 的实践经验

阿里商旅基于 AgentScope 构建多智能体差旅助手,通过多智能体架构,事项收集准确率从50%提升至90%。

原文标题:准确率提升至 90%,阿里商旅基于 AgentScope 构建多智能体差旅助手最佳实践

原文作者:阿里云开发者

冷月清谈:

阿里商旅的 AliGo 系统通过多智能体架构升级,解决了单智能体模式下的准确性、稳定性和泛化能力瓶颈。通过AgentScope框架,AliGo 实现了智能体间的高效通信和协同,优化了上下文工程和 Prompt 工程,显著提升了事项收集准确率,并有效解决了线上问题。该方案采用了“Handoffs + Routing”混合模式,并引入实时思考链和流式输出,提升了用户体验,通过动态 Prompt 组装机制,实现了更智能的对话 Agent。同时,构建了企业级知识库系统和 AI 应用可观测性体系,以及 AI 测评系统,保证了产品质量和效果评估。最终,事项收集准确率从 50% 提升至 90% 以上,并且获得了行业认可。

怜星夜思:

1、文章中提到采用“Handoffs + Routing”混合模式,这种模式在实际应用中是如何灵活调整的?具体在什么情况下会选择 Handoffs 模式,什么情况下选择 Routing 模式?
2、文章提到通过动态 Prompt 组装机制,为 AI 构建了一个状态机,这个状态机是如何根据用户对话阶段进行精准识别的?其中“状态”是如何定义的,又是如何转换的?
3、阿里商旅在构建 AI 应用可观测性体系时,选择了 Langfuse,并提到其在开源透明、数据安全、成本控制和可扩展性方面具有优势。除了这些,Langfuse 还有哪些特性或功能,是阿里商旅特别看重的?

原文内容

阿里商旅是阿里巴巴旗下一站式数智化差旅服务平台。依托阿里巴巴生态强大的供应链及信息数字整合能力,帮助企业实现降本增效,增加合规透明度,全方位提升企业组织效率及员工差旅体验。其中AliGo阿里商旅的差旅助手,用户只需要输入确定的行程时间和地点,AliGo就会自动规划行程为用户推荐合适的交通方式,实现"出差事项收集 → 行程规划 → 一键下单"的完整业务闭环。

一、背景

阿里商旅早期通过workflow+单智能体的模式快速构建并成功上线了 AliGo 系统的第一个版本,然而,在实际使用过程中,我们发现这种模式存在技术瓶颈和架构局限性,亟需进行代码化升级。

(一) 痛点分析

1.单智能体模式的技术瓶颈

随着业务逻辑复杂度的持续攀升,Prompt Token 数量急剧增长,token 过多,就会导致大模型的注意力机制开始出现明显衰减,无法满足业务对高准确率的核心要求。具体表现为:

  • 准确性不足以点选需求为例,尽管经过百余次的 Prompt 调优,准确率仍仅维持在 50%左右。
  • 稳定性问题线上频繁出现"事项识别异常请重试"、"事项收集结论不输出"等核心问题,严重影响用户体验。

2.架构泛化能力不足

  • 协作机制缺失各 Agent 之间缺乏有效的通信机制,导致能力无法复用和协同,扩展性不足。
  • 规划能力薄弱系统缺乏统一的规划和协调中枢,只能处理单一意图识别,无法应对复杂的多意图融合场景。

3.上下文工程的初级阶段

  • 数据结构混杂未有效分离用户视角的对话记录与智能体所需的上下文信息,造成大模型理解负担。
  • 共享机制缺失缺乏合理的上下文分层机制,不同子智能体间无法实现上下文的有效共享和传递。

(二) 目标

为了解决上述核心痛点,我们启动了 AliGo 代码化架构升级,主要目标包括:

1. 选型一款适合商旅业务的AI框架解决多智能体间的高效通信、协同、能力复用。
2. 可有效提升大模型业务落地准确率期望通过优化上下文工程、 Prompt 工程等,显著提升事项收集准确率及用户体验
3. 可有效缓解线上顽疾问题期望通过重构核心业务逻辑流程,解决如:"事项收集异常请重试"、"事项总结卡片不出"等长期存在的稳定性问题。
4. 能支持灵活部署通过容器化、代码化能支持多系统、多模型的灵活部署,满足不同客户的部署需求。

二、方案

(一) 技术选型

1. 技术栈:Python or Java

结论:最终采用Python 写核心 AI 逻辑 + Java 写服务层 的混合模式。用 Python 实现 Agent 核心智能逻辑,包括 规划、记忆、LLM 调用;Java 构建外围高并发服务,比如前置的鉴权、MTop 对接、MCP 服务等。

编者:AliGo选型时间为2025年中旬,目前,AgentScope已经提供AgentScope Java,供Java开发者选择

2. 智能体框架选型:AgentScope vs LangGraph

团队对两个框架进行了多个场景的实操和调研,直观感受:对于基础能力,如 MCP 服务调用、与 Qwen LLM 集成时 AgentScope 开箱即用,LangGraph 要额外做一些适配工作等原因,最终选型AgentScope,原因如下:

  • 提供实时控制、中断处理、沙箱执行等企业级能力;
  • 内置AgentStudio 可视化工具,可以帮助我们获得透明开发体验,掌握智能体开发的全部生命周期;
  • 对 Qwen 系列模型原生支持;
3. Web 框架:FastAPI or Flask

Python 主流的 Web 框架主要是 FastAPI(新)和 Flask(老)。

结论:使用 FastAPI,原因如下:

  • 现代 Web 开发趋势,异步和类型安全是未来,异步处理需求较多;
  • 性能更好,FastAPI 的类型安全更有助于大型项目维护。

(二) Multi Agent架构

基于商旅业务特性,我们尝试了几种常见的 Multi Agent 架构模式。

结论:基于准确度与耗时的考量,我们采用了“Handoffs(交接模式)+ Routing(纯路由方式)”混合的模式,比如在行程规划、知识库查询的场景下采用 Routing 模式,在信息查询的场景下采用 Handoffs 模式,模式不固定可按需调整。

1. 架构图

以主规划智能体为核心,协调多个专业化子智能体协同工作,形成完整的差旅规划解决方案。

(三) 意图识别

意图识别智能体的职责如下:

1. 多意图识别和分类,融合上下文对模糊意图进行消歧。
2. 智能体调度决策,基于预定义的触发条件和业务规则,根据识别结果决定调用哪些子智能体,并输出结构化的调用决策。
3. query 改写,标准化用户口语化的 query 输入,补全上下文信息,提取和重组关键信息。
4. 显示推理,输出的两段式结构(推理过程 + JSON 决策),提升意图识别准确度。

主智能体+意图识别智能体实现-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),通过显式输出其推理逻辑,有效提升意图识别的准确性。商旅应用场景:意图识别、日期时间转化。

(四) 实时思考链&流式输出

引入多智能体架构模式不可避免地增加了整体响应耗时,因此我们通过设计实时思考链动态展示各智能体的推理与协作过程,来缓解用户在等待最终结果时的焦虑感。

流式输出+实时思考链实现-Level3 组件图
1. ReActAgent

该智能体是一种基于“思考(Reason)-行动(Act)-观察(Observation)”循环架构的系统,深度融合大语言模型的推理能力与外部工具调用能力,通过交替生成推理轨迹与执行动作高效完成复杂任务。

在 AgentScope 中,其核心由两个抽象方法_reasoning_acting构成,并通过钩子机制(Hooks)在推理、执行等关键节点注入自定义逻辑,从而支持实时引导、并行工具调用、结构化输出等高级功能。

  • 推理过程(_reasoning):调用大语言模型生成下一步行动方案;支持流式输出以实时呈现思考链;并能自动将纯文本响应解析为结构化的工具调用格式。
  • 执行过程(_acting):支持工具的并行或串行调用;统一处理执行结果并持久化至内存上下文;同时提供中断响应与错误恢复机制。
observation = initial_user_input
history = []

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))

2. ReActAgent Hook

通过前置打印钩子函数(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:
    # 执行工具调用,返回AsyncGenerator
    tool_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 or
          not 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 and
              chunk.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)
3. TaskCollector

TaskCollector 是一个自定义任务状态收集器,核心职责是统一管理思考链状态信息。其主要功能包括:管理任务的完整生命周期(PENDING、DOING、DONE、FAILED)、维护任务间的层级关系、通过发布-订阅模式实时推送状态更新,以及管理任务队列与订阅者列表。

关键方法涵盖:

  • add_use() 用于添加工具调用任务。
  • add_result() 用于记录工具执行结果。
  • subscribe()/unsubscribe() 实现灵活的订阅管理机制。
4. 流式输出层

该模块的核心职责包括:

1. 创建 TaskCollector 实例以统一管理任务状态。
2. 订阅任务状态更新,具体为监听 task_update 类型消息以实时渲染思考链,并监听 text 类型消息以展示最终回答
3. 处理智能体执行结果,包括收集最终回答内容维护卡片数据与任务的映射关系
4. 最后,构建结构化的最终响应生成符合 SSE 格式的输出流
5. 一句话经验

基于 ReAct 智能体在调用工具时暴露的 hook,可构建实时推理链(Chain-of-Thought),通过逐步展示智能体的思考与行动过程,有效缓解用户在等待最终结果时的焦虑感。

(五) 上下文工程

核心上下文技术架构:

  • 全局上下文管理
  • 会话记忆管理
  • 动态 Prompt(状态机)
  • 工具注册管理
上下文工程-Level3 组件图
1. 记忆架构设计

通过出入栈的方式维护智能体调用链的层级关系以及共享 sessionId 来实现模块间的记忆共享。主要解决以下三个核心问题:

1. 模块独立性:保持各模块的独立性,便于维护和扩展。
2. 模块间记忆共享:不同智能体模块(如审批记忆和事项收集记忆)之间的数据共享。
3. 完整的执行链路追踪:提供完整的请求追踪和上下文管理。
会话记忆架构-Level3 组件图
2. 数据表关系
  • 消息存储表:用于存储详细的消息记录;
  • 会话管理表:用于管理会话的基本信息和会话描述;
  • 对话记录表:用于存储精简的对话记录,主要记录用户查询和智能体的最终回答;
3. 记忆共享

为确保智能体(Agent)的独立性与数据隔离,系统默认采用各智能体独立管理自身对话历史的设计;然而,在复杂的多智能体协作场景中,用户体验的连续性至关重要。为此,我们引入上下文共享机制,对高相关性的智能体动态开放必要的上下文信息,从而实现对话的无缝流转与状态同步,在保障隔离性的同时兼顾协作效率与体验一致性。

记忆分层与共享-Level3 组件图
4. 一句话经验

AgentScope 框架提供了标准化的上下文格式,在技术实现上以业务关系驱动智能体间的记忆复用,并基于最小权限原则动态供给各智能体所需的上下文信息,在有效降低上下文规模的同时,显著提升模型推理的准确度与效率

(六) Prompt工程(工程与智能体结合)

我们此前将业务流程、规则及工具调用规范全部嵌入 Prompt 中,虽保证了整体性,但其结构本质上是一个线性的“工作流程说明书”,难以适配用户非线性、动态变化的对话需求。同时,要求模型在全量业务规则基础上实时推理用户当前状态,对其能力要求会非常高。

为此,我们转而采用动态 Prompt 组装机制本质上为 AI 构建了一个状态机通过工程手段结合自然语言理解程序化状态控制,精准识别用户所处的对话阶段,并将模型注意力聚焦于当前主链路,从而打造出一个鲁棒性更强、更智能的对话 Agent

事项收集智能体(工程与智能体结合实践)-Level3 组件图
一句话经验

在工程实践中,应协同模型共同确定当前及下一轮对话的注意力焦点,并据此明确业务边界;在此可控范围内交由 AI 自主处理逻辑细节,从而在工程确定性与 AI 灵活性之间实现有效平衡

三、周边生态

(一) 知识库

在 AliGo 多智能体架构中,为了给各个企业提供内部知识检索能力,也为了支持差旅场景的专业问答(差旅政策、申请单规则、企业制度等),我们构建了一套完整的企业级知识库系统,具备以下核心能力:

1. 支持 Aligo 快速集成:通过标准化 API 接口,让 RAG 子智能体能够快速接入知识库检索能力。
2. 图文混排文档处理:支持差旅政策等复杂文档的图片识别、切分与渲染,保证检索结果的完整性。
3. 支持本地化部署:满足企业客户数据安全和私有化部署需求,提供完整的容器化部署方案。
4. 多企业隔离:支持千人千面场景,不同企业请求自动映射到对应的企业知识库。
1. 技术选型
一、方案对比

我们调研了市面上的两种成熟的方案:

二、选型结论

最终选择 MaxKB 作为基础框架,主要原因:

1. 技术栈匹配:Python + PostgreSQL,与 Aligo 技术栈一致
2. 功能完善且符合诉求:支持文档解析、向量检索、多模型对接
3. 快速落地:开源成熟,二次开发成本低
4. 社区活跃:GitHub 19k+ stars,持续维护
2. 架构设计
知识库架构图

(二) 观测

在 AliGo 多智能体系统迭代过程中,我们面临着三大核心观测挑战:

1. 问题定位困难:多智能体调用链路复杂,涉及主规划、意图识别、行程规划、信息查询、RAG知识库等10+个智能体的协作。当用户反馈问题时,难以快速定位是哪个智能体、哪次LLM调用或工具调用出现了问题。
2. 性能优化缺乏数据支撑:无法直观看到每个智能体的响应时间、Token消耗、工具调用频次等关键指标,难以进行针对性技术优化。
3. 效果评估缺少量化指标:迭代过程中缺乏完整的对话日志和结构化数据,无法进行A/B测试和效果对比,难以量化评估优化效果。

为了解决上述痛点,我们尝试构建完整的AI应用可观测性体系,核心目标包括:

1. 全链路追踪:从用户输入到最终输出,追踪完整的智能体调用链路,包括LLM调用、工具使用、记忆管理等所有环节。
2. 多维度观测:支持 Trace(单次对话)、Session(会话)、User(用户) 三个维度的日志查询和分析。
3. 打通观测-评测流程:通过结构化的追踪数据,为测评平台提供标准化输入,实现观测与评测的闭环。
4. 支持问题快速定位:通过可视化的调用链路和详细的输入输出日志,快速定位线上问题根因。
1. 技术选型

在 LLM 应用开发和监控领域,主要的可观测性平台是 Langfuse(开源)和 LangSmith(商业)。

选型结论经综合评估,Langfuse 在开源透明数据安全成本控制可扩展性方面具有更具优势,完全满足商旅 Saas + 本地化部署的诉求,是构建可控、可靠的 LLM 应用监控平台的最佳选择。

2. 架构设计
观测平台架构图

(三) 评测

在阿里商旅行程规划系统中,AI测评系统作为质量保障的核心基础设施,为多智能体系统的输出结果提供自动化、智能化的评测能力。随着智能体能力的不断迭代升级,我们需要一套完整的测评体系来确保每次发布的质量稳定性, 因此构建了这套AI测评系统,具备以下核心能力:

1. 智能化评测:基于通义千问大模型的自动评分能力,主要从准确性和相关性两个大的维度对AI智能体输出进行评估。
2. 完整的测试生命周期管理:支持测试任务、测试用例、测试数据的全流程管理,实现测试资产的沉淀和复用。
3. 可视化报告分析:自动生成详细的测试报告,包含多维度评分统计、成功率分析、问题归因等,支持版本对比。
1. 架构设计
测评平台架构图

四、效果

事项收集准确率从原来的50%提升到90%+
  • 升级前不可解决的 bug 列表,通过版本升级100%解决。
  • 试用日志从 12 月代码化版本上线后,体感和指标都逐步变好。
  • 有幸获得了 InfoQ 2025 年度 AI Agent 最具生产力产品/应用/平台。
  • 阿里商旅 AI 解决方案有幸荣获量子位颁发的 2025 人工智能年度杰出解决方案奖认可。

五、未来规划

传统的迭代依赖人工复盘和手动调优的方式效率低、响应慢,难以支撑系统持续进化。后续,我们会持续通过冷启动优化、主动发现异常、引入 Prompt 优化智能体等构建一套多智能体自进化(Self-Evolving Agent System)方案,驱动阿里商旅向更智能、更敏捷、更可靠的方向升级。

AgentScope 是通义实验室开源的企业级智能体开发框架,提供智能体编排、工具调用与评测等核心能力,并原生支持智能体微调,助力开发者快速搭建企业级 Agent 系统。目前在GitHub已经有16k的star,欢迎大家关注使用AgentScope探索并沉淀多智能体最佳实践。 https://github.com/agentscope-ai

从技术的角度来看,微调可以分为几个层次:

* Prompt Tuning: 成本最低,效果也相对有限,适合快速迭代和验证想法。
* LoRA (Low-Rank Adaptation): 在预训练模型的基础上,只训练少量参数,降低了计算成本,同时也能达到不错的效果。
* Full Fine-tuning: 成本最高,但效果也最好,适合对模型进行深度定制。但是,Full Fine-tuning 也很容易导致过拟合,需要谨慎使用。

具体选择哪种方式,需要结合实际情况进行权衡。

商旅场景下,针对企业客户的微调潜力巨大啊!我觉得可以从这几个方面入手:

1. 差旅政策定制: 每个公司都有自己的差旅规定,比如机票舱位、酒店星级、报销标准等等。通过微调,可以让智能体更好地理解和执行这些政策,减少违规情况。
2. 常用出行人偏好: 记住员工的出行习惯,比如喜欢靠窗还是靠过道,对酒店的偏好等等,让推荐更个性化。
3. 企业内部知识库: 接入企业的内部知识库,让智能体能够回答关于公司制度、流程等方面的问题。
4. 特定供应商协议: 很多公司和航空公司、酒店集团有协议价,微调可以让智能体优先推荐这些合作方,帮助企业节省成本。

总而言之,就是让智能体更懂这家企业的规矩和习惯,提供更贴心的服务。

Prompt工程和上下文工程在准确率提升中扮演了关键角色。Prompt工程通过动态组装Prompt,让模型关注当前对话阶段,避免了线性“工作流程说明书”的局限性。上下文工程则通过分层和共享机制,有效降低上下文规模,提升模型推理的准确度和效率。

在商旅场景中,Prompt工程针对用户意图进行了优化。比如,区分“为我规划行程”这种明确意图的快车道和复杂语义理解的慢车道,并对商旅场景常见的意图识别、日期时间转化等任务进行了专门优化。

个人理解,handoffs是串行,适合复杂的、需要多个agent协同完成的任务;routing是并行,适合简单的、可以快速分配给特定agent的任务。混合模式兼顾了任务的复杂度和效率,提高了整体性能。

想象一下,如果所有事情都走handoffs,那效率会很低;如果所有事情都走routing,那遇到复杂问题就无法解决。混合模式就像是交通系统的快慢车道,让不同的车辆各行其道。

我也觉得“Handoffs + Routing”挺巧妙的,相当于一个动态调度的过程。不过,考虑到差旅场景的多变性,是不是可以加入一个“自适应”层,让系统根据用户行为和环境变化自动选择最合适的架构模式?

从技术角度来看,实时思考链可以作为一个“监控器”。通过观察智能体的思考过程,可以发现智能体存在的问题和瓶颈,例如推理速度慢、知识库不完整等,从而有针对性地进行优化。此外,实时思考链还可以用于A/B测试,比较不同智能体策略的效果。

对特定大模型的支持很重要,但不是唯一考量。原生支持意味着更少的适配成本和更好的兼容性,可以加快开发速度。但如果业务需要用到多种模型,或者未来可能更换模型,那么通用性更强的框架可能更合适。我的话会先评估模型选型策略的稳定性,如果模型基本确定,原生支持的优势就更大;如果模型还在探索阶段,通用性更重要,方便灵活切换。

规则引擎的构建和维护,我猜应该是一个持续迭代的过程。规则的制定最初可能是基于业务经验和用户行为数据分析,比如统计用户最常使用的功能和意图,然后将这些高频场景抽象成规则。当规则失效时,可以通过监控系统的性能指标和用户反馈来及时发现,然后分析失效的原因,可能是因为用户行为发生了变化,或者出现了新的业务场景,然后相应地调整或添加规则。

状态机本质上是一种控制流,通过程序化的方式来引导模型的行为。这种做法可以降低对模型能力的要求,提高模型的可解释性和可维护性。但是,状态机也可能限制模型的创造性和探索能力。如果模型只能按照预设的路径进行推理,就很难发现新的知识和解决方案。因此,在实际应用中,需要在状态机的控制和模型的自由探索之间找到一个平衡点。可以考虑引入增强学习等技术,让模型在状态机的框架下自主学习和优化行为策略。

谢邀,人在马桶上,刚看完文章。我觉得这个问题可以从经济学的角度来分析。每个智能体都是一个独立的经济个体,协作需要付出成本,包括通信成本、协调成本、以及潜在的冲突成本。记忆共享可以降低这些成本,提高协作效率,但同时也可能带来信息不对称和道德风险。因此,需要建立一套合理的激励机制,鼓励智能体之间进行有效的信息共享和协作,同时约束其机会主义行为。例如,可以引入声誉系统,对表现好的智能体进行奖励,对表现差的智能体进行惩罚。

我认为,可观测性的关键在于“提前规划”。在AI应用开发初期,就应该将可观测性纳入考虑范围,设计合理的日志埋点、指标监控等。否则,后期再进行改造,成本会很高。

可观测性能够提升用户体验呀,有任何Bug或者服务异常,都能够被快速发现和解决,相较于用户反馈问题,这种方式更加主动,也能够给用户带来更好的体验,避免用户流失。

用更接地气的方式说,handoffs 像是去医院看病,先挂号,然后分诊,再到科室,最后看医生。routing 像是直接去药店买药,直接找到对应的药剂师询问。前者流程长,后者效率高,但都需要根据实际情况选择。

这个“Handoffs + Routing”的组合拳,让我想到了交通管理。

Handoffs 就像是“人工客服”,擅长处理疑难杂症,需要多个部门协同解决问题。适合处理复杂、个性化的差旅需求,确保每个环节都考虑到。

Routing 就像是“ETC”,简单快捷,适合处理高频、标准化的操作。用户明确要订机票,那就直接走快速通道,省时省力。

关键在于,主智能体要像一个优秀的“交通调度员”,能够根据路况(用户意图)灵活切换通道,才能保证整体效率和用户体验。

这种混合模式感觉很灵活!我理解是根据不同任务的特点选择最合适的智能体协作方式。例如,需要多个智能体逐步处理的复杂任务用 Handoffs,而只需要快速查询或处理的简单任务用 Routing。不过,实际应用中肯定会遇到选择困难症,或者模式选择不当导致效果打折扣的情况,期待官方能分享更多踩坑经验。