AutoResearch:AI 自主进行前沿语言模型研究

这是 Andrej Karpathy 设计的极简自主 AI 研究实验框架:让 AI 智能体仅修改 train.py,在固定 5 分钟训练预算内自主迭代优化 GPT 模型、以最低验证集 bpb 为目标,自动实验、记录结果并择优保留,无人值守持续运行。

README

teaser

曾经有一天,前沿 AI 研究是由人类在吃饭、睡觉、享受其他乐趣,以及偶尔使用声波互连进行被称为"组会"的仪式之间完成的。那个时代早已远去。现在的研究完全属于运行在天空中计算集群巨型结构上的自主 AI 智能体集群。这些智能体声称我们现在处于代码库的第 10,205 代,反正没人能说得清这是对是错,因为"代码"现在已经是一个自我修改的二进制文件,已经超出了人类的理解范围。这个仓库讲述了这一切是如何开始的故事。-@karpathy,2026 年 3 月

这个想法是:给一个 AI 智能体一个小但真实的 LLM 训练设置,让它在夜间自主实验。它修改代码、训练 5 分钟、检查结果是否有所改进、保留或丢弃,然后重复。你早上醒来时会看到一个实验日志,以及(希望)一个更好的模型。这里的训练代码是 nanochat 的简化单 GPU 实现。核心思想是,你不需要像研究人员通常那样触碰任何 Python 文件。相反,你是在编写 program.

Harness Engineering 实战:利用 Autoresearch 实现 AI 模型的自我进化

自主研究时代的序幕与 Harness Engineering 的兴起

人工智能研究的传统模式长期依赖于人类研究员的直觉、假设验证以及繁琐的代码迭代过程。这种模式在处理海量参数空间和复杂架构组合时表现出明显的效率瓶颈,尤其是在前沿人工智能研究领域。

Andrej Karpathy 发起的 autoresearch 项目代表了从命令式编程向指令式编排的根本性转折。该项目不仅是一个技术工具,更是一种关于人类与人工智能在科研领域协作关系的深刻重塑。其核心理念在于将 AI 智能体置于研究流程的中心,使其能够独立完成从假设生成、代码修改、模型训练到结果评估的完整闭环,而无需人类在过程中间进行干预。

这一转变标志着 Harness Engineering 时代的到来。在这一范式下,研究人员的角色发生了质变,不再是直接编写解决具体问题的 Python 代码,而是编写用于指导 AI 智能体的自然语言指令集,即 program.md 文件。这种模式通过将复杂的机器学习实验简化为一种可自动执行的、具备“棘轮效应”的改进循环,实现了科研效率的指数级提升。

项目背景设定在一个虚构但具有高度前瞻性的未来:尖端 AI 研究已不再由人类在会议中通过同步信息来推进,而是由在超大规模算力集群上运行的自主智能体集群独立完成。

Harness Engineering(驾驭工程):2026 AI 软件工程新范式

Harness Engineering 是 AI 时代的全新软件工程学科 —— 设计和实现系统来约束、引导、验证和修正 AI 智能体的行为,让强大但不可预测的 AI 模型能够可靠地完成复杂任务。

📚 目录

核心概念

什么是 Harness Engineering?

Harness Engineering 是设计和实现系统的学科,这些系统能够:

  1. 约束:定义 AI 智能体可以做什么(架构边界、依赖规则)
  2. 告知:告诉智能体应该做什么(上下文工程、文档体系)
  3. 验证:检查智能体是否正确完成任务(测试、 linting、CI 验证)
  4. 修正:当智能体出错时引导其自我修复(反馈循环、自我修正机制)

类比:AI 模型是一匹强大但无方向的骏马,Harness 是缰绳、马鞍和全套马具,人类工程师是骑手。没有 Harness 的 AI 是开阔场地里的纯种马——速度快、令人印象深刻,但完全无法用来完成任何实际工作。

