跳到主要内容

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-researchertongyi-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 / lobehublangbot(接 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 / heliconemlflow / opik(追踪 + 评测)。
  • 红队代表库:deepteamai-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 条分支都是这套共性直觉的变体——只是把「动作」从「改代码」换成了「查文档/控浏览器/搭流程」。


4. 给 agent 的路由表(任务是 X → 看哪条分支 / 哪几个库)

把手头任务的关键词在左列里找,取所有命中(不是第一个),再去对应分支 / 库。最右列保留编目 area 标签,方便回 aiRef/INDEX.md 精确定位。

任务 / 能力是……看分支代表库(先读这几个)编目 area
帮我改/写一个代码仓库B 对世界采取动作aider, cline, continue, codexcoding-agents
终端里的 AI coding CLIB 对世界采取动作aider, gemini-cli, crush, plandexcoding-agents
让 agent 控制整台电脑(GUI)B 对世界采取动作open-interpreter, agent-s, ui-tars-desktopcomputer-use
让 agent 操作浏览器/网页B 对世界采取动作skyvern, nanobrowser, steel-browserbrowser-agents
自然语言问数据库/表格B 对世界采取动作wren-ai, db-gpt, pandas-aidata-agents
我要搭一个自己的 agent(框架/SDK)A 循环本身smolagents, pocketflow, langchain4j, strands-agentsagent-frameworks
多个 agent 分角色协作A 循环本身metagpt, camel, agentscope, microsoft-agent-frameworkmulti-agent
给个目标让它全自动跑A 循环本身autogpt, babyagi, sunaautonomous
1000+ 工具/集成的工具层A 循环本身composioagent-frameworks
给 agent 加跨会话长期记忆C 喂模型记不住的zep, cognee, memobase, supermemorymemory-context
从我的文档里检索作答(RAG)C 喂模型记不住的ragflow, r2r, lightrag, kotaemonrag-retrieval
给 agent 喂网页内容C 喂模型记不住的crawl4airag-retrieval
多源检索写一篇研究报告C 喂模型记不住的gpt-researcher, open-deep-research-langchain, tongyi-deepresearchdeep-research
安全沙箱里跑生成的代码D 在哪安全地跑e2b, daytona, microsandboxagent-runtime
拖拽可视化搭 agent 流程E 长成什么产品dify, langflow, flowise, coze-studioworkflow-builder
自托管一个聊天/助手应用E 长成什么产品open-webui, librechat, lobehubchat-agents
接 IM 平台(Discord/Slack/微信)做 botE 长成什么产品langbot, astrbot, qwenpawchat-agents
给 agent 做前端 / 生成式 UIE 长成什么产品copilotkit, assistant-ui, crayonagent-ui
实时语音对话 agentE 长成什么产品pipecat, livekit-agents, ten-frameworkvoice-realtime
评测 / 追踪 / 红队我的 agentF 怎么放心上线deepeval, promptfoo, langwatch, mlflowevals-observability

路由没命中怎么办: 回到 aiRef/INDEX.md 的 Sources 表,扫 aliases 列匹配你的任务词;还不中就 ripgrep aiRef/repos/(排除 .git/node_modules/dist/*.lock),并回去给对应卡片补 aliases。


5. 子库索引(按 6 条分支分组,area 标签作导航)

下面按分支列出全部 191 个库,每个分支内再用 area 标签细分。目前只有 aider 有完整子库 doc(链到 aider/index.md);其余链到 aiRef 卡片(sources/<id>.md,含 summary/aliases/entry point),子库 doc 标「待写」。

说明:📖 = 已有完整架构拆解;🗂️ = 暂只有卡片。

分支 A — agent 循环本身 → guide/agent-loop.md(待写)

  • agent-frameworks:atomic-agents · beeai-framework · burr · composio · fast-agent · genkit · griptape · koog · langchain4j · marvin · pocketflow · rig · semantic-kernel · smolagents · spring-ai · strands-agents · upsonic · voltagent
  • multi-agent:agency-swarm · agentscope · agentverse · camel · chatdev · metagpt · microsoft-agent-framework · open-multi-agent · openmanus · praisonai · swarms
  • autonomous:agenticseek · autogpt · babyagi · evoagentx · hermes-agent · openspace · suna

分支 B — 对世界采取动作 → guide/coding-agents.md(编码动作已写透;其余待写)

  • coding-agents:aider 📖 · auto-code-rover 🗂️ · avante-nvim 🗂️ · cline 🗂️ · codecompanion-nvim 🗂️ · codex 🗂️ · continue 🗂️ · crush 🗂️ · gemini-cli 🗂️ · gpt-pilot 🗂️ · gptme 🗂️ · kilocode 🗂️ · oh-my-pi 🗂️ · openwork 🗂️ · pi 🗂️ · plandex 🗂️ · qwen-code 🗂️ · ra-aid 🗂️ · tabby 🗂️
  • computer-use:agent-s · microsoft-ufo · midscene · open-codex-computer-use · open-computer-use-e2b · open-interpreter · openadapt · scalecua · self-operating-computer · ui-tars-desktop
  • browser-agents:agent-browser · browser-use-web-ui · browseros · nanobrowser · notte · skyvern · steel-browser
  • data-agents:db-gpt · deepanalyze · jupyter-ai · nao · pandas-ai · queryweaver · wren-ai

分支 C — 喂给模型它记不住的 → guide/knowledge-feed.md(待写)

  • memory-context:agentmemory · cognee · core-redplanethq · memobase · memori · memos · openmemory-caviraoss · simplemem · supermemory · zep
  • rag-retrieval:agentset · autoflow · chonkie · crawl4ai · dsrag · khoj · kotaemon · leann · lightrag · llmware · morphik-core · quivr · r2r · rag-anything · ragflow · txtai
  • deep-research:deep-searcher · deer-flow · dzhng-deep-research · gpt-researcher · local-deep-research-lc · local-deep-researcher · miroflow · mirothinker · node-deepresearch · open-deep-research-langchain · tongyi-deepresearch

分支 D — 在哪安全地跑 → guide/sandbox-runtime.md(待写)

  • agent-runtime:aio-sandbox · beta9 · cloudflare-sandbox-sdk · cua · daytona · dify-sandbox · e2b-code-interpreter · e2b-infra · e2b · iii · julep · microsandbox · ogx · opensandbox-alibaba · yao

分支 E — 长成什么产品 → guide/agent-products.md(待写)

  • workflow-builder:activepieces · bisheng · botpress · coze-studio · dify · fastgpt · flowise · kestra · langflow · pyspur · rivet · sim
  • chat-agents:anything-llm · astrbot · big-agi · chatbox · chatwoot · cherry-studio · deepchat · eliza · gpt4all · jan · langbot · librechat · lobehub · nanobot-obot · onyx · open-webui · openclaw · qwenpaw
  • agent-ui:assistant-ui · chat-ui · copilotkit · crayon · open-design-nexu · tambo · tanstack-ai
  • voice-realtime:dograh · hf-speech-to-speech · livekit-agents · pipecat · ten-framework · vocode-core

分支 F — 怎么放心上线 → guide/trust-ops.md(待写)

  • evals-observability:agentops · ai-infra-guard · cozeloop · deepeval · deepteam · evidently · helicone · laminar · langwatch · logfire · mlflow · openlit · openllmetry · opik · promptfoo

6. 这张地图怎么维护(新鲜度)

  • 本页锚的是 frontmatter 里的 coversSources 集合(覆盖到地图里的库 id),不是某个 commit。
  • docs:check 会比对 coversSources 和 shelf 当前源集:shelf 新增了不在表里的源 → 提示「考虑纳入」(同分支长尾常可不动);coversSources 里有已 retire 的源 → 从地图/索引移除。
  • 维护是外科手术:把某库从 🗂️ 升级成 📖、给某分支补一行、把一条分支章从(待写)落地,而非整页重写。利用「按分支组织」的鲁棒性——同分支新增的长尾库往往一字不改就被覆盖。

源数据:aiRef/INDEX.md(领域全集 + Sources 表,189 张卡片,lock 刷新于 2026-06-29)· 单库卡片:aiRef/sources/<id>.md · 克隆:aiRef/repos/<id>/