An agent with a built-in decision layer

Preview

JevAgent: a System 1 + System 2 runtime

JevAgent is an agent class in vidbyte-sdk, Vidbyte's free, MIT-licensed Python library, that pairs your LLM with Jev, TypeSafe's decision model. Jev makes quick judgment calls during a run: whether a request is clear enough to start, which specialist should take it, and whether the work is really finished. Jev costs $0.042 per million input tokens (output is free) plus a 10% markup on each run's total, billed to your prepaid Vidbyte API balance. By default your agent's own model calls also go through Vidbyte, for a 2% fee. JevAgent is in preview, and its capabilities are rolling out one at a time. It is the JevAgent class you import from vidbyte-sdk, unrelated to the JEVAGENT token or other projects named JevAgent.

Give generation and judgment different jobs

JevAgent pairs two models. Your agent reads the request, writes the reply, and uses its tools. Jev makes quick, structured judgment calls along the way and never writes the reply itself.

Keeping these jobs apart means the important decisions around a run, such as whether to ask the user a question first or whether the work is truly done, are made deliberately by a model built for judgment instead of being left to prompt instructions alone.

Two roles, one runtime

vidbyte-sdk 0.4.2
  1. System 1 · Generation

    The agent does the work

    Reads context, writes the reply, and uses its configured tools.

  2. System 2 · Jev

    A separate decision model

    Designed to return structured judgments; it does not write the reply.

JevAgent runtime seam

One runtime boundary; the roles keep distinct responsibilities.

Since vidbyte-sdk 0.3.0 the runtime calls Jev during the run for each capability you turn on: preflight questions, specialist routing, the tool selector, skill preloading, and done checks. Every capability is off until you turn it on. System 1 generates the response and runs configured tools. System 2 (Jev) is a separate structured decision model and does not write the response. Both roles sit behind the JevAgent runtime boundary. History: the first scaffold, SDK PR #437 (closed without merging), does not yet call Jev from JevRuntime, so Jev's policies are not active in this scaffold. Current status: since vidbyte-sdk 0.3.0, and still in 0.4.2, JevRuntime calls Jev for preflight questions, specialist routing, the tool selector, skill preloading, and done checks, each only when you turn it on.

What you can use today

You can build on JevAgent in the SDK today. Jev's capabilities are rolling out one at a time: some are available, some are in preview, and some are still planned.

Create a JevAgent

You set up a JevAgent with two groups of settings. Creating an agent never calls Jev or costs anything; Jev only runs when your agent does.

  • Agent settings — Your agent's name, instructions, model, and tools, plus any specialist agents it can hand work to.

  • Jev settings — Optional. Choose which Jev capabilities to turn on.

  • A Vidbyte API key — Jev runs on TypeSafe's decision model through Vidbyte, and by default your agent's own model calls go through Vidbyte too, so a run needs a Vidbyte API key with the models:invoke permission and a positive API balance. You don't need a TypeSafe account. A missing or rejected key, or an empty balance, stops the run with an error.

  • Your model provider's key — Optional. By default, when your provider's own API key is set, Vidbyte passes it through: your provider bills the model calls and Vidbyte adds a 2% fee. Without it, Vidbyte pays the provider and bills you its cost plus 2%. This default mode serves OpenAI, Anthropic, Gemini, xAI, DeepSeek, and Kimi. Direct mode sends the model calls straight to your provider with your own key and no Vidbyte fee, and works with any supported provider; Jev's capabilities still need the Vidbyte API key.

Create an agent

Python
1from vidbyte import JevAgent, JevAgentSettings, JevPreflightPreset, JevRuntimeSettings 2 3# Jev, and by default this agent's own model calls, go through Vidbyte with VIDBYTE_API_KEY. 4# Set OPENAI_API_KEY (or pass api_keys=[...]) and OpenAI bills the model calls while Vidbyte 5# adds a 2% fee; without it, Vidbyte pays OpenAI and bills its cost plus 2%. Pass 6# model_mode=TextModelMode.DIRECT to call OpenAI straight with your key, with no Vidbyte fee. 7agent = JevAgent( 8 JevAgentSettings( 9 name="support-agent", 10 system_prompt="Help the user resolve account questions.", 11 provider="openai", 12 model_name="gpt-5.4-mini", 13 ), 14 JevRuntimeSettings( 15 preflight=(JevPreflightPreset.CLARITY,), 16 ), 17)

What Jev adds to a run

Turn on only the capabilities you need. Each one has its own page with setup steps, examples, and its current status.

What a JevAgent run costs

Your agent's model is billed at its normal rate, plus a 2% Vidbyte fee in the default mode. Jev costs $0.042 per million input tokens plus a 10% markup on each run's total, and its output is free.

  • Jev — Billed to your Vidbyte API balance at Jev's rate plus a 10% markup on each run's total.

  • Your agent's model — By default, every call goes through Vidbyte. When your provider's own API key is set, your provider bills the call and Vidbyte bills a 2% fee to your API balance; without it, Vidbyte pays the provider and bills your API balance the provider's rate plus 2%. In direct mode, the calls go straight to your provider with your own key, and Vidbyte bills nothing for them.

Next steps