登録して招待リンクを共有すると、動画再生報酬と紹介報酬を獲得できます。

検索結果 2
2 コミュニティ
1つのキーワードが1つのコミュニティです。
コミュニティ作成
アカウント
見つかりません
2 を含む検索結果
テレ東「ギャビーのドールハウス」 第127話 マーティ・ザ・パーティーキャット(後編) #TVer# #ギャビーのドールハウス#
# ADKの便利で実践的な使い方 ## 🎨 実戦で使えるコールバックパターン集!ADKのCallback Design Patterns コールバックの基本は分かった、でも実際どう使うの?ADKの **Callback Design Patterns** で、ログ・キャッシュ・セキュリティなど実戦パターンをマスターしましょう!💪 ## 📌 タイトル Callback Patterns(コールバックデザインパターン) ## 🔗 URL ## 🧩 概要 ADKのコールバックには、実戦で繰り返し使われる定番パターンがあります。ロギング、キャッシュ、ステート管理、セキュリティガードレール、リクエスト/レスポンス変換、条件付きスキップ、アーティファクト処理などです。 さらに、これらのパターンを効果的に使うためのベストプラクティス(単一責任、パフォーマンス、冪等性、エラーハンドリング)も定義されています。 重要な判断基準として、**エージェント横断のセキュリティガードレールにはCallbacksよりもPluginsが推奨**されています。 ## 🛠 使い方 **パターン1: ロギング&モニタリング** `logging_before_tool(ctx, tool, args)` では `ctx.invocation_id`、` を ` で記録し、`None` を返してフローを変更しません。`logging_after_model(ctx, response)` では ` の長さを ` で記録し、同様に `None` を返して観察のみ行います。 **パターン2: キャッシュ戦略** `cache_before_tool(ctx, tool, args)` では、` と `hash(str(args))` からキャッシュキーを生成し、`ctx.state.get(cache_key)` でキャッシュを検索します。キャッシュヒットすればその値を返してツール実行をスキップし、ミスなら `None` を返して通常実行します。`cache_after_tool(ctx, tool, args, tool_ctx, result)` では、同じキャッシュキーで `ctx.state[cache_key] = result` として結果を保存し、`None` を返してフローを変更しません。 **パターン3: ステート管理** `state_aware_callback(ctx, req)` では、`ctx.state.get("user:tier", "free")` でユーザーティアを取得し、`"premium"` であれば `req.config.system_instruction` にプレミアム向けの追加指示を動的に付加します。`None` を返してフローはそのまま続行します。 ## 🏗 実践的な使い方 **本番環境での多層防御パターン:** セキュリティガードレール(本番ではPluginsを推奨)として `security_before_model(ctx, req)` を定義します。`req.contents[-1].parts[0].text` からユーザー入力を取得し、`detect_pii()` でPIIを検出した場合は `audit_log()` で監査記録を残し、拒否メッセージ入りの `LlmResponse` を返してLLM呼び出しをスキップします。続いて `detect_injection()` でプロンプトインジェクションを検出した場合も同様にブロックします。いずれにも該当しなければ `None` を返して続行します。ツール引数のサニタイズとして `sanitize_before_tool(ctx, tool, args)` を定義し、` が `"database_query"` の場合に `args.get("query", "")` に `"DROP"` が含まれていればエラー辞書を返してツール実行をブロックします。アーティファクト保存として `save_artifact_after_agent(ctx)` を定義し、`generate_report(ctx)` でレポートを生成して `"execution_report.json", report)` で保存し、`None` を返します。 ## 💡 ユースケース - 📊 **構造化ロギング**:全実行ポイントで invocation_id 付きの構造化ログを出力 - 💾 **APIコスト削減**:before/after パターンでツール結果をキャッシュし、同じ引数の再呼び出しを防止 - 🔐 **多層セキュリティ**:PII検出、インジェクション防止、SQLサニタイズを各レイヤーに配置 - 📦 **アーティファクト管理**:実行結果やレポートをアーティファクトとして自動保存 - 🎚️ **動的振る舞い制御**:ユーザーティアやステートに応じてインストラクションを動的変更 ## ⚠️ 注意点 - **単一責任の原則**:1つのコールバックに1つの目的を持たせてください(ロギングとバリデーションを混ぜない) - **パフォーマンス**:コールバックは同期実行されるため、ブロッキングI/Oや重い処理は避けましょう - **冪等性**:外部副作用を持つコールバックは、リトライ時に安全であるように設計してください - **エラーハンドリング**:必ず try-except で囲み、コールバックエラーがプロセス全体をクラッシュさせないようにしましょう - **Plugins推奨**:エージェント横断のセキュリティポリシーには、Callbacksよりも **Plugins** を検討してください ## ✨ まとめ コールバックパターンを知ることで、ADKエージェントの実践力が格段に上がります。ログ・キャッシュ・セキュリティ・ステート管理…定番パターンを組み合わせて、堅牢でコスト効率の良いエージェントを構築しましょう。ただし、横断的なセキュリティにはPluginsの利用もお忘れなく! #ADK# #AIAgent#
もっと見る
# OpenAI Agent SDKの便利だけど知られていない機能 🌍 複数の LLM プロバイダを 1 つのエージェントシステムで混在させたいと思ったことはありませんか? `MultiProvider` を使えば、モデル名のプレフィックスで自動的にプロバイダをルーティングできます。 📌 タイトル:MultiProvider による接頭辞ルーティング 🔗 URL: 🧩 概要 `MultiProvider` は、モデル名のプレフィックス(例:`openai/gpt-4.1`)に基づいてリクエストを適切なプロバイダに自動ルーティングします。`openai_prefix_mode="model_id"` を設定すると `openai/...` をそのままモデル ID として扱い、`unknown_prefix_mode="model_id"` で未知のプレフィックスもモデル ID としてルーティングします。`openai_use_responses_websocket=True` で WebSocket トランスポートも有効化可能です。 🛠 使い方 ```python from agents import Agent, MultiProvider, RunConfig, Runner provider = MultiProvider( openai_base_url="", openai_api_key="...", openai_use_responses_websocket=True, openai_prefix_mode="model_id", unknown_prefix_mode="model_id", ) agent = Agent( name="Assistant", instructions="Be concise.", model="openai/gpt-4.1", ) result = await agent, "Hello", run_config=RunConfig(model_provider=provider), ) ``` 🏗 本番システムへの組み込み方 ・コストやレイテンシに応じて、エージェントごとに異なるプロバイダのモデルを割り当てる ・OpenRouter などの統合ゲートウェイと組み合わせ、`openai_prefix_mode="model_id"` でプレフィックス付きモデル名をそのまま渡す ・`RunConfig(model_provider=provider)` で実行時にプロバイダを切り替え、A/B テストを実施する ・WebSocket を有効にして、対応プロバイダでのストリーミング性能を向上させる 💡 ユースケース 🔀 タスクの難易度に応じた GPT-4.1 / GPT-5.5 の使い分け 🌐 OpenRouter 経由での複数プロバイダへのアクセス統合 💰 高コストモデルと低コストモデルのハイブリッド運用 🧪 異なるモデル間での品質比較テスト ⚠️ 注意点 デフォルトでは `openai/...` は OpenAI プロバイダのエイリアスとして扱われ、未知のプレフィックスは `UserError` を発生させます。OpenRouter など外部ゲートウェイを使う場合は、必ず `openai_prefix_mode` と `unknown_prefix_mode` を `"model_id"` に設定してください。プロバイダごとに対応する機能(ツール呼び出し、構造化出力など)が異なる点にも注意が必要です。 ✨ MultiProvider で、複数のモデルを自在に組み合わせたエージェントシステムを構築しましょう。 #OpenAIAgentSDK# #AIAgent#
もっと見る
まだまだマイナーな競技だけど… 『情熱大陸』セパタクロー男子日本代表が登場【アジア大会】
過熱する誹謗中傷…AI時代の到来… 『ザ・ノンフィクション』はなぜ愛されるのか 新チーフプロデューサーが描く ドキュメンタリーの未来【独占インタビュー】
もっと見る
ABCテレビ「名探偵プリキュア!」 第35話 恋の名探偵 #TVer# #名探偵プリキュア# #たんプリ# #precure# #プリキュア# @TVanime_precure
テレ東「トミプラワールド のりのりタイムズ!!」 ちっちゃいしょうぼうしゃ&えのでん #TVer# #トミプラワールド# @takaratomytoys
テレビ新広島「そ~だったのかンパニー」 介護の常識を変えたショッピングリハビリ #TVer# #そ~だったのかンパニー#
BSテレ東「ゴルフ侍、見参!」 #678# G・マイヤープロ vs 杉本拓アマ@スリーレイクスカントリークラブ #TVer# #ゴルフ侍見参#
✨ドラゴンボール✨ 恐竜に乗る悟空とブルマのフィギュア “ナメック星Ver.”ブルマも発表 #ドラゴンボール# #dragonball# #メガホビEXPO#
もっと見る