Eine Fehlannahme, die viele von uns über KI haben, ist, dass unsere Erwartungen wie folgt aussehen:
graph TD
Question -->|"Expensive AI Magic"| Answer
Answer["The perfect answer"]
Es kann äußerst frustrierend sein, viel Geld für ein Spitzenmodell auszugeben und dennoch nur mittelmäßige Ergebnisse zu erzielen.
In diesem Thema möchte ich einige Zeit damit verbringen, die Erwartungen anzupassen und auf verschiedene Funktionen hinzuweisen, die Discourse AI bietet, um bessere Antworten zu erhalten.
Wie Discourse AI tatsächlich funktioniert
Die Realität ist nuancierter. Wenn Sie eine Frage stellen, passiert Folgendes:
graph TD
Question --> Consolidation[Question Consolidation]
Consolidation --> RAG[RAG System]
RAG --> ToolSelection[Tool Selection]
ToolSelection --> Search[Search]
ToolSelection --> Categories[Categories]
ToolSelection --> Tags[Tags]
Search --> Context[Gather Context]
Categories --> Context
Tags --> Context
Context --> Answer[Generate Answer]
- Ihre Frage wird zunächst konsolidiert und verstanden.
- Unser RAG-System durchsucht verfügbares Wissen (optional).
- Basierend auf den Ergebnissen entscheidet es, welche Werkzeuge verwendet werden sollen (optional).
- Die Werkzeuge sammeln spezifische Informationen.
- Alles wird kombiniert, um eine Antwort zu generieren.
Kontext ist alles
Bei der Verwendung von KI-Systemen zur Beantwortung von Fragen ist der Kontext entscheidend.
Große Sprachmodelle (LLMs) wie GPT-4 oder Claude 3.5 Sonnet werden auf einer riesigen Menge öffentlicher Daten trainiert. Es gibt jedoch zwei Einschränkungen, die sie für die Beantwortung domänenspezifischer Fragen weniger geeignet machen:
- LLMs werden auf öffentlichen Daten trainiert.
- LLMs haben ein Trainingsstichtag, was bedeutet, dass öffentliche Daten, die nur wenige Monate alt sind, wahrscheinlich im Datensatz fehlen.
Im Falle eines geschlossenen Forums ist nichts im Datensatz enthalten, was den Kontext noch wichtiger macht.
Kontext sind Informationen, die wir einem LLM vor der Beantwortung einer Frage zuführen, um ihm bei der korrekten Beantwortung zu helfen.
Wie erhält man Kontext?
Kontext kann auf verschiedene Weise bereitgestellt werden:
- Automatisch mit RAG (Retrieval-Augmented Generation) - Wenn Sie Dokumente in eine Persona hochladen, können wir das Dokument nach Antworten durchsuchen, bevor wir antworten. Wir konsolidieren zunächst Ihre Frage und durchsuchen dann den Inhalt mithilfe der semantischen Suche. Dies hilft bei der Auswahl der zu verwendenden Werkzeuge.
- Automatisch mit Werkzeugen - LLMs können Werkzeuge (wie Suche oder Lesen von Themen) verwenden, um zusätzliche Informationen basierend auf RAG-Anleitungen zu finden.
- Manuell - Sie können eine große Textmenge einfügen und dann Fragen zu diesem Text an ein LLM stellen.
Werkzeugbasierter Kontext
Der Discourse Forum Helper verwendet Werkzeuge für die Suche, das Lesen von Themen und Beiträgen sowie das Auflisten von Kategorien oder Tags.
Wenn Sie den Forum Helper eine Frage stellen, verwendet das Modell zunächst RAG, um zu verstehen, was relevant sein könnte, und entscheidet dann, welche Werkzeuge zur besseren Beantwortung beitragen.
In diesem Beispiel sehen Sie, dass ich den Forum Helper gefragt habe, was ich so treibe. Dieser entschied sich daraufhin, nach Inhalten von Sam zu suchen, die in der letzten Woche gepostet wurden, und erhielt 21 Ergebnisse.
Um zu verstehen, welchen neuen Kontext das Modell aus dieser Suche erhalten hat, können Sie die Einstellung aktivieren: AI bot debugging allowed groups
Dadurch wird am Ende jedes Beitrags eine Debugging-Schaltfläche hinzugefügt. Wenn Sie darauf klicken, können Sie den genauen Kontext sehen, der dem LLM zur Verfügung gestellt wurde.
Das Discourse-Suchwerkzeug ist sehr reichhaltig an Optionen:
Dies ist sowohl ein Segen als auch ein Fluch. LLMs treffen oft suboptimale Entscheidungen, wenn zu viele Optionen zur Verfügung stehen. Wir haben versucht, die Anzahl der Optionen nicht … zu hoch … zu halten, aber je nach Ihren Bedürfnissen möchten Sie vielleicht ein benutzerdefiniertes Werkzeug für die Suche verwenden.
Was mache ich, wenn ich nicht die erwarteten Ergebnisse erhalte?
Da Kontext alles ist, sollten Sie als Erstes Folgendes überprüfen:
- Hat das RAG-System relevante Inhalte gefunden, um die Werkzeuge zu steuern?
- Hat das LLM die richtigen Werkzeuge basierend auf dieser Anleitung verwendet?
- Haben die Werkzeuge die erwarteten Ergebnisse gefunden?
Nehmen wir zum Beispiel dieses Versagen:
Dies ist ein klassisches Versagen sowohl der RAG-Anleitung als auch der Werkzeugnutzung.
Das LLM suchte nach:
bug critical urgent broken order:latest status:open status:public
Die Schlüsselwortkomponente dieser Suche ist ziemlich schlecht und liefert nur ein Ergebnis. Die semantische Suche hat dann große Schwierigkeiten, die Ergebnisse zu finden, da sie jedes Mal, wenn jemand laut schreit, es als dringend behandelt.
Was wahrscheinlich zu einem besseren Ergebnis führen würde, ist:
Finden Sie alle offenen Bugs, sortiert nach op_likes, die in den letzten 2 Wochen gemeldet wurden. Dieser spezielle Informationsausschnitt ist jedoch nicht für die Suchfunktion verfügbar, wie sie ist. Er würde ein benutzerdefiniertes Werkzeug erfordern.
Angesichts der großen Varianz und Nuancen hier ist das Erste, was Sie tun sollten, bestehende Interaktionen der Benutzer mit Ihren Bots zu überwachen und so viele Fehler wie möglich zu sammeln.
Was mache ich mit fehlgeschlagenen Fällen?
Wenn Sie eine fehlgeschlagene Interaktion haben, haben Sie mehrere Möglichkeiten:
- Sie können den System-Prompt verbessern, um den Bot besser anzuleiten.
- Sie können Informationen im Forum dokumentieren, um dem Bot bessere Suchergebnisse zu liefern – Sie können Ihre Dokumentationskategorie priorisieren, damit sie leichter gefunden wird.
- Sie können ein Dokument mit mehr Kontext hochladen. Wir teilen das Dokument in Fragmente auf und stellen die nächstgelegenen Fragmente zur konsolidierten Frage bereit, um den Bot zu verankern.
- Wenn Ihre Persona hauptsächlich auf Suche ausgerichtet ist, erzwingen Sie die Verwendung des Suchwerkzeugs.
- Sie können benutzerdefinierte Werkzeuge entwickeln, um Ihre Bedürfnisse besser zu erfüllen.
- Sie können die Menge des an das LLM gelieferten Kontexts erhöhen (mehr Suchergebnisse usw.).
KI kann unscharf sein, die Lösung eines Problems kann ein anderes schaffen
Seien Sie sich bewusst, dass die Erstellung des “perfekten” KI-Fragen-Antwort-Bots eine Reise ist. Die Schaffung von überwachten Feedbackschleifen und die regelmäßige Bewertung seiner Leistung ermöglichen es Ihnen, ihn im Laufe der Zeit zu verbessern.
Seien Sie sich bewusst, wie die Technologie aufgebaut ist. Wenn Sie Zugriff auf den Kontext von 10.000 Beiträgen benötigen, um eine Frage zu beantworten, kann es mit den aktuellen Kontextfenstern unmöglich sein, die gesamte Liste der Beiträge für die Beantwortung einzuspeisen.
Der Schlüssel liegt darin zu verstehen, dass bessere Ergebnisse ein iterativer Prozess sind.


