Pi 背后的设计哲学:克制不是忍住不加,而是让功能有地方去

Posted on 三 19 8月 2026 in Tech • Tagged with journal, agent, architecture, typescript, coding-agent, design, sdk

Pi 的 README 里有一节 Philosophy,通篇是"不做什么":不做 MCP、不做 sub-agent、不做权限弹窗、不做 plan mode、不做内置 todo。但把仓库翻一遍会发现,这些被拒绝的功能全都以示例扩展的形式躺在 examples/ 目录里。这篇结合代码和数据讲清一件事:Pi 的克制不是靠作者意志力,是靠三个支点撑住的——按 token 而不是按行数度量"最小"、用扩展点给需求留泄压阀、以及一套敢说不的治理。文末给一个把 Pi 当 Agent 引擎嵌入自己项目的完整实例:代码库合规巡检 agent,含只读工具收敛、自定义工具落库、事件流审计。


Continue reading

AI 让人更聪明还是更笨:分水岭在“生成的那一步”

Posted on 三 19 8月 2026 in AI • Tagged with journal, AI, learning, critical-thinking, feynman, engineering

AI 既让学习成本大跌,也在实验里测出了能力退化,这两件事同时为真。差别不在用不用 AI,而在“生成答案的那一步”发生在谁的脑子里。文中列了会变笨的六种做法、会变聪明的六种做法,三条不靠感觉的自测线(费曼测试、挑毛病测试、一个月回测),以及一个反问:AI 做的我都得懂吗?答案是不必——荀子说“假舟楫者,非能水也”,关键是把活分成必须会做、必须能判断、可以不懂三层,判据是“错了会怎样”。


Continue reading

TypeScript 凭什么成了 AI 时代的新宠:一个不写 TS 的老程序员的读码笔记

Posted on 一 17 8月 2026 in Tech • Tagged with journal, typescript, AI, agent, claude-code, opencode, codex, node

OpenCode 把 Go 写的 TUI 换成了 TypeScript,同一年 OpenAI 把 Codex CLI 从 TypeScript 换成了 Rust——两个团队方向正好相反。我的判断是:TS 赢的是 Agent 与工具这一层,Python 在模型层一寸没让。这篇结合 OpenCode 源码讲清四条真实原因、TS 的四个失分点,以及给老程序员的一条学习路径和一份实测过的陷阱清单。


Continue reading

为什么 AI 写的文档废话那么多

Posted on 六 15 8月 2026 in AI • Tagged with journal, writing, AI, prompt

AI 写文档没有消灭废话,只是把成本从作者转移给了读者,还要乘上一个 N。啰嗦的根源有三层:训练时被人类的评审偏好教会的、心里没底时用字数掩饰、以及它压根没有“删”这个动作。治它最省力的一招,是我读 RFC 时留下的那份 What/Why/How/Example 模板——章节固定,配额写死,空白处会暴露问题。


Continue reading

别让 AI 只会说“你是对的”:我们需要诤友,不需要“好好先生”

Posted on 六 15 8月 2026 in AI • Tagged with journal, AI, critical-thinking

AI 最危险的时刻,不一定是一本正经地胡说八道,而是顺着我们的预设,把一个未经检验的猜测润色成完整结论。与其让 AI 做一个百依百顺的助手,不如把它调成敢于指出漏洞的诤友。


Continue reading

为什么职场年龄歧视愈演愈烈

Posted on 六 15 8月 2026 in Journal • Tagged with journal, career, hiring, management

一百多年前厄尔曼用六个内心指标判断一个人老没老,我们的招聘系统只用一个出生年份,而那个数字出自 1994 年一份公务员招录文件。歧视加剧的主因是结构:薪资斜率、组织形状、经验折旧速度同时在变。这是我两年前《大龄程序员尚能饭否》的续篇,写给两边——招聘方为什么筛年龄是亏本买卖,求职者怎么把年头翻译成对方算得清的东西。


Continue reading

nslookup 与 dig 的区别,以及一次代理引起的证书校验失败

Posted on 六 15 8月 2026 in Tech • Tagged with dns, dig, nslookup, tls, openssl, https, proxy, mitm, 排查, 网络, skill

nslookup 回答"这个域名解析成什么",dig 回答"这个答案是谁给的、凭什么"。本文先讲清两者的分工,再用一段可复制粘贴的脚本,在本机复现"公司代理劫持 HTTPS 导致证书校验失败",然后按 openssl 看证书、dig 看解析的顺序把凶手指出来,最后给一份排查清单,并把这套方法收成了 AI skill lazy-tls-doctor。


