AI Agent 全栈
黑色背景上的白色节点连线图

PUBLIC LEARNING · DAY 6

从零到生产,
公开学习 AI Agent 全栈

14 个模块,84 个知识点。每天一课、一份日志、一次提交,全部开源。

duang777 · Go / TypeScript 为主,Python 辅助

14模块
84知识点
Day 7今天
10/84已完成

当前进度

01 LLM 原理与使用:1.1 采样、1.2 主流模型 API、1.3 结构化输出、1.4 推理模型已完成;1.5 Prompt Caching、1.6 上下文工程已上线,练习进行中。模块 01 课件全部完成。

学完且有笔记或代码产出,才在 ROADMAP 里打勾。

已勾选知识点12%

0.1

已完成 · 00 基础功底

Go:从基础语法到并发

模块、错误处理、接口、JSON、表驱动测试;goroutine、channel、context 取消链、errgroup 并行工具调用、可取消的 SSE 流式读取。

课件
已完成
练习
已完成

0.2

已完成 · 00 基础功底

TypeScript:给 Agent 套上类型的安全带

可辨识联合、Zod 校验工具参数、AsyncGenerator 解析 SSE、AbortController 取消链。

课件
已完成
练习
已完成

0.3

已完成 · 00 基础功底

Python(够用即可):asyncio、Pydantic、uv

读懂 ML 生态与评测脚本:用 Go / TS 的概念对照学 Python。

课件
已完成
练习
已完成

0.4

已完成 · 00 基础功底

流式协议:HTTP、SSE 与 WebSocket

HTTP 分块与 Flush、手写 SSE 解析器、断线续传、中间层缓冲排查、WebSocket 双向打断与选型。

课件
已完成
练习
已完成

0.5

已完成 · 00 基础功底

工程基础:Git、Docker、Linux,把 Agent 服务送上线

Git 工作流与 bisect、进程信号、多阶段 Dockerfile、liveness 与 readiness、优雅退出不掐断流式对话、GitHub Actions CI。

课件
已完成
练习
已完成

0.6

已完成 · 00 基础功底

数据库与缓存:Postgres 与 Redis,给 Agent 一个靠得住的记忆

会话与消息建模、复合索引与键集分页、隔离级别与写偏斜、幂等键、SKIP LOCKED 任务队列、迁移与线上改表、Cache-Aside 与限流。

课件
已完成
练习
已完成

1.1

已完成 · 01 LLM 原理与使用

Transformer、Tokenizer 与采样参数:从一段文本到下一个 token

手写字节级 BPE 与流式 UTF-8 解码、缩放点积注意力与因果掩码、KV Cache 显存估算、temperature / top-p / min-p / 惩罚,以及各家 API 对采样参数的最新限制。

课件
已完成
练习
已完成

1.2

已完成 · 01 LLM 原理与使用

主流模型 API:OpenAI Responses、Anthropic Messages、Gemini Interactions

三家的消息结构、工具调用往返、流式事件与终止信号、停止原因与用量口径;推理块原样回传;用纯 Go 写一个同家无损、跨家降级的统一客户端和工具循环。

课件
已完成
练习
已完成

1.3

已完成 · 01 LLM 原理与使用

结构化输出:JSON Schema、strict 模式与约束解码

手写约束解码器,把不合法 token 的 logit 设成 -∞;看清它保证什么、扭曲什么、管不了什么;三家 schema 子集的规则检查与转换,以及校验驱动的重试循环。

课件
已完成
练习
已完成

1.4

已完成 · 01 LLM 原理与使用

推理模型:reasoning effort、thinking 与成本权衡

推理 token 看不见、按输出计费;三家推理旋钮与会 400 的组合;用 HMAC 模拟思考块签名,验证改一个字就失效;用“每个正确答案花多少 token”判断什么时候值得多想。

课件
已完成
练习
已完成

1.5

进行中 · 01 LLM 原理与使用

Prompt Caching:前缀匹配、三家写法与缓存断点

缓存的是前缀的 KV 状态,改一个字后面全部作废;Anthropic、OpenAI、Gemini 的断点、TTL 与读写倍率;用累计哈希模拟回看窗口,算出 30 轮 Agent 会话里不同断点放法差多少钱。

课件
已完成
练习
进行中

1.6

进行中 · 01 LLM 原理与使用

上下文工程:窗口预算、长上下文退化与提示词的系统方法

什么算进窗口、超了会怎样;越长越差、中间最差;预算内组装上下文;60 轮长任务里清理、笔记、压缩各自的代价;把提示词当代码管,逐个用例看修好和弄坏了什么。

课件
已完成
练习
进行中

每日日志

