1. はじめに
Qiita でブログをはじめて約1年が経ちまして、色々な生成AIの記事を書いてきましたが、自分自身の整理も含めて、生成AIの再入門としてまとめてみました。
2. 生成AIが生まれるまでの道のり
AI誕生から生成AI(特にLLM)が生まれるまでの道のりについて記載します。
2010年位までは、AI ブームと言われる現象は何度か起こっているものの、長く続くことはなく、10年単位での進化スピードだったと言えます。
いわゆる Chat-GPT が大きく報道されてから、年単位、月単位、日単位(汗)で進化が続いています。
3. 生成AIの基本的な使い方
生成AIの基本的な能力を引き出すためのチューニング手法について記載します。
・パラメータチューニング
生成AI に対して、下記のパラメータを調整することで、より質問への回答精度を高める。
温度(Temperature)
モデルの出力の 創造性、ランダム性 を制御するパラメータ。
0 に近いほど決定的(安定した出力)に、高いほど創造的(多様な出力)になる。
Top-P
確率の高いトークンから、累積確率が P になるまでのトークンだけを候補にする。
非常に低確率で不適切な単語の出現を防ぎつつ、ある程度の多様性を保つ。
Top-K
最も確率の高い上位K個のトークンに選択肢を絞り込む。
Top-P が上位からの確率で絞り込むのに対して、上位からの個数で絞り込みを行う。
・プロンプトチューニング
生成AIへの「指示」となる入力テキスト(プロンプト)を工夫することで、AIの出力品質や内容を最適化する技術です。
Few-shot prompting
LLMへの指示のプロンプト内に、「入力とその期待される出力」のペアを複数(Few-Shot = 2つ以上)提示し、その後に新しい質問やデータを入力する手法です。
CoT(Chain-of-Thought prompting)
複雑な推論問題、算数/数学の問題、多段階の論理的思考が必要なタスクにおいて、LLMの回答の精度と信頼性を向上させるために有効な手法です。
人間が難しい問題に取り組む際に「頭の中で順序立てて考える」プロセス(思考の過程)を、LLMに段階的に指示することで、より精度の高い回答を引き出すことができます。
4. 生成AIの発展的な使い方
生成AIでは、どうしても一般論での回答となるため、自分の会社の情報に特化した回答などを行うことができませんでした。また、生成AIが知らないことを聞かれた場合に嘘の情報を生成してしまう「ハルシネーション」も問題となっていました。これらを軽減するための使い方を示します。
・RAG (Retrieval-Augmented Generation:検索拡張生成)
生成AIの弱点である「ハルシネーション」 (嘘の情報を生成すること)や
学習データにない最新情報への対応不足を克服するためのアプローチです。
外部の信頼できる情報源(データベース、ドキュメント、ウェブなど)から関連情報を
「検索(Retrieval)」し、その情報をプロンプトに加えて生成AIに「生成(Generation)」
させることで、より正確で根拠に基づいた回答を得られます。
・ファインチューニング(Fine-tuning)
事前学習済みの汎用モデルを、特定のタスクやドメインのデータで追加学習させることで、モデルの重みを更新し、タスクに特化した性能を向上させる手法です。ただし、再学習のためのデータ収集・準備、GPUリソースなどのコストが必要で、学習時間がかかります。少ないリソースでモデルをカスタマイズできる手法 LoRA(Low-Rank Adaptation)も注目されています。
5. 生成AIエージェントとマルチエージェント技術
・生成AIエージェント
エージェントの定義: 目標達成のために、自ら計画・思考・行動し、その結果を基に反省・修正を繰り返すAIシステムです。
Planner/Brain(脳): LLM。目標を理解し、タスクに分解し、行動を決定する。
Tools(道具): Web検索、コード実行、外部APIなど、行動を実行するためのツール。
Memory(記憶): 対話履歴、計画、実行結果などを保持し、次期行動に活かす。
のような構成をとり、目標達成を目指して行動します。
・標準化された接続プロトコル:MCP
MCP (Model Context Protocol): Anthropic社などが提唱する、AIエージェントが外部のツールやデータソースにアクセスするための共通プロトコルです。
エージェントが外部機能(Web検索、計算、API呼び出しなど)を統一された方法で使えるようにします。
・複数のAIの協調:マルチエージェント技術とA2A
マルチエージェントシステム
複数のAIエージェントがそれぞれの役割(例:リサーチャー、ライター、レビューア)を持って協調・競争しながら一つの大きな目標を達成する技術です。
A2A (Agent to Agent)
エージェント同士が、人間を介さずにタスクや中間成果物を直接やり取りして協働するための技術的枠組みやプロトコル。これにより、より複雑で大規模なタスクの自動実行が可能になります。
ADK(Agent Development Kit)
Google社が提供する、A2A を実現するためのフレームワークです。
ADK により、マルチエージェントを作成することが非常に容易になりました。
(Google ADKを使ってA2Aマルチエージェント通信を実験してみたをご参照ください)
6. まとめと今後の展望
生成AIは、プロンプトチューニングからファインチューニング、そして自律的なエージェントへと進化しています。RAGとエージェント技術は、生成AIを実務で活用するための主要な方向性であり、MCPやA2Aといったプロトコルは、今後のAIインフラを標準化し、エージェントの普及を加速させる鍵となると思います。今後も、A2Aを中心とした生成AIの発展に注目していきます。
最後までご覧くださり、ありがとうございました。
