- 发布于
2026-第二十四周
- 作者

- 姓名
- AgedCoffee
- @__middle__child
该周报主要为各个地方内容的汇总整理
技术
Loop Engineering
Loop Engineering(循环工程)是一种新的 AI 编程范式,核心是设计自动化系统来替代人工直接提示编码代理。它包含五个构建模块(自动化、工作树、技能、插件/连接器、子代理)外加持久化记忆。这种模式能显著提升效率,但目前仍存在 token 成本高昂、质量验证困难等挑战。
- 🤖 循环工程的核心概念:设计一个递归系统,让 AI 代理自主迭代完成目标,而非人工逐轮提示。关键人物指出:“我不再提示 Claude,而是设计循环来提示它。”
- 🧩 五个关键构建模块:自动化(定时执行发现与分类)、工作树(隔离并行代理的工作区)、技能(固化项目知识避免重复解释)、插件与连接器(连接现有工具,基于 MCP 协议)、子代理(分离“编写者”与“检查者”角色)。
- 💾 第六项:持久化记忆:使用 Markdown 文件或 Linear 看板等外部存储,记录已完成和待办事项。因为模型会在运行间遗忘,而仓库不会。
- ⚙️ 自动化机制:Codex 用自动化标签页设置定时任务(如每日问题分类、CI 失败总结),Claude Code 用
/loop命令、cron 任务和 hooks 实现类似功能。/goal则持续执行直到条件满足。 - 🌳 工作树的价值:Git worktree 让多个代理并行编辑时不会文件冲突。Codex 内置支持,Claude Code 通过
--worktree标志实现。但人工审核带宽仍是瓶颈。 - 📚 技能(Skills)的作用:将项目约定、构建步骤等写在 SKILL.md 中,代理每次运行都能读取,避免从零推导。技能是“意图”的固化,让循环累积迭代效果而非重复。
- 🔌 连接器与插件:基于 MCP,让代理访问问题追踪器、数据库、Slack 等真实环境。插件打包技能和连接器,方便团队共享配置。
- 👥 子代理的“写 - 查分离”:避免编码代理自评作业的偏差。Codex 用 TOML 定义不同角色的子代理(如安全审查用强模型),Claude Code 类似。
/goal内部也用独立模型检查完成条件。 - 🔄 典型工作流示例:每日自动化运行→技能读取 CI 失败/问题→工作树开分支→子代理修复→另一代理审查→连接器开 PR/更新工单→未处理项进入待办箱。设计一次,无需每步提示。
- ⚠️ 三大风险:验证仍靠人工(错误无人监控)、理解能力会退化(快速输出导致知识鸿沟)、舒适区陷阱(停止思考,接受一切输出)。循环只是工具,结果取决于使用者的判断力。
- 💰 Token 成本警告:循环模式会导致 token 消耗飙升(“数百个币几天用完”)。Token 成本限制其普及性,无限制 token 时才能充分使用。
- 🧠 平衡之道:直接提示代理仍有效。循环不是替代,而是寻找平衡点。同样循环,深入理解的工程师加速进步,逃避思考的则陷入更深的坑。
- 🔍 关键问题:“完成”的定义是最大难点。没有清晰验证标准,循环会无限迭代或产生偏差。循环设计比提示工程更难,因为杠杆点从“如何问”转移到了“如何设计系统”。
我是怎样使用 AI 构建 E2E 测试体系的?
本文介绍了 TinyShip 这个支持多框架(Next.js、Nuxt.js、TanStack Start)和多数据库(PostgreSQL、SQLite)的 monorepo 项目,在 AI Coding 时代如何建立高效的 E2E 测试与开发流程。核心思路是通过五阶段流程(Spec → Code → Verify → Test → Green)确保新功能开发的质量和回归安全,同时利用 AI 工具减轻测试负担。
- 📦 多框架多数据库带来高复杂度挑战
TinyShip 支持 3 个前端框架和 2 种数据库,每改一个功能就有 6 种组合可能出问题,手动测试工作量难以估算,必须依赖自动化测试。 - 🧪 E2E 测试是产品基石
在 AI 时代代码迭代速度极快,E2E 测试能 100% 覆盖核心用户流程,确保每次改动不会破坏现有功能,两天时间借助 AI 就能完成测试编写。 - 📝 五阶段开发流程
Spec(定义验收标准)→ Code(实现功能)→ Verify(视觉确认)→ Test(写 E2E 测试)→ Green(全部通过),顺序不可颠倒,先想清楚测什么再写代码。 - 👀 用 agent-browser 进行视觉预演
在写 Playwright 测试前先用 agent-browser 走一遍,它基于 Accessibility Tree,节省 80% 以上的 Token,能快速获取可靠的元素引用,避免脆性选择器问题。 - 🧩 Playwright 测试在 UI 成型后写
E2E 测试依赖真实 DOM 结构,无法在写代码前完成,因此采用 BDD 思维先定验收标准,等页面渲染出具体选择器后再编写测试代码。 - ✅ Green 阶段需跑通 6 种组合
依次在 Next.js、Nuxt.js、TanStack Start 三个框架下运行测试,再切换 PostgreSQL 和 SQLite 数据库,全部通过才算功能完成,切换由 AI 自动完成。 - 🚫 E2E 测试不在 CI 上运行
CI 只做 typecheck 和 build,因为全量 E2E 耗时 30 分钟以上,且依赖众多环境变量(如 Stripe CLI),CI 快速反馈的类型和编译检查与 E2E 的交互验证目标不同。 - 📋 三种情况跑 E2E 测试
做完一个功能只跑相关 spec 文件;发版前跑全部 spec 且三个 app 都跑;大重构时也跑全部 spec;小修小补只跑 typecheck+build 即可。
工具
NodeAV
NodeAV 是一个原生 Node.js 的 FFmpeg 绑定库,提供完整的 TypeScript 支持,包括类型安全的编解码器、格式、滤镜和比特流滤镜选项,并支持硬件加速和自动资源管理。
- 🎯 核心特性:提供低层和高层 API,支持硬件加速、流处理、设备捕获和 FFmpeg 二进制访问
- 📦 安装与使用:通过 npm 安装,支持多种导入方式(api/lib/constants/layouts)以实现最佳 tree shaking
- 🚀 性能表现:与 FFmpeg CLI 性能相当,在 H.264/H.265 转码中差异极小,内存使用更优
- 🛠️ API 层级:低层 API 提供直接 C 绑定,高层 API 简化常见任务,Pipeline API 支持链式处理
- 💻 平台支持:提供 Windows、Linux、macOS 的预编译二进制,支持 Electron 应用
- 📹 高级功能:支持 Whisper 语音识别、复杂滤镜链、浏览器流式传输、RTSP 双向通信和图像缩放
- 🔄 资源管理:使用 Disposable 模式自动清理资源,支持同步和异步操作
- 🎨 类型安全:所有 FFmpeg 选项都经过类型化,支持自动补全和编译时验证
Maizzle / 现代电子邮件开发框架
Maizzle 是一个现代化的电子邮件开发框架,支持 Vue 和 Tailwind CSS,提供高效的开发、预览和构建流程。
- 🚀 快速入门:通过
npx maizzle new命令即可创建新项目,简化电子邮件开发流程。 - 🧩 组件化构建:提供丰富的可复用组件(如布局、按钮、图片等),并经过邮件客户端兼容性测试。
- 🎨 Tailwind CSS 集成:将 Tailwind CSS 作为一等公民,针对邮件客户端进行优化,实现快速样式开发。
- 👁️ 实时预览:内置开发界面,支持实时预览、设备尺寸调整、调试工具和命令面板。
- 🔧 灵活工作流:可集成到现有 Vite 项目,或作为独立工具使用,支持命令行和库调用。
- 📤 任意平台部署:编译为纯 HTML,兼容任何邮件服务提供商,适用于各类企业邮件构建。
- 🛍️ 扩展功能:提供 Mailviews 模板库,包含高质量的生产级邮件模板和组件,一次性购买永久使用。
GitHub - honojs/cli: 面向人类与 AI 的 Hono 命令行工具 · GitHub
Hono CLI 是一个专为人类和 AI 设计的命令行工具,提供针对 Hono 框架的专用子命令,支持文档搜索、请求测试、服务器启动和代码优化等功能。
- 📚 文档查阅:使用
hono docs [path]直接在终端查看 Hono 文档,支持指定路径如/docs/api/context - 🔍 智能搜索:通过
hono search <query>进行模糊搜索,支持--pretty友好输出和--limit限制结果数 - 🚀 请求测试:
hono request [file]无需启动服务器即可测试应用,支持 GET/POST、自定义头、JSON 输出和文件写入 - 🌐 快速启动:
hono serve [entry]启动 Hono 应用服务器,支持端口设置、路由展示和中间件加载 - ⚡ 代码优化:
hono optimize自动移除未使用的请求体/响应/Hono API,支持 minify 和 target 设置,减少打包体积 - 🤖 AI 集成:专为 AI 代码代理设计,可在 CLAUDE.md 中配置工作流:搜索文档 → 阅读详情 → 测试实现
- 🔧 管道兼容:
search命令默认输出 JSON,可配合jq等工具实现自动化流水线 - 📦 安装简单:通过
npm install -g @hono/cli全局安装,支持 TypeScript/JSX 语法
GitHub - xdevplatform/xdk-typescript: XDK 自动生成代码的 TypeScript 仓库。
xdk-typescript 是一个功能全面的 TypeScript SDK,专为 X API(原 Twitter API)设计,支持多种认证方式、智能分页、实时流式数据处理和完整的类型安全。
- 🔐 多认证支持:提供 OAuth1.0a、OAuth2.0 用户上下文和 Bearer Token 应用认证,满足不同场景需求。
- 🔄 智能分页:自动分页并支持异步迭代,可手动控制页面获取,方便处理大量数据。
- 📡 实时流式处理:支持事件驱动流式连接,具备自动重连和错误处理功能,适合实时数据监控。
- 📚 完整类型安全:所有端点和参数均有 TypeScript 定义,无需额外类型包,提升开发效率。
- 🎯 全面 API 覆盖:支持用户、帖子、列表、书签、社区等 X 平台核心功能。
- 📱 多平台兼容:可在 Node.js、浏览器和 React Native 中直接运行,无需额外 polyfill。
- ⚡ 快速上手:提供简洁的客户端配置和示例代码,支持环境变量管理敏感凭证。
- 🛠️ 错误与速率限制处理:分页和流式操作中内置错误捕获和速率限制检测,便于调试和恢复。
更新
React Router v8.0.0 预发布版
React Router v8.0.0 预发布版已推出,这是首个采用开放治理模型的重大版本。它提高了最低支持版本,移除或调整了多项未来特性标志,并进行了全面现代化改造。
- 🎯 新治理与发布节奏:采用开放治理模型,计划每年发布一个主要版本,与 Node.js LTS 生命周期对齐。
- ⏫ 最低版本要求提升:Node 22.22.0+、React 19.2.6+、Vite 7+,并转为纯 ESM 模块。
- 🚩 未来标志默认启用:移除了
v8_trailingSlashAwareDataRequests、v8_middleware等标志,其行为现为默认。 - 🗑️ 移除
react-router-dom:该包已被移除,所有导入需切换至react-router和react-router/dom。 - 🔄 路由模块拆分:
future.v8_splitRouteModules移至顶层配置splitRouteModules,并默认启用。 - ⚙️ 核心依赖升级:更新了
cookie、set-cookie-parser、express、@babel等多项依赖。 - 🛠️ 构建工具迁移:从
tsup迁移至tsdown,并升级至 TypeScript 6。 - 🐛 错误处理优化:确保客户端中间件错误能正确触发懒加载路由的错误边界。
TanStack Table V9:成型 | TanStack 博客
TanStack Table V9 Beta 正式发布,带来多项重大改进,包括全新的状态管理系统、更好的性能和更灵活的扩展性。
- 🎉 V9 Beta 发布:经过长时间开发,TanStack Table V9 Beta 版本终于发布,解决了 V8 中的多个核心问题。
- 🔧 状态管理革新:采用 TanStack Store 作为底层状态管理,支持原子状态和选择器订阅,兼容 React Compiler 并提升性能。
- ⚡ 性能与内存优化:通过共享原型、减少不必要分配和优化记忆化,大幅降低大型虚拟化表格的内存和 CPU 使用。
- 📦 可摇树优化:功能模块化设计,按需导入特性(如排序、分页),减少打包体积,同时保持类型安全。
- 🧩 自定义扩展:提供清晰的功能扩展模型,允许开发者创建自定义特性,与内置特性使用相同 API。
- 🔄 可复用表格代码:新增
createTableHook和tableOptions,便于跨项目共享表格配置、组件和默认选项。 - 🛠️ 全新开发者工具:集成真实 Devtools 面板,支持表格状态、派生数据实时检查,且开发环境默认不打包到生产。
- 📚 迁移与文档:提供 V8 到 V9 的完整迁移指南,并重写文档,包含多个框架的 Kitchen Sink 示例。
其他
薪酬区间与晋升——菲利普·苏
本文探讨了薪资增长与职业晋升的关系,强调中期职业生涯的薪资远超早期,并指出专注于技能提升比追求快速晋升更能带来长期高回报。
- 💰 中期薪资主导:职业生涯中期(如 40 岁)的薪资远高于早期(如 20 岁),优化中期薪资比纠结初期 offer 更重要。
- 📈 薪资增长呈几何级:公司通常按固定百分比加薪,导致薪资随时间呈几何增长,而非线性。
- 🏆 超额表现优于快速晋升:在同一级别持续超额完成任务,往往比快速晋升但仅达标的人赚得更多,并获得更多优质机会。
- ⚖️ 薪资区间重叠:不同职级的薪资范围有大量重叠,优秀低级别员工可能比平庸高级别员工收入更高。
- 🚀 技能积累是核心:选择能最大化技能成长的岗位,而非单纯追求高薪;薪资是稀缺且有价值技能的自然结果。
- 🎯 晋升时机需谨慎:在准备好胜任新级别后再晋升,可避免“勉强达标”的困境,并维持“超额交付”的良性循环。
- 📉 薪资增长不均衡:薪资变化呈“间断平衡”状态,可能有多年停滞或降薪(如加入初创公司),但长期趋势向上。
快速优于缓慢
本文强调“快”是优秀程序员的核心特质,并提供了具体方法帮助提升工作效率,同时避免陷入“忙碌文化”。
- ⚡ 快就是好:快速行动能更快获取数据、加速学习,并尝试多种方案,从而做出更优决策。
- ⏰ 不要拖延:遇到问题立即行动,避免因习惯性推迟而浪费机会,克服开始时的困难。
- 🧩 利用碎片时间:即使只有零散时间,也能高效完成任务,不必依赖长时间连续工作。
- 🤷 不怕丢脸:尽早分享工作成果(如 PR),接受 70% 满意即可发布的原则,勇于提问和接受反馈。
- 🎯 选对战场:在协作中避免无谓争论,对次要问题快速妥协,保留精力处理关键事项。
- 📋 只做必要的事:按最低要求完成任务,避免过度发挥导致错误猜测,从而提升效率。
论中年职业(不)满意度 - 作者:Shreyas Doshi
中年职业满意度与你的领英档案光鲜程度关系不大,更多取决于你应对职业嫉妒的能力。
- 📉 职业满意度与领英档案无关:许多表面上“成功”的人因无法有效应对职业嫉妒而感到不满甚至悲伤,尤其在旧金山湾区更为普遍。
- 👨💼 影响所有层级:这个问题不仅影响经理和高管,初创公司创始人和 CEO 也同样容易受影响,且随着 AI 公司两极分化加剧而恶化。
- 🔄 有用策略:暂时离开领英是应对职业嫉妒的有效方法。
- 📊 他人评判标准:人们往往根据头衔、金钱和职权范围来评判你的职业,而忽略你的能力、工作心流、文化契合度、工作生活平衡以及周日晚上的感受。
- 💡 选择陷阱:许多雄心勃勃的人根据头衔/金钱/职权范围选择下一份工作,这些因素在入职第一天后就不再带来快乐,因为人们会将其视为理所当然。
- 😊 真正快乐来源:入职后真正让你快乐的是能力、心流、文化契合度等内在因素,而非外在评判标准。
- ⚠️ 身份陷阱:将职业身份建立在外在标准上等于与魔鬼做交易,许多人在未深思熟虑的情况下做出这个选择。
- 🧭 职业哲学:没有适合所有人的职业路径,但有一条哲学适用:在构建职业时,你必须先了解自己,因为你是自己职业的用户。
- 🎭 出路:一旦达到一定的安全感和能力水平,你的职业不是为观众表演。真正的观众是你自己和依赖你的人,所以请为这个真正的观众表演。