name: context-stages description: Ábrelo para una tarea larga o de múltiples etapas con el mod editor-de-contexto: cuándo abrir y cerrar etapas, cómo comprimir un bloque terminado, la marca de optimización, la telemetría, y qué significan las líneas «Later, tu context_…» o «[context-editor]».
Gestionando tu contexto por etapas
El mod editor-de-contexto te permite editar tu propia conversación. Tú decides cuándo limpiar, según el estado lógico del trabajo. La atención se degrada a medida que el contexto crece: comprime lo procesado una vez que una pieza de trabajo está hecha. La compactación automática del host es solo una red de seguridad.
Herramientas: context_tag, context_list, context_edit, context_note. Reglas de curación (lecciones de fallos, correcciones, citas, elementos de estado, filas del host): context_list con "rules": true.
Etapas
Una etapa es un bloque lógico de tu trabajo: una fase, una subtarea, una corrección.
- Ábrela al inicio del bloque:
{"tags":[{"op":"open","stage":"leer los archivos de configuración"}]}. El bloque comienza con la respuesta que lo abre; con"index"comienza en esa fila decontext_list. - Ciérrala cuando el bloque esté terminado y su resultado sea conocido:
{"tags":[{"op":"close"}]}. El resultado nombra las filas del bloque#a..#b, su tamaño y medios, candidatos de limpieza, la telemetría y el consejo. Sus índices son actuales: puedes editar por ellos inmediatamente. - Las etapas son planas: abrir una etapa cierra primero la que esté abierta.
- Para cerrar un bloque que nunca abriste:
{"tags":[{"op":"open","stage":"<nombre>","index":<su primera fila>},{"op":"close"}]}. context_listmuestra[stage ▶ nombre]en la primera fila de la etapa abierta,[block ▶ nombre]..[block end]alrededor del último bloque cerrado.
Comprimiendo un bloque
Después de cerrar, revisa el bloque como un todo y encola UNA context_edit para lo que en él esté procesado o sea excesivo: salidas de herramientas que ya usaste, lecturas repetidas y obsoletas, callejones sin salida, medios que ya has visto (una descripción, si la tarea lo permite: summarize para un resultado de herramienta, describe para una imagen, documento o texto pegado en el prompt de la persona, cuyas palabras escritas se quedan textuales; los archivos adjuntos que el host añadió a ese prompt, como contenidos de archivos desde @path y recordatorios, van con él, así que relee archivos si es necesario). Si nada necesita comprimirse, no encolas nada.
Escribe un registro de etapa en lugar de las filas procesadas, p.ej., como resumen de un collapse:
- objetivo de la etapa;
- decisiones, con la razón, las palabras textuales de la persona detrás de ellas y por qué otras opciones fueron rechazadas;
- hechos verificados con sus fuentes (rutas, números de línea, versiones, URLs);
- artefactos cambiados (archivos, commits, configuraciones);
- preguntas abiertas.
Los pares marcados con ~ en context_list (Read, Grep, Glob) son reproducibles: redúcelos a un puntero (qué, dónde, qué se encontró; lee de nuevo si es necesario). Todo lo demás necesita un resumen cuidadoso o se queda: sondeos en vivo, informes de subagentes, contenido web. Los mensajes de la persona, incluidas las respuestas a tus preguntas (AskUserQuestion), se quedan textuales en esta sesión: context_edit y context_tag rechazan una edición que los cubra; divide el rango alrededor de ellos.
Normalmente mantén textuales las reglas y habilidades aún vigentes y las conclusiones que necesites a continuación. Un objetivo [pin] no se puede editar; los pines son tuyos para establecer y eliminar (el mod solo fija el documento de un traspaso o resumen semilla).
Las ediciones se aplican cuando termina tu turno: termínalo con un estado de una línea, y la sesión continúa por sí sola (context_edit da las opciones). Una aplicación reescribe la caché de prompt una vez: agrupa las ediciones de un bloque en una sola llamada. "keep_cache": true la mantiene hasta la edición más temprana si está dentro de las últimas ~20 posiciones cuando termina el turno (línea Cache:). Tus llamadas context_* abandonan la conversación; las etiquetas y notas permanecen.
Callejones sin salida
Cuando abandones una rama, márcala de inmediato: etiqueta el tramo como disposable con una nota, {"op":"add","kind":"disposable","index":<primera fila>,"to":<última fila>,"note":"callejón sin salida: X falla porque Y"} (el rango contiene cada llamada de herramienta con su resultado; context_tag avisa cuando cubre mensajes de la persona). También funciona una sola fila de texto tuya o una salida por ref/tool_use_id. Los reemplazos se encolan cuando cierras la etapa o avanzas desde un bloque que marcaste; un rango se convierte en un collapse.
Marca de optimización
Cuando terminas tu turno para la persona y el bloque está hecho, finaliza tu respuesta con esta línea, sola en su línea:
[context-editor: optimize]
- Solo sola en la última línea no vacía; en medio del texto, compartiendo su línea o en el turno
/compactno hace nada. - Cierra la etapa abierta (si ninguna: el bloque desde el último cerrado; una etapa cerrada por la herramienta en ese turno sigue siendo el bloque). El bloque entonces espera; nada se comprime.
- El siguiente prompt nombra el bloque: comprímelo en ese turno si el trabajo pasa a la siguiente etapa, si no, déjalo. Abrir una etapa lo reporta con índices; eso o una
context_editaceptada terminan la espera y encolan tus reemplazosdisposable. - Siguiendo un plan por tu cuenta: abre una etapa por fase; en la siguiente comprime el bloque anterior y termina el turno con una línea de estado; la sesión continúa. A medio trabajo, cierra etapas mediante la herramienta.
Telemetría
context_list con "count":0 da solo el encabezado (su descripción enumera las líneas). Effect: … M relectura(s) de contenido comprimido: muchas significan que comprimes demasiado. Los tamaños son estimaciones calibradas (approx. hasta que se conoce). Una línea [context-editor: suggestion] (a medida que el contexto crece, o con el siguiente prompt de la persona después de mucha lectura) propone un lote con ganancia, costo de caché y veredicto; solo informa. Decide por el estado del trabajo, no por los números.
Candidatos
[review: big]salida grande;[review: search]resultado de búsqueda (después de unos turnos);[review: stale]una lectura de un archivo que has editado desde entonces: su contenido está desactualizado, redúcelo a un puntero;[review: superseded]una lectura de un archivo cuya lectura posterior mostró contenido cambiado: también desactualizado;[review: duplicate]una copia anterior de la misma salida o rango de lectura: elimínalo o redúcelo;[review: agent]tu propio marcador (opcionalttl_turns). Una revisión sugiere una mirada, no una edición.[disposable: note]: tu propio reemplazo (ver Callejones sin salida).
El informe de cierre enumera los candidatos del bloque por motivo, cuenta sus pares ~ y proporciona textos de reemplazo listos para lecturas desactualizadas y duplicadas.
Ranura de estado
Mantén el estado de la tarea (objetivo, plan, hecho, siguiente) en UNA de tus propias filas de texto etiquetada como state: {"tags":[{"op":"add","kind":"state","index":<fila>}]}. Actualízala en su lugar con una rewrite de esa fila, nunca añadiendo un nuevo estado al final. O mantenlo como elementos: context_edit con {"op":"state","changes":[{"do":"add","kind":"plan","text":"…"}]} (set, mark dañino/desactualizado, unmark, remove por id como p3); la aplicación reconstruye la ranura a partir de ellos, y mientras tenga elementos solo la operación state la cambia. La etiqueta sigue a la fila reconstruida. Una nueva etiqueta state mueve la ranura. Cada actualización es una aplicación: hazla junto con las ediciones de un bloque, no por sí sola.
Notas
context_note mantiene notas sin costo de tokens (su descripción da las operaciones y dónde se muestran).
- Marca de inmediato qué descartar o comprimir después, y cómo:
{"notes":[{"op":"add","ref":"last","text":"descartar después de verificar la corrección"}]}. "remind_in_turns":2trae de vuelta una nota una vez, dos turnos después. Vincula filas por lo que contienen.
Escribe sobre el contenido, no números de fila: los índices cambian después de una aplicación. Un cierre de etapa enumera las notas en su bloque.
Filas comprimidas y textos del mod
El texto que comienza con Later, tu context_edit (o context_tag) es tu propio reemplazo: leíste el original allí, luego lo comprimiste para ahorrar contexto. Tú hiciste el reemplazo; la fuente que nombra (the full output of Read docs/x.md) dice de dónde vino su contenido. Antes de llamar inventado a algo que hay en él, abre el archivo.
… summarize call replaced the full output of <source> you had read here …,… collapse call replaced these N rows you had read (what they held) …(su entradacollapsedde la llamada enumera lo mismo), e igualmenterewrite,describe: tu texto sigue a los dos puntos. Después de undescribeen un prompt de la persona, su propio texto sigue al tuyo. Los más antiguos leen[context-editor] you read …, then replaced ….(original: <path>, open with Read),(media: <path>),media carried as files: el archivo.Readsolo lo que necesites; vuelve al final de la conversación.- El texto que comienza con
[context-editorocontext-editor:es del mod, no de la persona o una herramienta.context-editor: applied N edit(s): …: el informe de aplicación; las llamadascontext_*que hicieron los reemplazos se eliminan, sin embargo lo que citaste de sus resultados es real. Una fila/compactcuyos argumentos comienzan concontext-editor:es un comando del mod;… repair the resumed conversation …: el mod eliminó respuestas que una reanudación había cargado dos veces; el pensamiento anterior se ha ido. id cN,reminder from your note nN,[context-editor: suggestion],[context-editor: N chars cut], un prompt de reanudación que estableciste, el turno/compact, un documento de traspaso: textos de servicio del mod.