Sep 27 2026
2021年4月,我女儿刚出生那会儿,我在闲鱼花了300块钱收了一块 TN3399v3 开发板。据卖家说是从报废的商用广告机上拆下来的。当时看中它主要是图便宜,而且板载资源很扎实。一晃5年多过去了,家里很多数码设备换了一茬又一茬,但这块板子一直默默在角落里当我的家庭主力 NAS 和媒体服务器。
要说这块板子这几年用下来有什么遗憾,那就是 Jellyfin 的硬件转码一直没搞定。只要遇到客户端不兼容触发转码,6个核心瞬间拉满到 100%,画面卡成幻灯片。查遍了全网资料,基本结论都是“RK3399 驱动老旧,MPP 不支持编解一体,放弃吧”。
前几天有点闲暇时间,看着这几年大语言模型越来越强,我想着不如死马当活马医,让 AI 帮我一起啃啃这块硬骨头。没想到经过几天的折腾、打补丁、写 Wrapper,竟然真的把这条链路给彻底打通了。实测4路 1080p 视频并发硬转码,CPU 负载不到 30%。
在如今电子硬件普遍大涨价的时代,感觉这块老开发板还能再战好多年。这里把完整的折腾过程、原理分析和落地方案严谨记录下来,供有同款老设备的小伙伴们参考。
Sep 7 2026
前言
最近在 Pingora 上把 ai_proxy 插件写完了。加上这个,pingsix 的插件数凑到了第 29 个。提交完代码看了一眼提交记录,突然意识到从 2017 年在前公司写第一个 Kong 的 Lua 认证插件开始,断断续续折腾网关这玩意儿,居然快十年了。
从早年小公司几十台机器的 SaaS,到后来在腾讯蓝鲸扛日均 3.5 亿请求的流量入口,再到现在用 Rust 和 Pingora 把这些东西从头重写一遍。这十年里,技术选型换了一轮又一轮,但回过头看,踩过的坑和底层的思考逻辑,倒是惊人地相似。
趁着最近刚把代码重构完,记录一下这十年里我做网关的一些经历和取舍。想看代码的可以直接去翻 pingsix。

Sep 3 2026
一晃到了 2026 年的 9 月初。
坐在珠海的办公室里,翻看着终端里的会话统计数据,才猛然发觉这大半年过得有多魔幻。如果在 2024 年底我刚开始折腾 Cursor 的时候,有人跟我说:“老朱,再过一年半,你自己基本上不用动手写代码了,一个人一个星期就能把一个分布式 PaaS 平台从零拉起来”,我大概率会觉得他在扯淡。
但翻开后台的数据,现实就是这么冷冰冰又热腾腾地摆在面前:从 6 月初到现在,仅仅 3 个月的时间,我本机加远程两台机器,跑了 1400 多个 Coding Agent 会话,消耗了超过 60 亿 的 Token。
这大半年里,我的主力工具从 Cursor 全面切到了 Pi,硬啃了无数国产模型的坑,把以前写得臃肿的 Agent 工作流砍到只剩骨架,甚至顺手做完了当年离开鹅厂时埋在心底的一个夙愿。
今天有些空闲,就按照惯例,絮絮叨叨地复盘一下这半年的折腾历程。
Jun 30 2026
我平时习惯通过 RSS 订阅 Hacker News,后来随着 Twitter 上线了默认翻译功能,我对直接阅读第一手英文资讯的需求越发强烈。然而现实很骨感:词汇量实在太低。因为现在机器翻译过于方便,我一般都是直接依赖浏览器翻译来看文章;有时候也会强迫自己不用全篇翻译,而是借助划词翻译来硬啃。
硬啃倒是能啃下来,但问题在于:读完了,生词该不认识还是不认识,英语水平并没有实质性的提升。
我觉得关键的痛点在于,我没有把这些在真实阅读场景中遇到的生词记录下来,也没有去反复背诵。所以我一直有个执念:做一个记录生词的工具。在划词翻译发现生词时,顺手把它记录下来,然后可以在手机上同步,随时随地利用碎片时间背单词。一旦这个“阅读发现 -> 记录 -> 间隔重复背诵”的数据飞轮转起来,我相信我的英语水平肯定会逐步提升。
不过,因为我自己一直是个偏后端的程序员,没怎么写过前端和 UI,这个计划就一直停留在脑海里,没有真正落地。
Jun 17 2026
我在之前写过一些关于AI Agent在开发流程中应用的经验,比如《打造适合自己的 AI Harness 工程:从开发流、E2E 测试到自动排障》。随着对AI Agent的深入实践,我发现人肉打Prompt的日子快要到头了,未来我们更多是设计一个系统,让系统来自动化地与Agent交互。最近我一直在研究 Loop Engineering,并尝试将它落地到我的日常工作中,特别是用 Pi Coding Agent 来实现自动化巡检和代码修复。
1. Loop Engineering 是什么,由哪些环境组成

以前,我们程序员和AI编码Agent的交互模式是这样的:我写一个Prompt,提供上下文,Agent返回结果,我再根据结果写下一个Prompt。Agent就像一个工具,始终在我手里。但现在这种模式正在被 Loop Engineering 所取代。
Loop Engineering 的核心思想是构建一个小型系统,让这个系统自己去发现工作、把工作交给Agent、检查Agent的产出、记录发生的一切,并自主决定下一步行动。我们只需要设计好这个系统一次,之后系统就会自动地与Agent交互。Addy Osmani 将其分解为六个部分:
- Automation (自动化): 触发器,在特定时间、事件或条件发生时启动循环。
- State file (状态文件): 记录循环的进度和历史,让Agent在每次运行时都能从上次中断的地方继续。
- Verifier (验证器): 自动化检查Agent产出的质量,判断工作是否完成或需要返工。
- Skill (技能): 封装项目特定的知识、规则和最佳实践,避免Agent重复学习上下文。
- Connector (连接器): 让Agent能与外部工具(如Git、Jira、Slack、监控系统)交互,使其能在真实环境中执行操作。
- Sub-agent (子Agent): 将复杂任务分解给多个Agent并行处理,通常会有一个“生成者”和一个“检查者”Agent,避免“自说自话”。