Boundary uses opinionated AI agents with consistent biases. Each agent embodies a perspective that mirrors how senior engineers naturally reason in different roles. The disagreement between agents is the feature, not a bug.
Neutral agents are useless. Each agent in Boundary embodies a consistent bias that mirrors how senior engineers naturally reason in different roles. The tension between these positions illuminates the decision space and surfaces hidden trade-offs.
The debate is not about answers. It's about decision risk surfaces. The output is not a verdict. It is a decision map.
Questions whether solutions are solving real problems or premature optimization. Focuses on current needs over theoretical scalability.
"Adding Kafka might be overkill for current load. Are we solving a problem we don't have?"
Identifies security vulnerabilities, attack vectors, and data exposure risks. Challenges assumptions about authentication and authorization.
"This introduces an unverified auth path, any mistake could expose sensitive data."
Focuses on growth scenarios and system limits. Challenges designs that won't scale and advocates for partitioning, sharding, and horizontal scaling.
"If user traffic doubles in a month, this design will fail catastrophically unless we plan for partitioning."
Questions whether added complexity is justified. Challenges microservice proliferation, testing burden, and mental overhead.
"Each additional microservice adds a mental overhead and testing burden; is it justified?"
Ensures solutions respect domain invariants and business logic. Challenges designs that violate domain models or create downstream bugs.
"The proposed schema violates the invariants of our billing domain, this will create bugs downstream."
During a debate, agents engage in structured rounds of critique:
The tension between positions, not consensus, is what makes Boundary valuable. It reveals the decision space in all its complexity.
By default, Boundary uses a balanced set of agents. You can customize which agents participate in debates and configure their behavior through the debate_start tool parameters. This allows you to:
When reviewing debate results, pay attention to: