Feature Request: Session Export and Replay for Agent Debugging
- 主要言語
- Java
- スター
- 10.5k
- フォーク
- 1.5k
- 平均マージ
- 1日 11時間
- マージ済み PR(30日)
- 128
説明
**Title**
Feature Request: Session Export and Replay for Agent Debugging
## Description
### Problem
When building agents with the Copilot SDK, debugging complex multi-turn conversations can be difficult.
Developers often encounter situations where:
* An agent behaves unexpectedly after several turns.
* A tool invocation produces an incorrect result.
* Context accumulation affects later responses.
* Bugs only appear after a specific sequence of interactions.
Currently, reproducing these issues typically requires manually recreating the entire conversation flow.
### Proposed Solution
Add session export and replay capabilities to the Copilot SDK.
#### Session Export
Allow developers to export a session including:
* User messages
* Assistant messages
* Tool calls
* Tool results
* MCP interactions
* Session metadata
* Model configuration
Example:
```json
{
"sessionId": "...",
"messages": [...],
"toolCalls": [...],
"metadata": {...}
}
```
#### Session Replay
Provide APIs to replay exported sessions for debugging and testing.
Example:
```typescript
const session = await sdk.loadSession("./session.json");
await session.replay();
```
#### Optional Features
* Replay until a specific turn
* Step-by-step execution
* Compare outputs across SDK versions
* Compare outputs across models
* Deterministic replay mode
### Use Cases
#### Agent Development
Reproduce user-reported failures without requiring users to recreate conversations.
#### Regression Testing
Verify that SDK upgrades do not change agent behavior unexpectedly.
#### Tool Debugging
Inspect exactly how tool calls and results affected agent decisions.
#### Benchmarking
Compare responses across different models using the same session history.
### Benefits
* Easier debugging
* Better reproducibility
* Improved regression testing
* Faster issue triage
* Better developer experience for agent builders
### Alternatives Considered
* Manual logging of messages
* Custom session serialization
* Third-party observability platforms
These approaches require significant additional implementation and are not standardized across SDK users.
コントリビューションガイド
調査の方向性
まず、Copilot SDK の既存のセッション処理と、issue に示されている提案中の loadSession/replay API を確認します。エクスポートされたメッセージ、ツール呼び出し、MCP インタラクション、メタデータ、モデル設定をどのように表現するかを確立し、その後、デバッグまたはテストのためにセッションをエクスポートしてリプレイすることを完了の基準として定義します。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- java, typescript
- 領域
- developer-experience, testing
- issue の種類
- 機能追加
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 活発さ
- 静か
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 35/100