Todos os produtos
Search
Central de documentação

Platform For AI:Coding Agent Distillation

Última atualização: Sep 29, 2026

O modelo Coding Agent Distillation usa um coding agent para modificar código real em um sandbox remoto e, em seguida, reproduz as alterações para executar testes de validação. Ele gera conjuntos de dados SFT de múltiplas interações no formato ShareGPT. Esses conjuntos de dados são adequados para treinar modelos menores para localizar problemas, modificar código e verificar resultados em repositórios de código do mundo real.

Visão geral do modelo

Use o modelo Coding Agent Distillation para treinar modelos com capacidades de codificação. Um coding agent modifica o código real em um sandbox remoto, reproduz as alterações e as testa em um sandbox limpo. O sistema mantém apenas as trajetórias cujas alterações fazem os testes passarem de fato e gera conjuntos de dados SFT de múltiplas interações no formato ShareGPT. Diferente da destilação de agentes, que simula chamadas de ferramentas, cada etapa neste pipeline de dados inclui execução real e verificações antifraude. Esses conjuntos de dados são ideais para treinar modelos menores para localizar problemas, modificar código e verificar resultados em repositórios de código do mundo real.

Importante

Este modelo suporta apenas a criação em uma única etapa: Distillation Data Build. Ele não inclui uma etapa de treinamento do modelo aluno.

O pipeline do modelo Coding Agent Distillation inclui as seguintes etapas:

Etapa

Nome

Descrição

1

Execução no sandbox

Cria um sandbox remoto independente para cada seed e extrai seu workspace. O coding agent então modifica o código conforme descrito na tarefa e registra a trajetória completa da interação.

2

Reprodução e validação de testes

Reproduz as alterações de arquivo da trajetória em um sandbox limpo e executa o comando de validação especificado pela seed. Também executa verificações antifraude para identificar modificações em arquivos de teste, omissão de casos de teste ou contabilização de erros de ambiente como aprovações. Gera uma pontuação e uma conclusão.

3

Construção do conjunto de dados SFT

Organiza as trajetórias aprovadas na validação em amostras de treinamento de conversas de múltiplas interações no formato ShareGPT.

Procedimento

  1. Faça login no PAI console. No painel de navegação à esquerda, escolha Model Application > Model Distillation (ModelDistill).

  2. Na página, clique em Create task para abrir a aba Distillation Template ou abra a aba Distillation Template diretamente.

  3. Selecione Coding Agent Distillation e clique em Use Template para abrir a página Create Distillation Task e configure os seguintes parâmetros principais e mantenha os valores padrão para os demais.

  4. Em Basic Configuration, defina os seguintes parâmetros:

    • Task name: O sistema preenche este campo automaticamente.

    • Output Path: Especifique um caminho do OSS ao qual você tenha permissão de acesso, como oss://mybucket.oss-cn-hangzhou-internal.aliyuncs.com/coding-agent-distill/.

      Nota

      Sempre crie um diretório de saída separado para cada tarefa de destilação para evitar a sobrescrita de arquivos. O bucket do OSS deve estar na mesma região do service do PAI.

  5. Em seguida, clique em Next para abrir Build distillation data:

    • Teacher model: Defina a source como Token Service e selecione um modelo professor (como qwen3.8-max). Não selecione um modelo juiz; o sistema reutiliza o modelo professor como modelo juiz.

    • Dataset: Selecione um diretório do OSS ao qual você tenha permissão de acesso. Selecione o diretório inteiro, e não apenas um arquivo JSONL. Baixe e use a amostra diretamente.

    • Distillation Configuration: Use a configuração padrão fornecida e modifique conforme necessário. Preste atenção aos seguintes parâmetros:

      • coding_agent.harness.max_turns: O número máximo de interações para uma única seed. O valor padrão é 150. Configure este parâmetro junto com o timeout, pois o agent modifica o código e executa testes no sandbox a cada interação.

      • coding_agent.sandbox.endpoint: O endpoint do Instant Service. Substitua o placeholder ${EAS_SANDBOX_ENDPOINT} pelo endpoint real.

      • coding_agent.sandbox.api_key: O token da API do Instant Service. Substitua o placeholder ${EAS_SANDBOX_API_KEY} pelo token real.

        Nota

        Instant Service: O Coding Agent Distillation exige o Instant Service para fornecer o ambiente de execução do sandbox. No painel de navegação à esquerda do PAI console, escolha Elastic Algorithm Service (EAS) e clique em Instant Service. Depois de criar o Instant Service, use um modelo público ou personalizado. No canto superior direito da página de detalhes do modelo, clique em SDK Access para obter o endpoint e o token da API. Em seguida, substitua ${EAS_SANDBOX_ENDPOINT} e ${EAS_SANDBOX_API_KEY} na configuração de destilação anterior por esses valores. Para mais detalhes, consulte Instant Service - Getting Started.

    • Compute Resource: Defina o Resource Type como General Computing e a Source como Public Resources. Em Job Resource, selecione um Instance Type adequado, como ecs.c6.large.

  6. Por fim, clique em Create. Em seguida, no aviso de faturamento exibido, clique em OK. A página redireciona automaticamente para a configuração básica nos detalhes da tarefa, onde você acompanha o status da tarefa.

Detalhes da configuração

As seções a seguir descrevem os principais parâmetros de configuração do modelo Coding Agent Distillation. Como a configuração básica e a de recursos são iguais às da destilação geral, esta seção lista apenas os parâmetros específicos deste modelo.

Configuração básica

