<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
  <title>beetl</title>
  <subtitle>Notizen aus der Arbeit an beetl.</subtitle>
  <link rel="self" type="application/atom+xml" href="https://beetl.io/de/atom.xml"/>
  <link rel="alternate" type="text/html" href="https://beetl.io/de/blog/"/>
  <updated>2026-11-12T00:00:00+00:00</updated>
  <id>https://beetl.io/de/atom.xml</id>
  <entry xml:lang="de">
    <title>Soll ich die Heizung anmachen? Ich habe die deutschen Gasspeicherdaten gefragt</title>
    <published>2026-11-10T00:00:00+00:00</published>
    <updated>2026-11-12T00:00:00+00:00</updated>
    <author><name>Ray Kameda</name></author>
    <link rel="alternate" type="text/html" href="https://beetl.io/de/blog/should-i-turn-my-heating-on-germany-gas-storage/"/>
    <id>https://beetl.io/de/blog/should-i-turn-my-heating-on-germany-gas-storage/</id>
    <summary type="html">&lt;!-- Zahlen Stand Gastag 7. Nov. 2026, sofern nicht anders angegeben (Rangliste: 8. Nov.). Quellen und Prüfvermerke: siehe index.md. --&gt;&lt;p&gt;Es ist November in Berlin, morgens 1 °C, und ich habe die Heizung immer noch nicht angemacht. Zum Teil, um Geld zu sparen. Zum Teil, weil ich gelesen hatte, dass die deutschen Gasspeicher dieses Jahr niedrig sind, und ein sturer Teil von mir dachte, jeder Heizkörper zählt.&lt;/p&gt;
</summary>
  </entry>
  <entry xml:lang="de">
    <title>Entscheidungsmodelle in einem produktiven KI-Agenten: Was wir gelernt haben</title>
    <published>2026-10-07T00:00:00+00:00</published>
    <updated>2026-10-07T00:00:00+00:00</updated>
    <author><name>Bougouma Fall</name></author>
    <link rel="alternate" type="text/html" href="https://beetl.io/de/blog/decision-models-in-a-production-agent/"/>
    <id>https://beetl.io/de/blog/decision-models-in-a-production-agent/</id>
    <summary type="html">&lt;aside class=&quot;tldr&quot;&gt;&lt;p&gt;Wir haben Beetls KI-Agenten ein Entscheidungsmodell für zwei Aufgaben gegeben: auswählen, welche Datensätze für eine Frage wichtig sind, und Berichte von Automations gegenprüfen. Getestet haben wir zwei, Jev von TypeSafe und die neue Decisions API von OpenAI, über denselben OpenRouter-Endpunkt. Jev fand die richtigen Datensätze in 97 % der Fälle, die Decisions API in 91 %, und wenn eines der beiden die Datensätze sortierte, suchte der Agent über ein Viertel seltener. Die Decisions API antwortet jedes Mal gleich, ist sich aber auch dann sicher, wenn sie falsch liegt; Jev wägt ab. Keine Prompt-Injection, die wir versucht haben, hat die Antworten eines der beiden Modelle verändert. Große Kataloge brauchen eine zweite Bewertungsrunde, und das Ganze bleibt vorerst ein Experiment.&lt;/p&gt;
