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

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

สกิลคือที่เก็บวิธีทำงาน เราเขียนไว้ครั้งเดียวว่างานนี้ต้องทำอย่างไร ต้องใช้ไฟล์อะไรบ้าง และผลลัพธ์ควรมีหน้าตาแบบไหน จากนั้นก็นำกลับมาใช้ซ้ำเพื่อให้ได้ผลลัพธ์ในรูปแบบเดิมทุกครั้ง แทนที่จะขึ้นอยู่กับว่าวันนั้นพิมพ์คำสั่งละเอียดแค่ไหน
งานตั้งเวลา คืออีกส่วนหนึ่ง ใช้กำหนดว่าจะให้นำวิธีนั้นมาทำเมื่อไร บ่อยแค่ไหน แล้วรันในพื้นหลังโดยไม่ต้องมีใครกดเริ่ม ผลลัพธ์ของแต่ละรอบจะไปรวมอยู่ในหน้า Scheduled ซึ่งใช้ดูสถานะของงานที่ตั้งไว้ทั้งหมด ทั้งงานที่กำลังทำอยู่ หยุดพัก หรือจบไปแล้ว
สาเหตุที่ตั้งค่าแล้วแต่ยังรู้สึกว่าไม่ได้ช่วยมาก มักเป็นเพราะใช้เพียงอย่างใดอย่างหนึ่ง ถ้ามีแค่สกิลก็ยังต้องเปิดแอปมาเรียกใช้เอง แต่ถ้าตั้งเวลาไว้โดยไม่มีวิธีทำงานกำกับ ก็ต้องใส่บริบทเดิมลงในคำสั่งของงานทุกครั้ง เมื่อนำสองอย่างนี้มาใช้ร่วมกัน ระบบจึงทำงานได้เองตั้งแต่ต้นจนจบ
คู่มือของทั้งสองระบบระบุว่าใช้ร่วมกันได้ และแนะนำให้ใช้สกิลกำหนดว่างานตั้งเวลาต้องทำอะไร รวมถึงเตรียมเครื่องมือและบริบทที่จำเป็นไว้ให้ วิธีนี้ทำให้งานที่ตั้งไว้ดูแลต่อได้ง่ายขึ้น และส่งต่อให้คนอื่นในทีมใช้ได้ด้วย นอกจากนี้ สกิลยังสั่งสร้างหรือแก้งานตั้งเวลาได้เอง เช่น สกิลที่คอยติดตามงานที่ส่งไปรอรีวิว อาจตั้งงานประจำให้คอยเช็กสถานะและแก้ไขตามคอมเมนต์ที่ได้รับ
สกิลตัวหนึ่งเล็กได้แค่ไหนถึงจะยังใช้ได้
โครงสร้างขั้นต่ำของ สกิล มีเพียงไม่กี่อย่าง สกิลแต่ละตัวคือหนึ่งโฟลเดอร์ ภายในต้องมีไฟล์ชื่อ SKILL.md และระบุ name กับ description ไว้ที่ส่วนหัวของไฟล์ เพียงเท่านี้ก็เป็นสกิลที่ใช้งานได้แล้ว ส่วนอื่นเป็นตัวเลือก จะเพิ่มภายหลังเมื่องานจำเป็นต้องใช้ก็ได้
my-skill/
SKILL.md ต้องมี วิธีทำงานและข้อมูลกำกับ
scripts/ ไม่บังคับ โค้ดที่สั่งรันได้
references/ ไม่บังคับ เอกสารประกอบ
assets/ ไม่บังคับ เทมเพลตและไฟล์ที่ต้องหยิบไปใช้
agents/openai.yaml ไม่บังคับ หน้าตาที่แสดงในแอปและเครื่องมือที่สกิลนี้ต้องพึ่ง
ไฟล์ SKILL.md มีโครงสร้างเรียบง่าย ส่วนหัวคั่นด้วยเส้นสามขีดด้านบนและด้านล่าง ภายในระบุชื่อกับคำอธิบาย ส่วนข้อความใต้เส้นล่างคือคำสั่งที่บอกวิธีทำงาน
---
name: skill-name
description: Explain exactly when this skill should and should not trigger.
---
Skill instructions for ChatGPT or Codex to follow.
ถ้าไม่อยากเริ่มจากไฟล์เปล่า ก็มีตัวช่วยสร้างสกิลมาให้แล้ว ใน ChatGPT Work เรียกด้วย @skill-creator ส่วนใน Codex เรียกด้วย $skill-creator ระบบจะถามว่าสกิลนี้ทำอะไร ควรทำงานตอนไหน และต้องมีโค้ดให้รันด้วยไหม โดยค่าเริ่มต้นจะมีเพียงข้อความสั่งงาน ไม่มีโค้ด จึงเหมาะกับงานเอกสารและงานสรุปที่คนทำงานทั่วไปต้องทำทุกสัปดาห์
สกิลสร้างตามมาตรฐานกลางที่ชื่อ agent skills และถ้าอยากดูของจริงที่เขียนเสร็จแล้วก่อนลงมือเขียนเอง มีตัวอย่างรวมไว้ที่ openai/skills
คำอธิบายสั้นๆ ที่เขียนกำกับไว้ คือสิ่งที่ระบบใช้ตัดสินใจ

