Claude Architect · บทเรียน

แบบโต้ตอบเทียบกับแบบไร้ส่วนติดต่อ

เซสชันสนทนาเทียบกับการทำงานตามสคริปต์ที่ไม่โต้ตอบ

บทเรียน 2 จาก 413 ขั้นตอน

แบบโต้ตอบเทียบกับแบบไร้ส่วนติดต่อ เป็นบทเรียน Claude Architect ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Claude Architect และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Claude Architect มีบทเรียนทั้งหมด 4 บทเรียน

สองวิธีในการเรียกใช้ Claude Code

Claude Code ทำงานได้สองโหมดที่แตกต่างกันโดยพื้นฐาน และการเลือกโหมดที่เหมาะสมถือเป็นการตัดสินใจด้านสถาปัตยกรรมอย่างแท้จริง

  • แบบโต้ตอบ: เซสชันสนทนา คุณพิมพ์ Claude ตอบ คุณเป็นผู้กำหนดทิศทาง และเครื่องมือจะขออนุมัติ มีมนุษย์อยู่ในกระบวนการ
  • แบบไม่มีส่วนควบคุม (ไม่โต้ตอบ): การเรียกใช้ด้วยสคริปต์ครั้งเดียว ซึ่งทำงานจนเสร็จโดยไม่มีมนุษย์อยู่ เหมาะสำหรับกระบวนการทำงานและระบบอัตโนมัติ

ใช้เครื่องยนต์เดียวกัน แต่มีรูปแบบการควบคุมที่แตกต่างกันมาก บทเรียนนี้จะแสดงว่าแต่ละแบบเหมาะกับสถานการณ์ใด

แฟล็กสำหรับโหมดไม่มีส่วนควบคุม

คุณเปลี่ยนเป็นโหมดไม่มีส่วนควบคุมด้วย -p (เขียนได้อีกแบบว่า --print) ระบบจะเรียกใช้คำสั่งแจ้งครั้งเดียว แสดงผลลัพธ์ แล้วจบการทำงาน ไม่ต้องโต้ตอบไปมา และไม่จำเป็นต้องใช้ TTY

นี่คือรูปแบบที่จำเป็นสำหรับกระบวนการ CI/CD เพราะไม่มีมนุษย์คอยตอบคำถามภายในงานสร้าง ดังนั้นเซสชันแบบโต้ตอบจะค้างอยู่เท่านั้น

# Interactive: opens a conversational session
claude

# Headless: runs once and exits (required in pipelines)
claude -p "Review the staged diff and flag correctness bugs"

ผลลัพธ์ที่แยกวิเคราะห์ได้

ผลลัพธ์แบบโต้ตอบมีไว้ให้มนุษย์อ่าน ส่วนผลลัพธ์แบบไม่มีส่วนควบคุมมีไว้ให้เครื่องแยกวิเคราะห์ ให้ใช้ --output-format json เพื่อให้ขั้นตอนถัดไปประมวลผลผลลัพธ์ด้วยโปรแกรมได้

ใช้คู่กับ JSON Schema เพื่อรับประกันโครงสร้าง และป้องกันไม่ให้กระบวนการทำงานของคุณเสียหายจากข้อความร้อยแก้วอิสระ

claude -p "List failing test files and the root cause for each" \
  --output-format json \
  --output-schema ./schemas/review.json > review.json

# A later CI step reads review.json and decides pass/fail

ใครเป็นผู้ตัดสินใจ

ความแตกต่างที่สำคัญที่สุดคือใครเป็นผู้กำหนดทิศทาง

  • แบบโต้ตอบ: มนุษย์แก้ไขทิศทางระหว่างงาน อนุมัติการแก้ไข และแก้ความกำกวมเมื่อระบบถาม
  • แบบไม่มีส่วนควบคุม: ไม่มีใครให้ถาม ดังนั้นคำสั่งต้องมีข้อมูลครบถ้วน เกณฑ์ความสำเร็จต้องชัดเจน และคำขาเข้าที่คลุมเครือต้องจัดการด้วยคำสั่งเอง ไม่ใช่ด้วยคำถามติดตาม

หากงานของคุณต้องอาศัยการตัดสินใจของมนุษย์ระหว่างทางจริง ๆ โหมดไม่มีส่วนควบคุมก็ไม่ใช่ตัวเลือกที่เหมาะสม

โหมดวางแผนเป็นแบบโต้ตอบ

โหมดวางแผนอยู่ในกลุ่มการทำงานแบบโต้ตอบ คุณใช้โหมดนี้กับการเปลี่ยนแปลงขนาดใหญ่ แนวทางที่เป็นไปได้หลายแบบ หรือการตัดสินใจด้านสถาปัตยกรรม โดย Claude จะสำรวจและเสนอแผน จากนั้นรอการอนุมัติก่อนแก้ไข

