Eine Content-Pipeline, die sich nicht selbst veröffentlichen kann
Arbeit an Website-Texten läuft meist auf Vermutungen, und sie zu automatisieren heißt, einem Modell Schreibrechte auf einer Live-Seite zu geben. Wir haben die andere Variante gebaut: Der Agent liest und schlägt vor, schlichter Code berechnet Vorher und Nachher, und veröffentlicht wird allein durch den einen Klick eines Menschen.
- FeldContent-Operations
- UmfangEigener Aufbau auf quelloffener Software
- StandFertig und abgesichert, Live-Veröffentlichung abgeschaltet
So gebaut, dass der entscheidende Teil nicht schreiben kann
Die Pipeline liest die eigene Suchleistung einer Seite und macht daraus eine sortierte Warteschlange konkreter Textänderungen auf Seitenebene. Sie bearbeitet Text: Fließtext, Seitentitel, Beschreibungen und Zwischenüberschriften. Code, Layout und Konfiguration rührt sie nie an, und sie schreibt keine neuen Artikel.
Sie läuft in zwei getrennten Ebenen. Die eine hält die Belege, die Prüf-Warteschlangen, das Protokoll und den Code, der schreibt. Die andere ist der Agent, der den aktuellen Text liest und einen Vorschlag festhält. Ist eine Änderung freigegeben, veröffentlicht der Server sie über den Kanal der Seite: eine Änderungsanfrage im eigenen Repository der Seite, einen Objektspeicher, die Veröffentlichungsschnittstelle eines Redaktionssystems oder eine klar formulierte Übergabe an die technischen Leute des Kunden, wenn deren Plattform keinen Schreibzugang bietet.
Textänderungen, die niemand prüfen oder eingrenzen konnte
Diese Arbeit geht meist auf zwei Arten schief: Sie wird aus Meinung heraus begründet, oder sie wird von etwas automatisiert, dem man mehr Zugriff gibt als jedem neuen Kollegen.
Entscheidungen aus dem Bauch
Welche Seite geändert wird und was daran, kam aus einer Besprechung statt aus den eigenen Leistungsdaten der Seite. Diese Daten lagen längst vor, nur hatte sie niemand in eine Arbeitswarteschlange überführt.
Automatisierung mit mehr Zugriff als Vertrauen
Ein Agent, der eine Datei ändern kann, kann auch die falsche ändern. Einem Modell Schreibrechte auf einer Live-Seite zu geben heißt, sich darauf zu verlassen, dass es Code, Layout, Weiterleitungen und Metadaten in Ruhe lässt. Sich verlassen ist nicht dasselbe wie verhindern.
Freigabe ohne etwas zum Freigeben
Schreibt dasselbe System, das die Änderung vornimmt, auch deren Zusammenfassung, hat die Prüfung keinen unabhängigen Gegenstand mehr. Geprüft wird eine Beschreibung, nicht die Änderung, und welche von beiden stimmte, zeigt sich später.
Jede Fähigkeit hier ist dazu da, etwas zu verhindern
Die Pipeline besteht aus dem, was sie sich verweigert. Jeder Punkt unten ist eine Kontrolle, kein Feature.
Der entscheidende Teil kann nicht schreiben
Im Normalbetrieb liest der Agent den aktuellen Text und hält einen Vorschlag fest. Das ist seine gesamte Befugnis. Er kann kein Repository klonen, keine Datei ändern, nichts einchecken, und keine Anweisung kann ihm das geben, weil er es nie hatte.
- Der Agent liest den aktuellen Text und hält einen Vorschlag fest, mehr nicht
- Er kann kein Repository klonen, keine Datei ändern, nichts einchecken
- Jeden Schreibvorgang führt der Server aus, und erst nach der Freigabe
Schutzschichten, die außerhalb der Reichweite des Agenten enden
Mehrere Prüfungen halten jede Änderung im Inhaltstext. Die tatsächliche Änderung wird vor dem Einchecken erneut geprüft, und die letzte Prüfung läuft als Pflichtprüfung auf dem Build-Server, wo der Agent keinerlei Einfluss hat.
- Änderungen bleiben im Inhaltstext, nie Code, Layout oder Konfiguration
- Die letzte Prüfung läuft auf dem Build-Server, außerhalb der Reichweite des Agenten
- In Übersetzungsdateien darf sich Text ändern, nie die Schlüssel
Ein Vorher und Nachher, das Code berechnet hat
Die Änderungsliste, die eine prüfende Person liest, wird von schlichtem Code aus der echten Änderung abgeleitet und nie von einem Modell geschrieben. Derselbe berechnete Text dient dem entwerfenden Modell als Grundlage und einem zweiten Modell als Vergleichsmaßstab. Ein Modell kann eine Änderung beschreiben, aber keine erfinden.
- Die Liste mit Vorher und Nachher wird aus der echten Änderung berechnet
- Ein zweites Modell prüft die Nachricht gegen genau diese Liste
- Jeder Vorschlag trägt den Suchbeleg bei sich, der ihn ausgelöst hat
Ein Klick, und nur dieser Klick
Die Freigabe ist eine einzige bedingte Aktualisierung an einem Datensatz. Der erste Klick entscheidet, alles danach ändert nichts mehr. Ein doppelter Klick, ein weitergeleiteter Link oder ein Mail-Scanner, der den Link vorab öffnet, bleibt folgenlos.
- Der erste Klick entscheidet; ein zweiter ändert nichts
- Freigabelinks gelten einmal, laufen schnell ab und liegen nur als Prüfsumme vor
- Eine Antwort mit Ja schickt nur einen Bestätigungslink, sie veröffentlicht nie
Was passiert, nachdem jemand Ja gesagt hat
Eine Freigabe startet einen Schreibvorgang, und genau der kann einer Live-Seite schaden. Deshalb ist der Veröffentlichungsweg der am stärksten eingegrenzte Teil des Systems.
Veröffentlichen beginnt abgeschaltet
Das Schreiben auf eine Live-Seite bleibt aus, bis jemand es bewusst einschaltet. Eingeschaltet, aber ohne Messfenster, gilt weiterhin als aus: Die Pipeline schreibt nicht in einen Zustand, den sie nicht beobachten kann.
Sie schaltet sich selbst wieder ab
Ein messbarer Rückgang im organischen Suchverkehr oder ein Anstieg der Crawling-Fehler schaltet das Schreiben von allein wieder ab, auch wenn gerade niemand hinsieht.
Jede Veröffentlichung ist rücknehmbar
Jeder Kanal sichert vor dem Schreiben den Rückweg, legt einen Entwurf an, prüft die Vorschau, veröffentlicht, prüft die Live-Seite und nimmt selbsttätig zurück, wenn diese Prüfung fehlschlägt.
Sie kann nicht leeren, was sie nicht angefasst hat
Eine Prüfung geschützter Felder läuft vor jedem Schreibvorgang auf der Änderung und danach auf der ausgelieferten Seite, damit Canonical-Angaben, Indexierungsanweisungen, Weiterleitungen und Seiten-Metadaten eine Bearbeitung unversehrt überstehen.
Was sich ändert, und wo das Ganze steht
Keine Zahlen auf dieser Seite. Was folgt, ist der Betrieb der Pipeline: Entwürfe aus Signalen, Halt zur Prüfung, veröffentlicht wird nur, was eine Person freigegeben hat.
Prüfbar
Jeder Vorschlag
Eine prüfende Person liest das exakte, von Code berechnete Vorher und Nachher, mit dem auslösenden Suchbeleg direkt daneben. Die Freigabe wird zur Entscheidung statt zur Formsache.
Rücknehmbar
Jede Veröffentlichung
Nichts wird geschrieben, ohne dass vorher der Rückweg gesichert ist, und eine Live-Seite, die ihre Prüfung nicht besteht, wird zurückgesetzt, ohne dass jemand angerufen werden muss.
Abgesichert
Wo es steht
Vom Vorschlag über die Freigabe bis zur Veröffentlichung läuft die Strecke Ende zu Ende unter automatischen Tests, und ein eigener Prüfstand bewertet, ob die Pipeline arbeitet, statt das einer Meinung zu überlassen. Veröffentlichen bleibt in jedem Schritt hinter dem Freigabeschalter.
Würden Sie freigeben, was Ihre Automatisierung gerade tun will?
Wenn ein System etwas verändert, das Ihnen gehört, ist die nützliche Frage, was es aufhält. Wir entwerfen zuerst die Bremsen, dann die Automatisierung.
Projekt besprechen