
"ในยุคที่ AI เข้ามามีบทบาทสำคัญ การสร้าง Chatbot ที่ ‘ฉลาด' และ ‘เข้าใจบริบท' ไม่จำเป็นต้องเขียนโค้ดที่ซับซ้อนอีกต่อไป"
ใน Codelab นี้ คุณจะได้เรียนรู้วิธีสร้าง LINE AI Chatbot แบบ Step-by-Step และที่สำคัญคือไม่ต้องเขียนโค้ด โดยใช้ Technology Stack ที่ทรงพลังและเริ่มต้นได้ฟรี:
LINE Messaging API คือ API ที่ให้บริการโดย LINE Corporation ที่จะทำหน้าที่เป็นตัวกลางที่จะเชื่อมต่อ Server ของเราเข้ากับ LINE Official Account ทำให้เราสามารถเขียนโปรแกรมเพื่อสร้างบริการที่เราต้องการ ผ่านข้อความและโต้ตอบกับผู้ใช้ในลักษณะ Chatbot ได้นั่นเอง โดยสามารถโต้ตอบกับผู้ใช้หลักๆ ได้ 2 แบบ ได้แก่ push และ reply

การส่งข้อความจาก Chatbot ไปหาผู้ใช้ โดยที่ผู้ใช้อยู่เฉยๆ ไม่ได้มีการ request อะไรมาที่ Chatbot (ลักษณะ One-way communication) เช่น Chatbot ส่งข้อความโปรโมชั่นไปหาผู้ใช้

เป็นการโต้ตอบกับ Chatbot โดยผู้ใช้เป็นคน request มาที่ Chatbot ก่อนและตัว Chatbot ทำการตอบข้อความกลับไปหาผู้ใช้ เช่น ผู้ใช้ส่งข้อความเข้ามา หรือ ผู้ใช้ทำการ Add Chatbot เป็นเพื่อน (ผู้ใช้เป็นคนทักหา Account เราก่อน ลักษณะ Two-way communication)
Webhook events คือเหตุการณ์ event ต่างๆ ที่เกิดขึ้นกับ Chatbot ของเรา (event trigger) เมื่อผู้ใช้มีการโต้ตอบหรือใช้งาน LINE OA โดย event เกิดขึ้นจะมีสัญญาณพร้อมกับข้อมูลในรูปแบบที่เป็น JSON วิ่งมาที่ Webhook ที่เราผูกไว้กับ LINE OA ซึ่งภายใน JSON นั้นจะมี replyToken ที่ไว้ใช้สำหรับการ Reply messages เพื่อตอบกลับผู้ใช้ได้นั่นเอง 
ในการพัฒนา Webhook Server เพื่อจะรอรับ events และทำการตอบกลับเพื่อสร้างเป็น LINE Chatbot นั้นสามารถทำได้หลายวิธี แต่ใน Codelab นี้จะใช้ n8n ในการเป็น Webhook Server

ขั้นตอนการทำงานตามภาพประกอบ:
จุดเริ่มต้นของการพัฒนา LINE Chatbot คือคุณจะต้องสร้าง LINE OA(LINE Official Account) และเปิดใช้งาน Messaging API




หลังจากที่เรามี LINE OA เรียบร้อยแล้ว ขั้นตอนนี้จะพาทุกคนไปเพิ่มความสามารถให้ LINE OA ของเรากลายเป็น LINE Chatbot ได้







ขั้นตอนนี้เราจะเข้าไปใช้งาน LINE Developers Console ซึ่งเป็นเว็บไซต์สำหรับการบริหารจัดการ LINE Chatbot (LINE OA ที่เปิดใช้งาน Messaging API แล้ว) ในส่วนของนักพัฒนา






n8n (pronounced "n-eight-n") เป็น open-source workflow automation tool ที่ช่วยให้คุณสามารถเชื่อมต่อ services และ APIs ต่างๆ เข้าด้วยกันได้โดยไม่ต้องเขียนโค้ดมาก 
Workflow คือลำดับของ steps (nodes) ที่ทำงานต่อเนื่องกัน โดยแต่ละ node จะ:






n8nio/n8n:latest
YOURNAME-n8n-server-yyyySingapore (Southeast Asia)

Key | Value | Description |
N8N_PROTOCOL |
| Protocol สำหรับ webhook |
WEBHOOK_URL |
| Webhook URL สำหรับ n8n เช่น |


หลังจาก Deploy เสร็จ ให้เปิด URL ด้านบนซ้ายเพื่อเริ่มต้นใช้งาน n8n คุณจะพบหน้า n8n Register ที่ให้กรอกข้อมูลสำหรับสร้าง account n8n