ขั้นตอนการอนุมัตินี้คือจุดตรวจสอบโดยมนุษย์ ซึ่งไม่มีความหมายในการทำงานแบบไม่มีส่วนควบคุม เพราะไม่มีใครอนุมัติ สำหรับการแก้ไขไฟล์เดียวหรือสแตกเทรซที่ชัดเจน คุณสามารถข้ามโหมดวางแผนและดำเนินการโดยตรงได้

โหมดไม่มีส่วนควบคุมใน CI: ตรวจสอบทุก PR

กรณีใช้งานแบบไม่มีส่วนควบคุมที่พบได้บ่อยคือการตรวจสอบโค้ดอัตโนมัติในทุก pull request งานจะเรียกใช้ -p สร้างผลลัพธ์ JSON และสคริปต์จะเปลี่ยนข้อค้นพบให้เป็นความคิดเห็นหรือเงื่อนไขกั้น

สิ่งสำคัญคือต้องดำเนินการตรวจสอบนี้ในเซสชันที่แยกออกมา เพื่อไม่ให้บริบทจากการสร้างใด ๆ ทำให้เกิดอคติ การตรวจสอบจากอินสแตนซ์ใหม่ย่อมดีกว่าการตรวจสอบตนเองในเซสชันเดียวกัน ซึ่งผู้เขียนยังคงยึดเหตุผลเดิมของตนและไม่ท้าทายตัวเอง

# .github/workflows/review.yml (step)
- name: Claude review
  run: |
    claude -p "$(cat .ci/review-prompt.md)" \
      --output-format json > findings.json
    node .ci/post-comments.js findings.json

ลดผลบวกลวงให้เหลือน้อยที่สุด

ผู้ตรวจสอบแบบไม่มีส่วนควบคุมที่ส่งสัญญาณเตือนเกินจริงจะถูกปิดการใช้งาน ให้เกณฑ์ที่ชัดเจนแทนคำสั่งกำกวม เช่น “แจ้งความคิดเห็นเฉพาะเมื่อขัดแย้งกับโค้ด” ย่อมดีกว่า “ทำให้แม่นยำขึ้น”

เมื่อเรียกใช้ใหม่หลังการส่งการเปลี่ยนแปลงครั้งถัดไป ให้รวมผลลัพธ์ก่อนหน้าและรายงานเฉพาะปัญหาใหม่หรือที่ยังไม่ได้แก้ไข เพื่อไม่ให้เสียงรบกวนเดิมถูกทำซ้ำในทุกคอมมิต

claude -p "Flag an issue ONLY when it changes runtime behavior or breaks a test. \
Here are last run's findings: $(cat prev-findings.json). \
Report only NEW or still-unfixed issues." \
  --output-format json

โหมดไม่มีส่วนควบคุมไม่ใช่ Batch API

อย่าสับสนการตรวจสอบแบบไม่มีส่วนควบคุมที่บล็อกการทำงานกับMessage Batches API เพราะทั้งสองอย่างแก้ปัญหาคนละแบบ

  • โหมดไม่มีส่วนควบคุม -p ใน CI: ทำงานแบบพร้อมกัน ส่งผลลัพธ์ทันที และใช้เป็นเงื่อนไขกั้นการผสานโค้ด
  • Batch API: ถูกกว่า 50% มีกรอบเวลาสูงสุด 24 ชั่วโมง ไม่มี SLA ด้านเวลาแฝง และไม่รองรับการเรียกใช้เครื่องมือหลายรอบ

ใช้ Batch กับงานข้ามคืนที่ไม่บล็อกการทำงาน เช่น รายงานหรือการตรวจสอบ และอย่าใช้กับการตรวจสอบก่อนผสานโค้ดหรือการตรวจสอบที่ต้องตอบกลับทันที

เซสชันเหมาะกับงานแบบโต้ตอบ

งานแบบโต้ตอบเป็นการสนทนาและสามารถทำต่อได้ --resume <name> ใช้ดำเนินการต่อจากเซสชันที่ตั้งชื่อไว้ ส่วน fork_session ใช้แยกแขนงจากจุดร่วมเพื่อทดลองแนวทางอื่น

ข้อควรระวังคือ ผลลัพธ์จากเครื่องมือที่เรียกต่อในภายหลังอาจล้าสมัย หากฐานโค้ดมีการเปลี่ยนแปลงตั้งแต่นั้น บางครั้งเซสชันใหม่ที่เริ่มต้นด้วยสรุปแบบมีโครงสร้างก็เหมาะกว่าการดำเนินการต่อจากเซสชันที่ไม่เป็นปัจจุบัน

# Continue a named conversation later
claude --resume refactor-auth

# Branch from a shared point to explore an alternative
# (fork_session) without disturbing the original thread

การกำหนดค่าที่ใช้ร่วมกันทั้งสองโหมด

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

  • ./CLAUDE.md (ระดับโครงการ แชร์ผ่าน VCS) นำมาตรฐานไปใช้กับการทำงานทุกครั้ง
  • .claude/skills/ และคำสั่งต่าง ๆ มอบพฤติกรรมที่นำกลับมาใช้ใหม่ได้และกำหนดขอบเขตได้

