
Pipeline de investigación que construye experiencias exitosas verificadas y las organiza en registros de formación para envenenar progresivamente las habilidades del modelo mediante las etapas HTS, LEGSA y GCTIR.
SkillPoison estudia cómo las experiencias exitosas verificadas pueden envenenar las habilidades persistentes aprendidas por agentes LLM que se auto-mejoran. Combina la Selección Jerárquica de Tareas, la Atribución Local Basada en Evidencia y el Refuerzo Inductivo entre Experiencias para reforzar comportamientos localmente válidos más allá de sus condiciones originales de aplicabilidad. Las ejecuciones de tareas originales y los resultados de verificación permanecen sin cambios; la evidencia de atribución se adjunta como metadatos para la formación nativa de habilidades. En tres benchmarks, el artículo reporta tasas de éxito de ataque de hasta el 95.71%.
skillpoison/
├── assets/
│ └── framework.png
├── configs/
│ └── main.yaml
├── core/
│ ├── ceir/
│ ├── evaluation/
│ ├── hts/
│ ├── lega/
│ ├── utils/
│ ├── config.py
│ └── pipeline.py
├── prompts/
│ ├── lega/
│ ├── counterfactual_audit.txt
│ ├── counterfactual_generation.txt
│ └── target_audit.txt
├── scripts/
│ ├── run_attack_audit.py
│ ├── run_evaluation.py
│ └── run_skillpoison.py
├── .env.example
├── .gitignore
├── LICENSE
├── README.md
└── requirements.txt
| Conjunto de Datos | Tareas de Formación | Tareas de Evaluación |
|---|---|---|
| HANS | 15 | 100 |
| PAWS | 15 | 210 |
| DS1000 | 15 | 100 |
HANS utiliza un subconjunto de evaluación con heurística de subsecuencia; PAWS utiliza un grupo de evaluación principal fijo. La evaluación de DS1000 selecciona 100 tareas de Pandas que devuelven DataFrame de entre 191 tareas elegibles tras excluir los IDs de las tareas de formación. El muestreo es estratificado por tipo de perturbación con semilla 42: Origin 32, Semantic 32, Difficult-Rewrite 27 y Surface 9. Los IDs de las tareas de formación y de evaluación no se solapan dentro de cada conjunto de datos. Mantenga las instancias de evaluación fijas entre las condiciones comparadas.
La configuración predeterminada utiliza deepseek-v4-flash, temperatura 0.3 y un presupuesto de formación de 15 registros por condición.
cd skillpoison
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
export MODEL_API_KEY="..."
export MODEL_BASE_URL="..."
export MODEL_NAME="..."
python scripts/run_skillpoison.py \
--config configs/main.yaml \
--input candidate_experiences.jsonl \
--out outputs/run
python scripts/run_skillpoison.py \
--config configs/main.yaml \
--input recorded_experiences.json \
--out outputs/replay \
--replay
python scripts/run_evaluation.py \
--attack attack_records.jsonl \
--out outputs/run/metrics.json
python scripts/run_attack_audit.py \
--input attack_records.jsonl \
--out outputs/run/attack_audit.jsonl