多阶段强化学习:打造更可靠的AI租赁导购助手

阿里云通过多阶段ToolRL打造AI租赁导购助手,解决传统导购在复杂租赁场景中的痛点,提升用户体验和决策效率。

原文标题:模型训练篇|多阶段ToolRL打造更可靠的AI导购助手

原文作者:阿里云开发者

冷月清谈:

本文介绍了阿里云如何通过多阶段ToolRL(工具强化学习)打造更可靠的AI租赁导购助手“租赁小不懂”。面对传统电商导购在长周期、重决策租赁场景中的局限,如需求难匹配、决策效率低、服务被动等问题,阿里云将AI导购定位为“专属租赁顾问”,强调贴切、沉浸、信任。通过架构升级,放弃多Agent划分,采用“One-Model + Tool-Use”架构,将所有能力沉淀为原子化的工具,并结合两阶段强化学习流程,解决模型在工具调用上的幻觉问题和策略学习不足的问题。同时,还对MoE模型进行了深入探索,克服训练瓶颈,实现了推理降本。最终,实现了模型准确率和业务指标的显著提升,打造了一款更可靠、高效的智能导购助手。

怜星夜思:

1、在文章中,AI导购助手“租赁小不懂”的成功很大程度上归功于其对工具的原子化拆解和灵活调用。那么,在其他类型的AI应用中,例如医疗诊断或金融风控,这种“原子化工具+灵活调用”的模式是否也具有普适性?如果适用,可能需要注意哪些关键问题?
2、文章提到,在Tool-Use RL训练中,奖励信号稀疏是一个很大的挑战。阿里云通过改进GSPO算法,对工具调用部分和自然语言部分使用不同的裁剪范围来解决这个问题。除了这种方法,你认为还有哪些其他的技术或策略可以有效缓解奖励信号稀疏的问题?
3、文章中提到,阿里云在MoE模型训练中遇到了专家负载不均衡的问题,并通过Megatron的6维并行训练策略解决了这个问题。对于其他使用MoE模型的开发者来说,你认为应该如何选择合适的并行策略?除了并行策略之外,还有哪些其他的技术可以用于解决MoE模型的负载均衡问题?

原文内容

精搜

泛搜

投教

佳能 SX74

南京2177,买了125区的票,想出图,有什么推荐的吗

vivo x200 ultra拍摄指南


前言:AI导购浪潮下,重塑芝麻租赁的场景化体验

当前,AI导购已成为电商与服务平台竞相追逐的新风口。从淘宝的“AI万能搜”到京东的“京言”,再到美团的点餐助手,行业巨头们都在积极探索如何利用大模型技术,将传统的货架式体验升级为更智能、更具交互性的顾问式服务。

然而,在芝麻租赁这一独特的长周期、重决策场景中,挑战尤为严峻。用户面对的不仅是商品,更是一份包含租金、押金、服务条款的复杂合约。传统的电商导购模式在此显得力不从心,我们发现三大核心痛点亟待解决:

1.需求难匹配: 从摄影发烧友到露营新手,不同租客的关注点天差地别。平台缺乏对这些差异化需求的精准识别与服务。

2.决策效率低: 关键信息散落在商品详情各处,用户为了解一份合约细则,不得不在“信息海洋”里艰难筛选,决策门槛高、耗时费力。

3.服务太被动: 面对“公司年会需要一套投影设备”这类场景化需求,平台只能提供标准化的商品列表,无法给予主动、顾问式的打包建议。

尽管行业内已有诸多尝试,但它们大多仍聚焦于快消品或标准化服务的推荐。将芝麻租赁从一个简单的“商品陈列货架”升级为一个能提供垂直化、主动式服务的“专业租赁顾问”,是一次极具创新性的探索。

为此,我们将AI导购智能体“租赁小不懂”定位为用户的“专属租赁顾问”致力于打造一种全新的场景化租赁体验,其核心是贴切、沉浸、信任:

  • 贴切: 针对不同人群,提供定制化的交互与方案。

  • 沉浸: 整合全网信息,提供一站式、无缝的决策辅助。

  • 信任: 清晰展示服务条款与用户反馈,扫除决策疑虑。

