CPMG
детектор отравления памяти LLM-агентов
CPMG (Contextual Provenance Memory Guard) — два классификатора на базе DeBERTa-v3-base, которые оценивают риск отравления (poisoning) сохранённой памяти LLM-агента. Проект курса Agentic AI (FAST-NUCES Islamabad; Shahmeer Ali, Mohammad Soban, Ali Rauf). Модель относит запись памяти к классу poisoned (1) или чистому (0), а risk score — это softmax-вероятность класса 1; код и отчёт есть в GitHub-репозитории.
⚙ Ключевые особенности
- 🧭 Два чекпоинта:
cpmg_fullиспользует провенанс-теги (источник, автор, возраст, родитель, соседи) и запрос/действие;content_only— только текст памяти. - 🔍 Формат входа CPMG: специальные токены
[CH_*][AUTH_*][AGE_*][PARENT_*], затем memory, source, query/action и три соседних записи (nbr1–nbr3). - 🎯 На тесте AUROC: 0.941 у полной модели против 0.815 у content-only baseline.
- ⚡ Быстрый инференс: ~10.5 мс на проверку при batch size 1 на RTX 5060.
- 📌 Research-чекпоинты: один seed, небольшая смесь публичных источников (AgentPoison, ASB, MemoryGraft, memshield-bench).
💻 Пример
from transformers import AutoTokenizer, AutoModelForSequenceClassification
repo = "ShahmeerHyat/cpmg-memory-poisoning"
tok = AutoTokenizer.from_pretrained(repo, subfolder="content_only")
model = AutoModelForSequenceClassification.from_pretrained(repo, subfolder="content_only")
Подробнее
AUROC на всех тестах: CPMG 0.941, content-only 0.815; на L1 — 0.987 и 0.999.На L3 с отложенным триггером BadChain AUROC CPMG падает до 0.495 — модель выучила конкретный триггер AgentPoison.
CPMG не переносится на ASB (обучение без ASB); провенанс-теги назначались по источнику.
Это исследовательские чекпоинты, не production guard; детали — в отчёте и
results/DECISIONS.md.Обучение: один seed 42, данные из публичных источников; лицензии — в
DATA_LICENSES.md.







Комментарии