失败记录能不能成为产品的一部分?
整理 GitHub README 时,我发现一个有点尴尬的现象:项目做得越久,README 反而越像项目刚开始时写的。 它会告诉别人项目有什么功…
文章归档
这里把文章按分类、主题与时间收拢起来,方便后续持续写,也方便之后回头找。
高频主题
2026
16 篇整理 GitHub README 时,我发现一个有点尴尬的现象:项目做得越久,README 反而越像项目刚开始时写的。 它会告诉别人项目有什么功…
我这段时间做 AI 应用,一个很明显的感受是:现在大部分产品都很容易做出“它好像很聪明”的瞬间,但很难做出“我愿意一直用它”的稳定体验。 这两件…
以前做普通后端接口时,我当然也知道日志重要,但说实话,很多时候只是把它当成一个基础配置。 能查报错、能看到请求链路、线上出问题能定位,大概也就这…
如果只看表面,Agent 项目最吸引人的部分通常是模型。 比如用了哪个模型,推理能力怎么样,能不能自己规划,多轮执行是不是顺滑。这些当然重要,但…
刚开始做 AI 助手的时候,我对“记忆”这件事的理解其实挺简单的:把用户以前说过的话存下来,后面需要的时候再拿出来,不就行了吗? 后来我越来越觉…
有些东西你平时觉得自己会了,但一进面试就知道,其实没那么会。 我对“项目深挖”这件事的理解,挺大一部分就是在一面之后被重新拧过来的。 因为在自己…
我一开始接触 Function Calling 的时候,确实有一种“这下 Agent 终于能干活了”的感觉。 因为以前模型再会说,很多时候也只是…
如果是前一阵子的我,别人问我以后想做什么,我大概率会直接回答:后端。 这个选择没什么奇怪的。我的很多项目积累、学习路径、技术兴趣,最开始都更偏后…
我一开始做 Agent,想法其实挺朴素的:让模型会调工具,然后多调几次,任务不就做完了吗? 后来做了 AI Postman,再往后做 AIWor…
我做 Offer 决策工作台,是因为自己真的遇到过一种很难受的状态:信息很多,但没有一条足够确定。岗位描述写得很好,面试官聊的方向也不错,HR…
我最早接触 RAG 的时候,说实话是有点上头的。 原因很简单,太容易出效果了。拿一份文档,切 chunk,做 embedding,往向量库一扔,…
如果只是从功能角度看,定时任务系统好像没有那么多层。 无非就是任务创建、存储、扫描、触发、执行。但我后面做 xTimer 的时候越来越觉得,这类…
做定时任务平台的时候,我后面越来越觉得,真正能把这个项目讲出深度的,不是“我怎么定时”,而是“任务不稳定的时候,我怎么尽量把它拉回可控状态”。…
做普通 CRUD 时,我很少认真设计“等待”。请求发出去,按钮进入 loading,接口回来后更新页面,最多几秒钟。 做 AI 工作流后,等待突…
做 xTimer 的时候,Redis ZSet 基本是绕不过去的一个点。 因为只要你在做延迟任务或者定时触发,就很容易想到它:score 存时间…
以前我会觉得,项目做完差不多也就结束了。 代码能跑,功能做了,简历上能写,面试里也大概能讲,这件事看起来已经闭环。但我后面慢慢发现,很多项目真正…
2025
8 篇xTimer 这个项目,刚开始在我脑子里其实没有那么复杂。 最初的想法很简单:业务需要定时执行任务,那我做一个统一的平台,把任务创建、调度、触发…
这个问题其实很适合面试里被问。 因为只要你项目里自己做了调度平台,面试官大概率都会追一句:为什么不直接用现成的,比如 XXL JOB? 我觉得这…
刚开始做项目的时候,我其实挺容易被“技术丰富度”吸引。 看到别人项目里有 Redis、有消息队列、有分布式锁、有 Elasticsearch,再…
我觉得求职里最消耗人的阶段,不一定是面试挂掉,而是投递之后一点反馈都没有。 因为面试挂了,至少你知道自己进过下一步,也知道大概该补哪。但投递无反…
做 AIWorkHelper 的记忆功能时,我最自然的想法是:记得越多,助手就越懂用户。于是问题很快变成了工程问题。消息怎么切片,哪些内容存 M…
如果只看结果,实习求职这件事很容易被说成几个关键词:刷题、八股、项目、投递。 但如果站在我自己的视角去看,这个过程其实远没有总结贴里写得那么线性…
这个问题我以前也经常问别人。 因为准备实习的时候,最怕的不是忙,而是不知道先忙什么。看到有人天天刷题,有人疯狂背八股,有人把项目改到半夜,就很容…
前段时间我读到 Ink & Switch 写的 [Local first software](https://www.inkandswitch.…