Agents

Agents

Glimmer runs two kinds of agent, deliberately separated.

The public site agent

Lives on the explore hub (opens in a new tab). It's the guide to the platform: it answers "what is Glimmer?", "what is the ADS project?", "how do I explore or join a study?". It's grounded in the public project catalog — the required public summary of every project (see Public data policy) — and nothing else. It never sees gated study data, so it's safe for anonymous visitors.

Requests carry scope: "site"; the backend (explain_proxy.py) builds its system prompt from SYS_PUBLIC plus a compact catalog of all projects' public fields.

Study agents

Each study landing has its own Ask box scoped to that study (project: "<id>"). The study agent is grounded in that project's public summary today, and — as the architecture matures — in the study's own knowledge graph. It speaks for one study, not the platform.

Why separate

  • Blast radius. The public agent can't accidentally surface gated data; it only ever has the public catalog.
  • Voice & scope. The site agent is a welcoming guide; a study agent is a domain expert on its own graph.
  • Path to per-tenant agents. This split is the seam along which each study becomes a tenant with its own dedicated agent.

The notebook tutor (the floating "Ask Glimmer" in the runnable notebooks) is a third, separate context — it explains ICA/SOM notebooks and their metrics.