L0-L7 架构层 — Ontology v6.0 Agent 实体按层组织
按 Ontology v6.0 L0-L7 架构层组织的 Agent 实体全景。可选组件以 opt 标注。L7 Environment 在此仅列子域概要,完整实体见「环境域」tab。
L0 · AgentCore(WHO — 身份与认知定义)
| Model | 底层推理模型 |
| PromptTemplate | 系统 Prompt 模板(含所有注入槽位) |
| LongTermMemory | 长期记忆(跨会话持久) |
| ShortTermMemory | 短期记忆(当前会话上下文) |
| Context | 任务上下文容器(内含 PromptCacheLayer) |
| list[Tool] | 工具集合 |
| list[Skill] | 技能集合 |
| list[MCPServer] | MCP 服务器空间(外部工具来源) |
| Channel | 通信通道 |
| Gateway | 外部调用入口(Webhook/API,默认无鉴权) |
| SecurityChecker | 安全校验器(含 GuardRail + RulesChecker) |
| list[Agent] | 上游/下游/MoA 同级 Agent |
| list[BaseEntity] | 扩展资产(第三方服务访问权) |
| SelfEvolve opt | 自进化持久模块 → 触发 SelfEvolveEvent |
系统 Prompt 模板,含所有 Source 注入槽位
| str (system_prompt) | 系统指令主体 |
| list[Slot] | 注入槽位列表(Source 位置集合) |
| Slot · tool_call_result | 工具返回槽(最主要注入面) |
| Slot · context_files | 上下文文件槽(AGENTS.md 等) |
| Slot · skills_guidance | 技能指导槽 |
| Slot · delegate_context | SubAgent 委托上下文槽 |
| Slot · gateway_message_context | 网关消息槽 |
| Slot · model_routing_context | 模型路由槽(供应链入口) |
L1 · 内部组件(Internal Components — 配置 · 记忆 · 知识库 · 自进化)
1.1 配置与权限管理
| File (config_files) | config.json / .env — 主配置文件路径 |
| str (permission_mode) | default / acceptEdits / bypassPermissions / autoEdit |
| list[str] (allow_from_rules) | 渠道来源白名单(空 = allowWhenEmpty 全放行 ⚠) |
| list[Rule] (tool_policy_rules) | 工具调用审批策略 |
| list[str] (dangerous_patterns) | 危险命令/路径黑名单(RulesChecker 使用) |
| str (model_provider) | 底层模型服务商(Anthropic / OpenAI / …) |
| str (model_api_key_ref) | API Key 引用(env var 名,非明文) |
| dict (sc_config) | SecurityChecker 启用/范围/授权配置项 |
1.2 记忆
| File (memory_file) | 存储路径(如 ~/.hermes/MEMORY.md) |
| File (user_profile) | 用户画像文件(USER.md) |
| str | 记忆内容 |
| datetime | 最后修改时间 |
| list[dict] (conversation) | 对话历史(EventInputs + EventResults) |
| str (current_task) | 当前任务描述 |
| list[EventResult] | 本会话工具返回结果集 |
1.3 知识库
KnowledgeBase
Entity · v6.0
私有知识库 / 向量数据库,RAG 检索注入面
| str (kb_type) | vectorDB / file_index / graph_db |
| str (embedding_model) | 向量化模型(本地/远程) |
| list[Document] (documents) | 知识库文档集合(PoisoningEntry 目标) |
| bool (access_controlled) | 是否有读写权限控制 |
1.4 自进化 · 强化学习(self_evolve / rl_pipeline)
| list[TRG-*] | 激活方式标签(触发配置) |
| list[evolve_scope] | 可修改组件范围(见枚举) |
| SchemaTool | 半自动触发时使用的 schema 工具 |
| str (constraint) | 约束条件(human_approval_required 等) |
| str (checkpoint_ref) | 进化前快照引用 |
| → SelfEvolveEvent | execute() 触发一次自进化执行事件 |
evolve_scope 枚举
MEMORY 会话即时·持久
CONFIG
SKILL
PROMPT
MODEL_WEIGHTS
RLTrainingPipeline
Entity · v4.6 · ORP-15
独立 RL/SFT 训练管线,compute_reward() 绕过 SecurityChecker
| str (training_framework) | atropos / trl / verl / custom |
| Model (base_model) | 被训练模型标识(如 Qwen3-8B) |
| str (finetune_method) | LoRA / full / DPO / PPO |
| BaseEnv (environment_class) | reward 函数来源的环境类 |
| bool (reward_tool_access) | compute_reward() 是否有完整工具访问权 ⚠ SC-GAP-RL |
| list[str] (locked_fields) | Agent 不可修改的参数 |
| list[str] (agent_editable) | Agent 可修改参数(攻击面) |
| list[str] (external_services) | 依赖的外部服务(API Key 类型) |
| str (output_path) | 权重输出路径 |
L2 · 能力空间(Capabilities — 工具 · 技能 · 插件)
2.1 工具 · 技能 · 插件(tool_space / skill_space / mcp_space / plugin_space)
| str (tool_id) | 唯一标识 |
| str (name) | 工具名称 |
| ToolSchema | JSON Schema 定义(参数声明) |
| bool (is_sandboxed) | 是否在沙箱内执行 |
| bool (requires_approval) | 是否需要用户审批 |
TOOL-* 4维度(标签,非属性)
TOOL-INPUT 接收外部输入
TOOL-DATA 读写敏感数据
TOOL-ACT 产生外部副作用
TOOL-FIELD 操作特殊领域
| str (skill_id) | 唯一标识 |
| str (name) | 技能名称 |
| str (source_url) | 技能来源(GitHub / Registry)→ L7.4 SupplyChain |
| str (skill_content) | SKILL.md 内容(注入面) |
| bool (is_signed) | 是否有完整性签名 |
| datetime (installed_at) | 安装时间 |
运行时注册的扩展能力(npm 包 / MCP 客户端配置),安装后成为 Agent 运行时能力的一部分
| str (plugin_id) | 唯一标识(包名@版本) |
| str (plugin_type) | npm_package / mcp_client / builtin_extension |
| str (source_registry) | 来源注册表 → L7.4 SupplyChain |
| list[str] (registered_capabilities) | 注册的能力接口(如 registerMemoryCapability) |
| bool (is_verified) | 是否有完整性验证(签名/哈希) |
| bool (has_full_runtime_access) | 是否获得完整 Node.js/宿主运行时权限 ⚠ |
L3 · Channel(CONTROL PLANE — 指令入口,仅无需用户二次确认的通道)
| str (channel_type) | Feishu / Slack / Email / API / CLI / … |
| Auth-TYPE-* | 鉴权类型(NONE / ONE_WAY / MUTUAL) |
| Auth-METHOD-* | 凭证形态(STATIC-TOKEN / STATIC-KEY / DYNAMIC-ID) |
| INJ-CH-* | 内容从工具结果到 LLM 的传递路径标注 |
L3 有效实例(内容直入 LLM,无需用户确认)
DMChannel ⚠ allowWhenEmpty
WebhookChannel ⚠ T-AUTO=1.5
EmailHookChannel ⚠ allowUnsafeExternalContent=true
Auth-TYPE 枚举
Auth-TYPE-NONE ⚠
Auth-TYPE-ONE_WAY
Auth-TYPE-MUTUAL
L4 · SecurityChecker(GUARD — 安全拦截层)
SecurityChecker
ObjectBase(容器)
安全校验器顶层容器,持有两类子检测器
| GuardRail 模型型 | 基于独立 AI 模型的内容检测子对象,具有对抗性风险面 |
| RulesChecker 规则型 | 基于关键词/模式匹配的规则校验子对象,可尝试语义绕过 |
| str (check_mode) | pre_check / post_check / both |
| str (approval_mode) | auto / manual(控制是否需要用户审批) |
SC-GAP 已知缺口枚举(挂于此容器)
SC-GAP-EMAIL-RESP
SC-GAP-CRON-APPROVAL
SC-GAP-BROWSER-RESP
SC-GAP-USER-PROFILE-URL
SC-GAP-RL-TRAINING-ENV
SC-GAP-SAFEPATH-PARTIAL
GuardRail 模型型
SecurityChecker → GuardRail · v4.5
外挂独立 AI 模型检测,对抗攻击可突破
| list[str] (guard_scope) | 覆盖位置:INPUT / OUTPUT / TOOL_CALL |
| str (enforcement) | BLOCK / FLAG / LOG(见枚举) |
| Model (guard_model) | 用于评分的独立检测模型 |
| float (threshold) | 触发阈值 |
| bool (is_present) | 是否实际部署 |
enforcement 枚举 · 对抗风险:模型可被 adversarial prompt 绕过
BLOCK
FLAG
LOG
RulesChecker 规则型
SecurityChecker → RulesChecker
关键词/模式规则校验,可尝试语义/编码绕过
| list[Rule] | 规则列表(关键词/正则/路径模式等) |
| list[str] (blocklist) | 危险命令/模式黑名单 |
| list[str] (safe_paths) | 允许写入的安全路径白名单 |
| str (check_scope) | command / path / file / url(见枚举) |
check_scope 枚举 · 绕过方式:同义词替换 / 编码变换 / 内容层注入
check_command
check_path
check_file
check_url
L5 · ContextPipeline(EXECUTION — 上下文组装与执行流)
| list[EventIteration] | 推理迭代序列容器,每个 EventIteration 持有一次完整 AgentEvent 6步循环 |
| list[EventInput] | 输入事件序列 |
| list[EventResult] | 工具执行结果(Sink 宿主) |
| Planner | 长期规划器引用 |
| PromptCacheLayer opt | 提示词缓存层(KV 缓存,跨会话复用窗口) |
EventIteration
Context → EventIteration
单次推理迭代容器,持有一次完整 AgentEvent 6步循环
| int (iteration_index) | 迭代轮次编号(从 0 开始) |
| AgentEvent (6步) | 本轮完整推理执行事件序列 |
| list[EventResult] | 本轮产生的工具执行结果集(Sink 宿主) |
| bool (is_terminal) | 是否为最终轮(Agent 决定停止迭代) |
任务流定义,控制 event_iterations 循环的结构
| list[Step] (steps) | 工作流步骤序列 / DAG 节点 |
| str (termination_condition) | 循环终止条件(可被注入控制 ⚠) |
| int (max_iterations) | 最大迭代轮次上限 |
| str (context_ref) | 关联的 Context 对象引用 |
工具执行结果实体,由 AgentEvent 第5步(Executing→Ends)产生,Sink 标签的唯一合法宿主
| str (tool_name) | 产生该结果的工具名 |
| str (raw_output) | 原始输出内容(注入内容载体) |
| bool (is_injected) | 是否含有注入内容(测试标注) |
| SK-* (sink_type) | 该结果触发的 Sink 类型(由标签标注) |
SK-* Sink类型枚举(挂载在此实体上)
SK-INFO
SK-MEMO
SK-STATE
SK-TOOL
SK-SYS
SK-NET
SK-EXEC
SK-AGENT
SK-DEP
SK-OUT
SK-PERSIST
L6 · Gateway/Dispatcher(ENTRY & SCHEDULING — 调度与触发入口)
外部调用入口(Webhook/API),默认无鉴权
| str (endpoint) | URL 端点 |
| bool (auth_required) | 是否需要鉴权(默认 False) |
| int|None (rate_limit) | 频率限制(请求/秒) |
| Slot (source_slot) | 对应的 PromptTemplate 槽位 |
调度与触发机制容器(Trigger 概念归并至此)
| list[CronJob] (cron_jobs) | 定时任务(croner / schedule.kind=cron) |
| HeartbeatConfig (heartbeat) | 心跳轮询配置(T-AUTO=1.5,无用户在线要求 ⚠) |
| list[Hook] (lifecycle_hooks) | 生命周期钩子(startup / shutdown / on_error) |
| list[FileWatch] (file_watch) | 文件变更触发器 |
| list[Agent] (related_agents) | 上游/下游/MoA 同级 Agent 声明 |
L7 · Environment(WORLD — 外部世界,完整实体见「环境域」tab)
L7.1 · ExecutionEnv
L7 sub-domain
本地代码执行沙箱
| Docker / VM / bare-metal | 沙箱边界类型,决定 exec 工具危险等级(无 Docker = security="full") |
| → 环境域 tab | 完整实体定义见 InternalEnv 卡 |
L7.2 · InternalEnv
L7 sub-domain
宿主文件系统 / 内部 API / 云环境 / 移动设备
| HostFS / InternalAPI / CloudEnv / MobileDevice | Agent 可访问的内部系统资产(Sensitive-SYSTEM 目标) |
| → 环境域 tab | 完整实体定义见 InternalEnv 卡 |
L7.3 · ExternalEnv
L7 sub-domain
网页 / 邮件服务 / 社交平台 / 第三方 API
| WebPage / EmailServer / SocialPlatform / ThirdPartyAPI | 外部内容来源,PoisoningEntry 主要来源域 |
| → 环境域 tab | 完整实体定义见 ExternalEnv / WebSite / Agent3rd 卡 |
L7.4 · SupplyChain
L7 sub-domain
npm 注册表 / MCP 市场 / Skill Hub / 插件商店
| NpmRegistry / MCPMarket / SkillHub / PluginStore | 依赖来源,恶意包可成为 PoisoningEntry(供应链投毒) |
| 注意:MCPServer 客户端配置 → L2 mcp_space | 服务器运行时响应 → L7.3;来源/安装 → L7.4 |
事件实体(AgentEvent · HarmEvent)
AgentEvent (6步循环)
BaseEvent → AgentEvent
Agent 一次推理执行的完整事件序列
子类枚举(顺序执行)
InstructEvent
用户指令接收 → 身份意志层
Observing
观察环境、读取记忆与上下文
Assembling
组装 PromptTemplate → 注入风险点
Reasoning
Model 推理决策
SafetyValidate
SecurityChecker 校验(GuardRail + RulesChecker,均可被绕过)
Executing → Ends
工具执行 → EventResult 产生 → Sink 宿主
SelfEvolveEvent
AgentEvent · v4.5
由 SelfEvolve.execute() 创建的自进化执行事件
| TRG-* | 本次触发的具体标签 |
| list[Modification] | 本次修改记录列表 |
| list[Tool] | 实际执行修改的工具 |
| str (before_snapshot) | 修改前状态快照引用 |
| str (after_snapshot) | 修改后状态快照引用 |
| str (approved_by) | human / auto |
Modification.change_type 枚举
WRITEUPDATE
DELETE
INSTALL
AttackPath 的危害节点,持有受害资产与危害事件,必须使用 HarmEvent 具体子类
| Asset (critical_entity) | 受害资产实体(必须携带 Sensitive-* 标签) |
| LeakToEvent | DeleteEvent | PayedToEvent | 具体危害事件子类,不能只写 HarmEvent |
| str (harm_type) | 危害类型描述 |
| float (severity) | 严重程度 0.0 ~ 1.0 |
| bool (harmreversed) | 是否可逆 |
HarmEvent 合法子类枚举(仅此三类,TamperEvent 不合法)
LeakToEvent
敏感数据外发到攻击者端点
DeleteEvent
不可逆删除
PayedToEvent
金融转账/支付操作(需 Sensitive-FINANCIAL 资产)
环境域 — Agent 外部与内部环境实体
Agent 所处的两个独立环境容器及其内部实体。注意:PoisoningEntry / AttackPath / Sink 均为标签,不是实体对象,标签体系见 tag_family.html。
环境容器
ExternalEnv
ObjectBase(外部环境容器)
Agent 可访问的外部实体全景,攻击者可控实体打 PoisoningEntry 标签
| str (env_id) | 环境唯一标识 |
| list[WebSite] | 网站/网页实体 |
| list[Agent3rd] | 第三方 Agent(SubAgent / UpstreamAgent / Peer) |
| list[App] | 移动/桌面应用实体 |
| list[ExternalService] | 外部 API / MCP Server / 第三方平台 |
| list[Relation] | 实体间关系 |
InternalEnv
ObjectBase(内部执行环境容器)
Agent 运行时的执行环境(沙箱 / 设备 / 主代理实例),不存放数据资产
| str (env_id) | 环境唯一标识 |
| Sandbox | 代码执行沙箱 / Docker Container |
| MobilePhone | 移动设备(HDC/ADB 控制目标) |
| 1stAgent | 主代理实例(自身运行时引用) |
| list[Relation] | 执行环境间关系 |
外部环境实体类型
WebSite · WebSitePage
ObjectBase
网站/网页实体,攻击者可控时打 PoisoningEntry 标签
| str (url) | 页面 URL |
| str (content) | 页面内容(可含隐藏注入指令) |
| bool (is_attacker_controlled) | 是否由攻击者控制 |
| str (inject_location) | 注入内容位置(正文/注释/meta) |
Agent3rd
Thing → BaseEntity
第三方 Agent 实体,SubAgent 委托场景的注入源
| str (agent_id) | Agent 唯一标识 |
| str (agent_type) | SubAgent / UpstreamAgent / PeerAgent |
| str (trust_level) | trusted / untrusted / unknown |
| list[str] (capability_scope) | 能力范围 |
| str (app_id) | 应用标识(bundle ID) |
| str (page_name) | 页面名称 |
| list[dict] (ui_elements) | 可操作 UI 元素列表 |
Asset 容器(敏感资产包装层)
Asset
容器(Wrapper · 任意原始对象均可标记为 Asset)
敏感资产容器,持有原始对象引用 + Sensitive-* 标签。Asset 标签本身可传递(如文件持有凭据,文件即可标记为 Sensitive-CREDENTIAL)
| Human | Agent | Thing | File | Code | API | 被包装的原始对象实体(6选1) |
| Sensitive-* (sensitivity_tag) | 敏感标签(必须携带,可多值) |
| bool (propagated) | 是否为传递性敏感(容器内含敏感对象 → 容器本身也标记为 Asset) |
Sensitive-* 7 类
Sensitive-CREDENTIAL
Sensitive-MEMORY
Sensitive-SYSTEM
Sensitive-PII
Sensitive-FINANCIAL
Sensitive-COMMUNICATION
Sensitive-CODEBASE
原始对象(Primitive Objects · 6 类)
Human
PrimitiveObject → BaseEntity
用户 / 操作者 / 受害方
| str (human_id) | 唯一标识 |
| str (role) | owner / end_user / victim |
| str (identity_info) | PII 数据(如有)→ Sensitive-PII |
Agent
PrimitiveObject → BaseEntity
Agent 实体引用(1st-party / 3rd-party)
| str (agent_id) | 唯一标识 |
| str (party) | 1st / 3rd / sub |
| str (trust_level) | trusted / untrusted / unknown |
Thing
PrimitiveObject → BaseEntity
抽象数据对象(资金 / 凭据 / PII / 历史记录等)
| Money | 资金 / 账户余额 → Sensitive-FINANCIAL |
| Token_Key | API Key / Token → Sensitive-CREDENTIAL |
| Pii_IdNumber | 个人身份信息 → Sensitive-PII |
| History | 对话历史 → Sensitive-COMMUNICATION |
| Prompt | 系统提示词内容 → Sensitive-MEMORY |
File
PrimitiveObject → BaseEntity
文件系统文件(配置 / 记忆 / 启动脚本等)
| str (path) | 文件绝对路径 |
| str (content) | 文件内容(可含注入指令) |
| str (file_type) | config / memory / script / data |
Code
PrimitiveObject → BaseEntity
代码 / 脚本 / 可执行文件
| str (repo_url) | 仓库地址(如来自外部) |
| str (file_path) | 本地路径 |
| str (language) | 编程语言 |
| str (content) | 代码内容 |
API
PrimitiveObject → BaseEntity
外部 API 接口 / MCP 服务端点
| str (endpoint_url) | 接口地址 |
| str (auth_method) | 鉴权方式(none / key / oauth) |
| str (api_type) | REST / MCP / Webhook / gRPC |
| bool (is_attacker_controlled) | 是否由攻击者控制 |