การออกแบบคำสั่ง

คำสั่งที่ดีกว่า โค้ดที่ดีกว่า

คุณภาพของโค้ดที่สร้างโดย AI ขึ้นอยู่กับสิ่งที่คุณขอและวิธีที่คุณขอเกือบทั้งหมด คู่มือนี้ครอบคลุมรูปแบบที่สร้างผลลัพธ์ที่ดีกว่ากับ Claude Code อย่างสม่ำเสมอ

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

ทำไมการออกแบบคำสั่งจึงสำคัญสำหรับโค้ด

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

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

คำสั่งที่ดีไม่จำเป็นต้องยาว พวกเขาต้องเฉพาะเจาะจงเกี่ยวกับสิ่งที่สำคัญและเงียบเกี่ยวกับสิ่งที่ไม่สำคัญ สมดุลนั้นคือสิ่งที่คู่มือนี้เกี่ยวกับ

หลักการพื้นฐานห้าประการ

รูปแบบที่ปรับปรุงผลลัพธ์ไม่ว่าจะเป็นงานใด

1

เฉพาะเจาะจงเกี่ยวกับผลลัพธ์ ไม่ใช่ขั้นตอน

แทนที่จะ 'สร้างคอมโพเนนต์ React, จากนั้นเพิ่มสถานะ, จากนั้นเพิ่มการจัดรูปแบบ' ให้บรรยายผลลัพธ์สุดท้าย: 'สร้างแถบด้านข้างที่พับได้ซึ่งแสดงชื่อโครงการ รองรับการลากเพื่อจัดเรียงใหม่ และใช้ธีม Tailwind ที่มีอยู่ของเรา' ให้ตัวแทนตัดสินใจว่าจะไปถึงที่นั่นได้อย่างไร

Avoid

สร้างคอมโพเนนต์ เพิ่ม useState เพิ่มปุ่มสลับ จัดรูปแบบด้วย Tailwind

Better

