AI 手记AI 手记

文章

30 篇文章

我最怕的不是 AI 太强,是我变懒

有阵子我发现自己离了 AI 连开头都懒得想了,警觉起来。真正让我怕的不是 AI 有多强,是它让我把自己的思考能力一点点停用。认知肌肉会萎缩,这才是最该警惕的风险。

# AI依赖# 思考# 自我· 约 3 分钟

AI 不会取代创作者,会取代「不思考的创作者」

观察了两类同行:一类把思考外包给 AI,产出快但同质;一类用 AI 但亲自思考,产出有辨识度。差距不在用不用 AI,在用的时候有没有亲自想。真正会被替代的,是把思考拱手让给 AI 的人。

# 创作# AI替代# 思考· 约 3 分钟

和 AI 讨论问题,我学会了先想再问

有阵子我啥都直接问 AI,直到几次被它反问「你具体想解决什么」,我才发现自己根本没想清楚。和 AI 对话,倒逼我在开口前先把问题想明白——提问质量决定回答质量,这事儿 AI 比任何人都诚实地教给我。

# 提问# AI对话# 思考· 约 3 分钟

AI 让我的写作变快了,但没让我写得更好

用 AI 写文章,半小时出一篇,快但空。自己写,慢但有一股 AI 给不了的锐度。我后来明白,AI 帮我跳过了「想清楚」这道关——而那恰恰是写作里最值钱的部分。

# 创作# AI写作# 思考· 约 3 分钟

用 AI 写注释比用 AI 写代码更值

把一个祖传模块交给 AI 写注释和文档,后来人上手快了一倍。我后来想明白,让 AI 读旧代码写说明,ROI 比让它写新代码高,且风险低——它写错了注释你一眼能看出,它写错了代码你可能上线才发现。

# AI编程# 文档# 注释· 约 3 分钟

AI 生成的代码,我不读就直接用,直到出事

有阵子我跳过 review 直接用 AI 代码,因为「看起来都对」直到一次没读的代码藏了个删库级 bug。立了规矩:AI 代码至少过一遍 diff。省十分钟 review,换来的是在线上炸雷。

# AI编程# 代码审查# 风险· 约 3 分钟

重构时,让 AI 只动一个函数

一次让 AI 大重构,它滚雪球改到一团乱最后崩了。后来我改成每次只让它动一个隔离函数、跑一遍测试再继续。重构这事,AI 的价值在量不在幅——小步快走,远比一次性大改安全。

# AI编程# 重构# 增量改动· 约 3 分钟

把测试交给 AI 写,但把断言留给自己

让 AI 给一段代码写测试,它生成了全套用例,跑得全绿,但一个真实 bug 都没覆盖。AI 会铺测试代码,但「什么算对」必须人来定,否则它能写出一堆永远通过却毫无用处的测试。

# AI编程# 测试# 断言· 约 3 分钟

AI 写代码最快翻车的地方,是它没看见的边界

让 AI 改一个函数,它写得对,但碰了它不知道的隐性依赖,上线才炸。AI 看得见的代码它能改对,它看不见的边界它会撞坏。喂足上下文���让它动手,比指望它自己推断边界靠谱。

# AI编程# 上下文# 隐性约束· 约 3 分钟

Agent 不该有删除权限

一次 Agent 误删后,我把所有工具的写权限收了回来,只留「加」和「查」。最小权限在 Agent 上要更狠——它不只会犯错,还会自信地犯错。给只读和追加,出了事还能回滚;给了删除,就没有后悔药。

# Agent# 权限# 最小权限· 约 3 分钟

让 Agent 先复述任务再做

加了一个「复述任务确认」步骤后,Agent 跑偏率降了一大截。Agent 理解偏了再执行是最大的浪费,让它先用自己的话把任务说一遍,错了你能在它动手前纠正,而不是等它交一堆废稿。

# Agent# 需求理解# 返工· 约 3 分钟

多 Agent 协作,最难的不是分工是对齐

让两个 Agent 分头干活再合并,俩各自「完成」了,但产物对不上。多 Agent 的难点不在把任务切开,在切开之后怎么让它们对得上——靠共享状态和契约,而不是纯靠消息传递。

# 多Agent# 协作# 状态对齐· 约 3 分钟

把工具说明书写给一个不看的人

我给 Agent 写的工具描述一开始像写给开发者的正经文档,调用错误率一直高。后来我把它砍成 API 注释一样短而精确的几行,错误率骤降。Agent 不读文档,它扫文档。

# Agent# 工具调用# function-calling· 约 3 分钟

Agent 的第一个失败信号,是它开始重复同一个动作

让一个订票 Agent 自己跑,它对同一个空座反复查询了 30 次才停。我后来才明白,Agent 卡在循环里不是 bug 是常态,得主动设动作去重和步数上限,否则它能在原地空转到天荒地老。

# Agent# 死循环# 容错· 约 3 分钟

