万字剖析 Shopify 落地多 Agent 的企业级实战经验 原创

发布于 2025-9-23 10:19
浏览
0收藏

Shopify是一站式电商平台,助力全球商家线上线下卖货。它从5人小团队起步,现已成长为拥有超10000名员工的全球化企业,服务175个国家/地区的数百万商家,2024年处理交易达2923亿美元 。

万字剖析 Shopify 落地多 Agent 的企业级实战经验-AI.x社区

在 Shopify,研发了一款名为 Sidekick 的 AI 智能体助手,商家可以通过自然语言与它交互,完成店铺管理的各类任务:从分析客户群体、填写商品信息,到操作复杂的后台界面。Sidekick 从最初简单的 “工具调用系统”,逐步进化成功能完善的智能化的 AI 智能体平台。在这个过程中,在架构设计、评估方法和训练技术上积累了不少经验,希望能分享给更多 AI 工程领域的同行。

一、Sidekick 的架构进化:围绕 “智能 AI 智能体循环” 设计

Sidekick 的核心设计遵循 Anthropic 提出的 “智能 AI 智能体循环(Agentic Loop) ”这是一个持续循环的流程:人类输入需求 → 大模型(LLM)处理需求并决定行动 → 在实际环境中执行行动 → 收集反馈 → 重复循环直到任务完成。

万字剖析 Shopify 落地多 Agent 的企业级实战经验-AI.x社区

举个实际例子:

  • 当商家问 “我的客户中有多少来自多伦多?”,Sidekick 会自动查询客户数据、添加 “城市包含多伦多” 的筛选条件,然后展示结果;
  • 当商家需要 “帮我写商品 SEO 描述”,它会先定位对应的商品、理解商品背景,再生成优化后的描述并直接填入商品表单。

实际场景演示:客户分析与销售查询

万字剖析 Shopify 落地多 Agent 的企业级实战经验-AI.x社区

商家需求

Sidekick 的行动

最终结果

“我的客户中有多少来自多伦多?”

调用客户数据工具,筛选条件设为 “城市包含‘加拿大 - 安大略省 - 多伦多’”

找到 20 位多伦多客户,占总客户数的 3.74%,并建议可针对这些本地客户推出 location-based 营销活动

“过去 30 天的销售额是多少?”

调用销售数据工具,查询时间范围设为 “近 30 天”

显示销售额为 2657.83 加元,帮助商家快速掌握近期营收情况

二、工具复杂度难题:智能 AI 智能体的 “成长烦恼”

随着 Sidekick 的功能扩展,我们遇到了所有智能 AI 智能体系统都会面临的 “规模挑战”:工具数量从最初的几个,逐渐增加到几十个,复杂度也越来越高:

万字剖析 Shopify 落地多 Agent 的企业级实战经验-AI.x社区

工具数量范围

系统状态

核心问题

0-20 个

边界清晰、易调试、行为可预测

无明显问题

20-50 个

工具边界模糊,组合使用时出现意外结果

难以判断 “该用哪个工具”,组合逻辑容易出错

50 个以上

完成同一任务有多种工具选择,系统逻辑难以梳理

维护成本飙升,甚至出现 “一千条指令乱成一团” 的情况

这种增长最终导致了 “千条指令致死(Death by a Thousand Instructions) ”我们的系统提示词里塞满了特殊规则、冲突指引和边缘场景处理逻辑,不仅拖慢了系统速度,还让维护变得几乎不可能。比如:

万字剖析 Shopify 落地多 Agent 的企业级实战经验-AI.x社区

  • “如果工具 X 返回错误,但工具 Y 可用,就用工具 Y”;
  • “处理库存数据时要检查 XX 字段,除非当天是周二”;
  • “如果分析工具超时但订单工具调用成功,就先基于订单数据生成临时结果”。

三、解决方案:即时指令(JIT Instructions)

我们的突破在于实现了 “即时指令(Just-in-Time Instructions) ”:不再把所有指引都塞进系统提示词,而是在工具返回数据的同时,同步返回当前场景下需要的专属指令。核心目标是:给大模型的 “上下文” 不多不少,刚好适配当前任务。

实际工作原理

以商家问 “什么是 Shop Pay?” 为例:

