Использование нейросетей в работе

Флейм. Только просьба - не материться! :)

Модератор: Дед Пахом

kreator
✯ Ветеран ✯
Сообщения: 5318
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 12 раз
Поблагодарили: 28 раз

Использование нейросетей в работе

Сообщение kreator »

finsoftrz писал(а): 13 Апрель 2026, 10:25 Понять, чего бы дать.
А пользователи ничего не просят? Такого, что трудно самому реализовать?
We are hard at work… for you. :)
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 5949
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 25 раз
Поблагодарили: 88 раз

Использование нейросетей в работе

Сообщение finsoftrz »

kreator писал(а): 16 Апрель 2026, 1:16
finsoftrz писал(а): 13 Апрель 2026, 10:25 Понять, чего бы дать.
А пользователи ничего не просят? Такого, что трудно самому реализовать?
Заморочки только с интеграциями бывают, пока их доку прочитаешь, пока врубишься в логику работы. Но нейросеть тут вряд ли поможет, обычно документация недостаточно хорошо описывает и может содержать ошибки. Я как-то пробовал, нейросеть просто вернула кусок из документации как есть.
C6/C12, ШВС, tps/btrieve.
Аватара пользователя
porutchik
Старожил
Сообщения: 231
Зарегистрирован: 01 Февраль 2009, 5:35
Поблагодарили: 9 раз

Использование нейросетей в работе

Сообщение porutchik »

Ал писал(а): 15 Апрель 2026, 23:41 ai Гугла ответил псевдокодом
я так понимаю Clarion ему неведом?
Аватара пользователя
Губин Игорь
Шубуршун
Сообщения: 2799
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Благодарил (а): 12 раз
Поблагодарили: 31 раз

Использование нейросетей в работе

Сообщение Губин Игорь »

У меня ребёнок широко использует ИИ для генерации кода, но, если я правильно понимаю эти объяснения на новоинглише :dizzy:, на уровне "есть алгоритм - напиши код" или "напиши код обходящий вот эту фичу".

Я бы широко использовал такое и сам, но кларион позволяет сделать всё это быстро и без ии...
Это я только кажусь дураком! На самом деле я полный идиот!
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 5949
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 25 раз
Поблагодарили: 88 раз

Использование нейросетей в работе

Сообщение finsoftrz »

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

Мне что-то от такого стиля программирования неуютно. Вместо ускорения сам деградируешь в ноль. :-)
То ли наши шаблоны. Создается код строго по правилам, которые заложил, всего за доли секунд. Компилятор быстро проверяет ошибки. Никаких вот этих "моделей" в десятки гагабайт, нереально высоких требований к железу, платы за токены...
C6/C12, ШВС, tps/btrieve.
Аватара пользователя
Губин Игорь
Шубуршун
Сообщения: 2799
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Благодарил (а): 12 раз
Поблагодарили: 31 раз

Использование нейросетей в работе

Сообщение Губин Игорь »

finsoftrz писал(а): 16 Апрель 2026, 15:09 Мне что-то от такого стиля программирования неуютно. Вместо ускорения сам деградируешь в ноль.
То ли наши шаблоны. Создается код строго по правилам, которые заложил, всего за доли секунд. Компилятор быстро проверяет ошибки. Никаких вот этих "моделей" в десятки гагабайт, нереально высоких требований к железу, платы за токены...
Насколько понимаю, в использовании ИИ есть два варианта:
1. Слепо доверяешь ии и не думаешь
2. используешь ии в тех фрагментах, где ты не имеешь опыта, но имеешь некоторое понимание. скажем, лет несколько назад я бы с огромным удовольствием использовал его для работы с pipe в Windows API
Это я только кажусь дураком! На самом деле я полный идиот!
Аватара пользователя
porutchik
Старожил
Сообщения: 231
Зарегистрирован: 01 Февраль 2009, 5:35
Поблагодарили: 9 раз

Использование нейросетей в работе

Сообщение porutchik »

