Open3

AIエージェント開発運用入門を読む

ioio

第1章 LLMとAIエージェントの基本

概念の復習

  • Chain-of-Thought
    • LLMに段階的な思考をさせる
    • Reasoningモデルではモデル自体に推論システムを組み込んでいる
  • ReAct
    • 行動計画を立ててタスク実行、見直しのサイクル
  • Tool
    • Web検索やスライド作成など
  • Function Calling(Tool Use)
    • エージェントがLLMからのツール呼び出し要求を受けてツールのプログラムを実行、結果をLLMに渡す
  • Model Context Protocol
    • ツール実装の接続仕様
    • ホストはアプリケーション本体
    • クライアントはインスタンス
    • サーバーはツールの実行や結果の返却を実施する
    • APIを実行したりファイル操作するプログラム
  • メモリ
    • 短期記憶と長期記憶
    • 長期記憶はコンテキストウィンドウの制約を回避するために要約を用いる
  • ガードレール
    • LLMの制御
  • RAG
    • データベースをセマンティック検索・抽出してLLMにコンテキストの形で渡す
    • ベクトルDBに格納する際にチャンキングを適切に行うと精度が上がる
    • DBのコストがかかるのでMCPとかツールから導入するのがいい
ioio

第2章 LLMのAPIを使ってみよう

  • Amazon Bedrock
    • 従量課金で複数の生成AIもモデルを利用可能
    • 周辺機能もマネージドサービスとして使える
  • プロンプトキャッシュ
    • 入力プロンプト冒頭のを一時保存して5分間再利用する
    • Q&Aを継続するとか同じ文字列が出現する時に有効
  • ConverseAPIを使った推論
    • client.converse()
  • ストリーミング処理
    • client.converse_stream()
  • 拡張思考
    • additionalModelRequestFieldsにトークン数を指定
  • Tool Use
    • 祝日を取得する関数をツールとして定義
    • 利用要否の判断やパラメーターの作成をLLMに委ねられる
    • toolConfig={"tools": tools}
ioio

第3章 AIエージェント開発ツールの紹介

LLMアプリ

  • LangChain
    • AIエージェント構築機能はLangGraph
    • Pythonメイン
  • LlamaIndex
  • Sematnic Kernel
    • Microsoftが提供
    • サブモジュールにAgent Framework
    • 別製品のAutoGenは実験的
  • AI SDK
    • VercelのOSS

AIエージェント

  • Mastra
    • TSメイン
  • VoltAgent
    • VoltOpsというローカルデバッグ用のツールが備わっている
  • OpenAI Agents SDK
    • シンプルさが特徴
  • Agent Development Kit
    • Googleが提供
    • adk webでローカルデバッグできる
  • Strands Agents
    • AWSが提供

プラットフォーム