Wie Regenesis den selbstheilenden Kreislauf von MedShift mit VectorAI DB aufgebaut hat
Wichtigste Erkenntnisse
- Regenesis nutzt die Actian VectorAI DB als persistenten Speicher, damit sein Selbstheilungs-Agent bereits behobene Fehler erkennen kann.
- Der Agent überprüft vor jedem Patch den Speicher und nutzt dabei bereits verifizierte Korrekturen für bekannte Fehler, anstatt den gesamten Diagnosezyklus zu wiederholen.
- Es werden nur Lösungen mit dem Ergebnis „Erfolg“ gespeichert, sodass fehlgeschlagene Reparaturen nicht erneut als Lösungen vorgeschlagen werden.
- Replay Loop QA überprüft jede Reparatur unabhängig, bevor memory_remember die erfolgreiche Behebung für die zukünftige Verwendung speichert.
- Der Ansatz umfasst drei wiederverwendbare Muster: Indexfehler nach Struktur, Speicherfilterung bei Abruf und Überprüfung jeder Korrektur vor dem Speichern.
Dieser Build wurde ursprünglich beim „Self-Evolving Agents Hack“ eingereicht.
Ein Agent, der sich daran erinnert, wie er diese Regel gestern korrigiert hat, verändert die Art und Weise, wie die Wiederherstellung abläuft.
Genau dieses Problem hatte Regenesis mit MedShift, einer Dienstplanungsanwendung für Krankenhäuser, die auf einem klinischen Dienstplan für 26 Mitarbeiter basiert. Das System muss Zertifizierungsfristen, Ruhezeitvorschriften, Überstundenobergrenzen und Regeln zur Dienstabdeckung einhalten. Wenn eine dieser Regeln verletzt wird, muss der Mitarbeiter das Problem finden, beheben und sicherstellen, dass die Korrektur tatsächlich funktioniert hat.
Ohne Gedächtnis hatte der Agent keine Möglichkeit zu erkennen, ob er denselben Fehler bereits zuvor beobachtet hatte. Jeder neue Verstoß bedeutete, dass die Diagnose von Neuem beginnen musste. Dieselbe Grundursache konnte über einen anderen Einstiegspunkt auftreten und dennoch neu erscheinen. Das System konnte sich zwar erholen, doch die Wiederherstellung allein reichte nicht aus. Jede Begegnung begann bei Null.
Der Chinese Lai, der Entwickler hinter Regenesis, nennt die entscheidenden Faktoren: „Actian ist das Gedächtnis des Agenten – das, was diese Entwicklung zu einer echten Weiterentwicklung macht und nicht nur zu einem erneuten Versuch.“
TL;DR
- MedShift ist eine SaaS-Lösung für die Dienstplanerstellung in Krankenhäusern, die Sicherheitsverstöße erkennt, die dafür verantwortliche Regel korrigiert und jede Korrektur vor der Freigabe überprüft.
- Actian VectorAI DBbildet die Speicherschicht. Der Agent bettet jeden Fehler als Vektor ein, fragt diesen vor jedem Patch ab und ruft bereits verifizierte Korrekturen ab, anstatt die Diagnose von Grund auf neu durchzuführen.
- Bei der ersten Begegnung gibt VectorAI DB den Wert cosine=0,00 zurück, und der Agent führt einen vollständigen Diagnosezyklus durch. Bei der zweiten Begegnung mit demselben Fehler gibt das System den Wert cosine=1,00 zurück und behebt den Fehler in einem Schritt.
- Fehlgeschlagene Korrekturen werden niemals als Lösungen ausgewiesen. Der Rückruf-Filter wird bei „outcome=“success““ ausgeführt, und keine Korrektur wird gespeichert, bis die Replay-Loop-Qualitätssicherung bestätigt, dass die Reparatur erfolgreich war.
- Drei Muster lassen sich auf jedes Selbstheilungsverfahren übertragen: Indexfehler werden anhand der Struktur und nicht anhand des Vokabulars erkannt, das Filtergedächtnis wird beim Abruf und nicht beim Schreiben geprüft, und eine Korrektur wird niemals gespeichert, bevor ein unabhängiger Prüfer bestätigt hat, dass sie Bestand hat.
Was sich durch Regenesis verändert hat
Um die Schleife zu testen, deaktivierte Regenesis den Zertifizierungsschutz von MedShift. Das Orakel deckte 14 tatsächliche Planungsverstöße auf, die jeweils anhand des Live-Zeitplans berechnet wurden. Der Guild-Agent fragte die Actian VectorAI-Datenbank ab, erhielt den Wert cosine=0,00 zurück, ohne dass zuvor „ Aufzeichnung “ im Speicher vorhanden war, diagnostizierte dann die Fehlerursache, reparierte den defekten Schutzmechanismus, überprüfte die Reparatur und speicherte die Korrektur.
Als derselbe Fehler erneut auftrat, gab VectorAI DB den Kosinuswert 1,00 zurück, griff auf die vorherige Korrektur zurück und beseitigte alle 14 Verstöße in einem Schritt.
Genau das leistet der persistente Speicher, und Lai beschrieb Medshift als „eine SaaS-Lösung für die Dienstplanung, die ihre eigenen Sicherheitsmängel erkennt, diagnostiziert und behebt und mit jedem entdeckten Fehler schneller wird“.
Hier kommt Actian VectorAI DB ins Spiel
VectorAI DB ist die Speicherschicht, die die Unterscheidung zwischen Wiederholungsversuchen und Evolution ermöglicht.
Der Agent bettet jede Fehlerform als Vektor ein und fragt vor jedem Patch die VectorAI-Datenbank ab. Wenn die „ abfragen “ zurückgibt warm=true, ruft der Agent den verifizierten Fix ab und wendet ihn sofort an. Wenn er zurückkehrt warm=false, der Mitarbeiter behandelt den Fehler als neu auftretend, ermittelt die Ursache und speichert die Lösung erst, nachdem eine externe Qualitätssicherung bestätigt hat, dass die Behebung Bestand hat.
Jeder Speicherpunkt verfügt über einen Status, der zunächst wie folgt lautet: pending. Der Recall-Filter läuft auf outcome: "success", sodass fehlgeschlagene Korrekturen dauerhaft aus den Ergebnissen ausgeschlossen bleiben. Ohne diesen dauerhaften, abfragbaren Speicher erscheint jeder Fehler als neu, ganz gleich, wie oft Der Makler hat das schon einmal behoben.
So funktioniert der Selbstheilungskreislauf
Regenesis hat einen vierstufigen Kreislauf entwickelt: Erkennung, Speicher abfragen, Patching und externe Verifizierung. Das Orakel deckt den Verstoß auf. Der Guild-Agent fragt die VectorAI-Datenbank nach einer bereits vorhandenen Korrektur ab, ruft eine verifizierte Korrektur ab, sofern vorhanden, oder kennzeichnet den Fehler als neu, falls keine vorhanden ist. Der Patch stellt die beschädigte Schutzfunktion wieder her, und „Replay Loop QA“ – das autonome Qualitätskontrolltor von Guild – validiert die Korrektur, bevor etwas ausgeliefert wird. Jede Stufe ist unabhängig; daher erfordert das Ersetzen des Orakels, das Austauschen des QA-Tors oder das Ändern des Agenten- Framework s keinen Neuaufbau der anderen Komponenten.

