Airtable Setup: Bereinigungsvorschlag Agent-Feld¶
Schritt-für-Schritt Anleitung¶
1. Neues AI Button Feld erstellen¶
- Öffne die Airtable Base:
appiHEZpBUKiob9CD - Gehe zur Tabelle Messegelände (
tblczW4qZfe06cd6N) - Klicke auf + um ein neues Feld hinzuzufügen
- Wähle AI → AI Button
- Benenne das Feld:
agent: bereinigungsvorschlag
2. Prompt konfigurieren¶
Füge folgenden Prompt ein:
Analysiere die Recherche-Ergebnisse aus dem Feld "agent: detailrecherche zum gelände" und erstelle strukturierte Korrekturvorschläge für dieses Messegelände.
AKTUELLER DATENSATZ:
- Name: {Messegelände}
- Innenfläche: {Fläche innen} m²
- Außenfläche: {Fläche Aussen} m²
- Messegesellschaft: {Messegesellschaft}
RECHERCHE-TEXT:
{agent: detailrecherche zum gelände}
AUFGABE:
Erstelle einen JSON-Block mit Korrekturvorschlägen. Prüfe dabei:
1. NAME: Ist der aktuelle Name korrekt? Enthält er eine Adresse statt des Venue-Namens?
2. INNENFLÄCHE: Stimmt die Innenfläche mit den Recherche-Ergebnissen überein?
3. AUSSENFLÄCHE: Stimmt die Außenfläche mit den Recherche-Ergebnissen überein?
4. IST-HALLE: Ist dieser Eintrag eigentlich eine Halle innerhalb eines anderen Venues?
5. HALLEN: Welche Hallen werden im Recherche-Text genannt, die noch nicht im System sind?
6. MESSEGESELLSCHAFT: Ist der Betreiber korrekt eingetragen?
WICHTIGE REGELN:
- UNTERSCHEIDE zwischen "Teil des offiziellen Namens" (=NICHT Halle) und "Teil eines anderen Venues" (=IST Halle)
- Wenn der Agent-Text sagt "interne ID", "Datensatz-ID", "Firmenbezeichnung" - das sind KEINE Hinweise auf Hallen
- Nur wenn explizit steht "ist eine Halle innerhalb von X" oder "gehört zum Messegelände Y" → is_actually_hall = true
AUSGABEFORMAT (NUR JSON, KEIN TEXT DRUMHERUM):
{
"summary": "Kurze Zusammenfassung der Änderungen (1-2 Sätze)",
"overall_confidence": "high|medium|low",
"needs_manual_review": true|false,
"name_correction": {
"needed": true|false,
"old_value": "aktueller Name oder null",
"new_value": "korrekter Name oder null",
"reason": "Begründung oder null",
"confidence": "high|medium|low"
},
"area_indoor": {
"needed": true|false,
"old_value": 0,
"new_value": 100000,
"reason": "Quelle/Begründung oder null",
"confidence": "high|medium|low"
},
"area_outdoor": {
"needed": true|false,
"old_value": 0,
"new_value": 50000,
"reason": "Quelle/Begründung oder null",
"confidence": "high|medium|low"
},
"is_actually_hall": {
"detected": true|false,
"parent_venue": "Name des übergeordneten Venues oder null",
"reason": "Begründung oder null",
"confidence": "high|medium|low"
},
"missing_halls": [
{
"name": "Halle 1",
"size_qm": 10000,
"source": "Quelle",
"confidence": "high|medium|low"
}
],
"company_correction": {
"needed": true|false,
"old_value": "aktueller Name oder null",
"new_value": "korrekter Name oder null",
"reason": "Begründung oder null",
"confidence": "high|medium|low"
},
"notes": "Zusätzliche Hinweise für manuelle Prüfung oder null"
}
3. Feldeinstellungen¶
- Model: Claude (empfohlen) oder GPT-4
- Button Label: "Bereinigungsvorschlag generieren"
4. Agent für alle Datensätze ausführen¶
Option A: Manuell (einzeln) 1. Gehe zu jedem Messegelände-Record 2. Klicke auf den AI Button
Option B: Bulk-Ausführung (alle) 1. Gehe in die Grid-Ansicht 2. Klicke auf das Feld "agent: bereinigungsvorschlag" im Header 3. Wähle "Run for all records" (oder "Für alle Datensätze ausführen") 4. Warte auf Completion (kann 30-60 Minuten dauern bei 212 Records)
5. Ergebnisse anwenden¶
Nach der Agent-Ausführung das Python-Skript starten:
# Erst Dry-Run (nur Report)
python3 /tmp/apply_cleanup_suggestions.py --dry-run
# Report prüfen
cat /tmp/cleanup_agent_report.md
# Dann Änderungen anwenden
python3 /tmp/apply_cleanup_suggestions.py --apply
Alternativer Workflow: Direkt in Claude Code¶
Statt das Airtable Agent-Feld zu nutzen, kann auch direkt in Claude Code analysiert werden:
- Alle Messegelände mit Agent-Recherche laden
- Pro Messegelände den Claude-Prompt ausführen
- JSON-Ergebnis parsen und Änderungen anwenden
Dieser Ansatz ist flexibler, erfordert aber mehr API-Calls.
Fehlerbehebung¶
Problem: JSON wird nicht korrekt geparst¶
Lösung: Der Agent-Output enthält manchmal Markdown-Formatierung. Das Skript versucht JSON aus Codeblocks zu extrahieren. Bei Problemen den Raw-Output in Airtable prüfen.
Problem: Zu viele "needs_manual_review"¶
Lösung: Der Prompt könnte zu streng sein. Die Konfidenz-Schwelle im Prompt anpassen oder im Skript medium statt high akzeptieren.
Problem: Rate Limiting¶
Lösung: Das Skript hat bereits 0.25s Delay. Bei Problemen auf 0.5s erhöhen oder Batch-Size reduzieren.