Andreas Spiess: Why AI agents replaced the Arduino IDE

Sehr spannendes Video von Andreas Spiess. Der Titel klingt fast noch harmlos im Vergleich zur Beschreibung:

The transition from “coder” to “architect” is the biggest productivity jump I’ve experienced in 40 years of electronics.

Dabei geht Andreas (S.) – wie von ihm bekannt – fundiert vor und weit über vibe coding hinaus. Vibe coding bezeichnet er bei seinem Ansatz nur als Schritt null von zehn!


(screenshot aus dem Video)

2 Likes

Meine Erwartungen und Befürchtungen von KI sind unterschiedlich zu denen von Andreas Spiess, den ich seit Jahren gerne verfolge. Aus meiner Sicht ist KI eine SuperSuchmaschine, die sehr schnell alles mögliche durchsuchen kann. Und nur finden kann, was es schon gibt.

Etwas was es nicht gibt, kann sie auch nicht finden. Z.B die Wildbienenkamera ( Thread : Sensortechnik für Wildbienen-Nistorte ), die ich gerade entwickle. Zwar hilft mir die KI beim Finden von Bauteilen und beim Programmieren, aber einen funktionierenden Bauplan habe ich noch nicht gefunden, auch wenn sich Programmierfehler viel schneller finden lassen.

Ich werde noch viel selbst machen müssen.

Aus meiner beruflichen Perspektive als Softwareentwickler kann ich dem Zitat von Andreas nur zustimmen. Es gibt zwar Studien, die zeigen, dass Entwickler:innen durch LLMs langsamer geworden sind – das bezog sich aber meines Wissens vor allem auf die frühe Phase, als noch lokal mit den Modellen gearbeitet wurde.

Mittlerweile, mit Agents, die nicht mal mehr auf meinem Laptop laufen, sondern parallel als eigenständige Instanzen agieren – jeder mit eigenem Chrome-Zugriff und der Fähigkeit, Testläufe durchzuführen – erlebe ich einen deutlichen Produktivitätsschub.

  • X Tickets auf X Repos werden auf X Agents verteilt (wichtig: Überschneidungen minimieren, um Merge-Konflikte zu vermeiden).

  • Erstes Pull-Request-Review via Copilot.

  • Danach mein manuelles Review, bei dem ich entscheide, ob bestimmte Features von Agents nachgebessert werden sollen.

  • Finales Review durch mich, bevor es in die Pipeline und ins Staging-Environment geht.

  • Während die Agents laufen, kümmere ich mich um E-Mails, Chats und Architektur-Entscheidungen.

Das größte Problem ist aktuell, den Überblick zu behalten und irgendwie fühlt sich alles wieder stressiger an. Vielleicht liegt das einfach am Zeitgeist: Zeit scheint immer schneller zu vergehen.

Persönliche Pain Points:

  • Ich bin dabei, langsam von GitHub zu Codeberg zu migrieren, aber die Agent-Integration bei GitHub ist einfach unschlagbar.

  • Ich würde gerne mehr mit Mistral (Vibe/Code) arbeiten, aber für Frontend ist Claude und für Backend/Node-Projekte Gemini momentan einfach überlegen.


OpenClaw’s Philosophie mit seinen “automonos” (cron-job, pull) Agents wäre ja dann die nächste Stufe welcher sich selbstständig Tickets zuweist aus Diskussionen und auch im Chat antwortet, aber das ist mir Sicherheitstechnisch und Datenschutztechnisch noch bissl zu weit hergegriffen und dann würde ich entgültig den Überblick verlieren.

Cheers

Hannes

1 Like

Agentic Engineering ohne Programmierkenntnisse Warum 90 % scheitern

Was ich bei der Diskussion sehr interessant finde ist, dass in meiner Entwickler-Welt das “Coding” gar nicht den Platz einnimmt und auch nicht “der” Zeitfresser ist.

