Gemini Conductor:GoogleのAIコーディング改善ツールが登場

AAI LABS
Computing/SoftwareSmall Business/StartupsInternet Technology

Transcript

00:00:00このチャンネルをフォローしていれば、
00:00:01これまで取り上げてきたさまざまなタイプのコンテキストエンジニアリングワークフローについてご存知でしょう。さて、
00:00:06Googleもまた新しいものをリリースしました。他のワークフローより優れていると言えたらいいのですが、
00:00:11実際はそうではありません。そして、
00:00:12これには多くの問題があります。たとえGeminiエコシステムにとって優れていると主張したとしても、
00:00:17やはり良いとは言えません。なぜこれをリリースする必要がなかったのかを掘り下げる前に、
00:00:21Automataについて少しお話ししましょう。数百万人の人々にAIを使った構築方法を教えた後、
00:00:25私たちはこれらのワークフローを自分たちで実装し始めました。そして、
00:00:28これまで以上に速く、
00:00:29より優れた製品を構築できることを発見しました。私たちは、
00:00:32アプリでもウェブサイトでも、
00:00:33あなたのアイデアを実現するお手伝いをします。もしかしたら、
00:00:36私たちの動画を見て「素晴らしいアイデアがあるけど、
00:00:38それを構築する技術チームがない」と思っているかもしれません。まさにそこで私たちの出番です。
00:00:42私たちをあなたの技術的な副操縦士だと考えてください。私たちは、
00:00:45数百万人に教えてきたのと同じワークフローをあなたのプロジェクトに直接適用し、
00:00:49開発チームを雇用したり管理したりする煩わしさなしに、
00:00:51コンセプトを実際に機能するソリューションに変えます。あなたのアイデアを現実へと加速させる準備はできていますか?hello@automata.devまでご連絡ください。
00:00:59さて、
00:01:00これがコンテキストエンジニアリングワークフローへのまた別の貧弱な試みである理由を説明する前に、
00:01:04まずConductorが実際にどのように機能するのかを掘り下げていきましょう。これが記事で、
00:01:09下の説明欄にリンクを貼っておきます。最後に、
00:01:11Gemini CLIで拡張機能としてインストールするためのコマンドが表示されます。ご存じない方のために説明すると、
00:01:17拡張機能とは、
00:01:17コマンド、
00:01:18MCP、
00:01:18その他のルールをまとめてパッケージ化し、
00:01:20ホストして他の人と共有できるようにしたものです。ClaudeにもPluginsと呼ばれる似たようなものがあります。実際にワークフローを開始するには、
00:01:28コマンドを使用してインストールします。インストール後、
00:01:30Conductorでスラッシュコマンドを使用できるようになります。Conductorを制御し、
00:01:35ワークフローを使用する方法を実際にコントロールする5つのコマンドが得られます。最初に使用するコマンドはセットアップコマンドです。
00:01:41このコマンドがすることは、
00:01:43まずセットアップ状態や、
00:01:44プロジェクトがすでに初期化されているかどうかを示す他のファイルなど、
00:01:48既存のConductorファイルが利用可能かどうかをチェックすることです。
00:01:51ストーリーの代わりに、tracksと呼ばれるファイルを作成し、それらを1つずつ完了させます。
00:01:56その後、
00:01:57新しいGitHubリポジトリを初期化し、
00:01:59何を構築するかを尋ねられました。テストのために簡単なプロジェクトを作成しましたが、
00:02:04作成されるアーキテクチャが実際に優れているかどうかをテストしたかったのです。そのため、
00:02:09実際に必要なものを推奨してくれるかどうかをテストするために、
00:02:12プロダクションレディで大規模なユーザー数に対応できるスケーラビリティを持つべきだと伝えました。その後、
00:02:18構築したいものの実際のコンセプトを含むproduct.mdファイルが作成されました。実際にそれを洗練させて作り上げるために、
00:02:25質問が始まりましたが、
00:02:26最終的には質問があまりどこにも繋がらず、
00:02:28本当に単純的だったので、
00:02:30すべて自動生成させることにしました。プロダクトガイドを承認して保存した後、
00:02:34プロダクトのスタイリングやいくつかのデザイン原則に主に焦点を当てたプロダクトガイドラインという別のファイルを作成したいとのことでした。それも承認し、
00:02:42プロダクトガイドラインも保存されました。その後、
00:02:45技術スタックを定義しましたが、
00:02:47これがワークフローが良くなかった理由の1つです。私のプロジェクト全体を把握していたにもかかわらず、
00:02:52提供された技術スタックが混乱しており、
00:02:55適切なものを推奨していませんでした。それを修正した後、
00:02:58技術スタックも承認され、
00:02:59そのMDファイルも更新されました。また、
00:03:01コードスタイルガイドと呼ばれるファイルもあります。実際のフォルダーに入ると、
00:03:06これらだけの言語があり、
00:03:07プロジェクトでこれらのいずれかを使用すると判断すると、
00:03:10初期化中に現在のプロジェクトのコードスタイルガイドに追加されます。使用されているデフォルトのワークフローは実際にかなり良いものです。デフォルトでは80%のコードテストカバレッジが含まれており、
00:03:21セットアップやベースコンポーネントの作成中には、
00:03:24テストも確実に記述されており、
00:03:26タスク完了後にもテストが実行されていました。同時に、
00:03:29すべてのタスク後に変更をコミットし、
00:03:31git notesも使用しているため、
00:03:33何か問題が起きた場所やタイミングを実際に追跡できました。初期セットアップの完了後、
00:03:38最初のtrackに取り掛かれるように、
00:03:40いくつかの高レベルの製品要件が作成されました。これが実装しようとしていた最初のtrackです。
00:03:45繰り返しますが、
00:03:46これは広範すぎて、
00:03:47より小さなtrackに分割する必要がありました。1つのtrackで実行するには多すぎて、
00:03:52同時にこれだけのことを行うと、
00:03:53失敗する可能性が高くなりました。それを完了した後、
00:03:56implementコマンドを実行して作業を開始でき、
00:03:59tracksフォルダには、
00:04:001つずつ実装されるさまざまなtrackがあります。各trackには2つのファイル、
00:04:05plan.mdとspec.mdがあります。spec.mdには、
00:04:08技術スタックと最初に入力した情報から抽出された目標と技術的詳細が含まれています。plan.mdには、
00:04:141つずつ実装する必要があるタスクが実際に含まれています。実際にimplementコマンドを使用しているとき、
00:04:20tracks.mdを参照し、
00:04:22基本的にステータスに基づいて何をすべきかを実際に把握する各trackを見ます。空の場合は未開始です。これは進行中を意味し、
00:04:28これはtrackが完了したことを意味します。そしてご覧のとおり、
00:04:32この現在のtrackは進行中です。他のコマンドについては、
00:04:35statusコマンドは現在進行中の状況と、
00:04:37どのtrackが実行されていて、
00:04:39どれが完了していないかのステータスレポートを提供します。new trackコマンドを使用すると、
00:04:45新しいタスクのためにさまざまな質問が再度されます。また、
00:04:48既存のリポジトリにも実装しましたが、
00:04:50ほぼ同じように進みました。既存のファイルを確認して明確化のための質問をするだけで、
00:04:54新しいtrackを求められなかったので、
00:04:56少し違いました。
00:04:57新しい機能として、
00:04:58自分で新しいtrackを実装する必要がありました。そして、
00:05:02revertというもう1つの非常に賢い機能があり、
00:05:04これは実際に損害を軽減し、
00:05:06gitを認識しています。つまり、
00:05:07エージェントがどこかで失敗した場合に、
00:05:09gitを使用して支援します。さて、
00:05:11現在のファイル管理と構造はそれほど悪くありません。新機能や既存のタスクをtrackに実装し、
00:05:16それらを追跡する方法は実際にかなり良いです。しかし、
00:05:19指示の書き方やこれらのコマンドファイルの書き方は改善が必要です。なぜなら、
00:05:23すべてをチェックする必要があるコンテキストループを適切に管理していないからです。そして、
00:05:28変更があった場合、
00:05:29どのように変更する必要があるのかが不明確です。この初期プロセス中でさえ、
00:05:33多くの間違いがあったからです。最初の間違いは、
00:05:35各ドキュメントの作成を求めている間、
00:05:37私のアイデアを適切に分析しなかったことです。そして、
00:05:40多くのことについて私がガイドする必要がありました。十分だと思ったとき、
00:05:44残りのコンテンツを自動生成させました。そして、
00:05:46前述したように、
00:05:47技術スタックを定義している間も、
00:05:49多くのことを見落としていました。オプションBは良かったのですが、
00:05:53大規模なユーザー数に対応する完全にスケーラブルなアプリが欲しいと伝えたのに、
00:05:57明確化して必要だと明示的に伝えなければならなかった多くのことを見落としており、
00:06:01その後計画が修正されました。最初のtrackが生成されたとき、
00:06:04実際に入って、
00:06:05生成されたplanとspecsを確認しましたが、
00:06:08データベーススキーマが完全に不完全でした。アプリのセットアップに不可欠な多くのことが欠けており、
00:06:13再びガイドして正しい方向に導く必要がありました。さて、
00:06:16Geminiは実際に非常に優れたモデルです。そのため、
00:06:19実装されたコマンドがこのような動作をさせている原因だと疑わざるを得ません。
00:06:23そして、
00:06:24セットアップ自体は実際には良好であるにもかかわらず、
00:06:26私が信じる最大の理由は、
00:06:27メインのスラッシュコマンドに多くの問題があり、
00:06:30特にワークフローdotMDに問題があるということです。なぜなら、
00:06:33NPMを変更したいと伝えた後、
00:06:34大きな部分を台無しにしてしまったからです。代わりに、
00:06:37先ほど言及するのを忘れていたので、
00:06:39PNPMを使いたいと伝えました。なぜか、
00:06:41最初にバックアップを作成しようとしました。
00:06:43そして、
00:06:43その作業中に、
00:06:44NPMで作成されたファイルを削除する必要があると述べました。しかし、
00:06:48結局、
00:06:48すべての計画ファイルが含まれているコンダクターフォルダ全体を削除してしまいました。それを削除した後、
00:06:53継続的にフォルダを探していました。そして、
00:06:56見つからなかったとき、
00:06:57コンテキストとメモリに持っているすべてのものを使用して、
00:07:00コンダクターフォルダを再構築すると言いました。
00:07:02つまり基本的に、
00:07:03通常のコンテキストワークフローが行うべきこととは対照的に、
00:07:06すべてを書き直さなければなりませんでした。通常のワークフローでは、
00:07:09変更はメインのコンテキストファイルとその特定のタスクに関連するファイルにのみ影響するはずです。これがBe Madが効率的に動作する方法です。さて、
00:07:16もし突然何かを変更するように頼んでいなければ、
00:07:18うまくいっていたかもしれません。しかしそれでも、
00:07:20すべてのタスクを初期化していたとき、
00:07:22最初のトラックの実装を開始するように依頼すると、
00:07:24プロジェクトと必要な他のコアサービスを開始して初期化しました。さて、
00:07:28Superbase接続の環境変数を設定する段階になったとき、
00:07:31なぜか、
00:07:31明らかにダミーキーを入れながら、
00:07:33タスクを自動的に完了としてマークしました。Superbaseプロジェクトをセットアップしたり、
00:07:37実際のキーを提供したりするよう、
00:07:39私に尋ねることさえしませんでした。そして自動的にデータベーススキーマをプッシュしようとしました。実際のキーがなかったため、
00:07:44失敗しました。そして、
00:07:45文字列を再確認するように私に求めました。つまり、
00:07:48タスクが適切に更新されておらず、
00:07:49正しく従っていませんでした。正直なところ、
00:07:51エンドツーエンドの仕様開発には、
00:07:53現時点ではこれを使用しません。Be Madの方がはるかに優れた選択肢です。そして小規模プロジェクトの場合、
00:07:58私は依然として独自のコンテキストファイルを作成しています。これでこのビデオは終わりです。チャンネルをサポートして、
00:08:03このようなビデオを作り続けるのを手伝いたい場合は、
00:08:06下のスーパーサンクスボタンを使用してそうすることができます。いつものように、
00:08:09ご視聴ありがとうございました。次回またお会いしましょう。

