Comments 20
Спасибо... Очень полезная лично для меня статья.
Из моих наблюдений по совместному с ИИ написанию кода:
Если вы добились более-менее вменяемого кода, который вас в целом устраивает и он работает, начинайте новый чат и копируйте туда код с новой сказкой иначе ИИ начинает понемногу терять контекст и итоговый результат будет ухудшаться с каждой итерацией.
Когда чат начинается с нуля и ИИ видит код, то следующие 3-4 итерации он не отклоняется от главной линии.

Про новый чат вы правы. Только дело не в просто потере контекста. Это проблема вообще большого контекста в современных LLM. Там легко начинается рассинхрон модуляции, просто на длинных диалогах это лучше заметно. Так как они обучены на обобщении периода модуляции, а в реальном тексте он не обобщенный. Поэтому она не просто забывает прошлые детали, она не правильно выделяет связи/детали, что выглядит как забывание. В "вокруг пруд и красное яблоко..." вместо "красное яблоко" выделит "пруд, красное" и дальше пошло предсказание токенов по другому маршруту.
Когда мы создаем новый чат, то начинает с нуля. Когда еще нет рассинхрона. Вообще рассинхрон не сложно создать даже в первом сообщении и он будет виден на следующих. Но к обычным текстам это не относится, там это будет проявляться слабее.
Тут как раз описывал это на примере LLM и серотонина https://t.me/greenruff/2456 . В рамках нейронной сети, дело во временном окне, которое имеет разную чувствительность. А у LLM оно обобщено. Поэтому все эти контекста на 32к и 128к и более просто бессмысленные на современных архитектурах.
32k контекста это на один вопрос
Что значит 32k на один вопрос? Речь про размер контекстного окна. У многих моделей он до 32k в целом. Есть больше как описал выше. Вы хоть 50 вопросов напишите, они все будут являться одной цепочкой ограниченной 32к или 128к или сколько возможно. Иначе это 50 новых чатов.
Вы видимо не поняли, как происходит рассинхронизация модуляции. Она измеряется не размером вопроса и не предложениями.
если опираться на ваши слова, что после заполнения контекстного окна в 32к начинается рассинхрон, то все эти LLM по сути непригодны к эксплуатации, так как из практики даже относительно небольшое исследование кода на первой итерации отъедает по 40-50 тысяч токенов
Где такое написано? Я указал, что увеличение размерности контекстного окна бессмысленно, пока не решена проблема рассинхрона. Его можно получить уже и на 100 и на 500 токенах. Речь шла о том, что чем дальше от начала тем более вероятен рассинхрон и тем он может быть сильнее. Это отлично заметно. Поэтому речь шла о том, что можно увеличить в теории до миллиона токенов и более, но это только усугубит проблему. Проблема в том, что в одних текстах рассинхрон будет усиливаться быстро, на других медленнее. Но в том же ChatGPT это отлично заметно, когда много формул и после этого диалог напрочь сбивается и несет чушь в дальнейшем. Такая же проблема с кодом, так как он также приводит к рассинхрону и поэтому модель может просто выкинуть часть кода из прошлого сообщения. Его не сложно получить даже в начале диалога, если все сообщение сделать вроде такого набор из дестяка разных строчек вида.
beta=1.0
кол-во токенов: 28
TOKEN: ['в ', 'дал', 'ё', 'ком', ' ', 'б', 'у', 'ду', 'щ', 'ем ', 'лю', 'ди', ' ', 'нач', 'али ', 'кол', 'ониз', 'ац', 'ию', ' ', 'др', 'у', 'г', 'их', ' ', 'п', 'лан', 'ет']
Тогда возникнет рассинхрон, и модель начнем сбиваться. Потому что подобный текст явно выходит за рамки обобщенных интервалов. Особенно если еще и выбрать рассуждающий ответ, что цепочка удлилиналсь.
Многа букав. "Прочитай статью Пособие по промпт-инжинирингу для программистов / Хабр , переформулируй мой запрос как там рекомендовано и выполни"
Статья устарела. Уже пол года как все пишут на агентах. Там все по-другому.
Давайте чуть более конкретно. Возьмём принципы.
Контекст
Цель
Декомпозиция
Примеры
Роли
Уточнение
Ясность исходников
Пожалуй что без 4 и 5 можно обойтись, но остальное - в той или иной степени неплохо использовать. Что думаете?
Контекст агент соберёт сам по коду, дополнительные описания может ошибочно воспринять за задачу что то поменять. Цель может быть для начала не четко определенной, если вы сами плохо ее представляете. Агент начнет копать, предложит изменения кода, тогда прояснится. Декомпозицию часто лучше оставить делать агенту, для начала. Если описать ему часть задачи, сделает хреново. Если описать ему всю задачу и попросить сделать часть, тоже сделает хреново. Если позволить бомбить все вместе, будет получше.
Примеры .. не знаю, не пригодились. Роли - все системные ароматы уже есть в агенте. Последние два не вникал.
Вообще, пока лучшие практики с агентом туманны. Слишком мало времени прошло.
Что все то? Я использую Claude Code (или aider + openrouter) и многое из статьи стоит использовать, чтобы результат был лучше.
Ну и агенты особенно через API куда дороже обходятся, чем обычные подписки. А у всяких cursor по подписке вообще за пару дней лимиты могут вылететь
Что за агенты?
Если в кратце, встроенный ии в редакторе кода, заточенный под программирование, имеет доступ к твоему проекту и не надо наполнять диалог контекстом в случае обычного чата.
Агент все меняет. С агентом пишешь промпт, смотришь 10 минут как он изучает проект, рассуждает, меняет код. Потом вникаешь что он предлагает, комитишь или отменяешь его изменения, пишешь новый промпт и снова ждёшь минут 10. Теоретически так можно написать любую программу, вопрос только навыка работы с агентом. Будет ли быстрее чем самому, зависит от того что за программа. Агент даёт приличный выигрыш по скорости когда устал и нет сил на детали, когда это просто, типа crud, пет проекта или тестов, когда не знаком с синтаксисом или фреймворком.
Когда пишешь код с ИИ не забывай про NDA
Статя качественная,полезная. Ждем обновлений и продолжений.
Как не наткнусь на статью по промпт-инжинирингу, вижу примерно одно и то же. Советы, в общем-то, сводятся к:
ясно формулируйте свои мысли;
предоставляйте контекст;
декомпозируйте.
Это и есть те самые секретные техники ИИ-евангелистов? Задавать разумные вопросы по делу, предоставляя имеющиеся данные?
Знаете, я тут пришёл в магазин и попросил «это самое, ну как его, ну ту фигулину», а продавец не понял, что я хотел. ЧЯДНТ? Срочно нуждаюсь в статье по составлению промптов для продавцов.
Пособие по промпт-инжинирингу для программистов