idea_world_labDEV JOURNAL
sexta-feira, 12 de junho de 2026

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 .gd e a estrutura do projeto em um único texto, usando o arquivo de configuração project.godot e 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
  • Assisti a um vídeo de fine‑tuning sobre a linguagem clássica OPL para entender o fluxo de fine‑tuning
  • 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-110K como 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
  • 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/crawl4ai para rastrear a documentação oficial do Godot
  • 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.godot e 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-mcp e adicionamos karanb192/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-3090 para 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-coder apresentou 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
  • 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-mcp para 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
  • 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-GGUF rodado 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
  • 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
maio de 2026