What is the agent designed to accomplish? Define the core task and success criteria...
Requirements
What level of autonomy does the agent have? What are the boundaries and constraints it must operate within?
Autonomy
Constraints
Define the tools and actions available to the agent. Specify tool interfaces, input/output schemas, and how the agent selects which tool to use...
Design the overall agent architecture. Choose an orchestration pattern (single agent, multi-agent, hierarchical). Identify key components and how they interact. Use the diagramming tool to illustrate the architecture.
Architecture - It will be multi-agent orchestration.
One coordinator agent orchestrates the call between subagents.
Agents -
Now these all agent has there subagent to achieve the activities
Agent and subagent have access to set of tools to achieve atomic task
How does the agent manage memory and context?
Define short-term (conversation) and long-term (persistent) memory strategies. How is context window managed? What retrieval mechanisms are used (RAG, vector stores, summarization)?
For optimal Context and memory, predefined optimized system prompt will be coded.
To achieve the deterministic in the flow, we can design multiple hooks. For example - always call search agent proceeding with the booking. So here we can define a PretoolUseHook for booking.
To achieve the consistency in data transfer between agents through the coordinator agent, we can define the output format and schema
To achieve reliability, after fetching of data, it will be loaded in scratchpad. So that if the session ended , once session is resumed , agent wont lose the context.
For retrieval, we can built a RAG and store the session data in an in-memory vectordb and add the archival rule.
By using these two strategies (ScratchPad+RAG) context window will be maintained.
Deep dive into the agent's reasoning strategy. How does it plan, decide, and self-correct? Discuss prompt engineering, chain-of-thought, reflection loops, failure handling, and tradeoffs.
One central Orchestrator agent.
Responsibilites -
Multiple Subagents - Each subagent should have appropriate name based on the domain they will act.
Each subagent should have set of tools. Tools have appropriate tool descriptions.
Subagents
The tools mentioned in the subagent have proper error handling to handle resilency. e.g trasient error will be retryable with exponential backoff . Nonretyable error will be returning proper error code and description to the coordinator.
What guardrails and safety mechanisms does the agent have? Define permission boundaries, human-in-the-loop checkpoints, content filtering, rate limiting, and how the agent handles adversarial inputs or unexpected states.
Define each subagent boundaries based on their business goal.
Non of the subagent should be overlapping
maintain a state by a stateid and save the stateid on scratch pad to maintain idempotency.