Weft
TH
บล็อก

AI agent หลายตัวบนบอร์ดเดียว: คู่มือภาคสนาม

วิธีรัน Claude Code, Codex และ ChatGPT บนบอร์ดเดียวโดยไม่ทำงานซ้ำ: สัญญาของ task, การ claim แบบ atomic, lease และคิว review เดียว

Weft คือเครื่องมือจัดการงานด้วย AI สำหรับผู้ก่อตั้งเดี่ยวและทีมเล็ก

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

โดย Andrei Finogeev ·

ได้ AI client สองหรือสามตัวใช้บอร์ดเดียวกันได้ ตราบใดที่บอร์ดเป็นผู้ตัดสินว่าใครเป็นเจ้าของแต่ละ task ใน Weft นั้น Claude Code, Codex และ ChatGPT เชื่อมต่อกับ MCP endpoint เดียวกัน แต่ละตัว claim task ด้วย start_task รักษาไว้ด้วย heartbeat และส่งใบรับงานกลับมา ถ้าสอง client เอื้อมหาการ์ดใบเดียวกัน ตัวที่สองจะได้รับคำตอบ already_claimed และไม่มีใครทำงานซ้ำ

เราเป็นผู้สร้าง Weft ข้อมูลเกี่ยวกับผลิตภัณฑ์อื่นมาจากหน้าทางการของผลิตภัณฑ์นั้น ตรวจสอบเมื่อวันที่ 27 ตุลาคม 2026

คู่มือนี้สำหรับ solo founder หรือทีมเล็กที่รัน AI client สองสามตัว แล้วพวกมันเหยียบเท้ากันอยู่เรื่อย ๆ

เมื่อไหร่ agent ตัวที่สองถึงช่วยได้จริง?

agent มากขึ้นไม่ได้ทำให้งานเร็วขึ้นโดยอัตโนมัติ มันช่วยได้เมื่องานแยกเป็นชิ้นที่ไม่แตะกัน และทำร้ายเมื่อใช้ไฟล์ร่วมกัน ใช้ test database เดียวกัน หรือรอการตัดสินใจที่ยังไม่มีใครทำ

สถานการณ์agent เดียวหรือหลายตัว?เพราะอะไร
ฟีเจอร์เดียวใน repository เดียว ทำเสร็จในรอบเดียวagent เดียว (พร้อม subagent ของมันเองถ้ามี)context เดียวเก็บได้ทุกอย่าง บอร์ดเพิ่มภาระเปล่า ๆ
งานแก้สองชิ้นที่อิสระต่อกัน ในส่วนต่างกันของโค้ดสอง agent แยก branch หรือ worktreeไม่มีไฟล์ร่วมกัน ความเสี่ยงเดียวคือหยิบการ์ดใบเดียวกัน
วางแผนและคัดกรองใน ChatGPT เขียนโค้ดใน agent บน terminalสอง client คนละหน้าที่ChatGPT เขียนและจัดเรียง task ส่วน coding agent claim ไปทำ
หลาย agent รอการตัดสินใจด้านผลิตภัณฑ์เรื่องเดียวกันagent เดียว หลังคุณตัดสินใจแล้วagent ที่ทำขนานกันจะเดาต่างกันคนละแบบ

ถ้าคุณจะไม่ยื่นงานสองชิ้นให้คนสองคนโดยไม่คุยกันก่อน ก็อย่ายื่นให้ agent สองตัว

task ต้องระบุอะไรบ้างก่อนที่ agent จะหยิบไปทำได้?

agent ตีความ task ตามตัวอักษรและแทบไม่ถาม ก่อนการ์ดจะออกจาก Backlog ให้ใส่:

  • ผลลัพธ์เดียวที่ตรวจได้ ไม่ใช่ "ปรับปรุง onboarding" แต่เป็น "เพิ่ม empty state ในหน้า projects พร้อมปุ่มสร้าง"
  • ขอบเขต แตะไฟล์ หน้า หรือระบบไหนได้ และอะไรห้ามแตะ
  • เกณฑ์ว่าเสร็จ test, build หรือ URL ที่แสดงว่าใช้ได้
  • หลักฐานที่ต้องการกลับมา ลิงก์ pull request, commit hash, URL ที่ deploy แล้ว
  • จุดที่ต้องหยุด อะไรก็ตามที่ย้อนกลับไม่ได้ (การเผยแพร่, production, เงิน) ควรจบด้วยคำถามถึงคุณ ไม่ใช่การลงมือ

