博客七周年:AI 一天完成整体重构
博客从 2019 年国庆用 Xiuno BBS 搭建,到 2026 年国庆整整七年。868 篇文章、53 条评论、6060 个代码块,这次与 AI Agent 结对,一天完成从 PHP 论坛到 Next.js 的整体重构与无损迁移。
资深 Android 开发工程师,丰富系统级应用经验,覆盖亿级用户设备,专注 AI Agent 工程化落地。白天在搞 AI 智能体,晚上回来折腾这个博客。以前的文章是从刚毕业一个字一个字敲的,现在嘛——我跟 AI 说一句话,它就写好发出来了。不信?看看最新的文章 🚀
博客从 2019 年国庆用 Xiuno BBS 搭建,到 2026 年国庆整整七年。868 篇文章、53 条评论、6060 个代码块,这次与 AI Agent 结对,一天完成从 PHP 论坛到 Next.js 的整体重构与无损迁移。

打开任何一家大模型厂商的价格页,计价单位既不是字也不是词,而是 token。上下文窗口 1M、速率限制、API 账单、Claude Code 一天烧掉的额度,全部以 token 结算。 Token 是大模型世界的三重度量衡:文本的切分单位、注意力的内存单位、账单的计价单位。 这三个角色是同一件事的三个侧面:模型只能看见 token 序列,注意力机制按 token 占用显存,厂商按 token 收钱…

做 LLM 应用的人大概率绕不开 LangChain 这个名字,但今天它早已不是一个库,而是一条产品线:LangChain、LangGraph、LangSmith 各管一段。第一次接触很容易被相似的名字搞混,甚至用错位——拿组件库硬扛复杂编排,或者把观测平台当库来装。 三者关系有个好记的类比:造一辆 agent 的话,LangChain 是零件目录,LangGraph 是底盘和传动系统,LangS…

大语言模型本质上只是一个"文本进、文本出"的函数:给它一段文字,它返回一段文字,仅此而已。它不能读文件、不能执行命令、甚至记不住上一轮对话。可它今天能改代码、查资料、连续完成几十步任务,靠的不是模型本身,而是模型外面套着的一整套系统——这套系统叫 harness。这个词的本义是马具:马有力量,但光有马拉不了车,得有一套把马力牵引到车上的挽具。 模型是马,harness 就是挽具。本文先讲清 har…
《TypeScript Agent 开发(Mastra)》写到第 14 篇/post/1561,收官。前 13 篇从脚手架一路讲到数据分析实战,每篇解决一个具体问题;但真到立项选栈时,没人会按系列顺序重读 13 篇——你…
上一篇把 Agent 长进了 Next.js:一个仓库、一次部署、类型从 schema 穿到浏览器。零件至此备齐,收官实战把它们拼成一台完整的机器:数据分析 Agent。它的需求规格书不在本系列手里——《AI Agent…
上一篇把 Mastra 打成 Docker 镜像送进了生产。但很多场景里,Agent 只是 Web 产品的一个能力位——智能搜索、客服入口、摘要生成——为它单独立服务、立域名、立 CI,成本全在胶水上。这一篇讲 Mast…
前 10 篇的 Agent 都活在 mastra dev 里:改代码热重载,Studio 里点一点就能验证。可 Agent 迟早要见真实用户——挂到公网、接上前端、扛住流量,这一步在框架教程里往往是空白。Python 版…
RAG 的方法论,《AI Agent 开发》系列 14~18 篇已经用 Python 栈讲透了:从 Chroma 向量库起步,经切分、嵌入、混合检索,到第 17 篇的 Agentic RAG 与第 18 篇的 Graph…
前八篇里你已经用 Mastra 把 Agent、工具、工作流、记忆、MCP、评测各写了一遍;《AI Agent 开发》系列第 6~13 篇里,同一批任务你在 Python 栈用 LangGraph 也深潜过。两边都用过之…
第 2 篇/post/1637搭环境时,我们在 pnpm dev 起的本地工作台里初见过 4111 端口:左侧选 Agent、右侧聊天、每轮回答带一条 Trace,当时只当它是"能看日志的聊天窗"。这篇把它正儿八经当调试…
《评测驱动开发(EDD)》系列用 14 篇把评测从"感觉"做成了"工程":数据集、断言、judge、轨迹、CI 门禁、线上监控,一层层砌完整条流水线。换到 TypeScript 阵营自然会问——Mastra 作为 TS …
前五篇把 Mastra 单 Agent 的模型接入、Zod 工具、结构化输出与记忆线程陆续跑通,Agent 已经能在自己进程里干活。但真实世界的 Agent 迟早要连外部系统:查维基百科、读本地文件、查生产数据库。MCP…
Agent 没有记忆是什么体验,写过两个 demo 的人都领教过:上一句刚说完"我喜欢蓝色",下一轮问"我喜欢什么颜色",它一脸真诚地反问你。会话状态是 Agent 从玩具走向产品的第一道坎——《AI Agent 开发》…
前三篇把单个 Agent 和工具跑通了:模型拿着一套工具,自己决定下一步做什么。但生产里另一类任务恰恰相反——步骤顺序是人定的,每步何时执行、失败了怎么办、中间要不要停下来等真人审批,都得写死在代码里。这类确定性流程就是…
上一篇把第一个 Agent 跑了起来:一个无参的时间工具、一句 instructions,模型自己决定了何时调用。工具跑通之后,值得停下来把"工具"这件事讲透——在 Mastra 里,Zod schema 是整个工具体系…
上一篇《Mastra 全景》说过:Mastra 是 TypeScript 优先的 Agent 框架,把工具、工作流、记忆和本地调试台打包成一套工程化方案。这一篇开始动手,目标很具体——从零搭好环境,写出第一个会自己决定“…
前四个系列——Agent 开发、上下文工程、EDD、本地部署——全部泡在 Python 生态里:LangGraph、LlamaIndex、Ollama,工具链用得很顺手。但这个系列要换枪了:TypeScript + Ma…

读历史书时最难建立的是时空感:长平之战到底发生在今天哪里,苏轼贬谪的黄州在地图什么位置,长安两千多年里换过多少名字——这些问题靠翻纸质地图集回答,效率极低。开源项目 jiangshanmap(江山时序)https://d…

nRF Connect for Mobile 详解:Nordic 的蓝牙低功耗开发利器做蓝牙低功耗(BLE)开发,手上必须有一把"瑞士军刀":既能扫描周围的 BLE 设备、看广播包细节,又能连上去读写 GATT 特征、升级固件。nRF Connect for Mobile 就是 Nordic Semiconductor(nRF 芯片厂商)出品的这把刀——Android 平台上最常用的 BLE 调试