Coding Agentで統合テストを行う / W&B Skills

なぜ統合テストが必要なのか

前の章では、lintやtypecheckによって、コードが静的に壊れていないことを確認しました。しかし、lintが通っていても、アプリケーションが期待どおりに動くとは限りません。単体テストで各コンポーネントの正当性を確認したあとは、統合テストを通じて、各モジュール間の連携や外部システムとのインターフェースが正しく機能しているかを検証します。

AI Agentでは、LLM、検索、DB、外部API、認証、ログ、UIなどが組み合わさって動きます。個々の部品が正しくても、それらをつないだときに期待どおりに動かなければ、最終的な品質評価は信頼できません。

WeaveでAgentの振る舞いをtrackする

AI Agentの統合テストでは、最終的な回答でなく、その回答に至るまでの経路を見ることが重要です。

統合テストが失敗したときに知りたいのは、「どこでどのように壊れたのか」です。入力の受け取り、前処理、ツール呼び出し、外部APIとの接続、LLMへの入力、後続処理のどこで期待とずれたのかが見えなければ、直すことができません。

OpenAIのHarness Engineeringの記事でも、Coding AgentがアプリケーションのUI、ログ、メトリクス、トレースを直接読めるようにすることの重要性が語られています。これは統合テストでも同じです。テストを実行するだけでなく、実行中に何が起きたのかをAgentが読める形で残すことが重要です。

W&B Weaveを利用することで、Agentの実行経路をtraceとして残しておきます。traceがあれば、テストが失敗したときに、単に「失敗した」と見るのではなく、どの入力が渡され、どの処理を通り、どのツールや外部APIが呼ばれ、どの出力が返ったのかを確認できます。

Weaveでは、実行中のコードをtraceとして記録できます。Trace viewでは、プロジェクトのTracesタブからtraceを開き、入力、出力、実行時間、opの階層、feedback、scoresなどを確認できます。つまり、Agentが何を入力として受け取り、どの処理を通り、どのツールを呼び、どの出力を返したのかを後から追えるようになります。

W&B Skillsでtraceを取り出してdebugする

エラーがあった際に、WeaveのUIでtraceを見ながら原因を調べてもよいです。一方で、Coding Agentに直接traceの内容を読ませ、どこで問題が起きているかを調べさせることもできます。それを可能にするのがW&B Skillsです。

W&B Skillsは、W&Bを効果的に使う方法をCoding Agentに教える再利用可能な命令セットです。Claude Code、Codex、Cursor、GitHub Copilot、Gemini CLIなどで動作します。

W&B Skillsを利用することで、次のような作業をCoding Agentに任せやすくなります。

  • AI Agentにtraceを入れる
  • traceを分析し、失敗モードを分類する
  • ラベル付きデータセットでモデルを評価する
  • 本番監視のためのonline evaluationを実行する

つまり、統合テストで問題が出たときに、Coding Agentへ「Weaveのtraceを見て、どの段階で壊れているか確認してください」と依頼しやすくなります。

W&B Skillsの使い方

W&B Skillsを使うには、Node.js、W&B APIキー、必要に応じてW&Bプロジェクト名を設定します。

export WANDB_API_KEY=<your-api-key>
export WANDB_PROJECT=<your-team-name/your-project-name>

プロジェクトにW&B Skillsを入れる場合は、次のように実行します。

npx skills add wandb/skills --skill '*' --yes

グローバルに入れる場合は、--globalを付けます。

npx skills add wandb/skills --skill '*' --yes --global

補足: 既存アプリにWeave tracingを追加したい場合

既存アプリへWeave tracingを後付けするためのskillとして、wandb/weave-integration-skillsもあります。このskillは、既存コードを分析し、trace対象を洗い出し、ユーザー承認を挟みながらWeave instrumentationを追加する流れを想定しています。

なお、W&Bには、W&B MCP Serverもあります。これは、IDEやAI AgentをW&B Model Context Protocol Serverに接続し、Workspaceのデータやドキュメントにアクセスできるようにする仕組みです。W&Bからの情報抽出に柔軟性を持たせたい場合は、W&B Skillsを利用し、決まった挙動を期待する場合はW&B MCP Serverをご利用ください。

統合テストでの実践フロー

統合テストを実行した際に、WeaveにAgentの入力、処理、tool call、外部API呼び出し、出力がtraceとして残るようにしておくと、Coding AgentにW&B Skillsを利用させ、次の流れでdebugをさせることができます。

  1. 1統合テストの実行
  2. 2テストが失敗したら、Coding AgentがW&B Skillsを使って関連traceを読み取らせる
  3. 3Coding Agentが、入力、前処理、tool call、外部API、後続処理のどこで問題が起きたかを分類
  4. 4Coding Agentが、原因になっている実装を修正
  5. 5Coding Agentが統合テストを再実行し、traceとテスト結果を確認

この流れにすると、統合テストは単なるpass/failではなく、Coding Agentが自分で原因を調べて直すためのdebug loopになります。Weaveにtraceが残り、W&B Skillsでそれを読めることで、Coding Agentは「何が起きたか」を見ながら修正できます。

reference