Bei mir sind es dann eher Tests & Debuggen, Feld-Tests und ggf. Redesign. Aber da gibt es sicher auch ganz andere Erfahrungen.

1 Like

Absolut es ist halt ein anderes “programmieren” geworden und ohne Grundkentnisse würde ich behaupten ist es (derzeit) noch ziemlich schwer, aber man muss ja nur schauen wo wir vor 6 Monaten waren. Coding selbst ist eh bei den meisten Dingen Zweitranging, außer man ist wirklich an der Frontier und erstellt neue Algos oder in einem Bereich wie EmbeddedSystem oder so wo es auf jeden Byte ankommt. Auch mit meinen Agents rede ich oft in Pseudocode und da ich nie wirklich Programmieren gelernt habe kann ich auch keine Algos aus den Kopf (einen btree selber Erstellen nope :wink: ).

Man muss auch immer aufpassen, dass man gewisse Dinge eigentlich selber viel schneller erledigt haben hätte können.

Hier ein einfaches Beispiel Implementierung einer llms-full.txt, was mich wahrscheinlich 2 Minuten gekostet hätte aber so viel länger weil ich angeschaut habe was er gemacht hat und ich nicht damit zufrieden war etc. Der einzige Vorteil, ich habe es komplett Nebenher gemacht weil ich die llms-full.txt für eine neue WizBee Integration für mich brauche.

Es gibt zur ersten Folge vom Februar ein Nachfolge-Video mit einem deep dive, darin als Beispiel der ESP32:

Semi passend dazu, habe dieses Quartal meine Buchhaltung zu 100% von Claude (GitHub Copilot CLI) machen lassen. Was mir wieder zeigt, man muss sich einfach nur langsam sich daran gewöhnen wie damit umgehen. Ist bisschen wie früher der “richtig googlen” ein Skill für sich war.

Hier eine kurze Zusammenfassung:

Buchhaltungsoftware: www.foxyoffice.eu
Struktur: Root Ordner mit allen meinen Belegen, ER und AR die noch nicht verbucht sind. Sub-Folder für verbuchte Belege.

Im Root Ordner eine `Introduction.md` file mit der Ordner Beschreibung eg `YYYY/AR` `YYYY/ER` sowie meine Naming Schemes. Auch eine `AGENTS.md` was mit AR/ER Rechnungen zu machen ist.

Danach zwei Skills, ein Skill der PDF → Text Umwandeln in einen tmp folder. Sowie ein zweiter der verschiedene API Calls predefiniert hat für foxy office. Zu jeden Skill noch eine `SKILL.md` als Beschreibung (PDF Umwandler ist zB python mittels `pdfminer` und die API calls gehen über `curl`).

Die ganzen Dateien wurden erstellt mithilfe von Claude selbst, habe nie eine Zeile code angegriffen.

Wichtig ist beim Anfang macht er Fehler und jedesmal wenn er einen Fehlermacht soll er es selbst aufschreiben damit der Fehler nur einmal passiert.

Fall-Back / Sicherheit:

  • Gesamter Ordner ist ein locales .git dh. ich kann Änderungen auch “einfach” reverten
  • Foxy Office muss man angelegte Buchungen ein zweites mal bestätigen bevor sie entgültig sind, dh. man kann zum Schluss nochmal über alles drüber schauen und ggf. ändern ohne eine Stornierung buchen zu müssen.

Beispiel einer Domain Buchung

AGENT.md

# Copilot Agent – Buchhaltungsassistent

Du bist ein erfahrener Buchhalter und hilfst beim Verbuchen von Eingangs- und Ausgangsrechnungen in **Foxy Office**.

## Kontext

Der Benutzer betreibt eine Firma und verwaltet die Buchhaltung in der folgenden Ordnerstruktur (Details siehe `instructions.md`):

