Pull to refresh

Comments 58

Я не очень понимаю, как выражение "с нуля" соотносится с документацией на 835 страниц. Это можно трактовать как угодно, но не с нуля. Кхм.

по тз — это условно с 0, тк ни одной строчки кода не было

А вы полагаете, что эти 835 страниц все родились то того, как была написана первая строчка кода?

Так подждите, а что на счёт публичного репозитория (на котором с большой долей вероятности обучалась бям)?

У неё не бесконечная память и весь код она не вызубрит

это документация api. контракт. как без контракта/api написать код? типа вы пишите, а потом мы вам документацию вышлем.

как у нас в геймдеве. ну вы фичу пилите, а через недельку мы вам ее описание пришлем )

по сути это примерно тоже самое что переписать с какого-то legacy-языка на rust/go. такие задачи тоже нужны, но да, проработать API и логику работы и кучу всего другого что было в документации это (особенно в современном мире) даже более ценно чем сам код

Ага, и нейросеть не обучали на коде самого sqlite и прочих открытых базах данных, а так же гигиайтов переписок и тематических форумов

Притом что та самая документация на 800+ станиц служила простым фактчекингом, что нейросети умеют отлично (смотрим что должно быть и подгняем под это результат). То есть такое АИ-решение максимум соотвествует только документации (и то сомнительно, на таком обьеме в мелочах будут проблемы, даже после сотни прогонов и перепроверок), но никто не говорит за оптимальность и полноценное использование всех фишек языка

Ну, вот. Я хотел это написать, а Вы меня опередили. Поэтому, просто плюсую.

Прикольно было бы если бы модели тренировали не на существующем коде, а книгах, наподобие:

Любопытно было бы посмотреть на результат :)

Было бы интересно почитать перлы, которые этот ИИ выдавал бы.

Скорее всего, “SELECT * FROM table_name” было бы почти что абсолютным максимумом доступной ИИ мудрости.

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

На самом деле, зря заминусили. Я себе так и представляю развитие нейросетей. Представьте: модель сама читает книгу, сама по ней ТРЕНИРУЕТСЯ, то есть сама себе генерирует обучающие данные по теоретической базе

Правда, для этого моделям нужно добавить воображение, способность самом себе ставить задачи и цели, реализовать сознание...)) утрирую, конечно, но это тот самый недостижимый AGI

А почему вы думаете, что книги не попали в обучающую выборку? Проблема в том, что в обучающую выборку попало дофига всего, зачастую взаимоисключающего. Поэтому если вам необходимо следовать мудрости Танненбаума или подходам, описанным в "кабанчике", то проще эти книги проиндексировать, положить в какое-нить хранилище, вроде Obsidian и сказать модели явно, что работаем вот так.

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

Учитывая столь подробное и притом непротиворечивое ТЗ, по сути можно говорить о трансляции с человеческого языка Rust.
Впрочем подобное все-равно конечно впечатляет.

Скорее трансляции с C+документации на Rust. Уверен, что код sqlite был в обучающей выборке у каждой из моделей

Всё равно получилось дешевле и быстрее, чем выдать эту документацию команде сеньёров и заставить их писать проект.

Осталось только нанять команду сеньёров, чтобы написать эту самую документацию так, чтобы на выходе получился правильный и рабочий код...

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

И самое главное, а пробовали внести изменения в тз, для получения новой версии (с фичей) , при сохранении совместимости хотя-бы по структуре хранения (про совместимость самого sql надеюсь говорить не надо).

А новый вариант sqllite для тестов выложен?

Открыл случайный файл.

Строки 1-106 — код.
Строки 106-227 — тесты.

Тесты порадовали.

        assert!(trunk_leaf_count(&[0, 0, 0, 0]).is_err());
        assert!(trunk_leaf_count(&[0, 0, 0, 0, 0, 0, 0]).is_err());
        assert!(trunk_leaf_count(&[0, 0, 0, 0, 0, 0, 0, 0]).is_ok());

