@antiAIvo: 把之前写的「从零手写 Agent」教程 整理成了一个 GitHub 开源项目:NamiAgent 这不只是一个教程,也是一个能在你电脑上跑起来的 Agent: 在指定的工作区里读写文件、执行命令、接入 MCP、记住你是谁 写文件、跑命令前…

X AI KOLs Timeline 工具

摘要

作者将「从零手写 Agent」教程整理成开源项目 NamiAgent:一个既能当 11 课图文+代码教程、又能在本地跑起来的 Agent,支持读写文件、执行命令、MCP 接入、长期记忆与网页端可视化,仅依赖 openai 一个包。

把之前写的「从零手写 Agent」教程 整理成了一个 GitHub 开源项目:NamiAgent 这不只是一个教程,也是一个能在你电脑上跑起来的 Agent: 在指定的工作区里读写文件、执行命令、接入 MCP、记住你是谁 写文件、跑命令前都会先问你,你点头才执行 还带一个本地网页端: 左边看它每一步怎么想、调了什么工具 右边看每次发给模型的完整上下文,一圈圈怎么变长 18 篇图文的原稿和 11 课代码都放进去了,每课一个目录,直接能跑 教程部分,从 100 行的最小循环开始,一课加一个能力: 工具、权限、上下文管理、Skills、MCP、子 Agent、计划、记忆 后 7 篇拿这些零件当尺子,拆解 Claude Code、Codex、Pi、Grok、DeepSeek Harness、OpenClaw 只依赖 openai 一个包,没用任何 Agent 框架 上一个项目 NamiGPT 讲模型本身,这个讲给模型加上手脚
查看原文
查看缓存全文

缓存时间: 2026/10/31 07:26

把之前写的「从零手写 Agent」教程 整理成了一个 GitHub 开源项目:NamiAgent

这不只是一个教程,也是一个能在你电脑上跑起来的 Agent: 在指定的工作区里读写文件、执行命令、接入 MCP、记住你是谁 写文件、跑命令前都会先问你,你点头才执行

还带一个本地网页端: 左边看它每一步怎么想、调了什么工具 右边看每次发给模型的完整上下文,一圈圈怎么变长

18 篇图文的原稿和 11 课代码都放进去了,每课一个目录,直接能跑

教程部分,从 100 行的最小循环开始,一课加一个能力: 工具、权限、上下文管理、Skills、MCP、子 Agent、计划、记忆 后 7 篇拿这些零件当尺子,拆解 Claude Code、Codex、Pi、Grok、DeepSeek Harness、OpenClaw

只依赖 openai 一个包,没用任何 Agent 框架 上一个项目 NamiGPT 讲模型本身,这个讲给模型加上手脚


aa1143/NamiAgent

Source: https://github.com/aa1143/NamiAgent

NamiAgent logo

NamiAgent

零基础入门 AI Agent 的基础教程
不只是教程,也是一个能在本地跑起来的 Agent,自带网页端,每一步都看得见

test Python Code License Docs License 教程 GitHub stars X

图文教程 · 快速开始 · 在线可视化 · 作者 𝕏

NamiAgent 网页端:写 hello.py 并运行。左边是每一步的思考和工具调用,右边是这一次发给模型的完整上下文 新会话里说一句你好,我是纳米:长期记忆在 system 里,模型的思考过程里能看到它用上了这条记忆
写 hello.py 并运行:写文件、跑命令前弹窗确认 长期记忆:新会话里它还记得你是谁

Agent 没有什么神秘的,核心就是一个 while 循环:调模型、执行工具、把结果写回上下文,再调模型。

它是教程:从 100 行的最小循环开始,一课加一个能力:工具、权限、上下文管理、Skills、MCP、子 Agent、计划、记忆。最后拆解 Claude Code、Codex 等主流 Agent 是怎么做的。内容是我自己一步步学习、动手实践后整理出来的。

它也是一个能用的本地 Agent:在你指定的工作区里读写文件、执行命令、接入 MCP、记住你是谁;写文件、跑命令前都会先问你。python web/app.py 打开网页端,左边看它每一步怎么想、调了什么工具,右边看每次发给模型的完整上下文。

  • 每课一个可运行的快照:lessons/lesson-01 到 lesson-11,每个目录都是学完这一课时的完整代码,可以直接运行,也可以对比相邻两课的差异
  • 不绑定厂商:使用 OpenAI 兼容接口,默认用 DeepSeek,换模型只需要改两个环境变量
  • 测试不花钱:第 3 课起每课都有测试,第 11 课共 49 个,用假模型跑,不需要 API Key
  • 只依赖 openai 一个包:没有任何 Agent 框架
  • 本地网页端:在浏览器里看每一步,上下文怎么变长、模型怎么想、调了什么工具,一目了然(见下文)

