Feature Request: Session Export and Replay for Agent Debugging
- Langage dominant
- Java
- Étoiles
- 10.5k
- Forks
- 1.5k
- Merge moyen
- 1 j 11 h
- PR mergées (30 j)
- 128
Description
**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.
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Commencez par examiner la gestion des sessions existante du Copilot SDK et l’API loadSession/replay proposée et présentée dans l’issue. Déterminez comment doivent être représentés les messages exportés, les appels d’outils, les interactions MCP, les métadonnées et la configuration du modèle, puis définissez les critères d’achèvement pour exporter une session et la rejouer à des fins de débogage ou de test.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- java, typescript
- Domaine
- developer-experience, testing
- Type d'issue
- Fonctionnalité
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Activité
- Calme
- Clarté
- À clarifier
- Accessibilité débutants
- 35/100