必须提供完整报错栈、精准代码上下文、预期与实际行为及环境版本,才能获得有效修复建议:①复制含路径/行号/Traceback的完整错误;②标注报错位置;③粘贴出错函数及最近三行依赖定义;④多文件需注明关系;⑤动态代码需提供原始字符串和变量值;⑥说明预期功能、实际表现及Python/库/模型版本。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

当你在DeepSeek中遇到代码报错,但模型只返回模糊提示(如“语法错误”“变量未定义”)时,必须主动提供足够精准的上下文才能获得有效修复建议。光贴报错信息或单个函数根本不够——模型看不到你删掉的import、改过的参数名、或者上一行多打的冒号。
明确标注报错位置和完整错误栈
第一步:复制终端或IDE里完整的报错输出,包括文件路径、行号、错误类型和追溯链(Traceback)。不要只截最后一行“NameError: name 'df' is not defined”。【缺 traceback 就等于没给地图,模型只能瞎猜在哪出的问题】
第二步:在报错文本前加一行说明,例如:“运行 test.py 第12行时报错,完整 traceback 如下:”。这能让模型立刻锁定作用域和执行上下文。
提供可复现的最小代码块
方法一:直接粘贴出错函数+它依赖的**最近三行定义**(比如调用的变量、类、函数),删掉无关逻辑。如果报错在 result = process_data(df),那就必须带上 df = pd.read_csv(...) 和 def process_data(...): 的完整定义,不能只贴调用行。
统一LLM网关 - 一个API对接70+AI模型,使用单一API密钥即可调用GPT、Claude、Gemini、Qwen、Deepseek、Grok等主流模型。
方法二:若涉及多文件,用注释标明文件关系。例如在主脚本里写:# main.py 调用 utils.py 中的 load_config(),再把两个文件对应片段都贴出来。不标清楚文件归属,模型会误判作用域。
方法三:对动态生成的代码(如 f-string 拼接、exec 执行),必须提供拼接前的原始字符串和变量值。例如报错在 exec(code_str),就得给出 code_str = f"print({x})" 和 x = None 的实际值——否则模型不知道是拼接逻辑错还是变量本身为空。
说明你的预期行为和实际表现
① 写清楚“这段代码本该做什么”,比如:“想从 API 返回的 JSON 中提取所有 user_id 列表”。
② 描述“实际发生了什么”,比如:“返回空列表,且 no attribute 'users' 报错”。
③ 补充关键环境线索:Python 3.9 / requests 2.31 / DeepSeek-Coder-V2 模型版本。不同版本对 async/await 或新语法支持差异很大,不说清版本可能让模型按旧规则分析。
这一步漏掉,模型容易按通用逻辑纠错,而忽略你项目里自定义的字段映射或中间件拦截。


















