Day 1:搭骨架,先跑起来
为什么这是最重要的第一天
很多教程一上来就给你扔几十个文件、一堆配置、import 了一堆你听都没听过的库。你复制粘贴了半小时,终于开始跑——报错了。然后你在 Google 和 GPT 之间来回跳,修 bug 修到怀疑人生。
我们反着来。
今天的 Agent 不会任何 AI。你说"你好",它回"你好"。听起来很蠢?但它是能跑的。 它验证了:Go 装好了、go mod 没问题、你理解了最基本的函数调用。这比任何"看起来高级但跑不起来的代码"都有价值。
地基错了,上面盖什么都塌。地基对了,后面每天加一块砖,第七天就是一座房子。
你需要什么
- Go 1.21+(第 2 章装过了)
- VSCode 或 GoLand
- 一个终端
- 不需要 API Key、不需要联网、不需要花钱
📦 本项目全程使用的框架版本:
框架 首次用到 Eino Day 2 Eino ChatModel Day 2 Eino Tool Day 4 Eino Memory Day 5 Eino MCP Day 6 net/http Day 7
今天做什么
今天只做一件事:让程序跑起来。 写一个最简单的 Go 函数——收消息,回消息。不涉及任何 AI。
代码
创建文件夹 customer_service_agent,初始化模块:
bash
mkdir customer_service_agent && cd customer_service_agent
go mod init customer_service_agent创建 main.go:
go
package main
import "fmt"
// simpleAgent 是最简单的 Agent 骨架。
// 目前什么都不做——你说什么,它回什么。
// 但它是能跑的。这就是一切的基础。
func simpleAgent(userMessage string) string {
return fmt.Sprintf("客服收到:%s", userMessage)
}
func main() {
testMessages := []string{
"你好",
"我的订单什么时候到?",
"谢谢",
}
for _, msg := range testMessages {
response := simpleAgent(msg)
fmt.Printf("👤 用户: %s\n", msg)
fmt.Printf("🤖 客服: %s\n\n", response)
}
}运行
bash
go run main.go你应该看到:
👤 用户: 你好
🤖 客服: 客服收到:你好
👤 用户: 我的订单什么时候到?
🤖 客服: 客服收到:我的订单什么时候到?
👤 用户: 谢谢
🤖 客服: 客服收到:谢谢你学到了什么
你写了一个 Agent 骨架。虽然它只是个回声筒,但它包含了一个 Agent 最核心的结构:
- 输入:
userMessage— 用户说了什么 - 处理:函数体里的逻辑(目前是空的,明天往里填)
- 输出:返回值 — Agent 回复用户什么
后面 6 天的所有代码,都是在这个骨架上填充和扩展。simpleAgent 这个函数会变得越来越聪明,但它的"形状"不会变——接收消息,返回回答。
明天的预告
我们会给这个回声筒装上 Prompt 模板——让它知道自己是客服,应该好好说话。还会引入 Mock LLM,让它能根据不同的问题给出不同回答。同样零成本,不用 API Key。
Day 1 完成。你的 Agent 现在什么都不会——但今天的目的达到了:它跑起来了。

