KoCo-Bench: Can Large Language Models Leverage Domain Knowledge in Software Development?
Idea
KoCo-Bench把domain-specific coding评测改为显式提供知识语料后,测试模型能否获取并应用新框架知识。它将framework文档、源码和examples组成Knowledge Corpus,再用依赖这些框架的项目构建多粒度代码生成及知识Q&A任务,支持比较SFT、RAG、kNN-LM和coding agents等不同specialization方法。
Research Problem
已有领域代码benchmarks常只给测试题,实际测模型预训练时已掌握多少知识,无法可靠评价适应新领域的方法。同领域项目之间知识重叠可能很弱,简单train/test函数拆分也不能保证训练资料足以支持任务;code completion和文本相似度还容易把多种有效答案混为错误。
Insight
软件框架与基于其实现的项目天然具有知识复用关系,因此能建立来源清晰的知识—任务配对。把要求写成领域问题,再通过执行tests判断实现,既可检验理解API、规则和约束,也能减少仅靠记忆代码片段的评价方式;独立Q&A则帮助观察知识掌握与代码应用的差异。
Method
- 围绕较新的框架收集documentation、source和usage examples,构建涵盖六域、11 frameworks的知识语料;选取主要依赖对应框架且满足依赖时间要求的25个项目作为代码任务来源。
- 人工按project、module和core function三层写需求,排除config/utils等通用辅助逻辑;agent尝试实现以暴露歧义,再经人工和另一agent反复审订,直到需求清晰。
- 复用或新建unit tests及integration tests;新测试覆盖函数branches并运行gold code产生expected outputs,对无明确输入输出的函数instrument调用顺序,所有测试在相应Docker环境验证。
- 对缺少合适项目的框架构造领域multiple-choice Q&A,先人工示范、模型扩展,过滤三种基线都轻松答对的题并人工复核;分别用执行测试与选择题正确率评估知识获取、应用及不同specialization方法。
Sources & Reading Scope
阅读依据:官方 PDF 正文。核读页码按 PDF 页序计数,可能与 proceedings 页码不同。
核读章节:3.1 Task Formulation · 3.2 Benchmark Construction · 3.2.1 Knowledge Corpus · 3.2.2 Domain Code Generation · 3.2.3 Domain Knowledge Understanding · 3.3 Features of KoCo-Bench · 4 Experiments
核读知识语料配对和人工/agent协同标注流程。最终规模以统计表11个frameworks为准,构建段落关于候选框架筛选的数量未自行推算。新框架与cutoff约束帮助研究新知识适应,但不写成所有评测模型均无预训练污染的保证。