上下文:Agent 的眼睛

上下文:Agent 的眼睛

上下文是 Agent 在每个决策点能看到的全部信息。就像一个人在做决策时需要看到桌上摊开的所有资料------任务说明、参考手册、之前的沟通记录、最新的数据------Agent 的上下文窗口就是它的"视野"。从 API 的视角看(详见第二章),每次调用 LLM 时的上下文由以下五个部分构成:

  • **系统提示词**(System Prompt):与用户每次输入的提示词不同,系统提示词由开发者编写,在整个对话过程中保持不变,相当于 Agent 的"岗位说明书"------定义它的身份、权限和行为准则。通过提示工程(Prompt Engineering)精心设计系统提示词,我们可以塑造 Agent 的工作方式。系统提示词中还会包含跨会话保存的**用户记忆**(用户偏好、历史行为、背景设定等个性化信息,详见第三章)和动态注入的环境状态。

  • **工具定义**(Tool Definitions):声明 Agent 可用工具的名称、功能描述和参数格式。没有工具定义,Agent 就无法识别和调用任何工具------消融实验(实验 1-1)将验证这一点。工具定义与系统提示词一起构成对话中保持不变的**静态前缀**。

  • **用户消息**(User Messages):来自用户的输入。用户消息中还可能包含通过 RAG(检索增强生成,Retrieval-Augmented Generation,详见第三章)动态检索引入的**外部知识**------覆盖训练数据截止后的信息或私有领域知识。

  • **模型回复**(Assistant Messages):模型之前生成的回复,最多包含三个部分------思考过程(`reasoning`,即内部思考链,保持思维连贯性和决策可解释性)、文本内容(`content`,即对用户的回复)和工具调用请求(`tool_calls`,即 Agent 采取行动的方式)。在一次具体的回复中,三者不一定同时出现:例如 Agent 决定调用工具时通常只有 `reasoning` + `tool_calls`,给出最终回答时通常只有 `reasoning` + `content`。

  • **工具执行结果**(Tool Results):Agent 框架执行工具后返回的结果。这些结果是 Agent 下一步思考的直接依据,也让它能够从执行结果中学习、避免重复犯错。

前两项(系统提示词 + 工具定义)是静态前缀,后三项(用户消息 + 模型回复 + 工具执行结果)是随交互不断增长的动态消息历史。这五个部分共同构成了 LLM 每次推理时的上下文。

相关推荐
IT_陈寒6 分钟前
Redis雪崩把我坑惨了,这是5年经验的教训
前端·人工智能·后端
SameX16 分钟前
HarmonyOS ArkUI List 的侧滑删除 用 ListItem 的 swipeAction + endIcon 的做法
前端
心祭丫丫16 分钟前
【每天一个 Python 小案例17】Python 实现通讯录
开发语言·人工智能·笔记·python·学习
海螺_AIHCC38 分钟前
LLM 返回的 JSON 十次坏三次,别急着骂模型——60 行容错解析器先兜住(附可运行代码)
人工智能
露天赏雪43 分钟前
第3篇:Sentinel熔断降级实战:大模型接口抖动时的服务兜底方案
java·开发语言·人工智能·spring boot·spring·servlet·sentinel
lisw0543 分钟前
理解推理大语言模型的可监控性!
人工智能·语言模型·自然语言处理
天天被压力1 小时前
【A股分钟级高频数据完全手册 #06】北交所分钟级数据接口:京市股票Pro版最新分时
java·人工智能·python
在所不辞兄1 小时前
为什么学习率预热(warmup)能显著改善Transformer等大模型的训练稳定性?
人工智能·深度学习·神经网络·机器学习·智能仿真
天天被压力1 小时前
【A股分钟级高频数据完全手册 #05】指数历史分钟数据接口:Pro版沪深指数分时回放
java·人工智能·python
captain3761 小时前
▲统一功能——DispatcherServlet源码分析
java·spring·java-ee·log4j·maven