Der selbstheilende MedShift-Zyklus. Oracle, Guild Agent, VectorAI-Datenbank, Rules Config (Genome) und Replay Loop QA als externes Tor. Die Pfeile zeigen den gesamten Zyklus, einschließlich des Schreibvorgangs in den Speicher bei bestätigter Behebung.
Das Orakel
Das Oracle arbeitet deterministisch und führt regelbasierte Prüfungen statt Schlussfolgerungen durch. Es vergleicht den aktuellen Dienstplan mit einer unveränderlichen Spezifikation, die Zertifizierungszeiträume, Ruhezeiten, Überstundengrenzen und Mindestbesetzungsquoten umfasst. Die Spezifikation wird einmalig freigegeben und vom Agenten danach nicht mehr verändert. Lediglich die Regelkonfiguration ist veränderbar.
Genau diese Trennung macht den Regelkreis so vertrauenswürdig. Sabotiert man die Regelkonfiguration, deckt das Orakel echte Verstöße aus dem Live-Dienstplan auf, die anhand der Daten berechnet werden. Wie es in der README-Datei heißt: „Jeder Fehler wird tatsächlich berechnet, niemals per Skript vorgetäuscht.“ Das Skript „ Demo “ deaktiviert die Zertifizierungssicherung und erzeugt 14 Verstöße, von denen jeder ein echter Terminkonflikt aus dem Live-Dienstplan ist, der anhand der festgelegten Spezifikation berechnet wurde.
Die Speicherabfrage
Bevor der Agent irgendetwas repariert, erfasst er die Fehlerkonfiguration und fragt ab regenesis_memory, eine 96-dimensionale Kosinus-Sammlung in der VectorAI-Datenbank. Die „ abfragen “ filtert nach outcome: "success", wobei fehlgeschlagene Korrekturen aus den Ergebnissen herausgefiltert werden. Da die VectorAI-Datenbank eine Vektorähnlichkeitssuche anstelle einer hybriden Suche bereitstellt, hat Regenesis eine eigene „Reciprocal Rank Fusion“-Schicht entwickelt. Pro Fehleransicht werden mehrere ANN-Abfragen ausgeführt, und die Schicht führt eine Zusammenführung der Ranglisten durch, bevor der beste Treffer zurückgegeben wird.
// lib/sponsors/actian.ts — LiveActianClient
// The agent calls search() with must: { outcome: "success" }
// so failed fixes are never surfaced as solutions.
async search(
vector: number[],
opts: { topK?: number; filter?: VectorFilter } = {},
): Promise<VectorHit[]> {
const { hits } = await this.post<{ hits: VectorHit[] }>("/api/memory/search", {
vector,
topK: opts.topK ?? 5,
filter: opts.filter,
});
return hits;
}
function fuse(rankings: VectorHit[][], topK: number): VectorHit[] {
const fused = new Map<string, { hit: VectorHit; score: number }>();
for (const ranked of rankings) {
ranked.forEach((hit, rank) => {
const prev = fused.get(hit.id);
const contribution = 1 / (RRF_K + rank + 1);
if (prev) prev.score += contribution;
else fused.set(hit.id, { hit, score: contribution });
});
}
return [...fused.values()]
.sort((a, b) => b.score - a.score)
.slice(0, topK)
.map(({ hit, score }) => ({ ...hit, score }));
}
search() Erträge VectorHit[] sortiert nach absteigender Kosinusähnlichkeit. cosine=0.00 ist ein neuartiger Fehlschlag. cosine=1.00 ist eine exakte Übereinstimmung. Der Bearbeiter entscheidet je nach Schweregrad: Entweder wird die zuvor festgestellte Fehlerbehebung sofort umgesetzt oder die Grundursache ermittelt. Das Fehlerprofil erfasst, welche Sicherheitsregel in welchem Kontext verletzt wurde, sodass die Suche eher anhand des Musters als anhand des Vokabulars erfolgt.
Das, cosine=1.00 Beim zweiten Durchlauf zeigt die Schleife, dass sie dazulernt: ein Schritt statt des gesamten Zyklus.
Der Flicken und das Tor
Durch das Patchen wird der betroffene Guard wieder in den konformen Zustand versetzt. Die Reparaturfunktion ordnet einen Befund dem Guard zu, der ihn erzeugt hat, und setzt diesen Guard wieder auf seinen Spezifikationswert zurück, wobei sie alle Fehlertypen innerhalb des Geltungsbereichs des Orakels behandelt.
Nach dem Patchen führt der Agent erneut eine Überprüfung durch. Eine erfolgreiche Überprüfung löst memory_remember, wobei die Fehler-Einbettung als Vektor geschrieben wird und {guard, outcome: "success", generation, timesReinforced} als Nutzdaten an die VectorAI-Datenbank.
await client.upsert([{
id: pointIdFor(failureHash),
vector: embed(failureShape),
payload: {
guard,
outcome: "success",
generation,
timesReinforced: 1,
},
}]);
Ein fehlgeschlagener Test schreibt ein negatives Beispiel mit outcome: "failure", die der Rückruf-Filter dauerhaft ausschließt. Die Replay-Loop-Qualitätssicherung filtert anschließend Deployment heraus, und die Korrektur wird erst ausgeliefert, wenn Replay bestätigt, dass sie fehlerfrei ist. Lais Formulierung: „Das Genom ist eine veränderbare Regelkonfiguration; das Gedächtnis ist eine Vektorsammlung; die natürliche Selektion ist eine extern bewertete Qualitätssicherung.“
Ein kombinierter Fehler liefert das überzeugendste Argument. Ein einziger Druckvorgang führte zum Ausfall zweier verschiedener Schutzvorrichtungen und ergab 27 Verstöße. Der Agent rief beide Befunde ab, wandte beide Korrekturen an, überprüfte sie einmal und speicherte beide Korrekturen. Er untersuchte die Situation, analysierte die Ergebnisse und setzte den Vorgang fort, bis der Zeitplan fehlerfrei war.
Was Sie daraus für Ihr eigenes System mitnehmen können
Agenten können Lösungen generieren. Regenesis zeigt, was passiert, nachdem eine Lösung erfolgreich war. Das System protokolliert den Fehler, speichert die verifizierte Behebung und erkennt diese, sobald der Fehler erneut auftritt. Das ist der Unterschied zwischen der Behebung eines Vorfalls und dem Lernen aus diesem.
Drei Muster aus diesem Projekt lassen sich direkt übernehmen.
| Muster | Was Regenesis getan hat | Was ist umzusetzen? |
| Indizierungsfehler nach Form, nicht nach Fachvokabular | 96-dimensionale Kosinus-Einbettung der Fehlerstruktur, kein Freitext | einbetten die strukturierte Darstellung der jeweiligen Fehlerart, nicht die zur Beschreibung verwendeten Begriffe |
| Den Speicher nach dem Ergebnis beim Abruf filtern, nicht beim Schreiben | must: {outcome: "success"} im Rückruf abfragen |
Ordne jedem gespeicherten Punkt ein Ergebnis zu; wende den Filter beim Abrufen an, nicht beim Speichern |
| Jede Korrektur vor dem Speichern extern überprüfen | Replay Loop QA überprüft die Live- Deployment; memory_remember läuft nur bei einer vorbeifahrenden Sonde |
Schreiben Sie niemals eine Korrektur in den Speicher, bevor nicht ein unabhängiger Prüfer bestätigt hat, dass die Korrektur Bestand hat. |
Das dritte Muster wird von den meisten Systemen übersprungen. Wenn eine Korrektur in den Speicher geschrieben wird, bevor sie überprüft wurde, kann es passieren, dass beim nächsten Abruf eine ungeprüfte Lösung zum Vorschein kommt. In MedShift bedeutet dies, dass der Agent eine Korrektur anwendet, deren Funktionsfähigkeit er nie bestätigt hat, sie als erfolgreich speichert und den Fehler beim nächsten Auftreten wiederholt. Das externe Gate ist es, das den Speicher vertrauenswürdig macht.
In Regenesis stellt VectorAI DB die Persistent-Memory-Schicht bereit, die diesen Schleifenablauf ermöglicht. Sie können das System mit Docker innerhalb weniger Minuten lokal ausführen.
docker run -d --name vectorai -p 6573-6575:6573-6575 \
-e ACTIAN_VECTORAI_ACCEPT_EULA=YES \
-v vectorai_data:/var/lib/actian-vectorai actian/vectorai:latest
Registrieren Sie sich für die VectorAI DB Community Edition, um loszulegen. Treten Sie der Actian-Community auf Discord bei, um Fragen zu stellen und zu sehen, was andere entwickeln.
Dieser Build wurde ursprünglich beim „Self-Evolving Agents Hack“ eingereicht. Das Projekt „Regenesis“ kannst du auf GitHub einsehen.