Wrayの知识库 Wrayの知识库
首页
  • Java 基础
  • Java 集合
  • Java 并发
  • Java IO
  • JVM
  • Spring Framework
  • Spring Boot
  • Spring Cloud
  • Spring Security
  • MySQL
  • Redis
  • 计算机基础
  • 操作系统原理
  • Linux
  • MacOS
  • Windows
  • 系统工程与研究专题
  • AI 基础
  • 大模型基础
  • Prompt 工程
  • RAG 检索增强生成
  • Agent 智能体
  • AI 应用开发
  • AI 工程化
  • AI 安全与治理
  • AI 面试与设计题
  • 纸质书
  • 电子书
  • 学习课程
疑难杂症
GitHub (opens new window)
首页
  • Java 基础
  • Java 集合
  • Java 并发
  • Java IO
  • JVM
  • Spring Framework
  • Spring Boot
  • Spring Cloud
  • Spring Security
  • MySQL
  • Redis
  • 计算机基础
  • 操作系统原理
  • Linux
  • MacOS
  • Windows
  • 系统工程与研究专题
  • AI 基础
  • 大模型基础
  • Prompt 工程
  • RAG 检索增强生成
  • Agent 智能体
  • AI 应用开发
  • AI 工程化
  • AI 安全与治理
  • AI 面试与设计题
  • 纸质书
  • 电子书
  • 学习课程
疑难杂症
GitHub (opens new window)
  • AI概述
  • AI基础

  • 大模型基础

  • Prompt工程

  • RAG检索增强生成

  • Agent智能体

    • Agent智能体概述
    • Agent是什么
    • Function Calling与工具调用
      • 1. 工具调用流程
      • 2. 工具描述
      • 3. 工具类型
      • 4. 参数校验
      • 5. 工具调用安全
      • 6. 工程建议
      • 7. Tips 快问快答
    • Planning任务规划
    • Memory记忆机制
    • Reflection与自我评估
    • Multi-Agent多智能体
    • Agent可靠性与权限边界
  • AI应用开发

  • AI工程化

  • AI安全与治理

  • AI面试与设计题

目录

Function Calling与工具调用

Function Calling 是让模型以结构化方式选择并调用外部函数或工具的能力。它让模型从“只会说”扩展为“可以请求执行动作”。

# 1. 工具调用流程

用户请求
  -> 模型判断是否需要工具
  -> 生成工具名和参数
  -> 应用程序校验参数
  -> 执行工具
  -> 返回工具结果
  -> 模型基于结果继续回答

注意:真正执行工具的是应用程序,不是模型本身。

# 2. 工具描述

工具需要向模型描述清楚。

{
  "name": "query_order",
  "description": "根据订单号查询订单状态",
  "parameters": {
    "order_id": {
      "type": "string",
      "description": "订单号"
    }
  }
}

描述越清晰,模型越容易选择正确工具和参数。

# 3. 工具类型

工具 示例
查询工具 搜索、数据库查询、订单查询
计算工具 数学计算、汇率换算
文件工具 读取、写入、转换文件
业务工具 创建工单、发送通知、审批流
开发工具 运行测试、执行命令、代码分析

# 4. 参数校验

模型生成的参数不能直接信任。

必须校验:

  • 必填字段是否存在。
  • 类型是否正确。
  • 枚举是否有效。
  • 当前用户是否有权限。
  • 参数范围是否安全。
  • 是否需要人工确认。

# 5. 工具调用安全

风险 防护
调用高风险工具 工具白名单和权限控制
参数注入 参数校验和转义
越权查询 按用户身份过滤
重复执行 幂等键和执行记录
错误执行 人审和二次确认

# 6. 工程建议

  1. 工具粒度不要太大,避免一个工具承担过多隐含逻辑。
  2. 工具描述要写清楚适用场景和限制。
  3. 只把必要工具暴露给模型。
  4. 工具返回结果要结构化,避免模型误读。
  5. 每次工具调用都记录日志,便于审计。

# 7. Tips 快问快答

Q:模型可以直接执行函数吗?

A:不应该。模型只生成调用意图和参数,应用程序负责校验和执行。

Q:工具越多越好吗?

A:不是。工具太多会增加模型选择错误的概率。要按任务场景暴露最小工具集。

Q:工具调用结果还需要模型处理吗?

A:通常需要。工具返回事实或数据,模型负责解释、总结或继续任务,但关键业务判断仍要有规则兜底。

上次更新: 2026/06/25, 17:53:09
Agent是什么
Planning任务规划

← Agent是什么 Planning任务规划→

Copyright © 2023-2026 Wray | 鄂ICP备2024050235号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式