Open SWE は LangChain によるオープンソースの非同期コーディングエージェントであり、プロジェクトはこれを Deep Agents 上に構築されたオープンソースのソフトウェアファクトリーと説明している。コード変更タスクは ダッシュボード、GitHub、Slack、Linear から、あるいはスケジュールに従って届き、エージェントは分離された環境で コードベースを理解し、変更を加え、それを検証し、プルリクエストを届ける。

プロジェクトは、Open SWE がコード生成にとどまらないと述べている。プルリクエストのレビュー、リポジトリの レビュースタイルの学習、CI の監視、フィードバックへの対応も行える。MIT ライセンスのオープンソースであり、 運用者自身のインフラにデプロイでき、チームのリポジトリ、ツール、ポリシー、ワークフローに合わせて適応させられるよう 設計されている。リポジトリには、Open SWE は活発に開発中であり、API、セットアップ、製品のインターフェースは今後も 変わり続ける可能性があるという注記がある。

機能

プロジェクトはその機能を 4 つの領域にまとめている。build(構築)では、リポジトリを調査し、作業を計画し、コードを 編集し、対象を絞った検証を実行し、コミットとプッシュを行い、プルリクエストを作成または更新する。調査や独立した作業の 並列化にはサブエージェントを用い、再利用可能なスキル、リポジトリの指示、カスタムワークスペースにも対応する。 review(レビュー)では、読み取り専用のプルリクエストレビューをオンデマンドまたは自動で実行し、過去の フィードバックからリポジトリ固有のレビューの好みを学習し、変更を加えずに変更内容を調べるための読み取り専用の PR チャットに 対応し、GitHub に結果を公開する前に指摘事項が差分に根拠を持つようにする。operate(運用)では、ダッシュボード、 GitHub、Slack、Linear からタスクを受け取り、決定論的な自動化によって定期的な作業をスケジュールし、オプトインした プルリクエストを /baby-sit コマンドで監視する。このコマンドは CI の失敗を診断し、証拠に裏付けられた 不安定(flaky)なジョブのみを再実行する。さらに、後続のメッセージを元のスレッドとサンドボックスに振り向ける。customize (カスタマイズ)では、モデルと推論の度合い、連携、ツールセット、サンドボックスプロバイダー、ミドルウェア、スキル、 トリガー、配信ポリシーのすべてを変更でき、個人およびリポジトリのコーディング指示や組織全体のレビューガイドラインも 変更できる。

作業の単位はスレッドである。スレッドは複数の呼び出し(invocation)を含みうる永続的な会話・作業コンテキストで あり、各呼び出しはメッセージまたは自動化によってトリガーされるエージェントの実行である。最初のリクエストと後続の リクエストは 1 つのスレッドに属し、それぞれが独自の使用量を持つ 2 つの呼び出しを生む。独立したスレッドは並列に 実行され、同じスレッドはリクエストから配信、フォローアップまでコンテキストを引き継ぐ。読み取り専用の PR チャットには サンドボックスが不要であり、デスクトップでの作業は許可リストに登録されたローカルプロジェクトに対して直接実行できる。

アーキテクチャ

プロジェクトは、エージェントハーネスとランタイムの分離を明示している。Deep Agents がハーネスである ― 計画、ファイル操作、シェルアクセス、スキル、状態、サブエージェントといったプリミティブを提供し、Open SWE は エンドツーエンドのエンジニアリング作業に必要なソフトウェアエンジニアリング用のツール、プロンプト、ミドルウェア、 連携、認可、製品インターフェースを追加する。このように構成する理由としてプロジェクトが挙げているのは、システムが 拡張可能であり続け、基盤となる LangChain のエージェントスタックの改良を継承できるという点である。

LangGraph がランタイムである。LangGraph は永続的な実行とスレッドの状態を提供し、各呼び出しはスレッド内の LangGraph の実行(run)として動作する。Open SWE はそれぞれ固有の役割を持つ 5 つのグラフエントリポイントを備えて いる。Agent(変更の計画、実装、検証、配信)、Reviewer(読み取り専用のプルリクエストレビュー)、Analyzer (リポジトリ固有のレビュースタイルの学習)、Chat(コードを変更せずにプルリクエストに関する質問に答える)、 Scheduler(定期タスクと CI 監視のディスパッチ)である。

サンドボックスが作業を封じ込める。 クラウドでの作業は分離された Linux サンドボックスで実行され、そこには ワークスペースのセットアップスクリプトまたはスナップショットが用意する開発ツールが含まれる。クラウドの各コーディング スレッドはそれぞれ専用の永続サンドボックスに結び付けられるため、人間が返信した際にエージェントは以前の作業から 続行できる。プロジェクトはここで意図的な障害時ポリシーを明示している。到達できなくなったコーディングサンドボックスが 黙って置き換えられることはなく、Open SWE はコミットされていない作業を破棄するリスクを冒すよりも、安全に失敗する ことを選ぶ。LangSmith がデフォルトのサンドボックスおよびトレーシングのプロバイダーであり、差し替え可能な インターフェースの背後で Modal、Daytona、Runloop、E2B、ローカル実行にも対応している。

制御と安全性

プロジェクトは問題を自律性と境界の両方が必要なものとして捉え、提供するものを列挙している。クラウドでのコーディング 向けのスレッドごとのサンドボックス分離と永続ワークスペース、オプションのユーザーごとの OAuth を伴う GitHub App の インストール境界、アクターの認可チェックを伴う組織およびリポジトリの許可リスト、サーバープロセス内に保持されるか サンドボックスプロキシ経由で注入される認証情報、ワークフローファイルの変更をプッシュする前の人間による承認、 読み取り専用のレビュアーおよび PR チャットのエージェント、コード変更前にアプローチをレビューするためのプランモード、 そしてオプトイン方式の自動レビューと CI 監視である。

また、残存リスクを但し書きとしてではなく率直に述べている。サンドボックスはネットワークアクセスや強力なツールを 持ちうるため、デプロイでは最小権限の認証情報を用い、有効にするリポジトリと連携を制限し、承認ルールを各環境に 合わせて調整すべきだとしている。

導入とエコシステム

1 つのデプロイメントが、API、Webhook、ダッシュボードを単一の URL から提供する。LangGraph Platform または Docker 上で動作し、本番環境でのセルフホスティングにはスタンドアロンの LangGraph Agent Server を用い、そのライセンスキーが 必要となる。リポジトリは FastAPI バックエンド向けに生成された OpenAPI 3.1 の契約(swagger.json)を公開して おり、一部のリクエスト/レスポンスのスキーマと認証要件はまだそこに記載されていないこと、LangGraph のランタイム エンドポイントは含まれていないことを注記している。

デスクトップクライアントは実験的なものである。パッケージ版のリリースは macOS を対象としているが、ソースからの ビルドは Windows と Linux にも対応する。リポジトリは、Open SWE が LangChain によってオープンに開発されており、 急速に進化していると述べている。