Agent Template · vision in a pipeline · structured verdict · guardrail (json_schema)
Visual inspector: Vision in a Pipeline
Vision inside a pipeline, not a chat window: a local vision model inspects an image against your acceptance criteria, emits a structured pass/fail verdict, and a router sends the run down the matching branch — the skeleton of a visual QC line. The image URL is fetched by the inference plane itself, so it must be one that host can reach (a data: URI works too).
How It Works
A local vision model checks an image against your acceptance criteria and emits a minified JSON verdict — pass or fail, with a reason. A JSON-schema guardrail catches a malformed verdict and routes it to Rejected, and a router sends well-formed verdicts down the matching branch.
The skeleton of a visual quality-control line: vision as a pipeline step with structured output, not a chat window.
Try It
- In TheYgent, open Settings → Samples.
- Fill the model slots below with models from your registry, then click Install on Visual inspector.
- Open the installed agent and run it with the example input.
{"image_url": "https://theygent.ai/assets/og-image.png", "criteria": "The image must be a dark banner showing the TheYgent wordmark, legible and not cropped."}
The Graph
Every node in the agent and where its output goes, read from the template itself.
sample-visual-inspector
| Node | Type | Sends its output to |
|---|---|---|
| Image + criteria | input |
Inspect (vision) |
| Inspect (vision) | llm |
Verdict is well-formed? |
| Verdict is well-formed? | guardrail |
Pass or fail (on pass); Malformed verdict (on block) |
| Pass or fail | router |
Accepted (on pass); Rejected (on fail) |
| Accepted | output |
— |
| Rejected | output |
— |
| Malformed verdict | output |
— |
More Templates
Hybrid reasoner
Two Models in One Run — Two models in one run: a local triage model classifies every request and a router sends easy ones to your local model and hard ones (coding, analysis, long-form) to an API model.
See the template → data privacyPrivate SQL analyst
Data Privacy by Construction — A data-privacy pattern: the API model sees ONLY the database schema and your question — never a single row — and writes a SELECT statement; a deterministic guardrail refuses any statement that does not start with SELECT; the query then runs on a local SQLite MCP server and a LOCAL model reads the rows and answers.
See the template → human in the loopExpense approver
Human in the Loop — Human in the loop with a real approve/reject: a local model assesses the risk of an expense request, the run then WAITS durably for a human decision, and a router either executes the (placeholder) payment step or refuses.
See the template → MCP from OpenAPI (REST)Tool belt
Step Tools vs. LLM-Driven Tools — The two ways to use a tool, in one agent: a GraphQL API turned into an MCP server runs as a flow STEP (it always executes), while a REST API turned into an MCP server is WIRED TO the local model as a capability the model decides to call.
See the template → multi-model consensusSecond opinion
Multi-Model Consensus — Ask a local model AND an API model the same question independently, then a local judge reconciles the two answers into one — flagging any disagreement.
See the template → PII firewallPII firewall
Privacy as a Router — A privacy router: a deterministic PII guardrail inspects every request BEFORE any model runs.
See the template → speech-to-textVoice desk
Voice In, Voice Out — Voice in, voice out: speech-to-text transcribes the audio, a model answers in spoken prose, text-to-speech reads it back.
See the template → local image generationArt department
Local Image Generation — Local image generation in a pipeline: a local model turns your rough brief into one vivid, concrete image prompt, and a local diffusion model paints it.
See the template → local RAG (pgvector)Handbook Q&A
Retrieval as a Model Capability — Retrieval as a model capability, fully local: the installer creates a retrieval source in your own Postgres (pgvector), seeds it with a fictional TheYgent company handbook, and wires it to a local model as a search tool the model decides to call — answers cite the handbook section they came from.
See the template → self-correcting loopEditorial loop
A Self-Correcting Agent — A self-correcting agent: a bounded LOOP re-runs a writer-critic child agent — draft, harsh self-critique, rewrite — until the child approves its own draft or three rounds are up.
See the template → parallel fan-out (map)Batch briefing
Durable Fan-Out with a Cost Ceiling — Durable parallel fan-out with a cost ceiling: a MAP node fans one child agent out per topic (two at a time), collecting a brief for each — a crashed worker resumes only the unfinished branches.
See the template →