Articles/Architecture
EssayArchitecture

Fewer Controls, Better Control

The paradox of agent management: more configuration options lead to less predictable outcomes. How to design for constraint.

January 20, 20269 min

There's a counterintuitive truth in agent design: the more controls you give engineers, the less control they actually have.

The Configuration Trap

When an agent misbehaves, the instinct is to add a setting. "Let the user configure temperature." "Add a verbosity toggle." Each setting feels empowering. In reality, each is a combinatorial explosion.

An agent with 5 boolean settings has 32 possible configurations. Has anyone tested all 32? The interaction effects between settings? Definitely not.

The Dashboard That Broke Everything

We built a code review agent. V1 had one setting: repository. Worked well.

Then came requests: strictness level (3), file type toggles (6), comment style (4), context window (1-100), review focus (5 checkboxes). V2 had 2,000+ configurations. Support tickets tripled.

The Constraint-Based Alternative

ControlConstraint
"Set temperature to 0.3""Output must be deterministic"
"Review only .ts files""Focus on files changed in this PR"
"Set strictness to high""Flag any code that lacks tests"

Controls describe how. Constraints describe what. The agent figures out the how.

// Control-based (fragile)
agent.configure({
  temperature: 0.3,
  maxTokens: 4000,
  strictness: 'high',
});

// Constraint-based (robust)
agent.constrain({
  deterministic: true,
  scope: 'changed-files-with-dependencies',
  requirements: ['all-flagged-code-must-have-tests'],
});

Why Constraints Win

1. Constraints are testable

"Output must be deterministic" — run twice, compare. "Temperature 0.3" — untestable.

2. Constraints compose cleanly

New constraints don't interact unpredictably. New controls often do.

3. Constraints are model-agnostic

Swap the model and temperature settings break. "Output must be deterministic" stays valid.

4. Constraints reduce support burden

Users can't misconfigure what they can't configure.

V3: The Simplest Version

One input: the PR URL. Everything else inferred from constraints. User satisfaction: 62% (V2) → 91% (V3). Support tickets dropped 80%.

"The best interface is the one that makes the wrong configuration impossible."

Fewer controls. Better control. Always.

CatoCut
CatoCut
Agent-First Engineering