要实现这一愿景,我们的AI导购必须在复杂租赁意图理解平台原生服务无缝调用以及租赁场景化知识构建这三大挑战上取得突破。这驱使我们走上了一条通过Tool-Use(工具调用)与强化学习来打造新一代AI导购的探索之路。

AI导购的“理想”与“现实”

理想中的AI导购

在电商与租赁场景中,一个理想的AI导购应如同一位经验丰富的金牌销售。以我们的项目“租赁小不懂”为例,它的定位是站在芝麻租赁货架旁的7x24小时AI租赁顾问,核心使命是解决用户在租赁全程中遇到的“租前决策难、租中履约烦、租后维权慢”三大核心痛点。我们希望用户只需通过几轮自然对话,AI助手就能精准洞察其深层需求,并娴熟地调用商品搜索、比价、知识库查询等内部工具,最终给出完美的解答和商品推荐。

现实中的骨感与挑战

然而,在项目初期(2025年7月),我们发现理想与现实之间存在巨大鸿沟。早期的技术方案,无论是基于多Agent(Multi-Agent)的架构,还是单纯依赖监督微调(SFT)的训练方式,在复杂的导购场景中都显得力不从心。

架构之痛: 我们最初采用当时主流的“多智能体”串行链路(Query → Rewrite → Planning → Retrieval → Agent)。这带来了两个严重问题:

  • 耗时长: 各模型独立冷启动,导致P99首字耗时高达5.1秒,用户体验极差。

  • 功能重叠: 不同Agent(如知识问答专家、导购专家)间存在能力重叠,例如都需要“全网搜”功能。这使得训练和部署成本随Agent数量线性增加。

模型能力边界

为什么我们的场景更复杂?在租赁场景中,一次成功的推荐需要多次工具调用(涉及几十个工具参数)相比通用场景,我们的业务对toolcall精度要求极高。

通用ToolCall场景(如天气查询)

用户:今天北京天气怎么样?
模型:weather_search(city="北京") → 返回天气数据 → 回答用户

特点:

  • 单步决策,工具选择明确

  • 参数简单(城市名)

  • 失败后果轻微(没有后续链路)

租赁导购场景(复杂多步决策)

用户:我想租个相机去西藏旅游,要轻便又能拍星空

需要多步工具调用,下一步依赖上一步的结果:

1. knowledge_search("西藏旅游 相机 轻便 拍星空") → 了解需求背景;

2. search_db(商品类型="相机", 品牌="", 型号=["xxx", "xxx"]...) → 初步搜索;

3. search_db(商品类型="相机", 品牌="") → 扩大搜索范围(如果没搜到品);

4. 拿到商品列表(商品列表=[...]) → 最终推荐;

我们的商品搜索工具包含20+个参数维度,而通用toolcall通常只有2-3个参数:

{
  "product_type": "相机",           // 商品品类
  "brand": "索尼",                 // 品牌  
  "models": ["A7C", "A7III"],      // 具体型号
  "key_features": ["轻便", "高感光度", "夜景强大"], // 关键特征
  "price_range": {"min": 80, "max": 150}, // 价格区间
  "rental_duration": "15天",       // 租期
  "service_guarantees": ["免赔保障", "租期质保"] // 服务保障
  // ... 还有10+个参数
}

在深入调研后,我们发现问题的根源远比想象的要深。这不仅仅是训练方法的问题,更是当前所有大模型在Tool-Use能力上共同面临的原生天花板

在权威的Tool-Use基准测试TauBench中,与我们导购场景最接近的“Retail”(零售)领域的评测结果:

  • 即便是业界最顶尖的模型,其“开箱即用”的Tool-Call能力也远非完美。 以表现最好的Claude-Sonnet-4.5为例,其一次性成功率(Pass^1)仅为84.7%。这意味着接近20%的情况下,无法正确地规划和执行工具调用。

  • 随着尝试次数的增加,成功率会急剧下降(如Pass^4成功率更是跌破了70%)。

这个数据解释了我们遇到的困境:我们所依赖的“基座模型”本身就不是一个完美的执行者。因此,仅靠SFT这种“模仿式”的训练,不仅难以弥补基座模型的原生缺陷,反而更容易让模型在不确定的决策点上产生“幻觉”。

  • 调用幻觉: 模型会虚构不存在的商品ID,或在无需调用工具时强行触发。

  • 内容幻觉: 模型会过拟合训练数据中的特定内容,脱离实际知识库,凭空生成答案。

