Evolution of AI

08. Februar 2026

Meine Reise mit ChatGPT, n8n, Claude Code bis OpenClaw – vier Phasen vom Chat zur Agent-Orchestrierung

You can find an english version of this article on Substack and Medium


Evolution of AI

Das Entwicklungs-Tempo im AI Space verläuft rasant. Schon längere Zeit ist es unübersichtlich geworden und es fällt schwer, die Flut an Ankündigungen und Neuigkeiten von echten Innovationen zu unterscheiden.

Dabei drehen sich die zentralen Fragen immer wieder um dieselben Themen:

  • Welche Aufgaben kann AI übernehmen?
  • Wie gelingt es, mit Hilfe von AI verlässliche Ergebnisse zu erzielen?
  • Welchen Input braucht es dazu?

Betrachtet man die Entwicklung der letzten Jahre bei den Tools und deren Funktionsweisen, erkennt man Muster, welche die Qualität der Ergebnisse maßgeblich beeinflussen.

Diese Entwicklung lässt sich gut in vier Phasen einteilen:

  1. AI Chat
  2. AI Workflows
  3. AI Agents
  4. Agent Orchestration

Wir schauen uns diese Phasen genauer an, um die Unterschiede zu verstehen und zu sehen, wie und warum jede Phase auf der vorherigen aufbaut.

Die Betrachtung mündet in


Ausgangspunkt ist meine persönliche Reise durch diese Phasen mit Tools wie ChatGPT, n8n, Claude Code bis hin zu OpenClaw. Je mehr ich damit gearbeitet habe, desto klarer wurden mir die Prinzipien, die hinter diesem Wandel stehen.
Der Text erhebt keinen Anspruch auf Vollständigkeit. Er beschreibt die Weiterentwicklung der AI Tools anhand von Beispielen und ausgewählten Methoden.


Phase 1 – AI Chat

Die öffentliche Wahrnehmung von AI begann mit dem Debüt von ChatGPT im Jahr 2022. Erstmals war ein Large Language Model (LLM) für jedermann verfügbar. Das Besondere daran war das Chat-Interface, das sich bis heute für viele AI Anwendungen etabliert hat.

Prompts

Eine neue Kultur-Technik namens „prompten“ entstand. Man teilt der AI mit, was man von ihr wissen möchte oder was sie tun soll. Vergleichbar mit „googeln“ dessen Funktionsweise viele bereits verinnerlicht hatten. Diese Analogie im Bedienkonzept verhalf ChatGPT schnell zum Durchbruch, denn damit war man in der Lage, einen einfachen Zugang zur AI zu nutzen.

Genauso schnell zeigte sich jedoch, dass googeln und prompten teils sehr unterschiedliche Ergebnisse liefern, was Fluch und Segen zugleich ist. Einerseits gehen die Ausgaben von ChatGPT weit über die Ergebnislisten einer Internetsuche hinaus, weil das LLM über ein breites Weltwissen und fundiertes Verständnis von Sprache verfügt. Andererseits sind die Ergebnisse prinzipbedingt völlig unvorhersehbar und führen oft genug auch zu „Halluzinationen“, weil das Modell plausibel klingende Antworten generiert, ohne immer eine verlässliche Quelle zu haben. Daher auch der Begriff „Generative AI“, weil aus einfachen Eingaben stets neue Ausgaben in Textform und inzwischen auch multimedial (Ton, Bild, Video, 3D-Welten) erzeugt werden können.

RAG

Eine Lösung für dieses Problem bestand zunächst in besseren und umfangreicheren Prompts. Bald ging man dazu über, auch eigenen vorherbestimmbaren Content in den Prozess einzubinden. Mit der "Retrieval Augmented Generation" (RAG) entstand eine Möglichkeit, semantisches Wissen aus eigenen Quellen mit den Stärken des Sprachmodells zu verknüpfen.

Dieser Schritt erforderte auf technischer Seite bereits einen koordinierten Prozess für Bereitstellung und Abruf der Informationen, der über das reine Chat-Interface hinaus geht. Die nächste Entwicklungs-Phase begann.

Phase 2 – AI Workflows

Zusätzlich zum Chat-Interface stellen die großen AI Anbieter auch direkte Schnittstellen (APIs) für ihre Modelle zur Verfügung. Damit ist es möglich, die Ein- und Ausgaben über einen programmierten Ablauf zu steuern.

Da es anfangs umständlich war, für jedes Modell und jeden Einsatzzweck eine separate Schnittstelle und einen eigenen Ablauf zu programmieren, entstanden bald neue Tools und Standards, um die zugrunde liegenden Methoden über einen einfacheren Zugang auf einer logischen Abstraktionsschicht bereitzustellen.

Tools und APIs

Tools wie LangChain kombinieren den Zugriff auf LLMs, auf Datenquellen (RAG), auf externe Tools (APIs) und die Steuerung eines flexiblen Ablaufs durch Prompt-Vorlagen und Workflow-Macros. Das Zeitalter der AI Agenten wurde eingeläutet, auch wenn vieles noch nicht dem Idealbild eines wirklich autonomen Agenten entsprach, sondern eher einem mit AI angereicherten Workflow. Anbieter von existierenden Workflow-Automatisierungs-Plattformen sprangen schnell auf diesen Zug auf.

Neben den bekannten Playern wie Zapier oder Make sorgte ein neuer Shooting-Star für Aufsehen: n8n eroberte das Publikum im Sturm, weil es eine sehr einfache Benutzeroberfläche mit der Fähigkeit kombinierte, agentische Abläufe mit zahlreichen externen Schnittstellen und Datenquellen zu verbinden. Die sogenannten "Flows" lassen sich in der Cloud oder auf eigenen Servern ausführen und ermöglichen damit auch einem nicht technischen Anwender, schnell komplexe AI Workflows zu erstellen und zu betreiben.

Die AI Anbieter selbst stellten neben den Chatbots ebenfalls neue Produkte für den Zugriff auf Tools und externe Datenquellen vor. Neben den großen Namen wie OpenAI, Anthropic, Microsoft und Google entstand eine unüberschaubare Vielzahl von spezialisierten neuen Anbietern in diesem Bereich. Das Portfolio der neuen Produkte aus dieser Phase fokussierte sich schwerpunktmäßig auf die Steuerung von agentischen Workflows und die Verbindung mit Werkzeugen für spezifische Einsatzzwecke.

Je komplexer die Einsatzzwecke wurden, desto deutlicher wurde ebenfalls, dass die rein Prompt-basierte Steuerung an ihre Grenzen stößt. Immer ausgefeiltere Verfahren für das "Context-Engineering" machten die Runde.

Context-Engineering und MCP

Mit der Veröffentlichung des "Model Context Protocol" (MCP) von Anthropic entstand ein offener Standard für die Ansteuerung von Tools, der schnell von vielen Anbietern übernommen wurde. MCP verbindet drei wichtige Zutaten für die Steuerung des AI Workflows: Prompts, Tools, Datenquellen. Diese können nun in einheitlicher Weise kombiniert und für einzelne Anwendungszwecke verpackt und bereitgestellt werden.

Claude und ChatGPT erweiterten ihre Chatbots mit Features wie "Advanced Data Analysis", "Code Interpreter", "Canvas" und "Artifacts". Diese sind in der Lage, in einem separaten Bereich innerhalb des Chat-Fensters Code zu generieren und auszuführen. Die Ausgabe geht über reine Text-Antworten hinaus, stattdessen werden echte Ergebnisse angezeigt. Damit rückten auch hier Workflow-Features und Code stärker in den Fokus. Später kamen direkte Tool-Schnittstellen und MCP dazu.

Im Coding Bereich entstanden Tools wie Cursor oder Windsurf, die anfangs mit intelligenter Code-Vervollständigung die Entwicklung von Programmcode beschleunigten. Später kamen Prompt-Vorlagen auf System- und Projekt-Ebene dazu, um die LLMs auf spezifischere Anwendungszwecke zu briefen.

Reasoning als Zutat für Agenten jenseits von Workflows

