Entendiendo los prompts del sistema
Un prompt del sistema es el conjunto de instrucciones inicial que moldea cómo se comporta Claude a lo largo de una conversación.Comportamiento predeterminado: El SDK del Agente usa un prompt del sistema vacío por defecto para máxima flexibilidad. Para usar el prompt del sistema de Claude Code (instrucciones de herramientas, pautas de código, etc.), especifica
systemPrompt: { preset: "claude_code" } en TypeScript o system_prompt="claude_code" en Python.- Instrucciones de uso de herramientas y herramientas disponibles
- Pautas de estilo y formato de código
- Configuraciones de tono de respuesta y verbosidad
- Instrucciones de seguridad y protección
- Contexto sobre el directorio de trabajo actual y el entorno
Métodos de modificación
Método 1: Archivos CLAUDE.md (instrucciones a nivel de proyecto)
Los archivos CLAUDE.md proporcionan contexto e instrucciones específicas del proyecto que son leídas automáticamente por el SDK del Agente cuando se ejecuta en un directorio. Sirven como “memoria” persistente para tu proyecto.Cómo funciona CLAUDE.md con el SDK
Ubicación y descubrimiento:- Nivel de proyecto:
CLAUDE.mdo.claude/CLAUDE.mden tu directorio de trabajo - Nivel de usuario:
~/.claude/CLAUDE.mdpara instrucciones globales en todos los proyectos
settingSources (TypeScript) o setting_sources (Python):
- Incluye
'project'para cargar CLAUDE.md a nivel de proyecto - Incluye
'user'para cargar CLAUDE.md a nivel de usuario (~/.claude/CLAUDE.md)
claude_code NO carga automáticamente CLAUDE.md - también debes especificar fuentes de configuración.
Formato de contenido:
Los archivos CLAUDE.md usan markdown plano y pueden contener:
- Pautas y estándares de codificación
- Contexto específico del proyecto
- Comandos o flujos de trabajo comunes
- Convenciones de API
- Requisitos de pruebas
Ejemplo de CLAUDE.md
Usando CLAUDE.md con el SDK
Cuándo usar CLAUDE.md
Mejor para:- Contexto compartido del equipo - Pautas que todos deben seguir
- Convenciones del proyecto - Estándares de codificación, estructura de archivos, patrones de nomenclatura
- Comandos comunes - Comandos de build, test, deploy específicos de tu proyecto
- Memoria a largo plazo - Contexto que debe persistir en todas las sesiones
- Instrucciones controladas por versión - Hacer commit a git para que el equipo se mantenga sincronizado
- ✅ Persistente en todas las sesiones de un proyecto
- ✅ Compartido con el equipo vía git
- ✅ Descubrimiento automático (no se necesitan cambios de código)
- ⚠️ Requiere cargar configuraciones vía
settingSources
Método 2: Estilos de salida (configuraciones persistentes)
Los estilos de salida son configuraciones guardadas que modifican el prompt del sistema de Claude. Se almacenan como archivos markdown y pueden reutilizarse en sesiones y proyectos.Creando un estilo de salida
Usando estilos de salida
Una vez creados, activa los estilos de salida vía:- CLI:
/output-style [nombre-estilo] - Configuraciones:
.claude/settings.local.json - Crear nuevo:
/output-style:new [descripción]
settingSources: ['user'] o settingSources: ['project'] (TypeScript) / setting_sources=["user"] o setting_sources=["project"] (Python) en tus opciones.
Método 3: Usando systemPrompt con append
Puedes usar el preset de Claude Code con una propiedad append para agregar tus instrucciones personalizadas mientras preservas toda la funcionalidad incorporada.
Método 4: Prompts del sistema personalizados
Puedes proporcionar una cadena personalizada comosystemPrompt para reemplazar completamente el predeterminado con tus propias instrucciones.
Comparación de los cuatro enfoques
| Característica | CLAUDE.md | Estilos de Salida | systemPrompt con append | systemPrompt Personalizado |
|---|---|---|---|---|
| Persistencia | Archivo por proyecto | Guardado como archivos | Solo sesión | Solo sesión |
| Reutilización | Por proyecto | Entre proyectos | Duplicación de código | Duplicación de código |
| Gestión | En sistema de archivos | CLI + archivos | En código | En código |
| Herramientas predeterminadas | Preservadas | Preservadas | Preservadas | Perdidas (a menos que se incluyan) |
| Seguridad incorporada | Mantenida | Mantenida | Mantenida | Debe agregarse |
| Contexto del entorno | Automático | Automático | Automático | Debe proporcionarse |
| Nivel de personalización | Solo adiciones | Reemplazar predeterminado | Solo adiciones | Control completo |
| Control de versiones | Con proyecto | Sí | Con código | Con código |
| Alcance | Específico del proyecto | Usuario o proyecto | Sesión de código | Sesión de código |
systemPrompt: { type: "preset", preset: "claude_code", append: "..." } en TypeScript o system_prompt={"type": "preset", "preset": "claude_code", "append": "..."} en Python.
Casos de uso y mejores prácticas
Cuándo usar CLAUDE.md
Mejor para:- Estándares y convenciones de codificación específicos del proyecto
- Documentar estructura y arquitectura del proyecto
- Listar comandos comunes (build, test, deploy)
- Contexto compartido del equipo que debe estar controlado por versión
- Instrucciones que se aplican a todo el uso del SDK en un proyecto
- “Todos los endpoints de API deben usar patrones async/await”
- “Ejecutar
npm run lint:fixantes de hacer commit” - “Las migraciones de base de datos están en el directorio
migrations/”
settingSources: ['project'] (TypeScript) o setting_sources=["project"] (Python). El preset del prompt del sistema claude_code NO carga automáticamente CLAUDE.md sin esta configuración.
Cuándo usar estilos de salida
Mejor para:- Cambios de comportamiento persistentes entre sesiones
- Configuraciones compartidas del equipo
- Asistentes especializados (revisor de código, científico de datos, DevOps)
- Modificaciones complejas de prompt que necesitan versionado
- Crear un asistente dedicado de optimización SQL
- Construir un revisor de código enfocado en seguridad
- Desarrollar un asistente de enseñanza con pedagogía específica
Cuándo usar systemPrompt con append
Mejor para:
- Agregar estándares o preferencias de codificación específicos
- Personalizar formato de salida
- Agregar conocimiento específico del dominio
- Modificar verbosidad de respuesta
- Mejorar el comportamiento predeterminado de Claude Code sin perder instrucciones de herramientas
Cuándo usar systemPrompt personalizado
Mejor para:
- Control completo sobre el comportamiento de Claude
- Tareas especializadas de una sola sesión
- Probar nuevas estrategias de prompt
- Situaciones donde las herramientas predeterminadas no son necesarias
- Construir agentes especializados con comportamiento único
Combinando enfoques
Puedes combinar estos métodos para máxima flexibilidad:Ejemplo: Estilo de salida con adiciones específicas de sesión
Ver también
- Estilos de salida - Documentación completa de estilos de salida
- Guía del SDK TypeScript - Guía completa de uso del SDK
- Referencia del SDK TypeScript - Documentación completa de la API
- Guía de configuración - Opciones generales de configuración