AIエージェント開発 - Shinichi0713/LLM-fundamental-study GitHub Wiki
複数のAIエージェントを組合わせることで実現する。
ユーザー入力に基づいて適切なエージェントにクエリを動的にルーティングするインテリジェントな意図分類を提供。
PythonとTypeScriptの両方の言語をサポートしており、さまざまなエージェントからのストリーミングおよび非ストリーミングの両方の応答に対応。
- インテリジェントな意図分類 Multi-Agent Orchestratorは、ユーザー入力の内容と会話のコンテキストを分析し、最適なエージェントにクエリを動的にルーティングします。これにより、異なる分野やタスクに特化した複数のエージェントが効率的に活用
- 柔軟なエージェント応答 エージェントからのストリーミング応答と非ストリーミング応答の両方をサポートします。この機能により、リアルタイムの対話が必要なシナリオやバッチ処理が適したケースのいずれにも対応可能
- コンテキスト管理 このフレームワークは、エージェント間で会話コンテキストを共有し、複雑なマルチターン会話を一貫性を持って処理
- 拡張可能なアーキテクチャ 特定のニーズに応じて、容易に新しいエージェントを統合したり、既存のエージェントをカスタマイズ
- ユニバーサルデプロイメント Multi-Agent Orchestratorは、AWS Lambdaやローカル環境、または他のクラウドプラットフォームなど、任意の環境で実行できます。
- 事前に構築されたエージェントと分類子
〇AIエージェント開発の現状 マネジドサービスを使ったエージェントサービスが作成出来る。
OSSやbedrockを使ってAIエージェントをつくることが出来る。
〇リスクを計測する必要性
- AIチャットボットの誤解答は企業が責任を負う。
- マクドナルドは注文がAIによって、間違ってオーダーをとっていた。
以下のような環境化では、リスクを監視する必要がある。
KPIは計測のみで対応までを指示するものではない。
実績が出ている事例をもとにゴールを共有。
ML Enablement Workdhopによるチームの組成。
〇広めるフェーズのチェック AIエージェントの導入は長期的。
サマリ
- AIエージェントの取り組みは今後10年にわたって続く
- 生成AIの活用は試す、任せる、広めるの3Step
- 各ステップの良くある課題を解決するサービス 重要なことは、AIエージェントに取り組んでから、継続出来た人が勝者になる。 そのためには、リスクを分かっている、効果を計測する。
自分の仕事を楽にするためのAIエージェントを扱っている。
情報をコピーして移す。
英語文を日本語にして変換する。
開発はamazon bedrock Agent
slackがtrigger→EC2で実行→lambdaのツールを実行
FC Agent開発の流れとポイント
プロンプトをアップデートして、自分たちの中でプロンプトをアップデートする仕組み。
話者:ML Ops Engineer
〇AIエージェント現状
AI workflow / AI agentの用途
障害対応の報告書、社内情報の検索
AI エージェント:支援の話
〇AI Agentの違い
システムに求められる予測可能性によって、どの程度自律性を持たせることが出来るかによってきます。
MCPによって、AIがファイルシステムへの操作を行うことが出来るようになる。
LLM Opsの難しさ
LLMの課題
- 出力評価
- 従来のMLOps手法が通用しない
- モデル/プロンプトの出力精度低下
LLMOpsの難しさ AI Agent時代により、更に課題が出てきた
ペアーズで利用しているMCP KB Retriever Tool
RAGは準備、クエリ、検索、後処理で改善のアプローチがある。
オフライン評価のプロセス
AI Agentの評価
評価法が先に確立されるべき。
Ragasで評価、レバレージでアノテーション。
LLMAs a Judgeでオンライン評価。 評価の性能と、判断の性能は同一モデルでも異なる。
AI Agentの評価と向き合う
Langfuse + Mastraでトレーシングする。
最終出力だけでなくLAAJでオンライン評価し、カスタムスコアとして保存。
※Agentic Ragが自作AI Agentを行う上でおススメ
TIS株式会社
〇AI coding Agentとは?
AIがコード自動生成、保管、デバッグ、ドキュメント作成を支援するツール
github copilot、Cursorなど
〇Cline
bedrockの組合せは利用のハードルが低い。
チャットに指示を出すとアプリケーションが完成する
自然言語で指示する。
AIが即時にコードを提案。
→エンジニアの役割が、AIに意図を正確に伝える仕事になる可能性がある。
指示を以下に言語化するかということが重要となる。
〇MCPサーバー
AWSドキュメンテーションサーバー:何かあるたびにAWSドキュメントを参照することが出来る
コーディング規約を守らせるということが重要となる→clinerulesなるドキュメントを記載すると実施出来る。
メモリバンク:あるタスクで使ったメモリを他のタスクで使うことが出来るようになる。
〇プロンプトの要件
- 指示は具体的に書く方が良い。
- はじめは小さくつくり、次足ししていくのが良い。
人間は成果物全体を確認して修正してく。
出来上がったコードが想定通りではなかったら、無駄になってしまうことがある。
少しづつ作っては保存→継ぎ足して完成を目指す。 - clinerulesを解像度高く記載する
〇注意点
- コストはあっという間に積みあがっていく
- clineの中のブラウザ機能は使い過ぎない
ブラウザ機能を使うと、インターネットを参照しに行く
ブラウザの画像を使ってマルチモーダルで把握している
こまめに中断するリスクに備えておくべき
〇コーディング以外からの活用
- コードからドキュメントから書き起こす コードから、設計書を作成することが出来る
- プロモーションやマーケティングに活用
インタービュー記事を生成することが出来る
〇Amazon Q Developer CLI Agent
AWSを直接参照するタスクに簡単に対応することが出来る
環境情報を参考にしながら、CLI用の構成図を作成することが出来る。