[PR #773] [CLOSED] feat: add AI research agent with adversarial fact-checking #13966

Closed
opened 2026-07-11 19:27:56 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/Shubhamsaboo/awesome-llm-apps/pull/773
Author: @WingedGuardian
Created: 5/3/2026
Status: Closed

Base: mainHead: feat/ai-research-fact-checker


📝 Commits (1)

  • d7a983b feat: add AI research agent with adversarial fact-checking

📊 Changes

5 files changed (+915 additions, -0 deletions)

View changed files

advanced_ai_agents/single_agent_apps/ai_research_fact_checker/.gitignore (+3 -0)
advanced_ai_agents/single_agent_apps/ai_research_fact_checker/README.md (+153 -0)
advanced_ai_agents/single_agent_apps/ai_research_fact_checker/app.py (+292 -0)
advanced_ai_agents/single_agent_apps/ai_research_fact_checker/requirements.txt (+5 -0)
advanced_ai_agents/single_agent_apps/ai_research_fact_checker/research_agent.py (+462 -0)

📄 Description

Summary

A research agent that fetches real web sources, writes a cited report with [Source N] references, then adversarially fact-checks every claim — flagging unsupported assertions and fabricated citations before you trust the output.

Most AI research tools return whatever the LLM says. This one adds an adversarial fact-checker — a separate LLM pass that reads the report cold (no memory of writing it) and checks whether each claim actually has a supporting source or was made up.

Pipeline

  1. Research planning — generates 3-6 targeted search queries, including a skeptical/contrarian angle
  2. Source gathering — fetches real web pages (Wikipedia, MDN, .gov, news, etc.)
  3. Report synthesis — writes a structured report with inline [Source N] citations
  4. Adversarial fact-check — independent verifier checks claim-to-source mapping, flags unsupported assertions

Key features

  • Every claim must cite a real, fetched source — no hallucinated references
  • Cold fact-checker detects fabricated citations, exaggerated claims, and missing sources
  • Configurable confidence threshold (default 0.75)
  • SQLite audit trail (research sessions + source fetches)
  • Streamlit web UI with claim-by-claim verification display
  • CLI mode via research_agent.py
  • Any OpenAI-compatible provider via base URL

Files

advanced_ai_agents/single_agent_apps/ai_research_fact_checker/
├── app.py              # Streamlit frontend
├── research_agent.py   # Core pipeline + CLI
├── requirements.txt    # openai, httpx, rich, streamlit
├── README.md
└── .gitignore

Quickstart

pip install -r requirements.txt
streamlit run app.py

Test plan

  • Both Python files pass syntax check
  • Module imports work correctly (app.py imports research_agent)
  • DB initialization creates both tables (research, fetches)
  • URL fetching works (tested against httpbin.org, webassembly.org, MDN)
  • Full pipeline tested end-to-end (topic → 6 sources → cited report → VERIFIED 85%)
  • Fact-checker correctly validates claim-to-source mapping
  • Streamlit app launches without errors
  • CLI mode works (--list, --show)
  • Only touches our directory — no changes to other apps

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/Shubhamsaboo/awesome-llm-apps/pull/773 **Author:** [@WingedGuardian](https://github.com/WingedGuardian) **Created:** 5/3/2026 **Status:** ❌ Closed **Base:** `main` ← **Head:** `feat/ai-research-fact-checker` --- ### 📝 Commits (1) - [`d7a983b`](https://github.com/Shubhamsaboo/awesome-llm-apps/commit/d7a983b86f1fd7f10dd5423c04c3305d585d2764) feat: add AI research agent with adversarial fact-checking ### 📊 Changes **5 files changed** (+915 additions, -0 deletions) <details> <summary>View changed files</summary> ➕ `advanced_ai_agents/single_agent_apps/ai_research_fact_checker/.gitignore` (+3 -0) ➕ `advanced_ai_agents/single_agent_apps/ai_research_fact_checker/README.md` (+153 -0) ➕ `advanced_ai_agents/single_agent_apps/ai_research_fact_checker/app.py` (+292 -0) ➕ `advanced_ai_agents/single_agent_apps/ai_research_fact_checker/requirements.txt` (+5 -0) ➕ `advanced_ai_agents/single_agent_apps/ai_research_fact_checker/research_agent.py` (+462 -0) </details> ### 📄 Description ## Summary A research agent that **fetches real web sources, writes a cited report with `[Source N]` references, then adversarially fact-checks every claim** — flagging unsupported assertions and fabricated citations before you trust the output. Most AI research tools return whatever the LLM says. This one adds an **adversarial fact-checker** — a separate LLM pass that reads the report cold (no memory of writing it) and checks whether each claim actually has a supporting source or was made up. ### Pipeline 1. **Research planning** — generates 3-6 targeted search queries, including a skeptical/contrarian angle 2. **Source gathering** — fetches real web pages (Wikipedia, MDN, .gov, news, etc.) 3. **Report synthesis** — writes a structured report with inline `[Source N]` citations 4. **Adversarial fact-check** — independent verifier checks claim-to-source mapping, flags unsupported assertions ### Key features - Every claim must cite a real, fetched source — no hallucinated references - Cold fact-checker detects fabricated citations, exaggerated claims, and missing sources - Configurable confidence threshold (default 0.75) - SQLite audit trail (research sessions + source fetches) - Streamlit web UI with claim-by-claim verification display - CLI mode via `research_agent.py` - Any OpenAI-compatible provider via base URL ### Files ``` advanced_ai_agents/single_agent_apps/ai_research_fact_checker/ ├── app.py # Streamlit frontend ├── research_agent.py # Core pipeline + CLI ├── requirements.txt # openai, httpx, rich, streamlit ├── README.md └── .gitignore ``` ### Quickstart ```bash pip install -r requirements.txt streamlit run app.py ``` ## Test plan - [x] Both Python files pass syntax check - [x] Module imports work correctly (app.py imports research_agent) - [x] DB initialization creates both tables (research, fetches) - [x] URL fetching works (tested against httpbin.org, webassembly.org, MDN) - [x] Full pipeline tested end-to-end (topic → 6 sources → cited report → VERIFIED 85%) - [x] Fact-checker correctly validates claim-to-source mapping - [x] Streamlit app launches without errors - [x] CLI mode works (--list, --show) - [x] Only touches our directory — no changes to other apps --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2026-07-11 19:27:56 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/awesome-llm-apps#13966