UStackUStack
Octopus icon

Octopus

OctopusはAIでプルリクレビューを自動化。コードベースをインデックスし、文脈付き差分を解析してGitHub/Bitbucket PRに重大度付き所見を投稿。

Octopus

Octopusとは?

Octopusは、GitHubとBitbucket向けのAI駆動型自動コードレビュー ツールです。リポジトリに接続し、コードベースをインデックスして、新規プルリクが開かれた際に所見をPRに直接投稿することで自動レビューを行います。

Octopusの主な目的は、プルリクの差分とリポジトリのコンテキストを組み合わせることで、チームが問題を早期に検知できるようにすることです。LLMを使ってコード変更を解析し、重大度付きの結果をインラインコメントとして返却するため、リビューアはアーキテクチャや設計判断に集中できます。

主な機能

  • GitHub App統合による自動PRレビュー:Octopus GitHub Appをインストールし、監視するリポジトリを選択すると、新規プルリクでレビューが自動実行されます。
  • Bitbucket対応:OctopusはGitHubとBitbucketの両方に接続し、プラットフォームを問わず同一のプルリクレビュー フローを適用します。
  • 深いコンテキストのためのコードベースインデックス:コードベースをインデックスし、保存されたコンテキストを使ってレビュー出力が差分だけでなくパターンやアーキテクチャを考慮します。
  • ベクター検索によるコンテキスト取得:インデックスされたコードベースからベクター検索とリランキングで関連コンテキストを取得し、LLMに情報を送信します。
  • コードベースQ&AのためのRAG Chat:ベクター検索とリランキングを使ってコードベースに関する質問に正確な回答を提供するインターフェースです。
  • ターミナルワークフロー向けCLIツール:@octp/cliを使ったCLIで、PRレビュー、コードクエリ、リポジトリ管理をターミナルから行えます。
  • ナレッジベース取り込み:組織の基準、文書、慣習を投入し、将来のレビューに共有ガイダンスを組み込めます。
  • チーム共有と組織レベル設定:共有ナレッジと組織全体のレビュー基準をサポートします。
  • アナリティクスと使用状況追跡:レビュー品質、トークン使用量、リポジトリごとのコスト、開発者速度を追跡します。
  • 重大度付きインラインPR所見:Critical、Major、Minor、Suggestion、Tipの重大度レベルでプルリクに所見を投稿します。

Octopusの使い方

  1. 開始してリポジトリを接続:Octopus GitHub Appをインストールし、監視したいリポジトリを選択(OctopusはBitbucketもサポート)。
  2. コードベースインデックスを許可:接続後、Octopusがコードベースをインデックスしてレビュー時に関連コンテキストを取得可能にします。
  3. プルリクでレビューを実行:新規PRが開かれると、Octopusが差分を取得、インデックスからコンテキストを抽出し、LLMで解析して重大度付き所見をPRに直接投稿します。
  4. サポートインターフェースを利用:コードベース質問にRAG Chatを、ターミナルベースのPRレビューとコードクエリにCLIツールを使用します。

ユースケース

  • PRレビューサイクルの高速化:すべてのプルリクに初期レビューコメントを自動生成し、ルーチンチェックを減らして高レベル判断に時間を充てます。
  • 基準の一貫した適用:組織基準、文書、慣習をナレッジベースに設定し、レビュー出力がPR間で同一ルールを反映します。
  • レビュー中のコードベース調査:RAG Chatでシステムの動作や特定パターンの実装を、インデックスされたリポジトリ内容に基づいて質問します。
  • ターミナルツールで開発者ワークフロー支援:@octp/cliを使ってコマンドラインを離れずPRレビューとコードクエリを行い、特に反復調査に適します。
  • レビュー影響と使用状況の監視:アナリティクスでトークン使用量、リポジトリごとのコスト、開発者速度を確認しつつレビュー品質を評価します。

FAQ

  • プルリクエストがオープンされたとき、Octopusは何を行いますか? PRがオープンされると、Octopusはdiffを取得し、ベクター検索でインデックスされたコードベースから関連コンテキストを取得し、LLMに分析を送信します。重大度付き(Critical, Major, Minor, Suggestion, Tip)の所見をPRにインラインコメントとして直接投稿します。

  • Octopusはどのプログラミング言語をサポートしていますか? Octopusは言語非依存で、テキストベースのコードファイルをレビューします。サイトではTypeScript、Python、Go、Rust、Java、C#、Ruby、PHP、Swift、Kotlinなどを含む一般的な例を挙げています。

  • Octopusを使用する際、ソースコードは安全ですか? サイトによると、コードはメモリ内で処理され永続的に保存されず、検索用のベクター埋め込みのみが保存されます。またセルフホスティングをサポートし、コードを自社インフラ内に留められます。

  • Octopusは人間のレビュアーを置き換えますか? いいえ。Octopusはバグ、セキュリティ問題、スタイルの不整合を検知してレビューを補完し、人間レビュアーがアーキテクチャ、デザイン、ビジネスロジックに集中できるようにします。

  • Octopusはセルフホスティングできますか? はい。Octopusはセルフホスト対応で、サイトによるとセルフホスティングによりコードを自社インフラ内に留められます。

代替案

  • セルフマネージドコードレビュー自動化:リポジトリボットやCIベースのツールを使ってルールチェック(例:リンター、静的解析、ポリシーチェック)を実行。LLMベースのセマンティックレビューなしでシンプルですが、文脈認識のLLM駆動PRコメントが不足します。
  • PRワークフローを備えた汎用AIコードアシスタント:AIチャットやコード理解を提供するツールでレビューをサポートしますが、Octopusの自動PRインラインコメントに比べて手動作業が多くなります。
  • コードベース向けベクター検索 + RAG:リポジトリをベクターデータベースにインデックスしコードに関する質問に答えるRAGシステムを構築・採用。「コードベースQ&A」部分を再現できますが、自動PR diffレビューやインライン重大度コメントは標準では含まれません。
  • 静的解析およびセキュリティスキャンサービス:セキュリティ特化スキャナーで多くの問題を自動検知。PR diffに紐づく文脈的LLM生成所見ではなく、決定論的チェックに焦点を当てます。
Octopus | UStack