บทนำ

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

เลิกเขียนพรอมต์ให้เอเจนต์ แล้วมาออกแบบลูปกันเถอะ

ความต่างตรงนี้คือตัวผลิตภัณฑ์ทั้งหมด พรอมต์ให้คำตอบคุณครั้งเดียว และก็ต่อเมื่อมีใครจำได้ว่าต้องพิมพ์มัน ส่วน ลูป คือทริกเกอร์บวกคำสั่ง มันเริ่มทำงานเอง ทำงานในแซนด์บ็อกซ์คลาวด์ที่แยกอิสระ เปิดเมิร์จรีเควสต์ให้คุณรีวิว จดสิ่งที่เรียนรู้เอาไว้ แล้วพร้อมสำหรับรอบถัดไป

คุณไม่ต้องเปิดแอปหรือวางโค้ดลงในหน้าต่างแชท คุณแค่เชื่อมต่อเครื่องมือที่ทีมใช้อยู่แล้ว แล้วงานก็เริ่มเกิดขึ้นในนั้น

ลูปคือทริกเกอร์บวกคำสั่ง

  • ทริกเกอร์ เป็นได้ทั้ง เหตุการณ์ — พูลรีเควสต์ถูกเปิด อิชชูถูกมอบหมายให้ก็อบลิน — หรือ ตารางเวลา เช่นทุกวันทำการเวลา 07:00
  • คำสั่ง เป็นภาษาคนธรรมดา ไม่ใช่ DSL "รีวิวเมิร์จรีเควสต์นี้ในแง่ความถูกต้องและความปลอดภัย — ชี้ปัญหาจริง ไม่ใช่เรื่องสไตล์" หรือ "ตรวจ acme/web ว่ามีการอัปเกรดดีเพนเดนซีที่ปลอดภัยไหม แล้วเปิดเมิร์จรีเควสต์"

ทุกอย่างที่ TaskGoblin ทำล้วนเป็นหนึ่งในนี้ การรีวิวโค้ดอัตโนมัติคือลูปเหตุการณ์บน พูลรีเควสต์ถูกเปิด การมอบหมายอิชชูแล้วได้เมิร์จรีเควสต์กลับมาคือลูปเหตุการณ์บน อิชชูถูกมอบหมาย การตรวจสุขภาพชุดทดสอบกลางคืนคือลูปตามตารางเวลา 06:00 ไม่มี "ฟีเจอร์ระบบอัตโนมัติ" แยกต่างหากมาแปะข้าง ๆ — ลูปคือหน่วยพื้นฐาน และพฤติกรรมที่ดูเหมือนมีมาในตัวก็ล้วนเป็นลูปที่เป็นของคุณและเขียนใหม่ได้

ถ้าจะอ่านต่ออีกหน้าเดียว ให้อ่าน ลูป

คุณเริ่มต้นโดยมีลูปทำงานอยู่แล้ว

ล็อกอินด้วย GitLab หรือ GitHub แล้ว TaskGoblin จะจัดเตรียมองค์กรให้ เชื่อมต่อ repository และติดตั้งลูปเริ่มต้นของผู้ให้บริการนั้น — รีวิวเมิร์จรีเควสต์ รับอิชชูที่ถูกมอบหมาย เปิดพูลรีเควสต์แล้วมันจะถูกรีวิวก่อนที่คุณจะตั้งค่าอะไรเลย

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

ลูปจริง ๆ หน้าตาเป็นอย่างไร

ลูปเขียนด้วยภาษาคนธรรมดา นี่คือลูปจริงจากคลังเทมเพลต — ยามเฝ้าชุดทดสอบของคุณยามค่ำคืน

ทริกเกอร์ — ทุกวันเวลา 06:00

คำสั่งโคลน acme/web แล้วรันชุดทดสอบทั้งหมดบนแบรนช์เริ่มต้น ถ้ามีอะไรล้มเหลวและการแก้ไขเล็กและปลอดภัย ให้เปิด MR ถ้าไม่ ให้สรุปรายการที่ล้มเหลว ถ้าผ่านหมด ไม่ต้องทำอะไร

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

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

ทำไมลูปถึงรันบนคลาวด์

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

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

จบหนึ่งรอบแล้วได้อะไร

แบรนช์กับเมิร์จรีเควสต์ ที่รีวิวได้เหมือนของเพื่อนร่วมงาน — หรือคอมเมนต์รีวิวแบบอินไลน์ หรือคำตอบในเธรด Slack ที่คุณถาม ไม่ใช่กำแพงข้อความที่คุณต้องไปลงมือทำเองต่อ และไม่มีการคอมมิตลงแบรนช์เริ่มต้นของคุณ

ข้างใต้คือเอเจนต์เขียนโค้ดจริง (Claude Code, Codex หรือ Gemini) ที่มีสำเนา repository ของคุณ อ่านไฟล์ รันคำสั่งและเทสต์ และแก้ปัญหาแบบเดียวกับผู้ร่วมพัฒนาคนหนึ่ง เพราะมันมีตัวตนของตัวเองในทุกเครื่องมือ — @taskgoblin บน GitLab, Slack และ Teams, taskgoblin[bot] บน GitHub — ทั้งทีมจึงมอบงานให้ได้ และทั้งทีมก็เห็นว่ามันทำอะไรไป

ไปต่อที่ไหน

เริ่มที่นี่

สร้างลูปของคุณ

เข้าใจกลไก

การเรียกเก็บเงิน