idea_world_labDEV JOURNAL
Sonntag, 28. Juni 2026

Alternative D: BM25 + Einbettung parallel

Ablauf

raw chunkText
  -> BM25 top 50
  -> embedding top 50
  -> Kandidaten-Union
  -> Punktzahl mischen
  -> JSONL zurückgeben
  -> Qwen Direct-Evidence-Überprüfung

Rollenverteilung

Was BM25 erfasst:

Input.is_action_pressed
AnimatedSprite2D
position.clamp
screen_size
Vector2.ZERO

Was das Embedding erfasst:

player movement
2D movement tutorial
moving inside screen
animation based on movement

Qwen Direct‑Evidence‑Validator macht folgendes:

Überprüfen, ob im abgerufenen JSONL ein direkter String‑/Musterbeweis für das aktuelle Chunk vorhanden ist  
Nicht relevante JSONL verwerfen

Vorteile

  • Die Schwächen der Zeichenkettensuche und der semantischen Suche ergänzen sich gegenseitig.
  • Die Qualität der ersten Kandidaten verbessert sich sogar ohne Qwen.
  • Die Bedingung für rohe Chunks bleibt erhalten.
  • Der Start ist möglich, ohne einen hartkodierten Godot‑API‑Signal‑Extraktor zu verwenden.

Nachteile

  • Eine Abstimmung der Score‑Kombination ist erforderlich.
  • Der BM25‑Score und der Vektor‑Score haben unterschiedliche Skalen.
  • Ohne Reranker kann das Ranking instabil werden.
  • Falschpositive können nicht vollständig verhindert werden.

Erwartete Ergebnisse im Referenz‑Chunk

Obere Kandidaten:

first_2d_game / coding_the_player
same page / clamp section

Kandidaten, die reduziert oder aus der Validierung verworfen werden müssen:

first_3d_game / player_movement_code
unrelated api_mapping
unrelated label_prototypes

PoC Simulation

Den Basis‑Chunk gleichzeitig über zwei Pfade suchen.

raw chunkText
  -> BM25 top 50
  -> embedding top 50
  -> Kandidaten-Union
  -> Duplikate zusammenführen
  -> Qwen direct-evidence Verifizierung

BM25‑Top‑Beispiele:

Kandidat Grund, warum BM25 ihn erfasst hat
first_2d_game / coding_the_player Input.is_action_pressed, move_left, move_right, AnimatedSprite2D.play/stop direkte Übereinstimmung
first_2d_game / clamp section position.clamp, Vector2.ZERO, screen_size direkte Übereinstimmung
first_3d_game / player_movement_code Eingabeverarbeitung und normalisierte Bewegungs‑Token überschneiden sich

Embedding‑Top‑Beispiele:

Kandidat Grund, warum das Embedding ihn erfasst hat
first_2d_game / coding_the_player 2D‑Spielerbewegung und Animation haben eine nahe Bedeutung
first_2d_game / clamp explanation Die Bedeutung, den Spieler innerhalb des Bildschirms zu begrenzen, ist nahe
first_3d_game / player_movement_code Die Bedeutung von Spielerbewegung ist nahe
animation docs Im „moving“-Zustand bedeutet das Abspielen/Stoppen von Animationen etwas Ähnliches

Nach dem Kandidaten‑Union sieht es etwa so aus.

candidate A:
  source: BM25 + embedding
  evidence: Input.is_action_pressed, AnimatedSprite2D.play/stop
  expected: accept

candidate B:
  source: BM25 + embedding
  evidence: position.clamp, Vector2.ZERO, screen_size
  expected: accept

candidate C:
  source: BM25 + embedding
  evidence: Input.is_action_pressed, move_left, move_right, normalized
  missing: AnimatedSprite2D, Vector2, screen_size
  expected: lower or reject

candidate D:
  source: embedding only
  evidence: semantic movement/animation similarity
  direct string match: weak
  expected: validator decision needed

Wenn Sie an den Qwen Direct‑Evidence‑Validator übergeben, wird nach den folgenden Kriterien beurteilt.

Stimmt die tatsächliche Zeichenkette/API‑Aufruf im **SOURCE_CODE** mit den Feldern **source_api**, **source_pattern**, **match_terms**, **required_when_seen_in_code**, **before_code** in der JSONL oder mit **content/code_blocks/api_symbols** in **docs_chunks** überein?

Logs, die im PoC überprüft werden

Da diese Alternative den Union‑Prozess wichtig macht, muss Folgendes gezeigt werden.

1. BM25 Kandidatenliste  
2. Embedding Kandidatenliste  
3. Ergebnis nach Duplikatentfernung nach Union  
4. Ob jeder Kandidat von BM25 oder von Embedding stammt  
5. Direkte Zeichenkettenbegründungsliste  
6. Beispiel/Nein des Qwen‑Validators

Sichtbare Schlussfolgerung:

BM25 stellt die direkte API‑Grundlage bereit,  
Embedding ergänzt die erklärenden Kandidaten.  
Da jedoch allein durch die Union noch Fehlalarme entstehen, ist ein Validator erforderlich.

Bewertung

Realistische Zwischenstufe  
Empfohlene Mindestgrenze für die Praxis

Wenn es belastend ist, den Reranker sofort anzuhängen, kann man zunächst diese Alternative vergleichen.