Googleはちょうどコーディングゲームに勝った…

AGIに仕事を奪われたい
この記事は約33分で読めます。

19,709 文字

Google JUST WON the Coding Game...
The latest AI News. Learn about LLMs, Gen AI and get ready for the rollout of AGI. Wes Roth covers the latest happenings...

私はサム・アルトマンがGoogleを何度も苛立たせたと思います。そしてGoogleはこのGemini 2.5 Proをリリースしました。一夜にしてArenaリーダーボードで1位になり、Grok 3やGPT-4.5に対して40ポイントもの史上最大のスコアジャンプを達成しました。すべてのカテゴリーで1位であり、特に数学、創造的な文章作成、そして他の多くの重要なカテゴリーでユニークに1位を獲得しています。
人々は絶賛しています。マッケイ・リグリーは「コードに関しては間違いなく最高のモデルです。非常に強力で、100万トークンのコンテキストウィンドウは正真正銘のものです。本物の洞察や素晴らしさを垣間見せ、常に一発でチケット全体を処理します」と言っています。私も同様の経験をしました。
これは私が試した最も難しいプロンプトの一つを一発で処理できた最初のモデルです。ゼロから動画ゲームを作成し、そこにいる小さなボットにゲームをプレイするよう教えるための強化学習パイプライン全体を作成することができました。ニューラルネットを作成し、そのボットをシミュレーションで実行してスキルを開発します。特に、複数のアプローチを作成して互いにテストし、どちらが優れているかを確認するよう依頼しました。
このモデルはコードを書き、機械学習アプローチとトレーニングパイプラインを作成しました。他のモデルよりも優れており、本物の洞察と素晴らしさを備えています。賢いのです。詳細を説明する必要はなく、一発で成功しました。他のモデルでは実現できていません。
自分で試してみたい場合は、AI Studio.google.comにアクセスしてください。無料です。私たちが話しているモデルは「Gemini 2.5 Pro」と呼ばれ、現在は実験的な0325モデルです。知識のカットオフは2025年1月です。
私が気付いた少し驚いたことは、思考プロセス中の自己修正とSL改善です。推論プロセス中に一種の自己修正、自己反省を行います。通常、モデルは考えてから答えを出力しますが、これは少し異なる動作をします。長く考えた後、その文脈を使ってさらに考えるようです。まるで2番目の推論ステップのようなもので、最後に実際の回答、推論を出力します。
最近、03 mini highが優れたコーダーであることを見ました。Glaç 3も優れたコーダーでした。Claude 3.5や3.7のモデルも優れたコーダーです。私の考えでは、それらは同じレベルにあり、多少の違いはあるものの、どれも同じくらいで、すべて非常に優れています。
このモデルのリリースを見逃していたかもしれません。OpenAI、Grok、AnthropicのClaudeが現在持っているものと同じレベルだろうと思っていたからです。実際に見てみると非常に驚きました。私は自分の人生のすべてをジブリ化して、知り合いの基本的に全員をStudio Ghibliバージョンにしていましたが、今は戻ってきました。明日はOpenAIが世界のすべてをジブリ化していることについて話しますが、今日はGemini 2.5 Pro実験の時間です。このモデルは凄いですから。
それでは、脳を持つヘビを見てみましょう。これらのモデルがどれだけうまくコードを書けるかをテストするために考え出した最も楽しいことの一つは、AIに別のAIを訓練させることです。実際にニューラルネットを訓練し、何らかの強化学習トレーニングパイプラインを使用して、何らかのタスクやプロジェクトを実行するAIを作成します。
これまで一つのプロンプトでこれを作成することはできませんでした。通常、まずタスクを作成し、タスクのコードを書かせます。例えば、スネークゲームのプレイを学習させたい場合、まずスネークゲームを作成し、強化学習トレーニングパイプラインを考案させ、自分で実行してから組み合わせます。これまで一つのプロンプトで最初から最後まで一度に実行することはできませんでした。
このモデルでは、100万トークンの大きなコンテキストウィンドウを使って可能かどうか見てみましょう。以前これに最も近づいたのはManis AIでした。すべてを実行したように見えましたが、確認するためのコードとファイルをすべて取得することができませんでした。レポートは本物に見えましたが、100%確認することができませんでした。Googleができるか見てみましょう。
Pythonで2人用ゲームを作成します。2匹のヘビが高得点を競い合います。障害物、パワーアップ、複雑な迷路を追加し、自律的にプレイさせます。ヘビがプレイして改善する強化学習トレーニングパイプラインを作成し、各ヘビに別々のトレーニングアプローチを作成して、どちらのアプローチが優れているかを確認します。
モデルはリクエストを分解し、コアゲームは2人プレイのスネークで十分シンプルですが、強化学習を使ってヘビに教えるので、単なるスクリプトではなく、ニューラルネット、つまり脳のようなものを使用します。目的は、2匹のヘビに対して2つの異なる強化学習トレーニングアプローチを比較することです。
モデルはゲームループ、ゲームの設計方法を考えます。このゲームが非常に複雑なスネークゲームである必要はなく、強化学習トレーニング全体を一発で実行し、実行、テスト、比較するために必要なすべてのコードを提供できるかどうかを確認したいのです。
モデルは強化学習の状態表現、アクション空間、報酬関数、強化学習アルゴリズム、Deep Q Networkについて考えます。これを理解することが重要です。以前はこのようなことを行うには多くの知識が必要でした。現在は飛び込んで始め、いじり回し、学び始めることができ、AIモデルが私たちにトレーニングホイールを提供します。
明らかに、コードをコピー&ペーストするだけで、何をしているのか理解していないなら、それは意味がありません。素晴らしいですが、学んでいません。しかし、この過程を使って常に深く掘り下げ、何が起きているのか理解しようとし、学び続けるなら、これは非常に役立つ可能性があります。
ここが報酬関数です。食べ物を取ると20ポイント、パワーアップで15ポイント、負けると30ポイント失い、勝つと30ポイント獲得します。また、速度を促すために小さなペナルティがあります。つまり、速ければ速いほどペナルティが少なくなります。急いで勝ちなさいということです。
ここまで素晴らしいです。思考プロセス中の自己修正と改善に注目してください。一種の自己反省を行っています。初期の考えは、両方のヘビが死んだ時にゲームを終了させることかもしれませんが、これを考えた後、その考えを修正します。初期の考えはこれでしたが、多くのことを考えた後、「いや、それは悪い考えだった。ここが修正点で、新しく改善された考えだ」と言います。
一方が死んだ時にゲームを終了すると、勝者と敗者の報酬が簡素化され、エピソードが短くなる可能性があります。効率的にするために、品質を失わずにこれをより速くする方法を考えています。
他にも考えて修正していることがあります。興味深いことに、最初は「両方に単純なQラーニングを使おう」と考えていました。つまり、両方に同じアルゴリズムまたは同じ強化学習アプローチを使おうとしていました。その後、修正して「いや、2つの異なるアプローチが必要だ」と言います。そこで、QラーニングとDQNを使用し、これらのトレーニングアプローチをテストします。
パワーアップを作成するよう依頼したので、初期の考えは「非常に複雑なパワーアップを作ろう」でしたが、その後「いや、まずコアの強化学習を機能させ、後で複雑さを追加しよう」と修正しています。
ここでバックパットを与えなければなりません。複雑さを上げたけれどコードが機能しなかったら、それは時間の無駄になるでしょう。時々、これらの出力を読むのは奇妙です。はい、それはページ上のテキストに過ぎませんが、実際はそうではありません。あなたがランダムに思いついたプロジェクトを作成する方法を推論しているのです。「この2匹のヘビを強化学習で戦わせよう」と言い、それが将来の可能な全ての順列を考慮し、最適な答えを導き出しているのです。そして、それを実行します。
以前にもこれを見たことがありますが、その魔法が失われないことを願っています。大きな整備されたプロジェクト構造を作成していますが、これは良いことです。実際の「プロジェクト」なら、これがより良いアプローチでしょう。
要件ファイルを作成します。これらのものを実行するには、おそらく多くのものをインストールする必要があります。PyTorchは、メタ(旧Facebook)が作成したオープンソースの強化学習トレーニングシステムです。必要なすべてのインストール、すべてのパッケージを要件.txtファイルに入れています。これは一般的な方法です。
GitHubプロジェクトから何かを取得する場合、通常はこのようなものがあります。すべてのインストール方法を知る必要はなく、一行入力してこのファイル内のすべてをインストールするだけです。そして、これがそのファイルで、すべてをインストールします。
ここがゲーム、ニューラルネットワーク、エージェントロジックを定義するコードの大部分です。そして、トレーニングスクリプトがあります。
時々、これらの動画についてコメントをもらい、物事を過度に宣伝しすぎだと言われますが、これが何をしているのか理解しているなら、どうして興奮しないことがあるでしょうか?3〜4年前にはコードを書けなかったことを覚えておいてください。今はコードを書き、機械学習を行って独自の小さなAIエージェントを作成できます。4年後にはどうなっていると思いますか?
主要な概念を説明し、それらの小さな文書やファイルの各々が何をするのかを説明し、実行方法を教えてくれます。そして、完了した後の潜在的な改善や更なる複雑さを提案しています。これを取って戻し、「もっと良くして」と言うことができます。
単純化のために、また、トラブルシューティングのために、すべてを1つのファイルに結合するよう依頼しました。コピー&ペーストして「あなたが対処して、変更が必要なところを変更して」と言いたいだけです。
残念ながら、一発ではできませんでした。このエラーメッセージを貼り付ける必要がありました。試みましたが、できなかったので、再度貼り付けました。「そうですね、申し訳ありません」と言いましたが、それでも十分ではなく、まだエラーメッセージが出ています。
修正された部分だけを提供し、「そして残りのコードはここに入る」と言い続けます。「いいえ、すべての修正を含めた全コードを書き直し、問題が修正されていることを確認してください」と言います。これが良いマネージャー、良いリーダーの特徴です。「確実に完了し、良いものになっていることを確認してください」と言います。そうすれば、すべてが大丈夫です。
この時点で、永遠にループして解決できないと思うかもしれませんが、そうではありません。エラーを3回貼り付けてトラブルシューティングし、すべてを解決しました。やりました!
これでも減点しません。なぜなら、トラブルシューティングプロセスの一部だからです。コードを修正して動作させるために3回ほどのやり取りは非常に合理的です。
ゲームの実行方法は次の通りです。まず、トレーニングモードを実行します。これが実行コマンドで、実行したいエピソード数を設定できます。例えば、10,000エピソード実行したい場合、2匹の小さなヘビはこの「グラウンドホッグデイ」シミュレーションで毎朝起きて、一方が勝つまで実行します。
これが10,000回発生し、毎回特定の戦略に対して報酬が与えられます。より良い結果を出すほど、より多くの報酬を得ます。時間が経つと、10,000回のシミュレーション内でどれだけ学んだかの範囲内で、ゲームを最も効果的にプレイする方法を理解するようになります。
このようにして実行できます。ヘッドレスなので、より速く実行されます。視覚的なものは表示されず、バックグラウンドで実行されます。レンダリングしませんが、この視覚的なトレーニングでは視覚化して実行します。非常に遅いです。10,000エピソードは数日、数週間かかるかもしれません。
これが私たちの小さなコマンドです。エピソードは10,000にしましょう。どれくらい速く進むか見てみましょう。それではスタートします。
トレーニングが始まりました。ご覧のように、200、300、400と進んでいます。かなり速いですね。ステップを進むにつれて、これらのモデルの改善が見られます。少しずつ良くなっています。
基本的に、直近100回の平均スコアを見ています。プレイヤー1とプレイヤー2を見ています。ご覧のように、開始時の平均スコアは非常に低く、0.4と0.6でした。最初の200回では、プレイヤー1は0.2だったようです。非常に低いです。
また、時間は彼らが上手くなるほど増えていきます。つまり、より理解するほど、より長くプレイできるようになります。1,500エピソード程度で、スコアは上がっています。0.7、0.1になっています。
スクロールを続けると、プレイヤー2は3.1に達しています。開始時よりもはるかに良くなっています。このDNQが今のところ勝っているようです。0.58です。学習の進行が見られます。新しいスキルを学び、死を回避する方法、果物を食べ続けて成長する方法などを学んでいます。
プレイヤー1も学んでいますが、ペースははるかに遅いです。約半分の時点でプレイヤー1はまだ0.11ですが、プレイヤー2は1.05、1.43に達しており、ゲームの時間も大幅に長くなっています。6,000回の時点で、プレイヤー2は2.13に達し、プレイヤー1はまだ低いです。2が最高の一つのようです。
かなりの時間がかかりました。おそらく6〜10分くらいだと思いますが、ついに完了しました。想像通り、プレイヤー2が勝者でした。はるかに高いスコア、はるかに速い学習能力を持ち、ゲームの時間は終盤にはかなり長くなりました。
最初は速く、本当に遅くなり始めました。なぜなら、彼らはそれをずっと長く続けることができるようになったからです。最後には8分です。基本的に8分間分の時間を秒単位でシミュレートしました。
使用した2つのトレーニングアプローチの主な違いについて、ジェミニに尋ねました。プレイヤー1はQLのQラーニングで、プレイヤー2はDQNのディープQラーニングでした。それらはやや似ていますが、QLはより単純なアプローチで、これらの値をテーブルに保存しているのに対し、DQNではニューラルネットワークに保存しています。
DQNは今日私たちが考えるAIにより近いです。明らかに複雑さのスケールなどの違いはありますが、ディープQラーニングは今日私たちが考えるAIにはるかに近いです。優れたスケーラビリティを持っていますが、Qラーニングは貧弱です。
Qラーニングでは、アクション空間と状態、つまり学習環境がどれほど複雑かを考慮します。それが小さく、「これかあれか」のような離散的であれば、Qラーニングはそこでうまく機能します。しかし、より大きな連続的な環境では、DQNが必要であり、DQNは経験のリプレイによる経験サンプル効率が高く、より複雑です。
それが実際に見られました。最初はほぼ同じでした。どちらも悪かったのですが、1,000回の反復後、DQNが先に進み始め、より良く、より良く、より良くなり続けます。最終的には、Qラーニングアプローチよりも何倍も効果的になりました。
興味深いことに、おそらくこれを続けて、さらに改良することができたでしょうが、実際にゲームをプレイして、これらのヘビがどれほどうまく機能するかを見てみましょう。例えば、このコマンドを実行できます。デフォルトでは5ゲームですが、必要な数を追加できます。例えば、10ゲームかそれ以上をプレイできます。
20ゲームプレイしましょう。これがそれです。ご覧のように、青がプレイヤー2、緑がプレイヤー1のようです。プレイヤー2が見事に勝っています。点数を続け、勝ち続けています。
少し立ち往生したようですが、プレイヤー1の方が少し適応性があり、ゲームのプレイ方法についてより知的に見えます。環境はかなりシンプルで、モデルはそれをシンプルに保つことを選びましたが、改善方法や、より複雑で面白くする方法についての提案もありました。
現状では、これにとても感心しています。これは私がテストしたどのモデルも、初めてこれを一発で成功させたものです。トラブルシューティングのために少し行き来する必要があったことを考慮していませんが、それは問題ではありません。迅速に解決し、解決できました。それは大したことではありません。
この1つのプロンプトを取り、すべてを説明通りに完了することができました。過去には、他のモデルでも最初に完了した後、戻って、トレーニング実行ごとに、改善中に見られる興味深いデータを出力するように伝える必要がありました。例えば、あるトレーニングアプローチがうまく機能していない場合、なぜでしょうか。データ出力があれば、それをモデルに戻して「これを修正して」と言うことができます。
ここでは、デフォルトでそれを行いました。ここのどこにも、それらの小さな出力を行う方法を説明していません。これ全体を自分で考え出し、自分でそれを行うことを決定しました。また、トレーニングを実行するコマンド、すべてが説明されていました。すべてが1つのファイルにありました。
これは間違いなく、この複雑さのプロンプトに対する最も優れた試みでした。唯一近づいたのはManisでした。ManisはAIエージェントで、Claude 3.5 Sonetで動作していますが、独自のLinux仮想マシンを実行しています。物事を実行してテストするためのより多くの力を持っています。15分ほど実行され、結果を提供し、同じ結論に達しました。DQNの方が優れていました。
しかし、すべてのコードとすべての文書が独自の仮想マシン上にあったため、コードを引き出して実際に確認することができませんでした。Manisは新しいプロジェクトであり、まだバグなどを修正している途中です。それを実行したように見えましたが、100%確実とは言えません。
ここでも、エージェントでなく実行しました。これは単なる大規模言語モデルのチャットボットです。コードを出力し、私がそれを実行し、エージェント的な構造を持たず、カーソルに接続されることなく、一発で完全に成功しました。
Googleに敬意を表さなければなりません。彼らは本当に特別なものを作りました。このモデルは凄いです。
Trudy Painterという人が、私が知らない古いゲームに基づいたサッカーシミュレーションを行うのを見ました。そのアイデアは非常に興味深かったので、1990年の任意のNintendoゲームからスクリーンショットをアップロードし、「このスクリーンショットのようなゲームを作成し、自己プレイするサッカーシミュレーションにしてください。2つのチームがあり、各プレイヤーは移動した経路を表示する軌跡を持ち、ゲームの進行中に更新されるライブ統計を追加してください」と言いました。
モデルはPゲームを選び、すべてのコードを出力しました。ここでそのゲームが実行されています。ご覧のように、軌跡はもう少し長くてもいいかもしれません。それを追加する必要がありますが、自分でプレイしています。2つのチームがあります。もう少し統計があればいいのですが、おそらく欲しいものを正確に説明することができます。
これは非常によく、非常に印象的で、いかに迅速に、正確にすべてを行ったかがわかります。バグやエラーはありませんでした。それほど昔ではなく、いくつかのエラーや問題があることを期待していましたが、ここでは単に求めたものを作り、バージョン1は機能するものであり、非常によく機能します。流動的で洗練されており、変更したい詳細は変更できます。
良いですね、親指を立てましょう。軌跡を長くし、各プレイヤーに番号を与え、左側のチームに全プレイヤーの統計の表示を持たせましょう。各プレイヤーがボールを保持した時間、パスとキックの回数、得点したゴールの数などを表示します。
それを反復して追加機能を追加できるか見てみましょう。これがそれです。左側の統計は少し見にくいですが、それはブラジルだと思います。軌跡は長くなり、完璧です。プレイヤー4と5だけがボールに接触しているようです。
これは非常に良く見えます。キックの数、ボールの保持時間を追跡しています。保持している場合、そのタイマーは増え続けます。そして得点数は現在0です。彼らは圧倒されているからです。
このチームが可哀想ですが、少なくとも彼らが何故負けているのかの統計がわかります。ゲームはブラジル0、対戦チーム3ゴールで終了しました。これは印象的です。一発でこれらを実行し、非常に優れています。
次は分布の乱れた表示です。ガルトン板を見たことがありますか?基本的に物事の分布を示すもので、ボールが左右どちらかに弾む50/50の確率がある場合などです。これに似たものを作成できるか見てみましょう。
このプロンプトでは、「ガルトン板をアニメーション化するコードを作成してください」と言い、別のモデルを使用して可能なスライダーとオプションを作成しました。それがこれです。すぐにこれらすべてが表示されますが、ここにあります。
ファイルを出力し、それがあります。ボールの数はシミュレーションを実行する合計量になります。30に設定すると、この時点で終了します。分布が見えます。1,000に設定しましょう。
ペグの列:これによりグリッドの大きさが拡大します。
落下速度:非常に速くすることも、遅くすることもできます。興味深いことに、10が遅く、1が速いです。
ボールサイズも増やせます。これが最大で、これが小さいものです。砂粒のようにほとんど見えません。
これは良いですね。少し遅くして、他のものを見せましょう。左右のバイアス:明らかに0.5は50-50のチャンスですが、少し右に偏らせると、もちろん変わります。左に落ちるバイアスです。0.5に戻しましょう。
ビン幅係数:ビンの大きさです。これにしましょう。速度を落とすと、左右にクリックするだけです。物理演算を有効にすることもできます。少し違います。興味深いです。一部は端でゆっくりと落ち始める前に揺れています。速度を少し上げると、そのように見えます。それはかなりクールです。
軌跡を表示することもでき、これにより速度を少し速くすると、落下しながらの軌跡が見えます。これはかなりクールです。唯一書いたのは「このボードを作成してください」だけであり、CHATのGPT-4を使って「テストできるクールなものを考えてください」と言いました。
そこで何か起こったのでしょうか?何かのグリッチ、視覚的なグリッチがあったようです。ここでリセットしてみます。落下速度を変更できるといいでしょう。最初の落下速度が高すぎると、後でいくつかの問題を引き起こす可能性があります。いくつかのグラフィカルなグリッチがありますが、速度を遅くすれば、すべてがゆっくりと下に進むのを見ることができます。
初めから評価Aを与えるでしょうが、さらに極限まで引き上げることができるでしょうか?「視覚的にもっと魅力的にし、物理演算と軌跡をデフォルトでオンにし、適切と思われるクールな視覚効果を追加してください。おそらく何かを示す浮動数字を追加するなど」と言ってみましょう。それがどうなるか見てみましょう。
これが再作成されたものです。もうボールは見えず、軌跡だけが見えます。ボールか軌跡のどちらかしか表示されないようです。少し奇妙ですね。少し速度を落としてみましょう。落下しながら色が変わっているようです。ここにいくつかの浮動数字があり、何を示しているのでしょうか。7、おそらくそこに落ちた数?9?ポイントでしょうか?勝っているのでしょうか?これらの数字が何を表しているのかわかりません。
浮動数字はビン番号を示し、ビンカウントは上部にあります。例えば、ここに落ちるとそれは11、これは8です。落ちたビン番号を示し、これはスコアを示し、これは分布のグラフを示しています。今のところ非常に良いと言わざるを得ません。
これまで行ったすべての実験で最も注目すべきことは、モデルがものを壊す頻度がいかに稀かということです。木を叩いておきますが、これまでのところ、ものを完全に壊すことはほとんどありませんでした。少なくともこの記録時点では、常に使用可能な機能するコードを出力する傾向があります。
これに10点満点で9点を与えます。いくつかのことを見逃しましたが、全体的には非常に印象的です。指示に従い、すべてのスライダーがほぼ完璧に機能します。今回の反復ではテストしませんでしたが、すべてが正常に機能していると思います。
それを見てください、ワオ、それは実際にかなり印象的です。片側にシフトするとどうなるか、ワオ、それはかなりいいですね。そしてボールサイズをここに変更すると…すべてが非常にうまく機能していると言わざるを得ません。何も故障せず、何も完全に機能しなくなるということはありません。私の不満は頭の中で想像したものと違うということだけですが、機能するコードを毎回出力するという事実は素晴らしいです。3〜4年前だったらこれがどれほど驚くべきことだったかを考えてみてください。
とにかく、10点満点で9点ですが、今気づいたのですが、他のテストには点数をつけていませんでした。これが今のところ唯一の評価です。これは「Whose Line Is It Anyway」のようなもので、ポイントをもらっても実際には意味がありません。しかし、それでも9点です。
手をパタパタさせる「フラッピーバード」。Twitter(現X)で、Peter Levelsは「ビデオゲーム・バイブ・ジャム2025」を開催し、人々は基本的にAIでビデオゲームを作りました。エントリーの一つは、カメラの前で手をパタパタさせ、それが3Dの鳥が管を飛ぶように変換されるというものでした。文字通り3Dのフラッピーバードクローンで、手を羽のようにパタパタさせてコントロールする必要がありました。
誰だったか覚えていませんが、もし見つけたらコメント欄に入れておきます。それをテストしたいと思いました。「フラッピーバードに似たゲームを作成し、ゲームを3Dにし、ユーザーのウェブカメラを使って手の動きを追跡し、ユーザーが手を上下に動かすと鳥の羽がパタパタするようにしてください」と依頼しました。
それは成功し、機能し、ローカルサーバーで実行され、ウェブページで開くことができました。このモデルはこれまでで最もスムーズでした。他のモデルでは時々いくつかの操作が必要で、機能しないこともありますが、このモデルはただ「バーン」とやってくれました。
問題は、ウェブカムを使用し、同時に録画するのが難しかったため、記録できなかったことです。また、画面に自分の映像が表示されなかったため、入力方法を理解するのが少し難しかったです。鳥を飛ばすために手をパタパタさせる方法を見つけるのが少し難しかったのです。
大丈夫でしたが、画面上に手の位置を示すディスプレイや手の表現が必要でした。それで全部やり直します。「フラッピーバードに似たゲームを作成し、ゲームを3Dにし、ユーザーのウェブカメラを使って手の動きを追跡し、ユーザーのカメラフィードがゲーム内で見えるようにし、指や手の上に追跡方法を示すオーバーレイを持たせてください」と言います。
それぞれの場合、index、script.js、style.cssの3つのファイルが提供されます。デフォルトでそうなりますが、基本的にはHTMLページをindex.htmlと呼びます。このコードを取り、貼り付け、index.htmlとして保存します。次のファイルはgame.jsで、これがそれです。実際には2つのファイルだけが必要なようです。試してみましょう。
動作していないようです。興味深いことに、黒い画面しか見えませんが、右上隅に私の手が見えます。動かすと、拳にしたり、Pサインやオーケーサインを作ったりできます。それを拾って小さなオーバーレイを描いています。
理想的には、このように何かをすれば鳥が飛び、このようにゲームをコントロールできるはずですが、ここに鳥はいません。鳥はどこにもいません。ゼロ鳥です。
興味深いことに、「CSSファイルに追加してください」と書かれていますが、CSSファイルはありませんでした。CSSはスタイリングなどに使用するものです。作成しましたので、これをindexファイルの先頭に追加する必要があります。
ここに戻りました。手は見えますが、まだ鳥はいません。スタイルシートがあり、ウィンドウ全体はこのように見えます。手は見えますが、鳥はどこにもいません。非常にイライラします。
チャンネルサーフィン、Alexander Chanに敬意を表します。「異なるチャンネルを持つテレビを作成し、各チャンネルにランダムなアニメーションを作成してください」と依頼しました。どうなるか見てみましょう。
プロンプトはこうです:「キー0〜nでチャンネルを変更できるテレビをコード化し、古典的なテレビチャンネルのジャンルに触発されたすべてのチャンネル、すべての数字のアイデアを考案してください」そして、それを行う方法についていくつかの仕様を提供しました。
ここが初期出力で、静的無効が見えますが、ボタンを押し始めると、1ではライブスケッチがライブになり、ロッカーアーティストが競います。テレビシミュレーション、非常にクールです。2番はチューニバースJrで、基本的に赤いボールが上下に浮かんでいます。3番はエコーポールズ、非常に信じられないほど素晴らしいグラフィックです。4番は何かのスポーツ、サッカーか、あるいはラケットでボットを打つあのゲーム、エアホッケーだと思います。スコアが上がっていますが、実際には上下しているだけで、ランダムな数字が変わっているだけです。
5番は宇宙で、見ての通り、宇宙船で惑星に近づいています。何かはわかりませんが、素晴らしいです。6番はアールセイバーステーション、「フレーバー爆発の準備はできていますか?」何かが調理中で、何かが他のものをマッシュしています。8番はシルバーシャドウズ、これは幸せな家族から始まり、その後本当に悪くなり、その後は何が起こったのかを理解しようとするような、何らかの殺人ミステリーのようなものです。「雨に唄えば」という曲を聞いたとき、どの映画を思い浮かべますか?その曲を台無しにした映画はありますか?もしあれば、どれですか?そして9番はもちろんテラフォーカス、これはアニマルプラネットです。あれは何でしょう、怖がった猫のようなものが、太陽が昇るにつれてサバンナをゆっくりと這っているようです。素晴らしい。そして0は静的無効です。一つのプロンプトでこれだけのものができるのは素晴らしいですね。
ブラッドボウル、かつてこのテーブルトップゲームがあり、最終的にはブラッドボウルと呼ばれるビデオゲームになりました。ダンジョンズ&ドラゴンの世界、あるいは特にウォーハマーの世界を考えると、それにアメリカンフットボールをプレイするような感じで、非常に血なまぐさく、人々は怪我をします。異なるチームは、ドワーフ、オーク、エルフなどの異なる神話的生物のセットです。このモデルでそれを再現できるでしょうか?
「ブラッドボウルに似たゲームを作成してください。このゲームはダンジョンズ&ドラゴンスのような世界で行われ、各チームはオーク、ゴブリン、エルフなどのファンタジー生物のコレクションです。彼らがプレイしているゲームはアメリカンフットボールのより暴力的なバージョンです。自ら遊ぶゲームを作成し、より遅いが攻撃が強く、対戦相手をノックダウンできるオークチームを作成してください。彼らは走るのに優れており、倒すのが難しいです。もう一方のチームはエルフで、彼らは速く、パスゲームに優れています。各プレイヤーに強さ(Str)、持久力、敏捷性、速度の統計を作成してください。強さは攻撃の強さを決定し、持久力はノックダウンやケガをしにくさを決定し、敏捷性はパスとボールの扱いに関係し、速度は移動速度です。それぞれを1から10の間にしてください。各アクションは20面サイコロを振って成功するかどうかを判断し、成功に必要な数字はプレイヤーの統計によって異なります。1は常に重大な失敗、20は常に重大な成功であり、それ以外の場合は、例えば対戦相手をブロックしてノックダウンするための式は、8+強さで、ロールがそれを上回ればブロックが成功します。すべてのプレイヤーの統計表示と、サイコロの結果を表示するボックスを作成してください」。
それはかなり複雑に見えますが、この特別なゲームを信じられないほど素晴らしくするものをもう一つ追加したいと思います。そのゲームでは、プレイヤーは経験を積み、時間とともに能力が向上します。そのため、これらのプレイヤーに非常に投資し、レベルアップしてより良くなるにつれて、彼らにより依存するようになります。
問題は、彼らが失敗したり、攻撃を受けたりするたびに、怪我をする可能性があることです。そして再び20面サイコロを振って、怪我の程度を決定します。その数字が十分に悪ければ、彼らは死亡するか、例えば敏捷性を失うような永続的な怪我を負います。つまり、あなたのスタープレイヤーがいつでも死亡する可能性があるということです。確率は低いですが、実際に起こり、それは非常に壊滅的です。
私は怒りの問題を持ったことはありませんが、このゲームをプレイする時が最も近いものです。「プレイヤーが攻撃を受けたり、アクションに失敗したりするたびに、20面サイコロを振って、彼らが怪我をしているかどうかを確認してください。1を振ると即死、2から10は怪我、つまりラウンドの終わりまで倒れたままになり、それ以外は怪我なしです」。少なくともその仕組みを取り入れることができ、彼らがアクションに失敗したり攻撃を受けたりした時に起こりうる様々なことの風味を追加することができます。やってみましょう。
コードが提供されました。どれだけうまく機能するか見てみましょう。「Enterを押してゲームを開始」。まず第一に、テキストベースのゲームとして行うことを選択したことに気づきませんでした。これは興味深いことです。期待していたものではありませんが、実際に非常に興味深いかもしれません。
元のゲームがターンベースだったことを考えると、これは恐らくボードゲームを参照していると考えています。テキストベースのゲームは、私が依頼したものを解釈する最も良い方法です。ご覧のように、エルフのスローワーがパスを試みます。敏捷性は8ですが、2をロールし、失敗です。彼はボールを落とし、ターンは終了します。
ゲームが続くと、エルフのスローワーはオークブリッツァーをブロックしようとします。重大な失敗です。申し訳ありません。怪我チェックがあり、エルフのスローワーはノックダウンされます。これは素晴らしいです。期待していたものではありませんが、プロンプトに基づいて、このモデルにAを与えなければなりません。これは素晴らしいです。各ラウンドでは、怪我やノックダウンプレイなどが表示されます。素晴らしい。誰がボールを持っているのでしょうか。
感動していますが、これを実際の時間グラフィックスにしてみましょう。これにはAを与えますが、同じプロンプトをコピーして「基本的なグラフィックスを持つゲームにし、ターンベースではなくリアルタイムでプレイされるようにしてください」と追加します。他のすべては同じままにしておきます。
一つ気になることは、これらはモデルがタスクを実行する際の思考のように見えることです。ある時点に達すると、コードを出力します。これは普通のことですが、そのコードは思考の中、推論の中にあります。しかし、次にそれは続き、さらに別のコードブロックがあります。複数の推論ステップがあるようです。それを確認する必要がありますが、興味深いです。以前にこれを見たことがあるかどうかわかりませんが、このゲームがどれだけうまくできているか見てみましょう。
再びテキストベースです。基本的なグラフィックスがあるようですが、テキストベースのグラフィックスを選択したようです。実際に90年代のブラッドボウルゲームを見つけました。どのように見えるべきかの例として使用します。
再度試してみます。テキストベースではなく、どのように見えるべきかの例として、このイラストを追加します。ファンタジーフットボールシムがここにあります。何が起きているのか正確には100%わかりませんが、もう一度試してみましょう。
はい、ここにあります。実際に何が起きているのか正確には把握できていませんが、何かが起きています。私たちが遭遇している問題の一つは、アメリカンフットボールがプレイの方法などにより、作成するのが少し難しいかもしれないということです。
サッカーに変更してみましょう。サッカーはうまくできることがわかっているからです。どこで問題が発生しているのか見てみたいからです。明らかに良い仕事をしていますが、サッカーAIの方が作成しやすいかもしれません。ゲーム構造が実装しやすいかもしれません。どうなるか見てみましょう。
興味深いことに、様々なプレイヤーの状態を定義しています。アイドル、移動中、ボール所持、ブロック中、パス中、ノックダウン、負傷、死亡、起き上がり中など。怪我の持続時間、ノックダウンの持続時間、アクションのクールダウンがあります。非常に優れています。
サイコロログを作成し、重大な成功と重大な失敗、および即死を定義しています。これは興味深いです。プレイヤーの現在のHPをゼロに設定し、コメントには「将来HPが追加される可能性があると仮定」と書かれています。将来的に必要になる可能性のある機能を組み込んでいるようです。後でHP追加が必要になった場合に備えて、今この機能を作成しておくということです。これは非常に賢いと思います。
また、次に何をするかを示唆するコメントがたくさんあります。ここで機能するかもしれないのは、「もっと良くしてください」と言うことです。コメントに基づいてゲームを改善できると思います。または自分でコメントを追加し、それを拡張して、同じコードをアップロードし、「コメントを使用して改善してください」と言うこともできます。
これが新しいゲームです。かなり良さそうです。最初のものはクラッシュしましたが、ここに再度あります。ご覧のように、エラーコードがあります。これを戻してみましょう。それが起こって良かったです。これは興味深いことです。遭遇するエラーコードやエラーの問題を修正できる必要があります。
ほぼ確実に感じるのは、これが100万トークンのコンテキストウィンドウであるということです。より多くのことを考えることができ、200万のコンテキストウィンドウが来るように感じます。より多くのことについて考えることができるように感じます。最初の試みでもそれは明らかで、強い効果を持っているようです。
少し困るのは、完全なコードを提供してくれないことです。「ここが間違っていた部分、ここが修正です」と言いますが、完全なコードを求めると、同じものを素早く出力して、コピー&ペーストできるようにしてくれるはずです。
これは怠惰だからではなく、科学のためにやっているのです。いや、誰に嘘をついているのでしょう。怠惰だからです。置き換えるべき正しいコードブロックを見つけるためにCtrl+Fを使うよりも、全部を書き直してもらう方が簡単です。AIにとっては私が数回クリックするだけよりも10倍の作業になることは理解していますが、そういうものです。
ここにコードがあります。完璧です。何らかのブロック機構があるようです。数人がノックダウンされているようです。興味深いことに、彼らは皆集まって戦っているだけのようです。ほとんどのエルフは負傷し、何人かは死亡しています。基本的には、彼らはそこに集まって戦っているだけです。
多くのことがうまくいっていますが、ボールを拾って終点に走るという部分がうまく機能していないようです。それを修正できるか見てみましょう。ただ、現状でもこれはかなり面白いです。彼らは戦っているだけで、一部は負傷し、怪我のカウントダウンタイマーがあるようです。今、オークチームの全員が無効化されていますが、1人が戻ってきました。
ここでは多くのことがうまくいっています。唯一の問題は、ボールを持っていたエルフが終点に向かって走るのではなく、そこに立って戦っているだけだということです。技術的にはブラッドボウルでは、それも戦略の一つかもしれません。実際、実際にタッチダウンを得ることに焦点を当てるのではなく、相手チームを打ち負かそうとするだけで非常に成功することができます。このモデルがブラッドボウルの精神をうまく捉えていると言えるかもしれません。
新しいコードがあります。それが役立つか見てみましょう。一つの問題は、修正するたびに完全なコードを提供してくれないことです。システム指示に「常に完全なコードを提供し、変更した部分だけではなく」と言います。それを追加し、「ここで完全なコードを提供してください」と言います。
それを試してみましょう。これが新しいバージョンです。はい、彼はボールを拾い、走り始めます。それは非常に良いです。4番がエンドゾーンに向かっています。彼は全力で行くかもしれません。フィールドの前は空いています。エルフが得点1、これは意図通りに機能しています。完璧です。
ご覧のように、エルフは今、少し後ろに下がっています。オーク(緑色)がボールを拾うと、エルフは前進し始めます。彼らは陣形を作っているようです。最初の試みとは言えないかもしれませんが、最初の機能するバージョンとしては、これはかなり良く見えます。
オークは、十分なエルフを倒すと…いいえ、エルフがボールを持ち、再びエンドゾーンに向かって走っています。彼らはノックダウンされ、オークがボールを持っています。これはかなりエキサイティングです。彼らはこのゲームをうまく再現しました。
明らかに、スクリプトはまだ完璧ではなく、彼らはフリーズしたり、待機したりする傾向がありますが、それは修正できます。全体的に見て、彼らはゲームを作り上げました。3人のうち、ボールを持っている1人がエンドゾーンに到達しないので立ち往生していますが、それらは時間をかけて徐々に修正できる問題です。また、エルフはオークを殺しすぎているようです。
「あなた方の家に疫病を」、「Plague Inc」と呼ばれるゲームを聞いたことがあるかもしれません。このゲームから、マダガスカルで誰かがくしゃみや咳をすれば、すべてを閉鎖するというミームが生まれました。基本的には、世界のどこかで始まったウイルスや細菌、または何らかの疫病病原体が、徐々に広がり、より多くの人々を感染させ、徐々に人々を殺し、あなたは異なる能力で突然変異します。世界の政府が何が起きているかに気づき始めると、港や空港などを閉鎖し始めるため、時間との戦いになります。
大規模なコンテキストウィンドウを利用して、どれだけ多くの指示を与えられるか見てみたいと思いました。実際にGPT-4で研究を行い、すべての主要なゲームプレイのメカニズム、何がうまくいくか、何がうまくいかないか、ゲームを詳細に説明するようなことを書き出してもらいました。そして、「次のゲームを最適なプログラミング言語で作成し、テキストベースだけでなくグラフィックスも確保してください」と言いました。
このモデルでは、複雑なゲームをリクエストすると、テキストベースのゲームとして実装されることがあるため、これを追加する必要があることがわかりました。最初の試みはテキストベースのゲームとして出力され、かなり良く、興味深かったのですが、グラフィックスをどれだけうまく作成できるかを見たかったのです。
テスト目的で、すべてを可能であれば1つのファイルにまとめるようにも依頼しています。これをする必要はありませんが、カーソルや他の開発環境にプラグインしていないため、テストには1つのファイルにまとめる方が簡単です。
こちらがその結果です。世界地図上の異なる国々が表示され、どこから始めるかを選択できます。マダガスカルから始めましょう。20のDNAポイントがあり、時間が進んでいます。世界に41億人、感染者1人、これが患者ゼロです。そして、人類が治療法を見つけるための進行状況が表示されています。彼らはまだ何もしていません。この病気の存在を知らないからです。
感染者は1人だけですが、これにより突然変異して異なる能力を獲得することができます。咳を追加して感染率を上昇させましょう。発疹は重症度を増加させます。感染率、つまり伝染速度が速いことが重要です。空気感染するようになると素晴らしいでしょう。そして陸上での感染方法もあれば…そして発疹もあれば、それは素晴らしいです。
明らかに早送りボタンが必要です。これはリアルタイムで動いているのでしょうか?他の誰かが感染するまで数日待つ必要があるのでしょうか?
誰も感染していないことを確認し、また、2x、4x、10xの速度でゲームを実行する機能を追加するように依頼しました。2分近く経っても、ようやく2人目が感染しました。これは元のゲームよりも少し遅いようです。または、元のゲームにはそのスピードアップタイマーがあったのかもしれません。
これらの接続線が何なのかわかりませんが、おそらくこれらが港で、空港用に別のシステムがあるのかもしれません。確認する必要があります。もっと人口の多い国を選んでみましょう。中国をお願いします。誰も真剣に受け取ってイライラしないでください。これはただのビデオゲームです。
見てください。感染者数がはるかに多く、ずっと速く感染しています。画面からはみ出る問題がありますが、問題ありません。伝染:咳と空気感染、発疹、陸上感染を追加しましょう。20ポイントあります。
600人が感染し、数字は急速に上昇していますが、ここで速度を変更することはできません。これを政治的な問題にしないでください。ただ数が多かっただけです。架空の国を求めるべきだったかもしれません。何も引き起こそうとしているわけではありません。
現在約3,000人が感染しています。死者はゼロです。少しネタバレになりますが、このゲームの勝ち方は、まず非常に感染力を高めて簡単に人々を感染させ、転移させることから始め、その後、致命的な特性を進化させます。早すぎると人々が恐れ、港や空港を閉鎖し、疫病としては悪い状況になります。でも今のところ順調です。これを実行し続け、この疫病がどのように進化するか確認しましょう。
音楽を奏でよう。ここでは、ユーザーのカメラと手の動きを使って音楽のノートを演奏するコードを作成するよう依頼しました。もっとうまく表現できたかもしれませんが、基本的にカメラの前で手を動かして音楽を演奏できるようにしたいのです。
これが結果です。ハンドミュージックプレイヤーです。指の動きをかなりうまく追跡し、指がどこに行くかもある程度予測します。2本の指を合わせると、自分がいる場所に応じて音が鳴るようです。悪くありません。

コメント

タイトルとURLをコピーしました