AI Agent 入门实战:用 Function Calling 让大模型学会调用工具

AI Agent 入门实战:用 Function Calling 让大模型学会调用工具

一、引子:大模型缺的那条腿

上个月接了个活——让 AI 助手能查实时天气和做数学计算。本来以为调个 API 就行,结果发现大模型自己压根做不到。不是模型不够聪明,是它天生缺了一条腿:没法跟外部世界交互。

大模型的知识截止于训练数据的那一刻,它不知道你的数据库里有什么,也没法直接调用外部 API。2024 年 OpenAI 推出 Function Calling 能力之后,这一切才变了。模型不仅能"说话",还能"动手"——调 API、查数据库、发邮件、搜网页。这就是 Agent 架构最核心的基石。

今天我们从零手写一个能自动调用工具的 Agent,不需要任何框架,只要 Python 和一点耐心。

二、Agent 核心逻辑:三步循环

别管那些花哨的名词,Agent 的本质就是一个简单的循环:

步骤做什么谁来干
1 思考理解用户问题,决定是否需要调用工具LLM
2 调用输出结构化参数(JSON),程序执行对应函数你的代码
3 反馈把工具执行结果送回 LLM,让它生成最终回答LLM + 代码

这个三步循环跑一次叫"单轮工具调用",跑多次叫"多轮 Agent"。

很多人把 Agent 和 RAG 搞混,它们的区别其实很清晰:

能力维度RAGAgent(Function Calling)
检索知识库✅ 向量搜索✅ 可调用搜索 API
操作数据库✅ 执行 SQL 或 CRUD
调用外部 API✅ GET/POST 任意接口
获取实时数据✅ 天气/股票/新闻
自主决策✅ 判断何时调、调哪个工具
多步推理