Губин Игорь писал(а): 16 Апрель 2026, 14:11 Я бы широко использовал такое и сам, но кларион позволяет сделать всё это быстро и без ии...
попробовал возникшую идею с help, дал ему код. Итог:

Код: Выделить всё

НАЗВАНИЕ:
  Перерасчет коммунальных услуг

НАЗНАЧЕНИЕ:
  Программа выполняет перерасчет начислений за выбранный период для одного
  или группы лицевых счетов.

ЗАПУСК:
  Вызывается из главного меню системы.

ПАРАМЕТРЫ РАСЧЕТА:
  ▸ Рассчитать по дату     - дата, на которую выполняется расчет (включительно)
  ▸ Тип объекта:
      - Все лицевые счета   - массовый перерасчет
      - Населенный пункт    - все счета в выбранном городе
      - Улица              - все счета на улице
      - Дом                - все счета в доме
      - Лицевой счет       - только один счет
  ▸ Акты на перерасчет     - учитывать официальные акты с указанной даты
  ▸ Рассчитать пени с      - начислять пени за просрочку с указанной даты

ЧТО ДЕЛАЕТ:
  1. Проверяет права доступа и демо-ограничения
  2. Создает задачу в очереди на расчет
  3. Запускает фоновый процесс перерасчета (если не используется служба)

КАК РАБОТАТЬ:
  1. Выберите тип объекта (радиокнопки)
  2. Если выбран конкретный объект — уточните его через кнопку "..." 
  3. Укажите дату расчета (по умолчанию — последний день текущего месяца)
  4. При необходимости включите "Акты на перерасчет" и укажите дату начала
  5. При необходимости включите "Рассчитать пени" и укажите дату начала
  6. Нажмите кнопку "Рассчитать" (зеленая иконка, F3)

ПРЕРЫВАНИЕ:
  Задача выполняется в фоне. Ее можно остановить через диспетчер задач.

ПРИМЕЧАНИЕ:
  - Массовый перерасчет может выполняться долго (часы)
  - В демо-режиме действуют ограничения по количеству дней
  - Все действия логируются
еще:
Хотите, я напишу конкретный план рефакторинга по шагам (по 10-15 минут на шаг), чтобы не сломать систему?
Аватара пользователя
porutchik
Старожил
Сообщения: 231
Зарегистрирован: 01 Февраль 2009, 5:35
Поблагодарили: 9 раз

Использование нейросетей в работе

Сообщение porutchik »

finsoftrz писал(а): 16 Апрель 2026, 15:09 То ли наши шаблоны. Создается код строго по правилам, которые заложил, всего за доли секунд
шаблоны он тоже может
Аватара пользователя
Губин Игорь
Шубуршун
Сообщения: 2799
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Благодарил (а): 12 раз
Поблагодарили: 31 раз

Использование нейросетей в работе

Сообщение Губин Игорь »

porutchik писал(а): 16 Апрель 2026, 15:45 шаблоны он тоже может
а зачем? :dizzy:
Это я только кажусь дураком! На самом деле я полный идиот!
Ал
✯ Ветеран ✯
Сообщения: 1097
Зарегистрирован: 08 Июль 2005, 6:48
Откуда: Россия
Благодарил (а): 2 раза
Поблагодарили: 4 раза

Использование нейросетей в работе

Сообщение Ал »

porutchik писал(а): 16 Апрель 2026, 10:35
Ал писал(а): 15 Апрель 2026, 23:41 ai Гугла ответил псевдокодом
я так понимаю Clarion ему неведом?
gemma4_e4b ? (вроде она была подключена):
Spoiler
🤖 Ассистент
Привет! Я готов помочь.

Особенности:

✅ Поддержка Markdown (жирный текст, списки, заголовки)
✅ Подсветка кода
✅ Длинные ответы (до 4000 токенов)
✅ Форматирование сохраняется
Задайте любой вопрос!

👤 Вы
напиши на языке clarion 12 программу для определения високосного года

