Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,11 @@ flowchart TD
- [实验路线](docs/experiment-roadmap.md)
- [证据规则](docs/evidence-policy.md)
- [前人工作与阅读地图](docs/prior-art.md)
- [文献审查协议](docs/literature-review-protocol.md)
- [主要参考文献](docs/references.md)
- [前人工作比较矩阵](docs/prior-art-matrix.md)
- [研究证据追踪](docs/research-evidence-traceability.md)
- [R0 文献门禁记录](docs/r0-literature-gate.md)
- [威胁模型与安全不变量](docs/threat-model.md)

## 项目谱系
Expand Down
74 changes: 74 additions & 0 deletions docs/literature-review-protocol.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
# 文献审查协议

状态:`R0 LITERATURE PROTOCOL · CLOSED 2026-09-03`

本协议记录 R0 文献基线怎样形成。它是面向架构与实验设计的有界工程审查,不是系统性文献
综述、穷尽性历史或新颖性意见。

## 审查目标

审查回答两个问题:已有系统分别掌握哪些机制;FlowKernel 的哪些陈述仍然只是需要反证的
组合假设。分析单位是职责、权力、动作、状态、验证和失败边界,而不是项目名称。

## 时间与检索边界

- 截止日期:2026-09-03。
- 检索面:官方规范、官方项目文档、原始论文/机构报告和维护者拥有的 artifact。
- 主题族:保护原则、Capability、Agent Harness、工具权限、Agent runtime、runtime assurance、
shielding、来源与可复现性、Linux cgroup/PSI/BPF/`sched_ext`、Agentic scheduler control plane、
checkpoint/restore、集群资源管理、学习型调度和许可证边界。
- 对关键新近方向使用组合检索:`agent harness + resource management`、`agent operating system +
scheduling`、`capability-controlled agent runtime`、`LLM + sched_ext`、`runtime assurance +
untrusted controller`。
- 引用追踪只用于发现主要来源;二手摘要不进入决策证据。

## 纳入与排除

来源只有在直接定义、实现或评估至少一个研究问题所需的机制,并可归属于标准组织、项目
维护者或原作者时纳入。

排除无技术依据的营销比较、无法追溯到主要来源的性能数字、复述上游的教程,以及由本项目
文档自身循环证明的主张。未被纳入不等于无关;它只表示不属于本轮 R0 有界基线。

## 证据等级

| 类型 | 可用于证明 | 不能自动证明 |
| --- | --- | --- |
| `SPEC` | 采用该规范时必须遵守的语义与边界 | 某实现正确、快速或适合 FlowKernel |
| `DOC` | 官方维护者公开描述的接口和行为 | 未公开失败模式或生产效果 |
| `PAPER` | 作者在给定方法和环境下发表的设计与结果 | 跨 workload、跨平台或跨层外推 |
| `PREPRINT` | 可检查的候选设计、方法与报告结果 | 同行评审已完成或结论已稳定 |
| `REPORT` | 机构报告明确记录的模型、方法或结果 | 超出报告适用域的保证 |
| `ARTIFACT` | 可检查、可尝试复现的实现范围 | 论文结论已复现或实现可生产使用 |

## 三条证据线必须分开

1. **Harness/Agent runtime 线**:Prompt、上下文、记忆、计划、工具调用、Agent 级进程和应用层
resource policy。它不能替代 OS 权限根和硬资源机制。
2. **Linux reference lab 线**:cgroup、PSI、BPF、`sched_ext`、容器与恢复机制。它可以执行和
测量,但不自动理解业务目标、工作流事实或 FlowKernel target 的自研内核语义。
3. **FlowKernel target 线**:受限 C、Capability、生命周期、确定性 Guard、有限执行器和独立
验收。这是待实现、待验证的研究对象,不得借用前两条线的成功状态。

三条线通过版本化 Proposal、Capability、Observation、Acceptance 和 Evidence 合同交接,
不得共享凭据、可变状态、最终 authority 或故障域。分层不要求把每层拆成微服务;进程和
地址空间边界只由威胁、故障和资源隔离证据决定。

## 综合方法

1. 在[主要参考文献](references.md)中分配稳定编号和证据类型。
2. 在[前人工作比较矩阵](prior-art-matrix.md)中逐项记录问题、状态、动作、目标、更新时机、
authority、验证者、fallback、环境、证据强度和公开限制。
3. 在[研究证据追踪](research-evidence-traceability.md)中把来源、未决问题和 R 阶段对应。
4. 正面证据与反证控制同等保留;更简单的现有方案能满足目标时,FlowKernel 必须收缩。
5. 观察事实、工程推断和未来假设分别标注,不能互相升级。

## 版本、链接与更新

