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.
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
Faça login no PAI console. No painel de navegação à esquerda, escolha Model Application > Model Distillation (ModelDistill).
Na página, clique em Create task para abrir a aba Distillation Template ou abra a aba Distillation Template diretamente.
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.
-
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/.NotaSempre 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.
-
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.NotaInstant 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.
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_cmdetest_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 |
|
backend |
|
coding_agent.harness | O harness do coding agent, responsável por controlar o comportamento do agent e as interações com o sandbox.
|
coding_agent.sandbox | A configuração do sandbox remoto. Cada seed recebe uma instância isolada.
|
coding_agent.scoring | O mecanismo de validação e pontuação, responsável por controlar a filtragem da qualidade da trajetória.
|
coding_agent.execution |
|