Mono
รายชื่อรอ

ทำให้ Mac หรือพีซีไม่เข้าโหมดพักเครื่องขณะเอเจนต์เขียนโค้ดทำงาน

ป้องกันไม่ให้ Mac หรือพีซี Windows เข้าโหมดพักเครื่องขณะเอเจนต์เขียนโค้ดทำงานที่ใช้เวลานาน ด้วย caffeinate หรือการตั้งค่าโหมดพัก แล้วคืนค่าเดิมเมื่องานเสร็จ

หากต้องการให้ Mac ไม่พักเครื่องขณะเอเจนต์เขียนโค้ดทำงาน ให้เปิดเทอร์มินัล รัน caffeinate -i แล้วเปิดหน้าต่างนั้นไว้จนกว่างานจะเสร็จ บน Windows 11 ให้ตั้งเวลาเข้าโหมดสลีปขณะเสียบปลั๊กในการตั้งค่าเป็น “ไม่เลย” (Never) แล้วตั้งกลับหลังงานเสร็จ ถ้าเป็นแล็ปท็อป ให้เสียบอะแดปเตอร์ไฟและเปิดฝาไว้

คู่มือนี้ครอบคลุม macOS และ Windows 11 แต่ไม่รวมการใช้แล็ปท็อปแบบปิดฝา Mono by Reunified ทำให้ Mac ไม่พักเครื่องขณะเอเจนต์ทำงานได้ แต่ขั้นตอนเหล่านี้ใช้ได้กับเอเจนต์ทุกตัว

1. รู้ว่าโหมดพักเครื่องส่งผลต่อเซสชันของเอเจนต์อย่างไร

โหมดพักเครื่องหยุดทุกโปรแกรมไว้ชั่วคราว รวมถึงเอเจนต์ และตัดการเชื่อมต่อเครือข่ายของโปรแกรมเหล่านั้น เซสชันอาจกลับมาทำงานต่อได้ไม่สมบูรณ์

  • การพักจอภาพแค่ปิดหน้าจอ โปรแกรมยังทำงานต่อ
  • การพักเครื่องเมื่อไม่ได้ใช้งานจะทำให้คอมพิวเตอร์เข้าโหมดพักเมื่อไม่มีการป้อนข้อมูลมาระยะหนึ่ง เอเจนต์ที่กำลังทำงานไม่นับเป็นการป้อนข้อมูล
  • การปิดฝาแล็ปท็อปมักทำให้เครื่องเข้าโหมดพัก ไม่ว่าจะตั้งเวลาไม่ได้ใช้งานไว้อย่างไร
  • การปิดเครื่องหรือรีสตาร์ตจะทำให้เซสชันจบลง

อย่าหวังว่าโทรศัพท์จะปลุกคอมพิวเตอร์ที่พักเครื่องหรือปิดอยู่ได้

ตัวอย่างสมมติ: ก่อนออกไปกินข้าวเที่ยง คุณปล่อยให้เอเจนต์อัปเกรด dependency และรันการทดสอบในโปรเจกต์ “tidy-recipes” เป็นงานประมาณ 40 นาทีบน MacBook Air ที่เสียบสายไฟอยู่

2. ใช้ caffeinate ให้ Mac ไม่พักเครื่องตลอดงานหนึ่งงาน

caffeinate มีมาในตัว macOS เมื่อใช้กับ -i จะป้องกันการพักเครื่องเมื่อไม่ได้ใช้งานตลอดเวลาที่คำสั่งทำงานอยู่ เมื่อหยุดคำสั่ง การตั้งค่าปกติของคุณจะกลับมามีผล

คำสั่ง ผล
caffeinate -i ไม่พักเครื่องจนกว่าคุณจะหยุดด้วย Control-C
caffeinate -i <command> รันคำสั่งนั้น และไม่พักเครื่องจนกว่าคำสั่งจะจบ
caffeinate -i -t 3600 ไม่พักเครื่องเป็นเวลา 3,600 วินาที (หนึ่งชั่วโมง)
caffeinate -i -w <pid> ไม่พักเครื่องจนกว่าโปรเซสนั้นจะจบ
caffeinate -d เปิดจอภาพค้างไว้

