learn claude code学习记录-S06

1. 上下文压缩

因为agent会做的事情更多了,上下文会越来越快膨胀:

  • 读一个大文件,会塞进很多文本
  • 跑一条长命令,会得到大段输出
  • 多轮任务推进后,旧结果会越来越多

如果没有压缩机制,很快就会出现这些问题:

  1. 模型注意力被旧结果淹没
  2. API 请求越来越重,越来越贵
  3. 最终直接撞上上下文上限,任务中断

所以这一章真正要解决的是:

怎样在不丢掉主线连续性的前提下,把活跃上下文重新腾出空间。

1.1 最小心智模型

建议你先记三层,不要一上来记八层十层:

复制代码
第 1 层:大结果不直接塞进上下文
  -> 写到磁盘,只留预览

第 2 层:旧结果不一直原样保留
  -> 替换成简短占位

第 3 层:整体历史太长时
  -> 生成一份连续性摘要

手动触发 /compactcompact 工具,本质上也是走第 3 层。

1.2 关键数据结构

(1)Persisted Output Marker

当工具输出太大时,不要把全文强塞进当前对话。

最小标记可以长这样:

复制代码
<persisted-output>
Full output saved to: .task_outputs/tool-results/abc123.txt
Preview:
...
</persisted-output>

这个结构表达的是:

  • 全文没有丢
  • 只是搬去了磁盘
  • 当前上下文里只保留一个足够让模型继续判断的预览

(2)CompactState

最小教学版建议你显式维护一份压缩状态:

复制代码
{
    "has_compacted": False,
    "last_summary": "",
    "recent_files": [],
}

这里的字段分别表示:

  • has_compacted:这一轮之前是否已经做过完整压缩
  • last_summary:最近一次压缩得到的摘要
  • recent_files:最近碰过哪些文件,压缩后方便继续追踪

(3)Micro-Compact Boundary

可以先设一条简单规则:

复制代码
只保留最近 3 个工具结果的完整内容
更旧的改成占位提示

这就已经足够让初学者理解:

不是所有历史都要原封不动地一直带着跑。

所以一份合格的压缩结果,至少要保住下面这些东西:

  1. 当前任务目标
  2. 已完成的关键动作
  3. 已修改或重点查看过的文件
  4. 关键决定与约束
  5. 下一步应该做什么

如果这些没有保住,那压缩虽然腾出了空间,却打断了工作连续性。

相关推荐
KaKa_大王7 分钟前
关于秒杀项目的一些理解
java·学习
Z59981784124 分钟前
c#软件开发学习笔记--Modbus-TCP/UDP网口通讯
笔记·学习·c#
zyf1044161 小时前
暑期实践日志 Day29:根据修改要求,进行视频字幕添加
学习·计算机网络·剪辑·暑期实践·课题任务
xqqxqxxq2 小时前
AI Agent学习:打通真实世界:Agent 工具分类与设计原则(李博杰《深入理解 AI Agent》4.1 4.2观后总结)
学习·ai
TJHHH.2 小时前
SQL注入学习总结
数据库·笔记·sql·学习·注入
m4Rk_2 小时前
【论文阅读】Agent 记忆机制(43):Mem²Evolve——让经验与能力在双记忆中共同进化
论文阅读·人工智能·学习·开源·github
个 人 练 习 生3 小时前
数据结构入门:算法复杂度
开发语言·数据结构·经验分享·学习·程序人生·算法
ι:3 小时前
DeepSeek Harness 桌面一键启动与网页背景修改指南
windows·学习·deepseekharness
其实防守也摸鱼3 小时前
红队技能总结导图:从入门到精通的完整知识体系
开发语言·人工智能·学习·安全·web安全
zjnlswd3 小时前
C# 学习笔记
笔记·学习