コンテンツにスキップ

OpenClawでLLMタスクを実行:構造化データ抽出を自動化

LLMから構造化されたデータを取り出すために、毎回パース用のコードを書くのは面倒ですよね。プロンプトを調整しても、予期しない解説文が混ざってしまい、JSONのパースエラーに悩まされるのは開発者共通の悩みです。

llm-taskは、JSON形式のLLMタスクを実行し、構造化されたデータ(JSON Schemaによる検証も可能)を返すオプショナルなプラグインツールです。Lobsterのようなワークフローエンジンに最適で、ワークフローごとに個別のOpenClawコードを書かなくても、LLMのステップを1つ追加するだけで済みます。

  1. プラグインを有効にします:
{
"plugins": {
"entries": {
"llm-task": { "enabled": true }
}
}
}
  1. ツールを許可リストに追加します(このツールは optional: true で登録されています):
{
"agents": {
"list": [
{
"id": "main",
"tools": { "allow": ["llm-task"] }
}
]
}
}
{
"plugins": {
"entries": {
"llm-task": {
"enabled": true,
"config": {
"defaultProvider": "openai-codex",
"defaultModel": "gpt-5.4",
"defaultAuthProfileId": "main",
"allowedModels": ["openai-codex/gpt-5.4"],
"maxTokens": 800,
"timeoutMs": 30000
}
}
}
}
}

allowedModels は provider/model 形式の文字列による許可リストです。これが設定されている場合、リストに含まれないモデルへのリクエストは拒否されます。

  • prompt (string, 必須)
  • input (any, 任意)
  • schema (object, 任意。JSON Schema)
  • provider (string, 任意)
  • model (string, 任意)
  • thinking (string, 任意)
  • authProfileId (string, 任意)
  • temperature (number, 任意)
  • maxTokens (number, 任意)
  • timeoutMs (number, 任意)

thinking は、low や medium といった標準的な OpenClaw の推論プリセットを受け取ります。

パースされたJSONを含む details.json を返します(schema が指定されている場合は、そのスキーマに対して検証が行われます)。

例:Lobsterワークフローのステップ

Section titled “例: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 で検証しない限り、出力は信頼できないものとして扱ってください。
  • 外部への影響があるステップ(送信、投稿、実行など)の前に、必ず承認ステップを挟むことをおすすめします。

AI Setup Assistant

OpenClaw

OpenClaw Expert

まだ解決しませんか?

このページで解決しない場合は、OpenClaw Expertに直接質問してください。