---
read_when:
    - คุณต้องการขั้นตอน LLM ที่แสดงผลเป็น JSON เท่านั้นภายในเวิร์กโฟลว์
    - คุณต้องการเอาต์พุตจาก LLM ที่ผ่านการตรวจสอบความถูกต้องตามสคีมาสำหรับระบบอัตโนมัติ
summary: งาน LLM ที่ใช้เฉพาะ JSON สำหรับเวิร์กโฟลว์ (เครื่องมือ Plugin เสริม)
title: งานของ LLM
x-i18n:
    generated_at: "2026-07-12T16:49:10Z"
    model: gpt-5.6
    postprocess_version: locale-links-v1
    provider: openai
    source_hash: 78ea533f43546fbdd66c7f7138b8dea0b12b02d38925689324b390a12d0c4c5a
    source_path: tools/llm-task.md
    workflow: 16
---

`llm-task` เป็น **เครื่องมือ Plugin แบบเลือกใช้ที่รวมมาให้** ซึ่งเรียกใช้ LLM เพียงครั้งเดียวโดยรับและส่งคืนเฉพาะ JSON พร้อมคืนผลลัพธ์แบบมีโครงสร้าง และสามารถตรวจสอบกับ JSON Schema ได้ตามต้องการ เครื่องมือนี้ช่วยให้เอนจินเวิร์กโฟลว์อย่าง Lobster มีขั้นตอน LLM ได้โดยไม่ต้องเขียนโค้ด OpenClaw เฉพาะสำหรับแต่ละเวิร์กโฟลว์

## เปิดใช้งาน

1. เปิดใช้งาน Plugin:

```json
{
  "plugins": {
    "entries": {
      "llm-task": { "enabled": true }
    }
  }
}
```

2. อนุญาตเครื่องมือ:

```json
{
  "tools": {
    "alsoAllow": ["llm-task"]
  }
}
```

`alsoAllow` เพิ่ม `llm-task` เข้าไปจากโปรไฟล์เครื่องมือที่ใช้งานอยู่ โดยไม่จำกัดเครื่องมือหลักอื่น ๆ ใช้ `tools.allow` เฉพาะเมื่อต้องการใช้โหมดรายการอนุญาตแบบจำกัดเท่านั้น

## การกำหนดค่า (ไม่บังคับ)

```json
{
  "plugins": {
    "entries": {
      "llm-task": {
        "enabled": true,
        "config": {
          "defaultProvider": "openai",
          "defaultModel": "gpt-5.6-sol",
          "defaultAuthProfileId": "main",
          "allowedModels": ["openai/gpt-5.6-sol"],
          "maxTokens": 800,
          "timeoutMs": 30000
        }
      }
    }
  }
}
```

`allowedModels` คือรายการอนุญาตของสตริง `provider/model` โดยคำขอที่ระบุโมเดลอื่นจะถูกปฏิเสธ คีย์อื่นทั้งหมดเป็นค่าสำรองสำหรับแต่ละการเรียกใช้ ซึ่งจะใช้เมื่อการเรียกเครื่องมือไม่ได้ระบุพารามิเตอร์นั้น

## พารามิเตอร์เครื่องมือ

| พารามิเตอร์     | ชนิดข้อมูล | หมายเหตุ                                                                                                                                                   |
| --------------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `prompt`        | string     | จำเป็น คำสั่งงานสำหรับ LLM                                                                                                                                |
| `input`         | any        | เพย์โหลดที่ไม่บังคับ โดยจะแปลงเป็น JSON และต่อท้ายพรอมต์                                                                                                   |
| `schema`        | object     | JSON Schema ที่ไม่บังคับ ซึ่งผลลัพธ์ที่แยกวิเคราะห์แล้วต้องผ่านการตรวจสอบ                                                                                   |
| `provider`      | string     | แทนที่ `defaultProvider` / ผู้ให้บริการเริ่มต้นของเอเจนต์                                                                                                  |
| `model`         | string     | แทนที่ `defaultModel` โดยรับรหัสโมเดลเปล่า นามแฝง หรือการอ้างอิง `provider/model` (คำนำหน้าผู้ให้บริการที่ซ้ำกันจะถูกตัดออกโดยอัตโนมัติ)                     |
| `thinking`      | string     | ระดับการใช้เหตุผล (เช่น `low`, `medium`) ต้องเป็นระดับที่โมเดลซึ่งเลือกได้รองรับ                                                                            |
| `authProfileId` | string     | แทนที่ `defaultAuthProfileId`                                                                                                                              |
| `temperature`   | number     | ใช้ตามความสามารถที่รองรับ ผู้ให้บริการบางรายอาจไม่รองรับค่านี้                                                                                             |
| `maxTokens`     | number     | ขีดจำกัดจำนวนโทเค็นผลลัพธ์ตามความสามารถที่รองรับ                                                                                                           |
| `timeoutMs`     | number     | เวลาหมดเวลาสำหรับการทำงาน ค่าเริ่มต้นคือ `30000`                                                                                                           |