&lt;/aside&gt;&lt;p&gt;Die meiste KI in Beetl ist heute ein großes Sprachmodell in einer Schleife. Unser Assistent liest die Frage, ruft Tools wie &lt;code&gt;list_data_sets&lt;/code&gt; und &lt;code&gt;execute_query&lt;/code&gt; auf und schreibt eine Antwort. Automations machen dasselbe nach Zeitplan: Sie prüfen eine Bedingung in den Daten und schreiben einen Bericht, der mit einem Befund endet, entweder „Clear“ oder „Needs attention“.&lt;/p&gt;
&lt;p&gt;Viele Entscheidungen in dieser Schleife sind klein: Ist dieser Datensatz relevant? Zeigt dieser Bericht wirklich, was er behauptet? Hat sich seit dem letzten Lauf etwas geändert? Jede davon kostet heute einen vollen Aufruf des Sprachmodells, oder sie findet gar nicht statt.&lt;/p&gt;
&lt;p&gt;Entscheidungsmodelle sind eine neue Art von Modell, gebaut für genau solche Fragen. Wir haben zwei Tage damit verbracht, eines in Beetl einzubauen und es mit unserer eigenen Evaluierungssuite zu messen. Dann hat OpenAI ein eigenes veröffentlicht, und wir haben dieselben Tests damit durchgeführt. In diesem Beitrag steht, was wir herausgefunden haben.&lt;/p&gt;
</summary>
  </entry>
  <entry xml:lang="de">
    <title>Wie wir 20 Integrationen an einem Tag geschrieben haben</title>
    <published>2026-09-14T00:00:00+00:00</published>
    <updated>2026-09-14T00:00:00+00:00</updated>
    <author><name>Michele Vigilante</name></author>
    <link rel="alternate" type="text/html" href="https://beetl.io/de/blog/how-we-wrote-20-integrations-in-one-day/"/>
    <id>https://beetl.io/de/blog/how-we-wrote-20-integrations-in-one-day/</id>
    <summary type="html">&lt;aside class=&quot;tldr&quot;&gt;&lt;p&gt;Beetl Connect hält den Integrationscode klein: Es kümmert sich ums Abrufen der Daten, SDK und Plattform übernehmen die gemeinsamen Aufgaben. Mit einem Coding Agent konnten wir so an einem Tag 20 Integrationen schreiben und erste Tests durchführen. Danach kam unser Code Review. Dieselben Werkzeuge stehen auch für individuelle Integrationen zur Verfügung, die wir oder unsere Kunden selbst schreiben.&lt;/p&gt;
&lt;/aside&gt;&lt;p&gt;Wir wollten, dass Beetl-Nutzer ihre Geschäftsanwendungen verbinden und die Daten gemeinsam auswerten können. Zum Beispiel Deals aus HubSpot mit Rechnungen aus der Buchhaltung abgleichen.&lt;/p&gt;
&lt;p&gt;Zuerst müssen wir diese Daten in Beetl bekommen. Dafür haben wir &lt;a href=&quot;https://beetlio.github.io/connect/&quot;&gt;Beetl Connect&lt;/a&gt; gebaut: ein Toolkit, das den Code zum Abrufen der Daten klein hält. Um die Ausführung kümmert sich unsere Plattform.&lt;/p&gt;
&lt;p&gt;Mit Connect bauen wir fertige Integrationen für unseren Katalog und können schnell individuelle Varianten für einzelne Kunden entwickeln. Etwa um eine interne Anwendung anzubinden oder Daten so abzurufen, wie ein bestimmter Kunde sie braucht. Beides nutzt dasselbe Toolkit und läuft auf derselben Infrastruktur.&lt;/p&gt;
&lt;p&gt;Mit Connect und einem Coding Agent haben wir an einem Tag 20 Integrationen geschrieben und erste Tests durchgeführt. An HubSpot lässt sich gut zeigen, wie wir dabei vorgegangen sind.&lt;/p&gt;
</summary>
  </entry>
  <entry xml:lang="de">
    <title>Fivetran stellt das Löschen von Daten in Rechnung</title>
    <published>2026-08-26T00:00:00+00:00</published>
    <updated>2026-08-26T00:00:00+00:00</updated>
    <author><name>Ray Kameda</name></author>
    <link rel="alternate" type="text/html" href="https://beetl.io/de/blog/fivetran-what-you-dont-own/"/>
    <id>https://beetl.io/de/blog/fivetran-what-you-dont-own/</id>
    <summary type="html">Seit 1. Januar 2026 zählen gelöschte Zeilen zu den bezahlten Monthly Active Rows. Was einen Full Table Re-Sync auslöst, dokumentiert Fivetran ebenfalls selbst.</summary>
  </entry>
  <entry xml:lang="de">
    <title>AI Automations für die unsaubere Hälfte der Datenqualität</title>
    <published>2026-08-18T00:00:00+00:00</published>
    <updated>2026-08-18T00:00:00+00:00</updated>
    <author><name>Michele Vigilante</name></author>
    <link rel="alternate" type="text/html" href="https://beetl.io/de/blog/feature-spotlight-ai-automations/"/>
    <id>https://beetl.io/de/blog/feature-spotlight-ai-automations/</id>
    <summary type="html">&lt;p&gt;Ich hatte schon länger über dieses Feature nachgedacht, weil wir die meisten Bausteine bereits hatten: Pipelines, eine Query Engine, Scheduling, Run History und einen AI Assistant, der Daten untersuchen kann. Aus diesen Bausteinen wollte ich einen täglichen Check bauen, der mir sagt, ob die Daten noch stimmen.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://docs.beetl.io/automations/&quot;&gt;AI Automations&lt;/a&gt; (Dokumentation auf Englisch) sind zeitgesteuerte oder manuell gestartete Checks in Beetl. Man beschreibt in eigenen Worten, was Beetl abchecken soll. Beetl untersucht daraufhin die aktuellen Daten mit read-only SQL und meldet Healthy, Needs attention oder Failed.&lt;/p&gt;
