2025 年终总结 - 黑白素描

Category : 年终总结

2025 年,我购入了相机,却决定用文字完成一年的构图

始于拖延

哎,时间好快…又是一年了,是时候回顾一下 2025 年并写一篇年度总结了

但感觉今年并没有很多特别的事情发生,外加个人拖延又犯了,原本打算年底写的年度总结迟迟没有动笔

不过,到了元旦那天,我突然觉得仔细感受当下的小确幸也是很有意义的,于是就决定写下这篇年度总结了

工作

2025 年底到了,毕业后工作也有 1 年半了,也是全年都在职场工作的一年

这一年里,工作主要的内容依旧围绕着 Web 前端展开,同时也偶尔涉及到工具链和客户端 Native 的内容(涉及到一些救火和风险把控的工作,如及时制止客户端的一些新改动,避免新版本上线后影响全网…)

后来发现,除了从 0 到 1 做一个新项目之外,适当地

  • 接触各种技术栈和新鲜事物
  • 输出技术文档和设计方案
  • 处理一些突发事件
  • 优化和维护已有的系统

也是很有意思的,并且轮换地做,可以刺激多巴胺分泌并提高执行力,让工作不至于太单调

开发

似乎没啥亮点?但帮到自己的同时,又似乎帮到了别人?最让我没想到的是,我今年居然写了这么多小项目…

都搁置在 GitHub https://github.com/situ2001 里了,下面是一些简单的介绍:

  • KeyPhantom (50 Stars) macOS 小工具。能将特定快捷键组合转换为特定的按键事件,并将该事件转发到特定的应用(如同幽灵一般),以实现一些特殊需求:如一边微信读书阅读一边打游戏。

  • unplugin-mcp (31 Stars) MCP 协议出来不久后,脑洞大开写的一个让 AI 介入 JS Bundler构建的输入/过程/输出的原型 (MVP)。

  • gitea-bulk-migration (26 Stars) GitHub 在今年某个时候挂了无法访问,网上一片恐慌。于是我就摸索 Gitea 的 GitHub repo 同步功能。但无奈当时的 Gitea 无法支持批量导入,只好研究 Go API 并写了个批量从 GitHub 单向同步的 repo list 到 Gitea 的工具。

  • obsidian-tab-group-arrangement (11 Stars) 简单来说,由于 VSCode 的 “Expand active group” 的功能太好用,就心血来潮移植到了 Obsidian 里用。

  • auto-adb (6 Stars) 公司 WiFi 干扰太大速度太慢,开发用的手机频繁开关 HTTP Proxy 又太麻烦。于是就写了个工具,检查手机连接自动 HTTP Proxy 地址并做端口转发,达到一键设置 Proxy 并让 HTTP 流量全走 USB 的目的。目前开发 H5 跟 Hippy 一样爽滑。

  • scoped-rem (1 Stars) 跨根字体大小不一致的仓库无缝平移组件(如将A平台业务迁移到B平台)的 Webpack loader,简单来说就是让 rem 指向其他的 font-size。已经塞在公司项目仓库的构建配置里运行多日,目前有不少平移上线类的项目在使用该 loader 进行构建。

  • which-npm (1 Stars) 迷失在深层工作目录时的救星,打一个 which-npm 命令,就能让你马上知道你现在在哪个 npm 包里工作…

  • oxnode An oxc-node CLI wrapper, 相当于 oxc-node 的 alias。

  • nth-week 查询现在是第几周的 CLI(我有写周记的习惯…)。

  • npm-package-starter npm 包起包模板,每次有新想法的时候,就再也不用从零到一地进行初始化工作了(PS:btw 也许用 AI 的 Skill 也能做到)。

  • picmark 给图片加水印的 CLI(发到朋友圈的照片里的边角水印就是用这个工具打的)。

  • git-push-confirm 在每次 git push 前都打印你的 author 和 email 信息供二次确定的小工具。

阅读

