Имя: Пароль:
IT
 
Мы с подругою в НИИ программируем ИИ: разные результаты при одинаковых промптах
0 formista2000
 
02.12.25
10:15
Привет!
Прошу нейронку создать регулярное выражение, чтобы вычленить номер договора из строки по определённым условиям. Там не сложно, и хотя я крайне редко сталкиваюсь с регулярками, не сложно даже для меня. НО! Почему нейронка на один и тот же промпт выдаёт каждый раз разные результаты, большинство из которых не рабочие?
1 Волшебник
 
02.12.25
10:12
Потому что нейронка — это генератор НЕСЛУЧАЙНЫХ чисел. Каждый раз она бродит по пространству токенов, сваливаясь в разные ветки своей мультивселенной.
2 formista2000
 
02.12.25
10:24
(1) То есть, окружение и источники информации для нейронки за несколько минут не изменились, а её поведение изменилось, несмотря на одинаковые промпты что ли?
3 sikuda
 
02.12.25
10:38
(0) Не надо беспокоиться...🔥
Задача имеет несколько решений. Нейронка как всякий сервис подстраивается под ваши предпочтения, как поиск в интеренте...
Зачем нейронка? Чем https://regex101.com не помог?
4 TTimur
 
02.12.25
10:18
Я конечно извиняюсь, но вы бы еще попросили нейронку ЗП рассчитать.
5 dmt
 
02.12.25
10:18
(0) начнем с фактов: какие нейронки использовал и какие были запросы. От этого в первую очередь зависит.
Мы отправим запросы (может подкорректируем) в свои нейронки и сравним
6 formista2000
 
02.12.25
10:22
(5) гига.чат
Промпт простой (уже закрыл вкладку с нейронкой), но такого вида: "Вычленить номер договора, который начинается с начала строки либо после символа "№" и заканчивается перед словом "от". Номер договора может содержать буквы, цифры и символы "-" и "/" ".
7 Волшебник
 
02.12.25
10:23
Джун наоборот: разоблачение главного мифа вайб-кодинга

Принято считать, что нейросети — это такой старательный стажёр: с простыми скриптами справится, а архитектуру или сложную логику завалит. Но эксперт по вычислительной математике из МФТИ готов поспорить. По его мнению, современный ИИ — это «джун наоборот». Он блестяще решает зубодробительные задачи и находит редчайшие алгоритмы, но путается в элементарной базе, где ошибиться, казалось бы, невозможно.

https://habr.com/ru/articles/971226/
8 toypaul
 
гуру
02.12.25
10:24
(0) ну не научили еще. ты же не ходишь в детский сад с вопросами по 1С. спроси тут. ИИ сюда зайдет и научится :)
9 Timon1405
 
02.12.25
10:35
(0) покажите сюда примеры строк-договоров, какие должны подходить и какие не должны подходить под условия
10 formista2000
 
02.12.25
10:37
(9) Например "По договору №123-АБВ/45 от 01.01.2025" должно вернуть "123-АБВ/45".
11 dmt
 
02.12.25
10:38
(6) нейросети есть умные а есть не очень. гигачад макс гораздо умнее обычного, но он был за деньги когда я его смотрел

вот запрос и ответы
джемини 3
(?:^|№\s*|Договор\s*)([A-Za-zА-Яа-яЁё0-9\-/]+)(?=\s+от|\s*$)

чатжпт 5.1
(?:№|^|\s)([а-яА-ЯёЁa-zA-Z0-9\-/]+)(?=\s+от|$)

соннет 4.5
(?:№\s*)?([А-Яа-яA-Za-z0-9\-/]+)(?=\s+от\b|\s*$)

Запрос

Действуй как специалист мирового уровня по составлению регулярных выражений.
Нужно создать регулярное выражение, чтобы Вычленить номер договора, который начинается с начала строки либо после символа "№" и заканчивается перед словом "от". Номер договора может содержать буквы, цифры и символы "-" и "/"

пример 1: "Договор 01/01/25 от 01.01.25" -> "01/01/25"
пример 2: "Договор № 23423-22/25 от 01.01.25" -> "23423-22/25"
пример 3: "25 от пятнадцатого марта" -> "25"
пример 4: "№ 1" -> "1"
пример 5: "888" -> "888"

Проверь себя по примерам, при необходимости исправь ошибки
12 formista2000
 
02.12.25
10:39
(11) Спасибо, интересно!
13 Chai Nic
 
02.12.25
10:47
Так регекспы же способны выдать одинаковый результат при одинаковых входных данных на разных выражениях. У них нет требований "нормализации" и "канонизации".
14 Asmody
 
02.12.25
10:48
(0) во-первых, потому что в каждом запросе используется разный seed для генерации псевдослучайных последовательностей.
во-вторых, даже если вы будете давать одинаковый seed (некоторые LLM через API это позволяют делать), вы всё равно можете получить разные результаты. исследователи связывают это с тем, что запросы обсчитываются пакетно (т.е. одновременно несколько разных запросов от разных источников), а операции над float внутри GPU (и CPU) вообще говоря не коммутативны и не ассоциативны. Т.е. при параллельно-массовом выполнении вычислений с матрицами могут возникать флуктуации, которые значительно влияют на результат.
15 mmg
 
02.12.25
11:11
(0)
1. Надо в явном виде, и не через промт, а через параметры, попросить считать точно. Если тебе это кажется странным, то учти, что согласно данным Open AI, 95% пользователей сейчас развлекаются на халяву, просят всякую ерунду, и им как раз не нужно, чтобы результат был точным и всегда одним и тем же. Кому будет нужна одна и та же сказка, например?
2. Даже если ты выставишь правильный параметр, например temperature=0, все равно останется шанс (правда уже небольшой) получить немного другой ответ из-за того, что описано в (14)
16 Fragster
 
гуру
02.12.25
11:15
(11) соннет ближе всех, но тоже неправильно
17 Dmitrii
 
гуру
02.12.25
11:43
(0) >> Почему нейронка на один и тот же промпт выдаёт каждый раз разные результаты...?

По-моему, очевидно, что этот вопрос следует задать  нейронке... Возможно несколько раз...
18 uno-group
 
02.12.25
12:47
Формулировка «Вычленить номер договора» даже для меня звучит достаточно размыто. Если нейронка перед тем, как это делать, еще переведет его на какой-то еще язык, то трактовка задания становится еще шире. ИМХО, основной вопрос в переводе задания на язык машины.
19 uno-group
 
02.12.25
12:47
То же самое с «который начинается с начала строки». Начало строки — это визуально новая строка или то, что начинается за символом перевода строки. Символ новая страница к чему относим. 1 символ в тексте к чему относим? За символом табуляции абзацем идет начало строки или уже нет?
Если задание не будет содержать двояких трактовок, то ответ будет одинаков. А пока задание можно прочитать по-разному, то получаем разные весовые коэффициенты и ответы.
Основная теорема систематики: Новые системы плодят новые проблемы.