Галоўная / Артыкулы / Адзін мета да абяронаваныя дзеянні: ціклы, перакананне і правы на выкарыстоўванне ў агентах AI

Адзін мета да абяронаваныя дзеянні: ціклы, перакананне і правы на выкарыстоўванне ў агентах AI

Дазнайцеся, як агенты AI ператвараюць цель у вызовы інструментаў за дапамою ціклу планавання-дзеяння-спазірвання, і чаму верыфікацыя, рэгламенты автаномнасці і слоі дазвола вялікай меры вплываюць на тое, чыя ўжо яны безпечны.

2717 слоў

Большасць людзей пачаткова пазналі модэлі языка як апараты для адказаў на запытанні: вводзіце запыт, апарат даёт адказ, і ўсё. Сістэмы з агентамі наражаюць гэты патэрн. Калі ёсць мета, яны плануюць, выкорыстоўваюць інструменты, перакантролююць рэзультаты і продолжаюць, пакуль заданне не будзе завершана. У гэтым апуснім курсе рассказваецца пра цыклы, інструменты, памяць і настройкі з калькольніка агентаў, пасля чаго акцэнт ставіцца на тое, што найважлівейша ў практычнай експлуатацыі: перакантролюванне роботы агента і обмежэнне яго прав.

Адказ на запытанні проты работы над метай

Класычны чат-бот працюе ў одні раз: запытанне вводзіцца, модэль даёт адказ, і больш нічога не выкананае.

User
 ↓
Question
 ↓
AI
 ↓
Answer

Якшы запытаць яго: «Што такое машынны навучэнне?», і вы отрымаеце адказ, больш нічога. Агент організаваны навакол меты, якой досягае за дапамою серіі дзеянняў з падтрымкай у межах гэтых дзеянняў.

User
 ↓
Goal
 ↓
AI Agent
 ↓
Plan
 ↓
Use Tools
 ↓
Observe Results
 ↓
Take More Actions
 ↓
Complete Goal

Запрос на кшталт „Аналізаваць гэты набор дадзеных і стварыць адказ“ павінен быть разбіты на конкрэтныя этапы:

Read dataset
     ↓
Understand columns
     ↓
Clean data
     ↓
Analyze statistics
     ↓
Create graphs
     ↓
Find patterns
     ↓
Write report

Корача кажучы, чат-бот адказвае, тады як агент выканае работу і корэгіруея ўсё падчас яе выканання.

Што робіць систему агентам?

Не існуе едзінага загаданага адзначэння. Практычна версія: агент прымае заданне, прыме рашэнні, выкарыстоўвае наявныя інструменты, аналізуе рэзультаты і выбирае далейшыя дзеянні пакуль не будзе досягнута мета. Адзначальная характэрыстыка — галузь у нижней частці, якая вяртае кантроль назад.

USER GOAL
                  ↓
             AI AGENT
                  ↓
               PLAN
                  ↓
          SELECT ACTION
                  ↓
              USE TOOL
                  ↓
             OBSERVE
                  ↓
             EVALUATE
                  ↓
          NEXT ACTION?
             ↙       ↘
           YES        NO
            ↓          ↓
        Continue     Finish

Без гэтага цыклу у вас є пайплайн, який працюе толькі адна раз. З ўсім гэтым система можа восстанавіцца пасля неспадзянак, што ёсць як ее сіла, так і прычына, чаму ёй патрэбны нагляд.

Цыкл „думаць, дзеяць, абсалюваць“

Самая простая ментальная модель для такога цыклу — гэта думка, дзеянне, абазоўванне. Уявіце, што вы прасіце агента знайсці найкращы ноутбук у межах вашага бюджету і параболіць тры кандыдаты. Унутраня яго працэўка можа выглядаць так:

Goal
 ↓
Understand requirements
 ↓
Search for products
 ↓
Read results
 ↓
Compare specifications
 ↓
