Function Calling和Tool Use:AI Agent调用工具的两种方式有什么区别?

📘 AI教程 💬 🔥 Trending

🩺 摘要

Function Calling和Tool Use听起来像是一个东西,但底层机制不同。选错了可能导致Agent行为不稳定。

📝 详情

两者都让Agent调用外部工具,但方式不同

Function Calling(函数调用)

LLM输出结构化JSON,你的代码解析后执行。LLM只决定选哪个工具+传什么参数,不负责执行。

Tool Use(工具使用)

Agent框架自己调度工具。Agent决定用什么工具、什么时候用、结果怎么处理。

对比

维度 Function Calling Tool Use
控制权 在你的代码 在Agent框架
灵活性
稳定性
适合场景 固定工具集 动态工具链

怎么选?

工具少且固定(3个以内)→ Function Calling。 你完全控制执行流程。

工具多且动态变化 → Tool Use。 Agent自己决定用哪个。

总结

Function Calling适合简单场景,Tool Use适合复杂场景。实际生产中可以两者结合。