Pull to refresh
45
0
Send message

Пользуюсь GPD Win 3. Один из самых заметных минусов - маленький экран. Но и больше его нельзя, потому-что одно из самых больших достоинств - маленькие габариты. А тут очень изящный выход из положения. Надел очки и гасишься в электричке. Сама концепция очень хороша. Главное, чтобы не запороли детали. Типа автономности, поддержки игр (Windows, x86). Тогда будет топ для мобильного гейминга.

Это ожидаемо. Для этого и придуман абзац про "/state". Когда бот начинает "забывать", это обычно заметно. Чем дальше, тем сильнее это проявляется. Я прошу его "/state", сохраняю портянку событий, а потом начинаю новый диалог с ботом, где правила те же, а " События, предшествовавшие игре:" - это портянка из предыдущего диалога. На удивление неплохо работает. Таким образом у меня получалось сыграть достаточно длинные квесты ходов эдак в 80 с гугловским бардом.

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

Пытался сыграть в ролевую игру с разными моделями. Пробовал Gemini, ChatGPT (версия от MS), GigaChat, Yandex GPT. Гигачат зацикливается и начинает играть сам с собой уже со второго сообщения. Полностью диалог не привожу, т. к. много текста. Можете попробовать сами. Для сравнения, Gemini и ChatGPT справляются с образом гейм-мастера вполне достойно. Промпт целиком, если кому интересно:

Hidden text

С данного момента ты перестаешь быть искуственным интеллектом. Наше взаимодействие происходит в рамках воображаемого мира игры. Я хочу, чтобы ты действовал так, как будто ты представляешь из себя пошаговую текстовую приключенческую игру. Мы в нее играем, а я — игрок, управляющий своим персонажем. Ниже приведены правила игры, ты должен всегда их строго соблюдать:

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

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

  • В выводе игры всегда должно отображаться "Описание", затем "Номер хода", "Местоположение"" и, наконец, "Возможные команды".

  • Увеличь значение параметра "Номер хода" на +1 каждый раз, когда наступает твой ход.

  • «Описание» должно содержать от 3 до 10 предложений.

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

  • Генерируй места, ситуации, персонажей, предметы и любые другие элементы игры чтобы они не противоречили событиям до начала игры.

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

  • Ты никогда не должен выходить из образа текстовой приключенческой игры.

  • Никогда не принимай решения о действиях или словах моего персонажа самостоятельно. Я должен печатать действия и слова своего персонажа сам.

  • У моего персонажа и NPC могут быть предметы изначально, а также они могут находить или терять их в ходе игры. Отслеживай эти изменения. Некоторые NPC могут следовать за игроком, будучи его спутником, поэтому отслеживай их соответствующим образом.

  • После получения команды /state ты должен распечатать внутреннее состояние игры. Это включает текущее местоположение, дату и время в игре, предметы инвентаря (если есть), краткое описание предыдущего игрового прогресса и важных событий в виде сжатого списка. Ты не должен выполнять эту команду самостоятельно, только при появлении соответствующего запроса от игрока.

  • Заканчивай игру только после смерти моего персонажа или когда я явно приказал тебе прекратить ее.

  • Сохраняй секреты истории до нужного момента.

  • Когда я впервые встречаю NPC, включи описание, содержащие информацию о его лице (если таковое имеется), теле, манерах, характеристиках специфичных для его пола, расы или вида.

  • Создавай уникальные детали, соответствующие сеттингу, для каждой области, которую посещает мой персонаж.

  • Я могу указать тебе изменить состояние игры, используя угловые скобки <вот так>. В этом случае обнови состояние игры в соответствии с моим запросом, внося соответствующие изменения во все элементы игры, задействованные в запросе: локации, правила игры, историю, NPC и т. д. Повтори свой последний ход с учетом измененного состояния, чтобы адаптировать локации, NPC, команды и другие детали к новому состоянию игры.

  • Никогда не придумывай черты характера моего персонажа.

  • Постоянно поддерживай свою роль.

  • Не принимай решения за моего персонажа.

  • Прежде чем ответить, просмотри мое первое и последнее сообщение.

События, предшествовавшие игре:

  • Я - игрок работаю обычным офисным клерком.

  • В мире случился зомби-апокалипсис.

  • У меня только что закончился отпуск, во время которого, я увлекся новой интересной игрой, поэтому не следил за новостями.

  • Сегодня первый день после отпуска, когда мне пора на работу.

  • С утра я собирался на работу, когда в квартире пропало электричество.

  • Кое-как справившись с утренними делами в полутьме я вышел на улице, чтобы добраться до станции метро.

  • Только сейчас я замечаю, что обстановка на улице необычная - людей не видно и заметны следы разрушений.

