Start with what the user needs
The labels overlap. A chatbot generally offers a conversational interface; an assistant supports a person with information or tasks; an agent may carry out a sequence of actions using tools. The important question is what the system is permitted and expected to do.
Separate answers from actions
Answering a question from approved documents is different from changing an order or sending a message. Specify the data the system can access, the tools it can use and the decisions that require human approval.
Design for uncertainty
Provide a clear way to say that information is missing, ask for clarification or hand the task to a person. Test ambiguous requests and failed integrations as well as successful examples.
Choose the smallest useful scope
A well-designed search assistant may solve the problem without autonomous actions. Start from the workflow and introduce additional capability only when it improves the experience and can be supervised appropriately.
