SuperAPI AI 工具集

search-hierarchy

编程与开发

查看项目

更新于 10-16 09:49

技能介绍

用途:为不同查询类型选择最省 token 的搜索工具,避免用错工具浪费上下文。

主要能力与决策树:结构类查询(如代码模式 def foo、class Bar、import X、@decorator)用 AST-grep,输出约 50 tokens;语义类查询(如 how does auth work、find error handling patterns)用 LEANN,若仅路径约 100 tokens;字面量查询(精确标识符如 TemporalMemory、check_evocation、正则)用 Grep,输出可变;完整上下文(需要完整理解)用 Read,1500+ tokens,且仅在找到正确文件后作为最后手段。

Token 效率对比:AST-grep 约 50 tokens,适合函数/类定义、导入、装饰器;LEANN 约 100 tokens,适合概念性问题、架构、模式;Grep 约 200-2000 tokens,适合精确标识符、正则、文件路径;Read 约 1500+ tokens,适合找到文件后的完整理解。

Hook 强制:grep-to-leann.sh hook 会自动检测查询类型(结构/语义/字面量),对结构查询阻断并建议 AST-grep,对语义查询阻断并建议 LEANN,字面量模式放行给 Grep。

建议:代码结构问题先用 AST-grep;“X 如何工作”用 LEANN;仅精确标识符匹配用 Grep;先用搜索找到文件再 Read。不要用 Grep 回答概念性问题(会返回空),不要在不知道相关文件前直接 Read,在 AST-grep 就能给出 file:line 时不要用 Read,也不要忽略 hook 建议。

示例命令:ast-grep --pattern "async def $FUNC($$$):" --lang python;leann search opc-dev "how does authentication work" --top-k 3;Grep pattern="check_evocation" path=opc/scripts;Read file_path=opc/scripts/z3_erotetic.py。

最优流程:AST-grep 找到 async 函数的 3 个 file:line 匹配,只 Read 最匹配的一个获得完整理解,跳过 4 个无关文件,节省约 6000 tokens。

限制:资料未提供安装方式、许可、收费、平台支持与具体实现细节;所述 token 数值为经验参考。