EvoX Genesis
EvoX Genesis는 고수준 목표를 재귀적 소프트웨어 세계로 전환해, 유한 에이전트가 개발하고 승인된 결과만 유지됩니다
Accelerated, accurate, agentic causal discovery
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Interventional data: rows from experiments, where a variable was changed from outside. Where observation leaves the direction of an edge open, an experiment on either end can settle it. IGSP learns graphs from experiments with known targets, GnIES and UT-IGSP from experiments whose targets they are not told, and ICP finds the causes of one variable, all as accurately as their authors' code. CAM-UV and DYNOTEARS are supported too.
Read the post · See the release card
Andrey is a causal discovery package for Python.
uv add andrey-core
pip install andrey-core
You install andrey-core and then import andrey.
andrey-core[torch] for GPUs, andrey-core[viz] for charts and graph
layoutsuv add "andrey-core @ git+https://github.com/Abel-ai-lab/andrey@main"| Family | Methods | Returns |
|---|---|---|
| Constraint-based | pc, fci, gfci, cdnod, icp, iamb, inter_iamb, mmpc | CPDAG, PAG, DAG, UNDIRECTED |
| Score-based | ges, gies, gnies, xges, hc, tabu, exact_search, , *, *, , |
* Experimental: no published benchmark yet, and the API may change.
Learn the protein-signaling network of Sachs et al. (2005) from 853 cells, and score it against the known network:
import andrey
from andrey.data import load_dataset
from andrey.metrics import score
sachs = load_dataset("sachs") # 853 cells, 11 proteins, and the known network
out = andrey.pc(sachs.data) # learn a graph
print(out)
scores = score(out.structure, sachs.graph)
print({k: round(scores[k], 2) for k in ("shd", "skeleton_precision", "skeleton_recall")})
pc cpdag | 11 nodes | 8 edges (6 undirected, 2 directed)
raf -- mek
plc -- pip3
pip2 -- pip3
erk -- akt
erk -- pka
akt -- pka
p38 -> pkc
jnk -> pkc
indep_test: fisherz
tie_break: rank
{'shd': 11, 'skeleton_precision': 1.0, 'skeleton_recall': 0.47}
PC finds 8 edges, all among the known network's 17. The structural Hamming distance (SHD) counts the edges to add, remove, or reorient to reach the known network: 11 here (9 edges are missing, and 2 are oriented that the known network leaves undirected), and 17 for a graph with no edges.
For your own data, pass a pandas DataFrame or a NumPy array: one row per sample, one column per variable. From a shell or an agent:
andrey run pc --data your_data.csv # JSON when piped, a summary in a terminal
To give your coding agent Andrey's skill, paste this prompt into it:
Install Andrey's agent skill: make sure the andrey-core package is installed, run
`andrey --skill`, and save its output as andrey/SKILL.md in your skills folder.
Andrey is in alpha: the API may change between releases, so pin the version you use. Linux is fully tested; macOS and Windows install and run on the CPU, but the full test suite and the GPU speedups (CUDA / MPS) are not tested there yet.
If you use Andrey in your work, please cite it, or use the citation file:
@software{andrey,
author = {{Abel AI Lab}},
title = {Andrey: Accelerated, accurate, agentic causal discovery},
year = {2026},
version = {0.14.0},
url = {https://andrey.abel.ai},
}
Andrey is released under the Apache License 2.0. Bug reports and pull requests are welcome in the issue tracker; the contributing guide explains how to set up a development environment.
Andrey is inspired by causal-learn, pgmpy, Tetrad, and many other causal discovery packages.
calm| CPDAG, DAG |
| Permutation-based | boss, grasp, igsp, ut_igsp | CPDAG |
| Functional causal models | direct_lingam, ica_lingam, multi_group_direct_lingam, cam, resit | DAG |
| Temporal causal discovery | varma_lingam, longitudinal_lingam, pcmci, pcmciplus, lpcmci, granger, dynotears | Temporal graph |
| Latent variables | gin, rcd, bottom_up_parce_lingam, camuv | DAG, PAG |
| Pairwise direction | anm, pnl | Two-node DAG |