Возможно, суть ещё в фокусировке. Электронная система может определять точное расстояние до цели и идеально подстраивать фокусное расстояние лазера. Вручную такое не обеспечить.
Надо светить не на всего комара, а на небольшую точку в его крыльях (они вдобавок сами по себе тонкие и не такие теплоёмкие как тело), чтобы их повредить и он упал.
Каждая поверхность отражает в определённом диапазоне длин волн. Если там инфракрасный, например, лазер, то для него даже обычное стекло уже не особо прозрачное. Плюс ещё играет роль фокусировка. Человек между комаром и лазером попадёт не в фокусное расстояние. Плюс система по-любому должна мгновенно отключать лазер при потере цели, а не прожигать путь к комару.
Может использоваться длина волны, которая почти не отражается бытовыми зеркалами. Плюс ещё играет роль фокусировка - для эффективного спекания комаров система должна точно фокусировать луч на нужном расстоянии. Если глаз окажется вне расчётной зоны, то в него попадёт менее опасный несфокусированный луч.
Но это всё теория. На практике я бы такую штуку ставить дома не рискнул бы :-) Лучше фумигатор.
А в чем, собственно, проблема иметь 250к клиентов, если твой сервис не предполагает ручной кастомизации под каждого клиента, а только в пределах алгоритма (в данном случае LLM, когда-то это был бы визуальный дизайнер сайтов)?
Алгоритм разрабатывается, а потом им пользуются тысячи. Идеи он принимал из linkedin от подписчиков, вряд ли там все 250к были, большинство клиентов для него лишь запись в БД.
Создал конкуренцию сервисам международных переводов. Потенциально снизил этим их комиссии.
Плюс незаконные операции понятие очень субъективное. Например, с 2022 года айтишник мигрант живущий в Европе не может простыми способами без крипты содержать престарелых родителей в России. Варианты забить на них или возвращаться работать в Россию вряд ли лучше.
А ещё крипта это песочница, где можно обкатывать всякие идеи, а удачные применять в традиционных финансах. Где ещё проверить работу дефляционной экономики, анкап судов и т д. не шатая слишком устройства существующих государств и со строго добровольным opt in участников.
От МММ по итогу выгоду получила небольшая группа людей (организаторы и те, кому повезло рано зайти и вовремя выйти).
От ИИ сейчас получает выгоду широкая группа людей - бесплатно или за 20 баксов в месяц доступ к качественному распознанию изображений и голоса, неплохому генератору изображений, хорошему машинному переводу с учётом контекста, генератору идей для мозгового штурма и умному поисковику в Интернете.
Многих услуг раньше не было или они стоили совсем другой порядок сумм. А теперь доступны всем.
В то время как инвестируют в ИИ меньшинство. И если и потеряют деньги, то это самое меньшинство (у которого по хорошему есть консультанты по инвестициям и т п, они в целом в сильной позиции, если бы им было очень важно не терять деньги, они бы не теряли).
Я могу бесплатно или за 20 баксов в месяц получить доступ к очень качественному распознанию картинок и голоса, генератору картинок среднего качества (пойдет как графический lorem ipsum, а также для референсов живым дизайнерам, чтобы быстрее и лучше объяснить им задачу), генератору идей для мозгового штурма (многие будут как положенно бредовыми, но что-то откликнется), качественному машинному переводу с учётом контекста...
В общем, продукт есть даже если не тот, что заявлен
Ну тут как посмотреть. Сейчас можно бесплатно распознавать тексты на уровне качества на уровне или даже выше, чем всякие старые решения типа FineReader. Можно генерировать картинки, которые занимают нишу низкокачественных иллюстраций (применимых там, где лучше что-то, чем ничего, а также всяких временных заглушек), а также референсов для заказа у фрилансеров нормальных картинок. Можно использовать ИИ как технического консультанта в творчестве (его галлюцинации гораздо лучше, чем взлом Пентагона с помощью утилиты ping). Распознание и синтез речи стали качественнее.
Общественное благо, в общем есть. Даже если инвестиции не окупятся. Можно считать это налогом на инновации.
Если кто-то взял денег на завод для производства табуреток, а сам на эти деньги уехал на Мальдивы, то это мошенничество.
А тут деньги взяты на разработку ИИ, деньги потрачены на разработку ИИ. Где предел развития LLM никто на этой планете точно сказать не может (в отличии от того, что большинство людей понимает, что поездка на Мальдивы завод по производству табуреток в Краснодаре точно не построит). По сути единственный способ надёжно проверить, это потратить те самые миллионы и посмотреть на результат.
Плюс есть побочные ачивки. ИИ плохо кодит, но хорошо пишет рассказы про программистов (получше, чем профессия кодера представлена в большинстве обычных фильмах и книгах), ИИ вывел на новый уровень распознание голоса и изображений. Машинный перевод с учётом контекста.
Теории не обязательно быть полностью верной, чтобы быть полезной.
Классика запрет свинины у мусульман. Можно много говорить о том, что деление животных на чистых и нечистых ненаучно, но тем не менее свинина быстро портилась в климате регионов, где зародился ислам. А про микробов никто не знал, а даже если кто-то подозревал, их было меньшинство. А вот бог запретил есть свинину - просто и доступно. И уменьшает количество отравлений среди широких масс.
Многие ныне устаревшие научные теории работали в какой-то области применимости в своё время или решали какую-то практическую задачу даже будучи по сути неверными (например, маска чумного доктора действительно уменьшала риск заражения, но совсем не потому, почему думали в то время).
Если брать человека в целом, то галлюцинирует он неслабо. Но если взять специалиста в узкой области и спрашивать его исключительно по этой самой области, то процент галлюцинаций будет значительно ниже, чем у ИИ, в том числе на вопросах где ответа человек не знает (разумеется, специалист хороший предупредит о том, где реальные знания его, а где гипотезы).
Они часто не имеют достаточно полномочий для решения вопроса, но они продолжают пересказывать общие рекомендации, хотя ты им уже кучу раз ответил, что половину рекомендаций сам попробовал ещё до обращения, вторую половину после первого ответа. Там где до человека уже дошло бы, что пора изучить вопрос детальнее (если у первой линии есть полномочия решить вопрос) или передать в следующую линию поддержки (если полномочий нет) или в конце-концов нафиг послать (политика компании не решать такие вопросы, клиент сам виноват, что попал в проблему).
В последний раз мне пришлось обращаться к другому ИИ (ChatGPT), чтобы составил идеальную реплику, вызывающую перевод на оператора. И то пришлось её отправлять 3 раза подряд. Своими силами не осилил выйти из вечного цикла.
Средства языка позволяют достаточно сахара для того, чтобы спрятать косвенные вызовы функции. Есть же шаблоны и перегрузка операторов. Можно написать MethodRef, который будет вызываться точь в точь как настоящий метод, только без проверки аргументов в compile time (обернуть все в std::any или аналог) перегружая operator() variadic template функцией.
На самом деле, видимым в хорошей реализации останется только наследование от Object. Но это одна строчка на класс, плюс философия плюсов не платить за то чем ты не пользуешься, так что даже на уровне языка если бы была динамическая рефлексия, было бы нужно её явно включать для каждого класса специальным ключевым словом. Потому что она не бесплатна в рантайме (по сути сделает обязательной vtable для класса).
Ваще не проблема. Пишете свой класс Object (или используете какую-то библитеку), которые имеет виртуальные методы типа getMethods, getFields и от которого наследуются все классы, которые должны уметь в рефлексию. При этом реализация этих методов генерируется в момент компиляции соответствующего класса с помощью статической рефлексии в одну строчку (вызов какой-нибудь consteval функции или наследованием через особый хитрый шаблон).
Теперь вы можете обращаться через такую рефлексию к классам из других модулей, к которым у вас не было доступа во время сборки вашего собственного кода (ну, конечно, собрано оно должно быть компиляторами с одинаковым ABI, это уже ограничение самих плюсов). Главное, чтобы код Object и генератора метаданных был общий для всех (благодаря статической рефлексии он может быть в виде header-only библиотеки, которую ничего не стоит подрубить везде).
Что-то подобное уже реализовано в Qt (там можно вызывать методы и писать свойства объектов по их именам), но требует запуска специального препроцессора для генерации метаданных. Со статической рефлексией можно отказаться от отдельного компилятора, снизив порог входа и упростив использование.
При зашивании всего в программу, можно на этапе компиляции проверить данные вместо падения в рантайме. Плюс не надо писать обработку ошибок. Плюс не надо тратить ресурсы на парсинг при каждом запуске. Плюс не везде есть файловая система в привычном виде, чтобы из нее читать конфиг (embedded, wasm)
Люди, жалующиеся на то, что рефлексия не рантайм. На статической рефлексии легко реализовать рантайм (собрать все поля и методы класса в служебные структуры, позволяющие косвенное обращение, а затем в рантайме их использовать). А вот наоборот не выйдет.
Так что статическая рефлексия является более общим и универсальным механизмом.
Я не случайно привёл в пример не просто один хеш коммита, а целый конфиг сборки.
Допустим, у нас есть какой-то редактор этого конфига и проще сохранять/загружать его в json, чем парсить какой-нибудь config.h. Особенно если конфиг сложный, содержит вложенные структуры и т д
Или мы качаем конфиг с внешнего сервиса, где его меняют через веб интерфейс люди вообще далёкие от программирования на плюсах, а CI/CD запускает сборку бинарника по нему.
Да, это всё уже сейчас решается кодогенерацией. Но это надо писать скрипты под конкретный проект, усложнять сборку и т д. А теперь можно просто положить JSON и компилятор сам всё сделает. Разумеется, constexpr парсер json должен быть из какой-то библиотеки, а не руками его писать.
В том, что по ТЗ не нужна динамическая замена ресурсов.
Это может быть embedded, где файловой системы вообще нет и всё вкомпилировано в бинарник. Это может быть WASM, где такое тоже встречается. Это может быть портативный софт "всё в одном бинарнике". Динамическая погрузка ресурсов не бесплатна, не всегда возможна и не всегда нужна.
Просто нужно иметь возможность вкомпилировать в бинарник некие const данные, которые не будут меняться после сборки. Раньше надо было описывать такие данные в коде, тепеоь можно принять данные в любом удобном формате без дополнительных утилит, кроме компилятора.
Возможно, суть ещё в фокусировке. Электронная система может определять точное расстояние до цели и идеально подстраивать фокусное расстояние лазера. Вручную такое не обеспечить.
Надо светить не на всего комара, а на небольшую точку в его крыльях (они вдобавок сами по себе тонкие и не такие теплоёмкие как тело), чтобы их повредить и он упал.
Каждая поверхность отражает в определённом диапазоне длин волн. Если там инфракрасный, например, лазер, то для него даже обычное стекло уже не особо прозрачное. Плюс ещё играет роль фокусировка. Человек между комаром и лазером попадёт не в фокусное расстояние. Плюс система по-любому должна мгновенно отключать лазер при потере цели, а не прожигать путь к комару.
Может использоваться длина волны, которая почти не отражается бытовыми зеркалами. Плюс ещё играет роль фокусировка - для эффективного спекания комаров система должна точно фокусировать луч на нужном расстоянии. Если глаз окажется вне расчётной зоны, то в него попадёт менее опасный несфокусированный луч.
Но это всё теория. На практике я бы такую штуку ставить дома не рискнул бы :-) Лучше фумигатор.
У меня есть подозрения, что комиссии за переводы снизились и не в санкционные направления.
А в чем, собственно, проблема иметь 250к клиентов, если твой сервис не предполагает ручной кастомизации под каждого клиента, а только в пределах алгоритма (в данном случае LLM, когда-то это был бы визуальный дизайнер сайтов)?
Алгоритм разрабатывается, а потом им пользуются тысячи. Идеи он принимал из linkedin от подписчиков, вряд ли там все 250к были, большинство клиентов для него лишь запись в БД.
Создал конкуренцию сервисам международных переводов. Потенциально снизил этим их комиссии.
Плюс незаконные операции понятие очень субъективное. Например, с 2022 года айтишник мигрант живущий в Европе не может простыми способами без крипты содержать престарелых родителей в России. Варианты забить на них или возвращаться работать в Россию вряд ли лучше.
А ещё крипта это песочница, где можно обкатывать всякие идеи, а удачные применять в традиционных финансах. Где ещё проверить работу дефляционной экономики, анкап судов и т д. не шатая слишком устройства существующих государств и со строго добровольным opt in участников.
От МММ по итогу выгоду получила небольшая группа людей (организаторы и те, кому повезло рано зайти и вовремя выйти).
От ИИ сейчас получает выгоду широкая группа людей - бесплатно или за 20 баксов в месяц доступ к качественному распознанию изображений и голоса, неплохому генератору изображений, хорошему машинному переводу с учётом контекста, генератору идей для мозгового штурма и умному поисковику в Интернете.
Многих услуг раньше не было или они стоили совсем другой порядок сумм. А теперь доступны всем.
В то время как инвестируют в ИИ меньшинство. И если и потеряют деньги, то это самое меньшинство (у которого по хорошему есть консультанты по инвестициям и т п, они в целом в сильной позиции, если бы им было очень важно не терять деньги, они бы не теряли).
Я могу бесплатно или за 20 баксов в месяц получить доступ к очень качественному распознанию картинок и голоса, генератору картинок среднего качества (пойдет как графический lorem ipsum, а также для референсов живым дизайнерам, чтобы быстрее и лучше объяснить им задачу), генератору идей для мозгового штурма (многие будут как положенно бредовыми, но что-то откликнется), качественному машинному переводу с учётом контекста...
В общем, продукт есть даже если не тот, что заявлен
Ну тут как посмотреть. Сейчас можно бесплатно распознавать тексты на уровне качества на уровне или даже выше, чем всякие старые решения типа FineReader. Можно генерировать картинки, которые занимают нишу низкокачественных иллюстраций (применимых там, где лучше что-то, чем ничего, а также всяких временных заглушек), а также референсов для заказа у фрилансеров нормальных картинок. Можно использовать ИИ как технического консультанта в творчестве (его галлюцинации гораздо лучше, чем взлом Пентагона с помощью утилиты ping). Распознание и синтез речи стали качественнее.
Общественное благо, в общем есть. Даже если инвестиции не окупятся. Можно считать это налогом на инновации.
Умысел плохо работает в ресерч сфере.
Если кто-то взял денег на завод для производства табуреток, а сам на эти деньги уехал на Мальдивы, то это мошенничество.
А тут деньги взяты на разработку ИИ, деньги потрачены на разработку ИИ. Где предел развития LLM никто на этой планете точно сказать не может (в отличии от того, что большинство людей понимает, что поездка на Мальдивы завод по производству табуреток в Краснодаре точно не построит). По сути единственный способ надёжно проверить, это потратить те самые миллионы и посмотреть на результат.
Плюс есть побочные ачивки. ИИ плохо кодит, но хорошо пишет рассказы про программистов (получше, чем профессия кодера представлена в большинстве обычных фильмах и книгах), ИИ вывел на новый уровень распознание голоса и изображений. Машинный перевод с учётом контекста.
Теории не обязательно быть полностью верной, чтобы быть полезной.
Классика запрет свинины у мусульман. Можно много говорить о том, что деление животных на чистых и нечистых ненаучно, но тем не менее свинина быстро портилась в климате регионов, где зародился ислам. А про микробов никто не знал, а даже если кто-то подозревал, их было меньшинство. А вот бог запретил есть свинину - просто и доступно. И уменьшает количество отравлений среди широких масс.
Многие ныне устаревшие научные теории работали в какой-то области применимости в своё время или решали какую-то практическую задачу даже будучи по сути неверными (например, маска чумного доктора действительно уменьшала риск заражения, но совсем не потому, почему думали в то время).
Если брать человека в целом, то галлюцинирует он неслабо. Но если взять специалиста в узкой области и спрашивать его исключительно по этой самой области, то процент галлюцинаций будет значительно ниже, чем у ИИ, в том числе на вопросах где ответа человек не знает (разумеется, специалист хороший предупредит о том, где реальные знания его, а где гипотезы).
ИИ консультанты и правда задолбали.
Они часто не имеют достаточно полномочий для решения вопроса, но они продолжают пересказывать общие рекомендации, хотя ты им уже кучу раз ответил, что половину рекомендаций сам попробовал ещё до обращения, вторую половину после первого ответа. Там где до человека уже дошло бы, что пора изучить вопрос детальнее (если у первой линии есть полномочия решить вопрос) или передать в следующую линию поддержки (если полномочий нет) или в конце-концов нафиг послать (политика компании не решать такие вопросы, клиент сам виноват, что попал в проблему).
В последний раз мне пришлось обращаться к другому ИИ (ChatGPT), чтобы составил идеальную реплику, вызывающую перевод на оператора. И то пришлось её отправлять 3 раза подряд. Своими силами не осилил выйти из вечного цикла.
Средства языка позволяют достаточно сахара для того, чтобы спрятать косвенные вызовы функции. Есть же шаблоны и перегрузка операторов. Можно написать MethodRef, который будет вызываться точь в точь как настоящий метод, только без проверки аргументов в compile time (обернуть все в std::any или аналог) перегружая operator() variadic template функцией.
На самом деле, видимым в хорошей реализации останется только наследование от Object. Но это одна строчка на класс, плюс философия плюсов не платить за то чем ты не пользуешься, так что даже на уровне языка если бы была динамическая рефлексия, было бы нужно её явно включать для каждого класса специальным ключевым словом. Потому что она не бесплатна в рантайме (по сути сделает обязательной vtable для класса).
Ваще не проблема. Пишете свой класс Object (или используете какую-то библитеку), которые имеет виртуальные методы типа getMethods, getFields и от которого наследуются все классы, которые должны уметь в рефлексию. При этом реализация этих методов генерируется в момент компиляции соответствующего класса с помощью статической рефлексии в одну строчку (вызов какой-нибудь consteval функции или наследованием через особый хитрый шаблон).
Теперь вы можете обращаться через такую рефлексию к классам из других модулей, к которым у вас не было доступа во время сборки вашего собственного кода (ну, конечно, собрано оно должно быть компиляторами с одинаковым ABI, это уже ограничение самих плюсов). Главное, чтобы код Object и генератора метаданных был общий для всех (благодаря статической рефлексии он может быть в виде header-only библиотеки, которую ничего не стоит подрубить везде).
Что-то подобное уже реализовано в Qt (там можно вызывать методы и писать свойства объектов по их именам), но требует запуска специального препроцессора для генерации метаданных. Со статической рефлексией можно отказаться от отдельного компилятора, снизив порог входа и упростив использование.
При зашивании всего в программу, можно на этапе компиляции проверить данные вместо падения в рантайме. Плюс не надо писать обработку ошибок. Плюс не надо тратить ресурсы на парсинг при каждом запуске. Плюс не везде есть файловая система в привычном виде, чтобы из нее читать конфиг (embedded, wasm)
Люди, жалующиеся на то, что рефлексия не рантайм. На статической рефлексии легко реализовать рантайм (собрать все поля и методы класса в служебные структуры, позволяющие косвенное обращение, а затем в рантайме их использовать). А вот наоборот не выйдет.
Так что статическая рефлексия является более общим и универсальным механизмом.
Да, но теперь кодогенератор не требует установки отдельных скриптовых языков, усложнения пайплайна сборки и т д. Теперь он встроен в язык.
Я не случайно привёл в пример не просто один хеш коммита, а целый конфиг сборки.
Допустим, у нас есть какой-то редактор этого конфига и проще сохранять/загружать его в json, чем парсить какой-нибудь config.h. Особенно если конфиг сложный, содержит вложенные структуры и т д
Или мы качаем конфиг с внешнего сервиса, где его меняют через веб интерфейс люди вообще далёкие от программирования на плюсах, а CI/CD запускает сборку бинарника по нему.
Да, это всё уже сейчас решается кодогенерацией. Но это надо писать скрипты под конкретный проект, усложнять сборку и т д. А теперь можно просто положить JSON и компилятор сам всё сделает. Разумеется, constexpr парсер json должен быть из какой-то библиотеки, а не руками его писать.
В том, что по ТЗ не нужна динамическая замена ресурсов.
Это может быть embedded, где файловой системы вообще нет и всё вкомпилировано в бинарник. Это может быть WASM, где такое тоже встречается. Это может быть портативный софт "всё в одном бинарнике". Динамическая погрузка ресурсов не бесплатна, не всегда возможна и не всегда нужна.
Просто нужно иметь возможность вкомпилировать в бинарник некие const данные, которые не будут меняться после сборки. Раньше надо было описывать такие данные в коде, тепеоь можно принять данные в любом удобном формате без дополнительных утилит, кроме компилятора.