{"id":121483,"date":"2025-12-10T10:00:00","date_gmt":"2025-12-10T03:00:00","guid":{"rendered":"https:\/\/tino.vn\/blog\/?p=121483"},"modified":"2025-12-09T18:01:19","modified_gmt":"2025-12-09T11:01:19","slug":"langgraph-la-gi","status":"publish","type":"post","link":"https:\/\/tino.vn\/blog\/langgraph-la-gi\/","title":{"rendered":"LangGraph l\u00e0 g\u00ec? Kh\u00e1m ph\u00e1 ki\u1ebfn tr\u00fac m\u1edbi cho \u1ee9ng d\u1ee5ng LLM ph\u1ee9c t\u1ea1p &#038; Multi-Agent"},"content":{"rendered":"\n<p><strong>Trong b\u1ed1i c\u1ea3nh c\u00f4ng ngh\u1ec7 AI t\u1ea1o sinh ph\u00e1t tri\u1ec3n v\u0169 b\u00e3o, vi\u1ec7c x\u00e2y d\u1ef1ng c\u00e1c \u1ee9ng d\u1ee5ng DAG \u0111ang d\u1ea7n b\u1ed9c l\u1ed9 nhi\u1ec1u h\u1ea1n ch\u1ebf, \u0111\u1eb7c bi\u1ec7t khi \u0111\u1ed1i m\u1eb7t v\u1edbi c\u00e1c t\u00e1c v\u1ee5 ph\u1ee9c t\u1ea1p \u0111\u00f2i h\u1ecfi kh\u1ea3 n\u0103ng ghi nh\u1edb v\u00e0 ra quy\u1ebft \u0111\u1ecbnh li\u00ean t\u1ee5c. LangChain \u0111\u00e3 \u0111\u1eb7t n\u1ec1n m\u00f3ng v\u1eefng ch\u1eafc cho vi\u1ec7c t\u01b0\u01a1ng t\u00e1c v\u1edbi c\u00e1c m\u00f4 h\u00ecnh ng\u00f4n ng\u1eef l\u1edbn (LLM), nh\u01b0ng \u0111\u1ec3 t\u1ea1o ra nh\u1eefng AI Agent th\u1ef1c s\u1ef1 th\u00f4ng minh v\u00e0 c\u00f3 kh\u1ea3 n\u0103ng t\u1ef1 \u0111i\u1ec1u h\u01b0\u1edbng, l\u1eadp tr\u00ecnh vi\u00ean c\u1ea7n m\u1ed9t c\u01a1 ch\u1ebf linh ho\u1ea1t h\u01a1n. LangGraph ra \u0111\u1eddi ch\u00ednh l\u00e0 l\u1eddi gi\u1ea3i cho b\u00e0i to\u00e1n n\u00e0y. V\u1eady c\u1ee5 th\u1ec3 LangGraph l\u00e0 g\u00ec?<\/strong><\/p>\n\n\n\n<h2 id=\"T\u1ed5ng_quan_v\u1ec1_LangGraph\"><a id=\"post-121483-_z98hk0nj6tyt\"><\/a>T\u1ed5ng quan v\u1ec1 LangGraph<\/h2>\n\n\n\n<h3 id=\"LangGraph_l\u00e0_g\u00ec?\"><a id=\"post-121483-_j20z18e3tpw4\"><\/a><strong>LangGraph l\u00e0 g\u00ec?<\/strong><\/h3>\n\n\n\n<p><a href=\"https:\/\/www.langchain.com\/langgraph\" data-type=\"link\" data-id=\"https:\/\/www.langchain.com\/langgraph\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">LangGraph <\/a>l\u00e0 m\u1ed9t th\u01b0 vi\u1ec7n m\u1edf r\u1ed9ng ph\u00e1t tri\u1ec3n t\u1eeb LangChain, \u0111\u01b0\u1ee3c thi\u1ebft k\u1ebf d\u00e0nh ri\u00eang cho vi\u1ec7c x\u00e2y d\u1ef1ng \u1ee9ng d\u1ee5ng s\u1eed d\u1ee5ng m\u00f4 h\u00ecnh ng\u00f4n ng\u1eef l\u1edbn (LLM) c\u00f3 kh\u1ea3 n\u0103ng duy tr\u00ec tr\u1ea1ng th\u00e1i v\u00e0 v\u1eadn h\u00e0nh theo c\u01a1 ch\u1ebf \u0111a t\u00e1c t\u1eed. Thay v\u00ec ph\u1ee5 thu\u1ed9c v\u00e0o quy tr\u00ecnh x\u1eed l\u00fd tuy\u1ebfn t\u00ednh d\u1ea1ng DAG (Directed Acyclic Graph), framework n\u00e0y cho ph\u00e9p k\u1ef9 s\u01b0 ki\u1ebfn t\u1ea1o lu\u1ed3ng t\u00e1c v\u1ee5 d\u01b0\u1edbi d\u1ea1ng \u0111\u1ed3 th\u1ecb linh ho\u1ea1t, h\u1ed7 tr\u1ee3 h\u00ecnh th\u00e0nh c\u00e1c v\u00f2ng l\u1eb7p x\u1eed l\u00fd li\u00ean t\u1ee5c nh\u1eb1m t\u0103ng c\u01b0\u1eddng kh\u1ea3 n\u0103ng suy lu\u1eadn, ghi nh\u1edb ng\u1eef c\u1ea3nh v\u00e0 ra quy\u1ebft \u0111\u1ecbnh th\u00edch \u1ee9ng.<\/p>\n\n\n\n<p>Gi\u1ea3i ph\u00e1p LangGraph \u0111\u1eb7c bi\u1ec7t hi\u1ec7u qu\u1ea3 cho nh\u1eefng h\u1ec7 th\u1ed1ng AI Agent \u0111\u00f2i h\u1ecfi ki\u1ec3m so\u00e1t lu\u1ed3ng d\u1eef li\u1ec7u ch\u1eb7t ch\u1ebd, duy tr\u00ec t\u00ednh nh\u1ea5t qu\u00e1n v\u00e0 v\u1eadn h\u00e0nh \u1ed5n \u0111\u1ecbnh trong c\u00e1c t\u00ecnh hu\u1ed1ng ph\u1ee9c t\u1ea1p.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Xem th\u00eam: <a href=\"https:\/\/tino.vn\/blog\/langchain-la-gi\/\" data-type=\"post\" data-id=\"120703\" target=\"_blank\" rel=\"noreferrer noopener\">LangChain l\u00e0 g\u00ec?<\/a><\/p>\n<\/blockquote>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"700\" height=\"375\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2025\/12\/langgraph-la-gi-1.png\" alt=\"LangGraph l\u00e0 g\u00ec?\" class=\"wp-image-121484\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2025\/12\/langgraph-la-gi-1.png 700w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2025\/12\/langgraph-la-gi-1-300x161.png 300w\" sizes=\"(max-width: 700px) 100vw, 700px\" \/><figcaption class=\"wp-element-caption\"><strong>LangGraph l\u00e0 g\u00ec?<\/strong><\/figcaption><\/figure>\n<\/div>\n\n\n<h3 id=\"Ki\u1ebfn_tr\u00fac_v\u00e0_th\u00e0nh_ph\u1ea7n_ch\u00ednh_trong_LangGraph\"><a id=\"post-121483-_1m4hbutgqr6z\"><\/a><strong>Ki\u1ebfn tr\u00fac v\u00e0 th\u00e0nh ph\u1ea7n ch\u00ednh trong LangGraph<\/strong><\/h3>\n\n\n\n<h4 id=\"1._State_(Tr\u1ea1ng_th\u00e1i)\"><a id=\"post-121483-_qxhbybp7z396\"><\/a>1. State (Tr\u1ea1ng th\u00e1i)<\/h4>\n\n\n\n<p><\/p>\n\n\n\n<p>Tr\u1ea1ng th\u00e1i \u0111\u00f3ng vai tr\u00f2 l\u00e0 &#8220;b\u1ed9 nh\u1edb chung&#8221; c\u1ee7a to\u00e0n b\u1ed9 \u1ee9ng d\u1ee5ng. Th\u00e0nh ph\u1ea7n n\u00e0y th\u01b0\u1eddng \u0111\u01b0\u1ee3c \u0111\u1ecbnh ngh\u0129a d\u01b0\u1edbi d\u1ea1ng m\u1ed9t c\u1ea5u tr\u00fac d\u1eef li\u1ec7u c\u1ee5 th\u1ec3 (nh\u01b0 TypedDict ho\u1eb7c Pydantic model), c\u00f3 nhi\u1ec7m v\u1ee5 l\u01b0u tr\u1eef v\u00e0 theo d\u00f5i th\u00f4ng tin xuy\u00ean su\u1ed1t v\u00f2ng \u0111\u1eddi c\u1ee7a \u1ee9ng d\u1ee5ng. Khi lu\u1ed3ng c\u00f4ng vi\u1ec7c di chuy\u1ec3n qua c\u00e1c b\u01b0\u1edbc x\u1eed l\u00fd, tr\u1ea1ng th\u00e1i s\u1ebd \u0111\u01b0\u1ee3c b\u1ea3o l\u01b0u, c\u1eadp nh\u1eadt ho\u1eb7c b\u1ed5 sung d\u1eef li\u1ec7u m\u1edbi. C\u01a1 ch\u1ebf n\u00e0y \u0111\u1ea3m b\u1ea3o r\u1eb1ng m\u1ed7i b\u01b0\u1edbc ti\u1ebfp theo \u0111\u1ec1u n\u1eafm \u0111\u01b0\u1ee3c \u0111\u1ea7y \u0111\u1ee7 ng\u1eef c\u1ea3nh c\u1ee7a c\u00e1c b\u01b0\u1edbc tr\u01b0\u1edbc \u0111\u00f3, gi\u00fap h\u1ec7 th\u1ed1ng \u0111\u01b0a ra ph\u1ea3n h\u1ed3i ch\u00ednh x\u00e1c v\u00e0 nh\u1ea5t qu\u00e1n.<\/p>\n\n\n\n<h4 id=\"2._Nodes_(N\u00fat_x\u1eed_l\u00fd)\"><a id=\"post-121483-_y5fwjptjwzpm\"><\/a>2. Nodes (N\u00fat x\u1eed l\u00fd)<\/h4>\n\n\n\n<p><\/p>\n\n\n\n<p>C\u00e1c Nodes (n\u00fat) \u0111\u1ea1i di\u1ec7n cho nh\u1eefng \u0111\u01a1n v\u1ecb th\u1ef1c thi c\u00f4ng vi\u1ec7c c\u1ee5 th\u1ec3 ho\u1eb7c c\u00e1c t\u00e1c t\u1eed (Agents). M\u1ed7i Nodes th\u01b0\u1eddng l\u00e0 m\u1ed9t h\u00e0m <a href=\"https:\/\/tino.vn\/blog\/python-la-gi\/\" target=\"_blank\" data-type=\"post\" data-id=\"16155\" rel=\"noreferrer noopener\">Python<\/a> ho\u1eb7c m\u1ed9t chu\u1ed7i x\u1eed l\u00fd (runnable) c\u1ee7a LangChain. Nhi\u1ec7m v\u1ee5 c\u1ee7a Nodes l\u00e0 ti\u1ebfp nh\u1eadn tr\u1ea1ng th\u00e1i hi\u1ec7n t\u1ea1i l\u00e0m \u0111\u1ea7u v\u00e0o, th\u1ef1c hi\u1ec7n c\u00e1c t\u00e1c v\u1ee5 t\u00ednh to\u00e1n (nh\u01b0 g\u1ecdi API, truy v\u1ea5n c\u01a1 s\u1edf d\u1eef li\u1ec7u ho\u1eb7c x\u1eed l\u00fd logic n\u1ed9i b\u1ed9) v\u00e0 tr\u1ea3 v\u1ec1 m\u1ed9t b\u1ea3n c\u1eadp nh\u1eadt cho tr\u1ea1ng th\u00e1i. Trong ki\u1ebfn tr\u00fac t\u1ed5ng th\u1ec3, c\u00e1c Nodes \u0111\u00f3ng vai tr\u00f2 l\u00e0 nh\u1eefng &#8220;tr\u1ea1m l\u00e0m vi\u1ec7c&#8221; n\u01a1i d\u1eef li\u1ec7u \u0111\u01b0\u1ee3c bi\u1ebfn \u0111\u1ed5i tr\u01b0\u1edbc khi chuy\u1ec3n sang giai \u0111o\u1ea1n ti\u1ebfp theo.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"700\" height=\"375\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2025\/12\/langgraph-la-gi-2.png\" alt=\"Ki\u1ebfn tr\u00fac v\u00e0 th\u00e0nh ph\u1ea7n ch\u00ednh trong LangGraph\" class=\"wp-image-121485\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2025\/12\/langgraph-la-gi-2.png 700w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2025\/12\/langgraph-la-gi-2-300x161.png 300w\" sizes=\"(max-width: 700px) 100vw, 700px\" \/><figcaption class=\"wp-element-caption\"><strong>Ki\u1ebfn tr\u00fac v\u00e0 th\u00e0nh ph\u1ea7n ch\u00ednh trong LangGraph<\/strong><\/figcaption><\/figure>\n<\/div>\n\n\n<h4 id=\"3._Edges_(C\u1ea1nh_k\u1ebft_n\u1ed1i)\"><a id=\"post-121483-_bhyb913e35qb\"><\/a>3. Edges (C\u1ea1nh k\u1ebft n\u1ed1i)<\/h4>\n\n\n\n<p><\/p>\n\n\n\n<p>C\u1ea1nh l\u00e0 nh\u1eefng \u0111\u01b0\u1eddng li\u00ean k\u1ebft quy \u0111\u1ecbnh lu\u1ed3ng di chuy\u1ec3n c\u1ee7a d\u1eef li\u1ec7u gi\u1eefa c\u00e1c Nodes. LangGraph ph\u00e2n lo\u1ea1i th\u00e0nh hai d\u1ea1ng c\u1ea1nh ch\u00ednh \u0111\u1ec3 t\u1ed1i \u01b0u h\u00f3a quy tr\u00ecnh:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>C\u1ea1nh th\u00f4ng th\u01b0\u1eddng (Normal Edges):<\/strong> Quy \u0111\u1ecbnh s\u1ef1 chuy\u1ec3n ti\u1ebfp tr\u1ef1c ti\u1ebfp v\u00e0 c\u1ed1 \u0111\u1ecbnh t\u1eeb n\u00fat n\u00e0y sang n\u00fat kh\u00e1c (V\u00ed d\u1ee5: Lu\u00f4n \u0111i t\u1eeb n\u00fat A sang n\u00fat B).<\/li>\n\n\n\n<li><strong>C\u1ea1nh c\u00f3 \u0111i\u1ec1u ki\u1ec7n (Conditional Edges):<\/strong> \u0110\u00e2y l\u00e0 y\u1ebfu t\u1ed1 t\u1ea1o n\u00ean s\u1ef1 th\u00f4ng minh cho h\u1ec7 th\u1ed1ng. Lo\u1ea1i c\u1ea1nh n\u00e0y cho ph\u00e9p \u1ee9ng d\u1ee5ng t\u1ef1 \u0111\u1ed9ng l\u1ef1a ch\u1ecdn h\u01b0\u1edbng \u0111i ti\u1ebfp theo d\u1ef1a tr\u00ean k\u1ebft qu\u1ea3 c\u1ee7a b\u01b0\u1edbc tr\u01b0\u1edbc \u0111\u00f3 ho\u1eb7c d\u1ef1a tr\u00ean tr\u1ea1ng th\u00e1i hi\u1ec7n t\u1ea1i. Nh\u1edd v\u1eady, AI c\u00f3 th\u1ec3 r\u1ebd nh\u00e1nh logic, quay l\u1ea1i b\u01b0\u1edbc c\u0169 \u0111\u1ec3 s\u1eeda l\u1ed7i ho\u1eb7c k\u1ebft th\u00fac quy tr\u00ecnh m\u1ed9t c\u00e1ch linh ho\u1ea1t.<\/li>\n<\/ul>\n\n\n\n<h4 id=\"4._StateGraph_(\u0110\u1ed3_th\u1ecb_tr\u1ea1ng_th\u00e1i)\"><a id=\"post-121483-_3pl7h9bw7lh1\"><\/a>4. StateGraph (\u0110\u1ed3 th\u1ecb tr\u1ea1ng th\u00e1i)<\/h4>\n\n\n\n<p><\/p>\n\n\n\n<p>T\u1ea5t c\u1ea3 c\u00e1c th\u00e0nh ph\u1ea7n tr\u00ean \u0111\u01b0\u1ee3c qu\u1ea3n l\u00fd v\u00e0 \u0111i\u1ec1u ph\u1ed1i b\u1edfi m\u1ed9t \u0111\u1ed1i t\u01b0\u1ee3ng g\u1ecdi l\u00e0 StateGraph. \u0110\u1ed1i t\u01b0\u1ee3ng n\u00e0y kh\u1edfi t\u1ea1o \u0111\u1ed3 th\u1ecb, x\u00e1c \u0111\u1ecbnh c\u1ea5u tr\u00fac tr\u1ea1ng th\u00e1i ban \u0111\u1ea7u v\u00e0 thi\u1ebft l\u1eadp m\u1ea1ng l\u01b0\u1edbi k\u1ebft n\u1ed1i gi\u1eefa c\u00e1c N\u00fat v\u00e0 C\u1ea1nh. Sau khi ho\u00e0n t\u1ea5t thi\u1ebft k\u1ebf, StateGraph s\u1ebd bi\u00ean d\u1ecbch (compile) to\u00e0n b\u1ed9 c\u1ea5u tr\u00fac th\u00e0nh m\u1ed9t \u1ee9ng d\u1ee5ng ho\u00e0n ch\u1ec9nh (th\u01b0\u1eddng l\u00e0 m\u1ed9t Runnable), s\u1eb5n s\u00e0ng nh\u1eadn \u0111\u1ea7u v\u00e0o t\u1eeb ng\u01b0\u1eddi d\u00f9ng v\u00e0 th\u1ef1c thi lu\u1ed3ng c\u00f4ng vi\u1ec7c theo logic \u0111\u00e3 l\u1eadp tr\u00ecnh.<\/p>\n\n\n\n<h2 id=\"C\u00e1c_t\u00ednh_n\u0103ng_n\u1ed5i_b\u1eadt_c\u1ee7a_LangGraph\"><a id=\"post-121483-_d3fh8ugb98r6\"><\/a>C\u00e1c t\u00ednh n\u0103ng n\u1ed5i b\u1eadt c\u1ee7a LangGraph<\/h2>\n\n\n\n<p>LangGraph kh\u00f4ng ch\u1ec9 \u0111\u01a1n thu\u1ea7n l\u00e0 m\u1ed9t b\u1ea3n n\u00e2ng c\u1ea5p, th\u01b0 vi\u1ec7n n\u00e0y mang \u0111\u1ebfn nh\u1eefng kh\u1ea3 n\u0103ng v\u01b0\u1ee3t tr\u1ed9i gi\u00fap \u0111\u1ecbnh h\u00ecnh l\u1ea1i c\u00e1ch x\u00e2y d\u1ef1ng c\u00e1c \u1ee9ng d\u1ee5ng AI hi\u1ec7n \u0111\u1ea1i.<\/p>\n\n\n\n<h3 id=\"C\u1ea5u_tr\u00fac_v\u00f2ng_l\u1eb7p_(Cycles)_v\u00e0_kh\u1ea3_n\u0103ng_t\u1ef1_s\u1eeda_l\u1ed7i\"><a id=\"post-121483-_12o84ovad8zz\"><\/a><strong>C\u1ea5u tr\u00fac v\u00f2ng l\u1eb7p (Cycles) v\u00e0 kh\u1ea3 n\u0103ng t\u1ef1 s\u1eeda l\u1ed7i<\/strong><\/h3>\n\n\n\n<p>\u0110\u00e2y l\u00e0 t\u00ednh n\u0103ng \u0111\u1ecbnh danh c\u1ee7a LangGraph. Trong khi c\u00e1c framework tr\u01b0\u1edbc \u0111\u00e2y th\u01b0\u1eddng ho\u1ea1t \u0111\u1ed9ng theo c\u01a1 ch\u1ebf m\u1ed9t chi\u1ec1u (\u0111\u1ea7u v\u00e0o -&gt; x\u1eed l\u00fd -&gt; \u0111\u1ea7u ra), LangGraph cho ph\u00e9p thi\u1ebft l\u1eadp c\u00e1c v\u00f2ng l\u1eb7p. C\u01a1 ch\u1ebf n\u00e0y gi\u00fap AI Agent c\u00f3 th\u1ec3 quay l\u1ea1i c\u00e1c b\u01b0\u1edbc tr\u01b0\u1edbc \u0111\u00f3, suy ngh\u0129 l\u1ea1i ho\u1eb7c th\u1ef1c hi\u1ec7n l\u1ea1i m\u1ed9t h\u00e0nh \u0111\u1ed9ng n\u1ebfu k\u1ebft qu\u1ea3 ch\u01b0a \u0111\u1ea1t y\u00eau c\u1ea7u. Kh\u1ea3 n\u0103ng n\u00e0y m\u00f4 ph\u1ecfng s\u00e1t s\u01b0\u1eddn quy tr\u00ecnh t\u01b0 duy c\u1ee7a con ng\u01b0\u1eddi: th\u1eed nghi\u1ec7m, \u0111\u00e1nh gi\u00e1 sai s\u00f3t v\u00e0 s\u1eeda \u0111\u1ed5i.<\/p>\n\n\n\n<h3 id=\"Qu\u1ea3n_l\u00fd_tr\u1ea1ng_th\u00e1i_b\u1ec1n_v\u1eefng\"><a id=\"post-121483-_gqyh3842iisa\"><\/a><strong>Qu\u1ea3n l\u00fd tr\u1ea1ng th\u00e1i b\u1ec1n v\u1eefng<\/strong><\/h3>\n\n\n\n<p>LangGraph t\u00edch h\u1ee3p s\u1eb5n kh\u1ea3 n\u0103ng ghi nh\u1edb tr\u1ea1ng th\u00e1i (State) m\u1ed9t c\u00e1ch t\u1ef1 \u0111\u1ed9ng. M\u1ecdi d\u1eef li\u1ec7u, l\u1ecbch s\u1eed h\u1ed9i tho\u1ea1i hay k\u1ebft qu\u1ea3 trung gian \u0111\u1ec1u \u0111\u01b0\u1ee3c l\u01b0u tr\u1eef v\u00e0 c\u1eadp nh\u1eadt qua t\u1eebng b\u01b0\u1edbc \u0111i trong \u0111\u1ed3 th\u1ecb. T\u00ednh n\u0103ng n\u00e0y \u0111\u1ea3m b\u1ea3o h\u1ec7 th\u1ed1ng kh\u00f4ng bao gi\u1edd b\u1ecb &#8220;m\u1ea5t tr\u00ed nh\u1edb&#8221; gi\u1eefa ch\u1eebng, cho ph\u00e9p c\u00e1c \u1ee9ng d\u1ee5ng ph\u1ee9c t\u1ea1p duy tr\u00ec m\u1ea1ch l\u1ea1c logic t\u1eeb \u0111\u1ea7u \u0111\u1ebfn cu\u1ed1i phi\u00ean l\u00e0m vi\u1ec7c.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"700\" height=\"375\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2025\/12\/langgraph-la-gi-4.png\" alt=\"C\u00e1c t\u00ednh n\u0103ng n\u1ed5i b\u1eadt c\u1ee7a LangGraph\" class=\"wp-image-121486\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2025\/12\/langgraph-la-gi-4.png 700w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2025\/12\/langgraph-la-gi-4-300x161.png 300w\" sizes=\"(max-width: 700px) 100vw, 700px\" \/><figcaption class=\"wp-element-caption\"><strong>C\u00e1c t\u00ednh n\u0103ng n\u1ed5i b\u1eadt c\u1ee7a LangGraph<\/strong><\/figcaption><\/figure>\n<\/div>\n\n\n<h3 id=\"Human-in-the-loop_(S\u1ef1_can_thi\u1ec7p_c\u1ee7a_con_ng\u01b0\u1eddi)\"><a id=\"post-121483-_xku1lf374wbp\"><\/a><strong>Human-in-the-loop (S\u1ef1 can thi\u1ec7p c\u1ee7a con ng\u01b0\u1eddi)<\/strong><\/h3>\n\n\n\n<p>\u0110\u1ed1i v\u1edbi c\u00e1c quy tr\u00ecnh nghi\u1ec7p v\u1ee5 nh\u1ea1y c\u1ea3m, vi\u1ec7c \u0111\u1ec3 AI t\u1ef1 quy\u1ebft \u0111\u1ecbnh ho\u00e0n to\u00e0n c\u00f3 th\u1ec3 g\u00e2y ra r\u1ee7i ro. LangGraph cung c\u1ea5p c\u01a1 ch\u1ebf cho ph\u00e9p con ng\u01b0\u1eddi tham gia v\u00e0o quy tr\u00ecnh duy\u1ec7t ho\u1eb7c ch\u1ec9nh s\u1eeda h\u00e0nh \u0111\u1ed9ng ti\u1ebfp theo c\u1ee7a AI tr\u01b0\u1edbc khi h\u1ec7 th\u1ed1ng th\u1ef1c thi. T\u00ednh n\u0103ng n\u00e0y \u0111\u1eb7c bi\u1ec7t quan tr\u1ecdng trong c\u00e1c l\u0129nh v\u1ef1c nh\u01b0 t\u00e0i ch\u00ednh, y t\u1ebf ho\u1eb7c ch\u0103m s\u00f3c kh\u00e1ch h\u00e0ng doanh nghi\u1ec7p.<\/p>\n\n\n\n<h3 id=\"H\u1ed7_tr\u1ee3_\u0111a_t\u00e1c_t\u1eed_(Multi-Agent_Collaboration)\"><a id=\"post-121483-_ojh101atg2if\"><\/a><strong>H\u1ed7 tr\u1ee3 \u0111a t\u00e1c t\u1eed (Multi-Agent Collaboration)<\/strong><\/h3>\n\n\n\n<p>Th\u01b0 vi\u1ec7n n\u00e0y \u0111\u01b0\u1ee3c thi\u1ebft k\u1ebf \u0111\u1ec3 t\u1ed1i \u01b0u h\u00f3a vi\u1ec7c ph\u1ed1i h\u1ee3p gi\u1eefa nhi\u1ec1u AI Agent v\u1edbi nhau. Nh\u00e0 ph\u00e1t tri\u1ec3n c\u00f3 th\u1ec3 t\u1ea1o ra c\u00e1c &#8220;nh\u00f3m l\u00e0m vi\u1ec7c&#8221; k\u1ef9 thu\u1eadt s\u1ed1, n\u01a1i m\u1ed7i Agent \u0111\u1ea3m nhi\u1ec7m m\u1ed9t vai tr\u00f2 chuy\u00ean bi\u1ec7t (v\u00ed d\u1ee5: m\u1ed9t Agent chuy\u00ean vi\u1ebft code, m\u1ed9t Agent chuy\u00ean ki\u1ec3m th\u1eed) v\u00e0 giao ti\u1ebfp, trao \u0111\u1ed5i d\u1eef li\u1ec7u v\u1edbi nhau th\u00f4ng qua \u0111\u1ed3 th\u1ecb chung \u0111\u1ec3 ho\u00e0n th\u00e0nh m\u1ee5c ti\u00eau l\u1edbn.<\/p>\n\n\n\n<h2 id=\"T\u1ea1i_sao_c\u1ea7n_s\u1eed_d\u1ee5ng_LangGraph_thay_v\u00ec_LangChain_thu\u1ea7n_t\u00fay?\"><a id=\"post-121483-_mkv1ez4s9zb1\"><\/a>T\u1ea1i sao c\u1ea7n s\u1eed d\u1ee5ng LangGraph thay v\u00ec LangChain thu\u1ea7n t\u00fay?<\/h2>\n\n\n\n<p>M\u1eb7c d\u00f9 LangChain \u0111\u00e3 \u0111\u1eb7t n\u1ec1n m\u00f3ng cho vi\u1ec7c ph\u00e1t tri\u1ec3n \u1ee9ng d\u1ee5ng LLM, nh\u01b0ng khi \u0111\u1ed9 ph\u1ee9c t\u1ea1p c\u1ee7a b\u00e0i to\u00e1n t\u0103ng l\u00ean, c\u00e1c gi\u1edbi h\u1ea1n c\u1ee7a ki\u1ebfn tr\u00fac chu\u1ed7i (Chain) b\u1eaft \u0111\u1ea7u b\u1ed9c l\u1ed9. LangGraph ra \u0111\u1eddi \u0111\u1ec3 gi\u1ea3i quy\u1ebft nh\u1eefng \u0111i\u1ec3m ngh\u1ebdn n\u00e0y.<\/p>\n\n\n\n<h3 id=\"V\u01b0\u1ee3t_qua_gi\u1edbi_h\u1ea1n_c\u1ee7a_m\u00f4_h\u00ecnh_tuy\u1ebfn_t\u00ednh_(DAG)\"><a id=\"post-121483-_ol4md145yyv1\"><\/a><strong>V\u01b0\u1ee3t qua gi\u1edbi h\u1ea1n c\u1ee7a m\u00f4 h\u00ecnh tuy\u1ebfn t\u00ednh (DAG)<\/strong><\/h3>\n\n\n\n<p>LangChain thu\u1ea7n t\u00fay ho\u1ea1t \u0111\u1ed9ng d\u1ef1a tr\u00ean c\u1ea5u tr\u00fac DAG &#8211; t\u1ee9c l\u00e0 c\u00e1c lu\u1ed3ng x\u1eed l\u00fd \u0111i th\u1eb3ng t\u1eeb \u0111i\u1ec3m A \u0111\u1ebfn \u0111i\u1ec3m B m\u00e0 kh\u00f4ng c\u00f3 s\u1ef1 quay \u0111\u1ea7u. \u0110i\u1ec1u n\u00e0y ho\u1ea1t \u0111\u1ed9ng t\u1ed1t cho c\u00e1c t\u00e1c v\u1ee5 \u0111\u01a1n gi\u1ea3n nh\u01b0 t\u00f3m t\u1eaft v\u0103n b\u1ea3n hay d\u1ecbch thu\u1eadt. Tuy nhi\u00ean, \u0111\u1ec3 x\u00e2y d\u1ef1ng m\u1ed9t Agent th\u00f4ng minh bi\u1ebft t\u1ef1 suy lu\u1eadn v\u00e0 ho\u1ea1t \u0111\u1ed9ng trong m\u00f4i tr\u01b0\u1eddng bi\u1ebfn \u0111\u1ed9ng, l\u1eadp tr\u00ecnh vi\u00ean c\u1ea7n c\u00e1c v\u00f2ng l\u1eb7p (Loops). LangGraph cung c\u1ea5p kh\u1ea3 n\u0103ng n\u00e0y, cho ph\u00e9p t\u1ea1o ra c\u00e1c quy tr\u00ecnh linh ho\u1ea1t v\u00e0 &#8220;th\u00f4ng minh&#8221; h\u01a1n nhi\u1ec1u so v\u1edbi c\u00e1c chu\u1ed7i c\u1ee9ng nh\u1eafc.<\/p>\n\n\n\n<h3 id=\"Ki\u1ec3m_so\u00e1t_lu\u1ed3ng_\u0111i_chi_ti\u1ebft_h\u01a1n\"><a id=\"post-121483-_ohknbvqq0zz2\"><\/a><strong>Ki\u1ec3m so\u00e1t lu\u1ed3ng \u0111i chi ti\u1ebft h\u01a1n<\/strong><\/h3>\n\n\n\n<p>Trong LangChain, vi\u1ec7c s\u1eed d\u1ee5ng AgentExecutor th\u01b0\u1eddng gi\u1ed1ng nh\u01b0 l\u00e0m vi\u1ec7c v\u1edbi m\u1ed9t &#8220;h\u1ed9p \u0111en&#8221; \u2013 l\u1eadp tr\u00ecnh vi\u00ean kh\u00f3 can thi\u1ec7p s\u00e2u v\u00e0o c\u00e1ch Agent \u0111\u01b0a ra quy\u1ebft \u0111\u1ecbnh b\u00ean trong. Ng\u01b0\u1ee3c l\u1ea1i, LangGraph trao quy\u1ec1n ki\u1ec3m so\u00e1t ho\u00e0n to\u00e0n cho ng\u01b0\u1eddi ph\u00e1t tri\u1ec3n. B\u1ea1n c\u00f3 th\u1ec3 \u0111\u1ecbnh ngh\u0129a ch\u00ednh x\u00e1c t\u1eebng tr\u1ea1ng th\u00e1i, t\u1eebng \u0111i\u1ec1u ki\u1ec7n r\u1ebd nh\u00e1nh v\u00e0 c\u00e1ch h\u1ec7 th\u1ed1ng ph\u1ea3n \u1ee9ng trong m\u1ecdi t\u00ecnh hu\u1ed1ng c\u1ee5 th\u1ec3. S\u1ef1 minh b\u1ea1ch n\u00e0y gi\u00fap vi\u1ec7c g\u1ee1 l\u1ed7i (debug) v\u00e0 t\u1ed1i \u01b0u h\u00f3a h\u1ec7 th\u1ed1ng tr\u1edf n\u00ean d\u1ec5 d\u00e0ng h\u01a1n.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"700\" height=\"375\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2025\/12\/langgraph-la-gi-5.png\" alt=\"T\u1ea1i sao c\u1ea7n s\u1eed d\u1ee5ng LangGraph thay v\u00ec LangChain thu\u1ea7n t\u00fay?\" class=\"wp-image-121487\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2025\/12\/langgraph-la-gi-5.png 700w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2025\/12\/langgraph-la-gi-5-300x161.png 300w\" sizes=\"(max-width: 700px) 100vw, 700px\" \/><figcaption class=\"wp-element-caption\"><strong>T\u1ea1i sao c\u1ea7n s\u1eed d\u1ee5ng LangGraph thay v\u00ec LangChain thu\u1ea7n t\u00fay?<\/strong><\/figcaption><\/figure>\n<\/div>\n\n\n<h3 id=\"Qu\u1ea3n_l\u00fd_b\u1ed9_nh\u1edb_\u01b0u_vi\u1ec7t_h\u01a1n\"><a id=\"post-121483-_etiyhqdj2lyy\"><\/a><strong>Qu\u1ea3n l\u00fd b\u1ed9 nh\u1edb \u01b0u vi\u1ec7t h\u01a1n<\/strong><\/h3>\n\n\n\n<p>V\u1edbi LangChain, vi\u1ec7c duy tr\u00ec b\u1ed1i c\u1ea3nh trong c\u00e1c chu\u1ed7i d\u00e0i th\u01b0\u1eddng \u0111\u00f2i h\u1ecfi nhi\u1ec1u thao t\u00e1c th\u1ee7 c\u00f4ng v\u00e0 d\u1ec5 g\u1eb7p l\u1ed7i m\u1ea5t d\u1eef li\u1ec7u. LangGraph gi\u1ea3i quy\u1ebft v\u1ea5n \u0111\u1ec1 n\u00e0y th\u00f4ng qua \u0111\u1ed1i t\u01b0\u1ee3ng State \u0111\u01b0\u1ee3c chia s\u1ebb to\u00e0n c\u1ee5c. C\u00e1ch ti\u1ebfp c\u1eadn n\u00e0y gi\u00fap vi\u1ec7c truy\u1ec1n t\u1ea3i d\u1eef li\u1ec7u gi\u1eefa c\u00e1c b\u01b0\u1edbc x\u1eed l\u00fd tr\u1edf n\u00ean m\u01b0\u1ee3t m\u00e0, \u0111\u1ed3ng th\u1eddi gi\u1ea3m thi\u1ec3u \u0111\u00e1ng k\u1ec3 m\u00e3 ngu\u1ed3n th\u1eeba (boilerplate code) c\u1ea7n vi\u1ebft \u0111\u1ec3 qu\u1ea3n l\u00fd b\u1ed9 nh\u1edb.<\/p>\n\n\n\n<h3 id=\"Kh\u1ea3_n\u0103ng_m\u1edf_r\u1ed9ng_cho_c\u00e1c_h\u1ec7_th\u1ed1ng_l\u1edbn\"><a id=\"post-121483-_wto8gz5qkh5h\"><\/a><strong>Kh\u1ea3 n\u0103ng m\u1edf r\u1ed9ng cho c\u00e1c h\u1ec7 th\u1ed1ng l\u1edbn<\/strong><\/h3>\n\n\n\n<p>Khi \u1ee9ng d\u1ee5ng ph\u00e1t tri\u1ec3n l\u1edbn h\u01a1n, vi\u1ec7c n\u1ed1i d\u00e0i c\u00e1c chu\u1ed7i LangChain s\u1ebd t\u1ea1o ra m\u1ed9t c\u1ea5u tr\u00fac c\u1ed3ng k\u1ec1nh v\u00e0 kh\u00f3 b\u1ea3o tr\u00ec (&#8220;Spaghetti code&#8221;). LangGraph t\u1ed5 ch\u1ee9c m\u00e3 ngu\u1ed3n d\u01b0\u1edbi d\u1ea1ng c\u00e1c n\u00fat v\u00e0 c\u1ea1nh \u0111\u1ed9c l\u1eadp, gi\u00fap ki\u1ebfn tr\u00fac \u1ee9ng d\u1ee5ng tr\u1edf n\u00ean m\u00f4-\u0111un h\u00f3a. Nh\u1edd \u0111\u00f3, \u0111\u1ed9i ng\u0169 k\u1ef9 thu\u1eadt c\u00f3 th\u1ec3 d\u1ec5 d\u00e0ng th\u00eam m\u1edbi, s\u1eeda \u0111\u1ed5i ho\u1eb7c n\u00e2ng c\u1ea5p t\u1eebng ph\u1ea7n nh\u1ecf c\u1ee7a h\u1ec7 th\u1ed1ng m\u00e0 kh\u00f4ng l\u00e0m \u1ea3nh h\u01b0\u1edfng \u0111\u1ebfn to\u00e0n b\u1ed9 quy tr\u00ecnh v\u1eadn h\u00e0nh.<\/p>\n\n\n\n<h2 id=\"LangGraph_hay_LangChain:_Khi_n\u00e0o_n\u00ean_ch\u1ecdn?\"><a id=\"post-121483-_j036rupbehf5\"><\/a>LangGraph hay LangChain: Khi n\u00e0o n\u00ean ch\u1ecdn?<\/h2>\n\n\n\n<p>M\u1eb7c d\u00f9 LangGraph \u0111\u01b0\u1ee3c x\u00e2y d\u1ef1ng tr\u00ean n\u1ec1n t\u1ea3ng c\u1ee7a LangChain, hai c\u00f4ng c\u1ee5 n\u00e0y ph\u1ee5c v\u1ee5 nh\u1eefng tri\u1ebft l\u00fd thi\u1ebft k\u1ebf v\u00e0 m\u1ee5c \u0111\u00edch s\u1eed d\u1ee5ng kh\u00e1c bi\u1ec7t. D\u01b0\u1edbi \u0111\u00e2y l\u00e0 b\u1ea3ng so s\u00e1nh d\u1ef1a tr\u00ean c\u00e1c ti\u00eau ch\u00ed k\u1ef9 thu\u1eadt c\u1ed1t l\u00f5i:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><td><strong>Ti\u00eau ch\u00ed<\/strong><\/td><td><strong>LangChain (Chains &amp; AgentExecutor)<\/strong><\/td><td><strong>LangGraph<\/strong><\/td><\/tr><\/thead><tbody><tr><td><strong>Ki\u1ebfn tr\u00fac lu\u1ed3ng (Flow)<\/strong><\/td><td><strong>Tuy\u1ebfn t\u00ednh (DAG):<\/strong> D\u1eef li\u1ec7u \u0111i theo m\u1ed9t \u0111\u01b0\u1eddng th\u1eb3ng ho\u1eb7c ph\u00e2n nh\u00e1nh \u0111\u01a1n gi\u1ea3n (A -&gt; B -&gt; C). Kh\u00f4ng c\u00f3 \u0111\u01b0\u1eddng quay l\u1ea1i.<\/td><td><strong>\u0110\u1ed3 th\u1ecb v\u00f2ng (Cyclic):<\/strong> D\u1eef li\u1ec7u c\u00f3 th\u1ec3 quay l\u1ea1i c\u00e1c b\u01b0\u1edbc tr\u01b0\u1edbc \u0111\u00f3 (Loop). H\u1ed7 tr\u1ee3 c\u00e1c quy tr\u00ecnh l\u1eb7p \u0111i l\u1eb7p l\u1ea1i ph\u1ee9c t\u1ea1p.<\/td><\/tr><tr><td><strong>Qu\u1ea3n l\u00fd tr\u1ea1ng th\u00e1i (State)<\/strong><\/td><td><strong>R\u1eddi r\u1ea1c:<\/strong> Tr\u1ea1ng th\u00e1i th\u01b0\u1eddng \u0111\u01b0\u1ee3c truy\u1ec1n ng\u1ea7m ho\u1eb7c qu\u1ea3n l\u00fd th\u1ee7 c\u00f4ng qua <code>Memory<\/code>. Kh\u00f3 ki\u1ec3m so\u00e1t khi chu\u1ed7i x\u1eed l\u00fd qu\u00e1 d\u00e0i.<\/td><td><strong>T\u1eadp trung &amp; B\u1ec1n v\u1eefng:<\/strong> Tr\u1ea1ng th\u00e1i l\u00e0 m\u1ed9t \u0111\u1ed1i t\u01b0\u1ee3ng to\u00e0n c\u1ee5c (Global State), \u0111\u01b0\u1ee3c c\u1eadp nh\u1eadt r\u00f5 r\u00e0ng qua t\u1eebng n\u00fat x\u1eed l\u00fd. D\u1ec5 d\u00e0ng theo d\u00f5i v\u00e0 g\u1ee1 l\u1ed7i.<\/td><\/tr><tr><td><strong>Ki\u1ec3m so\u00e1t logic<\/strong><\/td><td><strong>M\u1ee9c \u0111\u1ed9 tr\u1eebu t\u01b0\u1ee3ng cao:<\/strong> S\u1eed d\u1ee5ng c\u00e1c th\u00e0nh ph\u1ea7n c\u00f3 s\u1eb5n (nh\u01b0 <code>AgentExecutor<\/code>) gi\u00fap tri\u1ec3n khai nhanh nh\u01b0ng kh\u00f3 t\u00f9y bi\u1ebfn s\u00e2u v\u00e0o logic b\u00ean trong.<\/td><td><strong>M\u1ee9c \u0111\u1ed9 chi ti\u1ebft cao:<\/strong> L\u1eadp tr\u00ecnh vi\u00ean \u0111\u1ecbnh ngh\u0129a ch\u00ednh x\u00e1c t\u1eebng b\u01b0\u1edbc \u0111i, \u0111i\u1ec1u ki\u1ec7n r\u1ebd nh\u00e1nh v\u00e0 c\u00e1ch h\u1ec7 th\u1ed1ng ph\u1ea3n \u1ee9ng v\u1edbi l\u1ed7i.<\/td><\/tr><tr><td><strong>\u0110a t\u00e1c t\u1eed (Multi-Agent)<\/strong><\/td><td><strong>H\u1ea1n ch\u1ebf:<\/strong> Vi\u1ec7c ph\u1ed1i h\u1ee3p nhi\u1ec1u Agent kh\u00e1 ph\u1ee9c t\u1ea1p v\u00e0 thi\u1ebfu s\u1ef1 nh\u1ea5t qu\u00e1n trong giao ti\u1ebfp.<\/td><td><strong>T\u1ed1i \u01b0u:<\/strong> \u0110\u01b0\u1ee3c thi\u1ebft k\u1ebf chuy\u00ean bi\u1ec7t \u0111\u1ec3 x\u00e2y d\u1ef1ng h\u1ec7 sinh th\u00e1i nhi\u1ec1u Agent ph\u1ed1i h\u1ee3p nh\u1ecbp nh\u00e0ng.<\/td><\/tr><tr><td><strong>\u0110\u1ed9 kh\u00f3 (Learning Curve)<\/strong><\/td><td><strong>Th\u1ea5p:<\/strong> D\u1ec5 ti\u1ebfp c\u1eadn cho ng\u01b0\u1eddi m\u1edbi b\u1eaft \u0111\u1ea7u ho\u1eb7c c\u00e1c \u1ee9ng d\u1ee5ng \u0111\u01a1n gi\u1ea3n (MVP).<\/td><td><strong>Trung b\u00ecnh &#8211; Cao:<\/strong> Y\u00eau c\u1ea7u hi\u1ec3u bi\u1ebft v\u1ec1 l\u00fd thuy\u1ebft \u0111\u1ed3 th\u1ecb v\u00e0 t\u01b0 duy l\u1eadp tr\u00ecnh h\u01b0\u1edbng tr\u1ea1ng th\u00e1i.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 id=\"Khi_n\u00e0o_n\u00ean_ch\u1ecdn_LangChain?\"><a id=\"post-121483-_1hog6qr2kmqu\"><\/a><strong>Khi n\u00e0o n\u00ean ch\u1ecdn LangChain?<\/strong><\/h3>\n\n\n\n<p>LangChain v\u1eabn l\u00e0 l\u1ef1a ch\u1ecdn tuy\u1ec7t v\u1eddi cho c\u00e1c \u1ee9ng d\u1ee5ng c\u00f3 quy tr\u00ecnh x\u1eed l\u00fd r\u00f5 r\u00e0ng, c\u1ed1 \u0111\u1ecbnh v\u00e0 kh\u00f4ng y\u00eau c\u1ea7u AI ph\u1ea3i &#8220;suy ngh\u0129 l\u1ea1i&#8221;. H\u00e3y s\u1eed d\u1ee5ng LangChain khi:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>X\u00e2y d\u1ef1ng \u1ee9ng d\u1ee5ng RAG c\u01a1 b\u1ea3n:<\/strong> H\u1ecfi \u0111\u00e1p tr\u00ean t\u00e0i li\u1ec7u v\u1edbi quy tr\u00ecnh chu\u1ea9n (Truy v\u1ea5n -&gt; T\u00ecm ki\u1ebfm -&gt; Tr\u1ea3 l\u1eddi).<\/li>\n\n\n\n<li><strong>C\u00e1c t\u00e1c v\u1ee5 tuy\u1ebfn t\u00ednh:<\/strong> T\u00f3m t\u1eaft v\u0103n b\u1ea3n, d\u1ecbch thu\u1eadt, tr\u00edch xu\u1ea5t th\u00f4ng tin \u0111\u01a1n gi\u1ea3n.<\/li>\n\n\n\n<li><strong>C\u1ea7n tri\u1ec3n khai nhanh:<\/strong> Khi m\u1ee5c ti\u00eau l\u00e0 \u0111\u01b0a ra s\u1ea3n ph\u1ea9m th\u1eed nghi\u1ec7m trong th\u1eddi gian ng\u1eafn nh\u1ea5t m\u00e0 kh\u00f4ng c\u1ea7n logic \u0111i\u1ec1u h\u01b0\u1edbng ph\u1ee9c t\u1ea1p.<\/li>\n\n\n\n<li><strong>Ng\u01b0\u1eddi ph\u00e1t tri\u1ec3n m\u1edbi l\u00e0m quen:<\/strong> \u0110\u1ed9i ng\u0169 k\u1ef9 thu\u1eadt ch\u01b0a c\u00f3 nhi\u1ec1u kinh nghi\u1ec7m v\u1edbi LLM v\u00e0 mu\u1ed1n t\u1eadn d\u1ee5ng c\u00e1c m\u1eabu (templates) c\u00f3 s\u1eb5n.<br><\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"700\" height=\"375\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2025\/12\/langgraph-la-gi-6.png\" alt=\"LangGraph hay LangChain: Khi n\u00e0o n\u00ean ch\u1ecdn?\" class=\"wp-image-121488\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2025\/12\/langgraph-la-gi-6.png 700w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2025\/12\/langgraph-la-gi-6-300x161.png 300w\" sizes=\"(max-width: 700px) 100vw, 700px\" \/><figcaption class=\"wp-element-caption\"><strong>LangGraph hay LangChain: Khi n\u00e0o n\u00ean ch\u1ecdn?<\/strong><\/figcaption><\/figure>\n<\/div>\n\n\n<h3 id=\"Khi_n\u00e0o_n\u00ean_ch\u1ecdn_LangGraph?\"><a id=\"post-121483-_p6ncfhn1d4zt\"><\/a><strong>Khi n\u00e0o n\u00ean ch\u1ecdn LangGraph?<\/strong><\/h3>\n\n\n\n<p>LangGraph l\u00e0 gi\u1ea3i ph\u00e1p b\u1eaft bu\u1ed9c khi \u1ee9ng d\u1ee5ng \u0111\u00f2i h\u1ecfi s\u1ef1 linh ho\u1ea1t, kh\u1ea3 n\u0103ng t\u1ef1 ch\u1ee7 v\u00e0 \u0111\u1ed9 tin c\u1eady cao. H\u00e3y chuy\u1ec3n sang LangGraph khi:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>X\u00e2y d\u1ef1ng AI Agent t\u1ef1 h\u00e0nh:<\/strong> H\u1ec7 th\u1ed1ng c\u1ea7n t\u1ef1 l\u00ean k\u1ebf ho\u1ea1ch, th\u1ef1c hi\u1ec7n h\u00e0nh \u0111\u1ed9ng, ki\u1ec3m tra k\u1ebft qu\u1ea3 v\u00e0 t\u1ef1 s\u1eeda l\u1ed7i n\u1ebfu th\u1ea5t b\u1ea1i (V\u00ed d\u1ee5: Agent vi\u1ebft code t\u1ef1 ch\u1ea1y th\u1eed v\u00e0 s\u1eeda bug).<\/li>\n\n\n\n<li><strong>Quy tr\u00ecnh nghi\u1ec7p v\u1ee5 c\u00f3 v\u00f2ng l\u1eb7p:<\/strong> C\u00e1c t\u00e1c v\u1ee5 y\u00eau c\u1ea7u s\u1ef1 t\u01b0\u01a1ng t\u00e1c qua l\u1ea1i li\u00ean t\u1ee5c, v\u00ed d\u1ee5 nh\u01b0 m\u1ed9t chatbot thu th\u1eadp th\u00f4ng tin kh\u00e1ch h\u00e0ng c\u1ea7n h\u1ecfi l\u1ea1i n\u1ebfu d\u1eef li\u1ec7u nh\u1eadp v\u00e0o kh\u00f4ng h\u1ee3p l\u1ec7.<\/li>\n\n\n\n<li><strong>H\u1ec7 th\u1ed1ng Multi-Agent:<\/strong> C\u1ea7n ph\u1ed1i h\u1ee3p m\u1ed9t nh\u00f3m c\u00e1c tr\u1ee3 l\u00fd \u1ea3o chuy\u00ean bi\u1ec7t (m\u1ed9t tr\u1ee3 l\u00fd t\u00ecm ki\u1ebfm, m\u1ed9t tr\u1ee3 l\u00fd vi\u1ebft b\u00e0i, m\u1ed9t tr\u1ee3 l\u00fd ki\u1ec3m duy\u1ec7t) l\u00e0m vi\u1ec7c c\u00f9ng nhau.<\/li>\n\n\n\n<li><strong>Y\u00eau c\u1ea7u Human-in-the-loop:<\/strong> \u1ee8ng d\u1ee5ng c\u1ea7n t\u1ea1m d\u1eebng \u0111\u1ec3 ch\u1edd con ng\u01b0\u1eddi ph\u00ea duy\u1ec7t tr\u01b0\u1edbc khi ti\u1ebfp t\u1ee5c b\u01b0\u1edbc ti\u1ebfp theo (V\u00ed d\u1ee5: Duy\u1ec7t chi ng\u00e2n s\u00e1ch, ph\u00ea duy\u1ec7t n\u1ed9i dung nh\u1ea1y c\u1ea3m).<\/li>\n<\/ul>\n\n\n\n<h2 id=\"\u1ee8ng_d\u1ee5ng_th\u1ef1c_t\u1ebf_c\u1ee7a_LangGraph_trong_doanh_nghi\u1ec7p\"><a id=\"post-121483-_r0jh57bt015k\"><\/a><strong>\u1ee8ng d\u1ee5ng th\u1ef1c t\u1ebf c\u1ee7a LangGraph trong doanh nghi\u1ec7p<\/strong><\/h2>\n\n\n\n<h3 id=\"H\u1ec7_th\u1ed1ng_ch\u0103m_s\u00f3c_kh\u00e1ch_h\u00e0ng_&amp;_x\u1eed_l\u00fd_khi\u1ebfu_n\u1ea1i_chuy\u00ean_s\u00e2u\"><a id=\"post-121483-_4vk4clugyq6z\"><\/a><strong>H\u1ec7 th\u1ed1ng ch\u0103m s\u00f3c kh\u00e1ch h\u00e0ng &amp; x\u1eed l\u00fd khi\u1ebfu n\u1ea1i chuy\u00ean s\u00e2u<\/strong><\/h3>\n\n\n\n<p>C\u00e1c chatbot truy\u1ec1n th\u1ed1ng th\u01b0\u1eddng g\u1eb7p kh\u00f3 kh\u0103n khi kh\u00e1ch h\u00e0ng thay \u0111\u1ed5i \u00fd \u0111\u1ecbnh ho\u1eb7c cung c\u1ea5p th\u00f4ng tin r\u1eddi r\u1ea1c. V\u1edbi LangGraph, doanh nghi\u1ec7p c\u00f3 th\u1ec3 x\u00e2y d\u1ef1ng c\u00e1c tr\u1ee3 l\u00fd \u1ea3o c\u00f3 kh\u1ea3 n\u0103ng:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Thu th\u1eadp v\u00e0 x\u00e1c th\u1ef1c th\u00f4ng tin:<\/strong> N\u1ebfu kh\u00e1ch h\u00e0ng mu\u1ed1n \u0111\u1ed5i v\u00e9 m\u00e1y bay, AI s\u1ebd ki\u1ec3m tra tr\u1ea1ng th\u00e1i v\u00e9. N\u1ebfu thi\u1ebfu th\u00f4ng tin (ng\u00e0y m\u1edbi, gi\u1edd bay), h\u1ec7 th\u1ed1ng s\u1ebd t\u1ef1 \u0111\u1ed9ng quay l\u1ea1i b\u01b0\u1edbc h\u1ecfi (Loop) cho \u0111\u1ebfn khi c\u00f3 \u0111\u1ee7 d\u1eef li\u1ec7u h\u1ee3p l\u1ec7 thay v\u00ec b\u00e1o l\u1ed7i.<\/li>\n\n\n\n<li><strong>Duy tr\u00ec ng\u1eef c\u1ea3nh d\u00e0i h\u1ea1n:<\/strong> H\u1ec7 th\u1ed1ng ghi nh\u1edb to\u00e0n b\u1ed9 l\u1ecbch s\u1eed trao \u0111\u1ed5i \u0111\u1ec3 x\u1eed l\u00fd c\u00e1c y\u00eau c\u1ea7u k\u00e9o d\u00e0i qua nhi\u1ec1u ng\u00e0y m\u00e0 kh\u00f4ng b\u1eaft kh\u00e1ch h\u00e0ng l\u1eb7p l\u1ea1i v\u1ea5n \u0111\u1ec1 t\u1eeb \u0111\u1ea7u.<\/li>\n<\/ul>\n\n\n\n<h3 id=\"Tr\u1ee3_l\u00fd_ph\u00e2n_t\u00edch_d\u1eef_li\u1ec7u_&amp;_l\u1eadp_b\u00e1o_c\u00e1o_t\u00e0i_ch\u00ednh\"><a id=\"post-121483-_8gj1uggdfsod\"><\/a><strong>Tr\u1ee3 l\u00fd ph\u00e2n t\u00edch d\u1eef li\u1ec7u &amp; l\u1eadp b\u00e1o c\u00e1o t\u00e0i ch\u00ednh<\/strong><\/h3>\n\n\n\n<p>Quy tr\u00ecnh ph\u00e2n t\u00edch d\u1eef li\u1ec7u th\u01b0\u1eddng \u0111\u00f2i h\u1ecfi nhi\u1ec1u b\u01b0\u1edbc th\u1eed sai. LangGraph cho ph\u00e9p thi\u1ebft l\u1eadp m\u1ed9t quy tr\u00ecnh l\u00e0m vi\u1ec7c kh\u00e9p k\u00edn cho AI Agent:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>T\u1ef1 \u0111\u1ed9ng s\u1eeda l\u1ed7i truy v\u1ea5n:<\/strong> Khi Agent t\u1ea1o ra m\u1ed9t c\u00e2u l\u1ec7nh SQL \u0111\u1ec3 l\u1ea5y d\u1eef li\u1ec7u doanh thu nh\u01b0ng g\u1eb7p l\u1ed7i c\u00fa ph\u00e1p, \u0111\u1ed3 th\u1ecb s\u1ebd \u0111i\u1ec1u h\u01b0\u1edbng quy tr\u00ecnh quay l\u1ea1i b\u01b0\u1edbc &#8220;Vi\u1ebft code&#8221; \u0111\u1ec3 s\u1eeda l\u1ea1i c\u00e2u l\u1ec7nh d\u1ef1a tr\u00ean th\u00f4ng b\u00e1o l\u1ed7i, thay v\u00ec tr\u1ea3 v\u1ec1 k\u1ebft qu\u1ea3 r\u1ed7ng cho ng\u01b0\u1eddi d\u00f9ng.<\/li>\n\n\n\n<li><strong>T\u1ed5ng h\u1ee3p \u0111a ngu\u1ed3n:<\/strong> H\u1ec7 th\u1ed1ng c\u00f3 th\u1ec3 ph\u1ed1i h\u1ee3p nhi\u1ec1u Agent con (m\u1ed9t Agent t\u00ecm ki\u1ebfm tin t\u1ee9c th\u1ecb tr\u01b0\u1eddng, m\u1ed9t Agent \u0111\u1ecdc b\u00e1o c\u00e1o n\u1ed9i b\u1ed9) \u0111\u1ec3 t\u1ed5ng h\u1ee3p th\u00e0nh m\u1ed9t b\u1ea3n b\u00e1o c\u00e1o chi\u1ebfn l\u01b0\u1ee3c ho\u00e0n ch\u1ec9nh.<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"700\" height=\"375\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2025\/12\/langgraph-la-gi-7.png\" alt=\"\u1ee8ng d\u1ee5ng th\u1ef1c t\u1ebf c\u1ee7a LangGraph trong doanh nghi\u1ec7p\" class=\"wp-image-121489\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2025\/12\/langgraph-la-gi-7.png 700w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2025\/12\/langgraph-la-gi-7-300x161.png 300w\" sizes=\"(max-width: 700px) 100vw, 700px\" \/><figcaption class=\"wp-element-caption\"><strong>\u1ee8ng d\u1ee5ng th\u1ef1c t\u1ebf c\u1ee7a LangGraph trong doanh nghi\u1ec7p<\/strong><\/figcaption><\/figure>\n<\/div>\n\n\n<h3 id=\"T\u1ef1_\u0111\u1ed9ng_h\u00f3a_quy_tr\u00ecnh_ph\u00e1t_tri\u1ec3n_ph\u1ea7n_m\u1ec1m\"><a id=\"post-121483-_cgg95hrfco2k\"><\/a><strong>T\u1ef1 \u0111\u1ed9ng h\u00f3a quy tr\u00ecnh ph\u00e1t tri\u1ec3n ph\u1ea7n m\u1ec1m<\/strong><\/h3>\n\n\n\n<p>\u0110\u00e2y l\u00e0 m\u1ed9t trong nh\u1eefng \u1ee9ng d\u1ee5ng m\u1ea1nh m\u1ebd nh\u1ea5t c\u1ee7a LangGraph. C\u00e1c c\u00f4ng ty c\u00f4ng ngh\u1ec7 c\u00f3 th\u1ec3 t\u1ea1o ra c\u00e1c &#8220;K\u1ef9 s\u01b0 AI&#8221; \u1ea3o h\u1ed7 tr\u1ee3 \u0111\u1ed9i ng\u0169 l\u1eadp tr\u00ecnh vi\u00ean:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Quy tr\u00ecnh Code &#8211; Test &#8211; Fix:<\/strong> Agent vi\u1ebft m\u00e3 ngu\u1ed3n -&gt; Ch\u1ea1y th\u1eed nghi\u1ec7m (Unit Test) -&gt; N\u1ebfu th\u1ea5t b\u1ea1i, h\u1ec7 th\u1ed1ng quay ng\u01b0\u1ee3c l\u1ea1i b\u01b0\u1edbc vi\u1ebft m\u00e3 \u0111\u1ec3 s\u1eeda l\u1ed7i -&gt; Ch\u1ea1y l\u1ea1i ki\u1ec3m th\u1eed. V\u00f2ng l\u1eb7p n\u00e0y ti\u1ebfp di\u1ec5n cho \u0111\u1ebfn khi m\u00e3 ngu\u1ed3n ch\u1ea1y \u0111\u00fang y\u00eau c\u1ea7u.<\/li>\n\n\n\n<li><strong>Review code t\u1ef1 \u0111\u1ed9ng:<\/strong> AI Agent \u0111\u00f3ng vai tr\u00f2 ng\u01b0\u1eddi ki\u1ec3m duy\u1ec7t, qu\u00e9t c\u00e1c l\u1ed7 h\u1ed5ng b\u1ea3o m\u1eadt v\u00e0 \u0111\u1ec1 xu\u1ea5t ch\u1ec9nh s\u1eeda tr\u01b0\u1edbc khi m\u00e3 \u0111\u01b0\u1ee3c h\u1ee3p nh\u1ea5t v\u00e0o h\u1ec7 th\u1ed1ng ch\u00ednh.<\/li>\n<\/ul>\n\n\n\n<h3 id=\"Quy_tr\u00ecnh_ph\u00ea_duy\u1ec7t_n\u1ed9i_dung_c\u00f3_s\u1ef1_tham_gia_c\u1ee7a_con_ng\u01b0\u1eddi_\"><a id=\"post-121483-_tiw74dnk4x2e\"><\/a><strong>Quy tr\u00ecnh ph\u00ea duy\u1ec7t n\u1ed9i dung c\u00f3 s\u1ef1 tham gia c\u1ee7a con ng\u01b0\u1eddi <\/strong><\/h3>\n\n\n\n<p>Trong c\u00e1c l\u0129nh v\u1ef1c nh\u1ea1y c\u1ea3m nh\u01b0 Marketing hay Ph\u00e1p l\u00fd, vi\u1ec7c \u0111\u1ec3 AI t\u1ef1 \u0111\u0103ng t\u1ea3i n\u1ed9i dung ch\u1ee9a \u0111\u1ef1ng nhi\u1ec1u r\u1ee7i ro. LangGraph cung c\u1ea5p gi\u1ea3i ph\u00e1p t\u00edch h\u1ee3p con ng\u01b0\u1eddi v\u00e0o lu\u1ed3ng x\u1eed l\u00fd:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>C\u01a1 ch\u1ebf t\u1ea1m d\u1eebng:<\/strong> AI so\u1ea1n th\u1ea3o n\u1ed9i dung email marketing ho\u1eb7c h\u1ee3p \u0111\u1ed3ng -&gt; H\u1ec7 th\u1ed1ng chuy\u1ec3n sang tr\u1ea1ng th\u00e1i &#8220;Ch\u1edd duy\u1ec7t&#8221; v\u00e0 g\u1eedi th\u00f4ng b\u00e1o cho qu\u1ea3n l\u00fd.<\/li>\n\n\n\n<li><strong>Ph\u1ea3n h\u1ed3i linh ho\u1ea1t:<\/strong> N\u1ebfu qu\u1ea3n l\u00fd ch\u1ecdn &#8220;\u0110\u1ed3ng \u00fd&#8221;, quy tr\u00ecnh ti\u1ebfp t\u1ee5c \u0111i \u0111\u1ebfn b\u01b0\u1edbc &#8220;G\u1eedi&#8221;. N\u1ebfu ch\u1ecdn &#8220;Ch\u1ec9nh s\u1eeda&#8221;, h\u1ec7 th\u1ed1ng s\u1ebd quay l\u1ea1i b\u01b0\u1edbc &#8220;So\u1ea1n th\u1ea3o&#8221; k\u00e8m theo ghi ch\u00fa g\u00f3p \u00fd c\u1ee7a qu\u1ea3n l\u00fd \u0111\u1ec3 AI vi\u1ebft l\u1ea1i.<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"700\" height=\"375\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2025\/12\/langgraph-la-gi-8.png\" alt=\"Quy tr\u00ecnh ph\u00ea duy\u1ec7t n\u1ed9i dung c\u00f3 s\u1ef1 tham gia c\u1ee7a con ng\u01b0\u1eddi \" class=\"wp-image-121490\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2025\/12\/langgraph-la-gi-8.png 700w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2025\/12\/langgraph-la-gi-8-300x161.png 300w\" sizes=\"(max-width: 700px) 100vw, 700px\" \/><figcaption class=\"wp-element-caption\"><strong>Quy tr\u00ecnh ph\u00ea duy\u1ec7t n\u1ed9i dung c\u00f3 s\u1ef1 tham gia c\u1ee7a con ng\u01b0\u1eddi <\/strong><\/figcaption><\/figure>\n<\/div>\n\n\n<h3 id=\"Tr\u1ee3_l\u00fd_nghi\u00ean_c\u1ee9u_th\u1ecb_tr\u01b0\u1eddng_&amp;_t\u1ed5ng_h\u1ee3p_tin_t\u1ee9c\"><a id=\"post-121483-_t2pl0kwveouo\"><\/a><strong>Tr\u1ee3 l\u00fd nghi\u00ean c\u1ee9u th\u1ecb tr\u01b0\u1eddng &amp; t\u1ed5ng h\u1ee3p tin t\u1ee9c<\/strong><\/h3>\n\n\n\n<p>Thay v\u00ec ch\u1ec9 t\u00ecm ki\u1ebfm m\u1ed9t l\u1ea7n v\u00e0 tr\u1ea3 v\u1ec1 k\u1ebft qu\u1ea3 s\u01a1 s\u00e0i, \u1ee9ng d\u1ee5ng LangGraph c\u00f3 th\u1ec3 th\u1ef1c hi\u1ec7n quy tr\u00ecnh nghi\u00ean c\u1ee9u s\u00e2u:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Agent th\u1ef1c hi\u1ec7n t\u00ecm ki\u1ebfm ban \u0111\u1ea7u -&gt; \u0110\u1ecdc v\u00e0 \u0111\u00e1nh gi\u00e1 \u0111\u1ed9 tin c\u1eady c\u1ee7a ngu\u1ed3n tin -&gt; N\u1ebfu th\u00f4ng tin ch\u01b0a \u0111\u1ee7, h\u1ec7 th\u1ed1ng t\u1ef1 \u0111\u1ed9ng t\u1ea1o t\u1eeb kh\u00f3a t\u00ecm ki\u1ebfm m\u1edbi v\u00e0 l\u1eb7p l\u1ea1i quy tr\u00ecnh.<\/li>\n\n\n\n<li>Cu\u1ed1i c\u00f9ng, Agent bi\u00ean t\u1eadp l\u1ea1i to\u00e0n b\u1ed9 th\u00f4ng tin th\u00e0nh m\u1ed9t b\u00e0i ph\u00e2n t\u00edch chuy\u00ean s\u00e2u v\u1edbi \u0111\u1ea7y \u0111\u1ee7 d\u1eabn ch\u1ee9ng, gi\u00fap ban l\u00e3nh \u0111\u1ea1o ti\u1ebft ki\u1ec7m h\u00e0ng gi\u1edd \u0111\u1ecdc t\u00e0i li\u1ec7u.<\/li>\n<\/ul>\n\n\n\n<h2 id=\"H\u01b0\u1edbng_d\u1eabn_c\u00e0i_\u0111\u1eb7t_v\u00e0_s\u1eed_d\u1ee5ng_LangGraph_c\u01a1_b\u1ea3n\"><a id=\"post-121483-_xfkr6weorc8i\"><\/a>H\u01b0\u1edbng d\u1eabn c\u00e0i \u0111\u1eb7t v\u00e0 s\u1eed d\u1ee5ng LangGraph c\u01a1 b\u1ea3n<\/h2>\n\n\n\n<p>\u0110\u1ec3 b\u1eaft \u0111\u1ea7u l\u00e0m vi\u1ec7c v\u1edbi LangGraph, ng\u01b0\u1eddi s\u1eed d\u1ee5ng c\u1ea7n chu\u1ea9n b\u1ecb m\u00f4i tr\u01b0\u1eddng Python (phi\u00ean b\u1ea3n 3.9 tr\u1edf l\u00ean) v\u00e0 c\u00e1c kh\u00f3a API c\u1ea7n thi\u1ebft (nh\u01b0 OpenAI API Key).<\/p>\n\n\n\n<h3 id=\"C\u00e0i_\u0111\u1eb7t_th\u01b0_vi\u1ec7n\"><a id=\"post-121483-_wk6m7q173a9r\"><\/a><strong>C\u00e0i \u0111\u1eb7t th\u01b0 vi\u1ec7n<\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code># T\u1ea1o virtual environment (khuy\u1ebfn ngh\u1ecb)\n\npython -m venv venv\n\nsource venv\/bin\/activate # Windows: venv\\Scripts\\activate\n\n# C\u00e0i \u0111\u1eb7t LangGraph v\u00e0 c\u00e1c g\u00f3i li\u00ean quan\n\npip install -U langgraph langchain langchain-openai langchain-anthropic langchain-google-genai\n\n# N\u1ebfu d\u00f9ng OpenAI\n\npip install langchain-openai\n\n# N\u1ebfu d\u00f9ng Grok, Gemini, Claude, v.v.\n\npip install langchain-anthropic\n\npip install langchain-google-genai\n\npip install langchain-groq\n\n# C\u00f4ng c\u1ee5 \u0111\u1ec3 visualize graph (r\u1ea5t h\u1eefu \u00edch)\n\npip install \"langgraph&#91;cli]\"\n\n# ho\u1eb7c\n\npip install pygraphviz # \u0111\u1ec3 v\u1ebd graph \u0111\u1eb9p h\u01a1n<\/code><\/pre>\n\n\n\n<h3 id=\"C\u1ea5u_tr\u00fac_c\u01a1_b\u1ea3n_c\u1ee7a_m\u1ed9t_LangGraph\"><a id=\"post-121483-_jnyudnrwl1u0\"><\/a><strong>C\u1ea5u tr\u00fac c\u01a1 b\u1ea3n c\u1ee7a m\u1ed9t LangGraph<\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>from typing import TypedDict, Annotated, Sequence\n\nfrom langchain_core.messages import BaseMessage, HumanMessage\n\nfrom langgraph.graph import StateGraph, END\n\nfrom langgraph.checkpoint.memory import MemorySaver\n\n# 1. \u0110\u1ecbnh ngh\u0129a State (tr\u1ea1ng th\u00e1i c\u1ee7a graph)\n\nclass AgentState(TypedDict):\n\nmessages: Annotated&#91;Sequence&#91;BaseMessage], \"add_messages\"] # t\u1ef1 \u0111\u1ed9ng append\n\n# C\u00f3 th\u1ec3 th\u00eam c\u00e1c field kh\u00e1c: user_input, tool_results, ...\n\n# 2. \u0110\u1ecbnh ngh\u0129a c\u00e1c node (h\u00e0m x\u1eed l\u00fd)\n\ndef chatbot(state: AgentState):\n\n# G\u1ecdi LLM \u1edf \u0111\u00e2y\n\nfrom langchain_openai import ChatOpenAI\n\nllm = ChatOpenAI(model=\"gpt-4o-mini\", temperature=0)\n\nreturn {\"messages\": &#91;llm.invoke(state&#91;\"messages\"])]}\n\n# 3. T\u1ea1o graph\n\nworkflow = StateGraph(AgentState)\n\n# 4. Th\u00eam node\n\nworkflow.add_node(\"chatbot\", chatbot)\n\n# 5. Set entry point\n\nworkflow.set_entry_point(\"chatbot\")\n\n# 6. Th\u00eam edge (c\u00f3 th\u1ec3 c\u00f3 \u0111i\u1ec1u ki\u1ec7n)\n\nworkflow.add_edge(\"chatbot\", END) # k\u1ebft th\u00fac lu\u00f4n\n\n# 7. Compile graph (b\u1eaft bu\u1ed9c c\u00f3 checkpointer \u0111\u1ec3 l\u01b0u state)\n\nmemory = MemorySaver()\n\napp = workflow.compile(checkpointer=memory)<\/code><\/pre>\n\n\n\n<h3 id=\"Ch\u1ea1y_graph_\u0111\u01a1n_gi\u1ea3n_nh\u1ea5t_(chatbot_c\u01a1_b\u1ea3n)\"><a id=\"post-121483-_2g2fpu7bsgid\"><\/a><strong>Ch\u1ea1y graph \u0111\u01a1n gi\u1ea3n nh\u1ea5t (chatbot c\u01a1 b\u1ea3n)<\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>from langchain_core.messages import HumanMessage\n\n# Config ch\u1ee9a thread_id \u0111\u1ec3 l\u01b0u tr\u1ea1ng th\u00e1i cu\u1ed9c tr\u00f2 chuy\u1ec7n\n\nconfig = {\"configurable\": {\"thread_id\": \"abc123\"}}\n\n# Input\n\nuser_input = HumanMessage(content=\"Xin ch\u00e0o, b\u1ea1n t\u00ean g\u00ec?\")\n\ninput_data = {\"messages\": &#91;user_input]}\n\n# Stream k\u1ebft qu\u1ea3\n\nfor event in app.stream(input_data, config, stream_mode=\"values\"):\n\nevent&#91;\"messages\"]&#91;-1].pretty_print()<\/code><\/pre>\n\n\n\n<p>K\u1ebft qu\u1ea3 s\u1ebd in ra tin nh\u1eafn c\u1ee7a assistant.<\/p>\n\n\n\n<h3 id=\"V\u00ed_d\u1ee5_th\u1ef1c_t\u1ebf:_Agent_c\u00f3_c\u00f4ng_c\u1ee5_(Tools)_+_v\u00f2ng_l\u1eb7p\"><a id=\"post-121483-_trz4g67itf7a\"><\/a><strong>V\u00ed d\u1ee5 th\u1ef1c t\u1ebf: Agent c\u00f3 c\u00f4ng c\u1ee5 (Tools) + v\u00f2ng l\u1eb7p<\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>from langchain_core.tools import tool\n\nfrom langgraph.prebuilt import ToolNode, tools_condition\n\n@tool\n\ndef search(query: str) -&gt; str:\n\n\"\"\"T\u00ecm ki\u1ebfm tr\u00ean Internet\"\"\"\n\nreturn f\"K\u1ebft qu\u1ea3 gi\u1ea3 l\u1eadp cho: {query}\"\n\ntools = &#91;search]\n\ntool_node = ToolNode(tools)\n\n# LLM c\u00f3 bind tools\n\nfrom langchain_openai import ChatOpenAI\n\nllm = ChatOpenAI(model=\"gpt-4o\", temperature=0)\n\nllm_with_tools = llm.bind_tools(tools)\n\ndef agent(state: AgentState):\n\nreturn {\"messages\": &#91;llm_with_tools.invoke(state&#91;\"messages\"])]}\n\n# T\u1ea1o graph\n\ngraph_builder = StateGraph(AgentState)\n\ngraph_builder.add_node(\"agent\", agent)\n\ngraph_builder.add_node(\"tools\", tool_node)\n\ngraph_builder.set_entry_point(\"agent\")\n\n# \u0110i\u1ec1u ki\u1ec7n: n\u1ebfu LLM g\u1ecdi tool th\u00ec \u0111i v\u00e0o node tools, ng\u01b0\u1ee3c l\u1ea1i k\u1ebft th\u00fac\n\ngraph_builder.add_conditional_edges(\n\n\"agent\",\n\ntools_condition, # h\u00e0m c\u00f3 s\u1eb5n c\u1ee7a LangGraph\n\n{\"tools\": \"tools\", END: END}\n\n)\n\ngraph_builder.add_edge(\"tools\", \"agent\") # sau khi ch\u1ea1y tool th\u00ec quay l\u1ea1i agent\n\nmemory = MemorySaver()\n\ngraph = graph_builder.compile(checkpointer=memory)\n\n# Ch\u1ea1y\n\nconfig = {\"configurable\": {\"thread_id\": \"123\"}}\n\ninput_message = HumanMessage(content=\"Th\u1eddi ti\u1ebft h\u00f4m nay \u1edf H\u00e0 N\u1ed9i th\u1ebf n\u00e0o?\")\n\nfor chunk in graph.stream({\"messages\": &#91;input_message]}, config, stream_mode=\"values\"):\n\nchunk&#91;\"messages\"]&#91;-1].pretty_print()<\/code><\/pre>\n\n\n\n<h3 id=\"Visualize_graph_(r\u1ea5t_h\u1eefu_\u00edch_khi_debug)\"><a id=\"post-121483-_sdrdn1uipyx\"><\/a><strong>Visualize graph (r\u1ea5t h\u1eefu \u00edch khi debug)<\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code># Sau khi compile\n\nfrom IPython.display import Image, display\n\ndisplay(Image(graph.get_graph().draw_mermaid_png()))<\/code><\/pre>\n\n\n\n<p>Ho\u1eb7c d\u00f9ng CLI:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>langgraph dev # ch\u1ea1y server local \u0111\u1ec3 xem graph tr\u00ean tr\u00ecnh duy\u1ec7t<\/code><\/pre>\n\n\n\n<h3 id=\"M\u1ed9t_s\u1ed1_m\u1eb9o_hay\"><a id=\"post-121483-_q1xlcuoxew7e\"><\/a><strong>M\u1ed9t s\u1ed1 m\u1eb9o hay<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Lu\u00f4n d\u00f9ng checkpointer(MemorySaverho\u1eb7cPostgresSaver`, &#8230;) n\u1ebfu mu\u1ed1n gi\u1eef state gi\u1eefa c\u00e1c l\u01b0\u1ee3t.<\/li>\n\n\n\n<li>D\u00f9ng Annotated[Sequence[BaseMessage], &#8220;add_messages&#8221;] \u0111\u1ec3 t\u1ef1 \u0111\u1ed9ng append tin nh\u1eafn.<\/li>\n\n\n\n<li>D\u00f9ng tools_condition v\u00e0 ToolNode c\u00f3 s\u1eb5n thay v\u00ec t\u1ef1 vi\u1ebft \u0111i\u1ec1u ki\u1ec7n.<\/li>\n\n\n\n<li>C\u00f3 th\u1ec3 th\u00eam human-in-the-loop b\u1eb1ng c\u00e1ch:<\/li>\n<\/ul>\n\n\n\n<p>graph.add_node(&#8220;human&#8221;, lambda state: state) # node kh\u00f4ng l\u00e0m g\u00ec<\/p>\n\n\n\n<p>graph.add_conditional_edges(&#8220;agent&#8221;, should_continue, {&#8220;human&#8221;: &#8220;human&#8221;, END: END})<\/p>\n\n\n\n<p>graph.add_edge(&#8220;human&#8221;, &#8220;agent&#8221;)<\/p>\n\n\n\n<h3 id=\"C\u00e1c_template_s\u1eb5n_c\u00f3_(t\u1eeb_LangGraph_0.1+)\"><a id=\"post-121483-_ly5wgflzisv3\"><\/a><strong>C\u00e1c template s\u1eb5n c\u00f3 (t\u1eeb LangGraph 0.1+)<\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>pip install langgraph-cli\n\nlanggraph new my-agent --template langgraph-agent<\/code><\/pre>\n\n\n\n<p>C\u00f3 s\u1eb5n c\u00e1c template:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>langgraph-agent (agent c\u01a1 b\u1ea3n)<\/li>\n\n\n\n<li>langgraph-rag<\/li>\n\n\n\n<li>langgraph-crag<\/li>\n\n\n\n<li>langgraph-multi-agent<\/li>\n<\/ul>\n\n\n\n<p>Ch\u00fac b\u1ea1n x\u00e2y d\u1ef1ng agent th\u00e0nh c\u00f4ng v\u1edbi LangGraph!<\/p>\n\n\n\n<h3 id=\"K\u1ebft_lu\u1eadn\"><a id=\"post-121483-_dnf53rz2s5qu\"><\/a><strong>K\u1ebft lu\u1eadn<\/strong><\/h3>\n\n\n\n<p>B\u1eb1ng c\u00e1ch trang b\u1ecb kh\u1ea3 n\u0103ng duy tr\u00ec tr\u1ea1ng th\u00e1i v\u00e0 c\u01a1 ch\u1ebf v\u00f2ng l\u1eb7p linh ho\u1ea1t, LangGraph trao cho nh\u00e0 ph\u00e1t tri\u1ec3n quy\u1ec1n ki\u1ec3m so\u00e1t t\u1ed1i \u0111a \u0111\u1ec3 ki\u1ebfn t\u1ea1o nh\u1eefng AI Agent b\u1ec1n b\u1ec9, \u0111\u1ee7 s\u1ee9c gi\u1ea3i quy\u1ebft c\u00e1c b\u00e0i to\u00e1n nghi\u1ec7p v\u1ee5 ph\u1ee9c t\u1ea1p trong th\u1ef1c t\u1ebf.<\/p>\n\n\n\n<p>S\u1eafp t\u1edbi s\u1ebd l\u00e0 k\u1ef7 nguy\u00ean c\u1ee7a c\u00e1c \u1ee9ng d\u1ee5ng \u0111a t\u00e1c t\u1eed (Multi-Agent). Vi\u1ec7c b\u1eaft \u0111\u1ea7u nghi\u00ean c\u1ee9u v\u00e0 t\u00edch h\u1ee3p LangGraph ngay t\u1eeb h\u00f4m nay s\u1ebd l\u00e0 b\u01b0\u1edbc chu\u1ea9n b\u1ecb chi\u1ebfn l\u01b0\u1ee3c, gi\u00fap doanh nghi\u1ec7p v\u00e0 \u0111\u1ed9i ng\u0169 k\u1ef9 thu\u1eadt \u0111i \u0111\u1ea7u trong l\u00e0n s\u00f3ng \u0111\u1ed5i m\u1edbi c\u00f4ng ngh\u1ec7 n\u00e0y.<\/p>\n\n\n\n<h2 id=\"Nh\u1eefng_c\u00e2u_h\u1ecfi_th\u01b0\u1eddng_g\u1eb7p\"><a id=\"post-121483-_qwxmpvtw63xg\"><\/a>Nh\u1eefng c\u00e2u h\u1ecfi th\u01b0\u1eddng g\u1eb7p<\/h2>\n\n\n\t\t<section\t\thelp class=\"sc_fs_faq sc_card    \"\n\t\t\t\t>\n\t\t\t\t<h2 id=\"LangGraph_c\u00f3_thay_th\u1ebf_ho\u00e0n_to\u00e0n_LangChain_kh\u00f4ng?\">LangGraph c\u00f3 thay th\u1ebf ho\u00e0n to\u00e0n LangChain kh\u00f4ng?<\/h2>\t\t\t\t<div>\n\t\t\t\t\t\t<div class=\"sc_fs_faq__content\">\n\t\t\t\t\n\n<p>Kh\u00f4ng. LangGraph \u0111\u01b0\u1ee3c x\u00e2y d\u1ef1ng d\u1ef1a tr\u00ean n\u1ec1n t\u1ea3ng c\u1ee7a LangChain. Th\u01b0 vi\u1ec7n n\u00e0y s\u1eed d\u1ee5ng c\u00e1c th\u00e0nh ph\u1ea7n c\u01a1 b\u1ea3n c\u1ee7a LangChain nh\u01b0ng thay th\u1ebf c\u01a1 ch\u1ebf \u0111i\u1ec1u ph\u1ed1i c\u0169 (AgentExecutor) b\u1eb1ng ki\u1ebfn tr\u00fac \u0111\u1ed3 th\u1ecb linh ho\u1ea1t h\u01a1n. Ng\u01b0\u1eddi d\u00f9ng v\u1eabn c\u1ea7n ki\u1ebfn th\u1ee9c v\u1ec1 LangChain \u0111\u1ec3 s\u1eed d\u1ee5ng LangGraph hi\u1ec7u qu\u1ea3.<\/p>\n\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section\t\thelp class=\"sc_fs_faq sc_card    \"\n\t\t\t\t>\n\t\t\t\t<h2 id=\"Ng\u01b0\u1eddi_m\u1edbi_b\u1eaft_\u0111\u1ea7u_h\u1ecdc_AI_c\u00f3_n\u00ean_d\u00f9ng_LangGraph_ngay_kh\u00f4ng?\">Ng\u01b0\u1eddi m\u1edbi b\u1eaft \u0111\u1ea7u h\u1ecdc AI c\u00f3 n\u00ean d\u00f9ng LangGraph ngay kh\u00f4ng?<\/h2>\t\t\t\t<div>\n\t\t\t\t\t\t<div class=\"sc_fs_faq__content\">\n\t\t\t\t\n\n<p>N\u1ebfu ch\u01b0a n\u1eafm v\u1eefng c\u00e1c kh\u00e1i ni\u1ec7m c\u01a1 b\u1ea3n v\u1ec1 LLM v\u00e0 lu\u1ed3ng x\u1eed l\u00fd chu\u1ed7i (Chain), ng\u01b0\u1eddi h\u1ecdc n\u00ean b\u1eaft \u0111\u1ea7u v\u1edbi LangChain thu\u1ea7n t\u00fay tr\u01b0\u1edbc. LangGraph ph\u00f9 h\u1ee3p h\u01a1n v\u1edbi c\u00e1c l\u1eadp tr\u00ecnh vi\u00ean \u0111\u00e3 c\u00f3 kinh nghi\u1ec7m v\u00e0 \u0111ang mu\u1ed1n x\u00e2y d\u1ef1ng c\u00e1c h\u1ec7 th\u1ed1ng ph\u1ee9c t\u1ea1p, c\u1ea7n qu\u1ea3n l\u00fd tr\u1ea1ng th\u00e1i v\u00e0 v\u00f2ng l\u1eb7p.<\/p>\n\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section\t\thelp class=\"sc_fs_faq sc_card    \"\n\t\t\t\t>\n\t\t\t\t<h2 id=\"LangGraph_c\u00f3_mi\u1ec5n_ph\u00ed_kh\u00f4ng?\">LangGraph c\u00f3 mi\u1ec5n ph\u00ed kh\u00f4ng?<\/h2>\t\t\t\t<div>\n\t\t\t\t\t\t<div class=\"sc_fs_faq__content\">\n\t\t\t\t\n\n<p>C\u00f3. LangGraph l\u00e0 m\u1ed9t th\u01b0 vi\u1ec7n m\u00e3 ngu\u1ed3n m\u1edf (Open Source) \u0111\u01b0\u1ee3c ph\u00e1t h\u00e0nh theo gi\u1ea5y ph\u00e9p MIT. Doanh nghi\u1ec7p v\u00e0 c\u00e1 nh\u00e2n c\u00f3 th\u1ec3 t\u1ea3i v\u1ec1 v\u00e0 s\u1eed d\u1ee5ng mi\u1ec5n ph\u00ed. Tuy nhi\u00ean, chi ph\u00ed v\u1eadn h\u00e0nh s\u1ebd ph\u00e1t sinh t\u1eeb vi\u1ec7c g\u1ecdi API c\u1ee7a c\u00e1c m\u00f4 h\u00ecnh ng\u00f4n ng\u1eef (nh\u01b0 <a href=\"https:\/\/tino.vn\/blog\/model-cua-openai\/\" target=\"_blank\" data-type=\"post\" data-id=\"120487\" rel=\"noreferrer noopener\">OpenAI<\/a>,<a href=\"https:\/\/tino.vn\/blog\/model-cua-claude\/\" target=\"_blank\" data-type=\"post\" data-id=\"120596\" rel=\"noreferrer noopener\"> Anthropic<\/a>) \u0111\u01b0\u1ee3c t\u00edch h\u1ee3p b\u00ean trong.<\/p>\n\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section\t\thelp class=\"sc_fs_faq sc_card    \"\n\t\t\t\t>\n\t\t\t\t<h2 id=\"LangGraph_h\u1ed7_tr\u1ee3_nh\u1eefng_ng\u00f4n_ng\u1eef_l\u1eadp_tr\u00ecnh_n\u00e0o?\">LangGraph h\u1ed7 tr\u1ee3 nh\u1eefng ng\u00f4n ng\u1eef l\u1eadp tr\u00ecnh n\u00e0o?<\/h2>\t\t\t\t<div>\n\t\t\t\t\t\t<div class=\"sc_fs_faq__content\">\n\t\t\t\t\n\n<p>Hi\u1ec7n t\u1ea1i, LangGraph h\u1ed7 tr\u1ee3 ch\u00ednh th\u1ee9c hai ng\u00f4n ng\u1eef ph\u1ed5 bi\u1ebfn nh\u1ea5t trong c\u1ed9ng \u0111\u1ed3ng AI l\u00e0 Python v\u00e0<a href=\"https:\/\/tino.vn\/blog\/javascript-la-gi\/\" target=\"_blank\" data-type=\"post\" data-id=\"47711\" rel=\"noreferrer noopener\"> JavaScript<\/a>\/TypeScript (th\u00f4ng qua LangGraph.js). \u0110i\u1ec1u n\u00e0y gi\u00fap c\u00e1c l\u1eadp tr\u00ecnh vi\u00ean Web d\u1ec5 d\u00e0ng t\u00edch h\u1ee3p AI Agent v\u00e0o \u1ee9ng d\u1ee5ng Front-end ho\u1eb7c Back-end Node.js.<\/p>\n\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section\t\thelp class=\"sc_fs_faq sc_card    \"\n\t\t\t\t>\n\t\t\t\t<h2 id=\"S\u1ef1_kh\u00e1c_bi\u1ec7t_l\u1edbn_nh\u1ea5t_gi\u1eefa_LangGraph_v\u00e0_AutoGPT_l\u00e0_g\u00ec?\">S\u1ef1 kh\u00e1c bi\u1ec7t l\u1edbn nh\u1ea5t gi\u1eefa LangGraph v\u00e0 AutoGPT l\u00e0 g\u00ec?<\/h2>\t\t\t\t<div>\n\t\t\t\t\t\t<div class=\"sc_fs_faq__content\">\n\t\t\t\t\n\n<p>AutoGPT l\u00e0 m\u1ed9t \u1ee9ng d\u1ee5ng AI Agent ho\u00e0n ch\u1ec9nh \u0111\u01b0\u1ee3c x\u00e2y d\u1ef1ng s\u1eb5n \u0111\u1ec3 th\u1ef1c hi\u1ec7n nhi\u1ec7m v\u1ee5. Trong khi \u0111\u00f3, LangGraph l\u00e0 m\u1ed9t khung l\u00e0m vi\u1ec7c (framework) cung c\u1ea5p c\u00f4ng c\u1ee5 \u0111\u1ec3 l\u1eadp tr\u00ecnh vi\u00ean <em>t\u1ef1 x\u00e2y d\u1ef1ng<\/em> c\u00e1c Agent nh\u01b0 AutoGPT nh\u01b0ng \u0111\u01b0\u1ee3c t\u00f9y bi\u1ebfn theo nhu c\u1ea7u nghi\u1ec7p v\u1ee5 ri\u00eang bi\u1ec7t.<\/p>\n\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<\/section>\n\t\t\n<script type=\"application\/ld+json\">\n\t{\n\t\t\"@context\": \"https:\/\/schema.org\",\n\t\t\"@type\": \"FAQPage\",\n\t\t\"mainEntity\": [\n\t\t\t\t\t{\n\t\t\t\t\"@type\": \"Question\",\n\t\t\t\t\"name\": \"LangGraph c\u00f3 thay th\u1ebf ho\u00e0n to\u00e0n LangChain kh\u00f4ng?\",\n\t\t\t\t\"acceptedAnswer\": {\n\t\t\t\t\t\"@type\": \"Answer\",\n\t\t\t\t\t\"text\": \"<p>Kh\u00f4ng. LangGraph \u0111\u01b0\u1ee3c x\u00e2y d\u1ef1ng d\u1ef1a tr\u00ean n\u1ec1n t\u1ea3ng c\u1ee7a LangChain. Th\u01b0 vi\u1ec7n n\u00e0y s\u1eed d\u1ee5ng c\u00e1c th\u00e0nh ph\u1ea7n c\u01a1 b\u1ea3n c\u1ee7a LangChain nh\u01b0ng thay th\u1ebf c\u01a1 ch\u1ebf \u0111i\u1ec1u ph\u1ed1i c\u0169 (AgentExecutor) b\u1eb1ng ki\u1ebfn tr\u00fac \u0111\u1ed3 th\u1ecb linh ho\u1ea1t h\u01a1n. Ng\u01b0\u1eddi d\u00f9ng v\u1eabn c\u1ea7n ki\u1ebfn th\u1ee9c v\u1ec1 LangChain \u0111\u1ec3 s\u1eed d\u1ee5ng LangGraph hi\u1ec7u qu\u1ea3.<\/p>\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t}\n\t\t\t,\t\t\t\t{\n\t\t\t\t\"@type\": \"Question\",\n\t\t\t\t\"name\": \"Ng\u01b0\u1eddi m\u1edbi b\u1eaft \u0111\u1ea7u h\u1ecdc AI c\u00f3 n\u00ean d\u00f9ng LangGraph ngay kh\u00f4ng?\",\n\t\t\t\t\"acceptedAnswer\": {\n\t\t\t\t\t\"@type\": \"Answer\",\n\t\t\t\t\t\"text\": \"<p>N\u1ebfu ch\u01b0a n\u1eafm v\u1eefng c\u00e1c kh\u00e1i ni\u1ec7m c\u01a1 b\u1ea3n v\u1ec1 LLM v\u00e0 lu\u1ed3ng x\u1eed l\u00fd chu\u1ed7i (Chain), ng\u01b0\u1eddi h\u1ecdc n\u00ean b\u1eaft \u0111\u1ea7u v\u1edbi LangChain thu\u1ea7n t\u00fay tr\u01b0\u1edbc. LangGraph ph\u00f9 h\u1ee3p h\u01a1n v\u1edbi c\u00e1c l\u1eadp tr\u00ecnh vi\u00ean \u0111\u00e3 c\u00f3 kinh nghi\u1ec7m v\u00e0 \u0111ang mu\u1ed1n x\u00e2y d\u1ef1ng c\u00e1c h\u1ec7 th\u1ed1ng ph\u1ee9c t\u1ea1p, c\u1ea7n qu\u1ea3n l\u00fd tr\u1ea1ng th\u00e1i v\u00e0 v\u00f2ng l\u1eb7p.<\/p>\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t}\n\t\t\t,\t\t\t\t{\n\t\t\t\t\"@type\": \"Question\",\n\t\t\t\t\"name\": \"LangGraph c\u00f3 mi\u1ec5n ph\u00ed kh\u00f4ng?\",\n\t\t\t\t\"acceptedAnswer\": {\n\t\t\t\t\t\"@type\": \"Answer\",\n\t\t\t\t\t\"text\": \"<p>C\u00f3. LangGraph l\u00e0 m\u1ed9t th\u01b0 vi\u1ec7n m\u00e3 ngu\u1ed3n m\u1edf (Open Source) \u0111\u01b0\u1ee3c ph\u00e1t h\u00e0nh theo gi\u1ea5y ph\u00e9p MIT. Doanh nghi\u1ec7p v\u00e0 c\u00e1 nh\u00e2n c\u00f3 th\u1ec3 t\u1ea3i v\u1ec1 v\u00e0 s\u1eed d\u1ee5ng mi\u1ec5n ph\u00ed. Tuy nhi\u00ean, chi ph\u00ed v\u1eadn h\u00e0nh s\u1ebd ph\u00e1t sinh t\u1eeb vi\u1ec7c g\u1ecdi API c\u1ee7a c\u00e1c m\u00f4 h\u00ecnh ng\u00f4n ng\u1eef (nh\u01b0 <a>OpenAI<\/a>,<a> Anthropic<\/a>) \u0111\u01b0\u1ee3c t\u00edch h\u1ee3p b\u00ean trong.<\/p>\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t}\n\t\t\t,\t\t\t\t{\n\t\t\t\t\"@type\": \"Question\",\n\t\t\t\t\"name\": \"LangGraph h\u1ed7 tr\u1ee3 nh\u1eefng ng\u00f4n ng\u1eef l\u1eadp tr\u00ecnh n\u00e0o?\",\n\t\t\t\t\"acceptedAnswer\": {\n\t\t\t\t\t\"@type\": \"Answer\",\n\t\t\t\t\t\"text\": \"<p>Hi\u1ec7n t\u1ea1i, LangGraph h\u1ed7 tr\u1ee3 ch\u00ednh th\u1ee9c hai ng\u00f4n ng\u1eef ph\u1ed5 bi\u1ebfn nh\u1ea5t trong c\u1ed9ng \u0111\u1ed3ng AI l\u00e0 Python v\u00e0<a> JavaScript<\/a>\/TypeScript (th\u00f4ng qua LangGraph.js). \u0110i\u1ec1u n\u00e0y gi\u00fap c\u00e1c l\u1eadp tr\u00ecnh vi\u00ean Web d\u1ec5 d\u00e0ng t\u00edch h\u1ee3p AI Agent v\u00e0o \u1ee9ng d\u1ee5ng Front-end ho\u1eb7c Back-end Node.js.<\/p>\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t}\n\t\t\t,\t\t\t\t{\n\t\t\t\t\"@type\": \"Question\",\n\t\t\t\t\"name\": \"S\u1ef1 kh\u00e1c bi\u1ec7t l\u1edbn nh\u1ea5t gi\u1eefa LangGraph v\u00e0 AutoGPT l\u00e0 g\u00ec?\",\n\t\t\t\t\"acceptedAnswer\": {\n\t\t\t\t\t\"@type\": \"Answer\",\n\t\t\t\t\t\"text\": \"<p>AutoGPT l\u00e0 m\u1ed9t \u1ee9ng d\u1ee5ng AI Agent ho\u00e0n ch\u1ec9nh \u0111\u01b0\u1ee3c x\u00e2y d\u1ef1ng s\u1eb5n \u0111\u1ec3 th\u1ef1c hi\u1ec7n nhi\u1ec7m v\u1ee5. Trong khi \u0111\u00f3, LangGraph l\u00e0 m\u1ed9t khung l\u00e0m vi\u1ec7c (framework) cung c\u1ea5p c\u00f4ng c\u1ee5 \u0111\u1ec3 l\u1eadp tr\u00ecnh vi\u00ean <em>t\u1ef1 x\u00e2y d\u1ef1ng<\/em> c\u00e1c Agent nh\u01b0 AutoGPT nh\u01b0ng \u0111\u01b0\u1ee3c t\u00f9y bi\u1ebfn theo nhu c\u1ea7u nghi\u1ec7p v\u1ee5 ri\u00eang bi\u1ec7t.<\/p>\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t}\n\t\t\t\t\t\t]\n\t}\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>Trong b\u1ed1i c\u1ea3nh c\u00f4ng ngh\u1ec7 AI t\u1ea1o sinh ph\u00e1t tri\u1ec3n v\u0169 b\u00e3o, vi\u1ec7c x\u00e2y d\u1ef1ng c\u00e1c \u1ee9ng d\u1ee5ng DAG \u0111ang d\u1ea7n b\u1ed9c l\u1ed9 nhi\u1ec1u h\u1ea1n ch\u1ebf, \u0111\u1eb7c bi\u1ec7t khi \u0111\u1ed1i m\u1eb7t v\u1edbi c\u00e1c t\u00e1c v\u1ee5 ph\u1ee9c t\u1ea1p \u0111\u00f2i h\u1ecfi kh\u1ea3 n\u0103ng ghi nh\u1edb v\u00e0 ra quy\u1ebft \u0111\u1ecbnh li\u00ean t\u1ee5c. LangChain \u0111\u00e3 \u0111\u1eb7t n\u1ec1n m\u00f3ng v\u1eefng [&hellip;]<\/p>\n","protected":false},"author":23,"featured_media":121491,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5404],"tags":[6938],"class_list":["post-121483","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-webmasters","tag-webmasters"],"_links":{"self":[{"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/posts\/121483","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/users\/23"}],"replies":[{"embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/comments?post=121483"}],"version-history":[{"count":3,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/posts\/121483\/revisions"}],"predecessor-version":[{"id":121494,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/posts\/121483\/revisions\/121494"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/media\/121491"}],"wp:attachment":[{"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/media?parent=121483"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/categories?post=121483"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/tags?post=121483"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}