Табыстар:
- Агентті «модель + құралдар + цикл» ретінде анықтау және оның қашан қажет екенін шешу
- Құрал анықтамасын атымен, сипаттамасымен және енгізу_схемасымен жазу
- Tool_use және tool_result циклінің ағыны мен қателерді өңдеуін бақылау
Осы уақытқа дейін модель әрқашан бір тапсырманы орындады: мәтін енгізуді қабылдау, мәтіндік жауаптарды жасау. Бірақ нақты жұмыс көбінесе мәтіннен көп нәрсені талап етеді; есептеуді орындау, мәліметтер базасын сұрау, API шақыру, ағымдағы валюта бағамын білу. Модель бұларды өзі жасай алмайды, бірақ ол оларды қашан жасау керектігін шеше алады және біреуден мұны сұрай алады. Бұл құралды пайдалану модельге береді және бұл AI агенттерінің негізі. Бұл бөлімде агент деген не екенін, құрал қалай анықталатынын және tool_use циклінің қалай жұмыс істейтінін үйренеміз.
Агент дегеніміз не? Үлгі + Құралдар + Цикл
AI агенті үш бөліктен тұрады: модель (шешім қабылдайтын ми), құралдар (модель шақыра алатын функциялар: ауа райы, дерекқор сұрауы, электрондық поштаны жіберу) және цикл (цикл; модель құралды шақырады, нәтижені алады, не істеу керектігін қайтадан шешеді және т.б.).
Сыни айырмашылық: бір үлгілік қоңырау агент емес. Агент - бұл модель қадам бойынша орындалатын процесс, әр қадамда құрал нәтижесіне қарай келесі қадамды таңдайды. «Адам сияқты ойла, қолыңды пайдалан, нәтижеге қара, қайта ойла».
Маңызды факт: модельдің өзі көлікті басқармайды. Модель жай ғана "Мен бұл құралды осы кірістермен шақырғым келеді" дейді. Қолданбаңыз (қоспа деп аталады) құралды іске қосады және нәтижені үлгіге қайтарады. Бұл қауіпсіздік үшін өте маңызды: модель жүйеге тікелей тимейді; Әрбір әрекет сіздің бақылауыңызда.
Кеңес: Агентпен кез келген мәселені шешуге тырыспаңыз. Агент; кешігу, шығындар және қателер қаупін арттырады. Алдымен сұраңыз: «Бұл бір қоңырау немесе бекітілген жұмыс процесі арқылы шешіледі ме?» Егер жауап иә болса, агент қажет емес. Агент қадамдарды алдын ала білуге болмайтын ашық тапсырмаларға арналған.
Құрал анықтамасы: аты, сипаттамасы, енгізу_схемасы
Модельге құралды енгізу үшін сіз үш нәрсені бересіз:
- атауы: Көлік құралының идентификациясы, мысалы. ауа райын алу.
- сипаттамасы: Құрал не істейді және оны қашан шақыру керек. Бұл модельге қажетті уақытта дұрыс құралды таңдауға мүмкіндік беретін ең маңызды аймақ. «Не істейді» дегенді ғана емес, сонымен қатар «қашан қоңырау шалуын» да жазыңыз.
- input_schema (енгізу схемасы): JSON схемасы, ол құрал күтетін параметрлерді, қай түрде күтетінін анықтайды.
# Көлік құралының анықтамасы (концептуалды — JSON схемасы){ "name": "get_order_status", "description": "Тапсырыстың ағымдағы жөнелту күйін шығарады. Пайдаланушы тапсырыс нөмірі қайда екенін немесе оның қашан келетінін сұрағанда қоңырау шалыңыз.", "input_schema": { "түрі": "объект", "қасиеттері": { { "order_type:"no "order_type:"de "Тапсырыс нөмірі, мысалы, SP-1024"} }, "талап етілетін": ["тапсырыс_жоқ"] }}
Құралдың жақсы сипаттамасының ережелері: нақты және қысқаша атауы, «қашан пайдалану керектігі» бар сипаттама, әрбір параметрге сипаттама, шын мәнінде міндетті параметрлерді қою. Көліктердің санына назар аударыңыз; Ондаған ұқсас көлік үлгілері таң қалдырады.
аумақ
Ол не істейді?
жақсы үлгі
жаман үлгі
аты
Көлік идентификаторы
order_status_getir
әкелу
сипаттамасы
Ол не істейді + қашан қоңырау шалу керек
«Жүк күйін қайтарады; пайдаланушы тапсырыс қайда екенін сұрағанда қоңырау шалыңыз»
«деректерді алады»
енгізу_схемасы
Параметр түрі және талаптары
{тапсырыс_ноқ: жол, аннотацияланған}
диаграмма жоқ / сипаттама жоқ
құрал_пайдалану → құрал_нәтиже циклі
Цикл қадам бойынша келесідей жұмыс істейді:
- Сіз модельге пайдаланушы сұрағын + құрал сипаттамаларын жібересіз.
- Модель тікелей жауап береді немесе tool_use блогын жасайды: "order_durumu_getir order_no=SP-1024 арқылы қоңырау шалыңыз."
- Қолданбаңыз шын мәнінде құралды іске қосады (деректер базасына сұрау салады).
- Нәтижені құрал_нәтиже ретінде үлгіге қайта жібересіз.
- Осы нәтижемен модель соңғы жауапты шығарады немесе басқа құралды шақырады. Цикл модель «мен біттім» дегенге дейін жалғасады.
# Агент циклі (концептуалды)хабарламалары = [пайдаланушы_сұрағы]шынында True: жауап = model.uret(хабарламалар, құралдар=құрал_анықтамалар) if answer.tur == "құрал_пайдалану": нәтиже = harness.run(response.tool_name, response.entries) # APPLICATION хабарламаларды іске қосады, else: tool:result #reult #response жауап беру; цикл аяқталады
Заманауи SDKs сізге осы циклды іске қосатын құрал жүгіргіштерін ұсынады; сіз тек құрал функцияларын жазасыз. Бірақ сахнаның артында дәл солай болып жатыр.
Қатені басқару
Құралдар сәтсіз болуы мүмкін: тапсырыс табылмады, API уақыты бітті, енгізу жарамсыз. Құралды іске қоса алмасаңыз, үлгіге қатені сипаттайтын tool_result («қате: SP-9999 тапсырыс нөмірі табылмады») және қате жалаушасы ретінде қайтарыңыз. Модель мұны көре алады және оны пайдаланушыға ақырын түсіндіре алады немесе басқа әдісті қолданып көріңіз. Қатені жұтып қоймаңыз және бос нәтижелерді қайтармаңыз; Модель ненің дұрыс емес екенін білуі керек.
Әлсіз/күшті көлік сипаттамасы
Әлсіз (белгісіз зат есім, «қашан» жоқ):
атауы: "деректер", сипаттамасы: "деректерді алады"# Модель қашан және қалай қоңырау шалу керектігін білмейді; Не мүлде шақырмайды, не қате шақырады.
Күшті (таза атауы + қашан + параметр сипаттамасы):
атауы: "musteri_bakiyesi_getir"сипаттамасы: "Тұтынушының ағымдағы шотындағы теңгерімді қайтарады. Пайдаланушы дебет, кредит немесе теңгерімді сұраған кезде қоңырау шалыңыз. ТӨЛЕМ ЖАСАЙДЫ."input_schema: {custeri_id: string («Тұтынушы идентификаторы»)}# Модель өз шегін біле отырып, дұрыс уақытта, дұрыс параметрлермен шақырады.
Үш шағын корпус
1-жағдай – Қажетсіз агент. Бір команда көп құрал агентімен «мәтінді қорытындылау» бизнесін құрды; Әрбір қайталау 4 үлгілік қоңырау мен 9 секундты алады. Жұмыс шын мәнінде бір рет шақырылатын жұмыс болды. Біз агентті алып тастап, оны бір қоңырауға дейін қысқартқанда, уақыт 1,5 секундқа дейін азайып, құны төрттен біріне дейін қысқарды. Сабақ: шынымен қажет болғанда агентті пайдаланыңыз.
2-жағдай — Әлсіз түсіндіру, қате шақыру. Қолдау агентінде fetch деп аталатын түсініксіз құрал теңгерім мәселесінде де, жөнелту мәселесінде де үлгімен кездейсоқ шақырылды. Көлік құралдары balans_getir және cargo_durumu_getir болып бөлінгенде және «қашан қоңырау шалу» түсіндірмелері қосылғанда, қате көлік таңдауы 50 мысалда 18-ден 1-ге дейін төмендеді.
3-жағдай — Қате жұтылды. Тапсырыс табылмаған кезде агент бос нәтижелерді қайтарды; Модель мұны «тапсырыс жеткізілді» деп түсіндірген және тұтынушыны адастырған. Қате туралы хабар tool_result («тапсырыс табылмады») үшін анық жазылғанда, үлгі дұрыс «Мен бұл нөмірді таба алмадым, оны тексере аласыз ба?» Дейді. айта бастады.
Жалпы қателер
- Барлығын агентке айналдыру: бір қоңырау жеткілікті болғанымен, агент құны мен кідірісін қосады.
- Көлік құралының анық емес сипаттамасы: Модель қашан қоңырау шалу керектігін білмейді; қате таңдайды.
- Модель көлікті басқарады деп ойлау: Жіп көлікті жүргізеді; модель тек қалайды.
- Қатені жұту: Модель ненің дұрыс емес екенін білуі керек; Қатені ашық tool_result ретінде беріңіз.
- Ұқсас көліктер тым көп: Модель шатастырады; Құралдар жинағын шоғырландырыңыз және минималды ұстаңыз.
Назар аударыңыз: Модельде «бұл көлікке қоңырау шалыңыз» дегені әрекет жасау керек дегенді білдірмейді. Деструктивті құралдарда (жою, тексеру, электрондық пошта) қолданбаңыз қоңырауды соқыр орындамауы керек — бұл келесі бөлімдегі қауіпсіздік тақырыбының негізгі бөлігі.
Қысқаша айтқанда
- Агент = модель (шешім) + құралдар (функциялар) + цикл (құрал шақыру, нәтиже алу, қайта шешу).
- Жалғыз үлгі қоңырауы агент емес; агент - қадамдық процесс.
- Модель көлікті жүргізбейді; Қолданбаңыз іске қосылады (түйінді) және нәтижені tool_result ретінде қайтарады.
- Құрал аты, сипаттамасы (әсіресе "қашан қоңырау шалу") және енгізу_схемасы арқылы анықталады.
- Цикл құралды пайдалану → трубаны іске қосу → құрал_нәтиже → үлгі үлгі "дайындалды" дегенге дейін жалғасады; қателер үлгіге нақты хабарланады.
Қолданбалы тапсырма
Агентке беруге болатын жеке бизнесіңізден 3 құралды құрастырыңыз. (1) Әрқайсысы үшін атауды, сипаттаманы «қашан қоңырау шалу» және енгізу_схемасын жазыңыз; Ең болмағанда біреуі бұзылмайтын оқу құралы, ал біреуі есептеу болсын. (2) Нақты пайдаланушы сұрағын таңдап, модель осы құралдардың қайсысын қандай кірістермен шақыратынын және құрал_нәтижесі келгеннен кейін не істейтінін кезең-кезеңмен (циклде) қолмен жазыңыз. (3) Құралдардың бірі істен шыққан сценарийді орнатыңыз және қате туралы хабардың үлгіге қалай оралатынын көрсетіңіз.
бақылау парағы
- [ ] Мен агентті "үлгі + құралдар + цикл" ретінде анықтай аламын және ол қашан қажет екенін шеше аламын.
- [ ] Мен белдік көлікті басқаратынын білемін, модель оны қалайды.
- Мен [ ] атымен, сипаттамасымен («қашан қоңырау шалу») және кіріс_схемасы арқылы нақты көлік сипаттамасын жаза аламын.
- [ ] құрал_пайдалану → құрал_нәтиже циклін қадам бойынша орындай аламын.
- [ ] Құрал қателерін үлгіге ашық құрал_нәтижесі ретінде хабарлаймын.