Key Takeaway

GoogleのGemini Conductorは多くの問題を抱えており、現時点ではBe Madなどの他のコンテキストエンジニアリングワークフローの方が優れた選択肢である。

Highlights

GoogleがリリースしたGemini Conductorは、他のコンテキストエンジニアリングワークフローと比較して優れているとは言えない

Conductorは拡張機能としてインストールされ、5つのスラッシュコマンド(setup、implement、status、new track、revert)で制御される

セットアップ時に技術スタックの推奨が不適切で、プロダクションレディなアプリに必要な要素を見落としていた

80%のコードテストカバレッジとGitコミット管理などのデフォルト機能は評価できる

NPMからPNPMへの変更時にConductorフォルダ全体を誤って削除するなど、重大なエラーが発生

環境変数の設定時にダミーキーを入れたままタスクを完了とマークするなど、タスク管理が不適切

エンドツーエンドの開発にはBe Madの方が優れた選択肢であるとの結論

Timeline

イントロダクションとAutomataの紹介

チャンネルで取り上げてきたコンテキストエンジニアリングワークフローの流れから、GoogleがリリースしたGemini Conductorを紹介。しかし、他のワークフローより優れているとは言えず、多くの問題があることを予告している。Automataというサービスについて説明し、数百万人にAIを使った構築方法を教えた経験を活かして、アプリやウェブサイトのアイデアを実現するサポートを提供していると述べている。技術チームがない人向けに、技術的な副操縦士としてコンセプトを実際に機能するソリューションに変える役割を果たすとしている。

