Адзін мета да абяронаваныя дзеянні: ціклы, перакананне і правы на выкарыстоўванне ў агентах AI
Дазнайцеся, як агенты AI ператвараюць цель у вызовы інструментаў за дапамою ціклу планавання-дзеяння-спазірвання, і чаму верыфікацыя, рэгламенты автаномнасці і слоі дазвола вялікай меры вплываюць на тое, чыя ўжо яны безпечны.
Большасць людзей пачаткова пазналі модэлі языка як апараты для адказаў на запытанні: вводзіце запыт, апарат даёт адказ, і ўсё. Сістэмы з агентамі наражаюць гэты патэрн. Калі ёсць мета, яны плануюць, выкорыстоўваюць інструменты, перакантролююць рэзультаты і продолжаюць, пакуль заданне не будзе завершана. У гэтым апуснім курсе рассказваецца пра цыклы, інструменты, памяць і настройкі з калькольніка агентаў, пасля чаго акцэнт ставіцца на тое, што найважлівейша ў практычнай експлуатацыі: перакантролюванне роботы агента і обмежэнне яго прав.
Адказ на запытанні проты работы над метай
Класычны чат-бот працюе ў одні раз: запытанне вводзіцца, модэль даёт адказ, і больш нічога не выкананае.
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
Эвалюяцыя выглядае так: адпаведзь, плануй, дзейся, спазірваў і пераканаўся. Калькі пунктав, якія трэба врачыць пры стварэнні будзь-каго агента:
- Саме цыкл, а не модэль, робіць систему агентам; обмежыце яго па лімітам ітерацый, часу і бюджэту.
- Дазвольце інструментам выканаць точныя задачы, такія як арытметыка, запыты і выкананне коду, і чыста апісце тыя інструменты.
- Пераканаўце кожны наступны крок за дапамогою пераканаў, якія не выкарыстоўваюць сама оцэнку модэля.
Агенты — это не столькі машыны, якія думаюць як людзі, сколькі системы, якія ператвараюць цель у конкрэтныя дзеяння. Ключовы вопыт — не ў тым, насколькі спроможны моделі, а ў тым, што вы гатовы ўпусціць іх зрабіць.
Спаднёе чытанне
- Агентныя AI: ад мовных модэляў да автонамных агентаў — структураваны апіс, як LLM-ы эвалююць у агентныя системы за дапамогою інструментаў, памяці, планавання, мульті-агентных архітектур і інтэграцыі MCP.
- Апраўленне таго, што робяць АІ-агенты: правы на выконання задач, бар’еры для затверджэння і рангі рызыку — Дазвольце дазнацца, чаму агенты, якія выконваюць задачы, патрабуюць менталітэту апраўлення, і як прынцып мінімальных прав, людзкае затверджэння і автонамія, базаваная на рызыку, дапамагаюць контролаваць ўсе іх памылкі.
- Статыстычныя водяныя знакі тексту проты C2PA-крэдытнаў у выходных даных Claude — Дазвольце дазнацца, як працююць водяныя знакі тексту, базаваныя на SynthID у Claude, і крэдытнаў C2PA, што можу падтвердзіць детектары, і як ацэніць будь-які інструмент, який стверджуе, што можа ўсунуць іх.
- Стварэнне агентаў AI на базе вашых існуючых .NET-сэрвісаў і API — Как C#-команды можу ператварыць існуючыя сэрвісы і API на інструменты-агенты, якія керуецца правіламі контексту, безпекі і стежыць за ўсім, каб забезпечыць іх безпеку.
- Урокі з перакладу Zig у Rust пад кераваннем AI у Bun: верыфікацыя — гэта справжня робота — Чаму пераклад з Zig у Rust пад адказкай агентаў Bun дае важлівыя урокі пра тэстовыя комплекты як контракты, падказкі па перакладу, небезпечны код і чаму верыфікацыя сэрьза абмежвае использованне AI у програмаванні.