Ẹyọ 9 / 11

Awọn aṣoju AI ati Lilo Irinṣẹ

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:

  1. O firanṣẹ ibeere olumulo + awọn apejuwe irinṣẹ si awoṣe.
  2. Awoṣe naa ṣe idahun taara tabi ṣe ipilẹṣẹ bulọọki tool_use: "ipe order_durumu_getir pẹlu order_no=SP-1024."
  3. Ohun elo rẹ n ṣiṣẹ gangan irinṣẹ (awọn ibeere data data).
  4. O firanṣẹ esi pada si awoṣe bi abajade ọpa.
  5. 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.