Check prices
 ↓
Evaluate options
 ↓
Generate recommendation

Агент не запішвае інфармацыю пра ноутбукі з памяці трэнавання. Ён запытае рэальныя источнікі і базуе сваю рэкамендацыю на тым, што знайшоў, і самэ гэта сацыяванне з зовнішнім светам і ўражае яго ад простага генеравання тексту.

Тры часткі: модэль, інструменты і стан

Базовага агента можна описаць за дапамою трох канпонентаў.

Модэль як прымушальнік рашэнняў

Зазвычай гэта большая мовная модэль, якая адначасова расцёлвала інструкцыі і прымушвае рашэння, што рабіць далей.

Інструменты як можлівасці

Інструменты — гэта зовнішнія можлівасці, якія агент можа выкарыстоўваць, напрыклад:

Search
Python
Calculator
Database
API
File system
Computer
Vision model

Стан як ходзячыя запісы

Стан — это тое, што агент знае працэю на даны момант. Ён адпавядае на такія запытанні:

What did I search?
What did I find?
What have I already done?
What remains?

Усе тры компоненты разам вплываюць на дзеянні, якія выконвае агент:

AI AGENT
                 │
      ┌──────────┼──────────┐
      ↓          ↓          ↓
    Model       Tools     Memory
      │          │          │
      └──────────┼──────────┘
                 ↓
              Actions

Пра болей шырокія выясненні гэтых элементаў можна прачытаць у нашай аднарадзе пра цілі, інструменты, памяць і цикл агента.

Чаму інструменты маюць такое важлівасць

Якшо папросіце модель умножыць 938472 на 827391, яна можа правільна адпавясць, але ўзначае цыфры, а не вырахоўвае іх, таму калькулятар чы Python є надзеяннейшымі. Агент можа перадаць задачу іншаму:

User
 ↓
LLM
 ↓
"I need exact arithmetic."
 ↓
Calculator
 ↓
Result
 ↓
LLM
 ↓
Answer

Модель не павінна робіць усё сама. Яна делегуе задачы.

Выбір правильнага інструмента для вхідных дадзенняў

Як агент выбірае сярод своіх інструментаў? Падазраць, ён можа выкарыстоваць усе іх:

Python
SQL
Search
Calculator
Vision Model
File Reader
Email API
Calendar

Калі дана задача „Пагляньце на гэтыя табліцы з продажамі і поясніце, чаму знизілася выручка“, система на адказ на тип вхідных дадзеных, ўпорядкуванне інфармацыі та саму задачу выбирае пасоўдны інструмент:

Input = Spreadsheet
        ↓
Data = Tabular
        ↓
Task = Analysis
        ↓
Tool = Python/pandas

Пасля чаго выбраны інструмент выканае основную роботу і перадае сваія рэзультаты:

pandas
 ↓
Analyze sales
 ↓
Find patterns
 ↓
Return results

Потым агент тлумачыць гэтыя рэзультаты. У практыцы выбор інструмента сильна залежыць ад чыстых назваў і апісанняў інструментоў, адколі гэта ўсё, што бачыць модель.

Спаўненне калькі інструментоў у адны рабочы процес

Разглянем задачу „Аналізаваць нашы даны пра продажы, стварыць графік і аправіць звястку маюму керавальніку“, якая включае аналіз, візуалізацыю, напісанне тэксту і адправку:

Sales Dataset
     ↓
Python / pandas
     ↓
Statistical Analysis
     ↓
Matplotlib
     ↓
Create Charts
     ↓
LLM
     ↓
Write Report
     ↓
Email Tool
     ↓
Send Report

Сістэма тепер координуе рабочы процес, у яком кожны выходны рэзультат стае вхіднай інфармацыяй для наступнага крока, таму пачатковая памылка можа распрастарыцца аж да адправкі электранаўпытку.

Планаванне праз разбіўку задач

