AQI Analysis Agent
The AQI Analysis Agent is a powerful air quality monitoring and health recommendation tool powered by Firecrawl and Agno's AI Agent framework. This ap…
- OpenAI
Agent Teams ·Advanced
A reference implementation demonstrating how to build a multi-agent pipeline that aggregates technical signals from multiple sources, scores them for relevance, assesses risks, and synthesizes an actionable intelligence digest.
OPENAI_API_KEYLicense Apache-2.0 · content curated and maintained by Doutor AI.
A reference implementation demonstrating how to build a multi-agent pipeline that aggregates technical signals from multiple sources, scores them for relevance, assesses risks, and synthesizes an actionable intelligence digest.
Design Philosophy: Agents are used only where reasoning is required. Deterministic operations (collection, normalization, deduplication) are implemented as plain utilities - not agents.
┌─────────────────────────────────────────────────────────┐
│ DATA SOURCES │
│ GitHub · ArXiv · HackerNews · Medium · HuggingFace │
└──────────────────────┬──────────────────────────────────┘
│ raw signals
▼
┌──────────────────────────────────────────────────────────┐
│ SignalCollector (UTILITY - no LLM) │
│ • Normalizes to unified schema │
│ • Deduplicates via source:id composite key │
│ • Filters incomplete signals │
└──────────────────────┬───────────────────────────────────┘
│ normalized signals
▼
┌──────────────────────────────────────────────────────────┐
│ RelevanceAgent (AGENT - gpt-4.1-mini) │
│ • Scores each signal 0–100 for developer relevance │
│ • Considers: novelty, impact, actionability, timeliness │
│ • Falls back to heuristics if no API key │
└──────────────────────┬───────────────────────────────────┘
│ scored signals
▼
┌──────────────────────────────────────────────────────────┐
│ RiskAgent (AGENT - gpt-4.1-mini) │
│ • Assesses security vulnerabilities │
│ • Flags breaking changes and deprecations │
│ • Rates risk: LOW / MEDIUM / HIGH / CRITICAL │
└──────────────────────┬───────────────────────────────────┘
│ risk-assessed signals
▼
┌──────────────────────────────────────────────────────────┐
│ SynthesisAgent (AGENT - gpt-4.1) │
│ • Cross-references relevance + risk data │
│ • Produces executive summary │
│ • Generates actionable recommendations │
└──────────────────────┬───────────────────────────────────┘
│
▼
📄 Intelligence Digest
This is an intentional, opinionated design choice - not a shortcut.
Signal collection involves:
None of these tasks require reasoning, judgment, or language understanding.
Wrapping collection in an Agent class would be _decorative_ - it would have an LLM import that never gets called. This misleads readers into thinking an LLM is necessary, when the actual logic is a for loop with a set().
Rule of thumb: If you can write the logic as a pure function with no ambiguity, it's a utility. If the output depends on understanding context, making judgment calls, or generating natural language, it's an agent.
| Component | Type | Model | Why This Model |
|---|---|---|---|
SignalCollector | Utility | _none_ | Deterministic - no reasoning required |
RelevanceAgent | Agent | gpt-4.1-mini | Classification task - fast, cheap, high-volume |
RiskAgent | Agent | gpt-4.1-mini | Structured analysis - careful but not expensive |
SynthesisAgent | Agent | gpt-4.1 | Cross-referencing & summarization - needs strongest reasoning |
Single provider by default (OpenAI) to reduce onboarding friction. Override per-agent via environment variables:
export MODEL_RELEVANCE=gpt-4.1-nano # cheaper, faster
export MODEL_RISK=o4-mini # deeper reasoning for risk
export MODEL_SYNTHESIS=gpt-4.1 # default, strongest
cd advanced_ai_agents/multi_agent_apps/devpulse_ai
python verify.py
This runs the full pipeline with mock data in <1 second. No network calls, no API keys.
Expected output:
[OK] DevPulseAI reference pipeline executed successfully
pip install -r requirements.txt
export OPENAI_API_KEY=sk-...
python main.py
Without an API key, agents automatically fall back to heuristic scoring.
streamlit run streamlit_app.py
devpulse_ai/
├── agents/
│ ├── __init__.py # Package exports + design docs
│ ├── signal_collector.py # UTILITY - normalize & dedup
│ ├── relevance_agent.py # AGENT - score relevance (gpt-4.1-mini)
│ ├── risk_agent.py # AGENT - assess risks (gpt-4.1-mini)
│ └── synthesis_agent.py # AGENT - produce digest (gpt-4.1)
├── adapters/
│ ├── github.py # GitHub trending repos
│ ├── arxiv.py # ArXiv recent papers
│ ├── hackernews.py # HackerNews top stories
│ ├── medium.py # Medium AI/ML blogs
│ └── huggingface.py # HuggingFace trending models
├── workflows/
│ └── signal-intelligence-pipeline.json
├── main.py # Full pipeline runner
├── verify.py # Mock-data verification (<1s)
├── streamlit_app.py # Interactive dashboard
└── requirements.txt # Minimal deps (single provider)
These are not required for the reference implementation, but show how the architecture extends:
RelevanceAgent to use Anthropic Claude or Google Gemini by updating the model config. The agno framework supports multiple providers.SynthesisAgent for real-time intelligence feeds.fetch_* function that returns List[Dict] with the standard schema (id, source, title, description, url, metadata).agno # Agent framework
openai # LLM provider (single default)
httpx # HTTP client for adapters
feedparser # RSS/Atom parsing for Medium
streamlit>=1.30 # Interactive dashboard
No google-generativeai required. Gemini is an optional extension if users want multi-provider support - install google-genai (not the deprecated google-generativeai) separately.
| Decision | Tradeoff | Why |
|---|---|---|
| Single provider default | Less flexibility | Reduces onboarding from 2+ keys to 1 |
| Signal collection as utility | Less "agentic" demo | Honest architecture - agents where reasoning exists |
| Heuristic fallbacks | Lower quality without API key | Pipeline always works, even for evaluation |
| 5 signals per source default | Less data | Keeps demo fast (<10s with API, <1s mock) |
| No async in agents | Less throughput | Simpler code, clearer educational value |
_Built as a reference implementation for awesome-llm-apps._
The AQI Analysis Agent is a powerful air quality monitoring and health recommendation tool powered by Firecrawl and Agno's AI Agent framework. This ap…
An AI-powered multi-agent codebase migration assistant built with LangGraph and Streamlit that plans file-by-file refactoring tasks, performs human-in…
An advanced AI research agent built using the Agno Agent framework, Together AI's Qwen model, and Composio tools. This agent helps users conduct compr…
Need a tailor-made solution?
Not sure where to start with AI in your business? Get a free assessment and a tailored plan - no commitment.
Doutor AI gives you 1,859 ready-to-copy AI prompts, by industry and in plain English - plus a complete technical library for those who want to go further.