皆が知っている通り、AIはコマンドラインから始まりました。AIと機械学習は依然として非常にホットで、新しい製品が次々と登場していますが、開発者の大多数はコマンドラインの中で暮らしています。そのため、GoogleはJulesコーディングエージェントをターミナルに投入し、Jules Toolsという新しいツールを公開しました。
Googleは創業時から検索をインターネットのコマンドラインと位置づけており、現在では非同期コーディングエージェントであるJulesにコマンドラインインターーフェースを作成し、「Jules Tools」という誘惑的な名前を付けました。
これは必ず起こることでした。なぜなら、複数のAI大手企業は 이미 これを行っているからです。OpenAIにはCodex CLIというコマンドラインインターーフェース(CLI)があります。AnthropicのClaude CodeはCLIコーディングエージェントです。CursorはAIコーディング用の統合開発環境(IDE)であり、CLIを持っています。
ソフトウェア開発者向けのあらゆるアプリケーションは、いつかはコマンドラインツールを実装する必要があります。
Google LabsのソフトウェアエンジニアであるJiahao Caiと、同社のプロダクトマネージャーであるAK Kulkarniも、Jules Toolsを発表した記事で同じ見解を示しました。
彼らは述べています。「これまで、Julesとは主にWebブラウザを通じてやり取りしてきたと思いますが、開発者たちはターミナルの中にいるのが大好きだと私たちは知っています。こここそが、テスト、構築、デバッグ、リリースを行う場所です。そのため、Jules Toolsという軽量なコマンドラインインターーフェースを構築しました。これを使えば、タスクを開始し、Julesが何を行っているか確認し、作業フローから離れるずにJulesを自分自身のエージェントにすることができます。」
Julesは2024年12月に公開されました。GoogleのGeminiモデルを使用してコードベースを検索し、バグを修正し、テストを作成します。GitHub Copilotコーディングエージェントと同様に、提案された変更をすべて人間がレビューすることなく、一連の指示を自動的に実行するように設計されています——つまり「非同期」と呼ばれる所以です。
恰好のことに、私が開発したElectronベースのRSSリーダーで、未解決のバグに遭遇しました。そこで、このエラー情報をJulesに伝え、プロジェクトのGitHubリポジトリで好きにさせました。
そのアプリは最近、未処理のPromise拒否によりタイプエラーをスローしました。本質的に、アプリのレンダリングプロセスが、ウィンドウオブジェクトが破棄された後に对其进行 操作しようとしていました。
Julesは数分かけてエラーメッセージを分析し、バグを修正する計画を提案しました。
コーディングエージェントは次のように述べました。
「js/rsslib.jsを正常に変更し、「オブジェクトは既に破棄されています」というエラーを回避しました。winオブジェクトがレンダリングプロセスにデータを送信する前に依然として有効であることを確認するチェックを追加することで、アプリがクラッシュする原因となっていたレースコンディション(競合状態)を解決しました。また、ファイルを確認して、変更が正しく適用されたことを確認しました。」
一見すると、ロボットが提案したバグ修正のプルリクエストは満足のいくものでした。しかし、修正プロセスは重複しており、DRY原則(Don't Repeat Yourself)に違反しています。一連のwin.isDestroyed()チェックは、より簡潔に実装できるかもしれません。私はJulesの返信に満足しました。
この修正はJulesのWebインターーフェース経由で行われました。CaiとKulkarniによると、Jules ToolsはこのAIアシスタントをよりプログラム可能でカスタマイズ可能にします。
彼らは言います。「Jules Toolsは単なるインターフェースではなく、ターミナルであなたが行うすべてのことにJulesを接続する方法です。」
最後に、Jules Toolsをインストールするには、次のコードを入力します。
npm install -g @google/jules(もちろん、末尾のドットは含めないでください。)
著者:ロウ・イー(Luo Yi)
関連読書:
RustでLlama 3.2とチャットするためのCLIの構築私が最も好きなフロントエンドツール:開発者のためのモダンWeb開発の宝庫Google 50のPythonコーディング規範:落とし穴ガイドとベストプラクティス