基于 Datalog 的仓库定位,用于无名称工程请求
仓库代理需要一种结构化代码定位器,来处理没有任何有用名称的请求。LogicLoc 就是这一层的具体做法:先提取仓库事实,让模型基于这些事实写 Datalog,再在 Soufflé 执行前用解析器检查和 synthesize-check-refine 循环把查询关住。它适合处理问题分流和仓库导航,尤其是请求描述的是代码库的属性,而不是搜索字符串。论文中的示例查询要求找出参数超过 15 个且不是 __init__ 的函数,并返回了 Astropy 里的两个精确匹配,这类答案通常是词法检索器会漏掉的。一个便宜的产品测试很直接:收集内部工程问题,保留对行为、结构或约束的描述,但去掉文件名和符号名,然后把精确命中率和现有仓库搜索或代理检索栈做对比。