Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Genesis

Agentic scientific discovery engine written in Go. Ask a scientific question — Genesis fans it out to specialized AI agents running in parallel, then synthesizes their findings into a cross-scale hypothesis.

genesis ask "How will rising ocean temperatures affect coral bleaching by 2035?"

How it works

Three agents run concurrently as Go goroutines:

Agent Role
Climate Projects climate variables — temperature, precipitation, sea surface anomalies
Molecular Analyzes protein-level and cellular responses to environmental stress
Reasoning Synthesizes cross-scale findings into a grounded hypothesis

Results are collected via a buffered Go channel. The Reasoning agent synthesizes only after all specialist agents complete — no locks, no race conditions.

User Query
    │
    ├──(goroutine)──► Climate Agent
    │                      │
    ├──(goroutine)──► Molecular Agent
    │                      │
    └──────────────── channel fan-in
                           │
                    Reasoning Agent
                           │
                  Hypothesis + Confidence

Quick start

Prerequisites: Go 1.22+ and an API key from build.nvidia.com

git clone https://github.com/HarshalSant/genesis
cd genesis
go build -o genesis ./cmd/genesis

export NVIDIA_API_KEY=your_key_here
./genesis ask "How does permafrost thaw affect methane-oxidizing bacteria by 2040?"

Windows:

$env:NVIDIA_API_KEY = "your_key_here"
.\genesis.exe ask "How does permafrost thaw affect methane-oxidizing bacteria by 2040?"

Example queries

genesis ask "How will a 2°C rise in Bay of Bengal temperature affect dengue vector populations?"
genesis ask "What molecular mechanisms link wildfire smoke to Alzheimer's protein aggregation?"
genesis ask "How does ocean acidification alter calcification proteins in pteropods?"
genesis ask "How will shifting monsoon patterns affect mycorrhizal networks in South Asian rice paddies?"

Why Go

Go's concurrency primitives map naturally to multi-agent systems:

  • Goroutines — agents run with minimal overhead, no thread pool management
  • Channels — typed message passing, no shared memory, no mutexes
  • Context — single cancellation deadline propagates across all agents
  • Single binary — no runtime, no dependencies, deploy anywhere

Project structure

genesis/
├── cmd/genesis/main.go           # CLI (cobra)
├── internal/
│   ├── engine/engine.go          # Fan-out / fan-in orchestrator
│   ├── agents/agents.go          # Climate, Molecular, Reasoning agents
│   ├── clients/
│   │   ├── nim.go                # NIM inference client
│   │   ├── earth2.go             # Earth-2 climate client (NVCF)
│   │   └── bionemo.go            # BioNeMo molecular client
│   └── display/display.go        # Terminal output
└── pkg/types/types.go            # Shared types

Roadmap

  • Omniverse agent for 3D ecosystem simulation
  • FLARE integration for federated epidemiological datasets
  • Streaming output as agents produce results
  • JSON export with full evidence provenance
  • Web UI

License

MIT

About

Agentic Scientific Discovery Engine — connects NVIDIA NIM, Earth-2 and BioNeMo into a parallel multi-agent pipeline in Go

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages