Skip to main content

Distributed LLM Observatory

Build agents. Test agents. Observe how AI systems change.

Distributed LLM Observatory (DLLO) is an open-source framework for building evidence-based agent configurations, testing real AI agents, and producing reproducible observations of LLMs and AI systems across time, regions, benchmark versions, and operating conditions.

Observe first. Compare carefully. Explain only when the evidence allows it.

DLLO is built around three complementary workflows:

Workflow Question
Agent Starter What kind of agent architecture and stack should I build?
Test Your Agent Does my agent actually behave correctly?
Observatory What changed between compatible observations?

What you can do with DLLO

Build your agent — Agent Starter

Agent Starter v1 helps turn user goals, constraints, observed capabilities, and explicit preferences into an evidence-backed agent architecture and concrete stack recommendation.

Supported goals:

  • Coding
  • Knowledge / RAG
  • Automation
  • Voice
  • Personal assistant

The decision flow is intentionally explicit:

USER GOAL
    ↓
REQUIRED CAPABILITIES
    ↓
HARD CONSTRAINTS
    ↓
OBSERVED ENVIRONMENT
    ↓
TECHNICAL FEASIBILITY
    ↓
SOFT PREFERENCES
    ↓
OPERATIONAL FIT
    ↓
CATALOG MATCHING
    ↓
RECOMMENDATION

Agent Starter includes:

  • adaptive goal-specific questions;
  • evidence provenance;
  • hardware and compatibility input;
  • candidate architecture generation;
  • technical feasibility assessment;
  • hard-constraint enforcement;
  • decision-active soft preferences;
  • explicit catalog snapshots;
  • concrete stack resolution;
  • recommendation alternatives;
  • Why / Why Not explanations;
  • final structured technical report.

Agent Starter does not silently choose a global winner.

Multiple architectures may remain valid when the evidence does not justify a unique recommendation.

Privacy and offline are different

Agent Starter models privacy, locality, and connectivity separately.

private != offline
local execution != offline capability

For example, an architecture may keep source code local while still requiring network access for some runtime dependency.

When offline operation is required, candidate offline support must be explicitly established.


Test your agent — Agent Lab

Test Your Agent v1 connects an agent to DLLO and evaluates its behavior through a stable observer-controlled protocol.

Agent
  ↓
Compatibility
  ↓
Agent Test Session
  ↓
Agent Protocol Core
  ↓
Observer-owned evidence
  ↓
Evaluation
  ↓
Technical Report
  ↓
Persistent Run Artifact
  ↓
History
  ↓
Observatory

The system under test performs the task.

The observer collects the evidence.

The evaluator evaluates that evidence.

The system under test does not certify itself.

Current protocol coverage includes:

  • exact output;
  • instruction following;
  • structured output;
  • tool selection;
  • ordered action sequences;
  • runtime data propagation;
  • failure handling and recovery;
  • conditional branching;
  • multi-branch decisions.

Agent Protocol Core 1.0 is stable.


Observe what changed — Observatory

DLLO turns sufficiently qualified run artifacts into reproducible observations.

The Observatory supports:

  • persistent history;
  • exact session resolution;
  • observation qualification;
  • temporal pair discovery;
  • geographic pair discovery;
  • temporal comparison;
  • geographic comparison;
  • human-readable output;
  • machine-readable JSON output.

A comparison answers:

What changed?

It does not automatically answer:

Why did it change?


Why DLLO exists

AI systems can change behavior across time and operating conditions.

Latency may vary. Tool use may change. Failure rates may move. The same target observed at different times or from different regions may produce different results.

Those differences are worth measuring.

But:

observation != explanation

DLLO therefore records:

  • what was tested;
  • when it was tested;
  • where the observation originated;
  • which benchmark and protocol version were used;
  • what the system under test actually did;
  • what evidence the observer collected;
  • what changed between comparable observations.

DLLO deliberately avoids unsupported claims about:

  • provider routing;
  • datacenter location;
  • saturation;
  • throttling;
  • infrastructure causes;
  • undocumented model changes.

For example:

Observed from CL-Los-Lagos

does not mean:

Served from a datacenter in Chile.

Region represents observation provenance, not inferred serving location.


Project status

The principal DLLO v1 building blocks are operational.

Component Status
Agent Protocol Core 1.0 Stable
Test Your Agent v1 Complete
Agent Starter v1 Complete
Observatory Dashboard v1 Complete
Temporal comparison Operational
Geographic comparison Operational
Observation pair discovery Operational
Persistent Agent Lab history Operational
Consumer Probe foundations Operational / evolving

Current development is focused on external testing, broader observation coverage, richer catalogs, user experience, and distributed observation workflows.

See docs/roadmap.md.


Core principles

Observer / SUT separation

DLLO does not allow the system under test to certify itself.

Observer-owned information includes:

  • expected actions;
  • expected tool selection;
  • expected runtime propagation;
  • recovery expectations;
  • branch expectations;
  • criterion evidence;
  • verifier logic;
  • PASS / FAIL verdicts.

The intended chain is:

Task
  ↓
SUT execution
  ↓
Observer evidence collection
  ↓
Evaluation

not:

SUT
  ↓
self-declared success

No hidden selection

DLLO does not silently select:

  • a global best model;
  • a global best agent;
  • the latest observation;
  • a baseline;
  • a candidate;
  • a comparison pair;
  • a geographic time threshold.

Selection remains explicit.

Unknown remains unknown

Missing evidence is not converted into a negative claim.

UNKNOWN != NOT_FEASIBLE

Hard constraints stay hard

A hard constraint must not be silently relaxed.

Soft preferences may influence recommendations, but they never become blockers and never override hard constraints.

Rejected comparisons remain visible

Pair discovery preserves both accepted and rejected pairs together with their comparability reasons.


Temporal comparisons

A temporal comparison asks:

What changed when a compatible target was observed again later from the same observation context?

Compatibility includes:

  • same target;
  • same benchmark suite;
  • same suite version;
  • compatible task coverage;
  • complete required provenance;
  • same observer identity;
  • same observation region;
  • candidate observation strictly after baseline.

DLLO reports observed changes without assigning unsupported causes.


Geographic comparisons

A geographic comparison asks:

What differences were observed from different regions under compatible benchmark conditions?

Compatibility includes:

  • same target;
  • same benchmark suite;
  • same suite version;
  • compatible task coverage;
  • complete required provenance;
  • different observation regions;
  • observations sufficiently close in time.

The caller must explicitly provide the maximum accepted observation-time skew.

DLLO has no hidden geographic skew threshold.


Observation pair discovery

DLLO can discover candidate temporal and geographic observation pairs.

Pair discovery:

  • uses deterministic ordering;
  • delegates comparability to canonical rules;
  • preserves rejected pairs;
  • records rejection reasons;
  • does not automatically choose a baseline;
  • does not automatically choose a candidate;
  • does not use a magic latest observation.

Exact observation identifiers remain available for reproducible later comparison.


Consumer Probe

DLLO also contains a Consumer Probe subsystem for measurements made through consumer-facing AI interfaces.

Its principles include:

  • human-in-the-loop interaction;
  • no automatic prompt submission;
  • no scraping of private interfaces;
  • no browser session-token or cookie collection;
  • no private provider endpoints;
  • no rate-limit bypass;
  • local-first telemetry and history.

Consumer Probe records only what the observer can actually measure and preserves the distinction between observed client-side behavior and unknown provider infrastructure.


Target taxonomy

DLLO distinguishes:

FOUNDATION_MODEL
AGENT
AI_SYSTEM

Targets can declare capabilities such as:

text
vision
audio_input
speech_output
memory
tools
browser
filesystem
code_execution

Compatibility is evaluated before workloads requiring unavailable capabilities are executed.


Quickstart

DLLO requires Python 3.10+.

Clone the repository:

git clone https://github.com/ArckomVanDrike/distributed-llm-observatory.git
cd distributed-llm-observatory

Create and activate a virtual environment:

python -m venv .venv
source .venv/bin/activate

Install DLLO and development dependencies:

pip install -e ".[dev]"

Run the test suite:

pytest -q

Run Ruff:

ruff check .

Browser Public Preview

The browser interface requires Node.js and npm in addition to the Python setup above.

Start the local Agent Lab bridge from the repository root:

mkdir -p data/agent-runs

python -m observer.cli agent-lab-bridge \
  --observer-id local-observer \
  --region-code local \
  --history-root data/agent-runs

The bridge listens on 127.0.0.1:8766 by default.

In a second terminal, install the browser dependencies and start the development server:

cd web/collector
npm ci
npm run dev

Then open:

http://127.0.0.1:5173/#/agent-lab/starter

The browser workflow exposes Agent Starter through the local bridge, including adaptive questioning, environment evidence, catalog-backed runtime selection, architecture assessment, and concrete stack recommendations.

To verify the browser-side implementation:

cd web/collector
npm test
npm run build

Repository structure

distributed-llm-observatory/
|
|-- analysis/          Analysis and statistical tooling
|-- benchmark/         Prompts, tasks, suites, and benchmark assets
|-- catalog/           Explicit Agent Starter catalog snapshots
|-- consumer_probe/    Consumer-interface observation subsystem
|-- docs/              Architecture, methodology, privacy, protocols
|-- judges/            Evaluation rubrics and validators
|-- observer/          Core observer and Agent Lab implementation
|-- pricing/           Pricing and economic measurement models
|-- schemas/           Shared structured data models
|-- server/            Service-side foundations
|-- tests/             Unit and integration tests
|-- web/collector/     Browser-side collector and Observatory UI
|
|-- README.md
|-- CONTRIBUTING.md
|-- LICENSE
`-- pyproject.toml

Execution, evidence, evaluation, storage, recommendation, and interpretation are intentionally separated.


Documentation

Key documentation:


What DLLO is not

DLLO is not:

  • a provider leaderboard based on one global score;
  • a system that automatically declares one model or agent globally “best”;
  • a causal inference engine for undocumented provider infrastructure;
  • an agent self-certification framework;
  • a scraper for private consumer interfaces;
  • a mechanism for bypassing provider restrictions.

DLLO is an observation, evaluation, and agent-engineering framework.


Contributing

Contributions, testing, criticism, new benchmark ideas, and external observations are welcome.

Read CONTRIBUTING.md before submitting changes.

If you find a reproducibility problem, incorrect assumption, benchmark weakness, or questionable comparison rule, opening an issue is particularly valuable.


License

DLLO is licensed under the Apache License 2.0.

See LICENSE for the full license text.

Core principle

Observe first. Compare carefully. Explain only when the evidence allows it.

Metadata

Release files for distributed-llm-observatory 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for distributed-llm-observatory 0.1.2
File Size Uploaded Provenance
distributed_llm_observatory-0.1.2.tar.gz 123.5 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for distributed-llm-observatory 0.1.2
File Interpreter ABI Platform
distributed_llm_observatory-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 292.8 kB

Release files / distributed_llm_observatory-0.1.2.tar.gz

Download URL distributed_llm_observatory-0.1.2.tar.gz
Size 123.5 kB
Tags Source
SHA-256 checksum
How to use checksums
4ec1a313333eadd54f15db61f0263d36eee0b12794545f42b29b421d3fff07b4
BLAKE2b-256 checksum
How to use checksums
224207df50cf8d42254b3f2e62c71737c860637942101fb206bdb8b2b55ebc98
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 30, 2026.

Transparency log

Release files / distributed_llm_observatory-0.1.2-py3-none-any.whl

Download URL distributed_llm_observatory-0.1.2-py3-none-any.whl
Size 169.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a11dec91f77206d20600642fe4ac460a8af412cbf961778ad41de8f538176042
BLAKE2b-256 checksum
How to use checksums
b202220e884420a2319a7e579af7448a236939a1f461ef929037c8f27bbe8524
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 30, 2026.

Transparency log

Security for distributed-llm-observatory 0.1.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for distributed_llm_observatory-0.1.2.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 30, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page