2025.12.02

Google Jules登場:Gemini 3 Pro搭載の自律型AIエンジニアとは

こんにちは。グループ研究開発本部 次世代システム研究室のT.D.Qです。
2025年、ソフトウェアエンジニアリングの世界は、開発者をリアルタイムで支援する「AIによる支援(Copilot)」から、タスクを丸ごと任せる「AIによる自律実行(Agent)」へと急速にパラダイムシフトしています。この変革の中心にあるのが、Googleが発表した自律型コーディングエージェント「Jules」です。

今回は、単なるコード補完ツールではなく、開発者の「副操縦士」から「信頼できる同僚(ジュニア開発者)」へと進化したGoogle Julesについて、その背後にある技術アーキテクチャ、詳細なワークフロー、そして現場での実践的な運用シナリオを深掘りして解説します。

1. Google Julesとは:支援から委任へ

Google Julesは、IDE(統合開発環境)内でコードをリアルタイムに提案するGitHub Copilotのような「同期型」ツールとは根本的に異なり、ユーザーからタスクを託され、バックグラウンドで自律的に完遂する「非同期型(Asynchronous)」の自律コーディングエージェントです。

「委任(Delegation)」モデルへの転換

Julesの最大の特徴は、開発プロセスにおける役割の変化です。従来のAIツールはマイクロレベルでの効率化(数行のコード補完)を目指していましたが、Julesはマクロレベルでのワークフロー最適化を目指しています。
これは、ペアプログラミングというよりも、特定のタスクを「ジュニア開発者」に依頼し、自分は別の創造的な作業(アーキテクチャ設計や複雑なロジックの実装)に集中するというワークスタイルへの転換を意味します。開発者の役割は、コードを書く「実行者」から、AIの成果物を管理・監督する「マネージャー」や「レビュー担当者」へとシフトしていくことになります。

  • 主な適用領域: テストコードの自動生成、ドキュメントの整備、依存関係のアップデート、技術的負債の解消(リファクタリング)など、重要だが時間がかかり、認知負荷の高いタスク。
  • 搭載モデル: Googleの最新LLMである Gemini 3.0 (Gemini 3 Pro) モデルを採用。巨大なコンテキストウィンドウを活用し、単一ファイルだけでなくリポジトリ全体の依存関係や構造を深く理解します。

2. システムアーキテクチャの深層

2-1. クラウドベースVMと実行による根拠付け

Julesの技術的な中核は、コード生成と実行をローカル環境ではなく、Google Cloud上の管理されたセキュアな仮想マシン(VM)で行う点にあります。

Grounding via Execution(実行による根拠付け)

通常のAIチャットボットは、確率に基づいて「正しそうなコード」を生成するだけですが、JulesはこのVM環境を利用して「Grounding via Execution(実行による根拠付け)」を行います。
各タスクのために一時的に立ち上げられたUbuntuベースのVMには、Node.js, Python, GoなどのランタイムやDockerがプリインストールされており、package.json などの定義に従って依存関係を解決します。Julesは生成したコードを実際にビルドし、テストを実行し、その結果(成功・失敗・エラーログ)を「事実」として認識します。これにより、「環境依存で動かないコード」や「構文エラー」を人間に提示する前に排除します。

また、この環境はユーザーのローカルマシンから隔離(サンドボックス化)されているため、誤って悪意のあるコードを実行したり、ローカルの設定を破壊したりするリスクも排除されています。

2-2. マルチエージェントと批評拡張生成

Jules内部では、単一のモデルがすべてを行うのではなく、役割を持った複数のエージェントが協調して動作する高度な「マルチエージェント・アーキテクチャ」を採用しています。

3つの主要エージェント

  1. 計画策定エージェント (Planning Agent): コードベース全体を解析し、変更が必要なファイル群を特定して、具体的な修正手順(Step-by-step Plan)を立案します。
  2. 実行エージェント (Execution Agent): 計画に基づき実際のコード変更を行います。さらに、VM上でリンターやテストランナーを回し、出力結果を分析します。
  3. 批評エージェント (Critique Agent): ここがJulesの品質を支える鍵です。強化学習のActor-Criticモデルを応用したもので、実行エージェントが書いたコードに対し、敵対的な視点でレビューを行います。

Critic-Augmented Generation(批評拡張生成)

特筆すべきは「批評拡張生成」というメカニズムです。批評エージェントは、単にコードが動くかどうかだけでなく、「エッジケースへの脆弱性はないか」「プロジェクトのコーディング規約(AGENTS.md)に違反していないか」といった深いレベルの検証を行います。
この内部フィードバックループ(生成 → 批評 → 修正)により、Julesは人間がレビューする前に自律的にコード品質を高めることができます。Googleの設計思想として、即時性(スピード)よりも、コンテキストの完全性とコード品質を優先していることが伺えます。

