The text discusses the emergence of trends in Large Language Model (LLM) applications, including Retrieval Augmented Generation (RAG), chat interfaces, and agents. A new functionality called conversational retrieval agents combines these concepts, providing real benefits and superior user experience. This system involves an OpenAI Functions agent, tools that are themselves retrievers, and a new type of memory that remembers human <-> ai interactions as well as ai <-> tool interactions. The agent can decide when to call the retrieval system if at all, using retrieved documents to reason about what to do next. This approach has several benefits over existing systems, including not always looking up documents in the retrieval system, supporting multiple retrieval steps, and better support for meta-questions about the conversation. However, there are also some downsides, such as occasional spiraling out of control and potential memory issues. The new agent is currently available in both Python and JS, and its development represents a best guess at what a GenAI question-answering system should look like, combining groundedness with UX and flexibility.