Quando você executa um agente, o resultado vai além da resposta final. Ele também indica qual agente assumiu o controle após uma transferência, fornece os dados para continuar no próximo turno e, quando a execução é pausada para revisão, guarda o estado necessário para retomá-la.
Escolha quais dados do resultado usar
A maioria dos aplicativos precisa de poucas propriedades do resultado:
| Se você precisa de | Use |
|---|---|
| Uma resposta final para mostrar ao usuário | finalOutput in TypeScript or final_output in Python |
| Um histórico local pronto para reenviar como entrada | history in TypeScript or to_input_list() in Python |
| O agente especialista que normalmente deve conduzir o próximo turno | lastAgent in TypeScript or last_agent in Python |
| Encadeamento de respostas gerenciado pela OpenAI | lastResponseId in TypeScript or last_response_id in Python |
| Aprovações pendentes e uma cópia do estado para retomar a execução | interruptions e state in TypeScript or to_state() in Python |
Comece por essas propriedades. Para saber mais sobre os itens da execução, as respostas brutas do modelo e os diagnósticos detalhados, consulte a documentação do SDK e o material de referência.
O que reutilizar no próximo turno
Use o resultado de acordo com a estratégia de continuação do seu aplicativo:
- Se o aplicativo mantém todo o histórico localmente, reutilize
.historyin TypeScript orto_input_list()in Python - Se você usa uma sessão, continue passando a mesma sessão para que o SDK carregue e salve o histórico.
- Se o servidor gerencia a continuação, passe apenas a nova entrada do usuário e reutilize o ID armazenado em vez de reenviar toda a conversa.
- Após uma transferência de controle, reutilize
se esse especialista também deve conduzir o próximo turno.lastAgentin TypeScript orlast_agentin Python
Execuções interrompidas retornam o estado antes de haver uma resposta final
Os fluxos de aprovação são o principal caso em que o resultado é intencionalmente incompleto.
pode ficar vazio porque a execução ainda não terminou.finalOutputin TypeScript orfinal_outputin Pythoninterruptionsindica quais chamadas de ferramenta pendentes exigem uma decisão. contém a cópia do estado que você passa de volta ao ambiente de execução após aprovar ou rejeitar essas chamadas.statein TypeScript orto_state()in Python
Se houver a possibilidade de a revisão ocorrer mais tarde, fora da solicitação atual, serialize esse mesmo estado.
Itens de execução e diagnósticos detalhados
O SDK também disponibiliza itens de execução e diagnósticos mais detalhados para aplicativos que precisam de mais informações do que as propriedades acima oferecem. Entre eles estão registros de uso de ferramentas e de transferências de controle para cada item, respostas brutas do modelo, resultados das verificações de segurança e detalhes de uso.
Esses dados são úteis para auditorias, interfaces personalizadas e depuração aprofundada. A maioria dos desenvolvedores pode explorar esses recursos mais adiante neste site.
Próximos passos
Depois de identificar de quais dados do resultado você precisa, consulte o guia que explica como eles são gerados ou como examiná-los.
Veja como o tratamento dos resultados se relaciona com o ciclo de execução e a estratégia de continuação.
Veja como uma execução pausada retorna as interrupções e o estado necessário para retomá-la.
Use rastreamentos quando precisar examinar o registro detalhado do fluxo de trabalho.