3. ワークフローと実践シナリオ

3-1. セットアップとAGENTS.mdの重要性

初期セットアップと前提条件

Julesを利用するための第一歩は、認証と権限の付与です。前提条件として、以下のステップが必要です。

  • サインインとGitHub連携: Jules公式サイトにGoogleアカウントでサインインし、OAuthを通じてGitHubアカウントを接続します。この際、Julesがアクセスできる対象リポジトリや組織(Organization)への権限を明示的に付与します。
  • 社内ポリシーとセキュリティ: 企業で導入する際に懸念される「コードの流出」については、Googleは「プライベートコードは学習に使用されない」という設計を明言しており、実際の作業も完全に隔離された環境で実行されます。

セットアップが完了すれば、以後の指示(プロンプト)はすべて自然言語で行うことができます。

Jules Setup Initialization

AGENTS.mdの整備

接続後に最も重要となるのが、AIに対する永続的な指示書となるAGENTS.md(または.jules/config)の整備です。これはAIにとっての「システムプロンプト」であり、プロジェクトの憲法のようなものです。

AGENTS.mdの詳細記述例

単なるスタイルガイドにとどまらず、以下のような詳細なコンテキストを含めることで、Julesのパフォーマンスは劇的に向上します。

# プロジェクトコンテキスト (Project Context)
このプロジェクトはNext.js 15を使用したEコマースプラットフォームです。
ステート管理にはZustandを使用しています。

# コーディング規約 (Coding Standards)
- **コンポーネント:** すべて関数コンポーネントで記述し、`src/components`配下に配置すること。
- **スタイリング:** Tailwind CSSを使用し、CSS Modulesは使用しないこと。
- **型定義:** `any`型の使用は厳禁。Zodを使用してバリデーションスキーマを定義すること。

# アーキテクチャ境界 (Boundaries)
- `legacy/` ディレクトリ内のファイルは決して変更しないこと。
- 外部API呼び出しは必ず `src/lib/api-client.ts` のラッパーを経由すること。

# テスト戦略 (Testing Strategy)
- 新しい機能を追加する際は、必ずVitestによるユニットテストを含めること。
- テストカバレッジは80%以上を維持すること。

このように、人間が暗黙知として持っているルールを形式知化することで、Julesは「空気を読んだ」コードを書けるようになります。

3-2. Julesの思考・実行プロセス

ユーザーがタスクを依頼してから完了するまでのプロセスは、透明性が高く設計されています。

Google Jules Workflow

    1. 初期化 (Initialization): VMのプロビジョニングとリポジトリのクローン。スナップショット機能により2回目以降は高速化されます。
    2. 計画立案 (Planning): エージェントがタスクを分析し、「どのファイルをどう変更するか」という計画書を提示します。ここで人間が介入し、「この方針でOK」と承認を与えるか、方針の修正を指示します。この「Plan-Review-Execute」サイクルにより、AIの暴走を防ぎます。

Approving Jules Plan

    1. 実行と反復 (Execution & Iteration): コード書き換え後、Julesは自律的にテストを実行します。
      • テスト失敗時:エラーログを読み取り、原因を分析し、コードを修正して再実行します。
      • 批評エージェントからの指摘がある場合:ロジックを修正し、再検証します。

      このループは、すべてのチェックをパスするか、規定回数に達するまで繰り返されます。

Jules Coding Process

    1. プルリクエスト作成: 最終的に動作確認が取れたコードでPRを作成します。

Jules PR Result

3-3. 協調作業とAPI連携による自動化

GitHub Issueを活用した効率的な開発プロセス

JulesとGitHubの連携は、課題(Issue)起点からプルリクエスト(PR)返却という既存の開発フローに直結します。初回の「GitHub連携(Connect GitHub)」を済ませた後は、追加設定なしで即座に起動できます。タスクの開始方法は主に以下の2通りがあります。

  • Julesの画面から: リポジトリとブランチを選択し、指示を入力します。「計画作成」→「計画承認」→「実装・ビルド・テスト(非同期)」と進み、最終的に差分とプルリクエストで結果を受け取ります。
  • GitHubの課題(Issue)から: 通常どおりIssueを作成し、julesラベルを付けるだけで起動します。計画の提示→承認→実装・テスト→差分とプルリクエスト作成までが自動化されます。

人間参加型(Human-in-the-loop)のレビュー

Julesが作成したプルリクエストに対し、人間がGitHub上でコメントを行うと、Julesはそのコメントを検知して再起動します。指摘内容を理解して修正コミットを追加し、再度テストを通してから「修正しました」と返信します。これにより、人間は構文チェックではなく、ビジネスロジックや設計の妥当性確認に集中できます。

