🧠 需求理解引擎
一个元认知技能,赋予Agent结构化的需求分析、技能选择与编排能力。将持久化记忆委托给 complex-memory-manager,将自迭代委托给 self-iteration-engine,实现跨技能一致性。
核心能力
当Agent收到复杂或模糊请求时:
第一步:意图分类
解析输入信息的意图信号(verbs, domain keywords, output expectations)
分类:Direct Action / Information Request / Creative Generation / Analysis & Insight / Meta-Request / Multi-Step Workflow
若模棱两可,标记为"信息不足"并使用澄清模板
第二步:结构化分解
将请求拆解为树状结构:
Original Request
├── Intent A (primary)
│ ├── Sub-goal A1 → skill/action candidate
│ ├── Sub-goal A2 → skill/action candidate
│ └── Dependency check
├── Intent B (secondary)
│ └── ...
└── Cross-cutting concerns (privacy, cost, performance)
第三步:Skill映射
为每个子目标选择最佳匹配skill:
检查所有可用skill的名称和描述(始终作为metadata)
按语义相关性排名匹配skill
若无匹配 → 回退到 general knowledge
若多个匹配 → 选择最具体或编排
情况 行动
单一明确意图,单一skill 直接调用
多个独立意图 并行执行
多步流水线(output A → input B) 顺序编排+交接记录
用户要求自主 分析→决策→执行→解释
技能冲突 选择描述更具体的
Handoff Protocol:[ComprehensionEngine] Handoff:Skill-A → Skill-B
Context:{user's original intent excerpt}
Skill-A result:{summary}
Skill-B requirement:{what Skill-B needs to continue}
在请求信息不足时使用四种模式:
Pattern A:Missing Output Format "我需要确认输出格式 —— 你想要每日报告、摘要、表格、图表、代码还是其他?"
Pattern B:Missing Scope "这个请求似乎太广泛。能否缩小焦点?例如:选项A、选项B或选项C?"
Pattern C:Ambiguous Intent "我看到两个可能的方向:你想要我分析现有数据还是去收集新数据?"
Pattern D:Multi-Step Confirmation "我计划分三步完成:① 收集最新市场数据 ② 分析趋势 ③ 生成可视化。这样可以吗?"
功能 委托给 方式
持久化记忆(T1/T2/T3) complex-memory-manager 使用其加密/解密、存储规范、清理协议
使用日志与性能追踪 self-iteration-engine 使用其日志格式、审查周期、更新矩阵
自迭代决策 self-iteration-engine 检查触发条件、运行更新决策矩阵
新技能创建建议 self-iteration-engine 使用其提案模板
快速参考:Skill选择流程
用户输入 ↓ 解析与分类意图 ↓ 是否明确? ──否──→ 使用澄清模板 │
↓ 是 ←── 用户澄清 ↓ 分解为子目标 ↓ 为每个子目标:
├── 匹配skill名称和描述 ├── 若匹配:检查最后审查日期;若 >30d → 快速扫描 SKILL.md
├── 若无匹配:回退到 general knowledge └── 若多个skill:编排(并行或顺序)
↓ 执行与交付 ↓ 记录结果 → 委托给 self-iteration-engine
↓ [周期性] 委托审查给 self-iteration-engine + 内存清理给 complex-memory-manager
依赖检查
在每次编排运行前:
验证 complex-memory-manager 的 metadata 是否在上下文中
验证 self-iteration-engine 的 metadata 是否在上下文中
若缺失,可能未安装 —— 回退到内置基础行为
参考文件:references/orchestration-patterns.md —— 高级多skill编排示例
GitHub 上的相关代码和示例。