---
title: การเลือกโมเดลอัตโนมัติ
description: เมื่อใช้ model "auto" Gateway จะประเมินความยากของงานแล้วเลือกโมเดลที่เวิร์กสเปซอนุญาต โมเดลที่ระบุชื่อจะไม่ถูกสลับ และทุกคำตอบบอกว่าโมเดลใดเป็นผู้ตอบ
url: https://agentlab.cresclab.com/docs/th/gateway/auto
language: th
updated: 2026-10-30
---

# การเลือกโมเดลอัตโนมัติ

เมื่อใช้ model "auto" Gateway จะประเมินความยากของงานแล้วเลือกโมเดลที่เวิร์กสเปซอนุญาต โมเดลที่ระบุชื่อจะไม่ถูกสลับ และทุกคำตอบบอกว่าโมเดลใดเป็นผู้ตอบ

## ระบุโมเดลหรือใช้ auto

ช่อง `model` รับชื่อโมเดลจาก `GET /v1/models` หรือ `auto`

| `model`                     | สิ่งที่เกิดขึ้น                                               |
| --------------------------- | ------------------------------------------------------------- |
| `auto`                      | Gateway เลือกโมเดลที่เวิร์กสเปซอนุญาต ตามความยากของงาน        |
| ชื่อโมเดล                   | ตอบด้วยโมเดลนั้นเท่านั้น และจะไม่ถูกแทนที่ด้วยโมเดลอื่น       |
| `agentlab/…`                | ถูกปฏิเสธด้วย 400 `invalid_model` ข้อความจะแสดงค่าที่ใช้ได้   |
| ชื่อที่ Gateway ไม่รู้จัก   | ถูกปฏิเสธด้วย 404 `model_not_found` ข้อความจะแสดงค่าที่ใช้ได้ |
| โมเดลที่เวิร์กสเปซไม่อนุญาต | ถูกปฏิเสธด้วย 403 `model_not_enabled`                         |

`/v1/chat/completions` และ `/v1/responses` เลือกจากโมเดลทั้งหมดที่อนุญาต ไม่ว่าบริษัทใดจะเป็นผู้สร้าง ส่วน `/v1/messages` ใช้เฉพาะโมเดล Claude และคำขอ Responses ที่มีเพียงโมเดล OpenAI ที่รองรับได้ (เช่น คำขอที่มีเครื่องมือ `code_interpreter`) จะใช้เฉพาะโมเดล OpenAI

Claude Code และ Codex ตรวจชื่อโมเดลก่อนส่ง จึงส่ง `auto` ไม่ได้ ทั้งสองจึงคงชื่อโมเดลจริงไว้ในคำขอและเพิ่มเฮดเดอร์ `X-AgentLab-Routing: auto` เพื่อให้ Gateway เป็นผู้เลือก เฮดเดอร์ต้องเป็น `auto` พอดีและส่งเพียงครั้งเดียว ค่าอื่นจะถูกปฏิเสธด้วย 400

## auto เลือกอย่างไร

1. **ประเมินงาน** โมเดลที่ถูกที่สุดที่อนุญาตและส่งผลลัพธ์แบบมีโครงสร้างได้จะอ่านข้อความบางส่วนของคำขอ (ต้นของพรอมต์ระบบ ข้อความผู้ใช้แรกและล่าสุด และชื่อเครื่องมือ ไม่เกิน 8 KiB และไม่อ่านทั้งบทสนทนา) แล้วบอกว่าเป็นงานประเภทใดและต้องทำหลายขั้นตอนหรือไม่
2. **เลือกโมเดล** งานหลายขั้นตอนได้โมเดลที่แรงกว่า งานวิเคราะห์ เขียนโค้ด และวางแผนทั่วไปได้โมเดลมาตรฐาน งานดึงข้อมูล เรียบเรียงใหม่ และสนทนาทั่วไปได้โมเดลที่ถูกที่สุดที่อนุญาต
3. **ใช้โมเดลเดิมตลอดรอบ** ขั้นตอนถัดไปของลูปเครื่องมือเดียวกันจะใช้โมเดลเดียวกับขั้นแรก เพื่อให้ reasoning ที่เข้ารหัส ลายเซ็น thinking และแคชพรอมต์ยังใช้ได้

