← กลับไปที่บล็อก

วิธีเขียน program.md ที่ดี: คู่มือปฏิบัติสำหรับคำสั่ง AI Agent

· Save Team
markdownaiprogram-mdautoresearchkarpathyguidebest-practices

autoresearch ของ Andrej Karpathy พิสูจน์ว่าไฟล์ Markdown ที่เขียนดีสามารถนำทาง AI agents ให้ค้นพบสิ่งทางวิทยาศาสตร์จริงๆ ได้ข้ามคืน แต่ไฟล์ program.md ไม่ได้เท่าเทียมกันทั้งหมด

คุณภาพของคำสั่ง Markdown ของคุณกำหนดคุณภาพของผลลัพธ์ของ AI agent โดยตรง program.md ที่คลุมเครือให้การทดลองที่สุ่มและไม่มีทิศทาง ส่วนที่แม่นยำให้การปรับปรุงที่โฟกัสและสะสมได้

นี่คือวิธีเขียน program.md ที่ใช้ได้จริง

โครงสร้างของ program.md ที่ดี

program.md ที่มีประสิทธิภาพทุกไฟล์ต้องการห้าส่วน ไม่ว่าคุณจะทำการวิจัย ML หรืองานที่ agent นำทางอื่นๆ

1. บริบท: Agent ต้องรู้อะไร?

Agent เริ่มต้นด้วยความเข้าใจเป็นศูนย์เกี่ยวกับโปรเจกต์ของคุณ งานแรกของคุณคือให้บริบทเพียงพอเพื่อตัดสินใจอย่างชาญฉลาด

สิ่งที่ควรรวม:

  • โปรเจกต์ทำอะไร
  • codebase มีลักษณะอย่างไร
  • ไฟล์สำคัญและวัตถุประสงค์
  • คำศัพท์เฉพาะโดเมน
  • สถานะปัจจุบันและปัญหาที่รู้จัก

สิ่งที่ควรข้าม:

  • ข้อมูลที่ LLM รู้อยู่แล้ว
  • รายละเอียดการใช้งานที่สามารถอ่านจากโค้ด
  • ประวัติที่ไม่ส่งผลต่อการตัดสินใจในปัจจุบัน

2. เป้าหมาย: Agent ควร Optimize อะไร?

นี่คือส่วนที่สำคัญที่สุด Agent ต้องการวัตถุประสงค์ที่ชัดเจนและวัดได้

ใน autoresearch เป้าหมายตรงไปตรงมา: ลด val_bpb (validation bits per byte) Agent สามารถวัดสิ่งนี้หลังการฝึกทุกๆ 5 นาที

สำหรับโปรเจกต์ของคุณเอง กำหนดความสำเร็จในแง่ที่ agent สามารถประเมินได้:

  • “ลดเวลาโหลดหน้าเว็บต่ำกว่า 2 วินาที”
  • “เพิ่ม test coverage เกิน 80%”
  • “ลดขนาด bundle อย่างน้อย 15%”

เป้าหมายคลุมเครือเช่น “ทำให้โค้ดดีขึ้น” ให้ผลลัพธ์คลุมเครือ เป้าหมายที่วัดได้ให้การปรับปรุงที่โฟกัส

3. ข้อจำกัด: Agent ไม่ควรทำอะไรเลย?

ข้อจำกัดมีความสำคัญเท่ากับเป้าหมาย หากไม่มี agent อาจหาทางออกที่สร้างสรรค์ที่คุณไม่ต้องการ — เช่นลบการทดสอบทั้งหมดเพื่อ “ปรับปรุง” ความเร็วการ build

ข้อจำกัดทั่วไป:

  • อย่าแก้ไขไฟล์ทดสอบหรือโค้ดประเมิน
  • อย่าเปลี่ยน public API
  • อย่าแนะนำ dependencies ใหม่
  • อย่าเกินงบประมาณหน่วยความจำ
  • รักษาโค้ดให้อ่านง่ายและบำรุงรักษาได้

ใน autoresearch ข้อจำกัดหลักคือเฉพาะ train.py เท่านั้นที่แก้ไขได้ data pipeline, โค้ดประเมิน และชุดทดสอบถูกล็อค สิ่งนี้ป้องกัน agent จากการหลอกเมตริก

4. กลยุทธ์: Agent ควรเข้าหาปัญหาอย่างไร?

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

คำสั่งกลยุทธ์ที่ดี:

  • “เริ่มด้วยการปรับ hyperparameter ก่อนการเปลี่ยนแปลงสถาปัตยกรรม”
  • “โฟกัสที่กลไก attention — การใช้งานปัจจุบันอาจไม่ใช่ optimal”
  • “ลองเทคนิค regularization ก่อน: dropout, weight decay, layer norm”
  • “หลีกเลี่ยงการเปลี่ยนแปลงที่เพิ่มเวลาฝึกมากกว่า 10%”

