用途
JamJet 是面向 AI 智能体的开源安全层,定位为“智能体的动作控制平面”。它不替代 LangChain、LangGraph、CrewAI、Google ADK、Spring AI 等框架,而是位于这些框架与智能体的下方,在工具调用真正发生前执行策略。官方强调:提示词不是安全边界,运行时才是。
主要能力
- 运行时拦截:阻止不安全的工具调用,例如数据库删除、支付、文件写入等。策略中列出的 blocked_tools 会被直接拒绝。
- 人工审批:对高风险动作通过 require_approval_for 暂停执行,并以持久化方式等待带外决策;崩溃不会丢失审批,审批到达后继续执行。
- 预算控制:限制每个智能体、每次运行、每个项目的成本上限。
- 审计轨迹:记录符合规范的审计数据,适配监管审查场景。
- 重放与恢复:从最后一个检查点重放或恢复崩溃的运行。
- 统一策略:所有适配器加载同一份 policy.yaml,并输出统一的审计 JSONL;可用 jamjet audit show 按时间顺序查看所有适配器的决策。
- 持久化运行:内置持久化、事件溯源的执行引擎,支持事件日志、快照、崩溃恢复与确定性重放(agent.run_durable)。
- 会话与记忆:跨运行与重启的持久化 Session 线程,以及受治理的 Engram 检索/记录循环。
- 多智能体:提供 Sequential、Parallel、coordinator Team、Loop 等编排方式,每个子智能体作为独立受治理的持久化执行运行;也可用 YAML 声明整个智能体集群并配置 cron 调度。
- 评估:支持批量评估与 LLM 评判打分,以及轨迹回归差异对比。
- 部署:agent.deploy(runtime="local" | "self-host" | "cloud") 可将同一编译后的 IR 部署到不同运行时。
- 开发流程:jamjet create 创建项目脚手架,jamjet dev 用一条命令运行整个本地栈。
- Web 伴随界面:内嵌于运行时二进制,提供图视图、时间线、状态检查器、重放与分叉控制。
- Java/JVM 支持:Spring AI 与 LangChain4j 团队可通过一个依赖获得同层能力,Spring Boot starter 会自动向 ChatClient 注入 JamJet advisors,使每次调用持久化并可审计,无需修改应用代码。提供崩溃恢复、事件溯源与用于批准/拒绝挂起动作的 REST 端点;运行时不可达时优雅降级。也可选择完全不用 sidecar,使用 JamJet Java Runtime 将持久化执行直接嵌入 JVM 进程。
使用方式
官方提供 60 秒演示:无需 API key、无需 Docker、无需云账号,模型为模拟,但执行路径真实。
将 policy.yaml 放入 ~/.jamjet/ 后,所有列出的适配器会自动使用它。策略也可直接放在智能体代码旁,运行时会在工具调用离开智能体进程前拦截:blocked_tools 被直接拒绝,require_approval_for 会持久化暂停执行并等待带外决策。
示例(Python,配合托管控制平面):提供可运行的审批工作流示例 examples/hitl-approval 与 Cloud Quickstart。
兼容组合:Claude Code、OpenAI Agents SDK、MCP 客户端、LangChain、CrewAI、ADK、Spring AI、LangChain4j。JamJet 不取代这些平台提供的 hook 点,而是让其功能更强,例如 Claude Code 的 PreToolUse hook 可获得真正的策略引擎、审批流与审计轨迹,且相同规则可原样用于 OpenAI Agents SDK、MCP 客户端、Spring AI 以及自有的 Python 或 TypeScript 代码。
完整文档入口:jamjet.dev 的 Quickstart、Concepts、Python SDK、Java SDK、YAML Workflows、REST API、MCP、A2A、Eval、Enterprise、Observability、CLI、Deployment 等章节。
适用场景
当智能体可能进行以下操作时适用:调用 MCP 服务器或任意工具;写入数据库;发送邮件或 Slack 消息;触发支付或外部 API 调用;访问客户数据或 PII;运行数分钟到数小时且需要从崩溃中恢复;在大规模下消耗真实模型预算;委派给其他智能体。
生态与限制
Engram 是 JamJet 生态中的智能体记忆层:JamJet 提供持久化执行(进程崩溃后可恢复),Engram 提供持久化记忆(事实跨运行保留,并通过 supersede() 实现版本管理),具备时序知识图谱、混合检索与冲突检测。Engram 以 Rust crate 形式发布(也打包进 Rust 运行时),同时提供 MCP 服务器(Docker、GHCR)、独立 Python 库、MCP 服务器的 Python 客户端以及 Spring AI ChatMemoryRepository。
许可与收费:Apache 2.0 许可,运行时、所有 SDK 与 Engram 均无使用限制。另有一个可选的托管控制平面(app.jamjet.dev),提供追踪、审批队列、审计保留与团队项目;价格与具体收费方案暂未提供。
官方暂未在资料中提供具体性能数据之外的更多限制说明;Java 原生运行时的基准对比仅提及比调用 REST sidecar 快 8.9 倍,并附有 benchmark 与发布文章链接。