เห็นบิล Muse Code มีทั้ง subscription และ pay-as-you-go ในใบเดียวแล้วงง เป็นเรื่องปกติ เพราะ Meta ขายการใช้งานสองทางแยกกัน และเราใช้ปนกันได้โดยไม่รู้ตัว บทความนี้สรุปความต่างของสองทาง เงื่อนไขของโมเดล contributor และวิธียืนยันว่าเซสชันของเรากำลังใช้ทางไหน

สรุปสำหรับผู้บริหาร

  • บิลมีสองยอดเพราะใช้สองช่องทางปนกัน ไม่ใช่บั๊ก
  • ท้ายชื่อโมเดล contributor บอกเงื่อนไข data-use ไม่ใช่วิธีคิดเงิน อย่าสับสนกับบรรทัด BILLING
  • ตัวแปร META_API_KEY มี priority เหนือ login เสมอ มีค้างไว้ login จะไม่มีผลโดยไม่เตือน
  • ก่อนโทษว่าบิลผิด ตรวจ env ก่อนเสมอ แล้วดูยอดจริงที่ dashboard ของ Meta

สองทางคิดเงิน

Subscription คือเหมาจ่ายรายเดือน มีสามระดับคือ Everyday $5 High $15 และ Power $50 โดยนับเป็นจำนวน request ต่อ 5 ชั่วโมง ไม่ได้นับ token เหมาะกับใช้งานโต้ตอบผ่าน Muse Code CLI แบบ login ตรง จึงคุมค่าใช้จ่ายรายเดือนได้ง่ายกว่า

Pay-as-you-go คือจ่ายตามใช้จริงผ่าน Meta Model API คิดราคาต่อ 1M token แยก input กับ output เหมาะกับงานที่ใช้ token มาก ใช้ผ่าน API key งาน CI หรือ script และ client อื่น รายละเอียดราคาดูได้ที่ หน้าราคา Muse Code ส่วนเงื่อนไขแพลนทางการอยู่ที่ หน้า Muse Code ของ Meta

ประเด็นSubscriptionPay-as-you-go
หน่วยนับrequest ต่อ 5 ชั่วโมงtoken input/output
ช่องทางlogin ผ่าน CLIAPI key ผ่าน Model API
เหมาะกับใช้งานโต้ตอบประจำงานหนัก CI script
ยอดในบิลค่าบริการรายเดือนคงที่แปรตาม token ที่ใช้

สาเหตุที่บิลมีสองยอดมักมาจาก auth คนละทางในเครื่องเดียว ส่วนที่ login ผ่าน CLI เข้าโควตา subscription ส่วนที่เรียกผ่าน API key หรือ client อื่นหลุดไปคิดแบบ pay-as-you-go แม้เป็นโมเดลเดียวกัน วิธีเริ่มเช็กคือแยกให้ชัดว่าเซสชันไหนใช้ login และส่วนไหนใช้ key ตามที่ คู่มือเริ่มต้น อธิบายไว้

contributor ไม่ใช่ป้ายบอกวิธีคิดเงิน

โมเดลที่มีท้ายชื่อว่า contributor เช่น muse-spark-1.3-contributor คือ tier ราคาถูกที่แลกกับการนำข้อมูลไปปรับปรุงสินค้า ส่วนตัวที่ไม่มีท้ายชื่อนี้คือฝั่งที่ไม่แชร์ข้อมูลแบบนั้น เราเคยเข้าใจผิดว่าท้ายชื่อนี้แปลว่า pay-as-you-go แต่หลักฐานในเครื่องพิสูจน์ว่าไม่ใช่

ภาพหน้าจอของเราเองขึ้น MODEL muse-spark-1.3-contributor พร้อมกับ BILLING Subscription · Muse Code Power Usage ในเวลาเดียวกัน ดังนั้นบรรทัด BILLING บอกแพลนของบัญชี ส่วนท้ายชื่อโมเดลบอกเงื่อนไข data-use ทั้งสองอยู่คนละแกนกัน ถ้าต้องการเลี่ยงเงื่อนไข data-use ให้เลือกตัวที่ไม่มีคำว่า contributor โดยแพลน $5 ใช้ muse-spark-1.2 และแพลน $15/$50 ที่มีสิทธิใช้โมเดลล่าสุดใช้ muse-spark-1.3

