กองเป้าหมายและการย้อนกลับ
ผลักเป้าหมายย่อยลงสแต็ก นำออกเมื่อทำงานเสร็จ และย้อนกลับเมื่อพบทางตัน ซึ่งเป็นการวางแผนปัญญาประดิษฐ์แบบคลาสสิก
กองเป้าหมายและการย้อนกลับ เป็นบทเรียน AI Agents ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน AI Agents และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส AI Agents มีบทเรียนทั้งหมด 4 บทเรียน
บางส่วนของบทเรียนนี้ยังไม่ได้รับการแปล และแสดงเป็นภาษาอังกฤษ
สแตกของเป้าหมาย
การวางแผนแบบคลาสสิกของปัญญาประดิษฐ์ใช้สแตกเป้าหมาย โดย push เป้าหมายย่อยเมื่อพบ และใช้ pop เมื่อทำเสร็จ เอเจนต์สามารถใช้โครงสร้างข้อมูลแบบเดียวกันได้:
goal_stack = []
def push(goal):
goal_stack.append(goal)
def pop():
return goal_stack.pop() if goal_stack else None
def current():
return goal_stack[-1] if goal_stack else None
# --- demo ---
push('write the report')
push('collect the data')
print(f'Current goal: {current()}')
print(f'Popped: {pop()}')
print(f'Current goal after pop: {current()}')
Example: Refactoring Workflow
push('Refactor auth')
while current():
g = current()
if g == 'Refactor auth':
if not done('add_oauth_dep'):
push('Add OAuth dependency')
elif not done('replace_login'):
push('Replace login endpoint')
else:
pop() # done
elif g == 'Add OAuth dependency':
# ...actually do the work...
mark_done('add_oauth_dep')
pop()การย้อนกลับ
เมื่อเป้าหมายล้มเหลว:
- ทำเครื่องหมายว่าเป็นเป้าหมายที่ล้มเหลว
- ย้อนกลับไปยังโหนดแม่
- ลองแนวทางอื่น (ใช้เป้าหมายย่อยอื่น)
Backtracking Example
def attempt(goal):
for approach in [oauth, saml, custom_token]:
try:
return run_with(goal, approach)
except FailedException:
continue
raise NoApproachWorked(goal)ติดตามแนวทางที่ลองใช้
หลีกเลี่ยงการลองแนวทางเดิมที่ล้มเหลวซ้ำ ติดตามสิ่งที่ลองไปแล้วสำหรับแต่ละเป้าหมาย:
{
'goal_id': 'refactor-auth',
'tried': ['oauth', 'saml'],
'remaining_options': ['custom_token']
}LLM ในฐานะผู้เลือกเป้าหมาย
ใช้ LLM ตัดสินใจว่าจะ push อะไรต่อไป:
next_goal = llm.invoke(f'Current goal: {current()}. Done so far: {done_list}. What sub-goal next?').content
push(next_goal)เงื่อนไขก่อนหน้าและผลลัพธ์
ยืมแนวคิดจากการวางแผนแบบ STRIPS โดยการกระทำแต่ละอย่างมีเงื่อนไขก่อนหน้า (สิ่งที่ต้องเป็นจริง) และผลลัพธ์ (สิ่งที่จะกลายเป็นจริง):
action = {
'name': 'replace_login',
'preconditions': ['oauth_dep_installed'],
'effects': ['login_endpoint_replaced']
}วงจรการวางแผนเทียบกับการลงมือทำ
แนวทางสองระยะ:
- วางแผน — ตัววางแผนเชิงสัญลักษณ์สร้างสแตกเป้าหมาย
- ลงมือทำ — เอเจนต์ดำเนินการกับเป้าหมายบนสุดของสแตก อัปเดตสถานะของโลก และวางแผนใหม่เมื่อจำเป็น
เชิงสัญลักษณ์ผสาน LLM
สำหรับงานที่มีเงื่อนไขก่อนหน้าชัดเจน (การดำเนินการกับไฟล์ การนำระบบไปใช้งาน) ให้ใช้ตัววางแผนเชิงสัญลักษณ์ ส่วนที่คลุมเครือให้ใช้ LLM ผสานทั้งสองแบบเพื่อความทนทาน
ทางตัน
บางครั้งเอเจนต์ไปถึงสถานะที่ไม่มีการกระทำใดช่วยได้ ให้ตรวจจับทางตันและย้อนกลับไปไกลกว่านั้น:
if no_progress_in_n_steps(5):
pop_to_parent()
try_different_approach()จำกัดความลึกของการย้อนกลับ
การย้อนกลับแบบไม่จำกัดอาจวนซ้ำไปตลอด ให้จำกัดความลึกและจำนวนรอบทั้งหมด:
MAX_BACKTRACKS = 10
if backtrack_count >= MAX_BACKTRACKS:
escalate_to_human()แสดงการย้อนกลับให้ผู้ใช้เห็น
เมื่อเอเจนต์ย้อนกลับ ให้บอกผู้ใช้ว่า: "OAuth ใช้ไม่ได้ กำลังลอง SAML" วิธีนี้ช่วยรักษาความไว้วางใจและเปิดโอกาสให้ผู้ใช้แทรกแซงได้ตั้งแต่เนิ่น ๆ
เงื่อนไขที่ทำให้ย้อนกลับ
เอเจนต์ควรย้อนกลับจากเป้าหมายย่อยเมื่อใด
ทบทวน
สแตกเป้าหมายติดตามว่าเอเจนต์กำลังอยู่ที่ไหน push เป้าหมายย่อย ใช้ pop กับเป้าหมายที่เสร็จแล้ว และย้อนกลับเมื่อพบทางตัน ผสานการวางแผนเชิงสัญลักษณ์เข้ากับการตัดสินใจของ LLM
คำถามที่พบบ่อย
บทเรียน “กองเป้าหมายและการย้อนกลับ” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “กองเป้าหมายและการย้อนกลับ” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส AI Agents ให้อัปเกรดเป็น CoddyKit PRO คอร์ส AI Agents มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “กองเป้าหมายและการย้อนกลับ”
ผลักเป้าหมายย่อยลงสแต็ก นำออกเมื่อทำงานเสร็จ และย้อนกลับเมื่อพบทางตัน ซึ่งเป็นการวางแผนปัญญาประดิษฐ์แบบคลาสสิก คุณปฏิบัติ AI Agents ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน AI Agents หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน AI Agents บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน
บทเรียน “กองเป้าหมายและการย้อนกลับ” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน AI Agents นี้ได้ไหม
ได้ บทเรียน AI Agents ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การแบ่งงานแบบลำดับชั้น
- กองเป้าหมายและการย้อนกลับ
- โมเดลโลกและการมองล่วงหน้า
- วงจรการไตร่ตรองและวิจารณ์ตนเอง