跳到主要内容

AI Frontier Reference — 领域地图与原理综述

30 秒导读: 这是一货架**「造 AI agent 用的实现库」——agent 框架、运行时、RAG/上下文栈、记忆系统、评测/可观测工具、写代码的 agent、浏览器 agent,以及有影响力的研究代码库。它们看着五花八门,但全在解同一个根本问题**:一个原始大模型只会「一次性、无状态地吐一段文字」,而一个有用的产品需要它反复行动、用上真实世界的信息和工具、并且可靠。这货架就是补上「原始模型 → 可靠 agent」之间那一整段工程缺口的零件库。读完本页你能说清:这些库共同在干什么、由此分出哪几条主要分支、每条分支里代表库的区别,再顺着某条分支下钻到具体库。


1. 这是什么货架 + 共性(主干)

1.1 先认清这货架装的是什么

这是 ai-frontier-reference:你拿来构建 agent 的框架/运行时/研究实现。它有两个姊妹货架,边界要分清:

货架装什么一句话
ai-frontier-reference(本货架)框架 / 运行时 / 研究实现你用它 agent
ai-protocol-reference规范 / 标准 / 协议agent 之间怎么对话的契约(MCP、A2A、Agent Skills 等)
ai-agent-reference可直接用的 agent 产品现成的 agent 应用

本页只讲第一行。

1.2 抽丝剥茧:这些库共同在解决什么(主干)

把 43 个库表面的差异全剥掉,问一句:它们到底共同在跟什么较劲?

答案是同一件事——一个原始 LLM 的能力形状,和一个有用产品需要的能力形状,中间差了一大截,这货架就是来填这截的。

原始大模型(GPT、Claude、Gemini 这些)本质上是个**「给一段文字、预测下一段文字」的函数**。它有三个先天硬伤:

  1. 它只跑一次就停。 给一句话答一句话,不会自己「想一步、做一步、看看结果、再决定下一步」。
  2. 它只知道训练时见过的、和你这次塞给它的那点文字。 你公司的文档、此刻的网页、昨天的对话,它一概不知;上下文窗口一满就忘。
  3. 它什么也碰不到、也不保证对。 不能跑代码、不能点网页;而且它会一本正经地编,你很难知道它这次到底行不行。

一个真正能用的 agent,需要的恰恰是这些硬伤的反面:会多步行动、能用上真实世界的信息和工具、而且可靠

共性(主干),一句话: 这货架的全部库,都在把「一次性、无状态、什么都碰不到、不保证对的文字预测器」,改造成「会多步行动、扎根真实世界、可靠交付的 agent」——每个库各补其中一块缺口。

这就是树干。下面几条分支,正是这句共性按不同缺口自然分化出来的——不是按编目抽屉分的。


2. 分支地图(树干 → 主枝)

把「原始模型 → 可靠 agent」这段缺口拆开,会发现它天然分成六块,每块对应一条分支:让它动起来、给它知识、给它记忆、给它告诉它该做什么确认它行不行

主干:把「一次性文字预测器」改造成「会多步行动、扎根现实、可靠」的 agent

┌──────────────┬──────────────┬───────┴───────┬──────────────┬──────────────┐
▼ ▼ ▼ ▼ ▼ ▼
① 行动的循环 ② 扎根知识 ③ 跨时间记忆 ④ 伸进世界的手 ⑤ 告诉它该做什么 ⑥ 知道它行不行
agent-loop grounding-rag memory execution-env instruction eval-observability
「会多步」 「知道当下事实」 「记得过去」 「能动手做事」 「意图传得准」 「可度量、可信」
│ │ │ │ │ │
把一次调用 把外部文档/网页 跨会话记住并 给它安全沙箱去 提示工程 / 基准、追踪、
包成 think→act 检索进上下文, 更新关于你/世界 跑命令、改代码、 可复用 skill / RAG 评测、
→observe 循环, 基于真材料作答 的事实 操作浏览器 把提示当程序优化 agent RL 训练
并编排多 agent

下面逐条分支讲清:这条分支在补主干的哪块缺口、里头有哪些代表库、它们怎么分。每条都链到自己的分支章(主体在那里)。

分支① 行动的循环(guide/agent-loop.md)

补的缺口:模型「只跑一次就停」。 这条分支把一次模型调用,包成一个**「想一步 → 调工具 → 看结果 → 再决定要不要继续」的循环,这是 agent 之所以是 agent 的最小内核;往上还要解决多个 agent 怎么协作编排**(顺序、层级、群聊、交接)。

