公司动态
AI代理的可观测性、追踪与评估:LangSmith实战
为什么AI代理需要可观测性与评估AI代理相较于传统软件更加复杂,其行为由大语言模型、工具调用、记忆和规划共同驱动。一个代理可能因为提示词措辞、工具返回格式或模型温度设置的不同,而产生迥异的输出。缺少可观测性,开发者将无法定位错误根源,也无法判断代理是否按照预期逻辑执行。LangSmith正是为此而生的平台,它提供从调试到评估的全生命周期管理,帮助开发者在构建阶段就建立可观测性意识。LangSmith的核心能力LangSmith是LangChain生态系统中的商业平台,专为LLM原生应用设计。根据官方文档,其核心能力包括:调试代理行为:追踪每个步骤的输入、输出、工具调用和中间推理,快速定位问题。监控使用与性能:实时查看调用频率、延迟、Token消耗等指标,把握应用运行状态。评估输出质量:支持将回答与预期结果对比,或使用LLM-as-judge自动打分。管理提示与数据集:版本化管理提示词,创建数据集用于批量评估,形成回归测试体系。标注与反馈循环:人工标记坏样本,不断优化代理行为。这些能力使得LangSmith不仅是一个日志工具,更是驱动代理迭代的质量引擎。配置LangSmith环境与项目设置要启用LangSmith的可观测性,首先需在项目中配置环境变量。在AskMamma代理的实践项目中,.env文件包含以下关键参数:AZURE_OPENAI_API_VERSION= AZURE_OPENAI_ENDPOINT= AZURE_OPENAI_API_KEY= AZURE_OPENAI_CHAT_DEPLOYMENT_NAME= LANGSMITH_API_KEY= LANGSMITH_ENDPOINT= LANGSMITH_PROJECT=其中,LANGSMITH_API_KEY和LANGSMITH_PROJECT用于与LangSmith平台建立连接。设置完成后,当程序调用LangChain的组件(如LLM、工具、AgentExecutor)时,运行日志会自动上传至LangSmith控制台。开发者无需额外编写追踪代码,LangChain内部已集成LangChainTracer。安装依赖时,需包含langsmith包:pipinstalllangsmith构建AskMamma代理的追踪基础下面我们通过AskMamma代理的构建过程,演示LangSmith如何自然融入工作流。以下代码片段取自代理开发步骤,展示了三个核心工具的初始化过程。数据库工具(SQL查询)利用LangChain的SQLDatabaseToolkit,代理可以查询餐厅的库存数据库:fromlangchain_community.utilities.sql_databaseimportSQLDatabase