一次情報読解 AI原典ノート
RSS 保存
2026-06-21 / OpenAI / OpenAI / Data Governance / OpenAI導入前に読む保持境界 2026-06-21 / Model Context Protocol / MCP / Authorization / MCP社内導入前に読む権限統制 2026-06-21 / Hugging Face / Open-source / Agent Architecture / agent設計前に読む実行責任 2026-06-21 / Anthropic / Claude Code / Settings / Claude Code導入前に読む秘密境界 2026-06-21 / Anthropic / Managed Agents / Configuration / managed agent導入前に読む設定資産化 2026-06-21 / Anthropic / Managed Agents / Outcome Evaluation / managed agent運用前に読む完了判定 2026-06-21 / Model Context Protocol / MCP / Security / remote MCP導入前に読む認可境界 2026-06-21 / Google AI for Developers / Models / Release Channel Policy / 本番運用前に読む model 固定 2026-06-21 / Model Context Protocol / MCP / Debug Workflow / MCP導入前に読む検査手順 2026-06-21 / OpenAI / Tools / Function Calling / 外部処理接続前に読む責務分界 2026-06-21 / Anthropic / Coding Agents / Permissions / repo運用前に読む権限設計 2026-06-21 / Google AI for Developers / Retrieval / Embeddings / 検索基盤導入前に読む意味検索の基礎 2026-06-21 / OpenAI / Retrieval / Managed File Search / 文書検索導入前に読む責務分界 2026-06-21 / Anthropic / Coding Agents / Hooks / repo運用前に読む強制境界 2026-06-21 / OpenAI / Agents / Sandbox Execution / agent実装前に読む実行境界 2026-06-21 / Anthropic / Evals / Infrastructure Noise / 評価導入前に読む infra 交絡 2026-06-21 / OpenAI / State / Conversations / 長期運用前に読む state 設計 2026-06-21 / Model Context Protocol / Specification / Resources / MCP導入前に読む参照面仕様 2026-06-21 / Google AI for Developers / Credentials / Migration / 本番前に読む鍵運用変更 2026-06-21 / OpenAI / Prompting / Migration / 本番前に読む prompt 運用変更 2026-06-21 / OpenAI / Identity / Credentials / 運用前に読む認証境界 2026-06-21 / OpenAI / Safety / Moderation / 本番前に読む制御順序 2026-06-21 / Google AI for Developers / Migration guide / Schema / 移行前に読む破壊的変更 2026-06-21 / OpenAI / Connectivity / MCP / MCP接続前に読む境界設計 2026-06-21 / OpenAI / Responses API / Job Control / 実装前に読む非同期設計 2026-06-21 / Model Context Protocol / Specification / Permission Boundary / MCP導入前に読む境界仕様 2026-06-21 / Google AI for Developers / Managed Agent / Security / 導入前に読む境界設計 2026-06-21 / Anthropic / Security / Engineering / 運用前に読む安全設計 2026-06-21 / OpenAI / Realtime API / Voice / 本日読むべきAPI更新 2026-06-21 / OpenAI / API / Agent / まず読むべき原典 2026-06-21 / Anthropic / Postmortem / 実装に効くニュース 2026-06-21 / Google AI for Developers / Release notes / モデル・API更新 2026-06-21 / Hugging Face / Open-source / Tutorial / 今週試したい開発者ツール 2026-06-21 / Model Context Protocol / Specification / Architecture / 英日AI用語集
外部処理接続前に読む責務分界 Tools / Function Calling OpenAI 2026-06-18

Function calling は「AIに外部処理を任せる境界」を雑にしないための基本部品

このノートは原文の代替ではありません。読むべきポイントと実装上の意味を整理し、原典への入口を示します。

要点