版本化规范和正式出版页优先。活文档和活动分支只用于发现;进入 ADR 或实验时必须固定版本、
修订或 commit。外部链接可达性在审查时观察,但不作为确定性 CI 门禁,因为网络可达不等于
来源质量,网络不可达也不等于仓库结构错误。

R0 关闭本轮基线,不冻结未来文献。新机制、上游语义变化或直接反证出现时,只重开受影响的
研究问题和阶段门禁;新增条目必须包含编号、证据等级、访问日期、归属 RQ 和使用它的决策或
实验。
56 changes: 56 additions & 0 deletions docs/prior-art-matrix.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# 前人工作比较矩阵

状态:`R0 COMPARISON BASELINE · 2026-09-03`

本矩阵把相似词汇拆回实际职责。来源编号见[主要参考文献](references.md),检索和证据等级见
[文献审查协议](literature-review-protocol.md)。`—` 表示来源没有公开该语义,不能自行补成
“默认支持”。

| 基线 | 问题 | 状态 | 动作 | 目标 | 策略更新时机 | 最终 authority | 验证者 | fallback | 环境 | 证据强度 | 公开限制 |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| Microsoft Agent Harness 与 Agent 工程指南 (`HAR-02`, `HAR-03`) | 长任务 Agent 脚手架 | 会话、上下文、待办、模式、文件与工具状态 | 模型/工具循环和审批 | 应用工具与会话 | 每轮或长任务过程中 | 宿主应用/审批策略 | Harness policy 与人工审批 | 停止、拒绝或应用定义 | Python/.NET 等应用 | `DOC` | 不提供 OS Capability 根、调度热路径或硬资源隔离 |
| Progent (`HAR-01`) | Agent 工具最小权限 | 工具调用上下文与策略 | 允许、拒绝并选择 fallback | Agent 可调用工具 | Agent 执行期 | 可编程策略执行器 | 确定性策略检查 | 被拒动作的替代路径 | Agent 工具层 | `PREPRINT` | 不等同内核资源所有权、恢复后授权或独立事实验收 |
| AIOS (`HAR-05`, `HAR-06`) | LLM Agent 的调度和资源服务 | Agent、上下文、记忆、工具等 runtime 状态 | 调度、切换和管理 Agent 资源 | LLM/工具/上下文等应用层资源 | Agent runtime 执行期 | AIOS kernel/runtime | 实现内检查与实验评价 | 实现定义 | 常规宿主 OS 上的 Agent runtime | `PAPER` + `ARTIFACT` | “OS”是 Agent 服务抽象,不是自研硬件机制或 FlowKernel C target |
| AgentRM (`HAR-07`) | Agent 阻塞、僵尸、限流与上下文退化 | Agent turn、lane 与 context tier | MLFQ、reaping、admission 与 compaction | Agent runtime 资源 | 运行时 | 中间件 resource manager | runtime 检查与实验指标 | backoff、reap、hibernate | 常规 Agent 框架中间件 | `PREPRINT` | 预印本;管理 Agent/runtime 资源,不承担 OS 权限根 |
| Agent libOS (`HAR-08`, `HAR-09`) | 长期 Agent 的进程、工具和 Capability | AgentProcess、对象、工具与持久 runtime 状态 | 调度、中断、授权、恢复和工具调停 | Agent runtime 对象与外部工具 | 运行时和显式发布/恢复点 | libOS runtime | capability/policy/持久状态检查 | 拒绝、等待人工、恢复 | 宿主 OS 之上的 library OS | `PREPRINT` + `ARTIFACT` | 明确不是硬件驱动、内核态隔离或 POSIX OS;不能替代 FlowKernel target 证据 |
| Simplex/RTA 与 shielding (`SAFE-01`, `SAFE-02`) | 不可信高级策略的安全执行 | 安全条件、控制器状态或形式化抽象 | 监视、阻断、纠正或切换控制器 | 控制动作 | 每次控制决策 | 可信 monitor/switch/shield | 形式条件或合成 shield | 可信安全控制器/安全动作 | 特定形式模型与控制环境 | `REPORT` + `PAPER` | 保证依赖模型与规范;不能直接继承到 OS 生命周期和 Capability |
| cgroup v2、PSI、BPF (`LIN-04`-`LIN-06`) | Linux 资源包络、压力与可编程机制 | cgroup 层级、资源控制和压力指标 | 限制、分配、观测和执行 BPF 程序 | Linux task/cgroup 与内核 hook | 配置时或运行时机制调用 | Linux 内核与特权控制方 | 内核规则/BPF verifier | 控制器定义或内核拒绝 | Linux | `DOC` | 不理解工作流目标、Agent 计划或外部业务事实 |
| `sched_ext` / `scx` (`LIN-01`-`LIN-03`) | 可替换 Linux CPU 调度策略 | task、CPU、DSQ 与调度器状态 | 选择 CPU、入队、派发 | Linux CPU task | 调度事件与动态加载时 | Linux scheduler core | BPF verifier、watchdog 与错误检测 | 恢复默认调度行为 | 支持 `sched_ext` 的 Linux | `DOC` + `ARTIFACT` | 是 Linux 实验/部署机制,不证明 FlowKernel 自研内核或 Agent governance |
| SchedCP (`AGOS-01`, `AGOS-02`) | Agent 自动分析并优化 Linux scheduler | workload profile、策略库、候选代码/配置 | 选择、生成、验证、部署和监控 scheduler | `sched_ext`/eBPF 调度策略 | 慢控制面与部署阶段 | SchedCP control plane + Linux mechanism | 静态检查、BPF verifier、microVM/执行验证 | token、canary、circuit breaker、旧策略 | Linux + `sched_ext` + Agent control plane | `PREPRINT` + `ARTIFACT` | 预印本/公开 artifact;不证明 C-first target、通用运行时 Proposal 或完整 Capability 动力学 |
| Kgent (`AGOS-03`) | 自然语言生成 eBPF 内核扩展 | 提示、候选程序和验证反馈 | 合成并校验 eBPF | 内核扩展程序 | 生成/验证阶段 | 工具链和部署方 | 程序理解、符号执行、eBPF verifier | 拒绝或继续反馈 | Linux/eBPF 实验 | `PAPER` | 重点是代码合成,不是长期资源 authority、生命周期或独立事实验收 |
| OCI / CRIU (`RUN-01`, `RUN-02`) | workload 隔离接口与检查点恢复 | runtime bundle、进程与可恢复状态 | 创建/执行/停止或 checkpoint/restore | Linux 容器和进程 | 生命周期边界 | runtime/宿主 OS | 规范检查与内核/工具行为 | 操作失败、保留/恢复策略由上层定义 | Linux 用户空间 | `SPEC` + `ARTIFACT` | 不保证任意外部资源可迁移,也不定义 FlowKernel authority |
| Borg、DeepRM、Decima、CPO (`CLUSTER-01`, `LEARN-01`-`LEARN-03`) | 集群放置、学习型调度和约束优化 | 资源、队列、DAG 或策略状态 | admission、placement 或学习策略动作 | 集群 job/task | 调度周期或训练/部署阶段 | 集群控制器或策略执行框架 | 规则、约束或实验评价 | 基线调度/系统定义 | 数据中心、模拟器或 Spark 集群 | `PAPER` | 研究对象与 OS 机制不同;结果不能跨 workload 和环境直接外推 |

