LLM-Based Multi-Agent System for Startup Evaluation
📄 Accepted at EACL 2026 Industry Track — Read the Paper
DIALECTIC is an LLM-based multi-agent system that helps venture capital investors evaluate startup investment opportunities. The system addresses a critical challenge: investors face an overwhelming number of opportunities but can only invest in a small fraction.
The pipeline works through four key stages:
- Data Collection — Gather factual knowledge about the startup via web search
- Knowledge Organization — Structure information into hierarchical question trees
- Argument Generation — Synthesize pro and contra investment arguments
- Iterative Refinement — Simulate debate (devil's advocate) to critique and refine arguments
The output includes natural-language arguments with numeric scores, enabling efficient opportunity ranking.
DIALECTIC ships as a Claude Code skill. Once installed, type /dialectic in any Claude Code session to analyze a startup.
Open Claude Code and paste this prompt:
run git clone --single-branch --depth 1 https://github.com/pantageepapa/DIALECTIC.git ~/.claude/skills/dialectic && cd ~/.claude/skills/dialectic && ./setup
Claude will clone the repo, install dependencies, and walk you through the rest.
After setup, add your keys to ~/.claude/skills/dialectic/.env:
| Key | Required | Where to get it |
|---|---|---|
OPENAI_API_KEY |
Yes | platform.openai.com/api-keys |
PPLX_API_KEY |
Yes (or Brave) | perplexity.ai/settings/api |
BRAVE_SEARCH_API_KEY |
Yes (or Perplexity) | brave.com/search/api |
LANGSMITH_API_KEY |
No | Optional tracing |
Open Claude Code in any project and type:
/dialectic
Claude will ask for the startup's name, what it does, industry, and any additional context. Then it runs the full analysis pipeline and presents:
- Pro arguments — reasons to invest, with scores
- Con arguments — reasons to pass, with scores
- Investment recommendation — invest or pass, with synthesis
Choose between a clean summary (recommended) or the full detailed view showing iteration history, critiques, and refinements.
src/agent/
├── cli.py # CLI entry point for the /dialectic skill
├── pipeline/
│ ├── graph.py # Main LangGraph definition
│ ├── stages/ # Pipeline stages
│ │ ├── constants.py # Investment questions & types
│ │ ├── cache.py # Caching utilities
│ │ ├── decomposition.py # Question tree decomposition
│ │ ├── answering/ # Question answering (with/without tools)
│ │ ├── generation.py # Pro/contra argument generation
│ │ ├── critique.py # Devil's advocate critiques
│ │ ├── evaluation.py # Argument scoring
│ │ ├── refinement.py # Argument refinement
│ │ └── decision.py # Final investment decision
│ ├── state/ # Pydantic state schemas
│ └── utils/ # Helper functions
├── prompts/ # All LLM prompts
├── dataclasses/ # Core data models (Company, Argument, etc.)
└── web_search/ # Web search providers
Note:
SKILL.mdat the repo root is the Claude Code skill definition. When the repo is cloned to~/.claude/skills/dialectic/, Claude Code automatically registers/dialecticas a global slash command.
~/.claude/skills/dialectic/uninstallThis removes the skill directory and deregisters /dialectic from Claude Code.
For development, graph visualization, and debugging individual pipeline stages:
pip install -e . "langgraph-cli[inmem]"cp .env.example .env
# Add your API keyslanggraph devThis opens LangGraph Studio where you can run the pipeline interactively, visualize the graph, and inspect state at each node.
@inproceedings{dialectic2026,
title={DIALECTIC: An LLM-Based Multi-Agent System for Startup Evaluation},
author={Bae, Jae Yoon and Malberg, Simon and Galang, Joyce and Retterath, Andre and Groh, Georg},
booktitle={Proceedings of the 2026 Conference of the European Chapter of the Association for Computational Linguistics: Industry Track},
year={2026},
publisher={Association for Computational Linguistics}
}See LICENSE for details.