news 2026/5/5 19:03:51

LLM编码surface assumptions(显化假设)介绍(将代码中隐含的、未明确说明的假设和前提条件明确地暴露出来、文档化并验证)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
LLM编码surface assumptions(显化假设)介绍(将代码中隐含的、未明确说明的假设和前提条件明确地暴露出来、文档化并验证)

Behavioral guidelines to reduce common LLM coding mistakes. Use when writing, reviewing, or refactoring code to avoid overcomplication, make surgical changes,surface assumptions, and define verifiable success criteria.
——https://github.com/forrestchang/andrej-karpathy-skills/blob/main/skills/karpathy-guidelines/SKILL.md

文章目录

    • 1. **识别隐含假设**
    • 2. **显化这些假设的方法**
    • 3. **在LLM编码中的重要性**
    • 4. **实际例子**

在软件开发和LLM编码指南的上下文中,“surface assumptions”(显化假设)指的是将代码中隐含的、未明确说明的假设和前提条件明确地暴露出来、文档化并验证的过程。

具体来说,这包括:

1.识别隐含假设

  • 代码中那些"理所当然"但未明确说明的前提条件
  • 对输入数据格式、范围、有效性的假设
  • 对外部系统行为、API响应的预期
  • 对时间、资源、性能的隐含预期

2.显化这些假设的方法

  • 文档化:在代码注释、README或设计文档中明确写出关键假设
  • 断言(Assertions):在代码中添加运行时检查来验证假设
  • 类型检查:使用强类型系统来捕获类型相关的假设
  • 单元测试:编写测试用例来验证这些假设是否成立
  • 日志记录:记录关键假设的验证结果

3.在LLM编码中的重要性

  • 减少幻觉:LLM容易基于错误的假设生成代码,显化假设可以减少这种情况
  • 提高可维护性:其他开发者(包括未来的自己)能清楚了解代码的依赖条件
  • 便于调试:当假设被违反时,可以快速定位问题根源
  • 增强鲁棒性:通过验证假设,代码能够更好地处理边界情况和异常

4.实际例子

# 不好的做法 - 隐含假设defcalculate_average(numbers):returnsum(numbers)/len(numbers)# 好的做法 - 显化假设defcalculate_average(numbers):""" 计算数字列表的平均值 假设: 1. numbers 是一个非空列表 2. numbers 中的所有元素都是数字类型 3. 不会发生除零错误(由非空假设保证) 如果假设被违反,将抛出明确的异常 """ifnotnumbers:raiseValueError("输入列表不能为空")ifnotall(isinstance(n,(int,float))forninnumbers):raiseTypeError("所有元素必须是数字类型")returnsum(numbers)/len(numbers)

在LLM编码指南中强调"surface assumptions",是为了帮助开发者(包括使用LLM辅助编程的开发者)创建更健壮、可维护和可理解的代码,避免因隐含假设导致的常见错误和维护问题。

ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍
ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ ‌‍ᅟᅠ

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/5 19:01:46

告别重复造轮子:用快马AI高效生成dnf连发工具核心代码,提升开发效率

开发DNF连发工具时,最让人头疼的就是那些重复性的基础代码:按键监听、状态管理、配置切换……这些轮子每次都要重新造,既浪费时间又容易出错。最近尝试用InsCode(快马)平台的AI辅助生成核心代码,效率提升非常明显。分享一下我的实…

作者头像 李华
网站建设 2026/5/5 18:55:43

告别焦点乱跳!LVGL无触摸屏项目实战:用物理按键优雅管理界面焦点(附完整C代码)

LVGL物理按键交互实战:构建无触摸屏的智能焦点管理系统 在嵌入式设备的人机交互设计中,物理按键操作与图形界面(GUI)的完美结合一直是工程师面临的挑战。当项目需要在不配备触摸屏的STM32、ESP32等微控制器上实现复杂的多级菜单导航时,如何确…

作者头像 李华
网站建设 2026/5/5 18:55:00

Sunshine游戏串流服务器:打造你的个人游戏云主机全攻略

Sunshine游戏串流服务器:打造你的个人游戏云主机全攻略 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine 想要在任何设备上畅玩PC游戏?Sunshine自托管游戏串流…

作者头像 李华
网站建设 2026/5/5 18:50:43

别再手动一张张下了!用GEE批量下载Landsat8 C02数据,附2023年去云代码

高效获取Landsat8 C02数据的GEE全流程实战指南 遥感数据处理的第一步往往是获取高质量影像数据。对于需要大量Landsat8影像的研究者来说,手动单景下载不仅效率低下,还容易遗漏关键时相。Google Earth Engine(GEE)平台为解决这一问…

作者头像 李华
网站建设 2026/5/5 18:50:20

猫抓Cat-Catch完全攻略:5大实战技巧解决浏览器视频下载难题

猫抓Cat-Catch完全攻略:5大实战技巧解决浏览器视频下载难题 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 猫抓Cat-Catch是一款功能强…

作者头像 李华