Фраза „Створыць веб-сайт для магчымасці“ занадта большая, каб выконаць яе за адну практыку. Спакульны агент дзеліць яе на ароганізаваныя часткі:

Goal
 ↓
Understand requirements
 ↓
Create project structure
 ↓
Build frontend
 ↓
Build backend
 ↓
Connect database
 ↓
Run application
 ↓
Test
 ↓
Fix errors
 ↓
Deploy

Это ўскладненне задачы: цэль ператвараецца на серію меншых дзеянняў, кожна з якіх можа быць выкананая і перакананая.

Рэагаванне на абяканне заместа яго адчыткі

Цяпероўка прадае сэрвіс, калі ўтварыцца абяканне. Спакульны агент запускае якісь код:

Write code
 ↓
Run code
 ↓
ERROR

Чат-бот можа толькі адчыткаць абяканне. Агент можа яго прачытаць, выправіць код і спробаваць зноў:

Write code
 ↓
Run code
 ↓
ERROR
 ↓
Read error
 ↓
Identify problem
 ↓
Modify code
 ↓
Run again
 ↓
SUCCESS

У загальнай форме, гэта ёсць цяпероўка агента, пры якой адліквідацыя даае новы план:

┌──────────────┐
              │    PLAN      │
              └──────┬───────┘
                     ↓
              ┌──────────────┐
              │     ACT      │
              └──────┬───────┘
                     ↓
              ┌──────────────┐
              │   OBSERVE    │
              └──────┬───────┘
                     ↓
              ┌──────────────┐
              │   EVALUATE   │
              └──────┬───────┘
                     │
                     └──────→ PLAN AGAIN

Цяпероўка, якая можа прабаваць зноў, таксама може прабаваць без канца, таму рэальныя системы обмежваюць колькасць ітарацый.

Памяць і прынадзейнасць між крокамі

Без памяці кожная задача запускаецца з нуля:

Task 1
 ↓
Forget
 ↓
Task 2
 ↓
Forget

З памяцю, якая пераносится, кожны крок будуе на празыдзейнам:

Task 1
 ↓
Save result
 ↓
Task 2
 ↓
Use previous result
 ↓
Task 3

Пам'ять існуе ў калькі разных сфер дзейнасці:

  • Кораткастая становісць зберагае інфармацыю з аднойчы працюючага задання.
  • Дзейгастая пам'ять застаецца актуальной пры кожных взаімадзейнасцях, якщо толькі система гэта падтрымле.
  • Зовнішняя пам'ять знаходзіцца за межамі модэлі, у базах дадзеных, дакументах, сховішчах вектароў аб файлах.

Агент можа пераглядаць дакументы проекту і пярэднія рэзультаты пры выкананні нынешняй ступені:

Agent
 ↓
Memory
 ↓
Project documents
 ↓
Previous results
 ↓
Current task

Спалучэнне процеса выкарыстоўвання інфармацыі з выконаннем дзеяння

Метод выкарыстоўвання дакументаў для падтрымкі генеравання інфармацыі (RAG) па-прыродны чыніць агентов нейкім спосабам. Ён шукае інфармацыю ў внутраніх дакументах компаніі, чытае стосунавяльныя фрагменты і аналізуе іх, каб даць адпаведныя адказы:

Question
 ↓
Search company documents
 ↓
Retrieve relevant information
 ↓
Read context
 ↓
Reason about it
 ↓
Answer

Даўжыце інструменты, і агент таксама зможа дзеяць на тое, што ён знаходзіць:

AI AGENT
                    │
        ┌───────────┼───────────┐
        ↓           ↓           ↓
       RAG        Python       APIs
        ↓           ↓           ↓
    Documents    Analysis     Actions

Раздзелэнне роботы між калькамі агентоў

Калі аднаго агента недастаткова, калькі спецыялізаваных агентаў можа працаваць пад кераваннем координатора:

