Article

GitHubs interner KI-Analytics-Agent: Wie Qubot funktioniert

AI Copilot Analytics GitHub LLM Agent

Große Daten- und Analytics-Organisationen kämpfen oft damit, den Zugang zu Daten und Insights wirklich self-serve zu machen. GitHub hat dieses Problem mit Qubot gelöst – einem internen KI-Agenten, der auf GitHub Copilot basiert.

Was ist Qubot?

Qubot ermöglicht jedem GitHub-Mitarbeiter (“Hubber”), Fragen zu jedem Datenmodell im GitHub Data Warehouse in natürlicher Sprache zu stellen und innerhalb von Sekunden eine Antwort zu erhalten. Es ist kein Reporting-Tool oder Dashboard-Ersatz, sondern für explorative Fragen gedacht wie “Welche Kohorte hat die höchste Retention?” oder “Welches Produkt hat diese Metrik am stärksten beeinflusst?”

Die Architektur

Qubot besteht aus drei Hauptkomponenten:

  1. User Interface: Verfügbar über Slack, VS Code und Copilot CLI. Bei einer Frage im Slack-Channel wird eine Qubot-Instanz als Copilot Cloud Agent gespawnt. Ergebnisse werden als Markdown-Report in einem Pull Request gespeichert.

  2. Context Layer: Föderiertes Wissen basierend auf Data-Maturity (Bronze: Telemetrie-Kontext von Teams, Silver: Query-Beispiele und Filter, Gold: Business-Regeln und Metrik-Definitionen). Der Context wird über den GitHub MCP Server zur Laufzeit geladen.

  3. Query Engine: Verbindung zu Trino und Kusto für die eigentliche Datenabfrage.

Context Agent und Evaluation

Ein Context Agent streamlining den föderierten Context-Beitrag. Teams können über ein Template oder Repository-Referenz Wissen beitragen. Änderungen durchlaufen ein Offline-Eval-Framework, das Accuracy und Latency misst und Regressionen vor dem Deployment abfängt.

Key Takeaways

  • Zero Maintenance Cost: Keine dedizierte Dashboards pro Team nötig
  • Schnelles Onboarding: Teams können schnell auf unbekannte Datasets zugreifen
  • Föderierte Wissensbasis: Context wird von den Teams selbst gepflegt, die die Daten besitzen

Der Ansatz zeigt, wie interne KI-Agenten Unternehmen skalierbar machen können, ohne die Analytics-Teams zu überlasten.

Quelle: GitHub Blog