AI 会自信地胡说
审人写的代码,你大概知道对方哪块强哪块弱。审 AI 写的代码不一样:它永远一脸笃定,哪怕在编造。它可能调用一个根本不存在的函数、引用一个记错的参数名,却写得理直气壮。
# AI 自信地写下:
import requests
resp = requests.fetch(url) # requests 根本没有 fetch!是 get
print(resp.json_data) # 也没有 json_data,是 .json()盯紧它的「事实论断」
AI 代码里最危险的不是逻辑,而是那些被当成事实写下的论断:某个 API 叫什么、某个库的默认值是多少、某个接口返回什么字段。这些它最容易记错,而且错得很像真的。
对逻辑,你靠读和测试就能判断;但对事实论断,你必须去外部信息源核对。
它还爱过度实现
你只要一个「判断字符串是不是空」的函数,AI 可能给你返回一个支持正则、去空格、忽略大小写、还带缓存的「超级函数」。多出来的部分不是贴心,是你没要、却要负责维护和审查的额外负担。
# 你要的:判断是否为空
def is_empty(s):
return len(s) == 0
# AI 给的:塞了一堆你没要的
def is_empty(s, strip=True, ignore_case=False, use_regex=False):
... # 多出的参数全是额外维护成本自测 · 学完检查一下
想真正动手做题、记进度、攒连胜?到互动课里练。
下面哪一项是 AI 生成代码相比人写代码更突出的风险?
答案:会非常自信地编造不存在的 API
AI 的典型风险是「自信地胡说」——以笃定语气写出实际不存在或记错的内容。
下面哪一句属于审 AI 代码时最该去外部核对的「事实论断」?
答案:「这个库的该函数默认会重试 3 次」
关于库默认行为的断言是 AI 最容易记错的事实论断,必须查文档或实测;后三项读代码就能确认。
判断:你只要求实现「两数相加」,AI 却返回了一个支持任意多个参数、还带日志和缓存的函数——这属于过度实现。
答案:正确
你没要的功能被塞进来,增加了维护和审查负担,这就是典型的过度实现。
判断:对于「这段代码的 for 循环逻辑对不对」这种问题,靠读代码和跑测试就能判断,不一定要查外部文档。
答案:正确
逻辑类问题可以靠阅读和测试验证;需要查外部信息源的,主要是 API、默认值这类事实论断。
面对 AI 的过度实现,比较稳妥的做法是?
答案:删掉没要求的多余功能,只留下真正需要的部分
多余功能是额外的维护与风险负担,审查时应砍掉没需求支撑的部分,保持代码精简。
AI 常常以笃定语气写出实际不存在或记错的内容,这种现象常被称为「____」(一个以「幻」开头的两字词)。
答案:幻觉
AI 一本正经地编造不存在的事实,常被称为「幻觉」,是审 AI 代码时必须警惕的核心风险。