Continue reading

一个时代的背影:写在朱镕基总理逝世之际

Posted on 四 13 8月 2026 in Journal • Tagged with journal, reflection, history

昨天听到朱镕基总理去世的消息,享年97岁。我心里最敬仰的当代政治家,没有之一。世纪之交那几年,我从一个一脸青春痘、满心迷茫的国企秘书,靠着自学电脑一步步转成程序员,正好赶上他主持的那一轮改革。今天写点文字,纪念这位工程师出身的老人,也纪念那个心里有一团火的年代。


Continue reading

永远不要失去好奇心

Posted on 一 10 8月 2026 in Journal • Tagged with journal, curiosity, career, growth

人到中年,健康、爱、好奇心是我最不想丢的三样。这几年我发现好奇心在悄悄流失——不是没了兴趣,而是对不确定的未来失去了好奇。这篇写给同样在犯懒的自己:好奇心不是天赋,是可以重新点着的火,附一份重燃好奇心、再做点新东西的行动清单。


Continue reading

如何管理 AI Agent 的记忆之三:让 mem0 给 AI Agent 装一层"通用记忆"

Posted on 六 08 8月 2026 in AI • Tagged with journal, AI, agent, memory, mem0, claude-code, codex, opencode, MCP, RAG

前两篇我自己用 pgvector 手搓了一套 Agent 记忆系统,也讲了怎么让 Claude Code、Codex、OpenCode 共享它。这篇介绍一个 6 万多 star 的开源库 mem0——它把"打分、抽取、去重、多信号检索"这些活儿全帮你做了,还官方提供了三个编码工具的 skill 和 MCP 集成。附架构拆解、核心 API 用法,以及一行命令接进三个工具的实操。


Continue reading

如何解决角色爆炸问题:从 RBAC 到 ABAC

Posted on 六 08 8月 2026 in Tech • Tagged with authorization, rbac, abac, role-explosion, security, 授权, 访问控制, opa, casbin

一个密钥管理服务,给每个应用建一组角色,应用涨到上万个,角色也跟着破万——这就是典型的角色爆炸。本文用这个真实案例把 RBAC 和 ABAC 的区别讲透,说清角色爆炸的根源,一步步演示怎么把三万个角色塌回三个,并盘点 Kubernetes、AWS、GCP、Azure 的实践与 OPA、Cedar、Casbin 等成熟开源框架的选型。


Continue reading

如何管理 AI Agent 的记忆之二:让 Claude Code、Codex、OpenCode 共享同一份记忆

Posted on 五 07 8月 2026 in AI • Tagged with journal, AI, agent, memory, claude-code, codex, opencode, AGENTS.md, MCP

我同时用 Claude Code、Codex、OpenCode 写代码,结果发现自己在维护三份几乎一样的规则文件——改了这个忘了那个,三个工具越用越"精神分裂"。这篇给一套让它们共享同一份记忆的落地方案:静态规则用"单一事实源 + 符号链接",动态长期记忆用一个 MCP 记忆服务,附可直接抄的脚本和 checklist。


Continue reading

用奖惩治拖延:给自己列一张愿望清单和一张惩罚清单

Posted on 五 07 8月 2026 in Journal • Tagged with journal, methodology, procrastination, habit

我这人有个恶习——不想做又不得不做的事,能拖就拖,拖到火烧眉毛才手忙脚乱地上。这篇先把拖延症的底细摸清:它有多普遍、为什么番茄钟和"吃青蛙"这些常规招数常常失灵,再给出我的解法——用点心理学,列一张愿望清单当胡萝卜、一张惩罚清单当大棒,给"未来的我"和"现在的我"签一份合约,附可以直接照抄的模板,最后聊聊怎么让 AI Agent 当"陪跑教练"帮你降门槛、盯打卡、做复盘。


Continue reading

如何管理 AI Agent 的记忆之一:既记得牢、想得起,又不烧钱

Posted on 五 07 8月 2026 in AI • Tagged with journal, AI, agent, memory, LLM, RAG, architecture

