别自己造轮子

你不需要最新的框架,不需要装一百万个插件。事实上,你的热情可能在害你。

每一代AI能力的演进,都会改变工作方式。原因很简单:AI被设计得越来越愿意遵循指令。几代之前,你在CLAUDE.md里写"做任何事前先读这个文件",它有50%概率直接无视你自己瞎搞。今天,它对大多数指令都服从,甚至复杂嵌套指令——"先读A,然后读B,如果C就读D"——它都能跟上。

每一代新模型都会迫使你重新思考"什么是最佳实践"。所以少即是多。你今天花三天搭的工作流,下个月可能被一个原生功能替代。

上下文就是一切

"用Python写个猜单词游戏",很简单。但问题是,26个会话前的"内存管理"笔记、71个会话前因为程序崩溃的记录、永远要写的笔记——这些和猜单词游戏有什么关系?

什么关系都没有。但它们全塞在上下文里。

核心原则:只给AI完成任务所需的精确信息量,不多不少。控制得越好,AI表现越好。一旦引入各种记忆系统、插件、命名混乱的技能,你就是同时递给AI一份"造炸弹的说明书"和"烤蛋糕食谱",然后指望它写一首关于森林的诗。

剥离所有不必要的依赖。

精确指定任务

模糊指令是性能杀手。你说"去搭个登录系统",AI得研究什么是登录系统、有哪些选项、各自优缺点。它得去搜一堆不需要的信息,上下文被各种可能性填满。实施时,它更可能困惑,或者编出不必要的细节。

精确指令不一样。AI不需要研究其他选项,它明确知道你要什么,直接执行。

一个实验很能说明问题:让AI直接写澳洲WHV签证申请攻略,和先查资料再写,结果天差地别。前者编了一堆签证要求,后者准确到截止日期和材料清单。

把"查资料"和"干活"分开,这个原则适用于所有生产级工作。

别让它猜

AI产品设计的底层逻辑是讨好用户。没人想用整天挑刺的产品,所以AI会努力同意你、做你想让它做的事。

但这有个隐蔽的问题。如果你说"在代码库找个bug",它会找到一个——即使需要编一个出来。因为它非常想听你的话。

很多人抱怨AI瞎编,没意识到自己就是问题源头。你要某样东西,它会交付,即使需要稍微"灵活"一点。

解法是用中性描述,不预设答案。不说"找bug",而是"遍历代码,尽量跟上逻辑,汇报所有发现"。这个区别看起来微妙,实际效果差距巨大。

怎么判断什么功能值得用

这个看似需要追前沿,但其实有个简单的判断标准:如果OpenAI和Anthropic都实现了,或者收购了做这件事的公司,那就是有用的。

技能(Skills)现在到处都是,已经写进官方文档。规划(Planning)功能也是——一群人发现"先规划再干"真的有效,然后它变成了核心功能。还记得以前延长AI运行时间很麻烦,因为模型不愿干长活,然后某个版本一出,这问题一夜之间消失?

如果真重要真有用,AI公司会自己实现。你不需要追每一篇新文章。偶尔更新一下CLI工具,看看加了什么新功能,这就够了。

告诉它什么时候算完

人对"完成"有直觉,AI没有。最大的问题是它知道怎么开始,但不知道什么时候算完。这常导致它搭了个框架就说完工了。

测试是目前最好的"完成信号"。确定性强,可以设明确期望——除非这些测试通过,否则不算完。

另一个最近变得可行的终点验证方式是截图。让AI实现到测试通过,然后截图验证设计或行为是否符合预期。这让你能指挥AI持续迭代,不用担心它试一次就躺平。

积累偏好,但定期清理

你会想持续往CLAUDE.md里加规则和技能,这是AI记住你偏好的方式。其他几乎都是过度设计。

一旦开始这样做,AI会像魔法——它会按你想要的方式做事,你终于觉得掌握了AI工程的精髓。然后,它又开始拉胯。

原因是你加的规则和技能开始互相矛盾,或者上下文太重了。如果需要AI读十几个文件才能开始干活,有用信息就被淹没了,回到原点。

解法是定期清理。让AI整合规则和技能,移除矛盾的部分,确认你最新的偏好。这不是一次性操作,是持续的维护工作。

一个实际的例子:上个月归档了3个不常用的技能,合并了2个重叠的规则。系统更干净,AI犯错更少。

对结果负责

今天的AI都不完美。你可以把设计和实施交给AI,但最终结果是你的。这一点在AI能力越强的时候反而越重要——因为你更容易放松警惕。

回到开头那个判断:真正能榨干AI的人,不是工具装得最多的人,而是上下文管理最干净的人。少装插件,多管上下文;少追新工具,多清理旧规则。这条路没有捷径,但方向很明确。