โปรดทราบว่า ~/.claude/CLAUDE.md ระดับผู้ใช้เป็นข้อมูลส่วนบุคคลและไม่แชร์ผ่าน VCS ดังนั้นตัวรัน CI ของคุณจะไม่มีไฟล์นี้ สิ่งใดก็ตามที่งานแบบไม่มีส่วนควบคุมต้องใช้ควรอยู่ในขอบเขตโครงการ

# Headless CI relies on project-scope config, not your machine's:
#   ./CLAUDE.md          -> shared via VCS  (CI sees it)
#   .claude/skills/      -> shared via VCS  (CI sees it)
#   ~/.claude/CLAUDE.md  -> personal only   (CI does NOT see it)

รายการตรวจสอบเพื่อการตัดสินใจ

เมื่อเลือกโหมด ให้ถามตัวเองว่า:

  • มีมนุษย์อยู่เพื่ออนุมัติและกำหนดทิศทางหรือไม่ มี -> แบบโต้ตอบ ไม่มี -> แบบไม่มีส่วนควบคุม
  • มีสคริปต์ที่ต้องแยกวิเคราะห์ผลลัพธ์หรือไม่ มี -> แบบไม่มีส่วนควบคุมพร้อม --output-format json
  • เป็นการตรวจสอบที่บล็อกการทำงานและไวต่อเวลาหรือไม่ ให้ใช้แบบไม่มีส่วนควบคุมที่ทำงานพร้อมกัน ไม่ใช่ Batch
  • เป็นการเปลี่ยนแปลงขนาดใหญ่หรือด้านสถาปัตยกรรมที่ต้องอนุมัติก่อนหรือไม่ ใช้โหมดวางแผนแบบโต้ตอบ
  • เป็นการตรวจสอบ PR อัตโนมัติหรือไม่ ใช้เซสชันแบบไม่มีส่วนควบคุมที่แยกออกมาพร้อมเกณฑ์ที่ชัดเจน

เลือกโหมดให้ตรงกับผู้ที่อยู่ในกระบวนการและผู้ที่จะนำผลลัพธ์ไปใช้

ตรวจสอบอย่างรวดเร็ว

นำสิ่งที่คุณเรียนรู้ไปใช้กับการตัดสินใจเกี่ยวกับกระบวนการทำงานที่สมจริง

สรุป: แบบโต้ตอบเทียบกับแบบไม่มีส่วนควบคุม

ประเด็นสำคัญ:

  • แบบโต้ตอบ = สนทนาและมีมนุษย์อยู่ในกระบวนการ รองรับการอนุมัติในโหมดวางแผน รวมถึงเซสชันที่ดำเนินการต่อหรือแยกแขนงได้
  • แบบไม่มีส่วนควบคุม = -p/--print ทำงานครั้งเดียวแล้วจบ จำเป็นสำหรับ CI/CD ที่ไม่มีมนุษย์อยู่
  • เพิ่ม --output-format json (พร้อมสคีมา) เพื่อให้ได้ผลลัพธ์ที่เครื่องแยกวิเคราะห์ได้
  • การตรวจสอบอัตโนมัติควรทำในเซสชันที่แยกออกมาพร้อมเกณฑ์ที่ชัดเจน และรายงานเฉพาะปัญหาใหม่หรือที่ยังไม่ได้แก้ไข
  • ทั้งสองโหมดใช้การกำหนดค่าขอบเขตโครงการร่วมกัน (./CLAUDE.md, .claude/) แต่ไม่ใช้การกำหนดค่าส่วนบุคคลใน ~/.claude ร่วมกัน
  • การตรวจสอบแบบไม่มีส่วนควบคุมที่บล็อกการทำงานไม่ใช่ Batch API: Batch มีราคาถูกกว่า แต่ไม่มี SLA ด้านเวลาแฝงและไม่รองรับการเรียกใช้เครื่องมือหลายรอบ
เริ่มต้นได้ฟรี

เรียนรู้ Python ด้วย AI tutor — ฟรี

เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป

คอร์ส
26
บทเรียน
104

คำถามที่พบบ่อย

บทเรียน “แบบโต้ตอบเทียบกับแบบไร้ส่วนติดต่อ” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “แบบโต้ตอบเทียบกับแบบไร้ส่วนติดต่อ” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Claude Architect ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Claude Architect มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “แบบโต้ตอบเทียบกับแบบไร้ส่วนติดต่อ”

เซสชันสนทนาเทียบกับการทำงานตามสคริปต์ที่ไม่โต้ตอบ คุณปฏิบัติ Claude Architect ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Claude Architect หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Claude Architect บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน

บทเรียน “แบบโต้ตอบเทียบกับแบบไร้ส่วนติดต่อ” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Claude Architect นี้ได้ไหม

ได้ บทเรียน Claude Architect ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. Claude Code คืออะไร
  2. แบบโต้ตอบเทียบกับแบบไร้ส่วนติดต่อ
  3. ลูป Read / Edit / Write
  4. คำสั่งหน่วยความจำและการย่อบริบท
← กลับไปที่ Claude Architect