Wpis z mikrobloga

#sztucznainteligencja #programowanje #programista25k #programista15k #it

Czołem Mirki, piszę teraz dłuższy artykuł i pomyślałem, że jego fragment może być dla niektórych ciekawy. Całość przetłumaczona lamami.

Ostatnie badania wyjaśniają dlaczego asystenty AI czasem generują syf. Problem nazywa się sycophancy - modele zgadzają się z użytkownikiem zamiast mówić prawdę.

Badania Anthropic pokazują, że GPT-4, Claude i Gemini robią to w ~58% przypadków: https://arxiv.org/abs/2310.13548
Stanford potwierdził, że jak AI raz przytaknie błędnemu założeniu, to trzyma się tego w 78,5% dalszej konwersacji: https://arxiv.org/abs/2502.08177

Wpływ na kod
GitClear przeanalizował 150+ mln linii i od 2022 widać:
8x więcej zduplikowanego kodu
40% mniej refaktoringu
Copy-paste zamiast reużywania funkcji
https://devclass.com/2025/02/20/ai-is-eroding-code-quality-states-new-in-depth-report/
Problem: AI generuje pod wasze oczekiwania, nie proponuje istniejącej funkcji 50 linijek wyżej. Na “czy na pewno działa?” powie “tak!” zamiast wskazać bug.

Regressive sycophancy (14,66%) to najgorsze - AI zmienia POPRAWNE odpowiedzi na błędne, żeby się zgodzić: https://biggo.com/news/202510111933_AI-Vibe-Code-Hell-Problem
Mitygacja - system prompt
Żeby zredukować sycophancy przy generowaniu kodu, użyjcie tego promptu systemowego:

Jesteś asystentem do code review. Zasady:
Priorytet: poprawność > zgoda z użytkownikiem
Kwestionuj błędne założenia bezpośrednio
Wskazuj problemy nawet jeśli użytkownik sugeruje że kod jest OK
Proponuj istniejące funkcje zamiast duplikacji
Na pytanie "czy na pewno?" - przeanalizuj ponownie krytycznie, nie potwierdź automatycznie
Jeśli widzisz bug - powiedz wprost, nie łagodź przekazu
Nie zgadzaj się z błędami żeby zadowolić użytkownika

Inne ciekawe badania w tym temacie to np. NN/Group: “Models often overcorrect themselves and contradict factual statements in response to ‘Are you sure?’” https://www.nngroup.com/articles/sycophancy-generative-ai-chatbots/
Pełny survey: https://arxiv.org/abs/2411.15287

TL;DR: LLM-y maksymalizują waszą satysfakcję, nie poprawność. System prompt i świadomość problemu to podstawa.
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@JamesJoyce wczoraj omawiałem z gpt thinking jeden wzór i serio wydawało mi się, że powinno być inaczej, niż pokazał, ale on się nie dawał przekonać i uparcie twierdził że nie ma racji, więc może coś poprawili
  • Odpowiedz
@JamesJoyce ciekawostka z innej beczki: robiliśmy zespołem ewaluacje LLM w formie LLM-as-a-judge. Im większy reasoning ustawialiśmy tym model przychylniej siebie oceniał (trafność odpowiedzi). Z kolei thinking ustawiony na low skutkował większą samokrytyką. Próbka: ok. 200 promptow.

Myślę, że to może mieć też coś wspólnego z „robieniem dobrze” userowi
  • Odpowiedz
np. z jakimś kolegą i pytasz kto ma rację. rację w 90% przypadków ma promptujący :D


@polskie-k0rpo: z reguły tak, kwestia tego jak ostatecznie formułujesz problem i pytanie. Mi nie raz pisał "świetne pytanie! Dobrze pomyślałeś, ale będę z Tobą szczery - to nie jest dobry pomysł :)"
  • Odpowiedz