The goal of the agent is to effectively answer questions using a large enterprise knowledge base, including PDFs, Word, plan text files, databases, knowledge graphs and web pages.
The agent should be aware of which type of information is stored on each system and fetch corresponding information, add to the prompt of the LLM and respond the user. It should reject questions NSFW.
A vector database will store the vector chunks from:
A multi-agent pattern might be interesting given the multiple sources. The main orchestrator would call each, then each agent would be in charge of looking at its resources using different tooling.
The context of the conversation (session) should be stored in a database, to be injected at each message.
The user access must be retrieved from the auth system, and used to authenticate against the databases.
The main challenge is to identify which type of information each data source contains, so we can steer the tools into searching it.
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.