OpenAI Agents SDK eða LangGraph: einfaldleikinn brotnar við biðstöðu

|Höfundur: Ritstjórn QUASA|6 mín. lestur
OpenAI Agents SDK eða LangGraph: einfaldleikinn brotnar við biðstöðu

Veljið OpenAI Agents SDK þegar þjónustufulltrúi sækir upplýsingar, notar verkfæri og skilar svari í samfelldri keyrslu. Þegar sama beiðni þarf að bíða eftir starfsmanni, halda áfram eftir hlé og fara ólíkar leiðir eftir ákvörðuninni verður LangGraph oft skýrari grunnur. Þá ræður hönnun stöðunnar meiru en hversu stutt fyrsta kóðadæmið er.

Báðir rammar geta stöðvað keyrslu vegna mannlegs samþykkis og haldið henni áfram. Munurinn kemur fram þegar teymið þarf að ákveða hvar biðstaðan er varðveitt, hvaða skref má endurtaka og hvernig samþykki breytir framhaldinu. Stutt verkfærakeyrsla sýnir hversu auðvelt er að byrja; bið og endurheimt sýna hvað forritið þarf að bera sjálft.

Sama þjónustubeiðni í samfelldri keyrslu

Einföld fyrirspurn um pöntunarstöðu lýkur í einni samfelldri þjónustukeyrslu.

Tökum skýrt afmarkað, skilyrt dæmi: viðskiptavinur spyr um stöðu pöntunar og þjónustufulltrúinn sækir hana úr pöntunarkerfi verslunar. Í OpenAI Agents SDK skilgreinir teymið Agent með fyrirmælum og verkfæri fyrir uppflettinguna. Runner sér um að kalla líkanið, afgreiða verkfærakallið og halda áfram þar til svar fæst. Yfirlit OpenAI um Agents SDK lýsir þessum kjarna ásamt afhendingu milli fulltrúa, vörnum, samtalsminni og innbyggðri rekningu.

Í LangGraph skilgreinir teymið sjálft stöðu beiðninnar, hnúta fyrir vinnsluna og tengingar sem ákveða næsta skref. Yfirlit LangGraph sýnir StateGraph með hnútum og tengingum og lýsir rammanum sem lágstigs keyrsluumhverfi fyrir langlífa fulltrúa með viðvarandi stöðu. Fyrir eina uppflettingu bætir þessi uppbygging við ákvörðunum um stöðusnið og leiðir án þess að beiðnin kalli endilega á þær.

Uppsetningarkóðinn sýnir því raunverulegan mun: í SDK eru Agent, verkfæri og Runner meginhlutarnir í stuttu leiðinni, en í LangGraph þarf einnig að setja saman ritið. Það segir ekkert eitt og sér um hraða keyrslu eða gæði svars. Fyrir pöntunarspurningu sem lýkur í sömu lotu er minni uppsetning SDK skynsamlegur kostur ef teymið þarf ekki að stýra milliskrefum sérstaklega.

Þegar pöntunarspurning verður endurgreiðsluferli

Bætum við skilyrtri endurgreiðslu sem starfsmaður þarf að samþykkja áður en hún er framkvæmd. Fulltrúinn hefur nú sótt pöntunina og undirbúið aðgerð, en svarið til viðskiptavinar getur ekki lokið ferlinu. Beiðnin þarf að bera með sér auðkenni pöntunar, fyrirhugaða aðgerð og ákvörðunina sem vantar, jafnvel þótt samþykkið berist eftir að upphaflegri vefbeiðni lýkur.

Í SDK getur samtalsminni varðveitt fyrri samskipti, en stöðvuð keyrsla vegna samþykkis hefur sérstaka RunState. Forritið þarf að tengja þá stöðu við rétt mál og koma beiðninni til þess starfsmanns sem má taka ákvörðun. Sú vinna hverfur ekki þótt sjálft verkfærakallið sé einfalt að skilgreina.

Í LangGraph má láta leit að pöntun, mat á skilyrðum, bið eftir samþykki og framkvæmd endurgreiðslu vera aðskilda hnúta með sameiginlegri stöðu. Þá verður sýnilegt í byggingu ferlisins hvaða niðurstaða sendir málið áfram og hvaða gögn fylgja því. Teymið greiðir fyrir þann sýnileika með meiri hönnun: það þarf að skilgreina stöðuna, mörk skrefanna og leiðirnar milli þeirra.

Mannlegt samþykki er ekki sérstaða annars rammans

Skilyrt endurgreiðslubeiðni bíður mannlegs samþykkis áður en aðgerð er framkvæmd.

Ef starfsmaður á aðeins að heimila eða hafna tilteknu verkfærakalli býður SDK beina leið. Verkfæri sem krefst samþykkis stöðvar keyrsluna, og RunState geymir það sem þarf til að halda henni áfram eftir ákvörðun. Leiðbeiningar OpenAI um mannlegt samþykki sýna að hægt er að vista stöðuna í gagnagrunni eða biðröð og endurhlaða henni síðar. Þjónustukerfið þarf samt að varðveita tengslin við málið og stýra því hver megi samþykkja aðgerðina.

