schemdraw
grade
reliability
overall
Schemdraw is a Python library that enables programmatically creating electrical circuit schematics through declarative chaining syntax. Handing this tool to an agent provides a deterministic mechanism to generate vector-based SVG or raster images directly from text instructions. The tool executes cleanly inside standard Python environments with no interactive graphical user interface overhead, making visual asset compilation reliable and predictable for automated workflows.
Surfaces × lenses
| surface ↓ lens → | Coherence | Economy | Consistency | Verifiability | Safety |
|---|---|---|---|---|---|
| Disclosure | |||||
| Interface | |||||
| Loop | |||||
| Recursion | |||||
| Human |
Click any cell for what was measured and why. A corner dot marks a cell filled by a hard instrument (checker, telemetry); undotted cells are judged by the rater ensemble. 53% of this matrix is hard-measured.
The experience
An agent operates the tool by writing Python scripts that instantiate a drawing canvas and sequentially append component elements. The declarative chaining API allows the agent to combine placement directions, labels, and wiring connections into single lines of code, such as using coordinate anchors or relative directional methods. Saving the canvas is handled automatically upon exiting the context manager, which reduces boilerplate code and prevents state-management errors.
The workflow is highly effective during initial asset generation. The deterministic nature of the library ensures that correct syntax translates directly to a predictable visual layout, allowing the agent to convert abstract requirements into standard circuit components in a single iteration. Documentation providing exact syntax examples for pins, anchors, and LaTeX labeling enables the agent to wire complex integrated circuits and multi-terminal devices without trial-and-error runs.
However, iterative edits or modifications across multiple steps present difficulties because the library does not provide a bi-directional interface to parse or edit existing drawing states. If an agent tries to modify a completed schematic across multiple turns, it must reconstruct or rewrite the entire Python script rather than editing individual components in-place. Tracing coordinate shifts and routing paths through chained placement statements makes recursive layout adjustment fragile and prone to compounding layout errors when executing without visual feedback.
Fit
This tool is a good fit for automated pipelines where an agent must autonomously compile technical diagrams, visual documentation, or standardized electronic schematics in a single pass. The predictability of the rendering engine and the ease of mapping structured specifications to Python elements ensure high success rates for direct generative workflows.
It is a poor fit for interactive co-authoring systems where an agent must iteratively tweak, refactor, or query parts of an existing visual layout in collaboration with a user. Because there is no native mechanic to deserialize a rendered image back into a structured, editable model, the tool forces a write-from-scratch loop that becomes expensive and error-prone during multi-turn edits.
Notes
This diagram illustrates the agent's workflow of writing, rendering, and validating the schematic file.
Validation
Convergent check. Where a hard instrument and the independent rater panel measure the same cell, they agree on 9 of 16 cross-checked cells (73%). Two independent methods landing on the same number is our accuracy signal — not just the raters agreeing with each other.
| Cell where they disagree | Instrument | Rater | Δ |
|---|---|---|---|
| recursion.economy | -1.00 | +0.50 | 1.50 |
| disclosure.verifiability | -0.40 | +0.70 | 1.10 |
| recursion.verifiability | -0.10 | +0.80 | 0.90 |
| recursion.coherence | -0.25 | +0.60 | 0.85 |
| human.verifiability | +0.10 | +0.90 | 0.80 |
| loop.safety | +0.30 | +0.90 | 0.60 |
| human.safety | +0.30 | +0.90 | 0.60 |
Ground truth
3 of 4 requirements met · deterministic checker, no model judgment- schematic rendered (svg/png) — raft_consensus.svg
- 6+ components (refdes) — 14 designators
- 3+ component values — 20 values
- has a title — —
Reliability (pass^k): one attempt succeeds 100% of the time · three in a row 100% · all runs 100%. A fresh agent resuming from the files alone never broke prior work.
Models & runs
2026-07-07| Model | Harness | Runs | Solved | Turns |
|---|---|---|---|---|
| | 25 | 22/25 | 8 |
Each path is one run through the shared semantic space; nodes are turns (red = an errored turn). Hover a model — here or in the graph — to isolate its runs.
How this was measured
- reference agent
- pi:z-ai/glm-5.2
- trials
- 25 (n=5/tier)
- methodology
- v0.1 3e74a3c6
- cost
- $0.6244
- hard-measured cells
- 53%
- teaching source
- schemdraw (official docs) (official-docs)
Same brief, same reference agent, and the same trial count for every tool in a category — a difference in the numbers is attributable to the tool (and its teaching source), not the setup. Profiles carry the methodology hash; results under different hashes are not compared.