中文

DepsRAG:面向软件依赖管理的智能推理与规划

软件工程 2024-10-23 v5

摘要

在大型语言模型 (Large Language Model, LLM) 具有先进能力的时代,为开发能够支持软件开发人员在导入软件依赖项和开源库之前进行全面推理的 LLM 基于数字助手工具提供了独特机遇。这种推理过程令人敬畏,需要多个专业工具和专门 expertise,每个工具都聚焦于不同的方面(例如,安全分析工具可能会忽略诸如循环依赖等设计缺陷,这会阻碍软件可维护性)。创建了软件开发生命周期中的重要瓶颈。在本文中,我们引入 DepsRAG,一个多智能体框架,旨在帮助开发人员进行软件依赖的推理。DepsRAG 首先构建一个包含直接和传递依赖项的综合知识图谱 (Knowledge Graph, KG)。开发人员可以通过对话界面提出关于依赖项的查询。DepsRAG 使用检索增强生成 (Retrieval-Augmented Generation, RAG) 来通过从 KG 以及外部来源(如 Web 和漏洞数据库)检索相关信息来增强这些查询,从而展示其对新情景的适应性。DepsRAG 包含一个批评智能体 (Critic-Agent) 反馈环,以确保 LLM 生成的响应的准确性和清晰性。我们使用 GPT-4-Turbo 和 Llama-3 对 DepsRAG 进行了评估,在三个多步骤推理任务中,集成批评智能体机制后准确率提升了三倍。DepsRAG 的演示和实现均可在 https://github.com/Mohannadcse/DepsRAG 上获得。

关键词

引用

@article{arxiv.2405.20455,
  title  = {DepsRAG: Towards Agentic Reasoning and Planning for Software Dependency Management},
  author = {Mohannad Alhanahnah and Yazan Boshmaf},
  journal= {arXiv preprint arXiv:2405.20455},
  year   = {2024}
}