Multi-Language Research

Orchestrates research across multiple languages, then synthesizes findings into a unified English report. Useful for topics where non-English sources contain important perspectives.

The workflow:

  1. Selects languages to research (specified or filtered by relevance)
  2. Runs the chosen research workflow in each language sequentially
  3. Analyzes findings across languages for patterns and differences
  4. Integrates everything into a unified synthesis

When to Use This

This workflow is intended for research where sources in multiple languages would provide materially different or more complete information.

For single-language research, use Web Research, Literature Review, or Book Discovery directly.

How It Works

flowchart TD
    subgraph select["1. Language Selection"]
        A[Your Topic] --> B{Mode?}
        B -->|Set Languages| C[Use Specified Languages]
        B -->|Main/All Languages| D[Check Relevance]
        D --> E[Filter to Relevant Languages]
        C --> F[Languages to Research]
        E --> F
    end

    subgraph execute["2. Sequential Execution"]
        F --> G[Research in Language 1]
        G --> H[Research in Language 2]
        H --> I[Research in Language 3]
        I --> J[...]
    end

    subgraph synthesize["3. Cross-Language Synthesis"]
        J --> K[Analyze Patterns Across Languages]
        K --> L[Identify Unique Perspectives]
        L --> M[Integrate into Unified Report]
    end

    M --> N[Multilingual Synthesis Report]

    style select fill:#e8f4f8
    style execute fill:#f0f8e8
    style synthesize fill:#fff8e8

The Steps Explained

1. Language Selection Three modes for choosing languages:

  • Set Languages: You specify exactly which languages to use
  • Main Languages: Checks relevance against 10 major languages, uses only relevant ones
  • All Languages: Checks relevance against all 29 supported languages

Relevance checking uses a fast model to assess whether each language likely has unique information on the topic.

2. Sequential Execution Runs the chosen research workflow (web, academic, or books) in each selected language. Sequential rather than parallel to manage resource usage.

3. Cross-Language Synthesis Two-stage synthesis:

  • Analysis: Compares findings across languages, identifies patterns, contradictions, and unique perspectives
  • Integration: Weaves everything into a coherent unified report in English

Inputs

InputDescriptionExample
TopicResearch topic”Attitudes toward nuclear energy”
ModeLanguage selection mode”set_languages”, “main_languages”, “all_languages”
Languages (for set mode)Specific languages to use[“en”, “de”, “fr”, “ja”]
WorkflowWhich research workflow to run”web”, “academic”, “books”
ThoroughnessDepth per language”Standard”
Research questions (for academic)Questions to address[“How do attitudes vary by country?“]

Outputs

OutputDescription
ReportUnified English synthesis with cross-language insights
StatusSuccess, partial, or failed
Source countNumber of languages successfully researched

Language Modes

Set Languages You specify exactly which languages. No relevance filtering—all specified languages are researched.

Main Languages (10) English, Mandarin, Spanish, German, French, Japanese, Portuguese, Russian, Arabic, Korean. Relevance-filtered.

All Languages (29) Main 10 plus: Italian, Dutch, Polish, Turkish, Vietnamese, Thai, Indonesian, Hindi, Bengali, Swedish, Norwegian, Danish, Finnish, Czech, Greek, Hebrew, Ukrainian, Romanian, Hungarian. Relevance-filtered.

Underlying Workflows

The multi-language wrapper can use any of these:

WorkflowDescription
webWeb Research — general internet sources
academicLiterature Review — scholarly papers
booksBook Discovery — book recommendations

Example

Input:

  • Topic: “Work-life balance policies and cultural attitudes”
  • Mode: main_languages
  • Workflow: web
  • Thoroughness: Standard

Process:

  1. Relevance check determines German, Japanese, French, Spanish, and Korean have distinct perspectives
  2. Runs web research in each (5 runs)
  3. Analysis identifies: German focus on legal frameworks, Japanese on corporate culture, French on right to disconnect, etc.
  4. Integration produces unified report highlighting regional differences

Typical output: A ~6,000 word report synthesizing perspectives from 5 languages, with sections organized by theme and callouts for where regional perspectives diverge.


Developer Reference

Entry point: workflows/wrappers/multi_lang/graph/api.py — exposes multi_lang_research()

Graph construction: workflows/wrappers/multi_lang/graph/construction.py

State: workflows/wrappers/multi_lang/state.pyMultiLangState

Nodes: workflows/wrappers/multi_lang/nodes/

  • language_selector.py — mode-based language selection
  • relevance_checker.py — Haiku-based relevance filtering
  • language_executor.py — runs underlying workflow per language
  • sonnet_analyzer.py — cross-language pattern analysis
  • opus_integrator.py — final synthesis
  • save_results.py — result persistence

Routing: workflows/wrappers/multi_lang/graph/routing.py — mode-based conditional routing

Prompts: workflows/wrappers/multi_lang/prompts/

  • relevance.py — relevance checking prompts
  • analysis.py — cross-language analysis prompts
  • integration.py — synthesis prompts

Workflow registry: workflows/wrappers/multi_lang/workflow_registry.py — maps workflow names to entry points

Built-in workflows: workflows/wrappers/multi_lang/builtin_workflows.py — web, academic, books adapters