cursos:sdd:09-skills-agentes-subagentes
Diferencias
Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
| cursos:sdd:09-skills-agentes-subagentes [2026/11/06 08:37] – Renumerar el curso: Estructura de un skill pasa al 10 y los temas siguientes suben un número claude | cursos:sdd:09-skills-agentes-subagentes [2026/11/06 09:13] (actual) – Sección 4: el inconveniente del modelo y la opinión sobre unificar agentes y skills claude | ||
|---|---|---|---|
| Línea 1: | Línea 1: | ||
| ====== 9. Skills, agentes y subagentes ====== | ====== 9. Skills, agentes y subagentes ====== | ||
| - | En [[cursos: | + | En [[cursos: |
| Más información: | Más información: | ||
| Línea 26: | Línea 26: | ||
| ===== 2. Lo que hacemos nosotros: tres tipos ===== | ===== 2. Lo que hacemos nosotros: tres tipos ===== | ||
| - | En este curso **todo se escribe como //skill//**. Lo que cambia es para qué sirve cada una, quién la lanza y dónde se carga: | + | En este curso vamos a usar **tres palabras**, y conviene fijar desde ahora qué quiere decir cada una: |
| - | ^ ^ Skill de conocimiento ^ Skill de procedimiento ^ Subagente ^ | + | |
| - | | Qué es | Lo que hay que **saber**: las convenciones del proyecto | Lo que hay que **hacer**: un proceso | + | |
| - | | Quién la lanza | Una // | + | * **Subagente**: un agente que lanza **nuestro agente** para partir su tarea en trozos más pequeños: comprobar el test, revisar el fichero generado. Es también un agente, con su contexto vacío y su respuesta cerrada; lo que cambia es quién lo lanza. |
| - | | Dónde se carga | En tu conversación | En tu conversación (o en una nueva con '' | + | |
| - | | Qué devuelve | Nada: se queda cargada | El trabajo hecho y un mensaje final | Una respuesta cerrada: '' | + | Y cada uno se escribe y se nombra de una forma: |
| - | | Nombre | '' | + | |
| - | | Dónde vive | '' | + | * **Las //skills// se llaman |
| + | * **Los agentes se llaman '' | ||
| + | * **Los subagentes son un fichero markdown con su prompt** en la carpeta | ||
| + | |||
| + | Todo en // | ||
| <sxh text; | <sxh text; | ||
| Línea 46: | Línea 50: | ||
| </ | </ | ||
| - | ==== Skill de conocimiento: k- ==== | + | ^ ^ Skill ('' |
| + | | Qué es | Lo que hay que **saber**: las convenciones del proyecto | Lo que hay que **hacer**: un proceso por fases | Una comprobación cerrada dentro | ||
| + | | Quién lo lanza | Un agente, o el modelo cuando la necesita | **Tú**, con ''/'' | ||
| + | | Dónde se carga | En tu conversación | En tu conversación (o en una nueva con '' | ||
| + | | Qué devuelve | Nada: se queda cargada | El trabajo hecho y un mensaje final | Una respuesta cerrada: '' | ||
| + | | Dónde vive | '' | ||
| - | Describe cómo se hace algo en el proyecto: cómo son los servicios, cómo se escriben los tests, cómo se nombran los commits. **No hace nada sola**: la cargan las //skills// de procedimiento («carga '' | + | Ventajas del prefijo: |
| - | Es el ejemplo 1 del tema 8, el //repository// JPA: conocimiento que tiene que **quedarse en la conversación** para que valga en el siguiente mensaje. Por eso es una //skill// y nunca un agente. | + | * **No chocan con los comandos de Claude Code**, que también se lanzan con '' |
| + | | ||
| - | ==== Skill de procedimiento: do- ==== | + | ==== Skill: |
| - | Ejecuta un proceso por fases: crear un servicio, revisar un PR, generar | + | Describe cómo se hace algo en el proyecto: cómo son los servicios, cómo se escriben |
| - | Es el ejemplo | + | Es el ejemplo |
| - | * **Un agente no tiene carpeta propia.** Es un único fichero en '' | + | ==== Agente: do- ==== |
| - | * **Lanzarla es más corto.** En Claude Code un agente se lanza con '' | + | |
| - | <sxh bash> | + | Ejecuta un proceso por fases: |
| - | @agent-crear-servicio | + | |
| - | / | + | |
| - | </ | + | |
| - | Lo que aporta el agente, empezar con el contexto vacío, se consigue lanzando la //skill// en una conversación limpia, con ''/ | + | Es el ejemplo 2 del tema 8, generar los tests: **el trabajo de un agente**. Pero lo escribimos como //skill//, no como agente de la herramienta ([[# |
| <sxh yaml; | <sxh yaml; | ||
| Línea 79: | Línea 85: | ||
| ==== Subagente ==== | ==== Subagente ==== | ||
| - | Un subagente es un trabajo cerrado **dentro de una fase** de una //skill// de procedimiento: comprobar que el test cubre el requisito, revisar el fichero generado, juzgar si cumple el checklist. Lo lanza la //skill//, no tú, y su respuesta la lee la // | + | Un subagente es un trabajo cerrado **dentro de una fase** de un agente: comprobar que el test cubre el requisito, revisar el fichero generado, juzgar si cumple el checklist. Lo lanza el agente, no tú, y su respuesta la lee el agente |
| - | Su prompt es un fichero '' | + | Su prompt es un fichero '' |
| <sxh markdown> | <sxh markdown> | ||
| Línea 91: | Línea 97: | ||
| * **Empieza vacío**, así que todo lo que necesita le llega en '' | * **Empieza vacío**, así que todo lo que necesita le llega en '' | ||
| - | * **Lo que lee muere con él**: la clase, el test, la salida de '' | + | * **Lo que lee muere con él**: la clase, el test, la salida de '' |
| - | * **La respuesta es cerrada**, '' | + | * **La respuesta es cerrada**, '' |
| - | ¿Por qué un subagente | + | Por qué va dentro del agente |
| <note warning> | <note warning> | ||
| Línea 100: | Línea 106: | ||
| ---- | ---- | ||
| - | ===== 3. El nombre | + | ===== 3. Cuál de los tres ===== |
| - | El nombre de la //skill// (su carpeta y su '' | + | Tres preguntas, en este orden: |
| - | * **'' | + | |
| - | * **'' | + | |
| + | - **¿El resultado es una comprobación cerrada | ||
| - | Todo en // | + | Con el ejemplo del curso: |
| - | Ventajas del prefijo: | + | |
| - | + | * Crear un servicio a partir de un requisito → '' | |
| - | | + | * Comprobar que el test del servicio cubre el requisito, dentro de '' |
| - | * **Escribiendo | + | |
| ---- | ---- | ||
| - | ===== 4. Cuál de los tres ===== | + | ===== 4. Por qué esta separación |
| - | Tres preguntas, en este orden: | + | La herramienta ya trae //skills// y agentes. Tenerlos de otra manera, los agentes como //skill// y los subagentes como un fichero dentro del agente, es una decisión, y estas son las razones. |
| - | - **¿Son reglas o es una tarea?** Si son reglas (cómo se hace algo), '' | + | ==== Por qué los agentes |
| - | - **¿La lanzas tú?** Si la pides tú y quieres ver cómo avanza, '' | + | |
| - | - **¿El resultado es una comprobación cerrada que la //skill// compara?** Entonces subagente. Si la //skill// necesita que lo que se ha leído siga en el contexto, no es un subagente: es una fase más de la '' | + | |
| - | Con el ejemplo | + | * **Un agente de la herramienta no tiene carpeta propia.** Es un único fichero en '' |
| + | * **Lanzarlo cuesta más.** En Claude Code un agente se lanza con '' | ||
| - | | + | <sxh bash> |
| - | * Crear un servicio a partir | + | @agent-crear-servicio R-12 |
| - | * Comprobar que el test del servicio cubre el requisito, dentro de '' | + | / |
| + | </ | ||
| + | |||
| + | | ||
| + | * **Vale para las dos herramientas.** OpenCode lee '' | ||
| + | * **Un solo formato que aprender.** Skill y agente tienen el mismo '' | ||
| + | |||
| + | **El único inconveniente: | ||
| + | |||
| + | <sxh yaml; | ||
| + | --- | ||
| + | name: do-revisar-pr | ||
| + | description: | ||
| + | context: fork | ||
| + | model: haiku | ||
| + | --- | ||
| + | </ | ||
| + | |||
| + | <note tip> | ||
| + | |||
| + | ==== Por qué los subagentes van dentro del agente ==== | ||
| + | |||
| + | * **No son reutilizables.** El verificador de '' | ||
| + | * **En '' | ||
| + | * **Se mantiene con el agente.** Si cambia la fase que lo lanza, cambian sus '' | ||
| + | * **Sí tiene que ser un agente de verdad**, con contexto vacío, porque el resultado lo necesita **el agente que sigue trabajando**, | ||
| + | |||
| + | Y la señal de que algo está mal clasificado: | ||
| ---- | ---- | ||
| Línea 136: | Línea 168: | ||
| ==== Ejercicio 1 ==== | ==== Ejercicio 1 ==== | ||
| - | Di si cada cosa es una // | + | Di si cada cosa es una // |
| ^ Tarea ^ Tipo ^ Por qué ^ | ^ Tarea ^ Tipo ^ Por qué ^ | ||
| Línea 148: | Línea 180: | ||
| ==== Ejercicio 2 ==== | ==== Ejercicio 2 ==== | ||
| - | '' | + | '' |
cursos/sdd/09-skills-agentes-subagentes.1793950647.txt.gz · Última modificación: por claude
