{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreig7gzl44rqyiq6o7kb7s2vxcevu3jhig6izjlvnmjxqw7qnoroy7u",
    "uri": "at://did:plc:25rdn5elo5izoxrmtis34zuk/app.bsky.feed.post/3mpkg4pt5cl42"
  },
  "coverImage": {
    "$type": "blob",
    "ref": {
      "$link": "bafkreiaacebmgg54bir7dnqwcrk7lvr4lbcnw2orohrkrdkxuwcv3oqd6e"
    },
    "mimeType": "image/webp",
    "size": 29460
  },
  "path": "/gophernment/cchaak-chatbot-thrrmdaa-suu-ai-thiithamngaanaethneraaaid-eraaetimaairekhaaaipbaang-4ilg",
  "publishedAt": "2026-07-01T01:30:51.000Z",
  "site": "https://dev.to",
  "tags": [
    "ai",
    "beginners",
    "tutorial",
    "llm",
    "Aider — Pair Programming กับ AI ใน Terminal",
    "Anthropic: Building effective agents"
  ],
  "textContent": "##  จาก chatbot ธรรมดา สู่ AI ที่ทำงานแทนเราได้ — เราเติมอะไรเข้าไปบ้าง?\n\nเวลาเราใช้ ChatGPT หรือ Claude ครั้งแรก — เราพิมพ์คำถาม ได้คำตอบ จบ\n\nนั่นคือ **LLM (Large Language Model)** ในรูปแบบพื้นฐานที่สุด: ข้อความเข้า → ข้อความออก\n\nแต่อยู่ ๆ มาวันหนึ่งเราเห็น AI ที่:\n\n  * เข้าเว็บหาข้อมูลให้\n  * อ่านไฟล์ในเครื่องเรา\n  * รันคำสั่ง terminal\n  * เขียนโค้ด สร้างไฟล์ รัน test\n  * ทำงานต่อเนื่องเป็นสิบนาทีโดยไม่ต้องคอยบอกทุกขั้นตอน\n\n\n\n**เราเติมอะไรลงไปบ้าง?** — จาก chatbot ธรรมดากลายเป็น agent ได้ยังไง?\n\n##  🧱 เริ่มจาก LLM เปล่า ๆ\n\nLLM คือ \"เครื่องทำนายคำถัดไป\" — มันเห็นข้อความก่อนหน้า แล้วเดาว่าคำต่อไปควรเป็นอะไร\n\n\n\n    [ผู้ใช้ถาม] → [LLM] → [คำตอบ]\n\n\nสิ่งที่ LLM **ทำไม่ได้** ในสภาพนี้:\n\n  * จำว่าเมื่อวานเราคุยอะไรกัน (ไม่มี memory)\n  * ค้นหาข้อมูลในเน็ต (ไม่มี tool)\n  * รู้วันที่วันนี้ (ถูก train ด้วยข้อมูลเก่า)\n  * ทำอะไรบนเครื่องเรา (ไม่มีสิทธิ์)\n\n\n\nมันคือสมองที่เก่ง — แต่ไม่มีแขน ไม่มีขา ไม่มีความจำ\n\n##  ➕ Layer 1: System Prompt — ใส่ \"บทบาท\" และ \"กติกา\"\n\nสิ่งแรกที่เราเติม: **system prompt** — ข้อความที่บอก LLM ว่า \"คุณเป็นใคร\" และ \"คุณทำอะไรได้บ้าง\"\n\n\n\n    คุณคือ AI ผู้ช่วยชื่อ Hermes\n    คุณทำงานบนเครื่อง Linux ของผู้ใช้\n    คุณตอบเป็นภาษาไทย อ่านง่าย เป็นกันเอง\n\n\nSystem prompt คือ **\"job description\"** ของ AI — มันเปลี่ยน LLM จาก \"เครื่องทำนายคำ\" เป็น \"ผู้ช่วยที่มีตัวตน\"\n\n##  ➕ Layer 2: Tool Calling — ใส่ \"แขน\" และ \"ขา\"\n\nLLM เก่งเรื่องภาษา แต่มันกดเครื่องคิดเลขไม่เป็น — เราก็เลยให้ **เครื่องมือ (tools)** กับมัน\n\nวิธีทำงาน:\n\n\n\n    1. ผู้ใช้: \"เช็คสภาพอากาศกรุงเทพวันนี้\"\n    2. LLM คิด: \"ฉันต้องเรียกฟังก์ชัน get_weather(city='Bangkok')\"\n    3. ระบบ: เรียก get_weather() จริง → ได้ผลลัพธ์ { temp: 35, humidity: 70 }\n    4. ระบบ: ส่งผลลัพธ์กลับไปให้ LLM\n    5. LLM: \"วันนี้กรุงเทพ 35 องศา ความชื้น 70% ครับ\"\n\n\n**Tools ที่เราให้ AI ได้:**\n\nTool | ตัวอย่าง | LLM ทำอะไร\n---|---|---\nWeb search | `search(\"ราคาทองวันนี้\")` | ค้นเน็ต\nFile read | `read_file(\"config.yaml\")` | อ่านไฟล์\nTerminal | `terminal(\"git status\")` | รันคำสั่ง\nDatabase | `query(\"SELECT * FROM users\")` | ถาม database\n\n**สิ่งที่เปลี่ยน:** LLM ไม่ได้แค่ \"พูด\" แล้ว — มัน \"ทำ\" ได้แล้ว\n\n##  ➕ Layer 3: Loop — ใส่ \"ความต่อเนื่อง\"\n\ntool ครั้งเดียวอาจไม่พอ — LLM อาจต้องเรียก tool หลายรอบเพื่อทำงานชิ้นหนึ่งให้เสร็จ\n\n\n\n    1. ผู้ใช้: \"สร้างไฟล์ README.md ให้ project นี้\"\n\n    2. LLM → tool: read_file(\"main.go\")     ← อ่านก่อนว่ามีอะไร\n    3. LLM → tool: search_files(\"*.go\")      ← หาไฟล์ทั้งหมด\n    4. LLM → tool: read_file(\"go.mod\")       ← อ่าน module name\n    5. LLM → tool: write_file(\"README.md\")   ← เขียน!\n    6. LLM → ผู้ใช้: \"สร้าง README.md เสร็จแล้วครับ\"\n\n\nนี่คือ **Agent Loop** — วงจร \"คิด → เรียก tool → ดูผล → คิดต่อ → เรียก tool อีก\" — ไปเรื่อย ๆ จนกว่างานจะเสร็จ\n\n> 💡 **สังเกต:** ตอนนี้ LLM ไม่ได้ตอบทันทีแล้ว — มันใช้เวลา \"ทำงาน\" หลายวินาที หรือหลายนาที\n\n##  ➕ Layer 4: Memory — ใส่ \"ความจำ\"\n\nLoop ช่วยให้ AI ทำงานต่อเนื่องใน session เดียว — แต่พอปิด session ทุกอย่างหายหมด\n\nเราเติม **memory** — ระบบจดจำสิ่งที่เกิดขึ้นข้าม session:\n\n\n\n    Session 1: ผู้ใช้บอกว่า \"ผมใช้ Go เป็นหลัก ชอบ pattern แบบนี้\"\n    Session 2: AI ทักว่า \"คราวที่แล้วคุณบอกว่าชอบ table-driven test — จะใช้ pattern นั้นไหม?\" ← จำได้!\n\n\nMemory เก็บอะไร:\n\n  * ข้อมูลผู้ใช้ (ชื่อ, preference, ภาษาที่ชอบ)\n  * ข้อตกลงที่เคยทำไว้ (\"ไม่ publish blog โดยไม่ขอ\")\n  * วิธีการทำงานที่เคยสำเร็จ (\"เวลาใช้ LED ต้องกด button.click()\")\n\n\n\n##  ➕ Layer 5: Planning & Reasoning — ใส่ \"การคิดก่อนทำ\"\n\nLLM เก่งเรื่องตอบคำถาม — แต่เวลาเจองานซับซ้อน มันอาจ \"ทำเลย\" โดยไม่คิดก่อน\n\nเราเติม **reasoning** — บังคับให้ AI \"คิดดัง ๆ\" ก่อนลงมือ:\n\n\n\n    ผู้ใช้: \"หา condo ในกรุงเทพ ราคา 7-8 ล้าน ขนาด ≥60 ตรม.\"\n\n    AI คิด (reasoning):\n    \"1. ต้องเข้าเว็บ led.go.th\n     2. กรอกฟอร์ม: ประเภท=ห้องชุด, จังหวัด=กรุงเทพ, ราคา=7-8M, ขนาด≥60\n     3. แต่เว็บมี CAPTCHA — ต้องอ่าน CAPTCHA ทีหลังสุด\n     4. ต้องใช้ button.click() — form.submit() ใช้ไม่ได้\n     5. ถ้าไม่มีในห้วยขวาง → ขยายเป็นทั้งกรุงเทพ\"\n\n    AI ลงมือทำตามแผน → สำเร็จ\n\n\nนี่คือ **reasoning** — AI ไม่ได้ตอบทันที แต่มัน \"คิด\" ก่อน — แล้วค่อยทำตามแผน\n\n##  ➕ Layer 6: Skills — ใส่ \"ประสบการณ์\"\n\nพอ AI ทำงานซ้ำ ๆ — เราอยากให้มัน \"จำวิธีทำ\" และใช้ซ้ำได้โดยไม่ต้องคิดใหม่ทุกครั้ง\n\nเราเติม **skills** — ไฟล์ที่บรรจุ \"วิธีการทำงานที่พิสูจน์แล้ว\":\n\n\n\n    # Skill: deepseek-balance\n    วิธีเช็คยอดเงิน DeepSeek:\n    1. อ่าน key จาก ~/.bashrc\n    2. เรียก curl https://api.deepseek.com/user/balance\n    3. แสดงผลเป็นภาษาไทย\n\n\nคราวหน้าเวลา AI ต้องเช็คยอด — มันโหลด skill นี้ → ทำตามขั้นตอน → เสร็จใน 3 วิ — ไม่ต้องคิดใหม่\n\nSkill = **\"ประสบการณ์ที่บันทึกไว้\"** — เหมือน SOP ขององค์กร\n\n##  ➕ Layer 7: Multi-Agent — ใส่ \"ทีม\"\n\nงานบางอย่างใหญ่มาก — AI ตัวเดียวทำงานไม่ทัน\n\nเราเติม **delegation** — AI spawn ลูกน้องไปทำงานย่อย:\n\n\n\n    [AI หลัก] → \"งานนี้มี 3 อย่าง: 1) research Go 1.27, 2) เขียน blog, 3) โพสต์\"\n               → spawn subagent 1: research Go 1.27\n               → spawn subagent 2: ออกแบบโครงสร้าง blog\n               → รอผล → เขียน blog → โพสต์\n\n\nทำงานพร้อมกัน — เสร็จเร็วขึ้น — เหมือนมีทีมช่วย\n\n##  🧩 ประกอบร่าง — Agentic AI\n\nเอา Layer ทั้งหมดมารวมกัน:\n\n\n\n    LLM เปล่า\n      + System Prompt        → มี \"ตัวตน\"\n      + Tool Calling         → มี \"มือ\" ทำงานได้\n      + Loop                 → ทำงานต่อเนื่อง ไม่ใช่ตอบทีเดียวจบ\n      + Memory               → จำได้ข้าม session\n      + Reasoning            → คิดก่อนทำ\n      + Skills               → ใช้ประสบการณ์ซ้ำ\n      + Multi-Agent          → มีทีมช่วย\n    ─────────────────────────────────────\n      = Agentic AI\n\n\nAgentic AI ไม่ได้ฉลาดกว่า LLM — มันแค่มี **\"เครื่องมือ\"** มากกว่า และถูกออกแบบให้ **\"ทำงาน\"** ไม่ใช่แค่ **\"ตอบ\"**\n\n##  🎯 สรุปให้เห็นภาพ\n\n\n               ┌──────────────────────────┐\n               │      User: \"สร้าง API\"    │\n               └──────────┬───────────────┘\n                          ▼\n               ┌──────────────────────────┐\n               │   System Prompt: กติกา    │  ← \"คุณเป็น dev ที่ใช้ Go\"\n               └──────────┬───────────────┘\n                          ▼\n               ┌──────────────────────────┐\n               │      Reasoning: คิดก่อน    │  ← \"ต้องสร้าง handler, service, repo\"\n               └──────────┬───────────────┘\n                          ▼\n         ┌────────────────┼────────────────┐\n         ▼                ▼                ▼\n    ┌─────────┐    ┌──────────┐    ┌──────────┐\n    │  Tool   │    │   Tool   │    │   Tool   │\n    │  อ่าน    │    │  เขียน    │    │   รัน     │\n    │  โค้ด    │    │  ไฟล์     │    │  test    │\n    └────┬────┘    └────┬─────┘    └────┬─────┘\n         │              │               │\n         └──────────────┼───────────────┘\n                        ▼\n               ┌──────────────────────────┐\n               │  Loop: ทำซ้ำจนกว่าจะเสร็จ   │\n               └──────────┬───────────────┘\n                          ▼\n               ┌──────────────────────────┐\n               │  Memory: บันทึกสิ่งที่เรียนรู้    │  ← \"คราวหน้าใช้วิธีนี้\"\n               └──────────────────────────┘\n\n\n##  ต่อไปจากนี้\n\nพอเข้าใจตรงนี้แล้ว — เวลาอ่านเรื่อง **MCP (Model Context Protocol)** , **ACP (Agent Client Protocol)** , **RAG (Retrieval-Augmented Generation)** — คุณจะเห็นว่ามันคือ layer ที่เติมเข้าไปเพิ่ม:\n\n  * MCP = วิธี standard ในการให้ tool กับ AI\n  * RAG = วิธีให้ AI \"อ่านเอกสาร\" ก่อนตอบ\n  * ACP = วิธี standard ในการคุยระหว่าง IDE กับ agent\n\n\n\nทั้งหมดคือการเติม \"layer\" — และทั้งหมดเริ่มจาก LLM เปล่า ๆ ตัวเดียว\n\n> 📚 **อ่านต่อ:**\n>\n>   * Aider — Pair Programming กับ AI ใน Terminal — ตัวอย่าง agentic AI ที่ใช้จริง\n>   * Anthropic: Building effective agents — แนวคิดการออกแบบ agentic system\n>\n",
  "title": "จาก chatbot ธรรมดา สู่ AI ที่ทำงานแทนเราได้ — เราเติมอะไรเข้าไปบ้าง?"
}