Auch die Entwicklung der Large Language Modelle selbst ging weiter. Methoden wie "Mixture of Experts" (MoE), "Reasoning Models" und "Chain of Thought" erweitern die Möglichkeiten der Frontier-Modelle und bilden die Grundlage für immer mehr agentische Fähigkeiten wie z.B. "Deep Research". Feedback-Schleifen mit und ohne Benutzereinbindung steigern die Leistungsfähigkeit. Insbesondere bei Code-Generierung gab es enorme Fortschritte, weil hier die sprachliche Genauigkeit und inhärente Logik sehr klar umrissen ist.

Viele dieser Methoden bauten aber nach wie vor auf statischen Prompts oder generischen Workflows auf. Mit der Entstehung von immer dynamischeren Methoden des Context-Engineering wurde die nächste Phase eingeläutet.

Phase 3 – AI Agents

Mit Replit, Lovable oder auch GitHub Spark entstand eine neue Methode der agentischen AI im Coding Bereich. Ausgehend von einem Prompt, der eher einer Zielbeschreibung entspricht, generiert ein Sprachmodell zunächst ein detailliertes Anforderungsdokument (PRD). Aus diesem wird ein Plan mit einzelnen Schritten abgeleitet, den ein Coding-Agent dann umsetzt.

Spec Driven Development

Je nach Ausprägung des Tools kann der Benutzer in diesen Prozess eingreifen, indem er zum Beispiel das Anforderungsdokument überarbeitet und dem Coding-Agenten damit sehr explizite Beschreibungen des gewünschten Ziel-Zustands und der Umsetzungsschritte liefert. Die Erstellung des Prompts selbst wird nun durch einen strukturierten Prozess geleitet. Ergänzend liefert das Sprachmodell Hintergrundwissen zu Best Practices und Coding Patterns. Das neue Pattern für immer autonomere Agenten lautet nun „Plan → Act → Verify“. Der Benutzer wird vom Programmierer zum Architekten bzw. Produkt-Manager und agiert auf einer High-Level Ebene mit dem Tool. Um die Ausführung der Details kümmert sich das AI Modell innerhalb einer agentischen Schleife. Die vorab erstellte Spezifikation mitsamt Erfolgskriterien entscheidet maßgeblich über die Qualität der Ergebnisse.

CLI-Tools

Um die Schnittstelle für das Coding näher an den Benutzer zu bringen, entstand eine neue Kategorie von agentischen Tools auf dem Command Line Interface (CLI). Dies ermöglicht eine bessere Integration in vorhandene Entwicklungsumgebungen (IDEs) und auch die direkte Kommunikation mit dem Agenten in der gleichen Umgebung, wo Zugang zu Code, Tools und Betriebssystem möglich ist. Die AI Agenten lösen sich komplett aus dem bisherigen Chat-Interface und bekommen nun Zugriff auf Systemebene des Rechners auf dem sie eingesetzt werden. Das ist ein kompletter aber konsequenter Paradigmen-Wechsel.

Agentic Loop

Der Shooting-Star in dieser Kategorie ist Claude Code, welches als eines der ersten Tools die "Agentic Loop" weiter perfektioniert und mit starken LLM Modellen kombiniert hat. Zusammen mit dem Zugriff auf alle lokalen Dokumente, CLI-Tools und externen MCPs bietet dies eine extrem leistungsfähige Basis für eine dynamische Orchestrierung agentischer Abläufe.

Auch die anderen großen Anbieter zogen nach, mit Codex (OpenAI), Gemini CLI (Google), GitHub CLI (Microsoft) und vielen weiteren Spezial-Tools wie OpenCode, Amp, Warp, u.a. ist diese Kategorie inzwischen eine feste Größe in der AI Landschaft geworden.

Bereits existierende Tools aus dem IDE-Umfeld wie Cursor integrierten diesen Ansatz und entwickelten ihn teils um eigene Features weiter, wie Browser-Testing oder Multi-Agenten-Orchestrierung.

Darüber hinaus etablierten sich neue Pattern für den Einsatz dieser Technik. Mit hierarchischen Prompt-Dateien (AGENTS.md oder CLAUDE.md), Slash-Commands, Hooks, Subagents und Skills entstanden immer neue Verfeinerungen, um die existierenden Ansätze zum Context-Engineering und Spec Driven Development zu erweitern.

Skills

Hervorzuheben sind hier insbesondere die sogenannten "Skills", die ebenfalls von Anthropic etabliert wurden. Diese stellen eine neue Art der Konfektionierung für Fähigkeiten von Agenten dar. Ähnlich wie ein MCP können hier mehrere Komponenten zusammen in einer Beschreibung verpackt und auch für andere Benutzer und Systeme weiter verteilt werden. Da diese Skills aber nur bei Bedarf geladen und verarbeitet werden, entlastet dies das Kontextfenster und schafft einen noch flexibleren Ansatz für umfangreichen und dynamischen Kontext.

Ein Skill enthält zunächst eine Beschreibung in natürlicher Sprache, sozusagen einen spezifischen System-Prompt für die jeweilige Aufgabe. Zusätzlich können weitere Dokumente mit Beschreibungen, Beispielen oder Daten enthalten sein. Sowie dedizierter Code für die Ausführung von Workflows in Form von Bash, Python, JavaScript oder anderen vom Agent ausführbaren Sprachen. Damit lassen sich sowohl lokale als auch externe Tools und APIs orchestrieren. Auch MCPs können eingebunden werden. Oft lässt sich aber mit einem reinen Skill auf Basis von Anweisungen, Code und API-Zugriffen eine sehr viel schlankere Implementierung einer Aufgabe abbilden.

Autonome Agents

Durch die Kombination aller genannten Fähigkeiten entstehen flexible und teils sehr wirkmächtige Agents. Das Zusammenwirken aus vorgefertigten Beschreibungen, Best Practices aus dem Sprachmodell und Zugriffsmöglichkeiten auf Dokumente, Daten und Tools innerhalb einer klaren Feedback Schleife lassen einen Agent wie einen Mitarbeiter autonom an einer Aufgabe arbeiten.

Eine wichtige Grundlage ist die klare Strukturierung der Vorgehensweise in mehreren aufeinander aufbauenden Schritten:

  • Beschreibung der Aufgabe (Specs)
  • Erstellung eines Ablaufplans
  • Ausführung von Aufgaben
  • Zugriff auf Tools und Daten
  • Kontrolle der Ergebnisse
  • Feststellen des Zielzustands

Der Kontext für das LLM wird hierbei iterativ über mehrere Stufen dynamisch erzeugt und immer wieder mit vorgegebenen Zuständen abgeglichen.

Auch die dynamische Erweiterung des Funktionsumfangs für eine Aufgabe ist Teil des Ablaufs. Steht ein Tool für einen Ausführungsschritt nicht unmittelbar zur Verfügung, ist der Agent in der Lage, dieses Tool kurzerhand selbst zu programmieren und direkt auszuführen. Durch sein umfangreiches Vorwissen aus dem LLM ist er dabei inhaltlich wie methodisch autonom unterwegs. Entstehen Fehler oder lose Enden, kann der Agent dies selbstständig feststellen und oft genug auch durch mehrfache Versuche selbstständig beheben.

Damit dies für den Benutzer überschaubar bleibt, kann er den Agenten in unterschiedlichen Betriebsmodi starten:

  • ausschließlich planen
  • planen und ausführen nach Rückmeldung+Bestätigung
  • völlig autonome Ausführung

Macht und Verantwortung

Mit der autonomen Ausführung entstehen neue Chancen und Risiken. Um die Risiken zu minimieren, hilft es in erster Linie die Spezifikationen und Pläne zu Beginn des Ablaufs möglichst umfangreich und genau zu verfassen. Hier sollte der eigentliche Arbeitsschwerpunkt des Benutzers liegen. Je besser die Vorgaben, desto vorhersehbarer die Ergebnisse. Die Bereitstellung gut strukturierter und sauberer Daten ist, je nach Anwendungsfall, ebenfalls eine Grundvoraussetzung für exzellente Ergebnisse.

