能力标签
AProver: AI工作流
⚙️
Agent工作流

AProver: AI工作流

基于 Python · 无代码搭建完整 AI 自动化流程
英文名:aprover
⭐ 9 Stars 🍴 1 Forks 💻 Python 📄 NOASSERTION 🏷 AI 7.5分
7.5AI 综合评分
workflowbounded-model-checkingcbmcformal-verificationllm-agentsprogram-verification
⚙️ 配置说明
✦ AI Skill Hub 推荐

AI Skill Hub 推荐使用:AProver: AI工作流 是一款优质的Agent工作流。AI 综合评分 7.5 分,在同类工具中表现稳健。如果你正在寻找可靠的Agent工作流解决方案,这是一个值得深入了解的选择。

📚 深度解析

AProver: AI工作流 是一套完整的 AI Agent 自动化工作流方案。随着 AI 能力的不断提升,基于 Agent 的自动化工作流正在成为提升个人和团队效率的核心方式。区别于传统的 RPA 自动化(模拟鼠标键盘操作),AI Agent 工作流通过理解任务意图、动态规划执行路径,能够处理更复杂的非结构化任务。

AProver: AI工作流 工作流的设计遵循"最小配置,最大复用"原则:核心逻辑已经封装好,用户只需配置自己的 API Key 和业务参数即可快速上手。工作流内置错误处理和重试机制,在网络波动或 API 限速等情况下仍能稳定运行,适合作为生产环境的自动化基础设施。

在实际部署时,建议先在测试环境中运行 3-5 次,验证各个环节的输出结果符合预期,再部署到生产环境。AI Skill Hub 评分 7.5 分,是同类 Agent 工作流中的精选推荐。

📋 工具概览

AProver是开源的AI工作流,集成了LLM代理和BMC,用于自动化代码验证。它提供了一个强大的工具,帮助开发者验证和改进AI生成的代码。

AProver: AI工作流 是一套完整的 AI Agent 自动化工作流方案。通过可视化的节点编排,将复杂的多步骤任务拆解为清晰的自动化流程,实现全程无人值守的智能处理。支持与数百种外部服务和 API 无缝集成,适合构建数据处理管线、业务自动化和 AI 辅助决策系统。

GitHub Stars
⭐ 9
开发语言
Python
支持平台
Windows / macOS / Linux
维护状态
轻量级项目,按需更新
开源协议
NOASSERTION
AI 综合评分
7.5 分
工具类型
Agent工作流
Forks
1

📖 中文文档

以下内容由 AI Skill Hub 根据项目信息自动整理,如需查看完整原始文档请访问底部「原始来源」。

AProver是开源的AI工作流,集成了LLM代理和BMC,用于自动化代码验证。它提供了一个强大的工具,帮助开发者验证和改进AI生成的代码。

AProver: AI工作流 是一套完整的 AI Agent 自动化工作流方案。通过可视化的节点编排,将复杂的多步骤任务拆解为清晰的自动化流程,实现全程无人值守的智能处理。支持与数百种外部服务和 API 无缝集成,适合构建数据处理管线、业务自动化和 AI 辅助决策系统。

📌 核心特色
  • 可视化 Agent 工作流编排,无需编写复杂代码
  • 支持多步骤自动化任务链,实现全流程无人值守
  • 与外部 API、数据库和第三方服务无缝集成
  • 内置错误处理与自动重试机制,保障稳定运行
  • 提供可复用的自动化模板,快速在同类场景部署
🎯 主要使用场景
  • 自动化日常重复性工作,将精力集中于创造性任务
  • 构建数据采集 → 处理 → 输出的完整自动化管线
  • 实现跨平台、跨系统的数据流转和业务协同
以下安装命令基于项目开发语言和类型自动生成,实际以官方 README 为准。
安装命令
# 方式一:pip 安装(推荐)
pip install aprover

# 方式二:虚拟环境安装(推荐生产环境)
python -m venv .venv
source .venv/bin/activate  # Windows: .venv\Scripts\activate
pip install aprover

# 方式三:从源码安装(获取最新功能)
git clone https://github.com/agentic-prover/aprover
cd aprover
pip install -e .

# 验证安装
python -c "import aprover; print('安装成功')"
📋 安装步骤说明
  1. 访问 GitHub 仓库获取工作流文件
  2. 在对应平台(Dify / Flowise / Make 等)中找到「导入工作流」功能
  3. 上传工作流文件
  4. 按照提示配置必要的环境变量和 API Key
  5. 运行测试确认流程正常后投入使用
