JevAgent: a System 1 + System 2 runtime

JevAgent is Vidbyte's first-of-its-kind runtime direction: a generative model handles language and tools, while Jev supplies a separate decision-model layer for structured judgments. The current SDK scaffold establishes the seam; active Jev runtime capabilities are still being built.

1. Give generation and judgment different jobs

System 1 is the agent's generative model. It reads context, writes the response, and drives the familiar model-and-tool loop. System 2 is Jev, a decision model that returns structured answers to explicit questions about state. It does not replace the generative model or write the agent's reply.

JevAgent brings both roles under one opinionated runtime boundary. That gives runtime-owned features a place to make deliberate, typed decisions around the agent loop instead of relying on prompt instructions alone. The design is Vidbyte's first-of-its-kind approach to combining a general-purpose agent loop with a dedicated System 2 decision layer.

Two complementary systems

SYSTEM 1 · GENERATIVE MODEL          SYSTEM 2 · JEV DECISION MODEL
Understands context                   Answers structured questions
Writes responses                      Returns typed choices and scores
Calls permitted tools                 Does not replace the reply model
               \                    /
                 JEVAGENT RUNTIME

2. PR #437 establishes the runtime seam

The current SDK scaffold adds JevAgent, immutable JevAgentSettings, a dedicated JevRuntime, typed decision records, a DecisionModelRunner, and the TypeSafe provider adapter. JevAgent fixes the runtime choice while BaseAgent continues to own the ordinary generative runner, tool loop, usage, tracing, and session wiring.

Important boundary: PR #437 does not yet call Jev from JevRuntime. The runtime still delegates to the established linear agent loop, and the scaffold does not yet include preflight clarification or self-alignment. The feature pages below describe previews from later SDK work, not behavior in the PR #437 scaffold.

Scaffold available; System 2 runtime policies are not active in PR #437. The TypeSafe decision runner can be used as a separate SDK primitive, but JevAgent does not invoke it during its current run loop.

3. Construct JevAgent with one settings object

PR #437 keeps construction intentionally narrow. Choose a normal generative provider and model for System 1; TypeSafe is configured separately as Jev's decision provider. Construction does not trigger a TypeSafe request.

Create an agent

Python
from vidbyte import JevAgent, JevAgentSettings agent = JevAgent( JevAgentSettings( name="support-agent", system_prompt="Help the user resolve account questions.", provider="openai", model_name="gpt-4.1-mini", ) )

4. Preflight questions

Preflight is a separate Jev runtime capability: before committing to a full run, System 2 can help decide whether the request is missing information that would materially change the work. When clarification is worthwhile, the agent asks a small, targeted question set and uses the answers to begin with a better-defined task.

This feature is not implemented in the PR #437 scaffold yet. Its intended behavior and an illustrative configuration shape are described on the dedicated page.

5. Self-alignment for task-specific prompt fit

JevAgent can assess whether its existing system prompt gives the agent enough guidance for the request in front of it. With self-alignment enabled, Jev checks the prompt against the task and available tools, then a constrained editor can add missing operational guidance for that run.

The feature does not replace the agent's role or rewrite the developer's prompt in place. Jev gates out requests that conflict with the declared role, scope, or boundaries; owner-only gaps are reported for the developer to address. The dedicated page explains the edit, verification, and run-local safeguards.

Self-alignment is proposed in SDK PR #445 and is not part of the default SDK branch yet.