Go 后端 + AI 应用学习讲义¶
更新时间:2026-03-21
本文档由gpt5.4收集资料总结而成,仅供本人阅读方便使用。
先读这页¶
1. 这份讲义是什么¶
这份讲义要承担的是“教材”的职责,而不是“目录”或“收藏夹”的职责。
也就是说,你在这里读到的内容,不应该只是:
- 有哪些概念
- 有哪些链接
- 有哪些框架
而应该是:
- 这个概念到底是什么
- 为什么需要它
- 不这样做会出什么问题
- 它在真实工程里通常怎么落地
- 面试时应该怎么把它讲清楚
如果你把它当教材来读,正确的期待不是“把所有东西背下来”,而是逐步建立三层能力:
- 先听懂概念。
- 再能解释设计原因。
- 最后能把它变成工程判断。
2. 如果你几乎零基础,先抓住这条主线¶
很多人一上来就被名词压住,例如 goroutine、context、RAG、Tool Calling、MCP、Agent、trace。其实更稳的办法不是先背名词,而是先抓住整条学习主线:
第一层:Go 基础¶
这一层解决的是“你能不能把程序里的数据和控制关系写明白”。
你会学到:
- 数据怎么表示,例如结构体、slice、map
- 状态怎么修改,例如值语义和指针语义
- 错误怎么返回和包装
- 并发怎么启动、同步、停止
如果这一层不稳,后面所有后端和 AI 话题都会悬空。因为你连“数据有没有共享”“请求有没有取消”“错误有没有保留下文”都讲不清。
第二层:Go 后端工程¶
这一层解决的是“一个请求怎么稳定地从入口走到出口”。
你会学到:
- HTTP 请求怎么进入服务
- 数据库连接怎么管理
- 中间件、日志、测试、可观测性怎么组织
- 服务关闭时在途请求和后台 worker 怎么收尾
如果这一层不稳,AI 功能接进来以后,只会把不稳定放大。
第三层:AI 应用工程¶
这一层解决的是“怎么把模型这种不稳定、昂贵、不可完全信任的能力,变成可控的业务能力”。
你会学到:
- prompt 在系统里到底扮演什么角色
- 为什么要结构化输出
- 为什么 Tool Calling 本质上是后端工作流
- RAG 为什么不是“把文档贴给模型”
- Agent 为什么真正难在治理,而不难在喊口号
你可以先把这个岗位理解成一句话:
它不是“研究模型的人”,而是“把模型能力接进业务系统、并且把风险兜住的人”。
3. 这份讲义默认怎么解释术语¶
为了让这份材料更接近教材,而不是术语表,后面遇到重要概念时,会尽量遵循这几个约定:
先用人话,再用术语¶
例如:
struct可以先理解成“带名字的字段集合”interface可以先理解成“对外承诺自己会哪些行为”- RAG 可以先理解成“先找资料,再让模型回答”
- Tool Calling 可以先理解成“模型提建议,服务端掌执行权”
这不是在降低标准,而是在先建立正确心智模型。
先讲问题,再讲方案¶
如果一开始就抛方案名词,学习者很容易只记住名字,记不住边界。
例如讲 context 时,真正先要回答的问题是:
- 请求为什么需要被取消
- 客户端断开后,下游为什么还要停
- 超时为什么不能只在入口层写一个数字
先明白问题,再学方案,知识会更牢。
先讲最小闭环,再讲扩展框架¶
这份讲义不会把学习顺序设计成“先看最火的框架”。更稳的路线是:
- 先理解最小原理。
- 再理解标准做法。
- 最后再理解框架帮你省了什么。
这样你不会把“会用框架”误当成“理解系统”。
4. 推荐的阅读方法¶
如果你想把这份教材读扎实,而不是读完就散,建议按四遍来用:
第一遍:只建立地图¶
目标不是记细节,而是知道每一章在解决什么问题。
例如:
- Go 基础在解决数据和控制的基本语义
- Go 后端工程在解决请求链路和服务稳定性
- AI 应用工程在解决模型不确定性
- RAG/Tool Calling 在解决“怎么查、怎么调、怎么控”
第二遍:每章都做最小复述¶
每读完一节,用自己的话回答三个问题:
- 这节在解决什么问题?
- 为什么需要这个设计?
- 不这样做会怎样?
如果你答不出来,说明还没真正吸收。
第三遍:和项目主线绑定¶
把章节知识往一个主项目上挂。例如企业知识库问答系统:
- Go 基础对应数据结构、错误处理、并发
- 后端工程对应 HTTP、数据库、日志、测试
- AI 工程对应模型接入、结构化输出、流式
- RAG 对应文档解析、切块、召回、引用
当知识能落到同一个项目里,它才开始从“知道”变成“会用”。
第四遍:按面试表达回收¶
这一遍不要再问“我记住了吗”,而要问:
- 我能不能在 2 分钟里讲清一个概念
- 我能不能把一个方案的优点、代价、失败方式说完整
- 我能不能从业务目标一路讲到系统链路和风险控制
这一步做完,教材才真正转化成面试能力。
5. 这份讲义最适合什么读者¶
它最适合下面这类人:
- 已经确定目标是 Go 后端或 Go 后端 + AI 应用岗位
- 不想只看零散链接,而想按主线系统学习
- 希望学的是工程落地,而不是只会讲概念
它不以模型训练、算法论文和底层推理加速为主线。如果你的目标是算法研究或模型训练,这份讲义不是主教材。
6. 资料来源与时间边界¶
这份讲义不是拍脑袋整理的,而是基于官方文档、协议规范、SDK、开源项目 README 与关键代码路径,以及公开面试题中的高频问法来重组。
重点包括:
- Go 官方关于
context、memory model、race detector、module layout、database/sql、net/http、pprof、log/slog的文档和文章 - OpenAI 官方关于 Responses API、Function Calling、Streaming、Conversation State、Prompt Caching、File Search、Evals、Tracing、MCP、Agents、Using tools、Background mode 等资料
pgvector、MCP 官方规范以及多类 Go / Agent / MCP 开源项目的 README 和关键代码路径- 公开面试题与八股文章中的高频问法,但只把它们当作题型来源,不直接拿来当事实结论
这意味着:
- 知识结论尽量回到一手资料
- 版本、接口、框架成熟度这类信息会带上时间边界
- 真正需要谨慎的地方,会强调“这是工程判断”,而不是“永远不变的教条”
7. 编写说明¶
这份讲义是在原始学习提纲基础上重写而成,目标是把“链接清单 + 面试要点”变成一份可以直接阅读学习的教材。原始提纲和链接清单已单独保留,当前正文负责承担三件事:
- 把概念讲明白。
- 把工程主线串起来。
- 把学习内容回收到项目和面试表达中。