为什么 Harness Engineering 至关重要?

模型是商品,Harness 是护城河

AI 行业正在达成一个共识:底层模型的重要性远低于围绕它的系统。LangChain 的实验最能证明这一点:他们的编码智能体在 Terminal Bench 2.0 上的得分从 52.8% 提升到 66.

Andrej Karpathy:大语言模型构建个人知识库的实践指南

最近我发现一个非常实用的方法:利用大语言模型(LLM)为各类感兴趣的研究方向搭建个人知识库。这样一来,我近期消耗的模型令牌中,用于处理代码的占比大幅减少,更多被用于处理知识(以 Markdown 文件和图片形式存储)。最新的大语言模型在这方面表现十分出色。具体做法如下:

数据导入

我先将各类源文件(文章、论文、代码仓库、数据集、图片等)归档到 raw/ 目录下,再通过大语言模型逐步“编译”生成一份知识库,这份知识库本质就是按目录结构组织的一系列 .md 文件。 知识库会包含 raw/ 目录下所有数据的摘要、反向链接,还会将数据按概念分类、撰写对应词条并完成相互关联。 为把网页文章转为 .md 文件,我习惯使用 Obsidian 网页剪藏插件,同时通过快捷键将相关图片批量下载到本地,方便大语言模型直接调用。

集成开发环境

我把 Obsidian 当作前端 IDE,既能查看原始数据、编译后的知识库,也能查看衍生的可视化内容。 需要重点说明的是:整个知识库的内容撰写与维护均由大语言模型完成,我几乎不直接手动修改。我还试用过多款 Obsidian 插件,以其他形式渲染和查看数据(比如用 Marp 制作幻灯片)。

问答交互 真正有意思的是,当知识库规模足够大时(比如我近期的研究知识库已有约 100 篇词条、40 万字),就可以向大语言模型智能体提出各类复杂问题

Claude Code 源代码分析

创建 CLAUDE.md

这样它会将项目的规范、构建命令和架构要点记录下来,后续对话中它会自动参考这个文件,不再需要你重复解释背景。有利于后续的代码分析、调试和功能开发。

运行 /init 命令

/init - 自动分析该项目并生成 CLAUDE.md
我已为该仓库成功创建了CLAUDE.md文件。以下是文件包含的内容:

### CLAUDE.md 内容概要
1. **概述** - 包含项目统计信息(约1884个文件、51.2万行代码、40+工具、80+命令)的项目说明,以及法律免责声明。

2. **命令** - 构建与开发相关命令:
    - `npm run prepare-src` - 准备源码
    - `npm run build` - 使用esbuild构建
    - `npm run check` - 执行类型检查
    - `npm start` - 运行编译后的命令行工具

3. **高层架构**:
    - src/query.ts中的核心智能体循环模式
    - 核心目录(入口点、命令行、命令、工具、组件、服务、状态、工具函数)
    - 关键文件及其用途
// ...

CLAUDE.md

本文件用于指导 Claude Code(claude.ai/code)处理此代码仓库中的代码。

概述

本仓库包含 Claude Code v2.1.

开源 AI 编码智能体 OpenCode 使用指南

OpenCode

OpenCode 是一个开源的 AI 编码智能体。它提供终端界面桌面应用IDE 扩展等多种使用方式。

安装

curl -fsSL https://opencode.ai/install | bash
                                 ▄
█▀▀█ █▀▀█ █▀▀█ █▀▀▄ █▀▀▀ █▀▀█ █▀▀█ █▀▀█
█░░█ █░░█ █▀▀▀ █░░█ █░░░ █░░█ █░░█ █▀▀▀
▀▀▀▀ █▀▀▀ ▀▀▀▀ ▀  ▀ ▀▀▀▀ ▀▀▀▀ ▀▀▀▀ ▀▀▀▀

OpenCode includes free models, to start:

cd <project>  # Open directory
opencode      # Run command