## ผลลัพธ์

คืนค่า `details.json` (JSON ที่แยกวิเคราะห์และผ่านการตรวจสอบสคีมาแล้ว) พร้อม `details.provider` และ `details.model` ซึ่งระบุผู้ให้บริการและโมเดลที่ใช้งานจริง

## ตัวอย่าง: ขั้นตอนเวิร์กโฟลว์ Lobster

### ข้อจำกัดสำคัญ

ตัวอย่างด้านล่างสมมติว่า **Lobster CLI แบบสแตนด์อโลน** กำลังทำงานในสภาพแวดล้อมที่ `openclaw.invoke` มี URL ของ Gateway และบริบทการยืนยันตัวตนที่ถูกต้องอยู่แล้ว

สำหรับตัวรัน Lobster แบบ **ฝังในระบบ** ที่รวมอยู่ภายใน OpenClaw รูปแบบ CLI ซ้อนกันนี้ **ยังไม่เสถียรในขณะนี้**:

```lobster
openclaw.invoke --tool llm-task --action json --args-json '{ ... }'
```

จนกว่า Lobster แบบฝังในระบบจะมีบริดจ์ที่รองรับโฟลว์นี้ ควรเลือกใช้วิธีใดวิธีหนึ่งต่อไปนี้:

- เรียกเครื่องมือ `llm-task` โดยตรงจากภายนอก Lobster หรือ
- ใช้ขั้นตอน Lobster ที่ไม่พึ่งพาการเรียก `openclaw.invoke` แบบซ้อนกัน

ตัวอย่าง Lobster CLI แบบสแตนด์อโลน:

```lobster
openclaw.invoke --tool llm-task --action json --args-json '{
  "prompt": "Given the input email, return intent and draft.",
  "thinking": "low",
  "input": {
    "subject": "Hello",
    "body": "Can you help?"
  },
  "schema": {
    "type": "object",
    "properties": {
      "intent": { "type": "string" },
      "draft": { "type": "string" }
    },
    "required": ["intent", "draft"],
    "additionalProperties": false
  }
}'
```

## หมายเหตุด้านความปลอดภัย

- **เฉพาะ JSON**: โมเดลจะได้รับคำสั่งให้คืนเฉพาะค่า JSON โดยไม่มีกรอบโค้ดและไม่มีคำอธิบายเพิ่มเติม
- **ไม่มีเครื่องมือ**: การทำงานเบื้องหลังจะปิดใช้งานเครื่องมือ โมเดลจึงไม่สามารถเรียกเครื่องมือภายนอกระหว่างทำงานได้
- ให้ถือว่าผลลัพธ์ไม่น่าเชื่อถือ เว้นแต่จะตรวจสอบด้วย `schema`
- กำหนดขั้นตอนการอนุมัติก่อนขั้นตอนใด ๆ ที่ก่อให้เกิดผลข้างเคียง (ส่ง โพสต์ เรียกใช้คำสั่ง) และใช้ผลลัพธ์นี้

## ที่เกี่ยวข้อง

- [ระดับการใช้เหตุผล](/th/tools/thinking)
- [เอเจนต์ย่อย](/th/tools/subagents)
- [คำสั่งเครื่องหมายทับ](/th/tools/slash-commands)
