Галоўная / Артыкулы

Атамовыя графы заданняў: планаванне работы агента як граф залежнасцяў

Як фрэймворк Atomic Task Graph разбівае задачы агента на вузлы з пазначэнням типа, сімулюе планы і выправляе толькі неудачныя падграфы, каб дапамогчы маленькім відкрытым моделям конкуруваць.

Выдавец: REACTAPP.TOP7 хв чытання1697 слоў

Крыніцы: This New AI Framework Turned 7B Models Into GPT-4 Competitors (Without Any Training)

Большая частка спроб зробіць агенты LLM болей надзеянымі пачынаецца з викорыстання большога модэлю. Фреймворк Atomic Task Graph (ATG), запропанаванный дакладчыкамі з Універсітэту Цінхуа і Паўденнага тэхнічнага універсітэту Кітаю, пачынае з іншага: ён зміняе спосаб, яким агент структуруе свою роботу. За дакладам, модэлі 7B і 8B з адкрытым кодам, запакаваныя ў ATG, перамагаюць GPT-4, які працуе за стандартным цыклам ReAct, у двух вядомых тэстах агентоў, без жадных налаштавань, навучэння па адзынкам чы пераканання ваг, усё гэта. Нижчэй: чаму лінейныя ланцюгі разумовых выводоў не функцыонуюць, як ATG заменяе іх графам залежнасцей, і якія ідеі можна запозычыць для своіх агентоў.

Чаму лінейныя цыклы агентоў не працуюць пад час вялікіх заданняў

Разглянем такі запит, як «стварыць адчыт пра продажы за 2024 год з дыяграмамі». Типовы агент у стыле ReAct спрацоўвае гэта як адну довгую серію крокаў, кожны з якіх залежыць ад пярэднега.

Step 1
↓
Find database
↓
Query data
↓
Analyze numbers
↓
Create graphs
↓
Write report

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

Database query
↓
Everything after it becomes wrong

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

Контекст продовжвае растаць

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

User
↓
Thought
↓
Action
↓
Observation
↓
Thought
↓
Action
↓
Observation
↓
Thought
↓
Action

Зрэшты, модель аналізуе вялікі об'ём історыі. Контэкст стае пераплутаным, а ранніяі памылкі застаюцца виднымі, таму яны продовжваюць вплываць на пазнейшыя рашэнні. Як у гэйме «тэлефон», кожны раунд лёгкая спакісвае план, пакуль ён не адхіляецца ад рэальнасці.

Основная ідея: граф у замену ланцюгу

ATG заменяе адзінную последовальнасць на граф задач. Кожны вузол — это адна единіца роботы, а кожная грань фіксуе залежнасць між двумя единіцамі.

Report
            /      \
      Analysis    Charts
       /     \
 Database   Statistics

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

Як ATG стварае і запускае граф

Фрэймворк працуе у пяці етапах.

1. Рекурсыўныя дэкомпазіі на атамарныя задачы

Усё пачынаецца з запиту пользователя.

Create sales report

ATG дзеліць гэту мету на падзадачы.

Create sales report
↓
Load data
↓
Analyze sales
↓
Create charts
↓
Write summary

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

Analyze sales
↓
Revenue
↓
Profit
↓
Growth
↓
Regional trends

Разбіўка завершаецца, калі кожны листоўскі элемент адпавядае адзінам вызову інструмента, напрыклад:

SQL query
Python calculation
Matplotlib chart
Markdown writer

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

2. Адкрытыя вхідныя і выходныя даны для кожнага вузла

Кожнаму вузлу надаецца інтэрфейс, падобны до падпису функцыі. Уместо інструкцыі на кшталт „здзейсні аналіз“, планавальнік описвае, што спрыямае вузел і што ён выдае.

def analyze_sales(data):
    return summary

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

3. Паралельная експансія незалежных галузей

Последовны агент выканае задачі адна за іншай, нават калі дзеяныя з іх не асоцыяваны.

Task A
↓
Task B
↓
Task C

Якщо B і C патрэбны толькі рэзультаты A, а не рэзультаты другія, ATG можа гэта прымусова выразіць.

Task A
       /     \
 Task B     Task C
       \     /
       Task D

Тады B і C можаць выканацца адночасова, пры чым D чакае на оба. У студзіі апісваецца значна корэйшы час выканання ў всіх тестах, якія былі пераглянуты, што ўсунуцца як наследак аб’яднання незалежных крокаў у паралельныя.

4. Тэставанне без выкарыстання рэальных інструментаў

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

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

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

5. Цільава рэмонтка зламанага падграфа

Найболей выдатным аспектам ёсць спосаб, яким ATG распрацоўвае абыякавасці пад час выканання. Возьмем просты граф:

Database
↓
Analysis
↓
Charts
↓
Report

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

Database
↓
Analysis
↓
Charts
↓
Report
↓
Start over

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

Database
↓
Analysis
↓
Charts
↓
Report

Перагенеруецца толькі неякавы падграф, і калі ён успее, граф продовжае працаваць з новым рэзультатам.

Database
↓
New Analysis
↓
Charts
↓
Report

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

Чаму меньшыя контексты значаюць меншых галюцинацый

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

У старонцы практычна паказана гэта на прыкладзе ALFWorld:

  • за дапамогою ReAct 42,86% траекторыяў мелі галюцинаваныя дзеянні
  • за дапамогою ATG гэты паказначык знизіўся да 12,14%

Это стосавыя змена прыблізна на 72%, якая была досягнутая без змены самага модэлю.

Што паказваюць тэсты

Для ацэнкі былі выкарыстаны тры адкрытыя модэлі:

  • Mistral 7B
  • Gemma 7B
  • Llama 3 8B

і трыя крэты для адзначэння якосці агентаў:

  • ALFWorld
  • WebShop
  • ScienceWorld

У галоўным парабранні Llama 3 8B з ATG прырównваецца з GPT-4 з ReAct. У ALFWorld базовы варіант GPT-4 парадуў:

GPT-4 + ReAct
41.24

тады як маленький модель з ATG парадуў:

Llama 3 8B + ATG
63.65

У WebShop базовы варіант GPT-4 дасяг:

GPT-4 + ReAct
64.34

а Llama 3 8B з ATG дасяг:

Llama 3 8B + ATG
68.36

Это цыфры, зафіксаваныя ў студзіі. Цифры GPT-4 апісваюць базовы варіант з ReAct, таму парабранне паказвае, насколькі структура можа компенсаваць розмер модэлю, а не тое, што 8B-модель узагалі сильнейшая за GPT-4.

Чаму гэя ідея падае на спракт лінгвістам програмнаў

Стандартная стратэгія галузі — адгукаванне модэляў, кластэраў і бюджэтаў. ATG спытвае, як замест таго краща арганізаваць работу, што ўжо больш пытанне інжынеріі програмнаў, чым машыннага навучэння. Гэта адгукваецца да Git, графаў залежнасцяў, систем будовы, планавальнікаў задач, оптымізаціі компайляра і распадзеленых систем. Большасць програмнаў ўжо давно перестала быць строга последовной; агенты ўжо наздаганяюць.

Конкрэтны прыклад: стварэнне веб-сайту

Якщо папросіце агента стварыць веб-сайт, лінейны агент зазвычай стварае план такі:

Think
↓
Write HTML
↓
Write CSS
↓
Write JavaScript
↓
Debug
↓
Deploy

Планавальнік у стыле ATG можа замест таго стварыць дрэва з незалежных частак:

Website
│
├── HTML
├── CSS
├── Images
├── API
└── Tests

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

Калі граф заданняя не ўзрабатна

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

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

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