Files
NSCT---Neutral-Search-Crawl…/METHODOLOGY.md
NSCT Agent e9410be941 Stage 0: Repository und Architekturgrundlage
- Pyproject.toml mit FastAPI, Pydantic v2, SQLAlchemy, httpx, asyncio,
  BeautifulSoup4, selectolax, trafilatura, uvicorn, pytest-asyncio
- Multi-stage Dockerfile (Python 3.12-slim, Non-Root-User nsct)
- docker-compose.yml (nsct-api + postgres + optional searxng)
- .env.example mit allen Config-Parametern
- Config-System: AppSettings mit LLMConfig, VisionConfig, AudioConfig,
  DatabaseConfig — komplett aus Environment, keine Hardcodes
- Strukturiertes Logging mit research_id/llm_request_id Tracking
- Pydantic v2 Schemas: SearchQuery, Source, Claim, EvidenceRelation,
  CitationEdge, ResearchReport
- SQLAlchemy 2.0 Declarative Models + async Engine Factory
- SSRF-Schutz: URL-Validation, IP-Blocklist (RFC1918, Cloud Metadata,
  file://, ftp://)
- Provider-Interfaces: LLMProvider, VisionProvider, AudioProvider,
  SearchProvider, ContentFetcher als ABCs
- Health-Endpoints: /health, /ready (LLM-Connect-Test), /providers
- FastAPI App mit CORS, lifespan (LLM Pre-Flight)
- CLI-Stub mit Entry-Points: nsct, nsct-core, nsct-api
- 6 Test-Cases: /health, /ready, /providers + No-Secrets-Test
- Vollständige Dokumentation: README, ARCHITECTURE, SECURITY,
  METHODOLOGY, API, DEPLOYMENT
- .gitignore (Python, Docker, IDE, .env)
2026-08-23 11:33:45 +00:00

3.4 KiB

NSCT — Methodik: Was "neutral" bedeutet

1. Grundverständnis von Neutralität

Neutralität bedeutet nicht: "Alle Meinungen sind gleich." Neutralität bedeutet nicht: "Eine einfache Mehrheit gewinnt." Neutralität bedeutet: "Unsicherheit wird explizit gemacht, Quelle wird immer genannt, und der Bericht spiegelt die tatsächliche Evidenzlage wider — ohne Bewertung."

2. Quellenabhängigkeit

NSCT ist vollständig abhängig von der Qualität und Vielfalt der verfügbaren Quellen. Wenn eine Perspektive in den Quellen fehlt, erscheint sie als "keine Quellen gefunden" — nicht als "widerlegt".

Das bedeutet:

  • Keine Quellen → Unklarheit, nicht falsche Aussage
  • Wenige Quellen → Niedrige Konfidenz, nicht niedrige Wahrheit
  • Viele widersprüchliche Quellen → Disagreements, nicht "irgendwer hat recht"

3. Claim-Vergleich statt Stimmzählung

NSCT durchsucht nicht nach "Anzahl der Quellen für X" und ergibt dann "X ist wahr". Stattdessen:

  1. Extrahieren: Alle Claims werden aus allen Quellen extrahiert
  2. Normalisieren: Behauptungen werden in eine neutrale Grundform gebracht (keine wertende Sprache)
  3. Vergleichen: Claims werden paarweise verglichen
  4. Kategorisieren:
    • agrees: Direkte Übereinstimmung
    • disagrees: Direkter Widerspruch
    • partially_agrees: Teilweise Übereinstimmung
    • neutral: Keine direkte Relation
    • contradicts: Starker Widerspruch (stärker als disagreement)
  5. Berichten: Alle Relationen werden dokumentiert mit Begründung

Niemals wird die Anzahl der zugunsten einer Aussage stehenden Quellen als "Truth-Score" verwendet.

4. Unsicherheit als gültiges Resultat

Ein Bericht, der sagt "Es gibt keine ausreichende Evidenz für eine klare Aussage zu diesem Punkt" ist ein vollständiges und gültiges Ergebnis.

Unsicherheitskategorien:

  • low_confidence: Nur wenige oder niedrig-qalifizierte Quellen
  • contradictory: Quellen widersprechen sich deutlich
  • missing_perspective: Eine plausible Perspektive wird nicht durch Quellen vertreten
  • temporal: Quellen sind veraltet oder aktuelle Entwicklungen liegen nicht vor

5. Keine universelle "Truth Score"-Kennzahl

NSCT erzeugt niemals eine einzelne numerische Kennzahl wie "Source Quality Score: 0.87" oder "Claim Truthiness: 92%".

Stattdessen:

  • Jeder Claim hat eine extraktionsbezogene confidence (0-1)
  • Jede EvidenceRelation hat eine confidence (0-1)
  • Die Aggregation erfolgt durch Text (Summary, Findings, Disagreements, Uncertainties), nicht durch Aggregation numerischer Scores.

6. Quellen-Abhängigkeit vs. Quellen-Vertrauen

Ein wichtiger Unterschied:

  • Quellen-Abhängigkeit ist eine technische Eigenschaft: "Welche Quellen liegen vor und was sagen sie?"
  • Quellen-Vertrauen ist eine bewertende Eigenschaft: "Wie sehr darf man dieser Quelle glauben?"

NSCT macht keine Quellen-Vertrauen-Bewertung. Es dokumentiert nur die Quellen-Abhängigkeit und lässt die Bewertung dem Nutzer.

7. Transparenz der Methodik

Jeder Bericht enthält ein methodology-Feld, das beschreibt:

  • Wie viele Quellen durchsucht wurden
  • Welche Search-Provider verwendet wurden
  • Welche Claims extrahiert wurden
  • Welche Relations zwischen Claims gefunden wurden
  • Welche Unsicherheiten identifiziert wurden

Der Nutzer kann damit jederzeit nachvollziehen, wie der Bericht zustande kam — und alternative Ansätze ausprobieren.