先学 NamiGPT 搞懂模型本身,再学 NamiAgent 搞懂模型外面那一圈。

课程目录

第一部分:手写核心

课文章代码这一课新增
01最小循环lesson-01agent.py:三个工具 + 一个 while 循环
02工具系统lesson-02tools.py:注册表、统一执行器
03权限lesson-03permissions.py:硬规则 → 风险分级 → 人工确认
04上下文管理lesson-04context.py:截断 → 清理 → 摘要,会话持久化
05Skillslesson-05skills.py:AGENTS.md 常驻,技能按需加载
06接入聊天软件lesson-06telegram.py、bot.py:常驻、聊天确认、白名单
07定时任务与心跳lesson-07scheduler.py:无人值守的预授权、心跳

第二部分:补上主流能力

课文章代码这一课新增
08MCPlesson-08mcp_client.py:stdio MCP 客户端
09子 Agent 与多 Agentlesson-09subagent.py:独立上下文,并行只读
10计划lesson-10planning.py:待办清单、由代码强制只读的计划模式
11记忆lesson-11memory.py:长期记忆(每条确认)、会话检索

第三部分:拆解主流 Agent(只有文章,没有新代码)

课文章
12拆解 Claude Code
13拆解 Codex
14拆解 Pi
15拆解 Grok Bot
16拆解 DeepSeek Harness
17拆解 OpenClaw 与 Hermes
18总对照表

第三部分写的是截至 2026 年 10 月的情况。这些产品更新很快,细节请以各自官方文档为准。

配套可视化

Agent 是怎么工作的:10 章逐格播放,看上下文每转一圈怎么变长、在哪里出问题,以及各种 Agent 技巧到底在上下文里做了什么。下面是其中第 3 章,配合第 1 课看效果最好:

逐格播放 Agent Loop:左边是代码跑到哪一行,右边是此刻的上下文

快速开始

需要 Python 3.10+。

git clone https://github.com/aa1143/NamiAgent.git
cd NamiAgent
pip install -r requirements.txt

export API_KEY=你的模型密钥
# 默认用 DeepSeek;换其他 OpenAI 兼容模型:
# export BASE_URL=https://...   MODEL=模型名

export NAMI_WORKSPACE=~/agent-workspace   # 第 3 课起,Agent 只能操作这个目录
mkdir -p $NAMI_WORKSPACE

cd lessons/lesson-05
python agent.py

跑测试(不需要 API Key):

cd lessons/lesson-11 && pytest -q

网页端:在浏览器里看 Agent 的每一步

页首的两张动图就是网页端的真实运行录屏。

python web/app.py --demo    # 演示模式:脚本化的假模型,不需要 API Key,先看看效果
python web/app.py           # 用真实模型,和命令行版一样读 API_KEY / BASE_URL / MODEL

macOS 也可以直接双击 web/start.command:自动建虚拟环境、装依赖、让你粘贴 API Key(直接回车就是演示模式),然后打开浏览器。Agent 的工作区默认是 ~/agent-workspace。

然后打开 http://localhost:8765 :

  • 左边:每一次调用模型、模型的思考过程、调用了什么工具、工具返回了什么
  • 右边:这一次发给模型的完整上下文。每一块是谁写的、大概占多少 token,转一圈就长一截
  • 权限确认:写文件、跑命令这类有副作用的操作会弹窗,要你点头才执行(第 3 课的规则)
  • 开头写 /plan 让它先出计划,批准后再动手(第 10 课)

网页端直接导入 lessons/lesson-11 的 Agent,没有改课程代码,只换了三个接口:模型客户端(把每次发出去的上下文推给浏览器)、handle_call(把工具调用推给浏览器)、权限确认的 ask(终端 input() 换成弹窗)。只用 Python 标准库,不需要装 Web 框架。

DeepSeek 默认开启思考模式,模型返回的思考过程(reasoning_content)会单独显示。带工具调用时,这段思考要原样放回上下文再发给 API,右边的上下文面板里也能看到它。界面里展示的思考只是模型写出来的文字,不等于模型内部真实的计算过程。

