当前位置: 首页 > news >正文

《60天AI学习计划启动 | Day 27: Function Calling 工具设计最佳实践》

Day 27:Function Calling & 工具设计最佳实践

学习目标

  • 梳理 工具(functions)在实际业务里的定位
  • 掌握 函数 Schema 设计要点(参数、类型、幂等性)
  • 会设计 一套“AI 只做决策,人类/服务做执行”的调用模式

核心知识点

  • 1. 工具职责划分

    • LLM 负责:理解意图 + 选择工具 + 组装参数
    • 工具负责:真实世界操作 / 数据查询 / 写入 / 调用外部服务
    • 关键原则:
      • 工具要 清晰、单一职责(一个函数只干一件事)
      • 工具名 + description 要让 LLM 一眼知道“什么时候该用它”
  • 2. 函数 Schema 设计

    • 参数设计:
      • 尽量用 简单扁平结构(string/number/enum/object),减少嵌套
      • 对枚举/范围用 enum / minimum / maximum 明确约束
      • 所有必填字段放在 required 里,description 写清楚业务含义
    • 返回值:
      • 工具返回真实数据结构(如订单详情、配置 JSON),不要塞“自然语言”;自然语言让 LLM 来生成
      • 返回里带上 trace 信息(requestId / source 等),方便日志和排错
  • 3. 调用模式(两阶段)

    • 推荐模式(你项目也容易集成):
      1. 阶段1:LLM 分析意图 → 选择工具 + 构造参数(function_call)
      2. 阶段2:后端接 function_call → 真正执行 → 把结果再喂回 LLM 做自然语言解释
    • 好处:
      • 在阶段2 可以做人为/服务侧的权限校验、风控、审计
      • 即使 LLM 构造了“危险调用”,也能在阶段2 拦截

实战作业(建议)

  • 作业 1:为你业务里一个功能写函数 Schema 草稿

    • 例如「查询某项目的质量日报」:
      • 参数:{ projectId: string, date: string(YYYY-MM-DD) }
      • 要求:description 写清楚 projectId 对应什么、date 是否必填/默认今天
  • 作业 2:设计一个两阶段调用流程时序图

    • 包含:用户 → LLM → function_call → 后端工具执行 → LLM 解释 → 前端展示
    • 标清楚:在哪一步做权限校验,在哪一步记录日志
  • 作业 3:列出 3 条“绝不做成工具”的操作

    • 如:
      • 直接删除真实数据
      • 直接发钉钉/邮件给大量用户
      • 改权限/角色配置
    • 这些操作要么只做人肉确认,要么加双重确认/审批流

思考 / 笔记要点

  • 盘点你当前项目里 已经有的 API/服务,哪些可以“包装成工具”给 LLM 调用,哪些需要人为兜一层
  • 思考:如果以后要做 AI Agent 自动跑质量巡检/报表生成,工具层应该长什么样,哪些操作必须有“安全挡板”
  • 可以写一篇:《在业务系统里给 LLM 设计工具调用,我总结的 5 条经验》,把 Schema 设计 + 安全控制一起写进去
http://www.rkmt.cn/news/114666.html

相关文章:

  • Docker-LangGraph Agent多实例部署方案(生产环境可用架构曝光)
  • 从入门到精通:Docker Buildx镜像压缩全流程技术解密
  • 为什么你的Agent服务总被干扰?揭秘Docker环境隔离失败的6大根源
  • 参数设置决定成败,量子计算镜像运行效率提升90%的秘密
  • Docker容器性能突降?智能Agent快速定位与自动告警策略
  • 查找二叉树(tree_a)(信息学奥赛一本通- P1367)
  • 02 相向双指针
  • Blender建筑建模终极指南:building_tools插件快速上手
  • 2025年成都桥架厂家权威推荐榜单:锌铝镁桥架/201不锈钢桥架/工地不锈钢桥架源头厂家精选 - 品牌推荐官
  • 扫描频率决定安全性?,深度解析Docker Scout自动扫描机制与风险盲区
  • OOP-实验6
  • 医疗和教育行业自动化、精准匹配、易掌握的数据分类分级最佳实践与案例
  • 毕设 深度学习yolo藻类细胞检测识别(科研辅助系统)(源码+论文)
  • RAG知识库构建策略
  • C++中的共用体与枚举:内存优化与类型安全
  • 2025年下半年鄂尔多斯车牌识别供应商推荐榜单 - 2025年品牌推荐榜
  • 2025年12月单股加固型网带,双股加固型网带,链式网带厂家品牌推荐榜,彰显国产技术实力 - 品牌鉴赏师
  • 【高可用架构必备技能】:Docker Offload中任务状态同步的7种最佳实践
  • 【Docker-LangGraph Agent配置终极指南】:掌握高效AI代理部署的5大核心技巧
  • HCA解码器完整教程:快速转换游戏音频的终极方案
  • 从零构建智能监控体系,基于Agent的Docker告警实战详解
  • Mem Reduct终极内存优化:三步让老电脑重获新生
  • Mem Reduct内存管理工具:系统性能优化实战指南
  • 15、网页数据处理与自动化操作实用指南
  • JRebel 激活失效?手把手教你本地搭建激活服务器(无需公网、无需 Docker)
  • 终极自适应解决方案:autofit.js一键实现完美大屏适配
  • 【读书笔记】《孙子兵法》
  • 谷歌关停暗网监控工具:2026年安全防护迎来“精准化”转型
  • 18、利用 SSH 实现安全的远程访问
  • Pearcleaner Homebrew管理:3步告别复杂命令行操作