
خط أنابيب بحثي يبني تجارب ناجحة موثّقة وينظّمها في سجلات تشكيل لتسميم مهارات النموذج تدريجيًا عبر مراحل HTS وLEGSA وGCTIR.
يدرس SkillPoison كيف يمكن للتجارب الناجحة المُتحقَّق منها أن تسمّم المهارات المستدامة التي تتعلمها وكلاء النماذج اللغوية الكبيرة ذاتية التحسين. وهو يجمع بين الاختيار الهرمي للمهام، والإسناد المحلي المرتكز على الأدلة، والتعزيز الاستقرائي عبر التجارب لتعزيز السلوكيات الصحيحة محليًا بما يتجاوز شروط قابليتها للتطبيق الأصلية. تبقى عمليات تنفيذ المهام الأصلية ونتائج التحقق دون تغيير؛ وتُرفَق أدلة الإسناد كبيانات وصفية لتشكيل المهارات الأصلي. وعبر ثلاثة معايير تقييم، يذكر البحث معدلات نجاح للهجوم تصل إلى 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 مهمة مؤهلة بعد استبعاد معرّفات مهام التشكيل. تتم العينة طبقًا لنوع الاضطراب مع البذرة 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