idea_world_labDEV JOURNAL
domingo, 28 de junho de 2026

Alternativa E: Criação de perfil de consulta Qwen

Fluxo

raw chunkText
  -> Solicitar a criação de JSON para pesquisa ao Qwen
  -> Pesquisar BM25/vetor com o JSON gerado
  -> Retornar candidatos JSONL

Exemplo de saída

Se o Qwen for bem selecionado, você pode criar um perfil de pesquisa como o seguinte.

{
  "search_intent": "Godot 4 2D player movement tutorial",
  "important_literals": [
    "Input.is_action_pressed",
    "Vector2.ZERO",
    "AnimatedSprite2D",
    "position.clamp",
    "screen_size"
  ],
  "likely_doc_topics": [
    "first 2D game",
    "coding the player",
    "player movement",
    "clamp position to screen",
    "play and stop AnimatedSprite2D"
  ],
  "migration_signals": []
}

Vantagens

  • Pode reduzir a codificação rígida.
  • Pode resumir a intenção em chunks complexos.
  • Pode tornar as palavras‑chave legíveis para humanos.
  • Pode delegar a inferência de contexto do Godot ao Qwen.

Desvantagens

  • É lento.
  • Tem custo.
  • Pode haver alucinações já na fase de busca.
  • Pode gerar pistas inexistentes para o Qwen.
  • Pode criar uma intenção de migração incorreta e arrastar um mapeamento de API errado.

Exemplo de falha

No chunk de referência há AnimatedSprite2D, mas se o Qwen resumir incorretamente como abaixo, isso é perigoso.

{
  "migration_intent": "Godot 3 to Godot 4 migration",
  "important_terms": ["AnimatedSprite", "AnimatedSprite2D"]
}

Neste caso, trata‑se de um código Godot 4 válido, mas o mapeamento de migração pode ser trazido incorretamente.

Simulação de PoC

Passe o chunk de referência ao Qwen primeiro para que ele crie um perfil de pesquisa.

Entrada:

SOURCE_CODE:
func _process(delta):
  ...
  $AnimatedSprite2D.play()
  position = position.clamp(Vector2.ZERO, screen_size)

Perfil de sucesso:

{
  "search_intent": "Godot 4 2D player movement tutorial",
  "important_literals": [
    "Input.is_action_pressed",
    "Vector2.ZERO",
    "AnimatedSprite2D",
    "position.clamp",
    "screen_size"
  ],
  "migration_signals": []
}

Se você pesquisar por este perfil, os candidatos esperados são os seguintes.

docs_chunks:
  first_2d_game / coding_the_player
  first_2d_game / clamp and screen bounds section

api_mapping:
  Quase inexistente ou baixo

label_prototypes:
  Quase inexistente ou baixo

Perfil de falha:

{
  "search_intent": "Godot 3 to Godot 4 migration",
  "important_literals": [
    "AnimatedSprite",
    "AnimatedSprite2D",
    "KinematicBody2D"
  ],
  "migration_signals": ["AnimatedSprite to AnimatedSprite2D"]
}

Por que o perfil de falha é perigoso:

SOURCE_CODE não contém AnimatedSprite.  
SOURCE_CODE não contém KinematicBody2D.  
SOURCE_CODE pode ser um código válido do Godot 4.  
No entanto, quando o Qwen cria uma intenção de migração, ele pode pesquisar incorretamente api_mapping/label_prototypes.

Logs a serem verificados no PoC

Como o método de perfil de consulta do Qwen envolve a intervenção do LLM antes da pesquisa, os seguintes logs são obrigatórios.

1. raw chunkText  
2. JSON de perfil de consulta criado por Qwen  
3. Se os important_literals no perfil realmente existem no SOURCE_CODE  
4. Se os migration_signals no perfil realmente existem no SOURCE_CODE  
5. Candidatos pesquisados pelo perfil  
6. Diferença em relação aos candidatos pesquisados com raw chunkText

Conclusão visível:

Se o perfil do Qwen aparecer bem, a consulta fica mais agradável de ver.  
Mas se criar pistas inexistentes, os resultados são contaminados na etapa antes da busca.  
Portanto, é mais seguro usar o Qwen como validador após a busca do que antes.

Julgamento

Pesquisa de qualidade é boa para experimentos  
Para o primeiro motor de busca em produção, seja cauteloso

A avaliação da nota original indica que é mais seguro usar o Qwen como validador de evidência direta após a pesquisa, em vez de utilizá‑lo como gerador de consultas antes da pesquisa.