Oto kilka kluczowych zaawansowanych technik szybkiego inżynierii do zadań kodowania z dużymi modelami językowymi:
1. Zrozumienie interpretacji modelu zapytań związanych z kodowaniem: Wymaga to głębokiego zrozumienia koncepcji programowania i umiejętności ich wyrażenia w sposób, który model może efektywnie przetwarzać. Celem jest stworzenie podpowiedzi zgodnych z wewnętrznymi reprezentacjami modelu i mechanizmami uwagi.[1]
2. Łączenie podpowiedzi i monitowanie wieloobrotowe: Podział złożonego zadania kodowania na sekwencję podpowiedzi, gdzie dane wyjściowe jednego podpowiedzi są wykorzystywane jako dane wejściowe dla następnego. Dzięki temu model może poradzić sobie z zadaniem krok po kroku.[2] [3]
3. Podpowiadanie w ramach łańcucha myśli (CoT): Dostarczanie modelowi przykładów rozumowania krok po kroku w celu rozwiązania problemu, prowadzenie go w celu wygenerowania własnego łańcucha rozumowania.[4][5] Wykazano, że znacznie poprawia to wydajność w przypadku złożonych zadań związanych z rozumowaniem.
4. Podpowiadanie o własnej spójności: Rozszerzenie CoT, w którym próbkowanych jest wiele ścieżek rozumowania i wybierana jest najbardziej spójna odpowiedź. Jest to przydatne w przypadku problemów otwartych z wieloma poprawnymi rozwiązaniami.[4]
5. Automatyczna inżynieria podpowiedzi (APE): Technika, która traktuje podpowiedź jako „program” do optymalizacji, wykorzystując modele językowe do generowania i przeszukiwania potencjalnych podpowiedzi w celu znalezienia najskuteczniejszego dla danego zadania. [5]
6. Podanie odpowiedniego kontekstu i przykładów: Uwzględnienie informacji specyficznych dla domeny, wytycznych dotyczących stylu kodowania oraz przykładów wejść i wyjść w wierszu zachęty może pomóc w skierowaniu modelu w stronę dokładniejszego i trafniejszego generowania kodu.[1][3]
Kluczem jest iteracyjne eksperymentowanie z szybkim projektowaniem, testowaniem i udoskonalaniem, aby znaleźć najskuteczniejsze podpowiedzi dla konkretnych zadań kodowania i modelu języka. Dokładna, szybka inżynieria może znacznie zwiększyć możliwości dużych modeli językowych w zakresie wspomagania kodowania.
[1] Szybka inżynieria zadań związanych z kodowaniem — w kierunku nauki o danych[2] Zaawansowane szybkie techniki inżynieryjne – Mercity AI[3] Szybka inżynieria w 2024 r.: techniki, zastosowania i zaawansowane… – Acorn[4] Zaawansowana szybka inżynieria: na czym polega? - DataScientest.com[5] prompts-advanced-usage.md – GitHub
Cytaty:[1] https://towardsdatascience.com/prompt-engineering-llms-coding-chatgpt-artificial-intelligence-c16620503e4e?gi=54ae68d69ee0
[2] https://www.mercity.ai/blog-post/advanced-prompt-engineering-techniques
[3] https://www.acorn.io/resources/learning-center/prompt-engineering
[4] https://datascientest.com/en/advanced-prompt-engineering-co-does-it-involve
[5] https://github.com/dair-ai/Prompt-Engineering-Guide/blob/main/guides/prompts-advanced-usage.md