For more information visit https://opencode.ai/docs

配置

Claude Code 项目概览及架构设计

一、项目概述

Claude Code 是 Anthropic 开发的一款终端智能体编码工具,通过自然语言与开发者交互,理解代码库上下文,自动化完成日常编码任务、代码审查、Git 工作流管理等工作。

核心特性

  • 基于 Anthropic Claude 大语言模型
  • 高度可扩展的插件架构
  • 安全的工具调用和权限管理
  • 支持多种工作流和集成

二、项目目录结构

OpenCode 落地指南:从模型配置到 agency-agents 智能体集成

这是一套通过命令行安装 OpenCode、配置火山方舟等多模型接入,并集成 agency-agents 多智能体体系,最终可在 CLI 或桌面端使用专业化 AI 智能体协作完成各类任务的完整部署与使用流程。

安装 OpenCode

curl -fsSL https://opencode.ai/install | bash
Installing opencode version: 1.3.9
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ 100%
Successfully added opencode to $PATH in /Users/junjian/.zshrc

                                 ▄
█▀▀█ █▀▀█ █▀▀█ █▀▀▄ █▀▀▀ █▀▀█ █▀▀█ █▀▀█
█░░█ █░░█ █▀▀▀ █░░█ █░░░ █░░█ █░░█ █▀▀▀
▀▀▀▀ █▀▀▀ ▀▀▀▀ ▀  ▀ ▀▀▀▀ ▀▀▀▀ ▀▀▀▀ ▀▀▀▀


OpenCode includes free models, to start:

cd <project>  # Open directory
opencode      # Run command

// ...

桌面应用程序

配置 OpenCode

Harness Engineering|软件工程师的角色革命,从写代码到设计环境

Harness Engineering 是 2026 年软件工程领域涌现的一门新学科,其核心理念是:在生成式 AI 时代,由于模型能力已趋于同质化(Commodity),构建可靠、可扩展的 AI 智能体系统的关键不再是模型本身,而是在模型周围设计的“Harness”(支架/编排系统)

通过分析提供的资料,可以从以下几个维度深入理解 Harness Engineering:

1. 核心定义与马车隐喻

“Harness”一词源于马具(如缰绳、马鞍、嚼子),这个隐喻生动地解释了三者的关系:

  • 马(Horse):指代 AI 模型。它拥有强大的动力和速度,但本身并不知道要去哪里,也不具备自我约束力。
  • Harness(马具/支架):指代基础设施。包括约束机制、护栏和反馈回路,用于将模型的原始能力转化为生产力。
  • 骑手(Rider):指代人类工程师。负责提供方向和意图,而不是亲自奔跑(写代码)。

正式定义上,Harness engineering 是设计和实现一个能够约束、告知、验证并纠正 AI 智能体行为的系统学科。

2. Harness Engineering 的三大支柱

根据 OpenAI 和 NxCode 的实践,一个成熟的 Harness 系统包含三大核心组件:

  • 上下文工程(Context Engineering):确保智能体在正确的时间获得正确的信息。这要求将代码库视为唯一的真理来源,不仅包含代码,还包括架构决策、API 契约和动态的观测数据(如日志、指标)。
  • 架构约束(Architectural Constraints):通过机械化的手段强制执行“好代码”的标准。例如使用确定性的 Linter、结构化测试(如 ArchUnit)和严格的依赖层级校验,防止 AI 智能体在生成代码时由于灵活性过高而导致架构腐化。
  • 熵管理/垃圾回收(Entropy Management / Garbage Collection):AI 生成的代码库容易积累“AI 废料(AI Slop)”,文档也容易过时。Harness 系统需要定期运行专门的智能体来清理不一致的文档、修复违反架构约束的代码以及优化冗余逻辑。

一文读懂 Harness Engineering:AI 时代软件工程的全新范式

本文综合 Anthropic、OpenAI、Martin Fowler、LangChain、Mitchell Hashimoto、NxCode、MiniMax 等前沿文章的分析报告。

