(Кликнете върху изображението по-горе, за да гледате видеото на този урок)
Още щом започнете да работите по проект, включващ множество агенти, ще трябва да обмислите шаблона за дизайн с множество агенти. Въпреки това може да не е веднага ясно кога да се премине към множество агенти и какви са предимствата.
В този урок се стремим да отговорим на следните въпроси:
След този урок трябва да можете да:
Каква е по-голямата картина?
Множеството агенти са шаблон за дизайн, който позволява няколко агенти да работят заедно, за да постигнат обща цел.
Този шаблон се използва широко в различни области, включително роботика, автономни системи и разпределени изчисления.
Така че в какви сценарии е полезно използването на множество агенти? Отговорът е, че има много сценарии, при които използването на повече агенти е от полза, особено в следните случаи:
Система с един агент може да работи добре за прости задачи, но за по-сложни задачи използването на множество агенти може да осигури няколко предимства:
Нека вземем пример — да резервираме пътуване за потребител. Система с един агент ще трябва да се справя с всички аспекти на процеса на резервация, от намиране на полети до резервиране на хотели и коли под наем. За да се постигне това с един агент, той би трябвало да разполага с инструменти за обработка на всички тези задачи. Това може да доведе до сложна и монолитна система, която е трудна за поддържане и разширяване. От друга страна, система с множество агенти може да има различни агенти, специализирани в намирането на полети, резервирането на хотели и коли под наем. Това прави системата по-модулна, по-лесна за поддръжка и разширяема.
Сравнете това с туристическа агенция, управлявана като малко семейно предприятие спрямо туристическа агенция, работеща като франчайз. Семейното предприятие ще има един агент, който обработва всички аспекти на резервацията, докато франчайзът ще има различни агенти, заети с различни аспекти на процеса.
Преди да можете да приложите шаблона за дизайн с множество агенти, трябва да разберете съставните елементи, които го изграждат.
Нека направим това по-конкретно, като отново разгледаме примера с резервацията на пътуване за потребител. В този случай съставните елементи биха включвали:
Важно е да имате видимост как множеството агенти си взаимодействат. Тази видимост е съществена за отстраняване на грешки, оптимизиране и гарантиране на ефективността на системата като цяло. За да го постигнете, трябва да използвате инструменти и техники за проследяване на дейностите и взаимодействията на агентите. Това може да бъде под формата на инструменти за логване и мониторинг, визуализация и показатели за производителност.
Например при резервация на пътуване за потребител можете да имате табло, което показва състоянието на всеки агент, предпочитанията и ограниченията на потребителя и взаимодействията между агентите. Това табло може да показва датите на пътуване на потребителя, полетите, препоръчани от агента за полети, хотелите, препоръчани от агента за хотели, и колите под наем, препоръчани от агента за коли. Това дава ясна представа за това как агентите си взаимодействат и дали се изпълняват изискванията на потребителя.
Нека разгледаме всеки от тези аспекти по-подробно.
Инструменти за логване и мониторинг: Желаете да имате логване на всяко действие, предприето от агент. Запис в лог може да съдържа информация за агента, който е предприел действието, самото действие, времето на действие и резултата от действието. Тези данни могат да се използват за отстраняване на грешки, оптимизиране и други.
Инструменти за визуализация: Инструментите за визуализация могат да ви помогнат да видите взаимодействията между агентите по-интуитивно. Например, можете да имате графика, която показва поток на информацията между агенти. Това може да ви помогне да идентифицирате тесни места, неефективности и други проблеми в системата.
Показатели за производителност: Показателите за производителност могат да помогнат да следите колко ефективна е системата с множество агенти. Например, можете да следите времето за изпълнение на задача, броя завършени задачи за определено време, и точността на препоръките на агентите. Тези данни могат да ви помогнат да откриете области за подобрение и оптимизация на системата.
Нека разгледаме няколко конкретни шаблона, които можем да използваме за създаване на приложения с множество агенти. Ето някои интересни шаблони, които си заслужава да разгледаме:
Този шаблон е полезен, когато искате да създадете приложение за групов чат, където множество агенти могат да комуникират помежду си. Типични случаи на употреба включват сътрудничество в екип, поддръжка на клиенти и социални мрежи.
В този шаблон всеки агент представлява потребител в груповия чат, а съобщенията се обменят между агентите чрез протокол за съобщения. Агентите могат да пращат съобщения до груповия чат, да получават съобщения от груповия чат и да отговарят на съобщения от други агенти.
Този шаблон може да бъде реализиран чрез централизирана архитектура, при която всички съобщения минават през централен сървър, или чрез децентрализирана архитектура, при която съобщенията се обменят директно.

Този шаблон е полезен, когато искате да създадете приложение, в което множество агенти могат да си предават задачи.
Типични случаи на употреба включват поддръжка на клиенти, управление на задачи и автоматизация на работния поток.
В този шаблон всеки агент представлява задача или стъпка в работния поток, и агентите могат да предават задачи на други агенти според предварително зададени правила.

Този шаблон е полезен, когато искате да създадете приложение, в което множество агенти могат да си сътрудничат за даване на препоръки на потребителите.
Причината да искате множество агенти да си сътрудничат е, че всеки агент може да има различна експертиза и да допринесе по различен начин в процеса на препоръчване.
Нека вземем пример, в който потребител иска препоръка за най-добра акция за покупка на фондовия пазар.

Помислете за сценарий, в който клиент се опитва да получи връщане на пари за продукт; тук могат да участват доста агенти, но нека ги разделим между агенти, специфични за този процес, и общи агенти, които могат да се използват и в други процеси.
Агенти, специфични за процеса на връщане на пари:
Следват някои агенти, които могат да участват в процеса на връщане на пари:
Общи агенти:
Тези агенти могат да се използват и в други части на вашия бизнес.
Има доста агенти, изброени по-горе, както за конкретния процес на връщане, така и за общите агенти, които могат да се използват в други части на вашия бизнес. Надявам се това да ви даде представа как да решите кои агенти да използвате във вашата система с множество агенти.
Проектирайте система с множество агенти за процес на поддръжка на клиенти. Идентифицирайте агентите, участващи в процеса, техните роли и отговорности и как си взаимодействат. Вземете предвид както агенти, специфични за процеса на поддръжка, така и общи агенти, които могат да се използват в други части на вашия бизнес.
Помислете преди да прочетете следното решение, може да имате нужда от повече агенти, отколкото предполагате.
СЪВЕТ: Помислете за различните етапи на процеса на клиентска поддръжка и също така вземете предвид агентите, необходими за всяка система.
Кой сценарий е най-подходящ за система с множество агенти?
Кога обикновено е по-добър избор един агент?
В този урок разгледахме шаблона за проектиране с множество агенти, включително сценариите, в които са приложими, предимствата на използването на множество агенти вместо единствен агент, основните компоненти за реализиране на шаблона и как да имаме видимост върху взаимодействието между многото агенти.
Присъединете се към Microsoft Foundry Discord, за да се срещнете с други учащи се, да участвате в консултации и да получите отговори на въпросите си за AI агентите.
Отказ от отговорност: Този документ е преведен с помощта на AI преводачески услуга Co-op Translator. Въпреки че се стремим към точност, моля имайте предвид, че автоматизираните преводи могат да съдържат грешки или неточности. Оригиналният документ на неговия роден език трябва да се счита за авторитетен източник. За критична информация се препоръчва професионален човешки превод. Ние не носим отговорност за каквито и да е недоразумения или неправилни тълкувания, произтичащи от използването на този превод.