缺少上下文导致的错误
了解那些假定模型掌握其并不具备的知识的提示
缺少上下文导致的错误 是 CoddyKit 上的免费 AI Prompt Engineering 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 AI Prompt Engineering 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 AI Prompt Engineering 课程共包含 4 节课。
上下文缺口
AI 模型从训练数据中掌握了大量信息,但除非您告知,否则对您的具体情况一无所知。假定模型掌握了它并不了解的信息的提示词,会产生泛泛正确、却对具体情境毫无用处的回答。
“修复错误。”——是什么错误?在哪段代码中?当前行为是什么?应该改成什么?
模型会自行编造答案,而不是告诉您信息不足。这个编造的答案几乎从来都不是您真正需要的。
模型没有的上下文
除非您提供,否则模型并不知道以下信息:
- 您的具体代码、项目或文档
- 您的公司、产品、品牌或客户
- 您在之前会话中进行的对话(每次会话都会从头开始)
- 您之前尝试过什么,以及为什么失败
- 您的个人偏好、风格或标准
- 您的受众背景
- 您的环境约束(技术栈、预算、截止日期)
模型对您任务的全部了解,都必须来自当前会话。
“修复错误”反模式
“修复错误”是典型的上下文缺失提示词。模型没有获得以下信息:
- 使用什么语言或框架
- 代码应该做什么
- 代码实际在做什么(症状)
- 出现了什么错误或不正确的输出
- 尝试过什么但没有奏效
完整的修复错误提示词会提供全部五项信息:“这个 Python 函数应该返回列表中所有偶数的总和,但对于 [2,4,6] 返回了 0。代码如下:[粘贴代码]。错误是……”
记忆误区
“从我们上次停下的地方继续。”——这是一个常见错误,暴露出一个根本性的误解:模型不会跨会话记忆。
每次新会话都会完全从头开始。模型无法访问之前的会话,即使您使用的是同一个账户或工具。如果需要使用之前会话中的上下文,您必须将其明确粘贴到当前会话中。
某些工具(例如 Claude Projects 或自定义记忆系统)提供跨会话上下文,但这是工具的功能,并非模型固有的能力。
“您知道我的意思”式假设
一种常见的上下文错误,是假定模型拥有与您相同的隐含背景知识:
- “让它符合我们的品牌”(什么品牌?品牌指南是什么?)
- “像上次一样写”(模型无法访问上次的内容)
- “使用与其他报告相同的格式”(请粘贴格式或提供一份示例报告)
- “与我们讨论的内容保持一致”(如果这是新会话,那么之前什么也没有讨论过)
解决方法始终相同:把隐含信息明确说出来。说明您假定模型已经知道的内容。
上下文注入:解决方法
上下文注入,是指明确提供模型正确回答所需的背景信息。常见方式有三种:
粘贴相关内容:直接将代码、文档、电子邮件或数据包含在提示词中。
描述情境:在任务指令之前,用 2—5 句话概括相关背景。
说明约束:提及环境、技术栈、受众以及任何相关的既有决策。
上下文注入可以将模型的通用知识转化为针对具体情境的回答。
结构化上下文注入
对于复杂任务,请在任务指令之前,使用带标签的部分来组织上下文:
context_injection_prompt = '''## Background
We are a B2B SaaS company selling project management software to construction firms.
Our customers are project managers with 5-15 years of experience.
They value practical reliability over flashy features.
Our tone is professional, direct, and jargon-free (no tech startup buzzwords).
## Current situation
We are launching a new mobile app feature that sends automated daily digests.
The beta test with 12 customers showed 83% said it saved them at least 30 minutes per week.
## Task
Write a 200-word announcement email to our existing customers about this new feature.
Tone: warm, practical, results-focused.
Include the 83% / 30-minute stat.
End with a CTA to try the feature.
Do not mention competitor products.'''
print(context_injection_prompt)校准上下文深度
并非所有上下文都同样有价值。上下文过少会产生泛泛的输出;上下文过多则会将相关信息埋没在噪声中,还可能使实际任务指令在提示词中距离开头太远。
可以通过以下问题校准上下文深度:一位认真负责的人类专家需要了解什么,才能做好这项任务?
- 应包含:受众、目的、约束、领域特定术语、相关的既有决策
- 应排除:任何人都已经知道的背景、无关的历史、偏离主题的细节
一个实用原则是:上下文应具体到这样的程度——陌生人无法将其用于另一家公司或情境来撰写同样的内容。
跨会话上下文:构建上下文简介
由于模型没有跨会话记忆,解决方法是使用可复用的上下文简介——在每次处理某个反复出现的主题时,于会话开头粘贴一段标准上下文:
CONTEXT_PRIMER = '''## Project context (paste at start of every session)
Project: Redesign of the Acme Corp customer onboarding flow
Team: 2 designers, 1 PM, 3 engineers
Stack: React, TypeScript, Supabase, Stripe
Current problem: 40% of new users drop off before completing step 3 of 5 in onboarding
Previous decisions:
- Step 3 will remain (required for compliance)
- No major UI changes until Q3
- All solutions must work on mobile-first
Constraints: No new third-party dependencies without security review
Today I need help with: [describe today's specific task here]
'''
print(CONTEXT_PRIMER)不完整规范问题
另一种相关的上下文缺失错误是不完整规范:提供了一些上下文,却不足以让模型处理边界情况。
例如:“编写一个按订阅状态筛选用户的函数。”
数据结构是什么?有效的状态值有哪些?没有状态的用户应该如何处理?是否区分大小写?如果列表为空,应该返回什么?
模型会为所有这些问题自行作出假设,而这些假设可能是错误的。完整的规范会明确考虑边界情况。
代码任务的上下文:最小集合
对于与代码相关的提示词,提供以下最小上下文集合,就能稳定地产生有用的输出:
- 语言和版本:Python 3.11、TypeScript 5.0
- 框架:FastAPI、Next.js、React Native
- 代码应该做什么:预期的输入和输出
- 当前哪里出错:症状和错误消息
- 尝试过什么:避免重复已经失败的方法
- 约束:不得使用外部依赖,必须在 50 毫秒内运行
这组最小信息消除了 AI 代码建议最常见的问题:从总体上看是正确的,却不适用于您的具体情境。
知识检查:缺失上下文
一名开发者发送了以下提示词:“帮助我优化这个。”,除此之外没有提供任何信息。最准确的描述是什么?
回顾:上下文缺失错误
当提示词假定模型掌握它并不了解的信息时,就会出现上下文缺失错误——例如您的代码、您的品牌、之前的会话以及团队的决策。模型会用假设填补这些空白,从而产生泛泛的或错误的输出。
解决方法是注入上下文:粘贴相关内容、描述情境,并明确说明约束。对于反复出现的任务,可复用的上下文简介能够解决跨会话记忆问题。对于代码任务,请始终包含语言、框架、输入和输出、当前行为以及约束。
在本课程的最后一课中,您将把这些课程内容整合起来,形成一份系统化的提示词调试清单。
常见问题解答
「缺少上下文导致的错误」课时是免费的吗?
是的 — 「缺少上下文导致的错误」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 AI Prompt Engineering 课程的其余内容,请升级到 CoddyKit PRO。 AI Prompt Engineering 课程共包含 4 节课。
「缺少上下文导致的错误」这节课中我会学到什么?
了解那些假定模型掌握其并不具备的知识的提示 你通过在浏览器中直接运行的动手代码来练习 AI Prompt Engineering,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 AI Prompt Engineering 需要有经验吗?
无需任何先前经验。CoddyKit 上的 AI Prompt Engineering 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。
「缺少上下文导致的错误」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 AI Prompt Engineering 课中编写并运行代码吗?
能。每节 AI Prompt Engineering 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 过于模糊的指令
- 相互矛盾的要求
- 缺少上下文导致的错误
- 诊断并修复糟糕的提示