เอเจนต์ของ tidy-recipes ทำงานในแอปเดสก์ท็อป คุณจึงเริ่มเอเจนต์ผ่าน caffeinate ไม่ได้ แต่รัน caffeinate -i -t 3600 แทน คือให้เวลาหนึ่งชั่วโมงสำหรับงาน 40 นาที แล้วเปิดหน้าต่างเทอร์มินัลนั้นทิ้งไว้ คอลัมน์ PID ในแอปตัวตรวจสอบกิจกรรมบอกหมายเลขที่ใช้กับ -w และ man caffeinate แสดงตัวเลือกทั้งหมด

3. เปลี่ยนการตั้งค่าการพักเครื่องของ Mac สำหรับเซสชันที่นานกว่า

ถ้าเอเจนต์ทำงานครั้งละหลายชั่วโมงหรือทำงานทุกวัน ให้เปลี่ยนการตั้งค่าแทน คู่มือการตั้งค่าการพักและปลุกเครื่องของ Apple บอกตำแหน่งไว้ดังนี้:

  • แล็ปท็อป: “การตั้งค่าระบบ > แบตเตอรี่ > ตัวเลือก” แล้วเปิด “ป้องกันไม่ให้พักเครื่องโดยอัตโนมัติเมื่อจอภาพปิดอยู่ขณะใช้อะแดปเตอร์แปลงไฟ”
  • เดสก์ท็อป: “การตั้งค่าระบบ > พลังงาน” แล้วเปิด “ป้องกันไม่ให้พักเครื่องโดยอัตโนมัติเมื่อจอภาพปิดอยู่”

Apple ระบุว่าการป้องกันการพักเครื่องอาจทำให้ใช้พลังงานมากขึ้น ส่วน “พร้อมสำหรับการเข้าถึงผ่านทางเครือข่าย” แค่ให้ Mac ตื่นชั่วครู่เพื่อให้บริการที่แชร์ไว้ ตัวเลือกนี้ไม่ได้ทำให้เอเจนต์ทำงานต่อไปได้

ใน Mono บน Mac เมนู “การตั้งค่า > Code” มี “ไม่ให้เครื่องหลับขณะเอเจนต์ทำงาน” ซึ่งเปิดอยู่โดยค่าเริ่มต้น ตัวเลือกนี้เลื่อนการพักเครื่องเมื่อไม่ได้ใช้งานออกไปจนกว่าเอเจนต์จะทำงานในรอบนั้นเสร็จ การปิดฝายังทำให้ Mac เข้าโหมดพักอยู่ดี ส่วน “ทำงานต่อขณะล็อกหน้าจอ” ซึ่งเปิดอยู่โดยค่าเริ่มต้นเช่นกัน ให้เซสชันที่เปิดอยู่ทำงานต่อได้ขณะที่หน้าจอล็อก Mono ไม่มีการตั้งค่าเรื่องการพักเครื่องบน Windows

4. ทำให้พีซี Windows ไม่เข้าโหมดสลีป

ใน Windows 11 ให้เปิด “เริ่มต้น > การตั้งค่า > ระบบ > พลังงาน & แบตเตอรี่ > การหมดเวลาของหน้าจอ โหมดสลีป & ไฮเบอร์เนต” ตามที่คู่มือการตั้งค่าพลังงานของ Microsoft แสดงไว้ บนเครื่องเดสก์ท็อป หน้านี้อาจชื่อ “พลังงาน” (Power)

ใต้ “ทำให้อุปกรณ์ของฉันเข้าสู่โหมดสลีปหลังจาก” ให้จดค่าตอนเสียบปลั๊กไว้ แล้วตั้งเป็น “ไม่เลย” (Never) หรือเวลาที่นานกว่างานมาก

วันถัดมา คุณรันงานคล้ายกันที่ใช้เวลา 40 นาทีบน “den-pc” ซึ่งเป็นเดสก์ท็อป Windows ที่เข้าโหมดสลีปหลังจาก 30 นาที เวลานี้สั้นกว่างาน คุณจึงจดค่า 30 นาทีไว้แล้วเลือก “ไม่เลย”

หากต้องการตั้งเวลากลับจากเทอร์มินัลในภายหลัง powercfg รับค่าเป็นนาที: powercfg /change standby-timeout-ac 30

