Progent — 最小权限 Agent 框架:SMT 验证 + 单调约束性
Skill-Progent-Privilege-Control · 16-智能体工程
1. 解决的问题
最小权限原则在 Agent 中的实现:传统应用最小权限通过 OS/IAM 静态配置实现,但 LLM Agent 的工具调用集合在运行时动态变化,需要动态感知策略。Progent 用符号规则表示权限策略:`{tool: "purchase_order.create", constraints: {"amount": {"max": 1000}}}`,支持在任务执行中实时评估。
2. 核心算法逻辑
最小权限原则在 Agent 中的实现:传统应用最小权限通过 OS/IAM 静态配置实现,但 LLM Agent 的工具调用集合在运行时动态变化,需要动态感知策略。Progent 用符号规则表示权限策略:{tool: "purchase_order.create", constraints: {"amount": {"max": 1000}}},支持在任务执行中实时评估。
3. 业务应用场景
场景一:WF-A 采购 Agent 权限管控
采购 Agent 初始化时自动生成策略: - `inventory.query`(无约束) - `purchase_order.create`(`amount ≤ 1000 USD`)
执行中,Agent 分析发现某 SKU 缺货严重,需下 5000 USD 大额 PO: 1. Agent 请求扩展策略:`purchase_order.create` 的 `amount ≤ 5000` 2. SMT 检测:5000 > 1000,属于策略扩张 → 触发人工审批 3. 采购经理在 Slack 收到通知,确认后 SMT 更新策略 4. 整个流程留有完整审计链
4. 输入数据要求
请查看原始代码模板获取输入规格。
5. 输出结果
请查看原始代码模板获取输出规格。
6. 业务价值 / ROI
- 核心收益:广告预算误操作风险归零,大额 PO 强制人工确认,年化风险规避 30-80 万元
- Prompt Injection 防护:符号验证层无法被 LLM 层的注入攻击绕过,零误操作保证
- 实施难度:⭐⭐⭐☆☆(需集成 SMT 求解器如 Z3,约 2-3 天)
- 优先级:⭐⭐⭐⭐⭐(P0 生产阻塞)
- 参考:arXiv:2504.11703 | Progent Framework
7. 代码模板
代码块数量:1 · 路径:未检测到
# paper2skills-code/llm_agent_engineering/progent_privilege/model.py
# 完整实现见代码目录
from paper2skills_code.llm_agent_engineering.progent_privilege.model import (
PrivilegePolicy, ArgumentConstraint, SMTChecker, ProgentFramework, MonotonicConfinementGuard
)
# WF-A 采购 Agent 初始策略
policy = PrivilegePolicy(
allowed_tools=["inventory.query", "purchase_order.create"],
argument_constraints={"purchase_order.create": ArgumentConstraint(max_amount=1000.0)},
)
guard = MonotonicConfinementGuard(initial_policy=policy)
framework = ProgentFramework(guard)
# 尝试扩权(下大额 PO)
result = framework.request_policy_update(
new_tools=["inventory.query", "purchase_order.create"],
new_constraints={"purchase_order.create": ArgumentConstraint(max_amount=5000.0)},
reason="大额补货需要",
)
print(result.action, result.requires_approval) # PENDING True
8. 论文来源
- 2504.11703