4 分•作者: jellyotsiro•大约 1 年前
大家好,我是 Arlan,我开发了 Nia (<a href="https://www.trynia.ai" rel="nofollow">https://www.trynia.ai</a>),一个开放的 MCP,它与 Cursor、Continue 和 Cline 等编码助手集成,使它们能够比现有方法更好地检索外部知识。
编码助手可以很好地生成代码,但在答案超出它们面前的存储库时会失去准确性。开发人员最终需要手动粘贴 GitHub 链接、文档和博客文章,并希望助手滚动足够远。长上下文窗口有所帮助,但最近的“上下文腐败”测量结果表明,质量仍然会随着提示的增长而下降。例如,在 LongMemEval 中,所有模型在聚焦(短而相关)提示(约 300 个 token)上的得分都远高于完整(不相关,113k 个 token)提示,即使在最新模型中,性能差距依然存在 (<a href="https://research.trychroma.com/context-rot" rel="nofollow">https://research.trychroma.com/context-rot</a>)。
Nia 是一个 MCP,它为任何编码助手或 IDE 提供更多上下文。它索引多个存储库和文档站点,并通过 MCP 将其提供给您的编码助手,以便它有更多上下文可以使用,从而为您提供更具体和准确的答案。
Nia 使用混合代码搜索架构,将基于图的结构推理与基于向量的理解相结合。当摄取存储库或文档时,Tree-sitter 会将其解析为 50 多种语言和自然语言的 AST,并且代码会按函数/类的边界分块成稳定、内容可寻址的单元。这些块存储在图数据库中以模拟函数调用和类继承等关系,以及向量存储中。在查询时,一个带有 give_weight 工具的轻量级助手会根据意图动态分配图搜索和向量搜索之间的权重(例如,“谁调用 X”与“身份验证如何工作”),并且两条路径并行搜索。结果被融合,并用完整的代码上下文进行丰富,并通过多阶段重新排序器:语义重新排序器、交叉编码器、基于 LLM 的验证器。
早期信号:在内部评估中,一旦 Nia 索引了外部文档,Cursor 的性能提高了 27%,而这些文档是模型无法从其训练数据或网络搜索中获取的。
快速入门:<<a href="https://www.youtube.com/watch?v=5019k3Bi8Wo" rel="nofollow">https://www.youtube.com/watch?v=5019k3Bi8Wo</a>>
演示:<<a href="https://www.youtube.com/watch?v=Y-cLJ4N-GDQ" rel="nofollow">https://www.youtube.com/watch?v=Y-cLJ4N-GDQ</a>>
要试用它:在 <a href="https://app.trynia.ai/" rel="nofollow">https://app.trynia.ai/</a> 上获取 API 密钥,并按照 <a href="https://docs.trynia.ai/integrations/nia-mcp" rel="nofollow">https://docs.trynia.ai/integrations/nia-mcp</a> 上的说明进行操作。
试用并破坏它!我很想知道您的助手仍然错过了哪些上下文。边缘情况、延迟问题、扩展错误。我 24/7 在线。
谢谢!