AI Coding CLI 看起来都在做一件事:把一次会话存下来,下次可以 resume。
whatevertogo
大家都在想 Claude Code 为什么如此出色,为什么能在智能体领域表现优异。其实,答案很简单:Agent Loop 就是你需要的所有内容了。
多 Agent 协作是 AI 编程助手向复杂任务进化的必由之路。一个 Agent 能做的事情有限——当需要并行探索代码、执行重构、同时处理多个文件变更时,多 Agent 系统就是核心架构。
当一个 AI 编程助手的对话越来越长,上下文窗口(Context Window)总会触及上限。此时,如何优雅地压缩历史对话,同时保留关键信息,成为一个决定工具"能否长时间工作"的核心能力。
当 AI 编程助手与开发者进行长时间的对话时,上下文窗口(context window)终究会耗尽。上下文压缩(Context Compaction)系统就是 AI 编程助手的"遗忘机制"——它决定保留什么记忆、丢弃什么细节、如何在不丢失关键信息的情况下让对话继续。
一个 AI 编程助手的核心能力,很大程度上取决于它的工具系统。就像人类程序员依赖编辑器、终端和搜索工具一样,AI Agent 需要一套精心设计的工具来理解代码、执行操作。
LLM 的上下文窗口是有限的,但开发者的需求是无限的。如何在有限的窗口中维持无限长的对话,是 AI 编程助手面临的核心挑战之一。
在 AI 编程助手的演进历程中,从"单一对话"走向"多 Agent 协作"是一个必然趋势。Claude Code 作为 Anthropic 的终端编程工具,其源码中隐藏着一套精心设计的多 Agent 协作架构。本文将从源码层面,剖析这套系统是如何一步步构建起来的。
想象一下这样的场景:你有一个 100 页的文档,每次只需要更新最后一页。如果每次都要重新打印整份文档,那将浪费大量时间和金钱。但如果你能只替换最后一页,前面的 99 页直接复用——这就是 Prompt Cache 的核心思想。
系统提示词(System Prompt)是 AI Agent 的"灵魂"——它定义了 Agent 的行为、能力边界和工作方式。在 Claude Code 这样复杂的多模式系统中,系统提示词不是静态的文本,而是根据运行环境、用户配置和当前模式动态构建的。
一个强大的 AI 编程助手,本质上是一个工具使用者。就像人类程序员需要编辑器、终端、搜索工具一样,AI Agent 也需要工具来与外部世界交互。
在之前的文章中,我们分析了 Claude Code 的客户端微压缩(microCompact.ts)。但你可能不知道,Claude API 本身也提供了一套原生的上下文管理机制——context_edit。这就是 apiMicrocompact.ts 模块的核心。
如果你曾经使用 Claude Code 进行过长时间的编程对话,可能会注意到一个现象:即使对话已经进行了几百轮,Claude 依然能够记住你最初的意图和关键的代码细节。这背后,就是 CompactSystem 在默默工作。
如果你曾经离开 Claude Code 运行了一段时间后回来继续工作,可能会发现它依然流畅如初。这背后,有一个鲜为人知的机制在默默工作——时间基础微压缩(Time-Based Microcompact)。
如果你用过 Claude Code,可能会好奇:当我输入一条消息后,Claude 是如何理解我的意图、调用工具、执行命令,并在多轮对话中保持上下文的?答案就是 QueryEngine。