ระบบไม่ได้อ่านเนื้อหาของสกิลทุกตัวเก็บไว้ล่วงหน้า ตอนเริ่มงาน ChatGPT กับ Codex จะเห็นเพียงชื่อและคำอธิบายของแต่ละสกิล หลังจากตัดสินใจว่าจะใช้ตัวไหน จึงค่อยโหลดวิธีทำงานทั้งหมดใน SKILL.md มาอ่าน วิธีนี้เรียกว่าการเปิดข้อมูลทีละส่วน และส่งผลโดยตรงต่อการเขียนสกิล
ดังนั้น ต่อให้เขียนวิธีทำงานไว้ละเอียดแค่ไหน ก็ไม่ได้ช่วยให้ระบบเลือกสกิลนั้น เพราะตอนตัดสินใจ ระบบยังไม่เห็นเนื้อหาส่วนนี้ ข้อมูลที่ใช้เลือกมีเพียงชื่อกับคำอธิบายไม่กี่บรรทัด
การเรียกใช้สกิลมีสองแบบ แบบแรกคือเลือกสกิลเอง ใน ChatGPT ให้พิมพ์ @ แล้วเลือกสกิลที่ต้องการ ส่วนใน Codex CLI หรือส่วนขยายใน IDE ให้ใช้ /skills หรือพิมพ์ $ แล้วเรียกชื่อสกิล แบบที่สองคือปล่อยให้ระบบเลือกเอง โดยระบบจะนำงานที่กำลังทำไปเทียบกับคำอธิบายของแต่ละสกิล แล้วเลือกตัวที่ตรงกับงานมาใช้
การเรียกใช้แบบที่สองทำให้ต้องใส่ใจกับการเขียนคำอธิบายเป็นพิเศษ คู่มือแนะนำให้เขียนสั้น ระบุขอบเขตให้ชัดว่าสกิลนี้ใช้กับงานใดและไม่ใช้กับงานใด พร้อมวางคำสำคัญและกรณีใช้งานหลักไว้ต้นประโยค เพราะถ้าคำอธิบายโดนย่อลง ส่วนที่เหลือจะยังมีข้อมูลพอให้ระบบจับคู่กับงานได้
ตั้งงานได้จากช่องทางไหนบ้าง และแต่ละที่ทำได้ไม่เท่ากัน
ก่อนจะไปตั้งค่า ต้องรู้ก่อนว่าหน้าจอสำหรับสร้างและจัดการงานตั้งเวลาไม่ได้มีให้ทุกช่องทาง และแต่ละช่องทางเข้าถึงไฟล์ในเครื่องได้ไม่เท่ากัน ถ้าข้ามข้อจำกัดพวกนี้ไป ก็จะตั้งค่าเสร็จแล้วมางงทีหลังว่าทำไมระบบทำสิ่งที่คาดไว้ไม่ได้
| ช่องทาง | สร้างและจัดการงานตั้งเวลา | บทบาทกับไฟล์ในเครื่อง |
|---|---|---|
| ChatGPT แอปบนเครื่อง | ได้ ดูงานทั้งหมดที่หน้า Scheduled | ทำงานกับโปรเจกต์ในเครื่องได้ รันในโฟลเดอร์โปรเจกต์หรือในสำเนาที่แยกไว้ต่างหาก |
| ChatGPT บนเว็บ | ได้ เมื่อ workspace เปิดใช้งานไว้ | แตะโฟลเดอร์ในเครื่องไม่ได้ ใช้ได้แค่ไฟล์ที่อัปโหลด เครื่องมือที่ต่อไว้ สกิล และปลั๊กอินของแชทนั้น |
| Codex CLI | ไม่มีหน้าจัดการงานตั้งเวลาให้ ต้องไปสร้างที่เว็บหรือแอปบนเครื่อง | ใช้เตรียมและทดสอบคำสั่ง สกิล หรือสคริปต์ก่อนเอาไปตั้ง |
| ส่วนขยายใน IDE | ไม่มีหน้าจัดการงานตั้งเวลาให้ เหมือนกับ CLI | ใช้เตรียมและทดสอบคำสั่ง สกิล หรือการแก้ในเวิร์กสเปซก่อนเอาไปตั้ง |
ส่วนงานที่ตั้งไว้บนเว็บมีข้อจำกัดต่างออกไป ระบบไม่สามารถเก็บโฟลเดอร์ในเครื่องไว้ใช้ระหว่างรอบได้ สิ่งที่ต้องใช้จึงควรอยู่ในแหล่งที่ระบบเข้าถึงได้เองทุกรอบ เช่น ไฟล์ที่อัปโหลดไว้ บริการที่เชื่อมต่อไว้ หรือข้อมูลที่เขียนไว้ในคำสั่งของงานและสกิลที่แนบมาด้วย
ถ้าโปรเจกต์ใช้ระบบเก็บเวอร์ชันแบบ Git ยังเลือกได้ว่าจะให้งานตั้งเวลารันในโปรเจกต์โดยตรงหรือรันในสำเนาที่แยกไว้ การใช้สำเนาจะช่วยไม่ให้ไฟล์ที่งานตั้งเวลาแก้ไขปะปนกับงานที่เราทำค้างอยู่ ส่วนการรันในโปรเจกต์โดยตรงอาจแก้ไฟล์ที่เรากำลังเปิดทำงานอยู่ได้ สำหรับโปรเจกต์ที่ไม่ได้ใช้ระบบเก็บเวอร์ชัน งานตั้งเวลาจะรันในโฟลเดอร์โปรเจกต์เสมอ
แบบเดี่ยวกับแบบอยู่ในแชท เลือกให้ตรงกับงาน
เมื่อเลือกช่องทางได้แล้ว ยังต้องเลือกรูปแบบของงานตั้งเวลาอีกขั้น งานตั้งเวลามีสองแบบ และแต่ละแบบให้ผลต่างกันมาก
แบบเดี่ยวจะเปิดแชทใหม่ทุกรอบโดยใช้คำสั่งที่บันทึกไว้ แล้วรายงานผลกลับมาที่หน้า Scheduled ซึ่งทำหน้าที่เหมือนกล่องขาเข้า ถ้ารอบไหนมีผลลัพธ์ให้ดู ก็จะแสดงจุดแจ้งเตือน แบบนี้เหมาะกับงานที่แต่ละรอบควรแยกจากกัน หรืองานเดียวที่ต้องรันกับหลายโปรเจกต์
ส่วนแบบที่ตั้งไว้ในแชทจะกลับมาทำงานในแชทเดิม และใช้บริบทจากบทสนทนาที่มีอยู่ต่อได้ทันที แทนที่จะเริ่มใหม่ทุกรอบ แบบนี้เหมาะกับงานที่ต้องติดตามต่อเนื่อง เช่น เฝ้าดูงานที่รันเป็นเวลานานจนกว่าจะเสร็จ ดึงความเคลื่อนไหวจากบริการที่เชื่อมต่อไว้มาเก็บในแชทเดียวกัน หรือเตือนให้กลับมาตรวจงานตามเวลาที่กำหนด
ความถี่ที่ตั้งได้ก็ต่างกัน แบบที่อยู่ในแชทตั้งให้แต่ละรอบห่างกันเพียงไม่กี่นาทีได้ ถ้าต้องติดตามอย่างใกล้ชิด หรือจะตั้งเป็นรายวันและรายสัปดาห์เพื่อให้ตรวจตามเวลาที่กำหนดก็ได้ ส่วนแบบเดี่ยวเลือกความถี่ได้จากตารางเวลาที่มีให้ ถ้าต้องการตารางที่ซับซ้อนกว่านั้น เช่น ทุกวันที่ 1 ของเดือน ตอนเก้าโมงเช้า ก็แก้ตารางเวลาได้โดยตรง
เมื่อตั้งงานไว้ในแชท ควรเขียนคำสั่งให้ใช้ซ้ำได้หลายรอบ โดยระบุว่าแต่ละรอบต้องทำอะไร ใช้เกณฑ์ใดตัดสินว่าเรื่องไหนควรรายงาน และตอนไหนควรหยุดหรือย้อนกลับมาถามก่อน
ลำดับที่ทำตามได้ในวันเดียว
- เลือกงานที่ทำซ้ำอยู่แล้ว และผลลัพธ์หน้าตาเหมือนเดิมทุกครั้ง งานแบบนี้คุ้มที่จะตั้งเวลา เพราะทำบ่อยจนเห็นเวลาที่ประหยัดได้อย่างชัดเจน และถ้ารอบไหนได้ผลลัพธ์ไม่ดี ความเสียหายก็ยังอยู่ในวงจำกัด
- ลองสั่งด้วยมือในแชทปกติก่อน คู่มือระบุชัดว่าต้องทำขั้นนี้ก่อนนำงานไปตั้งเวลา จากนั้นตรวจสามอย่าง ได้แก่ คำสั่งชัดเจนและกำหนดขอบเขตงานแคบพอหรือยัง โมเดล ระดับการคิด และเครื่องมือที่เลือกไว้ทำงานอย่างที่คาดไว้ไหม และผลที่ออกมาตรวจสอบได้จริงไหม
- เอาคำสั่งที่ใช้ได้แล้วไปเก็บเป็นสกิล เมื่อถึงขั้นนี้ เราจะรู้ว่าต้องเขียนอะไรลงไปบ้างจากคำสั่งที่เพิ่งทดลองใช้ เขียนคำอธิบายให้ตรงกับกรณีที่ต้องการให้สกิลทำงาน แล้ววางคำที่บ่งบอกลักษณะงานไว้ต้นประโยค
- ตั้งเวลาเป็นขั้นสุดท้าย เลือกว่าจะใช้แบบเดี่ยวหรือแบบอยู่ในแชท แล้วตั้งความถี่ให้ตรงกับรอบงานจริง ถ้าไม่อยากให้ระบบเลือกสกิลผิดตัว ก็ระบุสกิลที่ต้องการลงในคำสั่งของงานได้โดยตรง ในแอป ChatGPT บนเครื่อง ด้วยการพิมพ์
$แล้วตามด้วยชื่อสกิล - ตรวจผลลัพธ์ในช่วงแรกก่อนปล่อยให้ทำงานเอง คู่มือแนะนำให้ตรวจผลลัพธ์ในสองสามรอบแรก แล้วค่อยปรับคำสั่ง เครื่องมือ หรือความถี่ ถ้าผลที่ได้กว้างเกินไปหรือยังขาดบริบทบางอย่าง
ตัวอย่างในคู่มือใช้ลำดับนี้ทุกขั้น เริ่มจากสร้างสกิลชื่อ recent-code-bugfix เพื่อค้นหาและแก้จุดผิดที่เกิดจากงานซึ่งเจ้าของบัญชีเพิ่งแก้ในสัปดาห์นั้น จากนั้นจึงตั้งงานประจำให้เรียกสกิลนี้ทุกวัน โดยตรวจเฉพาะงานที่แก้ในช่วง 24 ชั่วโมงล่าสุด สกิลกำหนดว่าต้องทำอะไรและทำอย่างไร ส่วนงานตั้งเวลากำหนดว่าต้องทำเมื่อไร เมื่อเขียนไว้ครั้งเดียว รอบต่อไปก็ไม่ต้องพิมพ์คำสั่งใหม่
ถ้าเคยตั้งงานไว้แล้ว ยังมีอีกเรื่องที่ต้องตรวจ งานตั้งเวลาที่ใช้ gpt-5.4 หรือ gpt-5.4-mini ผ่านการล็อกอินด้วยบัญชี ChatGPT มีกำหนดปลดระวางวันที่ 31 สิงหาคม 2026 คู่มือระบุให้ปรับงานเหล่านั้นก่อนถึงวันนั้น โดยเปลี่ยนจาก gpt-5.4 เป็น gpt-5.6-terra และเปลี่ยนจาก gpt-5.4-mini เป็น gpt-5.6-luna
ที่มา:
- เอกสารทางการของ Scheduled tasks
- เอกสารทางการของ Build skills
ชอบเรื่องแนวนี้ มีอีบุ๊คฟรีให้อ่านต่อ
Vibe Coding สำหรับคนไม่ใช่โปรแกรมเมอร์ ใช้ Claude Code สร้าง landing page, mini app และ prototype จริงโดยไม่ต้องเขียนโค้ด
กดสมัครแล้วเราจะส่งเทคนิค AI และของแจกใหม่ๆ ให้ทางอีเมล เลิกรับได้ตลอด
Vibecoding · The Developer's Playbook

ฉบับภาษาไทย 10 บท พา dev สร้าง Personal Finance Tracker (LINE OA + AI จัดหมวดอัตโนมัติ) ตั้งแต่โครงโปรเจกต์บรรทัดแรกจนแอปทำงานจริงบน server