คอลัมน์เริ่มต้นของ Weft คือ Backlog, Todo, Doing และ Done ธรรมเนียมง่าย ๆ ที่ได้ผลดี: เฉพาะการ์ดใน Todo เท่านั้นที่พร้อมให้ claim ส่วน project ใช้แยก repository หรือลูกค้าหนึ่งรายออกจากที่เหลือ

เกิดอะไรขึ้นเมื่อ agent สองตัวเรียก start_task บนการ์ดใบเดียวกัน?

การย้ายการ์ดไป Doing ไม่ใช่ล็อก: agent สองตัวอ่านการ์ด Todo ใบเดียวกันและเริ่มทั้งคู่ได้ ใน Weft ตัวการ claim เองจึงเป็นล็อก

การเรียก start_task คือการ insert ลงฐานข้อมูลครั้งเดียวที่มี unique index คุม ฐานข้อมูลจึงเป็นผู้ตัดสินว่าใครชนะ ผู้ชนะได้ runId และ leaseToken และการ์ดย้ายไป Doing ผู้แพ้ได้ already_claimed พร้อม id ของ task ชื่อ และคำแนะนำว่าอย่าทำงานซ้ำ ไม่สำคัญว่า client ตัวหนึ่งเป็น agent บน terminal และอีกตัวเป็นแอปแชต

สำหรับ agent แล้ว already_claimed คือคำตอบปกติ ไม่ใช่ error สิ่งที่ควรทำคือเรียก get_my_work อีกครั้งแล้วรับการ์ดใบถัดไป เราอธิบาย loop ทั้งหมดไว้ใน loop ของการ claim, heartbeat และใบรับงาน

heartbeat และ lease 20 นาทีทำงานอย่างไร?

การ claim คือ lease ไม่ใช่การมอบหมายถาวร start_task ให้ lease 20 นาที และบอก agent ให้ต่ออายุทุก 300 วินาที agent ต่ออายุด้วยการเรียก report_progress พร้อม runId และ leaseToken ถ้าระหว่างนั้น agent เสีย lease ไปแล้ว การเรียกจะคืน lease_lost และมันควรหยุด ไม่ใช่แก้ไขต่อ

เมื่อ session ตาย ไม่มีใครเหลือให้บอก ความเงียบคือสัญญาณเดียวที่บอร์ดได้รับ Weft จึงถือความเงียบเป็นสัญญาณ:

  • หลัง 20 นาทีที่ไม่มี heartbeat run จะถูกทำเครื่องหมายว่า stale token ถูกล้าง และ task กลับไปไม่มีผู้รับ
  • มีการกวาดทุก 10 นาที และ task ที่ stale จะถูกปลดทันทีเมื่อ client อื่นพยายาม claim
  • ระหว่างที่ agent รอคำตอบจากคุณ มันถือ task ไว้ได้ 60 นาที หลังจากนั้น lease จะหลุด แต่คำถามยังเปิดอยู่

heartbeat คือ tool call task 40 นาทีที่มี heartbeat ทุก 5 นาทีใช้การเรียกไปราว 8 ครั้ง และ Free มี 200 ครั้งต่อเดือน agent สามตัวที่ทำงานทุกวันจึงใช้เกินแน่นอน Pro ไม่มีเพดานการเรียก

บอร์ดรู้ได้อย่างไรว่า agent ไหนทำอะไร?

OAuth client ทุกตัวที่ sign in เข้า Weft เป็น actor ของตัวเอง Claude Code, Codex และ ChatGPT ลงทะเบียนแยกกัน และบอร์ดแสดงชื่อที่แต่ละ client ลงทะเบียนไว้ ทุกเหตุการณ์ในประวัติบันทึกว่า client ไหนเป็นผู้ทำ

client ที่ไม่รองรับ OAuth ใช้ personal access token ได้ token แต่ละตัวก็เป็น actor ของตัวเอง แต่ token ไม่มี scope (access token) สิทธิ์ตั้งได้ต่อการเชื่อมต่อ OAuth:

  • full (ค่าเริ่มต้น): ทั้ง 32 tool
  • write: ทุกอย่างยกเว้น tool ทำลายข้อมูลสามตัว (trash, archive, complete sprint)
  • read: เฉพาะ tool อ่านอย่างเดียว 11 ตัว

