Комментарии 143
С - самоуспокоение?
Реалистичный взгляд
Нифига, мы берём текущее состояние и на основании него о чем то рассуждаем, да, сейчас не заменят, но глупо не видеть прогресс, задача с r, вообще детский лепет, достаточно добавить в выборку все слова в виде "слово" = с л о в о, и ллм быстро научится считать буквы
но глупо не видеть прогресс
Весь прогресс пока идёт в канве "быть полезным помощником для человека". В плоскости полной замены человека никакого прогресса нет и пока не предвидится. Нейронки остаются безвольными бездумными китайскими комнатами.
Ну а как подмастерье становится мастером по вашему, также, сначала помогает, а потом становится мастером, Вы видимо не используете llm полотно, иначе прогресс между версиями сложно не замечать
Подмастерье это человек. Ни один инструмент пока ещё не стал мастером.
Вы видимо не используете llm полотно
Использую каждый день и вижу, что это тупой статистический генератор.
Использую и GPT и Copilot. Нет сомнений, что заменит)) Лично я уже заменил го разработчика и фронтера в своем стартапе. Т.е. двое мидлов остались без работы с текущей нейронной. 5 лет максимум и 90% из нас будет учиться работать по-новой
Посмотрим потом как вы будете такие проекты поддерживать)
Если без шуток - нельзя писать код через нейронку, потому что по итогу выходит так, что весь проект будет как минимум тяжело поддерживать.
Если стартап это то, про что вы писали статьи (Meme Battle), то конечно видно, что разработчика фронтового у вас нет видимо, да и благо приложение не сильно сложное.
Лично я уже заменил го разработчика и фронтера в своем стартапе.
Так вы и не AI. Или да?
И ещё вопрос, равноценная ли это замена.
Проблема только в том что появление таких вот помощников или даже просто новых инструментов, тоже может снижать потребность в людях.
То есть инструменты не могут заменить всех людей, но они вполне себе могут заменить какой-то процент людей.
Не вижу в этом проблемы. Возможно, это даже в некоторой степени вылечит индустрию, если производительность одного плюсовика-кутешника с нейронкой станет равной производительности команды электрон-макак. Т.е. бизнес для быстрой разработки перестанет выбирать всякие говнотехнологии, пожирающие ресурсы с космической быстротой.
(хотя это так, розовая мечта; скорее всего, вооружившись нейронками, бизнес станет ещё быстрее продуцировать мегатонны дерьмища, лол)
Не вижу в этом проблемы
Ну это и не обязательно будет проблемой.
Но вполне себе может ею стать. Если спрос на какую-то профессию упадёт очень резко и очень сильно,то людям этой профессии будет не особо сладко. И это мы в общем-то уже наблюдали на примере бухгалтеров и туроператоров.
А если такое произойдёт с большим количеством профессий, то не сладко придётся всему обществу. И мы например можем словить что-то вроде Великой депрессии.
Айтишники любят позиционировать себя как очень умных людей с высокой обучаемостью, так что я уверен, они блестяще выйдут из таких трудностей, переобучившись на более востребованные специальности.
Сильно и резко спрос на айтишников не упадёт) чтобы перестроить все технологические процессы, потребуются годы, или даже десятилетия. Даже если бы сейчас уже была готова нейронка, которая способна выдать план разработки огромного сервиса, подобного гугл поиску, с возможностью интеграции с другими готовыми сервисами, как внутренними, так и внешними, проанализировать все зависимости, а также определить, какие команды нейронок ей нужны (включая нейронок-программистов, нейронок-дизайнеров, нейронок-тестировщиков и т.д.) и наладить всю коммуникацию, потребуется ОЧЕНЬ много времени для их настройки, отладки, сравнения с моделями-конкурентами. А ещё необходимо сформировать команду, которая будет ставить нейронкам (или главной нейронке) задачи, мониторить процесс разработки и проверять результаты тестирования и сам продукт
Это всё требует поистине гигантских финансовых трат. А потом найдётся задача, которую нейронки ещё не могут решить)) и всё это коту под хвост. Такие технологии будут использовать скорее стартапы, которые также без проблем смогут воспользоваться разработкой на аутсорсе
То есть инструменты не могут заменить всех людей, но они вполне себе могут заменить какой-то процент людей.
Инструмент в принципе не может заменить человека (ведь иначе это и не инструмент). Он может только упростить труд человека.
Это софистика. Если работу на фирме делали десять человек, а после появления инструмента достаточно одного, то этот инструмент заменил девять человек.
Я под заменой подразумеваю полноценную (полнофункциональную) замену. Вы же, видимо, что-то иное. В вашем примере просто повысилась производительность. Соответственно, можно и выработку повысить вместо замены. Это уже начальнику решать. Вот если можно и без десятого выполнять ту же работу без изменений в работе остальных сотрудников, тогда уже можно рассуждать о замене.
Чарли и шоколадная фабрика, которая с Деппом. Отец Чарли вылетел с работы, потому что владелец заменил работников роботом. Для отца все кончилось хорошо, потому что он переквалифицировался в наладчика роботов. Но остальным работникам не повезло.
llm не научится считать буквы (точнее конректно эта архитектура моделей). Может, потом изобретут что-то новое. ЛЛМ лишь угадывает следующий токен (даже не слово). Просто вероятность, что там будет дальше. На человеческом примере:
-> ты ей говоришь "300"!
-> а она тебе ответит "спартанцев", но, что более вероятно, расскажет про трактариста
угадывание слов, а не подсчёт.
сколько будет 7*8.21? а 15 будет, не считаю угадываю. неправильно, зато отвечаю.
Вряд ли самоуспокоение. LLM пишет крутой код для сниппетов, простых задач. Но написать гораздо более сложные вещи, требующие много думать она не может. Мне приходится ускорять инференс ML на работе например - она не понимает, и вряд ли когда-то сможет понять как это работает.
Что такое "вещи, требующие много думать"?
Имхо, нейросети, в будущем, не будут кодить вообще - они будут генерировать видеоряд ну или просто изображение. Условно вместо тестового ввода у тебя на экране сгенерированная ai форма, например повторяющая Word из майкрософт оффис. Но её не кодили, а задали множеством промтов.
Мини пример - Сделай приложение где будет окно с текстовый вводом, а ещё кнопки увеличить-уменьшить шрифт, и пусть все это можно сохранить в формате doc-ai. редактор текста есть, а кода нет
Бред. Хотя бы потому, что даже эти галюционирующие нейросетки, выдающие лишь токены текста - гонять ну очень дорого. А уж сколько видеокарт потребуется подобной нейросетке, чтобы отрисовывать форму - даже думать страшно.
Потом, вот оно интерфейс будет "выдумывать". Базу данных оно тоже будет "помнить"? Вы уверены, что хотите базу данных, которая галлюционирует данные?
Текст документа будет хранится как обычный текст, почему нет.
А насчёт производительности, почему бы ей не прогрессировать, как прогрессировала производительность видеокарт. И будет сетка крутится локально на 256гб памяти например через 10 лет, подгружая что нибудь нужное из сети.
Конечно как и везде будут технические сложности, но называть это бредом не вижу оснований
Текст документа будет хранится как обычный текст, почему нет.
А потом вам нужно будет сделать социальную сеть. И где и как будут хранится общие данные?
Интересный вопрос, действительно сервер с базой данных возможно придётся программировать по старинке.
Но возможно также, что данные на сервере также будут сохранятся в явно виде с помощью нейросети, которая например будет сохранять их по запросу в файл, похоже что они уже справляются с таким без галлюццинаций
Где на сервере? В текстовом файле? А сервер откуда возьмётся? Вам его ИИ тоже каждый раз будет генерировать заново?
ИИ будет обучен находить и записывать/читать нужные файлы, и работать с сетевыми пакетами.
Первые версии могут делать это через операционку, а потом ии сам станет операционкой. Это конечно если разработчики ии не наткнуться на супер непреодолимую преграду принципиально.
P. S. Я понимаю что этого может и не случится по многим причинам, но называть это бредом по моему странно. Все наше развитие науки показывает что ранее считавшееся невозможным, становится обыденным.
Вот ниже про плейстешены в пентагоне написали в другом контексте, но вывод тот же
ИИ будет обучен находить и записывать/читать нужные файлы, и работать с сетевыми пакетами.
То есть вместо детерменированного и оптимизировангого алгоритма у вас будет ИИ, который будет жрать кучу ресурсов и от которого непонятно что ожидать. Замечательный план.
Все наше развитие науки показывает что ранее считавшееся невозможным, становится обыденным.
Есть очень много вещей, которые в принципе возможны, но при этом абсолютно не логичны/рациональны.
Вы утверждает что ии как операционка будет не рационально прожорлив и поэтому не получит распространения.
Я отметаю это возражение. Не рациональные во многом решения, используются человечеством. Это факт. Сейчас виндоус и другие программы очень прожорливы, но все равно их массово используют. Или интернет который используется во многом для просмотра порно и тиктока. Кроме того в будущем сложный ИИ возможно будет крутится на обычном смартфоне.
Второе возражение что он может сгаллюцинировать.. Я приму возражение, если будет точно известно что с галлюцинациями особенно в типовых задачах справится не выйдет. А это не известно никому.
Сейчас виндоус и другие программы очень прожорливы, но все равно их массово используют
Но при этом никому не приходит в голову писать операционку на JS. И никогда такого делать не будут. Как бы не развивались компьютеры.
И точно так же ИИ может быть частью операционки, но никогда не заменит её целиком.
Второе возражение что он может сгаллюцинировать..
Быть не детерменированным это не только галлюцинировать.
А есть сомнения, что прогресс вычислительной мощности видеокарт будет хуже чем за последние 20 лет?
Нет сомнения. Только этот рост в основном за счет роста потребления и цены. И будет эта форма при работе потреблять как промышленный кондиционер.
Плюс, есть подозрения что прогрес цены видеокарт тоже не будет "хуже", чем за последние 20 лет. Поэтому для запуска этого редактора потребуется видеокарта за 20к долларов.
Технологический прогресс тоже не стоит на месте. Видеокарты становятся все мощнее и доступнее. В 90х и представить себе не могли, что в карманах обычных людей будут "суперкомпьютеры". Что уж говорить за 80е, когда были ПК чуть ли не как сегодня одноразовые, электронные тесты беременности? И там, и здесь по 4 МГц кремния, например, только памяти поменьше.
Да и кажется ещё недавно PS3 использовали в Пентагоне... В 2010 году ВВС США (US Air Force) использовали кластер из 1760 PlayStation 3 в своих исследовательских центрах для проведения сложных вычислений, связанных с анализом данных, обработкой изображений и моделированием.
PS3 привлекала внимание благодаря своему мощному процессору Cell, который был достаточно производительным для параллельных вычислений, необходимых в научных и военных целях. Консоли были дешевле, чем специализированные суперкомпьютеры, при этом обеспечивая хорошую производительность для определённых типов вычислительных задач. Этот "суперкомпьютер" на основе PS3 назывался Condor Cluster и использовался для обработки изображений с воздуха и спутников. Однако в 2013 году Sony отключила возможность установки альтернативных операционных систем на PS3, что сделало такие кластеры менее привлекательными для подобных проектов.
Так что все возможно. Сегодня дорого — завтра бесплатно.
> Технологический прогресс тоже не стоит на месте. Видеокарты становятся все мощнее и доступнее.
В любом случае еще много десятилетий простой процессор будет сильно дешевле видеокарты, мощнее его в миллионы раз. И если можно написать приложение, которое работает на процессоре, то это будет потребителям сильно приятнее, чем запускать АИ на а видеокарте.
o1-preview
Несите следующую статью о том как ИИ чего-то не умеет
Этот текст написан чатомгпт. Зачем он это делает?
Как вариант. AI точно заменит программистов. Возможно, некоторые программисты переучатся на профессию которая будет называться иначе и продолжат участвовать в создании приложений. Потому, что люди уже обращаются к AI так, как будто он думает, пусть пока и в попытках доказать что AI не думает.
Нет. Программисты переучатся на профессию, которая будет по сути другой, но называться будет так же. Такое уже случалось.
Да, в этом и смысл статьи - может быть писать код и не надо будет. Но иметь reasoning и уметь решать новые проблемы все еще кто-то должен. К сожалению, LLM может это делать только в пределах трэйн сета, а ее трэйн сет это только доступный в интернете текст.
Всё равно надо будет. Возможно, на сильно формализованном подъязыке естественного языка и называя его не кодом, а спецификацией.
Предельно подробное описание того, что должна сделать машина, называется "программа".
Как же вы задолбали со своим Strawberry. Мне это напоминает анекдот про японскую бензопилу и лом. У вас блин окно на миллион токенов, вы используете от силы 1000 на вход и потом обвиняете что LLM косячит.
Скрытый текст
Да, это действительно связано с тем, как я обрабатываю текст, включая токенизацию. Токенизация — это процесс разбиения текста на отдельные компоненты (токены), такие как слова или символы, которые я затем анализирую.
Когда ты задал вопрос про количество букв "r" в слове "strawberry", моя первоначальная реакция не была связана с подробной токенизацией каждого символа. Вместо этого я полагался на "быстрое" знание, которое связано с типичными примерами слов. Это сработало, но я мог недооценить ситуацию и не заметил, что буква "r" встречается три раза, а не два.
Когда ты запросил таблицу частоты букв, я использовал более точный метод, который включает работу с каждым символом слова. Здесь важна символная токенизация, где каждый символ анализируется по отдельности, что исключает вероятность ошибки.
Таким образом, можно сказать, что первоначальный ответ больше зависел от общей текстовой обработки и моего быстрого "знания", тогда как более точный подсчет частоты символов уже требует детализированной токенизации. Это позволяет мне более точно работать с текстом, когда важно учитывать каждый символ или слово по отдельности.
Надеюсь, это объяснение помогает лучше понять, как я обрабатываю текст!
Вместо того чтобы разбираться какие границы применимости есть у технологии, мы огульно скажем - LLM шлак и пойдем рубить дальше.
Я скажу больше, у меня сейчас ChatGPT 4o пишет код на уровне мидла, o1 preview на уровне сеньора. Просто нужно помнить что узкое место как правило между клавиатурой и сиденьем.
Мой поинт не в том, что LLM шлак - это супер полезная технология, увеличивающая продуктивность и позволяющая упрощать многие моменты в программирование. Но написать что-то за пределами трэйн сета она не может.
Вот тут хотел бы возразить. Считаю, что вполне себе может. Нейросеть легко придумывает игры с несуществующими правилами, разрабатывает уникальные алгоритмы для решения некоторых задач (например, в одном из тестов я придумывал стек в виде спирали, и за несколько итераций chatgpt предложил мне очень хорошие варианты его реализации с деталями, которые вряд ли были в датасете). Ну, и много всего такого.
Я скажу больше, у меня сейчас ChatGPT 4o пишет код на уровне мидла
Я уже постил тут задачу для стажера... добьетесь от LLM её решения? У меня ушло больше трех часов и кучи итераций промтов. В итоге получился почти работающий код. https://habr.com/ru/news/847802/comments/#comment_27370784
В такой постановке не удивительно что вы получаете шлак на выходе. У вас не постановка задачи а какой-то бессвязный поток мыслей. Ответтье мне на следующие вопросы и я дам вам промпт:
Что такое header
Что такое content
Что такое hashtag
Если вы не уловили, то по ссылке - не промт для LLM, а текст для человека. Для LLM писались другие промты, в том числе с примерами того что должно быть в output. А по тексту, вы как человек не смогли вычленить ответы на заданные вопросы?
Что такое header
один с headers[список, контекст вполне читаем], т.е. каждый элемент начиная с # до \n,
Что такое content
второй с headers + content т.е. все что до следующего #
Тут отчасти согласен, можно было точнее выразится, что conten - все что следует за header, до следующего валидного header т.е. патерна "# Любой символ".
Что такое hashtag
при этом хештеги #tags должны попадать в контент
Как отличить хедер от хэштега, стоящего первым в строке? Будет ли корректно сказать что синтаксис похож на markdown?
P.S. ща с обеда вернусь и скину промпт
Как отличить хедер от хэштега, стоящего первым в строке?
Вы серьезно? Различий в "# Header" и "#tags" не видите(если что, правильный паттерн для каждого элемента дополнительно уточнялся в промте для LLM) Там по ссылке даже есть пример петли, в которую попадала LLM и переубедить её, что она не права уже не получалось, приходилось сбрасывать контекст:
A valid header must have at least one hashtag followed by whitespace and then one or more word characters. "# Hello" does not meet this requirement.
Промпт
Привет дружище, как насчет написать небольшую программку на javascript? Условия немного мутные, так что надо будет покрошить на человекочитаемые и человекомисправляемые методы чтоб если чё можно было допилить напильником. Вот входные условия: На входе строка, которая на самом деле не строка а множество строк с разделителем. Разделитель \n, но это не точно. Каждая индивидуальная строка может быть либо header (начинается с одного или нескольких #, после чего следует минимум один пробел и дальше какая-то шляпа) либо content - любая строка не попадающая под критерии header. Нужно написать такую функцию, которая на выходе даст два списка. Первый список должен содержать только header'ы, второй должен содержать конкатенации header + весь content ему принадлежащий. Конкатенация должна быть через тот же разедлитель что и оригинальная строка. Когда будешь писать код, постарайся учесть что может поменяться во входном условии и изолировать эти изменения в самостоятельных функциях
ChatGPT 4o
Привет! Вот вариант программы на JavaScript, которая отвечает твоим условиям, с учетом гибкости для возможных изменений:
function parseInput(input, separator = '\n') {
// Функция для разделения строки на массив подстрок
function splitString(str, sep) {
return str.split(sep);
}
// Функция для проверки, является ли строка заголовком
function isHeader(line) {
return /^#+\s/.test(line); // Проверка на наличие одного или нескольких # и хотя бы одного пробела
}
// Основная функция для получения двух списков
function processInput(input, sep) {
const lines = splitString(input, sep);
const headers = [];
const contentBlocks = [];
let currentHeader = null;
let currentContent = [];
lines.forEach(line => {
if (isHeader(line)) {
// Если был предыдущий заголовок, сохраняем его с контентом
if (currentHeader) {
contentBlocks.push(currentHeader + sep + currentContent.join(sep));
}
// Начинаем новый блок
headers.push(line);
currentHeader = line;
currentContent = [];
} else {
// Если строка не заголовок, добавляем её к текущему контенту
currentContent.push(line);
}
});
// Добавляем последний блок контента, если он есть
if (currentHeader) {
contentBlocks.push(currentHeader + sep + currentContent.join(sep));
}
return { headers, contentBlocks };
}
// Вызов основной функции
return processInput(input, separator);
}
// Пример использования
const inputString = `
# Header 1
Some content under header 1
Another line of content
## Subheader 1.1
Content for subheader 1.1
# Header 2
Content under header 2
More content under header 2
`;
const result = parseInput(inputString.trim());
console.log("Headers:", result.headers);
console.log("Content blocks:", result.contentBlocks);
Пояснение:
splitString: Функция, которая разделяет входную строку по заданному разделителю (по умолчанию —
\n
). Это позволяет легко изменить способ разделения строк, если изменится разделитель.isHeader: Проверяет, является ли строка заголовком. Использует регулярное выражение, которое ищет строки, начинающиеся с одного или нескольких символов
#
, за которыми следует хотя бы один пробел. Эту проверку можно изменить, если изменятся условия распознавания заголовков.processInput: Основная функция, которая проходит по каждой строке, разделенной на массив. Сохраняет заголовки в один список, а блоки "заголовок + контент" в другой.
Результат: На выходе функция возвращает два массива — список заголовков и список конкатенированных блоков "заголовок + контент".
Пример вывода:
Headers: [ '# Header 1', '## Subheader 1.1', '# Header 2' ]
Content blocks: [
'# Header 1\nSome content under header 1\nAnother line of content',
'## Subheader 1.1\nContent for subheader 1.1',
'# Header 2\nContent under header 2\nMore content under header 2'
]
Такой код легко модифицируется: можно менять условия распознавания заголовков или способ разделения строк, сохраняя общую логику.
o1 preview
Привет! Вот вариант программы на JavaScript, которая отвечает твоим условиям, с учетом гибкости для возможных изменений:
function parseInput(input, separator = '\n') {
// Функция для разделения строки на массив подстрок
function splitString(str, sep) {
return str.split(sep);
}
// Функция для проверки, является ли строка заголовком
function isHeader(line) {
return /^#+\s/.test(line); // Проверка на наличие одного или нескольких # и хотя бы одного пробела
}
// Основная функция для получения двух списков
function processInput(input, sep) {
const lines = splitString(input, sep);
const headers = [];
const contentBlocks = [];
let currentHeader = null;
let currentContent = [];
lines.forEach(line => {
if (isHeader(line)) {
// Если был предыдущий заголовок, сохраняем его с контентом
if (currentHeader) {
contentBlocks.push(currentHeader + sep + currentContent.join(sep));
}
// Начинаем новый блок
headers.push(line);
currentHeader = line;
currentContent = [];
} else {
// Если строка не заголовок, добавляем её к текущему контенту
currentContent.push(line);
}
});
// Добавляем последний блок контента, если он есть
if (currentHeader) {
contentBlocks.push(currentHeader + sep + currentContent.join(sep));
}
return { headers, contentBlocks };
}
// Вызов основной функции
return processInput(input, separator);
}
// Пример использования
const inputString = `
# Header 1
Some content under header 1
Another line of content
## Subheader 1.1
Content for subheader 1.1
# Header 2
Content under header 2
More content under header 2
`;
const result = parseInput(inputString.trim());
console.log("Headers:", result.headers);
console.log("Content blocks:", result.contentBlocks);
Пояснение:
splitString: Функция, которая разделяет входную строку по заданному разделителю (по умолчанию —
\n
). Это позволяет легко изменить способ разделения строк, если изменится разделитель.isHeader: Проверяет, является ли строка заголовком. Использует регулярное выражение, которое ищет строки, начинающиеся с одного или нескольких символов
#
, за которыми следует хотя бы один пробел. Эту проверку можно изменить, если изменятся условия распознавания заголовков.processInput: Основная функция, которая проходит по каждой строке, разделенной на массив. Сохраняет заголовки в один список, а блоки "заголовок + контент" в другой.
Результат: На выходе функция возвращает два массива — список заголовков и список конкатенированных блоков "заголовок + контент".
Пример вывода:
Headers: [ '# Header 1', '## Subheader 1.1', '# Header 2' ]
Content blocks: [
'# Header 1\nSome content under header 1\nAnother line of content',
'## Subheader 1.1\nContent for subheader 1.1',
'# Header 2\nContent under header 2\nMore content under header 2'
]
Такой код легко модифицируется: можно менять условия распознавания заголовков или способ разделения строк, сохраняя общую логику.
Почти... 4.0 написала слишком строгий regex для header "# Header! 1" >> "# Header 1", о1 тоже не все пограничные случаи отлавливает "#Header ## Subheader 1.1" в output даст не то что ожидается.
Не стоит тратить время, на допиливание, если что. Задачу я решил сам, разобравшись в незнакомом мне до этого js за ~час. А цель добиться решения от LLM была, в понимании сможет ли no code мимокрокодил решать прикладные задачи. На данный момент развития технологий ответ для себя я получил.
Мне кажется, я код бы написал быстрее, чем ваш "промпт"...
Тут несколько моментов.
1) Это сегодня ИИ такой "глуповатый", часто делает ошибки на уровне студентов. Но давайте посмотрим в перспективе: какой путь прошел ИИ за какие-то 5 лет и что он будет делать через 5 лет. Мне это напоминает ситуацию с игрой Го, лет *дцать назад компьютеру давали фору в 14 ходов и все равно он проигрывал игроку второго уровня. А потом случился АльфаГо и на этом финита ла комедиа.
2) Бабло побеждает. Всегда. Сегодня кодерами-индусами заменяют более образованных, но и более дорогих американцев, русских, немцев и т.д. И пофиг, что код медленнее в 3 раза, жрет больше оперативки и дохера ошибок. Так что вы то может и напишете код, но сколько вы стоите и сколько стоит человек пишущий промпт для ИИ?
Я не о том. Для более-менее складно мыслящего человека, писать код - ПРОЩЕ, чем писать ТАКОЙ промпт.
Крайне необоснованное утверждение. Вы собственные ощущения выдаете за универсальные правила, но не ясно, на каком количестве «складно мыслящих» вы проверяли.
Очень даже обоснованное. Естественный язык имеет неотъемлемое свойство, непригодное для написания программ - множественное толкование. Для его нивелирования требуется писать кучу уточнений. Наглядный тому пример - юридические документы. Или пользовательские инструкции к технике или программам.
Напрямую из этого ничего не следует. Да и уточнения из-за многообразия мира в основном, а не многозначности языка.
Как это не следует? Достаточно просто динамичности мира, активного использования языка и разрозненности его носителей. И автоматически спустя пару поколений появляется эта многозначность - синонимы, омонимы и т.п. Сравните хотя бы как разговаривают разные поколения, да ещё и по разным областям страны и в разных социальных группах. И попробуйте заставить их говорить одинаково.
Или вы знаете пример устойчивого живого языка?
Фиг знает, я этот промпт писал мимоходом после обеда. На всё про всё ушло минут пять. Убедить вас что это просто я не смогу при всем желании. Ну не впихнуть полтора года опыта интенсивной работы с ИИ в один или даже несколько комментариев.
Забавный момент, мне, для того чтобы эффективно использовать ИИ, нужно было научиться "слышать" собеседника (слышать не значит соглашаться), научиться управлять "областью дискуссии". Я своим результатом доволен. Насколько эти рекомендации зайдут другим - это под вопросом. Я задумывался над написанием статьи на эту тему, но пока выглядит так что у каждого своя мудрость, и к чужой интереса нет.
Контекс верстки. Очевидно, что header - это шапка сайта. Контент - область с контентом, а hashtag - это id элемента. То, что вы сейчас зададите "правильный" промпт говорит лишь о том, что подавать промпт должен тот, кто очень хорошо разбирается в теме и без ИИ, а значит в такой конфигурации ИИ - все лишь помощник, а не замена
Вот тот, кто будет знать как на это отвечать, что бы сеть сгенерировала, то, что нужно и будет называться программистом. А вместо фреймворков кода, будем иметь репозитории с фреймворками промптов.
Ты как бы сейчас сам себя разносишь. Ты понимаешь сам, что ты только что показал, как нейросеть может на серьезных щах задвигать как верные утверждения, так и абсолютно неверные. Это и есть галлюцинации генеративных ИИ. Сегодня он неправильно посчитал количество букв, завтра он напишет код для рассчёта количества повторений букв в слове с ошибкой. Получается, что в последнем случае должен быть программист, который перепроверит за этим ИИ, что он наговнокодил, а это значит, что никого он не заменяет. Максимум помощник для рутинных задач, в которых неплохо было бы учесть контекст задачи
ChatGPT 4o пишет код на уровне мидла, o1 preview на уровне сеньора.
Но ведь уровень программиста определяется не кодом. По каким признакам вы отличаете код уровня мидла от кода уровня сеньора?
Более того, LLM не справляются не только с задачами, которых в интернете нет, но и с достаточно редкими.
Мой пример: надо с помощью WinAPI MediaFoundations проверить, что камера не работает, потому что она занята другим приложением. Все сетки, что я пробовал выдают разыне вариации из перемешанного DirectShow, выдуманных методов MediaFondations или просто интерпретируют любую ошибку, как "камера занята". В 75% случаев код даже не компилировался. Даже после подсказок использовать IMFActivityMonitor - ни одна сетка не справилась.
А ответ в интернете даже есть, правда в считанных по пальцам местах. Документация Microsoft и пара примеров на гитхабе.
А вот задачки с литкода, решение которых растиражированы стонями в интернете, да какие-то сайтики на сверх-популярных фреймворках оно может, да. Оно как трамвай - по построенным путям ездит отлично, но никуда с них свернуть не может. Личный автомобиль/такси оно не заменяет.
Ну так никто не говорит, что 100% программистов исчезнут. Но процентов минимум 90 (мидлы и джуны) придется через несколько лет менять профессию. И добавлю, что 99% кода это вариации проезженных трамвайных путей.
А у оставшихся 10% доходы по законам рынка просядут до уровня учителя при драке за рабочие места. В идеальном мире мы бы получили 3 дневную рабочую неделю с тем же доходом, а то и вовсе безусловный доход, но такой мир кажется еще более фантастическим, чем вероятность появления полноценного AGI.😅
Но процентов минимум 90 (мидлы и джуны) придется через несколько лет менять профессию.
Откуда будут браться новые сеньоры, подтирающие галюны нейросеток?
Ну как раз личный автомобиль/такси он может заменить, потому что задача будет довези из точки А в точку Б. И если памяти будет достаточно, то будет выводить со временем более выгодные маршруты
Прежде чем рассуждать не тему, может ли ИИ заменить программиста, нужно понять, что значит "заменить". Давайте представим, например, очень маленькую веб-студию, где есть дизайнер, менеджер и программист. Берём выкидываем прогера, ставим вместо него ИИ. Смогут ли теперь дизайнер и менеджер справиться со всей работой вдвоём без увеличения нагрузки? Думаю, это вопрос риторический
Они в итоге сами станут программистами :D
ИИ сможет заменить одного программиста из трёх в студии по-крупнее.
Вот это, кстати, вполне возможно. Скорее всего, так и будет, и переживать стоит только тем, кто в профессии оказался случайно.
Каждый третий программист оказался программистом случайно?
Думаю, как минимум половина, а то и больше. К слову, лично знаю как минимум трёх проджект-менеджеров, которые в прошлом были кодерами (именно так они себя называли), и сами признают, что ничуть в этом не преуспели, из-за чего и ушли в менеджмент. Но в целом, я ничего такого в этом не вижу, т.к. в любой профессии полно случайных людей.
Нет конечно, а вот если программистов два, то смело можно оставлять одного.
вот пока рандомный человек с улицы не объяснит разницу между первым и вторым промптом, программисты никуда не денутся
И коронный вопрос: ПОЧЕМУ на бесконечно задаваемые им вопрос "Сколько букв r в слове strawberry? AI упорно отвечает ДВЕ?
AI что, никак не может НАУЧИТЬСЯ как правильно отвечать на этот вопрос? - причина такого упорства AI?
AI не обучается на пользовательских промптах. Точнее автоматически не обучается. Там все равно ручная человеческая работа есть.
Он правильно отвечает на поставленный вопрос. Когда человек в обычной (не искусственной) ситуации спрашивает "сколько букв х в слова у", он имеет в виду "как пишется слово у, через двойную х или одинарную".
Чатбот, начитавшись реальных примеров, усвоил это умолчание.
По сути она написала код на питоне и запустила его, выдав вывод программы за свой ответ. Не знаю можно ли это считать за способность к "мышлению"
В данном случай "языковая модель" сработала как лексический парсер. Которым сто лет в обед. Ну или семьдесят, как минимум. Если это называть ИИ - тогда следует признать, что ИИ появился в середине 50х, вместе с первыми языками программирования высокого уровня
в данном случае ИИ написал программу, которая посчитала, ане посчитал как лексический парсер из 50х. Вы действительно не видите разницы?
ане посчитал как лексический парсер из 50х
Лексический парсер ничего не считает. Что из 50х, что из 2020х. Он другие совсем задачи выполняет
И что это доказывает? Помимо того, что для получения правильного ответа нужно заранее знать правильный ответ.
В эпоху быстрого развития AI и LLM я все чаще вижу, что многие люди думают AI заменят всех программистов и они будут не нужны. Такую мысль высказывал даже CEO Nvidia - Jensen Huang.
Гражданин Хуанг торгует лопатами в эпоху золотой лихорадки. Было бы удивительно, если бы он заявлял что-то типа: "не ходите сюда. Золота мало и на всех не хватит"
Чтобы твои акции за два года подорожали в десять раз и не такие мысли выскажешь
высказывай емеля - твоя неделя
Возможно не внимательно прочитал. Не заменит сейчас или скажем через 50 лет тоже?
Могут ли станки заменить кузнецов?
Сбился со счета, какая по счету это статья, что "нет, не сможет". Интереснее всего было бы почитать что же такое умение рассуждать, как вообще формализовать этот процесс, как сравнить физику процессов в искусственных нейросетях и естественных. Но как-то увы, ничего осязаемого. Как нейросети решают математические задачи олимпиадного уровня лучше большинства людей без "умения рассуждать" - вопрос занимательный. Но никто даже не пытается ответить. А я бы почитал.
Как нейросети решают математические задачи олимпиадного уровня лучше большинства людей без "умения рассуждать" - вопрос занимательный.
Хм, но ведь и связка самых обычных классических алгоритмов тоже способна решать задачи олимпиадного уровня лучше большинства людей, в геометрии уж точно (1, 2). Какой-то плохой у вас критерий наличия "умения рассуждать".
Я даже больше скажу: задачи олимпиадного уровня человек не может решить за данное на олимпиаде время, если только не задрочил метод решения этого класса задач.
Потому что решение (почти) всех задач "олимпиадного уровня" выложено в интернете - поэтому и "решают". Раньше это называлось "списывать". А теперь - LLM ))
А почему все крутится вокруг веба, если автоматизированные системы в общем рассмотреть? Программирование это более обширное понятие.
Я не согласен.
Во-первых, в источнике написано одно очень важное условие: "You must give it an approved prompt, nothing else", которое сводит на нет многие промпт инжиниринг подходы вроде CoT, не говоря уже о более серьезных подходах вроде агентности. Я отчасти согласен, что перебор разных промптов будет похож на брутфорс, но вот мульти-агентный подход с фидбеком (мб ревьювером) тут может помочь.
Во-вторых, тезис "Но важно понимать, что это всего лишь извлечение (retrieval) уже существующих решений или их комбинаций, но никак не решение новых задач" кажется мне неверным. Изначально взята сложная задача, с которой не любой джун справится. Тот факт, что LLM пишут корректный код в проектах, которые раньше не видели - уже говорит о решении новых задач. Или можно предложить LLM очень простую, но не существующее ранее задачу про буквы, которые выходят из поезда:
Решение примитивной задачи ("б" действительно не вышла)
Решение задачи с 3 выключателями и 3 лампочками, но я запретил измерять температуру и дал длинный провод
Обе задачи уникальны. В случае второй задачи, LLM показала понимание работы физического мира и использования подручных предметов. Поэтому я бы суммировал текущее состояние LLM как:
LLM едва ли могут решать когнитивно сложные уникальные задачи. Во всяком случае пока что.
LLM способны решать относительно простые уникальные задачи, в том числе и весьма креативными способами.
LLM "думают" вслух, и если дать модели подумать перед написанием ответа, то ответ будет точнее. Вся архитектура o1-preview от OpenAI построена на базе этого подхода.
@rk-helperприглашаю обсудить.
Обе задачи уникальны.
Можете это строго доказать?
В случае второй задачи, LLM показала понимание работы физического мира и использования подручных предметов.
Расскажу небольшую историю, которая случилась у меня при тестировании o1-preview. Решил я потестировать, как модель справляется с ML. Попросил написать модель для Fashion-MNIST с accuracy 95% или больше (задача нетривиальная, но готовые решения, дающие +- столько, с поправкой на разные факторы, в интернете есть). После кучи мучений произошла забавность: o1-preview все-таки притащил работающий код, который давал те самые заветные 95%. Но увы, оказалось, что это был какой-то Богом забытый код для датасета CIFAR-10, лежащий на GitHub и парочке блогов; изменений было минимум, разве что некоторые гиперпараметры были изменены по принципу "поставим те гиперпараметры, которые чаще всего используют для Fashion-MNIST".
В этой ситуации, как кажется, сыграл факт того, что Fashion-MNIST и CIFAR-10 - датасеты, которые часто используют для тестирования гипотез и которые часто соседствуют на страницах статей с исследованиями. Вероятнее всего, через эту статистическую связь и было притащено чужое решение.
А теперь перейдем к вопросу: вы уверены, что здесь "LLM показала понимание", а не "LLM за счет собранной статистики слов нашла примерно релевантный к вашему запросу текст из обучающей выборки, а потом на основании той же статистики просто успешно поменяла некоторые слова, в результате чего получился правильный ответ"?
Уже не первая статья после выхода o1 preview, игнорирующая выход o1 preview.
Как бы банально это не звучало, но большинство людей тоже не способно к рассуждению, и тоже всего лишь извлекают информацию.
Более того, вероятно вообще никто не способен к рассуждению. Новизна является следствием прогресса всего человечества, и в общем случае - мира вообще. Это следствие существования такого физического понятия как время. В определенный момент времени, сумма уже известных открытий и изобретений достигает критической величины, на базе которой совершается новое открытие. Ну как в игре «сапер». Неважно какой именно ученый сделает это открытие. (Часто примерно в одно и то же время сразу несколько ученых делают одно и то же открытие). Он же не сам прошел весь путь эволюции от большого взрыва до существа обладающего абстрактным мышлением. Он лишь винтик в непрерывно меняющейся с течением времени (субъективно это воспринимается нами как прогресс) Вселенной.
LLM просто прогнозирует текст. Любой прогноз по природе синтетический. Прогноз может сбыться или нет. Даже очень хороший прогноз от лучших аналитиков может быть ошибочен.
А когда мы пишем код, мы обладаем детерминированным знанием о том, как работает компьютер, какая задача и т.д. Код в итоге будет однозначно выполнен. Поэтому это не прогноз. Программирование - это не прогнозирование кода.
Поэтому нейросети могут быть полезны, когда нужно нужно сделать много кода быстро. Но потом русская рулетка, будет или будет работать - это же вероятности просто.
Однозначно выполнен, но неоднозначно правильно. Те же вероятности.
Программирование это как раз прогнозирование кода. Если бы все было детерминировано и программист знал как работает программа, то такого явления как баги просто бы не существовало. Баг - это ошибка прогноза программиста.
Как и не существовало бы 100500 статей разного уровня сложности по всем языкам программирования, где рассказывают как что-то работает не очевидным образом в яп.
Да и программист не знает как работает компьютер. Там столько слоев абстракции еще даже не доходя до железа, там столько кода в этих абстракциях, что программист и здесь просто предполагает как оно работает.
Уже заменил. Один синьор сейчас с глубоким знанием общения с ИИ как команда от 5 разработчиков, т.е. уже сейчас 1:5. Дело недолго времени, когда соотношение станет 1:1000 и выше. Тот же самое и про всех контентщиков разного рода и многих других специальностях можно сказать. Продолжайте самоуспокаиваться.
Не понимаю почему в подобных статьях игнорируется факт существования модели o1, которая прекрасно с таким же промптом говорит, что в слове strawberry 3 буквы r.
LLM могут комбинировать существующие решения, но не способны создавать действительно новые.
Всего один вопрос. А почему вы решили, что люди могут создавать что-то действительно новое, а не комбинировать существующие решения?
Строго говоря, этот вопрос сводится к фундаментальному философскому вопросу о наличии/отсутствии свободы воли.
Увы, но в настоящее время не существует даже никаких соображений по поводу того - откуда бы эта свобода воли вообще могла взяться. Квантовая неопределенность (в том случае если она действительно НЕ определенность, что не факт), лишь подвергает сомнению теорию детерминизма, но разве случайность это чья-то воля?
Таким образом, кажется люди не могут создавать ничего нового. Просто в определенный момент времени в мозгу какого-то человека сочетаются факторы, из которых следует определенный вывод.
Человек детерминированно обладает свободой воли. Если я принимаю решения в результате детерминированных процессов внутри мозга, то это не значит, что у меня нет свободы воли. Детерминированные процессы внутри моего мозга - это и есть я. А дальше уже пусть юристы разбираются, при каких нарушениях в этих процессах меня нельзя привлечь к ответственности. Это уже не философский вопрос, а практический - поддержание порядка в обществе.
А фундаментальный вопрос философии - это отношение сознания и бытия.
"Детерминированная свобода" это оксюморон.
Хорошо бы сначала определить, что такое свобода.
Независимость некого субъекта от внешних факторов в принятии решений.
Но что такое субъект? Например, человек - инвалид. У него нет ног. Он не может ходить. Таким образом, если мы примем за субъект его мозг, то его тело будет внешним по отношению к нему фактором. Но мозг тоже не является чем-то неделимым. Его можно подвергнуть декомпозиции как на физическом уровне (до нейронов и далее до атомов) так и на психическом уровне - на автономные комплексы. А где в мозге прячется тот самый субъект, который независим от остальных и способен порождать что-то силой исключительно своей воли? По-видимому, нигде... В мозге, как и везде, всё связано со всем и взаимозависимо.
Получается, принцип всеобщей причинности будет работать даже в отдельно взятом мозге, если рассматривать его изолированно от внешнего мира. Свободной воле просто неоткуда взяться, каждое событие является результатом возникающего поведения системы "мозг" и предопределено ее предыдущим состоянием.
Независимость некого субъекта от внешних факторов в принятии решений.
Не сказать, что удачное определение. Получается, свободный субъект это который ведёт себя как бог на душу положит? Тогда судьба такого субъекта будет незавидной. Скажем, вокруг холодно, ветер, снег начинает падать, а свободный субъект вместо строительства жилища или укрытия сидит и песни поёт. Результат немного предсказуем.
Если взять за свободу независимость от предыдущих состояний, то это вовсе какой-то генератор хаоса получается.
Как же тело внешний фактор, если там вся гормональная система, которая одновременно и влияет на мозг и мозг влияет на гормональную систему со своей стороны.
То как мы мыслим, наше поведение очень сильно обусловлено гормонами, а вы их взяли и выкинули.
А что поделать, если объективная реальность противоречива? Человек обладает свободой воли, но полностью подчинён законам физики. Тот, кто это не признает, так и будет вечно метаться при попытке ответа на вопрос о свободной воле.
Мой вопрос не про свободу воли. В статье утверждение, что человек может создавать что-то новое, а LLM лишь запоминают и преобразуют знания.
Это сильное утверждение, которое требует отдельного доказательства. Мне например, наивно кажется, что человек точно так же всю жизнь что-то воспринимает, перерабатывает и комбинирует. И по этому, я и задал свой вопрос
А сколько лет назад такое говорили про художников и музыкантов?
Нейронки уже их заменили?
В процессе. У нас на сайте массово вместо обложек и иллюстраций для книг от живых людей-художников авторы используют иллюстрации и обложки от нейросетей. Местами допиленные чьими-то руками, а местами как есть, без постобработки.
На вашем сайте и сами книги можно генерировать нейронками, вряд ли это многие заметят. Я всё же про серьёзную работу, а не подработки для студентов и фрилансеров. Скажем, художники-оформители и иллюстраторы, обслуживающие бизнес. Мои знакомые из этой сферы не беспокоятся по поводу нейронок, хотя сами используют их.
Если брать художников в полном смысле этого слова - артистов, которые живут написанием картин - то нейронки им не угрожают никак, потому что ценители живописи платят деньги за человеческие истории в графическом виде, и это не только сюжет самой картины, но и события вокруг неё, а нейронка ничего такого в принципе не может предложить. То же самое и с музыкой: люди прежде всего хотят слышать человека, и на концерты они ходят не за музыкой, а за людьми. На концерт нейронки сходят несколько раз из новизны, потом это нафиг никому не нужно будет.
То есть нейронка может заменить артиста в ограниченном множестве работ - по большей части, в генерации массового контента, который просто заполняет пустоту. Те же обложки для книг почти никто не рассматривает толком, они существуют просто чтоб были и привлекали к себе внимание. Сгенерированная музыка годится только в качестве радио, т.е. заполнителя тишины, а чтобы человек сфокусированно слушал нейротреки, азартно махая головой и притопывая ногой - мне трудно такое представить. Чтобы делать такую музыку - нужно быть мясным, влажным и тёплым, ощущать эмоции.
Я всё же про серьёзную работу, а не подработки для студентов и фрилансеров.
Ну были и те кто вполне зарабатывал на этом. Как вы заметили - качество книг в среднем такое себе, но при этом то что висит на главной пишут фуллтайм писатели, которые на доходы с этого живут. Немало художников жили с обложек дешевых, им вполне хватало.
Кстати, еще кдпв к статьям и новостям массово стали генерить вместо того чтобы со стоков изображения/фото брать, тоже доходы кто то теряет понемногу.
На концерт нейронки сходят несколько раз из новизны, потом это нафиг никому не нужно будет.
И тут мы вспоминаем толпы которые собирает хацуне мику на концертах еще с тех пор когда никаких нейронок не было. И хватает знакомых которые по нейрокаверам фанатеют, в изготоволении которых человек участие не очень то принимал, именно целенаправленно нейрокаверы слушают, а не просто на фоне.
В общем не был бы я так оптимистичен для творческих профессий. Даже если заменят, условно, всего лишь 90% работников которые занимаются штамповкой и ширпотребом - это все равно серьезное влияние достаточное. Во-первых пропадет возможность новичкам на этом руку набивать, соответственно приток новых людей в профессии упадет катастрофически, во-вторых довольно серьезная безработица. Довольно много людей сейчас в мире вроде как головой работают, а вроде как достаточно шаблонные задачи выполняют (отчеты всякие, продажи, поддержка, созвоны и переписки, секретари, художники (те самые обложки простенькие, ассеты всякие шаблонные, фоны, и т.п.), программисты (99% проектов, утрируя, это перекладывание json или покраска кнопок), и многие другие).
Ну т.е. условно человек (и то далеко не каждый) может сделать качественнее нейронки. Вопрос в скольки процентах случаев нужно это качество (за такую стоимость). Ну будут иногда 6 пальцев на иллюстрациях - ну ок. Ну будет сервер падать чаще раз в 10 - юзеры потерпят. Ну сорвался контракт из-за робота продажника - пофиг, другой будет. Зато экономия на ФОТ какая огромная.
Люди, вы забываете, насколько трудно внедрить новые технологии в большие компании. Чтобы перестроить все бизнес-процессы, нужно огромное количество временных и финансовых трат. А потом команда нейронок просто не сможет решить поставленную задачу, и всё))
Такие технологии скорее будут распространены среди стартапов или небольших компаний. Но мир пока совершенно не готов к такому
Это трудно вообразить, но в тренировочном наборе LLM действительно есть абсолютно весь интернет. Из-за этого уровня масштаба создается ощущение, что LLM обладает интеллектом. Но важно понимать, что это всего лишь извлечение (retrieval) уже существующих решений или их комбинаций, но никак не решение новых задач.
Посмотрите на это таким образом:
Сейчас LLM учится на готовых образцах, извлекает их внешние, довольно верхнеуровневые признаки, обобщает их, а по запросу генерирует новый образец, похожий на подмножество готовых по извлеченным общим признакам.
На следующем шаге развития LLM будет в качестве признаков выявлять классы задач и способы решений, соответственно генерация будет не в том, чтобы "сделай это, похожее на то", а "определи класс задачи, подбери способ решения, примени найденное решение".
То есть это просто следующий уровень сложности, очевидный и, скорее всего, достижимый.
Как человек из сферы ИИ, могу сказать,что нейронки для программиста как ассистент, за которым все равно нужно следить и рефакторить. Банально она вам архитектуру вашего решения или БД не спроектирует нормально. Один из плюсов, что можно непонятный код ей скормить, и она объяснит последовательно что происходит, это повышает продуктивность разработчика.
Забавно что в комментариях много людей которые не понимают разницу между мышлением и (отражение реальности с пониманием процессов в ней и прогнозирование результата) и тем что делает нейросеть - попытка "угадать" подходящий ответ с высоким шансом.
А многие из тех, кто признают эту разницу делают следующий шаг: Апроксимацию в стиле "Вчера у вас не было мужа, сегодня, в день вашей свадьбы у вас 1 муж. Значит, к концу месяца у вас их будет 22, рекомендую оптовую закупку свадебных тортов."
Автомобиль никогда не заменит лошадь
Друзья разбирающиеся в теме просто скажите все ли к тому идет или чтобы набрать классы.. Иногда почитаешь работы по теме и как-то нехорошо... Или пусть мне соврут и я доживу спокойно свои 10 лет... Я уже смрилась кого там заменят кого не заменят.. Просто трудно это все принимать так быстро.. Хоть таблетки от шизы пей.. Я ведь вообще не программист а гроза это кара Божественная.
Почему AI не заменит программистов