бирдиги 9 / 11

AI агенттери жана куралды колдонуу

Пайдалар:

  • Агентти "модель + инструменттер + цикл" катары аныктоо жана ал керек болгондо чечим чыгаруу
  • Аты, сыпаттамасы жана input_schema менен курал аныктамасын жазуу
  • Tool_use жана tool_result циклинин агымын жана каталарды башкарууну көзөмөлдөө

Буга чейин модель ар дайым бир ишти аткарып келген: текст киргизүү, тексттик жоопторду чыгаруу. Бирок реалдуу иш көбүнчө текстке караганда көбүрөөк талап кылынат; эсептөө жүргүзүү, маалымат базасын суроо, API чакыруу, учурдагы алмашуу курсун табуу. Модель бул нерселерди өзү жасай албайт, бирок ал качан жасалышы керектигин өзү чечип, кимдир бирөөдөн аткарууну суранышы мүмкүн. Бул куралды колдонуу моделди берет жана бул AI агенттеринин негизи. Бул бөлүмдө биз агент деген эмне экенин, курал кантип аныкталганын жана tool_use цикли кантип иштээрин үйрөнөбүз.

Агент деген эмне? Модель + Куралдар + цикл

AI агенти үч бөлүктөн турат: модель (чечим кабыл алган мээ), инструменттер (модель чакыра ала турган функциялар: аба ырайы, маалымат базасына суроо, электрондук почта жөнөтүү) жана цикл (цикл; модель куралды чакырат, натыйжаны алат, эмне кылууну кайра чечет жана башкалар).

Критикалык айырма: Бир үлгү чалуу агент эмес. Агент - бул модель кадам сайын уланып, ар бир кадамда инструменттин жыйынтыгына жараша кийинки кадамды тандап алган процесс. "Адам сыяктуу ойлон, колуңду колдон, жыйынтыгын кара, кайра ойлон".

Маанилүү факт: моделдин өзү унааны иштетпейт. Модель жөн гана "Мен бул куралды ушул киргизүүлөр менен чакыргым келет" дейт. Колдонмоңуз (жабдык деп аталат) куралды иштетип, натыйжаны моделге кайтарат. Бул коопсуздук үчүн абдан маанилүү: модель сиздин тутумуңузга түздөн-түз тийбейт; Ар бир иш сиздин көзөмөлүңүздө.

Кеңеш: Ар бир маселени агент менен чечүүгө аракет кылбаңыз. агент; кечигүүлөр, чыгымдар жана каталар коркунучун жогорулатат. Биринчиден: "Бул бир чалуу менен чечилеби же туруктуу иш процесси менен чечилеби?" Эгер жооп ооба болсо, агенттин кереги жок. Агент кадамдарды алдын ала билүүгө мүмкүн болбогон ачык тапшырмалар үчүн.

Курал аныктамасы: аты, сыпаттамасы, киргизүү_схемасы

Моделге куралды киргизүү үчүн сиз үч нерсени бересиз:

  • аты: Транспорттун идентификациясы, мис. аба ырайын алуу.
  • Description: Курал эмне кылат жана аны качан чакыруу керек. Бул моделге керектүү учурда туура куралды тандоого мүмкүндүк берген эң маанилүү аймак. "Эмне кылат" дегенди эле эмес, "качан чалууну" да жаз.
  • input_schema (киргизүү схемасы): JSON схемасы, курал кайсы параметрлерди, кайсы типте күтөрүн аныктайт.

# Унаанын аныктамасы (концептуалдык — JSON схемасы){ "name": "get_order_status", "description": "Буйрутманын учурдагы жеткирүү статусун чыгарат. Колдонуучу заказдын номери кайда же качан келет деп сураганда чалыңыз.", "input_schema": { "type": "object", "properties": { { "order_trip:"No "ordertype:" "Буйрутма номери, мис. SP-1024"} }, "талап кылынат": ["заказ_жок"] }}

