- Manter um loop de agente longo dentro da janela de contexto, resumindo os turnos que já não alteram o resultado.
- Reduzir os tokens de entrada de cada turno seguinte, que de outra forma reenviariam o histórico completo.
- Compactar sob demanda, em vez de esperar que um limite seja ultrapassado.
Visão geral
A compactação de contexto resume os itens mais antigos de uma conversa por meio de um modelo e os substitui por um único item de compactação, mantendo os itens mais recentes literalmente. Trata-se de uma reescrita do histórico, não de compressão ou truncamento do prompt. O resumo é escrito para preservar o que um agente que dá continuidade à conversa precisa:- Decisões tomadas e sua justificativa.
- Arquivos lidos ou modificados e seu estado atual.
- Resultados de ferramentas que ainda são relevantes.
- Tarefas em aberto e questões não resolvidas.
Início rápido
POST /v3/router/responses/compact resume uma conversa e retorna a próxima janela de contexto a partir da qual continuar. A mesma operação está disponível na base compatível com OpenAI como POST /v1/responses/compact.
content de uma mensagem como string; o corpo REST aceita uma string ou um array de partes de conteúdo.
Campos da requisição
O endpoint não tem limite, e uma conversa curta é compactada por inteiro. Uma conversa mais longa mantém os cerca de 20.000 tokens mais recentes literalmente, fora do resumo. O
output da resposta contém o item de compactação seguido desses itens recentes; por isso, continue a partir do output inteiro. Somente uma conversa que cabe na reserva volta apenas como o item de compactação.
Compactação automática
Definacontext_management em uma requisição Responses de continuação e o gateway compactará à medida que a conversa crescer:
- Ele carrega o histórico armazenado a partir de
previous_response_id. - Tudo o que for mais antigo que a reserva é resumido em um único item.
- O item é inserido no início do
outputda resposta.
A passagem lê o histórico que o gateway carregou, portanto a resposta que está sendo continuada precisa estar armazenada.
store tem true como padrão; um primeiro turno enviado com store: false não tem histórico para compactar. Consulte Statefulness.Campos da entrada
context_management recebe uma lista de entradas. Uma entrada compaction contém:
A passagem é executada apenas sobre o histórico que o gateway carregou, seja a partir de
previous_response_id ou de uma conversa. Os itens enviados no corpo da requisição atual não fazem parte dele, portanto uma única requisição grande demais não é reduzida.
Limite e reserva
A passagem é executada somente quando o histórico carregado excedecompact_threshold. Tudo o que for mais antigo que a janela de reserva é enviado ao sumarizador; a própria reserva permanece literal.
Continuar a partir de um item de compactação
Envie ooutput de uma chamada de compactação de volta no input de uma requisição Responses posterior para continuar a partir do resumo e dos itens recentes que ele mantém. O gateway lê um item pelo seu formato, não pela sua origem:
- Um item
compactionsemcontent, comcreated_bye comencrypted_contenté expandido em uma mensagem de developer, de modo que o modelo lê seu texto como contexto. - Qualquer outro item mantém seu próprio envelope e é repassado sem alterações.
Compactação nativa do provedor
Um modelo da OpenAI pode compactar por meio do provedor em vez do gateway. Toda entradacompaction é encaminhada à OpenAI junto com a requisição, independentemente do valor de provider_native; portanto, defina a flag como true para desativar a passagem própria do gateway: o provedor então aplica sozinho sua compactação e retorna o item em seu próprio formato.
A configuração se aplica a modelos da OpenAI. Em todos os outros modelos, o gateway realiza a passagem.
Cache de prompt
A compactação é uma chamada de modelo por si só e carrega oprompt_cache_key da requisição quando ele está definido, de modo que a requisição de sumarização participa do cache de prompt como qualquer outra chamada. Consulte Cache de prompt.

