综合评估
核心用法
CrabPath 是一个纯图结构的记忆检索路由引擎,采用 caller-provided 设计哲学:所有嵌入(embedding)与 LLM 调用必须由调用方通过回调函数注入,自身零依赖、零网络请求。核心工作流分为四步:
1. split_workspace 将本地工作区解析为图结构与文本节点
2. VectorIndex 建立向量索引(需用户注入 embed 函数)
3. traverse 基于种子节点在图上执行 learned routing(学习型路由)
4. apply_outcome 将结果反馈回图,实现持续学习
批量处理通过 batch_or_single / batch_or_single_embed 实现,支持自定义批处理函数;若未提供,则退化为 ThreadPoolExecutor 并行单调用。CLI 提供完整的图生命周期管理(init/query/learn/replay/health/merge/connect/journal)。
显著优点
- 零依赖零网络:核心引擎纯本地计算,无外部服务绑定
- 极致灵活:可接入任意嵌入模型(OpenAI、本地Sentence-Transformers、私有模型)与任意 LLM
- 学习式路由:图结构支持基于 outcome 的持续优化,而非静态检索
- 批处理友好:显式暴露 batch 接口,便于成本控制与性能优化
潜在缺点与局限性
- 完全外置依赖:用户必须自行实现并维护 embed/LLM 回调,开发成本与故障排查责任完全转移
- 无内置安全校验:回调注入点可能成为恶意代码执行通道(若回调被篡改)
- 无官方模型支持:不绑定任何经审定的模型,输出质量完全取决于用户提供的模型
- 学习机制黑盒:
traverse与apply_outcome的具体学习算法未公开,可解释性与收敛性存疑 - CLI 执行权限:
--embed-command/--route-command等参数允许执行任意 shell 命令,存在命令注入风险
适合人群
- 需深度定制 RAG/Routing 链路的高级开发者
- 拥有私有嵌入模型或 LLM 基础设施的企业用户
- 对零依赖、可审计代码有强需求的安全敏感场景
常规风险
- 供应链风险:
pip install来源未经验证,需自行审计 PyPI 包 - 代码注入风险:回调函数与 CLI command 参数为任意代码执行提供入口
- 数据泄露风险:用户若不慎将敏感数据传入外部 embed/LLM 回调,引擎本身无拦截机制
- 图结构损坏:
merge/connect等操作若中断可能导致存储损坏,需自行备份