META_API_KEY ชนะ login เสมอ

ข้อความช่วยเหลือของคำสั่ง muse login ในเครื่องเราระบุว่า META_API_KEY มี priority เหนือ account login เสมอ ดังนั้นถ้ามีการตั้งตัวแปรนี้ไว้ การ login subscription จะไม่มีผล

วิธียืนยันคือเช็กเฉพาะว่ามีการตั้งไว้หรือไม่ โดยไม่ต้องเปิดดูค่า

for v in META_API_KEY MODEL_API_KEY; do
  if [ -n "${!v:-}" ]; then echo "$v=set"; else echo "$v=unset"; fi
done

เครื่องของเราตรวจแล้วได้ unset ทั้งสองตัว และ credential ที่เก็บไว้เป็นแบบ OAuth login หน้าจอจึงขึ้น BILLING Subscription · Power Usage ถูกต้องแล้ว ข้อควรระวังคือ terminal อื่นหรือไฟล์ profile อาจ export ค่าเหล่านี้ไว้ ต้องตรวจที่นั่นด้วย

ตั้งค่า login สามทาง ต่างกันอย่างไร

Muse Code มีทางยืนยันตัวตนสามทาง และแต่ละทางพาไปหาบิลคนละใบ ข้อความช่วยเหลือในเครื่องยืนยันพฤติกรรมนี้ตรงกันทั้งสามคำสั่ง

ทางคำสั่งเงินไปลงที่ไหนข้อควรระวัง
Login บัญชี Metamuse loginโควตา subscription ผ่าน CLIต้องสมัครแพลนก่อน และต้องไม่มี API key มาบัง
ฝัง API keymuse auth set --provider meta --api-key-stdinpay-as-you-go ผ่าน Model APIkey ถูกบันทึกไว้ในเครื่อง เหมาะกับงานประจำน้อยกว่า env ชั่วคราว
ตัวแปร envMETA_API_KEY หรือ MODEL_API_KEYpay-as-you-go และชนะทุกทางmuse logout ลบไม่ถึงค่านี้ ต้อง unset เอง

คำแนะนำแยกตามการใช้งานมีสามแบบ แบบแรกคือใช้ subscription อย่างเดียว ให้ทำ muse login ตรวจว่า env ทั้งสองเป็น unset เลือกโมเดลที่ไม่มีคำว่า contributor แล้วดูว่า TUI ขึ้น BILLING Subscription แบบที่สองคือใช้ pay-as-you-go ให้สร้าง key จาก Model API dashboard แล้วฝังด้วย muse auth set หรือ export env เฉพาะงานนั้น แบบที่สามคือ CI หรือ script ให้ใช้ env อย่างเดียว ไม่ต้อง login เพราะไม่มี browser ให้กดอนุมัติ

ผังตัดสินใจวิธีจ่ายเงิน: ใช้โต้ตอบประจำไป subscription มี key ค้างไป pay-as-you-go นอกนั้นเลือกตามงาน

กับดักที่เจอจริงใน session นี้คือการปนกันโดยไม่ตั้งใจ ถ้า key ค้างใน env คำสั่ง login จะไม่ถูกใช้เลยโดยไม่มีข้อความเตือน ขณะที่ muse logout ลบแค่ credential ที่บันทึกไว้ ไม่แตะ env ดังนั้นก่อนโทษว่าบิลผิด ให้ตรวจ env ก่อนเสมอ แล้วค่อยดูบิลจริงที่ dashboard ของ Meta

สรุป

บิลมีสองยอดไม่ใช่บั๊ก แต่คือผลของการใช้สองช่องทางปนกัน ทางแก้คือเลือกโมเดลให้ตรงแพลน ตรวจว่าไม่มี API key มาบัง login และดูยอดจริงที่ dashboard ของ Meta แทนการดูแค่บรรทัด BILLING ในหน้าจอ ส่วนตัวเลขราคาในบทความนี้อ้างจากแหล่งทุติยภูมิที่ตรวจสอบได้ ควรยืนยันกับหน้าทางการก่อนตัดสินใจเรื่องเงิน