Multi-agent prompting (BG)

From Systems analysis Wiki
Jump to navigation Jump to search

Мултиагентен промптинг (англ. multi-agent prompting) — това е метод в инженерията на промптове и системите за изкуствен интелект, при който няколко автономни агента на базата на големи езикови модели (LLM) взаимодействат помежду си за решаване на сложни задачи чрез структуриран обмен на инструкции и отговори[1].

С други думи, мултиагентната система се състои от няколко LLM-агента, които съвместно работят върху сложна заявка на потребителя, разпределяйки етапите на разсъждение (subtasks) между агенти с различни „роли" и компетенции. Основната цел на този подход е да преодолее ограниченията на единичен модел при сложни задачи чрез колективно решение. Използването на няколко взаимодействащи агента цели да повиши качеството на разсъжденията, фактическата точност и надеждността на отговора[2]. Важна особеност е строгата инструктивност: на всеки LLM се определя конкретна роля или задача в рамките на общата схема за решение.

Методи и архитектурни модели

Изследователите са предложили редица схеми за мултиагентен промптинг, различаващи се по характера на взаимодействие между агентите и техните роли.

Ролево експертно моделиране

Един или няколко агента се назначават като тематични експерти с тясна специализация. Например, в мултиагентна група различни агенти могат да представляват различни области на знания (физик, химик, биолог) или различни етапи на решаване на задачата (планировчик, изпълнител, критик)[1]. Този подход позволява ефективен few-shot промптинг, при който всеки агент-експерт получава демонстрационни примери в своята област, подобрявайки общата производителност.

Самокорекция и критика (Self-reflection)

Агентът може да изпълнява ролята на „критик" или да рефлектира върху решенията на друг агент или върху собствените си предишни отговори. Стратегията self-reflection или self-refinement се заключава в това, че LLM първо генерира отговор, а след това същият или друг модел анализира и коригира грешките в този отговор[1]. Това позволява итеративно подобряване на крайния резултат.

Дебати между агенти

Конкурентен вариант на мултиагентния промптинг, представляващ организиране на дискусия или спор между няколко LLM. В схемата LLM-Debate двама или повече агенти спорят за правилния отговор на задача (например математическа) и критикуват аргументите един на друг[3]. Такъв дебатен формат подобрява способността на модела за логическо разсъждение и повишава фактическата точност на отговорите в сравнение с единично решение.

Планиране и декомпозиция на задачи

Един агент изпълнява функцията на планировчик, разбивайки сложната заявка на последователност от стъпки или подзадачи, които след това се решават от него самия или от други агенти. Методиките като ReAct и Reflexion реализират подобен принцип на итеративно планиране с обратна връзка. LLM първо генерира план за решение, преди да пристъпи към изпълнението му, което помага за справяне с дълги вериги от разсъждения[1].

Многоперсонално сътрудничество

Вместо различни модели може да се използва един и същ LLM, карайки го да „изиграе" няколко агента с различни персонални нагласи или гледни точки. В подхода multi-persona self-collaboration един модел в хода на диалога последователно поема няколко роли и води дискусия сякаш сам със себе си. Въпреки че изследванията показват, че отделните независими агенти осигуряват по-висока ефективност, този метод позволява имитиране на екип от експерти в рамките на един LLM[1].

Приложение и резултати

Подходът на мултиагентния промптинг демонстрира своята ефективност в редица области, където единичните LLM по-рано срещаха затруднения.

Математически и логически разсъждения

Използването на няколко агента забележимо повишава точността при задачи, изискващи многостъпков извод (сложна аритметика, математически доказателства, логически пъзели). В работата на Du et al. (2023) мултиагентният „дебатен" подход подобри резултата в сравнение с единичен агент. Анализът показа, че с увеличаване на броя на агентите, участващи в обсъждането, точността на отговора нараства[3].

Научни и технически задачи

За сложни предметни проблеми (физика, химия) е предложен методът CoMM (Collaborative Multi-Agent, Multi-Reasoning-Path Prompting), при който няколко LLM-агента с различни роли (експерти) прилагат различни стратегии за разсъждение паралелно. В тестове върху задачи по физика от университетско ниво CoMM забележимо надмина базовите подходи като chain-of-thought, допускайки по-малко грешки във формули и изчисления[1].

Генериране и отстраняване на грешки в код

В областта на програмирането мултиагентните системи се прилагат за подобряване на качеството на кода и намаляване на броя на грешките. Системата PromptV използва няколко агента за последователно писане, проверка и коригиране на Verilog-код. Разпределението на ролите (генериране, преглед, тестване) подобри способността на модела да открива и коригира грешки, в резултат на което делът на успешно компилиращите се решения нарасна до 96,5% на един от benchmark-овете[4].

Търсене и анализ на информация

Мултиагентните системи са особено полезни за отворени, слабо структурирани заявки. Компанията Anthropic разработи многоагентен режим за модела Claude, предназначен за уеб-изследвания. В тази система водещият агент анализира заявката и генерира няколко паралелни агента-подзадачи, всеки от които извършва търсене по различни аспекти на темата. Такава архитектура се справяше 90% по-ефективно със сложни въпроси за търсене в сравнение с единичен модел Claude[2].

Класификация на текст и NLP-задачи

За NLP задачи е разработен принципно-ориентиран промптинг (Principle-Based Prompting). В тази методика LLM-агентите първо генерират набор от „принципи" (правила за решение), а след това финализиращ агент избира най-добрите от тях, въз основа на които друг агент извършва класификация. Този подход повиши метриката macro-F1 с 1,5–19% в сравнение с базовите методи, доближавайки се по качество до класическото обучение върху примери (few-shot)[5].

Ограничения и проблеми

Изчислителна сложност и разходи

Главният недостатък е рязко нараслото изчислително натоварване. Всеки агент изисква собствена сесия за генериране, което води до значителен разход на токени и ресурси. Според данни на Anthropic, тяхната система консумира средно 4 пъти повече токени на един диалог, а в някои случаи — до 15 пъти повече[2]. Това прави прилагането на подхода оправдано само за задачи с висока стойност.

Сложност на проектиране и координация

За успешна работа е необходима внимателна инженерна настройка на промптовете: необходимо е ясно да се определи ролята на всеки агент, форматът на обмен на съобщения и критериите за спиране. В противен случай агентите могат да дублират работата, да влизат в безкрайно търсене или да създават безполезни подзадачи[2].

Сигурност и надеждност

Появяват се нови вектори на атаки. Изследователите демонстрираха феномена Prompt Infection (заразяване на промпта), при което злонамерен фрагмент от инструкция на един агент се предава на друг, разпространявайки се по цялата верига от разсъждения като вирус. Такава атака LLM-to-LLM показва уязвимостта на многоагентните системи към скрити инжекции и манипулации, което изисква разработване на специални мерки за защита, например маркиране на изхода на всеки агент (LLM Tagging)[6].

Препратки

  • «How we built our multi-agent research system» — подробен анализ от Anthropic
  • «More Agents Is All You Need» — научна статия за ефективността на ансамбли от агенти

Литература

  • 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.

Бележки

  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]