Industry

Agents ต้องการ Control Flow ไม่ใช่ Prompt ที่ยาวขึ้น

2026-05-01 · ~1 นาที · Industry

คุณเคยเขียนคำว่า MANDATORY หรือ DO NOT SKIP ลงใน prompt ไหม? ถ้าเคย แสดงว่าคุณกำลังใช้วิธีผิดที่จะทำให้ AI agent ทำงานได้น่าเชื่อถือ บทความจาก Hacker News ที่ได้รับความสนใจอย่างมาก (586 points, 292 comments) โต้แย้งประเด็นสำคัญ: ถ้าคุณต้องเขียนเพื่อ "บังคับ" LLM ด้วยภาษาธรรมดา แสดงว่าคุณใช้เครื่องมือผิดวิธี

ปัญหาของ Prompt Engineering แบบเดิม

เมื่อ AI agent ทำงานผิดพลาด ความรู้สึกแรกของหลายคนคือ "เพิ่ม prompt" อธิบายให้ละเอียดขึ้น เพิ่มกฎเกณฑ์ เพิ่มตัวอย่าง จน prompt ยาวเป็นหน้าๆ แต่นี่คือวิธีที่ไม่ยั่งยืน เพราะ: LLM ไม่ได้ "อ่าน" prompt แบบมนุษย์ — มันประมวลผล token เป็นช่วงๆ ไม่มีความเข้าใจแบบ "บังคับทำตาม" เหมือนพนักงาน Prompt ยาว = พื้นที่ให้ LLM หลุดจากเจตนาเดิมมากขึ้น — ยิ่งยาว ยิ่งมีจุดที่อาจตีความผิดเพี้ยน Silent failure — LLM อาจข้ามขั้นตอนสำคัญโดยไม่บอก และคุณจะไม่มีทางรู้จนกว่าจะสายเกินไป ตัวอย่างที่พบบ่อย: Agent ที่ควรตรวจสอบข้อมูลก่อนส่งอีเมล แต่ข้ามขั้นตอนนั้นไปเพราะ prompt ไม่ได้ "บังคับ" ในระดับโครงสร้าง

Control Flow คืออะไร และทำไมถึงสำคัญ

Control flow คือการกำหนด ลำดับขั้นตอนที่แน่นอน (deterministic) ด้วย code แทนที่จะฝากไว้กับ prompt ลองนึกถึงความแตกต่าง:

แบบ Prompt-based:

"คุณต้องตรวจสอบข้อมูลก่อน แล้วถ้าถูกต้องค่อยส่งอีเมล ห้ามข้ามขั้นตอนนี้เด็ดขาด"

แบบ Control Flow:

validation_result = validate(data) # deterministic check
if not validation_result.passed:
return error_response()
send_email(data) # จะมาถึงตรงนี้ได้ก็ต่อเมื่อผ่าน validation

ความแตกต่างคือ: แบบแรก LLM อาจเลือกข้ามได้ แบบที่สอง ทางเลือกคือทำหรือ error — ไม่มีทางข้าม

สถาปัตยกรรมที่ถูกต้อง: Deterministic Scaffold

แนวคิดหลักคือการสร้าง "scaffold" หรือโครงสร้างที่แน่นอนคลุม LLM ไว้ โดย LLM ทำหน้าที่เป็น component หนึ่ง ในระบบ ไม่ใช่ตัวระบบทั้งหมด

องค์ประกอบสำคัญ:

1. State Machine (เครื่องจักรสถานะ)

กำหนดสถานะที่เป็นไปได้ทั้งหมดของ workflow เช่น: INIT → EXTRACT → VALIDATE → TRANSFORM → SUBMIT → DONE แต่ละ state transition ต้องผ่านเงื่อนไขที่ชัดเจน ไม่มีการกระโดดข้าม state

2. Validation Checkpoints

จุดตรวจสอบที่กำหนดด้วย code ไม่ใช่ prompt เช่น: ตรวจ schema, ตรวจ range ของค่า, ตรวจ format ถ้าไม่ผ่าน checkpoint → วนกลับไปแก้ ไม่ใช่ข้ามไป

3. Risk Gates

จุดที่ต้องมีการอนุมัติจากมนุษย์ก่อนดำเนินการต่อ เช่น: ก่อนส่งอีเมลจำนวนมาก, ก่อนแก้ไข database ป้องกันไม่ให้ agent ทำอะไรที่กลับคืนไม่ได้โดยไม่มีมนุษย์อนุมัติ

เปรียบเทียบ: Prompt Chain vs Control Flow

Prompt Chain (เปราะบาง):

พึ่งพา LLM ในการตัดสินใจทุกขั้นตอน Error แบบเงียบ (silent failure) เกิดได้ง่าย ยิ่งซับซ้อน ยิ่งไม่น่าเชื่อถือ Debug ยาก เพราะไม่รู้ว่าผิดตรงไหน

Control Flow (แข็งแกร่ง):

โครงสร้างกำหนดด้วย code ที่ตรวจสอบได้ Error ถูกจับและจัดการอย่างชัดเจน ซับซ้อนแค่ไหนก็ยังคงความน่าเชื่อถือ Debug ง่าย เพราะรู้ลำดับและจุดที่เกิดปัญหา

ในทางปฏิบัติ: ออกแบบ Agent อย่างไร

Microsoft เปิดตัว Conductor (พฤษภาคม 2026) เครื่องมือ open-source สำหรับ deterministic orchestration ของ multi-agent workflow โดยกำหนด workflow ด้วย YAML และ routing ระหว่าง agent เป็นแบบ deterministic ทั้งหมด แนวทางที่แนะนำ: ใช้ LLM สำหรับงานที่ต้องใช้ความฉลาด: วิเคราะห์, สรุป, ตัดสินใจเชิงซ้อน ใช้ code สำหรับงานที่ต้องการความแน่นอน: ตรวจสอบ, สลับขั้นตอน, จัดการ error อย่าฝาก "ความปลอดภัย" ไว้กับ prompt — ฝากไว้กับ code

สรุป

ถ้าคุณกำลังเขียน prompt ที่ยาวขึ้นเรื่อยๆ เพื่อควบคุมพฤติกรรมของ AI agent นั่นเป็นสัญญาณว่าคุณต้องการ control flow ไม่ใช่ prompt ที่ยาวขึ้น LLM เป็นเครื่องมือที่ทรงพลัง แต่มันเป็นแค่ component หนึ่ง ไม่ใช่ระบบทั้งหมด การห่อหุ้ม LLM ด้วย deterministic scaffold — state machine, validation checkpoint, risk gate — คือวิธีที่ถูกต้องในการสร้าง agent ที่ทำงานได้น่าเชื่อถือใน production ถอดความจากประชาสัมพันธ์: "ปฏิบัติต่อ LLM เหมือน function call ที่อาจคืนค่าผิด ไม่ใช่เหมือนพนักงานที่อ่านคู่มือแล้วทำตาม" แหล่งอ้างอิง: https://news.ycombinator.com/item?id=48051562

📌 Source: https://news.ycombinator.com/item?id=48051562