Zhudanya's Blog

learn-claude-code 学习笔记(六):Context Compact —— 上下文总会满,要有办法腾地方

这是 learn-claude-code 系列学习笔记的第六篇。前面几课分别解决了规划(s03 todo)、噪声隔离(s04 subagent)、知识加载(s05 skill)的问题,但有一个根本问题一直没正面解决:上下文窗口是有限的,messages 会一直增长。 问题 读一个 1000 行的文件就吃掉 ~4000 token。读 30 个文件、跑 20 条命令,轻松突破 100k t...

learn-claude-code 学习笔记(五):Skill Loading —— 用到什么知识,临时加载什么知识

这是 learn-claude-code 系列学习笔记的第五篇。s04 用子 Agent 解决了上下文噪声污染的问题,这篇看 s05 怎么解决另一个问题:怎么给 Agent 领域知识。 问题:把所有知识塞进 system prompt 太浪费 你希望 Agent 掌握特定领域的工作流——git 约定、测试规范、代码审查清单、PDF 处理指南。但如果全塞进 system prompt:10...

learn-claude-code 学习笔记(四):Subagent —— 大任务拆小,上下文隔离

这是 learn-claude-code 系列学习笔记的第四篇。s03 给 Agent 加了待办清单解决”忘记计划”的问题,这篇看 s04 怎么解决另一个上下文问题:噪声污染。 问题:上下文被噪声污染 s03 的 Agent 所有工具调用的结果都堆在同一个 messages 里。来看一个场景:你让 Agent “先查测试框架,然后修 utils.py 里的 bug”。 messages...

learn-claude-code 学习笔记(三):TodoWrite —— 给 Agent 一个待办清单

这是 learn-claude-code 系列学习笔记的第三篇。s01 搭了循环,s02 加了工具箱,这篇看 s03 怎么解决一个更根本的问题:Agent 干着干着就忘了自己在干什么。 问题:对话越长,模型越容易跑偏 s02 的 Agent 有了四个工具,给它简单任务没问题。但复杂任务就出事了。 比如你说”重构这个文件:加类型提示、加文档字符串、加 main guard、加错误处理、加...

learn-claude-code 学习笔记(二):Tool Use —— 给 Agent 换一套专业工具箱

这是 learn-claude-code 系列学习笔记的第二篇。上一篇我们搭了一个最小 Agent——一个 while 循环加一个 bash 工具。这篇来看 s02 做了什么:在不改循环的前提下,给 Agent 加更多工具。 s01 的问题:一把瑞士军刀的困境 s01 只有一个 bash 工具,所有操作都走 shell。能用,但处处是坑。 读文件——cat 截断不可控: cat ve...

learn-claude-code 学习笔记(一):Agent Loop —— 一切的起点

这是 learn-claude-code 系列学习笔记的第一篇。这个仓库用 12 个渐进式课程,拆解 Claude Code 背后的 Agent 架构。s01 是一切的起点——用不到 30 行核心代码,搭出一个能干活的 AI Agent。 先搞清楚几个概念 在碰代码之前,有几个概念必须理清,不然后面全是糊涂账。 Agent 是什么 Agent 是一个经过训练的模型,学会了感知环境、推...

Harness Engineering 实践:让 AI Agent 自主验证游戏服务器

当 AI Agent 开始写代码,工程师的工作从”写正确的代码”变成”构建让 Agent 能可靠写出正确代码的环境”。这就是 Harness Engineering。 问题 Agent 改完代码后说”我改完了”,但对不对?有没有改坏别的?全靠人手动验证——启动服务器、打开客户端、登录、操作一遍。每轮 5-10 分钟,来回 3-5 轮。 解决方案 我在一个 15 个微服务的 Go 游戏...

虚拟内存

虚拟内存 内存地址直接操作物理地址可能会存在一些问题: 内存中的逻辑地址直接访问物理地址需要考虑开发者手动对数据进行布局,且内存不够的情况下可能会导致程序崩溃; 在多进程开发环境中,多个进程之间的协同分配和释放内存会导致系统性能低下和提高开发的复杂度; 基于以上问题提出了虚拟内存的概念,CPU和操作系统联手编织了一个“假象”:每个进程独享4G虚拟内存空间(64位则是128T...