Multi-agent prompting (PL)

From Systems analysis Wiki
Jump to navigation Jump to search

Wieloagentowy prompting (ang. multi-agent prompting) — metoda stosowana w inżynierii promptów i systemach sztucznej inteligencji, w której kilka autonomicznych agentów opartych na dużych modelach językowych (LLM) współdziała ze sobą w celu rozwiązywania złożonych zadań poprzez ustrukturyzowaną wymianę instrukcji i odpowiedzi[1].

Innymi słowy, system wieloagentowy składa się z kilku agentów LLM, które wspólnie pracują nad złożonym zapytaniem użytkownika, rozdzielając etapy rozumowania (subtasks) między agentów o różnych „rolach" i kompetencjach. Głównym celem tego podejścia jest przezwyciężenie ograniczeń pojedynczego modelu w przypadku trudnych zadań — dzięki kolektywnemu rozwiązywaniu problemów. Użycie kilku współdziałających agentów ma na celu poprawę jakości rozumowania, dokładności faktycznej i wiarygodności odpowiedzi[2]. Istotną cechą charakterystyczną jest ścisła instruktywność: każdemu LLM przypisywana jest określona rola lub zadanie w ramach ogólnego schematu rozwiązania.

Metody i wzorce architektoniczne

Badacze zaproponowali szereg schematów wieloagentowego promptingu, różniących się charakterem interakcji agentów i pełnionymi przez nich rolami.

Modelowanie eksperckie oparte na rolach

Jeden lub więcej agentów wyznaczanych jest jako eksperci dziedzinowi o wąskiej specjalizacji. Na przykład w grupie wieloagentowej poszczególni agenci mogą reprezentować różne obszary wiedzy (fizyk, chemik, biolog) lub różne etapy rozwiązywania zadania (planista, wykonawca, krytyk)[1]. Podejście to umożliwia efektywny few-shot prompting, w którym każdy agent-ekspert otrzymuje przykłady demonstracyjne ze swojej dziedziny, co poprawia ogólną wydajność.

Samokorekta i krytyka (Self-reflection)

Agent może pełnić rolę „krytyka" lub reflektować nad rozwiązaniami innego agenta bądź własnymi wcześniejszymi odpowiedziami. Strategia self-reflection lub self-refinement polega na tym, że LLM najpierw generuje odpowiedź, a następnie ten sam lub inny model analizuje ją i poprawia zawarte w niej błędy[1]. Pozwala to iteracyjnie ulepszać końcowy wynik.

Debata między agentami

Konkurencyjna odmiana wieloagentowego promptingu, polegająca na zorganizowaniu dyskusji lub sporu między kilkoma LLM. W schemacie LLM-Debate dwóch lub więcej agentów spiera się o prawidłową odpowiedź na zadanie (np. matematyczne) i krytykuje wzajemnie swoje argumenty[3]. Taki format debaty poprawia zdolność modelu do logicznego rozumowania i zwiększa dokładność faktyczną odpowiedzi w porównaniu z rozwiązaniem pojedynczego agenta.

Planowanie i dekompozycja zadań

Jeden agent pełni funkcję planisty, rozbijając złożone zapytanie na sekwencję kroków lub podzadań, które następnie są rozwiązywane przez niego samego lub przez innych agentów. Metody takie jak ReAct i Reflexion realizują podobną zasadę iteracyjnego planowania ze sprzężeniem zwrotnym. LLM najpierw generuje plan rozwiązania, zanim przystąpi do jego realizacji, co pomaga radzić sobie z długimi łańcuchami rozumowania[1].

Wieloosobowa współpraca (multi-persona)

Zamiast różnych modeli można używać tego samego LLM, każąc mu „odgrywać" kilku agentów o różnych ustawieniach personalnych lub punktach widzenia. W podejściu multi-persona self-collaboration jeden model w trakcie dialogu kolejno przyjmuje kilka ról i prowadzi dyskusję niejako sam ze sobą. Choć badania wskazują, że oddzielni niezależni agenci zapewniają wyższą efektywność, metoda ta pozwala symulować zespół ekspertów wewnątrz jednego LLM[1].

Zastosowanie i wyniki

Podejście wieloagentowego promptingu wykazało swoją skuteczność w szeregu dziedzin, w których pojedyncze LLM napotykały wcześniej trudności.

Rozumowanie matematyczne i logiczne

Wykorzystanie wielu agentów wyraźnie zwiększa dokładność w zadaniach wymagających wieloetapowego wnioskowania (złożona arytmetyka, dowody matematyczne, łamigłówki logiczne). W pracy Du et al. (2023) wieloagentowe podejście „debatowe" poprawiło wynik w porównaniu z pojedynczym agentem. Analiza wykazała, że wraz ze wzrostem liczby agentów uczestniczących w dyskusji rośnie dokładność odpowiedzi[3].

Zadania naukowe i techniczne

Dla złożonych problemów przedmiotowych (fizyka, chemia) zaproponowano metodę CoMM (Collaborative Multi-Agent, Multi-Reasoning-Path Prompting), w której kilku agentów LLM o różnych rolach (eksperci) równolegle stosuje różne strategie rozumowania. W testach na zadaniach z fizyki na poziomie college'u CoMM wyraźnie przewyższył podejścia bazowe, takie jak chain-of-thought, popełniając mniej błędów w formułach i obliczeniach[1].

Generowanie i debugowanie kodu

W obszarze programowania systemy wieloagentowe są stosowane do poprawy jakości kodu i redukcji liczby błędów. System PromptV wykorzystuje kilku agentów do kolejnego pisania, weryfikacji i poprawiania kodu Verilog. Podział ról (generowanie, przegląd, testowanie) poprawił zdolność modelu do wykrywania i naprawiania błędów, w wyniku czego odsetek pomyślnie kompilujących się rozwiązań wzrósł do 96,5% na jednym z benchmarków[4].

