HyperAI
Back to Headlines

AI unterstützt die Erstellung und Pflege einer persönlichen Wissensdatenbank.

vor 2 Tagen

Wie man AI mit seinen Bearbeitungen einer persönlichen Wissensbasis trainiert Wenn Sie je versucht haben, eine persönliche Wissensbasis zu pflegen, kennen Sie das Problem. Die Erstellung und Organisation von Wissenseinträgen kann den Arbeitsfluss stören, selbst wenn es nur zwei Minuten dauert. Wenn Sie versuchen, diese Zeit zu minimieren – zum Beispiel, indem Sie Tags und Links für Einträge überspringen – enden Sie mit einem unordentlichen, unerschließbaren Archiv. Dies wird besonders herausfordernd, wenn Sie ein "Zweites Gehirn" schaffen möchten, um Ihre Kreativität zu steigern. Das ehrgeizige Ziel, eigene und fremde Ideen in eine perfekt getagte und verlinkte "Gehirnstruktur" zu verwandeln, führt oft zu Enttäuschungen. In diesem Artikel teile ich meine Erfahrungen mit der Erstellung einer einfacheren, von AI angetriebenen persönlichen Wissensbasis, die auf schnelle Fragebeantwortung abzielt, anstatt neue Ideen basierend auf dem Wissensbasisinhalt zu generieren. In solchen Szenarien macht es Sinn, AI für das Zusammenfassen, Taggen und Verlinken von Einträgen zu nutzen. Ich beschreibe meinen no-code Workflow in dieser Anleitung. 1. Bearbeiten von Einträgen über Messenger Angenommen, Sie haben Teil 2 dieser Serie nicht gelesen. Stellen Sie sich eine Automatisierung vor, die mit einem Telegram-Bot (oder einem anderen Messenger) beginnt. Zum Beispiel können Sie ihm eine Nachricht senden, die eine URL zu einer Webseite, einem Video oder anderem Inhalt enthält. Der Inhalt wird automatisch kategorisiert, zusammengefasst und in einer Datenbanktabelle oder einem Google Sheet gespeichert. Wenn die Automatisierung einen neuen Wissenseintrag aus dem Inhalt erstellt, weist sie oft falsche Kategorien (Themen) zu oder erstellt einen Titel, der den Kernpunkt des Inhalts verfehlt. Anstatt die Datenbank zu öffnen, um Korrekturen vorzunehmen, bauen wir ein einfaches Bearbeitungssystem direkt in Ihren Messenger ein. Nachdem ein Eintrag erstellt wurde, sendet der Telegram-Bot mir eine Nachricht mit Titel, Zusammenfassung und Themen. Wenn etwas nicht stimmt, tippe ich einfach einen der Buttons an: - Edit Topics: Zeigt eine Liste verfügbarer Kategorien. Ich wähle die richtigen aus und sende sie zurück. - Edit Title: Ermöglicht die Korrektur des Titels. - Edit Summary: Ermöglicht die Korrektur der Zusammenfassung. Jeder Button löst eine kurze Nachfolge-chat-Sitzung mit dem Bot aus. Um die Korrekturen zu vereinfachen, wird jedes Thema beim Anklicken in die Zwischenablage kopiert, genau wie Telegram es bei Text in Anführungszeichen (`) macht. Wie es in Make funktioniert Jeder Button sendet einen eindeutigen Callback: edit_topics, edit_title oder edit_summary. Diese Callbacks werden von zwei Modulen in der Szenariostruktur behandelt, wie im folgenden Zweig 1 dargestellt. Das erste Modul speichert die Callback-Daten in einem Data Store mit dem Warteschlüssel. Das zweite Modul fordert den Benutzer auf, einen korrigierten Titel oder Themen zurückzusenden. Zweig 2 wird nur im Wartemodus gestartet, d.h., wenn der Warteschlüssel im Data Store existiert. Je nach Warte-Wert bestimmt der Router, welches Feld aktualisiert werden soll – Themen, Titel oder Zusammenfassung – und aktualisiert den letzten Datensatz in der Datenbank (Supabase). Ich speichere die Themen eines Eintrags als einzelnen String mit Semikolons als Trennzeichen. Daher werde ich die replace(…;newline;";")-Funktion aufrufen. Im nächsten Abschnitt erkläre ich, warum replace(…;"#sample";emptystring) erforderlich ist. 2. Trainieren des AI-Klassifikators und Titelgenerators Das manuelle Korrigieren von AI-generierten Titeln und AI-ausgewählten Themen dient nicht nur der Ordnung. Diese Korrekturen können verwendet werden, um die AI für zukünftige Aufgaben besser zu "trainieren". Um dies zu erreichen, nutze ich meine Bearbeitungen als Trainingsbeispiele – nicht alle, sondern nur diejenigen, die ich für wertvoll erachte. Um einen Eintrag als Trainingsbeispiel zu markieren, füge ich einfach das Hashtag #sample zur Nachricht hinzu, die den korrigierten Titel oder die Themen enthält. Dies ermöglicht es mir, die Systemleistung kontinuierlich zu verbessern, ohne zusätzliche Anstrengungen zu unternehmen. Hinter den Kulissen fügt dieses Hashtag ein sample=TRUE-Marker zur entsprechenden Datenbankeintragung hinzu. Dieser Marker wird verwendet, um die für den Prompt benötigten Datensätze auszuwählen. Hier ist ein Make-Funktionsaufruf, der den Wert für die sample-Spalte zurückgibt: {{contains(1.message.text; "#sample")}}. Few-Shot-Prompt Wenn Sie die Grundlagen des Prompt Engineering kennen, haben Sie wahrscheinlich schon vom Few-Shot-Lernen gehört. Diese Technik beinhaltet, der AI einige Beispiele korrekter Ausgaben für eine bestimmte Eingabe zu liefern. Ein AI-Modell lernt effektiver aus Eingabe-Ausgabe-Paaren als aus starreren 'if-then-else'-Anweisungen. In diesem Wissensbasis-Szenario besteht die Ausgabe aus einem Titel und einer Liste von Themen. Es ist nicht notwendig, die AI zu trainieren, Zusammenfassungen zu schreiben. Idealerweise wäre die Eingabe der rohe Text eines Eintrags, da Themen direkt aus dem rohen Inhalt abgeleitet werden. Allerdings speichere ich längere Texte wie YouTube-Transkripte oder vollständige Webseiteninhalte, die ich später nicht lesen werde, nicht. Stattdessen nutze ich die Zusammenfassungen als Eingabe. Die # Samples-Sektion sollte dem in Teil 2 beschriebenen Prompt hinzugefügt werden. Wenn Variablen in der Szenariostruktur verwendet werden, sieht der Prompt wie folgt aus: Jedes Element des Arrays Samples sieht so aus: ``` Sample #137 Title From Code to Prompts: The Software Shift Topics Artificial Intelligence;Software Development Input ... ``` Es gibt mehrere Möglichkeiten, die Ausgabe einer Datenbankabfrage in das obige Format zu konvertieren. Zum Beispiel empfiehlt Perplexity, einen Array Aggregator und die map- und join-Funktionen zu verwenden. Alternativ nutze ich das Tools / Text Aggregator-Modul, um Titel, Themen und Eingabe (Zusammenfassung oder roher Text) in einen einzigen Textblock zu kombinieren. Das Supabase / Search rows-Modul bietet hier eine perfekte Eingabe für den Aggregator. Qualitätsverbesserung Wenn die AI neue Einträge verarbeitet, überprüft sie zunächst die aus der Datenbank geladenen Beispiele. Um diesen Prozess für die AI zu optimieren: - Lade ich nur Beispiele des gleichen Eintragstyps, wenn der Typ bereits bekannt ist (z.B. "Webseite" oder "YouTube-Video"). - Begrenze ich die Anzahl der geladenen Beispiele auf sechs. In meiner Erfahrung verbessert die Nutzung mehr als sechs Beispiele das Modell nicht und kann sogar die Leistung durch zu lange Prompts verringern. - Empfehle ich, eine balancierte Menge an Beispielen zu verschiedenen Themen und Content-Typen zu verwenden. Sonst könnte die AI eine Kategorisierungsbias entwickeln. Wenn Sie diese Empfehlungen befolgen, bemerken Sie eine allmähliche Verringerung der Notwendigkeit für manuelle Korrekturen. Obwohl es unwahrscheinlich ist, dass die Notwendigkeit komplett verschwindet, könnten Sie feststellen, dass nur 5–10% der Einträge "schlechte" Titel oder Themen haben. Diese Einträge sind nicht "verloren" – sie sind nur etwas schwieriger zu finden, und das ist in Ordnung. 3. Schlüsselmerkmale der No-Code-Plattform Um komplexe, von AI angetriebene Workflows zu implementieren, müssen Sie mehrere weniger offensichtliche Merkmale von No-Code-Plattformen nutzen. Diese Merkmale erhöhen die Wartbarkeit, vereinfachen das Debugging und streamlinen mehrstufige Operationen wie das Bearbeiten eines Eintrags. Temporärer DatenSpeicher Im oben beschriebenen Bearbeitungsprozess wurde das Data Store-Modul für temporäre Daten verwendet, die zwischen Workflow-Läufen bestehen bleiben. Dies unterscheidet sich vom Tools / Set variable-Modul, wo Variablen nur für Operationen innerhalb des aktuellen Laufs definiert sind. Ein Data Store ist im Wesentlichen eine Tabelle mit einer Schlüsselspalte. Für ein Szenario ist in der Regel ein einzelner Data Store ausreichend. Gängige Data Store-Aktionen umfassen: - Hinzufügen, Aktualisieren und Löschen von Datensätzen - Abfragen von Datensätzen - Exportieren von Datensätzen Dies könnte auch mit einer externen Datenbank oder einem Google Sheet implementiert werden, aber ein eingebauter Data Store ist schneller und einfacher zu einrichten und zu debuggen, da alles innerhalb der No-Code-Plattform enthalten ist. Aggregatoren und Iteratoren Das obige Beispiel nutzt das Text Aggregator-Modul, um Text aus mehreren Datenbankeinträgen in einen einzigen String zu kombinieren. Die umgekehrte Operation wird durch einen Iterator durchgeführt, der eine Sequenz von Operationen für jedes Element in einem Array ausführt. Zum Beispiel könnten Sie einen Iterator nutzen, um für jede Hauptidee in einem Inhalt einen separaten Datenbankeintrag zu erstellen. Ein weiteres Szenario für Iteratoren ist das Supabase / Make an API call-Modul. Ich habe dies am Anfang des Wissensbasis-Szenarios verwendet, um nach Sample-Einträgen spezifischer Typen zu filtern: "Kurzer Hinweis", "Langer Hinweis" oder "Post von jemand anderem". Da das Search rows-Modul keine OR-Bedingungen unterstützt, musste ich das Make an API call-Modul gefolgt von einem Iterator verwenden, da die API die Daten als einzelnes Body-Objekt und nicht als Array von Zeilen zurückgibt. Wenn Sie mein Szenario reproduzieren möchten, hier sind die API-Call-Parameter: - select: id, raw_text, summary, title, topics - order: id.desc - limit: 6 Fehlerhandler Beim Bestücken einer Wissensbasis mit Links zu Online-Inhalten sind Fehler unvermeidlich. Selbst wenn ein Link gültig ist, kann das Content-Scraping aus verschiedenen Gründen fehlschlagen, einschließlich Website-Einschränkungen oder überschreitender monatlicher Nutzungslimits eines Scraping-Dienstes. Daher ist einfache Fehlerbehandlung essentiell, zumindest für Module wie HTTP, ScrapeNinja, Supadata oder sogar Google Docs. Ähnlich sollten Dienste, die Dateien verarbeiten, wie Sprach-zu-Text-Konverter, einen Fehlerhandler haben. Hier ist, wie es in Make.com funktioniert: Wenn ein Modul einen Fehler erkennt, wird ein designierter Fehlerhandler-Modul aktiviert. Dieser Handler kann auf die Fehlernachricht zugreifen und sie dem Benutzer ausgeben. Alternativ kann er eine Backup-Operation sequenz initiieren, wie z.B. die Versuchsmethode, um eine Webseite zu scrapen. Im oben genannten Beispiel ist das erste Modul eine HTTP-Anfrage. Wenn sie fehlschlägt, wird Supadata als Fehlerhandler aktiviert, um die gleiche Aufgabe zu erfüllen. Der finale Fehlerhandler, ein Telegram-Bot, nutzt die Fehlernachrichten von HTTP und Supadata. Leider bietet Make keinen globalen, scenario-basierten Fehlerbehandlungsmechanismus wie den Error Trigger in n8n. Variablen In meiner Erfahrung dienen Variablen in No-Code-Plattformen zwei Hauptzwecken: - Speichern von Daten, die in mehreren Schritten verwendet werden. - Festlegung von Präferenzen, auch wenn jede nur einmal verwendet wird. Ein gängiger Grund ist, alle Präferenzen an einem Ort zu halten, um sie nicht im gesamten Workflow suchen zu müssen. Wenn Sie eine neue Variable innerhalb desselben Tools / Set multiple variables-Moduls hinzufügen, werden keine zusätzlichen Operationen verbraucht. Daher ist es oft eine gute Praxis, dieses Modul mit allen Variablen am Anfang des Szenarios zu platzieren, um sie überall verfügbar zu machen. Für unser Wissensbasis-Szenario werden die Variablen in diesem Abschnitt von Teil 2 beschrieben. Subszenarien Um Knoten-Duplikate (Module) zu vermeiden und Workflows (Szenarien) wartbarer zu machen, bieten No-Code-Plattformen wiederverwendbare Knoten-Sequenzen mit eigenen Namen, Eingaben und Ausgaben. In n8n heißen diese Sub-Workflows, in Zapier Sub-Zaps und in Make.com Subszenarien. Die Vorteile von Subszenarien ähneln denen von Variablen: - Extrahieren von gemeinsamen Operationen aus dem Haupt-Szenario, um es verständlicher und kompakter zu machen. - Aktualisieren der Operationen an einem Ort, anstatt mehrere Instanzen im gesamten Flussdiagramm zu suchen und zu ändern. 4. No-Code: Einschränkungen und Vorzüge Wartungsherausforderungen Während einige behaupten, dass No-Code-Workflows leichter zu warten sind als traditioneller Code, stimmen professionelle Entwickler häufig nicht zu. Obwohl No-Code-Plattformen gute Debugging-Tools bieten, können andere Aspekte der Wartung herausfordernd sein: - Testen, Versionierung, Suchen und Modifizieren. - Sie können nur Versionierungssteuerung simulieren, indem Sie Ihren Workflow in eine JSON-Datei exportieren – in Make wird dies als Blueprint bezeichnet. Für n8n können Sie auch n8n2git versuchen, um die Versionierungssteuerung zu erleichtern, obwohl es keinen kostenlosen Tarif anbietet. Darüber hinaus kann die Wartung von No-Code-Workflows ein Kopfschmerz werden, wenn Sie nicht spezielle Schritte ergreifen, um doppelte Knoten-Sequenzen zu eliminieren. Ohne dies wird das Aktualisieren riskant. Zum Beispiel könnten Sie einen oder zwei ähnliche Knoten anpassen, aber einen dritten übersehen, was zu einem schwer zu entdeckenden Bug führen kann. Daher ist eine No-Code-Plattform möglicherweise nicht die optimale Wahl, wenn Sie Ihren Workflow häufig ändern müssen. Allerdings gibt es zwei Fälle, in denen diese Überlegung irrelevant ist: - Sie fügen nur neue Funktionen hinzu, ohne bestehende zu verbessern. - Sie ersetzen Elemente des Workflows (d.h., spezifische Systeme), ohne die Kernlogik zu ändern. Leichtigkeit der Integration und Austausch von Systemen Der größte Vorteil von No-Code ist die eingebaute Integration mit fast jedem System, das Ihre Daten handhabt oder speichert. Allerdings fallen No-Code-Lösungen oft in Bezug auf Ästhetik oder Benutzererfahrung hinterher, wenn es darum geht, Ihre App zu gestalten. Ein weiterer Vorteil von No-Code-Setups ist, dass es in der Regel einfach ist, ein System gegen ein anderes auszutauschen – sei es, weil das ursprüngliche System zu teuer geworden ist oder Sie ein Tool gefunden haben, das bessere Qualität bietet. Zum Beispiel können Sie in Make.com von AssemblyAI zu OpenAI Whisper in wenigen Klicks wechseln. Im Gegensatz dazu passen kodierte Integrationen – insbesondere solche, die von AI-Agenten erstellt wurden – sich nicht so gut an Systemaustausch an. Daher ist häufiges Experimentieren mit verschiedenen externen Systemen im Software-Entwicklungsumfeld, selbst wenn AI den Integrationscode schreibt, nicht ideal. Jeder Austausch erfordert eine Neutestung, da AI oft Bugs in Integrationen einführt, insbesondere wenn die API-Dokumentation unklar ist. Direkte Kosten Neben der Einfachheit und Geschwindigkeit der Entwicklung und Wartung ist die Kostenfrage ein wichtiger Faktor, wenn man No-Code-Plattformen mit AI-Coding-Agents vergleicht. In Sachen produktionsreifer Kosten gewinnt der kodierte Ansatz, da die meisten No-Code-Plattformen pro Operation kosten. Die Hauptausnahme sind quelloffene, self-hostbare Tools wie n8n. Dennoch können SaaS No-Code-Plattformen in manchen Fällen kosteneffektiver sein als traditionelle oder AI-gesteuerte Entwicklung, insbesondere bei der Erstellung eines MVPs oder für persönliche Projekte mit moderater Nutzung. Dieser Artikel konzentriert sich auf letzteres: Mein persönlicher Workflow läuft vollständig kostenlos. Das ist möglich dank des kostenlosen Tarifs von Make.com, der 2 aktive Szenarien und 1.000 Operationen pro Monat umfasst. 1.000 Operationen ermöglichen es, 50–70 Wissensbasis-Einträge pro Monat zu erstellen. Falls dies zu begrenzt für Sie ist, überlegen Sie, stattdessen self-hosted n8n zu nutzen. BTW: Sie können n8n leicht auf verschiedenen Hosting-Diensten wie Elestio bereitstellen, direkt über das Kontrollpanel, ohne die Linux-Kommandozeile benutzen zu müssen. Für persönliche Nutzung bietet die No-Code-Plattform ActivePieces zwei kostenlose Optionen. Erstens können Sie mit ihrem kostenlosen Tarif beginnen, der ähnliche Einschränkungen wie Make.com hat. Wenn Sie es mögen und bereits für einen VPS bezahlen, können Sie zur self-hosted Version von ActivePieces wechseln. Allerdings ist ihre Open-Source-Lizenz nicht so permissiv wie die von n8n, sodass Sie kein Geschäft auf solch einer Lösung aufbauen können. Viele SaaS-Dienste – nicht nur No-Code-Plattformen – bieten großzügige kostenlose Tarife. Hier sind die in meinem Workflow kostenlos verwendeten Tools: Zusammenfassung In diesem Artikel haben wir erfahren, wie man einen AI-angetriebenen personalisierten Wissensbasis-Workflow durch Implementierung von Bearbeitungsfunktionen und einem einfachen Selbsttrainingsmechanismus verbessern kann. Dies hilft, die Qualität von AI-generierten Kategorien und Titeln kontinuierlich zu steigern. Wir haben auch diskutiert, wie man No-Code-Plattformen effektiv nutzen kann, indem man weniger offensichtliche Merkmale wie Subszenarien, Variablen, temporären DatenSpeicher und Fehlerhandler nutzt. Obwohl die Wartung von No-Code-Szenarien Herausforderungen bereiten kann, ist die Leichtigkeit des Ersetzens externer Systeme und anderer Workflow-Elemente ideal für experimentelle Projekte. Zum Beispiel ist No-Code-Flexibilität vorteilhaft, wenn Sie noch dabei sind, den optimalen Workflow für Ihre Wissensbasis oder andere persönliche Software zu bestimmen. Schließlich ist kodierte Entwicklung in der Regel für produktionsreife Lösungen billiger. Für persönliche Projekte mit moderater Nutzung können jedoch No-Code-Tools vollständig kostenlos sein. Was kommt als Nächstes? Der nächste Schritt könnte das Konfigurieren Ihres Telegram-Bots sein, um noch nützlichere Kenntnisse aus Ihren Chats zu sammeln, wobei der Fokus auf Ihren eigenen Worten liegt. Mit diesem Kontext könnte der Bot sogar Fragen für Sie beantworten, falls Sie nicht rechtzeitig antworten – eine Funktion, die mit einem Telegram Premium-Abonnement verfügbar ist. Solch ein fortschrittlicher AI-Assistent würde nicht kostenlos laufen, da er eine große Menge an Daten verarbeiten muss. Dieser Begriff geht über eine persönliche Wissensbasis oder ein "Zweites Gehirn" hinaus und aligniert sich eher mit der Idee eines Wissensbasierten Digitalen Zwilling. Die vorhandenen Tools für dieses Konzept scheinen unreif und teuer zu sein, während das Potenzial von No-Code-Workflows erheblich ist. Ich freue mich auf Ihre Gedanken in den Kommentaren. Möchten Sie ein Wissensbasiertes Digitales Zwillingsprojekt aufbauen, das Ihre Erfahrung und Expertise wirklich erfassen kann? Derzeitiger Trend ist es, sinnlose Zwillingsprojekte zu erstellen, die unser Äußeres oder unsere Schreib- oder Sprechstile nachahmen. Diese spaßigen Spielzeuge helfen jedoch nicht, das Wichtigste für andere zu akkumulieren: unsere Denkweise und unsere Erfahrung im Lösen komplexer Probleme. Was wir wirklich brauchen, ist ein Wissenszwilling.

Related Links