Pull to refresh

Comments 64

если он будет обучаться у меня на компе - то так глядишь и вообще джуников заменит!

Заменит, простите, на кого?) На вас же, но с готовым кодом?)

возможно.

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

Я хочу у вас научиться. Согласны?

а вы сможете потом работать в N экземплярах одновременно? :о)

Не уверен как он определяет он был автосгенерирован или нет

Для этого нужна еще одна нейросеть.

UFO landed and left these words here

>Лично меня пугает шквал джанка нагенерированного этими сетками и вываленного в интернет под видом валидного контента.

ну и сейчас кода подобного качества больше чем везде

Черт с ним, с кодом. Тут можно столько нагенирировать труднодетектируемой дичи, что поиск конкретной иформации в интернете будет тем еще приключением

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

А можно пару примеров такого сайта? Не совсем понял, что это.

Большинство соцсетей генерируют контент динамически, там из статики только шапка, а составляющие подтягиваются со страниц пользователей, т.е. информация не по значению, а по ссылке. Или вот рандомный интернет-магазин — что останется при архивировании?
Про ascii у меня был вопрос наверное во второй десятке из всех заданных ей вопросов. Не может она полноценное что-то, только совсем простенький, аля смайлы.
(\___/)
(='.'=)
(")_(")
Насчет среза интернета — согласен. Только я пишу по другому — «цените бумажные книги, особенно технические&справочники. Это лучшая инвестиция». В химических вопросах пока это «ассистент» совсем нулевой, хотя простую реакцию химическую уравнять способна правильно.
Насчет «какие акции компаний» — пишет что не является системой для прогнозирования, да и вообще обучена на датасетах 2021 года и всей текущей информацией не владеет.

Однозначно так. Мы в чате AGIRussia обсуждали ChatGPT и все пришли к выводу что не только он не заменит разработчиков, но и во многих фактологических задачах не поможет. Просто потому что архитектура GPT не работает с концептами, она работает со статистиками токенов - поэтому простые кусочки кода работают потому, что они типичны и похожи на куски из StackOverflow, но тк нет понимания сущностей и нет глобальной памяти, а локальная короткая то комбы из 2-3 классов с логикой между ними не будут работать.

Кстати, ведь сетку Galactica отключили как раз поэтому - псевдонаучный бред генерила, а это опасно и засоряет интернет.

К слову, мы сделали ИИ чатбота психолога - и критика его очень похожа на критику ChatGPT - критичная, чувствительная к этике область, но там хотя бы можно обходиться общими советами, не нужна мощная фактология, не нужно вычислений, математики и тп. А вот описательные вопросы, объясняющие хорошо отрабатывает, и даже не хуже чем ChatGPT, хотя мы выпустили бота раньше чем OpenAi
https://neurohive.io/ru/gotovye-prilozhenija/sabina-ai-chatbot/

Просто потому что архитектура GPT не работает с концептами, она работает со статистиками токенов - поэтому простые кусочки кода работают потому, что они типичны и похожи на куски из StackOverflow, но тк нет понимания сущностей

А вы точно ML-эксперт? Конечно там есть концепты - это фичи в глубоких блоках. Употребление словосочетания "понимание сущностей" это совсем моветон. Там проблема в том, что нехватает регуляризации в дисцилинах: логика, рациональность, эпистемология, семантика. Дисциплины как таковые не представлены явно в GPT, она их примерно воспроизводит для всех концептов.

а не получается ли так, что на валидацию кода глазами уходит даже больше времени, чем на его написание?

А если ты пока не знаешь, как написать и какие библиотеки/классы/методы задействовать, или просто забыл? И потом, тут же главное что - "не хочешь - не ешь".

Для большого объема кода, думаю вполне действительно больше, чем на написание. А на маленькие кусочки пойдёт, типо сделай 3 строчки запроса к бд по таким то параметрам или получи по апи оттуда - то, такую то структуру и достань оттуда имя пользователя.

Да, в качестве вдохновения использовать - выглядит годным. Тупо копипастить - нет.

Скажем, для python он мне сгенерировал "for range in ranges....". А я потом тупил, почему существенно ниже банальный range(5,8) выдает TypeError и прочую фигню.

