mcpField
L
langsmith-code-eval

langsmith-code-eval

github.com/langchain-aiテスト・品質348 回インストール36 週間前に更新
リポジトリ

langsmith-code-eval について

LangSmith のデータセットを使って評価器を作成し、実験を実行するスキルです。Python エージェントのテストを行うチーム向けに、トレースとデータセットの調査から評価器の実装、結果の改善までを案内します。

主な機能

  1. 01プロジェクトと評価内容の確認
  2. 02LangSmith のトレースとデータセットの調査
  3. 03エージェントのエントリーポイントとツールの確認
  4. 04評価器と実験ランナーの作成
  5. 05実験の実行と結果の確認

活用シーン

  1. 01エージェントが想定したツールを呼ぶか確認
  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 の実験用評価器を作成します。

前提条件

  • Python パッケージ langsmith がインストールされていること
  • 環境変数 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 を使って以下のすべての質問をユーザーにしてください。

1 回の AskUserQuestion 呼び出しで、以下をユーザーに尋ねてください。

  1. Python コマンド:このプロジェクトでは、どのように Python を実行しますか?(例:python、python3、uv run python、poetry run python)
  2. エージェントのファイルパス:エージェントファイルのパスは何ですか?
  3. LangSmith プロジェクト名:トレースが記録される LangSmith プロジェクトの名前は何ですか?
  4. LangSmith データセット名:評価対象のデータセット名は何ですか?
  5. 評価の目標:どのような動作を合格/不合格としますか?一般的な種類は以下のとおりです。
    • ツールの使用:エージェントは正しいツールを呼び出しましたか?
    • 出力の正確性:出力は期待される形式/内容と一致していますか?
    • ポリシーへの準拠:指定されたルールに従いましたか?
    • 分類:正しく分類しましたか?
ステップ 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} をこのスキルのディレクトリパスに置き換えてください。

トレースがエージェントと一致することを確認してください。

  • トレースの種類は一致していますか?(例:OpenAI エージェントに対する OpenAI トレース)
  • 評価に必要なデータが含まれていますか?
  • 一致しない場合は、先に確認してください。

データセットの調査結果から、以下を記録してください。

  • 入力スキーマ(エージェントに渡される内容)
  • 出力スキーマ(参照/期待される出力)
  • メタデータフィールド(例:expected_tool、difficulty、ラベル)

データセットのメタデータには、評価用の正解データが含まれていることがよくあります(例:呼び出すべきツール、期待される分類)。

ステップ 3:エージェントのコードを読む

ステップ 1 で提示されたエージェントファイルを読み、以下を特定します。

  • エントリーポイント関数(@traceable デコレーターを探してください)
  • 利用可能なツール
  • 出力形式(関数が返す内容)
ステップ 4:評価器を作成する

トレースとデータセットの構造に基づいて評価関数を作成します。関数シグネチャと戻り値の形式については、EVALUATOR_REFERENCE.md を参照してください。

ステップ 5:実験ランナーを作成する

以下を行うスクリプトを作成します。

  1. エージェントのエントリー関数をインポートする
  2. それをターゲット関数としてラップする
  3. データセットに対して evaluate() または aevaluate() を実行する

evaluate() の使い方については、EVALUATOR_REFERENCE.md を参照してください。

ステップ 6:実行して反復する

実験を実行し、LangSmith で結果を確認して、必要に応じて評価器を調整します。

コメント