游乐游手机版
首页/AI教程/文章详情

大模型API核心概念解析与实用笔记

时间:2026-08-15 13:37
1 模型是无状态的核心结论:大模型本身是无状态的,对话上下文需要依赖 Agent 或应用框架来维护。模型每一次 API 调用,都是一次“全新会话”——它不会自动记住上一轮对话的内容。可以把它理解成一个没有长期记忆的问答引擎,每次交流都需要重新提供背景信息。因此,Agent 框架或聊天应用在每次请求

1. 模型是无状态的

核心结论:大模型本身是无状态的,对话上下文需要依赖 Agent 或应用框架来维护。

大模型 API 核心概念笔记

模型每一次 API 调用,都是一次“全新会话”——它不会自动记住上一轮对话的内容。可以把它理解成一个没有长期记忆的问答引擎,每次交流都需要重新提供背景信息。

因此,Agent 框架或聊天应用在每次请求模型时,都必须把完整或必要的对话历史一并打包发送给模型。

多轮对话示例

第一轮调用:

messages: [{ "role": "system","content": "你是一个编程助手" },{ "role": "user","content": "你好,你是谁?" }]

第二轮调用(必须带上历史):

messages: [{ "role": "system","content": "你是一个编程助手" },{ "role": "user","content": "你好,你是谁?" },{ "role": "assistant", "content": "我是编程助手,有什么可以帮你?" },{ "role": "user","content": "帮我写个冒泡排序" }]

如果只发送最后一条用户消息,模型就无法知道前面讨论过什么,整个上下文信息也会随之丢失。

2. 消息的四种角色

角色谁写的作用
system开发者定义模型的“角色设定”和行为规则,通常只有一条,并放在消息列表最前面
user用户表示用户输入的问题、指令或请求内容
assistant模型(上一轮)保存模型之前的回复,重新拼接回 messages 中,帮助模型延续上下文
toolAgent 框架记录工具执行后的返回结果,并通过 tool_call_id 与对应的工具请求建立关联

3. 模型 vs Agent 框架

模型负责“思考与生成”,Agent 框架负责“执行与调度”。

  • 模型(LLM) :只负责“想”——读取消息、进行推理、输出自然语言内容,或者生成工具调用请求。它自身并不会真的执行外部操作。
  • Agent 框架:围绕大模型 API 运行的业务代码,负责维护 messages 列表、调用真实工具、把工具结果写回 messages,并决定是否继续发起下一轮模型请求。

4. 工具调用的完整流程(ReAct 循环的 API 实现)

以“Vancouver 现在天气怎么样?”为例:

第一次把用户问题发给模型,模型返回的通常不是最终答案,而是先判断需要并行调用 get_weather 和 get_current_time;接着由 Agent 框架实际执行这两个工具并获取结果;第二次再把工具返回内容追加到 messages 中,重新提交给模型;模型读取这些外部结果后,才会生成面向用户的最终回答。

当模型返回的是工具调用请求时,content 通常为 null,真正的调用信息实际上放在 tool_calls 这个字段里:

{"role": "assistant","content": null,"tool_calls": [{"id": "call_abc123","function": {"name": "get_current_time","arguments": "{"timezone": "America/Vancouver"}"}}]}

换句话说,所谓“用户请求 → 工具调用 → 工具执行 → 结果回传 → 再次请求模型”这一整套闭环,本质上就是 ReAct 循环(Reason → Act → Observe)在大模型 API 场景中的实际落地。

5. API 返回格式:为什么是 choices

API 返回结果的顶层使用 choices 数组,是因为接口支持像 n=3 这样的参数,让模型一次生成多个候选答案供开发者或用户选择。

实际开发场景中,99% 的情况都是使用 n=1(默认值),这时直接读取 choices[0].message 即可。

外面包一层数组的设计,是为了保持返回格式统一——无论你要 1 个结果还是 N 个结果,调用方的解析逻辑都不需要额外做特殊分支处理。

6. KV Cache 与首 Token 延迟(TTFT)

首 Token(TTFT)

TTFT = Time To First Token,指的是从发起模型请求到返回第一个 token 或第一个字之间的等待时间。

虽然名称里带有 token,但它本质上描述的是时间,是评估大模型响应速度的重要延迟指标。

KV Cache

模型在处理每个 token 的过程中,会产生 Key 和 Value 两类中间计算结果。

  • 没有 KV Cache:每次调用都要从头计算全部 token,包括 system prompt 和历史对话内容——因此更慢。
  • 有 KV Cache:把已经计算过的 K、V 结果缓存起来,后续请求优先复用,只需要计算新增 token——因此更快。

两者关系

messages 中已经存在的 token(system prompt、历史对话)→ 可以直接读取 KV Cache,跳过重复计算。
新增的 token(新的用户输入)→ 需要实时重新计算。

实际效果:

  • 第一次请求通常较慢(冷启动,没有缓存)
  • 后续请求通常更快(命中缓存,复用已有计算结果)
  • 随着对话轮次增加,KV Cache 的命中比例会更高,TTFT 往往也会更稳定

这也是为什么 system prompt 通常要放在 messages 最前面——因为它基本不会变化,最适合被缓存并长期复用。

来源:https://juejin.cn/post/7673226470265389102
上一篇独立产品AI功能用户留存复盘:数据埋点到迭代闭环 下一篇车型大全API接口教程:品牌车系车型数据查询接入指南
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
CAD零基础入门教程:坐标输入、图层管理与基础绘图命令
AI教程 · 2026-09-01

CAD零基础入门教程:坐标输入、图层管理与基础绘图命令

本文面向CAD零基础学习者,系统讲解坐标输入、图层管理与基础绘图命令的核心用法。通过分步实操与常见问题排查,帮助新手建立精确绘图习惯,掌握规范出图的基础能力。

CAD从入门到项目交付:绘图、标注、图块与实战工作流
AI教程 · 2026-09-01

CAD从入门到项目交付:绘图、标注、图块与实战工作流

掌握CAD的核心在于建立“画得准、标得清、复用快、交付稳”的工作流。本文提供从环境设置、高频命令组合、标注规范、图块标准化到项目分阶段交付的完整路径,帮助初学者避免常见返工陷阱,独立完成可检查、可复用、可打印的工程图纸。

Claude Code 登录指南:个人、Teams 与企业账号区分与授权步骤
AI教程 · 2026-09-01

Claude Code 登录指南:个人、Teams 与企业账号区分与授权步骤

本文详细解析 Claude Code 登录前的账号类型区分方法,涵盖个人订阅、Teams 席位与企业 Enterprise 席位的授权路径差异。提供终端登录命令、环境变量排查及常见异常处理步骤,帮助用户快速完成正确授权并避免登录路径混淆。

Claude Code 文件修改前的权限模式配置与命令审批指南
AI教程 · 2026-09-01

Claude Code 文件修改前的权限模式配置与命令审批指南

本文详细介绍Claude Code在修改文件前的权限模式配置方法,包括defaultMode可选值、permissions allow与deny规则设置、多层级配置文件管理以及 status验证技巧,帮助开发者安全高效地使用AI编程助手。

Claude Code接入VS Code后先测扩展和终端命令
AI教程 · 2026-09-01

Claude Code接入VS Code后先测扩展和终端命令

在VS Code中接入Claude Code后,建议优先验证扩展面板与集成终端两条入口。本文提供标准检查顺序、关键命令与常见故障排查路径,帮助你快速确认环境就绪,避免后续开发受阻。