Simpul, Sisi, dan Keadaan
Definisikan keadaan TypedDict, tulis fungsi simpul yang mengubahnya, lalu hubungkan simpul dengan sisi berarah.
Simpul, Sisi, dan Keadaan adalah pelajaran AI Agents gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar AI Agents, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus AI Agents mencakup 4 pelajaran total.
Bagian dari pelajaran ini belum diterjemahkan dan ditampilkan dalam bahasa Inggris.
Objek Keadaan
Setiap agen LangGraph memiliki keadaan bertipe — biasanya berupa TypedDict:
from typing import TypedDict
from typing_extensions import Annotated
import operator
class AgentState(TypedDict):
messages: Annotated[list, operator.add] # appends instead of replaces
plan: str
answer: strCara Kerja Pembaruan Keadaan
Setiap simpul mengembalikan dict sebagian. LangGraph:
- Membaca keadaan saat ini
- Memanggil simpul dengan keadaan tersebut
- Menggabungkan kembali dict sebagian yang dikembalikan
Untuk bidang daftar dengan operator.add, item baru ditambahkan, bukan menimpa item lama.
Defining a Node
def planner(state: AgentState) -> dict:
prompt = f'User wants: {state["messages"][-1].content}'
plan = llm.invoke(prompt).content
return {'plan': plan}Registering the Node
from langgraph.graph import StateGraph, END
graph = StateGraph(AgentState)
graph.add_node('planner', planner)Mendefinisikan Sisi
Sisi statis berjalan tanpa syarat:
graph.set_entry_point('planner')
graph.add_edge('planner', 'researcher')
graph.add_edge('researcher', 'writer')
graph.add_edge('writer', END)Sisi Bersyarat
Untuk percabangan, daftarkan fungsi yang memilih simpul berikutnya:
def route(state: AgentState) -> str:
if state['needs_research']:
return 'researcher'
return 'writer'
graph.add_conditional_edges(
'planner',
route,
{'researcher': 'researcher', 'writer': 'writer'}
)END Itu Khusus
END adalah simpul terminal. Sisi apa pun yang menuju END mengakhiri graf dan mengembalikan keadaan saat ini.
Compiling the Graph
app = graph.compile()
result = app.invoke({'messages': [...]})
print(result['answer'])Mengalirkan Pembaruan Keadaan
Amati perubahan keadaan secara waktu nyata:
for event in app.stream({'messages': [...]}):
print(event)
# Each event is the state diff from the just-completed node.Fungsi Pereduksi
Untuk penggabungan keadaan yang rumit, gunakan pereduksi khusus:
def merge_facts(old, new):
return {**old, **new}
class State(TypedDict):
facts: Annotated[dict, merge_facts]Subgraf
Sebuah simpul dapat berupa graf lain yang telah dikompilasi — berguna untuk agen hierarkis:
subgraph = StateGraph(SubState).compile()
graph.add_node('subprocess', subgraph)Simpul Asinkron
Simpul dapat berupa fungsi asinkron:
async def fetch_node(state):
data = await fetch_async(state['url'])
return {'data': data}
result = await app.ainvoke({...})Kesalahan pada Simpul
Jika sebuah simpul menimbulkan kesalahan, LangGraph meneruskan kesalahan tersebut dan berhenti. Tangkap kesalahan di dalam simpul jika Anda menginginkan penanganan yang baik:
def safe_search(state):
try:
return {'results': search(state['query'])}
except Exception as e:
return {'error': str(e), 'results': []}Pembaruan Keadaan
Apa yang terjadi saat sebuah simpul mengembalikan {'plan': '...'} sebagai dict?
Ringkasan
Definisikan keadaan TypedDict, tulis fungsi yang mengembalikan pembaruan sebagian, tambahkan simpul dan sisi, kompilasi, lalu jalankan. Itulah LangGraph.
Belajar AI Agents dengan tutor AI — gratis
Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.
- Kursus
- 60
- Pelajaran
- 239
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Simpul, Sisi, dan Keadaan” gratis?
Ya — teks lengkap “Simpul, Sisi, dan Keadaan” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus AI Agents, upgrade ke CoddyKit PRO. Kursus AI Agents mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Simpul, Sisi, dan Keadaan”?
Definisikan keadaan TypedDict, tulis fungsi simpul yang mengubahnya, lalu hubungkan simpul dengan sisi berarah. Kamu berlatih AI Agents dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai AI Agents?
Tidak diperlukan pengalaman sebelumnya. AI Agents di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.
Berapa lama pelajaran “Simpul, Sisi, dan Keadaan” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran AI Agents ini?
Ya. Setiap pelajaran AI Agents menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Mengapa Graf Mengungguli Rantai Datar
- Simpul, Sisi, dan Keadaan
- Perutean dan Percabangan Bersyarat
- Menyimpan Keadaan Graf (Titik Pemeriksaan)