assessment 研究报告大模型与智能体其他2024-08

从LLMs到面向软件工程的LLM智能体综述

OriginalFrom LLMs to LLM-based Agents for Software Engineering: A Survey of Current, Challenges and Future

LLMs have achieved remarkable success in areas including code generation and vulnerability detection.

发布时间
2024-08
link 原始页面

notes 内容介绍

大语言模型在软件工程中已经被反复验证,但它究竟能走多远、又卡在哪里,是这份资料想回答的核心问题。作者指出,尽管围绕 LLMs 在软件工程中的应用已有大量研究和综述,现有文献却普遍缺少对 LLMs 与 LLM-based agents 的清晰区分;要判定一个 LLM 方案在其领域内算不算 LLM-based agent,统一的标准和基准都还处在早期阶段。换句话说,「模型能力」和「智能体能力」经常被混在一起讨论,而两者对应的任务、benchmark 和 evaluation metrics 并不相同。这份资料的价值就在于把这个区分摆到台面上,并沿着它重新梳理当前实践。

覆盖范围上,作者把软件工程拆成六个主题:requirement engineering、code generation、autonomous decision-making、software design、test generation 与 software maintenance,并在每个主题下分别梳理 LLMs 与 LLM-based agents 的工作。方法上属于文献综述:汇总 2020 至 2024 年间收集的论文,比较两类工作在任务设定、benchmark 与 evaluation metrics 上的异同,再讨论各自涉及的模型与基准,分析它们在软件工程中的适用性与效果。作为背景,作者提到更早的神经网络与机器学习方法虽已用于 bug detection、code synthesis 和 requirements analysis,却常受制于专有特征工程、可扩展性问题以及跨不同代码库的适应性。

从论文数量上能看出重心的转移。作者统计的 2020–2024 年论文数显示,LLMs 方向 2023 年为 36 篇、2024 年为 31 篇,而 LLM-based agents 方向 2022 年才 1 篇,2023 年 20 篇,2024 年升至 42 篇——按这一统计口径,智能体方向的年度论文数已经反超模型方向。与此同时,作者对 LLMs 的局限给出了一份明确清单:有限的上下文长度使其难以理解和管理大型代码库,也难以在长时间交互中保持连贯;幻觉会生成看似合理、实则错误或无意义的代码;不能调用外部工具,则限制了实时数据获取和训练范围之外的任务;面对复杂项目时,静态的模型难以适应需求变化或及时纳入新信息。

LLM-based agents 被描述为补上这些短板的路径。它以 LLM 作为决策与行动的核心,结合 RAG 和工具调用等能力,去完成更复杂、更具上下文感知的任务;作者举的例子是 OpenAI 的 Codex 集成进 GitHub Copilot 后,能在开发环境中提供实时代码建议与补全。与静态 LLM 不同,这类 agent 可以自主调试、定位并修复错误,主动重构代码以提升效率或可读性,并生成随代码库一同演进的适应性测试用例。作者还引用已有研究指出,LLM-based agents 具备自主推理与决策能力,达到了 WS(World Scope)框架的第三、第四级,而该框架描述的正是从自然语言处理走向通用 AI 的进程。

这些结论对实践的影响可以分两层看(这是解读,不是原文结论)。一层是选型:如果任务只是一次性的代码生成或漏洞检测,LLM 本身的收益已经比较明确;但如果任务要求跨会话的连贯性、对外部工具与数据的访问、以及随代码变化的自适应,那么按 agent 来设计才更贴近问题本身。另一层是验证成本:作者强调 LLM 生成的代码需要由有经验的开发者批判性地审查和验证,以保证正确性与安全性,这一点不会因为换成 agent 就自动消失。此外,「缺少统一标准与基准」本身就是一个实践缺口——

format_quote 原文摘录

自动提取自 PDF

JOURNAL OF LATEX CLASS FILES, VOL. 18, NO. 9, SEPTEMBER 2020 1 From LLMs to LLM-based Agents for Software Engineering: A Survey of Current, Challenges and Future Haolin Jin, Linghan Huang, Haipeng Cai, Jun Yan, Bo Li, Huaming Chen Abstract—With the rise of large language models (LLMs), researchers are increasingly exploring their applications in var- ious vertical domains, such as software engineering. LLMs have achieved remarkable success in areas including code generation and vulnerability detection. However, they also exhibit numerous limitations and shortcomings. LLM-based agents, a novel tech- nology with the potential for Artificial General Intelligence (AGI), combine LLMs as the core for decision-making and action-taking, addressing some of the inherent limitations of LLMs such as lack of autonomy and self-improvement. Despite numerous studies