以下用法示例由 AI Skill Hub 整理,涵盖最常见的使用场景。
常用命令 / 代码示例
# 命令行使用
aprover --help

# 基本用法
aprover input_file -o output_file

# Python 代码中调用
import aprover

# 示例
result = aprover.process("input")
print(result)
以下配置示例基于典型使用场景生成,具体参数请参照官方文档调整。
配置示例
# aprover 配置文件示例(config.yml)
app:
  name: "aprover"
  debug: false
  log_level: "INFO"

# 运行时指定配置文件
aprover --config config.yml

# 或通过环境变量配置
export APROVER_API_KEY="your-key"
export APROVER_OUTPUT_DIR="./output"
📑 README 深度解析 真实文档 完整度 63/100 查看 GitHub 原文 →
以下内容由系统直接从 GitHub README 解析整理,保留代码块、表格与列表结构。

简介

<picture> <source media="(prefers-color-scheme: dark)" srcset="assets/logo-dark.svg"> <img alt="AProver" src="assets/logo.svg" height="80"> </picture>

AProver — Agentic Prover for AI-Generated Code — is a suite of LLM-driven formal verification agents. The first agent — BMC-Agent — is a prototype of agentic model checking: an architecture that pairs an LLM agent (for specification generation, counterexample classification, and spec refinement) with a sound bounded model checking backend. The agent handles semantic reasoning; the solver provides formal guarantees within the unwinding bound.

BMC-Agent supports two source languages with two solver backends, selected automatically by the source file's extension: C via CBMC, and Rust via Kani. The pipeline, classifier, refinement loop, and confidence tiers are shared; the parser and harness generator dispatch per language.

The design principle is agents propose, conventional tools dispose: every soundness-relevant decision the LLM produces passes through a conventional check (CBMC query, SMT soundness guard, or runtime confirmation) before affecting the verification verdict.

Requirements

  • Python 3.11+
  • uv
  • CBMC on PATH (for C input)
  • Kani on PATH (for Rust input; optional if you only verify C)
  • An Anthropic API key (ANTHROPIC_API_KEY)

Installation

git clone https://github.com/agentic-prover/aprover
cd aprover
uv sync

Web chat (no setup)

For a zero-configuration experience, web/ contains a chat front-end that lets visitors run AProver by talking to it. The page streams pipeline progress (parse → spec → CBMC → classify → report) live as the agent works.

```bash ANTHROPIC_API_KEY=sk-... uv run uvicorn web.server:app --port 7860

Usage

```bash export ANTHROPIC_API_KEY=your_key_here

Examples

FileDescription
simple_driver.cRing-buffer device — off-by-one in rb_write
sensor_hub.cCEGAR demo: spurious counterexample → refinement → real bug
block_device.cInteger overflow in blk_seek
memory_allocator.cNull dereference in alloc_free
cross_file_demo/Cross-file confirmed_system_entry: null fn-pointer in libmath.c traced to system_entry in main.c
vibeos/repo/kernel/Full VibeOS kernel — 13 confirmed realistic bugs (see table above)

Two-file cross-file demo (confirmed_system_entry across files)

