0Pricing
AI Agents · บทเรียน

เหตุใดกราฟจึงเหนือกว่าสายงานแบบแบน

เอเจนต์จริงต้องมีลูป การลองใหม่ และเงื่อนไข DAG และกราฟจึงแสดงสิ่งที่สายงานไม่สามารถแสดงได้

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

บางส่วนของบทเรียนนี้ยังไม่ได้รับการแปล และแสดงเป็นภาษาอังกฤษ

ข้อจำกัดของเชน

เชน LCEL เหมาะอย่างยิ่งกับลำดับการทำงานเชิงเส้น: A -> B -> C แต่จะทำได้ไม่ดีเมื่อคุณต้องการ:

  • ลูป (ลองใหม่จนกว่าจะสำเร็จ)
  • การแตกแขนงแบบมีเงื่อนไข (ตัดสินใจเลือก A หรือ B ตามสถานะ)
  • การหยุดรอมนุษย์ในกระบวนการ
  • สถานะที่คงอยู่ระหว่างการเรียกใช้

เอเจนต์จริงคือกราฟ

เอเจนต์จะตัดสินใจทีละขั้น เอเจนต์จริงอาจทำสิ่งต่อไปนี้:

  1. วางแผน
  2. ค้นหาข้อมูล
  3. หากพบ ให้ร่างคำตอบ หากไม่พบ ให้ค้นหาอีกครั้ง
  4. ตรวจสอบความถูกต้อง
  5. หากไม่ถูกต้อง ให้แก้ไข มิฉะนั้นให้ส่งคืน

นี่คือกราฟ ไม่ใช่เส้นตรง

แนะนำ LangGraph

LangGraph (โดยทีม LangChain) ช่วยให้คุณกำหนดเอเจนต์เป็นกราฟ:

  • โหนด — ฟังก์ชันที่อ่านและอัปเดตสถานะ
  • เส้นเชื่อม — โหนดใดจะทำงานถัดไป
  • สถานะ — พจนานุกรมร่วมที่คงอยู่

Nodes Are Just Functions

from langgraph.graph import StateGraph

class AgentState(TypedDict):
    messages: list
    plan: str
    answer: str

def plan_step(state: AgentState) -> AgentState:
    plan = generate_plan(state['messages'])
    return {'plan': plan}

Edges Connect Nodes

from langgraph.graph import StateGraph, END

graph = StateGraph(AgentState)
graph.add_node('plan', plan_step)
graph.add_node('search', search_step)
graph.add_node('answer', answer_step)

graph.set_entry_point('plan')
graph.add_edge('plan', 'search')
graph.add_edge('search', 'answer')
graph.add_edge('answer', END)

app = graph.compile()

Running the Graph

result = app.invoke({'messages': [{'role': 'user', 'content': 'What is RAG?'}]})
print(result['answer'])

การอัปเดตสถานะจะถูกรวมเข้าด้วยกัน

เมื่อโหนดส่งคืนพจนานุกรมบางส่วน LangGraph จะรวมพจนานุกรมนั้นเข้ากับสถานะ คุณไม่จำเป็นต้องเขียนสถานะทั้งหมดในทุกขั้น

การแตกแขนงแบบมีเงื่อนไข

ใช้ add_conditional_edges เพื่อกำหนดเส้นทางตามสถานะ:

def needs_more_info(state):
    if state['confidence'] < 0.7:
        return 'search'
    return 'answer'

graph.add_conditional_edges('plan', needs_more_info, {
    'search': 'search',
    'answer': 'answer'
})

Loops Are Just Edges Back

graph.add_edge('search', 'plan')   # loop back to planner
# The planner decides if more search is needed.

การแสดงภาพ

LangGraph สร้างไดอะแกรม Mermaid ของกราฟให้คุณ ซึ่งเหมาะอย่างยิ่งสำหรับแก้ไขข้อบกพร่องของโครงสร้าง:

from IPython.display import Image
Image(app.get_graph().draw_mermaid_png())

เทียบกับลูป while ที่เขียนเอง

คุณสามารถทำเช่นนี้ด้วยลูป while ของไพธอน แต่ LangGraph เพิ่มสิ่งต่อไปนี้:

  • โครงสร้างกราฟที่ชัดเจน (นำไปแสดงภาพได้)
  • การสร้างจุดตรวจสอบในตัว
  • การสตรีมการอัปเดตสถานะ
  • องค์ประกอบพื้นฐานสำหรับการหยุดรอมนุษย์

LangGraph + LCEL

โหนดสามารถเป็นสิ่งที่เรียกใช้ได้ใด ๆ รวมถึงเชน LCEL ผสมผสานได้ตามต้องการ:

summarise_chain = prompt | model | parser

def summarise_node(state):
    return {'summary': summarise_chain.invoke(state['text'])}

เมื่อใดควรใช้กราฟ

สถานการณ์ใดได้รับประโยชน์จาก LangGraph มากกว่าเชน LCEL แบบราบ

สรุปทบทวน

กราฟดีกว่าเชนเมื่อคุณต้องการลูป การแตกแขนง การคงอยู่ หรือการหยุดรอมนุษย์ LangGraph มอบโครงสร้างให้คุณ

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

บทเรียน “เหตุใดกราฟจึงเหนือกว่าสายงานแบบแบน” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “เหตุใดกราฟจึงเหนือกว่าสายงานแบบแบน”

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

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

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

บทเรียน “เหตุใดกราฟจึงเหนือกว่าสายงานแบบแบน” ใช้เวลานานแค่ไหน

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

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

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

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

  1. เหตุใดกราฟจึงเหนือกว่าสายงานแบบแบน
  2. โหนด ขอบ และสถานะ
  3. การกำหนดเส้นทางและการแตกแขนงตามเงื่อนไข
  4. การคงอยู่ของสถานะกราฟ (จุดตรวจสอบ)
← กลับไปที่ AI Agents