Комментарии 3
Отличный разбор ZSL и FSL! In-context learning (ICL) действительно ключевой механизм для получения полезного результата.
На практике я использую ICL в разработке с LLM, тщательно подбирая контекст (существующий код 'вокруг' новой функциональности) под задачу — это сужает вероятности модели и делает вывод релевантным проекту. В терминах ICL, это переход от Zero-shot (широкие вероятности) к Few-shot (узконаправленные вероятности).
Когда контекст заполняет почти все доступное окно (например, 128k или 200k токенов у современных моделей вроде Claude), это уже выходит за рамки классического Few-shot (1–5 примеров) и становится чем-то вроде "Many-shot" или даже "Full-context" подхода. Это "агрессивно" сужает вероятности модели, подстраивая её под ваш проект и задачу.
В Many-shot, когда контекст занимает почти всё окно, модель почти полностью "переключается" на ваш проект. Вероятности вроде P("return") или P("try") становятся экстремально высокими для паттернов, соответствующих вашему коду, и почти нулевыми для всего остального. Это "агрессивное" сужение делает вывод гиперспецифичным и точным.
Может, стоит формально выделить Many-shot как отдельный подход в ICL? Few-shot — это 1–5 примеров, Many-shot — десятки тысяч токенов, заполняющих окно.
Большое спасибо за подробный ответ! Я с вами согласен, использование Many-shot как отдельной категории в рамках ICL вполне оправдано. Когда ты заполняешь почти всё контекстное окно, модель действительно начинает работать как будто она "живет" в этом проекте и её вероятностное пространство сужается до предельной релевантности.
Вероятно и правда стоило отдельно вынести Many-shot как отдельный подход для полноты картины. Либо добавить часть о переходу с Few-shot к Many-shot.
Zero-shot и Few-shot Learning в NLP