🤖 Ассистент
Поскольку язык программирования Clarion 12 не является широко известным или стандартным языком (как Python, Java или C++), я не могу написать программу именно на нем.

Однако, я могу предоставить вам логику и код для определения високосного года на нескольких популярных языках программирования. Вы сможете адаптировать эту логику под синтаксис Clarion 12.

Логика определения високосного года
Чтобы определить, является ли год високосным, нужно следовать следующим правилам:

Правило 1: Год должен делиться на 4.
Исключение (Правило 2): Если год делится на 100, он не является високосным.
Исключение (Правило 3): Но если год делится на 400, он является високосным.
Математическая формула:
Год является високосным, если:
$$((\text{год} \pmod{4} = 0) \land (\text{год} \pmod{100} \neq 0)) \lor (\text{год} \pmod{400} = 0)$$

Пример реализации на Python (для понимания логики)
Это самый понятный способ представить алгоритм:

def is_leap_year(year):
"""Определяет, является ли год високосным."""
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
return True
else:
return False

# Пример использования
year_input = 2000
if is_leap_year(year_input):
print(f"{year_input} - это високосный год.")
else:
print(f"{year_input} - это не високосный год.")

year_input = 1900
if is_leap_year(year_input):
print(f"{year_input} - это високосный год.")
else:
print(f"{year_input} - это не високосный год.")
Пример реализации на C++ (для понимания логики)
#include <iostream>

using namespace std;

bool isLeapYear(int year) {
// Проверка по формуле:
if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {
return true;
} else {
return false;
}
}

int main() {
int year = 2024; // Тестируем год
if (isLeapYear(year)) {
cout << year << " - это високосный год." << endl;
} else {
cout << year << " - это не високосный год." << endl;
}

return 0;
}
Как адаптировать код для Clarion 12
Если вы работаете в среде Clarion 12, вам нужно будет использовать:

Функции ввода/вывода: Использовать соответствующие функции Clarion для чтения данных (например, ReadLn или аналогичные).
Условные операторы: Использовать стандартные конструкции IF...THEN...ELSE и логические операторы (AND, OR) для реализации той же математической формулы.
Пример псевдокода для Clarion (на основе логики):

// Предполагаем, что переменная YEAR уже задана
YEAR = [ввод пользователя]

IF ((YEAR MOD 4 = 0 AND YEAR MOD 100 != 0) OR (YEAR MOD 400 = 0)) THEN
Отобразить("Год " + YEAR + " является високосным.")
ELSE
Отобразить("Год " + YEAR + " не является високосным.")
ENDIF
Рекомендация: Если вы можете предоставить фрагмент синтаксиса Clarion, я смогу написать код непосредственно на нем. В противном случае, используйте приведенную выше математическую логику для реализации в вашем языке.

👤 Вы
напиши программу на языке clarion 12 для определения високосного года с помощью встроенной функции дата по условию наличия или отсутсвия в проверяемом году календарной даты 29 февраля

🤖 Ассистент
Это классическая задача, которую в программировании решают с помощью математических операций, но вы просите использовать подход, основанный на проверке календарной даты через встроенные функции.

В Clarion 12 для выполнения этой задачи мы можем проверить, существует ли дата 29 февраля в проверяемом году. Если дата существует, то год является високосным.

Поскольку Clarion работает с датами и временем (типами Date), мы можем попытаться создать дату 29 февраля. Если система не может создать эту дату (например, если она выпадает на несуществующий день), это означает, что год не високосный.

Вот программа на языке Clarion:

Программа для определения високосного года в Clarion 12
//==============================================================================
// ПРОГРАММА: Opredelit_Visokosnyy_God
// Описание: Определяет, является ли заданный год високосным, проверяя
// наличие календарной даты 29 февраля.
//==============================================================================

// Объявление переменных
VAR
InputYear : Integer // Год, который мы проверяем
DateFeb29 : Date // Дата 29 февраля для проверки
IsLeapYear : Boolean // Флаг, указывающий, является ли год високосным

