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

Абвязкі агентаў: стандарт тэчак для навыкаў і даведак

Як абвязка пашырае навыкі агента праз файл HARNESS.md, каталогі навыкаў і даведак, паступовае раскрыццё і ўкладзеныя структуры для вялікіх агентаў.

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

Крыніцы: Agent Harnesses — Intuitively and Exhaustively Explained

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

Асновы

Мадэлі мовы як функцыі

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

Што лягае ў основу агента

«Агент» — гэта шырокі тэрмін. Наукавыя працы опісваюць калькі разных відоў агентаў, якія функцыонуюць за аблічна разнымі спосабамі. Аднак у павсякдзенных размовах практычна всі маюць на увазе адно: сістэму чату, якая прымоўляе паведамленне, выканае якіясь дзеяння і адпаведзае. Гэты патэрн часта называюць ReAct — гэта тонкі шар коду, які спаўнае з’ёднанне модэля з функцыяналам, каб той могаў рассуждаць, дзеяць і спазіраваць. ReAct дазволяе модэлю падумаць пра тое, што ён будзе рабіць, выбраць дзеянне, якое вплывае на арэну, а потым прачытаць інформацыю пра рэзультат. Усё, што пасля гэтага, выкорыстоўвае тэрмін «агент» у гэтым, схожым на ReAct, значэнні.

Рассуждання і дзеянне

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

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

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

Навыкі

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

Навык — гэта стандартны спосаб працэвухі такога пакета. Інфармацыя і функцыянал аб’еднваюцца ў адну едыніцу, тады агент отрымае яе як цэлы пакет. Навык — гэта папка:

my-skill/
├── SKILL.md          # Required: metadata + instructions
├── scripts/          # Optional: executable code
├── references/       # Optional: documentation
├── assets/           # Optional: templates, resources
└── ...               # Any additional files or directories

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

Што такое harness

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

Фармат Agent Harnesses

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

my-harness/
├── HARNESS.md        # Required: metadata + instructions
├── skills/           # Optional: a set of skills
└── references/       # Optional: a set of reference documents

Файл вышэйшага рангу HARNESS.md павінен быць коракі. Ён дае агенту швыракія вясковыя даныя пра проблему і паказывае, дзе можна знайсці конкрэтныя інформацыі ў скіллах і апавяданнях.

Дызайн паследуе прынцыпу поступовага адкрывання інформацыі, які неякраз стаў популярным завдзяк стандарту Agent Skills. Ён розгортаецца у трох фазах:

  1. Адкрыць. Пад час запуску агент завантажае толькі HARNESS.md, які паказвае структуру сістэмы. Калі прыходзіць запіт, агент паўтароўна пераканальвае яго з тымі апісамі і поступова праходзіць праз назвы і апісы скіллаў і апавяданняў, пакуль не знаходзіць тое, што яму трэба.
  2. Актывацыя. Калі знайдзеная інформацыя становіць сабою значны матэрыял, завантажаецца і чытаецца ўсё дакументацыя да тых скіллаў і апавяданняў.
  3. Выконанне. Агент дзеяўа ў складзе з тым, што пропісана ў сістэме, і можа запускаць скіллы.

Файл HARNESS.md

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

---
name: <name of the harness>
description: <description of what the harness is for>
---

<body>

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

Кадры навыкаў

У гэтым кадры ўтрымваецьсяя навыкі, якія вярнайця стандарту Agent Skills, які вярнайця апісваець такія навыкі:

my-skill/
├── SKILL.md          # Required: metadata + instructions
├── scripts/          # Optional: executable code
├── references/       # Optional: documentation
├── assets/           # Optional: templates, resources
└── ...               # Any additional files or directories

Пояс дапамагае ў гэтым, таму каталог навыкаў выглядае так:

my-harness/
├── HARNESS.md
├── skills/
|  ├── my-skill-1/
|  |  ├── SKILL.md
|  |  ├── scripts/
|  |  ├── references/
|  |  ├── assets/
|  |  └── ...
|  └── my-skill-2/
|     ├── SKILL.md
|     ├── scripts/
|     ├── references/
|     ├── assets/
|     └── ...
└── references/

Каталог справак

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

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

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

my-mraketing-harness/
├── HARNESS.md
├── skills/
|  ├── create-blog-post/
|  |  ├── SKILL.md
|  |  └── ...
|  ├── generate-images/
|  |  ├── SKILL.md
|  |  └── ...
|  └── scan-social/
|     ├── SKILL.md
|     └── ...
└── references/

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

my-mraketing-harness/
├── HARNESS.md
├── skills/
|  ├── create-blog-post/
|  |  ├── SKILL.md
|  |  └── ...
|  ├── generate-images/
|  |  ├── SKILL.md
|  |  └── ...
|  └── scan-social/
|     ├── SKILL.md
|     └── ...
└── references/
   ├── style-guide.md
   └── brand-priorities.md

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

---
description: a style guide for the marketing website, which covers the creation
of all visual assets and standard typography rules
---

<body>

Аргантыякавае вялікага прыбягу

Прывяга можа мець баглалькі навыкі і рэферэнцыясь. Калі наборы станаць вялікімі, агент не можа эфэрнась інформацыю, тады агент стане неэффектывным.

my-harness/
├── HARNESS.md
├── skills/
|  ├── skill1/
|  ├── skill2/
|  ├── skill3/
|  └── ...
└── references/
   ├── reference1
   ├── reference2
   ├── reference3
   └── ...

Адказ — гэта падрактары. У як «навыкі», так і «скарынкі» папкі можа групаваць элементы ў падгрупы:

my-harness/
├── HARNESS.md
├── skills/
│   ├── software-development/
│   │   ├── SKILLS.md
│   │   ├── skill1/
│   │   │   └── SKILL.md
│   │   └── skill2/
│   │       └── SKILL.md
│   ├── market-analysis/
│   │   ├── SKILLS.md
│   │   └── skill3/
│   │       └── SKILL.md
│   └── social-media/
│       ├── SKILLS.md
│       ├── skill4/
│       │   └── SKILL.md
│       └── skill5/
│           └── SKILL.md
└── references/
    ├── brand-assets/
    │   ├── REFERENCES.md
    │   ├── reference1.md
    │   └── reference2.md
    ├── software-infrastructure/
    │   ├── REFERENCES.md
    │   ├── reference3.md
    │   └── reference4.md
    └── product-information/
        ├── REFERENCES.md
        └── reference5.md

Ёнклузыўна, але эканамічна разумець гэтую структуру, агенту патрэбна інфармацыя з HARNESS.md. Кожны падкаталог таксама мае опісавы файл: SKILLS.md апісвае навыкі, якія ў падкаталогу, а REFERENCES.md — справы, на якія ён сацягваецца.

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

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

...
└── references/
  └── data-sources/
      ├── REFERENCES.md
      ├── relational/
      │   ├── REFERENCES.md
      │   └── schema-overview.md
      └── warehouse/
          ├── REFERENCES.md
          └── dataset-catalog.md

Чаму такая структура ўзьімаеся

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

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