PAPER LIVE DATA MOCK AI

LLM settings

The Settings → LLM models screen controls which AI model plays each role in the pipeline. You usually do not need to touch it — but this page explains what every column means so it is not a mystery. (Provider API keys, trading mode, and the memory backend live on the main Settings page; this screen is just the per-role models.)

The idea: roles, not one big AI

The pipeline does not use a single model. It assigns a model to each role:

  • News, Sentiment, Technical, Fundamental — the four analysts (stage 2).
  • Bull, Bear, Research manager — the debate (stage 5).
  • Trader — drafts the thesis (stage 6).
  • Reviewer — critiques the outcome (stage 12).

You can give a cheap fast model to the analysts and a stronger model to the manager and reviewer, for example. Models are not hardcoded — this screen is the surface that lets you A/B different providers and models later.

The settings table

Each role is a row with these controls:

ColumnWhat it does
Intelligence neededA description of what that role actually has to think about, and a suggested model class. Fast/lightweight for the four analysts; balanced for the debate and trader; deep reasoning for the research manager and reviewer
Provideranthropic (Claude API), gemini (Google Gemini API), openai_compatible (a seam for other vendors), or mock (the offline deterministic stand-in)
ModelThe exact model name string for that provider (autocomplete suggests common ids)
ThinkingWhether the model is asked to reason before answering
Effortlow / medium / high — how much reasoning budget to spend
Max tokensThe cap on the length of the model's completion for that role
TemperatureSampling randomness. See the caveat below — it only takes effect when thinking is off

Every one of these is resolved per role — a Haiku analyst and an Opus manager are tuned independently, not forced to share one setting. The shipped defaults are:

Role(s)ModelThinkingEffortTemperature
News / Sentiment / Technical / FundamentalHaikuofflow (0.2)
Bull / BearSonnetonmedium(unset)
TraderSonnet (→ Opus on high conviction)onmedium(unset)
Research managerOpusonhigh(unset)
ReviewerOpusonmedium(unset)

The trader can escalate. When the debate manager's conviction is high (≥ 0.75), the trader borrows the Opus tier for that one call — the bigger the decision, the deeper the model. Normal-conviction runs stay on its default.

Use the Intelligence column as your guide: give a cheap fast model (Haiku or Gemini Flash) to the analysts and a deeper one (Opus or Gemini Pro) to the manager and reviewer. Set your token, then click Save & Reload. Changes take effect on the next run — the registry hot-reloads, no restart needed.

Why your temperature is sometimes ignored. The Anthropic API forbids a custom temperature while adaptive thinking is on. So temperature only actually reaches the model on a role with thinking off — which, by default, is just the four Haiku analysts. On the thinking-on roles (debate, trader, manager, reviewer) any temperature you set is silently dropped, by design, so it is left unset on those defaults. If you turn thinking off for one of those roles, a temperature you set will then take effect. The same capability rule means effort and thinking are simply omitted for models that don't support them (e.g. the Haiku tier), so a role never triggers a 400 — it just falls back to that model's behaviour.

API keys are set separately under Settings → Provider keys. A role whose provider has no key (or whose optional SDK is missing — Gemini needs the gemini extra) simply falls back to the mock model, so the pipeline always runs.

Offline mode overrides everything

When the system is running offline (the default), every role is forced to the deterministic mock provider, regardless of what this screen says. A role also falls back to mock if its provider has no key.

That is why, out of the box, runs are instant, free, and always produce the same result. The settings you choose here only reach a real provider once a valid key is present (env var or Settings → Provider keys) and offline mode is turned off — which is a separate, human-owned setup step.

So for normal exploration you can ignore this screen entirely. It is here for when you graduate from the deterministic sandbox to real models.

Practical notes

  • Changing a model here does not re-run past trades; it only affects future runs.
  • After a run completes you can confirm which model was used by inspecting the run —

each analyst note records the model that produced it.

  • Leave everything on the defaults if you are just learning the workflow.