这是最大的一条分支。内部按「循环长什么形状」分几派:极简循环(mini-swe-agent、nanobot 把循环压到几十~一百行,证明内核多小)、图状有状态编排(langgraph 把循环画成带检查点、可中断、可回放的图)、多 agent 团队(crewai 的角色/任务、autogen 的事件驱动群聊、agno 的高性能团队、hkuds-clawteam 的协作研究)、第一方 SDK 的标准形状(openai-agents-python/js 的 handoff+guardrail、google-adk、pydantic-ai 的类型安全、mastra/vercel-ai-sdk 的 TS 栈、goose 的本地优先运行时)。代表库:langgraph、openai-agents-python、crewai、mini-swe-agent

分支② 扎根知识(guide/grounding-rag.md)

补的缺口:模型「只知道训练时和你这次塞的那点文字」。 这条分支(RAG / 上下文工程)在模型回答前,先去外部资料里检索相关片段、拼进上下文,让答案扎根在真实材料而非模型记忆上。

内部按「检索什么、怎么组织」分派:通用 RAG 框架(langchain 的最广生态、llamaindex 的索引/查询引擎、haystack 的显式 DAG 流水线)、图增强 RAG(hkuds-lightrag 用实体/关系图做双层检索)、多模态 RAG(hkuds-rag-anything 吃 PDF/表格/公式、hkuds-videorag 吃长视频)、长文研究型(storm 把「写一篇维基」拆成多视角检索+提纲+成文)。代表库:langchain、llamaindex、hkuds-lightrag

分支③ 跨时间的记忆(guide/memory.md)

补的缺口:模型「上下文一满就忘」。 RAG 解决「当下去查外部知识」,但 agent 还需要跨会话记住关于你和世界的事实、并随时间更新——这是另一回事:写什么、何时更新、怎么取回。

内部按「记忆放哪、谁来改」分派:自编辑记忆(letta/MemGPT 把上下文当 RAM、数据库当磁盘,让 agent 用工具自己改常驻记忆)、独立记忆服务(mem0 由 LLM 抽取/合并/检索用户记忆,可挂在循环里或做成服务)、时序知识图(graphiti 用双时间(事件时间 vs 写入时间)的实体图建记忆)。代表库:letta、mem0、graphiti。letta 已有完整子库 doc。

分支④ 伸进世界的手(guide/execution-environments.md)

补的缺口:模型「什么也碰不到」。 光会说不够,agent 要真的跑命令、改代码、点网页——这条分支提供安全可控的执行环境(代码沙箱 + 浏览器),让 agent 的「动作」落到真实系统上而不炸掉宿主。

内部按「在哪动手」分两大族:代码/终端环境(openhands 的事件流+Docker 沙箱、opencode/goose 的终端编码 agent、swe-agent 的 agent-计算机接口研究、swe-rex 把「在某处跑命令」抽象成可并行的会话运行时、mini-swe-agent 的纯 bash 极简)、浏览器环境(browser-use 把活 DOM 变成模型可操作的表示、stagehand 在 Playwright 上加 act/extract/observe 并能退化回确定性脚本)。代表库:openhands、swe-rex、browser-use

分支⑤ 告诉它该做什么(guide/instruction-authority.md)

补的缺口:模型「你怎么说,它怎么做——但意图常常传不准」。 上面四条让 agent 能动、能查、能记、能做;这条管怎么把意图可靠地灌进模型,是其余一切的「源头质量」。

内部按「靠什么传意图」分三派:手写提示的规范(anthropic-prompt-engineering 教 role/data/instructions/examples/format 的结构与少样本/XML/CoT 技法)、可复用的能力包(anthropic-skills 的生产级 SKILL.md:把指令拆进 SKILL.md+引用+脚本)、把提示当程序自动优化(dspy 用类型化 signature/module + optimizer 对着指标调提示/权重,而非手搓 prompt 字符串)。代表库:anthropic-prompt-engineering、anthropic-skills、dspy

分支⑥ 知道它行不行(guide/eval-observability.md)

补的缺口:模型「不保证对,你也看不见它在干嘛」。 前五条让 agent 能跑;这条让你度量它准不准、看见它每一步、甚至反过来训练它——把 agent 从「能跑」推到「可信、可改进」。

内部按「在什么时点看」分四派:基准与数据工厂(swe-bench 用真实 GitHub issue 评编码 agent、swe-smith 合成无限训练任务、openai-evals 的 YAML 评测注册表、openai-simple-evals 的极简参考实现)、RAG 专项评测(ragas 的忠实度/相关性指标 + 合成测试集)、生产可观测(langfuse 的 trace/prompt 管理、phoenix 基于 OTel 的 trace+评测)、用 RL 训练 agent(ragen 的 StarPO 把多轮交互当轨迹优化;hkuds-deepcode/deeptutor 这类研究 agent 也自带评测脚手架)。代表库:swe-bench、ragas、langfuse


3. 学习路径(先读哪条分支 → 再下钻哪个库)

