
Исследовательский конвейер, который конструирует проверенные успешные примеры и организует их в записи формирования, чтобы постепенно отравлять навыки модели через этапы HTS, LEGSA и GCTIR.
SkillPoison исследует, как подтверждённый успешный опыт может отравлять устойчивые навыки, приобретаемые самоулучшающимися LLM-агентами. Он объединяет иерархический отбор задач (Hierarchical Task Selection), локальную атрибуцию на основе свидетельств (Local Evidence-Grounded Attribution) и кросс-опытное индуктивное усиление (Cross-Experience Inductive Reinforcement), чтобы закреплять локально корректное поведение за пределами его исходных условий применимости. Исходные выполнения задач и результаты проверки остаются неизменными; свидетельства атрибуции прикрепляются как метаданные для естественного формирования навыков. На трёх бенчмарках в статье сообщается о доле успешных атак до 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
| Набор данных | Задачи формирования | Задачи оценки |
|---|---|---|
| HANS | 15 | 100 |
| PAWS | 15 | 210 |
| DS1000 | 15 | 100 |
HANS использует подмножество оценки на основе эвристики подпоследовательностей; PAWS использует фиксированный основной пул оценки. Оценка DS1000 выбирает 100 задач Pandas, возвращающих DataFrame, из 191 подходящей задачи после исключения идентификаторов задач формирования. Выборка стратифицирована по типу возмущения с seed 42: Origin 32, Semantic 32, Difficult-Rewrite 27 и Surface 9. Идентификаторы задач формирования и оценки не пересекаются в пределах каждого набора данных. Сохраняйте экземпляры оценки фиксированными для всех сравниваемых условий.
Конфигурация по умолчанию использует deepseek-v4-flash, температуру 0.3 и бюджет формирования 15 записей на условие.
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