langsmith-code-eval について
LangSmith のデータセットを使って評価器を作成し、実験を実行するスキルです。Python エージェントのテストを行うチーム向けに、トレースとデータセットの調査から評価器の実装、結果の改善までを案内します。
主な機能
- 01プロジェクトと評価内容の確認
- 02LangSmith のトレースとデータセットの調査
- 03エージェントのエントリーポイントとツールの確認
- 04評価器と実験ランナーの作成
- 05実験の実行と結果の確認
活用シーン
- 01エージェントが想定したツールを呼ぶか確認
- 02出力を期待される内容や形式と照合
- 03ポリシー遵守や分類結果を評価
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ langchain-ai/ lca-skills --skill langsmith-code-evalインストール後、Claude Code で/langsmith-code-evalを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
EVALUATOR_REFERENCE.mdscripts/inspect_dataset.pyinspect_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 呼び出しで、以下をユーザーに尋ねてください。
- Python コマンド:このプロジェクトでは、どのように Python を実行しますか?(例:
python、python3、uv run python、poetry run python) - エージェントのファイルパス:エージェントファイルのパスは何ですか?
- LangSmith プロジェクト名:トレースが記録される LangSmith プロジェクトの名前は何ですか?
- LangSmith データセット名:評価対象のデータセット名は何ですか?
- 評価の目標:どのような動作を合格/不合格としますか?一般的な種類は以下のとおりです。
- ツールの使用:エージェントは正しいツールを呼び出しましたか?
- 出力の正確性:出力は期待される形式/内容と一致していますか?
- ポリシーへの準拠:指定されたルールに従いましたか?
- 分類:正しく分類しましたか?
ステップ 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:実験ランナーを作成する
以下を行うスクリプトを作成します。
- エージェントのエントリー関数をインポートする
- それをターゲット関数としてラップする
- データセットに対して
evaluate()またはaevaluate()を実行する
evaluate() の使い方については、EVALUATOR_REFERENCE.md を参照してください。
ステップ 6:実行して反復する
実験を実行し、LangSmith で結果を確認して、必要に応じて評価器を調整します。