Жакшы куралды сыпаттоо эрежелери: так жана кыска аталышы, "качан колдонуу керектиги" менен сыпаттоо, ар бир параметр үчүн сыпаттама, талап кылынган чыныгы милдеттүүлөрдү коюу. Унаалардын санына көңүл буруңуз; Окшош унаалардын ондогон моделдери таң калтырат.

аймак

Бул эмне кылат?

жакшы үлгү

жаман мисал

аты

Унаа ID

order_status_getir

алып кел

сүрөттөмө

Бул эмне кылат + качан чакыруу керек

"Жүк абалын кайтарат; колдонуучу заказ кайда экенин сураганда чалыңыз"

"маалыматтарды алуу"

киргизүү_схемасы

Параметрдин түрү жана талаптар

{заказ_но: сап, аннотацияланган}

диаграмма жок / сүрөттөлүшү жок

tool_use → tool_result цикли

Цикл этап-этабы менен ушундай иштейт:

  1. Сиз моделге колдонуучунун суроосун + куралдын сүрөттөмөсүн жөнөтөсүз.
  2. Модель же түз жооп берет же tool_use блогун жаратат: " order_durumu_getir менен order_no=SP-1024 чалуу."
  3. Сиздин колдонмоңуз чындыгында куралды иштетет (базаны сурайт).
  4. Сиз натыйжаны кайра моделге tool_result катары жөнөтөсүз.
  5. Бул натыйжа менен, модель акыркы жоопту чыгарат же башка куралды чакырат. Цикл модель "мен бүттүм" дегенге чейин уланат.

# Агент цикли (концептуалдык) билдирүүлөр = [колдонуучунун_суроосу]чындыкта: жооп = model.uret(билдирүүлөр, куралдар=tool_definitions) if answer.tur == "tool_use": натыйжа = harness.run(response.tool_name, response.entries) # APPLICATION билдирүүлөрдү иштетет, elseult: tool:reult #result] жооп берүү; цикл аяктайт

Заманбап SDK'лар сиз үчүн бул циклди иштеткен курал жөө күлүктөрүн сунуштайт; сиз жөн гана курал функцияларын жазасыз. Бирок көшөгө артында дал ушундай болуп жатат.

Ката башкаруу

Куралдар иштебей калышы мүмкүн: буйрутма табылган жок, API убакыты өтүп кетти, киргизүү жараксыз. Эгерде сиз куралды иштете албасаңыз, катаны моделге сыпаттоочу tool_result ("ката: Заказ номери SP-9999 табылган жок") жана ката желеги катары кайтарыңыз. Модель муну көрүп, аны колдонуучуга акырын түшүндүрүп бере алат же башка жол менен аракет кылып көрө алат. Катаны жутуп албаңыз жана бош жыйынтыктарды кайтарыңыз; Модель эмне туура эмес болгонун билиши керек.

Алсыз/күчтүү Унаа сүрөттөлүшү

Алсыз (белгисиз зат атооч, "качан" жок):

аты: "маалымат", сүрөттөмө: "берилиштерди алып келет"# Модель качан жана кантип чалууну билбейт; Же такыр чалбайт же туура эмес чакырат.

Күчтүү (таза аты + качан + параметр сүрөттөлүшү):

аты: "musteri_bakiyesi_getir"сүрөттөмөсү: "Кардардын учурдагы эсебинин балансын кайтарат. Колдонуучу дебетти, кредитти же балансты сураганда чалыңыз. ТӨЛӨМ ЖАСАЙТ."input_schema: {custeri_id: string ("Customer ID")}# Модель өз чегин билип, керектүү убакта, туура параметрлер менен чалат.

Үч мини Case

1-жагдай - Керексиз агент. Бир команда көп курал агенти менен "текстти жалпылоо" бизнесин курган; Ар бир кайталоо 4 моделдик чалууларды жана 9 секундду талап кылат. Жумуш чындыгында бир эле чалуу болчу. Биз агентти алып салып, аны бир чалууга кыскартканда, убакыт 1,5 секундага чейин азайып, чыгым төрттөн бирине чейин азайды. Сабак: агентти чындап керек болгондо колдонуңуз.