今年读了下面这几本书,不多不少,都是在通勤路上和睡前用 iPad 看完的:

  • 《以日为鉴:衰退时代的生存指南》:回顾了日本经济从泡沫破裂到漫长的接近 30 年的调整期。历史虽然不会简单重复,但总有多多少少的影子重叠。
  • 《分心不是我的错》/《分心也有好人生》:讲述了神经多样性症候群的特征和一些接受这些特征并与之共存的方法(吧?印象已经模糊了,但当时学到了不少)。
  • 《只管去做》:讲述了如何定下自己的目标并去执行。里面讲到了一个“写给自己五年后的一封信”,看起来还挺有意思的,但可惜我还是没有去践行写信…
  • 《清单革命》:反复来反复去就是在讲一个核心的要点,那就是要用好清单。要把可复用的重要流程给提炼为清单,在执行的时候按照清单来会减少很多不必要(无能之错)的错误(其实就是给每一类的 case 的设置一个可以操作的 Procedure?)。PS:其实,AI Agent 的 Plan Mode 是不是也是参考了《清单革命》里的一些思维?
  • 《阿里工程师的自我修养》:讲述一些软件工程师必备的一些思维方式和模型,其实里面讲的好些内容都是跟《程序员的底层思维》这本书讲到的内容差不多。反复出现和重要的,我想可能是如何对现实/现象进行收集、分类、归纳、推理、洞察,并进行抽象和通过第一性原理进行分析。
  • 《游戏编程模式》:有意思的书,讲述了很多如何对游戏(如其数据、行为等)进行设计和抽象的方法。也让我意识到了软件开发,就是对现实世界的建模和模拟。受益匪浅。

电子设备

电子设备的话,今年就克制许多了,没有增加多少电子设备。由于我不喜欢出二手,因此购入的物品都是经过深思熟虑的:

iPad

iPad mini 7。很满意的一次购物体验,踩上了年中的国补末班车入手的,3000 多入手的 256G eSIM 版本(还送一年 300GB 的流量)。得益于小巧的机身以及能随时联网的能力,这台设备并没有吃灰而成为取代 Kindle 的泡面盖…

买回来这大半年的主要用途有:电子阅读器(微信读书和刷各种信息流)和MacBook 的副屏(当看板)

使用场景:地铁通勤阅读用、躺床上钻被窝阅读用、上班当副屏信息屏用

相机

在今年 9 月份去 HK 东涌 City Walk 之后,对于拥有比手机更清晰的照片和无缝的光学变焦的想法越来越强烈。再看了看相册里 8 年积累的 5 万张照片…于是在今年国庆假之后,趁着双十一特惠活动,购入了一套相机,恰好满足了这两个想法。

  • Panasonic DC-S5M2(机身):经典的水桶机,经过固件大厂持续两年的打磨,功能已经很够用了。
  • LUMIX S28-200 F/4-7.1(镜头):一个轻量级的大变焦,满足了我上述的需求。虽然光圈有点小,但我主要拍景并锁 f/8。同时,协同防抖和机身的高感水平又兜住了画质的底线…算是一种均衡之美吧

搬家

今年年中开始度过独居生活了(之前是跟朋友一起合租)。

值得一提的是,深圳市区 + 小区房 + 一房一厅 + 非隔断间这种配置组合真的是挺贵的。对于出租方,这可能是租金回报率最高的配置了(不考虑隔断间魔改的话)。最后在各种 tradeoff 之下,舍弃了离地铁站的便利(之前在地铁站上方,现在需要步行一段距离才能到地铁站),才以相对可以的价格租下来。

值得一提的是,搬家其实是一件挺费力的事情,虽然大家现在说有搬家公司可选,你给钱就能搬(搬家公司帮你拉货,甚至如果舍得可以找日式搬家,你手都不用动一下)。但我再三考虑下,还是选择了搬家公司拉货-only

在整理物品的时候,很多贵重物品还是得自己做好单独的打包和分区以避免破碎,也发现,虽然之前合租我的一亩三分地就在一个面积有限的房间里,但整理的时候还是费了不少力气和时间。中途寻找合适的房间也是很耗心力的事情,因此我也认为搬家并不是一件轻松的事情(如果你不舍得花钱太多…)

不过到了不得不搬家的时候,还是得搬离的

PS:搬家会在相当的一段时间内对自己的心理状态产生一定的影响,务必要提前做好心理建设

现在有了独立的卧室,客厅,厨房,卫生间和两个小阳台,过着质量还不错的生活,还是有点小挺满足的

AI (LLM) 的冲击

AI 的发展可谓是改变了我的各种工作流。虽然我的工作流没有像自媒体描述得那么夸张,但也许能帮上你。

