PolicyOps 是一个证据驱动的高校制度合规 Agent 示例。它用手写 Agent Harness 串联制度检索、结构化标准查询、缺参追问、同一运行续跑、确定性风险护栏、人工处置、依据回执与 token/成本预算。
Important
仓库附带的制度、学校、金额和审批角色均为完全虚构的演示数据,不可作为任何单位的报销或审批依据。下方截图使用了真实高校制度资料,仅用于展示界面和运行机制;真实资料本身未随仓库发布。实际使用时,请采用你有权使用且现行有效的真实制度文件,并同步复核结构化标准表、适用单位和版本。PolicyOps 不替代财务或制度管理部门的正式判断。
截图展示了缺参追问、同一 run_id 补答续跑、依据回执和 token_budget 预算熔断。该次运行最终因预算中止,不是成功回答案例;界面中的金额、引用与成本也不构成准确率或零成本证明。
- 五类终态:
success、no_evidence、need_clarification、need_human、max_steps。 Reason → Act → Observe循环,模型只提出决策,运行时负责校验、执行工具和预算。search_policy与lookup_standard分离,引用编号绑定同一次运行现场。- 挂起/恢复、人工处置、会话槽位继承、trace 与聚合指标。
- 默认 Fake Provider + TF 检索,离线启动;真实模型为显式 opt-in。
HTTP / static UI
-> FastAPI routes + Pydantic schemas
-> WorkbenchService(知识库与运行状态)
-> ReactLoop(Reason -> Act -> Observe)
-> reasoner
-> search_policy / lookup_standard
-> deterministic risk policy
-> citation ledger + usage budget
-> ResearchResponse + EvidenceReceipt + trace_id
需要 Python 3.12+:
python -m venv .venvWindows PowerShell:
.\.venv\Scripts\Activate.ps1
python -m pip install -e ".[dev,mcp]"
python -m uvicorn app.main:app --host 127.0.0.1 --port 8010打开 http://127.0.0.1:8010/。默认页面会摄入 resources/demo/ 的虚构数据。Fake Provider 用于离线结构联调,不会生成真实模型答案;可运行固定流程演示:
python scripts/demo_policyops.pyDocker:
docker build -t policyops .
docker run --rm -p 127.0.0.1:8010:8010 policyops- 真实制度数据准备
- 验证范围与命令
- 将
.env.example复制为.env后再填写配置;.env已忽略,禁止提交密钥。 POLICY_DATA_MODE=external必须同时提供相同dataset_id的制度数据和标准表;配置错误不会静默回退到演示数据。
这是本地、无鉴权的工程演示,不是可直接暴露公网的多用户系统。知识库默认在内存中;SQLite 只用于可选的挂起运行恢复。真实 provider 调用可能计费,embedding 首次使用可能下载模型。仓库未附带开源许可证,默认不授予复制、修改或再分发许可。
