メインコンテンツへスキップ
見出し画像

💥Claude Codeに初チャレンジ ー エージェントでインベーダーゲームを作ってみた

    毎度rorosukeです。

    先日、エージェントエンジニアリングについての記事を出しました。それが次です。

    実際のところ、この私。エージェントエンジニアリングについては、ずぶの素人も同然なのですが、そんなことから、私の脳内では「エージェントエンジニアリング」の文字がうろうろし始めました。

    しかしそれでもまだ、自分事のようには受け止められないというのも事実。なぜかというと、私にとって、どれだけ役立つものか想像できないからです。率直に言えば、

    使ったことがない

    からにほかなりません。これは、ガラケー時代に

    「スマホって便利だよ」

    と言われても、すぐには「ピンとこない」のと一緒ですね。しかし、記事化するにつれ、これは「試してみたい」という気持ちが膨らんできました。

    そこで、

    Claude Code(クロード・コード)

    です。

    「エージェントエンジニアリングとどんな関係があるの?」

    おおいに関係あるんです。それは、後程説明します。

    まず、Claude Codeについて説明します。
    Anthropic(アンソロピック)のAI、Claude(クロード)がターミナル(コマンドライン)上で動くツールです。
    チャットのように指示を入力するのは、チャット型AIのClaudeと同じです。しかし、Claude Codeでは、自分でファイルを作り、プログラムを実行し、エラーが出たら自分で修正まで行ってくれます。
    つまり、プログラム開発の多くの工程を自動で進められるのが特徴。

    なんか便利そうだなと思っていましたが、実際まだ、これを体験したことがなかったので

    「じゃあやってみよう!」

    と遅まきながら初チャレンジしてみたという記事になります。

    なお、Claude Codeは、Freeプランでは利用できません。Proプラン(月額$20、約3,000円)以上の有料プランが必要です。



    🤖Claude Codeがエージェントと呼ばれるわけ

    Claude Codeは「エージェント」もしくは「エージェントツール」と呼ばれます(後で説明しますがエージェントエンジニアリングとは異なります)。
    それはどういうことか・・・

    「エージェント」とは、もともと「代理人」や「取引先との間に立つ仲介者」を指す言葉です。AIの世界では、「指示を受けて、自分で判断しながら行動し、結果を出す存在」のことを指します。

    ポイントは「自分で判断しながら」という部分です。

    従来のチャット型AIは、質問に答えるだけです。「こうすればいいですよ」とアドバイスはしてくれますが、実際に手を動かすのは人間でした。人間が、生成されたコードをエディタに貼り付けたり、コードを修正したり、エラーが出たらプロンプトに入力していました。
    これが、いわゆる「バイブコーディング」の実作業です。

    それに対してエージェントは、「やっておいて」と言えば、自分でファイルを開いて、コードを書いて、実行して、エラーが出たら原因を調べて、修正して、また実行して……というループを、人間の介入なしに自律的に回し続けます。

    この「判断→行動→確認→また判断」という自律的なサイクルこそが「エージェント」と呼ばれる所以です。



    🤖はじめてのClaude Code

    前置きはこれくらいにして、ここからが初チャレンジです。

    Claude Codeを、まともに使うのは初めて。どうしたらいいか右も左もわからないので、そこはチャット型AIのClaudeに、インストール方法からエージェントへの指示方法まで、手取り足取り教えてもらって実験してみました。

    そのときのやり取りはこんな感じです。


    👦Claude Codeを試したいので、どうすればいいか教えてください。

    💻次のようにしてください。

    npm install -g @anthropic-ai/claude-code
    cd your-project
    claude

    あとは日本語で「このPythonアプリにXXXの機能を追加して」と指示するだけです。

    👦Claude Code が起動し、入力待ちになっています。

    💻まずこれを試してください。日本語でそのまま入力できます。

    このフォルダにあるPythonファイルの一覧を教えて

    するとClaudeが自分でフォルダを読みに行って、ファイル構成を把握して答えてくれます。これだけでもチャットとの違いが感じられます。

    👦表示されました。どうすればClaude Codeを終了できますか?

    💻終了するときは次のようにしてください。

    /exit

    または Ctrl+C で終了できます。

    ちなみに /init を実行すると CLAUDE.md というファイルが作られて、プロジェクトの説明をClaudeが記憶できるようになります。慣れてきたらやってみると便利です。

    👦スペースインベーダーゲームをゼロから作ってみたいのですが、そのためにはどうしたらいいですか?

    💻手順です。
    ① 作業フォルダを作る
    今のフォルダの中に新しいフォルダを作ります。ターミナルで:

    mkdir game_invader_claude
    cd game_invader_claude
    claude

    ② Claude Codeが起動したら、以下をそのまま貼り付ける

    Pygameでスペースインベーダーを作って。
    以下を全部含めた完成版にして。
    
    ・敵キャラの隊列(横に動いて端で降りてくる)
    ・UFO(たまに上を横切る)
    ・トーチカ4つ(弾で少しずつ削れる)
    ・爆発アニメーション
    ・自機とスコア表示
    ・残機表示
    ・ゲームオーバー画面とリスタート
    ・効果音はコードで生成して
    
    Pythonファイル1つにまとめて、
    完成したら実行して動作確認もして

    あとはほぼ見ているだけ
    Claudeが自分でファイルを作り、実行して、エラーが出たら直して、を繰り返します。


    これを実際に試したところ・・・

    しばらくして勝手にゲームが起動しました。その画面がこちらです。

    画像
    Claude Codeで作成されたゲーム画面
    • 完成までに要した時間:約5分

    • コード行数:約800行

    • リソース消費:約8%

    正直、驚きました。外部素材ゼロで、効果音も含め、ちゃんとゲームとして遊べるものが5分でできてしまいました。



    🤖バイブコーディングでも試してみた

    念のため、次のプロンプトを使って、いつものバイブコーディング(Claudeのチャット画面)でも作ってみました。

    Pygameでスペースインベーダーを作って。
    以下を全部含めた完成版にして。
    ・敵キャラの隊列(横に動いて端で降りてくる)
    ・UFO(たまに上を横切る)
    ・トーチカ4つ(弾で少しずつ削れる)
    ・爆発アニメーション
    ・自機とスコア表示
    ・残機表示
    ・ゲームオーバー画面とリスタート
    ・効果音はコードで生成して

    この方法でできたコードを実行した結果です。

    画像
    バイブコーディングで作成されたゲームのプレイ画面

    完成までに要した時間:約2分+修正2分

    • コード行数:約700行

    • リソース消費:約5%

    ゲームとしての出来栄えは多少の差はあれ、ほぼ同レベルでした。その意味では、バイブコーディングよりClaude Codeの方が賢い、といった違いはありません。

    どちらもキャラクターが作成されていますし、効果音も鳴っています。もちろんゲームとして(バランスの問題等はあったりしますが)ちゃんとプレイできました。



    🤖じゃあ、どっちも同じではないの?

    ここが本題です。

    出来上がったものだけ見れば、確かにほぼ同じです。しかし、開発のプロセスが全く違いました。

    エージェント(Claude Code)の場合:
    コード生成 → 自動でデバッグ → 自動で修正 → 完成

    バイブコーディングの場合:
    コード生成 → 人間がデバッグ → 人間が修正 → 完成

    バイブコーディングでは、実行してエラーが出たとき、その情報を人間がフィードバックしないと先に進みません。エラー内容を読んで、修正案を判断して、また試して……という作業が人間側に発生します。

    一方エージェントでは、それらがすべて自動化されています。人間は、終わるのを「何もしないで」ただ待っていればいい。

    「何もしないで」と書きましたが、実際には「どれか選んでください」くらいの質問に答えるフェーズはあったりします。しかし、エラーに関する情報のフィードバックやコードの修正をしなくていいのは、めちゃくちゃ楽です。この快適さを知ってしまったら、もう元に戻れません。

    「なるほど! こういうことなのか」

    ようやく、世の中を騒がしているエージェントツールがどういうものかについての実感がわいてきました。

    そういえば、これまでにソースコードを半自動でアップデートしてくれるプラグインなどはいくつも試したことがありますが「なんかいまいちだなー」と思って導入しませんでした。そういった、ちょっと便利になる系ツールとは明らかに別物ですね。これは。



    🤖Claude Codeだけじゃない、各社が参入している

    ちなみに、Claude Codeと同じようなターミナル型のエージェントツールは、GoogleとOpenAIも出しています。

    Claude Code(Anthropic)
    Claude ProまたはMaxのサブスクリプションで使えます。ターミナルから自然言語で指示するだけで、ファイルの作成・実行・デバッグまで自律的に行ってくれます。コーディングエージェントとしての完成度が高く、業界での採用率も群を抜いています。

    Gemini CLI(Google)
    Googleアカウントがあれば無料枠で試しやすいのが強みです。Google検索との連携が得意で、最新情報を参照しながら作業させたい場合に向いています。無料枠が広いので、まず試してみたいという人には入りやすいツールです。

    Codex CLI(OpenAI)
    OpenAIのモデルをターミナルから直接操作できる開発者向けツールです。
    GitHubとの連携もしやすく、コード生成や修正をコマンドラインから実行できます。

    現時点での評価

    Claude Codeが一歩も二歩も先を行っているというのが業界の共通認識です。2026年2月時点でエンジニアコミュニティでの採用率も高いと言われています。

    コスト面からみても、Claude Codeが有利です。なぜなら、従量課金制のAPIと違い、Proのサブスクリプション枠で使えるからです。

    使い分けをするなら、メインのコーディング作業はClaude Code、Googleは「コスト重視のサブ作業に使う」、OpenAIは「すでにChatGPTを使っている人が試す」という位置づけになると思います。



    🤖で、エージェントエンジニアリングってのは何?

    ここまでで、「エージェントツール」というものがどんなものかはおぼろげに見えてきたと思います。
    では、最近よく耳にする「エージェントエンジニアリング」とは何なのか。

    実は「エージェントを使うこと」と「エージェントエンジニアリング」は別物です。

    今回の私がやったことは、あくまで「エージェントを使う」体験でした。指示を出して、できたものを受け取る。それはいわば、スマホを使って写真を撮るようなレベルの話です。

    エージェントエンジニアリングは、もう一段上にあります。

    • エージェント自体をどう設計するか

    • 複数のエージェントをどう連携させるか

    • 人間がどこに介入して、どこを任せるか

    エージェントの動き方そのものを設計・構築する技術、それがエージェントエンジニアリングです。
    これを会社で例えるなら、エージェントは「外注先に仕事を頼む」こと、エージェントエンジニアリングは「どの外注先に何を任せてどう連携させるかの全体設計をする」ことに近いかもしれません。

    今回、私はようやくその「使う側」の入り口に立てた段階です。「エンジニアリング」の世界はまだ大きなドアの先にあります。道のりは遠そうですが、

    「こりゃあ、この先メチャおもしろいことになりそうだ」

    とわくわくが止まりません。



    🤖まとめ

    • Claude Codeはターミナルで動くエージェント型AIツール

    • 同じプロンプトでも、バイブコーディングとの最大の違いはデバッグと修正の自動化

    • 出来上がるものの品質はほぼ同等だが、人間が関与する部分が大幅に減る

    • 「エージェントを使うこと」と「エージェントエンジニアリング」は別物

    • 理屈より体験。使ってみないとわからないことが確かにあった

    最近はずっと「Google AI Studioって、マジ便利ー」と思っていましたが、Claude Codeを使ってみると、

    やっぱ、本命はこっちだわね!

    と実感せざるをえません。

    率直に「間口が広い」「この先に未来がある」という感覚がビンビンきます。

    本格的な「エージェントエンジニアリング」の時代が来る前に、今のうちに「エージェントツール」に慣れておく必要性がありそうです。

    やらねばならないことが、また増えた!

    以上!



    ✨おもしろいところに気づいちゃいました

    使っていて、一つだけ気になるものがありました。

    実用情報でも、エラーでもない。

    でも、目に入るたびに気になる。



    📖用語辞典

    「用語が難しくて」とお嘆きの方のために用意したうれしい用語辞典です。

    【ツール・サービス名】

    Claude Code AnthropicのAI「Claude」をターミナル(コマンド画面)から操作する開発ツール。指示するだけで、ファイルの作成・実行・デバッグまでを自律的に行う。Pro以上の有料プランで使える。

    Gemini CLI GoogleのAI「Gemini」をターミナルから操作するツール。Googleアカウントがあれば無料枠で利用でき、Google検索との連携が得意。CLIはCommand Line Interface(コマンドライン・インターフェース)の略。

    Codex CLI OpenAIのAIをターミナルから操作するツール。ChatGPTのサブスクリプションに含まれる形で使える。

    Pygame Pythonでゲームを作るためのライブラリ(道具箱)。比較的シンプルなコードでグラフィックや音を扱えるため、AIとの相性がよい。

    【概念・手法】

    バイブコーディング 「ノリ(Vibe)でコードを書く」という意味で、AIにざっくり指示してコードを生成させる手法。AIが普及し始めた頃に流行した言葉で、OpenAIの研究者アンドレイ・カーパシー氏が命名した。

    エージェント 指示を受けて自分で判断しながら行動し、結果を出す存在のこと。チャット型AIが「アドバイスするだけ」なのに対し、エージェントは「実際に手を動かす」。「判断→行動→確認→また判断」の自律的なサイクルが特徴。

    エージェントエンジニアリング エージェントの動き方そのものを設計・構築する技術。「エージェントを使うこと」よりもう一段上の概念で、複数のエージェントをどう連携させるか、人間がどこに介入するかを設計することを指す。

    デバッグ プログラムの誤り(バグ)を見つけて修正すること。バイブコーディングでは人間がエラーを確認して修正を指示するが、Claude Codeはエラーを自分で検知して自動修正する。

    【料金・技術用語】

    ターミナル(コマンド画面) キーボードでコマンド(命令)を文字で入力してPCを操作する画面のこと。WindowsならコマンドプロンプトやPowerShell、MacならTerminalがこれにあたる。

    npm / npm install Node.jsというプログラム実行環境に付属するツール。npm installと入力するとツールをネットからダウンロードしてPCに導入できる。Claude Codeの導入もこの方法で行う。

    サブスクリプション 月額や年額で支払う定額制の料金体系のこと。Claude Codeは使った分だけ課金されるAPIではなく、定額サブスクリプション枠の中で動くため、コストが読みやすい。

    API(エーピーアイ) プログラムとプログラムをつなぐための窓口。AI企業が提供するAPIを使うと、使った量(トークン数)に応じて従量課金される。サブスクリプション利用と比べてコストが変動しやすい。

    トークン AIが処理するテキストの単位。日本語だとおよそ1文字1〜2トークンに相当する。大量のコードを生成するほど消費トークン数が増える。

     
     
    AIで時間を生み出す実験をしています。 元PC系出版社編集者。 Claude・ChatGPT・Geminiを並行使用しながら、 実践した話だけを書いています。

    あなたへのおすすめ