A configuração básica inclui duas definições: o nome da tarefa e o caminho de saída. O caminho de saída é o diretório raiz para todas as saídas da tarefa. O sistema também grava o conjunto de dados de destilação neste diretório, portanto, não é necessário especificar um caminho de saída separado para o conjunto de dados.

Construção de dados de destilação

Modelo professor

O modelo Coding Agent Distillation exige os seguintes modelos professores:

Nº

Função do modelo

Descrição

1

Teacher model (obrigatório)

Usado tanto para a inferência do Coding Agent quanto para o harness gerar trajetórias. Selecione um modelo com robustas capacidades de codificação, que suporte contexto longo e chamadas de ferramentas.

2

Judge model (opcional)

Usado para avaliar a qualidade das trajetórias do Coding Agent. Se você deixar este campo em branco, o sistema reutiliza o modelo professor. (Recomendado) Especifique um modelo separado.

A source do modelo professor aceita o Token Service.

Conjunto de dados

Selecione o diretório de entrada. Selecione o diretório inteiro, e não apenas um arquivo JSONL. Os dados devem atender aos seguintes requisitos de formato:

  • Arquivo de seed: seeds.jsonl. Cada linha contém uma tarefa de seed com os campos id, instruction, workspace, test_cmd e test_files.

  • Prepare um arquivo de workspace para cada seed. O sistema resolve os caminhos dos arquivos a partir dos caminhos relativos no seeds.jsonl.

  • Selecione o diretório de entrada inteiro. Se você selecionar apenas o arquivo seeds.jsonl, os arquivos compactados ficarão indisponíveis.

Configuração de destilação

A configuração de destilação está disponível no formato YAML e contém os valores padrão recomendados pela equipe de algoritmos. Ajuste os valores conforme necessário. A tabela a seguir descreve alguns parâmetros que exigem atenção.

Seção de configuração

Descrição

dataset

  • input_path (padrão: seeds.jsonl): O caminho do arquivo de seed de entrada, no diretório de montagem de entrada.

  • output_path (padrão: 04_merged.jsonl): O snapshot de auditoria mesclado antes da exportação, incluindo trajetórias reprovadas na validação. Use-o para rastreabilidade e construção de pares de preferência. Mantenha este arquivo separado do arquivo de dados de treinamento SFT; apontar ambos para o mesmo arquivo sobrescreve silenciosamente os dados de treinamento.

  • build_sft.output_path (padrão: outputs/handoff/03_sft_records.jsonl): Dados SFT treináveis de múltiplas interações no formato ShareGPT, produzidos pela etapa final build_sft.

backend

  • timeout (padrão: 1200.0): O tempo máximo de espera para uma única solicitação, em segundos. O valor deve cobrir uma resposta que use o max_tokens completo, e não uma resposta de tamanho médio.

  • max_retries (padrão: 3): O número de tentativas no nível de rede para uma única solicitação.

coding_agent.harness

O harness do coding agent, responsável por controlar o comportamento do agent e as interações com o sandbox.

  • type (padrão: cc): O tipo de harness do agent. Ele deve corresponder à imagem do sandbox especificada por sandbox.template.

  • model (padrão: deepseek-v4-flash-0731): O modelo usado pelo coding agent.

  • max_turns (padrão: 150): O número máximo de interações para uma única seed.

  • timeout (padrão: 2400): O limite de tempo real para uma única seed, em segundos. Configure este parâmetro junto com max_turns, pois o agent modifica o código e executa testes no sandbox a cada interação.

  • supervisor.hard_abort_elapsed_s (padrão: 1200): O limite de interrupção forçada para uma única seed, em segundos. O sistema encerra o agent à força quando sua execução excede essa duração.

coding_agent.sandbox

A configuração do sandbox remoto. Cada seed recebe uma instância isolada.

  • endpoint (obrigatório): O endpoint do EAS Instant Service, no formato https://api.<domain>. Substitua o placeholder ${EAS_SANDBOX_ENDPOINT} pelo endpoint real.

  • api_key (obrigatório): O token da API do Instant Service, separado da credencial do modelo professor. Substitua o placeholder ${EAS_SANDBOX_API_KEY} pelo token real.

  • template (padrão: coding-agents-harness-cc): O nome do modelo de sandbox. O modelo já deve existir no seu Instant Service.

  • ttl (padrão: 3600): O tempo de vida do sandbox, em segundos. O sistema recicla o sandbox automaticamente quando ele expira.

  • create_concurrency (padrão: 10): O número máximo de sandboxes criados simultaneamente. Ao escalar um lote, ajuste este valor junto com execution.max_workers.

coding_agent.scoring

O mecanismo de validação e pontuação, responsável por controlar a filtragem da qualidade da trajetória.

  • require_real_test (padrão: true): Execute o test_cmd de fato no sandbox. O sistema não aceita pontuações avaliadas por LLM.

  • require_test_pass (padrão: true): O código de saída do test_cmd deve ser 0. Caso contrário, o sistema descarta toda a trajetória.

  • require_modification (padrão: true): A trajetória deve conter modificações reais de arquivos. Caso contrário, o sistema descarta toda a trajetória.

  • pass_threshold (padrão: 0.5): A pontuação mínima necessária para passar na validação.

  • enable_judge (padrão: true): Ative um modelo juiz LLM para pontuação auxiliar. O parâmetro judge_model especifica o modelo juiz.

  • false_positive_check (padrão: true): Verificações antifraude combinadas. Verifique se houve modificação nos arquivos de teste, se todos os casos de teste foram ignorados e se erros de ambiente foram contabilizados como aprovações.

coding_agent.execution

  • max_workers (padrão: 10): O paralelismo no nível da seed, responsável por controlar o número de seeds executadas simultaneamente.