0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Open-SWE入門 — Stripe・Coinbase発の自律型コーディングエージェントを構築する

0
Last updated at Posted at 2026-03-22

Open-SWEの概要 — GitHub IssueからPRまで4エージェントが自律処理

はじめに

LangChainが2026年3月17日にリリースした Open-SWE は、Stripe(Minions)、Coinbase(Cloudbot)、Ramp(Inspect)といったエリートエンジニアリングチームが独自に構築した社内コーディングエージェントのアーキテクチャパターンをオープンソース化したフレームワークである。GitHub Issueにラベルを付けるだけで、コードベースの調査から実装、テスト、PRの作成までを自律的に完了する。

この記事では、Open-SWEのアーキテクチャ、セットアップ手順、カスタマイズ方法を公式ドキュメントに基づいて解説する。

この記事で学べること

  • Open-SWEの4エージェントアーキテクチャと7つの設計原則
  • ホスト版(swe.langchain.com)とセルフホスト版の構築手順
  • GitHub・Slack・Linearとの統合方法
  • AGENTS.mdによるリポジトリレベルのコンテキスト注入
  • サンドボックスプロバイダ・モデル・ツールのカスタマイズ

対象読者

  • AIコーディングエージェントの導入を検討しているエンジニア
  • LangChain / LangGraphを使ったエージェント開発に関心がある方
  • 社内の開発ワークフロー自動化を推進したい方

TL;DR

  • Open-SWEはStripe・Coinbase・Rampが独立して構築した社内コーディングエージェントのパターンをOSS化したフレームワーク
  • Manager → Planner → Programmer → Reviewerの4エージェント構成で、GitHub IssueからPR作成まで自律実行
  • Deep Agents + LangGraph基盤で、サンドボックスプロバイダ・モデル・ツールはすべてプラガブル
  • MITライセンスでセルフホスト可能、ホスト版は swe.langchain.com で即利用可能

Open-SWEの4エージェントアーキテクチャ

Open-SWEが生まれた背景

Stripe、Coinbase、Rampはそれぞれ独立して社内コーディングエージェントを構築した。StripeはMinions、RampはInspect、CoinbaseはCloudbot。LangChainのブログによると、これらのチームがたどり着いたアーキテクチャには共通パターンが見られた。

  • 隔離されたサンドボックス での実行
  • 専門化されたエージェント による分業(計画・実装・レビュー)
  • 非同期・クラウドネイティブ な実行モデル
  • リアルタイムのフィードバック 受付

Open-SWEはこれらの共通パターンを抽出し、どの組織でも自社のコーディングエージェントを構築できるフレームワークとして公開された。GitHubリポジトリ(langchain-ai/open-swe)は公開後に数千スターを獲得し、注目度の高さがうかがえる。

7つの設計原則

Open-SWEの公式ドキュメントでは、フレームワークの設計を7つの柱(Architectural Pillars)として整理している。

1. Agent Harness(Deep Agents基盤)

Open-SWEは既存のエージェントフレームワークをフォークするのではなく、LangChainのDeep Agentsライブラリ上に コンポーズ する設計を採用している。Deep Agentsはファイルベースのメモリ管理、write_todos による計画プリミティブ、task ツールによるサブエージェント隔離、ミドルウェアフックを提供する。Deep Agentsの改善(コンテキスト圧縮、プロンプトキャッシング、計画効率化など)はOpen-SWEにそのまま反映される。

2. Sandbox Strategy(隔離実行)

すべてのタスクは専用のクラウドサンドボックス(リモートLinux環境)で実行される。設計原則は「まず隔離し、境界内ではフル権限を与える」である。これにより、エージェントが本番システムに影響を与えるリスクを排除しつつ、シェルコマンドの実行に逐一承認を求める必要がなくなる。

3. Tool Curation(厳選されたツールセット)

約15個のツールが提供される。

ツール 用途
execute サンドボックス内でシェルコマンドを実行
fetch_url WebページをMarkdownとして取得
http_request API呼び出し(GET / POST等)
commit_and_open_pr Git操作とGitHub PR自動作成
linear_comment Linearチケットへのコメント
slack_thread_reply Slackスレッドへの返信

これに加え、Deep Agentsの組み込みツール(read_filewrite_fileedit_filelsglobgrepwrite_todostask)が利用できる。

4. Context Engineering(コンテキスト設計)