Í LangGraph má stöðva hnút með interrupt, varðveita stöðu ritsins og halda áfram með svar starfsmanns og sama thread_id. Skjöl LangGraph um rof útskýra jafnframt mikilvæga afleiðingu: þegar keyrslu er haldið áfram byrjar hnúturinn aftur frá upphafi, svo kóði á undan interrupt keyrir aftur. Ytri aðgerð sem breytir pöntun eða sendir endurgreiðslu á því ekki að liggja óvarin á þeim stað.

Munurinn liggur í umfangi ákvörðunarinnar. Samþykki fyrir einu tilbúnu verkfærakalli fellur vel að innbyggðu leið SDK. Ef starfsmaður getur breytt fyrirhugaðri upphæð, óskað frekari upplýsinga eða sent málið í aðra grein þarf að lýsa þeim möguleikum einhvers staðar í forritinu. Stöðurit gerir slíkar leiðir skýrar, en krefst þess að teymið skilgreini þær.

Endurheimt leysir ekki tvíverknað í ytra kerfi

Varðveitt þjónustubeiðni þarf að halda áfram eftir hlé án þess að endurgreiðsla sé framkvæmd tvisvar.

Bið eftir samþykki og endurheimt eftir bilun eru aðskildar kröfur. Ferlið getur stöðvast eftir að pöntun hefur verið lesin, rétt áður en endurgreiðsla er send eða eftir að ytra kerfi hefur tekið við henni. Varðveitt staða segir hvaðan fulltrúinn getur haldið áfram; hún sannar ekki ein og sér hvort endurgreiðslan hafi þegar farið fram.

Í SDK þarf forritið að vista stöðvaða RunState og endurheimta hana þegar ákvörðun berst. Í LangGraph þarf að tengja keyrsluna við stöðugt thread_id og nota varanlega geymslu fyrir stöðupunkta ef hún á að lifa af endurræsingu. Hvort sem ramminn er valinn þarf endurgreiðslukerfið eða forritið utan um það að þekkja sömu beiðni við endurtekna tilraun, svo óvissa um fyrri sendingu leiði ekki til annarrar greiðslu.

Þetta breytir kostnaðarmatinu. Ef eina biðin er samþykki fyrir einu kalli er tiltölulega auðvelt að geyma RunState og byggja utan um hana málaskrá. Ef beiðni getur stöðvast á mörgum stöðum og haldið áfram eftir ólíkum niðurstöðum verður skýr grafstaða verðmætari. Hvorug leiðin afnemur þörfina fyrir auðkenni beiðna og örugga meðferð ytri aðgerða.

Flutningur milli líkanaveitna er sérstakt val

Birgjaval ræður ekki eitt og sér úrslitum milli rammanna. Skjöl OpenAI um líkön lýsa tengingum við aðrar veitur með samhæfum endapunktum, ModelProvider eða líkani sem er valið fyrir einstakan Agent. Þau benda einnig á að veitur styðji ekki endilega sömu API-leiðir og eiginleika. Skipti á líkani geta því kallað á breytingar og prófun á verkfæraköllum og úttaki, þótt stýring fulltrúans haldist.

LangGraph stýrir fyrst og fremst ferlinu og getur haldið stöðu og leiðum aðskildum frá tiltekinni líkanatengingu. Það er kostur ef teymið vill geta skipt um veitu án þess að endurhanna bið og samþykkisgreinar. Grafið tryggir þó ekki að nýtt líkan túlki pöntunargögn, velji verkfæri eða skili skipulögðu svari á sama hátt.

Veljið eftir því hvar ferlið má stöðvast

Ákvörðunin verður skýrari þegar sama skilyrta þjónustubeiðnin er sett fram í báðum römmum. Ef fulltrúinn svarar yfirleitt strax og eina hléið er samþykki fyrir ákveðnu verkfærakalli er OpenAI Agents SDK sterkur kostur: stutt uppsetning og skilgreind leið til að vista stöðvaða keyrslu. Ef samþykki getur breytt gögnum, sent mál í nýja grein eða kallað á endurheimt frá fleiri stöðum gefur LangGraph teymi skýrari umgjörð um stöðuna.

Áður en arkitektúrinn festist þarf teymið að vita hvaða aðgerðir má endurtaka, hvaða aðgerðir mega aðeins gerast einu sinni og hvaða ákvörðun flytur beiðnina áfram. Svörin ráða því hvort einföld keyrslulykkja með málaskrá utan um sig dugar eða hvort biðstaðan á heima í sýnilegu stöðuriti.

Lestu einnig:

Deila:

Gerstu áskrifandi að fréttabréfinu okkar

Fáðu nýjustu fréttir af Web3, gervigreind og rafmyntum beint í pósthólfið.

0