KEEL · 龙骨 · A CURRICULUM FOR THE AI ERA
AI 编程 — keel 龙骨
AI 会写代码,判断得自己拿。四层判断力:看得懂系统、判得准方案、扛得住故障、指得动 AI。(54 门)
AI 会写代码,判断得自己拿。
四层判断力:看得懂系统、判得准方案、扛得住故障、指得动 AI。
- Agent Harness — 先把自己放进一个真实的值班场景:用户提交故障编号,模型判断下一步,程序决定是否查询工具,工具结果回到模型,运行最终以完成、失败、取消或等待审批结束。你要理解的不是某个框架的 API,而是这条运行为什么能够继续、为什么必须停止,以及每一步由谁负责。
- Tool Calling — 在 Harness 的一次运行里,模型只能提出“下一步可能需要这个工具”。真正困难的部分发生在之后:程序怎样描述工具、校验参数、判断权限、执行动作、返回结果,并在失败或副作用出现时保持可控。
- Context Engineering — Agent 的上下文是一次模型调用的工作集,不是数据库,也不是完整运行日志。它有容量上限,有来源和优先级,还要和工具协议、权限、状态恢复一起工作。本课程从一个“第二十轮为什么突然答错”的现场开始,逐步做出可解释的上下文管线。
- Persistent Memory — 围绕作用域、写入门禁、SQLite 与语义检索,设计长期记忆的真实边界。记什么、忘什么、谁能写——这些决定必须留在人这边。
- MCP Protocol Engineering — 从 JSON-RPC、版本协商和能力发现,到工具、资源、提示、授权、异步任务和兼容性测试,建立一条可解释的 MCP 接入链。接什么、不接什么、开放多少,是架构判断而不是配置工作。
- A2A Protocol Engineering — 从 Agent Card 与发现、版本协商与三种绑定,到 Message/Part/Artifact、任务状态机、流式与推送、签名卡和按调用者隔离的可见性,建立一条跨组织边界的 A2A 委派链。远端永远不透明:你能拿到的只有卡面、状态和产物。
- Python 拔高:生产代码里的高级写法与抽象 — 不讲教科书设计模式,只讲生产级 Python 项目里真实出现、值得展开的七个写法:ContextVar 上下文隔离、线程安全单例与 frozen dataclass、模板方法与 ABC、闭包与延迟导入、声明式鉴权与中间件管道、Pydantic v2/StrEnum/注册表工厂、动态分发与反射。
- Python 基础课:从零把一段代码跑起来 — 从「听过 Python」到「自己跑起来一个东西,并说得清它的边界」
- Multi-Agent Collaboration — 先面对一次真实的事件响应。支付服务出现超时,现有证据分散在指标快照、变更记录和事件描述里。一个 Agent 可以独自读取全部材料,但它的上下文会越来越大,分析与审查也混在同一次生成中。你准备增加两个专业 Agent:一个分析运行指标,一个检查最近变更;协调者负责拆分任务、收集证据并生成结论。
- Real-world Execution — 值班人员要求 Agent 把 payment-service 在 staging 环境的数据库连接池从 20 调到 40,然后通知值班群。模型很快给出了两个动作:修改配置、发送通知。
- Safety Controls — 同一个配置变更继续向前:Agent 建议把 payment-service/staging 的连接池改到 40,并通知值班群。执行代码已经能处理幂等、超时、对账和补偿,但这并不说明动作安全。
- Advanced Agent Systems — 这门课把前面几门课程的“单次运行边界”推进到长周期系统。主线不是采用某个框架,而是让读者能够用事件、状态、租约、证据和指标解释一次真实运行。
- FDE Customer Delivery — 用户说“我们想用 AI 自动处理故障”时,模型和框架都还不是第一个问题。FDE 首先要确认谁在什么时候做什么、数据和权限在哪里、错误会造成什么损失,以及什么结果才值得上线。随后才是架构、实现、评估、部署、采用和交接。
- Claude Code Harness — 课程导读 · 从「会用 Claude Code」到「看懂它的运行时」
- DeepSeek Harness — 课程导读 · 当「一切皆插件」遇上「日志即真相」
- Hermes Agent — 课程导读 · 一个会自己攒技能的常驻助理是怎么搭起来的
- OpenClaw — 课程导读 · 把 20 个渠道、100 个插件、一个 Agent 收进同一个常驻进程
- 后端高并发工程拔高 — 课程导读 · 用得上的那部分,全部来自可验证的场景
- 数据库与缓存调优 — 面向 MySQL/Redis 的查询与索引调优、事务隔离与锁等待排查、连接池容量规划、缓存三大问题与一致性策略,以及观测驱动的性能优化闭环。第 00 章从零讲清索引本身:条目构成、树高与「为什么查一行只碰几个页」、回表与覆盖索引、以及最左前缀与「范围之后失效」的来源。
- 索引与并发实战 — 在《数据库与缓存调优》的框架之上补深度:执行计划精读(key_len/filtered/预估偏差)、索引设计的等值-排序-范围三段法、索引失效反模式全集、索引成本与线上变更(Online DDL/gh-ost/权限受限环境)、并发的量化(Little's Law/压测拐点/背压闸门)、乐观锁与悲观锁的冲突率选型、死锁日志到代码改动的四步翻译、热点削峰与幂等对账。第 09 章收口到索引变更的验收:读侧凭扫描页数而不是毫秒、写侧量化插入耗时与 WAL、连带影响逐条验证、回滚路径备好。
- 实时推送与 SSE — 课程导读 · 一条连接能撑多久,决定了用户看到的是什么
- Redis 拔高:Stream、分布式锁与 ARQ — 以一个 Agent 系统的 Redis 三重角色(队列/状态/事件日志)为地图:Stream 的 XADD/XREAD/ID 语义与断线复原地基、Pub/Sub vs List vs Stream 选型、分布式锁三件套(SET NX EX + UUID + Lua)逐行拆与诚实边界、工作流锁的业务封装套路、ARQ 任务队列与 Redis 的结合。
- Redis 部署形态:主从、哨兵与集群 — 单机 Redis 到生产 Redis 之间隔着三个问题:读撑不住怎么办、主库挂了怎么办、单机内存和 QPS 到顶了怎么办。这门课讲的就是回答这三个问题的三套机制:主从复制(读写分离的地基)、哨兵(自动故障切换)、集群(分片扩容)——以及每一套机制在应用代码里要怎么写,才算真的用上。
- 后端进程模型与连接治理 — 面向后端开发者的进程模型课:进程/线程/事件循环的选型边界、fork 与 exec 的继承规则(PEP 446 与 close_fds 的真相)、连接池的三条共享边界(进程/event loop/线程)与归属判定图、以及从随机协议错误到连接涨满的失败排查手册。
- 权限与多租户:从若依模型到注解式鉴权 — 权限是后端系统里最容易写错、又最难被测出来的一层:错了不会报错,只会让某个人看到别人的数据。这门课从国内最常见的若依式模型(菜单 + 按钮 + 接口 + 数据范围)出发,一路讲到多租户的身份体系、RBAC 与 ACL 的分工、以及注解式声明鉴权的正确落地方式。全程使用一套可运行的配套项目,每个结论都有真实输出和可跑的越权用例。
- PostgreSQL 应用课:把 PG 的特性用对 — 站在写业务代码的人的位置,讲 PG 该怎么被使用:numeric 与 float8 的真实误差、NULL 的三值逻辑与 NOT IN 塌缩、唯一约束在并发下的等待语义与 ON CONFLICT 的返回陷阱、JSONB 的 GIN 索引能加速与不能加速的查询、窗口函数与 CTE 内联改写执行计划的方式、读已提交下的丢失更新与 SKIP LOCKED 队列、最小权限与 RLS 的同表多租户隔离,以及 pg_trgm 因 locale 不认汉字这类选型边界。含七组在 PostgreSQL 16.15 上的真实运行输出。
- Kafka 工程课:提交日志、副本与事务 — 以三节点 KRaft 集群的真实运行输出为主线把 Kafka 讲透:分区、段与稀疏索引,ISR 与 acks 的真实语义,副本选举与 unclean 取舍,生产者幂等与顺序保证,消费组再平衡的停顿量级,事务与 Exactly-Once,段滚动、retention 与积压容量估算。含两次失败注入的真实报错与三个 Windows 上的坑。
- RabbitMQ 工程课:路由、确认与死信 — 从 vhost、connection、channel 的边界讲起,把 AMQP 0-9-1 模型落到真实 broker 的运行输出上:四种 exchange 的路由匹配与边界、publisher confirm 与 mandatory/alternate exchange 各补哪一段、手动 ack 与 prefetch 对分发公平性的影响、DLX 与 x-death 的真实结构、quorum queue 的 Raft 语义、内存与磁盘告警如何变成发布端背压。
- PostgreSQL 工程课:MVCC、膨胀与复制 — 不教怎么写 SQL,而是教数据库内部拿什么代价换来了你现在用的语义:一条 UPDATE 为什么不是原地改、快照可见性与隔离级别的差别落在哪一行、VACUUM 与表膨胀怎么量怎么治、WAL 与检查点的落盘顺序、索引结构与执行计划的选择依据、锁等待链与死锁检测、事务 ID 回卷的数学边界、流复制与逻辑复制及复制槽的风险、声明式分区的真实收益边界。
- 向量数据库工程课:从暴力检索到 Milvus — 用 faiss 与 pgvector 的真实运行数据把向量检索讲成一本账:精确检索的延迟与内存怎么算、L2/内积/余弦的选错代价、IVF 与 HNSW 的结构与调参曲线、PQ 的压缩比与召回损失、建索引耗时与落盘体积、过滤为什么必须下推、pgvector 的迭代扫描边界,以及 Milvus 的分层架构与一致性级别。含完整的 recall@10 与 QPS 对照表。
- 流式数据管道课:CDC、事件时间与数仓分层 — 把「业务库改一行、分析表出现一行」这条链路拆开:WAL 逻辑解码与复制槽的真实行为、REPLICA IDENTITY 与 old key、Kafka Connect 的 offset 与断点续传、事件时间与水位线对迟到数据的判定、状态快照与至少一次和恰好一次的实际差别、ODS/DWD/DWS 分层的收益与代价、列存与预聚合的选型依据。含端到端管道与可运行的窗口引擎。
- CI 流水线与质量门禁 — 课程导读 · 从"能自动跑测试"到"让改动被安全地验证与放行"
- 构建打包与部署上线 — 课程导读 · 从"一堆源码"到"一个跑在生产上、且能安全退回来"的东西
- Docker 应用课:把容器用对 — 从「会敲命令」到「能预判这份配置在别人机器上会怎么坏」
- Kubernetes 应用课:把编排用对 — 从「YAML 能提交」到「知道它会在集群里怎么卡住」
- Docker 概念课:把应用课抛出的概念讲清楚 — 应用课抛出一个概念,这里把它讲清楚——它从哪来、是什么、解决什么问题、长什么样
- Docker 基础课:从零把容器跑起来 — 从"听过 Docker"到"自己跑起来一个东西,并说得清它的边界"
- 私有化交付工程:把一套系统送进客户内网 — 这门课不站在「把一套系统跑起来」的起点上,而是站在「它要跑在一个你进不去、也不该进去的地方」的起点上。
- 私有化部署基础课:从一个装不上的包,到能自己跑起来 — 从「听过这个词」到「自己把交付包跑起来,并说得清边界」
- 私有化部署概念课:把应用课抛出的概念讲清楚 — 应用课抛出一个概念,这里把它讲清楚——它从哪来、是什么、长什么样
- Kubernetes 基础课:从零把编排跑起来 — 从"听过 Kubernetes"到"自己交上去一个东西,并说得清它的边界"
- Kubernetes 概念课:把应用课抛出的概念讲清楚 — 应用课按主题一路往下写判断,每一章都会抛出概念——Pod、控制器、Service、节点。这些词在应用课里是按「够用」的深度出现的:讲声明式时说「有一个控制器在不停把实际状态拉向期望状态」,就够你去理解那八跳了。这门课补的就是那一段:当某个词让你推不下去时,来读一页。四页分别回答:为什么调度的单位不是容器、那个一直在跑的循环是什么、一组地址会变的东西为什么能有一个不变的入口、以及「装得下」是拿什么去比什么。每页统一回答四件事(它为什么出现、它是什么、它长什么样、它怎么工作),形态一律给真集群上跑出来的命令与输出(`describe deploy` 事件里 `From` 那一列写着的 `deployment-controller`、`get endpoints` 那份会变的名单、`describe node` 的 Capacity 与按 Pod 列的已占表、`-n kube-system get pods` 里那排组件),再列出它带出的衍生概念与回指应用课的具体章号。刻意短:不重复应用课的排障清单,也不讲生产边界与选型。
- 域名申请与 HTTPS 上线 — 这门课只解决一件事:把你已经写好的站点,变成别人在浏览器里输入网址就能安全打开的东西。
- SEO 基础 — 一个网页从被写出来,到出现在搜索结果里,中间要经过六个环节:发现、抓取、渲染、索引、排序、呈现。每个环节都有自己的规则,你的页面能不能被搜到、以什么形态被搜到,取决于你是否满足了这个环节的准入条件。这门课只做一件事——把这六个环节的规则本身讲清楚。
- SEO 收录与优化 — 上一门课结束时,你的站点已经能通过 https://www.xxxxxx.cn/learning/ 安全访问。 但"能访问"和"能被搜到"是两件事——这门课处理后者。
- SEO 拔高 — 基础课讲清了搜索引擎六个环节的规则,收录课给出了上线后的提交流程。但当你面对的不是一个几十页的小站,而是一个持续增长、多人协作、频繁发版的站点时,"知道规则"远远不够——你需要的是可度量、可规模化、可回滚的工程体系。这门课处理的就是后者。
- Prisma 数据访问层 — 课程导读 · 每条结论都要能拿出查询日志和 EXPLAIN
- 模块与构建 — 课程导读 · 每一条结论都要能在自己的 Node 上跑出同一个报错
- 组件与样式 — 课程导读 · 每一条结论都要能在真实浏览器里量出同一个 computed 值
- 渲染与部署 — 课程导读 · 每一条关于"谁渲染的"结论,都要能用一个可观察的量验一遍
- SSO 工程课:协议、令牌与会话 — 这门课不站在「怎么把 SSO 接进来」的起点上,而是站在接进来之后它不按预期工作的起点上。
- SSO 基础课:把单点登录跑起来 — 从"满屏名词分不清"到"自己跑起一个 IdP,并说得清它的边界"
- SSO 概念课:把应用课抛出的概念讲清楚 — 应用课抛出一个概念,这里把它讲清楚——它从哪来、是什么、长什么样
- AI Vibe Coding 实战手册 — 一句话版本:AI 缺的不是智力,而是约束与判决标准;这两样只能由你给。