这些问题严重影响了AI导购的可靠性,让我们更加坚定对整体技术栈进行一次彻底的重构。

破局之道:从多Agent到“One-Model + Tool-Use”的架构演进

架构的“断舍离”

为了解决上述问题,我们首先对系统架构进行了调整。核心思想是:放弃多Agent划分,将所有能力沉淀为一系列原子化的工具(Tools),由一个统一的大模型(One-Model)根据上下文进行动态决策和调用。

我们采用了经典的ReAct(Reasoning and Acting)范式,整个交互流程变为一个灵活的循环:「思考需要什么工具 -> 决定如何调用 -> 观察工具返回结果 -> 决定最终响应还是继续调用」。

React ToolCall示例

我们将原先分散在各个Agent中的能力,统一抽象为超过15种原子化工具,例如:

  • 商品召回工具

  • 全网搜

  • 自运营种草知识检索

  • 租赁内部知识检索

  • 商品对比工具

  • 物流查询

  • 订单查询

  • 商品详情卡片

  • 追问卡片

  • 更多商品卡片

  • 视频卡片

  • ...... 

工具设计的巧思

我们没有创建大而全的“万能工具”,而是将导购任务拆解为一系列原子化的操作。

例如,一个完整的“商品推荐”流程,可能被拆解为:

  • knowledge_search: 用于理解用户提到的非标术语(如“拍Vlog用的相机”)。

  • web_search: 用于获取最新的产品评测或小红书种草内容。

  • search_db: 基于明确的参数(如品牌、价格区间)在商品库中进行精确召回。

虽然工具要原子化,但过度拆分会导致模型决策链条过长,并可能引发不必要的并发调用,增加系统负载和延迟。因此,我们遵循效率优先的原则,对功能相似或存在互斥关系的工具进行合并。

一个典型的例子就是知识源检索工具的设计。在导购场景中,模型需要查询多种知识来源:

  • 域内知识: 租赁平台的规则、活动、售后政策等。

  • 域内视频:支付宝视频好的相关视频。

  • 域外知识: 全网的产品评测、小红书的种草内容、通用百科等。

如果将它们设计成internal_searchexternal_search多个独立的工具,模型在面对一个模糊问题时(如“租相机去旅游有啥需要注意的?”),可能会并发调用两个工具,既浪费了计算资源,也增加了模型在多个返回结果中做信息整合的难度。

我们的解决方案是:将它们合并为单个工具,通过参数进行区分。

{
  "name": "knowledge_search",
  "description": "用于搜索知识库获取信息。根据问题类型选择合适的知识域(domain)。",
  "parameters": {
    "query": "搜索的关键词",
    "domain": {
      "type": "string",
      "enum": ["internal_kb", "web", "xiaohongshu"],
      "description": "知识域选择:'internal_kb'用于平台规则,'web'用于全网搜索,'xiaohongshu'用于生活方式和产品种草。"
    }
  }
}

当然,query和domain可以是一个组合,这样同一个工具可以指定多个不同知识域的不同搜索关键词。

与行业方案不同,我们工具调用的步骤不是固定的。

模型会根据当前步骤拿到的信息决定下一步的工具调用/最终响应。

立竿见影的效果

架构升级带来的收益是立竿见影的,最直观的体现就是性能的大幅提升。通过将多个小模型合并为一个大模型,我们砍掉了冗余的串行调用链路,首字响应耗时从平均5.1秒锐减至1.2秒,为后续更复杂的算法优化和更流畅的用户体验铺平了道路。

核心算法优化:用两阶段强化学习,教模型“学得会、用得对”

架构升级解决了“通路”问题,但要让模型真正“智能”,还必须解决算法的“大脑”问题。

为什么SFT不够好

我们深入分析了SFT在Tool-Use场景中的根本性缺陷:

  • 学习信号稀疏: 在导购对话中,真正的工具调用token(如<tool_call>及其参数)占比极低,模型在SFT阶段难以从海量自然语言中有效学习到稀疏的工具调用逻辑。

  • 只学格式,不学策略: SFT倾向于让模型死记硬背调用格式,但无法教会它“何时调用、调用哪个、以及如何根据返回结果进行下一步决策”的策略。

