Upgrade to Pro — share decks privately, control downloads, hide ads and more …

LLMエージェント勉強会

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest. →

 LLMエージェント勉強会

Avatar for nw-engineer

nw-engineer

March 18, 2026

More Decks by nw-engineer

Other Decks in Technology

Transcript

  1. 代表的な LLMモデル 現在は多様なLLMが登場し競争が進んでいます。主要な モデルの特徴を見ていきましょう。 • GPT: OpenAIが開発。最新のGPT-4は高度な推論と多言語 処理能力を持つ • Gemini:

    Googleが開発。マルチモーダル処理に優れた次世 代AI • Claude: Anthropicが開発。長文処理と安全性に強み • Llama: Metaのオープンソースモデル。研究利用に広く普 及 • Gemma: Googleの軽量オープンソースモデル。効率的な推 論が可能 5
  2. 第2章の全体像とポイ ント エージェント作成のための基礎知識  OpenAI APIの基礎と応用  テキスト生成からFunction Callingまで 

    画像・音声処理の活用法  LangChainによるLLMアプリ開発  チャット・翻訳・ツール連携アプリの構築  Plan-and-Solveによる高度なAIタスク処理  GradioでのGUI実装  Pythonコードから簡単にWebアプリへ  リアルタイム応答・データ可視化の実装  応用例や最新手法も実践的に解説
  3. OpenAI APIとは 様々なAI機能をひとつのAPIで提供  テキスト生成 ChatGPTモデルによる自然言語の生成・対話。会話履歴管理やシ ステムロール設定も可能。  テキスト埋め込み テキストをベクトル化し、意味検索や類似性判定などに活用可

    能。  音声認識/合成 WhisperによるSTT(音声→テキスト)とTTS(テキスト→音声) 機能。  画像生成/解析 DALL-E画像生成とGPT-4V画像理解。複数モーダル入力対応。  Function Calling 外部ツール・関数の呼び出しと連携。JSONスキーマによる構造化 出力。
  4. テキスト生成の基礎 ChatGPTと会話システム  User ユーザーからの入力。質問や指示を送信し、会話を開始・継続。 メッセージごとに"role": "user"として識別。  Assistant AIアシスタントの応答。前回までの会話履歴を考慮して返答。メッ

    セージごとに"role": "assistant"として識別。  System AIの動作や性格を規定する指示。会話の冒頭で設定し、ユーザーに は表示されない。"role": "system"として識別。  会話履歴管理 時系列順のメッセージ配列として管理。 User→Assistant→User→...のターン構造。コンテキスト理解のた め過去会話を保持。
  5. テキスト生成の応用 Function CallingとStructured Output  Function Callingの仕組み LLMが外部ツール・関数を自動的に呼び出せる機能。ユーザーの意 図を解析し、適切な関数とパラメータを特定。 

    JSON Schemaによる定義 関数名、引数、型などの情報をJSON Schemaで定義。Pydanticを 活用した型検証も可能。  Structured Output response_formatパラメータで、JSON形式など厳密な構造での出 力を強制。データ処理に最適。  ツール連携プロセス ①ツール定義→②AIが呼び出すべきツールを判断→③引数生成→④ ツール実行→⑤結果をAIへフィードバック
  6. マルチモーダル機能(画像・音声の処理) OpenAI APIによる多様なモーダリティの処理 画像関連機能  Vision API(画像理解) テキストと画像を同時に入力できるマルチモーダルな機能。画像の 内容理解、分析、質問応答が可能。 例:

    「この画像に何が写っていますか?」 「この図表を分析してくだ さい」  DALL-E(画像生成) 自然言語の指示から高品質な画像を生成。サイズやスタイルの指定 も可能。 例: 「青い空を背景に赤いバラが咲いている写真風の画像」  画像編集・バリエーション 既存画像の一部を自然な形で編集したり、似たスタイルの別バージ ョンを生成したりできる機能。 音声関連機能  Whisper API(音声→テキスト) 高精度な音声認識モデルで多言語に対応。ノイズに強く、様々な音 声形式を処理可能。 例: 会議録の自動文字起こし、音声コンテンツのテキスト化  TTS API(テキスト→音声) 自然でリアルな音声合成。複数の話者やスタイル、言語に対応。 例: オーディオブック作成、ナレーション生成、アクセシビリティ向 上  言語処理との連携 音声認識→テキスト処理→音声合成の一連のフローで高度な対話や 翻訳が実現可能。
  7. LangChain入門 LLMアプリ開発のためのフレームワーク  Chat Models OpenAI・Anthropicなど各種LLM APIを統一インターフェースで利 用。履歴管理やストリーミング出力も簡単に実装。  Prompts

    プロンプトのテンプレート化や変数挿入を効率化。再利用性と一貫 性のあるAI指示を設計可能。  Tools 外部ツール・APIと簡単に連携。Pydanticによる型検証と組み合わ せ、強力な拡張機能を実現。  Chains 複数の処理を連鎖させてパイプライン構築。LCEL(LangChain Expression Language)で直感的に記述可能。
  8. LangChainアプリケーション例 チャット・翻訳・ツール活用の実践  チャットアプリケーション  翻訳アプリケーション  ツール活用アプリ  CSV自動生成・保存

     チャットアプリケーション ChatOpenAIクラスを使って会話履歴を管理。HumanMessage、 AIMessage、SystemMessageクラスで役割を明確に区分。  翻訳アプリケーション PromptTemplateで指示をテンプレート化。LangChain Expression Language(LCEL)によるパイプライン処理で効率的 な翻訳処理を実現。  ツール(関数)活用アプリ @toolデコレータとPydanticで外部ツールを定義。bind_tools関数 でLLMと連携し、自然言語から適切なツールを選択・実行。  データ生成&自動処理 Runnableの連結で自然言語の命令からCSV生成、ファイル保存ま でを自動化。複雑なワークフローも簡潔に記述可能。  テンプレートとチェーン連結 複数のコンポーネントを自由に組み合わせ、複雑なAIアプリケーシ ョンを構築。再利用可能な部品でアプリ開発を効率化。
  9. Plan-and-Solve戦略(高度なチャットボット) タスク分析から解決までの段階的アプローチ  タスク分析 複雑な問題を理解し、どのような知識や手順が必要かを分析。問題の性質と範囲を特定します。  計画立案(Plan) 問題解決のための明確なステップを順序立てて計画。各ステップの目標と方法を決定します。  逐次実行

    各ステップを順番に実行し、結果を確認。中間結果を次のステップに活かします。  思考過程(Chain-of-Thought) 考えるプロセスを明示的に記録。思考の流れを示すことで透明性と信頼性を高めます。  解決と検証 最終解答を導き出し、タスク全体が適切に解決されたか検証します。
  10. GradioによるGUI化 WebアプリケーションへのAI組み込み  シンプルなPythonコード わずか数行のコードでWebインターフェースを構築。AI機能を簡単 にUI化できます。  豊富なUIコンポーネント テキスト、ボタン、スライダー、画像、音声、ファイルなど多様な 入出力に対応。

     チャットボットインターフェース ChatbotコンポーネントやChatInterfaceで会話履歴管理や状態保 持が簡単。  ストリーミング出力 yieldとstreamパラメータで、LLMの生成過程をリアルタイムに表 示可能。  レイアウトカスタマイズ Row、Column、Tab、Accordionなどを使ってデザイン性の高い UIを構築。
  11. LLMの知識の限界 学習データ以降の最新情報を知らない 専門分野の詳細知識に弱い 組織固有の情報を持っていない RAGによる解決 外部文書からリアルタイムに情報取得 自社文書を検索対象に追加可能 検索と生成の融合で正確性向上 知識注入とRAGとは LLMは標準知識が中心。独自の知識や新しい情報を

    与えるには「コンテキスト注入」 「RAG(検索拡張生 成) 」が重要です。 RAG(Retrieval Augmented Generation)とは 質問に関連する情報を外部文書から検索し、その情報をLLMに与える ことで、より正確で最新の回答を生成する手法です。
  12. RAGプロセスの流れ 1 ユーザーの質問:LLMに対する質問・リクエストが 入力されます 2 外部文書の検索:質問に関連する文書やデータを検 索します 3 情報を取得しLLMで処理:関連情報をLLMのコンテ キストに組み込みます

    4 より正確な回答生成:外部知識に基づいた精度の高 い回答を生成します RAG(検索拡張生成)はLLMに最新かつ専門的な知 識を与え、より正確な回答を可能にします。
  13. 検索API 最新情報を検索エンジンから取得し、LLMの知識を常に更新。 計算ツール 複雑な数値計算や演算をPythonなどで正確に処理。 カスタムツール 特定の業務やタスク向けに独自開発した関数やAPIを連携。 LLMだけでは限界があるタスクも 外部ツール連携で大きく拡張できます! 外部ツール連携の重要性 最新情報の検索や計算など、LLM単体では難しいタ

    スクを外部ツールと連携することで実現します。 例えば... ・ウェブ検索でリアルタイム情報を取得 ・計算ツールで複雑な数式を処理 ・自作プログラムで専用機能を実装 LLMをハブとして様々なツールを組み合わせること で、より賢く柔軟なシステムを構築できます。
  14.    ReActの実践例 複数のツールを自律的に組み合わせ、ステップを踏 んでタスクを完了します。  思考ステップ 質問を分析し、必要なツールと情報を特定します 

    行動ステップ 適切なツール(検索、計算など)を選択して実行します  結果ステップ 得られた情報を統合し、最終的な回答を生成します  質問を理解し、必要な情報を特定 「今日のソニーの株価と業績見通しは?」  情報収集ツール選択と実行 ウェブ検索APIを使って最新の株価データ取得  データ分析と計算 過去平均との比較、トレンド分析  結果整理と回答生成 「ソニーの株価は◦◦円で、前日比△△%。今期の業績見通しは...」
  15. 従来システムとの違い マルチエージェントLLMの主な利点: 単一LLM マルチエージェントLLM 1つのモデルが全ての処理を 担当 複数のモデルが分担・協力して処 理 単一の視点からの判断 多角的な視点からの判断

    一度に1つのタスクに集中 複数タスクの並列処理が可能 知識の制約あり 専門性を持ったエージェント間で 補完 環境変化への対応に限界 柔軟な役割分担でシナリオに適応 効率的なタスク処理 - 情報交換による多面的な問 題対応 • 柔軟性・適応性 - 並列処理と動的環境への適合 • 専門性の分担 - 異なる役割を持つエージェント間 の協力 • 人間との協調 - 人間フィードバックを取り入れた 質向上 •
  16. ツール連携機能 LLMエージェント LangGraph State Manager 検索API 計算ツール 外部DB LangGraphによるツール連携の仕組み LangGraphを使ってLLMと外部ツールを簡単に

    連携 • 検索API統合:リアルタイム情報の取得(Tavily 等) • ツールノード:特定機能を実行するノードを追 加可能 • 動的な情報連携:状態(State)を介したデータ 共有 • 拡張性:計算ツール、データベース、APIなど多 様なツールと接続可能 •
  17. 応用例①:MathChat 数学問題を分担・協力して解くLLMマルチエージェ ントシステム MathChatの解決プロセス 1 問題分析 数学問題を理解し、解決アプローチを決定 2 計算・推論 複数エージェントが協力して計算・証明を実行

    3 検証・修正 結果を検証し、必要に応じて修正 4 最終解答 検証済みの解答をユーザーに提示 複数のLLMエージェントが異なる役割を担当 • ユーザープロキシエージェントが人間の代わり に参加 • Python実行環境やSymPyなどのツールを活用 • 複雑な数学問題を段階的に分解・解決 • やさしく学ぶLLMエージェント
  18. 応用例②:MAD(議論システム) 肯定側エージェント 議題に対して肯定的な立場から論拠を提示し主張 否定側エージェント 議題に対して否定的な立場から反論や代替案を提示 判定者エージェント 両者の論理性・説得力・証拠の質を評価して判定 ラウンド1 初期主張 →

    ラウンド2 反論・再反論 判定 勝者決定 ← ラウンド3 最終主張 Multi-Agent Debate:複数のLLMエージェントが 議論を行うシステム • 肯定側・否定側・判定者の3つのエージェントで 構成 • 複数ラウンドにわたる議論を通じて、トピック の多角的分析を実現 • 議論終了後、判定者が論理性・説得力を評価し て勝者を決定 •