大概就是这几个要点,掌握了就能更好地使用 AI。怎么说呢,「结构」+「品味」+「思考」吧:

  1. 心中有结构(结构化思维)
  2. 不要一口气让 AI 做很多事(原子化拆解问题,一件件事情来)
  3. 提供适量的上下文(过少会让 AI 不知所以,但过多又可能会加剧幻觉,需要适中)
  4. 把事情说清楚,并提供精准的 Prompt(并在该用专业术语就用专业术语)
  5. 在提交问题前能预测到 AI 的大致输出内容
  6. 警惕生成速度快于人的理解速度
  7. 使用者要有自己的把握,并保持思考
    1. 【非探索类】个人的知识面能跟上 AI 的输出
    2. 【探索类】要思考某领域需要什么知识?AI 的逻辑和输出是否正确?

具体到我的日常使用:

编程

  1. 对需求建模、对项目功能和整体架构进行构思并在与 AI 的讨论下形成一份份的 md 文件(含设计方案)
  2. 审视 md 文件的内容
  3. 与 AI 一起拆解方案,形成 TODO list
  4. 开始编程
    1. 关键或觉得 AI 不易实现的地方:手敲 + tab completion
    2. 其他地方或直觉预测到 AI 能给出不错的结果的地方:给 CLI 输入 Prompt(并手动初筛上下文,如有必要,使用如 Context7 等 MCP Tool 提供充足的上下文),让它一步步地生成代码

信息检索(互联网)

在手动搜索的同时,也用 Grok 或 Gemini 获取信息。如果是调查特定的领域知识,我会尝试使用 Gemini Deep Search 或 NotebookLM 进行深度探索,获得必要的可以日后自主探索的元信息

信息检索(本地笔记)

直接使用 Agent CLI 对我的 Obsidian 笔记库(全是 markdown 文件)进行检索。

顺带一提,CLI 做的信息获取方式挺有意思的,就是会根据你的意图来自行地对逐步信息的获取,而不是一口气吞下所有 md 文件。值得一提的是,在这个场合下,你依旧能通过提供更准确的上下文给 AI 进行更准确搜索。

比如,当我要它分析我 2025 年的所有日记的时候,我会给出提示:请你结合我 2025 年日记内容,分析出我在什么时候专注陷入一件事情无法自拔 (hyperfocus)。注:日记 glob 为 001 Daily/2025_*.md

个人写作

  1. 思考好内容的大致结构
  2. 一口气在对应的地方吐出你想表达的内容(草稿)
  3. 附上引用的外部资料
  4. 喂给 AI review
  5. 审视结论
  6. 重新精修润色原来的草稿(人工,我认为表达任何事情,活人感是很重要的)
  7. 最后文章就出来了

小彩蛋:本文章的素材是通过拼接我一年来的日记和周记内容后上传到 NotebookLM 进行深刻复盘和提炼后进行采集的。但文章的结构、草稿和正文依旧是我自己亲自完成的

保持好奇和思考

最后,不管后面 AI 发展成什么样,我们都应该要:

  1. 保持好奇:主动去见识&接触新的知识,哪怕一时半会不懂(在后面是有很大概率连点成线成面的)
  2. 学会思考:不要全盘接受 AI 给出的答案,思考是否正确、是否有更加好的解决方法

终于意义

对了,这里不会反复总结上方的内容了,而是想说一下我写作的时候突然出现的感受

在这里,我想重申一下开头的意义二字

生活在这个时代,AI (LLM) 的出现,似乎让我们每个人都能做出很多以前做不到的事情

但同时,你能做到别人之前不能做到的事情,也有可能因为 AI 的出现而变得不再稀缺和有价值了

这个时候,自我存在的意义就显得尤为重要了

人们存在的意义是什么?

对于这个问题,我还没有一个很好的答案

但我初步觉得,在这个 AI 能够无限输入并生成无限结果的时代

即使我的产出不再稀缺,但我此刻的感知、情绪,经历的每一件事、与每一个人的连接,以及内心未被磨灭的灵性

都将是宇宙中独一无二的副本

这是没有任何机器,甚至没有任何其他生命能复制和重现的

只要还能爱上具体的生活,还能好好感受当下的每一次心跳

就足以对抗虚无

对吧?

所以,珍惜当下,好好活在当下吧