Sub Agent Context Sharing: Cómo habilitar subagentes efectivos para codificación
1. Understanding Cloud Code Sub-agent System
Cloud Code introdujo la función de sub-agente para un mejor rendimiento. Comprender el concepto de sub-agente y su papel. Asignación de tareas para ahorrar tokens e ingeniería de contexto.
Entonces, Cloud Code introdujo su función de sub-agente hace unas semanas, y fue un concepto súper emocionante. Sin embargo, para las personas que lo prueban, a menudo tienen una experiencia bastante negativa, donde un sub-agente se siente lento, consume muchos más tokens y, lo más importante, no parece estar contribuyendo a un mejor resultado. Y yo estaba entre esas personas, pero solo recientemente comencé a aprender las mejores prácticas para usar sub-agentes. Y eso ha cambiado totalmente el juego y ha hecho que mi Cloud Code funcione mucho mejor de manera consistente.
Por eso quiero compartir cómo pienso y diseño el sistema de sub-agentes. Entonces, primero, tenemos que entender por qué Cloud Code introdujo inicialmente el concepto de sub-agente. Si no sabes exactamente cómo funciona el agente de Cloud Code detrás de escena, es básicamente una herramienta llamada agente que está equipada con una lista de diferentes herramientas para leer un archivo, listar todos los archivos, editar archivos, cosas así. Y algunas de las herramientas pueden consumir muchos más tokens como la herramienta de lectura, porque vas a incluir todo el contenido de un archivo en el historial de la conversación. Y antes de que Cloud Code tuviera la función de sub-agente, todo lo hacía el propio agente de Cloud Code.
Lo que significa que antes de comenzar a implementar, ya podría usar el 80% de la ventana de contexto, porque esos archivos contendrán una gran cantidad de contexto, lo que probablemente activará este comando de conversación compacta que resumirá toda la conversación antes de que puedas continuar. Y como sabemos, cada vez que compactas la conversación, el rendimiento cae dramáticamente porque comienza a perder contexto sobre lo que ha hecho antes. Por eso más tarde introdujeron esta herramienta de tareas para el agente de Cloud Code. Permite a Cloud Code asignar una tarea a otro agente. Y este agente tendrá exactamente el mismo conjunto de herramientas, incluyendo leer archivo, buscar archivo. Así que puedes activar este agente para que realmente escanee toda la base de código, entienda cuáles son todos los archivos relevantes para cambiar. Y luego, basado en esa información, hacer la implementación real. Y la forma en que se ahorran tokens es porque desde la perspectiva del agente principal, todos los pasos que el sub-agente toma en el medio no serán parte del historial de la conversación para el agente principal.
2. Challenges with Sub-agent Implementation
El propósito del sub-agente para la ingeniería de contexto. Desafíos de los sub-agentes en la implementación directa. Intercambio de información limitado entre agentes para la resolución de problemas.
Entonces vemos que se asignó la tarea al sub-agente y luego el sub-agente regresa con un resumen del informe de investigación, que puede usarse para guiar la siguiente mejor acción. Al hacer eso, efectivamente conviertes ese consumo masivo de tokens de la acción de leer archivo, buscar archivo, en algo como un resumen de solo unos pocos cientos de tokens, pero que aún contiene la información más importante para guiar la siguiente acción. Así que todo el propósito del sub-agente ha sido en torno a la ingeniería de contexto y la optimización de contexto. Pero donde las cosas fallan es cuando las personas comienzan a intentar que un sub-agente no solo haga el trabajo de investigación, sino que también realice directamente la implementación.
Por ejemplo, el primer pensamiento que tuve fue ¿qué pasaría si pudiéramos tener un agente de desarrollo front-end para hacer solo una implementación front-end con reglas y flujos de trabajo especiales, así como un agente de desarrollo back-end que esté especializado en la implementación back-end. Entonces, para el agente principal, realmente solo orquesta toda la conversación y delega tareas a otros. Esto suena muy bien al principio, pero en el momento en que lo que sea que el sub-agente implemente no sea 100% correcto y quieras que el agente lo arregle, ahí es donde comienza el problema. Porque para cada agente, solo tiene información muy limitada sobre lo que está sucediendo. Para el agente de desarrollo front-end, solo conoce la acción que toma así como el mensaje final que genera en esa tarea específica.
Lo mismo para el agente de desarrollo back-end. Y si le indicas al agente de Cloud Code que hay un error en el front-end, aunque se asigne nuevamente al desarrollo front-end, esto solo desencadenará una nueva conversación, porque el agente de desarrollo front-end no sabría qué sucedió antes en la última sesión de front-end, y tampoco tendrá ningún contexto sobre lo que el desarrollo back-end ha hecho antes. Así que cada tarea es una sesión muy contenida. Mientras tanto, para el agente principal de Cloud Code, también tiene información muy limitada, porque nuevamente, no verá todas las acciones que se han tomado para el sub-agente, lo que significa que no sabrá qué archivos específicos se han creado y qué se ha puesto realmente en esos archivos.
Check out more articles and videos
We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career















Comments