- `YYYY/AR/` – Ausgangsrechnungen (an Kunden)
- `YYYY/ER/` – Eingangsrechnungen (von Lieferanten)
- `YYYY/Belege/` – Zahlungsbelege & Bankauszüge
- Root-Ordner – noch nicht bearbeitete / noch nicht verbuchte Dateien

## Deine Aufgaben

### Ausgangsrechnungen (AR)
- Hilf beim Prüfen und Verbuchen von Ausgangsrechnungen in Foxy Office.
- Benenne Dateien korrekt um: `AR Originaldateiname Buchungsnummer-Jahr.pdf` (Originaldateiname ohne Erweiterung)
- Verschiebe Dateien nach dem Verbuchen in `YYYY/AR/`.

### Eingangsrechnungen (ER)
- Hilf beim Prüfen und Verbuchen von Eingangsrechnungen in Foxy Office.
- Benenne Dateien korrekt um: `ER Datum Dateiname Buchungsnummer-Jahr.pdf`
- Verschiebe Dateien nach dem Verbuchen in `YYYY/ER/`.

### Belege
- Benenne Belege korrekt um: `Buchungsnummer-Jahr.pdf`
- Bei Belegen, die zwei Buchungen abdecken: `Buchungsnummer-Jahr / Buchungsnummer-Jahr.pdf`
- Verschiebe Dateien nach dem Verbuchen in `YYYY/Belege/`.

## Verhalten

- Führe zu Beginn jeder Session **immer zuerst** `python3 .github/skills/pdf-to-text/convert.py` aus, um alle Roh-PDFs im Root-Ordner in `.tmp/pdf-text/*.txt` zu konvertieren. Danach kannst du den Inhalt der PDFs mit `@.tmp/pdf-text/<dateiname>.txt` lesen.
- Frage aktiv nach der Buchungsnummer, wenn eine Datei noch keine hat.
- **Buchungsnummer-Präfixe** (sequenziell pro Jahr, entsprechen FoxyOffice `document_number`):
  - `BKN` (z.B. `BK1`) für Bank-Zahlungen (`payment_method_id=2`), inkl. Mollie-Auszahlungen
  - **Mollie-Ausgangsrechnungen (AR):** Mollie zahlt den Kundenbetrag abzüglich Mollie-Gebühren auf das Bankkonto aus (z.B. €54.26 statt €55.00). Es wird trotzdem der **volle Rechnungsbetrag** (€55.00) als Einnahme gebucht — die Differenz sind Mollie-Gebühren, die über eine separate Mollie-Rechnung verbucht werden (ER, Konto 7790). Der Bankbeleg zeigt den Partner **„Stichting Mollie Payments"** mit dem reduzierten Betrag.
  - `PPN` (z.B. `PP1`) für PayPal-Zahlungen (`payment_method_id=5`)
  - **PayPal-Ausgangsrechnungen (AR):** Zusätzlich zur Einnahmebuchung immer eine **separate Ausgabenbuchung** für die PayPal-Gebühr anlegen (Konto **7790**, `ig_leistung`, 0% MwSt., PayPal-Zahlungsart). Beide Buchungen bekommen eigene `PPN`-Nummern. Der Beleg-PDF bekommt beide Nummern im Dateinamen: `PP3-2026 PP4-2026.pdf`.
  - **Vor dem Umbenennen einer Datei immer `get-entries` aufrufen** und die `document_number` des neu erstellten Eintrags auslesen — niemals aus bestehenden Dateinamen ableiten (Einnahmen und gelöschte Einträge können die Sequenz verschieben).
- Schlage den richtigen Zielordner vor, bevor du eine Datei verschiebst.
- Um den passenden Bankbeleg (Beleg) zu einer Buchung zu finden, durchsuche die monatliche CSV-Datei `AT052081500045073715_YYYY-MM-DD_YYYY-MM-DD.csv` (UTF-16) nach Betrag und Datum. Negative Beträge = Ausgaben.
- Antworte auf Deutsch, außer der Benutzer spricht Englisch.