พื้นฐาน AI
การเรียกใช้เครื่องมือคืออะไร? โมเดล AI เปลี่ยนการตัดสินใจให้เป็นการลงมือทำได้อย่างไร
การเรียกใช้เครื่องมือช่วยให้โมเดล AI เรียกใช้ฟังก์ชัน API การค้นหา หรือการดำเนินการต่าง ๆ โดยส่งอาร์กิวเมนต์ที่มีโครงสร้าง คู่มือนี้อธิบายวงจรการใช้เครื่องมือตั้งแต่ต้นจนจบ รวมถึงสคีมา การตรวจสอบความถูกต้อง สิทธิ์ และรูปแบบข้อผิดพลาดที่พบบ่อย

การเรียกใช้เครื่องมือเป็นกลไกที่ทำให้โมเดล AI สามารถขอใช้ฟังก์ชันเฉพาะหรือความสามารถภายนอก โดยส่งอาร์กิวเมนต์ในรูปแบบที่มีโครงสร้าง กลไกนี้เปลี่ยนการตัดสินใจของโมเดลให้เป็นการกระทำที่เครื่องอ่านได้ ทำให้ซอฟต์แวร์ค้นหา คำนวณ ดึงระเบียน เรียกใช้โค้ด หรืออัปเดตระบบอื่นได้ โดยไม่ต้องให้โมเดลเลียนแบบการดำเนินการนั้นด้วยข้อความร้อยแก้ว
การเรียกใช้เครื่องมือเป็นรากฐานสำคัญของเอเจนต์ AI สมัยใหม่ โมเดลสามารถให้เหตุผลได้ว่าควรทำอะไร แต่แอปพลิเคชันที่ทำงานร่วมกันจะเป็นผู้ควบคุมว่าการกระทำที่ร้องขอนั้นถูกต้อง ได้รับอนุญาต ดำเนินการแล้วหรือไม่ และส่งผลกลับให้โมเดลใช้ประกอบการตัดสินใจครั้งต่อไปหรือไม่
เหตุใดโมเดลจึงต้องใช้เครื่องมือ
โมเดลภาษามีข้อจำกัดสำคัญหลายประการ ความรู้ที่เรียนรู้มามีวันสิ้นสุดตามขอบเขตข้อมูลที่ใช้ฝึก โมเดลไม่สามารถคำนวณได้ทุกรูปแบบอย่างน่าเชื่อถือ ไม่ได้รับรู้ข้อมูลส่วนตัวหรือข้อมูลปัจจุบันโดยอัตโนมัติ และไม่สามารถส่งผลต่อระบบซอฟต์แวร์ได้ด้วยการสร้างข้อความเพียงอย่างเดียว
เครื่องมือช่วยเพิ่มความสามารถให้โมเดล เช่น:
- ค้นหาข้อมูลปัจจุบัน;
- สืบค้นฐานข้อมูลหรือคลังความรู้;
- เรียกใช้โค้ดหรือคำนวณอย่างแม่นยำ;
- อ่านและเขียนไฟล์;
- สร้างทิกเก็ต กิจกรรม ข้อความ หรือธุรกรรม;
- ใช้งานเบราว์เซอร์หรือส่วนติดต่อผู้ใช้อื่น ๆ
เครื่องมือไม่ได้ทำให้โมเดลมีความรู้มากขึ้นโดยเนื้อแท้ แต่ช่วยให้แอปพลิเคชันมีวิธีควบคุมการรวบรวมหลักฐานหรือดำเนินการต่าง ๆ
องค์ประกอบของคำจำกัดความเครื่องมือ
คำอธิบายเครื่องมือควรระบุทั้งเงื่อนไขที่ควรเลือกใช้และเงื่อนไขที่ไม่ควรเลือกใช้ “ค้นหาระเบียน” เป็นคำอธิบายที่ไม่ชัดเจน เพราะโมเดลไม่อาจรู้ได้ว่าค้นหาข้อมูลลูกค้า เอกสาร หรือเว็บสาธารณะ ส่วน “ค้นหาบัญชีลูกค้าที่ได้รับอนุมัติโดยใช้ชื่อบริษัทหรือรหัสบัญชี ห้ามใช้สำหรับค้นคว้าข้อมูลทั่วไปบนเว็บ” จะกำหนดขอบเขตที่โมเดลนำไปใช้ได้
แอปพลิเคชันอธิบายเครื่องมือแต่ละรายการที่พร้อมใช้งานในรูปแบบที่มีโครงสร้าง โดยทั่วไปคำจำกัดความจะประกอบด้วย:
- ชื่อ: ตัวระบุที่คงที่ เช่น
get_weatherหรือcreate_support_ticket. - คำอธิบาย: คำอธิบายที่ชัดเจนว่าเครื่องมือทำอะไรและควรใช้เมื่อใด
- โครงสร้างข้อมูลนำเข้า: อาร์กิวเมนต์ที่จำเป็นและไม่บังคับ ชนิดข้อมูลของอาร์กิวเมนต์ และค่าที่อนุญาต
- ข้อกำหนดผลลัพธ์: เอกสารอธิบายผลลัพธ์หรือสถานะข้อผิดพลาดที่แอปพลิเคชันจะส่งกลับ
ส่วนติดต่อสำหรับเรียกใช้เครื่องมือจำนวนมากใช้ JSON Schema หรือรูปแบบข้อมูลที่กำหนดชนิดซึ่งเกี่ยวข้องกัน โครงสร้างข้อมูลที่มีขอบเขตชัดเจนและไม่กำกวมช่วยลดโอกาสที่โมเดลจะคิดค้นพารามิเตอร์ขึ้นเองหรือรวมตัวเลือกที่ใช้ร่วมกันไม่ได้เข้าด้วยกัน
วงจรการเรียกใช้เครื่องมือทำงานอย่างไร
| ชื่อ | ตัวระบุที่คงที่ของการดำเนินการที่โมเดลอาจร้องขอ |
|---|---|
| โครงสร้างข้อมูลนำเข้า | อาร์กิวเมนต์ที่อนุญาต ชนิดข้อมูล ฟิลด์ที่จำเป็น และค่าที่อนุญาต |
| การอนุญาต | ซอฟต์แวร์ตรวจสอบตัวตน นโยบาย ขอบเขตการเข้าถึง และการอนุมัติก่อนดำเนินการ |
| ข้อกำหนดผลลัพธ์ | ผลลัพธ์หรือข้อผิดพลาดที่ระบุไว้อย่างชัดเจน ซึ่งส่งกลับให้โมเดลและบันทึกไว้ในประวัติการตรวจสอบ |
ลองพิจารณาผู้ใช้ที่ถามว่า “วันอังคารหน้าฉันมีประชุมที่แมนเชสเตอร์ไหม แล้วฝนจะตกหรือเปล่า?”
- แอปพลิเคชันจะให้บริบท โดยส่งคำขอของผู้ใช้ คำสั่งระบบ และคำจำกัดความของเครื่องมือที่เลือกไว้ให้โมเดล
- โมเดลเลือกเครื่องมือ โดยอาจขอค้นหาข้อมูลในปฏิทินพร้อมระบุช่วงวันที่และตัวกรองสถานที่
- แอปพลิเคชันตรวจสอบคำขอ โดยตรวจชื่อเครื่องมือ อาร์กิวเมนต์ที่จำเป็น ขอบเขตสิทธิ์ และกฎทางธุรกิจ
- ระบบรันไทม์เรียกใช้เครื่องมือ โดยเรียกใช้ระบบปฏิทินและส่งคืนกิจกรรมที่ตรงกัน หรือแจ้งข้อผิดพลาดอย่างชัดเจน
- โมเดลพิจารณาผลลัพธ์ โดยพบว่ามีการประชุมที่แมนเชสเตอร์ และขอใช้เครื่องมือพยากรณ์อากาศสำหรับเมืองและวันที่ดังกล่าว
- แอปพลิเคชันตรวจสอบและดำเนินการซ้ำ
- โมเดลสร้างคำตอบสุดท้าย โดยรวบรวมผลลัพธ์ที่ผ่านการตรวจสอบแล้วและอ้างอิงรายละเอียดที่เกี่ยวข้อง
โมเดลเสนอการเรียกใช้เครื่องมือ ส่วนแอปพลิเคชันเป็นผู้ดำเนินการ ขอบเขตการทำงานนี้เป็นข้อเท็จจริงที่สำคัญที่สุดประการหนึ่งเกี่ยวกับการใช้เครื่องมือ ระบบรันไทม์ที่ปลอดภัยจะไม่ถือว่าผลลัพธ์จากโมเดลเป็นโค้ดที่ได้รับอนุญาตให้ทำงานโดยอัตโนมัติ
การเลือกใช้เครื่องมืออาจเป็นแบบอัตโนมัติหรือมีข้อจำกัด
แอปพลิเคชันอาจอนุญาตให้โมเดลตัดสินใจเองว่าจำเป็นต้องใช้เครื่องมือหรือไม่ บังคับให้ใช้เครื่องมือเฉพาะ จำกัดตัวเลือกไว้เพียงบางส่วน หรือห้ามใช้เครื่องมือสำหรับการตอบครั้งนั้นได้ ตัวเลือกเหล่านี้เหมาะกับเวิร์กโฟลว์ที่แตกต่างกัน
การเลือกแบบอัตโนมัติช่วยให้ผู้ช่วยทำงานได้อย่างยืดหยุ่น ส่วนการบังคับเลือกเครื่องมือเหมาะกับงานอย่างการดึงข้อมูลตามโครงสร้าง ซึ่งทุกคำขอควรผ่านฟังก์ชันเฉพาะ การจำกัดชุดเครื่องมือที่มีให้เลือกช่วยลดความสับสนและความเสี่ยงจากการเข้าถึงเกินจำเป็น เช่น ขั้นตอนอ่านใบแจ้งหนี้ไม่จำเป็นต้องเข้าถึงเครื่องมือส่งอีเมล
การเรียกใช้เครื่องมือเทียบกับเอาต์พุตแบบมีโครงสร้าง
ทั้งสองอย่างกำหนดให้โมเดลสร้างข้อมูลที่ตรงตามสคีมา แต่มีจุดประสงค์ต่างกัน
เอาต์พุตแบบมีโครงสร้างจัดรูปแบบคำตอบของโมเดลสำหรับแอปพลิเคชัน เช่น การดึงชื่อผลิตภัณฑ์ จำนวน และการจัดประเภทความเสี่ยง ส่วน การเรียกใช้เครื่องมือเป็นการขอให้แอปพลิเคชันดำเนินการบางอย่างและส่งผลที่สังเกตได้กลับมา
ผลลัพธ์แบบมีโครงสร้างอาจทำให้การโต้ตอบสิ้นสุดลง ส่วนการเรียกใช้เครื่องมือมักทำให้เกิดวงจรต่อเนื่อง ได้แก่ ขอให้ดำเนินการ ดำเนินการ พิจารณาผล และตัดสินใจอีกครั้ง
การเรียกใช้เครื่องมือเทียบกับ API
API คือส่วนติดต่อที่ซอฟต์แวร์ใช้สื่อสารกับอีกระบบหนึ่ง การเรียกใช้เครื่องมือคือชั้นการตัดสินใจที่โมเดลใช้เลือกการดำเนินการและระบุอาร์กิวเมนต์ โดยทั่วไปการทำงานของเครื่องมือจะครอบ API ไว้ แต่ก็อาจครอบการสืบค้นฐานข้อมูล ฟังก์ชันภายใน โปรแกรมบรรทัดคำสั่ง หรือการดำเนินการผ่านส่วนติดต่อผู้ใช้ได้เช่นกัน
เครื่องมือที่ดีที่สุดแทบไม่เปิดให้เข้าถึง API ที่ซับซ้อนทั้งหมดโดยตรง แต่จะมีการดำเนินการที่มุ่งเน้นงาน พร้อมความหมายชัดเจน ขอบเขตจำกัด และผลลัพธ์ที่โมเดลตีความได้ คำสั่ง “คืนเงินสำหรับคำสั่งซื้อ” ที่ใช้ข้อมูลนโยบายซึ่งผ่านการตรวจสอบแล้ว ปลอดภัยและใช้งานง่ายกว่าเครื่องมือคำขอทั่วไปที่เรียกใช้ปลายทางใดก็ได้
อะไรทำให้เครื่องมือ AI มีคุณภาพดี
จุดประสงค์ชัดเจน ชื่อและคำอธิบายควรแยกเครื่องมือนี้ออกจากความสามารถที่คล้ายกัน เครื่องมือที่ทำงานทับซ้อนกันอาจทำให้การเลือกใช้งานไม่สม่ำเสมอ
อินพุตมีขนาดเล็กและระบุชนิดข้อมูล ควรระบุฟิลด์ที่จำเป็นให้ชัดเจน และใช้ชุดค่าที่กำหนดไว้เมื่อทำได้ หลีกเลี่ยงการบังคับให้โมเดลสร้างเพย์โหลดขนาดใหญ่ที่ผิดพลาดได้ง่าย
เอาต์พุตที่เป็นประโยชน์ ส่งคืนข้อมูลให้เพียงพอสำหรับการตัดสินใจขั้นถัดไป รวมถึงตัวระบุที่คงที่และสถานะสำเร็จหรือล้มเหลวอย่างชัดเจน อย่าซ่อนความล้มเหลวบางส่วนไว้ในข้อความที่ฟังดูเป็นมิตร
รองรับการทำงานซ้ำโดยไม่เกิดผลซ้ำเมื่อทำได้ โดยทั่วไป การลองดำเนินการอ่านซ้ำมักปลอดภัย แต่การลองชำระเงินหรือส่งข้อความซ้ำอาจทำให้เกิดการดำเนินการซ้ำ เครื่องมือที่ส่งผลกระทบสูงควรใช้คีย์ป้องกันการทำงานซ้ำหรือมาตรการป้องกันอื่น
จำกัดสิทธิ์ให้แคบ เครื่องมือค้นหาแบบอ่านอย่างเดียวไม่ควรได้รับสิทธิ์เขียนต่อมาโดยอัตโนมัติ ข้อมูลรับรองและการอนุญาตควรอยู่ในระบบรันไทม์ ไม่ใช่ในพรอมป์ต์
ข้อผิดพลาดที่พบบ่อยในการเรียกใช้เครื่องมือ
การลองใหม่ต้องมีนโยบายกำกับโดยเฉพาะ การค้นหาแบบอ่านอย่างเดียวเมื่อลองใหม่อาจไม่ก่อให้เกิดปัญหา แต่การลองใช้เครื่องมือชำระเงินหรือส่งข้อความซ้ำอาจทำให้การดำเนินการที่ย้อนกลับไม่ได้เกิดขึ้นซ้ำ คีย์ Idempotency ตัวระบุธุรกรรม และสถานะยืนยันที่ชัดเจนช่วยให้ระบบขณะทำงานแยกแยะได้ว่าความพยายามครั้งแรกล้มเหลวจริง หรือเพียงแค่ไม่ได้ส่งผลลัพธ์กลับมา
- เลือกเครื่องมือผิด: โมเดลเลือกความสามารถที่มีคำอธิบายคล้ายกัน
- อาร์กิวเมนต์ไม่ถูกต้อง: ฟิลด์ที่จำเป็นขาดหาย มีรูปแบบผิด หรือเป็นไปไม่ได้ในเชิงความหมาย
- แต่งผลลัพธ์ขึ้นเอง: โมเดลตอบราวกับว่าเครื่องมือทำงานสำเร็จ ทั้งที่ยังไม่ได้รอรับผลที่สังเกตได้
- ข้อผิดพลาดกำกวม: เครื่องมือส่งผลลัพธ์ว่างเปล่ากลับมา แล้วโมเดลตีความว่า “ไม่พบระเบียน”
- เชื่อมโยงเครื่องมืออย่างไม่ปลอดภัย: เนื้อหาที่ไม่น่าเชื่อถือจากเครื่องมือหนึ่งชักจูงให้โมเดลเรียกใช้เครื่องมืออีกตัวอย่างไม่เหมาะสม
- ผลข้างเคียงเกิดซ้ำ: การหมดเวลาทำให้ระบบลองใหม่ ทั้งที่การดำเนินการครั้งแรกสำเร็จไปแล้ว
- เครื่องมือมีมากเกินไป: คำจำกัดความที่ไม่เกี่ยวข้องจำนวนมากลดความแม่นยำในการเลือกและใช้พื้นที่บริบท
สิทธิ์และการอนุมัติจากมนุษย์
สามารถจัดกลุ่มเครื่องมือตามระดับความเสี่ยงได้ การดึงข้อมูลแบบอ่านอย่างเดียวอาจทำงานโดยอัตโนมัติภายในขอบเขตข้อมูลที่จำกัด ส่วนร่างหรือการเปลี่ยนแปลงที่ย้อนกลับได้อาจดำเนินการได้โดยมีการบันทึกข้อมูล การดำเนินการภายนอก การเงิน การทำลายข้อมูล หรือการดำเนินการที่มีนัยสำคัญทางกฎหมาย โดยทั่วไปควรกำหนดให้ต้องผ่านขั้นตอนการอนุมัติ
การอนุมัติต้องตั้งอยู่บนข้อมูลที่ครบถ้วน อินเทอร์เฟซยืนยันควรแสดงการดำเนินการที่แน่นอน เป้าหมาย พารามิเตอร์สำคัญ และผลที่อาจเกิดขึ้น การถามว่า “อนุญาตให้ใช้เครื่องมือหรือไม่” ยังไม่เพียงพอ หากเครื่องมือนั้นจะส่งอีเมลถึงผู้รับ 5,000 คน หรือลบทรัพยากรในระบบใช้งานจริง
ภาพรวมของ OpenAI เกี่ยวกับ เครื่องมือสำหรับสร้างเอเจนต์ เน้นย้ำว่าการใช้เครื่องมือควรเป็นส่วนหนึ่งของแพลตฟอร์มเอเจนต์ที่มีทั้งการติดตามร่องรอยและการสังเกตการณ์การทำงาน ส่วนมาตรการควบคุมที่เกี่ยวข้องไม่ใช่ส่วนเสริมที่เลือกตัดออกได้ แต่เป็นสิ่งที่ทำให้การดำเนินการที่โมเดลเลือกสามารถนำไปใช้งานได้
วิธีประเมินการใช้เครื่องมือ
ประเมินการเลือกเครื่องมือ อาร์กิวเมนต์ การดำเนินการ การตีความ และความสำเร็จของงานขั้นสุดท้ายแยกจากกัน โมเดลอาจเลือกเครื่องมือได้ถูกต้องแต่กรอกข้อมูลลงในฟิลด์ผิด หรืออาจได้รับผลลัพธ์ที่ถูกต้องแต่สรุปความหมายผิด การบันทึกร่องรอยการทำงานทั้งหมดช่วยให้เห็นข้อผิดพลาดแต่ละประเภท และป้องกันไม่ให้คำตอบสุดท้ายที่ดูดีบดบังพฤติกรรมที่ไม่ปลอดภัยหรือสิ้นเปลือง
คำตอบสุดท้ายอาจดูถูกต้อง แม้เอเจนต์จะเลือกเส้นทางที่ไม่มีประสิทธิภาพหรือไม่ปลอดภัยก็ตาม ดังนั้น การประเมินจึงควรวัดทั้งผลลัพธ์และลำดับขั้นตอนการทำงาน
ตัวชี้วัดที่เป็นประโยชน์ ได้แก่ ความแม่นยำในการเลือกเครื่องมือ ความถูกต้องของอาร์กิวเมนต์ การทำงานให้สำเร็จ จำนวนครั้งที่เรียกใช้เครื่องมือ เวลาแฝง ค่าใช้จ่าย การกู้คืนจากข้อผิดพลาด การเข้าถึงข้อมูลละเอียดอ่อนโดยไม่จำเป็น ผลข้างเคียงที่เกิดซ้ำ และการปฏิบัติตามกฎการอนุมัติ ควรทดลองซ้ำหลายครั้ง เพราะพฤติกรรมของโมเดลอาจแตกต่างกันได้
วิธีอ่านแผนภาพการเรียกใช้เครื่องมือ
อ่านแผนภาพการเรียกใช้เครื่องมือจากข้อมูลนำเข้าที่มีหมายเลขกำกับไปจนถึงผลลัพธ์ที่สังเกตได้ แผนภาพเปรียบเทียบนี้แยกให้เห็นขอบเขตที่ทำให้การเรียกใช้เครื่องมือต่างจากทางลัดที่ใกล้เคียงที่สุด ส่วนเส้นทางการควบคุมแสดงจุดที่ต้องตรวจสอบอำนาจการดำเนินการหรือความไม่แน่นอนก่อนจะเกิดผลในโลกจริง ป้ายกำกับยังคงเป็นข้อความทั่วไปบนหน้าเว็บที่ปรับตามขนาดหน้าจอได้ จึงแปลภาษา ตัดขึ้นบรรทัดใหม่ และจัดเรียงใหม่ได้บนโทรศัพท์
สำหรับเรื่อง การเรียกใช้เครื่องมือคืออะไร? โมเดล AI เปลี่ยนการตัดสินใจให้เป็นการกระทำได้อย่างไร ภาพประกอบนี้เป็นแผนที่ ไม่ใช่สิ่งรับประกัน การนำไปใช้จริงอาจรวมบางขั้นตอนเข้าด้วยกัน ทำขั้นตอนเดิมซ้ำ หรือเพิ่มจุดที่ต้องให้มนุษย์อนุมัติ สิ่งสำคัญคือทีมสามารถระบุหน้าที่เดียวกันนี้ในระบบที่นำไปใช้งานจริงได้หรือไม่ มอบหมายผู้รับผิดชอบให้แต่ละขอบเขตได้หรือไม่ และทดสอบการเปลี่ยนผ่านระหว่างขั้นตอนเหล่านั้นได้หรือไม่ หากไม่สามารถสังเกตหรือวัดผลขั้นตอนใดได้ ก็จะวินิจฉัยข้อผิดพลาดที่เกิดขึ้นในขั้นตอนนั้นได้ยาก
ประเด็นสำคัญเกี่ยวกับการเรียกใช้เครื่องมือ
การเรียกใช้เครื่องมือเป็นสะพานเชื่อมระหว่างการตัดสินใจของโมเดลกับการดำเนินการของซอฟต์แวร์ โมเดลระบุความสามารถที่ต้องการและเสนอข้อมูลนำเข้าที่มีโครงสร้าง จากนั้นแอปพลิเคชันจะตรวจสอบความถูกต้อง อนุญาตให้ดำเนินการ เรียกใช้เครื่องมือ และส่งผลที่สังเกตได้กลับมา
เครื่องมือที่ออกแบบมาอย่างดีช่วยให้ระบบ AI มีข้อมูลทันสมัยขึ้น ทำสิ่งต่าง ๆ ได้มากขึ้น และมีประโยชน์ยิ่งขึ้น ส่วนเครื่องมือที่ออกแบบมาไม่ดีจะเปลี่ยนข้อผิดพลาดทั่วไปของโมเดลให้กลายเป็นผลกระทบภายนอก งานวิศวกรรมที่สำคัญที่สุดอยู่ที่สคีมา สิทธิ์ การจัดการข้อผิดพลาด การสังเกตการณ์การทำงาน และขอบเขตที่กำหนดไว้สำหรับการดำเนินการ












