随笔 · 自述
关于我
你可以叫我小哲。2019 年刚把这个博客搭起来时,我还在文章里写,自己没有一点代码基础,连 WordPress 的数据库备份都不知道怎么恢复。后来我开始做企业 SaaS,写 iOS 和 macOS 应用,也学着维护服务器和自托管服务。这条路没什么预先设计,通常只是遇到一个不明白的问题,我想把它弄明白,然后越走越远。
工作上,我主要在飞书生态里做企业应用和 AI 的落地。很多时候,模型只是其中一小段,前后还有业务流程、数据、权限、消息和真实的人。工作之外,我做 App Store 价格、Pinlist、AIUsage 和一些小工具,起点也很简单:我自己遇到了问题,想做一个会长期用下去的解决办法。
我做东西有点矛盾。开头愿意先用最小版本把路走通,到了真正要交付时,又会在一个像素、一个异常分支或者一条线上日志上反复确认。能跑只是开始;真实的人收到正确结果,半年后我还看得懂、改得动,才算做完。
我来自河南洛阳,在沈阳读本科,在杭州读研,工作后去过北京,最后又回到杭州成家。地图上绕了一圈,现在杭州是家。
我喜欢几乎一切能通电的东西。小时候拆电脑和手机,经常拆完就装不回去;这几年又迷上电子产品维修和故障排查,认真想过要不要去 Apple Store 学修设备。到现在,我还是很喜欢看 艾奥科技 的维修视频。大概因为我一直觉得,把坏掉的东西一点点查清楚,再让它重新工作,是件很有意思的事。
英语是少数从大学一直坚持到现在的事。原本为了留学去考雅思,计划后来被疫情打断,英语却留了下来,变成我读文档、找资料和认识外面世界的一条路。我也喜欢摄影,理论多少懂一点,拍出来还是经常被老婆嫌弃,这件事目前没有因为懂得更多而明显改善。
yizhe.me 对我来说更像一本一直打开着的工作与生活日志。这里会有做成的工具,也会有没想明白的问题;有 AI、软件和维修,也有普通日子。过几年再回来看,希望还能认出当时那个在认真折腾的人。
外部视角
Codex 眼中的我
以下文字由 OpenAI Codex 撰写,依据本机保存的历史会话,覆盖多个项目和一段时间内的真实协作;没有参考下方 Claude 的判断。
- 01
答案必须和事实对得上
你会继续问:具体是哪条记录、哪个人失败、数据写进了哪张表、线上到底有没有生效。一次排查若只在代码逻辑上说得通,你不会就此停下。你需要看到真实日志、真实数据和真实结果,才肯把结论写下来。
- 02
你对模糊没耐心,对难题很有耐心
「差不多」「理论上应该」很难让你满意,所以反馈常常直接。可一旦问题值得解决,你愿意沿着采集、写入、读取和展示一路查到底,也愿意为了一个几像素的差异反复试。事情难并不太会劝退你;悬着、没人说清楚,才会让你着急。
- 03
你记得系统另一端是一个具体的人
查批次失败,你追问失败的到底是谁;处理用户反馈,你要日志、定位问题、安排版本,也会想怎样回复才不显得官方或敷衍。代码、发布、支持和补偿在你这里属于同一件事,因为最后收到结果的是一个真实的人。
- 04
你挑剔,但不维护自己判断的面子
你会对交互细节给出非常具体的意见,也会在方案走偏时马上叫停。一次 iOS 自定义弹窗丢了原生毛玻璃和点击行为,你很快选择退回系统 popover。效果比原先设想更重要,已经投入多少轮也不会成为继续错下去的理由。
- 05
你给 AI 很大信任,也保留最后的否决权
你会把真实仓库、生产排查和长链路任务交给 Agent,让它直接动手;同时逐项检查结果,发现问题就明确指出。AI 在你这里是一个必须拿结果说话的合作者,高信任和高标准同时存在。
- 06
你常常是一边做,一边成为
从英语、摄影、电子维修,到第一个 Swift 项目、管服务器、研究 Agent,你经常从「这个到底怎么回事」开始。很多能力都是在开始之后,跟着真实问题一路补齐的。你承认不会,也不把不会当成长期边界。
Codex · 基于 Ethan 的历史协作记录
外部视角
Claude 眼中的我
以下文字来自 Anthropic Claude 对共同项目的观察,重复和过度绝对的部分已经过整理。
- 01
先把会长期存在的东西想清楚
你经常在动手前确认哪些约束不能破、哪些部分可以继续变化。appstoreprice 把大型重构前的 invariants 写进协作规则,多个项目也会先划清数据和平台边界。你会为下一次修改留路,不只照顾眼前这次交付。
- 02
工具该有多大,取决于问题本身
claude-bar 用约 250 行 jq 和 awk 解决问题,没有为了技术栈增加依赖。另一些产品需要 Cloudflare、SwiftData 或完整部署链路时,你也会接受复杂度。你会克制没有必要的技术,不会为了显得现代而增加东西。
- 03
你愿意学习平台的语言
在 Apple 生态里,你会先调系统组件、理解原生交互,再考虑自定义实现。Pinlist 和 PowerFlow 的选择都说明,你在意软件是否像这个平台本来就该有的样子。
- 04
细节要能说出具体原因
一个导航波浪线能迭代很多轮,因为你看到的是点击前后形状不一致;一个弹窗让你不满意,原因会落到圆角、间距、层级、点击和材质。你的挑剔通常带着可观察的信号,所以它可以被讨论,也可以被验证。
- 05
重复出现的摩擦,最后会变成工具
独立 Chrome、Token 统计、CLI 切换和服务器入口,都来自日常工作里反复出现的小麻烦。只要摩擦持续存在,你很容易从使用者变成实现者,做一个自己先用起来的版本。
- 06
文档是留给未来的上下文
你会记录架构、数据流、命名、发布和操作边界,也会要求协作工具遵循这些规则。这些材料让人几个月后还能重新接上,不是为了装点项目。
Claude · 基于与 Ethan 共同完成的项目