Андрей Карпаты поддерживает введение нового термина, связанного с "инженерией контекста" в разработке программного обеспечения ИИ с использованием LLM. И этот термин давно кажется очень необходимым. Каждый раз, когда я объясняю людям, как мы разрабатываем наш Nethermind AuditAgent, один из ключевых аспектов, помимо использования экспертных знаний (безопасность web3) и использования лучших доступных моделей ИИ (от OpenAI, Anthropic и Google), а также инструментов для LLM, именно "инженерия контекста". Иногда есть выражение "контекст — это король", и это действительно правда. LLM, будь то огромные продвинутые модели или оптимизированные маленькие LLM, являются мощным инструментом, но, как и любой инструмент, если он попадает в неправильные руки, вы получите гораздо менее многообещающие результаты, чем могли бы, если будете работать с ними правильно. И управление (или инженерия) контекстом действительно является сложной и не очень хорошо описанной областью, которая постоянно развивается, и она действительно возникла как продолжение концепции инженерии подсказок, которая уже имеет некоторые негативные коннотации. В целом, Андрей перечислил основные аспекты, связанные с инженерией контекста (на втором скриншоте), но в каждой конкретной задаче люди достигают отличных результатов в значительной степени через проб и ошибок, каждый раз монотонно пытаясь выбрать правильные элементы контекста, которые действительно необходимы на этом этапе решения проблемы, собирая эталонные данные для каждого этапа, смотря на метрики, разделяя наборы данных на тестовые, валидационные и так далее. Что вы думаете об "инженерии контекста"?
Andrej Karpathy
Andrej Karpathy25 июн. 2025 г.
+1 за "инженерию контекста" вместо "инженерии подсказок". Люди ассоциируют подсказки с короткими описаниями задач, которые вы даете LLM в повседневном использовании. Однако в каждом промышленном приложении LLM инженерия контекста — это тонкое искусство и наука заполнения окна контекста именно той информацией, которая нужна для следующего шага. Наука, потому что правильное выполнение этого включает описания задач и объяснения, примеры с несколькими образцами, RAG, связанные (возможно, мультимодальные) данные, инструменты, состояние и историю, сжатие... Слишком мало или неправильной формы, и LLM не имеет правильного контекста для оптимальной работы. Слишком много или слишком неуместно, и затраты LLM могут возрасти, а производительность может снизиться. Сделать это хорошо — это крайне нетривиально. И искусство, потому что это связано с интуицией о психологии LLM и духах людей. Кроме самой инженерии контекста, приложение LLM должно: - правильно разбивать проблемы на контрольные потоки - правильно упаковывать окна контекста - отправлять вызовы к LLM нужного типа и возможностей - обрабатывать потоки UIUX генерации-проверки - и многое другое - защитные меры, безопасность, оценки, параллелизм, предварительная выборка, ... Таким образом, инженерия контекста — это всего лишь небольшая часть возникающего толстого слоя нетривиального программного обеспечения, которое координирует отдельные вызовы LLM (и многое другое) в полные приложения LLM. Термин "обертка ChatGPT" устарел и на самом деле очень, очень неверен.
410