ክፍል 9 / 11

AI ወኪሎች እና መሣሪያ አጠቃቀም

ትርፍ፡

  • ወኪልን እንደ 'ሞዴል + መሳሪያዎች + loop' መግለፅ እና መቼ እንደሚያስፈልግ መወሰን
  • የመሳሪያውን ትርጉም በስም ፣ መግለጫ እና ግቤት_schema መጻፍ
  • የTool_use እና tool_result loop ፍሰት እና የስህተት አያያዝን መከታተል

እስከ አሁን ድረስ, ሞዴሉ ሁልጊዜ አንድ ስራ ሰርቷል: የጽሑፍ ግብዓት ይቀበሉ, የጽሑፍ ምላሾችን ያዘጋጁ. ነገር ግን እውነተኛ ሥራ ብዙውን ጊዜ ከጽሑፍ በላይ ያስፈልገዋል; ስሌት መሥራት፣ የውሂብ ጎታ መጠየቅ፣ ኤፒአይ መጥራት፣ የአሁኑን የምንዛሪ ተመን ማወቅ። ሞዴሉ እራሷ እነዚህን ነገሮች ማድረግ አትችልም - ግን መቼ መደረግ እንዳለበት መወሰን እና አንድ ሰው እንዲያደርግላቸው መጠየቅ ትችላለች። ይህ የመሳሪያ አጠቃቀም ሞዴሉን የሚሰጠው ይህ ነው, እና ይህ የ AI ወኪሎች መሰረት ነው. በዚህ ክፍል ውስጥ፣ ወኪል ምን እንደሆነ፣ መሳሪያው እንዴት እንደሚገለፅ እና የ tool_use loop እንዴት እንደሚሰራ እንማራለን።

ወኪል ምንድን ነው? ሞዴል + መሳሪያዎች + ሉፕ

የ AI ወኪል ሶስት ክፍሎችን ያቀፈ ነው-ሞዴሉ (ውሳኔውን የሚወስነው አንጎል) ፣ መሳሪያዎቹ (ሞዴሉ ሊጠራቸው የሚችላቸው ተግባራት የአየር ሁኔታ ፣ የውሂብ ጎታ መጠይቅ ፣ ኢሜል መላክ) እና ሉፕ (ሉፕ ፣ ሞዴሉ መሣሪያውን ይጠራል ፣ ውጤቱን ያገኛል ፣ ምን ማድረግ እንዳለበት እንደገና ይወስናል ፣ ወዘተ) ።

ወሳኝ ልዩነት፡ ነጠላ የጥለት ጥሪ ወኪል አይደለም። ኤጀንት ሞዴሉ ደረጃ በደረጃ የሚቀጥልበት ሂደት ሲሆን በእያንዳንዱ እርምጃ በመሳሪያው ውጤት ላይ በመመርኮዝ ቀጣዩን እርምጃ ይመርጣል። "እንደ ሰው አስብ, እጆችህን ተጠቀም, ውጤቱን ተመልከት, እንደገና አስብ."

አንድ አስፈላጊ እውነታ: ሞዴሉ ራሱ ተሽከርካሪውን አይሰራም. ሞዴሉ "ይህን መሳሪያ በእነዚህ ግብዓቶች መጥራት እፈልጋለሁ" ይላል. ማመልከቻዎ (መታጠቂያ ተብሎ የሚጠራው) መሳሪያውን ያስኬዳል እና ውጤቱን ወደ ሞዴሉ ይመልሳል. ይህ ለደህንነት በጣም አስፈላጊ ነው: ሞዴሉ በቀጥታ ስርዓትዎን አይነካውም; እያንዳንዱ እርምጃ በእርስዎ ቁጥጥር ስር ነው።

ጠቃሚ ምክር፡ እያንዳንዱን ችግር ከወኪሉ ጋር ለመፍታት አይሞክሩ። ወኪል; የመዘግየት, ወጪዎች እና ስህተቶች ስጋት ይጨምራል. መጀመሪያ ይጠይቁ፡ “ይህ በአንድ ጥሪ ወይም ቋሚ የስራ ሂደት ይፈታል?” መልሱ አዎ ከሆነ፣ ወኪል አያስፈልግም። ኤጀንት ደረጃዎቹ አስቀድሞ ሊታወቁ በማይችሉበት ክፍት ለሆኑ ተግባራት ነው።

የመሣሪያ ፍቺ፡ ስም፣ መግለጫ፣ ግቤት_schema