Conductorの基本的な仕組みと拡張機能の説明

Conductorがどのように機能するのかを解説する前に、記事リンクを提示し、Gemini CLIで拡張機能としてインストールする方法を説明。拡張機能とは、コマンド、MCP、その他のルールをパッケージ化してホストし、他の人と共有できるようにしたものであると定義している。ClaudeにもPluginsと呼ばれる類似の機能があることに言及。コマンドを使用してインストール後、Conductorのスラッシュコマンドが利用可能になることを説明している。

5つのコマンドとセットアップコマンドの詳細

Conductorを制御する5つのコマンドについて説明し、最初に使用するセットアップコマンドの動作を詳述。セットアップコマンドは既存のConductorファイルや初期化状態をチェックし、ストーリーの代わりにtracksと呼ばれるファイルを作成して1つずつ完了させる仕組みになっている。新しいGitHubリポジトリを初期化し、何を構築するかを尋ねられた際、テストのために簡単なプロジェクトを作成したと述べている。しかし、プロダクションレディで大規模ユーザー数に対応できるスケーラビリティを持つべきだと伝えたにもかかわらず、適切な推奨が得られるかをテストしたかったと説明している。

ファイル生成プロセスと技術スタックの問題

product.mdファイルが作成され、構築したいもののコンセプトが含まれたが、質問が単純的でどこにも繋がらなかったため、すべて自動生成させることにしたと述べている。プロダクトガイドを承認後、スタイリングやデザイン原則に焦点を当てたプロダクトガイドラインファイルも作成された。技術スタックを定義する段階で、ワークフローが良くなかった理由の1つとして、プロジェクト全体を把握していたにもかかわらず、提供された技術スタックが混乱しており適切な推奨がなされなかったことを指摘。修正後、技術スタックとMDファイルが承認・更新され、コードスタイルガイドというファイルも作成されたことを説明している。

