问题域/PD-321

语义 DAG 处理引擎

Semantic DAG Processing Engine

事件驱动的 DAG 执行器,自底向上聚合语义摘要,支持并发控制和收敛检测

子问题

1.目录树 DAG 构建

2.LLM 并发信号量控制

3.自底向上摘要聚合

4.收敛检测与提前终止

5.多媒体文件类型分发与摘要策略选择

6.双队列协作(语义队列单任务 + 嵌入队列并发)

7.异常传播与空结果降级避免父节点死锁

各项目的解法1 solutions

Signals

横向对比

维度OpenViking
调度模式事件驱动惰性调度,pending 计数器归零触发聚合
并发模型asyncio.Semaphore 全局限流 + asyncio.Lock 节点级互斥
DAG 构建运行时惰性构建,_dispatch_dir 按需创建 DirNode
收敛检测asyncio.Event 单信号收敛,根节点完成即 set
聚合方向自底向上:文件摘要 → 目录 overview → 父目录 abstract
队列架构QueueManager 单例 + NamedQueue 双队列(Semantic + Embedding)
多媒体支持四路分发:代码(AST/LLM)、文档、图片(VLM)、音视频

最佳实践

1.asyncio.Semaphore 限制 LLM 并发

2.事件驱动惰性调度避免资源浪费

3.overview_scheduled 标志防止重复触发聚合任务

4.文件摘要完成后立即异步提交向量化,不等待 overview

5.异常时向父节点传播空 abstract,保证 DAG 不死锁