Strands Jev¶
Typed questions. Calibrated answers.
Jev is TypeSafe's System One model: it reads one piece of state and answers yes/no, pick-one and rate-it questions with probabilities, in one request, without generating a word. These tools let a Strands Agent ask it. The chat model proposes; Jev decides.
Help! My payouts have been failing for 3 days.
questions- noul Does this convey urgency?
- choice Which team? billing · technical · sales
- score How frustrated is the writer? calm · frustrated · very angry
one request, 178 ms, 434 input tokens, recorded 2026-09-29 against jev-1.13.0
Start¶
Install, put the key in place, make one decision from Python, hand the tools to an agent, read the bill.
Learn¶
System One in one page. Noul, Choice and Score. State, confidence, the patterns, and what not to ask.
Tools¶
Every @tool, generated from the specs the agent reads: parameters, result shape, the docs page it ports, its live score.
One call, any mix of questions¶
from strands import Agent
from strands_jev import ALL_TOOLS
agent = Agent(tools=ALL_TOOLS)
result = agent.tool.jev_ask(
state="Help! My payouts have been failing for 3 days.",
questions={
"urgent": {"type": "noul", "instructions": "Does this convey urgency?"},
"team": {"type": "choice", "instructions": "Which team?", "criteria": {"billing": "payments", "technical": "bugs", "sales": "plans and pricing"}},
"frustration": {"type": "score", "instructions": "How frustrated is the writer?", "criteria": ["calm", "frustrated", "very angry"]},
},
)
print(result["content"][1]["text"])
The direct call skips the chat model. agent("Is this ticket urgent, and who should take it?") lets the model pick the tool and write the questions itself. Either way the request is one HTTP call billed at $0.042 per million input tokens, output free. Start here.