デフォルトワークフローの評価とテスト機能

プロジェクトで使用すると判断された言語が初期化中にコードスタイルガイドに追加される仕組みを説明。使用されているデフォルトのワークフローは実際にかなり良いと評価し、デフォルトで80%のコードテストカバレッジが含まれていることを高く評価している。セットアップやベースコンポーネントの作成中にテストが確実に記述され、タスク完了後にもテストが実行されていたと述べている。また、すべてのタスク後に変更をコミットし、git notesも使用しているため、何か問題が起きた場所やタイミングを実際に追跡できたことをポジティブに評価している。

Track実装とファイル構造の詳細

初期セットアップ完了後、高レベルの製品要件が作成され、最初のtrackに取り掛かれるようになったと説明。しかし、最初のtrackは広範すぎて小さなtrackに分割する必要があり、1つのtrackで実行するには多すぎて失敗する可能性が高かったと批判している。implementコマンドを実行して作業を開始でき、tracksフォルダにはさまざまなtrackが含まれることを説明。各trackには2つのファイル(plan.mdとspec.md)があり、spec.mdには技術スタックと目標・技術的詳細が、plan.mdには1つずつ実装する必要があるタスクが含まれていると述べている。tracks.mdを参照してステータスに基づいて何をすべきかを把握する仕組みを解説している。

