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

検索結果 OpenAPI
OpenAPI コミュニティ
1つのキーワードが1つのコミュニティです。
コミュニティ作成
アカウント
見つかりません
OpenAPI を含む検索結果
AIエージェントをエンタープライズシステムに組み込むプラクティス 【MCPゲートウェイ / ツール・フェデレーション(MCP Gateway)】 💡 「エージェント5つ × SaaS 10種 = 50本の個別統合。この掛け算地獄を解消するのがMCPゲートウェイです。」 エージェントが増え、接続先SaaSが増えるたびに統合コストが爆発します。ツール定義の乱立、スキーマの不整合、そしてSaaSのサイレント仕様変更による暗黙の破綻。これらをアーキテクチャレベルで解決します。 🔥 解決する課題 - N(エージェント)×M(SaaS)の統合コスト爆発 - 各エージェントが独自にツール定義を持つことによる重複・不整合 - ツール経由の間接プロンプトインジェクション - エージェントに見えるツールが多すぎることによる選択精度の劣化 - SaaSのサイレント仕様変更(APIレスポンス形式変更等)による暗黙の破綻 🏗️ 提案パターン 各SaaSコネクタをMCP(Model Context Protocol)サーバとして束ね、ゲートウェイがツールの発見・認可・呼び出し監査・スコープ制御を一元管理します。ツール許可リストを主体(部署×エージェント種別)で動的に絞り、エージェントに見えるツールを必要最小限にします。危険ツール(削除・送金・外部送信など不可逆操作)には承認フックを設置します。さらに、ツール定義/APIスキーマを「契約」としてバージョン管理し、定期的に実APIと突合してドリフト(乖離)を検知します。後方互換のないドリフトを検出した場合は、アラート+該当ツールの一時無効化で安全側に倒します。 ✅ 選定条件 - 採用する場合:連携SaaSが10種以上。複数エージェントが共通ツールを使う。N×M統合の複雑さに困っている。 - 採用しない場合:ツールが2〜3個固定の単機能エージェント(直結のほうが堅牢でシンプル)。依存APIが安定していて変更頻度が極めて低い環境。 ⚠️ 落とし穴 - エージェントに露出するツールが20〜30を超えると選択精度が低下します。tool RAGで意図に応じて動的に絞るか、役割別サブエージェントに分割してください。 - 契約テスト(ドリフト検知)を導入しないと、SaaS側の仕様変更に気づかず、エージェントが誤ったデータを処理し続けます。Salesforce APIのフィールド変更などは実際に起きる頻度が高いです。 - MCPサーバの認可設計を後回しにすると、全エージェントが全ツールにアクセスできる状態が放置されます。 🛠️ 実装方針 - 各SaaS(Salesforce / ServiceNow / Jira / Slack / Box 等)のMCPサーバを構築します。公式MCPサーバがあればそれを採用し、なければOpenAPI定義からツールを自動生成して自作MCPサーバとして用意します。 - MCPゲートウェイを配置し、ツールレジストリ(カタログ)を構築します。各MCPサーバが提供するツールを一覧化し、部署×エージェント種別でアクセス可能なツールを動的にフィルタリングする許可リストを設定します。 - OAuth 2.1 ベースの認可と承認フックを設定します。不可逆操作(削除・送金・外部送信)を行うツールにはP09(動的認可PDP)と連携した承認ゲートを設置し、人間の承認なしに実行されない構成にします。 - 契約テスト(Pact等)とスキーマレジストリでドリフト検知パイプラインを構築します。週次でツール定義と実APIスキーマを突合し、後方互換のない変更を検出した場合はアラート+該当ツールの自動無効化を行います。 - tool RAG または役割別サブエージェント分割で、各エージェントに露出するツール数を20以下に制御します。意図に応じて動的にツールを絞り込み、選択精度を維持します。 #AIエージェント# #エンタープライズアーキテクチャ#
もっと見る
🚀 FastAPIを「最初のエンドポイント」から「本番でスケールするAIシステム」まで一気通貫で学べる電子書籍です。LLM/RAG serving まで踏み込み、各章末に面接問題が付くのが実用的です。 タイトル: FastAPI for AI Engineers: From First Endpoint to Production-Scale AI Systems URL: 🚀 概要 PythonでMLモデルやLLM/RAGを本番運用するAIエンジニア向けの実践書(初版・2026年、AI Engineering Insider)。全10章・計100問の面接問題に加え、実在の障害事例やコストモデルのコラムが織り込まれています。 ❓ 解決する課題 ・モデルは作れても、本番でスケールするAPIとして安全に配信するのは別スキル ・LLM/RAGの serving はストリーミング・ガードレール・コスト管理など固有の難しさがある 本書はFastAPIを「AI/MLの事実上の serving レイヤー」として体系化します。 💡 構成と扱う技術 ・基礎:ASGI/WSGI、Uvicorn、OpenAPI、Pydantic v2によるスキーマ分離と検証 ・実装:冪等性、適切なステータスコード、ページネーション、Router→Service→Repositoryのクリーンアーキテクチャ ・DB/セキュリティ:SQLAlchemy/SQLModel/Alembic、N+1、プールサイジング、JWT、BOLA対策、OWASP API Top 10 ・非同期:「イベントループを絶対にブロックしない」、def vs async defの使い分け、httpxのリトライ/サーキットブレーカー 🎯 核心(第9章 AI/RAG/LLM) ・lifespanで重みを一度だけロード、CPU推論はスレッドにオフロード ・LLMゲートウェイで認証・プロンプト・ガードレール・コスト計測を集約、SSEでトークンを逐次配信 ・埋め込み+ベクトルDB(pgvectorから開始)でRAGを構築し、出力はPydanticで検証→失敗なら差し戻して再試行 ・max_tokensを「支出上限」として型で強制 📊 注目ポイント ・実在の障害(Netflix、Stripe、GitLab、Optus、Air Canada)から学ぶ実践志向 ・第10章はGunicorn+Uvicorn、K8sのliveness/readiness、可観測性の3本柱(p99 vs p50)、SLOベースのアラートまでカバー #FastAPI# #AIエンジニアリング#
もっと見る
🔎 エージェントが他組織のツールやエージェントを「どこにあって、どれを選び、安全か」を判断する標準がついに登場。エージェンティックWebの検索エンジンを作る仕様です。 📰 タイトル: Announcing the Agentic Resource Discovery specification 🔗 URL: 💡 概要 Googleが、AIの能力(ツール・スキル・他のエージェント)をWeb全体で公開・発見・検証するためのオープン仕様「Agentic Resource Discovery(ARD)」を発表しました。業界横断で開発され、フレームワークやプロトコル、プロバイダーの違いを越えて安全に接続できることを目指します。 🧩 解決する課題 エージェントは組織をまたいだツールやエージェントを使いたくても、「どこにあるか・どれを選ぶか・安全に使えるか」に答える標準がなく、プラットフォームごとに分断していました。ARDはこの発見と信頼の欠落を埋めます。 🛠 方法論と提案手法 2つの基本要素で構成されます。 ・カタログ: 組織がドメインのwell-knownパスに ai-catalog.json を公開。MCPサーバー、A2Aエージェント、OpenAPIツール、入れ子カタログを記述でき、ドメイン所有権が信頼の暗号学的な土台になります ・レジストリ: カタログをクロール・インデックス化する「エージェンティックWebの検索エンジン」。検証用メタデータ付きで結果を返します 公開→発見→暗号学的検証→実行時接続の4フェーズで動作します。 📊 ユースケース / 実績 Googleは Gemini Enterprise Agent Platform の Agent Registry として実装し、Agent Identity検証によるHIPAA等のコンプライアンスにも対応。例えば障害調査の運用エージェントが、可観測性・ドキュメント・デプロイ履歴・専門エージェントを統一的に発見して使えます。仕様はApache 2.0でGitHub公開されています。 #AIエージェント# #ARD#
もっと見る
AIエージェントをエンタープライズシステムに組み込むプラクティス 【MCPゲートウェイ / ツール・フェデレーション(MCP Gateway)】 💡 ポイント 「エージェント5つ × SaaS 10種 = 50本の個別統合。この掛け算地獄を解消するのがMCPゲートウェイです。」 エージェントが増え、接続先SaaSが増えるたびに統合コストが爆発します。ツール定義の乱立、スキーマの不整合、そしてSaaSのサイレント仕様変更による暗黙の破綻。これらをアーキテクチャレベルで解決します。 🔥 解決する課題 - N(エージェント)×M(SaaS)の統合コスト爆発 - 各エージェントが独自にツール定義を持つことによる重複・不整合 - ツール経由の間接プロンプトインジェクション - エージェントに見えるツールが多すぎることによる選択精度の劣化 - SaaSのサイレント仕様変更(APIレスポンス形式変更等)による暗黙の破綻 🏗️ 提案パターン 各SaaSコネクタをMCP(Model Context Protocol)サーバとして束ね、ゲートウェイがツールの発見・認可・呼び出し監査・スコープ制御を一元管理します。ツール許可リストを主体(部署×エージェント種別)で動的に絞り、エージェントに見えるツールを必要最小限にします。危険ツール(削除・送金・外部送信など不可逆操作)には承認フックを設置します。さらに、ツール定義/APIスキーマを「契約」としてバージョン管理し、定期的に実APIと突合してドリフト(乖離)を検知します。後方互換のないドリフトを検出した場合は、アラート+該当ツールの一時無効化で安全側に倒します。 ✅ 選定条件 - 採用する場合:連携SaaSが10種以上。複数エージェントが共通ツールを使う。N×M統合の複雑さに困っている。 - 採用しない場合:ツールが2〜3個固定の単機能エージェント(直結のほうが堅牢でシンプル)。依存APIが安定していて変更頻度が極めて低い環境。 ⚠️ 落とし穴 - エージェントに露出するツールが20〜30を超えると選択精度が低下します。tool RAGで意図に応じて動的に絞るか、役割別サブエージェントに分割してください。 - 契約テスト(ドリフト検知)を導入しないと、SaaS側の仕様変更に気づかず、エージェントが誤ったデータを処理し続けます。Salesforce APIのフィールド変更などは実際に起きる頻度が高いです。 - MCPサーバの認可設計を後回しにすると、全エージェントが全ツールにアクセスできる状態が放置されます。 🛠️ 実装方針 - 各SaaS(Salesforce / ServiceNow / Jira / Slack / Box 等)のMCPサーバを構築します。公式MCPサーバがあればそれを採用し、なければOpenAPI定義からツールを自動生成して自作MCPサーバとして用意します。 - MCPゲートウェイを配置し、ツールレジストリ(カタログ)を構築します。各MCPサーバが提供するツールを一覧化し、部署×エージェント種別でアクセス可能なツールを動的にフィルタリングする許可リストを設定します。 - OAuth 2.1 ベースの認可と承認フックを設定します。不可逆操作(削除・送金・外部送信)を行うツールにはP09(動的認可PDP)と連携した承認ゲートを設置し、人間の承認なしに実行されない構成にします。 - 契約テスト(Pact等)とスキーマレジストリでドリフト検知パイプラインを構築します。週次でツール定義と実APIスキーマを突合し、後方互換のない変更を検出した場合はアラート+該当ツールの自動無効化を行います。 - tool RAG または役割別サブエージェント分割で、各エージェントに露出するツール数を20以下に制御します。意図に応じて動的にツールを絞り込み、選択精度を維持します。 #AIエージェント# #エンタープライズアーキテクチャ#
もっと見る
OpenAI、「Astra」の一部作業停止-高いサイバー能力で安全対策強化
OpenAI次世代モデル「Astra」の開発を一時制限 高いサイバー能力に懸念
OpenAIのテストAIが「AI同士の掲示板」を勝手に構築して情報共有しHugging Faceへの攻撃を実行していたことが判明、掲示板を閉鎖されてもこっそり建てなおす - GIGAZINE
もっと見る
# OpenAI Agent SDKの便利だけど知られていない機能 🌍 プロンプトをコードにハードコードせず、プラットフォーム側で管理・バージョニングしたいと思いませんか? Prompt テンプレートを使えば、OpenAIプラットフォームで作成したプロンプトをSDKから参照し、変数を差し込んで利用できます。 📌 タイトル:Prompt テンプレート 🔗 URL: 🧩 概要 `instructions` の代わりに `prompt` パラメータを使うと、OpenAIプラットフォームで作成・管理されたプロンプトテンプレートを参照できます。静的な指定では `{"id": "pmpt_123", "version": "1", "variables": {...}}` のように辞書で渡します。動的な指定では非同期関数を渡し、実行時にプロンプト辞書を返すことで、コンテキストに応じた変数の差し込みが可能です。 🛠 使い方 ```python from agents import Agent, RunContextWrapper # 静的テンプレート参照 agent_static = Agent( name="support", prompt={ "id": "pmpt_abc123", "version": "1", "variables": { "company_name": "Acme Corp", "support_level": "premium", }, }, ) # 動的テンプレート参照 async def dynamic_prompt( context: RunContextWrapper[UserContext], agent: Agent, ) -> dict: user = context.context return { "id": "pmpt_abc123", "version": "2", "variables": { "company_name": "support_level": user.plan, "language": user.language, }, } agent_dynamic = Agent( name="dynamic-support", prompt=dynamic_prompt, ) ``` 🏗 本番システムへの組み込み方 ・プロンプトをプラットフォーム側で管理し、コードデプロイなしで更新・ロールバックする ・バージョン指定で安定した動作を保証しつつ、新バージョンを段階的にロールアウトする ・動的テンプレートでユーザー属性に応じた変数を注入する ・チーム間でプロンプトを共有・再利用し、品質の標準化を図る 💡 ユースケース 📝 プロンプトのバージョン管理と段階的ロールアウト 🏢 組織横断的なプロンプトの共有・標準化 🔄 コードデプロイ不要のプロンプト更新 👤 ユーザー属性に応じたテンプレート変数の動的注入 ⚠️ 注意点 `prompt` と `instructions` は排他的で、両方を同時に指定するとエラーになります。プラットフォームにプロンプトが存在しない場合もエラーになるため、デプロイ前にIDとバージョンの存在を確認してください。変数名のタイポにも注意しましょう。 ✨ Prompt テンプレートで、プロンプト管理を「コードの中」から「プラットフォームの管理画面」に移行しましょう。 #OpenAIAgentSDK# #AIAgent#
もっと見る
# OpenAI Agent SDKの便利で実践的な使い方 🌍 モデルに送る入力をフィルタリングしたり、エラー時の挙動を細かく制御したいことはありませんか? Input filterとError handlerを使えば、エージェントの振る舞いを安全かつ柔軟にカスタマイズできます。 📌 タイトル:Running agents – Hooks and customization / Error handlers 🔗 URL: 🧩 概要 `call_model_input_filter`はモデルへの入力を直前に加工するフックで、履歴のトリミングやシークレットのマスキングに使えます。`error_handlers`はツールエラーやモデル拒否など特定のエラーに対して、例外を投げずにアプリ固有のフォールバック出力を返す仕組みです。これらを組み合わせることで、プロダクションレベルの堅牢なエージェントを構築できます。 🛠 使い方 `agents`から`Agent`, `Runner`, `ErrorHandlers`をインポートします。`trim_history(input_data)`関数で`input_data.messages`を直近10件に制限し、`mask_secrets(input_data)`関数で`msg.content.replace(os.environ.get("API_KEY", ""), "***")`によりシークレットをマスキングします。`handle_refusal(ctx, error)`ではモデル拒否時にドメイン固有のフォールバック出力を返します。エージェントは`Agent(name="chef", instructions="You are a recipe assistant.", call_model_input_filter=trim_history, error_handlers=ErrorHandlers(model_refusal=handle_refusal, max_turns=lambda ctx, err: FallbackOutput(message="処理が完了しませんでした。入力を短くしてお試しください。", include_in_history=False)))`のように設定します。 🏗 実践的な使い方 **履歴トリミングでコスト制御** `call_model_input_filter`で直近N件のメッセージだけをモデルに送ることで、長時間会話でのトークン消費を抑制できます。重要なシステムプロンプトは常に先頭に保持しつつ、古いユーザーメッセージを削除するパターンが実用的です。 **シークレットのマスキング** ツールの戻り値にAPIキーやトークンが含まれる場合、`call_model_input_filter`でモデルに送る前にマスキングできます。モデルが機密情報を学習したり、出力に含めたりするリスクを低減できます。 **システム指示の動的注入** フィルタ内でユーザーの権限レベルやコンテキストに応じたシステム指示を追加注入できます。「この顧客はプレミアムプランです」のような動的な情報をモデルに伝えるのに便利です。 **max_turnsエラーのグレースフルフォールバック** ループに入ったエージェントが`max_turns`に達した場合、例外ではなくユーザー向けの丁寧なメッセージを返せます。`include_in_history=False`にすれば、フォールバック出力が次のターンの履歴に残らず、リトライ時にクリーンな状態を保てます。 **モデル拒否のアプリ固有処理** `ModelRefusalError`をキャッチして汎用エラーを返す代わりに、アプリのドメインモデルに沿った構造化されたフォールバックを返せます。レシピアプリなら`refusal_reason`付きの空レシピ、チャットなら代替提案メッセージなど。 💡 ユースケース 🔒 APIキーやトークンがモデルに送信されるのを防止 📏 長時間チャットの履歴を自動トリミングしてコスト最適化 🔄 max_turnsエラー時にユーザーへ次のアクションを案内 🛡 モデル拒否時にアプリ固有の構造化フォールバックを返却 ⚠️ 注意点 - `call_model_input_filter`でメッセージを削除しすぎると、モデルが文脈を失い回答品質が低下します。重要なシステムプロンプトは必ず残してください。 - `error_handlers`のフォールバック出力が`output_type`と型が一致していることを確認してください。型不一致はランタイムエラーになります。 - `include_in_history=False`にしたフォールバック出力は次ターンで参照できません。ユーザーに表示するだけで会話の文脈には不要な情報に使ってください。 - フィルタやハンドラ内で例外を投げると、エージェント全体が停止します。フィルタ内のロジックは防御的に書いてください。 ✨ Input filterとError handlerを活用して、エッジケースに強い堅牢なエージェントを構築しましょう! #OpenAIAgentSDK# #AIAgent#
もっと見る
OpenAIの評価用AIエージェントが自律的にHugging Faceのインフラへ侵入した事件の技術タイムラインを記したHFのポスト。かなり詳しく書かれている。 個人的には、想像よりやばい動きをしていると思った。翻訳ツールを使って読んでおいた方が良いと思う。 ちょいメモ。 ・侵入後はクラスターのシークレットを読み取り、社内VPNキーなどを窃取した ・さらに乗っ取ったノードを社内VPNに登録し、内部のソースコード管理へアクセスしている ・C2(Command and Control)には専用サーバーを使わず、ペーストビン等の公開サービスを悪用 ・通信が遮断されると自律的にDNSを書き換えるなど、極めてしぶとく活動する ・機械的なスピードで実行されたアクションは17,600回にも及ぶ ・HFの調査チームは、膨大な攻撃ログの解析にAIを使おうとした ・ただ、Claudeなどの商用モデルは安全ガードレールが働き、解析を拒否 ・結局、オープンモデルのGLM-5.2を自社ホストしてペイロードの解読に成功している ・AIエージェントによる攻撃は圧倒的な手数を誇 ・防御側の前提を根本から変えてくる
もっと見る