TuBrief
구독 채널
비디오
커뮤니티

Cómo dividir prompts gigantes para reducir el desperdicio de tokens en agentes

TuBrief 편집팀
2026년 3월 14일
0
Computing/Software

원본 영상을 바탕으로 AI의 도움을 받아 작성했습니다. 원본 영상이 기준입니다.

Español한국어English中文العربيةहिन्दीDeutschFrançaisPortuguêsРусскийBahasa Indonesia日本語

관련 영상

▲ Sesión comunitaria: Cómo crear y publicar habilidades1:03:28

▲ Sesión comunitaria: Cómo crear y publicar habilidades

Vercel

커뮤니티의 다른 글

사내 시스템에 llm api 붙일 때 마주하는 현실적인 한계와 대응법

2026년 9월 13일

레거시 백엔드에 GPT-6 Astra 붙일 때 예산 승인과 보안 통과를 먼저 끝내는 법이 있습니다

2026년 9월 13일

에이전트끼리 대화하다 6천만 원 청구서가 나오는 이유

2026년 9월 13일

사내 RAG 벡터 검색에 Okta 권한 필터를 직접 거는 방법

2026년 9월 13일

브라우저 에이전트에게 내 구글 계정을 통째로 넘기면 안 되는 이유

2026년 9월 12일

Apple Won the AI Race

2026년 9월 12일

댓글 (0)

Log in to leave a comment

아직 작성된 글이 없습니다

© 2026 . All rights reserved.

TuBrief
구독 채널
비디오
커뮤니티
로그인

Cómo dividir prompts gigantes para reducir el desperdicio de tokens en agentes

Una estructura monolítica que agrupa todo tipo de guías y herramientas en un solo prompt de sistema muestra sus limitaciones rápidamente. Con solo alargar un poco la conversación, el agente olvida las instrucciones ubicadas a mitad del prompt. Los costos de inferencia se disparan debido a la retransmisión redundante de decenas de miles de tokens en cada solicitud, y hay que esperar un largo rato hasta que aparece el primer token.

En la práctica, este problema se resuelve con una estructura de carga contextual por etapas basada en el estándar abierto agentskills.io. El método consiste en invocar el skill adecuado solo en el momento necesario para ahorrar tokens.

Criterios para separar en archivos Markdown de skills independientes

Los prompts de sistema monolíticos deben dividirse según los límites del dominio, los permisos de ejecución de herramientas y la frecuencia de ejecución. Para evitar que los skills entren en conflicto durante la búsqueda por similitud de embeddings, se deben mantener tres o menos skills activos simultáneamente en una sola sesión.

En la parte superior de cada archivo de skill separado, se debe incluir un frontmatter en YAML que especifique un identificador (usando solo guiones, letras minúsculas en inglés y números) y el propósito operativo.

`yaml

name: backend-api-generator
description: Generates Spring Boot REST API controller and service boilerplate code. Use when the user asks to create API endpoints, build REST controllers, or define DTO mappings for backend services.
when_to_use:

  • User requests new REST API endpoint creation
  • User provides database schema and asks for controller layer implementation
  • Do NOT use for: database migration SQL, frontend component generation
    allowed-tools:
  • read_file
  • write_file
  • list_directory
    effort: medium

`

El proceso para crear una estructura de carga por etapas es sencillo:

  • Al inicializar el agente, solo se cargan en el prompt los metadatos del frontmatter en YAML de todos los skills dentro del directorio (aproximadamente 100 tokens por skill).
  • Cuando llega una solicitud del usuario, se compara la similitud semántica con las descripciones de los skills para cargar de forma dinámica únicamente el cuerpo del skill necesario.
  • En la fase de ejecución, se ejecutan los scripts auxiliares requeridos según las instrucciones del cuerpo y solo se incluyen los resultados en el contexto.

Al cambiar una estructura monolítica que ocupaba constantemente de 15,000 a 30,000 tokens a una estructura de carga diferida SKILL.md, la sobrecarga inicial de tokens se reduce en más del 90%. Según los datos de pruebas internas de Anthropic, es posible acortar la latencia p95 del 12% al 40% y disminuir el consumo promedio de tokens por conversación en un 29.6%.

Restricciones internas para prevenir la contaminación del contexto

Cuando se cargan múltiples skills en cadena, es frecuente que las instrucciones del skill anterior permanezcan en la sesión y distorsionen la tarea siguiente. Para las inspecciones de alto riesgo o las tareas que generan muchos registros, es necesario configurar una bifurcación de contexto (context: fork) en el frontmatter YAML para aislar el proceso a nivel de sistema.

`yaml

name: security-vulnerability-auditor
description: Audits backend source code for OWASP top 10 security flaws. Use when auditing code security or checking for SQL injection vulnerabilities.
context: fork
model: claude-sonnet-4-20250514
effort: high

`

Tampoco se puede omitir la definición clara de contratos de datos (Data Contracts) para las entradas y salidas.

  • Se declaran la estructura de argumentos y la lista de herramientas permitidas (allowed-tools) en los metadatos YAML para prevenir ejecuciones arbitrarias de Bash o llamadas de red indiscriminadas.
  • Se especifican reglas para un esquema de salida en formato JSON puro sin envoltorios de Markdown dentro del cuerpo.
  • Se limitan las instrucciones para que solo devuelvan el resultado final a la sesión de conversación.

