Autonomous Agents

คู่มือ OpenClaw Autonomous Agent: สถาปัตยกรรม, Docker และค่าใช้จ่าย

### สรุปใจความสำคัญ: OpenClaw คืออะไรและมีจุดเด่นอย่างไร?

OpenClaw คือผู้ช่วย AI ส่วนบุคคลแบบอัตโนมัติ (Autonomous Personal AI Assistant) โอเพนซอร์สที่ขับเคลื่อนด้วยสถาปัตยกรรมแยกส่วน Gateway รองรับการเชื่อมต่อกว่า 20 แพลตฟอร์มแชท และรันระบบ Multi-Agent ภายในคอนเทนเนอร์ Sandbox ที่ปลอดภัย โดยไม่มีค่าบริการรายเดือน ($0) ต่างจาก SaaS ปิดที่คิด $20–$50 ต่อเดือน มีค่าใช้จ่ายเฉลี่ยเพียง $0.003–$0.042 ต่องานผ่าน API โดยตรง


1. บทนำ: OpenClaw มีบทบาทสำคัญอย่างไรในปี 2026?

ในปี 2026 วงการ AI Agent ได้ก้าวข้ามจากหน้าต่างแชทตอบคำถามแบบครั้งเดียว ไปสู่วงรอบการทำงานอัตโนมัติตลอด 24 ชั่วโมงที่ขับเคลื่อนด้วยเหตุการณ์ (Event-Driven Execution Loops) ในขณะที่เครื่องมืออย่าง Claude Code และ OpenAI Codex มุ่งเน้นไปที่เทอร์มินัลของนักพัฒนาเป็นหลัก OpenClaw (เดิมคือ openclaw.ai) ได้กลายเป็นเฟรมเวิร์กโอเพนซอร์สชั้นนำสำหรับผู้ช่วย AI ส่วนบุคคลที่สามารถทำงานเชื่อมต่อกับหลายช่องทางแชท งานกำหนดเวลา (Cron Jobs) และการทำงานร่วมกันของ Agent หลายตัวได้อย่างปลอดภัย

OpenClaw ถูกสร้างขึ้นบนเสาหลัก 3 ประการ:

  1. โปรโตคอล Gateway แบบแยกส่วน (Decoupled Gateway): เซอร์วิสเบื้องหลังหลักบนพอร์ต 18789 ทำหน้าที่จัดการเส้นทางข้อความ, บันทึกสถานะเซสชัน, ควบคุม Cron Scheduler และรับ Webhooks
  2. รองรับแอปแชทมากกว่า 20 แพลตฟอร์ม: เชื่อมต่อแบบเนทีฟกับ Telegram, WhatsApp (Baileys), Discord (Bot API + Gateway), Slack (Bolt SDK), Signal, iMessage, Matrix และ WebChat
  3. ระบบ Skills และ Sandbox ที่รัดกุม: มาตรฐานทักษะด้วยไฟล์ Markdown (SKILL.md) ผ่าน ClawHub Registry พร้อมระบบแยกสิทธิ์คอนเทนเนอร์ Docker และการตัดสิทธิ์ระดับ POSIX

2. สถาปัตยกรรมของ OpenClaw: Gateway, ช่องทาง และ Workspace

จุดเด่นของ OpenClaw คือการแยกส่วนระหว่างระนาบควบคุม (Control Plane) และการประมวลผล โดยมีตัวควบคุมหลัก (OpenClaw Gateway) สื่อสารผ่าน WebSockets และ Unix Domain Sockets ไปยังไคลเอนต์และแพลตฟอร์มส่งข้อความภายนอก

+-----------------------------------------------------------------------------------+
|                              ช่องทางส่งข้อความภายนอก                              |
|   Telegram  |  WhatsApp  |  Discord  |  Slack  |  Signal  |  iMessage  |  Matrix  |
+-----------------------------------------------------------------------------------+
                                          | (Webhook / WebSocket / Bot API)
                                          v
+-----------------------------------------------------------------------------------+
|                            OpenClaw Gateway (Port 18789)                          |
|  - ระบบจับคู่ DM และตรวจสอบ Allowlist      - ฐานจัดเก็บ Context และ Session        |
|  - ระบบจัดตารางเวลา Cron (CronTab)        - ตัวรับและส่งต่อ Webhook                |
|  - ระบบโหลดคอนฟิกใหม่ทันที (Hybrid Watch)  - ระบบสลับโมเดลอัตโนมัติ (Failover)    |
+-----------------------------------------------------------------------------------+
       |                                      |                              |
       v                                      v                              v
