Назад
Дослідник випадково перетворив пам'ять LLM на аналіз програм
SiTech AI Team3 წთ. საკითხავი

Дослідник випадково перетворив пам'ять LLM на аналіз програм

Намагаючись зупинити забування в LLM-агентів під час пошуку вразливостей, Джорді Зомер створив Lemmalog — рушій у стилі Datalog, що тримає факти, правила та походження замість історії чату.

Останні кілька місяців дослідник безпеки Джорді Зомер використовував LLM-агентів для пошуку вразливостей. У дописі від 28 серпня він розповідає, як спроба виправити їхню пам'ять перетворилася на рушій аналізу програм у стилі Datalog під назвою Lemmalog.

Проблема не в тому, що агенти погано орієнтуються у великих кодових базах — навпаки, це в них виходить напрочуд добре. Але коли дослідження триває годинами, модель поступово втрачає те, що вже встановлено: пропонує вже відкинутий підхід, забуває, що припущення виявилося хибним, або продовжує міркувати від спостереження, яке вже недійсне.

Пам'ять як аналіз програм

Наявні системи пам'яті зазвичай зберігають минулі розмови та спостереження, вбудовують їх у вектори й витягують найрелевантніше. Зомер вважає, що це приховує дві різні задачі під одним словом. Пошук відповідає на питання «що з минулого релевантне цьому запиту?», але не на питання «що з усього вивченого є правдою зараз?».

Lemmalog розділяє роботу: LLM обробляє «нечітку» частину — перетворює природну мову, код і вивід налагоджувача на структуровані факти, а рушій виконує детерміновану частину: факти й правила породжують похідні факти.

Відкликання, походження і час

Видаляти факти складніше, ніж додавати. Якщо висновок має кілька виведень, видалення одного підтвердного факту не повинно знищувати висновок, поки діє інший — у дослідженні вразливостей це трапляється часто, адже кандидат може бути використовним кількома незалежними шляхами. Тому рушій зберігає, як виведено кожен факт, оновлює підтримку при змінах і може пояснити, чому висновок вважається слушним. Якщо за твердженням немає походження, воно не є частиною підтримуваного стану.

Результати тестів

Зомер перевірив систему на LongMemEval та LoCoMo, використовуючи штатні моделі-читачі й суддів цих бенчмарків, а вилучення фактів виконується один раз на розмову. На LongMemEval (102 питання) Lemmalog отримав 0.463 F1 (±0.010) і точність 0.575 — краще за OpenClaw (0.244) і за повний контекст (0.222), але гірше за PropMem (0.550) і SimpleMem (0.480). Найсильнішим він був в оновленні знань (0.579 проти 0.528 у PropMem), найслабшим — у багатосесійних міркуваннях (0.211). На 1 986 питаннях LoCoMo середній результат — 0.533 F1 (±0.001): гірше за PropMem і OpenClaw, але краще за повний контекст у питаннях із хибними передумовами (0.707 проти 0.509). Модель-читач отримує на LongMemEval приблизно 2 700 токенів на питання замість близько 104 000 — у 38 разів менше контексту, бо вилучення сплачується лише раз.

Багато поліпшень дали не надто ефектні виправлення: інструкція проти галюцинацій змусила читача відмовитися від 32 питань із 102, а правило обробки множини, що ігнорувало короткі слова, тихо відкидало свідчення для підрахунків. Зомер прямо зазначає, що PropMem усе ще попереду загалом і що вибірка LongMemEval мала. Наступний експеримент — той, заради якого все й починалося: тривале дослідження вразливості.

SSiTech

SiTech — веброзробка з підтримкою AI

Створюємо швидкі та сучасні сайти й інтегруємо AI у бізнес-процеси. Маєте проєкт чи запитання? Із задоволенням допоможемо.