内容
# 代理知识编译器和控制平面(AKCP)
代理知识编译器和控制平面(AKCP)是一个开源系统,用于将组织知识编译为受控、版本化、可测试、成本可控且可被代理使用的产物,并控制代理如何发现、获取、使用和执行这些知识,通过与MCP兼容的能力。
## AKCP是什么
AKCP明确将代理知识的生命周期分为两个操作平面:
1. **编译管道**:摄取原始组织知识(文档、维基、运行手册),将其标准化为OKF和AK-IR格式,并编译为语义密集、严格类型的产物(上下文包、MCP资源、OpenWiki文档、评估数据集)。
2. **控制平面**:控制自主代理在运行时如何与这些产物交互。它具有能力注册表、机器可读的策略卡、严格的人机审批和完整的审计遥测。
## AKCP不是什么
- **不仅仅是一个向量数据库或概率RAG管道**:AKCP专注于确定性、治理和静态上下文编译。
- **不是用于构建AI代理的通用框架**:AKCP不编排代理(如LangGraph或AutoGen)。相反,它为这些代理提供确定性的上下文和能力。
- **不是OpenWiki**:OpenWiki作者和维护代码库文档。AKCP编译和治理跨格式的知识。
- **不是OKF**:OKF提供最小的可移植知识格式。AKCP围绕它实现运行时编排器。
- **不是MCP**:MCP为工具和资源提供协议。AKCP用预算控制和治理包装MCP。
## 为什么这很重要
当今的AI代理存在结构性幻觉:它们缺乏确定性的基础。企业无法承受不可预测的代理行为,尤其是在代理具有副作用的能力时(例如,执行脚本、部署基础设施)。标准工具解决了部分问题,但未能提供从原始文档到受控代理副作用的完整供应链。AKCP通过将知识和工具视为受控、版本化的产物来解决这个问题。
## 架构概览
```mermaid
flowchart LR
来源[知识来源] --> OKF[OKF包]
OKF --> IR[AK-IR]
IR --> 编译器[AKCP编译器]
编译器 --> 产物[编译产物]
产物 --> MCP[MCP资源/工具/提示]
产物 --> 包[上下文包]
产物 --> OpenWiki[OpenWiki文档]
MCP --> 控制[控制平面]
控制 --> 策略[策略卡]
控制 --> 审计[审计证据]
控制 --> 评估[评估]
```
## 编译器管道
AKCP编译器像对待源代码一样处理组织知识:
1. **源**: 知识使用[OKF(开放知识格式)](docs/integrations/okf.md)进行结构化。
2. **IR**: 它解析为[代理知识IR(AK-IR)](docs/reference/agent-knowledge-ir.md),用于AST级验证和链接。
3. **目标**: 它通过针对不同代理和系统的[编译目标](docs/reference/compile-targets.md)生成优化的输出。
## 控制平面模型
在运行时,控制平面确保代理的安全执行:
1. **能力注册表**: 映射工具和资源。
2. **策略卡**: 定义严格的约束(例如,[策略卡规范](docs/reference/policy-cards.md))。
3. **审批**: 暂停执行以进行人工审批。
4. **遥测和审计**: 记录每个令牌和操作以获取[审计证据](docs/observability/telemetry.md)。
## 旗舰领域
为了证明其领域无关的架构,AKCP实施了不同的旗舰场景:
| 领域 | 存在原因 | 展示内容 |
|---|---|---|
| 职业 | 低摩擦入门领域 | 个人知识编译 |
| IT运维 | 企业旗舰 | 运行手册、事件、审批、审计 |
| 客户支持 | 未来企业旗舰 | PII、策略、宏、升级、历史 |
## 当前成熟度状态
| 领域 | 状态 | 证据 | 限制 | 下一个里程碑 |
|---|---|---|---|---|
| 编译器CLI | 测试版 | 测试 + 示例 | 尚未发布到npm | 全局CLI分发 |
| AK-IR | 测试版 | 规范 + 固定装置 | 需要手动调整 | 自动标准化 |
| MCP服务器 | 测试版 | 合同测试 | 仅限本地 | 安全远程托管 |
| 控制平面 | 测试版/Alpha | 策略卡 + 审计 | 仪表板是存根 | 全面的仪表板 |
| 职业旗舰 | 稳定演示 | 演练 | 工具范围有限 | 扩展 |
| IT运维旗舰 | 测试版企业演示 | 演练 | 模拟基础设施 | 真实的云集成 |
| 客户支持 | 计划中 | 设计提示 | 未实现 | 未来旗舰 |
## 快速入门
### 本地工作区流程(推荐)
由于AKCP尚未发布到npm,您必须直接从源代码运行它。
```bash
# 1. 克隆仓库
git clone https://github.com/vfcarida/Agent-Knowledge-Compiler-and-Control-Plane.git akcp
cd akcp
# 2. 设置环境
corepack enable
pnpm install --frozen-lockfile
pnpm build
# 3. 验证环境
pnpm akcp --help
pnpm akcp validate --bundle examples/career
pnpm akcp compile --config examples/career/akcp.yaml
```
## CLI示例
`akcp` CLI管理您的知识包:
| 命令 | 目的 | 示例 |
| --- | --- | --- |
| `akcp doctor` | 验证本地环境 | `akcp doctor` |
| `akcp compile` | 将知识编译为AK-IR/产物 | `akcp compile --config examples/career/akcp.yaml` |
| `akcp validate` | 验证包/规范/配置 | `akcp validate --bundle examples/career` |
| `akcp serve mcp` | 通过MCP提供编译产物 | `akcp serve mcp --profile career` |
有关详细信息,请参见[CLI用法](docs/cli/usage.md)。
## 仓库结构
- `packages/core/`:OKF解析器、编译器和AK-IR标准化引擎。
- `packages/cli/`:`akcp`命令行界面。
- `packages/mcp-profile-server/`:通过MCP公开上下文。
- `packages/mcp-automation-server/`:通过Playwright/HITL控制代理副作用。
- `packages/conformance/`:OKF和AKCP兼容性测试套件。
- `examples/domains/`:旗舰领域的演示架构。
## 规格和标准
AKCP依赖于规范驱动的开发:
- [代理知识IR(AK-IR)](docs/reference/agent-knowledge-ir.md)
- [AKCP配置(`akcp.yaml`)](docs/reference/akcp-yaml.md)
- [编译目标和清单](docs/reference/compile-targets.md)
- [策略卡](docs/reference/policy-cards.md)
- [一致性规范](docs/reference/conformance.md)
## MCP和OKF兼容性
- AKCP原生支持模型上下文协议。参见[MCP安全](docs/security/mcp-security.md)和[工具合约](docs/reference/mcp-tool-contracts.md)。
- AKCP作为[开放知识格式(OKF)](docs/integrations/okf.md)的编排器。
## 安全性和治理
安全性在架构层面嵌入:
- [威胁模型](docs/security/threat-model.md)
- [自动化安全](docs/security/automation-safety.md)
- [NIST AI RMF映射](docs/governance/nist-ai-rmf-mapping.md)
- [OWASP LLM控制](docs/governance/owasp-llm-controls.md)
## 测试和一致性
通过运行综合测试套件确保质量:
```bash
pnpm test -- --run
pnpm check:docs
pnpm check:links
```
有关评估框架,请参见[评估文档](docs/testing/evals.md)。
## 路线图
参见[社区路线图](docs/community/roadmap.md)。
## 贡献
参见[CONTRIBUTING.md](CONTRIBUTING.md)获取代码级指南。
## 向后兼容性和迁移
该仓库以前被称为开放职业格式(OCF)、ContextOps和代理就绪知识参考架构。旧版CLI命令(`ocf`、`agent-ready`)继续路由到主`akcp`二进制文件,同时发出弃用警告。
| 旧概念 | 规范AKCP概念 | 迁移状态 |
| --- | --- | --- |
| `开放职业格式(OCF)` | 代理知识编译器和控制平面(AKCP) | 身份已更新。内部引用已弃用。 |
| `ContextOps` | AKCP控制平面 | 身份已更新。 |
| `ocf` CLI命令 | `akcp` | 支持弃用警告。 |
| `agent-ready` CLI命令 | `akcp` | 支持弃用警告。 |
---
_在MIT许可下。_