Remote SWE Agents
Remote SWE Agents は、AI による自律型のソフトウェア開発エージェントの実装例です。このエージェントは専用の開発環境内で動作し、ユーザーの PC を拘束することなく開発作業を行います。
AWS 上でセルフホスト型OSSソリューションとして提供され、Devin、OpenAI Codex、Google Jules などのクラウドベースの非同期コーディングエージェントと同様のエクスペリエンスを実現します。
主な機能
- 完全自律型のソフトウェア開発エージェント - AI を活用した開発ワークフロー自動化
- Web ベース管理インターフェース - セッション管理とリアルタイムモニタリングのための Next.js ウェブアプリ
- 包括的な API - プログラムによる統合とセッション制御のための RESTful エンドポイント
- AWS サーバーレスサービスによる稼働 - メンテナンスコストを最小限に抑制
- システムを使用しない間は固定費用なし
- 効率的なトークン使用量 - プロンプトキャッシュとミドルアウト戦略による最適化
パラメーター
- NotificationEmailAddress
- デプロイの開始・終了を通知するメールアドレスです。このアドレスは初期ウェブアプリユーザーとしても設定されます。
- GitHubAccessTokenValue
- GitHub の個人アクセストークン(PAT)で、エージェントが GitHub リポジトリにアクセスするために使用します。
- 作成方法:GitHub Personal Access Tokenの作成
- 必要なスコープ:
repo
,workflow
,read:org
- TargetEnv (デフォルト: Prod)
- 環境名の設定です。複数の環境をデプロイしたい場合は、この値を環境ごとにユニークな値に設定してください。
- AllowedIpV4AddressRanges
- ウェブアプリにアクセス可能な IPv4 CIDR 範囲をカンマ区切りで指定します。
- AllowedIpV6AddressRanges
- ウェブアプリにアクセス可能な IPv6 CIDR 範囲をカンマ区切りで指定します。
- WorkerAdditionalPolicies
- ワーカーインスタンスに追加で付与する IAM マネージドポリシーをカンマ区切りで指定します。
前提条件
- AWS アカウント
- GitHub アカウント
デプロイ後の使用方法
デプロイ完了後、通知メールに記載された URL からウェブアプリにアクセスできます。初期ユーザー情報も同じメールアドレス宛に送信されます。
ウェブアプリでは以下の操作が可能です:
- エージェントセッションの作成と管理
- GitHub リポジトリとの連携
- リアルタイムのエージェント活動モニタリング
Slack 連携のセットアップ(オプショナル)
Slack からエージェントと対話するための連携設定:
-
Slack Bolt App の設定: 通知メールに記載された API エンドポイントを使用して Slack Bolt App を設定します。詳細な設定方法はソリューションの README.md を参照してください。
-
SSM パラメーターの更新: Slack アプリ作成後、以下の SSM パラメーターをアプリの認証情報で更新します:
- AWS Systems Manager パラメーター にアクセス
/remote-swe/slack/bot-token
を BOT TOKEN で更新/remote-swe/slack/signing-secret
を SIGNING SECRET で更新
-
設定の再デプロイ: CodeBuild コンソール から
RemoteSweDeployment
プロジェクトの新しいビルドを開始して Slack 設定を適用します。
デプロイが完了すると、Slack アプリにメンションしてエージェントと直接やり取りできるようになります。
コスト
Remote SWE Agents は、使用量に応じた従量課金モデルです。使用しない間のコストはほぼゼロで、セッション実行中のみ課金されます。使用されるリソースには EC2 インスタンス、EBS ボリューム、Bedrock API コールなどが含まれます。
追加リソース
その他の詳細は、ソリューションのREADME.mdをご覧ください。