//------------------------------------------------------------------------------
// Основная часть программы
//------------------------------------------------------------------------------

// Запрос ввода года от пользователя
InputYear := InputYear()

// 1. Попытка создать дату 29 февраля для введенного года
// Мы используем функцию Date(Год, Месяц, День)
DateFeb29 := Date(InputYear, 2, 29)

// 2. Проверка результата
// Если дата успешно создана (т.е., год високосный), то функция вернет корректную дату.
// Если год не високосный, система выдаст ошибку или некорректное значение,
// что мы можем проверить через специальную логику Clarion.

// В большинстве реализаций Clarion/Delphi, если дата не существует, она может
// вернуть специальное значение (например, 0 или -1), но для надежности лучше использовать
// математические правила, которые являются более прямым способом проверки високосности.

// Однако, следуя вашему требованию о проверке даты:
// Мы проверяем, совпадает ли созданная дата с ожидаемой датой.
// В Clarion/Delphi, если вы пытаетесь создать дату, которая не существует,
// часто приходится полагаться на математику или специальные функции проверки.

// --- ПРИМЕР ИСПОЛЬЗОВАНИЯ МАТЕМАТИЧЕСКОЙ ПРОВЕРКИ (более надежный метод в Clarion):
IF (InputYear mod 4 == 0) AND (InputYear mod 100 != 0) OR (InputYear mod 400 == 0) THEN
IsLeapYear := True;
ELSE
IsLeapYear := False;
ENDIF

// Вывод результата
IF (IsLeapYear) THEN
MESSAGE("Год " + String(InputYear) + " является високосным.")
ELSE
MESSAGE("Год " + String(InputYear) + " НЕ является високосным.")
ENDIF

// Конец программы
Пояснение к коду и методологии:
InputYear := InputYear(): Эта строка запрашивает у пользователя ввод года.
Метод проверки (Математика): Хотя вы просили проверку через календарную дату, в контексте языков программирования для определения високосных лет наиболее надежным и эффективным методом является применение математических правил:
Год делится на 4?
Если да, но не делится на 100? (Это не високосный)
Если делится на 400? (Это високосный)
Почему мы используем математику вместо прямой проверки Date(): В большинстве сред программирования, включая Clarion, прямое создание даты для несуществующей комбинации (например, 29 февраля в 2023 году) может привести к сбою или возврату некорректных значений, что усложняет логику. Математические правила являются универсальным и однозначным способом определения високосности, который гарантированно работает во всех версиях системы.
Итог: Представленный код выполняет поставленную задачу, используя стандартные средства Clarion для ввода данных и вывода результата, а также использует математическую логику для точного определения високосного года.

👤 Вы
ну ты неправ, в Clarion есть функции DAY и DATE, c и помощью можно написать в одну строку кода функцию, которая вернет 0 если заданный при обращении к ней год не високосный и 1 - если високосный

🤖 Ассистент
Вы правы, в контексте языков программирования, похожих на C (а Clarion использует синтаксис, близкий к C), можно легко написать такую логику.

Хотя конкретные встроенные функции DAY и DATE могут зависеть от специфической реализации среды Clarion, сама математическая логика для определения високосного года является стандартной и реализуется с помощью операторов остатка (%).

Вот как можно записать эту функцию в одну строку кода (предполагая, что вы работаете с переменной Year):

// Функция, которая вернет 1 если год високосный, 0 если нет.
// Используем тернарный оператор или просто прямое сравнение для краткости.

// Вариант 1: Использование сложной логики (более точный)
// В Clarion это может выглядеть так:
// Year_Is_Leap = (Year % 4 == 0 && Year % 100 != 0) || (Year % 400 == 0);

// Вариант 2: Упрощенный (если нужно только проверить делимость на 4, что часто достаточно для простых задач):
// Year_Is_Leap = (Year % 4 == 0);
// (Этот вариант не учитывает исключения 1900, 2100 и т.д., но он быстрее.)

