去年12月,我写过一篇很短的日志,说自己有个需求——投影PPT时拍出来的照片是歪的,想自动矫正成标准四边形。当时找 DeepSeek 写了第一版,几行需求描述换来一个能跑的程序,觉得挺神奇。

现在回头看,那其实是个起点。这十个月里,这个小工具本身也没闲着,先后又经手了 Gemini 、 Claude 、 GLM ,一路改到了 v5 ,加了不少当初自己想不到的算法。但比工具本身更有意思的,是我用 AI 的方式,在这期间变了好几轮。

网页时代: AI 是个随叫随到的顾问

去年12月之后大半年,我基本就是打开网页版,把问题贴过去,把代码抄回来,本地跑,报错了再贴回去问。

这个流程说不上先进,但确实顶用。以前要自己啃文档、试错好几天的事,现在半天一天能出个可用版本。缺点也很明显——上下文没交代清楚,它容易自作主张地跑偏;核心需求不反复强调,它也记不住。这些坑踩多了,也就摸出了跟 AI 打交道的分寸:关键的部分自己把关,边角的事交出去。

同时在折腾:自己的 AI 基础设施

网页问答之外,还有一条线一直没停——本地跑大模型。用 llama.cpp 配 Vulkan 后端,在几张老卡上把 GGUF 模型跑起来;后来又搭了 RAG ,配了向量库,写了个 shell 脚本做文本提取分析。

这条线跟网页问答不是替代关系,是分工:复杂、要求高的活儿丢给云端模型,日常、批量、不想联网的活儿交给本地。两边都在用,谁也没取代谁。

8月,从"问 AI “变成"让 AI 跑”

真正的转折在8月前后。之前零星用过 opencode ,后来又试了 dsh 、 zcode ,最后固定在了 Pi agent 上。

变化不是模型突然变聪明了,是流程变了。以前是我在浏览器和本地环境之间来回搬运信息——问、抄、跑、报错、再问。现在是把目标丢给 agent ,它自己去读项目、改代码、跑命令、看结果、有问题接着改,我只在关键节点确认。

原来在网页上折腾好几天才能搞定的事,现在几个小时甚至更短就能出结果,质量还不见得比自己死磕差。这大概是这十个月里感受最直接的一次效率跃迁。

再往后:不只是用,还开始自己造

用顺手之后,就不满足于只是"调用"了。我开始给 Pi 写扩展、写 skill ——一个自己实现的网页读取扩展,跑起来之后又回头做了一轮完整的问题排查和修复;一套企业 PPT 的视觉风格模板,先自己定框架,再让好几家 AI 分别提意见,合出一个更完整的版本;还有打包流程、审查方法这类东西,也都从"临时凑合"变成了固定下来、可以反复用的东西。

到这一步,角色其实变了——不再是纠结"这个任务该用哪个模型",而是开始考虑要不要自己动手做个工具,把某类问题一次性解决掉。

AI 给的方案,不代表能直接用

也不是所有事情都顺利。有次想把一个环节的渲染方案换掉, AI 给了几个候选,听着都挺合理,但实测下来,一个排版对不上,一个直接跑挂了。折腾一圈,最后发现原来的方案就是最合适的,维持不变。

这件事提醒我, AI 能帮着把候选方案列出来、缩小范围,但能不能用,还得自己上手试。方案听起来多合理都不算数,跑起来才算数。

现在手上在用的

目前日常用的模型分了个大致的工。轻量、量大的活儿交给 DeepSeek V4.1 Flash 和 GLM 5.3 Flash 这类快模型;需要综合判断的场景用 GPT 系 Luna 5.6 ;整体把关汇总找下 Claude 的 Sonnet 5 。具体谁该干什么活,是这十个月一点点试出来的,不是一开始就想明白的。

从去年12月 DeepSeek 写出的第一段能跑的代码,到现在自己给 Pi 写扩展、定方法论,中间换过好几家 AI 、好几种用法,说到底变的不是模型有多强,而是我自己想清楚了什么活该交给谁、交到哪一步。

AI 从一个"问一句答一句"的顾问,慢慢变成了我工作环境里的一部分。往后大概还会继续变,先记到这里。

~对了,这篇日志是让 AI 帮我把这十个月的记录理了一遍、顺了顺逻辑写出来的——素材是我自己的,思路是自己想的,架构是自己决定的。但码字这道工序,确实是交出去了。