返回 大语言模型 思维导图
中文·English
大语言模型ID: agent-tool-calling

Agent 与工具调用

Agent & Tool Calling
🎯核心定义
Agent 让 LLM 通过工具调用获取外部能力,三大机制:(1) Function Calling Schema——把 API 声明为 name + description + parameters(JSON Schema),模型输出结构化的 tool_call(name + JSON 参数),工具注册表与参数校验(必填字段、枚举、类型)保证调用合法;(2) 语法约束解码——用约束解码(JSON mode / Outlines / guidance)在采样时只允许符合 Schema 的下一个 token,从概率上保证输出可解析:解码只遍历满足 schema(prefix)\text{schema}(\text{prefix}) 的合法候选;(3) ReAct 循环——Thought → Action → Observation 交替迭代:stLLM(Thoughtt,Actiont)execotst+1s_t \xrightarrow{\text{LLM}} (\text{Thought}_t, \text{Action}_t) \xrightarrow{\text{exec}} o_t \to s_{t+1},观察结果回填上下文进入下一轮,配合自我纠错(反思失败、重试不同工具或参数)。
💡使用场景
多工具编排(搜索、计算器、数据库、代码执行);多步任务(订票、数据分析流水线);工具参数幻觉的防御(把 JSON Schema 与示例注入提示);面试高频"如何保证 Agent 调用的参数合法且可重试"。
解决的核心痛点
裸 LLM 无法访问实时数据或执行计算,且自由文本输出无法稳定接入 API;Schema + 语法约束解码把"可能格式错误的字符串"变成"必然可解析的结构",ReAct 把单次生成扩展为闭环推理-行动循环,让错误可观察、可纠正。
🎯5 个高频面试考点 (Exam Points)
1
Function Calling 的完整链路:Schema 声明 → 模型输出 → 参数校验 → 执行 → 回填,每一步的失败处理怎么做?
2
语法约束解码的原理是什么?JSON mode 与普通解码在保证可解析性上的区别?
3
ReAct 的 Thought-Action-Observation 循环如何实现终止?最大步数与循环检测怎么设?
4
Agent 如何自我纠错?工具调用失败(超时、参数错、结果空)时应该重试还是换工具?
5
多工具场景如何防止工具选择幻觉:工具描述怎么写、如何做工具路由与结果验证?
更新于 2026-08-12
🎯
检验攻克程度:针对「Agent 与工具调用」专属刷题排雷
做单选排雷题、推导选项机制,答错自动收录进专属错题本。
🚀 开始本考点专项刷题
上一个知识点长上下文评测 Needle/Lost-in-Middle下一个知识点评测基准 MMLU/GSM8K

🔗 更多 大语言模型 知识点卡片

对齐税与偏好数据缩放点积注意力注意力变体 MHA/MQA/GQA分词 BPE/WordPiece