「ChatGPTに聞いたらコードを書いてくれる。それなら、コーディングエージェントと呼ばれるCodexは何が違うのか?」

この違いを理解する鍵は、普段画面を操作して使っているパソコンが、裏では何を処理しているのかにあります。AIがそのパソコンを操作できる環境を持つと、質問に答えるだけでなく、ファイルを作成して文章を書きこんだり、インターネットに接続したりする能力を得ます。

「AIがアプリを作る」とは何を指しているのか。まずは、普段のパソコン操作から見ていきます。

マウスでしていることは、文字でも指示できる

パソコンでファイルを作るとき、私たちは画面上の「新規作成」を押します。ファイルを開き、文字を書き、保存します。

これは、画面を使ってパソコンへ命令を伝えている状態です。画面上のボタンやメニューを使う操作方法は、GUIと呼ばれます。

同じ操作の多くは、ターミナルやコマンドラインと呼ばれる、映画でハッカーが使っていそうな場所(CLI)から、文字でも指示できます。

fruit-shopというフォルダを作る
その中の index.html を開く
書かれている内容を検索する
新しい内容へ書き換える

実際の命令は専用のプログラムになりますが、していることはマウス操作と大きく変わりません。ファイルを作る、読む、書き換える、アプリを起動する。入口が画面か文字かの違いです。

この「パソコンは文字でも操作できる」という事実が、コーディングエージェントを理解する入口になります。

ChatGPTはコードを答えても、ファイルを変えてはいない

ChatGPTに、こう頼んだとします。

商品名で一覧を検索できるようにしたいです。

すると、必要な考え方を説明し、HTMLやJavaScriptの例を書いてくれます。

<input type="search" placeholder="商品名を入力">

ただし、会話の中にコードが表示されただけでは、手元のアプリは変わりません。

どのファイルへそのコードを書き込むのか。すでにあるコードのどこを直すのか。保存したあと、どうやってページを開くのか。エラーが出たら、何を見ればよいのか、などなど。誰かがその続きを進める必要があります。

ここで初めてコードに触れる人は、「じゃあ、このプログラムをどうすればいいの?」となります。そりゃ当然です。ChatGPTとの会話の画面と、アプリを開発するためのコードが置かれている場所は別だからです。

AIに作業場所と道具を渡すと、その先へ進める

Codexのようなコーディングエージェントには、許可された作業場所のファイルを読んだり、変更したり、命令を実行したりする仕組みがあります。

流れを並べると、違いが見えます。

会話でコードを答える場合

①依頼する

②AIが説明やコードを返す

③人がファイルへ反映し、動作を確かめる

コーディングエージェントの場合

①依頼する

②AIが関係するファイルを探す

③ファイルを変更する

④必要なプログラムを動かす

⑤結果を見て、必要なら直す

⑥何を変え、何を確認したか報告する

AIが急にパソコンに魔法をかけた訳ではありません。CLIと呼ばれる黒画面でファイル操作やコマンド実行といった操作を、地道にAIが実行しただけです。

重要なのは、人間が画面を操作してできること(黒画面を操作してもできること)を、AIが代わりに操作しているということです。つまり、Codexなどのコーディングエージェントは、人間がパソコンでできることは何でもできるんです。

ただし、AIになんでもかんでも操作できる権限を与えると危険です。どの場所でどの操作をしてよいかが決められている必要があります。なお、Codexなどのコーディングエージェントには、ある程度その設定が最初からされてあります。

実際に、商品一覧へ検索欄を付けてみる

最初のページには、6件の商品が並んでいるだけで、検索欄はありません。

検索機能を追加する前の商品一覧。6件の商品が並び、検索欄はまだない

Codexには、次のように頼みました。

商品名を入力すると一覧を絞り込めるようにしてください。今の商品カードの見た目は変えないでください。「りんご」と入力したら2件になることも確認してください。

ファイル名やコードの行番号は指定していません。Codexが商品一覧を表示している場所を探し、必要なファイルを変更します。

その後、Codexがページを実際に開き、検索欄へ「りんご」と入力して確認しました。この記事の冒頭にある画像が、その結果です。6件の商品が、紅玉りんごと青森りんごの2件へ絞り込まれています。

コードを書いただけで終わらず、ページを開いて実装結果を確認する。ここまでやりきることが、「コードを答える」ChatGPTと「実際の環境で作業する」Codexの具体的な違いです。

エラーが出たら、その結果も次の材料になる

一度で正しく動くとは限りません。たとえば、検索結果が0件のとき、「該当する商品がありません」と表示してほしいですが、何も表示されず壊れたように見えることがあるかもしれません。

