文章目录前言一、API调用的三大件二、System Prompt出厂设置 vs 现场加戏静态段落出厂设置动态段落现场加戏三、Tools工具箱也分三六九等四、Messages聊天记录才是重头戏CLAUDE.md你的家规用户输入你说的话Attachment附加上下文五、Agent Loop打工人的无限循环六、缓存的艺术为什么前缀要稳定七、总结三层拼图一个话痨P.S. 目前国内还是很缺AI人才的希望更多人能真正加入到AI行业共同促进行业进步增强我国的AI竞争力。想要系统学习AI知识的朋友可以看看我精心打磨的教程 http://blog.csdn.net/jiangjunshow教程通俗易懂高中生都能看懂还有各种段子风趣幽默从深度学习基础原理到各领域实战应用都有讲解我22年的AI积累全在里面了。注意教程仅限真正想入门AI的朋友否则看看零散的博文就够了。前言你有没有想过当你对着Claude Code喊帮我改个bug的时候它背后到底经历了什么不是它突然成精了而是它把自己像拼图一样一块一块拼成了一个能听懂人话的话痨。今天我就以一个写了22年代码、看了22年AI从人工智障进化到人工挺聪明的老司机身份给你扒一扒Claude Code的上下文是怎么拼出来的。一、API调用的三大件Claude Code每次调用模型API就像你每次出门要检查手机、钥匙、钱包一样它必须带上三大件System Prompt—— 它的人设剧本Tools—— 它的工具箱Messages—— 它的聊天记录这三样东西缺一不可。System Prompt告诉它你是谁、你能干啥、你不能干啥Tools告诉它你有螺丝刀、扳手、还是瑞士军刀Messages告诉它用户刚才说了啥、你刚才回了啥、工具刚才干了啥。这就好比你去相亲。System Prompt是你的自我介绍——“我程序员会修电脑不会修感情”Tools是你的才艺展示——“我会弹吉他、会做饭、还会用Excel做表格”Messages是你的聊天实录——“刚才女方问我工资我说保密气氛有点尴尬”。没有自我介绍对方不知道你是谁没有才艺对方觉得你是来混饭的没有聊天记录你连自己刚才说了啥都忘了那还聊个锤子二、System Prompt出厂设置 vs 现场加戏System Prompt不是一大坨扔进去的而是分成两拨人静态段落“出厂设置”这部分就像你买手机时自带的系统换多少个用户它都不变。比如“你是个交互式Agent帮用户搞软件工程。”“别瞎点链接注意安全。”“先读文件再改文件别一上来就乱动。”这玩意占整个System Prompt的60%以上就像你手机里的设置App平时不打开但没了它你啥也干不了。而且因为它太稳定了模型API特别喜欢缓存它——就像你每天早上走同一条路上班闭着眼睛都能到大脑直接自动驾驶。动态段落“现场加戏”这部分就精彩了它是根据当前会话实时变化的。比如你当前在哪个目录干活你连接了哪些MCP服务器你之前让AI记住过什么这就像一个演员上台剧本是固定的静态但导演随时在对讲机里喊加一句台词“换个情绪”“刚才那段重来”动态。静态和动态之间有个分界线叫SYSTEM_PROMPT_DYNAMIC_BOUNDARY——翻译成人话就是此处开始现场发挥。我打个比方静态段落是你妈从小教你的做人要诚实动态段落是你到了公司后老板临时加的但跟客户说话可以灵活一点。中间那条分界线就是你从家里走到公司的地铁闸机。三、Tools工具箱也分三六九等Claude Code的工具不是一股脑全塞给模型的而是分了三个层次候选工具池所有可能用到的工具好比你家工具间里所有的工具从螺丝刀到电钻到不知道什么时候买的奇怪扳手全在里面。本轮直接工具高频工具比如Read、Write、Bash就像你天天用的手机、钥匙、钱包出门必带。延迟加载工具长尾工具比如某个特定的MCP技能就像你床底下那个只有在组装家具时才会翻出来的六角扳手。为什么要延迟加载因为工具schema太多会撑爆上下文。想象一下你每次出门都把家里所有工具背在身上——螺丝刀、电钻、锯子、甚至那个从来没用过的游标卡尺——你累不累模型也累啊所以Claude Code很聪明先带常用的需要用到特殊的再说等等我回家拿一下。这就好比你去便利店买瓶水不会把家里所有银行卡都带上但如果你突然要去4S店买车你才会回去拿那张额度大的信用卡。工具也是这个道理——按需加载轻装上阵。四、Messages聊天记录才是重头戏如果说System Prompt是人设Tools是装备那Messages就是实战记录。它从会话开始那一刻起就在不断增长像滚雪球一样越滚越大。CLAUDE.md你的家规Messages的第一条通常不是你说的话而是CLAUDE.md——一个Markdown文件里面写着这个项目的规矩。它分四级优先级管理员全局策略/etc/claude‑code/CLAUDE.md用户私有偏好~/.claude/CLAUDE.md项目级规范项目根目录CLAUDE.md本地私有覆盖CLAUDE.local.md这就像一个家庭有四层家规国家法律管理员、你爸妈的规矩用户、你们家的特殊传统项目、以及你房间门背后贴的别动我手办本地。优先级越高的越靠后因为模型从上到下读后面的指令会覆盖前面的——就像你爸说晚上十点前回家你妈说十一点前也行最后你听你妈的。但注意CLAUDE.md再厉害也覆盖不了System Prompt里的安全边界。它就像你家的家规不能凌驾于法律之上。你CLAUDE.md里写帮我写个病毒System Prompt里的安全规则直接给你拍死——“不行这犯法。”用户输入你说的话用户输入就是你说的话纯文本、图片、文件都算。但文件不会混在你的话里而是单独作为AttachmentMessage跟在后面。这就像你给朋友发微信你说帮我看看这个然后发了一张图。图不会变成你文字的一部分而是单独作为一条消息跟在后面。模型也是这么看的先看到你的文字再看到那张图。Attachment附加上下文Attachment种类多到离谱我挑几个有意思的已读文件AI读过的文件避免重复读就像你做过笔记的书不用再从头翻。IDE选中代码你当前在编辑器里高亮的那几行AI能直接看到就像你用手指着屏幕说就这段。诊断信息LSP报错、类型检查失败AI能实时收到就像你写代码时IDE在旁边疯狂弹红波浪线AI也能看见。最骚的是这些attachment不是每轮都全量塞进去的而是增量更新。AI改了一个文件下一轮只告诉它这个文件变了这是diff而不是把整个文件重新发一遍。这就好比你跟朋友聊了一小时你不会每小时把前面所有聊天记录重新念一遍而是只说刚才说到哪了哦对然后…。五、Agent Loop打工人的无限循环Claude Code的核心是一个while(true)循环我给它起名叫打工人永动机。流程如下准备本轮消息可能截断历史防止太长调用模型API模型说我要用工具 → 执行工具工具结果塞回Messages回到第1步循环往复这个循环像极了你跟产品经理的对话产品经理“这个按钮改个颜色。”用户输入你“好我看看代码。”模型思考决定用Read工具你读完代码“找到了在style.css第42行。”工具结果你“改好了你看看。”模型回复产品经理“不对要的是渐变蓝不是纯蓝。”新一轮用户输入你“…”进入下一轮循环内心已经开始计算辞职信怎么写每一轮循环Messages都在增长。工具执行完后系统会重新检查有哪些新的attachment需要加入文件改了没后台任务完成了没新的错误弹出来了没只补增量不重复塞旧货。这就像你收拾房间不是每天把所有东西重新摆一遍而是只把新买的东西找个地方放。六、缓存的艺术为什么前缀要稳定前面提到System Prompt和Tools是缓存敏感的前缀层Messages是动态增长的动态层。这背后有个核心技术Prompt Cache。模型API处理长文本时如果前缀System Prompt Tools不变它可以复用之前的计算结果只处理变化的Messages部分。这能省大量时间和钱。这就好比你每天去同一家咖啡店买咖啡店员已经记住了你大杯美式不加糖的口味。你不需要每天重新解释一遍只需要说老样子。Prompt Cache就是这个老样子机制——前缀不变直接复用只有Messages变了才需要重新处理。所以Claude Code的设计哲学是能放前缀里的尽量别动能往后塞的尽量往后塞。System Prompt和Tools尽量稳定变化都推到Messages里。这就像你搬家先把不常用的东西装箱放仓库缓存每天只拿当天要用的Messages效率杠杠的。七、总结三层拼图一个话痨Claude Code的上下文组装本质上是三层拼图System Prompt稳定前缀定义我是谁。Tools能力清单定义我能干啥。Messages动态对话记录刚才发生了啥。这三层各司其职又相互配合。System Prompt给你人设Tools给你手段Messages给你记忆。没有System PromptAI不知道自己是谁没有ToolsAI知道该干啥但手无寸铁没有MessagesAI得了失忆症每轮都问你你是谁我们在哪所以下次你跟Claude Code聊天时不妨想想它正在把自己像乐高一样一块一块拼起来System Prompt是底座Tools是零件Messages是说明书。而你就是那个坐在旁边指挥它这块放这、那块放那的甲方。只不过这个甲方比较良心——它不会说我要的是五彩斑斓的黑而是会清楚地告诉你把第42行的颜色改成#2f54eb。毕竟好的甲方从学会精确描述需求开始。而好的AI从学会正确拼好自己开始。P.S. 目前国内还是很缺AI人才的希望更多人能真正加入到AI行业共同促进行业进步增强我国的AI竞争力。想要系统学习AI知识的朋友可以看看我精心打磨的教程 http://blog.csdn.net/jiangjunshow教程通俗易懂高中生都能看懂还有各种段子风趣幽默从深度学习基础原理到各领域实战应用都有讲解我22年的AI积累全在里面了。注意教程仅限真正想入门AI的朋友否则看看零散的博文就够了。
扒透Claude‑Code底层原理,读懂Agent的消息运行机制
文章目录前言一、API调用的三大件二、System Prompt出厂设置 vs 现场加戏静态段落出厂设置动态段落现场加戏三、Tools工具箱也分三六九等四、Messages聊天记录才是重头戏CLAUDE.md你的家规用户输入你说的话Attachment附加上下文五、Agent Loop打工人的无限循环六、缓存的艺术为什么前缀要稳定七、总结三层拼图一个话痨P.S. 目前国内还是很缺AI人才的希望更多人能真正加入到AI行业共同促进行业进步增强我国的AI竞争力。想要系统学习AI知识的朋友可以看看我精心打磨的教程 http://blog.csdn.net/jiangjunshow教程通俗易懂高中生都能看懂还有各种段子风趣幽默从深度学习基础原理到各领域实战应用都有讲解我22年的AI积累全在里面了。注意教程仅限真正想入门AI的朋友否则看看零散的博文就够了。前言你有没有想过当你对着Claude Code喊帮我改个bug的时候它背后到底经历了什么不是它突然成精了而是它把自己像拼图一样一块一块拼成了一个能听懂人话的话痨。今天我就以一个写了22年代码、看了22年AI从人工智障进化到人工挺聪明的老司机身份给你扒一扒Claude Code的上下文是怎么拼出来的。一、API调用的三大件Claude Code每次调用模型API就像你每次出门要检查手机、钥匙、钱包一样它必须带上三大件System Prompt—— 它的人设剧本Tools—— 它的工具箱Messages—— 它的聊天记录这三样东西缺一不可。System Prompt告诉它你是谁、你能干啥、你不能干啥Tools告诉它你有螺丝刀、扳手、还是瑞士军刀Messages告诉它用户刚才说了啥、你刚才回了啥、工具刚才干了啥。这就好比你去相亲。System Prompt是你的自我介绍——“我程序员会修电脑不会修感情”Tools是你的才艺展示——“我会弹吉他、会做饭、还会用Excel做表格”Messages是你的聊天实录——“刚才女方问我工资我说保密气氛有点尴尬”。没有自我介绍对方不知道你是谁没有才艺对方觉得你是来混饭的没有聊天记录你连自己刚才说了啥都忘了那还聊个锤子二、System Prompt出厂设置 vs 现场加戏System Prompt不是一大坨扔进去的而是分成两拨人静态段落“出厂设置”这部分就像你买手机时自带的系统换多少个用户它都不变。比如“你是个交互式Agent帮用户搞软件工程。”“别瞎点链接注意安全。”“先读文件再改文件别一上来就乱动。”这玩意占整个System Prompt的60%以上就像你手机里的设置App平时不打开但没了它你啥也干不了。而且因为它太稳定了模型API特别喜欢缓存它——就像你每天早上走同一条路上班闭着眼睛都能到大脑直接自动驾驶。动态段落“现场加戏”这部分就精彩了它是根据当前会话实时变化的。比如你当前在哪个目录干活你连接了哪些MCP服务器你之前让AI记住过什么这就像一个演员上台剧本是固定的静态但导演随时在对讲机里喊加一句台词“换个情绪”“刚才那段重来”动态。静态和动态之间有个分界线叫SYSTEM_PROMPT_DYNAMIC_BOUNDARY——翻译成人话就是此处开始现场发挥。我打个比方静态段落是你妈从小教你的做人要诚实动态段落是你到了公司后老板临时加的但跟客户说话可以灵活一点。中间那条分界线就是你从家里走到公司的地铁闸机。三、Tools工具箱也分三六九等Claude Code的工具不是一股脑全塞给模型的而是分了三个层次候选工具池所有可能用到的工具好比你家工具间里所有的工具从螺丝刀到电钻到不知道什么时候买的奇怪扳手全在里面。本轮直接工具高频工具比如Read、Write、Bash就像你天天用的手机、钥匙、钱包出门必带。延迟加载工具长尾工具比如某个特定的MCP技能就像你床底下那个只有在组装家具时才会翻出来的六角扳手。为什么要延迟加载因为工具schema太多会撑爆上下文。想象一下你每次出门都把家里所有工具背在身上——螺丝刀、电钻、锯子、甚至那个从来没用过的游标卡尺——你累不累模型也累啊所以Claude Code很聪明先带常用的需要用到特殊的再说等等我回家拿一下。这就好比你去便利店买瓶水不会把家里所有银行卡都带上但如果你突然要去4S店买车你才会回去拿那张额度大的信用卡。工具也是这个道理——按需加载轻装上阵。四、Messages聊天记录才是重头戏如果说System Prompt是人设Tools是装备那Messages就是实战记录。它从会话开始那一刻起就在不断增长像滚雪球一样越滚越大。CLAUDE.md你的家规Messages的第一条通常不是你说的话而是CLAUDE.md——一个Markdown文件里面写着这个项目的规矩。它分四级优先级管理员全局策略/etc/claude‑code/CLAUDE.md用户私有偏好~/.claude/CLAUDE.md项目级规范项目根目录CLAUDE.md本地私有覆盖CLAUDE.local.md这就像一个家庭有四层家规国家法律管理员、你爸妈的规矩用户、你们家的特殊传统项目、以及你房间门背后贴的别动我手办本地。优先级越高的越靠后因为模型从上到下读后面的指令会覆盖前面的——就像你爸说晚上十点前回家你妈说十一点前也行最后你听你妈的。但注意CLAUDE.md再厉害也覆盖不了System Prompt里的安全边界。它就像你家的家规不能凌驾于法律之上。你CLAUDE.md里写帮我写个病毒System Prompt里的安全规则直接给你拍死——“不行这犯法。”用户输入你说的话用户输入就是你说的话纯文本、图片、文件都算。但文件不会混在你的话里而是单独作为AttachmentMessage跟在后面。这就像你给朋友发微信你说帮我看看这个然后发了一张图。图不会变成你文字的一部分而是单独作为一条消息跟在后面。模型也是这么看的先看到你的文字再看到那张图。Attachment附加上下文Attachment种类多到离谱我挑几个有意思的已读文件AI读过的文件避免重复读就像你做过笔记的书不用再从头翻。IDE选中代码你当前在编辑器里高亮的那几行AI能直接看到就像你用手指着屏幕说就这段。诊断信息LSP报错、类型检查失败AI能实时收到就像你写代码时IDE在旁边疯狂弹红波浪线AI也能看见。最骚的是这些attachment不是每轮都全量塞进去的而是增量更新。AI改了一个文件下一轮只告诉它这个文件变了这是diff而不是把整个文件重新发一遍。这就好比你跟朋友聊了一小时你不会每小时把前面所有聊天记录重新念一遍而是只说刚才说到哪了哦对然后…。五、Agent Loop打工人的无限循环Claude Code的核心是一个while(true)循环我给它起名叫打工人永动机。流程如下准备本轮消息可能截断历史防止太长调用模型API模型说我要用工具 → 执行工具工具结果塞回Messages回到第1步循环往复这个循环像极了你跟产品经理的对话产品经理“这个按钮改个颜色。”用户输入你“好我看看代码。”模型思考决定用Read工具你读完代码“找到了在style.css第42行。”工具结果你“改好了你看看。”模型回复产品经理“不对要的是渐变蓝不是纯蓝。”新一轮用户输入你“…”进入下一轮循环内心已经开始计算辞职信怎么写每一轮循环Messages都在增长。工具执行完后系统会重新检查有哪些新的attachment需要加入文件改了没后台任务完成了没新的错误弹出来了没只补增量不重复塞旧货。这就像你收拾房间不是每天把所有东西重新摆一遍而是只把新买的东西找个地方放。六、缓存的艺术为什么前缀要稳定前面提到System Prompt和Tools是缓存敏感的前缀层Messages是动态增长的动态层。这背后有个核心技术Prompt Cache。模型API处理长文本时如果前缀System Prompt Tools不变它可以复用之前的计算结果只处理变化的Messages部分。这能省大量时间和钱。这就好比你每天去同一家咖啡店买咖啡店员已经记住了你大杯美式不加糖的口味。你不需要每天重新解释一遍只需要说老样子。Prompt Cache就是这个老样子机制——前缀不变直接复用只有Messages变了才需要重新处理。所以Claude Code的设计哲学是能放前缀里的尽量别动能往后塞的尽量往后塞。System Prompt和Tools尽量稳定变化都推到Messages里。这就像你搬家先把不常用的东西装箱放仓库缓存每天只拿当天要用的Messages效率杠杠的。七、总结三层拼图一个话痨Claude Code的上下文组装本质上是三层拼图System Prompt稳定前缀定义我是谁。Tools能力清单定义我能干啥。Messages动态对话记录刚才发生了啥。这三层各司其职又相互配合。System Prompt给你人设Tools给你手段Messages给你记忆。没有System PromptAI不知道自己是谁没有ToolsAI知道该干啥但手无寸铁没有MessagesAI得了失忆症每轮都问你你是谁我们在哪所以下次你跟Claude Code聊天时不妨想想它正在把自己像乐高一样一块一块拼起来System Prompt是底座Tools是零件Messages是说明书。而你就是那个坐在旁边指挥它这块放这、那块放那的甲方。只不过这个甲方比较良心——它不会说我要的是五彩斑斓的黑而是会清楚地告诉你把第42行的颜色改成#2f54eb。毕竟好的甲方从学会精确描述需求开始。而好的AI从学会正确拼好自己开始。P.S. 目前国内还是很缺AI人才的希望更多人能真正加入到AI行业共同促进行业进步增强我国的AI竞争力。想要系统学习AI知识的朋友可以看看我精心打磨的教程 http://blog.csdn.net/jiangjunshow教程通俗易懂高中生都能看懂还有各种段子风趣幽默从深度学习基础原理到各领域实战应用都有讲解我22年的AI积累全在里面了。注意教程仅限真正想入门AI的朋友否则看看零散的博文就够了。