Transcript
00:00:00皆さん、こんにちは。今回は Agent vs Open Code のデモとして、
00:00:092つの実行環境をテストします。例として使うのは、前回の動画で
00:00:20バイブ・コーディングしたこちらのゲームです。今回の動画では、
00:00:29バグを修正する方法をテストしたいと思います。ご覧の通り、
00:00:38Xが勝利しましたが、セルがハイライトされていません。そこで、
00:00:51ローカルLLMの Qwen 2.5 3B を使って修正を試みます。これは、
00:01:04現時点でPC上で動かせる最高のモデルだと思います。まずは Pika から。
00:01:16これが Pika です。ソースファイルがバラバラに置かれている
00:01:30このディレクトリ内で実行します。index.html、game.js、style.css があり、
00:01:42両方の環境で同じプロンプトを試して結果を比較します。また、
00:01:55タスク完了までの時間をタイマーで計ります。プロンプトはこちら。
00:02:11「セルの立方体をもっと見やすくし、間隔を空けてください」
00:02:19ご覧の通り、立方体同士が非常に密着しています。そして
00:02:282つ目のタスクは「勝利判定のロジック改善。勝利したマーカーは
00:02:37緑色になるように」。これも問題で、現状ではどのマーカーで
00:02:46勝ったのか分かりません。はい、プロンプトに従って開始しました。
00:02:59Pika が現在のディレクトリの解析を始めました。ここで
00:03:09使用されたコンテキストが見えますが、修正にかかった時間のほうが
00:03:20興味深いかもしれません。作業中です。その後、同じタスクを
00:03:30Open Code で行います。リポジトリをリセットして同じ条件にします。
00:03:41しばらく動画を一時停止します。修正が終わったらまたお会いしましょう。
00:04:00はい、完了です。変更内容のレポートを作成中ですので、
00:04:20その後に結果をテストします。Qwen 2.5 で 7分44秒かかりました。
00:04:38結果を見てみましょう。これがレポートで、コードに何が起きたか
00:04:47技術的な詳細が記されています。game.js の各所を
00:04:58何度か部分的に読み込んだようです。これが diff です。ファイルを
00:05:09大幅に編集したのが分かります。送信トークンは合計 9.4K、受信は
00:05:232.8K でした。これがコンテキストの使用結果です。リロードして、
00:05:35セルの立方体に間隔が空き、それぞれ分離されました。
00:05:44プレイしてみます。中央のセルから始めます。よし、
00:06:00コンピューターを勝たせてみましょう。完璧です。コンピューターが勝ち、
00:06:11立方体の間隔も広がり、勝利マーカーもハイライトされました。
00:06:20成功です。これは Pika コーディング・エージェントでした。次は
00:06:30Open Code で、同じモデルと同じコードを使ってテストします。
00:06:50コードをバグのある状態に戻しました。Open Code で同じ
00:07:00プロンプトを試します。セルの見た目と勝利ロジックについてです。
00:07:11自作の Basico というカスタム・エージェントで同じモデルを使います。
00:07:27Basico を作ったのは、デフォルトのコーディング・エージェントより
00:07:36ずっとシンプルだからです。Basico エージェントはこれです。
00:07:56ただのシンプルな Markdown ファイルです。「最小限のエージェント」とし、
00:08:07検索エンジンツールを使った Web 取得のみを指定しています。
00:08:15今回は使いません。Open Code で似たような条件を再現するための
00:08:24非常にシンプルな構成です。すでにコンテキストを 12K 消費しています。
00:08:34index や game.js から開始しました。ここでも一時停止後に
00:08:47最終結果を確認します。あまりフィードバックがないまま動いています。
00:08:58補足ですが、Gemma 2 27B でも同じテストを試しました。
00:09:07しかし、この種のプロジェクトでのツール呼び出しができませんでした。
00:09:20Gemma 2 は 3D 三目並べの再現はできても、ファイルを編集するための
00:09:30ツール呼び出しができなかったのです。そのため、このローカル環境に
00:09:38最適と思われる Qwen 2.5 のみでテストを行っています。
00:09:48ToDo を埋めているのが興味深いです。タスクは 2つあります。
00:09:58セルの視認性向上と、ロジックの修正です。そのため Pika より
00:10:07少しオーバーヘッドが生じます。Pika は ToDo を挟まずに
00:10:17タスクをこなせました。もっと複雑な状況なら ToDo は有効かも
00:10:26しれませんが。結局、実行環境(ハーネス)よりも LLM モデル
00:10:35そのものの差が一番大きいと私は考えています。様子を見ましょう。
00:10:44ではまた。
00:10:56...
00:11:27ほぼ終わりました。両方の ToDo が完了しましたが、まだ
00:11:40読み込みとファイルへの書き込みが必要です。
00:11:52レポートを書き終えたら終了のはずです。すでに 12分経過しており、
00:12:05より時間がかかっています。はい、終わりました。見てみましょう。
00:12:15Open Code でのコンテキスト消費は約 23K です。トークンの集計方法が
00:12:26異なるかもしれませんが、Pika は半分のトークン数で済みました。
00:12:36これが技術レポートです。修正のために game.js を
00:12:46何度も開いています。では、実際に修正が機能するかテストします。
00:12:57リロードします。Pika 版と似ていますね。中央のセルを選択。
00:13:19勝ってみましょう。はい、勝ちました。ご覧の通り、Pika と
00:13:32同様の結果が得られましたが、より多くのトークンと時間を費やしました。
00:13:43今回のケースでは、ガードレールやプロンプトの調整など機能が豊富な
00:13:55Open Code も同じ解決策を出しましたが、Pika のほうが
00:14:06短時間かつ少ないトークンで済みました。結論として、先ほど言ったように
00:14:18どの LLM を使うかが最も重要です。実行環境も有用ですが、
00:14:28コンテキストに投入されるデータの質こそが重要です。
00:14:36今回の Pika コーディング・エージェントはオーバーヘッドが少なく、
00:14:47長大なプロンプトがなくても良い結果が得られました。
00:14:58お好みのオープンソース・コーディング・エージェントをコメントで教えてください。
00:15:06では、また次の動画で。さようなら。
Community Posts
No posts yet. Be the first to write about this video!
Write about this video