เมื่อการประเมินล้มเหลว หมดเวลา (หลัง 6 วินาที) หรือไม่แน่ใจ โมเดลมาตรฐานจะเป็นผู้ตอบ auto จะไม่เลือกโมเดลที่ถูกกว่าเมื่อตัดสินไม่ได้

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

การประเมินเป็นการเรียกโมเดลแยกต่างหาก ซึ่งบันทึกและคิดค่าใช้จ่ายภายใต้คีย์เดียวกัน และเชื่อมโยงกับคำขอที่ประเมินนั้น

## ใช้เฉพาะบางผู้ให้บริการ

หากต้องการให้คำขอใช้เฉพาะโมเดลของบางบริษัท ให้ส่ง `provider.only` ไปกับ Chat Completions หรือ Responses ในรูปแบบเดียวกับ OpenRouter:

```json
{
  "model": "auto",
  "provider": { "only": ["anthropic"] },
  "messages": [{ "role": "user", "content": "Hello" }]
}
```

- ผู้ให้บริการคือบริษัทที่สร้างโมเดล ตามที่รายการโมเดลในคอนโซลแสดง: `anthropic`, `openai`, `google`, `meta`, `xai`, `deepseek`, `moonshot`, `mistral`, `zhipu`, `qwen`, `minimax`, `amazon`, `microsoft`, `cohere` หรือ `black-forest-labs` โดย `anthropic` รวมถึง Claude บน Amazon Bedrock และ Google Vertex AI
- auto การประเมิน การลองใหม่ และรายการ `auto` ใน `models` จะใช้เฉพาะโมเดลของผู้ให้บริการเหล่านี้ และการตั้งค่าโมเดลของเวิร์กสเปซยังมีผลเหมือนเดิม
- การระบุโมเดลที่อยู่นอกรายการ ชื่อผู้ให้บริการที่ไม่รู้จัก หรือตัวเลือกอื่นใน `provider` จะถูกปฏิเสธด้วย 400 และ `param` เป็น `provider.only` (หรือชื่อตัวเลือกนั้น) หากไม่มีโมเดลใดของผู้ให้บริการในรายการที่รองรับคำขอได้ ก็จะถูกปฏิเสธด้วย 400 และข้อความจะระบุผู้ให้บริการที่รองรับได้
- Gateway เป็นผู้อ่าน `provider` เท่านั้น และจะไม่ส่งไปยังโมเดล

## ดูว่า auto เลือกอะไร

ทุกคำขอที่ได้คำตอบจะมี

| เฮดเดอร์                | ค่า                                                                                                                                                                                              |
| ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `X-Agentlab-Model`      | โมเดลที่ตอบ                                                                                                                                                                                      |
| `X-Agentlab-Decision`   | เหตุผล: `requested_model` สำหรับโมเดลที่ระบุชื่อ ส่วน auto จะเป็น `auto_assessed`, `auto_reused`, `auto_uncertain`, `auto_assessment_failed`, `auto_assessment_timeout` หรือ `auto_budget_guard` |
| `X-Agentlab-Assessment` | เมื่อใช้ auto คือผลการประเมิน เช่น `analysis/multi_step` หรือ `unavailable` เมื่อไม่มีการประเมิน                                                                                                 |
| `X-Request-Id`          | id ของคำขอ ตรงกับที่แสดงในหน้าการใช้งานและในไฟล์ส่งออก                                                                                                                                           |

Chat Completions ยังส่งโมเดลที่ตอบกลับมาใน `model` และเหตุผลใน `agentlab_decision.reason` (`auto` หรือ `requested_model`)