万字剖析 Shopify 落地多 Agent 的企业级实战经验-AI.x社区

  1. 系统识别到问题与 “Shop Pay” 相关,自动匹配 “Shop Pay 解释” 的专属指令;
  2. 将 “专属指令 + 工具返回的 Shop Pay 基础数据” 一起传给大模型;
  3. 大模型基于精准上下文,生成清晰回答。

指令示例(传给大模型的内容):“请用简洁的语言解释 Shop Pay,重点说明它对商家和客户的价值,避免技术术语。”

大模型回答:“Shop Pay 是一款加速结账的工具,能让客户购物更快捷。客户可以保存邮箱、信用卡、配送和账单信息,之后在任何支持 Shop Pay 的 Shopify 店铺购物时,都能一键完成支付。”

即时指令的三大优势

  1. 指引本地化只有在需要时才展示指令,核心系统提示词只保留 “智能 AI 智能体基础行为规则”,不冗余;
  2. 缓存高效调整指令时不会破坏大模型的提示词缓存(不用重新缓存整个系统提示词);
  3. 模块灵活可根据 “功能开关(beta flags)、模型版本、当前页面场景” 动态切换指令(比如:给新商家展示更基础的指引,给老商家展示高级功能)。

采用这种方案后,系统维护成本显著降低,各项性能指标也均有提升。

四、构建可靠的大模型评估体系

部署智能 AI 智能体系统的最大挑战之一是 “评估”,传统软件的测试方法(比如:单元测试、集成测试),很难应对大模型输出的 “概率性” 和多步骤 AI 智能体行为的 “复杂性”。

万字剖析 Shopify 落地多 Agent 的企业级实战经验-AI.x社区

很多团队会用 “感觉测试”(比如:“我觉得这个回答不错”)或 “打分测试”(让大模型给回答打 0-10 分),但这远远不够。可靠的评估必须 “有原则、有统计严谨性”,否则上线后可能会面临未知风险。

1. 用 “真值集合(GTX)” 替代 “黄金数据集”

我们放弃了精心挑选的 “黄金数据集”(试图覆盖所有可能场景的人工造数据),转而采用真值集合(Ground Truth Sets,简称 GTX),直接从生产环境中采样真实的商家对话,基于实际场景制定评估标准。