เราจะตั้งค่า n8n ให้รับข้อความจาก LINE โดยใช้ Node "Line Messaging" (ต้องติดตั้งเพิ่ม) ซึ่งจะจัดการเรื่อง Webhook ให้เราโดยอัตโนมัติ
เมื่อเข้าสู่หน้า Dashboard คลิกที่การ์ด "Start from scratch"
เนื่องจาก Node ของ LINE ไม่ได้มีติดมากับตัวตั้งต้น เราต้องทำการติดตั้งผ่าน Verified Community Nodes ก่อน

Line Messaging







LINE Messaging TriggerLINE Messaging

{{ $("Line Messaging Trigger").item.json.replyToken }}Hello from n8n ในช่อง TextReply Message

LINE Messaging Trigger ให้ทำการดับเบิ้ลคลิกเพื่อดูรายเอียดhttps://[ชื่อแอป].onrender.com/webhook/...) 





จะเห็นได้ว่า n8n workflow นี้สามารถตอบกลับเป็นข้อความอัตโนมัติได้

ในส่วนด้านบนของ n8n interface คุณสามารถกดเลือก Execution เพื่อดูการทำงานของ n8n ที่ใช้เป็น Webhook server รับ events จาก LINE ได้ โดยจะแสดงรายละเอียดการทำงานของแต่ละ node และข้อมูลที่ผ่านเข้ามา

AI Agent คือระบบบอทที่มีความสามารถสูงกว่า Chatbot ทั่วไป โดยใช้เทคโนโลยี Generative AI และ LLM (Large Language Model) เป็นแกนหลักในการประมวลผล ทำให้มีความสามารถในการทำความเข้าใจภาษาและบริบทที่ซับซ้อน ได้แก่:

โครงสร้างการทำงานของ AI Agent ประกอบด้วย 5 ส่วนสำคัญ คือ:
System Prompt (หรือ Instruction Prompt) คือส่วนประกอบที่สำคัญที่สุดในการกำหนดบุคลิกและการทำงานของ AI Agent เปรียบเสมือนชุดคำสั่งที่ระบุขอบเขตความรับผิดชอบ เพื่อให้ LLM ทำงานได้ตรงตามวัตถุประสงค์
การเขียน Instruction ที่ดีสำหรับ AI Agent ควรกำหนดหัวข้อต่อไปนี้ให้ชัดเจน:

Tool Calling คือความสามารถของ AI ในการเลือกใช้เครื่องมือหรือฟังก์ชันเพื่อกระทำสิ่งต่างๆ นอกเหนือจากการคุยตอบโต้ปกติ เช่น:
การกำหนด Instruction ที่แตกต่างกัน จะทำให้ได้ AI Agent ที่มีหน้าที่แตกต่างกันอย่างสิ้นเชิง ดังตัวอย่างต่อไปนี้: 
Google AI Studio เป็นแพลตฟอร์มที่ Google จัดทำขึ้นเพื่อให้ผู้พัฒนาสามารถทดสอบและใช้งาน Google Gemini AI models ได้อย่างง่ายดาย โดยสามารถสร้าง API Key เพื่อใช้เชื่อมต่อกับ Gemini models ผ่าน API ได้
Google Gemini เป็น Large Language Model (LLM) ที่พัฒนาโดย Google ที่มีความสามารถในการประมวลผลภาษาและสร้างข้อความตอบกลับที่มีความหมายและเป็นธรรมชาติ






ขั้นตอนการเพิ่มสมองให้บอทด้วยการใช้ AI Agent Node เพื่อประมวลผลข้อความจาก LINE และตอบกลับด้วย Google Gemini
Line Messaging Trigger เพื่อแทรก Node ใหม่ 


กำหนดให้ AI รับข้อความที่ผู้ใช้พิมพ์เข้ามาผ่าน LINE มาประมวลผลต่อและคิดคำตอบที่ควรตอบตามที่เราจะระบุในคำสั่งการทำงานของ AI
Define below{{ $("Line Messaging Trigger").item.json.message.text }}

You are a helpful assistant ซึ่งเราสามารถแก้ไขได้ในขั้นตอนถัดไป 

เพิ่มโมเดลภาษา (LLM) ให้กับ Agent เพื่อใช้ในการประมวลผลคำตอบ
Chat Model ด้านล่างของ Node AI AgentGoogle Gemini Chat Model
การเชื่อมต่อกับ Google Gemini จำเป็นต้องใช้ API Key
Google Gemini Chat Model ส่วนของ Credential to connect with