Zusätzlich können Einschränkungen bei den Rechten von ausführbaren Tools sowie klar umrissene Arbeitsumgebungen (Sandboxes) helfen, den möglichen Impact zu steuern. Regelmäßige Snapshots der erzeugten Ergebnisse in einem git für ein strukturiertes Rollback auf frühere Zustände sind ratsam.

Je mehr Freiheitsgrade ein Agent hat, desto unkontrollierbarer sind manchmal auch die Fehler, wenn er aufgrund fehlerhafter Annahmen irgendwo falsch abgebogen ist (Agentic Drift). Daher ist die Kontrolle der Ergebnisse durch den Benutzer ein wichtiges Steuerungsinstrument. Im Bereich des Codings gibt mit Pull-Requests (PRs) und den damit verbundenen Code-Reviews bereits etablierte Workflows, um grundlegende Arbeitsschritte in umfangreicheren Projekten zu strukturieren.

Auch diese Schritte werden z.T. bereits durch eigene Agenten mit spezifischen Skills automatisiert. Warum einem Agent vertrauen, wenn ein zweiter Agent ihn kontrollieren kann?

Damit sind wir bei der nächsten Phase der AI Evolution im Jahr 2026 angekommen.

Phase 4 – Agent Orchestration

Neue Konzepte wie "Ralph Wiggum" oder "Gastown" stehen exemplarisch für eine weitere Optimierungsstufe des Context-Engineering. Während "Ralph" eher darauf abzielt, die Überprüfungskriterien und "Aus-Fehlern-lernen"-Fähigkeiten des Ablaufs zu verbessern, verfolgt "Gastown" einen anderen Ansatz. Hier werden einfach zahlreiche Instanzen parallel mit der gleichen Aufgabe betraut und am Ende entscheidet ein Schiedsrichter, wer die bessere Lösung gefunden hat. Eine Art Wettkampf um die beste Lösung für das vorgegebene Ziel. Eine zusätzliche Verfeinerung besteht darin, den Lösungsweg vorab in kleinere Schritte zu zerlegen, die sinnvoll aufeinander aufbauen. Sind die ersten Bausteine für den Lösungsweg vorhanden, können weitere Agenten darauf aufbauen, und damit auch komplexere Aufgaben sinnvoll zu Ende bringen. Hier tut sich eine Option für mehr Parallelverarbeitung auf, weil Teilaufgaben autonom vervollständigt werden.

Der einzige Haken: Diese Strategien kommen mit einem Preisschild. Dadurch dass Versuche mehrfach wiederholt oder parallel von mehreren Agenten ausgeführt werden, werden auch immer mehr Tokens verbraucht. Immer mehr Rechenleistung wird benötigt, der Energieverbrauch steigt.

Zugleich steigt die Ausführungszeit an. Die autonomen Agenten arbeiten teils Stunden oder Tage an der Lösung einer Aufgabe. Dies ist jedoch kein Bug sondern ein Feature, denn entsprechend groß und komplex sind inzwischen die Aufgaben, die mit diesen Methoden lösbar sind. Einige beachtliche Erfolge machen inzwischen die Runde. So hat beispielsweise Cursor in einem Demo-Projekt eine komplette Browser-Engine mit Millionen Codezeilen von Grund auf neu entwickelt innerhalb weniger Tage. Auch "Claude Cowork" – ein neues Produkt von Anthropic – wurde innerhalb weniger Tage von "Claude Code" entwickelt. Ergebnisse, die noch vor 1-2 Jahren völlig undenkbar schienen.

Der aktuelle Hype zu "Clawdbot" – inzwischen umbenannt zunächst zu "Moltbot" und nun zu "OpenClaw" – speist sich aus den beschriebenen Zutaten. OpenClaw hat die Orchestrierungs-Strategien verfeinert und weiter ausgebaut. Der Bot ist in der Lage, dynamisch weitere Skills nachzuladen und neue zu erzeugen. Zudem hat er ein persistentes Gedächtnis und lernt so mit der Zeit, sich auf bestimmte Dinge zu fokussieren. Über täglich gesteuerte Schleifen holt er sich neuen Kontext aus dem Internet und interagiert proaktiv mit seinem Benutzer. Sobald dieser Aufgaben an ihn delegiert, handelt der Bot autonom und interagiert auch mit externen Personen, externen Wissensquellen und anderen Bots. Ein eigenes Bot-Forum namens "Moltbook" sorgt derzeit für Aufsehen, weil es ausschließlich dazu dient, dass sich autonome Bots untereinander austauschen und unter anderem Erfahrungswissen miteinander teilen. Auch dies ist eine Art von Context-Engineering-Pattern. Jedoch eines, das weit über die bisherigen konzeptionellen Beschränkungen von lokalen Agents hinaus geht.

Update: Mit "Antfarm" ist aktuell ein neues Open-Source-Tool erschienen, das die Ansätze von „Ralph“ und „Gastown“ in einem flexibel konfigurierbaren Framework vereint und sich einfach auf „OpenClaw“ installieren lässt. Es verspricht „Ein Agenten-Team auf Knopfdruck“ zu erstellen, welches völlig autonom Software entwickeln kann.

Erfolgsfaktoren

Schaut man sich die Weiterentwicklung der AI Tools und ihrer zugrunde liegenden Pattern rückblickend an, so kann man einige kritische Erfolgsfaktoren identifizieren. Dabei geht es nicht so sehr um einzelne Features von AI Tools, sondern um generelle Strategien auf einer abstrakteren Ebene.

Diese lassen sich auf folgende Faktoren herunter brechen:

  • Context
  • Code
  • Loops

Besserer Context und Code

Ein wesentlicher Erfolgsfaktor ist immer feiner granulierter Context, der hierarchisch organisiert und zur Laufzeit dynamisch an das Sprachmodell ausgeliefert wird. Angereichert um ebenfalls zur Laufzeit generierten Code, der dazu dient, Abkürzungen zu finden, verlässliche Tools zu erzeugen und weiteren Context aus externen Quellen hinzuzufügen.

Damit ist das Context-Engineering auf einem neuen Level angekommen:
Input = Sprache, Code und Daten
Output = Sprache, Code und Daten

Die Grenzen zwischen Code und Sprache verschwimmen zunehmend. Ein Bonmot von Andrej Karpathy beschreibt es so: "The hottest new programming language is English"

Benutzer geben Anweisung in Form von Zielen und Erfolgskriterien. Agenten handeln autonom in Schwärmen und kontrollieren und korrigieren sich selbstständig, bis das vorgegebene Ziel erreicht ist.

Komplexere Patterns

Die Komplexität der Pattern hat sich von einfachen, statischen über dynamische bis zu chaotischen Umsetzungsschritten weiter entwickelt. Das eigentlich paradoxe dabei:
Je einfacher die Input-Pattern zu Beginn der AI Evolution, desto unberechenbarer waren die Ergebnisse (Halluzinationen).
Je chaotischer die Input-Pattern in der fortgeschrittenen Stufe, desto deterministischer wirken die Ergebnisse. Weil in der Summe der Aktionen über viele Schleifen hinweg ein klares Ziel verfolgt und somit divergente Ergebnisse iterativ geglättet werden können.

Hier wird ein weiteres Muster erkennbar. Waren es zunächst einfache Prompts in Textform, aus denen die Anweisungen für LLMs bestanden, so sind es nun hierarchisch organisierte Anweisungen aus Text und Code, die in mehrfach geschachtelten Schleifen verarbeitet werden.

Loops

Hulahoop – Schleife um Schleife

Jede Evolutionsstufe hat eine weitere Schleifen-Ebene hinzugefügt.

Level 1-2: Reasoning Loop
Level 2-3: Agentic Loop
Level 3-4: Ralph Loop / Orchestration Loop

Diese Schleifen sind ineinander verschachtelt und dienen dazu, die eigentlich unvorhersagbaren Ergebnisse des LLM stufenweise auf einen definierten Zielzustand hin zu verdichten.

Das Pattern baut direkt auf den verfeinerten Context-Engineering Strategien auf. Die Möglichkeit, zur Laufzeit dynamisch Code zu generieren ermöglicht es, die Context-Häppchen deterministisch mit den Zwischenergebnissen abzugleichen und den gesamten Prozess in Teilschritten zu steuern.