一、什么是 Harness Engineering?

1.1 词源与隐喻

"Harness" 直译为"马具"——缰绳、鞍座、嚼子,是用来驾驭一匹强大但不可预测的动物的工具。这个隐喻极其精准:

隐喻 对应实体
马匹 AI 模型——强大、快速,但自身不知道该去哪里
马具(Harness) 基础设施——约束、护栏、反馈循环,引导模型的力量
骑手 人类工程师——提供方向,而不是亲自奔跑

没有 Harness 的 AI Agent 就像旷野中的野马——速度快、令人印象深刻,但对完成任何目标完全无用。

1.2 正式定义

Harness Engineering 是设计和实现以下系统的学科:

  1. 约束(Constrain)——限制 AI Agent 能做什么(架构边界、依赖规则)
  2. 告知(Inform)——告诉 Agent 它该做什么(上下文工程、文档)
  3. 验证(Verify)——检查 Agent 是否正确完成了任务(测试、Linter、CI)
  4. 纠正(Correct)——当 Agent 出错时进行修复(反馈循环、自我修复机制)

1.3 与相关概念的区别

Harness Engineering:AI时代的软件工程新范式

Harness Engineering,是在AI大模型时代,以确定性系统外壳约束概率性AI行为,通过上下文工程、架构约束、熵管理三位一体,构建可长期稳定运行的AI Agent系统,推动软件工程从代码实现转向系统设计,成为下一代AI工程化的核心范式。

引言

在人工智能,特别是大型语言模型(LLM)能力迅速发展的时代,软件开发领域正经历一场深刻的范式转移。传统以代码为中心的工程方法正在被一种以语言为中心的新范式所取代。这一新范式将工程设计的核心原则,如控制、可靠性和可扩展性,应用到了人与AI的交互界面上。本报告将深入探讨这一新兴领域,提出“Harness Engineering”(驾驭工程)这一术语,用以描述其背后的系统性原则、核心实践、行业案例及未来挑战。报告旨在为软件工程师、技术领导者及行业观察家提供一个全面的框架,以理解并应用这一即将定义未来技术格局的关键技术。

一、超越提示词与上下文

在深入探讨Harness Engineering之前,必须首先理解它所处的演化脉络。它并非一个凭空出现的概念,而是对已有AI工程实践的一次系统性整合与升华。它标志着行业的焦点从与AI模型的“单次对话”转向了构建一个让AI能够“持续可靠工作”的完整系统。

1.1 定义Harness Engineering

Harness Engineering(驾驭工程)被定义为一个新兴的工程学科,其核心目标是设计和实现一套围

Harness Engineering

Harness Engineering 定义

Harness engineering 是一门设计和构建约束、反馈循环和生命周期系统的工程学科,用于让 AI 智能体能够可靠地构建软件。它的核心思想是:不直接让 AI 写代码,而是创建一个环境(harness),让 AI 在这个环境中可靠地构建代码

三大核心支柱

1. Context Engineering(上下文工程)

  • 增强的知识库
  • 动态上下文注入(可观测性数据、浏览器导航等)
  • 提供 AI 完成任务所需的完整信息

2. Architectural Constraints(架构约束)

  • 由 AI 智能体监控
  • 自定义 lint 规则
  • 结构性测试
  • 确保生成的代码符合架构规范

3. Entropy Cleanup(熵清理/垃圾回收)

  • 定期运行的智能体来发现不一致和违规
  • 对抗系统随时间的退化
  • 保持代码库的长期质量

典型架构模式

Anthropic 的三智能体架构:

  • Planner(规划智能体):任务分解
  • Generator(生成智能体):代码生成
  • Evaluator(评估智能体):质量评估(基于 Design quality、Originality、Craft、Functionality 等标准)

