Як зробити LLM більш точним у перевірці коду?

Я намагався попросити LLM допомогти з перевіркою коду, але це не вийшло добре.

Я хочу, щоб LLM міг помітити потенційні помилки в коді або навіть надати пропозиції щодо оптимізації.

Жоден із LLM, який я тестував, не зміг вирішити досить простий випадок (gpt-4, o1, claude, qwen…)

Ось приклад коду в PHP:

echo $data->status?->id == 4 ? "член1" : "non-member1";
echo !empty($data->status->id) && $data->status->id == 5 ? "член2" : "non-member2";

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

Я спробував:

# перша спроба 
яка різниця між цими зразками коду?
перший зразок: {{sample1}}
другий зразок: {{sample2}}

# перша відповідь (яка, до речі, є хибною)
Перший зразок безпечніший, оскільки він обробляє випадок, коли $data->status може бути нульовим.
Другий зразок не обробляє випадок, коли $data->status може бути нульовим, і видає помилку в такому випадку сценарій.

# моя відповідь (тоді LLM погоджується)
здається, ви помиляєтеся щодо другого прикладу, ви сказали «Видає помилку, якщо $data->status є нульовим»."
але функція 'empty' PHP також перевіряє, чи встановлено дані, чи не так?

# друга спроба 
Я маю цей код зразки.
визначте концепцію та використовувані функції.
покажіть мені різницю між зразками.
перший зразок: {{sample1}}
другий зразок: {{sample2}}

# відповідь є більш складною, але загалом така сама неправильна відповідь, як і раніше

Previous Article

Початок опалювального сезону та субсидії З 1 листопада у більшості міст розпочав...

Next Article

Колишня і теперішня дружини ЖИВУТЬ РАЗОМ? Джованні: всі серії | УКРАЇНСЬКІ СЕРІАЛИ| КОМЕДІЇ 2024

Write a Comment

Leave a Comment

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *