你以为会用 Claude Code 就是打字提问?HN 上 123 个高赞回答揭示了一个残酷真相:90%的 AI 编码问题不是模型不行,是你的上下文给错了。这套「上下文工程」方法论,让 Reddit/HN 上的资深开发者把 AI 编码准确率从 30% 拉到 80%+,而国内几乎没人系统讲过。
先看一组来自 HN 讨论的真实数据。在一个 123 票、101 条评论的热帖 「Ask HN: What hacks/tips do you use to make AI work better for you?」 中,最高频的抱怨和最高赞的经验都指向同一件事:
"Including all the relevant context manually is the only way — code search/smart reference is garbage in any tool I've tried." ——HN 高赞评论
翻译成人话:所有 AI 编码工具的"智能引用"都是垃圾,手动提供完整上下文才是唯一靠谱的办法。
这和我们日常体验完全吻合:你让 Claude Code 改个 bug,它改完引入三个新 bug;让 Cursor 重构代码,它把不相关的模块也给改了。问题出在哪?不是模型笨,是你给的上下文不够、不对、不精准。
下面这八招,全部来自 HN 上资深开发者的实战验证,不是理论推演。
来自 HN 讨论中最被认可的一条经验:
"Refactoring for AI coding. Breaking down code into smaller files (<200 lines of code), and then ONLY feeding the relevant files into the LLM helps a lot to improve the quality of code output and saves tokens."
具体操作:
效果: Token 消耗降低 40-60%,代码输出质量显著提升。因为 LLM 的注意力机制在文件内容变短时,对每一行代码的"关注度"更高。
适用场景: 所有 AI 编码工具(Claude Code、Cursor、Copilot、Aider)
Claude Code 的 /compact 命令是救命稻草,也是隐形杀手。它会压缩对话历史,但往往会丢掉关键的设计决策。
HN 用户分享了一个更聪明的做法:
"I ask it explicitly to write down the important parts of our conversation into an .md file, and I review and iterate over the doc until I'm happy with it. Then /clear the context and give it instructions to continue from the .md file."
具体操作:
context/session-notes.md」/clear 清空上下文context/session-notes.md,然后继续以下任务...」flowchart LR
A[对话开始] --> B[完成若干任务]
B --> C{上下文是否>60%?}
C -->|否| B
C -->|是| D[要求AI写入session-notes.md]
D --> E[人工审阅补充]
E --> F["/clear 清空"]
F --> G["新对话: 先读session-notes.md"]
G --> B
效果: 避免长对话中的信息丢失,session-notes.md 成为跨会话的"项目记忆"。
这是一个反直觉但极其有效的技巧:
"For more complex tasks, asking it to write in a more comfortable language for that task and then translate to target language helps. Example: if you ask Claude to write code that generates UDP datagram for mDNS in Swift, it will fail flat. But if you ask for C and translate, it can succeed. BTW, Python is usually the more comfortable language."
具体操作:
为什么有效: LLM 的训练数据中 Python 占比最大(约 30%+),所以 Python 是它的"母语"。在母语中实现逻辑的准确率远高于直接用小众语言。
大多数人只知道项目根目录放一个 CLAUDE.md,但 Claude Code 支持目录级别的分层指令注入。
HN 上 "Writing a good Claude.md" 帖子作者(Anthropic 员工)明确说过:
"claude/agents.md have special quality-of-life mechanics with the coding agent harnesses like e.g.
injecting this file into the context window whenever an agent touches this directory, no matter whether the model wants to read it or not"
具体操作:
project/
├── CLAUDE.md # 全局:项目概述、通用规范
├── src/
│ ├── CLAUDE.md # src层:架构约定、依赖注入规则
│ ├── api/
│ │ ├── CLAUDE.md # api层:RESTful规范、错误码约定
│ │ └── handlers.ts
│ └── db/
│ ├── CLAUDE.md # db层:SQL规范、迁移约定
│ └── models.ts
└── tests/
└── CLAUDE.md # 测试层:测试框架、覆盖率要求
每一层的 CLAUDE.md 都会被自动注入到上下文中,无需手动引用。这意味着:
来自 HN 的实战经验:
"Treat it like a person. Claude especially excels when you tell it to be a specific persona. They're trained on communicative text and questions. Give it proper specs."
这不是玄学,有 Anthropic 官方文档支持。具体做法:
在 CLAUDE.md 中加入角色设定:
## 你的角色
你是一位有 10 年经验的 Go 后端工程师,擅长高并发微服务架构。
代码风格偏好:简洁、错误处理优先、避免过度抽象。
命名习惯:简短有意义,不使用匈牙利命名法。
效果: 角色设定让 AI 的输出风格和决策模式更一致,减少反复纠正同一类问题的次数。
来自 HN 上一个开源项目分享:
"In my current projects, two major files I use are: CONVENTIONS.md — tends to be short and project-specific"
思路是三层分离:
| 文件 | 目标读者 | 内容 | 大小建议 |
|---|---|---|---|
README.md |
人类 | 项目介绍、安装指南 | 不限 |
CLAUDE.md |
AI 编码助手 | 工作流指令、工具配置 | <100 行 |
CONVENTIONS.md |
AI + 人类 | 代码规范、命名约定、架构决策 | <50 行 |
为什么分离? CLAUDE.md 每次交互都会注入上下文,消耗 Token。把详细的编码规范放到 CONVENTIONS.md 中,只在需要时通过 @CONVENTIONS.md 引用,能省下大量 Token。
HN 上一个被广泛认可的做法:
"I bought a whiteboard to take photos to give it. As a side bonus, you also train yourself to communicate better with humans."
具体操作:
另一个相关技巧是"规格先行":
"Use plan mode. Let it always write a plan first, check it, correct it and only then allow it to implement it."
Claude Code 的 Plan Mode(/plan 或 Shift+Tab)强制 AI 先输出计划再动手,可以避免大量返工。这个功能很多国内用户根本不知道。
这是 2026 年才出现的高级玩法。HN 上有两个相关工具值得关注:
Stato —— 捕获 AI 编码会话中的经验:
# AI 代理学习到的知识被固化到磁盘
stato crystallize # 将会话经验写入 .stato/ 目录
stato validate # 7遍编译校验
stato bridge # 自动生成 CLAUDE.md / .cursorrules / AGENTS.md
rtk —— Token 瘦身工具:
# 自动扫描你的 Claude Code 历史,找出浪费 Token 的命令
rtk scan-sessions
# 实时拦截 Claude Code 调用并压缩提示词
rtk hook --auto-rewrite
效果: Stato 解决了"每次换 AI 工具都要重新教一遍"的痛点。你在 Claude Code 中积累的项目经验,可以一键迁移到 Cursor、Windsurf 等任何工具。
| 你知道的 | 你不知道的(本文信息差) |
|---|---|
| CLAUDE.md 放根目录 | CLAUDE.md 可以按目录分层,自动注入 |
| /compact 压缩上下文 | 先手动保存关键信息到 .md 再清空 |
| 直接让 AI 用目标语言写 | 先用 Python 实现逻辑再翻译,准确率高得多 |
| 文件越大 AI 越容易出错 | <200 行的文件碎片化重构能提升 AI 准确率 |
| 每次 ALM 提问时重复规则 | CONVENTIONS.md 分离 + 按需引用省 Token |
| 给 AI 简单指令就行 | Persona 角色注入让输出风格更一致 |
| Plan Mode 是可选的 | 强制先规划再编码能减少 50%+ 返工 |
| 换 AI 工具要重新教 | Stato 可以一键迁移 Agent 经验到其他工具 |
立刻可做的(0 成本):
本周可做的(1-2 小时):
CONVENTIONS.md,把重复出现在对话中的规范提取出来context/session-notes.md 模板,每次长对话中断时手动保存进阶尝试(需要安装工具):
rtk 扫描你的 Claude Code 历史,看看你浪费了多少 Tokenstato 把你在 Claude Code 中的项目经验迁移到 Cursor本文由「51学通信」技术团队出品。51学通信由通信行业18年老兵爱卫生(微信ID: gprshome201101)维护。 聚焦5G/6G核心网、3GPP标准、AI工具实战。知识星球「51学通信」提供深度技术答疑和行业洞察。
[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。