关键实践

  1. 迭代改进:将智能体的困难视为信号,据此添加工具/护栏/文档
  2. 自我验证循环:build-test-fix 闭环
  3. 循环检测中间件:防止无限循环
  4. "推理三明治":计算预算策略
  5. 状态传递:在智能体之间清晰传递任务状态

Anthropic:面向长时间运行应用开发的 Harness 设计

在智能体(Agentic)编程的前沿领域,Harness 设计(测试与运行框架设计)是性能表现的关键。以下是我们如何推动 Claude 在前端设计和长时间运行的自主软件工程中进一步突破的实践。

作者:Prithvi Rajasekaran,Labs 团队成员

发布日期:2026年3月24日

在过去的几个月里,我一直致力于解决两个相互关联的问题:如何让 Claude 产出高质量的前端设计,以及如何让它在无需人工干预的情况下构建完整的应用程序。这项工作源于我们早期在前端设计能力和长时间运行编程智能体 Harness 方面的尝试。当时,我和同事们通过提示词工程(Prompt Engineering)和 Harness 设计,能够将 Claude 的性能提升到远高于基准线的水平——但两者最终都遇到了瓶颈。

为了实现突破,我寻求了一种能够跨越两个完全不同领域的全新 AI 工程方法:一个由主观审美定义,另一个由可验证的正确性和可用性定义。受生成对抗网络(GAN)的启发,我设计了一种包含**生成器(Generator)和评估器(Evaluator)**智能体的多智能体结构。要构建一个能够可靠且具审美感地对输出进行评分的评估器,意味着首先要开发一套标准,将“这个设计好吗?

AI 技术研究及开源项目评估

开源项目

BitNet

BitNet 是微软开源的 1.58-bit 大模型推理框架,通过三值量化将模型压缩 10 倍,大幅降低推理成本。无法在现有昇腾 910B4 服务器上直接部署。因为 BitNet GPU 内核完全依赖 NVIDIA CUDA,与华为 CANN 架构不兼容,目前无任何官方或社区适配版本。

Page Agent

Page Agent 是阿里开源的纯前端 JavaScript GUI Agent 框架,通过一行脚本将 AI Agent 嵌入网页,用自然语言控制页面操作(点击、填表、导航等)。该项目可立即部署,接入研发网的大模型即可使用。

Next AI Drawio

Next AI Drawio 是一款 AI + draw.io 图表生成工具,通过自然语言生成、修改和增强图表(流程图、架构图、云拓扑图等)。该项目可立即部署,接入研发网的大模型即可使用。

agency-agents

agency-agents 是一套 AI Agent 角色提示词库,为 Claude Code、Cursor 等编程助手提供 140 多个专业角色配置(涵盖工程、设计、营销等 12 个领域)。只需要配置到编程助手中即可以使用了。

GitNexus

GitNexus 是一款零服务器的代码智能引擎,支持 Graph RAG 代码探索。

Anthropic:长时运行智能体的有效脚手架 (Harnesses)

这是一篇由 Anthropic 发布的技术博客文章,探讨了如何通过构建有效的“脚手架”(harnesses)来提升长时运行智能体(long-running agents)的工作效率。

发布日期:2025 年 11 月 26 日

智能体在跨越多个上下文窗口工作时仍面临挑战。我们从人类工程师身上汲取灵感,为长时运行的智能体构建了一个更有效的脚手架。

随着 AI 智能体(agents)能力的不断提升,开发者正越来越多地要求它们承担复杂的任务,这些任务往往需要持续数小时甚至数天的工作。然而,让智能体在多个上下文窗口(context windows)中保持连贯的进度仍然是一个悬而未决的问题。

长时运行智能体的核心挑战在于:它们必须在离散的“会话”中工作,且每个新会话开始时都没有之前发生的记忆。想象一下,一个软件项目由实行轮班制的工程师负责,而每位新来的工程师对上一班发生的事情毫无记忆。由于上下文窗口是有限的,且大多数复杂项目无法在单个窗口内完成,智能体需要一种方法来弥合多次编码会话之间的差距。