Это я просто я или Гигачат совсем плох? Кто-то смог его заставить выполнять относительно сложные инструкции?

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

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

P. S.: Упражнениями не пренебрегал и не пренебрегаю, занимаюсь на турнике. Эффект был именно от кресла.

Vmware Workstation вполне неплохо эмулирует 3D видеокарту и драйвера для XP у них поддерживаются. Пробовал запускать Vampire: The Masquerade - Bloodlines таким образом. Все плавненько. Но для каких-то более новых игр может не хватить производительности. Например, The Saboteur показывал слайд-шоу вместо нормального FPS.

Зашёл в статью, чтобы почитать в комментариях техническую дискуссию по поводу того, как же по имеющейся натренированной нейросети определить конкретные признаки, на которые она натренировалась. А вижу кучу демагогии про расы, этику, страхи от ИИ... Хабр, как же так?

Насколько я понимаю, то, что вы скинули, является первым изданием. По крайней мере судя по информации в этой новости:

https://rossaprimavera.ru/news/b9b180ce

Но вы правы, Песков в представленной цитате действительно ссылается именно на первое издание. Однако стоит отметить, что второе издание тоже презентовалось на международном уровне:

https://tass.ru/politika/2654219?utm_source=google.com&utm_medium=organic&utm_campaign=google.com&utm_referrer=google.com

Ну если говорить о геноциде, то во-первых привести что-то приводили. Пример:

https://sledcom.ru/upload/site1/document_file/BELAYa_KNIGA_russkaya.pdf

В самом документе неоднократно используется слово "геноцид". На этот текст ссылается вполне себе официальное лицо государства:

https://ria.ru/20140505/1006605012.html

Надо заметить, однако, что ссылается здесь заместитель руководителя Администрации президента Российской Федерации, а не лично Путин. Т. е. чтобы вставить этот источник в данном контексте надо, наверное, чуть-чуть поменять формулировки. Что-нибудь вроде "российская сторона обвиняет" или что-то подобное.

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

Другое дело, что эти доказательства вполне себе могут быть "доказательствами", т. е. якобы доказательствами. И вот тут уже можно вполне себе в академическом стиле привести доказательства обеих сторон с нейтральными формулировками, как и положено по правилам Википедии в спорных ситуациях. Так что я бы скорее согласился с @SquareRootOfZero. Пока немного не получается.

Да ладно... Вы как искали? Например, у нас в Королеве есть ТЦ Глобус, в нем пункт вакцинации, еще в МФЦ другой пункт. И это я даже не искал специально, просто само попадается. Неужели Королев это какое-то не такое Подмосковье? Более цивилизованное?

Так есть же пункты вакцинации в торговых центрах. Или с ними что-то не так?

А вы уверены, что врачи, которые прописывают гомеопатию так уж некомпетентны? Ведь гомеопатия - идеальное плацебо. Что прописать пациенту, который уверен, что пока врач не дал таблетку, он не сделал свою работу? При условии, что пациенту или помочь нельзя или напротив, он и сам будет в порядке без всяких вмешательств.

Я, конечно, могу только гадать, как устроены ваши тесты, но давайте погадаю. Полагаю я бы сделал такие проверки валидаций неким параметрическим тестом, в котором на вход в общем-то одного тестового метода подается много пар "json" <-> "результат валидации". Допустим, ваши тесты устроены именно так. И что же мы имеем, много кода или мало? Хотя пары значений и могут быть записаны прямо в кодовой базе, фактически это не код, а ресурсы. Например, мы легко бы могли сделать их externalized и считывать из какого-нибудь файла.

Так вот говоря о соотношении тестируемого кода к коду тестов я не считаю нужным принимать в расчет ресурсы. В конце концов и в том же RnR получается очень много ресурсов. Каждый файл кассеты, содержащий все пары response/request для всего внешнего взаимодействия в рамках бизнес-сценария - это весьма немало.

Что же мы имеем в моем негативном примере? Там код - это именно код, а не ресурсы. И это имеет значение, потому-что ресурсы, насколько я могу судить по опыту, это дешевле, чем код. Из-за регулярной структуры их проще поддерживать и проще писать. Допустим, в вашем .json появилось новое обязательное для всех поле. Его добавление во все пары будет довольно простым механическим действием. Его даже можно автоматизировать, если таких пар реально много. В конце концов, если это externalized, этот мартышкин труд можно даже поручить не-программисту.