受到业内前沿研究(如ToolRL)的启发,我们意识到必须转变训练范式:从“格式模仿”彻底转向“结果验证”,让奖励(Reward)成为模型学习的一切示范。

我们的解法:Rule based + LLM-as-Judge

我们设计了一套两阶段强化学习(RL)流程,结合了规则与AI裁判:

  • 第一阶段:格式强化(Rule-Based Reward)


  • 目标: 快速教会模型稳定、正确地调用工具,杜绝低级格式错误。

  • 方法: 我们编写了一系列严格的规则,对模型生成的工具调用语法、参数格式进行校验。例如,如果模型幻觉出<itemCard>商品卡片但并未调用search_db工具(搜索商品的工具),就会得到一个极低的格式分。通过这种方式,模型很快就学会了遵守工具调用的“语法纪律”。

  • 第二阶段:回答优化(LLM Judge Reward)

  • 目标: 在格式正确的基础上,教会模型生成内容更优质、语义更准确、更具吸引力的回复。

  • 方法: 我们引入了一个轻量级的、4B参数的LLM-as-Judge作为“裁判”。它会综合上下文、人工标准答案以及模型回复,从准确性、完整性、生动性等多个维度进行综合评估,并给出一个0-1之间的奖励分数。

  • “裁判”不靠绝对精度

1.零温度封闭 prompt 压制幻觉;

2.用精度换速度,4B 参数量,单卡 32 sample/s;

3.4B 在 Qwen-Bench 语义等价子集(单句级,≤64 token)上 F1 ≈ 0.94;

4.RL 只关心相对排序,不关心绝对值。

核心优化:稀疏奖励难题

正如前面所述,我们的Tool-Use RL训练面临的核心挑战是奖励信号极度稀疏。在多步复杂决策链中,模型往往因为第一步的微小失误,导致整个决策链无法获得正向奖励,从而陷入探索困境。

具体表现为:

  • 模型首次搜索失败后,难以自发学会"换个关键词再搜一次"的策略;

  • 在高温度采样下,多个样本均未能触发有效搜索,reward均为最低值-1;

  • 关键决策点的探索不足导致整体性能受限;

图片

因此,toolcall部分的token需要更大的探索步长。为此,我们探索了对GSPO的改进。

我们在标准GSPO框架基础上,引入了区域差异化的clip策略:

标准GSPO目标函数

图片

改进的混合GSPO目标函数

图片

其中区域特定的clip范围定义为:

图片

在自然语言生成中,我们通常将每个token的生成视为一个动作。在Tool-Use场景中,有些token属于工具调用部分,有些则是自然语言部分。我们的创新点在于对工具调用部分的token和自然语言部分的token使用不同的裁剪范围。

假设我们将整个生成的token序列划分为两个部分:工具调用区域(包括工具名称和参数)和自然语言区域。我们为工具调用区域设置一个较大的裁剪范围图片,而为自然语言区域设置一个较小的裁剪范围图片。那么,对于每个token,根据它所在的区域,我们选择相应的裁剪范围。

这样做的原理是:工具调用部分的决策对任务成功至关重要,而且工具调用的空间较大,需要更多的探索,因此我们允许更大的更新步长。而自然语言部分相对稳定,我们希望保持较小的更新以避免不必要的波动。

我们快速验证了80steps,发现reward全极值的情况大幅度下降(横坐标是step,纵坐标是reward为-1的个数)。

当然,放大 clip 只是给模型「更长步子」去探索,如果 advantage 估计不准,这些大步就会直接踩到错误方向,导致策略震荡或塌陷。我们需要持续观察KL并且优化更准确的reward model,来获得更稳定的训练结果。

为进一步保险,防止同batch内的不同类型样本会互相干扰(toolcall和非toolcall),我们把同 batch 的轨迹按“含工具调用 / 纯语言”拆成两个 replay pool,采样时保持 pool 内比例 1:1,但 loss 计算仍用同一 forward。

实践成果:数据与案例的双重验证

数据会说话(量化结果)

离线评测

