CalcGuide · 技术博客主页 / 一页纸学习计划
🔥极高

Function Call 与 Agent:从工具协议到错误恢复

分类:数据与人工智能 · 路径:docs/topics/function-call-and-agent/README.md

#function-call#agent#state-machine#reliability

掌握 Function Call、Agent loop、状态机和工具错误恢复

父主题

大语言模型应用:从 Prompt 到 RAG 与 Agent 的工程实践

子主题(0)

Function Call 与 Agent:从工具协议到错误恢复

0. 元信息

1. 学习路线

Function schema
  → 工具注册与参数校验
  → Agent loop 与状态机
  → 超时、重试、幂等与预算
  → 错误恢复、降级与可观测性

3. 阶段表

阶段核心知识实践产出可观察学会标准
1. Function Call工具名、JSON schema、调用与返回协议天气/订单查询工具能拒绝非法参数,记录 request id
2. Agent loopobserve-plan-act、消息状态、终止条件两工具 Agent能画状态机并限制最大步数
3. 错误处理超时、网络错误、业务错误、重复调用可恢复工具执行器能区分可重试与不可重试错误
4. 安全与审计最小权限、敏感操作确认、日志脱敏审计日志与拒绝路径工具权限、预算和失败原因可追踪

9. 学习资料汇聚(v0.3 自包含)

9.1 背景与动机

Function Call 把自然语言决策转换为结构化工具请求,Agent 则把多轮决策组织成受约束的状态机。工程重点不是让模型“自主”,而是让每一步可验证、可停止、可恢复。

9.2 概念地图

stateDiagram-v2
  [*] --> Plan
  Plan --> CallTool
  CallTool --> Validate
  Validate --> Observe: 合法
  Validate --> Recover: 非法
  Observe --> Plan: 未完成
  Observe --> Done: 完成
  CallTool --> Recover: 超时/错误
  Recover --> Plan: 可恢复
  Recover --> Failed: 超预算或不可恢复

9.3 基础知识讲解

主推模型供应商官方工具调用文档和 JSON Schema 文档;备查 LangGraph 等状态图框架。先用 Python 显式循环实现,再比较框架;工具实现和日志代码使用前确认依赖许可证。

9.4 经典问题与经典案例

问题最简答案
参数类型错误schema 校验后返回可读错误,不直接执行
工具超时设置 deadline,按错误类别有限重试
Agent 无限循环最大步数、重复动作检测和总预算
重试造成副作用写操作使用幂等键或要求确认
工具结果过长摘要/分页后再交给模型
敏感工具误调用最小权限、白名单和人工确认

9.5 学习难点

9.6 技术标准与接口

Entity

Tool schema、tool call、tool result、state、trace、deadline、retry policy、idempotency key。

Scope

Function Call 规定模型与应用的结构化交互,不授权工具本身,也不保证调用安全。

Structure

掌握 name、description、parameters、arguments、result、error、status、step count 和 token budget。

Ecosystem

供应商原生工具调用、OpenAI-compatible API、LangGraph 等框架各有消息格式和状态管理方式;以实际响应为准。

Depth Tiers

L0 知道工具调用存在;L1 看懂 schema;L2 能实现单工具调用;L3 能恢复错误并审计;L4 能设计权限和多 Agent 协作。本子主题要求 L3。

Source

官方工具调用、JSON Schema 和 LangGraph 文档;版本快照日期:2026-07-28。


直接依赖(0)

查看知识图谱 · 热度 🔥极高