Skip to content

提示词与上下文工程

入门章解决“怎么开口”,这一章解决“怎么把开口变成可复用的工程能力”。

你将学会

  • 用「四要素」写出一次到位的提示;
  • 掌握几种结构化提示技巧;
  • 理解上下文、学会管理它;
  • 把反复出现的要求沉淀成项目指令文件
  • 知道提示词、Skills、Agents 各自该在什么时候用。

前置知识

Vibe Coding 入门教程(提示词 / Skills / Agents 一节)。

一、提示词的四个要素

一份好提示,四件事说清:

text
目标:给支出列表加“按分类筛选”,支持多选
上下文:相关文件是 src/list.tsx;当前只有“全部”视图
约束:只改列表相关文件,不新增依赖
完成标准:选中分类后列表即时过滤;清除后恢复全部

缺哪个,AI 就在哪个地方替你瞎猜。这四个要素也是后面所有模板的底座。

二、结构化提示技巧

技巧怎么做适合
分步骤把任务拆成 1/2/3 让它按序做多步改动
少样本给 1~2 个“输入→输出”示例格式/风格要求高
先计划明确要求“先给计划,别写代码”大改动
指定输出格式要 diff / 要表格 / 要 JSON便于核对
让它反问“列出你还不确定的问题来问我”需求模糊

三、上下文是什么、怎么管

上下文 = AI 这次对话能“记住”的内容。它有三个特点:有限、会变长、越长越乱

管理策略:

  • 一个任务一个会话:做完就换(/clear 或新会话),别让旧话题污染新任务;
  • 该清就清:上下文太长时用压缩命令,或干脆带摘要重开;
  • 给准确的料:用 @ 引用具体文件,而不是让它猜;
  • 把常驻信息外置:项目约定放进项目指令文件,每次自动读,不占你打字的功夫。

四、项目指令文件(AGENTS.md)深挖

它和提示词最大的区别是:写一次,AI 每次会话自动读

  • 放哪:仓库根目录 AGENTS.md(跨工具通用);Claude Code 也可用 CLAUDE.md;monorepo 里子目录再放一份,就近优先
  • 写什么:项目概览、标准命令、目录约定、修改约束;
  • 怎么来:多数工具支持 /init 生成草稿再改;
  • 模板:见Vibe Coding 入门教程,完整工程模板见从 0 到 1 实战

五、Skills 与 Agents

  • Skill:把反复出现的多步流程写成文件,用到才加载。判断标准只有一条——它是不是你重复干的事。 完整讲解、常见技能推荐与「怎么写一个 Skill」见技能库
  • Agent / 子代理:能自主完成多步工作;适合只读研究、并行推进、隔离长任务。

三者分工一句话:指令文件定规矩,提示词说清这一次,Skills 沉淀老手艺,Agents 负责跑腿和并行。

六、反面清单

  • ❌ “帮我优化一下代码”——没有目标、范围、完成标准;
  • ❌ 一次给十个不相关的任务;
  • ❌ 长会话里东拉西扯,最后 AI 忘了最初的约束;
  • ❌ 把该沉淀的规矩每次都重打一遍,而不是写进指令文件;
  • ❌ 不看上下文就让它改,改完也不核对。

动手练习

  1. 把一条模糊需求改写成「四要素」提示,并实际发给 AI 对比效果。
  2. 在项目里加一个 AGENTS.md,写清三条项目约定,观察后续会话是否自动遵守。
  3. 为一个你重复干过的流程,写一份最小 Skill 文件。

检查点

  • 能用四要素写出一次到位的提示;
  • 能说出提示词、Skills、项目指令文件三者的加载时机差异;
  • 能在上下文变乱时做出“清空 / 压缩 / 换会话”的正确选择。

常见问题

Q:提示词是不是越长越好? 不是。准确比长更重要——目标、范围、完成标准说清即可,堆无关背景只会稀释重点。

Q:为什么 AI 用着用着就“忘事”了? 上下文满了或太乱。换会话、带摘要重开,并把常驻规矩放进项目指令文件

小结与下一步

提示词是入口,工程化才是目的地。各阶段的可复制提示词模板模板库;接下来把需求想清楚:从想法到需求

陶渊明的小院 · 基于 VitePress 构建