APIとCLIによる高度な自動化

JulesはWeb UIだけでなく、CLIツール(@google/jules)やREST APIも提供しています。これにより、以下のような高度なワークフローが実現可能です。

  • SlackOps連携: Slackで報告されたバグをトリガーにJules APIを呼び出し、自動で修正タスクを開始する。
  • CIパイプラインの自己修復: JenkinsやGitHub Actionsでテストが落ちた際、そのログをJulesに渡して修正プルリクエストを自動生成させる。
  • バックログ消化: 「ドキュメント修正」などのラベルが付いた古い課題(Issue)を定期的にJulesに割り当て、バックログを自動的にクリーンアップする。

4. ベストプラクティスとセキュリティ

4-1. スキャフォールディングとプロンプトエンジニアリング

Julesを最大限活用するためには、丸投げではなく適切な「足場かけ(Scaffolding)」が有効です。

  • 段階的な指示: いきなり複雑な機能を依頼するのではなく、「まずはインターフェース定義(型)を作成して」「次にその型に基づくモデル層を実装して」とステップを分けることで、手戻りを防げます。
  • 具体的かつ明確なプロンプト: 曖昧な指示は質の低いコードを生みます。「バグを直して」ではなく、「ログイン時に発生する500エラーを修正してください。再現手順は〜です」と詳細情報を与えることが、AI版のプロンプトエンジニアリングとして重要になります。

4-2. セキュリティ対策とリスク管理

自律型エージェントには特有のリスク(Lethal Trifectaなど)が存在します。

  • シークレットの排除: .envファイルやAPIキーをリポジトリに含めないことは基本ですが、Julesがログに出力しないようAGENTS.mdで明示的に指示します。
  • 計画のレビュー徹底: Julesが提示する実行計画(Plan)を必ず人間が確認し、意図しない外部アクセスや、重要なファイルの削除が含まれていないかチェックするプロセスを維持してください。

5. 課題と留意点

  • 性能: 大規模なタスクでは処理に時間がかかり、リアルタイム性には欠ける。
  • 信頼性: AIが生成したコードは必ず人間のレビューとテストが必要。Julesは有能なジュニア開発者のような位置付けで、最終的な品質保証は開発者が担う。
  • コンテキストの制約: Julesはリポジトリ全体を処理できますが、非常に大規模で複雑なコードベースは依然として課題となる可能性があります。
  • リポジトリの範囲: 現在、Julesのタスクは単一のリポジトリ内でのみ動作します。リポジトリをまたいだ変更はサポートされていません。

6. 料金体系

Julesは無料プランに加え、Google AI Pro/Google AI Ultra(Google AI Plans)で上限を拡張できます。日次実行回数と同時実行数はプランごとに異なります。

プラン 月額(USD/月) 日次実行上限
(ローリング24h)
同時実行上限 備考
無料(Jules) $0 15 3 Gemini 2.5 Proベース。評価・個人利用向け
Google AI Pro
(Jules in Pro)
$19.99
(約¥2,900)
100 15 Google OneのAI Proプランに含まれる。上限拡張。
Gemini 3 Pro利用可能。
Google AI Ultra
(Jules in Ultra)
$249.99
(約¥36,400)
300 60 チーム・エンタープライズ向けUltraプラン。
優先実行キュー、高度なセキュリティ機能。
  • 注:日次実行上限はローリング24時間方式。直近24時間の合計でカウント
  • 同時実行上限は並列で走らせられるタスク数
  • 日本価格は為替により変動します。最新情報はGoogle AIプランを参照

7. まとめ

いかがでしたでしょうか。Google Julesの内部アーキテクチャから、APIを活用した自動化の可能性まで詳細に解説しました。
Julesは「速度」を多少犠牲にしてでも、「コンテキストの完全性」と「コード品質」を重視する設計思想を持っています。現時点では「信頼できるが少し作業が遅いジュニア開発者」という評価が適切かもしれませんが、そのポテンシャルは計り知れません。

AGENTS.md」の整備や、タスクの適切な切り出し方は、これからのAI共生時代におけるエンジニアの必須スキルとなるでしょう。ぜひ今のうちからこの新しいワークフローを体験し、開発プロセスの再設計を検討してみてください。

宣伝

次世代システム研究室では、最新のテクノロジーを調査・検証しながらインターネットのいろんなアプリケーションの開発を行うアーキテクトを募集しています。募集職種一覧 からご応募をお待ちしています。

  • Twitter
  • Facebook
  • はてなブックマークに追加

グループ研究開発本部の最新情報をTwitterで配信中です。ぜひフォローください。

 
  • AI研究開発室
  • 大阪研究開発グループ

関連記事