2026年6月12日 2 分钟阅读

Eidentic 完全指南:开源全能型 AI Agent SDK,自带自进化记忆和生产级特性

tinyash 0 条评论

AI Agent 框架已经很多了——LangChain、LlamaIndex、CrewAI 各有所长。但它们往往只专注一个方向:要么是记忆系统,要么是编码沙箱,要么是编排引擎。真正把记忆、持久化执行、安全沙箱、成本控制、可观测性全打包在一起,还完全开源的——很少。

Eidentic 就是这样一个「全栈」方案。它是一个 TypeScript AI Agent SDK,核心卖点是自进化的四层记忆引擎 + 生产级基础设施(持久化 checkpoint、成本上限、安全隔离、GDPR 删除),而且 Apache-2.0 开源,没有企业版功能屏蔽。支持 Node、Bun、Deno 和 Edge 运行时。

这篇文章带你从安装到实战,完整走一遍。

快速上手:一行代码开始

npm install eidentic ai @ai-sdk/anthropic

然后创建一个最简单的 Agent:

import { Agent, AIModel, SqliteStore } from "eidentic";
import { anthropic } from "@ai-sdk/anthropic";

const agent = new Agent({
  id: "support",
  model: new AIModel(anthropic("claude-sonnet-4-5")),
  store: new SqliteStore("./eidentic.sqlite"),
});

for await (const ev of agent.query("What did we decide last week?", { sessionId: "u-42" })) {
  console.log(ev);
}

这个 Agent 不是一次性的——它会把对话和记忆持久化到 SQLite 文件,下次启动时还能回忆之前的上下文。

自进化记忆系统

Eidentic 最大的亮点是它的记忆系统,不是简单的向量检索,而是四层架构:

  1. 词汇检索(Lexical):精确关键词匹配,用 BM25 算法,适合查找具体的人名、数字、版本号
  2. 语义检索(Semantic):向量相似度搜索,适合模糊概念回忆
  3. 时序知识图谱(Temporal Knowledge Graph):为事实加上时间戳和有效期。如果用户周一说了「用 PostgreSQL」,周三改口说「换 MySQL」,旧事实会被标记为过期而非堆积
  4. 休眠期合并(Sleep-time Consolidation):Agent 空闲时自动整理记忆块,合并重复信息、压缩过期数据

看性能基准测试结果:

基准测试全上下文模式Eidentic 记忆模式Token 节省
LongMemEval (500 问, ~115k 上下文)41.0%55.2% (+14.2pp)~39× 更少
LoCoMo (1,540 问)61.6%53.8% (时序类 +12pp, 对抗类 +16pp)~21× 更少

在 LongMemEval 上,Eidentic 的记忆检索不仅超过了全上下文基线,而且只用了全上下文 1/39 的 token——这意味着更低的 API 成本和更快的响应。

嵌入到你的应用中

Eidentic 最常用的方式是作为库嵌入到你现有的后端。下面是 Next.js App Router 的示例:

// app/api/chat/route.ts
import { Agent, AIModel } from "eidentic";
import { LibsqlStore } from "@eidentic/libsql";
import { anthropic } from "@ai-sdk/anthropic";

export const runtime = "nodejs";

const agent = new Agent({
  id: "support",
  model: new AIModel(anthropic("claude-sonnet-4-5")),
  store: new LibsqlStore("file:eidentic.db"),
});

export async function POST(req: Request) {
  const { message, sessionId } = await req.json();
  const stream = new ReadableStream({
    async start(controller) {
      for await (const ev of agent.query(message, { sessionId, signal: req.signal }))
        controller.enqueue(new TextEncoder().encode(JSON.stringify(ev) + "\n"));
      controller.close();
    },
  });
  return new Response(stream, { headers: { "content-type": "application/x-ndjson" } });
}

注意:使用 Next.js 时,需要用 @eidentic/libsql(纯 JS 实现)替代默认的 SqliteStore(后者依赖 native addon,在 Next/Turbopack 下不兼容)。

Express 版本更简洁:

app.post("/chat", async (req, res) => {
  res.type("application/x-ndjson");
  const controller = new AbortController();
  res.on("close", () => { if (!res.writableEnded) controller.abort(); });
  for await (const ev of agent.query(req.body.message, { sessionId: req.body.sessionId, signal: controller.signal }))
    res.write(JSON.stringify(ev) + "\n");
  res.end();
});

生产级特性一览

