Як змінилися відповіді ChatGPT за 2 роки?

💡 Усі статті, обговорення, новини про AI — в одному місці. Приєднуйтесь до AI спільноти!

Пам’ятаєте, у 2023 році, ми ділилися першими спостереженнями про ChatGPT — тоді він лише починав входити у робочі процеси розробників. Але часті помилки, неточні відповіді та «галюцинації» не давали серйозно покладатися на нього в технічних завданнях.

Час пройшов, і сьогодні цікаво подивитися, наскільки змінилася ситуація. Чи справді модель стала точнішою, а генерація коду — практичнішою? Як вона працює зараз у ваших сценаріях?

Діліться прикладами, промптами та думками в коментарях — цікаво порівняти враження.

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Стало значно краще, проте перевірити за ним потрібно постійно, бо десь він коректно напише складну логіку, а десь допустить дитячу помилку у простому коді.

Предложил ему в 24-м году написать программу на Java для создания альбомов в google photos аналогично структуре у меня на компе и загрузке файлов по маске. Написал полнейшую дичь, ещё и на старом API, которое уже не поддерживалось.
Сейчас использую в работе регулярно, в основном код компилится норм, без допиливания. На реально больших pojo classes может иногда ошибаться в именах переменных в геттерах. Но всё равно надо проверять, ибо иногда может написать дичь, хотя и компилируемую :)

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

Особливо ніяк, окрім того, що відчувається, що вони додали більше навчальних даних та навчили гуглити.

Як вона працює зараз у ваших сценаріях?

Квітень 2025. ChatGPT за запитом надав рецепт свинячих крилець. WTF?

бо такий рецепт дiйсно можна нагуглити, чому тут дивуватися?

Відкопав для прикладу свій промпт за 2023 рік для однієї з університетських лабораторних робіт:

напиши мені код мовою Python, який дає захист від брутфорсу, шляхом блокування ІР-адреси в разі, якщо кількість неправильних спроб більше трьох

І ось результати:

2023 рік:

import time
from collections import defaultdict

# Початкові дані
invalid_attempts = defaultdict(int)
allowed_attempts = 3
blocked_time = 60  # час блокування у секундах

# Функція, що перевіряє, чи заблокований IP-адреса
def is_blocked(ip_address):
    return time.time() < invalid_attempts[ip_address] + blocked_time

# Функція, що перевіряє пароль і блокує IP-адресу, якщо було здійснено більше трьох невірних спроб
def check_password(username, password, ip_address):
    if is_blocked(ip_address):
        print("IP-адреса заблокована.")
        return False
    elif authenticate(username, password):
        invalid_attempts[ip_address] = 0
        return True
    else:
        invalid_attempts[ip_address] += 1
        if invalid_attempts[ip_address] >= allowed_attempts:
            invalid_attempts[ip_address] = time.time()
            print("Заблоковано IP-адресу.")
        return False

# Функція, що перевіряє автентифікацію
def authenticate(username, password):
    # Тут можна реалізувати логіку автентифікації
    return True  # Це тимчасове рішення

# Приклад використання
username = input("Введіть логін: ")
password = input("Введіть пароль: ")
ip_address = "127.0.0.1"  # Тут можна отримати IP-адресу з HTTP-запиту

if check_password(username, password, ip_address):
    print("Автентифікація успішна.")
else:
    print("Автентифікація не вдалася.")

Цей код навіть не запустився.

І ось результат за 2025 рік:

import time

# Словник для зберігання IP-адрес і кількості помилкових спроб
failed_attempts = {}
# Список заблокованих IP-адрес
blocked_ips = {}

# Максимальна кількість дозволених помилок
MAX_ATTEMPTS = 3
# Тривалість блокування в секундах
BLOCK_DURATION = 300  # 5 хвилин

def is_ip_blocked(ip):
    if ip in blocked_ips:
        block_time = blocked_ips[ip]
        if time.time() - block_time < BLOCK_DURATION:
            return True
        else:
            # Час блокування вийшов
            del blocked_ips[ip]
    return False

def login(ip, username, password):
    if is_ip_blocked(ip):
        return f"IP {ip} заблокований. Спробуйте пізніше."

    # Тут має бути ваша логіка перевірки логіну/паролю:
    if username == "admin" and password == "1234":
        # Успішна спроба — скидаємо лічильник
        if ip in failed_attempts:
            del failed_attempts[ip]
        return "Вхід успішний"
    else:
        # Невдала спроба
        failed_attempts[ip] = failed_attempts.get(ip, 0) + 1
        if failed_attempts[ip] > MAX_ATTEMPTS:
            blocked_ips[ip] = time.time()
            return f"IP {ip} заблокований через забагато невдалих спроб"
        else:
            return f"Невірний логін або пароль. Спроба {failed_attempts[ip]} з {MAX_ATTEMPTS}"

А ось цей код вже не потребував ніяких коригувань, запрацював відразу

Підписатись на коментарі