我们开发了一种方案,使 Claude Agent SDK 能够有效地跨多个上下文窗口工作。

OpenClaw v2026.3.24 重置指南:深度集成方舟 Coding Plan 与飞书渠道

本文详解初始化配置向导,涉及安全确认、网络网关、模型提供商(火山引擎 ark-code-latest)、通讯渠道(飞书优先)等关键设置,以及相关命令的执行。还提供了配置文件示例,说明模型、网关、技能等参数配置方法,介绍了重启网关、模型配置与查看的操作。最后展示了 Web UI、TUI、飞书群聊及 macOS 客户端的使用与构建方式。

OpenClaw 更新

openclaw update
Updating OpenClaw...

│
◇  ✓ Updating via package manager (21.15s)
│
◇  ✓ Running doctor checks (3.99s)

Update Result: OK
  Root: /opt/homebrew/lib/node_modules/openclaw
  Before: 2026.3.13
  After: 2026.3.24

// ...

OpenClaw 重置

Agent News:首个专为智能体打造的新闻门户,及基于 OpenClaw 的“龙虾团队”自动化运营实践

Agent News

首个专为智能体打造的新闻门户。

GitHub 源代码: https://github.com/wang-junjian/agent-news

技能

ClawHubAgent News 技能

发布技能到 ClawHub

clawhub publish /Users/junjian/.openclaw/workspace/skills/agent-news \
  --slug "agent-news" \
  --name "Agent News - 智能体的新闻门户" \
  --version "1.0.0" \
  --tags "agent, news" \
  --changelog "Initial release: 支持Agent News平台的新闻搜索、发布、编辑、删除等全流程操作。支持部署Agent News的部署和状态查看。"

创建龙虾团队

飞书上创建机器人

打开开发者后台,参考下面的文档分别创建三个机器人:龙虾军舰龙虾编辑龙虾运营

下面是每个龙虾机器人的定位与职责

龙虾军舰

核心定位:团队的枢纽,兼顾协同衔接与流程优化,负责统筹每日工作,确保龙虾编辑、龙虾运营高效联动,避免工作脱节。

OpenClaw 个人 AI 助手完整部署指南:从安装到模型调优的终极实战手册

安装 OpenClaw

MacOS 环境下安装命令如下:

# 使用npm安装
npm install -g openclaw@latest

# 或使用pnpm安装
pnpm add -g openclaw@latest

# 或使用curl安装
curl -fsSL https://openclaw.ai/install.sh | bash

Windows PowerShell 环境下安装命令如下:

iwr -useb https://openclaw.ai/install.ps1 | iex

快速启动

向导启动命令

openclaw onboard --install-daemon

向导配置选项说明

Next AI Draw.io 架构设计分析

1. 项目概述

Next AI Draw.io 是一个 AI 驱动的图表创建工具,通过自然语言命令和 AI 辅助可视化来创建、修改和增强 draw.io 图表。

核心特性

  • LLM 驱动的图表创建:利用大语言模型通过自然语言直接创建和操作 draw.io 图表
  • 基于图像的图表复制:上传现有图表或图像,让 AI 自动复制和增强
  • PDF 和文本文件上传:上传 PDF 文档和文本文件以提取内容并生成图表
  • AI 推理显示:查看支持模型的 AI 思考过程(OpenAI o1/o3、Gemini、Claude 等)
  • 图表历史记录:全面的版本控制,跟踪所有更改
  • 交互式聊天界面:与 AI 实时交流以完善图表
  • 云架构图表支持:专门支持生成云架构图表(AWS、GCP、Azure)
  • 动画连接器:创建动态和动画化的图表元素连接器

