github / github/copilot-cli

Interruptible Reasoning via Mode‑Switching Architecture

Đang mở
#1,028 1 bình luận 0 reaction 0 người được giao Xem trên GitHub
area:input-keyboard
Ngôn ngữ chính
Shell
Star
11.2k
Fork
1.9k
Merge trung bình
14 giờ 16 phút
Pull request đã merge (30 ngày)
6

Mô tả

### Describe the feature or problem you'd like to solve

Copilot’s current generation pipeline is non-interruptible. Once a request begins, the model cannot be paused or corrected mid-stream. The Stop button sends a soft cancel that does not reliably terminate hung requests, and canceling discards partial output. This prevents users from steering long-running reasoning tasks or injecting authoritative corrections when Copilot selects an incorrect branch: Feature Parody with WindSurf

### Proposed solution

# Summary
Copilot in VS Code currently uses a single-shot generation pipeline: once a request begins, the model cannot be paused, corrected, or redirected. The Stop button issues only a soft cancel, and canceling discards partial output. This limits developer control and prevents mid-stream correction when Copilot chooses the wrong reasoning branch.

A mode-switching architecture would allow Copilot to pause generation, accept user-injected information, merge it with cached partial output, and resume reasoning from the corrected context.

---

# Goals
1. Enable mid-stream user intervention
2. Preserve partial output
3. Support context merging
4. Provide a reliable hard-kill path
5. Improve responsiveness and developer control

---

# Proposed Architecture

## 1. Pause Mode
When the user clicks Stop or begins typing during generation:
- Copilot immediately pauses
- Partial output is cached
- UI enters a receptive "awaiting input" state

## 2. Context Pooling
When the user provides additional information, Copilot merges:
- cached partial output
- user correction
- original prompt

## 3. Resume Mode
When the user clicks Continue:
- Copilot resumes reasoning using the merged context
- No need to restart the task
- No repeated wrong-branch reasoning

## 4. Hard-Kill Option
A separate button that gives a true cancellation path that immediately terminates the running request, independent of backend state. Even if that cancellation is not possible on the server: in which case, keep additional prompt submissions disabled

---

# Comparison Table
Capability | Current Copilot | With Mode-Switching Architecture
---------------------------------- | ------------------- | --------------------------------
Pause generation | No | Yes
Inject mid-stream corrections | No | Yes
Merge partial output + user input | No | Yes
Resume reasoning from merged state | No | Yes
Hard-kill stuck requests | Soft cancel only | Yes
---
# UX Mockup (Text Description)
- User hits Stop -> generation halts instantly -> panel shows "Paused — awaiting input."
- User pastes correction -> Copilot displays "Context updated."
- User hits Continue -> Copilot resumes reasoning from the merged context, not from scratch.
- Optional: typing during generation automatically triggers Pause Mode.

### Example prompts or workflows

# Expected Impact
- More interactive and corrective workflows
- Reduced frustration from stuck or incorrect generations
- Better alignment with developer expectations for iterative reasoning
- Improved parity with tools that already support this mode-switching architecture

### Additional context

# Closing Note
This request aims to bring Copilot closer to parity with tools that already support this style of mode-switching architecture, such as WindSurf, Devin, and Claude

This was formatted with https://copilot.microsoft.com/conversations/join/ZcC2kozFhmUWE8fG6jQBb

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.