diff --git a/src/agents/orchestrator.py b/src/agents/orchestrator.py index 4b2aaa0..380404d 100644 --- a/src/agents/orchestrator.py +++ b/src/agents/orchestrator.py @@ -624,9 +624,9 @@ class AgentOrchestrator: async def _web_search_pipeline(): """Claude WebSearch-Recherche.""" researcher = ResearcherAgent() - # Bei Research: bestehende Artikel als Kontext mitgeben + # Bestehende Artikel als Kontext mitgeben (Research + Adhoc) existing_for_context = None - if incident_type == "research" and existing_db_articles_full: + if existing_db_articles_full: existing_for_context = [ {"source": row["source"] if "source" in row.keys() else "", "headline": row["headline"], diff --git a/src/agents/researcher.py b/src/agents/researcher.py index 0428039..f163fda 100644 --- a/src/agents/researcher.py +++ b/src/agents/researcher.py @@ -14,7 +14,7 @@ WICHTIG: Verwende IMMER echte UTF-8-Umlaute (ä, ö, ü, ß) — NIEMALS Umschre AUFTRAG: Suche nach aktuellen Informationen zu folgendem Vorfall: Titel: {title} Kontext: {description} - +{existing_context} REGELN: - Suche nur bei seriösen Nachrichtenquellen (Nachrichtenagenturen, Qualitätszeitungen, öffentlich-rechtliche Medien, Behörden) - KEIN Social Media (Twitter/X, Facebook, Instagram, TikTok, Reddit) @@ -331,9 +331,21 @@ class ResearcherAgent: ) else: lang_instruction = LANG_INTERNATIONAL if international else LANG_GERMAN_ONLY + # Bestehende Artikel als Kontext: bei Folge-Refreshes findet Claude andere Quellen + existing_context = "" + if existing_articles: + known_lines = [] + for art in existing_articles[:30]: # Max 30 bei adhoc (kompakter als research) + source = art.get("source", "Unbekannt") + headline = art.get("headline", "") + known_lines.append(f"- {source}: {headline}") + existing_context = ( + "BEREITS BEKANNTE QUELLEN (aus RSS-Feeds und vorherigen Recherchen) — suche ANDERE Blickwinkel und Quellen:\n" + + "\n".join(known_lines) + "\n" + ) prompt = RESEARCH_PROMPT_TEMPLATE.format( title=title, description=description, language_instruction=lang_instruction, - output_language=OUTPUT_LANGUAGE, + output_language=OUTPUT_LANGUAGE, existing_context=existing_context, ) try: