cursos:sdd:07-agentes
Diferencias
Muestra las diferencias entre dos versiones de la página.
| Próxima revisión | Revisión previa | ||
| cursos:sdd:07-agentes [2026/10/26 14:14] – Nuevo tema: Agentes, con lo que había en Skills, Agentes y MCP claude | cursos: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 1: | Línea 1: | ||
| ====== Agentes ====== | ====== Agentes ====== | ||
| - | Qué es un agente está en [[cursos: | + | Qué es un agente está en [[cursos: |
| ---- | ---- | ||
| Línea 9: | Línea 9: | ||
| En este curso los agentes aparecen de dos formas: | En este curso los agentes aparecen de dos formas: | ||
| - | * **El agente | + | * **El agente |
| * **Los subagentes**: | * **Los subagentes**: | ||
| - | ===== 2. Montar | + | ---- |
| + | |||
| + | ===== 2. Agente o skill ===== | ||
| + | |||
| + | El agente **organiza el trabajo**: quién lo hace, con qué herramientas, | ||
| + | |||
| + | <sxh plain> | ||
| + | ✅ Antes de revisar, carga la skill servicios. | ||
| + | ❌ Los servicios lanzan ErrorDeNegocio, | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== 3. El cuerpo del agente ===== | ||
| + | |||
| + | Un agente es **un solo fichero '' | ||
| + | |||
| + | * **Rol**: quién es y **qué sesgo evita**. Un revisor que no se fía del resumen de quien implementó. | ||
| + | * **Entradas**: | ||
| + | * **Proceso**: | ||
| + | * **Criterios**: | ||
| + | * **Salida**: formato cerrado, con las palabras exactas ('' | ||
| + | |||
| + | <sxh markdown> | ||
| + | # Verificador de tests | ||
| + | |||
| + | Comprueba que cada requisito de la spec está cubierto por un test que pasa. | ||
| + | |||
| + | ## Rol | ||
| + | Eres un verificador. No arreglas nada: solo dices qué falta. | ||
| + | No te fíes del resumen de quien implementó: | ||
| + | |||
| + | ## Entradas | ||
| + | Te llegan en el prompt: | ||
| + | - `spec`: ruta del fichero de requisitos. | ||
| + | - `modulo`: módulo Maven donde están los tests. | ||
| + | |||
| + | ## Proceso | ||
| + | 1. Saca los identificadores de la spec (`R-1`, `R-2`...). | ||
| + | 2. Busca en `src/test` el test que cita cada uno. | ||
| + | 3. Ejecuta `./mvnw -pl < | ||
| + | |||
| + | ## Criterios | ||
| + | - OK: todos los requisitos tienen un test que lo cita y todos pasan. | ||
| + | - Fallo: un requisito sin test o un test que falla. | ||
| + | - En la duda: fallo. | ||
| + | |||
| + | ## Salida | ||
| + | Primera línea, exactamente `DONE` o `BLOCKED`. | ||
| + | Si es `BLOCKED`, una línea por problema: `R-12: sin test`. | ||
| + | </ | ||
| + | |||
| + | <note important> | ||
| + | |||
| + | En el frontmatter de las dos herramientas hay tres decisiones que se toman igual: | ||
| + | |||
| + | * **'' | ||
| + | * **Herramientas**: | ||
| + | * **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. | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== 4. Crear un agente en OpenCode ===== | ||
| + | |||
| + | Va en '' | ||
| + | |||
| + | <sxh markdown; | ||
| + | --- | ||
| + | description: | ||
| + | que pasa. Usar después de implementar una funcionalidad, | ||
| + | mode: subagent | ||
| + | model: anthropic/ | ||
| + | permission: | ||
| + | edit: deny | ||
| + | bash: | ||
| + | " | ||
| + | " | ||
| + | --- | ||
| + | |||
| + | Antes de empezar, carga la skill requisitos. | ||
| + | |||
| + | # Verificador de tests | ||
| + | ... | ||
| + | </ | ||
| + | |||
| + | * **'' | ||
| + | * **'' | ||
| + | * **'' | ||
| + | * **La //skill//** no se puede cargar desde el frontmatter: | ||
| + | |||
| + | Como principal, se pone '' | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== 5. Crear un agente en Claude Code ===== | ||
| + | |||
| + | Va en '' | ||
| + | |||
| + | <sxh markdown; | ||
| + | --- | ||
| + | name: verificador-tests | ||
| + | description: | ||
| + | que pasa. Usar después de implementar una funcionalidad, | ||
| + | tools: Read, Grep, Bash | ||
| + | model: haiku | ||
| + | skills: | ||
| + | - requisitos | ||
| + | --- | ||
| + | |||
| + | # Verificador de tests | ||
| + | ... | ||
| + | </ | ||
| + | |||
| + | * **'' | ||
| + | * **'' | ||
| + | * **'' | ||
| + | * **'' | ||
| + | |||
| + | Como principal, para que toda la sesión siga su rol y pueda coordinar a otros: | ||
| + | |||
| + | <sxh bash> | ||
| + | claude --agent orquestador | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== 6. Coordinar subagentes ===== | ||
| + | |||
| + | Un agente que reparte el trabajo entre subagentes lo dice con números y con el orden: | ||
| + | |||
| + | * **En paralelo**: cuántos exactamente y que se lancen **en una sola respuesta**. «Lanza 3 subagentes en paralelo, uno por módulo». | ||
| + | * **En serie** si alguno puede necesitar preguntarte algo: dos preguntas a la vez no se pueden contestar. | ||
| + | * **Los que van en paralelo no preguntan**: | ||
| + | * **Vuelven con poco**: el estado y un resumen corto, o la ruta del fichero que han escrito. El contenido entero llenaría la ventana del principal, que es justo lo que se quería evitar. | ||
| + | |||
| + | En Claude Code un subagente puede lanzar a su vez otros subagentes, hasta tres niveles por debajo del principal. | ||
| + | |||
| + | <note warning> | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== 7. Cuándo para ===== | ||
| + | |||
| + | Un agente sin límite da vueltas hasta gastar el plan. Siempre: | ||
| + | |||
| + | * **Un criterio de terminado comprobable**: | ||
| + | * **Un límite de vueltas**: «máximo 3 intentos de corrección; | ||
| + | * **Cuándo parar y preguntar**: | ||
| + | |||
| + | ---- | ||
| - | Montar un agente es decidir cuatro cosas, y ninguna es el prompt: | + | ===== 8. Scripts ===== |
| - | - **Qué herramientas** puede usar, y cuáles no. | + | Un agente también ejecuta scripts para lo determinista. Como no tiene carpeta, los scripts viven en el '' |
| - | - **Cuándo para**: el criterio de terminado, comprobable ([[cursos: | + | |
| - | - **Qué presupuesto** tiene: vueltas, tiempo, dinero. | + | |
| - | - **Qué pasa cuando falla** un paso: reintento, vuelta atrás o persona. | + | |
| ---- | ---- | ||
| Línea 25: | Línea 171: | ||
| ===== Fuentes ===== | ===== Fuentes ===== | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| * [[https:// | * [[https:// | ||
cursos/sdd/07-agentes.1793020481.txt.gz · Última modificación: por claude
