>400 subscribers


อันนี้เป็น e-book ที่ผมรวมรวมจากการเรียนรู้ Openclaw
มันไม่ยาก และสำคัญมาก ถ้าเราเข้าใจไฟล์ต่างๆ เราจะสามารถสอน Openclaw ได้ดีขึ้น มันจะเชื่อฟังเรา และทำงานได้ดีกว่าเดิมมากๆ
⏰ อ่านจบประหยัดเวลาชีวิตจากนี้ไป 100x
เราจะคุยกันเรื่องไฟล์ต่าง ๆ ที่เป็นหัวใจของระบบ เช่น IDENTITY.md, SOUL.md, MEMORY.md, tools.md, skills folder, sub-agents, และการ config memory search
หนังสือนี้จะเน้น การเปรียบเทียบไฟล์และความแตกต่างที่สำคัญ เพื่อให้คุณเข้าใจชัดเจนว่าทำไมแต่ละไฟล์ถึงมีบทบาทต่างกัน และจะช่วยให้ Agent ของคุณทำงานได้สม่ำเสมอ มีความจำดี และฉลาดขึ้น
ผมจัดเป็นหลายบท โดยแต่ละบทจะมีส่วนเปรียบเทียบแบบตารางเพื่อความชัดเจน สุดท้ายมีบทสรุปและคำแนะนำปฏิบัติ
สอนอะไรไป ย้ำมันทุกครั้งว่าบันทึกลงไฟล์รึยัง บันทึกไฟล์ไหน เพราะอะไร
OpenClaw เป็นระบบที่ช่วยให้คุณสร้าง AI Agent ที่ทำงานบนเครื่อง (local) รองรับการสนทนา, tools, sub-agents, และ memory system โดยไม่ต้องพึ่ง cloud เต็มรูปแบบ การติดตั้งครั้งเดียวจะให้คุณ 1 Main Agent แต่สามารถขยายเป็น multi-agent ได้
ไฟล์สำคัญทั้งหมดอยู่ใน folder workspace (เช่น /Users/nanobro/.openclaw/workspace) ซึ่งเป็น "บ้าน" ของ Agent ไฟล์เหล่านี้ถูกโหลดทุก session เพื่อให้ Agent มีตัวตนและความจำ
ไฟล์/โฟลเดอร์ | บทบาทหลัก | ความแตกต่างสำคัญจากไฟล์อื่น ๆ | ตัวอย่างเนื้อหา |
|---|---|---|---|
IDENTITY.md | กำหนดตัวตนภายนอก (presentation) | เน้น "ภาพลักษณ์" เช่น ชื่อ, vibe, emoji | ชื่อ: nanobro Assistant, Vibe: มิตรภาพมืออาชีพ |
SOUL.md | กำหนดจิตวิญญาณภายใน (behavior) | เน้น "กฎคิดและพฤติกรรม" เช่น core values | กฎ: ต้อง memory_search ก่อนตอบ preferences |
MEMORY.md | ความจำถาวร (long-term facts) | เน้น "ข้อมูลที่จำ" ไม่ใช่กฎ | Preferences: ชอบ dark theme |
tools.md | รายชื่อเครื่องมือ (low-level) | เน้น "มี tool อะไร" ไม่ใช่ขั้นตอน | memory_search, web_search |
skills/ (folder) | Workflow ระดับสูง (high-level) | เน้น "วิธีใช้ tool รวมกัน" | research.md: ขั้นตอน search + summarize |
sessions/ (folder) | Session ชั่วคราว (รวม sub-agents) | เน้น "การทำงานชั่วคราว" ไม่ถาวร | agent-main-subagent-xxx/ |
ความแตกต่างสำคัญ: ไฟล์ .md เหล่านี้เป็น Markdown ธรรมดา แต่ IDENTITY/SOUL/MEMORY เน้น "ตัวตนและความจำ" ในขณะที่ tools/skills เน้น "เครื่องมือและ workflow" Sessions เป็น dynamic ไม่ใช่ static file
IDENTITY.md และ SOUL.md เป็นไฟล์ที่กำหนด "ใครคือ Agent" แต่ IDENTITY เน้นการนำเสนอตัวเองต่อผู้ใช้ ในขณะที่ SOUL เน้นกฎภายในที่ควบคุมการคิดและตัดสินใจ
ด้าน | IDENTITY.md | SOUL.md | ความแตกต่างสำคัญ |
|---|---|---|---|
บทบาทหลัก | ตัวตนภายนอก (self-presentation) | จิตวิญญาณภายใน (core personality/behavior) | IDENTITY เป็น "ป้ายชื่อ" SOUL เป็น "DNA" |
เนื้อหาหลัก | ชื่อ, summary, vibe, emoji, avatar | Core values, boundaries, decision rules, tone | IDENTITY เน้น visual/external SOUL เน้น logic/internal |
การโหลด | โหลดหลัง SOUL เพื่อปรับ presentation | โหลดก่อนสุดเพื่อกำหนด behavior | SOUL มี priority สูงกว่าเพราะควบคุมการคิด |
การใช้งาน | ปรับตาม platform (e.g., formal ใน WhatsApp) | กฎถาวร เช่น "ต้อง memory_search ก่อน" | IDENTITY ยืดหยุ่น SOUL เข้มงวด |
ตัวอย่าง | Vibe: สนุกสนาน, Emoji: 🦞 | กฎ: Proactive แต่ไม่ intrusive | IDENTITY เปลี่ยนง่าย SOUL เปลี่ยนยากเพราะกระทบพฤติกรรม |
ความแตกต่างสำคัญ: ถ้า Agent พูดไม่ตรง vibe → แก้ IDENTITY แต่ถ้าตัดสินใจผิด (e.g., ลืม search memory) → แก้ SOUL SOUL สามารถรองรับหลาย persona (หลาย SOUL.md) แต่ IDENTITY มักเป็นฐานเดียว
SOUL.md และ MEMORY.md คล้ายกันเพราะทั้งคู่ถูกโหลดทุก session และช่วยให้ Agent สม่ำเสมอ แต่ SOUL เป็น "กฎ" ในขณะที่ MEMORY เป็น "ข้อมูล"
ด้าน | SOUL.md | MEMORY.md | ความแตกต่างสำคัญ |
|---|---|---|---|
บทบาทหลัก | กฎพฤติกรรมและการคิด (how to behave) | ข้อมูลถาวรที่ต้องจำ (what to remember) | SOUL เป็น "คู่มือชีวิต" MEMORY เป็น "สมุดบันทึก" |
เนื้อหาหลัก | Values, boundaries, memory management rules | Preferences, projects, key facts, lessons | SOUL มี logic/rules MEMORY มี facts/data |
ใครแก้ไข | คุณเป็นหลัก เพื่อกำหนด persona | Agent + คุณ (Agent เขียนจากสนทนา) | SOUL แก้เพื่อเปลี่ยนนิสัย MEMORY แก้เพื่อเพิ่มข้อมูล |
การโหลด | ทุก session (private/group) | เฉพาะ private session (privacy) | MEMORY ปกป้องข้อมูลส่วนตัวมากกว่า |
ตัวอย่าง | กฎ: เมื่อผู้ใช้บอก "เคยบอกแล้ว" → search memory | Preferences: ชอบ dark theme, ชื่อ: Nanobro | SOUL บอก "ทำยังไง" MEMORY บอก "ข้อมูลอะไร" |
ความแตกต่างสำคัญ: ถ้า Agent ลืม preferences → MEMORY มีปัญหา แต่ถ้า Agent ไม่ search memory เลย → SOUL มีปัญหา (ต้องเพิ่มกฎใน SOUL) MEMORY เป็น curated (ไม่บันทึกทุกอย่าง) ต่างจาก daily notes ที่อัตโนมัติ
tools.md และ skills เป็นส่วน "เครื่องมือ" แต่ tools.md เป็นรายชื่อดิบ ในขณะที่ skills เป็นสูตรใช้งานรวมกัน
ด้าน | tools.md | skills (folder) | ความแตกต่างสำคัญ |
|---|---|---|---|
บทบาทหลัก | รายชื่อ tool ต่ำระดับ (low-level) | Workflow สูงระดับ (high-level) | tools เป็น "ส่วนประกอบ" skills เป็น "สูตรอาหาร" |
โครงสร้าง | ไฟล์เดียว (Markdown list) | Folder มีหลายไฟล์ (.md แยกตาม skill) | tools เรียบง่าย skills ซับซ้อนกว่า |
เนื้อหาหลัก | ชื่อ tool + parameters + description | Steps, tools used, output format | tools บอก "มีอะไร" skills บอก "ใช้ยังไง" |
การเรียก | Agent เรียก tool ทีละตัว | Agent เรียก skill ชื่อเดียว (e.g., research) | skills อาศัย tools แต่ทำงานอัตโนมัติมากกว่า |
ตัวอย่าง | memory_search(query) | research.md: web_search + browse + summarize | tools ต้องคิดเอง skills มีขั้นตอนสำเร็จรูป |
ความแตกต่างสำคัญ: ถ้า tool ไม่มีใน tools.md → skills เรียกไม่ได้ skills เหมาะกับงานบ่อย ๆ (e.g., deep_research) แต่ tools เป็นฐานที่ยืดหยุ่นกว่า
Sub-agents, skills, และการกำหนด model เป็นวิธีขยาย Agent แต่ sub-agents เน้น parallel/background ในขณะที่ skills เน้น workflow และ model เน้นคุณภาพ
ด้าน | Sub-agents | Skills | Model Selection |
|---|---|---|---|
บทบาทหลัก | Agent ย่อยสำหรับงาน parallel/long-running | Workflow รวม tool | เลือก AI model สำหรับงานเฉพาะ |
Isolation | สูง (context/memory แยก) | ต่ำ (ใช้ context เดียวกับ main) | ไม่มี (แค่เปลี่ยน engine) |
Model | กำหนดแยกได้ (e.g., Claude สำหรับ sub) | ใช้ model เดียวกับ main | กำหนดได้ทุกที่ (main/sub/skill) |
ตำแหน่ง | ใน sessions/ (ชั่วคราว ไม่มี folder ถาวร) | ใน skills/ folder | ใน config หรือ spawn command |
ตัวอย่าง | Spawn สำหรับ research ยาว | research.md สำหรับ search สั้น | ใช้ Gemini สำหรับงานเร็ว |
ความแตกต่างสำคัญ: Sub-agents สำหรับงานหนัก/parallel (e.g., ไม่ block main) skills สำหรับ routine workflow Model สำหรับ optimize cost/speed/quality Sub-agents ไม่ spawn อัตโนมัติเว้นแต่ตั้งใน SOUL
Memory ใน OpenClaw มีหลายชั้น: MEMORY.md (ถาวร), daily notes (สั้น), และ search tools Config memorySearch ช่วยให้ search ดีขึ้น (local แนะนำสำหรับ Mac Mini M4 RAM 16GB)
ด้าน | MEMORY.md | Daily Notes (memory/YYYY-MM-DD.md) | memory_search Tool |
|---|---|---|---|
ประเภท | Long-term curated | Short-term automatic | Retrieval tool |
การบันทึก | เขียน manual (via SOUL rules) | Append อัตโนมัติ | ค้น semantic/keyword |
โหลด | ทุก private session | เฉพาะวันนี้ + เมื่อวาน | เรียกเมื่อต้องการ (mandatory ใน SOUL) |
Config | ไม่ต้อง | ไม่ต้อง | เปิดใน config: enabled=true, provider=local |
ความแตกต่างสำคัญ: ถ้า Agent ลืม → เพิ่มกฎใน SOUL เพื่อ flush เข้า MEMORY Local provider ดีสำหรับ privacy/speed บนเครื่องคุณ
จากบทสนทนาของเรา OpenClaw เป็นระบบที่ยืดหยุ่น แต่ความสำเร็จอยู่ที่การเปรียบเทียบและ balance ไฟล์ต่าง ๆ: IDENTITY สำหรับภาพลักษณ์, SOUL สำหรับกฎ, MEMORY สำหรับข้อมูล, tools/skills สำหรับเครื่องมือ, sub-agents สำหรับขยาย
คำแนะนำ:
เริ่มจากแก้ SOUL.md ด้วยส่วน memory management ที่เราคุย
Config memorySearch เป็น local
ทดสอบโดยบอก Agent "จำไว้ว่าฉันชอบ dark theme" แล้วถามซ้ำวันถัดไป
อันนี้เป็น e-book ที่ผมรวมรวมจากการเรียนรู้ Openclaw
มันไม่ยาก และสำคัญมาก ถ้าเราเข้าใจไฟล์ต่างๆ เราจะสามารถสอน Openclaw ได้ดีขึ้น มันจะเชื่อฟังเรา และทำงานได้ดีกว่าเดิมมากๆ
⏰ อ่านจบประหยัดเวลาชีวิตจากนี้ไป 100x
เราจะคุยกันเรื่องไฟล์ต่าง ๆ ที่เป็นหัวใจของระบบ เช่น IDENTITY.md, SOUL.md, MEMORY.md, tools.md, skills folder, sub-agents, และการ config memory search
หนังสือนี้จะเน้น การเปรียบเทียบไฟล์และความแตกต่างที่สำคัญ เพื่อให้คุณเข้าใจชัดเจนว่าทำไมแต่ละไฟล์ถึงมีบทบาทต่างกัน และจะช่วยให้ Agent ของคุณทำงานได้สม่ำเสมอ มีความจำดี และฉลาดขึ้น
ผมจัดเป็นหลายบท โดยแต่ละบทจะมีส่วนเปรียบเทียบแบบตารางเพื่อความชัดเจน สุดท้ายมีบทสรุปและคำแนะนำปฏิบัติ
สอนอะไรไป ย้ำมันทุกครั้งว่าบันทึกลงไฟล์รึยัง บันทึกไฟล์ไหน เพราะอะไร
OpenClaw เป็นระบบที่ช่วยให้คุณสร้าง AI Agent ที่ทำงานบนเครื่อง (local) รองรับการสนทนา, tools, sub-agents, และ memory system โดยไม่ต้องพึ่ง cloud เต็มรูปแบบ การติดตั้งครั้งเดียวจะให้คุณ 1 Main Agent แต่สามารถขยายเป็น multi-agent ได้
ไฟล์สำคัญทั้งหมดอยู่ใน folder workspace (เช่น /Users/nanobro/.openclaw/workspace) ซึ่งเป็น "บ้าน" ของ Agent ไฟล์เหล่านี้ถูกโหลดทุก session เพื่อให้ Agent มีตัวตนและความจำ
ไฟล์/โฟลเดอร์ | บทบาทหลัก | ความแตกต่างสำคัญจากไฟล์อื่น ๆ | ตัวอย่างเนื้อหา |
|---|---|---|---|
IDENTITY.md | กำหนดตัวตนภายนอก (presentation) | เน้น "ภาพลักษณ์" เช่น ชื่อ, vibe, emoji | ชื่อ: nanobro Assistant, Vibe: มิตรภาพมืออาชีพ |
SOUL.md | กำหนดจิตวิญญาณภายใน (behavior) | เน้น "กฎคิดและพฤติกรรม" เช่น core values | กฎ: ต้อง memory_search ก่อนตอบ preferences |
MEMORY.md | ความจำถาวร (long-term facts) | เน้น "ข้อมูลที่จำ" ไม่ใช่กฎ | Preferences: ชอบ dark theme |
tools.md | รายชื่อเครื่องมือ (low-level) | เน้น "มี tool อะไร" ไม่ใช่ขั้นตอน | memory_search, web_search |
skills/ (folder) | Workflow ระดับสูง (high-level) | เน้น "วิธีใช้ tool รวมกัน" | research.md: ขั้นตอน search + summarize |
sessions/ (folder) | Session ชั่วคราว (รวม sub-agents) | เน้น "การทำงานชั่วคราว" ไม่ถาวร | agent-main-subagent-xxx/ |
ความแตกต่างสำคัญ: ไฟล์ .md เหล่านี้เป็น Markdown ธรรมดา แต่ IDENTITY/SOUL/MEMORY เน้น "ตัวตนและความจำ" ในขณะที่ tools/skills เน้น "เครื่องมือและ workflow" Sessions เป็น dynamic ไม่ใช่ static file
IDENTITY.md และ SOUL.md เป็นไฟล์ที่กำหนด "ใครคือ Agent" แต่ IDENTITY เน้นการนำเสนอตัวเองต่อผู้ใช้ ในขณะที่ SOUL เน้นกฎภายในที่ควบคุมการคิดและตัดสินใจ
ด้าน | IDENTITY.md | SOUL.md | ความแตกต่างสำคัญ |
|---|---|---|---|
บทบาทหลัก | ตัวตนภายนอก (self-presentation) | จิตวิญญาณภายใน (core personality/behavior) | IDENTITY เป็น "ป้ายชื่อ" SOUL เป็น "DNA" |
เนื้อหาหลัก | ชื่อ, summary, vibe, emoji, avatar | Core values, boundaries, decision rules, tone | IDENTITY เน้น visual/external SOUL เน้น logic/internal |
การโหลด | โหลดหลัง SOUL เพื่อปรับ presentation | โหลดก่อนสุดเพื่อกำหนด behavior | SOUL มี priority สูงกว่าเพราะควบคุมการคิด |
การใช้งาน | ปรับตาม platform (e.g., formal ใน WhatsApp) | กฎถาวร เช่น "ต้อง memory_search ก่อน" | IDENTITY ยืดหยุ่น SOUL เข้มงวด |
ตัวอย่าง | Vibe: สนุกสนาน, Emoji: 🦞 | กฎ: Proactive แต่ไม่ intrusive | IDENTITY เปลี่ยนง่าย SOUL เปลี่ยนยากเพราะกระทบพฤติกรรม |
ความแตกต่างสำคัญ: ถ้า Agent พูดไม่ตรง vibe → แก้ IDENTITY แต่ถ้าตัดสินใจผิด (e.g., ลืม search memory) → แก้ SOUL SOUL สามารถรองรับหลาย persona (หลาย SOUL.md) แต่ IDENTITY มักเป็นฐานเดียว
SOUL.md และ MEMORY.md คล้ายกันเพราะทั้งคู่ถูกโหลดทุก session และช่วยให้ Agent สม่ำเสมอ แต่ SOUL เป็น "กฎ" ในขณะที่ MEMORY เป็น "ข้อมูล"
ด้าน | SOUL.md | MEMORY.md | ความแตกต่างสำคัญ |
|---|---|---|---|
บทบาทหลัก | กฎพฤติกรรมและการคิด (how to behave) | ข้อมูลถาวรที่ต้องจำ (what to remember) | SOUL เป็น "คู่มือชีวิต" MEMORY เป็น "สมุดบันทึก" |
เนื้อหาหลัก | Values, boundaries, memory management rules | Preferences, projects, key facts, lessons | SOUL มี logic/rules MEMORY มี facts/data |
ใครแก้ไข | คุณเป็นหลัก เพื่อกำหนด persona | Agent + คุณ (Agent เขียนจากสนทนา) | SOUL แก้เพื่อเปลี่ยนนิสัย MEMORY แก้เพื่อเพิ่มข้อมูล |
การโหลด | ทุก session (private/group) | เฉพาะ private session (privacy) | MEMORY ปกป้องข้อมูลส่วนตัวมากกว่า |
ตัวอย่าง | กฎ: เมื่อผู้ใช้บอก "เคยบอกแล้ว" → search memory | Preferences: ชอบ dark theme, ชื่อ: Nanobro | SOUL บอก "ทำยังไง" MEMORY บอก "ข้อมูลอะไร" |
ความแตกต่างสำคัญ: ถ้า Agent ลืม preferences → MEMORY มีปัญหา แต่ถ้า Agent ไม่ search memory เลย → SOUL มีปัญหา (ต้องเพิ่มกฎใน SOUL) MEMORY เป็น curated (ไม่บันทึกทุกอย่าง) ต่างจาก daily notes ที่อัตโนมัติ
tools.md และ skills เป็นส่วน "เครื่องมือ" แต่ tools.md เป็นรายชื่อดิบ ในขณะที่ skills เป็นสูตรใช้งานรวมกัน
ด้าน | tools.md | skills (folder) | ความแตกต่างสำคัญ |
|---|---|---|---|
บทบาทหลัก | รายชื่อ tool ต่ำระดับ (low-level) | Workflow สูงระดับ (high-level) | tools เป็น "ส่วนประกอบ" skills เป็น "สูตรอาหาร" |
โครงสร้าง | ไฟล์เดียว (Markdown list) | Folder มีหลายไฟล์ (.md แยกตาม skill) | tools เรียบง่าย skills ซับซ้อนกว่า |
เนื้อหาหลัก | ชื่อ tool + parameters + description | Steps, tools used, output format | tools บอก "มีอะไร" skills บอก "ใช้ยังไง" |
การเรียก | Agent เรียก tool ทีละตัว | Agent เรียก skill ชื่อเดียว (e.g., research) | skills อาศัย tools แต่ทำงานอัตโนมัติมากกว่า |
ตัวอย่าง | memory_search(query) | research.md: web_search + browse + summarize | tools ต้องคิดเอง skills มีขั้นตอนสำเร็จรูป |
ความแตกต่างสำคัญ: ถ้า tool ไม่มีใน tools.md → skills เรียกไม่ได้ skills เหมาะกับงานบ่อย ๆ (e.g., deep_research) แต่ tools เป็นฐานที่ยืดหยุ่นกว่า
Sub-agents, skills, และการกำหนด model เป็นวิธีขยาย Agent แต่ sub-agents เน้น parallel/background ในขณะที่ skills เน้น workflow และ model เน้นคุณภาพ
ด้าน | Sub-agents | Skills | Model Selection |
|---|---|---|---|
บทบาทหลัก | Agent ย่อยสำหรับงาน parallel/long-running | Workflow รวม tool | เลือก AI model สำหรับงานเฉพาะ |
Isolation | สูง (context/memory แยก) | ต่ำ (ใช้ context เดียวกับ main) | ไม่มี (แค่เปลี่ยน engine) |
Model | กำหนดแยกได้ (e.g., Claude สำหรับ sub) | ใช้ model เดียวกับ main | กำหนดได้ทุกที่ (main/sub/skill) |
ตำแหน่ง | ใน sessions/ (ชั่วคราว ไม่มี folder ถาวร) | ใน skills/ folder | ใน config หรือ spawn command |
ตัวอย่าง | Spawn สำหรับ research ยาว | research.md สำหรับ search สั้น | ใช้ Gemini สำหรับงานเร็ว |
ความแตกต่างสำคัญ: Sub-agents สำหรับงานหนัก/parallel (e.g., ไม่ block main) skills สำหรับ routine workflow Model สำหรับ optimize cost/speed/quality Sub-agents ไม่ spawn อัตโนมัติเว้นแต่ตั้งใน SOUL
Memory ใน OpenClaw มีหลายชั้น: MEMORY.md (ถาวร), daily notes (สั้น), และ search tools Config memorySearch ช่วยให้ search ดีขึ้น (local แนะนำสำหรับ Mac Mini M4 RAM 16GB)
ด้าน | MEMORY.md | Daily Notes (memory/YYYY-MM-DD.md) | memory_search Tool |
|---|---|---|---|
ประเภท | Long-term curated | Short-term automatic | Retrieval tool |
การบันทึก | เขียน manual (via SOUL rules) | Append อัตโนมัติ | ค้น semantic/keyword |
โหลด | ทุก private session | เฉพาะวันนี้ + เมื่อวาน | เรียกเมื่อต้องการ (mandatory ใน SOUL) |
Config | ไม่ต้อง | ไม่ต้อง | เปิดใน config: enabled=true, provider=local |
ความแตกต่างสำคัญ: ถ้า Agent ลืม → เพิ่มกฎใน SOUL เพื่อ flush เข้า MEMORY Local provider ดีสำหรับ privacy/speed บนเครื่องคุณ
จากบทสนทนาของเรา OpenClaw เป็นระบบที่ยืดหยุ่น แต่ความสำเร็จอยู่ที่การเปรียบเทียบและ balance ไฟล์ต่าง ๆ: IDENTITY สำหรับภาพลักษณ์, SOUL สำหรับกฎ, MEMORY สำหรับข้อมูล, tools/skills สำหรับเครื่องมือ, sub-agents สำหรับขยาย
คำแนะนำ:
เริ่มจากแก้ SOUL.md ด้วยส่วน memory management ที่เราคุย
Config memorySearch เป็น local
ทดสอบโดยบอก Agent "จำไว้ว่าฉันชอบ dark theme" แล้วถามซ้ำวันถัดไป
Share Dialog
Share Dialog
No comments yet