消息的四种角色

大模型 API 的核心是一个**消息列表**(messages),列表中的每条消息都有一个**角色**(role)标识,模型根据角色来理解每条消息的含义和来源:

  • **system**:系统提示词。由开发者编写,定义 Agent 的身份、行为规则、约束条件。模型将其视为最高优先级的指令。整个对话过程中通常只有一条,放在消息列表的最前面。

  • **user**:用户消息。来自终端用户的输入,是 Agent 需要响应的请求。

  • **assistant**:助手消息。模型之前的回复,包括文本回复和工具调用请求。在多轮对话中,之前的 assistant 消息会被放回消息列表,让模型"记住"自己说过什么。

  • **tool**:工具结果。Agent 框架执行工具后,将结果以 tool 角色的消息送回给模型。每条 tool 消息通过 `tool_call_id` 与对应的工具调用请求关联。

此外,工具定义(tools)作为请求的独立字段(而非消息),告诉模型有哪些工具可以使用、每个工具接受什么参数。

相关推荐
瑞雪兆丰年兮5 小时前
JavaWeb-day11-SpringBootWeb案例(文件上传)
java·运维·服务器·javaweb·oss
JarvanMo5 小时前
Flutter 3.50 & Dart 3.14发布,一起看看有哪些变化!
前端
袁俪5 小时前
数字孪生协同
人工智能
海拥✘5 小时前
让 AI 修 AI 平台自己的 Bug:我用 SoduWork 给 SoduWork 提了一个 PR
人工智能·bug
挖掘狂人5 小时前
AI 把代码写得飞快,然后呢?聊聊我验收生成代码的一套流程
人工智能·程序员·ai编程
汤姆宝库5 小时前
推理服务器的调度器:连续批处理与请求生命周期
人工智能
莪_幻尘5 小时前
4 个 3D 游戏,总体积 3.82MB:拆解 Claude 的 one-shot 工程链路
前端·ai编程·three.js
Highcharts.js5 小时前
Highcharts智能数据分析平台Orbit 多语言配置技术文档
java·前端·javascript·highcharts·orbit·智能数据分析·设置文档
Rain的Java大神之路5 小时前
设计一套生产级 API 接口:从契约、安全、幂等到限流,我踩过的坑都在这了
java·后端·面试
SimonKing6 小时前
零配置也能白嫖前沿大模型!dsh-our-free-model插件真香警告
java·后端·程序员