What is the relation between plugin, assisstants and agents?

Hello all,

Documentation and the internet refer to the terms:
Agents, Assistants and Plugins in relation to openai.

Any guidance is appreciated.

2 Likes

@dev67 Welcome to the forums, and a fantastic question!

LLM Agents

An LLM agent can be many things, but in a simplest form, it is a very specific configuration (prompt) that is sent to GPT-4. It can be as simple as just a prompt (a piece of text) that lists very specific instructions and a very specific purpose. For example, you can have an agent whose only job it is, to translate a piece of text from Spanish to English. You can have more complex agents, where you also supply specific tools that can be called, and even where you specify a specific knowledge base or a database that can be used to help that agent achieve a specific task. So typically in more complex agents (e.g. “support triage agents”), you may want to implement Function Calling. Agents can be stateless, i.e. they get some input, perform some instruction, and send the output back to the user, or to another agent.

Assistants

You can view Assistants as a stateful LLM agent instance. You define what it needs to achieve, what knowledge it should use, what it should store, and what tools it should call. OpenAI has excellent documentation on Assistants.

Plugins (now called GPTs and GPT Actions)

Plugins is something that is now outdated. Today we have GPTs and actions. GPTs is a way for you to create and share your own GPT. This just means that you define some behaviour (prompt) and some specific knowledge for that GPT to use. You can then augment this with specific tools to be called by that GPT. The main difference compared to Assistants, is that GPT is meant to be used as a “chatbot interface”, while Assistants are used via APIs, and form the basis for multi-agent (e.g. multi-assistant) systems. More info on GPTs here.

I hope that helps!

1 Like

Thanks for your reponse @platypus. One more query –
You mention-- “The main difference compared to Assistants, is that GPT is meant to be used as a “chatbot interface”, while Assistants are used via APIs”

does it mean that if I have created a GPT and now want to access it in a web application I will have to build an equivalent Assistant?

@dev67 correct - you would copy-paste the prompts into the Assistant, add whatever other knowledge is required (e.g. files, PDFs, whatever), and then interact with the Assistant using API from your web application.