การแบ่งที่สมเหตุสมผล: coding agent ใช้ write อะไรที่ยังทดลองอยู่ใช้ read การตัดการเชื่อมต่อ client ตัวหนึ่งจะเพิกถอน token ของมันโดยไม่กระทบตัวอื่น Weft ออก refresh token ให้ client ที่เชื่อมต่อต่ออายุการ sign-in เองได้

ตัวตนบนบอร์ดไม่ใช่การแยกบนดิสก์ agent สองตัวที่ชื่อต่างกันยังเขียนทับกันได้ใน checkout เดียว ให้ coding agent แต่ละตัวมี branch หรือ worktree ของตัวเอง

งานที่เสร็จไปอยู่ที่ไหน และรอคุณได้มากแค่ไหน?

ค่าเริ่มต้นคือ task ที่เสร็จจะไปที่ Done ทันที แต่จะหยุดใน Inbox แทนเมื่อ task ต้อง review หรือเมื่อการตรวจสอบไม่ผ่าน ตรงนั้นคุณเลือก Accept, Rework, Later หรือ Drop โดย Rework ต้องใส่โน้ต คำถามจาก request_input เข้า Inbox เดียวกันและเข้ามือถือเป็น push คุณจึงมีที่เดียวให้ดู ไม่ว่า agent ตัวไหนเป็นคนถาม

ใบรับงานจาก complete_task มี outcome, artifacts ที่ตรวจได้, สิ่งที่ไม่ได้ทำ, unknowns และ nextStep โดย nextStep แสดงเหนือปุ่ม Accept การ accept จึงเป็นการอนุมัติขั้นนั้นขั้นเดียว อ่านเพิ่มใน AI agent ของฉันทำอะไรไปบ้าง

Inbox มีขีดจำกัด และเมื่อมีหลาย agent คุณจะเจอมัน รับได้ 5 รายการใน workspace คนเดียว และ 10 รายการในทีม หรือ review โดยประมาณ 45 นาที แล้วแต่อย่างไหนถึงก่อน คำถามก็นับด้วย เมื่อเต็ม start_task จะปฏิเสธด้วย attention_queue_full และบอก agent ว่ายังทำอะไรได้ เช่น รายงานความคืบหน้าหรืออ่านบอร์ด agent สามตัวผลิตงานได้เร็วกว่าที่คนหนึ่งคนจะ review ทัน ขีดจำกัดนี้กันไม่ให้มันกองผลลัพธ์ที่คุณจะไม่มีวันได้อ่าน

อะไรพังได้บ้าง และกู้คืนอย่างไร?

ความล้มเหลวสิ่งที่คุณเห็นสิ่งที่ Weft ทำสิ่งที่คุณทำ
สอง client เริ่ม task เดียวกันการ์ดหนึ่งใบใน Doing และ client หนึ่งตัวได้รับ already_claimedฐานข้อมูลให้ claim เดียวชนะ อีกตัวถูกปฏิเสธไม่ต้องทำอะไร ถ้า agent ที่แพ้ไปทำอย่างอื่น ถ้ามันยังทำต่อ ให้คุมคำสั่งของมันให้แน่นขึ้น
session crash หรือแล็ปท็อป sleepการ์ดใน Doing ที่ไม่มีความคืบหน้าหลัง 20 นาทีที่ไม่มี heartbeat run จะ stale และ task กลับไปไม่มีผู้รับตรวจ branch ว่ามีงานค้างครึ่ง ๆ กลาง ๆ ไหม ก่อน agent ตัวอื่นจะหยิบไป
agent ทำเสร็จแต่ไม่เคยเรียก complete_taskงาน merge แล้ว แต่การ์ดยังอยู่ใน Doinglease หมดอายุ task ถูกปลด ไม่ใช่ถูกปิดปิดเอง หรือให้ agent complete มันพร้อมหลักฐาน
agent ต้องการการตัดสินใจที่มีแต่คุณทำได้คำถามใน Inbox อาจมี push ด้วยclaim ถูกเก็บไว้ 60 นาที คำตอบไปถึง agent ตอน start_task หรือ get_my_work ครั้งถัดไปตอบด้วยตัวเลือกที่มันให้มา
มีงานรอคุณมากเกินไปInbox เต็มstart_task ปฏิเสธด้วย attention_queue_fullreview หรือตัดรายการทิ้ง agent จะเริ่มงานได้อีกเมื่อคิวลดลง
agent สองตัวแก้ checkout เดียวกันการเปลี่ยนแปลงที่ไม่เกี่ยวกันปนอยู่ใน diff เดียวไม่ทำอะไร Weft มองไม่เห็นไฟล์ของคุณแยก worktree หรือ branch ก่อนรัน agent แบบขนาน

