Agent Control Plane 的 “Kernel” 版本终于来了.

发布: (2026年1月15日 GMT+8 13:41)
6 min read
原文: Dev.to

I’m happy to translate the article for you, but I’ll need the full text of the post (the content you’d like translated). Could you please paste the article’s body here? Once I have that, I’ll provide a Simplified‑Chinese translation while keeping the source link and all formatting exactly as you requested.

Introduction

在我的original post中,我认为没有治理的智能是一个 bug。我们需要停止把 LLM 当作魔法盒子,而是把它们视为需要 kernel 来管理权限、资源和安全的原始计算组件。

今天,我从理论转向代码。

我已经发布了 Agent Control Plane v0.1,在本文中,我将向你展示将该架构概念转化为可感知现实的三个特性:Async SupportABACFlight Recorder

问题:单线程、不安全的代理

大多数当前的代理演示都是简单的循环:User Input → LLM → Tool Call → Output。这对聊天机器人来说还行,但在生产环境中就会崩溃。当多个代理尝试访问同一个数据库时会怎样?当“Support Agent”在没有批准的情况下尝试退款 10,000 美元时会怎样?

我们需要在代理和外部世界之间加入一层——Kernel。

功能 1:异步支持(非阻塞操作)

真实的生产环境是并发的。你不能让整个系统在某个代理等待工具完成时全部卡死。

在 v0.1 中,我已经引入了完整的异步支持。Kernel 可以拦截并调解多个代理的工具执行,同时进行而不阻塞主事件循环。

# Multiple agents can operate concurrently
results = await asyncio.gather(
    kernel.intercept_tool_execution_async("agent-1", "read_data", {}),
    kernel.intercept_tool_execution_async("agent-2", "write_report", {}),
    kernel.intercept_tool_execution_async("agent-1", "analyze", {}),
)

这不仅仅是速度的问题;更是吞吐量的问题。如果你正在构建一个群体(swarm)或多代理系统,阻塞调用就是敌人。

功能 2:ABAC(上下文感知权限)

标准的“防护栏”通常只检查文本输出(例如,“代理说了粗鲁的话吗?”)。在企业环境中,我们关注的是逻辑

基于属性的访问控制(ABAC) 让我们能够基于世界的状态来定义权限,而不仅仅是代理的角色。

# Setup: Finance agent can refund IF:
# 1. User is verified, AND
# 2. Amount is under $1000
conditions = [
    Condition("user_status", "eq", "verified"),
    Condition("args.amount", "lt", 1000)
]

permission = ConditionalPermission("refund_user", conditions, require_all=True)
policy.add_conditional_permission("finance-agent", permission)

在演示中运行时,结果是确定性的:

  • 已验证用户,$500 退款: ✅ 允许
  • 已验证用户,$1500 退款: ❌ 阻止
  • 未验证用户,$500 退款: ❌ 阻止

这将安全性从“提示工程”(乞求模型表现良好)转移到“策略工程”(在代码中强制执行规则)。

Feature 3: Flight Recorder (Audit Logging)

如果代理删除了文件或泄露了数据,你需要准确了解原因。是提示注入吗?幻觉吗?还是策略配置错误?

Flight Recorder 是一个黑盒审计记录器,捕获内核所做的每一个决策。它记录策略判定、工具参数以及违规原因。

# Action: Blocked write (protected path)
kernel.intercept_tool_execution(
    "audit-agent",
    "write_file",
    {"path": "/etc/passwd"},
    input_prompt="User: Update system file"
)
# Result: ❌ Logged as BLOCKED

演示中包含一个 get_statistics() 方法,可即时查看代理的合规健康状况:

  • 总操作数:3
  • 允许:1
  • 阻止:2

我遗漏的: “影子模式”

在构建此演示时,我意识到有一个关键的拼图块未包含在此特定文件中,但它是更广泛架构的一部分:影子模式

部署代理时最大的风险之一是恐惧:“如果它删除了数据库怎么办?” Kernel 架构提供了“影子模式”,您可以在生产输入上运行代理,让 Kernel 拦截工具调用,依据 ABAC 策略进行验证,记录结果(Success/Blocked),但永不实际执行工具

这使您能够在生产环境中对代理进行“red‑team”测试,零风险。您可以看到“代理 would have 处理这笔 $5,000 退款,但策略 would have 阻止它。”

代码可用性

您可以在仓库中找到演示的完整源代码,包括 AgentKernelPolicyEngine 类:

github.com/imran-siddique/agent-control-plane

Back to Blog

相关文章

阅读更多 »

Rapg:基于 TUI 的密钥管理器

我们都有这种经历。你加入一个新项目,首先听到的就是:“在 Slack 的置顶消息里查找 .env 文件”。或者你有多个 .env …

技术是赋能者,而非救世主

为什么思考的清晰度比你使用的工具更重要。Technology 常被视为一种魔法开关——只要打开,它就能让一切改善。新的 software,...

踏入 agentic coding

使用 Copilot Agent 的经验 我主要使用 GitHub Copilot 进行 inline edits 和 PR reviews,让我的大脑完成大部分思考。最近我决定 t...