Proyectos / Agent Context Budget

Agent Context Budget

Compara la entrada de ventana completa, el truncamiento, la selección y la compresión extractiva, y mide la pérdida de evidencia por separado de la calidad de las respuestas.

Autor: · Python 3.11.13 · Licencia: MIT

Ficha publicada: · Ficha actualizada:

Repositorio · Evidencia original · Release v0.1.1

Problema y utilidad para agentes

Un registro comprimido puede conservar el identificador de una cita y perder la oración que sustenta su respuesta. El ahorro de tokens por sí solo no demuestra que el contexto sea útil.

Las tareas congeladas con datos tardíos y contradictorios muestran qué políticas pierden evidencia decisiva y si un modelo local pequeño aprovecha lo que queda.

Arquitectura

  1. Congelar el experimento. Las doce tareas ficticias originales y el protocolo de evaluación se guardaron en un commit antes de la inferencia.
  2. Aplicar presupuestos exactos de tokens. Un tokenizador fijado contabiliza el costo adicional del prompt en la entrada cronológica, el truncamiento que conserva el prefijo, la selección de registros y la extracción de oraciones.
  3. Conservar las decisiones originales. Los prompts, fragmentos, identificadores de fuentes, respuestas, trazas de tokens y observaciones de recursos permiten una reproducción determinista.

Qué demuestra

  • Puntuación separada de la evidencia conservada, los identificadores de citas conservados, las citas generadas y las respuestas exactas.
  • Pruebas explícitas que desactivan la preferencia por datos recientes o restringen la compresión a la primera oración.
  • Inferencia real en CPU con una revisión fijada de FLAN-T5-small y fallos registrados.

Resultados publicados

Una ejecución local en CPU Xeon realizó 132 llamadas al modelo con once configuraciones y dos hilos de CPU de PyTorch.

Cada configuración evalúa las mismas doce tareas. Los prompts originales contienen entre 142 y 418 tokens; ninguno supera el límite de entrada de 512 tokens del modelo. La evidencia seleccionada y las respuestas generadas se puntúan por separado.

Evaluación de políticas de contexto

Resumen de resultados ·
Política y presupuesto de tokensRespuestas exactasEvidencia conservadaIdentificadores de citas conservadosPromedio de tokens de entrada
full:51210/121.0001.000280.4
head:1280/120.0000.000128.0
head:2565/120.5000.500205.2
select:1286/121.0001.000111.4
select:2563/121.0001.000195.9
compress:1281/121.0001.000106.4
compress:2562/121.0001.000141.4
select_no_recency:1286/121.0001.000112.4
select_no_recency:2564/121.0001.000196.4
compress_first:1282/120.6671.000111.7
compress_first:2563/120.6671.000157.2

Todas las configuraciones produjeron cero citas correctas en la salida y cero coincidencias exactas fundamentadas. La compresión de la primera oración perdió cuatro correcciones, aunque conservó sus identificadores de cita. Conservar la evidencia no garantizó que el modelo la usara correctamente.

Reproducir

La reproducción portable requiere Python 3.11 o posterior y ningún paquete de modelos en tiempo de ejecución. La inferencia usa el entorno fijado de Intel macOS con Python 3.11.13, PyTorch 2.2.2 y Transformers 4.46.3.

Ejecutá las mediciones en una carpeta de salida nueva y los trabajos pesados de a uno. Dentro de la serie original de proyectos, usá el ejecutor compartido benchmark_lock.py. Los comandos siguientes usan sintaxis de shell POSIX.

Verificar la evidencia guardada

git clone https://github.com/lucioduran/agent-context-budget.git
cd agent-context-budget
git checkout 72d150669a9fa4ab85496b4b62440ce95a9be7fe
python -m context_budget verify results/evaluation.json

Repetir el experimento local

python3.11 -m venv .venv
. .venv/bin/activate
python -m pip install -r requirements-local.lock
python scripts/download_model.py
python -m context_budget evaluate --model-path .cache/model --output build/new-run.json
python -m context_budget verify build/new-run.json

Alcance y límites

  • Las pequeñas tareas sintéticas conocidas por el autor, un solo modelo y una observación por celda no demuestran calidad en producción ni un orden estable de latencias.
  • La compresión es extractiva, no un resumen aprendido. La selección usa coincidencia léxica y puede introducir ambigüedad cronológica después de ordenar los registros.
  • La implementación prueba el manejo del desbordamiento, pero la ejecución registrada no mide prompts más largos que la ventana declarada del modelo.
  • La reproducción confía en la tokenización registrada y comprueba consistencia, no autenticidad de la inferencia. No se midieron la energía ni los costos de hardware; no se usó ninguna API paga.

Fuentes y revisión

El informe original identifica la revisión de implementación, la fecha y los hashes de fuentes, tareas y modelo. La documentación de la release se distingue de la ejecución registrada.