Case study · Multi-agent system
IA para Humanos: ten agents that prepare a daily newsletter
A system of ten agents that researches, fact-checks, writes and prepares a daily artificial intelligence newsletter for non-technical readers every morning. It has been running since 31 July 2026, and publishing is always my decision. The newsletter and the explanation are in Spanish.
How it works, on video
The problem
Dozens of AI news stories come out every day and almost all of them are written for people who already know the field. I wanted a daily newsletter in Spanish that picks the three stories that really affect an ordinary person, checks them and explains them in plain language.
Doing it by hand every morning was not sustainable, and a bare language model produced text that sounded machine-made and made unsupported claims. The challenge was to automate it without losing three rules: nothing without a source, nothing that sounds like a machine and nothing that reaches readers without a person deciding.
What it does
- Collector, tracker and cleaning. Reads 17 sources, follows opinion columns back to the original story and removes duplicates and noise with deterministic rules, without a language model.
- Relevance and researcher. Scores what matters to an ordinary person, groups coverage of the same event and reads each story in full.
- Fact-checker. Checks every claim against its source. The writer only receives supported facts.
- Writer and editor. One writes; the other scores clarity, accuracy, style and accessibility and asks for specific changes until it approves.
- Lay reader and notes. A reader with no technical background flags what they would not understand; a rewrite is only accepted if it keeps accuracy. Finally, three one-line notes to promote the edition.
- It starts on its own at 7:30 and leaves a draft on Substack and an email to the editor. The code cannot send anything to subscribers.
Technical decisions
- A custom orchestrator instead of an agent framework. The flow is fixed: a deterministic orchestrator in plain Python is easier to test and debug and does not tie the system to any provider.
- Three engines in cascade. Main, backup and a local emergency model. If the local one ends up writing, the edition is held for review.
- What matters is checked in code: length, formatting, tell-tale phrases of generated text and Substack's character limit are not left to the model.
- Quality measured separately from the tests. An evaluation with fixed input cases, eight deterministic checks and judges that measure grounding in the sources detects whether a prompt change makes the writing worse.
- Rules calibrated with production data. The rewrite for comprehension lowered accuracy in 7 of 13 runs; now the most accurate version is always kept.
- Tests never reach the outside world. After an incident in which the test suite sent a real email, three independent barriers prevent it.
What is shown and with what data
| Part | In the demo | Detail |
|---|---|---|
| Walkthrough in the explanation and the video | Real | Run of 22/09/2026, taken from its log. |
| Overall figures | Real | Repository and system telemetry as of 28/09/2026. |
| Position of each bar in the relevance chart | Synthetic | Counts per band are real; the position within the band is illustrative. |
| Code, agent instructions, named sources and media texts | Not included | Not published: the page explains what the system does, not how. |
Results
Generated editions are not published editions: publishing is a manual decision on Substack and is not measured here. A daily edition takes about 16 and a half minutes.
Limitations and next steps
- Many editions are held back: 22 of 43 in September, mostly because the rewrite lowered accuracy. That is right for the reader but needs more human review; calibrating that tolerance is the next step.
- There were failures: 9 of 86 runs ended in error, for example when the main engine changed version. The system sends an email and retries once.
- Publishing depends on an unofficial Substack interface, isolated in a single adapter.
- It runs on a personal computer with the Windows task scheduler; a container version is ready.
Scenes from the explanation
Frames from the animated explanation, with the real figures of the 22/09/2026 edition. The explanation is in Spanish.




