尧图精选

AI总犯傻的真相:claude-code-from-scratch中System Prompt工程与动态上下文注入完整指南

🕒 发布时间:2026/10/1 8:05:29 📁 来源:尧图网络
AI总犯傻的真相claude-code-from-scratch中System Prompt工程与动态上下文注入完整指南【免费下载链接】claude-code-from-scratchBuild your own Claude Code from scratch. Claude Code 开源了 50 万行代码读不动用 ~5000 行 TypeScript / Python 从零复现核心架构11 章分步教程带你理解 coding agent 精髓项目地址: https://gitcode.com/gh_mirrors/cl/claude-code-from-scratch用 AI 写代码时它总在你最信任的时候犯傻不读代码就瞎改、把cat命令当成第一选择、修个 bug 顺手重构半条龙……其实真相并不神秘——AI 的行为 90% 由 System Prompt 工程决定。claude-code-from-scratch 这个开源教程项目用约 5000 行 TypeScript / Python 代码从零复现了 Claude Code 的核心架构其中 System Prompt 的静态核心 动态上下文注入分层设计正是让 AI 从犯傻变靠谱的关键机关。一、AI犯傻的三大根源在 docs/03-system-prompt.md 中教程把模型为什么会跑偏归纳得很清楚没有身份锚点模型不知道自己是谁、在什么环境干活就会用训练数据里的通用习惯应付——于是默认满屏 bash 命令规则是模糊的只说简洁一点模型会自我合理化——加注释让代码更易读也算简洁。正面指令给了它解释余地缺少环境事实不知道操作系统、当前目录、Git 状态就会给出在你那台 Windows 上的 macOS 命令一句话System Prompt 工程质量 AI 可靠性的下限。二、核心设计静态核心 动态注入的双层拆分这是本教程最精华的一章。打开 src/prompt.ts 就能看懂整套 System Prompt 是怎么拼出来的结构上只有三个函数函数内容稳定性buildStaticSystemPrompt()身份定义、行为规则、工具偏好静态核心跨会话逐字节不变buildDynamicSystemContext()工作目录、操作系统、Git 状态、记忆、技能列表会话内稳定因机器而异buildUserContextReminder()CLAUDE.md项目规则 当前日期每会话变化1. 静态核心写给 AI 的行为守则静态核心是整份 System Prompt 中最稳定的部分包含五大板块可对照 src/prompt.ts 里的真实模板Doing Tasks先读代码再提修改、不主动建新文件、避免过度工程Executing Actions可逆操作放手做rm -rf、git push这类高危操作必须先确认Using Tools明确用read_file而不是cat——没有这张工具映射表模型就会用 bash 一把梭Tone Style回答简短、先给结论、引用代码用file:line格式Output Efficiency一句话能说清的绝不用三句话2. 动态上下文每轮对话的现场情报buildDynamicSystemContext()会在启动时采集当下的环境事实拼进 prompt# Environment Working directory: /path/to/project Platform: linux x64 Shell: /bin/zsh Git branch: main Recent commits: ...再往后追加记忆召回、可用技能、子 Agent 描述——刻意放在 prompt 末尾利用大模型的近因效应让最重要的信息权重更高。3. CLAUDE.md项目级记忆注入这是普通用户最能上手的技巧。在项目根目录写一个CLAUDE.mdAI 启动时会自动从当前目录逐级向上查找并加载实现见 src/prompt.ts 的loadClaudeMd。它还支持两种增强玩法include 语法./docs/coding-style.md可把外部文件内联进来最多嵌套 5 层并防循环引用规则目录自动加载.claude/rules/*.md下的文件会被自动读入团队成员共享规则只需一行引用本仓库根目录的 CLAUDE.md 就是一个最小示例演示了引用写法。三、为什么非要拆成两层——前缀缓存省钱这个拆法不是拍脑袋而是为了前缀缓存。Anthropic 的 prompt cache 只缓存字节完全相同的前缀静态核心跨会话逐字不变打上cache_control标记后第二轮对话起这部分几乎零成本而环境、Git、CLAUDE.md 这些因项目而异的内容如果混进静态块缓存就会每个项目碎片化一份钱白花。docs/07-context.md 进一步讲了配套的 4 层上下文压缩——静态/动态拆分正是第 7 章缓存策略的地基。四、给新手的 3 个可落地实践写精确的不要而不是模糊的要。不要给没改过的代码加 docstring比保持简洁有效得多——负面指令消除了模型自我合理化的空间项目根目录放一个CLAUDE.md写清技术栈、代码风格、禁区文件。靠近当前目录的规则优先级更高子目录可以覆盖父目录给危险操作立规矩告诉 AI涉及删除、推送、改 CI 的操作先问我。教程采用的爆炸半径框架可逆性 × 影响范围比逐条罗列禁令更通用五、动手跑一遍无需 API Keynode steps/run.mjs 3这一条命令就能本地跑通第 3 章的 System Prompt 演示本地 mock 模型驱动不联网。加--diff可看这一章比上一章多了什么加--py切换 Python 版。章节清单见 steps/README.md完整教程导航在 _sidebar.md。想深挖原理还可以顺藤摸瓜读 docs/07-context.md上下文管理和 docs/08-memory.md记忆系统——它们和 System Prompt 工程共同构成了 Coding Agent 的灵魂三件套。【免费下载链接】claude-code-from-scratchBuild your own Claude Code from scratch. Claude Code 开源了 50 万行代码读不动用 ~5000 行 TypeScript / Python 从零复现核心架构11 章分步教程带你理解 coding agent 精髓项目地址: https://gitcode.com/gh_mirrors/cl/claude-code-from-scratch创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
上一篇/下一篇内容由系统自动关联 返回资讯列表 →