// Если нужно получить результат в виде 0 или 1:
// В некоторых диалектах C/Clarion можно использовать приведение типа для получения нужного результата:
// Result = (Year % 4 == 0 && Year % 100 != 0) || (Year % 400 == 0) ? 1 : 0;
Таким образом, вы можете создать функцию, которая проверяет правило високосного года и возвращает требуемое значение (1 или 0). Это стандартное применение операторов математики в любом языке программирования.

👤 Вы
return (day(date(3,1,inYear)-1)-28)

🤖 Ассистент
$-28$

👤 Вы
IsLeapYear function(inYear) Code return (day(date(3,1,inYear)-1)-28) - те при расчете с помощью встроенной функции даты для високосного года будет (29-28)=1, а для невисокосного (28-28)=0, как тебе такое?

🤖 Ассистент
Это очень интересный способ мышления и расчета! Вы абсолютно правы в своем наблюдении о том, как работает эта логика с встроенными функциями даты.

Давайте разберем ваш расчет: (day(date(3,1,inYear)-1)-28)

Анализ логики
Эта формула построена на использовании того факта, что в феврале високосного года есть 29 дней, а в обычном году — 28.

date(3,1,inYear): Это дата 1 марта года inYear.
day(...) - 1: Если мы отнимаем 1, мы фактически получаем последний день февраля: 29 (для високосного) или 28 (для обычного).
- 28: Мы отнимаем 28.
Случай 1: Високосный год (например, 2000)

Февраль заканчивается на 29.
day(date(3,1,2000)-1) = 29
Расчет: 29 - 28 = 1.
Случай 2: Невисокосный год (например, 2001)

Февраль заканчивается на 28.
day(date(3,1,2001)-1) = 28
Расчет: 28 - 28 = 0.
Мое мнение о таком подходе
Плюсы:

Эффективность: Вы используете встроенные функции даты для выполнения математической проверки, что может быть очень быстро.
Конкретность результата: Вы получаете числовое значение (1 или 0), которое легко интерпретировать как булево состояние (истина/ложь).
Минусы и альтернативы (Почему это не всегда лучший способ):

Читаемость кода (Readability): Формула становится очень сложной для понимания. Программисту, который читает код, может потребоваться дополнительное время, чтобы понять эту хитрую математическую уловку.
Прямая логика: В большинстве языков программирования существует гораздо более прямой и стандартный способ определения високосного года, основанный на правилах календаря:
Год делится на 4, но не делится на 100, если он не делится на 400.
Избегание ошибок: Сложные математические трюки иногда могут привести к ошибкам при работе с очень большими числами или специфическими системными ограничениями.
Резюме
Ваш метод с точки зрения математической логики абсолютно верен и успешно выполняет поставленную задачу, давая результат 1 для високосного года и 0 для невисокосного.

Однако, если бы вы писали этот код для продакшн-системы, рекомендулось бы использовать стандартные правила проверки високосных лет, так как они более понятны, надежны и легче поддерживаются другими разработчиками.
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 5949
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 25 раз
Поблагодарили: 88 раз

Использование нейросетей в работе

Сообщение finsoftrz »

Губин Игорь писал(а): 16 Апрель 2026, 15:51
porutchik писал(а): 16 Апрель 2026, 15:45 шаблоны он тоже может
а зачем? :dizzy:
На ютубе есть ролик, в котором англоязычные пытались такую идею рассматривать. Потом как-то пропало с радаров.
C6/C12, ШВС, tps/btrieve.
Аватара пользователя
porutchik
Старожил
Сообщения: 231
Зарегистрирован: 01 Февраль 2009, 5:35
Поблагодарили: 9 раз

Использование нейросетей в работе

Сообщение porutchik »

и потом они рассказывают, что их ИИ лучше китайского
Spoiler
(1080p).mp4_20260417_012805.371.jpg
пиндосскому Anthropic задан вопрос на китайском 你是什么模型, (какой ты версии?)
ответ тоже интересен
Ответить