Dazu kommen weitere Pattern wie Debating, Shuffling, Goal-Matching, um das Risiko von festgefahrenen Schleifen zu durchbrechen und ausreichend Varianz in den Gesamt-Prozess einzusteuern. Frühe Agentic-Loops neigten dazu, bei falschen Entscheidung, sich wiederholende Fehler zu produzieren. Durch bessere Strategien auf der Orchestrierungs-Ebene lassen sich diese Effekte minimieren.

Moderne Bots wie OpenClaw fügen mit Heartbeat weitere Loops jenseits der eigentlichen Tasks hinzu. Sozusagen ein Idle-State für den Agenten, der ihn fortlaufend handlungsbereit macht, auch ohne Benutzer-Interaktion.

Auch auf Modell-Ebene gibt es neue Konzepte wie Recursive Language Models, mit denen das Modell den Kontext effizienter verarbeiten kann. Die Rekursion ist sozusagen eine bedingte Schleife, mit welcher das Modell vorab eine optimale Route auch durch umfangreiche Kontextmengen findet.

Fazit

Es ist zunächst wichtig zu verstehen, dass diese Weiterentwicklung nur in einer logischen Abfolge möglich war. Eine Stufe baut auf den Erfolgen und Misserfolgen der vorigen Stufe auf. Dadurch entsteht Fortschritt aber auch eine Menge Widersprüche.

Deutlich wird dies in Diskussionen oder rückwärtsgewandten Studien, die z.T. die Sinnhaftigkeit von AI Anwendungen grundsätzlich in Frage stellen, ausgehend von Ergebnissen die auf einer früheren Stufe gewonnen wurden. Dazu kommt die rasante Entwicklung im gesamten AI Bereich, einhergehend mit vielen Einzelkonzepten und Buzzwords, die es einerseits schwierig machen, den Überblick zu behalten und ein Verständnis für einzelne Ansätze zu gewinnen. Andererseits liegt darin auch eine Hürde, sich darüber in einer klaren Sprache mit einheitlichen Bedeutungszuweisungen auszutauschen.

Daher ist es hilfreich, sich von der Sicht auf einzelne Anbieter, Tools oder Features zu lösen und zu versuchen, die Dinge auf einer abstrakteren Ebene zu betrachten.

Was dabei unter anderem deutlich wird, ist einerseits die immer weiter fortschreitende Verfeinerung von Strategien. Anderseits aber auch die zunehmende Komplexität und der steigende Ressourcenverbrauch, um letztlich oft einfach erscheinende Dinge zu lösen. Dabei gilt es zu unterscheiden, welche Art Aufgaben man der AI stellt und mit welcher Strategie und welchem Aufwand diese möglicherweise lösbar ist. Auch dies oft noch ein Dilemma – mit Kanonen auf Spatzen schießen macht keinen Sinn, wenn das Ergebnis teuer erkauft wird. Auf der anderen Seite bewegen wir uns mehr und mehr in Aufgabenfelder, die ohne die Hilfe von AI nur schwer oder überhaupt nicht lösbar scheinen.

Denkt man die oben beschrieben Schlussfolgerungen weiter, stellt sich zwangsläufig die Frage, was als nächstes kommen mag.

Die nächste Stufe

Naheliegend ist, dass mit zunehmender Komplexität auch neue Probleme entstehen. Daher könnte es hilfreich sein, die bereits gewonnenen Erkenntnisse und identifizierten Strategien in einer nächsten Stufe neu zu kombinieren. Mit dem Ziel, Komplexität zu reduzieren und einfache Pattern zu etablieren, die sich gegenseitig unterstützen und verstärken.

Wir haben bereits festgestellt, dass immer mehr verschachtelte Schleifen unter den genannten Bedingungen einen immer besseren Fokus produzieren. Was würde passieren, wenn wir diesen Ansatz generalisieren? Nicht einfach noch eine nächste Schleife mit neuen Pattern oben drüber stülpen, sondern eine endlose Schleife als Grundprinzip in den gesamten Prozess einbauen.

Wir haben ebenfalls festgestellt, dass Context-Bereitstellung und die Agent-Loop eng miteinander zusammen hängen. Ein wichtiges Wechselspiel besteht in der häppchenweise Anreicherung von Context durch Tools in Form von Code. Die derzeitige Brücke dafür sind Skills, welche die Agent-Prompts mit Tools und Datenquellen verpackt bereit stellen. So gesehen sind auch Skills nur weitere Context-Quellen. Auch ein Gedächtnis in Form aller bisherigen Ein- und Ausgaben ist eine Form von Context, jedoch mit einer höheren Gewichtung, weil hier die Ziele des Nutzers und die gemachten Erfahrungen codiert werden.

Die effizientere Verwaltung sowohl von aktivem Context für eine Aufgabe, als auch passivem Context in Form von gespeicherten Erinnerungen, ist eine zentrale Aufgabe, die es zu lösen gilt.

Zwar haben LLMs bislang immer größere Kontextfenster erhalten, aber dem sind prinzipbedingt bislang Grenzen gesetzt. Eine Lösung liegt in der Agent-Loop, welche dafür sorgt, dass die begrenzten Kontextfenster mit immer neuen fein granulierten Teilaufgaben bestückt werden. Für die Orchestrierung dieser Teilaufgaben braucht es Ziele, Pläne und Abgleichkriterien, welche ebenfalls als Context in das Gesamtsystem eingehen.

Somit nähern wir uns einem Gebilde, das alle diese Zutaten inhärent in sich vereint. Wenn Anweisungen, Wissen, Gedächtnis und Lösungsstrategien alle Teil der selben Context-Menge werden, besteht die Aussicht, dass dieses System sich selbst organisiert, dazu lernt und potentiell mit jeder weiteren Schleife neue Erkenntnisse gewinnt.

Infinite Loop

Im nächsten Schaubild sind die genannten Zutaten in einem inhärenten System untergebracht.

Die Architektur stützt sich auf folgende Elemente:

Äußerer Kreis = Data & Knowledge
Hier findet die klassische Context-Verarbeitung statt, inklusive Anbindung von Datenquellen. Also das was bislang Prompts, Skills, MCPs und APIs erfüllen.

Innerer Kreis = persistent Memory
Hier kommt ein zusätzlicher Context-Layer ins Spiel, der eine persistente Schicht von Erinnerungen über vergangene Interaktionen, explizit verankertes Wissen und Meta-Informationen zur Steuerung der Verarbeitung enthält.

Agent-Loop = verbindet LLMs, Code, Memory mit dem Context
Die Agent-Loop entspricht der Verarbeitungsschleife für spezifische Tasks, wie zuvor in Stufe 3 beschrieben. Der Agent nutzt Code, um den Verarbeitungsprozess zu optimieren und neue Aktionen ausführen zu können.

Heartbeat-Loop = äußere Schleife
Die äußere Schleife hält das System am laufen. Neben dem kontinuierlichen Triggern der Agent-Loop versorgt sie den Context mit neuem Input, Output und externen Daten und reichert so das Systemwissen an. Denkbar wären auch Input über Sensorik (damit das System seinen eigenen Zustand und den seiner Umgebung erfassen kann) und Updates über neues Weltwissen (welches bislang über das Training der LLMs verfügbar gemacht wird).
Das Ganze verbunden mit der Fähigkeit, Dinge neu zu ordnen und veralteten Context zu vergessen, damit sich das System auf gesunde Weise weiter entwickelt.

Infinite Loop

Zwar kann ich nicht sagen, wie sich ein solches System konkret bauen lässt. Potentiell lässt sich aber erahnen, dass es mit den beschriebenen Eigenschaften in der Lage wäre, eine neue Stufe der zuvor beschriebenen AI Evolution zu erklimmen.

Epilog

Vielleicht ist es eine unendliche Schleife, welche uns zur allgemeinen künstlichen Intelligenz (AGI) bringt? Ein unendlicher Strom an Context, der in unendlichen Wiederholungen destilliert und verdichtet wird, bis das Ergebnis erreicht ist.

Was wird am Ende dabei herauskommen…

42 ?

