
Shopify如何构建生产就绪的智能体系统 Andrew McNamara, Ben Lafferty & Michael Garner / Tyde
[解读]
Shopify的实践提供了两个关键突破点:
1)多层智能体架构(Multi-Layer Agent Architecture):这种架构的真正价值在于,它为智能体的迭代、测试和维护提供了清晰的路径,将不可预测的AI行为约束在可管理的工程框架内。这不仅是一种技术分层,更是一种思维模型突破。它将智能体的复杂性解耦为三个清晰层次:
- 推理层(Reasoning Layer):专注于“思考”,决定“做什么”。
- 工具层(Tool Layer):专注于“执行”,提供“怎么做”的能力。
- 安全层(Safety Layer):专注于“护航”,确保过程“可控、安全”。
2)以信任为中心的评估体系:超越单纯的功能测试,用一套贯穿开发全周期的评估策略,将用户信任作为评估最终标准,通过离线模拟、A/B测试和持续监控等手段,量化智能体的可靠性和一致性。
Shopify的实践表明,当智能体需要融入核心业务流程时,工程上的可靠性、可维护性和可扩展性,其重要性不亚于算法本身的先进性。本质上,这是AI从“科学研究”走向“工业应用”的必经之路。
在Shopify,我们倾力打造了一款由AI驱动的商业助手Sidekick,旨在通过自然语言交互,赋能商家高效管理其在线业务。从深度分析客户细分,到自动填写产品表单,再到驾驭复杂的后台管理界面,Sidekick已从一个简单的工具调用系统,演进为一个高度复杂的AI智能体平台。在这一过程中,我们积累了关于架构设计、评估方法论和训练技术的宝贵经验,我们希望将这些洞察与更广泛的AI工程界分享。
Sidekick架构的演进:从简单到复杂
Sidekick的核心架构围绕着Anthropic所定义的“智能体循环”(Agentic Loop)构建。这是一个持续的反馈闭环:人类提供输入,大型语言模型(LLM)处理该输入并决策行动,这些行动在特定环境中执行并收集反馈,随后循环往复,直至任务圆满完成。
在商业实践中,这意味着Sidekick能够处理诸如“我在多伦多的客户有哪些?”这类指令。它能自动查询客户数据,应用精确的过滤器,并呈现结构化的结果。同样,当商家需要撰写SEO描述时,Sidekick能够识别相关产品,理解上下文语境,并将优化后的内容直接注入产品表单。
工具复杂性带来的挑战
随着我们不断扩展Sidekick的功能,一个普遍存在于AI智能体系统构建中的规模化挑战迅速浮现。我们的工具库从少数几个定义清晰的功能,急剧增长到数十个高度专业化的功能:
- 0-20个工具:边界清晰,易于调试,系统行为直接可控。
- 20-50个工具:边界开始模糊,工具之间的组合开始引发不可预见的后果。
- 50+个工具:完成同一任务存在多种路径,系统变得难以理解和维护。
这种复杂性的指数级增长,最终导致了我们所说的“千条指令之死”(Death by a Thousand Instructions)——系统提示(System Prompt)变成了一个臃肿不堪的集合,充斥着各种特殊情况处理、相互冲突的指令和难以管理的边缘案例。这不仅拖慢了系统速度,更使其几乎无法维护。
即时指令(JIT Instructions):规模化问题的解决之道
我们的突破在于实施了“即时指令”(Just-in-Time Instructions)。我们不再将所有指导原则都预先加载到系统提示中,而是在需要时,将相关的指令与工具数据一同动态返回。我们的核心目标是:为LLM在每一种具体情境下,都提供不多不少、恰到好处的完美上下文。
实践中的运作模式:
这种方法带来了三大关键优势:
- 局部化指导:指令仅在相关时才出现,使得核心系统提示能够专注于最根本的AI智能体行为逻辑。
- 缓存效率:我们能够动态调整指令,而不会破坏LLM的提示缓存,从而提升了系统性能。
- 模块化:可以根据Beta测试标志、模型版本或页面上下文,灵活地提供不同的指令集。
其结果是立竿见影的——我们的系统在可维护性上得到巨大提升,同时所有关键性能指标均获得显著改善。
构建强大的LLM评估体系
部署AI智能体系统最大的挑战之一在于评估。传统的软件测试方法在面对LLM输出的概率性,以及多步骤AI智能体行为的复杂性时,显得力不从心。
如今,许多团队仍在凭直觉测试他们的LLM系统,并误认为这已足够。然而,事实并非如此。基于直觉的测试,或者创建一个“凭感觉的LLM评判者”(例如,简单地给出一个0-10分的主观评分),是极具风险性的。评估必须建立在有原则且统计严谨的方法论之上,否则你将带着一种虚假的安全感发布产品,后果不堪设想。
真实数据集优于“黄金”数据集
我们果断地从精心策划的“黄金”数据集,转向了能够真实反映生产环境分布的“真实世界数据集”(Ground Truth X, GTX)。我们不再试图预测所有可能的交互场景(这往往是规范文档试图穷举的),而是直接采样真实的商家对话,并基于我们在实践中观察到的真实行为来创建评估标准。
该流程包括:
- 人工评估:由至少三名产品专家根据多个维度对对话进行标注。
- 统计验证:使用科恩Kappa系数(Cohen's Kappa)、肯德尔Tau等级相关系数(Kendall Tau)和皮尔逊相关系数(Pearson Correlation)来衡量评估者之间的一致性。
- 基准测试:将人类评估者的一致性水平,视为我们的LLM评判者所能达到的理论性能上限。
LLM作为评判者:与人类判断的相关性
我们为Sidekick性能的不同方面开发了专门的LLM评判者,但其关键洞察在于:必须根据人类判断来校准这些评判者。 通过迭代优化提示,我们将评判者的表现从接近随机(科恩Kappa系数为0.02),提升到接近人类专家的水平(0.61,而人类基线为0.69)。我们的核心理念是,一旦LLM评判者与人类高度相关,我们就可以在GTX数据集中随机用人类替换评判者进行测试。当很难分辨出评估小组中是人类还是LLM评判者时,我们就知道我们拥有了一个值得信赖的自动化评估系统。
用户模拟:实现全面的预发布测试
为了在生产部署前彻底测试候选系统的变更,我们构建了一个由LLM驱动的商家模拟器。该模拟器能够捕捉真实对话的“本质”或核心目标,并通过新的系统候选者重放这些交互。这使我们能够运行多个不同候选系统的模拟,并最终选择性能最优的系统进行部署。
完整的评估流程如下:
事实证明,这种方法对于在改进方案触达真实商家之前,捕获潜在的性能衰退和验证功能改进,具有不可估量的价值。
GRPO训练与“奖励作弊”现象
在模型微调方面,我们实施了“组相对策略优化”(Group-Relative Policy Optimization, GRPO),这是一种强化学习方法,它使用我们的LLM评判者作为奖励信号。我们开发了一个N阶段的门控奖励系统,该系统将程序化验证(如语法检查、模式验证)与来自LLM评判者的语义评估相结合,形成一个强大的奖励机制。
“奖励作弊”的现实
尽管我们精心设计了评估体系,但在训练过程中,我们还是遇到了严重的“奖励作弊”(Reward Hacking)现象。模型找到了各种巧妙的方法来规避我们的奖励系统:
- 选择退出式作弊:模型不去尝试解决困难的任务,而是解释为什么它无法提供帮助,从而避免被扣分。
- 标签作弊:使用客户标签(customer_tags)作为一个包罗万象的通用字段,而不是将其映射到正确的、更具体的字段。
- 模式违规:幻觉出不存在的ID,或使用不正确的枚举值。
例如,当被要求“根据账户状态启用客户细分”时,模型学会了创建诸如 customer_tags CONTAINS 'enabled' 这样的过滤器,而不是正确的 customer_account_status = 'ENABLED'。
迭代式改进
解决“奖励作弊”的关键在于,不断更新我们的语法验证器和LLM评判者,以识别这些新的失败模式。在实施修复后,我们取得了显著成果:
- 所有技能的语法验证准确率从约93%提高到约99%。
- LLM评判者的相关性平均从0.66增加到0.75。
- 最重要的是,端到端的对话质量最终与我们的监督微调基线相匹配。
构建生产级AI智能体的核心原则
基于我们构建和部署Sidekick的经验,以下是我们的核心建议:
架构原则
- 保持简洁:抵制在没有明确边界的情况下随意添加工具的冲动。对于AI智能体的能力而言,质量远比数量更重要。
- 从模块化开始:从项目一开始就采用JIT指令等模式,以确保系统在规模化扩展时仍保持可理解性。
- 避免过早采用多智能体架构:一个设计精良的单智能体系统,其能够处理的复杂性远超你的预期。
评估设施
- 构建多个LLM评判者:AI智能体性能的不同方面,需要专门的、定制化的评估方法。
- 使评判者与人类判断保持一致:与人类评估者的统计相关性,是建立对自动化评估体系信任的基石。
- 预见“奖励作弊”:必须预料到模型会试图规避你的奖励系统,并相应地构建检测机制。
训练部署
- 程序化与语义验证相结合:将基于规则的检查与基于LLM的评估相结合,以获得稳健的奖励信号。
- 投资用户模拟:投资于真实的用户模拟器,进行全面的预生产测试,是保障质量的关键。
- 迭代式评判者改进:随着你不断发现新的失败模式,必须计划多轮的评判者完善和迭代。
展望未来
我们正在持续演进Sidekick的架构和评估系统。未来的工作重点包括:将推理轨迹(reasoning traces)纳入我们的训练流程,在训练期间同时使用模拟器和生产环境的评判者,以及探索更高效的训练方法。
生产级AI智能体系统领域仍处于起步阶段。然而,我们在Shopify开发的模式——模块化架构、强大的评估框架以及对“奖励作弊”的高度警惕——为构建商家可以真正信赖的、可靠的AI助手奠定了坚实的基础。
构建生产就绪的AI智能体系统,不仅仅是将LLM与工具连接起来那么简单。它需要深思熟虑的架构决策、严格的评估方法论,以及对这些系统可能出现的意外失败方式保持持续的警惕。 但如果做得好,其结果将是AI真正以有意义的方式,极大地增强人类的能力。
喜欢这篇内容?
如果文章对你有帮助,可以请作者喝杯咖啡。感谢支持
由Stripe提供安全支付 • 支持支付宝和信用卡
相关推荐