要点まとめ

  1. AI に外部システムを触らせると、便利になる一方で『勝手に送る』『勝手に更新する』『間違った相手に処理する』という事故も起きうる。
  2. だから最初に分けるべきなのは、情報を読むだけの操作と、何かを変更する操作である。読み取りは広めに許せても、書き込みは確認や制限が要る。
  3. function calling は、その線引きを自然文のお願いで済ませず、AI が外部処理を呼ぶ入口をあらかじめ決めておく仕組みである。
  4. OpenAI の guide は、AI に任せる部分と、アプリ側が必ず縛る部分を分けている。AI は呼び出し内容を提案し、実際に処理を走らせる責任はアプリ側に残る。
  5. そのうえで、入力の形を固定する、使える処理を絞る、同時に走らせてよい処理を分ける、という実装上の制御が出てくる。
読解

何が変わったのか

この guide は、『AI が API を呼べる』という雑な説明で終わっていません。OpenAI は function tool、つまり AI が使える外部処理の入口を JSON schema で定義し、モデルはその定義に沿った引数だけを返し、実際の処理はアプリ側が実行して結果をまたモデルへ返す、という往復を前提にしています。さらに `tool_choice` によって使える関数の幅や呼び出し強制を制御でき、parallel function calling では同時実行の安全性まで設計対象になります。

日本の文脈

なぜ重要か

日本の実装では、web search、MCP、code execution、社内 API 呼び出しを全部まとめて『tool use』と呼びがちです。ここが粗い。built-in tool と custom function では責任が違います。function calling を理解すると、『どの action を hosted tool に寄せ、どの action を自前 function に残すか』を切り分けやすくなります。AI が賢く見えることより、失敗時に誰がどこを直すのかを明確にできる点のほうが重要です。

技術ポイント

技術的ポイント

  1. function calling は function tool を JSON schema で定義し、その schema に沿った引数をモデルに生成させる。自由文のお願いではなく、受け付ける入力の形を先に固定するのが本体である。
  2. docs は `strict: true` を付けた schema 例を示している。これは余計な項目を混ぜにくくし、必要項目の抜けも減らすための厳格モードとして読むと分かりやすい。
  3. 実処理は model が直接行うのではなく、application、つまりアプリ側が tool call を受けて関数を実行し、その結果を再び model に返す。副作用、認可、監査ログ、再試行制御は application 側の責任で残る。
  4. `tool_choice` では auto、required、特定 function の強制、allowed tools の部分制限を指定できる。呼べる関数を全部渡して model に任せる以外の運用が前提化されている。
  5. parallel function calling は体感速度を上げうるが、複数の write action や依存順序のある処理を同時実行すると事故の面積が広がる。速さの前に、どこまで同時実行して安全かを決める必要がある。
用語

英日キーワード

英語日本語補足
function calling 関数呼び出し モデル出力をアプリ側の関数実行に接続する仕組み。schema 設計と失敗時処理が実装品質を左右する。
JSON schema JSONスキーマ 関数や構造化出力に渡す入力の形を定義する仕様。AI に外部処理を任せる時の受け口を狭める。
strict 厳格モード schema から外れた余計な項目を出しにくくする設定。便利さより入力制御を優先する場面で使う。
tool_choice ツール選択制御 モデルにどの tool を使わせるか、使わせないか、必ず使わせるかを制御する設定。
parallel function calling
試す

試すなら

  1. まず外部処理を読み取り、下書き作成、確定書き込みに分け、書き込み系だけ別 function と確認手順に分離する。
  2. function schema は最小項目から始め、`additionalProperties` を許し過ぎない。
  3. `tool_choice` を auto にする前に、どの function まで model に見せるかを棚卸しする。
  4. parallel 呼び出しを使うなら、同時に走ってよい関数と直列でなければ危険な関数を先に分類する。
注意

注意点

  • schema を厳密にしても、業務上妥当な引数かどうかまでは自動保証されない。金額、日時、顧客 ID の整合性確認は別に要る。
  • function calling は外部処理の入口を整えるが、認可や監査を代行しない。社内 API をつなぐほどこの責任は重くなる。
  • hosted tool と custom function の違いを曖昧にしたまま設計すると、失敗時の責任分界が崩れる。
関連原典

関連原典

原典を開く