AI記事 • 20分で読めます
AIのABC
AIの中核概念を説明するシンプルなアプローチ
産業
人工知能
発行日
2025年5月23日
この記事の内容
AIエージェントとは何か?
AI エージェントは、利用可能なツールに基づいてタスクを自律的に実行したり決定を下したりするように設計されたソフトウェア プログラムです。
以下に示すように、これらのエージェントは 1 つ以上の大規模言語モデルまたは基盤モデルに依存して、複雑なタスクを管理可能なサブタスクに分割します。
これらのサブタスクは、エージェントが実行できる一連のアクションに編成されます。
エージェントは、一連の定義済みツールにもアクセスできます。各ツールには、いつ、どのように順番に使用して課題に対処し、最終的な結論に到達するかを説明する説明が付いています。
何が彼らを特別なものにしているのでしょうか?
AI エージェントがタスクを取得すると、まず質問や問題などの複雑なユーザー入力を確認します。
まず入力を評価して、何が求められているかを理解します。
次に、記憶を使用して、すでに知っている有用な情報を思い出します。
次に、AIはアクションを実行します。これには、タスクをより小さなステップに分割したり、さまざまなアプローチを試したりすることが含まれます。各アクションの後、AIは結果を観察して、正しい方向に進んでいるかどうかを確認します。
最後に、AI は学習したすべてのことを考慮して、明確な最終回答をまとめます。
ではRPAとは何でしょうか?
RPA(ロボティック・プロセス・オートメーション)は、ソフトウェア「ロボット」またはボットを使用して、人間がコンピューター上で通常行う反復的なルールベースのタスクを自動化するテクノロジーです。
クリック、入力、システム間でのデータのコピーなどのアクションを模倣できるデジタルワーカーのようなもので、はるかに高速かつミスなく実行できます。
たとえば、RPA は、一連の事前定義されたルールに従って、フォームへの入力、請求書の処理、電子メールからのデータの抽出などのタスクを処理できます。
退屈な定型業務の時間を節約するのに最適ですが、「考える」ことも適応することもできず、プログラムされた手順に従うだけです。RPAは、金融、医療、カスタマーサービスなどの業界で、プロセスの効率化のために広く利用されています。
AI エージェントと RPA の違いは何ですか?
AI エージェントと RPA (ロボティック プロセス オートメーション) フローはどちらもタスクを自動化しますが、アプローチと機能が異なります。
AI エージェントは、多くの場合 LLM などのモデルを活用し、思考、学習、適応することができ、意思決定や自然言語理解を必要とする複雑なタスクを処理できます。
RPA フローは、データ入力やフォームへの入力などの反復的なタスクに対して、厳密に事前定義された手順に従うように設計されたルールベースのシステムです。
AI エージェントは動的な環境と対話し、非構造化データを処理できますが、RPA フローは構造化された予測可能な設定で最も効果的に機能します。
つまり、AI エージェントはよりインテリジェントで柔軟性があり、RPA フローは厳格ですが、日常的なプロセスには効率的です。
グラフデータとは何ですか?
グラフ データは、接続マップのように、点と線を使用して情報を整理する方法です。
ノードと呼ばれるドットは、人、場所、アイテムなどの事物を表します。
エッジと呼ばれる線は、人々の友情や都市間の道路など、それらのものがどのように関連しているかを示します。
たとえば、ソーシャル ネットワークでは、各人がノードであり、友人同士であれば、それらを接続するエッジが存在します。
これは関係性を示す簡単な方法であり、コンピューターが物事がどのようにリンクされているかを理解するのに役立ちます。
LLM では推論はどのように機能しますか?
この画像は、大規模言語モデル (LLM) における推論の仕組みを段階的に示しています。
まず、ユーザーは質問などの入力を LLM に提供します。
次に、モデルは「モデリング推論」と呼ばれるプロセスを使用して入力について考え、モデルの出力である答えまたはアイデアを導き出します。
このプロセスは数回繰り返され、モデルは推論と出力の間を行ったり来たりしながら考えを洗練させていきます。
最後に、数ラウンドを経て、LLM は「最終切り捨て出力」と呼ばれる最終的な洗練された答えを出します。
言語モデルの蒸留を解明する – パート1
この画像は、言語モデルを表す円を使用して、モデルの蒸留をシンプルに示しています。
大きな緑色の円は、GPT-4o のような大規模な言語モデルであり、強力ですが複雑で低速です。
小さいオレンジ色の円は、GPT-4o mini のような小型モデルで、パワーは劣りますが、高速で使いやすいです。
モデルの蒸留は、大きなモデルから小さなモデルへ知識を転送するプロセスであり、両者を結ぶ紫色の点線で示されています。
このようにして、小さなモデルは大きなモデルのように動作することを学習しますが、より効率的であり、日常のタスクに「使用する部品」になります。
言語モデルの蒸留を解明する – パート2
この画像は、OpenAI 環境で実装されたモデル蒸留のデータ プロセスをわかりやすく段階的に示しています。
これは、ユーザーのリクエストなどの UI/UX インターフェースからの入力を取得する標準の Large Language Model (LLM) から始まります。
LLM の応答は「出力キャプチャ OpenAI ダッシュボード」にキャプチャされ、モデルの動作に関するデータが収集されます。
次に、このデータは「データキュレーション、編集など OpenAI ダッシュボード」を通過し、品質を確保するためにクリーニングおよび精製されます。
最後に、キュレーションされたデータは「Model Fine-Tuning OpenAI Dashboard」で使用され、より小さく微調整されたモデル (SLM) がトレーニングされ、元の LLM のより効率的なバージョンが作成されます。
RAG を簡単に説明するとどうなりますか?
RAG (検索拡張生成) は、次の 2 つのステップを組み合わせて AI 言語モデルをよりスマートにする手法です。
- 情報を取得し、
- 回答を生成します。
まず、質問すると、RAG はドキュメントやデータベースなどの大量のデータから関連情報を検索し、有用な事実を見つけます。
次に、取得した情報を使用して、言語モデルがより優れた、より正確な回答を作成できるようにします。
学生がエッセイを書く前に本で事実を調べるようなものだと考えてください。AI がより情報に基づいた最新の回答を提供するのに役立ちます。
RAGは、モデルがトレーニング中に学習していない可能性のある特定の知識を必要とする質問に特に役立ちます。チャットボットや検索ツールなどで広く利用されており、回答の信頼性と詳細度を高めることができます。
AI エージェントとチャットボットの違いは何ですか?
この画像は、従来のチャットボットと AI エージェントを比較し、アーキテクチャ上の違いを強調しています。
従来のチャットボットは、NLU (自然言語理解) モデルに依存して意図とエンティティを処理し、事前定義された会話フローに従い、静的なダイアログ スクリプトまたは Q&A 用のセマンティック検索知識ベースを使用するため、柔軟性に欠け、スクリプトによる応答に限定されています。
対照的に、AI エージェントは高度な言語とマルチモーダル モデルを使用し、RAG、HITL、Web 検索、API などのツールを統合して、より動的に世界と対話します。
AI エージェントは、自然言語による応答を生成する前に、観察、計画、思考、評価、選択、実行というより複雑なプロセスに従い、思考して適応できるようにします。
全体的に、チャットボットはよりシンプルでルールベースですが、AI エージェントはよりインテリジェントで柔軟性があり、多様なタスクを処理できます。
エージェントスペクトルについての話とは何ですか?
この画像は、AI エージェントが単純なものから完全な自律的なものまで、どの程度の制御性と独立性を持っているかを示す「エージェント スペクトラム」について説明しています。
最低レベル(1 つ星)の「シンプル プロセッサ」は、出力の印刷などの基本的な指示に完全に人間の制御で従うだけです。
さらに上に進むと、「ルーター」(2 つ星)は、2 つの機能間の選択など、基本的なパスを決定でき、いつ行動するかを人間が決定します。
3 つ星の「ツール呼び出し」では、モデルが関数を選択して実行できますが、利用可能な関数とその使用方法は依然として人間が決定します。
さらに上位の「マルチステップ AI エージェント」(4 つ星)は、プログラム フローと反復処理を制御し、どのステップをいつ実行するかを決定できます。一方、「完全自律型 AI エージェント」(5 つ星)は、システムを完全に制御しながら、新しいコードを独立して作成および実行できます。
AI が Web を閲覧して必要なものを正確に取得できたらどうなるでしょうか?
Web ナビゲーション AI エージェント: オンライン インタラクションを再定義し、自律探索の未来を形作る。
エージェント探索とは、AI エージェントがデジタル世界、特に Web 上で自律的にナビゲートし、対話する能力を指します。
Web ナビゲーション AI エージェントは、情報検索、データ分析、さらには意思決定プロセスなどの複雑なタスクを自動化することで、オンライン インタラクションに革命をもたらしています。
これらのエージェントは、ウェブサイトを閲覧し、関連データを抽出し、事前に定義された目的に基づいてアクションを実行することで、ユーザーのオンラインコンテンツとの関わり方を変革します。これらのAIエージェントは、Webとのインタラクション方法を変革することで、よりパーソナライズされ、効率的で、インテリジェントなオンライン体験への道を切り開いています。
ウェブナビゲーション AI エージェントは進化を続け、自律探索の将来に大きな影響を与え、デジタル領域で AI が達成できることの限界を拡大しようとしています。
Web を読むだけでなく、あなたと同じように Web を見て、ボタンを簡単にクリックしたり画面をスキャンしたりする AI を想像してみてください...
エージェントの能力が向上するにつれて、言語モデルの画像/視覚機能を活用してナビゲーションを行う機能も拡張されます。
まず、視覚機能を備えた言語モデルは、追加のモダリティを組み込むことで AI エージェントを大幅に強化し、テキストとともに視覚情報を処理して理解できるようにします。
私はマルチモーダル モデルの最も効果的な使用例についてよく考えますが、視覚的な入力を必要とするエージェント アプリケーションにそれを適用するのがその代表的な例です。
第二に、Apple の Ferrit-UI、AppAgent v2、WebVoyager/LangChain 実装などの最近の開発では、名前付き境界ボックスを使用して GUI 要素をマッピングおよび定義する方法が示されており、エージェント駆動型タスクへのビジョンの統合がさらに進んでいます。
AI がハンドルを握ったらどうなるでしょうか。どのように活用しますか?
このクリップは、チャットボットのユーザーインターフェースを備えたコンピュータ利用AIエージェントを示しています。ユーザーはコンピュータ上で実行可能なあらゆる質問をすることができます。上記の例では、ユーザーが2つの都市間の最適なルートを尋ねています。コンピュータ利用AIエージェントはブラウザタブを開き、Googleマップにアクセスして、2つの都市に基づいたルート検索を実行できます。
もう1つの例として、ユーザーが建設現場の写真をAIエージェントにアップロードし、各タスクのステータスと未完了の要素を含むタスクリストを含むスプレッドシートの作成を依頼できます。
コンピュータ利用AIエージェントは、PCやノートパソコンのデジタル環境内に存在し、アプリケーション間を移動したり、メモリを構築したり、異なるアプリケーション間で情報やコンテキストを転送したりできると考えてください。私たち人間と同じように。
コンテキスト内学習は言語モデルにとってなぜそれほど重要なのでしょうか?
RAG を可能にする基本原理は、In-Context Learning (ICL) です。
コンテキスト内学習とは、モデルのパラメータを更新することなく、プロンプト自体に提供される例や情報に基づいて、適応して関連する応答を生成する大規模言語モデルの能力を指します。
プロンプト内に望ましい動作またはコンテキストの例をいくつか含めることで、モデルはパターンを推測し、それを新しい同様のタスクに適用できます。
このアプローチでは、モデルの内部理解を活用して、プロンプトで指定されたコンテキストのみに基づいて分類、翻訳、テキスト生成などのタスクを実行します。
コンテキスト内学習は、特定のデータに対する直接的なトレーニングが不可能なタスクや柔軟性が必要なタスクに特に役立ちます。
静的フロー – シンプルなワークフローを構築する便利な方法?
Static Flow は、簡単なワークフローの作成を簡素化するように設計されたユーザーフレンドリーなツールです。
ユーザーは、最小限のコーディング知識でアプリとサービスを接続して、反復的なタスクを自動化できます。
直感的なインターフェースにより、ユーザーはトリガーとアクションを定義して、データ転送や通知などのプロセスを効率化できます。
Static Flowは一般的なプラットフォームとの統合をサポートしており、中小企業や個人ユーザーにとって汎用性が高くなっています。ドラッグ&ドロップ機能により、シンプルな自動化タスクを迅速にセットアップし、効率的に管理できます。
ではプロンプトチェーンとは何でしょうか?
プロンプトチェーニングは、複雑なタスクをより小さく、より扱いやすい一連のプロンプトに分解する強力な手法です。各ステップの出力が次のステップの入力となります。このアプローチにより、LLMは単一のプロンプトでは処理しきれないほど複雑な問題に取り組むことができます。
図の主要コンポーネント:
- 順次処理フロー:
- ステップ1:初期プロンプト– 生のユーザークエリを取得し、管理可能なサブタスクに分解します
- ステップ2: 中間プロンプト– 最初のステップの結果を処理し、データを変換または調整します。
- ステップ3: 最終プロンプト– 処理された情報に基づいて最終出力を生成します
- ワークフローの例: 調査レポートの作成:
- トピック分析– LLMの最初のコールで研究すべき主要なサブトピックを特定
- コンテンツ生成– 2回目のLLMコールで各サブトピックの詳細なコンテンツが作成される
- 最終フォーマット– 3回目のLLMコールで、すべてをまとめて統一されたフォーマットされたレポートにまとめます。
- メリット
- 複数のプロンプトに作業を分割することでトークンコンテキストの制限を克服します
- 人間が中間結果を検証できるチェックポイントを作成する
- 各ステップを特定のサブタスクに特化できるようにする
- 複雑な問題に対するより制御された推論を可能にする
プロンプト チェーンは、複数の段階の処理や調査を必要とするタスクや、最終出力にさまざまな分析手順からの洞察を組み込む必要がある場合に特に役立ちます。
プロンプトエンジニアリングとは何ですか?
この図は、大規模な言語モデルから最良の結果を得るために最適な指示を作成する芸術と科学であるプロンプト エンジニアリングの多面的な性質を示しています。
コアコンポーネント
中心にあるのはPrompt Engineeringの基本概念であり、その周囲には次の 6 つの主要原則があります。
- 明確さ:曖昧さや誤解を最小限に抑えるため、正確な言葉遣いと具体的な指示を使用します。明確な指示は、明確な出力につながります。
- コンテキスト:モデルが必要なものの全範囲を理解するのに役立つ背景情報、詳細、および例を提供します。
- 制約:長さ、形式、スタイル、その他のパラメータに適切な境界を設定し、モデルを望ましい出力特性に導きます。
- 構造:モデルの理解を向上させるために、テンプレートや一貫したフォーマットを頻繁に使用しながら、論理的な流れと明確なセクションでプロンプトを整理します。
- 反復:テストとフィードバックのサイクルを通じてプロンプトを改良し、結果を徐々に改善して欠点に対処します。
- ペルソナ:モデルが採用する特定の役割またはキャラクターを定義します。これは、口調、専門知識のレベル、および視点に大きな影響を与える可能性があります。
高度なテクニック
下部のセクションでは、専門的なプロンプトエンジニアリング手法について説明します。
- 少数ショット学習:望ましいパターンや形式を示すためにプロンプト内に例を含める
- 思考の連鎖:モデルが問題を段階的に解決するように促し、推論能力を向上させる
- 役割プロンプト:特定の知識領域に応じて応答を調整するために、特定の専門知識の役割を割り当てます。
- 出力テンプレート:一貫性のある使いやすい結果を保証するために正確な出力形式を指定します
効果的なプロンプトエンジニアリングは反復的かつ状況依存的です。最適な方法は、具体的なタスク、モデル、そして望ましい結果によって異なります。最も効果的なアプローチは、多くの場合、複数の原則と手法を組み合わせて、信頼性の高い高品質な結果を生み出すプロンプトを作成します。
プロンプトを柔軟にするための最初のステップは何ですか?
この図は、言語モデル用の柔軟なプロンプトを作成する上で、パラメータ化が重要な最初のステップであることを示しています。この基本的な概念では、プロンプト内の固定要素を実行時に変更可能な変数に置き換えることが求められます。
パラメータ化の仕組み:
- 固定要素を特定する:状況に応じて変更する必要がある可能性のある特定の値、トピック、または指示についてプロンプトを調べます。
- 変数に置き換えます:これらの固定要素を、動的に入力できるパラメータに変換します。
- テンプレートを作成する:変数コンテンツ用の明確にマークされたプレースホルダーを備えた再利用可能なパターンを開発します。
- ユースケース全体でテストする:パラメーター化されたプロンプトがさまざまな変数値で効果的に機能することを確認します。
変換例
- 原文(厳密な意味): 「犬について書いてください」
- Parameterized (Single Variable): “Write about {topic}”
- Advanced (Multiple Variables): “Write about {topic} in {style}”
主な利点:
- 再利用性:同じプロンプトテンプレートを異なる入力で繰り返し使用できます。
- 適応性:プロンプトは書き直しをすることなく、さまざまなシナリオに合わせて簡単に変更できます。
- スケーラビリティ: 1つの適切に設計されたプロンプトは、多くのユースケースに対応できます。
パラメータ化から始めることで、条件付きロジック、動的なフォーマット、コンテキストに応じたバリエーションなど、より洗練されたプロンプト エンジニアリング手法の基盤を構築できます。