Skip to content

Context and Prompts zh CN

NebulaRaven edited this page Aug 13, 2026 · 1 revision

上下文与提示词

English · 返回首页

Prompt 模式

GrayCode 默认提供 Code、Design、Plan、Ask 和 Review。每个模式可以独立配置系统提示词、动态上下文、组装方式和工具策略。你可以在 设置 → 提示词 中修改、复制、删除或新增模式。

两种组装方式

传统模板

适合简单配置和旧版本兼容:

  • template 作为稳定的系统提示词。
  • dynamicTemplate 每轮生成动态上下文,不写入真实聊天历史。

如果只想改变 AI 的角色、语气或默认行为,传统模板通常已经足够。

预设条目

预设条目适合精确控制 system / user / assistant 内容和真实聊天历史的位置。普通条目可以启用、禁用、复制和排序;Chat History 条目表示真实历史插入点,不作为普通消息发送。

把强约束放在历史后面可以再次强调,把稳定前缀放在历史前面有利于缓存。条目越多并不一定越好,应避免重复注入相同规则。

动态上下文策略

  • single:每次请求只使用最新动态上下文。适合普通问答和短任务,Token 压力较小。
  • preserve:保留各回合动态上下文并尽量放回原位置。适合多轮持续编辑同一批文件,也可能提高 Anthropic Prompt Caching、DeepSeek KVCache 等前缀缓存命中,但会增加上下文长度。

日常默认使用 single。只有任务确实依赖每轮当时的文件树、标签页或诊断状态时,再选择 preserve;上下文膨胀时可切回 single 或开启自动总结。

可注入的上下文

设置 → 上下文 控制哪些信息可以生成:

  • 工作区文件树和最大深度
  • 打开的标签页与当前活动编辑器
  • VS Code 诊断及严重程度、数量限制
  • 固定文件和固定目录
  • 自定义忽略模式
  • 当前 TODO、时间、系统和工作区信息

设置开关决定内容能否生成;模板是否引用对应变量,决定内容是否真正进入请求。

模板变量

变量使用 {{$NAME}} 形式。常用静态变量包括:

  • {{$ENVIRONMENT}}:操作系统、时区、语言和工作区路径。
  • {{$TOOLS}}:当前内置工具说明。
  • {{$MCP_TOOLS}}:已连接 MCP 工具说明。
  • {{$MEMORY}}:永久记忆使用提示。
  • {{$CONTEXT_BADGE_FORMAT}}:输入框上下文徽章格式。

常用动态变量包括 {{$TODO_LIST}}{{$WORKSPACE_FILES}}{{$OPEN_TABS}}{{$ACTIVE_EDITOR}}{{$DIAGNOSTICS}}{{$PINNED_FILES}}{{$SKILLS}}

升级后若自定义模板出现上下文异常,可先恢复默认模板,再逐项重新加入自定义内容。

明确指定本轮上下文

输入框支持添加文件、目录、编辑器选区、附件、固定文件和 Skill 徽章。与其把整个工作区都塞入上下文,不如明确提供本轮真正相关的范围;这样更省 Token,也更容易得到可验证答案。

Clone this wiki locally