Applications
An Application is a logical AI service or business-facing solution within a BindAI project. Applications provide a useful way to organize agents, workflows, prompts, configuration, tools, knowledge, memory, and integrations around a specific business domain. A single project can contain multiple applications that share infrastructure while keeping their responsibilities clearly separated.What Is an Application?
Conceptually, an application provides an entry point into an AI solution. A typical architecture is:Why Use Applications?
As AI systems grow, different business domains often require different behavior. Examples include:- Customer Support
- Internal Knowledge Assistant
- Human Resources
- Sales Automation
- Document Analysis
- Code Review
- Research
- Analytics
Application Architecture
A typical application may organize:Multiple Applications
A single project can conceptually contain several applications:Agents Inside Applications
Applications commonly use one or more agents. For example:Agent is the runtime abstraction responsible for model-driven execution.
An application can therefore organize several agents around a common business purpose.
Workflows Inside Applications
Applications can also organize workflow-driven processes. For example:Application Entry Points
An application may expose one or more entry points. For example:Agents vs Workflows
Applications can use either individual agents or workflows.Direct Agent Execution
Workflow Execution
Shared Project Resources
Applications can reuse resources from their project where appropriate. Examples include:- Tools
- Workflows
- Knowledge resources
- Memory providers
- Connections
- Configuration
- Middleware
Knowledge in Applications
Applications can use Knowledge resources for retrieval-augmented generation and information access. For example:Memory in Applications
Applications may also use memory. For example:Tools in Applications
Applications frequently depend on tools for external operations. Examples include:- Database access
- Search
- Notifications
- File processing
- External APIs
- Business operations
Connections in Applications
Applications can use BindAI Connections to communicate with external services. For example:Configuration
Applications may maintain configuration specific to their business domain. Typical settings can include:- Model selection
- Agent configuration
- Workflow selection
- Feature flags
- Knowledge configuration
- Memory configuration
- Integration settings
Application Isolation
Applications should have clear boundaries. For example:- Separate configuration
- Separate memory namespaces
- Separate knowledge sources
- Separate credentials
- Separate integrations
- Separate deployment environments
Application Lifecycle
A conceptual application request may follow:Streaming
Applications can expose streaming behavior when the underlying agent or execution path supports it. For example:- Chat applications
- Long responses
- Interactive assistants
- Research workflows
Error Handling
Applications should define how errors are presented and handled. Possible failures include:- Provider errors
- Tool errors
- Knowledge retrieval errors
- Memory errors
- Connection errors
- Workflow errors
- Invalid input
Application Boundaries
A useful application boundary usually corresponds to a meaningful business capability. Good examples:Applications vs Projects
Projects and applications have different responsibilities.
In simple terms:
Projects organize larger systems.
Applications organize individual business solutions within those systems.
Typical Directory Structure
An application repository might be organized as:Small Applications
A small application may be very simple:Larger Applications
A larger application may contain several specialized components:Scaling Applications
As an application grows, additional components can be introduced:- More specialized agents
- Additional workflows
- New tools
- Dedicated knowledge sources
- Memory providers
- External connections
- Application-specific middleware
- More tests
Testing Applications
Applications should be tested at several levels.Component Tests
Test:- Agents
- Tools
- Knowledge
- Memory
- Connections
- Workflows
Integration Tests
Test interactions between components. For example:End-to-End Tests
Test the complete application path from entry point to final result.Security
Application boundaries should also help define security boundaries. Consider:- Authentication
- Authorization
- Data isolation
- Tool permissions
- Knowledge access
- Memory access
- External credentials
- Sensitive output
Best Practices
- Define applications around meaningful business domains.
- Keep responsibilities focused.
- Reuse shared resources when appropriate.
- Isolate sensitive knowledge and memory.
- Keep application configuration organized.
- Keep credentials out of source code.
- Use clear application entry points.
- Separate agents from workflow orchestration.
- Give external integrations explicit ownership.
- Test application components independently.
- Add end-to-end tests for important application paths.
- Avoid unnecessary global state.
Current BindAI Scope
Applications are part of the broader BindAI project architecture. They provide a useful way to organize:- Agents
- Workflows
- Tools
- Knowledge
- Memory
- Connections
- Configuration
Application runtime abstraction.
The underlying subsystems currently expose their own APIs and execution models.
For example:
Application object.
