大学的时候有选修一些编程的课程,但是也基本等于没有吧,我在今年开始使用 AI 开发了一些项目,目前收获了 130 个 star 吧,最近在解决一些问题和维护的时候,对使用 AI 开发总结了一些想法。

我是学院派的忠实拥护者,我认为任何创新都基于对基础知识的熟练掌握,并对基本概念的重新阐释或者说重新设计解决路径。所以当我开始用 AI 写代码的时候,我并没有觉得自己可以被称之为程序员——我只是需要一个工具帮我做一个我需要的东西。在我学习使用 AI 开发中学到的,反而是尊重编程这门手艺,说起来有点搞笑,我并非完全推崇古法编程,但我真心觉得计算机的基础设计的理论是非常重要的手艺。

编程建筑学

构建一个项目需要很好的结构化的意识。有很多交互的准则,包括项目的结构和设计,是需要自己先想好的。如果你没有方向,AI 也不会写出很好的代码。很多问题,有时候也需要自己定位,然后交互聊出一个很好的解决方案。AI 补齐的是结构化的代码部分,但创意和设计还是需要人类这个驾驶员选择,甚至代码本身是否优雅,也需要人类的设计

感谢 AI,让我有很多小需求和好玩的脑洞,可以通过 AI 写代码自己实现了。我会觉得编程不是“写代码”,更像是建筑,可读性和可维护性是作为程序的建筑师来说非常重要的部分,跟文学不一样,文学从写出来发布的那一刻就已经完成了使命,但建筑不一样,建造完成的那一刻一切才刚刚开始,建筑师本人对项目的理解、安全性和设计的理念,会从交付的那一刻开始展现出长尾的魅力。很多人会提到品味,品味体现在设计里,不仅仅是画面的设计,也包括结构的设计。

从使用 AI 开发的过程,我学习到了很多,在实践中意识到很多原则为什么会这么设计,我不认为工具能够替代人类的创造力,我也不认为 AI 真的能够替代程序员,程序员得到的教育,如果能够简单被 AI 写的代码替代的话,那并非是程序员本身的问题,而是教育体系是否把程序员真的设计为了码农

我的项目过程

我最近重构了我最开始的项目,md2flomo[1],一个把 Obsidian 中的内容导入 flomo 的插件。现在回头看,真是难评——项目完全没有结构化,所有功能和内容都写在一个 main 文件中,甚至我一开始都没搞明白 Obsidian 插件的开发和编译流程,就是一整个硬 push AI 写。但很神奇的是,AI 也给我写完了,甚至也实现了我要求的功能。

但相对应我付出的就是巨量时间的调试,和几乎完全无法进行维护的局面。

这其实就是一个新手通过 AI 最开始写出来的垃圾,但是当我现在再回顾这些内容,我会意识到模块化的设计很重要,功能的稳定性,流程的设计很重要。我想到之前没有认真听的编程课,也算是一种教育的回声了。

后来我开发了 Obsidian 发布公众号的插件 mp-publisher[2],途中遇到很多的问题。一开始也借鉴了很多别人的开源项目,后来发现无法满足我的需求,所以又自己设计了主题管理的界面,这是能体现我设计理念的地方了(哈哈哈)。

我认为 CSS 样式应该能够高度自定义,所以才会提供了给 AI 看的 CSS 设计文档,尽可能让结构化的工作是可以通过 AI 代劳的,那么人类的工作就剩下最核心的——设计你的主题,配置你自己的工作流。我设计的管理界面:三层的管理,可预览,可编辑。一切的交互都需要非常符合人操作的便捷性——所有能点击一次达成的操作,不应该再点击一次;所有可以直接看到效果的,不需要再重新进入一个界面查看

这个过程中,人类决策和 AI 执行的边界很清晰:交互逻辑、层级关系、操作便捷性,这些是我先想好的。AI 做的是把这些想法翻译成代码,让结构化的部分由它代劳,让我专注于设计和决策。

论 AI 与 Bullshit Jobs

狗屁工作是一份毫无意义且往往有害的定期领薪水的职业,其无意义或有害程度是如此之高,乃至从事这份职业的人都无法为其找出合适的存在理由。虽然要从事这份工作有一个条件,即从事者不得不假装这份工作的存在是完全合理的。

在写这段内容的时候,我想到大卫·格雷伯的《Bullshit Jobs》[3]。他说世界上有 40% 的工作都是狗屁工作,狗屁工作定义如上所述,他还细分了五类:随从(flunky)、打手(goon)、拼接修补者(duct taper)、打钩者(box ticker)、分派者(taskmaster)。