生产上的 AI Agent 大多不是死在模型不行,而是死在记忆管得烂:要么什么都记,Token 和存储一起爆炸;要么什么都记不住,用户说三遍它忘三遍。这篇讲清楚一套像人脑一样分层的记忆系统——工作记忆、情景记忆、语义记忆、程序记忆,以及写入、巩固、检索、遗忘的完整生命周期,最后给一套可落地的参考架构和 checklist。


Continue reading

用 AI 做好计划之三:配个不睡觉的监工

Posted on 四 06 8月 2026 in AI • Tagged with journal, planning, AI, PDCA, agent

前两篇讲了用 AI 做计划的心法和工具,但都有个漏洞:PDCA 是个环,却全靠人手动推着转,人一忙就停。这篇讲怎么用一个长期运行的 AI Agent 把 Check→Act→Plan 半环自动转起来——它不替你干活,它是个不睡觉的监工,盯进度、发提醒、起草方案,卡住了就喊人。


Continue reading

用 AI 做好计划之二:趁手的工具与 Skill

Posted on 四 06 8月 2026 in AI • Tagged with journal, planning, AI, PDCA, skill, tools

上一篇讲了用 AI 做计划的心法,这篇讲兵器:有哪些 AI 工具能落地 PDCA,通用工具怎么选,怎么把 PDCA 封装成你自己的 AI Skill——文末附一份可以直接抄的 Skill 模板和四段 Prompt。


Continue reading

用 AI 做好计划之一:把 PDCA 环转起来

Posted on 四 06 8月 2026 in AI • Tagged with journal, planning, AI, PDCA, method

凡事预则立,不预则废。可做计划往往费力不讨好,跟踪、纠偏更是耗时。这篇讲讲怎么把管理学、心理学里那些做计划的老经验,跟 AI 结合起来,让 AI 帮你把 PDCA 环转起来——你省下的时间,用来创新创造。


Continue reading

AI 助手拆机:OpenHuman 怎么做到"记得你、自己干、还不出网"

Posted on 三 05 8月 2026 in Tech • Tagged with ai-agent, rust, tauri, memory, orchestrator, mcp, teardown, architecture, openhuman

把 tinyhumansai 开源的 OpenHuman clone 下来读了一遍——一个纯 Rust 内核 + Tauri 桌面的开源 AI 助手。它把"AI 助手"拆成了三件事:一块会按时给自己喂料、压缩成"记忆树"的持久记忆大脑;一个跑在可恢复图(tinyagents)上的编排器,能把一群子代理当成一支舰队来指挥;外加一整套从语音、会议、工作流到加密的 agent 间通信的家当。真正让我放下的是它的取舍:复杂的 ML 全外包给开源 crate,内核只负责"对与错"的调度与安全,隐私开关一到 Rust 层就直接掐死出网。这篇按代码讲讲它这套"会折腾的剥洋葱式"架构,以及一个老后端能从中抄走的东西。


Continue reading

流程与人,到底谁更重要?先分清护栏、记忆和仪式

Posted on 三 05 8月 2026 in Journal • Tagged with journal, career, methodology, management, AI, process

“铁打的营盘流水的兵”和“英雄造时势”,这两句话在办公室里天天打架。我在国企、外企、私企都待过,兜了一圈的体会是:这道题的分界线不是行业,而是这块活的主要风险到底是“做错”还是“做不出来”。这篇给一个能上手的分类——护栏、记忆、仪式,解释为什么大企业的流程只会变多不会变少,一个改不了流程的普通人怎么用 AI 改掉自己和流程之间的那层界面,以及为什么“AI 替代人”只说对了一半:等、盯、催、填可以交出去,想、选、扛只能自己留着。


Continue reading

免费聊天室拆机:一个 WebRTC 项目如何在三次换栈后彻底"不养服务器"

Posted on 二 04 8月 2026 in Tech • Tagged with webrtc, cloudflare, serverless, durable-objects, teardown, architecture

拆 i365dev 开源的 free4chat——一个"开房间就能说话、不注册不存数据"的实时语音文字聊天室。真正让我感兴趣的不是功能,而是它为了"不养服务器"这个目标换了三次技术栈:Go+Pion、Elixir+Membrane,最后落到 Cloudflare 全托管(RealtimeKit + Workers + Durable Object)。这篇按代码讲清楚它现在的架构:Worker 只发一个短期 token,媒体走 WebRTC 数据面,两小时房间过期、三层反机器人,以及那个藏在 Durable Object 里的 AI 助手 Luna,还有它踩过的坑和留给自己的下一步。


Continue reading