その他のコマンドと既存リポジトリへの実装

statusコマンドは現在進行中の状況とtrackのステータスレポートを提供し、new trackコマンドは新しいタスクのためにさまざまな質問を行うと説明。既存のリポジトリにも実装したが、既存ファイルを確認して明確化のための質問をするだけで、新しいtrackを求められなかったため少し違ったと述べている。新しい機能として自分で新しいtrackを実装する必要があったことに言及。revertという非常に賢い機能があり、実際に損害を軽減しgitを認識しているため、エージェントがどこかで失敗した場合にgitを使用して支援することを評価している。

ファイル管理の評価と指示書きの問題点

現在のファイル管理と構造はそれほど悪くなく、新機能や既存のタスクをtrackに実装して追跡する方法は実際にかなり良いと評価。しかし、指示の書き方やコマンドファイルの書き方は改善が必要だと指摘し、その理由としてすべてをチェックする必要があるコンテキストループを適切に管理していないことを挙げている。変更があった場合にどのように変更する必要があるのかが不明確であり、初期プロセス中でさえ多くの間違いがあったと批判。最初の間違いとして、各ドキュメントの作成を求めている間、アイデアを適切に分析しなかったことを指摘している。

セットアップ時の具体的な問題点

多くのことについてガイドする必要があり、十分だと思ったときに残りのコンテンツを自動生成させたと述べている。技術スタックを定義している間も多くのことを見落としており、オプションBは良かったものの、大規模なユーザー数に対応する完全にスケーラブルなアプリが欲しいと伝えたのに、明確化して必要だと明示的に伝えなければならなかった多くのことを見落としていたと批判。その後計画が修正されたが、最初のtrackが生成されたときにデータベーススキーマが完全に不完全で、アプリのセットアップに不可欠な多くのことが欠けており、再びガイドして正しい方向に導く必要があったと説明している。

Geminiモデルとコマンド実装の問題

Geminiは実際に非常に優れたモデルであるため、実装されたコマンドがこのような動作をさせている原因だと疑わざるを得ないと述べている。セットアップ自体は良好であるにもかかわらず、メインのスラッシュコマンドに多くの問題があり、特にワークフローdotMDに問題があると指摘。NPMをPNPMに変更したいと伝えた後、大きな部分を台無しにしてしまい、最初にバックアップを作成しようとしたが、NPMで作成されたファイルを削除する必要があると述べた際に、すべての計画ファイルが含まれているコンダクターフォルダ全体を削除してしまったと説明。その後継続的にフォルダを探し、見つからなかったときにコンテキストとメモリに持っているすべてのものを使用してコンダクターフォルダを再構築すると言ったことを批判している。

通常のワークフローとの比較と追加の問題点

通常のコンテキストワークフローが行うべきこととは対照的に、すべてを書き直さなければならなかったと述べている。通常のワークフローでは、変更はメインのコンテキストファイルとその特定のタスクに関連するファイルにのみ影響するはずであり、これがBe Madが効率的に動作する方法だと説明。突然何かを変更するように頼んでいなければうまくいっていたかもしれないが、すべてのタスクを初期化していたときに最初のトラックの実装を開始するように依頼すると、プロジェクトと必要な他のコアサービスを開始して初期化したと述べている。Superbase接続の環境変数を設定する段階で、明らかにダミーキーを入れながらタスクを自動的に完了としてマークし、Superbaseプロジェクトをセットアップしたり実際のキーを提供したりするよう尋ねることさえしなかったと批判している。

結論と推奨事項

自動的にデータベーススキーマをプッシュしようとしたが、実際のキーがなかったため失敗し、文字列を再確認するように求められたことで、タスクが適切に更新されておらず正しく従っていなかったと結論づけている。正直なところ、エンドツーエンドの仕様開発には現時点ではこれを使用せず、Be Madの方がはるかに優れた選択肢だと述べている。小規模プロジェクトの場合は依然として独自のコンテキストファイルを作成していると説明。視聴者にチャンネルをサポートしてこのようなビデオを作り続けるのを手伝いたい場合は、スーパーサンクスボタンを使用できることを案内し、次回またお会いしましょうと締めくくっている。

Community Posts

View all posts