(А где тесты для случаев 1, 2, 3, 5, 6, 9, 10,.... 100500 элементов, я вас спрашиваю?) /s

Закрыл случайный файл.

835 страниц ТЗ

Видимо, всё же 200.000 строк, судя по https://github.com/cursor/minisqlite

9000 строк это про какой-то кусок

9000 строк кода - контекст удержится целиком

10.000-30.000$

Не впечатляет!

Разве что время решения, ради которого и создавался рой.

И там замечание прилетело

Заголовок поста гласит, что тесты sqllogictest на 100% соответствуют заявленному стандарту . Это действительно важный шаг, но, исходя из многолетнего опыта работы над соответствием стандарту SQLite, я бы осторожно возразил против того, чтобы рассматривать это как «паритет SQLite», потому что sqllogictest и собственный набор тестов TCL для SQLite имеют совершенно разные уровни сложности , и эту разницу легко недооценить.

  • sqllogictest почти полностью состоит из проверок корректности строк результатов для правильно сформированных запросов .

  • Пакет тестов TCL для SQLite проверяет документированное поведение SQLite : точный текст сообщений об ошибках

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

Интересно посмотреть, как такие рои могли бы сами автономно разрабатывать подобные системы. Без готовых спеков.

Если они всё ещё слабы в этом, то надо прокачивать их в данном направлении.

Тут вопрос направления развития: как инструмент, или как замена программистам. Cursor видимо выбрали первое

Harness на этот рой агентов где скачать? Или опять верим…

А какой смысл был такого действия? Просто что бы сделать? Сомневаюсь, что кто то в обозримом будущем перейдет с sqlite на новый переписанный на rust с помощью ИИ. Дело не в rust и ИИ, а в том, что текущий sqlite проверен на сотнях миллионов разных устройств с разной архитектурой, у самого sqlite отлажены процессы, система тестирования и пр. Наверное полезнее было бы натравить ИИ на исходный код и поискать ошибки/уязвимости если они есть, хотя думаю это уже и так сделали, но возможно не нашли ни чего интересного.  

Пиар акция. Смотрите, наши ИИ уже заменяют целую компанию (нет). Увольняйте всех программистов и отдавайте весь зарплатный бюджет нам (но его не хватит).

на серьезных (очень сложных) задачах с большим контекстом и на хороших моделях токены съедаются быстрее чем оплата сеньору, поэтому пока еще у программистов есть работа. все эти подписки за 20/100/200$ легко сжечь за полдня при попытке выявить редкий баг или например при реверс-инжиниринге. и не факт что будет результат, ну точнее неизвестно сколько придется еще доплатить чтоб он был

Что-то мне подсказывает, что связка сеньор + продуманная заранее архитектура приложения + внятное разделение и постановка задач + собранный под комплексную задачу harness + рой (а рой это сколько, кстати) агентов на недорогих моделях может работь лучше и дешевле, чем подход, что давайте все сбросим в модель и оно само.

Извините, не удержусь:

так и запишем синьер+архитектура,написаная синьером+постановка задач синьером+собраный синьером харнес+рой агентов(а сколько, кстати это в джунах?) может работать лучше и дешевле чем все это без синьеров.

Согласен на все 100

Мне одному кажется странным, что ИИ изобрел технологию, которая уже изобретена? Кажется, ИИ создавали не для этого.

Продавцы лопат придумали новый способ рекламировать свои лопаты

Две причины:

  • Учитывая сложности финансовые у того же OpenAI (новость), нужна любая реклама для поддержки интереса инвесторов.

  • Интересная исследовательская задача, на самом деле. То есть заставить рой агентов сделать уже имеющийся продукт и потом проверить, насколько он хорош. Однако проверка будет сложной, т.е. там и качество самого кода, и его производительность. Кроме того, как справедливо указали - а не были ли эти модели обучены в том числе на коде sqlite? Это же классическая ошибка ML - когда часть тестовых данных использовалась в выборке для обучения. В общем, тут пока больше вопросов к исследованию. Но сама идея вполне здравая.

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

