Open SWE は、組織の内部非同期コーディング エージェントを構築するためのオープンソース フレームワークです。開発者は、Slack、Linear、または GitHub でボットについて言及できます。このサービスは、問題/スレッドのコンテキストを組み立て、永続的なクラウド サンドボックスを作成し、リポジトリのクローンを作成し、コードを計画および編集し、コマンドを実行し、ブランチにコミットし、ドラフト プル リクエストを開くか更新します。
インストール後に安全になるホスト型コーディング サービスではありません。 Open SWE は、LangGraph および Deep Agents に基づいて構築されたリファレンス アーキテクチャです。オペレーターは、モデルとサンドボックス プロバイダーを選択し、GitHub/Slack/Linear アプリケーションを作成し、デプロイメントを保護し、リポジトリとトークンをスコープし、決定論的検証を追加し、ネットワーク アクセスを制御し、結果として得られるすべてのプル リクエストを所有する必要があります。
エンドツーエンドのアーキテクチャ
| レイヤー | 公開された役割 | オペレーターが所有する決定 |
|---|---|---|
| 呼び出し | Slack メンション、Linear コメント、または GitHub PR コメント | 誰がどのリポジトリをどれくらいのコストでトリガーできるか |
| コンテキスト | AGENTS.md と完全な問題またはスレッド履歴 | どのコンテンツが信頼できるか、編集されているか、またはプロンプト挿入が起こりやすいか |
| ハーネス | Deep Agents は LangGraph 内で構成されています | モデル、システム プロンプト、ツール、ミドルウェア、および呼び出し制限 |
| サンドボックス | タスクごとの永続的なリモート Linux 環境 | プロバイダー、イメージ、出力、有効期間、リソース、およびデータの場所 |
| ツール | シェル、ファイル、HTTP、Slack、Linear、GitHub、およびオプションの可観測性 | 最小権限、副作用の承認、秘密の境界線 |
| オーケストレーション | サブエージェントと決定論的なミドルウェア フック | 同時実行性、バジェット、共有状態、およびエラー処理 |
| 配送 | コミット、プッシュ、ドラフト PR、およびソースチャネル応答 | CI、レビュー担当者、マージポリシー、デプロイメントの分離 |
サンドボックスは外部権限ではなくホストのリスクを軽減します
リポジトリによると、各タスクは完全なシェル権限があり、確認プロンプトのない分離されたクラウド サンドボックスを受け取り、Modal、Daytona、Runloop、E2B、LangSmith サンドボックスをサポートします。別のサンドボックスはファイルシステムとプロセスの競合を制限しますが、爆発範囲が「完全に封じ込められる」という README の文言を文字通りに扱うべきではありません。
エージェントは、ネットワーク出力、リポジトリ権限、パッケージ レジストリ アクセス、および外部 API を持つことができます。ソースの流出、モデルのクレジットの書き込み、有害なプル リクエストのオープン、トークンの悪用、サンドボックスからアクセス可能な内部サービスの攻撃などを行う可能性があります。サンドボックス プロバイダーのコントロール プレーンの侵害は、タスクの境界を越える可能性もあります。封じ込めには、出力ポリシー、有効期間の短い認証情報、クォータ、プロバイダーの分離、および独立したマージ/デプロイ ゲートが必要です。
| リスク | サンドボックスが役立ちます | 必要なコンパニオンコントロール |
|---|---|---|
| 破壊的なシェルコマンド | ローカルディスク/プロセスへのダメージを使い捨て環境に限定 | プロダクションマウントはありません。リソースと時間の制限とクリーンな分解 |
| 悪意のある依存関係 | タスクを開発者のラップトップから分離します | ロックファイル、レジストリ許可リスト、スキャンおよび制限された出力 |
| GitHub トークンの悪用 | トークンが外部アクションを許可する場合はほとんどありません | リポジトリおよびブランチ操作に限定されたプロキシ/スコープ指定アプリ トークン |
| 即時注入 | ホストの侵害を制限する可能性がある | 信頼ラベル、ツールポリシー、機密システムの拒否 |
| 不正なコード | 分離されたランタイムでのテストが可能 | 決定論的なCI、セキュリティレビュー、保護されたブランチ |
| データ漏洩 | ローカルワークステーションのデータを分離します | プロバイダー/データのレビュー、編集、送信先の制御 |
問題とチャットのテキストは信頼できない指示です
Open SWE は、完全な Linear 問題または Slack スレッドをエージェント コンテキストに挿入します。これによりタスクの理解は向上しますが、直接のプロンプト挿入パスが作成されます。外部レポーターまたはコピーされたログは、エージェントに秘密を明らかにしたり、悪意のある URL をフェッチしたり、無関係なコードを変更したりするよう指示する可能性があります。 AGENTS.md はより権限がありますが、侵害されたブランチが変更できるリポジトリ コンテンツでもあります。
出所と信頼レベルによってコンテンツをマークします。システム ポリシー、組織ルール、および承認されたリポジトリ設定は、チケットの説明、コメント、ログ、Web ページ、およびコード文字列よりも優先される必要があります。信頼できない投稿者が可観測性ツールや内部データ ツールを使用して実行をトリガーさせないでください。現在のプロジェクトでは、オプションの Datadog/LangSmith ツールを許可されたユーザーに明示的に制限しています。その境界を保存してテストします。
ツールのキュレーションと認証情報
デフォルトのツールセットには、シェルの実行、ファイル操作、URL フェッチ、任意の HTTP リクエスト、Linear 検索/コメント、および Slack 反応/返信が含まれます。 GitHub の操作をプロキシすることができるため、サーバーが承認されたリクエストを実行している間、サンドボックスはダミー トークンを認識します。オプションの Datadog、LangSmith、および Corridor ツールはサーバー側で実行され、これらの資格情報がサンドボックスから除外されます。
| ツールグループ | 最低限の許可 | リスクの高い誤用 |
|---|---|---|
| GitHub | コードを読みます。 1 つのタスク ブランチをプッシュします。 PR ドラフトを開く/更新する | 保護、シークレット、リリース、またはその他のブランチの変更 |
| Slack/Linear | トリガーとなったスレッド/問題を読み、そこに返信します | 機密のディスカッションや大量メッセージの検索 |
| HTTP/フェッチ | 可能な場合は公開ドキュメントの許可リストに登録される | SSRF、メタデータ アクセス、抽出、および敵対的なページの指示 |
| 可観測性 | 読み取り専用の範囲指定されたサービスと許可されたユーザー | ログ/トレースに埋め込まれた顧客データまたは秘密の漏洩 |
| シェル | リソースが制限されたサンドボックス内でのみ完全な制御が可能 | フォークボム、クリプトマイニング、ネットワークスキャンまたは永続化 |
| サブエージェント | 親と同じかそれより狭い権限 | コスト、競合、ツール呼び出しの増大 |
検証はデフォルトの最大のギャップです
README では、検証はプロンプト主導型であると説明されています。エージェントは、コミットする前にリンター、フォーマッタ、およびテストを実行するように指示されます。指示は強制力ではありません。エージェントは、高価なテストをスキップしたり、出力を読み間違えたり、テストを弱めたり、動作を嘲笑したり、タイムアウト後に成功を主張したりする可能性があります。プロジェクト自体は、決定論的 CI、視覚的検証、またはレビュー ゲートを追加することを推奨しています。
受け入れをモデルループの外に移動します。必要なコマンドが新しい環境で実行され、予期される機械可読な結果が返されるまで、サービスはタスクに成功のマークを付けるべきではありません。エージェントは、ワークフローの変更が別途レビューされない限り、自身のパス状態を決定するワークフローを編集してはなりません。
| ゲート | 独立した証拠 | 障害ポリシー |
|---|---|---|
| 範囲 | 変更されたパスと問題の許可リストとの比較 | PR 更新をブロックするか、人的例外を要求する |
| ビルド/タイプチェック | 新しいチェックアウト コマンドと終了コード | ログを添付して未完了としてマークする |
| テスト | 必要なスイートと変更されたテストのレビュー | 期待値をサイレントに編集する再試行ループはありません |
| セキュリティ | 依存関係、秘密および静的分析スキャナー | 検疫所見;決して自動で却下しないでください |
| ビジュアル | 定義されたルート/ビューポートでのスクリーンショットの比較 | 意味のある差分に対する人間の承認 |
| レビュー可能性 | 差分サイズ、概要、リスク、およびロールバックのフィールド | 大規模な変更または複合的な懸念の変更を分割する |
永続スレッドにはライフサイクル ルールが必要です
フォローアップ Slack/Linear メッセージは、同じ決定論的スレッドと永続的なサンドボックスにルーティングされます。これによりコンテキストが保存されますが、侵害された状態、古いブランチ、ダウンロードされたシークレット、暴走プロセスも保存される可能性があります。最大ライフタイム、アイドル タイムアウト、ディスク クォータ、および「クリーン テンプレートから再作成」パスを定義します。数週間後にチケットを再度開いた場合、パッチが適用されていない古い環境を黙って再開するべきではありません。
ミドルウェアは、次のモデル呼び出しの前に、キューに入れられたメッセージを挿入します。どのメッセージがタスクを変更したか、誰が送信したか、範囲が拡張されたかどうかを記録します。フォローアップで新しいリポジトリ、外部システム、または運用アクションが要求された場合は、それを通常の会話コンテキストとして扱うのではなく、新しい承認決定を作成します。
サブエージェント: 非線形コストを伴う有用な並列処理
Deep Agents は、独自のミドルウェア、ToDo リスト、およびファイル操作を備えた子エージェントを生成できます。これらは、テストの検索、API の比較、または制限された差分の確認など、独立した読み取り負荷の高い作業にのみ使用してください。 1 つのブランチ内の複数のライターが仮定を上書きし、より大規模で一貫性の低い変更を作成する可能性があります。
- 最大子の数、モデル呼び出しの制限、トークンの予算、および実時間の期限を設定します。
- 重複しないファイルを割り当てるか、編集をシリアル化するために 1 つの親を必要とします。
- 子の権限は親よりも広くならないようにしてください。
- すべての子供に、散文的な結論だけでなく、証拠と不確実性を返させるようにします。
- コスト測定のために、すべての子アクティビティを元のタスクに請求します。
デプロイメントと依存関係の選択
Open SWE では、Python パッケージのインストールだけではなく、バックエンド、ダッシュボード、LangGraph/LangSmith サービス、GitHub App/OAuth、呼び出し統合、サンドボックス プロバイダー、モデル資格情報、運用ホスティングなども必要になります。コードは MIT ライセンスを取得していますが、クラウド サンドボックス、モデル、可観測性、およびメッセージング プラットフォームには別の価格設定とデータ条件があります。
Open SWE コミットとすべての依存関係ロックを固定します。アプリケーション シークレットをマネージド シークレット システムに保存し、Webhook シークレットをローテーションし、署名を検証し、リプレイされたイベントを拒否します。開発インストールと運用インストールを分離します。パブリック Webhook と強力な GitHub App は魅力的なターゲットです。
タスクの選択
| タスク | 適合性 | 理由 |
|---|---|---|
| 機械的な API 移行 | 優秀なパイロット | 明確なパターン、制限されたファイル、決定論的テスト |
| 不足している単体テストを追加する | レビュー付きで良かった | 研究は有益ですが、テストでは間違った動作がエンコードされる可能性があります |
| 依存関係の更新 | 条件付き | 変更ログ、セキュリティ、互換性のレビューが必要 |
| 製品の特徴が曖昧 | 初期フィット感が悪い | 要件とUXの判断がコーディングを支配する |
| 認証の再設計 | 高リスク | セキュリティ アーキテクチャには責任ある専門知識が必要です |
| 製造上のインシデント | 自律的適合性が低い | 時間のプレッシャーと現実の権威が間違いを増大させる |
受け入れられたエンジニアリング作業を測定する
タスクの受け入れ率、レビュー担当者の分数、最初の独立実行時の CI パス、再オープンされた欠陥、セキュリティ所見、サンドボックスの分数、モデル トークン、マージされた PR ごとの総コストを追跡します。同様のタスクの複雑さにおける人間のベースラインと比較してください。 PR 数と変更された行数は生産量ではなく、生産量です。
エージェントなしのコントロール グループと同期エージェント グループを維持します。非同期エージェントを使用すると、レビュー バッチを増やしながら中断を減らすことができます。有益な疑問は、隠れた作業負荷をレビュー担当者やプラットフォーム エンジニアに転送することなく、リード タイムと受け入れられる品質が向上するかどうかです。
代替案
| オプション | ベストフィット | トレードオフと Open SWE |
|---|---|---|
| Open SWE | カスタマイズ可能な内部非同期エージェント プラットフォームを構築するチーム | 重要な統合、セキュリティ、および運用上の所有権 |
| Codex / Claude コード | 開発者が監視する同期ターミナル作業 | バックグラウンドでのワークフローオーケストレーションの削減 |
| GitHub Copilot コーディング エージェント | GitHub ネイティブで管理される Issue から PR までのフロー | フレームワークレベルのカスタマイズが少なく、異なるホスティングモデル |
| デビン | 管理された自律コーディング ワークスペース | 商用ホスト型プラットフォームと内部統制が少ない |
| OpenHands | オープンソースのコーディング エージェント ランタイムと研究 | さまざまな統合とオーケストレーションに焦点を当てる |
| CI スクリプト/ボット | 確定的な移行、フォーマット、更新 | 柔軟性に欠ける推論、多くの場合、既知のタスクの方が安全で安価です |
よくある質問
Open SWE はホスト型サービスですか?
オープンソースのフレームワークです。オペレーターはそれを展開して構成し、必要なモデル、サンドボックス、および統合サービスを購入または実行します。
どのサンドボックスがサポートされていますか?
現在のリポジトリには、Modal、Daytona、Runloop、E2B、LangSmith とカスタマイズ パスがリストされています。
Slack、Linear、GitHub はサポートされていますか?
はい。これらは、文書化された主要な呼び出しおよびフォローアップ サーフェイスです。
サンドボックスは完全な権限を安全にしますか?
いいえ。ローカルでの実行は分離されますが、ネットワーク、リポジトリ、および外部アカウント権限には個別の制御が必要です。
コードは自動的に検証されますか?
デフォルトでは、チェックを実行するためのエージェントの指示に大きく依存します。チームは決定論的な外部 CI を追加し、ゲートを確認する必要があります。
オープンソースですか?
はい。現在のリポジトリは MIT に基づいてライセンスされています。
一次情報源
- 公式リポジトリとアーキテクチャ
- 公式 Open SWE アプリケーション
- 公式インストールガイド
- 公式カスタマイズガイド
- 公式セキュリティポリシー
- LangGraph の概要
- GitHub App セキュリティのベスト プラクティス
- OWASP 即時注入ガイダンス
最終レビュー日は 2026 年 7 月 25 日です。Open SWE は急速に進化しています。デプロイされたリビジョンを固定し、アップグレード後に統合、サンドボックスの動作、ツール、セキュリティ制御を再検証します。