Wyszukiwanie i analiza informacji

Systemy wieloagentowe są szczególnie przydatne w przypadku otwartych, słabo ustrukturyzowanych zapytań. Firma Anthropic opracowała tryb wieloagentowy dla modelu Claude, przeznaczony do badań internetowych. W tym systemie agent wiodący analizuje zapytanie i generuje kilka równoległych agentów-podzadań, z których każdy przeprowadza wyszukiwanie dotyczące różnych aspektów tematu. Taka architektura radziła sobie ze złożonymi pytaniami wyszukiwawczymi o 90% skuteczniej w porównaniu z pojedynczym modelem Claude[2].

Klasyfikacja tekstu i zadania NLP

Dla zadań NLP opracowano prompting oparty na zasadach (Principle-Based Prompting). W tej metodyce agenty LLM najpierw generują zestaw „zasad" (reguł rozwiązania), a następnie agent finalizujący wybiera spośród nich najlepsze, na podstawie których inny agent dokonuje klasyfikacji. Podejście to poprawiło metrykę macro-F1 o 1,5–19% w porównaniu z metodami bazowymi, zbliżając się jakością do klasycznego uczenia na przykładach (few-shot)[5].

Ograniczenia i problemy

Złożoność obliczeniowa i koszty

Główną wadą jest gwałtownie wzrastające obciążenie obliczeniowe. Każdy agent wymaga własnej sesji generowania, co prowadzi do znacznego zużycia tokenów i zasobów. Według danych Anthropic, ich system zużywa średnio 4 razy więcej tokenów na jeden dialog, a w niektórych przypadkach — nawet 15 razy więcej[2]. Sprawia to, że stosowanie tego podejścia jest uzasadnione jedynie w przypadku zadań o wysokiej wartości.

Złożoność projektowania i koordynacji

Sukces wymaga starannego inżynieryjnego dostrajania promptów: konieczne jest precyzyjne określenie roli każdego agenta, formatu wymiany wiadomości oraz kryteriów zatrzymania. W przeciwnym razie agenty mogą powielać pracę, wchodzić w nieskończone pętle wyszukiwania lub generować bezużyteczne podzadania[2].

Bezpieczeństwo i niezawodność

Pojawiają się nowe wektory ataków. Badacze zademonstrowali zjawisko Prompt Infection (zainfekowania promptu), w którym złośliwy fragment instrukcji od jednego agenta jest przekazywany kolejnemu i rozprzestrzenia się przez cały łańcuch rozumowania niczym wirus. Taki atak LLM-to-LLM ukazuje podatność systemów wieloagentowych na ukryte iniekcje i manipulacje, co wymaga opracowania specjalnych środków ochrony, na przykład znakowania wyników każdego agenta (LLM Tagging)[6].

Odnośniki

  • «How we built our multi-agent research system» — szczegółowa analiza od Anthropic
  • «More Agents Is All You Need» — artykuł naukowy o skuteczności zespołów agentów

Literatura

  • Chen, P. et al. (2024). CoMM: Collaborative Multi-Agent, Multi-Reasoning-Path Prompting for Complex Problem Solving. arXiv:2404.17729.
  • Li, J. et al. (2024). More Agents Is All You Need. arXiv:2402.05120.
  • Mi, Y. et al. (2024). PromptV: Leveraging LLM-Powered Multi-Agent Prompting for High-Quality Verilog Generation. arXiv:2412.11014.
  • Wei, P. et al. (2024). Don't Just Demo, Teach Me the Principles: A Principle-Based Multi-Agent Prompting Strategy for Text Classification. arXiv:2502.07165.
  • Lee, D.; Tiwari, A. (2024). Prompt Infection: LLM-to-LLM Prompt Injection within Multi-Agent Systems. arXiv:2410.07283.
  • Fernando, C. et al. (2023). PromptBreeder: Self-Referential Self-Improvement via Prompt Evolution. arXiv:2309.16797.
  • Wu, Q. et al. (2023). AutoGen: Enabling Next-Gen LLM Applications via Multi-Agent Conversation. arXiv:2308.08155.
  • Liu, X. et al. (2023). AgentBench: Evaluating LLMs as Agents. arXiv:2308.03688.
  • Li, G. et al. (2024). Multi-LLM Debate: Framework, Principles, and Interventions. PDF.
  • Du, N. et al. (2023). Improving Factuality and Reasoning in Language Models through Multi-Agent Debate. arXiv:2305.14325.

Przypisy

  1. 1.0 1.1 1.2 1.3 1.4 1.5 Chen, Y. et al. «CoMM: Collaborative Multi-Agent, Multi-Reasoning-Path Prompting for Complex Problem Solving». arXiv, 2024. [1]
  2. 2.0 2.1 2.2 2.3 «How we built our multi-agent research system». Anthropic. [2]
  3. 3.0 3.1 Li, G. et al. «More Agents Is All You Need». arXiv, 2024. [3]
  4. Mi, Y. et al. «PromptV: Leveraging LLM-powered Multi-Agent Prompting for High-quality Verilog Generation». ResearchGate, 2024. [4]
  5. Wei, J. et al. «Don't Just Demo, Teach Me the Principles: A Principle-Based Multi-Agent Prompting Strategy for Text Classification». arXiv, 2024. [5]
  6. Lee, K. & Tiwari, A. «Prompt Infection: LLM-to-LLM Prompt Injection within Multi-Agent Systems». OpenReview, 2024. [6]