背景
这是我的 硕士毕业论文原型:一个面向网络安全风险分析的、领域结构化、证据驱动的多智能体框架。系统将推理任务分解为基于结构化证据的角色专精 Agent,并支持两种互补的执行模式以便做干净的消融实验。
来源说明: 目前是私有的论文原型。下面描述其架构、claim 与代码结构。
架构
输入 Case ──▶ [Stage 0(可选)JELAS Grounding Agent]
↓ JelasResult
[Stage 1:证据检索(LLM,JELAS-aware)]
↓ EvidenceBundle
┌───────────┼───────────┐
▼ ▼ ▼
Exposure Likelihood Impact
Agent Agent Agent
└───────────┬───────────┘
▼
[Stage 3(条件触发):Critic Agent]
(当各 level 分歧 ≥ 阈值时触发)
▼
[Stage 4:Coordinator Agent]
(置信度加权的综合输出)
▼
FinalReport
(保留全部中间结果)
两种执行模式
两种模式共享同一个 run_pipeline(case) 入口。唯一的开关是 case JSON 中是否带有 jelas_env_name 字段 —— 这是有意为之,方便项目做干净的 A/B 消融。
- 纯 LLM 流水线 —— 在结构化 case 上做纯语言模型推理。
- JELAS 神经符号流水线 —— 增加一个确定性的 Stage 0,在任何 LLM 调用之前注入预计算的知识图谱 + Datalog 风险事实。
五个可验证的 claim
每个 claim 在框架内都对应一个消融实验:
| # | Claim | 机制 |
|---|---|---|
| C1 | 网络安全风险更应被建模为 结构化推理,而非单一不透明的预测。 | 五个专精 Agent,每个有独立的 schema 与 prompt。 |
| C2 | 领域对齐的角色(Exposure / Likelihood / Impact)比通用的 Planner / Reviewer 角色产生更可解释的中间状态。 | 角色专用的 Pydantic v2 schema,让每个 Agent 的贡献都强类型、可检查。 |
| C3 | 证据驱动的推理提升一致性与可信度。 | 共享的 EvidenceBundle + 可选的 JELAS 神经符号事实,在任何分析型 Agent 推理之前先注入。 |
| C4 | 在该领域里,轻量级条件式校验优于无约束的多智能体辩论。 | 条件触发的 Critic,只有在分析型 Agent 的有序风险等级分歧 ≥ 2 时才触发。 |
| C5 | 跨 case 的 「分析师经验」 可以无需重训复用。 | CaseMemory 通过 Jaccard × EWMA-recency 召回 top-k 相似历史 case,改编自 LLMTraveler(Wang et al., 2025)。 |
设计原则
领域对齐,不是角色通用。 Agent 对应于网络安全风险推理的概念维度(exposure / likelihood / impact),而不是 planner / reviewer 这种通用软件工程角色。这让中间状态对安全分析师来说是可解释的。
Schema 先行。 所有跨 Agent 消息都是带类型的 Pydantic v2 模型。这给了 LLM 一个硬合约,启用自动归一化(level 字符串小写化并按 enum 校验),也让消融实验之间可以确定性地对比。
双模式即架构。 纯 LLM 与神经符号两种模式共享同一个入口。是否存在 jelas_env_name 是唯一的开关。这让论文可以呈现干净的 A/B 对比,而不需要维护两条代码路径。
优雅降级。 JELAS 文件缺失、记忆条目缺失、组件被禁用 —— 都会静默降级而不是中断流水线。这对无人值守的实验批量扫描很重要。
块化 Prompt。 每个 Agent 的 user message 由若干独立块组装而成 —— Profile / Memory / Case / Evidence / Guidance。每个块都能被一个 config flag 单独消融,这正是让敏感性分析跑起来很便宜的原因。
横切组件
agents/components/
├── memory.py # CaseMemory:跨 case 的经验库 + 检索
└── profile.py # AnalystProfile:行为校准(4 个维度)
- CaseMemory 为每个新 case 检索 top-k 最相关的历史 case(基于 case 特征的 Jaccard 相似度 × EWMA-recency)。
- AnalystProfile 捕捉四个行为维度(校准度 / 进取度 / 领域偏好 / 啰嗦度),可以按实验切换以研究 persona 效应。
状态
进行中 —— 新加坡国立大学计算学院硕士毕业论文(2026.01 至今)。源代码可应要求提供。