Build for Agents: Waarom CLI's het Nieuwe Distributiekanaal Zijn
Andrej Karpathy, de voormalige Tesla AI-directeur, plaatste vorige week een post over CLI's die bijna 2 miljoen views trok. Hij betoogde dat CLI's interessant zijn juist omdat het "legacy" technologie is. Hun conventies (stdin/stdout, flags, JSON-output, pipes) zijn tientallen jaren geleden ontworpen, ruim voordat AI-agents bestonden, en agents blijken ze goed te kunnen gebruiken.
Zijn grotere punt was een vraag aan elke productbouwer: "Als je een product of dienst hebt, denk dan: kunnen agents er toegang toe krijgen en het gebruiken?" Als het antwoord nee is, kunnen agents je product niet gebruiken en mis je mogelijk een snelgroeiend distributiekanaal voor software. Die vraag ligt aan de basis van AI agent readiness .
Karpathy's These: Legacy Is een Voordeel
In zijn demo vroeg Karpathy Claude om de Polymarket CLI te installeren (een in Rust gebouwde command-line tool voor het bevragen van voorspellingsmarkten) en daarna om "willekeurige dashboards, interfaces of logica" te bouwen. Drie minuten later had Claude een werkend terminal-dashboard met de hoogst verhandelde Polymarket-contracten en hun 24-uurs prijsveranderingen.
De opzet vereiste geen API-integratiecode, geen auth-flow en geen SDK. De CLI geeft gestructureerde data en de agent werkt direct met die output.
Daarna herhaalde hij de proef met de GitHub CLI. Claude bekeek repositories, inspecteerde issues, reviewde PR's en las code. De agent combineerde bestaande command-line tools tot workflows waar een developer uren over zou doen om ze handmatig te koppelen.
CLI-tools volgen conventies die al tientallen jaren niet veranderd zijn. Ze nemen flags, schrijven tekst of JSON naar stdout en werken samen via pipes. Hun
--help
flag beschrijft hun eigen mogelijkheden. Zo krijgt een AI-agent ontdekbaarheid, gestructureerde I/O en composeerbaarheid, zonder een UI te screenshotten of een DOM te parsen.
Agents Worden een Distributiekanaal
Naast CLI's worden agents een belangrijk distributiekanaal voor software. Sommige gebruiken gestructureerde interfaces zoals CLI's, MCP-servers en machine-leesbare documentatie. Browseragents kunnen ook gerenderde marketingsites en onboarding-flows navigeren. Producten moeten daarom zowel programmatische als browsergebaseerde toegang ondersteunen.
MCP groeide snel. Het ging van nul naar 97 miljoen maandelijkse SDK-downloads in twaalf maanden en meer dan 10.000 actieve servers draaien. OpenAI, Google DeepMind, Microsoft en Cloudflare hebben het geadopteerd en Anthropic doneerde MCP in december 2025 aan de Linux Foundation. Een MCP-server draaien begint te voelen als een webserver draaien.
85% van de enterprises zal naar verwachting AI-agents ingezet hebben. Gestructureerde, programmatische toegang is waardevol voor betrouwbare automatisering, terwijl browseragents de DOM, accessibility tree en screenshots kunnen combineren wanneer ze een GUI gebruiken. Een CLI, MCP-endpoint of machine-leesbare documentatie geeft agents naast die browserinterface een meer deterministisch pad.
Waarom CLI's Geschikt Zijn voor AI Agents
Karpathy zette "legacy" tussen aanhalingstekens omdat hij niet bedoelt dat CLI's verouderd zijn. De eigenschappen die ze oud maken (stabiele conventies, tekst-gebaseerde I/O, voorspelbaar gedrag) maken ze ook geschikt voor agents.
GESTRUCTUREERDE I/O
stdin/stdout met JSON-output. Geen GUI-rendering, geen screenshot-parsing, geen vision-model overhead. Agents kunnen direct lezen en schrijven.
COMPOSEERBAAR
Unix pipes laten agents tools aan elkaar koppelen. De output van het ene commando wordt de input van het volgende. Eenvoudige commando's combineer je tot grotere workflows.
ZELFBESCHRIJVEND
--help flags, man pages en consistente flag-conventies laten agents mogelijkheden ontdekken tijdens runtime zonder tokens te verspillen aan documentatie.
DETERMINISTISCH
Dezelfde input, dezelfde output. Geen CSS layout shifts en geen JavaScript hydration. Agents krijgen voorspelbare resultaten.
Justin Poehnelt, die Google Workspace-tooling bouwt, schreef onlangs een gids over het ontwerpen van CLI's met AI-agents als primaire gebruiker. Hij zegt het zo: "Human DX optimaliseert voor ontdekbaarheid en vergeving. Agent DX optimaliseert voor voorspelbaarheid en verdediging in de diepte." Dat zijn verschillende ontwerpdoelen.
Zijn praktische aanbevelingen zijn onder meer ruwe JSON-payloads accepteren als eersteklas input (niet alleen gemaksflags), runtime-querybare schema's blootstellen zodat agents mogelijkheden kunnen introspecteren zonder docs te laden, field masks gebruiken om responsgrootte te beperken en tokenbudget te besparen, en
--dry-run
flags toevoegen zodat agents acties kunnen valideren voordat ze worden uitgevoerd.
De Vier Agent-Toegankelijke Oppervlakken
Karpathy's post eindigt met een checklist. Ik werk die uit tot vier oppervlakken waarop producten machineleesbare paden voor compatibele agents kunnen publiceren:
1. Command-Line Interface (CLI)
Een CLI is een direct pad voor agents om met je product te werken. Als je product een API heeft, zou het een CLI moeten hebben. De Polymarket CLI die Karpathy demonstreerde is gebouwd in Rust. Agents kunnen ermee markten bevragen, trades plaatsen en data ophalen vanuit de terminal, zonder SDK.
Vier ontwerpprincipes gelden voor agent-vriendelijke CLI's. Standaard JSON uitvoeren wanneer stdout geen TTY is, een
--output json
flag aanbieden, ruwe payload-input ondersteunen naast gemaksflags, en de CLI zelfbeschrijvend maken via schema-introspectiecommando's.
2. MCP Server
Het Model Context Protocol definieert een gestructureerde manier om AI-systemen met externe tools te verbinden. Verschillende grote clients ondersteunen MCP. Een server publiceert een compatibele toolinterface, terwijl clientondersteuning, configuratie en autorisatie nog steeds bepalen of die wordt gebruikt.
Een bestand op
/.well-known/mcp.json
publiceert endpointmetadata op een bekende locatie. Onze scanner registreert of dat discovery-document aanwezig en geldig is als Agent Protocols-signaal. Dat bewijst niet dat een client het endpoint heeft ontdekt of gebruikt.
3. Machine-Leesbare Documentatie
Tutorialvideo's en interactieve getting-started gidsen zijn minder deterministisch voor geautomatiseerde retrieval. Voeg documentatie toe die agents direct kunnen parsen, zoals Markdown-bestanden, llms.txt, OpenAPI-specificaties en gestructureerde kennisbanken.
llms.txt
(ons checkpoint 1.4) is een enkel bestand in de root van je domein dat AI-modellen vertelt wat je site doet, welke content beschikbaar is en hoe ze kunnen navigeren. Het werkt als
robots.txt
voor AI-begrip in plaats van crawling, al bepalen clients zelf of ze het lezen. Onze scanner controleert ook op
OpenAPI-specificaties
en
agents.json
als gepubliceerd machineleesbaar interfacesignaal.
4. Agent Protocol Endpoints
Naast MCP omvat de opkomende agent-protocolstack WebMCP voor browsergebaseerde agent-interacties, Google's A2A voor agent-naar-agent communicatie, en agents.json voor het adverteren van wat je AI-agents kunnen. Elk publiceert of biedt gestructureerde interfacemetadata; ondersteuning en gebruik verschillen per client.
De stabiele-kernbijdrage van de categorie Agent Protocols meet OpenAPI-documentatie en bruikbaarheid, live verificatie van OpenAPI en MCP, en gestructureerde API-foutreacties. Een A2A Agent Card is opkomend bonusbewijs en heeft geen invloed op de hoofdscore. WebMCP is experimenteel bewijs dat niet meetelt voor de score. Daaronder vallen formulierkwaliteit en bewijs over interactieve oppervlakken. Deze checks registreren gepubliceerde signalen, niet of een agent het product zal gebruiken.
Concurrentiedynamiek: Wat het Bewijs Ondersteunt
Een MCP-server geeft compatibele clients een gestructureerd integratiepad. Dat pad kun je testen, documenteren en onderhouden, maar de aanwezigheid zegt niet hoeveel clients het ontdekken of succesvol gebruiken.
Twintig jaar geleden vingen bedrijven die vroeg in SEO investeerden organisch verkeer dat jarenlang groeide. Die geschiedenis verklaart waarom teams vroeg in machineleesbare interfaces kunnen investeren, maar legt geen adoptiecurve voor agentinterfaces vast.
Goldman projecteert $780 miljard aan applicatiesoftware tegen 2030, waarbij agents 60%+ van die economie veroveren. Die prognose geeft aanleiding om met machineinterfaces te experimenteren, maar stelt niet vast welke producten agents zullen gebruiken.
Wat Nu Te Doen
Dit zijn vijf stappen, op volgorde van impact:
-
Lever een CLI met JSON-output.
Als je product een API heeft, verpak het in een CLI die JSON-input accepteert en gestructureerde JSON uitvoert. Meestal is dit het pad met de minste weerstand naar agent-toegankelijkheid. Gebruik
--output jsonof detecteer automatisch wanneer stdout geen TTY is. -
Deploy een MCP-server.
Gebruik de officiële
TypeScript
of
Python
SDK. Stel je kernacties beschikbaar als MCP-tools. Voeg
/.well-known/mcp.jsontoe voor discovery. -
Exporteer docs in markdown.
Maak een
llms.txtbestand in de root van je domein. Publiceer een OpenAPI-spec. Zorg dat je documentatie beschikbaar is als platte tekst of markdown, niet alleen als gerenderde HTML. -
Voeg agents.json toe.
Adverteer je AI-agent mogelijkheden met een machine-leesbaar
agents.jsonbestand. Het vertelt andere agents wat je product kan. - Meet je agent readiness. Scan je site om te zien waar je staat over alle 77 checkpoints, van crawlertoegang en gestructureerde data tot agent-protocollen en security-headers.
We Hebben Zelf Ook een CLI Gebouwd: @isagentready/cli
Naast onze MCP-server en Claude Code skill hebben we @isagentready/cli uitgebracht, een command-line tool die websites scant op AI agent readiness, direct vanuit je terminal. Het volgt de CLI-patronen die hierboven zijn beschreven.
Installeer het globaal of draai het direct met npx:
# Globaal installeren
npm install -g @isagentready/cli
# Of direct draaien
npx @isagentready/cli scan example.com
Eén commando geeft je scores, lettercijfers en een categorie-uitsplitsing over alle 77 checkpoints:
A+ example.com 98/100
Scanned in 1.7s
Categories
███████████████ 100% AI Content Discovery (30% weight)
█████████████░░ 89% AI Search Signals (20% weight)
███████████████ 100% Content & Semantics (20% weight)
███████████████ 100% Agent Protocols (15% weight)
███████████████ 100% Security & Trust (15% weight)
Voeg
--verbose
toe om elk individueel checkpoint te zien, of
--json
voor machine-leesbare output. Voor agents detecteert de CLI ook automatisch wanneer stdout wordt gepiped en schakelt dan vanzelf over naar JSON:
# Gepiped → auto-JSON, geen flag nodig
isagentready results example.com | jq '.overall_score'
# Field masks om tokenbudget te besparen
isagentready results example.com --fields domain,overall_score,letter_grade
# Bekijk de rankings
isagentready rankings --grade high --json
# Stream alle rankings als NDJSON
isagentready rankings --page-all --fields domain,overall_score | wc -l
# Valideer zonder de API te raken
isagentready scan example.com --dry-run
# Runtime schema-introspectie voor agents
isagentready schema scan
De CLI implementeert meerdere patronen uit Justin Poehnelts gids: auto-detectie van non-TTY modus, een expliciete
--output json|text
override, field masks voor context window-beperkingen,
--dry-run
voor validatie, NDJSON-streaming en een schema-commando voor runtime-introspectie. Ook bevat de CLI een
CONTEXT.md
bestand, gestructureerde instructies die AI-agents kunnen lezen om conventies en invarianten te begrijpen.
Elke AI-agent (Claude Code, Cursor, een custom pipeline) kan de CLI installeren en websites scannen, scores ophalen en rankings opvragen zonder een documentatiepagina te lezen. Dezelfde data is bereikbaar via drie paden: de webscanner , de CLI en de MCP-server . Mensen gebruiken de GUI en agents kunnen de CLI of de MCP-server kiezen.
Hoe Onze Scanner Agent-Toegankelijkheid Meet
Delen van Karpathy's checklist overlappen met gepubliceerde signalen die de scanner meet. Deze tabel beschrijft die beperkte aansluiting:
| Agent Oppervlak | Onze Checkpoints | Categorie |
|---|---|---|
| MCP server / discovery | MCP-serverkaart en geverifieerde discovery | Agent Protocols |
| Machine-leesbare docs | llms.txt (1.4), OpenAPI (4.5), agents.json (4.6) | Discovery + Protocols |
| Gestructureerde data voor agents | JSON-LD (2.1), Schema types (2.2), Entity linking (2.4) | AI Search Signals |
| Crawlertoegang | robots.txt (1.1), AI crawler directives (1.2), HTTP bot access (1.8) | AI Content Discovery |
| Agent protocol stack | A2A Agent Card (opkomend bonusbewijs), formulierkwaliteit, interactieve oppervlaktedekking | Agent Protocols |
| Beveiliging & vertrouwen | HTTPS (5.1), HSTS (5.3), CSP (5.4), CORS (5.7) | Security & Trust |
Wat Er Vandaag Al Is
Deze interfaceformaten bestaan vandaag en hun gepubliceerde signalen zijn meetbaar. Werkelijke discovery, interactie en taaksucces vereisen runtimebewijs buiten de statische score.
Het web is gebouwd voor menselijke browsers en geautomatiseerde clients gebruiken meerdere soorten interfaces. Producten kunnen CLI's, MCP-servers en gestructureerde docs naast een GUI aanbieden zonder een interface als bewijs van adoptie te behandelen.
Karpathy sloot af met drie woorden: "Build. For. Agents." Het werkt als ontwerprichtlijn, niet als gemeten voorspelling over productgebruik.
Bronnen
- Andrej Karpathy over CLI's als agent-native interfaces, X - Originele post over CLI's als "legacy" technologie voor AI-agents (feb 2026)
- You Need to Rewrite Your CLI for AI Agents, Justin Poehnelt - Gedetailleerde gids over agent-first CLI-ontwerppatronen
- web2cli: Every Website Is a Unix Command, GitHub - CLI-tool die websites omzet naar parseerbare commando's voor agents en mensen
- Introductie Polymarket CLI, Suhail Kakar op X - De in Rust gebouwde CLI die Karpathy's post inspireerde
- @isagentready/cli, GitHub - Open-source CLI voor het scannen van AI agent readiness vanuit de terminal
- IsAgentReady: Wat is MCP? Het Model Context Protocol voor AI Agents
- IsAgentReady: Wat is WebMCP en waarom heeft je website het nodig
- IsAgentReady: Wat is Google's A2A Protocol? Agent-naar-Agent Communicatie
- IsAgentReady: Wat is agents.json? AI Agent-mogelijkheden adverteren
- IsAgentReady: De Staat van AEO: Belangrijkste Inzichten uit Vercel's 2026 Rapport