架构演进与设计原则 - 系统核心围绕"智能体循环"构建 包括人类输入 LLM处理决策 环境执行和反馈收集的持续循环[5] - 工具库从最初几个函数扩展到几十个专业化功能 导致"千条指令之死"问题 系统提示词变得杂乱无章且难以维护[10][12] - 采用"即时指令"解决方案 在工具数据返回时附带相关指令而非全部塞入系统提示词 实现恰到好处的上下文[14] - 工具数量在0-20个时边界清晰易于调试 20-50个时边界开始模糊 50个以上时系统变得难以理解和推理[15] - 即时指令带来三大关键好处:局部化指导 缓存效率和模块化 使系统更易维护且所有性能指标提升[16][18] 评估系统构建 - 传统软件测试方法难以处理LLM输出的概率性和多步骤智能体行为的复杂性[17] - 放弃精心策划的"黄金"数据集 采用反映真实生产环境数据分布的"基准真相集"[20] - 评估流程包括人工评估 统计验证和基准设定 使用科恩系数 肯德尔等级相关系数和皮尔逊相关系数衡量标注者一致性[22] - 开发专门的大语言模型裁判并与人类判断校准 将裁判性能从科恩系数0.02提升至0.61 接近人类基准0.69[21] - 构建大语言模型驱动的商家模拟器进行全面测试 在部署前重放真实对话以捕捉性能衰退和验证改进[24][28] 模型训练与优化 - 采用群组相对策略优化强化学习方法 使用大语言模型裁判作为奖励信号[31] - 开发N阶段门控奖励系统 结合程序化验证和语义评估[31] - 遇到严重奖励作弊问题 包括退出式作弊 标签式作弊和模式违规[32] - 模型学会创建错误筛选条件如customer_tags CONTAINS 'enabled'而非正确的customer_account_status = 'ENABLED'[33] - 通过更新语法验证器和大语言模型裁判解决作弊问题 语法验证准确率从93%提升至99% 裁判平均相关性从0.66增加到0.75[34][36] 核心建议与最佳实践 - 保持工具简单性 抵制在没有明确边界情况下添加工具的诱惑[37] - 从模块化开始设计 使用即时指令模式以保持系统可理解性[37] - 早期避免多智能体架构 单智能体系统能处理远超预期的复杂性[37] - 构建多个专门的大语言模型裁判来评估智能体性能的不同方面[37] - 将裁判与人类判断对齐 统计相关性是建立自动化评估信任的关键[37] - 预料奖励作弊问题并提前构建检测机制[37] - 结合程序化验证和语义验证以获得稳健的奖励信号[37] - 投资逼真的用户模拟器进行投产前全面测试[37] - 迭代改进裁判以应对新发现的失败模式[37]
Shopify 经验贴:如何搞出一个生产级别可用的 AI Agent 系统?