环境变量

变量作用默认值
API_KEY模型密钥必填
BASE_URLOpenAI 兼容接口地址https://api.deepseek.com
MODEL模型名deepseek-flash
NAMI_WORKSPACEAgent 的工作区(第 3 课起)启动时所在的目录
NAMI_STATE_DIR会话记录、定时任务等状态(第 4 课起),放在工作区之外~/.nami-agent

第 6 课起的 bot.py 还需要 TG_BOT_TOKEN 和 TG_ALLOWED_USERS,见第 6 课。第 8 课起可以接入 MCP 服务器,配置放在 ~/.nami-agent/mcp.json,格式见第 8 课。

安全提醒

这是教学代码,Agent 会真的执行命令、读写文件。第 3 课的权限机制能挡住误操作和低成本的越界,挡不住有意的攻击(第 3 课第八节专门讲了它防不住什么)。

请在专门的工作区目录里运行,不要把工作区指向你的主目录。

这个仓库不是什么

NamiAgent 是一个看得懂的最小 Agent,不是生产级框架,也不打算和 Claude Code、Codex 比功能。目标是让你读完之后,再看任何 Agent 产品,都知道它在上下文里做了什么。

相关

License

代码采用 MIT,docs/ 下的文章采用 CC BY-NC 4.0。

相似文章

@antiAIvo: 想学会如何用 AI Agent 写代码? 最好的免费教程之一,是斯坦福这门课 CS146S The Modern Software Developer 讲师 Mihail Eric 不是学院派教授 斯坦福 NLP 组出身,做过 Alexa…

X AI KOLs Timeline

推荐斯坦福免费课程 CS146S《The Modern Software Developer》(讲师 Mihail Eric),并介绍配套的开源项目 NamiAgent——一个从零手写 AI Agent 的中文教程,逐步实现工具、权限、上下文、Skills、MCP、子 Agent、记忆等核心能力,附网页端可视化调试。

@antiAIvo: 如何从零手写一个Agent?整了一套 Agent 教程,共18 篇 Claude Code、Codex 这些编码 Agent 内核其实就是一个循环: 模型请求工具,代码执行,结果放回对话,直到模型不再请求 这套教程从100 行代码开始 用…

X AI KOLs Following

分享了一套共18篇的手写Agent教程,从100行Python代码起步,逐步实现工具调用、权限、上下文管理、Skills、MCP、子Agent、计划与记忆等核心模块,并对照拆解Claude Code、Codex、Grok Bot、DeepSeek Harness等主流编码Agent的实现取舍,指出其最大分歧在于安全层应交给提示词还是代码。

@yibie: 每个程序员都应该自己手写一个 agent。 只要 50 行代码,很有趣,而且会让你惊讶。但为了获得最大收获,请做这两件事: 第一,从零手写。打开空白文本文件,自己敲完每一行代码。不要用任何 AI,连自动补全都不要。 第二,只依赖标准库文档…

X AI KOLs Timeline

本文鼓励程序员亲手手写一个简单的AI agent(约50行代码),以加深对agent工作机制的理解,并建议从零手工编写、只依赖标准库和API文档。

@XAMTO_AI: 想自己写一个编码 Agent,原理文章没少看,一动手就卡在第一行。 最近发现《动手学 Pi》这本中文教程,从一段真实的离线 Agent 日志开始,带你把 15 个关卡从头过一遍。 真正从零撸一个完整的编码 Agent,每一步都有可运行的代…

X AI KOLs Timeline

介绍中文教程《动手学 Pi》,通过 15 个可运行 checkpoint 从零实现一个 Pi-style 编码 Agent,涵盖协议、工具循环、会话树、上下文压缩与评测,每个章节配有正文、commit、测试和故障实验。

@vintcessun: 今晚翻到一个学习路线项目,重新理解了Agent该从哪开始学。以前总觉得Agent就是堆工具和框架,但它的核心是那个“观察-思考-执行”循环,以及harness工程对权限、状态、回溯的组织。它把学习拆成从0构建最小Agent loop到最终…

X AI KOLs Timeline

一个名为Agent-Learning-Hub的开源学习路线项目,将AI Agent学习拆分为8个阶段,从构建最小Agent loop到生产部署,提供可执行的todo list和推荐资源,由Datawhale社区成员维护。