Lena

Every thought is progress.

每一个想法,都是进步。

About

关于

Hi, I'm Lena.

你好,我是 Lena。

Projects

项目

Agent Tutorial0123三步写出你的第一个 Agent —— 从最小 LLM 调用到工具调用

Agent Tutorial0123

你后面 90% 的困惑,都源于分不清“名字是谁定的”。看代码前先背下这三条:

tutorial

Indexpi-learn Agent 教程目录 —— 从 0 到 9 手写你的 Agent

Index

这份教程从 0 开始,每步一个可运行项目,讲透一个概念后再往前。

tutorial

Task4第 4 步 · 多 Provider 抽象 —— 换配置不换代码

Task4

前三步我们把 URL、模型名、API Key 直接写死在 llm.ts 里——那是故意的。这一步才把它们抽出来。

tutorial

Task5第 5 步 · 交互模式 REPL —— 从“跑一次”到“一直等你输入”

Task5

前三步都是一次性问答:npm run agent → 问一句 → 打印答案 → 退出。真实产品不这样:用户和 agent 之间是持续对话。这一步把它做成 REPL。

tutorial

Task6第 6 步 · 对话历史 —— 让 agent 记住上下文

Task6

task 5 的 REPL 每轮都是独立会话:你问“我叫小明”,下一轮问“我叫什么”,它答不上来——因为每次 runAgent 都新建了一个 messages 数组。

tutorial

Task7第 7 步 · 技能系统 —— 工具的“抽屉”:按需加载

Task7

task 3~6 把所有工具一次性发给模型(tools 数组)。工具一多就出问题。

tutorial

Task8第 8 步 · 健壮化 —— 错误分层 / 重试退避 / 超时 / 日志

Task8

一句话:网络请求是整个 Agent 里最不可靠的环节,task 8 把它武装到牙齿。

tutorial

Task9第 9 步 · TUI 与发布 —— 流式输出 / 终端颜色 / 全局命令

Task9

一句话:前 8 步它是个“能跑的脚本”,这一步让它长成“像样的终端产品”。

tutorial

Blog

博客