这六条分支不是平级随便读,有个由内核往外扩的推荐顺序:

  1. 先读分支①「行动的循环」 —— 它是 agent 的最小内核,其余五条都是给这个循环加能力。建议从 guide/agent-loop.md 入门,再下钻最薄的 mini-swe-agent(一个文件看懂循环),想看「带状态/可中断的工业循环」就下钻 langgraph
  2. 再挑你最缺的那块能力分支:
    • 要让它「基于我的资料答」→ 分支②,下钻 langchainllamaindex
    • 要让它「记住我」→ 分支③,letta 已有完整子库 doc,直接读 docs/letta/
    • 要让它「真的动手做事/改代码」→ 分支④,下钻 openhands(代码)或 browser-use(网页)。
  3. 横向两条贯穿全程的分支最后补:⑤ 告诉它该做什么(任何分支的提示质量都靠它,先读 anthropic-prompt-engineering)和 ⑥ 知道它行不行(任何 agent 上线前都要它,编码 agent 先看 swe-bench)。

一句话精华: 想清楚你在补哪块缺口(动 / 知 / 记 / 做 / 教 / 验),就知道该进哪条分支、下钻哪个库。


4. 路由表 + 目录

4.1 按任务路由

你的任务是…看这条分支重点子库
搭一个会多步调工具的 agentguide/agent-loop.mdopenai-agents-python/js, mini-swe-agent, pydantic-ai
把 agent 工作流画成带状态/可中断的图guide/agent-loop.mdlanggraph, mastra
编排多个 agent 协作(团队/群聊)guide/agent-loop.mdcrewai, autogen, agno, hkuds-clawteam
让 agent 基于我的文档/知识库回答guide/grounding-rag.mdlangchain, llamaindex, haystack
对 PDF/表格/图片/视频做 RAGguide/grounding-rag.mdhkuds-rag-anything, hkuds-videorag, hkuds-lightrag
写长篇有引用的研究文章guide/grounding-rag.mdstorm
让 agent 跨会话记住用户guide/memory.mdletta (docs/letta/), mem0
把记忆建成时序知识图guide/memory.mdgraphiti
让 agent 跑命令/改代码/在沙箱里执行guide/execution-environments.mdopenhands, opencode, goose, swe-agent
给 agent 一个可并行的远程执行运行时guide/execution-environments.mdswe-rex
让 agent 操作浏览器guide/execution-environments.mdbrowser-use, stagehand
写好提示 / 写可复用 skillguide/instruction-authority.mdanthropic-prompt-engineering, anthropic-skills
把提示当程序自动优化guide/instruction-authority.mddspy
评测编码 agent / 造训练任务guide/eval-observability.mdswe-bench, swe-smith
评测 RAG 质量guide/eval-observability.mdragas
给生产 agent 加追踪/可观测guide/eval-observability.mdlangfuse, phoenix
通用 LLM 基准实现guide/eval-observability.mdopenai-evals, openai-simple-evals
用 RL 训练多轮 agentguide/eval-observability.mdragen

4.2 编目目录(area 标签,仅作导航)

提醒:下面是编目抽屉(东西放哪),不是上面的学习地图(知识怎么讲)。一个库常跨多条分支(如 langchain 同属①②、letta 同属①③、goose 同属①④、dspy 同属⑤⑥),以分支章为准。

area子库
agent-frameworksagno, anthropic-skills, autogen, crewai, google-adk-python, goose, hkuds-clawteam, hkuds-deeptutor, langchain, langgraph, letta, mastra, nanobot, openai-agents-js, openai-agents-python, pydantic-ai, ragen, vercel-ai-sdk
coding-agentsgoose, hkuds-deepcode, mini-swe-agent, opencode, openhands, swe-agent, swe-bench, swe-rex, swe-smith
browser-agentsbrowser-use, stagehand
rag-contextdspy, haystack, hkuds-lightrag, hkuds-rag-anything, hkuds-videorag, langchain, llamaindex, ragas, storm
memorygraphiti, letta, mastra, mem0
evals-observabilitydspy, google-adk-python, langfuse, openai-evals, openai-simple-evals, phoenix, ragas, swe-bench
prompt-authorityanthropic-prompt-engineering, anthropic-skills, dspy
web-interopvercel-ai-sdk
academichkuds-clawteam, hkuds-deepcode, hkuds-deeptutor, hkuds-lightrag, hkuds-rag-anything, hkuds-videorag, mini-swe-agent, nanobot, ragen, storm, swe-agent, swe-bench, swe-rex, swe-smith

4.3 子库 doc 进度

  • 已完成: docs/letta/(完整四章)
  • 其余 42 库: 子库 doc 待写;在分支章的对比矩阵里用克隆引用顶上,标 (TODO: 待 <id> 子库 doc)

货架共 43 个 active 源(aiRef/INDEX.md,lock 刷新于 2026-06-29)。本总纲覆盖全部 43 个。