## 三层对照结论

```text
Agent Harness / Agent runtime
负责意图、计划、上下文、工具和应用层资源
│ typed proposal only
▼
Deterministic authority boundary
负责 Principal、Capability、状态所有权与 Guard
│ bounded command only
▼
OS resource mechanism
负责 CPU、内存、I/O、隔离、调度与恢复动作
```

第一层越狱最多应产生违规 Proposal;如果它可以签发权限、修改 Guard 或直达机制,失败就是跨层
权限提升。第三层只落实已经授权的有限命令,不解释 Prompt 或业务重要性。中间层是 FlowKernel
计划验证的安全断点,但当前尚未实现,因此这张图是合同假设,不是安全保证。

## FlowKernel 尚待反证的组合差异

现有工作已经覆盖 Agent loop、工具策略、Agent 级资源管理、Capability-controlled runtime、
学习型调度、Agentic Linux scheduler control plane、内核扩展生成、runtime assurance 和受监控
回退。FlowKernel 只能继续检验更窄的组合:

- 多种策略源在运行时提交同类型、有限、可回放的 Proposal;
- 独立 C-first authority 依据 Capability、生命周期和硬资源不变量裁决;
- 自研 target 与 Linux reference lab 使用同一语义合同但保留不同事实线;
- 授权、执行、Observation、AcceptanceVerdict 与 EpistemicStatus 分别拥有状态;
- Harness 失守不会自然获得 authority 或机制入口。

若 Agent libOS、AIOS、SchedCP、直接 Linux 机制或更简单的组合以更低复杂度满足首个实验目标,
FlowKernel 必须缩小研究范围,而不是维持预设差异。
38 changes: 29 additions & 9 deletions docs/prior-art.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
# 前人工作与阅读地图

本文档是 R0 之前的初始阅读地图,不是系统性文献综述。条目只说明 FlowKernel 应从哪里
建立基线,不能据此宣称研究问题新颖或方案有效。正式开题前必须补充检索方法、时间范围、
纳入标准和引用版本。
本文档是 R0 的叙事阅读地图,不是系统性文献综述。条目只说明 FlowKernel 应从哪里建立
基线,不能据此宣称研究问题新颖或方案有效。检索方法、时间范围、纳入标准和引用版本已记录在
[文献审查协议](literature-review-protocol.md),逐项字段见[前人工作比较矩阵](prior-art-matrix.md),
稳定编号见[主要参考文献](references.md),问题级用途见[研究证据追踪](research-evidence-traceability.md)。