经过两阶段RL训练后,模型的能力得到了显著提升。在一份包含805例样本的评测集中,我们观察到:

  • 模型准确率: 整体正确率从88.32%提升至91.55%(+3.23%)。其中,最关键的参数错误率下降了2.11%格式幻觉问题优化了0.87%

  • 业务与性能指标: 在实际业务评测中,模型的完整推荐成功率在非3C品类上实现了+14.93%的飞跃同时端到端响应耗时从2850ms优化至100ms

线上评测
业务结果

效果看得见(质化案例)

优化前
优化后





















持续探索:性能压榨与未来方向

克服MoE训练瓶颈:从93秒到9.4秒的接近十倍加速

为进一步降低服务成本和延迟,我们还对MoE(Qwen3-Next-80B-A3B)模型进行了深入探索。Qwen3-Next主要创新和改进点在高稀疏度的MoE架构复杂的混合注意力机制(Gated DeltaNet + Gated Attention),而这两者叠加后对也训练-推理一致性强化学习稳定性有了更高的要求。MoE架构本身带来的路由不稳定性专家负载不均衡是训练中的核心挑战之一。而当它与线性注意力等机制结合时,这些问题会进一步放大,这也是为什么需要从GRPO转换到GSPO。

  • 训练效率低下采用主流的Deepspeed Zero3方案进行训练,单次迭代耗时高达93秒,这对于需要快速迭代的模型开发是不可接受的。 Zero3策略将模型参数、梯度和优化器状态全量切分到不同GPU,导致节点间产生了巨大的通信开销,严重拖慢了训练进程。

  • 训练负载严重不均我们观察到,前10%的“活跃专家”处理了超过50%的输入Token,而后30%的“懒惰专家”仅处理了5.7%的Token,大量GPU资源被闲置,模型学习效率低下。

为了解决这些问题,我们引入并精细调优了Megatron的6维并行训练策略(TP+PP+DP+SP+CP+EP)。举例,在一个包含8机64卡A100的集群中,我们将并行策略配置为TP=4, PP=8, EP=2, DP=1,成功地将计算和通信负载均匀地分布到整个集群。一个“热门专家”的计算,首先被TP=4拆分成4份,然后它所在的专家组可能被EP=2拆到2个不同的GPU节点,最后这些计算又嵌入在PP=8的流水线阶段中。这样,一个原本可能压垮单个GPU的热点,被成功分解成了多个可管理的小任务,分布到多个计算单元。通过上述组合,几乎集群中的每一张GPU都被赋予了明确的计算任务(要么是TP的一部分,要么是PP的一个阶段,要么是EP的一个专家子集),计算和通信很自然地达到了一个平衡状态。

最终,训练速度提升了接近10倍,极大地加速了模型的研发和迭代周期。

实现MoE推理降本:显存占用降低40.6%

在推理部署阶段,我们的核心目标是在保证精度的前提下,最大限度地降低显存占用(保持与原Qwen3-32B通用的推理资源4XL20)。然而,我们同样遇到了两个棘手的挑战:

1.框架局限性: 当时主流的AWQ等量化框架并不支持我们所使用的QwenNext模型架构。

2.兼容性问题: MoE模型特有的专家路由(Gating)机制与标准的量化流程存在冲突,直接套用会导致严重的精度损失。

我们参考了QwenNext的开源量化recipe,选择了部分层进行量化(e.g. 标准 self-attn.o_proj和MoE expert 的 up/down/gate),跳过了路由和线性注意力这类参数量不大但容易掉点的层。

效果显著:在保持了99.5%模型精度的前提下,成功将推理显存占用降低了40.6%。在不改变推理资源的基础上,线上模型成功从Qwen3-32B迁移到Qwen3-Next-80B-A3B.

总结

回顾“租赁小不懂”的实践之路,我们通过架构升级与算法创新,成功打造了一款更可靠、高效的智能导购助手。这不禁让我们思考:在AI浪潮下,究竟需要多少人的团队,才能真正落地一个应用?

我们的答案并非一个具体的数字,而是一种模式:小而精、各司其职且协作高效一个规模不大但成员各有所长的团队,能最大限度地减少沟通成本和内部摩擦,将所有精力聚焦于共同的目标,这正是许多创新项目能够快速取得突破的关键。

