用途
Restate 参考智能体(restatedev/agent)是一个完整的、可扩展的持久化 AI 智能体实现,旨在作为构建生产级智能体的参考起点。项目本身是“一个完整的智能体,而不是一个库”,适合需要理解或定制智能体架构的开发者。
主要能力
- 双虚拟对象架构:
Agent作为控制器,负责对话生命周期管理,包括启动回合、排队或引导消息、中断、配置、记忆、审批、调度、子智能体和通知;AgentSession维护对话记录,并在doTurn中一次执行一个回合(模型调用、护栏、工具批处理循环)。 - 持久化执行:每个回合的持久步骤都会记录日志,崩溃后回合可重放并复用已记录结果。工具、审批和子智能体可等待数分钟或数天而不占用进程。
- 多模型支持:模型 ID 格式为
provider:model,支持 openai、anthropic、google、xai、deepseek 和 openai-compatible(用于 Ollama、vLLM 或 OpenRouter 上的开放模型)。每个提供方需在环境中配置 API 密钥。 - 集中配置:
agent-config.ts文件集中定义模型(agent、guardrail、compactor)、上下文窗口、压缩阈值、基础指令、内置工具列表和programTool开关。 - 工具系统:支持前台工具(API 调用或代码执行)、待处理工具(等待定时器、人员或长任务而不阻塞回合)、暴露独立部署的 Restate 处理器或远程 MCP 服务器、在 JavaScript 中组合调用等。
- 扩展参考文档:项目附带大量参考文档,覆盖工具、智能体处理器、控制器、运行时定制、沙箱、应用层、客户端工具和测试等主题。
使用方式
- 检查
packages/libs/core/src/agent-config.ts是否存在以确认技能适用。 - 阅读
docs/agent-guide.md了解运行时行为的不变量和各关注点的归属模块。 - 通过修改
agent-config.ts更改智能体配置(模型、上下文窗口、指令、工具等)。 - 根据目标查阅对应参考文档(如
references/tools.md、references/agent-handlers.md等)。 - 运行测试与验证:执行
pnpm lint && pnpm build && pnpm test && pnpm bundle和git diff --check,并更新相关文档。
适用场景
- 需要构建具备持久化执行能力的 AI 智能体。
- 需要理解或扩展 Restate 虚拟对象架构的智能体控制器与回合运行时。
- 需要为智能体添加工具、审批、记忆、调度、子智能体等功能。
- 需要将智能体部署到不同沙箱平台或集成前端工具(如 AG-UI、CopilotKit)。
限制
- 项目明确说明当前参考实现不包含账户服务、用户 OAuth 流程、回合级或用户级令牌预算以及评估服务。
- 外部写入需自行保证幂等性,仅靠重放无法实现精确一次语义。
- 修改回合步骤的顺序或类型只影响新回合,运行中的回合会在启动时的版本上完成,因此需作为新部署版本发布。
- 当前信息中暂未提供具体的收费、价格或平台依赖细节。