Von N Newslettern zu 1 Digest, gebaut für AI Engineers
TL;DR
Ich habe eine private Pipeline gebaut, die mein KI-News-Lesen für mich erledigt. Sie liest eine geprüfte Auswahl an Newslettern und holt den tatsächlichen Artikel hinter jedem Link. Fasst jeden einzeln zusammen. Dann findet sie heraus, welche Meldungen dieselbe Meldung mit anderer Überschrift sind, wirft Marketing und Lärm raus und übergibt mir die zwanzig oder dreißig Dinge, die an dem Tag wirklich zählten. Das Ergebnis ist jetzt öffentlich: downstream.news. Kostenlos, kein Account, RSS und E-Mail und JSON. Gebaut für Leute, die mit KI-Modellen und Agents arbeiten.
Ich habe das für mich gebaut
Acht Newsletter im Posteingang, jeden Abend durchgesehen. Das war mein N. Ich habe zu viel Zeit damit verschwendet, dieselbe Meldung mehrfach zu lesen und mich an Material mit wenig Wert vorbeizuarbeiten. Es gab keinen Moment der Inspiration, keine interessante Vorgeschichte (obwohl die KI, die diesen Text redigiert hat, mich genau in diese Richtung locken wollte). Ich hatte eine repetitive Leseaufgabe, ich kann programmieren, und diese Aufgabe ist zufällig ein Anwendungsfall, der zu dem passt, worin ein Sprachmodell gut ist, wenn du genug Gerüst drumherum baust, damit man dem Ergebnis trauen kann.
Und es war deutlich mehr Gerüst nötig, als du denken würdest. Ich dachte, das wird eine einfache Sache, aber es hat sich über ein paar Monate gezogen... scheiße, vielleicht sogar fünf, wenn ich so darüber nachdenke. Zwei davon habe ich weggeworfen, als ich zu sehr auf "Vibes" gesetzt und ein Monster mit jedem Feature gebaut habe, das einem einfallen könnte. Die meisten dieser Features sind auf der Zielgeraden gescheitert. Danach musste ich neu anfangen. Es ist mir ziemlich peinlich, dass ich in diese Falle getappt bin.
Jetzt, wo es tatsächlich funktioniert und nützlich ist, dachte ich mir, dass andere Leute denselben Acht-Newsletter-Tanz machen wie ich, also ist das Ergebnis jetzt öffentlich.
Was es tatsächlich macht
Vier Dinge, die es gut macht. Das hier ist kein Feed Reader.
Es fasst zusammen
Jede Meldung bekommt eine Paraphrase von ein bis zwei Sätzen, geschrieben von einem Modell, das den zugrundeliegenden Artikel wirklich gelesen hat. Nicht den Anriss des Newsletters darüber. Rund 81% von dem, was die Pipeline analysiert, kommt vom Ziel des Links und nicht vom Ankertext. Der Newsletter ist ein Transportmittel; gelesen wird das, worauf er zeigt.
Die Zusammenfassung ist dafür da, dass du entscheiden kannst, ob du klickst, und jedes Item verlinkt auf die Primärquelle. Downstream ist ein Router. Alles, was sich zu lesen lohnt, liegt weiterhin auf der Seite von jemand anderem. Außerdem will ich diese Quellen bekannt machen; sie sind großartig und ich bin ihnen dankbar.
Es entfernt Dubletten über Quellen hinweg
Das war mit Abstand der schwierigste Teil, und das ist mir peinlich. "Dieselbe Meldung in fünf Newslettern" ist ein Problem der URL-Kanonisierung, das auf einem Problem des Tracker-Entfernens sitzt, weil jede Newsletter-Plattform ihre ausgehenden Links anders verpackt. Mit Stringvergleich kommst du nirgendwo hin. HubSpot nutzt nicht einmal einen HTTP-Redirect; es liefert eine JavaScript-Seite aus, in der die echte URL in einer Variablenzuweisung versteckt ist, die du aus dem Body herausparsen musst. Der Abgleich läuft in drei Stufen: exakte URL nach Normalisierung, dann unscharfer Titelvergleich, dann Embedding-Ähnlichkeit gegen einen Vector Store, über ein rollierendes Sieben-Tage-Fenster.
Der sichtbare Nutzen ist das Badge an jedem Item, das anzeigt, wie viele unabhängige Quellen das Thema angefasst haben. Diese Zahl ist echtes Signal, wenn du eine Liste überfliegst. Sie sortiert auch: Wenn zwei Items gleich bewertet sind, gewinnt das breiter abgedeckte.
Es gibt eine zweite Dublettenprüfung, die die meisten Aggregatoren auslassen. Ein Thema, das in den letzten sieben Tagen schon lief, wird unterdrückt, damit eine Meldung mit langem Atem nicht fünf Abende hintereinander in deinem Digest auftaucht.
Es wirft den Lärm raus
Jedes Item wird auf zwei Achsen gegen ein explizites Profil bewertet: Wichtigkeit für einen praktizierenden AI Engineer und Dringlichkeit, also ob es eine Deprecation-Frist oder ein aktives Sicherheitsproblem mit deinem Namen darauf gibt. Die Bewertungsrubrik ist mit ausgearbeiteten Beispielen verankert, wie eine 8 aussieht und wie eine 2, denn ein Modell ohne Anker parkt alles bei 6,5 und sagt dir damit gar nichts.
Das Profil trägt außerdem explizite Hinweise, was heruntergestuft wird. Finanzierungsrunden ohne Produktbezug werden absichtlich niedrig bewertet. Genauso Stellenanzeigen, Navigationsbeiwerk, Konferenzwerbung und die Abo-Werbung, die Newsletter zwischen ihre Inhalte mischen.
Was übrig bleibt, ist der Tag
Rund 250 Kandidaten-Items pro Tag kommen aus den Quellen. Ausgeliefert werden zwanzig bis dreißig.
Am 24. Juli hat die Pipeline aus 244 Items einen Digest mit 30 Einträgen gemacht. Am 23. Juli waren es sieben, weil der 23. Juli ein ruhiger Tag war. Es gibt keine feste Quote, die einen dünnen Tag auffüllt, aber es gibt eine Obergrenze für einen vollen Tag, bei 30 Items.
Speziell auf AI Engineers zugeschnitten
Das Bewertungsprofil ist buchstäblich eine Datei namens ai-engineering. Das ist kein allgemeiner Tech-Feed, dem man eine KI-Rubrik angeschraubt hat.
So sieht das aus:
- Themen-Tags an jedem Item: Models, Agents, On-device, Coding, Research, Robotics, Policy.
- Reader-Skill-Tags, die dir vorab sagen, was für eine Art Lektüre dich erwartet: Internals, Depth, Product, Any.
- Eine veröffentlichte Quellenliste unter /sources/, damit du die Eingaben beurteilen kannst, statt der Ausgabe vertrauen zu müssen.
- Maschinenlesbar in allem: RSS, JSON Feed, Markdown pro Digest, eine
llms.txtund ein /for-agents/-Endpunkt. Wenn dein eigener Agent den Digest lesen will, muss er dafür keine Webseite scrapen.
Was ich an deiner Stelle wissen wollen würde
Die Korroborationszahl bedeutet "N Quellen haben dieses Thema angefasst", nicht "N Quellen haben genau diese Meldung gebracht". Ich habe den semantischen Abgleich gegen 220 handgelabelte Paare kalibriert, und das Gefälle zwischen diesen beiden Vorstellungen ist wirklich schwach: Ein Paar, das ich als "darf nicht zusammengeführt werden" eingestuft hatte, kam auf 0,796, ein Paar, das zusammengeführt werden musste, auf 0,761. In diesem Band liegt kein Schwellenwert. Alles in der Grauzone geht jetzt an ein zweites Modell, das paarweise die Frage "dieselbe Meldung?" beantwortet.
Rund ein Fünftel der Link-Abrufe scheitert an einem beliebigen Tag, dank Paywalls, Bot-Sperren und Seiten, die nur mit JavaScript laufen. Diese Items tauchen trotzdem auf, als eingeschränkt markiert, mit dem Ankertext als Titelhinweis.
Die Eingabe ist bauartbedingt feindlich, denn ein Angreifer kontrolliert den gesamten Body jeder E-Mail, die die Pipeline aufnimmt. Vor dem Modell liegen fünf Schichten Prompt-Injection-Abwehr, und jede Modellantwort wird gegen ein Schema validiert, und eine Antwort, die nicht zum Vertrag passt, wird nicht stillschweigend passend gebogen.
Und es veröffentlicht unbeaufsichtigt, was nur funktioniert, weil die Pipeline ihre eigene Ausgabe benotet. Das Artefakt jedes Tages trägt einen Health-Block. Die Seite veröffentlicht bei Grün und hält bei allem Schlechteren zurück und zeigt stattdessen einen Verzögerungshinweis. Nichts zu veröffentlichen ist besser, als etwas zu veröffentlichen, für das ich nicht geradestehen kann.
Schau es dir an
downstream.news aktualisiert sich jeden Abend gegen 19:15 Uhr MEZ. Es gibt ein Web-Archiv, einen RSS-Feed und eine tägliche E-Mail, wenn du es geliefert haben willst. Kein Account, keine Paywall, und nichts davon ist geplant.
Wenn du gerade den Acht-Newsletter-Tanz machst, probier es eine Woche parallel zu deiner normalen Lektüre und schau, was es übersieht.