Julep — 持久化、可组合的 AI 智能体框架
构建可崩溃恢复、安全重试、逐步可解释的 AI 数据流,而非临时循环。
- Star 数
- ★ 6.6k
- 最近更新
- 2 个月前
- License
- Apache-2.0
- 主语言
- Python
- FA 评分
- 64/100 · 存在缺口
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 中 · 需要几步配置
- 开始前需要
- 典型场景
- 需要持久执行的工作流,如票据分类,其中工具调用可重试且流程可恢复。
- 不适合
- 需要稳定生产版本的团队:当前为预发布候选版,需加 --pre 安装
- 希望从 Julep v1 平滑迁移的用户:v3 是重写,无迁移路径
- 不想维护 Kubernetes、S3、Helm、Temporal 等基础设施的团队
- 源码审查
- 64/100 · 存在缺口
这个 Agent 能做什么,适合哪些场景?
Julep 是一个将 AI 智能体构建为可组合、持久化数据流的框架,取代了 ad-hoc 循环。核心作者界面是 @flow 装饰器,用于定义图步骤,将注册的工具、纯函数、reasoners、分支、扇出、重试和超时编译为冻结的 IR。纯核心无依赖,Temporal 层可选。Julep 提供 CLI(julep),用于管理智能体模块,包括 ls、show、graph、run、lint、test、deploy、serve 等命令,以及应用级规划、应用和状态。它支持通过 extras 进行多种部署:Temporal 用于持久执行,DBOS/Postgres,HTTP 工具调用,MCP 快照,以及 OpenTelemetry/Langfuse 可观测性。Julep 3 是重写版本,与 v1 不兼容。
Julep 将 Python 函数编译为 IR 图,每个步骤表示工具调用、纯计算或推理调用。@flow 定义数据流;@tool 注册工具(带 idempotency 和 effect 属性);@pure 定义确定性步骤。deploy 冻结工具和 reasoner 接口,dry_run 在本地执行。CLI 命令包括 julep run 执行流程并流式传输跟踪树,julep trace 渲染缓存运行,julep lint 验证依赖,julep test 运行 pytest,julep deploy 冻结和发布。应用对象使用 PipelineSpec、McpSnapshot 和 CapabilityManifest 声明生产管线。输出包括运行结果、跟踪树、Langfuse 链接和部署台账。控制平面提供由 Temporal 支持的 FastAPI 服务器,支持加密的 secret vault 和 MCP 预检。
- 需要持久执行的工作流,如票据分类,其中工具调用可重试且流程可恢复。
- 希望使用 CLI 管理多个智能体模块的团队,包括跨智能体的图可视化、测试和部署。
- 需要 MCP 集成并强制限制工具访问的运维人员,使用快照和预检。
- 需要在 Postgres 上持久化执行而无需额外运行时的开发人员,使用 dbos extra。
- 需要 OpenTelemetry 或 Langfuse 导出以进行可观测性审计的工程师。
如何安装或部署这个 Agent?
使用 pip install --pre julep 安装。为可选功能添加 extras,例如 pip install --pre 'julep[server,temporal,mcp]'。需要 Python 环境。
如何使用这个 Agent?
首先,在 Python 脚本中定义一个 @flow,并带有已注册的 @tool 和 @pure 函数。使用 deploy(flow, tools=[...], reasoners=[...]) 创建部署,并用 dry_run(...) 测试。然后,使用 CLI:julep ls 列出智能体,julep run triage --input '"TICKET-42"' 执行,julep trace <run-id> 查看跟踪。对于生产环境,配置 [tool.julep] 设置,使用 julep plan --env staging 和 julep apply --env staging 进行部署。需要合适的 Python 版本和可选依赖。
这个 Agent 有哪些优点和局限?
- 持久化执行:流程可崩溃、恢复、安全重试,并可解释每一步。
- 可组合的图定义:通过
@flow将复杂的流程定义为数据流,而不是临时循环。 - 支持可选的 Temporal 或 DBOS 后端,提供灵活性。
- 内置安全功能:MCP 预检、secret vault、工具表面冻结。
- 与 Julep v1 不兼容;v3 是重写,没有迁移路径。
- 需要 Python 和可选基础设施(Temporal 或 DBOS)才能实现完整的持久执行。
- 作为预发布版本,需要
--pre标志,可能不稳定。 - 生产部署需要配置 Kubernetes、S3、Helm 和 Temporal,增加操作复杂性。
这个 Agent 与同类方案有什么区别?
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| Julep — 持久化、可组合的 AI 智能体框架 当前 | 64 · 存在缺口 | 代码库 / SDK免费 + 模型费 | ★ 6.6k | 2 个月前 | Python | — |
| Pydantic AI | 65 · 存在缺口 | 代码库 / SDK免费 + 模型费 | ★ 21k | 今天 | Python | OpenAI API · Claude API |
| CLI Agent Orchestrator | 65 · 存在缺口 | 命令行工具免费 + 模型费 | ★ 1.5k | 今天 | Python | Codex · Claude Code |
| Cersei — Rust 编程智能体 SDK | 60 · 存在缺口 | 代码库 / SDK免费 + 模型费 | ★ 461 | 2 个月前 | Rust | OpenAI API · Claude API |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示:工具显式声明effect和idempotent,部署时冻结工具表面,MCP预检,最小权限原则有体现;但用户确认机制未明确,数据流透明度有描述但未深入,敏感数据处理有加密和排除,依赖安全有版本约束和FIXME,外部效果有控制,回滚有发布机制,来源归属仅作者信息。扣分:用户确认机制缺失,来源归属不明确。
证据显示:自洽性良好,依赖可用性有版本约束和可选extras,失败消息有重试和超时设置。扣分:无执行验证,静态审查。
证据显示:面向开发者,场景明确,能力边界有工具注册和权限控制,触发精度有选择器语法,环境适配有extras和配置。扣分:无实际运行验证。
证据显示:信息架构清晰,安装说明详细,命名稳定,示例和FAQ有,已知限制有提及,许可证明确,版本和变更日志有,维护责任有作者信息。扣分:无独立验证。
证据显示:输出可用性有dry_run和trace,边际价值高,成本效益有extras和可选依赖。扣分:无实际运行验证。
证据显示:声明可追溯,有测试和CI,事实与推断分离。扣分:静态审查,无独立验证。
- 静态审查,未执行代码,所有评分基于文件证据。
- 用户确认机制未明确,需进一步验证。
- 来源归属不明确,发布者未验证。
常见问题
是否需要 API 密钥?
dry_run 和模拟工具。Julep 与 v1 兼容吗?
v1 分支,两者是不同产品,无迁移路径。