个人技术调研笔记仓库:每个系列都从真实开源项目的源码/实测出发。AI agent 相关在最上,后端系列在下、按时间倒序。
| 系列 | 一句话 | 篇数 |
|---|---|---|
| DeepSeek Harness 上手教程 | 从 harness 思想模型讲到自己写插件,Cordis 占 7 章,另附 130 个内置插件一插件一篇 | 29 + 130 |
| 五个 agent 系统源码解剖 | Pi / Codex / LangChain v1 逐维度对照,再补 Grok Build、DeepSeek Harness 两个样本,拆到源码行号 | 19 |
| agent 当前发展 | 上下文工程与记忆系统调研 | 2 |
| 经典场景与底层设施全解 | 12306、红包、撮合、派单……经典系统各拆一篇,再往下拆缓存、锁、Kafka、Raft 等底层设施,再往外拆交易下半场、内容治理与 B 端中台,小白版 | 43 |
| 流量扛不住了怎么办 | 流量超过消化能力时的六招,每篇先跑 demo 看数字 | 8 |
| 从真实项目学 PostgreSQL | 从生产项目的 SQL 一路挖到 Postgres 实现机制,实验可复现 | 14 |
| 秒杀系统源码拆解 | 逐行读 5 个开源秒杀/商城项目,star 之王反而会超卖 | 8 |
| 一分钱都不能丢:计费系统解剖 | 高并发扣款怎么做到不丢账不重账,16 章加 1 篇番外 | 17 |
DeepSeek 2026-08-13 开源的 agent harness dsh(v0.1.0-rc.5,commit 47f9438)的中文上手教程,从零到能改能扩。开篇先把 harness 思想模型和"把流程写死成节点与边"的框架式写法讲清楚,再用这个仓库自己的代码坐实:循环是启动树里一行 YAML,219 个包里运行期依赖循环实现的只有 2 个。底座 Cordis 单独占 7 章(05–11),waterfall 拦截机制单独一章。所有代码示例与配置字段都追溯到仓库真实出处并逐条对抗核验过。另设 内置插件参考/:默认启动树上 130 个内置插件(含 *-policy、*-reminder 这类拦截型"中间件")一插件一篇。
| # | 文档 | 一句话 |
|---|---|---|
| 28 | 自己写一个续跑插件 | 用 agent/turn-stopping + steer() 让 agent 别过早收工,与 25/26 三方对照 |
| 27 | Ralph Loop | 每轮换一个全新子 agent,只传不可变目标与结构化交接,工作区当长期记忆 |
| 26 | Goal 模式 | 同会话目标状态机与轮次驱动器,active 与 armed 是两回事 |
| 25 | 调试手册与常见坑 | 启动断言、pending services、patch 不生效的排障表 |
| 24 | 遥测与数据边界 | 什么会离开这台机器,给合规评估用的核对清单 |
| 23 | headless 与 SDK | 一次性跑、JSON-RPC、Python SDK、ACP、嵌进自己的程序 |
| 22 | 做一个 bundle 和 profile | 从单个插件到可分发的 bundle 与 profile |
| 21 | Code Mode | run_code 与 native / code / both 三态 |
| 20 | MCP 与其它扩展点 | "我想加 X 该注册到哪"总表;命令、后台任务、技能、定时、附件 |
| 19 | 子 agent 与 workflow | 委派、spawn 与 fork、工作流引擎 |
| 18 | 沙箱审批与权限 | 它管什么、更要紧的是它不管什么 |
| 17 | 压缩与长会话 | 压缩是日志上的一次区间 replace,不是重写历史 |
| 16 | 会话日志与分叉 | 只追加事件日志、deriveMessages() 投影、模型可见即已落日志 |
| 15 | 系统提示词与上下文装配 | prompt 是怎么拼出来的,怎么加一段、改一段 |
| 14 | hook 兼容层 | dsh 的 hook 到底是什么;直接跑你现有的 hooks.json |
| 13 | 工具执行管线 | 一次工具调用的六道关卡,每关怎么插手 |
| 12 | 写一个工具 | 模型能调用的工具怎么注册、返回什么、报错怎么写 |
| 11 | waterfall 专章 | 逐行读实现;不调 next() 连内置行为一起否掉 |
| 10 | 事件系统 | 五种派发模式怎么选,怎么声明一个新事件 |
| 09 | 插件配置与 Schema | 插件怎么读配置;!!js 惰性表达式与它被 patch 抹掉的坑 |
| 08 | effect 与生命周期 | 注册即 effect,卸载即回滚;热重载为什么可行 |
| 07 | Service | ctx.xxx 从哪来,依赖等不到时怎么读诊断 |
| 06 | 你的第一个插件 | 写一个插件并挂进 web profile 看到它加载 |
| 05 | Cordis 是什么 | 底座心智模型:Context 是 Proxy、fiber、registry、isolate |
| 04 | 接模型 | DeepSeek、其它厂商、OpenAI 兼容端点与凭据优先级 |
| 03 | 配置的四层结构 | bundle / profile patch / home patch / --patch,以及整体替换的坑 |
| 02 | 五分钟跑起来 | 跑起来、配 key、选 workspace、~/.dsh 里有什么 |
| 01 | 数据住在哪,循环靠什么转 | 一份只追加的日志是唯一真相,收件箱与模型历史都是它的投影;循环的进退只看队列长度 |
| 00 | harness 思想模型 | harness 与框架式写法的根本区别,用 dsh 自己的代码作证 |
2026-08-06 把 pi(v0.83.0)、codex(rust-v0.146.1)、langchain v1(1.3.14)三个仓库 clone 到本地逐维度对照读源码,不是使用教程是架构解剖。同日补入第四样本 grok-build(xAI 数据事故后开源,速览级调研);2026-08-14 再补第五样本 deepseek-harness(v0.1.0-rc.5,逐维度整章调研 + 逐条引用对抗核验)。17、18 两篇番外分别是这两个样本的总入口,01–15 各章末有对应小节,16 总表已扩五列。贯穿全书的主轴是「框架 vs 产品」:Pi 和 Codex 要对默认行为负责,LangChain 刻意保持沉默。最硬的一条结论在第 06 章——事件订阅、外部进程、洋葱包裹三种拦截范式里,只有洋葱能重试或替换一次模型调用;第五个样本把这条结论逼到了更精确的位置:真正决定成败的不是拦截签名,是谁拥有那个重跑的循环。
| # | 文档 | 一句话 |
|---|---|---|
| 18 | 番外:DeepSeek Harness 全项目速览 | 一天涨五万 star 的第五个样本:一切皆插件,agent loop 是一行 YAML |
| 17 | 番外:Grok Build 全项目速览 | 数据事故后开源的第四个样本,寄生 Claude 生态,开源 ≠ 开放 |
| 16 | 横向总表与选型指南 | 全维度对照 + 决策树 |
| 15 | 遥测与数据边界 | Codex 六套遥测机制逐条拆解,硬编码 Statsig 与治理欠账 |
| 14 | 状态同步与循环驱动 | 循环怎么知道下一步:事件日志 vs Mutex 快照 vs 版本号调度 |
| 13 | 子 Agent 与多 Agent 编排 | 第一动机是隔离上下文,不是并行 |
| 12 | 模型抽象层 | 抹平一切 / 只走自家协议 / 能力档案 |
| 11 | 安全沙箱与权限 | 三套 OS 沙箱、审批疲劳、防提权 |
| 10 | 会话持久化与分支 | 消息树 vs 状态快照 vs 跨文件引用 |
| 09 | 记忆 | 三个易混概念的澄清 + 自动提取的风险 |
| 08 | MCP 与外部工具协议 | 全面拥抱 / adapter 接入 / 明确拒绝 |
| 07 | 插件与扩展分发 | 打包、发现、加载、授信,以及 Skills |
| 06 | 中间件与钩子 | 三种拦截范式的能力天花板 |
| 05 | 工具系统与执行模型 | schema、并行竞态、Code Mode |
| 04 | 压缩与长会话 | 切在哪、摘要写什么、prompt cache 的代价 |
| 03 | 上下文策略 | prompt 规模、工具描述、AGENTS.md、截断 |
| 02 | Agent 循环 | 手写 while vs 编译成图,停止条件与 steer |
| 01 | 架构思想与分层 | 三种分层哲学,以及「框架 vs 产品」这条主轴 |
| 00 | 总览与阅读指南 | 先读这篇,含十个最值得记住的发现 |
2026 年 7 月对 AI Agent 领域的集中调研。核心发现:主流 CLI 编码 Agent 全部用 grep/glob 按需检索而非向量索引;专用记忆系统的收益被普遍高估。
| # | 文档 | 一句话 |
|---|---|---|
| 2 | codex记忆系统调研 | AGENTS.md + Memories 两层记忆架构 |
| 1 | aiagent长上下文方案调研 | 长上下文的工程方案盘点 |
秒杀读完之后把视野打开:12306 的库存不是一个数字而是区间组合,红包用数学消掉并发,撮合引擎追求极致性能反而只用单线程。第一辑(01~12)一个场景一篇,每篇都会回头和秒杀做对比;13、14 是接在分布式 ID 之后的两篇番外。
第二辑(15~28)拆的是第一辑里到处在用、但一直没拆开讲的底层设施:缓存、锁、Kafka、倒排索引,一路拆到 Raft 共识。
第三辑(29~42)补的是前两辑的三块空白:交易链路的"下半场"(券怎么叠、库存的"已锁定"谁还回来、退款逆向流程),内容与社交的"治理面"(评论树怎么存、敏感词怎么防绕过、粉丝列表怎么翻页、推送怎么走厂商通道),以及前 28 篇一篇没碰过的 B 端中台世界(权限、审批流、配置中心、多租户)。外加两篇新场景:复式记账,和 AI 网关的高并发。
如果你会写接口,但没真正扛过高并发,这个系列就是写给你的。
| # | 文档 |
|---|---|
| 07 | 告警响了,先扩容还是先限流:全系列总结与决策清单 |
| 06 | 1000 万订单超时未付自动关单:时间轮与延迟消息 · 含可拨动的动画 |
| 05 | 稳定超载的系统:扩容以及它救不了的情况 |
| 04 | 监控指标、埋点、弹幕:丢旧留新 |
| 03 | IoT 设备上报、行情推送:丢弃与采样 |
| 02 | 第三方 webhook 回调:立即 ACK 与有界队列 |
| 01 | 秒杀、抢票、热点查询:快速失败与丢弃 |
| 00 | 接口超时,把队列调大,反而 OOM:队列不会创造产能 · 先读这篇 |
先看生产项目怎么写 SQL,再追问"凭什么这么写是对的",挖到实现机制,最后本地实验验证。主线标本 sub2api,全部数字在 PostgreSQL 16.13 实测,脚本在 labs/。
| # | 文档 | 一句话 |
|---|---|---|
| 13 | 八股速查表 | 面试/复习用 |
| 12 | 类型选择 | 钱、时间,以及不起眼的坑 |
| 11 | 在线 DDL | 迁移脚本怎么写才不炸库 |
| 10 | 连接与超时 | 连接、连接池、超时三件套 |
| 9 | 膨胀与 VACUUM | VACUUM 是怎么被你拖住的 |
| 8 | 索引 | B-tree 的形状决定 WHERE 怎么写 |
| 7 | 任务队列 | SKIP LOCKED 与租约 |
| 6 | 幂等与 outbox | 重试不该扣两次钱 |
| 5 | 锁 | 行锁根本不在锁表里,它写在行头上 |
| 4 | 隔离级别 | 三种"看起来对但会错"的写法 |
| 3 | ★ 原子扣减余额 | 主线:那行 SQL 凭什么是对的 |
| 2 | MVCC 与快照 | Postgres 为什么没有回滚段 |
| 1 | 一条 UPDATE 背后发生了什么 | 物理直觉从这里建立 |
| 0 | 导读与环境准备 | 先读这篇 |
把 5 个开源秒杀/商城项目 clone 到本地逐行读:教学项目给出标准答卷,持续更新的商城反而为通用性放弃了高并发设计——84.5k star 的 mall 甚至有必现的超卖 BUG。
| # | 文档 | 一句话 |
|---|---|---|
| 7 | 秒杀库存扣减:Redis 和 MySQL 谁说了算 | 专题:Redis 发门票,MySQL 记账本 |
| 6 | 总结:共性、分歧与自查清单 | 六条共性、五个分歧、抄作业地图 |
| 5 | macrozheng/mall | star 之王,lockStock() 会超卖 |
| 4 | Lilishop | 下单不扣库存,付款时 Lua 见真章 |
| 3 | 芋道 ruoyi-vue-pro | 一句条件 UPDATE,正确但不抗压 |
| 2 | qiurunze123/miaosha | 教学项目里防超卖做得最全的 |
| 1 | hfbin/Seckill | 入门起点:最小完整实现 |
| 0 | 总览与横向对比 | 先读这篇 |
几百个并发砸向同一行余额,如何不丢账、不重账、还扛得住?以 sub2api 为标本的 16 章,主线一句话:并发 bug 的万恶之源是"基于过期的认知做写入"。番外一篇拆 singleflight,把第 6 章准入层那行配置讲透。
番外
| # | 章节 | 难度 |
|---|---|---|
| 17 | singleflight 入门教程 | ★ |
第三部分 · 过载篇
| # | 章节 | 难度 |
|---|---|---|
| 16 | 背压:有界队列与过载生存 | ★★★ |
第二部分 · 定时任务篇:该来的事件没来怎么办
| # | 章节 | 难度 |
|---|---|---|
| 15 | 定时任务五:TTL清理与外围过期服务 | ★★ |
| 14 | 定时任务四:批量生图的后台四循环 | ★★★ |
| 13 | 定时任务三:幂等记录清理 | ★★ |
| 12 | 定时任务二:订阅过期与到期提醒 | ★★ |
| 11 | 定时任务一:支付订单的对账与关单 | ★★★ |
| 10 | 定时任务总览:事件驱动主路径与定时兜底 | ★★ |
第一部分 · 并发写入与计费闭环
| # | 章节 | 难度 |
|---|---|---|
| 9 | 总结:决策树、自查清单、术语表 | ★ |
| 8 | 工程细节:不起眼但致命的写法 | ★★★ |
| 7 | 实战案例四:批量生图的预冻结三段式 | ★★★ |
| 6 | 实战案例三:高并发余额扣费全链路 | ★★★ |
| 5 | 实战案例二:OAuth令牌轮换的CAS | ★★★ |
| 4 | 实战案例一:用量窗口重置的CAS | ★★ |
| 3 | 数据库层的魔法:行锁与单条UPDATE的原子性 | ★★★ |
| 2 | 并发控制工具箱:锁 / CAS / 原子增量 | ★★ |
| 1 | 从一个丢钱的bug说起:并发问题入门 | ★ |