Prompt 工程的"断舍离":如何用更少的词让 AI Agent 更聪明

最近花了一整天时间,对我日常使用的一套 AI 编码 Agent 配置做了一次系统性瘦身。过程不复杂,但其中的思路值得记录------尤其是当你发现,删掉一段话比加一段话更难,也更有价值。


一个反直觉的事实

在 Prompt Engineering 中,我们总倾向于"加"。加一条规则、加一个示例、加一个兜底说明------每个加法都有充分的理由。但很少有人问:这段话删掉之后,Agent 的表现会变差吗?

我这次尝试了一种反向方法论:逐句审查,每遇到一段话就问自己一个问题------

如果我把这句删掉,Agent 在相同输入下,会不会做出不同的决策?

如果答案是"否",就毫不犹豫地删掉。

结果出乎意料:在 15 个技能文件中,我找到了几十处这样的"无害冗余"。它们可能是:

  • 对 Agent 已经知道的框架背景的复述
  • 已经被更上层规则覆盖的重复约束
  • 解释性文字(Agent 不需要理解"为什么",只需要执行"什么")
  • "注意""请确保""请记住"这类软化词------它们消耗 Token 但不改变行为边界

我把这个过程叫做 "no-op 修剪"(无操作修剪)。删掉的内容不改变一行代码输出,不改变一个决策路径------只改变 Token 消耗量。


剪枝的三种策略

这次实践中,我总结了三种可复用的剪枝策略:

策略一:覆盖性去重

当全局规则(如 AGENTS.md)和某个技能(如 code-review/SKILL.md)都提到了"提交前必须验证",保留哪个?

原则:保留层级最高的那个,删除低层级的重复。Agent 在处理任务时,高层级规则已经在上下文中了,低层级再重复一遍不会增加遵守概率------只会增加成本。

策略二:功能性去重

当一个技能的功能可以被另一个更通用的技能覆盖时,前者就是冗余。例如:

  • 有一个专门的"调试循环"技能,但系统已经内置了更强大的调试工作流
  • 有一个"提交规范"技能,但 Agent 的基础指令已经包含了提交格式要求

这类技能的价值往往来自"心理安全感"------"万一 Agent 不懂呢?"但实际测试会发现,删掉之后表现完全一致。

策略三:解释性剥离

最常见也最难察觉的冗余:解释性文字。

复制代码
❌ 坏:"在开始之前,请确保你理解了项目结构。这意味着你需要先查看目录布局,因为了解整体架构对于后续的代码修改至关重要。"

✅ 好:"先查看项目结构再开始修改代码。"

前者 60 字,后者 12 字。传达的信息完全一致,但 Token 消耗差了 5 倍。Agent 不需要你解释"为什么重要"------它需要的是清晰、可操作的约束。


从"加"思维到"减"思维

这次瘦身之后,我有两个感悟:

第一,每个 Prompt 都有一个"边际收益拐点"。

在拐点之前,加一段话确实能让 Agent 表现更好。但过了拐点,再加就是噪音------甚至可能稀释真正重要的约束。问题是,大多数人(包括我)都在拐点右侧工作,却意识不到。

第二,删除比添加更需要勇气。

加一段话,即使没用,也"不会出错"。删一段话,如果真的影响了 Agent 行为,代价就是一次调试。这导致了一个自然的熵增趋势------Prompt 只会越来越长,除非有人主动逆向操作。

所以我现在给自己定了一个规矩:每次要加一条规则时,必须先找到一条可以删掉的旧规则。 如果找不到,说明那条新规则可能没那么必要。


几个具体的技术实践

如果这套思路对你有用,以下是一些可以直接尝试的做法:

  1. 用"删掉会怎样?"替代"加上够不够?"来审查每一条 Prompt。
  2. 用函数式思维写 Prompt:一个约束一个职责,避免复合句。如果一段话说两件事,拆开------你会发现其中一件可能根本不需要。
  3. 消除软化词 :"请""建议""可以尝试"之类的词在 Agent 上下文里只是字节垃圾。和代码一样,Prompt 要的是约束 ,不是礼貌
  4. 做 A/B 测试:删掉一段话,跑三个相同任务,看 Agent 的行为有没有退化。没有退化就永久删除。不要靠直觉判断"这句话重不重要"------让行为说话。

Prompt 工程做到最后,拼的不是谁写了最多的指令,而是谁用最少的词传达了最精确的约束。这很像写代码------简洁不是目的,简洁是理解到位的自然结果。


github.com/znlgis/my-opencode-deepseek-config

相关推荐
爱勇宝16 小时前
DeepSeek V4-Flash 更新:代码与 Agent 能力全面增强
前端·后端·deepseek
我是大卫18 小时前
图解Transformer:为什么GPT、Claude、DeepSeek都用同一个架构?
gpt·deepseek
HIT_Weston21 小时前
161、【Agent】【OpenCode】TuiThreadCmd(联合类型)
人工智能·agent·opencode
Muscleheng2 天前
Spring Boot 3.x 集成 DeepSeek 实现 Function Calling(工具调用)
人工智能·spring boot·后端·ai·spring ai·deepseek
行走的陀螺仪2 天前
一次 opencode + OpenPencil MCP 协同解析 .fig 文件的踩坑实录
node.js·figma·mcp·opencode
哎呦哥哥和巨炮叔叔2 天前
AI1505是什么?一款支持AI图片、AI视频、AI音频生成的一站式AI创作平台
ai工具·ai教程·ai视频生成·ai平台·ai图片生成·一站式ai创作平台·ai1505
欢醉2 天前
手贱装了个插件,我把OpenCode玩崩了
opencode·hermes
带刺的坐椅2 天前
别再把 Coding Agent 当智能补全了:SolonCode 想做的是数字员工
java·solon·codex·claudecode·opencode·soloncode
minhuan2 天前
主流大模型能力边界:GPT-4o、Claude3.5、Llama3、Qwen、DeepSeek横向对比22.6
qwen·大模型应用·llama3·gpt-4o·deepseek·主流大模型能力边界·claude3.5