Агент и модуль AI в BAS
Если удобнее смотреть, всё это есть у меня в видео на ютюбе: как я писал промт для парсера стима с 20:19, ну и разбор, из чего вообще собирать промт, с 28:58
Все материалы к ролику лежат у меня в тг-канале, залетайте: t.me/mustangbas
План Что будет с неправильным промтом Как правильно собирать промт Как я писал промт для парсера стима Что агент сделал по этому промту Что делать если непонятно как правильно составить промт Вывод Что будет с неправильным промтомЛюди привыкли писать нейронке маленький промтик в пару строк. Большие фронтир-модели в этом плане сделаны хорошо: какую-то часть работы они могут доделать и сами. Ну и к ним ещё можно поставить скилы, которые будут сами расспрашивать по проекту
Додумывать при этом будут и фронтир-модели. Чего мы им не сказали, они просто решают за нас, и так, на самом деле, работают вообще все модели. Если промт плохой, ошибаться в любом случае будут даже они, и проект, короче, может получиться не таким, как хотелось
Вот пример с парсером стима. Я прямо написал, что на каждую категорию нужна отдельная папка с файлом .csv. Если бы я этого не написал, он вполне мог бы сохранить всё в один большой текстовик, и разбирать такое было бы максимально неудобно
Поэтому промт лучше собирать по нескольким правилам, их я дальше и распишу
Как правильно собирать промтЧетыре части промта и как они легли в мой промт для парсера стима
Чтобы агент всё понял, в промте по шагам должны быть четыре части:
Контекст: что это за проект и что он вообще делает. То есть буквально рассказать, что делает проект и что в нём есть. Этот шаг ещё и типа страховка: если в других пунктах где-то оплошать, агент хотя бы как-то сможет всё сопоставить Что нужно сделать: сама задача, прямо и по шагам. Если она размытая, агент, по сути, запросто уйдёт куда-то не туда Что должно получиться: какой результат нужен на выходе. Формат лучше прям расписать, иначе агент сам решит, куда и как всё сохранять Что нельзя менять: это уже для готового проекта. Тут можно чисто запретить агенту трогать какое-то действие или настройкуПервые три пункта это основа, от них, в целом, и зависит, хороший промт получится или нет, ну и следом хороший результат
Почему расписывать надо так подробно. Модель она не знает, что у нас в голове. Всё, чего нет в промте, она либо додумает сама, либо, и так бывает чаще, просто не сделает. Тем более модель у агента стоит не самая топовая, так что всё нужное тут прям обязательно дорасписывать
Как я писал промт для парсера стимаПеред тем как что-то писать, я зашёл на страницу скидок стима и чисто глянул, как она устроена. Кнопку Show More, которая подгружает ещё игры, я решил объяснить отдельно, агент на ней вполне мог запутаться
Сам промт я надиктовал голосом, чтобы агент сделал мне проект. В итоге туда ушло:
ссылка на страницу и просьба её проанализировать формат данных Name Game|Discount|Price на каждую категорию отдельная папка, ну и в ней .csv ресурс с фильтрами и три категории, которые потом в целом можно поменять что делать с кнопкой Show MoreМой промт для парсера стима: формат данных, папка на каждую категорию, фильтры, категории и кнопка Show More
Что агент сделал по этому промтуРесурсы он собрал прям по промту, и подсказки к полям даже сам накидал
Ресурсы, которые агент сам добавил по промту: три категории и фильтр с подсказками
Когда он тестил, то выбрал Video Production и нажал ту самую кнопочку Show More, которую я прописывал. В итоге получились три папки, в каждой CSV, и все игры в том формате, который я указывал
Многопоточность я в промте не указал, и агент сделал всю работу в один поток, просто через циклы
На авторизации в стиме я отдельно писал, чтобы получение отпечатка он сделал в цикле While с обработкой ошибки. Он это реально сделал, ровно так, как я написал
Цикл с повторными попытками получить отпечаток, который я прямо попросил в промте
Там же я указал папку со всеми данными для ресурсов, и агент он сам всё по полям расставил
Что делать если непонятно как правильно составить промтБывает, что непонятно, как правильно составить промт или как вообще реализовать проект. Тогда можно попросить агента сначала написать план, как он видит ситуацию, и уже по нему решать, что делать дальше
На большом проекте другого разработчика в 6500 действий я так и сделал. Обрисовал агенту, по сути, всё, что хочу:
разложить всё по функциям убрать повторы подписать действия по-русски предложить функциям нормальные именаМенять сам проект я пока не просил, ждал от него чисто план, как это можно реализовать
Попросил агента посмотреть проект и предложить план, как навести в нём порядок, ниже начало его плана по этапам
План он прислал прям здоровенный, разбитый на этапы, от удаления неиспользуемого кода до переименования функций. Всё сразу я делать не стал, взял из плана три задачи и уже их отдал агенту
ВыводПолучается, чем больше в промте контекста, описания задачи и своих идей, как это реализовать, тем лучше потом выходит проект
Если расписывать всё это реально тяжело, всегда можно чисто спросить у самого агента: как это реализовать, какой он видит выход, какой промт ему написать. Проект агент и так видит, так что ответ он в целом сможет дать
Кстати, легко разочароваться в самом инструменте, когда ему по факту просто не дали нужных данных. С первого промта идеально всё равно не выходит, любая модель ошибается, так что ошибки в любом случае приходится объяснять и исправлять