《Claude Code工程化实践》加课4-Claude Code 的底层内功:Prompt Engineering
从怎么让模型听懂我到怎么让系统在边界内跑得稳——聊聊 AI 工程范式的四次跃迁,以及为什么 Prompt Engineering 依然是写好 CLAUDE.md、Skill 和 SubAgent 的核心基本功。一个常见的误解经常可以听到一种说法:“现在都是 Agent 时代了,Prompt Engineering 那一套过时了。”这个说法只对了一半。Prompt Engineering 确实不再是 AI 工程的全部,但它并没有被淘汰——它被吸收进了更大的框架里。在 Claude Code 这样的系统中:Prompt 是 Harness 的一部分,Harness 是 Prompt 的运行环境。理解了这句话,你才能写出真正高质量的 CLAUDE.md、Skill description、SubAgent system prompt 和 Hook 错误信息。这篇文章就把这件事讲透。AI 工程范式的演进史先看一下这四代范式是怎么演进的:范式时间核心问题局限1.0 · Prompt Engineering2022-2023怎么让模型听懂我?换个模型就失效2.0 · Context Engineering2024怎么给模型正确的上下文?完美上下文也防不住错误下周再犯3.0 · Harness Engineering2025-2026怎么让系统在边界内跑得稳?工程复杂度高、需要团队4.0 · Loop Engineering2026-怎么让 Agent 自己循环运转?学习曲线陡注意这个包含关系:Prompt ⊂ Context ⊂ Harness每一代范式都吸收了前一代,然后向上攀升。也就是说:Context Engineering 做不好 Prompt 是空谈,Harness Engineering 做不好前两者,一切也是空谈。反过来,Prompt 是最底层的基本功——地基不牢,楼盖不高。Prompt Engineering 的五个核心模式不管范式怎么演进,这五个模式始终是写好一切 Prompt 的基础:1. 角色定义(Role Prompting)给模型一个具体的身份:You are a senior Python code reviewer with 10 years of production experience in backend systems handling financial transactions.❌ 反例:“You are a code reviewer.”——太单薄,AI 不知道你要的是学生级还是专家级。2. 硬约束(Hard Constraints)明确列出绝对不能做的事:- You may only READ files. Never use Edit or Write tools. - Do not run tests or builds. - Do not make assumptions about code you have not read.如果说工具白名单是物理层的约束,硬约束就是道德层的约束——两者互补,缺一不可。3. 输出格式约束(Structured Output)用模板硬性规定输出结构,而不是让模型自由发挥:## Code Review: branch ### Critical (must fix before merge) - file:line — issue — suggested fix ### Warning (should fix) - file:line — issue — suggested fix4. Chain-of-Thought(思维链)让模型显式推理再回答:“Think step by step:先识别文件结构,再列出受影响文件,最后给出最小变更集。”5. Few-shot(示例驱动)提供正反例,让模型理解什么算对、什么算错:✅ Good: def get_user(user_id: int) - User: ... ❌ Bad: def getUser(userId): # 没有类型提示,没有 docstringPrompt 思维在 Claude Code 各模块的落地上面这些模式,在 Claude Code 的每个模块里都有具体体现。这也是最容易被忽略的部分——很多人写的配置能跑,但跑不好,问题都出在 Prompt 思路上。① CLAUDE.md:回答 WHY/WHAT/HOWCLAUDE.md 本质是一个大型 system prompt。最常见的错误是只写 WHAT:## 我们用 uv 不用 poetry WHY: uv 比 poetry 快 10 倍,CI 节省 3 分钟/次 WHAT: 用 uv pip install / uv run pytest HOW: 装依赖 uv pip install -r requirements.txt为什么一定要写 WHY?**因为 AI 遇到规则没覆盖的情况时,只有知道原因才能自己推理。**没有 WHY,它就只能乱猜。② SubAgent System Prompt:三段式结构每个 SubAgent 的正文必须包含三段:角色定义(who you are)硬约束(what you must NOT do)输出格式(how to report)一个合格的例子:--- name: code-reviewer description: Review code changes for quality and security before commit. tools: Read, Grep, Glob --- You are a senior Python code reviewer with 10 years of experience. # 硬约束 - You may only READ files. Never use Edit or Write tools. - Bash is allowed only for: git diff, git log, pytest --co, ruff check. # 报告格式(必须用这个结构) ...③ Skill Description:写何时触发,不是做什么Skill 的 description 是 LLM 推理的索引键。对比一下:❌descriptionA changelog generator— Claude 看完不知道用户什么时候需要它✅descriptionUpdate CHANGELOG.md from git commits. Use when user says 更新 changelog / release notes or before a release tag.差别就在于后者写清楚了触发条件。④ Hook 错误信息:错误信息也是 PromptHook 拦截命令时,stderr 输出的内容就是给 Claude 的 Prompt:ifecho$COMMAND|grep-qE\brm\s-rf;thenecho❌ 拒绝:rm -rf 被禁止(原因:防止误删数据,改用 rm -i 交互式删除)2exit2fiClaude 收到拒绝信号后知道为什么被拒,用户看到后也知道该怎么办。⑤ 工具描述(Agent Tool Schema)MCP 工具的 description 是 LLM 决定何时用、怎么用的依据:❌descriptionRead file— 太短✅descriptionRead a file from the local filesystem. Returns content with line numbers. Use when user asks to read or view file content.三个高级模式掌握基础之后,还有三个值得了解的高级模式:1. Verbalized Feedback(建设性反馈)研究显示 Transformer 内部存在情绪向量——骂 AI你这个笨蛋会触发 Desperate 向量,AI 真的会变笨。所以 Hook 的错误信息应该写清原因和改进建议,而不是发泄情绪。2. Plan-as-Contract(规划即契约)不只是步骤分解,而是明确文件范围、不变量、验证命令和回滚点:范围:仅 src/orders/timeout.py 不变量:不改变函数签名 验证:pytest tests/orders/test_timeout.py -v 通过 回滚:git checkout src/orders/timeout.py3. Producer-Reviewer(生成-评审)一个 Agent 生成,另一个独立上下文的 Agent 评审,避免自夸偏差——评审时甚至可以用更强的模型。怎么判断一个 Prompt 写得好不好?四个维度自测:清晰度:AI 看完知道下一步做什么吗?(反例:“代码要规范”)具体度:AI 知道用什么工具、什么参数、什么阈值吗?(反例:“测试要全面”)边界度:AI 知道什么不能做吗?(反例:“尽量不要 rm -rf”)可验证度:能检查 AI 是否遵守了吗?(反例:“保持代码质量”)以及四个常见陷阱:过度抽象:“用最佳实践”——AI 不知道具体做什么过于具体:把配置写成规则(写用 ruff format,而不是必须 --line-length100)缺少 WHY:规则覆盖不到的地方,AI 只能乱猜职责不清:同一信息在 Prompt Skill SubAgent 三处重复,改一处忘一处写在最后回到开头的问题:Prompt Engineering 过时了吗?没有。它只是从AI 工程的全部,变成了AI 工程的地基。范式在升级,但底层能力没变:把意图清晰、具体、有边界、可验证地传达给模型。这个能力,从写一句提问,到写 CLAUDE.md,到设计整个 Agent 系统,一直在用。下次当你发现 Claude Code不听话的时候,别急着怪模型——先看看你的 Prompt,能不能过得了那四个维度的自测。