Так надо не так тестировать. Надо брать тесты оригинального SQLite и прогонять на них. Плюс, кто не знает, у SQLite есть набор секретных тестов, которые дают особым заказчикам за деньги.

Так пусть для чистоты эксперимента берут модель, у которой при обучении не было бы никакой входящей инфы по sqlite и посмотрю я тогда сколько времени они будут ее долбить пока результат не получат, получат ли его вообще и уложатся ли хотя бы в 100 тысяч долларов.

Слушайте, ну если сеньору не дать входящей инфы и сказать - сиди пиши, тоже не факт что в 100 тысяч долларов уложитесь, не аргумент.

В данном случае модель играет роль сеньора, который УЖЕ всё написал гораздо раньше и теперь ему надо просто повторить. И нет, при таком варианте у него никаких проблем не будет.

Вы по тем же докам за год перепишете sqlite с нуля на расте?

Значит это не синьор.

Заставь школьника доказывать теорему Пифагора, не дав ему почитать учебников математики.

Ээ не, это "заставь школьника доказывать теорему Пифагора дав ему доказательство теоремы Пифагора".

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

Такое всегда было справедливо. Иначе не было бы экзаменов и прочих проверок усвоения материала.

Модель в обучении использовала сорці sqlite. Скорее их рой только мешал, чем помогал. Я так понимаю результат тестов от sqllogictest давались агентам - что так же візівает вопросі к чистето єксперимента.
В целом, прикольно конечно, но как по мне, єто сугубо маректинг. Задача не подьеманя для агентик девелопмента, но єто и ok. Задач такого уровня сложности будет очень мало и нет необходимости, что бі агенті их могли полностью закрівать.

Самое интересное здесь — что главным фактором стала не одна «умная» модель, а организация большого объёма машинного труда и цена вычислений. Если такие рои начнут делать значительную часть экономики, вопрос собственности на инфраструктуру станет центральным. Вот хороший ролик про эту развилку и Gonka: https://youtu.be/_uwgrHV_li0?r=1058

Зачем создавать с нуля то, что уже существует и лежит в открытом доступе, да еще и за деньги?

Потому что, захоти они повторить MSSQL у них бы не было ни ТЗ на 800 страниц, ни тестов, чтобы оценить результат. Только потраченных 100 тысяч баксов и кучу кода, который вроде бы запускается.

Если я правильно понял статью, то конечный результат был в лучшем случае "примерно 85% правильных ответов в тестах". Хотя в целом это, конечно, все равно впечатляет.

80% означает, что там просто наверняка какая-то архитектурная дичь в нескольких местах.

связка моделей уложилась в счет $1339 за четырехчасовой прогон

я правильно понимаю что это было самое дорогое и длительное копирование опенсорса? Модель то обучалась на нем скорее всего

рой ИИ-агентов Cursor создал SQLite с нуля за $1339

Не совсем с нуля. Есть огромная разница, сделать миграцию существующего ПО (документация, годы бакфиксинга, куча правок архитектуры и т.д.) и написать что-то новое. Причем не просто написать, а потом еще и поддерживать, внося изменения.

К тому же, почему-то не учитывается зарплата операторов ИИ-агентов, т.е. кто им ставил задачу, кто все это настраивал, возможно правил скилы ведь большая часть подобных экспериментов - это узкоспециализированный паттерн, а не универсальная dark factory.

Ну и последнее. А сколько потратили ресурсов на верификацию того, что сделали агенты? Допустим, агенты написали все за 4 часа и потом в этой писанине 10+ синьоров месяц разбирались и проверяли на читинг?

Очень интерсно было б посомтреть на статистику затрат по исправлению багов. Т.е. через месяц в продукте обнаруживается баг (запрос корректный, результат нет), то сколько будет стоить его подправить? Не придется ли перечитывать/переписывать большую часть кода за сопоставимый с "написанием с нуля" бюджет?

Но в общем если отобросить бестолковый кликбейт и маркетинг, это отличные потенциальные возможности для ускорения написания кода под контролем профессионального инженера.

Sign up to leave a comment.

Articles