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 RUNTIME2. 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.
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
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.