每天一份日志,最新的在最上面。

  1. Day 7 · 2026-10-14

    上下文工程:窗口、退化、组装与压缩

    • 输入 95 万、窗口 100 万、max_tokens 128k:不会 400,但只能写大约 5 万 token 就停
    • 玩具模型:80 万 token 全塞,答案在中间召回 0.18;先检索 8 篇再放,0.82
    • 60 轮长任务:什么都不管第 26 轮撑爆;只清旧工具结果能跑完,但 12 次回查丢了 11 次
    • 清理攒够 2 万再动手:改写从 15 次降到 7 次,输入当量少 34%
    • 提示词加一句“只回答数字”:修好 1 个用例,弄坏 2 个

    思考:你的 Agent 跑到第 50 轮时,上下文里有多少 token 是这一步真正用得上的?

    日志

  2. Day 6 · 2026-10-13

    推理模型:effort、thinking 与成本;Prompt Caching

    • 可见输出一模一样,多了 8000 推理 token,成本是 21 倍
    • Gemini 的 total_output_tokens 不含思考:照字段算,成本只算到 38%
    • 用 HMAC 模拟思考块签名:改摘要一个标点就 400;改一个工具结果,之后的思考全部失效
    • 逐级升级 low→medium→high:98.3% 正确、4064 token/题;永远 high 是 92.6%、12300 token/题
    • 验证器放过一半错答,成功率从 94.4% 掉到 56.6%,账面上还更省钱
    • 1.5:30 轮 Agent 会话,断点跟着最后一块走,输入成本只剩 16.6%,命中率 94.3%
    • 同样的会话,system 开头写一行当前时间:命中率 0%,成本 125%,比不缓存还贵
    • 用户每 3 到 40 分钟回一次:5 分钟 TTL 只省 6%,1 小时 TTL 省 73%

    思考:你的 Agent 提示词里,第一处每次都会变的内容在哪里?它前面有多少 token?

    日志

  3. Day 5 · 2026-10-12

    Transformer、Tokenizer 与采样;主流模型 API;结构化输出

    • 1.3:手写约束解码器,100 次随机抽样全部通过校验;但模型想说 unsure 时,enum 只给 yes/no,它只能编一个
    • 1.2:三家 API 手写统一客户端,20 个测试;推理块(encrypted_content / signature)必须原样回传,不传不报错,只会变笨变贵
    • Anthropic 的 input_tokens 不含缓存:字段写 30,真实输入 1030
    • Gemini 官方文档对工具参数增量有两种写法,解析器两种都认,用测试钉住
    • 手写字节级 BPE:编码按合并顺序而不是从左到右,往返测试抓不到这个 bug
    • 实测“人工智能体需要可靠的工具调用。”:cl100k 16 个 token,o200k 9 个
    • 流式解码扣住半个汉字,TS 里对应 TextDecoder 的 stream: true
    • 注意力不除 √d:d=512 时熵从 4.35 bit 掉到 0.148 bit;KV Cache 70B 跑 128K 要 40 GiB
    • temperature=0 也不确定:根源是服务端批大小随负载变化

    思考:统一客户端为什么要“同家原样回放”,而不是每次按统一字段重建请求?

    日志

  4. Day 4 · 2026-10-11

    数据库与缓存

    • 会话、消息、运行记录三张表:约束是最后一道防线
    • 复合索引的最左前缀,EXPLAIN ANALYZE,键集分页取代 OFFSET
    • 实测丢失更新(40 次累加丢了 380)和写偏斜(只有 Serializable 拦得住)
    • 幂等键、FOR UPDATE SKIP LOCKED 任务队列、状态机守卫、咨询锁迁移
    • Cache-Aside + singleflight:30 次里 18 次失败,补上双重检查才稳定

    思考:为什么 Repeatable Read 防不住“每个会话最多一个 running”?

    日志

  5. Day 3 · 2026-10-10

    Python · 流式协议 · 工程基础

    • Python:Pydantic 事件、TaskGroup 并行工具、取消与 CancelledError
    • 手写 SSE 解析器:任意切块模糊测试抓出空块重置 pendingCR 的 bug
    • 断线续传、中间层缓冲排查、WebSocket 双向打断
    • 多阶段 Dockerfile、liveness 与 readiness、优雅退出不掐断流式对话
    • GitHub Actions CI:Go -race、TS、Python、镜像冒烟测试全部通过

    思考:为什么 Shutdown 的超时 context 不能从信号 ctx 派生?

    日志

  6. Day 2 · 2026-10-09

    TypeScript

    • 可辨识联合描述流式事件,assertNever 让漏处理变成编译错误
    • Zod:一份定义同时得到校验、类型和 JSON Schema
    • AsyncGenerator + for await 解析 SSE
    • AbortController / AbortSignal.any 对应 Go 的 context
    • 0.1、0.2 练习提交:go test -race、tsc、vitest 全部通过

    思考:为什么 JS 里 next++ 不需要锁?

    日志

  7. Day 1 · 2026-10-08

    Go 并发

    • goroutine / channel / select
    • context 取消链:客户端断开 → LLM 调用与工具全部停止
    • errgroup 并行工具调用:SetLimit 限流、单工具超时
    • 可取消的 SSE 流式读取:data: 解析、[DONE]、发送与 ctx.Done() 同 select
    • 常见坑:goroutine 泄漏、body 未关闭、map 并发写

    思考:为什么 errc 要缓冲 1?

    日志

