พื้นฐาน
การเรียกใช้เครื่องมือใน AI ทำงานอย่างไรจริงๆ
โมเดลที่เรียกใช้เครื่องมือไม่เคยรันอะไรด้วยตัวเองเลย มันเสนอชื่อและอาร์กิวเมนต์ แล้วแอปพลิเคชันของคุณตัดสินใจว่าจะรันการเรียกนั้นหรือไม่ วงจรคำขอ-การตอบสนองทำงานอย่างไร และทำไมข้อเสนอจึงเป็นการเดา ไม่ใช่การรับประกัน
บทความทั้งหมด · ตรวจสอบล่าสุด:
โมเดลได้รับเมนู ไม่ใช่คีย์บอร์ด
ก่อนส่งคำขอ แอปพลิเคชันจะอธิบายเครื่องมือที่มีให้โมเดล ได้แก่ ชื่อ คำอธิบายว่าแต่ละเครื่องมือทำอะไร และสคีมาสำหรับอาร์กิวเมนต์ที่คาดหวัง โมเดลไม่ได้รับโค้ดที่ทำงานได้จริงหรือการเชื่อมต่อสดกับสิ่งใด มันได้รับแค่คำอธิบาย เหมือนกับที่คนอ่านเมนูโดยไม่มีสิทธิ์เข้าถึงครัว
โมเดลไม่เคยรันอะไรด้วยตัวเองเลย
เมื่อโมเดลตัดสินใจว่าเครื่องมือหนึ่งจะช่วยได้ มันจะสร้างเอาต์พุตที่มีโครงสร้าง ซึ่งโดยทั่วไปคือชื่อเครื่องมือและชุดอาร์กิวเมนต์ แล้วหยุดอยู่แค่นั้น ยังไม่มีอะไรถูกค้นหา เรียกใช้ หรือเปลี่ยนแปลง แอปพลิเคชันที่ส่งคำขอจะอ่านเอาต์พุตที่มีโครงสร้างนั้น ตัดสินใจว่าจะดำเนินการตามนั้นหรือไม่ และถ้าใช่ก็จะรันฟังก์ชันจริงหรือเรียก API บนโครงสร้างพื้นฐานของตัวเอง
การแลกเปลี่ยนที่สมบูรณ์คือวงจร ไม่ใช่ขั้นตอนเดียว
ลำดับทั่วไปคือ แอปพลิเคชันส่งพรอมต์พร้อมรายการเครื่องมือที่มี โมเดลตอบกลับด้วยคำตอบหรือการเรียกใช้เครื่องมือที่เสนอ ถ้าเป็นการเรียกใช้เครื่องมือ แอปพลิเคชันจะรันมันแล้วส่งผลลัพธ์กลับเป็นส่วนหนึ่งของบทสนทนา จากนั้นโมเดลจะดำเนินต่อ มักจะสร้างคำตอบสุดท้ายที่ใช้ผลลัพธ์นั้น งานหลายขั้นตอนสามารถทำวงจรนี้ซ้ำได้หลายครั้งก่อนที่คำตอบจะถึงผู้ใช้
การเรียกที่เสนอมาเป็นการเดาที่สมเหตุสมผล ไม่ใช่การรับประกันว่าถูกต้อง
โมเดลอาจเสนอเครื่องมือผิด สร้างอาร์กิวเมนต์ที่ไม่เคยอยู่ในสคีมาขึ้นมาเอง หรือเรียกใช้เครื่องมือทั้งที่ไม่มีอะไรต้องเรียกเลย เพราะการสร้างแบบความน่าจะเป็นแบบเดียวกับที่สร้างเอาต์พุตอื่นๆ ก็สร้างการเรียกใช้เครื่องมือด้วยเช่นกัน ไม่มีอะไรในกลไกนี้ที่ทำให้การเรียกที่เสนอมาปลอดภัยโดยธรรมชาติที่จะรัน แอปพลิเคชันที่รันอาร์กิวเมนต์โดยไม่ตรวจสอบกับสคีมา และไม่อนุญาตว่าการเรียกนั้นสามารถแตะต้องอะไรได้จริง กำลังมอบสิทธิ์เข้าถึงจริงให้กับการเดา
สคีมาคืออินเทอร์เฟซเดียวที่โมเดลเห็นจริงๆ
ชื่อ คำอธิบาย และสคีมาอาร์กิวเมนต์ของเครื่องมือคือข้อกำหนดทั้งหมดที่โมเดลมีให้ใช้งาน มันไม่มีทางอื่นที่จะรู้ว่าเครื่องมือทำอะไรหรือจะกรอกพารามิเตอร์อย่างถูกต้องได้อย่างไร ฟังก์ชันเดียวกันที่อธิบายอย่างชัดเจนและเจาะจงมักจะถูกเรียกอย่างถูกต้องบ่อยกว่าฟังก์ชันที่อธิบายอย่างคลุมเครือหรือรวมกับตัวเลือกที่ไม่เกี่ยวข้องมาก เพราะโมเดลเลือกและกรอกอาร์กิวเมนต์จากคำอธิบายนั้นเพียงอย่างเดียว
ทำไมสิ่งนี้จึงแตกต่างจากการให้โมเดลเขียนโค้ด
การขอให้โมเดลสร้างสคริปต์ที่ทำงานได้จริงกับการขอให้มันเรียกใช้เครื่องมือที่กำหนดไว้ล่วงหน้าไม่ใช่คำขอเดียวกัน การเรียกใช้เครื่องมือถูกจำกัดอยู่ที่ชื่อและอาร์กิวเมนต์ที่แอปพลิเคชันของคุณรู้วิธีจัดการอย่างปลอดภัยอยู่แล้ว ส่วนโค้ดที่สร้างขึ้นอย่างอิสระสามารถพยายามทำทุกอย่างที่สภาพแวดล้อมที่รันมันอนุญาต ซึ่งเป็นปัญหาด้านความปลอดภัยที่ใหญ่กว่าและต่างออกไปมาก การเรียกใช้เครื่องมือจำกัดสิ่งที่โมเดลสามารถขอได้ให้เหลือชุดตัวเลือกที่คงที่และตรวจสอบได้
คำถามที่พบบ่อย
- โมเดลรันเครื่องมือด้วยตัวเองหรือไม่
- ไม่ โมเดลสร้างคำขอที่มีโครงสร้างระบุชื่อเครื่องมือและอาร์กิวเมนต์ของมัน แอปพลิเคชันที่ส่งคำขอจะตัดสินใจว่าจะรันมันหรือไม่ และฟังก์ชันจริงหรือการเรียก API จะรันบนโครงสร้างพื้นฐานของแอปพลิเคชันเอง ไม่ใช่ภายในโมเดล
- โมเดลสามารถเรียกใช้เครื่องมือด้วยอาร์กิวเมนต์ที่แต่งขึ้นได้หรือไม่
- ได้ โมเดลอาจให้ค่าที่ไม่เคยเป็นส่วนหนึ่งของสคีมา หรือที่ไม่สมเหตุสมผลสำหรับเครื่องมือนั้น เพราะการเรียกถูกสร้างขึ้นแบบเดียวกับเอาต์พุตอื่นๆ การตรวจสอบอาร์กิวเมนต์ก่อนรันสิ่งที่เป็นจริงเป็นความรับผิดชอบของแอปพลิเคชัน ไม่ใช่สิ่งที่โมเดลรับประกัน
- จะเกิดอะไรขึ้นถ้าโมเดลเรียกใช้เครื่องมือผิด
- ขึ้นอยู่กับว่าแอปพลิเคชันถูกสร้างมาอย่างไรทั้งหมด แอปพลิเคชันที่สร้างมาดีจะตรวจสอบว่าการเรียกนั้นสมเหตุสมผลก่อนรันมัน และสามารถส่งข้อผิดพลาดหรือผลลัพธ์ที่ชี้แจงกลับไปยังโมเดลแทนที่จะดำเนินการตามคำขอที่ไม่ตรงกัน ส่วนแอปพลิเคชันที่สร้างมาไม่ดีจะรันสิ่งที่ได้รับมา
- การเรียกใช้เครื่องมือเหมือนกับ AI agent หรือไม่
- ไม่ใช่ แต่ agent มักถูกสร้างขึ้นบนพื้นฐานนี้ การเรียกใช้เครื่องมือคือกลไกคำขอ-การตอบสนองพื้นฐาน ส่วน agent มักจะทำวงจรนี้ซ้ำหลายครั้ง โดยมีตรรกะเพิ่มเติมที่ตัดสินใจว่าจะลองทำอะไรต่อไปตามผลลัพธ์แต่ละครั้ง
ลองใช้ดีกว่าอ่านเฉยๆ
ClawAI เปิดให้โมเดลใช้ตัวเชื่อมต่อพื้นที่ทำงานและการดำเนินการอื่นๆ เป็นเครื่องมือที่เรียกใช้ได้ระหว่างคำขอแชท การเรียกที่เสนอมาจะถูกตรวจสอบกับสคีมาของมันก่อนที่ ClawAI จะรันสิ่งใดกับตัวเชื่อมต่อจริงในนามของคุณ