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.
Sign in to save downloads to your library and vote.
Preview
๐ง DevPulseAI โ Multi-Agent Signal Intelligence
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.
Architecture
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ 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
Why Signal Collection Is Not an Agent
This is an intentional, opinionated design choice โ not a shortcut.
Signal collection involves:
- Fetching data from HTTP APIs (deterministic)
- Normalizing fields to a unified schema (mechanical transformation)
- Deduplicating by composite key (hash comparison)
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.
Agent Roles & Model Selection
| 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
How to Run
Quick Verification (No API Key Required)
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
Full Pipeline (With API Key)
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 Dashboard
streamlit run streamlit_app.py
Project Structure
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)
Optional Extensions (Advanced Users)
These are not required for the reference implementation, but show how the architecture extends:
-
Multi-provider models โ Swap
RelevanceAgentto use Anthropic Claude or Google Gemini by updating the model config. Theagnoframework supports multiple providers. -
Vector search โ Add a Pinecone or Qdrant adapter to store and retrieve signals semantically for long-term pattern detection.
-
Streaming digests โ Use WebSocket streaming from
SynthesisAgentfor real-time intelligence feeds. -
Custom adapters โ Add new signal sources by implementing a
fetch_*function that returnsList[Dict]with the standard schema (id,source,title,description,url,metadata). -
Feedback loop โ Store user feedback (๐/๐) in Supabase and use it to fine-tune relevance scoring over time.
Dependencies
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.
Design Tradeoffs
| 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.
Ingestion metadata
- Source catalog
- awesome-llm-apps
- Repository
- Shubhamsaboo/awesome-llm-apps ยท main
- File path
- advanced_ai_agents/multi_agent_apps/devpulse_ai/README.md
- Last refreshed
- 7/24/2026, 3:00:12 AM (53m ago)
- Refresh schedule
- Daily ยท 03:00 UTC
- Dedupe status
- Unique ยท deduped by (source, url)