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:
- Selects languages to research (specified or filtered by relevance)
- Runs the chosen research workflow in each language sequentially
- Analyzes findings across languages for patterns and differences
- 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
| Input | Description | Example |
|---|---|---|
| Topic | Research topic | ”Attitudes toward nuclear energy” |
| Mode | Language selection mode | ”set_languages”, “main_languages”, “all_languages” |
| Languages (for set mode) | Specific languages to use | [“en”, “de”, “fr”, “ja”] |
| Workflow | Which research workflow to run | ”web”, “academic”, “books” |
| Thoroughness | Depth per language | ”Standard” |
| Research questions (for academic) | Questions to address | [“How do attitudes vary by country?“] |
Outputs
| Output | Description |
|---|---|
| Report | Unified English synthesis with cross-language insights |
| Status | Success, partial, or failed |
| Source count | Number 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:
| Workflow | Description |
|---|---|
| web | Web Research — general internet sources |
| academic | Literature Review — scholarly papers |
| books | Book Discovery — book recommendations |
Example
Input:
- Topic: “Work-life balance policies and cultural attitudes”
- Mode: main_languages
- Workflow: web
- Thoroughness: Standard
Process:
- Relevance check determines German, Japanese, French, Spanish, and Korean have distinct perspectives
- Runs web research in each (5 runs)
- Analysis identifies: German focus on legal frameworks, Japanese on corporate culture, French on right to disconnect, etc.
- 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.py — MultiLangState
Nodes: workflows/wrappers/multi_lang/nodes/
language_selector.py— mode-based language selectionrelevance_checker.py— Haiku-based relevance filteringlanguage_executor.py— runs underlying workflow per languagesonnet_analyzer.py— cross-language pattern analysisopus_integrator.py— final synthesissave_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 promptsanalysis.py— cross-language analysis promptsintegration.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