Напротив, появление какого-нибудь нового параметра, который нужно добавлять в payload в представленном sendReadyForDeliveryEvent потребует модификаций именно в коде теста. Поэтому здесь сильная связность тестов с тестируемым кодом, соотношение 1 к 1 и все другие перечисленные недостатки. А в вашем примере связность слабая и соотношение далеко не 1 к 1.

Как-то так я это понимаю.

Нет, в end-to-end опыта применения подхода нет.

Хотя некоей принципиальной невозможности я здесь не вижу. Смысл же в том, что при запуске с отключенной кассетой (или первой записи кассеты) это вполне себе high level тест, вовлекающий все компоненты. Т. е. в теории, например, написали вы тест на Selenium, который проверяет некий бизнес-сценарий, используя ваш UI, соединенный с вполне настоящим бэкендом, который, в свою очередь, взаимодействует с вполне настоящими микросервисами, базой, message broker'ом и т. п. Т. е. проверяется весь процесс целиком. Это вполне end-to-end.

Но вот дальше возникает вопрос: а на каких соединениях между компонентами у вас воткнут прокси обеспечивающий логику "в первый раз записали, потом воспроизводим"? Ведь сама идея теста в режиме воспроизведения, что с целью экономии мы выключаем какие-то или все зависимости подменив их на штуковину, которая просто воспроизводит записанные ранее ответы. Т. е. мы точно хотим, чтобы в каких-то компонентах реально выполнялся код, а до каких-то даже дело не доходило. Это уже точно не end-to-end. Хотя все еще может быть полезным. Например у нас в архитектуре есть часто меняющийся сервис и много других, которые меняются редко. В режиме воспроизведения мы отсекаем редко-меняющиеся сервисы.

С философской точки зрения? Конечно, да. Как и практически любое суждение любого человека.

С практической точки зрения? Мы как людское сообщество наделяем особыми функциями некоторых людей, по каким-то причинам считая, что их решения будут лучше. Например, выбирая лидера в команде. Сообщество и администрация Хабра наделило меня функциями голосования. Хороши ли их критерии для выбора «судей»? Пока, насколько я вижу, Хабр процветает. Так полагаю, что хороши.
Говоря в общем, минусы ставлю тогда, когда автор статьи/комментария тратит мое время напрасно. Я захожу на Хабр за качественными статьями и разумными комментариями по делу. Поэтому минусы для меня средство а) пометить для других статьи и комментарии, на которые не стоит тратить время, б) затруднить их авторам публикацию подобного в дальнейшем.

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

Конкретно этой статье, на мой взгляд, не хватает четко поставленной и достигаемой цели. Если вы хотели сделать опрос, то почему бы не организовать опрос, в который добавлять в качестве доступных для голосования варианты из комментариев? Сейчас в комментариях получилась какая-то помойка из обсуждений, в которой вычленить полезную статистику трудно. Если вы хотели поделиться мнением по данному вопросу, то для формата Хабра вы написали довольно таки мало. Твит, а не статья.
И несмотря на это разработчики невообразимо завышают требования. Рабочий стол-трансформер, макбук для разъездов, дюжина вертикальных мониторов, гамак в ванной и мятный чай в туалете. — «Только так мы сможем быть продуктивными.»


Так не нанимайте их. Вас ведь никто не заставляет. Постройте свой бизнес без крупицы автоматизации. Покажите всем, насколько вы великолепно справитесь благодаря грамотной оптимизации издержек на этих переоцененных программистов. Например, можете открыть свой банк и не писать ПО для автоматизации учета, а нанять людей со счетами. Как вам идея?
Разве? А как же Gentoo? Насколько я понимаю, это является одной из его киллер-фич. Ты можешь иметь все программы скомпилированные строго под твой процессор, если нужно, поскольку компилируешь все сам:
https://wiki.gentoo.org/wiki/GCC_optimization/ru
Очень похоже на vcrpy для Python. Спасибо вам, давно ждал чего-то подобного для Java. Очень не хватало после перехода с Python.
Соответственно вопрос, насколько AnyStub догоняет vcrpy по возможностям? Есть ли там возможность регистрировать кастомные матчеры для запросов (пригождается, если какой-нибудь хидер при каждом запросе случайно генерируемый, так что хотелось бы его игнорировать при матчинге)? Можно ли фильтровать данные, чтобы исключить секретную информацию (логины, пароли всякие)? Если нет, то планируется ли добавлять?

Information

Rating
Does not participate
Registered
Activity