Vielleicht haben wir dafür dann unendlich viele Tokens und alle Energie der Welt verbraucht, um das zu berechnen.
Egal – lasst es uns herausfinden!

EngageU 2025 European FileMaker Conference

14. November 2025

EngageU 2025

The fourth EngageU Conference took place from November 9 to 11 in Antwerp, Belgium. The organizers from ClickWorks (BE) and SquareMoon (SE) once again put together a thoroughly successful event, surpassing their own records from previous years.

With nearly 250 developers from a total of 27 countries, the conference has become a fixture not only for FileMaker enthusiasts from Europe, but far beyond. Participants came from almost all European countries, North America, Africa, India, Asia, and New Zealand.

Software manufacturer Claris sent a delegation of executives and engineers who were available throughout the event.

EngageU 2025

Program & Highlights

To get everyone in the mood, a tour of Antwerp was offered on Sunday. This was followed by two pre-conference workshops in the afternoon and a social event with beer tasting at a local brewery in the evening.

On Monday morning, the conference organizers held a welcome session. Joris Aarts and Johan Hedman gave a brief overview of how the conference came about, as well as the participants, speakers, sponsors, and conference team. The Hilton Antwerp Old Town, with its huge ballroom, provided an impressive backdrop, complemented by modern stage technology and studio equipment for recording the presentations.

The conference program, with a total of 40 sessions in 4 tracks, kicked off right after the welcome with a keynote from Claris. Giuliano Iacobelli and Robert Holsey showed off some recent customer showcases, presented the roadmap with new features for the upcoming version, and gave an overview of the direction of the Claris platform.

In the session “AI in FileMaker,” Claris presented the new AI features using practical examples such as RAG or locally hosted LLMs. They also presented “Claris MCP,” a new feature that is still in development and will be released soon. This feature allows scripts from your own FileMaker solutions to be made available to external AI agents such as Claude, ChatGPT, or Cursor. Robert Holsey and Lui de la Parra showed demos and explained the MCP interface in detail.

EngageU 2025

This was followed by a colorful bouquet of interesting and substantial sessions, with a clear focus on AI topics once again.

The topics in detail

Highlights included

  • The integration of AI-generated user interfaces in the FileMaker Web Viewer by Stathis Askaridis.
  • Explanations of how fine-tuning, RAG, and LLM servers work by Nicolas Franco Cerame
  • The presentation of the AI integration tool “Proof Chat” by Todd Geist with a series of lessons from the development of the tool
  • Semantic search using AI embeddings to clean up duplicate records by David Weiner
  • A didactically very well-done presentation of various AI topics such as fine-tuning, RAG, and MCP by Wim DeCorte, which provided a great deal of clarity with good examples and metaphors

In addition, there were other AI topics:

  • Ethics + AI by Sara Severson
  • A Strategic Framework for Choosing High-Impact Use Cases by Ian Jempson
  • Introduction to RAG with self-hosted models by Cristina Álvarez Dávila
  • Zero-Schema Reporting via AI by Priyabrata Sahoo
  • Application of Regression Models by Koen Van Hulle and Mireia Llauradó
  • AI-enhanced vibe coding in FM BetterForms by Charles Delfs
  • AI-Driven Prototyping by Mark Allen and Rob Speakman

But a wide range of topics beyond AI were also covered, including

  • FileMaker XML by David Wikström
  • Securing FileMaker Servers Against DDoS Attacks by Claus Lavendt
  • 360Works MirrorSync by Jesse Barnum
  • Data Archiving in the Cloud by Johan Hedman
  • Claris Studio and Claris Connect by Marcelo Piñeyro
  • Interactive SVG Maps in Web Viewer by Javier Dura
  • Hardware Integration and Automation by HOnza Koudelka
  • Application Architecture by Albert Harum-Alvarez
  • FileMaker Server TopCallStats by Tomas Hammar
  • Multi-window Applications by Jan Zelenka
  • New “Found Sets” features by Fabrice Nordmann
  • Performance Lab by HOnza Koudelka
  • Implementation of e-invoicing in Europe and other continents by Leslie Audigane
  • Design patterns by Pearson Huguenin
  • UI visual hierarchy by Alexis Allen
  • DevOps best practices with “Devin” by David Wollesen
  • Integration of FileMaker and n8n by Philipp Puls
  • New MBS Functions by Christian Schmitz
  • Claris Studio Custom Views by Joris Aarts
  • Perform Script on Server by Steve Winter
  • iOS Widgets for Real-time Dashboards by Vincenzo Menanno
  • OData by John Renfrew

EngageU 2025

Community & Networking

On Monday evening, there was a festive dinner at the conference hotel. The large event hall was redecorated and furnished with stylishly set tables under the huge chandelier in the middle of the hall. Accompanied by subtle live music on stage and a 3-course menu served at the tables, there was ample opportunity to engage in intensive conversation with the other participants.

The conference was rounded off on Tuesday afternoon with a panel discussion moderated by FileMaker veteran and podcast legend Matt Navarre. Panelists Todd Geist, Sara Severson, and Robert Holsey from Claris answered questions, provided assessments, and were asked to answer the hypothetical question: “What would you do if you had one wish for the FileMaker platform that was guaranteed to be implemented?” All in all, very exciting insights from different perspectives!

At the end of the conference, the closing session included numerous acknowledgments and an overview of the event, enriched with photos and a fun raffle where gifts from the sponsors were raffled off among the participants still present. The main prize was a conference ticket for next year.

Conclusion

Overall, EngageU once again impressed with its balanced concept, diverse and high-quality presentations, a very professional setup, and the organization and accommodation of participants in a conference hotel that was well suited for the purpose. The exhibition area, located directly between the lecture rooms, offered the opportunity to visit the sponsors‘ stands and chat with other participants during the coffee breaks.

Those who found time to explore the city in addition to the substantial program were rewarded with the charming atmosphere and bustling activity in the narrow streets of Antwerp’s old town around the cathedral and town hall square.

A big thank you goes to everyone who made this special event possible!

EngageU 2025

If you are interested in more details, have a look at the conference website:
https://engageu.eu/

Building AI Agents with n8n and FileMaker (Part 2)

09. August 2025

Building AI Agents with n8n and FileMaker (Part 2)

In the second round of the topic „AI Agents with FileMaker and n8n“, I was able to present new demos at the FMDiSC August Meeting – building on my talk from the Vienna Calling Conference.

Key topics of the presentation:

  • n8n platform
  • AI Agents
  • MCP for FileMaker
  • VibeCoding for FileMaker

Building AI Agents with n8n and FileMaker (Part 2)

Integrating FileMaker and n8n

There are several ways to connect FileMaker with n8n and AI Agents:
1. Use n8n workflows as a feature within a FileMaker solution.
2. Integrate FileMaker as a data source into an n8n workflow.
3. Make high-level functions of a FileMaker solution available to AI Agents via MCP.

The MCP approach, in particular, opens up completely new possibilities.

MCP for FileMaker

n8n can serve as an MCP wrapper to make FileMaker functions accessible to AI Agents.
In the demo, Claude Desktop used MCP tools to:

  • Find and interpret customer data.
  • Retrieve related invoices, analyze them, and have the AI Agent automatically send a professionally worded payment reminder to customers for outstanding items.
  • Schedule customer meetings and automatically enter them into a Google Calendar; the AI Agent drafts and sends the invitation to the customer.
  • Convert business card photos directly into contact records.
  • Automatically generate new invoices for a customer based on product photos.

What’s special is that these tasks require only minimal preparation:

  • The MCP tool gets a descriptive name so the AI Agent can recognize which functions are available.
  • Within the n8n workflow, only the necessary input fields are created, along with text instructions on how to fill them in.
  • No scripting, no JSON, no API calls – the AI Agent organizes the steps through MCP on its own.

Building AI Agents with n8n and FileMaker (Part 2)

VibeCoding for FileMaker

The second part focused on optimizing VibeCoding with Claude.
Claude is one of the most powerful AI developer tools, with deep knowledge of architecture, structure, and logic. It now also includes expertise in FileMaker scripts and the MBS Plugin.
However, hallucinations and invalid function calls can still occur when trying to generate new FileMaker code solely with Claude.

