Answering Session
Scopri come le Answering Session di CodeCourier risolvono le domande e convalidano le assunzioni generate durante le Issue Session, producendo risposte attuabili che guidano l'implementazione dell'IA prima che venga scritta una sola riga di codice.
Dopo che una Issue Session ha scansionato la tua codebase e prodotto un elenco di issue, registra anche le domande a cui non è riuscita a rispondere basandosi solo sul codice e le assunzioni fatte procedendo senza indicazioni esplicite. Una Answering Sessionè il passo successivo: una session basata su IA in cui un Answering Agent esamina quelle domande, le raffina e produce assunzioni strutturate con punteggi di confidenza che esamini e approvi prima che inizi l’implementazione.
Il risultato è un insieme di risposte approvate, esaminate da un umano, che vengono iniettate come contesto nei workflow run quando vengono eseguite le issue risultanti - garantendo che l’agente che implementa abbia fin dall’inizio la giusta comprensione di requisiti, scope e architettura.
Perché le Answering Session contano
Le Issue Session sono deliberatamente ampie - l’agente di scansione fa emergere tutto ciò che trova senza avere necessariamente il contesto completo su intenzioni, vincoli o priorità. Questo produce elenchi di issue ricchi, ma lascia anche domande aperte:
- “Questa correzione di sicurezza deve essere applicata a tutti gli ambienti o solo alla produzione?”
- “Il pattern di query N+1 qui è intenzionale a causa della cache a un livello superiore?”
- “Questo refactoring deve mantenere la compatibilità all’indietro con l’API v1?”
Senza risposte a queste domande, l’agente che implementa deve fare le proprie assunzioni - che potrebbero essere sbagliate. La Answering Session ti offre un modo strutturato per risolvere queste incertezze prima dell’implementazione, riducendo drasticamente il rischio che gli agenti IA implementino correzioni tecnicamente corrette ma contestualmente sbagliate.
Opzionale ma di grande valore
Configurare l’Answering Agent
Prima di avviare una Answering Session, configura l’Answering Agent dalla pagina Answering Setup all’indirizzo /p/{projectId}/answering-setup. Questa configurazione è condivisa da tutte le Answering Session del progetto:
| Impostazione | Descrizione |
|---|---|
| Strumento CLI | Quale agente di coding IA usare per le answering session. |
| Modello | Modello LLM per l’Answering Agent. Opus è consigliato per un’analisi sfumata delle domande e la generazione di assunzioni. |
| Thinking Effort | Profondità di ragionamento. Impostalo su “high” o superiore per un’analisi approfondita delle domande, specialmente quando toccano questioni architetturali. |
| Bound Context | Collega un documento di contesto all’Answering Agent. I documenti di contesto architetturale sono particolarmente preziosi qui: aiutano l’agente a produrre assunzioni più accurate ancorando il suo ragionamento alle decisioni di design effettive del progetto. |
| Skills | Pacchetti di conoscenza di dominio per l’Answering Agent. |
| Commands | Comandi shell che l’Answering Agent può invocare durante la sua session (ad esempio, per leggere file di configurazione o eseguire query diagnostiche). |
| Scripts | Script eseguibili iniettati nella sandbox per l’uso dell’Answering Agent. |
Il contesto è fondamentale per l'Answering Agent
Avviare una Answering Session
Completare una Issue Session
Una Answering Session richiede una Issue Session completata con domande e assunzioni estratte. Vai alla pagina di dettaglio della Issue Session e conferma che lo stato della session sia completed e che le domande siano state estratte.
Avviare dalla pagina di dettaglio della Issue Session
Clicca sul pulsante Avvia Answering Session nella pagina di dettaglio della Issue Session. Questo crea un nuovo record di Answering Session collegato alla Issue Session tramite issueSessionIde provisiona una sandbox per l’Answering Agent.
L'Answering Agent viene eseguito
L’Answering Agent riceve le domande e le assunzioni dalla Issue Session insieme a qualsiasi contesto collegato e alle skill configurate. Esamina ogni domanda, raffina la formulazione per chiarezza, valuta l’assunzione iniziale e produce una risposta strutturata con:
- Un testo di domanda raffinato e una spiegazione del contesto
- Una giustificazione “perché è importante”
- Una classificazione per categoria (requirements, architecture, scope, priority, dependencies o other)
- Un’assunzione rivista con il relativo ragionamento
- Un punteggio di confidenza (low, medium o high) che riflette quanto l’agente è sicuro della propria assunzione
La session traccia il progresso in tempo reale. Una volta completata, tutte le domande di session vengono memorizzate come record sessionQuestions collegati sia alla Answering Session che alla Issue Session.
Esaminare ogni domanda e assunzione
Vai alla pagina di dettaglio della Answering Session per esaminare i risultati. Ogni domanda di session viene mostrata con l’assunzione dell’Answering Agent e il suo punteggio di confidenza. Per ciascuna puoi:
- Approvare- Accettare l’assunzione così com’è. Verrà usata come contesto quando vengono eseguite le issue correlate.
- Rifiutare con correzione- Rifiutare l’assunzione e fornire una risposta corretta. Inserisci la tua correzione nel campo
correctedAnswere invia. La risposta corretta sostituisce l’assunzione nel contesto di esecuzione. - Lasciare in sospeso- Rimandare l’esame. La domanda resta nello stato
pendinge non contribuisce al contesto di esecuzione finché non viene approvata o rifiutata.
Usare le assunzioni approvate quando esegui le issue
Una volta esaminate le domande, le assunzioni approvate e corrette sono disponibili come contesto quando esegui le issue dalla Issue Session collegata. Quando esegui una issue o avvii una work chain, il sistema può iniettare le assunzioni approvate nel workflow run come contesto aggiuntivo insieme al suggestedPrompt della issue.
Stati delle Answering Session
| Stato | Descrizione |
|---|---|
active | L’Answering Agent sta attualmente elaborando le domande nella sandbox. |
completed | L’Answering Agent ha terminato l’elaborazione. Le domande di session sono pronte per l’esame umano. |
reviewing | Le domande di session sono state generate e sono in attesa dell’esame umano (approva/rifiuta). |
archived | La session è stata archiviata dopo il completamento dell’esame. |
killed | La session è stata terminata manualmente prima del completamento. |
cancelled | La session è stata annullata prima che la sandbox si avviasse. |
Categorie delle domande di session
L’Answering Agent classifica ogni domanda in una delle sei categorie per aiutarti a dare priorità al tuo esame:
| Categoria | Cosa copre |
|---|---|
requirements | Domande su quale comportamento è atteso, quali dovrebbero essere i criteri di accettazione, o cosa dovrebbe fare la funzionalità. |
architecture | Domande su design del sistema, struttura dei componenti, modifiche al modello dati o pattern di integrazione. |
scope | Domande su cosa rientra o meno nello scope di questa issue o session. |
priority | Domande sull’importanza relativa delle issue o sull’ordine in cui le modifiche devono essere applicate. |
dependencies | Domande su dipendenze esterne, librerie di terze parti o altri sistemi con cui questa modifica interagisce. |
other | Domande che non rientrano chiaramente nelle categorie sopra. |
Puoi filtrare l’elenco di esame per categoria per affrontare prima le domande più critiche. Le domande di architettura e requisiti hanno tipicamente l’impatto maggiore sulla qualità dell’implementazione.
Stati di esame delle domande di session
Ogni domanda di session ha un reviewStatus che traccia dove si trova nel flusso di esame umano:
| Stato | Descrizione |
|---|---|
pending | In attesa di esame umano. Non ancora incluso nel contesto di esecuzione. |
approved | Assunzione accettata così com’è. Inclusa nel contesto di esecuzione delle issue correlate. |
declined | Assunzione rifiutata. Al suo posto viene usata come contesto la correctedAnswer. |
Modello dati
Le Answering Session sono rappresentate da due tipi di tabella nel database: answeringSessions e sessionQuestions.
answeringSessions: {
userId: Id<"users">;
projectId: Id<"projects">;
issueSessionId: Id<"issueSessions">;
sandboxId?: string;
// Lifecycle
status: "active" | "completed" | "reviewing" | "archived" | "killed" | "cancelled";
// Agent outputs
questionsJson?: string; // Raw questions JSON from the Issue Session, passed as input
assumptionsJson?: string; // Raw assumptions JSON from the Issue Session, passed as input
prompt?: string; // The prompt used for the Answering Agent
error?: string; // Error message if the session failed or was killed
}Come le assunzioni approvate migliorano l’implementazione
Quando un workflow run esegue una issue associata a una Answering Session, le assunzioni approvate e corrette vengono formattate come contesto strutturato e anteposte al prompt del run. L’agente che implementa riceve non solo “correggi questo bug”, ma anche:
- Requisiti chiariti: quale comportamento è atteso e quali casi limite rientrano nello scope.
- Indicazioni architetturali: quali pattern seguire, quali astrazioni usare e quali confini non oltrepassare.
- Contesto di priorità: quali aspetti della correzione sono più critici e quali sono opzionali.
- Consapevolezza delle dipendenze: quali altri sistemi o librerie sono coinvolti e quali vincoli impongono.
Questo contesto aggiuntivo riduce la probabilità che l’agente che implementa faccia proprie assunzioni scorrette, una delle cause più comuni di implementazione IA di bassa qualità.
Learning dalle Answering Session
Le domande di session rifiutate (e corrette) sono particolarmente preziose come input per il learning. Quando l’Answering Agent ha fatto un’assunzione sbagliata e tu l’hai corretta, quella correzione insegna al sistema vincoli, preferenze o pattern del tuo progetto che non erano evidenti dalla sola codebase.
Se una domanda di session è collegata a un learningId, significa che la correzione è stata compilata in un record di learning che verrà iniettato nelle session future - così l’Answering Agent (e altri agenti collegati ai learning) avrà meno probabilità di fare la stessa assunzione sbagliata in futuro.
Miglioramento a ciclo chiuso
Prossimi passi
Issue Session
Scopri come le Issue Session scoprono ed estraggono le issue dalla tua codebase.
Work Chain
Esegui le issue in sequenza una volta che le assunzioni sono approvate.
Panoramica delle Issue
Consulta il ciclo di vita completo di scoperta e risoluzione delle issue.
Configurazione delle persona
Configura il collegamento del contesto e le skill per la tua persona Answering Agent.