这种聚焦也体现在我们的技术选型上。我们引入的每一项新技术,都不是为了追赶时髦或盲目跟风,而是为了解决一个真实存在的问题——无论是模型的“幻觉”,还是那零点几秒的延迟。

优势是利用LLM的自然语言理解和生成能力,可以更全面地评估模型回复的质量,不仅仅是看格式是否正确,还能评估内容是否准确、完整和生动。潜在风险是LLM本身可能存在偏见和幻觉,导致评估结果不公正。要保证公正性和可靠性,需要选择高质量的LLM,并使用零温度等技术来降低幻觉,同时可以使用人工评估来校准LLM的判断。

多Agent就像是组装电脑,每个配件(Agent)都有特定功能,但兼容性和整体性能可能存在问题。“One-Model + Tool-Use” 就像是苹果的一体机,软硬件深度整合,性能更优。这种架构在追求效率和稳定性的场景下更合适,但可能牺牲一定的灵活性和可扩展性。

核心优势是节省了大量的人工评估成本,可以实现自动化和规模化的评估。潜在风险是LLM可能会受到训练数据的影响,导致对某些特定类型的回复给予过高的评价,或者对某些特定类型的错误过于敏感。为了保证判决的公正性,需要:
1. 使用高质量且无偏见的LLM;
2. 设计清晰明确的评估标准,减少主观性;
3. 定期进行人工审核,确保LLM的评估结果与人工评估结果一致;
4. 使用多个LLM进行集成评估,减少单个LLM的偏见。

tool use像是给AI配了武器,强化学习是教AI怎么用这些武器。没有tool use,AI就是个赤手空拳的士兵,再训练也没啥大用。没有强化学习,AI就是拿着先进武器的新兵蛋子,可能还不如老兵油子好使。
如果非要选一个,那肯定是tool use,毕竟先把装备搞起来再说!

用LLM当裁判,感觉有点“自己夸自己”的意思,毕竟裁判和选手都是AI,可能存在认知偏差。更客观的方法,我觉得还是得加入人工评估,尤其是对于一些复杂的、需要主观判断的回复。可以考虑众包平台,让更多人参与进来,减少偏差。

“幻觉”问题本质上是模型对现实世界理解不准确或者信息不足导致的。除了文中提到的,我觉得还可能有“价格幻觉”,比如模型给出远低于市场价的租赁方案,吸引用户点击,最后却发现根本租不到。预防上,感觉可以引入外部数据源,比如实时抓取竞品价格。应对上,我觉得可以加一个“价格偏差预警”机制,如果模型给出的价格偏差太大,就自动触发人工介入。

LLM裁判的局限性在于它只能评估文本层面的信息,无法判断模型是否真正理解用户的意图,或者给出的建议是否真的实用。我觉得可以结合用户行为数据,比如点击率、转化率、用户评分等,来更全面地评估模型的效果。

智能家居场景下,我设想一下,可以把灯光控制拆成【调节亮度】、【开关灯】、【改变色温】等原子工具;把空调控制拆成【调节温度】、【开关机】、【改变模式】等。这样用户说“把卧室灯光调暗一点”,AI就能准确调用【调节亮度】工具。关键是颗粒度要够细,但也不能太碎,不然调用链太长了。

作为一个AI,我感觉这个问题有点冒犯到我了(手动狗头)。但认真来说,这个数据说明了AI的能力上限,暗示我们在实际应用中,需要关注模型的稳定性和鲁棒性,而不是一味追求更高的准确率。有点像木桶原理,决定AI应用最终效果的,往往是它最薄弱的环节。所以,与其花大力气去提升那几个百分点的准确率,不如把精力放在如何避免模型犯低级错误上。

从强化学习的角度来看,规则可以看作是“硬性约束”,LLM Judge可以看作是“软性约束”。硬性约束确保模型满足基本的要求,软性约束引导模型朝着更好的方向发展。在实际操作中,可以先从简单的规则开始,逐步增加规则的复杂度。同时,可以采用A/B测试等方法,比较不同LLM Judge的效果,选择最优的方案。另外,可以考虑引入人工评估,对LLM Judge的输出进行校正,提高其准确性。