2-жагдай — начар түшүндүрүү, туура эмес чакыруу. Колдоо агентинде fetch деп аталган бүдөмүк куралды баланс суроосунда да, жеткирүү суроосунда да модель кокусунан чакырган. Унаалар баланс_гетир жана жүк_дүрүм_гетир болуп бөлүнүп, "качан чал" деген түшүндүрмөлөр кошулганда, туура эмес унаа тандоо 50 мисалда 18ден 1ге чейин азайган.

3-жагдай - Ката жутулду. Буйрутма табылбай жатканда агент бош жыйынтыктарды кайтарып жаткан; Модель муну "заказ жеткирилди" деп чечмелеп, кардарды адаштырган. Ката билдирүүсү tool_result ("заказ табылган жок") түз жазылганда, модель туура айтат "Мен бул номерди таба алган жокмун, текшере аласызбы?" деп баштады ал.

Жалпы каталар

  • Баарын агентке айлантуу: Бир чалуу жетиштүү болсо да, агент чыгымдарды жана кечиктирүүнү кошот.
  • Унаанын бүдөмүк сыпаттамасы: Модель качан чалууну билбейт; туура эмес тандайт.
  • Модель унааны башкарат деп ойлоп: Жабдуу унааны башкарат; модель жөн гана каалайт.
  • Катаны жутуу: Модель эмне туура эмес болгонун билиши керек; Катаны ачык tool_result катары бериңиз.
  • Окшош унаалар өтө көп: Модель адашып калат; Куралдар топтомун көңүлдүү жана минималдуу кармаңыз.
Көңүл буруңуз: Модельде "ошол унааны чакырыңыз" дегени чара көрүү керек дегенди билдирбейт. Кыйратуучу куралдарда (жок кылуу, текшерүү, электрондук почта) сиздин колдонмоңуз чалууну сокур түрдө аткарбашы керек — бул кийинки бөлүмдөгү коопсуздук темасынын өзөгү.

Кыскача айтканда

  • Агент = модель (чечим) + куралдар (функциялар) + цикл (чалуу куралы, натыйжаны алуу, кайра чечим чыгаруу).
  • Бир үлгү чалуу агент эмес; агент этап-этабы менен жараян.
  • Модель унааны иштетпейт; Колдонмоңуз иштейт (жабдык) жана натыйжаны tool_result катары кайтарат.
  • Курал аты, сыпаттамасы (айрыкча "качан чалуу") жана input_schema менен аныкталат.
  • Цикл tool_use → тебүү чуркап жатканда → tool_result → модель модел "бүттү" дегенге чейин уланат; каталар моделге ачык билдирилет.

Колдонмо тапшырмасы

Агентке бериле турган өз бизнесиңизден 3 инструментти долбоорлаңыз. (1) Ар бири үчүн атын, сыпаттамасын "качан чалуу" менен жазыңыз жана киргизүү_схемасы; Жок дегенде бири кыйратпаган окуу куралы, бири эсеп болсун. (2) Колдонуучунун реалдуу суроосун тандап, этап-этабы менен кол менен жазыңыз (циклде) бул инструменттердин кайсынысын модел кайсы киргизүү менен чакырат жана tool_result келгенден кийин эмне кылат. (3) Куралдардын бири иштебей калган сценарийди орнотуңуз жана ката кабары моделге кантип кайтып келерин көрсөтүңүз.

текшерүү тизмеси

  • [ ] Мен агентти "үлгү + куралдар + цикл" деп аныктай алам жана ал качан керек экенин чече алам.
  • [ ] Мен билем, жабдыктар унааны иштетет, модель жөн гана аны каалайт.
  • Мен [ ] аты, сыпаттамасы ("качан чал") жана input_schema менен катуу унаа сүрөттөмөсүн жаза алам.
  • Мен [ ] tool_use → tool_result циклин кадам сайын аткара алам.
  • [ ] Мен моделге курал каталарын ачык tool_result катары билдирем.