Large language models (LLMs) have fundamentally transformed automated software development by enabling direct translation of natural language descriptions into functional code, driving commercial adoption through tools like Github Copilot (Microsoft), Cursor (Anysphere), Trae (ByteDance), and Claude Code (Anthropic). While the field has evolved dramatically from rule-based systems to Transformer-based architectures, achieving performance improvements from single-digit to over 95\% success rates on benchmarks like HumanEval. In this work, we provide a comprehensive synthesis and practical guide (a series of analytic and probing experiments) about code LLMs, systematically examining the complete model life cycle from data curation to post-training through advanced prompting paradigms, code pre-training, supervised fine-tuning, reinforcement learning, and autonomous coding agents. We analyze the code capability of the general LLMs (GPT-4, Claude, LLaMA) and code-specialized LLMs (StarCoder, Code LLaMA, DeepSeek-Coder, and QwenCoder), critically examining the techniques, design decisions, and trade-offs. Further, we articulate the research-practice gap between academic research (e.g., benchmarks and tasks) and real-world deployment (e.g., software-related code tasks), including code correctness, security, contextual awareness of large codebases, and integration with development workflows, and map promising research directions to practical needs. Last, we conduct a series of experiments to provide a comprehensive analysis of code pre-training, supervised fine-tuning, and reinforcement learning, covering scaling law, framework selection, hyperparameter sensitivity, model architectures, and dataset comparisons.
翻译:大型语言模型(LLMs)通过实现自然语言描述到功能代码的直接转换,从根本上改变了自动化软件开发领域,并通过Github Copilot(微软)、Cursor(Anysphere)、Trae(字节跳动)和Claude Code(Anthropic)等工具推动了商业应用。该领域已从基于规则的系统演变为基于Transformer的架构,在HumanEval等基准测试上的性能从个位数成功率提升至超过95%。本文针对代码LLMs提供了全面的综合与实践指南(包含一系列分析与探测实验),系统性地考察了从数据整理到后训练的完整模型生命周期,涵盖高级提示范式、代码预训练、监督微调、强化学习和自主编码智能体。我们分析了通用LLMs(GPT-4、Claude、LLaMA)与代码专用LLMs(StarCoder、Code LLaMA、DeepSeek-Coder、QwenCoder)的代码能力,批判性地审视了相关技术、设计决策与权衡取舍。进一步地,我们阐明了学术研究(如基准测试与任务)与实际部署(如软件相关代码任务)之间的研究-实践鸿沟,包括代码正确性、安全性、大型代码库的上下文感知以及与开发工作流的集成,并将有前景的研究方向映射至实际需求。最后,我们通过一系列实验对代码预训练、监督微调和强化学习进行了全面分析,涵盖缩放定律、框架选择、超参数敏感性、模型架构与数据集比较。