github / github/copilot-cli

Compaction strips system prompt's <agent_instructions> block from custom agent profiles selected via /agent

未关闭
#2,895 2 条评论 1 个 reaction 已指派 0 人 在 GitHub 查看
area:agents area:context-memory
主要语言
Shell
星标
11.2k
派生
1.9k
平均合并
14 小时 16 分钟
30 天内合并 PR
6

描述

### Describe the bug

When a custom agent is selected via `/agent` (or `--agent=`), the agent profile's instructions are loaded into the session system prompt context as `` block.
After `/compact` runs (either manually or via automatic compaction at ~80-95% context), the `` block is stripped from the context and not restored.

This effectively discards the custom agent's persona, behavioral rules, guidelines, and all other instructions -- making the `/agent` selection meaningless after compaction.

### Affected version

1.0.34

### Steps to reproduce the behavior

### Steps to reproduce

1. Create a custom agent profile at `~/.copilot/agents/my-agent.agent.md` with disable-model-invocation: true and substantial instructions
2. Launch copilot and select the agent via `/agent`
3. Verify the agent instructions are active (e.g., the model follows behaviour defined in the custom agent file)
4. Have a conversation long enough to trigger automatic compaction, or run /compact manually
5. Observe that the model no longer follows the custom agent instructions
6. Ask the model to check its system prompt — the `` block is absent

### Expected behavior

### Expected behavior

The system prompt's `` block from the selected custom agent profile should survive compaction. It is session configuration, not conversational history — it should be treated equivalently to `.github/copilot-instructions.md` or instruction files, which persist across compaction.

### Actual behavior

The block is discarded during compaction. The model reverts to default behavior without the custom agent's rules.

### Additional context

_No response_

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。