Pull to refresh
15
1
Сергей Голубев @labfranep

User

Send message

Анализ проектов

Заказчик отправил архив с десятками айтишных разработок и попросил в короткие сроки дать по нему заключение: что полезно, а что нет. Какие проекты выбросить, а какие выгодно развивать (с указанием потенциальной прибыли и перечня необходимых работ). С подобной задачей мы в лабе сталкивались не раз, но это была внутренняя кухня. А тут большое количество проектов, которые никто прежде в глаза не видел. Сроки сжатые, вникнуть в детали каждого проекта физически невозможно.

Невыполнимые задачи мы любим больше всего. Структурировали требования к оценке проекта и написали протокол для анализа (https://vsempo.xyz/lab/analpro/index.html). Работает так: загружаете исходные файлы проекта в LLM, загружаете файл протокола и в ответе получаете JSON с полным описанием проекта, багами, технологическим стеком, конкурентными преимуществами, потенциальной прибылью от внедрения, алгоритмом развития и необходимым ресурсам. При желании можно сделать все это пакетно: указываете каталог и получаете набор файлов с результатами.

Но сами по себе JSON-файлы изучать сложно. Поэтому на сдачу написали небольшой вьюер на JS (https://vsempo.xyz/lab/analpro/analproview/index.html). Загружаете в него все файлы JSON с описанием проектов и получаете визуализацию, сводную статистику по всем проектам, возможность изучить детали по каждому проекту и общую стратегию развития. Пока эта система больше напоминает концепт, чем промышленное решение, но для нашей конкретной задачи этого более чем достаточно.

Изначально задача казалось совершенно невыполнимой. А в итоге самую большую трудность вызвало придумать название. С одной стороны, мы написали протокол анализа. Но еще мы написали классическую программу для анализа проектов. Долго не могли решить, какое название выбрать: аналпро или проанал. В итоге остановились на первом варианте. Хотя я был против. Нужно было назвать систему "проанал", а название "аналпро" сохранить для расширенной коммерческой версии.

Tags:
Total votes 1: ↑1 and ↓0+1
Comments1

Протокол

Я вот подумал: а зачем мы задаем вопросы всяким нейрочатам? Точнее говоря, зачем столько вопросов? Они же хороши, пусть сами с собой общаются.

Подход не новый, вот только к популярным и мощным LLM не применим. Поэтому написал протокол для языковых моделей.

Работает так: загружаете файл в нейронку, пишете "активировать протокол" и задаете любой вопрос. Вместо ответа, нейросеть вначале проверит корректность вопроса и если необходимо, попросит уточнений. Далее она разбивается на два десятка независимых специалистов (можно настроить), которые обсуждают и спорят пока не придут к оптимальному соглашению о способе решения задачи.

В процессе спора за каждую идею специалисты выставляют автору идеи оценки по нескольким критериям. Дурь отвергают, годноту принимают. Идеи вместе с оценками фиксируются в "портфолио" специалиста и влияют на его значимость. Так постепенно в ответах большее значение приобретают лучшие специалисты и умолкают те, что предлагают разную фигню.

Это похоже на градиентный спуск, только вместо нейронов выступают настройки промтов в нейронке. Примитивно говоря: мы выбираем не самый лучший ответ, а разбиваем наш вопрос на тысячи мелких подвопросов, отбираем из них лучшие, формируем новый оптимальный вариант вопроса и уже на него языковая модель отвечает.

Понятно, что пока все на стадии исследования, но рабочий прототип уже готов (https://vsempo.xyz/lab/protocol/index.html), можно использовать. Токенов жрет безмерно. Для простых задач лучше не использовать. Но для промтов, где перед тем как ответить нужно много думать уже подходит. А еще хорош тем, что можно перенести натренированных специалистов из одной языковой модели в другую.

Я сам пока до конца не понял чего наделал, но протокол напоминает новый язык программирования в котором программист не решает задачу, а пересобирает вопрос так, чтобы его правильное решение было механически простым и тривиальным.

Tags:
Total votes 5: ↑4 and ↓1+4
Comments2

Information

Rating
1,557-th
Location
Шахты, Ростовская обл., Россия
Date of birth
Registered
Activity