手指抠了抠屏幕边缘翘起的钢化膜。这玩意儿跟了我三年,见证了从爬虫到低代码再到 AI 的每一次焦虑切换。今天下午,我把 Rembg Pro 那个抠图工具的本地版核心逻辑,用自然语言给重写了一遍。不是写代码,是写“指令集”。感觉像在跟一个极度聪明但有点轴的新员工交接工作,你得把“为什么这么做”和“如果出错了怎么办”揉碎了喂进去。
以前搞这种工具集成,第一步是找开源库,第二步是看 API 文档,第三步是写胶水代码处理异常和格式转换。光是处理不同图片格式的通道问题、边缘锯齿、半透明毛发的算法选择,就能耗掉两天。现在呢?我打开 Claude 3.5 Sonnet 的代码解释器,直接开始口述:“我们需要一个背景移除功能。核心需求是:处理本地图像文件,支持 PNG、JPG、WEBP;输出需要保留透明通道;对于人像头发丝边缘要优化;如果图片本身是纯色背景,允许使用更快的色键抠图模式作为降级方案。” 这只是一个开头。
真正的重编在于逻辑链的拆解。你不能只说“要优化头发丝”,你得告诉它物理世界里的麻烦是什么。“在算法处理时,发梢部分的 Alpha 值通常呈现渐变,直接二值化会导致锯齿。我需要一个后处理步骤,对 Alpha 通道进行导向滤波,参考原图的亮度通道作为引导图,平滑过渡的同时保持边缘锐利。” 写这段话的时候,我脑子里过的是以前用 OpenCV 写 `cv2.ximgproc.guidedFilter` 时调参调到吐的经历,但现在我不需要记住函数名,我只需要描述清楚“意图”和“约束条件”。
更颠覆的是对“异常流”的自然语言描述。传统开发里,这是 try-catch 块和错误码。现在,我这样写:“当输入图像尺寸超过 4096×4096 时,先进行下采样处理,但记录缩放比例,最终输出前需要将处理后的蒙版上采样回原始尺寸,以确保坐标映射一致。如果遇到损坏的文件头,直接跳过该文件,在日志中记录路径,并尝试读取下一个文件,不要让整个批处理进程崩溃。” 这本质上是在定义系统的“性格”——它应该坚韧,对批量错误有容忍度,并且知道自己每一步在干什么。
整个“重编”过程花了四十分钟,产出是一份大约八百字的纯文本需求描述。Claude 把它转化为了可执行的 Python 脚本,并且附带了详细的注释,注释里甚至把我提到的“头发丝优化”和“降级方案”的逻辑原话都标了出来。我运行了一下,处理效果和之前我亲手调了两天的版本,肉眼几乎看不出差别。那一刻没有兴奋,反而是一种很深的虚无感。我过去十年积累的那些“技术实现细节”护城河,正在以肉眼可见的速度蒸发。
未来的产品经理,肯定不再是拿着 Axure 画原型、跟工程师争论“这个按钮能不能快点做”的角色了。那种角色在 AI 面前毫无价值。未来的 PM 必须是“逻辑的指挥官”。你得比任何人都清楚业务的核心闭环是什么,数据怎么流转,异常边界在哪里,用户体验的底线和上限怎么定义。然后,你用人类最自然的方式,把这些逻辑“编译”给 AI 去执行。工程师的职责会从“写代码”向“训练和约束逻辑模型”迁移,确保你描述的逻辑被准确、高效、安全地实现。而 PM,如果还停留在画界面和写 PRD 的层面,会瞬间被淘汰。
我关掉编辑器,脚本还在后台跑着,处理着测试图片。屏幕钢化膜那个翘起的角,我又用力按了按。按不下去。有些东西就像这膜一样,曾经严丝合缝地保护着你的价值,现在它翘边了,告诉你时代已经换了粘合剂。你需要的不是用力压回过去,是得整片撕掉,换个新的。而这片新的“膜”,就是你对复杂逻辑的拆解和指挥能力。代码搬运工的黄昏,已经来了,只是很多人还没抬头看天色。