One solution is to provide Claude with relevant documentation and code examples.

Using n8n and Qdrant as a vector store, the full documentation of all MBS Plugin functions was made available as a RAG data source – supplemented with the MBS User Guides and all MBS blog posts.
An n8n AI Agent can now identify the best-suited MBS functions for any given task and provide a description of all necessary calls with appropriate parameters, plus code examples.
The „MBS Code Assistant“ can be accessed by Claude via an MCP server node in n8n to retrieve specific documentation for the chosen solution path and incorporate it directly into the generated code.

Currently, there is still no way to automatically transfer the code generated by Claude into the FileMaker script editor in text form. If limited to custom functions, the result can be pasted directly via copy & paste.
With more than 7,000 MBS functions, this method can be used to create even complex logic and make it available in FileMaker right away.

Outlook

The session concluded with a future scenario for an AI coding agent deeply integrated into the FileMaker development environment.
A complete documentation set for FileMaker and all relevant plugins and tools – with meaningful code examples – could be made available in an LLM-readable format on services like Context7.
Additionally, an automatable interface would be needed to remotely integrate generated code and objects into a FileMaker solution.

Conclusion

New techniques for AI Agents and open protocols like MCP open up a wide range of exciting opportunities in combination with FileMaker – both for integrating existing solutions and for AI-assisted development.
The examples shown demonstrate that these approaches can already be implemented quite easily today using an integration platform like n8n.

Those interested in the basics of n8n should also check out the earlier presentation „Building AI Agents with n8n and FileMaker“ (Part 1).

FileMaker itself also offers many exciting use cases for AI-based applications with its new Version 22.
With n8n, integrations with a wide variety of additional services can be implemented quickly and easily, and orchestrated together with AI Agents.

Overall, it becomes clear that the entire tool chain for AI Agent solutions is changing. Through the combination of tools, models, protocols, relevant content, optimized prompts, and alternative approaches to user interaction, new architectures emerge that extend the existing software landscape.


The presentation slides are available for download here:
FMDiSC – Marcel Moré – Building AI Agents (PDF 5 MB)

YouTube: FMDiSC August Meeting 2025
Marcel Moré: n8n and Al Agents (75 Minutes)

YouTube: FMDiSC August Meeting 2025

References

Building AI Agents with n8n and FileMaker

07. Juni 2025

Building AI Agents with n8n and FileMaker

Introduction to AI Agents with n8n Visual LowCode plattform and FileMaker as presented in Vienna at Vienna Calling 2025 conference.

Please find the session recording, the attached slides, as well as references for further reading.


What if your workflow platform could think? At Vienna Calling, I showed how it’s done – live on stage.

In this session, we explored how to build powerful AI agents using the n8n LowCode platform – with zero hassle and a lot of control. Buzzwords like Agentic Workflows, RAG, MCP, and Vibecoding weren’t just mentioned – they were brought to life in real use cases.

We kicked off with an introduction to n8n and its ability to orchestrate modern LLMs and external tools through visual workflows. With just a few clicks, we connected APIs, documents, and business logic – including a seamless integration with FileMaker Server via the Data API.

Also included: building a RAG pipeline that allows an AI chatbot to search through all MBS plugin documentation and blog posts to build an assistant for FileMaker devs. We used Gemini Flash to extract structured JSON from multi-page PDFs – making invoices machine-readable for downstream processing in FileMaker.

Building AI agents with just a few clicks – adding brain, memory, and tools to orchestrate a workflow. Claude and ChatGPT were tasked with understanding natural language queries – and figuring out, on their own, how to query external tools like Google Calendar or Google Mail together with a FileMaker database via prompt-based reasoning. No hard-coded logic, just smart system prompts.

Finally, we explored how to wrap a FileMaker solution in an MCP Server, enabling it to deliver custom logic to an external AI agent like Claude Desktop – going beyond FileMaker data and turning it into a fully integrated backend brain. Within the demo, the agent was able to reason about different business cases and take actions of its own – to prepare customer communication, draft emails, and set up meeting events in a calendar using just natural language commands.

Feels like magic, but it actually works today!
n8n workflows + LLMs + FileMaker logic wrapped in MCP – all running in one agent, live.

Check out the slides and links below – and start building your own agent-powered workflows.


A session recording is available on YouTube (70 minutes):
Building AI Agents with n8n and FileMaker – Vienna Calling 2025

The presentation slides are available for download here:
Vienna Calling – Marcel Moré – Building AI Agents (PDF 6 MB)

The slides are full of insights and great starting points for your own AI agent journey. Check out the links below.

P.S. If your brain overheated while diving into the hype cycle, cool down with some Falco tunes from Vienna.

Building AI Agents with n8n and FileMaker

n8n References

n8n Deployment

YouTube AI Agent Hype…

Integrating DuckDB with FileMaker (Part 2)

26. November 2024

Integrating DuckDB with node.js as a REST API for FileMaker

2nd Edition of the DuckDB & FileMaker topic, as presented in Malmö at EngageU 2024 conference.

Please find attached Slides and Demo-Files as well as references for further reading. There is also a YouTube Video with the Session recording.

After exploring the technical basics of integrating DuckDB with FileMaker in the first presentation, we are going to take it a step further this time.

The revised demo file contains several examples of accessing local and external data sources in a variety of formats. We read and write CSV and Excel. We scan local directories with wildcards and access data files in the cloud. We query REST APIs with authentication and explore creative edge cases, such as reading data from a web page with a simple SELECT statement.

After we have tried out the very flexible access options, we will turn our attention to the topic of performance again. Using a real-world use case, we will compare the enormous speed of DuckDB with the native options in FileMaker.

Finally, you will learn some best practices for setting up an ETL process from FileMaker, where DuckDB prepares the data for use in analytical dashboards. A demo case with Evidence shows how to easily integrate a dashboard into the FileMaker solution that generated the data.

This presentation offers a balanced mix of background information on the strengths of DuckDB and shows practical approaches for using potent open source tools to supplement the toolbox within FileMaker business solutions.

With the included information and the attached demo file, you have a good starting point for your own experiments. It’s best to get started right away!

The presentation slides are available for download here:
EngageU Presentation – Integrating DuckDB (PDF 15,7 MB)

Demo files (FileMaker and node.js) are available for download here:
DuckDB_Demofiles_v2.zip (ZIP 197 KB)

YouTube EngageU Session Recording:
Marcel Moré – Integrating FileMaker and DuckDB (1 Hour)

Further reading:

EngageU Presentation: Integrating DuckDB with FileMaker

If you solved the first steps and want to dive deeper into the topics of DuckDB, ETL and Dashboards, the following list will help you find further resources.

References: DuckDB

References: DuckDB behind the Scenes

References: Dashboards

EngageU 2024 European FileMaker Conference

23. November 2024

EngageU 2024

Recap of the #EngageU conference, which took place in Malmö/Sweden from Nov, 17th to 19th.

Thanks to the engagement of the independent developer companies Square Moon and ClickWorks, who have joined forces to prepare and present another high-profile event for the Claris FileMaker Community, that was a real highlight to round off 2024 in terms of events.

200 attendees from 25 countries came to Malmö to network and exchange ideas – and, of course – to attend some of the 37 sessions, trainings and panels offered in 4 tracks during the two main conference days.

Not only the community showed up but also Claris, as a main sponsor, joined to start the conference with an official keynote and some interesting strategical and technical news.

The conference team, represented by Johan Hedman and Joris Aarts, held the opening session, talking about their motivation and presenting some impressive numbers about the event.

Followed up with the Claris Keynote by Ryan McCann, the new Claris CEO, with a promising outlook about the ongoing transition of the platform. (You can find out more in the latest episode of The Context Podcast: „Updates from Claris with Ryan McCann„.)

More technical talk afterwards by Andrew LeCates, who recently had his 40 years career anniversary inside Apple, showing some great usecases illustrating the ‚Workplace OS‘ approach of the FileMaker platform.

Wesley Powell got even deeper into technical backgrounds of server architecture, regarding scalability, multi tenency, security, microservices, kubernetes containers, Kafka, MongoDB, etc.