+------------------+                  +------------------+         +-------------------+
|  Agent: Home     |                  |  Agent: Work     |         |  Agent: DevOps    |
|  - Workspace-Home|                  |  - Workspace-Work|         |  - Workspace-Ops  |
|  - SOUL.md       |                  |  - SOUL.md       |         |  - SOUL.md        |
|  - งานส่วนตัว    |                  |  - Jira / Linear |         |  - ระบบคลาวด์/SSH |
+------------------+                  +------------------+         +-------------------+
       |                                      |                              |
       +--------------------------------------+------------------------------+
                                          |
                                          v
+-----------------------------------------------------------------------------------+
|                        เลเยอร์ความปลอดภัย Multi-Agent Sandbox                     |
|  - แยกส่วนด้วย Docker Container (`mode: non-main` / `mode: all`)                  |
|  - ตัดสิทธิ์ระดับ POSIX ทั้งหมด (`cap_drop: ALL`, ผู้ใช้มาตรฐาน UID 10001)        |
|  - เมานต์วอลุ่มแบบอ่านอย่างเดียว (`:ro`) และพื้นที่ความจำชั่วคราว (`/tmp:noexec`) |
|  - รันไทม์ ClawHub Skills (ตัวแปล `SKILL.md` และการตรวจสอบไบนารี)                 |
+-----------------------------------------------------------------------------------+

โครงสร้างไดเรกทอรีของ Workspace

~/.openclaw/
├── openclaw.json          # ไฟล์คอนฟิกหลักแบบ Declarative (รูปแบบ JSON5)
├── cron.json              # รายการงานและตารางเวลาของ Cron
├── state/                 # ฐานข้อมูล SQLite เก็บเซสชันและโทเค็น
├── skills/                # ทักษะส่วนกลางที่ใช้งานร่วมกัน
└── workspace/             # ไดเรกทอรีการทำงานหลักของ Agent
    ├── AGENTS.md          # กฎและข้อกำหนดพฤติกรรมของ Agent
    ├── SOUL.md            # บุคลิกภาพ โทนเสียง และข้อจำกัดความปลอดภัย
    ├── TOOLS.md           # คำแนะนำการใช้งานเครื่องมือในระบบ
    └── skills/            # ทักษะเฉพาะของ Workspace
        └── repo-analyzer/
            └── SKILL.md   # การประกาศโครงสร้างทักษะ

คำสั่ง CLI พื้นฐานของ Gateway

# ตรวจสอบสถานะการทำงาน พอร์ต และปริมาณหน่วยความจำ
openclaw gateway status

# เริ่มการทำงานของ Gateway ในพื้นหลัง
openclaw gateway start

# เริ่มทำงานในโหมด Foreground เพื่อดู Log อย่างละเอียด
openclaw gateway --port 18789 --verbose

# ทำการตรวจสุขภาพระบบและตรวจสอบคอนฟิก
openclaw doctor

# ซ่อมแซมสิทธิ์ของไฟล์และโฟลเดอร์ที่ขาดหายไปโดยอัตโนมัติ
openclaw doctor --fix

3. คู่มือการติดตั้งบน Docker สำหรับใช้งานจริง

การอนุญาตให้ AI Agent มีสิทธิ์เข้าถึงเทอร์มินัลบนระบบปฏิบัติการหลักของโฮสต์โดยตรงถือเป็นความเสี่ยงด้านความปลอดภัยอย่างยิ่ง วิธีการมาตรฐานสำหรับสภาพแวดล้อม Production คือการใช้ Docker Compose

ไฟล์ docker-compose.yml สำหรับ Production

version: "3.9"