А вот после небольших правок - норм. Даже regexp внутри python неплохо подсказывал.

а что не так в for range in ranges
(я ток погружаюсь в питон, но вроде вместо range может быть что угодно, хоть "i")

ranges=["a_1","b_2"]
for range in ranges:
    x, y = range.split('_')
    print(x, y)
    print(range(5,7))

$ ./test.py
a 1
Traceback (most recent call last):
  File "./test.py", line 5, in <module>
    print(range(5,7))
TypeError: 'str' object is not callable

Я долго тупил над TypeError и str. Думал на другое, ибо у меня использование range было существенно ниже и применялось к переменными, полученным из строк, впоследствии преобразованных в int.

Потом только дошло, что в результате "for range in ..." наш привычный range превратился в строковую переменную.

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

Ого, копилот пока такого не умеет

Только вот для РФ он не доступен, номер мтс под видом КЗ не жрет (или он и в КЗ недоступен).

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

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

Через сервис подставных номеров вчера зарегестрировался. На номер USA

Мне понравилось, как он генерит песни и поэмы на разные темы, а также как он может прикидываться терминалом с интерпретатором питона, gcc, файловой системой и т.п.
Что проверял:
1) Писал в файлы через echo > file, читал файлы через cat и содержимое. через ls
2) Запускал питоновские скрипты
3) Компилил сишный код и запускал бинарники
4) пингует 8.8.8.8, но висит в пинге недоступного хоста!
После 4 пункта сеть на меня обиделась, наверное, и перестала работать.

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

Например, в ответ на вопрос «в каком месяце не может быть 30-го числа» я при первой попытке получил ответ, что таких месяцев нет вообще, потом получил ответ с перечислением всех месяцев, в которых меньше 31 дня, то есть включая февраль и апрель.

Главное — правильно спросить.
После этого запроса он работает как надо:
I want you to act as a Linux terminal. I will type commands and you will
reply with what the terminal should show. I want you to only reply with
the terminal output inside one unique code block, and nothing else. Do
not write explanations. Do not type commands unless I instruct you to do
so. When I need to tell you something in English I will do so by
putting text inside curly brackets {like this}. My first command is pwd.

Круто. Вместо сниппетов кода в мемориз кусочки инструкций для ИИ.

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

В вузе изучаю C++. Сегодня спрашивал у этого бота по функциям cstring. Даёт разумные ответы. (Объясняет хорошо).

После закинул ему код своей проги, которая не работала. И он понял, что я хотел написать, объяснил мне это.

После я у него спросил об ошибках. Он нашел потенциальных 5 ошибок.

Я попросил их исправить, и он исправил... Правда, накосячил, но не значительно.

Вы это в chat gpt закидывали или в playground?

Добавил в статью пример 5 для простого прототипирования работы с Postgres. Результат приятно порадовал. Для прототипирования/небольших тестов вполне годно.

UFO landed and left these words here

How do i find element in slice in Go

import "sort"

slice := []int{3, 7, 1, 9, 5}
index := sort.Search(len(slice), func(i int) bool { return slice[i] >= 5 })
if index < len(slice) && slice[index] == 5 {
	fmt.Println("Found element at index:", index)
} else {
	fmt.Println("Element not found in slice")
}
  1. Это нормально что поиск конкретного значения 5 выполняется с проверкой на >=?

  2. Проверка index < len(slice) корректна, но только потому что sort.Search() вернёт значение большее максимального индекса если ничего не найдёт (это и в доке указано), тогда как в описании решения написано This function returns the index of the element in the slice, or -1 if the element is not found.. Но если бы функция реально возвращала -1, то index < len(slice) был бы true а при вычислении slice[index] мы бы получили ошибку panic: runtime error: index out of range [-1]

  1. Да, так работает бинпоиск. Search возвращает индекс первого элемента, для которого переданная функция равно true, а это возможно только при условии >= 5.

    То есть для сортированного списка 1, 3, 5, 7, 9 переданная функция будет true для всех элементов, начиная с третьего до последнего (из документации sort.Search: "Search uses binary search to find and return the smallest index i in [0, n) at which f(i) is true, assuming that on the range [0, n), f(i) == true implies f(i+1) == true.")

  2. Я в статье упоминал, бот перепутал функции Index и Search, в описании говорится про Index, а реально используется Search, которая никогда не возвращает -1, а возвращает n, если поиск неуспешен (из документации sort.Search: "If there is no such index, Search returns n. (Note that the "not found" return value is not -1 as in, for instance, strings.Index"), поэтому runtime error не случится.