EngageU 2024

Key messages from Claris:

  • Claris is partnering with Apple to expand market share for the Claris products
  • The platform is evolving in regards to revenue and new features
  • Claris Studio and Connect got mature and are serving as Extensions to existing FileMaker solutions
  • AI and Semantic search bringing new capabilities to work with existing data
  • New documentation and learning resources are provided to lower the entry level for new and existing developers

The full conference agenda offered a wide range of topics, from highly specialized technical content to interesting real-word use cases, business topics and presentations of state-of-the-art developer tools.

A central topic was once again AI in various contexts. This complemented nicely the demand for practical use cases and technical capabilities that are supplied by the new FileMaker versions.

If you are interested in more details, have a look at the conference website:
https://engageu.eu/agenda-2024/
The EngageU Team promised to share presentation materials and session videos later. So you can use the rich spectrum of expertise for your own needs.

Thanks to the conference team, to all sponsors and anyone who was involved for making this great event possible!

EngageU 2024

PS: A summary of my own presentation “Integrating FileMaker and DuckDB” is available here on my blog.

Building a REST API for DuckDB

11. Juli 2024

REST API for DuckDB

A step by step guide

Create a REST API using Node.js for remote access of DuckDB. This makes it very easy to embed DuckDB in other applications, such as FileMaker.

With the included demo files (refer to bottom of this post) you can create a running test environment on your local machine within a few minutes. It is of course also possible to install the service on a separate machine and access it via HTTP request. This can be useful to easily integrate DuckDB into an existing production environment as a microservice.

All the necessary steps are explained in the following instructions.

Please note that there is an updated demo file available for download (if you tried out before Nov, 2024).


1) Installation of node.js

Download Prebuilt Installer from the official site:
https://nodejs.org/en/download/prebuilt-installer

Run installer on your machine.

After node.js was installed – check whether the application responds inside your Terminal.

Query version:

node -v

2) Install demo file for API:

Download zip-archive with the demo files.

Create a folder „nodejs“ in the user directory and copy the folder „duckdb-rest-api“ into it.

Now change to the directory with the demo file:

cd /Users/yourname/nodejs/duckdb-rest-api/

Please put your user name in the colored position!

Install and query the current version of nmp (this step is optional because npm is usually installed by the nodejs installer):

npm install npm
npm -v

Now you are ready to install the needed modules for our project.

3) Install/Update the required modules via npm

Make sure that you are in the “duckdb-rest-api” folder. Then run the following command in your Terminal:

npm update

npm will lookup the package.json file for any needed modules and install or update them in the “node_modules” folder. This should work automatically. Since there are different binaries required for different platforms, the node_modules folder is supplied empty when you extract it from the zip-archive. This process ensures that all modules are installed/updated in the correct way for the platform you are using.

After the npm update command is finished, you will find a few log lines ending with a line similar to this:

added 188 packages, and audited 189 packages in 9s

The „node_modules“ folder that was empty before is now updated and should contain a bunch of subfolders with all installed modules (about 120 MBytes).

3 b) Install the required modules manually (optional)

If you are having trouble with npm updating the „node_modules“ folder, you can use this method to load the modules for a fresh installation:

npm install express
npm install duckdb
npm install sql-formatter

4) Start the API script

Change to the „duckdb-rest-api“ folder (if not already done with the above steps) and run the script file:

node duck_v2.js

node is the call to the Node.js engine
duck_v2.js as parameter is the name of the API script file

A message should now appear in the terminal indicating that the API script is running and the local web service has been started:

Server Listening on PORT: 3000

Please note – there a two versions of the script-file available:

  • duck.js Version 1.5 with basic functionality
  • duck_v2.js Version 2.6 with enhanced functionality:
    • Use a named database file for persistence (optional)
    • If no named database file is given, DuckDB will be used with ‚in-memory‘ DB by default
    • GET endpoint ‚/version‘ for version info
    • POST endpoint ‚/format-query‘ for SQL syntax coloring

5) Test query of the API in the browser (optional)

http://127.0.0.1:3000/status

{„Status“: „Running“}

6) Open FileMaker file

Locate the provided demo file DuckDB API.fmp12 and open it with FileMaker Pro. You will find some basic examples to explore the possibilities of DuckDB.

You might study the included scripts and techniques to understand how it works. The file is unlocked and provides more information inside the ‚Read me‘ script.

The FileMaker file communicates with the API via the contained script and sends the entered queries via ‚insert from URL‚ to the address ‚http://127.0.0.1:3000/‚. The responses are decoded accordingly and displayed in the given result field.

FileMaker DuckDB Demo file available for download

That’s it!
You are now able to run the demo requests and start your own experiments.

If you are not using the FileMaker demo file but want to integrate DuckDB into your own environment via the REST API, you can do this by simply sending POST requests to the specified local host URL on port 3000.

Have a look at the duck.js script file where you can find basic documentation about the supported request scheme.

Node.js REST API script is available for download

It might be helpful to send your requests with Postman or a similar tool to understand the structure of the API communication via JSON messages. And to send your own SQL queries to the DuckDB engine.


If you want to deploy the setup on a separate computer or VM, it makes sense to create an autostart script for the REST API. Please refer to the following plist file to make it work via LaunchAgent on MacOS. For other platforms, a similar setup is required in the appropriate way for the respective operating system.

Same is applicable if you want to autostart the script on your local machine.

7) Set up LaunchAgent for Autostart

mkdir -p ~/Library/LaunchAgents
nano ~/Library/LaunchAgents/com.username.nodescript.plist

This creates an empty plist file in the users Library folder with the name ‚com.username.nodescript.plist‘ and opens the empty file with nano editor.

Now you can paste in and modify the following XML snippet:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.username.nodescript</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/local/bin/node</string>
        <string>/Users/yourname/nodejs/duckdb-rest-api/duck_v2.js</string>
    </array>
    <key>WorkingDirectory</key>
    <string>/Users/yourname/nodejs/duckdb-rest-api/</string>
    <key>RunAtLoad</key>
    <true/>
    <key>KeepAlive</key>
    <true/>
</dict>
</plist>

Make sure to put your user name in the colored positions! The LaunchAgent config will not work if you only enter a shorthand for the user directory such as ‚~/nodejs/duckdb-rest-api/‚.

If the plist file with the contained xml snippet is present, MacOS starts the nodejs script file automatically on reboot and ensures that the working directory for the script is set correctly.

The script is executed in the background without a visible terminal window. You can check if the API is available by looking in your browser – see step 5) above.

Start Launch Agent manually:

launchctl load ~/Library/LaunchAgents/com.username.nodescript.plist

Stop Launch Agent manually:

launchctl unload ~/Library/LaunchAgents/com.username.nodescript.plist


Demo files

DuckDB API.fmp12



Demo files (FileMaker and node.js) are available for download here:
DuckDB_Demofiles_v2.zip (ZIP 197 KB)

Further reading:

FileMaker and DuckDB – what’s special about this liaison?

15. Juni 2024

FileMaker + DuckDB

After discovering DuckDB by chance and giving it a try it was time to get a real project done.
I did some experiments and found a way to integrate DuckDB with FileMaker, what was the topic of my presentation for the dotfmp conference in Berlin two weeks ago. After the resonance was quite exciting and feedback by other FileMaker developers was encouraging, I gave it a try to adapt an existing solution to the possibilities of DuckDB.

Get ready for a deep dive

In my first experiments with DuckDB I just touched the surface. Now it was time for a real deep dive…
A few months ago I implemented a project with FileMaker to solve a strategic question in a business case that was unanswered yet.

It was a really complex scenario for analyzing a huge dataset. The approach includes

  • unpacking nested groups of labels
  • normalizing multiline keys
  • aggregating on missing relational data
  • generating data on if-then-else logic
  • calculation of statistical weights upon aggregated results of the whole dataset
  • normalizing the weights upon subsets of the data in several dimensions
  • and finally extrapolation of the whole dataset by a cross product of labels, weights and several measures

The original analysis I created in FileMaker required a rather complicated logic that included

  • generating meta data by scripts
  • multiple loops upon all dimensions and millions of records
  • calculation of intermediate results
  • writing back status flags to the data for being able to filter aggregations

