หลังจากสร้าง Agent (ผู้ช่วย AI ที่ทำหน้าที่โทรคุยกับลูกค้า) ไม่ว่าจะสร้างจากศูนย์หรือจาก Template (แม่แบบสำเร็จรูป) คุณจะเข้าสู่ AI Flow (ผังการสนทนาที่ Agent ใช้คุยกับลูกค้า) หน้านี้จะแนะนำวิธีปรับ AI Flow ให้เข้ากับธุรกิจของคุณก่อนนำไปใช้งานจริง
เปิด AI Flow ของ Agent
ที่หน้า BUILD → AI Agents ในคอลัมน์ Actions ของแต่ละแถว จะมีไอคอนรูปดินสอ (Edit Flow) ให้คุณคลิกที่ไอคอนนี้เพื่อเปิดผังการสนทนาของ Agent นั้น
(หากคุณเพิ่งสร้าง Agent ใหม่ ระบบจะเปิดผังให้โดยอัตโนมัติ)
ทำความรู้จักหน้าจอ AI Flow
หน้าจอ AI Flow แบ่งออกเป็น 3 ส่วน ดังนี้
- ด้านซ้าย — Palette (แถบรวมปุ่ม Node) และ Variables (ตัวแปรที่ใช้ใน Prompt)
- ตรงกลาง — Canvas (พื้นที่ทำงานที่แสดงผังของ Agent) โดย Node (กล่องแต่ละกล่องบนผัง) หนึ่งกล่องหมายถึงหนึ่งขั้นตอนในบทสนทนา
- ด้านขวา — Global Config, Testing และ Post-Call Analytics
เลือกประเภท Node จาก Palette ด้านซ้าย
ที่ Palette (แถบรวมปุ่ม Node) ด้านซ้าย จะมีปุ่ม Node ให้เลือก 4 ประเภท ดังนี้
- Conversation (สีฟ้า) — Node สำหรับพูดคุยและสอบถามลูกค้า (ใช้บ่อยที่สุด)
- Function (สีม่วง) — Node สำหรับเรียก Function หรือ API เช่น การบันทึกข้อมูลลง CRM
- Call Transfer (สีเหลือง) — Node สำหรับโอนสายไปยังเจ้าหน้าที่คนจริง
- End Call (สีแดง) — Node สำหรับจบสาย
หากต้องการเพิ่ม Node ใหม่ ให้คลิกที่ปุ่ม Node ประเภทที่ต้องการบน Palette ระบบจะเพิ่ม Node นั้นลงบน Canvas ให้ จากนั้นกำหนดลำดับการสนทนาด้วยการลากเส้นจากปลาย Node หนึ่งไปยัง Node ถัดไป
ความแตกต่างของ Node ทั้ง 4 ประเภท
Node แต่ละประเภทมีบทบาทต่างกันใน Flow (ผังการสนทนา) คุณควรเลือกใช้ให้ตรงกับจุดประสงค์ของแต่ละขั้นตอนในบทสนทนา
1. Conversation (สีฟ้า) — สำหรับพูดคุยกับลูกค้า
Node ที่คุณจะใช้มากที่สุด เป็น Node ที่ AI สอบถามและรับฟังคำตอบจากลูกค้า
- องค์ประกอบภายใน Node: Prompt (คำสั่งสำหรับ Agent) และ Transition (ทางออกไปยัง Node ถัดไป) รวมถึง AI Speaks (ข้อความที่กำหนดให้พูดตายตัว) หากต้องการ
- ใช้เมื่อ: เปิดบทสนทนา สอบถามข้อมูล เจรจา หรือยืนยันตัวตน
- AI ตัดสินใจเอง: ใช่ โดย AI จะใช้ Prompt เป็นแนวทางแล้วโต้ตอบตามสถานการณ์
- ตัวอย่าง: Node
start, Nodepitching, Nodenegotiateเป็นต้น

2. End Call (สีแดง) — สำหรับจบสาย
Node ที่ปิดการสนทนา จึงไม่มี Transition เพราะไม่มีการไปยัง Node ถัดไป
- องค์ประกอบภายใน Node: Prompt (คำอธิบาย) และ AI Speaks (ข้อความปิดสาย) โดย ไม่มี Transition
- ใช้เมื่อ: จบสายตามผลลัพธ์ต่าง ๆ เช่น สำเร็จ ผิดเบอร์ หรือขอนัดคุยใหม่
- AI ตัดสินใจเอง: ไม่ โดย AI จะอ่านข้อความใน AI Speaks ตามที่ระบุไว้แล้วจบสาย
- ตัวอย่าง:
end_success_verified,end_wrong_recipient,call_later
ตัวอย่าง End Call Node ในกรณีที่ลูกค้ายืนยันว่าจะชำระเงิน