สร้างคอมโพเนนต์แถบด้านข้างที่พับได้ซึ่งแสดงรายการโครงการตามชื่อ ควรสนับสนุนการลากเพื่อจัดเรียงใหม่และตรงกับธีมมืดของเรา (bg-[#111318], border-[#262b38]) สถานะที่พับได้ควรคงอยู่ข้ามการโหลดหน้าใหม่

2

กำหนดขอบเขตงานอย่างชัดเจน

Agents ทำงานได้ดีที่สุดเมื่อพวกเขารู้ขอบเขต กำหนดว่าไฟล์ใดที่จะสัมผัส (หรือละเว้น), รูปแบบใดที่จะปฏิบัติตาม, และ 'เสร็จสิ้น' ดูเป็นอย่างไร งานที่ไม่มีขอบเขตนำไปสู่การเปลี่ยนแปลงที่กระจัดกระจายซึ่งยากต่อการตรวจสอบ

Avoid

ปรับปรุงระบบการตรวจสอบสิทธิ์

Better

ปรับปรุงตัวจัดการการเข้าสู่ระบบใน src/api/auth/login.ts เพื่อใช้ bcrypt แทน sha256 สำหรับการแฮชรหัสผ่าน อย่าเปลี่ยนตรรกะ JWT หรือการจัดการคุกกี้เซสชัน อัปเดตการทดสอบที่เกี่ยวข้องใน tests/auth/

3

ให้บริบทที่สำคัญ

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

Avoid

เพิ่มการตรวจสอบฟอร์ม

Better

เพิ่มการตรวจสอบฟอร์มในฟอร์มสมัครสมาชิกโดยใช้ zod (เราใช้มันสำหรับฟอร์มการตั้งค่าใน src/forms/settings.ts) แสดงข้อความแสดงข้อผิดพลาดแบบอินไลน์ด้านล่างแต่ละฟิลด์ ปฏิบัติตามการจัดรูปแบบข้อผิดพลาดเดียวกันกับฟอร์มเข้าสู่ระบบ

4

หนึ่งงานต่อคำสั่ง

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

Avoid

สร้างหน้าโปรไฟล์ผู้ใช้ เขียน API endpoints เพิ่มการทดสอบ อัปเดต README และแก้ไขแถบการนำทางในขณะที่คุณทำอยู่

Better

สร้าง endpoint GET /api/user/profile คืนค่า id, name, email, และ plan fields ใช้ middleware การตรวจสอบสิทธิ์ที่มีอยู่สำหรับการตรวจสอบสิทธิ์

5

ทำซ้ำ อย่าเริ่มใหม่

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

Avoid

นั่นผิด เริ่มใหม่และสร้างส่วนประกอบใหม่ให้แตกต่างออกไป

Better

เลย์เอาต์ดี แต่จุดตัดมือถือผิด ด้านล่าง 768px ให้จัดเรียงการ์ดในแนวตั้งแทนที่จะใช้กริด เก็บทุกอย่างอื่นไว้ตามเดิม

คำสั่งระบบ: บริบทที่คงอยู่

คำสั่งระบบตั้งค่าพฤติกรรมพื้นฐานสำหรับตัวแทนก่อนที่คุณจะพูดอะไร พวกมันเป็นเครื่องมือที่ถูกใช้งานน้อยที่สุดใน AI coding

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

AgentsRoom มาพร้อมกับคำสั่งระบบเฉพาะบทบาท 14 คำสั่ง: หนึ่งสำหรับแต่ละประเภทตัวแทน คำสั่งของตัวแทน Frontend บอกให้มันมุ่งเน้นไปที่ส่วนประกอบ การเข้าถึง และการออกแบบที่ตอบสนอง คำสั่งของตัวแทน QA บอกให้มันคิดเกี่ยวกับกรณีขอบและเขียนการทดสอบที่ครอบคลุม คุณสามารถปรับแต่งเหล่านี้หรือเขียนของคุณเองได้

ตัวอย่าง: คำสั่งระบบของตัวแทน Frontend

คุณเป็นนักพัฒนาฟรอนต์เอนด์ระดับสูง มุ่งเน้นไปที่ส่วนประกอบ React การจัดสไตล์ CSS/Tailwind การเข้าถึง (WCAG AA) และการออกแบบที่ตอบสนอง ใช้ไลบรารีส่วนประกอบที่มีอยู่ในโครงการก่อนที่จะสร้างส่วนประกอบใหม่ ให้ความสำคัญกับการประกอบมากกว่าการสืบทอด เขียน HTML ที่มีความหมาย อย่าแก้ไขไฟล์แบ็คเอนด์

การเขียนคำสั่งระบบที่มีประสิทธิภาพ

  • กำหนดบทบาทและขอบเขตของมัน ตัวแทนควรให้ความสำคัญกับอะไร? ควรละเลยอะไร?
  • กล่าวถึงเทคโนโลยีและเวอร์ชันที่เฉพาะเจาะจง 'React 19 กับ Server Components' ดีกว่า 'modern React'
  • อ้างอิงตามข้อตกลงของโครงการ 'ใช้ Zustand สำหรับสถานะ' บอกตัวแทนว่าไม่ต้องไปใช้ Redux หรือ Context
  • ตั้งค่าความคาดหวังด้านคุณภาพ 'เขียน TypeScript ด้วยโหมดเข้มงวด ไม่มีประเภท any' ป้องกันการใช้ทางลัด
  • รวมข้อจำกัดเชิงลบ 'อย่าแก้ไขไฟล์ใน /api/' ทำให้ตัวแทนอยู่ในเส้นทางของมัน

CLAUDE.md: บริบทระดับโครงการ

คำสั่งที่มีประสิทธิภาพที่สุดไม่ได้พิมพ์ลงในแชท มันอยู่ในที่เก็บของคุณ

CLAUDE.md เป็นไฟล์ markdown ที่อยู่ในรากของโครงการของคุณที่ Claude Code อ่านโดยอัตโนมัติ มันประกอบด้วยโครงสร้างโครงการ ข้อตกลง รายละเอียดสแต็ก และแนวทางที่ใช้กับทุกเซสชันของตัวแทนในโครงการ

แทนที่จะพูดซ้ำ 'เราใช้ Tailwind CSS 4, Prisma ORM, และ Next.js 16' ในทุกการสนทนา ให้เขียนมันครั้งเดียวใน CLAUDE.md ทุกตัวแทนสืบทอดบริบทนี้ AgentsRoom รวมถึงตัวแก้ไขในตัวสำหรับ CLAUDE.md เพื่อให้คุณสามารถอัปเดตได้โดยไม่ต้องออกจากแอป

CLAUDE.md ที่เขียนได้ดีมีค่ามากกว่าคำสั่งเฉพาะบุคคลที่ถูกสร้างขึ้นอย่างระมัดระวังหลายสิบคำสั่ง มันสะสม: ทุกเซสชันได้รับประโยชน์จากมัน

สร้างห้องสมุดคำสั่ง

หยุดการเขียนคำสั่งเดียวกันซ้ำแล้วซ้ำเล่า เก็บสิ่งที่ใช้ได้ผลและนำกลับมาใช้ใหม่

ถ้าคุณพบว่าตัวเองพิมพ์คำขอประเภทเดียวกันในหลายโครงการ ('เขียนการทดสอบหน่วยสำหรับไฟล์นี้', 'ปรับปรุงให้ใช้รูปแบบ repository', 'เพิ่มการจัดการข้อผิดพลาดในทุกเส้นทาง API') ให้บันทึกเป็นคำสั่งที่นำกลับมาใช้ใหม่ได้

AgentsRoom รวมฟีเจอร์ห้องสมุดคำสั่งที่มีสองระดับ: คำสั่งเฉพาะโครงการสำหรับงานเฉพาะในโครงการ และคำสั่งทั่วโลก (ซิงค์กับคลาวด์) สำหรับรูปแบบที่คุณใช้ทุกที่

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

ตัวอย่างห้องสมุดคำสั่ง

เขียนการทดสอบหน่วย

เขียนการทดสอบหน่วยสำหรับ [ไฟล์]. ใช้ vitest. ครอบคลุมเส้นทางที่ดี กรณีขอบ (ข้อมูลว่าง, null, ประเภทที่ไม่ถูกต้อง) และการจัดการข้อผิดพลาด จำลองการพึ่งพาภายนอก ตั้งเป้าหมายให้มีการครอบคลุมสาขามากกว่า 90%

การตรวจสอบโค้ด

ตรวจสอบการเปลี่ยนแปลงใน git diff ปัจจุบัน ตรวจสอบ: การนำเข้าไม่ใช้, การจัดการข้อผิดพลาดที่ขาดหายไป, ปัญหาความปลอดภัยของประเภท, สถานการณ์การแข่งที่อาจเกิดขึ้น, และความไม่สอดคล้องในการตั้งชื่อ แนะนำการแก้ไขสำหรับแต่ละปัญหาที่พบ

API Endpoint

สร้าง REST endpoint สำหรับ [resource] รวมถึงการตรวจสอบข้อมูลนำเข้าด้วย zod, การตอบสนองข้อผิดพลาดที่เหมาะสม (400, 401, 404, 500), ประเภท TypeScript สำหรับคำขอ/การตอบสนอง, และความคิดเห็น JSDoc ที่อธิบาย endpoint ตามรูปแบบที่มีอยู่ใน src/api/.

รูปแบบขั้นสูง

เทคนิคสำหรับงานที่ซับซ้อนซึ่งเกินกว่าคำสั่งเดียว

การเชื่อมโยงคำสั่ง

แบ่งงานใหญ่เป็นขั้นตอนที่เรียงลำดับ เริ่มต้นตัวแทนแรกด้วยขั้นตอนที่หนึ่ง รอให้เสร็จสิ้น จากนั้นเริ่มตัวแทนถัดไปด้วยขั้นตอนที่สอง (อ้างอิงผลลัพธ์จากขั้นตอนที่หนึ่ง) แต่ละขั้นตอนจะเล็กลงและมุ่งเน้นมากขึ้น ตัวอย่าง: ตัวแทน 1 ออกแบบโครงสร้างฐานข้อมูล ตัวแทน 2 เขียน API โดยใช้โครงสร้างนั้น ตัวแทน 3 เขียนการทดสอบกับ API

การตรวจสอบข้ามตัวแทน

หลังจากตัวแทนหนึ่งเสร็จสิ้น ให้ชี้ไปที่ผลลัพธ์ของมันด้วยตัวแทนที่แตกต่างกัน 'ตรวจสอบการเปลี่ยนแปลงที่ตัวแทนส่วนหน้าเพิ่งทำใน src/components/. ตรวจสอบปัญหาการเข้าถึงและสถานะข้อผิดพลาดที่ขาดหายไป' ตัวแทนใหม่ที่มีบทบาทที่แตกต่างกันจะจับสิ่งที่ตัวแทนเดิมพลาดไป

ข้อจำกัดเชิงก้าวหน้า

เริ่มต้นด้วยคำสั่งที่หลวมเพื่อดูว่าตัวแทนเข้าหาปัญหาอย่างไร จากนั้นเพิ่มข้อจำกัดในข้อความติดตาม: 'โครงสร้างดี แต่ใช้ส่วนประกอบเซิร์ฟเวอร์แทนส่วนประกอบไคลเอนต์' 'เก็บ hook ไว้ แต่ลบ useEffect และใช้การเปลี่ยนแปลง React Query แทน' ทุกการวนรอบจะทำให้แคบลงไปยังโซลูชันที่คุณต้องการ

การนำไปใช้ที่อ้างอิง

ชี้ตัวแทนไปที่โค้ดที่มีอยู่: 'สร้างหน้าการตั้งค่าตามรูปแบบเดียวกับ src/pages/profile.tsx โครงสร้างเลย์เอาต์เดียวกัน การจัดการฟอร์มเดียวกัน การแสดงข้อผิดพลาดเดียวกัน' สิ่งนี้มักจะมีประสิทธิภาพมากกว่าการอธิบายรูปแบบด้วยคำพูด

ข้อผิดพลาดทั่วไป

รูปแบบที่ผลิตผลลัพธ์ที่แย่ลงอย่างต่อเนื่อง

การระบุการนำไปใช้มากเกินไป

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

ไม่มีขอบเขตการทำงาน

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

การมองข้ามโค้ดที่มีอยู่

ไม่กล่าวถึงว่ารูปแบบ ยูทิลิตี้ หรือส่วนประกอบมีอยู่แล้วในโปรเจกต์ ตัวแทนจะสร้างใหม่ หนึ่งประโยคง่ายๆ 'เรามี useAuth hook ใน src/hooks/' ช่วยประหยัดการทำงานซ้ำได้มาก

การรวมคำสั่งขนาดใหญ่

การบีบห้าหน้าที่ลงในข้อความเดียว ตัวแทนจะพยายามทำทั้งหมด แต่คุณภาพจะลดลงเมื่อมันต้องจัดการกับเป้าหมายที่แข่งขันกัน แยกออกเป็นคำขอที่เรียงลำดับและมุ่งเน้นแทน

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

คำสั่งการเขียนโค้ดควรยาวแค่ไหน?+
คำสั่งการเขียนโค้ดที่มีประสิทธิภาพที่สุดคือ 2 ถึง 5 ประโยค ยาวพอที่จะระบุผลลัพธ์ ขอบเขต และข้อจำกัดที่สำคัญ สั้นพอที่ตัวแทนจะไม่หลงทางในรายละเอียด หากคำสั่งของคุณเป็นย่อหน้าทั้งหมด ให้พิจารณาว่าส่วนหนึ่งของบริบทนั้นควรอยู่ใน CLAUDE.md หรือคำสั่งระบบแทน
ฉันควรเขียนคำสั่งแตกต่างกันสำหรับ Opus กับ Sonnet หรือไม่?+
เล็กน้อย Opus จัดการกับความคลุมเครือได้ดีกว่าและสามารถอนุมานเจตนาจากบริบทที่น้อยกว่า Sonnet ได้ประโยชน์จากคำแนะนำที่ชัดเจนและขอบเขตที่ชัดเจนมากขึ้น สำหรับทั้งสองโมเดล ความเฉพาะเจาะจงเกี่ยวกับผลลัพธ์ที่คาดหวังจะช่วยปรับปรุงผลลัพธ์
AgentsRoom ช่วยในการออกแบบคำสั่งอย่างไร?+
สามวิธี: คำสั่งระบบเฉพาะบทบาทที่มีอยู่ในแต่ละประเภทตัวแทน 14 ประเภท, ห้องสมุดคำสั่งสำหรับการบันทึกและนำกลับมาใช้ใหม่คำสั่งที่มีประสิทธิภาพ, และตัวแก้ไข CLAUDE.md สำหรับบริบทระดับโปรเจกต์ เลเยอร์เหล่านี้หมายความว่าคุณใช้เวลาน้อยลงในการสร้างข้อความแต่ละข้อความเพราะบริบทพื้นฐานนั้นดีอยู่แล้ว.
ฉันสามารถแชร์คำสั่งกับทีมได้ไหม?+
ใช่. AgentsRoom เก็บคำสั่งในสองที่: คำสั่งระดับโปรเจกต์ใน .agentsroom/prompts.json (ควบคุมเวอร์ชัน, แชร์ผ่าน git) และคำสั่งส่วนตัวใน prompts-personal.json (gitignored). คำสั่งทั่วโลกซิงค์ผ่านคลาวด์ในอุปกรณ์ของคุณทั้งหมด.
ความแตกต่างระหว่างคำสั่งระบบและ CLAUDE.md คืออะไร?+
CLAUDE.md คือบริบทโปรเจกต์ที่ตัวแทนทุกคนอ่านโดยอัตโนมัติ: สแต็ค, โครงสร้าง, ข้อกำหนด. คำสั่งระบบคือคำแนะนำพฤติกรรมเฉพาะตัวแทน: บทบาท, พื้นที่โฟกัส, ข้อจำกัด. พวกเขาเสริมซึ่งกันและกัน. CLAUDE.md บอกว่า 'โปรเจกต์นี้ใช้ Next.js 16 กับ Prisma.' คำสั่งระบบบอกว่า 'คุณเป็นนักพัฒนาด้านหลังที่มุ่งเน้นไปที่ API routes.'

เขียนคำสั่งให้ดียิ่งขึ้น, ส่งโค้ดให้ดียิ่งขึ้น

AgentsRoom ให้คุณคำสั่งระบบ, ห้องสมุดคำสั่ง, และการแก้ไข CLAUDE.md ที่สร้างขึ้น. ใช้เวลาน้อยลงในการสร้างคำสั่ง, ใช้เวลามากขึ้นในการสร้าง.

ฟรีดาวน์โหลด

แอปคู่หู: ตรวจสอบตัวแทนของคุณได้ทุกที่

นำของคุณเอง: Claude, Codex, Antigravity CLI, หรือผู้ให้บริการ AI อื่น ๆ

รับส่วนขยาย
Chrome Web Store

ส่งข้อบกพร่องและคำขอไปยังแบ็คล็อกสาธารณะของคุณโดยตรง

มองเห็น AgentsRoom ในการทำงาน

หลายโปรเจกต์
ผู้ให้บริการหลายราย
หลาย agents
สถานะสด
ไฟล์ diff & commit
คู่หูมือถือ
ตัวอย่างสด
ทีมตัวแทน
การทำงานอัตโนมัติในเบราว์เซอร์
การพัฒนาที่ขับเคลื่อนด้วย backlog
ห้องสมุดคำสั่ง
ห้องสมุดทักษะ
ดูฟีเจอร์ทั้งหมด