@Michael E. Gernaey appreciate the response, and I totally understand how you'd need more info to be able to provide an appropriate response.
This is my first Agent I've built, so I'm not sure the best way to translate its details in a chat like this. I'll give it a shot:
- My agent's instructions include: When a question is received, check for a relevant answer using the "Ask Pinecone Flow" first. Use the Answer (String) from the "Ask Pinecone Tool" as the response to the user. Do not change or rework it before sending to the user. If a response that contains citations is not found, proceed to checking other knowledge areas or doing a web search. The priority is to use the Tools over the Knowledge. <--- I added this highlighted portion and am getting quicker results.
- My agent has one knowledge source, which is a link to the organization's website. This is designed as a fallback for questions that are not about topics covered in the repository of Pinecone documents (stuff like "when are we open" for example).
- I added the Agent Flow that I built (called "Ask Pinecone Flow") as a Tool in the agent's configuration. This didn't seem to trigger it though, so some research led me to add a Topic to trigger the tool.
- I added a topic that uses the trigger "when a message is received". The only action within this topic is to send the "LastMessage.text" as the Question for my Ask Pinecone Flow, and output the answer that the tool comes back with.
I suppose my question (now that my response seems to be coming quicker from my tool to my chat response) is this --- is there a hierarchy of how an agent processes their response. That is, does it start with instructions, then move to knowledge, then move to tools, etc.... or can my instructions for the agent actually have an impact on how it responds? My instructions contain more detail that may actually be better-suited as a knowledge piece, but my concern is that if I add more to the knowledge area, my Tool will be called/used less. I'm also not sure how my "Topic" works, since it seems like it should get triggered for any message it receives --- does this mean that my other sources (knowledge, etc.) are never used at all? This doesn't seem to be the case though, as there are instances where the knowledge source is used, but I'm not sure how or what triggers the difference between it using a knowledge source or the Tool/Pinecone flow.