ChatGPTを分解したら、エージェントの正体が見えてきた

タビの独り言

最近、「AIエージェント」という言葉を聞かない日がありません。ただ、先日ふと「AIモデルとAIエージェントって、何が違うの?」と自分に問いかけてみたら、意外と言葉に詰まりました。どちらも「賢いAI」でまとめてしまっていたんですね。

講義でこのテーマを扱う機会があって、改めて腰を据えて考えてみたら、これがなかなか面白かった。今日はその話です。

そもそもChatGPTって、何なんだ?

考えるときの私の癖で、まず一番確実なところまで遡ります。いわゆる第一原理思考というやつです。既存の前提を疑って、確実なところまで根本に遡って、そこから組み立て直す。で、AIの話の場合、遡る先はここだと思うんです。「そもそもChatGPTって、何?」

特別なAI? 何か新しい種類の存在? いろいろ答え方はあると思いますが、私の答えはこうです。Webアプリケーションの一種。Amazon・YouTube・Gmailと同じ、ブラウザから使うWebアプリの仲間です。

拍子抜けするでしょうか。でも、この位置づけがけっこう効きます。魔法の箱だと思っているうちは何も考えられませんが、「知っているものの仲間」だと分かった瞬間、手持ちの知識が全部使えるようになるからです。

分解してみる

Webアプリなら、構造は知っています。手元のクライアント、繋ぐインターネット、遠くのサーバー。ChatGPTをこれに当てはめて構成図を描いてみると、サーバー側にはリクエストを受けるWebサーバーがいて、会話を保存するデータベースがいて、ファイル置き場のストレージがいて——そしてLLMがいる。

ChatGPTの構成図。クライアント側のブラウザと、OpenAI社サーバー側のWebサーバー・データベース・ストレージ・LLMがインターネット越しに繋がっている
ChatGPTの構成図(概略)。分解してみると、新しい箱はLLMだけ

こうして眺めると、面白いことに気づきます。新しい箱は、LLMひとつだけなんです。あとは全部、昔からある技術の組み合わせ。

しかもそのLLMも、単体でやっていることは「テキストを受け取って、テキストを返す」だけ。入力→出力という動作自体は、機械学習の頃から何も変わっていません。精度が桁違いに上がっただけで、骨格は同じです。

ちなみに「LLMの中身が分からないのに分かった気になっていいのか」問題ですが、私はいいと思っています。分からないところは「箱」として置いて、何の箱かだけ押さえて、箱同士の繋がりを先に掴む。中身は興味が湧いたときに開ければいい。全部理解しようとすると、だいたいそこで止まります。

では、エージェントとは何なんだ?

ここからが本題です。生成AIの使い方って、基本は「AIが答えを返して、人がチェックする」でした。主語は人の個別判断です。一方、いま言われているエージェントは「目的・権限・道具の範囲内で、AIが手段を選んで動く」。人が1回ずつ確認する代わりに、仕組みの側で安全に動かす。主語が「設計された環境」に変わっています。

で、その正体を分解すると、こういう式になります。

エージェント = モデル + ハーネス

エージェント=モデル+ハーネスの図。ハーネスバッグを背負った猫のイラストと、モデルとハーネスそれぞれの役割の説明
エージェント=モデル+ハーネス。ハーネスは「モデル以外の全部」

モデルはLLMそのもの、さっきの「賢い箱」です。ハーネスはモデル以外の全部。入力の受付、ツールの定義と実行、ループの制御、結果の保持、出力の整形、エラー処理。

考えて(Thought)→動いて(Action)→結果を見る(Observation)を繰り返すReActのようなループ構造も、ハーネスの仕事です。LLMが呼ばれるのは、テキストを生成するその瞬間だけ。

LLMとハーネスの役割分担の図。中央のLLM(入力→出力)を、入力の受付・ツール定義・ループ制御・ツール実行・結果の保持・出力の整形・エラー処理といったハーネスの機能が囲んでいる
LLMが呼ばれるのはテキスト生成の瞬間だけ。それ以外の全部がハーネス

つまりですね、エージェントの賢さは、モデルの外側に宿っているんです。モデルだけではエージェントにならない。ハーネスを足して、はじめてエージェントになる。

ここが腑に落ちたとき、モデルの新製品発表を追いかけるのと同じくらい、その周りの設計に注目すべきなんだなと思いました。Kimi K3の記事で「モデルのすごさ」を眺めましたが、あれは車で言えばエンジン単体の話で、車として走らせる装備一式が今日の話です。

ハーネス・エンジニアリングという言葉

この「モデルをどう動かすか」の設計に、最近名前がつきました。ハーネス・エンジニアリングです。AIへの指示の出し方は、言い方を工夫するプロンプト・エンジニアリングから、渡す材料を設計するコンテキスト・エンジニアリング(RAGや会話履歴やメモリ)へ、そして環境ごと設計するハーネス・エンジニアリングへと、一段ずつ外側に広がってきました。

AIへの指示の進化を示すピラミッド図。プロンプト・エンジニアリング、コンテキスト・エンジニアリング、ハーネス・エンジニアリングの3段階
AIへの指示の進化。言い方の工夫→渡すものの設計→環境ごと設計

念のため言うと、ハーネスは突然生まれた新技術ではありません。もともと存在していた周辺設計に、エージェントの台頭であとから名前がついたものです。

使う側が設定するユーザーハーネス(CLAUDE.mdのような設定ファイル)と、作る側が設計するビルダーハーネス(システムプロンプト、ツール定義、ガードレール)の2層で捉えると分かりやすい。

AIの利用が個人からチームに広がると、人によって使い方がバラバラ、品質も揃わない、となりがちで、「LLMをどう動かすかをチームで設計・共有する」ことが急に大事になってくる。流行っている背景は、たぶんこれです。エージェントが「動く」ようになった分、セキュリティの考え方も環境側の設計の話になってきていますね。

分解したら、怖くなくなった

新しい技術が出てきたとき、私は3つの問いを立てるようにしています。何が新しいのか? 何が既存技術の組み合わせなのか? 組み合わせ方に、どんな工夫があるのか?

エージェントをこの問いにかけると、新しいのはLLMの精度で、残りは既存技術の組み合わせで、工夫はハーネスの設計に詰まっている——と、きれいに整理できてしまいました。革ジャン先輩が「システム思考が新しいコーディングだ」と言っていた話とも、根っこは同じだと思います。部品そのものより、部品の繋ぎ方。

技術は進化しますが、本質はなかなか変わりません。そして、分解して本質が掴めると、追いかけるのが少し楽しくなります。エージェントの記事を読むたびに身構えていた方は、まず「モデル+ハーネス」という式だけポケットに入れてみてください。だいぶ景色が変わると思いますよ。

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