2層のコンテキスト収集を行う。

  • リポジトリレベル: ルートに配置した AGENTS.md がシステムプロンプトに自動注入される。コーディング規約、テスト要件、アーキテクチャの決定事項を記述できる
  • タスクレベル: LinearのIssue全文やSlackスレッドの履歴がエージェント実行前に組み立てられる

5. Orchestration(オーケストレーション)

task ツールでサブエージェントを生成し、隔離されたコンテキストで実行する。これにより、メインの会話履歴がタスク固有の詳細で汚染されるのを防ぐ。ミドルウェアシステムでは check_message_queue_before_model(ランタイムでのユーザーフィードバック注入)や open_pr_if_needed(PR作成の安全ネット)などの確定的フックが動作する。

6. Invocation Surfaces(起動インターフェース)

3つの経路からタスクを起動できる。

  • Slack: ボットメンション + repo:owner/name 構文
  • Linear: コメントメンション(Issue全文のコンテキスト取得付き)
  • GitHub: IssueラベルによるトリガーまたはPRコメントでのレビューフィードバック

7. Validation(検証)

エージェントはコミット前にリンター、フォーマッター、テストを実行する。さらにミドルウェアが安全ネットとして機能し、エージェントが手動でPRを作成しなかった場合に自動でPRを生成する。

GitHub統合フロー — IssueからPR作成まで

4エージェントアーキテクチャ

Open-SWEのコアは、LangGraphで制御される4つの専門エージェントの直列パイプラインである。

Manager

エントリポイントとして、ユーザーとのインタラクションとタスクのルーティングを担当する。Slack・Linear・GitHubからのメッセージを受け取り、適切なワークフローに振り分ける。

Planner

リクエストを分析し、コードベースを調査して実行計画を作成する。計画はユーザーが手動でレビュー・編集・承認できる(Human-in-the-Loop制御)。

Programmer

サンドボックス環境内で計画に沿ったコーディングを実行する。シェルコマンド、ファイル操作、API呼び出しなどのツールを駆使して実装を進める。

Reviewer

サブエージェントとしてコード品質を分析する。リンター・フォーマッター・テストの実行結果を検証し、一般的なエラーパターンを検出する。問題がなければPR作成に進む。

この分業により、単一のモノリシックなエージェントでは難しい「計画の質」と「実装の質」の両立が可能になる。

セットアップ手順

ホスト版(即時利用)

最も手軽な方法として、LangChainがホストする swe.langchain.com が利用できる。

  1. swe.langchain.com にアクセスし、GitHubアカウントを接続
  2. 対象リポジトリを選択
  3. 設定画面でAnthropic APIキーを入力
  4. UIからタスクを作成するか、GitHub Issueに open-swe-auto ラベルを付与

セルフホスト版

エンタープライズ向けには、LangGraph APIサーバーまたはLangGraph Platformのセルフホスティングオプションが提供されている。

from open_swe import create_deep_agent

agent = create_deep_agent(
    model="anthropic:claude-opus-4-6",
    system_prompt=construct_system_prompt(repo_dir, ...),
    tools=[
        http_request,
        fetch_url,
        commit_and_open_pr,
        linear_comment,
        slack_thread_reply,
    ],
    backend=sandbox_backend,
    middleware=[
        ToolErrorMiddleware(),
        check_message_queue_before_model,
    ],
)

上記は公式リポジトリに掲載されているエージェント生成のコード例である。model にはデフォルトでClaude Opus 4が指定されているが、任意のLLMプロバイダに変更できる。

セットアップの詳細は、GitHubリポジトリの INSTALLATION.md(GitHub App作成、LangSmith設定、各トリガー設定、本番デプロイ)と CUSTOMIZATION.md(サンドボックス・モデル・ツール・トリガー・プロンプト・ミドルウェアの差し替え)に記載されている。

Open-SWE vs 既存AIコーディングツールの機能比較

GitHub統合の仕組み

Open-SWEのGitHub統合は、日常の開発ワークフローに自然に組み込める設計になっている。

Issueラベルによる自動起動

GitHub Issueに open-swe-auto などの指定ラベルを付けると、Open-SWEが自動でタスクを開始する。Webhookの設定により、ラベル付与イベントがOpen-SWEのバックエンドに通知される。

進捗のトラッキング

