github / github/copilot-cli

Bug: Multiple unsolicited rubber-duck background agents spawned from a single task tool call

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

描述

## Description

During a multi-step implementation session, **5 unexpected background agents** appeared with system notifications, despite only **1 rubber-duck agent being explicitly launched** via the `task` tool.

All 5 unexpected agents shared the same description ("Critiquing fix plan") and the same session owner ID as the one I launched, suggesting they were auto-spawned by the system rather than by me.

## Environment

- **Copilot CLI version:** 1.0.21
- **OS:** Ubuntu 24.04 (Linux 6.17.0-20-generic x86\_64)
- **Node.js:** v25.9.0
- **Mode:** Interactive (standard, not autopilot)
- **Session ID:** 10fe9180-e557-4c37-8efa-f294510de030

## What I Did

1. Received a `[[PLAN]]` user request to investigate and fix issues in a codebase
2. Investigated the codebase, identified root causes
3. Explicitly called the `task` tool **once** with these parameters:
```json
{
"agent_type": "rubber-duck",
"name": "rubber-duck-review",
"description": "Review fix plan for step_03",
"mode": "background",
"prompt": "..."
}
```
4. While waiting for `rubber-duck-review` to complete, system notifications arrived for **5 additional agents I never launched**

## Unexpected Agents (never explicitly launched)

```
💤 step3-fix-review rubber-duck "Critiquing fix plan" (824s)
💤 script-refs-review rubber-duck "Critiquing fix plan" (803s)
💤 step3-fix-critique rubber-duck "Critiquing fix plan" (747s)
💤 script-fix-critic rubber-duck "Critiquing fix plan" (695s)
💤 script-fix-critic-1 rubber-duck "Critiquing fix plan" (629s) [model: claude-haiku-4.5]
```

The agent I **did** launch:
```
💤 rubber-duck-review rubber-duck "Review fix plan for step_03" (902s)
```

All 6 were listed under the same session owner (`10fe9180-e557-4c37-8efa-f294510de030`), confirming they were spawned within the same session.

## Notable Details

- The unexpected agents had **different names** (step3-fix-review, script-refs-review, etc.) and slightly different descriptions despite all saying "Critiquing fix plan"
- One (`script-fix-critic-1`) used a **different model** (`claude-haiku-4.5`) — the `-1` suffix suggests a naming collision was detected and auto-incremented
- The agents arrived over a ~5 minute window, staggered, not all at once
- All were idle (completed) by the time the user asked "What is pending?"
- There is **no `/fleet` mode** active in this session
- The session was in standard interactive mode (not autopilot/experimental)

## Expected Behavior

Only the **one explicitly requested** rubber-duck agent (`rubber-duck-review`) should have been spawned. No other agents should appear unless the user or assistant explicitly calls the `task` tool.

## Actual Behavior

5 additional rubber-duck agents were spawned without any `task` tool call from the assistant. They ran in parallel, all critiquing the same plan, consuming quota unnecessarily and cluttering the `/tasks` view.

## Impact

- **Wasted quota:** ~5× the expected premium request consumption for agent spawning
- **Confusion:** The user noticed the anomaly and flagged it as a bug
- **Noise:** 5 redundant idle agents in `/tasks` list at session end
- **Potential loop risk:** If agents can self-spawn, a runaway loop scenario is possible in longer sessions

## Possible Hypotheses

1. A retry/fault-tolerance mechanism re-spawned the agent each time it failed to return a result within a timeout window
2. A skill or background automation triggered agent launches independent of the assistant's `task` tool calls
3. The `task` tool call was internally duplicated/retried at the orchestration layer
4. A race condition between agent completion notifications and internal state caused repeated spawning

贡献指南

打开贡献指南

调研方向

首先,在所报告的 Ubuntu 和 Node.js 环境中重现 Copilot CLI 1.0.21 的单次后台任务调用,然后监视 /tasks 视图和会话通知。将任务记录、时间、名称、模型和会话所有者与所描述的六个代理进行比较。当一次显式调用只产生一个代理且不重复使用配额时,即表示完成。

由索引模型根据 Issue 内容生成。

评估

技术栈
node.js, shell
领域
cli, devtools
Issue 类型
缺陷
难度
4/5
预计耗时
3-5 天
活跃度
冷清
描述清晰度
基本清楚
新手友好度
48/100

把新 issue 发到你的邮箱

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