Kill switch
ปุ่มหยุด agent กลางคันที่คนเห็นปัญหาสั่งได้เองทันที หยุดสิ่งที่ยังไม่เกิดได้ แต่งานที่ลงมือไปแล้วไม่ย้อนกลับ
Kill switch คือกลไกสั่งให้ระบบ AI ที่กำลังทำงานอยู่หยุดทันที ในโลกของ agent คำนี้ครอบสองระดับที่ต่างกันพอสมควร ระดับแรกคือหยุดงานชิ้นที่กำลังรันอยู่ตรงหน้า เช่น agent กำลังไล่แก้ไฟล์ทีละร้อยไฟล์ แล้วเราเห็นตั้งแต่ไฟล์ที่สามว่ามันแก้ผิดทาง ระดับที่สองคือปิดตัว agent ทั้งตัวไม่ให้ใครในองค์กรเรียกใช้ได้อีกจนกว่าจะตรวจเสร็จ สองระดับนี้มีหัวใจเดียวกันคือคนที่เห็นปัญหาต้องสั่งหยุดได้เองเดี๋ยวนั้น ไม่ใช่ต้องแจ้งเรื่องไปที่ผู้ให้บริการแล้วรอคำตอบพรุ่งนี้เช้า เหตุผลที่ระบบซึ่งลงมือทำงานเองต้องมีทางหยุดแบบนี้ก็ตรงไปตรงมา คือ chatbot ที่ตอบผิดสร้างข้อความผิดหนึ่งข้อความ ส่วน agent แปลงคำตอบของมันเป็นการกระทำจริงผ่าน tool-call ทีละคำสั่ง และมันทำต่อไปเรื่อยๆ ระหว่างที่ไม่มีใครมอง
เครื่องมือจริงวางปุ่มนี้ไว้คนละชั้นกัน ฝั่งโค้ด Agent SDK ของ anthropic มีคำสั่ง interrupt() ซึ่งตารางเอกสารกำกับไว้ว่าเป็นการส่งสัญญาณหยุด และใช้ได้เฉพาะในโหมด streaming ที่เปิด session ค้างไว้แล้วป้อนข้อความเข้าต่อเนื่องเท่านั้น การเรียกแบบส่งคำสั่งเดียวจบไม่รองรับการสั่งหยุดกลางคัน หน้าเดียวกันเตือนต่อว่าคำสั่งนี้ส่งสัญญาณหยุดก็จริง แต่ไม่ได้ล้าง message buffer ข้อความที่งานเดิมผลิตไปแล้วรวมถึง ResultMessage ของมันยังค้างอยู่ใน stream และเราต้องอ่านทิ้งให้หมดก่อน ไม่อย่างนั้นสิ่งที่ได้กลับมาหลังสั่งงานใหม่จะเป็นข้อความของงานเก่าที่เพิ่งสั่งหยุดไป ส่วน turn ที่ถูกตัดกลางคันจะถูกกำกับเหตุผลปิดท้ายไว้ว่า aborted_streaming หรือ aborted_tools ฝั่ง Agents SDK ของ openai มี cancel() ซึ่งเอกสารระบุว่าเป็นตัวควบคุมที่มีเฉพาะกับผลลัพธ์ของการรันแบบ streaming และเขียนว่าหยุดการรันได้ทันทีหรือหยุดเมื่อจบ turn ปัจจุบัน พร้อมข้อควรระวังที่หน้าเดียวกันกำกับไว้ว่าถ้าเรียก cancel() แล้วให้อ่าน stream ของ event ต่อไปจนจบ เพื่อให้การยกเลิกและการเก็บกวาดทำงานได้ครบถ้วน อีกชั้นคือปุ่มของผู้ดูแลระบบ เอกสารของ Microsoft 365 admin center ระบุว่าผู้ดูแลระบบ enable, disable, assign, block หรือ remove agent ขององค์กรได้ โดยหน้าเดียวกันบอกว่าความสามารถนี้เปิดใช้เป็นค่าเริ่มต้นในทุก tenant ที่มี license Microsoft 365 Copilot และอธิบายว่าผู้ดูแลระบบดูรายการ agent ที่ถูกแชร์ทั้งหมดแล้วจัดการวงจรชีวิตของมันได้ รวมถึงการ block agent ที่ถูกมองว่าไม่ปลอดภัยหรือไม่เป็นไปตามข้อกำหนด ส่วน agent-365 ถูกวางเป็นชั้นควบคุมกลางสำหรับ agent ทุกตัวขององค์กร ไม่ว่าจะถูกสร้างหรือจัดหามาจากที่ใด
คนทำงานเจอคำนี้สองจังหวะ จังหวะแรกคือตอนใช้งานจริงแล้วต้องรู้ว่าปุ่มอยู่ตรงไหน จังหวะที่สองคือตอนฝ่าย IT ถามว่า "ถ้ามันพัง เราหยุดยังไง" ก่อนอนุมัติให้เอา agent ไปแตะงานจริง ข้อจำกัดที่ต้องเข้าใจก่อนไว้ใจปุ่มนี้คือมันหยุดได้เฉพาะสิ่งที่ยังไม่เกิด งานที่ agent ลงมือไปแล้วก่อนนาทีที่เรากด เช่น อีเมลที่ส่งออกไปแล้ว แถวข้อมูลที่ลบไปแล้ว หรือคำสั่งซื้อที่ยิงเข้าระบบไปแล้ว ไม่ได้ย้อนกลับมาเพราะการกดหยุด ข้อควรระวังคือที่เอกสารของ Anthropic เตือนเรื่อง message buffer นั้นเป็นข้อจำกัดคนละชั้นกัน คือฝั่งโค้ดยังต้องอ่านข้อความของงานเก่าทิ้งเองก่อนสั่งงานใหม่ ไม่ใช่หลักฐานว่าผลที่เกิดขึ้นจริงนอกระบบย้อนกลับไม่ได้ งานที่ลงมือไปแล้วเรียกคืนไม่ได้แบบนี้คือเหตุผลที่การจำกัดสิทธิ์แบบ least-privilege ตั้งแต่แรกสำคัญพอกับการมีปุ่มหยุด เพราะมันกำหนดว่าความเสียหายในไม่กี่นาทีก่อนจะมีคนกดนั้นใหญ่ได้แค่ไหน ฝั่งกฎกติกา eu-ai-act มาตรา 14 เรื่องการกำกับดูแลโดยมนุษย์พูดถึงปุ่มหยุดไว้ตรงตัว โดยกำหนดว่าระบบต้องถูกส่งมอบในลักษณะที่คนซึ่งได้รับมอบหมายให้กำกับดูแลสามารถเข้าแทรกแซงการทำงานของระบบ หรือสั่งหยุดระบบผ่านปุ่ม stop หรือกระบวนการทำนองเดียวกันที่ทำให้ระบบหยุดในสถานะที่ปลอดภัยได้ ข้อควรระวังคืออย่าอ่านเกินตัวบท มาตรานี้ผูกอยู่กับ high-risk AI system ตามที่กฎหมายจัดประเภทไว้ ไม่ได้บังคับระบบ AI ทุกตัว และหัวข้อ 4 เปิดด้วยเงื่อนไขว่าให้จัดให้ "เท่าที่เหมาะสมและได้สัดส่วน" ส่วนกรอบบริหารความเสี่ยง AI ของ NIST หัวข้อ MANAGE 2.4 มองเรื่องเดียวกันในมุมองค์กร คือให้มีกลไกที่ใช้งานได้จริงพร้อมมอบหมายความรับผิดชอบให้ชัดว่าใครมีอำนาจสั่งข้าม สั่งเลิกใช้ หรือปิดระบบ AI ที่ทำงานไม่ตรงกับที่ตั้งใจไว้ แปลว่าปุ่มที่มีอยู่แต่ไม่มีชื่อคนรับผิดชอบกำกับ ยังไม่นับว่าครบตามที่กรอบนี้เขียน
ตัวอย่างจากบทสนทนาจริง
หัวหน้าฝ่ายบริการลูกค้า: เราจะเปิดให้ agent ตอบอีเมลลูกค้าเองช่วงกลางคืน ถ้ามันเริ่มตอบมั่วตอนตีสอง เรากดหยุดเองได้เลยไหมคะ หรือต้องแจ้งผู้ให้บริการแล้วรอ
ทีม IT: กดเองได้ครับ แต่ขอแยกเป็นสองปุ่มให้ชัด ปุ่มแรกคือหยุดงานที่กำลังรันอยู่ตอนนั้น ใครเฝ้าหน้าจออยู่ก็สั่งได้ทันที ปุ่มที่สองคือผมปิดตัว agent ทั้งตัวจากศูนย์ควบคุมของผู้ดูแลระบบ แล้วทั้งบริษัทจะเรียกใช้ไม่ได้จนกว่าเราจะตรวจเสร็จ ที่ต้องเข้าใจตรงกันคืออีเมลที่มันส่งออกไปแล้วก่อนเรากด ไม่ได้ถูกดึงกลับมา ปุ่มหยุดกันได้แค่ฉบับที่ยังไม่ส่ง เพราะงั้นเราควรตั้งเพดานไว้ด้วยว่าคืนหนึ่งให้มันส่งได้กี่ฉบับ
ระวังสับสนกับ
- human-in-the-loop : human-in-the-loop คือการให้คนตัดสินใจก่อน agent ลงมือ เป็นด่านหน้าที่ทำงานตอนยังไม่มีอะไรเกิดขึ้น ส่วน kill switch เป็นด่านหลังที่ใช้ตอนงานเดินไปแล้วและเริ่มออกนอกลู่
- guardrails : guardrails คือกติกาที่กันไม่ให้ agent ทำบางอย่างตั้งแต่แรก และทำงานของมันเองอยู่ตลอดเวลาโดยไม่ต้องมีคนสั่ง ส่วน kill switch คือการตัดจบทั้งงานที่ต้องมีคนเป็นคนกด
- permission-request : การขออนุญาตเป็นรายครั้งยังต้องรอคนกดตอบก่อน agent ถึงจะไปต่อได้ ส่วนปุ่มหยุดออกแบบมาให้สั่งได้ทันทีโดยไม่ต้องรอใครอนุมัติ
Sources (5)
- https://code.claude.com/docs/en/agent-sdk/python fetched 2026-08-15
- https://openai.github.io/openai-agents-python/results/ fetched 2026-08-15
- https://learn.microsoft.com/en-us/microsoft-365/admin/manage/manage-copilot-agents-integrated-apps?view=o365-worldwide fetched 2026-08-15
- https://ai-act-service-desk.ec.europa.eu/en/ai-act/article-14 fetched 2026-08-15
- https://airc.nist.gov/airmf-resources/playbook/manage/ fetched 2026-08-15
อ่านจบแล้วอยากตามเรื่อง AI แบบนี้ต่อทุกวัน เรามีสรุปข่าวภาษาไทยส่งทาง LINE ทุกเช้า กดเพิ่มเพื่อนไว้ได้เลย ไม่มีค่าใช้จ่าย