Eidentic 内置了大多数框架需要自己拼装的生产功能:

领域特性
执行可靠性持久化 checkpoint/resume · 精确一次工具调度 · 协作式取消 · 上下文压缩
成本控制按 token/轮次设上限 · 每轮成本可见 · 内置限流和配额
安全性默认拒绝权限 · E2B 沙箱执行 · 密钥对模型不可见 · 多租户隔离
合规一键 GDPR 删除(跨所有存储) · 数据过期策略
可观测性OpenTelemetry GenAI spans · 结构化日志(DEBUG=eidentic:*
多 Agentspawn_agent 委托 · MCP 服务端/客户端 · A2A 协议

持久化执行

Agent 运行中如果崩溃或重启,Eidentic 会自动从最后一个 checkpoint 恢复,工具调用不会被重复执行。

成本上限

Eidentic 内置了按 token 和按轮次双维度成本限制。你可以设定每次对话的 token 上限和总费用上限,超过阈值后 Agent 自动暂停——不用担心一觉醒来发现 API 账单爆了。配置方式在 Agent 初始化时通过预算参数指定,每轮调用的成本也实时可见。

沙箱执行

危险操作(代码执行、命令执行)在 E2B 沙箱中隔离运行,模型看不到实际凭据。

两种运行模式

模式 1:嵌入(Embedded) — 上面已经展示过。直接 import 到你的后端代码中,一个函数调用就能跑 Agent。不需要额外启动服务。

模式 2:服务(Server — 可选) — 当你需要多租户 Agent 后端时,@eidentic/server 提供开箱即用的 Hono HTTP 服务,带认证和 SSE 流式输出:

import { createServer, serveNode, ApiKeyAuth } from "@eidentic/server";

const app = createServer({
  agents: { support: agent },
  auth: ApiKeyAuth({ key_live_123: { userId: "u1" } }),
});
await serveNode(app, { port: 3000 });
// POST /v1/agents/support/query → SSE

或者用脚手架快速创建:

npm create eidentic@latest my-agent
cd my-agent && eidentic dev

包生态

Eidentic 采用模块化设计,核心包 eidentic 包含基础功能,可选包按需安装:

包名用途
@eidentic/serverHono HTTP 服务 + 认证 + SSE
@eidentic/reactReact hooks(useAgent, useEidenticStream)
@eidentic/nextjsNext.js App Router 适配器
@eidentic/studio开发仪表盘 — 查看会话、记忆、技能
@eidentic/workflow多步骤工作流编排
@eidentic/libsqllibSQL/Turso 存储(纯 JS)
@eidentic/mcpMCP 服务端/客户端

npm install eidentic 只装核心栈,其他包按需额外安装。

与同类框架对比

市面上几个主流方案各有侧重,Eidentic 的差异化在于「全都要」:

维度EidenticLangChainCrewAIMastra
记忆系统✅ 四层自进化基础向量有限基础
持久化执行✅ checkpoint/resume
成本控制✅ 上限+配额部分
沙箱执行✅ E2B 集成需外接
可观测性✅ OTel有限
许可证Apache-2.0MITMITMIT
运行时Node/Bun/Deno/EdgePython/JSPythonNode

生产部署注意事项

部署前需要关注几个默认配置:

  1. Studio 默认无认证serveStudiocreateStudioApi 暴露完整的 Agent 记忆和会话数据,不要绑定到公网地址
  2. Server 默认无认证@eidentic/server 需要配置 ApiKeyAuth 才能部署到生产环境
  3. 技能签名 — 如果允许 Agent 自建技能或用户提交技能,开启 requireSigned: true,只接受 ed25519 签名后的技能包
  4. 可观测性数据脱敏 — 使用 @eidentic/langfuse 时,传 redactAttributes 参数过滤 PII 和密钥

总结

Eidentic 是当前为数不多的「一站式」AI Agent SDK——你不用再拼凑 LangChain 做记忆、Temporal 做持久化、Guardrails 做安全、Langfuse 做追踪。它把所有这些打包到一个 Apache-2.0 的开源包里,而且 TypeScript 原生支持让前端全栈团队可以零门槛接入。

如果你正在用 TypeScript 构建需要长期记忆、安全合规、成本可控的 AI Agent,Eidentic 值得一试。

GitHub: github.com/eidentic/eidentic

文档: docs.eidentic.dev

示例: github.com/eidentic/example-nextjs

发表评论

你的邮箱地址不会被公开,带 * 的为必填项。