業務での使い方 2026.05.04

LangChainでCI/CDパイプラインを自動化する、複数AIエージェント制御ガイド2026

タグ:LangChain / マルチエージェント / CI/CD自動化 / 生成AI / 開発ワークフロー

このやり方で何ができるか

ソフトウェア開発の現場では、プログラムのテストやデプロイ(インターネット上に公開する作業)などが時間を取られます。LangChain というツールを使い、複数の生成AI を組み合わせることで、これらの手作業を自動化できます。

たとえば、以下のような流れが自動で進められるようになります。

  • コードをチェックして問題がないか確認する作業
  • テストを実行する作業
  • 見つかった問題を別のAIエージェントに割り当てて修正させる作業
  • 修正結果を再度テストする作業

複数のエージェント(自動で動く AI 担当者)が、それぞれの役割を分担して進めます。この場合、重要なのは「各エージェントが勝手に動かないようにコントロールすること」です。

準備するもの

必要なソフトウェア

  • LangChain - AI同士を連携させるツール。langchain-anthropic バージョン 1.4.3 以降を使うと安定します
  • Python 3.8以上 - プログラムを書く環境
  • Docker - 危ないコードを安全に実行するための仮想環境ツール
  • Claude などの生成AI API - エージェントとして動く AI。APIキーが必要

ファイル・権限の準備

  1. 開発用のフォルダを新規作成
  2. API キーを環境変数に設定(キーを直接コードに書かない)
  3. 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)」で、重要なポイントが説明されています。

制御しないと起こるトラブル:

  • サブエージェントが勝手に外部システムへアクセスしようとする
  • 予定されていない追加のエージェントが次々と生成される
  • セキュリティホール(隙間)が生まれ、不正なアクセスが可能になる

安全な設計のコツ:

  1. エージェント生成の「許可リスト」を用意(どの処理だけ新しいエージェント作成を許すか)
  2. 各エージェントの権限を制限(ファイルアクセス範囲、API呼び出し回数など)
  3. 実行前に「チェックポイント」を挟む
  4. ログに記録して後から検証できるようにする

3. Docker で安全な実行環境を構築する(設定時間:1~2時間)

dev.to の記事「Run Claude Code’s —dangerously-skip-permissions Safely with Docker」では、Claude のコード実行機能を安全に使う方法が紹介されています。

具体的な進め方:

  1. プロジェクト用の Dockerfile を作成
  2. 「コンテナ内でのみコード実行を許可」という設定にする
  3. ホストマシン(あなたのパソコン)には影響を与えないようにする

こうすることで、万が一不正なコードが混ざっていても、被害を隔離できます。

4. LangChain でエージェント群を設定する(実装時間:3~5時間)

langchain-anthropic 1.4.3 のリリース内容を確認しながら、以下を実装します。

設定例の流れ:

  1. 各エージェントのシステムプロンプト(指示文)を用意
    • 「あなたはテスト担当です。以下の範囲内でのみ動いてください」という具体的な制限を記す
  2. エージェント間のデータ受け渡し方法を設計
    • 結果を JSON(構造化されたデータ形式)で返すように統一
  3. メインのオーケストレーター(全体を調整する AI)を構築
    • 各エージェントを順番に呼び出し
    • 結果を確認してから次に進む

5. CI/CD パイプラインへの組み込み(統合時間:2~4時間)

実際の開発フローに組み込みます。

具体例:

  1. 開発者がコードを GitHub などに保存
  2. トリガー(きっかけ)で自動実行開始
  3. LangChain が複数エージェントを動かす
  4. テスト結果が問題なければ、自動でデプロイ
  5. 失敗なら通知が来て、修正を促す

6. 実際に動かしてテストする(テスト時間:2~3時間)

小さなプロジェクトで試します。

  1. テスト用のコードリポジトリを準備
  2. エージェントが期待通りに動くか確認
  3. ログをチェックして、どの段階で何が起こったか把握
  4. 必要に応じてエージェントの指示を修正

つまずきやすいところ

エージェント間のデータ形式が一致していない

複数のエージェントが返すデータ形式がバラバラだと、次のステップが受け取れません。解決方法は「すべてのエージェントに JSON 形式で返すよう指示する」ことです。

API キーの漏洩リスク

コードに直接キーを書くと、誤って公開リポジトリにアップロードする恐れがあります。環境変数(パソコンの設定に保存)を使って、コードには書かないようにしましょう。

サブエージェントの無限生成

制御機構がないと、エージェントが「さらに新しいエージェントを作ろう」と勝手に判断し続けます。必ず「許可リスト方式」で「このケースだけ許す」と限定します。

Docker コンテナの初期設定が複雑

初めはシンプルな設定から始め、徐々に機能を追加する方が学習しやすいと思われます。

ログが膨大になる

すべての動作を記録すると、ファイルサイズが大きくなります。重要な段階だけ詳細ログを取り、細かい部分は簡潔に記録するメリハリが大事です。

慣れてきたら試したいこと

条件分岐の組み込み

「テスト結果が OK なら修正不要」「エラーの種類によって割り当てるエージェントを変える」など、より複雑な判断をエージェントに任せます。

複数のプロジェクトに対応させる

異なるプログラミング言語やフレームワーク(開発の枠組み)に対応する、別々のエージェント構成を用意します。

リアルタイムモニタリング

エージェントの動作をダッシュボード(監視画面)で見守り、問題が起きたらすぐ人間が介入できる仕組みを作ります。

キャッシュ機能の活用

同じテストを繰り返す場合、前回の結果を保存しておくことで、処理速度を上げられます。

コスト最適化

生成AI の呼び出し回数を減らす工夫。たとえば、簡単な判定は従来のプログラム(ルールベース)で済ませ、複雑な判断だけ AI に頼ります。

参考ソース