Copilots and agents
Traditional chatbots have undergone significant evolution, transitioning into more sophisticated forms such as copilots, agents, and autonomous agents. In this section, we aim to compare and contrast these advanced chatbot types, exploring their roles and utilization in contemporary applications.

Figure 6.2 – Evolution from chatbots to autonomous agents
Agents are skilled assistants and, in the context described, are pieces of code equipped with AI capabilities. They are designed to complete tasks by interacting with users through applications or other interfaces. Initially, they gather information from users and subsequently utilize this data to execute actions, which may include feeding it into LLMs or a sequence of LLMs, among other possibilities.
For example, a data analyst agent can analyze your Excel sheets by asking for your raw Excel file and any other questions it may have; then, it will generate its own plan of action intelligently, execute those actions, and provide you the final insights on your data.
Copilots are collaboration tools in the form of chatbots integrated into applications, and they use
LLM to assist users to perform a task specific to that application and get an instant productivity boost.
They represent a specialized subset within the broader category of agents.
Copilots, such as GitHub Copilot and Power BI Copilot, are integrated into applications to assist users in completing tasks, such as generating code or offering troubleshooting recommendations based on natural language queries.
Microsoft employs copilots extensively, integrating them into their next-generation AI-integrated products, such as Microsoft 365 apps. These copilots combine LLMs with user data and other Microsoft applications using the semantic kernel (SK) framework that we discuss in the next section. Copilots work alongside users, providing AI-powered assistance in tasks such as drafting documents or generating code. Imagine them as helpful copilots in the cockpit of a plane, assisting the pilot. By using a semantic kernel framework, developers can access the same AI integration and orchestration patterns used by Microsoft’s copilots in their own applications. For more information on how Microsoft utilizes AI models and SK in Copilots, refer to Kevin Scott’s Microsoft Build 2023 talk,The Era of the AI Copilot.
Now, let’s understand how to convert these concepts (agents, copilots, RAG (this was discussed in Chapter 4)) into tactical solutions using frameworks such as Semantic Kernel, Langchain, and Llamaindex.