ai-agents-for-beginners

Изграждане на агент за използване на компютър (CUA)

Агентите за използване на компютър могат да взаимодействат с уебсайтове по същия начин, както един човек: като отворят браузър, инспектират страницата и предприемат следващото най-добро действие въз основа на това, което виждат. В този урок ще изградите агент за автоматизация на браузър, който търси в Airbnb, извлича структурирани данни за обяви и идентифицира най-евтиното настаняване в Стокхолм.

Урокът комбинира Browser-Use за AI-управлявана навигация, Playwright и Chrome DevTools Protocol (CDP) за управление на браузъра, Azure OpenAI за разсъждения с активирано зрение и Pydantic за структурирано извличане.

Въведение

Този урок ще обхване:

Учебни цели

След завършване на този урок ще знаете как да:

Примерен код

Този урок включва един учебен ноутбук:

Изисквания

Настройка

Инсталирайте пакетите, използвани в ноутбука:

pip install browser_use playwright python-dotenv
playwright install chromium

Задайте средните променливи на Azure OpenAI, използвани в ноутбука:

AZURE_OPENAI_ENDPOINT=...
AZURE_OPENAI_API_KEY=...
AZURE_OPENAI_CHAT_DEPLOYMENT_NAME=...
# По избор: по подразбиране използва най-новата версия на API, когато е изпуснато
AZURE_OPENAI_API_VERSION=...

Преглед на архитектурата

Ноутбукът демонстрира хибриден работен процес за автоматизация на браузър:

  1. Chrome стартира с активиран CDP, така че и Playwright, и Browser-Use да могат да споделят една и съща браузърна сесия.
  2. Агент на Browser-Use управлява задачи за отворена навигация като отваряне на Airbnb, затваряне на изскачащи прозорци и търсене на Стокхолм.
  3. Активната страница се инспектира със структурирана Pydantic схема за извличане на заглавия на обяви, нощни цени, оценки и URL адреси.
  4. Python логика сравнява извлечените обяви и маркира най-евтиния резултат.

Този подход запазва гъвкавото, основано на визия разсъждение, с което Browser-Use е добър, като същевременно ви дава детерминирана браузърна контрола, когато ви трябва.

Основни изводи и добри практики

Кога да използвате агент срещу актьор

Сценарий Използвайте агент Използвайте актьор
Динамични оформления Да, AI може да се адаптира към промени в страницата Не, крехки селектори могат да се счупят
Позната структура Не, агентът е по-бавен от директния контрол Да, бърз и прецизен
Намиране на елементи Да, естественият език работи добре Не, изискват се точни селектори
Контрол на времето Не, по-малко предсказуем Да, пълен контрол върху изчаквания и опити
Сложни работни потоци Да, се справя с неочаквани UI състояния Не, изисква явни разклонения

Добри практики за Browser-Use

  1. Започнете с агент за изследване и динамична навигация.
  2. Превключете към директен контрол на страницата, когато взаимодействието стане предсказуемо.
  3. Използвайте структурирани модели на изходните данни, за да бъдат валидирани и типово безопасни.
  4. Добавяйте забавяния стратегически след действия, които предизвикват видими UI промени.
  5. Правете екранни снимки при итерации, за да е по-лесно да се отстраняват грешки.
  6. Очаквайте уебсайтовете да се променят и създавайте резервни стратегии за изскачащи прозорци и смени в оформлението.
  7. Съчетавайте модели агент и актьор, за да получите както гъвкавост, така и прецизност.

