Build recursive AI Agent systems that can grow without redesign.
MLAP is a source-code-native platform model for composing Agents into clear, reusable hierarchies. Each Agent owns its configuration, memory, tools, children and execution engine while sharing one lifecycle and communication contract.
One Agent contract, many levels of responsibility.
MLAP removes rigid master, manager and worker classes. The hierarchy defines responsibility: a root Agent can coordinate a domain, a child can own a subdomain, and a deeper child can perform a focused task.
A general platform model for complex Agent systems.
MLAP treats every Agent as structurally equal. A root Agent, child Agent and deeply nested grandchild all follow the same contract, making Agent systems easier to compose, inspect, version and evolve.
Recursive by design
Any Agent can contain child Agents, enabling deep hierarchies without special supervisor classes.
Engine independent
Agents can use Python, LLM engines, local models or future execution frameworks in one tree.
Persistent learning
Each Agent keeps durable memory and execution history instead of relying only on prompt context.
Structured collaboration
Parents and children exchange status, findings, confidence and artifacts through a clear protocol.
Operationally flexible
The same Agent tree can run locally, headlessly, through desktop UI, APIs or distributed services.
Source-code native
Agents are packaged as folders, making them portable, versionable, inspectable and reusable.
An Agent is a portable source-code unit.
Configuration, implementation, memory, communication and child hierarchy travel together. The package can be reviewed in Git, copied into another solution and extended without changing the MLAP runtime.
<AgentName>/ |-- agent.yaml |-- AgentSetup/ | |-- prompts/ | |-- tools/ | `-- services/ |-- AgentDatabase/ |-- ForParentAgent/ |-- ForChildAgents/ |-- ChildAgents/ `-- UI/
agent.yaml
Identity, engine, model profile, schedule, permissions and runtime settings.
AgentSetup
Prompts, tools, schemas and deterministic domain services.
AgentDatabase
Executions, findings, evidence, artifacts and reusable learning.
ForParentAgent
Status, summaries, findings and artifact references returned upward.
ForChildAgents
Objectives, shared context and targeted requests sent downward.
ChildAgents
Nested Agent packages discovered recursively.
The Runtime manages the Agent. The Engine performs the work.
This boundary keeps lifecycle, hierarchy and orchestration independent from Python code, an LLM SDK or a particular model provider.
Common lifecycle
initialise() → start() → execute() → stop() → uninitialise()
Execution options
Use deterministic Python for validation and integration, or an LLM engine for interpretation, tool use and structured reasoning.
A recursive run is easy to follow.
A parent sends a focused objective to a child. The child executes with its own tools and memory, stores what it learned, and returns a compact result the parent can aggregate.
request: objective: Summarise current market risk output_schema: risk_summary_v1 correlation_id: run-2026-09-02-001
result: status: completed confidence: 0.82 findings: [...] artifacts: [...] execution_id: exec-1842
Replace the model without rewriting the Agent.
Agents refer to model profiles. The profile chooses the provider and endpoint, while domain logic remains in the Agent package.
Agents exchange meaning, not uncontrolled prompt dumps.
A parent gives a child an objective and context. The child returns a traceable result that can be aggregated, inspected and persisted.
Parent → Child
Objective, command, common context, targeted context, requested output schema and correlation metadata.
Child → Parent
Status, summary, findings, confidence, risks, recommendations, artifacts and machine-readable context.
The architecture keeps critical controls outside the model.
MLAP lets LLMs reason where they add value while deterministic services handle validation, permissions, calculations, audit and safety-sensitive actions.
Lifecycle safety
State checks, execution locking, cancellation, timeout handling and graceful shutdown.
Secure boundaries
Permissions and secrets are declared outside prompts, logs and parent messages.
Failure isolation
A failing child can report its own status while healthy sibling results remain usable.
Keep the Agent tree stable while infrastructure changes.
Local reference
SQLite, filesystem artifacts, JSON transport, local models and optional desktop UI.
Distributed evolution
PostgreSQL, object storage, queues, APIs, private model servers and web clients.
Same platform contract
The Agent hierarchy and communication model can remain stable across both environments.