In dit landschap van agentic AI is er een wildgroei aan frameworks en bibliotheken. Veel ontwikkelaars knopen Python-scripts aan elkaar met bibliotheken zoals LangChain of AutoGen. Dit werkt voor prototypes. Breng je dit naar een productieomgeving dan zijn prestaties, beveiliging en complexiteit dikwijls een probleem.
OpenFang positioneert zichzelf niet als het zoveelste framework, maar als een volledig Agent Operating System. In dit artikel bekijken we wat OpenFang precies is, hoe de architectuur werkt en waarin het fundamenteel verschilt van de huidige generatie agent orchestrators.
Wat is OpenFang precies?
OpenFang is een open-source besturingssysteem voor AI-agents, volledig geschreven in Rust. In tegenstelling tot de meeste huidige AI-tools die zwaar leunen op Python, kiest OpenFang voor een benadering die dichter bij de hardware ligt. Het resultaat is één enkele applicatie die alles bevat wat je nodig hebt: 30 vooraf gebouwde agents, 40 kanaal-adapters, 38 tools en ondersteuning voor 26 verschillende LLM-providers.
De kernfilosofie achter OpenFang is dat agents niet slechts scripts moeten zijn die reageren op een chatbericht. Het moeten robuuste, autonome entiteiten zijn die werken in een beveiligde omgeving. Het systeem bestaat uit ongeveer 137.000 regels Rust-code en is opgedeeld in 14 verschillende ‘crates’ (modules in Rust), wat zorgt voor een modulaire maar strak geïntegreerde architectuur. Het doel is om een productie-klare omgeving te bieden die direct werkt.
De verschuiving van Chat naar Hands
Een van de meest onderscheidende concepten binnen OpenFang is het idee van Hands. In de traditionele interactie met AI ben jij de initiator. Jij typt een prompt, de AI antwoordt. Dit is reactief. OpenFang draait dit om met autonome capability packages, oftewel Hands.
Hands zijn vooraf gebouwde agents die voor jou werken, vaak op basis van schema’s of triggers, in plaats van te wachten op input. Ze bouwen knowledgegraphs op, rapporteren aan een dashboard en voeren complexe workflows uit. Enkele voorbeelden van deze Hands zijn:
- Lead: Een autonome lead-generatie agent. Deze zoekt dagelijks naar gekwalificeerde leads, verrijkt de data, scoort de leads en ontdubbelt ze. Het bouwt profielen op van je ideale klant (ICP) zonder dat je elke dag opnieuw een zoekopdracht hoeft te geven.
- Researcher: Een diepgaande onderzoeksagent. Waar een standaard chatbot vaak hallucineert, is deze agent ontworpen om bronnen te kruisverwijzen en feiten te checken volgens de CRAAP-methode (Currency, Relevance, Authority, Accuracy, Purpose). Het genereert rapporten met citaten in meerdere talen.
- Predictor: Een superforecasting engine. Deze verzamelt signalen, bouwt redeneerketens op en maakt voorspellingen, waarbij de nauwkeurigheid wordt bijgehouden via Brier-scores.
- Clip: Een creatieve agent die lange video’s omzet in virale korte clips (Shorts/Reels), compleet met ondertiteling, thumbnails en optionele AI-voice-overs, en deze vervolgens kan publiceren.
Dit concept van Hands illustreert de stap van AI als assistent naar AI als werknemer. Je activeert een Hand, configureert deze via een TOML-bestand, en laat hem zijn werk doen.
De Architectuur: Waarom Rust en WASM?
Om te begrijpen waarom OpenFang anders is, moeten we onder de motorkap kijken. De keuze voor Rust is niet toevallig. Veel huidige agent-frameworks kampen met traagheid en een hoog geheugenverbruik, vooral wanneer meerdere agents tegelijkertijd draaien. OpenFang claimt kernelgrade prestaties. Dit betekent snelle opstarttijden (cold start), een kleine voetafdruk in het geheugen en type-veiligheid die veel bugs voorkomt voordat de code überhaupt draait.
Sandboxed Execution met WASM
Een groot risico bij autonome agents is dat ze code uitvoeren op je machine. Stel je voor dat een agent een taak krijgt om je bestanden op te schonen, maar door een hallucinatie besluit je hele harde schijf te wissen. Of erger nog: een agent wordt slachtoffer van een prompt injection aanval en voert kwaadaardige code uit.
OpenFang pakt dit aan door tools uit te voeren in een WebAssembly (WASM) sandbox. Dit is een geïsoleerde omgeving. De code die de agent uitvoert, kan niet zomaar bij je bestanden of netwerk, tenzij expliciet toegestaan. Deze sandbox is dual-metered, wat betekent dat het systeem precies bijhoudt hoeveel rekenkracht (fuel) en tijd (epoch interruption) een proces gebruikt. Als een agent in een oneindige lus terechtkomt of te veel resources probeert te claimen, wordt hij genadeloos maar veilig afgesloten.
Daarnaast zijn subprocessen geïsoleerd. Ze worden gestart in een omgeving die is schoongemaakt van gevoelige omgevingsvariabelen (env-cleared) en er worden strikte time-outs gehandhaafd.
OpenFang versus andere orchestrators
Als je bekend bent met tools zoals LangChain, CrewAI, OpenClaw of AutoGen, vraag je je wellicht af: waarom nog een tool? Het verschil zit hem voornamelijk in de benadering: Framework vs. Operating System.
Frameworks (LangChain, CrewAI, etc.)
De meeste huidige oplossingen zijn bibliotheken of frameworks. Je importeert ze in je eigen codebasis. Dit geeft veel vrijheid, maar legt ook de verantwoordelijkheid voor infrastructuur bij de ontwikkelaar. Je moet zelf nadenken over:
- Hoe houd ik de staat (memory) van mijn agent bij?
- Hoe zorg ik dat mijn API-keys veilig zijn?
- Hoe laat ik vijf agents tegelijk draaien zonder dat mijn Python-proces crasht?
- Hoe verbind ik dit veilig met het internet?
Bovendien zijn deze frameworks vaak gebouwd op Python, wat geweldig is voor data science, maar niet altijd de meest efficiënte keuze is voor systemen die 24/7 autonoom moeten draaien en duizenden beslissingen per minuut nemen.
OpenFang
OpenFang benadert het probleem als een besturingssysteem. Je installeert het niet als een library in je code, je draait het als een applicatie. Het beheert de resources, de beveiliging en de planning.
- Geïntegreerde Stack: In plaats van zelf een database te kiezen voor je vectoren, gebruikt OpenFang een ingebouwde SQLite-backend met vector embeddings. Het regelt automatische compressie van context (zodat je LLM-contextvenster niet volloopt) en slaat sessies canoniek op.
- Security by Default: Waar je bij andere frameworks zelf beveiligingslagen moet bouwen, komt OpenFang met 16 geïntegreerde beveiligingssystemen. Taint tracking (het volgen van besmette data door het systeem), SSRF-bescherming (voorkomen dat de agent interne netwerken scant) en het veilig wissen van geheimen (secret zeroization).
- Prestaties: In benchmarks die OpenFang zelf aanhaalt, wordt de vergelijking gemaakt op basis van opstarttijd, geheugengebruik en installatiegrootte. Door de gecompileerde aard van Rust wint het hier vaak van geïnterpreteerde talen.
Connectiviteit: De wereld verbinden
Een agent die opgesloten zit in je computer is veilig, maar nutteloos. OpenFang moet kunnen praten met de buitenwereld. Dit gebeurt via een indrukwekkende reeks adapters en protocollen.
40 Kanaal-adapters
Het systeem bevat adapters voor vrijwel elk groot communicatieplatform: Telegram, Discord, Slack, WhatsApp, Microsoft Teams, en zelfs oudere protocollen zoals IRC en Matrix. Het bijzondere is dat je per kanaal specifieke regels kunt instellen. Misschien mag de agent op Slack wel code uitvoeren, maar op WhatsApp alleen tekstberichten sturen. Dit beleid (policy) wordt centraal beheerd.
MCP en A2A
OpenFang ondersteunt het Model Context Protocol (MCP). Dit is een opkomende standaard die het mogelijk maakt voor AI-modellen om op een gestandaardiseerde manier met externe data en tools te praten. OpenFang fungeert hierbij als zowel client als server. Dit betekent dat je externe MCP-servers kunt verbinden om je agent nieuwe vaardigheden te geven, maar ook dat je de tools van OpenFang kunt blootstellen aan andere agents.
Daarnaast is er ondersteuning voor Google’s A2A (Agent-to-Agent) taken en het eigen OpenFang Protocol (OFP) voor peer-to-peer netwerken. Dit laatste gebruikt HMAC-SHA256 wederzijdse authenticatie, wat een technische manier is om te zeggen dat agents veilig met elkaar kunnen praten over een netwerk zonder dat een buitenstaander kan inbreken in het gesprek.
Geheugen en context
Een van de grootste uitdagingen bij het bouwen van agents is geheugen. Hoe zorgt een agent ervoor dat hij na drie weken nog weet wat je gevraagd hebt? En hoe voorkom je dat hij irrelevante informatie onthoudt?
OpenFang gebruikt een geavanceerd geheugensysteem dat verder gaat dan een simpele lijst van vorige berichten. Het maakt gebruik van SQLite-backed opslag met vector embeddings. Dit stelt de agent in staat om semantisch te zoeken in zijn herinneringen. Als je vraagt naar “dat project van vorige maand”, zoekt de agent niet naar de letterlijke tekst, maar naar de betekenis.
Daarnaast past het systeem automatische LLM-based compaction toe. Oude conversaties worden samengevat door een taalmodel om ruimte te besparen, terwijl de kerninformatie behouden blijft. Dit zorgt voor een langetermijngeheugen dat efficiënt blijft, zelfs na duizenden interacties. Sessies worden ook gespiegeld in JSONL-formaat, wat handig is voor debugging en analyse.
Beveiliging is geen optie
Zoals besproken in recente beveiligingsanalyses van AI-systemen, vormen insider threats en prompt injections een reëel gevaar. Een agent die toegang heeft tot je e-mail en agenda, en die gemanipuleerd kan worden door een kwaadaardige e-mail (bijvoorbeeld met witte tekst op een witte achtergrond), is een enorm risico.
OpenFang implementeert een defense-in-depth strategie. Naast de eerder genoemde WASM-sandbox, gebruikt het:
- Ed25519 Manifest Signing: Dit zorgt ervoor dat de configuratie en de code van de agent cryptografisch ondertekend zijn. Er kan niet mee geknoeid zijn.
- Merkle Audit Trail: Elke actie die de agent onderneemt, wordt vastgelegd in een onveranderlijk logboek. Dit is cruciaal voor bedrijven die moeten voldoen aan compliance-regels. Je kunt altijd bewijzen wat de agent heeft gedaan en waarom.
- Prompt Injection Scanner: Inkomende berichten worden gescand op patronen die duiden op pogingen om de agent te manipuleren.
- Path Traversal Prevention: Voorkomt dat een agent toegang probeert te krijgen tot bestanden buiten zijn toegewezen map (bijvoorbeeld door `../../` te gebruiken in bestandsnamen).
Deze focus op beveiliging maakt OpenFang interessant voor enterprise-omgevingen waar data-integriteit en vertrouwelijkheid cruciaal zijn.
Aan de slag
Ondanks de complexe technologie onder de motorkap, is de gebruikerservaring toegankelijk. De configuratie gebeurt via TOML-bestanden, een leesbaar formaat dat populair is in de Rust-community. Je definieert een `HAND.toml` waarin je aangeeft welke tools de agent mag gebruiken, welke instellingen gelden en wat de ‘system prompt’ is.
Voor desktopgebruikers is er een native applicatie gebouwd met Tauri 2.0. Dit biedt een volledig dashboard. Je hoeft dus niet constant in een terminal te werken om te zien wat je agents aan het doen zijn. Voor de die-hard developers is er natuurlijk wel een uitgebreide CLI (Command Line Interface) en een API om tegen de agents te praten.
Het ecosysteem omvat ook FangHub, een marktplaats waar je je eigen Hands en vaardigheden (Skills) kunt publiceren. Een skill wordt gedefinieerd in een `SKILL.md` bestand, wat suggereert dat documentatie en functionaliteit nauw met elkaar verweven zijn.