Unfortunately we will see this kind of cases more and more with AI rise. I don't believe it is the only app that could do relevant labeled searching in faces etc.
Curious how you handle feed evolution over time. When an RSS source changes structure (fields added/removed, summaries truncated, etc.), do you normalize to a fixed schema or store the raw payload alongside a best-effort normalized version? Longitudinal datasets tend to get tricky there.
That's correct, the slides are mostly showing how MCP - A2A work and basic architectures between them and Agents in general. I will upload probably today the presentation slides in my blog.
Hello exactly what you are saying is what this repo does. I will upload today probably the whole PyCon presentation of it in my blog if you are interested. You will find it at: https://www.petrostechchronicles.com/
It just builds a ChatGPT like UI that has Agents to serve you either latest news on a specific tech topic (via fetching them via MCP Servers for: Brave Browser, Hackernews and Github for trending repos or repos fetched in the response). It also supports giving you back general knowledge answers. The whole purpose of the repo is to be a general example of how Agents speak with Agents and how to pair them with MCP servers and why we need MCP Servers(for example better run all calculations not in LLM because they hallucinate, but via code and then give the answer back to the LLM). I hope it clarifies what it does now.
Thanks a lot for taking the time to go through the code and leave such a detailed comment, I really appreciate the thoughtful feedback either bad or good, it always helps.
Just to clarify: this repo is meant as a quick demo/learning resource after experimenting with Pydanticai(for some limited time), FastAPI, and agents. It’s not something I’d structure or ship in a production environment or at a real job in any case.
That said, your points are spot on:
- Consistency in return types (Pydantic schemas over mixed dicts/JSONResponse, which was done either because I glued code from other projects I had either from generated so if it is used from anyone in real case it needs refactoring).
Structuring data exchange between agents with typed models instead of raw dicts. (totally correct too)
Avoiding redundant abstractions in the agent base. (I wouldn't agree fully on that as it is an area that anyone can have different opinion on what is a redudant abstraction)
Breaking views into logical modules rather than dropping them all into main.py. (I fully agree again)
These are all best practices I’d absolutely follow in production code and more as the codebase is not 100% structured robustly, and it’s great to see them highlighted here so others reading can also learn from the contrast between “demo” and “real-world” implementations.
Again, thanks for diving in this kind of feedback is exactly what makes sharing experiments valuable.
Thanks a lot, I believe too that MCP and A2A are not going anywhere anytime soon. Although both of them need more features and security hardening in order to really survive in production like or enterprise environments.