MAIN AGENT
                     │
        ┌────────────┼────────────┐
        ↓            ↓            ↓
   Research Agent  Coding Agent  Data Agent
        │            │            │
     Search        Code         Analysis

Агенты, які займаюцца даследаванням, кодаваннем і обробкай дадзэйнаў, кожны з яных ведае сваю сферу, тады калі главны агент распрацоўвае задачы между ямі. это ёсць система з калькіма агентамі.

Аналагія з командай і яе меры

Структура падобная да прыемнікі програмнага забезпечэння з чысткамі ролямі:

Manager
   ↓
Developer
   ↓
Tester
   ↓
Designer
   ↓
Deployment

Система AI можа перадаць гэты падзел працы:

Coordinator Agent
       ↓
Research Agent
       ↓
Coding Agent
       ↓
Testing Agent
       ↓
Deployment Agent

Порэванне ў свободны, але яно паказвае напрамак: кераванне спецыялізаванымі моделямі і інструментамі замест адной модэлі. Кожны дапаможніцы агент таксама прыносіць даплата і затрымкі, таму спецыялізацыя павінна быць рэальной.

Як агенты дзеяць некоректна

Автаномія не значыць надзеяжнасць. Агент можа:

  • выбраць некоректны інструмент
  • неправацьна адразу цэлі
  • стварыць нефункцыйнальны код
  • з’яўіць нерелевантны матэрыял
  • павтарэнне дзеяння, якое вже не выйшла
  • выдумка фактав
  • прыняць некальканосны рашэнне
  • выкарыстоўваць дзеяння, якое ніхто не планаваў
  • Пакрыткі паглыбляюцца на кожны следзячы этап:

    User Goal
       ↓
    Wrong interpretation
       ↓
    Wrong tool
       ↓
    Wrong result
       ↓
    Wrong action
    

    Чым больш свабоды мае агент, тым чэрзьве трэба пераканацца ў правільнасці яго дзеянняў.

    Інтаграцыя пераканання ў цикл

    Анті-шаблон — это агент, які дзеяе і проста прыймае, што дзеяння выйшла:

    Act → Assume success
    

    Лепшы шаблон включае явную пераканку пры пераходзе да наступнага крока:

    Act
     ↓
    Observe
     ↓
    Verify
     ↓
    Continue
    

    Для коду пераканка выглядае як тэставанне з чыткім розпадам на варыянты рэзультатаў:

    Write Code
     ↓
    Run Tests
     ↓
    Tests Pass?
     ├── NO → Fix
     └── YES → Continue
    

    Для дадзенняў — это пераканка ў правільнасці рэзультата, прычым ніхто яшчо не павяржаецца ў яго:

    Database Query
     ↓
    Check Result
     ↓
    Is result reasonable?
     ├── NO → Investigate
     └── YES → Continue
    

    Перакантрольванне замест асумпцыяў — гэта тое, што значна разлічва адаптыванага агента ад простога скрыпта. Лепш выкарыстоўваць дэтерміністычныя перакантрольванні, такія як тэсты або верыфікацыя схемы, чым прасіць модель аб самае оцэнцы.

    Аўтаномія — гэта регулятор, а не выключнік

    Агентам не патрэбна абсалютная свабода. Уявіце вагы, якія пачынаюцца з системы, якая адпаведзае толькі:

    Level 1
    AI only answers
    

    Вышэйшыя рывні дадаюць прыказы ўздзеяў, потым вызывы інструментаў, пасля чаго — багаташагонаўскія планаванні, і нарэшце — рабочыя практыкі, якія выкананы з мерыяваным наглядам:

    Level 2
    AI suggests actionsLevel 3
    AI calls toolsLevel 4
    AI plans multiple actionsLevel 5
    AI executes workflows with limited supervision
    

    Кожны наступны рывень падымае трэбаванні да агента:

    Permissions
    Safety
    Monitoring
    Verification
    Human oversight
    

    Найнижэйшы рывень, які рашае проблэму, зазвычай ёсць найбезпечнейшы выбар.

    Вярніце межы таго, чаму агент можа зачыніцца

    Уявіце агента, які падключаны да всьго наступнага:

    Email
    Banking
    Files
    Database
    Cloud infrastructure
    Production servers
    

    Неразблакаваны доступ быў бы неабдуманым. Безпечнейшы дизайн перадае дзеянні через слой разрэшэнняў:

    AI Agent
       ↓
    Permission Layer
       ↓
    Allowed Tools
       ↓
    Action
    

    Потым разрэшэння задаюцца для кожнага дзеяння: чытанне файла можа быць дазволена, тады як выдаленне, адправка пісьма, развяроцца чы супрацоўка з базай дадзеных залежыць ад контексту:

    Read file       ✓
    Delete file     ?
    Send email      ?
    Deploy software ?
    Access database ?
    

    Прынцып — мінімальныя правы прывілеі.

    Абмежэнняя і затверджэнне чалавекам

    Агенты, якія працуюць у працоўнай средзе, таксама патрабуюць строгіх абмежэнняў у сваей дзеяльнасці:

    Allowed tools
    Maximum actions
    Time limits
    Budget limits
    File permissions
    Network permissions
    Human approval
    

    Для дзеянняў з вялікім уплывам агент падготавляе дзеянне і чакае, калі яго затвердзіць чалавек:

    Agent
     ↓
    Prepare Action
     ↓
    Human Approval
     ↓
    Execute
    

    Это ўзор дизайна, у яком чалавек уключаны ў процес. Абмежаныя ціклы расглядзены ў нашай статыце пра абмежаныя ціклы агентав у TypeScript.

    Дзе застаўляюцца агенты

    Той самы цікл відбываецца ў багатых сферах.

    Разработка прыграмаў

    Requirement
     ↓
    Coding Agent
     ↓
    Code
     ↓
    Testing
     ↓
    Bug Fixing
    

    Аналіз дадзейнаў

    Dataset
     ↓
    Data Agent
     ↓
    Cleaning
     ↓
    Analysis
     ↓
    Visualization
     ↓
    Report
    

    Сапорка кляўэнтам

    Зважайце на пункт «дазволеныя дзеянні»: агенты сапоркі працуюць у межах вузкая, заздалегідь апрацаванай групы операцый.

    Customer Question
     ↓
    Retrieve Account Information
     ↓
    Understand Problem
     ↓
    Take Permitted Action
     ↓
    Respond
    

    Дзеянні навуковага характару

    Research Question
     ↓
    Search
     ↓
    Read Papers
     ↓
    Extract Information
     ↓
    Compare Findings
     ↓
    Generate Report
    

    Адзінасткавасць асобы

    Goal
     ↓
    Calendar
     ↓
    Email
     ↓
    Documents
     ↓
    Tasks
     ↓
    Summary
    

    Іншы тип інтэрфейсу

    Традыцыйныя прыграмы супарабатваюць так: кантрольны элемент прыяжджае да функцыі, якая дае рэзультат:

    Button
     ↓
    Function
     ↓
    Result
    

    Агент ператварае заявленую мету на план, вызовы інструментаў і дзеянні:

    Goal
     ↓
    Planning
     ↓
    Tools
     ↓
    Actions
     ↓
    Result
    

    Уместо таго, каб выучыцца, якія кнопкі нажымаць, корыстувач описвае бажаны рэзультат. Гэта зміняе спосаб вазьмісця межы межаў чалавека і камп’ютера, і робіць візуабельнасц дзеянняў агента трэбованнем у дызайне.

    Прымечанне да слова «думка»

    Калі мы кажам, што агент „думае“, мы зазвычай маўмы на вычысловыя крокі: адгукаванне да вхідных дадзеных, планаванне, выбір дзеянняў, ацэнка выходных рэзультатаў і актуалізацыя стану. Гэта не паводзіцца да стварэння свядомасці. Тым точней, агенты выканаюць ітератывныя ціклы разумавання і выбору дзеянняў для досягнення меты; „агент“ описвае поведзінку і архітектуру, а не перажыцця.

    Полная картына ў аднам цікле

    Усе этыя элементы разам утвараюць такую архітектуру: планаванне, дзеяння за дапамою інструмента, абсерваванне, перакананне, пасля чаго продажчыця або зупінка.

    USER
                          │
                          ▼
                     ┌─────────┐
                     │  GOAL   │
                     └────┬────┘
                          ↓
                   ┌─────────────┐
                   │ AI / LLM    │
                   └──────┬──────┘
                          ↓
                       PLAN
                          ↓
                  SELECT ACTION
                          ↓
            ┌─────────────┼─────────────┐
            ↓             ↓             ↓
          Search        Python         SQL
            ↓             ↓             ↓
            └─────────────┼─────────────┘
                          ↓
                       RESULT
                          ↓
                      OBSERVE
                          ↓
                      VERIFY
                          ↓
                 Continue or Finish
    

    Эты цікл знаходзіцца ў цэнтры большасці агентных систем.

    Куды гэта прыводзіць

    Уявіце, што вы прасіце свой комп’ютер падготавіць вашы ўздоўжній даповедны звіт, а агент керуе всім цыклам:

    Open research sources
            ↓
    Collect information
            ↓
    Read documents
            ↓
    Analyze data
            ↓
    Create charts
            ↓
    Write report
            ↓
    Check errors
            ↓
    Prepare final document
    

    Комп’ютер тады координуе прыкладнія програмы, а не проста ўтримвае іх. У далейшым часе працэс выглядае так:

    Rule-Based Software
            ↓
    Machine Learning
            ↓
    Chatbots
            ↓
    LLMs
            ↓
    Tool-Using LLMs
            ↓
    AI Agents
            ↓
    Multi-Agent Systems
    

    Змены стосуюцца не толькі большых модэляў, але і такіх модэляў, якія все чырэй узаемадзейнуюць з зовнішнімі системамі.

    Ключавыя выводы

    Чат-бот падкажае, як можна аналізаваць набор дадзеных. Система, адмованая да агентаў, можа яго знайсці, завантажыць, аналізаваць, стварыць графікі, выяўіць проблемы, напісаць адчытку, прагледзець затверджэння і выдаць яго:

    Find the dataset
          ↓
    Load it
          ↓
    Analyze it
          ↓
    Create visualizations
          ↓
    Detect problems
          ↓
    Write a report
          ↓
    Ask for approval
          ↓
    Deliver the result
    

    Эвалюяцыя выглядае так: адпаведзь, плануй, дзейся, спазірваў і пераканаўся. Калькі пунктав, якія трэба врачыць пры стварэнні будзь-каго агента:

    • Саме цыкл, а не модэль, робіць систему агентам; обмежыце яго па лімітам ітерацый, часу і бюджэту.
    • Дазвольце інструментам выканаць точныя задачы, такія як арытметыка, запыты і выкананне коду, і чыста апісце тыя інструменты.
    • Пераканаўце кожны наступны крок за дапамогою пераканаў, якія не выкарыстоўваюць сама оцэнку модэля.
  • Надаюце правыя на кожны адзін акт, пачынаючы з мінімальных прывілеяў, і трэба людскае затверджэнне для всього, што не можна вярнуць.
  • Выберыце найнижшы рэвэлюм, які дазволіць выкарыстаць апарат для выпання задачы.
  • Агенты — это не столькі машыны, якія думаюць як людзі, сколькі системы, якія ператвараюць цель у конкрэтныя дзеяння. Ключовы вопыт — не ў тым, насколькі спроможны моделі, а ў тым, што вы гатовы ўпусціць іх зрабіць.

    Спаднёе чытанне