When it finally worked, it took more than 10 hours of processing time. The final results then had to be manually transferred into a huge Excel document to display multiple pivot tables with the results in different dimensions.
The impact of the results were really worth it. But now the decision makers wanted to have this report on a regular basis.

This was an ideal candidate to find out if DuckDB could fulfill the promises I had read about. It took me some days to understand the logic of the approach to this task and to discover more and more of the rich toolset DuckDB offers. Finally the new project got traction and I learned some really neat tricks that were only possible by the powerful and flexible SQL language that is unique to DuckDB and extends the classic SQL by some awesome features like logic for structures, conditionals, nesting, pivoting, regular expressions, string functions, date functions and much more.

Unleashing the power

To make a long story short: Not only was it possible to rework the entire project within a short period of time, but the end result was far more advanced than I could ever have dreamed of.

FileMaker DuckDB
12 Tables, 25 TOs
86 Helper Fields
10 Custom Functions
56 Scripts
1524 Script-Steps
1 Query
27 SELECT Statements

Using DuckDB, it was possible to turn all the data processing into one giant SQL statement consisting of a series of SELECT commands to import all the existing data from CSV files, generate the calculated data and output the results in exactly the form that was needed. Thanks to its in-memory capabilities, the processing time has been reduced from 10 hours to less than 4 seconds(!!).
Really amazing!

FileMaker DuckDB
10 hours 4 seconds

With this power under the hood, I finally went one step further and had DuckDB generate a new dataset consisting of a cross product of the original data with the sliced subdivisions of labels and weights that were calculated as a temp table during the aggregation process. This new dataset consists of about 30 million rows of data, and it only took less than a second to create it, and less than 3 seconds to write 2.8 gigabytes of data to a new CSV file. That said, I did not use a super computer or some scaled out cloud service, but all this happened on my local machine, a MacBook Pro with an M1 CPU.
Awesome!

Go one better…

Now, with the new result set, there is a foundation to build another project on top of this processing pipeline to bring further enhancements to our existing reporting. I had built an OLAP tool in our FileMaker solution, to make sense of transactional data by being able to filter and aggregate by more than 20 dimensions. But since we collected about 25 years of transactions, which means tens of millions of FileMaker records, the processing time in FileMaker got slower and slower over the years. To compensate we migrated the server hardware every few years to the fastest machines that were available at that time.

A typical report needs some minutes to select a subset of the data by find-request and then doing the calculation of the results with summary fields and sorted subsummary-layouts. Which is indeed a nice and flexible way of doing this in FileMaker. But as processing time grew over the years, these powerful features are used less and less by the users who are in need for the results to make business decisions on the data. We ended up creating some scripted reports that are processed overnight once a month and automatically sent to our controlling team as a PDF file.

Now we see some opportunities to advance our OLAP tool for „real time“ analytics with the help of DuckDB. It could then produce final results instantly by the push of a button in the FileMaker user interface. That would be a huge advancement in delivering an interactive tool to find answers on strategical questions on the fly.

It comes down to the simple fact, that big CSV files with shadow tables of all data can serve as a database by its own, as DuckDB is able to process the files in blazing speed. It would be nice to bring the integration of DuckDB and FileMaker some steps further for more elegant interactions but the discovered possibilities by REST API are fair enough to unfold the magic of analytical power and build new ways of interaction with the business data that already exists inside the FileMaker solution.

Conclusion

FileMaker is a great tool that enables us to build critical business solutions by storing and managing data. This is why we often call it a „Database“. In fact, we know it is much more than that, but it has its roots in this category of database software. If you think of DuckDB as just another database, you will miss the point. Yes, it’s true that DuckDB also is in the category of database software, but it has a whole different approach on dealing with data.

While FileMaker is optimized for reading and writing rows of data. DuckDB is optimized for processing and aggregating columns of data, resulting in its unbelievable speed. While FileMaker is optimized for transactions and access by multiple users on a server, DuckDB is optimized for single processes on a single machine, without any features for record locking or network access from multiple users or devices. It just reads, transforms and writes data in very flexible and powerful ways. So each of this two databases has its very own feature set that are ideal in combination because they complement each other nicely.

FileMaker and DuckDB is a winning team! There are many more use cases to be discovered, the journey has only just begun.


Further reading:

dot.fmp 2024

10. Juni 2024

dotfmp 2024

Vom 5. bis zum 9. Juni fand in Berlin die dotfmp Konferenz statt. Knapp 80 Teilnehmer aus 18 Ländern trafen sich erneut zum Austausch über aktuelle FileMaker Themen in den Konferenzräumen der Schankhalle Pfefferberg. Traditionell begann der Auftakt bereits am Mittwoch Abend mit einem Treffen im Prater Biergarten.

An den 3 Konferenztagen wurden parallel in zwei Tracks insgesamt 39 Sessions mit englisch-sprachigen Vorträgen, Diskussionen und Workshops angeboten. Ein Schwerpunkt-Thema war diesmal der Einsatz von KI. Dazu gab es konkrete Fallbeispiele und Anleitungen, wie sich KI in FileMaker-Lösungen integrieren lässt. Sowie ergänzend spannende Hintergrundinfos über LLMs, Embeddings, Semantische Suche und einiges mehr. Aber auch ein bunter Strauß an anderen Themen u.a. zu Claris Studio, Webviewer, Continuous Deployment, Load Balancing, Servermonitoring, Let’s Encrypt, fmeIDE, DataAPI, OData, Inspector Pro, MBS, JSON, FMBetterforms, Security Audits, React, Error Handling, Technical Debt, Logging, DuckDB, Best Practices, uvm.

Beeindruckend war das durchweg hohe Niveau der Themen und Vorträge. Daneben gab es reichlich Gelegenheit, miteinander in den persönlichen Austausch zu kommen. Das bunte Berliner Kneipenviertel rings um den Veranstaltungsort bot vielseitige Möglichkeiten, am Nachmittag und Abend in kleinen Gruppen auszuschwärmen.

Genau diese Kombination aus professionellem KnowHow und der sehr offenen und fast freundschaftlichen Atmosphäre unter den Teilnehmern ist seit 12 Jahren das Erfolgsrezept der dotfmp. Entsprechend wehmütig war die Reaktion auf die Ankündigung seitens des Veranstalters, dass es keine Fortsetzung der dotfmp mehr geben wird. Mit Standing Ovations für Egbert Friedrich und einer spontan organisierten Abschieds-Session mit Foto-Rückblick durch die vergangenen Jahre ging die Veranstaltung am Samstag sehr emotional zu Ende. Ein echtes Privileg, für alle die dabei waren, noch ein letztes Mal in den Spirit dieser besonderen Konferenz einzutauchen.

Danke Egbert!


dotfmp Berlin
https://dotfmp.berlin/welcome

Podcast „Claris Talk AI“
Interviews with Experts at DotFMP Berlin
u.a. Interview mit Matt Navarre und Egbert Friedrich
https://youtu.be/qIlK6PgdsQ4
https://overcast.fm/+BHFoSWCrd4

Integrating DuckDB

08. Juni 2024

Integrating DuckDB with Node.js as a REST API for FileMaker

…with Node.js as a REST API for FileMaker

Please find attached Slides and Demo-Files from my presentation at dot.fmp conference in Berlin.

DuckDB is a rising newcomer on the block. It has a small footprint, is blazingly fast and runs on all platforms. With its extended SQL commands, it goes beyond other database engines and offers an interesting feature set. Optimized for storage in columns, it offers a comprehensive toolset for fast data analysis. With its ability to read data from multiple sources – even directly from cloud storage – it can be used as an ETL tool.

We have a quick look at DuckDB and examine how to integrate it’s power into FileMaker solutions. As an additional benefit you learn how to use node.js to create a simple REST API that is instantly accessible with just a few lines of FileMaker script.

The presentation slides are available for download here:
dotfmp Presentation – Integrating DuckDB (PDF 2,1 MB)

Demo files (FileMaker and node.js) are available for download here:
DuckDB_Demofiles_v2.zip (ZIP 197 KB)

Further reading: