正在统计访客…
浏览全部文档
开始 · 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 分钟核心课程建立完整心智模型
模型与服务商

测试与 Benchmark Provider Adapter

使用协议 Cassette、一致性报告、故障注入、Live Canary、公平 Benchmark 与显式回归门槛。

实践指南·12 min

证据层

Provider 信心来自互补证据层:

  1. 编码与本地状态 Unit Test;
  2. 传输行为的确定性 TCP 或 HTTP Cassette;
  3. 共享不变量的 Conformance Report;
  4. Timeout、截断、Response Loss 与取消的故障注入;
  5. CORS、Fetch、WebSocket 与 WebRTC 的固定浏览器测试;
  6. 覆盖最后外部边界的可选 Live Canary;
  7. 衡量性能但不证明正确性的 Benchmark。

一次成功 Live Request 几乎不能证明任何失败契约。

协议一致性

验证 Provider Identity、精确 Request Shape、分片 Stream 顺序、Terminal Completion、 Reasoning 分离、Usage 记账、Tool Argument 组装、结构化错误、Retry Safety、脱敏与并发 隔离。

runifold-provider-testkit 生成机器可读验收证据。Support 文档应指出精确 Adapter 与 Model Family 通过了哪些检查。

故障测试

注入 Body Timeout、Connection Reset、Truncated Stream、Malformed JSON、Oversized Frame、 Invalid Event Order、Cancellation Race、Lost Successful Response 与 Downstream Unavailable。断言 Error Kind、Retry Safety、Committed Stream State,并确认诊断不含凭证。

正确性依赖事务、时钟、锁、浏览器或 Object Lock 行为时,使用真实 Disposable Dependency。

Benchmark 契约

衡量 Success Rate、Throughput、Total Latency Percentile、Time to First Model Output、 Empty-output Success、Concurrency 与 Environment Metadata。计时包含 Request Construction、 Signing、Transport、Routing、Queueing、Decoding 与 Validation。

公平比较使用相同 Release Mode、Machine、Rust Version、Runtime、Model、Endpoint、 Request、Limit、Concurrency、Telemetry、Connection Reuse 与 Retry Policy,并交替顺序、 保存所有 Raw Report。

声明策略

不要发布单次运行 Winner。使用重复 Paired Round、Median、Confidence Interval,以及成功率 和延迟。区分 Loopback Framework Overhead 与 Provider Network Behavior。

把声明写成“在这些条件下已验证”,链接 Artifact,并说明尚未验证的部分。

本地验证阶梯

先运行成本最低、确定性最强的层级;真实网络调用只能是显式、带凭据的最后一步:

cargo test -p runifold-providers
cargo test -p runifold-provider-testkit
cargo test -p runifold-providers --test openai_control_http
cargo test --workspace --all-features

每个失败的 cassette 都要记录适配器、模型族、协议事件、期望的标准化错误类型、 重试安全判断,以及输出是否已经提交。Live canary 应使用独立的低权限项目、 固定的小请求、硬性费用上限,并用测试名明确提示会访问网络。普通 cargo test 永远不应依赖真实凭据。