这四点建议,是驾驭 AI 的最佳实践
在过去的几个月里,基本上已经脱离不了 AI:写代码、做 Code Review、生成单测、重构老项目、甚至让 AI 帮我写周报。我总结出了一套简单的高效使用AI的最佳实践,这四点建议希望能对你有帮助。
说中文
- 为什么是最佳实践
- 提升带宽效率: 当你使用中文描述一个复杂的业务场景时,你实际上是在进行**“高压缩比”**的数据传输。同样的逻辑深度,中文所需的字符数往往只有英文的 1/2 甚至 1/3。这意味着在同样的上下文窗口(Context Window)限制下,你可以塞入更丰富的逻辑、更细腻的情感和更完整的规则。
- 降低认知损耗: 对母语使用者而言,用中文思考是直觉的。强行翻译成英文不仅容易丢失语义的微小颗粒度,还会增加大脑的“编解码成本”。
- Token 的有效利用: 虽然在某些模型的分词器(Tokenizer)下,汉字的 Token 计数略高,但考虑到其极高的**“语义/Token 比率”**,使用中文实际上是在单位 Token 内“压榨”出了更多的逻辑价值。
在通信理论中,信息熵(Information Entropy)代表了信息的密度。中文作为一种意音文字,其单字承载的信息量远高于英文等表音文字。
人与 AI 的交互界面(输入框),本质上是一个受限的通信信道。
为了让大家看到中文的威力,先来看个例子,可以看看 Cline 的提示词代码有65kb。
我们通过deepseek把这个提示词翻译成中文后,只有 23kb。
这个可能没有多少说服力,接下来,通过 tiktokn 把提示词进行分词,发现中文的分词效果更好,token消耗少了将近50%。
源码在这,有空的可以自己试试。
const fsPromise = require("fs/promises");
// npm install -g tiktoken
const { Tiktoken } = require("tiktoken/lite");
const cl100k_base = require("tiktoken/encoders/cl100k_base.json");
async function main() {
const encoding = new Tiktoken(
cl100k_base.bpe_ranks,
cl100k_base.special_tokens,
cl100k_base.pat_str
);
const text = await fsPromise.readFile(`${__dirname}/system.ts`, "utf8");
const tokens = encoding.encode(text);
console.log(tokens.length);
encoding.free();
}
main();
用中文,就是在这个狭窄的输入窗口里,跑出了最高的信息传输速率。能节省Token,能省钱!
任务拆分
- 为什么是最佳实践
- 解耦复杂度: 将一个庞大的任务(如“写一个贪吃蛇游戏”)拆解为“生成核心逻辑”、“设计 UI 界面”、“编写控制函数”三个子任务。
- 中间件检查: 拆分后,人类可以在每个步骤中间进行“质检”,并且可以生成相应的单元测试。第一步错了,立刻纠正,而不是等最后生成了一堆垃圾再重来。
- 模型路由(Model Routing): 进一步的,你可以让擅长逻辑推理的模型(如 o1/Claude 3.5 Sonnet)做架构设计,让响应速度快的模型(如 GPT-4o-mini/DeepSeek)做具体的文本填充。从而优化的推理速度。
目前的 LLM(大语言模型)本质上是概率预测模型。随着推理步骤的拉长,错误的概率会指数级上升,这被称为“推理漂移”或“逻辑衰减”。
所以,不要试图用一个 Prompt 就妄图完成“写代码 + 测试 + 写文档 + 做 PPT”的全套流程。任务拆分不是为了给 AI 减负,而是为了把黑盒变成白盒,让不可控的“神来之笔”变成可控的“标准工序”。
那么,作为人类,我们解决问题的方法一直都是会倾向于把问题分化成一个一个的小问题,通过处理这些小问题来解决大问题。
提示词生成(Meta-Prompting)
- 为什么是最佳实践
- 结构化输出: 你只需要给出一个模糊的想法:“我想做一个翻译插件”。然后指令 AI:“请帮我写一个专业的 Prompt,用于指导 AI 编写 Python 翻译插件,要求包含错误处理和 API 对接。”
- 意图对齐: 这个过程被称为“元提示(Meta-Prompting)”。它强制 AI 先理解你的意图,将其转化为它更熟悉的结构化语言(XML 标签、Markdown 格式、CoT 引导词),然后再执行。这相当于给 AI 装了一个“精密翻译器”。
用AI时,很多人的痛点还在纠结于怎么写提示词。不仅要解决问题,还要费尽心思去想“怎么问问题”。这是一种低效的资源错配。你需要做的,应该是让AI依赖你的需求去生成提示词。 最好的 Prompt 工程师并不一定是 AI 自己,但肯定不是看文章的你。作为人类,我觉得你应该有能力简单的描述你的需求,那不妨把第一句话交给自己,把后续的提示词的交给AI。
给足背景上下文,防止“泛化过拟合”
- 为什么是最佳实践?
- 对抗“平均主义”: 如果你不告诉它你是“资深程序员”,它就会给你写“Hello World”级别的代码(通用平均值)。给足背景(你的技术栈、你的代码风格、你的特殊需求),就是强行把模型从“通用概率分布”拉到你的“特定概率分布”里。
- RAG(检索增强生成)的雏形: 手动提供背景资料、参考文档、案例样本(Few-Shot),本质上就是手动版的 RAG。这能极大地减少幻觉,因为你限制了模型的“胡说八道”范围,圈定了它的“知识边界”。
在机器学习训练中,过拟合是指死记硬背训练数据;在 推理(Inference) 阶段,如果不给背景,模型就会 “过拟合”于它庞大的通用训练数据 ——也就是说,它会给你一个“由数亿条通用数据平均下来”的平庸答案,而从而导致无法正确的预测你的想法。
一句话来说,大模型就像一个博学但对他人的生活一无所知的专家。所以你得让他知道你的需求背景是什么。
结语
这四点,希望能对你在AI使用上有帮助。
- 说中文。
- 任务拆解
- 提示词生成
- 给足上下文