วงจรแก้ไขตนเองแบบทำซ้ำ
เรียกใช้การทดสอบ วิเคราะห์ข้อผิดพลาด และขอให้โมเดลแก้ไข — วงจรภายในของเอเจนต์เขียนโค้ดสมัยใหม่ทุกตัว
วงจรแก้ไขตนเองแบบทำซ้ำ เป็นบทเรียน AI Agents ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน AI Agents และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส AI Agents มีบทเรียนทั้งหมด 4 บทเรียน
บางส่วนของบทเรียนนี้ยังไม่ได้รับการแปล และแสดงเป็นภาษาอังกฤษ
เหตุใดจึงต้องแก้ไขตนเอง
ความพยายามครั้งแรกมักล้มเหลว คุณสมบัติสำคัญของเอเจนต์เขียนโค้ดคือความสามารถในการ:
- run โค้ด
- อ่านข้อผิดพลาด
- แก้ไขโค้ด
- ทำซ้ำ
วงจรภายในนี้เองที่แยกเอเจนต์เขียนโค้ดจริงออกจากการสาธิตการเติมข้อความ
The Loop
def code_until_pass(task, max_iters=10):
write_initial_code(task)
for i in range(max_iters):
result = run_tests()
if result.passed:
return 'success'
fix_prompt = f'Tests failed:\n{result.stderr}\nRead the code, identify the bug, and fix it with edit_file.'
agent.run(fix_prompt)
return 'gave up'ให้ผลป้อนกลับที่เป็นประโยชน์
ข้อความทั่วไปอย่าง "การทดสอบล้มเหลว" ไม่ช่วยให้ดำเนินการใดต่อได้ ควรส่งผลลัพธ์ข้อผิดพลาดทั้งหมด ร่องรอยการเรียกใช้ และค่าที่คาดหวังเทียบกับค่าจริง:
fix_prompt = f'''
The tests failed with this output:
FAILED tests/test_utils.py::test_add
AssertionError: expected 4, got 5
at line 42
Fix the code by editing the file.
'''อ่านซ้ำก่อนแก้ไขอีกครั้ง
โมเดลมักลืมข้อมูล บังคับให้โมเดลอ่านสถานะ current ของไฟล์อีกครั้งในทุกการวนซ้ำ:
fix_prompt = 'First, read_file the failing module. Then edit it.'ตรวจจับความล้มเหลวซ้ำ
หากการทดสอบเดิมล้มเหลวติดต่อกัน 3 รอบพร้อมข้อผิดพลาดเหมือนเดิม แสดงว่าเอเจนต์ติดอยู่กับที่ ให้วางแผนใหม่หรือส่งต่อ:
if same_error_count >= 3:
return 'stuck — replanning needed'Replan When Stuck
replan_prompt = f'''
The current approach is not working. The repeated error is:
{error}
Describe ONE alternative approach to solving the task.
'''ส่งต่อให้โมเดลที่ใหญ่กว่า
หากโมเดลราคาถูกติดอยู่กับที่ ให้ลองพรอมต์แก้ไข SAME ซ้ำโดยใช้โมเดลที่มีประสิทธิภาพสูงกว่า:
if iter > 3 and using_cheap_model:
switch_to_big_model()
# often unblocks 50% of stuck casesตรวจสอบหลังการแก้ไขแต่ละครั้ง
อย่าแก้ไขหลายอย่างแล้วค่อยตรวจสอบ เพราะจะระบุสาเหตุของความล้มเหลวได้ยาก ให้แก้ไขทีละอย่าง ตรวจสอบ แล้วจึงแก้ไขอย่างถัดไป
ใส่ผลลัพธ์จากการทดสอบไว้ในบริบท
เก็บผลลัพธ์จากการทดสอบล่าสุดไว้ในบริบทของเอเจนต์ หากไม่มีข้อมูลนี้ เอเจนต์จะไม่รู้ว่าตนเพิ่งทำอะไรไป:
messages.append({'role': 'tool', 'content': f'After your edit, tests now: {test_summary}'})หลีกเลี่ยงวงจร "แก้ไข" ไม่รู้จบ
กำหนดจำนวนรอบสูงสุดอย่างชัดเจน หากงานยังไม่เสร็จเมื่อถึง MAX_ITERS ให้ส่งต่อให้มนุษย์:
if iter == MAX_ITERS - 1:
notify_human(task, current_state, error_history)
breakติดตามตัวชี้วัดการแก้ไขตนเอง
- จำนวนรอบเฉลี่ยกว่าจะสำเร็จ
- งานที่ยอมแพ้เมื่อถึง max_iter
- งานที่สำเร็จใน 1 รอบเทียบกับ 5 รอบ
ตัวชี้วัดเหล่านี้ช่วยขับเคลื่อนการปรับปรุงพรอมต์และเครื่องมือ
วิจารณ์ตนเองโดยไม่มีชุดทดสอบ
สำหรับงานที่ไม่มีชุดทดสอบชัดเจน ให้เพิ่มขั้นตอนการวิจารณ์ โดยให้เอเจนต์ตรวจทานส่วนต่างการเปลี่ยนแปลงของตนเองก่อนส่งงาน:
critique_prompt = '''
Review your changes for:
- Off-by-one errors
- Missing error handling
- Breaking other tests
Return FIX LATER or DONE.
'''ข้อมูลป้อนเข้าสำหรับการแก้ไขตนเอง
ข้อมูลป้อนเข้าเพียงอย่างเดียวที่สำคัญที่สุดสำหรับ "วงจรแก้ไข" ของเอเจนต์คืออะไร
ทบทวน
run -> ข้อผิดพลาด -> แก้ไข -> ทำซ้ำ ส่งข้อผิดพลาดที่เป็นรูปธรรม อ่านซ้ำก่อนแก้ไขอีกครั้ง ตรวจจับการหยุดชะงัก เมื่อไปต่อไม่ได้ให้ส่งต่อไปยังโมเดลที่ใหญ่กว่าหรือมนุษย์
คำถามที่พบบ่อย
บทเรียน “วงจรแก้ไขตนเองแบบทำซ้ำ” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “วงจรแก้ไขตนเองแบบทำซ้ำ” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส AI Agents ให้อัปเกรดเป็น CoddyKit PRO คอร์ส AI Agents มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “วงจรแก้ไขตนเองแบบทำซ้ำ”
เรียกใช้การทดสอบ วิเคราะห์ข้อผิดพลาด และขอให้โมเดลแก้ไข — วงจรภายในของเอเจนต์เขียนโค้ดสมัยใหม่ทุกตัว คุณปฏิบัติ AI Agents ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน AI Agents หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน AI Agents บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน
บทเรียน “วงจรแก้ไขตนเองแบบทำซ้ำ” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน AI Agents นี้ได้ไหม
ได้ บทเรียน AI Agents ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- รูปแบบเอเจนต์: วางแผน-ดำเนินการ-ตรวจสอบ
- ชุดเครื่องมือสำหรับเขียนโค้ด (Read, Edit, Bash)
- วงจรแก้ไขตนเองแบบทำซ้ำ
- สถาปัตยกรรมของ SWE-Agent และ OpenDevin