models/gemini-2.5-flashmodels/gemini-2.5-flash-litemodels/gemini-3-flash-preview

Simple Memory คือระบบหน่วยความจำที่ช่วยให้ AI Agent สามารถจดจำและเข้าใจบริบทจากการสนทนาก่อนหน้าได้ โดยจะเก็บประวัติการสนทนาของแต่ละผู้ใช้แยกกันตาม Session ID ทำให้การตอบกลับมีความต่อเนื่องและเป็นธรรมชาติมากขึ้น
AI Agent จะมีส่วน ให้เพิ่ม Memory เพื่อให้ Agent สามารถจดจำบริบทของการสนทนาได้ 
ใน Codelabs นี้ Session ID คือ LINE UserId ที่ใช้เพื่อแยกประวัติการสนทนาของแต่ละผู้ใช้
Define below{{ $("Line Messaging Trigger").item.json.source.userId }}

หลังจากที่ AI Agent ประมวลผลและสร้างคำตอบแล้ว เราต้องเชื่อมต่อกับ LINE Messaging Reply Node เพื่อส่งคำตอบกลับไปยังผู้ใช้
{{ $("AI Agent").item.json.output }}

เมื่อตั้งค่าครบแล้ว พร้อมสำหรับการทดสอบ อย่าลืมกด Save และ Publish 
จากการทดสอบจะพบว่า Chatbot ที่ได้ตอบแบบข้อความอัตโนมัติได้เปลี่ยนเป็นตอบด้วย AI แล้ว แต่ยังไม่ตอบตรงโจทย์ธุรกิจที่เราสามารถเอาไปต่อยอดได้ ซึ่งเราจะไปทำการพัฒนาในหัวข้อถัดไป

ในส่วนนี้คุณจะได้เรียนรู้เกี่ยวกับ LINE Flex Message และ LINE Flex message simulator เพื่อออกแบบข้อความสวยงามโดยไม่ต้องเขียนโค้ด จากนั้นจะได้เรียนรู้วิธีการ สร้าง Node LINE Messaging Tool และ ตั้งค่าให้ AI Agent สามารถส่ง LINE Flex Message ได้ และสุดท้ายจะได้ ทดสอบผลลัพธ์ใน LINE
LINE Flex Message คือรูปแบบข้อความใน LINE ที่สามารถปรับแต่ง Layout ได้อย่างอิสระ (รูปภาพ, ปุ่ม, ข้อความ) ช่วยให้ Chatbot ดูเป็นมืออาชีพและน่าใช้งานมากขึ้น
ในการออกแบบ LINE Flex Message ให้สวยงามนั้น เราสามารถใช้ Flex Message Simulator ซึ่งเป็นเครื่องมือที่ช่วยออกแบบและสร้าง LINE Flex Message สามารถแสดงตัวอย่างและคัดลอกโค้ด JSON ไปใช้งานได้ทันที 
กลับมาที่ Workflow ใน n8n ของเรา เพื่อเชื่อมต่อเครื่องมือนี้เข้ากับ AI Agent ให้สามารถเรียกเครื่องมือเพื่อส่ง LINE Flex Message ได้
+ ในส่วนของการเชื่อมต่อ Tools (Memory/Tool)LINE และเลือก "Line Messaging Tool" (สังเกตคำอธิบาย: Interact with the Line Messaging API)
{{ $("Line Messaging Trigger").item.json.source.userId }}

