こんにちは。SCSKの松渕です。
2025年5月のGoogle I/Oでパブリックベータ版が公開され、8月7日に正式リリースされた、Jules(ジュール)を試してみました!
さわりだけしか使えておりませんが、時代はここまで来たのか・・・と感激してます。
はじめに
Julesとは
AWSのKiro同様、AIエージェント型統合開発環境(Agentic IDE)と呼ばれるものです。
単なるAIコーディングアシスタントではなく、まるでプログラマの同僚のように、バグ修正や新機能の実装を自律的に行い、プルリクエストまで作成する次世代のAIエージェントです。
私のスキルとブログ記載内容
私自身、普段はインフラが専門で、アプリケーション開発やGitHubの経験は多くありません。この記事では、そんな私と同じような視点を持つ方でも分かるように、環境構築の手順から詳しく解説しています。
「そんなところいいよ」って人はすっ飛ばして後半だけ読んで下さい!
GoogleCloud環境の勉強も兼ねているので、GoogleCloudで構築をしております。
JulesとGitHubの設定
Jules側設定
Julesのサイトへアクセス。Try Julesを押下
Googleアカウントでログインされた状態になります。(アカウント持っていなければ作成画面になると思います)
Connect to GitHubを押下
GitHubへサインインする画面になります。私はGitHubのアカウントはなかったのでGoogleアカウントで作成しました。
画面に従いGitHubのアカウント作成し、Julesと連携します。
Julesとの連携終わりました。
Jules画面が進みました。ただ、GitHubはアカウント作っただけなのでレポジトリすらない状態ですね。
GitHub初期設定
GitHubの画面へアクセスして、RepositoriesタブからNewをクリックします。
リポジトリをつくります。
今回私はaiの最新ニュースを取ってくる仕組みを作りたいので、「ai_news」としてます。
Julesで早速プログラムを書いてもらう
実行環境準備できていないですが、楽しみすぎるので早速Jules使ってみます!!
Julesの画面から、先ほど作ったブランチを選択します。現在、中身は空っぽです。
自然言語でプログラム作成をお願いしました。
要件整理されて、不明部分について追加ヒヤリングしてくれました。す、すごい。。。
ちなみに、この回答来るまでには2分くらいでした。
質問に回答したら、進みました。計画を自律的に立ててくれます。
こちらが承認したらプログラム作成に進みます。承認に時間かかっていたら自動で進みます。
ただ、勝手にブランチを切ってそこを更新してくれます。mainブランチへのマージは人にて実施が必要になります。
コードしっかり作成されました!!Dockerfileやrequirement.txtも自律的に作ってくれました。
※cloudbuild.yamlは後ほどJulesに明示的に依頼して作ってもらいました。
claude使って指摘してみました。しっかり対応してくれますね。
ブランチに追記されるので、マージします。
マージされました
GoogleCloud側の設定
Artifact Registryのリポジトリ作成
GoogleCloud環境へアクセスし、Artifact Registryへ移動し、リポジトリの作成を押下
リポジトリ名を指定。Docker形式、モードは標準。
今回検証なのでロケーションは単一リージョンで、東京を設定します。
その他は基本標準。クリーンアップだけ設定しました。10世代くらい残す設定にしました。
リポジトリ作られました
GitHubとCloud Buildのリポジトリリンクの作成
Cloud Buildの画面で、リポジトリ画面から第2世代を選択し、リポジトリをリンクをクリック。
接続からホスト接続を作成をクリック
GitHubを選択して、東京リージョンを選択。
名前を付けて接続をクリック。
インストールを選択して確認をクリック。
リポジトリとの接続ができました。
Cloud Buildトリガー作成
トリガーを作成します。
これで、GitHubのmainにpushしたら、自動でビルド、デプロイまで実施されるようになります!
Cloud Build画面からトリガーを作成
東京リージョンを選択。タグや説明はお好みです。
リポジトリの生成は第二世代を選択。リポジトリをリンクをクリック
別ウィンドウが出てきます。
リポジトリを選択してリンクをクリック。
リポジトリに先ほどリンクしたリポジトリが出てきます。
構成は、Cloud Buildを選択。
ロケーションはリポジトリ、構成ファイルの場所はデフォルト変更なしです。
Julesもおそらくこの場所にcloudbuild.yamlを作ってくれると思います。
サービスアカウントを選択して、保存をクリック
Cloud Run Jobの設定
アプリを実行するCloud Run環境を作ります。
今回のアプリはスケジューラもしくは手動実行を想定しているため、Cloud Run Jobで作成します。
Cloud Runのジョブからコンテナをデプロイをクリック
コンテナイメージURLの選択から、イメージを選択します。
リージョンは東京を選択。
サービスアカウントを設定。今回は専用サービスアカウントを利用しました。
最小権限の原則にのっとり、堅牢なシステムになります。
今回のような検証であればとりあえずデフォルトのサービスアカウントでもよいと考えますが、
他環境と明確に切り離したかったので今回はあえて分けました。
動作確認
作り終えましたので、動作確認します!
まずは、何かプログラムを更新をします。Julesに更新を依頼します。
更新してくれたので、branchにプッシュGitを更新します。
GitHub上でmainブランチにマージします。
マージすると、自動でCloud Buidが走ります。
CoreBuldの完了を待って、CloudRun実行。
私は、ビルド成功するまで10回以上かかりましたが、都度エラーをJulesに連携して進めました。
なかなか解決しなかった場合、別LLM(Claude)にエラーを投げて、その解答をJulesに教えることで前に進みました。
実行が終了したら、ログを確認します。
印象に残っていたのは、最初にJulesが作ったプログラムだと、Geminiのバージョンが古かったです(1.0 proを指定してました)
指摘しても、「最新の1.5に修正します」とトンチンカンなことを言ってました。
そういった際は、明確に「○○ファイルに記載されている”gemini-1.5-flash”を”gemini-2.5-flash”に変更ください」
と伝えれば変えてくれます。
エラーが出ていないことを確認しましょう。
ログもそうですし、結果出力をしっかり確認しましょう。
最終出力も確認します。
ちょっとイメージと違いましたが、とりあえずai関連のニュースサマリが出ました!!
今後Jules使って改善していこうと思います!
Jules使ってみた感想
素晴らしい点
- 自律的に実施してくれる
自然言語で依頼したら、自身で考えて計画を立て、プログラム作成/修正まで実施してくれます。
バグが多かったので「ちゃんとテストしてよ」と言ったところ、以下のようなことを言ってくれます。
そこまで考えてくれるんですか・・・!!(できるなら最初からやってよとも思いますが)-
-
- 私の手元にあるサンドボックス環境では外部のネットワーク、特にあなたのGoogle Cloudプロジェクト
(GCSやVertex AI Searchなど)に直接接続することは許可されておりません。~(中略)~
そのため、外部サービスとの連携部分を模倣した「ユニットテスト」を導入することをご提案します。
- 私の手元にあるサンドボックス環境では外部のネットワーク、特にあなたのGoogle Cloudプロジェクト
-
-
- Julesでできないことを明確にして依頼してくれる
今回でいうと、Google Cloudとの連携部分はJules単体では実施できません。
その際、こちらで必要な作業を明確にして依頼してくれます。
「プログラムのここに、作成したGoogle Cloudのサービスアカウント名を入力してください」
といった依頼をしてくれました。 - プログラミングだけでないサポート
GoogleCloudの設定方法についても教えてくれます。
ある要件の実現方法が、プログラムなのか基盤側の設定なのかよくわからないケースもあると思いますが、
それもいったんJulesに投げれば、どうすればいいか回答してくれます。 - 1日の利用上限が多い
1日15回タスクが上限なのですが、「1タスク」とは1回の指示という意味ではなく、「1つづきの会話」のようです。「さっき言ってたのやったけど失敗したんだけど」と会話の続きであれば、1タスク内です。
もったいない点
- 過去の指摘を忘れてくる。
少し触れましたが、JulesはGeminiのバージョンを間違えてきました(1.0 pro)が、それを指摘して修正(2.5 flash)した後、
別の箇所の修正するときに合わせてGeminiのバージョンを元の間違った値に修正されました(1.0 pro)。
RSSのURLでも同様の事象があり、おそらく内部のAIが学習した時点の古い情報に戻ってしまうことが散見されました。 - 応答時間にかなりのムラがある。
簡単な修正であれば平均2-3分で修正までしてくれますが、まれに20分程度応答がないこともありました。ネット上では5時間待ちという話もあります。通知設定もできるので、応答ない場合は気長に待ちましょう。 - 良くも悪くも気を利かせすぎ
今回、aiでのnews要約システムを作りました。その際のプロンプトは私が何も指定せずにJules側決められました。Julesの作成したプロンプトは「以下の記事を300字程度の日本語で要約してください」でした。300文字は私のイメージより長すぎでした。
このように、明確に指示のない箇所をある程度自律的に設計してくれるのですが、イメージとずれていることも結構あります。 - 英語で応答を返してくる
LLMあるあるではありますが、日本語で聞いているのに日本語で返ってこないケースが、一般的なLLMより多いと感じました。
おそらくですがコードやエラーログなど、英語の情報を渡すことが多いので英語で返ってきてしまうのだろうと思います。
まとめ
今回は、GoogleのAIエージェント「Jules」を使って、AIニュースの要約システムを構築する過程をご紹介しました。
私自身、プログラミングやGitHubの知識がほとんどない状態からスタートしましたが、Julesがまるで同僚(いや、技術力のある大先輩)のように自律的にコードを生成・修正してくれたおかげで、無事システムを完成させることができました。プログラミング以外の領域でもJulesが次にやるべきことを明確に示してくれたため、スムーズに進めることができました。
もちろん、応答時間にムラがあったり、こちらの意図と少し違う実装したりといった改善点も感じましたが、それを差し引いても、Julesは非常に強力で、今後の開発のあり方を大きく変える可能性を秘めたツールだと確信しています。
技術の進化のスピードは驚くほど速く、ついていくのが大変だと感じることもありますが、JulesのようなAIエージェントをうまく活用すれば、私のようなインフラエンジニアでも、プログラミングの世界に飛び込んでいける時代になったのだと実感しました。
一方で、Julesの作った計画/方針やプログラムを理解する能力も同様に重要だと感じました。検証なのであまり考えずデプロイしてましたが、セキュリティ観点、コスト観点、etc…と、仮に正常に動作したとしても本番化には様々考えることがあります。その観点でJulesの出力を理解しなければ、指摘ができません。指摘できなければ、Julesも修正はしてくれません。
これを読んでくださった皆さんも、ぜひ一度Julesを試してみてはいかがでしょうか。