LangChainでCI/CDパイプラインを自動化する、複数AIエージェント制御ガイド2026
このやり方で何ができるか
ソフトウェア開発の現場では、プログラムのテストやデプロイ(インターネット上に公開する作業)などが時間を取られます。LangChain というツールを使い、複数の生成AI を組み合わせることで、これらの手作業を自動化できます。
たとえば、以下のような流れが自動で進められるようになります。
- コードをチェックして問題がないか確認する作業
- テストを実行する作業
- 見つかった問題を別のAIエージェントに割り当てて修正させる作業
- 修正結果を再度テストする作業
複数のエージェント(自動で動く AI 担当者)が、それぞれの役割を分担して進めます。この場合、重要なのは「各エージェントが勝手に動かないようにコントロールすること」です。
準備するもの
必要なソフトウェア
- LangChain - AI同士を連携させるツール。langchain-anthropic バージョン 1.4.3 以降を使うと安定します
- Python 3.8以上 - プログラムを書く環境
- Docker - 危ないコードを安全に実行するための仮想環境ツール
- Claude などの生成AI API - エージェントとして動く AI。APIキーが必要
ファイル・権限の準備
- 開発用のフォルダを新規作成
- API キーを環境変数に設定(キーを直接コードに書かない)
- Docker の基本的な使い方を理解する(約30分の学習が目安)
手順
1. LangChain と Docker の基本を理解する(学習時間:1~2時間)
まず、LangChain がどのように複数のAIを制御するのか理解します。dev.to の記事「Building Multi-agent AI Systems with LangChain Tutorial 2026」では、複数のエージェントを同時に動かす仕組みが解説されています。
各エージェントは以下の役割を持つことが一般的です。
- 検査エージェント - コードの品質をチェック
- テストエージェント - プログラムが正しく動くか確認
- 修正エージェント - 見つかった問題を直す
- レポートエージェント - 結果をまとめる
それぞれが独立して動きますが、次のステップに移る前に「承認」が必要な設計にします。
2. サブエージェント(子の AI 担当者)の制御方法を学ぶ(学習時間:2~3時間)
dev.to の記事「Giving an AI agent permission to spawn sub-agents (without losing control)」で、重要なポイントが説明されています。
制御しないと起こるトラブル:
- サブエージェントが勝手に外部システムへアクセスしようとする
- 予定されていない追加のエージェントが次々と生成される
- セキュリティホール(隙間)が生まれ、不正なアクセスが可能になる
安全な設計のコツ:
- エージェント生成の「許可リスト」を用意(どの処理だけ新しいエージェント作成を許すか)
- 各エージェントの権限を制限(ファイルアクセス範囲、API呼び出し回数など)
- 実行前に「チェックポイント」を挟む
- ログに記録して後から検証できるようにする
3. Docker で安全な実行環境を構築する(設定時間:1~2時間)
dev.to の記事「Run Claude Code’s —dangerously-skip-permissions Safely with Docker」では、Claude のコード実行機能を安全に使う方法が紹介されています。
具体的な進め方:
- プロジェクト用の
Dockerfileを作成 - 「コンテナ内でのみコード実行を許可」という設定にする
- ホストマシン(あなたのパソコン)には影響を与えないようにする
こうすることで、万が一不正なコードが混ざっていても、被害を隔離できます。
4. LangChain でエージェント群を設定する(実装時間:3~5時間)
langchain-anthropic 1.4.3 のリリース内容を確認しながら、以下を実装します。
設定例の流れ:
- 各エージェントのシステムプロンプト(指示文)を用意
- 「あなたはテスト担当です。以下の範囲内でのみ動いてください」という具体的な制限を記す
- エージェント間のデータ受け渡し方法を設計
- 結果を JSON(構造化されたデータ形式)で返すように統一
- メインのオーケストレーター(全体を調整する AI)を構築
- 各エージェントを順番に呼び出し
- 結果を確認してから次に進む
5. CI/CD パイプラインへの組み込み(統合時間:2~4時間)
実際の開発フローに組み込みます。
具体例:
- 開発者がコードを GitHub などに保存
- トリガー(きっかけ)で自動実行開始
- LangChain が複数エージェントを動かす
- テスト結果が問題なければ、自動でデプロイ
- 失敗なら通知が来て、修正を促す
6. 実際に動かしてテストする(テスト時間:2~3時間)
小さなプロジェクトで試します。
- テスト用のコードリポジトリを準備
- エージェントが期待通りに動くか確認
- ログをチェックして、どの段階で何が起こったか把握
- 必要に応じてエージェントの指示を修正
つまずきやすいところ
エージェント間のデータ形式が一致していない
複数のエージェントが返すデータ形式がバラバラだと、次のステップが受け取れません。解決方法は「すべてのエージェントに JSON 形式で返すよう指示する」ことです。
API キーの漏洩リスク
コードに直接キーを書くと、誤って公開リポジトリにアップロードする恐れがあります。環境変数(パソコンの設定に保存)を使って、コードには書かないようにしましょう。
サブエージェントの無限生成
制御機構がないと、エージェントが「さらに新しいエージェントを作ろう」と勝手に判断し続けます。必ず「許可リスト方式」で「このケースだけ許す」と限定します。
Docker コンテナの初期設定が複雑
初めはシンプルな設定から始め、徐々に機能を追加する方が学習しやすいと思われます。
ログが膨大になる
すべての動作を記録すると、ファイルサイズが大きくなります。重要な段階だけ詳細ログを取り、細かい部分は簡潔に記録するメリハリが大事です。
慣れてきたら試したいこと
条件分岐の組み込み
「テスト結果が OK なら修正不要」「エラーの種類によって割り当てるエージェントを変える」など、より複雑な判断をエージェントに任せます。
複数のプロジェクトに対応させる
異なるプログラミング言語やフレームワーク(開発の枠組み)に対応する、別々のエージェント構成を用意します。
リアルタイムモニタリング
エージェントの動作をダッシュボード(監視画面)で見守り、問題が起きたらすぐ人間が介入できる仕組みを作ります。
キャッシュ機能の活用
同じテストを繰り返す場合、前回の結果を保存しておくことで、処理速度を上げられます。
コスト最適化
生成AI の呼び出し回数を減らす工夫。たとえば、簡単な判定は従来のプログラム(ルールベース)で済ませ、複雑な判断だけ AI に頼ります。