Защитни мерки за браузърни агенти

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

  1. Определете обхвата на браузърната среда. Стартирайте агента в отделен профил на браузъра или пясъчник и го ограничете до домейните, необходими за задачата.
  2. Разделяйте наблюдението от действието. Нека агентът първо търси, чете и извлича данни; изисквайте явна стъпка за одобрение преди да изпраща формуляри, съобщения, да прави резервации, покупки, изтрива записи или променя настройки на акаунта.
  3. Дръжте тайните далече от подсказките и проследяванията. Не поставяйте пароли, платежни данни, бисквитки за сесия или сурови лични данни в контекста на модела. Нека потребителят да поеме автентикацията и да цензурира чувствителните полета в логовете.
  4. Отнасяйте се към съдържанието на страницата като към ненадежден входящ материал. Уебсайтът може да съдържа инструкции за агента, а не за потребителя. Агентът трябва да игнорира текст, който го кара да променя целите си, да разкрива данни, да деактивира защитни механизми или посещава несвързани сайтове.
  5. Използвайте детерминирани проверки около рискови стъпки. Потвърдете текущия URL, заглавието на страницата, избрания елемент, цената, получателя и обобщението на действието с код, преди да поискате одобрение от потребителя за окончателната стъпка.
  6. Задайте бюджети и условия за спиране. Ограничете броя действия, повторения, раздели и минути, които агентът може да използва. Спирайте, ако състоянието на страницата е неясно, вместо да продължавате да кликате.
  7. Записвайте полезни доказателства, не всичко. Съхранявайте обобщения на действията, времеви марки, URL адреси, описания на избрани елементи и препратки към екранни снимки, за да могат грешките да се преглеждат без да се съхранява излишно чувствително съдържание на страницата.

В примера с Airbnb, безопасният по подразбиране подход е да се търсят обяви и да се извличат цени. Входът, контакт с домакин или завършване на резервация трябва да бъде отделно действие, одобрено от потребителя.

Приложения в реалния свят

Пример от реалния свят: Microsoft Project Opal

Агентът, който изграждате в този урок, е малка, локална версия на агент за използване на компютър (CUA) — програма, която задвижва браузър по същия начин, както човек. Microsoft внедрява тази идея в бизнеса с Project Opal (Frontier), възможност в Microsoft 365 Copilot.

С Project Opal описвате задача и агентът работи от ваше име, използвайки използване на компютър на защитен Windows 365 Cloud PC, работещ през браузърните приложения, сайтове и данни на вашата организация. Той работи асинхронно във фонов режим, а вие можете да напътствате работата или да поемете контрола по всяко време. Примерни задачи включват:

Opal е полезен ориентир за това как изглежда продуктово зрял, надежден агент за използване на компютър — и подкрепя концепции от предишни уроци:

Концепция в този курс Как Project Opal я прилага
Човек в процеса (Урок 06) Opal спира за данни за влизане, чувствителна информация или неясни инструкции, и никога не въвежда пароли или не изпраща формуляри без явна потвърждение. Можете да поемете контрол и да върнете контрола по време на задачата.
Доверени и защитени агенти (Уроци 06 и 18) Работи в изолиран Windows 365 Cloud PC, по подразбиране е само браузърен (достъп до друг компютър блокиран, налаган чрез Intune), използва вашата идентичност, така че достъпва само това, за което сте упълномощени, и записва всичко за одит.
Планиране и метакогниция (Уроци 07 и 09) Opal първо генерира план за задачата, след това наблюдава собствените си разсъждения на всеки етап и спира, ако открие подозрително поведение.
Повторно използваеми възможности/инструменти (Урок 04) Уменията ви позволяват да пишете инструкции за повтарящи се задачи (импортирани от .md файл или създадени с Opal) и да ги използвате в различни разговори.

Наличност: Project Opal е в момента достъпен за потребители в програмата за раннен достъп Frontier с абонамент за Microsoft 365 Copilot и администраторът трябва да извърши настройка. Тъй като е експериментална функция на Frontier, възможностите ѝ може да се променят с времето.

Допълнителни ресурси

Предишен урок

Разглеждане на Microsoft Agent Framework

Следващ урок

Деплойване на мащабируеми агенти


Отказ от отговорност: Този документ е преведен с помощта на AI преводачески услуга Co-op Translator. Въпреки че се стремим към точност, моля имайте предвид, че автоматизираните преводи могат да съдържат грешки или неточности. Оригиналният документ на неговия роден език трябва да се счита за авторитетен източник. За критична информация се препоръчва професионален човешки превод. Ние не носим отговорност за каквито и да е недоразумения или неправилни тълкувания, произтичащи от използването на този превод.