አንድን መሣሪያ በአምሳያው ውስጥ ለማስተዋወቅ ሶስት ነገሮችን ይሰጣሉ-

  • ስም፡ የተሽከርካሪው ማንነት፣ ለምሳሌ የአየር ሁኔታን አግኝ።
  • መግለጫ: መሳሪያው ምን እንደሚሰራ እና መቼ እንደሚጠራው. ሞዴሉ ትክክለኛውን መሳሪያ በትክክለኛው ጊዜ እንዲመርጥ የሚያስችለው ይህ በጣም አስፈላጊው ቦታ ነው. "ምን ያደርጋል" ብቻ ሳይሆን "መደወል" የሚለውንም ይፃፉ።
  • input_schema (የግቤት ንድፍ)፡- መሳሪያው የትኞቹን መለኪያዎች እንደሚጠብቅ፣ በየትኛው ዓይነት ውስጥ እንደሚገኝ የሚገልጽ JSON schema።

# የተሽከርካሪ ፍቺ (ፅንሰ-ሀሳብ — JSON schema){"ስም"፡ "የትእዛዝ_ሁኔታ"፣ "መግለጫ"፡ "የትእዛዝን ወቅታዊ የመላኪያ ሁኔታ ሰርስሮ ያወጣል። ተጠቃሚው የትዕዛዝ ቁጥር የት እንደሆነ ወይም መቼ እንደሚመጣ ሲጠይቅ ይደውሉ።"፣ "input_schema": {"type": "object", "properties": {"order_no": "string:" ለምሳሌ SP-1024"}}፣ "የሚያስፈልግ"፡ ["ትዕዛዝ_አይ"]}}

ለጥሩ መሳሪያ መግለጫ ደንቦች፡ ግልጽ እና አጭር ስም፣ “መቼ እንደሚጠቀሙበት” መግለጫ፣ ለእያንዳንዱ ግቤት መግለጫ፣ በእርግጥ አስገዳጅ የሆኑትን የሚፈለገውን በማስቀመጥ። የተሽከርካሪዎች ብዛት ትኩረት ይስጡ; በደርዘን የሚቆጠሩ ተመሳሳይ የተሽከርካሪ ሞዴሎች አስገራሚ ናቸው።

አካባቢ

ምን ያደርጋል?

ጥሩ ምሳሌ

መጥፎ ምሳሌ

ስም

የተሽከርካሪ መታወቂያ

የትዕዛዝ_ሁኔታ_getir

አምጣ

መግለጫ

ምን ያደርጋል + መቼ መደወል

"የጭነት ሁኔታን ይመልሳል፤ ተጠቃሚው ትዕዛዙ የት እንደሆነ ሲጠይቅ ይደውሉ"

"ውሂብ ያመጣል"

የግቤት_schema

የመለኪያ አይነት እና መስፈርት

{ትዕዛዝ_አይ፡ ሕብረቁምፊ፣ ማብራሪያ}

ምንም ዲያግራም / መግለጫ የለም

tool_use → tool_result Loop

ዑደቱ በደረጃ እንደሚከተለው ነው-

  1. የተጠቃሚውን ጥያቄ + የመሳሪያ መግለጫዎችን ወደ ሞዴሉ ይልካሉ።
  2. ሞዴሉ በቀጥታ ምላሽ ይሰጣል ወይም የTool_use ብሎክ ያመነጫል፡- "order_durumu_getir with order_no=SP-1024 ይደውሉ።"
  3. መተግበሪያዎ በትክክል መሳሪያውን (መረጃ ቋቱን ይጠይቃል) ይሰራል።
  4. እንደ መሳሪያ_ውጤት ውጤቱን ወደ ሞዴሉ መልሰው ይልካሉ።
  5. በዚህ ውጤት, ሞዴሉ የመጨረሻውን መልስ ያመጣል ወይም ሌላ መሳሪያ ይጠራል. ሞዴሉ "ጨርሻለሁ" እስኪል ድረስ ዑደቱ ይቀጥላል.

# Agent loop (conceptual)messages = [የተጠቃሚ_ጥያቄ] እውነት እያለ፡ ምላሽ = model.uret(መልእክቶች፣ መሳሪያዎች=የመሳሪያ_መግለጫዎች) if answer.tur == "የመሳሪያ_አጠቃቀም"፡ ውጤት = harness.run(response.tool_name፣ answer.entries) # APPLICATION መልዕክቶችን ይሰራል loop ያበቃል

