github / github/copilot-cli

Subagent transcripts are inlined verbatim and uncapped into the parent session export

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

描述

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

When a session uses subagents, the parent's exported transcript inlines the **complete** transcript of every subagent verbatim, with no summarization and no size bound. Each subagent's full tool-call output is embedded into the parent, and a subagent that runs more than once (e.g. a retried phase) has its full transcript embedded again on each run.

Concretely, a single exported session from a multi-lane review flow came out to ~3.2 MB / ~58k lines: roughly 66% of it was inlined subagent transcripts, and a phase that ran three times added another ~30% because each run's full transcript was inlined again. There's currently no way to make the export summarize or externalize subagent transcripts — the parent always embeds the full child log.

## Proposed solution

Add a way to keep the parent export bounded when subagents are involved. Any one of these would help:

- Summarize each subagent in the parent export (final message + tool-call count + key results) instead of inlining its full log.
- Externalize each subagent transcript to its own artifact and reference it from the parent, so full detail is preserved but not inlined.
- A flag/setting to choose inline vs. summarized vs. externalized export.

Full detail stays recoverable; the parent transcript stops growing unbounded with each subagent and each retry.

## Example prompts or workflows

- A multi-subagent run (e.g. several parallel analysis/review lanes): today the parent inlines every lane's entire transcript; a summary plus per-lane artifacts would keep the parent readable.
- Re-running an expensive sub-step several times in one session: today each run's full transcript is re-inlined, multiplying size; a summarized/externalized export records each run compactly.
- Long sessions in general: a bounded parent transcript stays reviewable, where a fully-inlined one becomes unmanageable.

## Additional context

- Affected version: `copilot` 1.0.65 (Homebrew cask).
- The behavior appears to come from the export renderer that joins each subagent's timeline entries and embeds the full tool-call output for every entry, with no truncation or summarization branch in that path.
- OS: macOS (ARM).

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

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