タスク開始後、Open-SWEはGitHub Issue内にトラッキング用のコメントを自動投稿し、ステータスを更新する。進行中のエージェントに対してコメントでフィードバックを送ることも可能である(リアルタイムインタラクション)。

PR自動作成

実装とレビューが完了すると、Open-SWEはドラフトPRを自動作成する。確定的なスレッドIDにより、フォローアップメッセージは同じエージェントインスタンスにルーティングされる。PRコメントでエージェントをメンションすると、レビュー指摘への対応も自動で行われる。

AGENTS.mdによるカスタマイズ

リポジトリのルートに AGENTS.md ファイルを配置すると、その内容がエージェントのシステムプロンプトに自動注入される。公式ドキュメントでは、これを「Stripeのルールファイルに相当するリポジトリレベルの設定」と位置づけている。

# AGENTS.md

## コーディング規約
- TypeScriptではstrictモードを使用
- テストはVitestで記述

## アーキテクチャ
- src/api/ 以下はREST APIエンドポイント
- src/services/ 以下はビジネスロジック

## テスト要件
- 新規関数には必ずユニットテストを追加
- E2Eテストは src/e2e/ に配置

この仕組みにより、組織固有のコーディング規約やアーキテクチャ上の決定事項をエージェントに一貫して適用できる。

プラガブルなコンポーネント設計

Open-SWEの大きな特徴は、主要コンポーネントがすべてプラガブル(差し替え可能)である点にある。

コンポーネント デフォルト カスタマイズ例
サンドボックス Daytona Modal、Runloop、LangSmith、独自実装
モデル Claude Opus 4 任意のLLMプロバイダ(サブタスクごとに異なるモデルも可)
ツール 約15個の標準ツール 社内API、デプロイシステム、モニタリング基盤との連携追加
トリガー Slack / Linear / GitHub カスタムWebhook
ミドルウェア メッセージキュー確認、PR安全ネット 独自の確定的フック

MITライセンスのため、商用利用も含めて自由にカスタマイズできる。

リアルタイムインタラクション

多くのコーディングエージェントは、実行中に新しいリクエストやフィードバックを受け付けられない。Open-SWEではミドルウェアの check_message_queue_before_model がモデル呼び出し前にメッセージキューを確認するため、実行中のエージェントに対して仕様変更や追加要件を送信できる。エージェントはそのフィードバックをアクティブなセッションにスムーズに統合する。

この「ダブルテキスティング」機能により、エージェントを停止・再起動することなく軌道修正が可能になる。

既存ツールとの比較

Open-SWEはCodex、Claude Code、Cursorといった既存のAIコーディングツールとは異なるポジションにある。

非同期・クラウドネイティブ: ローカルマシンのリソースを消費せず、複数タスクを並列実行できる。朝にタスクリストを割り当て、午後にPR一覧を確認するワークフローが成立する。

マルチエージェント分業: 単一モデルによる逐次処理ではなく、計画・実装・レビューの各フェーズに専門エージェントを配置する。

セルフホスト可能: エンタープライズ環境で自社インフラ上に展開できる。コードが外部に送信されることへの懸念を解消する。

フレームワークとしての提供: 完成品のツールではなく、カスタマイズ可能なフレームワークとして提供される。自社の開発ワークフロー、ツールチェーン、セキュリティ要件に合わせた拡張が前提となっている。

一方で、公式ブログでは「複雑で長時間の実行が必要なタスクに適しており、シンプルな1行の修正には向いていない」とも述べられている。ローカルCLI版は開発中とのことである。

まとめ

Open-SWEは、大手テック企業が独自に構築してきた社内コーディングエージェントのアーキテクチャパターンを、MITライセンスのOSSとして民主化するフレームワークである。

  • 4エージェント分業 でコード品質を担保(Manager → Planner → Programmer → Reviewer)
  • 7つの設計原則 に基づくモジュラーアーキテクチャ
  • GitHub・Slack・Linear との統合で既存ワークフローに自然に組み込み可能
  • すべてのコンポーネントがプラガブル でエンタープライズ要件に対応

AIコーディングエージェントを自社の開発プロセスに導入する際の出発点として、Open-SWEのアーキテクチャは参考になる。まずはホスト版(swe.langchain.com)で動作を確認し、要件に応じてセルフホスト版への移行を検討するのが現実的な導入パスである。

参考リンク

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?