正在统计访客…
浏览全部文档
开始 · 9找到适合你的 Runifold 学习路径45 分钟掌握 Runifold理解完整的 Runifold 平台第一次可信运行选择正确的执行 API选择 Crate 与 Cargo Feature构建常见 Runifold 应用Runifold 常见问题排查 Runifold 应用故障
执行内核 · 7理解 RunContext安全协调外部副作用使用预算与取消限制工作安全地处理错误与重试事件、Journal 与执行证据设计 Capability 安全执行从 Checkpoint 安全恢复
模型与服务商 · 7在避免重复输出的前提下路由模型选择并配置模型服务商使用服务商中立的模型协议基于 Provider Runtime 契约构建使用 OpenAI 控制面与 Realtime API测试与 Benchmark Provider Adapter配置 OpenAI、Anthropic、Gemini 与 Ollama
Agent · 7构建并配置 Agent为 Agent 添加类型化工具加入会话与语义记忆安全地委派给子 Agent返回结构化 Rust 值在不丢失语义的前提下流式输出使用检索为 Agent 提供事实依据
持久工作流 · 7组合确定性工作流让工作流持久化运行持久工作流 Worker协调 Timer、Signal 与持久等待运行多租户工作流基础设施运行并行 Branch 与安全 Race对持久 Workflow 进行版本管理
集成 · 7通过 MCP 连接外部能力选择存储与持久化边界通过 MCP Tasks 暴露持久工作构建并评估检索流水线使用 MCP Resources、Prompts 与 Sampling在不跨越权限的前提下缓存 MCP 响应在 Rust Web Service 中部署 Runifold
质量与运维 · 10在没有网络的情况下测试评估质量并阻止回归观测完整运行树在浏览器与边缘环境安全运行准确理解可靠性声明在 CI 中运行可复现评测使用 SLO 运维 Runifold治理 Task 保留与删除把审计证据归档到 S3-Compatible WORM 存储管理兼容性与可信发布
文档/可信执行
第一次使用?通过 45 分钟核心课程建立完整心智模型
可信执行

使用预算与取消限制工作

为整棵运行树设置硬上限,并通过结构化取消停止所有后代。

实践指南·10 min

预算维度

Budget 可以限制 Token、微美元成本、墙钟时间、模型轮次、工具调用和委派次数。 这些限制作用于整棵运行树,而不只是某个 Agent 循环。

应根据产品行为与失败成本确定限制。仅设置 Token 上限,无法约束工具密集或高度并行 的运行。

创建有界 Context

use runifold::{Budget, BudgetTracker, CapabilitySet, RunContext};
 
let run = RunContext::root(
    BudgetTracker::new(Budget {
        tokens: Some(20_000),
        turns: Some(10),
        tool_calls: Some(6),
        delegations: Some(2),
        ..Budget::default()
    }),
    CapabilitySet::new(),
);

预算耗尽是类型化的终止状态,应与服务商故障或模型输出格式错误分别展示。

截止时间

在入口边界设置 Deadline,让服务商调用、工具与子运行看到同一个剩余生命周期。

use std::time::{Duration, Instant};
 
let run = run.with_deadline(Instant::now() + Duration::from_secs(20));

Deadline 限制整次运行的有效时间;单次网络 Timeout 只限制一个操作。生产系统通常 两者都需要。

分层取消

取消会从父级传播给后代。长时间运行的工具应观察 ToolContext 并协作停止。取消 不等于回滚,已经完成的外部副作用仍然存在。

记录取消原因,并返回稳定的业务状态,而不是任意的网络错误。

并行预留

并行任务开始前必须预留共享预算,避免每个分支都看到同一份余额,最终合计超支。

为清理、持久化和最终响应保留少量额度。预留不匹配是记账缺陷,不是重试信号。