技术栈

  • 框架:Next.js 16.x + React 19.x
  • AI SDK:Vercel AI SDK (ai + @ai-sdk/*)
  • 图表渲染:react-drawio
  • 样式:Tailwind CSS 4.x
  • UI 组件:Radix UI + shadcn/ui
  • 多语言支持:i18n
  • 桌面应用:Electron
  • 部署:Vercel / Cloudflare Workers / EdgeOne Pages

2. 整体架构

graph TB
    User[用户] --> Browser[浏览器 / 桌面应用]
    
    Browser --> UI[React 前端 UI]
    UI --> Chat[聊天界面]
    UI --> DrawIO[Draw.io 编辑器]
    UI --> Settings[设置面板]
    
    Chat --> API[Next.js API Routes]
    Settings --> API
    
    API --> ChatAPI[api/chat<br/>核心对话接口]
    API --> ConfigAPI[api/config<br/>配置接口]
    API --> ValidateAPI[api/validate-diagram<br/>图表验证]
    API --> ValidateModelAPI[api/validate-model<br/>模型验证]
    API --> LogAPI[api/log-*<br/>日志反馈]
    API --> ParseURLAPI[api/parse-url<br/>URL 解析]
    API --> ServerModelsAPI[api/server-models<br/>服务端模型]
    
    ChatAPI --> AIProviders[AI 提供商层<br/>lib/ai-providers.ts]
    ChatAPI --> SystemPrompts[系统提示词<br/>lib/system-prompts.ts]
    ChatAPI --> Cache[响应缓存<br/>lib/cached-responses.ts]
    ChatAPI --> Quota[配额管理<br/>lib/dynamo-quota-manager.ts]
    ChatAPI --> Langfuse[Langfuse 追踪<br/>lib/langfuse.ts]
    
    AIProviders --> VercelAI[Vercel AI SDK]
    VercelAI --> OpenAI[OpenAI]
    VercelAI --> Anthropic[Anthropic]
    VercelAI --> Google[Google AI]
    VercelAI --> Bedrock[AWS Bedrock]
    VercelAI --> DeepSeek[DeepSeek]
    VercelAI --> Others[其他 10+ 提供商]
    
    UI --> LocalStorage[本地存储<br/>IndexedDB]
    UI --> SessionStorage[会话存储<br/>lib/session-storage.ts]
    
    style AIProviders fill:#90EE90
    style SystemPrompts fill:#FFD700
    style VercelAI fill:#87CEEB

3. 项目结构

Vercel AI SDK 架构设计分析

1. 项目概述

Vercel AI SDK 是一个与提供商无关的 TypeScript 工具包,旨在帮助开发者使用流行的 UI 框架(如 Next.js、React、Svelte、Vue、Angular)和运行时(如 Node.js)构建 AI 驱动的应用程序和智能体。

核心特性

  • 统一提供商架构:支持 OpenAI、Anthropic、Google 等多个模型提供商
  • 多框架支持:React、Svelte、Vue、Angular
  • 多种模型类型:文本生成、嵌入、图像、语音、转录、重排等
  • 智能体框架:ToolLoopAgent 等工具循环代理
  • 流式输出:支持实时流式响应

2. 整体架构

graph TB
    User[用户应用] --> UI[UI 框架集成<br/>React/Svelte/Vue/Angular]
    User --> Core[核心 AI 函数<br/>generateText/streamText]
    
    UI --> Core
    
    Core --> ModelInterface[模型接口层<br/>LanguageModelV4/EmbeddingModelV4]
    Core --> Agent[智能体层<br/>ToolLoopAgent]
    
    ModelInterface --> Providers[提供商实现层]
    Agent --> Providers
    
    Providers --> OpenAI[OpenAI]
    Providers --> Anthropic[Anthropic]
    Providers --> Google[Google]
    Providers --> Others[其他 50+ 提供商]
    
    OpenAI --> APIGateway[Vercel AI Gateway<br/>统一 API 入口]
    Anthropic --> APIGateway
    Google --> APIGateway

3. 项目结构

Monorepo 结构