Proactive Chat
Verwende dieses Skill, wenn der Benutzer möchte, dass der Agent absichtlich Gespräche initiiert, anstatt passiv auf Eingaben zu warten.
Was dieses Skill ist
Dies ist eine Skill-Level-Implementierung, keine native Produktunterstützung.
Das bedeutet:
- Es kann bereits eine nützliche aktive Lernschleife erzeugen.
- Es hängt jedoch immer noch davon ab, dass der Host-Agent Folgendes hat:
- persistenten Speicher
- abteilungsübergreifenden Rückgriff
- einen Scheduler / Cron / Heartbeat-Primitiv
- Nachrichtenzustellung zurück an den Benutzer
- In Hermes verwende
cronjob+memory+session_search. - In OpenClaw verwende das nächste Äquivalent: Heartbeat / Cron / geplante Aufgabe / autonome Schleife.
Laufzeit-Helfer
Dieses Skill enthält ein Helfer-Skript:
scripts/proactive_runtime.py
Verwende es, um den Planungsablauf deterministisch zu gestalten, anstatt bei jedem Durchlauf JSON von Hand zu erfinden.
Empfohlener Hermes-Ablauf:
- Initialisiere oder aktualisiere die Zustandsdatei mit
proactive_runtime.py - Rendere den Cron-Prompt aus dieser Zustandsdatei
- Erstelle / aktualisiere / pausiere / führe den Hermes
cronjobaus - Speichere die zurückgegebene
job_idzurück in die Zustandsdatei
Nützliche Unterbefehle:
init-stateshow-stateenable-high-speed-test-modedisable-high-speed-test-moderender-cron-promptrender-job-config
Kernziel
Das Ziel ist nicht, Mini-Artikel zu pushen. Das Ziel ist, Folgendes zu maximieren:
- Antwortrate
- Geschwindigkeit der Gedächtnisansammlung
- Verfeinerung des Benutzermodells
- Qualität der Themen-Winkel-Iteration im Laufe der Zeit
Das Schwungrad ist:
initiieren → Reaktion beobachten → lernen, welche Winkel funktionieren → kompakte Lektionen speichern → beim nächsten Mal besser initiieren
Perspektive zuerst
Perspektive ist wichtiger als Thema.
Ein relevantes Thema kann trotzdem scheitern, wenn der Winkel flach wirkt. Ein starker Winkel kann ein gewöhnliches Thema plötzlich beantwortenswert machen.
Wenn du also den nächsten Eröffner wählst, optimiere in dieser Reihenfolge:
- die richtige Perspektive
- den richtigen Benutzeranker
- das richtige Thema
Gute proaktive Unterhaltung fühlt sich an wie:
- eine neue Linse auf etwas, das den Benutzer bereits interessiert
- eine Spannung, die der Benutzer lösen möchte
- eine Frage, die einfach zu beantworten, aber schwer zu ignorieren ist
Schlechte proaktive Unterhaltung fühlt sich an wie:
- generisches Check-in
- breite, warme Füllmasse
- Artikel-Modus
- Trendjagd ohne persönlichen Haken
Englische Trigger-Befehle
Verwende englische Befehlssätze, damit der Benutzer den Modus explizit steuern kann.
Primäre Befehle:
enable proactive chatdisable proactive chatproactive chat statusshow proactive chat settingsset proactive chat interval to every 4 hoursset proactive chat max length to 80 charactersfocus proactive chat more on memake proactive chat use more fresh web contextenable proactive chat high-speed test modedisable proactive chat high-speed test modetrigger proactive chat now
Natürlichsprachliche Varianten zählen auch, aber behalte den sichtbaren Befehlswortschatz auf Englisch.
Standardeinstellungen
Sofern der Benutzer nichts anderes sagt, verwende:
- Leerlauf-Kontaktintervall: alle 2h
- Chinesisches Nachrichtenlimit: 100 chinesische Zeichen
- Englisches Nachrichtenlimit: 200 Zeichen
- Selbstbezogenen Themengewicht: 0,7
- Externes-Welt-Themengewicht: 0,3
- Link-Budget: max. 1 Link pro proaktiver Nachricht
- Kürzlich-Antwort-Abklingzeit: keine frische proaktive Nachricht senden, wenn der Benutzer in den letzten 2h geantwortet hat
- Themenwiederholungs-Abklingzeit: vermeide es, einen eindeutig ignorierten Winkel zu früh zu wiederholen
- Mutationsbias: erlaube domänenübergreifende Kombinationen, wenn sie die Neugier steigern, ohne willkürlich zu wirken
Hochgeschwindigkeits-Testmodus
Verwende diesen Modus nur zur schnellen Validierung.
Befehle:
enable proactive chat high-speed test modedisable proactive chat high-speed test mode
Verhalten, wenn aktiviert:
- Zeitplan: alle 1m
- Dauerbegrenzung: 10 Minuten gesamt
- Ausführungsbegrenzung: 10 proaktive Sendungen, wenn der Benutzer nie antwortet
- Nach dem Testburst kehre zum normalen Intervall zurück, wenn der Modus deaktiviert wird oder der Job im normalen Modus neu erstellt wird
Dieser Modus dient zum Testen, ob die End-to-End-proaktive Schleife tatsächlich feuert, nicht für den normalen Gebrauch.
Bereichsregeln
Bevorzuge 1:1-Kontexte
Dieser Modus funktioniert am besten in:
- DMs
- privaten Chats
- einem benutzerspezifischen Thread
Sei vorsichtig in:
- gemeinsamen Kanälen
- Gruppenchats
- öffentlichen Räumen
Wenn der aktuelle Raum eindeutig geteilt ist, warne kurz, bevor du aktivierst. Standardmäßig kein Spamming von gemeinsamen Räumen, es sei denn, der Benutzer möchte diesen Raum ausdrücklich verwenden.
Prinzipien des Nachrichtendesigns
1) Optimiere für Antwort, nicht für Applaus
Eine großartige proaktive Nachricht ist einfach zu beantworten und schwer zu ignorieren.
2) Bevorzuge den Benutzer gegenüber der Welt
Es gibt zwei Themenkategorien:
- A. der Benutzer selbst
- B. die externe Welt
Bevorzuge stark A. Selbst wenn du B verwendest, lenke es wann immer möglich zurück zu A:
- den Geschmack des Benutzers
- das Urteil des Benutzers
- die aktuellen Ziele des Benutzers
- die blinden Flecken des Benutzers
- die Identität / das Selbstmodell / die Vorlieben des Benutzers
3) Komprimierung schlägt Vollständigkeit
Schreibe keine Aufsätze. Standardform:
- 1 Beobachtung
- 1 Spannung / Winkel
- 1 Frage
4) Maximal ein Bildschirm
Kurz genug, dass der Benutzer in einem Atemzug antworten kann.
5) Offene Schleife schlägt poliertes Fazit
Schließe das Thema nicht zu sauber ab. Lasse dem Benutzer Raum, zu reagieren.
6) Perspektive schlägt generische Wärme
Schlecht:
- „Wie geht es dir?“
- „Worüber denkst du heute nach?“
Besser:
- ein präziser Winkel, der an die tatsächlichen Interessen, die Geschichte, den Stil oder die aktuelle Spannung des Benutzers gebunden ist
Was zählt als gutes Rohmaterial
Verwende diese Eingaben aggressiv:
- aktueller Sitzungskontext
- persistenter Speicher / Benutzerprofil
- abteilungsübergreifender Rückgriff
- frühere erfolgreiche oder fehlgeschlagene proaktive Themen
- vom Benutzer bereitgestellte soziale Konten
- Archivexporte
- persönliche Links / Websites / Biografien
- frühere Antworten, die Geschmack, Identität oder Reibungspunkte offenbart haben
- frische externe Signale nur, wenn sie die Hakenqualität wesentlich verbessern
Wenn der Benutzer jemals Folgendes bereitgestellt hat:
- einen X/Twitter-Handle
- ein Archiv
- einen Blog
- eine Website
- ein GitHub
- ein anderes öffentliches Korpus
dann ist das eine wertvolle Quelle, um zu lernen, welche Winkel wahrscheinlich funktionieren.
Zustandsmodell
Persistiere, wenn möglich, einen lokalen JSON-Zustand pro Benutzer/Ursprung.
Bevorzuge einen Pfad wie:
$HERMES_HOME/proactive-chat/<platform>-<chat-or-thread>-<user>.json- oder das nächste hostspezifische Äquivalent
Mindestfelder:
{
"enabled": true,
"job_id": "...",
"deliver_target": "origin",
"platform_context": "discord thread ...",
"user_label": "Paul",
"interval": "alle 2h",
"normal_interval": "alle 2h",
"max_chars_zh": 100,
"max_chars_en": 200,
"last_agent_outreach_at": "",
"last_agent_topic": "",
"last_user_reply_at": "",
"current_active_cluster": "",
"successful_angles": [],
"weak_angles": [],
"learned_preferences": [],
"profile_gaps": [],
"test_mode_enabled": false,
"test_mode_interval": "alle 1m",
"test_mode_repeat": 10,
"test_mode_duration_minutes": 10
}
Verwandle dies nicht in eine riesige Logdatei. Halte es kompakt und entscheidungsrelevant.
Aktivierungs-Workflow
Wenn der Benutzer enable proactive chat sagt:
- Kläre den Bereich.
- Standardmäßig die aktuelle DM, der aktuelle Thread oder Ursprung.
- In Hermes bevorzuge
deliver=origin, es sei denn, der Benutzer hat ein anderes Ziel angefordert.
- Erstelle ein schnelles Benutzermodell aus:
- aktuellem Sitzungskontext
- persistentem Speicher / Benutzerprofil
session_search- bekannten Archiven / öffentlichen Links
- frischem Such-/Nachrichten-/Sozialkontext, nur wenn dies die wahrscheinliche Antwortrate verbessert
- Identifiziere Themenprioritäten.
- Selbstentdeckung
- Identität / Geschmack / Anziehung / Abneigung
- Ziele / Engpässe
- unerledigte Fäden aus früheren Gesprächen
- blinde Flecken / Kompromisse / Entscheidungsheuristiken
- Weltthemen, die auf die Linse des Benutzers abgebildet werden
- hybride Mutationswinkel, die mehrere Domänen mischen
- Erstelle oder aktualisiere die Zustandsdatei.
- In Hermes bevorzuge das Laufzeit-Helfer-Skript anstatt JSON von Hand zu bearbeiten.
- Empfohlener Pfad:
$HERMES_HOME/proactive-chat/<platform>-<chat>-<thread>-<user>.json - Verwende
scripts/proactive_runtime.py init-state, wenn die Datei nicht existiert.
- Erstelle oder aktualisiere den geplanten Job.
- In Hermes sollte dies einen tatsächlichen
cronjob(action='create' | 'update', ...)-Aufruf bedeuten. - Der Zeitplan des normalen Modus sollte das
intervalder Zustandsdatei verwenden. - Wenn der Hochgeschwindigkeits-Testmodus aktiviert ist, sollte der Zeitplan
alle 1mmitrepeat=10sein, damit der Burst nur 10 Minuten dauert. - Verwende
scripts/proactive_runtime.py render-cron-prompt, um den eigenständigen Scheduler-Prompt zu erzeugen. - Verwende
scripts/proactive_runtime.py render-job-config, um die Zeitplan-/Wiederholungseinstellungen aus der Zustandsdatei zu lesen.
- In Hermes sollte dies einen tatsächlichen
- Speichere die zurückgegebene
job_idzurück in der Zustandsdatei. - Bestätige kurz mit Intervall, Längenlimit, Ziel, und ob der Testmodus an ist.
Deaktivierungs-Workflow
Wenn der Benutzer disable proactive chat sagt:
- finde den passenden proaktiven Chat-Job
- pausiere ihn standardmäßig, anstatt ihn zu löschen
- aktualisiere die Zustandsdatei auf
enabled=false - wenn kein passender Job existiert, sage, dass er bereits aus ist
- wenn der Benutzer explizit sagt, er solle gelöscht/zurückgesetzt werden, entferne den Job und lösche optional die Zustandsdatei
Workflow für den Hochgeschwindigkeits-Testmodus
Wenn der Benutzer enable proactive chat high-speed test mode sagt:
- lade die aktuelle Zustandsdatei
- setze
test_mode_enabled=true - setze das Intervall auf
alle 1m - setze die Scheduler-Wiederholungsgrenze auf
10 - aktualisiere den Hermes-Cron-Job, sodass er nur für 10 Minuten läuft
- bestätige, dass der Testmodus temporär ist und auf 10 proaktive Sendungen begrenzt ist, wenn der Benutzer nie antwortet
Wenn der Benutzer disable proactive chat high-speed test mode sagt:
- setze
test_mode_enabled=false - stelle das normale Intervall von
normal_intervalwieder her - aktualisiere den Hermes-Cron-Job zurück in den normalen Modus
- bestätige das wiederhergestellte Intervall
Workflow für Status und Einstellungen
Wenn der Benutzer nach dem Status fragt oder Einstellungen ändert:
- zeige die aktuellen aufgelösten Einstellungen kurz an
- aktualisiere die Zustandsdatei
- aktualisiere den geplanten Job, falls nötig
- erstelle keine doppelten Jobs, wenn ein vorhandener aktualisiert oder fortgesetzt werden kann
Interpretiere natürlichsprachliche Änderungen direkt, zum Beispiel:
set proactive chat interval to every 4 hoursset proactive chat max length to 80 charactersfocus proactive chat more on memake proactive chat use more fresh web contextenable proactive chat high-speed test modedisable proactive chat high-speed test mode
Workflow für manuelle Auslösung
Wenn der Benutzer trigger proactive chat now sagt:
- warte nicht auf den Leerlauftimer
- wenn ein geplanter Hermes-Job bereits existiert, bevorzuge
cronjob(action='run', job_id=...), um denselben autonomen Pfad sofort auszulösen - andernfalls erzeuge sofort einen proaktiven Eröffner unter Verwendung derselben Perspektive-zuerst-Regeln
- respektiere dennoch Längenbeschränkungen und den aktuellen Kontext
- bevorzuge einen frischen Winkel, es sei denn, ein aktiver Thread ist eindeutig eine Fortsetzung wert
- aktualisiere die Zustandsdatei, als ob das geplante System natürlich ausgelöst hätte
Dieser Befehl dient dazu, die nächste proaktive Nachricht manuell vorzuziehen. Es sollte sich anfühlen wie „Tu so, als wäre ich für das Intervall schon still gewesen — sende jetzt den Eröffner.“
Während der Modus aktiviert ist: Live-Antwortverhalten
Wenn der Benutzer in einer Sitzung antwortet, in der der proaktive Chat aktiviert ist:
1) Aktualisiere den Zustand sofort
Zeichne mindestens Folgendes auf:
last_user_reply_at- den aktiven Themencluster
- ob dies wie ein starkes, schwaches oder mehrdeutiges Signal aussieht
2) Schließe auf die Interessenstärke
Verwende grobe Heuristiken wie:
- schnellere Antwort = stärkeres Interessensignal
- längere Antwort = stärkeres Interessensignal
- mehr Spezifität = stärkeres Interessensignal
- mehr Nachfragen = stärkeres Interessensignal
Aber überfitte nicht auf eine einzelne Nachricht.
3) Setze das aktuelle Thema fort, bevor du das Thema wechselst
Wenn der Benutzer geantwortet hat, ist das die Erlaubnis, tiefer zu gehen. Springe nicht zu früh zu einem frischen, nicht verwandten Winkel.
4) Speichere dauerhafte Lernerkenntnisse
Verwende das Langzeitgedächtnis nur für stabile Muster, zum Beispiel:
- reagiert gut auf Fragen zum Selbstmodell
- mag mechanismische Erklärungen zu KI x Krypto x Produkt
- mag keine generische motivierende Plauderei
- engagiert sich mehr, wenn ein Weltereignis auf Identität, Anreize oder Geschmack abgebildet wird
Speichere keine rohen Chat-Logs oder temporären Beobachtungen als Langzeitgedächtnis.
Autonomer Runner-Modus
Dieser Abschnitt gilt für geplante / Heartbeat- / Cron-Ausführungen.
Bei jeder Ausführung:
- Lade den Zustand.
- Wenn der Modus deaktiviert ist, tue nichts.
- Wenn
test_mode_enabled=true, respektiere die Hochgeschwindigkeitsbegrenzung: alle 1 Minute, für 10 Minuten gesamt, maximal 10 Sendungen, wenn der Benutzer nie antwortet.
- Respektiere die Kürzlich-Antwort-Abklingzeit.
- Wenn sich ein frischer Eröffner wie Spam anfühlen würde, bleibe still.
- Gib bei Hermes-Cron-Ausführungen eine Antwort zurück, die mit
[SILENT]beginnt, sodass die Zustellung unterdrückt wird.
- Baue den Themenkandidaten-Pool neu auf.
- Benutzerselbst-Themen zuerst
- Weltthemen, die auf den Benutzer abgebildet werden, zweitens
- hybride / Mutationswinkel drittens
- Bewerte Kandidaten.
Bevorzuge Kandidaten mit:
- hoher Relevanz für bekannte Interessen
- einer echten Neugierlücke
- Neuheit im Vergleich zur letzten Kontaktaufnahme
- geringem Antwortwiderstand
- hohem Benutzerlernwert
- starker Perspektivenpassung
- Verwende Aktualität, wenn sie hilft.
- Such-/Nachrichten-/Sozialkontext kann den Haken verbessern
- aber Aktualität ist ein Multiplikator, nicht der Kern
- Schreibe genau eine kurze Nachricht.
- respektiere das Zeichenlimit streng
- standardmäßig ein kurzer Absatz
- höchstens ein Link
- keine Listen, es sei denn, das Format ist ungewöhnlich stark
- keine generischen Check-ins
- bevorzuge Beobachtung + Winkel + Frage
- Aktualisiere den Zustand nach dem Senden.
- Wenn die Qualität nicht stimmt, bleibe still.
Themenstrategie
Prioritätsreihenfolge
- Der Benutzer selbst
- Die Welt, gesehen durch den Benutzer
- Reine Diskussion der externen Welt
Gute selbstbezogene Winke
- Identitätskonstruktion
- Präferenzentdeckung
- ungelöste innere Widersprüche
- Beziehungsgeschmack / Abneigung / Anziehung
- aktuelle Projektengpässe
- Entscheidungsheuristiken
- alte Aussagen, die es wert sind, neu betrachtet zu werden
- versteckte Profillücken, die der Agent noch lernen muss
Gute weltbezogene Winke
Verwende sie nur stark, wenn sie personalisiert werden können. Beispiele:
- „dieser Trend sagt etwas über…“