
对话上线文内容解析
-
System Prompt (系统提示词) - 724 Tokens
- 用途: 这是模型的“人设”和核心指令。它定义了 AI 是谁(例如:“你是一个资深的全栈工程师”)、它的任务目标是什么、以及它应该遵循的基本回复格式。
- 特点: 通常比较精简,但权重最高,贯穿整个对话始终。
-
Tool Definitions (工具定义) - 14.7K Tokens
- 用途: 这是让模型具备“行动能力”的关键。这里包含了模型可以调用的外部 API、函数或脚本的详细描述(例如:
read_file,run_terminal_command,search_web)。 - 特点: 占用量较大(14.7K),说明这个系统赋予了模型非常丰富的操作能力。模型需要阅读这些定义才能知道如何正确地构造 JSON 或代码来调用这些工具。
- 用途: 这是让模型具备“行动能力”的关键。这里包含了模型可以调用的外部 API、函数或脚本的详细描述(例如:
-
Rules (规则) - 5.3K Tokens
- 用途: 这是具体的行为约束或业务逻辑。比如“不要删除任何文件”、“必须使用 TypeScript 编写代码”、“回答必须包含代码块”。
- 特点: 相比 System Prompt 的宏观设定,Rules 更侧重于具体的执行细节和禁忌。
-
Skills (技能) - 2.4K Tokens
- 用途: 这可能指预置的特定任务模板或知识库片段。例如,“如何配置 Docker”或“React 最佳实践”。当用户触发相关话题时,这些技能会被激活或作为背景知识注入。
-
Subagent Definitions (子智能体定义) - 1.3K Tokens
- 用途: 这表明系统采用了多智能体架构。主模型可以指派任务给专门的“子智能体”(例如一个专门负责写测试用例的子智能体,另一个专门负责写文档)。这里定义了这些子角色的职责。
-
Conversation (对话历史) - 124.7K Tokens
- 用途: 这是用户与模型之间实际发生的问答记录。
- 特点: 占据了最大的比例(约 83% 的已用空间)。这说明当前的会话已经进行了很长时间,或者包含了很多长代码、长文件的传输。这也是为什么总用量达到了 149.2K。
对话示例
基于上述配置(特别是大量的 Tool Definitions 和 Rules),这非常像是一个 AI 编程助手(如 Cursor, Windsurf 或类似的 IDE 插件) 的工作状态。
以下是一个模拟的对话场景,展示了这些上下文是如何协同工作的:
场景背景: 用户正在开发一个 Web 应用,需要修复一个 Bug 并添加新功能。此时上下文已经积累了很多之前的代码讨论(Conversation 占用高)。
用户:
帮我检查一下
auth.ts文件里的登录逻辑,好像有个安全漏洞。另外,修好后帮我把相关的单元测试也更新了。记得遵循我们在.cursorrules里定的规范,不要用any类型。
(后台处理过程 - 用户不可见,但消耗了 Context)
- System Prompt: 提醒模型它是一个安全专家及资深前端开发。
- Rules (5.3K): 检索到规则 “禁止使用
any类型”,“修改代码后必须生成对应的 Jest 测试用例”。 - Tool Definitions (14.7K): 模型加载
read_file(读取 auth.ts),write_file(写入修改),run_test(运行测试) 的工具描述。 - Conversation (124.7K): 模型回顾之前的对话,了解
auth.ts的历史修改记录和项目使用的技术栈(比如是 Next.js 还是 Express)。
模型 (AI):
我分析了
auth.ts,发现确实存在一个问题:在验证 Token 时没有检查过期时间,这可能导致过期凭证被重用。我将执行以下操作:
- 在验证逻辑中增加
exp字段的检查。- 确保所有变量都有明确的 TypeScript 接口定义(遵守无
any规则)。- 更新
auth.test.ts以覆盖这个新的边界情况。正在调用工具读取文件… [Tool Call: read_file]
(用户继续对话,Context Usage 进一步上升)
用户:
看起来不错。但是在运行测试之前,先帮我把
package.json里的测试脚本改一下,我们需要加上覆盖率报告。
模型 (AI):
没问题。我会修改
package.json中的test脚本,加入--coverage参数。[Tool Call: read_file path=“package.json”]
…
[Tool Call: write_file path=“package.json” content=“…”]修改完成。现在我们可以运行测试并查看覆盖率了。需要我现在执行
npm test吗?
总结
这张图反映了当前大模型应用的一个趋势:从单纯的“聊天机器人”向“复杂任务代理”转变。为了完成复杂的编程或工作任务,模型必须“记住”大量的工具说明书(Tools)和行为准则(Rules),这导致留给真正对话(Conversation)的空间虽然很大(124K),但也很容易被耗尽。
406

被折叠的 条评论
为什么被折叠?



