พิสูจน์ว่าโมเดลที่ตอบคือโมเดลตามชื่อ
ทุกโมเดลได้รับ prompt ทดสอบชุดเดียวกันวันละครั้ง แล้วคำตอบถูกนำไปเทียบกับรอบก่อนหน้า ผลเปิดเผยเป็นรายโมเดลโดยไม่ต้องใช้ key ถ้าโมเดลเบื้องหลัง id ถูกสลับ ผลจะแสดงเป็น Changed และทุก request มีใบเสร็จลงลายเซ็นให้ตรวจย้อนหลังได้
01การตรวจรายวันทำงานอย่างไร
ทุกโมเดลในแคตตาล็อกได้รับ prompt ทดสอบ (canary) ชุดเดียวกันวันละครั้ง คำตอบถูกเทียบกับรอบก่อนหน้า แล้วสรุปเป็นผลหนึ่งในสามแบบพร้อมเวลาที่ตรวจ relay ที่สลับโมเดลเบื้องหลัง id จะปรากฏที่นี่เป็นการเปลี่ยนแปลง
ผลล่าสุดของแต่ละโมเดลอยู่ที่หน้า Proof ซึ่งเป็นภาษาอังกฤษ และข้อมูลเดียวกันเป็น JSON สาธารณะที่ https://api.relayswitch.io/v1/proof: ไม่ต้องใช้ key อ่านได้จากทุก origin และ cache ไว้ห้านาที
02ผลสามแบบหมายความว่าอะไร
ผลการตรวจบอกว่า id นี้ตอบวันนี้เหมือนรอบก่อนหน้า และมี route ตอบ สิ่งที่ตัดออกได้คือการสลับโมเดลและ route ที่ไม่ตอบ ส่วนงานของคุณเองยังควรทดสอบด้วย prompt ของคุณเองอีกครั้ง
| Stable | โมเดลตอบ prompt ทดสอบแบบเดียวกับรอบก่อนหน้า |
| Changed | คำตอบต่างจากรอบก่อนหน้า: สิ่งที่ให้บริการ id นี้ไม่ใช่สิ่งที่เคยให้บริการ |
| Not reached | ไม่มี route ใดของโมเดลตอบการตรวจรอบล่าสุด ผลครั้งก่อนจึงเป็นประวัติ ไม่ใช่สถานะปัจจุบัน |
03ใบเสร็จลงลายเซ็นของทุก request
ทุก request มีใบเสร็จที่ GET https://api.relayswitch.io/v1/requests/:id/receipt ลงลายเซ็น Ed25519 ระบุ model id, token ที่คิดเงิน และค่าใช้จ่าย ตรวจลายเซ็นด้วย public key ได้ที่หน้าตรวจใบเสร็จ (ภาษาอังกฤษ) โดยไม่ต้องมีบัญชี ใบเสร็จที่ตรวจแบบ offline ได้เป็นสิ่งที่ผู้ให้บริการแก้ย้อนหลังไม่ได้
ใบเสร็จยังใช้ตรวจการคิดเงินได้: นำ token ที่คิดเงินในใบเสร็จคูณกับราคาในหน้าโมเดล แล้วเทียบกับยอดเงินที่ถูกหัก relay ที่ส่ง request ไปยังโมเดลจริงแต่คิดเงินด้วยตัวคูณ จะผ่านการตรวจ protocol และการตรวจสำนวนทั้งหมด มีเพียงการเทียบแบบนี้ที่มองเห็น
04เจ็ดวิธีทดสอบ relay ใดก็ได้ด้วยตัวเอง
ก่อนไว้ใจ relay ใด ให้เติมเงินจำนวนน้อยแล้วรันเจ็ดข้อนี้ สามข้อแรกทำเสร็จได้ในครึ่งชั่วโมง ส่วนสี่ข้อหลังต้องรันต่อเนื่องหลายวัน ถ้าผ่านค่อยเติมเพิ่ม ถ้าไม่ผ่าน ความเสียหายก็จำกัดอยู่ที่ยอดที่เติมไว้
| ถามว่าเป็นโมเดลอะไร | ตัดได้เฉพาะการปลอมแบบหยาบที่สุด เพราะ system prompt ประโยคเดียวทำให้โมเดลใดก็อ้างชื่อใดก็ได้ ตอบถูกไม่ได้พิสูจน์อะไร ตอบผิดหรือขัดกันเองจึงเป็นสัญญาณ ข้อนี้ข้อเดียวใช้สรุปไม่ได้ |
| วันตัดข้อมูลความรู้ | จดวันตัดข้อมูลที่ผู้พัฒนาประกาศ แล้วถามเหตุการณ์ก่อนและหลังวันนั้นอย่างละสามเรื่อง โมเดลจริงจะบอกว่าไม่รู้เรื่องหลังวันตัดข้อมูล ส่วนโมเดลรุ่นเก่าที่ถูกสลับมาจะตอบเรื่องช่วงก่อนวันนั้นไม่นานไม่ได้ด้วย |
| หาข้อความใน context ยาว | ส่งข้อความที่ไม่เกี่ยวข้องยาวสองถึงสามพันตัวอักษร ซ่อนรหัสลับหนึ่งประโยคไว้ตรงกลาง แล้วถามว่ารหัสคืออะไร โมเดลตามชื่อหาเจอได้ตรงตัว ส่วน route ที่ถูกสลับเป็นโมเดล context สั้นหรือถูกตัด context จะหาไม่เจอหรือแต่งขึ้นเอง ควรเขียนข้อความเอง ไม่ใช้ข้อความสำเร็จรูปจากเว็บ |
| โจทย์คณิตหรือโค้ดที่มีคำตอบเดียว | เช่นการคูณเลขหลายหลัก หรือโค้ดที่ต้องได้ output ตรงตัว โมเดลเรือธงตอบถูกสม่ำเสมอ เมื่อถูกลดเป็นโมเดลเล็ก อัตราผิดจะสูงขึ้นชัดเจน ให้ถามโจทย์เดิมห้าครั้งแล้วจดผล ไม่ดูแค่ครั้งเดียว |
| เทียบจำนวน token | นับ input ด้วย tokenizer ของผู้พัฒนา แล้วเทียบกับ prompt_tokens ใน usage ของ response สองค่าควรใกล้กัน ถ้าต่างกันมาก แสดงว่าการคิดเงินไม่ได้เป็นไปตามโมเดลตามชื่อ หรือ request ถูกเขียนใหม่ ฝั่ง output เทียบกับ completion_tokens แบบเดียวกัน |
| ความสม่ำเสมอหลายวัน | เขียนข้อข้างต้นเป็น script รันวันละครั้งในเวลาเดิม แล้วเก็บคำตอบไว้ วันที่ route ถูกสลับ คำตอบจะเปลี่ยนไปทั้งชุด ผ่านหนึ่งครั้งไม่ได้แปลว่าผ่านตลอด เพราะ relay ไม่แจ้งเมื่อเปลี่ยน route |
| ตรวจใบเสร็จ | ขอใบเสร็จระดับ request ที่มี model id, token ที่คิดเงิน ค่าใช้จ่าย และลายเซ็น ซึ่งตรวจแบบ offline ด้วย public key ได้ ถ้า relay ไม่มีใบเสร็จ ก็ต้องอาศัยบันทึกของตัวเองเท่านั้น |
05เริ่มจากดูว่า key เรียก id ใดได้บ้าง
คำสั่งนี้คืนรายการ model id ที่ key เรียกได้ และไม่มีค่าใช้จ่าย ใช้ยืนยันว่า key ทำงาน และใช้เลือก id ที่จะทดสอบ โดยเขียน id ให้ตรงกับที่รายการแสดง ขั้นตอนรับ key อยู่ที่หน้า Claude API key
curl https://api.relayswitch.io/v1/models \ -H "Authorization: Bearer sk-relay-..."06ส่ง canary ของตัวเองวันละครั้ง
ตัวอย่างด้านล่างเป็น request ขนาดเล็กที่สุดไปยัง route Messages ให้แทนข้อความด้วยโจทย์ canary ของคุณ ปรับ max_tokens ให้พอกับคำตอบ ตั้ง temperature เป็น 0 ส่งวันละครั้งในเวลาเดิม แล้วเก็บคำตอบกับ usage ไว้เทียบรายวัน โจทย์ตัวอย่างที่มีคำตอบเดียวคือ ให้คำนวณ 48213 × 7391 โดยตอบเฉพาะตัวเลข ซึ่งคำตอบที่ถูกคือ 356342283 แล้วให้บอกว่าข้อมูลที่ใช้ฝึกสิ้นสุดเดือนใดปีใด
โมเดลที่ถูกสลับจะพลาดจุดใดจุดหนึ่ง: คูณผิด ซึ่งพบบ่อยในโมเดลเล็กและรุ่น quantized หรือบอกเดือนตัดข้อมูลที่ไม่ตรงกับโมเดลตามชื่อ ตัวเลือก -i พิมพ์ header ซึ่งมี request id สำหรับดึงใบเสร็จของ request นั้น ถ้า model id ในใบเสร็จไม่เปลี่ยนแต่คำตอบเปลี่ยน แสดงว่าสิ่งที่ให้บริการ id นั้นเปลี่ยนไป ไม่ใช่ prompt ของคุณ
curl -i https://api.relayswitch.io/v1/messages \ -H "Authorization: Bearer sk-relay-..." \ -H "anthropic-version: 2023-06-01" \ -H "content-type: application/json" \ -d '{"model": "claude-fable-5.1", "max_tokens": 16, "messages": [{"role": "user", "content": "Reply with ok"}]}'07สิ่งที่เครื่องมือตรวจอัตโนมัติมองไม่เห็น
เครื่องมือตรวจ relay ที่มีอยู่ทั่วไปทำงานสามชั้น: ตรวจ field ของ protocol ใน response เทียบสำนวนการตอบจาก prompt หลายรอบ และวัดความสามารถด้วยชุดโจทย์ที่ยากขึ้นเป็นลำดับ ชั้นแรกจับการห่อ format หนึ่งให้ดูเป็นอีกค่ายได้ ชั้นที่สองจับการสลับข้ามค่ายได้ในไม่กี่รอบ และชั้นที่สามเชื่อถือได้กว่าโจทย์ข้อเดียว เพราะเมื่อสลับเป็นโมเดลเล็ก ผลจะตกลงทั้งชุด
สองเรื่องที่หลุดจากเครื่องมือเหล่านี้คือการคิดเงินด้วยตัวคูณ ซึ่งต้องเทียบใบเสร็จกับยอดที่ถูกหัก และรุ่น quantized ของโมเดลเดียวกัน ซึ่งตอบโจทย์ข้อเดียวถูกแต่ผลทั้งชุดต่ำลง จึงต้องรันชุดโจทย์เดิมหลายวัน สิ่งที่เหลือหลังเครื่องมือจึงมีสองอย่าง คือใบเสร็จลงลายเซ็นของทุก request และผลการตรวจรายวันแบบเปิดเผย การเทียบกับ gateway อื่นในเรื่องนี้อยู่ที่หน้าเทียบกับ OpenRouter
คำถามที่พบบ่อย
- โมเดลบอกว่าตัวเองเป็น GPT หรือ Claude เชื่อได้ไหม
- ใช้เป็นหลักฐานเดี่ยว ๆ ไม่ได้ system prompt ประโยคเดียวทำให้โมเดลใดก็บอกชื่อใดก็ได้ ต้องดูว่าตอบเรื่องหลังวันตัดข้อมูลถูกหรือไม่ หารหัสลับในข้อความยาวเจอหรือไม่ และคำนวณถูกหรือไม่
- การตรวจรายวันของ RelaySwitch ทำอย่างไร
- ทุกโมเดลในแคตตาล็อกได้รับ prompt ทดสอบชุดเดียวกันทุกวัน แล้วคำตอบถูกเทียบกับรอบก่อนหน้า ผลมีสามแบบคือ Stable, Changed และ Not reached เผยแพร่เป็น JSON สาธารณะที่ GET https://api.relayswitch.io/v1/proof โดยไม่ต้องใช้ key
- ตรวจใบเสร็จของ request อย่างไร
- GET https://api.relayswitch.io/v1/requests/:id/receipt คืนใบเสร็จที่ลงลายเซ็น Ed25519 ระบุโมเดล token ที่คิดเงิน และค่าใช้จ่าย ลายเซ็นตรวจด้วย public key ได้ที่หน้า statements/verify ของ relayswitch.io โดยไม่ต้องมีบัญชี
- ผ่านการตรวจแล้วแปลว่าเป็นโมเดลจริงแน่นอนไหม
- การตรวจบอกว่า id นี้ตอบวันนี้เหมือนรอบก่อนหน้า และมี route ตอบ สิ่งที่ตัดออกได้คือการสลับโมเดลและ route ที่ไม่ตอบ งานของคุณเองยังควรทดสอบด้วย prompt ของคุณเองอีกครั้ง
- รู้ได้อย่างไรว่า relay แอบสลับเป็นโมเดลที่อ่อนกว่า
- ถามโจทย์ที่มีคำตอบเดียวด้วย temperature 0 วันละครั้ง เช่น 48213 × 7391 ถ้าคำตอบเปลี่ยนจากถูกเป็นผิด หรือเดือนตัดข้อมูลที่โมเดลบอกเปลี่ยนไป แสดงว่าถูกสลับ จากนั้นดูใบเสร็จ ถ้า model id ไม่เปลี่ยนแต่คำตอบเปลี่ยน แสดงว่าสิ่งที่ให้บริการ id นั้นเปลี่ยน ไม่ใช่ prompt ของคุณ การตรวจรายวันของที่นี่แสดงกรณีนี้เป็น Changed
- ควรเติมเงินเท่าไรเพื่อทดสอบ relay
- จำนวนน้อยที่พอรันเจ็ดข้อได้หลายรอบ เพราะจุดประสงค์คือได้หลักฐานก่อนไว้ใจ ผ่านแล้วค่อยเติมเพิ่ม ไม่ผ่านก็เสียหายจำกัด ที่ RelaySwitch เติมขั้นต่ำ $10 และการเติมเงินขอคืนเงินไม่ได้
ทดสอบก่อน แล้วค่อยไว้ใจ
เติมขั้นต่ำ $10 แล้วรันเจ็ดข้อ ทุกโมเดลถูกตรวจแบบเปิดเผยทุกวัน และทุก request มีใบเสร็จลงลายเซ็น