「AIって文章を生成するのは得意だけど、実際に何かを実行してくれるわけじゃないよね…」
そう感じたことはありませんか?実はその「実行できる」を可能にするのが、今まさに注目されているFunction Calling(ファンクションコーリング)という仕組みなんです。
今回はFunction Callingの基本的な考え方と、それを使ったAIエージェントのアーキテクチャについて、できるだけわかりやすく解説していきます 🚀
Function Callingってそもそも何?
ざっくり一言で言うと、「AIが自分でツールを呼び出して、現実世界のアクションを起こせる仕組み」です。
イメージとしては、こんな感じです。
- 📧 メールを送る
- 📁 ファイルを確認する
- 🗃️ データベースに問い合わせる
- 🐙 GitHubにコードをプッシュする
普通のAIは「メールを送ってください」と言われても、文章を返すだけです。でもFunction Callingを使えば、AIが実際にメール送信の関数を呼び出せるようになります。テキスト生成と「実行」がつながる、それがFunction Callingの本質なんですよね。
仕組みをシンプルに理解しよう
大まかな流れはこんな感じです。
- ユーザーがAIに指示を出す(「明日の天気を調べて」)
- AIが「この指示にはどのツール(関数)が必要か」を判断する
- AIが関数名と引数を JSON 形式で返す
- アプリ側がその関数を実際に実行する
- 実行結果をAIに渡して、最終的な回答を生成する
ポイントは、AIが直接コードを実行しているわけではないという点です。AIは「何を呼び出せばよいか」を提案し、実行はあくまでアプリ側が担当します。これ、意外と重要な設計思想なんです 💡
Pythonで動かすFunction Callingの基本サンプル
OpenAIのAPIを使った、シンプルな実装例を見てみましょう。
import openai
import json
client = openai.OpenAI()
# ── ① 利用可能なツールを定義する ──
tools = [
{