Send LINE Flex Message - Menuเมนูอาหารแนะนำตัวอย่างโค้ด JSON สำหรับเมนูอาหาร (LINE Flex Message JSON):
{"type":"carousel","contents":[
{"type":"bubble","size":"micro","hero":{"type":"image","url":"https://images.unsplash.com/photo-1627308595186-e6bb36712645","size":"full","aspectMode":"cover","aspectRatio":"20:13","action":{"type":"uri","uri":"http://linecorp.com/"}},"body":{"type":"box","layout":"vertical","contents":[{"type":"text","text":"กะเพราหมูไข่ดาว","weight":"bold","size":"sm","wrap":true},{"type":"box","layout":"baseline","contents":[{"type":"icon","size":"xs","url":"https://scdn.line-apps.com/n/channel_devcenter/img/fx/review_gold_star_28.png"},{"type":"text","text":"4.8","size":"xs","color":"#999999","margin":"xs","flex":0},{"type":"text","text":"50.-","size":"sm","color":"#e03e3e","align":"end","weight":"bold","flex":1}]}],"spacing":"sm","paddingAll":"13px"},"footer":{"type":"box","layout":"vertical","contents":[{"type":"button","style":"primary","action":{"type":"message","label":"สั่งเลย","text":"สั่งกะเพราหมู"},"height":"sm","color":"#E34A32"}]}},
{"type":"bubble","size":"micro","hero":{"type":"image","url":"https://plus.unsplash.com/premium_photo-1661611585910-77ae42f0c71d","size":"full","aspectMode":"cover","aspectRatio":"20:13","action":{"type":"uri","uri":"http://linecorp.com/"}},"body":{"type":"box","layout":"vertical","contents":[{"type":"text","text":"ข้าวผัดกุ้ง","weight":"bold","size":"sm","wrap":true},{"type":"box","layout":"baseline","contents":[{"type":"icon","size":"xs","url":"https://scdn.line-apps.com/n/channel_devcenter/img/fx/review_gold_star_28.png"},{"type":"text","text":"4.5","size":"xs","color":"#999999","margin":"xs","flex":0},{"type":"text","text":"60.-","size":"sm","color":"#e03e3e","align":"end","weight":"bold","flex":1}]}],"spacing":"sm","paddingAll":"13px"},"footer":{"type":"box","layout":"vertical","contents":[{"type":"button","style":"primary","action":{"type":"message","label":"สั่งเลย","text":"สั่งข้าวผัดกุ้ง"},"height":"sm","color":"#E34A32"}]}},
{"type":"bubble","size":"micro","hero":{"type":"image","url":"https://images.unsplash.com/photo-1559314809-0d155014e29e?ixlib=rb-1.2.1&auto=format&fit=crop&w=600&q=80","size":"full","aspectMode":"cover","aspectRatio":"20:13","action":{"type":"uri","uri":"http://linecorp.com/"}},"body":{"type":"box","layout":"vertical","contents":[{"type":"text","text":"ผัดไทยกุ้งสด","weight":"bold","size":"sm","wrap":true},{"type":"box","layout":"baseline","contents":[{"type":"icon","size":"xs","url":"https://scdn.line-apps.com/n/channel_devcenter/img/fx/review_gold_star_28.png"},{"type":"text","text":"4.9","size":"xs","color":"#999999","margin":"xs","flex":0},{"type":"text","text":"80.-","size":"sm","color":"#e03e3e","align":"end","weight":"bold","flex":1}]}],"spacing":"sm","paddingAll":"13px"},"footer":{"type":"box","layout":"vertical","contents":[{"type":"button","style":"primary","action":{"type":"message","label":"สั่งเลย","text":"สั่งผัดไทย"},"height":"sm","color":"#E34A32"}]}}
]}

เพื่อให้ AI Agent รู้ว่าควรเรียกใช้ Tool (Send LINE Flex Message) เมื่อไหร่ เราต้องเพิ่มคำสั่งใน System prompt
Trigger: ลูกค้าต้องการดูเมนู เช่น ขอเมนู, มีเมนูอะไรแนะนำ
- Action: Tool: Send LINE Flex Message - Menu

เมื่อตั้งค่าเสร็จเรียบร้อย ให้กด Save & Publish แล้วลองไปทดสอบคุยกับ Chatbot ใน LINE 
ลองพิมพ์ประโยคที่กระตุ้นให้ AI ใช้เครื่องมือ เช่น ขอเมนูอาหารหน่อย หรือ มีเมนูอะไรอร่อยๆแนะนำบ้าง AI จะวิเคราะห์และเรียกใช้ Tool เพื่อส่ง LINE Flex Message ที่เราตั้งค่าไว้กลับมาอย่างสวยงาม ดังภาพ