ዘመናዊ ኤስዲኬዎች ይህንን loop ለእርስዎ የሚያሄዱ የመሳሪያ ሯጮችን ይሰጣሉ። የመሳሪያውን ተግባራት ብቻ ይጽፋሉ. ነገር ግን ከመጋረጃው ጀርባ እየሆነ ያለው ያ ነው።

የስህተት አስተዳደር

መሳሪያዎች ላይሳኩ ይችላሉ፡ ትዕዛዝ አልተገኘም፣ የኤፒአይ ጊዜ አልቋል፣ ግቤት ልክ ያልሆነ ነው። መሳሪያውን ማስኬድ ካልቻሉ ስህተቱን እንደ ገላጭ መሣሪያ_ውጤት ("ስህተት: የትዕዛዝ ቁጥር SP-9999 አልተገኘም") እና የስህተት ባንዲራውን ወደ ሞዴሉ ይመልሱ. ሞዴሉ ይህንን አይቶ ለተጠቃሚው በእርጋታ ማስረዳት ወይም በሌላ መንገድ መሞከር ይችላል። ስህተቱን አይውጡ እና ባዶ ውጤቶችን አይመልሱ; ሞዴሉ ምን እንደተፈጠረ ማወቅ አለበት.

ደካማ/ጠንካራ ተሽከርካሪ መግለጫ

ደካማ (ያልተወሰነ ስም፣ “መቼ” አይደለም)፡-

ስም፡ "ዳታ"፣ መግለጫ፡ "ዳታ ያፈልሳል"# ሞዴሉ መቼ እና እንዴት መደወል እንዳለበት አያውቅም። ጨርሶ አይጠራም ወይም በስህተት አይጠራም።

ጠንካራ (የተጣራ ስም + መቼ + መለኪያ መግለጫ)

name: "musteri_bakiyesi_getir"description: "የደንበኛውን የአሁኑን የሂሳብ ቀሪ ሂሳብ ይመልሳል። ተጠቃሚው ዴቢት፣ ክሬዲት ወይም ቀሪ ሂሳብ ሲጠይቅ ይደውሉ። ክፍያ አይፈፅምም።

ሶስት ሚኒ ጉዳዮች

ጉዳይ 1 - አላስፈላጊ ወኪል. አንድ ቡድን "የጽሑፍ ማጠቃለያ" ንግድን ከብዙ መሣሪያ ወኪል ጋር ገንብቷል; እያንዳንዱ ድጋሚ 4 የሞዴል ጥሪዎችን እና 9 ሰከንድ ይወስዳል። ሥራው በእውነቱ የአንድ ጊዜ ጥሪ ሥራ ነበር። ወኪሉን አውጥተን ወደ አንድ ጥሪ ስንቀንስ ጊዜው ወደ 1.5 ሰከንድ ወርዷል እና ዋጋው ወደ አንድ ሩብ ቀንሷል። ትምህርት፡ አስፈላጊ ሆኖ ሲገኝ ወኪሉን ተጠቀም።

ጉዳይ 2 - ደካማ ማብራሪያ, የተሳሳተ ጥሪ. በድጋፍ ሰጪ ወኪል ውስጥ፣ ፌች የሚባል ግልጽ ያልሆነ መሳሪያ በዘፈቀደ በአምሳያው የተጠራው በሁለቱም ሚዛን ጥያቄ እና የመርከብ ጥያቄ ነው። ተሽከርካሪዎቹ ወደ ሚዛን_getir እና ካርጎ_ዱሩሙ_ገጢር ሲከፋፈሉ እና "በመደወል ይደውሉ" ማብራሪያዎች ሲጨመሩ የተሳሳተ የተሽከርካሪ ምርጫ ከ 18 ወደ 1 በ 50 ምሳሌዎች ቀንሷል.

ጉዳይ 3 - ስህተት መዋጥ። ትዕዛዙ በማይገኝበት ጊዜ ተወካይ ባዶ ውጤቶችን እየመለሰ ነበር; ሞዴሉ ይህንን "ትዕዛዙ ደረሰ" በማለት ተርጉሞ ደንበኛው አሳስቶታል። የስህተት መልዕክቱ ለመሳሪያ_ውጤት ("ትዕዛዝ አልተገኘም") በግልፅ ሲፃፍ ሞዴሉ በትክክል "ይህን ቁጥር ማግኘት አልቻልኩም, ማረጋገጥ ይችላሉ?" በማለት ጀመረ።

