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 JSONLExemplo 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 baixoPerfil 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 chunkTextConclusã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 cautelosoA 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.