期待した結果:
「該当する商品はありません」と表示される

実際の結果:
何も表示されない

コーディングエージェントは、この結果を読んで修正を追加し、もう一度テストします。

「製品の品質テストする」と聞くと難しく感じるかもしれませんが、ここでは「決めておいた確認事項を、同じ条件でもう一度試す」くらいに考えれば十分です。

今回なら、「りんご」で2件になる、検索文字を消すと6件へ戻る、スマートフォンでも横にはみ出さない、といった確認です。

検索後の商品一覧をスマートフォン幅で表示した画面。検索欄と2件の商品が縦に並ぶ

検索はうまく機能し、スマホの幅(390px)で表示しても、検索欄と商品は画面内に収まりました。これはコードを読むだけではなく、実際の画面を開いて確認したからこそできたことです。

Web検索やExcelも、考え方は同じ

この仕組みは、コードを書く場面だけに限りません。

たとえばWeb検索なら、AIに検索やページ取得の道具(ツール)が渡されていれば、情報を探し、内容を読み、必要な部分を文書へ反映できます。

Excelファイルを扱える道具があれば、表を読み、売上を集計し、グラフを入れたファイルとして保存できます。

どちらも、AIが頭の中だけでWebやExcelを再現しているわけではありません。検索、ページの取得、ファイルの読み書きといった外部の道具を使っています。

だから「そのAIは何ができるのか」を知りたいときは、モデル名だけでなく、どのファイルやアプリ、外部サービスへ接続されているかを検討する必要があります。

では、人間は何を覚えればいいのか

以前なら、Webサイトを作りたいと思ったら、まずHTML、CSS、JavaScriptを学び、自分でコードを書くのが一般的でした。

しかしコーディングエージェントを使う場合、もはや人間の役割は大きく変わります。

検索画面を付けてほしい。
商品カードの見た目は変えないでほしい。
スマートフォンでも使えることを確認してほしい。

このように、何を作りたいか、何を変えたくないか、どこまで確認してほしいかを伝えます。

コードを一行も知らなくてよい、という意味ではありません。知識があれば、依頼を具体的にし、出てきた結果をより正確に判断できます。ただ、すべてのコードを自分で書けなければ何も作れない、という訳ではなくなっています。つまり、エンジニアの人しかできなかったことが、誰でもできるようになってきているのです。

AIが様々なことを代わりにやってくれる一方で、「検索対象を商品名だけにするのか、説明文も含めるのか」「0件のときに何と表示するのか」「その変更を公開してよいのか」といった、正解が一つではない判断は、人が最終的に決定することになります。

AIはどこでパソコンを操作しているのか

コーディングエージェントが作業するには、ファイルを置き、プログラムを動かせる環境が必要です。

それは手元のMacやWindows PCの場合もあれば、クラウド上に用意された作業環境の場合もあります。AIの計算がサーバー側で行われても、実際にファイルを変更し、命令を実行する作業場所は別に必要です。

スマートフォンやタブレットから依頼できるサービスもあります。ただし、その端末自体がパソコンと同じ開発環境になるとは限りません。クラウドの作業環境へ依頼しているのか、手元のパソコンへ接続しているのかで、できることは変わります。

そして、どの環境でも権限は重要です。ファイルの削除、外部への送信、公開、支払いに関わる操作まで自動で任せる必要はありません。確認が必要な操作は、人の承認を挟む設計にできます。

「ChatGPTかCodexか」より、どこまでできる状態かを見る

ものすごく単純化すると、冒頭で触れた「違い」はこう説明できます。

ChatGPTは、会話の中で説明やコードを返すところが基本です。Codexのようなコーディングエージェントは、そこから実際の作業場所へ入り、ファイルを変更し、結果を確認するところまで進めます。

ただし、現在のChatGPTにもファイルや外部ツールを扱う機能があります。そのため、製品名だけで完全に線を引くことはできません。

注目すべきなのは、今回使っているAIに何の操作権限が渡されているかです。

  • 作業するファイルを読めるか
  • ファイルを変更できるか
  • コマンドやテストを実行できるか
  • ブラウザや外部サービスを使えるか
  • どの操作で人の確認が必要か

「AIがアプリを作った」と聞いたときも、同じように確かめられます。

コードを表示しただけか?
実際のファイルを変更したか?
アプリを開き、何を試したか?

人間が画面で操作できることを、AIも道具を使って、文字で操作・実行できるようにする。そうするとAIは、文章を生成するだけでなく、パソコン上の作業も進められるようになります。Codexは、その仕組みをコーディングに使う代表的な例なのです。