从零开始,做出一个可以调用LLM、执行工具、返回答案的Go后端系统。
交付物: v0.1 - 工作的Agent Runtime
你将学到:
关键代码:
验证清单:
go run cmd/api/main.go 启动无误/health 返回 {"status":"ok"}/chat 接收POST返回mock答案关键问题(不查资料回答):
context.Background() 和 context.WithTimeout() 的区别?你将学到:
关键代码:
为什么这个设计很重要:
验证清单:
internal/llm/openai_client.goGenerate 方法MODEL_NAME 环境变量切换模型/chat 现在返回真实LLM回答关键问题:
openai.Client?ctx 如何让OpenAI SDK知道超时时间?你将学到:
关键代码:
3个Mock工具:
search_knowledge_base - 查询KBget_ticket_status - 查票据状态create_ticket_draft - 创建票据草稿验证清单:
关键问题:
json.RawMessage 而不是 interface{}?你将学到:
关键代码:
需要处理的错误情况:
验证清单:
关键问题:
你将学到:
关键代码:
验证清单:
/chat 返回结构化答案关键问题:
你将学到:
关键代码:
验证清单:
关键问题:
ctx.Done()?你将学到:
交付物:
系统设计题框架:
验证清单:
完成Day 1-7后,你应该能:
Week 2进入RAG领域:
v0.2会是一个完整的RAG系统,远超一般chatbot的复杂度。
| 日期 | Task | 时间 |
|---|---|---|
| Day 1上 | 看教材 + 建项目 | 1h |
| Day 1下 | 完成代码 + 调试 | 2h |
| Day 2上 | 看教材 + OpenAI SDK | 1.5h |
| Day 2下 | 完成LLMClient + 测试 | 1.5h |
| Day 3 | Tool Registry实现 | 3h |
| Day 4 | Agent Loop(关键日) | 4h |
| Day 5 | Structured output | 2h |
| Day 6 | Retry + Idempotency | 3h |
| Day 7 | 整理 + 系统设计题 | 3h |
周总计: 20.5小时
最强的两天是Day 4(Agent Loop)和Day 6(Retry)。这两天要特别专注。
这时候可以往resume里加:
Designed and implemented a production-grade Go agent runtime with LLM integration, tool execution, and error recovery mechanisms.
实话讲,Week 1完成后,就是一个有模有样的项目了。
开始Day 1吧!💪