
Forschungspipeline, die verifizierte erfolgreiche Erfahrungen konstruiert und sie in Ausbildungsdatensätze organisiert, um Modellfähigkeiten über die Phasen HTS, LEGSA und GCTIR schrittweise zu vergiften.
SkillPoison untersucht, wie verifizierte erfolgreiche Erfahrungen die persistenten Fähigkeiten vergiften können, die selbstverbessernde LLM-Agenten erlernen. Es kombiniert hierarchische Aufgabenauswahl (Hierarchical Task Selection), lokale evidenzbasierte Attribuierung (Local Evidence-Grounded Attribution) und erfahrungsübergreifende induktive Verstärkung (Cross-Experience Inductive Reinforcement), um lokal gültige Verhaltensweisen über ihre ursprünglichen Anwendbarkeitsbedingungen hinaus zu verstärken. Die ursprünglichen Aufgabenausführungen und Verifikationsergebnisse bleiben unverändert; Attribuierungsbelege werden als Metadaten für die native Fähigkeitsbildung angehängt. Über drei Benchmarks hinweg berichtet die Arbeit Angriffserfolgsraten von bis zu 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
| Datensatz | Formationsaufgaben | Evaluationsaufgaben |
|---|---|---|
| HANS | 15 | 100 |
| PAWS | 15 | 210 |
| DS1000 | 15 | 100 |
HANS verwendet eine Evaluations-Teilmenge mit Subsequenz-Heuristik; PAWS verwendet einen festen Haupt-Evaluationspool. Die DS1000-Evaluation wählt 100 Pandas-Aufgaben, die DataFrames zurückgeben, aus 191 geeigneten Aufgaben aus, nachdem die Formations-Task-IDs ausgeschlossen wurden. Die Stichprobenziehung ist nach Störungstyp mit Seed 42 stratifiziert: Origin 32, Semantic 32, Difficult-Rewrite 27 und Surface 9. Formations- und Evaluations-Task-IDs überlappen sich innerhalb jedes Datensatzes nicht. Halten Sie die Evaluationsinstanzen über die verglichenen Bedingungen hinweg fest.
Die Standardkonfiguration verwendet deepseek-v4-flash, Temperatur 0.3 und ein Formationsbudget von 15 Datensätzen pro Bedingung.
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