AI News HubLIVE
站内改写

通过评估驱动开发迭代实现LLM可靠性

Dosu公司采用评估驱动开发(EDD)和LangSmith来构建可靠的LLM产品,监控生产性能,并自信地进行迭代。本文详细介绍了Dosu的起源、早期挑战、如何实施EDD以及利用LangSmith大规模监控和改进产品。

文章情报

工程师中级

要点

  • Dosu使用评估驱动开发(EDD)来确保LLM产品的可靠性,类似于测试驱动开发。
  • LangSmith的SDK易于集成,提供了细粒度的控制和可定制性,帮助Dosu监控所有活动。
  • 通过LangSmith的搜索功能,Dosu能够识别故障模式并持续改进。

为什么重要

这条新闻值得关注,因为Dosu使用评估驱动开发(EDD)来确保LLM产品的可靠性,类似于测试驱动开发。

技术影响

可能影响模型选型、推理成本、产品能力和评测基准。

在构建生产级LLM产品时,可靠性是一个关键挑战。由于LLM基于概率函数,确保其可靠性并不简单。Dosu公司通过评估驱动开发(EDD)和LangSmith工具,成功实现了这一目标。

Dosu是一个AI工程助手,帮助开发、维护和支持软件项目。它起源于作者作为开源软件维护者的经历,其中大量时间用于支持工作而非开发新功能。Dosu旨在承担这些非编码任务,让开发者专注于编码和功能交付。

在早期,Dosu团队手动检查每个响应,使用grep和print语句来识别改进点。随着使用量增长,这种方法变得不可持续。因此,他们采用了EDD方法,通过定义评估(evals)作为基准,确保每次变更不会导致性能退化。

为了应对规模增长,Dosu升级了监控栈,选择了LangSmith。LangSmith的SDK允许他们通过简单的装饰器(@traceable)快速集成,实现全量跟踪。LangSmith提供了高级搜索功能,帮助他们识别故障模式,如用户反馈、情感分析、内部错误和响应时间异常。

通过LangSmith,Dosu能够自动构建评估数据集,将生产流量中的失败案例添加到评估中,然后针对这些评估进行迭代改进。这种工作流程形成了良性循环:LangSmith帮助Dosu改进,Dosu的改进又减轻了LangChain团队的维护负担。

未来,Dosu计划进一步定制LangSmith,实现评估数据集的自动收集,使工程师能够轻松基于对话主题、用户段等筛选数据。此外,Dosu已经识别出一些意想不到的故障模式,例如当用户分享数千行日志或OpenAI嵌入的原始浮点值时,响应极其缓慢;还有一次Dosu被要求标记拉取请求,却回应了关于音乐会的消息。这些案例都被纳入评估集,驱动持续改进。Dosu与LangChain的合作形成了有趣的飞轮效应:LangSmith加速Dosu迭代,Dosu的改进降低LangChain的维护成本,使LangChain能投入更多资源到LangSmith开发,进而反哺Dosu。

EDD流程包括:创建新行为并附加初始评估,向用户发布,监控生产结果并识别失败模式,将失败示例加入离线评估集,针对更新后的评估迭代,然后重新发布并重复。这一方法论确保了Dosu在大规模部署下仍能保持高质量。目前Dosu已安装在数千个仓库中,每天全天候生成响应,具备数十个子模块智能处理不同场景。

LangSmith的集成极为简便,仅需在函数上添加@traceable装饰器即可实现代码级跟踪,将函数输入、渲染的提示模板和LLM输出整合在单个跟踪中。其高级搜索支持按用户反馈、错误事件、响应延迟、负面情绪等条件筛选,帮助Dosu团队快速定位异常行为。Dosu正致力于进一步自定义LangSmith,以自动从生产流量中构建评估数据集,使工程师能基于对话主题、用户细分、请求类别等轻松整理数据。