Design Principles
These principles guide our design decisions, feature prioritization, and user experience approach. They represent our core beliefs about how users should interact with agentic systems. There were developed over tens of thousands of collective hours spent building agentic systems for a wide variety of use-cases, across a wide range of industries and geographies, incorporating learnings from both successes and failures in developing systems that are suitable to be run in in production in large, complex, and sometimes regulated environments.
1. User-Centric Design
1.1 Persona-Driven Development
Different user personas have distinct workflows, mental models, and success criteria. Design decisions must account for these differences rather than forcing a one-size-fits-all approach.
Rationale: A platform serving both technical developers and business users cannot succeed with a single interface paradigm. Each persona requires tailored experiences that match their expertise level and goals.
1.2 Progressive Disclosure
Complexity should be revealed gradually based on user needs and expertise. Novice users see simplified interfaces; power users access advanced capabilities.
Rationale: Cognitive load management is critical for adoption. Users should never feel overwhelmed by capabilities they don't immediately need.
2. Developer Experience Excellence
2.1 Open source frameworks and technologies
Commonly available, mainstream technologies and languages are used to enable easy comprehension of how to develop on the platform.
Rationale: Using familiar, widely-adopted technologies accelerates developer onboarding and reduces the barrier to entry. Developers can apply existing knowledge rather than learning proprietary systems. Open source technologies also ensure transparency, community support, and long-term sustainability without vendor lock-in concerns.
2.2 Fit for Purpose Technologies
Choose the most appropriate technology for each task — whether language, database, or framework — balancing clarity, performance, scalability, and ecosystem alignment, without compromising cohesion or quality.
Rationale: Selecting the right tool for the job — whether a programming language, database, framework, or protocol — is essential for building reliable, maintainable, and performant systems. The goal is to balance familiarity, efficiency, scalability, and ease of use, while avoiding unnecessary complexity or fragmentation. Preference should be given to well-supported, idiomatic technologies that suit the specific problem domain, while preserving consistency and clarity across the platform.
2.3 Frictionless Integration
The platform should integrate seamlessly into existing development workflows rather than requiring developers to adopt entirely new toolchains.
Rationale: Developer productivity depends on maintaining familiar patterns and tools. High switching costs kill adoption.
2.4 Transparent Debugging
Developers need complete visibility into agent behavior, decision-making processes, and failure modes during development and production.
Rationale: Black box systems are impossible to debug and improve. Transparency builds trust and enables optimization.
3. Consumer Accessibility
3.1 Implementation Abstraction
End users should achieve their goals without understanding underlying agent architectures, AI models, or technical implementation details.
Rationale: The value of agentic systems lies in their ability to handle complexity on behalf of users, not in exposing that complexity.
3.2 No-Code Empowerment
Non-technical users must be able to configure, deploy, and manage agentic solutions through intuitive, visual interfaces and natural language interactions.
Rationale: The transformative potential of AI agents depends on democratizing access beyond technical specialists.
3.3 Headless Support
Every user facing capability must be exposed via APIs, which allows for systematic integration, and exposure to higher order protocols like MCP, allowing more complex processes and interactions to be automated.
Rationale: Exposing all user-facing capabilities through APIs ensures they can be accessed programmatically, enabling automation, orchestration, and reuse across interfaces. This supports composable architectures and allows integration with higher-order protocols (e.g., MCP), AI agents, or third-party systems. It also decouples frontend and backend development, improving testability and long-term adaptability.
4. Operational Excellence
4.1 Resilient by Design
The platform must gracefully handle failures, provide meaningful error messages, and maintain service continuity even when individual components fail.
Rationale: Agentic systems operate in unpredictable environments. Resilience is not optional but foundational.
4.2 Observable Operations
All system behavior must be measurable, traceable, and auditable to enable continuous improvement and compliance.
Rationale: Production systems require comprehensive observability to maintain reliability and meet regulatory requirements.
4.3 Secure by Default
Security considerations must be embedded in every design decision, with secure configurations as the default state.
Rationale: Agentic systems often handle sensitive data and make autonomous decisions. Security cannot be an afterthought.
4.4 Transparent, Testable, and Trackable Performance
Whilst agentic capabilities are powerful, they are also not completely predictable, and cannot be trusted simply without additional guardrails. Key aspects of this includes the ability to transparently see how agents are operating; the ability to always specify tests that can be run against agents to analyze its output, and the ability to track performance over time.
Rationale: Agentic systems are inherently probabilistic and often non-deterministic in nature. To maintain trust and control, they must expose mechanisms for visibility and validation. Without systematic evaluation, it is impossible to verify behavior or detect regressions. Transparency, testing hooks, and performance tracking are essential to establish confidence and support responsible iteration.
4.5 Protective by default
Whilst building agents can be simple and accessible to get started, there are many details that can make agentic systems extremely complex or act in dangerous ways. To make agentic capabilities easier to work safely with, options and capabilities should always default to the most safe option, and easy to understand explanations should always exist to highlight gaps and nudges users towards safe practices.
Rationale: Safety must not rely on expert intervention. Agentic systems can behave unpredictably, and their complexity can obscure unsafe behaviors. Defaulting to secure, conservative settings — combined with clear guidance and proactive warnings — ensures systems are harder to misuse and easier to reason about. Guardrails help teams avoid critical mistakes without slowing down innovation.
5. Resource Management and Scale
5.1 Cloud-Native Resource Transparency
Users should understand resource consumption, costs, and performance implications of their agentic solutions without needing deep infrastructure knowledge.
Rationale: Autonomous agents can consume significant compute resources unpredictably. Users need visibility and control over resource usage to make informed decisions and manage costs effectively.
5.2 Elastic Scale with Guardrails
The platform should automatically scale resources to meet demand while enforcing configurable limits to prevent runaway resource consumption.
Rationale: Agentic systems can exhibit unpredictable scaling patterns. Automatic scaling ensures performance while guardrails protect against cost overruns and resource exhaustion.
5.3 Isolation by Design
Different users, environments, and workloads must be isolated to prevent interference and ensure security boundaries.
Rationale: Multi-tenant agentic platforms require strong isolation to prevent one user's agents from affecting others' performance or accessing unauthorized resources.