Hi IH I’m Moises, an AI engineer in Barcelona. I want to share a side project I built to learn agentic AI.
I built ProspectAI a multi-agentic system with CrewAI. It’s an open-source pipeline of 6 CrewAI agents (market, technical and fundamental analysts → a draft strategist → a critic → a final strategist) that researches a stock portfolio end to end.
Three decisions did most of the work, and they’re the part I think is reusable beyond finance:
1. Keep the LLM away from arithmetic. The model only decides which signals matter; every number is computed by deterministic Python tools. The moment an LLM does math, errors compound silently downstream.
2. Typed contracts between agents beat freeform text. Passing Pydantic-validated objects instead of prose killed a whole class of bugs where one agent reinterpreted another’s narrative.
3. A dedicated adversarial critic catches what a single pass won’t. One agent’s only job is to attack the draft and issue structured fixes.
It’s a learning/demo project on public data — explicitly not investment advice. MIT-licensed, and the live demo streams the whole run token-by-token over SSE.
Demo: prospect-ai.moisesprat.dev
Code: github.com/moisesprat/ProspectAI
Happy to share with the community and to get feedback. Tokens are at my cost, so any donation would be appreciated.
The typed contracts point really stood out.
It feels like a lot of multi-agent failures get blamed on the models themselves, when they're really communication failures between agents.
Treating those handoffs more like software interfaces than conversations seems like a much more reliable direction.