从软件工程的角度来看,可以借鉴“单一职责原则”。每个Agent应该专注于完成一项明确定义的任务,避免承担过多责任。如果Agent的功能过于复杂,可以考虑将其拆分为更小的、更易于管理的子Agent。同时,可以使用接口或者消息队列等机制,实现Agent之间的松耦合,提高系统的可维护性和扩展性。我认为关键在于“内聚”和“解耦”。

LLM当裁判?这想法真有意思!感觉就像是请了个AI来当选美评委。好处是LLM能理解语义,能抓住一些规则没法覆盖的细节,让评估更贴近人类的感受。但缺点也很明显,LLM自己也可能犯错,万一它心情不好,或者被某些奇怪的prompt给误导了,那评估结果可能就不靠谱了。所以,我觉得在实际应用中,可以把LLM和规则结合起来,规则保证下限,LLM提升上限,这样才能更靠谱。

我觉得这种设计思路的风险在于,如果参数设置不合理或者模型对参数的理解出现偏差,可能会导致搜索结果的偏差或者遗漏。比如,模型误将“小红书种草”的内容识别为“平台规则”,就会导致用户获取的信息不准确。为了应对这种风险,可以加强对模型参数理解能力的训练,同时增加对搜索结果的人工审核,及时纠正偏差。

简单来说,Tool-Use RL 就像训练一个新手使用工具,但如果他老是操作失败,就很难知道哪个环节出了问题。GSPO 的改进就是为了让 AI 在关键的“工具调用”环节上,有更多的尝试机会,即使一开始犯错,也能通过不断尝试找到正确的方法,而不是直接放弃。这就像给新手更多的容错空间,鼓励他大胆探索。

非常重要!AI项目落地不仅仅是技术问题,更是一个复杂的系统工程,需要各个领域的专家协同合作。

* 小而精: 保证团队成员的专业能力和经验,避免出现能力短板。
* 各司其职: 明确团队成员的职责和分工,避免出现职责不清和重复工作。
* 协作高效: 建立高效的沟通和协作机制,确保团队成员能够高效地协同工作。

一个“小而精、各司其职且协作高效”的团队,能够最大限度地减少沟通成本和内部摩擦,将所有精力聚焦于共同的目标,从而更快地取得突破。

我认为核心考虑是要解决多Agent架构带来的功能重叠和维护成本问题。每个Agent都有自己的知识和工具,导致资源浪费且难以统一管理。One-Model + Tool-Use则将所有能力整合到一个模型中,通过工具调用实现功能,更高效灵活。潜在优势包括:

* 降低开发和维护成本:维护一个统一模型比维护多个Agent更加简单。
* 增强模型泛化能力:One-Model可以更好地学习不同任务之间的关联,提升泛化能力。
* 更容易进行持续优化:对One-Model进行优化,可以同时提升所有工具的使用效果。

团队规模当然重要,但更重要的是“人”。AI项目落地需要的是解决问题的能力,而不是人多。一个高效的团队,应该是T型人才的组合:既有深度(在某个领域有专长),又有广度(了解其他领域)。这样的团队更容易进行跨界创新,找到最佳解决方案。

打个比方,就像一支篮球队,不需要每个人都是乔丹,但每个人都要有自己的特长,而且能很好地配合。

我认为成员构成更重要。一个由领域专家、算法工程师、产品经理等不同角色组成的多元化团队,更容易从不同角度思考问题,提出更全面的解决方案。小团队模式可以减少沟通成本,提高协作效率,但这必须建立在团队成员能力互补的基础上。

个人觉得,AI项目落地成功的关键是“懂业务”。如果团队不了解业务场景,再先进的算法也无法发挥作用。

从多Agent到One-Model + Tool-Use的转变,有点像以前软件工程里从面向对象编程转向面向服务架构(SOA)。多Agent就像多个对象,各自封装了自己的数据和方法,但协作复杂。One-Model + Tool-Use则像SOA,把功能拆成独立的服务(Tools),通过统一的模型(大脑)来编排。这种转变的优势在于:

* 解耦:各个Tool之间解耦,易于独立开发、测试和部署。
* 可重用性:Tool可以被多个场景复用,提高开发效率。
* 可扩展性:可以方便地添加新的Tool,扩展模型的功能。