用 JSON 而不是自然语言要输出

从「请列出几点」换成明确 schema,后处理解析失败率从一片到归零。结构化输出的本质不是格式好看,是消除歧义——让模型不用猜你要什么,你也不用猜它给了什么。

# 结构化输出# JSON# 提示词· 约 3 分钟

少即是多:砍掉一半提示词后效果反而好了

我逐句删提示词做 A/B 测试,发现删掉一半句子,效果不降反升。原来那些「请准确」「请仔细」的指令在互相打架,精简到核心意图,模型反而执行得更稳。

# 提示词# 精简# 指令冲突· 约 3 分钟

给模型一个「草稿纸」

同一道数学题,直接要答案错一片;让它先分步想再答,正确率跳一档。给模型一张「草稿纸」让它把思考写出来,比逼它一步到位强。而且那张草稿纸你还能审计。

# 思维链# 提示词# 推理· 约 3 分钟

让模型说「我不知道」,比让它假装知道有用一万倍

给问答接口加了一句「不确定就明确说不确定」,错误率没降,但可信度大涨。因为它不再硬编。一个会认怂的模型,比一个嘴硬的模型有用得多。

# 提示词# 拒答# 幻觉· 约 3 分钟

上下文不是越长越好,是越靠前越好

把同一句关键指令从 prompt 中段挪到开头,遵循率明显上升。原来模型对上下文的注意力不是均匀的,而是前后强、中间弱。关键信息放对位置,比堆更多上下文管用。

# 提示词# 上下文# 注意力· 约 2 分钟

让模型自我检查,比让它一次写对更靠谱

同一批任务,一版要求一次写对,一版先写再自评改一遍。后者错率低了一截,且每处改动都有理由可查。我从此不再追求「一次成型」,开始追求「写完再审」。

# 提示词# 自我评审# 输出质量· 约 3 分钟

小模型 + 好提示,干掉大模型 + 懒提示

把摘要任务从大模型换成小模型加结构约束,质量没掉,成本降到十五分之一。这次实测让我不再默认「用最大的」,开始按任务配模型——大模型不是万能药,是贵药。

# 模型选型# 成本优化# 提示词· 约 2 分钟

我不再追模型的新功能,开始追它的旧 bug

我曾经每个新模型发布都追着试新功能,直到发现真正拖慢我的是那些我早就该记住的旧坑。整理了一份「某模型坑表」后,我的调用成功率反而升了。追新不如扫旧。

# 模型选型# 踩坑# 效率· 约 2 分钟

看 benchmark 涨了 3 分,我反而更警惕

某模型发布说某榜单涨了 3 分,我把手头 20 个真实任务丢给它跑,它在榜单上的对手赢了我的 14 个。从那以后我看评测分数,第一反应不是「它变强了」,而是「它在什么上变强了」。

# 模型评测# benchmark# 真实任务· 约 2 分钟

推理模型不是更聪明,是更会想

同一道 debug 题给普通模型和推理模型,普通模型直接给答案,推理模型先说「我怀疑这里」。我后来才明白,推理模型真正的价值不在答得更对,在于它把怀疑写在了答案前面,让我有机会在它错之前把它拽回来。

# 推理模型# 思维链# 模型评测· 约 2 分钟

模型更新后,我做的第一件事是跑旧用例

某次小版本更新后,我那套原本好用的提示词集体翻车。回滚对比才定位到原因:不是模型变笨了,是它变「乖」了。从此我给每个主力模型都配了一套回归用例。

# 模型评测# 回归测试# 模型更新· 约 2 分钟

机器负责生成,我负责选择

AI 能一分钟写出十篇文章,但「写出来」和「值得读」之间的距离,一点都没有变短。关于创作者在这个时代还剩下什么。

# 人机协作# 随想# 创作· 约 2 分钟

让 AI 改我的旧代码之前,我先立了三条规矩

把一个两年的旧项目交给 AI 重构,第一次它差点把我的存储层删了。第二次我学乖了:先立规矩,再放手。

# AI 编程# 重构# 工作流· 约 2 分钟

Agent 踩坑记:它不是更好的函数调用器

让 Agent 自己订机票式的任务跑了一个月,我踩过的坑可以归成一句话:它擅长决定做什么,不擅长记住做过什么。

# Agent# 工具调用# 踩坑· 约 2 分钟

提示词里真正起作用的,是结构不是咒语

「你是资深专家」这类开场白的效果被我高估了。真正让输出质量上一个台阶的,是三件朴素的事:给例子、给约束、给出口。

# 提示词# 结构化输出# 实践· 约 2 分钟

128K 上下文不是记忆:一次长文阅读实测

把一篇八万字的论文塞给模型,它背得出结论,却说不清论证过程。这次实测让我重新理解了「上下文窗口」这四个字。

# 长上下文# 模型评测# 实测· 约 2 分钟