스크립트
00:00:00Alex Hancock: Hola a todos. Mi nombre es Alex Hancock. Hoy voy a hablar sobre el control remoto
00:00:17universal para IA. Y antes de empezar, solo quiero decir que el ponente anterior comentó
00:00:21que los encargados de los clientes MCP no han implementado soporte para tareas porque son inteligentes. Yo soy
00:00:26un mantenedor de clientes MCP. Les puedo decir que simplemente soy perezoso y no lo he hecho. Bien,
00:00:33entonces hablemos un poco sobre mí antes de empezar. Soy ingeniero de software en Block,
00:00:37la empresa matriz de Cash App, Square y Tidal. Ahora tenemos varios proyectos en marcha.
00:00:43He trabajado allí durante mucho tiempo, en productos de Square y de Cash App.
00:00:47Pero en los últimos dos años me he dedicado a la IA de código abierto. En concreto, trabajo en este
00:00:51proyecto de entorno de código abierto llamado Goose, que comenzó como un proyecto interno en Block.
00:00:56Sí, veo algunos fans de Goose por ahí. Y luego, pues lo hicimos de código abierto y lo donamos a la
00:01:02Fundación Linux. Así que la propiedad intelectual está allí, pero muchos de nosotros en Block seguimos trabajando en él.
00:01:07También soy mantenedor de MCP, el protocolo de contexto de modelos. Trabajo en el SDK de Rust para ese proyecto.
00:01:14Y más recientemente, también he comenzado a trabajar en ACP, el protocolo de cliente de agente, que es de lo que
00:01:20voy a hablar hoy. Creo que tenemos un problema con los entornos que quiero plantearles
00:01:27hoy a todos ustedes como un problema y luego recomendar una solución. Lo que he estado
00:01:35notando últimamente es que tenemos muchos entornos excelentes, ¿verdad? Los hay de los laboratorios,
00:01:40de diferentes empresas y muchos basados en estándares abiertos.
00:01:46Pero noto que la interfaz para ellos suele ser personalizada o a medida. Y en el peor de los casos,
00:01:52podrías tener algunos entornos en los que literalmente solo hay una aplicación cliente que puedes usar para controlar
00:01:57ese entorno, ¿verdad? Y creo que esto trae un par de problemas. La analogía que haré con
00:02:03la web sería como si tuvieras que usar un solo navegador o un protocolo determinado para conectarte a cada
00:02:11sitio web, ¿verdad? Eso simplemente no funcionaría. No existiría algo como la web abierta si esa fuera
00:02:16la realidad con los navegadores. Por eso creo que podemos hacerlo mejor. Y sobre los estándares,
00:02:22encontrar un estándar... Lo importante de los estándares es que crean ecosistemas y mercados. Y yo diría
00:02:28que en el espacio de la IA agéntica, tenemos un buen estándar para que el agente salga y haga cosas,
00:02:35¿verdad? Llamar a herramientas, realizar acciones en otros sistemas, leer recursos, leer datos. Todos hemos
00:02:41beneficiado como comunidad al tener MCP, ¿verdad? Y lo más potente de MCP
00:02:47no es nada relacionado con MCP en sí, sino que todo el mundo usa MCP. Y por eso tenemos, ya sabes,
00:02:53miles o decenas de miles de servidores en todo el mundo, y todos los agentes pueden conectarse a ellos
00:02:58e ir a hacer cosas en esos otros sistemas. Yo diría que todavía no tenemos una buena solución
00:03:05o un estándar para que el software cliente le diga a los agentes qué hacer, asignándoles tareas, indicándoles en qué trabajar
00:03:13y obteniendo actualizaciones. Así que hoy voy a presentar una opción que creo que es una buena opción,
00:03:20en la que nuestro equipo ha estado trabajando y que consideramos una muy buena solución dentro del espacio
00:03:26de los estándares abiertos. Y este es ACP. El protocolo de cliente de agente es el nombre de este proyecto, y surgió
00:03:32de las empresas creadoras de editores. Vino de, si has usado el editor de texto Zed, o has usado alguno de los productos
00:03:39de JetBrains, la gente de Zed y de JetBrains se unieron y propusieron un estándar para que
00:03:45los clientes puedan controlar los entornos. Y tiene sentido si te pones en su lugar,
00:03:49¿verdad? Lo que querían poder hacer era escribir una única implementación de cliente de alta calidad
00:03:54en un editor, tal vez en Zed o en IntelliJ o algo similar, y poder controlar cualquier entorno
00:04:00con esa única implementación de cliente, enviando tareas, recibiendo resultados,
00:04:06viendo qué archivos se están editando, etc. Tiene muchísimo sentido si te pones en su lugar,
00:04:10¿verdad? Pero nosotros vimos esto en el equipo de Goose y pensamos que tiene una utilidad mucho más amplia que solo
00:04:17los editores, ¿verdad? Por lo tanto, es relativamente neutral y no tiene muchas funciones específicas de editores. Así que
00:04:22pensamos que esto se puede extender a una gama más amplia de software cliente. Profundizando un poco más
00:04:30sobre el diseño de ACP y lo que se puede hacer con él, permite establecer conexiones entre clientes y
00:04:37entornos de agentes que tienen un conjunto de capacidades asociadas a la conexión. Y luego puedes crear
00:04:45sesiones. Dentro de las sesiones, puedes enviar mensajes de usuario, lo que un usuario tal vez esté escribiendo en la aplicación o
00:04:51lo que el software cliente quiera enviar. El agente puede responder a estos con texto, más imágenes, audio,
00:04:59texto, etc., o con actualizaciones sobre lo que está pasando. Por ejemplo, si se llama a una herramienta, puede enviar una notificación
00:05:04de llamada de herramienta y explicar qué herramienta se invocó y cuáles eran los metadatos. Y también puede enviar cosas como
00:05:10solicitudes de permisos para que, si el software cliente necesita mostrarle al usuario: “¿Debo realizar
00:05:16esta llamada de herramienta, sí o no?”, pueda gestionarlo a través de este protocolo. Su diseño es bastante simple y utiliza mensajes JSON-RPC.
00:05:24Y lo que más nos gusta es que también es extensible. Así que no estás limitado
00:05:29solo a lo que incluye el protocolo base. Puedes agregar métodos personalizados. La convención es poner un guion bajo
00:05:37y luego empezar a añadir tus métodos personalizados. Y lo que me gusta de esto es que, si suficientes
00:05:41proyectos de entornos o de clientes adoptan esto, podemos empezar a ver qué estamos haciendo todos que sea
00:05:46igual, ¿verdad? Como si el equipo de codex tiene algunos métodos personalizados, el equipo de goose tiene algunos métodos personalizados,
00:05:52el equipo del cliente tiene otros, quien sea, podemos ver qué surge en el ecosistema y
00:05:58qué tiene sentido incluir en la vía de estandarización y llevar al protocolo en sí, de modo que esto se vaya
00:06:03formando gracias al uso y a la comunidad. Voy a hacer una demo de una versión de esto basada en E/S estándar.
00:06:12Así que voy a abrir Zed y tengo un proyecto muy sencillo aquí donde diré: “háblame sobre
00:06:18este proyecto”. Y como se trata de un solo archivo HTML, pueden ver que pude escribir mi consulta en Zed
00:06:25y el agente en acción aquí es Goose. Por lo tanto, utiliza la interfaz ACP de Goose. Y como pueden ver,
00:06:31está enviando texto de vuelta. Está enviando información de llamadas de herramientas sobre lo que leyó y lo que
00:06:36hizo. Y luego descubrió que es un solo archivo HTML y lo explicó. Y haré otra,
00:06:42haré otra. Esta es de una empresa llamada Poolside AI. Diré: “Háblame de este
00:06:50proyecto dentro del mismo proyecto”. Y este es un cliente basado en terminal que obtiene exactamente la misma experiencia de
00:06:55la misma gente, una implementación en el lado del entorno, y ahora puedes usar cualquier cliente, ¿verdad? Y como
00:07:01pueden ver, hizo lo mismo: me mostró algunos resultados en texto, mostró una llamada a herramienta y luego
00:07:06mostró, está transmitiendo un resumen. Esa es una demo básica que muestra a dos clientes hablando con el mismo
00:07:13agente a través de E/S estándar de forma local en este caso. Pero lo local obviamente no es suficiente, ¿verdad? Si quieres que esto
00:07:21despegue, también debes poder hacerlo de forma remota. Los agentes van a ejecutarse en la nube. Y cuando
00:07:25llegamos a este proyecto, vimos que aún no tenía soporte remoto. Así que especificamos un transporte
00:07:31HTTP; hay una versión HTTP y una actualización de WebSocket. Ahora los mensajes son los mismos,
00:07:37la semántica del protocolo es la misma, pero hay un nuevo transporte que está llegando ahora y que permite
00:07:42el acceso remoto. Y la forma en que pensamos sobre esto en el equipo de Goose, la pila agéntica,
00:07:49cuenta con estos cuatro componentes importantes, ¿verdad? Tienes el cliente, que es como la aplicación que usa el usuario,
00:07:54o una aplicación sin interfaz gráfica que se ejecuta en alguna parte de la máquina. Está el entorno, que es el programa que
00:07:59implementa el bucle de llamadas a herramientas. Están las herramientas en sí, que a menudo son MCP. Y luego está
00:08:04el modelo, ¿verdad? Y si implementas un transporte remoto para el protocolo de cliente de agente, y MCP tiene un transporte
00:08:13remoto para la llamada a herramientas, y los modelos han tenido puntos finales remotos, como APIs
00:08:18de respuestas, durante mucho tiempo, ahora tienes la flexibilidad de mover todos estos cuatro componentes. Podrían
00:08:24estar todos en la misma máquina. El entorno podría estar en una máquina diferente a la del cliente.
00:08:29El modelo podría ser lo único remoto. Las herramientas podrían ser lo único remoto.
00:08:34Alinearnos con los estándares y asegurarnos de que tengan buenas opciones de transporte es lo que nos permitirá
00:08:39mover todas las piezas de esta pila agéntica. Y puedo mostrar una breve demo de esto también.
00:08:46Este es un cliente, solo para mostrar lo fácil que es crear clientes para esto. Programé esto de manera improvisada
00:08:53anoche, y diré: “Escribe un poema”. Esto se conecta nuevamente a ese mismo proceso en mi máquina.
00:09:01En este caso, lo ejecuto a través de la red, pero está en mi máquina.
00:09:03Se conecta y envía instrucciones a goose sobre qué hacer de forma remota. Así que esto podría estar en un contenedor,
00:09:09podría estar en la nube, pero los mensajes son los mismos y la librería que utilizas es la misma.
00:09:15Por lo tanto, puedes cambiar entre local y remoto de manera muy, muy sencilla.
00:09:21Así que si quieres conectarte a este ecosistema, empieza a experimentar con el soporte,
00:09:25ya sea creando tus propios clientes o añadiendo funciones a los entornos.
00:09:29Esto te vinculará al sitio del protocolo de cliente de agente para saber cómo empezar. Hay varios clientes
00:09:34y servidores de agentes disponibles. Esto abarca desde editores, aplicaciones de escritorio, aplicaciones móviles,
00:09:41hasta herramientas basadas en terminal. Hay una gran proliferación. Y creo que los casos de uso son potencialmente enormes,
00:09:49¿verdad? Si logramos algo de interoperabilidad aquí, porque la gente podrá crear clientes personales.
00:09:54Exactamente como deseas que orchestre tus agentes. Podrías tener clientes creados
00:10:00para ciertos dominios de negocio o para una empresa individual, o un conjunto de clientes de una compañía. Podrías personalizar
00:10:06un cliente de marca blanca y hacer que funcione con todos los entornos. Y también creo que si creamos una nueva
00:10:12categoría aquí, veremos que la calidad de los clientes aumenta, ¿verdad? Porque cada vez que se forma
00:10:17un ecosistema o un mercado y hay muchas opciones, los usuarios pueden votar con los pies si
00:10:22los clientes no satisfacen sus necesidades. Por lo tanto, la gente empezará a competir en la calidad de la experiencia
00:10:26de usuario. Y en general, creo que esto debería elevar la experiencia de usuario al usar IA.
00:10:33Esto es todo por hoy. Muchas gracias. Y si quieren hablar conmigo, encuéntrenme
00:10:37después o envíenme un correo electrónico. Con gusto les ayudaré a integrarse en este trabajo. Gracias.
커뮤니티 글
아직 글이 없습니다. 이 영상에 대한 첫 번째 글을 작성해 보세요!
이 영상에 대해 글쓰기