路线图

14 个模块,从基础功底到生产级上线。

完整 ROADMAP.md

00已完成

基础功底

  • Go 基础与并发
  • TypeScript
  • Python(够用即可)
  • HTTP / SSE / WebSocket 流式协议
  • Git 工作流、Docker、Linux 基础
  • 数据库与缓存基础
01进行中

LLM 原理与使用

  • Transformer、Tokenizer、采样参数(temperature/top-p)
  • 主流 API
  • 结构化输出
  • 推理模型(reasoning / thinking budget)与成本权衡
  • 上下文窗口、Prompt Caching、长上下文退化
  • Prompt / Context Engineering 系统方法
02未开始

工具调用与协议

  • Function Calling / Tool Use 机制与并行调用
  • MCP(Model Context Protocol)
  • A2A(Agent-to-Agent)协议
  • Computer Use / Browser Use 代理
  • Code Execution 沙箱(E2B、Docker、gVisor)
03未开始

Agent 架构

  • ReAct、Plan-and-Execute、Reflexion
  • Agent Loop 设计:停止条件、预算、重试
  • 多智能体
  • 长任务 Agent
  • Agent 状态与数据模型
  • Coding Agent 架构(Claude Code / Codex / SWE-agent 拆解)
  • Deep Research Agent 架构
04未开始

框架与 SDK

  • LangGraph(状态图、持久化、interrupt)
  • OpenAI Agents SDK
  • Claude Agent SDK
  • Go 生态
  • TS 生态
  • 框架取舍:何时不用框架
05未开始

记忆与检索

  • Embedding、向量库(pgvector、Qdrant、Milvus)
  • 分块、混合检索(BM25 + 向量)、Rerank
  • GraphRAG / Agentic RAG
  • Agent 记忆:短期/长期/情景记忆、上下文压缩
  • 检索质量评测
06未开始

评测体系

  • Agent 测试工程
  • Eval 设计
  • 指标
  • LLM-as-Judge
  • 公开 Benchmark
  • Eval 框架
  • CI 回归门禁
  • 模型版本管理与迁移
  • 线上评估:A/B 实验、灰度对比、用户反馈回流成新用例
07未开始

可观测性

  • Tracing
  • 平台
  • 核心指标
  • 结构化日志与会话回放
  • SLO 与告警:可用性 / 延迟目标、错误预算、值班手册
08未开始

高可用与可靠性

  • 超时、重试(指数退避 + 抖动)、幂等键,避免重复扣费和重复执行工具
  • 熔断、限流(令牌桶)、背压、舱壁隔离
  • 多模型供应商容灾
  • 持久化执行
  • 异步与后台 Agent
  • 无状态服务与水平扩展
  • 故障演练:注入超时、429、断流,验证系统按预期降级
09未开始

高性能与成本

  • 流式链路与首 token 延迟优化
  • 缓存
  • 服务端性能
  • 推理服务
  • 模型路由:大小模型分层、按任务难度路由
  • 成本治理:按用户 / 租户计量、预算上限、用量看板
10未开始

安全与治理

  • Prompt Injection / 间接注入防御
  • 权限与沙箱:最小权限、高风险工具人工审批
  • 身份、凭证与多租户
  • Guardrails、输出校验、可验证完成(Verification)
  • Reward Hacking 与测试篡改检测
  • 数据与合规:PII 脱敏、审计日志、多租户隔离
  • 内容安全与合规(国内)
11未开始

工程化与部署

  • 后端
  • 流式前端
  • 模型网关:统一接口、鉴权、配额(LiteLLM 或自研)
  • 容器化与编排
  • CI/CD 与版本管理
  • 发布策略:灰度、Feature Flag、一键回滚
12未开始

模型侧前沿

  • 微调:LoRA / QLoRA、SFT
  • 偏好与强化学习:DPO、GRPO、Agentic RL
  • 合成数据与轨迹数据构造
  • 开源模型部署与量化
13未开始

项目实战

  • 带 MCP 工具的个人助理 Agent
  • 生产级 RAG 问答服务
  • 多智能体 Coding Agent
  • 高可用 Agent 网关
  • 上线运营

每节课包含什么

每一课都能读、能跑、能练、能自测。

A

讲解

原理 + 生产场景

B

可运行代码

Go / TS 为主

C

练习与参考实现

先自己写,再对照

D

自测题与详细答案

检验是否真的学会

一起学

每天一课,欢迎一起打卡。

Star 仓库、提 Issue 交作业、或在 X 上和我交流。