Open SWEは、LangChainチームが発表したオープンソースの非同期クラウドコーディングエージェントで、GitHub上のソフトウェア開発タスクを自動化します。問題の分析からコード作成、テスト、プルリクエストの提出まで、まるでチームのもう一人のエンジニアのように自律的に処理します。
従来のコーディングアシスタントとは異なり、Open SWEは長時間実行される非同期タスクに特化しています。ユーザーのGitHubリポジトリに直接接続し、GitHub IssueやカスタムUIからタスクを割り当てることができます。エージェントはまずコードベースを調査し、詳細な実行計画を立てた後、コードを作成し、テストを実行し、自己レビューを行い、最後にプルリクエストを提出します。
Open SWEのコアアーキテクチャはLangGraphに基づいており、3つの専門エージェントで構成されています。マネージャーはユーザーとの対話とタスクルーティングを担当します。プランナーはコード作成前にリクエストを分析し、コードベースを調査してステップバイステップの実行計画を生成します。プログラマーは計画を実行し、サンドボックス内でコードを作成してテストを実行します。プログラマーがタスクを完了すると、レビューアーがコード品質をチェックし、問題があればフィードバックとともにプログラマーに戻します。このアクション・レビューループはコードが完璧になるまで続きます。
Open SWEは強力な制御機能も提供します。ユーザーはエージェントの実行中に中断して進捗を確認したり、方向性を調整したりできます。エージェントが計画を生成すると、ユーザーが承認、編集、変更要求を行うまで一時停止します。さらに、ユーザーはエージェントの実行中に追加のメッセージを送信でき、新しいリクエストは現在のセッションにシームレスに統合されます。
セキュリティ面では、各タスクは隔離されたDaytonaサンドボックス内で実行されるため、悪意のあるコマンドを心配する必要はありません。Open SWEのクラウドネイティブアーキテクチャにより、ローカルリソースを消費せずに複数のタスクを並行処理できます。ユーザーは朝にタスクリストを割り当て、午後には完了したプルリクエストを確認できます。
現在、Open SWEは自身のリポジトリとLangGraphリポジトリに多大な貢献をしています。LangChainチームは、Open SWEは複雑で長時間実行されるタスクに最適ですが、簡単な一行修正やスタイル更新には現在のアーキテクチャは最適ではないと述べています。彼らは、計画とレビューの段階をスキップして直接実行できるローカルCLIバージョンを開発中であり、これによりOpen SWEはあらゆるエンジニアリングタスクのワンストップツールとなる予定です。
Open SWEは完全にオープンソースで、LangGraph上に構築され、拡張可能に設計されています。コミュニティはリポジトリをフォークし、プロンプトのカスタマイズ、新しいツールの追加、エージェントの中核ロジックの変更が可能です。開発者向けドキュメントには、独自バージョンのセットアップとデプロイの詳細なガイドが用意されています。