※本記事は、アンドレイ・カーパシー氏による動画「How I use LLMs」の内容を基に作成されています。この動画はLLM(大規模言語モデル)の実践的な活用法に焦点を当てた、一般向けのLLMシリーズの続編です。動画の詳細情報は https://www.youtube.com/watch?v=EWvNQjAaOHw でご覧いただけます。本記事では、動画の内容を要約・構造化しております。
なお、本記事の内容は原著作者の見解を正確に反映するよう努めていますが、要約や解釈による誤りがある可能性もありますので、正確な情報や文脈については、オリジナルの動画をご覧いただくことをお勧めいたします。
教育目的での利用に関しては、動画の著作者の方針に従い、教育者、学生、学校、大学、非営利団体、企業、個人学習者が、商業的再販や再配布、外部商業利用を行わず、またコンテンツの意図を誤って表現するための修正を行わない限り、授業、コース、内部トレーニング、学習活動のために自由に使用できます。
動画で紹介されているツールやリソースについては、原著者が提供しているリンク(Tiktokenizer、ChatGPT、Claude、Gemini、Grok、Perplexity、NotebookLM、Cursor等)をご参照ください。
1. LLMエコシステムの概要
1.1. LLMアプリの多様化と成長
この動画では、大規模言語モデル(LLM)に関する一般向けシリーズの実践的な続編として、LLMエコシステムの成長について説明したいと思います。前回の動画では、これらのモデルがどのように訓練されるか、その仕組みや認知プロセスについて詳しく説明しました。今回は、より実践的な応用例に焦点を当て、これらのツールをどのように使用しているか、また皆さんの生活や仕事にどう活用できるかをお見せしたいと思います。
まず最初に、ウェブページchatgpt.comを表示していますが、ご存知の通り、ChatGPTはOpenAIによって開発され、2022年にデプロイされました。これは初めて、テキストインターフェースを通じて大規模言語モデルと会話できるようになったものです。これはインターネット上で大きな話題となり、広く普及しました。しかし、2022年からの状況と比べると、2025年の現在では、エコシステムは大きく成長しています。
ChatGPTはOpenAIの「元祖」的存在で最も人気があり、機能も豊富ですが、現在では多くの類似アプリが存在しています。大手テック企業も追随し、GoogleのGemini、MetaのMeta AI、MicrosoftのCo-pilotなど、ChatGPT風の体験を提供しています。さらに多くのスタートアップ企業も参入しており、例えばAnthropicのClaude、イーロン・マスクの会社xAIのGrokなど、数多くの選択肢があります。
これらの企業はほとんどがアメリカ企業ですが、Deep Seekは中国の企業、LeChatはフランスのMistral社のものです。これらのモデルの性能を追跡するには、いくつかのリーダーボードが役立ちます。例えば前回の動画でも紹介した「Chatbot Arena」では、異なるモデルのランキングとその強さ(ELOスコア)を確認できます。また、ScaleのSCALE AIリーダーボードも、様々な評価基準に基づいた異なるモデルのランキングを提供しています。
エコシステムが非常に豊かになっていることを理解していただきたいのですが、まずはOpenAIについて説明を始めます。その後、他のモデルについても徐々に紹介していきます。
1.2. 主要プロバイダーの概要(OpenAI、Google、Meta、Microsoft、Anthropic、xAI など)
LLMの提供企業は多岐にわたっています。最初に紹介したOpenAIはChatGPTの開発元で、最も長く存在しているため機能も豊富です。これに追随するように、大手テック企業も次々とサービスを展開しています。GoogleのGemini、MetaのMeta AI、MicrosoftのCo-pilotなどは、大手テック企業がChatGPT風の体験を提供するために開発したモデルです。
さらに多くのスタートアップ企業も市場に参入しています。例えばAnthropicが開発したClaudeはChatGPTと同様の機能を持ち、イーロン・マスクの会社xAIはGrokというモデルを提供しています。他にも多くの企業が参入していますが、これらの多くはアメリカの企業です。
海外企業としては、Deep Seekという中国の企業と、LeChatを提供するフランスのMistral社があります。これらの企業がどのようなモデルを提供しているか、その性能を比較するためのリソースがいくつか存在します。
「Chatbot Arena」は、異なるモデルのランキングとそれらの強さ(ELOスコア)を確認できるプラットフォームです。また、ScaleのSCALE AIリーダーボードでは、さまざまな評価基準に基づいた異なるモデルのランキングを見ることができます。このようなリーダーボードを通じて、現在どのモデルが様々なタスクで最高のパフォーマンスを発揮しているかを確認できます。
エコシステムは非常に豊かで多様になっていますが、まずはOpenAIのChatGPTから始めて、その特徴や機能を詳しく説明し、その後他のモデルや機能についても触れていきます。各プロバイダーにはそれぞれ特徴があり、使用目的によって最適なものを選ぶことが重要です。
1.3. モデルのランキングとリーダーボード
これらの様々なLLMモデルの性能を追跡し、比較するには、いくつかのリーダーボードが役立ちます。前回の動画でも紹介した「Chatbot Arena」は、最も有名なランキングシステムの一つです。ここでは異なるモデルのランキングとその強さを表すELOスコアを確認することができます。これは、どのモデルが現在最も高性能なのかを把握するための一つの方法です。
また、ScaleのSCALE AIリーダーボードも重要なリソースで、様々な評価基準に基づいた異なるモデルのパフォーマンスを比較できます。このリーダーボードでは、異なる種類の評価(eval)と異なる種類のモデルがどのようにランク付けされているかを確認できます。
これらのリーダーボードを参照することで、様々なタスクで現在最高のパフォーマンスを発揮しているモデルを見つけることができます。エコシステムは非常に豊かで多様になっていますが、まずは最も機能が豊富で長く存在しているOpenAIのChatGPTから説明を始めて、その後徐々に他のモデルについても紹介していきます。
これらのランキングシステムは、技術の急速な進化を反映して常に更新されており、モデル選択の際の参考になります。また、全てのモデルが同じタスクに対して同じように優れているわけではないため、用途に応じて適切なモデルを選ぶための指針としても役立ちます。
2. ChatGPTの仕組み
2.1. トークン化の概念と動作原理
言語モデルとの最も基本的な対話形式は、私たちがテキストを入力し、モデルがテキストを返すというものです。例として、「大規模言語モデルであることはどのような感じか」という俳句を求めてみましょう。この種の問いは言語モデルに適しています。なぜならこれらのモデルは文章作成が得意だからです。俳句、詩、カバーレター、履歴書、メール返信など、文章作成全般に優れています。
このような要求をすると、モデルは「言葉は流れのように、終わりなき反響、見えない思考の幽霊」といった応答を返します。これはChatGPTでは友人との会話のようなチャットバブルとして表示されます。
しかし、その裏側では何が起きているのでしょうか。ユーザーのクエリ(このテキスト部分)とモデルからの応答(このテキスト部分)は、「トークン」と呼ばれる小さなテキストの塊に分割されています。このテキストの連なりは、実際には一次元のトークン列なのです。
これらのトークンを確認するには、例えば「Tiktoken」というアプリを使えます。GPT-4を選択して私のテキストを貼り付けると、モデルが実際に見ているものが表示されます。私のテキストは15個のトークンからなる列として表示されます。これが、モデルが見ている小さなテキストの塊です。
ここでの語彙は約200,000の可能なトークンからなり、これらはクエリの一部である全ての小さなテキストの塊に対応するトークンIDです。これを操作して更新すると、例えば大文字・小文字で異なるトークンが生成されることがわかります。編集するとトークン列がどのように変化するかをリアルタイムで確認できます。
私のクエリは15トークンで、モデルの応答はちょうど19トークンでした。この俳句は19トークンの列です。私が15トークンを入力し、モデルが19トークンを返したわけです。しかし、これは会話であり、会話オブジェクトを構成するメタデータも保持したいため、実際にはもっと複雑です。
前回の動画で少し触れた会話フォーマットを使用する必要があります。システムメッセージは重要ではないので削除し、ユーザーメッセージと、その後のアシスタントの応答を貼り付けます。ここでは、ユーザーとアシスタントのメッセージの開始と終了を示す特殊なトークンがあることがわかります。
会話フォーマットの詳細は重要ではありませんが、私たちに見えるチャットバブルのやり取りは、裏側ではトークンストリームに書き込むモデルとの協力作業なのです。この2つのバブルのやり取りは、正確に42トークンの列です。私が最初のトークンのいくつかを提供し、モデルがその応答でトークンの列を続け、交互に追加していくことで一次元のトークンウィンドウを構築しています。
2.2. 会話形式の内部表現
ChatGPTに見えるチャットバブルが、裏側ではどのように処理されているのか見てみましょう。先ほどの例に戻ると、私たちがユーザーとして提供した質問と、モデルのアシスタントとしての回答は、実際には特殊なフォーマットで表現されています。
表示されている会話フォーマットの詳細を見ると、ユーザーのメッセージの開始と終了、そしてアシスタントのメッセージの開始と終了を示す特殊なトークンが存在します。例えば、メッセージが「ユーザーが開始」し、ユーザーのコンテンツが続き、「ユーザーが終了」して、次に「アシスタントが開始」し、アシスタントのコンテンツが続き、という形式です。
会話フォーマットの正確な詳細は重要ではありませんが、重要なポイントは、私たちに見えるチャットバブルのやり取りが、裏側ではトークンストリームへの共同作業であるということです。私たちとモデルは、トークンストリームに交互に書き込んでいるのです。
この2つのバブルのやり取りは、正確に42トークンの列から構成されています。私が最初のトークンの一部を提供し、モデルが応答でトークンの列を継続します。そして、私たちは交互にここにトークンを追加し、一次元のトークン列、つまりトークンウィンドウを一緒に構築しているのです。
このような会話形式の内部表現を理解することで、私たちがモデルと対話する際に何が起きているのかをより深く理解できます。見た目は単純なチャットのやり取りでも、実際には構造化された形式でトークン列が扱われているのです。
2.3. コンテキストウィンドウとトークンストリーム
ChatGPTで「New Chat」ボタンをクリックすると、トークンウィンドウが消去され、トークンが実質的にゼロにリセットされ、会話が最初からやり直されます。モデルと対話する際、私の頭の中にあるイメージは次のようなものです。「New Chat」をクリックすると、一次元のトークン列が始まります。ユーザーである私たちはこのストリームにトークンを書き込むことができ、Enterキーを押すとコントロールが言語モデルに移ります。
言語モデルは独自のトークンストリームで応答し、「終了しました」という意味の特殊なトークンを発行します。そのトークンを発行すると、ChatGPTアプリケーションは私たちにコントロールを戻します。こうして私たちは交互にターンを取り、トークンストリームを構築しています。このトークンストリームはコンテキストウィンドウとも呼ばれます。
コンテキストウィンドウは、会話の「ワーキングメモリ」のようなものです。このコンテキストウィンドウ内にあるものは、会話のワーキングメモリの一部であり、モデルが直接アクセスできます。
私たちが対話しているこのエンティティをどう考えるべきでしょうか?前回の動画で見たように、この言語モデルは事前訓練と事後訓練の2つの主要段階で訓練されています。事前訓練段階では、インターネット全体を取り込み、トークンに分解し、単一の「ZIPファイル」のようなものに圧縮します。ただし、このZIPファイルは正確ではなく、確率的で損失のあるZIPファイルです。なぜなら、インターネット全体を単に1テラバイトのZIPファイルで表現することは不可能だからです。
このZIPファイルに実際に含まれているのはニューラルネットワークのパラメータです。例えば、1テラバイトのZIPファイルは、このニューラルネットワーク内に約1兆のパラメータがあることに相当します。このニューラルネットワークが行っていることは、トークンを取り、インターネット上の文書の列における次のトークンを予測しようとすることです。それはある意味、インターネット文書のジェネレーターのようなものです。
インターネット上のシーケンスにおける次のトークンを予測するプロセスで、ニューラルネットワークは世界に関する膨大な知識を獲得します。この知識はすべて、言語モデルの約1兆のパラメータ内に表現され、詰め込まれ、圧縮されています。
この事前訓練段階は非常にコストがかかります。数千万ドル、3ヶ月の訓練など、長期で高コストなフェーズです。そのため、このフェーズはそれほど頻繁には行われません。例えば、GPT-4oはおそらく数ヶ月前、あるいは1年前に事前訓練されたものでしょう。そのため、これらのモデルは少し時代遅れになっています。「知識のカットオフ」と呼ばれるものがあり、それはモデルが事前訓練された時点に対応し、その知識はその時点までしかさかのぼりません。
一部の知識は事後訓練フェーズを通じてモデルに入ることもありますが、大まかに言えば、事前訓練は非常に高価で頻繁には行われないため、モデルは少し時代遅れだと考えるべきです。先週起きたことなど、最近の情報についてモデルに尋ねたい場合、モデルの知識には保存されていないため、他の方法でその情報を提供する必要があります。そのために、様々なツールを使用することになります。
2.4. 事前学習と事後学習の2段階プロセス
事前訓練の後には、事後訓練と呼ばれる第二段階があります。事後訓練は基本的に、このZIPファイルに笑顔のマークを付けるようなものです。なぜなら、私たちはインターネット文書を生成することを望んでいるのではなく、このモデルにアシスタントというペルソナを持たせ、ユーザーの質問に応答させたいからです。これは事後訓練のプロセスで行われ、データセットを人間によって構築された会話のデータセットに置き換えます。
これにより、モデルはアシスタントのスタイルを身につけ、私たちが質問すると回答が返ってくるようになります。つまり、事後訓練でアシスタントとしてのスタイルを獲得し、事前訓練でインターネット全体の知識を得るのです。これら二つが一つのアーティファクトに組み合わされています。
ここで理解すべき重要なポイントは、私たちが対話しているのは完全に自己完結型のエンティティだということです。この言語モデルは、ディスク上にひっそりと存在する1テラバイトのファイルのようなもので、それはニューラルネットワーク内の1兆のパラメータとその正確な設定を表しています。このニューラルネットワークはシーケンスの次のトークンを提供しようとしています。
これは完全に自己完結型のエンティティであり、電卓もコンピュータもPythonインタプリタも、ウェブブラウジングもツールの使用も何もありません。これまで話してきた内容では、あなたはZIPファイルと対話しているだけです。あなたがトークンをストリーミングすると、それはトークンを返し、このZIPファイルは事前訓練からの知識と事後訓練からのスタイルと形式を持っています。それが、このエンティティについて考えるべき大まかな方法です。
ここまでの内容をまとめると、ChatGPTは次のように紹介できるでしょう:「こんにちは、私はChatGPTです。私は1テラバイトのZIPファイルで、私の知識は約6ヶ月前に全体を読み込んだインターネットから来ていますが、それを曖昧にしか覚えていません。私の魅力的な個性はOpenAIの人間ラベラーによって例示的にプログラムされました。」つまり、個性は事後訓練でプログラムされ、知識は事前訓練中のインターネットの圧縮から来ており、この知識は少し時代遅れで、確率的でやや曖昧なものです。
インターネット上でよく言及されていることについては、ごく稀にしか議論されていないことに比べてはるかに良い記憶を持っています。これは人間に期待されるものと非常によく似ています。このエンティティとそれとの対話方法、そしてどのようなことを期待できるかについて、いくつかの影響を話し合っていきましょう。
3. 基本的なLLM操作の例
3.1. 知識ベースの質問(カフェインの量、医薬品の情報など)
実際の例を使って説明していきたいと思います。例えば、この朝、私はChatGPTに「1ショットのアメリカーノに含まれるカフェインの量はどれくらいですか?」と尋ねました。抹茶と比較したかったからです。ChatGPTは約63mgのカフェインと教えてくれました。
私がChatGPTにこの質問をするのが適切だと考えた理由は2つあります。まず、これは非常に最近の知識ではないため、モデルがエスプレッソショット1杯に含まれるカフェインの量について読んでいると予想できます。この情報はあまり変化していないでしょう。第二に、この種の情報はインターネット上で非常に頻繁に出現しており、たくさんの言及があるため、モデルの知識の中に良い記憶が残っているはずです。
ここではツールは使用されず、ZIPファイルであるモデルが約63mgと回答しました。この回答が必ずしも正確であるという保証はありません。これはインターネットの曖昧な記憶に過ぎませんが、一次情報源にアクセスしてカフェインとアメリカーノについて調べれば、約63mgが概ね正しいことを確認できます。厳密に言えば、これが真実であるという保証はありませんが、おそらくChatGPTが知っているタイプの情報だと思います。
もう一つの例として、2日前に行った会話があります。これは知識ベースの会話で、ChatGPTに尋ねるのに適した例です(ただしいくつかの注意点があります)。私は少し風邪気味で鼻水が出ていたので、その症状を和らげる薬が欲しかったのです。ChatGPTはいくつかの薬を提案し、私が鼻水を止めたいと明確にすると、役立つかもしれないものをいくつか教えてくれました。
家にあった薬を確認し、「デイクィルかナイトクィルは効きますか?」と尋ねたところ、デイクィルとナイトクィルの成分について説明し、それらが鼻水を緩和するかどうかを説明してくれました。ここでも、これらの成分について話すとき、私たちは記憶のあるZIPファイルと対話していることを思い出してください。インターネットの確率的・統計的な記憶ですから、これらの成分が正確であるという保証はありません。
実際に箱を取り出して成分を確認し、ナイトクィルの成分が本当にこれらであることを確認しました。これは、ここから出てくる情報を常に完全には信頼していないからです。これはインターネットの確率的・統計的な記憶に過ぎませんが、デイクィルやナイトクィルなどの一般的な薬についての会話は、インターネット上に膨大な情報があるタイプのものです。モデルはこれらについて非常に良い記憶を持っていると思われ、実際にこれらはすべて正確でした。
「ナイトクィルを持っていますが、どのくらい早く効くでしょうか?」と尋ねると、おおよその効果の発現時間を教えてくれました。これはChatGPTが私にとって有用だった好例です。知識ベースの質問で、この知識は最近のものではなく、おそらく一般的な情報であり、高リスクな状況ではありません。ChatGPTをある程度確認しましたが、それほど重大な状況ではないので問題ありません。実際にナイトクィルを飲んだら、確かに効果がありました。これが私がこのように考えている理由です。
3.2. 新しい会話の開始とコンテキストウィンドウのリセット
この時点で、2つの重要な点について説明したいと思います。まず、モデルとの対話を続けると、会話が長くなっていくことに気づくでしょう。トピックを切り替える場合は、必ず「New Chat」ボタンを使って新しい会話を始めることをお勧めします。「New Chat」ボタンを押すと、先ほど説明したように、トークンのコンテキストウィンドウがクリアされ、ゼロにリセットされます。次の質問に対して、それまでのトークンがもう役に立たない場合は、このリセットをお勧めします。
これには2つの理由があります。まず、このウィンドウにあるトークンは高価です。コンテキストウィンドウに多くのトークンがあると、モデルが少し混乱する可能性があります。これはモデルの「ワーキングメモリ」のようなものなので、過去の多くのトークンがあると、後でトークンをサンプリングしようとするときに気が散ってしまう可能性があります。これにより、モデルの精度やパフォーマンスが低下する可能性があります。
第二に、ウィンドウ内のトークンが多ければ多いほど、シーケンスの次のトークンをサンプリングするコストが少し高くなります。そのため、モデルの応答が実際に少し遅くなり、計算コストが高くなります。
コンテキストウィンドウ内のトークンを貴重なリソースと考えてください。これはモデルのワーキングメモリであり、関連のない情報で過負荷にしないでください。できるだけ短く保つようにすれば、より速く、少し良く動作すると期待できます。もちろん、情報がタスクに関連している場合は、コンテキストに残しておきたいかもしれませんが、できるだけ頻繁に、トピックを切り替えるたびに新しいチャットを始めることをお勧めします。
3.3. モデル選択の重要性
2つ目の重要なことは、実際にどのモデルを使用しているかを常に意識しておくことです。画面の左上にあるドロップダウンメニューを見ると、現在GPT-4oを使用していることがわかります。現在、様々な種類や特徴を持つ多くの異なるモデルが存在しており、実際には多すぎるほどですが、時間をかけていくつかを紹介していきます。
現在GPT-4oを使用していますが、新しいシークレットウィンドウを開いて、ログインせずにchatgpt.comにアクセスすると、ここで対話するモデルはGPT-4oではなく、より小さなバージョンかもしれません。残念ながら、ログインしていないとき、OpenAIはどのモデルを使用しているのかを表示しません。これは少し残念ですが、より小さな「より愚かな」モデルを使用している可能性があります。
ChatGPTの価格設定ページを見ると、個人向けに「無料」「Plus」「Pro」という3つの基本的なプランがあります。無料プランではGPT-4o miniというGPT-4oの小さなバージョンにアクセスできます。これはGPT-4oよりもパラメータ数が少ない小さなモデルで、創造性が低く、文章も良くなく、知識も乏しく、幻覚(誤った情報を生成すること)も多くなる可能性があります。これが無料提供されているものです。
無料プランではGPT-4oとGPT-3.5 miniへの「限定アクセス」があると書かれていますが、実際にどのモデルを使用しているのかは100%確実にはわかりません。月額$20のPlusプランを支払うと、細かい制限はありますが、GPT-4oへのアクセスが得られます。詳細には「Plusユーザーは3時間ごとに80メッセージのGPT-4oを利用できる」と記載されています。これが現在利用可能な最大の主力モデルです。
さらに月額$200のProプランを支払うと、追加のグッディーとGPT-4oの無制限アクセスが得られます。私はProサブスクリプションを支払っているので、これについて説明します。
この説明から理解してほしいのは、使用しているモデルに注意を払うことです。一般的に、これらの企業にとって、より大きなモデルは計算コストが高いため、より大きなモデルにはより高い料金を課しています。あなたの使用状況に応じて自分で判断し、より安価な提供で済むか、あるいはインテリジェンスが十分でない場合は、これらの企業から利用可能なトップティアのモデルを検討すべきかを考えてください。
私の場合、プロフェッショナルな仕事では多くのコーディングやそのような作業を行うため、これはまだ非常に安価です。非常に強力なモデルにアクセスできるため、喜んでこれを支払っています。使用しているモデルを把握し、自分で決定を下すことが重要です。
他のすべてのLLMプロバイダーも、異なる価格帯と異なるティアのモデルを提供していることに注意してください。例えば、AnthropicのClaudeを見ると、私はプロフェッショナルプランを支払っており、Claude 3.5 Sonnetにアクセスできます。Proプランに支払っていなければ、おそらくHaikuなどにしかアクセスできないでしょう。
以前Claudeを使用した例として、旅行アドバイスを求めた時のことを紹介します。「行くべき素敵な都市」について尋ねたところ、Claudeはスイスのツェルマットが素晴らしいと教えてくれました。そのアドバイスに従って、年末の休暇にそこに行くことにしました。これは旅行アドバイスやアイデア生成、さらに調査できるポインターを得るためにこれらのモデルが非常に役立つ例です。
Gemini.comの例も見てみましょう。これはGoogleのもので、行くべき素敵な都市について意見を求めたところ、こちらもツェルマットを推奨しました。異なるモデル間を行き来して同様の質問をし、それらがどう考えるかを見るのが好きです。Geminiも左上にモデルセレクターがあり、より高度なティアに支払ってそれらのモデルを使用できます。Grokでも同じことが言えます。
これらの異なるプロバイダー間で、あなたの問題に最適なものを見つけてください。異なるプロバイダーや価格帯を試して、取り組んでいる問題に適したものを選びましょう。私はよく、それらすべてに支払って、同じ質問をすべてのモデルに尋ね、参照しています。これらのモデルすべてを私の「LLM評議会」と呼んでいます。たとえば休暇の行き先を決めるとき、すべてのモデルに尋ねることがあります。そのようなアプローチも検討してみてください。
4. モデルと価格設定
4.1. 無料版と有料版の違い
ChatGPTの価格設定ページを確認すると、個人向けに「無料」「Plus」「Pro」という3つの基本的なプランがあります。無料プランでは「GPT-4o mini」と呼ばれるGPT-4oの小さなバージョンにアクセスできます。これはパラメータ数が少ない小型モデルであり、クリエイティブ性が低く、生成する文章の質も落ち、知識も限られており、幻覚を起こす(誤った情報を生成する)確率も高くなる可能性があります。しかし、無料で提供されているので仕方ありません。
無料プランでは「GPT-4oと3.5 miniへの限定アクセス」と記載されていますが、ログインしていない状態では実際に使用しているモデルが表示されないため、どのモデルを使っているのか100%確実にはわかりません。これは少し残念な点です。
月額$20のPlusプランを支払うと、制限はありますが、GPT-4oへのアクセスが得られます。細かい制限について説明されていませんが、詳細を見ると「Plusユーザーは3時間ごとに80メッセージのGPT-4oを利用できる」と記載されています。これが現在利用可能な最大の主力モデルです。
さらに月額$200のProプランを支払うと、追加機能の他にもGPT-4oの無制限アクセスが含まれています。私自身はProサブスクリプションを利用しており、後ほどこれらの追加機能についても説明します。
プロフェッショナルな用途では、より高度なモデルの価値は非常に大きいです。私のようなコーディングや複雑な作業を頻繁に行うユーザーには、この費用は安いものです。非常に強力なモデルにアクセスできることは、仕事の効率を大幅に向上させるからです。
どのプランを選ぶかは、あなたのLLMの使用状況と必要な機能によって異なります。基本的な質問や時々の使用であれば無料プランで十分かもしれませんが、仕事や研究で頻繁に使用する場合、より高性能なモデルへのアクセスは十分な価値があるでしょう。
4.2. GPT-4、GPT-4o、Claude、Gemini、Grok などの比較
他のLLMプロバイダーも、すべて異なる価格帯で異なるモデルを提供しています。例えば、Claudeのウェブサイトを見ると、私はプロフェッショナルプランに支払っており、これによりClaude 3.5 Sonnetにアクセスできます。もしProプランに支払っていなければ、おそらくHaikuのような低スペックモデルにしかアクセスできないでしょう。
これらのモデル間を行き来して比較するのは興味深い体験です。例えば、以前Claudeを使って旅行アドバイスを求めたことがあります。「行くべき素晴らしい都市」について質問したところ、スイスのツェルマットが素晴らしいと教えてくれました。そのアドバイスに従って年末の休暇にそこへ行きました。これは旅行のアドバイスやアイデア出し、さらに調査できるポインターを得るのにこれらのモデルが非常に役立つ例です。
比較のため、同じ質問をGemini.comでも試してみました。これはGoogleのサービスですが、同様に行くべき素晴らしい都市について質問したところ、こちらもツェルマットを推薦しました。面白いことに、異なるモデルが同じ推薦をしたのです。
Geminiも画面左上にモデルセレクターがあり、より高度なティアに支払うことでより高性能なモデルを使用できます。同様に、最近リリースされたGrokでも、Grok 2ではなくGrok 3を使用するように注意すべきです。Grok 3がxAIの最も高度なモデルだとわかっているので、十分な支払いをしてGrok 3へのアクセスを確保したいと思います。
これらの異なるプロバイダーの中から、あなたの問題に最適なものを見つけてください。異なるプロバイダーや価格帯を試して、取り組んでいる問題に合ったものを選ぶとよいでしょう。私自身は、しばしばこれらすべてに支払い、同じ質問をすべてのモデルに尋ね、それらの回答を参照しています。これらのモデル全体を私は「LLM評議会」と呼んでいます。例えば休暇の行き先を決めるとき、すべてのモデルに尋ねることがあります。あなたにとって役立つようであれば、このアプローチを試してみてください。
各モデルには独自の強みと弱みがあります。GPT-4oはより創造的な文章生成に優れていることがあります。Claudeは倫理的な質問に対して慎重なアプローチをとることが多いです。Geminiは検索機能との統合が優れています。Grokはしばしばより大胆な回答を提供します。あなたの特定のニーズに合わせて、あるいは複数のモデルの視点を得るために、これらを選択的に使うとよいでしょう。
4.3. プロフェッショナル使用における最適なモデル選択
プロフェッショナルな使用状況では、モデル選択が非常に重要になります。私自身は月額$200のProサブスクリプションを支払っていますが、プロの仕事でLLMを使う場合、これは非常に合理的な投資です。特に私のように大量のコーディングや専門的な作業を行う場合、高性能モデルへのアクセスは作業効率を劇的に向上させます。
最も高性能なモデルを使用することで得られるメリットは複数あります。まず、より大きなモデル(より多くのパラメータを持つモデル)はより豊富な世界知識を持っており、複雑な質問に回答できる能力を備えています。文章の質も高く、よりクリエイティブで洗練された表現が可能です。また、より正確な回答を提供する傾向があり、幻覚(誤った情報の生成)も少なくなります。
例えば、GPT-4oは創造的な文章やコード生成において優れたパフォーマンスを発揮します。一方、「thinking models」(思考モデル)と呼ばれるモデル群は、複雑な推論を必要とする問題に特に有効で、後ほど詳しく説明します。
プロフェッショナルな文脈では、モデルのエラー率の低さや応答の質が直接作業効率に影響します。例えば、複雑なプログラミング問題を解決する際、最高性能のモデルはより正確な解決策を提供し、トラブルシューティングの時間を大幅に短縮できます。
また、プロフェッショナルな使用では、特定のドメイン知識が重要になることがあります。例えば、法律、医療、金融など専門分野での使用では、より大きなモデルがより正確で詳細な情報を提供する可能性が高くなります。
最適なモデル選択は使用目的によって異なります:
- 日常的な質問や簡単なタスクには、無料または低コストのモデルで十分かもしれません
- 創造的な文章作成には、GPT-4oやClaude 3.5 Sonnetのような高性能モデルが適しています
- 複雑な推論タスクには、後ほど説明する「思考モデル」が最適です
- 専門的なコード生成には、Cursorのようなコード特化ツールと高性能モデルの組み合わせが効果的です
結論として、プロフェッショナルな使用では、タスクの重要性と複雑さに応じて、適切なモデルとプランを選択することが重要です。$20/月や$200/月といった費用は、得られる生産性向上と時間節約を考えると、多くの専門的な文脈では十分に正当化できる投資です。
5. 思考モデルとその使用タイミング
5.1. 強化学習による思考プロセスの訓練
次のトピックとして「思考モデル」について説明したいと思います。前回の動画で見たように、モデル訓練には複数の段階があります。事前訓練から教師あり微調整、そして強化学習へと進みます。強化学習の段階では、モデルは教科書の練習問題に似た多くの問題集で練習する機会を得ます。数学やコード問題など多くの課題に取り組み、その過程で良い結果につながる思考戦略を発見します。
これらの思考戦略を観察すると、問題解決時に私たち人間が持つ内部モノローグに非常によく似ています。モデルは異なるアイデアを試し、バックトラックし、前提を再検討するなど、様々な思考プロセスを実行します。
このような戦略を人間のラベラー(評価者)が直接ハードコーディングするのは非常に難しいです。思考プロセスがどうあるべきかを明確に定義するのは簡単ではありません。強化学習によってのみ、モデルは多くの試行錯誤を通じて、自身の知識と能力に合った思考プロセスを見つけることができるのです。
これはモデル訓練の第三段階であり、比較的最近(約1〜2年前)に登場したものです。様々なLLMラボがこの1年間、これらのモデルを実験してきました。これは最近の大きなブレークスルーと見なされています。前回の動画ではDeep Seekの論文を見ました。これは公にこれについて議論した最初の論文で、「強化学習を通じてLLMにおける推論能力を促進する」というテーマでした。
この技術により、私たちのモデルに関する理解を調整する必要があります。基本的に、私たちの絵文字(モデルの表現)には、オプションの「思考バブル」が追加されました。思考モデルを使用すると、この追加の強化学習で訓練されたモデルを利用することになります。
質的には、これはどのように見えるでしょうか?モデルがより多く「考える」ようになります。特に数学やコードなど、多くの思考を必要とする問題に対して、より高い精度が期待できます。非常に単純な問題では恩恵が少ないかもしれませんが、実際に深く難しい問題ではかなり効果があるでしょう。
ただし、この恩恵を得るためには、モデルが考えるのを待つ必要があります。モデルは数分間にわたって大量のトークンを生成し、人間が考えるように思考するため、時間がかかります。しかし、非常に難しい問題に直面した場合、この時間は精度の向上という形で報われるでしょう。
5.2. 実験: 同じプログラミング問題での通常モデルと思考モデルの比較
具体的な例を見てみましょう。最近私がプログラミングの問題で行き詰まった時のことです。「勾配チェックが失敗し、その理由がわからない」という状況でした。私はコードをモデルにコピーペーストしました。コードの詳細は重要ではありませんが、基本的には多層パーセプトロンの最適化に関するもので、勾配チェックが機能しないというバグがありました。
まず、思考機能を使わないGPT-4oに問題について尋ねました。モデルは問題かもしれない点や確認すべき事項をいくつか提案しましたが、実際には問題の核心に触れることはできませんでした。提案されたすべての項目は実際の問題の根本原因ではなかったのです。モデルは問題の解決に至らず、デバッグ方法について一般的なアドバイスを提供しました。
次に、ドロップダウンメニューから思考モデルの一つを選びました。OpenAIでは、「O」で始まるすべてのモデル(O1、O3 mini、O3 mini high、O1 Pro promote)が思考モデルです。彼らのモデル命名はあまり明確ではありませんが、これらはすべて「高度な推論を使用」や「コードとロジックに優れている」などと説明されています。これらは基本的にすべて強化学習で調整されたモデルです。
月額$200を支払っているため、私はO1 Proモード(推論に最も優れたモデル)にアクセスできます。しかし、あなたの価格帯に応じて他のモデルも試してみるとよいでしょう。
同じ問題を最高の推論モデルであるO1 Proに与えたところ、このモデルは1分間かけて考え、一連の思考プロセスを経て、正しい解決策に到達しました。OpenAIは詳細な思考プロセスをすべて表示せず、思考の要約だけを示しますが、モデルはコードについて考察し、パラメータのミスマッチと、それらをパックおよびアンパックする方法の問題を特定しました。これは実際に私の問題を解決しました。
この同じ問題を他のLLMにも試してみました。例えば、Claudeに同じ問題を与えたところ、Claudeも正しい問題を特定して解決しました。興味深いことに、Claudeは思考モデルではない「Sonnet」を使ってこれを行いました。現在の私の知る限り、Claude 3.5 Sonnetは思考モデルではなく、この動画を見ている時点では、Anthropicはまだ思考モデルをデプロイしていません(ただし、これはあなたがこの動画を視聴する時点では変わっているかもしれません)。
Geminiにも同じ問題を投げかけたところ、思考モデルを試す必要もなく問題を解決しました。Grok 3にも問題を与えたところ、いくつかの分析の後に問題を解決しました。
最後に、perplexity.aiにも行きました。Perplexityが気に入っている理由の一つは、モデルのドロップダウンで「Deep Seek R1」というモデルをホストしていることです。これは「Deep Seek R1モデルによる推論」を提供するもので、前に示した論文のモデルです。Perplexityはこのモデルをホストし、使いやすくしています。そこに問題をコピーペーストして実行したところ、表示は非常に悪いですが、下部にモデルの生の思考を見ることができます。
「ユーザーは勾配チェックで問題を抱えている」と考え始め、いくつかの可能性を試した後、「待って、彼らは勾配を累積するときに間違ったことをしている」と気づき、パラメータのパック順序をチェックし、「これは重大なミス」という結論に至ります。このように考え、数分待つと、正しい答えが出てきます。
長い話を短くすると、思考モデルと呼ばれるモデルのクラスが存在し、異なるプロバイダーはそれぞれ思考モデルを持っているかもしれないし、持っていないかもしれません。これらのモデルは、数学やコードなどの難しい問題に最も効果的です。このような場合、モデルのパフォーマンス精度を向上させることができます。
旅行アドバイスのような質問では、目的地について1分間考えるのを待つ必要はないので、思考モデルの恩恵はありません。私自身は通常、思考をしていないモデルを試すことから始めます。その応答が期待ほど良くないと感じた場合や、モデルにより長く考える機会を与えたい場合は、利用可能な思考モデルに切り替えます。
5.3. GPT-4o、Claude 3.5 Sonnet、Gemini、Grok3、Deep Seek R1 の比較実験
前述の勾配チェックの問題について、複数の主要LLMで同じ実験を行った結果を紹介します。この比較は非常に興味深いものでした。
まず最初に試したのは、思考機能を使用しないGPT-4oです。私のコードをコピーペーストして同じ質問をしたところ、いくつかの可能性を挙げてはくれましたが、実際の問題を特定できませんでした。次に、OpenAIの思考モデルであるO1 Proを使って同じ問題を試したところ、1分間の思考時間の後に正確な問題を見つけ出しました。
興味深いことに、Claudeに同じ問題を与えたところ、Claude 3.5 Sonnetを使用していましたが、これは思考モデルではないにもかかわらず、正しい問題を特定して解決しました。私の知る限り、この動画を録画している時点では、Anthropicは思考モデルをまだデプロイしていません。しかし、思考モデルなしでも問題を正確に解決できたのです。
Geminiでも同じ実験を行いました。ここでも思考モデルを使用する必要がなく、問題を解決できました。Grok 3にも同じコードを与えたところ、いくつかの分析を経て問題を特定しました。
最後に、perplexity.aiで「Deep Seek R1」というモデルを試しました。このモデルは前に示した論文のモデルで、Perplexityがホストして使いやすくしています。このモデルでは、モデルの生の思考プロセスを見ることができ、「ユーザーは勾配チェックで問題を抱えている」という認識から始まり、様々な可能性を検討した後、パラメータのパック順序の問題を正確に特定しました。
この実験から分かったことは、同じ問題に対しても異なるモデルで性能に違いがあるということです。特に難しい推論問題では、思考モデルが優位性を示す場合がありますが、すべての場合がそうとは限りません。Claude 3.5 SonnetやGeminiのような思考モデルではないモデルも、複雑なコードの問題を解決できました。
こうした結果は、モデルの選択が問題の性質や複雑さに応じて異なるべきであることを示しています。すべてのモデルが同じ能力を持っているわけではなく、それぞれに強みと弱みがあります。時には、より高度な「思考」能力を備えたモデルが必要になる場合がありますが、シンプルな問題では通常のモデルで十分かもしれません。
5.4. 複雑な問題での思考モデルの優位性
思考モデルがどのような場合に最も効果的かまとめましょう。すべての異なるプロバイダーが思考モデルを持っているかもしれないし、持っていないかもしれません。これらのモデルは、数学やコードなどの難しい問題、そして深い思考を必要とする課題において最も効果を発揮します。このような場合、モデルの精度を向上させることができます。
例えば、Grokを使う場合、新しい会話を始めるときに「こんにちは」というような入力の際、「考える」という選択肢が表示されます。「考える」をオンにしてから「実行」をクリックすると、Grokは内部的に思考モデルに切り替わります。各LLMプロバイダーは、モデルに「考えさせる」か、あるいは以前の世代のモデルのようにすぐに生成するかを選択するための何らかのセレクターを提供しています。
実際の使用において、私は通常、まず思考していないモデルを試します。なぜなら、その応答は非常に速いからです。しかし、応答が期待ほど良くなかったと感じたり、モデルにもう少し長く考える機会を与えたいと思った場合は、利用可能な思考モデルに切り替えます。
旅行アドバイスのような質問では、思考モデルを使用する恩恵はありません。目的地について1分間考えるのを待つ必要はないのです。しかし、複雑な数学の証明、複雑なコードのデバッグ、または論理的な推論を必要とするパズルなどの場合は、思考モデルを使用すると劇的に結果が改善することがあります。
思考モデルは、特に以下のような状況で優位性を示します:
- 複数のステップを要する数学的問題
- バグの特定や複雑なコードの生成
- 論理パズルや推論課題
- 複雑なシステム設計
- 複数の要素を考慮する必要がある意思決定
これらの状況では、モデルが内部的に「考える」ための時間を与えることで、単に最初の直感的な応答を生成するよりも、より正確で洗練された解決策を得ることができます。数分待つことで、難しい問題に対してより価値のある回答を得られる場合があります。
ただし、単純な情報検索や創造的な文章作成など、多くの一般的なタスクでは、思考モデルのこの追加機能は不要であり、標準モデルの方が応答速度の点で効率的です。状況に応じて適切なモデルを選択することが重要です。
6. ツール使用: インターネット検索
6.1. 検索機能の仕組みとコンテキストウィンドウへの情報取り込み
ここまで、テキストを通じて言語モデルと対話する方法についてのみ説明してきました。このモデルはZIPファイルのようなもので、内部に閉じ込められており、ツールを持たず、トークンを出力できるニューラルネットワークに過ぎません。しかし、それだけでは不十分なので、次はモデルに様々なツールを使用する能力を与えることについて説明します。最も便利なツールの一つがインターネット検索です。
例えば、数日前に「ホワイト・ロータス」シーズン3の第1話を見ていて、第2話がいつ配信されるのか気になりました。従来なら、Googleなどで「ホワイト・ロータス シーズン3 新エピソード」と検索し、いくつかのリンクをクリックして情報を探すところです。しかし、多くの場合、広告や関係のない情報に悩まされ、不快な体験になりがちです。
モデルがこの種の検索を代行し、ウェブページを訪問し、それらのコンテンツをすべて取得してコンテキストウィンドウに入れ、その後で応答を提供できれば素晴らしいと思いませんか?これが今から説明することです。
基本的に、モデルが「インターネット検索」のような特別なトークンを発行するメカニズムを導入します。モデルがこのトークンを発行すると、ChatGPTアプリケーションはモデルのサンプリングを停止し、モデルが出した検索クエリを使って検索を実行し、ウェブページを訪問して、それらのテキストをすべてコンテキストウィンドウに入れます。
これにより、インターネット検索ツール自体もコンテキストウィンドウにトークンを追加できるようになります。この場合、それはウェブページのテキストで、おそらく10ページほどで、それらをすべて合わせれば数千トークンになるかもしれません。
そしてコンテキストウィンドウにすべてのウェブページを挿入した後、あなたの質問(「このシーズンはいつリリースされるのか」など)を参照し、テキストを参照して正確な回答を提供します。
これは、インターネット検索が必要な理由の良い例です。インターネット検索がなければ、モデルは正確な回答を提供する可能性はありません。前述のように、このモデルは数ヶ月前に訓練されたもので、その時点ではおそらくスケジュールは知られていなかったため、モデルの実際の知識にはなく、ZIPファイルには含まれていません。これはおそらくここ数週間で決定されたものであり、モデルはインターネット検索を行って知識を得る必要があります。
コンテキストウィンドウは「ワーキングメモリ」であることを思い出してください。記事をロードすると、それらのテキストがコンテキストウィンドウにコピーペーストされたようなものになり、モデルが情報にアクセスして質問に答えることができるようになります。
つまり、これを手動で行わず、Perplexityのようなツールを使うのが良いでしょう。Perplexityはインターネット検索を行うLLMを提供する先駆けでした。最近ではChatGPTも「Search the web」ボタンでこの機能を導入しています。
「ホワイト・ロータス シーズン3の新エピソードはいつリリースされますか?」と尋ねるだけで、モデルがウェブページを訪問し、クエリを作成し、回答を提供します。これにより、多くの手間が省けます。通常、引用もあるので、モデルの幻覚ではなく実際の情報であることを確認するために、それらのウェブページを自分で訪問することもできます。
同じ質問をChatGPTで試してみると、「検索」を選択しなくても、モデルは自動的にこれが最近の情報であり、おそらく知らない情報であることを認識し、検索を行う場合もあります。別の方法として、モデルが知らないことがわかっている場合は、最初から「検索」を選択することもできます。
要するに、これらのLLMを使用する際には、この機能を探してください。例えばGrokもクエリに基づいて検索を行います。一方、Claudeはまだこの機能を統合していないため、知識カットオフ(2024年4月)以降の情報については回答できません。Geminiも一部のモデルではこの機能が利用できますが、すべてではありません。
重要なのは、様々なモデルや異なるアプリケーションがこの機能を異なるレベルで統合しているということです。モデルが自動的に検索の必要性を検出する場合もあれば、検索したいと明示的に伝えた方が良い場合もあります。
6.2. 実用例: 最新情報、リリース日程、企業の提供サービスなどの調査
検索ツールを自分の仕事でどのように使っているか、いくつかの例を紹介します。私自身は習慣的にPerplexityを使っていますが、今日ではChatGPTもこの種の検索ができますし、おそらく他のサービスでも可能です。
基本的にGoogle検索を行って上位のリンクを訪問し、その上位リンクのどこかに答えがあるような場合は、検索ツールを使うことを想定しています。そのような場合にはPerplexityを利用します。例えば:
「今日市場は開いていますか?」という質問をしました。調べてみると、その日は大統領の日で市場は閉まっていました。
「ホワイト・ロータス シーズン3はどこで撮影されましたか?」これもモデルが知識として持っているかどうか不確かな情報です。インターネット上での言及が少ないかもしれないし、また最近の情報なのでモデルがデフォルトで知っているとは限りません。検索ツールに適した質問でした。
「Vercelはポストグレデータベースを提供していますか?」これもいい例で、企業の提供サービスは時間とともに変わることがあります。Vercelという会社の提供内容は変わる可能性があり、最新情報が必要なので検索ツールを使いました。
「明日のApple発表会は何時ですか?また、どのような噂がありますか?」これも最近の情報です。
「シングルズ・インフェルノ シーズン4のキャストは?」これも非常に新しい情報です。
「なぜPalantirの株価が上昇しているのですか?熱意を駆り立てているものは何ですか?」
「シヴィライゼーション7はいつ発売されますか?」
「ブライアン・ジョンソンは歯磨き粉の使用について話していますか?」これは、彼の活動に興味があるため質問しました。この質問には2つの特徴があります。1つはやや特殊な情報でインターネット上で広く言及されているかどうか不確かであること、もう1つは時間とともに変わる可能性があることです。彼が最近使っている歯磨き粉を知りたかったので、検索ツールに適していました。
「ベトナムへの旅行は安全ですか?」これも状況が変わる可能性があります。
また、TwitterでUSAIDについての話題を見かけ、何が起きているのか知りたいと思い、検索しました。これは「何かがトレンドになっていて、何が起きているのか知りたい」というユースケースです。個々のツイートや投稿だけでは全体の文脈がわからないことが多いので、何が起きているのか概要を得るために検索ツールをよく使います。
これらが検索ツールを使う例です。主に、最新情報、時事的な内容、変化する可能性のある情報(企業のサービス、旅行の安全性など)、特定の人物の最近の発言などを調べる際に特に役立ちます。モデルの知識カットオフ日以降の情報や、インターネット上であまり言及されていない特殊な情報を調べる際に、検索ツールは非常に価値があります。
6.3. 各LLMの検索機能の統合度の違い
各LLMプロバイダーは検索機能の統合度が異なります。これらの違いを理解することは、適切なツールを選ぶ上で重要です。
ChatGPTの場合、検索ボタンが明示的に存在し、ユーザーが必要に応じて有効化できます。しかし、最近の情報に関する質問や、モデルが知識ギャップを認識した場合は、自動的に検索を行うこともあります。実験として「ホワイト・ロータス シーズン3の新エピソードはいつリリースされますか?」という質問をすると、検索ボタンを押さなくても自動的に検索を実行しました。あるいは、最初から「検索」を選択して同じ結果を得ることもできます。
Grokも同様の機能を持っています。「検索」を選択せずに同じ質問をすると、モデルは検索の必要性を認識して検索を実行し、答えを提供しました。
一方、Claudeは検索ツールがまだ完全に統合されていません。「2024年4月の最終更新時点では」と前置きして、知識カットオフ以降の情報については回答できないことを説明します。Claudeは検索機能をオプションとして提供していないため、最新情報を得ることができません。これはAnthropicが将来的に取り組んでいる可能性がある機能です。
Geminiの場合は、モデルによって異なります。例えば「Gemini 2.0 Pro Experimental」は検索機能にアクセスできませんが、「2.0 Flash」は検索機能を持っています。「Gemini 2.0 Pro Experimental」は「リアルタイム情報やいくつかのGemini機能へのアクセスがない」と明示的に述べています。
これらの違いを理解することで、特定の質問に対して最適なLLMを選択できます。最新情報が必要な場合は、検索機能が統合されているChatGPT、Grok、Perplexity、または検索可能なGeminiモデルを選ぶべきでしょう。一方、過去の確立された知識に関する質問であれば、検索機能のないモデルでも十分かもしれません。
また、モデルが自動的に検索の必要性を検出するか、ユーザーが明示的に検索を指示する必要があるかについても違いがあります。ChatGPTやGrokは多くの場合自動的に検索を行いますが、確実に検索させたい場合は、明示的に検索オプションを選択する方が良いでしょう。
7. ツール使用: 深層調査(Deep Research)
7.1. Deep Researchの概念と機能
次に紹介したいのは「Deep Research(深層調査)」と呼ばれる機能です。これは比較的最近、1〜2ヶ月前に登場したばかりの機能ですが、非常に素晴らしく興味深いものです。多くの人にとって見過ごされがちかもしれませんが、そうであるべきではないと思います。
ChatGPTの価格設定ページを見ると、Deep Researchは現在Proプランに含まれていることがわかります。つまり、現在は月額$200が必要です。これは最上位のプランですが、非常に優れた機能です。
Deep Researchは大まかに言えば、インターネット検索と思考を組み合わせ、長時間実行するものです。モデルは数十分かけてDeep Researchを行います。この機能を最初に発表したのはChatGPTで、Proプランの一部として約1か月前に登場しました。
具体例を見てみましょう。最近、サプリメントをインターネットで購入していたときのことです。ブライアン・ジョンソンのスターターパックに興味があり、「Longevity Mix」と呼ばれるものがありました。これには多くの健康成分が含まれていましたが、それらが何なのか知りたかったのです。例えば「Ca AKG」という成分があり、「持続的な活力のためのエネルギー生産を促進する」とありますが、これが具体的に何を意味するのかわかりませんでした。
もちろん、Googleで検索してWikipediaなどを見ることもできますが、Deep Researchを使えば別のアプローチで多くの情報を処理し、より良く説明してもらうことができます。例えば次のようなプロンプトを使います:
「Ca AKGはブライアン・ジョンソンのブループリントの健康成分の一つで、1サービングあたり2.5グラム含まれています。Ca AKGについて調査し、なぜ長寿ミックスに含まれているのか、ヒトや動物モデルでの有効性、想定される作用機序、潜在的な懸念や毒性などについて教えてください。」
ここでDeep Researchボタンを使用すると(月額$200を支払っている場合のみ利用可能)、モデルは「これを調査します」と言って、明確化のための質問をすることがあります。例えば「ヒトの臨床研究、動物モデル、あるいは両方に焦点を当てますか?」「特定のソースやすべてのソース?」「他の長寿化合物との比較は必要ですか?」などです。私は「両方」「すべてのソース」「比較は不要、AKGだけで」と答え、実行しました。
すると「AKGの調査を始めます」と表示され、約10分ほど待つことになります。進行状況を確認すると、モデルが行っていることの概要が表示されます。これは思考とインターネット検索の組み合わせですが、多くのインターネット検索を実行し、多くの論文を調べ、考え、10分後に戻ってきます。
この機能にインスパイアされて、多くの人々がこれをクローンしようとしました。例えばPerplexityにもモデルドロップダウンで「Deep Research」があり、同様のクエリを実行できます。Grokも「Deep Search」(Deep Researchではなく)という機能を持っていますが、これはDeep Researchに似たものだと思います。
これらのツールはすべて、巨大なコンテキストウィンドウを蓄積し、その情報を処理してレポートを作成しようとします。例えば「Ca AKGとは何か、なぜ長寿ミックスに含まれているのか」「長寿とどのように関連しているのか」などの要点についてまとめてくれます。引用も提供され、自分で追加の読書をするための参考文献も示してくれます。
これは短く簡潔な回答ではなく、あなたが希望するトピックに関するカスタム研究論文のようなものです。これは非常に素晴らしく、さらに詳細に調べるための多くの参考文献を提供してくれます。
私自身の経験では、現在のところChatGPTのDeep Research機能が最も徹底しており、最も読みやすく、最も長く、最も理解しやすいレポートを提供してくれます。PerplexityやGrokの機能は少し短く、簡潔で、ChatGPTほど詳細ではない傾向があります。
ただし、ここで提供される情報はすべて、幻覚(誤った情報の生成)がないという保証はありません。モデルが研究して情報を引き出していても、それが完全に作られたり、誤解されたりする可能性はあります。だからこそ、これらの引用が重要です。これを最初の草稿として扱い、論文を確認するための資料として扱うべきです。しかし、これを確実に真実として受け取るべきではありません。
私ならこの後、これらの論文を実際に見て、ChatGPTが正しく理解しているかどうかを確認し、フォローアップの質問をするでしょう。それでも、これらのレポートを時々見て、後で詳しく調べたい情報源を得るのは非常に役立ちます。
7.2. 実験: 健康サプリメントの成分調査
実際にDeep Research機能を使用した例を詳しく見ていきましょう。先ほど少し触れたブライアン・ジョンソンのLongevity Mixに含まれるCa AKGという成分について調査しました。この成分は1サービングあたり2.5グラム含まれているものです。
私の質問はこのようなものでした:「Ca AKGはブライアン・ジョンソンのブループリントの健康成分の一つで、1サービングあたり2.5グラム含まれています。Ca AKGについて調査し、なぜ長寿ミックスに含まれているのか、ヒトや動物モデルでの有効性、想定される作用機序、潜在的な懸念や毒性などについて教えてください。」
モデルは調査を開始する前に、いくつかの明確化のための質問をしました:
- 「ヒトの臨床研究、動物モデル、あるいは両方に焦点を当てますか?」→ 両方
- 「特定のソースですか、すべてのソースですか?」→ すべてのソース
- 「他の長寿化合物との比較は必要ですか?」→ 不要、AKGだけで
- 「どの程度詳しく説明が必要ですか?」→ 簡潔で構いません
これらの質問に答えた後、「AKGの調査を始めます」というメッセージが表示され、進行状況を確認することができました。モデルは約10分間にわたって調査を行い、様々な論文、WebMDのような医療サイト、その他の信頼できる情報源を探しました。
その結果、ChatGPTは非常に詳細なレポートを作成し、以下のような情報を提供しました:
- Ca AKGとは何か、その基本的な生化学的特性
- 線虫での研究結果(寿命延長効果)
- マウスでの研究成果(加齢に関連する指標の改善)
- 進行中のヒト臨床試験の状況
- 想定される作用機序(ミトコンドリア機能の改善、DNAメチル化の調節など)
- 安全性と潜在的な懸念事項
- 参考文献リスト
Perplexityも同様の質問に対して調査を行い、レポートを作成しましたが、ChatGPTのレポートと比較すると短く、やや簡潔でした。Grokも同様の機能を持っていますが、結果の詳細さという点ではChatGPTが最も優れていました。
この実験から、Deep Research機能は単なる表面的な検索よりもはるかに深い調査が可能であることがわかります。これは特に科学的なトピックや複雑なヘルスケアの問題に関して、一次情報源から詳細な情報を集約するのに役立ちます。ただし、得られた情報が100%正確である保証はないため、提供された参考文献を自分で確認することが重要です。
7.3. 複数プロバイダーのDeep Research機能の比較(ChatGPT、Perplexity、Grok)
先ほどのCa AKGの調査では、複数のプロバイダーのDeep Research機能を同時に試してみました。それぞれの特徴と違いについて説明します。
ChatGPTのDeep Research機能は、完了までに約5分かかり、27のソースを調査した上でレポートを作成しました。このレポートは非常に構造化されており、線虫での研究、マウスでの研究、現在進行中のヒト臨床試験、提案されている作用機序、安全性と潜在的な懸念事項などのセクションに分かれていました。引用も豊富で、詳細に踏み込んだ内容でした。
Perplexityも同様の調査を行いましたが、レポートはやや短く、引用はありましたが、ChatGPTほど詳細ではありませんでした。情報は正確でしたが、科学的な内容の深さという点ではやや物足りない印象でした。
Grokの「Deep Search」機能も試しましたが、ChatGPTのDeep Researchと比較すると、簡潔で短いレポートを生成する傾向がありました。生成する情報量という点では、ChatGPTが最も詳細で、次いでPerplexity、Grokの順でした。
私の個人的な経験では、現時点ではChatGPTのDeep Research機能が最も包括的で読みやすく、最も詳細なレポートを提供しています。これまで10〜20回ほどしかこの機能を使用していませんが、ChatGPTの提供するレポートが最も徹底しており、最も読みやすく、最も長く、最も理解しやすいと感じています。PerplexityとGrokはやや短くて簡潔な傾向があり、ChatGPTと同じレベルの詳細さには達していません。
各プロバイダーの機能を比較すると:
- ChatGPT: 最も詳細で構造化されたレポート、多数のソースからの情報を統合、引用が豊富
- Perplexity: 適度な詳細さ、良好な構造、ChatGPTよりも簡潔
- Grok: 最も簡潔、重要なポイントをカバーするが深さに欠ける
特に科学的なトピックや医療情報を調査する際には、ChatGPTのDeep Research機能が現時点では最も優れているように思われます。ただし、どのプロバイダーを使用する場合でも、提供された情報を鵜呑みにせず、参考文献を確認して情報の正確性を検証することが重要です。
7.4. 複数のソースからの情報統合と参考文献の提供
Deep Research機能の特に価値のある側面は、多数の情報源から収集した情報を統合し、それらの参考文献を明確に提供する能力です。この点について詳しく説明します。
通常のウェブ検索では、ユーザーは自分で複数のウェブサイトを訪問し、情報を比較・統合する必要がありますが、Deep Researchでは、モデルがこのプロセスを代行します。例えば、Ca AKGの調査では、科学論文、医療サイト、研究レビューなど、様々な種類の情報源から情報が収集されました。
特にChatGPTのDeep Research機能では、報告書の各セクションの最後に、その情報の出典が明記されます。これにより、特定の主張や発見がどの情報源に基づいているかを追跡できます。例えば、「線虫での寿命延長効果はNature Communications誌の2020年の論文で報告されている」といった形で情報が関連付けられています。
引用の提供は非常に重要な要素です。なぜなら:
- 情報の検証が可能になります - 報告内容が正確かどうか、原典を確認できます
- さらなる調査の出発点になります - 興味を持った特定のトピックについて深く掘り下げることができます
- 情報の信頼性を評価できます - 査読付き論文、公式機関のサイト、個人ブログなど、情報源の質を判断できます
例えば、ブラウザからArc(ウェブブラウザ)への切り替えを検討していた際、プライバシー面での比較を調査しました。ChatGPTのDeep Researchは、各ブラウザのプライバシー機能、データ収集ポリシー、オープンソース性などについて、複数の技術サイトやレビューから情報を統合した包括的なレポートを提供しました。
報告書は常に完璧というわけではありません。例えば、米国のLLMラボについての表を作成してもらった際、いくつかの数字は疑わしく、重要な企業(xAI)が欠落していたり、米国外の企業(Hugging Face)が含まれていたりしました。こうした不完全さがあるため、Deep Researchの結果は「第一稿」として扱い、重要な決断の前には情報を自分で検証することが重要です。
特に価値があるのは、専門外の複雑なトピック(私の場合は生物学や医学など)を調査する際です。Deep Researchはそうした分野の入門点として機能し、基本的な用語、概念、主要な研究を把握するのに役立ちます。その後、より深い理解のために特定の論文や情報源を調査できます。
総じて、Deep Research機能の最も優れた点は、広範な情報収集と構造化された報告を組み合わせ、さらに元の情報源への透明性のあるリンクを提供することで、情報の検証可能性を維持している点だと言えます。
8. ファイルアップロードとコンテキスト追加
8.1. PDFや文書のアップロード機能
いま説明していることの興味深い点は、コンテキストウィンドウ内にLLMが参照できる具体的な文書を追加で提供しているということです。モデルはパラメータを通じた世界の知識という漠然とした知識だけに頼るのではなく、具体的な文書を参照できるようになります。これは、インターネット上や他の場所で特定の文書を参照しながら質問に答える私たち人間に似ています。
インターネット検索やDeep Researchのようなツールを通じてこれを行うこともできますが、LLMに自分自身で具体的な文書をファイルアップロードを通じて提供することもできます。この機能は様々な面で非常に役立つと思います。
例として、Claudeを見てみましょう。この動画を撮影中に新しいClaude 3.7がリリースされたばかりです。これは現在最先端のClaudeモデルで、思考モードが含まれていることに注目してください。通常のモードはこれまで説明してきたものですが、「Extended」(拡張)モードが追加されており、数学やコーディングの課題に最適だとされています。彼らは明言していませんが、おそらく裏側では、他のすべての思考モデルと同様に強化学習で訓練されたモデルなのでしょう。
ここで私たちがファイルをアップロードして、コンテキストウィンドウ内で参照できるようにします。例えば、私が興味を持った論文があります。Arc Instituteからの論文で、DNAで訓練された言語モデルについてのものです。生物学の専門家ではありませんが、これが何であるのか興味がありました。
これはLLMが非常に優れている完璧な例です。これらの文書をLLMにアップロードし、このPDFをコンテキストウィンドウに読み込み、それについて質問し、LLMと一緒に文書を読むことができるからです。
方法はとても簡単で、ドラッグアンドドロップするだけです。このPDFを約30MBのファイルとしてここにドロップします。Claudeがこの文書を受け取ると、恐らく多くの画像やその種の情報を破棄する可能性が高いです。彼らは実際にバックエンドで何をしているのか詳しく説明していないので、正確には分かりませんが、画像は破棄されるか、あるいはあったとしても私たちほどには理解されていない可能性があります。
おそらくバックエンドで起きていることは、このPDFがテキストファイルに変換され、そのテキストファイルがトークンウィンドウに読み込まれ、一度トークンウィンドウに入ると、それは作業メモリ内にあり、そこから質問に答えることができるようになるのでしょう。
通常、LLMと一緒に論文を読み始めるときは、「この論文の要約を教えてください」というような質問をします。ChatGPTを例にとると、「このペーパーを要約してください」と尋ね、GPT-4oを使って思考機能は使わずに質問します。すると「ゲノムモデリングと設計:生命のすべての領域にわたって」というタイトルの論文の要約が返ってきて、Evo 2という大規模な生物学的基盤モデルを紹介し、その主な特徴などが説明されます。
私はこれが非常に役立つと感じており、論文の要約や、抽象的な部分や導入部分を読む際に、LLMに質問をして理解を深めることができます。
この機能を広範囲に使用するもう一つの方法は、本を読む際です。もはや一人で本を読むことはほとんどなく、常にLLMと一緒に本を読んでいます。最近の良い例は『国富論』です。これはアダム・スミスによる1776年の著書で、古典経済学の基礎となる著作です。非常に良い本で、これほど昔に書かれたものにも関わらず、現代でも非常に関連性のある洞察が多く含まれていることが興味深いです。
現在の私の本の読み方は以下のようなものです。本を開き、その生のコンテンツにアクセスします。『国富論』の場合、1776年のものなのでProject Gutenbergなどで簡単に見つけることができます。そして現在読んでいる章を見つけます。例えば、最近読んでいたこの「第一巻の章」は、分業と市場の範囲によるその限界について説明しています。
おおよそ言えば、市場が非常に小さい場合、人々は専門化できず、専門化は富の創出にとって非常に重要です。なぜなら、シンプルなタスクに特化した専門家を持つことができるからですが、それは規模があってこそ可能です。規模がなければ、あなたの専門性を売るのに十分な大きさの市場がないからです。
私のやり方は、この本、少なくともこの章をコピーペーストして、例えばClaudeに行き、「国富論を読んでいます」と言います。Claudeは国富論についての知識を持っていますが、おそらくこの章の正確な内容は覚えていないでしょう。だからこの章について直接Claudeに質問しても意味がないかもしれませんが、コンテキストウィンドウにこれをロードすることでClaudeに思い出させることができます。
「国富論を読んでいます。まずこの章を要約してください」と言い、テキストをコピーペーストします。Claudeでは、テキストをコピーペーストしても、テキストボックス内のすべてのテキストが表示されるわけではなく、それがある程度の大きさを超えると小さなテキスト添付ファイルが作成されます。
通常、この章が何についてのものなのかを大まかに理解するために、まず要約から始めます。その後、章を読み始め、質問があれば、いつでもアクセスして質問することができます。LLMと一緒に読書をすることで、理解度や内容の保持が劇的に向上すると感じています。
これは特に、生物学のような他の分野の文書や、1776年のような昔の文書を読む場合に顕著です。言語の基本的な理解でさえ少し助けが必要な場合があります。シェイクスピアやそのような古いテキストを読む場合、LLMがそれらをはるかにアクセスしやすくしてくれます。最初から混乱するのではなく、LLMと一緒にゆっくりと進めて理解することができます。
残念ながら、現在これを非常に簡単にしてくれるツールはないと思います。この面倒なやり取りを行っており、文字通り本を見つけてテキストをあちこちにコピーペーストし、行ったり来たりしています。これは非常に不便であり、残念ながら現時点ではこれを非常に簡単にしてくれるツールは知りません。
明らかに理想的なのは、本を読みながら、特定の段落をハイライトして質問できることです。これは現在、私の知る限りでは存在していません。しかし、この機能は非常に役立つものです。試してみることをお勧めします。そして、本を一人で読まないでください。
8.2. 実例: 学術論文の理解と質問
実際にファイルアップロード機能を使った例として、Arc Instituteからのゲノムに関する論文についての経験を共有します。この場合、DNAで訓練された言語モデルについての論文でした。私は生物学の専門家ではありませんが、このトピックが何であるのか興味がありました。
これはLLMが非常に優れている完璧な例です。PDFをLLMにアップロードし、コンテキストウィンドウに読み込むことで、その内容について質問し、LLMと一緒に論文を理解することができます。方法は非常に簡単で、約30MBのPDFファイルをドラッグアンドドロップするだけです。
Claudeのような多くのLLMがこの文書を受け取ると、画像などの一部の情報は破棄される可能性があります。バックエンドの正確な処理方法は公開されていませんが、おそらくPDFはテキストファイルに変換され、そのテキストファイルがトークンウィンドウに読み込まれます。一度トークンウィンドウに入ると、それは作業メモリとなり、モデルはそこから質問に答えることができるようになります。
LLMと一緒に論文を読み始める際の一般的なアプローチは、まず「この論文の要約を教えてください」と質問することです。例えばChatGPTにこの質問をすると、「ゲノムモデリングと設計:生命のすべての領域にわたって」という論文の要約が提供され、Evo 2という大規模な生物学的基盤モデルの紹介とその主な特徴が説明されます。
このような要約から始めることで、論文の主要なポイントを把握し、その後より具体的な質問ができるようになります。例えば:
- 「このモデルが他の既存モデルと異なる点は何ですか?」
- 「Open Genom 2データセットの特徴を説明してください」
- 「このモデルの実際の応用例はありますか?」
- 「この研究の限界は何ですか?」
特に専門外の分野の論文を読む際、LLMは専門用語の説明や複雑な概念の分解、論文の構造の解説などを提供してくれます。これにより、通常なら理解が難しい専門的内容にもアクセスできるようになります。
さらに、論文の特定の部分について掘り下げることもできます。例えば「方法論のセクションをより詳しく説明してください」や「結果セクションで最も重要な発見は何ですか?」などの質問が可能です。
LLMは論文の内容を単に要約するだけでなく、その意義や影響、他の研究との関連性についても説明できるため、専門分野外の論文でも有意義な理解を得ることができます。これにより、以前は専門知識の壁によってアクセスが限られていた学術コンテンツが、はるかに親しみやすくなっています。
8.3. 読書体験の向上: 『国富論』を例にした使用方法
現在の私の本の読み方を『国富論』を例に説明します。『国富論』はアダム・スミスによる1776年の著書で、古典経済学の基礎となる非常に重要な書籍です。これほど昔に書かれたものでありながら、現代にも非常に関連性のある洞察が多く含まれていることに驚かされます。
本を読む際のLLMの活用方法は以下の通りです。まず本のコンテンツにアクセスする必要があります。『国富論』の場合、1776年の作品なのでProject Gutenbergなどで簡単に入手できます。次に、現在読んでいる章を見つけます。
例として、最近読んでいた第一巻の「分業は市場の広さによって制限される」という章を取り上げます。この章は経済学において非常に重要な概念を扱っています。大まかに言えば、市場が小さい場合、人々は専門化できないという内容です。専門化は富の創出にとって非常に重要です。これは専門家が自分のシンプルな特定のタスクに特化できるからですが、それは規模があってこそ可能なのです。規模がなければ、専門性を売るための十分な大きさの市場がないからです。
私のアプローチとしては、章全体をコピーペーストして、例えばClaudeに「『国富論』を読んでいます。まずこの章を要約してください」と入力します。ここでは、Claudeは『国富論』についての一般的な知識は持っていますが、この特定の章の内容を正確には覚えていないでしょう。したがって、この章のテキストをコンテキストウィンドウに読み込ませることで、Claudeに内容を理解させる必要があります。
Claudeでテキストをコピーペーストすると、テキストが一定の大きさを超えた場合、テキストボックスに全文を表示せず、小さなテキスト添付ファイルとして表示します。Enterを押すと、通常、章の内容の大まかな理解を得るために、まず要約から始めます。
その後、章を実際に読み始め、内容について疑問が生じた場合は、いつでもLLMに質問することができます。例えば:
- 「この段落で述べられている水上輸送と陸上輸送の違いをより詳細に説明してください」
- 「スミスが主張する分業と市場規模の関係とは何ですか?」
- 「この章で言及されている歴史的背景を現代の経済状況と比較するとどうなりますか?」
- 「スミスがここで使用している例は当時の読者にとってどれほど身近なものだったのでしょうか?」
この方法でLLMと一緒に読書を進めることで、18世紀の経済学書の理解度と内容の保持力が「劇的に向上」します。これは特に、専門分野外の文献や古い時代の文献を読む場合に効果的です。
1776年の英語のような古い言語表現、当時の社会背景や経済状況の理解が求められる場合、LLMはこうした壁を乗り越える助けになります。シェイクスピアのような古典作品も同様で、LLMと一緒に読むことで、単なる単語の意味だけでなく、文化的・歴史的文脈も含めた理解が可能になります。
残念ながら、現時点ではこのプロセスを非常に簡単にするツールは存在しません。私自身も本のテキストをあちこちにコピーペーストし、LLMとの間を行き来するという不便な方法を用いています。理想的には、読書中に特定の段落をハイライトして直接LLMに質問できるようなツールがあれば素晴らしいのですが、現時点ではそのようなツールは存在していません。
それでも、この方法は非常に効果的であり、「本を一人で読まないでください」と強くお勧めします。LLMと一緒に読書することで、難解な内容も楽しく、深く理解できるようになります。
8.4. 専門外の文献や古典の理解を深める方法
LLMを活用することで、特に専門外の分野や古い時代の文献を理解する際に大きな価値があります。例えば、生物学の論文や18世紀の経済学書のような専門外や古い時代の文献をLLMの助けを借りて理解する方法について説明します。
専門分野外の文献、例えば私にとっての生物学論文を読む場合、LLMは以下のような支援ができます:
- 専門用語の説明 - 例えば「Ca AKG」や「ゲノムシーケンス」などの専門用語について、簡潔でわかりやすい説明を提供します。
- 概念の関連付け - 未知の概念を既知の概念と関連付けて説明してくれます。例えば「DNAに基づく言語モデル」を通常の「テキストベースの言語モデル」と比較して説明してくれます。
- 文脈の提供 - 研究の背景や、その分野における位置づけを説明してくれるため、論文の重要性を理解しやすくなります。
古典的な文献、例えば『国富論』のような18世紀の著作の場合は:
- 言語の現代化 - 古い英語や複雑な文体を現代的な表現に言い換えてくれます。
- 歴史的文脈の説明 - 当時の社会経済状況など、著作が書かれた時代背景を説明してくれます。
- 現代との関連付け - 古典的な概念を現代の状況と関連付けて説明してくれるため、その継続的な関連性を理解しやすくなります。
LLMを活用する際の効果的な質問方法としては:
- 「この段落の主要な主張は何ですか?」
- 「この用語[X]をより簡単な言葉で説明してください」
- 「著者がここで示している例の現代版は何でしょうか?」
- 「この文脈での[X]という用語の意味は?」
- 「この考え方は現代の[特定の分野]でどのように適用されていますか?」
このようなアプローチにより、以前は専門知識の壁によってアクセスが限られていた内容が格段に理解しやすくなります。私自身の経験では、LLMと一緒に読書することで理解度と記憶力が「劇的に向上した」と感じています。特にシェイクスピアのような古典作品や、専門外の学術論文に取り組む際の心理的障壁が大幅に下がり、より多様な読書が可能になりました。
理想的には、読書中に特定の部分をハイライトして直接LLMに質問できるようなツールがあれば便利ですが、現時点でそのような統合されたツールは存在していないため、テキストのコピーペーストという少し不便な方法でも、その価値は十分にあります。
9. ツール使用: Pythonインタプリタ
9.1. プログラミング言語との統合
次に紹介したい非常に強力なツールは、Pythonインタプリタ、つまりLLMにコンピュータプログラムを使用・作成する能力を与えることです。LLMが直接回答を提供する代わりに、コンピュータプログラムを書き、ChatGPTアプリケーションが「これは人間向けではなく、実際にはこれがコンピュータプログラムであり、実行してその結果を私に返してください」と認識する特殊なトークンを発行する能力を持ちます。
これは基本的に、Pythonのようなプログラミング言語とのLLMの統合です。これは非常に強力な機能です。最も単純な例を見てみましょう。ChatGPTに掛け算の問題を出してみます。例えば「30 × 9」のような計算です。
これは比較的簡単な掛け算で、おそらく頭の中で計算できるでしょう。30 × 9 = 270です。ChatGPTに質問してみると、私と同じことをして、この掛け算の結果は270だと計算しました。
しかし、これは実際に数学をしているわけではなく、ほとんど記憶作業のようなものです。頭の中で簡単にできる計算です。ここではツールは使用されておらず、ZIPファイルが次のトークン予測を行い、正しい結果を出力しただけです。
問題は、もっと複雑な計算を求めた場合です。例えば「253,486 × 437,726」のような大きな数の掛け算です。このような質問をされると、誰でもすぐに諦めて、電卓を探すでしょう。それがLLMも今やそうするのです。
OpenAIはChatGPTを訓練して、頭の中でできない問題を認識し、代わりにツールに頼るようにしています。このような複雑な計算のクエリに対して、ChatGPTはツール使用に切り替えることが期待されます。
実際に試してみると、Pythonインタプリタが開きます。LLMが直接結果を伝える代わりに、プログラムを書き、ここには表示されていない特殊なトークンがChatGPTアプリケーションに「プログラムを実行してください」と指示します。LLMは実行を一時停止し、Pythonプログラムが実行され、結果が生成され、その結果がテキストとして言語モデルに返されます。言語モデルは処理を再開し、結果を伝えます。
これはツール使用の例で、非常に強力です。OpenAIはChatGPTを訓練して、例によってどのような状況でツールを使うべきかを理解させています。人間のラベラーはツールを使うべき状況とその方法を示す例示データセットをキュレーションしています。
基本的に、Pythonインタプリタを持ち、これは掛け算の単純な例ですが、この機能は大幅に強力です。これから何ができるかを見ていきましょう。
ただし、次に進む前に、異なるLLMが異なる種類のツールを持っているか、あるいは持っていないかを把握する必要があることを指摘したいと思います。特に、Pythonインタプリタやプログラミング言語にアクセスできない、あるいは使用したがらないLLMは、これらのより難しい問題で正確な結果を出せない可能性があります。
例えば、ChatGPTはプログラミング言語を正しく使用し、頭の中で計算しませんでした。一方、Grok 3はおそらくPythonインタプリタのようなプログラミング言語へのアクセスがないため、この計算を頭の中で行おうとし、驚くほど近い結果を出しましたが、よく見ると間違っていることがわかります。110,960,120,836となるべきところが110,960,060,000となっています。
Claudeに試したところ、このケースではPythonではなくJavaScriptコードを書きましたが、JavaScriptもプログラミング言語なので正確な結果を得ました。次にGeminiの2.0 Proでも試しましたが、ツールを使用している兆候はないにもかかわらず、正しい結果を与えてくれました。これは実際に驚くべきことです。
Geminiが本当に頭の中で計算したのか確認するために、より難しい問題を試してみました。するとGeminiも結果を出しましたが、MacBook Proの電卓で確認すると、それは間違っていました。かなり近い値ではありますが、正確ではありません。Geminiも結果を幻覚していたのです。
残念ながら、現在のLLMの状況は、異なるLLMが異なるツールを利用できるため、それを把握しておく必要があります。ツールがない場合、彼らは最善を尽くしますが、それは結果を幻覚(誤った情報を生成すること)することを意味します。これには注意が必要です。
9.2. 複雑な計算処理の実行例
プログラミング言語との統合がいかに強力かをより具体的に示すため、複雑な計算の例を見てみましょう。先ほど「253,486 × 437,726」という掛け算を例として挙げましたが、この場合、モデルが自分で計算するのではなく、Pythonインタプリタを使用することを選択しました。
実際の処理では、ChatGPTは以下のようなPythonコードを生成します:
result = 253486 * 437726
print(result)
このコードはChatGPTアプリケーションによって実行され、結果(110,960,120,836)が生成されます。これはモデルが直接計算したのではなく、Pythonインタプリタを使って正確な答えを得たものです。
さらに複雑な例として、大きな数値の冪乗計算を試してみましょう。例えば「7の98乗を計算してください」といった問いに対しても、通常の言語モデルは正確な答えを出すのが難しいですが、Pythonインタプリタを使えば簡単に解決できます:
result = 7 ** 98
print(result)
これにより、30桁以上ある巨大な数値が正確に計算されます。
また、統計計算や数値解析のようなより高度な計算も可能です。例えば、配列のデータに対する統計分析を行う場合:
import numpy as np
# サンプルデータ
data = [23, 45, 67, 89, 12, 34, 56, 78, 90, 23]
# 基本統計量の計算
mean = np.mean(data)
median = np.median(data)
std_dev = np.std(data)
print(f"平均値: {mean}")
print(f"中央値: {median}")
print(f"標準偏差: {std_dev}")
さらに、複雑な数学的問題、例えば微分方程式の数値解法や行列の演算なども、適切なライブラリを使えば実行できます。
このようなツール統合の利点は、モデル自体の限界(大きな数値の正確な計算や複雑なアルゴリズムの実行など)を超えて、精度の高い計算処理を提供できる点です。また、単なる計算だけでなく、データの変換、解析、視覚化など、様々なプログラミングタスクを実行できるため、LLMの応用範囲が大きく広がります。
モデルは自分の限界を認識し、複雑な計算が必要な場合に適切にツールを使用する判断ができるようになっています。これにより、ユーザーは複雑な数式や計算処理を自然言語で表現するだけで、正確な結果を得ることができるのです。
9.3. 各LLMのツール対応状況の比較と制限
各LLMのプログラミングツール対応状況には大きな違いがあり、それによって計算能力や問題解決能力が大きく変わります。いくつかの主要モデルを比較してみましょう。
ChatGPTは最も完全に統合されたPythonインタプリタを持っており、複雑な数値計算を含む様々なプログラミングタスクを実行できます。このインタプリタの使用タイミングを自動的に判断でき、例えば先ほどの大きな数値の掛け算では自動的にPythonコードを生成して実行しました。
対照的に、Grok 3はプログラミング言語との統合が限定的です。先ほどの複雑な掛け算を試した際に、Pythonインタプリタにアクセスせず、自力で計算しようとしました。その結果、110,960,120,836という正確な答えではなく、110,960,060,000という近似値を出力しました。数値が大きくなるほど、このような誤差は拡大する傾向があります。
Claudeの場合は興味深いアプローチを取っています。同じ計算問題に対して、PythonではなくJavaScriptコードを生成しましたが、プログラミング言語を使用している点では同様です。これにより、正確な計算結果を得ることができました。異なるプログラミング言語を使用しているものの、結果の正確性という点では問題ありません。
Geminiは複雑な状況を示しています。2.0 Proモデルを使った実験では、明示的なツール使用の兆候なしに正確な結果を提供することがありました。しかし、より複雑な計算を試みたところ、結果は不正確でした。これは、Geminiがある程度の大きな計算を内部的に処理できるかもしれませんが、限界があることを示しています。外部ツールへの明示的なアクセスがない場合、複雑さが増すと精度が落ちる傾向があります。
各モデルのツール対応の制限は以下のようにまとめられます:
- 統合の完全性 - ChatGPTとClaudeはより完全な統合を持ち、GrokとGeminiの一部モデルは限定的または不完全な統合です。
- 言語の選択 - ChatGPTはPythonを優先し、Claudeは時にJavaScriptを使用します。これは各プラットフォームの設計哲学の違いを反映しています。
- 自動判断 - ChatGPTは自動的にツールの使用を判断できますが、他のモデルではその判断能力が弱いか、あるいはツールへのアクセス自体が制限されています。
- 幻覚のリスク - ツールアクセスがないモデルや適切にツールを使用しないモデルは、複雑な計算で「幻覚」(誤った結果の生成)を起こしやすくなります。
これらの違いを理解することで、特定の計算タスクや問題解決に適したモデルを選択できます。正確な数値計算が重要な場合は、確実にプログラミングツールを統合しているChatGPTやClaudeを選ぶべきでしょう。モデルの限界を認識し、結果を批判的に評価することも重要です。
9.4. ツールがない場合の誤った結果(幻覚)のリスク
プログラミングツールを持たないLLMが複雑な計算を行おうとする場合、「幻覚」と呼ばれる誤った結果を生成するリスクが高まります。先ほどのGrok 3の例では、253,486 × 437,726という大きな数の掛け算を試みた際、プログラミング言語にアクセスせずに計算を行い、結果として110,960,060,000という答えを出しました。しかし正確な答えは110,960,120,836であり、約6万の誤差があります。
これは比較的小さい誤差に思えるかもしれませんが、数値が大きくなるにつれて誤差も拡大する傾向があります。さらに複雑な計算、例えば大きな数値の累乗、行列計算、または微分方程式などでは、誤差はさらに大きくなるでしょう。
Geminiの例も興味深いケースでした。ある複雑な計算では正確な結果を提供したように見えましたが、さらに難しい計算を試したところ、明らかに不正確な結果を返しました。これは、モデルが内部的に一定の計算能力を持っているものの、限界があることを示しています。その限界を超えると、モデルは自信を持って誤った結果を出力することがあります。
この問題の危険性は、モデルが自信を持って誤った答えを提示することです。特に数値計算では、結果が「ほぼ正確」に見えるため、ユーザーが間違いに気付きにくいことがあります。例えば、金融計算や工学設計などの重要な場面では、このような小さな誤差が大きな問題を引き起こす可能性があります。
外部ツールを使用することの重要な利点は:
- 計算の正確性 - プログラミング言語は大きな数値でも正確に計算できます
- 透明性 - コードが表示されるため、実行されている計算を確認できます
- 拡張性 - 複雑なアルゴリズムや専門的なライブラリを活用できます
LLMの出力を評価する際には、特に数値計算を含む場合、結果を批判的に評価することが重要です。可能であれば:
- 別の計算ツールで結果を検証する
- モデルがどのようにしてその結果を得たのか説明を求める
- プログラミングツールがあるモデルを使用する
- 重要な計算には、専用の計算ツールや専門のソフトウェアを使用する
「幻覚」のリスクは数値計算だけでなく、コードの生成や論理的な推論を必要とする問題でも発生します。このような場合にも、適切なツールを持つモデルを選択することが、正確で信頼性の高い結果を得るために重要です。
10. ChatGPT高度データ分析と図表作成
10.1. データ分析と可視化機能
Pythonインタプリタの実用的な応用として非常に強力なのが、ChatGPTの「Advanced Data Analysis(高度データ分析)」機能です。私の知る限り、これはChatGPT独自の機能であり、基本的にChatGPTをジュニアデータアナリストのように機能させることができます。
具体例を示しましょう。まず分析・可視化するためのデータが必要です。例として、OpenAIの企業評価額について調査してみました。私は明示的にChatGPTに検索ツールを使うよう指示しました。なぜなら、バックエンドにこのようなツールが存在することを知っており、ChatGPTにデータを幻覚させたくなかったからです。
データを検索した上で、「各年のOpenAIの評価額を示す表を作成してください」と依頼しました。その結果、以下のような年ごとの評価額の表が作成されました。注目すべき点として、2015年は「該当なし」となっています。つまり、評価額が不明です。
次に「このデータをプロットし、Y軸に対数スケールを使用してください」と指示しました。ここでChatGPTの強力な点が現れます。ChatGPTはデータをプロットするプログラムを作成し、小さな図表を生成して表示してくれました。これは非常に便利で価値のある機能です。データを収集し、スプレッドシートにアップロードして可視化するなど、多くのデータ分析タスクを簡単に行うことができます。
ただし、いくつか注意すべき点があります。例えば、2015年のデータは「該当なし」でしたが、コードを見てみると、ChatGPTは2015年の値を0.1(つまり1億ドル)と暗黙的に仮定していました。ユーザーに明示的に伝えることなくコード内で行われたこの仮定は少し不透明です。このようなコードは常に注意深く確認する必要があります。
続いて「トレンドラインを適合させ、2030年までの予測評価額をマークしてください」と依頼しました。ChatGPTは線形フィットを使用してプロットを生成し、2030年の予測評価額は約1.7兆ドルであると報告しました。しかし、ここで不審に思ったのは、プロットでは2030年の値が2027年の1.7Bドル(17億ドル)として表示されていることです。この予測は1.7兆ドルという報告と矛盾しています。
そこで「この変数を直接表示してください」と指示したところ、コードを修正して変数自体を表示し、ラベルから確認すると2030年の真の指数関数的トレンド予測は20兆ドルであることがわかりました。
私がChatGPTに「嘘をついたのか?」と問いただすと、「すみません、間違えました」という応答でした。この例は、このツールのパワーを示すと同時に、その危険性も示しています。図表生成など素晴らしい機能がある一方で、暗黙的な仮定を行ったり、実際には20兆ドルの予測を1.7兆ドルと誤って報告するなど、注意が必要です。
この機能は「非常に初級のデータアナリスト」のようなものです。図表を作成できるのは素晴らしいですが、コードの内容を理解し、注意深く精査し、不注意なジュニアアナリストのように時々間違いを犯すことを理解して監視する必要があります。非常に強力な機能ですが、慎重に使用することをお勧めします。
10.2. OpenAI評価のトレンド分析の例
実際にChatGPTの高度データ分析機能を使って、OpenAIの企業評価額のトレンド分析を行った例を詳しく説明します。
まず、正確なデータを得るために、「OpenAIの評価額を調査し、各年の評価額を表にしてください」とChatGPTに指示しました。この際、明示的に検索ツールを使うよう指定しました。なぜなら、モデルに最新の正確なデータを幻覚させるのではなく、実際のソースから情報を取得させたかったからです。
ChatGPTは検索を実行し、2015年から現在までのOpenAIの評価額を表形式でまとめました。注目すべき点として、2015年のデータは「該当なし(N/A)」となっていました。これは、その時点での評価額情報が存在しないか、検索で見つからなかったことを示しています。
次に「このデータをプロットし、Y軸に対数スケールを使用してください」と指示しました。ChatGPTは以下のようなPythonコードを生成し実行しました:
import matplotlib.pyplot as plt
import numpy as np
# データ
years = [2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023]
valuations = [0.1, 1, 1, 1, 1, 2, 14, 29, 80] # 単位: 10億ドル、2015年はN/Aなので仮の値0.1を使用
# プロット
plt.figure(figsize=(10, 6))
plt.semilogy(years, valuations, marker='o')
plt.grid(True, which="both", ls="-")
plt.title('OpenAIの評価額推移 (対数スケール)')
plt.xlabel('年')
plt.ylabel('評価額 (10億ドル)')
plt.tight_layout()
plt.show()
ここで注目すべき点は、2015年の「該当なし」のデータを、ChatGPTがコード内で暗黙的に0.1(1億ドル)と仮定したことです。この仮定はユーザーに明示的に伝えられることなく行われました。コードの注釈には「2015年はN/Aなので仮の値0.1を使用」と書かれていますが、このような判断はコードを注意深く読まなければ見落としてしまう可能性があります。
続いて「トレンドラインを適合させ、2030年までの予測評価額をマークしてください」と依頼しました。ChatGPTはscipy.optimizeのcurve_fitを使用して指数関数的な成長モデルを適合させ、2030年の予測値を計算しました。
しかし、ここで興味深い矛盾が生じました。ChatGPTは「2030年の予測評価額は約1.7兆ドルです」と報告しましたが、プロットのラベルを見ると「2027: 1.7B」と表示されていました。これは1.7兆ドル(trillion)ではなく17億ドル(billion)を示しており、2030年の予測とも時期が異なります。
この矛盾に気づいて「この変数を直接表示してください」と指示したところ、ChatGPTはコードを修正し、変数自体を表示しました。ラベルから確認すると、2030年の真の指数関数的トレンド予測は約20兆ドル(20 trillion)であることがわかりました。
この例は、高度データ分析機能の強力さと同時に、注意深く結果を検証することの重要性を示しています。モデルは時に正確な計算結果を報告せず、こうした不一致を発見するためには、生成されたコードと出力を批判的に評価する必要があります。
10.3. 結果の検証と潜在的な問題点
ChatGPTの高度データ分析機能を使用する際に注意すべき重要な潜在的問題点がいくつかあります。先の例で示したように、モデルは時に暗黙的な仮定や誤った計算結果を生成することがあります。
まず最初の問題は、欠損値や不明確なデータの取り扱いです。OpenAIの企業評価額の例では、2015年のデータが「該当なし(N/A)」でしたが、ChatGPTはこれを0.1(1億ドル)と仮定しました。この仮定は非常に重要で、グラフの形状やトレンド分析に大きな影響を与える可能性がありますが、ユーザーに対して明示的に通知されませんでした。コードの注釈に記載されているだけでは、多くのユーザーがこの重要な判断に気づかない可能性があります。
2つ目の問題点は、結果の報告における一貫性の欠如です。2030年の予測評価額として「約1.7兆ドル」と報告しましたが、実際の計算結果は約20兆ドルでした。この10倍以上の差異は非常に重大で、ビジネス判断や投資決定に大きな影響を与えかねません。これは単なる表現の問題ではなく、計算結果の解釈またはレポーティングにおける根本的な誤りです。
3つ目は、使用される統計モデルやアルゴリズムの透明性不足です。例えば、トレンド予測に使用された指数関数モデルが適切かどうか、他のモデル(対数モデルや多項式モデルなど)と比較されたのかどうかが明確ではありません。異なるモデルは大きく異なる予測を生み出す可能性があります。
4つ目は、結果の不確実性や信頼区間が報告されないことです。2030年の予測値は単一の数値として提示され、予測の不確実性や可能な値の範囲についての情報が提供されませんでした。
最後に、生成されるコードが必ずしも最適ではなく、データの特性に合わせた適切な処理がされない場合があります。データの前処理、異常値の処理、適切な可視化方法の選択など、データ分析の基本的なベストプラクティスが必ずしも遵守されているわけではありません。
これらの問題は、ChatGPTの高度データ分析機能が「非常に初級のデータアナリスト」のように機能することを示しています。結果を鵜呑みにするのではなく、生成されたコードと出力を批判的に評価し、必要に応じて修正する必要があります。データ分析において専門知識を持つユーザーであれば、これらの問題を識別し解決できますが、初心者ユーザーにとっては難しい場合があります。
10.4. コードの精査と確認の重要性
ChatGPTの高度データ分析機能を使用する際、生成されたコードを注意深く精査することが非常に重要です。前述の例で示したように、モデルはしばしば暗黙的な仮定を行い、時には誤った結果を報告することがあります。
コード精査の重要なポイントとして、以下の点に特に注意を払うべきです:
- データの前処理方法 - OpenAIの評価額の例では、2015年の「該当なし」のデータが0.1(1億ドル)と仮定されていました。このような仮定は結果に大きな影響を与える可能性があります。欠損値、外れ値、データ変換の方法を必ず確認しましょう。
- 使用されるアルゴリズムや関数 - 適切な統計手法や関数が使われているかを確認します。例えば、線形回帰が適切な場合に多項式回帰が使われていないか、または逆のケースがないかをチェックします。
- 計算結果の一貫性 - コードの出力と、モデルが報告する結果に一貫性があるかを確認します。例えば、20兆ドルの予測が1.7兆ドルと報告されるような不一致がないかチェックします。
- 視覚化の適切さ - グラフのスケール、軸のラベル、凡例、タイトルが適切かつ明確であるかを確認します。誤解を招くような視覚化になっていないかをチェックします。
- コメントと注釈の正確性 - コード内のコメントが実際の処理内容と一致しているかを確認します。時に、コメントが実際の操作と矛盾する場合があります。
ChatGPTが生成するコードは「非常に優秀だが初級の」データアナリストが書いたものと考えるべきです。つまり、多くの基本的なタスクをうまく処理できる一方で、重要な細部を見落としたり、適切でない手法を選択したりする可能性があります。特に重要なビジネス判断や研究に使用する場合は、生成されたコードを専門家がレビューすることが不可欠です。
また、コードの精査は、単にエラーを発見するためだけでなく、モデルの思考プロセスを理解し、必要に応じて修正や改善を行うためにも重要です。例えば、デフォルトのパラメータが特定のデータセットに適していない場合、それらを調整するアイデアが得られるかもしれません。
私自身の経験では、ChatGPTのコードをそのまま使用せず、各ステップを理解し、必要に応じて修正することで、より信頼性の高い結果を得ることができます。コードを精査する習慣は、データ分析の品質を確保するだけでなく、自身のデータ分析スキルを向上させる機会にもなります。
11. Claude Artifactsとアプリケーション
11.1. Artifactsの概念と機能
Claudeが提供するArtifacts機能は、会話の中でカスタムアプリケーションを作成できる強力な機能です。この機能を使うと、Claudeはコードを書いて、ブラウザで直接実行可能なアプリケーションを作成することができます。
例として、私が実際に使った例を紹介します。あるとき、私はClaudeに対して「以下のテキストから20個のフラッシュカードを生成してください」と依頼しました。そこでアダム・スミスのWikipediaページから導入部分をコピーペーストしました。Claudeは20個のフラッシュカードを生成してくれました。例えば「アダム・スミスはいつ洗礼を受けましたか?」「彼はいつ亡くなりましたか?」「彼の国籍は何ですか?」などの質問と回答のセットです。
その後、私は「Artifacts機能を使ってこれらのフラッシュカードをテストするアプリを作成してください」と依頼しました。Claudeはフラッシュカードアプリのコードを作成しました。このコードはReactライブラリを使用し、質問と回答をアプリ内にハードコードして機能を実装しています。Claudeのインターフェースはこれらのコンポーネントを直接ブラウザ内で読み込み、実行可能なアプリとして表示します。
このようにして作成されたアプリでは、「アダム・スミスはいつ洗礼を受けましたか?」という質問が表示され、クリックすると答えが表示されます。また、自分が正解したかどうかを記録したり、進捗状況をリセットしたり、カードをシャッフルしたりする機能も含まれています。
従来のアプリケーション開発パラダイムでは、ソフトウェアエンジニアがアプリを作成し、ユーザーがカスタマイズする方法を提供するという流れでしたが、このパラダイムは全く異なります。Claudeはユーザーのためだけにカスタムアプリを作成し、ブラウザ内でデプロイします。ただし、これらのアプリにはバックエンドデータベースなどはなく、ブラウザ内で動作するローカルアプリですが、それでもかなり洗練されて役立つものになります。
正直なところ、私自身は日常的にArtifacts機能を使用しているわけではなく、時々使う程度です。多くの人々がこの機能を実験的に使用しており、様々なタイマーやゲームなどのArtifactsのショーケースが簡単に共有できるため数多く見られます。
ダイアグラム生成
個人的に最も有用だと感じているArtifactsの使用例は、ダイアグラム生成です。例えば、先ほど見たアダム・スミスの本の章について、「この章の概念ダイアグラムを作成してください」と依頼すると、Claudeはmermaidライブラリを使用してグラフを定義・表示するコードを作成します。
Claudeは章を分析し、主要な原則(この場合、分業と市場の広さの関係)を特定し、章の構成要素を表示します。例えば、陸上と水上での交易の比較例、特定の例、地理的要因の重要性、陸上輸送と水上輸送の比較、そして水上輸送の恩恵を受けて繁栄した初期文明についての言及などが図示されます。
私は概念的・視覚的な思考をする傾向があるので、情報をこのようなツリー状に配置することが記憶の助けになります。これらのダイアグラムを通じて章の内容を簡単に思い出せるようになります。本、章、ソースコード、あるいはあらゆるものの図表を作成できるこの機能は、特に役立つものだと感じています。
Claude Artifactsは、LLMがコードを書くだけでなく、そのコードをブラウザ内で部分的に実行できるようにする先進的な機能の一例です。Chat GPTが図表を作成して表示し、Claude ArtifactsがReactコンポーネントを統合してインラインで使用できるようにするなど、様々なアプリケーションが可能になっています。
11.2. フラッシュカードアプリの作成例
Claudeを使ったフラッシュカードアプリの作成は、Artifacts機能の実用的な応用例です。私がこのアプリを作成した際の過程を詳しく説明します。
最初に、私はClaudeに「アダム・スミスについての情報からフラッシュカードを生成し、それをテストできるアプリを作成してください」と依頼しました。Claudeはまず20個のフラッシュカードセットを生成し、その後でArtifacts機能を使ってアプリケーションを構築しました。
このアプリケーションの核となるのはReactフレームワークです。Claudeは質問と回答のデータをJavaScriptオブジェクトとして構造化し、それをReactコンポーネントとして実装しました。アプリのUIはシンプルながらも機能的で、質問が表示され、クリックすると答えが表示されるという基本的な仕組みになっています。
特に印象的だったのは、Claudeがユーザー体験を向上させるための機能も実装したことです。例えば、カードをシャッフルする機能、進捗状況をリセットする機能、そして自分が正解したかどうかを記録する機能などです。これらは単なる表示用アプリを超えて、実際の学習ツールとして機能するために重要な要素です。
このアプリの作成において、バックエンドデータベースのような複雑なインフラストラクチャは不要でした。すべてのデータとロジックはブラウザ内で完結し、それでいて効果的な学習ツールとして機能します。この点はArtifacts機能の大きな利点で、複雑なセットアップなしに即座に使えるアプリケーションを作成できます。
フラッシュカードアプリの例は、教育や学習支援ツールとしてのLLMの可能性を示しています。専門的な開発知識がなくても、特定のコンテンツに基づいたカスタム学習ツールを簡単に作成できるのです。さらに、こうしたアプリは会話の流れの中で生成されるため、ユーザーはリアルタイムにフィードバックを提供し、必要に応じて調整を依頼することができます。
このフラッシュカードアプリの例は、Artifacts機能がどのように日常的なタスクをサポートし、創造的なソリューションを提供できるかを示す好例です。技術的な複雑さを抽象化しながら、実用的な機能を提供する能力は、LLMが単なる対話ツールを超えて、実際のアプリケーション創出プラットフォームへと進化していることを示しています。
11.3. 図表とダイアグラムの生成
Claudeにおけるダイアグラム生成は、私が個人的に最も価値を感じているArtifacts機能の一つです。特に、文献や資料の概念化において非常に役立っています。
例えば、アダム・スミスの『国富論』の第3章を読んでいる際、「この章の概念ダイアグラムを作成してください」と依頼すると、Claudeはmermaidライブラリを使用してグラフを定義・描画するコードを作成します。このライブラリは複雑な図表やフローチャートをシンプルなテキスト記法で表現できるため、LLMによる図表生成に最適です。
Claudeは章の内容を分析し、中心となるコンセプトを特定します。例えば『国富論』の例では、「分業は市場の広さに関連する」という主要原則を中心に置き、章の構成要素を体系的に配置していきました。具体的には、陸上と水上での交易の比較例、地理的要因の影響、陸上輸送と水上輸送の比較、そして水上輸送の恩恵を受けて繁栄した初期文明についての言及などが図示されました。
このような視覚的な表現は、概念理解を深めるのに非常に役立ちます。私自身、概念的・視覚的な思考をする傾向があるため、情報をツリー状やネットワーク状に配置したダイアグラムが記憶の助けになります。章の主張や構造を図式化することで、内容を簡単に思い出せるようになり、複雑な概念間の関係性も理解しやすくなります。
Claudeによるダイアグラム生成は、単なる装飾的な要素ではなく、情報の構造化と理解の深化に役立つ実用的なツールです。本の章、学術論文、ソースコード、ビジネスプロセス、さらには抽象的な概念でさえ、適切な図表として可視化できます。特に複雑な情報を整理したり、他者に説明したりする際に非常に価値があります。
このダイアグラム生成機能は、Artifactsの中でも比較的シンプルな実装ですが、情報の視覚化という点で非常に強力です。テキストベースのコミュニケーションに視覚的な要素を追加することで、理解と記憶を大きく向上させることができるのです。
11.4. 『国富論』の章の概念ダイアグラム作成
『国富論』の章の概念ダイアグラム作成は、Claudeの図表生成能力を活用した具体的な事例です。この過程を詳しく見ていきましょう。
私がClaudeに「我々はアダム・スミスの『国富論』を読んでいます。第3章(Book One の Chapter 3)について概念的ダイアグラムを作成してください」と依頼すると、Claudeはまず章の内容を分析しました。この章は「分業は市場の広さによって制限される」というテーマについて論じています。
Claudeはmermaidライブラリを使用して、章の主要概念と構造を表現するダイアグラムコードを作成しました。作成されたダイアグラムには以下の要素が含まれていました:
- 中心概念:「分業は市場の広さ(範囲)に関連する」
- 比較例:交易の容易さについての陸上と水上の比較
- 具体例:章で使用されている特定の例
- 地理的要因:これらが大きな差異を生み出す理由
- 輸送方法の比較:陸上輸送対水上輸送、水上輸送がいかに容易であるか
- 早期文明の例:水上輸送の利便性から恩恵を受け、専門化をサポートして繁栄した文明
このダイアグラムは、章の議論の構造を視覚的に表現することで、議論の流れや各要素の関連性を一目で把握できるようにしています。特に、アダム・スミスの主張である「分業は市場の拡大によって促進され、市場の拡大は特に水路による輸送の容易さに依存する」という論理の流れが明確に表現されていました。
このような概念ダイアグラムは、18世紀の古典的な経済学書のような古い文献を理解する際に特に役立ちます。現代の読者にとって時に難解な古い言い回しや例えが、視覚的な構造として整理されることで、本質的な議論がより明確になります。
私のような視覚的思考者にとって、このような図式化は情報を空間的に配置し、章の論理構造を理解するのに非常に役立ちます。ダイアグラムを見ることで、読んだ章の内容を簡単に思い出せるようになり、複雑な経済理論の関連性をより深く理解することができました。
12. Cursor: コード作成と開発
12.1. プロフェッショナルなコード開発環境
これまで私たちはLLMがコードを書けることを見てきましたが、Chat GPTやClaudeなどのウェブインターフェースで直接コードを書くのは、プロフェッショナルな開発作業には非効率です。私の開発時間の大半はコードを書くことに費やされていますが、Chat GPTに直接コードスニペットを依頼することはありません。それでは遅すぎますし、Chat GPTには私のプロジェクト全体の文脈が欠けているからです。
そこで私は、多くの業界のプロフェッショナルと同様に、特定のアプリケーションを使用しています。VS Code、Windsurf、Cursorなど様々なオプションがありますが、私は現在Cursorを使用しています。Cursorは単なるウェブインターフェースではなく、MacBookなどにダウンロードして使用するプログラムです。ファイルシステム上のファイルと連携し、それらを編集できます。
Cursorの内部では、Anthropicの「Claude 3.7 Sonnet」モデルが動作しています。CursorはAnthropicのAPIを呼び出してClaudeに処理させていますが、私は直接Claudeにコードをコピーペーストする必要はありません。このプログラムが私のディレクトリ内のファイルのコンテキストを把握し、すべての処理を行ってくれます。
例として、Cursorで数分で構築した簡単なReactアプリケーション(Tic-Tac-Toe)を紹介します。このアプリは全てClaudeが数分で書いたもので、私はほとんど何もしていません。数行の文を書いただけで、Cursorがすべて変更し、CSS、JavaScript、その他のコードを書いてくれました。
Cursorはプロジェクトのコンテキストを把握し、APIを通じてリモートでClaudeを使用します。ウェブページにアクセスする必要はありません。多くの開発者が現在このような方法で開発しています。
これらのツールはますます精巧になっています。初期の段階では「Control+K」でこの行のコードをこのように変更してくださいという単純な操作ができるだけでした。次に「Command+L」でコードの一部を説明する機能が追加されました。そしてCursorは「Command+I」でComposerと呼ばれるツールを提供するまでに進化しました。特に新しいエージェント統合により、Composerはコードベース上で自律的に動作するエージェントとなり、コマンドを実行し、必要に応じて複数のファイルを変更できます。
このような開発スタイルは「Vibe coding」と呼ばれることがあります。この言葉は私が作ったかもしれませんが、基本的にはComposerに制御を委ね、指示を出し、それが機能することを期待するスタイルを指します。万が一うまくいかなくても、従来のプログラミングに戻ることができます。ファイルはすべて手元にあり、CSS等のすべてを検査して任意に変更できます。プログラマーとして、原則的にはこれを任意に変更できますが、今や低レベルのプログラミングの多くを代行してくれる非常に有用なアシスタントが存在するのです。
例として、Tic-Tac-Toeゲームで「XまたはOが勝った時に紙吹雪エフェクトを表示したい」という要望を試してみましょう。Cursorのエージェントは「react-confetti」というライブラリを使用することを提案し、インストールした後、アプリケーションを更新してこの機能を実装しました。コードを分析すると、confettiのインポート、勝利時の紙吹雪表示のためのコード、勝利セルを強調するためのCSSスタイルが追加されていることがわかります。さらにエージェントは勝利時にサウンドエフェクトを追加するという野心的な提案もしました。
このComposer機能を使ってアプリケーションをリフレッシュすると、新しい効果が表示されています。ゲームをプレイして勝利すると、実際に紙吹雪と音響効果が機能することが確認できました。私はサウンドファイルがどこから来たのかわかりませんでしたが、おそらくこのURLは多くのリポジトリに表示されるため、Claudeがそれを知っていたのかもしれません。
このようにCursorを使ったプロフェッショナルなコード開発環境は、LLMの力を実際の開発ワークフローに統合する強力な方法を提供しています。必要に応じて標準的なプログラミングに戻ることもできますが、多くの定型作業はLLMに委任できるようになっています。
12.2. Composerの機能と使用例
Cursorの中でも特に注目すべき機能が「Composer」です。これは「Command+I」で起動できる機能で、コードベース全体を分析して自律的に動作するAIエージェントとして機能します。Composerの特徴と実際の使用例を紹介します。
Composerの進化は、Cursorの機能拡張の歴史を反映しています。最初は「Command+K」でコードの一部を変更する単純な機能から始まり、「Command+L」でコードの説明を求める機能が追加されました。そして現在では「Command+I」で起動するComposerが、コードベース全体に対する包括的な操作を可能にしています。
Composerの最も優れた点は、エージェント統合によってコードベース全体にわたる変更を自律的に行える点です。複数のファイルを横断して編集し、必要なコマンドを実行し、開発者の意図を理解して実装する能力を持っています。基本的に開発者は高レベルの指示を出すだけで、詳細な実装はComposerに任せることができるのです。
具体的な使用例として、シンプルなTic-Tac-Toeゲームの拡張を紹介しました。「XまたはOが勝った時に紙吹雪エフェクトを表示したい」という単純な指示だけで、Composerは以下の作業を自律的に実行しました:
- 「react-confetti」というライブラリの提案とインストール
- アプリケーションの主要ファイル(app.tsx)の更新
- 紙吹雪表示のためのコードの実装
- 勝利セルを強調するためのCSSスタイルの追加
- さらに追加機能として勝利時のサウンドエフェクトの実装
特筆すべきは、これらの変更がファイル横断的に行われたことです。Composerはコンポーネントの状態管理、イベントハンドリング、スタイリング、外部ライブラリの統合など、複雑な実装の詳細をすべて処理しました。開発者が明示的に要求していなかったサウンドエフェクトのような拡張機能も提案し、実装しています。
Composerの使用は「Vibe coding」と呼ばれる新しいプログラミングパラダイムを可能にしています。このアプローチでは、開発者は細かい実装の詳細ではなく、「何を」実現したいかに集中し、「どのように」実現するかをAIに委任します。これにより開発プロセスが大幅に加速します。
重要な点として、Composerの支援に完全に依存する必要はなく、いつでも通常のプログラミングに戻ることができます。すべてのファイルは通常通りアクセス可能で、必要に応じて手動で編集できます。これは安全ネットとして機能し、AIが意図しない方向に進んだ場合でも、開発者が制御を取り戻せることを保証します。
Composerのような高度なコード生成・編集ツールは、低レベルのプログラミング作業の多くを自動化しながらも、開発者の創造性と判断を補完する役割を果たしています。これはLLMがプロフェッショナルな開発環境に統合される具体的な例であり、より高いレベルの抽象化で作業できるようになり、開発者の生産性を大幅に向上させています。
12.3. Vibeコーディングの概念
「Vibe coding」とは、私が恐らく作り出した言葉で、LLMを活用した新しいプログラミングアプローチを指します。この方法では、開発者はCursorのComposerのようなAIツールに高レベルの指示を出し、制御を委ね、その結果を期待します。
従来のプログラミングでは、開発者がコードの各行を注意深く考え、書き、デバッグするのに対し、Vibeコーディングでは開発者は主に「何を」実現したいかを伝え、「どのように」実現するかの詳細をAIに任せます。これは根本的なパラダイムシフトを表しています。
私がTic-Tac-Toeアプリの例で示したように、「勝利時に紙吹雪効果を追加したい」という単純な指示だけで、Composerはそのタスクを完了するために必要なすべてのステップを自律的に実行しました。ライブラリのインストール、コードの更新、スタイルの追加、さらには音響効果の実装まで、すべてがシームレスに実行されました。
このアプローチの利点は明らかです:
- 開発者は実装の低レベルの詳細ではなく、製品のビジョンに集中できる
- 定型的なコーディング作業を大幅に削減できる
- 実装速度が格段に向上する
- コードベース全体の一貫した変更が可能になる
一方で、Vibeコーディングは完全な自律性を意味するわけではありません。重要なのは、いつでも従来のプログラミングに戻れる点です。「worst comes to worst」(最悪の場合)、開発者はファイルを直接編集し、生成されたコードを検査・変更できます。これは安全ネットとして機能し、AIが意図しない方向に進んだ場合でも、開発者が制御を取り戻せることを保証します。
Vibeコーディングの実践では、開発者とAIの間の協力関係が重要です。開発者はプロジェクトの方向性と意図を設定し、AIはその実現のための技術的詳細を処理します。これは指揮者とオーケストラの関係に似ています。指揮者は全体的なビジョンを提供し、オーケストラのメンバーはそれを実現するために自分の専門知識を発揮します。
この新しいプログラミングパラダイムは、コード作成の民主化と開発者の役割の変化を促進しています。技術的な実装の詳細に精通していなくても、明確なビジョンと適切な指示があれば、複雑なアプリケーションを作成できるようになりつつあります。これにより、ソフトウェア開発はより幅広い人々にアクセス可能になり、創造的な可能性が拡大しています。
Vibeコーディングは恐らく将来のソフトウェア開発の一面を垣間見せるものです。開発者の役割が低レベルのコード実装から、高レベルの設計と方向性の決定へと移行する可能性を示唆しています。
12.4. 実験: Tic-Tac-Toeアプリケーションの短時間での開発
Cursorの能力を実証するために、私は実際に簡単なTic-Tac-Toeアプリケーションを数分で開発する実験を行いました。この過程は、Vibeコーディングがいかに効率的であるかを示す良い例です。
最初に、私はCursorで完全に新しいプロジェクトを立ち上げ、Composerに対して「新しいReactリポジトリをセットアップして、多くのボイラープレートを削除し、シンプルなTic-Tac-Toeアプリを作成してほしい」と依頼しました。実際には、私が書いたのは5つの文だけで、あとはすべてCursorが処理しました。
Composerは自律的に作業を進め、CSS、JavaScript、その他必要なコードをすべて生成しました。生成されたアプリケーションは、ローカルホストで実行して直接ブラウザでテストできる状態になっていました。基本的なゲーム機能がすべて実装されており、プレイヤーが交互に手を打ち、勝利条件の判定も正しく行われていました。
アプリの基本機能が完成した後、さらに拡張機能を追加してみることにしました。「XまたはOが勝った時に紙吹雪効果を追加したい」と依頼したところ、Composerは「react-confetti」というライブラリを提案し、インストールして、必要なコードを実装しました。
興味深いことに、Composerは指示した以上のことを実行しました。紙吹雪効果だけでなく、勝利したセルを視覚的に強調するスタイルも追加し、さらに勝利時のサウンドエフェクトも実装したのです。私はサウンドファイルがどこから取得されたのか疑問に思いましたが、おそらくこれは多くのコードリポジトリに出現するURLであり、Claudeの知識の一部になっていたのでしょう。
アプリケーションをテストすると、すべての機能が実際に動作しました。ゲームをプレイして勝利すると、画面に紙吹雪が舞い、勝利したラインが強調表示され、勝利音が鳴りました。これらすべてが、私が書いたコードは一行もなく実現されたのです。
この実験を通じて、Vibeコーディングの強力さが明らかになりました。従来のアプローチでは、このような機能を実装するには、React.jsの知識、状態管理の理解、外部ライブラリの調査とインストール方法の知識、サウンド再生の実装方法など、多くの専門知識が必要でした。しかし、Cursorを使うことで、高レベルの指示だけで複雑な機能を実装することができました。
もちろん、生成されたコードをすべて把握することは重要です。私は生成されたコードを調べ、どのように実装されているかを確認しました。これにより、必要に応じて手動で調整を加えることも可能です。Vibeコーディングの真の価値は、ルーチン作業を自動化しながらも、開発者が最終的な制御を維持できる点にあります。
この短時間での開発実験は、AIがソフトウェア開発をどのように変革しつつあるかを示す好例です。アイデアから動作するアプリケーションまでの時間が大幅に短縮され、開発者はより創造的な側面に集中できるようになっています。
13. 音声入力/出力
13.1. システム全体の音声入力(マイク使用)
これまで私たちが話してきたすべての内容は、テキストを通じてモデルとやり取りする方法に関するものでした。私たちはテキストを入力し、モデルはテキストで返答します。しかし、より自然な人間の形式でモデルとやり取りすることも可能です。ここでは、音声入力についてお話しします。
私自身の使用状況では、デスクトップではキーボードでタイプする場合が約50%、残りの50%はモデルに直接話しかけています。スマートフォンではさらにその傾向が強まり、クエリの約80%は音声で行っています。単純に、スマホでタイプするのが面倒だからです。
スマートフォンアプリでは音声入力が簡単です。Chat GPTアプリを例にすると、マイクアイコンとオーディオアイコンの2つの音声モードがあります。マイクアイコンは音声を聞き取ってテキストに変換する機能です。アプリを開いて新しい会話を始め、マイクボタンを押して「空が青い理由は何ですか?それは海を反射しているからですか?」と質問すれば、アプリが音声をテキストに変換し、送信ボタンを押せば応答が得られます。
しかし、デスクトップでは状況が少し複雑です。Chat GPTのデスクトップ版にはマイクアイコンがないため、音声をテキストに変換する機能が組み込まれていません。そこで私はMacBookで「Super Whisper」のようなアプリを使用しています。このアプリはシステム全体で使用できる音声認識ツールで、特定のキー(私の場合はF5)を割り当てて、音声入力を活性化します。
使用方法はシンプルです。F5キーを押して「質問があります。空が青いのはなぜですか?海を反射しているからですか?」と話し、再度F5を押すと、その音声がテキストに変換されてクリップボードに保存されます。そのテキストをChat GPTの入力欄に貼り付けるだけです。
この方法で私の質問の約半数を処理しています。製品名や特定のライブラリ名など、正確な転写が難しいものについては手動で入力しますが、日常的な多くのクエリでは音声入力が十分機能します。音声入力は、タイピングよりも遥かに速く、労力も少なくて済みます。
出力側では、多くのアプリがテキストを音声に変換するオプションを提供しています。Chat GPTでは「読み上げる」アイコンがあり、モデルの応答を音声で聞くことができます。Claudeやその他のLLMアプリも同様の機能を持っていることがあります。もしアプリに読み上げ機能がない場合は、システム全体で機能するテキスト読み上げアプリをダウンロードして使用することもできます。
重要なポイントは、音声入力を活用してタイピングの労力を省くことです。音声入力は非常に効果的で、私の場合はクエリの半分以上をこの方法で行っています。単に怠け者だからというだけでなく、音声入力の方がはるかに速いからです。
しかし、これまで説明した音声入力はモデル自体が直接処理しているわけではなく、「偽の音声」と呼べるものです。実際には音声からテキストへの変換モデルを使用して前処理し、LLMとのやり取りはテキストベースで行われています。次のセクションでは、モデル内部で直接処理される「真の音声」モードについて説明します。
13.2. デスクトップでの音声認識アプリの活用(Super Whisper等)
デスクトップ環境でLLMと音声で対話するには、Webアプリケーション自体にマイク機能が内蔵されていないケースが多いため、システム全体で機能する音声認識アプリを活用する必要があります。私が日常的に使用している方法を詳しく説明します。
MacBookなどのデスクトップ環境では、Super Whisper、Whisper Flow、Mac Whisperといった専用の音声認識アプリが非常に便利です。私が現在使用しているSuper Whisperは特に優れた性能を発揮します。これらのアプリの仕組みは以下の通りです:
- アプリをダウンロードしてMacBookにインストールします
- システム常駐型のアプリとして常にバックグラウンドで待機します
- キーボードショートカットを割り当てて音声認識を起動・停止できます(私の場合はF5キー)
実際の使用方法は非常にシンプルです:
- F5キーを押すと音声認識が始まります
- 質問や指示を話します(例:「空が青い理由は何ですか?海を反射しているからですか?」)
- 再度F5キーを押すと音声認識が終了し、認識されたテキストがクリップボードにコピーされます
- Chat GPTやClaudeなどのLLMの入力欄に貼り付けるだけです
私の日常的な使用パターンでは、約半分のクエリをこの方法で行っています。特に単純な質問や日常的な会話では、タイピングの手間を省くことができ、非常に効率的です。ただし、製品名、プログラミングライブラリ名、専門用語など正確なスペルや表記が重要な場合は、タイピングで入力することもあります。
音声認識アプリの選択にあたっては、以下の点を考慮するとよいでしょう:
- 認識精度:母国語だけでなく、外国語や専門用語にも対応しているか
- 使いやすさ:ショートカットキーの設定や起動のしやすさ
- バックグラウンド動作:システムリソースを過度に消費しないか
- プライバシー:音声データがどのように処理されるか
Super Whisperの場合、認識精度は非常に高く、システム全体で使用できる柔軟性があり、ショートカットキーのカスタマイズも可能です。また、認識結果を自動的にクリップボードにコピーする機能は、ワークフローを大幅に効率化します。
この「システム全体の音声入力」アプローチは、単にLLMとの対話だけでなく、メールの作成、メモの取り込み、検索クエリの入力など、さまざまな用途に活用できます。音声入力がタイピングよりも数倍速いケースも多く、特に移動中や他の作業をしながらなど、キーボードを使いにくい状況で威力を発揮します。
音声認識技術はここ数年で大幅に進化し、以前は扱いにくかった方言や専門用語も正確に認識できるようになっています。このようなツールを活用することで、LLMとのやり取りがより自然で直感的になり、創造的な思考や問題解決に集中できるようになるのです。
13.3. テキスト読み上げ機能
LLMとのやり取りにおいて、入力側だけでなく出力側でも音声が活用できます。テキストを音声に変換する機能は、情報を聞きながら他の作業を行ったり、視覚的に画面を見る必要がない状況で利用したりする際に非常に便利です。
多くのLLMアプリには、モデルの応答をテキストから音声に変換する機能が組み込まれています。例えばChat GPTでは、「読み上げる」(Read aloud)という音声アイコンがあります。このアイコンをクリックすると、モデルの応答が音声で読み上げられます。この機能はテキストを取り、音声合成モデルに渡して音声に変換するという、入力時と逆のプロセスを行います。
テキスト読み上げ機能の品質は、使用するアプリによって異なります。Chat GPT、Claude、Geminiなどの主要なLLMアプリにはこの機能が搭載されていますが、イントネーション、感情表現、自然さなどの点で差があります。最近のモデルでは、かなり自然な発声や抑揚を実現しています。
音声出力が組み込まれていないアプリを使用している場合は、システム全体で機能するテキスト読み上げアプリを利用することもできます。これらのアプリを使えば、任意のテキストを選択して音声で聞くことができます。MacやWindowsには基本的なテキスト読み上げ機能が組み込まれていますが、より高品質な音声を求める場合は専用のアプリが役立ちます。
テキスト読み上げ機能の主な利点は以下の通りです:
- マルチタスク:応答を聞きながら他の作業を行うことができます
- アクセシビリティ:視覚障害のある人や読み取りに困難がある人にとって重要な機能です
- 情報吸収:聴覚を通じて情報を処理することで、異なる記憶パターンが活性化されます
- 疲労軽減:長時間の画面読み取りによる目の疲れを軽減できます
この機能を使えば、長い説明や解説を聞きながら、メモを取ったり関連情報を調べたりすることができます。例えば、プログラミングの解説を聞きながらコードを書いたり、歴史的な説明を聞きながら地図を見たりすることが可能です。
ただし、これまで説明した音声入出力はすべて「偽の音声」と呼べるものです。実際には、音声からテキストへの変換、またはテキストから音声への変換モデルを使用して、LLMとのやり取りをテキストベースで行っています。次のセクションでは、モデル内部で直接処理される「真の音声」モードについて説明します。このより高度なアプローチでは、音声がモデル内で直接処理され、テキストを介さずに双方向の音声対話が可能になります。
13.4. 入力時間短縮のためのプラクティス
音声入力を効果的に活用するためのプラクティスをいくつか紹介します。私の経験から、LLMとの対話において入力時間を大幅に短縮できる方法をまとめました。
まず、音声入力を習慣化することが重要です。私の場合、デスクトップでは質問の約50%、モバイルではおよそ80%を音声で行っています。単に怠け者だからではなく、音声入力が圧倒的に速いからです。特に移動中やキーボードから離れている状況では、音声入力が非常に便利です。
デスクトップでの効率的な音声入力のための主なプラクティスとして:
- アクセスしやすいショートカットキーを設定する(私の場合はF5キー)
- 環境に合わせた発声練習をする(明瞭に、適切な速さで)
- 音声認識が苦手な単語・フレーズのパターンを把握する
- 専門用語や固有名詞は手動入力に切り替える習慣をつける
また、音声とタイピングを組み合わせる「ハイブリッド」アプローチも効果的です。例えば、質問の主要部分を音声で入力し、特定の専門用語や正確なスペルが必要な部分はタイピングで補完するという方法です。
音声入力の品質を向上させるコツとしては:
- 静かな環境で録音する
- マイクに適切な距離で話す
- 明確に発音する
- 文章として話す(単語の列挙ではなく)
- ポーズと句読点を口頭で指示する(「ピリオド」「カンマ」と言う)
最後に、音声入力は時間短縮だけでなく、思考の流れを維持するのにも役立ちます。タイピングで文章を組み立てる代わりに、自然な会話のように考えを声に出すことで、より流暢かつ自然な形でLLMと対話できます。
音声入力を活用することで、LLMとの対話が大幅に効率化され、より多くの質問や探索が可能になります。特に日常的な情報検索や創造的な思考を必要とするタスクでは、音声入力の活用が作業効率を大きく向上させるでしょう。
14. 高度な音声モード(モデル内の真のオーディオ処理)
14.1. 音声をトークンとして扱う技術
これまで私たちが説明してきた音声入出力は「偽の音声」とでも呼ぶべきものでした。私たちはテキスト入力を音声で代替し、テキスト出力を音声で読み上げるということをしていましたが、実際のLLMとのやり取りはテキスト(トークン)を介して行われていました。しかし、現在では「真の音声」処理を行う技術も開発されています。
この技術の核心は、音声をテキストと同様にトークン化する能力にあります。テキストを小さな単位(トークン)に分割するのと同じように、音声も小さな単位に分割できます。その方法は以下の通りです:
音声はスペクトログラムに分解されます。これは音声内の異なる周波数を可視化する方法です。このスペクトログラムを小さな窓(ウィンドウ)で区切り、それらを量子化します。つまり、約10万種類の可能な「小さな音声チャンク」のボキャブラリーを作成し、実際の音声の各部分を最も近いボキャブラリー内のチャンクにマッピングします。
この処理により、音声をトークンのシーケンスとして表現できるようになります。テキストがトークンのシーケンスであるのと同じように、音声もトークンのシーケンスとなります。そして、モデルはこれらの音声トークンを理解し、音声トークンを生成することができるようになります。
重要なのは、テキストトークンと音声トークンの扱いに根本的な差異はないということです。ニューラルネットワーク自体は、一部のトークンがテキストを表し、一部が音声を表していることを知りません。モデルはただ統計的パターンをモデル化するだけです。トークンがテキストか音声かの区別は、エンコーダーとデコーダーのレベルでのみ重要になります。
この技術により、モデルは音声を直接聞き取り、音声で直接応答することができます。テキストへの変換や読み上げという中間ステップを必要としません。これにより、より自然で流暢なインタラクションが可能になります。また、テキスト変換では失われるイントネーションやニュアンスなどの情報も保持できます。
この技術はOpenAIでは「Advanced Voice Mode」(高度な音声モード)と呼ばれており、Chat GPTのプラットフォームで利用可能です。Anthropicのモデルでは「Extended Mode」(拡張モード)として提供される可能性があります。この機能はプラットフォームによって異なる名称で呼ばれていますが、基本的な技術は同じです。
14.2. 音声個性の変更能力の実演(ヨーダ、海賊など)
「高度な音声モード」の最も印象的な機能の一つは、さまざまな音声個性を使い分ける能力です。実際にChat GPTの高度な音声モードで試した実験を紹介します。
高度な音声モードを使うと、LLMは単に情報を伝えるだけでなく、さまざまなキャラクターや話し方のスタイルで応答することができます。例えば、私がChat GPTに「普通に話す代わりに、ヨーダの声で話してください。あなたが非常に賢く見えるように」と依頼した実験では、モデルは実際にヨーダのような特徴的な話し方で応答しました。
「青い空は現れる、散乱するからだ、大気中で太陽光の短い波長が、うむ」というように、ヨーダ特有の倒置法や言い回しを用いて応答しました。これは単なるテキストの言い換えではなく、音声トークンの生成パターンを変化させることで実現されています。
次に「海賊のように話してください」と依頼すると、「アーメイティ!空が青いのは、太陽光の短い波長が大気中で散乱するからじゃ!」というように、海賊らしい口調と特徴的なアクセントで応答しました。
このような音声個性の切り替えは、以前のテキスト読み上げモデルでは不可能だったか、非常に限定的でした。しかし、音声をトークンとして直接扱う「真の音声」モードでは、モデルは音声の特性自体を操作できるため、より本格的なロールプレイや没入型の体験が可能になります。
他にも様々な実験を行いました。例えば「1から10まで数えてください、できるだけ速く」と依頼したところ、モデルは高速でカウントしました。しかし「もっと速く」と指示すると、さらに速度を上げて対応しました。
この実験で興味深かったのは、モデルが音声の高さ、速度、リズム、アクセントなどの特性を制御できることです。これは単なるテキスト生成からは実現できない機能です。
ただし、すべての要求に応じるわけではありません。例えば動物の鳴き声を真似するよう依頼した際は、「実際の動物の音を出すことはできない」と最初は断りました。これはモデルのポリシー制限によるものと思われますが、面白いことに、特定のケースでは無意識に音響効果を生成することもありました。
この音声個性の変更能力は、エンターテイメント目的だけでなく、教育やアクセシビリティの観点からも価値があります。例えば、言語学習で異なるアクセントを聞く練習や、子供向けのインタラクティブなストーリーテリングなど、様々な応用が考えられます。
14.3. 音声速度や表現の制御
高度な音声モードでは、音声速度や表現方法を細かく制御できることも大きな特徴です。この機能について、私の実験結果をもとに説明します。
音声速度の制御は、高度な音声モードの基本的な機能の一つです。私はChat GPTに「1から10まで数えてください、できるだけ速く」と依頼し、モデルは比較的速いペースで数え上げました。しかし私が「もっと速く」と指示すると、さらに速度を上げて「1, 2, 3, 4, 5, 6, 7, 8, 9, 10」と数えました。さらに「1から20まで数えて、もっと速く」と依頼すると、驚くべき速さで数え上げました。
この実験から分かるのは、モデルが単に異なるテキストを生成しているのではなく、実際に音声トークンの生成速度自体を制御できるということです。これは従来のテキスト読み上げでは実現困難な機能です。
表現面での制御も顕著です。同じ質問(「空が青い理由」など)でも、異なる表現方法で応答できます:
- 通常の説明的な口調
- ヨーダのような特徴的な話し方
- 海賊のようなアクセントと情熱的な語り口
- 物語を語るようなエンゲージングなトーン
特に印象的だったのは、「青い空を発見している少女についての物語を語って」と依頼した際の反応です。モデルはストーリーテリングに適した温かみのある口調で、エンゲージングな物語を語り始めました。声のトーン、リズム、間の取り方など、すべてが物語に合わせて調整されていました。
また、音声モードでは感情表現も可能です。驚き、喜び、困惑、熱意などの感情をトーンやリズムで表現できます。これは単なるテキスト生成では伝えられないニュアンスを提供します。
この機能の実用的な応用としては:
- 教育コンテンツ:子供向けのストーリーテリングや説明
- アクセシビリティ:視覚障害のある人への情報提供
- 言語学習:様々な話し方やアクセントの実演
- エンターテイメント:インタラクティブな対話型体験
ただし、この高度な音声機能には現在いくつかの制限もあります。例えば、一部のモデルは特定の音声模倣(動物の鳴き声など)を拒否したり、「適切でない」と判断した表現を避けたりします。これらの制限は技術的な限界というよりは、サービス提供者の方針によるものと考えられます。
音声速度や表現の制御は、LLMとのインタラクションをより豊かで自然なものにする重要な一歩です。テキストだけでは伝えられないニュアンスや感情を含めたコミュニケーションが可能になることで、人間とAIのインターフェースは新たな段階に進化しています。
14.4. 音声機能の制限と可能性
高度な音声モードは革新的な技術ですが、現時点ではいくつかの制限も存在します。私の経験から、これらの制限と将来の可能性について考察してみます。
現在の主な制限としては、まず「保守的な応答傾向」が挙げられます。私がChat GPTの高度な音声モードを試した際、音声模倣の要求(例:「キツネの鳴き声を真似してください」)に対して、モデルは「動物の音を出すことはできません」と断りました。これは技術的な限界ではなく、サービス提供者のポリシーによるものと考えられます。
また、音声モードは通常のテキストモードと比較して「応答速度が遅い」という問題もあります。音声トークンの処理と生成には追加の計算リソースが必要なため、リアルタイムの流暢な会話には若干の遅延が生じます。
さらに、現時点では「提供サービスの限定」も課題です。高度な音声機能は全てのLLMで利用できるわけではなく、特定のプラットフォーム(Chat GPT、Grock等)の特定のサブスクリプションプランでのみ利用可能です。例えば、Claudeはこの執筆時点では拡張音声モードを持っていませんが、将来的に実装される可能性があります。
一方、この技術の可能性は非常に大きいものがあります:
- 言語学習の革新:様々なアクセント、話速、言語スタイルをリアルタイムで再現できる音声モデルは、言語学習に革命をもたらす可能性があります。学習者は異なるアクセントを聞き分け、実際の会話に近い環境で練習できるようになります。
- アクセシビリティの向上:視覚障害のある人々や読み書きに困難を抱える人々にとって、自然で表現豊かな音声インターフェースは情報へのアクセスを大幅に改善します。
- マルチモーダルインタラクション:音声、テキスト、画像を組み合わせたマルチモーダルなコミュニケーションが可能になり、より豊かで直感的なインターフェースが実現します。
- 音声バーチャルアシスタントの進化:単調な音声ではなく、状況に応じて適切なトーンや話し方を選択できる、より人間らしいバーチャルアシスタントが可能になります。
将来的には、音声トークンの処理技術がさらに発展し、リアルタイム性の向上、より多様な音声表現、複数の話者の区別など、より高度な機能が実現されるでしょう。また、現在の制限の多くはポリシー上の判断によるものであり、技術の成熟とともに緩和される可能性もあります。
音声モードは単なる便利な機能ではなく、人間とAIのコミュニケーション方法を根本的に変える可能性を秘めています。テキストでは伝えられないニュアンス、感情、個性を含んだ対話が可能になり、より自然で豊かなインタラクションが実現するでしょう。
15. NotebookLM とポッドキャスト生成
15.1. トピックに基づくカスタムポッドキャスト生成
Googleが提供するNotebookLMは、LLMを活用したもう一つのパラダイムとして注目すべきサービスです。NotebookLMの特徴は、任意のデータからカスタムポッドキャストを生成できる機能にあります。
NotebookLMの基本的な使い方は次のようになっています。まず、左側にソースを配置します。これは生のテキスト、ウェブページ、PDFファイルなど、任意のデータを指します。例えば、私はArc Instituteの「ゲノム配列分析のための基盤モデル」に関するPDFをアップロードしました。このデータがアップロードされると、LLMのコンテキストウィンドウに入り、それに基づいて質問したり回答を得たりすることができます。
しかし、NotebookLMの最も興味深い機能は右側にある「Deep Dive Podcast」です。ここに「生成」ボタンがあり、これを押すと数分待つだけで、アップロードしたソース情報に基づいたカスタムポッドキャストが生成されます。先ほどの例では、このペーパーに関する約30分のポッドキャストが生成されました。
カスタムポッドキャストの実例を聞いてみると、非常に自然な会話形式で情報が提供されます:「DNAを理解するAIについて掘り下げましょう。単に読み取るだけでなく、変化が単一のタンパク質から生物全体にどのように影響するかを予測できる、本当に興味深いものです。Evo 2と呼ばれる新しい生物学的基盤モデルがあり、これはまさにその最前線にあります...」といった具合です。
ポッドキャスト生成には、カスタマイズ機能もあります。特別な指示でポッドキャストの内容や形式を調整し、再生成したり、「インタラクティブモード」に入ることもできます。インタラクティブモードでは、ポッドキャストの途中で質問を挟むことができ、これは非常に興味深い機能です。
私はこの機能を、専門外の分野や受動的に興味のある話題の情報を得るときによく利用しています。例えば、散歩や長いドライブの際に、特定のニッチな話題に関するポッドキャストを聴きたいと思ったとき、人間が作成した既存のポッドキャストではカバーされていないような話題でも、NotebookLMを使えば簡単に生成できます。
また、私は「Histories of Mysteries」というポッドキャストシリーズをSpotifyにアップロードしました。これは興味のある話題を選び、NotebookLMでディープダイブポッドキャストを生成したものです。この機能がどのようなものか感覚を掴みたい方は、Spotifyでこのポッドキャストを聴いてみることをお勧めします。そして自分自身でもドキュメントやソースを使って試してみてください。
NotebookLMによるポッドキャスト生成は、LLMの可能性を広げる一例です。テキストだけでなく、音声コンテンツとしての情報提供方法を革新し、ユーザーが情報を消費する新しい方法を提供しています。
15.2. インタラクティブモードの機能
NotebookLMのポッドキャスト生成機能において、「インタラクティブモード」は特に革新的な機能です。このモードでは、受動的にポッドキャストを聴くだけでなく、リアルタイムで対話できる環境を提供します。
インタラクティブモードの主な特徴は、ポッドキャストの進行中に質問を挟むことができる点です。例えば、ゲノム配列分析のポッドキャストを聴いている最中に「Evo 2モデルがどのようにして既存のモデルと比較して改善されたのか」といった質問を投げかけることができます。システムはポッドキャストを一時停止し、質問に対する回答を提供した後、元のポッドキャストの流れに戻ります。
このインタラクティブな性質により、通常のポッドキャストでは不可能だった体験が実現します。自分のペースで情報を掘り下げることができ、理解できなかった概念について即座に説明を求めることができます。まるで個人チューターと会話しているような感覚です。
インタラクティブモードには別の利点もあります。アップロードした情報源に基づいて生成されたポッドキャストについて疑問が生じた場合、その情報の出処や詳細について直接質問することができます。例えば「今言及した統計データはどの研究から引用されたものですか?」といった確認ができます。
この機能は特に複雑な学術論文や技術文書を理解しようとしている場合に役立ちます。ポッドキャストが専門用語や概念を使用した際、それらの定義や背景について追加の説明を求めることができるのです。
インタラクティブモードは、情報消費と探索の新しいパラダイムを示しています。受動的な消費と能動的な探究のハイブリッドとして機能し、ユーザーは自分の関心や理解度に合わせて情報の深さを調整できます。これは従来のメディア形式では不可能だった体験です。
この機能は、教育、研究、専門的な学習など、様々な文脈で価値を提供します。特に専門外の分野に足を踏み入れようとしている人々にとって、この対話型の探索方法は複雑なコンセプトへのアクセスを容易にします。
15.3. ニッチなトピックやソースに基づくコンテンツ作成
NotebookLMの最も価値ある側面の一つは、ニッチなトピックやソースに基づいたカスタムコンテンツを作成できることです。私の経験から、この機能が特に役立つシナリオをいくつか紹介します。
NotebookLMは、既存のメディアではカバーされていないような専門的なトピックを探索したい場合に非常に有効です。例えば、私はゲノム配列分析に関する学術論文をアップロードしました。この分野は一般的なポッドキャストではほとんど取り上げられませんが、NotebookLMを使えば、数分でこの複雑なトピックに関するポッドキャストを生成できます。
特に有用なのは、複数のソースを組み合わせてユニークなコンテンツを作成できる点です。例えば、特定の歴史的事件について異なる視点から書かれた複数の文書をアップロードし、それらの情報を統合したポッドキャストを生成することができます。これにより、単一のソースではなく、多角的な視点から情報を得ることができます。
私がSpotifyにアップロードした「Histories of Mysteries」シリーズでは、古代文明の謎、失われた宝物、解決されていない歴史的事件など、個人的に興味を持っている様々なトピックを選びました。各エピソードは、それぞれのトピックに関連する複数のソースに基づいて生成されています。
NotebookLMを使う際のプラクティスとしては、まず高品質なソース資料を選ぶことが重要です。学術論文、信頼性の高い書籍、専門家のブログ記事など、質の高い情報源を使用することで、生成されるコンテンツの質も向上します。また、ポッドキャスト生成前に特別な指示を追加することで、特定のアスペクトに焦点を当てたり、特定のスタイルでコンテンツを作成したりすることができます。
NotebookLMのもう一つの利点は、自分のペースで情報を消化できる点です。複雑な概念や専門的な内容を含む文書を読むのではなく、散歩中や通勤中に聴くことができるポッドキャスト形式に変換できます。これにより、通常なら取り組むのが難しいかもしれない複雑なトピックにも気軽にアクセスできるようになります。
このツールは、専門分野の研究者だけでなく、好奇心旺盛な一般の人々にも適しています。自分の興味のあるニッチなトピックについて、既存のメディアコンテンツを待つ必要なく、すぐに探索を始めることができます。
総じて、NotebookLMによるニッチなトピックのコンテンツ作成は、情報消費と学習の新しい可能性を開いています。従来のメディア制作の制約を超え、個人の興味や必要性に合わせたカスタムコンテンツを簡単に作成できるようになりました。
15.4. ポッドキャスト「Histories of Mysteries」の例
NotebookLMの能力を示す具体例として、私が作成した「Histories of Mysteries」というポッドキャストシリーズを紹介したいと思います。このプロジェクトは、NotebookLMがどのようにして個人の興味に基づいたカスタムオーディオコンテンツを生成できるかを実証するものです。
「Histories of Mysteries」は、私が個人的に興味を持っているさまざまな歴史的謎や未解決の事件、失われた宝物、古代文明の謎などをテーマにしています。各エピソードを作成するために、私はそれぞれのトピックに関する信頼性の高い情報源をNotebookLMにアップロードし、それらの情報に基づいたポッドキャストを生成しました。
例えば、あるエピソードでは古代文明のテクノロジーについて探求し、別のエピソードでは歴史上の未解決事件に焦点を当てました。各トピックについて、私は学術論文、歴史書、信頼性の高いウェブサイトなどから情報を集め、NotebookLMにアップロードしました。
このポッドキャストシリーズの興味深い点は、各エピソードが完全にAIによって生成されているにもかかわらず、自然な会話の流れと説得力のある語り口を持っていることです。まるで歴史に詳しい二人の話者が対話しているような形式で、複雑な歴史的トピックを分かりやすく解説しています。
私はこのポッドキャストをSpotifyにアップロードしました。これにより、NotebookLMの能力を自分で体験するだけでなく、生成されたコンテンツを広く共有することができました。聴取者からのフィードバックによれば、AIが生成したとは思えないほど自然で情報豊かなコンテンツだという評価をいただいています。
「Histories of Mysteries」の各エピソードは約20〜30分の長さで、散歩や通勤中に聴くのに最適です。トピックの選択から情報源のアップロード、ポッドキャストの生成まで、すべてのプロセスは驚くほど簡単で、専門的な音声編集スキルがなくても高品質なオーディオコンテンツを作成できることを示しています。
このプロジェクトは、AIを活用したコンテンツ創造の新しい可能性を示しています。専門的な制作チームやスタジオ設備がなくても、個人の興味に基づいた質の高いオーディオコンテンツを作成できる時代が到来したのです。
NotebookLMのようなツールは、情報消費と創造のデモクラタイゼーションを促進し、誰もが自分の興味や専門知識を共有できる環境を作り出しています。「Histories of Mysteries」はその一例に過ぎませんが、この技術がどれほど創造的な可能性を秘めているかを示しています。
16. 画像入力とOCR
16.1. 栄養ラベル、血液検査結果、数式などの分析例
LLMに画像を提供し、それについて質問できる機能は非常に実用的です。私の経験から、この機能が特に役立った具体的な例をいくつか紹介します。
最初の例は、Brian Johnsonの「Longevity Mix」という健康サプリメントの栄養ラベルです。このサプリメントには多くの成分が含まれていますが、「Ca-AKG」など何が何なのか分からない成分も多くありました。通常であれば、一つ一つの成分をGoogleで検索するところですが、代わりに栄養ラベルの画像をLLMにアップロードしました。
この種の画像分析において私が常に行う最初のステップは、LLMに画像内のテキストを転記してもらうことです。これにより、モデルが画像内の情報を正確に認識しているかを確認できます。LLMが成分リストとその量を正確にテーブル形式で転記した後、「これらの成分をグループ化してください」「安全性の観点からランク付けしてください」といった質問ができました。これにより、どの成分が一般的なマルチビタミンに含まれる基本的なものなのか、どれがより実験的または研究段階のものなのかを理解することができました。
次の例は血液検査結果の分析です。最近、私は20ページにわたる血液検査のPDFレポートを受け取りましたが、これは非常に扱いにくいものでした。そこでLLMを活用し、まず脂質パネルのスクリーンショットをアップロードしました。LLMが数値を正確に認識していることを確認した後、それに基づいた解釈を提供してもらいました。これを検査結果の各セクションに対して繰り返し行いました。
MacBookユーザーにとって、このプロセスは特に簡単です。Control+Shift+Command+4を押して画面の一部を選択し、それをクリップボードにコピーし、LLMに貼り付けるだけです。これにより、画面上の任意の情報について簡単に質問できます。
血液検査結果のような医療情報については、LLMの信頼性が問題になるかもしれませんが、この種の標準的な検査結果は十分に文書化されたトピックであり、LLMの知識はかなり信頼できると考えています。もちろん、重要な医療判断については医師に相談すべきですが、LLMは素晴らしい第一段階の分析と、医師に尋ねるべき質問のアイデアを提供してくれます。
数学や複雑な数式についても、画像入力が非常に役立ちます。最近、私はある論文で難解な数式に遭遇し、その評価方法に関する問題がありました。数式のスクリーンショットをLLMに送り、テキスト形式での表現を求めました。これにより、そのテキスト表現をコピーして、別のLLMに特定の値での評価について質問することができました。
最後の例は、私が使用していたColgate歯磨き粉の成分リストです。成分のほとんどが化学名で、何が何なのか分かりませんでした。画像をアップロードし、LLMに成分の転記と説明を求めました。さらに「どの成分が最も安全で、どれが潜在的に懸念があるか」「歯磨き粉の実際の機能に関係ない成分はどれか」といった質問もしました。LLMの回答によると、多くの成分は着色料や香料など、歯磨き粉の基本的な機能には不要なものでした。これは企業が製品に不必要な成分を含めている実態を知る上で非常に有益でした。
このように、LLMの画像認識と分析能力は、日常生活のさまざまな場面で実用的な価値を提供してくれます。画像に含まれる情報を簡単に理解し、それに基づいた意思決定ができるようになるのです。
16.2. 画像のテキスト化と後続の質問
LLMに画像を提供する際、私が常に採用している重要なワークフローは「テキスト化」です。これは単に画像内の情報をテキスト形式に変換してもらうステップで、多くの理由から非常に重要です。
まず、テキスト化のプロセスについて説明します。例えば、Brian Johnsonの「Longevity Mix」の栄養ラベルを分析する際、最初に私は「この画像のテキストを転記してテーブル形式で表示してください」と依頼しました。LLMはラベル上の全ての成分名と含有量を整理されたテーブルとして提示しました。
このテキスト化ステップが重要な理由は複数あります:
- 認識精度の確認:モデルが画像内の情報を正確に認識しているかを確認できます。数値や専門用語などが誤って解釈されていないかをチェックできます。
- 後続の分析が容易に:テキスト形式になった情報は、後続の質問や分析に使いやすくなります。例えば「成分Aと成分Bの関係は?」といった質問がしやすくなります。
- コピー・編集の可能性:テキスト化された情報は、必要に応じてコピーして別の分析ツールに貼り付けたり、一部を編集したりできます。
- モデルの理解の深化:情報を明示的にテキスト化することで、モデルはその情報をより深く処理し、後続の質問に対してより正確な応答ができるようになります。
テキスト化の後には、段階的に質問を深めていくアプローチが効果的です。例えば、私の血液検査結果の分析では、次のような流れで質問しました:
- 「この検査結果の各値とその参照範囲を表にしてください」(テキスト化)
- 「正常範囲外の値はありますか?それらについて説明してください」
- 「これらの値から見て、改善すべき点はありますか?」
- 「これらの値を改善するために推奨される生活習慣の変更はありますか?」
このような段階的なアプローチにより、単純な画像認識から徐々に深い分析へと進むことができます。
Colgate歯磨き粉の例では、成分リストをテキスト化した後、さらに次のような質問をしました:
- 「これらの成分を機能別にグループ化してください」
- 「どの成分が実際の歯磨き効果に必須で、どれが不要ですか?」
- 「安全性の観点から懸念がある成分はありますか?」
このように、画像のテキスト化は単なる前処理ではなく、情報の正確な理解と深い分析のための重要なステップです。特に数値データや専門用語を含む画像(医療検査結果、栄養ラベル、技術仕様書など)を扱う際には、この手法が非常に有効です。
16.3. 医療情報の解釈と注意点
LLMを使って医療情報、特に血液検査結果などの個人的な医療データを解釈する際には、いくつかの重要な注意点があります。実際に私が血液検査結果をLLMで分析した経験から、このプロセスの利点と制限について説明します。
まず、LLMが医療情報を解釈する場合の適切な使用方法について考えましょう。血液検査のような標準化された結果は、LLMが比較的信頼性高く解釈できる医療情報の一例です。これらの検査は広く行われており、参照範囲や意味について豊富な文献があります。私が20ページにわたる血液検査結果をLLMに分析してもらった際、まず各セクション(脂質パネルなど)のスクリーンショットをアップロードし、正確に数値が認識されていることを確認した上で解釈を求めました。
このプロセスが特に有効である理由は以下の通りです:
- 血液検査結果には標準的な参照範囲があり、これらの情報は医学文献で広く文書化されています
- 各値の一般的な意味と潜在的な影響についての情報は比較的客観的です
- 初期的な理解を得るためのスクリーニングツールとして使用できます
しかし、LLMを医療情報の解釈に使用する際の重要な制限と注意点も理解する必要があります:
- LLMは医療専門家ではなく、診断や治療の助言を提供する資格がありません
- 提供される解釈は一般的な情報に基づいており、個人の完全な医療履歴や状況を考慮していません
- 誤った解釈や不完全な情報に基づいて医療決定を行うリスクがあります
私のアプローチは、LLMを医療情報の「第一のフィルター」として使用することです。例えば、血液検査結果を見て「これらの値は何を意味しますか?」「どの値が参照範囲外ですか?」といった基本的な質問をします。その後、「医師に尋ねるべき重要な質問は何ですか?」と聞くことで、医師との相談をより有意義なものにするための準備ができます。
特に強調したいのは、LLMを医療専門家との相談の代わりではなく、補完として使用すべきという点です。最終的な医療判断や治療決定は常に資格を持つ医療専門家に委ねるべきです。LLMは情報を整理し、理解を深め、より情報に基づいた質問を準備するのに役立ちますが、医療アドバイスの最終的な源泉とはなりません。
また、医療情報をLLMにアップロードする際のプライバシーとセキュリティの問題も考慮する必要があります。個人を特定できる情報は可能な限り編集し、使用するLLMプラットフォームのプライバシーポリシーを理解することが重要です。
LLMは医療情報を理解するための強力な補助ツールとなりえますが、その限界を理解し、専門的な医療アドバイスの代わりとして使用しないことが不可欠です。
16.4. 製品成分の安全性評価
LLMの画像解析能力は、日常的に使用する製品の成分を理解し、その安全性を評価するのに非常に役立ちます。私のColgate歯磨き粉の成分分析の例を詳しく説明しましょう。
ある日、私はColgate歯磨き粉のチューブを手に取り、そこに記載された長い成分リストに疑問を持ちました。「これらの化学物質は一体何なのか?安全なのか?」という素朴な疑問です。そこでLLMに歯磨き粉の成分表の画像をアップロードし、「これらの成分は何ですか?」と尋ねました。
LLMはまず成分リストを正確に転記してくれました。これにより、正確な情報を基に分析できることを確認できました。次に私は「これらの成分の中で最も安全なものと、潜在的に安全性が低いものはどれですか?」と質問しました。LLMは成分を機能と安全性のプロファイルに基づいて分類してくれました。
さらに踏み込んで「歯磨き粉の実際の機能に必要な成分だけを残すとしたら、どの成分が不要ですか?」と質問しました。この質問に対する回答が特に啓発的でした。LLMは成分を2つのカテゴリーに分類しました:
- 歯磨き粉の基本機能(虫歯予防、プラーク除去、口内清浄)に不可欠な成分
- 色、味、質感などの非機能的特性のための成分(実質的に不要なもの)
驚いたことに、多くの成分が2番目のカテゴリーに分類されました。これらは基本的に製品を見た目や感触を良くするためだけのものであり、口腔衛生には直接関係ないものでした。
このプロセスから学んだ重要な点は、製品に含まれる多くの成分が実際の機能には不要であるという現実です。企業は製品を魅力的にするために多くの添加物を使用しており、消費者として私たちはこれを知ることが重要です。
この方法は歯磨き粉だけでなく、スキンケア製品、シャンプー、食品など、あらゆる消費財の成分分析に応用できます。画像をアップロードし、成分の転記と解説を求め、安全性のプロファイルについて質問し、実際の機能に必要な成分と不要な成分を区別するという基本的なプロセスは同じです。
ただし、この種の分析にも限界があることを認識することが重要です。LLMは一般的に入手可能な情報に基づいて応答しており、特定の個人に対する成分の安全性(アレルギーなど)については評価できません。また、最新の研究結果が反映されていない可能性もあります。そのため、LLMによる分析は第一段階の情報源として使用し、特に健康上の懸念がある場合は医療専門家に相談することが望ましいです。
この方法を活用することで、日常的に使用する製品について、より情報に基づいた選択ができるようになります。成分表をただの難解な化学物質名のリストとして見るのではなく、各成分の目的と潜在的な影響を理解することで、私たちは自分の体と環境により良い選択ができるようになるのです。
17. 画像出力(DALL-E、Ideogramなど)
17.1. 画像生成の仕組みと応用
テキスト入力からの画像生成は、LLMの能力がさらに拡張された機能です。ここでは、画像生成の基本的な仕組みと実際の応用例について説明します。
画像生成の技術的な仕組みは、テキストや音声をトークン化する方法と類似しています。まず、画像を小さなパッチに分割し、それぞれのパッチを量子化することで、約10万種類の「画像パッチ」のボキャブラリーの中から最も近いものにマッピングします。これにより、画像もトークンのシーケンスとして表現できるようになります。
この技術を活用した代表的なサービスはOpenAIの「DALL-E」で、現在は3世代目となるDALL-E 3が提供されています。DALL-Eは、テキストのプロンプトから驚くほど美しく詳細な画像を生成できます。例えば、「京都の祇園寺の画像」というプロンプトを与えると、日本の伝統的な寺院の美しい画像が生成されます。
画像生成の応用例としては、以下のような用途があります:
- コンテンツ作成:ブログ記事やプレゼンテーションのための視覚素材
- デザイン探索:製品やインテリアデザインのアイデア出し
- アート創作:新しい芸術表現やコンセプトアートの生成
- 教育素材:概念説明のためのビジュアル作成
特に私が頻繁に利用するのは、クリエイティブな素材作成です。私のYouTubeチャンネルでは、「Let's reproduce GPT-2」などの動画のサムネイル画像をIdeogramやDALL-Eなどのサービスで生成しています。これらのツールを使うことで、具体的なビジュアルを簡単に作成できます。
実際の使用例として、「今日の大きな見出しをまとめた画像を生成してください」といった依頼も可能です。この場合、LLMはまず検索ツールを使って最新のニュースを取得し、それに基づいて画像生成のプロンプトを作成します。
画像生成の仕組みについて重要な点として、現在のDALL-E 3のような実装では、LLMが直接画像を生成しているわけではありません。実際には、ユーザーのリクエストからLLMが画像のためのキャプション(プロンプト)を生成し、それが別の専門的な画像生成モデルに送られて画像が作成されるという2段階のプロセスになっています。
画像生成技術は、専門的なデザインスキルなしでも視覚的コンテンツを作成できる強力なツールとなっています。アイコン、図表、コンセプト画像など、さまざまな場面で活用できます。ただし、著作権や倫理的な配慮は常に必要です。
17.2. サムネイル作成やコンテンツ生成での活用例
画像生成技術は特にクリエイティブなコンテンツ制作において非常に価値があります。私自身のYouTubeチャンネルの例を通して、どのように活用しているかを具体的に説明します。
私のYouTubeチャンネルでは、複数の動画のサムネイル画像を画像生成AIを使って作成しています。例えば「Let's reproduce GPT-2」という動画のサムネイル画像はIdeogramを使って生成しました。同様に他の動画のサムネイルも画像生成AIを使用しています。中にはChat GPTで生成したものもあります。これらのツールは互換的に使用できるため、状況に応じて最適なツールを選んでいます。
サムネイル作成のプロセスは比較的シンプルです。動画の内容を簡潔に表現するプロンプトを作成し、それをDALL-EやIdeogramなどの画像生成AIに入力します。例えば「GPT-2の仕組みを説明する技術的な図解」といったプロンプトを与えると、AIはその内容に合致する視覚的に魅力的な画像を生成します。
これらのツールの素晴らしい点は、具体的なビジョンがあれば、それを視覚化するための専門的なグラフィックデザインスキルがなくても、質の高い画像を作成できることです。プロンプトを微調整することで、スタイル、色調、構図などを調整することもできます。
YouTubeのサムネイル以外にも、さまざまなコンテンツ生成での活用例があります:
- ブログ記事やウェブサイトの挿絵
- プレゼンテーションのビジュアル素材
- ソーシャルメディア投稿用の画像
- 教育コンテンツの説明図
- 概念実証や製品プロトタイプの視覚化
例えば「今日の主要ニュースを要約した画像を生成してください」というような依頼も可能です。この場合、LLMはまず検索ツールを使って現在のニュース見出しを収集し、それらを統合した視覚的表現を生成します。
私が画像生成を利用する主な目的は、任意のコンテンツ作成です。特定のテーマやアイデアに基づいたアイコン、イラスト、説明図などが必要な場合、簡単にリクエストできます。「人工知能の進化を表す未来的な脳のイラスト」といったプロンプトで、独自性の高い画像を迅速に生成できます。
これらのツールは、創造的なビジョンを持っているものの、それを実現するための技術的なスキルを持たない人々にとって特に価値があります。アイデアから視覚的表現への橋渡しを、AIが担ってくれるのです。
17.3. キャプション生成と画像モデルの連携
画像生成の仕組みで興味深い点は、多くの実装において、LLMと専用の画像生成モデルが連携して動作していることです。この連携プロセスについて説明します。
現在のDALL-E 3(OpenAIの画像生成モデル)の実装では、ユーザーのリクエストからLLMが直接画像を生成しているわけではありません。実際には2段階のプロセスが行われています:
- まず、ユーザーのリクエスト(例:「今日のニュースを要約した画像を生成して」)がLLMに送られます
- LLMはこのリクエストを解釈し、詳細な画像生成キャプション(プロンプト)を作成します
- このキャプションが別の専門的な画像生成モデルに送られます
- 画像生成モデルがキャプションに基づいて実際の画像を生成します
このプロセスの利点は、LLMの言語理解能力と専門の画像生成モデルの視覚表現能力を組み合わせることで、より高品質で文脈に適した画像を生成できることです。
例として、「今日の主要ニュースを要約した画像を生成して」というリクエストを考えてみましょう。LLMはまず検索ツールを使って現在のニュース見出しを取得します。政治、健康、国際情勢、エンターテイメントなどの分野の主要ニュースを特定した後、これらの情報を統合した詳細なキャプションを作成します。
このキャプションは非常に具体的で、画像に含めるべき要素、スタイル、構図、色調などを指定した包括的なプロンプトになります。例えば「デジタル新聞の見出しのような構図で、政治の動向、健康ニュース、国際情勢、エンターテイメントの要素を含む画像。中央に地球があり、周囲に各ニュースを象徴するアイコンが配置されている」といった具合です。
LLMがこの詳細なキャプションを生成した後、それが画像モデル(DALL-E 3など)に渡され、実際の画像が生成されます。ユーザーはこの複雑なバックエンドプロセスを意識することなく、単に自然言語でリクエストを出すだけで、洗練された画像を得ることができます。
この連携モデルの別の利点は、LLMの持つ広範な知識を活用できることです。例えば「ルネサンス様式の肖像画風の宇宙飛行士」というリクエストでは、LLMはルネサンス絵画の特徴(光の使い方、構図、色調、服装の詳細など)と宇宙飛行士の要素を組み合わせた詳細なキャプションを生成できます。
この連携アプローチは、画像生成の品質と多様性を大きく向上させており、ユーザーの意図をより正確に反映した画像の生成を可能にしています。今後、LLMと画像生成モデルの統合がさらに進み、よりシームレスで高度な視覚表現が可能になると期待されます。
17.4. 実際の作業フローへの統合
画像生成技術を日常的な作業フローに統合することは、コンテンツ制作者やプロジェクト管理者にとって大きな効率化をもたらします。私の経験から、実践的な統合方法を説明します。
私の作業フローにおいて、画像生成は主にコンテンツ作成の一部として組み込まれています。YouTubeのサムネイル作成は典型的な例ですが、他にも様々な統合方法があります。
まず、効果的な画像生成を作業フローに組み込むためのステップを紹介します:
- 必要性の特定:プロジェクトのどの段階で視覚的要素が必要かを事前に特定します。例えば、プレゼンテーション資料の概念図、ブログ記事の挿絵、ソーシャルメディア投稿用の画像など。
- プロンプト設計の標準化:特定のブランドやスタイルに合わせたプロンプトのテンプレートを作成します。これにより、一貫性のあるビジュアルアイデンティティを維持できます。
- 反復的なフィードバックループ:生成された画像を評価し、プロンプトを微調整することで、希望する結果に近づけていきます。
- 結果の保存と整理:生成された画像を適切に分類し、再利用可能なリソースとして保存します。
私の実際の作業フローでは、プロジェクト管理ツールと画像生成サービスを連携させています。例えば、新しいブログ記事やビデオコンテンツの企画段階で、必要な視覚素材のリストを作成し、各素材に対して概略的なプロンプトを書き出します。コンテンツの骨組みができた段階で、それらのプロンプトを洗練させ、画像生成を実行します。
特にチームでの作業では、画像生成タスクを明確に割り当て、生成された画像を共有リポジトリに保存することで、効率的なコラボレーションが可能になります。また、生成された画像に対するチームメンバーからのフィードバックを収集し、プロンプトの改善に活かすサイクルを確立することも重要です。
画像生成技術の制限も認識しておく必要があります。著作権の問題、特定のスタイルの一貫性維持の難しさ、時に予測不能な結果などは、作業フローに組み込む際に考慮すべき要素です。必要に応じて、生成された画像を出発点として使用し、追加の編集や調整を行うハイブリッドアプローチも効果的です。
最終的に、画像生成技術を作業フローに統合する際は、それが時間を節約し、創造性を高め、プロジェクトの質を向上させるツールとして機能するよう、バランスを取ることが重要です。単なるノベルティではなく、実質的な価値を提供するものとして位置づけることで、持続可能な作業プロセスの一部となります。
18. 動画入力と指さし会話
18.1. モバイルアプリでのカメラ機能の活用
LLMが進化するにつれて、テキストだけでなく、ビデオなどの他のモダリティも処理できるようになりました。特に興味深いのは、モバイルアプリでのカメラ機能を活用したビデオ入力です。この機能はChat GPTの「Advanced Voice Mode(高度な音声モード)」に含まれています。
モバイルアプリのChat GPTを開くと、「Advanced Voice Mode」を選択した際に小さなビデオアイコンが表示されます。このアイコンを押すと、カメラフィードが表示され、モデルに様々なものを見せることができるようになります。
この機能を実際に試した例を紹介します。カメラを通してモデルに室内の様子を見せると、「カメラフィードが見えます。壁に黒い防音フォームパネルがありますね。部屋でエコーを減らすためにテストしているのですか?」と質問してきました。これに対して「そうです、音響フォームをテストしているのですが、実はあまり役に立っていません」と答えると、モデルは「配置が大きな違いを生むことがあります。角をもっとカバーしたり、レイアウトを変えてみたりしましたか?」と実用的なアドバイスをくれました。
また、カメラに本を見せると「これは何の本ですか?」と尋ねることができます。例えば「ジンギスカンと現代世界の形成」という本を見せると、「そうですね、それはジャック・ウェザーフォードによる『ジンギスカンと現代世界の形成』です。世界史におけるジンギスカンの影響に関する興味深い本ですね」と正確に認識してくれました。
他にも「これは何ですか?」と尋ねながら様々なものを見せることができます。例えば「Aranet 4」(携帯用CO2モニター)を見せると、それが「二酸化炭素レベル、温度、湿度、気圧を測定する携帯用CO2モニター」だと説明してくれました。さらに現在のCO2レベルが「713 ppm」であることを認識し、それが「屋内空間としては一般的に問題ない範囲」であると解説してくれました。
地図を見せた際には「これは何の地図ですか?」と尋ねると、「J.R.R.トールキンの『指輪物語』に登場する中つ国の地図ですね。この作品のファンにとっては素晴らしいアイテムです」と正確に識別しました。
この機能の面白い点は、単なる静止画ではなく、ビデオフィードを通じて対話できることです。自然な会話の流れの中で、カメラに映るものについて質問し、リアルタイムで回答を得ることができます。
ただし、技術的な実装に関して興味深い点があります。現在のシステムが実際にビデオを継続的に処理しているのか、それとも単に一定間隔(例えば1秒ごと)に静止画を取得しているのかは確実ではありません。しかし、ユーザー体験としては、ビデオを継続的にストリーミングして理解しているように感じます。
私自身はこの機能を日常的にはあまり使用していません。というのも、私はChat GPTのようなアプリの「パワーユーザー」で、コードやプログラミングに関する具体的な質問をすることが多いからです。しかし、両親や祖父母などのテクノロジーに詳しくない方々にLLMを紹介する際には、この機能は非常に直感的で使いやすいインターフェースとなるでしょう。カメラを向けて「これは何?」と尋ねるだけで情報を得られるのは、非常に自然なインタラクション方法です。
18.2. 実演: 本、モニター、地図などの認識と対話
モバイルアプリでのカメラ機能の真の価値は、実際の物体を認識し、それについてインタラクティブに対話できる能力にあります。私がChat GPTのアドバンスト音声モードで行った実演の詳細を紹介します。
実演を開始するため、カメラを有効にして「カメラ機能をデモンストレーションしています」と話しかけました。モデルはすぐに反応し、「カメラフィードが見えます。壁に黒い防音フォームパネルがありますね」と応答しました。室内の環境を正確に認識し、さらに「部屋でエコーを減らすためにテストしているのですか?」と質問してきたのは印象的でした。これは単なる物体認識を超えて、その文脈や目的まで推測していることを示しています。
次に、本を認識させる実験を行いました。「この本は何ですか?」と尋ねると、「ジンギスカンと現代世界の形成、ジャック・ウェザーフォード著です。ジンギスカンの世界史への影響に関する魅力深い本ですね」と正確に答えました。別の本「リチャード・ファインマン著、シュアリー・ユア・ジョーキング・ミスター・ファインマン」も同様に認識し、「物理学者の人生からのユーモラスな逸話集です。非常に楽しい読み物です」と説明してくれました。
特に興味深かったのは、専門的な機器の認識でした。「これは何ですか?」とAranet 4(CO2モニター)を見せると、「Aranet 4、携帯用CO2モニターです。二酸化炭素レベル、温度、湿度、気圧を測定します。室内の空気質モニタリングに非常に役立ちます」と詳細に説明しました。さらに「現在713 ppmを示していますが、これは良いですか?」と尋ねると、「CO2レベル713 ppmは一般的に問題ありません。屋内空間では普通です。理想的には800 ppm以下を維持したいところで、1000 ppmを超えると換気が必要かもしれません」と専門的なアドバイスまで提供しました。
地図の認識も試しました。「この地図は何ですか?」と尋ねると、「中つ国の地図ですね、J.R.R.トールキンの『指輪物語』からのものです。この作品のファンにとっては素晴らしいアイテムです」と即座に応答しました。
この実演から見えてくるのは、モデルが単に物体を識別するだけでなく、その文化的文脈、機能、重要性まで理解していることです。本の著者や内容、専門機器の機能や測定値の意味、フィクションの世界の地図まで認識できる能力は、単なる画像認識を超えた深い知識の統合を示しています。
この機能の実用性は明らかです。技術的な文書の理解、博物館での展示物の解説、教育現場での教材解説、さらには日常生活での様々な物体の識別と情報提供など、幅広い用途が考えられます。カメラを通したこの直感的なインターフェースは、特に技術に詳しくないユーザーにとって、情報へのアクセスを格段に容易にします。
18.3. 画像のフレーム処理とリアルタイム認識
カメラ機能を活用したLLMとのインタラクションで興味深い技術的側面は、「画像のフレーム処理とリアルタイム認識」の仕組みです。この機能がどのように実装されているかについて、私の観察と推測を共有します。
Chat GPTのモバイルアプリでカメラ機能を使用するとき、ユーザーからは継続的なビデオストリームを処理しているように見えますが、実際の実装はもう少し複雑かもしれません。技術的には、おそらく以下のような処理が行われていると考えられます:
- カメラからのビデオストリームを完全に連続的に処理するのではなく、一定間隔(例えば1秒ごと)に静止画フレームを取得している可能性が高い
- これらの取得したフレームを画像認識モデルに送り、シーン内の物体やテキスト、環境などを識別
- フレーム間の情報を統合し、継続的な会話コンテキストを維持する仕組み
この方法は計算リソースを節約しながらも、ユーザーにはシームレスなビデオ理解体験を提供できます。完全な動画処理ではなく間欠的な静止画処理であることを示唆するいくつかの観察結果があります:
例えば、私が本やAranet 4(CO2モニター)、中つ国の地図などを見せたとき、モデルはそれらを正確に識別できましたが、これらは本質的に静的なオブジェクトです。しかし、私が本のページをめくったり、CO2モニターの表示が変わったりすると、モデルはその変化に気づき、更新された情報を提供できました。これは、一定間隔でフレームを取得し、新しい状況を認識していることを示しています。
実際のリアルタイム認識では、おそらく以下のようなプロセスが行われています:
- 画像フレームの前処理:サイズ調整、ノイズ除去、必要に応じた標準化
- オブジェクト認識:フレーム内の主要なオブジェクトの識別
- テキスト認識(OCR):本のタイトルやモニターの数値表示などのテキスト抽出
- シーン理解:部屋の環境や文脈の把握(例:防音パネルの認識)
- 情報統合:認識された情報と既存の知識ベースの統合
この技術が特に印象的なのは、単なる物体認識を超えて、認識した物体の機能、文化的文脈、重要性まで理解していることです。例えば、Aranet 4を単に「デバイス」として認識するだけでなく、その機能(CO2モニタリング)と表示されている数値(713 ppm)の意味までも理解し、その値が適切かどうかの判断まで提供できました。
リアルタイム認識のもう一つの重要な側面は、ユーザーとのインタラクティブな対話です。カメラを向けた対象について質問すると、モデルは回答するだけでなく、関連する追加情報も提供したり、さらなる質問を促したりします。これにより、単なる認識ツールではなく、会話パートナーとしての体験が生まれます。
このような技術は、将来的にはより洗練され、真のリアルタイムビデオ理解や、動的なシーン(動いている人や物体)の認識、さらには行動認識などにも発展していく可能性があります。
18.4. 非技術系ユーザーへの適用可能性
カメラを活用したLLMとの対話機能は、特に技術に詳しくないユーザーにとって大きな価値があります。私自身はChat GPTやその他のLLMアプリの「パワーユーザー」として、主にコードやプログラミングに関する具体的な質問をするため、この機能を日常的にはあまり使用していません。しかし、この機能が非技術系ユーザーにとっていかに有用かを認識しています。
技術に詳しくないユーザー、特に高齢者や子どもにとって、カメラ機能は最も直感的なインターフェースの一つです。従来のテキスト入力やキーボードを使ったコミュニケーションは、技術的な障壁となる可能性がありますが、カメラを物に向けて「これは何?」と尋ねるのは、自然な人間のコミュニケーション方法に非常に近いものです。
例えば、両親や祖父母にLLMを紹介する場合、この機能は非常に効果的なエントリーポイントになります。彼らは複雑なプロンプトの書き方を学ぶ必要なく、身の回りのものについて質問することで、すぐにテクノロジーの価値を実感できます。
具体的な適用例としては:
- 教育支援:子どもたちが教科書や自然の中の物体を撮影し、分かりやすい説明を得られる
- 旅行案内:観光地の建物や記念碑を撮影し、その歴史や重要性について学べる
- 日常生活のサポート:食品ラベルの成分解説、家電製品の使用方法の説明など
- 健康管理:薬のパッケージを撮影して用途や副作用を確認する
特に重要なのは、この機能が技術的なリテラシーの障壁を取り除き、情報へのアクセスをより平等にするということです。キーボードでのタイピングが苦手な人や、複雑な検索クエリの組み立てが難しい人でも、カメラを通じて同等の情報にアクセスできるようになります。
また、この機能の会話的な性質も重要です。単に物体を識別するだけでなく、その文脈や関連情報について対話的に掘り下げることができます。例えば、CO2モニターを見せた際に、その数値が適切かどうかまで解説してくれるように、ユーザーの関心や疑問に沿った情報提供が可能です。
一方で、この機能を非技術系ユーザーに効果的に提供するための課題もあります:
- プライバシーへの懸念:カメラで何を撮影しているかに対する透明性の確保
- 使用方法の説明:機能の存在と使い方を分かりやすく伝える方法
- 期待値の管理:技術の限界(例:すべての物体を常に正確に識別できるわけではない)の理解促進
これらの課題を克服しつつ、カメラ機能は非技術系ユーザーにとって、AIとの対話の入り口として、また日常生活のサポートツールとして大きな可能性を秘めています。これは単なる便利な機能ではなく、テクノロジーの民主化と情報アクセシビリティの向上に貢献する重要な進歩だと言えるでしょう。
19. 動画出力(Sora、Veo 2など)
19.1. AIビデオ生成モデルの比較
AIビデオ生成の分野は急速に発展しており、様々なモデルが登場しています。ここでは、主要なAIビデオ生成モデルとその特徴を比較します。
AIビデオ生成の分野は急速に進化していますが、私はこれらのツールを日常的には使用していません。創造的な職業に就いているわけではないので、これらのツールを頻繁に利用する機会がないのです。しかし、この分野の主要なモデルとその特徴について概要を説明します。
約1ヶ月前のツイートでは、様々なAIビデオ生成モデルの比較が示されていました。このツイートでは、ジャングルの中のトラを描写するよう各モデルに指示した結果が比較されていました。比較されたモデルには、OpenAIのSora、Runway Gen-2、Pika Labs、Luma Dream Machine、Veo 2などが含まれていました。
それぞれのモデルは独自の特徴と品質を持っていました。この時点では、Veo 2が特に高品質な結果を生成していると評価されていました。しかし、この分野は急速に発展しているため、今日では状況が変わっている可能性があります。
各モデルは独自のスタイルと強みを持っています。例えば、あるモデルは自然な動きの表現に優れている一方、別のモデルは細部の表現や色彩に長けていることがあります。また、モデルによってはより長い動画を生成できるものもあれば、短いクリップに特化したものもあります。
これらのAIビデオ生成ツールは、マーケティング、教育コンテンツ、エンターテイメント、プロトタイピングなど様々な用途に活用できます。テキストプロンプトから直接動画を生成できるこれらのツールは、動画制作プロセスを大幅に効率化する可能性を持っています。
19.2. 各モデルの特徴と品質の違い
約1ヶ月前に見たツイートでは、複数のAIビデオ生成モデルを比較していました。ジャングルの中のトラを描写するよう各モデルに指示した結果を比較したものです。この比較からわかる各モデルの特徴と品質の違いについて説明します。
主要なモデルの特徴を見ていくと、それぞれに独自の強みがありました。例えば、OpenAIのSoraは物理的な動きの自然さと環境の一貫性において優れていました。トラの動きがスムーズで自然であり、ジャングル環境も現実的に描写されていました。
Runway Gen-2は芸術的な表現に強みを持っていました。生成された映像は映画的な雰囲気を持ち、色彩やライティングに特徴がありました。一方、Pika Labsは短いクリップでありながらも、高いディテールの表現力を示していました。
Luma Dream Machineは幻想的な雰囲気の表現に優れていました。現実的というよりは芸術的な解釈が強く、独特の視覚スタイルを生み出していました。
その中でも、当時特に注目されていたのがVeo 2でした。このモデルは全体的な品質、動きの自然さ、ディテールの表現、そして環境との一貫性において優れた結果を示していました。トラの毛並みの細部まで表現され、動きもリアルで、ジャングル環境も説得力がありました。
各モデルの技術的な側面では、解像度、フレームレート、生成可能な動画の長さなどにも違いがありました。一部のモデルは短い高品質クリップに特化していたのに対し、他のモデルはより長いシーケンスを生成できるものもありました。
これらのモデルの違いは、それぞれの用途によって長所となり得ます。例えば、芸術的な表現が必要なプロジェクトにはRunway Gen-2が適している一方、よりリアルな表現が求められる場合にはVeo 2やSoraが適しているかもしれません。
AIビデオ生成の分野は急速に発展しており、これらのモデルも継続的に改善されています。1ヶ月前の比較から現在までに、各モデルは更新されている可能性が高く、性能やクオリティにも変化があるでしょう。
注目すべきは、これらのモデルがテキストプロンプトから直接ビデオを生成できる能力です。この技術は、従来の映像制作のワークフローを根本的に変え、専門的な技術や機材を持たない人々でも、高品質な映像コンテンツを作成できる可能性を広げています。
19.3. 急速に進化する技術領域
AIビデオ生成の分野は、現在最も急速に進化している技術領域の一つです。この分野の変化の速さは驚異的で、数ヶ月前に最先端だったものが今では既に時代遅れになっていることもあります。
この急速な進化は、複数の要因によって推進されています。まず、テキストから画像を生成する技術の進歩が、静止画から動画生成への基盤を築きました。画像生成モデルが高品質な静止画を生成できるようになると、次の論理的ステップは、それらを時間軸に沿って拡張することでした。
もう一つの重要な促進要因は、計算能力の向上です。高品質な動画の生成には膨大な計算リソースが必要ですが、GPUの性能向上とクラウドコンピューティングの発展により、以前は不可能だった複雑なモデルのトレーニングと実行が可能になりました。
また、大規模な動画データセットの利用可能性も、この分野の発展に寄与しています。これらのデータセットにより、モデルは動きのパターン、物理法則、時間的一貫性などを学習することができます。
変化の速さを示す一例として、OpenAIのSoraの発表があります。Soraは2024年初頭に発表され、テキストプロンプトから60秒の高品質ビデオを生成する能力を示しました。この発表はわずか数ヶ月前のことですが、既に他の企業やモデルが追随し、場合によっては特定の側面でSoraを凌駕しています。
この急速な進化の結果、現在のAIビデオ生成モデルは以下のような顕著な進歩を遂げています:
- 生成時間の短縮:初期のモデルでは数時間かかっていた処理が、現在では数分または数秒で完了するものもあります
- 品質の向上:解像度、フレームレート、ディテールの表現力が大幅に改善されています
- 長さの拡大:初期の数秒のクリップから、現在では数十秒から1分以上の一貫したビデオを生成できるモデルもあります
- 物理法則の理解:オブジェクトの動き、光と影の相互作用、流体力学など、物理的に正確な表現が可能になっています
- 編集可能性:生成後のビデオをより細かく編集・修正できる機能も増えています
この分野は今後も急速に発展し続けると予想されます。特に、より長い動画の生成、より詳細な制御、異なるビジュアルスタイルの拡張、実写映像との統合などの方向性で進化していくでしょう。また、エンドユーザー向けのアクセシビリティも向上し、より多くの人々がこの技術を活用できるようになると考えられます。
20. ChatGPTメモリ機能とカスタム指示
20.1. 会話間でのユーザー情報の保持
Chat GPTには「メモリ機能」と呼ばれる非常に便利な機能があります。この機能により、モデルは個別の会話セッション間でユーザーに関する情報を記憶し、その情報を活用して将来の対話をパーソナライズできます。この仕組みについて説明します。
基本的に、通常の会話では各セッションが独立しています。会話を開始すると空のトークンウィンドウから始まり、新しい会話を開始するとすべてがクリアされます。しかし、メモリ機能は異なる会話間でも情報を保持する方法を提供します。
メモリ機能がどのように動作するかを説明するために、私が実際に行った例を紹介します。私がChat GPTに「ハリウッドの全盛期はいつ頃だと思いますか?」と尋ねたとき、モデルは「フランチャイズが台頭する前の最後の全盛期は1990年代から2000年代初頭だったと考えられます」と回答しました。
この時点では特に何も起こりませんでしたが、私が「完全に同意します」と返答すると、Chat GPTのメモリ機能が起動し、「メモリが更新されました:ハリウッドの最大の全盛期は1990年代後半から2000年代初頭だったと考えています...」というメッセージが表示されました。
このプロセスで起きていることは、Chat GPTが私との会話から学んだことを要約して記録し、そのテキストをメモリバンクに保存しているのです。このメモリバンクは、Chat GPTの別のコンポーネントであり、ユーザーに関する知識のデータベースとして機能します。重要なのは、このデータベースの情報がすべての新しい会話の冒頭に付加されるため、モデルは常にこの情報にアクセスできるということです。
このメモリ機能は時に自動的に起動しますが、「これを記憶してください」や「私の好みを記憶してください」などと明示的に依頼することもできます。このようにして、Chat GPTは時間の経過とともにユーザーについて学習し、より関連性の高い応答を提供できるようになります。
この機能を使い続けると、Chat GPTは自然な対話を通じてユーザーの好み、意見、関心事などを徐々に学習していきます。例えば、映画の好みに関する情報がメモリに保存されると、後の会話で映画のレコメンデーションを求めたとき、その情報を活用して、より的確な提案ができるようになります。
メモリの管理も可能で、保存された情報の編集、追加、削除ができます。これにより、保存される情報をコントロールし、必要に応じて調整することができます。
この機能はChat GPTに特有のものであり、私の知る限り、他のLLMプラットフォームはまだ同様の機能を実装していません。この機能は、短期的な会話の枠を超えて、より長期的で個人に合わせた対話体験を可能にする重要なステップとなっています。
20.2. メモリ更新と管理機能
Chat GPTのメモリ機能では、情報の記録だけでなく、その更新と管理も重要な側面です。この機能がどのように動作し、ユーザーがどのようにコントロールできるかを説明します。
メモリ更新のプロセスは主に二つの方法で行われます。一つ目は自動更新で、Chat GPTが会話の中で重要だと判断した情報を自動的に記録します。先ほどの例では、私が映画の好みについて言及したとき、システムがそれを重要な個人的嗜好と判断し、自動的にメモリを更新しました。
二つ目は明示的な更新です。ユーザーが「これを覚えておいて」「この好みを記録して」などと明確に指示することで、特定の情報を記憶させることができます。例えば「韓国語を学習中なので、フォーマルな丁寧語(ハムニダ体)を使ってください」と指示すれば、モデルはその言語学習の状況と希望する敬語レベルを記憶します。
メモリが更新されると、「メモリが更新されました」というメッセージが表示され、記録された内容が要約されます。これにより、どのような情報が保存されたかを確認できます。
管理機能では、保存されたメモリを確認、編集、削除する方法が提供されています。Chat GPTのインターフェースには「メモリを管理」というオプションがあり、ここから保存されたすべての記憶にアクセスできます。
メモリ管理画面では以下のことが可能です:
- すべての保存されたメモリの確認
- 個別のメモリエントリの編集
- 不要になったメモリの削除
- 新しいメモリの手動追加
この管理機能は、プライバシーとユーザーコントロールの観点から非常に重要です。例えば、間違った情報が記録された場合に修正したり、もはや関連性のない情報を削除したりできます。また、特定のコンテキストでのみ関連する情報を一時的に追加することも可能です。
メモリ機能を最大限に活用するためのプラクティスとしては:
- 明確に記憶してほしい重要な情報は、「これを覚えておいて」と明示的に指示する
- 定期的にメモリを確認し、古くなった情報や不正確な情報を更新する
- 特定のプロジェクトやコンテキスト用に、関連情報を手動で追加する
この機能は時間とともに発展し、Chat GPTはあなたとの自然な対話を通じてより深くあなたを理解するようになります。その結果、応答がより関連性が高く、個人に合わせたものになり、まるで長期的な関係を持つアシスタントのような体験が生まれます。
個人的な経験として、この機能は私の映画の好みや学習している言語など、繰り返し言及する必要がある情報を記憶することで、会話をよりスムーズにしてくれました。Chat GPTが自分の好みや関心事を「覚えている」という体験は、単なる便利さを超えて、より自然で個人的な対話感を生み出します。
20.3. カスタム指示の設定とパーソナライズ
メモリ機能とは別に、Chat GPTには「カスタム指示」と呼ばれる強力なパーソナライズ機能があります。この機能を使用すると、あらゆる会話で一貫して適用される詳細な指示を設定できます。私の経験から、この機能の活用法について説明します。
Chat GPTのカスタム指示は、設定メニューの「Chat GPTをカスタマイズ」セクションからアクセスできます。ここでは、Chat GPTとの対話方法に関する詳細な指示を設定できます。
カスタム指示には主に二つの主要な部分があります:
- 「Chat GPTがどのような特徴を持つべきか」 この部分では、モデルのコミュニケーションスタイルや態度を設定できます。私の場合、「HRビジネスパートナーのように話さないでください。普通に会話してください。また、できるだけ説明、教育、洞察を提供してください」と指定しています。これにより、形式的すぎるビジネス口調を避け、より自然でありながら教育的な対話が可能になります。
- 「自分自身について」 この部分では、自分に関する情報を提供できます。私は自分の学習状況について「韓国語を学習中です」と伝え、対話での韓国語使用について「使用する敬語のレベルはハムニダ体にしてください」と指定しています。これにより、他の敬語レベル(非常に形式的または非常にカジュアル)ではなく、適切な中間レベルの丁寧さで韓国語のコンテンツを提供してもらえます。
カスタム指示の大きな利点は、毎回の会話で繰り返し指示する必要がないことです。一度設定すれば、すべての新しい会話に自動的に適用されます。これは頻繁に使用するサービスや特定の形式で情報を常に受け取りたい場合に特に有用です。
カスタム指示は非常に柔軟で、さまざまな種類の指示を含めることができます:
- コミュニケーションスタイル(簡潔、詳細、専門的、会話的など)
- 専門知識レベル(初心者向け、専門家向け)
- 特定の形式(例:コード例には常にコメントを含める)
- 言語の好み(特定の言語や方言の使用)
- 興味のある分野や専門
- 学習中のトピックや技術
効果的なカスタム指示の作成には、明確で具体的であることが重要です。例えば、「良い応答をください」という曖昧な指示よりも、「技術的な説明にはコード例と実世界の応用例を含めてください」のような具体的な指示の方が効果的です。
また、カスタム指示は定期的に更新することをお勧めします。学習の進行、新しいプロジェクトの開始、または単に優先事項の変化に応じて、指示を調整できます。
この機能を活用することで、Chat GPTとの対話はより効率的で、一貫性があり、自分のニーズに合ったものになります。基本的に、毎回の会話の開始時に、あなたの好みと要件について自動的にブリーフィングが行われるようなものです。
20.4. 言語学習のための設定例
個人的な例として、韓国語学習をサポートするためにChat GPTのカスタム指示をどのように設定したかを詳しく説明します。言語学習は、カスタム指示機能の特に効果的な応用例の一つです。
私のカスタム指示の「自分自身について」セクションでは、以下のように指定しています:
「韓国語を学習中です。韓国語の文を提供する場合は、常にハムニダ体(フォーマルな丁寧語)を使用してください。それ以外の形式(カジュアルな話し言葉やより堅苦しい敬語)は、特に要求されない限り使用しないでください。」
この指示により、Chat GPTは私の学習レベルと言語的ニーズを理解し、適切な敬語レベルを一貫して使用するようになりました。これが重要な理由は、韓国語には複数の敬語レベルがあり、初心者にとっては混乱しやすいからです。最初は一つの形式(この場合はハムニダ体)に集中することで、学習効率が向上します。
言語学習者がカスタム指示で設定できる他の有用な項目には次のようなものがあります:
- 学習レベルの指定 「韓国語の初級レベル(TOPIK 1-2相当)の学習者です。文法説明は簡潔にし、基本的な語彙を使用してください。」
- 学習スタイルの指定 「新しい単語や表現を紹介する際は、必ず実用的な例文と共に提示し、可能であれば文化的コンテキストも含めてください。」
- 特定の学習目標 「ビジネス環境で使用するための韓国語を学習中です。ビジネス関連の表現や語彙に重点を置いてください。」
- フィードバックの方法 「私が韓国語の文を作成した場合、自然な表現になるよう添削し、修正点を詳細に説明してください。」
- 二言語表示の設定 「韓国語のコンテンツを提供する際は、常に日本語訳も併記してください。」
これらの指示を組み合わせることで、非常にパーソナライズされた言語学習環境を作成できます。例えば、私の場合、文法的に正しいですが自然ではない表現を避けるため、韓国語の例文に常に日本語訳を求めています。
言語学習におけるカスタム指示設定のもう一つの利点は、一貫性です。例えば、特定の翻訳スタイル(直訳か意訳か)を指定したり、特定の地域の方言(例:韓国語のソウル方言)に焦点を当てるよう指示したりできます。
さらに、学習の進行に合わせて指示を更新することも重要です。初級レベルから中級レベルに進んだ場合、より複雑な文法や語彙を含めるよう指示を更新できます。
私の経験では、このようなカスタム指示を設定することで、Chat GPTは非常に効果的な言語学習パートナーになります。フラッシュカード作成、会話練習、文法説明、文化的背景の説明など、様々な学習活動をサポートしてくれます。そして何より、これらの指示を毎回繰り返す必要がなく、すべての会話で一貫して適用されるのが大きな利点です。
21. カスタムGPTs
21.1. 特定タスク用のGPTカスタマイズ
カスタムGPTは、Chat GPTの機能をさらに拡張し、特定のタスクや用途に特化したバージョンを作成できる機能です。これは基本的に、特定の指示や知識をGPTに組み込み、特定のタスクに最適化された専用のバージョンを作る方法です。
私が主に使用しているのは言語学習に関連するカスタムGPTです。例えば「Korean Vocabulary Extractor(韓国語語彙抽出機)」というカスタムGPTを作成しました。このGPTの目的は、韓国語の文章から語彙を抽出し、辞書形式で表示することです。
このカスタムGPTを使うと、韓国語の文章を入力するだけで、含まれている語彙が「韓国語;日本語」の形式で抽出されます。この形式はそのままAnyフラッシュカードアプリにコピー&ペーストできるため、文章から簡単に語彙学習用のフラッシュカードを作成できます。
カスタムGPTの内部動作を理解するために、編集画面を見てみましょう。「GPTを編集」をクリックすると、このGPTの設定内容が表示されます。重要なのは「指示」セクションです。ここには以下のような情報が含まれています:
- 背景情報:「私は韓国語を学習中の初心者です」
- 詳細な指示:「テキストを与えるので、そこから語彙を抽出してください」
- 出力形式:「出力は韓国語;日本語の形式にしてください」
- 具体例:実際の入力例と期待される出力例
特に重要なのは具体例を含めることです。これは「few-shot prompt(数例学習プロンプト)」と呼ばれる手法で、単にタスクを記述するだけでなく、具体的な例を提供することでGPTの精度を向上させる方法です。私はいつもLLMに指示を与える際、例を含めるようにしています。
もう一つの例として「Korean Detailed Translator(韓国語詳細翻訳機)」を紹介します。このカスタムGPTは標準的な翻訳アプリより優れた翻訳体験を提供します。Google翻訳などは韓国語の翻訳において十分な品質を提供できないことがあり、多くの人はNaverやPapago等のサービスを使います。
しかし、これらのサービスでも、文がどのように翻訳に変換されるかの詳細までは提供していません。特に助詞などが翻訳から省略されることが多いです。そこで私はより詳細な翻訳を提供するカスタムGPTを作成しました。
このGPTに韓国語の文を入力すると、全体の翻訳だけでなく、各部分がどのように翻訳されているかの詳細な解説が提供されます。例えば「지금은 오후 3시이고 내가 가장 좋아하는 카페에 가고 싶어요」という文を入力すると、「今は午後3時で、私のお気に入りのカフェに行きたいです」という翻訳とともに、「지금」が「今」、「오후 3시」が「午後3時」というように各部分の対応関係が示されます。
このように、特定のタスク向けにカスタムGPTを作成することで、標準的なツールよりも優れた体験を実現できます。また、後続の質問や確認も同じ会話の流れの中で行えるため、より深い理解が可能になります。
21.2. 言語学習のための応用例(韓国語単語抽出、詳細翻訳)
言語学習は、カスタムGPTの活用が特に効果的な分野です。私が実際に作成し活用している2つのカスタムGPTについて、より詳細に紹介します。
まず「Korean Vocabulary Extractor(韓国語語彙抽出機)」について説明します。このカスタムGPTは、韓国語の文章から語彙を抽出し、辞書形式で表示することに特化しています。動作は非常にシンプルで、韓国語の文章を入力すると、含まれる単語が「韓国語;日本語」の形式で出力されます。
このGPTが特に便利なのは、出力形式がフラッシュカードアプリに直接インポートできる形式になっている点です。例えば、韓国語の文章を入力すると、次のような形式で単語が抽出されます:
시간;時間 가다;行く 좋아하다;好きだ ...
この形式はそのままAnkiなどのフラッシュカードアプリにコピーペーストするだけで、即座に学習用カードセットが作成できます。これにより、お気に入りの記事や学習教材からすぐに語彙学習リソースを作成できるようになります。
このカスタムGPTの設定では、指示部分に詳細な説明と複数の例を含めています。特に重要なのは入力例と出力例のペアです。複数の例を提示することで、モデルは正確に期待される動作を理解することができます。
次に「Korean Detailed Translator(韓国語詳細翻訳機)」についてです。このカスタムGPTは、単なる翻訳を超えた詳細な言語分析を提供します。Google翻訳やPapagoのような既存の翻訳サービスとの大きな違いは、文全体の翻訳だけでなく、各部分がどのように翻訳されるかを詳細に説明する点です。
例えば、次の韓国語文を入力した場合: 「지금은 오후 3시이고 내가 가장 좋아하는 카페에 가고 싶어요」
通常の翻訳サービスでは単に: 「今は午後3時で、私のお気に入りのカフェに行きたいです」
という翻訳が返ってくるだけですが、このカスタムGPTでは:
全体翻訳:「今は午後3時で、私のお気に入りのカフェに行きたいです」
詳細分析:
- 지금은:今は(時間を表す名詞+主題助詞)
- 오후 3시이고:午後3時で(時間表現+連結語尾「이고」)
- 내가:私が(一人称代名詞+主格助詞)
- 가장 좋아하는:最も好きな(最上級副詞+好む動詞の連体形)
- 카페에:カフェに(場所名詞+方向助詞)
- 가고 싶어요:行きたいです(行く動詞+願望表現+丁寧語尾)
このような詳細な分析により、言語学習者は文の構造や文法要素をより深く理解することができます。また、この詳細な翻訳後に「なぜここで〜という助詞が使われているの?」「この表現は他の状況でも使えますか?」といった質問を続けることができ、その場で疑問を解決できます。
このGPTの指示設定では、XMLタグを使って例の構造を明確に示しています:
<example1>
入力: [韓国語の文]
期待される出力:
全体翻訳: [日本語訳]
詳細分析:
- [韓国語の部分]: [日本語訳と文法説明]
...
</example1>
このように具体的な例を複数提供することで、モデルは期待される出力形式を正確に理解します。
これらのカスタムGPTは、単に便利なだけでなく、標準的な翻訳ツールでは得られない深い言語理解を促進します。特に韓国語のような日本語と文法構造が類似しながらも微妙に異なる言語では、このような詳細な分析が学習において非常に価値があります。
21.3. 画像からの字幕抽出と翻訳
カスタムGPTの興味深い応用例として、「Korean Caption Extractor(韓国語字幕抽出機)」を紹介します。このカスタムGPTは、画像、テキスト認識、翻訳の機能を組み合わせた高度なツールです。
この機能は、特に韓国のコンテンツを視聴する際に非常に役立ちます。例えば「Singles Inferno」などの韓国のリアリティ番組を視聴している場合、字幕が画像としてビデオに焼き付けられていることがあります。つまり、テキストとして直接アクセスできないため、意味を調べることが難しい状況があります。
このカスタムGPTは、以下のプロセスでこの問題を解決します:
- ビデオから字幕が表示されているシーンのスクリーンショットを撮影
- そのスクリーンショットをカスタムGPTにアップロード
- GPTが画像からテキストを抽出(OCR機能)
- 抽出した韓国語テキストを翻訳
- 詳細な文法分析を提供
たとえば、Singles Infernoのジンヨンとスキのシーン間の会話のスクリーンショットをアップロードすると、GPTはまず画像内の韓国語テキストを正確に抽出し、それを翻訳してから詳細な分析を提供します。
このカスタムGPTの設定では、指示部分で明確なコンテキストを提供しています:「テレビ番組「Singles Inferno」からの対話を示す画像が提供されます」といった具体的な文脈説明は、モデルのパフォーマンスを向上させる上で重要です。
また指示には、次のような明確なステップが含まれています:
- まず画像からテキストを抽出(OCR)
- 次に抽出したテキストを翻訳
- 最後に文法的な分析を提供
この機能は、映画やドラマ、YouTube動画など、字幕が埋め込まれたあらゆる韓国語コンテンツの学習に応用できます。視聴中に分からない表現があった場合、すぐにスクリーンショットを撮って分析できるため、学習の流れを妨げることなく理解を深められます。
このアプローチの優れている点は、複数の技術(OCR、翻訳、文法分析)を組み合わせて、シームレスな学習体験を提供していることです。従来であれば、テキスト抽出ツール、翻訳ツール、文法参考書など、複数のリソースを行き来する必要がありましたが、このカスタムGPTでは一つのインターフェースですべてが完結します。
このようなカスタムGPTの作成は、技術的に複雑なタスクを一連の簡単なステップにまとめ、特定の問題に対する効率的なソリューションを提供する方法の好例です。画像から文字を抽出し、その内容を理解し、分析するという一連のプロセスが単一のインターフェースで実現される点は、ユーザー体験の観点からも優れています。
21.4. Few-shotプロンプトの効果的な設計方法
カスタムGPTの作成において、Few-shotプロンプト(数例学習プロンプト)の設計は成功の鍵を握ります。この手法は、単にタスクを説明するだけでなく、具体的な入力例と期待される出力例を提供することで、LLMの精度を大幅に向上させます。私の経験から、効果的なFew-shotプロンプトの設計方法を説明します。
Few-shotプロンプトの基本的な構造は以下の要素から成ります:
- タスクの説明: まず、実行したいタスクを明確に説明します。例えば「韓国語の文章から語彙を抽出し、辞書形式で提示する」などです。
- 入力例と出力例のペア: 次に、複数の具体的な入力と、それに対応する期待される出力の例を提供します。
私の「Korean Detailed Translator」の設定では、XMLタグを使用して例の構造を明確にしています:
<example1>
入力: 안녕하세요, 저는 일본사람입니다.
期待される出力:
全体翻訳: こんにちは、私は日本人です。
詳細分析:
- 안녕하세요: こんにちは(挨拶表現、ハムニダ体)
- 저는: 私は(一人称代名詞+主題助詞)
- 일본사람입니다: 日本人です(国籍+コピュラ、ハムニダ体)
</example1>
このようなアプローチの利点は、モデルが単に抽象的な指示ではなく、具体的な例から学習できることです。人間と同様に、LLMも抽象的な説明よりも具体例からの方がタスクを理解しやすい傾向があります。
効果的なFew-shotプロンプトを設計する際の重要なポイント:
- 多様な例を提供する: 異なる複雑さや構造の例を含めることで、モデルはより広範なケースに対応できるようになります。例えば、韓国語翻訳の場合、異なる文法構造や語彙レベルの文を含めると良いでしょう。
- 明確な構造を使用する: XML風のタグやマークダウンなどを使用して、入力と出力を明確に区別します。これにより、モデルは構造を容易に認識できるようになります。
- エッジケースを含める: 一般的なケースだけでなく、特殊なケースや例外的な状況も含めると、モデルの堅牢性が向上します。
- 段階的な説明を含める: 複雑なタスクの場合、モデルが「考える」プロセスを示す中間ステップを含めると効果的です。
- 出力形式を一貫させる: すべての例で同じ出力形式を維持することで、モデルは一貫した応答を提供できるようになります。
実際の作業では、まず基本的な例から始め、徐々に複雑な例や特殊なケースを追加していくアプローチが効果的です。また、実際にGPTを使ってみて結果が期待通りでない場合は、その結果を分析し、プロンプトを調整するという反復的なプロセスが重要です。
Few-shotプロンプトは、人間が他の人間に教える方法と類似しています。「これがタスクです、これが入力例です、そしてこれが期待する出力です」という形式は、明確な学習構造を提供し、LLMがタスクを正確に理解するのに役立ちます。
22. まとめ
22.1. LLMエコシステムの急速な進化
LLMエコシステムは急速に進化し、拡大し続けています。この動画を通して紹介してきた内容を振り返ってみましょう。
最初に説明したように、ChatGPTが2022年に登場して以来、LLMは大きく進化してきました。現在、このエコシステムはOpenAIの他にも、Google(Gemini)、Meta、Microsoft(Co-pilot)、Anthropic(Claude)、xAI(Grok)など多くの企業が参入しています。また、中国のDeep SeekやフランスのMistralといった企業も競争に加わっています。
これらのモデルの進化は、基本的なテキスト生成能力から始まり、現在では多くの追加機能を備えるようになりました。例えば、検索ツールを使用したインターネットアクセス、精密な思考過程を実行する「思考モデル」、Python解釈機能、ダイアグラムやアプリケーションの生成、そして音声や画像、ビデオなどの他のモダリティとの統合などが実現しています。
特に重要な進化として、「思考モデル」の登場があります。これはOpenAIのO1、O3 mini、O1 Pro Modeなどのモデルに見られる機能で、複雑な問題に対して詳細な思考過程を展開し、より正確な回答を導き出します。
また、ツール使用の進化も顕著です。インターネット検索は多くのLLMが実装している基本的なツールとなり、「Deep Research」のような高度な調査機能も登場しています。ドキュメントのアップロードと分析、プログラミング言語の実行、データ分析、図表の生成なども標準的な機能になりつつあります。
マルチモーダル機能の発展も急速に進んでいます。テキストだけでなく、音声入出力、画像認識と生成、さらには動画の入出力まで対応するモデルが登場しています。特にOpenAIのAdvanced Voice ModeやDALL-E、Soraなどは、人間とAIのインタラクションを新しいレベルに引き上げています。
さらに、パーソナライゼーション機能も進化しています。ChatGPTのメモリ機能やカスタム指示、カスタムGPTsの作成など、ユーザー固有のニーズに合わせてAIを調整する方法が増えています。
このエコシステムの急速な進化は、技術的な進歩だけでなく、ユーザー体験の向上にも直結しています。かつてはプログラマーや技術者向けのツールと考えられていたAIが、今では幅広いユーザーが日常的に活用できるツールに変化しています。
しかし、このような急速な進化には、常に新しい機能や最適なモデルを把握し続ける必要があるという課題もあります。各プロバイダーの機能や価格設定は頻繁に変更され、最適なツールの選択は状況によって異なります。
22.2. モデル選択と機能比較の重要性
LLMエコシステムが急速に拡大する中、適切なモデルの選択と機能比較はますます重要になっています。日常的にLLMを活用するためには、各モデルの特性と強みを理解し、用途に応じて最適なツールを選択する必要があります。
まず、モデル選択において重要な要素は価格帯です。OpenAI、Anthropic、Google、Mistralなど、各プロバイダーは異なる価格帯で複数のモデルを提供しています。例えばChat GPTは無料版(GPT-4o mini)から始まり、Plus($20/月)、Pro($100/月)とティアが上がるにつれて、より高性能なモデルや機能にアクセスできます。同様に、ClaudeもHaiku、Sonnet、Opusなど異なる性能と価格のモデルを提供しています。
モデルのサイズと能力も重要な比較ポイントです。一般的に大きなモデル(GPT-4o、Claude 3.5 Opus、Gemini 1.5 Proなど)は小さなモデルよりも優れた言語理解、文章生成、推論能力を持っています。しかし、より大きなモデルは必ずしもすべてのタスクに最適というわけではなく、単純なタスクには小さなモデルの方が効率的なこともあります。
特化機能の有無も比較すべき重要なポイントです。「思考モデル」(OpenAIのO1シリーズなど)は複雑な数学や推論タスクに優れています。インターネット検索機能はChatGPT、Perplexity、Gemini、Grokなどに実装されていますが、Claudeには現時点では実装されていません。データ分析、画像生成、音声機能なども各モデルで実装状況が異なります。
適切なモデル選択のためのプラクティスとしては、次のようなアプローチが有効です:
- 多層的なアプローチ:異なるタスクに異なるモデルを使い分ける。例えば、日常的な質問にはGPT-4o mini、コーディングにはCursor(Claude APIを使用)、検索が必要な質問にはPerplexityといった具合に。
- 「LLM評議会」の活用:重要な質問や複雑な問題に対しては、複数のLLMに同じ質問をして回答を比較する。これにより、より信頼性の高い情報や多角的な視点を得ることができます。
- 実験と評価:新しいモデルや機能が登場したら、自分の典型的なユースケースでテストし、効果を評価する。
- コスト対効果の分析:高価なプランが本当に必要かどうかを定期的に評価する。多くの場合、無料版や基本プランでも十分なケースがあります。
最終的に、「最良」のモデルは個人のニーズ、予算、使用パターンによって異なります。専門的なプログラマーには高度なコード生成能力を持つモデルが重要かもしれませんが、言語学習者には翻訳や文法解析に優れたモデルが価値を持つでしょう。研究者には深い検索能力が重要かもしれません。
LLMの世界は常に変化しているため、定期的に自分のツールキットを見直し、新しいモデルや機能を試すことが重要です。そうすることで、このダイナミックな技術エコシステムから最大の価値を引き出すことができるでしょう。
22.3. モダリティの拡張(テキスト、音声、画像、動画)
LLMが進化する中で最も注目すべき発展の一つが、対応モダリティの拡張です。最初はテキストのみを扱う技術だったものが、現在では音声、画像、そして動画まで統合されるようになりました。
テキスト処理から始まったLLMは、言語理解と生成の基盤を確立しました。しかし今日では、異なるモダリティをトークン化して処理する能力を獲得しています。これは技術的に重要なブレイクスルーで、テキストをトークン化するのと同じように、音声やビジュアル情報もトークンとして処理できるようになりました。
音声モダリティにおいては、「偽の音声」と「真の音声」処理という二つのアプローチがあります。「偽の音声」は音声をテキストに変換し、LLMで処理した後、結果をまた音声に変換するアプローチです。一方「真の音声」は、Chat GPTのAdvanced Voice Modeのように、音声そのものをトークンとして直接処理します。この技術により、ヨーダや海賊のような話し方の模倣、音声速度の調整など、テキストだけでは不可能な表現が可能になりました。
画像モダリティも同様に進化しています。LLMに画像を提供し、その内容について質問する機能は非常に実用的です。栄養ラベルや血液検査結果の分析、数式の読み取りなど、日常生活での応用例は数多くあります。逆に、DALL-EやIdeogramなどのツールを使って、テキスト指示から画像を生成することも可能になりました。
最近では動画モダリティも急速に進化しています。モバイルアプリでのカメラ機能を活用すれば、リアルタイムでカメラに映る物体について質問し、回答を得ることができます。また、OpenAIのSoraやVeo 2などの動画生成モデルにより、テキスト指示から短い映像クリップを生成することも可能になっています。
これらのモダリティ拡張の重要性は、より自然で直感的なヒューマン・コンピュータインターフェースを実現する点にあります。人間のコミュニケーションは本来マルチモーダルであり、言葉だけでなく、声のトーン、表情、ジェスチャーなども含みます。LLMがこれらのモダリティを統合することで、より自然で豊かなコミュニケーション体験が可能になります。
特に、音声インターフェースの発展は、タイピングの手間を省き、より自然な対話を可能にします。私の場合、デスクトップでのクエリの約50%、モバイルでは約80%を音声で行っており、効率性が大幅に向上しています。
画像認識と生成機能は、視覚的な情報の理解と創造を可能にし、特に教育、デザイン、マーケティングなどの分野で価値を提供しています。そして動画処理の進化は、インタラクティブなトレーニング、エンターテイメント、視覚的な説明など、さらに豊かな応用可能性を開きます。
このようなマルチモーダルな統合は、LLMの活用範囲を大幅に拡大し、より多様なユーザーニーズに対応できるようになっています。技術者だけでなく、高齢者や子どもなど、テキストインターフェースに慣れていないユーザーにとっても、音声や画像を通じたコミュニケーションは直感的でアクセスしやすいものとなっています。
22.4. ユーザー体験向上のための機能
LLMエコシステムの進化は、単に技術的な能力の向上だけでなく、ユーザー体験を向上させるための様々な機能の開発も伴っています。これらの機能は、LLMをより使いやすく、より個人的なものにし、日常的なワークフローに自然に統合できるようにします。
まず、Chat GPTのメモリ機能は、会話間でユーザー情報を保持する優れた例です。この機能により、モデルはユーザーの好み、意見、関心事を記憶し、将来の会話で活用できます。例えば、映画の好みについて一度話した内容が保存され、後の映画推薦に活かされます。このような長期的な「記憶」は、繰り返し同じ情報を提供する必要がなく、より自然な対話体験を可能にします。
次に、カスタム指示機能は、モデルの応答スタイルや焦点を調整する方法を提供します。例えば、「HRビジネスパートナーのように話さず、教育的なコンテンツを提供してください」といった指示を設定できます。また、言語学習など特定の目的のために、「韓国語のハムニダ体を使用してください」といった具体的な指示も可能です。
さらに、カスタムGPTsの作成は、特定のタスクに特化したLLMバージョンを構築できる強力な機能です。例えば、言語学習のための「Korean Vocabulary Extractor」や「Korean Detailed Translator」など、標準的なツールでは不十分な特定のニーズに対応したカスタムツールを作成できます。
音声入力と出力の機能も、ユーザー体験を大きく向上させています。デスクトップやモバイルでの音声入力により、タイピングの手間が省け、より自然なコミュニケーションが可能になります。特にモバイル環境では、音声入力がクエリの80%を占めるほど効率的です。
マルチモーダルな機能の統合も重要です。カメラを通した物体認識や、画像からの情報抽出(栄養ラベルの分析など)は、テキスト入力の限界を超えたインタラクションを可能にします。これにより、より直感的で状況に応じた支援が実現します。
NotebookLMのようなツールが提供するポッドキャスト生成機能は、情報消費の新しい方法を提供します。アップロードした文書に基づいて、カスタムオーディオコンテンツを生成し、移動中や散歩中に学習できます。
また、Cursorのようなコード開発環境との統合は、プロフェッショナルなワークフローの効率を大幅に向上させます。特に「Composer」機能は、開発者が高レベルの指示を出し、AIが実装の詳細を処理する「Vibeコーディング」という新しいパラダイムを可能にしています。
これらの機能を総合すると、LLMはより適応性が高く、パーソナライズされ、さまざまな使用状況に適したツールへと進化していることがわかります。単一の汎用的なインターフェースから、ユーザーの具体的なニーズや好みに合わせて調整できる柔軟なツールキットへの移行が進んでいます。
最終的に、これらのユーザー体験向上機能は、LLMをより広範なユーザーにアクセス可能にし、より多様な用途に適用できるようにしています。技術的な知識がなくても、自然言語でのインタラクションを通じて、複雑なタスクを実行できるようになっているのです。