Awọn anfani:
- Ti n ṣalaye aṣoju bi 'awoṣe + awọn irinṣẹ + lupu' ati pinnu nigbati o nilo rẹ
- Kikọ asọye ọpa pẹlu orukọ, apejuwe ati input_schema
- Mimojuto sisan ati mimu aṣiṣe ti tool_use ati tool_result loop
Titi di bayi, awoṣe ti ṣe iṣẹ kan nigbagbogbo: gba titẹ ọrọ sii, gbejade awọn idahun ọrọ. Ṣugbọn iṣẹ gidi nigbagbogbo nilo diẹ sii ju ọrọ lọ; ṣiṣe iṣiro kan, ibeere data data, pipe API, wiwa oṣuwọn paṣipaarọ lọwọlọwọ. Awoṣe naa ko le ṣe awọn nkan wọnyi funrararẹ - ṣugbọn o le pinnu igba ti wọn nilo lati ṣe ki o beere lọwọ ẹnikan lati ṣe wọn. Eyi ni ohun ti lilo ọpa yoo fun awoṣe, ati pe eyi ni ipilẹ ti awọn aṣoju AI. Ninu ẹyọ yii, a yoo kọ kini aṣoju jẹ, bawo ni a ṣe tumọ ohun elo, ati bii loop_use ṣe n ṣiṣẹ.
Kini Aṣoju? Awoṣe + Awọn irinṣẹ + Loop
Aṣoju AI kan ni awọn ẹya mẹta: awoṣe (ọpọlọ ti o ṣe ipinnu), awọn irinṣẹ (awọn iṣẹ ti awoṣe le pe: oju ojo, ibeere data data, firanṣẹ imeeli), ati lupu (lupu; awoṣe pe ọpa, gba abajade, pinnu lẹẹkansi kini lati ṣe, ati bẹbẹ lọ).
Iyatọ pataki: Ipe apẹrẹ kan kii ṣe aṣoju. Aṣoju jẹ ilana kan ninu eyiti awoṣe n tẹsiwaju ni igbese nipasẹ igbese, ni igbesẹ kọọkan yiyan gbigbe atẹle ti o da lori abajade ọpa. "Ronu bi eniyan, lo ọwọ rẹ, wo abajade, ronu lẹẹkansi."
Otitọ pataki kan: Awoṣe funrararẹ ko ṣiṣẹ ọkọ naa. Awoṣe naa kan sọ “Mo fẹ pe ọpa yii pẹlu awọn igbewọle wọnyi”. Ohun elo rẹ (ti a npe ni ijanu) nṣiṣẹ ọpa ati da abajade pada si awoṣe. Eyi ṣe pataki fun aabo: awoṣe ko fi ọwọ kan eto rẹ taara; Gbogbo igbese wa labẹ iṣakoso rẹ.
Imọran: Maṣe gbiyanju lati yanju gbogbo iṣoro pẹlu aṣoju. Aṣoju; mu ki awọn ewu ti idaduro, owo ati awọn aṣiṣe. Beere lọwọ akọkọ: “Ṣe eyi yoo yanju pẹlu ipe ẹyọkan tabi ṣiṣiṣẹsẹhin ti o wa titi?” Ti idahun ba jẹ bẹẹni, ko si iwulo fun aṣoju kan. Aṣoju wa fun awọn iṣẹ-ṣiṣe ti o ṣii nibiti awọn igbesẹ ko le mọ tẹlẹ.
Itumọ irinṣẹ: orukọ, apejuwe, input_schema
Lati ṣafihan ọpa kan sinu awoṣe, o fun awọn nkan mẹta:
- orukọ: Idanimọ ti awọn ọkọ, f.eks. gba_oju ojo.
- apejuwe: Ohun ti ọpa wo ni ati nigbati lati pe o. Eyi ni agbegbe ti o ṣe pataki julọ ti o fun laaye awoṣe lati yan ọpa ọtun ni akoko to tọ. Kọ kii ṣe "kini o ṣe" ṣugbọn tun "pe nigbawo."
- input_schema (eto igbewọle): Ilana JSON ti o ṣalaye iru awọn aye ti ohun elo n reti, ninu eyiti iru.
# Itumọ ọkọ (conceptual — JSON schema){"orukọ": "gba_order_status", "apejuwe": "Mu ipo gbigbe aṣẹ pada lọwọlọwọ. Pe nigbati olumulo ba beere ibiti nọmba ibere kan wa tabi nigba ti yoo de.", "input_schema": {"type":"object", "property": {"order_no": "string:" fun apẹẹrẹ SP-1024"}}, "beere": ["ibere_no"]}}
Awọn ofin fun apejuwe ọpa ti o dara: orukọ ti o han gbangba ati ṣoki, apejuwe pẹlu “nigbawo lati lo”, apejuwe fun paramita kọọkan, fifi awọn ti o jẹ dandan nitootọ nilo. Jeki awọn nọmba ti awọn ọkọ ti idojukọ; Dosinni ti awọn awoṣe ọkọ ti o jọra jẹ iyalẹnu.
agbegbe
Kini o nṣe?
apẹẹrẹ ti o dara
apẹẹrẹ buburu
oruko
ID ọkọ ayọkẹlẹ
ibere_status_getir
mu
apejuwe
Ohun ti o ṣe + nigbati lati pe
"Pada ipo ẹru pada; pe nigbati olumulo ba beere ibi ti aṣẹ naa wa"
"data gba"
input_schema
Paramita iru ati ibeere
{order_no: okun, annotated}
ko si aworan atọka / ko si apejuwe
tool_use → tool_result Loop
Yiyika ṣiṣẹ bi eleyi, ni igbese nipa igbese:
- O firanṣẹ ibeere olumulo + awọn apejuwe irinṣẹ si awoṣe.
- Awoṣe naa ṣe idahun taara tabi ṣe ipilẹṣẹ bulọọki tool_use: "ipe order_durumu_getir pẹlu order_no=SP-1024."
- Ohun elo rẹ n ṣiṣẹ gangan irinṣẹ (awọn ibeere data data).
- O firanṣẹ esi pada si awoṣe bi abajade ọpa.
- Pẹlu abajade yii, awoṣe boya ṣe agbejade idahun ikẹhin tabi pe ọpa miiran. Awọn ọmọ tẹsiwaju titi awoṣe sọ pé "Mo ti wa ni ti pari."
# Agent loop (conceptual)messages = [ibeere_olumulo] lakoko Otitọ: idahun = model.uret(awọn ifiranṣẹ, irinṣẹ=awọn asọye irinṣẹ) if answer.tur == "tool_use": result = harness.run(response.tool_name, answer.entries) # APPLICATION nṣiṣẹ awọn ifiranṣẹ += [esi, esi: esi) ipadabọ # else lupu pari
Awọn SDK ode oni nfunni ni awọn asare irinṣẹ ti o ṣiṣẹ lupu yii fun ọ; o kan kọ awọn iṣẹ irinṣẹ. Sugbon ti o ni pato ohun ti n ṣẹlẹ sile awọn sile.
Iṣakoso aṣiṣe
Awọn irin-iṣẹ le kuna: aṣẹ ko rii, awọn akoko API jade, titẹ sii ko wulo. Ti o ko ba le ṣiṣẹ ohun elo naa, da aṣiṣe pada si awoṣe bi abajade ọpa-ijuwe (“aṣiṣe: Nọmba aṣẹ SP-9999 ko rii”) ati asia aṣiṣe. Awoṣe le rii eyi ki o rọra ṣe alaye rẹ si olumulo, tabi gbiyanju ọna ti o yatọ. Maṣe gbe aṣiṣe naa mì ki o da awọn abajade ofo pada; Awoṣe naa gbọdọ mọ ohun ti ko tọ.
Alailagbara / Alagbara ti nše ọkọ Apejuwe
Alailagbara (orukọ ailopin, ko si "nigbati"):
name: "data", apejuwe: "fetches data"# Awoṣe ko mọ igba ati bi o ṣe le pe; Boya ko pe rara tabi awọn ipe ti ko tọ.
Alagbara (orukọ apapọ + nigbati + apejuwe paramita):
orukọ: "musteri_bakiyesi_getir"apejuwe: "Padà iwọntunwọnsi akọọlẹ lọwọlọwọ ti alabara kan pada. Pe nigbati olumulo ba beere fun debiti, kirẹditi tabi iwọntunwọnsi. KO ṣe isanwo.”input_schema: {custeri_id: okun (“ ID Onibara”)}# Awọn ipe awoṣe ni akoko to tọ, pẹlu awọn aye to tọ, mọ opin rẹ.
Mẹta Mini igba
Ọran 1 - Aṣoju ti ko wulo. Ẹgbẹ kan kọ iṣowo “akopọ ọrọ” pẹlu aṣoju irinṣẹ pupọ; Atunyẹwo kọọkan gba awọn ipe awoṣe 4 ati awọn aaya 9. Iṣẹ naa jẹ iṣẹ ipe kan nitootọ. Nigba ti a ba yọ oluranlowo kuro ati dinku si ipe kan, akoko naa dinku si awọn aaya 1.5 ati pe iye owo dinku si mẹẹdogun kan. Ẹkọ: lo oluranlowo nigba pataki.
Ọran 2 - Alaye ti ko lagbara, ipe ti ko tọ. Ninu oluranlọwọ atilẹyin, ohun elo ti ko boju mu ti a pe ni fatch ni a pe ni laileto nipasẹ awoṣe ninu mejeeji ibeere iwọntunwọnsi ati ibeere gbigbe. Nigbati awọn ọkọ ti pin si balance_getir ati cargo_durumu_getir ati "ipe nigbati" awọn alaye ti wa ni afikun, ti ko tọ aṣayan ọkọ dinku lati 18 to 1 ni 50 apeere.
Ọran 3 - Aṣiṣe gbe. Aṣoju n da awọn abajade ofo pada nigbati aṣẹ ko ba ri; Awoṣe naa tumọ eyi bi “a ti fi aṣẹ naa ranṣẹ” o si ṣi alabara lọna. Nigbati ifiranṣẹ aṣiṣe ba ti kọ ni gbangba si tool_result ("a ko ri aṣẹ"), awoṣe naa sọ pe "Emi ko ri nọmba yii, ṣe o le ṣayẹwo?" o bẹrẹ lati sọ.
Awọn aṣiṣe ti o wọpọ
- Yipada ohun gbogbo si oluranlowo: Lakoko ti ipe kan ti to, oluranlowo ṣafikun iye owo ati idaduro.
- Apejuwe ọkọ ayọkẹlẹ aiduro: Awọn awoṣe ko mọ igba lati pe; yan aṣiṣe.
- Lerongba pe awoṣe nṣiṣẹ ọkọ: Ijanu nṣiṣẹ ọkọ; awoṣe kan fẹ.
- Gbigbe aṣiṣe: Awoṣe naa gbọdọ mọ ohun ti ko tọ; Fun aṣiṣe naa bi abajade irinṣẹ_ìmọ.
- Ju ọpọlọpọ awọn iru awọn ọkọ ti: Awoṣe olubwon dapo; Jeki ohun elo irinṣẹ ni idojukọ ati iwonba.
Ifarabalẹ: Nitoripe awoṣe sọ pe “ipe ọkọ yẹn” ko tumọ si pe o yẹ ki o ṣe igbese. Lori awọn irinṣẹ iparun (parẹ, isanwo, imeeli) ohun elo rẹ ko yẹ ki o ṣiṣẹ ipe ni afọju - eyi ni koko ti koko aabo ni ẹyọ ti nbọ.
Ni akojọpọ
- Aṣoju = awoṣe (ipinnu) + awọn irinṣẹ (awọn iṣẹ) + loop (ọpa ipe, gba abajade, pinnu lẹẹkansi).
- Ipe apẹrẹ kan kii ṣe aṣoju; oluranlowo jẹ ilana igbesẹ-nipasẹ-igbesẹ.
- Awọn awoṣe ko ni ṣiṣe awọn ọkọ; Ohun elo rẹ nṣiṣẹ (harness) o si da abajade pada bi abajade ọpa.
- Ohun elo naa jẹ idanimọ nipasẹ orukọ, apejuwe (pataki "ipe nigba"), ati input_schema.
- Lupu tẹsiwaju bi tool_use → ijanu nṣiṣẹ → tool_result → awoṣe tẹsiwaju titi ti awoṣe yoo sọ pe “ṣe”; Awọn aṣiṣe ni a sọ ni gbangba si awoṣe.
Ohun elo iṣẹ-ṣiṣe
Ṣe apẹrẹ awọn irinṣẹ 3 lati iṣowo tirẹ ti o le fun oluranlowo naa. (1) Kọ orukọ, apejuwe pẹlu "ipe nigba", ati input_schema fun kọọkan; Jẹ ki o kere ju ọkan jẹ ohun elo kika ti kii ṣe iparun ati ọkan iṣiro kan. (2) Yan ibeere olumulo ti o daju ki o kọ ni ọwọ ni igbese nipa igbese (ninu lupu) ewo ninu awọn irinṣẹ wọnyi awoṣe yoo pe pẹlu eyiti awọn igbewọle ati kini yoo ṣe lẹhin abajade irinṣẹ_ti de. (3) Ṣeto oju iṣẹlẹ kan ninu eyiti ọkan ninu awọn irinṣẹ kuna ati ṣafihan bi ifiranṣẹ aṣiṣe yoo ṣe pada si awoṣe.
akojọ ayẹwo
- [] Mo ti le setumo awọn oluranlowo bi "awoṣe + irinṣẹ + lupu" ki o si pinnu nigbati o ti wa ni ti nilo.
- [] Mo mọ pe ijanu nṣiṣẹ ọkọ, awoṣe kan fẹ o.
- Mo le kọ apejuwe ọkọ ti o lagbara pẹlu [] orukọ, apejuwe ("ipe nigba") ati input_schema.
- Mo le tẹle [ ] tool_use → tool_result ọmọ ni igbese nipa igbese.
- [] Mo jabo awọn aṣiṣe irinṣẹ si awoṣe bi ṣiṣi tool_result.