Секреты как ссылки: модели не нужен ваш ключ

Положить API-ключ в конфиг агента — самое естественное, что можно сделать. Модель же должна как-то ходить в API. И тут кроется ошибка: модели не нужен ключ. Ей нужно, чтобы запрос выполнился. Всё, что попало в контекст модели, может оказаться где угодно: в ответе пользователю, в истории, в сжатой сводке разговора, в журнале, в векторной памяти. Попросить модель «никогда не выводи секреты» можно — это даже стоит в инвариантах. Но гарантией это не является. Поэтому в Элис секрет никогда не лежит значением в конфиге, журнале или контексте. В настройках хранится только ссылка: переменная окружения, файл, системная связка ключей, менеджер паролей. Значение достаёт брокер секретов — и только в момент выполнения инструмента. Модель зовёт инструмент, ключ получает инструмент. Правила: • в настройках — только ссылки вида «схема:путь», сырые токены запрещены; • брокер отдаёт значение на границе исполнения и не кэширует его между ходами; • в интерфейсе статуса видно только «есть / нет»; • ключ подписи для обмена задачами между группами тоже берётся из брокера. Где было трудно. Секрет утекает не через парадный вход, а через боковые двери: • инструмент вернул ошибку, в которую попал заголовок авторизации; • shell напечатал переменную окружения; • отладочный лог сохранил тело запроса; • наблюдение ушло в долгосрочную память и превратилось в эмбеддинг — числовой вектор, который потом не отредактируешь. Закрывается это по частям. В паспорте инструмента указано, что маскировать. Наблюдение маскируется до записи в журнал. Память маскирует текст до векторизации. А если секрет достать не удалось — это отдельный вид провала, а не «попробуем без него». Работа постоянная, а не одна функция. Урок: лучший способ не дать модели слить секрет — никогда его ей не показывать. Где у вас в проектах живут ключи агентов? #Элис #ЭлисAI #AIбезопасность #секреты

Секреты как ссылки: модели не нужен ваш ключ | Сетка — социальная сеть от hh.ru