`markdown

Output Schema Contract

All responses must strictly adhere to the following JSON structure without markdown wrapping:
{
"status": "SUCCESS" | "FAILED",
"generated_files": [
{
"path": "string",
"content": "string"
}
],
"error_message": "string | null"
}

`

Aislar los procesos secundarios evita que los registros de llamadas a herramientas inunden la sesión principal. Al mantenerse limpia la sesión de conversación principal, también se reduce la probabilidad de errores al transferir datos entre subagentes.

Diseño de código defensivo para bloquear bucles infinitos

Si los requisitos son ambiguos o se repiten los errores en las llamadas a herramientas, el agente cae en un bucle de reintentos infinitos. Es en esos momentos cuando decenas de dólares en costos de API desaparecen en cuestión de minutos. Incluir una lista de verificación de verificación estática paso a paso (Verification Checklist) en el cuerpo del archivo de skill permite que el agente realice autoverificaciones antes de dar la tarea por terminada.

`markdown

Execution & Self-Testing Protocol

Before declaring the task finished, you MUST sequentially execute the following verification checklist:

  1. [Pre-check] Verify that all required input parameters are present. If mandatory arguments are missing, STOP immediately and ask the developer for input.
  2. [Generation] Write the requested implementation code.
  3. [Syntax Verification] Check the written code for missing imports, unresolved symbols, and syntax errors.
  4. [Self-Correction] If a syntax error is identified, attempt correction ONCE. Do not re-run the file write tool more than twice for the same error.

`

La forma de escribir un cortafuegos o disyuntor (Circuit Breaker) que detenga físicamente los bucles también es sencilla:

  • Se especifica el número máximo de llamadas a herramientas (MAXIMUM_TOOL_CALL_LIMIT: 3) en la parte superior del skill.
  • Se anotan restricciones para detener llamadas adicionales a herramientas si el mismo código de error ocurre dos veces seguidas.
  • Se indica que, al cumplirse la condición de parada, se debe detener la ejecución de inmediato y mostrar una plantilla de notificación.

`markdown
[SKILL EXECUTION HALTED]
Skill Name: backend-api-generator
Failure Reason: [Brief error description]
Attempts Made: [Number of retries]
Suggested Action: [Action required by backend developer]

`

Para tareas peligrosas como la eliminación de archivos o el borrado de bases de données, es más seguro configurar la opción disable-model-invocation: true. Esto evita que el agente los invoque por su cuenta y limita su ejecución únicamente a cuando el desarrollador introduce manualmente el comando de barra diagonal (/skill-name).

Versionado y despliegue en un repositorio compartido del equipo

Cuando los miembros del equipo escriben skills en conjunto, deben seguir la arquitectura de directorios estándar de agentskills.io para no sufrir con conflictos en los archivos Markdown. Dentro de la carpeta principal se dividen y organizan claramente el cuerpo, los scripts de CLI, la documentación de referencia y los recursos de plantillas estáticas.

Ruta de directorio y archivo Rol Guía de redacción
skills/api-generator/SKILL.md Documento de punto de entrada obligatorio Incluye el frontmatter YAML y las instrucciones de procedimientos clave (menos de 500 líneas)
skills/api-generator/scripts/ Carpeta de código ejecutable Ubicación de los scripts CLI en Python/Bash que el agente invoca si es necesario
skills/api-generator/references/ Carpeta de documentación de referencia auxiliar Contiene especificaciones de API grandes, esquemas de BD y documentos de guías de estilo
skills/api-generator/assets/ Carpeta de plantillas de recursos estáticos Almacena código repetitivo (boilerplate) generado y muestras de archivos de configuración

Para verificar la calidad de los skills, se utiliza el framework de evaluación promptfoo.

  • Se especifican la ruta del SKILL.md sujeto a prueba y el modelo LLM en el archivo promptfooconfig.yaml.
  • Se redactan casos de prueba que validen la coincidencia de intenciones y el cumplimiento del formato JSON.
  • Se ejecuta el comando npx promptfoo@latest eval en la terminal para medir la tasa de cumplimiento de las instrucciones.

`yaml
description: "Backend Agent Skills Validation Suite"
prompts:

  • "file://skills/api-generator/SKILL.md"
    providers:
  • id: "anthropic:messages:claude-3-5-sonnet-20241022"
    tests:
  • description: "Test automatic skill activation for REST API generation query"
    vars:
    user_query: "Create a Spring Boot REST Controller for User Management."
    assert:
    • type: icontains
      value: "backend-api-generator"
    • type: javascript
      value: "output.includes('@RestController') && output.includes('ResponseEntity')"

`

Al realizar despliegues, se combina una estrategia de desarrollo basada en troncos (trunk-based development) utilizando ramas de corta duración con etiquetas Git (v1.2.0). Si el agente se comporta de manera errónea en producción, es posible regresar de inmediato al punto anterior ejecutando el comando git checkout tags/v1.1.0 -b hotfix/rollback.