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統合テストの実行
- 2テストが失敗したら、Coding AgentがW&B Skillsを使って関連traceを読み取らせる
- 3Coding Agentが、入力、前処理、tool call、外部API、後続処理のどこで問題が起きたかを分類
- 4Coding Agentが、原因になっている実装を修正
- 5Coding Agentが統合テストを再実行し、traceとテスト結果を確認
この流れにすると、統合テストは単なるpass/failではなく、Coding Agentが自分で原因を調べて直すためのdebug loopになります。Weaveにtraceが残り、W&B Skillsでそれを読めることで、Coding Agentは「何が起きたか」を見ながら修正できます。