Herramientas de usuario

Herramientas del sitio


cursos:sdd:07-agentes

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
cursos:sdd:07-agentes [2026/10/26 15:55] – Cómo se escribe un agente: fichero, frontmatter, plantilla del rol, coordinar subagentes, cuándo para, scripts y cómo se ejecuta claudecursos:sdd:07-agentes [2026/10/26 16:07] (actual) – Crear un agente en OpenCode y en Claude Code, cada uno en su sección; el cuerpo, común claude
Línea 25: Línea 25:
 ---- ----
  
-===== 3. El fichero =====+===== 3. El cuerpo del agente =====
  
-Un agente es **un solo fichero ''.md''**: frontmatter con la configuración y, debajo, sus instrucciones.+Un agente es **un solo fichero ''.md''**: arriba el frontmatter, que cambia según la herramienta ([[#crear_un_agente_en_opencode|OpenCode]], [[#crear_un_agente_en_claude_code|Claude Code]]), y debajo sus instrucciones, que son iguales en las dos. Las instrucciones llevan siempre las mismas secciones, en este orden:
  
-<sxh markdown;title:.claude/agents/verificador-tests.md> +  * **Rol**: quién es y **qué sesgo evita**. Un revisor que no se fía del resumen de quien implementó. 
---- +  * **Entradas**: lo que le llega en el prompt, con nombre. 
-name: verificador-tests +  * **Proceso**: pasos numerados, un verbo cada uno. 
-description: Comprueba que cada requisito de una spec tiene un test que lo cita y +  * **Criterios**: cuándo está bien, cuándo mal y qué hace **en la duda: fallar**. 
-  que pasa. Usar después de implementar una funcionalidad, antes del commit. +  * **Salida**: formato cerrado, con las palabras exactas (''DONE'' / ''BLOCKED''). El principal compara por texto: «indícalo de alguna forma» no se puede comparar.
-tools: Read, Grep, Bash +
-model: haiku +
-skills: +
-  - requisitos +
----+
  
 +<sxh markdown>
 # Verificador de tests # Verificador de tests
  
Línea 68: Línea 64:
 </sxh> </sxh>
  
-==== El frontmatter ====+<note important>**El subagente no ve tu conversación.** Todo lo que necesita le tiene que llegar en el prompt o estar en su fichero. «Revisa lo que hemos hablado» no funciona; «revisa ''specs/pedidos.md''» sí.</note>
  
-  * **''name''** y **''description''**: igual que en una //skill//, la descripción dice **qué hace y cuándo usarlo**: es lo que lee el principal para decidir si lo lanza ([[cursos:sdd:08-skills#el_frontmatter|cómo se escribe]]). +En el frontmatter de las dos herramientas hay tres decisiones que se toman igual:
-  * **''tools''**: las herramientas que puede usar. Si no se pone, **las tiene todas**: un revisor que puede editar acaba arreglando en vez de revisar. +
-  * **''model''**: ''haiku'', ''sonnet'', ''opus'' o ''inherit''. Si no se pone, el del principal. Lo mecánico (verificar, contar, comprobar un formato) con ''haiku'': el principal no lo baja solo y gasta el caro. Lo que juzga, diseña o corrige, con el del principal. +
-  * **''skills''**: las //skills// que se cargan **enteras** al arrancar. Es como el agente recibe el conocimiento sin llevarlo dentro.+
  
-<note>En OpenCode el frontmatter es otro: el nombre es el del fichero, ''mode: subagent'', el modelo con proveedor (''anthropic/claude-haiku-5-5'') y ''permission'' en vez de ''tools''. Va en ''.opencode/agents/'' ([[https://opencode.ai/docs/agents/|documentación]]).</note>+  * **''description''**: igual que en una //skill//, **qué hace y cuándo usarlo**: es lo que lee el principal para decidir si lo lanza ([[cursos:sdd:08-skills#el_frontmatter|cómo se escribe]]). 
 +  * **Herramientas**: solo las que necesita. Si no se limitan, **las tiene todas**: un revisor que puede editar acaba arreglando en vez de revisar. 
 +  * **Modelo**: si no se pone, el del principal. Lo mecánico (verificar, contar, comprobar un formato) con el más barato: el principal no lo baja solo y gasta el caro. Lo que juzga, diseña o corrige, con el del principal.
  
-==== El cuerpo ====+----
  
-Siempre las mismas secciones, en este orden:+===== 4. Crear un agente en OpenCode =====
  
-  * **Rol**: quién es y **qué sesgo evita**. Un revisor que no se fía del resumen de quien implementó. +Va en ''.opencode/agents/<nombre>.md'', y **el nombre del agente es el del fichero**. ''opencode agent create'' lo crea con preguntas, pero a mano es igual de rápido.
-  * **Entradas**: lo que le llega en el prompt, con nombre. +
-  * **Proceso**: pasos numerados, un verbo cada uno. +
-  * **Criterios**: cuándo está bien, cuándo mal y qué hace **en la duda: fallar**. +
-  * **Salida**: formato cerrado, con las palabras exactas (''DONE'' / ''BLOCKED''). El principal compara por texto: «indícalo de alguna forma» no se puede comparar.+
  
-<note important>**El subagente no ve tu conversación.** Todo lo que necesita le tiene que llegar en el prompt o estar en su fichero. «Revisa lo que hemos hablado» no funciona; «revisa ''specs/pedidos.md''» sí.</note>+<sxh markdown;title:.opencode/agents/verificador-tests.md> 
 +--- 
 +description: Comprueba que cada requisito de una spec tiene un test que lo cita y 
 +  que pasa. Usar después de implementar una funcionalidad, antes del commit. 
 +mode: subagent 
 +model: anthropic/claude-haiku-5-5 
 +permission: 
 +  edit: deny 
 +  bash: 
 +    "*": deny 
 +    "./mvnw *": allow 
 +--- 
 + 
 +Antes de empezar, carga la skill requisitos. 
 + 
 +# Verificador de tests 
 +... 
 +</sxh> 
 + 
 +  * **''mode''**: ''subagent'' para que solo lo lance otro agente; ''primary'' para que sea un agente principal como Plan y Build. **Si no se pone, vale para las dos cosas**: aparece entre los principales al pulsar ''Tab''. 
 +  * **''model''**: con el proveedor delante, ''proveedor/modelo'', igual que en ''/models''. 
 +  * **''permission''**: cada herramienta a ''allow'', ''ask'' o ''deny''. En ''bash'' se puede ir orden a orden: primero ''"*"'' y después las excepciones, porque **gana la última regla que encaja**. 
 +  * **La //skill//** no se puede cargar desde el frontmatter: se le pide en la primera línea del cuerpo. 
 + 
 +Como principal, se pone ''mode: primary'' y se cambia a él con ''Tab'', como a Plan y Build.
  
 ---- ----
  
-===== 4. Coordinar subagentes =====+===== 5. Crear un agente en Claude Code ===== 
 + 
 +Va en ''.claude/agents/<nombre>.md''. ''/agents'' lo crea con preguntas, pero a mano es igual de rápido. 
 + 
 +<sxh markdown;title:.claude/agents/verificador-tests.md> 
 +--- 
 +name: verificador-tests 
 +description: Comprueba que cada requisito de una spec tiene un test que lo cita y 
 +  que pasa. Usar después de implementar una funcionalidad, antes del commit. 
 +tools: Read, Grep, Bash 
 +model: haiku 
 +skills: 
 +  - requisitos 
 +--- 
 + 
 +# Verificador de tests 
 +... 
 +</sxh> 
 + 
 +  * **''name''**: obligatorio, el nombre con el que se lanza. 
 +  * **''tools''**: la lista de herramientas que puede usar. 
 +  * **''model''**: ''haiku'', ''sonnet'', ''opus'' o ''inherit'' (el del principal). 
 +  * **''skills''**: las //skills// que se cargan **enteras** al arrancar. Así recibe el conocimiento sin llevarlo dentro. 
 + 
 +Como principal, para que toda la sesión siga su rol y pueda coordinar a otros: 
 + 
 +<sxh bash> 
 +claude --agent orquestador 
 +</sxh> 
 + 
 +---- 
 + 
 +===== 6. Coordinar subagentes =====
  
 Un agente que reparte el trabajo entre subagentes lo dice con números y con el orden: Un agente que reparte el trabajo entre subagentes lo dice con números y con el orden:
Línea 106: Línea 153:
 ---- ----
  
-===== 5. Cuándo para =====+===== 7. Cuándo para =====
  
 Un agente sin límite da vueltas hasta gastar el plan. Siempre: Un agente sin límite da vueltas hasta gastar el plan. Siempre:
Línea 116: Línea 163:
 ---- ----
  
-===== 6. Scripts =====+===== 8. Scripts =====
  
 Un agente también ejecuta scripts para lo determinista. Como no tiene carpeta, los scripts viven en el ''scripts/'' de una //skill// y el agente los ejecuta con el comando exacto. Cómo se escriben y se citan: [[cursos:sdd:08-skills#scripts|scripts]]. Un agente también ejecuta scripts para lo determinista. Como no tiene carpeta, los scripts viven en el ''scripts/'' de una //skill// y el agente los ejecuta con el comando exacto. Cómo se escriben y se citan: [[cursos:sdd:08-skills#scripts|scripts]].
- 
----- 
- 
-===== 7. Cómo se ejecuta ===== 
- 
-Como subagente se lanza igual que los que trae la herramienta: [[cursos:sdd:03-claude-code#como_se_lanza|Claude Code]], [[cursos:sdd:03-opencode#como_se_lanza|OpenCode]]. Un agente que coordina a otros también se puede usar **como agente principal**, para que toda la sesión siga su rol: 
- 
-  * En Claude Code: 
-<sxh bash> 
-claude --agent orquestador 
-</sxh> 
-  * En OpenCode, con ''mode: primary'' en el frontmatter: aparece junto a Plan y Build y se cambia a él con ''Tab''. 
  
 ---- ----
cursos/sdd/07-agentes.txt · Última modificación: por claude