&lt;p&gt;Natürlich geht das bereits deterministisch. Man schreibt eine Query, erwartet, dass sie keine Zeilen zurückgibt, und löst einen Alert aus, sobald sie das doch tut. Für eine klar definierte Invariante ist das oft genau richtig.&lt;/p&gt;
&lt;p&gt;Ein deterministischer Check deckt nur die Bedingungen ab, die in seiner Query stehen. Sobald Ausnahmen oder neue Werte aus den Quellsystemen auftauchen, muss die Query angepasst werden. Sonst werden ihre Ergebnisse zunehmend unbrauchbar.&lt;/p&gt;
&lt;p&gt;Ich wollte einen Check, der selbstständiger arbeitet und die nächsten Untersuchungsschritte selbst wählen kann. Ich wollte nur das gewünschte Ergebnis beschreiben. Das System sollte sich anschließend das Schema ansehen, Datenstichproben ziehen, Queries schreiben und auffällige Ergebnisse genauer untersuchen. Alle Queries mussten read-only bleiben, und ich wollte jeden Schritt samt Ergebnis nachvollziehen können.&lt;/p&gt;
</summary>
  </entry>
  <entry xml:lang="de">
    <title>Sie haben bereits BI. Was fehlt, sind verlässlich verknüpfte Daten.</title>
    <published>2026-08-11T00:00:00+00:00</published>
    <updated>2026-08-11T00:00:00+00:00</updated>
    <author><name>Ray Kameda</name></author>
    <link rel="alternate" type="text/html" href="https://beetl.io/de/blog/you-already-have-bi/"/>
    <id>https://beetl.io/de/blog/you-already-have-bi/</id>
    <summary type="html">Wenn Sie ein BI-Tool haben und Ihrem Reporting trotzdem nicht trauen, liegt es selten am Tool. Die fehlende Arbeit liegt eine Ebene darunter.</summary>
  </entry>
  <entry xml:lang="de">
    <title>Das Mapping, das Ihr ERP-Anbieter nie dokumentiert hat</title>
    <published>2026-08-04T00:00:00+00:00</published>
    <updated>2026-08-04T00:00:00+00:00</updated>
    <author><name>Ray Kameda</name></author>
    <link rel="alternate" type="text/html" href="https://beetl.io/de/blog/erp-migration-undocumented-mapping/"/>
    <id>https://beetl.io/de/blog/erp-migration-undocumented-mapping/</id>
    <summary type="html">Bei einer ERP-Migration ist der Export einfach. Schwierig ist die undokumentierte Geschäftslogik im Altsystem, und sie vor dem Go-Live wiederherzustellen.</summary>
  </entry>
  <entry xml:lang="de">
    <title>Warum datenbasierte Entscheidungen im Alltag so schwer sind</title>
    <published>2026-08-01T00:00:00+00:00</published>
    <updated>2026-08-01T00:00:00+00:00</updated>
    <author><name>Michele Vigilante</name></author>
    <link rel="alternate" type="text/html" href="https://beetl.io/de/blog/warum-datenbasierte-entscheidungen-im-alltag-so-schwer-sind/"/>
    <id>https://beetl.io/de/blog/warum-datenbasierte-entscheidungen-im-alltag-so-schwer-sind/</id>
    <summary type="html">&lt;p&gt;Die meisten Unternehmen haben bereits die Daten, mit denen sich eine wichtige Entscheidung verbessern ließe. Diese Datensätze liegen in mehreren operativen Systemen und müssen so zusammengeführt werden, dass ein Ergebnis rechtzeitig ankommt, geprüft werden kann und nach der ersten Analyse weiterhin verlässlich funktioniert. Diesen Weg für jede Frage neu zu bauen, ist besonders für ein Unternehmen ohne eigenes Datenteam aufwendig.&lt;/p&gt;
