Elke ochtend openen miljoenen mensen hun telefoons voor hetzelfde: een overstroming van titels. mondiale politiek, tech-aankondigingen, marktschommelingen en lokale verhalen concurreren allemaal om aandacht. Wat je nodig hebt zijn goed ontworpen tools met sterke fundamenten: systemen die informatie kunnen ophalen, verwerken, verrijken met structuur en leveren op een manier die bij je context past. De agenten Denk aan eenvoudige functies die RPC / API-oproepen kunnen maken, gegevens van een bron kunnen ophalen, verwerken en ofwel doorgeven aan een LLM of overhandigen aan andere agenten voor meer verwerking. In de context van grote taalmodellen, een agent meestal: Herkent via inputs zoals zoekresultaten, API's of gebruikersinstructies. Redenen met behulp van een LLM, beslissen wat te prioriteren. Handelen door hulpmiddelen te bellen, code uit te voeren of resultaten te presenteren. Laten we door deze "agentische wereld" - de nieuwe hype in de stad - lopen in de context van een gepersonaliseerde nieuwsfeed.Als je je ooit hebt voorbereid op een systeemontwerpinterview, weet je dat het ontwerp van de feed altijd verschijnt: de Facebook-nieuwsfeed, Twitter-tijdlijn of (als je een 90-jarig kind bent) RSS-lezers. De eenvoudige gepersonaliseerde nieuwsagent Stel je voor dat je de agent vertelt dat je om bepaalde tags geeft: Het doet drie dingen: AI, Apple en Bay Area verhalen Verwijder het topnieuws van het web. Filter de resultaten door die trefwoorden. Samenvattend in een snelle digest. Op een bepaalde dag kan het u geven: Apple onthult nieuw AI-model voor Siri en iOS-apps Het spoorwegontwikkelingsproject Bay Area verzekert financiering. De markten koelen als de vraag naar AI-chips vertraagt na de opkomst van het vorige kwartaal. Dit is al nuttig.De firehose is gereduceerd tot een beheersbare lijst.Maar het is plat.Je weet niet waarom een verhaal belangrijk is, of hoe het verbindt met anderen. Introductie van meerdere agenten In plaats van te vertrouwen op één monolithische agent die alles eind-tot-eind doet, kunnen we de werkstroom verdeelen Dit is hetzelfde principe als een persruimte: journalisten verzamelen grondstof, onderzoekers annoteren het, analisten bieden context en redacteuren verpakken het voor lezers. specialist agents In onze nieuwspijplijn ziet het er zo uit: Fetcher Agent - ontvangt volledige nieuwsartikelen uit feeds of API's. Passage Extractor Agent – benadrukt de meest relevante secties van elk artikel. Named Entity Extractor Agent - trekt de genoemde mensen, bedrijven, plaatsen en producten uit. Entity Disambiguation Agent – zorgt ervoor dat “Apple” Apple Inc. is, niet de vrucht. Entity Tagger Agent – toewijst gestructureerde tags (bijv. Organisatie: Apple, Product: iPhone). Topic Classifier Agent - identificeert bredere thema's zoals AI, Finance, Bay Area. Sentiment & Stance Agent - bepaalt of de dekking positief, negatief of neutraal is. — merges entities, topics, and sentiments into thematic sections. Tag Summarizer Agent Fact-Checker Agent – valideert claims tegen vertrouwde bronnen. Personalisatie & Ranking Agent - Prioritiseert verhalen die overeenkomen met uw interesses en geschiedenis. Digest Compiler Agent - assembleert de gepolijste digest in een leesvriendelijk formaat. Daily Digest Agent – levert het uiteindelijke pakket (naar uw inbox, Slack of app). Sommige van deze agenten werken (bijvoorbeeld, onduidelijkheid moet de extractie volgen), terwijl anderen kunnen (topic classification, sentiment analysis, en entity extraction kunnen allemaal tegelijkertijd op dezelfde passage werken).Het resultaat is een gecoördineerde pijpleiding van specialisten, die een veel rijker en gestructureerder digest produceren dan een enkele agent kon. sequentially in parallel Wat binnenkomt en wat uitkomt - Agent-interfaces In de onderstaande tabel wordt samengevat wat elke agent zou verwachten en wat het zou teruggeven.Ik heb ook geprobeerd te laten zien waar agenten met LLMs kunnen communiceren als ze hulp nodig hebben. Agent Inputs Outputs LLM Needed? Fetcher News feed URL, RSS, API query Full article text, metadata (title, URL, timestamp, source) ❌ No — HTTP/API call Passage Extractor Full article text Key passages, passage embeddings ✅ Optional — LLM for salience, or embeddings/TF-IDF Named Entity Extractor Passages Entity list, spans, embeddings ❌/✅ — NER models are faster, LLM can catch novel entities Entity Disambiguation Entity list, context embeddings Resolved entities with canonical IDs (e.g., Wikidata Q312) ✅ Yes — reasoning helps resolve ambiguous names Entity Tagger Disambiguated entities Entities with categories (Org, Person, Product, Location) ❌ No — deterministic classification Topic Classifier Passages, embeddings Topic labels (AI, Finance, Bay Area) ❌/✅ — embeddings + clustering or LLM for nuance Sentiment & Stance Analyzer Passages, entities Sentiment score, stance (supportive/critical/neutral) ✅ Optional — LLM for nuance, or sentiment models for speed Tag Summarizer Tagged entities, topics, sentiment Structured summaries grouped by tag ✅ Yes — summarization requires LLM Fact-Checker Summaries, claims Verified/Unverified claims, supporting references ✅ Yes — requires claim extraction + retrieval reasoning Personalization & Ranking Validated summaries, user profile Ranked/weighted story list ❌ No — ML heuristics suffice Digest Compiler Ranked summaries Final formatted digest (Markdown, HTML, JSON) ❌/✅ — deterministic formatting, LLM optional for tone Daily Digest Compiled digest Delivery package (email, Slack, app notification) ❌ No — just delivery Fetcher Nieuwsfeed URL, RSS, API query Volledige tekst van het artikel, metagegevens (titel, URL, timestamp, bron) Nee – HTTP/API oproep Passage Extractor Volledige artikel tekst Belangrijke passages, passage embeddings ✅ Optioneel — LLM voor uitzicht, of embeddings / TF-IDF Named Entity Extractor Passages Entity lijst, spans, embeddings ❌/✅ — NER-modellen zijn sneller, LLM kan nieuwe entiteiten vangen Entity Disambiguation Entiteitenlijst, context embeddings Opgeloste entiteiten met canonische ID's (bijv. Wikidata Q312) ✅ Ja – redeneren helpt dubbelzinnige namen op te lossen Entity Tagger Onduidelijke entiteiten Entiteiten met categorieën (Org, persoon, product, locatie) Nee - Deterministische classificatie Topic Classifier Passages en embeddings Topic labels (AI, Financiën, Bay Area) 💡/✅ — embeddings + clustering of LLM voor nuance Sentiment & Stance Analyzer Passages, entiteiten Sentiment score, houding (ondersteunend / kritisch / neutraal) ✅ Optioneel — LLM voor nuance, of sentiment modellen voor snelheid Tag Summarizer Tagged entiteiten, onderwerpen, sentiment Georganiseerde samenvattingen gegroepeerd door tag ✅ Ja - samenvatting vereist LLM Fact-Checker Samenvattingen, claims Geverifieerde/niet-geverifieerde claims, ondersteunende referenties ✅ Ja - vereist claim extractie + terugvordering redenering Personalization & Ranking Gevalideerde samenvattingen, gebruikersprofiel Gerangschikt / gewogen verhaallijst Nee - ML heuristische voldoende Digest Compiler Ranked samenvattingen Definitief geformatteerde digest (Markdown, HTML, JSON) /✅ — Deterministische opmaak, LLM optioneel voor toon Daily Digest Gecombineerd digest Leveringspakket (e-mail, Slack, app kennisgeving) No - alleen leveren Sommige agenten vereisen LLM-redenen, anderen zijn lichtgewicht en deterministisch. Deze splitsing is belangrijk: voor de productie wil je zo weinig mogelijk LLM-oproepen (om kosten en latentie te besparen) en reserveert ze voor redenering-zware taken zoals onduidelijkheid, samenvatting en feitencontrole. Een concreet voorbeeld: aardbeving in de baai Laten we een echt artikel uitvoeren door onze pijplijn. het verhaal: Title: Aardbeving magnitude 3,2 treft in de buurt van Pleasanton Aardbeving magnitude 3,2 treft in de buurt van Pleasanton CBS Bay Area, 7 september 2025 Source: Snippet: "Een aardbeving met een magnitude van 3,2 raakte zondagochtend in de buurt van Pleasanton, volgens de United States Geological Survey.De aardbeving raakte net na 10 uur 's ochtends, ongeveer 3 mijl ten noorden van Pleasanton. De verantwoordelijkheden van elke agent worden hieronder samengevat: Fetcher Agent: trekt de tekst van het artikel. Passage Extractor: benadrukt aardbeving magnitude, timing, locatie, en schudden. Entity Extractor: identificeert Pleasanton, USGS, East Bay. Entity Disambiguation: Resolves aan Pleasanton, CA, en de Verenigde Staten Geologische Survey. Entity Tagger: classificeert Pleasanton → Location; USGS → Organisatie. Topic Classifier: tags zoals Natuurramp, Lokale Nieuws, Seismologie. Sentiment & Stance: Neutraal en informatief. Tag Summarizer: : “A 3.2-magnitude quake hit Pleasanton; residents felt weak shaking.” Local News : “USGS confirmed the quake’s magnitude; no damage reported.” Natural Disaster Fact-Checker: bevestigt de omvang via USGS en schudden rapporten via Patch. Personalisatie & Ranking: benadrukt Local News (gebruikersprofiel gewogen naar de Bay Area). Digest Compiler + Delivery: stuurt een e-mail met het onderwerp “Your Bay Area Update – Earthquake Alert”. Wat begon als een ruwe titel werd een gestructureerde, gerangschikt, feitelijk gecontroleerde digest. Beyond News: generaliseren naar andere feeds Wat krachtig is aan deze agentpijplijn is dat niets erin alleen aan nieuws gebonden is. . framework for taking any content feed → extracting structure → producing a personalized digest Laten we een ander voorbeeld nemen: . arXiv papers Elke dag vallen honderden onderzoekspapieren over categorieën zoals Machine Learning, Computer Vision of Quantum Computing.Voor een onderzoeker is de uitdaging hetzelfde als het nieuws: te veel volume, te weinig tijd en slechts een paar papieren zijn echt relevant. Hoe dezelfde agenten toepassen Fetcher Agent Input: arXiv RSS feed of API query. Uitvoer: metagegevens van het papier (titel, auteurs, abstract, categorie). Passage Extractor Agent Invoer: Abstracte tekst Output: belangrijke zinnen (probleemverklaring, methode, resultaat) Named Entity Extractor Agent Inhoud van: Abstract Output: Entiteiten zoals “transformer”, “federated learning”, “TPU v5e”. Entity Disambiguation Agent Input: entiteiten + context. Uitgang: Links naar canonische ID's (bijv. arXiv onderwerpcodes, Wikipedia-ingangen). Entity Tagger Agent Input: opgeloste entiteiten Output: Categorieën: Algoritme, Dataset, Hardware, Domain. Topic Classifier Agent Input: Abstracte inbreng Uitgang: Tags zoals {Deep Learning, Reinforcement Learning, Distributed Systems}. Sentiment & Stance Agent Inhoud van: Abstract Uitgang: “Positief resultaat” (model verslaat SOTA met 2%), “Kritisch” (papier ontkent eerdere claim). Tag Summarizer Agent Input: Entiteiten + onderwerpen. Output: : “New optimizer reduces GPU communication overhead by 30%.” Distributed Training : “Transformer variant improves long-context understanding.” NLP Fact-Checker Agent Input: claims in abstract. Uitgang: basisvalidatie tegen geciteerde benchmarks, eerdere arXiv papers. Personalization & Ranking Agent Input: Samenvattingen + gebruikersprofiel. Uitgang: gewogen lijst — bv. ML (0.9), systemen (0.7), theorie (0.2). Digest Compiler Agent Output: Een dagelijkse “Research Digest” gegroepeerd naar onderwerpen die je interesseert. Daily Digest Agent Uitvoer: E-mail / Slack-bericht met de titel "Uw Research Updates - Sept 7, 2025". Voorbeeld van output Machine Learning “Een nieuwe optimalisatie voor gedistribueerde training vermindert de overhead van GPU-communicatie met 30%.” “Transformer variant verbetert het begrip van de lange context.” Systems "Nieuwe checkpointing-benadering voor TPU-werkbelastingen verbetert de betrouwbaarheid." Theory "Papier ontkent eerdere grenzen op schaarse herstel in hoge dimensionale instellingen." Het algemene principe Of het nu is: Nieuwsartikelen (politiek, financiën, lokale updates van Bay Area), Academische papers (arXiv, PubMed) Interne bedrijfsrapporten (logs, metrische dashboards) ... hetzelfde . agent pipeline applies Je doet altijd: Het fetch content. Extract van passages. Identificeer entiteiten, onduidelijk ze. Tag en classificeren. Samenvatting en factscheck. Ranking op basis van gebruikersprofiel. Leveren als een digest. Dat is de , en agenten zijn een natuurlijke manier om het te implementeren. feed-to-digest pattern MCP: het protocol waarmee agenten kunnen praten Wanneer je meerdere agenten samenzet, verschijnen er twee grote uitdagingen: — How does the Passage Extractor know how to hand results to the Entity Disambiguation Agent? Inter-agent communication — How do agents fetch data from APIs (like arXiv, USGS, or RSS feeds) without each agent reinventing its own protocol? External integrations Dit is waar Kom maar binnen. MCP (Model Context Protocol) Wat is een MCP? Denk aan MCP als de . USB standard for AI agents Het definieert interfaces voor tools en diensten. Het specificeert hoe agenten context doorgeven (inputs, outputs, metadata). Het maakt interoperabiliteit mogelijk - wat betekent dat u een agent voor een ander kunt ruilen zonder de pijpleiding te breken. Met MCP hoeft de Passage Extractor de implementatiedetails van de Entity Tagger niet te "kennen".Het stuurt alleen gestructureerde gegevens (tekst + embeddings + tags) in een formaat dat MCP begrijpt. Interne communicatie Binnen onze pijpleiding: Fetcher Agent produceert {title, body, url, timestamp} in MCP-formaat. Passage Extractor neemt {body} en retourneert {passages, embeddings}. Named Entity Extractor verbruikt {passages} en produceert {entiteiten}. Entity Disambiguation consumeert {entiteiten, context} en produceert {entiteit_id}. Elke agent spreekt dezelfde “taal” dankzij MCP. Externe communicatie MCP werkt ook naar buiten. De Fetcher Agent gebruikt MCP om een arXiv API of een RSS-feed op te roepen. De Fact-Checker Agent gebruikt MCP om Wikipedia of een nieuwsdatabase te queryen. De Daily Digest Agent gebruikt MCP om resultaten te leveren via e-mail of Slack. Het voordeel is dat agenten kunnen integreren met zolang dat gereedschap spreekt MCP, net als het aansluiten van een USB-apparaat in uw laptop. any external tool Waarom dit telt Zonder MCP zou elke agent aangepaste adapters nodig hebben - een broze puinhoop van eenmalige integraties. Standaard contracten → de input/output van elke agent is voorspelbaar. Plug-and-play architectuur → u kunt de Sentiment Agent vervangen door een betere morgen. Scalability → tientallen agenten kunnen coördineren zonder spaghetti-code. Met andere woorden, MCP is wat een verzameling scripts omzet in een . modular, extensible agent platform Gesloten gedachten De reis van een platte, op sleutelwoorden gebaseerde feed → naar een nieuwsruimte van agenten → naar een gegeneraliseerd verteerbaar platform weerspiegelt hoe software evolueert: van scripts tot systemen tot ecosystemen. Nieuws vandaag, arXiv morgen, logs en dashboards de volgende dag. En met MCP die de lijm biedt, stoppen deze agenten met geïsoleerde hacks en beginnen ze te werken als onderdeel van een groter, interoperabel systeem. feed-to-digest, powered by agents. Sta niet vast in de "agentische AI" hype - schrijf betere hulpmiddelen met sterke fundamenten en gebruik LLM's waar ze waarde toevoegen: verfijnen, samenvatten en itereren. In het volgende deel zal ik onderzoeken hoe je de multi-agent systemen met MCP kunt implementeren.