Часто в примерах вижу, что не используется основная фишка - чат, когда есть история разговора и можно поправлять ChatGPT. Например, можно было написать что лучше использовать Index, а не Search, бот тогда обновит код.

Вижу классное нишевое использование подобных ботов, например, в плане поиска нужных библиотек и примеров из них

С этим и гугл вроде хорошо справляется

На порядок или два медленнее. Пока откроешь гитхаб или стековерфлоу, пока раскуришь ответ, пока подпилишь его под свои нужды. А тут все сразу за 5 секунд.

Логические задачи он решает в лоб, даже не пытается оптимизировать решение

Скриншот

Да, в лучшем случае хватит одной монеты. Но GPT предложил тремя монетами проверить, но даже после трёх монет мы так и не узнаем точно где какой автомат. Выпадет случай два чая и один кофе или два кофе и один чай.

В чем состоит этои лучший случай, где одна проба устраняет все неопределенности?

Лучший случай, когда бросаем монетку в автомат, на котором висит наклейка «чай или кофе». Мы знаем, что это ложь. Поэтому если автомат выдаст кофе, то в этом автомате только кофе. А остальные два автомата просто методом исключения. Автомат с наклейкой «кофе» точно нам его не выдаст, так как кофе мы уже получили, значит в нём чай. А автомат с наклейкой «чай» выдаёт «чай или кофе».

Автомат с наклейкой «кофе» точно нам его не выдаст, так как кофе мы уже получили

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

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

Узнаем точно после всего 1 монеты. Но я не буду вам подсказывать, кроме этого текста.

UFO landed and left these words here

Тогда и наоборот:

Бросаем монетку в автомат, на котором висит наклейка "чай или кофе", если выдаст чай, то в этом автомате только чай. А в автомате, с надписью "кофе", по условию задачи не может быть кофе, и т.к. мы уже нашли автомат с чаем, то остаётся только один вариант "чай или кофе".

Либо я не понимаю, что означает фраза "выдает ... чай или кофе (определяется случайно)" в условии..

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

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

Или "определяется случайно" в условии относится на самом деле не к работе аппарата "случайным образом выдает иногда чай, а иногда кофе", а к процессу приклеивания этикеток (следующей фразе)? Ну типа "иногда этикетку 'чай или кофе' мы наклеиваем на чайный аппарат, а иногда на кофейный"?

Вы всё правильно поняли, но возможно не обратили внимания, что "на всех автоматах наклеены не те этикетки", то есть автомат с этикеткой "чай или кофе" на самом деле всегда выдаёт либо чай, либо кофе.

Да, теперь понял, спасибо.

Коль скоро мы кидаем монетку в аппарат с самой непонятной надписью (чай или кофе), выдает он нам строго определенный напиток, однозначно говорящий, что это за аппарат.

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

Решение не просто неоптимизированное, но и неверное. Как это он предлагает бросив одну монетку определить, что автомат выдаёт чай или кофе случайно?

Никто часом не написал ТГ-Бота для этой приблуды? А то захожу.. В прошлой реализации работало, а сейчас мне говорит: извините, не из вашей страны. Я мог бы обойти, конечно, но вдруг кто-то уже накреативил что-то раньше?

OpenAiChat_bot работает, вроде бы, но разметка мессенджера убивает отступы в коде сильно

Ну и в чем тут крутость? Задачи software engineering это планомерно создавать продукт, чтобы он был поддерживаемым, понимаемым, читаемым, искать архитектуру, искать компромисы между системами, командами, удовлетворять требования заказчиков и тд.

а тут какой то вопрос стековерфлоу который гуглится быстрее и разнообразнее

Самое классное, что он и русский с украинским прекрасно понимает

Sign up to leave a comment.

Articles