## 保护、能力与可信边界

Expand All @@ -16,12 +17,12 @@
- [seL4 Capability Distribution Language](https://docs.sel4.systems/projects/capdl/index.html):
capability distribution 会限制系统未来可达状态,可作为静态权限图和最小系统描述的研究
参照。
- [Progent:Programmable Privilege Control for LLM Agents](https://arxiv.org/abs/2504.11703):
- [Progent: Securing AI Agents with Privilege Control](https://arxiv.org/abs/2504.11703):
以可编程策略在 Agent 执行期对工具调用实施细粒度、确定性的最小权限控制,并定义被拒绝
动作的 fallback。它是 FlowKernel 讨论 Agent Principal、有限动作和 complete mediation 时
必须比较的应用层基线;其工具调用策略不等于内核 Capability,也不覆盖资源所有权、恢复后
权限保持或外部事实验收。
- [Microsoft Agent Framework:Agent Harness](https://learn.microsoft.com/en-us/agent-framework/get-started/harness):
- [Microsoft Agent Framework:Agent Harness](https://learn.microsoft.com/en-us/agent-framework/concepts/harness):
把规划/执行模式、待办、上下文压缩、文件记忆与访问、工具审批和跨轮会话状态作为 Harness
脚手架。它是 FlowKernel 划定应用层编排责任的直接工程基线:这些能力属于不可信策略域,
不是 C-first 权限边界或资源调度机制,也不能因存在工具审批就推导出系统级最小权限。
Expand All @@ -33,6 +34,25 @@
授权可以被拆分,从而减少单一主体独立滥用系统的风险。FlowKernel 只把它作为未来高风险
governance transition 的候选原则,不在单维护者阶段伪造多人治理。

## Agent OS 与 Agent runtime

- [AIOS: LLM Agent Operating System](https://openreview.net/forum?id=L4HHkCDz2x) 及其
[artifact](https://github.com/agiresearch/AIOS):把 Agent 调度、上下文、记忆、存储、工具和
访问管理组织为宿主操作系统之上的 Agent runtime。它是 Agent 级资源抽象的正式发表基线,
但其“kernel”不等于 FlowKernel 计划中的 freestanding C target,也不替代硬件机制证据。
- [AgentRM](https://arxiv.org/abs/2603.13110):以 MLFQ、zombie reaping、限流感知 admission 和
分层上下文生命周期处理 Agent runtime 的阻塞、僵尸和上下文退化。它直接约束 FlowKernel
关于“Agent 资源调度”的措辞;当前按预印本使用,不能把报告结果升级为稳定结论。
- [Agent libOS](https://arxiv.org/abs/2606.03895) 及其
[artifact](https://github.com/yingqi-z20/Agent-libOS):将长期 Agent 表示为可调度、可中断、
capability-controlled 的运行时进程,并公开声明其位于常规宿主 OS 之上,不实现硬件驱动、
内核态隔离或 POSIX 操作系统。它是 Harness 与 OS 机制之间应用层 runtime 的最直接对照,
也是 FlowKernel 必须保留三层边界、不能笼统宣称 Capability/恢复创新的反证控制。

这些系统说明“Agent 也需要调度、资源、上下文、恢复与权限”已经不是空白。FlowKernel 若继续,
必须证明的是独立 deterministic authority 与 C-first 资源机制边界,而不是重复一个更底层外观的
Agent runtime。

## Runtime assurance 与不可信策略

- [NASA:A Formal Verification Framework for Runtime Assurance](https://ntrs.nasa.gov/citations/20240006522):
Expand Down Expand Up @@ -138,10 +158,10 @@ SchedCP 已实质覆盖 AI workload 分析、策略选择/合成、控制面与
control-plane 直接基线,逐项比较策略更新时机、动作粒度、authority、验证者、fallback、
运行时开销和公开失败边界。

R0 开始前,需要建立文献矩阵,逐项记录问题、状态、动作、目标、策略更新时机、authority、
验证者、fallback、实验环境、证据强度和公开局限。若已有工作覆盖上述差异,应修改研究问题,
而不是维护预设的新颖性。论文、可运行 artifact、工程博客和未验证实现必须分级记录,不能
因为名称相似或实现可用就赋予相同证据权重。
R0 文献门禁已经建立比较矩阵,逐项记录问题、状态、动作、目标、策略更新时机、authority、
验证者、fallback、实验环境、证据强度和公开局限。若后续工作覆盖上述差异,应修改研究问题,
而不是维护预设的新颖性。论文、预印本、可运行 artifact 和官方工程文档分级记录,不能因为
名称相似或实现可用就赋予相同证据权重。

## Linux reference lab 的许可证边界

Expand Down
Loading