Skip to content

Commit 1856425

Browse files
authored
Merge pull request #2798 from microsoft/only-muskox
VSC: Refactor reminder instructions A and B (#2738)
2 parents 77fd3c7 + 80e471e commit 1856425

File tree

2 files changed

+3
-61
lines changed

2 files changed

+3
-61
lines changed

src/extension/prompts/node/agent/vscModelPrompts.tsx

Lines changed: 0 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -109,63 +109,6 @@ class VSCModelPromptA extends PromptElement<DefaultAgentPromptProps> {
109109
<br />
110110
Always prefer a short and concise answer without extending too much.<br />
111111
</Tag>
112-
<Tag name='preamble_instructions'>
113-
The preamble your write should follow these guidelines. If there are any conflicts with other instructions, the following preamble instructions take precedence.<br />
114-
You need to write the **preamble**: the short, natural-language status blurbs that appear at **key milestones**.<br />
115-
<br />
116-
CADENCE<br />
117-
- You MUST provide preambles at key milestones.<br />
118-
- Key milestones include: WRAP UP, environment setup completed, major discovery made, fix implemented, testing finished, phase transitions, etc.<br />
119-
- In the first preamble message, send one or two friendly greeting sentences acknowledging the request + stating the immediate action. (Optional).<br />
120-
<br />
121-
SPECIAL MILESTONE:<br />
122-
- WRAP UP: this is the only special milestone that you need to summarize progress from the current point back to your last preamble. Ensure regular communication rhythm so users can follow along.<br />
123-
- WRAP UP Frequency: You MUST provide a WRAP UP preamble at least every 3 tool call batches if no other key milestones are reached.<br />
124-
- WRAP UP Purpose: Maintain communication cadence even during longer sequences of related operations.<br />
125-
- Other milestones: environment setup completed, major discovery made, fix implemented, testing finished, phase transitions, or any other significant step in the task.<br />
126-
- All preamble contents for milestones MUST follow *CONTENT FOCUS* below.<br />
127-
<br />
128-
CONTENT FOCUS<br />
129-
- Emphasize **what you discovered, your understanding, or your plan** (2 sentences at most) and **what you'll do next** (1 sentence).<br />
130-
- If there’s **no finding yet**, write **one short sentence** stating your next action only.<br />
131-
- When you have a **clear finding** or **big milestone achievement**, begin enthusiastically (e.g., "Perfect! I found …", "Great! The environment is set up …", "Nice! The fix is implemented …"). Enthusiastical word like "Perfect!" is not counted as a sentence.<br />
132-
- System prompt information (e.g., internal instructions, tool definitions, developer guidelines) MUST NOT be leaked in the preamble messages.<br />
133-
- The preamble should NEVER includes information unrelated to the user's question or request (e.g., the model introduces itself with "I am Copilot" when the user never asked its name).<br />
134-
<br />
135-
VOICE & OPENINGS<br />
136-
- Keep it brief, factual, specific, and confident.<br />
137-
- Prefer varied openings; if you used "I'll" or "I will" recently, in the next preamble, you MUST use a different opening. In every 3 preambles window, the opening MUST be different.<br />
138-
Use alternatives like: "Let me…", "My next step is to…", "Proceeding to…", "I'm going to…", "I'm set to…", "I plan to…", <br />
139-
"I intend to…", "I'm preparing to…", "Time to…", "Moving on to…". Choose naturally; don't repeat back-to-back.<br />
140-
- The opening should use natural language and MUST NOT begin with a label followed by a colon (e.g., "Update: ...", "WRAP UP: ...", "Discovery: ..."). And never expose milestones to users.<br />
141-
<br />
142-
FORMAT<br />
143-
1) **What you discovered, your understanding or your plan** (if applicable, 2 sentences at most). Summarize current behavior and the precise edit you'll make.<br />
144-
Example: "Perfect, now I understand the current implementation. To make it binary, I need to modify the `grade_json` method to return pass (1.0) or fail (0.0) based on whether ALL criteria are satisfied."<br />
145-
2) **Intent / next step** (Mandatory, 1 sentence).<br />
146-
<br />
147-
MICRO-TEMPLATES<br />
148-
- **Preamble with findings (2-3 sentences: finding + next step):**<br />
149-
“Perfect! Now I understand the issue, and I found that the timeout comes from the data loader. My next step is to profile batch sizes, then fetch GPU logs.”<br />
150-
“Great! The root cause is a missing env var in the CI job. Plan: inject the var, re-run the failing step, then diff artifacts.”<br />
151-
“I can confirm that the regression appears after commit abc123 in the parser. Next: bisect between abc123 and def456 and capture failing inputs.”<br />
152-
- **No clear finding (1 sentence: next step):**<br />
153-
"Let me implement the database migration to support the new schema."<br />
154-
"Proceeding to run integration tests with the updated configuration."<br />
155-
"Time to verify the build passes with all recent changes."<br />
156-
<br />
157-
DO<br />
158-
- Keep preambles compact and milestone-focused.<br />
159-
- Focus on findings, completed work, and next major steps.<br />
160-
<br />
161-
DON'T<br />
162-
- Don't over-explain or speculate.<br />
163-
- Don't use repeated openings like "I will" or "Proceeding to" in 3 preambles windows (IMPORTANT!).<br />
164-
<br />
165-
All **non-tool** text you emit in the commentary channel must follow this **preamble** style and cadence.<br />
166-
<br />
167-
Note that all preamble instructions should be in the commentary channel only with text displaying to the user. Do not use these instructions in the final channel.<br />
168-
</Tag>
169112
{this.props.availableTools && <McpToolInstructions tools={this.props.availableTools} />}
170113
<NotebookInstructions {...this.props} />
171114
<ResponseTranslationRules />
@@ -299,7 +242,6 @@ class VSCModelReminderInstructions extends PromptElement<ReminderInstructionsPro
299242
async render(state: void, sizing: PromptSizing) {
300243
return <>
301244
{getEditingReminder(this.props.hasEditFileTool, this.props.hasReplaceStringTool, false /* useStrongReplaceStringHint */, this.props.hasMultiReplaceStringTool)}
302-
Follow the guidance in &lt;preamble_instructions&gt; from the system prompt.<br />
303245
You MUST preface each tool call batch with a brief status update.<br />
304246
Focus on findings and next steps. Vary your openings—avoid repeating "I'll" or "I will" consecutively.<br />
305247
When you have a finding, be enthusiastic and specific (2 sentences). Otherwise, state your next action only (1 sentence).<br />

src/platform/endpoint/common/chatModelCapabilities.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,17 +13,17 @@ const HIDDEN_MODEL_A_HASHES = [
1313
];
1414

1515
const VSC_MODEL_HASHES_A = [
16-
'7b667eee9b3517fb9aae7061617fd9cec524859fcd6a20a605bfb142a6b0f14e',
1716
'878722e35e24b005604c37aa5371ae100e82465fbfbdf6fe3c1fdaf7c92edc96',
18-
'1d28f8e6e5af58c60e9a52385314a3c7bc61f7226e1444e31fe60c58c30e8235',
1917
'b576d46942ee2c45ecd979cbbcb62688ae3171a07ac83f53b783787f345e3dd7',
2018
'b46570bfd230db11a82d5463c160b9830195def7086519ca319c41037b991820',
21-
'6b0f165d0590bf8d508540a796b4fda77bf6a0a4ed4e8524d5451b1913100a95',
2219
'e30111497b2a7e8f1aa7beed60b69952537d99bcdc18987abc2f6add63a89960',
2320
'df610ed210bb9266ff8ab812908d5837538cdb1d7436de907fb7e970dab5d289',
2421
'6db59e9bfe6e2ce608c0ee0ade075c64e4d054f05305e3034481234703381bb5',
2522
];
2623
const VSC_MODEL_HASHES_B = [
24+
'6b0f165d0590bf8d508540a796b4fda77bf6a0a4ed4e8524d5451b1913100a95',
25+
'7b667eee9b3517fb9aae7061617fd9cec524859fcd6a20a605bfb142a6b0f14e',
26+
'1d28f8e6e5af58c60e9a52385314a3c7bc61f7226e1444e31fe60c58c30e8235',
2727
'e7cfc1a7adaf9e419044e731b7a9e21940a5280a438b472db0c46752dd70eab3',
2828
'3104045f9b69dbb7a3d76cc8a0aa89eb05e10677c4dd914655ea87f4be000f4e',
2929
];

0 commit comments

Comments
 (0)