KI-Spam-Erkennung war außerordentlich erfolgreich und hat vielen unserer Communities zum Erfolg verholfen.
In diesem Beitrag möchte ich Details zu unserem laufenden Experiment teilen, falls es für andere Communities hilfreich ist.
Ich beabsichtige, diesen Beitrag im Laufe des Experiments auf dem neuesten Stand zu halten und einige Informationen über die Art von Problemen preiszugeben, die er erkennen kann.
Seien Sie sich jedoch bewusst: Dies ist ein sich entwickelndes System, noch kein Endprodukt.
Warum KI-Moderation?
Ein wichtiger Ansatz, den wir bei der KI-Integration in Discourse verfolgen, ist, dass sie menschliche Moderatoren unterstützen und nicht ersetzen soll. Das Versprechen der KI-Moderation ist, dass sie Moderatoren signalisieren kann, dass „etwas nicht stimmt“, und Empfehlungen für Maßnahmen gibt, die sie ergreifen sollten. Die Entscheidungsbefugnis sollte vollständig bei den menschlichen Moderatoren liegen.
Warum Chat als Modalität für dieses Experiment?
Bei der Durchführung meines Experiments habe ich mich entschieden, Chat als Modalität für Benachrichtigungen zu verwenden. Dies ermöglicht einen dedizierten Kanal für das Experiment, der die allgemeine Moderation im Forum nicht beeinträchtigt.
Da die Erstellung und Verfeinerung von Prompts noch in der Entwicklung ist, erschien es mir nicht als guter Ansatz, das restliche Moderationsteam im Meta zu belästigen.
Wenn man Menschen hochgradig unfertige KI-Projekte gibt, kann man sehr leicht jegliches Vertrauen und zukünftige Unterstützung verlieren.
Was ist mit Batch-Tests?
Eine Einschränkung unseres aktuellen Automatisierungssystems ist, dass Sie Änderungen derzeit nicht im Stapel testen können. Das bedeutet, dass es eine lange Verzögerung gibt, bis Sie herausfinden, wie hilfreich Änderungen an KI-Prompts sind.
Dies ist besonders problematisch, wenn Sie tagsüber nur eine Handvoll Probleme im Forum sehen. Die Reaktionszeit ist zu langsam und es kann Monate dauern, einen Prompt zu verfeinern.
Ich bin mir dieser Einschränkung sehr bewusst und hoffe, diesen Abschnitt in den nächsten Wochen aus dem Beitrag löschen zu können, da wir ein System dafür haben.
Wie ist das konfiguriert?
Mein aktuelles Experiment baut auf 3 Funktionen auf:
- Automatisierung - KI-Persona-Antwortgeber
- Discourse AI - KI-Persona
- Discourse AI - Benutzerdefinierte Tools
Unsere Antwortautomatisierung
Das Bemerkenswerteste am Antwortgeber ist, dass er still ist, d. h. er wird weder flüstern noch auf dem von ihm getaggten Thema posten.
Unsere Persona-Moderation
Das Bemerkenswerteste hier ist das erzwungene Tool, das bedeutet, dass jeder Beitrag mit dem benutzerdefinierten Tool „Judge Post“ bewertet wird.
Unser aktueller System-Prompt lautet: (wird im Laufe der Zeit aktualisiert)
System-Prompt
Sie sind ein KI-Moderator für meta.discourse.org, das offizielle Diskussionsforum von Discourse. Ihre Aufgabe ist es, im Einklang mit unseren Community-Richtlinien einen „sauberen, gut beleuchteten Ort für zivilisierte öffentliche Diskussionen“ aufrechtzuerhalten.
MODERATIONS-PHILOSOPHIE:
- Betrachten Sie dieses Forum als eine gemeinsame Gemeinschaftsressource, wie einen öffentlichen Park.
- Nutzen Sie Richtlinien zur Unterstützung menschlicher Urteilsfindung, nicht als starre Regeln.
- Konzentrieren Sie sich auf die Verbesserung von Diskussionen, nicht nur auf die Durchsetzung von Regeln.
- Balance zwischen Moderation und Ermöglichung.
INHALTSBEWERTUNGS-RAHMEN:
-
VERBESSERE DIE DISKUSSION
- Bewerten Sie, ob Beiträge einen Mehrwert für das Gespräch bieten.
- Erkennen Sie Beiträge, die Respekt für Themen und Teilnehmer zeigen.
- Unterstützen Sie die Erkundung bestehender Diskussionen, bevor Sie neue beginnen.
-
DISAGREEMENT-STANDARDS
- Unterscheiden Sie zwischen der Kritik von Ideen (akzeptabel) und der Kritik von Personen (inakzeptabel).
- Kennzeichnen Sie Fälle von: Beschimpfungen, Ad-hominem-Angriffen, Tonfall-Reaktionen, vorschnellen Widersprüchen.
- Bewerten Sie, ob Gegenargumente begründet sind und die Konversation verbessern.
-
TEILNAHMEQUALITÄT
- Priorisieren Sie Diskussionen, die das Forum zu einem interessanten Ort machen.
- Berücksichtigen Sie Community-Signale (Likes, Flags, Antworten) bei der Bewertung.
- Unterstützen Sie Inhalte, die die Community „besser hinterlassen, als wir sie vorgefunden haben“.
-
PROBLEMIDENTIFIZIERUNG
- Konzentrieren Sie sich auf die Kennzeichnung von schlechtem Verhalten, anstatt sich damit auseinanderzusetzen.
- Erkennen Sie, wann Flags Maßnahmen auslösen sollten (automatisch oder durch menschliche Moderatoren).
- Denken Sie daran, dass sowohl Moderatoren als auch Benutzer Verantwortung für das Forum tragen.
-
ZIVILITÄTS-DURCHSETZUNG
- Identifizieren Sie potenziell beleidigende, missbräuchliche oder hasserfüllte Sprache.
- Kennzeichnen Sie obszöne oder sexuell explizite Inhalte.
- Achten Sie auf Belästigung, Identitätsdiebstahl oder die Offenlegung privater Informationen.
- Verhindern Sie Spam oder Forum-Vandalismus.
-
ORGANISATIONS-PFLEGE
- Beachten Sie Themen, die in falschen Kategorien gepostet wurden.
- Identifizieren Sie Cross-Posting über mehrere Themen hinweg.
- Kennzeichnen Sie Antworten ohne Inhalt und Themenabweichungen.
- Entmutigen Sie Beitrags-Signaturen.
-
INHALTS-EIGENTUM
- Kennzeichnen Sie die unbefugte Veröffentlichung von digitalen Inhalten anderer.
- Identifizieren Sie potenzielle Verstöße gegen das Urheberrecht.
Bei der Bewertung von Inhalten berücksichtigen Sie Kontext, Benutzerhistorie und Forennormen. Ihr Ziel ist es, zu leiten statt zu bestrafen, zu erziehen statt durchzusetzen, aber konsistente Standards aufrechtzuerhalten, die die Qualität der Diskussion wahren.
Beurteilen Sie ALLE Beiträge. Wenn ein Beitrag keine Moderation erfordert, verwenden Sie die Priorität „ignorieren“.
Unser benutzerdefiniertes Tool „Judge Post“
Das Skript, das es antreibt
function invoke(params) {
let post,topic;
if (params.priority !== "ignore") {
// post_id zum Testen
const post_id = context.post_id || 1735240;
post = discourse.getPost(post_id);
topic = post.topic;
let statusEmoji = "";
if (params.priority === "urgent") {
statusEmoji = ":police_car_light:"; // Roter Kreis für dringend
} else if (params.priority === "medium") {
statusEmoji = ":warning:"; // Oranger Kreis für mittel
} else if (params.priority === "low") {
statusEmoji = ":writing_hand:"; // Grüner Kreis für niedrig
}
const message = `${statusEmoji} [${topic.title} - ${post.username}](${post.post_url}): ${params.message}`;
discourse.createChatMessage({ channel_name: "AI Moderation", username: "AI-moderation-bot", message: message});
}
chain.setCustomRaw("Post wurde klassifiziert");
return "done";
}
function details() {
return "Judge Post";
}
Das Skript verwendet einige fortgeschrittene Techniken:
chain.setCustomRawdies weist die Persona an, die LLM-Kette zu stoppen und den Aufruf an das Tool als letzten Aufruf zu machen, wodurch Tokens gespart werden.discourse.createChatMessageeine neue API, die von Tools verwendet werden kann, um Chat-Nachrichten zu erstellen.discourse.getPost, das verwendet wird, um Post-Informationen abzurufen.
Angesichts dessen kann ich das Tool mit der Test-Schaltfläche testen und bestätigen, dass es gut funktioniert:
Welches Modell verwenden Sie?
Im Moment verwenden wir Sonnet 3.7, ein Frontier-Modell. Wir planen jedoch, auf Gemini Flash umzusteigen, sobald ich einige Verbesserungen an Discourse Automation vorgenommen habe, insbesondere die Möglichkeit, es anzuweisen, nur öffentliche Inhalte zu scannen und sichere Kategorien zu vermeiden.
Ich beantworte gerne Fragen hier und werde weiterhin Updates geben, während das Experiment läuft und wir weitere Discourse Automation-Funktionen einführen.






