# Receptionist AI Design Pattern
With the Receptionist [[Large Language Models (LLMs)|Large Language Model (LLM)]] pattern, all user inputs are passed to a receptionist LLM, which routes the user inputs to other specialized LLMs, and delegate the response generation to those.
I discovered this pattern via [[Matt Pocock]]. He visualized it like this:
![[Receptionist LLM Pattern - visualization.png]]
The interesting aspect of this pattern is that each LLM (including the receptionist) can load/use specific context, data, rules, tools, etc.
In addition, combined with [[Prompt Lazy Loading AI Design Pattern (PLL)]], it's possible to avoid loading/keeping too much context, data, rules, etc. This reduces the risks of hallucinations, makes the usage more efficient, etc.
## Benefits
- **Performance**: Only loads relevant information when needed
- **Cost Efficiency**: Reduces token usage
- **Clarity**: Clear separation of concerns
- **Scalability**: Easy to add new roles or expand knowledge bases
- **Maintenance**: Modular design allows for easy updates
## Extended Pattern: Agent Chaining
The receptionist pattern can be extended with post-execution handoff handling. After a specialized LLM completes its work, the receptionist inspects its output for handoff suggestions (work discovered for another agent). If valid, it chains the next agent automatically; enabling emergent multi-agent collaboration without predefined team configurations.
Safety rules prevent infinite loops: max chain depth (e.g., 3), no duplicate agents, no circular patterns (A->B->A). When the chain limit is reached, results are returned to the user with suggestions for manual follow-up.
## Related
- [[Prompt Lazy Loading AI Design Pattern (PLL)]]
- [[Progressive Disclosure]]
- [[Context Engineering]]
## References
- https://www.tiktok.com/@mattpocockuk/video/7514329600126635296