算法套件
云雀 Agent 内置 9 个生产级算法,增强检索、模型选择、质量评估和调度能力。每个算法都基于学术论文并接入运行时。
概览
| 算法 | 用途 | 参考文献 |
|---|---|---|
| BM25 | 稀疏关键词检索 | Robertson et al., 1995 |
| TF-IDF | 记忆重要性评分 | Salton & Buckley, 1988 |
| Bandit | 在线模型选择 | Auer et al. (UCB1), 2002 |
| Quality Scorer | 零 LLM 回复质量评分 | PMIScore, N-gram Diversity |
| GraphRAG | 社区级深度索引 | Microsoft GraphRAG |
| Isolation Forest | 行为异常检测 | Liu, Ting, Zhou, 2008 |
| HNSW | 近似最近邻搜索 | Malkov & Yashunin, 2018 |
| 推荐引擎 | 技能/话题推荐 | Linden et al. (Amazon), 2003 |
| Q-Learning | 任务调度优化 | Watkins & Dayan, 1992 |
BM25 混合检索
BM25 倒排索引与密集向量搜索结合,通过 RRF (Reciprocal Rank Fusion) 融合。
- 参数: k1 = 1.5, b = 0.75
- 中文支持: CJK 单字切分
- 集成: 召回管线第 2.5 阶段 + 第 4 阶段增权
模型赌博机 (UCB1 + Thompson Sampling)
多臂赌博机自动在每个模型层级 (fast/smart/expert) 内选择最优模型。
- UCB1: 确定性策略,平衡利用与探索
- Thompson Sampling: 贝叶斯随机化探索
- 路由器在每次 LLM 请求前调用
bandit.Select(tier)
质量评分器
零 LLM 调用的纯统计质量评估,5 个维度:
| 维度 | 测量内容 |
|---|---|
| 关键词覆盖 | 查询关键词在回复中的出现比例 |
| N-gram 多样性 | Trigram 唯一性(检测退化输出) |
| 长度比 | 回复长度 vs 查询(sigmoid 甜点 1-5x) |
| 信息密度 | 唯一词/总词 × log 长度因子 |
| 问答对齐 | 问题类型检测 + 回复模式匹配 |
用于反思循环: ≥ 0.6 跳过 LLM 评估, < 0.2 自动判定失败。节省约 60% 反思 LLM 调用。
GraphRAG 深度索引
基于微软 GraphRAG 论文的社区级深度索引。
- Leiden 风格社区检测
- BFS 多跳子图遍历
- LLM 社区摘要生成
- 社区级关键词检索
其他算法
- Isolation Forest: 异常检测,集成到元认知监控
- HNSW: 多层导航图近似最近邻,O(log N) 插入
- 推荐引擎: 5 维混合评分 (偏好 30% + Thompson 25% + 上下文 20% + 新颖度 15% + 时间衰减 10%)
- Q-Learning: 表格式强化学习,4 动作空间的任务调度