&lt;p&gt;Für mich liegt genau in dieser wiederholten Integrationsarbeit das größte Hindernis für datenbasierte Entscheidungen im Alltag. Deshalb bauen wir Beetl: Ein Unternehmen sollte mit einer wiederkehrenden Entscheidung anfangen und die Verbindungen, Zuordnungen, Deployments und Überwachungsmechanismen für die nächste wiederverwenden können. Auch spätere KI-Systeme greifen auf diese Verbindungen und Definitionen zurück.&lt;/p&gt;
</summary>
  </entry>
  <entry xml:lang="de">
    <title>Wie Excel und Power BI das Konzernreporting nach M&amp;A zusammenhalten</title>
    <published>2026-05-27T00:00:00+00:00</published>
    <updated>2026-05-27T00:00:00+00:00</updated>
    <author><name>Ray Kameda</name></author>
    <link rel="alternate" type="text/html" href="https://beetl.io/de/blog/excel-power-bi-handoff-post-merger/"/>
    <id>https://beetl.io/de/blog/excel-power-bi-handoff-post-merger/</id>
    <summary type="html">&lt;p&gt;Monate oder Jahre nach einer Fertigungsübernahme ist die Excel-Arbeitsmappe die eigentliche Konsolidierungs-Engine. Die Power-BI-Karte zeigt die fertige Zahl, aber nie die Formel oder den Kommentar daneben. Genau das geht beim Jahresabschluss-Audit verloren.&lt;/p&gt;
</summary>
  </entry>
  <entry xml:lang="de">
    <title>Lässt sich die Auftragsmarge ablesen, solange die Schicht läuft?</title>
    <published>2026-05-23T00:00:00+00:00</published>
    <updated>2026-05-23T00:00:00+00:00</updated>
    <author><name>Ray Kameda</name></author>
    <link rel="alternate" type="text/html" href="https://beetl.io/de/blog/can-you-see-per-order-margin-during-the-shift/"/>
    <id>https://beetl.io/de/blog/can-you-see-per-order-margin-during-the-shift/</id>
    <summary type="html">&lt;p&gt;Über die tatsächliche Gewinnmarge eines Fertigungsauftrags entscheidet sich meist während der Schicht, doch kaum ein Werk kann sie sehen, solange die Schicht läuft. &lt;/p&gt;
</summary>
  </entry>
  <entry xml:lang="de">
    <title>Anatomie eines 5:4-Champions-League-Thrillers: Eine Football-Data-Case-Study</title>
    <published>2026-05-15T00:00:00+00:00</published>
    <updated>2026-05-15T00:00:00+00:00</updated>
    <author><name>Ray Kameda</name></author>
    <link rel="alternate" type="text/html" href="https://beetl.io/de/blog/anatomy-of-a-5-4-champions-league-thriller/"/>
    <id>https://beetl.io/de/blog/anatomy-of-a-5-4-champions-league-thriller/</id>
    <summary type="html">&lt;p&gt;Champions-League-Knockout-Spiele enden normalerweise nicht 5:4. Das Halbfinal-Hinspiel zwischen PSG und Bayern im April schon. Bayern hatte 57 % Ballbesitz, ein xG von 3,06 gegenüber PSGs 1,90 und sechs Big Chances gegenüber zwei von PSG. Trotzdem gewann PSG. Ich bin in die Daten gegangen, um zu verstehen, was da passiert sein könnte.&lt;/p&gt;
</summary>
  </entry>
  <entry xml:lang="de">
    <title>Die DACH-Fertigung verliert bei der Digitalisierung den Anschluss</title>
    <published>2026-04-30T00:00:00+00:00</published>
    <updated>2026-05-23T00:00:00+00:00</updated>
    <author><name>Michele Vigilante</name></author>
    <link rel="alternate" type="text/html" href="https://beetl.io/de/blog/why-mittelstand-manufacturers-arent-using-their-data/"/>
    <id>https://beetl.io/de/blog/why-mittelstand-manufacturers-arent-using-their-data/</id>
    <summary type="html">&lt;p&gt;Fertigungsunternehmen im DACH-Mittelstand sitzen auf einer großen Menge wertvoller Daten, und fast niemand nutzt sie wirklich gut. Ich habe in den letzten Monaten mit Werksleiter:innen, Controller:innen und Eigentümer:innen in der Region gesprochen, zuletzt vergangene Woche auf der Hannover Messe. Das Muster ist immer wieder dasselbe: Die Daten sind da. Alle wissen, dass sie da sind. Aber sie lassen sich kaum sinnvoll nutzen.&lt;/p&gt;
</summary>
  </entry>
</feed>