uv run bmc-agent verify-dir \ --source-dir examples/cross_file_demo \ --driver cross_file_demo \ --output artifacts/cross_file_demo ```

Artifacts — generated specs, CBMC harnesses, raw solver output, counterexample classifications, and bug reports — are written under --output and can be inspected or diffed.

Configuration

All settings are available as environment variables or Config dataclass fields.

VariableDefaultPurpose
BMC_AGENT_LLM_MODELclaude-sonnet-4-6LLM model
BMC_AGENT_CBMC_PATHcbmcCBMC binary path
BMC_AGENT_CBMC_UNWIND4Loop unwinding bound
BMC_AGENT_CBMC_TIMEOUT120Solver timeout per function (seconds)
BMC_AGENT_MAX_REFINEMENT_ITERS5Maximum CEGAR refinement iterations
BMC_AGENT_ENABLE_DUAL_SPECtrueGenerate each spec twice, flag disagreements
BMC_AGENT_ENABLE_SPEC_QUALITYfalsePhase 4 spec-quality checks (mutation, coverage)
BMC_AGENT_SKIP_REFINEMENTfalseFilteringOnly mode: classify but don't refine
BMC_AGENT_ENABLE_DYNAMIC_VALIDATIONfalsePhase 3 S3: compile + run a GCC harness
BMC_AGENT_DYNAMIC_VALIDATION_TIMEOUT30GCC harness run timeout (seconds)
BMC_AGENT_DYNAMIC_CC_PATHgccC compiler for dynamic harness
BMC_AGENT_ENABLE_REALISM_CHECKfalsePhase 3 S4: LLM realism audit on every REAL_BUG finding
BMC_AGENT_ENABLE_REALISM_THINKINGfalseUse extended thinking in the realism checker (higher quality, slower)
BMC_AGENT_CBMC_UNSIGNED_OVERFLOW_CHECKfalsePass --unsigned-overflow-check to CBMC — detects integer overflow bugs (e.g. calloc nmemb*size wrap, CWE-190)
BMC_AGENT_CBMC_REAL_LIBCfalseSkip Python-side preprocessing and let CBMC see the real libc headers; required for sources that include stdio.h / stdlib.h directly (OpenSSL, libxml2, llm.c, …)
BMC_AGENT_STRICT_DSLfalseForbid natural-language clauses in pre/post; pushes prose into the JSON reasoning field. Required for parser-state-heavy code where the LLM otherwise defaults to prose
BMC_AGENT_RAW_BYTESfalseTreat single const char * parameters as raw N-byte buffers (no NUL constraint). Required for wire-format readers that may read past strlen
BMC_AGENT_INFER_FIELD_VALIDITYfalseFor struct-pointer parameters, init primitive-pointer fields (float *, int *, double *, …) as "NULL OR malloc'd backing buffer" instead of leaving them nondet. Prevents the harness from exploring "non-NULL but invalid" states that crash memset(field, …) despite a correct if (field != NULL) guard in source. Target audience: ML / numerics codebases (llm.c, ggml) whose struct fields are typed float * and aren't NUL-terminated strings
BMC_AGENT_INFER_ARRAY_PARAM_BOUNDSfalseFor top-level primitive-pointer parameters (size_t *, int *, float *, …), size the harness backing array from the maximum literal subscript in the function body (capped by BMC_AGENT_INFER_ARRAY_PARAM_BOUNDS_MAX, default 64). Prevents the harness from emitting a 1-element backing for functions that write a fixed-size parameter table (e.g. llm.c's fill_in_parameter_sizes writing param_sizes[0..15])
BMC_AGENT_SCALE_DOWNfalseScale-down mode for ML / numerics kernels. Bounds ML parametric-size value parameters (B, T, C, NH, V, Vp, OC, …) to [0, BMC_AGENT_SCALE_DOWN_SIZE] (default 4) via __CPROVER_assume, auto-enables INFER_ARRAY_PARAM_BOUNDS, and sizes top-level primitive-pointer backing buffers to SCALE_DOWN_SIZE³. Required for matmul/attention/layernorm kernels which would otherwise time out exploring arbitrarily-large B*T*C inner loops
BMC_AGENT_SAFETY_ONLYfalseRestrict the spec-generation prompt so postconditions express only memory safety, range bounds, and NaN/Inf-freedom — no functional / algebraic correctness claims. Pairs naturally with BMC_AGENT_SCALE_DOWN for ML kernels: the result is a clean "memory-safe + no-NaN" verdict instead of a vacuous functional-spec attempt that times out
BMC_AGENT_KANI_PATHkaniKani binary path (Rust backend)
BMC_AGENT_KANI_UNWIND4Kani loop unwinding bound
BMC_AGENT_KANI_TIMEOUT120Kani solver timeout per harness (seconds)
BMC_AGENT_KANI_SLICE_BOUND4Bounded length used for &[T] slice / Vec<T> backing arrays in Kani harnesses
BMC_AGENT_KANI_REAL_CRATEfalseRun Kani via cargo kani --tests --harness inside the real crate root (multi-crate workspaces) instead of as a standalone kani harness.rs invocation
BMC_AGENT_ENABLE_FEEDBACK_LOOPfalseEnable the self-improvement loop: (a) developer code-changes, (b) function-spec invariant tightening, (c) project-wide invariant inference, with in-sweep iteration
BMC_AGENT_ENABLE_FLAG_SELECTIONfalseLet the LLM select CBMC flags per function based on observed properties

BMC_AGENT_SKIP_REFINEMENT=true is the FilteringOnly ablation: running the same input with and without this flag measures whether the refinement loop adds value beyond simple counterexample filtering.

Verify a Rust source file (backend dispatch is automatic by extension)

uv run bmc-agent verify --source path/to/your_module.rs \ --driver your_module \ --output artifacts/

🎯 aiskill88 AI 点评 A 级 2026-05-28

AProver是一个有潜力的AI工作流,提供了一个强大的工具用于自动化代码验证和改进AI生成的代码。然而,它还需要进一步的开发和测试。

📚 实用指南(长尾问题)
适合谁
  • 构建多智能体协作系统的 Agent 开发者
  • 跨境业务、多语言内容运营团队
最佳实践
  • Agent 任务先做 dry-run 验证工具调用链,再开启自主执行
常见错误
  • API key 直接提交到 git 仓库(请用 .env 并加入 .gitignore)
  • Python 依赖冲突:建议用 venv / uv 隔离环境
部署方案
  • 云端托管:可放在 Vercel / Railway / Fly.io 等 PaaS 平台
相关搜索
aprover 中文教程aprover 安装报错怎么办aprover Agent 工作流aprover 与同类工具对比aprover 最佳实践aprover 适合谁用

⚡ 核心功能

👥 适合谁
  • 构建多智能体协作系统的 Agent 开发者
  • 跨境业务、多语言内容运营团队
⭐ 最佳实践
  • Agent 任务先做 dry-run 验证工具调用链,再开启自主执行
⚠️ 常见错误
  • API key 直接提交到 git 仓库(请用 .env 并加入 .gitignore)
  • Python 依赖冲突:建议用 venv / uv 隔离环境

👥 适合人群

自动化工程师和运维人员项目经理和业务分析师希望减少重复性工作的专业人士数字化转型团队

🎯 使用场景

  • 自动化日常重复性工作,将精力集中于创造性任务
  • 构建数据采集 → 处理 → 输出的完整自动化管线
  • 实现跨平台、跨系统的数据流转和业务协同

⚖️ 优点与不足

✅ 优点
  • +大幅减少重复性人工操作
  • +可视化流程,清晰直观
  • +可扩展性强,支持复杂场景
⚠️ 不足
  • 初始配置和调试需投入一定时间
  • 强依赖外部服务的稳定性
  • 复杂场景需具备一定技术基础
⚠️ 使用须知

该工具使用 NOASSERTION 协议,商用场景请仔细阅读协议条款,必要时咨询法律意见。

AI Skill Hub 为第三方内容聚合平台,本页面信息基于公开数据整理,不对工具功能和质量作任何法律背书。

建议在沙箱或测试环境中充分验证后,再部署至生产环境,并做好必要的安全评估。

📄 License 说明

📄 NOASSERTION — 请查阅原始协议条款了解具体使用限制。

🔗 相关工具推荐

📰 相关 AI 新闻
🍿 AI 圈相关吃瓜
🗺️ 相关解决方案
🧩 你可能还需要
基于当前 Skill 的能力图谱,自动补全的工具组合

❓ 常见问题 FAQ

aprover 是一款Python开发的AI辅助工具。开源AI工作流:AProver: Agentic Prover for AI-Generated Code — LLM agents + BMC for automated v。⭐9 · Python 主要应用场景包括:用于自动化代码验证和改进AI生成的代码。
💡 AI Skill Hub 点评

总体来看,AProver: AI工作流 是一款质量良好的Agent工作流,在同类工具中具备一定竞争力。AI Skill Hub 将持续追踪其更新动态,建议收藏备用,结合自身场景选择合适时机引入使用。

⬇️ 获取与下载
📚 深入学习 AProver: AI工作流
查看分步骤安装教程和完整使用指南,快速上手这款工具
🌐 原始信息
原始名称 aprover
原始描述 开源AI工作流:AProver: Agentic Prover for AI-Generated Code — LLM agents + BMC for automated v。⭐9 · Python
Topics workflowbounded-model-checkingcbmcformal-verificationllm-agentsprogram-verification
GitHub https://github.com/agentic-prover/aprover
License NOASSERTION
语言 Python
🔗 原始来源
🐙 GitHub 仓库  https://github.com/agentic-prover/aprover 🌐 官方网站  https://github.com/agentic-prover/aprover

收录时间:2026-05-28 · 更新时间:2026-05-30 · License:NOASSERTION · AI Skill Hub 不对第三方内容的准确性作法律背书。