Learning in public

把 Agent 一步步做成可靠的软件。

先理解数据怎样流动,再把模型、工具与记忆串起来。这里记录我的学习路线、专题笔记和项目验证,不用一个百分比代替真实进展。

网站更新:2026-09-21 · 最新学习记录:2026-09-17 · 第 72 课 · Logging 模块化

Full learning archive

完整笔记,不只是一份摘要。

四份详细记录保留概念解释、完整示例、失败代码、排错经过和练习。按下面的顺序阅读,也可以进入单篇后使用分级目录定位。前三份是基础到第 53 课的阶段档案,最后一份是 9 月 17 日进度原记录。

以下五阶段保留截至第 53 课的详细实操档案;后续进展单列,避免把摘要当作逐项复测结果。

01 · Learning route

学习路线

每一阶段都留下可解释的机制与可核对的结果。以下状态依据三份个人笔记,而非本次重新测评。

01
基础学习阶段完成 · 持续练习

Python 与工程基础

从函数推进到类、JSON、异常、环境变量、HTTP、异步与项目结构。

查看基础笔记 →

下一次自测

独立组织模块、重建环境并排查一次异常。

02
已有服务与多轮测试记录

FastAPI 与 RAM Memory

建立 HTTP 接口,接入真实模型,用 conversation_id 查找历史,验证同会话记住名字、不同会话不共用历史。

查看服务与会话笔记 →
边界

进程内字典不是持久化方案,会话 ID 也不是鉴权。

03
第 35—41 课 · 读写链路跑通

MySQL 持久化聊天历史

使用两张表保存会话与消息,按顺序恢复上下文。已有数据库读写和后续追问记录。

查看持久化笔记 →
待补验证

最终整合后的独立重启测试、事务与并发一致性。

04
第 42—51 课 · 工具闭环跑通

Tool Calling 与 Agent Loop

从工具说明、参数解析、注册表到结果回传,记录了计算器执行及下一轮模型回答,修复过提前 return 的缩进错误。

查看工具与循环笔记 →
边界

轮次上限不等于超时;失败路径仍需独立验收。

05
第 52—53 课 · 本地整合记录

Agent + FastAPI + MySQL

计算得到 24.0,首轮只保存 user 与 assistant;同会话追问还能回答结果。进一步区分 Chat History、运行时上下文和 Agent Trace。

查看项目与证据 →
当前位置

这是第 53 课时的位置;最新进度见上方摘要。

02 · Topic notes

专题笔记

先看历史实现与进度,再用独立练习深化可靠性。

阶段记录

可靠性配套练习

三篇共用一套可下载的离线程序与测试。用于理解契约、失败处理和日志,不替代个人项目的进度验收。

也可以先学:怎样核验 AI 给出的答案 →

03 · Project practice

项目实践

让成果落在具体输入、输出和保存结果上。

学习型原型 · 本地已跑通

带聊天历史的计算器 Agent

FastAPI 接收任务,MySQL 恢复上下文,Agent 调用计算器,最终保存本轮交流。项目页展示已有验证记录、模块职责和下一步验收清单。

当前展示第 53 课的阶段原型;暂无公开 Demo 与项目源码链接。本网站只展示学习成果,不提供模型调用服务。

Next · 计划,不计入完成

下一步,先补可靠性。

新摘要已涉及工具契约、错误分类、可观测性与日志。下方方向按最新记录区分;具体实现仍以对应阶段资料为准。

可重复验证

补齐跨重启恢复、异常输入、轮次耗尽与数据库写入失败的独立记录。

LangChain 与 RAG

保留为后续学习方向。本次成果来自手写 Python Agent 链路,不据此宣称 LangChain 已学完,也不沿用旧的 10% 估计。

部署与客服原型

此前完成部署课程听课,独立企业级实操尚未完成。后续在鉴权、事务与超时基础上推进 Linux、Docker 和智能体客服。

把学习组织成项目