Codexが長期実行エージェント用ハーネスの「最高傑作」になった理由
CChase AI
Computing/SoftwareVideo & Computer GamesInternet Technology
Transcript
00:00:00Codexが、新しくリリースされた実験的な「Goals」機能によって、Claude Codeを打ち負かすかもしれません。
00:00:05Codexは現在、追加のオーケストレーション層を必要とせずに、
00:00:10長時間実行される自律的なコーディングタスクを実行するための最も簡単な方法です。
00:00:15Goalsは、より洗練された統合型のREPLループのように機能します。目的を与えれば、
00:00:19人間が介入することなく、その問題を解決するために何時間も働き続けます。
00:00:25今日は、その仕組みやセットアップ方法を説明し、実際のデモも行います。
00:00:29この機能を実際に見てみましょう。今日は「Rift Salvage」という2D戦闘ビデオゲームを作成します。
00:00:35完全にオリジナルのアセットを使用し、すべてGoals機能だけで構築します。
00:00:42Goals機能は現在のCodexにおける真の差別化要因の一つであり、驚くほど簡単に使えます。
00:00:47スラッシュコマンド一つで済むので、非常に大きな価値があります。
00:00:51CodexデスクトップアプリでもCLIでも、Goalsは実験的機能なので有効にする必要があります。
00:00:56Codexに指示して有効にすることもできますし、自分ですぐに行うことも可能です。
00:01:01Codexアプリ内の設定(Settings)から「Configuration」に移動します。
00:01:07「open config.toml」をクリックして、VS Codeで開きます。
00:01:15そこに「features」と「goals = true」の2行を追記するだけです。
00:01:22それだけです。2秒もかかりません。もし複雑に感じるなら、Codexにこう伝えてください。
00:01:27「Goalsを有効にして」と言えば、「features goals = true」が設定されます。使い方は、
00:01:35デスクトップアプリかCLIで「/goal」と入力するだけです。
00:01:40実験的機能なので、「/goal」と打っても、
00:01:43動作しているという通知はすぐには出ませんが、適切なプロンプトを与えれば、
00:01:48Goalが動いていることを示すバッジが表示されます。有効化したら、
00:01:53変更を反映させるためにClaude Codeを再起動してください。「/goal」を打った直後は、
00:01:58通常のスキルのように「動作中」といったフィードバックは表示されませんが、
00:02:02期待通りの反応が得られる「スキル」などとは違いますが、これは非常に強力です。ただ
00:02:08アプリ内で実際にGoalを実演する前に、その内部の仕組みについて説明させてください
00:02:13その前に、今日のスポンサーである私からお知らせです。ご存知の通り、
00:02:18Chase AI PlusではClaude Codeマスタークラスを公開していますが、新しくCodexマスタークラスもリリースしました。
00:02:24AI開発者へと成長させてくれる2つのツールが揃いました。
00:02:29技術知識ゼロを前提に、実際のユースケースに焦点を当てているので、学習には最適です。
00:02:34これに興味がある方や、数日後の無料ウェビナーに参加したい方は、固定コメントのリンクをご覧ください。
00:02:40会場でお会いしましょう。さて、冒頭で述べたように、Codex Goalsは
00:02:46基本的に、より高度で統合された「RALPHループ」です。「RALPHループとは何か?」と思われるでしょう。
00:02:51忘れてしまった方のために簡単に復習します。本質的に、RALPHループとは
00:02:57Claude Codeなどで使用する場合、たった1行のBashループコードに過ぎません。
00:03:03ここに見える通りです。この1行のコードを実行すると何が起きるかというと、
00:03:09Claude CodeやCodexなどのAIシステムを起動し、「prompt.md」というファイルを参照しに行きます。
00:03:16このプロンプトには「何をしたいか、どうやってやるか、
00:03:21そして何をもって完了とするか」という基準が書かれています。この例では、
00:03:28認証ファイルのテストカバレッジを上げたいので、さらにテストを作成する必要があります。
00:03:33目標はカバレッジ75%です。では、このループをどのように開始して動かすか説明しましょう。
00:03:41プロンプトを読み取り、それをAIセッションに注入します。セッションは1ターン実行され、
00:03:48プロンプトと同時に「state.md」ファイルも読み込みます。このステートファイルは、
00:03:56「タスク1、2、3がある中で、これまでに何が終わっていて、順調かどうか」を確認するためのものです。
00:04:03例えば最初の数ターンでタスク1を完了し、次のターンでは
00:04:10ステートファイルを見て「タスク2が終わっていないから、これをやろう」となります。
00:04:14最初の試行でうまくいかなかったとしても、「次はこれを試した」と記録され、
00:04:18すべてのタスクが完了するまで続きます。エージェントが実行を終えると、
00:04:25ファイルを更新してターンが終了し、再びループが回ります。こうして、
00:04:30「何をしたか、次は何をすべきか、最終状態は何か」を常にチェックし続ける継続的なループが生まれます。
00:04:35最終的に完了基準に達すると、「完了した」と判断します。これがRALPHループの概念です。
00:04:41すべて自律的です。ただ、RALPHループでより多くのことをさせるには、
00:04:48請求管理やトークンの効率的な使用などの追加の足場(スキャフォールディング)が必要になります。
00:04:53エージェントがクラッシュしたり、Ctrl+Cで停止したりした場合はどうなるでしょうか?
00:04:58実際に完了したかどうかを検証する組み込みのサードパーティも、
00:05:02基本的には1行のコードなので、標準では存在しません。これに対し、
00:05:08Goalsの仕組みを比較してみましょう。全体的な動作は同じです。何かを指示し、
00:05:15どう実行するかを考え、内部ファイルを常に更新して「何をしたか、何が残っているか」を把握し、
00:05:19最終状態を目指します。大枠はほぼ同じですが、
00:05:23いくつかの違いがあります。まず、ユーザーからは見えない2つのMarkdownファイル、
00:05:29「continuation.md」と「budget_limit.md」が存在します。これらは何をしているのか?
00:05:35これらはCodexが利用制限に近づいた際に、異なる挙動をすることを可能にします。
00:05:40これは重要です。Goalsループには、RALPHループと比較して、
00:05:46システムがタスクを「優雅に終了」させる仕組みが備わっています。RALPHループは、
00:05:52予算が尽きれば即終了ですが、Codexは後で再開できるような良いポイントを見極めます。
00:05:57具体的には、CodexがGoalsループの中でターンを実行し、
00:06:03ターンの終わりに到達した際、主に4つの経路をとります。
00:06:081つ目、作業が残っていて予算も十分な場合。そのまま進み続けます。
00:06:132つ目、トークン上限に近い場合。「budget_limit.md」を注入して、
00:06:19そのターンを優雅に締めくくり、何が完了し、制限を更新した後に何をすべきかの最終報告を出します。
00:06:253つ目、プロジェクトが完了した場合。「update_goal」ツールを呼び出し、
00:06:29ステータスを変更します。すべての成果物が監査され、
00:06:34すべてにOKが出れば、「Goal完了」となります。
00:06:39最後に、Goalの一時停止、編集、クラッシュへの対応方法も備わっています。
00:06:45何かがうまくいかなくても、従来のRALPHループのように
00:06:49「お手上げ」状態にはなりません。RALPHループより少し洗練されていますが、
00:06:54大局的な考え方は似ており、追加のオーケストレーションは不要です。
00:06:59GSDやGSD Superpowersなどを使ったことがある方には馴染み深いかもしれません。
00:07:05これらはClaude Codeの上に乗るオーケストレーション層ですが、CodexのGoalsでは
00:07:11スラッシュコマンド一つで同じことができます。たった一つのコマンドなので、
00:07:18実行が非常に簡単です。GSDの複雑な40分のデモを見る必要はありません。
00:07:24「/goal」と入力すれば、Codexが突き進んで解決してくれます。では、
00:07:30実際にテストしてみましょう。まず、「Plan」モードにします。Planモードから
00:07:35Goalsへは簡単に移行できます。見下ろし型のアーケードサバイバルゲームを作らせます。
00:07:39すべてのアセットも自分で作成させます。Claude Codeなどと違い、
00:07:44CodexはOpenAIの製品なので、GPTの画像生成モデル(DALL-E 3相当)にアクセスできます。
00:07:49このゲームに必要なアセットもすべて自分で作ります。ドローンのスプライト、
00:07:563種類の敵、ボス、エネルギーコア、ハザードマイン、背景、UI、
00:08:01装飾用アセットなど、かなりの量を作らせます。
00:08:07このプロンプトは比較的洗練されています。非常に長く実行される可能性があるからです。
00:08:1550時間連続で実行させている人のスクリーンショットを見たことがあるかもしれませんが、
00:08:18それが最善かどうかは別として、アイデアがあるならPlanモードに入ります。
00:08:23プランを非常に厳密に練ることが重要です。このようなタスクでは、
00:08:31最終結果がどうあるべきかを極めて具体的に指定する必要があります。
00:08:36具体的な最終目標がなければ、ループを完了させるための定量的な基準が持てず、
00:08:43中途半端な結果に終わってしまうかもしれません。ですから、
00:08:50Planモードで時間をかけて計画を具体化することを強くお勧めします。
00:08:55単に「/goal 10億ドル稼ぐSaaSを作って」と言うだけではいけません。これが今回のゲームの計画です。
00:09:02検証に関しては、AIはこれらをチェックします。完了と判断する前にテストされる項目です。
00:09:07「npm run build」を実行してエラーを修正し、開発サーバーを起動してURLを提供すること。
00:09:12Playwrightによる自動検証スクリプトを実行し、アプリが開くか、キャンバスが描画されているか、
00:09:17キーボード操作、アイテム回収、ダメージ、体力変化、ボスの勝利状態、UIなどが正常か、
00:09:24次々と確認していきます。これらの検証項目を見て、
00:09:29「これらすべてが満たされれば満足だ」と思えるなら、準備完了です。
00:09:34プランを実装する際は、「/goal このプランを実装して」と指示して送信します。
00:09:39すると上の方に何が見えますか?「Goal」という小さなバッジが表示されます。
00:09:44これでGoalが進行中だと分かります。ここにもそう書いてありますね。
00:09:49先ほど言ったように、「/goal」と打った瞬間にコマンドの反応はないかもしれませんが、動作しています。
00:09:54実験的機能ゆえのUIのバグでしょう。まだPlanモードだと表示されているので、一度キャンセルして、
00:10:02「Goalを使ってこのプランを実装して」ともう一度指示します。まだ少し粗削りな部分はありますが、
00:10:09何をしてくれるか見てみましょう。ここからは完全にハンズオフ(手放し)です。
00:10:12AIがRALPHループというかGoalの処理を実行し、最後に完成品が出来上がります。
00:10:17約12分が経過しました。すでに画像生成モデルを使用して、
00:10:28さまざまなアセットを作成している最中なのが分かります。素晴らしいですね。
00:10:34また、ターミナルで直接操作するのと違い、デスクトップアプリでは
00:10:39これらがインラインで表示されるのがいいですね。私はCodexのデスクトップアプリに非常に感銘を受けています。
00:10:43Claude Codeが嫌いになったわけではありません。両方のツールを使い分けています。
00:10:49前回の動画でも話しましたが、これら2つのツールのどちらかを選ばなければならないという考えはナンセンスです。
00:10:54両方使えばいいし、時には連携させて使うこともあります。
00:11:00Claude Codeは完全にターミナルですが、Codexのデスクトップアプリは使い心地が非常に良いです。
00:11:06常にターミナルにいるのとは違う、良い気分転換にもなります。今のところ、とても気に入っています。
00:11:11約30分後、完了したとの報告がありました。思っていたより早かったです。
00:11:15最初のパスでどうなったか見てみましょう。早く終わったので、最後に追加の指示もできそうです。
00:11:20「Rift Salvage」を実装し、ローカル開発サーバーが起動しています。これはキャンバスゲームで、
00:11:26キーボードやタッチ操作に対応し、敵の出現、マイン、スコアリング、シールド、ボスのフェーズ、
00:11:32勝敗、一時停止、再起動などが含まれています。11種類の画像アセット、Playwrightによる自動検証も行われました。
00:11:38構築されたものの一覧が表示されています。かなりクールですね。動作を確認して、
00:11:44もう少し機能を詰め込んでみましょう。実際のブラウザで動かしてみます。
00:11:49ローディング画面があり、コントラストは少し低いですが、小さな宇宙船が見えます。
00:11:56これがマイン(地雷)で、追いかけてくる敵を避けながら、アイテムを集めるルールのようです。
00:12:03ちゃんと動いていますし、見た目もいいですね。グラフィックはもう少し改善の余地がありそうですが、
00:12:10これらすべてがユニークな画像として作成されたというのはすごいです。
00:12:17まずはボス戦がどんな感じか見たいので、進行を早められるようにし、
00:12:27レーザーのような戦闘システムも追加したいですね。やってみましょう。
00:12:32Playモードに戻して、AIにもう少し頑張ってもらいます。
00:12:39「最初のパスとしては上出来だけど、もっと複雑にしたい。レーザーで敵を撃ち、
00:12:49敵も撃ち返してくるような戦闘システムを追加できる?また、ボスの出現を早めるか、
00:12:56ボタン一つでボス戦を開始できるようにして。あと、背景に紛れて見にくいので、コントラストも調整して。
00:13:00他にももっと複雑にするアイデアがあれば、限界まで挑戦してみて」
00:13:04これがAIが出してきたプランです。Goalsシステムを使う上で知っておくべきことは、
00:13:11各Goalの実行はその時のスレッドやセッションに紐付いているということです。
00:13:15同じチャット内にいるので同じGoalスレッドにいますが、同じプロジェクトで2回目のGoalを実行したいなら、
00:13:19別のスレッド、つまり新しいチャットを開く必要があります。ターミナルをもう一つ開くような感覚です。
00:13:24このプランをコピーして、新しいチャットを開き、「/goal」と打って貼り付けます。
00:13:3115分後、2回目のGoalが完了し、戦闘のアップグレードが実装されました。
00:13:37即座にボス戦を開始できるボタンを追加したり、コントラストを少し調整したりできないでしょうか?
00:13:42上部にいくつかのウィジェットが追加されました。ターゲット、コンボ、そしてボス信号があります。
00:13:49開始するとすぐに攻撃でき、敵も撃ち返してきます。敵にはヒットポイントもあります。
00:13:53ボス信号を押すとボスが登場します。見た目もかなりかっこいいですね。
00:13:58一番すごいのは、これらすべてがオリジナルのアセットであり、
00:14:07画像生成モデルを使って自動で作られたという点です。合計で約45分しかかかっていません。
00:14:123日間実行させている人もいますが、重要なのは、このGoalsの実行がいかにシンプルかということです。
00:14:18目標を与えれば、AIが突き進んでくれます。明確な北極星(目標)と、
00:14:24成功の基準さえあれば、非常に大きな成果が得られます。これは永遠に回し続けることもできます。
00:14:33自分でRALPHループや足場を組んだり、GSDのような外部ツールを使ったりする必要はなく、
00:14:40すべてが組み込まれています。Claude Codeでも同じことは可能ですが、
00:14:44画像生成のためにHiggsfield CLIやMCPを導入する必要があり、
00:14:50ここまで統合されたシステムではありません。この動画が参考になれば幸いです。
00:14:56ぜひCodexをチェックしてみてください。デスクトップアプリは本当に素晴らしいです。
00:15:01Claude Codeと連携させるのもいいでしょう。Claude Codeでプランを作成し、
00:15:09それをCodexのGoalsに投入する。そうしたやり取りの中に、最大の価値があると思います。
00:15:13「全体は部分の総和よりも大きい」というやつですね。感想をぜひ教えてください。
00:15:19Chase AI Plusと、数日後のウェビナーのリンクは固定コメントにあります。
00:15:243日間も実行し続けた人のスクリーンショットも見かけましたが、個人的に一番の
00:15:30魅力は、目標を実行するのがいかに簡単かという点です。目標を与えるだけで、
00:15:36あとは勝手に進めてくれます。設定がしっかりしていればですが。勝ったのかな?
00:15:43(以下、インデックス整合性のための空データまたは繰り返し)
00:15:48明確な指針があり 成功の基準がはっきりしていれば
00:15:54そこから多大な成果を得られ 永遠に回し続けることもできます
00:15:59独自のループや土台を構築したり GSDやSuperpowersのような
00:16:05外部のオーケストレーション層を使う必要はなく 最初から組み込まれているのです
00:16:10画像生成もAIが行うので、クリエイティブな作業も捗ります。
00:16:15プロンプトの具体性が、結果の質を左右します。
00:16:18Planモードを活用して、しっかりと設計しましょう。
00:16:24自動検証スクリプトを含めるのもポイントです。
00:16:31Codexデスクトップアプリは、開発体験を向上させます。
00:16:35インライン表示で、進行状況が把握しやすいです。
00:16:40Claude Codeとの比較も興味深かったですね。
00:16:44どちらも優れたツールであり、目的によって使い分けるべきです。
00:16:49今後、さらに多くの機能が追加されるでしょう。
00:16:53AIと共に、新しい開発の形を模索していきましょう。
00:17:02皆さんの感想をぜひ教えてください。固定コメントのリンクから
00:17:07Chase AI Plusをチェックしてください。数日後のウェビナーのリンクも貼っておきます。
00:17:12会場でお会いしましょう。それでは、また次回。