SuperAPI AI 工具集

restate-agent

智能体与模型

查看项目

更新于 11-06 22:46

技能介绍

用途

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 中组合调用等。
  • 扩展参考文档:项目附带大量参考文档,覆盖工具、智能体处理器、控制器、运行时定制、沙箱、应用层、客户端工具和测试等主题。

使用方式

  1. 检查 packages/libs/core/src/agent-config.ts 是否存在以确认技能适用。
  2. 阅读 docs/agent-guide.md 了解运行时行为的不变量和各关注点的归属模块。
  3. 通过修改 agent-config.ts 更改智能体配置(模型、上下文窗口、指令、工具等)。
  4. 根据目标查阅对应参考文档(如 references/tools.md、references/agent-handlers.md 等)。
  5. 运行测试与验证:执行 pnpm lint && pnpm build && pnpm test && pnpm bundle 和 git diff --check,并更新相关文档。

适用场景

  • 需要构建具备持久化执行能力的 AI 智能体。
  • 需要理解或扩展 Restate 虚拟对象架构的智能体控制器与回合运行时。
  • 需要为智能体添加工具、审批、记忆、调度、子智能体等功能。
  • 需要将智能体部署到不同沙箱平台或集成前端工具(如 AG-UI、CopilotKit)。

限制

  • 项目明确说明当前参考实现不包含账户服务、用户 OAuth 流程、回合级或用户级令牌预算以及评估服务。
  • 外部写入需自行保证幂等性,仅靠重放无法实现精确一次语义。
  • 修改回合步骤的顺序或类型只影响新回合,运行中的回合会在启动时的版本上完成,因此需作为新部署版本发布。
  • 当前信息中暂未提供具体的收费、价格或平台依赖细节。