旧金山 – 近日,Web 应用框架 Django 的创造者之一 Simon Willison 分享了他使用大型语言模型 (LLM) 辅助编程的经验,引发了开发者社区的广泛关注。与 Andrej Karpathy 提出的“氛围编程”——即完全依赖 LLM 生成代码——不同,Willison 强调了 LLM 作为“过度自信的结对编程助理”的角色,需要开发者结合自身专业知识,进行引导、测试和修正。
Willison 的分享源于他在个人博客上发表的一篇文章,旨在帮助开发者更好地利用 LLM 提高编程效率。他指出,许多开发者在使用 LLM 编程时感到失望,原因在于他们对 LLM 的期望过高,或者没有掌握正确的使用方法。
设定合理的期望:LLM 并非万能
Willison 认为,开发者应该将 LLM 视为一种增强自身能力的工具,而非完全替代自身。LLM 的本质是“花哨的自动补全”,它擅长预测 token 序列,但需要开发者提供正确的方向。如果认为 LLM 可以完美地实现项目,而无需任何技能,那将注定失望。
上下文为王:提供清晰的指令
Willison 强调,要让 LLM 给出优良的结果,关键在于管理上下文,即当前对话中包含的文本。成功的 LLM 交互通常采用对话的形式,开发者需要清晰地表达需求,并提供必要的背景信息。对于不再有用的对话,最好的解决方法是清除上下文并重新开始。
考虑训练截止日期:关注库的更新
Willison 指出,LLM 的训练截止日期会影响其对库的了解程度。如果使用的库自训练截止日期以来发生了重大变化,LLM 可能无法提供准确的建议。因此,在选择库时,应尽量选择具有良好稳定性且足够流行的库,以便 LLM 能够更好地理解和应用。
测试与修正:人类的专业知识不可或缺
Willison 强调,LLM 生成的代码必须经过严格的测试和修正。LLM 可能会犯错误,有时很细微,有时是大错。这些错误可能与人类错误非常不一样,因此开发者需要保持警惕,并结合自身的专业知识进行判断和修正。
工具与策略:提升 LLM 辅助编程效率
Willison 分享了一些他积累的实用工具和策略,以提升 LLM 辅助编程的效率:
- 使用可以运行代码的工具: 这可以帮助开发者快速验证 LLM 生成的代码的正确性。
- 氛围编程是一种很好的学习方式: 通过与 LLM 的互动,开发者可以学习新的编程技巧和知识。
- 做好让人类接管的准备: LLM 并非万能,开发者需要随时准备接管 LLM 无法处理的任务。
结论:LLM 是专业知识的放大器
Willison 总结道,LLM 最大的优势在于开发速度,它可以帮助开发者更快地完成任务。然而,LLM 并非万能,它需要与人类的专业知识相结合,才能发挥最大的作用。LLM 是一种专业知识的放大器,它可以帮助开发者更好地利用自身的能力,创造出更优秀的作品。
参考文献:
- Willison, S. (2025, March 11). Using LLMs for code. Retrieved from https://simonwillison.net/2025/Mar/11/using-llms-for-code/
- 机器之心. (2025, March 19). Django创造者Simon Willison分享:我如何使用LLM帮我写代码. Retrieved from [机器之心原文地址] (请在此处补充机器之心原文地址)
未来展望:
随着 LLM 技术的不断发展,其在编程领域的应用前景将更加广阔。然而,开发者需要保持理性,不断学习和探索,才能更好地利用 LLM 提高编程效率,创造出更优秀的作品。
Views: 0