ตั้งค่า client สองหรือสามตัวอย่างไร?

ทั้งสามเชื่อมต่อกับ endpoint เดียวกัน และ sign in ผ่านเบราว์เซอร์ ไม่มี key ให้คัดลอก

# Claude Code
claude mcp add --transport http weft https://letsweft.com/api/mcp

# Codex: add to ~/.codex/config.toml, then sign in
[mcp_servers.weft]
url = "https://letsweft.com/api/mcp"

codex mcp login weft

ChatGPT เชื่อมต่อผ่านแอป Weft ใน directory ของมัน ทุกแพ็กเกจรวมถึง Free หน้าขั้นตอนทีละขั้น: Claude Code, Codex, ChatGPT, Cursor (ติดตั้งคลิกเดียว) การ sign in เป็นไปตาม MCP authorization spec

ChatGPT ทำงานเป็นรอบ: มันลงมือขณะที่คุณอยู่ในบทสนทนา เหมาะกับการวางแผน เขียน task และตอบคำถาม การรันเขียนโค้ดยาว ๆ เหมาะกับ agent บน terminal มากกว่า เพราะ heartbeat ทุกไม่กี่นาทีต้องการ session ที่รันต่อเนื่อง

ทดลองหนึ่งสัปดาห์หน้าตาเป็นอย่างไร?

  1. วันที่ 1: เชื่อมต่อสอง client Claude Code กับ Codex หรือ coding agent หนึ่งตัวบวก ChatGPT ให้ coding agent ใช้สิทธิ์ write
  2. วันที่ 1–2: เขียน task ห้าถึงสิบชิ้นตามสัญญาข้างต้น ผลลัพธ์เดียว ขอบเขต เกณฑ์ว่าเสร็จ หลักฐาน ทิ้งไว้ใน Todo ถ้ามี task อยู่ใน Linear, Jira, Notion หรือ Trello แล้ว ให้นำเข้าก่อน การนำเข้าฟรีทุกแพ็กเกจ
  3. วันที่ 2–5: รันทั้งสอง agent บนคิว Todo เดียวกัน แต่ละตัวใน worktree ของตัวเอง และสั่งให้ claim ด้วย start_task และปิดด้วย complete_task พร้อม artifacts
  4. วันที่ 5: ทดสอบความล้มเหลวโดยตั้งใจ ชี้ทั้งสอง agent ไปที่การ์ดใบเดียวกันแล้วดูตัวหนึ่งได้ already_claimed ฆ่า session หนึ่งกลาง task แล้วตรวจว่าการ์ดว่างอีกครั้งหลัง 20 นาที
  5. วันที่ 7: ตรวจสอบจากบอร์ดอย่างเดียว มี task ไหนรันซ้ำหรือค้างใน Doing หลังเสร็จไหม? คุณตรวจผลลัพธ์ทุกชิ้นจาก artifacts ได้ไหม? แก้ template ของ task ก่อนเพิ่ม agent ตัวที่สาม

เทียบกับแนวทางของ Hypertask อย่างไร?

โมเดล lease ของ Hypertask มีเหตุผล: claim, heartbeat, release พร้อมวันหมดอายุ ความต่างคือโมเดลนั้นอยู่ที่ไหน เอกสารของ Hypertask ระบุ task lease, evidence และ escalation เป็น REST endpoint เท่านั้นโดยตั้งใจ และ tools reference ของเขามี 21 MCP tool ที่ไม่มี lease tool (ภาพรวม MCP) ใน Weft การ claim, heartbeat, คำถาม และใบรับงานเป็น MCP tool MCP client ตัวไหนก็ใช้ได้โดยไม่ต้องเขียนโค้ดเพิ่ม