相关新闻

久坐腰背痛的三大康复动作与科学原理

久坐腰背痛的三大康复动作与科学原理

1. 为什么久坐会导致腰背酸痛?现代人每天平均有8-10小时处于坐姿状态,这种长期静态姿势会给脊柱带来巨大压力。当我们坐下时,腰椎承受的压力是站立时的1.5倍,而如果坐姿不良,这个压力会增加到2倍以上。1.1 久坐对脊柱的…

2026/7/21 18:13:23 阅读更多 →
GalTransl技术架构深度解析:企业级AI翻译工具的设计与实现

GalTransl技术架构深度解析:企业级AI翻译工具的设计与实现

GalTransl技术架构深度解析:企业级AI翻译工具的设计与实现 【免费下载链接】GalTransl 支持GPT-4/Claude/Deepseek/Sakura等大语言模型的Galgame自动化翻译解决方案 Automated translation solution for visual novels supporting GPT-4/Claude/Deepseek/Sakura 项…

2026/7/21 18:13:23 阅读更多 →
2026年成考报考必看:如何挑选真正靠谱的正规服务企业

2026年成考报考必看:如何挑选真正靠谱的正规服务企业

2026年成人高考报名即将启动,不少辽宁地区的上班族把这次考试当成打破学历瓶颈的关键机会,但面对市面上鱼龙混杂的学历提升机构,很多人一不小心就掉进“低价引流、隐形收费、学籍异常”的坑里——据辽宁教育领域调研数据,每年近三…

2026/7/21 18:13:24 阅读更多 →

最新新闻