คำสั่งกลยุทธ์ที่ไม่ดี:

  • “ลองทุกอย่าง” (คลุมเครือเกินไป)
  • “เปลี่ยน learning rate เป็น 0.001” (เฉพาะเจาะจงเกินไป — คุณกำลัง micromanage)

จุดที่เหมาะสมคือคำแนะนำทิศทางที่ให้ agent สำรวจภายในขอบเขตที่เกิดผล

5. การประเมิน: Agent ควรตัดสินความสำเร็จอย่างไร?

Agent ต้องรู้วิธีวัดว่าการเปลี่ยนแปลงของมันช่วยได้หรือไม่ ใน autoresearch สิ่งนี้ถูกสร้างไว้ในวงจร: ถ้า val_bpb ดีขึ้น ให้เก็บการเปลี่ยนแปลง ถ้าไม่ ให้กลับไป

สำหรับบริบทอื่น กำหนดเกณฑ์การประเมินของคุณ:

  • เมตริกไหนที่สำคัญ?
  • เกณฑ์ใดนับเป็นการปรับปรุง?
  • Agent ควรจัดการผลลัพธ์ที่คลุมเครืออย่างไร?
  • Agent ควรหยุดและรายงานกลับเมื่อใด?

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

คลุมเครือเกินไป

“ทำให้โมเดลดีขึ้น” ไม่ให้ทิศทางแก่ agent ระบุให้ชัดเจนว่า “ดีขึ้น” หมายความว่าอะไร วัดอย่างไร และแนวทางไหนควรลองก่อน

เฉพาะเจาะจงเกินไป

“เปลี่ยนบรรทัดที่ 47 เพื่อใช้ learning rate 3e-4” ทำลายจุดประสงค์ของ agentic engineering คุณควรกำหนดทิศทาง ไม่ใช่บอกวิธีใช้งาน ให้ agent สำรวจ

ลืมข้อจำกัด

หากไม่มีข้อจำกัด agent จะหาทางที่มีแรงต้านน้อยที่สุด — ซึ่งมักไม่ใช่สิ่งที่คุณต้องการ agent ที่บอกให้ “ลดเวลาฝึก” อาจข้ามข้อมูลฝึกครึ่งหนึ่งถ้าคุณไม่ระบุไว้

ไม่ทำซ้ำ

program.md แรกของคุณจะไม่สมบูรณ์แบบ ดูสิ่งที่ agent ทำ ดูว่ามันผิดพลาดที่ไหน และอัปเดตคำสั่งของคุณ ไฟล์ program.md ที่ดีที่สุดพัฒนาขึ้นผ่านการทำซ้ำหลายสิบครั้ง

วงจรการทำซ้ำ

การเขียน program.md ไม่ใช่กระบวนการครั้งเดียว มันเป็นวงจร:

  1. เขียน program.md เริ่มต้นของคุณ
  2. รัน agent
  3. ตรวจสอบ สิ่งที่ agent ทำ
  4. อัปเดต คำสั่งของคุณตามสิ่งที่ได้ผลและสิ่งที่ไม่ได้ผล
  5. ทำซ้ำ

การทำซ้ำแต่ละครั้งทำให้คำสั่งของคุณแม่นยำขึ้น หลังจากหลายรอบ คุณจะมี program.md ที่ให้ผลลัพธ์ที่ดีอย่างสม่ำเสมอ

นี่คือทักษะหลักของ agentic engineering: ไม่ใช่การเขียนโค้ด แต่การเขียนคำสั่ง agent ที่มีประสิทธิภาพมากขึ้นเรื่อยๆ ผ่านการทำซ้ำ

สร้างไลบรารีอ้างอิงของคุณ

ไฟล์ program.md ที่ดีที่สุดไม่ได้มาจากความว่างเปล่า พวกมันสร้างบนความรู้เชิงลึกของโดเมน — เอกสาร บทความ แนวปฏิบัติที่ดีที่สุด และตัวอย่าง

เมื่อคุณพบเนื้อหาอ้างอิงที่มีประโยชน์บนเว็บ ให้บันทึกเป็น Markdown จากนั้นเมื่อคุณเขียน program.md คุณสามารถดึงบริบทที่เกี่ยวข้อง อ้างอิงเทคนิคเฉพาะ และให้ความรู้พื้นฐานที่ agent ต้องการ

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


Save แปลงเว็บเพจใดก็ได้เป็น Markdown ที่สะอาด — เหมาะสำหรับสร้างไลบรารีอ้างอิงที่ขับเคลื่อนไฟล์ program.md ที่มีประสิทธิภาพ ทดลองใช้ Save ฟรี