Проблема бесконечности в том что они невероятно скучны - в них есть буквально всё что можно придумать.
Не совсем так. Предположим, что вероятность какого-то события или наличия какого-то объекта/штуки ε (эпсилон) или для упрощения 0% при выборке 1 раз. Если сделать выборку бесконечное раз, какова будет вероятность этой штуки? Ответ: неопределённость.
В некоторых случаях эту неопределённость можно очень легко раскрыть, например, с помощью "крутости" бесконечности, которая идёт из теории множеств (континуум и пр.). Если одна бесконечность "круче" другой, то мы можем сразу сказать, что вероятность будет или 0%, или 100%. В других же случаях раскрыть эту неопределённость может быть тяжело или даже невозможно.
Главная фишка тут в том, что бесконечность не ведёт автоматически к вероятностям 100% чего бы то ни было, т.к. итоговая вероятность может компенсироваться другими бесконечностями.
Я когда читал, не заметил точку в конце второго числа, поэтому удивился, что два одинаковых BigInt при сравнении дают false. В реальности же в конце второго числа стоит точка, из-за чего оно хранится как float. Получается сравнение 9007199254740993 == 9007199254740992.0, что логично даёт false.
В каком-то смысле Вы правы, т.к. демократически страны самые развитые и больше всех вносят вклад в глобальное потепление. Но если переформулировать Вашу логику, то это звучит примерно как "Давайте сейчас убьём половину населения Земли, чтобы остановить глобальное потепление и спасти человечество". Наверное, проблему стоит решать по-другому?
А как не зная грамматики переводить? Тут ни думать, ни переводить не получится.
По поводу слов - выше я сказал, что если не знаешь слово, то да, придётся переводить, здесь я не отрицаю. В этом случае ты можешь вспомнить нужное слово на родном или на другом знакомом языке, а потом уже перевести на нужный язык. Хотя это скорее будет перевод конкретного незнакомого слова. Ну или будет полностью смена языка (типа начал думать на одном языке, закончил на другом). Но не полный перевод, когда все мысли формируются на одном языке, а потом переводятся на другой. Такого лично у меня не было.
Впрочем даже без знания грамматики ты всё-равно можешь помнить какие-то выражения/обрывки или мочь составлять очень короткие предложения. Есть языки, которые я плохо знаю, но всё-равно, то, что я могу сказать, я говорю сразу, без внутреннего перевода. Но я просто не могу сказать что угодно на таких языках. При этом я могу даже не знать русских аналогов сказанного (или их просто не существует).
Вы, когда программируете, переводите в уме со своего старого языка программирования на новый или пишете сразу на новом? Мне кажется, что процент тех, кто переводит, не так высок, хотя исследование я не проводил.
Наверное, на начальном уровне можешь быть такое, что не можешь составить фразу, и пока думаешь, у части людей она может всплывать на родном языке. Тут, во-первых, не уверен, что это нужно считать за перевод, а во-вторых, в случае с китайским порядком слов нельзя использовать аргумент "все люди всегда вначале формируют мысль на родном языке, а потом переводят на неродной" - это точно неправда, по крайней мере в такой формулировке.
Ведь вы будете думать на своём языке а потом переводить
Это ведь неправда. И на японском, и на английском языках я всегда сразу думаю на конечном языке (даже раньше, когда хуже их знал). Не думаю, что кто-то реально вначале составляет предложение на другом языке, а потом переводит.
Причём в моём случае, кстати, свои мысли с японского на русский я не смогу перевести (это слишком сложно). Придётся очень долго думать над каждой фразой.
В исходной статье, кстати, был применён символ "??♂️" (5 кодовых точек Unicode), а в переводе стал символ "?♂️" (4 кодовых точки Unicode). Из-за этого, если запустить примеры, то получится не тот результат, который написан в этих же примерах, т. к. в примерах указан символ ?♂️, а длина строки посчитана для символа из исходной статьи.
Класс Intl.Segmenter можно использовать и для других целей, например, чтобы разбить японский или китайский текст, в котором нет пробелов, на слова. Правда сейчас пока в японском разбивает ну очень плохо, например, слово 間違う успешно считается за одно слово, но если поменять форму, например, на 間違えてる, то считается аж целых 5 слов (間+違+え+てる) вместо одного слова (間違えてる) или хотя бы двух слов (間違えて+る).
Впрочем, соглашусь, что, возможно, было бы интересно увидеть в JS свойство вида String.prototype.graphemeCount, чтобы можно было написать как-то так:
Сменить роль можно. Зачем? В моей статье роль не менялась, это GPT-4 "как он есть".
Для тестирования я тоже предпочту GPT-4 без скрытого диалога или настроек. Я тоже думаю, что так проще/лучше. Но я именно что опроверг Ваше доказательство, что это точно не GPT-4. По факту это спор о разных вещах.
Это второе допущение: "кто-то не только написал бота с изменённой ролью, но и указал ему делать орфографические ошибки".
Но ведь я не делал такое утверждение :) Я лишь сказал, что такое может быть, и это чистая правда (может быть много чего).
Но с формулировкой "не только" я не соглашусь. Если ты хочешь у себя не копию бота, а сделать "ведьмочку Юки", ну наверняка же введёшь какой-то скрытый промт. Я даже когда не хотел ничего такого делать, всё-равно делал подобное для тестирования. А если автор бота как раз хотел сделать это, применение "не только" здесь неуместно, т. к. обычно "не только" говорится о каких-то маловероятных вещах, а тут это скорее само собой разумеющееся.
Если Вы встречали - пожалуйста ссылку.
Я не пользуюсь телеграм-ботами, а для общения с ChatGPT использую оригинальную версию (в данный момент по подписке). Но я программист, и чисто с технической точки зрения могу сказать, что таких ботов должно быть огромное количество, т. к. сделать такой бот слишком уж легко. Не удивлюсь, если сам ChatGPT напишет код для такого бота, но сейчас препятствием этому могут служить его знания только до 2021 года. Некоторые существующие боты при этом могут обманывать пользователя и внутри подсовывать другие модели, например, бесплатные; с этой точки зрения общение с оригинальным ChatGPT или использование ПО с открытым исходным кодом безопаснее.
Такой цели не было
Чтобы это узнать, нужно спросить у автора бота.
Это третье допущение, что автор хотел сделать ошибки.
Но я ведь не говорил, что это точно так. Я сказал, что это может быть так, причём для меня это выглядит более чем правдопободно (чтобы лучше вжиться в роль).
Зачем? Чтобы что? Дискредитировать GPT-4?
Мне кажется, Вы не до конца понимаете суть ботов в телеграме. У многих из них нет цели скопировать ChatGPT, это неинтересно. Многие люди хотят именно что создать бота с определённой личностью, чтобы тем самым поразвлекать пользователя. А оригинальный ChatGPT итак есть на сайте OpenAI.
Я бы сказал так: какие-то авторы хотят сделать что-то одно (например, полностью скопировать ChatGPT), какие-то совсем другое. И это имеет смысл, т. к. делать одно и тоже странно. К дискредитации GPT-4 это не относится, это просто бот-ведьмочка (как я понял).
GPT-4 не отвечает по умолчанию так, как показал пользователь
Верно. Но изначально Вы заявляли другое. Цитирую:
GPT-4 никогда не даёт ответов в таких формулировках
И вот это уже вызывает сомнения. В своём ответе я объяснил, что Вы не привели ни одного неошибочного доказательства этому, а также дополнительно я привёл примеры, когда бот вполне мог бы так отвечать.
Изменение роли и требование совершать орфографические ошибки не повлекут улучшения качества ответов
На самом деле это тоже неверное утверждение с точки зрения логики. Проблема как всегда: оно недоказано.
При этом я могу представить себе случаи, когда это не так. Например, по-умолчанию бот может отказываться отвечать на какие-то вопросы, но ответить после изменения роли. Но если отойти от логики, то мне лично тоже кажется, что изменение роли вряд ли в среднем улучшит качество ответов. Т. е. если переформулировать утверждение, то я примерно с Вами соглашусь.
Но у Вас тут есть и вторая ошибка: Вы почему-то думаете, что автор бота изменил роль, чтобы именно улучшить качество ответов. Если бы меня спросили одну из вероятных причин изменения роли, то я бы ответил, что "возможно, в развлекательных целях".
Тогда Вы можете спросить: а зачем автор того комментария взял именно такой бот, а не оригинальный ChatGPT? Тут я бы ответил, что "возможно, у него просто нет доступа к оригинальному GPT, поэтому он заменил его на бота, который с его точки зрения использует GPT". При этом я бы подтвердил, что считаю, что лучше использовать оригинальный GPT, и привёл бы причины этого.
Если вы считаете что качество ответов таким образом можно улучшить - это четвёртое допущение.
Не считаю (а если быть точнее, считаю, что скорее всего в среднем улучшить ответы таким способом нельзя).
Пользователь задался целью проверить ответы данные чистым GPT-4
Ну у меня есть большие сомнения, что он действительно задался целью проверить данные чистым GPT-4 :) Скорее всего он просто взял тот GPT или другую модель, которую было проще взять.
считаю что внутри предъявленной простыни - ответы человека. =)
В данном утверждение нет ошибок (по крайней мере если Вы действительно так считаете).
В итоге по поводу допущений: я везде старался использовать такие формулировки, чтобы не делать каких-то логических ошибок или любых других ошибок. Когда я говорю "это может быть так, а может быть это и человек" — здесь нет ошибки и даже допущения. Также мы в большинстве пунктов спорим немного о разных вещах. Я и не отрицаю, что это может быть человек. Как и не отрицаю обратного. Я именно обратил внимание на Вашу формулировку, что это точно человек: это утверждение не было доказано, а если что-то не доказано, то лучше переформулировать на "я считаю, что это человек" или "возможно, это человек" или доказать утверждение.
Кстати, как я понял, Вы тоже используете не оригинальный ChatGPT, а бот Sage, причём который даже по заявлениям разработчиков работает на GPT-3.5 Turbo, а не GPT-4. Не скажу, что это полностью странно, т. к, во-первых, в Вашем случае, как я понял, нет дополнительного скрытого промта, не считая того, который могли добавить сами разработчики из OpenAI, т. е. Ваш бот ближе к оригиналу, а во-вторых, на один из ботов может быть просто больше подозрений, чем на другой. Тем не менее, раз Вы используете стороннего бота, у Вас могут быть подозрения, что это не единственный сторонний бот, и другой бот тоже может использовать GPT.
Javascript не жрёт много, если Вы не говорите жрать ему много (либо если не не знаете язык или не не понимаете, что делаете). Это скорее вина HTML и технологий. Для начала технологии. Берём экран 3840x2160. Каждый пиксель по 4 байта. И уже только на один экран отожралось 32 МБ памяти. А как Вы понимаете, экран должен быть не один, ведь юзер может резко начать крутить страницу как наверх, так и вниз. Т. е. уже 100 МБ утекло.
Далее нужно хранить другие данные для быстрого перерендерига части, которой нет в кэше. Сколько это займёт — не знаю. Зависит от размера и сложности страницы.
Далее, элементы HTML. Не знаю, сколько памяти занимает элемент, но меньше 200 байт на 64-битке мне представить сложно. Теперь представьте простую табличку или что-то на неё похожее строк на 500. Столбцов штук 5. Но элементов в строке будет не менее 15. Уже 7500 элементов, которые в самом простом случае займут 1.5+ МБ (сколько в реальности — не знаю). И это была самая простая страница, без картинок, без кэширования приложения или ещё чего-то интересного.
А с javascript в целом всё не так сложно. Рассчитывайте размер struct как количество элементов * 8 байт (или 4 байта на 32-битке). Аналогично и с переменными. В итоге сколько памяти поюзаете, столько и будет затрачено. Исключение составляют только:
1. Хэши. Их поля занимают очень много (до 100 байт на 64-битке). Но раз мы их юзаем, значит они нам нужны?
2. Созданные объекты: объекты, массивы, строки. Добавят оверхэд 30-70 байт (на 32-битке в 2 раза меньше).
Но конечно всё-таки нюансы есть: 8 байт, когда переменная могла занимать 2 — не очень круто. Если вам это важно, юзайте 32-битные версии — там все переменные и поля классов занимают 4 байта, но и это больше, чем могло бы быть.
Другой нюанс — размер бинарника. Ведь запуская javascript мы одновременно тянем библиотеку из много всего, а также движок javascript. Это как когда вы пишете программу из пары строчек, но из-за подключений библиотек файл раздувается до огромных размеров. И всё это должно быть в памяти. Точно не знаю, сколько, но, возможно, 30 МБ на процесс, из которых порядка половины шарится, если запустить несколько процессов.
Ну и третий нюанс — сборка мусора. Предполагает, что в каждый момент времени часть данных будет не собрана, а значит приложение всегда будет занимать больше памяти, чем использует.
В общем если уж и предъявлять претензии к javascript, то лучше к скорости, а не к памяти. Да, всё оптимизируется, но работает всё-равно дольше.
Лично я сделал только одно предположение: то, что, систему можно попросить сменить роль. И это не совсем предположение: такая функция, вроде, есть в API, но даже без API в обычном чате я регулярно этим пользуюсь, и у меня есть чаты со сменёнными ролями. Примеры:
Пример 1 (система коррекции ошибок, минимальный уровень прошения делать изменения):
I want you to act as a little red ball. I will type messages and you will reply as if you were a little red ball. I want you to reply only as the specified object, and nothing else. Do not write explanations or type anything else. My first message to you:
Пример 3 (переводчик):
I want you to act as Armenian to Russian translator. I will type sentences I want to translate and you will reply with translation only and nothing else. Do not write explanations or type anything else. My first message to you:
Другими словами моё предположение слишком уж вероятное.
По поводу наличия телеграм-ботов — я это за допущение не считаю, т. к. у GPT есть API, который в т. ч. для таких вещей и предназначен.
По поводу орфографических ошибок не увидел у Вас доказательства, почему система не может их делать. Увидел лишь Вашу личную попытку заставить её, которая, как я понял, провалилась, но что это доказывает, я не очень понял. Также я просто не увидел большого количества ошибок в исходных ответах. Из замеченного лично мной только "океana" вместо "океана", что непохоже, на ошибку, совершённую человеком. Но если бы и была цель действительно наплодить ошибок, можно было бы написать скрипт, который будет работать поверх GPT и имитировать их. Если автор бота хочет сменить характер, почему бы и нет? Заменить "ая " на "ий ", чтобы получить "классический" вместо "классическая", легко регуляркой, делающей замены с определённой вероятностью.
Далее я не делал утверждение, что это точно GPT внутри. В первую очередь я опроверг верность Вашего утверждения, о том, что GPT не может так отвечать. Вы не привели никаких доказательств этому, а я намекнул, что GPT вполне может отвечать нестандартно (и, вроде, ну очень сильно нестандартно). GPT обучался на большом количестве текстов и знает много стилей. То, что он отвечает пользователям как сейчас — это по факту либо скрытая просьба отвечать именно так, либо дообучение с человеком. Но это не значит, что он не умеет отвечать по-другому. И лишь во вторую очередь я выразил мысль, что, возможно, там внутри GPT, но данное утверждение я не доказывал, а лишь объяснил его обоснованность.
Также неуверен, что Бритва Оккама здесь применима. В таких случаях мы должны посмотреть факты и доказательства и оценить вероятность чего-либо. В целом с учётом моих знаний, то, что это чат-бот с изменённым характером мне видится более чем разумно (уверен, таких ботов огромное количество). Как и то, что внутри всё-таки не GPT, а другая модель или вообще ответы человека.
Можно попробовать попросить GPT-4 давать ответы в других формулировках или написать ему сообщение, задающее ему "роль", чтобы он начал отвечать от имени этой роли (например, роль автопереводчика, который просто переводит предложения и ничего больше). Также через API могут быть дополнительные инструменты для настройки ответов.
Конкретно здесь человек выше и не скрывал, что у него не чистый GPT-4 / ChatGPT, а сторонний бот, который, вероятно, внутри использует GPT-4 с промтом для смены роли. Т. е. GPT-4 теоретически вполне может давать ответы в таких формулировках, хоть и при дополнительных настройках.
Не совсем так. Предположим, что вероятность какого-то события или наличия какого-то объекта/штуки ε (эпсилон) или для упрощения 0% при выборке 1 раз. Если сделать выборку бесконечное раз, какова будет вероятность этой штуки? Ответ: неопределённость.
В некоторых случаях эту неопределённость можно очень легко раскрыть, например, с помощью "крутости" бесконечности, которая идёт из теории множеств (континуум и пр.). Если одна бесконечность "круче" другой, то мы можем сразу сказать, что вероятность будет или 0%, или 100%. В других же случаях раскрыть эту неопределённость может быть тяжело или даже невозможно.
Главная фишка тут в том, что бесконечность не ведёт автоматически к вероятностям 100% чего бы то ни было, т.к. итоговая вероятность может компенсироваться другими бесконечностями.
Я когда читал, не заметил точку в конце второго числа, поэтому удивился, что два одинаковых BigInt при сравнении дают false. В реальности же в конце второго числа стоит точка, из-за чего оно хранится как float. Получается сравнение 9007199254740993 == 9007199254740992.0, что логично даёт false.
В каком-то смысле Вы правы, т.к. демократически страны самые развитые и больше всех вносят вклад в глобальное потепление. Но если переформулировать Вашу логику, то это звучит примерно как "Давайте сейчас убьём половину населения Земли, чтобы остановить глобальное потепление и спасти человечество". Наверное, проблему стоит решать по-другому?
А как не зная грамматики переводить? Тут ни думать, ни переводить не получится.
По поводу слов - выше я сказал, что если не знаешь слово, то да, придётся переводить, здесь я не отрицаю. В этом случае ты можешь вспомнить нужное слово на родном или на другом знакомом языке, а потом уже перевести на нужный язык. Хотя это скорее будет перевод конкретного незнакомого слова. Ну или будет полностью смена языка (типа начал думать на одном языке, закончил на другом). Но не полный перевод, когда все мысли формируются на одном языке, а потом переводятся на другой. Такого лично у меня не было.
Впрочем даже без знания грамматики ты всё-равно можешь помнить какие-то выражения/обрывки или мочь составлять очень короткие предложения. Есть языки, которые я плохо знаю, но всё-равно, то, что я могу сказать, я говорю сразу, без внутреннего перевода. Но я просто не могу сказать что угодно на таких языках. При этом я могу даже не знать русских аналогов сказанного (или их просто не существует).
Вы, когда программируете, переводите в уме со своего старого языка программирования на новый или пишете сразу на новом? Мне кажется, что процент тех, кто переводит, не так высок, хотя исследование я не проводил.
Наверное, на начальном уровне можешь быть такое, что не можешь составить фразу, и пока думаешь, у части людей она может всплывать на родном языке. Тут, во-первых, не уверен, что это нужно считать за перевод, а во-вторых, в случае с китайским порядком слов нельзя использовать аргумент "все люди всегда вначале формируют мысль на родном языке, а потом переводят на неродной" - это точно неправда, по крайней мере в такой формулировке.
Выше я имел ввиду, что я никогда не переводил с родного языка ни на каком уровне.
Если не знаешь какие-то слова, то да, переводишь. А так нет. Иногда я практиковался в переводе с изучаемого языка, но не на изучаемый.
Даже если это не китаец, то всё-равно:
Все увидели пример России, и теперь знают, насколько это опасно.
В Китае постоянно говорят, что нужно воевать с Тайванем. Это факт. Т.е. китайцы готовы убивать даже других китайцев.
В Китае диктатура. Это факт. Диктатуры рано или поздно приведут к концу света (если это не произойдёт раньше по другом причинам).
Это ведь неправда. И на японском, и на английском языках я всегда сразу думаю на конечном языке (даже раньше, когда хуже их знал). Не думаю, что кто-то реально вначале составляет предложение на другом языке, а потом переводит.
Причём в моём случае, кстати, свои мысли с японского на русский я не смогу перевести (это слишком сложно). Придётся очень долго думать над каждой фразой.
У Вас тоже ошибка:
Только, несмотря
В исходной статье был символ "??♂️", а не "?♂️", поэтому такие различия.
В исходной статье, кстати, был применён символ "??♂️" (5 кодовых точек Unicode), а в переводе стал символ "?♂️" (4 кодовых точки Unicode). Из-за этого, если запустить примеры, то получится не тот результат, который написан в этих же примерах, т. к. в примерах указан символ ?♂️, а длина строки посчитана для символа из исходной статьи.
Автор недооценивает возможности современного Javascript:
Оптимизированная версия:
Что здесь происходит:
Создаём экземпляр класса Intl.Segmenter, который служит для разбиения текста на графемы, слова или предложения. В данном случае выбираем графемы.
Применяем этот класс к строке, чтобы посчитать количество графем.
Если нужно, можно получить графему и её позицию по индексу в строке:
Класс Intl.Segmenter можно использовать и для других целей, например, чтобы разбить японский или китайский текст, в котором нет пробелов, на слова. Правда сейчас пока в японском разбивает ну очень плохо, например, слово 間違う успешно считается за одно слово, но если поменять форму, например, на 間違えてる, то считается аж целых 5 слов (間+違+え+てる) вместо одного слова (間違えてる) или хотя бы двух слов (間違えて+る).
Впрочем, соглашусь, что, возможно, было бы интересно увидеть в JS свойство вида String.prototype.graphemeCount, чтобы можно было написать как-то так:
Для integer, наверное, одинаковые, для double необязательно (из-за потерь в точности):
Не так много людей посылают другу другу .com файлы, к тому же сейчас Винда обычно использует расширение .cmd вместо предыдущего .com.
При скачивании может быть любое расширение на усмотрение автора сайта, необязательно zip.
В данном случае доходность всё-таки повлияла. Да и обычно важна вера в доходность в будущем.
Для тестирования я тоже предпочту GPT-4 без скрытого диалога или настроек. Я тоже думаю, что так проще/лучше. Но я именно что опроверг Ваше доказательство, что это точно не GPT-4. По факту это спор о разных вещах.
Но ведь я не делал такое утверждение :) Я лишь сказал, что такое может быть, и это чистая правда (может быть много чего).
Но с формулировкой "не только" я не соглашусь. Если ты хочешь у себя не копию бота, а сделать "ведьмочку Юки", ну наверняка же введёшь какой-то скрытый промт. Я даже когда не хотел ничего такого делать, всё-равно делал подобное для тестирования. А если автор бота как раз хотел сделать это, применение "не только" здесь неуместно, т. к. обычно "не только" говорится о каких-то маловероятных вещах, а тут это скорее само собой разумеющееся.
Я не пользуюсь телеграм-ботами, а для общения с ChatGPT использую оригинальную версию (в данный момент по подписке). Но я программист, и чисто с технической точки зрения могу сказать, что таких ботов должно быть огромное количество, т. к. сделать такой бот слишком уж легко. Не удивлюсь, если сам ChatGPT напишет код для такого бота, но сейчас препятствием этому могут служить его знания только до 2021 года. Некоторые существующие боты при этом могут обманывать пользователя и внутри подсовывать другие модели, например, бесплатные; с этой точки зрения общение с оригинальным ChatGPT или использование ПО с открытым исходным кодом безопаснее.
Чтобы это узнать, нужно спросить у автора бота.
Но я ведь не говорил, что это точно так. Я сказал, что это может быть так, причём для меня это выглядит более чем правдопободно (чтобы лучше вжиться в роль).
Мне кажется, Вы не до конца понимаете суть ботов в телеграме. У многих из них нет цели скопировать ChatGPT, это неинтересно. Многие люди хотят именно что создать бота с определённой личностью, чтобы тем самым поразвлекать пользователя. А оригинальный ChatGPT итак есть на сайте OpenAI.
Я бы сказал так: какие-то авторы хотят сделать что-то одно (например, полностью скопировать ChatGPT), какие-то совсем другое. И это имеет смысл, т. к. делать одно и тоже странно. К дискредитации GPT-4 это не относится, это просто бот-ведьмочка (как я понял).
Верно. Но изначально Вы заявляли другое. Цитирую:
GPT-4 никогда не даёт ответов в таких формулировках
И вот это уже вызывает сомнения. В своём ответе я объяснил, что Вы не привели ни одного неошибочного доказательства этому, а также дополнительно я привёл примеры, когда бот вполне мог бы так отвечать.
На самом деле это тоже неверное утверждение с точки зрения логики. Проблема как всегда: оно недоказано.
При этом я могу представить себе случаи, когда это не так. Например, по-умолчанию бот может отказываться отвечать на какие-то вопросы, но ответить после изменения роли. Но если отойти от логики, то мне лично тоже кажется, что изменение роли вряд ли в среднем улучшит качество ответов. Т. е. если переформулировать утверждение, то я примерно с Вами соглашусь.
Но у Вас тут есть и вторая ошибка: Вы почему-то думаете, что автор бота изменил роль, чтобы именно улучшить качество ответов. Если бы меня спросили одну из вероятных причин изменения роли, то я бы ответил, что "возможно, в развлекательных целях".
Тогда Вы можете спросить: а зачем автор того комментария взял именно такой бот, а не оригинальный ChatGPT? Тут я бы ответил, что "возможно, у него просто нет доступа к оригинальному GPT, поэтому он заменил его на бота, который с его точки зрения использует GPT". При этом я бы подтвердил, что считаю, что лучше использовать оригинальный GPT, и привёл бы причины этого.
Не считаю (а если быть точнее, считаю, что скорее всего в среднем улучшить ответы таким способом нельзя).
Ну у меня есть большие сомнения, что он действительно задался целью проверить данные чистым GPT-4 :) Скорее всего он просто взял тот GPT или другую модель, которую было проще взять.
В данном утверждение нет ошибок (по крайней мере если Вы действительно так считаете).
В итоге по поводу допущений: я везде старался использовать такие формулировки, чтобы не делать каких-то логических ошибок или любых других ошибок. Когда я говорю "это может быть так, а может быть это и человек" — здесь нет ошибки и даже допущения. Также мы в большинстве пунктов спорим немного о разных вещах. Я и не отрицаю, что это может быть человек. Как и не отрицаю обратного. Я именно обратил внимание на Вашу формулировку, что это точно человек: это утверждение не было доказано, а если что-то не доказано, то лучше переформулировать на "я считаю, что это человек" или "возможно, это человек" или доказать утверждение.
Кстати, как я понял, Вы тоже используете не оригинальный ChatGPT, а бот Sage, причём который даже по заявлениям разработчиков работает на GPT-3.5 Turbo, а не GPT-4. Не скажу, что это полностью странно, т. к, во-первых, в Вашем случае, как я понял, нет дополнительного скрытого промта, не считая того, который могли добавить сами разработчики из OpenAI, т. е. Ваш бот ближе к оригиналу, а во-вторых, на один из ботов может быть просто больше подозрений, чем на другой. Тем не менее, раз Вы используете стороннего бота, у Вас могут быть подозрения, что это не единственный сторонний бот, и другой бот тоже может использовать GPT.
Далее нужно хранить другие данные для быстрого перерендерига части, которой нет в кэше. Сколько это займёт — не знаю. Зависит от размера и сложности страницы.
Далее, элементы HTML. Не знаю, сколько памяти занимает элемент, но меньше 200 байт на 64-битке мне представить сложно. Теперь представьте простую табличку или что-то на неё похожее строк на 500. Столбцов штук 5. Но элементов в строке будет не менее 15. Уже 7500 элементов, которые в самом простом случае займут 1.5+ МБ (сколько в реальности — не знаю). И это была самая простая страница, без картинок, без кэширования приложения или ещё чего-то интересного.
А с javascript в целом всё не так сложно. Рассчитывайте размер struct как количество элементов * 8 байт (или 4 байта на 32-битке). Аналогично и с переменными. В итоге сколько памяти поюзаете, столько и будет затрачено. Исключение составляют только:
1. Хэши. Их поля занимают очень много (до 100 байт на 64-битке). Но раз мы их юзаем, значит они нам нужны?
2. Созданные объекты: объекты, массивы, строки. Добавят оверхэд 30-70 байт (на 32-битке в 2 раза меньше).
Но конечно всё-таки нюансы есть: 8 байт, когда переменная могла занимать 2 — не очень круто. Если вам это важно, юзайте 32-битные версии — там все переменные и поля классов занимают 4 байта, но и это больше, чем могло бы быть.
Другой нюанс — размер бинарника. Ведь запуская javascript мы одновременно тянем библиотеку из много всего, а также движок javascript. Это как когда вы пишете программу из пары строчек, но из-за подключений библиотек файл раздувается до огромных размеров. И всё это должно быть в памяти. Точно не знаю, сколько, но, возможно, 30 МБ на процесс, из которых порядка половины шарится, если запустить несколько процессов.
Ну и третий нюанс — сборка мусора. Предполагает, что в каждый момент времени часть данных будет не собрана, а значит приложение всегда будет занимать больше памяти, чем использует.
В общем если уж и предъявлять претензии к javascript, то лучше к скорости, а не к памяти. Да, всё оптимизируется, но работает всё-равно дольше.
Лично я сделал только одно предположение: то, что, систему можно попросить сменить роль. И это не совсем предположение: такая функция, вроде, есть в API, но даже без API в обычном чате я регулярно этим пользуюсь, и у меня есть чаты со сменёнными ролями. Примеры:
Пример 1 (система коррекции ошибок, минимальный уровень прошения делать изменения):
Пример 2 (смена личности, характер не указан):
Пример 3 (переводчик):
Другими словами моё предположение слишком уж вероятное.
По поводу наличия телеграм-ботов — я это за допущение не считаю, т. к. у GPT есть API, который в т. ч. для таких вещей и предназначен.
По поводу орфографических ошибок не увидел у Вас доказательства, почему система не может их делать. Увидел лишь Вашу личную попытку заставить её, которая, как я понял, провалилась, но что это доказывает, я не очень понял. Также я просто не увидел большого количества ошибок в исходных ответах. Из замеченного лично мной только "океana" вместо "океана", что непохоже, на ошибку, совершённую человеком. Но если бы и была цель действительно наплодить ошибок, можно было бы написать скрипт, который будет работать поверх GPT и имитировать их. Если автор бота хочет сменить характер, почему бы и нет? Заменить "ая " на "ий ", чтобы получить "классический" вместо "классическая", легко регуляркой, делающей замены с определённой вероятностью.
Далее я не делал утверждение, что это точно GPT внутри. В первую очередь я опроверг верность Вашего утверждения, о том, что GPT не может так отвечать. Вы не привели никаких доказательств этому, а я намекнул, что GPT вполне может отвечать нестандартно (и, вроде, ну очень сильно нестандартно). GPT обучался на большом количестве текстов и знает много стилей. То, что он отвечает пользователям как сейчас — это по факту либо скрытая просьба отвечать именно так, либо дообучение с человеком. Но это не значит, что он не умеет отвечать по-другому. И лишь во вторую очередь я выразил мысль, что, возможно, там внутри GPT, но данное утверждение я не доказывал, а лишь объяснил его обоснованность.
Также неуверен, что Бритва Оккама здесь применима. В таких случаях мы должны посмотреть факты и доказательства и оценить вероятность чего-либо. В целом с учётом моих знаний, то, что это чат-бот с изменённым характером мне видится более чем разумно (уверен, таких ботов огромное количество). Как и то, что внутри всё-таки не GPT, а другая модель или вообще ответы человека.
Можно попробовать попросить GPT-4 давать ответы в других формулировках или написать ему сообщение, задающее ему "роль", чтобы он начал отвечать от имени этой роли (например, роль автопереводчика, который просто переводит предложения и ничего больше). Также через API могут быть дополнительные инструменты для настройки ответов.
Конкретно здесь человек выше и не скрывал, что у него не чистый GPT-4 / ChatGPT, а сторонний бот, который, вероятно, внутри использует GPT-4 с промтом для смены роли. Т. е. GPT-4 теоретически вполне может давать ответы в таких формулировках, хоть и при дополнительных настройках.
Если вы с Армении, то может быть интересно. Страна достаточно маленькая, но тем не менее некоторыми продуктами пользуются сотни миллионов людей.