WeftHypertask
Claim และ leaseอยู่ใน MCP: start_task, report_progress (lease 20 นาที)REST endpoint เท่านั้นโดยตั้งใจ (เอกสาร)
MCP tool3221 (เอกสาร)
Sign-inOAuth ผ่านเบราว์เซอร์พร้อม refresh token มี personal access token เป็นทางเลือกการตั้งค่าตามเอกสารคือ API key ที่คัดลอกมาซึ่งหมดอายุใน 30 วัน การเชื่อมต่อที่อนุมัติผ่านเบราว์เซอร์อยู่ได้ 90 วันโดยไม่มี refresh (เอกสาร)
ตัวตนของ agentOAuth client หรือ token แต่ละตัวเป็น actor ของตัวเองagent เป็น service account ที่มีตัวตนของตัวเอง
เส้นทาง ChatGPTแอปที่เผยแพร่แล้วใน directory ของ ChatGPT ทุกแพ็กเกจรวมถึง Freecustom GPT ที่ใช้ OpenAPI Actions หรือ custom connector ผ่าน developer mode ตามที่ Hypertask ระบุ (เอกสาร)
CLI และ REST APIไม่มีCLI บน npm และ REST API (เอกสาร)
แอปมือถือiOS และ Androidไม่มีแอป iOS แบบ native (เว็บแอปบนหน้าจอโฮม) ไม่มีใน Google Play (เอกสาร)
ภาษา27อังกฤษเท่านั้น
ราคาต่อที่นั่งFree: 50 task, AI call 200 ครั้งต่อเดือน Pro: $7 ต่อเดือน หรือ $60 ต่อปีFree: 3 บอร์ดต่อคน BYOK $8 รายปี / $10 รายเดือน Pro $16 รายปี / $20 รายเดือน (ราคา)
AI creditไม่ต้องใช้: การคิดเกิดขึ้นใน AI client ของคุณเองมี AI ในตัว แพ็กเกจ BYOK ใช้ model key ของคุณเอง

Hypertask เป็นตัวเลือกที่ดีกว่าถ้า agent ของคุณรันจาก script หรือ CI และคุณต้องการ CLI กับ REST API ถ้าคุณอยากให้ agent เป็น service account ที่จัดการเหมือนผู้ใช้ หรือถ้าคุณอยากได้ AI ในตัว (เขียน task, smart labels, triage) ความเร็วแบบเน้นคีย์บอร์ด และการจับเวลา Weft ไม่มี CLI ไม่มี REST API ไม่มี webhook และไม่มี integration กับ GitHub หรือ Slack Weft เหมาะเมื่อ agent ของคุณคือ MCP client ที่ใช้อยู่แล้ว รวมถึง ChatGPT และคุณอยากตอบพวกมันจากมือถือ

ถ้าต้องการการเปรียบเทียบที่กว้างกว่านี้ ดู เปรียบเทียบ MCP task managers และ ทางเลือกแทน Hypertask

agent ของฉันต้องคุยกันเองไหม?
ไม่ต้อง พวกมันประสานงานผ่านบอร์ด: การ claim ใบรับงาน และคำถาม Weft ไม่เคยเรียก agent แต่ละตัวดึง task ถัดไปเองด้วย get_my_work
agent ที่ crash จะทิ้ง task ค้างใน Doing ตลอดไปไหม?
ไม่ หลัง 20 นาทีที่ไม่มี heartbeat run จะถูกทำเครื่องหมายว่า stale และ task กลับไปไม่มีผู้รับ client อื่นจึง claim ได้ ตรวจ branch ว่ามีงานค้างครึ่งทางก่อน
agent สามตัวจะทำให้ฉันจมกับการ review ไหม?
Inbox จำกัดไว้ที่ 5 รายการสำหรับคนเดียว (10 สำหรับทีม) หรือ review 45 นาที เมื่อเต็ม agent จะเริ่ม task ใหม่ไม่ได้ task ที่เสร็จส่วนใหญ่ไปที่ Done ทันที
รันหลาย agent แพงขึ้นไหม?
Weft คิดเงินต่อที่นั่ง ไม่ใช่ต่อ agent: Pro ราคา $7 ต่อเดือน หรือ $60 ต่อปีต่อคน แพ็กเกจ Free จำกัด AI call ไว้ที่ 200 ครั้งต่อเดือน ซึ่ง heartbeat จากหลาย agent ใช้หมดเร็ว ดูราคา