3. Function (สีม่วง) — สำหรับเรียก API หรือ Function
Node ที่เรียกใช้งานฟังก์ชันเบื้องหลัง โดยไม่มีการพูดกับลูกค้าในช่วงนี้
- องค์ประกอบภายใน Node: ชื่อ Function และ Variables (ตัวแปร) ทั้งฝั่งข้อมูลเข้าและข้อมูลออก
- ใช้เมื่อ: ต้องการดึงข้อมูลจาก CRM , ตรวจสอบยอดหนี้แบบทันทีจากระบบหลังบ้าน
- AI ตัดสินใจเอง: AI จะเรียกใช้ Function Node เมื่อเงื่อนไขตรงตามที่ตั้งค่าไว้
- ตัวอย่าง: ดึง
current_balanceมาก่อนเสนอแผนผ่อนชำระ
4. Call Transfer (สีเหลือง) — สำหรับโอนสายให้เจ้าหน้าที่
Node ที่ส่งสายต่อไปยังเจ้าหน้าที่คนจริง ซึ่งเป็นการออกจากระบบ AI
- องค์ประกอบภายใน Node: เบอร์ปลายทางหรือกลุ่ม Hotline ที่ต้องการโอนสายไป
- ใช้เมื่อ: ลูกค้าขอสนทนากับเจ้าหน้าที่ กรณีที่ซับซ้อนเกินกว่า AI จะจัดการได้ หรือกรณีที่กฎหมายกำหนดให้ต้องเป็นคน
- AI ตัดสินใจเอง: ไม่ โดยจะโอนสายทันทีตามที่ตั้งค่าไว้
- ตัวอย่าง: ลูกค้าไม่พอใจและขอสนทนากับผู้จัดการ หรือกรณีเร่งด่วนที่เกินกว่า Agent จะจัดการเองได้
เคล็ดลับการออกแบบ Flow
- Conversation เป็นโครงสร้างหลักของ Flow โดยส่วนใหญ่ของ Flow จะเป็น Conversation Node ที่เชื่อมต่อกัน
- ทุกเส้นทางต้องจบที่ End Call หรือ Call Transfer เสมอ เพื่อป้องกันไม่ให้บทสนทนาวนค้าง
- ใช้ Function เมื่อต้องเชื่อมต่อกับระบบภายนอก ไม่ควรนำเงื่อนไขทั้งหมดไปรวมไว้ใน Prompt
- Call Transfer ทำหน้าที่เป็นทางออกสำรอง จึงควรเพิ่ม Transition
User asks for humanไว้ในทุก Conversation Node ที่สำคัญ
ตั้งค่า Global Prompt ที่ใช้กับทุก Node
ที่แท็บ Global Config ด้านขวา ให้กรอก Global Prompt (คำสั่งกลางที่มีผลกับทุก Conversation Node)
โดยระบุบริบทรวมที่ Agent ต้องทราบ เช่น บทบาท ชื่อบริษัท และเป้าหมายของการโทร
หากต้องการอ้างถึงตัวแปร ให้ใช้รูปแบบ {{variable_name}} เช่น {{customer_name}} หรือ {{callcenter_contact}}
กำหนดตัวแปรที่ใช้ใน Prompt
ที่แผง Variables ด้านซ้าย ให้เพิ่มตัวแปรที่จะแทนค่าด้วยข้อมูลจริงในขณะใช้งาน
ตัวอย่างตัวแปรใน Debt Collection Template (แม่แบบสำหรับงานติดตามหนี้): debt_amount, debt_detail, min_payment, customer_name, debt_due_date, callcenter_contact
คุณสามารถกำหนดค่าเริ่มต้นได้ที่ช่อง Enter default value เพื่อให้ทดสอบได้แม้ยังไม่มีข้อมูลจริง ทั้งนี้ เมื่อรัน Campaign (แคมเปญโทรออก) ค่าจริงจากไฟล์ CSV จะแทนที่ค่าเริ่มต้นนี้โดยอัตโนมัติ
เจาะลึก — วิธีแก้ไข Node ทีละตัว
ระบบไม่มีหน้าต่างแยกสำหรับแก้ไข Node แต่ออกแบบให้แก้ไข ภายในตัว Node ได้โดยตรง (Inline Editing) กล่าวคือ กล่อง Node แต่ละกล่องบน Canvas คือพื้นที่แก้ไขของ Node นั้นเอง หากต้องการดูข้อมูลใน Node ให้ชัดเจนขึ้น ให้ขยาย Canvas ด้วยปุ่ม + ที่มุมล่างซ้าย
โครงสร้างของ Conversation Node
Conversation Node ทุกตัวมีองค์ประกอบหลัก 3 ส่วน ดังนี้
- ชื่อ Node (เช่น
start,debt_notice,negotiate) — ใช้อ้างอิงในการเชื่อมต่อจาก Node อื่น จึงควรตั้งชื่อให้สื่อถึงหน้าที่ของ Node นั้น - Prompt — คำสั่งที่ระบุให้ AI ทราบว่าใน Node นี้ต้องทำอะไรและพูดอะไร
- Transition — เงื่อนไขที่จะพา Agent ไปยัง Node ถัดไป
ปุ่มสามจุดที่มุมขวาบนของแต่ละ Node คือเมนู Rename / Duplicate / Delete (เปลี่ยนชื่อ / ทำสำเนา / ลบ)
แก้ไข Prompt ของ Node
Double Click ที่กล่อง Prompt บนตัว Node ระบบจะเปิดพื้นที่ให้พิมพ์แก้ไขได้ทันที
รูปแบบ Prompt ที่ดีควรมีลักษณะดังนี้
- เริ่มต้นด้วย
INSTRUCTION:แล้วระบุให้ชัดเจนว่าต้องการให้ AI ทำสิ่งใด - ใส่ตัวอย่างประโยคที่ต้องการให้ AI พูด โดยอยู่ในเครื่องหมายคำพูด
- ระบุพฤติกรรมที่ห้ามทำด้วย เช่น “ห้ามถามชื่อซ้ำ”
- หากต้องการอ้างถึงตัวแปร ให้ใช้รูปแบบ
{{variable_name}}เช่น{{customer_name}}หรือ{{debt_amount}}
ตัวอย่างจริงจาก Node start
INSTRUCTION: Ask ‘สวัสดีค่ะ ขออนุญาตเรียนสายคุณ{{customer_name}}ค่ะ’ to verify if the recipient is the debtor.
ระบบจะบันทึกโดยอัตโนมัติระหว่างที่คุณพิมพ์ โดยสังเกตได้จากสถานะ Saved ✓ ด้านบน
แก้ Transitions — Logic แตกเส้นทาง
ใต้ Prompt — ส่วน Transitions ระบุเงื่อนไขที่จะพา Agent ไป Node ถัดไป
ตัวอย่างจาก Node start:
- ลูกค้าคือลูกหนี้และสะดวกพูดสาย → ไป Node
debt_notice - คนพูดสายบอกว่าไม่ใช่ลูกหนี้ → ไป Node
end_wrong_recipient - ลูกค้าขอต่อรอง หรือ ยังไม่พร้อมจ่าย → ไป Node
negotiate - ลูกค้าไม่สะดวก ไม่ว่างคุย หรือ ขอให้ติดต่อกลับภายหลัง → ไป Node
call_later
วิธีแก้/เพิ่ม Transition:
- เพิ่มเงื่อนไขใหม่ — กดปุ่ม + ตรงหัวข้อ Transitions แล้วเขียนเงื่อนไขเป็นภาษาธรรมชาติ (เช่น “User says they’re not interested”)
- แก้เงื่อนไขเดิม — คลิกที่ข้อความเงื่อนไขเพื่อพิมพ์แก้
- เปลี่ยน Node ปลายทาง — ลากเส้นจาก Bullet point ของเงื่อนไขนั้นไปยัง Node ที่อยากให้ไป
- ลบเงื่อนไข — กด
−ซ้ายของเงื่อนไข
เคล็ดลับ: เขียนเงื่อนไขให้ครอบคลุมเคสที่เป็นไปได้ทั้งหมด — ถ้าลืม Case ใด Agent จะวนค้างที่ Node นั้นเพราะไม่รู้จะไปไหนต่อ
End Node
กำหนดให้ AI พูดว่าอะไรก่อนที่จะวางสาย เช่น พูดขอบคุณและสวัสดีแล้ววางสาย
ทดสอบ Agent ก่อน Publish
กดแท็บ Testing ฝั่งขวา — เลือกระหว่าง:
- Test Audio — คุยกับ Agent ผ่านไมค์ เหมือนโทรจริง
- Test Chat — พิมพ์โต้ตอบเป็นข้อความ (เร็วกว่า เหมาะกับทดสอบ Flow)
กด Start เพื่อเริ่มเซสชั่นทดสอบ ทดสอบเส้นทางสำคัญทั้งหมดก่อน Publish เพื่อหาจุดบกพร่อง
ลองเดินไปทุก Transition ที่เป็นไปได้ — ถ้าเส้นไหนค้าง แปลว่าต้องกลับไปแก้ Prompt หรือเงื่อนไขของ Node นั้น
กด Publish เมื่อพร้อม
ขณะแก้ไข ระบบบันทึก Draft ให้อัตโนมัติ (ดู Saved ✓ ด้านบน) — แต่ Campaign จะใช้เฉพาะเวอร์ชั่นที่ Publish แล้ว
กดปุ่ม Publish มุมขวาบนเพื่อเลื่อน Draft เป็นเวอร์ชั่นใช้งานจริง — เวอร์ชั่นจะเพิ่มขึ้น (v1 → v2 → …) และ Campaign ที่กำลังรันจะอัปเดตอัตโนมัติ