Julesは、Google Labsが提供する非同期型のAIコーディングエージェントです。GitHubのリポジトリを指定して作業内容を伝えると、クラウド上の仮想マシン(VM)でコードを変更し、プルリクエスト(PR)として返します。2025年5月20日に公開ベータ、同年8月6日にベータを終了し、2026年に入ってからは基本モデルの切り替え、CI失敗の自動修正、MCP対応が加わりました。この記事では、2026年9月14日に取得した公式ドキュメント・changelog・GitHubリポジトリをもとに、料金と上限、使い方、CI/CDへの組み込み、VS Codeからの使い方を整理します。
まとめ:Julesの現在地と使いどころ
- JulesはGitHubリポジトリをクラウドVMに複製し、計画の提示から実装、テスト、PR作成までを非同期で進める。手元の端末は作業中に占有されない。
- 無料プランは24時間あたり15タスク・同時3タスク。Google AI Proで100・15、Ultraで300・60に増える。有料枠は現状 @gmail.com の個人アカウントのみが対象。
- 入口はWebアプリ、CLI(Jules Tools)、REST API(v1alpha)、GitHub Issueの「jules」ラベルの4つ。
- CI/CDでは、Jules自身が作ったPRの失敗はCI Fixerが自動で直し、人が作ったブランチの失敗はGitHub Actionsから渡す、という分担になる。公式Actionは
@v1指定が解決できず、API呼び出しが失敗してもステップが成功扱いになる点に注意。 - 2026年9月14日時点で、Googleが発行するVS Code拡張は見当たらない。VS CodeからはターミナルでJules Toolsを使うか、第三者製拡張を使う。
以下、仕組み、料金、使い方、CI/CD、VS Code、注意点の順に解説します。
Julesの仕組み:クラウドVMで作業してPRを返す非同期エージェント
公式ドキュメントのGetting startedでは、GitHubの連携時に「全リポジトリ」か「特定のリポジトリ」を選んでアクセスを許可します。Julesが扱えるのは、GitHub経由で明示的に許可したリポジトリだけです。GitLabやBitbucketへの接続手段はドキュメントに載っていません。
1タスクの処理の流れと計画承認
タスクを投げると、Julesは毎回新しいVMを起動し、リポジトリの複製と依存関係のインストールを済ませてから実行計画を示します。Webアプリでは計画の各ステップを開いて確認し、チャットで修正を指示してから「approve plan」を押します。画面を離れても、一定時間が経つと計画は自動で承認されます。
計画が承認されると、Julesは各ファイルの差分と説明を表示しながら作業を進めます。完了後は「Publish branch」か「Publish PR」でGitHubへ送ります。2026年1月26日には、自動承認された計画を別のエージェントが事前に点検する「Planning Critic」が入り、公式発表ではタスクの失敗率が9.5%下がりました。2026年2月19日からはコミットの作成者を「Jules」「共同作成」「自分のみ」から選べます。
実行環境:プリインストール済みツールとスナップショット
VMはUbuntuで、Node.js、Bun、Python、Go、Java、Rustが最初から入っています。ドキュメントの環境チェック出力にはDocker 28.2.2やpnpm、uv、ruffも並んでいます。VMのディスク容量は2025年8月15日に20GBへ増えました。
依存関係が複雑なリポジトリでは、リポジトリの「Configuration」に初期セットアップのコマンドを登録します。「Run and Snapshot」で成功すると環境のスナップショットが作られ、そのリポジトリの以降のタスクで再利用されます。ただし npm run dev のような常駐プロセスはセットアップスクリプトで動かせません。インストールとテストのように終わるコマンドだけを書きます。
Julesの料金プランとタスク上限
Jules単体の料金表はありません。無料プランのほか、Google AI ProとGoogle AI Ultraの加入特典として上限の高い枠が付きます。上限は公式のLimits and Plansのとおりです。
| 項目 | Jules(無料) | Jules in Pro | Jules in Ultra |
|---|---|---|---|
| 加入条件 | なし | Google AI Pro | Google AI Ultra |
| タスク数(24時間ローリング) | 15 | 100 | 300 |
| 同時実行タスク数 | 3 | 15 | 60 |
| 既定モデル(changelog) | Gemini 3 Flash | Gemini 3.1 Pro | 明記なし |
モデルの行は、2026年1月30日の「Gemini 3 Flashが全プランの基本モデルになった」と、2026年3月9日の「Gemini 3.1 ProがPro利用者の既定になった」という2件のJules Changelogの記載にもとづきます。一方、同じLimits and Plansの表は無料プランのモデルを「Gemini 2.5 Pro」と書いたままで、changelogと食い違っています。モデルを確かめるときはchangelogの日付を優先してください。
有料枠にはもう1つ条件があります。現在はGoogle AI Plans経由でしか申し込めず、対象は @gmail.com で終わる個人アカウントに限られます。Google Workspaceのアカウントで業務利用したい場合、公式は関心登録フォームへの記入を案内しています。利用は18歳以上が条件で、上限に達すると新規タスクのボタンが無効になります。進行中のタスクの確認や履歴の閲覧はそのまま続けられます。
Julesの使い方:Web・CLI・API・GitHub Issueの4つの入口
どの入口でも、最初にWebアプリ(jules.google.com)へGoogleアカウントでログインし、GitHubアプリ「Google Labs Jules」をインストールしておく必要があります。
Webアプリでタスクを始める手順
- リポジトリ選択のドロップダウンで対象リポジトリと起点ブランチを選ぶ。
- 作業内容を具体的に書く。公式の良い例は「Add a loading spinner while fetchUserProfile runs」、避けるべき例は「Fix everything」「Make this better」。
- 必要ならUIのモックやエラー画面をPNGかJPEGで添付する(合計5MB未満、最初の指示のときだけ添付可)。
- 提示された計画を確認して承認し、完了後にPRを作る。
リポジトリを選ばずに始める「repoless」セッションも2025年11月20日から使えます。空のリポジトリを先に作らなくても試作を始められます。
Jules Tools(CLI)の導入とセッション操作
2025年10月2日に公開されたCLIで、npmパッケージ名は @google/jules です(2026年9月14日時点の最新は0.1.42)。
npm install -g @google/jules
jules login
# カレントディレクトリのリポジトリでタスクを作成
jules remote new --repo . --session "write unit tests for the auth module"
# セッション一覧と結果の取り込み
jules remote list --session
jules remote pull --session 123456
引数なしで jules を実行すると、セッション一覧と左右分割の差分ビューを持つTUIが開きます。--parallel で同じタスクを複数セッションで並行して走らせることもできます。
GitHub Issueの「jules」ラベルによるタスク開始
Jules GitHubアプリがアクセスできるリポジトリなら、Issueに「jules」ラベル(大文字小文字は問わない)を付けるだけでタスクが始まります。JulesがIssueにコメントし、作業が終わるとPRへのリンクを残します。GitHub Issueにバグ報告を集約しているチームでは、ラベルを付ける操作だけで依頼を始められます。
REST API(v1alpha)の認証とタスク作成
APIは2025年10月3日に公開されましたが、2026年9月14日時点でもalpha(実験的)の扱いで、仕様やAPIキーが変わる可能性があるとAPI Quickstartに明記されています。キーはWebアプリの設定画面で発行し、同時に持てるのは3本までです。公開の場所に漏れたキーは自動で無効化されます。
curl "https://jules.googleapis.com/v1alpha/sessions" \
-X POST \
-H "Content-Type: application/json" \
-H "X-Goog-Api-Key: $JULES_API_KEY" \
-d '{
"prompt": "Fix the flaky test in tests/test_api.py",
"sourceContext": {
"source": "sources/github/OWNER/REPO",
"githubRepoContext": { "startingBranch": "main" }
},
"automationMode": "AUTO_CREATE_PR"
}'
APIから作ったセッションは、計画が自動で承認されます。人の承認を挟みたい場合は requirePlanApproval を true にします。automationMode を省くとPRは作られず、変更はセッション内に残るだけです。TypeScript向けにはGoogle Labs Codeが公開する @google/jules-sdk(0.2.0)もあります。ただし、READMEではGoogleの正式サポート対象製品ではないと明記されています。
JulesのCI/CD連携:CI FixerとGitHub Actionsの分担
JulesをCI/CDに組み込む方法は、失敗したPRを誰が作ったかで2つに分かれます。Jules自身が作ったPRは組み込みのCI Fixerが面倒を見ます。人が作ったブランチの失敗は、GitHub ActionsからAPIでJulesに渡します。
CI FixerによるJules作成PRのCI失敗修正
2026年2月19日に入ったCI Fixerは、Julesが作ったPRでGitHub Actionsのチェックが落ちると、そのエラーを受け取って修正し、PRを出し直します。以前はAPIを自前で呼ぶか、ログを手で貼り付けて依頼し直す必要がありました。デプロイ先がRenderなら、2025年12月10日からビルド失敗のログを読んで修正コミットを積む連携もあります。どちらの機能も、対象はJulesが作成したPRに限られます。
GitHub ActionsによるCI失敗の修正依頼
Google Labsの公式リポジトリ google-labs-code/jules-action(MITライセンス)は、Issue、PR、スケジュール、手動実行などのイベントからJulesを呼び出すActionです。中身は、プロンプトを組み立てて v1alpha/sessions にPOSTする複合Actionで、計画承認なし・PR自動作成(AUTO_CREATE_PR)で固定されています。入力は prompt、jules_api_key、starting_branch(既定main)、include_last_commit、include_commit_log の5つです。
ただ、次の見出しで述べる2つの落とし穴があるため、失敗時に確実に止まるようAPIを直接呼ぶ形を勧めます。次の例は、同じリポジトリのmainブランチへのpushでCIが失敗したときに、mainを起点としてJulesへ修正を依頼します。forkからのPRと、Julesが作ったPRのブランチは条件で対象外にしています。後者はCI Fixerの担当なので、同じ失敗に両方が反応しないようにするためです。workflow_run は既定ブランチにあるワークフローファイルからしか起動しないため、このファイルは既定ブランチの .github/workflows/ に置きます。APIキーはリポジトリのSecretsに JULES_API_KEY として登録しておきます。
name: Jules CI failure handoff
on:
workflow_run:
workflows: ["CI"] # 監視するワークフローのname
types: [completed]
branches: [main] # 既定ブランチ名に合わせる
jobs:
handoff:
if: >-
github.event.workflow_run.conclusion == 'failure' &&
github.event.workflow_run.event == 'push' &&
github.event.workflow_run.head_repository.full_name == github.repository
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Ask Jules to fix the failed run
env:
JULES_API_KEY: ${{ secrets.JULES_API_KEY }}
RUN_NAME: ${{ github.event.workflow_run.name }}
RUN_URL: ${{ github.event.workflow_run.html_url }}
BRANCH: ${{ github.event.workflow_run.head_branch }}
run: |
jq -n \
--arg p "CI workflow $RUN_NAME failed on branch $BRANCH ($RUN_URL). Find the root cause, fix it, and make the tests pass." \
--arg b "$BRANCH" \
--arg r "$GITHUB_REPOSITORY" \
'{prompt: $p,
sourceContext: {source: ("sources/github/" + $r),
githubRepoContext: {startingBranch: $b}},
automationMode: "AUTO_CREATE_PR"}' > payload.json
curl --fail-with-body -sS "https://jules.googleapis.com/v1alpha/sessions" \
-X POST \
-H "Content-Type: application/json" \
-H "X-Goog-Api-Key: $JULES_API_KEY" \
-d @payload.json
ブランチ名やワークフロー名は run: に直接埋め込まず、env 経由で渡しています。ブランチ名は外部の人でも付けられる値なので、スクリプトに直接展開するとコマンドを注入される余地が残るためです。Secretsの置き場所の決め方はGitHub ActionsのSecrets管理、workflow_run を含むイベントの選び方はGitHub Actionsのトリガー(on)で解説しています。
公式Actionで確認した2つの落とし穴
1つ目は @v1 指定です。READMEの例は google-labs-code/jules-invoke@v1 と書いていますが、2026年9月14日にGitHub APIで確認したところ、タグは v1.0.0、v0.0.1、ai-assisted の3つで、v1 という名前のタグもブランチもありません。公式Actionを使うなら、リポジトリ名も修正し、google-labs-code/[email protected] か同リポジトリのコミットSHA(v1.0.0は bff7875eaa123cac6742b7cfc51005b95ba4d566)で固定してください。
2つ目は、API呼び出しが失敗してもステップが成功扱いになることです。action.yamlの呼び出しは curl に --fail 系のオプションを付けていません。無効なAPIキーでセッション作成APIにPOSTすると、応答はHTTP 401でしたが、bash -eo pipefail の下でもcurlの終了コードは0でした。同じリクエストに --fail-with-body を付けると終了コードは22になり、ステップはここで止まります。キーの失効に気づかないまま、Julesに何も依頼されない状態が続くのを防ぐため、上の例ではこのオプションを付けています。
定期実行(Scheduled Tasks)とSuggested Tasks
CIの失敗を待たずに保守作業を回すなら、Webアプリ側の機能で足ります。2025年12月10日に全利用者向けに入ったScheduled Tasksは、プロンプトを日次・週次・月次で自動実行してPRを開きます。依存関係の週次チェックや夜間のlint修正が典型です。公式ガイドには、あるライブラリをnpmへnightlyリリースする定期タスクで、失敗時にJulesが原因を調べ、修正して公開した例が載っています。2026年1月26日からは既存のスケジュールを編集・一時停止・再開できます(Scheduled Tasksのページには「編集は未対応」の記載が残っています)。
Suggested Tasksは、Julesがリポジトリを定期的に走査して、#TODO コメントやパフォーマンス改善の候補を提案する機能です。有効にできるのは5リポジトリまでで、提供開始時の対象はGoogle AI ProとUltraの加入者でした。
VS CodeからJulesを使う方法
2026年9月14日にVisual Studio Marketplaceを「jules」で検索すると、VS Code向けの結果は4件で、Googleが発行者の拡張はありませんでした。公式ドキュメントのナビゲーションも、Web、CLI、REST API、Render連携までで、IDE拡張の案内はありません。VS Codeから使うには次の3つの方法があります。
| 方法 | 提供元 | 認証 | 向いている場面 |
|---|---|---|---|
| 統合ターミナルでJules Tools | Google(公式CLI) | jules login | 業務利用・チーム標準 |
| Gemini CLIのJules拡張 | gemini-cli-extensions | Julesアカウント | Gemini CLIを常用している |
| Jules Extension(HirokiMukai) | 第三者(MIT) | Jules APIキー | サイドバーでセッションを見たい |
Gemini CLIの拡張は、Gemini CLI v0.4.0以降で gemini extensions install https://github.com/gemini-cli-extensions/jules を実行して入れ、/jules add missing unit tests のように依頼します。第三者製の「Jules Extension」(v1.6.0、2026年7月30日更新、インストール数7,193)は、APIキーをVS CodeのSecretStorageに保存し、セッション作成、計画の承認、差分の表示、ブランチのチェックアウトまでをエディター内で操作できます。発行者のドメインは未検証なので、会社のリポジトリで使う場合は、APIキーを渡してよいかをソースコード(GitHubのHiroki-org/jules-extension)で確認してから判断してください。
Claude Code・Codexとの使い分け
JulesはクラウドVMで作業し、GitHub連携では成果物をブランチやPRとして公開できます。リポジトリなしのセッションではファイルを取得でき、CLIでは変更をローカルへ取り込めます。手元の作業ツリーを触らないので、複数のタスクを並行で投げてレビューだけを受け持つ使い方に合います。無料枠でも同時3タスクまで走らせられます。
反対に、GitHub以外のリポジトリ、社内ネットワークからしか届かない依存先、ローカルでしか再現しない不具合の調査には向きません。対話しながら少しずつ直したいなら、ローカル環境で動くClaude CodeやCodexも候補になります。選定時には、手元での実行結果を確認しながら修正できるかを比較してください。Googleの製品同士では、エディター一体型のAntigravityが対話型、Julesが委任型という分担です。
Jules導入前の注意点:データの扱い・VMのネット接続・ドキュメントの食い違い
- 学習への利用:公式FAQは「Jules does not train on private repository content」と明記しています。対象は非公開リポジトリの内容です。
- VMはインターネットにつながる:コードはインターネット接続のあるVMで実行されます。APIキーなどの秘密情報をリポジトリにコミットしない、出どころの不明なパッケージやシェルコマンドを実行させない、の2点をFAQ自身が求めています。
- アクセス範囲:接続するリポジトリは、GitHubの設定のApplicationsにある「Google Labs Jules」の「Configure」から後で変更できます。
- 日本語:Google Oneヘルプ「Google AI Pro の特典を利用する」のJulesの項は、提供状況として「現時点では、英語でのみご利用いただけます」と案内しています。日本語で指示した場合の動作を保証する記述は公式にはありません。なお同じ項はモデルを「Gemini 2.5 Pro」と書いたままです。公式FAQにある対応言語はプログラミング言語(JavaScript/TypeScript、Python、Go、Java、Rust)の話です。
- ドキュメントの鮮度:FAQは今も「Jules is currently in Public Beta」と書いていますが、2025年8月6日のchangelogでベータは終了しています。料金表のモデル表記も古いままです。現在の仕様はchangelogで確認してください。
よくある質問
Julesは無料で使えますか?
使えます。無料プランは24時間あたり15タスク、同時3タスクまでです。より多く使う場合は、Google AI Pro(100タスク・同時15)かUltra(300タスク・同時60)の加入特典で上限が増えます。
JulesはVS Codeで使えますか?
Googleが発行するVS Code拡張は、2026年9月14日時点のMarketplace検索では見つかりませんでした。統合ターミナルで公式CLIのJules Tools(npm install -g @google/jules)を使うか、第三者製の拡張を使います。
JulesはどのGeminiモデルで動いていますか?
changelogでは、2026年1月30日からGemini 3 Flashが全プラン共通の基本モデルになり、2026年3月9日からはGoogle AI Pro利用者の既定がGemini 3.1 Proに変わりました。Ultraの既定モデルは公式に明記されていません。
JulesをCI/CDパイプラインに組み込めますか?
組み込めます。Julesが作ったPRのCI失敗は、2026年2月19日から組み込みのCI Fixerが自動で修正します。人が作ったブランチの失敗は、GitHub ActionsからREST APIを呼んで依頼します。公式Actionを使う場合は @v1.0.0 で固定し、API呼び出しの失敗を検知できるようにしておきます。
Julesに非公開リポジトリのコードを渡しても学習に使われませんか?
公式FAQは、非公開リポジトリの内容をモデルの学習に使わないと明記しています。ただし作業用のVMはインターネットにつながるため、秘密情報をリポジトリに置かない運用は別途必要です。