Detaillierter Projektplan mit Teilplänen und Fragenliste

- docs/projektplan.md neu gegliedert: Arbeitsweise mit Freigaben, Zuständigkeiten,
  Meilensteine mit Abnahmekriterien, Arbeitspakete mit Status, Zeitplan, Entscheidungen
- docs/plaene/: Teilplan je Arbeitspaket (detailliert für AP0, AP1, AP2, AP3, AP5, AP11,
  AP13; grob für AP4, AP6–AP10, AP12, Optionen) und Vorlage
- docs/fragen.md: alle offenen Fragen mit Status, Empfänger und betroffenem Teilplan
- CLAUDE.md: Umsetzung nur nach freigegebenem Teilplan

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Christoph
2026-10-05 08:47:05 +02:00
co-authored by Claude Opus 5.5
parent 6aac8b0a16
commit 2143f4e955
19 changed files with 1653 additions and 212 deletions
+67
View File
@@ -0,0 +1,67 @@
# AP2 – Meilisearch-Test
| | |
|---|---|
| Status | detailliert, wartet auf Freigabe |
| Aufwand | 0,25 PW |
| Zeitraum | Teil 1 KW 41, Teil 2 KW 46 |
| Meilenstein | M2 |
| Freigabe | offen |
## Ziel
Belegen, ob Meilisearch v1.54.2 Vektoren mit 4.096 Dimensionen schnell genug durchsucht. Danach
steht fest, wie viel RAM der Server braucht und ob die binäre Quantisierung nötig ist. Teil 2
misst die Trefferqualität mit echten Embeddings.
## Umfang
**Enthalten:**
- Teil 1: Leistung mit erzeugten Zufallsvektoren
- Teil 2: Trefferquote mit echten Vektoren und Referenzfällen
**Nicht enthalten:** Aufbau der echten Indexierung (AP4).
## Voraussetzungen
- Teil 1: keine
- Teil 2: Staging, Pilotdaten, Referenzfälle (A20), KI-API (AP3)
## Entscheidungen
| Nr. | Frage | Vorschlag | Entschieden |
|---|---|---|---|
| E2.1 | Grenzwerte für „bestanden“ | Bei 50.000 Abschnitten mit Filter auf Vertrag: Antwortzeit p95 < 300 ms, Indexierung < 30 min, RAM von Meilisearch < 8 GB | offen |
## Schritte
**Teil 1 (KW 41):**
- [ ] **2.1** Messskript (`tools/meili-test/`, nur Entwicklung):
- erzeugt N Abschnitte mit normalisierten Zufallsvektoren (4.096 Dimensionen)
- mit Filterfeldern: Mandant, Land, Projekt, Abschnitt, Vertrag, Art
- mit kurzen Texten
- [ ] **2.2** Messung ohne Quantisierung für N = 10.000 und 50.000:
- Indexierungszeit, Plattenbedarf, RAM
- Antwortzeit p50/p95 über je 100 Anfragen für reine Vektorsuche, hybride Suche, hybride
Suche mit Filter auf Vertrag bzw. Projekt
- [ ] **2.3** Dieselbe Messung mit `binaryQuantized` in einem eigenen Index
- [ ] **2.4** Bericht `docs/tests/meilisearch-teil1.md` → Ergebnis: Empfehlung zu RAM für die
Server-Anforderungen und vorläufig zur Quantisierung; bei Nichtbestehen Plan B (Qdrant) bewerten
**Teil 2 (KW 46):**
- [ ] **2.5** Messskript für Staging. Es gibt nur Kennzahlen aus, keine Inhalte:
- Recall@10 und Recall@40 der richtigen Fundstelle
- jeweils vor und nach dem Reranker
- mit und ohne Quantisierung
- [ ] **2.6** Du führst es auf Staging aus. Bericht `docs/tests/meilisearch-teil2.md` →
Ergebnis: Entscheidung zur Quantisierung und Kandidatenzahl für AP4
## Abnahmekriterien
- Beide Berichte liegen vor und enthalten eine Empfehlung.
- Die Server-Anforderungen sind bei Bedarf angepasst.
## Risiken
- Zufallsvektoren sagen nichts über die Trefferqualität. Dafür gibt es Teil 2.
- Große JSON-Mengen beim Indexieren: in Stapeln senden.