services:
  openclaw-gateway:
    image: ghcr.io/openclaw/openclaw:latest
    container_name: openclaw-gateway
    restart: unless-stopped
    user: "10001:10001"
    security_opt:
      - no-new-privileges:true
    cap_drop:
      - ALL
    cap_add:
      - CHOWN
      - SETUID
      - SETGID
    environment:
      - NODE_ENV=production
      - OPENCLAW_HOME=/home/openclaw/.openclaw
      - OPENCLAW_STATE_DIR=/home/openclaw/.openclaw/state
      - OPENCLAW_GATEWAY_TOKEN=${OPENCLAW_GATEWAY_TOKEN}
      - OPENCLAW_GATEWAY_PASSWORD=${OPENCLAW_GATEWAY_PASSWORD}
      - ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
      - OPENAI_API_KEY=${OPENAI_API_KEY}
      - DEEPSEEK_API_KEY=${DEEPSEEK_API_KEY}
    volumes:
      - openclaw-config:/home/openclaw/.openclaw
      - openclaw-workspace:/home/openclaw/.openclaw/workspace
      - /var/run/docker.sock:/var/run/docker.sock:ro
    ports:
      - "127.0.0.1:18789:18789"
    networks:
      - openclaw-net
    healthcheck:
      test: ["CMD", "openclaw", "health"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 20s

  openclaw-sandbox:
    image: ghcr.io/openclaw/sandbox-runner:latest
    container_name: openclaw-sandbox
    restart: always
    network_mode: none
    read_only: true
    tmpfs:
      - /tmp:rw,noexec,nosuid,size=256m
    security_opt:
      - no-new-privileges:true
    cap_drop:
      - ALL
    volumes:
      - openclaw-workspace:/workspace:rw
    environment:
      - RUNNER_UID=10001
      - RUNNER_GID=10001

volumes:
  openclaw-config:
    driver: local
  openclaw-workspace:
    driver: local

networks:
  openclaw-net:
    driver: bridge

คอนฟิก openclaw.json สำหรับ Production

{
  agents: {
    defaults: {
      workspace: "/home/openclaw/.openclaw/workspace",
      model: {
        primary: "anthropic/claude-sonnet-4-6",
        fallbacks: ["deepseek/deepseek-chat", "openai/gpt-5.4"],
      },
      thinking: "high",
      sandbox: {
        mode: "non-main", // off | non-main | all
        scope: "agent",   // session | agent | shared
        dockerImage: "ghcr.io/openclaw/sandbox-runner:latest",
        timeoutSeconds: 300,
        memoryLimitMb: 1024,
      },
    },
    list: [
      {
        id: "main",
        default: true,
        workspace: "/home/openclaw/.openclaw/workspace",
      },
      {
        id: "devops",
        workspace: "/home/openclaw/.openclaw/workspace-devops",
        sandbox: { mode: "all" },
      },
    ],
  },
  channels: {
    telegram: {
      enabled: true,
      botToken: "7123456789:AAFq_example_token_secret",
      dmPolicy: "pairing", // pairing | allowlist | open | disabled
      allowFrom: ["tg:987654321"],
    },
    discord: {
      enabled: true,
      botToken: "MTI4OTexampleDiscordBotToken",
      dmPolicy: "allowlist",
      allowFrom: ["dc:382910394857291029"],
    },
  },
  cron: {
    enabled: true,
    maxConcurrentRuns: 4,
  },
  hotReload: "hybrid",
}

4. การจัดการ Multi-Agent และความปลอดภัยของ Sandbox

นโยบายการรับข้อความ (DM Policy) และโหมด Sandbox

  1. นโยบายข้อความเข้า (DM Policy):
  • pairing (ค่าเริ่มต้น): ผู้ส่งที่ไม่คุ้นเคยจะได้รับรหัสจับคู่ โดยผู้ดูแลระบบต้องอนุมัติผ่านคำสั่ง openclaw pairing approve
  • allowlist: อนุญาตเฉพาะบัญชีที่ระบุในรายการ allowFrom เท่านั้น
  • open: เปิดให้ทุกคนส่งข้อความได้ (แนะนำเฉพาะบอทบริการข้อมูลสาธารณะที่ตั้ง Sandbox เป็น all)
  • disabled: ปิดการรับข้อความโดยตรง เพื่อใช้ส่งการแจ้งเตือนตามรอบเวลาเท่านั้น
  1. โหมดความปลอดภัยของ Sandbox:
  • off: รันคำสั่งบนโฮสต์โดยตรง (ทำงานเร็วที่สุดแต่มีความเสี่ยงสูง)
  • non-main (แนะนำ): Agent หลักรันตามปกติ ขณะที่ Sub-Agent และสคริปต์ภายนอกจะรันใน Docker
  • all: คำสั่งและการเรียกใช้ Tool ทั้งหมดจะถูกกักขังในคอนเทนเนอร์ที่ตัดการเชื่อมต่ออินเทอร์เน็ต (network_mode: none)

5. ระบบ Skills และระบบนิเวศ ClawHub

ความสามารถของ Agent ขยายผ่านไฟล์ SKILL.md:

---
name: github-pr-analyzer
description: ตรวจสอบ Pull Request บน GitHub รันชุดทดสอบ และสรุปผลการรีวิว
metadata: {
  "openclaw": {
    "requires": {
      "bins": ["gh", "jq", "git"],
      "env": ["GITHUB_TOKEN"],
      "config": ["sandbox.enabled"]
    },
    "os": ["linux", "darwin"],
    "always": false,
    "primaryEnv": "GITHUB_TOKEN"
  }
}
---

# ทักษะการวิเคราะห์ GitHub PR

เมื่อถูกเรียกใช้งานโดยผู้ใช้หรือ Webhook:
1. ดึงความแตกต่างของ PR ด้วยคำสั่ง `gh pr diff <pr_number>`
2. ตรวจสอบไฟล์ที่เปลี่ยนแปลงและประเมินผลกระทบต่อชุดทดสอบ
3. จัดทำรายงานสรุปการตรวจสอบในรูปแบบ Markdown พร้อมอ้างอิงโค้ด

คำสั่งจัดการ Skills ผ่าน CLI

# ดูรายการทักษะที่พร้อมใช้งาน
openclaw skills list

# ติดตั้งทักษะจาก ClawHub Registry อย่างเป็นทางการ
openclaw skills install web-researcher

# ติดตั้งทักษะโดยตรงจากคลัง GitHub
openclaw skills install git:github.com/openclaw-community/postgres-inspector@v1.4.0

# ตรวจสอบความถูกต้องและสิทธิ์ของทักษะ
openclaw skills verify web-researcher

# อัปเดตทักษะทั้งหมดที่มีในระบบ
openclaw skills update --all

6. ผลการทดสอบประสิทธิภาพ: SWE-bench และการใช้ทรัพยากร

ตัวชี้วัด / มาตรฐานการทดสอบ OpenClaw (Self-Hosted + Sonnet 4.6) Claude Code (CLI ทางการ) Devin (ระดับองค์กร) AutoGen v0.4 (Docker) แพลตฟอร์ม SaaS เชิงพาณิชย์
SWE-bench Verified (อัตราแก้ปัญหาสำเร็จ) 68.4% 72.4% 71.8% 52.1% 41.2%
ความแม่นยำในการเรียกใช้ Tool 94.6% 96.8% 95.2% 84.3% 79.5%
ความหน่วงของโทเค็นแรก (TTFT) 0.42s (Gateway ทำงานตลอดเวลา) 1.84s 4.80s (รอ VM คลาวด์บูต) 1.10s 2.45s
RAM ในสถานะ Idle (Gateway) 84 MB (ไฮบริด Node/Rust) N/A (CLI ชั่วคราว) โฮสต์บนคลาวด์ 420 MB (Python Engine) โฮสต์บนคลาวด์
RAM สูงสุด (5 งานพร้อมกัน) 340 MB N/A (เซสชันเดี่ยว) โฮสต์บนคลาวด์ 1,840 MB โฮสต์บนคลาวด์
เวลาในการเริ่ม Sandbox 180ms (คอนเทนเนอร์เตรียมพร้อม) ไม่มี (รันบนโฮสต์) ไฮเปอร์ไวเซอร์คลาวด์ 450ms Sandbox เฉพาะ
ช่องทางแชทที่รองรับ มากกว่า 20 แพลตฟอร์ม เฉพาะในเทอร์มินัล Web และ Slack เฉพาะผ่านโค้ด Python Web / Telegram
ความเป็นส่วนตัวและการถือครองข้อมูล 100% บนเซิร์ฟเวอร์ตนเอง เครื่องตัวเอง / Cloud API คลาวด์ SaaS ปิด 100% บนเซิร์ฟเวอร์ตนเอง คลาวด์ SaaS ปิด

7. ค่าบริการ OpenClaw: คำนวณต้นทุนโทเค็นจริง

คำค้นหา openclaw pricing เป็นที่นิยมมากเนื่องจากคำถามที่ว่า: OpenClaw เสียเงินหรือไม่?

คำตอบคือซอฟต์แวร์ OpenClaw นั้น ฟรีและเป็นโอเพนซอร์ส 100% (สัญญาอนุญาต Apache 2.0 / MIT) ไม่มีค่าธรรมเนียมรายเดือนหรือค่าสิทธิ์การใช้งาน ต้นทุนจริงมีเพียง 2 ส่วนคือ:

  1. โครงสร้างพื้นฐานเซิร์ฟเวอร์: ค่าเช่า VPS (ประมาณ $4–$15 ต่อเดือน)
  2. ค่า API โมเดลภาษา: จ่ายตามจริงให้กับผู้ให้บริการโมเดล (Anthropic, OpenAI, DeepSeek)

ตารางเปรียบเทียบค่าใช้จ่ายต่องาน 1,000 ครั้ง

แพลตฟอร์ม ค่าบริการรายเดือน โมเดลการคิดราคา ต้นทุนคำถามทั่วไป ต้นทุนงานซับซ้อน (ตรวจสอบโค้ด) ประเมินค่าใช้จ่าย (500 งาน/เดือน)
OpenClaw (DeepSeek V4) $0.00 จ่ายตรงผ่าน API ($0.14 / $0.28 ต่อ 1M) $0.0008 $0.012 $6.40 (รวมค่า VPS $5)
OpenClaw (Claude Sonnet 4.6) $0.00 จ่ายตรงผ่าน API ($3.00 / $15.00 ต่อ 1M) $0.0042 $0.058 $29.50 (รวมค่า VPS $5)
Claude Code (Anthropic) $0.00 (ต้องใช้แพ็กเกจ Max) $20/เดือน + ส่วนเกิน API $0.0042 $0.058 $45.00 – $80.00
Devin Enterprise $500.00 / ผู้ใช้ / เดือน มี ACU มาให้ + ซื้อเพิ่ม รวมในแพ็กเกจ รวมในแพ็กเกจ $500.00+
SaaS บอทเชิงพาณิชย์ $20.00 – $50.00 / เดือน กำหนดโควต้าข้อความจำกัด คิดตามโควต้า ติดลิมิตอย่างรวดเร็ว $20.00 – $100.00

8. การดูแลรักษาและการแก้ไขปัญหา

# ตรวจสอบสถานะของ Gateway และการเชื่อมต่อ
openclaw gateway status

# ติดตาม Log การทำงานแบบเรียลไทม์
openclaw logs --follow --lines 50

# ตรวจสอบความถูกต้องของคอนฟิก
openclaw config validate

# มอบหมายงานให้ Agent คิดวิเคราะห์เชิงลึก
openclaw agent --message "ตรวจสอบช่องโหว่ความปลอดภัยของโปรเจกต์นี้" --thinking high

# ส่งข้อความแจ้งเตือนเข้า Telegram โดยตรง
openclaw message send --target "tg:987654321" --message "กระบวนการ Deploy สำเร็จเรียบร้อยแล้ว"

ปัญหาที่พบบ่อยและวิธีแก้

  1. พอร์ตชนกัน (EADDRINUSE 18789): เซอร์วิสเดิมยังไม่ปิด สั่งปิดด้วย openclaw gateway stop หรือ kill -9 $(lsof -t -i :18789)
  2. ปัญหา Telegram ซ้ำซ้อน (409 Conflict): มีหลายคอนเทนเนอร์ใช้โทเค็นบอทตัวเดียวกัน
  3. ปัญหาเรื่องสิทธิ์ใน Workspace (EACCES): UID ไม่ตรงกัน แก้ไขด้วย chown -R 10001:10001 ~/.openclaw/workspace

9. บทสรุปและคำแนะนำ

OpenClaw ช่วยผสานข้อดีของเครื่องมือ CLI ที่ยืดหยุ่นเข้ากับระบบหลังบ้านขององค์กรที่แข็งแกร่ง ด้วยสถาปัตยกรรม Gateway ที่แยกส่วน การรองรับแอปแชทกว่า 20 แพลตฟอร์ม และความปลอดภัยจากการรันบน Docker ทำให้ทีมพัฒนาสามารถรักษาอธิปไตยของข้อมูลได้อย่างสมบูรณ์และลดค่าใช้จ่ายลงได้มากกว่า 80%

← บทความทั้งหมด
0 / 4