5. เตรียมงานยาวที่จะปล่อยให้รันทิ้งไว้

กรอกตารางนี้ก่อนออกไป

สิ่งที่ตรวจ MacBook Air den-pc (Windows)
ไฟและฝาเครื่อง เสียบอะแดปเตอร์ เปิดฝา เดสก์ท็อป เสียบปลั๊ก
สิ่งที่ทำให้ไม่พักเครื่อง caffeinate -i -t 3600 ตั้งโหมดสลีปเป็น “ไม่เลย”
ค่าที่ต้องคืน ไม่มี 30 นาที
ติดตั้งอัปเดตแล้ว ไม่มีการรีสตาร์ตค้างอยู่ ใช่ ใช่
เอเจนต์ทำงานอยู่ ทดสอบการแจ้งเตือนแล้ว ชาร์จโทรศัพท์แล้ว ใช่ ใช่

ดูขั้นตอนแรกของเอเจนต์ไว้ เพื่อไม่ให้งานไปค้างอยู่ที่หน้าขอให้ลงชื่อเข้าใช้หรือติดเพราะขาดเครื่องมือ ตั้งการแจ้งเตือนของเอเจนต์เขียนโค้ดไว้สำหรับตอนที่ทำงานเสร็จหรือรอการอนุมัติ และใช้คู่มือเขียนโค้ดจากระยะไกลเพื่อติดตามงานจากโทรศัพท์

6. คืนค่าการตั้งค่าเมื่องานเสร็จ

  1. หยุด caffeinate ด้วย Control-C หรือปล่อยให้หมดเวลาเอง
  2. ปิดตัวเลือกการพักเครื่องของ Mac ที่คุณเปิดไว้
  3. บน Windows ให้คืนค่าเวลาเข้าโหมดสลีปที่จดไว้ (30 นาทีบน den-pc)

จากนั้นตรวจว่าไม่มีอะไรที่ยังกันไม่ให้คอมพิวเตอร์พักเครื่อง บน Mac ให้รัน pmset -g assertions ในเทอร์มินัล แล้วดูใต้ส่วน “Listed by owning process” ไม่ควรมี caffeinate อยู่ แต่รายการของเสียงหรือของระบบถือเป็นเรื่องปกติ บน Windows ให้รัน powercfg /requests ในเทอร์มินัลที่เปิดในฐานะผู้ดูแลระบบ คำสั่งนี้แสดงแอปและไดรเวอร์ที่ทำให้จอภาพเปิดค้างหรือทำให้คอมพิวเตอร์ไม่พักเครื่อง

สุดท้าย ให้ตรวจการเปลี่ยนแปลงของเอเจนต์ก่อน commit อะไรก็ตาม Mono ยังไม่เปิดให้ใช้ แต่คุณเข้าร่วมรายชื่อรอได้

เขียนโดย

Reunified สร้างแอปที่รวบรวมสิ่งที่กระจัดกระจายกลับมาไว้ด้วยกัน

อ่านเรื่องอื่นต่อ

บทความทั้งหมด

อ่าน 6 นาที

ใช้ Ollama จากมือถือผ่าน Wi-Fi ที่บ้านหรือ VPN

ให้แอปบนมือถือใช้โมเดล Ollama ในคอมพิวเตอร์ของคุณ: เปิดให้เครือข่ายในบ้านเข้าถึง Ollama หา Base URL ทดสอบการเชื่อมต่อ และกันไม่ให้เข้าถึงได้จากอินเทอร์เน็ต

อ่าน 6 นาที

ตั้งการแจ้งเตือนเมื่อเอเจนต์เขียนโค้ดทำงานเสร็จหรือรอการอนุมัติ

รับการแจ้งเตือนเมื่อเอเจนต์เขียนโค้ดทำงานเสร็จ ล้มเหลว หรือรอให้คุณอนุมัติ บนคอมพิวเตอร์หรือโทรศัพท์ แล้วทดสอบให้เรียบร้อยก่อนลุกจากโต๊ะ

เร็ว ๆ นี้

ลงชื่อในรายชื่อรอ

ทิ้งอีเมลไว้ แล้วเราจะแจ้งคุณเมื่อ Mono พร้อมให้ดาวน์โหลด

คุณจะใช้ Mono บนแพลตฟอร์มไหน