2026-03-16 22:30:00
过去大半年我一直在高强度地用 AI agent 写代码,用着用着发现一个问题:“怎么组织 agent 吐出来的东西”这件事,比我原来想的重要太多了。 这话听着可能有点奇怪。大家关心的一般都是模型能力、prompt 怎么写、上下文够不够长……但真的和 agent 密集配合过一阵子之后,你会发现有个更底层的东西一直在拖后腿:版本控制。说得再具体一点,就是你拿什么样的心智模型来管理本地的代码变更。 我现在的结论是:Git 作为远端协作和代码托管的标准还是没什么好说的,但在本地工作流这头,jj (Jujutsu) 明显更适合现在这种人和 agent 来回切着干活的开发方式。这篇文章就是来安利这个的。 Git 在 Agent 时代的摩擦 Git 是个伟大的工具,这一点没啥好争的。但它的很多设计假设,是建立在二十年前”人类手工编程”的时代背景上——一个人坐在编辑器前面,想清楚要改什么,改完检查一遍,然后 add、commit、push。这套流程是给人类的线性思维量身做的:staging area 给你一个”最后再看一眼”的机会,branch 帮你隔离不同的工作流,stash 让你...
2026-01-04 15:39:00
我最近写了一个小框架 Chroma,用 Swift 在终端里做代码高亮;顺手还以它为基底做了一个(实验性的)cat 替代品 ca,能以带高亮的方式在终端里显示代码文本内容 (几乎和 bat 一样,只是又一个“I can, why not”的项目)。这篇文章想做三件事:先简单宣传一下(真的很短),然后重点聊聊这次实践中的主要收获:在 AI 驱动的迭代方式下,把性能优化这件事做“到底”变得前所未有地容易;最后再补一些在做 ca 期间学到的命令行设计和主题生态方面的东西。 Chroma / ca:一个很小的 promotion Chroma 的目标非常朴素:给它一段代码和一个语言标识,它就返回一段可以直接 print 的 ANSI 彩色字符串。 语法高亮这种东西其实早就被写烂了:Rust 有 syntect,Python 有 Pygments,前端世界里更是 highlight.js 一类的工具满天飞。但我在 Swift 生态里一直没找到一个足够顺手、又能对终端输出细节(diff / 行号 / 行背景 / 缩进)有足够掌控力的选择,于是干脆自己(准确地说:靠 AI)糊了一个。...
2025-12-15 09:20:00
提笔写下这篇总结的时候,窗外的银杏叶已经落得差不多了,天气也倏忽之间就冷了下来。东京的秋天走得安静,只留下满地金黄,但冬天却来得急躁,提醒人们时间确实在向前流动。 按照往年的惯例,我大概会用“懒癌发作”或者“没什么进取心”作为开场白:一方面习惯性自嘲,另一方面也给自己留点退路,装作好像只要态度足够散淡,变化就追不上来的样子。但回望 2025 年,我发现这些词突然变得不太合适了。并不是我变得勤奋了,而是这个世界的变化速度,已经快到了即使你选择“躺平”,也能清楚地感觉到身下的地板在带着你呼呼向前移动。 如果说前几年我们还在讨论 AI 能不能做事、会不会做事,那么到了 2025 年,这个问题几乎已经失去了继续讨论的意义。我们不再站在岸边观察潮水,而是已经身处浪潮之中。无论情愿与否,这一年,几乎没有人还能置身事外,所有人都成为了这场巨变的直接参与者。 今年的总结,我想试着从几个贯穿全年的主题出发,聊聊在这个智能骤然丰裕的时代拐点上,我的一些观察、困惑、犹豫,以及尚未成型的浅薄思考。 智能膨胀与元学习 两个娃一天天长大,也都进入了小学,姐姐更是为了准备初中考试开始了补习班生涯。她...
2025-10-13 23:10:00
最近科技界一扫前些年死气沉沉的阴霾,各种新东西乘着 AI 的东风纷至沓来。我自己分享欲也有点爆表,所以闲暇时 vibe coding 了两个小项目,想要尝试拓展一下自己表达的边界和形式。这篇文章先简单介绍一下两个项目,然后谈谈(作为一个“资深”程序员)在开发过程中的一些体会和感受。 项目简介 Magpie 首先是驱动我个人链接收藏页面的 Magpie (喜鹊,没错我就是很喜欢用鸟来给项目命名的人),它是一个轻量级的链接收藏,后端接入 AI 模型,可以从链接 URL 中获取内容,自动提取标签以及合适的分类,甚至按需求写一些短评。你可以把它想成上个世代的各种 Read it later 服务的 AI 加强版,并且配套的管理后台、快捷指令和 Chrome 插件也都齐备了。 AI 贼船 其次是一个更简单一些的静态页面「上了AI的贼船」。我会不定期在这个页面分享我在使用 AI 工具进行日常开发,生活和娱乐等方面的心得以及实际的使用案例。在 build 时,我使用中文书写的内容会通过 LLM 自动翻译成其他支持的语言;当然,深浅颜色切换,feed 订阅这些基本要素也都完备。 ...
2025-08-03 17:00:00
六月中旬某个闷热的夜晚,在初浅尝试使用 API Key 帮我迅速完成了一个任务后,我毫不犹豫地点下了 Claude Max 的订阅按钮。作为一个“买断制”时代的遗老,每月一两百美金的订阅对当时的我来说还是太超前了。但是在一个半月之后回头望去,看着那些按照 API 计价的被我烧掉的价值 3000 多美金的 token,我似乎捡到了一个超大便宜?不过最近 Anthropic 宣布了新的 weekly 限制,想来大概针对的就是我这种“重度”用户吧。所以近几天来我也在研究有没有其他替代方案,可以让我从这种限制中解脱出来。不过尝试了一圈下来(包括 CC 接其他 API,也包括像 Codex/Gemini/Qwen/Crush/Amp/AugmentCode 等等),似乎一时半会儿在这个领域 Claude Code (后文用 CC 指代) 还是没有竞争对手。既然还得续费,那不如阶段性地做一个总结,来记录下这一个半月使用 CC 的一些感受吧。 Vibe Coding 的迭代速度 说到 vibe coding,最让我震撼的其实不是模型有多智能或者是能完成什么尖端任务,而是由它带来的产品迭...