随从存在的唯一目的或主要目的,是衬托另一个人的重要性,让这个人看起来很重要或者让这个人感到自己很重要。

我想随从大概是不会被 AI 替代的,毕竟领主是非常需要从真实的人类身上获得“威望”——人的社会性需求不会满足于一个没有主体性的机器的恭维,也就是需要一个或多个“客体”才能凸显自己这个“主体”。人需要人,不是因为人比机器更高效,而是因为人需要被一个有主体性的存在所承认。

赫拉利在《连结》[4] 中说官僚制度的本质是将非结构化的数据结构化,以达到控制的目的:

官僚制度的英文 bureaucracy,词源讲的就是“从书桌来统治”。这个词最早创于十八世纪法国,当时官员通常就是坐在一张有抽屉的书桌旁边,这种书桌就称为 bureau。

AI 的结构化和官僚的结构化本质上不是同一件事。官僚将非结构化的数据结构化,是为了让信息可以被统一管理、被少数人掌握,这是一种自上而下的权力运作,AI 的结构化则是一种工具性的能力,是从下至上的——它把人类的想法翻译成可执行的代码、可检索的数据、可复用的模块,人人都可以通过 AI 得到自己想要的信息(虽然有幻觉,但也拉平了很多知识差距)。它不是为了控制谁,而是为了让信息可以被更高效地处理。目的不一样,就决定了对数据的要求和处理都不一样,也意味着我们使用或者看待它们的方式不一样。

赫拉利也指出了这种官僚结构化的危险:

就算在官僚制度的力量属于良性、给民众提供了污水处理、教育与安全的时候,还是会拉大统治者与被统治者之间的差距。因为这套制度让中央很容易搜集和记录被统治者的资讯,而被统治者若想要了解制度运作细节,却是困难得多。

但这并不意味着 AI 的结构化能力没有风险——当这种能力被嵌入官僚体系,它可以让官僚更高效,也就让控制更严密。结构化的数据反而可能造成 AI 的极权,不是因为 AI 本身想要极权,而是因为它让极权变得更加容易实现。

行业中充满官僚文书的工作,在我看来大概是可以被 AI 取代的,因为很多此类的狗屁工作建立在一种对结构化信息的操控之上——当 AI 能比人更快地完成这种操控,人就变得多余了。但那些需要真实的人际互动、需要主体性承认的工作,不会因为 AI 更高效就被替代。

AI 与无限游戏

其实也有关于我之前提到的《有限与无限的游戏》[5]学习打破边界,学习如何设计项目的结构,打破你自己原本的认知边界,这就是无限游戏。如果你是为了完成某个项目,交工结束,只在自己的边界内玩,为了一个确认的结束,或者为了升职完成某个单一任务,那么这就是个有限游戏。

有限游戏中的参与人,是可以被任何人替代的,也意味着,很有可能也能被 AI 替代。

有限游戏不在乎参与人是谁,它有既定的规则,也需要一个“成功或者失败”的结果,当一种工作只需要人按照既定规则执行,不需要人的创造力、判断力、或者对他人的真实理解,那这种工作中的人就是可以被 AI 替换的。

而无限游戏在意参与者——你在里面不是扮演某个角色,而是作为具体的人存在。无限游戏追求的不是结果,是过程本身。过程无法被 AI 替代,真实的创造也不会,这会是属于你本身,建造文化的游戏。

End

虽然我并不认为 AI 能够替代人类,也不认为 AI 真的存在了意识 [6],但我也不想给出乐观——AI 的风险不在它替代人类,而在它让某些人变得更容易被替代。那些被限定在有限游戏中的人,被要求只需按照规则执行的人,不是因为不够努力而被替代,而是因为他们的工作本身被设计成了可替换的。

本内容完全由作者撰写,内容仅代表创作者个人观点。

  1. https://github.com/joeytoday/obsidian-md2flomo↩︎
  2. https://github.com/joeytoday/obsidian-mp-publisher↩︎
  3. 我看的是台版,简中版本翻译是「毫无意义的工作」↩︎
  4. 我依旧看的是台版,简中版本译名是《智人之上》。↩︎
  5. 可参考我上一篇周刊: https://joeytoday.com/blog/2026/weekly-56/↩︎
  6. 【译】特德姜:不,人工智能没有意识: https://www.douban.com/topic/489921843/?_spm_id=ODgxNjcwNTU↩︎
1
0