Tools

งานของ LLM

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

เปิดใช้งาน

  1. เปิดใช้งาน Plugin:
json
{  "plugins": {    "entries": {      "llm-task": { "enabled": true }    }  }}
  1. อนุญาตเครื่องมือ:
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
  • กำหนดขั้นตอนการอนุมัติก่อนขั้นตอนใด ๆ ที่ก่อให้เกิดผลข้างเคียง (ส่ง โพสต์ เรียกใช้คำสั่ง) และใช้ผลลัพธ์นี้

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

Was this useful?
On this page

On this page