12 de junho de 2026
- Decidi escrever novamente uma retrospectiva de desenvolvimento depois de um tempo
- Enquanto isso, o desejo de deixar apenas registros perfeitos acabou adiando a escrita
- Para registrar de forma significativa as tentativas e reflexões dos últimos cerca de 10 dias, organizei a pesquisa e o design de arquitetura para criar um modelo de codificação especializado em Godot
- Experimentei colocar um modelo da série Qwen no PC local para reduzir os custos do RunPod
- Tentei rodar um modelo de 9B no WSL em um ambiente RTX 3060
- Porém, a velocidade de conexão de rede e a latência eram problemáticas; antes mesmo de gerar a resposta, a fase de pensamento levava mais de 5 min, então interrompi o experimento local
- Investiguei como coletar datasets para treinar um modelo especializado em Godot
- Verifiquei o dataset de referência do Hugging Face:
wallstoneai/godot-gdscript-dataset - Analisei, via Gemini, como esse dataset foi criado
- O ponto chave foi mesclar, por repositório do GitHub, o README.md, arquivos
.gde a estrutura do projeto em um único texto, usando o arquivo de configuraçãoproject.godote as diferenças de sintaxe GDScript para classificar versões Godot 3/4 - Percebi que, ao usar pistas de versão como
config_version,config/features,onready var,@onready,KinematicBody,CharacterBody3D, até linguagens menos populares sem arquivos de dependência JSON podem ser filtradas por versão
- Verifiquei o dataset de referência do Hugging Face:
- Assisti a um vídeo de fine‑tuning sobre a linguagem clássica OPL para entender o fluxo de fine‑tuning
- Referência: https://www.youtube.com/watch?v=5wGD92ktQL4
- Notei que coletar o dataset e transformá‑lo em um formato treinável são tarefas distintas
- Perguntei ao coach da SSAFY como coletar efetivamente dados de linguagens menos populares em versões específicas
- Recebi a resposta de que o dataset de Godot que estou usando se assemelha mais a um dataset bruto de código do que a um Q&A para treinamento de assistente
- Concluí que, para criar um produto de chatbot, é melhor gerar pares pergunta/resposta usando um LLM e convertê‑los em um dataset de instruções, em vez de inserir o código bruto diretamente
- Sem esse passo, um pedido como “desenhe o mapa” provavelmente resultaria em respostas centradas em Python, que o modelo já aprendeu bastante
- Avaliei o dataset de instruções
ise-uiuc/Magicoder-Evol-Instruct-110Kcomo candidato- A maioria dos exemplos foca em Python, então não seria adequado usar diretamente como dados de treinamento exclusivos para Godot 4
- Questionei se seria possível fazer o modelo responder sobre Godot sem mencionar explicitamente “Godot”, mas concluí que, devido ao peso do Python nos modelos, incluir claramente o contexto “Godot” nas perguntas aumenta a chance de respostas corretas
- Consultei um veterano da universidade sobre RAG e estratégias de prompting
- Recebi a sugestão de que, ao invés de injetar todo o conteúdo no modelo, seria mais realista criar uma estrutura de busca vetorial baseada em documentos Markdown e orientar o modelo a buscar as informações necessárias
- Re‑indexar documentos massivos é caro e demorado; portanto, nesta fase, uma arquitetura baseada em busca/prompting pode ser mais adequada que treinamento extensivo
- Esbocei a arquitetura inicial para um modelo de codificação especializado em Godot
- Inicialmente imaginei um fluxo simples:
coleta de dataset → geração de dataset de perguntas/respostas → treinamento do modelo - Contudo, percebi que, para filtrar corretamente e gerar respostas precisas, era necessário entender bem as mudanças de Godot 3 para 4
- Caso contrário, códigos de Godot 3, Python ou APIs antigas poderiam se misturar nos dados de resposta, então reavaliei a arquitetura
- Inicialmente imaginei um fluxo simples:
- Projetei uma estrutura onde um chatbot RAG baseado na documentação oficial fica na frente para classificar e converter versões Godot 3/4
- A ideia é rastrear a documentação oficial de migração e a documentação de Godot 4, criar um chatbot RAG e usá‑lo para determinar se os dados coletados são de Godot 3 ou 4
- Só os dados identificados como Godot 4 seriam transformados em dataset de instruções
- Obtive insights adicionais sobre SFT/DPO conversando com o ChatGPT
- No SFT, podem ser criadas tarefas como classificação Godot 3/4, conversão Godot 3 → 4, geração de código Godot 4, correção de erros Godot 4 e rejeição/correção de APIs Godot 3
- No DPO/Preference, pode‑se montar dados de preferência onde “resposta ruim = resposta contendo código Godot 3” e “resposta boa = resposta contendo apenas código puro Godot 4”
- Usei
unclecode/crawl4aipara rastrear a documentação oficial do Godot- Documento inicial: https://docs.godotengine.org/en/stable/tutorials/migrating/upgrading_to_godot_4.html
- Rastreei e documentei quase 1 500 páginas, incluindo a documentação oficial do Godot 4, guias de migração de Godot 3 → 4, referência de classes do Godot 4 e tutoriais
- Embora parecesse muito, isso representa cerca de 3 % do contexto total de um modelo grande
- Recebi conselhos adicionais de um veterano sobre gargalos de I/O de disco no pipeline de armazenamento e treinamento
- Em vez de fazer fine‑tuning em tempo real, é melhor processar coleta, pré‑ e pós‑processamento de dados quase em tempo real e executar o treinamento em batch
- Decidi adotar um processamento em lote baseado em métricas, disparando RL ou fine‑tuning quando o dataset atingir um tamanho específico
- Como o custo de re‑indexação não pode ser eliminado completamente, priorizei a estabilidade do pipeline de coleta e processamento de dados sobre a latência de treinamento
- Direção geral consolidada
- Rastrear a documentação oficial e construir uma base de conhecimento RAG centrada no Godot 4
- Coletar projetos Godot no GitHub e mesclar, por repositório, README, estrutura do projeto e arquivos GDScript
- Aplicar filtragem inicial usando as configurações
project.godote diferenças de sintaxe entre Godot 3/4 - Usar o chatbot RAG para determinar se o conteúdo é Godot 3/4, se usa APIs antigas e se é adequado ao Godot 4
- Gerar pares instrução/resposta a partir dos dados filtrados para Godot 4
- Treinar o modelo de codificação Godot 4 com dados SFT e DPO/Preference
- Retrospectiva
- Nos últimos 10 dias, ao focar apenas em deixar resultados “perfeitos”, acabei não registrando o processo
- Percebi que os experimentos falhos, os pontos de bloqueio e as mudanças de decisão ao longo do caminho são registros valiosos para orientar os próximos passos
- A partir de agora, em vez de buscar apenas resultados impecáveis, pretendo registrar continuamente tentativas e decisões para evoluir gradualmente
- Retrospectiva de desenvolvimento: docs/retrospectives/2026-06-12.md
2 de junho de 2026
- Como modelo auxiliar para tarefas no Godot, decidimos experimentar novamente
bekoozkan/godot-qwen2.5-coder-7b-instruct-bnb-4bit- Contudo, esse modelo tem capacidade limitada de interpretação de imagens, então planejamos que o Codex assuma o papel auxiliar de verificar e interpretar diretamente as imagens dos assets
- O Codex salvará em assets/ASSET_LABELS.md o caminho do asset, tamanho em pixels, finalidade, se há duplicação e observações, tudo em descrição em inglês
- Planejamos que o Qwen, ao escolher assets durante a codificação no Godot, consulte a descrição documentada dos assets em vez de abrir diretamente o PNG
- No Qwen, investigamos candidatos a Reddit MCP via
web-search-mcpe adicionamoskaranb192/reddit-mcp-buddy- Experimento para anexar o fluxo de busca/investigação do Reddit como MCP, facilitando a localização de casos da comunidade ou materiais de solução de problemas relacionados ao Godot
- Verificamos o projeto de referência
noonghunna/club-3090para facilitar a execução local do modelo- Avaliaremos se pode ser usado como referência para simplificar a configuração de execução do modelo em GPUs locais/servidores
- Como candidato a fine‑tuning/treinamento, analisamos
hiyouga/LLaMA-Factory- Caso no futuro seja necessário adaptar ou ajustar o modelo com base em padrões de trabalho ou falhas no Godot, pretendemos experimentar essa ferramenta
qwen2.5-coderapresentou respostas diferentes dependendo da execução em vLLM ou llama.cpp- No llama.cpp, o tool calling do Qwen Code não foi conectado corretamente, resultando em textos como
<function=glob> - No vLLM há maior probabilidade de tool calling, mas nos experimentos atuais nenhum dos dois conduziu a correções de código estáveis
- A combinação atual de modelo/serviço mostrou falta de capacidade para entender e corrigir o contexto geral do projeto; porém, decidimos encará‑lo como tarefa de fine‑tuning/alinhamento de ambiente ao invés de desistir
- O objetivo é transformar o Qwen de uma ferramenta auxiliar limitada em um agente de codificação capaz de realizar correções reais de código
- No llama.cpp, o tool calling do Qwen Code não foi conectado corretamente, resultando em textos como
- Vamos buscar mais insights sobre o AlphaEvolve mencionado pelo coach e decidir se o incorporamos ao fluxo de experimentação/otimização do projeto
- Retrospectiva de desenvolvimento: docs/retrospectives/2026-06-02.md
1 de junho de 2026
- Executamos o projeto Godot e verificamos o resultado da geração do mapa
- O trabalho prático de hoje foi rodar o Godot e observar o estado do mapa
- Como o modelo não interpreta imagens e resultados de tela de forma confiável, ficou difícil decidir melhorias no mapa
- Customização do web‑search MCP no repositório privado
- Ajustamos
web-search-mcppara atender ao fluxo de busca e saída desejados - Em ferramentas fora do Qwen Code, a usabilidade do web‑search MCP ficou aquém das expectativas, gerando frustração
- Ajustamos
- Teste comparativo entre Qwen Code, Codex e OpenCode
- Qwen Code tende a repetir respostas e reiniciar planos com frequência
- Codex e OpenCode mostram limitações na compreensão do contexto Godot e na interpretação de imagens
- Algumas ferramentas falham ao montar o plano, e sub‑agentes de pesquisa consultam o sistema de arquivos de forma inesperada
- Experimento com modelo especializado para Godot
- Modelo Hugging Face
bekoozkan/godot-gemma-4-e4b-it-GGUFrodado no RunPod - Referência: https://huggingface.co/bekoozkan/godot-gemma-4-e4b-it-GGUF
- Vários modelos tendem a sugerir padrões de código de versões antigas do Godot, por isso testamos um modelo especializado
- Contudo, esse modelo especializado tem poucos parâmetros e compreensão de contexto fraca, não sendo tão estável quanto esperado
- Modelo Hugging Face
- Reflexão sobre uso de ferramentas de IA
- Qwen Code parece que, sem ajuste fino conforme a documentação, continuará apresentando problemas recorrentes independentemente do modelo usado
- Trabalhos no Godot são difíceis de considerar concluídos sem validação visual da execução
- Deixei a impressão de que essa área pode não ser a melhor combinação para mim
- Decidi que a partir de amanhã irei coletar padrões de trabalho necessários no Godot e iniciar um fine‑tuning
- Retrospectiva de desenvolvimento: docs/retrospectives/2026-06-01.md
- Ata da reunião: docs/meetings/2026-06-01.md