论文

DomAgent:利用知识图谱与基于案例的推理进行领域特定代码生成

DomAgent: Leveraging Knowledge Graphs and Case-Based Reasoning for Domain-Specific Code Generation

上下文与知识检索增强

摘要

大语言模型(LLM)在代码生成上展现出令人印象深刻的能力。然而,由于大多数LLM在公开领域语料上训练,直接把它们用于真实软件开发往往成功率很低,因为这些场景经常需要领域特定知识。尤其是,领域特定任务通常要求高度专业化的解决方案,而这类方案在通用LLM的训练数据中往往代表性不足甚至完全缺失。为应对这一挑战,我们提出DomAgent,一个自主编程智能体,通过结构化推理与定向检索使LLM生成领域适配的代码,从而弥合这一差距。DomAgent的核心组件是DomRetriever,一个新颖的检索模块,它模拟人类学习领域知识的方式,把概念理解与经验示例结合起来。它动态地将自上而下的知识图谱推理与自下而上的基于案例推理相结合,实现对结构化知识与代表性案例的迭代检索与综合,以确保上下文相关性和广泛的任务覆盖。DomRetriever既可作为DomAgent的一部分运行,也能搭配任意LLM独立使用,实现灵活的领域适配。我们在数据科学领域的开放基准数据集(DS-1000)上评估DomAgent,并进一步把它应用于真实的卡车软件开发任务。实验结果表明,DomAgent显著增强了领域特定代码生成,使小型开源模型在复杂真实应用中大幅缩小了与大型专有LLM的性能差距。代码已在https://github.com/Wangshuaiia/DomAgent开源。