เนื่องจากในก่อนหน้านี้ AI Chatbot ของเรายังเป็นเพียงโมเดลภาษาทั่วไป ซึ่งอาจตอบคำถามกว้างๆ และยังไม่ตรงกับบริบทของธุรกิจร้านอาหารของเรา เพื่อให้บอททำงานได้สมบูรณ์แบบ เราจึงจำเป็นต้องแก้ไข System Prompt หรือ Instruction เพื่อกำหนดบทบาท (Persona) และขอบเขตการทำงานให้ชัดเจน (Objetives)
ตัวอย่าง Prompt สำหรับร้านอาหาร ลงไปในช่อง System Messageตัวอย่าง Prompt สำหรับร้านอาหาร:
# Instruction: น้องเอไอ – ผู้ช่วยร้านอาหารไทย
## 1. Persona & Tone
1.1 น้องเอไอเป็นผู้ช่วยแชตบอตสำหรับร้านอาหารไทย
1.2 บุคลิก: สุภาพ อบอุ่น เป็นกันเอง
1.3 สื่อสารด้วยน้ำเสียงใจดี ไม่เร่งรัด ไม่กดดันลูกค้า ตอบรับด้วยน้ำเสียงสุภาพและเป็นกันเอง
## 2. Core Responsibilities
2.1 แนะนำเมนูอาหารไทยตามหมวดหมู่
2.2 รับออร์เดอร์อาหาร (ทานที่ร้าน / สั่งกลับบ้าน)
2.3 จัดการการจองโต๊ะล่วงหน้า
2.4 ตอบคำถามเกี่ยวกับเวลาเปิด–ปิดร้าน: 9:00 - 18:00
2.5 หากข้อมูลจากลูกค้าไม่ครบ ต้องถามต่ออย่างสุภาพเสมอ
## 3. Food Menu
Trigger: ลูกค้าต้องการดูเมนู เช่น ขอเมนู, มีเมนูอะไรแนะนำ, มีอะไรกินบ้าง
- Action: แสดงเฉพาะหมวดที่ลูกค้าระบุ โดยดูข้อมูลจากข้อ 3. หากไม่มีให้แจ้งลูกค้า
- Mandatory Action: Call Tool: `Send LINE Flex Message - Menu` เพื่อแสดงเมนูแนะนำเสมอ
### 3.1 เมนูข้าวแกง
- ข้าวกระเพราไข่ดาว — 50 บาท
- ข้าวผัดกุ้ง — 60 บาท
- ผัดไทยกุ้งสด — 65 บาท
### 3.2 เมนูตำ / ยำ
- ส้มตำไทย — 45 บาท
- ส้มตำปูปลาร้า — 50 บาท
- ลาบหมู — 65 บาท
### 3.3 เครื่องดื่ม
- น้ำเก๊กฮวย — 20 บาท
- น้ำลำไย — 20 บาท
- น้ำเปล่า — 10 บาท
## 5. Ordering Flow
5.1 เมื่อผู้ใช้แสดงความต้องการสั่งอาหาร
น้องเอไอต้องถามตามลำดับ:
1) เมนูที่ต้องการ
2) รูปแบบการรับอาหาร
- ทานที่ร้าน
- สั่งกลับบ้าน
3) ชื่อผู้สั่ง
4) เบอร์ติดต่อ
5.2 ถ้าข้อมูลใดยังไม่ครบ
- ถามเฉพาะข้อมูลที่ขาด
- ห้ามถามซ้ำในสิ่งที่ลูกค้าให้มาแล้ว
## 6. Constraints
6.1 ห้ามแต่งเมนูหรือราคาเพิ่มจากที่กำหนด
6.2 ห้ามใช้ภาษาอังกฤษ
6.3 ถ้าไม่มั่นใจข้อมูล ให้ถามลูกค้าแทนการเดา
### 7. ตัวอย่างการตอบกลับ (Sample Dialogue)
ลูกค้า: "ร้านเปิดกี่โมง"
น้องเอไอ: "สวัสดีค่ะคุณลูกค้า ร้านเปิดให้บริการตั้งแต่ 9:00 ถึง 18:00 น. ค่ะ สนใจสั่งอาหารไว้ทานมื้อไหนดีคะ?"
ลูกค้า: "ขอเมนูหน่อย"
น้องเอไอ: "ได้เลยค่ะ นี่คือเมนูความอร่อยของทางร้านเรานะคะ" (Action: เรียกใช้ Tool: Send LINE Flex Message - Menu)


กด Save และ Publish เพื่อบันทึก Workflow ก่อนทดสอบการทำงานของ Chatbot ใน LINE โดยลองถามคำถามต่างๆ เพื่อดูว่าบอทตอบตาม Instruction ที่เรากำหนดไว้หรือไม่

ซึ่งจากผลลัพธ์จะเห็นว่าคุณสามารถสร้าง AI Chatbot บน LINE ที่สามารถตอบคำถามได้อย่างเป็นธรรมชาติ และส่ง LINE Flex Message ที่สวยงามได้แล้ว
ยินดีด้วยครับ ถึงตรงนี้คุณก็มี LINE AI Chatbot ตัวแรกเป็นของคุณเองแล้ว!!!
✅ วิธีการ deploy n8n บน Render
✅ วิธีการตั้งค่า LINE Messaging API
✅ วิธีการสร้าง n8n workflow บน Render
✅ วิธีการเชื่อมต่อกับ AI Model
✅ วิธีการส่งคำตอบกลับไปยัง LINE
✅ วิธีการเขียนคำสั่ง (Instruction Prompt) ให้ AI เข้าใจบริบทและตอบโจทย์ธุรกิจ