欢迎提 Issues 与 PR,本项目在不断更新。
面向中文开发者的 CloudWeGo Eino 学习仓,提供系统教程、可运行 Go 示例,以及适合面试与技术分享的表达框架。 如果你想系统学 Eino、快速跑通关键能力,并顺手沉淀一套可以讲给面试官或团队同事听的表达框架,这个仓库就是为你准备的。
由 19 篇正文 + 1 篇总纲 + 5 个可运行 demo 组成。
- 一条从
ChatModel -> Tool -> Chain / Graph -> ADK逐步推进的系统学习主线。 - 一组可以直接运行的 Go 示例,用来验证理解、录屏展示和排查概念误区。
- 一套适合面试、技术分享和项目复盘的四层表达框架。
- 想系统学习 CloudWeGo Eino,而不是零散看 API 的 Go 开发者。
- 已经能调模型,但想把 Tool、RAG、编排和 Agent 边界讲清楚的工程师。
- 准备做 AI Agent 相关面试展示、内部分享或知识沉淀的人。
- 你不想看零散笔记,而是按
前置基础 -> 入门必学 -> 组件核心 -> 编排进阶 -> ADK 体系五段主线组织学习。
- 先读下方 系列总目录,建立完整目录感。
- 再读
学习 AI 前需具备的基础知识,把 Agent、Tool、Function Calling、MCP、RAG 放进同一张图。 - 入门主线先跑通 5 篇:
ChatModel、Runner、Memory、Tool、Callback。 - 然后补组件核心,重点吃透
ChatModel、ChatTemplate、ToolsNode、Retriever。 - 最后进入
Chain / Graph / Workflow / ADK,把执行链路和 Agent 抽象讲顺。
先把 Agent、Tool、Function Calling、MCP、RAG 放回同一张工程认知图里,避免后面只背名词。
这一段先跑通最关键的执行闭环:模型调用、Agent 运行、多轮会话、工具访问和可观测性。
一文读懂 Eino 的 ChatModel 和 Message一文读懂 ChatModelAgent、Runner、AgentEvent(Console 多轮)一文读懂 Eino 的 Memory 与 Session(持久化对话)一文读懂 Eino 的 Tool 和文件系统访问一文读懂 Callback、Trace 和生产级可观测性
这一段重点理解组件边界和协议层,不再把 ChatModel、Tool、Retriever 当成孤立功能点。
为什么很多人把 ChatModel 想简单了ChatTemplate 为什么不是字符串拼接Embedding 到底解决了什么为什么很多人会写 Tool,却没真正看懂 ToolsNode为什么很多人会用 Document Loader,却没真正看懂 Parser为什么很多人会用 Indexer,却没真正看懂 Store为什么很多人会用 Retriever,却没真正看懂 Retrieve
当组件能力看懂之后,再进入更复杂的执行关系、控制流和人工接管问题。
这部分放在后面,是因为它讨论的是更高一层的 Agent 抽象、协作方式和扩展能力。
.
|-- README.md
|-- docs/ # GitHub 正式发布版文档,中文目录、中文文件名
|-- examples/ # 可运行示例,保留英文目录名
|-- source/ # 原始稿件
`-- tools/ # 文档生成脚本和文章映射清单
一文读懂 Eino 的 ChatModel 和 Message:最适合作为第一次跑通 Eino 的起点。一文读懂 Eino 的 Memory 与 Session:把“多轮对话”从概念讲成可恢复会话。一文读懂 Eino 的 Tool 和文件系统访问:最容易体现 Agent 真正开始“动手”的转折点。一文读懂 Callback、Trace 和生产级可观测性:把黑盒 Agent 变成可观测系统。一文讲透编排(Chain 与 Graph):最适合作为进阶和面试的分水岭主题。
chatmodel-message:推荐首跑,先验证模型调用、Message和流式输出。memory-session:看清多轮消息如何持久化,以及会话如何恢复。tool-filesystem:看 Agent 何时真正开始调用外部工具并操作文件系统。callback-trace:看清模型调用、工具执行和本地回调日志的对应关系。chain-graph:零 API Key 体验最小 Graph 编排。
可根据官方目录,进阶学习。
面试速览:按模型调用 -> 组件协议 -> 编排运行时 -> Agent 抽象四层组织表达。- 文章不是只堆 API,而是尽量把“为什么这个边界存在”“为什么要这样分层”讲明白。
- 示例不追求炫技,优先保证“能跑、能讲、能被追问时接住”。