La herramienta de memoria está actualmente en beta. Para habilitarla, usa el encabezado beta
context-management-2025-06-27 en tus solicitudes de API.Por favor, ponte en contacto a través de nuestro formulario de comentarios para compartir tus comentarios sobre esta función.Casos de uso
- Mantener el contexto del proyecto a través de múltiples ejecuciones de agente
- Aprender de interacciones pasadas, decisiones y retroalimentación
- Construir bases de conocimiento a lo largo del tiempo
- Habilitar el aprendizaje entre conversaciones donde Claude mejora en flujos de trabajo recurrentes
Cómo funciona
Cuando está habilitada, Claude verifica automáticamente su directorio de memoria antes de comenzar las tareas. Claude puede crear, leer, actualizar y eliminar archivos en el directorio/memories para almacenar lo que aprende mientras trabaja, luego referenciar esas memorias en conversaciones futuras para manejar tareas similares de manera más efectiva o continuar donde lo dejó.
Dado que esta es una herramienta del lado del cliente, Claude hace llamadas de herramienta para realizar operaciones de memoria, y tu aplicación ejecuta esas operaciones localmente. Esto te da control completo sobre dónde y cómo se almacena la memoria. Por seguridad, deberías restringir todas las operaciones de memoria al directorio /memories.
Ejemplo: Cómo funcionan las llamadas de herramienta de memoria
Cuando le pides a Claude que ayude con una tarea, Claude verifica automáticamente su directorio de memoria primero. Así es como se ve una interacción típica: 1. Solicitud del usuario:Modelos compatibles
La herramienta de memoria está disponible en:- Claude Sonnet 4.5 (
claude-sonnet-4-5-20250929) - Claude Sonnet 4 (
claude-sonnet-4-20250514) - Claude Haiku 4.5 (
claude-haiku-4-5-20251001) - Claude Opus 4.1 (
claude-opus-4-1-20250805) - Claude Opus 4 (
claude-opus-4-20250514)
Comenzando
Para usar la herramienta de memoria:- Incluye el encabezado beta
context-management-2025-06-27en tus solicitudes de API - Agrega la herramienta de memoria a tu solicitud
- Implementa manejadores del lado del cliente para operaciones de memoria
Para manejar operaciones de herramienta de memoria en tu aplicación, necesitas implementar manejadores para cada comando de memoria. Nuestros SDKs proporcionan ayudantes de herramienta de memoria que manejan la interfaz de herramienta—puedes hacer subclases de
BetaAbstractMemoryTool (Python) o usar betaMemoryTool (TypeScript) para implementar tu propio backend de memoria (basado en archivos, base de datos, almacenamiento en la nube, archivos encriptados, etc.).Para ejemplos funcionales, consulta:- Python: examples/memory/basic.py
- TypeScript: examples/tools-helpers-memory.ts
Uso básico
Comandos de herramienta
Tu implementación del lado del cliente necesita manejar estos comandos de herramienta de memoria:view
Muestra el contenido del directorio o el contenido del archivo con rangos de líneas opcionales:create
Crear o sobrescribir un archivo:str_replace
Reemplazar texto en un archivo:insert
Insertar texto en una línea específica:delete
Eliminar un archivo o directorio:rename
Renombrar o mover un archivo/directorio:Guía de prompting
Incluimos automáticamente esta instrucción al prompt del sistema cuando se incluye la herramienta de memoria:Nota: al editar tu carpeta de memoria, siempre trata de mantener su contenido actualizado, coherente y organizado. Puedes renombrar o eliminar archivos que ya no sean relevantes. No crees nuevos archivos a menos que sea necesario.También puedes guiar lo que Claude escribe en la memoria, por ejemplo, “Solo anota información relevante para <tema> en tu sistema de memoria.”
Consideraciones de seguridad
Aquí hay preocupaciones importantes de seguridad al implementar tu almacén de memoria:Información sensible
Claude generalmente se negará a escribir información sensible en archivos de memoria. Sin embargo, es posible que desees implementar una validación más estricta que elimine información potencialmente sensible.Tamaño de almacenamiento de archivos
Considera rastrear los tamaños de archivos de memoria y prevenir que los archivos crezcan demasiado. Considera agregar un número máximo de caracteres que el comando de lectura de memoria puede devolver, y deja que Claude pagine a través del contenido.Expiración de memoria
Considera limpiar archivos de memoria periódicamente que no hayan sido accedidos en un tiempo extendido.Protección contra traversal de rutas
Las entradas de ruta maliciosas podrían intentar acceder a archivos fuera del directorio
/memories. Tu implementación DEBE validar todas las rutas para prevenir ataques de traversal de directorio.- Validar que todas las rutas comiencen con
/memories - Resolver rutas a su forma canónica y verificar que permanezcan dentro del directorio de memoria
- Rechazar rutas que contengan secuencias como
../,..\\, u otros patrones de traversal - Vigilar secuencias de traversal codificadas en URL (
%2e%2e%2f) - Usar las utilidades de seguridad de ruta integradas de tu lenguaje (por ejemplo,
pathlib.Path.resolve()yrelative_to()de Python)
Manejo de errores
La herramienta de memoria usa los mismos patrones de manejo de errores que la herramienta de editor de texto. Los errores comunes incluyen archivo no encontrado, errores de permisos y rutas inválidas.Uso con Edición de Contexto
La herramienta de memoria puede combinarse con edición de contexto, que automáticamente limpia resultados de herramientas antiguos cuando el contexto de conversación crece más allá de un umbral configurado. Esta combinación habilita flujos de trabajo agénticos de larga duración que de otra manera excederían los límites de contexto.Cómo funcionan juntos
Cuando la edición de contexto está habilitada y tu conversación se acerca al umbral de limpieza, Claude automáticamente recibe una notificación de advertencia. Esto impulsa a Claude a preservar cualquier información importante de los resultados de herramientas en archivos de memoria antes de que esos resultados sean limpiados de la ventana de contexto. Después de que los resultados de herramientas son limpiados, Claude puede recuperar la información almacenada de archivos de memoria cuando sea necesario, tratando efectivamente la memoria como una extensión de su contexto de trabajo. Esto permite a Claude:- Continuar flujos de trabajo complejos de múltiples pasos sin perder información crítica
- Referenciar trabajo y decisiones pasadas incluso después de que los resultados de herramientas sean removidos
- Mantener contexto coherente a través de conversaciones que excederían los límites típicos de contexto
- Construir una base de conocimiento a lo largo del tiempo mientras mantiene la ventana de contexto activa manejable
Ejemplo de flujo de trabajo
Considera un proyecto de refactorización de código con muchas operaciones de archivo:- Claude hace numerosas ediciones a archivos, generando muchos resultados de herramientas
- Mientras el contexto crece y se acerca a tu umbral, Claude recibe una advertencia
- Claude resume los cambios hechos hasta ahora en un archivo de memoria (por ejemplo,
/memories/refactoring_progress.xml) - La edición de contexto limpia automáticamente los resultados de herramientas más antiguos
- Claude continúa trabajando, referenciando el archivo de memoria cuando necesita recordar qué cambios ya fueron completados
- El flujo de trabajo puede continuar indefinidamente, con Claude manejando tanto el contexto activo como la memoria persistente