Exa finds live evidence, Jev answers the same question with and without it, and leave-one-out weights show what each source changed.
Use this when you want leave-one-out weights showing which retrieved web source changed a typed Jev decision, with no chat UI involved.
Similar patterns, and when each one is the better fit.

Jev EvalsUse this when you need per-PR eval checks for an agent that diff a candidate run against a stored baseline to flag fractional drops.
Jev AEO AuditUse this when auditing a page for AEO and you want title, canonical, and noindex checks in code while Jev judges the citation-worthiness.
Jev Output VerifierUse this when you want your own code to hold the confidence floor a draft answer must clear before display, with at most one retry on a miss.
Jev Composite ScorecardUse this when one blended rubric hides which factor failed and you want atomic Jev scores merged into a single weighted score in your app.Requirements, wiring steps, and what this pattern adds to your project.
Pick how you want to pull this pattern in. Then wire env vars and routes the same way.
Download → Next.js app
Use Download → Next.js app in the preview toolbar. You get a zip scaffold (Pro downloads rewrite preview `/view/.../api/*` paths to `/api/*` automatically).
Extract the zip and install dependencies
Unzip the archive, then run `pnpm install` (or npm / yarn) in the project folder.
Fill .env.local
The download includes .env.local placeholders when needed. Add real values for: EXA_API_KEY, AI_GATEWAY_API_KEY.
Customize the agent and tool files
Adapt prompts, tools, and stop conditions in the generated project for your product.
Run the app and open the pattern route
Run `pnpm dev`, open the setup/checklist page if present, then navigate to the generated pattern route and verify responses.
AI SDK APIs
experimental_evaluateProviders
External services
app/page.tsxapp/layout.tsxapp/api/web-context/route.tscomponents/web-context-demo.tsxcomponents/source-stage.tsxcomponents/typesafe-ai.tsxhooks/use-web-context.tslib/presets.tslib/exa-search.tslib/context-questions.tslib/context-policy.tslib/rate-limit.tslib/request-utils.tsREADME.mdnpm packages
7
Registry components
lib/context-policy.tsDual evaluate plus leave-one-out weights. askDecision wraps experimental_evaluate. computeWeights is pure points math. Do not call Jev from unit tests. Use Experimental_EvaluationMockModelV4.
lib/context-questions.tsbuildDecisionQuestions writes one yes/no choice. Criteria stay in the app. JEV_MODEL is typesafe-ai/jev.
lib/exa-search.tsExa searchAndContents with highlights. Format each hit into a state string. No model between Exa and Jev.
web-context/route.tsRate-limited run/decide route. mode=run searches then dual-asks. mode=decide re-asks with cached sources only.
Exa finds live evidence, Jev answers the same question with and without it, and leave-one-out weights show what each source changed.
Use this when you want leave-one-out weights showing which retrieved web source changed a typed Jev decision, with no chat UI involved.
Similar patterns, and when each one is the better fit.

Jev EvalsUse this when you need per-PR eval checks for an agent that diff a candidate run against a stored baseline to flag fractional drops.
Jev AEO AuditUse this when auditing a page for AEO and you want title, canonical, and noindex checks in code while Jev judges the citation-worthiness.
Jev Output VerifierUse this when you want your own code to hold the confidence floor a draft answer must clear before display, with at most one retry on a miss.
Jev Composite ScorecardUse this when one blended rubric hides which factor failed and you want atomic Jev scores merged into a single weighted score in your app.Requirements, wiring steps, and what this pattern adds to your project.
Pick how you want to pull this pattern in. Then wire env vars and routes the same way.
Download → Next.js app
Use Download → Next.js app in the preview toolbar. You get a zip scaffold (Pro downloads rewrite preview `/view/.../api/*` paths to `/api/*` automatically).
Extract the zip and install dependencies
Unzip the archive, then run `pnpm install` (or npm / yarn) in the project folder.
Fill .env.local
The download includes .env.local placeholders when needed. Add real values for: EXA_API_KEY, AI_GATEWAY_API_KEY.
Customize the agent and tool files
Adapt prompts, tools, and stop conditions in the generated project for your product.
Run the app and open the pattern route
Run `pnpm dev`, open the setup/checklist page if present, then navigate to the generated pattern route and verify responses.
AI SDK APIs
experimental_evaluateProviders
External services
app/page.tsxapp/layout.tsxapp/api/web-context/route.tscomponents/web-context-demo.tsxcomponents/source-stage.tsxcomponents/typesafe-ai.tsxhooks/use-web-context.tslib/presets.tslib/exa-search.tslib/context-questions.tslib/context-policy.tslib/rate-limit.tslib/request-utils.tsREADME.mdnpm packages
7
Registry components
lib/context-policy.tsDual evaluate plus leave-one-out weights. askDecision wraps experimental_evaluate. computeWeights is pure points math. Do not call Jev from unit tests. Use Experimental_EvaluationMockModelV4.
lib/context-questions.tsbuildDecisionQuestions writes one yes/no choice. Criteria stay in the app. JEV_MODEL is typesafe-ai/jev.
lib/exa-search.tsExa searchAndContents with highlights. Format each hit into a state string. No model between Exa and Jev.
web-context/route.tsRate-limited run/decide route. mode=run searches then dual-asks. mode=decide re-asks with cached sources only.
Loading preview…
Early-bird pricing — limited time


Open on desktop for the interactive preview.
Exa finds live evidence, Jev answers the same question with and without it, and leave-one-out weights show what each source changed.
Loading preview…
Early-bird pricing — limited time


Open on desktop for the interactive preview.
Exa finds live evidence, Jev answers the same question with and without it, and leave-one-out weights show what each source changed.