AI Agent Reference — 领域地图与原理综述
30 秒导读: 这是一个收录 191 个能跑、有真实源码可读的开源 AI agent 项目的货架。别被它横跨的十几个「领域」吓到——抽丝剥茧后,这些库本质上都在解同一个问题:LLM 自己只会「根据上文吐下一段文本」,怎么把它包成一个能在循环里感知状态、对真实世界采取动作、还能被放心运营的程序?本页先把这条共性讲透,再告诉你这条共性自然分出哪 6 条分支、每条分支里有哪些代表库、从哪学起、遇到某个任务该翻哪一支。
1. 共性:这 191 个库到底共同在干什么(零基础也能懂)
先认清一个事实:一个 LLM,光靠它自己,什么都做不了。 它是一个「文本接龙」机器——你给它一段文字,它预测出最像样的下一段文字。它不能读你的文件、不能点鼠标、不能查数据库、不能记住昨天聊过什么,更不能「跑起来、出错了再试一次」。它只会说,不会做。
所谓「AI agent」,就是围着这个只会说话的模型,用确定性的程序代码搭一圈脚手架,把「说」变成「做」。把这圈脚手架拆开,它永远在补齐模型缺的四样东西:
| 模型缺什么 | 脚手架补什么 | 白 话 |
|---|---|---|
| 不会循环、做完一步就停 | 一个 loop | 想 → 调工具 → 看结果 → 再想,直到任务完成 |
| 碰不到真实世界 | 一组工具 / 动作 | 让它能读写文件、点网页、跑代码、查库 |
| 记不住、装不下 | 记忆 / 检索 | 把跨会话的事实、海量文档,按需喂回它有限的上下文窗口 |
| 不能信、会闯祸 | 沙箱 / 评测 / 追踪 | 把它生成的动作关进笼子里跑,并量它到底干得对不对 |
一句话共性(本货架的树干): 这 191 个库,无一例外都在做「把一个只会吐文本的 LLM,包成能在循环里感知-动作、并能被信任运营的程序」这件事。它们的差别只在于——包的是哪一层、对准的是哪种动作、跑在什么形态里。
一句话直觉: 把 LLM 想成一个绝顶聪明但被锁在小黑屋、只能从门缝递纸条的人。这一货架的全部库,做的都是同一类活:给这个人装眼睛(感知)、装手脚(动作)、装记事本(记忆)、装一个能反复进出的工作流(循环),最后再装一个监工(评测)。谁装眼睛手脚、谁装记事本、谁负责监工——这就分出了下面 6 条分支。
收什么 / 不收什么: ✅ 收能 ship、有完整源码、clone 下来就能读的 agent 产品与 harness;❌ 协议规范、纯研究论文、RAG/评测的框架理论归到兄弟货架 ai-frontier-reference。这里只放能跑的东西。
2. 分支地图:共性自然分出的 6 条主枝
那「包一圈脚手架」这件事,会沿哪几个维度分化?不是按 INDEX 里 18 个编目抽屉,而是按**「脚手架的哪个环节」**来分——正好对应上表那四样东西,加上「跑在哪」和「长成什么产品」:
共性(树干):把只会吐文本的 LLM,包成
能在循环里感知-动作、能被放心运营的程序
│
┌──────────┬──────────┬────┴─────┬──────────┬──────────┐
│ │ │ │ │ │
A. 循环 B. 对世界 C. 喂模型 D. 在哪 E. 长成 F. 怎么
本身 采取动作 记不住的 安全跑 什么产品 放心上线
│ │ │ │ │ │
搭 loop + 把模型意图 把跨会话/ 把生成的 做成终端用 量它干得
编多个 变成对文件/ 海量文档 动作关进 户碰得到的 对不对、
agent 网页/库的 按需喂回 沙箱里跑 东西 追踪、红队
精确效果 上下文
下面每条分支讲清:它对准共性的哪个环节、里面哪几个编目领域、代表库,并链到它的分支章 guide/<分支>.md。本轮只有「对世界采取动作」里的 guide/coding-agents.md 是真章节(它是整个货架里被拆得最透的一支);其余分支章标(待写),先链到将来要在的位置。
分支 A — agent 循环本身(搭 loop + 编多个 agent)
补的是模型缺的第一样:循环。这一支不替你做产品,而是给你搭 agent 的乐高:统一接各家模型、定义工具、跑「想→调工具→看结果→再想」的循环、挂记忆。
再往上是「一个 agent 不够」的情况:把多个 agent 编成一支团队(分角色、 定协议、按 SOP 协作);或者干脆给个目标就全自动跑,自己拆任务、自己执行。
- 收编目领域:
agent-frameworks·multi-agent·autonomous - 单 agent 框架代表库:
smolagents(让 agent 直接写 Python 当动作)、pocketflow(100 行极简图)、langchain4j/spring-ai/semantic-kernel(JVM/.NET 生态)、strands-agents(AWS)。 - 多 agent 代表库:
metagpt/chatdev(模拟软件公司)、camel(角色扮演)、microsoft-agent-framework(AutoGen 后继)。 - 全自动代表库:
autogpt/babyagi/suna。 - → 分支章:guide/agent-loop.md(待写)
分支 B — 对世界采取动作(把模型意图变成真实效果)
补的是模型缺的第二样:手脚。这是整个货架工程含量最高的一支——难点从来不是「调用模型」,而是「把模型说的那段话,精确、可靠地落到某个真实目标上」。
目标不同,分出四种动作:落到代码文件(编码 agent)、落到整台电脑的 GUI(computer-use)、落到浏览器/网页(browser agents)、落到数据库/表格(data agents)。
它们共享同一条工程暗线:模型给的「旧状态」几乎从不和真实状态一字不 差,于是人人都要做容错匹配 / 视觉定位 / schema 校验。
- 收编目领域:
coding-agents·computer-use·browser-agents·data-agents - 编码动作代表库:
aider(搜索/替换块 + PageRank 代码地图,已有完整拆解)、cline/continue(IDE 扩展)、codex/crush(终端 agent)。 - 控电脑代表库:
open-interpreter/agent-s/ui-tars-desktop。 - 控浏览器代表库:
skyvern/nanobrowser/steel-browser。 - 问数据代表库:
wren-ai/pandas-ai/db-gpt。 - → 分支章:guide/coding-agents.md ✅(本分支已写透的代表章,聚焦「编码」这一动作);computer-use / browser / data 三类待并入或另起分支章。
分支 C — 喂给模型它记不住的(记忆 / 检索 / 深研)
补的是模型缺的第三样:记事本。模型的上下文窗口有限、且过完一次对话就忘。这一支专门把模型装不下的东西按需喂回去。
按「喂的是什么」分出三层:跨会话的长期记忆(把对话抽成结构化事实存进知识图谱/向量库)、你自己文档里的知识(RAG:切块、嵌入、检索、带引用作答)、以及更进一步的深度研究(循环「搜索→阅读→推理」直到写出一篇有引用的报告)。
记忆 vs 检索常被混为一谈——一个是「记住交互历史」,一个是「查外部知识」,这一支会把这条线讲清。
- 收编目领域:
memory-context·rag-retrieval·deep-research - 记忆代表库:
zep/cognee/core-redplanethq(时序知识图谱)、supermemory/memos。 - RAG 代表库:
ragflow/r2r(生产级引擎)、lightrag/kotaemon(图 RAG)、crawl4ai(喂网页)。 - 深研代表库:
gpt-researcher、tongyi-deepresearch(阿里 30B 开源)、open-deep-research-langchain。 - → 分支章:guide/knowledge-feed.md(待写)
分支 D — 在哪安全地跑(沙箱 / 运行时)
补的是模型缺的第四样的前半截:笼子。模型生成的代码和动作不能直接在你的机器上跑——它可能删库、可能跑死循环、可能泄密。
这一支提供安全隔离的执行环境:microVM、容器、gVisor/Kata 隔离,毫秒级启动,跑完即焚。它是 B 分支「动手」的底座——很多编码/computer-use agent 都把动作丢进这里执行。
- 收编目领域:
agent-runtime - 代表库:
e2b/e2b-infra(Firecracker microVM)、daytona(弹性沙箱)、microsandbox(libkrun 亚 200ms 启动)、cloudflare-sandbox-sdk(边缘)、julep(有状态 agent 后端)、opensandbox-alibaba(gVisor/Kata/Firecracker)。 - → 分支章:guide/sandbox-runtime.md(待写)
分支 E — 长成什么产品(给人用的那一面)
前四支都在搭「引擎」,这一支搭**「外壳」——把 agent 包成终端用户碰得到的产品**。
按外壳形态分出四类:拖拽搭流程的可视化平台(把上面那些循环/工具/RAG 连成图,一键部署)、自托管聊天/助手应用(多模型、插件、接 IM 平台,货架里项目最多、star 最高的一类)、给 agent 做前端的组件库(React 聊天组件、生成式 UI)、以及实时语音对话(VAD/STT/LLM/TTS 全双工流水线)。
- 收编目领域:
workflow-builder·chat-agents·agent-ui·voice-realtime - 搭流程代表库:
dify/langflow/flowise/coze-studio。 - 聊天应用代表库:
open-webui(最流行)、librechat/lobehub、langbot(接 IM)。 - 前端代表库:
copilotkit(AG-UI 协议)、assistant-ui/crayon。 - 语音代表库:
pipecat/livekit-agents/ten-framework。 - → 分支章:guide/agent-products.md(待写)
分支 F — 怎么放心上线(评测 / 追踪 / 红队)
补的是模型缺的第四样的后半截:监工。agent 不像传统软件那样确定性可测——同样的输入可能给不同输出,还会幻觉、会越狱。
这一支专管**「它到底干得对不对、出了事看得见、坏人攻不进」**:像 pytest 一样测 LLM 输出、OTel 追踪长跑 agent 的每一步、监控成本、做越狱/注入红队测试。
- 收编目领域:
evals-observability - 评测代表库:
deepeval(pytest 式)、promptfoo(声明式 + 红队)。 - 可观测代表库:
langwatch/laminar/helicone、mlflow/opik(追踪 + 评测)。 - 红队代表库:
deepteam、ai-infra-guard。 - → 分支章:guide/trust-ops.md(待写)
3. 学习路径(想入门 agent 工程,按这个顺序读)
别一上来铺开 6 条分支。按「先看清一个 agent 怎么把活干成 → 再看它怎么记/查 → 再看怎么编队/上线」走:
第 1 站 一个 agent 怎么把活真正干成(从 B 分支入门)
└─ guide/coding-agents.md → aider/index.md(唯一已写透的代表作)
为什么从编码 agent 入门:它把「LLM 文本 → 精确文件编辑」摆得最清楚,
最能看见 agent 工程的核心难点——可靠落盘、容错恢复、上下文预算。
这就是共性里「对世界采取动作」最浓缩的样本。
第 2 站 搭 agent 的通用骨架(A 分支)
└─ guide/agent-loop.md(待写) → 代表作 smolagents / pocketflow
看「循环 + 工具调用 + 记忆」这套共性 DNA 怎么被抽象成框架。
第 3 站 让 agent 记得住、查得到(C 分支)
└─ guide/knowledge-feed.md(待写) → zep / ragflow / gpt-researcher
记忆(记交互)和检索(查文档)是两件事,一起看才分得清。
第 4 站 让动作安全落地(D 分支)
└─ guide/sandbox-runtime.md(待写) → e2b / daytona
理解「为什么生成的代码必须关进沙箱」,这是 B 分支的底座。
第 5 站 做成产品并放心上线(E + F 分支)
└─ guide/agent-products.md → guide/trust-ops.md(待写)
外壳怎么搭,以及上线前怎么评测/追踪/红队不翻车。
给赶时间的人: 只读 guide/coding-agents.md + aider/index.md。把「一个 agent 工程到底难在哪」吃透,其余 5 条分支都是这套共性直觉的变体——只是把「动作」从「改代码」换成了「查文档/控浏览器/搭流程」。