Causal Reasoning in Pieces: Modular In-Context Learning for Causal Discovery

Kacper Kadziolka, Saber Salehkaleybar
7/31/2025
cs.AI

No official code found. Best implementation: kacperkadziolka/causal-reasoning-in-pieces (1 star, last commit 2026-02-25).

Abstract

Causal inference remains a fundamental challenge for large language models. Recent advances in internal reasoning with large language models have sparked interest in whether state-of-the-art reasoning models can robustly perform causal discovery-a task where conventional models often suffer from severe overfitting and near-random performance under data perturbations. We study causal discovery on the Corr2Cause benchmark using the emergent OpenAI's o-series and DeepSeek-R model families and find that these reasoning-first architectures achieve significantly greater native gains than prior approaches. To capitalize on these strengths, we introduce a modular in-context pipeline inspired by the Tree-of-Thoughts and Chain-of-Thoughts methodologies, yielding nearly three-fold improvements over conventional baselines. We further probe the pipeline's impact by analyzing reasoning chain length, complexity, and conducting qualitative and quantitative comparisons between conventional and reasoning models. Our findings suggest that while advanced reasoning models represent a substantial leap forward, carefully structured in-context frameworks are essential to maximize their capabilities and offer a generalizable blueprint for causal discovery across diverse domains.

View on arXivView PDF

Code Implementations(1)

This repository contains all code, prompts, and evaluation scripts as a part of paper titled "Causal Reasoning in Pieces: Modular In-Context Learning for Causal Discovery".

11Python, Jupyter NotebookNov 20, 20247 months ago

Similar Papers

Cite this paper

@article{kadziolka2025causal,
  title  = {Causal Reasoning in Pieces: Modular In-Context Learning for Causal Discovery},
  author = {Kacper Kadziolka and Saber Salehkaleybar},
  year   = {2025},
  eprint = {2507.23488},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2507.23488v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2507.23488.svg)](https://codeofpaper.com/paper/2507.23488)

Discussion