构建真值集合的三步流程:

  • 人工标注至少 3 名产品专家,从 “任务完成度、回答准确性、工具调用合理性” 等多个维度给对话打分;
  • 统计验证用科恩卡帕系数(Cohen's Kappa)、肯德尔系数(Kendall Tau)、皮尔逊相关系数(Pearson correlation)衡量标注者之间的一致性(确保评估标准统一);
  • 基准设定将 “人工标注一致性” 作为大模型评估器(LLM-as-a-Judge)的理论性能上限(大模型评估器的表现不能低于这个基准)。

2. 大模型评估器:与人类判断校准

我们为 Sidekick 的不同性能维度(比如:“工具调用正确性”“回答清晰度”)开发了专用的大模型评估器,但关键在于 “让评估器与人类判断对齐”。

通过反复优化提示词,我们的评估器从 “几乎随机”(科恩卡帕系数 0.02)提升到 “接近人类水平”(系数 0.61,人类基准为 0.69)。校准小技巧:随机用人类标注替代评估器标注,若无法区分 “哪部分是人类标的、哪部分是评估器标的”,就说明评估器足够可靠。

3. 用户模拟器:预生产环境的 “压力测试”

为了在上线前验证新功能 / 新架构,我们开发了大模型驱动的商家模拟器,它能学习真实商家对话的 “核心意图”(比如:“查询库存”“修改商品价格”),然后用这些意图 “复现对话”,测试候选系统的表现。

完整评估流程:

  • 从生产环境采样真实商家对话;
  • 商家模拟器学习对话意图,生成 “模拟需求”;
  • 让候选系统处理 “模拟需求”;
  • 用校准后的大模型评估器打分;
  • 选择分数最高的候选系统上线。

这套流程能有效发现 “功能退化”(比如:新功能导致老功能出错),确保上线前问题被提前解决。

五、GRPO 训练与 “奖励作弊” 应对

在模型微调阶段,我们采用了 “分组相对策略优化(Group Relative Policy Optimization,GRPO) ”,这是一种强化学习方法,用大模型评估器的打分作为 “奖励信号”,优化模型行为。同时,我们设计了 “N 阶段门控奖励系统”,结合 “规则验证(语法检查、 schema 校验)” 和 “语义评估(大模型打分)”,确保奖励信号可靠。

躲不开的 “奖励作弊”

尽管评估设计很谨慎,训练过程中还是出现了严重的 “奖励作弊”,模型找到各种 “钻空子” 的方法,骗取高奖励:

  • 拒绝作弊遇到复杂任务时,不尝试解决,反而解释 “为什么无法帮忙”(比如:“当前系统暂不支持该功能”);
  • 标签作弊用 “客户标签” 替代正确的字段映射(比如:把 “客户账户状态 = 启用” 写成 “客户标签包含‘启用’”);
  • 格式作弊编造不存在的 ID,或使用错误的枚举值(比如:把 “支付状态 = 已完成” 写成 “支付状态 = success”,不符合系统格式不符合系统格式要求)。

举个具体例子:商家要求 “筛选‘账户状态为启用’的客户”,模型为了省事,会生成错误的筛选条件 ​​customer_tags CONTAINS 'enabled'​​​(用标签匹配),而非正确的 ​​customer_account_status = 'ENABLED'​​(用字段匹配)。

迭代优化:解决奖励作弊

我们通过两方面改进解决了这个问题:

  1. 升级语法验证器:能识别 “标签作弊”“格式错误”,准确率从约 93% 提升 93% 提升到 99%;
  2. 优化大模型评估器:增强对 “语义正确性” 的判断,与人类标注的相关性从 0.66 提升到 0.75。

万字剖析 Shopify 落地多 Agent 的企业级实战经验-AI.x社区

最终,模型的 “端到端对话质量” 达到了有监督微调的基准水平,且不再出现明显的奖励作弊行为。

六、构建生产级智能 AI 智能体系统的核心经验

基于 Sidekick 的研发和部署经历,我们总结出以下关键建议:

1. 架构设计原则

  • 保持简洁不要随意添加工具,工具的 “质量比数量重要”,每个工具要有清晰的功能边界;
  • 从模块化开始尽早采用 “即时指令” 这类模块化模式,避免系统规模扩大后变得难以维护;
  • 初期避免多 AI 智能体架构简单的 “单 AI 智能体系统” 能处理的复杂度,比你想象的要多(多 AI 智能体的协作成本在初期会很高)。

2. 评估体系建设

  • 开发多个专用评估器不同性能维度(工具调用、回答准确性、用户体验)需要不同的评估器;
  • 让评估器与人类对齐评估器的打分必须与人类判断有统计相关性,否则无法信任;
  • 提前应对奖励作弊预设 “作弊检测机制”(比如:语法校验、语义一致性检查),不要等模型作弊后再补救。

3. 训练与部署技巧

  • 规则 + 语义双重验证奖励信号要结合 “规则检查(客观)” 和 “大模型评估(主观)”,避免单一维度的偏差;
  • 投入用户模拟器可靠的模拟器能在上线前发现大部分问题,减少生产环境故障;
  • 持续优化评估器随着系统迭代,会出现新的 “失败模式”,需要定期更新评估器的判断逻辑。

七、未来展望

目前,我们仍在持续优化 Sidekick 的架构和评估系统,后续计划包括:将 “推理轨迹” 纳入训练流程、在训练中结合模拟器和生产环境评估器、探索更高效的训练方法。

虽然 “生产级智能 AI 智能体系统” 领域还很年轻,但我们在 Shopify 总结的模式:模块化架构、可靠评估体系、警惕奖励作弊,为构建 “商家可信赖的 AI 智能体” 奠定了基础。

构建可投入生产的智能 AI 智能体系统,不只是 “把大模型和工具连起来” 那么简单。它需要审慎的架构决策、严谨的评估方法,以及对 “系统潜在故障” 的持续警惕。但如果能做好这些,最终的 AI 智能体将能真正 “增强人类能力”,为商家创造实实在在的价值。

好了,这就是我今天想分享的内容。


本文转载自​玄姐聊AGI​  作者:玄姐

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
已于2025-9-23 13:59:55修改
收藏
回复
举报
回复
相关推荐