mcpField
L
langsmith-code-eval

langsmith-code-eval

github.com/langchain-ai测试与质量348 次安装36 周前更新
代码仓库

关于 langsmith-code-eval

用于在 LangSmith 数据集上构建评估器并运行实验的技能,面向测试 Python Agent 的团队。它涵盖轨迹与数据集检查、评估器实现及结果迭代。

主要功能

  1. 01收集项目与评估信息
  2. 02检查 LangSmith 轨迹和数据集
  3. 03读取 Agent 入口与工具
  4. 04创建评估器和实验运行脚本
  5. 05运行实验并查看结果

适用场景

  1. 01检查 Agent 是否调用预期工具
  2. 02按预期内容或格式评估输出
  3. 03评估策略遵循或分类结果

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/langchain-ai/lca-skills --skill langsmith-code-eval

安装后在 Claude Code 中输入/langsmith-code-eval确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

EVALUATOR_REFERENCE.md
scripts/
inspect_dataset.py
inspect_trace.py

详细介绍

LangSmith 评估器创建

通过结构化检查和实现,为 LangSmith 实验创建评估器。

前提条件

  • 已安装 langsmith Python 软件包
  • 已设置 LANGSMITH_API_KEY 环境变量(检查项目的 .env 文件)

工作流

复制此清单并跟踪进度:

Evaluator Creation Progress:
- [ ] Step 1: Gather info from user
- [ ] Step 2: Inspect trace and dataset structure
- [ ] Step 3: Read agent code
- [ ] Step 4: Write evaluator
- [ ] Step 5: Write experiment runner
- [ ] Step 6: Run and iterate
步骤 1:向用户收集信息

重要:不要搜索或浏览代码库。在执行任何其他操作之前,先使用 AskUserQuestion 一次性向用户提出以下所有问题。

在一次 AskUserQuestion 调用中向用户提出以下问题:

  1. Python 命令:在此项目中如何运行 Python?(例如:python、python3、uv run python、poetry run python)
  2. Agent 文件路径:Agent 文件的路径是什么?
  3. LangSmith 项目名称:记录跟踪信息的 LangSmith 项目名称是什么?
  4. LangSmith 数据集名称:要评估的数据集名称是什么?
  5. 评估目标:哪些行为应判定为通过或失败?常见类型:
    • 工具使用:Agent 是否调用了正确的工具?
    • 输出正确性:输出是否符合预期格式或内容?
    • 策略合规性:是否遵循了特定规则?
    • 分类:是否正确分类?
步骤 2:检查跟踪记录和数据集结构

使用步骤 1 中的信息,运行此技能目录中的检查脚本:

{python_cmd} {skill_dir}/scripts/inspect_trace.py PROJECT_NAME [RUN_ID]
{python_cmd} {skill_dir}/scripts/inspect_dataset.py DATASET_NAME

将 {python_cmd} 替换为步骤 1 中的命令,并将 {skill_dir} 替换为此技能的目录路径。

确认跟踪记录与 Agent 相符:

  • 跟踪记录类型是否匹配?(例如,OpenAI Agent 是否对应 OpenAI 跟踪记录)
  • 是否包含评估所需的数据?
  • 如果不匹配,请先澄清再继续。

检查数据集后,记录以下信息:

  • 输入架构(传递给 Agent 的内容)
  • 输出架构(参考/预期输出)
  • 元数据字段(例如 expected_tool、difficulty、标签)

数据集元数据通常包含评估所需的真实依据(例如,应调用的工具、预期分类)。

步骤 3:阅读 Agent 代码

阅读步骤 1 中提供的 Agent 文件,以确定:

  • 入口函数(查找 @traceable 装饰器)
  • 可用工具
  • 输出格式(函数返回的内容)
步骤 4:编写评估器

根据跟踪记录和数据集结构创建评估器函数。有关函数签名和返回格式,请参阅 EVALUATOR_REFERENCE.md。

步骤 5:编写实验运行器

创建一个脚本,用于:

  1. 导入 Agent 的入口函数
  2. 将其封装为目标函数
  3. 对数据集运行 evaluate() 或 aevaluate()

有关 evaluate() 的用法,请参阅 EVALUATOR_REFERENCE.md。

步骤 6:运行并迭代

执行实验,在 LangSmith 中查看结果,并根据需要完善评估器。

评论

支持 Markdown