目录
[二、第一轮上下文的八大构成(对照 Codex / Claude Code)](#二、第一轮上下文的八大构成(对照 Codex / Claude Code))
[1. 基础行为规范:Agent 的"人格与底线"](#1. 基础行为规范:Agent 的"人格与底线")
[2. 个人与项目规则:Codex 与 Claude Code 的杀手锏](#2. 个人与项目规则:Codex 与 Claude Code 的杀手锏)
[3. 用户偏好与历史经验:把"越用越好"做成产品卖点](#3. 用户偏好与历史经验:把"越用越好"做成产品卖点)
[4. 工具说明:Agent 的"手脚说明书"(必备)](#4. 工具说明:Agent 的"手脚说明书"(必备))
[5. 技能目录:与 Skills 机制对接](#5. 技能目录:与 Skills 机制对接)
[6. 环境信息:让模型"知道自己在哪"](#6. 环境信息:让模型"知道自己在哪")
[7. 权限与执行边界:效率的隐藏杠杆](#7. 权限与执行边界:效率的隐藏杠杆)
[8. 当前需求与材料:每轮的主角](#8. 当前需求与材料:每轮的主角)
**摘要:**上下文管理是 Agent 架构的根基,也是大厂面试必问的高频考点。视频以 Codex 和 Claude Code 两大行业标杆为例,拆解了上下文管理的本质(管理每一轮对话中大模型"看到"的信息)与第一轮上下文的八大构成模块,并指出多轮对话中上下文会动态变化------工具结果回流、历史被压缩筛选。本文在此基础上补齐了每块构成的设计要点与垂类 Agent 的取舍建议。
背景:为什么"上下文管理"是面试必问
随着 Agent 应用从 Demo 走向生产,面试官问的问题也越来越"工程化":不再只问"什么是 RAG""什么是 ReAct",而是开始追问------**"你的 Agent 每一轮到底给模型喂了什么?"**这个问题背后,就是上下文管理(Context Management)。
上下文管理贯穿 Agent 全流程:从用户提问进来,到工具调用返回,再到多轮历史回流,每一环都在做同一件事------决定大模型每一轮看到的输入长什么样。谁把这套"信息组装"逻辑设计清楚了,谁就掌握了 Agent 的下半场。这也是视频把上下文管理与 Harness 绑在一起讲的原因:上下文管理是 Harness 的核心子系统之一。
思考: 对面试来说,这道题是"一层窗户纸"型考点。很多人以为上下文管理就是"把历史消息拼起来",但面试官真正想听到的是一套可展开、有层次的认知:本质论(为什么每一轮都是全新问询)→ 构成论(第一轮拼八类信息)→ 动态论(多轮后如何压缩/筛选/回流)。这篇博客按这个脉络展开,正好对应面试的追问节奏。
一、本质:每一轮对话,对大模型都是一次"全新问询"
我们在日常使用豆包、DeepSeek、Codex、Claude Code 时,感觉它们"记住了"前面的对话------好像模型有记忆。但把最底层的框架源码扒开看,真相完全不同:所谓"记忆",是 Harness 用代码拼出来的假象。
假设你有一个裸 API 直连模型(不经过任何 Agent 框架),第一句问"今天天气怎么样",模型回答了;第二句再问"推荐去哪玩",模型根本不知道你问过天气------对第二次输入而言,它就是一条全新的消息。
那么 Harness 做了什么?它在第二句并不是只发"推荐去哪玩",而是把"问今天天气怎么样 + 回答 + 问推荐去哪玩"三句拼好一起发给模型。从外部看,你只说了一句话,模型却"记得"前文------这整个过程,就是上下文管理。
思考: 这句话值得反复咀嚼:**模型的"连续性"完全由框架层负责,模型本身是"无状态"的。这带来两个推论------第一,任何 Agent 的记忆/上下文能力,本质上都是"组装逻辑"的复杂度,复杂度越高,token 成本越高、工程越难;第二,上下文管理的好坏直接决定 Agent 的有效性(无效信息挤占注意力)与成本(token 消耗)。理解了这一层,"为什么我只说了一句你好却扣了很多 token"这个经典疑问就迎刃而解------因为内部拼接了系统提示词、工具说明、环境信息等一大坨隐性内容。
回答: 面试表达金句:"上下文管理的本质,是管理每一轮 Agent 循环中大语言模型所看到的信息;它把用户的一句话,组装成一段完整的多源输入。"**这句话可以作为任何"讲上下文管理"回答的开场,先立本质,再谈构成,最后谈动态变化。
二、第一轮上下文的八大构成(对照 Codex / Claude Code)
视频按行业标杆------Codex(OpenAI)与 Claude Code(Anthropic)的真实实现------梳理出第一轮输入通常组装的内容。Codex 源码已开源,Claude Code 的行为也能通过运行日志观测到,下面八块基本覆盖了它们的组装清单:
| # | 构成模块 | 内容说明 | 定性 |
|---|---|---|---|
| 1 | 基础行为规范 | System Prompt:角色设定、行为边界、技能清单(如"你是专业剧本设计师,遵守哪些规则,验收时审核哪些维度") | 相对稳定 |
| 2 | 个人与项目规则 | CLAUDE.md / AGENTS.md:按项目/仓库隔离的规则文件,随项目动态变化 | 动态(文件驱动) |
| 3 | 用户偏好与历史经验 | 从过往对话沉淀的用户偏好(如"我喜欢霸道总裁爱上我的情节")与踩坑经验,可选设计 | 可选 |
| 4 | 工具说明 | 当前可用工具清单与用法(Agent 与外界交互的唯一通道,必备) | 必要 |
| 5 | 技能目录 | 可用 Skills 列表(如 GPTs、Codex 的 skills 机制);垂类 Agent 若不用可剔除 | 可选 |
| 6 | 环境信息 | 当前工作目录、运行平台、操作系统(Windows/Linux)、CLI 能力等客观环境 | 动态 |
| 7 | 权限与执行边界 | 哪些工具需人工审批、哪些免审批、哪些禁止------先声明边界,让规划不再做无效尝试 | 必要 |
| 8 | 当前需求与材料 | 用户本次问题、上传附件及其内容 | 每轮不同 |
1. 基础行为规范:Agent 的"人格与底线"
这块相对稳定,一次写好、每轮固定拼接。它是网上很火的 System Prompt 工程的落地形态。做垂类 Agent(比如"生成智能剧本的应用")时,你会把"你是专业剧本设计师、遵守哪些规则、验收时审核哪些维度"写死在这一层。它决定了模型"用谁的语气、按什么标准、守住什么底线"来工作。
2. 个人与项目规则:Codex 与 Claude Code 的杀手锏
这是 Codex / Claude Code 这类"编程智能体"的独特设计:项目级规则文件(Claude Code 叫 CLAUDE.md,Codex 叫 AGENTS.md)。每个项目的约束不同,通过文件把它"物化"下来,模型每次对话都会自动把它拼在提问前面。这个设计极其优雅------规则从"代码里写死"变成"仓库里维护",业务方可以直接编辑文件调整 Agent 行为,无需改框架代码。
思考: 从工程视角看,这套"文件即配置"的机制解决了 Agent 定制化的最大痛点:规则的可维护性与版本控制。CLAUDE.md 进 Git 仓库后,规则变更有了 diff、review、回滚,这比在 System Prompt 里硬改高级得多。做垂类 Agent 时这个思路值得直接抄------把领域规则、专有约束外置成文档目录,让领域专家而非程序员维护规则。
3. 用户偏好与历史经验:把"越用越好"做成产品卖点
如果你希望产品"越用越好",就要在对话过程中自动沉淀用户偏好与历史经验。比如用户偏好某类情节,系统自动记录,下次对话自动带上,用户不必重复描述;又如"上次某个脚本执行得很差,我人工纠正过",这个经验被记住后,下次就不会再犯。
视频特别强调:这块是可选的。做垂类 Agent 时,要先想清楚你的产品是否需要"个性化沉淀",再决定要不要做------因为它涉及记忆存储、隐私边界、动态注入等额外复杂度。
4. 工具说明:Agent 的"手脚说明书"(必备)
Agent 与外界交互的唯一通道就是工具调用,而用户不可能在对话里逐条告诉模型"有哪些工具可用、参数怎么填"。所以设计 Harness 时,工具说明是必拼内容:工具名、功能、参数 schema、使用约束,全部在初始提示词里声明好。这是"Function Calling / Tool Use"在上下文层的落地。
5. 技能目录:与 Skills 机制对接
GPTS、Codex Skills 这类机制就是在上下文里注入"当前可用技能清单"。通用平台为了"什么都能干"必须带它;但垂类 Agent 如果功能固定,技能目录就是冗余,可以排除------上下文不是越多越好,每一块都要为"这个 Agent 的定位"服务。
6. 环境信息:让模型"知道自己在哪"
环境信息是一类常被忽略、但让模型表现差一大截的输入。问 Claude Code"今天天气怎么样",它会把当前工作目录拼进提示词;同样,运行在哪个平台、是 Windows 还是 Linux、CLI 支持哪些命令------这些客观信息让模型的回答和行动更"贴地气",避免生成与环境不符的指令(比如在 Windows 上给出 bash 语法)。
7. 权限与执行边界:效率的隐藏杠杆
权限不仅仅是"安全",更是效率 。虽然工具执行的审批已通过硬编码(调用时弹窗确认)实现,但如果在提示词里先声明清楚:哪些工具免审批、哪些需审核、哪些行为禁止------模型在 Plan 阶段就不会做无效尝试。直接效果是:上下文(token)更省、时间更少、执行效率更高。
思考: 这是全片最有"工程味"的一个点:把安全约束前置到提示词层,与运行时强制层形成双层防护。运行时硬编码负责"拦得住",提示词声明负责"别去试"。两者缺一:只有硬编码,模型会反复触发拦截、浪费整轮上下文;只有提示词,遇到越权行为可能被绕过。面试中能主动讲出 "permissions(白名单/审批/禁止)→ 降低无效探索 → 节省 token" 这条因果链,是明显的加分项。
8. 当前需求与材料:每轮的主角
最后一块就是用户当前的问题、附带的附件及其解析内容。这是唯一"每次都不一样"的部分,也是整个输入组装里语义密度最高的一段。
**答案:**八大构成的面试话术模板:只需类比"给新员工办入职"------行为规范(员工手册)、项目规则(团队 SOP 文档)、用户偏好(客户档案)、工具说明(办公系统操作指南)、技能目录(内部课程库)、环境信息(工位/办公设备)、权限边界(门禁与审批流程)、当前材料(本次任务需求书)。一整套讲下来,面试官能立刻判断你是真做过还是背过概念。
三、多轮之后:上下文是动态变化的信息流
回到最简单的 ReAct 循环:从用户提问到大模型,你表面只问了一句,但 Harness 内部拼了上面八大块。而当对话走过一轮、工具执行完返回,输入会继续"生长":
- 历史对话回流:前几轮的 Q&A 会拼进来,成为"记忆"的载体;
- 工具结果回流:每轮工具调用的返回结果也会追加进上下文;
- 历史被压缩/筛选/精简:当历史太长,框架会对它做压缩、采样、裁减(甚至摘要化),控制 token 成本;
- 整段上下文在每一轮动态变化:没有"固定不变的 prompt",只有"每轮重新组装的消息序列"。
这正是视频埋下的伏笔,也是后续"会话历史怎么管理、工具结果怎么管理"系列视频的主题。
思考: 这里有个容易被忽略的关键点:**上下文管理 = 组装 + 淘汰。**新手只看到"拼什么",高手看到"砍什么"。token 窗口是硬约束,淘汰策略(窗口截断、滑动窗口、摘要、相关性采样)直接决定长任务的成败。面试进阶可以从这里延伸:多轮 Agent 如何避免"上下文污染"(工具输出混入不该有的内容)、如何做分层记忆(短期窗口 + 长期摘要)、以及"压缩后的历史是否丢失关键信息"的权衡。
深度思考:从"行业标杆"到"垂类取舍"
视频给了一个非常务实的收尾视角:Claude Code 和 Codex 是通用平台 ,所以必须考虑全部八个维度;而你做垂类 Agent 时,完全可以按需取舍------技能目录可以删、用户偏好可以不做、环境信息可以精简,甚至工具说明都能收敛成固定集合。
这套对比本身就是一种方法论:先抄行业标杆的完整框架 → 再按业务定位做减法。通用平台追求"什么都能干",所以要面面俱到;垂类 Agent 追求"干得极好",所以砍掉一切与主线无关的输入,把 token 预算全部留给核心任务。
思考: 横向对照行业趋势:上下文管理正在从"手工拼 prompt"走向"系统化分层"------短期会话历史、长期记忆库、工具结果缓存、项目级规则目录各司其职;叠加压缩技术(如长上下文摘要、KV Cache 优化、上下文蒸馏),它已经演化成一个独立的技术栈。大厂面试如果继续深挖,大概率会沿着"记忆系统→压缩策略→工具结果管理"这条线连环追问,这与视频作者"后续逐个展开"的系列规划高度一致。对备考者来说,这篇视频的价值不只是"知道八大构成",更是拿到了一个可以持续扩充的知识骨架。
总结要点
- 本质先行:上下文管理的本质 = 管理每一轮大模型看到的信息;模型本质"无状态",连续性全靠框架层组装。
- 结构性认知:第一轮上下文 ≈ 八大构成------行为规范、项目规则、用户偏好、工具说明、技能目录、环境信息、权限边界、当前需求。
- 标杆对照:CLAUDE.md / AGENTS.md 是"文件即配置"的项目规则范式,规则外置进仓库、可版本控制,是通用编程 Agent 的核心工程细节。
- 权限即效率:把权限/禁止项写进提示词,可让模型在 Plan 阶段就避开无效探索,直接省 token、提效。
- 动态信息流:多轮后,上下文 = 原输入 + 历史对话 + 工具结果 + 压缩/筛选后的旧历史,每一轮都重新组装。
- 垂类做减法:通用平台全量考虑,垂类 Agent 按业务定位删减模块,把 token 预算投给核心任务。
- 面试连接词:上下文管理 → 记忆系统 → 压缩策略 → 工具结果管理,这条链路是后续追问的自然延伸,建议逐个准备深度素材。
参考资料
- 原始视频:什么是上下文管理?Agent上下文管理是面试必问(啊涛聊AI)
- OpenAI Codex:github.com/openai/codex(开源,可查阅上下文组装源码)
- Anthropic Claude Code + CLAUDE.md 概念(Anthropic 官方文档)
- 关联阅读:本系列上一期《Agent Harness 是什么------智能体操作系统六大构成深度解析》