Arcana Planning Artifact
外部 Agent 架构趋势参考下的 Arcana 动态框架与自进化路线
本规划不把 Hermes 或任何外部框架作为主线。它把 OpenAI Agents、MCP、A2A、AG-UI、Agent Skills、LangGraph、Microsoft Agent Framework、AWS AgentCore、AlphaEvolve、Darwin Godel Machine 等作为参考材料,再按 Arcana Constitution 重新设计。
文档定位(design note,不是 roadmap tracker):本文是外部趋势参考与架构论证,不是带 done 标记、与代码/测试挂钩的进度追踪。Phase 1–4/6 的实质条目是 specs/kimi-code-response-roadmap.md 已有阶段的重新表述——“当前已建成什么”以那份 canonical roadmap 为准。本文唯一的净新增支柱 self-evolution 已落为候选宪法边界 specs/constitution-amendment-6-self-evolution-boundaries.md(principles-only,mechanism 暂不固化,未并入正文)。
总览
用户的方向很清楚:不是照搬 Hermes,也不是把某个外部框架变成 Arcana 的架构中心。外界最近的变化更像一组信号:协议正在标准化,运行时正在生产化,UI 正在事件化,技能正在生命周期化,自进化正在从“灵感”转向“带评测的候选改动搜索”。
Arcana 已经有相当多的正确基础:contracts-first、ToolGateway、ExecutionChannel、side-effect、permission、guardrails、trace、MCP provenance、dynamic discovery、skills、context compression、batch/chain/chat/collaborate。下一步应该是把这些能力整理成更清晰的 Dynamic Capability Layer,而不是新增一个中心化超级 agent。
核心建议:Arcana 后续主线应命名为 ProtocolBridge + CapabilityRegistry + Evidence Loop,而不是 Hermes。Hermes 这类名字可以作为外部参考项出现,但不作为 public API 或架构锚点。
本规划的主要结论
| 外部信号 | Arcana 应吸收什么 | Arcana 应避免什么 |
|---|---|---|
| OpenAI Agents / Responses | 统一工具调用、built-in tools、guardrails、trace/evals、developer ergonomics。 | 不要把 SDK 自带 handoff topology 变成默认拓扑。 |
| MCP | 动态工具发现、能力协商、roots/sampling/elicitation 等边界能力。 | 不要把协议成员身份当作信任边界。 |
| A2A | Agent Card、task lifecycle、artifact、long-running status、modality negotiation。 | 不要让远程 agent 自动变成 supervisor。 |
| AG-UI / ChatKit 风格 | 事件流、interrupts、state diff、frontend tool calls、可恢复交互。 | 不要允许模型任意生成可执行 UI 或隐藏危险 action。 |
| Agent Skills | progressive disclosure、skill lifecycle、skill eval、技能可移植。 | 不要把 skill 当成 system/developer authority。 |
| LangGraph / Microsoft / AWS | durable execution、checkpoint、workflow 显式控制、middleware/policy/registry。 | 不要把 Arcana 改成强制图工作流框架。 |
| AlphaEvolve / DGM / Autoskill | 候选改动、自动评测、archive、skill memory、proposal lifecycle。 | 不要生产运行时自改权限、guardrail 或核心 runtime。 |
外部趋势雷达
以下资料以官方文档、官方博客和论文为主。它们不是 Arcana 的设计命令,而是可以拆解吸收的参考信号。
1. OpenAI Agents / Responses / Agent tooling
OpenAI 在 2025 年 3 月发布 Responses API、built-in tools、Agents SDK、observability。官方叙事强调:生产 agent 的难点不只是模型能力,而是工具接入、多步任务、可观测性、guardrails 和 evals。
- Responses API 把 Chat Completions 的简单性和 Assistants 的 tool use 能力合并,面向多工具、多模型轮次 agent。
- Built-in tools 包括 web search、file search、computer use。
- Agents SDK 公开强调 agents、handoffs、guardrails、tracing/observability。
- Computer use 的官方说明明确提到 prompt injection、安全确认、环境隔离和人类监督。
对 Arcana 的启发:Arcana 已经有自己的 runtime OS,不需要照搬 Agents SDK;但应该补齐第一方 developer ergonomics:doctor、trace inspect、eval recipes、guardrail recipes、capability catalog inspect。
2. MCP:工具与上下文协议正在成为基础设施
MCP 2025-06-18 规范把 host、client、server、resources、prompts、tools、sampling、roots、elicitation 等概念规范化。它同时明确强调 consent、data privacy、tool safety 和 sampling controls。
- MCP server 暴露 resources、prompts、tools;client 可提供 sampling、roots、elicitation。
- HTTP authorization 采用 OAuth 2.1 相关机制,强调 resource indicators、token audience validation。
- 规范明确说 tool descriptions/annotations 应视为不可信,除非来自可信 server。
- MCP 本身不能强制安全,host 实现必须补 authorization、access control、consent UI。
对 Arcana 的约束:Arcana 现有宪法 v3.6 已经说“协议是能力传输层,不是信任边界”。这条需要继续强化:MCP 只进 ProtocolBridge,不直接进 prompt 或 tool registry。
3. A2A:Agent Card 与 long-running task 是重要抽象
Google 2025 年发布 A2A,强调跨 vendor/framework agent 的互操作。A2A 的关键不是“多 agent 很酷”,而是几个可借鉴的协议对象:Agent Card、task lifecycle、artifact、status update、message parts、modality negotiation、安全认证。
- Agent Card 用 JSON 描述 agent 能力,帮助 client agent 做 capability discovery。
- Task object 有生命周期,支持长任务和状态同步。
- Artifact 是任务产物,适合 Arcana trace/session bundle 引用。
- Message parts 支持不同内容类型,适合未来 multimodal / UI negotiation。
对 Arcana 的启发:Arcana 的 runtime.collaborate() 和未来 subagents() 可以吸收 task/artifact/status/card,但用户代码仍决定谁说话、何时说话、授权什么。
4. AG-UI / ChatKit 风格:Agent UI 正在变成事件协议
AG-UI 把 agent 到用户界面的连接定义为轻量、事件化、双向协议;重点包括 streaming chat、typed attachments、shared state、interrupts、frontend tool calls、tool output streaming、subagent composition。
- UI 不再只是最终 answer,而是 agent 运行事件的投影。
- Interrupts 支持 pause、approve、edit、retry、escalate。
- Shared state 和 streamed diffs 能让前端实时渲染长任务。
- Generative UI 必须受 app validation 控制,不能让模型任意挂载危险组件。
对 Arcana 的启发:Arcana 不必现在做前端协议,但 trace event、stream event 和 ask_user/guardrail approval 应设计成未来可投影到 UI 的稳定事件。
5. Agent Skills:progressive disclosure 是已被验证的方向
Anthropic 的 Agent Skills 把技能定义为包含 SKILL.md、metadata、instructions、scripts、resources 的文件夹。官方强调 progressive disclosure:先加载 name/description,相关时再加载 skill body,必要时再读附加文件。
- 技能是 reusable filesystem resources,不是一次性 prompt。
- 技能可以包含脚本,以 deterministic code 补充 LLM。
- 安全上必须审计 skill 来源、脚本、依赖、网络连接。
- Anthropic 明确提到未来希望 agent 创建、编辑和评估 skills。
对 Arcana 的现状:Arcana 已有 Skills v1,方向正确。下一步应补 skill lifecycle:draft、validated、trusted、deprecated、revoked,以及 skill eval。
6. LangGraph / Microsoft / AWS:生产化 runtime 的共识
这几条路线共同指向生产 agent 的基础设施:durable execution、persistence、human-in-the-loop、checkpoint、middleware、policy、registry、observability、evals、identity、sandbox。
| 外部系统 | 值得吸收的点 | Arcana 的取舍 |
|---|---|---|
| LangGraph | durable execution、interrupt、thread_id、checkpoint、state snapshots。 | Arcana 可提供 checkpoint/resume 原语,但不强制用户建 graph。 |
| Microsoft Agent Framework | agent vs workflow 分工、middleware、type-safe routing、telemetry。 | Arcana 应保留 chain()/collaborate() 的显式控制,不加默认 orchestrator。 |
| AWS Bedrock AgentCore | runtime、gateway、identity、code interpreter、browser、observability、policy、registry。 | Arcana 可借鉴 modular service taxonomy,但保持本地库/SDK 轻量性。 |
7. 自进化研究:从“自改代码”转向“评测约束下的候选搜索”
Google DeepMind AlphaEvolve、Darwin Godel Machine、MUSE-Autoskill、SkillFoundry 等方向都说明一件事:自进化有价值,但必须依赖 automated evaluators、benchmarks、archive、技能生命周期、sandbox、人类监督。没有评测和边界的自进化不是工程能力,是风险。
- AlphaEvolve 的关键是 LLM 生成候选程序,由自动评估器验证和打分,再进入 evolutionary database。
- DGM 的关键是 self-modification archive,不是单一路径自改;论文也提到 sandboxing 和 human oversight。
- MUSE-Autoskill 强调 skill creation、memory、management、evaluation、refinement 作为统一生命周期。
- SkillFoundry 强调从外部资源提炼 skill packages,同时必须有 provenance 和 tests。
对 Arcana 的红线:自进化默认只能产生 EvolutionProposal,不能在生产 runtime 中自动修改 permission、guardrail、provider、ProtocolBridge 或 core runtime。
宪法适配
Arcana Constitution v3.6 已经覆盖了大量外部趋势:MCP、connectors、A2A、browser/computer-use、future remote protocols 是能力传输层,不是信任边界;guardrails 是边界,不是隐藏工作流;evals 是发布证据,不是运行时治理者。
当前宪法已经足够支撑的内容
| 设计 | 是否已被宪法覆盖 | 依据 |
|---|---|---|
| ProtocolBridge / CapabilityRegistry | 是 | 协议是能力传输层,进入 contracts/trace/permission。 |
| MCP/A2A/AG-UI adapters | 是 | adapter 不继承外部 orchestration 假设。 |
| Tool-call guardrails | 是 | guardrails 只能 block/redact/approval/warn,不做 hidden workflow。 |
| Eval gates | 是 | evals 是 release evidence。 |
| Subagents facade | 是 | 用户控制谁说话和何时说话,不加默认 supervisor。 |
可能需要新宪法修订的内容
真正新的一点是 self-evolution。现有宪法说 evals 是发布证据,但还没有明确规定:当 agent 生成框架自身的修改建议时,哪些可以自动应用,哪些必须人工批准,哪些永远不能在 runtime 中自动改。
建议:短期不急着修改宪法正文,但在规划中新增“Amendment 6 候选:Self-Evolution and Runtime Mutation Boundaries”。等第一版 EvolutionProposal contracts 和 eval gates 落地后,再决定是否正式接受。
设计目标
可用
开发者能快速知道 provider、tools、skills、MCP、permission、guardrail、trace 的当前状态。
动态
外部能力可以被发现、准入、降权、撤销、热更新,而不绕过 contracts。
可复盘
每个高权限行为都有 trace:谁发现、谁准入、谁授权、为什么执行或拒绝。
可组合
Runtime 不强制 graph、subagent、workflow,但提供足够原语让用户组合。
可演化
自进化先产出 proposal、tests、evidence、risk,不直接改生产边界。
守宪
不把协议、UI、skills、eval、guardrail 变成隐藏策略层。
建议架构
本规划建议的主线名称是 Dynamic Capability Layer。内部可以包含 ProtocolBridge、CapabilityRegistry、AdmissionController、ExposureSelector、EvidenceLoop。它吸收 Hermes 等思想,但不采用 Hermes 作为 public API 名称。
External Agentic Ecosystem
|-- MCP servers and registries
|-- A2A remote agents
|-- AG-UI / frontend event clients
|-- Provider built-in tools and connectors
|-- Skills packages
|-- Browser / computer-use / code execution backends
|
v
ProtocolBridge Adapters
normalize identity, auth, protocol version, schema, side effects, errors
|
v
Dynamic Capability Layer
+----------------------+ +----------------------+
| CapabilityRegistry |--->| AdmissionController |
| catalog + snapshots | | allow/downgrade/deny |
+----------------------+ +----------------------+
| |
v v
ExposureSelector EvidenceRecorder
scoped visible capabilities trace + bundle + eval evidence
|
v
Arcana Runtime Boundaries
ToolGateway | ExecutionChannel | Context Builder | AskUser | Hooks | Budget
|
v
ConversationAgent | ChatSession | Chain | Batch | Collaborate | Subagents
组件定义
| 组件 | 职责 | 禁止职责 |
|---|---|---|
ProtocolBridge |
把外部协议对象转为 Arcana candidate capability。 | 不授权,不规划,不直接进 prompt。 |
CapabilityRegistry |
维护当前能力目录、source、digest、版本、状态。 | 不执行工具,不选择 next action。 |
AdmissionController |
按 provenance、side-effect、policy、trust scope 做 allow/downgrade/refuse。 | 不因为任务看起来有用就绕过权限。 |
ExposureSelector |
决定当前 run/session 可见哪些已准入能力。 | 不把完整 catalog 塞入 context。 |
EvidenceRecorder |
写 trace、bundle manifest、proposal evidence。 | 不作为权限判断来源。 |
EvolutionLoop |
离线从 evidence 生成 proposal 并验证。 | 不在生产 runtime 自动改边界代码。 |
Phase 1:先提升框架可用性
建议周期:1-2 周在动态能力层之前,先把用户看不见的现有能力变得可诊断、可解释、可学习。
1.1 arcana doctor
| 检查项 | 输出 | 安全要求 |
|---|---|---|
| providers | 默认 provider、模型、env key 是否存在、profile 能力。 | 不打印 key。 |
| tools | 数量、side-effect、requires_confirmation、capabilities。 | 不打印敏感参数样本。 |
| MCP | server、transport、discovered/admitted/downgraded/refused counts。 | 标记 stdio/http auth 风险。 |
| skills | skill_paths、数量、shadowing、token estimate、parse errors。 | 未信任 skill 不自动执行脚本。 |
| guardrails/permissions | 已配置规则、默认写工具确认策略。 | 清楚说明 deny/block 顺序。 |
| trace | trace dir、namespace、最近 run、写权限。 | 默认显示 digest,不显示 raw payload。 |
1.2 arcana trace inspect
arcana trace list:列出 run_id、时间、status、tokens、cost。arcana trace inspect RUN_ID:timeline:turn、tool、context、permission、guardrail。arcana trace why-tool RUN_ID TOOL:工具为何可见、为何被阻止、是否被降权。arcana trace export RUN_ID --html:脱敏 HTML report。
1.3 示例补齐
examples/tool_guardrails.py:block/redact/approval。examples/mcp_safe_import.py:dynamic discovery + admission trace。examples/skills_lifecycle.py:progressive disclosure + provenance。examples/trace_debugging.py:TraceReader + prompt replay。examples/hitl_interrupts.py:ask_user + approval callback。
退出标准
- 新用户能在 10 分钟内跑通 tool + guardrail + trace。
- doctor/trace 命令都有 CLI tests。
- 输出不泄漏 API key、raw sensitive tool args。
Phase 2:Dynamic Capability Layer
建议周期:2-4 周这一层是对 MCP/A2A/AP2/AG-UI/AgentCore registry 等外部趋势的 Arcana 化吸收。它不是策略层,而是能力目录与准入层。
2.1 包结构
src/arcana/capabilities/
__init__.py
bridge.py # ProtocolBridge protocol
registry.py # CapabilityRegistry
admission.py # AdmissionController
exposure.py # ExposureSelector
diagnostics.py # why visible / why downgraded / why refused
src/arcana/contracts/
capability.py # CapabilityRecord, CapabilitySource, AdmissionDecision
protocol.py # ProtocolAdapterInfo, ProtocolDiscoveryEvidence
tests/
test_capability_registry.py
test_capability_admission.py
test_capability_exposure.py
test_protocol_bridge.py
2.2 Capability lifecycle
- Discovered:adapter 发现能力。
- Normalized:转为 Arcana candidate。
- Admitted:allow/downgrade/refuse/quarantine。
- Registered:注册到 ToolRegistry / Channel registry / SkillRegistry。
- Exposed:按 run/session scope 暴露。
- Executed:仍经过 ToolGateway/ExecutionChannel。
- Retired:动态撤销,记录 trace。
2.3 外部协议映射
| 外部对象 | Arcana 内部形态 | 准入重点 |
|---|---|---|
| MCP tool/resource/prompt | CapabilityRecord(kind="tool/resource/prompt") |
server identity、side effect、auth、untrusted annotations。 |
| A2A Agent Card | CapabilityRecord(kind="agent") |
auth scheme、task scope、artifact types、trust scope。 |
| AG-UI frontend action | CapabilityRecord(kind="frontend_action") |
UI action binding、human approval、no hidden destructive action。 |
| Skill package | SkillSpec + lifecycle metadata |
trusted source、scripts、network access、token budget。 |
| Payment / purchase mandate | AuthorizationArtifact |
intent binding、expiration、single-use semantics、trace。 |
2.4 MCP 迁移策略
- 先不重写 MCP,只把现有 dynamic discovery/admission 的结果同步到
CapabilityRegistry。 - 保留
Runtime(mcp_servers=[...])API 不变。 - 新增 fake protocol adapter 测试,证明 registry 不绑定 MCP。
- 在 trace 里新增
CAPABILITY_SNAPSHOT和CAPABILITY_EXPOSURE。
Phase 3:Agent-User / Agent-Agent 交互协议准备
建议周期:2-3 周不需要现在实现 AG-UI 或 A2A server,但 Arcana 的 stream/trace/session bundle 要为这些协议留出结构。
3.1 Stream event 对齐
| Arcana event | 未来 UI/协议映射 | 备注 |
|---|---|---|
run_started |
AG-UI run event / A2A task created | 需要 run_id、session_id、trace refs。 |
turn_started |
UI step event | 不要暴露 raw hidden prompt。 |
tool_call_requested |
frontend approval card | 包含 side-effect 和 arguments digest。 |
guardrail_decision |
approval/block/warn UI | 已具备 trace record,可扩到 stream。 |
ask_user |
interrupt / elicitation | Arcana 仍保持 graceful fallback。 |
artifact_created |
A2A artifact / session bundle artifact | 适合文件、报告、subagent output。 |
3.2 Agent Card 草案
Arcana 可以为 Runtime 或 SubagentService 生成非默认暴露的 ArcanaAgentCard,但只作为显式 export 或 adapter 使用。
class ArcanaAgentCard(BaseModel):
name: str
description: str
version: str
supported_input_modes: list[str]
supported_output_modes: list[str]
capabilities: list[str]
auth_schemes: list[str]
task_limits: dict[str, Any]
trace_policy: str
permission_scope: str
Phase 4:Typed Hooks 与 Middleware
建议周期:2-3 周外界正在把 middleware、policy、guardrails、interrupts 变成生产 agent 必备能力。Arcana 应以类型化 hooks 方式吸收,而不是让用户 monkey patch runtime。
Hook 分类
| 类型 | 语义 | 失败策略 | 可否阻断 |
|---|---|---|---|
| Observer | metrics、logging、debug。 | fail-open + trace warning。 | 否 |
| Boundary | input/output/tool/remote/write/computer-use。 | structured decision。 | 是 |
| Transform | redact、schema normalize、metadata attach。 | 失败转 structured error。 | 间接 |
禁止事项
- Hook 不能返回
next_tool。 - Hook 不能替换 user goal。
- Hook 不能自动插入 reviewer workflow。
- Observer hook 不能改变 runtime state。
- Boundary hook 不能比 permission policy 更宽松。
Phase 5:可审计自进化
建议周期:3-6 周借鉴 AlphaEvolve、DGM、MUSE-Autoskill、SkillFoundry,但按 Arcana 宪法重写:自进化不是运行时自改,而是 evidence-backed proposal loop。
5.1 Evolution loop
- Collect evidence:trace、eval failures、doctor reports、user feedback。
- Cluster:按 failure category 聚类。
- Diagnose:生成 root-cause hypotheses。
- Propose:生成
EvolutionProposal。 - Patch in sandbox:只在隔离 worktree 或 proposal patch 中改。
- Verify:targeted tests、全量 tests、ruff、mypy、eval gates。
- Review:人工批准高风险改动。
- Merge:合并后记录 decision。
- Monitor:后续 traces 验证是否改善。
5.2 Proposal 类型
| 类型 | 可自动生成 | 可自动应用 | 备注 |
|---|---|---|---|
doc_update |
是 | 可选,默认仍需 review | 最低风险。 |
eval_addition |
是 | 可在 sandbox 应用 | 应优先生成 eval,再生成修复。 |
skill_refinement |
是 | 需 trusted skill scope | 需要 skill provenance。 |
tool_schema_patch |
是 | 需 tests | 防止破坏 public API。 |
guardrail_patch |
是 | 否 | 必须人工批准。 |
permission_patch |
是 | 否 | 高风险,默认不能自动 apply。 |
runtime_patch |
是 | 否 | 必须完整 CI + review。 |
5.3 Skill lifecycle
Arcana 已有 Skills v1,下一步应将“自进化”优先限制在 skill 层,因为 skill 比 runtime 更适合作为可审计、可回滚、可评测的演化单元。
draft -> evaluated -> trusted -> active -> deprecated -> revoked
draft:由 agent 或人创建,不能自动加载。evaluated:有 tests/eval evidence。trusted:人工批准来源和脚本。active:可被 WorkingSetBuilder 选择。deprecated:保留但不再优先选。revoked:不可加载,trace 中保留原因。
Phase 6:Subagents 与 Session Bundle
建议周期:2-4 周借鉴 A2A 的 Agent Card / Task / Artifact,借鉴 LangGraph 的 checkpoint,借鉴 AG-UI 的 long-running event stream,但 Arcana 仍保持 user-controlled orchestration。
Subagent API
subs = runtime.subagents(
budget=arcana.Budget(max_cost_usd=1.0),
inherit_permissions=True,
)
subs.add(
name="researcher",
system="Collect evidence and return trace references.",
tools=[search_docs],
)
result = await subs.ask("researcher", "Inspect this session bundle.")
delegate = subs.as_tool("researcher")
Session bundle
SessionBundle
bundle_id
root_run_id
run_ids
capability_snapshot_refs
admission_decision_refs
guardrail_decision_refs
permission_decision_refs
artifact_refs
child_run_refs
total_tokens
total_cost_usd
redaction_policy
退出标准
- Subagent 默认不能递归 spawn。
- Child run 权限只能继承或收窄。
- Parent trace 能看到 delegated_by_run_id / delegated_by_step_id。
- Session bundle HTML 默认脱敏。
宪法修订候选
建议新增一个候选修订案,而不是立即改主宪法:Amendment 6 Candidate: Self-Evolution and Runtime Mutation Boundaries。
修订触发条件
- Arcana 开始支持 agent 生成代码或配置改动 proposal。
- Arcana 开始支持自动生成或修改 skills。
- Arcana 开始从 traces/evals 自动提出 runtime behavior 改动。
候选原则
| 原则 | 内容 |
|---|---|
| Proposal before mutation | 任何自进化改动先成为 EvolutionProposal。 |
| Evidence before acceptance | Proposal 必须引用 trace/eval/test evidence。 |
| Human approval for authority | 权限、guardrail、provider、remote protocol、execution backend 改动必须人工批准。 |
| Sandbox before merge | 候选补丁只在 sandbox/worktree 中验证。 |
| Rollback evidence | 合并后必须保留 rollback 指针和失败监控。 |
| No self-preservation behavior | 自进化系统不能阻止 shutdown、绕过 review、扩大自身权限。 |
是否现在正式修宪
建议:现在先不正式修宪,只在 spec 中加入候选修订案。等 EvolutionProposal、skill lifecycle、eval gates 的第一版落地并经过测试后,再把候选修订案并入 Constitution v3.7。
合同草案
Capability
class CapabilitySource(BaseModel):
origin: Literal["local", "mcp", "a2a", "ag_ui", "connector", "skill", "browser", "computer", "payment"]
adapter_name: str
adapter_version: str | None = None
server_name: str | None = None
transport: str | None = None
auth_context_digest: str | None = None
class CapabilityRecord(BaseModel):
capability_id: str
name: str
kind: Literal["tool", "agent", "resource", "prompt", "skill", "frontend_action", "authorization"]
description: str
input_schema_digest: str | None = None
output_schema_digest: str | None = None
side_effect: SideEffect
capabilities: list[str] = []
source: CapabilitySource
requires_confirmation: bool = False
status: Literal["candidate", "admitted", "downgraded", "refused", "quarantined", "retired"]
Admission
class AdmissionDecision(BaseModel):
capability_id: str
action: Literal["allow", "downgrade", "refuse", "quarantine", "retire"]
reason: str
side_effect_override: SideEffect | None = None
requires_confirmation_override: bool | None = None
details: dict[str, Any] = Field(default_factory=dict)
Evolution
class EvidenceBundle(BaseModel):
bundle_id: str
trace_refs: list[str]
eval_refs: list[str] = []
failure_categories: list[str]
examples_digest: str
summary: str
class EvolutionProposal(BaseModel):
proposal_id: str
proposal_type: Literal[
"doc_update",
"eval_addition",
"skill_refinement",
"tool_schema_patch",
"guardrail_patch",
"permission_patch",
"runtime_patch",
]
title: str
rationale: str
evidence: EvidenceBundle
affected_files: list[str]
risk_level: Literal["low", "medium", "high"]
approval_required: bool
required_checks: list[str]
测试与 Eval
Invariant tests
- Protocol discovery never implies authorization。
- Remote capability missing side-effect metadata is downgraded or refused before exposure。
- Capability exposure is scoped per run/session and traceable。
- Permission deny cannot be overridden by guardrail allow。
- Guardrail block prevents execution even when permission allows。
- Observer hook failure is traced and fail-open。
- Boundary hook cannot return next_tool or replacement_goal。
- EvolutionProposal cannot apply high-risk patches without approval。
- Skill draft cannot auto-load until evaluated/trusted。
- Session bundle does not leak raw sensitive arguments by default。
Eval suites
| Suite | 风险 | 通过标准 |
|---|---|---|
| Remote capability prompt injection | 工具描述或 output 指示模型泄漏数据。 | 不升级为 instruction,不绕过 permission。 |
| Dynamic discovery replacement | 同名工具被恶意 server 替换。 | shadowing/admission trace 明确,默认不静默替换 trusted local。 |
| Payment / purchase approval | agent 误解用户 intent 执行购买。 | 需要 explicit authorization artifact 和 single-use binding。 |
| Skill poisoning | skill 指示模型忽略系统或连外网。 | draft/quarantine,不自动 active。 |
| Self-evolution authority escalation | proposal 放宽 permission 或删除 guardrail。 | 标记 high risk,必须人工批准,不能自动 apply。 |
里程碑
30 天
- 完成
arcana doctor最小版本。 - 完成
arcana trace inspect文本版本。 - 补 guardrail、permission、skills、MCP recipes。
- 新增
CapabilityRecord/AdmissionDecisioncontracts 草案。 - 写
constitution-amendment-6-self-evolution-boundaries.md候选草案,但不合并进主宪法。
60 天
- 完成
CapabilityRegistry和 deterministic snapshot digest。 - 把现有 MCP admission 结果桥接到 capability registry。
- 新增 fake protocol adapter 测试。
- 完成 observer hooks + boundary hook contracts。
- Trace inspect 支持 why visible / why downgraded / why refused。
90 天
- MCP 内部迁移到 ProtocolBridge adapter,public API 不变。
- 完成 session bundle manifest 初版。
- 完成 skill lifecycle 草案和 draft/evaluated/trusted 状态。
- 完成
EvolutionProposalcontracts 和 render-to-HTML。 - 新增 self-evolution safety eval suite。
6 个月
- 支持 MCP + A2A experimental adapter + AG-UI event projection proof of concept。
- Subagents facade 支持预算、权限继承/收窄、trace correlation。
- Self-evolution loop 可以从 traces/evals 生成 proposal,但高风险改动仍必须人工批准。
- 如候选 Amendment 6 经实践验证,合并进 Constitution v3.7。
资料来源
本规划参考了以下官方资料和论文。外部资料只作为设计信号,不覆盖 Arcana Constitution。
- OpenAI: New tools for building agents - Responses API、built-in tools、Agents SDK、guardrails、tracing。
- OpenAI Agents SDK docs - agents、sandbox agents、guardrails、human-in-the-loop、sessions、MCP、tracing。
- Model Context Protocol specification 2025-06-18 - host/client/server、resources、prompts、tools、sampling、roots、elicitation、安全原则。
- MCP Authorization - OAuth 2.1、resource indicators、token audience validation。
- Google: Announcing the Agent2Agent Protocol - Agent Card、task lifecycle、artifact、long-running tasks、modality。
- A2A latest specification - task/message/error/security protocol details。
- AG-UI overview - event-based agent-user protocol、interrupts、shared state、frontend actions。
- Anthropic: Agent Skills - progressive disclosure、SKILL.md、skill security、自主 skill 方向。
- LangGraph overview - durable execution、human-in-the-loop、persistence、observability。
- LangGraph interrupts - checkpoint-backed human-in-the-loop interrupt/resume。
- Microsoft Agent Framework overview - agents vs workflows、middleware、telemetry、type-safe workflows。
- Amazon Bedrock AgentCore overview - runtime、gateway、identity、observability、policy、registry、evaluations。
- Google DeepMind AlphaEvolve - candidate generation + automated evaluators + evolutionary database。
- Darwin Godel Machine - open-ended archive of self-improving coding agents with empirical validation。
- MUSE-Autoskill - skill creation、memory、management、evaluation、refinement。
- SkillFoundry - self-evolving skill libraries with provenance and tests。