60 秒回答模板

如果大模型用于堆栈分析或代码定位,幻觉表现为指向不存在的文件、错误函数、错误调用链,或者把相似模块当成根因。原因可能是上下文窗口不够、检索召回错、代码版本不一致、日志和堆栈解析不完整。解决上要让模型基于真实文件、堆栈、符号搜索和调用图回答,要求给出引用位置;定位结论再用 grep、AST、测试或静态分析校验。高风险场景不要让模型直接改代码,要先产出可验证假设。

考点 证据约束
难度 真实面经题
回答目标 讲清方法、取舍和追问

深入解析

01

先定义代码幻觉

代码定位幻觉不是普通回答不准确,而是模型把不存在、无关或相似的代码当作真实依据。它会误导排障和修复,可能让工程师修改错误模块,风险比普通闲聊更高。

02

根因常在上下文

堆栈不完整、日志缺字段、代码版本不一致、检索召回不准、上下文截断和跨仓库依赖缺失,都会让模型在证据不足时补全错误链路。

03

检索和工具要约束

定位前应先用符号搜索、grep、AST、调用图、日志索引和测试结果拿到证据,再把证据交给模型推理,而不是让模型凭记忆猜文件。

04

输出必须可验证

模型应返回文件、函数、行附近代码、日志证据和置信度,结论要能被工具复查。没有证据时应该返回不确定,而不是编造路径。

05

工程闭环降低风险

生产系统可以加引用校验、文件存在检查、版本绑定、检索召回评估、人工确认和回归测试,把模型从最终裁决者变成辅助分析器。这样即使模型提出错误假设,也会在工具校验阶段被拦截。

易错点

  • 不要让模型凭上下文猜文件路径或函数名。
  • 不要把有引用等同于正确,引用也可能相关但不支持结论。
  • 不要忽略代码版本,日志来自旧版本时定位会错位。

面试官追问

如何判断模型定位是否可信?

看是否有可打开的文件路径、真实代码片段、堆栈或日志证据,以及结论是否能被测试复现。

RAG 能完全解决代码幻觉吗?

不能。RAG 能补证据,但召回错、切块差和版本不一致仍会导致错误,需要校验闭环。

模型能不能直接修代码?

可以辅助生成 patch,但高风险场景要先验证定位依据,再跑测试和代码审查,不能跳过证据环节。