# Agentes con Copilot Studio, todo lo que puedes hacer hoy de forma muy sencilla

En realidad no es "todo" lo que puedes hacer. Pero el caso es que el viernes estuve haciendo un workshop en vivo sobre construcción de agentes con Copilot Studio, más allá del simple-pero-efectivo Agent Builder, y es interesante la enorme cantidad de cosas distintas que se pueden hacer. Orquestación generativa, razonamiento avanzado, acciones con configuración sencilla, fuentes de datos oficiales...
Os cuento brevemente la diferencia entre Agent Builder y Copilot Studio, y luego os pongo una por una todas las cosas diferenciales que podéis hacer con Copilot Studio ahora mismo.
Ojo, todo esto es ***antes*** de las funcionalidades anunciadas en Microsoft Build 2025, con lo que en breve podréis hacer mucho más.
## ¿Agent Builder o Studio?
La principal diferencia entre **Copilot Agent Builder** y **Copilot Studio** es que, con Agent Builder, simplemente creas un agente proporcionándole instrucciones en lenguaje natural y, opcionalmente, indicando algunas fuentes, como documentos en SharePoint. Desde una perspectiva más técnica o académica, esto no se consideraría estrictamente un "agente"
¿Y por qué en Microsoft lo llamamos agente? Aunque pueda parecer que no ejecuta transacciones —lo cual es cierto—, en realidad sí realiza trabajo útil. Por ejemplo, si creas un agente que procesa un documento y genera una salida, eso ya representa una tarea que tú mismo tendrías que hacer, por lo tanto, te está haciendo trabajo.
Por otro lado, **Copilot Studio** es una plataforma _low-code_ mucho más completa, pensada para crear agentes más avanzados sin necesidad de programar. Aunque tiene las limitaciones típicas de este tipo de plataformas, es bastante potente. Se pueden hacer cosas muy chulas.
Vamos a ver algunas de ellas.
## Copilot Studio, ¿qué puedes hacer hoy?
### 1. Acciones
Lo más obvio y fácil: acciones. Dar a tu agente la posibilidad de ejecutar acciones o transacciones.
En Copilot Studio es bastante fácil, simplemente hay que configurar la acción, como si fuera un conector, y darle un perfil de seguridad (esto es, especificar si la acción se ejecuta siempre con el perfil del creador del agente o si usa el perfil del usuario que lo está utilizando en cada momento)

Varias acciones creadas. Fijaos en el trigger *"By agent"*, eso significa que la propia IA decidirá cuándo usar la acción, según la necesite.
En la configuración de cada acción hay otra cosa interesante. Fijáos como pone en los parámetros de entrada "*Dynamically fill with best option*". Esto también es dejar que la IA decida cómo usar el conector. No hay que preocuparse por detalles de implementación de los conectores.

### 2. Orquestación generativa
¿Orquestaqué? La orquestación generativa es lo que hace que un flujo no esté predefinido, sino que a partir de unas instrucciones en lenguaje natural, la propia IA decide qué hacer y cuándo. Esto es lo que marca la principal diferencia entre un RPA o flujo de automatización de toda la vida y la IA generativa: que ahora la IA decide.

Pero lo interesante es que la IA decide en base a dos cosas, ambas en lenguaje natural.
- Las instrucciones internas
- La conversación con el usuario
Con esto, el modelo de IA decide qué hacer, qué acciones invocar (recordad el *trigger = By Agent* anterior) y cómo hacerlo.
Esto ya lo vimos en el post de mayo de [orquestación generativa en Copilot Studio](22-Orquestación-generativa.md), os dejo la imagen de allí que lo explica:

#### Wait, ¿cómo uso la Orquestación generativa?
Curioso. Muy curioso. Una vez habilitado el check de "*Use generative AI to respond [...]*" y configuradas unas acciones, hay que ponerlo en las instrucciones del agente.
Dejo un pantallazo tal cual de las instrucciones del agente que pusimos en el workshop. Fijáos que se le explica, como si fuera un *becario muy motivado* pero con muy poca iniciativa propia, lo que debe hacer en cada momento, tipo:
- Si el usuario te pide enviarlo por Teams, pide su nombre completo si no lo tienes, busca en el directorio de Office 365, inicia un chat persona, etc.
*Buscar en el Directorio de Office 365* o *Iniciar un chat* son acciones de las que configuramos antes.

### 3. Modelos de razonamiento
Posibilidad de usar modelos de razonamiento avanzado. Divertido lo que pone en el tip de la imagen:

O sea, que si tienes un modelo que lee noticias, lee noticias. Pero si le pones "razona tal noticia", entonces dispara el modelo de razonamiento, tarda unos segundos más y vuelve con un razonamiento detallado sobre el contenido de la noticia.
Interesatísimo para asistentes que ofrecen contenido a otro nivel. Por ejemplo, en el workshop de la semana pasada, en base a un catálogo de hardware para nuevos empleados, hicimos un asistente que razona qué dispositivo es mejor para un determinado tipo de trabajo, y envía el razonamiento por email.

Dado que fue un caso improvisado en vivo, el razonamiento tampoco es la panacéa... pero es ***un razonamiento y un envío de un email, hecho por una IA a partir de una petición simple***. Lo cual ya en sí es espectacular.
### 4. Triggers
Porque no solo de conversaciones vive el agente!
Los triggers permiten que los agentes no funcionen exclusivamente en el contexto de una conversación de chat, sino que puedes ejecutarlo cuando ocurra algo en otro sitio.

Esto de *"cuando ocurra algo en otro sitio"* suena a genérico, pero es importantísimo. Te permite montar una arquitectura orientada a eventos, algo que antiguamente, antes de las plataformas Low Code de automatización era muy difícil.
Por cierto, si nos fijamos de nuevo en las instrucciones del agente: al becario motivado hay que especificarle que, si la petición llegó por email, responda por email:

Me resulta curioso que es como si fuera bastante listo pero tuviera muy poca iniciativa. Lo cual es lógico si lo piensas. No queremos que los agentes tengan mucha iniciativa propia.
Podrían empezar a hacer cosas que no queremos. Como empezar una *situación Skynet* 😊🤖😁.