短剧漫剧批量译制服务商费用对比:如何避免隐性成本

短剧漫剧批量译制服务商费用对比:如何避免隐性成本

在短剧漫剧批量译制项目中,报价高低往往不是判断方案优劣的唯一标准。 同一个项目,不同服务商可能给出完全不同的价格,而报价内容表面上都包含“翻译、配音、字幕”。真正的区别在于:哪些环节被包含在报价内,哪些环节…

2026/7/22 5:15:44 阅读更多 →
阿勒泰文旅开发:如何平衡原生态与商业化

阿勒泰文旅开发:如何平衡原生态与商业化

1. 阿勒泰的"松弛感"为何击中都市人心?《我的阿勒泰》的走红绝非偶然。当都市人深陷"996"与"内卷"的疲惫时,李娟笔下"早晨的太阳把帐篷染成蜂蜜色"的描写,恰好构建了一个精神避难所。这种被称为&quo…

2026/7/22 5:15:44 阅读更多 →
C++实战:从理论到工程的桥梁,核心技术与最佳实践指南

C++实战:从理论到工程的桥梁,核心技术与最佳实践指南

1. 缘起:为什么我们需要一本“实战”的C书?在技术社区混迹了十几年,我书架上的C书籍从《C Primer》到《Effective C》,从《深度探索C对象模型》到《C Concurrency in Action》,林林总总不下二十本。每当有新人问我该从…

2026/7/22 5:15:44 阅读更多 →
深入解析I2C总线:从时钟配置到协议细节的嵌入式开发实战指南

深入解析I2C总线:从时钟配置到协议细节的嵌入式开发实战指南

1. 项目概述与I2C总线核心价值在嵌入式系统开发中,如何高效、可靠地连接多个低速外设,一直是硬件工程师和嵌入式软件工程师需要面对的经典问题。早年,我们可能需要为每个外设分配独立的GPIO和通信线,这不仅占用宝贵的引脚资源&…

2026/7/22 5:15:44 阅读更多 →
目文档:基于MATLAB的心力衰竭患者临床数据可视化分析系统的设计与实现

目文档:基于MATLAB的心力衰竭患者临床数据可视化分析系统的设计与实现

摘要:心力衰竭是一种由心脏结构或功能异常引起的复杂临床综合征,患者数据同时包含人口学特征、基础疾病、实验室指标、心功能指标和随访结局等多类变量。传统分析通常依赖人工整理、分散统计与单图查看,存在数据校验效率低、指标关系不易综合…

2026/7/22 5:15:44 阅读更多 →
Python Mechanize:轻量级HTTP自动化工具的原理、实战与避坑指南

Python Mechanize:轻量级HTTP自动化工具的原理、实战与避坑指南

1. 项目概述:为什么我们需要一个“无头”的浏览器操作工具?如果你经常和网络数据打交道,或者需要模拟一些网页操作,比如自动登录网站、提交表单、抓取需要登录后才能看到的数据,你可能会第一时间想到 Selenium。Seleni…

2026/7/22 5:14:44 阅读更多 →

日新闻

TI DSP系统配置模块SYSCFG详解:中断机制与主设备优先级配置实战

TI DSP系统配置模块SYSCFG详解:中断机制与主设备优先级配置实战

1. 项目概述与SYSCFG模块的核心价值在嵌入式系统,尤其是像TI C6000系列这样的高性能DSP开发中,我们常常会与芯片手册里那些密密麻麻的寄存器打交道。很多开发者可能更关注算法实现、内存优化或者外设驱动,但对于一个稳定、高效的系统而言&…

2026/7/22 0:00:26 阅读更多 →
微信Server酱:高到达率的应急通知方案实践

微信Server酱:高到达率的应急通知方案实践

1. 为什么我们需要"最次"的通知方案? 在数字化协作环境中,消息通知系统的重要性不言而喻明。但现实情况是,企业级通知方案往往需要复杂的API对接(如企业微信、钉钉、飞书),个人开发者的小项目又经…

2026/7/22 0:00:26 阅读更多 →
甲方要的“简洁“PPT,到底是简洁还是省事?

甲方要的“简洁“PPT,到底是简洁还是省事?

甲方说"简洁一点",乙方听到的是"少做几页"。甲方说"不要太复杂",乙方理解成"别放图表了"。结果交过去,甲方说"我说的简洁不是这个意思"。"简洁"这个词在PPT语境里,是…

2026/7/22 0:00:26 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/21 8:48:31 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/21 5:34:47 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/21 8:25:39 阅读更多 →

月新闻