የተለመዱ ስህተቶች

  • ሁሉንም ነገር ወደ ወኪል ማዞር፡ አንድ ጥሪ በቂ ሆኖ ሳለ ወኪሉ ወጭ እና መዘግየትን ይጨምራል።
  • ግልጽ ያልሆነ የተሽከርካሪ መግለጫ: ሞዴሉ መቼ እንደሚደወል አያውቅም; ስህተት ይመርጣል.
  • ሞዴሉ ተሽከርካሪውን እንደሚያንቀሳቅስ በማሰብ: ማሰሪያው ተሽከርካሪውን ያንቀሳቅሳል; ሞዴሉ ብቻ ይፈልጋል.
  • ስህተቱን መዋጥ: ሞዴሉ ምን እንደተፈጠረ ማወቅ አለበት; ስህተቱን እንደ ክፍት መሣሪያ_ውጤት ይስጡት።
  • በጣም ብዙ ተመሳሳይ ተሽከርካሪዎች: ሞዴል ግራ ይጋባል; የመሳሪያውን ስብስብ በትኩረት እና በትንሹ ያስቀምጡት.
ትኩረት፡ ሞዴሉ "ወደ መኪናው ደውል" ስላለ ብቻ እርምጃ መወሰድ አለበት ማለት አይደለም። በአጥፊ መሳሪያዎች ላይ (ሰርዝ ፣ ቼክአውት ፣ ኢሜል) ማመልከቻዎ ጥሪውን በጭፍን መፈፀም የለበትም - በሚቀጥለው ክፍል ውስጥ ያለው የደህንነት ርዕስ ዋና ነገር ይህ ነው።

በማጠቃለያው

  • ወኪል = ሞዴል (ውሳኔ) + መሳሪያዎች (ተግባራት) + loop (የጥሪ መሳሪያ, ውጤት አግኝ, እንደገና ይወስኑ).
  • ነጠላ ጥለት ጥሪ ወኪል አይደለም; ወኪል የደረጃ በደረጃ ሂደት ነው።
  • ሞዴሉ ተሽከርካሪውን አይሰራም; መተግበሪያዎ ይሰራል (መታጠቅ) እና ውጤቱን በመሳሪያ_ውጤት ይመልሳል።
  • መሣሪያው በስም ፣ በመግለጫ (በተለይ "መደወል) እና ግቤት_schema" ተለይቷል።
  • መሳሪያ_አጠቃቀም → መታጠቂያ ሲሰራ → መሳሪያ_ውጤት → ሞዴሉ "ተከናውኗል" እስኪል ድረስ ዑደቱ ይቀጥላል። ስህተቶች ለአምሳያው በግልፅ ሪፖርት ይደረጋሉ።

የመተግበሪያ ተግባር

ለወኪሉ ሊሰጡ የሚችሉ 3 መሳሪያዎችን ከራስዎ ንግድ ይንደፉ። (1) ስም ፣ መግለጫ በ"ጥሪ ጊዜ" እና ለእያንዳንዱ ግቤት_schema ይፃፉ። ቢያንስ አንዱ የማያበላሽ የንባብ መሳሪያ እና አንዱ ስሌት ይሁን። (2) ተጨባጭ የተጠቃሚ ጥያቄን ምረጥ እና በእጅ ደረጃ በደረጃ (በ loop) ፃፍ ከእነዚህ መሳሪያዎች ውስጥ የትኛው ሞዴሉ በየትኞቹ ግብዓቶች እንደሚጠራ እና የመሳሪያው ውጤት ከመጣ በኋላ ምን እንደሚሰራ። (3) ከመሳሪያዎቹ አንዱ ያልተሳካበትን ሁኔታ ያዘጋጁ እና የስህተት መልዕክቱ ወደ ሞዴሉ እንዴት እንደሚመለስ ያሳዩ።

የማረጋገጫ ዝርዝር

  • [] ወኪሉን እንደ "ሞዴል + መሳሪያዎች + loop" መግለፅ እና መቼ እንደሚያስፈልግ መወሰን እችላለሁ.
  • [] ማሰሪያው ተሽከርካሪውን እንደሚያሽከረክር አውቃለሁ፣ ሞዴሉ ብቻ ይፈልጋል።
  • ጠንካራ የተሽከርካሪ መግለጫ በ[ ] ስም፣ መግለጫ ("ጥሪ ሲደረግ") እና ግቤት_schema መጻፍ እችላለሁ።
  • የ [ ] tool_use → tool_result ዑደቱን ደረጃ በደረጃ መከተል እችላለሁ።
  • [ ] የመሣሪያ ስህተቶችን ለአምሳያው እንደ ክፍት መሣሪያ_ውጤት ሪፖርት አደርጋለሁ።