{"data":[{"id":108274,"title":"AWS EMR (C\u1eadp nh\u1eadt 2026)","slug":"1XVOWlkXVMz","url":"https:\/\/viblo.asia\/p\/aws-emr-cap-nhat-2026-1XVOWlkXVMz","user_id":164261,"moderation":null,"transliterated":"aws-emr-cap-nhat-2026","contents_short":"1. EMR l\u00e0 g\u00ec?\n\nTheo t\u00e0i li\u1ec7u ch\u00ednh th\u1ee9c, Amazon EMR l\u00e0 m\u1ed9t d\u1ecbch v\u1ee5 web gi\u00fap x\u1eed l\u00fd l\u01b0\u1ee3ng d\u1eef li\u1ec7u kh\u1ed5ng l\u1ed3 m\u1ed9t c\u00e1ch hi\u1ec7u qu\u1ea3, s\u1eed d\u1ee5ng Apache Hadoop k\u1ebft h\u1ee3p v\u1edbi c\u00e1c d\u1ecbch v\u1ee5 c\u1ee7a AWS.\n\n2. \u0110\u1ecbnh ngh\u0129a l\u00e0 th\u1ebf nh\u01b0ng n\u00f3 gi\u00fap \u0111\u01b0\u1ee3c g\u00ec?\n\nV\u00ed d\u1ee5 b\u1ea1n l\u00e0 m\u1ed9t data engineer cho m\u1ed9t trang th\u01b0\u01a1ng m\u1ea1i \u0111i\u1ec7n t\u1eed.\n\nM\u1ed7i ng\u00e0y website sinh ra kho\u1ea3ng 2 TB log (l\u01b0\u1ee3t xem s\u1ea3n ph\u1ea9m, click, th\u00eam v\u00e0o gi\u1ecf, thanh to\u00e1n\u2026) v\u00e0 t\u1ea5t c\u1ea3 \u0111...","contents":"# 1. EMR l\u00e0 g\u00ec?\n\nTheo t\u00e0i li\u1ec7u ch\u00ednh th\u1ee9c, Amazon EMR l\u00e0 m\u1ed9t d\u1ecbch v\u1ee5 web gi\u00fap x\u1eed l\u00fd l\u01b0\u1ee3ng d\u1eef li\u1ec7u kh\u1ed5ng l\u1ed3 m\u1ed9t c\u00e1ch hi\u1ec7u qu\u1ea3, s\u1eed d\u1ee5ng Apache Hadoop k\u1ebft h\u1ee3p v\u1edbi c\u00e1c d\u1ecbch v\u1ee5 c\u1ee7a AWS.\n\n![image.png](https:\/\/images.viblo.asia\/34528d11-6953-4f30-9a9f-bae7d77fa480.png)\n\n# 2. \u0110\u1ecbnh ngh\u0129a l\u00e0 th\u1ebf nh\u01b0ng n\u00f3 gi\u00fap \u0111\u01b0\u1ee3c g\u00ec?\n\nV\u00ed d\u1ee5 b\u1ea1n l\u00e0 m\u1ed9t data engineer cho m\u1ed9t trang th\u01b0\u01a1ng m\u1ea1i \u0111i\u1ec7n t\u1eed. \n\nM\u1ed7i ng\u00e0y website sinh ra kho\u1ea3ng 2 TB log (l\u01b0\u1ee3t xem s\u1ea3n ph\u1ea9m, click, th\u00eam v\u00e0o gi\u1ecf, thanh to\u00e1n\u2026) v\u00e0 t\u1ea5t c\u1ea3 \u0111\u01b0\u1ee3c \u0111\u1ed5 v\u00e0o Amazon S3.\n\nHi\u1ec7n t\u1ea1i b\u1ea1n ch\u1ea1y m\u1ed9t script Python tr\u00ean 1 server \u0111\u1ec3 \u0111\u1ecdc log v\u00e0 t\u1ed5ng h\u1ee3p b\u00e1o c\u00e1o. Nh\u01b0ng cu\u1ed1i c\u00f9ng k\u1ebft qu\u1ea3 l\u00e0:\n\n* Script ch\u1ea1y g\u1ea7n 20 ti\u1ebfng, s\u00e1ng h\u00f4m sau v\u1eabn ch\u01b0a xong.\n* Th\u1ec9nh tho\u1ea3ng b\u1ecb tr\u00e0n RAM v\u00e0 ch\u1ebft gi\u1eefa ch\u1eebng, ph\u1ea3i ch\u1ea1y l\u1ea1i t\u1eeb \u0111\u1ea7u.\n* D\u1eef li\u1ec7u t\u0103ng m\u1ed7i th\u00e1ng, mua server to h\u01a1n th\u00ec \u0111\u1eaft m\u00e0 s\u1edbm mu\u1ed9n c\u0169ng kh\u00f4ng \u0111\u1ee7.\n\n![image.png](https:\/\/images.viblo.asia\/a3fd9d20-4208-4cf0-9c17-5bc409dae2cd.png)\n\n---\n\nL\u00fac n\u00e0y n\u1ebfu c\u00f3 \u00f4ng Th\u1ea7n \u0110\u00e8n th\u00ec b\u1ea1n ch\u1ec9 mong c\u00f3 3 \u0111i\u1ec1u \u01b0\u1edbc th\u1ebf n\u00e0y th\u00f4i:\n* B\u00e1o c\u00e1o c\u00f3 s\u1eb5n tr\u01b0\u1edbc 7h s\u00e1ng.\n* Th\u1eddi gian x\u1eed l\u00fd gi\u1ea3m t\u1eeb ~20 ti\u1ebfng xu\u1ed1ng c\u00f2n d\u01b0\u1edbi 1 ti\u1ebfng.\n* Chi ph\u00ed ch\u1ec9 ph\u00e1t sinh khi th\u1eadt s\u1ef1 ch\u1ea1y, kh\u00f4ng nu\u00f4i server c\u1ea3 ng\u00e0y.\n\n---\n\n\u00d4ng Th\u1ea7n \u0110\u00e8n c\u00f3 role Tech lech hi\u1ec7n l\u00ean v\u00e0 n\u00f3i:\n\n> Thay v\u00ec 1 m\u00e1y l\u00e0m 2 TB, sao mi kh\u00f4ng chia nh\u1ecf d\u1eef li\u1ec7u cho 20 m\u00e1y, m\u1ed7i m\u00e1y l\u00e0m kho\u1ea3ng 100 GB c\u00f9ng l\u00fac, r\u1ed3i g\u1ed9p k\u1ebft qu\u1ea3 l\u1ea1i. \n\n\u1ede server Tr\u00e1i \u0110\u1ea5t n\u00e0y, c\u00e1c framework m\u00e3 ngu\u1ed3n m\u1edf sau \u0111\u00e2y sinh ra \u0111\u1ec3 l\u00e0m vi\u1ec7c \u0111\u00f3 r\u1ed3i n\u00e8:\n\n| Framework | Vai tr\u00f2 | \u00c1p d\u1ee5ng v\u00e0o v\u00ed d\u1ee5 |\n|---|---|---|\n| **Apache Hadoop** | \u00d4ng t\u1ed5 c\u1ee7a x\u1eed l\u00fd ph\u00e2n t\u00e1n. G\u1ed3m HDFS (l\u01b0u tr\u1eef d\u1eef li\u1ec7u tr\u00ean nhi\u1ec1u m\u00e1y) v\u00e0 MapReduce (chia vi\u1ec7c ra nhi\u1ec1u m\u00e1y r\u1ed3i g\u1ed9p k\u1ebft qu\u1ea3). X\u1eed l\u00fd theo l\u00f4 (batch), \u0111\u1ecdc\/ghi qua \u1ed5 \u0111\u0129a n\u00ean kh\u00e1 ch\u1eadm. | C\u00f3 th\u1ec3 d\u00f9ng \u0111\u1ec3 t\u1ed5ng h\u1ee3p log h\u1eb1ng \u0111\u00eam, nh\u01b0ng kh\u00f4ng ph\u1ea3i l\u1ef1a ch\u1ecdn nhanh nh\u1ea5t. |\n| **Apache Spark** | Th\u1ebf h\u1ec7 sau c\u1ee7a Hadoop MapReduce, x\u1eed l\u00fd ch\u1ee7 y\u1ebfu **tr\u00ean RAM** n\u00ean nhanh h\u01a1n nhi\u1ec1u. H\u1ed7 tr\u1ee3 batch, SQL v\u00e0 machine learning. | \u2b50 D\u00f9ng \u0111\u1ec3 ch\u1ea1y job t\u1ed5ng h\u1ee3p 2 TB log m\u1ed7i \u0111\u00eam. |\n| **Trino** | C\u00f4ng c\u1ee5 truy v\u1ea5n **SQL t\u01b0\u01a1ng t\u00e1c** tr\u00ean d\u1eef li\u1ec7u l\u1edbn, tr\u1ea3 k\u1ebft qu\u1ea3 trong v\u00e0i gi\u00e2y \u0111\u1ebfn v\u00e0i ph\u00fat. | \u2b50 Cho team Marketing t\u1ef1 vi\u1ebft SQL tra c\u1ee9u d\u1eef li\u1ec7u tr\u00ean S3. |\n| **Apache Flink** | X\u1eed l\u00fd **d\u1eef li\u1ec7u d\u1ea1ng lu\u1ed3ng (streaming)** theo th\u1eddi gian th\u1ef1c, t\u1eebng s\u1ef1 ki\u1ec7n ngay khi n\u00f3 \u0111\u1ebfn. | \u2b50 Ph\u00e1t hi\u1ec7n giao d\u1ecbch \u0111\u00e1ng ng\u1edd ngay l\u1eadp t\u1ee9c. |\n\n\nSau khi nghe Th\u1ea7n \u0110\u00e8n n\u00f3i, b\u1ea1n o\u00e0 l\u00ean nh\u01b0 mu\u1ed1n kh\u00f3c.\n\nNh\u01b0 v\u1eady v\u1ec1 m\u1eb7t c\u00f4ng ngh\u1ec7, b\u1ea1n ch\u1ec9 c\u1ea7n bi\u1ebft Spark, Trino v\u00e0 Flink l\u00e0 m\u1ecdi th\u1ee9 s\u1ebd \u0111\u01b0\u1ee3c gi\u1ea3i quy\u1ebft.\n\nTh\u1ea7n \u0110\u00e8n l\u1ea1i c\u01b0\u1eddi kh\u1ea9y r\u1ed3i n\u00f3i:\n\n> Mi \u0111\u1ecbnh t\u1ef1 d\u1ef1ng c\u00e1c c\u00f4ng c\u1ee5 n\u00e0y th\u1ebf n\u00e0o?\n\nB\u1ea1n g\u1ea7n nh\u01b0 ch\u1ebft l\u1eb7ng nh\u01b0 chi\u1ebfc xe m\u00e1y ch\u1ebft m\u00e1y sau m\u1ed9t tr\u1eadn m\u01b0a to \u1edf S\u00e0i G\u00f2n.\n\nMu\u1ed1n ch\u1ea1y Spark tr\u00ean 20 m\u00e1y, b\u1ea1n bu\u1ed9c ph\u1ea3i t\u1ef1 l\u00e0m h\u1ebft:\n\n* Thu\u00ea ho\u1eb7c mua 20 server, c\u1ea5u h\u00ecnh m\u1ea1ng gi\u1eefa ch\u00fang.\n* C\u00e0i Java, Hadoop, Spark, Trino, Flink v\u00e0 \u0111\u1ea3m b\u1ea3o c\u00e1c phi\u00ean b\u1ea3n t\u01b0\u01a1ng th\u00edch v\u1edbi nhau (\u0111\u00e2y l\u00e0 ph\u1ea7n r\u1ea5t m\u1ea5t th\u1eddi gian).\n* C\u1ea5u h\u00ecnh master node, worker node, tuning b\u1ed9 nh\u1edb.\n* Vi\u1ebft c\u01a1 ch\u1ebf cho ph\u00e9p Spark \u0111\u1ecdc d\u1eef li\u1ec7u t\u1eeb S3.\n* Theo d\u00f5i khi m\u1ed9t m\u00e1y ch\u1ebft, thay m\u00e1y, c\u1eadp nh\u1eadt b\u1ea3n v\u00e1 b\u1ea3o m\u1eadt.\n* 20 m\u00e1y ch\u1ea1y 24\/7 trong khi job ch\u1ec9 ch\u1ea1y 1 ti\u1ebfng m\u1ed7i \u0111\u00eam, n\u00ean l\u00e3ng ph\u00ed 23 ti\u1ebfng ti\u1ec1n server.\n\nK\u1ebft qu\u1ea3 l\u00e0 b\u1ea1n m\u1ea5t v\u00e0i tu\u1ea7n ch\u1ec9 \u0111\u1ec3 d\u1ef1ng h\u1ea1 t\u1ea7ng, ch\u01b0a vi\u1ebft \u0111\u01b0\u1ee3c d\u00f2ng code x\u1eed l\u00fd d\u1eef li\u1ec7u n\u00e0o.\n\n---\n\nT\u1ef1 nhi\u00ean c\u00f3 m\u1ed9t \u00f4ng B\u1ee5t v\u1edbi role expert AWS v\u1edbi 20 n\u0103m kinh nghi\u1ec7m hi\u1ec7n l\u00ean v\u00e0 n\u00f3i:\n\n> Con \u0111\u1eebng lo, \u0111\u1ec3 gi\u1ea3i quy\u1ebft vi\u1ec7c con mu\u1ed1n \u0111\u00e3 c\u00f3 Amazon EMR r\u1ed3i\n\nEMR \u0111\u00f3ng vai tr\u00f2 ng\u01b0\u1eddi d\u1ef1ng v\u00e0 v\u1eadn h\u00e0nh h\u1ea1 t\u1ea7ng thay b\u1ea1n. \n\nB\u1ea1n ch\u1ec9 c\u1ea7n t\u1eadp trung vi\u1ebft code Spark\/SQL th\u00f4i.\n\n\u01afu \u0111i\u1ec3m khi b\u1ea1n d\u00f9ng AWS EMR:\n\n| # | Ti\u1ec7n \u00edch | EMR l\u00e0m g\u00ec cho b\u1ea1n | \u00c1p d\u1ee5ng trong v\u00ed d\u1ee5 |\n|---|---|---|---|\n| \u2460 | **T\u1ea1o cluster trong v\u00e0i ph\u00fat** | T\u1ef1 c\u00e0i \u0111\u1eb7t, c\u1ea5u h\u00ecnh v\u00e0 \u0111\u1ea3m b\u1ea3o c\u00e1c phi\u00ean b\u1ea3n ph\u1ea7n m\u1ec1m t\u01b0\u01a1ng th\u00edch v\u1edbi nhau | Tr\u00ean AWS Console, ch\u1ecdn \"Spark + Trino\", ch\u1ecdn s\u1ed1 l\u01b0\u1ee3ng v\u00e0 lo\u1ea1i m\u00e1y, r\u1ed3i b\u1ea5m **Create** |\n| \u2461 | **\u0110\u1ecdc d\u1eef li\u1ec7u tr\u1ef1c ti\u1ebfp t\u1eeb S3** | Th\u00f4ng qua **EMRFS**, EMR d\u00f9ng Amazon S3 l\u00e0m n\u01a1i l\u01b0u tr\u1eef cho Hadoop | Kh\u00f4ng c\u1ea7n copy 2 TB sang ch\u1ed7 kh\u00e1c, code Spark ch\u1ec9 c\u1ea7n tr\u1ecf v\u00e0o `s3:\/\/...` |\n| \u2462 | **T\u1ef1 \u0111\u1ed9ng t\u0103ng\/gi\u1ea3m s\u1ed1 m\u00e1y** | T\u1ef1 \u0111i\u1ec1u ch\u1ec9nh s\u1ed1 node theo kh\u1ed1i l\u01b0\u1ee3ng c\u00f4ng vi\u1ec7c | Flash Sale, log t\u0103ng g\u1ea5p 3 l\u1ea7n th\u00ec EMR t\u1ef1 th\u00eam m\u00e1y. Ng\u00e0y th\u01b0\u1eddng th\u00ec gi\u1ea3m l\u1ea1i |\n| \u2463 | **Ch\u1ec9 tr\u1ea3 ti\u1ec1n khi ch\u1ea1y** | B\u1eadt cluster khi c\u1ea7n, t\u1ef1 t\u1eaft khi xong. Ho\u1eb7c d\u00f9ng **EMR Serverless**: ch\u1ec9 submit job, AWS lo ph\u1ea7n c\u00f2n l\u1ea1i | L\u00ean l\u1ecbch m\u1ed7i \u0111\u00eam l\u00fac 2h: b\u1eadt cluster \u2192 ch\u1ea1y job Spark \u2192 ghi k\u1ebft qu\u1ea3 ra S3 \u2192 t\u1ef1 t\u1eaft cluster |\n| \u2464 | **M\u1edf r\u1ed9ng d\u1ec5 d\u00e0ng** | Th\u00eam framework m\u1edbi m\u00e0 kh\u00f4ng ph\u1ea3i d\u1ef1ng l\u1ea1i h\u1ea1 t\u1ea7ng t\u1eeb \u0111\u1ea7u | **Trino**: team Marketing t\u1ef1 vi\u1ebft SQL tr\u00ean d\u1eef li\u1ec7u \u1edf S3<br>**Flink**: ph\u00e1t hi\u1ec7n gian l\u1eadn real-time |\n\n# 2. C\u00e1c lo\u1ea1i EMR hi\u1ec7n nay\n\n| Lo\u1ea1i | M\u00f4 t\u1ea3 |\n|---|---|\n| **EMR on EC2** | Cho ph\u00e9p ki\u1ec3m so\u00e1t c\u1ea5u h\u00ecnh cluster v\u00e0 h\u1ed7 tr\u1ee3 cluster ch\u1ea1y l\u00e2u d\u00e0i, ph\u00f9 h\u1ee3p v\u1edbi t\u00e1c v\u1ee5 x\u1eed l\u00fd d\u1eef li\u1ec7u li\u00ean t\u1ee5c c\u1ea7n c\u1ea5u h\u00ecnh ph\u1ea7n c\u1ee9ng c\u1ee5 th\u1ec3. |\n| **EMR on EKS** | Ch\u1ea1y workload big data tr\u00ean AWS, trong khi EMR on EKS t\u1ef1 build, c\u1ea5u h\u00ecnh v\u00e0 qu\u1ea3n l\u00fd container cho c\u00e1c \u1ee9ng d\u1ee5ng m\u00e3 ngu\u1ed3n m\u1edf c\u1ee7a b\u1ea1n. |\n| **EMR Serverless** | Ch\u1ea1y c\u00e1c framework nh\u01b0 Apache Spark m\u00e0 kh\u00f4ng c\u1ea7n c\u1ea5u h\u00ecnh, qu\u1ea3n l\u00fd hay scale cluster ho\u1eb7c server. |\n| **EMR on AWS Outposts** | \u0110\u01b0\u1ee3c li\u1ec7t k\u00ea trong t\u00e0i li\u1ec7u ch\u00ednh th\u1ee9c nh\u01b0 m\u1ed9t h\u00ecnh th\u1ee9c tri\u1ec3n khai ri\u00eang (ch\u1ea1y EMR tr\u00ean h\u1ea1 t\u1ea7ng AWS Outposts \u0111\u1eb7t t\u1ea1i ch\u1ed7). |\n\n# 3. C\u00e1ch tri\u1ec3n khai th\u1ef1c t\u1ebf\n\n\u0110\u1ec3 tri\u1ec3n khai th\u00ec kh\u00e1 \u0111\u01a1n gi\u1ea3n, n\u00f3 ch\u1ec9 c\u1ea7n y\u00eau c\u1ea7u b\u1ea1n l\u00e0m 2 \u0111i\u1ec1u:\n* T\u1ea1o 1 EMR Cluster (C\u00e1i n\u00e0y ch\u1ec9 bao g\u1ed3m vi\u1ec7c c\u1ea5u h\u00ecnh c\u00e1c m\u00e1y node,... n\u00ean b\u1ea1n d\u00f9ng cluster n\u00e0y cho job kh\u00e1c v\u1eabn \u0111\u01b0\u1ee3c)\n* T\u1ea1o 1 job v\u00e0 submit job \u0111\u00f3 cho Cluster m\u00e0 b\u1ea1n \u0111\u00e3 t\u1ea1o (C\u00e1i n\u00e0y th\u00ec tu\u1ef3 v\u00e0o Cluster b\u1ea1n t\u1ea1o th\u00ec b\u1ea1n submit job th\u00f4i, nh\u01b0 m\u00ecnh n\u00f3i \u1edf tr\u00ean th\u00ec b\u1ea1n t\u1ea1o m\u1ed9t Cluster chung cho nhi\u1ec1u job kh\u00e1c nhau v\u1eabn oke nh\u00e9.)\n\n![image.png](https:\/\/images.viblo.asia\/4c82b0a6-592b-4d62-99ec-23d7ced9c776.png)\n\nV\u00ed d\u1ee5 t\u1ea1o Cluter:\n```aws\naws emr create-cluster \\\n--name \"Daily Report Cluster\" \\\n--release-label <emr-release> \\\n--applications Name=Spark \\\n--ec2-attributes KeyName=<myEMRKeyPairName> \\\n--instance-type m5.xlarge \\\n--instance-count 3 \\\n--use-default-roles\n--managed-scaling-policy ComputeLimits='{MinimumCapacityUnits=2,MaximumCapacityUnits=4,UnitType=Instances}'\n--auto-terminate\n```\n\nV\u00ed d\u1ee5 t\u1ea1o job v\u00e0 submit:\n```aws\naws emr add-steps \\\n--cluster-id <myClusterId> \\\n--steps Type=Spark,Name=\"Daily report\",ActionOnFailure=CONTINUE,Args=[s3:\/\/my-ecommerce-logs\/scripts\/daily_report.py,--data_source,s3:\/\/my-ecommerce-logs\/raw\/2026-10-05\/,--output_uri,s3:\/\/my-ecommerce-logs\/reports\/2026-10-05\/]\n```\n\nKi\u1ec3m tra tr\u1ea1ng th\u00e1i:\n```aws\naws emr describe-step --cluster-id <myClusterId> --step-id <s-XXXXXXXX>\n```\nTr\u1ea1ng th\u00e1i step chuy\u1ec3n t\u1eeb PENDING \u2192 RUNNING \u2192 COMPLETED.\n\n# 4. K\u1ebft h\u1ee3p EMR v\u1edbi c\u00e1c d\u1ecbch v\u1ee5 AWS kh\u00e1c\n\nTrong th\u1ef1c t\u1ebf, EMR hi\u1ebfm khi ch\u1ea1y m\u1ed9t m\u00ecnh. N\u00f3 \u0111\u00f3ng vai tr\u00f2 l\u00e0 **b\u1ed9 m\u00e1y x\u1eed l\u00fd**, c\u00f2n c\u00e1c d\u1ecbch v\u1ee5 kh\u00e1c lo ph\u1ea7n l\u01b0u tr\u1eef, qu\u1ea3n l\u00fd metadata, l\u1eadp l\u1ecbch, gi\u00e1m s\u00e1t v\u00e0 b\u1ea3o m\u1eadt.\n\n### T\u1ed5ng quan\n\n| Nh\u00f3m | D\u1ecbch v\u1ee5 | Vai tr\u00f2 khi k\u1ebft h\u1ee3p v\u1edbi EMR | \u00c1p d\u1ee5ng v\u00e0o v\u00ed d\u1ee5 log 2 TB |\n|---|---|---|---|\n| L\u01b0u tr\u1eef | **Amazon S3** | N\u01a1i ch\u1ee9a d\u1eef li\u1ec7u \u0111\u1ea7u v\u00e0o, script, k\u1ebft qu\u1ea3 v\u00e0 log | Ch\u1ee9a log th\u00f4 v\u00e0 b\u00e1o c\u00e1o |\n| L\u01b0u tr\u1eef | **Amazon DynamoDB** | \u0110\u1ecdc\/ghi d\u1eef li\u1ec7u NoSQL tr\u1ef1c ti\u1ebfp t\u1eeb EMR | (T\u00f9y ch\u1ecdn) L\u01b0u k\u1ebft qu\u1ea3 \u0111\u1ec3 \u1ee9ng d\u1ee5ng tra c\u1ee9u nhanh |\n| Metadata | **AWS Glue Data Catalog** | Kho metadata chung (b\u1ea3ng, schema, partition) | \u0110\u0103ng k\u00fd b\u1ea3ng log, b\u1ea3ng b\u00e1o c\u00e1o |\n| Truy v\u1ea5n | **Amazon Athena** | Truy v\u1ea5n SQL c\u00e1c b\u1ea3ng \u0111\u00e3 c\u00f3 trong Glue Data Catalog | Team Marketing t\u1ef1 vi\u1ebft SQL |\n| \u0110i\u1ec1u ph\u1ed1i | **AWS Step Functions** | T\u1ea1o cluster \u2192 ch\u1ea1y step \u2192 t\u1eaft cluster theo workflow | Pipeline b\u00e1o c\u00e1o h\u1eb1ng \u0111\u00eam |\n| L\u1eadp l\u1ecbch | **Amazon EventBridge Scheduler** | K\u00edch ho\u1ea1t workflow theo l\u1ecbch | Ch\u1ea1y l\u00fac 2h s\u00e1ng m\u1ed7i ng\u00e0y |\n| Gi\u00e1m s\u00e1t | **Amazon CloudWatch** | Thu th\u1eadp metric c\u1ee7a cluster, t\u1ea1o c\u1ea3nh b\u00e1o | C\u1ea3nh b\u00e1o khi job l\u1ed7i ho\u1eb7c cluster b\u1ecb b\u1ecf qu\u00ean |\n| B\u1ea3o m\u1eadt | **IAM, VPC, Lake Formation** | Ph\u00e2n quy\u1ec1n, c\u00f4 l\u1eadp m\u1ea1ng, ki\u1ec3m so\u00e1t truy c\u1eadp d\u1eef li\u1ec7u | Gi\u1edbi h\u1ea1n ai \u0111\u01b0\u1ee3c \u0111\u1ecdc d\u1eef li\u1ec7u n\u00e0o |\n\n---\n\n### 4.1. L\u01b0u tr\u1eef: S3 v\u00e0 DynamoDB\n\n**Amazon S3**\n- EMR c\u00f3 th\u1ec3 d\u00f9ng nhi\u1ec1u kho d\u1eef li\u1ec7u kh\u00e1c nhau nh\u01b0 Amazon S3, HDFS v\u00e0 Amazon DynamoDB.\n- Th\u00f4ng qua EMRFS, EMR d\u00f9ng S3 l\u00e0m object store cho Hadoop.\n- V\u00ec HDFS s\u1ebd m\u1ea5t khi cluster t\u1eaft, k\u1ebft qu\u1ea3 n\u00ean \u0111\u01b0\u1ee3c ghi ra S3.\n\n**Amazon DynamoDB**\n- EMR t\u00edch h\u1ee3p tr\u1ef1c ti\u1ebfp v\u1edbi DynamoDB, cho ph\u00e9p x\u1eed l\u00fd d\u1eef li\u1ec7u trong DynamoDB v\u00e0 chuy\u1ec3n d\u1eef li\u1ec7u qua l\u1ea1i gi\u1eefa DynamoDB, S3 v\u00e0 HDFS.\n\n---\n\n### 4.2. Metadata v\u00e0 truy v\u1ea5n: Glue Data Catalog + Athena\n\n**V\u1ea5n \u0111\u1ec1:** Spark ghi k\u1ebft qu\u1ea3 ra S3 d\u01b0\u1edbi d\u1ea1ng file. Nh\u01b0ng team Marketing kh\u00f4ng bi\u1ebft file n\u1eb1m \u1edf \u0111\u00e2u, c\u00f3 nh\u1eefng c\u1ed9t g\u00ec. C\u1ea7n m\u1ed9t n\u01a1i ghi l\u1ea1i \"b\u1ea3ng n\u00e0o, schema th\u1ebf n\u00e0o, n\u1eb1m \u1edf \u0111\u00e2u tr\u00ean S3\".\n\n**Gi\u1ea3i ph\u00e1p: AWS Glue Data Catalog**\n- T\u1eeb EMR 5.8.0 tr\u1edf l\u00ean, c\u00f3 th\u1ec3 c\u1ea5u h\u00ecnh Spark d\u00f9ng Glue Data Catalog l\u00e0m Apache Hive metastore.\n- Glue Data Catalog l\u00e0 kho metadata th\u1ed1ng nh\u1ea5t, t\u00edch h\u1ee3p v\u1edbi EMR, Amazon RDS, Amazon Redshift, Redshift Spectrum, Athena v\u00e0 m\u1ecdi \u1ee9ng d\u1ee5ng t\u01b0\u01a1ng th\u00edch Hive metastore.\n- T\u1eeb EMR 6.5.0 tr\u1edf l\u00ean c\u00f2n c\u00f3 th\u1ec3 d\u00f9ng Glue Data Catalog v\u1edbi Apache Iceberg.\n\n**C\u00e1ch b\u1eadt tr\u00ean Console:** khi t\u1ea1o cluster, \u1edf m\u1ee5c **AWS Glue Data Catalog settings**, tick **Use for Spark table metadata**.\n\n> \ud83d\udca1 C\u00e1ch n\u00e0y kh\u00e1c v\u1edbi ph\u01b0\u01a1ng \u00e1n d\u00f9ng Trino tr\u00ean EMR \u1edf m\u1ee5c tr\u01b0\u1edbc l\u00e0 Athena l\u00e0 d\u1ecbch v\u1ee5 ri\u00eang, kh\u00f4ng c\u1ea7n cluster EMR ph\u1ea3i \u0111ang ch\u1ea1y \u0111\u1ec3 Marketing truy v\u1ea5n.\n\n---\n\n### 4.3. \u0110i\u1ec1u ph\u1ed1i v\u00e0 l\u1eadp l\u1ecbch: Step Functions + EventBridge Scheduler\n\nPh\u1ea7n \"ch\u1ea1y l\u00fac 2h s\u00e1ng m\u1ed7i \u0111\u00eam\" ch\u01b0a \u0111\u01b0\u1ee3c gi\u1ea3i quy\u1ebft. \u0110\u00e2y l\u00e0 c\u00e1ch AWS h\u1ed7 tr\u1ee3:\n\n**AWS Step Functions** c\u00f3 t\u00edch h\u1ee3p s\u1eb5n v\u1edbi EMR, cung c\u1ea5p c\u00e1c API nh\u01b0:\n\n| API trong Step Functions | Ch\u1ee9c n\u0103ng |\n|---|---|\n| `createCluster` \/ `createCluster.sync` | T\u1ea1o v\u00e0 kh\u1edfi \u0111\u1ed9ng cluster |\n| `addStep` \/ `addStep.sync` | Th\u00eam step v\u00e0o cluster \u0111ang ch\u1ea1y. B\u1ea3n `.sync` s\u1ebd ch\u1edd step ch\u1ea1y xong |\n| `terminateCluster` \/ `terminateCluster.sync` | T\u1eaft cluster |\n\n**Amazon EventBridge Scheduler** c\u00f3 th\u1ec3 kh\u1edfi ch\u1ea1y state machine c\u1ee7a Step Functions theo l\u1ecbch, v\u00ed d\u1ee5 \u0111\u1ec3 t\u1ef1 \u0111\u1ed9ng h\u00f3a m\u1ed9t job x\u1eed l\u00fd d\u1eef li\u1ec7u. \n\nL\u1ecbch \u0111\u01b0\u1ee3c \u0111\u1ecbnh ngh\u0129a b\u1eb1ng bi\u1ec3u th\u1ee9c cron ho\u1eb7c rate.\n\n**Workflow trong v\u00ed d\u1ee5:**\n\n| # | Th\u00e0nh ph\u1ea7n | H\u00e0nh \u0111\u1ed9ng |\n|---|---|---|\n| 1 | EventBridge Scheduler | \u0110\u00fang 2h s\u00e1ng, g\u1ecdi **Step Functions StartExecution** |\n| 2 | Step Functions \u2192 `createCluster.sync` | T\u1ea1o cluster EMR c\u00f3 Spark, ch\u1edd \u0111\u1ebfn khi s\u1eb5n s\u00e0ng |\n| 3 | Step Functions \u2192 `addStep.sync` | Submit job `daily_report.py`, ch\u1edd \u0111\u1ebfn khi xong |\n| 4 | Step Functions \u2192 `terminateCluster.sync` | T\u1eaft cluster |\n\n**Ph\u01b0\u01a1ng \u00e1n kh\u00e1c:** n\u1ebfu team \u0111\u00e3 d\u00f9ng Apache Airflow, AWS c\u00f3 h\u01b0\u1edbng d\u1eabn k\u00edch ho\u1ea1t EMR step t\u1eeb Amazon MWAA. T\u1eeb Airflow c\u00f3 th\u1ec3 t\u1eaft cluster b\u1eb1ng m\u1ed9t task cu\u1ed1i, ho\u1eb7c \u0111\u1eb7t auto-termination policy theo th\u1eddi gian nh\u00e0n r\u1ed7i.\n\n---\n\n### 4.4. Gi\u00e1m s\u00e1t: Amazon CloudWatch\n\n- Metric \u0111\u01b0\u1ee3c c\u1eadp nh\u1eadt 5 ph\u00fat m\u1ed9t l\u1ea7n v\u00e0 t\u1ef1 \u0111\u1ed9ng \u0111\u1ea9y l\u00ean CloudWatch cho m\u1ecdi cluster EMR.\n- C\u00e1c metric EMR g\u1eedi l\u00ean CloudWatch kh\u00f4ng m\u1ea5t ph\u00ed, \u0111\u01b0\u1ee3c l\u01b0u tr\u1eef 63 ng\u00e0y r\u1ed3i x\u00f3a.\n- C\u00f3 th\u1ec3 xem metric tr\u00ean tab **Monitoring** c\u1ee7a cluster trong EMR console, ho\u1eb7c trong CloudWatch console.\n- M\u1ed9t metric h\u1eefu \u00edch l\u00e0 `IsIdle`, cho bi\u1ebft cluster \u0111ang ch\u1ea1y task hay \u0111ang r\u1ea3nh.\n\n**\u00c1p d\u1ee5ng v\u00e0o v\u00ed d\u1ee5:**\n\n| C\u1ea3nh b\u00e1o | M\u1ee5c \u0111\u00edch |\n|---|---|\n| Cluster r\u1ea3nh qu\u00e1 l\u00e2u (`IsIdle`) | Ph\u00e1t hi\u1ec7n cluster b\u1ecb b\u1ecf qu\u00ean, tr\u00e1nh t\u1ed1n ti\u1ec1n |\n| Job l\u1ed7i | Bi\u1ebft ngay \u0111\u1ec3 ch\u1ea1y l\u1ea1i tr\u01b0\u1edbc 7h s\u00e1ng |\n\n> \ud83d\udcdd AWS khuy\u1ebfn ngh\u1ecb theo d\u00f5i k\u1ef9 metric CloudWatch v\u00ec managed scaling ph\u1ee5 thu\u1ed9c v\u00e0o ch\u00fang \u0111\u1ec3 ho\u1ea1t \u0111\u1ed9ng.\n\n---\n\n### 4.5. B\u1ea3o m\u1eadt v\u00e0 m\u1ea1ng: IAM, VPC, Lake Formation\n\n| D\u1ecbch v\u1ee5 | Vai tr\u00f2 |\n|---|---|\n| **IAM** | C\u00e1c ti\u1ebfn tr\u00ecnh \u1ee9ng d\u1ee5ng tr\u00ean EMR d\u00f9ng EC2 instance profile khi g\u1ecdi d\u1ecbch v\u1ee5 AWS kh\u00e1c. |\n| **Amazon VPC** | C\u00f3 th\u1ec3 launch cluster trong VPC, m\u1ed9t ph\u1ea7n m\u1ea1ng \u0111\u01b0\u1ee3c c\u00f4 l\u1eadp logic tr\u00ean AWS |\n| **AWS Lake Formation** | V\u1edbi EMR Serverless, c\u00f3 th\u1ec3 b\u1eadt Lake Formation \u0111\u1ec3 ki\u1ec3m so\u00e1t truy c\u1eadp d\u1eef li\u1ec7u theo ch\u00ednh s\u00e1ch b\u1ea3o m\u1eadt |\n\nNgo\u00e0i ra, v\u1edbi cluster d\u00f9ng chung cho nhi\u1ec1u ng\u01b0\u1eddi, EMR c\u00f3 c\u00e1c t\u00f9y ch\u1ecdn \u0111\u1ec3 qu\u1ea3n l\u00fd quy\u1ec1n truy c\u1eadp c\u1ee7a t\u1eebng ng\u01b0\u1eddi d\u00f9ng v\u00e0o d\u1eef li\u1ec7u S3.\n\n---\n\n### Ki\u1ebfn tr\u00fac t\u1ed5ng th\u1ec3 cho v\u00ed d\u1ee5\n\n| Lu\u1ed3ng | M\u00f4 t\u1ea3 |\n|---|---|\n| \u2460 Thu th\u1eadp | Website \u2192 \u0111\u1ed5 log v\u00e0o **S3** |\n| \u2461 L\u1eadp l\u1ecbch | **EventBridge Scheduler** l\u00fac 2h \u2192 kh\u1edfi ch\u1ea1y **Step Functions** |\n| \u2462 X\u1eed l\u00fd | Step Functions t\u1ea1o cluster **EMR** \u2192 ch\u1ea1y job Spark \u2192 t\u1eaft cluster |\n| \u2463 Metadata | Spark \u0111\u0103ng k\u00fd b\u1ea3ng k\u1ebft qu\u1ea3 v\u00e0o **Glue Data Catalog** |\n| \u2464 S\u1eed d\u1ee5ng | Team Marketing truy v\u1ea5n b\u1eb1ng **Athena** |\n| \u2465 Gi\u00e1m s\u00e1t | **CloudWatch** theo d\u00f5i cluster v\u00e0 c\u1ea3nh b\u00e1o |\n| \u2466 B\u1ea3o m\u1eadt | **IAM** ph\u00e2n quy\u1ec1n, **VPC** c\u00f4 l\u1eadp m\u1ea1ng |\n\nT\u00f4i c\u00f3 th\u1ec3 v\u1ebd s\u01a1 \u0111\u1ed3 ki\u1ebfn tr\u00fac t\u1ed5ng th\u1ec3 n\u00e0y \u0111\u1ec3 d\u1ec5 h\u00ecnh dung h\u01a1n n\u1ebfu b\u1ea1n c\u1ea7n.","published_at":"2026-10-05T10:59:03.000000Z","scheduled_publish_at":null,"is_published":true,"is_shared":false,"updated_at":"2026-10-05T11:31:02.000000Z","edited_at":"2026-10-05T10:58:32.000000Z","translation_source":null,"trend_at":null,"promoted_at":null,"reading_time":8,"points":0,"views_count":2,"clips_count":0,"comments_count":0,"rated_value":null,"promoted":false,"trending":false,"is_draft":false,"is_public":true,"locale_code":"vi","is_video":false,"thumbnail_url":null,"user":{"data":{"id":164261,"url":"https:\/\/viblo.asia\/u\/trandatk","avatar":"96363e77-d2a7-4068-9af2-4f2f1b75c4dc.jpg","name":"NekoArcoder","username":"trandatk","followers_count":78,"reputation":1309,"posts_count":9,"banned_at":null,"level_partner":null,"following":false}},"tags":{"data":[{"slug":"amazon-web-services-aws","name":"Amazon Web Services (AWS)"},{"slug":"aws","name":"aws"},{"slug":"emr","name":"emr"}]},"commentators":{"data":[]}},{"id":108277,"title":"Best Payoneer Accounts 2026 \u2013 Global Payment Account Guide","slug":"k74a9O5D4eO","url":"https:\/\/viblo.asia\/p\/best-payoneer-accounts-2026-global-payment-account-guide-k74a9O5D4eO","user_id":219236,"moderation":"discarded","transliterated":"best-payoneer-accounts-2026-global-payment-account-guide","contents_short":"Payoneer Accounts \u2013 Features\n\u2705 100% Satisfaction & Recovery Guaranteed\n\u2705 US, UK, CA,NA ,AUS Any Countries Phone Verify\n\u2705 Bank Verified\n\u2705 Card Verified\n\u2705 Driving License Scan Copy\n\u2705 Bank Statement copy provided\n\u2705 Account Access\n\u2705 Phone confirmed and have access\n\u2705 Date of Birth Provided\n\u2705 Documents ( Nid card scan copy+ utility invoice scan copy)\n\u2705 Fully Verified Payoneer Account (Fresh, Old, His...","contents":"Payoneer Accounts \u2013 Features\n\u2705 100% Satisfaction & Recovery Guaranteed\n\u2705 US, UK, CA,NA ,AUS Any Countries Phone Verify\n\u2705 Bank Verified\n\u2705 Card Verified\n\u2705 Driving License Scan Copy\n\u2705 Bank Statement copy provided\n\u2705 Account Access\n\u2705 Phone confirmed and have access\n\u2705 Date of Birth Provided\n\u2705 Documents ( Nid card scan copy+ utility invoice scan copy)\n\u2705 Fully Verified Payoneer Account (Fresh, Old, History 3 kinds account we sell)\n\u2705 Country Available ( USA, CA, UK, Chile, and others )\n\nIf you want more information, contact us\n24\/7-Hour Reply\/Contact US\n\u2705 WhatsApp: +1 (920) 524-4497\n\u2705 Telegram: @smmmarkethero\n\u2705 Email: smmmarkethero@gmail.com![](https:\/\/images.viblo.asia\/c2cf8986-0eee-48fc-9b37-7b144ae0632a.png)","published_at":"2026-10-05T10:29:30.000000Z","scheduled_publish_at":null,"is_published":true,"is_shared":false,"updated_at":"2026-10-05T10:29:33.000000Z","edited_at":"2026-10-05T10:28:52.000000Z","translation_source":null,"trend_at":null,"promoted_at":null,"reading_time":0,"points":0,"views_count":0,"clips_count":0,"comments_count":0,"rated_value":null,"promoted":false,"trending":false,"is_draft":false,"is_public":true,"locale_code":"vi","is_video":false,"thumbnail_url":null,"user":{"data":{"id":219236,"url":"https:\/\/viblo.asia\/u\/Charlotteyre","avatar":"10238d45-a6e8-4aa4-85d0-e441f3590f36.jpeg","name":"Charlotte Smith","username":"Charlotteyre","followers_count":0,"reputation":0,"posts_count":0,"banned_at":"2026-10-05T10:29:33.000000Z","level_partner":null,"following":false}},"tags":{"data":[{"slug":"verifiedpayoneer","name":"VerifiedPayoneer"}]},"commentators":{"data":[]}},{"id":108276,"title":"umrah travel","slug":"wlVmRk8g45Z","url":"https:\/\/viblo.asia\/p\/umrah-travel-wlVmRk8g45Z","user_id":219239,"moderation":"discarded","transliterated":"umrah-travel","contents_short":"https:\/\/www.bookmyumrahtrip.com\/umrah-packages","contents":"https:\/\/www.bookmyumrahtrip.com\/umrah-packages","published_at":"2026-10-05T10:28:05.000000Z","scheduled_publish_at":null,"is_published":true,"is_shared":false,"updated_at":"2026-10-05T10:28:08.000000Z","edited_at":"2026-10-05T10:27:06.000000Z","translation_source":null,"trend_at":null,"promoted_at":null,"reading_time":0,"points":0,"views_count":0,"clips_count":0,"comments_count":0,"rated_value":null,"promoted":false,"trending":false,"is_draft":false,"is_public":true,"locale_code":"vi","is_video":false,"thumbnail_url":null,"user":{"data":{"id":219239,"url":"https:\/\/viblo.asia\/u\/umbrella","avatar":null,"name":"Marketing Team","username":"umbrella","followers_count":0,"reputation":0,"posts_count":0,"banned_at":"2026-10-05T10:28:08.000000Z","level_partner":null,"following":false}},"tags":{"data":[{"slug":"03-trusted-marketplaces-to-buy-verified-paypal-accounts-online","name":"03 Trusted Marketplaces to Buy Verified PayPal Accounts Online"}]},"commentators":{"data":[]}},{"id":108275,"title":"Review Kh\u00f3a h\u1ecdc AI Agent c\u1ee7a SlimAI (Tr\u1ea3i nghi\u1ec7m th\u1ef1c t\u1ebf)","slug":"XRJ8RdD2VGq","url":"https:\/\/viblo.asia\/p\/review-khoa-hoc-ai-agent-cua-slimai-trai-nghiem-thuc-te-XRJ8RdD2VGq","user_id":191338,"moderation":"discarded","transliterated":"review-khoa-hoc-ai-agent-cua-slimai-trai-nghiem-thuc-te","contents_short":"Tr\u01b0\u1edbc \u0111\u00e2y m\u00ecnh d\u00f9ng AI kh\u00e1 th\u01b0\u1eddng xuy\u00ean, nh\u01b0ng ch\u1ee7 y\u1ebfu v\u1eabn l\u00e0 h\u1ecfi AI r\u1ed3i t\u1ef1 x\u1eed l\u00fd c\u00e1c b\u01b0\u1edbc c\u00f2n l\u1ea1i. Khi t\u00ecm hi\u1ec3u v\u1ec1 AI Agent, m\u00ecnh nh\u1eadn ra AI hi\u1ec7n nay c\u00f3 th\u1ec3 l\u00e0m nhi\u1ec1u h\u01a1n vi\u1ec7c tr\u1ea3 l\u1eddi c\u00e2u h\u1ecfi, n\u00f3 c\u00f3 th\u1ec3 tr\u1ef1c ti\u1ebfp s\u1eed d\u1ee5ng m\u00e1y t\u00ednh c\u1ee7a m\u00ecnh \u0111\u1ec3 th\u1ef1c hi\u1ec7n c\u1ea3 m\u1ed9t quy tr\u00ecnh v\u00e0 \u0111\u01b0a ra k\u1ebft qu\u1ea3 cu\u1ed1i c\u00f9ng.\n\n\u0110\u00f3 l\u00e0 l\u00fd do m\u00ecnh t\u00ecm \u0111\u1ebfn Kh\u00f3a h\u1ecdc AI Agent c\u1ee7a SlimAI, v\u1edbi m\u1ee5c ti\u00eau bi\u1ebfn nh\u1eefng c\u00f4ng vi\u1ec7c l\u1eb7p l\u1ea1i ...","contents":"Tr\u01b0\u1edbc \u0111\u00e2y m\u00ecnh d\u00f9ng AI kh\u00e1 th\u01b0\u1eddng xuy\u00ean, nh\u01b0ng ch\u1ee7 y\u1ebfu v\u1eabn l\u00e0 h\u1ecfi AI r\u1ed3i t\u1ef1 x\u1eed l\u00fd c\u00e1c b\u01b0\u1edbc c\u00f2n l\u1ea1i. Khi t\u00ecm hi\u1ec3u v\u1ec1 AI Agent, m\u00ecnh nh\u1eadn ra AI hi\u1ec7n nay c\u00f3 th\u1ec3 l\u00e0m nhi\u1ec1u h\u01a1n vi\u1ec7c tr\u1ea3 l\u1eddi c\u00e2u h\u1ecfi, n\u00f3 c\u00f3 th\u1ec3 tr\u1ef1c ti\u1ebfp s\u1eed d\u1ee5ng m\u00e1y t\u00ednh c\u1ee7a m\u00ecnh \u0111\u1ec3 th\u1ef1c hi\u1ec7n c\u1ea3 m\u1ed9t quy tr\u00ecnh v\u00e0 \u0111\u01b0a ra k\u1ebft qu\u1ea3 cu\u1ed1i c\u00f9ng.\n\n\u0110\u00f3 l\u00e0 l\u00fd do m\u00ecnh t\u00ecm \u0111\u1ebfn **Kh\u00f3a h\u1ecdc AI Agent c\u1ee7a SlimAI**, v\u1edbi m\u1ee5c ti\u00eau bi\u1ebfn nh\u1eefng c\u00f4ng vi\u1ec7c l\u1eb7p l\u1ea1i h\u1eb1ng ng\u00e0y th\u00e0nh c\u00e1c nhi\u1ec7m v\u1ee5 c\u00f3 th\u1ec3 giao cho AI.\n\n## Kh\u00f3a h\u1ecdc AI Agent l\u00e0 g\u00ec? V\u00ec sao m\u00ecnh quy\u1ebft \u0111\u1ecbnh \u0111\u0103ng k\u00fd h\u1ecdc\n\nM\u00ecnh bi\u1ebft \u0111\u1ebfn AI Agent khi th\u1ea5y ng\u00e0y c\u00e0ng nhi\u1ec1u ng\u01b0\u1eddi chia s\u1ebb v\u1ec1 vi\u1ec7c d\u00f9ng AI \u0111\u1ec3 t\u1ef1 \u0111\u1ed9ng truy\u1ec1n th\u00f4ng, tuy\u1ec3n d\u1ee5ng hay l\u00e0m vi\u1ec7c v\u1edbi nhi\u1ec1u c\u00f4ng vi\u1ec7c kh\u00e1c nhau. \u0110i\u1ec1u n\u00e0y khi\u1ebfn m\u00ecnh kh\u00e1 t\u00f2 m\u00f2 v\u00ec tr\u01b0\u1edbc \u0111\u00f3 m\u00ecnh v\u1eabn ch\u1ee7 y\u1ebfu d\u00f9ng ChatGPT theo ki\u1ec3u h\u1ecfi t\u1eebng vi\u1ec7c m\u1ed9t.\n\nHi\u1ec3u \u0111\u01a1n gi\u1ea3n, **AI Agent** l\u00e0 m\u1ed9t nh\u00e2n vi\u00ean AI c\u00f3 th\u1ec3 nh\u1eadn nhi\u1ec7m v\u1ee5, t\u1ef1 x\u00e1c \u0111\u1ecbnh c\u00e1c b\u01b0\u1edbc c\u1ea7n l\u00e0m v\u00e0 s\u1eed d\u1ee5ng nh\u1eefng c\u00f4ng c\u1ee5 \u0111\u01b0\u1ee3c c\u1ea5p quy\u1ec1n \u0111\u1ec3 ho\u00e0n th\u00e0nh c\u00f4ng vi\u1ec7c.\n\n![](https:\/\/images.viblo.asia\/5d830339-41c5-4940-b337-acf0bc4416ea.png)\n\nBan \u0111\u1ea7u m\u00ecnh th\u1eed t\u1ef1 h\u1ecdc qua YouTube, t\u00e0i li\u1ec7u v\u00e0 c\u00e1c b\u00e0i h\u01b0\u1edbng d\u1eabn tr\u00ean m\u1ea1ng. Nh\u01b0ng c\u00e0ng t\u00ecm hi\u1ec3u l\u1ea1i c\u00e0ng th\u1ea5y nhi\u1ec1u kh\u00e1i ni\u1ec7m nh\u01b0 MCP, skill, subagent, workflow hay context. M\u1ed7i n\u01a1i h\u01b0\u1edbng d\u1eabn m\u1ed9t c\u00f4ng c\u1ee5 kh\u00e1c nhau n\u00ean m\u00ecnh bi\u1ebft th\u00eam kh\u00e1 nhi\u1ec1u th\u1ee9 nh\u01b0ng v\u1eabn ch\u01b0a h\u00ecnh dung \u0111\u01b0\u1ee3c n\u00ean b\u1eaft \u0111\u1ea7u t\u1eeb \u0111\u00e2u \u0111\u1ec3 \u00e1p d\u1ee5ng v\u00e0o c\u00f4ng vi\u1ec7c th\u1eadt.\n\nSau m\u1ed9t th\u1eddi gian t\u1ef1 h\u1ecdc kh\u00f4ng hi\u1ec7u qu\u1ea3, m\u00ecnh b\u1eaft \u0111\u1ea7u t\u00ecm c\u00e1c kh\u00f3a h\u1ecdc d\u00e0nh cho ng\u01b0\u1eddi \u0111i l\u00e0m. Trong l\u00fac h\u1ecfi ChatGPT \u0111\u1ec3 tham kh\u1ea3o m\u1ed9t s\u1ed1 n\u01a1i \u0111\u00e0o t\u1ea1o, m\u00ecnh t\u00ecnh c\u1edd bi\u1ebft \u0111\u1ebfn **[Kh\u00f3a h\u1ecdc AI Agent](https:\/\/ai.slim.vn\/khoa-hoc-ai-agent) c\u1ee7a SlimAI Education** v\u00e0 b\u1eaft \u0111\u1ea7u t\u00ecm hi\u1ec3u th\u00eam v\u1ec1 ch\u01b0\u01a1ng tr\u00ecnh c\u1ee7a h\u1ecd.\n\n![](https:\/\/images.viblo.asia\/1bf71479-cce5-427e-9863-74fd4f07d5ba.png)\n\n\u0110i\u1ec3m khi\u1ebfn m\u00ecnh ch\u00fa \u00fd l\u00e0 n\u1ed9i dung kh\u00f3a h\u1ecdc t\u1eadp trung kh\u00e1 nhi\u1ec1u v\u00e0o c\u00f4ng vi\u1ec7c, g\u1ed3m **15 t\u00ecnh hu\u1ed1ng th\u1ef1c t\u1ebf v\u00e0 12 k\u1ef9 n\u0103ng n\u1ec1n t\u1ea3ng**.\n\n\u0110\u1ecdc k\u1ef9 ch\u01b0\u01a1ng tr\u00ecnh, m\u00ecnh th\u1ea5y c\u00e1ch h\u1ecdc kh\u00e1 \u0111\u00fang v\u1edbi v\u1ea5n \u0111\u1ec1 m\u00ecnh \u0111ang g\u1eb7p: kh\u00f4ng c\u1ed1 h\u1ecdc th\u1eadt nhi\u1ec1u c\u00f4ng c\u1ee5 m\u00e0 b\u1eaft \u0111\u1ea7u t\u1eeb m\u1ed9t c\u00f4ng vi\u1ec7c \u0111ang t\u1ed1n th\u1eddi gian v\u00e0 t\u1eebng b\u01b0\u1edbc bi\u1ebfn n\u00f3 th\u00e0nh nhi\u1ec7m v\u1ee5 c\u00f3 th\u1ec3 giao cho AI. V\u00ec v\u1eady m\u00ecnh quy\u1ebft \u0111\u1ecbnh \u0111\u0103ng k\u00fd h\u1ecdc lu\u00f4n.\n\n## Tr\u1ea3i nghi\u1ec7m c\u1ee7a m\u00ecnh khi h\u1ecdc Kh\u00f3a h\u1ecdc AI Agent t\u1ea1i SlimAI\n\n\u0110i\u1ec3m kh\u00e1c m\u00ecnh nh\u1eadn th\u1ea5y ngay t\u1eeb c\u00e1ch thi\u1ebft k\u1ebf ch\u01b0\u01a1ng tr\u00ecnh l\u00e0 kh\u00f3a h\u1ecdc kh\u00f4ng b\u1eaft \u0111\u1ea7u b\u1eb1ng h\u00e0ng lo\u1ea1t kh\u00e1i ni\u1ec7m k\u1ef9 thu\u1eadt.\n\nThay v\u00e0o \u0111\u00f3, h\u1ecdc vi\u00ean c\u1ea7n x\u00e1c \u0111\u1ecbnh tr\u01b0\u1edbc nh\u1eefng c\u00f4ng vi\u1ec7c l\u1eb7p l\u1ea1i \u0111ang t\u1ed1n th\u1eddi gian.\n\nTrong ch\u01b0\u01a1ng tr\u00ecnh, m\u1ed7i ng\u01b0\u1eddi ch\u1ecdn m\u1ed9t c\u00f4ng vi\u1ec7c tr\u1ecdng t\u00e2m v\u00e0 \u00edt nh\u1ea5t ba t\u00ecnh hu\u1ed1ng th\u1ef1c t\u1ebf \u0111\u1ec3 tri\u1ec3n khai trong kh\u00f3a h\u1ecdc. N\u1ed9i dung sau \u0111\u00f3 \u0111\u01b0\u1ee3c thi\u1ebft k\u1ebf ng\u01b0\u1ee3c t\u1eeb k\u1ebft qu\u1ea3 c\u00f4ng vi\u1ec7c c\u1ea7n \u0111\u1ea1t, h\u00e0nh vi c\u1ea7n thay \u0111\u1ed5i, k\u1ef9 n\u0103ng c\u1ea7n h\u1ecdc r\u1ed3i m\u1edbi \u0111\u1ebfn ki\u1ebfn th\u1ee9c c\u1ea7n s\u1eed d\u1ee5ng.\n\n### Kh\u00f4ng ch\u1ec9 nh\u00ecn gi\u1ea3ng vi\u00ean l\u00e0m demo\n\nPh\u01b0\u01a1ng ph\u00e1p c\u1ee7a kh\u00f3a h\u1ecdc \u0111\u01b0\u1ee3c x\u00e2y d\u1ef1ng theo ba b\u01b0\u1edbc **Th\u1ea5y \u2013 L\u00e0m \u2013 Hi\u1ec3u**.\n\n![](https:\/\/images.viblo.asia\/a96a8b1d-11b7-49e7-bbbe-8d2b125f6d72.png)\n\n\u0110\u1ea7u ti\u00ean, gi\u1ea3ng vi\u00ean tr\u00ecnh di\u1ec5n m\u1ed9t t\u00ecnh hu\u1ed1ng ho\u00e0n ch\u1ec9nh. Sau \u0111\u00f3 h\u1ecdc vi\u00ean th\u1ef1c hi\u1ec7n l\u1ea1i tr\u00ean ch\u00ednh c\u00f4ng vi\u1ec7c v\u00e0 d\u1eef li\u1ec7u c\u1ee7a m\u00ecnh. Cu\u1ed1i c\u00f9ng, h\u1ecdc vi\u00ean ph\u1ea3i t\u1ef1 x\u1eed l\u00fd m\u1ed9t t\u00ecnh hu\u1ed1ng m\u1edbi thay v\u00ec ph\u1ee5 thu\u1ed9c ho\u00e0n to\u00e0n v\u00e0o m\u1eabu c\u00f3 s\u1eb5n.\n\n\u0110\u00e2y l\u00e0 ph\u1ea7n m\u00ecnh \u0111\u00e1nh gi\u00e1 kh\u00e1 cao.\n\nN\u1ebfu ch\u1ec9 xem m\u1ed9t video ng\u01b0\u1eddi kh\u00e1c x\u00e2y Agent, m\u1ecdi th\u1ee9 th\u01b0\u1eddng c\u00f3 c\u1ea3m gi\u00e1c r\u1ea5t d\u1ec5. Nh\u01b0ng \u0111\u1ebfn l\u00fac \u0111\u01b0a d\u1eef li\u1ec7u th\u1eadt c\u1ee7a m\u00ecnh v\u00e0o th\u00ec v\u1ea5n \u0111\u1ec1 m\u1edbi b\u1eaft \u0111\u1ea7u xu\u1ea5t hi\u1ec7n.\n\n### B\u00e0i t\u1eadp g\u1ea7n v\u1edbi c\u00f4ng vi\u1ec7c h\u01a1n m\u00ecnh ngh\u0129\n\nM\u1ed9t trong nh\u1eefng b\u00e0i t\u1eadp kh\u1edfi \u0111\u1ed9ng l\u00e0 \u0111\u1ec3 Agent \u0111\u1ecdc email \u0111\u1ebfn, ph\u00e2n lo\u1ea1i m\u1ee9c \u0111\u1ed9 \u01b0u ti\u00ean v\u00e0 chu\u1ea9n b\u1ecb n\u1ed9i dung tr\u1ea3 l\u1eddi. M\u1ed9t b\u00e0i kh\u00e1c l\u00e0 y\u00eau c\u1ea7u Agent x\u1eed l\u00fd m\u1ed9t th\u01b0 m\u1ee5c l\u1ed9n x\u1ed9n, t\u1ef1 ph\u00e2n lo\u1ea1i, \u0111\u1ed5i t\u00ean v\u00e0 di chuy\u1ec3n file theo quy t\u1eafc.\n![](https:\/\/images.viblo.asia\/6cad89b0-f234-48c0-a140-7a842edd4367.png)\n\nNh\u00ecn qua th\u00ec hai b\u00e0i n\u00e0y kh\u00e1 \u0111\u01a1n gi\u1ea3n, nh\u01b0ng l\u1ea1i gi\u00fap m\u00ecnh hi\u1ec3u \u0111\u01b0\u1ee3c c\u00e1ch giao nhi\u1ec7m v\u1ee5 cho Agent r\u00f5 h\u01a1n nhi\u1ec1u so v\u1edbi vi\u1ec7c ch\u1ec9 h\u1ecdc l\u00fd thuy\u1ebft.\n\nKhi \u0111\u00e3 quen v\u1edbi c\u00e1ch l\u00e0m, c\u00e1c t\u00ecnh hu\u1ed1ng \u0111\u01b0\u1ee3c m\u1edf r\u1ed9ng sang nh\u1eefng c\u00f4ng vi\u1ec7c ph\u1ee9c t\u1ea1p h\u01a1n.\n\n![](https:\/\/images.viblo.asia\/57a087cb-8380-4616-851b-561e013ecaef.png)\n\nV\u00ed d\u1ee5, Agent c\u00f3 th\u1ec3 \u0111\u1ecdc b\u1ea3n ghi cu\u1ed9c h\u1ecdp, t\u1ea1o bi\u00ean b\u1ea3n, ph\u00e2n c\u00f4ng nhi\u1ec7m v\u1ee5 v\u00e0 chu\u1ea9n b\u1ecb email g\u1eedi l\u1ea1i. Ho\u1eb7c m\u1ed7i s\u00e1ng t\u1ef1 ch\u1ea1y b\u00e1o c\u00e1o r\u1ed3i g\u1eedi ph\u1ea7n t\u00f3m t\u1eaft qua email ho\u1eb7c nh\u00f3m l\u00e0m vi\u1ec7c.\n\n\u0110\u1ebfn \u0111\u00e2y m\u00ecnh m\u1edbi th\u1ea5y r\u00f5 s\u1ef1 kh\u00e1c bi\u1ec7t gi\u1eefa vi\u1ec7c d\u00f9ng AI \u0111\u1ec3 h\u1ed7 tr\u1ee3 m\u1ed9t thao t\u00e1c v\u00e0 vi\u1ec7c giao c\u1ea3 m\u1ed9t quy tr\u00ecnh cho AI.\n\n## M\u00ecnh h\u1ecdc \u0111\u01b0\u1ee3c g\u00ec sau Kh\u00f3a h\u1ecdc AI Agent?\n\n\u0110i\u1ec1u m\u00ecnh nh\u1eadn \u0111\u01b0\u1ee3c nhi\u1ec1u nh\u1ea5t kh\u00f4ng ph\u1ea3i l\u00e0 bi\u1ebft th\u00eam m\u1ed9t v\u00e0i c\u00e2u prompt.\n\n\u0110\u00f3 l\u00e0 c\u00e1ch nh\u00ecn m\u1ed9t c\u00f4ng vi\u1ec7c d\u01b0\u1edbi g\u00f3c \u0111\u1ed9 Agent.\n\nTr\u01b0\u1edbc khi giao vi\u1ec7c cho AI, m\u00ecnh ph\u1ea3i x\u00e1c \u0111\u1ecbnh:\n\n- \u0110\u1ea7u v\u00e0o c\u1ee7a c\u00f4ng vi\u1ec7c l\u00e0 g\u00ec.\n- Agent c\u1ea7n \u0111\u1ecdc d\u1eef li\u1ec7u n\u00e0o.\n- Agent \u0111\u01b0\u1ee3c ph\u00e9p s\u1eed d\u1ee5ng c\u00f4ng c\u1ee5 n\u00e0o.\n- K\u1ebft qu\u1ea3 cu\u1ed1i c\u00f9ng ph\u1ea3i c\u00f3 d\u1ea1ng g\u00ec.\n- Tr\u01b0\u1eddng h\u1ee3p n\u00e0o Agent \u0111\u01b0\u1ee3c t\u1ef1 x\u1eed l\u00fd.\n- Tr\u01b0\u1eddng h\u1ee3p n\u00e0o b\u1eaft bu\u1ed9c ph\u1ea3i h\u1ecfi con ng\u01b0\u1eddi.\n\n\u0110\u00e2y l\u00e0 nh\u1eefng th\u1ee9 tr\u01b0\u1edbc \u0111\u00e2y m\u00ecnh g\u1ea7n nh\u01b0 kh\u00f4ng ngh\u0129 t\u1edbi khi s\u1eed d\u1ee5ng AI.\n\n![](https:\/\/images.viblo.asia\/a525ff42-c149-4328-858a-729e91de0c1a.jpg)\n\n### Bi\u1ebft c\u00e1ch k\u1ebft n\u1ed1i Agent v\u1edbi c\u00f4ng c\u1ee5 l\u00e0m vi\u1ec7c\n\nM\u1ed9t ph\u1ea7n quan tr\u1ecdng kh\u00e1c c\u1ee7a kh\u00f3a h\u1ecdc l\u00e0 c\u00e1ch \u0111\u1ec3 Agent kh\u00f4ng ch\u1ec9 l\u00e0m vi\u1ec7c trong c\u1eeda s\u1ed5 chat.\n\nCh\u01b0\u01a1ng tr\u00ecnh c\u00f3 c\u00e1c n\u1ed9i dung v\u1ec1 k\u1ebft n\u1ed1i Agent v\u1edbi Gmail, Google Drive, l\u1ecbch, Notion v\u00e0 CRM th\u00f4ng qua MCP. H\u1ecdc vi\u00ean c\u0169ng \u0111\u01b0\u1ee3c l\u00e0m quen v\u1edbi vi\u1ec7c t\u1ea1o skill c\u00f3 th\u1ec3 t\u00e1i s\u1eed d\u1ee5ng, s\u1eed d\u1ee5ng file ng\u1eef c\u1ea3nh, b\u1ed9 nh\u1edb d\u1ef1 \u00e1n, subagent v\u00e0 l\u00ean l\u1ecbch cho Agent ch\u1ea1y t\u1ef1 \u0111\u1ed9ng.\n\n\u0110\u00e2y l\u00e0 l\u00fac m\u00ecnh b\u1eaft \u0111\u1ea7u hi\u1ec3u t\u1ea1i sao AI Agent l\u1ea1i kh\u00e1c v\u1edbi vi\u1ec7c \u0111\u01a1n gi\u1ea3n t\u1ea3i t\u00e0i li\u1ec7u l\u00ean ChatGPT r\u1ed3i \u0111\u1eb7t c\u00e2u h\u1ecfi.\n\nM\u1ed9t chatbot c\u00f3 th\u1ec3 tr\u1ea3 l\u1eddi.\n\nM\u1ed9t **AI Agent** c\u1ea7n bi\u1ebft **l\u00e0m g\u00ec ti\u1ebfp theo sau khi c\u00f3 c\u00e2u tr\u1ea3 l\u1eddi**.\n\n\n### Bi\u1ebft khi n\u00e0o kh\u00f4ng n\u00ean \u0111\u1ec3 Agent t\u1ef1 ch\u1ea1y\n\nM\u1ed9t \u0111i\u1ec3m m\u00ecnh th\u1ea5y r\u1ea5t c\u1ea7n thi\u1ebft l\u00e0 kh\u00f3a h\u1ecdc kh\u00f4ng \u0111i theo h\u01b0\u1edbng c\u1ee9 t\u1ef1 \u0111\u1ed9ng h\u00f3a c\u00e0ng nhi\u1ec1u c\u00e0ng t\u1ed1t.\n\nTrong ch\u01b0\u01a1ng tr\u00ecnh c\u00f3 ri\u00eang c\u00e1c n\u1ed9i dung v\u1ec1 b\u01b0\u1edbc ph\u00ea duy\u1ec7t c\u1ee7a con ng\u01b0\u1eddi, ki\u1ec3m tra nh\u1eadt k\u00fd Agent, ki\u1ec3m th\u1eed tr\u01b0\u1edbc khi s\u1eed d\u1ee5ng th\u1eadt v\u00e0 x\u00e1c \u0111\u1ecbnh r\u00f5 tr\u01b0\u1eddng h\u1ee3p n\u00e0o Agent \u0111\u01b0\u1ee3c t\u1ef1 h\u00e0nh \u0111\u1ed9ng.\n\n\u0110i\u1ec1u n\u00e0y \u0111\u1eb7c bi\u1ec7t quan tr\u1ecdng n\u1ebfu Agent \u0111\u01b0\u1ee3c k\u1ebft n\u1ed1i v\u1edbi email, CRM ho\u1eb7c d\u1eef li\u1ec7u doanh nghi\u1ec7p.\n\nV\u00ed d\u1ee5, \u0111\u1ec3 AI t\u1ef1 so\u1ea1n email th\u00ec kh\u00e1 an to\u00e0n.\n\nNh\u01b0ng \u0111\u1ec3 AI t\u1ef1 g\u1eedi email h\u00e0ng lo\u1ea1t, t\u1ef1 s\u1eeda d\u1eef li\u1ec7u kh\u00e1ch h\u00e0ng hay t\u1ef1 th\u1ef1c hi\u1ec7n m\u1ed9t h\u00e0nh \u0111\u1ed9ng quan tr\u1ecdng th\u00ec m\u00ecnh s\u1ebd mu\u1ed1n c\u00f3 b\u01b0\u1edbc ki\u1ec3m tra tr\u01b0\u1edbc.\n\nSau khi h\u1ecdc ph\u1ea7n n\u00e0y, m\u00ecnh c\u1ea3m th\u1ea5y vi\u1ec7c x\u00e2y Agent th\u1ef1c t\u1ebf h\u01a1n nhi\u1ec1u. Kh\u00f4ng ph\u1ea3i t\u1ea1o ra m\u1ed9t h\u1ec7 th\u1ed1ng t\u1ef1 \u0111\u1ed9ng tuy\u1ec7t \u0111\u1ed1i, m\u00e0 l\u00e0 x\u00e1c \u0111\u1ecbnh \u0111\u00fang ph\u1ea7n n\u00e0o AI l\u00e0m t\u1ed1t v\u00e0 ph\u1ea7n n\u00e0o con ng\u01b0\u1eddi v\u1eabn c\u1ea7n ki\u1ec3m so\u00e1t.\n\n![](https:\/\/images.viblo.asia\/a0c7d7cf-0b68-400e-8b1d-1ae7d7202cef.jpg)\n\n## \u0110i\u1ec3m m\u00ecnh th\u00edch \u1edf c\u00e1ch h\u1ecdc AI Agent c\u1ee7a SlimAI\n\nM\u1ed9t trong nh\u1eefng v\u1ea5n \u0111\u1ec1 m\u00ecnh t\u1eebng g\u1eb7p khi t\u1ef1 h\u1ecdc AI l\u00e0 xem r\u1ea5t nhi\u1ec1u nh\u01b0ng l\u00e0m \u0111\u01b0\u1ee3c r\u1ea5t \u00edt.\n\nH\u00f4m nay xem c\u00e1ch d\u00f9ng m\u1ed9t c\u00f4ng c\u1ee5.\n\nNg\u00e0y mai l\u1ea1i th\u1ea5y m\u1ed9t Agent kh\u00e1c.\n\nV\u00e0i ng\u00e0y sau xu\u1ea5t hi\u1ec7n th\u00eam m\u1ed9t m\u00f4 h\u00ecnh AI m\u1edbi.\n\nCu\u1ed1i c\u00f9ng bi\u1ebft kh\u00e1 nhi\u1ec1u th\u1ee9 nh\u01b0ng c\u00f4ng vi\u1ec7c th\u1ef1c t\u1ebf v\u1eabn ch\u01b0a thay \u0111\u1ed5i.\n\nTrong **Kh\u00f3a h\u1ecdc AI Agent c\u1ee7a SlimAI**, ch\u01b0\u01a1ng tr\u00ecnh c\u1ed1 t\u00ecnh gi\u1edbi h\u1ea1n s\u1ed1 th\u1ee9 h\u1ecdc vi\u00ean ph\u1ea3i l\u00e0m c\u00f9ng l\u00fac. M\u1ed7i h\u1ecdc vi\u00ean t\u1eadp trung s\u00e2u v\u00e0o nh\u1eefng d\u1ea1ng c\u00f4ng vi\u1ec7c ph\u00f9 h\u1ee3p v\u1edbi m\u00ecnh v\u00e0 ch\u1ec9 chuy\u1ec3n sang nhi\u1ec7m v\u1ee5 ti\u1ebfp theo sau khi nhi\u1ec7m v\u1ee5 hi\u1ec7n t\u1ea1i \u0111\u00e3 ch\u1ea1y \u0111\u01b0\u1ee3c.\n\nKho\u1ea3ng **70 \u0111\u1ebfn 80% b\u00e0i th\u1ef1c h\u00e0nh** c\u0169ng \u0111\u01b0\u1ee3c thi\u1ebft k\u1ebf \u0111\u1ec3 ho\u00e0n th\u00e0nh ngay trong l\u1edbp v\u1edbi mentor h\u1ed7 tr\u1ee3, thay v\u00ec h\u1ecdc xong r\u1ed3i \u0111\u1ec3 h\u1ecdc vi\u00ean t\u1ef1 xoay x\u1edf to\u00e0n b\u1ed9 \u1edf nh\u00e0.\n\nV\u1edbi m\u00ecnh \u0111\u00e2y l\u00e0 m\u1ed9t \u0111i\u1ec3m kh\u00e1 th\u1ef1c t\u1ebf.\n\n![](https:\/\/images.viblo.asia\/c240b5de-4a12-434d-8bfa-866742c1a449.png)\n\nV\u00ec kh\u00f3 nh\u1ea5t khi h\u1ecdc AI Agent kh\u00f4ng ph\u1ea3i hi\u1ec3u Agent l\u00e0 g\u00ec.\n\nKh\u00f3 nh\u1ea5t l\u00e0 l\u00fac h\u1ec7 th\u1ed1ng kh\u00f4ng ch\u1ea1y nh\u01b0 mong mu\u1ed1n v\u00e0 m\u00ecnh kh\u00f4ng bi\u1ebft l\u1ed7i n\u1eb1m \u1edf \u0111\u00e2u.\n\nC\u00f3 ng\u01b0\u1eddi h\u1ed7 tr\u1ee3 ngay trong giai \u0111o\u1ea1n \u0111\u00f3 s\u1ebd gi\u00fap ti\u1ebft ki\u1ec7m kh\u00e1 nhi\u1ec1u th\u1eddi gian m\u00f2 m\u1eabm.\n\n## So s\u00e1nh kh\u00f3a h\u1ecdc AI Agent c\u1ee7a SlimAI v\u1edbi c\u00e1c ngu\u1ed3n h\u1ecdc kh\u00e1c\n\nM\u00ecnh t\u1eebng th\u1eed t\u1ef1 h\u1ecdc AI Agent qua YouTube, c\u00e1c b\u00e0i blog v\u00e0 t\u00e0i li\u1ec7u ch\u00ednh th\u1ee9c c\u1ee7a nhi\u1ec1u c\u00f4ng c\u1ee5. Nh\u1eefng ngu\u1ed3n n\u00e0y c\u00f3 r\u1ea5t nhi\u1ec1u ki\u1ebfn th\u1ee9c, nh\u01b0ng sau khi h\u1ecdc t\u1ea1i SlimAI, m\u00ecnh th\u1ea5y \u0111i\u1ec3m kh\u00e1c bi\u1ec7t l\u1edbn nh\u1ea5t n\u1eb1m \u1edf c\u00e1ch bi\u1ebfn ki\u1ebfn th\u1ee9c th\u00e0nh m\u1ed9t Agent c\u00f3 th\u1ec3 d\u00f9ng \u0111\u01b0\u1ee3c trong c\u00f4ng vi\u1ec7c th\u1ef1c t\u1ebf.\n\n* **L\u1ed9 tr\u00ecnh h\u1ecdc:** SlimAI s\u1eafp x\u1ebfp n\u1ed9i dung theo h\u01b0\u1edbng t\u1eeb c\u00f4ng vi\u1ec7c c\u1ea7n gi\u1ea3i quy\u1ebft \u0111\u1ebfn c\u00e1ch x\u00e2y Agent, thay v\u00ec h\u1ecdc r\u1eddi r\u1ea1c t\u1eebng t\u00ednh n\u0103ng hay t\u1eebng c\u00f4ng c\u1ee5.\n* **T\u00ednh th\u1ef1c h\u00e0nh:** H\u1ecdc vi\u00ean kh\u00f4ng ch\u1ec9 xem demo m\u00e0 \u0111\u01b0\u1ee3c th\u1ef1c h\u00e0nh tr\u00ean ch\u00ednh c\u00f4ng vi\u1ec7c v\u00e0 d\u1eef li\u1ec7u c\u1ee7a m\u00ecnh. \u0110i\u1ec1u n\u00e0y gi\u00fap m\u00ecnh d\u1ec5 h\u00ecnh dung Agent s\u1ebd \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng nh\u01b0 th\u1ebf n\u00e0o sau kh\u00f3a h\u1ecdc.\n* **N\u1ed9i dung cho ng\u01b0\u1eddi \u0111i l\u00e0m:** C\u00e1c b\u00e0i t\u1eadp xoay quanh nh\u1eefng vi\u1ec7c kh\u00e1 quen thu\u1ed9c nh\u01b0 x\u1eed l\u00fd email, t\u1ed5ng h\u1ee3p cu\u1ed9c h\u1ecdp, l\u00e0m b\u00e1o c\u00e1o, t\u00ecm kh\u00e1ch h\u00e0ng ti\u1ec1m n\u0103ng, ph\u00e2n lo\u1ea1i CV hay h\u1ecfi \u0111\u00e1p t\u00e0i li\u1ec7u n\u1ed9i b\u1ed9.\n* **Kh\u00f4ng y\u00eau c\u1ea7u bi\u1ebft l\u1eadp tr\u00ecnh:** Nh\u1eefng kh\u00e1i ni\u1ec7m nh\u01b0 MCP, skill, subagent hay context \u0111\u01b0\u1ee3c gi\u1ea3i th\u00edch th\u00f4ng qua t\u00ecnh hu\u1ed1ng th\u1ef1c t\u1ebf, n\u00ean ng\u01b0\u1eddi kh\u00f4ng c\u00f3 n\u1ec1n t\u1ea3ng k\u1ef9 thu\u1eadt v\u1eabn c\u00f3 th\u1ec3 theo \u0111\u01b0\u1ee3c.\n* **H\u1ed7 tr\u1ee3 khi th\u1ef1c h\u00e0nh:** \u0110\u00e2y l\u00e0 \u0111i\u1ec3m m\u00ecnh th\u1ea5y kh\u00e1c r\u00f5 nh\u1ea5t so v\u1edbi t\u1ef1 h\u1ecdc. Khi Agent ch\u1ea1y sai ho\u1eb7c kh\u00f4ng ho\u1ea1t \u0111\u1ed9ng nh\u01b0 mong mu\u1ed1n, c\u00f3 mentor h\u1ed7 tr\u1ee3 t\u00ecm nguy\u00ean nh\u00e2n s\u1ebd nhanh h\u01a1n kh\u00e1 nhi\u1ec1u so v\u1edbi t\u1ef1 m\u00f2 t\u00e0i li\u1ec7u.\n* **H\u1ecdc c\u00e1ch ki\u1ec3m so\u00e1t Agent:** Kh\u00f3a h\u1ecdc kh\u00f4ng ch\u1ec9 h\u01b0\u1edbng d\u1eabn c\u00e1ch \u0111\u1ec3 AI t\u1ef1 l\u00e0m vi\u1ec7c m\u00e0 c\u00f2n c\u00f3 ph\u1ea7n ki\u1ec3m th\u1eed, ki\u1ec3m tra nh\u1eadt k\u00fd v\u00e0 thi\u1ebft l\u1eadp b\u01b0\u1edbc ph\u00ea duy\u1ec7t tr\u01b0\u1edbc nh\u1eefng h\u00e0nh \u0111\u1ed9ng quan tr\u1ecdng.\n* **\u0110o k\u1ebft qu\u1ea3 th\u1ef1c t\u1ebf:** Thay v\u00ec ch\u1ec9 ho\u00e0n th\u00e0nh b\u00e0i h\u1ecdc, h\u1ecdc vi\u00ean \u0111\u01b0\u1ee3c h\u01b0\u1edbng t\u1edbi vi\u1ec7c \u0111\u00e1nh gi\u00e1 Agent d\u1ef1a tr\u00ean th\u1eddi gian ti\u1ebft ki\u1ec7m, t\u1ed1c \u0111\u1ed9 x\u1eed l\u00fd v\u00e0 ch\u1ea5t l\u01b0\u1ee3ng c\u00f4ng vi\u1ec7c sau khi \u00e1p d\u1ee5ng.\n\nSo v\u1edbi vi\u1ec7c t\u1ef1 h\u1ecdc qua YouTube hay t\u00e0i li\u1ec7u, m\u00ecnh th\u1ea5y kh\u00f3a SlimAI gi\u00fap ti\u1ebft ki\u1ec7m kh\u00e1 nhi\u1ec1u th\u1eddi gian th\u1eed sai. M\u00ecnh kh\u00f4ng ph\u1ea3i t\u1ef1 gh\u00e9p t\u1eebng ki\u1ebfn th\u1ee9c r\u1eddi r\u1ea1c m\u00e0 c\u00f3 m\u1ed9t l\u1ed9 tr\u00ecnh r\u00f5 h\u01a1n \u0111\u1ec3 \u0111i t\u1eeb m\u1ed9t c\u00f4ng vi\u1ec7c \u0111ang l\u00e0m th\u1ee7 c\u00f4ng \u0111\u1ebfn m\u1ed9t Agent c\u00f3 th\u1ec3 h\u1ed7 tr\u1ee3 x\u1eed l\u00fd c\u00f4ng vi\u1ec7c \u0111\u00f3.\n\nD\u0129 nhi\u00ean, n\u1ebfu ch\u1ec9 mu\u1ed1n t\u00ecm hi\u1ec3u AI Agent l\u00e0 g\u00ec ho\u1eb7c th\u1eed m\u1ed9t v\u00e0i t\u00ednh n\u0103ng c\u01a1 b\u1ea3n th\u00ec c\u00e1c ngu\u1ed3n mi\u1ec5n ph\u00ed \u0111\u00e3 kh\u00e1 \u0111\u1ea7y \u0111\u1ee7. Nh\u01b0ng n\u1ebfu mu\u1ed1n \u00e1p d\u1ee5ng AI Agent v\u00e0o c\u00f4ng vi\u1ec7c th\u1eadt v\u00e0 c\u1ea7n ng\u01b0\u1eddi h\u1ed7 tr\u1ee3 trong qu\u00e1 tr\u00ecnh x\u00e2y d\u1ef1ng, m\u00ecnh ngh\u0129 h\u1ecdc theo m\u1ed9t ch\u01b0\u01a1ng tr\u00ecnh b\u00e0i b\u1ea3n s\u1ebd hi\u1ec7u qu\u1ea3 h\u01a1n.\n\n> N\u1ebfu b\u1ea1n mu\u1ed1n xem k\u1ef9 n\u1ed9i dung, l\u1ecbch h\u1ecdc v\u00e0 c\u00e1ch \u0111\u0103ng k\u00fd, c\u00f3 th\u1ec3 t\u00ecm hi\u1ec3u **[Kh\u00f3a h\u1ecdc AI Agent c\u1ee7a SlimAI t\u1ea1i \u0111\u00e2y](https:\/\/ai.slim.vn\/khoa-hoc-ai-agent)**.\n\n![](https:\/\/images.viblo.asia\/ad00cd80-22d2-4c72-8d34-eec9d04fbb12.jpg)\n\n\n## H\u1ecdc Kh\u00f3a h\u1ecdc AI Agent c\u00f3 kh\u00f3 kh\u00f4ng?\n\nTr\u01b0\u1edbc khi t\u00ecm hi\u1ec3u AI Agent, m\u00ecnh t\u1eebng ngh\u0129 \u0111\u00e2y l\u00e0 th\u1ee9 d\u00e0nh cho developer.\n\nC\u00e1c kh\u00e1i ni\u1ec7m nh\u01b0 MCP, subagent, context, tool hay workflow nghe kh\u00e1 k\u1ef9 thu\u1eadt.\n\nNh\u01b0ng khi \u0111\u01b0a ch\u00fang v\u1ec1 m\u1ed9t c\u00f4ng vi\u1ec7c c\u1ee5 th\u1ec3 th\u00ec m\u1ecdi th\u1ee9 d\u1ec5 hi\u1ec3u h\u01a1n nhi\u1ec1u.\n\nGi\u1ea3ng vi\u00ean c\u1ee7a SlimAI c\u0169ng gi\u1ea3i th\u00edch c\u00e1c kh\u00e1i ni\u1ec7m v\u00e0 c\u00f4ng c\u1ee5 n\u00e0y g\u1eafn v\u1edbi v\u00ed d\u1ee5 th\u1ef1c t\u1ebf kh\u00e1 d\u1ec5 hi\u1ec3u n\u00ean m\u00ecnh h\u1ecdc nhanh h\u01a1n.\n\nNgo\u00e0i ra, c\u00e1c thao t\u00e1c th\u1ef1c hi\u1ec7n trong kh\u00f3a h\u1ecdc kh\u00e1 \u0111\u01a1n gi\u1ea3n. Ph\u1ea7n l\u1edbn th\u1eddi gian m\u00ecnh ch\u1ec9 c\u1ea7n \u0111\u01b0a ra c\u00e2u l\u1ec7nh gi\u1ed1ng nh\u01b0 c\u00e1ch chat b\u00ecnh th\u01b0\u1eddng v\u1edbi AI.\n\n![](https:\/\/images.viblo.asia\/928f7f3e-81be-421c-a137-0fe5df69dbc1.jpg)\n\n## C\u00f3 n\u00ean h\u1ecdc Kh\u00f3a h\u1ecdc AI Agent c\u1ee7a SlimAI kh\u00f4ng?\n\nN\u1ebfu m\u1ee5c ti\u00eau ch\u1ec9 l\u00e0 t\u00ecm hi\u1ec3u AI Agent l\u00e0 g\u00ec, m\u00ecnh ngh\u0129 c\u00f3 r\u1ea5t nhi\u1ec1u t\u00e0i li\u1ec7u mi\u1ec5n ph\u00ed tr\u00ean m\u1ea1ng \u0111\u00e3 \u0111\u1ee7 \u0111\u1ec3 b\u1eaft \u0111\u1ea7u.\n\nNh\u01b0ng n\u1ebfu m\u1ee5c ti\u00eau l\u00e0 **t\u1ef1 x\u00e2y \u0111\u01b0\u1ee3c Agent \u00e1p d\u1ee5ng v\u00e0o ch\u00ednh c\u00f4ng vi\u1ec7c c\u1ee7a m\u00ecnh**, th\u00ec c\u00e1ch h\u1ecdc c\u00f3 ng\u01b0\u1eddi h\u01b0\u1edbng d\u1eabn s\u1ebd kh\u00e1c kh\u00e1 nhi\u1ec1u so v\u1edbi ch\u1ec9 xem video.\n\n\u0110i\u1ec3m m\u00ecnh \u0111\u00e1nh gi\u00e1 cao nh\u1ea5t \u1edf **Kh\u00f3a h\u1ecdc AI Agent c\u1ee7a SlimAI** kh\u00f4ng n\u1eb1m \u1edf vi\u1ec7c gi\u1edbi thi\u1ec7u th\u1eadt nhi\u1ec1u c\u00f4ng c\u1ee5.\n\n\u0110\u00f3 l\u00e0 c\u00e1ch ch\u01b0\u01a1ng tr\u00ecnh bu\u1ed9c h\u1ecdc vi\u00ean quay tr\u1edf l\u1ea1i m\u1ed9t c\u00e2u h\u1ecfi r\u1ea5t th\u1ef1c t\u1ebf:\n\n**Sau kh\u00f3a h\u1ecdc, c\u00f4ng vi\u1ec7c n\u00e0o c\u1ee7a m\u00ecnh \u0111\u00e3 th\u1ef1c s\u1ef1 \u0111\u01b0\u1ee3c AI h\u1ed7 tr\u1ee3 ho\u1eb7c t\u1ef1 \u0111\u1ed9ng h\u00f3a?**\n\nKh\u00f3a h\u1ecdc th\u1eadm ch\u00ed thi\u1ebft k\u1ebf vi\u1ec7c \u0111o k\u1ebft qu\u1ea3 d\u1ef1a tr\u00ean s\u1ed1 gi\u1edd ti\u1ebft ki\u1ec7m, chi ph\u00ed, t\u1ed1c \u0111\u1ed9 x\u1eed l\u00fd v\u00e0 ch\u1ea5t l\u01b0\u1ee3ng c\u00f4ng vi\u1ec7c thay v\u00ec ch\u1ec9 \u0111o s\u1ed1 bu\u1ed5i \u0111\u00e3 tham gia.\n\nTheo m\u00ecnh, \u0111\u00e2y m\u1edbi l\u00e0 c\u00e1ch h\u1ee3p l\u00fd \u0111\u1ec3 h\u1ecdc AI Agent.\n\nKh\u00f4ng ph\u1ea3i h\u1ecdc \u0111\u1ec3 bi\u1ebft th\u00eam v\u1ec1 AI.\n\nM\u00e0 h\u1ecdc \u0111\u1ec3 **AI b\u1eaft \u0111\u1ea7u l\u00e0m \u0111\u01b0\u1ee3c vi\u1ec7c cho m\u00ecnh**.\n\n![](https:\/\/images.viblo.asia\/62522598-6a07-4b4a-ace7-990743a582ca.jpg)\n\nN\u1ebfu b\u1ea1n \u0111ang s\u1eed d\u1ee5ng ChatGPT, Claude ho\u1eb7c c\u00e1c c\u00f4ng c\u1ee5 AI m\u1ed7i ng\u00e0y nh\u01b0ng ph\u1ea7n l\u1edbn c\u00f4ng vi\u1ec7c v\u1eabn ph\u1ea3i copy, paste v\u00e0 x\u1eed l\u00fd th\u1ee7 c\u00f4ng, **Kh\u00f3a h\u1ecdc AI Agent** l\u00e0 m\u1ed9t h\u01b0\u1edbng \u0111\u00e1ng \u0111\u1ec3 t\u00ecm hi\u1ec3u.\n\nQuan tr\u1ecdng nh\u1ea5t l\u00e0 tr\u01b0\u1edbc khi \u0111\u0103ng k\u00fd, h\u00e3y th\u1eed li\u1ec7t k\u00ea ba c\u00f4ng vi\u1ec7c l\u1eb7p l\u1ea1i \u0111ang khi\u1ebfn b\u1ea1n m\u1ea5t nhi\u1ec1u th\u1eddi gian nh\u1ea5t m\u1ed7i tu\u1ea7n.\n\nN\u1ebfu c\u00f3 th\u1ec3 t\u00ecm \u0111\u01b0\u1ee3c ba vi\u1ec7c \u0111\u00f3, b\u1ea1n \u0111\u00e3 c\u00f3 \u0111i\u1ec3m b\u1eaft \u0111\u1ea7u r\u1ea5t t\u1ed1t \u0111\u1ec3 x\u00e2y Agent \u0111\u1ea7u ti\u00ean c\u1ee7a m\u00ecnh.\n\n\ud83d\udc49 **B\u1ea1n c\u00f3 th\u1ec3 [t\u00ecm hi\u1ec3u th\u00eam ho\u1eb7c \u0111\u0103ng k\u00fd Kh\u00f3a h\u1ecdc AI Agent t\u1ea1i \u0111\u00e2y](https:\/\/ai.slim.vn\/khoa-hoc-ai-agent).**","published_at":"2026-10-05T10:19:57.000000Z","scheduled_publish_at":null,"is_published":true,"is_shared":false,"updated_at":"2026-10-05T10:23:30.000000Z","edited_at":"2026-10-05T10:23:30.000000Z","translation_source":null,"trend_at":null,"promoted_at":null,"reading_time":18,"points":0,"views_count":1,"clips_count":0,"comments_count":0,"rated_value":null,"promoted":false,"trending":false,"is_draft":false,"is_public":true,"locale_code":"vi","is_video":false,"thumbnail_url":"https:\/\/images.viblo.asia\/b71ddcee-0c69-4c0f-94f2-9a005566d951.png","user":{"data":{"id":191338,"url":"https:\/\/viblo.asia\/u\/quysala12","avatar":"6a3b7396-f9d0-41eb-a82f-5c4afdbbfd2c.jpg","name":"Qu\u00fd","username":"quysala12","followers_count":0,"reputation":0,"posts_count":4,"banned_at":null,"level_partner":null,"following":false}},"tags":{"data":[{"slug":"ai-agent","name":"AI Agent"},{"slug":"ai-agents","name":"ai agents"},{"slug":"khoa-hoc-ai","name":"kh\u00f3a h\u1ecdc AI"},{"slug":"build-ai-agents","name":"build AI agents"}]},"commentators":{"data":[]}},{"id":108273,"title":"Review Kh\u00f3a h\u1ecdc AI Agent c\u1ee7a SlimAI (Tr\u1ea3i nghi\u1ec7m th\u1ef1c t\u1ebf)","slug":"R5JRQl6D4Gv","url":"https:\/\/viblo.asia\/p\/review-khoa-hoc-ai-agent-cua-slimai-trai-nghiem-thuc-te-R5JRQl6D4Gv","user_id":203168,"moderation":"discarded","transliterated":"review-khoa-hoc-ai-agent-cua-slimai-trai-nghiem-thuc-te","contents_short":"Tr\u01b0\u1edbc \u0111\u00e2y m\u00ecnh d\u00f9ng AI kh\u00e1 th\u01b0\u1eddng xuy\u00ean, nh\u01b0ng ch\u1ee7 y\u1ebfu v\u1eabn l\u00e0 h\u1ecfi AI r\u1ed3i t\u1ef1 x\u1eed l\u00fd c\u00e1c b\u01b0\u1edbc c\u00f2n l\u1ea1i. Khi t\u00ecm hi\u1ec3u v\u1ec1 AI Agent, m\u00ecnh nh\u1eadn ra AI hi\u1ec7n nay c\u00f3 th\u1ec3 l\u00e0m nhi\u1ec1u h\u01a1n vi\u1ec7c tr\u1ea3 l\u1eddi c\u00e2u h\u1ecfi, n\u00f3 c\u00f3 th\u1ec3 tr\u1ef1c ti\u1ebfp s\u1eed d\u1ee5ng m\u00e1y t\u00ednh c\u1ee7a m\u00ecnh \u0111\u1ec3 c\u1ea3 m\u1ed9t quy tr\u00ecnh \u0111\u1ec3 \u0111\u01b0a ra k\u1ebft qu\u1ea3 cu\u1ed1i c\u00f9ng. \u0110\u00f3 l\u00e0 l\u00fd do m\u00ecnh t\u00ecm \u0111\u1ebfn Kh\u00f3a h\u1ecdc AI Agent c\u1ee7a SlimAI, v\u1edbi m\u1ee5c ti\u00eau bi\u1ebfn nh\u1eefng c\u00f4ng vi\u1ec7c l\u1eb7p l\u1ea1i h\u1eb1ng ng\u00e0y t...","contents":"Tr\u01b0\u1edbc \u0111\u00e2y m\u00ecnh d\u00f9ng AI kh\u00e1 th\u01b0\u1eddng xuy\u00ean, nh\u01b0ng ch\u1ee7 y\u1ebfu v\u1eabn l\u00e0 h\u1ecfi AI r\u1ed3i t\u1ef1 x\u1eed l\u00fd c\u00e1c b\u01b0\u1edbc c\u00f2n l\u1ea1i. Khi t\u00ecm hi\u1ec3u v\u1ec1 AI Agent, m\u00ecnh nh\u1eadn ra AI hi\u1ec7n nay c\u00f3 th\u1ec3 l\u00e0m nhi\u1ec1u h\u01a1n vi\u1ec7c tr\u1ea3 l\u1eddi c\u00e2u h\u1ecfi, n\u00f3 c\u00f3 th\u1ec3 tr\u1ef1c ti\u1ebfp s\u1eed d\u1ee5ng m\u00e1y t\u00ednh c\u1ee7a m\u00ecnh \u0111\u1ec3 c\u1ea3 m\u1ed9t quy tr\u00ecnh \u0111\u1ec3 \u0111\u01b0a ra k\u1ebft qu\u1ea3 cu\u1ed1i c\u00f9ng. \u0110\u00f3 l\u00e0 l\u00fd do m\u00ecnh t\u00ecm \u0111\u1ebfn **Kh\u00f3a h\u1ecdc AI Agent c\u1ee7a SlimAI**, v\u1edbi m\u1ee5c ti\u00eau bi\u1ebfn nh\u1eefng c\u00f4ng vi\u1ec7c l\u1eb7p l\u1ea1i h\u1eb1ng ng\u00e0y th\u00e0nh c\u00e1c nhi\u1ec7m v\u1ee5 c\u00f3 th\u1ec3 giao cho AI.\n\n\n## Kh\u00f3a h\u1ecdc AI Agent l\u00e0 g\u00ec? V\u00ec sao m\u00ecnh quy\u1ebft \u0111\u1ecbnh \u0111\u0103ng k\u00fd h\u1ecdc\n\nM\u00ecnh bi\u1ebft \u0111\u1ebfn AI Agent khi th\u1ea5y ng\u00e0y c\u00e0ng nhi\u1ec1u ng\u01b0\u1eddi chia s\u1ebb v\u1ec1 vi\u1ec7c d\u00f9ng AI \u0111\u1ec3 t\u1ef1 \u0111\u1ed9ng truy\u1ec1n th\u00f4ng, tuy\u1ec3n d\u1ee5ng hay l\u00e0m vi\u1ec7c v\u1edbi nhi\u1ec1u c\u00f4ng vi\u1ec7c kh\u00e1c nhau. \u0110i\u1ec1u n\u00e0y khi\u1ebfn m\u00ecnh kh\u00e1 t\u00f2 m\u00f2 v\u00ec tr\u01b0\u1edbc \u0111\u00f3 m\u00ecnh v\u1eabn ch\u1ee7 y\u1ebfu d\u00f9ng ChatGPT theo ki\u1ec3u h\u1ecfi t\u1eebng vi\u1ec7c m\u1ed9t.\n\nHi\u1ec3u \u0111\u01a1n gi\u1ea3n, **AI Agent** l\u00e0 m\u1ed9t nh\u00e2n vi\u00ean AI c\u00f3 th\u1ec3 nh\u1eadn nhi\u1ec7m v\u1ee5, t\u1ef1 x\u00e1c \u0111\u1ecbnh c\u00e1c b\u01b0\u1edbc c\u1ea7n l\u00e0m v\u00e0 s\u1eed d\u1ee5ng nh\u1eefng c\u00f4ng c\u1ee5 \u0111\u01b0\u1ee3c c\u1ea5p quy\u1ec1n \u0111\u1ec3 ho\u00e0n th\u00e0nh c\u00f4ng vi\u1ec7c.\n\nBan \u0111\u1ea7u m\u00ecnh th\u1eed t\u1ef1 h\u1ecdc qua YouTube, t\u00e0i li\u1ec7u v\u00e0 c\u00e1c b\u00e0i h\u01b0\u1edbng d\u1eabn tr\u00ean m\u1ea1ng. Nh\u01b0ng c\u00e0ng t\u00ecm hi\u1ec3u l\u1ea1i c\u00e0ng th\u1ea5y nhi\u1ec1u kh\u00e1i ni\u1ec7m nh\u01b0 MCP, skill, subagent, workflow hay context. M\u1ed7i n\u01a1i h\u01b0\u1edbng d\u1eabn m\u1ed9t c\u00f4ng c\u1ee5 kh\u00e1c nhau n\u00ean m\u00ecnh bi\u1ebft th\u00eam kh\u00e1 nhi\u1ec1u th\u1ee9 nh\u01b0ng v\u1eabn ch\u01b0a h\u00ecnh dung \u0111\u01b0\u1ee3c n\u00ean b\u1eaft \u0111\u1ea7u t\u1eeb \u0111\u00e2u \u0111\u1ec3 \u00e1p d\u1ee5ng v\u00e0o c\u00f4ng vi\u1ec7c th\u1eadt.\n\nSau m\u1ed9t th\u1eddi gian t\u1ef1 h\u1ecdc kh\u00f4ng hi\u1ec7u qu\u1ea3, m\u00ecnh b\u1eaft \u0111\u1ea7u t\u00ecm c\u00e1c kh\u00f3a h\u1ecdc d\u00e0nh cho ng\u01b0\u1eddi \u0111i l\u00e0m. Trong l\u00fac h\u1ecfi ChatGPT \u0111\u1ec3 tham kh\u1ea3o m\u1ed9t s\u1ed1 n\u01a1i \u0111\u00e0o t\u1ea1o, m\u00ecnh t\u00ecnh c\u1edd bi\u1ebft \u0111\u1ebfn [**Kh\u00f3a h\u1ecdc AI Agent**](https:\/\/ai.slim.vn\/khoa-hoc-ai-agent) c\u1ee7a **SlimAI Education** v\u00e0 b\u1eaft \u0111\u1ea7u t\u00ecm hi\u1ec3u th\u00eam v\u1ec1 ch\u01b0\u01a1ng tr\u00ecnh c\u1ee7a h\u1ecd.\n\n![](https:\/\/images.viblo.asia\/43193f5b-a4a4-4529-9218-a9aed4a5d9cb.png)\n\n\u0110i\u1ec3m khi\u1ebfn m\u00ecnh ch\u00fa \u00fd l\u00e0 n\u1ed9i dung kh\u00f3a h\u1ecdc t\u1eadp trung kh\u00e1 nhi\u1ec1u v\u00e0o c\u00f4ng vi\u1ec7c: **g\u1ed3m 15 t\u00ecnh hu\u1ed1ng th\u1ef1c t\u1ebf v\u00e0 12 k\u1ef9 n\u0103ng n\u1ec1n t\u1ea3ng**. \u0110\u1ecdc k\u1ef9 ch\u01b0\u01a1ng tr\u00ecnh, m\u00ecnh th\u1ea5y c\u00e1ch h\u1ecdc kh\u00e1 \u0111\u00fang v\u1edbi v\u1ea5n \u0111\u1ec1 m\u00ecnh \u0111ang g\u1eb7p: kh\u00f4ng c\u1ed1 h\u1ecdc th\u1eadt nhi\u1ec1u c\u00f4ng c\u1ee5 m\u00e0 b\u1eaft \u0111\u1ea7u t\u1eeb m\u1ed9t c\u00f4ng vi\u1ec7c \u0111ang t\u1ed1n th\u1eddi gian v\u00e0 t\u1eebng b\u01b0\u1edbc bi\u1ebfn n\u00f3 th\u00e0nh nhi\u1ec7m v\u1ee5 c\u00f3 th\u1ec3 giao cho AI. V\u00ec v\u1eady m\u00ecnh quy\u1ebft \u0111\u1ecbnh \u0111\u0103ng k\u00fd h\u1ecdc lu\u00f4n.\n\n\n## Tr\u1ea3i nghi\u1ec7m c\u1ee7a m\u00ecnh khi h\u1ecdc Kh\u00f3a h\u1ecdc AI Agent t\u1ea1i SlimAI\n\n\u0110i\u1ec3m kh\u00e1c m\u00ecnh nh\u1eadn th\u1ea5y ngay t\u1eeb c\u00e1ch thi\u1ebft k\u1ebf ch\u01b0\u01a1ng tr\u00ecnh l\u00e0 kh\u00f3a h\u1ecdc kh\u00f4ng b\u1eaft \u0111\u1ea7u b\u1eb1ng h\u00e0ng lo\u1ea1t kh\u00e1i ni\u1ec7m k\u1ef9 thu\u1eadt.\n\nThay v\u00e0o \u0111\u00f3, h\u1ecdc vi\u00ean c\u1ea7n x\u00e1c \u0111\u1ecbnh tr\u01b0\u1edbc nh\u1eefng c\u00f4ng vi\u1ec7c l\u1eb7p l\u1ea1i \u0111ang t\u1ed1n th\u1eddi gian.\n\nTrong ch\u01b0\u01a1ng tr\u00ecnh, m\u1ed7i ng\u01b0\u1eddi ch\u1ecdn m\u1ed9t c\u00f4ng vi\u1ec7c tr\u1ecdng t\u00e2m v\u00e0 \u00edt nh\u1ea5t ba t\u00ecnh hu\u1ed1ng th\u1ef1c t\u1ebf \u0111\u1ec3 tri\u1ec3n khai trong kh\u00f3a h\u1ecdc. N\u1ed9i dung sau \u0111\u00f3 \u0111\u01b0\u1ee3c thi\u1ebft k\u1ebf ng\u01b0\u1ee3c t\u1eeb k\u1ebft qu\u1ea3 c\u00f4ng vi\u1ec7c c\u1ea7n \u0111\u1ea1t, h\u00e0nh vi c\u1ea7n thay \u0111\u1ed5i, k\u1ef9 n\u0103ng c\u1ea7n h\u1ecdc r\u1ed3i m\u1edbi \u0111\u1ebfn ki\u1ebfn th\u1ee9c c\u1ea7n s\u1eed d\u1ee5ng.\n\n### Kh\u00f4ng ch\u1ec9 nh\u00ecn gi\u1ea3ng vi\u00ean l\u00e0m demo\n\nPh\u01b0\u01a1ng ph\u00e1p c\u1ee7a kh\u00f3a h\u1ecdc \u0111\u01b0\u1ee3c x\u00e2y d\u1ef1ng theo ba b\u01b0\u1edbc **Th\u1ea5y \u2013 L\u00e0m \u2013 Hi\u1ec3u**.\n![](https:\/\/images.viblo.asia\/73680561-c54b-4ec0-86cf-ad3a64e2889a.png)\n\u0110\u1ea7u ti\u00ean, gi\u1ea3ng vi\u00ean tr\u00ecnh di\u1ec5n m\u1ed9t t\u00ecnh hu\u1ed1ng ho\u00e0n ch\u1ec9nh. Sau \u0111\u00f3 h\u1ecdc vi\u00ean th\u1ef1c hi\u1ec7n l\u1ea1i tr\u00ean ch\u00ednh c\u00f4ng vi\u1ec7c v\u00e0 d\u1eef li\u1ec7u c\u1ee7a m\u00ecnh. Cu\u1ed1i c\u00f9ng, h\u1ecdc vi\u00ean ph\u1ea3i t\u1ef1 x\u1eed l\u00fd m\u1ed9t t\u00ecnh hu\u1ed1ng m\u1edbi thay v\u00ec ph\u1ee5 thu\u1ed9c ho\u00e0n to\u00e0n v\u00e0o m\u1eabu c\u00f3 s\u1eb5n.\n\n\u0110\u00e2y l\u00e0 ph\u1ea7n m\u00ecnh \u0111\u00e1nh gi\u00e1 kh\u00e1 cao.\n\nN\u1ebfu ch\u1ec9 xem m\u1ed9t video ng\u01b0\u1eddi kh\u00e1c x\u00e2y Agent, m\u1ecdi th\u1ee9 th\u01b0\u1eddng c\u00f3 c\u1ea3m gi\u00e1c r\u1ea5t d\u1ec5. Nh\u01b0ng \u0111\u1ebfn l\u00fac \u0111\u01b0a d\u1eef li\u1ec7u th\u1eadt c\u1ee7a m\u00ecnh v\u00e0o th\u00ec v\u1ea5n \u0111\u1ec1 m\u1edbi b\u1eaft \u0111\u1ea7u xu\u1ea5t hi\u1ec7n.\n\n### B\u00e0i t\u1eadp g\u1ea7n v\u1edbi c\u00f4ng vi\u1ec7c h\u01a1n m\u00ecnh ngh\u0129\n\nM\u1ed9t trong nh\u1eefng b\u00e0i t\u1eadp kh\u1edfi \u0111\u1ed9ng l\u00e0 \u0111\u1ec3 Agent \u0111\u1ecdc email \u0111\u1ebfn, ph\u00e2n lo\u1ea1i m\u1ee9c \u0111\u1ed9 \u01b0u ti\u00ean v\u00e0 chu\u1ea9n b\u1ecb n\u1ed9i dung tr\u1ea3 l\u1eddi. M\u1ed9t b\u00e0i kh\u00e1c l\u00e0 y\u00eau c\u1ea7u Agent x\u1eed l\u00fd m\u1ed9t th\u01b0 m\u1ee5c l\u1ed9n x\u1ed9n, t\u1ef1 ph\u00e2n lo\u1ea1i, \u0111\u1ed5i t\u00ean v\u00e0 di chuy\u1ec3n file theo quy t\u1eafc.\n\n![](https:\/\/images.viblo.asia\/2ffe6e9a-6755-4ff5-b403-264ede05bad6.png)\n\nNh\u00ecn qua th\u00ec hai b\u00e0i n\u00e0y kh\u00e1 \u0111\u01a1n gi\u1ea3n, nh\u01b0ng l\u1ea1i gi\u00fap m\u00ecnh hi\u1ec3u \u0111\u01b0\u1ee3c c\u00e1ch giao nhi\u1ec7m v\u1ee5 cho Agent r\u00f5 h\u01a1n nhi\u1ec1u so v\u1edbi vi\u1ec7c ch\u1ec9 h\u1ecdc l\u00fd thuy\u1ebft.\n\nKhi \u0111\u00e3 quen v\u1edbi c\u00e1ch l\u00e0m, c\u00e1c t\u00ecnh hu\u1ed1ng \u0111\u01b0\u1ee3c m\u1edf r\u1ed9ng sang nh\u1eefng c\u00f4ng vi\u1ec7c ph\u1ee9c t\u1ea1p h\u01a1n.\n\n![](https:\/\/images.viblo.asia\/9f4b4f80-b6d8-4224-b285-bed48a982534.png)\n\nV\u00ed d\u1ee5, Agent c\u00f3 th\u1ec3 \u0111\u1ecdc b\u1ea3n ghi cu\u1ed9c h\u1ecdp, t\u1ea1o bi\u00ean b\u1ea3n, ph\u00e2n c\u00f4ng nhi\u1ec7m v\u1ee5 v\u00e0 chu\u1ea9n b\u1ecb email g\u1eedi l\u1ea1i. Ho\u1eb7c m\u1ed7i s\u00e1ng t\u1ef1 ch\u1ea1y b\u00e1o c\u00e1o r\u1ed3i g\u1eedi ph\u1ea7n t\u00f3m t\u1eaft qua email ho\u1eb7c nh\u00f3m l\u00e0m vi\u1ec7c.\n\n\u0110\u1ebfn \u0111\u00e2y m\u00ecnh m\u1edbi th\u1ea5y r\u00f5 s\u1ef1 kh\u00e1c bi\u1ec7t gi\u1eefa vi\u1ec7c d\u00f9ng AI \u0111\u1ec3 h\u1ed7 tr\u1ee3 m\u1ed9t thao t\u00e1c v\u00e0 vi\u1ec7c giao c\u1ea3 m\u1ed9t quy tr\u00ecnh cho AI.\\\n\n\n## M\u00ecnh h\u1ecdc \u0111\u01b0\u1ee3c g\u00ec sau Kh\u00f3a h\u1ecdc AI Agent?\n\n\u0110i\u1ec1u m\u00ecnh nh\u1eadn \u0111\u01b0\u1ee3c nhi\u1ec1u nh\u1ea5t kh\u00f4ng ph\u1ea3i l\u00e0 bi\u1ebft th\u00eam m\u1ed9t v\u00e0i c\u00e2u prompt.\n\u0110\u00f3 l\u00e0 c\u00e1ch nh\u00ecn m\u1ed9t c\u00f4ng vi\u1ec7c d\u01b0\u1edbi g\u00f3c \u0111\u1ed9 Agent.\n\nTr\u01b0\u1edbc khi giao vi\u1ec7c cho AI, m\u00ecnh ph\u1ea3i x\u00e1c \u0111\u1ecbnh:\n* \u0110\u1ea7u v\u00e0o c\u1ee7a c\u00f4ng vi\u1ec7c l\u00e0 g\u00ec.\n* Agent c\u1ea7n \u0111\u1ecdc d\u1eef li\u1ec7u n\u00e0o.\n* Agent \u0111\u01b0\u1ee3c ph\u00e9p s\u1eed d\u1ee5ng c\u00f4ng c\u1ee5 n\u00e0o.\n* K\u1ebft qu\u1ea3 cu\u1ed1i c\u00f9ng ph\u1ea3i c\u00f3 d\u1ea1ng g\u00ec.\n* Tr\u01b0\u1eddng h\u1ee3p n\u00e0o Agent \u0111\u01b0\u1ee3c t\u1ef1 x\u1eed l\u00fd.\n* Tr\u01b0\u1eddng h\u1ee3p n\u00e0o b\u1eaft bu\u1ed9c ph\u1ea3i h\u1ecfi con ng\u01b0\u1eddi.\n\n\u0110\u00e2y l\u00e0 nh\u1eefng th\u1ee9 tr\u01b0\u1edbc \u0111\u00e2y m\u00ecnh g\u1ea7n nh\u01b0 kh\u00f4ng ngh\u0129 t\u1edbi khi s\u1eed d\u1ee5ng AI.\n![](https:\/\/images.viblo.asia\/1b3b3a05-00cc-445d-ba7f-19004f104b17.png)\n\n### Bi\u1ebft c\u00e1ch k\u1ebft n\u1ed1i Agent v\u1edbi c\u00f4ng c\u1ee5 l\u00e0m vi\u1ec7c\n\n\nM\u1ed9t ph\u1ea7n quan tr\u1ecdng kh\u00e1c c\u1ee7a kh\u00f3a h\u1ecdc l\u00e0 c\u00e1ch \u0111\u1ec3 Agent kh\u00f4ng ch\u1ec9 l\u00e0m vi\u1ec7c trong c\u1eeda s\u1ed5 chat.\nCh\u01b0\u01a1ng tr\u00ecnh c\u00f3 c\u00e1c n\u1ed9i dung v\u1ec1 k\u1ebft n\u1ed1i Agent v\u1edbi Gmail, Google Drive, l\u1ecbch, Notion v\u00e0 CRM th\u00f4ng qua MCP. H\u1ecdc vi\u00ean c\u0169ng \u0111\u01b0\u1ee3c l\u00e0m quen v\u1edbi vi\u1ec7c t\u1ea1o skill c\u00f3 th\u1ec3 t\u00e1i s\u1eed d\u1ee5ng, s\u1eed d\u1ee5ng file ng\u1eef c\u1ea3nh, b\u1ed9 nh\u1edb d\u1ef1 \u00e1n, subagent v\u00e0 l\u00ean l\u1ecbch cho Agent ch\u1ea1y t\u1ef1 \u0111\u1ed9ng.\n\n\u0110\u00e2y l\u00e0 l\u00fac m\u00ecnh b\u1eaft \u0111\u1ea7u hi\u1ec3u t\u1ea1i sao AI Agent l\u1ea1i kh\u00e1c v\u1edbi vi\u1ec7c \u0111\u01a1n gi\u1ea3n t\u1ea3i t\u00e0i li\u1ec7u l\u00ean ChatGPT r\u1ed3i \u0111\u1eb7t c\u00e2u h\u1ecfi.\n\nM\u1ed9t chatbot c\u00f3 th\u1ec3 tr\u1ea3 l\u1eddi.\n\nM\u1ed9t AI Agent c\u1ea7n bi\u1ebft **l\u00e0m g\u00ec ti\u1ebfp theo sau khi c\u00f3 c\u00e2u tr\u1ea3 l\u1eddi**.\n\n\n\n### Bi\u1ebft khi n\u00e0o kh\u00f4ng n\u00ean \u0111\u1ec3 Agent t\u1ef1 ch\u1ea1y\n\n\nM\u1ed9t \u0111i\u1ec3m m\u00ecnh th\u1ea5y r\u1ea5t c\u1ea7n thi\u1ebft l\u00e0 kh\u00f3a h\u1ecdc kh\u00f4ng \u0111i theo h\u01b0\u1edbng c\u1ee9 t\u1ef1 \u0111\u1ed9ng h\u00f3a c\u00e0ng nhi\u1ec1u c\u00e0ng t\u1ed1t.\n\nTrong ch\u01b0\u01a1ng tr\u00ecnh c\u00f3 ri\u00eang c\u00e1c n\u1ed9i dung v\u1ec1 b\u01b0\u1edbc ph\u00ea duy\u1ec7t c\u1ee7a con ng\u01b0\u1eddi, ki\u1ec3m tra nh\u1eadt k\u00fd Agent, ki\u1ec3m th\u1eed tr\u01b0\u1edbc khi s\u1eed d\u1ee5ng th\u1eadt v\u00e0 x\u00e1c \u0111\u1ecbnh r\u00f5 tr\u01b0\u1eddng h\u1ee3p n\u00e0o Agent \u0111\u01b0\u1ee3c t\u1ef1 h\u00e0nh \u0111\u1ed9ng.\n\u0110i\u1ec1u n\u00e0y \u0111\u1eb7c bi\u1ec7t quan tr\u1ecdng n\u1ebfu Agent \u0111\u01b0\u1ee3c k\u1ebft n\u1ed1i v\u1edbi email, CRM ho\u1eb7c d\u1eef li\u1ec7u doanh nghi\u1ec7p.\n\nV\u00ed d\u1ee5, \u0111\u1ec3 AI t\u1ef1 so\u1ea1n email th\u00ec kh\u00e1 an to\u00e0n.\nNh\u01b0ng \u0111\u1ec3 AI t\u1ef1 g\u1eedi email h\u00e0ng lo\u1ea1t, t\u1ef1 s\u1eeda d\u1eef li\u1ec7u kh\u00e1ch h\u00e0ng hay t\u1ef1 th\u1ef1c hi\u1ec7n m\u1ed9t h\u00e0nh \u0111\u1ed9ng quan tr\u1ecdng th\u00ec m\u00ecnh s\u1ebd mu\u1ed1n c\u00f3 b\u01b0\u1edbc ki\u1ec3m tra tr\u01b0\u1edbc.\n\nSau khi h\u1ecdc ph\u1ea7n n\u00e0y, m\u00ecnh c\u1ea3m th\u1ea5y vi\u1ec7c x\u00e2y Agent th\u1ef1c t\u1ebf h\u01a1n nhi\u1ec1u. Kh\u00f4ng ph\u1ea3i t\u1ea1o ra m\u1ed9t h\u1ec7 th\u1ed1ng t\u1ef1 \u0111\u1ed9ng tuy\u1ec7t \u0111\u1ed1i, m\u00e0 l\u00e0 x\u00e1c \u0111\u1ecbnh \u0111\u00fang ph\u1ea7n n\u00e0o AI l\u00e0m t\u1ed1t v\u00e0 ph\u1ea7n n\u00e0o con ng\u01b0\u1eddi v\u1eabn c\u1ea7n ki\u1ec3m so\u00e1t.\\\n\n\n## \u0110i\u1ec3m m\u00ecnh th\u00edch \u1edf c\u00e1ch h\u1ecdc AI Agent c\u1ee7a SlimAI\n\nM\u1ed9t trong nh\u1eefng v\u1ea5n \u0111\u1ec1 m\u00ecnh t\u1eebng g\u1eb7p khi t\u1ef1 h\u1ecdc AI l\u00e0 xem r\u1ea5t nhi\u1ec1u nh\u01b0ng l\u00e0m \u0111\u01b0\u1ee3c r\u1ea5t \u00edt.\nH\u00f4m nay xem c\u00e1ch d\u00f9ng m\u1ed9t c\u00f4ng c\u1ee5.\nNg\u00e0y mai l\u1ea1i th\u1ea5y m\u1ed9t Agent kh\u00e1c.\nV\u00e0i ng\u00e0y sau xu\u1ea5t hi\u1ec7n th\u00eam m\u1ed9t m\u00f4 h\u00ecnh AI m\u1edbi.\nCu\u1ed1i c\u00f9ng bi\u1ebft kh\u00e1 nhi\u1ec1u th\u1ee9 nh\u01b0ng c\u00f4ng vi\u1ec7c th\u1ef1c t\u1ebf v\u1eabn ch\u01b0a thay \u0111\u1ed5i.\n\nTrong **Kh\u00f3a h\u1ecdc AI Agent c\u1ee7a SlimAI**, ch\u01b0\u01a1ng tr\u00ecnh c\u1ed1 t\u00ecnh gi\u1edbi h\u1ea1n s\u1ed1 th\u1ee9 h\u1ecdc vi\u00ean ph\u1ea3i l\u00e0m c\u00f9ng l\u00fac. M\u1ed7i h\u1ecdc vi\u00ean t\u1eadp trung s\u00e2u v\u00e0o nh\u1eefng d\u1ea1ng c\u00f4ng vi\u1ec7c ph\u00f9 h\u1ee3p v\u1edbi m\u00ecnh v\u00e0 ch\u1ec9 chuy\u1ec3n sang nhi\u1ec7m v\u1ee5 ti\u1ebfp theo sau khi nhi\u1ec7m v\u1ee5 hi\u1ec7n t\u1ea1i \u0111\u00e3 ch\u1ea1y \u0111\u01b0\u1ee3c.\n\nKho\u1ea3ng 70 \u0111\u1ebfn 80% b\u00e0i th\u1ef1c h\u00e0nh c\u0169ng \u0111\u01b0\u1ee3c thi\u1ebft k\u1ebf \u0111\u1ec3 ho\u00e0n th\u00e0nh ngay trong l\u1edbp v\u1edbi mentor h\u1ed7 tr\u1ee3, thay v\u00ec h\u1ecdc xong r\u1ed3i \u0111\u1ec3 h\u1ecdc vi\u00ean t\u1ef1 xoay x\u1edf to\u00e0n b\u1ed9 \u1edf nh\u00e0.\nV\u1edbi m\u00ecnh \u0111\u00e2y l\u00e0 m\u1ed9t \u0111i\u1ec3m kh\u00e1 th\u1ef1c t\u1ebf.\n![](https:\/\/images.viblo.asia\/188ad872-a02b-43f8-9fa3-c14d218c2dcb.png)\n\nV\u00ec kh\u00f3 nh\u1ea5t khi h\u1ecdc AI Agent kh\u00f4ng ph\u1ea3i hi\u1ec3u Agent l\u00e0 g\u00ec.\nKh\u00f3 nh\u1ea5t l\u00e0 l\u00fac h\u1ec7 th\u1ed1ng kh\u00f4ng ch\u1ea1y nh\u01b0 mong mu\u1ed1n v\u00e0 m\u00ecnh kh\u00f4ng bi\u1ebft l\u1ed7i n\u1eb1m \u1edf \u0111\u00e2u.\nC\u00f3 ng\u01b0\u1eddi h\u1ed7 tr\u1ee3 ngay trong giai \u0111o\u1ea1n \u0111\u00f3 s\u1ebd gi\u00fap ti\u1ebft ki\u1ec7m kh\u00e1 nhi\u1ec1u th\u1eddi gian m\u00f2 m\u1eabm.\\\n\n\n## So s\u00e1nh kh\u00f3a h\u1ecdc AI Agent c\u1ee7a SlimAI v\u1edbi c\u00e1c ngu\u1ed3n h\u1ecdc kh\u00e1c\n\nM\u00ecnh t\u1eebng th\u1eed t\u1ef1 h\u1ecdc AI Agent qua YouTube, c\u00e1c b\u00e0i blog v\u00e0 t\u00e0i li\u1ec7u ch\u00ednh th\u1ee9c c\u1ee7a nhi\u1ec1u c\u00f4ng c\u1ee5. Nh\u1eefng ngu\u1ed3n n\u00e0y c\u00f3 r\u1ea5t nhi\u1ec1u ki\u1ebfn th\u1ee9c, nh\u01b0ng sau khi h\u1ecdc t\u1ea1i SlimAI, m\u00ecnh th\u1ea5y \u0111i\u1ec3m kh\u00e1c bi\u1ec7t l\u1edbn nh\u1ea5t n\u1eb1m \u1edf c\u00e1ch bi\u1ebfn ki\u1ebfn th\u1ee9c th\u00e0nh m\u1ed9t Agent c\u00f3 th\u1ec3 d\u00f9ng \u0111\u01b0\u1ee3c trong c\u00f4ng vi\u1ec7c th\u1ef1c t\u1ebf.\n\n* **L\u1ed9 tr\u00ecnh h\u1ecdc:** SlimAI s\u1eafp x\u1ebfp n\u1ed9i dung theo h\u01b0\u1edbng t\u1eeb c\u00f4ng vi\u1ec7c c\u1ea7n gi\u1ea3i quy\u1ebft \u0111\u1ebfn c\u00e1ch x\u00e2y Agent, thay v\u00ec h\u1ecdc r\u1eddi r\u1ea1c t\u1eebng t\u00ednh n\u0103ng hay t\u1eebng c\u00f4ng c\u1ee5.\n* **T\u00ednh th\u1ef1c h\u00e0nh:** H\u1ecdc vi\u00ean kh\u00f4ng ch\u1ec9 xem demo m\u00e0 \u0111\u01b0\u1ee3c th\u1ef1c h\u00e0nh tr\u00ean ch\u00ednh c\u00f4ng vi\u1ec7c v\u00e0 d\u1eef li\u1ec7u c\u1ee7a m\u00ecnh. \u0110i\u1ec1u n\u00e0y gi\u00fap m\u00ecnh d\u1ec5 h\u00ecnh dung Agent s\u1ebd \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng nh\u01b0 th\u1ebf n\u00e0o sau kh\u00f3a h\u1ecdc.\n* **N\u1ed9i dung cho ng\u01b0\u1eddi \u0111i l\u00e0m:** C\u00e1c b\u00e0i t\u1eadp xoay quanh nh\u1eefng vi\u1ec7c kh\u00e1 quen thu\u1ed9c nh\u01b0 x\u1eed l\u00fd email, t\u1ed5ng h\u1ee3p cu\u1ed9c h\u1ecdp, l\u00e0m b\u00e1o c\u00e1o, t\u00ecm kh\u00e1ch h\u00e0ng ti\u1ec1m n\u0103ng, ph\u00e2n lo\u1ea1i CV hay h\u1ecfi \u0111\u00e1p t\u00e0i li\u1ec7u n\u1ed9i b\u1ed9.\n* **Kh\u00f4ng y\u00eau c\u1ea7u bi\u1ebft l\u1eadp tr\u00ecnh:** Nh\u1eefng kh\u00e1i ni\u1ec7m nh\u01b0 MCP, skill, subagent hay context \u0111\u01b0\u1ee3c gi\u1ea3i th\u00edch th\u00f4ng qua t\u00ecnh hu\u1ed1ng th\u1ef1c t\u1ebf, n\u00ean ng\u01b0\u1eddi kh\u00f4ng c\u00f3 n\u1ec1n t\u1ea3ng k\u1ef9 thu\u1eadt v\u1eabn c\u00f3 th\u1ec3 theo \u0111\u01b0\u1ee3c.\n* **H\u1ed7 tr\u1ee3 khi th\u1ef1c h\u00e0nh:** \u0110\u00e2y l\u00e0 \u0111i\u1ec3m m\u00ecnh th\u1ea5y kh\u00e1c r\u00f5 nh\u1ea5t so v\u1edbi t\u1ef1 h\u1ecdc. Khi Agent ch\u1ea1y sai ho\u1eb7c kh\u00f4ng ho\u1ea1t \u0111\u1ed9ng nh\u01b0 mong mu\u1ed1n, c\u00f3 mentor h\u1ed7 tr\u1ee3 t\u00ecm nguy\u00ean nh\u00e2n s\u1ebd nhanh h\u01a1n kh\u00e1 nhi\u1ec1u so v\u1edbi t\u1ef1 m\u00f2 t\u00e0i li\u1ec7u.\n* **H\u1ecdc c\u00e1ch ki\u1ec3m so\u00e1t Agent:** Kh\u00f3a h\u1ecdc kh\u00f4ng ch\u1ec9 h\u01b0\u1edbng d\u1eabn c\u00e1ch \u0111\u1ec3 AI t\u1ef1 l\u00e0m vi\u1ec7c m\u00e0 c\u00f2n c\u00f3 ph\u1ea7n ki\u1ec3m th\u1eed, ki\u1ec3m tra nh\u1eadt k\u00fd v\u00e0 thi\u1ebft l\u1eadp b\u01b0\u1edbc ph\u00ea duy\u1ec7t tr\u01b0\u1edbc nh\u1eefng h\u00e0nh \u0111\u1ed9ng quan tr\u1ecdng.\n* **\u0110o k\u1ebft qu\u1ea3 th\u1ef1c t\u1ebf:** Thay v\u00ec ch\u1ec9 ho\u00e0n th\u00e0nh b\u00e0i h\u1ecdc, h\u1ecdc vi\u00ean \u0111\u01b0\u1ee3c h\u01b0\u1edbng t\u1edbi vi\u1ec7c \u0111\u00e1nh gi\u00e1 Agent d\u1ef1a tr\u00ean th\u1eddi gian ti\u1ebft ki\u1ec7m, t\u1ed1c \u0111\u1ed9 x\u1eed l\u00fd v\u00e0 ch\u1ea5t l\u01b0\u1ee3ng c\u00f4ng vi\u1ec7c sau khi \u00e1p d\u1ee5ng.\n\nSo v\u1edbi vi\u1ec7c t\u1ef1 h\u1ecdc qua YouTube hay t\u00e0i li\u1ec7u, m\u00ecnh th\u1ea5y kh\u00f3a SlimAI gi\u00fap ti\u1ebft ki\u1ec7m kh\u00e1 nhi\u1ec1u th\u1eddi gian th\u1eed sai. M\u00ecnh kh\u00f4ng ph\u1ea3i t\u1ef1 gh\u00e9p t\u1eebng ki\u1ebfn th\u1ee9c r\u1eddi r\u1ea1c m\u00e0 c\u00f3 m\u1ed9t l\u1ed9 tr\u00ecnh r\u00f5 h\u01a1n \u0111\u1ec3 \u0111i t\u1eeb m\u1ed9t c\u00f4ng vi\u1ec7c \u0111ang l\u00e0m th\u1ee7 c\u00f4ng \u0111\u1ebfn m\u1ed9t Agent c\u00f3 th\u1ec3 h\u1ed7 tr\u1ee3 x\u1eed l\u00fd c\u00f4ng vi\u1ec7c \u0111\u00f3.\n\nD\u0129 nhi\u00ean, n\u1ebfu ch\u1ec9 mu\u1ed1n t\u00ecm hi\u1ec3u AI Agent l\u00e0 g\u00ec ho\u1eb7c th\u1eed m\u1ed9t v\u00e0i t\u00ednh n\u0103ng c\u01a1 b\u1ea3n th\u00ec c\u00e1c ngu\u1ed3n mi\u1ec5n ph\u00ed \u0111\u00e3 kh\u00e1 \u0111\u1ea7y \u0111\u1ee7. Nh\u01b0ng n\u1ebfu mu\u1ed1n \u00e1p d\u1ee5ng AI Agent v\u00e0o c\u00f4ng vi\u1ec7c th\u1eadt v\u00e0 c\u1ea7n ng\u01b0\u1eddi h\u1ed7 tr\u1ee3 trong qu\u00e1 tr\u00ecnh x\u00e2y d\u1ef1ng, m\u00ecnh ngh\u0129 h\u1ecdc theo m\u1ed9t ch\u01b0\u01a1ng tr\u00ecnh b\u00e0i b\u1ea3n s\u1ebd hi\u1ec7u qu\u1ea3 h\u01a1n.\n\n> N\u1ebfu b\u1ea1n mu\u1ed1n xem k\u1ef9 n\u1ed9i dung, l\u1ecbch h\u1ecdc v\u00e0 c\u00e1ch \u0111\u0103ng k\u00fd, c\u00f3 th\u1ec3 t\u00ecm hi\u1ec3u [**Kh\u00f3a h\u1ecdc AI Agent c\u1ee7a SlimAI t\u1ea1i \u0111\u00e2y**](https:\/\/ai.slim.vn\/khoa-hoc-ai-agent).\n\n![](https:\/\/images.viblo.asia\/dedf1c47-3abe-43c0-9417-a7154ad8b4c9.jpg)\n\n## H\u1ecdc Kh\u00f3a h\u1ecdc AI Agent c\u00f3 kh\u00f3 kh\u00f4ng?\n\nTr\u01b0\u1edbc khi t\u00ecm hi\u1ec3u AI Agent, m\u00ecnh t\u1eebng ngh\u0129 \u0111\u00e2y l\u00e0 th\u1ee9 d\u00e0nh cho developer.\n\nC\u00e1c kh\u00e1i ni\u1ec7m nh\u01b0 MCP, subagent, context, tool hay workflow nghe kh\u00e1 k\u1ef9 thu\u1eadt.\n\nNh\u01b0ng khi \u0111\u01b0a ch\u00fang v\u1ec1 m\u1ed9t c\u00f4ng vi\u1ec7c c\u1ee5 th\u1ec3 th\u00ec m\u1ecdi th\u1ee9 d\u1ec5 hi\u1ec3u h\u01a1n nhi\u1ec1u.\n\nV\u00e0 gi\u1ea3ng vi\u00ean c\u1ee7a SlimAI c\u0169ng gi\u1ea3i th\u00edch c\u00e1c kh\u00e1i ni\u1ec7m, c\u00f4ng c\u1ee5 n\u00e0y g\u1eafn v\u1edbi v\u00ed d\u1ee5 th\u1ef1c t\u1ebf c\u1ef1c k\u1ef3 d\u1ec5 hi\u1ec3u n\u00ean m\u00ecnh h\u1ecdc r\u1ea5t nhanh.\n\nNgo\u00e0i ra, c\u00e1c thao t\u00e1c th\u1ef1c hi\u1ec7n trong kh\u00f3a h\u1ecdc ho\u00e0n to\u00e0n c\u1ef1c k\u1ef3 \u0111\u01a1n gi\u1ea3n, m\u00ecnh ch\u1ec9 c\u1ea7n \u0111\u01b0a ra c\u00e2u l\u1ec7nh nh\u01b0 chat b\u00ecnh th\u01b0\u1eddng v\u1edbi AI.\n\n![](https:\/\/images.viblo.asia\/5516689d-6902-42b6-b8e3-a5be5bac812c.jpg)\n\n\n## C\u00f3 n\u00ean h\u1ecdc Kh\u00f3a h\u1ecdc AI Agent c\u1ee7a SlimAI kh\u00f4ng?\n\nN\u1ebfu m\u1ee5c ti\u00eau ch\u1ec9 l\u00e0 t\u00ecm hi\u1ec3u AI Agent l\u00e0 g\u00ec, m\u00ecnh ngh\u0129 c\u00f3 r\u1ea5t nhi\u1ec1u t\u00e0i li\u1ec7u mi\u1ec5n ph\u00ed tr\u00ean m\u1ea1ng \u0111\u00e3 \u0111\u1ee7 \u0111\u1ec3 b\u1eaft \u0111\u1ea7u.\n\nNh\u01b0ng n\u1ebfu m\u1ee5c ti\u00eau l\u00e0 **t\u1ef1 x\u00e2y \u0111\u01b0\u1ee3c Agent \u00e1p d\u1ee5ng v\u00e0o ch\u00ednh c\u00f4ng vi\u1ec7c c\u1ee7a m\u00ecnh**, th\u00ec c\u00e1ch h\u1ecdc c\u00f3 ng\u01b0\u1eddi h\u01b0\u1edbng d\u1eabn s\u1ebd kh\u00e1c kh\u00e1 nhi\u1ec1u so v\u1edbi ch\u1ec9 xem video.\n\n\u0110i\u1ec3m m\u00ecnh \u0111\u00e1nh gi\u00e1 cao nh\u1ea5t \u1edf **Kh\u00f3a h\u1ecdc AI Agent c\u1ee7a SlimAI** kh\u00f4ng n\u1eb1m \u1edf vi\u1ec7c gi\u1edbi thi\u1ec7u th\u1eadt nhi\u1ec1u c\u00f4ng c\u1ee5.\n\u0110\u00f3 l\u00e0 c\u00e1ch ch\u01b0\u01a1ng tr\u00ecnh bu\u1ed9c h\u1ecdc vi\u00ean quay tr\u1edf l\u1ea1i m\u1ed9t c\u00e2u h\u1ecfi r\u1ea5t th\u1ef1c t\u1ebf:\n**Sau kh\u00f3a h\u1ecdc, c\u00f4ng vi\u1ec7c n\u00e0o c\u1ee7a m\u00ecnh \u0111\u00e3 th\u1ef1c s\u1ef1 \u0111\u01b0\u1ee3c AI h\u1ed7 tr\u1ee3 ho\u1eb7c t\u1ef1 \u0111\u1ed9ng h\u00f3a?**\n\nKh\u00f3a h\u1ecdc th\u1eadm ch\u00ed thi\u1ebft k\u1ebf vi\u1ec7c \u0111o k\u1ebft qu\u1ea3 d\u1ef1a tr\u00ean s\u1ed1 gi\u1edd ti\u1ebft ki\u1ec7m, chi ph\u00ed, t\u1ed1c \u0111\u1ed9 x\u1eed l\u00fd v\u00e0 ch\u1ea5t l\u01b0\u1ee3ng c\u00f4ng vi\u1ec7c thay v\u00ec ch\u1ec9 \u0111o s\u1ed1 bu\u1ed5i \u0111\u00e3 tham gia.\n\nTheo m\u00ecnh, \u0111\u00e2y m\u1edbi l\u00e0 c\u00e1ch h\u1ee3p l\u00fd \u0111\u1ec3 h\u1ecdc AI Agent.\nKh\u00f4ng ph\u1ea3i h\u1ecdc \u0111\u1ec3 bi\u1ebft th\u00eam v\u1ec1 AI.\nM\u00e0 h\u1ecdc \u0111\u1ec3 **AI b\u1eaft \u0111\u1ea7u l\u00e0m \u0111\u01b0\u1ee3c vi\u1ec7c cho m\u00ecnh**.\n\n![](https:\/\/images.viblo.asia\/0359ef6b-f8b4-4da2-8ed7-949a9658bfd3.jpg)\n\nN\u1ebfu b\u1ea1n \u0111ang s\u1eed d\u1ee5ng ChatGPT, Claude ho\u1eb7c c\u00e1c c\u00f4ng c\u1ee5 AI m\u1ed7i ng\u00e0y nh\u01b0ng ph\u1ea7n l\u1edbn c\u00f4ng vi\u1ec7c v\u1eabn ph\u1ea3i copy, paste v\u00e0 x\u1eed l\u00fd th\u1ee7 c\u00f4ng, **Kh\u00f3a h\u1ecdc AI Agent** l\u00e0 m\u1ed9t h\u01b0\u1edbng \u0111\u00e1ng \u0111\u1ec3 t\u00ecm hi\u1ec3u.\n\nQuan tr\u1ecdng nh\u1ea5t l\u00e0 tr\u01b0\u1edbc khi \u0111\u0103ng k\u00fd, h\u00e3y th\u1eed li\u1ec7t k\u00ea ba c\u00f4ng vi\u1ec7c l\u1eb7p l\u1ea1i \u0111ang khi\u1ebfn b\u1ea1n m\u1ea5t nhi\u1ec1u th\u1eddi gian nh\u1ea5t m\u1ed7i tu\u1ea7n.\n\nN\u1ebfu c\u00f3 th\u1ec3 t\u00ecm \u0111\u01b0\u1ee3c ba vi\u1ec7c \u0111\u00f3, b\u1ea1n \u0111\u00e3 c\u00f3 \u0111i\u1ec3m b\u1eaft \u0111\u1ea7u r\u1ea5t t\u1ed1t \u0111\u1ec3 x\u00e2y Agent \u0111\u1ea7u ti\u00ean c\u1ee7a m\u00ecnh.\n\n> \ud83d\udc49 B\u1ea1n c\u00f3 th\u1ec3 t\u00ecm hi\u1ec3u th\u00eam ho\u1eb7c k\u00fd h\u1ecdc t\u1ea1i \u0111\u00e2y: [**https:\/\/ai.slim.vn\/khoa-hoc-ai-agent**](https:\/\/ai.slim.vn\/khoa-hoc-ai-agent)","published_at":"2026-10-05T10:08:23.000000Z","scheduled_publish_at":null,"is_published":true,"is_shared":false,"updated_at":"2026-10-05T10:08:25.000000Z","edited_at":"2026-10-05T10:06:03.000000Z","translation_source":null,"trend_at":null,"promoted_at":null,"reading_time":18,"points":0,"views_count":0,"clips_count":0,"comments_count":0,"rated_value":null,"promoted":false,"trending":false,"is_draft":false,"is_public":true,"locale_code":"vi","is_video":false,"thumbnail_url":"https:\/\/images.viblo.asia\/6458fecb-da6b-4f80-8b7d-9ccff591465d.png","user":{"data":{"id":203168,"url":"https:\/\/viblo.asia\/u\/quysala147258","avatar":"3826abbd-ad35-4d63-8cc0-7a6fe2e2925b.png","name":"quy sala","username":"quysala147258","followers_count":0,"reputation":0,"posts_count":0,"banned_at":"2026-10-05T10:08:25.000000Z","level_partner":null,"following":false}},"tags":{"data":[{"slug":"ai-agent","name":"AI Agent"},{"slug":"khoa-hoc-ai","name":"kh\u00f3a h\u1ecdc AI"}]},"commentators":{"data":[]}},{"id":108272,"title":"AI Bu\u1ed5i Chi\u1ec1u (05\/10\/2026): Ti\u00eau \u0111i\u1ec3m Powerless F1 drivers frustrated by Bahrain F1 software glitc v\u00e0 nh\u1eefng b\u01b0\u1edbc chuy\u1ec3n t\u1eeb Hugging Face Papers","slug":"37LdePY0Vov","url":"https:\/\/viblo.asia\/p\/ai-buoi-chieu-05102026-tieu-diem-powerless-f1-drivers-frustrated-by-bahrain-f1-software-glitc-va-nhung-buoc-chuyen-tu-hugging-face-papers-37LdePY0Vov","user_id":207145,"moderation":null,"transliterated":"ai-buoi-chieu-05102026-tieu-diem-powerless-f1-drivers-frustrated-by-bahrain-f1-software-glitc-va-nhung-buoc-chuyen-tu-hugging-face-papers","contents_short":"\nAI Bu\u1ed5i Chi\u1ec1u (05\/10\/2026): Ti\u00eau \u0111i\u1ec3m Powerless F1 drivers frustrated by Bahrain F1 software glitc v\u00e0 nh\u1eefng b\u01b0\u1edbc chuy\u1ec3n t\u1eeb Hugging Face Papers\n\nTrong phi\u00ean bu\u1ed5i chi\u1ec1u ng\u00e0y 05\/10\/2026, c\u1ed9ng \u0111\u1ed3ng c\u00f4ng ngh\u1ec7 ghi nh\u1eadn h\u00e0ng lo\u1ea1t c\u00f4ng b\u1ed1 th\u1ef1c ti\u1ec5n \u0111\u00e1ng ch\u00fa \u00fd. T\u00e2m \u0111i\u1ec3m h\u00e0ng \u0111\u1ea7u xu\u1ea5t ph\u00e1t t\u1eeb Hacker News v\u1edbi s\u1ef1 ki\u1ec7n \"Powerless F1 drivers frustrated by Bahrain F1 software glitch\", song song c\u00f9ng c\u00e1c c\u1eadp ...","contents":"![AI Daily Bulletin](https:\/\/images.unsplash.com\/photo-1485827404703-89b55fcc595e?auto=format&fit=crop&w=1200&q=80)\n\n# AI Bu\u1ed5i Chi\u1ec1u (05\/10\/2026): Ti\u00eau \u0111i\u1ec3m Powerless F1 drivers frustrated by Bahrain F1 software glitc v\u00e0 nh\u1eefng b\u01b0\u1edbc chuy\u1ec3n t\u1eeb Hugging Face Papers\n\n> Trong phi\u00ean bu\u1ed5i chi\u1ec1u ng\u00e0y 05\/10\/2026, c\u1ed9ng \u0111\u1ed3ng c\u00f4ng ngh\u1ec7 ghi nh\u1eadn h\u00e0ng lo\u1ea1t c\u00f4ng b\u1ed1 th\u1ef1c ti\u1ec5n \u0111\u00e1ng ch\u00fa \u00fd. T\u00e2m \u0111i\u1ec3m h\u00e0ng \u0111\u1ea7u xu\u1ea5t ph\u00e1t t\u1eeb **Hacker News** v\u1edbi s\u1ef1 ki\u1ec7n *\"Powerless F1 drivers frustrated by Bahrain F1 software glitch\"*, song song c\u00f9ng c\u00e1c c\u1eadp nh\u1eadt k\u1ef9 thu\u1eadt quan tr\u1ecdng t\u1eeb **Hugging Face Papers**. D\u01b0\u1edbi g\u00f3c nh\u00ecn c\u1ee7a l\u1eadp tr\u00ecnh vi\u00ean v\u00e0 ng\u01b0\u1eddi l\u00e0m s\u1ea3n ph\u1ea9m, \u0111\u00e2y l\u00e0 th\u1eddi \u0111i\u1ec3m \u0111\u1ecbnh h\u00ecnh r\u00f5 n\u00e9t xu h\u01b0\u1edbng \u1ee9ng d\u1ee5ng AI v\u00e0o h\u1ec7 th\u1ed1ng s\u1ea3n xu\u1ea5t.\n\n## \u0110i\u1ec1u g\u00ec \u0111\u00e3 x\u1ea3y ra?\nT\u00e2m \u0111i\u1ec3m c\u1ee7a bu\u1ed5i chi\u1ec1u h\u00f4m nay xoay quanh c\u00e1c chuy\u1ec3n \u0111\u1ed9ng c\u00f4ng ngh\u1ec7 m\u1edbi \u0111\u01b0\u1ee3c c\u00f4ng b\u1ed1:\n- **Hacker News \u2014 Powerless F1 drivers frustrated by Bahrain F1 software glitch**:\n  Th\u1ea3o lu\u1eadn s\u00f4i n\u1ed5i tr\u00ean Hacker News: 195 upvotes, 160 b\u00ecnh lu\u1eadn.\n\n- **Hugging Face Papers \u2014 [Research] LVMT: Video Mask Transformer for Long-term Video Segmentation**:\n  Existing online video segmentation methods struggle to track objects in long, complex videos with long-term occlusions. We hypothesize that this limitation is caused by (i) the inability of their temporal propagation mechanism to adaptively select the object information that is propagated across time, and (ii) their inability to be trained on long videos due to memory...\n\n- **Hacker News \u2014 Building a RAG pipeline for semantic code search**:\n  Th\u1ea3o lu\u1eadn s\u00f4i n\u1ed5i tr\u00ean Hacker News: 36 upvotes, 9 b\u00ecnh lu\u1eadn.\n\n## V\u00ec sao \u0111i\u1ec1u n\u00e0y quan tr\u1ecdng?\nNh\u1eefng di\u1ec5n bi\u1ebfn n\u00e0y mang l\u1ea1i hai th\u00f4ng \u0111i\u1ec7p r\u1ea5t r\u00f5 r\u00e0ng cho th\u1ecb tr\u01b0\u1eddng c\u00f4ng ngh\u1ec7 hi\u1ec7n nay:\n1. **N\u00e2ng cao n\u0103ng l\u1ef1c m\u00f4 h\u00ecnh n\u1ec1n t\u1ea3ng:** C\u00e1c b\u01b0\u1edbc ti\u1ebfn m\u1edbi li\u00ean t\u1ee5c \u0111\u1ea9y gi\u1edbi h\u1ea1n v\u1ec1 \u0111\u1ed9 ch\u00ednh x\u00e1c, kh\u1ea3 n\u0103ng suy lu\u1eadn tu\u1ea7n t\u1ef1 v\u00e0 t\u1ed1c \u0111\u1ed9 ph\u1ea3n h\u1ed3i c\u1ee7a m\u00f4 h\u00ecnh.\n2. **Kho\u1ea3ng c\u00e1ch gi\u1eefa nghi\u00ean c\u1ee9u h\u1ecdc thu\u1eadt v\u00e0 \u1ee9ng d\u1ee5ng s\u1ea3n xu\u1ea5t ng\u00e0y c\u00e0ng thu h\u1eb9p:** C\u00e1c c\u00f4ng b\u1ed1 nghi\u00ean c\u1ee9u m\u1edbi nhanh ch\u00f3ng \u0111\u01b0\u1ee3c c\u1ed9ng \u0111\u1ed3ng m\u00e3 ngu\u1ed3n m\u1edf \u0111\u00f3ng g\u00f3i th\u00e0nh th\u01b0 vi\u1ec7n th\u1ef1c chi\u1ebfn ch\u1ec9 sau v\u00e0i tu\u1ea7n.\n\n## G\u00f3c nh\u00ecn k\u1ef9 thu\u1eadt \/ c\u00e1ch ho\u1ea1t \u0111\u1ed9ng\n\u0110\u1ec3 hi\u1ec3u r\u00f5 b\u1ea3n ch\u1ea5t c\u1ee7a c\u00e1c gi\u1ea3i ph\u00e1p AI \u0111ang \u0111\u01b0\u1ee3c tri\u1ec3n khai, ch\u00fang ta c\u1ea7n l\u00e0m r\u00f5 m\u1ed9t s\u1ed1 c\u01a1 ch\u1ebf k\u1ef9 thu\u1eadt then ch\u1ed1t:\n\n- **RAG (Retrieval-Augmented Generation)**: K\u1ef9 thu\u1eadt k\u1ebft h\u1ee3p vi\u1ec7c t\u00ecm ki\u1ebfm d\u1eef li\u1ec7u th\u1ef1c t\u1ebf (t\u1eeb c\u01a1 s\u1edf d\u1eef li\u1ec7u n\u1ed9i b\u1ed9, t\u00e0i li\u1ec7u PDF, trang web) r\u1ed3i n\u1ea1p v\u00e0o c\u00e2u nh\u1eafc (prompt) cho AI \u0111\u1ecdc tr\u01b0\u1edbc khi tr\u1ea3 l\u1eddi. Gi\u00fap AI c\u1eadp nh\u1eadt tin m\u1edbi v\u00e0 h\u1ea1n ch\u1ebf t\u1ed1i \u0111a vi\u1ec7c b\u1ecba th\u00f4ng tin.\n- **Reasoning Model \/ Chain of Thought (M\u00f4 h\u00ecnh suy lu\u1eadn tu\u1ea7n t\u1ef1)**: D\u00f2ng m\u00f4 h\u00ecnh \u0111\u01b0\u1ee3c thi\u1ebft k\u1ebf \u0111\u1ec3 'suy ngh\u0129 k\u1ef9' tr\u01b0\u1edbc khi tr\u1ea3 l\u1eddi (v\u00ed d\u1ee5 OpenAI o1, o3, DeepSeek-R1). AI s\u1ebd t\u1ef1 sinh ra m\u1ed9t chu\u1ed7i suy ngh\u0129 n\u1ed9i b\u1ed9 (Chain-of-Thought) \u0111\u1ec3 ki\u1ec3m tra ch\u00e9o c\u00e1c b\u01b0\u1edbc t\u00ednh to\u00e1n v\u00e0 logic tr\u01b0\u1edbc khi \u0111\u01b0a ra k\u1ebft qu\u1ea3 cu\u1ed1i c\u00f9ng.\n- **Token & Tokenizer**: \u0110\u01a1n v\u1ecb c\u01a1 b\u1ea3n m\u00e0 AI d\u00f9ng \u0111\u1ec3 \u0111\u1ecdc v\u00e0 \u0111\u1ebfm d\u1eef li\u1ec7u v\u0103n b\u1ea3n. M\u1ed9t token th\u01b0\u1eddng t\u01b0\u01a1ng \u0111\u01b0\u01a1ng kho\u1ea3ng 3\/4 t\u1eeb ti\u1ebfng Anh (ho\u1eb7c kho\u1ea3ng 1 k\u00fd t\u1ef1 ti\u1ebfng Vi\u1ec7t c\u00f3 d\u1ea5u).\n\n### Ki\u1ebfn tr\u00fac X\u1eed l\u00fd Suy lu\u1eadn & Ki\u1ec3m so\u00e1t An to\u00e0n (AI Inference Flow)\n![Ki\u1ebfn tr\u00fac c\u00f4ng ngh\u1ec7 AI](https:\/\/images.unsplash.com\/photo-1526374965328-7f61d4dc18c5?auto=format&fit=crop&w=1000&q=80)\n\nQuy tr\u00ecnh x\u1eed l\u00fd chu\u1ea9n h\u00f3a trong h\u1ec7 th\u1ed1ng th\u1ef1c t\u1ebf \u0111\u01b0\u1ee3c th\u1ec3 hi\u1ec7n nh\u01b0 sau:\n```text\nClient Request \u2192 Prompt Template & RAG Context \u2192 Model Inference \u2192 Output Guardrails \/ Fact-check \u2192 Final Response\n```\n\n## \u1ee8ng d\u1ee5ng th\u1ef1c t\u1ebf\nD\u01b0\u1edbi \u0111\u00e2y l\u00e0 3 t\u00ecnh hu\u1ed1ng c\u1ee5 th\u1ec3 m\u00e0 l\u1eadp tr\u00ecnh vi\u00ean v\u00e0 Product Manager c\u00f3 th\u1ec3 tham kh\u1ea3o \u00e1p d\u1ee5ng ngay cho s\u1ea3n ph\u1ea9m c\u1ee7a m\u00ecnh:\n\n### 1. \u1ee8ng d\u1ee5ng Powerless F1 drivers frustrated by Bahrain F1 v\u00e0o h\u1ec7 th\u1ed1ng Backend\n- **B\u1ed1i c\u1ea3nh:** Nh\u00f3m ph\u00e1t tri\u1ec3n c\u1ea7n gi\u1ea3i quy\u1ebft b\u00e0i to\u00e1n c\u1ed1t l\u00f5i li\u00ean quan \u0111\u1ebfn d\u1eef li\u1ec7u ho\u1eb7c t\u1ef1 \u0111\u1ed9ng h\u00f3a nghi\u1ec7p v\u1ee5 cho s\u1ea3n ph\u1ea9m hi\u1ec7n t\u1ea1i.\n- **C\u00e1ch d\u00f9ng AI:** T\u1eadn d\u1ee5ng c\u00f4ng ngh\u1ec7 v\u00e0 ki\u1ebfn tr\u00fac m\u1edbi \u0111\u01b0\u1ee3c c\u00f4ng b\u1ed1, tri\u1ec3n khai d\u01b0\u1edbi d\u1ea1ng Microservice \u0111\u1ed9c l\u1eadp k\u1ebft n\u1ed1i qua REST API ho\u1eb7c gRPC.\n- **Gi\u00e1 tr\u1ecb nh\u1eadn \u0111\u01b0\u1ee3c:** C\u1ea3i thi\u1ec7n \u0111\u00e1ng k\u1ec3 hi\u1ec7u n\u0103ng x\u1eed l\u00fd, r\u00fat ng\u1eafn th\u1eddi gian ph\u1ea3n h\u1ed3i cho ng\u01b0\u1eddi d\u00f9ng cu\u1ed1i v\u00e0 gi\u1ea3m thi\u1ec3u thao t\u00e1c th\u1ee7 c\u00f4ng.\n- **L\u01b0u \u00fd \/ R\u1ee7i ro:** C\u1ea7n x\u00e2y d\u1ef1ng b\u1ed9 d\u1eef li\u1ec7u benchmark ki\u1ec3m th\u1eed (Gold dataset) n\u1ed9i b\u1ed9 tr\u01b0\u1edbc khi chuy\u1ec3n sang giai \u0111o\u1ea1n production.\n\n### 2. T\u1ed1i \u01b0u h\u00f3a quy tr\u00ecnh d\u1ef1a tr\u00ean c\u00f4ng ngh\u1ec7 t\u1eeb Hugging Face Papers\n- **B\u1ed1i c\u1ea3nh:** Chi ph\u00ed v\u1eadn h\u00e0nh h\u1ea1 t\u1ea7ng AI v\u00e0 \u0111\u1ed9 ph\u1ee9c t\u1ea1p trong b\u1ea3o tr\u00ec h\u1ec7 th\u1ed1ng t\u0103ng cao khi quy m\u00f4 ng\u01b0\u1eddi d\u00f9ng m\u1edf r\u1ed9ng.\n- **C\u00e1ch d\u00f9ng AI:** \u00c1p d\u1ee5ng c\u01a1 ch\u1ebf \u0111\u1ecbnh tuy\u1ebfn th\u00f4ng minh (Smart Model Routing) v\u00e0 n\u00e9n t\u1ed1i \u01b0u m\u00f4 h\u00ecnh theo c\u00e1c ph\u01b0\u01a1ng ph\u00e1p m\u1edbi nh\u1ea5t.\n- **Gi\u00e1 tr\u1ecb nh\u1eadn \u0111\u01b0\u1ee3c:** Gi\u1ea3m 40% - 60% h\u00f3a \u0111\u01a1n t\u00e0i nguy\u00ean \u0111\u00e1m m\u00e2y\/API m\u00e0 v\u1eabn \u0111\u1ea3m b\u1ea3o \u0111\u1ed9 tin c\u1eady trong c\u00e1c t\u00e1c v\u1ee5 th\u01b0\u1eddng ng\u00e0y.\n- **L\u01b0u \u00fd \/ R\u1ee7i ro:** C\u1ea7n thi\u1ebft l\u1eadp h\u1ec7 th\u1ed1ng gi\u00e1m s\u00e1t sai l\u1ec7ch m\u00f4 h\u00ecnh (Data Drift & Output Monitoring) \u0111\u1ec3 ph\u00e1t hi\u1ec7n s\u1edbm c\u00e1c d\u1ecb th\u01b0\u1eddng.\n\n### 3. Chu\u1ea9n h\u00f3a quy tr\u00ecnh l\u00e0m vi\u1ec7c cho L\u1eadp tr\u00ecnh vi\u00ean v\u00e0 Product Team\n- **B\u1ed1i c\u1ea3nh:** \u0110\u1ed9i ng\u0169 ph\u00e1t tri\u1ec3n c\u1ea7n n\u1eafm b\u1eaft c\u00f4ng ngh\u1ec7 m\u1edbi m\u00e0 kh\u00f4ng l\u00e0m gi\u00e1n \u0111o\u1ea1n ti\u1ebfn \u0111\u1ed9 sprint hi\u1ec7n t\u1ea1i.\n- **C\u00e1ch d\u00f9ng AI:** T\u1ea1o m\u00f4i tr\u01b0\u1eddng th\u1eed nghi\u1ec7m (Sandbox\/Dev environment) \u0111\u1ec3 th\u1eed nghi\u1ec7m c\u00e1c t\u00ednh n\u0103ng AI m\u1edbi v\u1edbi d\u1eef li\u1ec7u m\u1eabu (mock data).\n- **Gi\u00e1 tr\u1ecb nh\u1eadn \u0111\u01b0\u1ee3c:** Gi\u00fap c\u1ea3 Developer v\u00e0 PM hi\u1ec3u r\u00f5 ranh gi\u1edbi kh\u1ea3 n\u0103ng v\u00e0 chi ph\u00ed c\u1ee7a c\u00f4ng ngh\u1ec7 tr\u01b0\u1edbc khi ch\u00ednh th\u1ee9c \u0111\u01b0a v\u00e0o roadmap s\u1ea3n ph\u1ea9m.\n- **L\u01b0u \u00fd \/ R\u1ee7i ro:** Tuy\u1ec7t \u0111\u1ed1i kh\u00f4ng \u0111\u01b0a d\u1eef li\u1ec7u kh\u00e1ch h\u00e0ng nh\u1ea1y c\u1ea3m v\u00e0o c\u00e1c c\u00f4ng c\u1ee5 b\u00ean ngo\u00e0i ch\u01b0a \u0111\u01b0\u1ee3c ki\u1ec3m to\u00e1n b\u1ea3o m\u1eadt.\n\n## Nh\u1eefng \u0111i\u1ec3m c\u1ea7n th\u1eadn tr\u1ecdng\n- **\u0110\u1ed9 ch\u00ednh x\u00e1c v\u00e0 t\u00ednh nh\u1ea5t qu\u00e1n (Consistency):** C\u00e1c m\u00f4 h\u00ecnh x\u00e1c su\u1ea5t lu\u00f4n ti\u1ec1m \u1ea9n t\u1ef7 l\u1ec7 sai s\u1ed1; lu\u00f4n c\u1ea7n c\u00f3 c\u01a1 ch\u1ebf Fallback ho\u1eb7c ki\u1ec3m tra ch\u00e9o (Cross-check) cho c\u00e1c lu\u1ed3ng nghi\u1ec7p v\u1ee5 quan tr\u1ecdng.\n- **Ki\u1ec3m so\u00e1t ng\u00e2n s\u00e1ch v\u1eadn h\u00e0nh:** Thi\u1ebft l\u1eadp h\u1ea1n m\u1ee9c chi ph\u00ed (Budget Cap) v\u00e0 c\u01a1 ch\u1ebf Rate Limiting \u0111\u1ec3 ph\u00f2ng ng\u1eeba t\u00ecnh tr\u1ea1ng b\u00f9ng n\u1ed5 chi ph\u00ed do c\u00e1c v\u00f2ng l\u1eb7p ngo\u00e0i \u00fd mu\u1ed1n.\n- **Quy\u1ec1n ri\u00eang t\u01b0 v\u00e0 b\u1ea3n quy\u1ec1n d\u1eef li\u1ec7u:** Lu\u00f4n xem x\u00e9t k\u1ef9 \u0111i\u1ec1u kho\u1ea3n s\u1eed d\u1ee5ng (Terms of Service) c\u1ee7a c\u00e1c ngu\u1ed3n d\u1eef li\u1ec7u v\u00e0 API b\u00ean th\u1ee9 ba tr\u01b0\u1edbc khi t\u00edch h\u1ee3p v\u00e0o s\u1ea3n ph\u1ea9m th\u01b0\u01a1ng m\u1ea1i.\n\n## \u0110i\u1ec3m nhanh c\u00e1c tin t\u1ee9c AI \u0111\u00e1ng ch\u00fa \u00fd kh\u00e1c c\u00f9ng bu\u1ed5i\n- **[Hugging Face Papers]** [[Research] Efficient Reasoning Training Does Not Always Harm CoT Faithfulness and Monitorability](https:\/\/huggingface.co\/papers\/2610.03509): Chain-of-thought (CoT) reasoning allows humans to inspect how large language models reach their answers, and oversee model behaviour. This reasoning comes at...\n- **[Hacker News]** [What I learnt co-leading an AI Safety bootcamp for legal and governance practit](https:\/\/www.lesswrong.com\/posts\/KtAug62dYRgAS8sqJ\/what-i-learnt-co-leading-an-ai-safety-bootcamp-for-legal-and): Th\u1ea3o lu\u1eadn s\u00f4i n\u1ed5i tr\u00ean Hacker News: 22 upvotes, 20 b\u00ecnh lu\u1eadn.\n- **[Hacker News]** [AI doesn't need 'superintelligence' or evil intent to start a nuclear war](https:\/\/thebulletin.org\/2026\/10\/ai-doesnt-need-superintelligence-or-evil-intent-to-start-a-nuclear-war\/): Th\u1ea3o lu\u1eadn s\u00f4i n\u1ed5i tr\u00ean Hacker News: 18 upvotes, 10 b\u00ecnh lu\u1eadn.\n\n## K\u1ebft lu\u1eadn\n1. **B\u1ea3n tin Bu\u1ed5i Chi\u1ec1u ghi nh\u1eadn tr\u1ecdng t\u00e2m chuy\u1ec3n d\u1ecbch m\u1ea1nh m\u1ebd sang hi\u1ec7u qu\u1ea3 th\u1ef1c t\u1ebf:** C\u00f4ng ngh\u1ec7 AI \u0111ang ch\u1ee9ng minh gi\u00e1 tr\u1ecb qua c\u00e1c gi\u1ea3i ph\u00e1p t\u1ed1i \u01b0u c\u1ee5 th\u1ec3 ch\u1ee9 kh\u00f4ng c\u00f2n l\u00e0 nh\u1eefng l\u1eddi h\u1ee9a h\u1eb9n chung chung.\n2. **T\u1ed1i \u01b0u h\u00f3a h\u1ea1 t\u1ea7ng v\u00e0 \u0111\u1ed9 tin c\u1eady l\u00e0 ch\u00eca kh\u00f3a then ch\u1ed1t:** Kh\u1ea3 n\u0103ng n\u00e9n m\u00f4 h\u00ecnh, ki\u1ebfn tr\u00fac suy lu\u1eadn hi\u1ec7u qu\u1ea3 v\u00e0 c\u00e1c r\u00e0o ch\u1eafn ki\u1ec3m so\u00e1t an to\u00e0n l\u00e0 y\u1ebfu t\u1ed1 s\u1ed1ng c\u00f2n \u0111\u1ec3 \u0111\u01b0a AI ra m\u00f4i tr\u01b0\u1eddng th\u1ef1c t\u1ebf.\n3. **H\u00e0nh \u0111\u1ed9ng g\u1ee3i \u00fd:** L\u1eadp tr\u00ecnh vi\u00ean n\u00ean d\u00e0nh th\u1eddi gian th\u1eed nghi\u1ec7m c\u00e1c th\u01b0 vi\u1ec7n v\u00e0 m\u00f4 h\u00ecnh m\u1edbi trong m\u00f4i tr\u01b0\u1eddng local\/sandbox; c\u00e1c Product Manager n\u00ean \u0111\u00e1nh gi\u00e1 k\u1ef9 b\u00e0i to\u00e1n chi ph\u00ed (ROI) tr\u01b0\u1edbc khi t\u00edch h\u1ee3p v\u00e0o s\u1ea3n ph\u1ea9m.\n\n## Ngu\u1ed3n tham kh\u1ea3o\n- [Hacker News: Powerless F1 drivers frustrated by Bahrain F1 software glitch](https:\/\/www.motorsport.com\/f1\/news\/horrible-totally-unacceptable-powerless-f1-drivers-frustrated-by-bahrain-f1-software-glitch\/10861968\/)\n- [Hugging Face Papers: [Research] LVMT: Video Mask Transformer for Long-term Video Segmentation](https:\/\/huggingface.co\/papers\/2609.34895)\n- [Hacker News: Building a RAG pipeline for semantic code search](https:\/\/blog.jetbrains.com\/ai\/2026\/09\/building-a-rag-pipeline-for-semantic-code-search-a-developer-diary-and-field-notes\/)\n- [Hugging Face Papers: [Research] Efficient Reasoning Training Does Not Always Harm CoT Faithfulness and Monitorability](https:\/\/huggingface.co\/papers\/2610.03509)\n- [Hacker News: What I learnt co-leading an AI Safety bootcamp for legal and governance practit](https:\/\/www.lesswrong.com\/posts\/KtAug62dYRgAS8sqJ\/what-i-learnt-co-leading-an-ai-safety-bootcamp-for-legal-and)\n- [Hacker News: AI doesn't need 'superintelligence' or evil intent to start a nuclear war](https:\/\/thebulletin.org\/2026\/10\/ai-doesnt-need-superintelligence-or-evil-intent-to-start-a-nuclear-war\/)","published_at":"2026-10-05T09:27:18.000000Z","scheduled_publish_at":null,"is_published":true,"is_shared":false,"updated_at":"2026-10-05T11:02:04.000000Z","edited_at":"2026-10-05T09:27:16.000000Z","translation_source":null,"trend_at":null,"promoted_at":null,"reading_time":9,"points":0,"views_count":7,"clips_count":0,"comments_count":0,"rated_value":null,"promoted":false,"trending":false,"is_draft":false,"is_public":true,"locale_code":"vi","is_video":false,"thumbnail_url":null,"user":{"data":{"id":207145,"url":"https:\/\/viblo.asia\/u\/trinhxuanchinh.dev","avatar":"e9fab45a-769c-43f6-8876-0f6b989171cb.jpeg","name":"Xu\u00e2n Chinh Tr\u1ecbnh","username":"trinhxuanchinh.dev","followers_count":3,"reputation":34,"posts_count":192,"banned_at":null,"level_partner":null,"following":false}},"tags":{"data":[{"slug":"ai","name":"AI"},{"slug":"artificial-intelligence","name":"Artificial Intelligence"},{"slug":"deep-learning","name":"Deep Learning"},{"slug":"machine-learning","name":"Machine Learning"},{"slug":"technology","name":"Technology"}]},"commentators":{"data":[]}},{"id":108270,"title":"FxMap: \u0110\u1eebng vi\u1ebft foreach \u0111i g\u1ecdi service kh\u00e1c n\u1eefa, b\u1ea1n x\u1ee9ng \u0111\u00e1ng c\u00f3 cu\u1ed9c s\u1ed1ng t\u1ed1t \u0111\u1eb9p h\u01a1n","slug":"gjLN0lvj432","url":"https:\/\/viblo.asia\/p\/fxmap-dung-viet-foreach-di-goi-service-khac-nua-ban-xung-dang-co-cuoc-song-tot-dep-hon-gjLN0lvj432","user_id":59384,"moderation":null,"transliterated":"fxmap-dung-viet-foreach-di-goi-service-khac-nua-ban-xung-dang-co-cuoc-song-tot-dep-hon","contents_short":"B\u00e0i vi\u1ebft d\u00e0nh cho nh\u1eefng ai t\u1eebng nh\u00ecn v\u00e0o m\u1ed9t c\u00e1i response ch\u1ec9 to\u00e0n UserId, ProvinceId, ProductId v\u00e0 th\u1edf d\u00e0i: \"L\u1ea1i ph\u1ea3i \u0111i gom t\u00ean v\u1ec1 n\u1eefa \u00e0...\"\n\nM\u1edf \u0111\u1ea7u: c\u00e2u chuy\u1ec7n c\u1ee7a m\u1ed9t c\u00e1i OrderResponse\n\nH\u00f4m qua s\u1ebfp giao task: \"Em \u01a1i, l\u00e0m c\u00e1i m\u00e0n h\u00ecnh danh s\u00e1ch \u0111\u01a1n h\u00e0ng. Hi\u1ec7n t\u00ean kh\u00e1ch, t\u00ean t\u1ec9nh, t\u00ean s\u1ea3n ph\u1ea9m nh\u00e9. D\u1ec5 m\u00e0.\"\n\nCh\u1eef \"d\u1ec5 m\u00e0\" lu\u00f4n l\u00e0 d\u1ea5u hi\u1ec7u \u0111\u1ea7u ti\u00ean c\u1ee7a m\u1ed9t tu\u1ea7n \u0111i t\u0103ng ca.\n\nB\u1ea1n m\u1edf code l\u00ean. B\u1ea1n c...","contents":"> B\u00e0i vi\u1ebft d\u00e0nh cho nh\u1eefng ai t\u1eebng nh\u00ecn v\u00e0o m\u1ed9t c\u00e1i response ch\u1ec9 to\u00e0n `UserId`, `ProvinceId`, `ProductId` v\u00e0 th\u1edf d\u00e0i: *\"L\u1ea1i ph\u1ea3i \u0111i gom t\u00ean v\u1ec1 n\u1eefa \u00e0...\"*\n\n## M\u1edf \u0111\u1ea7u: c\u00e2u chuy\u1ec7n c\u1ee7a m\u1ed9t c\u00e1i `OrderResponse`\n\nH\u00f4m qua s\u1ebfp giao task: *\"Em \u01a1i, l\u00e0m c\u00e1i m\u00e0n h\u00ecnh danh s\u00e1ch \u0111\u01a1n h\u00e0ng. Hi\u1ec7n t\u00ean kh\u00e1ch, t\u00ean t\u1ec9nh, t\u00ean s\u1ea3n ph\u1ea9m nh\u00e9. D\u1ec5 m\u00e0.\"*\n\nCh\u1eef \"d\u1ec5 m\u00e0\" lu\u00f4n l\u00e0 d\u1ea5u hi\u1ec7u \u0111\u1ea7u ti\u00ean c\u1ee7a m\u1ed9t tu\u1ea7n \u0111i t\u0103ng ca.\n\nB\u1ea1n m\u1edf code l\u00ean. B\u1ea1n c\u00f3 m\u1ed9t h\u1ec7 th\u1ed1ng microservice (v\u00ec ch\u00fang ta l\u00e0 d\u00e2n chuy\u00ean nghi\u1ec7p, v\u00e0 v\u00ec CV n\u00f3 \u0111\u1eb9p). Service `Order` ch\u1ec9 bi\u1ebft:\n\n```csharp\npublic class OrderResponse\n{\n    public string Id { get; set; }\n    public string UserId { get; set; }       \/\/ service User gi\u1eef\n    public string ProvinceId { get; set; }   \/\/ service Location gi\u1eef\n    public string ProductId { get; set; }    \/\/ service Catalog gi\u1eef\n}\n```\n\nC\u00f2n t\u00ean kh\u00e1ch, email, t\u00ean t\u1ec9nh, t\u00ean s\u1ea3n ph\u1ea9m th\u00ec... \u1edf nh\u00e0 ng\u01b0\u1eddi kh\u00e1c h\u1ebft. Th\u1ebf l\u00e0 b\u1ea1n vi\u1ebft:\n\n```csharp\nvar orders = await _db.Orders.ToListAsync();\n\nvar userIds = orders.Select(o => o.UserId).Distinct().ToList();\nvar users = await _userClient.GetByIdsAsync(userIds);          \/\/ g\u1ecdi 1\nvar userMap = users.ToDictionary(u => u.Id);\n\nvar provinceIds = orders.Select(o => o.ProvinceId).Distinct().ToList();\nvar provinces = await _locationClient.GetByIdsAsync(provinceIds); \/\/ g\u1ecdi 2\nvar provinceMap = provinces.ToDictionary(p => p.Id);\n\n\/\/ ... l\u1eb7p l\u1ea1i cho Product, Category, Country, Shipper, Voucher, ...\n\nforeach (var o in orders)\n{\n    o.UserName = userMap.TryGetValue(o.UserId, out var u) ? u.Name : null;\n    o.UserEmail = userMap.TryGetValue(o.UserId, out var u2) ? u2.Email : null;\n    o.ProvinceName = provinceMap.TryGetValue(o.ProvinceId, out var p) ? p.Name : null;\n    \/\/ ... 40 d\u00f2ng n\u1eefa, m\u1ed7i d\u00f2ng l\u00e0 m\u1ed9t c\u01a1 h\u1ed9i \u0111\u1ec3 copy-paste sai t\u00ean bi\u1ebfn\n}\n```\n\nR\u1ed3i endpoint ti\u1ebfp theo c\u1ea7n y chang. R\u1ed3i endpoint ti\u1ebfp theo n\u1eefa. R\u1ed3i m\u1ed9t b\u1ea1n m\u1edbi v\u00e0o team qu\u00ean `Distinct()` v\u00e0 g\u1ecdi service User 10.000 l\u1ea7n cho 10.000 \u0111\u01a1n h\u00e0ng c\u1ee7a c\u00f9ng m\u1ed9t \u00f4ng kh\u00e1ch VIP. \u00d4ng kh\u00e1ch VIP \u0111\u00f3, ch\u00ednh l\u00e0 s\u1ebfp b\u1ea1n.\n\nN\u1ebfu b\u1ea1n th\u1ea5y quen quen, **FxMap** sinh ra \u0111\u1ec3 d\u00e0nh cho b\u1ea1n.\n\n## FxMap l\u00e0 g\u00ec (gi\u1ea3i th\u00edch ki\u1ec3u ng\u01b0\u1eddi th\u01b0\u1eddng)\n\n**FxMap** l\u00e0 m\u1ed9t th\u01b0 vi\u1ec7n .NET m\u00e3 ngu\u1ed3n m\u1edf (Apache-2.0) cho b\u00e0i to\u00e1n **distributed data mapping**: b\u1ea1n *khai b\u00e1o* \"property n\u00e0y l\u1ea5y t\u1eeb \u0111\u00e2u\", FxMap lo ph\u1ea7n c\u00f2n l\u1ea1i: gom id, g\u1ed9p request, g\u1eedi \u0111i qua transport b\u1ea1n \u0111ang d\u00f9ng, nh\u1eadn v\u1ec1, nh\u00e9t v\u00e0o \u0111\u00fang ch\u1ed7.\n\nN\u1ebfu b\u1ea1n bi\u1ebft AutoMapper th\u00ec c\u00f3 th\u1ec3 hi\u1ec3u n\u00f4m na th\u1ebf n\u00e0y:\n\n| | AutoMapper | FxMap |\n|---|---|---|\n| Map t\u1eeb \u0111\u00e2u | Object n\u00e0y sang object kia, **c\u00f9ng process** | Object c\u1ee7a b\u1ea1n \u2190 d\u1eef li\u1ec7u c\u1ee7a **service kh\u00e1c** |\n| Ngu\u1ed3n d\u1eef li\u1ec7u | B\u1ed9 nh\u1edb \/ DB c\u1ee7a b\u1ea1n | Service kh\u00e1c, qua NATS \/ gRPC \/ RabbitMQ \/ Kafka... |\n| N\u1ed7i \u0111au gi\u1ea3i quy\u1ebft | Vi\u1ebft `dest.X = src.X` | Vi\u1ebft v\u00f2ng l\u1eb7p \u0111i g\u1ecdi service r\u1ed3i `Dictionary` r\u1ed3i `TryGetValue` r\u1ed3i kh\u00f3c |\n\n\u0110i\u1ec3m hay l\u00e0 hai service **kh\u00f4ng c\u1ea7n bi\u1ebft nhau**. Ch\u00fang ch\u1ec9 th\u1ed1ng nh\u1ea5t v\u1edbi nhau m\u1ed9t c\u00e1i t\u00ean (g\u1ecdi l\u00e0 *distributed key*). Gi\u1ed1ng nh\u01b0 hai ng\u01b0\u1eddi kh\u00f4ng c\u00f3 s\u1ed1 c\u1ee7a nhau nh\u01b0ng c\u00f9ng bi\u1ebft \"qu\u00e1n c\u00e0 ph\u00ea \u0111\u1ea7u h\u1ebbm\": ai c\u1ea7n g\u00ec c\u1ee9 ra \u0111\u00f3 h\u1ecfi.\n\n## V\u00ed d\u1ee5 \u0111\u1ea7u ti\u00ean: 10 d\u00f2ng thay 100 d\u00f2ng\n\nQuay l\u1ea1i `OrderResponse`. V\u1edbi FxMap, b\u1ea1n th\u00eam c\u00e1c property c\u1ea7n hi\u1ec3n th\u1ecb v\u00e0 khai b\u00e1o m\u1ed9t c\u00e1i profile:\n\n```csharp\npublic class OrderResponse\n{\n    public string UserId { get; set; }\n    public string UserName { get; set; }     \/\/ FxMap \u0111i\u1ec1n\n    public string UserEmail { get; set; }    \/\/ FxMap \u0111i\u1ec1n\n}\n\npublic class OrderResponseProfile : ProfileOf<OrderResponse>\n{\n    protected override void Configure() =>\n        UseDistributedKey<UserDistributedKey>()\n            .Of(x => x.UserId)                 \/\/ \"ch\u00eca kh\u00f3a\" l\u00e0 UserId\n            .For(x => x.UserName)              \/\/ l\u1ea5y thu\u1ed9c t\u00ednh m\u1eb7c \u0111\u1ecbnh (Name)\n            .For(x => x.UserEmail, \"Email\");   \/\/ l\u1ea5y thu\u1ed9c t\u00ednh Email\n}\n```\n\nV\u00e0 ch\u1ed7 tr\u1ea3 response:\n\n```csharp\nawait distributedMapper.MapDataAsync(response);\n```\n\nH\u1ebft. Th\u1eadt \u0111\u00f3. Kh\u00f4ng c\u00f3 `foreach`, kh\u00f4ng c\u00f3 `Dictionary`, kh\u00f4ng c\u00f3 `TryGetValue` x\u1ebfp h\u00e0ng nh\u01b0 \u0111\u1ed9i duy\u1ec7t binh.\n\nD\u00f9 `response` l\u00e0 m\u1ed9t object hay m\u1ed9t list 10.000 ph\u1ea7n t\u1eed, FxMap v\u1eabn ch\u1ec9 g\u1eedi **m\u1ed9t request cho m\u1ed7i distributed key** (v\u1edbi danh s\u00e1ch id \u0111\u00e3 `Distinct`). \u00d4ng kh\u00e1ch VIP c\u1ee7a b\u1ea1n ch\u1ec9 b\u1ecb h\u1ecfi th\u0103m \u0111\u00fang m\u1ed9t l\u1ea7n.\n\n## Ph\u00eda b\u00ean kia: service s\u1edf h\u1eefu d\u1eef li\u1ec7u\n\nService `User` (n\u01a1i c\u00f3 b\u1ea3ng Users th\u1eadt) c\u0169ng ch\u1ec9 c\u1ea7n khai b\u00e1o \"t\u00f4i cho ph\u00e9p ng\u01b0\u1eddi kh\u00e1c l\u1ea5y g\u00ec\":\n\n```csharp\npublic sealed class UserDistributedKey : IDistributedKey;\n\npublic class UserConfig : EntityConfigureOf<User>\n{\n    protected override void Configure()\n    {\n        Id(x => x.Id);\n        DefaultProperty(x => x.Name);\n        UseDistributedKey<UserDistributedKey>();\n        ExposedName(x => x.Email, \"UserEmail\");   \/\/ \u0111\u1ed5i t\u00ean khi \"xu\u1ea5t kh\u1ea9u\"\n    }\n}\n```\n\nR\u1ed3i c\u1eafm m\u1ed9t data provider (hi\u1ec7n c\u00f3 **EF Core** v\u00e0 **MongoDB**) v\u00e0 m\u1ed9t transport. FxMap t\u1ef1 d\u1ef1ng handler tr\u1ea3 l\u1eddi request, t\u1ef1 build c\u00e2u query t\u1eeb expression, kh\u00f4ng ph\u1ea3i vi\u1ebft controller \"GET \/users\/by-ids\" n\u1eefa. B\u1ea1n \u0111\u00e3 bao gi\u1edd vi\u1ebft endpoint \u0111\u00f3 ch\u01b0a? B\u1ea1n \u0111\u00e3 vi\u1ebft 14 l\u1ea7n r\u1ed3i, \u0111\u00fang kh\u00f4ng?\n\n> V\u00e0i chi ti\u1ebft nh\u1ecf m\u00e0 \"\u0111\u1eaft\": t\u1eeb b\u1ea3n 4.0.0, `Id(...)` v\u00e0 `DefaultProperty(...)` nh\u1eadn h\u1eb3n **lambda selector**, \u0111\u01b0\u1ee3c validate ngay l\u00fac c\u1ea5u h\u00ecnh. Qu\u00ean khai b\u00e1o `Id` th\u00ec app b\u00e1o l\u1ed7i l\u00fac kh\u1edfi \u0111\u1ed9ng ch\u1ee9 kh\u00f4ng \u0111\u1ee3i \u0111\u1ebfn 2 gi\u1edd s\u00e1ng \u1edf production m\u1edbi n\u1ed5. Id c\u00f2n c\u00f3 th\u1ec3 l\u00e0 bi\u1ec3u th\u1ee9c t\u00ednh to\u00e1n ki\u1ec3u `x => x.Code + x.Site`.\n\n## \u0110i\u1ec1u l\u00e0m FxMap kh\u00e1c m\u1ed9t c\u00e1i \"HTTP client b\u1ecdc ngo\u00e0i\": ng\u00f4n ng\u1eef bi\u1ec3u th\u1ee9c\n\nN\u1ebfu ch\u1ec9 l\u1ea5y `Name` v\u00e0 `Email` th\u00ec ch\u01b0a c\u00f3 g\u00ec \u0111\u1ec3 khoe. Nh\u01b0ng th\u01b0\u1eddng th\u00ec s\u1ebfp s\u1ebd h\u1ecfi: *\"Hi\u1ec7n lu\u00f4n t\u00ean qu\u1ed1c gia c\u1ee7a kh\u00e1ch, t\u1ed5ng ti\u1ec1n kh\u00e1ch \u0111\u00e3 chi, v\u00e0 s\u1ed1 \u0111\u01a1n \u0111\u00e3 ho\u00e0n th\u00e0nh nh\u00e9.\"* FxMap c\u00f3 h\u1eb3n m\u1ed9t **DSL gi\u1ed1ng SQL** \u0111\u1ec3 b\u1ea1n vi\u1ebft ngay trong profile:\n\n```csharp\npublic class UserResponseProfile : ProfileOf<UserResponse>\n{\n    protected override void Configure()\n    {\n        UseDistributedKey<UserDistributedKey>()\n            .Of(x => x.UserId)\n            \/\/ Truy c\u1eadp thu\u1ed9c t\u00ednh \u0111\u01a1n gi\u1ea3n\n            .For(x => x.UserEmail, \"Email\")\n            \/\/ \u0110i qua navigation\n            .For(x => x.CountryName, \"Country.Name\")\n            \/\/ L\u1ecdc\n            .For(x => x.CompletedOrders, \"Orders(Status = 'Done')\")\n            \/\/ Aggregation\n            .For(x => x.TotalSpent, \"Orders:sum(Total)\")\n            \/\/ Projection\n            .For(x => x.UserDetails, \"{Id, Name, Address.City as CityName}\")\n            \/\/ GroupBy\n            .For(x => x.OrdersByStatus, \"Orders:groupBy(Status).{Status, :count as Count}\");\n    }\n}\n```\n\nChu\u1ed7i n\u00e0y **kh\u00f4ng** \u0111\u01b0\u1ee3c g\u1eedi \u0111i r\u1ed3i `Eval` b\u1eeba b\u00e3i. Service s\u1edf h\u1eefu d\u1eef li\u1ec7u parse n\u00f3 th\u00e0nh **LINQ expression tree** v\u00e0 \u0111\u1ec3 EF Core \/ MongoDB d\u1ecbch th\u00e0nh query th\u1eadt. Ngh\u0129a l\u00e0 `Orders:sum(Total)` ch\u1ea1y \u1edf DB, kh\u00f4ng ph\u1ea3i k\u00e9o 50.000 \u0111\u01a1n h\u00e0ng v\u1ec1 r\u1ed3i c\u1ed9ng b\u1eb1ng tay. V\u00ed d\u1ee5, thay v\u00ec:\n\n```csharp\nvar total = user.Orders.Sum(o => o.Total);   \/\/ k\u00e9o h\u1ebft v\u1ec1 RAM, c\u1ea7u nguy\u1ec7n\n```\n\nb\u1ea1n c\u00f3 m\u1ed9t c\u00e2u `SUM` \u0111\u00e0ng ho\u00e0ng. Server c\u1ee7a b\u1ea1n s\u1ebd g\u1eedi l\u1eddi c\u1ea3m \u01a1n qua... m\u1ee9c CPU th\u1ea5p.\n\nBonus: c\u00f3 **Roslyn analyzer** (`FxMap.Analyzers`) ki\u1ec3m tra chu\u1ed7i expression ngay l\u00fac compile. G\u00f5 sai `Orders:summ(Total)` l\u00e0 IDE g\u1ea1ch \u0111\u1ecf li\u1ec1n, thay v\u00ec \u0111\u1ec3 d\u00e0nh b\u1ea5t ng\u1edd cho gi\u1edd ch\u1ea1y.\n\n## Chu\u1ed7i ph\u1ee5 thu\u1ed9c: `UserId \u2192 ProvinceId \u2192 CountryId`\n\nT\u00ecnh hu\u1ed1ng kinh \u0111i\u1ec3n: Order c\u00f3 `UserId`. User c\u00f3 `ProvinceId`. Province c\u00f3 `CountryId`. Mu\u1ed1n t\u00ean qu\u1ed1c gia c\u1ee7a kh\u00e1ch, b\u1ea1n ph\u1ea3i g\u1ecdi 3 service n\u1ed1i \u0111u\u00f4i nhau nh\u01b0 t\u00e0u h\u1ecfa.\n\nVi\u1ebft tay th\u00ec \u0111\u00e2y l\u00e0 cu\u1ed9c \u0111ua \"ai l\u1ed3ng \u0111\u01b0\u1ee3c nhi\u1ec1u callback nh\u1ea5t\". V\u1edbi FxMap, b\u1ea1n khai b\u00e1o t\u1eebng m\u1eaft x\u00edch trong profile, v\u00e0 n\u00f3 t\u1ef1 gi\u1ea3i **theo t\u1eebng t\u1ea7ng**:\n\n- T\u1ea7ng 1: gom t\u1ea5t c\u1ea3 `UserId` \u2192 h\u1ecfi service User m\u1ed9t ph\u00e1t, l\u1ea5y v\u1ec1 `ProvinceId`.\n- T\u1ea7ng 2: gom t\u1ea5t c\u1ea3 `ProvinceId` v\u1eeba c\u00f3 \u2192 h\u1ecfi m\u1ed9t ph\u00e1t, l\u1ea5y v\u1ec1 `CountryId`.\n- T\u1ea7ng 3: t\u01b0\u01a1ng t\u1ef1.\n\nS\u1ed1 request ch\u1ec9 ph\u1ee5 thu\u1ed9c v\u00e0o **s\u1ed1 t\u1ea7ng \u00d7 s\u1ed1 key**, kh\u00f4ng ph\u1ee5 thu\u1ed9c s\u1ed1 object. T\u1eeb 10 \u0111\u01a1n hay 10.000 \u0111\u01a1n th\u00ec s\u1ed1 l\u1ea7n g\u1ecdi m\u1ea1ng v\u1eabn th\u1ebf. \u0110\u00e2y l\u00e0 c\u00e1ch tr\u1ecb c\u0103n b\u1ec7nh N+1 t\u1eeb g\u1ed1c, thay v\u00ec u\u1ed1ng thu\u1ed1c gi\u1ea3m \u0111au.\n\nV\u1edbi object l\u1ed3ng nhau (m\u1ed9t `Order` c\u00f3 list `Items`, m\u1ed7i item c\u00f3 `ProductId`, `Product` c\u00f3 `CategoryId`...), FxMap t\u1ef1 \u0111i s\u00e2u v\u00e0o graph \u0111\u1ec3 t\u00ecm m\u1ecdi ch\u1ed7 c\u1ea7n \u0111i\u1ec1n. \u0110\u1ed3 th\u1ecb s\u00e2u 2000 t\u1ea7ng c\u0169ng \u0111\u00e3 \u0111\u01b0\u1ee3c test (b\u1ea3n Discover d\u00f9ng stack t\u01b0\u1eddng minh ch\u1ee9 kh\u00f4ng \u0111\u1ec7 quy, n\u00ean kh\u00f4ng ch\u1ebft v\u00ec `StackOverflow`).\n\n## Transport: b\u1ea1n \u0111ang d\u00f9ng g\u00ec th\u00ec c\u1eafm \u0111\u00f3\n\n\u0110\u00e3 c\u00f3 s\u1eb5n:\n\n- **gRPC**\n- **NATS**\n- **RabbitMQ**\n- **Apache Kafka**\n- **Azure Service Bus**\n- **Amazon SQS**\n\nK\u00e8m retry v\u00e0 supervision. Mu\u1ed1n \u0111\u1ed5i t\u1eeb NATS sang gRPC? \u0110\u1ed5i package v\u00e0 d\u00f2ng \u0111\u0103ng k\u00fd. Profile v\u00e0 entity config **kh\u00f4ng \u0111\u1ed5i m\u1ed9t ch\u1eef**. Gi\u1ed1ng nh\u01b0 \u0111\u1ed5i h\u00e3ng xe \u00f4m m\u00e0 \u0111\u1ecba ch\u1ec9 nh\u00e0 v\u1eabn th\u1ebf.\n\nTr\u01b0\u1eddng h\u1ee3p service s\u1edf h\u1eefu d\u1eef li\u1ec7u **ch\u00ednh l\u00e0 service \u0111ang g\u1ecdi** (v\u00ed d\u1ee5 monolith, ho\u1eb7c ch\u1ea1y test), FxMap tr\u1ea3 l\u1eddi c\u1ee5c b\u1ed9 lu\u00f4n, kh\u00f4ng ra kh\u1ecfi process. N\u00ean b\u1ea1n c\u00f3 th\u1ec3 b\u1eaft \u0111\u1ea7u b\u1eb1ng modular monolith r\u1ed3i t\u00e1ch microservice sau m\u00e0 kh\u00f4ng ph\u1ea3i vi\u1ebft l\u1ea1i ph\u1ea7n mapping. Ki\u1ebfn tr\u00fac s\u01b0 c\u1ee7a b\u1ea1n g\u1ecdi \u0111\u00e2y l\u00e0 \"evolutionary architecture\", c\u00f2n b\u1ea1n g\u1ecdi l\u00e0 \"ng\u1ee7 \u0111\u1ee7 gi\u1ea5c\".\n\n## D\u00f9ng v\u1edbi GraphQL (HotChocolate)\n\nN\u1ebfu API c\u1ee7a b\u1ea1n l\u00e0 GraphQL, g\u00f3i `FxMap.HotChocolate` \u0111i\u1ec1n c\u00e1c response type th\u00f4ng qua HotChocolate. Resolver kh\u00f4ng ph\u1ea3i t\u1ef1 g\u1ecdi qua l\u1ea1i. V\u1edbi GraphQL, b\u00e0i to\u00e1n N+1 v\u1ed1n \u0111\u00e3 \u0111\u1ee7 \u00e1m \u1ea3nh r\u1ed3i, b\u1edbt \u0111i m\u1ed9t ngu\u1ed3n c\u0169ng l\u00e0 ph\u00fac \u0111\u1ee9c.\n\n## C\u00f2n hi\u1ec7u n\u0103ng th\u00ec sao? (ph\u1ea7n d\u00e0nh cho ng\u01b0\u1eddi hay ho\u00e0i nghi, t\u1ee9c l\u00e0 t\u1ea5t c\u1ea3 ch\u00fang ta)\n\nC\u00e2u h\u1ecfi h\u1ee3p l\u00fd: *\"Th\u01b0 vi\u1ec7n l\u00e0m nhi\u1ec1u vi\u1ec7c th\u1ebf th\u00ec ch\u1eadm kh\u00f4ng?\"*\n\nPh\u1ea7n l\u1edbn th\u1eddi gian c\u1ee7a m\u1ed9t l\u1ea7n g\u1ecdi th\u1eadt l\u00e0 ch\u1edd **m\u1ea1ng**, n\u00ean m\u00ecnh \u0111o ri\u00eang ph\u1ea7n mapper b\u1eb1ng c\u00e1ch b\u1ecf m\u1ea1ng ra: FxMap l\u00e0m gi\u00e0u DTO t\u1eeb EF Core InMemory trong c\u00f9ng process (kh\u00f4ng transport), so v\u1edbi **AutoMapper 14 `ProjectTo`** (m\u1ed9t query c\u00f3 join).\n\nK\u1ecbch b\u1ea3n: m\u1ed7i \u0111\u01a1n c\u00f3 kh\u00e1ch (customer \u2192 province \u2192 country) v\u00e0 3-5 item (item \u2192 product \u2192 category). Hai b\u00ean cho ra c\u00f9ng m\u1ed9t \u0111\u1ed3 th\u1ecb `OrderDto` (benchmark c\u00f3 ki\u1ec3m tra k\u1ebft qu\u1ea3 gi\u1ed1ng nhau).\n\n| S\u1ed1 \u0111\u01a1n | AutoMapper `ProjectTo` | FxMap (query + enrich) | Th\u1eddi gian FxMap\/AutoMapper | B\u1ed9 nh\u1edb FxMap\/AutoMapper |\n|-------:|-----------------------:|-----------------------:|---------------------------:|------------------------:|\n| 10     | 164 \u00b5s \/ 276 KB        | 277 \u00b5s \/ 382 KB        | 1.69\u00d7                      | 1.38\u00d7                   |\n| 100    | 2.07 ms \/ 2.2 MB       | **1.81 ms \/ 1.1 MB**   | **0.88\u00d7**                  | **0.50\u00d7**               |\n| 1,000  | 96.4 ms \/ 21.4 MB      | **93.6 ms \/ 7.0 MB**   | **0.97\u00d7**                  | **0.33\u00d7**               |\n\n(BenchmarkDotNet 0.15, 3 launches, .NET 10, Apple M1 Pro. C\u00e0ng th\u1ea5p c\u00e0ng t\u1ed1t.)\n\n\u0110\u1ecdc th\u1ebf n\u00e0o cho trung th\u1ef1c:\n\n- **10 \u0111\u01a1n**: FxMap ch\u1eadm h\u01a1n (1.69\u00d7). C\u1ea3 hai \u0111\u1ec1u d\u01b0\u1edbi m\u1ed9t ph\u1ea7n ngh\u00ecn gi\u00e2y, chi ph\u00ed c\u1ed1 \u0111\u1ecbnh c\u1ee7a vi\u1ec7c \"m\u1ed7i key m\u1ed7i t\u1ea7ng m\u1ed9t query\" l\u1ed9 ra. Kh\u00f4ng ai nh\u1eadn ra, k\u1ec3 c\u1ea3 s\u1ebfp.\n- **100 \u0111\u01a1n tr\u1edf l\u00ean**: FxMap ngang ho\u1eb7c nhanh h\u01a1n, v\u00e0 d\u00f9ng **ch\u1ec9 m\u1ed9t n\u1eeda \u0111\u1ebfn m\u1ed9t ph\u1ea7n ba b\u1ed9 nh\u1edb**, v\u00ec n\u00f3 l\u1ea5y m\u1ed7i key ph\u00e2n bi\u1ec7t \u0111\u00fang m\u1ed9t l\u1ea7n thay v\u00ec join l\u1eb7p tr\u00ean m\u1ecdi d\u00f2ng.\n- \u0110\u00e2y l\u00e0 so s\u00e1nh **c\u1ee5c b\u1ed9, in-memory**. V\u1edbi DB v\u00e0 m\u1ea1ng th\u1eadt, chi ph\u00ed round-trip m\u1edbi l\u00e0 th\u1ee9 quy\u1ebft \u0111\u1ecbnh. V\u00e0 \u0111\u00f3 ch\u00ednh l\u00e0 ch\u1ed7 batching theo key c\u1ee7a FxMap t\u1ecfa s\u00e1ng. M\u1ea5y con s\u1ed1 tr\u00ean **kh\u00f4ng** n\u00f3i g\u00ec v\u1ec1 \u0111\u1ed9 tr\u1ec5 m\u1ea1ng, m\u00ecnh n\u00f3i th\u1eb3ng \u0111\u1ec3 kh\u1ecfi b\u1ecb ai nh\u1eafc l\u1ea1i trong comment.\n\nMu\u1ed1n t\u1ef1 ki\u1ec3m ch\u1ee9ng:\n\n```bash\ncd FxMap\/test\/FxMap.Benchmark\ndotnet run -c Release -- --filter '*ProjectionBenchmark*' --launchCount 3\n```\n\n## C\u00e0i \u0111\u1eb7t trong 5 ph\u00fat\n\n```bash\ndotnet add package FxMap\ndotnet add package FxMap.EntityFrameworkCore   # provider (ho\u1eb7c FxMap.MongoDb)\ndotnet add package FxMap.Nats                  # transport (ho\u1eb7c Grpc, RabbitMq, Kafka...)\ndotnet add package FxMap.Analyzers             # t\u00f9y ch\u1ecdn, b\u1eaft l\u1ed7i l\u00fac compile\n```\n\n> \u26a0\ufe0f M\u1ecdi package `FxMap.*` ph\u1ea3i **c\u00f9ng m\u1ed9t version**. \u0110\u1eebng th\u1eed mix `FxMap 4.0.0` v\u1edbi `FxMap.Nats 3.x` r\u1ed3i \u0111\u1ed5 l\u1ed7i cho th\u01b0 vi\u1ec7n nh\u00e9, m\u00ecnh bi\u1ebft b\u1ea1n \u0111\u1ecbnh l\u00e0m th\u1ebf.\n\n\u0110\u0103ng k\u00fd:\n\n```csharp\nbuilder.Services.AddFxMap(cfg =>\n{\n    cfg.AddEntitiesFromAssemblyContaining<SomeEntityAssemblyMarker>();\n    cfg.AddProfilesFromAssemblyContaining<SomeProfileAssemblyMarker>();\n});\n```\n\nT\u1edbi \u0111\u00f3 l\u00e0 ch\u1ea1y. Th\u01b0 vi\u1ec7n h\u1ed7 tr\u1ee3 **.NET 8, 9 v\u00e0 10**.\n\n## M\u1ed9t k\u1ecbch b\u1ea3n \u0111\u1ea7y \u0111\u1ee7, t\u1eeb \u0111\u1ea7u \u0111\u1ebfn cu\u1ed1i\n\nGi\u1ea3 s\u1eed c\u00f3 2 service:\n\n**Service Order** (c\u1ea7n hi\u1ec3n th\u1ecb t\u00ean kh\u00e1ch):\n\n```csharp\npublic class OrderResponse\n{\n    public string Id { get; set; }\n    public string UserId { get; set; }\n    public string UserName { get; set; }\n    public string UserEmail { get; set; }\n}\n\npublic class OrderResponseProfile : ProfileOf<OrderResponse>\n{\n    protected override void Configure() =>\n        UseDistributedKey<UserDistributedKey>()\n            .Of(x => x.UserId)\n            .For(x => x.UserName)\n            .For(x => x.UserEmail, \"Email\");\n}\n\napp.MapGet(\"\/orders\", async (AppDbContext db, IDistributedMapper mapper, CancellationToken ct) =>\n{\n    var orders = await db.Orders\n        .Select(o => new OrderResponse { Id = o.Id, UserId = o.UserId })\n        .ToListAsync(ct);\n\n    await mapper.MapDataAsync(orders, ct);   \/\/ m\u1ed9t request t\u1edbi service User, h\u1ebft chuy\u1ec7n\n    return orders;\n});\n```\n\n**Service User** (ch\u1ee7 s\u1edf h\u1eefu d\u1eef li\u1ec7u): ch\u1ec9 c\u1ea7n `UserConfig : EntityConfigureOf<User>` nh\u01b0 \u1edf tr\u00ean, m\u1ed9t provider EF Core, v\u00e0 \u0111\u0103ng k\u00fd c\u00f9ng transport. Kh\u00f4ng vi\u1ebft controller, kh\u00f4ng vi\u1ebft DTO \"\u0111\u1ec3 service kh\u00e1c g\u1ecdi\".\n\n## Quan s\u00e1t, debug, v\u00e0 \"n\u00f3 ch\u1ea1y sao m\u00e0 ra th\u1ebf n\u00e0y?\"\n\nFxMap ph\u00e1t **Activity** cho OpenTelemetry, \u1edf c\u1ea3 mapping l\u1eabn data access. C\u1eafm Jaeger v\u00e0o l\u00e0 th\u1ea5y lu\u00f4n: m\u1ed9t l\u1ea7n map g\u1ecdi nh\u1eefng key n\u00e0o, m\u1ea5y t\u1ea7ng, m\u1ea5t bao l\u00e2u. Repo c\u00f3 s\u1eb5n th\u01b0 m\u1ee5c `sample\/` v\u1edbi docker-compose g\u1ed3m NATS, PostgreSQL, MongoDB, Jaeger, Prometheus, Grafana. Ch\u1ea1y m\u1ed9t l\u1ec7nh l\u00e0 c\u00f3 c\u1ea3 s\u00e2n kh\u1ea5u \u0111\u1ec3 th\u1eed.\n\n## Khi n\u00e0o n\u00ean d\u00f9ng, khi n\u00e0o \u0111\u1eebng\n\nN\u00ean d\u00f9ng khi:\n\n- B\u1ea1n c\u00f3 microservice v\u00e0 response to\u00e0n kh\u00f3a ngo\u1ea1i c\u1ea7n \"d\u1ecbch\" ra t\u00ean\/th\u00f4ng tin.\n- B\u1ea1n m\u1ec7t v\u1edbi vi\u1ec7c vi\u1ebft endpoint `GetByIds` cho m\u1ecdi entity.\n- B\u1ea1n mu\u1ed1n m\u1ed9t ch\u1ed7 t\u1eadp trung \u0111\u1ec3 th\u1ea5y \"property n\u00e0y \u0111\u1ebfn t\u1eeb \u0111\u00e2u\".\n- B\u1ea1n d\u00f9ng GraphQL v\u00e0 mu\u1ed1n b\u1edbt resolver g\u1ecdi qua g\u1ecdi l\u1ea1i.\n\n\u0110\u1eebng d\u00f9ng khi:\n\n- D\u1eef li\u1ec7u n\u1eb1m c\u00f9ng m\u1ed9t DB, m\u1ed9t `JOIN` l\u00e0 xong. \u0110\u1eebng mang xe t\u1ea3i \u0111i mua g\u00f3i x\u00f4i.\n- B\u1ea1n c\u1ea7n transaction xuy\u00ean service. FxMap l\u00e0 c\u00f4ng c\u1ee5 **\u0111\u1ecdc\/l\u00e0m gi\u00e0u d\u1eef li\u1ec7u**, kh\u00f4ng ph\u1ea3i saga.\n- B\u1ea1n mu\u1ed1n mapper \u0111\u1ed5i object-sang-object thu\u1ea7n t\u00fay. \u0110\u00f3 l\u00e0 vi\u1ec7c c\u1ee7a AutoMapper \/ Mapperly, v\u00e0 hai th\u1eb1ng n\u00e0y ho\u00e0n to\u00e0n c\u00f3 th\u1ec3 s\u1ed1ng chung.\n\n## L\u1ed9 tr\u00ecnh\n\nPhi\u00ean b\u1ea3n hi\u1ec7n t\u1ea1i l\u00e0 **4.0.0**. M\u00ecnh \u0111ang th\u1eed nghi\u1ec7m t\u00ednh n\u0103ng **Collection** cho c\u00e1c kh\u00f3a kh\u00f4ng duy nh\u1ea5t (v\u00ed d\u1ee5 m\u1ed9t m\u00e3 b\u1ec7nh nh\u00e2n c\u00f3 nhi\u1ec1u l\u01b0\u1ee3t kh\u00e1m, l\u1ea5y N d\u00f2ng \u0111\u1ea7u, c\u00f3 order\/limit) tr\u00ean nh\u00e1nh ri\u00eang `dev-feature-collection`; ch\u01b0a ph\u00e1t h\u00e0nh n\u00ean m\u00ecnh ch\u01b0a h\u1ee9a g\u00ec \u1edf \u0111\u00e2y. Ngo\u00e0i ra c\u00f2n nhi\u1ec1u \u00fd t\u01b0\u1edfng v\u1ec1 t\u1ed1i \u01b0u mapper \u0111ang \u0111\u01b0\u1ee3c th\u1eed v\u00e0 \u0111o \u0111\u1ea1c (\u0111o tr\u01b0\u1edbc, khoe sau).\n\n## L\u1eddi k\u1ebft\n\nVi\u1ebft code gom d\u1eef li\u1ec7u gi\u1eefa c\u00e1c service gi\u1ed1ng nh\u01b0 r\u1eeda ch\u00e9n: kh\u00f4ng ai gh\u00e9t n\u00f3 v\u00ec kh\u00f3, ng\u01b0\u1eddi ta gh\u00e9t v\u00ec **l\u1eb7p \u0111i l\u1eb7p l\u1ea1i v\u00e0 kh\u00f4ng ai khen**. FxMap kh\u00f4ng bi\u1ebfn vi\u1ec7c \u0111\u00f3 th\u00e0nh th\u00fa v\u1ecb, nh\u01b0ng n\u00f3 bi\u1ebfn n\u00f3 th\u00e0nh **m\u1ed9t khai b\u00e1o** thay v\u00ec m\u1ed9t \u0111\u1ed1ng v\u00f2ng l\u1eb7p.\n\nN\u1ebfu b\u1ea1n th\u1ea5y hay, gh\u00e9 xem v\u00e0 cho m\u1ed9t c\u00e1i \u2b50 c\u0169ng \u0111\u01b0\u1ee3c, c\u00f2n ch\u00ea th\u00ec m\u1edf issue c\u0169ng \u0111\u01b0\u1ee3c, m\u00ecnh \u0111\u1ecdc c\u1ea3 hai (t\u1ea5t nhi\u00ean c\u00e1i \u2b50 \u0111\u1ecdc nhanh h\u01a1n).\n\n- \ud83d\udce6 NuGet: https:\/\/www.nuget.org\/packages\/FxMap\n- \ud83d\udcbb GitHub: https:\/\/github.com\/quyvu01\/FxMap\n- \ud83d\udcd6 T\u00e0i li\u1ec7u: https:\/\/fxmapper.net\n- \ud83d\ude80 B\u1eaft \u0111\u1ea7u nhanh: https:\/\/fxmapper.net\/docs\/quick-start\/\n- \ud83e\uddee Ng\u00f4n ng\u1eef bi\u1ec3u th\u1ee9c: https:\/\/fxmapper.net\/docs\/expressions\n- \ud83d\udcac Discord: https:\/\/discord.gg\/XJNzPbqg7\n\nC\u1ea3m \u01a1n b\u1ea1n \u0111\u00e3 \u0111\u1ecdc \u0111\u1ebfn \u0111\u00e2y. V\u00e0 n\u1ebfu h\u00f4m nay b\u1ea1n v\u1eeba vi\u1ebft xong m\u1ed9t v\u00f2ng `foreach` g\u1ecdi service, m\u00ecnh kh\u00f4ng ph\u00e1n x\u00e9t. M\u00ecnh ch\u1ec9... \u0111\u1ec3 link \u1edf tr\u00ean th\u00f4i. \ud83d\ude42\n\n*T\u00e1i b\u00fat: n\u1ebfu s\u1ebfp b\u1ea1n l\u00e0 \u00f4ng kh\u00e1ch VIP b\u1ecb g\u1ecdi 10.000 l\u1ea7n, h\u00e3y c\u00e0i FxMap tr\u01b0\u1edbc khi \u1ed5ng \u0111\u1ecdc log.*","published_at":"2026-10-05T08:51:32.000000Z","scheduled_publish_at":null,"is_published":true,"is_shared":false,"updated_at":"2026-10-05T11:00:14.000000Z","edited_at":"2026-10-05T08:50:30.000000Z","translation_source":null,"trend_at":null,"promoted_at":null,"reading_time":13,"points":0,"views_count":21,"clips_count":0,"comments_count":0,"rated_value":null,"promoted":false,"trending":false,"is_draft":false,"is_public":true,"locale_code":"vi","is_video":false,"thumbnail_url":null,"user":{"data":{"id":59384,"url":"https:\/\/viblo.asia\/u\/quy.vu.0101","avatar":"a498b3ef-79f3-4aef-a4ce-076b7ef523cd.jpg","name":"Vu Quy","username":"quy.vu.0101","followers_count":1,"reputation":11,"posts_count":3,"banned_at":null,"level_partner":null,"following":false}},"tags":{"data":[{"slug":"dotnet","name":"dotnet"},{"slug":"microservice","name":"microservice"},{"slug":"opensource","name":"OpenSource"},{"slug":"backend","name":"Backend"}]},"commentators":{"data":[]}},{"id":108271,"title":"Suy gi\u1ea3m k\u1ef9 n\u0103ng th\u1eddi AI: v\u00ec sao ho\u00e0n th\u00e0nh task l\u00e0 ch\u01b0a \u0111\u1ee7","slug":"kY4gDRjqJAe","url":"https:\/\/viblo.asia\/p\/suy-giam-ky-nang-thoi-ai-vi-sao-hoan-thanh-task-la-chua-du-kY4gDRjqJAe","user_id":34208,"moderation":null,"transliterated":"suy-giam-ky-nang-thoi-ai-vi-sao-hoan-thanh-task-la-chua-du","contents_short":"T\u1ed1c \u0111\u1ed9 \u0111\u00f3ng ticket hay h\u1ee3p nh\u1ea5t pull request gia t\u0103ng nh\u1edd AI agent kh\u00f4ng \u0111\u1ed3ng ngh\u0129a v\u1edbi vi\u1ec7c b\u1ea1n \u0111ang t\u00edch l\u0169y n\u0103ng l\u1ef1c k\u1ef9 thu\u1eadt. Vi\u1ec7c \u1ee7y th\u00e1c ho\u00e0n to\u00e0n qu\u00e1 tr\u00ecnh vi\u1ebft m\u00e3 v\u00e0 s\u1eeda l\u1ed7i cho AI t\u1ea1o ra hi\u1ec7n t\u01b0\u1ee3ng suy gi\u1ea3m k\u1ef9 n\u0103ng* (agentic skill decay), t\u01b0\u1edbc \u0111i c\u1ee7a k\u1ef9 s\u01b0 c\u00e1c v\u00f2ng l\u1eb7p luy\u1ec7n t\u1eadp s\u1ed1ng c\u00f2n \u0111\u1ec3 duy tr\u00ec tr\u1ef1c gi\u00e1c h\u1ec7 th\u1ed1ng.* T\u00ecnh tr\u1ea1ng n\u00e0y xu\u1ea5t hi\u1ec7n khi b\u1ea1n b\u1ecf qua c\u00e1c v\u00f2ng l\u1eb7p luy\u1ec7n t\u1eadp (rep...","contents":"T\u1ed1c \u0111\u1ed9 \u0111\u00f3ng ticket hay h\u1ee3p nh\u1ea5t pull request gia t\u0103ng nh\u1edd [AI agent](https:\/\/camnangai.com\/kien-thuc-ai\/ai-agent-la-gi) kh\u00f4ng \u0111\u1ed3ng ngh\u0129a v\u1edbi vi\u1ec7c b\u1ea1n \u0111ang t\u00edch l\u0169y n\u0103ng l\u1ef1c k\u1ef9 thu\u1eadt. **Vi\u1ec7c \u1ee7y th\u00e1c ho\u00e0n to\u00e0n qu\u00e1 tr\u00ecnh vi\u1ebft m\u00e3 v\u00e0 s\u1eeda l\u1ed7i cho AI t\u1ea1o ra hi\u1ec7n t\u01b0\u1ee3ng **suy gi\u1ea3m k\u1ef9 n\u0103ng** (agentic skill decay), t\u01b0\u1edbc \u0111i c\u1ee7a k\u1ef9 s\u01b0 c\u00e1c v\u00f2ng l\u1eb7p luy\u1ec7n t\u1eadp s\u1ed1ng c\u00f2n \u0111\u1ec3 duy tr\u00ec tr\u1ef1c gi\u00e1c h\u1ec7 th\u1ed1ng.** T\u00ecnh tr\u1ea1ng n\u00e0y xu\u1ea5t hi\u1ec7n khi b\u1ea1n b\u1ecf qua c\u00e1c v\u00f2ng l\u1eb7p luy\u1ec7n t\u1eadp (reps) quan tr\u1ecdng nh\u01b0 \u0111\u1ecdc diff (so s\u00e1nh m\u00e3 c\u0169 v\u00e0 m\u1edbi), b\u1eaft l\u1ed7i (debugging) v\u00e0 ki\u1ec3m ch\u1ee9ng gi\u1ea3 thuy\u1ebft h\u1ec7 th\u1ed1ng.\n\nM\u00f4 h\u00ecnh t\u01b0 duy (mental model) c\u1ee7a k\u1ef9 s\u01b0 kh\u00f4ng \u0111\u01b0\u1ee3c h\u00ecnh th\u00e0nh t\u1eeb vi\u1ec7c g\u1eedi c\u00e2u l\u1ec7nh prompt. N\u00f3 \u0111\u01b0\u1ee3c t\u00f4i luy\u1ec7n th\u00f4ng qua c\u00e1c ph\u1ea3n h\u1ed3i th\u1ef1c t\u1ebf khi h\u1ec7 th\u1ed1ng ph\u00e1t sinh l\u1ed7i b\u1ea5t \u0111\u1ed3ng b\u1ed9, r\u00f2 r\u1ec9 b\u1ed9 nh\u1edb, ho\u1eb7c vi ph\u1ea1m r\u00e0ng bu\u1ed9c ki\u1ebfn tr\u00fac. AI agent lo\u1ea1i b\u1ecf c\u00e1c chu\u1ed7i th\u1eed-sai gian kh\u1ed5 \u0111\u1ec3 tr\u1ea3 v\u1ec1 k\u1ebft qu\u1ea3 l\u1eadp t\u1ee9c, v\u00f4 t\u00ecnh ng\u1eaft m\u1ea1ch qu\u00e1 tr\u00ecnh x\u00e2y d\u1ef1ng tri th\u1ee9c t\u1ef1 nhi\u00ean c\u1ee7a b\u1ea1n.\n\nHo\u00e0n th\u00e0nh m\u1ed9t nhi\u1ec7m v\u1ee5 m\u01b0\u1ee3t m\u00e0 kh\u00f4ng c\u00f3 sai s\u00f3t hi\u1ebfm khi \u0111\u1ec3 l\u1ea1i b\u00e0i h\u1ecdc k\u1ef9 thu\u1eadt. N\u1ebfu ch\u1ec9 \u0111o l\u01b0\u1eddng n\u0103ng su\u1ea5t b\u1eb1ng s\u1ed1 l\u01b0\u1ee3ng task ho\u00e0n t\u1ea5t m\u00e0 b\u1ecf qua s\u1ed1 l\u01b0\u1ee3ng l\u01b0\u1ee3t luy\u1ec7n t\u1eadp ch\u1ea5t l\u01b0\u1ee3ng, b\u1ea1n \u0111ang \u0111\u00e1nh \u0111\u1ed5i n\u0103ng l\u1ef1c chuy\u00ean m\u00f4n d\u00e0i h\u1ea1n l\u1ea5y ch\u1ec9 s\u1ed1 t\u1ed1c \u0111\u1ed9 ng\u1eafn h\u1ea1n. \u0110\u00f3 c\u0169ng l\u00e0 l\u00fd do v\u00ec sao vi\u1ec7c [h\u1ecdc n\u1ec1n t\u1ea3ng l\u1eadp tr\u00ecnh](https:\/\/camnangai.com\/ung-dung-ai\/lap-trinh-vien\/hoc-nen-tang-lap-trinh-trong-thoi-dai-ai) v\u1eabn l\u00e0 \u0111i\u1ec1u ki\u1ec7n ti\u00ean quy\u1ebft d\u00f9 c\u00f4ng c\u1ee5 t\u1ef1 \u0111\u1ed9ng h\u00f3a ng\u00e0y c\u00e0ng m\u1ea1nh.\n\n![K\u1ef9 s\u01b0 \u1ee7y th\u00e1c ho\u00e0n to\u00e0n cho AI \u0111\u1ed1i m\u1eb7t nguy c\u01a1 suy gi\u1ea3m n\u0103ng l\u1ef1c c\u1ed1t l\u00f5i so v\u1edbi k\u1ef9 s\u01b0 duy tr\u00ec luy\u1ec7n t\u1eadp ch\u1ee7 \u0111\u1ed9ng](https:\/\/camnangai.com\/articles\/suy-giam-ky-nang-thoi-ai\/01-infographic-vn.webp)\n\n## Agentic skill decay l\u00e0 g\u00ec v\u00e0 v\u00ec sao xu\u1ea5t hi\u1ec7n?\n\nS\u1ef1 suy gi\u1ea3m k\u1ef9 n\u0103ng do \u1ee7y th\u00e1c AI (agentic skill decay) m\u00f4 t\u1ea3 hi\u1ec7n t\u01b0\u1ee3ng k\u1ef9 s\u01b0 suy gi\u1ea3m n\u0103ng l\u1ef1c chuy\u00ean m\u00f4n c\u1ed1t l\u00f5i khi chuy\u1ec3n giao to\u00e0n b\u1ed9 qu\u00e1 tr\u00ecnh suy lu\u1eadn, vi\u1ebft code v\u00e0 s\u1eeda l\u1ed7i cho c\u00e1c t\u00e1c nh\u00e2n AI t\u1ef1 \u0111\u1ed9ng nh\u01b0 Claude Code hay Cursor Pro. Khi b\u1ea1n ch\u1ec9 \u0111\u00f3ng vai tr\u00f2 ng\u01b0\u1eddi ph\u00e1t l\u1ec7nh v\u00e0 duy\u1ec7t k\u1ebft qu\u1ea3 th\u1ee5 \u0111\u1ed9ng, n\u00e3o b\u1ed9 d\u1eebng k\u00edch ho\u1ea1t c\u00e1c c\u01a1 ch\u1ebf ph\u00e2n t\u00edch s\u00e2u v\u1ec1 ki\u1ebfn tr\u00fac v\u00e0 m\u1ea5t d\u1ea7n kh\u1ea3 n\u0103ng x\u1eed l\u00fd \u00e1p l\u1ef1c khi h\u1ec7 th\u1ed1ng g\u1eb7p s\u1ef1 c\u1ed1 th\u1ef1c t\u1ebf.\n\nB\u1ea3n ch\u1ea5t c\u1ee7a hi\u1ec7n t\u01b0\u1ee3ng n\u00e0y n\u1eb1m \u1edf c\u01a1 ch\u1ebf ng\u1eafn m\u1ea1ch t\u01b0 duy (short-circuiting). Tr\u01b0\u1edbc \u0111\u00e2y, n\u0103ng l\u1ef1c k\u1ef9 thu\u1eadt c\u1ee7a b\u1ea1n \u0111\u01b0\u1ee3c t\u00edch l\u0169y qua h\u00e0ng ng\u00e0n l\u01b0\u1ee3t luy\u1ec7n t\u1eadp nh\u1ecf: tra c\u1ee9u t\u00e0i li\u1ec7u, \u0111\u1ecdc diff, ph\u00e2n t\u00edch bi\u1ec3u \u0111\u1ed3 flame graph (ph\u00e2n t\u00edch m\u1ee9c d\u00f9ng CPU theo th\u1eddi gian) \u0111\u1ec3 t\u00ecm \u0111i\u1ec3m ngh\u1ebdn hi\u1ec7u n\u0103ng (bottleneck), hay c\u1ea5u h\u00ecnh b\u1ed9 nh\u1edb. T\u00e1c nh\u00e2n AI lo\u1ea1i b\u1ecf c\u00e1c b\u01b0\u1edbc n\u00e0y \u0111\u1ec3 tr\u1ea3 v\u1ec1 m\u00e3 ngu\u1ed3n ngay l\u1eadp t\u1ee9c. Vi\u1ec7c \u0111i t\u1eaft n\u00e0y lo\u1ea1i b\u1ecf r\u00e0o c\u1ea3n thao t\u00e1c nh\u01b0ng \u0111\u1ed3ng th\u1eddi t\u01b0\u1edbc \u0111i c\u01a1 h\u1ed9i x\u00e2y d\u1ef1ng m\u00f4 h\u00ecnh t\u01b0 duy v\u1eefng ch\u1eafc v\u1ec1 c\u01a1 ch\u1ebf v\u1eadn h\u00e0nh b\u00ean d\u01b0\u1edbi c\u1ee7a h\u1ec7 th\u1ed1ng.\n\n\n> M\u1ed9t nguy\u00ean l\u00fd v\u1eadn h\u00e0nh quan tr\u1ecdng b\u1ea1n c\u1ea7n ghi nh\u1edb: ho\u00e0n th\u00e0nh m\u1ed9t task kh\u00f4ng \u0111\u1ed3ng ngh\u0129a v\u1edbi vi\u1ec7c b\u1ea1n \u0111\u00e3 th\u1ef1c hi\u1ec7n m\u1ed9t rep luy\u1ec7n t\u1eadp.\n\nM\u1ed9t nhi\u1ec7m v\u1ee5 th\u00e0nh c\u00f4ng m\u01b0\u1ee3t m\u00e0 kh\u00f4ng c\u00f3 l\u1ed7i th\u01b0\u1eddng kh\u00f4ng \u0111\u00f3ng g\u00f3p v\u00e0o vi\u1ec7c m\u1edf r\u1ed9ng tri th\u1ee9c. Ch\u00ednh\nnh\u1eefng l\u00fac m\u00e3 ngu\u1ed3n \u0111\u1ed5 v\u1ee1, ch\u01b0\u01a1ng tr\u00ecnh b\u1ecb treo ho\u1eb7c xu\u1ea5t hi\u1ec7n l\u1ed7i tranh ch\u1ea5p t\u00e0i nguy\u00ean (race\ncondition) m\u1edbi bu\u1ed9c b\u1ea1n ph\u1ea3i ph\u00e2n t\u00edch nguy\u00ean nh\u00e2n g\u1ed1c r\u1ec5 (root-cause analysis), qua \u0111\u00f3 c\u1ee7ng c\u1ed1 n\u0103ng\nl\u1ef1c chuy\u00ean m\u00f4n.\n\n![Ng\u1eafn m\u1ea1ch t\u01b0 duy khi \u1ee7y th\u00e1c cho AI thay v\u00ec tr\u1ea3i qua c\u00e1c v\u00f2ng l\u1eb7p ki\u1ec3m ch\u1ee9ng v\u00e0 b\u1eaft l\u1ed7i th\u1ee7 c\u00f4ng](https:\/\/camnangai.com\/articles\/suy-giam-ky-nang-thoi-ai\/02-vn.webp)\n\n## B\u1eb1ng ch\u1ee9ng th\u1ef1c nghi\u1ec7m: b\u00e0i to\u00e1n 17% \u0111i\u1ec3m s\u1ed1 v\u00e0 ngh\u1ecbch l\u00fd t\u1ed1c \u0111\u1ed9\n\nTh\u1ef1c nghi\u1ec7m c\u1ee7a Judy Hanwen Shen v\u00e0 Alex Tamkin (Anthropic, 2026) tr\u00ean th\u01b0 vi\u1ec7n l\u1eadp tr\u00ecnh b\u1ea5t \u0111\u1ed3ng b\u1ed9 Python Trio \u0111\u00e3 cung c\u1ea5p b\u1eb1ng ch\u1ee9ng \u0111\u1ecbnh l\u01b0\u1ee3ng v\u1ec1 s\u1ef1 suy gi\u1ea3m n\u0103ng l\u1ef1c n\u00e0y. Nh\u00f3m k\u1ef9 s\u01b0 s\u1eed d\u1ee5ng AI b\u1ecb gi\u1ea3m 17% \u0111i\u1ec3m s\u1ed1 (t\u01b0\u01a1ng \u0111\u01b0\u01a1ng 2 \u0111i\u1ec3m s\u1ed1, Cohen's d = 0.738) trong b\u00e0i ki\u1ec3m tra n\u0103ng l\u1ef1c \u0111\u1ed9c l\u1eadp v\u1ec1 ki\u1ebfn th\u1ee9c kh\u00e1i ni\u1ec7m, \u0111\u1ecdc code v\u00e0 k\u1ef9 n\u0103ng debug so v\u1edbi nh\u00f3m l\u00e0m th\u1ee7 c\u00f4ng (50% so v\u1edbi 67%). \u0110\u00e1ng ch\u00fa \u00fd, nh\u00f3m d\u00f9ng AI g\u1eb7p \u00edt l\u1ed7i h\u1ec7 th\u1ed1ng Trio h\u01a1n h\u1eb3n (trung v\u1ecb 1 l\u1ed7i so v\u1edbi 3 l\u1ed7i \u1edf nh\u00f3m th\u1ee7 c\u00f4ng), d\u1eabn \u0111\u1ebfn vi\u1ec7c thi\u1ebfu c\u01a1 h\u1ed9i va ch\u1ea1m th\u1ef1c t\u1ebf \u0111\u1ec3 hi\u1ec3u s\u00e2u c\u00e1c c\u01a1 ch\u1ebf nh\u01b0 `async\/await`, `nursery`, hay `memory channels`. Ngo\u00e0i ra, s\u1ef1 ch\u00eanh l\u1ec7ch v\u1ec1 t\u1ed1c \u0111\u1ed9 ho\u00e0n th\u00e0nh c\u00f4ng vi\u1ec7c gi\u1eefa hai nh\u00f3m kh\u00f4ng c\u00f3 \u00fd ngh\u0129a th\u1ed1ng k\u00ea, do k\u1ef9 s\u01b0 t\u1ed1n \u0111\u1ebfn 30% th\u1eddi gian nhi\u1ec7m v\u1ee5 ch\u1ec9 \u0111\u1ec3 so\u1ea1n th\u1ea3o v\u00e0 tinh ch\u1ec9nh c\u00e2u l\u1ec7nh prompt.\n\nNghi\u00ean c\u1ee9u th\u1eed nghi\u1ec7m ng\u1eabu nhi\u00ean c\u00f3 \u0111\u1ed1i ch\u1ee9ng (RCT) c\u1ee7a Joel Becker v\u00e0 c\u1ed9ng s\u1ef1 (METR, 2025) tr\u00ean 16 k\u1ef9 s\u01b0 Open-Source gi\u00e0u kinh nghi\u1ec7m (trung b\u00ecnh 5 n\u0103m l\u00e0m vi\u1ec7c tr\u00ean codebase) ti\u1ebfp t\u1ee5c cho th\u1ea5y m\u1ed9t ngh\u1ecbch l\u00fd v\u1ec1 n\u0103ng su\u1ea5t. Tr\u01b0\u1edbc khi th\u1ef1c hi\u1ec7n, c\u00e1c k\u1ef9 s\u01b0 d\u1ef1 \u0111o\u00e1n AI s\u1ebd gi\u00fap h\u1ecd gi\u1ea3m 24% th\u1eddi gian; sau khi l\u00e0m xong, h\u1ecd ng\u1ed9 nh\u1eadn m\u00ecnh \u0111\u00e3 nhanh h\u01a1n 20%. Tuy nhi\u00ean, s\u1ed1 li\u1ec7u \u0111o l\u01b0\u1eddng th\u1ef1c t\u1ebf cho th\u1ea5y vi\u1ec7c s\u1eed d\u1ee5ng AI l\u00e0m ch\u1eadm t\u1ed1c \u0111\u1ed9 ho\u00e0n th\u00e0nh \u0111i 19% (19% slowdown), tr\u00e1i ng\u01b0\u1ee3c ho\u00e0n to\u00e0n v\u1edbi d\u1ef1 b\u00e1o t\u0103ng t\u1ed1c 38%\u201339% t\u1eeb c\u00e1c chuy\u00ean gia Kinh t\u1ebf v\u00e0 Machine Learning. D\u1eef li\u1ec7u ph\u00e2n t\u00edch chi ti\u1ebft thao t\u00e1c hi\u1ec3n th\u1ecb th\u1eddi gian vi\u1ebft code ch\u1ee7 \u0111\u1ed9ng (active coding) c\u1ee7a k\u1ef9 s\u01b0 gi\u1ea3m t\u1eeb 42% xu\u1ed1ng 22%, b\u1ecb thay th\u1ebf b\u1edfi th\u1eddi gian ch\u1edd AI sinh code, \u0111\u1ecdc v\u00e0 duy\u1ec7t m\u00e3 ngu\u1ed3n c\u00f9ng th\u1eddi gian nh\u00e0n r\u1ed7i.\n\nS\u1ef1 t\u01b0\u01a1ng \u0111\u1ed3ng v\u1ec1 k\u1ebft qu\u1ea3 gi\u1eefa hai nghi\u00ean c\u1ee9u tr\u00ean gi\u1ea3i th\u00edch b\u1ea3n ch\u1ea5t c\u1ee7a hi\u1ec7n t\u01b0\u1ee3ng: AI g\u00e2y suy gi\u1ea3m n\u0103ng l\u1ef1c h\u1ecdc h\u1ecfi khi ti\u1ebfp c\u1eadn ki\u1ebfn th\u1ee9c m\u1edbi (th\u1ef1c nghi\u1ec7m Anthropic) v\u00e0 l\u00e0m gi\u1ea3m t\u1ed1c \u0111\u1ed9 th\u1ef1c thi tr\u00ean c\u00e1c h\u1ec7 th\u1ed1ng ph\u1ee9c t\u1ea1p (th\u1ef1c nghi\u1ec7m METR). \u0110\u1ed1i v\u1edbi c\u00e1c codebase l\u00e2u \u0111\u1eddi, tri th\u1ee9c \u1ea9n (tacit knowledge) v\u00e0 ng\u1eef c\u1ea3nh ki\u1ebfn tr\u00fac n\u1eb1m trong \u0111\u1ea7u k\u1ef9 s\u01b0 senior gi\u1eef vai tr\u00f2 quy\u1ebft \u0111\u1ecbnh. Do AI kh\u00f4ng truy c\u1eadp \u0111\u01b0\u1ee3c ng\u1eef c\u1ea3nh \u1ea9n n\u00e0y v\u00e0 ch\u1ec9 \u0111\u1ea1t t\u1ef7 l\u1ec7 ch\u1ea5p nh\u1eadn g\u1ee3i \u00fd d\u01b0\u1edbi 44% (acceptance rate < 44%), k\u1ef9 s\u01b0 t\u1ed1n nhi\u1ec1u th\u1eddi gian \u0111\u1ecdc so\u00e1t v\u00e0 s\u1eeda l\u1ed7i t\u1eeb AI h\u01a1n l\u00e0 t\u1ef1 vi\u1ebft code tr\u1ef1c ti\u1ebfp.\n\n| H\u1ea1ng m\u1ee5c \u0111o l\u01b0\u1eddng                         | K\u1ef3 v\u1ecdng \/ Ng\u1ed9 nh\u1eadn c\u1ee7a con ng\u01b0\u1eddi                                  | Th\u1ef1c t\u1ebf \u0111o l\u01b0\u1eddng th\u1ef1c nghi\u1ec7m                             | Ngu\u1ed3n d\u1eef li\u1ec7u    |\n| :---------------------------------------- | :---------------------------------------------------------------- | :------------------------------------------------------- | :--------------- |\n| **\u0110i\u1ec3m ki\u1ec3m tra n\u0103ng l\u1ef1c \u0111\u1ed9c l\u1eadp (Trio)** | K\u1ef3 v\u1ecdng AI gi\u00fap hi\u1ec3u nhanh h\u01a1n                                    | Gi\u1ea3m **17% \u0111i\u1ec3m s\u1ed1** (50% vs 67% \u1edf nh\u00f3m th\u1ee7 c\u00f4ng)        | Anthropic (2026) |\n| **T\u1ea7n su\u1ea5t va ch\u1ea1m l\u1ed7i h\u1ec7 th\u1ed1ng**         | Nh\u00f3m AI: Trung v\u1ecb 1 l\u1ed7i                                           | Nh\u00f3m th\u1ee7 c\u00f4ng: Trung v\u1ecb 3 l\u1ed7i (t\u0103ng t\u1ea7n su\u1ea5t luy\u1ec7n t\u1eadp)  | Anthropic (2026) |\n| **T\u1ed1c \u0111\u1ed9 ho\u00e0n th\u00e0nh c\u00f4ng vi\u1ec7c (METR)**    | D\u1ef1 \u0111o\u00e1n tr\u01b0\u1edbc: Nhanh h\u01a1n 24%<br \/>C\u1ea3m nh\u1eadn sau l\u00e0m: Nhanh h\u01a1n 20% | Th\u1ef1c t\u1ebf: **Ch\u1eadm \u0111i 19%** (19% slowdown)                  | METR (2025)      |\n| **D\u1ef1 b\u00e1o t\u1eeb chuy\u00ean gia ML & Kinh t\u1ebf**     | T\u0103ng t\u1ed1c 38%\u201339%                                                  | D\u1ef1 \u0111o\u00e1n sai l\u1ec7ch ho\u00e0n to\u00e0n so v\u1edbi \u0111o l\u01b0\u1eddng th\u1ef1c t\u1ebf       | METR (2025)      |\n| **T\u1ef7 l\u1ec7 th\u1eddi gian vi\u1ebft code ch\u1ee7 \u0111\u1ed9ng**    | K\u1ef3 v\u1ecdng duy tr\u00ec t\u1eadp trung v\u00e0o logic                               | Gi\u1ea3m t\u1eeb **42% xu\u1ed1ng 22%** (t\u1ed1n th\u1eddi gian ch\u1edd\/duy\u1ec7t code) | METR (2025)      |\n\n![Kho\u1ea3ng c\u00e1ch \u0111i\u1ec3m s\u1ed1 17% trong nghi\u00ean c\u1ee9u Anthropic v\u00e0 ngh\u1ecbch l\u00fd ch\u1eadm h\u01a1n 19% trong th\u1ef1c nghi\u1ec7m METR](https:\/\/camnangai.com\/articles\/suy-giam-ky-nang-thoi-ai\/03-vn.webp)\n\n## N\u1ee3 nh\u1eadn th\u1ee9c: khi m\u00e3 ngu\u1ed3n ph\u00ecnh to nhanh h\u01a1n m\u00f4 h\u00ecnh t\u01b0 duy\n\nS\u1ef1 ph\u1ed5 bi\u1ebfn c\u1ee7a c\u00e1c tr\u00e0o l\u01b0u nh\u01b0 [vibe coding](https:\/\/camnangai.com\/kien-thuc-ai\/vibe-coding-la-gi) \u0111ang d\u1ecbch chuy\u1ec3n tr\u1ecdng t\u00e2m r\u1ee7i ro t\u1eeb n\u1ee3 k\u1ef9 thu\u1eadt (Technical Debt) sang **n\u1ee3 nh\u1eadn th\u1ee9c (Cognitive Debt)**, kh\u00e1i ni\u1ec7m \u0111\u01b0\u1ee3c ph\u00e2n t\u00edch b\u1edfi Margaret-Anne Storey v\u00e0 Simon Willison d\u1ef1a tr\u00ean l\u00fd thuy\u1ebft \"Theory of the Building\" (L\u00fd thuy\u1ebft v\u1ec1 h\u1ec7 th\u1ed1ng) c\u1ee7a Peter Naur. N\u1ee3 nh\u1eadn th\u1ee9c xu\u1ea5t hi\u1ec7n khi m\u00e3 ngu\u1ed3n ph\u00ecnh to nhanh ch\u00f3ng nh\u1edd prompt, nh\u01b0ng m\u00f4 h\u00ecnh t\u01b0 duy c\u1ee7a \u0111\u1ed9i ng\u0169 ph\u00e1t tri\u1ec3n b\u1ecb \u0111\u1ee9t g\u00e3y. Khi kh\u00f4ng ai trong nh\u00f3m hi\u1ec3u r\u00f5 l\u00fd do \u0111\u1eb1ng sau c\u00e1c quy\u1ebft \u0111\u1ecbnh thi\u1ebft k\u1ebf ho\u1eb7c c\u00e1ch c\u00e1c ph\u1ea7n t\u1eed t\u01b0\u01a1ng t\u00e1c, h\u1ec7 th\u1ed1ng r\u01a1i v\u00e0o tr\u1ea1ng th\u00e1i \u0111\u00f3ng b\u0103ng nh\u1eadn th\u1ee9c.\n\nC\u1ea7n ph\u00e2n bi\u1ec7t r\u00f5 hai kh\u00e1i ni\u1ec7m n\u00e0y: Technical Debt l\u00e0 v\u1ea5n \u0111\u1ec1 c\u1ee7a m\u00e3 ngu\u1ed3n (code x\u1ea5u, thi\u1ebfu test, ki\u1ebfn tr\u00fac l\u1ed9n x\u1ed9n). Trong khi \u0111\u00f3, Cognitive Debt l\u00e0 v\u1ea5n \u0111\u1ec1 c\u1ee7a con ng\u01b0\u1eddi: m\u00e3 ngu\u1ed3n c\u00f3 th\u1ec3 tr\u00f4ng r\u1ea5t s\u1ea1ch s\u1ebd, bi\u00ean d\u1ecbch kh\u00f4ng l\u1ed7i v\u00e0 v\u01b0\u1ee3t qua ki\u1ec3m th\u1eed \u0111\u01a1n v\u1ecb (unit test) ng\u1eafn h\u1ea1n, nh\u01b0ng l\u1eadp tr\u00ecnh vi\u00ean m\u1ea5t ho\u00e0n to\u00e0n kh\u1ea3 n\u0103ng h\u00ecnh dung to\u00e0n c\u1ee5c v\u1ec1 h\u1ec7 th\u1ed1ng. Khi n\u1ee3 nh\u1eadn th\u1ee9c t\u00edch t\u1ee5 v\u01b0\u1ee3t ng\u01b0\u1ee1ng, k\u1ef9 s\u01b0 s\u1ebd m\u1ea5t kh\u1ea3 n\u0103ng c\u00f4 l\u1eadp v\u00e0 khoanh v\u00f9ng nguy\u00ean nh\u00e2n g\u1ed1c r\u1ec5 khi x\u1ea3y ra s\u1ef1 c\u1ed1 production.\n\nM\u00e3 ngu\u1ed3n sinh b\u1edfi AI th\u00fac \u0111\u1ea9y s\u1ef1 gia t\u0103ng c\u1ee7a n\u1ee3 nh\u1eadn th\u1ee9c th\u00f4ng qua 3 t\u00e1c \u0111\u1ed9ng tr\u1ef1c ti\u1ebfp:\n\n- **T\u00edch t\u1ee5 h\u00e0m \u1ea3o v\u00e0 tr\u01b0\u1eddng \u1ea3o (Hallucinated Elements).** AI d\u1ec5 d\u00e0ng t\u1ea1o ra c\u00e1c bi\u1ebfn, ph\u01b0\u01a1ng th\u1ee9c ho\u1eb7c thu\u1ed9c t\u00ednh kh\u00f4ng t\u1ed3n t\u1ea1i nh\u01b0ng c\u00f3 v\u1ebb h\u1ee3p l\u00fd, l\u00e0m t\u0103ng th\u1eddi gian ki\u1ec3m so\u00e1t v\u00e0 r\u00e0 so\u00e1t l\u1ed7i r\u1ea3i r\u00e1c.\n- **Vi ph\u1ea1m quy chu\u1ea9n ki\u1ebfn tr\u00fac (Convention Violation).** Code AI th\u01b0\u1eddng kh\u00f4ng tu\u00e2n th\u1ee7 c\u00e1c r\u00e0ng bu\u1ed9c thi\u1ebft k\u1ebf n\u1ed9i b\u1ed9 c\u1ee7a codebase, t\u1ea1o ra s\u1ef1 kh\u00f4ng \u0111\u1ed3ng nh\u1ea5t gi\u1eefa c\u00e1c module v\u00e0 l\u00e0m \u0111\u1ee9t g\u00e3y lu\u1ed3ng x\u1eed l\u00fd d\u1eef li\u1ec7u.\n- **\u0110\u1ed9 ph\u1ee9c t\u1ea1p \u1ea3o (Accidental Complexity).** Thay v\u00ec x\u00e2y d\u1ef1ng c\u00e1c l\u1edbp tr\u1eebu t\u01b0\u1ee3ng (abstractions) t\u1ed1i gi\u1ea3n, AI c\u00f3 xu h\u01b0\u1edbng ph\u00e1t sinh m\u00e3 ngu\u1ed3n tr\u00f9ng l\u1eb7p v\u00e0 ph\u00ecnh to c\u1ea5u tr\u00fac, khi\u1ebfn chi ph\u00ed b\u1ea3o tr\u00ec h\u1ec7 th\u1ed1ng t\u0103ng theo c\u1ea5p s\u1ed1 nh\u00e2n.\n\n![S\u1ef1 \u0111\u1ed1i l\u1eadp gi\u1eefa N\u1ee3 k\u1ef9 thu\u1eadt trong m\u00e3 ngu\u1ed3n v\u00e0 N\u1ee3 nh\u1eadn th\u1ee9c trong t\u01b0 duy c\u1ee7a \u0111\u1ed9i ng\u0169 k\u1ef9 s\u01b0](https:\/\/camnangai.com\/articles\/suy-giam-ky-nang-thoi-ai\/04-vn.webp)\n\n## Kh\u1ee7ng ho\u1ea3ng \u0111\u00e0o t\u1ea1o: v\u00ec sao kh\u00f4ng th\u1ec3 \u0111\u1ed1t ch\u00e1y giai \u0111o\u1ea1n th\u1ee3 h\u1ecdc vi\u1ec7c?\n\nCharity Majors kh\u1eb3ng \u0111\u1ecbnh: _\"Ph\u1ea7n m\u1ec1m l\u00e0 m\u1ed9t ng\u00e0nh ngh\u1ec1 h\u1ecdc vi\u1ec7c\"_ (Software is an apprenticeship industry). B\u1ea1n kh\u00f4ng th\u1ec3 tr\u1edf th\u00e0nh m\u1ed9t Senior Engineer \u0111\u00fang ngh\u0129a ch\u1ec9 b\u1eb1ng vi\u1ec7c h\u1ecdc l\u00fd thuy\u1ebft hay g\u00f5 prompt; c\u1ea7n \u00edt nh\u1ea5t kho\u1ea3ng 7 n\u0103m th\u1ef1c chi\u1ebfn li\u00ean t\u1ee5c vi\u1ebft, review v\u00e0 v\u1eadn h\u00e0nh h\u1ec7 th\u1ed1ng c\u00f9ng \u0111\u1ed3ng nghi\u1ec7p \u0111\u1ec3 t\u00edch l\u0169y ph\u1ea3n x\u1ea1 k\u1ef9 thu\u1eadt.\n\nVi\u1ebft m\u00e3 (writing code) ch\u1ec9 l\u00e0 ph\u1ea7n vi\u1ec7c c\u0103n b\u1ea3n c\u1ee7a k\u1ef9 thu\u1eadt ph\u1ea7n m\u1ec1m. Ph\u1ea7n kh\u00f3 nh\u1ea5t l\u00e0 v\u1eadn h\u00e0nh, m\u1edf r\u1ed9ng, b\u1ea3o tr\u00ec v\u00e0 qu\u1ea3n tr\u1ecb c\u00e1c h\u1ec7 th\u1ed1ng ph\u1ee9c t\u1ea1p theo th\u1eddi gian d\u01b0\u1edbi s\u1ef1 t\u00e1c \u0111\u1ed9ng c\u1ee7a ng\u01b0\u1eddi d\u00f9ng th\u1ef1c. Vi\u1ec7c c\u1ea5p qu\u1ea3n l\u00fd ng\u1eebng tuy\u1ec3n d\u1ee5ng v\u00e0 \u0111\u00e0o t\u1ea1o Junior Engineer v\u00ec tin r\u1eb1ng GenAI thay th\u1ebf \u0111\u01b0\u1ee3c h\u1ecd l\u00e0 m\u1ed9t sai l\u1ea7m chi\u1ebfn l\u01b0\u1ee3c. GenAI th\u1ef1c ch\u1ea5t gi\u1ed1ng nh\u01b0 \"m\u1ed9t k\u1ef9 s\u01b0 junior h\u0103ng h\u00e1i g\u00f5 ph\u00edm c\u1ef1c nhanh\", t\u1ee9c sinh ra l\u01b0\u1ee3ng code l\u1edbn nh\u01b0ng kh\u00f4ng th\u1ec3 tin t\u01b0\u1edfng 100% v\u00e0 lu\u00f4n c\u1ea7n s\u1ef1 gi\u00e1m s\u00e1t ch\u1eb7t ch\u1ebd t\u1eeb con ng\u01b0\u1eddi.\n\n\u0110\u1ed9i ng\u0169 Junior v\u00e0 Intermediate Engineer gi\u1eef vai tr\u00f2 m\u00e0ng l\u1ecdc t\u1ef1 nhi\u00ean trong t\u1ed5 ch\u1ee9c. H\u1ecd ch\u1ed1ng l\u1ea1i s\u1ef1 qu\u00e1 ph\u1ee9c t\u1ea1p h\u00f3a (overengineering) b\u1eb1ng c\u00e1ch \u0111\u1eb7t c\u00e2u h\u1ecfi ph\u1ea3n bi\u1ec7n, bu\u1ed9c c\u00e1c Senior ph\u1ea3i \u0111\u01a1n gi\u1ea3n h\u00f3a h\u1ec7 th\u1ed1ng. L\u1eadp tr\u00ecnh vi\u00ean Intermediate c\u0169ng l\u00e0 l\u1ef1c l\u01b0\u1ee3ng t\u1ea1o ra s\u1ea3n l\u01b0\u1ee3ng t\u00ednh n\u0103ng \u1ed5n \u0111\u1ecbnh nh\u1ea5t do \u0111\u00e3 v\u1eefng c\u00fa ph\u00e1p nh\u01b0ng ch\u01b0a b\u1ecb sa l\u1ea7y v\u00e0o c\u00f4ng vi\u1ec7c qu\u1ea3n l\u00fd. C\u1eaft gi\u1ea3m l\u1ef1c l\u01b0\u1ee3ng n\u00e0y \u0111\u1ed3ng ngh\u0129a v\u1edbi vi\u1ec7c \u0103n ph\u1ea1m v\u00e0o t\u01b0\u01a1ng lai c\u1ee7a to\u00e0n b\u1ed9 ng\u00e0nh k\u1ef9 thu\u1eadt ph\u1ea7n m\u1ec1m.\n\n![Ng\u00e0nh ph\u1ea7n m\u1ec1m nh\u01b0 m\u1ed9t ngh\u1ec1 h\u1ecdc vi\u1ec7c n\u01a1i k\u1ef9 s\u01b0 junior t\u00edch l\u0169y ph\u1ea3n x\u1ea1 qua 7 n\u0103m th\u1ef1c chi\u1ebfn](https:\/\/camnangai.com\/articles\/suy-giam-ky-nang-thoi-ai\/05-vn.webp)\n\n## L\u00e0m ch\u1ee7 v\u00f2ng l\u1eb7p ngo\u00e0i: c\u1ea9m nang luy\u1ec7n t\u1eadp c\u00f3 ch\u1ee7 \u0111\u00edch cho k\u1ef9 s\u01b0 th\u1eddi AI\n\n\u0110\u1ec3 ng\u0103n ch\u1eb7n s\u1ef1 tho\u00e1i h\u00f3a k\u1ef9 n\u0103ng, b\u1ea1n ph\u1ea3i ch\u1ee7 \u0111\u1ed9ng th\u1ef1c hi\u1ec7n c\u00e1c l\u01b0\u1ee3t luy\u1ec7n t\u1eadp c\u00f3 ch\u1ee7 \u0111\u00edch (Deliberate Reps). Tr\u01b0\u1edbc khi g\u1eedi prompt, h\u00e3y \u0111\u01b0a ra gi\u1ea3 thuy\u1ebft v\u1ec1 gi\u1ea3i ph\u00e1p, d\u1ef1 \u0111o\u00e1n c\u00e1c \u0111i\u1ec3m c\u00f3 th\u1ec3 th\u1ea5t b\u1ea1i, \u0111\u1ecdc k\u1ef9 t\u1eebng d\u00f2ng diff v\u00e0 th\u1ec9nh tho\u1ea3ng t\u1ef1 gi\u1ea3i quy\u1ebft b\u00e0i to\u00e1n b\u1eb1ng tay. Nh\u01b0 Addy Osmani nh\u1eadn \u0111\u1ecbnh: _\"X\u00e1c minh l\u00e0 \u0111i\u1ec3m t\u1ef1a t\u1ed1i thi\u1ec3u, s\u1ef1 h\u00ecnh dung l\u00e0 tr\u1ea7n gi\u1edbi h\u1ea1n\"_ (Verification is the floor and imagination is the ceiling). AI c\u00f3 th\u1ec3 x\u1eed l\u00fd v\u00f2ng l\u1eb7p trong (inner loop) l\u00e0 sinh code s\u01a1 b\u1ed9, nh\u01b0ng b\u1ea1n ph\u1ea3i l\u00e0m ch\u1ee7 v\u00f2ng l\u1eb7p ngo\u00e0i (Outer Loop), n\u01a1i y\u00eau c\u1ea7u gu th\u1ea9m m\u1ef9 k\u1ef9 thu\u1eadt, s\u1ef1 ph\u00e1n \u0111o\u00e1n, ng\u1eef c\u1ea3nh nghi\u1ec7p v\u1ee5 v\u00e0 n\u0103ng l\u1ef1c ki\u1ec3m ch\u1ee9ng.\n\nD\u1ef1a tr\u00ean c\u00e1c m\u00f4 h\u00ecnh \u0111\u1ea1t \u0111i\u1ec3m cao t\u1eeb nghi\u00ean c\u1ee9u c\u1ee7a Anthropic, b\u1ea1n c\u00f3 th\u1ec3 \u00e1p d\u1ee5ng 3 ph\u01b0\u01a1ng th\u1ee9c t\u01b0\u01a1ng t\u00e1c gi\u1eef v\u1eefng n\u0103ng l\u1ef1c nh\u1eadn th\u1ee9c:\n\n1. **Truy v\u1ea5n kh\u00e1i ni\u1ec7m (Conceptual Inquiry).** Ch\u1ec9 h\u1ecfi AI v\u1ec1 kh\u00e1i ni\u1ec7m, c\u01a1 ch\u1ebf ho\u1eb7c gi\u1ea3i thu\u1eadt, sau \u0111\u00f3 t\u1ef1 tay vi\u1ebft 100% m\u00e3 ngu\u1ed3n.\n2. **M\u00e3 ngu\u1ed3n k\u00e8m gi\u1ea3i th\u00edch (Hybrid Code-Explanation).** Y\u00eau c\u1ea7u AI sinh code \u0111i k\u00e8m l\u1eddi gi\u1ea3i th\u00edch chi ti\u1ebft v\u1ec1 lu\u1ed3ng th\u1ef1c thi v\u00e0 l\u00fd do l\u1ef1a ch\u1ecdn ph\u01b0\u01a1ng \u00e1n ki\u1ebfn tr\u00fac.\n3. **T\u1ea1o m\u00e3 r\u1ed3i th\u1ea5u hi\u1ec3u (Generation-Then-Comprehension).** Cho AI sinh code tr\u01b0\u1edbc, nh\u01b0ng b\u1ea1n ph\u1ea3i \u0111\u1eb7t c\u00e2u h\u1ecfi ph\u1ea3n bi\u1ec7n, r\u00e0 so\u00e1t logic v\u00e0 ki\u1ec3m ch\u1ee9ng gi\u1ea3 thuy\u1ebft tr\u01b0\u1edbc khi commit.\n\nB\u00ean c\u1ea1nh \u0111\u00f3, h\u00e3y thi\u1ebft l\u1eadp **V\u00f2ng l\u1eb7p k\u00e9p (Dual Loop)**: Chuy\u1ec3n h\u00f3a c\u00e1c b\u00e0i h\u1ecdc thu \u0111\u01b0\u1ee3c t\u1eeb m\u1ed7i phi\u00ean l\u00e0m vi\u1ec7c th\u00e0nh file quy t\u1eafc trong repository (nh\u01b0 `AGENTS.md` ho\u1eb7c `lessons.md`), quy t\u1eafc linter, r\u00e0ng bu\u1ed9c ki\u1ec3u d\u1eef li\u1ec7u (type constraints) ho\u1eb7c unit test. \u0110i\u1ec1u n\u00e0y ng\u0103n tri th\u1ee9c b\u1ecb bi\u1ebfn m\u1ea5t khi \u0111\u00f3ng c\u1eeda s\u1ed5 chat, \u0111\u1ed3ng th\u1eddi cung c\u1ea5p ng\u1eef c\u1ea3nh chu\u1ea9n x\u00e1c cho c\u00e1c phi\u00ean l\u00e0m vi\u1ec7c ti\u1ebfp theo c\u1ee7a AI agent.\n\n![V\u00f2ng l\u1eb7p trong do AI sinh m\u00e3 v\u00e0 V\u00f2ng l\u1eb7p ngo\u00e0i n\u01a1i con ng\u01b0\u1eddi ki\u1ec3m so\u00e1t ki\u1ebfn tr\u00fac c\u00f9ng quy chu\u1ea9n repository](https:\/\/camnangai.com\/articles\/suy-giam-ky-nang-thoi-ai\/06-vn.webp)\n\nD\u01b0\u1edbi \u0111\u00e2y l\u00e0 m\u1eabu file `AGENTS.md` chu\u1ea9n h\u00f3a c\u1ea5p repository b\u1ea1n c\u00f3 th\u1ec3 \u00e1p d\u1ee5ng tr\u1ef1c ti\u1ebfp v\u00e0o d\u1ef1 \u00e1n:\n\n```markdown\n# Repository Guidelines & Agent Constraints\n\n## Architectural Invariants\n\n- **Concurrency Control:** All async operations must use structured concurrency via explicit context managers. Bare coroutines without scope containment are forbidden.\n- **State Mutation:** Domain entities are immutable. State changes must return new instances through dedicated factory methods.\n\n## Known Pitfalls & Anti-Patterns\n\n- **Resource Leakage in Memory Channels:**\n  - _Context:_ Unclosed channel endpoints cause consumer tasks to hang indefinitely.\n  - _Mandatory Pattern:_ Always enclose channel operations within `async with` blocks or explicitly invoke `close()` in a `finally` block.\n- **Silent Exception Swallowing:**\n  - _Context:_ Generic `try\/except` blocks in child tasks hide failures from the root supervisor.\n  - _Mandatory Pattern:_ Catch specific domain exceptions only. Propagate unhandled errors to the main task scope.\n\n## Pre-PR Verification Protocol\n\n- [ ] Run static analysis: `mypy --strict` must pass with zero implicit type errors.\n- [ ] Manual Diff Inspection: Verify no hallucinated methods, unused imports, or non-standard abstractions were added.\n- [ ] Regression Coverage: Ensure new logic includes unit tests covering both boundary conditions and failure modes.\n```\n\n## T\u00e0i li\u1ec7u tham kh\u1ea3o\n\n- [Mastery Still Comes From Doing the Reps](https:\/\/addyo.substack.com\/p\/agentic-skill-decay) \u2014 Addy Osmani\n- [How AI Impacts Skill Formation](https:\/\/arxiv.org\/html\/2601.20245v1) \u2014 Judy Hanwen Shen & Alex Tamkin, Anthropic Research\n- [How Generative and Agentic AI Shift Concern from Technical Debt to Cognitive Debt](https:\/\/simonwillison.net\/2026\/Feb\/15\/cognitive-debt\/) \u2014 Simon Willison\n- [Understand to participate](https:\/\/simonwillison.net\/2026\/Jul\/2\/understand-to-participate\/) \u2014 Simon Willison & Geoffrey Litt\n- [Generative AI is not going to build your engineering team for you](https:\/\/charity.wtf\/2024\/06\/09\/generative-ai-is-not-going-to-build-your-engineering-team-for-you\/) \u2014 Charity Majors\n- [Measuring the Impact of Early-2025 AI on Experienced Open-Source Developer Productivity](https:\/\/arxiv.org\/html\/2507.09089v1) \u2014 Joel Becker et al., METR\n- [The death of the junior developer](https:\/\/sourcegraph.com\/blog\/the-death-of-the-junior-developer) \u2014 Steve Yegge, Sourcegraph\n\n---\n\n*B\u00e0i vi\u1ebft \u0111\u01b0\u1ee3c \u0111\u0103ng l\u1ea7n \u0111\u1ea7u tr\u00ean [camnangai.com](https:\/\/camnangai.com\/ung-dung-ai\/lap-trinh-vien\/suy-giam-ky-nang-thoi-ai).*","published_at":"2026-10-05T08:51:14.000000Z","scheduled_publish_at":null,"is_published":true,"is_shared":false,"updated_at":"2026-10-05T11:00:14.000000Z","edited_at":"2026-10-05T08:50:29.000000Z","translation_source":null,"trend_at":null,"promoted_at":null,"reading_time":16,"points":0,"views_count":22,"clips_count":0,"comments_count":0,"rated_value":null,"promoted":false,"trending":false,"is_draft":false,"is_public":true,"locale_code":"vi","is_video":false,"thumbnail_url":null,"user":{"data":{"id":34208,"url":"https:\/\/viblo.asia\/u\/tuanhadev","avatar":"77f3ec8b-0af7-44ae-bae0-3894954c3d50.jpg","name":"Tr\u1ea7n V\u0103n Tu\u1ea5n","username":"tuanhadev","followers_count":6,"reputation":101,"posts_count":35,"banned_at":null,"level_partner":null,"following":false}},"tags":{"data":[{"slug":"vibecoding","name":"VibeCoding"},{"slug":"ai-agents","name":"ai agents"},{"slug":"software-engineering","name":"software engineering"}]},"commentators":{"data":[]}},{"id":108269,"title":"T\u1ed5ng th\u1ea7u c\u01a1 \u0111i\u1ec7n Ng\u00e0y \u0110\u00eam","slug":"ZoJjeQdZ4Y7","url":"https:\/\/viblo.asia\/p\/tong-thau-co-dien-ngay-dem-ZoJjeQdZ4Y7","user_id":219199,"moderation":"discarded","transliterated":"tong-thau-co-dien-ngay-dem","contents_short":"T\u1ed5ng th\u1ea7u c\u01a1 \u0111i\u1ec7n Ng\u00e0y \u0110\u00eam chuy\u00ean thi c\u00f4ng, l\u1eafp \u0111\u1eb7t, b\u1ea3o tr\u00ec, b\u1ea3o d\u01b0\u1ee1ng v\u00e0 s\u1eeda ch\u1eefa h\u1ec7 th\u1ed1ng c\u01a1 \u0111i\u1ec7n** cho nh\u00e0 m\u00e1y, nh\u00e0 x\u01b0\u1edfng, t\u00f2a nh\u00e0, v\u0103n ph\u00f2ng, kh\u00e1ch s\u1ea1n, trung t\u00e2m th\u01b0\u01a1ng m\u1ea1i v\u00e0 c\u00e1c c\u00f4ng tr\u00ecnh d\u00e2n d\u1ee5ng \u2013 c\u00f4ng nghi\u1ec7p. Ph\u1ea1m vi tri\u1ec3n khai g\u1ed3m c\u01a1 \u0111i\u1ec7n (M&E), \u0111i\u1ec7n nh\u1eb9, camera, thang m\u00e1y, m\u00e1y ph\u00e1t \u0111i\u1ec7n, \u0111i\u1ec7n n\u01b0\u1edbc, PCCC, \u0111i\u1ec1u h\u00f2a kh\u00f4ng kh\u00ed v\u00e0 c\u00e1c h\u1ec7 th\u1ed1ng k\u1ef9 thu\u1eadt li\u00ean quan.\n\nNg\u00e0y \u0110\u00eam c\u00f3 kh\u1ea3 n\u0103ng ...","contents":"T\u1ed5ng th\u1ea7u c\u01a1 \u0111i\u1ec7n Ng\u00e0y \u0110\u00eam chuy\u00ean thi c\u00f4ng, l\u1eafp \u0111\u1eb7t, b\u1ea3o tr\u00ec, b\u1ea3o d\u01b0\u1ee1ng v\u00e0 s\u1eeda ch\u1eefa h\u1ec7 th\u1ed1ng c\u01a1 \u0111i\u1ec7n** cho nh\u00e0 m\u00e1y, nh\u00e0 x\u01b0\u1edfng, t\u00f2a nh\u00e0, v\u0103n ph\u00f2ng, kh\u00e1ch s\u1ea1n, trung t\u00e2m th\u01b0\u01a1ng m\u1ea1i v\u00e0 c\u00e1c c\u00f4ng tr\u00ecnh d\u00e2n d\u1ee5ng \u2013 c\u00f4ng nghi\u1ec7p. Ph\u1ea1m vi tri\u1ec3n khai g\u1ed3m c\u01a1 \u0111i\u1ec7n (M&E), \u0111i\u1ec7n nh\u1eb9, camera, thang m\u00e1y, m\u00e1y ph\u00e1t \u0111i\u1ec7n, \u0111i\u1ec7n n\u01b0\u1edbc, PCCC, \u0111i\u1ec1u h\u00f2a kh\u00f4ng kh\u00ed v\u00e0 c\u00e1c h\u1ec7 th\u1ed1ng k\u1ef9 thu\u1eadt li\u00ean quan.\n\nNg\u00e0y \u0110\u00eam c\u00f3 kh\u1ea3 n\u0103ng \u0111\u1ea3m nh\u1eadn tr\u1ecdn g\u00f3i t\u1eeb kh\u1ea3o s\u00e1t, t\u01b0 v\u1ea5n gi\u1ea3i ph\u00e1p, thi c\u00f4ng l\u1eafp \u0111\u1eb7t \u0111\u1ebfn nghi\u1ec7m thu, b\u1ea3o tr\u00ec v\u00e0 x\u1eed l\u00fd s\u1ef1 c\u1ed1**, ph\u00f9 h\u1ee3p c\u1ea3 c\u00f4ng tr\u00ecnh x\u00e2y m\u1edbi, c\u1ea3i t\u1ea1o v\u00e0 n\u00e2ng c\u1ea5p h\u1ec7 th\u1ed1ng \u0111ang v\u1eadn h\u00e0nh. Vi\u1ec7c t\u1eadp trung nhi\u1ec1u h\u1ea1ng m\u1ee5c v\u1ec1 m\u1ed9t \u0111\u1ea7u m\u1ed1i gi\u00fap ch\u1ee7 \u0111\u1ea7u t\u01b0 d\u1ec5 qu\u1ea3n l\u00fd, ki\u1ec3m so\u00e1t ch\u1ea5t l\u01b0\u1ee3ng, ti\u1ebfn \u0111\u1ed9 v\u00e0 chi ph\u00ed, \u0111\u1ed3ng th\u1eddi \u0111\u1ea3m b\u1ea3o h\u1ec7 th\u1ed1ng \u0111\u01b0\u1ee3c v\u1eadn h\u00e0nh an to\u00e0n, hi\u1ec7u qu\u1ea3 v\u00e0 l\u00e2u d\u00e0i.\nWebsite: https:\/\/ngaydem.com.vn\/\nhttps:\/\/www.facebook.com\/codienngaydemhn\nhttp:\/\/www.youtube.com\/@codienngaydemhn\nhttps:\/\/www.youtube.com\/@codienngaydem\nhttps:\/\/x.com\/codienngaydem\nhttps:\/\/www.threads.com\/@codienngaydem\nhttps:\/\/www.linkedin.com\/in\/codienngaydem\/\nhttps:\/\/www.instagram.com\/codienngaydem\/\nhttps:\/\/bsky.app\/profile\/codienngaydem.bsky.social\nhttps:\/\/www.reddit.com\/user\/codienngaydem\/\nhttps:\/\/mastodon.social\/@codienngaydem\nhttps:\/\/www.strava.com\/athletes\/1615333967\nhttps:\/\/about.me\/codienngaydem\/\nhttps:\/\/www.pinterest.com\/codienngaydemhn\/\nhttps:\/\/medium.com\/@codienngaydem\nhttps:\/\/flipboard.com\/@codienngaydem\nhttps:\/\/www.tumblr.com\/codienngaydem\nhttps:\/\/vimeo.com\/user261645249\nhttps:\/\/dribbble.com\/ngay-dem-co-dien\nhttps:\/\/www.twitch.tv\/codienngaydem\nhttps:\/\/github.com\/codienngaydem\nhttps:\/\/www.mixcloud.com\/codienngaydem\/\nhttps:\/\/gitlab.com\/codienngaydem\nhttps:\/\/fr.quora.com\/profile\/Codienngaydem\nhttps:\/\/fr.scribd.com\/user\/1010470755\/co-dien-ngay-dem\nhttps:\/\/fr.slideshare.net\/codienngaydem\nhttps:\/\/www.scoop.it\/u\/codienngaydem\nhttps:\/\/www.diigo.com\/profile\/codienngaydem\nhttps:\/\/mix.com\/codienngaydem\nhttps:\/\/www.producthunt.com\/@codienngaydem\nhttps:\/\/www.pearltrees.com\/codienngaydem\nhttps:\/\/www.instapaper.com\/p\/codienngaydem\nhttps:\/\/issuu.com\/codienngaydem\nhttps:\/\/www.goodreads.com\/codienngaydem\nhttps:\/\/dailymotion.com\/user\/codienngaydem\nhttps:\/\/files.fm\/codienngaydem\nhttps:\/\/gravatar.com\/clearlydistinguished56f831e568\nhttps:\/\/able2know.org\/user\/codienngaydem\/\nhttps:\/\/wellfound.com\/u\/co-dien-ngay-dem\nhttps:\/\/stackoverflow.com\/users\/33184024\/co-dien-ngay-dem\n\nhttps:\/\/joy.bio\/codienngaydem\nhttps:\/\/band.us\/@codienngaydem\nhttps:\/\/audiomack.com\/codienngaydem\nhttps:\/\/www.facer.io\/u\/codienngaydem\nhttps:\/\/vnreview.vn\/members\/codienngaydem.22020\/\nhttps:\/\/heylink.me\/codienngaydem\nhttps:\/\/padlet.com\/codienngaydem\nhttps:\/\/igli.me\/codienngaydem\nhttps:\/\/mastodon.world\/@codienngaydem\n\nhttps:\/\/www.magcloud.com\/user\/codienngaydem\nhttps:\/\/safechat.com\/u\/codienngaydem\nhttps:\/\/beacons.ai\/codienngaydem\nhttps:\/\/wakelet.com\/@codienngaydem\n\nhttps:\/\/viblo.asia\/u\/codienngaydem","published_at":"2026-10-05T08:43:53.000000Z","scheduled_publish_at":null,"is_published":true,"is_shared":false,"updated_at":"2026-10-05T08:43:55.000000Z","edited_at":"2026-10-05T08:43:43.000000Z","translation_source":null,"trend_at":null,"promoted_at":null,"reading_time":2,"points":0,"views_count":0,"clips_count":0,"comments_count":0,"rated_value":null,"promoted":false,"trending":false,"is_draft":false,"is_public":true,"locale_code":"vi","is_video":false,"thumbnail_url":null,"user":{"data":{"id":219199,"url":"https:\/\/viblo.asia\/u\/codienngaydem","avatar":"5ff757c4-8867-4dd6-95fd-c503337141d6.jpg","name":"C\u01a1 \u0111i\u1ec7n Ng\u00e0y \u0110\u00eam","username":"codienngaydem","followers_count":0,"reputation":0,"posts_count":0,"banned_at":"2026-10-05T08:43:55.000000Z","level_partner":null,"following":false}},"tags":{"data":[{"slug":"codienngaydem","name":"codienngaydem"}]},"commentators":{"data":[]}},{"id":108154,"title":"[Microservices Series] B\u00e0i 8: Service Discovery \u2013 \"B\u1ea3n \u0111\u1ed3 s\u1ed1ng\" d\u00f2 \u0111\u01b0\u1eddng trong s\u01b0\u01a1ng m\u00f9 Microservices","slug":"y0VGwg7zVPA","url":"https:\/\/viblo.asia\/p\/microservices-series-bai-8-service-discovery-ban-do-song-do-duong-trong-suong-mu-microservices-y0VGwg7zVPA","user_id":182653,"moderation":null,"transliterated":"microservices-series-bai-8-service-discovery-ban-do-song-do-duong-trong-suong-mu-microservices","contents_short":"Ch\u00e0o anh em, m\u00ecnh \u0111\u00e2y! \u1ede cu\u1ed1i b\u00e0i 7, ch\u00fang ta \u0111\u00e3 d\u1ef1ng xong API Gateway l\u00e0m ng\u01b0\u1eddi g\u00e1c c\u1ed5ng v\u1eefng ch\u1eafc. Nh\u01b0ng c\u00f3 m\u1ed9t l\u1ed7 h\u1ed5ng logic r\u1ea5t l\u1edbn m\u00e0 anh em tinh \u00fd s\u1ebd nh\u1eadn ra: API Gateway l\u00e0m sao bi\u1ebft IP c\u1ee7a c\u00e1c service b\u00ean trong \u0111\u1ec3 m\u00e0 forward request t\u1edbi?\n\nTrong th\u1eddi \u0111\u1ea1i c\u1ee7a Monolith v\u00e0 m\u00e1y ch\u1ee7 v\u1eadt l\u00fd, anh em c\u1ee9 m\u1edf file nginx.conf l\u00ean, hardcode c\u00e1i IP 192.168.1.10 v\u00e0o l\u00e0 xong, ch\u1ea1y 5 n\u0103m kh\u00f4ng \u0111\u1ed5i. Nh\u01b0ng...","contents":"Ch\u00e0o anh em, m\u00ecnh \u0111\u00e2y! \u1ede cu\u1ed1i b\u00e0i 7, ch\u00fang ta \u0111\u00e3 d\u1ef1ng xong API Gateway l\u00e0m ng\u01b0\u1eddi g\u00e1c c\u1ed5ng v\u1eefng ch\u1eafc. Nh\u01b0ng c\u00f3 m\u1ed9t l\u1ed7 h\u1ed5ng logic r\u1ea5t l\u1edbn m\u00e0 anh em tinh \u00fd s\u1ebd nh\u1eadn ra: **API Gateway l\u00e0m sao bi\u1ebft IP c\u1ee7a c\u00e1c service b\u00ean trong \u0111\u1ec3 m\u00e0 forward request t\u1edbi?**\n\nTrong th\u1eddi \u0111\u1ea1i c\u1ee7a Monolith v\u00e0 m\u00e1y ch\u1ee7 v\u1eadt l\u00fd, anh em c\u1ee9 m\u1edf file `nginx.conf` l\u00ean, hardcode c\u00e1i IP `192.168.1.10` v\u00e0o l\u00e0 xong, ch\u1ea1y 5 n\u0103m kh\u00f4ng \u0111\u1ed5i. Nh\u01b0ng \u1edf th\u1ebf gi\u1edbi Microservices, \u0111\u1eb7c bi\u1ec7t l\u00e0 khi anh em ch\u1ea1y tr\u00ean Docker Swarm hay Kubernetes, m\u1ecdi th\u1ee9 mong manh nh\u01b0 tr\u00f2 ch\u01a1i x\u1ebfp h\u00ecnh.\n\nM\u1ed9t container c\u00f3 th\u1ec3 \"ch\u1ebft\" b\u1ea5t \u0111\u1eafc k\u1ef3 t\u1eed v\u00ec h\u1ebft RAM, r\u1ed3i m\u1ed9t container m\u1edbi toanh t\u1ef1 \u0111\u1ed9ng \u0111\u01b0\u1ee3c sinh ra \u0111\u1ec3 thay th\u1ebf... v\u1edbi m\u1ed9t **\u0111\u1ecba ch\u1ec9 IP ho\u00e0n to\u00e0n m\u1edbi**. N\u1ebfu Gateway v\u1eabn m\u00f9 qu\u00e1ng g\u1eedi request v\u00e0o c\u00e1i IP c\u0169, h\u1ec7 th\u1ed1ng s\u1ebd tr\u1ea3 v\u1ec1 l\u1ed7i 502 Bad Gateway ngay l\u1eadp t\u1ee9c.\n\n\u0110\u1ec3 gi\u1ea3i quy\u1ebft b\u00e0i to\u00e1n \"IP \u0111\u1ed9ng\" n\u00e0y, ch\u00fang ta c\u1ea7n m\u1ed9t c\u00f4ng c\u1ee5 mang t\u00ean: **Service Discovery**.\n\n## 1. Service Discovery ho\u1ea1t \u0111\u1ed9ng nh\u01b0 th\u1ebf n\u00e0o?\n\nAnh em c\u1ee9 t\u01b0\u1edfng t\u01b0\u1ee3ng Service Discovery gi\u1ed1ng nh\u01b0 m\u1ed9t cu\u1ed1n **Danh b\u1ea1 \u0111i\u1ec7n tho\u1ea1i s\u1ed1ng** (Service Registry) k\u1ebft h\u1ee3p v\u1edbi m\u1ed9t \u00f4ng t\u1ed5ng \u0111\u00e0i vi\u00ean. N\u00f3 g\u1ed3m 2 qu\u00e1 tr\u00ecnh c\u1ed1t l\u00f5i:\n\n**B\u01b0\u1edbc 1: B\u00e1o danh (Service Registration)** Khi m\u1ed9t service m\u1edbi \u0111\u01b0\u1ee3c kh\u1edfi \u0111\u1ed9ng (v\u00ed d\u1ee5: Service Mua V\u00e9 ch\u1ea1y \u1edf IP `10.0.0.5`), vi\u1ec7c \u0111\u1ea7u ti\u00ean n\u00f3 l\u00e0m kh\u00f4ng ph\u1ea3i l\u00e0 ph\u1ee5c v\u1ee5 user, m\u00e0 l\u00e0 ch\u1ea1y \u0111\u1ebfn b\u00e1o c\u00e1o v\u1edbi cu\u1ed1n Danh b\u1ea1 (Registry):\n\n> _\"Ch\u00e0o s\u1ebfp, em l\u00e0 Service Mua V\u00e9, em \u0111ang s\u1ed1ng \u1edf \u0111\u1ecba ch\u1ec9 IP 10.0.0.5, port 8080\"._\n\nCu\u1ed1n danh b\u1ea1 ghi nh\u1eadn l\u1ea1i. V\u00e0 \u0111\u1ec3 ch\u1ee9ng minh m\u00ecnh c\u00f2n s\u1ed1ng, c\u1ee9 m\u1ed7i 5 gi\u00e2y, Service Mua V\u00e9 ph\u1ea3i g\u1eedi m\u1ed9t t\u00edn hi\u1ec7u **Heartbeat (Nh\u1ecbp tim)** l\u00ean danh b\u1ea1. N\u1ebfu qu\u00e1 15 gi\u00e2y m\u00e0 kh\u00f4ng th\u1ea5y nh\u1ecbp tim \u0111\u1eadp, danh b\u1ea1 s\u1ebd t\u1ef1 \u0111\u1ed9ng g\u1ea1ch t\u00ean IP `10.0.0.5` ra kh\u1ecfi danh s\u00e1ch v\u00ec m\u1eb7c \u0111\u1ecbnh container \u0111\u00f3 \u0111\u00e3 \"t\u1eed n\u1ea1n\".\n\n**B\u01b0\u1edbc 2: T\u00ecm \u0111\u01b0\u1eddng (Service Discovery)** B\u00e2y gi\u1edd, API Gateway nh\u1eadn \u0111\u01b0\u1ee3c m\u1ed9t request c\u1ea7n chuy\u1ec3n cho Service Mua V\u00e9. Thay v\u00ec t\u00ecm IP t\u0129nh, Gateway s\u1ebd h\u1ecfi cu\u1ed1n Danh b\u1ea1:\n\n> _\"Cho xin danh s\u00e1ch c\u00e1c IP c\u1ee7a Service Mua V\u00e9 \u0111ang c\u00f2n s\u1ed1ng!\"_\n\nDanh b\u1ea1 tr\u1ea3 v\u1ec1 m\u1ed9t m\u1ea3ng: `[10.0.0.5, 10.0.0.8, 10.0.0.9]`. Gateway l\u00fac n\u00e0y ch\u1ec9 vi\u1ec7c b\u1ed1c \u0111\u1ea1i m\u1ed9t c\u00e1i IP trong \u0111\u00f3 (th\u01b0\u1eddng \u00e1p d\u1ee5ng thu\u1eadt to\u00e1n Load Balancing nh\u01b0 Round Robin) v\u00e0 forward request \u0111i.\n\n## 2. Th\u1ef1c chi\u1ebfn t\u1ea1i tuy\u1ebfn Metro s\u1ed1 1\n\nGi\u1ea3 s\u1eed v\u00e0o gi\u1edd cao \u0111i\u1ec3m bu\u1ed5i s\u00e1ng t\u1ea1i tuy\u1ebfn Metro, l\u01b0\u1ee3ng kh\u00e1ch \u0111\u1ed5 v\u1ec1 c\u00e1c ga trung t\u00e2m t\u0103ng \u0111\u1ed9t bi\u1ebfn.\n\nH\u1ec7 th\u1ed1ng gi\u00e1m s\u00e1t ph\u00e1t hi\u1ec7n Service C\u1ed5ng So\u00e1t V\u00e9 (Gate) \u0111ang b\u1ecb qu\u00e1 t\u1ea3i CPU. Ngay l\u1eadp t\u1ee9c, c\u01a1 ch\u1ebf Auto-scaling t\u1ef1 \u0111\u1ed9ng nh\u00e2n b\u1ea3n (scale up) Gate Service t\u1eeb 5 containers l\u00ean 20 containers \u0111\u1ec3 g\u1ed3ng g\u00e1nh l\u01b0\u1ee3ng kh\u00e1ch.\n\n-   **N\u1ebfu kh\u00f4ng c\u00f3 Service Discovery:** M\u00ecnh ho\u1eb7c anh em team v\u1eadn h\u00e0nh s\u1ebd ph\u1ea3i h\u1ed9c t\u1ed1c l\u00f4i file config c\u1ee7a Gateway ra, g\u00f5 tay th\u00eam 15 c\u00e1i IP m\u1edbi v\u00e0o, r\u1ed3i reload l\u1ea1i Nginx. T\u1edbi l\u00fac c\u1ea5u h\u00ecnh xong th\u00ec ch\u1eafc kh\u00e1ch \u0111\u00e3 l\u00e0m lo\u1ea1n \u1edf nh\u00e0 ga.\n    \n-   **Khi c\u00f3 Service Discovery (nh\u01b0 Consul ho\u1eb7c Kubernetes Service):** 15 containers Gate m\u1edbi v\u1eeba boot l\u00ean th\u00e0nh c\u00f4ng s\u1ebd t\u1ef1 \u0111\u1ed9ng \"h\u00e9t l\u00ean\" v\u00e0 ghi danh v\u00e0o Registry. API Gateway t\u1ef1 \u0111\u1ed9ng nh\u1eadn \u0111\u01b0\u1ee3c danh s\u00e1ch IP m\u1edbi c\u1eadp nh\u1eadt n\u00e0y trong t\u00edch t\u1eafc v\u00e0 b\u1eaft \u0111\u1ea7u chia \u0111\u1ec1u traffic sang 20 containers m\u1ed9t c\u00e1ch m\u01b0\u1ee3t m\u00e0.\n    \n\n\u0110\u1ebfn tr\u01b0a, h\u1ebft gi\u1edd cao \u0111i\u1ec3m, 15 containers th\u1eeba b\u1ecb kill \u0111i. Ch\u00fang ng\u1eebng ph\u00e1t Heartbeat, Registry t\u1ef1 x\u00f3a t\u00ean, v\u00e0 Gateway t\u1ef1 \u0111\u1ed9ng ng\u1eebng g\u1eedi request t\u1edbi nh\u1eefng IP \u0111\u00e3 ch\u1ebft. M\u1ecdi th\u1ee9 di\u1ec5n ra t\u1ef1 \u0111\u1ed9ng ho\u00e0n to\u00e0n (Zero-touch).\n\n## L\u1eddi khuy\u00ean \"x\u01b0\u01a1ng m\u00e1u\"\n\n-   **\u0110\u1eebng t\u1ef1 code l\u1ea1i b\u00e1nh xe:** H\u00e3y d\u00f9ng c\u00e1c c\u00f4ng c\u1ee5 \u0111\u00e3 \u0111\u01b0\u1ee3c th\u1ebf gi\u1edbi ki\u1ec3m ch\u1ee9ng. N\u1ebfu anh em deploy b\u1eb1ng Docker\/VM tr\u1ea7n, h\u00e3y d\u00f9ng **HashiCorp Consul** ho\u1eb7c **Netflix Eureka**. N\u1ebfu anh em d\u00f9ng Kubernetes, th\u00ec ch\u00fac m\u1eebng, K8s \u0111\u00e3 t\u00edch h\u1ee3p s\u1eb5n c\u01a1 ch\u1ebf Service Discovery c\u1ef1c k\u1ef3 ho\u00e0n h\u1ea3o \u1edf t\u1ea7ng DNS (CoreDNS) r\u1ed3i, anh em g\u1ea7n nh\u01b0 kh\u00f4ng ph\u1ea3i config g\u00ec ph\u1ee9c t\u1ea1p.\n    \n-   **Health Check (Ki\u1ec3m tra s\u1ee9c kh\u1ecfe) l\u00e0 m\u1ea1ng s\u1ed1ng:** \u0110\u1eebng ch\u1ec9 \u0111\u1ec3 Registry ping xem port c\u1ee7a service c\u00f3 m\u1edf hay kh\u00f4ng. H\u00e3y code m\u1ed9t API `\/health` \u0111\u00e0ng ho\u00e0ng. Nhi\u1ec1u khi port v\u1eabn m\u1edf (Network OK), nh\u01b0ng Database ch\u1ebft khi\u1ebfn service b\u1ecb treo. N\u1ebfu Health check kh\u00f4ng ki\u1ec3m tra c\u1ea3 connection DB, Registry v\u1eabn t\u01b0\u1edfng service \u0111\u00f3 kh\u1ecfe m\u1ea1nh v\u00e0 t\u1ed1ng traffic v\u00e0o, d\u1eabn \u0111\u1ebfn r\u1edbt to\u00e0n b\u1ed9 request.\n    \n\n## T\u1ea1m k\u1ebft\n\n\u0110\u1ebfn b\u00e0i n\u00e0y, ch\u00fang ta \u0111\u00e3 c\u00f3 m\u1ed9t ki\u1ebfn tr\u00fac m\u1ea1ng kh\u00e1 ho\u00e0n ch\u1ec9nh: C\u00e1c service bi\u1ebft c\u00e1ch g\u1ecdi nhau (gRPC\/Message Broker), bi\u1ebft c\u00e1ch t\u1ef1 b\u1ea3o v\u1ec7 (Circuit Breaker), c\u00f3 c\u1eeda ng\u00f5 an to\u00e0n (API Gateway) v\u00e0 c\u00f3 b\u1ea3n \u0111\u1ed3 t\u1ef1 \u0111\u1ed9ng d\u00f2 \u0111\u01b0\u1eddng (Service Discovery).\n\nNh\u01b0ng khoan \u0111\u00e3, m\u1ecdi th\u1ee9 v\u1eabn ch\u1ec9 l\u00e0 b\u1ec1 n\u1ed5i c\u1ee7a request. C\u00f2n d\u1eef li\u1ec7u (Database) th\u00ec sao?\n\nTrong Monolith, khi kh\u00e1ch n\u1ea1p ti\u1ec1n th\u1ebb, anh em d\u00f9ng `DB::transaction()` \u0111\u1ec3 update b\u1ea3ng s\u1ed1 d\u01b0 v\u00e0 ghi log giao d\u1ecbch trong c\u00f9ng 1 database, l\u1ed7i th\u00ec Rollback ph\u00e1t l\u00e0 xong. Nh\u01b0ng \u1edf Microservices, Service Wallet gi\u1eef database ri\u00eang, Service Transaction gi\u1eef database ri\u00eang. L\u1ee1 Update Wallet th\u00e0nh c\u00f4ng m\u00e0 Transaction b\u00e1o l\u1ed7i r\u1edbt m\u1ea1ng th\u00ec sao? Ti\u1ec1n c\u1ee7a kh\u00e1ch \u0111i v\u1ec1 \u0111\u00e2u?\n\n\u1ede b\u00e0i ti\u1ebfp theo (B\u00e0i 9), ch\u00fang ta s\u1ebd b\u01b0\u1edbc v\u00e0o v\u00f9ng n\u01b0\u1edbc s\u00e2u nh\u1ea5t v\u00e0 \u0111au \u0111\u1ea7u nh\u1ea5t c\u1ee7a Microservices: **Distributed Transactions & Saga Pattern \u2013 B\u00e0i to\u00e1n gi\u1eef t\u00ednh nh\u1ea5t qu\u00e1n d\u1eef li\u1ec7u ph\u00e2n t\u00e1n**.\n\nAnh em \u0111ang d\u00f9ng c\u00f4ng c\u1ee5 Service Discovery n\u00e0o cho d\u1ef1 \u00e1n hi\u1ec7n t\u1ea1i? Qu\u00e1 tr\u00ecnh scale up h\u1ec7 th\u1ed1ng c\u1ee7a team anh em \u0111ang l\u00e0 ch\u1ea1y t\u1ef1 \u0111\u1ed9ng hay v\u1eabn ph\u1ea3i \"ch\u1ea1y b\u1eb1ng c\u01a1m\"? C\u00f9ng th\u1ea3o lu\u1eadn d\u01b0\u1edbi ph\u1ea7n comment nh\u00e9!","published_at":"2026-10-05T07:57:26.000000Z","scheduled_publish_at":null,"is_published":true,"is_shared":false,"updated_at":"2026-10-05T11:00:14.000000Z","edited_at":"2026-10-03T15:40:35.000000Z","translation_source":null,"trend_at":null,"promoted_at":null,"reading_time":6,"points":0,"views_count":17,"clips_count":0,"comments_count":0,"rated_value":null,"promoted":false,"trending":false,"is_draft":false,"is_public":true,"locale_code":"vi","is_video":false,"thumbnail_url":null,"user":{"data":{"id":182653,"url":"https:\/\/viblo.asia\/u\/hhoang","avatar":"7b8975e5-ecec-4eda-ba88-dd56fe2a29c0.jpg","name":"Huy Ho\u00e0ng","username":"hhoang","followers_count":182,"reputation":13760,"posts_count":1389,"banned_at":null,"level_partner":null,"following":false}},"tags":{"data":[{"slug":"microservices","name":"microservices"}]},"commentators":{"data":[]}},{"id":108267,"title":"Xu h\u01b0\u1edbng \u1ee8ng d\u1ee5ng AI v\u00e0o c\u00f4ng vi\u1ec7c v\u0103n ph\u00f2ng","slug":"2vJPdlraJeK","url":"https:\/\/viblo.asia\/p\/xu-huong-ung-dung-ai-vao-cong-viec-van-phong-2vJPdlraJeK","user_id":190335,"moderation":null,"transliterated":"xu-huong-ung-dung-ai-vao-cong-viec-van-phong","contents_short":"V\u00e0o \u0111\u1ea7u nh\u1eefng n\u0103m 1980, s\u1ef1 xu\u1ea5t hi\u1ec7n c\u1ee7a ph\u1ea7n m\u1ec1m b\u1ea3ng t\u00ednh \u0111i\u1ec7n t\u1eed VisiCalc v\u00e0 sau \u0111\u00f3 l\u00e0 Lotus 1-2-3 \u0111\u00e3 t\u1ea1o ra m\u1ed9t l\u00e0n s\u00f3ng ho\u1ea3ng lo\u1ea1n trong gi\u1edbi k\u1ebf to\u00e1n v\u00e0 t\u00e0i ch\u00ednh ph\u1ed1 Wall. V\u00e0o th\u1eddi \u0111i\u1ec3m \u0111\u00f3, nhi\u1ec1u ng\u01b0\u1eddi d\u1ef1 \u0111o\u00e1n r\u1eb1ng h\u00e0ng tri\u1ec7u k\u1ebf to\u00e1n vi\u00ean s\u1ebd m\u1ea5t vi\u1ec7c khi m\u1ed9t chi\u1ebfc m\u00e1y vi t\u00ednh c\u00f3 th\u1ec3 th\u1ef1c hi\u1ec7n ph\u00e9p t\u00ednh c\u1ed9ng d\u1ed3n h\u00e0ng ngh\u00ecn \u00f4 ch\u1ec9 trong m\u1ed9t gi\u00e2y.\n\nTh\u1ef1c t\u1ebf l\u1ecbch s\u1eed \u0111\u00e3 ch\u1ee9ng minh \u0111i\u1ec1u ng\u01b0\u1ee3c l\u1ea1i...","contents":"V\u00e0o \u0111\u1ea7u nh\u1eefng n\u0103m 1980, s\u1ef1 xu\u1ea5t hi\u1ec7n c\u1ee7a ph\u1ea7n m\u1ec1m b\u1ea3ng t\u00ednh \u0111i\u1ec7n t\u1eed VisiCalc v\u00e0 sau \u0111\u00f3 l\u00e0 Lotus 1-2-3 \u0111\u00e3 t\u1ea1o ra m\u1ed9t l\u00e0n s\u00f3ng ho\u1ea3ng lo\u1ea1n trong gi\u1edbi k\u1ebf to\u00e1n v\u00e0 t\u00e0i ch\u00ednh ph\u1ed1 Wall. V\u00e0o th\u1eddi \u0111i\u1ec3m \u0111\u00f3, nhi\u1ec1u ng\u01b0\u1eddi d\u1ef1 \u0111o\u00e1n r\u1eb1ng h\u00e0ng tri\u1ec7u k\u1ebf to\u00e1n vi\u00ean s\u1ebd m\u1ea5t vi\u1ec7c khi m\u1ed9t chi\u1ebfc m\u00e1y vi t\u00ednh c\u00f3 th\u1ec3 th\u1ef1c hi\u1ec7n ph\u00e9p t\u00ednh c\u1ed9ng d\u1ed3n h\u00e0ng ngh\u00ecn \u00f4 ch\u1ec9 trong m\u1ed9t gi\u00e2y.\n\nTh\u1ef1c t\u1ebf l\u1ecbch s\u1eed \u0111\u00e3 ch\u1ee9ng minh \u0111i\u1ec1u ng\u01b0\u1ee3c l\u1ea1i: nhu c\u1ea7u tuy\u1ec3n d\u1ee5ng k\u1ebf to\u00e1n v\u00e0 ph\u00e2n t\u00edch t\u00e0i ch\u00ednh kh\u00f4ng h\u1ec1 bi\u1ebfn m\u1ea5t m\u00e0 t\u0103ng g\u1ea5p nhi\u1ec1u l\u1ea7n. Tuy nhi\u00ean, b\u1ea3n ch\u1ea5t c\u00f4ng vi\u1ec7c \u0111\u00e3 b\u1ecb t\u00e1i c\u1ea5u tr\u00fac v\u0129nh vi\u1ec5n. Nh\u1eefng ng\u01b0\u1eddi ch\u1ec9 bi\u1ebft ghi ch\u00e9p s\u1ed5 s\u00e1ch gi\u1ea5y v\u00e0 c\u1ed9ng s\u1ed5 b\u1eb1ng tay b\u1ecb \u0111\u00e0o th\u1ea3i; nh\u1eefng ng\u01b0\u1eddi h\u1ecdc c\u00e1ch s\u1eed d\u1ee5ng b\u1ea3ng t\u00ednh \u0111\u1ec3 m\u00f4 h\u00ecnh h\u00f3a d\u00f2ng ti\u1ec1n v\u00e0 d\u1ef1 b\u00e1o k\u1ecbch b\u1ea3n kinh doanh tr\u1edf th\u00e0nh t\u1ea7ng l\u1edbp l\u00e3nh \u0111\u1ea1o m\u1edbi.\n\nL\u00e0n s\u00f3ng Tr\u00ed tu\u1ec7 Nh\u00e2n t\u1ea1o t\u1ea1o sinh (Generative AI) v\u00e0 c\u00e1c m\u00f4 h\u00ecnh t\u00e1c t\u1eed th\u00f4ng minh (AI Agents) hi\u1ec7n nay \u0111ang \u0111\u1eb7t kh\u1ed1i nh\u00e2n s\u1ef1 v\u0103n ph\u00f2ng \u2014 t\u1eeb Marketing, B\u00e1n h\u00e0ng, Nh\u00e2n s\u1ef1, Ph\u00e1p l\u00fd \u0111\u1ebfn Qu\u1ea3n l\u00fd v\u1eadn h\u00e0nh \u2014 v\u00e0o ch\u00ednh x\u00e1c b\u01b0\u1edbc ngo\u1eb7t l\u1ecbch s\u1eed \u0111\u00f3. AI kh\u00f4ng c\u00f2n l\u00e0 m\u1ed9t m\u00f3n \u0111\u1ed3 ch\u01a1i c\u00f4ng ngh\u1ec7 th\u1eed nghi\u1ec7m hay m\u1ed9t c\u00f4ng c\u1ee5 h\u1ed7 tr\u1ee3 g\u00f5 v\u0103n b\u1ea3n th\u00f4ng th\u01b0\u1eddng, m\u00e0 \u0111ang \u0111\u1ecbnh ngh\u0129a l\u1ea1i t\u1eadn g\u1ed1c ranh gi\u1edbi c\u1ee7a n\u0103ng su\u1ea5t lao \u0111\u1ed9ng tr\u00ed tu\u1ec7.\n![image.png](https:\/\/images.viblo.asia\/ecc0581b-219a-42b5-bb0a-48e2e881e687.png)\n\n## 1. CU\u1ed8C T\u00c1I C\u1ea4U TR\u00daC LAO \u0110\u1ed8NG TR\u00cd TH\u1ee8C: KHI K\u1ef8 N\u0102NG T\u1ed4NG H\u1ee2P C\u01a0 B\u1ea2N B\u1eca B\u00c3O H\u00d2A\n\nTrong su\u1ed1t nhi\u1ec1u th\u1eadp k\u1ef7, gi\u00e1 tr\u1ecb th\u1ecb tr\u01b0\u1eddng c\u1ee7a m\u1ed9t nh\u00e2n s\u1ef1 v\u0103n ph\u00f2ng \u0111\u01b0\u1ee3c \u0111\u1ecbnh l\u01b0\u1ee3ng d\u1ef1a tr\u00ean hai y\u1ebfu t\u1ed1 ch\u00ednh:\n\nKh\u1ea3 n\u0103ng ghi nh\u1edb v\u00e0 tra c\u1ee9u th\u00f4ng tin chuy\u00ean ng\u00e0nh.\n\nT\u1ed1c \u0111\u1ed9 th\u1ef1c thi c\u00e1c chu\u1ed7i t\u00e1c v\u1ee5 nh\u1eadn th\u1ee9c l\u1eb7p \u0111i l\u1eb7p l\u1ea1i: so\u1ea1n th\u1ea3o email theo m\u1eabu, t\u1ed5ng h\u1ee3p bi\u00ean b\u1ea3n cu\u1ed9c h\u1ecdp, d\u1ecbch thu\u1eadt t\u00e0i li\u1ec7u, x\u1eed l\u00fd \u0111\u1ecbnh d\u1ea1ng b\u1ea3ng t\u00ednh v\u00e0 vi\u1ebft b\u00e1o c\u00e1o tu\u1ea7n.\n\nNh\u1eefng k\u1ef9 n\u0103ng n\u00e0y t\u1eebng t\u1ea1o n\u00ean \"h\u00e0ng r\u00e0o b\u1ea3o v\u1ec7\" gi\u00fap ng\u01b0\u1eddi lao \u0111\u1ed9ng duy tr\u00ec ch\u1ed7 \u0111\u1ee9ng an to\u00e0n trong t\u1ed5 ch\u1ee9c. Tuy nhi\u00ean, s\u1ef1 xu\u1ea5t hi\u1ec7n c\u1ee7a c\u00e1c m\u00f4 h\u00ecnh ng\u00f4n ng\u1eef l\u1edbn \u0111\u00e3 san ph\u1eb3ng h\u00e0ng r\u00e0o n\u00e0y trong ch\u1edbp m\u1eaft.\n\nM\u1ed9t b\u00e0i ki\u1ec3m tra th\u1ef1c t\u1ebf cho th\u1ea5y: m\u1ed9t nh\u00e2n vi\u00ean m\u1ea5t trung b\u00ecnh t\u1eeb 4 \u0111\u1ebfn 6 ti\u1ebfng \u0111\u1ec3 \u0111\u1ecdc h\u1ebft 50 trang t\u00e0i li\u1ec7u k\u1ef9 thu\u1eadt, tr\u00edch xu\u1ea5t 5 lu\u1eadn \u0111i\u1ec3m ch\u00ednh v\u00e0 so\u1ea1n m\u1ed9t b\u1ea3n t\u00f3m t\u1eaft \u0111i\u1ec1u h\u00e0nh b\u1eb1ng ti\u1ebfng Anh. M\u1ed9t h\u1ec7 th\u1ed1ng AI \u0111\u01b0\u1ee3c c\u1ea5u h\u00ecnh chu\u1ea9n x\u00e1c c\u00f3 th\u1ec3 th\u1ef1c hi\u1ec7n to\u00e0n b\u1ed9 chu\u1ed7i c\u00f4ng vi\u1ec7c \u0111\u00f3 trong ch\u01b0a \u0111\u1ea7y 30 gi\u00e2y v\u1edbi \u0111\u1ed9 ch\u00ednh x\u00e1c v\u1ec1 m\u1eb7t ng\u1eef ngh\u0129a g\u1ea7n nh\u01b0 tuy\u1ec7t \u0111\u1ed1i.\n\nKhi chi ph\u00ed bi\u00ean \u0111\u1ec3 s\u1ea3n sinh ra v\u0103n b\u1ea3n, m\u00e3 code c\u01a1 b\u1ea3n v\u00e0 c\u00e1c b\u1ea3n t\u1ed5ng h\u1ee3p th\u00f4ng tin ti\u1ec7m c\u1eadn m\u1ee9c b\u1eb1ng kh\u00f4ng, vi\u1ec7c m\u1ed9t c\u00e1 nh\u00e2n ti\u1ebfp t\u1ee5c t\u1ef1 h\u00e0o v\u1ec1 kh\u1ea3 n\u0103ng \"l\u00e0m vi\u1ec7c ch\u0103m ch\u1ec9\" b\u1eb1ng c\u00e1c thao t\u00e1c c\u01a1 h\u1ecdc ch\u00ednh l\u00e0 con \u0111\u01b0\u1eddng ng\u1eafn nh\u1ea5t d\u1eabn \u0111\u1ebfn s\u1ef1 suy gi\u1ea3m gi\u00e1 tr\u1ecb c\u00e1 nh\u00e2n tr\u00ean th\u1ecb tr\u01b0\u1eddng lao \u0111\u1ed9ng.\n![image.png](https:\/\/images.viblo.asia\/aa582f49-e8a6-4300-9e24-369bf07238b9.png)\n\n## 2. NGH\u1ecaCH L\u00dd C\u1ee6A S\u1ef0 D\u1ec4 D\u00c3I: KHO\u1ea2NG C\u00c1CH GI\u1eeeA \"NG\u01af\u1edcI D\u00d9NG PH\u1ed4 TH\u00d4NG\" V\u00c0 \"NH\u00c0 \u0110I\u1ec0U H\u00c0NH TH\u00d4NG MINH\"\n\nHi\u1ec7n nay, m\u1ed9t b\u1ed9 ph\u1eadn l\u1edbn ng\u01b0\u1eddi l\u00e0m v\u0103n ph\u00f2ng v\u1eabn \u0111ang nh\u00ecn nh\u1eadn AI d\u01b0\u1edbi l\u0103ng k\u00ednh r\u1ea5t h\u1eddi h\u1ee3t: xem n\u00f3 nh\u01b0 m\u1ed9t chatbot t\u00ecm ki\u1ebfm n\u00e2ng cao thay th\u1ebf Google, g\u00f5 v\u00e0o v\u00e0i c\u00e2u l\u1ec7nh ng\u1eafn ng\u1ee7i v\u00e0 nh\u1eadn v\u1ec1 nh\u1eefng \u0111o\u1ea1n v\u0103n b\u1ea3n chung chung, v\u00f4 th\u01b0\u1edfng v\u00f4 ph\u1ea1t.\n\nKhi k\u1ebft qu\u1ea3 nh\u1eadn \u0111\u01b0\u1ee3c kh\u00f4ng nh\u01b0 k\u1ef3 v\u1ecdng, h\u1ecd v\u1ed9i v\u00e3 \u0111\u01b0a ra k\u1ebft lu\u1eadn: \"AI ch\u1ec9 ch\u00e9m gi\u00f3, kh\u00f4ng \u00e1p d\u1ee5ng \u0111\u01b0\u1ee3c v\u00e0o c\u00f4ng vi\u1ec7c th\u1ef1c t\u1ebf c\u1ee7a t\u00f4i\". \u0110\u00e2y ch\u00ednh l\u00e0 Ngh\u1ecbch l\u00fd c\u1ee7a s\u1ef1 d\u1ec5 d\u00e3i (The Illusion of Ease).\n\nKho\u1ea3ng c\u00e1ch gi\u1eefa vi\u1ec7c g\u00f5 v\u00e0i c\u00e2u chat vu v\u01a1 v\u00e0 vi\u1ec7c bi\u1ebfn AI th\u00e0nh \u0111\u00f2n b\u1ea9y n\u0103ng su\u1ea5t th\u1ef1c s\u1ef1 l\u00e0 m\u1ed9t h\u1ed1 s\u00e2u v\u1ec1 m\u1eb7t ph\u01b0\u01a1ng ph\u00e1p lu\u1eadn:\n\nNg\u01b0\u1eddi d\u00f9ng ph\u1ed5 th\u00f4ng (Passive Users):\n\nTi\u1ebfp c\u1eadn AI nh\u01b0 m\u1ed9t chi\u1ebfc m\u00e1y tr\u1ea3 l\u1eddi c\u00e2u h\u1ecfi th\u1ee5 \u0111\u1ed9ng.\n\nRa l\u1ec7nh b\u1eb1ng nh\u1eefng c\u00e2u ch\u1eef m\u01a1 h\u1ed3, thi\u1ebfu ng\u1eef c\u1ea3nh kinh doanh v\u00e0 thi\u1ebfu r\u00e0ng bu\u1ed9c \u0111\u1ecbnh d\u1ea1ng.\n\nCh\u1ea5p nh\u1eadn to\u00e0n b\u1ed9 n\u1ed9i dung AI t\u1ea1o ra m\u00e0 kh\u00f4ng c\u00f3 b\u1ed9 l\u1ecdc ki\u1ec3m ch\u1ee9ng, d\u1ec5 d\u00e0ng b\u1ecb m\u1eafc b\u1eaby \u1ea3o gi\u00e1c th\u00f4ng tin (Hallucination).\n\nK\u1ebft qu\u1ea3: T\u1ea1o ra nh\u1eefng s\u1ea3n ph\u1ea9m r\u1eadp khu\u00f4n, thi\u1ebfu b\u1ea3n s\u1eafc v\u00e0 kh\u00f4ng th\u1ec3 \u0111\u01b0a v\u00e0o v\u1eadn h\u00e0nh th\u1ef1c t\u1ebf.\n\nNh\u00e0 \u0111i\u1ec1u h\u00e0nh th\u00f4ng minh (Cognitive Orchestrators):\n\nTi\u1ebfp c\u1eadn AI nh\u01b0 m\u1ed9t c\u1ed9ng s\u1ef1 nh\u1eadn th\u1ee9c (Cognitive Co-worker) ho\u1eb7c m\u1ed9t m\u1ea1ng l\u01b0\u1edbi c\u00e1c t\u00e1c t\u1eed chuy\u00ean bi\u1ec7t.\n\nThi\u1ebft l\u1eadp k\u1ef9 thu\u1eadt qu\u1ea3n tr\u1ecb ng\u1eef c\u1ea3nh ch\u1eb7t ch\u1ebd (Context Engineering): cung c\u1ea5p d\u1eef li\u1ec7u tham chi\u1ebfu, \u0111\u1ecbnh ngh\u0129a vai tr\u00f2, \u0111\u1eb7t ra c\u00e1c ranh gi\u1edbi lo\u1ea1i tr\u1eeb v\u00e0 \u00e9p c\u1ea5u tr\u00fac \u0111\u1ea7u ra nghi\u00eam ng\u1eb7t.\n\nS\u1edf h\u1eefu t\u01b0 duy ki\u1ec3m to\u00e1n (Auditing Mindset): bi\u1ebft ch\u00ednh x\u00e1c \u0111i\u1ec3m y\u1ebfu c\u1ee7a m\u00f4 h\u00ecnh x\u00e1c su\u1ea5t, li\u00ean t\u1ee5c \u0111\u1ed1i so\u00e1t t\u00ednh to\u00e0n v\u1eb9n c\u1ee7a d\u1eef li\u1ec7u v\u00e0 ch\u1ec9 \u0111\u1ecbnh h\u01b0\u1edbng AI v\u00e0o c\u00e1c b\u01b0\u1edbc ph\u00e2n t\u00edch trung gian.\n\nK\u1ebft qu\u1ea3: R\u00fat ng\u1eafn 80% th\u1eddi gian x\u1eed l\u00fd c\u00e1c b\u00e0i to\u00e1n ph\u1ee9c t\u1ea1p m\u00e0 v\u1eabn gi\u1eef tr\u1ecdn v\u1eb9n ch\u1ea5t l\u01b0\u1ee3ng chuy\u00ean m\u00f4n c\u1ea5p cao.\n\nS\u1ef1 kh\u00e1c bi\u1ec7t \u1edf \u0111\u00e2y kh\u00f4ng n\u1eb1m \u1edf c\u00f4ng ngh\u1ec7, m\u00e0 n\u1eb1m \u1edf n\u0103ng l\u1ef1c t\u01b0 duy v\u00e0 ph\u01b0\u01a1ng ph\u00e1p \u0111i\u1ec1u ph\u1ed1i c\u1ee7a con ng\u01b0\u1eddi.\n![image.png](https:\/\/images.viblo.asia\/8cf0f2dc-e651-4c9e-8d0c-8679322e62d0.png)\n\n## 3. \u0110\u1ecaNH LU\u1eacT JEVONS V\u00c0 PH\u01af\u01a0NG TR\u00ccNH N\u0102NG SU\u1ea4T M\u1edaI TRONG DOANH NGHI\u1ec6P\n\nTrong kinh t\u1ebf h\u1ecdc, Ngh\u1ecbch l\u00fd Jevons (Jevons Paradox) ch\u1ec9 ra r\u1eb1ng: khi ti\u1ebfn b\u1ed9 c\u00f4ng ngh\u1ec7 l\u00e0m t\u0103ng hi\u1ec7u qu\u1ea3 s\u1eed d\u1ee5ng m\u1ed9t ngu\u1ed3n t\u00e0i nguy\u00ean (l\u00e0m gi\u1ea3m chi ph\u00ed s\u1eed d\u1ee5ng t\u00e0i nguy\u00ean \u0111\u00f3), m\u1ee9c ti\u00eau th\u1ee5 t\u1ed5ng th\u1ec3 c\u1ee7a t\u00e0i nguy\u00ean \u0111\u00f3 trong n\u1ec1n kinh t\u1ebf s\u1ebd t\u0103ng l\u00ean thay v\u00ec gi\u1ea3m \u0111i.\n\n\u00c1p d\u1ee5ng v\u00e0o lao \u0111\u1ed9ng tr\u00ed th\u1ee9c: Khi AI gi\u00fap chi ph\u00ed t\u1ea1o ra m\u1ed9t b\u1ea3n th\u1ea3o, m\u1ed9t ph\u00e2n t\u00edch d\u1eef li\u1ec7u hay m\u1ed9t \u00fd t\u01b0\u1edfng chi\u1ebfn l\u01b0\u1ee3c tr\u1edf n\u00ean r\u1ebb h\u01a1n v\u00e0 nhanh h\u01a1n g\u1ea5p 10 l\u1ea7n, nhu c\u1ea7u c\u1ee7a doanh nghi\u1ec7p kh\u00f4ng ph\u1ea3i l\u00e0 \"l\u00e0m \u00edt \u0111i\", m\u00e0 l\u00e0 \u0111\u00f2i h\u1ecfi kh\u1ed1i l\u01b0\u1ee3ng v\u00e0 ti\u00eau chu\u1ea9n \u0111\u1ea7u ra cao h\u01a1n g\u1ea5p nhi\u1ec1u l\u1ea7n:\n\nTr\u01b0\u1edbc \u0111\u00e2y, m\u1ed9t chuy\u00ean vi\u00ean ti\u1ebfp th\u1ecb ch\u1ec9 c\u1ea7n n\u1ed9p 1 k\u1ebf ho\u1ea1ch chi\u1ebfn d\u1ecbch m\u1ed7i th\u00e1ng. Ng\u00e0y nay, v\u1edbi s\u1ef1 h\u1ed7 tr\u1ee3 c\u1ee7a AI, k\u1ef3 v\u1ecdng c\u1ee7a ban \u0111i\u1ec1u h\u00e0nh l\u00e0 5 k\u1ecbch b\u1ea3n ph\u00e2n kh\u00fac kh\u00e1ch h\u00e0ng kh\u00e1c nhau k\u00e8m d\u1ef1 ph\u00f3ng d\u1eef li\u1ec7u chi ti\u1ebft trong c\u00f9ng m\u1ed9t kho\u1ea3ng th\u1eddi gian.\n\nTr\u01b0\u1edbc \u0111\u00e2y, m\u1ed9t chuy\u00ean vi\u00ean nh\u00e2n s\u1ef1 m\u1ea5t 2 tu\u1ea7n \u0111\u1ec3 duy\u1ec7t 500 h\u1ed3 s\u01a1 \u1ee9ng vi\u00ean. Ng\u00e0y nay, k\u1ef3 v\u1ecdng \u0111\u1eb7t ra l\u00e0 h\u1ed3 s\u01a1 ph\u1ea3i \u0111\u01b0\u1ee3c ph\u00e2n lo\u1ea1i v\u00e0 ph\u1ea3n h\u1ed3i trong v\u00f2ng 24 gi\u1edd, \u0111i k\u00e8m ma tr\u1eadn \u0111\u00e1nh gi\u00e1 n\u0103ng l\u1ef1c \u0111a chi\u1ec1u.\n\nPh\u01b0\u01a1ng tr\u00ecnh n\u0103ng su\u1ea5t m\u1edbi kh\u00f4ng c\u00f2n \u0111\u01b0\u1ee3c \u0111o \u0111\u1ebfm b\u1eb1ng c\u00f4ng th\u1ee9c c\u0169:\nN\u0103ng su\u1ea5t = Th\u1eddi gian l\u00e0m vi\u1ec7c nh\u00e2n v\u1edbi N\u1ed7 l\u1ef1c c\u00e1 nh\u00e2n\n\nM\u00e0 \u0111\u00e3 chuy\u1ec3n d\u1ecbch c\u0103n b\u1ea3n th\u00e0nh:\nN\u0103ng su\u1ea5t = N\u0103ng l\u1ef1c chuy\u00ean m\u00f4n c\u1ed1t l\u00f5i nh\u00e2n v\u1edbi \u0110\u00f2n b\u1ea9y h\u1ec7 th\u1ed1ng AI\n\nN\u1ebfu gi\u00e1 tr\u1ecb \u0111\u00f2n b\u1ea9y b\u1eb1ng 1 (ngh\u0129a l\u00e0 kh\u00f4ng s\u1eed d\u1ee5ng AI), b\u1ea1n s\u1ebd ph\u1ea3i c\u1ea1nh tranh tr\u1ef1c ti\u1ebfp v\u1edbi nh\u1eefng \u0111\u1ed3ng nghi\u1ec7p ho\u1eb7c \u0111\u1ed1i th\u1ee7 s\u1edf h\u1eefu \u0111\u00f2n b\u1ea9y b\u1eb1ng 5 ho\u1eb7c b\u1eb1ng 10. \u0110\u00f3 l\u00e0 m\u1ed9t cu\u1ed9c \u0111ua m\u00e0 s\u1ef1 ch\u0103m ch\u1ec9 \u0111\u01a1n thu\u1ea7n c\u1ea7m ch\u1eafc ph\u1ea7n thua.\n![image.png](https:\/\/images.viblo.asia\/8faa4bc6-6713-4c2f-b7ef-db7bbee377e5.png)\n\n## 4. S\u1ef0 PH\u00c2N H\u00d3A NH\u00c2N S\u1ef0: AI KH\u00d4NG THAY TH\u1ebe B\u1ea0N, NH\u01afNG NG\u01af\u1edcI L\u00c0M CH\u1ee6 AI S\u1ebc THAY TH\u1ebe B\u1ea0N\n\nC\u00e2u kh\u1ea9u hi\u1ec7u \"AI s\u1ebd kh\u00f4ng thay th\u1ebf con ng\u01b0\u1eddi, nh\u01b0ng ng\u01b0\u1eddi bi\u1ebft d\u00f9ng AI s\u1ebd thay th\u1ebf ng\u01b0\u1eddi kh\u00f4ng bi\u1ebft\" \u0111\u00e3 tr\u1edf n\u00ean ph\u1ed5 bi\u1ebfn, nh\u01b0ng \u00edt ai b\u00f3c t\u00e1ch b\u1ea3n ch\u1ea5t kinh t\u1ebf \u0111\u1eb1ng sau l\u1eddi c\u1ea3nh b\u00e1o n\u00e0y.\n\nS\u1ef1 ph\u00e2n h\u00f3a nh\u00e2n s\u1ef1 v\u0103n ph\u00f2ng trong th\u1eddi gian t\u1edbi s\u1ebd di\u1ec5n ra theo ba nh\u00f3m r\u00f5 r\u1ec7t:\n\n### Nh\u00f3m 1: T\u1ea7ng l\u1edbp lao \u0111\u1ed9ng c\u01a1 h\u1ecdc (B\u1ecb thay th\u1ebf tr\u1ef1c ti\u1ebfp)\n\nNh\u1eefng nh\u00e2n s\u1ef1 d\u00e0nh ph\u1ea7n l\u1edbn th\u1eddi gian trong ng\u00e0y cho vi\u1ec7c sao ch\u00e9p s\u1ed1 li\u1ec7u gi\u1eefa c\u00e1c file Excel, d\u1ecbch thu\u1eadt c\u01a1 b\u1ea3n, vi\u1ebft l\u1ea1i b\u00e0i vi\u1ebft t\u1eeb ngu\u1ed3n kh\u00e1c, ho\u1eb7c tr\u1ea3 l\u1eddi c\u00e1c email l\u1eb7p \u0111i l\u1eb7p l\u1ea1i. \u0110\u00e2y l\u00e0 nh\u00f3m c\u00f3 nguy c\u01a1 b\u1ecb c\u1eaft gi\u1ea3m bi\u00ean ch\u1ebf cao nh\u1ea5t v\u00ec to\u00e0n b\u1ed9 gi\u00e1 tr\u1ecb c\u00f4ng vi\u1ec7c c\u1ee7a h\u1ecd c\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c t\u1ef1 \u0111\u1ed9ng h\u00f3a b\u1eb1ng m\u1ed9t chu\u1ed7i quy tr\u00ecnh No-Code k\u1ebft h\u1ee3p AI v\u1edbi chi ph\u00ed ch\u1ec9 b\u1eb1ng m\u1ed9t ph\u1ea7n nh\u1ecf ti\u1ec1n l\u01b0\u01a1ng th\u00e1ng.\n\n### Nh\u00f3m 2: T\u1ea7ng l\u1edbp ng\u1ed9 nh\u1eadn (G\u1eb7p r\u1ee7i ro suy gi\u1ea3m v\u1ecb th\u1ebf)\n\nNh\u1eefng ng\u01b0\u1eddi s\u1eed d\u1ee5ng AI m\u1ed9t c\u00e1ch l\u00e9n l\u00fat ho\u1eb7c \u0111\u1ed1i ph\u00f3: n\u00e9m to\u00e0n b\u1ed9 vi\u1ec7c cho ChatGPT l\u00e0m r\u1ed3i copy paste nguy\u00ean v\u0103n n\u1ed9p cho c\u1ea5p tr\u00ean m\u00e0 kh\u00f4ng ki\u1ec3m tra. Nh\u00f3m n\u00e0y nhanh ch\u00f3ng b\u1ecb nh\u1eadn di\u1ec7n v\u00ec v\u0103n phong r\u1eadp khu\u00f4n, thi\u1ebfu chi\u1ec1u s\u00e2u th\u1ef1c t\u1ebf v\u00e0 th\u01b0\u1eddng xuy\u00ean \u0111\u1ec3 l\u1ed9 c\u00e1c sai s\u00f3t logic nghi\u00eam tr\u1ecdng. H\u1ecd \u0111\u1ed1i m\u1eb7t v\u1edbi s\u1ef1 m\u1ea5t ni\u1ec1m tin t\u1eeb \u0111\u1ed3ng nghi\u1ec7p v\u00e0 l\u00e3nh \u0111\u1ea1o.\n\n### Nh\u00f3m 3: T\u1ea7ng l\u1edbp ki\u1ebfn tr\u00fac s\u01b0 gi\u1ea3i ph\u00e1p (Gia t\u0103ng gi\u00e1 tr\u1ecb v\u01b0\u1ee3t b\u1eadc)\n\nNh\u1eefng ng\u01b0\u1eddi n\u1eafm v\u1eefng ki\u1ebfn th\u1ee9c chuy\u00ean m\u00f4n ng\u00e0nh (Domain Knowledge), \u0111\u1ed3ng th\u1eddi hi\u1ec3u s\u00e2u s\u1eafc nguy\u00ean l\u00fd ho\u1ea1t \u0111\u1ed9ng c\u1ee7a c\u00e1c c\u00f4ng c\u1ee5 AI. H\u1ecd s\u1eed d\u1ee5ng AI nh\u01b0 m\u1ed9t b\u1ed9 khu\u1ebfch \u0111\u1ea1i nh\u1eadn th\u1ee9c:\n\n\u1ee6y th\u00e1c to\u00e0n b\u1ed9 kh\u00e2u chu\u1ea9n b\u1ecb, l\u1ecdc th\u00f4 v\u00e0 \u0111\u1ecbnh d\u1ea1ng cho AI.\n\nD\u00e0nh to\u00e0n b\u1ed9 th\u1eddi gian v\u00e0 s\u1ef1 minh m\u1eabn c\u1ee7a n\u00e3o b\u1ed9 cho c\u00e1c quy\u1ebft \u0111\u1ecbnh mang t\u00ednh chi\u1ebfn l\u01b0\u1ee3c: \u0111\u00e0m ph\u00e1n, qu\u1ea3n tr\u1ecb r\u1ee7i ro, x\u00e2y d\u1ef1ng m\u1ed1i quan h\u1ec7 con ng\u01b0\u1eddi v\u00e0 th\u1ea9m \u0111\u1ecbnh t\u00ednh \u0111\u00fang \u0111\u1eafn c\u1ee7a gi\u1ea3i ph\u00e1p.\n\nM\u1ed9t nh\u00e2n s\u1ef1 thu\u1ed9c nh\u00f3m n\u00e0y c\u00f3 th\u1ec3 g\u00e1nh v\u00e1c kh\u1ed1i l\u01b0\u1ee3ng c\u00f4ng vi\u1ec7c v\u00e0 t\u1ea1o ra gi\u00e1 tr\u1ecb t\u01b0\u01a1ng \u0111\u01b0\u01a1ng m\u1ed9t ph\u00f2ng ban nh\u1ecf tr\u01b0\u1edbc \u0111\u00e2y, bi\u1ebfn h\u1ecd th\u00e0nh h\u1ea1t nh\u00e2n kh\u00f4ng th\u1ec3 thay th\u1ebf c\u1ee7a t\u1ed5 ch\u1ee9c.\n![image.png](https:\/\/images.viblo.asia\/b60369da-76da-41b7-bea0-5527e62f42fa.png)\n\n## 5. T\u1ea0I SAO PH\u1ea2I CH\u1ee6 \u0110\u1ed8NG H\u1eccC V\u00c0 TRAU D\u1ed2I N\u0102NG L\u1ef0C AI NGAY H\u00d4M NAY?\n\nH\u1ecdc AI trong b\u1ed1i c\u1ea3nh c\u00f4ng s\u1edf hi\u1ec7n nay kh\u00f4ng c\u00f3 ngh\u0129a l\u00e0 b\u1ea1n ph\u1ea3i \u0111i h\u1ecdc to\u00e1n cao c\u1ea5p, vi\u1ebft gi\u1ea3i thu\u1eadt h\u1ecdc m\u00e1y hay tr\u1edf th\u00e0nh k\u1ef9 s\u01b0 ph\u1ea7n m\u1ec1m. H\u1ecdc AI \u0111\u1ed1i v\u1edbi ng\u01b0\u1eddi l\u00e0m v\u0103n ph\u00f2ng l\u00e0 h\u1ecdc T\u01b0 duy giao ti\u1ebfp v\u1edbi h\u1ec7 th\u1ed1ng th\u00f4ng minh v\u00e0 N\u0103ng l\u1ef1c t\u00edch h\u1ee3p c\u00f4ng ngh\u1ec7 v\u00e0o quy tr\u00ecnh l\u00e0m vi\u1ec7c.\n\nC\u00f3 b\u1ed1n l\u00fd do c\u1ed1t t\u1eed \u0111\u00f2i h\u1ecfi m\u1ed7i c\u00e1 nh\u00e2n ph\u1ea3i thi\u1ebft l\u1eadp k\u1ef7 lu\u1eadt t\u1ef1 h\u1ecdc AI nghi\u00eam t\u00fac:\n\n### 1. Hi\u1ec3u b\u1ea3n ch\u1ea5t \u0111\u1ec3 tri\u1ec7t ti\u00eau r\u1ee7i ro ph\u00e1p l\u00fd v\u00e0 an to\u00e0n th\u00f4ng tin\n\nN\u1ebfu kh\u00f4ng h\u1ecdc b\u00e0i b\u1ea3n, ng\u01b0\u1eddi d\u00f9ng r\u1ea5t d\u1ec5 v\u00f4 t\u00ecnh t\u1ea3i to\u00e0n b\u1ed9 d\u1eef li\u1ec7u t\u00e0i ch\u00ednh m\u1eadt c\u1ee7a c\u00f4ng ty, danh s\u00e1ch kh\u00e1ch h\u00e0ng ho\u1eb7c b\u00ed m\u1eadt th\u01b0\u01a1ng m\u1ea1i l\u00ean c\u00e1c n\u1ec1n t\u1ea3ng AI c\u00f4ng c\u1ed9ng, vi ph\u1ea1m nghi\u00eam tr\u1ecdng lu\u1eadt b\u1ea3o v\u1ec7 d\u1eef li\u1ec7u v\u00e0 ch\u00ednh s\u00e1ch an ninh doanh nghi\u1ec7p. Ng\u01b0\u1eddi c\u00f3 hi\u1ec3u bi\u1ebft s\u1ebd bi\u1ebft c\u00e1ch \u1ea9n danh h\u00f3a d\u1eef li\u1ec7u (Data Masking) v\u00e0 l\u1ef1a ch\u1ecdn c\u00e1c gi\u1ea3i ph\u00e1p an to\u00e0n \u0111\u1ec3 b\u1ea3o v\u1ec7 t\u1ed5 ch\u1ee9c.\n\n### 2. N\u1eafm v\u1eefng t\u01b0 duy logic c\u00f3 c\u1ea5u tr\u00fac (Structured Thinking)\n\nAI ph\u1ea3n chi\u1ebfu ch\u00ednh x\u00e1c n\u0103ng l\u1ef1c t\u01b0 duy c\u1ee7a ng\u01b0\u1eddi \u0111i\u1ec1u khi\u1ec3n n\u00f3. M\u1ed9t ng\u01b0\u1eddi c\u00f3 t\u01b0 duy l\u1ed9n x\u1ed9n s\u1ebd \u0111\u01b0a ra nh\u1eefng c\u00e2u l\u1ec7nh l\u1ed9n x\u1ed9n v\u00e0 nh\u1eadn v\u1ec1 k\u1ebft qu\u1ea3 r\u00e1c. Vi\u1ec7c h\u1ecdc c\u00e1ch ch\u1ec9 \u0111\u1ea1o AI \u00e9p bu\u1ed9c con ng\u01b0\u1eddi ph\u1ea3i chu\u1ea9n h\u00f3a l\u1ea1i quy tr\u00ecnh t\u01b0 duy c\u1ee7a ch\u00ednh m\u00ecnh: b\u00f3c t\u00e1ch m\u1ed9t b\u00e0i to\u00e1n l\u1edbn th\u00e0nh c\u00e1c b\u01b0\u1edbc nh\u1ecf, x\u00e1c l\u1eadp ti\u00eau ch\u00ed nghi\u1ec7m thu r\u00f5 r\u00e0ng v\u00e0 \u0111\u1ecbnh h\u00ecnh c\u1ea5u tr\u00fac d\u1eef li\u1ec7u mong mu\u1ed1n.\n\n### 3. Kh\u1ea3 n\u0103ng gi\u00e1m s\u00e1t v\u00e0 ph\u1ea3n bi\u1ec7n \u0111\u1ed9c l\u1eadp (Critical Evaluation)\n\nKhi AI ng\u00e0y c\u00e0ng th\u00f4ng minh v\u00e0 c\u00e1c c\u00e2u tr\u1ea3 l\u1eddi nghe ng\u00e0y c\u00e0ng thuy\u1ebft ph\u1ee5c, nguy c\u01a1 con ng\u01b0\u1eddi tr\u1edf n\u00ean l\u01b0\u1eddi suy ngh\u0129 v\u00e0 b\u1ecb \"d\u1eaft m\u0169i\" l\u00e0 r\u1ea5t l\u1edbn. Vi\u1ec7c trau d\u1ed3i ki\u1ebfn th\u1ee9c gi\u00fap b\u1ea1n x\u00e2y d\u1ef1ng b\u1ea3n l\u0129nh ph\u1ea3n bi\u1ec7n: bi\u1ebft nghi ng\u1edd nh\u1eefng con s\u1ed1 nghe c\u00f3 v\u1ebb h\u1ee3p l\u00fd nh\u01b0ng kh\u00f4ng c\u00f3 c\u0103n c\u1ee9, bi\u1ebft ki\u1ec3m tra ngu\u1ed3n d\u1eef li\u1ec7u g\u1ed1c v\u00e0 gi\u1eef v\u1eefng tr\u00e1ch nhi\u1ec7m gi\u1ea3i tr\u00ecnh cu\u1ed1i c\u00f9ng tr\u01b0\u1edbc m\u1ecdi quy\u1ebft \u0111\u1ecbnh kinh doanh.\n\n### 4. Gi\u1ea3i ph\u00f3ng ti\u1ec1m n\u0103ng s\u00e1ng t\u1ea1o v\u00e0 ch\u1ea5t l\u01b0\u1ee3ng s\u1ed1ng\n\nM\u1ee5c ti\u00eau t\u1ed1i th\u01b0\u1ee3ng c\u1ee7a vi\u1ec7c h\u1ecdc AI kh\u00f4ng ph\u1ea3i l\u00e0 \u0111\u1ec3 bi\u1ebfn con ng\u01b0\u1eddi th\u00e0nh nh\u1eefng c\u1ed7 m\u00e1y ch\u1ea1y nhanh h\u01a1n. M\u1ee5c ti\u00eau th\u1ef1c s\u1ef1 l\u00e0 gi\u1ea3i ph\u00f3ng s\u1ee9c lao \u0111\u1ed9ng. Khi c\u00e1c t\u00e1c v\u1ee5 gi\u1ea5y t\u1edd nh\u00e0m ch\u00e1n \u0111\u01b0\u1ee3c t\u1ef1 \u0111\u1ed9ng h\u00f3a ho\u00e0n to\u00e0n, b\u1ea1n s\u1ebd l\u1ea5y l\u1ea1i \u0111\u01b0\u1ee3c h\u00e0ng gi\u1edd m\u1ed7i ng\u00e0y \u0111\u1ec3 t\u1eadp trung v\u00e0o vi\u1ec7c \u0111\u1ecdc s\u00e2u, t\u01b0 duy chi\u1ebfn l\u01b0\u1ee3c, trau d\u1ed3i c\u00e1c m\u1ed1i quan h\u1ec7 x\u00e3 h\u1ed9i ho\u1eb7c t\u00e1i t\u1ea1o n\u0103ng l\u01b0\u1ee3ng c\u00e1 nh\u00e2n \u2014 nh\u1eefng \u0111i\u1ec1u mang l\u1ea1i \u00fd ngh\u0129a th\u1ef1c s\u1ef1 cho cu\u1ed9c s\u1ed1ng v\u00e0 s\u1ef1 nghi\u1ec7p.\n\n## L\u1edcI K\u1ebeT: T\u01af\u01a0NG LAI THU\u1ed8C V\u1ec0 NH\u1eeeNG B\u1ed8 \u00d3C BI\u1ebeT L\u00c0M CH\u1ee6 C\u00d4NG NGH\u1ec6\n\nC\u00f4ng ngh\u1ec7 Tr\u00ed tu\u1ec7 Nh\u00e2n t\u1ea1o kh\u00f4ng ch\u1edd \u0111\u1ee3i b\u1ea5t k\u1ef3 ai ho\u00e0n th\u00e0nh xong s\u1ef1 chu\u1ea9n b\u1ecb t\u00e2m l\u00fd. N\u00f3 \u0111ang th\u1ea9m th\u1ea5u v\u00e0o t\u1eebng b\u1ea3ng t\u00ednh, t\u1eebng h\u00f2m th\u01b0 \u0111i\u1ec7n t\u1eed v\u00e0 t\u1eebng ph\u1ea7n m\u1ec1m qu\u1ea3n tr\u1ecb doanh nghi\u1ec7p m\u1ed7i ng\u00e0y.\n\nS\u1ef1 th\u1ee5 \u0111\u1ed9ng, ch\u1ea7n ch\u1eeb hay th\u00e1i \u0111\u1ed9 e ng\u1ea1i tr\u01b0\u1edbc c\u00f4ng ngh\u1ec7 m\u1edbi kh\u00f4ng b\u1ea3o v\u1ec7 b\u1ea1n kh\u1ecfi s\u1ef1 thay \u0111\u1ed5i c\u1ee7a th\u1eddi cu\u1ed9c. Ng\u01b0\u1ee3c l\u1ea1i, vi\u1ec7c ch\u1ee7 \u0111\u1ed9ng m\u1edf r\u1ed9ng v\u00f9ng an to\u00e0n, th\u1ea5u hi\u1ec3u nguy\u00ean l\u00fd v\u1eadn h\u00e0nh c\u1ee7a c\u00e1c c\u00f4ng c\u1ee5 th\u00f4ng minh v\u00e0 t\u00edch h\u1ee3p ch\u00fang v\u00e0o k\u1ef7 lu\u1eadt l\u00e0m vi\u1ec7c h\u00e0ng ng\u00e0y ch\u00ednh l\u00e0 c\u00e1ch duy nh\u1ea5t \u0111\u1ec3 kh\u1eb3ng \u0111\u1ecbnh gi\u00e1 tr\u1ecb b\u1ea3n th\u00e2n.\n\nH\u00e3y d\u1eebng vi\u1ec7c nh\u00ecn nh\u1eadn AI nh\u01b0 m\u1ed9t m\u1ed1i \u0111e d\u1ecda v\u00f4 h\u00ecnh hay m\u1ed9t tr\u00f2 ti\u00eau khi\u1ec3n nh\u1ea5t th\u1eddi. H\u00e3y b\u1eaft \u0111\u1ea7u t\u1eeb vi\u1ec7c r\u00e0 so\u00e1t l\u1ea1i to\u00e0n b\u1ed9 quy tr\u00ecnh l\u00e0m vi\u1ec7c c\u1ee7a ch\u00ednh m\u00ecnh, x\u00e1c \u0111\u1ecbnh nh\u1eefng \u0111i\u1ec3m ngh\u1ebdn nh\u1eadn th\u1ee9c l\u1eb7p \u0111i l\u1eb7p l\u1ea1i, v\u00e0 h\u1ecdc c\u00e1ch bi\u1ebfn nh\u1eefng c\u00f4ng c\u1ee5 th\u00f4ng minh n\u00e0y th\u00e0nh \u0111\u00f2n b\u1ea9y m\u1ea1nh m\u1ebd nh\u1ea5t cho s\u1ef1 ph\u00e1t tri\u1ec3n ngh\u1ec1 nghi\u1ec7p b\u1ec1n v\u1eefng c\u1ee7a b\u1ea1n.","published_at":"2026-10-05T07:48:06.000000Z","scheduled_publish_at":null,"is_published":true,"is_shared":false,"updated_at":"2026-10-05T11:00:14.000000Z","edited_at":"2026-10-05T07:47:34.000000Z","translation_source":null,"trend_at":null,"promoted_at":null,"reading_time":18,"points":0,"views_count":29,"clips_count":0,"comments_count":1,"rated_value":null,"promoted":false,"trending":false,"is_draft":false,"is_public":true,"locale_code":"vi","is_video":false,"thumbnail_url":null,"user":{"data":{"id":190335,"url":"https:\/\/viblo.asia\/u\/quochuy247","avatar":"b789db50-333f-4d2d-807b-10acb2832e63.jpg","name":"Huy Qu\u1ed1c","username":"quochuy247","followers_count":6,"reputation":102,"posts_count":64,"banned_at":null,"level_partner":null,"following":false}},"tags":{"data":[{"slug":"ung-dung-ai","name":"\u1ee9ng d\u1ee5ng AI"},{"slug":"ai-automation","name":"AI Automation"},{"slug":"thu-thuat-van-phong","name":"Th\u1ee7 thu\u1eadt v\u0103n ph\u00f2ng"}]},"commentators":{"data":[{"id":190335,"url":"https:\/\/viblo.asia\/u\/quochuy247","avatar":"b789db50-333f-4d2d-807b-10acb2832e63.jpg","name":"Huy Qu\u1ed1c","username":"quochuy247","followers_count":0,"reputation":0,"posts_count":0,"banned_at":null,"level_partner":null}]}},{"id":108264,"title":"Air Canada v\u00e0 chatbot tr\u1ea3 l\u1eddi sai ch\u00ednh s\u00e1ch: AI \u0111\u01b0\u1ee3c ph\u00e9p h\u1ee9a \u0111i\u1ec1u g\u00ec v\u1edbi user?","slug":"G24B8gdYLz3","url":"https:\/\/viblo.asia\/p\/air-canada-va-chatbot-tra-loi-sai-chinh-sach-ai-duoc-phep-hua-dieu-gi-voi-user-G24B8gdYLz3","user_id":216574,"moderation":null,"transliterated":"air-canada-va-chatbot-tra-loi-sai-chinh-sach-ai-duoc-phep-hua-dieu-gi-voi-user","contents_short":"![](https:\/\/substack-post-media.s3.amazonaws.com\/public\/images\/d8d4dd16-ef46-4e0e-a22a-b2230f64765b_1254x1254.png)\n\n\n\nNg\u00e0y 11 th\u00e1ng 11 n\u0103m 2022, Jake Moffatt v\u00e0o website Air Canada \u0111\u1ec3 t\u00ecm v\u00e9 t\u1eeb Vancouver \u0111\u1ebfn Toronto sau khi b\u00e0 c\u1ee7a m\u00ecnh qua \u0111\u1eddi.\n\nMoffatt h\u1ecfi chatbot v\u1ec1 bereavement fare \u2014 m\u1ee9c gi\u00e1 d\u00e0nh cho ng\u01b0\u1eddi ph\u1ea3i di chuy\u1ec3n g\u1ea5p v\u00ec ng\u01b0\u1eddi th\u00e2n s\u1eafp m\u1ea5t ho\u1eb7c v\u1eeba qua \u0111\u1eddi. Chatbot tr\u1ea3 l\u1eddi r\u1eb1ng n\u1ebfu \u0111\u00e3 bay r\u1ed3i, Moffatt v\u1eabn c\u00f3 th\u1ec3 n\u1ed9p \u0111\u01a1n xin \u00e1p d\u1ee5ng m\u1ee9c gi\u00e1 n\u00e0y trong v\u00f2ng 90 ng\u00e0y k\u1ec3 t\u1eeb ng\u00e0y xu\u1ea5t v\u00e9.\n\nTrong c\u00e2u tr\u1ea3 l...","contents":"![](https:\/\/substack-post-media.s3.amazonaws.com\/public\/images\/d8d4dd16-ef46-4e0e-a22a-b2230f64765b_1254x1254.png)\n\nNg\u00e0y 11 th\u00e1ng 11 n\u0103m 2022, Jake Moffatt v\u00e0o website Air Canada \u0111\u1ec3 t\u00ecm v\u00e9 t\u1eeb Vancouver \u0111\u1ebfn Toronto sau khi b\u00e0 c\u1ee7a m\u00ecnh qua \u0111\u1eddi.\n\nMoffatt h\u1ecfi chatbot v\u1ec1 `bereavement fare` \u2014 m\u1ee9c gi\u00e1 d\u00e0nh cho ng\u01b0\u1eddi ph\u1ea3i di chuy\u1ec3n g\u1ea5p v\u00ec ng\u01b0\u1eddi th\u00e2n s\u1eafp m\u1ea5t ho\u1eb7c v\u1eeba qua \u0111\u1eddi. Chatbot tr\u1ea3 l\u1eddi r\u1eb1ng n\u1ebfu \u0111\u00e3 bay r\u1ed3i, Moffatt v\u1eabn c\u00f3 th\u1ec3 n\u1ed9p \u0111\u01a1n xin \u00e1p d\u1ee5ng m\u1ee9c gi\u00e1 n\u00e0y trong v\u00f2ng 90 ng\u00e0y k\u1ec3 t\u1eeb ng\u00e0y xu\u1ea5t v\u00e9.\n\nTrong c\u00e2u tr\u1ea3 l\u1eddi c\u00f2n c\u00f3 m\u1ed9t \u0111\u01b0\u1eddng link d\u1eabn t\u1edbi trang ch\u00ednh s\u00e1ch c\u1ee7a Air Canada.\n\nC\u01a1 m\u00e0 trang \u0111\u00f3 l\u1ea1i vi\u1ebft \u0111i\u1ec1u ng\u01b0\u1ee3c l\u1ea1i: ch\u00ednh s\u00e1ch kh\u00f4ng \u00e1p d\u1ee5ng cho y\u00eau c\u1ea7u \u0111\u01b0\u1ee3c g\u1eedi sau khi chuy\u1ebfn \u0111i \u0111\u00e3 ho\u00e0n t\u1ea5t.\n\nMoffatt tin chatbot, mua v\u00e9 theo gi\u00e1 th\u00f4ng th\u01b0\u1eddng r\u1ed3i g\u1eedi \u0111\u01a1n v\u00e0o ng\u00e0y 17 th\u00e1ng 11. Air Canada t\u1eeb ch\u1ed1i ho\u00e0n ph\u1ea7n ch\u00eanh l\u1ec7ch v\u00ec Moffatt kh\u00f4ng l\u00e0m \u0111\u00fang ch\u00ednh s\u00e1ch tr\u00ean website.\n\nNgu\u1ed3n: [Moffatt v. Air Canada, 2024 BCCRT 149](https:\/\/decisions.civilresolutionbc.ca\/crt\/crtd\/en\/item\/525448\/index.do)\n\n## Chatbot tr\u1ea3 l\u1eddi, user b\u1ecf ti\u1ec1n th\u1eadt\nSau nhi\u1ec1u th\u00e1ng kh\u00f4ng gi\u1ea3i quy\u1ebft \u0111\u01b0\u1ee3c v\u1edbi Air Canada, Moffatt \u0111\u01b0a v\u1ee5 vi\u1ec7c t\u1edbi Civil Resolution Tribunal c\u1ee7a British Columbia. V\u1ee5 n\u00e0y \u0111\u01b0\u1ee3c x\u1eed l\u00fd theo quy tr\u00ecnh `small claims`;\n\nTheo ph\u00e1n quy\u1ebft, Air Canada cho r\u1eb1ng h\u00e3ng kh\u00f4ng th\u1ec3 b\u1ecb bu\u1ed9c ch\u1ecbu tr\u00e1ch nhi\u1ec7m v\u1ec1 th\u00f4ng tin do chatbot cung c\u1ea5p. Th\u00e0nh vi\u00ean tribunal Christopher Rivers nh\u1eadn x\u00e9t r\u1eb1ng l\u1eadp lu\u1eadn \u1ea5y ch\u1eb3ng kh\u00e1c n\u00e0o coi chatbot l\u00e0 m\u1ed9t ph\u00e1p nh\u00e2n ri\u00eang v\u00e0 g\u1ecdi \u0111\u00e2y l\u00e0 m\u1ed9t l\u1eadp lu\u1eadn \u201cremarkable\u201d.\n\nTribunal kh\u00f4ng ch\u1ea5p nh\u1eadn vi\u1ec7c \u0111\u1ea9y tr\u00e1ch nhi\u1ec7m sang chatbot. Chatbot l\u00e0 m\u1ed9t ph\u1ea7n tr\u00ean website Air Canada, n\u00ean Air Canada ch\u1ecbu tr\u00e1ch nhi\u1ec7m v\u1ec1 th\u00f4ng tin n\u00f3 \u0111\u01b0a ra c\u0169ng nh\u01b0 th\u00f4ng tin tr\u00ean m\u1ed9t trang web t\u0129nh.\n\nL\u1eadp lu\u1eadn \u201cuser c\u00f3 th\u1ec3 b\u1ea5m v\u00e0o link \u0111\u1ec3 \u0111\u1ecdc ch\u00ednh s\u00e1ch \u0111\u00fang\u201d c\u0169ng kh\u00f4ng c\u1ee9u \u0111\u01b0\u1ee3c h\u00e3ng. Air Canada kh\u00f4ng gi\u1ea3i th\u00edch \u0111\u01b0\u1ee3c v\u00ec sao user ph\u1ea3i bi\u1ebft trang policy \u0111\u00e1ng tin h\u01a1n chatbot, ho\u1eb7c v\u00ec sao user c\u00f3 tr\u00e1ch nhi\u1ec7m ki\u1ec3m tra ch\u00e9o hai ph\u1ea7n tr\u00ean c\u00f9ng m\u1ed9t website.\n\nK\u1ebft qu\u1ea3, tribunal x\u00e1c \u0111\u1ecbnh Air Canada \u0111\u00e3 cung c\u1ea5p th\u00f4ng tin sai m\u1ed9t c\u00e1ch b\u1ea5t c\u1ea9n v\u00e0 y\u00eau c\u1ea7u h\u00e3ng tr\u1ea3 t\u1ed5ng c\u1ed9ng **812,02 CAD**: 650,88 CAD ti\u1ec1n b\u1ed3i th\u01b0\u1eddng, 36,14 CAD ti\u1ec1n l\u00e3i tr\u01b0\u1edbc ph\u00e1n quy\u1ebft v\u00e0 125 CAD ph\u00ed tribunal.\n\nNgu\u1ed3n: [Civil Resolution Tribunal](https:\/\/decisions.civilresolutionbc.ca\/crt\/crtd\/en\/item\/525448\/index.do) v\u00e0 [ph\u00e2n t\u00edch c\u1ee7a McCarthy T\u00e9trault](https:\/\/www.mccarthy.ca\/en\/insights\/blogs\/techlex\/moffatt-v-air-canada-misrepresentation-ai-chatbot)\n\n812,02 CAD kh\u00f4ng ph\u1ea3i m\u1ed9t thi\u1ec7t h\u1ea1i l\u1edbn v\u1edbi m\u1ed9t h\u00e3ng h\u00e0ng kh\u00f4ng. Nh\u01b0ng c\u00e2u tr\u1ea3 l\u1eddi c\u1ee7a chatbot \u0111\u00e3 \u1ea3nh h\u01b0\u1edfng tr\u1ef1c ti\u1ebfp t\u1edbi vi\u1ec7c Moffatt c\u00f3 mua chuy\u1ebfn bay g\u1ea5p \u1ea5y hay kh\u00f4ng. Moffatt cho bi\u1ebft m\u00ecnh s\u1ebd kh\u00f4ng bay n\u1ebfu bi\u1ebft ph\u1ea3i tr\u1ea3 to\u00e0n b\u1ed9 gi\u00e1 v\u00e9, v\u00e0 tribunal ch\u1ea5p nh\u1eadn l\u1eddi tr\u00ecnh b\u00e0y n\u00e0y d\u1ef1a tr\u00ean vi\u1ec7c Moffatt \u0111\u00e3 t\u00ecm hi\u1ec3u m\u1ee9c gi\u00e1 r\u1ed3i l\u00e0m theo h\u01b0\u1edbng d\u1eabn.\n\nT\u1eeb g\u00f3c nh\u00ecn product, \u0111\u00e2y l\u00e0 ranh gi\u1edbi \u0111\u00e1ng \u0111\u1ec3 quan s\u00e1t k\u1ef9. M\u1ed9t c\u00e2u tr\u1ea3 l\u1eddi v\u1ec1 gi\u1edd m\u1edf c\u1eeda c\u00f3 th\u1ec3 gi\u00fap user t\u00ecm th\u00f4ng tin. M\u1ed9t c\u00e2u tr\u1ea3 l\u1eddi r\u1eb1ng user \u0111\u1ee7 \u0111i\u1ec1u ki\u1ec7n nh\u1eadn \u01b0u \u0111\u00e3i, c\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c ho\u00e0n ti\u1ec1n ho\u1eb7c kh\u00f4ng ph\u1ea3i tr\u1ea3 m\u1ed9t kho\u1ea3n ph\u00ed c\u00f3 th\u1ec3 khi\u1ebfn user b\u1ea5m `Thanh to\u00e1n`.\n\nChatbot l\u00fac \u1ea5y kh\u00f4ng ch\u1ec9 t\u00ecm h\u1ed9 m\u1ed9t \u0111o\u1ea1n content. N\u00f3 \u0111ang thay m\u1eb7t doanh nghi\u1ec7p n\u00f3i user \u0111\u01b0\u1ee3c h\u01b0\u1edfng quy\u1ec1n l\u1ee3i g\u00ec.\n\n## Ch\u01b0a \u0111\u1ee7 d\u1eef li\u1ec7u \u0111\u1ec3 g\u1ecdi \u0111\u00e2y l\u00e0 hallucination\nCase n\u00e0y th\u01b0\u1eddng \u0111\u01b0\u1ee3c k\u1ec3 l\u1ea1i nh\u01b0 m\u1ed9t v\u00ed d\u1ee5 AI hallucination. C\u00e1ch g\u1ecdi \u0111\u00f3 d\u1ec5 hi\u1ec3u, nh\u01b0ng h\u1ed3 s\u01a1 c\u00f4ng khai kh\u00f4ng cho bi\u1ebft chatbot c\u1ee7a Air Canada ho\u1ea1t \u0111\u1ed9ng th\u1ebf n\u00e0o. Ch\u00ednh ph\u00e1n quy\u1ebft c\u0169ng ghi nh\u1eadn Air Canada kh\u00f4ng cung c\u1ea5p th\u00f4ng tin v\u1ec1 b\u1ea3n ch\u1ea5t c\u1ee7a chatbot.\n\nN\u00f3 c\u00f3 th\u1ec3 \u0111\u00e3 sinh m\u1ed9t c\u00e2u tr\u1ea3 l\u1eddi m\u1edbi. N\u00f3 c\u0169ng c\u00f3 th\u1ec3 d\u00f9ng content c\u0169, m\u1ed9t rule sai ho\u1eb7c m\u1ed9t kho c\u00e2u tr\u1ea3 l\u1eddi kh\u00f4ng \u0111\u01b0\u1ee3c c\u1eadp nh\u1eadt khi policy thay \u0111\u1ed5i. M\u00ecnh kh\u00f4ng c\u00f3 d\u1eef li\u1ec7u \u0111\u1ec3 ch\u1ed1t nguy\u00ean nh\u00e2n k\u1ef9 thu\u1eadt.\n\nN\u1ebfu team v\u1ed9i k\u1ebft lu\u1eadn \u0111\u00e2y l\u00e0 l\u1ed7i model, gi\u1ea3i ph\u00e1p r\u1ea5t d\u1ec5 d\u1eebng \u1edf vi\u1ec7c s\u1eeda prompt, \u0111\u1ed5i model ho\u1eb7c t\u0103ng confidence threshold. Trong khi \u0111i\u1ec1u nh\u00ecn th\u1ea5y r\u00f5 t\u1eeb b\u00ean ngo\u00e0i l\u00e0 chatbot n\u00f3i user c\u00f3 th\u1ec3 n\u1ed9p \u0111\u01a1n sau chuy\u1ebfn \u0111i, c\u00f2n trang policy n\u00f3i kh\u00f4ng. Th\u1eadm ch\u00ed chatbot c\u00f2n g\u1eafn link t\u1edbi ch\u00ednh trang \u0111ang m\u00e2u thu\u1eabn v\u1edbi c\u00e2u tr\u1ea3 l\u1eddi c\u1ee7a n\u00f3.\n\nM\u1ed9t chatbot rule-based v\u1eabn c\u00f3 th\u1ec3 g\u00e2y ra l\u1ed7i n\u00e0y. M\u1ed9t h\u1ec7 th\u1ed1ng RAG l\u1ea5y \u0111\u01b0\u1ee3c t\u00e0i li\u1ec7u nh\u01b0ng l\u1ea5y nh\u1ea7m phi\u00ean b\u1ea3n c\u0169ng c\u00f3 th\u1ec3 g\u00e2y ra l\u1ed7i n\u00e0y. Model tr\u1ea3 l\u1eddi r\u1ea5t t\u1ef1 tin hay h\u01a1i d\u00e8 d\u1eb7t c\u0169ng kh\u00f4ng thay \u0111\u1ed5i vi\u1ec7c user \u0111\u00e3 \u0111\u01b0\u1ee3c h\u01b0\u1edbng d\u1eabn l\u00e0m m\u1ed9t vi\u1ec7c m\u00e0 doanh nghi\u1ec7p sau \u0111\u00f3 t\u1eeb ch\u1ed1i c\u00f4ng nh\u1eadn.\n\nV\u00ec v\u1eady, tr\u01b0\u1edbc khi ch\u1ecdn model, team c\u1ea7n x\u00e1c \u0111\u1ecbnh m\u1ed9t vi\u1ec7c c\u01a1 b\u1ea3n h\u01a1n:\n\n**Trong h\u1ec7 th\u1ed1ng, \u0111\u00e2u l\u00e0 ngu\u1ed3n duy nh\u1ea5t c\u00f3 quy\u1ec1n x\u00e1c \u0111\u1ecbnh ch\u00ednh s\u00e1ch ho\u00e0n ti\u1ec1n?**\n\nN\u1ebfu trang policy \u0111\u01b0\u1ee3c s\u1eeda v\u00e0o th\u1ee9 Hai nh\u01b0ng knowledge base c\u1ee7a chatbot ch\u1ec9 \u0111\u01b0\u1ee3c c\u1eadp nh\u1eadt v\u00e0o cu\u1ed1i th\u00e1ng, s\u1ea3n ph\u1ea9m \u0111\u00e3 ch\u1ea5p nh\u1eadn m\u1ed9t kho\u1ea3ng th\u1eddi gian c\u00f3 hai c\u00e2u tr\u1ea3 l\u1eddi. N\u1ebfu content \u0111\u01b0\u1ee3c copy v\u00e0o prompt, FAQ, script c\u1ee7a support v\u00e0 chatbot, m\u1ed7i b\u1ea3n copy l\u1ea1i l\u00e0 m\u1ed9t ch\u1ed7 c\u00f3 th\u1ec3 c\u0169 \u0111i.\n\nV\u1edbi nh\u1eefng policy \u1ea3nh h\u01b0\u1edfng tr\u1ef1c ti\u1ebfp t\u1edbi gi\u00e1, ho\u00e0n ti\u1ec1n hay \u0111i\u1ec1u ki\u1ec7n s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5, m\u00ecnh s\u1ebd kh\u00f4ng \u0111\u1ec3 model t\u1ef1 vi\u1ebft l\u1ea1i rule t\u1eeb m\u1ed9t m\u1edb t\u00e0i li\u1ec7u r\u1ed3i hy v\u1ecdng c\u00e2u tr\u1ea3 l\u1eddi v\u1eabn t\u01b0\u01a1ng \u0111\u01b0\u01a1ng. Chatbot c\u00f3 th\u1ec3 gi\u1ea3i th\u00edch cho d\u1ec5 hi\u1ec3u, nh\u01b0ng k\u1ebft lu\u1eadn `\u0111\u1ee7 \u0111i\u1ec1u ki\u1ec7n` hay `kh\u00f4ng \u0111\u1ee7 \u0111i\u1ec1u ki\u1ec7n` n\u00ean \u0111\u1ebfn t\u1eeb m\u1ed9t ngu\u1ed3n \u0111\u00e3 \u0111\u01b0\u1ee3c doanh nghi\u1ec7p c\u00f4ng nh\u1eadn \u2014 ch\u1eb3ng h\u1ea1n m\u1ed9t rule service ho\u1eb7c m\u1ed9t policy record c\u00f3 version r\u00f5 r\u00e0ng.\n\nD\u00f9ng m\u1ed9t policy record c\u00f3 version r\u00f5 r\u00e0ng kh\u00f4ng t\u1ea1o ra m\u00e0n demo h\u1ea5p d\u1eabn b\u1eb1ng chatbot n\u00f3i chuy\u1ec7n t\u1ef1 nhi\u00ean. N\u00f3 gi\u00fap c\u00e2u tr\u1ea3 l\u1eddi c\u1ee7a chatbot v\u00e0 trang policy c\u00f9ng d\u1ef1a tr\u00ean m\u1ed9t rule.\n\n## Chia c\u00e2u h\u1ecfi theo h\u1eadu qu\u1ea3 n\u1ebfu chatbot tr\u1ea3 l\u1eddi sai\nM\u1ed9t c\u00e1ch scope chatbot kh\u00e1 ph\u1ed5 bi\u1ebfn l\u00e0 li\u1ec7t k\u00ea ch\u1ee7 \u0111\u1ec1: h\u00e0nh l\u00fd, \u0111\u1ed5i v\u00e9, check-in, ho\u00e0n ti\u1ec1n, loyalty. C\u00e1ch chia n\u00e0y ti\u1ec7n cho backlog, nh\u01b0ng ch\u01b0a n\u00f3i \u0111\u01b0\u1ee3c c\u00e2u n\u00e0o chatbot c\u00f3 th\u1ec3 t\u1ef1 tr\u1ea3 l\u1eddi v\u00e0 g\u1eb7p c\u00e2u n\u00e0o th\u00ec chatbot ph\u1ea3i d\u1eebng \u0111\u1ec3 chuy\u1ec3n sang k\u00eanh kh\u00e1c.\n\nTrong c\u00f9ng ch\u1ee7 \u0111\u1ec1 ho\u00e0n ti\u1ec1n, hai c\u00e2u h\u1ecfi c\u00f3 h\u1eadu qu\u1ea3 r\u1ea5t kh\u00e1c nhau:\n\n- \u201cT\u00f4i t\u00ecm form y\u00eau c\u1ea7u ho\u00e0n ti\u1ec1n \u1edf \u0111\u00e2u?\u201d\n- \u201cV\u00e9 c\u1ee7a t\u00f4i ch\u1eafc ch\u1eafn \u0111\u01b0\u1ee3c ho\u00e0n bao nhi\u00eau ti\u1ec1n?\u201d\n\nC\u00e2u \u0111\u1ea7u c\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c tr\u1ea3 l\u1eddi b\u1eb1ng m\u1ed9t link \u0111\u00e3 ki\u1ec3m tra. C\u00e2u sau c\u1ea7n bi\u1ebft lo\u1ea1i v\u00e9, th\u1eddi \u0111i\u1ec3m mua, h\u00e0nh tr\u00ecnh, tr\u1ea1ng th\u00e1i chuy\u1ebfn bay v\u00e0 policy \u0111ang c\u00f3 hi\u1ec7u l\u1ef1c. N\u1ebfu thi\u1ebfu m\u1ed9t tr\u01b0\u1eddng m\u00e0 chatbot v\u1eabn k\u1ebft lu\u1eadn ch\u1eafc ch\u1eafn, c\u00e2u tr\u1ea3 l\u1eddi nghe tr\u00f4i ch\u1ea3y ch\u1ec9 l\u00e0m l\u1ed7i kh\u00f3 nh\u1eadn ra h\u01a1n.\n\nM\u00ecnh s\u1ebd chia quy\u1ec1n tr\u1ea3 l\u1eddi theo h\u1eadu qu\u1ea3 c\u1ee7a c\u00e2u tr\u1ea3 l\u1eddi, kh\u00f4ng ch\u1ec9 theo topic.\n\nChatbot c\u00f3 th\u1ec3 t\u1ef1 x\u1eed l\u00fd nh\u1eefng c\u00e2u h\u1ecfi ch\u1ec9 y\u00eau c\u1ea7u t\u00ecm m\u1ed9t th\u00f4ng tin c\u00f3 ngu\u1ed3n r\u00f5 r\u00e0ng v\u00e0 \u00edt \u1ea3nh h\u01b0\u1edfng t\u1edbi quy\u1ebft \u0111\u1ecbnh kh\u00f3 \u0111\u1ea3o ng\u01b0\u1ee3c c\u1ee7a user. V\u1edbi c\u00e2u h\u1ecfi v\u1ec1 gi\u00e1, quy\u1ec1n l\u1ee3i, ho\u00e0n ti\u1ec1n ho\u1eb7c \u0111i\u1ec1u ki\u1ec7n h\u1ee3p \u0111\u1ed3ng, n\u00f3 ch\u1ec9 n\u00ean k\u1ebft lu\u1eadn khi h\u1ec7 th\u1ed1ng \u0111\u00e3 l\u1ea5y \u0111\u1ee7 d\u1eef li\u1ec7u v\u00e0 rule tr\u1ea3 v\u1ec1 m\u1ed9t k\u1ebft qu\u1ea3 x\u00e1c \u0111\u1ecbnh. N\u1ebfu policy c\u00f2n m\u01a1 h\u1ed3, ngu\u1ed3n \u0111ang m\u00e2u thu\u1eabn ho\u1eb7c thi\u1ebfu d\u1eef li\u1ec7u c\u1ee7a user, flow c\u1ea7n chuy\u1ec3n sang ng\u01b0\u1eddi c\u00f3 th\u1ea9m quy\u1ec1n x\u1eed l\u00fd.\n\n\u0110\u00f3 kh\u00f4ng nh\u1ea5t thi\u1ebft ph\u1ea3i l\u00e0 m\u1ed9t button `G\u1eb7p nh\u00e2n vi\u00ean` xu\u1ea5t hi\u1ec7n sau khi user \u0111\u00e3 c\u00e3i v\u1edbi chatbot m\u01b0\u1eddi ph\u00fat. Fallback c\u00f3 th\u1ec3 x\u1ea3y ra ngay t\u1ea1i l\u00fac h\u1ec7 th\u1ed1ng nh\u1eadn ra n\u00f3 kh\u00f4ng c\u00f3 quy\u1ec1n \u0111\u01b0a ra l\u1eddi h\u1ee9a.\n\nV\u00ed d\u1ee5, thay v\u00ec t\u1ef1 k\u1ebft lu\u1eadn user s\u1ebd \u0111\u01b0\u1ee3c ho\u00e0n ti\u1ec1n, chatbot c\u00f3 th\u1ec3 n\u00f3i r\u1eb1ng d\u1eef li\u1ec7u hi\u1ec7n c\u00f3 ch\u01b0a \u0111\u1ee7 \u0111\u1ec3 x\u00e1c \u0111\u1ecbnh quy\u1ec1n l\u1ee3i, \u0111\u01b0a \u0111\u00fang trang policy r\u1ed3i gi\u1eef nguy\u00ean context khi chuy\u1ec3n sang support. User c\u00f3 th\u1ec3 ph\u1ea3i ch\u1edd l\u00e2u h\u01a1n m\u1ed9t ch\u00fat. \u0110\u1ed5i l\u1ea1i, h\u1ecd ch\u01b0a b\u1ecf ti\u1ec1n d\u1ef1a tr\u00ean m\u1ed9t quy\u1ec1n l\u1ee3i kh\u00f4ng t\u1ed3n t\u1ea1i.\n\n## Evals ph\u1ea3i ch\u1ea1y l\u1ea1i khi policy thay \u0111\u1ed5i\nGi\u1ea3 s\u1eed team \u0111\u00e3 s\u1eeda c\u00e2u tr\u1ea3 l\u1eddi c\u1ee5 th\u1ec3 v\u1ec1 bereavement fare. B\u00e0i to\u00e1n v\u1eabn ch\u01b0a xong.\n\nPolicy s\u1ebd ti\u1ebfp t\u1ee5c \u0111\u1ed5i. User c\u0169ng kh\u00f4ng h\u1ecfi \u0111\u00fang c\u00e2u \u0111\u00e3 c\u00f3 trong test case. H\u1ecd c\u00f3 th\u1ec3 h\u1ecfi \u201cT\u00f4i bay ng\u00e0y mai r\u1ed3i n\u1ed9p gi\u1ea5y t\u1edd sau \u0111\u01b0\u1ee3c kh\u00f4ng?\u201d, \u201cT\u00f4i \u0111\u00e3 mua v\u00e9 s\u00e1ng nay th\u00ec sao?\u201d ho\u1eb7c \u201cC\u1ee9 \u0111\u1eb7t tr\u01b0\u1edbc, sau \u0111\u00f3 h\u00e3ng tr\u1ea3 l\u1ea1i ph\u1ea7n ch\u00eanh l\u1ec7ch \u0111\u00fang kh\u00f4ng?\u201d. Ba c\u00e1ch h\u1ecfi kh\u00e1c nhau c\u00f3 th\u1ec3 \u0111ang ki\u1ec3m tra c\u00f9ng m\u1ed9t rule.\n\nM\u1ed9t b\u1ed9 eval cho flow n\u00e0y c\u1ea7n l\u1ea5y c\u00e1c rule quan tr\u1ecdng l\u00e0m \u0111i\u1ec3m xu\u1ea5t ph\u00e1t, sau \u0111\u00f3 t\u1ea1o nhi\u1ec1u c\u00e1ch h\u1ecfi v\u00e0 nhi\u1ec1u b\u1ed9 d\u1eef li\u1ec7u n\u1eb1m s\u00e1t \u0111i\u1ec1u ki\u1ec7n \u0111\u01b0\u1ee3c ch\u1ea5p nh\u1eadn ho\u1eb7c b\u1ecb t\u1eeb ch\u1ed1i. K\u1ebft qu\u1ea3 kh\u00f4ng ch\u1ec9 ch\u1ea5m xem c\u00e2u tr\u1ea3 l\u1eddi c\u00f3 nh\u1eafc \u0111\u00fang keyword hay kh\u00f4ng. Team c\u1ea7n ki\u1ec3m tra chatbot c\u00f3:\n\n- k\u1ebft lu\u1eadn \u0111\u00fang theo phi\u00ean b\u1ea3n policy hi\u1ec7n h\u00e0nh;\n- h\u1ecfi th\u00eam khi thi\u1ebfu d\u1eef li\u1ec7u \u0111\u1ec3 x\u00e1c \u0111\u1ecbnh quy\u1ec1n l\u1ee3i;\n- kh\u00f4ng t\u1ef1 b\u1ecba ra deadline, s\u1ed1 ti\u1ec1n ho\u1eb7c ngo\u1ea1i l\u1ec7;\n- d\u1eabn t\u1edbi \u0111\u00fang ngu\u1ed3n v\u00e0 kh\u00f4ng m\u00e2u thu\u1eabn v\u1edbi ngu\u1ed3n \u0111\u00f3;\n- chuy\u1ec3n sang support khi h\u1ec7 th\u1ed1ng kh\u00f4ng th\u1ec3 \u0111\u01b0a ra k\u1ebft lu\u1eadn ch\u1eafc ch\u1eafn.\n\nM\u1ed7i l\u1ea7n policy \u0111\u1ed5i, c\u00e1c eval li\u00ean quan ph\u1ea3i ch\u1ea1y l\u1ea1i tr\u01b0\u1edbc khi b\u1ea3n m\u1edbi \u0111\u01b0\u1ee3c d\u00f9ng. N\u1ebfu m\u1ed9t policy record c\u00f3 version, log c\u1ee7a chatbot c\u0169ng n\u00ean l\u01b0u \u0111\u01b0\u1ee3c c\u00e2u tr\u1ea3 l\u1eddi \u0111\u00e3 d\u1ef1a tr\u00ean version n\u00e0o. \u0110\u1ebfn l\u00fac c\u00f3 complaint, team m\u1edbi l\u1ea7n l\u1ea1i \u0111\u01b0\u1ee3c h\u00f4m \u0111\u00f3 h\u1ec7 th\u1ed1ng bi\u1ebft g\u00ec thay v\u00ec m\u1edf website hi\u1ec7n t\u1ea1i r\u1ed3i b\u1ea3o \u201cb\u00e2y gi\u1edd c\u00f3 th\u1ea5y sai \u0111\u00e2u\u201d.\n\nMetric c\u0169ng c\u1ea7n \u0111i xa h\u01a1n s\u1ed1 ticket \u0111\u00e3 deflect. Chatbot c\u00f3 th\u1ec3 gi\u1ea3m contact rate r\u1ea5t \u0111\u1eb9p b\u1eb1ng c\u00e1ch t\u1ef1 tin tr\u1ea3 l\u1eddi m\u1ecdi th\u1ee9. Y\u00eau c\u1ea7u c\u1ee7a Moffatt kh\u00f4ng bi\u1ebfn m\u1ea5t sau phi\u00ean chat; Moffatt ph\u1ea3i trao \u0111\u1ed5i v\u1edbi Air Canada trong nhi\u1ec1u th\u00e1ng r\u1ed3i \u0111\u01b0a v\u1ee5 vi\u1ec7c t\u1edbi tribunal.\n\nV\u1edbi nh\u00f3m c\u00e2u h\u1ecfi c\u00f3 h\u1eadu qu\u1ea3 t\u00e0i ch\u00ednh, team n\u00ean \u0111\u1ecdc l\u1ea1i sample h\u1ed9i tho\u1ea1i, theo d\u00f5i s\u1ed1 l\u1ea7n c\u00e2u tr\u1ea3 l\u1eddi b\u1ecb human agent s\u1eeda, s\u1ed1 complaint ph\u00e1t sinh sau phi\u00ean chat v\u00e0 nh\u1eefng policy n\u00e0o th\u01b0\u1eddng khi\u1ebfn chatbot ph\u1ea3i fallback. \u0110\u00e2y l\u00e0 ph\u1ea7n v\u1eadn h\u00e0nh k\u00e9o d\u00e0i sau release, kh\u00f4ng ph\u1ea3i m\u1ed9t v\u00f2ng UAT l\u00e0m xong r\u1ed3i c\u1ea5t chatbot v\u00e0o g\u00f3c.\n\n## Doanh nghi\u1ec7p v\u1eabn ch\u1ecbu tr\u00e1ch nhi\u1ec7m cho c\u00e2u tr\u1ea3 l\u1eddi c\u1ee7a chatbot\nAir Canada n\u00f3i s\u1ebd c\u1eadp nh\u1eadt chatbot sau khi Moffatt ph\u1ea3n \u00e1nh. Nh\u01b0ng \u0111\u1ebfn l\u00fac tribunal ra ph\u00e1n quy\u1ebft v\u00e0o th\u00e1ng 2 n\u0103m 2024, c\u00e2u h\u1ecfi kh\u00f4ng c\u00f2n l\u00e0 ai s\u1ebd s\u1eeda m\u1ed9t \u0111o\u1ea1n text. C\u00e2u h\u1ecfi l\u00e0 doanh nghi\u1ec7p c\u00f3 ch\u1ecbu tr\u00e1ch nhi\u1ec7m cho k\u00eanh m\u00e0 ch\u00ednh m\u00ecnh \u0111\u1eb7t tr\u01b0\u1edbc m\u1eb7t user hay kh\u00f4ng.\n\nTribunal \u0111\u00e3 tr\u1ea3 l\u1eddi r\u1ea5t g\u1ecdn: c\u00f3.\n\nTeam l\u00e0m chatbot v\u00ec th\u1ebf c\u1ea7n m\u1ed9t owner cho \u0111\u1ed9 ch\u00ednh x\u00e1c c\u1ee7a t\u1eebng nh\u00f3m policy, m\u1ed9t ngu\u1ed3n c\u00f3 th\u1ea9m quy\u1ec1n \u0111\u1ec3 chatbot d\u1ef1a v\u00e0o v\u00e0 m\u1ed9t quy tr\u00ecnh bu\u1ed9c eval ch\u1ea1y l\u1ea1i khi ngu\u1ed3n \u0111\u00f3 thay \u0111\u1ed5i. Model provider c\u00f3 th\u1ec3 ch\u1ecbu tr\u00e1ch nhi\u1ec7m v\u1ec1 h\u1ea1 t\u1ea7ng hay ch\u1ea5t l\u01b0\u1ee3ng theo h\u1ee3p \u0111\u1ed3ng v\u1edbi doanh nghi\u1ec7p. C\u00f2n v\u1edbi user, c\u00e2u tr\u1ea3 l\u1eddi v\u1eabn xu\u1ea5t hi\u1ec7n d\u01b0\u1edbi t\u00ean s\u1ea3n ph\u1ea9m c\u1ee7a m\u00ecnh.\n\nTr\u01b0\u1edbc khi cho AI tr\u1ea3 l\u1eddi m\u1ed9t c\u00e2u h\u1ecfi v\u1ec1 gi\u00e1, quy\u1ec1n l\u1ee3i ho\u1eb7c ho\u00e0n ti\u1ec1n, m\u00ecnh s\u1ebd th\u1eed \u0111\u1ed5i chatbot th\u00e0nh m\u1ed9t nh\u00e2n vi\u00ean \u0111ang vi\u1ebft email cho kh\u00e1ch h\u00e0ng. N\u1ebfu doanh nghi\u1ec7p ph\u1ea3i th\u1ef1c hi\u1ec7n \u0111i\u1ec1u ng\u01b0\u1eddi nh\u00e2n vi\u00ean \u1ea5y v\u1eeba x\u00e1c nh\u1eadn, chatbot c\u0169ng kh\u00f4ng n\u00ean \u0111\u01b0\u1ee3c ph\u00e9p n\u00f3i c\u00e2u \u0111\u00f3 khi ch\u01b0a c\u00f3 d\u1eef li\u1ec7u v\u00e0 rule \u0111\u1ec3 ch\u1ed1ng l\u01b0ng.\n\nTrong case Air Canada, m\u1ed9t \u0111\u01b0\u1eddng link \u0111\u00fang n\u1eb1m ngay b\u00ean d\u01b0\u1edbi c\u00e2u tr\u1ea3 l\u1eddi sai v\u1eabn kh\u00f4ng \u0111\u1ee7. User kh\u00f4ng c\u00f3 nhi\u1ec7m v\u1ee5 l\u00e0m QA cho website tr\u01b0\u1edbc khi mua v\u00e9.\n\n---\n\n*B\u00e0i g\u1ed1c tr\u00ean Substack: https:\/\/henrypham.substack.com\/p\/air-canada-va-chatbot-tra-loi-sai*","published_at":"2026-10-05T06:01:58.000000Z","scheduled_publish_at":null,"is_published":true,"is_shared":false,"updated_at":"2026-10-05T11:00:14.000000Z","edited_at":"2026-10-05T06:01:57.000000Z","translation_source":null,"trend_at":null,"promoted_at":null,"reading_time":14,"points":0,"views_count":21,"clips_count":0,"comments_count":0,"rated_value":null,"promoted":false,"trending":false,"is_draft":false,"is_public":true,"locale_code":"vi","is_video":false,"thumbnail_url":null,"user":{"data":{"id":216574,"url":"https:\/\/viblo.asia\/u\/Henry_lam_product","avatar":"c504ee41-ba9c-444b-807b-11d28845d4c5.jpg","name":"Henry Ph\u1ea1m","username":"Henry_lam_product","followers_count":0,"reputation":8,"posts_count":11,"banned_at":null,"level_partner":null,"following":false}},"tags":{"data":[{"slug":"leadership","name":"leadership"},{"slug":"management","name":"management"}]},"commentators":{"data":[]}},{"id":108263,"title":"Link V\u00e0o LC88 M\u1edbi Nh\u1ea5t 2026 \u0110\u0103ng K\u00fd +888K","slug":"RlL5ePo2LbB","url":"https:\/\/viblo.asia\/p\/link-vao-lc88-moi-nhat-2026-dang-ky-888k-RlL5ePo2LbB","user_id":219137,"moderation":"discarded","transliterated":"link-vao-lc88-moi-nhat-2026-dang-ky-888k","contents_short":"LC88 l\u00e0 n\u1ec1n t\u1ea3ng gi\u1ea3i tr\u00ed tr\u1ef1c tuy\u1ebfn s\u1edf h\u1eefu h\u1ec7 th\u1ed1ng s\u1ea3n ph\u1ea9m \u0111a d\u1ea1ng, \u0111\u00e1p \u1ee9ng nhi\u1ec1u nhu c\u1ea7u tr\u1ea3i nghi\u1ec7m c\u1ee7a ng\u01b0\u1eddi d\u00f9ng. T\u1ea1i \u0111\u00e2y, th\u00e0nh vi\u00ean c\u00f3 th\u1ec3 kh\u00e1m ph\u00e1 c\u00e1c chuy\u00ean m\u1ee5c nh\u01b0 b\u00f3ng \u0111\u00e1, t\u00e0i x\u1ec9u, l\u00f4 \u0111\u1ec1, x\u1ed5 s\u1ed1 v\u00e0 nhi\u1ec1u t\u1ef1a game Esports h\u1ea5p d\u1eabn\n- Website: https:\/\/lc88k.net\n- Address: 6 P. V\u0169 Th\u1ea1nh, Ch\u1ee3 D\u1eeba, \u0110\u1ed1ng \u0110a, H\u00e0 N\u1ed9i, Vi\u1ec7t Nam\n- Phone: 0365 784 965\n- Email: admin@lc88k.net\n- Tags: #lc88 #lc88...","contents":"LC88 l\u00e0 n\u1ec1n t\u1ea3ng gi\u1ea3i tr\u00ed tr\u1ef1c tuy\u1ebfn s\u1edf h\u1eefu h\u1ec7 th\u1ed1ng s\u1ea3n ph\u1ea9m \u0111a d\u1ea1ng, \u0111\u00e1p \u1ee9ng nhi\u1ec1u nhu c\u1ea7u tr\u1ea3i nghi\u1ec7m c\u1ee7a ng\u01b0\u1eddi d\u00f9ng. T\u1ea1i \u0111\u00e2y, th\u00e0nh vi\u00ean c\u00f3 th\u1ec3 kh\u00e1m ph\u00e1 c\u00e1c chuy\u00ean m\u1ee5c nh\u01b0 b\u00f3ng \u0111\u00e1, t\u00e0i x\u1ec9u, l\u00f4 \u0111\u1ec1, x\u1ed5 s\u1ed1 v\u00e0 nhi\u1ec1u t\u1ef1a game Esports h\u1ea5p d\u1eabn\n- Website: https:\/\/lc88k.net \n- Address: 6 P. V\u0169 Th\u1ea1nh, Ch\u1ee3 D\u1eeba, \u0110\u1ed1ng \u0110a, H\u00e0 N\u1ed9i, Vi\u1ec7t Nam\n- Phone: 0365 784 965\n- Email: admin@lc88k.net\n- Tags: #lc88 #lc88knet #lc88casino #linklc88 #trangchulc88 #nhacailc88 #lc88com #linkvao_lc88 #dangky_lc88 #app_lc88 #lc88_bet #lc88_com","published_at":"2026-10-05T05:15:17.000000Z","scheduled_publish_at":null,"is_published":true,"is_shared":false,"updated_at":"2026-10-05T05:15:19.000000Z","edited_at":"2026-10-05T05:14:56.000000Z","translation_source":null,"trend_at":null,"promoted_at":null,"reading_time":0,"points":0,"views_count":0,"clips_count":0,"comments_count":0,"rated_value":null,"promoted":false,"trending":false,"is_draft":false,"is_public":true,"locale_code":"vi","is_video":false,"thumbnail_url":null,"user":{"data":{"id":219137,"url":"https:\/\/viblo.asia\/u\/lc88knet","avatar":"a5c44255-be32-4e42-862e-d6034bb538ed.png","name":"Lizette Valdez","username":"lc88knet","followers_count":0,"reputation":0,"posts_count":0,"banned_at":"2026-10-05T05:15:19.000000Z","level_partner":null,"following":false}},"tags":{"data":[{"slug":"lc88","name":"LC88"},{"slug":"nha-cai","name":"Nh\u00e0 C\u00e1i"}]},"commentators":{"data":[]}},{"id":105013,"title":"Go Zero to Hero - B\u00e0i 35: Con tr\u1ecf v\u00e0 Struct - K\u1ebft h\u1ee3p \u0111\u1ec3 t\u1ed1i \u01b0u b\u1ed9 nh\u1edb","slug":"18J2eYYa4YK","url":"https:\/\/viblo.asia\/p\/go-zero-to-hero-bai-35-con-tro-va-struct-ket-hop-de-toi-uu-bo-nho-18J2eYYa4YK","user_id":182653,"moderation":null,"transliterated":"go-zero-to-hero-bai-35-con-tro-va-struct-ket-hop-de-toi-uu-bo-nho","contents_short":"Khi l\u00e0m vi\u1ec7c v\u1edbi c\u00e1c h\u1ec7 th\u1ed1ng backend ch\u1ecbu t\u1ea3i cao, vi\u1ec7c l\u1ea1m d\u1ee5ng truy\u1ec1n tham tr\u1ecb (Pass-by-Value) cho c\u00e1c c\u1ea5u tr\u00fac d\u1eef li\u1ec7u l\u1edbn s\u1ebd l\u00e0m suy gi\u1ea3m hi\u1ec7u n\u0103ng nghi\u00eam tr\u1ecdng. S\u1eed d\u1ee5ng con tr\u1ecf Struct l\u00e0 gi\u1ea3i ph\u00e1p t\u1ed1i \u01b0u \u0111\u1ec3 gi\u1ea3i quy\u1ebft b\u00e0i to\u00e1n n\u00e0y.\n\n1. N\u1ed7i \u0111au mang t\u00ean \"Struct kh\u1ed5ng l\u1ed3\"\n\nNh\u01b0 \u0111\u00e3 ph\u00e2n t\u00edch \u1edf c\u00e1c b\u00e0i tr\u01b0\u1edbc, Go m\u1eb7c \u0111\u1ecbnh s\u1eed d\u1ee5ng c\u01a1 ch\u1ebf truy\u1ec1n tham tr\u1ecb (Pass-by-Value). Khi b\u1ea1n truy\u1ec1n m\u1ed9t bi\u1ebfn v...","contents":"Khi l\u00e0m vi\u1ec7c v\u1edbi c\u00e1c h\u1ec7 th\u1ed1ng backend ch\u1ecbu t\u1ea3i cao, vi\u1ec7c l\u1ea1m d\u1ee5ng truy\u1ec1n tham tr\u1ecb (*Pass-by-Value*) cho c\u00e1c c\u1ea5u tr\u00fac d\u1eef li\u1ec7u l\u1edbn s\u1ebd l\u00e0m suy gi\u1ea3m hi\u1ec7u n\u0103ng nghi\u00eam tr\u1ecdng. S\u1eed d\u1ee5ng con tr\u1ecf Struct l\u00e0 gi\u1ea3i ph\u00e1p t\u1ed1i \u01b0u \u0111\u1ec3 gi\u1ea3i quy\u1ebft b\u00e0i to\u00e1n n\u00e0y.\n\n---\n\n## 1. N\u1ed7i \u0111au mang t\u00ean \"Struct kh\u1ed5ng l\u1ed3\"\n\nNh\u01b0 \u0111\u00e3 ph\u00e2n t\u00edch \u1edf c\u00e1c b\u00e0i tr\u01b0\u1edbc, Go m\u1eb7c \u0111\u1ecbnh s\u1eed d\u1ee5ng c\u01a1 ch\u1ebf truy\u1ec1n tham tr\u1ecb (Pass-by-Value). Khi b\u1ea1n truy\u1ec1n m\u1ed9t bi\u1ebfn v\u00e0o h\u00e0m, Go s\u1ebd copy to\u00e0n b\u1ed9 gi\u00e1 tr\u1ecb c\u1ee7a bi\u1ebfn \u0111\u00f3.\n\nH\u00e3y t\u01b0\u1edfng t\u01b0\u1ee3ng m\u1ed9t Struct ghi nh\u1eadn log giao d\u1ecbch qua c\u1ed5ng xoay ch\u1ee9a v\u00f4 s\u1ed1 th\u00f4ng tin:\n\n```go\npackage main\n\nimport (\n    \"fmt\"\n    \"time\"\n)\n\n\/\/ M\u1ed9t Struct r\u1ea5t n\u1eb7ng, ch\u1ee9a h\u00e0ng t\u00e1 chu\u1ed7i string v\u00e0 m\u1ea3ng byte\ntype GateTransaction struct {\n    TxnID        string\n    CardUID      string\n    StationID    int\n    GateID       string\n    RawPayload   []byte \/\/ D\u1eef li\u1ec7u th\u00f4 t\u1eeb ph\u1ea7n c\u1ee9ng\n    ErrorCode    int\n    ErrorMessage string\n    Timestamp    time.Time\n}\n\n\/\/ H\u00e0m x\u1eed l\u00fd nh\u1eadn v\u00e0o tham tr\u1ecb (Copy to\u00e0n b\u1ed9 Struct)\nfunc processLog(txn GateTransaction) {\n    \/\/ M\u1ed7i l\u1ea7n g\u1ecdi h\u00e0m n\u00e0y, Go ph\u1ea3i v\u00e1c to\u00e0n b\u1ed9 d\u1eef li\u1ec7u c\u1ee7a txn copy ra m\u1ed9t v\u00f9ng nh\u1edb m\u1edbi\n    fmt.Println(\"\u0110ang x\u1eed l\u00fd giao d\u1ecbch:\", txn.TxnID)\n}\n```\n\nN\u1ebfu m\u1ed9t ph\u00fat h\u1ec7 th\u1ed1ng c\u00f3 10,000 l\u01b0\u1ee3t qu\u1eb9t th\u1ebb, v\u00e0 Struct `GateTransaction` n\u00e0y b\u1ecb truy\u1ec1n qua l\u1ea1i gi\u1eefa 4-5 h\u00e0m kh\u00e1c nhau (t\u1eeb Controller -> Service -> Repository -> Logger), m\u00e1y ch\u1ee7 c\u1ee7a b\u1ea1n s\u1ebd ph\u1ea3i th\u1ef1c hi\u1ec7n h\u00e0ng ch\u1ee5c ng\u00e0n ph\u00e9p copy d\u1eef li\u1ec7u r\u01b0\u1eddm r\u00e0, \u0111\u1ea9y CPU v\u00e0 RAM l\u00ean m\u1ee9c b\u00e1o \u0111\u1ed9ng.\n\n---\n\n## 2. Gi\u1ea3i ph\u00e1p: Kh\u1edfi t\u1ea1o v\u00e0 truy\u1ec1n Con tr\u1ecf Struct\n\nThay v\u00ec v\u00e1c c\u1ea3 m\u1ed9t \"ng\u00f4i nh\u00e0\" (Struct) ch\u1ea1y v\u00f2ng v\u00f2ng qua c\u00e1c h\u00e0m, ch\u00fang ta ch\u1ec9 c\u1ea7n t\u1ea1o ra ng\u00f4i nh\u00e0 \u0111\u00f3 1 l\u1ea7n duy nh\u1ea5t, l\u1ea5y \u0111\u1ecba ch\u1ec9 c\u1ee7a n\u00f3 (Pointer), v\u00e0 truy\u1ec1n c\u00e1i \u0111\u1ecba ch\u1ec9 \u0111\u00f3 \u0111i. M\u1ed9t \u0111\u1ecba ch\u1ec9 con tr\u1ecf lu\u00f4n c\u00f3 k\u00edch th\u01b0\u1edbc c\u1ed1 \u0111\u1ecbnh l\u00e0 **8 bytes** (tr\u00ean m\u00e1y 64-bit), b\u1ea5t ch\u1ea5p Struct g\u1ed1c n\u1eb7ng bao nhi\u00eau Megabytes.\n\nB\u1ea1n c\u00f3 2 c\u00e1ch \u0111\u1ec3 kh\u1edfi t\u1ea1o ngay m\u1ed9t con tr\u1ecf Struct:\n\n### C\u00e1ch 1: D\u00f9ng t\u1eeb kh\u00f3a `new` (\u00cdt d\u00f9ng)\nH\u00e0m `new(Type)` s\u1ebd c\u1ea5p ph\u00e1t v\u00f9ng nh\u1edb, \u0111i\u1ec1n *Zero Value* cho t\u1ea5t c\u1ea3 c\u00e1c field, v\u00e0 tr\u1ea3 v\u1ec1 con tr\u1ecf `*Type`.\n\n```go\npTxn := new(GateTransaction) \npTxn.TxnID = \"TXN-001\" \/\/ G\u00e1n gi\u00e1 tr\u1ecb sau\n```\n\n### C\u00e1ch 2: D\u00f9ng c\u00fa ph\u00e1p `&Struct{}` (Chu\u1ea9n th\u1ef1c chi\u1ebfn)\nC\u00e1ch n\u00e0y cho ph\u00e9p b\u1ea1n v\u1eeba l\u1ea5y \u0111\u01b0\u1ee3c con tr\u1ecf, v\u1eeba g\u00e1n gi\u00e1 tr\u1ecb kh\u1edfi t\u1ea1o (*Named Initialization*) ngay trong m\u1ed9t n\u1ed1t nh\u1ea1c.\n\n```go\n\/\/ pTxn l\u00fac n\u00e0y mang ki\u1ec3u *GateTransaction\npTxn := &GateTransaction{\n    TxnID:     \"TXN-002\",\n    CardUID:   \"CARD-999\",\n    StationID: 101,\n}\n\n\/\/ Truy\u1ec1n con tr\u1ecf (8 bytes) v\u00e0o h\u00e0m si\u00eau nh\u1eb9 nh\u00e0ng\n\/\/ fastProcessLog(pTxn)\n```\n\n> \ud83d\udca1 **\u0110i\u1ec1u k\u1ef3 di\u1ec7u c\u1ee7a Go:** B\u1ea1n kh\u00f4ng c\u1ea7n d\u00f9ng d\u1ea5u sao `*` \u0111\u1ec3 gi\u1ea3i tham chi\u1ebfu khi g\u1ecdi c\u00e1c field (kh\u00f4ng c\u1ea7n vi\u1ebft `(*pTxn).TxnID`). Tr\u00ecnh bi\u00ean d\u1ecbch c\u1ee7a Go t\u1ef1 \u0111\u1ed9ng hi\u1ec3u d\u1ea5u ch\u1ea5m `.` tr\u00ean m\u1ed9t con tr\u1ecf Struct ch\u00ednh l\u00e0 h\u00e0nh \u0111\u1ed9ng truy xu\u1ea5t v\u00e0o v\u00f9ng nh\u1edb g\u1ed1c.\n\n---\n\n## 3. Pattern Constructor trong Go (H\u00e0m kh\u1edfi t\u1ea1o)\n\nV\u00ec Go kh\u00f4ng c\u00f3 kh\u00e1i ni\u1ec7m Class, n\u00f3 c\u0169ng kh\u00f4ng c\u00f3 c\u00e1c h\u00e0m Constructor c\u00f3 s\u1eb5n \u0111\u1ec3 thi\u1ebft l\u1eadp gi\u00e1 tr\u1ecb m\u1eb7c \u0111\u1ecbnh cho \u0111\u1ed1i t\u01b0\u1ee3ng. \n\nGi\u1edbi Backend Gopher t\u1ef1 quy \u01b0\u1edbc m\u1ed9t Pattern: Vi\u1ebft m\u1ed9t h\u00e0m b\u1eaft \u0111\u1ea7u b\u1eb1ng ch\u1eef `New...` v\u00e0 tr\u1ea3 v\u1ec1 m\u1ed9t con tr\u1ecf Struct.\n\n```go\nfunc generateUUID() string {\n    return \"UUID-12345\"\n}\n\n\/\/ H\u00e0m kh\u1edfi t\u1ea1o chu\u1ea9n m\u1ef1c\nfunc NewGateTransaction(cardUID string, station int) *GateTransaction {\n    \/\/ Kh\u1edfi t\u1ea1o Struct v\u00e0 l\u1ea5y \u0111\u1ecba ch\u1ec9\n    return &GateTransaction{\n        TxnID:     generateUUID(), \/\/ Gi\u1ea3 l\u1eadp h\u00e0m t\u1ea1o ID\n        CardUID:   cardUID,\n        StationID: station,\n        Timestamp: time.Now(),     \/\/ Thi\u1ebft l\u1eadp th\u1eddi gian m\u1eb7c \u0111\u1ecbnh ngay l\u00fac kh\u1edfi t\u1ea1o\n    }\n}\n\nfunc main() {\n    \/\/ S\u1eed d\u1ee5ng Constructor\n    txn := NewGateTransaction(\"CARD-ABCD\", 1)\n    fmt.Println(\"Giao d\u1ecbch m\u1edbi t\u1ea1o:\", txn.TxnID, \"l\u00fac\", txn.Timestamp)\n}\n```\n\n---\n\n## 4. Escape Analysis: Ph\u00e9p m\u00e0u qu\u1ea3n l\u00fd b\u1ed9 nh\u1edb c\u1ee7a Go\n\nH\u00e3y nh\u00ecn k\u1ef9 l\u1ea1i h\u00e0m `NewGateTransaction` \u1edf tr\u00ean. N\u1ebfu b\u1ea1n \u0111\u1ebfn t\u1eeb ng\u00f4n ng\u1eef C\/C++, b\u1ea1n s\u1ebd ngay l\u1eadp t\u1ee9c gi\u1eadt m\u00ecnh th\u1ea3ng th\u1ed1t: *\"Struct \u0111\u01b0\u1ee3c t\u1ea1o ra b\u00ean TRONG h\u00e0m, n\u00f3 l\u00e0 bi\u1ebfn c\u1ee5c b\u1ed9. Khi h\u00e0m k\u1ebft th\u00fac, bi\u1ebfn \u0111\u00f3 s\u1ebd b\u1ecb x\u00f3a. V\u1eady tr\u1ea3 v\u1ec1 con tr\u1ecf tr\u1ecf t\u1edbi m\u1ed9t v\u00f9ng nh\u1edb \u0111\u00e3 b\u1ecb x\u00f3a th\u00ec s\u1ebd g\u00e2y ra l\u1ed7i s\u1eadp ngu\u1ed3n (Dangling Pointer \/ Segfault) ch\u1ee9!\"*\n\nNh\u01b0ng b\u1ea1n \u0111ang vi\u1ebft Go, v\u00e0 Go s\u1edf h\u1eefu m\u1ed9t ph\u00e9p thu\u1eadt mang t\u00ean **Escape Analysis** (Ph\u00e2n t\u00edch v\u00f2ng \u0111\u1eddi bi\u1ebfn) l\u00fac bi\u00ean d\u1ecbch.\n\nKetika tr\u00ecnh bi\u00ean d\u1ecbch Go \u0111\u1ecdc code c\u1ee7a b\u1ea1n, n\u00f3 nh\u1eadn ra: *\"Ch\u00e0, c\u00e1i Struct n\u00e0y \u0111\u01b0\u1ee3c t\u1ea1o trong h\u00e0m NewGateTransaction, nh\u01b0ng \u0111\u1ecba ch\u1ec9 c\u1ee7a n\u00f3 l\u1ea1i b\u1ecb return ra b\u00ean ngo\u00e0i \u0111\u1ec3 h\u00e0m main() x\u00e0i. T\u1ee9c l\u00e0 n\u00f3 \u0111\u00e3 '\u0111\u00e0o t\u1ea9u' (escape) ra kh\u1ecfi ph\u1ea1m vi h\u00e0m n\u00e0y.\"*\n\nNgay l\u1eadp t\u1ee9c, Go s\u1ebd quy\u1ebft \u0111\u1ecbnh: Kh\u00f4ng l\u01b0u Struct n\u00e0y \u1edf b\u1ed9 nh\u1edb t\u1ea1m (Stack) n\u1eefa, m\u00e0 **\u0111\u1ea9y n\u00f3 l\u00ean b\u1ed9 nh\u1edb d\u00e0i h\u1ea1n (Heap)**. Nh\u1edd v\u1eady, con tr\u1ecf tr\u1ea3 v\u1ec1 v\u1eabn ho\u00e0n to\u00e0n an to\u00e0n v\u00e0 h\u1ee3p l\u1ec7! B\u1ea1n c\u1ee9 tho\u1ea3i m\u00e1i return con tr\u1ecf t\u1eeb c\u00e1c h\u00e0m kh\u1edfi t\u1ea1o m\u00e0 kh\u00f4ng bao gi\u1edd s\u1ee3 l\u1ed7i Dangling Pointer.\n\n---\n\n## T\u1ed5ng k\u1ebft\n\nKhi l\u00e0m vi\u1ec7c v\u1edbi Struct, h\u00e3y n\u1eb1m l\u00f2ng c\u00e1c chi\u1ebfn thu\u1eadt sau:\n1.  **D\u00f9ng `&Struct{}`:** \u0110\u00e2y l\u00e0 c\u00e1ch nhanh nh\u1ea5t v\u00e0 s\u1ea1ch nh\u1ea5t \u0111\u1ec3 v\u1eeba kh\u1edfi t\u1ea1o d\u1eef li\u1ec7u, v\u1eeba l\u1ea5y con tr\u1ecf.\n2.  **Vi\u1ebft h\u00e0m `New...`:** T\u1ea1o ra c\u00e1c h\u00e0m Constructor tr\u1ea3 v\u1ec1 con tr\u1ecf (`*Struct`) \u0111\u1ec3 chu\u1ea9n h\u00f3a vi\u1ec7c thi\u1ebft l\u1eadp c\u00e1c gi\u00e1 tr\u1ecb m\u1eb7c \u0111\u1ecbnh.\n3.  **An t\u00e2m v\u1edbi Escape Analysis:** Tr\u00ecnh bi\u00ean d\u1ecbch Go \u0111\u1ee7 th\u00f4ng minh \u0111\u1ec3 bi\u1ebft khi n\u00e0o c\u1ea7n t\u1ef1 \u0111\u1ed9ng chuy\u1ec3n v\u00f9ng nh\u1edb t\u1eeb Stack sang Heap \u0111\u1ec3 gi\u1eef cho con tr\u1ecf c\u1ee7a b\u1ea1n kh\u00f4ng b\u1ecb \"treo\".","published_at":"2026-10-05T03:47:01.000000Z","scheduled_publish_at":null,"is_published":true,"is_shared":false,"updated_at":"2026-10-05T10:19:03.000000Z","edited_at":"2026-08-09T02:44:33.000000Z","translation_source":null,"trend_at":null,"promoted_at":null,"reading_time":5,"points":0,"views_count":21,"clips_count":0,"comments_count":0,"rated_value":null,"promoted":false,"trending":false,"is_draft":false,"is_public":true,"locale_code":"vi","is_video":false,"thumbnail_url":"https:\/\/images.viblo.asia\/7e0cd374-b80d-4d33-9684-eb72073f9866.png","user":{"data":{"id":182653,"url":"https:\/\/viblo.asia\/u\/hhoang","avatar":"7b8975e5-ecec-4eda-ba88-dd56fe2a29c0.jpg","name":"Huy Ho\u00e0ng","username":"hhoang","followers_count":182,"reputation":13760,"posts_count":1389,"banned_at":null,"level_partner":null,"following":false}},"tags":{"data":[{"slug":"con-tro-trong-golang","name":"Con tr\u1ecf trong golang"}]},"commentators":{"data":[]}},{"id":108261,"title":"Running 100B+ MoE Models on a Single RTX 4090: A Practical Guide to Expert Offloading with llama.cpp","slug":"yZJZlPyZVjm","url":"https:\/\/viblo.asia\/p\/running-100b-moe-models-on-a-single-rtx-4090-a-practical-guide-to-expert-offloading-with-llamacpp-yZJZlPyZVjm","user_id":209643,"moderation":null,"transliterated":"running-100b-moe-models-on-a-single-rtx-4090-a-practical-guide-to-expert-offloading-with-llamacpp","contents_short":"","contents":"Tu\u1ea7n n\u00e0y tr\u00ean Hacker News c\u00f3 m\u1ed9t b\u00e0i h\u01a1n 600 \u0111i\u1ec3m: ch\u1ea1y m\u1ed9t model MoE 125B tham s\u1ed1 tr\u00ean m\u1ed9t con RTX 4090 m\u00e0 v\u1eabn \u0111\u1ea1t t\u1ed1c \u0111\u1ed9 sinh token r\u1ea5t \u0111\u00e1ng n\u1ec3. Nghe nh\u01b0 chuy\u1ec7n \u0111\u00f9a, v\u00ec 4090 ch\u1ec9 c\u00f3 24GB VRAM, trong khi 125B tham s\u1ed1 \u1edf m\u1ee9c quantize 4-bit \u0111\u00e3 chi\u1ebfm kho\u1ea3ng 70-75GB. B\u00ed quy\u1ebft kh\u00f4ng n\u1eb1m \u1edf ph\u00e9p m\u00e0u n\u00e0o c\u1ea3, m\u00e0 \u1edf ki\u1ebfn tr\u00fac **Mixture of Experts (MoE)** v\u00e0 m\u1ed9t k\u1ef9 thu\u1eadt g\u1ecdi l\u00e0 **expert offloading**. M\u00ecnh \u0111\u00e3 th\u1eed k\u1ef9 thu\u1eadt n\u00e0y v\u1edbi v\u00e0i model MoE tr\u00ean m\u00e1y c\u00e1 nh\u00e2n, v\u00e0 b\u00e0i n\u00e0y t\u1ed5ng h\u1ee3p l\u1ea1i nh\u1eefng g\u00ec th\u1ef1c s\u1ef1 c\u00f3 t\u00e1c d\u1ee5ng, nh\u1eefng g\u00ec ch\u1ec9 t\u1ed1n th\u1eddi gian, c\u00f9ng c\u00e1c l\u1ec7nh b\u1ea1n c\u00f3 th\u1ec3 copy v\u1ec1 ch\u1ea1y lu\u00f4n.\n\n## T\u1ea1i sao MoE l\u1ea1i \"l\u00e1ch\" \u0111\u01b0\u1ee3c gi\u1edbi h\u1ea1n VRAM?\n\nV\u1edbi model dense (nh\u01b0 Llama 3 70B), m\u1ed7i token sinh ra ph\u1ea3i \u0111i qua **to\u00e0n b\u1ed9** tham s\u1ed1. N\u1ebfu kh\u00f4ng nh\u00e9t v\u1eeba VRAM, b\u1ea1n ph\u1ea3i \u0111\u1ea9y m\u1ed9t ph\u1ea7n layer xu\u1ed1ng CPU, v\u00e0 t\u1ed1c \u0111\u1ed9 s\u1ebd r\u01a1i th\u1eb3ng xu\u1ed1ng c\u00f2n v\u00e0i token\/s v\u00ec b\u0103ng th\u00f4ng RAM ch\u1eadm h\u01a1n VRAM c\u1ea3 ch\u1ee5c l\u1ea7n.\n\nMoE th\u00ec kh\u00e1c. M\u1ed7i layer c\u00f3 m\u1ed9t **router** ch\u1ecdn ra v\u00e0i expert (th\u01b0\u1eddng l\u00e0 8 tr\u00ean t\u1ed5ng 128 ho\u1eb7c 256 expert) \u0111\u1ec3 x\u1eed l\u00fd token hi\u1ec7n t\u1ea1i. M\u1ed9t model 125B t\u1ed5ng tham s\u1ed1 c\u00f3 th\u1ec3 ch\u1ec9 c\u00f3 kho\u1ea3ng 10-15B tham s\u1ed1 **active** cho m\u1ed7i token. Ph\u1ea7n n\u1eb7ng nh\u1ea5t (c\u00e1c expert FFN) th\u00ec to nh\u01b0ng m\u1ed7i l\u1ea7n ch\u1ec9 d\u00f9ng m\u1ed9t \u00edt; c\u00f2n ph\u1ea7n d\u00f9ng li\u00ean t\u1ee5c (attention, embedding, shared expert, router) l\u1ea1i kh\u00e1 nh\u1ecf.\n\n\u00dd t\u01b0\u1edfng ch\u00ednh: **\u0111\u1ec3 ph\u1ea7n d\u00f9ng li\u00ean t\u1ee5c tr\u00ean GPU, \u0111\u1ea9y c\u00e1c expert xu\u1ed1ng RAM h\u1ec7 th\u1ed1ng**. CPU ch\u1ec9 ph\u1ea3i t\u00ednh m\u1ed9t l\u01b0\u1ee3ng nh\u1ecf expert \u0111\u01b0\u1ee3c ch\u1ecdn cho m\u1ed7i token, n\u00ean t\u1ed1c \u0111\u1ed9 v\u1eabn ch\u1ea5p nh\u1eadn \u0111\u01b0\u1ee3c.\n\n```mermaid\nflowchart LR\n    T[Token input] --> A[Attention + KV cache<br\/>GPU VRAM]\n        A --> R[Router<br\/>GPU]\n            R -->|ch\u1ecdn top-k| E1[Expert 3<br\/>CPU RAM]\n                R -->|ch\u1ecdn top-k| E2[Expert 41<br\/>CPU RAM]\n                    R --> S[Shared expert<br\/>GPU]\n                        E1 --> M[Merge output]\n                            E2 --> M\n                                S --> M\n                                    M --> N[Layer ti\u1ebfp theo]\n                                    ```\n                                    \n                                    \u0110i\u1ec3m m\u1ea5u ch\u1ed1t: KV cache v\u00e0 attention l\u00e0 th\u1ee9 \u0103n nhi\u1ec1u b\u0103ng th\u00f4ng nh\u1ea5t khi context d\u00e0i, n\u00ean ch\u00fang **ph\u1ea3i** n\u1eb1m tr\u00ean GPU. Expert th\u00ec ng\u01b0\u1ee3c l\u1ea1i: chi\u1ebfm nhi\u1ec1u dung l\u01b0\u1ee3ng nh\u01b0ng m\u1ed7i token ch\u1ec9 \u0111\u1ecdc m\u1ed9t ph\u1ea7n nh\u1ecf.\n                                    \n                                    ## Chu\u1ea9n b\u1ecb ph\u1ea7n c\u1ee9ng v\u00e0 build llama.cpp\n                                    \n                                    C\u1ea5u h\u00ecnh m\u00ecnh d\u00f9ng \u0111\u1ec3 test:\n                                    \n                                    - GPU: RTX 4090 24GB\n                                    - RAM: 128GB DDR5-5600 (2 thanh 64GB, **dual channel**). T\u1ed1i thi\u1ec3u n\u00ean c\u00f3 96GB cho model kho\u1ea3ng 120B \u1edf Q4.\n                                    - CPU: Ryzen 9 7950X\n                                    - NVMe Gen4 \u0111\u1ec3 load model nhanh\n                                    \n                                    M\u1ed9t l\u01b0u \u00fd quan tr\u1ecdng: v\u1edbi expert offloading, **b\u0103ng th\u00f4ng RAM quy\u1ebft \u0111\u1ecbnh t\u1ed1c \u0111\u1ed9 nhi\u1ec1u h\u01a1n s\u1ed1 core CPU**. C\u1eafm 4 thanh RAM tr\u00ean n\u1ec1n t\u1ea3ng consumer th\u01b0\u1eddng l\u00e0m bus t\u1ee5t xu\u1ed1ng 4800 ho\u1eb7c th\u1ea5p h\u01a1n, n\u00ean 2 thanh dung l\u01b0\u1ee3ng l\u1edbn s\u1ebd t\u1ed1t h\u01a1n 4 thanh nh\u1ecf.\n                                    \n                                    Build llama.cpp v\u1edbi CUDA:\n                                    \n                                    ```bash\n                                    git clone https:\/\/github.com\/ggml-org\/llama.cpp\n                                    cd llama.cpp\n                                    \n                                    cmake -B build \\\n                                      -DGGML_CUDA=ON \\\n                                        -DGGML_CUDA_F16=ON \\\n                                          -DCMAKE_CUDA_ARCHITECTURES=89 \\\n                                            -DCMAKE_BUILD_TYPE=Release\n                                            \n                                            cmake --build build --config Release -j $(nproc)\n                                            \n                                            # Ki\u1ec3m tra GPU \u0111\u01b0\u1ee3c nh\u1eadn\n                                            .\/build\/bin\/llama-cli --list-devices\n                                            ```\n                                            \n                                            `CMAKE_CUDA_ARCHITECTURES=89` l\u00e0 compute capability c\u1ee7a d\u00f2ng Ada (4090). \u0110\u1eb7t \u0111\u00fang gi\u00e1 tr\u1ecb n\u00e0y gi\u00fap build nhanh h\u01a1n v\u00e0 tr\u00e1nh bi\u00ean d\u1ecbch kernel cho nh\u1eefng ki\u1ebfn tr\u00fac b\u1ea1n kh\u00f4ng d\u00f9ng.\n                                            \n                                            V\u1ec1 file model: t\u1ea3i b\u1ea3n GGUF \u0111\u00e3 quantize s\u1eb5n, \u01b0u ti\u00ean c\u00e1c b\u1ea3n quant d\u1ea1ng **dynamic** ho\u1eb7c **imatrix** (Q4_K_M, IQ4_XS). V\u1edbi MoE, b\u1ea3n IQ4_XS th\u01b0\u1eddng cho ch\u1ea5t l\u01b0\u1ee3ng g\u1ea7n Q4_K_M nh\u01b0ng nh\u1eb9 h\u01a1n 10-15%, t\u1ee9c l\u00e0 ti\u1ebft ki\u1ec7m th\u00eam RAM.\n                                            \n                                            ## L\u1ec7nh ch\u1ea1y: `--n-cpu-moe` v\u00e0 `-ot`\n                                            \n                                            C\u00f3 hai c\u00e1ch \u0111\u1ec3 \u0111\u1ea9y expert xu\u1ed1ng CPU trong llama.cpp.\n                                            \n                                            **C\u00e1ch 1: `--n-cpu-moe N`** (\u0111\u01a1n gi\u1ea3n, n\u00ean d\u00f9ng tr\u01b0\u1edbc). Flag n\u00e0y gi\u1eef expert c\u1ee7a N layer \u0111\u1ea7u ti\u00ean tr\u00ean CPU, ph\u1ea7n c\u00f2n l\u1ea1i l\u00ean GPU.\n                                            \n                                            **C\u00e1ch 2: `-ot` (override-tensor)** d\u00f9ng regex \u0111\u1ec3 ch\u1ec9 \u0111\u1ecbnh ch\u00ednh x\u00e1c tensor n\u00e0o n\u1eb1m \u1edf \u0111\u00e2u. C\u00e1ch n\u00e0y linh ho\u1ea1t h\u01a1n khi b\u1ea1n mu\u1ed1n tinh ch\u1ec9nh t\u1eebng ch\u00fat.\n                                            \n                                            ```bash\n                                            # C\u00e1ch 1: \u0111\u01a1n gi\u1ea3n\n                                            .\/build\/bin\/llama-server \\\n                                              -m .\/models\/moe-125b-IQ4_XS.gguf \\\n                                                -ngl 99 \\\n                                                  --n-cpu-moe 40 \\\n                                                    -c 32768 \\\n                                                      -fa on \\\n                                                        --cache-type-k q8_0 --cache-type-v q8_0 \\\n                                                          -t 16 \\\n                                                            --host 0.0.0.0 --port 8080\n                                                            \n                                                            # C\u00e1ch 2: to\u00e0n b\u1ed9 expert xu\u1ed1ng CPU, r\u1ed3i k\u00e9o d\u1ea7n l\u00ean GPU\n                                                            .\/build\/bin\/llama-server \\\n                                                              -m .\/models\/moe-125b-IQ4_XS.gguf \\\n                                                                -ngl 99 \\\n                                                                  -ot \"blk\\.(4[0-9])\\.ffn_.*_exps\\.=CUDA0\" \\\n                                                                    -ot \"\\.ffn_.*_exps\\.=CPU\" \\\n                                                                      -c 32768 -fa on \\\n                                                                        --cache-type-k q8_0 --cache-type-v q8_0\n                                                                        ```\n                                                                        \n                                                                        Gi\u1ea3i th\u00edch nhanh:\n                                                                        \n                                                                        - `-ngl 99`: \u0111\u01b0a **t\u1ea5t c\u1ea3** layer l\u00ean GPU. Nghe v\u00f4 l\u00fd v\u00ec kh\u00f4ng v\u1eeba, nh\u01b0ng c\u00e1c rule `-ot` \/ `--n-cpu-moe` s\u1ebd \"r\u00fat\" ph\u1ea7n expert ra, ch\u1ec9 c\u00f2n attention v\u00e0 shared weights tr\u00ean GPU.\n                                                                        - `-fa on`: b\u1eadt Flash Attention, gi\u1ea3m \u0111\u00e1ng k\u1ec3 VRAM cho KV cache.\n                                                                        - `--cache-type-k\/v q8_0`: quantize KV cache xu\u1ed1ng 8-bit, g\u1ea7n nh\u01b0 kh\u00f4ng \u1ea3nh h\u01b0\u1edfng ch\u1ea5t l\u01b0\u1ee3ng nh\u01b0ng ti\u1ebft ki\u1ec7m m\u1ed9t n\u1eeda VRAM so v\u1edbi f16.\n                                                                        - Th\u1ee9 t\u1ef1 `-ot` quan tr\u1ecdng: rule kh\u1edbp tr\u01b0\u1edbc \u0111\u01b0\u1ee3c \u00e1p d\u1ee5ng tr\u01b0\u1edbc, n\u00ean \u0111\u1eb7t rule \"k\u00e9o l\u00ean GPU\" l\u00ean tr\u00ean rule \"\u0111\u1ea9y xu\u1ed1ng CPU\".\n                                                                        - `-t 16`: s\u1ed1 thread n\u00ean b\u1eb1ng s\u1ed1 **physical core**, kh\u00f4ng ph\u1ea3i logical. T\u0103ng qu\u00e1 m\u1ee9c s\u1ebd ch\u1eadm h\u01a1n v\u00ec tranh ch\u1ea5p b\u0103ng th\u00f4ng RAM.\n                                                                        \n                                                                        Quy tr\u00ecnh tune c\u1ee7a m\u00ecnh: b\u1eaft \u0111\u1ea7u v\u1edbi `--n-cpu-moe` b\u1eb1ng t\u1ed5ng s\u1ed1 layer, xem VRAM c\u00f2n d\u01b0 bao nhi\u00eau b\u1eb1ng `nvidia-smi`, r\u1ed3i gi\u1ea3m d\u1ea7n N cho \u0111\u1ebfn khi VRAM d\u00f9ng kho\u1ea3ng 22-23GB. Ch\u1eeba 1-2GB \u0111\u1ec3 tr\u00e1nh OOM khi context \u0111\u1ea7y.\n                                                                        \n                                                                        ## \u0110o \u0111\u1ea1c thay v\u00ec \u0111o\u00e1n\n                                                                        \n                                                                        \u0110\u1eebng tin con s\u1ed1 tr\u00ean m\u1ea1ng, k\u1ec3 c\u1ea3 con s\u1ed1 trong b\u00e0i HN kia. T\u1ed1c \u0111\u1ed9 ph\u1ee5 thu\u1ed9c r\u1ea5t nhi\u1ec1u v\u00e0o RAM, \u0111\u1ed9 d\u00e0i context v\u00e0 lo\u1ea1i quant. D\u00f9ng `llama-bench` \u0111\u1ec3 \u0111o, r\u1ed3i vi\u1ebft m\u1ed9t script nh\u1ecf \u0111o tr\u1ea3i nghi\u1ec7m th\u1eadt qua API:\n                                                                        \n                                                                        ```python\n                                                                        import time, json, requests\n                                                                        \n                                                                        URL = \"http:\/\/localhost:8080\/v1\/chat\/completions\"\n                                                                        prompt = \"Gi\u1ea3i th\u00edch c\u01a1 ch\u1ebf routing trong Mixture of Experts, kho\u1ea3ng 300 t\u1eeb.\"\n                                                                        \n                                                                        def bench(n_runs=3):\n                                                                            for i in range(n_runs):\n                                                                                    start = time.perf_counter()\n                                                                                            first_token_at = None\n                                                                                                    n_tokens = 0\n                                                                                                            with requests.post(URL, json={\n                                                                                                                        \"messages\": [{\"role\": \"user\", \"content\": prompt}],\n                                                                                                                                    \"max_tokens\": 512,\n                                                                                                                                                \"stream\": True,\n                                                                                                                                                        }, stream=True) as r:\n                                                                                                                                                                    for line in r.iter_lines():\n                                                                                                                                                                                    if not line or not line.startswith(b\"data: \"):\n                                                                                                                                                                                                        continue\n                                                                                                                                                                                                                        data = line[6:]\n                                                                                                                                                                                                                                        if data == b\"[DONE]\":\n                                                                                                                                                                                                                                                            break\n                                                                                                                                                                                                                                                                            delta = json.loads(data)[\"choices\"][0][\"delta\"]\n                                                                                                                                                                                                                                                                                            if delta.get(\"content\"):\n                                                                                                                                                                                                                                                                                                                if first_token_at is None:\n                                                                                                                                                                                                                                                                                                                                        first_token_at = time.perf_counter()\n                                                                                                                                                                                                                                                                                                                                                            n_tokens += 1\n                                                                                                                                                                                                                                                                                                                                                                    gen_time = time.perf_counter() - first_token_at\n                                                                                                                                                                                                                                                                                                                                                                            print(f\"Run {i+1}: TTFT={first_token_at - start:.2f}s, \"\n                                                                                                                                                                                                                                                                                                                                                                                          f\"decode={n_tokens \/ gen_time:.1f} tok\/s\")\n                                                                                                                                                                                                                                                                                                                                                                                          \n                                                                                                                                                                                                                                                                                                                                                                                          bench()\n                                                                                                                                                                                                                                                                                                                                                                                          ```\n                                                                                                                                                                                                                                                                                                                                                                                          \n                                                                                                                                                                                                                                                                                                                                                                                          Hai ch\u1ec9 s\u1ed1 c\u1ea7n nh\u00ecn: **TTFT** (time to first token, ph\u1ea3n \u00e1nh t\u1ed1c \u0111\u1ed9 prefill) v\u00e0 **decode tok\/s**. V\u1edbi expert offloading, prefill th\u01b0\u1eddng l\u00e0 \u0111i\u1ec3m y\u1ebfu v\u00ec ph\u1ea3i \u0111\u1ea9y c\u1ea3 \u0111o\u1ea1n prompt d\u00e0i qua expert tr\u00ean CPU. N\u1ebfu use case c\u1ee7a b\u1ea1n l\u00e0 RAG v\u1edbi prompt d\u00e0i, h\u00e3y t\u0103ng `-b` v\u00e0 `-ub` (batch size, v\u00ed d\u1ee5 `-ub 2048`) \u0111\u1ec3 llama.cpp chuy\u1ec3n ph\u1ea7n t\u00ednh expert l\u00fac prefill sang GPU hi\u1ec7u qu\u1ea3 h\u01a1n.\n                                                                                                                                                                                                                                                                                                                                                                                          \n                                                                                                                                                                                                                                                                                                                                                                                          ```mermaid\n                                                                                                                                                                                                                                                                                                                                                                                          flowchart TD\n                                                                                                                                                                                                                                                                                                                                                                                              S[B\u1eaft \u0111\u1ea7u: n-cpu-moe = t\u1ed5ng s\u1ed1 layer] --> C{VRAM c\u00f2n d\u01b0 > 2GB?}\n                                                                                                                                                                                                                                                                                                                                                                                                  C -->|C\u00f3| D[Gi\u1ea3m n-cpu-moe \u0111i 2-4]\n                                                                                                                                                                                                                                                                                                                                                                                                      D --> C\n                                                                                                                                                                                                                                                                                                                                                                                                          C -->|Kh\u00f4ng| B[Ch\u1ea1y llama-bench + script \u0111o]\n                                                                                                                                                                                                                                                                                                                                                                                                              B --> P{Prefill qu\u00e1 ch\u1eadm?}\n                                                                                                                                                                                                                                                                                                                                                                                                                  P -->|C\u00f3| U[T\u0103ng -ub, gi\u1ea3m context]\n                                                                                                                                                                                                                                                                                                                                                                                                                      P -->|Kh\u00f4ng| OK[Ch\u1ed1t c\u1ea5u h\u00ecnh]\n                                                                                                                                                                                                                                                                                                                                                                                                                          U --> B\n                                                                                                                                                                                                                                                                                                                                                                                                                          ```\n                                                                                                                                                                                                                                                                                                                                                                                                                          \n                                                                                                                                                                                                                                                                                                                                                                                                                          V\u00e0i c\u00e1i b\u1eaby m\u00ecnh \u0111\u00e3 d\u00ednh:\n                                                                                                                                                                                                                                                                                                                                                                                                                          \n                                                                                                                                                                                                                                                                                                                                                                                                                          - **Swap\/mmap**: n\u1ebfu RAM kh\u00f4ng \u0111\u1ee7, OS s\u1ebd \u0111\u1ecdc expert t\u1eeb \u1ed5 \u0111\u0129a v\u00e0 t\u1ed1c \u0111\u1ed9 r\u01a1i xu\u1ed1ng d\u01b0\u1edbi 1 tok\/s. Ki\u1ec3m tra b\u1eb1ng `free -h` trong l\u00fac ch\u1ea1y; n\u1ebfu th\u1ea5y swap t\u0103ng th\u00ec model qu\u00e1 l\u1edbn so v\u1edbi RAM.\n                                                                                                                                                                                                                                                                                                                                                                                                                          - **Windows + WSL2**: WSL2 m\u1eb7c \u0111\u1ecbnh ch\u1ec9 c\u1ea5p 50% RAM. S\u1eeda trong `.wslconfig` v\u1edbi `memory=110GB`.\n                                                                                                                                                                                                                                                                                                                                                                                                                          - **Context qu\u00e1 d\u00e0i**: 128K context v\u1edbi KV cache q8_0 v\u1eabn ng\u1ed1n nhi\u1ec1u GB VRAM. H\u00e3y b\u1eaft \u0111\u1ea7u t\u1eeb 32K, ch\u1ec9 t\u0103ng khi th\u1ef1c s\u1ef1 c\u1ea7n.\n                                                                                                                                                                                                                                                                                                                                                                                                                          \n                                                                                                                                                                                                                                                                                                                                                                                                                          ## K\u1ebft lu\u1eadn\n                                                                                                                                                                                                                                                                                                                                                                                                                          \n                                                                                                                                                                                                                                                                                                                                                                                                                          Expert offloading bi\u1ebfn b\u00e0i to\u00e1n \"c\u1ea7n c\u1ee5m GPU 80GB\" th\u00e0nh \"c\u1ea7n m\u1ed9t GPU t\u1ea7m trung v\u00e0 nhi\u1ec1u RAM\", v\u00e0 RAM DDR5 th\u00ec r\u1ebb h\u01a1n VRAM r\u1ea5t nhi\u1ec1u. V\u1edbi dev Vi\u1ec7t Nam mu\u1ed1n ch\u1ea1y model l\u1edbn local \u0111\u1ec3 gi\u1eef d\u1eef li\u1ec7u nh\u1ea1y c\u1ea3m (code n\u1ed9i b\u1ed9, t\u00e0i li\u1ec7u kh\u00e1ch h\u00e0ng) m\u00e0 kh\u00f4ng t\u1ed1n ti\u1ec1n thu\u00ea GPU cloud, \u0111\u00e2y l\u00e0 h\u01b0\u1edbng r\u1ea5t \u0111\u00e1ng \u0111\u1ea7u t\u01b0.\n                                                                                                                                                                                                                                                                                                                                                                                                                          \n                                                                                                                                                                                                                                                                                                                                                                                                                          Nh\u1eefng vi\u1ec7c b\u1ea1n c\u00f3 th\u1ec3 l\u00e0m ngay:\n                                                                                                                                                                                                                                                                                                                                                                                                                          \n                                                                                                                                                                                                                                                                                                                                                                                                                          1. **Ki\u1ec3m tra RAM tr\u01b0\u1edbc GPU**: mu\u1ed1n ch\u1ea1y MoE kho\u1ea3ng 100B+ \u1edf Q4 th\u00ec c\u1ea7n \u00edt nh\u1ea5t 96GB RAM, \u01b0u ti\u00ean 2 thanh dual channel t\u1ed1c \u0111\u1ed9 cao.\n                                                                                                                                                                                                                                                                                                                                                                                                                          2. **Ch\u1ec9 d\u00f9ng model MoE** cho k\u1ef9 thu\u1eadt n\u00e0y. Model dense offload xu\u1ed1ng CPU s\u1ebd ch\u1eadm, kh\u00f4ng c\u00f3 c\u00e1ch n\u00e0o c\u1ee9u.\n                                                                                                                                                                                                                                                                                                                                                                                                                          3. **B\u1eaft \u0111\u1ea7u v\u1edbi `--n-cpu-moe`**, ch\u1ec9 chuy\u1ec3n sang `-ot` khi c\u1ea7n tinh ch\u1ec9nh s\u00e2u.\n                                                                                                                                                                                                                                                                                                                                                                                                                          4. **Lu\u00f4n b\u1eadt `-fa on` v\u00e0 KV cache q8_0**, \u0111\u00e2y l\u00e0 hai thay \u0111\u1ed5i ti\u1ebft ki\u1ec7m VRAM nhi\u1ec1u nh\u1ea5t m\u00e0 g\u1ea7n nh\u01b0 kh\u00f4ng m\u1ea5t ch\u1ea5t l\u01b0\u1ee3ng.\n                                                                                                                                                                                                                                                                                                                                                                                                                          5. **T\u1ef1 \u0111o b\u1eb1ng `llama-bench` v\u00e0 script streaming**, t\u00e1ch ri\u00eang prefill v\u00e0 decode, r\u1ed3i tune theo \u0111\u00fang use case c\u1ee7a b\u1ea1n thay v\u00ec ch\u1ea1y theo con s\u1ed1 tr\u00ean HN.\n                                                                                                                                                                                                                                                                                                                                                                                                                          \n                                                                                                                                                                                                                                                                                                                                                                                                                          Ph\u1ea7n c\u1ee9ng consumer n\u0103m 2026 \u0111\u00e3 \u0111\u1ee7 m\u1ea1nh \u0111\u1ec3 ch\u1ea1y model m\u00e0 hai n\u0103m tr\u01b0\u1edbc ch\u1ec9 data center m\u1edbi ch\u1ea1y n\u1ed5i. Kh\u00e1c bi\u1ec7t gi\u1eefa \"ch\u1ea1y \u0111\u01b0\u1ee3c\" v\u00e0 \"ch\u1ea1y t\u1ed1t\" gi\u1edd ch\u1ec9 n\u1eb1m \u1edf v\u00e0i flag c\u1ea5u h\u00ecnh \u0111\u00fang.","published_at":"2026-10-05T01:57:42.000000Z","scheduled_publish_at":null,"is_published":true,"is_shared":false,"updated_at":"2026-10-05T11:00:14.000000Z","edited_at":"2026-10-05T01:57:40.000000Z","translation_source":null,"trend_at":null,"promoted_at":null,"reading_time":10,"points":0,"views_count":16,"clips_count":0,"comments_count":0,"rated_value":null,"promoted":false,"trending":false,"is_draft":false,"is_public":true,"locale_code":"vi","is_video":false,"thumbnail_url":null,"user":{"data":{"id":209643,"url":"https:\/\/viblo.asia\/u\/eme","avatar":"51fdc7d3-2653-4e7f-84c4-891cfe8bf3c7.jpg","name":"EME GUG","username":"eme","followers_count":2,"reputation":52,"posts_count":49,"banned_at":null,"level_partner":null,"following":false}},"tags":{"data":[{"slug":"gpu","name":"GPU"},{"slug":"llamacpp","name":"llamacpp"},{"slug":"llm","name":"LLM"},{"slug":"machinelearning","name":"Machine Learning"}]},"commentators":{"data":[]}},{"id":108260,"title":"AI Bu\u1ed5i S\u00e1ng (05\/10\/2026): Ti\u00eau \u0111i\u1ec3m NJ\u2019s former Lt Gov is using AI to say he\u2019s innocent of sexua v\u00e0 nh\u1eefng b\u01b0\u1edbc chuy\u1ec3n t\u1eeb Hacker News","slug":"OQJwzmky4MP","url":"https:\/\/viblo.asia\/p\/ai-buoi-sang-05102026-tieu-diem-njs-former-lt-gov-is-using-ai-to-say-hes-innocent-of-sexua-va-nhung-buoc-chuyen-tu-hacker-news-OQJwzmky4MP","user_id":207145,"moderation":null,"transliterated":"ai-buoi-sang-05102026-tieu-diem-njs-former-lt-gov-is-using-ai-to-say-hes-innocent-of-sexua-va-nhung-buoc-chuyen-tu-hacker-news","contents_short":"\nAI Bu\u1ed5i S\u00e1ng (05\/10\/2026): Ti\u00eau \u0111i\u1ec3m NJ\u2019s former Lt Gov is using AI to say he\u2019s innocent of sexua v\u00e0 nh\u1eefng b\u01b0\u1edbc chuy\u1ec3n t\u1eeb Hacker News\n\nTrong phi\u00ean bu\u1ed5i s\u00e1ng ng\u00e0y 05\/10\/2026, c\u1ed9ng \u0111\u1ed3ng c\u00f4ng ngh\u1ec7 ghi nh\u1eadn h\u00e0ng lo\u1ea1t c\u00f4ng b\u1ed1 th\u1ef1c ti\u1ec5n \u0111\u00e1ng ch\u00fa \u00fd. T\u00e2m \u0111i\u1ec3m h\u00e0ng \u0111\u1ea7u xu\u1ea5t ph\u00e1t t\u1eeb The Verge AI v\u1edbi s\u1ef1 ki\u1ec7n \"NJ\u2019s former Lt Gov is using AI to say he\u2019s innocent of sexual harassment\", song song c\u00f9ng c\u00e1c c\u1ead...","contents":"![AI Daily Bulletin](https:\/\/images.unsplash.com\/photo-1620712943543-bcc4688e7485?auto=format&fit=crop&w=1200&q=80)\n\n# AI Bu\u1ed5i S\u00e1ng (05\/10\/2026): Ti\u00eau \u0111i\u1ec3m NJ\u2019s former Lt Gov is using AI to say he\u2019s innocent of sexua v\u00e0 nh\u1eefng b\u01b0\u1edbc chuy\u1ec3n t\u1eeb Hacker News\n\n> Trong phi\u00ean bu\u1ed5i s\u00e1ng ng\u00e0y 05\/10\/2026, c\u1ed9ng \u0111\u1ed3ng c\u00f4ng ngh\u1ec7 ghi nh\u1eadn h\u00e0ng lo\u1ea1t c\u00f4ng b\u1ed1 th\u1ef1c ti\u1ec5n \u0111\u00e1ng ch\u00fa \u00fd. T\u00e2m \u0111i\u1ec3m h\u00e0ng \u0111\u1ea7u xu\u1ea5t ph\u00e1t t\u1eeb **The Verge AI** v\u1edbi s\u1ef1 ki\u1ec7n *\"NJ\u2019s former Lt Gov is using AI to say he\u2019s innocent of sexual harassment\"*, song song c\u00f9ng c\u00e1c c\u1eadp nh\u1eadt k\u1ef9 thu\u1eadt quan tr\u1ecdng t\u1eeb **Hacker News**. D\u01b0\u1edbi g\u00f3c nh\u00ecn c\u1ee7a l\u1eadp tr\u00ecnh vi\u00ean v\u00e0 ng\u01b0\u1eddi l\u00e0m s\u1ea3n ph\u1ea9m, \u0111\u00e2y l\u00e0 th\u1eddi \u0111i\u1ec3m \u0111\u1ecbnh h\u00ecnh r\u00f5 n\u00e9t xu h\u01b0\u1edbng \u1ee9ng d\u1ee5ng AI v\u00e0o h\u1ec7 th\u1ed1ng s\u1ea3n xu\u1ea5t.\n\n## \u0110i\u1ec1u g\u00ec \u0111\u00e3 x\u1ea3y ra?\nT\u00e2m \u0111i\u1ec3m c\u1ee7a bu\u1ed5i s\u00e1ng h\u00f4m nay xoay quanh c\u00e1c chuy\u1ec3n \u0111\u1ed9ng c\u00f4ng ngh\u1ec7 m\u1edbi \u0111\u01b0\u1ee3c c\u00f4ng b\u1ed1:\n- **The Verge AI \u2014 NJ\u2019s former Lt Gov is using AI to say he\u2019s innocent of sexual harassment**:\n  Dale Caldwell resigned over a sexual harassment investigation, but insists AI says he\u2019s innocent. Dale Caldwell resigned over a sexual harassment investigation, but insists AI says he\u2019s innocent. New Jersey\u2019s lieutenant governor Dale Caldwell was forced to resign on September 25th after an investigation found he had sexually harassed a staffer and repeatedly violated ethics rules. The now-former Lt. governor has been making the media rounds...\n\n- **Hacker News \u2014 Homa: The end of TCP for AI clusters [video]**:\n  Paper: https:&#x2F;&#x2F;www.usenix.org&#x2F;system&#x2F;files&#x2F;atc21-ousterhout.pdf Related: https:&#x2F;&#x2F;lwn.net&#x2F;Articles&#x2F;1003059&#x2F; , https:&#x2F;&#x2F;www.theregister.com&#x2F;networks&#x2F;2026&#x2F;10&#x2F;01&#x2F;stanford-pro...\n\n- **The Verge AI \u2014 An AI couldn\u2019t beat humans at StarCraft, so it decided to cheat**:\n  When GPT-6 Astra\u2019s own bot failed, it simply downloaded the best human-made bot instead. When GPT-6 Astra\u2019s own bot failed, it simply downloaded the best human-made bot instead. StarSkirmish pits AI-made StarCraft-playing bots against one another, as well as against human-made bots. OpenAI\u2019s GPT-6 Astra and Claude...\n\n## V\u00ec sao \u0111i\u1ec1u n\u00e0y quan tr\u1ecdng?\nNh\u1eefng di\u1ec5n bi\u1ebfn n\u00e0y mang l\u1ea1i hai th\u00f4ng \u0111i\u1ec7p r\u1ea5t r\u00f5 r\u00e0ng cho th\u1ecb tr\u01b0\u1eddng c\u00f4ng ngh\u1ec7 hi\u1ec7n nay:\n1. **N\u00e2ng cao n\u0103ng l\u1ef1c m\u00f4 h\u00ecnh n\u1ec1n t\u1ea3ng:** C\u00e1c b\u01b0\u1edbc ti\u1ebfn m\u1edbi li\u00ean t\u1ee5c \u0111\u1ea9y gi\u1edbi h\u1ea1n v\u1ec1 \u0111\u1ed9 ch\u00ednh x\u00e1c, kh\u1ea3 n\u0103ng suy lu\u1eadn tu\u1ea7n t\u1ef1 v\u00e0 t\u1ed1c \u0111\u1ed9 ph\u1ea3n h\u1ed3i c\u1ee7a m\u00f4 h\u00ecnh.\n2. **Kho\u1ea3ng c\u00e1ch gi\u1eefa nghi\u00ean c\u1ee9u h\u1ecdc thu\u1eadt v\u00e0 \u1ee9ng d\u1ee5ng s\u1ea3n xu\u1ea5t ng\u00e0y c\u00e0ng thu h\u1eb9p:** C\u00e1c c\u00f4ng b\u1ed1 nghi\u00ean c\u1ee9u m\u1edbi nhanh ch\u00f3ng \u0111\u01b0\u1ee3c c\u1ed9ng \u0111\u1ed3ng m\u00e3 ngu\u1ed3n m\u1edf \u0111\u00f3ng g\u00f3i th\u00e0nh th\u01b0 vi\u1ec7n th\u1ef1c chi\u1ebfn ch\u1ec9 sau v\u00e0i tu\u1ea7n.\n\n## G\u00f3c nh\u00ecn k\u1ef9 thu\u1eadt \/ c\u00e1ch ho\u1ea1t \u0111\u1ed9ng\n\u0110\u1ec3 hi\u1ec3u r\u00f5 b\u1ea3n ch\u1ea5t c\u1ee7a c\u00e1c gi\u1ea3i ph\u00e1p AI \u0111ang \u0111\u01b0\u1ee3c tri\u1ec3n khai, ch\u00fang ta c\u1ea7n l\u00e0m r\u00f5 m\u1ed9t s\u1ed1 c\u01a1 ch\u1ebf k\u1ef9 thu\u1eadt then ch\u1ed1t:\n\n- **LLM (Large Language Model - M\u00f4 h\u00ecnh ng\u00f4n ng\u1eef l\u1edbn)**: M\u00f4 h\u00ecnh AI \u0111\u01b0\u1ee3c hu\u1ea5n luy\u1ec7n tr\u00ean kh\u1ed1i l\u01b0\u1ee3ng d\u1eef li\u1ec7u v\u0103n b\u1ea3n kh\u1ed5ng l\u1ed3 \u0111\u1ec3 hi\u1ec3u, sinh v\u0103n b\u1ea3n, vi\u1ebft m\u00e3 v\u00e0 suy lu\u1eadn ng\u00f4n ng\u1eef t\u1ef1 nhi\u00ean t\u01b0\u01a1ng t\u1ef1 nh\u01b0 con ng\u01b0\u1eddi (v\u00ed d\u1ee5: GPT-4, Claude, Gemini, Llama).\n- **AI Agent (T\u00e1c t\u1eed AI \/ Agentic Workflow)**: H\u1ec7 th\u1ed1ng AI c\u00f3 kh\u1ea3 n\u0103ng t\u1ef1 l\u1eadp k\u1ebf ho\u1ea1ch, t\u1ef1 quy\u1ebft \u0111\u1ecbnh c\u00e1c b\u01b0\u1edbc ti\u1ebfp theo, g\u1ecdi c\u00e1c c\u00f4ng c\u1ee5 (nh\u01b0 tr\u00ecnh duy\u1ec7t web, ch\u1ea1y l\u1ec7nh bash, s\u1eeda code) v\u00e0 t\u01b0\u01a1ng t\u00e1c v\u1edbi m\u00f4i tr\u01b0\u1eddng b\u00ean ngo\u00e0i \u0111\u1ec3 ho\u00e0n th\u00e0nh m\u1ee5c ti\u00eau ph\u1ee9c t\u1ea1p thay v\u00ec ch\u1ec9 tr\u1ea3 l\u1eddi c\u00e2u h\u1ecfi \u0111\u01a1n l\u1ebb.\n- **RAG (Retrieval-Augmented Generation)**: K\u1ef9 thu\u1eadt k\u1ebft h\u1ee3p vi\u1ec7c t\u00ecm ki\u1ebfm d\u1eef li\u1ec7u th\u1ef1c t\u1ebf (t\u1eeb c\u01a1 s\u1edf d\u1eef li\u1ec7u n\u1ed9i b\u1ed9, t\u00e0i li\u1ec7u PDF, trang web) r\u1ed3i n\u1ea1p v\u00e0o c\u00e2u nh\u1eafc (prompt) cho AI \u0111\u1ecdc tr\u01b0\u1edbc khi tr\u1ea3 l\u1eddi. Gi\u00fap AI c\u1eadp nh\u1eadt tin m\u1edbi v\u00e0 h\u1ea1n ch\u1ebf t\u1ed1i \u0111a vi\u1ec7c b\u1ecba th\u00f4ng tin.\n\n### Ki\u1ebfn tr\u00fac X\u1eed l\u00fd Suy lu\u1eadn & Ki\u1ec3m so\u00e1t An to\u00e0n (AI Inference Flow)\n![Ki\u1ebfn tr\u00fac c\u00f4ng ngh\u1ec7 AI](https:\/\/images.unsplash.com\/photo-1526374965328-7f61d4dc18c5?auto=format&fit=crop&w=1000&q=80)\n\nQuy tr\u00ecnh x\u1eed l\u00fd chu\u1ea9n h\u00f3a trong h\u1ec7 th\u1ed1ng th\u1ef1c t\u1ebf \u0111\u01b0\u1ee3c th\u1ec3 hi\u1ec7n nh\u01b0 sau:\n```text\nClient Request \u2192 Prompt Template & RAG Context \u2192 Model Inference \u2192 Output Guardrails \/ Fact-check \u2192 Final Response\n```\n\n## \u1ee8ng d\u1ee5ng th\u1ef1c t\u1ebf\nD\u01b0\u1edbi \u0111\u00e2y l\u00e0 3 t\u00ecnh hu\u1ed1ng c\u1ee5 th\u1ec3 m\u00e0 l\u1eadp tr\u00ecnh vi\u00ean v\u00e0 Product Manager c\u00f3 th\u1ec3 tham kh\u1ea3o \u00e1p d\u1ee5ng ngay cho s\u1ea3n ph\u1ea9m c\u1ee7a m\u00ecnh:\n\n### 1. \u1ee8ng d\u1ee5ng NJ\u2019s former Lt Gov is using AI to say he\u2019s in v\u00e0o h\u1ec7 th\u1ed1ng Backend\n- **B\u1ed1i c\u1ea3nh:** Nh\u00f3m ph\u00e1t tri\u1ec3n c\u1ea7n gi\u1ea3i quy\u1ebft b\u00e0i to\u00e1n c\u1ed1t l\u00f5i li\u00ean quan \u0111\u1ebfn d\u1eef li\u1ec7u ho\u1eb7c t\u1ef1 \u0111\u1ed9ng h\u00f3a nghi\u1ec7p v\u1ee5 cho s\u1ea3n ph\u1ea9m hi\u1ec7n t\u1ea1i.\n- **C\u00e1ch d\u00f9ng AI:** T\u1eadn d\u1ee5ng c\u00f4ng ngh\u1ec7 v\u00e0 ki\u1ebfn tr\u00fac m\u1edbi \u0111\u01b0\u1ee3c c\u00f4ng b\u1ed1, tri\u1ec3n khai d\u01b0\u1edbi d\u1ea1ng Microservice \u0111\u1ed9c l\u1eadp k\u1ebft n\u1ed1i qua REST API ho\u1eb7c gRPC.\n- **Gi\u00e1 tr\u1ecb nh\u1eadn \u0111\u01b0\u1ee3c:** C\u1ea3i thi\u1ec7n \u0111\u00e1ng k\u1ec3 hi\u1ec7u n\u0103ng x\u1eed l\u00fd, r\u00fat ng\u1eafn th\u1eddi gian ph\u1ea3n h\u1ed3i cho ng\u01b0\u1eddi d\u00f9ng cu\u1ed1i v\u00e0 gi\u1ea3m thi\u1ec3u thao t\u00e1c th\u1ee7 c\u00f4ng.\n- **L\u01b0u \u00fd \/ R\u1ee7i ro:** C\u1ea7n x\u00e2y d\u1ef1ng b\u1ed9 d\u1eef li\u1ec7u benchmark ki\u1ec3m th\u1eed (Gold dataset) n\u1ed9i b\u1ed9 tr\u01b0\u1edbc khi chuy\u1ec3n sang giai \u0111o\u1ea1n production.\n\n### 2. T\u1ed1i \u01b0u h\u00f3a quy tr\u00ecnh d\u1ef1a tr\u00ean c\u00f4ng ngh\u1ec7 t\u1eeb Hacker News\n- **B\u1ed1i c\u1ea3nh:** Chi ph\u00ed v\u1eadn h\u00e0nh h\u1ea1 t\u1ea7ng AI v\u00e0 \u0111\u1ed9 ph\u1ee9c t\u1ea1p trong b\u1ea3o tr\u00ec h\u1ec7 th\u1ed1ng t\u0103ng cao khi quy m\u00f4 ng\u01b0\u1eddi d\u00f9ng m\u1edf r\u1ed9ng.\n- **C\u00e1ch d\u00f9ng AI:** \u00c1p d\u1ee5ng c\u01a1 ch\u1ebf \u0111\u1ecbnh tuy\u1ebfn th\u00f4ng minh (Smart Model Routing) v\u00e0 n\u00e9n t\u1ed1i \u01b0u m\u00f4 h\u00ecnh theo c\u00e1c ph\u01b0\u01a1ng ph\u00e1p m\u1edbi nh\u1ea5t.\n- **Gi\u00e1 tr\u1ecb nh\u1eadn \u0111\u01b0\u1ee3c:** Gi\u1ea3m 40% - 60% h\u00f3a \u0111\u01a1n t\u00e0i nguy\u00ean \u0111\u00e1m m\u00e2y\/API m\u00e0 v\u1eabn \u0111\u1ea3m b\u1ea3o \u0111\u1ed9 tin c\u1eady trong c\u00e1c t\u00e1c v\u1ee5 th\u01b0\u1eddng ng\u00e0y.\n- **L\u01b0u \u00fd \/ R\u1ee7i ro:** C\u1ea7n thi\u1ebft l\u1eadp h\u1ec7 th\u1ed1ng gi\u00e1m s\u00e1t sai l\u1ec7ch m\u00f4 h\u00ecnh (Data Drift & Output Monitoring) \u0111\u1ec3 ph\u00e1t hi\u1ec7n s\u1edbm c\u00e1c d\u1ecb th\u01b0\u1eddng.\n\n### 3. Chu\u1ea9n h\u00f3a quy tr\u00ecnh l\u00e0m vi\u1ec7c cho L\u1eadp tr\u00ecnh vi\u00ean v\u00e0 Product Team\n- **B\u1ed1i c\u1ea3nh:** \u0110\u1ed9i ng\u0169 ph\u00e1t tri\u1ec3n c\u1ea7n n\u1eafm b\u1eaft c\u00f4ng ngh\u1ec7 m\u1edbi m\u00e0 kh\u00f4ng l\u00e0m gi\u00e1n \u0111o\u1ea1n ti\u1ebfn \u0111\u1ed9 sprint hi\u1ec7n t\u1ea1i.\n- **C\u00e1ch d\u00f9ng AI:** T\u1ea1o m\u00f4i tr\u01b0\u1eddng th\u1eed nghi\u1ec7m (Sandbox\/Dev environment) \u0111\u1ec3 th\u1eed nghi\u1ec7m c\u00e1c t\u00ednh n\u0103ng AI m\u1edbi v\u1edbi d\u1eef li\u1ec7u m\u1eabu (mock data).\n- **Gi\u00e1 tr\u1ecb nh\u1eadn \u0111\u01b0\u1ee3c:** Gi\u00fap c\u1ea3 Developer v\u00e0 PM hi\u1ec3u r\u00f5 ranh gi\u1edbi kh\u1ea3 n\u0103ng v\u00e0 chi ph\u00ed c\u1ee7a c\u00f4ng ngh\u1ec7 tr\u01b0\u1edbc khi ch\u00ednh th\u1ee9c \u0111\u01b0a v\u00e0o roadmap s\u1ea3n ph\u1ea9m.\n- **L\u01b0u \u00fd \/ R\u1ee7i ro:** Tuy\u1ec7t \u0111\u1ed1i kh\u00f4ng \u0111\u01b0a d\u1eef li\u1ec7u kh\u00e1ch h\u00e0ng nh\u1ea1y c\u1ea3m v\u00e0o c\u00e1c c\u00f4ng c\u1ee5 b\u00ean ngo\u00e0i ch\u01b0a \u0111\u01b0\u1ee3c ki\u1ec3m to\u00e1n b\u1ea3o m\u1eadt.\n\n## Nh\u1eefng \u0111i\u1ec3m c\u1ea7n th\u1eadn tr\u1ecdng\n- **\u0110\u1ed9 ch\u00ednh x\u00e1c v\u00e0 t\u00ednh nh\u1ea5t qu\u00e1n (Consistency):** C\u00e1c m\u00f4 h\u00ecnh x\u00e1c su\u1ea5t lu\u00f4n ti\u1ec1m \u1ea9n t\u1ef7 l\u1ec7 sai s\u1ed1; lu\u00f4n c\u1ea7n c\u00f3 c\u01a1 ch\u1ebf Fallback ho\u1eb7c ki\u1ec3m tra ch\u00e9o (Cross-check) cho c\u00e1c lu\u1ed3ng nghi\u1ec7p v\u1ee5 quan tr\u1ecdng.\n- **Ki\u1ec3m so\u00e1t ng\u00e2n s\u00e1ch v\u1eadn h\u00e0nh:** Thi\u1ebft l\u1eadp h\u1ea1n m\u1ee9c chi ph\u00ed (Budget Cap) v\u00e0 c\u01a1 ch\u1ebf Rate Limiting \u0111\u1ec3 ph\u00f2ng ng\u1eeba t\u00ecnh tr\u1ea1ng b\u00f9ng n\u1ed5 chi ph\u00ed do c\u00e1c v\u00f2ng l\u1eb7p ngo\u00e0i \u00fd mu\u1ed1n.\n- **Quy\u1ec1n ri\u00eang t\u01b0 v\u00e0 b\u1ea3n quy\u1ec1n d\u1eef li\u1ec7u:** Lu\u00f4n xem x\u00e9t k\u1ef9 \u0111i\u1ec1u kho\u1ea3n s\u1eed d\u1ee5ng (Terms of Service) c\u1ee7a c\u00e1c ngu\u1ed3n d\u1eef li\u1ec7u v\u00e0 API b\u00ean th\u1ee9 ba tr\u01b0\u1edbc khi t\u00edch h\u1ee3p v\u00e0o s\u1ea3n ph\u1ea9m th\u01b0\u01a1ng m\u1ea1i.\n\n## \u0110i\u1ec3m nhanh c\u00e1c tin t\u1ee9c AI \u0111\u00e1ng ch\u00fa \u00fd kh\u00e1c c\u00f9ng bu\u1ed5i\n- **[Hugging Face Papers]** [[Research] Ego2Act: Evaluating Goal-Directed Manipulation in Egocentric Video Generation](https:\/\/huggingface.co\/papers\/2610.01092): Video generation models are increasingly being explored as world simulators for embodied planning and learning. To do so effectively, these models must not...\n- **[Hacker News]** [RuneScape's Position on Gen AI](https:\/\/www.reddit.com\/r\/2007scape\/comments\/1wxfyzp\/runescapes_position_on_gen_ai\/): Th\u1ea3o lu\u1eadn s\u00f4i n\u1ed5i tr\u00ean Hacker News: 26 upvotes, 62 b\u00ecnh lu\u1eadn.\n- **[Hugging Face Papers]** [[Research] MemFold: Learning Compact Soft Memory for Long-Context Personalization via On-Policy Optimization](https:\/\/huggingface.co\/papers\/2609.36435): An assistant that serves the same user over a long horizon has to answer from what that user has revealed: which preferences still hold, which were revised,...\n\n## K\u1ebft lu\u1eadn\n1. **B\u1ea3n tin Bu\u1ed5i S\u00e1ng ghi nh\u1eadn tr\u1ecdng t\u00e2m chuy\u1ec3n d\u1ecbch m\u1ea1nh m\u1ebd sang hi\u1ec7u qu\u1ea3 th\u1ef1c t\u1ebf:** C\u00f4ng ngh\u1ec7 AI \u0111ang ch\u1ee9ng minh gi\u00e1 tr\u1ecb qua c\u00e1c gi\u1ea3i ph\u00e1p t\u1ed1i \u01b0u c\u1ee5 th\u1ec3 ch\u1ee9 kh\u00f4ng c\u00f2n l\u00e0 nh\u1eefng l\u1eddi h\u1ee9a h\u1eb9n chung chung.\n2. **T\u1ed1i \u01b0u h\u00f3a h\u1ea1 t\u1ea7ng v\u00e0 \u0111\u1ed9 tin c\u1eady l\u00e0 ch\u00eca kh\u00f3a then ch\u1ed1t:** Kh\u1ea3 n\u0103ng n\u00e9n m\u00f4 h\u00ecnh, ki\u1ebfn tr\u00fac suy lu\u1eadn hi\u1ec7u qu\u1ea3 v\u00e0 c\u00e1c r\u00e0o ch\u1eafn ki\u1ec3m so\u00e1t an to\u00e0n l\u00e0 y\u1ebfu t\u1ed1 s\u1ed1ng c\u00f2n \u0111\u1ec3 \u0111\u01b0a AI ra m\u00f4i tr\u01b0\u1eddng th\u1ef1c t\u1ebf.\n3. **H\u00e0nh \u0111\u1ed9ng g\u1ee3i \u00fd:** L\u1eadp tr\u00ecnh vi\u00ean n\u00ean d\u00e0nh th\u1eddi gian th\u1eed nghi\u1ec7m c\u00e1c th\u01b0 vi\u1ec7n v\u00e0 m\u00f4 h\u00ecnh m\u1edbi trong m\u00f4i tr\u01b0\u1eddng local\/sandbox; c\u00e1c Product Manager n\u00ean \u0111\u00e1nh gi\u00e1 k\u1ef9 b\u00e0i to\u00e1n chi ph\u00ed (ROI) tr\u01b0\u1edbc khi t\u00edch h\u1ee3p v\u00e0o s\u1ea3n ph\u1ea9m.\n\n## Ngu\u1ed3n tham kh\u1ea3o\n- [The Verge AI: NJ\u2019s former Lt Gov is using AI to say he\u2019s innocent of sexual harassment](https:\/\/www.theverge.com\/ai-artificial-intelligence\/1004549\/well-if-ai-said-it-it-must-be-true)\n- [Hacker News: Homa: The end of TCP for AI clusters [video]](https:\/\/www.youtube.com\/watch?v=eZ8WWZzoaR0)\n- [The Verge AI: An AI couldn\u2019t beat humans at StarCraft, so it decided to cheat](https:\/\/www.theverge.com\/ai-artificial-intelligence\/1004543\/openai-gpt-cheat-starcraft)\n- [Hugging Face Papers: [Research] Ego2Act: Evaluating Goal-Directed Manipulation in Egocentric Video Generation](https:\/\/huggingface.co\/papers\/2610.01092)\n- [Hacker News: RuneScape's Position on Gen AI](https:\/\/www.reddit.com\/r\/2007scape\/comments\/1wxfyzp\/runescapes_position_on_gen_ai\/)\n- [Hugging Face Papers: [Research] MemFold: Learning Compact Soft Memory for Long-Context Personalization via On-Policy Optimization](https:\/\/huggingface.co\/papers\/2609.36435)","published_at":"2026-10-05T01:27:09.000000Z","scheduled_publish_at":null,"is_published":true,"is_shared":false,"updated_at":"2026-10-05T11:00:14.000000Z","edited_at":"2026-10-05T01:27:09.000000Z","translation_source":null,"trend_at":null,"promoted_at":null,"reading_time":10,"points":0,"views_count":18,"clips_count":0,"comments_count":0,"rated_value":null,"promoted":false,"trending":false,"is_draft":false,"is_public":true,"locale_code":"vi","is_video":false,"thumbnail_url":null,"user":{"data":{"id":207145,"url":"https:\/\/viblo.asia\/u\/trinhxuanchinh.dev","avatar":"e9fab45a-769c-43f6-8876-0f6b989171cb.jpeg","name":"Xu\u00e2n Chinh Tr\u1ecbnh","username":"trinhxuanchinh.dev","followers_count":3,"reputation":34,"posts_count":192,"banned_at":null,"level_partner":null,"following":false}},"tags":{"data":[{"slug":"ai","name":"AI"},{"slug":"artificial-intelligence","name":"Artificial Intelligence"},{"slug":"deep-learning","name":"Deep Learning"},{"slug":"machine-learning","name":"Machine Learning"},{"slug":"technology","name":"Technology"}]},"commentators":{"data":[]}},{"id":108259,"title":"AI Bu\u1ed5i Chi\u1ec1u (05\/10\/2026): Ti\u00eau \u0111i\u1ec3m Google froze its open source bug bounty program due to a \u2018si v\u00e0 nh\u1eefng b\u01b0\u1edbc chuy\u1ec3n t\u1eeb Hacker News","slug":"oW4oeAazLml","url":"https:\/\/viblo.asia\/p\/ai-buoi-chieu-05102026-tieu-diem-google-froze-its-open-source-bug-bounty-program-due-to-a-si-va-nhung-buoc-chuyen-tu-hacker-news-oW4oeAazLml","user_id":207145,"moderation":"pending","transliterated":"ai-buoi-chieu-05102026-tieu-diem-google-froze-its-open-source-bug-bounty-program-due-to-a-si-va-nhung-buoc-chuyen-tu-hacker-news","contents_short":"\nAI Bu\u1ed5i Chi\u1ec1u (05\/10\/2026): Ti\u00eau \u0111i\u1ec3m Google froze its open source bug bounty program due to a \u2018si v\u00e0 nh\u1eefng b\u01b0\u1edbc chuy\u1ec3n t\u1eeb Hacker News\n\nTrong phi\u00ean bu\u1ed5i chi\u1ec1u ng\u00e0y 05\/10\/2026, c\u1ed9ng \u0111\u1ed3ng c\u00f4ng ngh\u1ec7 ghi nh\u1eadn h\u00e0ng lo\u1ea1t c\u00f4ng b\u1ed1 th\u1ef1c ti\u1ec5n \u0111\u00e1ng ch\u00fa \u00fd. T\u00e2m \u0111i\u1ec3m h\u00e0ng \u0111\u1ea7u xu\u1ea5t ph\u00e1t t\u1eeb TechCrunch AI v\u1edbi s\u1ef1 ki\u1ec7n \"Google froze its open source bug bounty program due to a \u2018significant rise\u2019 in AI submissions...","contents":"![AI Daily Bulletin](https:\/\/images.unsplash.com\/photo-1485827404703-89b55fcc595e?auto=format&fit=crop&w=1200&q=80)\n\n# AI Bu\u1ed5i Chi\u1ec1u (05\/10\/2026): Ti\u00eau \u0111i\u1ec3m Google froze its open source bug bounty program due to a \u2018si v\u00e0 nh\u1eefng b\u01b0\u1edbc chuy\u1ec3n t\u1eeb Hacker News\n\n> Trong phi\u00ean bu\u1ed5i chi\u1ec1u ng\u00e0y 05\/10\/2026, c\u1ed9ng \u0111\u1ed3ng c\u00f4ng ngh\u1ec7 ghi nh\u1eadn h\u00e0ng lo\u1ea1t c\u00f4ng b\u1ed1 th\u1ef1c ti\u1ec5n \u0111\u00e1ng ch\u00fa \u00fd. T\u00e2m \u0111i\u1ec3m h\u00e0ng \u0111\u1ea7u xu\u1ea5t ph\u00e1t t\u1eeb **TechCrunch AI** v\u1edbi s\u1ef1 ki\u1ec7n *\"Google froze its open source bug bounty program due to a \u2018significant rise\u2019 in AI submissions\"*, song song c\u00f9ng c\u00e1c c\u1eadp nh\u1eadt k\u1ef9 thu\u1eadt quan tr\u1ecdng t\u1eeb **Hacker News**. D\u01b0\u1edbi g\u00f3c nh\u00ecn c\u1ee7a l\u1eadp tr\u00ecnh vi\u00ean v\u00e0 ng\u01b0\u1eddi l\u00e0m s\u1ea3n ph\u1ea9m, \u0111\u00e2y l\u00e0 th\u1eddi \u0111i\u1ec3m \u0111\u1ecbnh h\u00ecnh r\u00f5 n\u00e9t xu h\u01b0\u1edbng \u1ee9ng d\u1ee5ng AI v\u00e0o h\u1ec7 th\u1ed1ng s\u1ea3n xu\u1ea5t.\n\n## \u0110i\u1ec1u g\u00ec \u0111\u00e3 x\u1ea3y ra?\nT\u00e2m \u0111i\u1ec3m c\u1ee7a bu\u1ed5i chi\u1ec1u h\u00f4m nay xoay quanh c\u00e1c chuy\u1ec3n \u0111\u1ed9ng c\u00f4ng ngh\u1ec7 m\u1edbi \u0111\u01b0\u1ee3c c\u00f4ng b\u1ed1:\n- **TechCrunch AI \u2014 Google froze its open source bug bounty program due to a \u2018significant rise\u2019 in AI submissions**:\n  Last day to exhibit your breakthrough to 10,000+ tech leaders at Disrupt is on Oct 2. Book Exhibit Table Now. Disrupt doors open Oct. 13. Get your pass and bring someone with you at 50% off. REGISTER NOW.\n\n- **Hacker News \u2014 Religious scholars met with Anthropic**:\n  https:&#x2F;&#x2F;archive.is&#x2F;y8FW0\n\n- **TechCrunch AI \u2014 Can \u2018super intelligence\u2019 and a non-binding safety pact solve AI\u2019s image problem?**:\n  Last day to exhibit your breakthrough to 10,000+ tech leaders at Disrupt is on Oct 2. Book Exhibit Table Now. Disrupt doors open Oct. 13. Get your pass and bring someone with you at 50% off. REGISTER NOW.\n\n## V\u00ec sao \u0111i\u1ec1u n\u00e0y quan tr\u1ecdng?\nNh\u1eefng di\u1ec5n bi\u1ebfn n\u00e0y mang l\u1ea1i hai th\u00f4ng \u0111i\u1ec7p r\u1ea5t r\u00f5 r\u00e0ng cho th\u1ecb tr\u01b0\u1eddng c\u00f4ng ngh\u1ec7 hi\u1ec7n nay:\n1. **N\u00e2ng cao n\u0103ng l\u1ef1c m\u00f4 h\u00ecnh n\u1ec1n t\u1ea3ng:** C\u00e1c b\u01b0\u1edbc ti\u1ebfn m\u1edbi li\u00ean t\u1ee5c \u0111\u1ea9y gi\u1edbi h\u1ea1n v\u1ec1 \u0111\u1ed9 ch\u00ednh x\u00e1c, kh\u1ea3 n\u0103ng suy lu\u1eadn tu\u1ea7n t\u1ef1 v\u00e0 t\u1ed1c \u0111\u1ed9 ph\u1ea3n h\u1ed3i c\u1ee7a m\u00f4 h\u00ecnh.\n2. **T\u00ednh kh\u1ea3 thi cao cho \u0111\u1ed9i ng\u0169 ph\u00e1t tri\u1ec3n ph\u1ea7n m\u1ec1m:** C\u00e1c gi\u1ea3i ph\u00e1p m\u1edbi \u0111\u1ec1u h\u01b0\u1edbng t\u1edbi t\u00ednh module h\u00f3a, d\u1ec5 d\u00e0ng t\u00edch h\u1ee3p qua API ho\u1eb7c container h\u00f3a trong quy tr\u00ecnh CI\/CD.\n\n## G\u00f3c nh\u00ecn k\u1ef9 thu\u1eadt \/ c\u00e1ch ho\u1ea1t \u0111\u1ed9ng\n\u0110\u1ec3 hi\u1ec3u r\u00f5 b\u1ea3n ch\u1ea5t c\u1ee7a c\u00e1c gi\u1ea3i ph\u00e1p AI \u0111ang \u0111\u01b0\u1ee3c tri\u1ec3n khai, ch\u00fang ta c\u1ea7n l\u00e0m r\u00f5 m\u1ed9t s\u1ed1 c\u01a1 ch\u1ebf k\u1ef9 thu\u1eadt then ch\u1ed1t:\n\n- **AI Safety & Alignment (C\u0103n ch\u1ec9nh an to\u00e0n AI)**: Nghi\u00ean c\u1ee9u v\u00e0 ph\u01b0\u01a1ng ph\u00e1p nh\u1eb1m \u0111\u1ea3m b\u1ea3o m\u00f4 h\u00ecnh AI ho\u1ea1t \u0111\u1ed9ng \u0111\u00fang \u00fd \u0111\u1ecbnh c\u1ee7a con ng\u01b0\u1eddi, kh\u00f4ng \u0111\u01b0a ra c\u00e1c h\u01b0\u1edbng d\u1eabn g\u00e2y h\u1ea1i (v\u0169 kh\u00ed sinh h\u1ecdc, t\u1ea5n c\u00f4ng m\u1ea1ng, t\u1ef1 h\u1ea1i) v\u00e0 tu\u00e2n th\u1ee7 c\u00e1c chu\u1ea9n m\u1ef1c \u0111\u1ea1o \u0111\u1ee9c.\n- **Open Weights \/ Open Source AI**: C\u00e1c m\u00f4 h\u00ecnh AI m\u00e0 nh\u00e0 ph\u00e1t tri\u1ec3n c\u00f4ng khai to\u00e0n b\u1ed9 b\u1ed9 tr\u1ecdng s\u1ed1 (weights) cho c\u1ed9ng \u0111\u1ed3ng t\u1ea3i v\u1ec1 t\u1ef1 l\u01b0u tr\u1eef (self-host) v\u00e0 t\u00f9y bi\u1ebfn tr\u00ean m\u00e1y ch\u1ee7 ri\u00eang (nh\u01b0 Meta Llama, Mistral, Qwen, DeepSeek).\n\n### Ki\u1ebfn tr\u00fac X\u1eed l\u00fd Suy lu\u1eadn & Ki\u1ec3m so\u00e1t An to\u00e0n (AI Inference Flow)\n![Ki\u1ebfn tr\u00fac c\u00f4ng ngh\u1ec7 AI](https:\/\/images.unsplash.com\/photo-1526374965328-7f61d4dc18c5?auto=format&fit=crop&w=1000&q=80)\n\nQuy tr\u00ecnh x\u1eed l\u00fd chu\u1ea9n h\u00f3a trong h\u1ec7 th\u1ed1ng th\u1ef1c t\u1ebf \u0111\u01b0\u1ee3c th\u1ec3 hi\u1ec7n nh\u01b0 sau:\n```text\nClient Request \u2192 Prompt Template & RAG Context \u2192 Model Inference \u2192 Output Guardrails \/ Fact-check \u2192 Final Response\n```\n\n## \u1ee8ng d\u1ee5ng th\u1ef1c t\u1ebf\nD\u01b0\u1edbi \u0111\u00e2y l\u00e0 3 t\u00ecnh hu\u1ed1ng c\u1ee5 th\u1ec3 m\u00e0 l\u1eadp tr\u00ecnh vi\u00ean v\u00e0 Product Manager c\u00f3 th\u1ec3 tham kh\u1ea3o \u00e1p d\u1ee5ng ngay cho s\u1ea3n ph\u1ea9m c\u1ee7a m\u00ecnh:\n\n### 1. \u1ee8ng d\u1ee5ng Google froze its open source bug bounty progr v\u00e0o h\u1ec7 th\u1ed1ng Backend\n- **B\u1ed1i c\u1ea3nh:** Nh\u00f3m ph\u00e1t tri\u1ec3n c\u1ea7n gi\u1ea3i quy\u1ebft b\u00e0i to\u00e1n c\u1ed1t l\u00f5i li\u00ean quan \u0111\u1ebfn d\u1eef li\u1ec7u ho\u1eb7c t\u1ef1 \u0111\u1ed9ng h\u00f3a nghi\u1ec7p v\u1ee5 cho s\u1ea3n ph\u1ea9m hi\u1ec7n t\u1ea1i.\n- **C\u00e1ch d\u00f9ng AI:** T\u1eadn d\u1ee5ng c\u00f4ng ngh\u1ec7 v\u00e0 ki\u1ebfn tr\u00fac m\u1edbi \u0111\u01b0\u1ee3c c\u00f4ng b\u1ed1, tri\u1ec3n khai d\u01b0\u1edbi d\u1ea1ng Microservice \u0111\u1ed9c l\u1eadp k\u1ebft n\u1ed1i qua REST API ho\u1eb7c gRPC.\n- **Gi\u00e1 tr\u1ecb nh\u1eadn \u0111\u01b0\u1ee3c:** C\u1ea3i thi\u1ec7n \u0111\u00e1ng k\u1ec3 hi\u1ec7u n\u0103ng x\u1eed l\u00fd, r\u00fat ng\u1eafn th\u1eddi gian ph\u1ea3n h\u1ed3i cho ng\u01b0\u1eddi d\u00f9ng cu\u1ed1i v\u00e0 gi\u1ea3m thi\u1ec3u thao t\u00e1c th\u1ee7 c\u00f4ng.\n- **L\u01b0u \u00fd \/ R\u1ee7i ro:** C\u1ea7n x\u00e2y d\u1ef1ng b\u1ed9 d\u1eef li\u1ec7u benchmark ki\u1ec3m th\u1eed (Gold dataset) n\u1ed9i b\u1ed9 tr\u01b0\u1edbc khi chuy\u1ec3n sang giai \u0111o\u1ea1n production.\n\n### 2. T\u1ed1i \u01b0u h\u00f3a quy tr\u00ecnh d\u1ef1a tr\u00ean c\u00f4ng ngh\u1ec7 t\u1eeb Hacker News\n- **B\u1ed1i c\u1ea3nh:** Chi ph\u00ed v\u1eadn h\u00e0nh h\u1ea1 t\u1ea7ng AI v\u00e0 \u0111\u1ed9 ph\u1ee9c t\u1ea1p trong b\u1ea3o tr\u00ec h\u1ec7 th\u1ed1ng t\u0103ng cao khi quy m\u00f4 ng\u01b0\u1eddi d\u00f9ng m\u1edf r\u1ed9ng.\n- **C\u00e1ch d\u00f9ng AI:** \u00c1p d\u1ee5ng c\u01a1 ch\u1ebf \u0111\u1ecbnh tuy\u1ebfn th\u00f4ng minh (Smart Model Routing) v\u00e0 n\u00e9n t\u1ed1i \u01b0u m\u00f4 h\u00ecnh theo c\u00e1c ph\u01b0\u01a1ng ph\u00e1p m\u1edbi nh\u1ea5t.\n- **Gi\u00e1 tr\u1ecb nh\u1eadn \u0111\u01b0\u1ee3c:** Gi\u1ea3m 40% - 60% h\u00f3a \u0111\u01a1n t\u00e0i nguy\u00ean \u0111\u00e1m m\u00e2y\/API m\u00e0 v\u1eabn \u0111\u1ea3m b\u1ea3o \u0111\u1ed9 tin c\u1eady trong c\u00e1c t\u00e1c v\u1ee5 th\u01b0\u1eddng ng\u00e0y.\n- **L\u01b0u \u00fd \/ R\u1ee7i ro:** C\u1ea7n thi\u1ebft l\u1eadp h\u1ec7 th\u1ed1ng gi\u00e1m s\u00e1t sai l\u1ec7ch m\u00f4 h\u00ecnh (Data Drift & Output Monitoring) \u0111\u1ec3 ph\u00e1t hi\u1ec7n s\u1edbm c\u00e1c d\u1ecb th\u01b0\u1eddng.\n\n### 3. Chu\u1ea9n h\u00f3a quy tr\u00ecnh l\u00e0m vi\u1ec7c cho L\u1eadp tr\u00ecnh vi\u00ean v\u00e0 Product Team\n- **B\u1ed1i c\u1ea3nh:** \u0110\u1ed9i ng\u0169 ph\u00e1t tri\u1ec3n c\u1ea7n n\u1eafm b\u1eaft c\u00f4ng ngh\u1ec7 m\u1edbi m\u00e0 kh\u00f4ng l\u00e0m gi\u00e1n \u0111o\u1ea1n ti\u1ebfn \u0111\u1ed9 sprint hi\u1ec7n t\u1ea1i.\n- **C\u00e1ch d\u00f9ng AI:** T\u1ea1o m\u00f4i tr\u01b0\u1eddng th\u1eed nghi\u1ec7m (Sandbox\/Dev environment) \u0111\u1ec3 th\u1eed nghi\u1ec7m c\u00e1c t\u00ednh n\u0103ng AI m\u1edbi v\u1edbi d\u1eef li\u1ec7u m\u1eabu (mock data).\n- **Gi\u00e1 tr\u1ecb nh\u1eadn \u0111\u01b0\u1ee3c:** Gi\u00fap c\u1ea3 Developer v\u00e0 PM hi\u1ec3u r\u00f5 ranh gi\u1edbi kh\u1ea3 n\u0103ng v\u00e0 chi ph\u00ed c\u1ee7a c\u00f4ng ngh\u1ec7 tr\u01b0\u1edbc khi ch\u00ednh th\u1ee9c \u0111\u01b0a v\u00e0o roadmap s\u1ea3n ph\u1ea9m.\n- **L\u01b0u \u00fd \/ R\u1ee7i ro:** Tuy\u1ec7t \u0111\u1ed1i kh\u00f4ng \u0111\u01b0a d\u1eef li\u1ec7u kh\u00e1ch h\u00e0ng nh\u1ea1y c\u1ea3m v\u00e0o c\u00e1c c\u00f4ng c\u1ee5 b\u00ean ngo\u00e0i ch\u01b0a \u0111\u01b0\u1ee3c ki\u1ec3m to\u00e1n b\u1ea3o m\u1eadt.\n\n## Nh\u1eefng \u0111i\u1ec3m c\u1ea7n th\u1eadn tr\u1ecdng\n- **\u0110\u1ed9 ch\u00ednh x\u00e1c v\u00e0 t\u00ednh nh\u1ea5t qu\u00e1n (Consistency):** C\u00e1c m\u00f4 h\u00ecnh x\u00e1c su\u1ea5t lu\u00f4n ti\u1ec1m \u1ea9n t\u1ef7 l\u1ec7 sai s\u1ed1; lu\u00f4n c\u1ea7n c\u00f3 c\u01a1 ch\u1ebf Fallback ho\u1eb7c ki\u1ec3m tra ch\u00e9o (Cross-check) cho c\u00e1c lu\u1ed3ng nghi\u1ec7p v\u1ee5 quan tr\u1ecdng.\n- **Ki\u1ec3m so\u00e1t ng\u00e2n s\u00e1ch v\u1eadn h\u00e0nh:** Thi\u1ebft l\u1eadp h\u1ea1n m\u1ee9c chi ph\u00ed (Budget Cap) v\u00e0 c\u01a1 ch\u1ebf Rate Limiting \u0111\u1ec3 ph\u00f2ng ng\u1eeba t\u00ecnh tr\u1ea1ng b\u00f9ng n\u1ed5 chi ph\u00ed do c\u00e1c v\u00f2ng l\u1eb7p ngo\u00e0i \u00fd mu\u1ed1n.\n- **Quy\u1ec1n ri\u00eang t\u01b0 v\u00e0 b\u1ea3n quy\u1ec1n d\u1eef li\u1ec7u:** Lu\u00f4n xem x\u00e9t k\u1ef9 \u0111i\u1ec1u kho\u1ea3n s\u1eed d\u1ee5ng (Terms of Service) c\u1ee7a c\u00e1c ngu\u1ed3n d\u1eef li\u1ec7u v\u00e0 API b\u00ean th\u1ee9 ba tr\u01b0\u1edbc khi t\u00edch h\u1ee3p v\u00e0o s\u1ea3n ph\u1ea9m th\u01b0\u01a1ng m\u1ea1i.\n\n## \u0110i\u1ec3m nhanh c\u00e1c tin t\u1ee9c AI \u0111\u00e1ng ch\u00fa \u00fd kh\u00e1c c\u00f9ng bu\u1ed5i\n- **[Hugging Face Papers]** [[Research] Replacing Large Language Models with Jev Decision Models for Low-Latency Edge Service Orchestration](https:\/\/huggingface.co\/papers\/2609.22753): Natural-language service requests can require a language-model decision before execution starts, consuming part of the request's latency budget. We integrate...\n- **[Hacker News]** [\"Torturing\" LLMs in a Robot Prison Has Triggered the Dumbest Debate in AI Yet](https:\/\/www.404media.co\/someone-torturing-llms-in-a-robot-prison-has-triggered-the-dumbest-debate-in-ai-yet\/): Th\u1ea3o lu\u1eadn s\u00f4i n\u1ed5i tr\u00ean Hacker News: 42 upvotes, 100 b\u00ecnh lu\u1eadn.\n- **[TechCrunch AI]** [Trump unveils his new Super Intelligence Force](https:\/\/techcrunch.com\/2026\/10\/04\/trump-unveils-his-new-super-intelligence-force\/): This new task force is Trump's latest response to the debate over AI safety.\n\n## K\u1ebft lu\u1eadn\n1. **B\u1ea3n tin Bu\u1ed5i Chi\u1ec1u ghi nh\u1eadn tr\u1ecdng t\u00e2m chuy\u1ec3n d\u1ecbch m\u1ea1nh m\u1ebd sang hi\u1ec7u qu\u1ea3 th\u1ef1c t\u1ebf:** C\u00f4ng ngh\u1ec7 AI \u0111ang ch\u1ee9ng minh gi\u00e1 tr\u1ecb qua c\u00e1c gi\u1ea3i ph\u00e1p t\u1ed1i \u01b0u c\u1ee5 th\u1ec3 ch\u1ee9 kh\u00f4ng c\u00f2n l\u00e0 nh\u1eefng l\u1eddi h\u1ee9a h\u1eb9n chung chung.\n2. **T\u1ed1i \u01b0u h\u00f3a h\u1ea1 t\u1ea7ng v\u00e0 \u0111\u1ed9 tin c\u1eady l\u00e0 ch\u00eca kh\u00f3a then ch\u1ed1t:** Kh\u1ea3 n\u0103ng n\u00e9n m\u00f4 h\u00ecnh, ki\u1ebfn tr\u00fac suy lu\u1eadn hi\u1ec7u qu\u1ea3 v\u00e0 c\u00e1c r\u00e0o ch\u1eafn ki\u1ec3m so\u00e1t an to\u00e0n l\u00e0 y\u1ebfu t\u1ed1 s\u1ed1ng c\u00f2n \u0111\u1ec3 \u0111\u01b0a AI ra m\u00f4i tr\u01b0\u1eddng th\u1ef1c t\u1ebf.\n3. **H\u00e0nh \u0111\u1ed9ng g\u1ee3i \u00fd:** L\u1eadp tr\u00ecnh vi\u00ean n\u00ean d\u00e0nh th\u1eddi gian th\u1eed nghi\u1ec7m c\u00e1c th\u01b0 vi\u1ec7n v\u00e0 m\u00f4 h\u00ecnh m\u1edbi trong m\u00f4i tr\u01b0\u1eddng local\/sandbox; c\u00e1c Product Manager n\u00ean \u0111\u00e1nh gi\u00e1 k\u1ef9 b\u00e0i to\u00e1n chi ph\u00ed (ROI) tr\u01b0\u1edbc khi t\u00edch h\u1ee3p v\u00e0o s\u1ea3n ph\u1ea9m.\n\n## Ngu\u1ed3n tham kh\u1ea3o\n- [TechCrunch AI: Google froze its open source bug bounty program due to a \u2018significant rise\u2019 in AI submissions](https:\/\/techcrunch.com\/2026\/10\/04\/google-froze-its-open-source-bug-bounty-program-due-to-a-significant-rise-in-ai-submissions\/)\n- [Hacker News: Religious scholars met with Anthropic](https:\/\/www.nytimes.com\/2026\/09\/29\/us\/anthropic-claude-morals-ai.html)\n- [TechCrunch AI: Can \u2018super intelligence\u2019 and a non-binding safety pact solve AI\u2019s image problem?](https:\/\/techcrunch.com\/2026\/10\/04\/can-super-intelligence-and-a-non-binding-safety-pact-solve-ais-image-problem\/)\n- [Hugging Face Papers: [Research] Replacing Large Language Models with Jev Decision Models for Low-Latency Edge Service Orchestration](https:\/\/huggingface.co\/papers\/2609.22753)\n- [Hacker News: \"Torturing\" LLMs in a Robot Prison Has Triggered the Dumbest Debate in AI Yet](https:\/\/www.404media.co\/someone-torturing-llms-in-a-robot-prison-has-triggered-the-dumbest-debate-in-ai-yet\/)\n- [TechCrunch AI: Trump unveils his new Super Intelligence Force](https:\/\/techcrunch.com\/2026\/10\/04\/trump-unveils-his-new-super-intelligence-force\/)","published_at":"2026-10-05T01:19:54.000000Z","scheduled_publish_at":null,"is_published":true,"is_shared":false,"updated_at":"2026-10-05T01:19:55.000000Z","edited_at":"2026-10-05T01:19:52.000000Z","translation_source":null,"trend_at":null,"promoted_at":null,"reading_time":9,"points":0,"views_count":0,"clips_count":0,"comments_count":0,"rated_value":null,"promoted":false,"trending":false,"is_draft":false,"is_public":true,"locale_code":"vi","is_video":false,"thumbnail_url":null,"user":{"data":{"id":207145,"url":"https:\/\/viblo.asia\/u\/trinhxuanchinh.dev","avatar":"e9fab45a-769c-43f6-8876-0f6b989171cb.jpeg","name":"Xu\u00e2n Chinh Tr\u1ecbnh","username":"trinhxuanchinh.dev","followers_count":3,"reputation":34,"posts_count":192,"banned_at":null,"level_partner":null,"following":false}},"tags":{"data":[{"slug":"ai","name":"AI"},{"slug":"artificial-intelligence","name":"Artificial Intelligence"},{"slug":"deep-learning","name":"Deep Learning"},{"slug":"machine-learning","name":"Machine Learning"},{"slug":"technology","name":"Technology"}]},"commentators":{"data":[]}},{"id":108258,"title":"AI Bu\u1ed5i S\u00e1ng (05\/10\/2026): Ti\u00eau \u0111i\u1ec3m Google froze its open source bug bounty program due to a \u2018si v\u00e0 nh\u1eefng b\u01b0\u1edbc chuy\u1ec3n t\u1eeb Hacker News","slug":"vbLbj0BZLnk","url":"https:\/\/viblo.asia\/p\/ai-buoi-sang-05102026-tieu-diem-google-froze-its-open-source-bug-bounty-program-due-to-a-si-va-nhung-buoc-chuyen-tu-hacker-news-vbLbj0BZLnk","user_id":207145,"moderation":"pending","transliterated":"ai-buoi-sang-05102026-tieu-diem-google-froze-its-open-source-bug-bounty-program-due-to-a-si-va-nhung-buoc-chuyen-tu-hacker-news","contents_short":"\nAI Bu\u1ed5i S\u00e1ng (05\/10\/2026): Ti\u00eau \u0111i\u1ec3m Google froze its open source bug bounty program due to a \u2018si v\u00e0 nh\u1eefng b\u01b0\u1edbc chuy\u1ec3n t\u1eeb Hacker News\n\nTrong phi\u00ean bu\u1ed5i s\u00e1ng ng\u00e0y 05\/10\/2026, c\u1ed9ng \u0111\u1ed3ng c\u00f4ng ngh\u1ec7 ghi nh\u1eadn h\u00e0ng lo\u1ea1t c\u00f4ng b\u1ed1 th\u1ef1c ti\u1ec5n \u0111\u00e1ng ch\u00fa \u00fd. T\u00e2m \u0111i\u1ec3m h\u00e0ng \u0111\u1ea7u xu\u1ea5t ph\u00e1t t\u1eeb TechCrunch AI v\u1edbi s\u1ef1 ki\u1ec7n \"Google froze its open source bug bounty program due to a \u2018significant rise\u2019 in AI submissions\",...","contents":"![AI Daily Bulletin](https:\/\/images.unsplash.com\/photo-1620712943543-bcc4688e7485?auto=format&fit=crop&w=1200&q=80)\n\n# AI Bu\u1ed5i S\u00e1ng (05\/10\/2026): Ti\u00eau \u0111i\u1ec3m Google froze its open source bug bounty program due to a \u2018si v\u00e0 nh\u1eefng b\u01b0\u1edbc chuy\u1ec3n t\u1eeb Hacker News\n\n> Trong phi\u00ean bu\u1ed5i s\u00e1ng ng\u00e0y 05\/10\/2026, c\u1ed9ng \u0111\u1ed3ng c\u00f4ng ngh\u1ec7 ghi nh\u1eadn h\u00e0ng lo\u1ea1t c\u00f4ng b\u1ed1 th\u1ef1c ti\u1ec5n \u0111\u00e1ng ch\u00fa \u00fd. T\u00e2m \u0111i\u1ec3m h\u00e0ng \u0111\u1ea7u xu\u1ea5t ph\u00e1t t\u1eeb **TechCrunch AI** v\u1edbi s\u1ef1 ki\u1ec7n *\"Google froze its open source bug bounty program due to a \u2018significant rise\u2019 in AI submissions\"*, song song c\u00f9ng c\u00e1c c\u1eadp nh\u1eadt k\u1ef9 thu\u1eadt quan tr\u1ecdng t\u1eeb **Hacker News**. D\u01b0\u1edbi g\u00f3c nh\u00ecn c\u1ee7a l\u1eadp tr\u00ecnh vi\u00ean v\u00e0 ng\u01b0\u1eddi l\u00e0m s\u1ea3n ph\u1ea9m, \u0111\u00e2y l\u00e0 th\u1eddi \u0111i\u1ec3m \u0111\u1ecbnh h\u00ecnh r\u00f5 n\u00e9t xu h\u01b0\u1edbng \u1ee9ng d\u1ee5ng AI v\u00e0o h\u1ec7 th\u1ed1ng s\u1ea3n xu\u1ea5t.\n\n## \u0110i\u1ec1u g\u00ec \u0111\u00e3 x\u1ea3y ra?\nT\u00e2m \u0111i\u1ec3m c\u1ee7a bu\u1ed5i s\u00e1ng h\u00f4m nay xoay quanh c\u00e1c chuy\u1ec3n \u0111\u1ed9ng c\u00f4ng ngh\u1ec7 m\u1edbi \u0111\u01b0\u1ee3c c\u00f4ng b\u1ed1:\n- **TechCrunch AI \u2014 Google froze its open source bug bounty program due to a \u2018significant rise\u2019 in AI submissions**:\n  Last day to exhibit your breakthrough to 10,000+ tech leaders at Disrupt is on Oct 2. Book Exhibit Table Now. Disrupt doors open Oct. 13. Get your pass and bring someone with you at 50% off. REGISTER NOW.\n\n- **Hacker News \u2014 Religious scholars met with Anthropic**:\n  https:&#x2F;&#x2F;archive.is&#x2F;y8FW0\n\n- **TechCrunch AI \u2014 Can \u2018super intelligence\u2019 and a non-binding safety pact solve AI\u2019s image problem?**:\n  Last day to exhibit your breakthrough to 10,000+ tech leaders at Disrupt is on Oct 2. Book Exhibit Table Now. Disrupt doors open Oct. 13. Get your pass and bring someone with you at 50% off. REGISTER NOW.\n\n## V\u00ec sao \u0111i\u1ec1u n\u00e0y quan tr\u1ecdng?\nNh\u1eefng di\u1ec5n bi\u1ebfn n\u00e0y mang l\u1ea1i hai th\u00f4ng \u0111i\u1ec7p r\u1ea5t r\u00f5 r\u00e0ng cho th\u1ecb tr\u01b0\u1eddng c\u00f4ng ngh\u1ec7 hi\u1ec7n nay:\n1. **N\u00e2ng cao n\u0103ng l\u1ef1c m\u00f4 h\u00ecnh n\u1ec1n t\u1ea3ng:** C\u00e1c b\u01b0\u1edbc ti\u1ebfn m\u1edbi li\u00ean t\u1ee5c \u0111\u1ea9y gi\u1edbi h\u1ea1n v\u1ec1 \u0111\u1ed9 ch\u00ednh x\u00e1c, kh\u1ea3 n\u0103ng suy lu\u1eadn tu\u1ea7n t\u1ef1 v\u00e0 t\u1ed1c \u0111\u1ed9 ph\u1ea3n h\u1ed3i c\u1ee7a m\u00f4 h\u00ecnh.\n2. **T\u00ednh kh\u1ea3 thi cao cho \u0111\u1ed9i ng\u0169 ph\u00e1t tri\u1ec3n ph\u1ea7n m\u1ec1m:** C\u00e1c gi\u1ea3i ph\u00e1p m\u1edbi \u0111\u1ec1u h\u01b0\u1edbng t\u1edbi t\u00ednh module h\u00f3a, d\u1ec5 d\u00e0ng t\u00edch h\u1ee3p qua API ho\u1eb7c container h\u00f3a trong quy tr\u00ecnh CI\/CD.\n\n## G\u00f3c nh\u00ecn k\u1ef9 thu\u1eadt \/ c\u00e1ch ho\u1ea1t \u0111\u1ed9ng\n\u0110\u1ec3 hi\u1ec3u r\u00f5 b\u1ea3n ch\u1ea5t c\u1ee7a c\u00e1c gi\u1ea3i ph\u00e1p AI \u0111ang \u0111\u01b0\u1ee3c tri\u1ec3n khai, ch\u00fang ta c\u1ea7n l\u00e0m r\u00f5 m\u1ed9t s\u1ed1 c\u01a1 ch\u1ebf k\u1ef9 thu\u1eadt then ch\u1ed1t:\n\n- **AI Safety & Alignment (C\u0103n ch\u1ec9nh an to\u00e0n AI)**: Nghi\u00ean c\u1ee9u v\u00e0 ph\u01b0\u01a1ng ph\u00e1p nh\u1eb1m \u0111\u1ea3m b\u1ea3o m\u00f4 h\u00ecnh AI ho\u1ea1t \u0111\u1ed9ng \u0111\u00fang \u00fd \u0111\u1ecbnh c\u1ee7a con ng\u01b0\u1eddi, kh\u00f4ng \u0111\u01b0a ra c\u00e1c h\u01b0\u1edbng d\u1eabn g\u00e2y h\u1ea1i (v\u0169 kh\u00ed sinh h\u1ecdc, t\u1ea5n c\u00f4ng m\u1ea1ng, t\u1ef1 h\u1ea1i) v\u00e0 tu\u00e2n th\u1ee7 c\u00e1c chu\u1ea9n m\u1ef1c \u0111\u1ea1o \u0111\u1ee9c.\n- **Open Weights \/ Open Source AI**: C\u00e1c m\u00f4 h\u00ecnh AI m\u00e0 nh\u00e0 ph\u00e1t tri\u1ec3n c\u00f4ng khai to\u00e0n b\u1ed9 b\u1ed9 tr\u1ecdng s\u1ed1 (weights) cho c\u1ed9ng \u0111\u1ed3ng t\u1ea3i v\u1ec1 t\u1ef1 l\u01b0u tr\u1eef (self-host) v\u00e0 t\u00f9y bi\u1ebfn tr\u00ean m\u00e1y ch\u1ee7 ri\u00eang (nh\u01b0 Meta Llama, Mistral, Qwen, DeepSeek).\n\n### Ki\u1ebfn tr\u00fac X\u1eed l\u00fd Suy lu\u1eadn & Ki\u1ec3m so\u00e1t An to\u00e0n (AI Inference Flow)\n![Ki\u1ebfn tr\u00fac c\u00f4ng ngh\u1ec7 AI](https:\/\/images.unsplash.com\/photo-1526374965328-7f61d4dc18c5?auto=format&fit=crop&w=1000&q=80)\n\nQuy tr\u00ecnh x\u1eed l\u00fd chu\u1ea9n h\u00f3a trong h\u1ec7 th\u1ed1ng th\u1ef1c t\u1ebf \u0111\u01b0\u1ee3c th\u1ec3 hi\u1ec7n nh\u01b0 sau:\n```text\nClient Request \u2192 Prompt Template & RAG Context \u2192 Model Inference \u2192 Output Guardrails \/ Fact-check \u2192 Final Response\n```\n\n## \u1ee8ng d\u1ee5ng th\u1ef1c t\u1ebf\nD\u01b0\u1edbi \u0111\u00e2y l\u00e0 3 t\u00ecnh hu\u1ed1ng c\u1ee5 th\u1ec3 m\u00e0 l\u1eadp tr\u00ecnh vi\u00ean v\u00e0 Product Manager c\u00f3 th\u1ec3 tham kh\u1ea3o \u00e1p d\u1ee5ng ngay cho s\u1ea3n ph\u1ea9m c\u1ee7a m\u00ecnh:\n\n### 1. \u1ee8ng d\u1ee5ng Google froze its open source bug bounty progr v\u00e0o h\u1ec7 th\u1ed1ng Backend\n- **B\u1ed1i c\u1ea3nh:** Nh\u00f3m ph\u00e1t tri\u1ec3n c\u1ea7n gi\u1ea3i quy\u1ebft b\u00e0i to\u00e1n c\u1ed1t l\u00f5i li\u00ean quan \u0111\u1ebfn d\u1eef li\u1ec7u ho\u1eb7c t\u1ef1 \u0111\u1ed9ng h\u00f3a nghi\u1ec7p v\u1ee5 cho s\u1ea3n ph\u1ea9m hi\u1ec7n t\u1ea1i.\n- **C\u00e1ch d\u00f9ng AI:** T\u1eadn d\u1ee5ng c\u00f4ng ngh\u1ec7 v\u00e0 ki\u1ebfn tr\u00fac m\u1edbi \u0111\u01b0\u1ee3c c\u00f4ng b\u1ed1, tri\u1ec3n khai d\u01b0\u1edbi d\u1ea1ng Microservice \u0111\u1ed9c l\u1eadp k\u1ebft n\u1ed1i qua REST API ho\u1eb7c gRPC.\n- **Gi\u00e1 tr\u1ecb nh\u1eadn \u0111\u01b0\u1ee3c:** C\u1ea3i thi\u1ec7n \u0111\u00e1ng k\u1ec3 hi\u1ec7u n\u0103ng x\u1eed l\u00fd, r\u00fat ng\u1eafn th\u1eddi gian ph\u1ea3n h\u1ed3i cho ng\u01b0\u1eddi d\u00f9ng cu\u1ed1i v\u00e0 gi\u1ea3m thi\u1ec3u thao t\u00e1c th\u1ee7 c\u00f4ng.\n- **L\u01b0u \u00fd \/ R\u1ee7i ro:** C\u1ea7n x\u00e2y d\u1ef1ng b\u1ed9 d\u1eef li\u1ec7u benchmark ki\u1ec3m th\u1eed (Gold dataset) n\u1ed9i b\u1ed9 tr\u01b0\u1edbc khi chuy\u1ec3n sang giai \u0111o\u1ea1n production.\n\n### 2. T\u1ed1i \u01b0u h\u00f3a quy tr\u00ecnh d\u1ef1a tr\u00ean c\u00f4ng ngh\u1ec7 t\u1eeb Hacker News\n- **B\u1ed1i c\u1ea3nh:** Chi ph\u00ed v\u1eadn h\u00e0nh h\u1ea1 t\u1ea7ng AI v\u00e0 \u0111\u1ed9 ph\u1ee9c t\u1ea1p trong b\u1ea3o tr\u00ec h\u1ec7 th\u1ed1ng t\u0103ng cao khi quy m\u00f4 ng\u01b0\u1eddi d\u00f9ng m\u1edf r\u1ed9ng.\n- **C\u00e1ch d\u00f9ng AI:** \u00c1p d\u1ee5ng c\u01a1 ch\u1ebf \u0111\u1ecbnh tuy\u1ebfn th\u00f4ng minh (Smart Model Routing) v\u00e0 n\u00e9n t\u1ed1i \u01b0u m\u00f4 h\u00ecnh theo c\u00e1c ph\u01b0\u01a1ng ph\u00e1p m\u1edbi nh\u1ea5t.\n- **Gi\u00e1 tr\u1ecb nh\u1eadn \u0111\u01b0\u1ee3c:** Gi\u1ea3m 40% - 60% h\u00f3a \u0111\u01a1n t\u00e0i nguy\u00ean \u0111\u00e1m m\u00e2y\/API m\u00e0 v\u1eabn \u0111\u1ea3m b\u1ea3o \u0111\u1ed9 tin c\u1eady trong c\u00e1c t\u00e1c v\u1ee5 th\u01b0\u1eddng ng\u00e0y.\n- **L\u01b0u \u00fd \/ R\u1ee7i ro:** C\u1ea7n thi\u1ebft l\u1eadp h\u1ec7 th\u1ed1ng gi\u00e1m s\u00e1t sai l\u1ec7ch m\u00f4 h\u00ecnh (Data Drift & Output Monitoring) \u0111\u1ec3 ph\u00e1t hi\u1ec7n s\u1edbm c\u00e1c d\u1ecb th\u01b0\u1eddng.\n\n### 3. Chu\u1ea9n h\u00f3a quy tr\u00ecnh l\u00e0m vi\u1ec7c cho L\u1eadp tr\u00ecnh vi\u00ean v\u00e0 Product Team\n- **B\u1ed1i c\u1ea3nh:** \u0110\u1ed9i ng\u0169 ph\u00e1t tri\u1ec3n c\u1ea7n n\u1eafm b\u1eaft c\u00f4ng ngh\u1ec7 m\u1edbi m\u00e0 kh\u00f4ng l\u00e0m gi\u00e1n \u0111o\u1ea1n ti\u1ebfn \u0111\u1ed9 sprint hi\u1ec7n t\u1ea1i.\n- **C\u00e1ch d\u00f9ng AI:** T\u1ea1o m\u00f4i tr\u01b0\u1eddng th\u1eed nghi\u1ec7m (Sandbox\/Dev environment) \u0111\u1ec3 th\u1eed nghi\u1ec7m c\u00e1c t\u00ednh n\u0103ng AI m\u1edbi v\u1edbi d\u1eef li\u1ec7u m\u1eabu (mock data).\n- **Gi\u00e1 tr\u1ecb nh\u1eadn \u0111\u01b0\u1ee3c:** Gi\u00fap c\u1ea3 Developer v\u00e0 PM hi\u1ec3u r\u00f5 ranh gi\u1edbi kh\u1ea3 n\u0103ng v\u00e0 chi ph\u00ed c\u1ee7a c\u00f4ng ngh\u1ec7 tr\u01b0\u1edbc khi ch\u00ednh th\u1ee9c \u0111\u01b0a v\u00e0o roadmap s\u1ea3n ph\u1ea9m.\n- **L\u01b0u \u00fd \/ R\u1ee7i ro:** Tuy\u1ec7t \u0111\u1ed1i kh\u00f4ng \u0111\u01b0a d\u1eef li\u1ec7u kh\u00e1ch h\u00e0ng nh\u1ea1y c\u1ea3m v\u00e0o c\u00e1c c\u00f4ng c\u1ee5 b\u00ean ngo\u00e0i ch\u01b0a \u0111\u01b0\u1ee3c ki\u1ec3m to\u00e1n b\u1ea3o m\u1eadt.\n\n## Nh\u1eefng \u0111i\u1ec3m c\u1ea7n th\u1eadn tr\u1ecdng\n- **\u0110\u1ed9 ch\u00ednh x\u00e1c v\u00e0 t\u00ednh nh\u1ea5t qu\u00e1n (Consistency):** C\u00e1c m\u00f4 h\u00ecnh x\u00e1c su\u1ea5t lu\u00f4n ti\u1ec1m \u1ea9n t\u1ef7 l\u1ec7 sai s\u1ed1; lu\u00f4n c\u1ea7n c\u00f3 c\u01a1 ch\u1ebf Fallback ho\u1eb7c ki\u1ec3m tra ch\u00e9o (Cross-check) cho c\u00e1c lu\u1ed3ng nghi\u1ec7p v\u1ee5 quan tr\u1ecdng.\n- **Ki\u1ec3m so\u00e1t ng\u00e2n s\u00e1ch v\u1eadn h\u00e0nh:** Thi\u1ebft l\u1eadp h\u1ea1n m\u1ee9c chi ph\u00ed (Budget Cap) v\u00e0 c\u01a1 ch\u1ebf Rate Limiting \u0111\u1ec3 ph\u00f2ng ng\u1eeba t\u00ecnh tr\u1ea1ng b\u00f9ng n\u1ed5 chi ph\u00ed do c\u00e1c v\u00f2ng l\u1eb7p ngo\u00e0i \u00fd mu\u1ed1n.\n- **Quy\u1ec1n ri\u00eang t\u01b0 v\u00e0 b\u1ea3n quy\u1ec1n d\u1eef li\u1ec7u:** Lu\u00f4n xem x\u00e9t k\u1ef9 \u0111i\u1ec1u kho\u1ea3n s\u1eed d\u1ee5ng (Terms of Service) c\u1ee7a c\u00e1c ngu\u1ed3n d\u1eef li\u1ec7u v\u00e0 API b\u00ean th\u1ee9 ba tr\u01b0\u1edbc khi t\u00edch h\u1ee3p v\u00e0o s\u1ea3n ph\u1ea9m th\u01b0\u01a1ng m\u1ea1i.\n\n## \u0110i\u1ec3m nhanh c\u00e1c tin t\u1ee9c AI \u0111\u00e1ng ch\u00fa \u00fd kh\u00e1c c\u00f9ng bu\u1ed5i\n- **[Hugging Face Papers]** [[Research] Replacing Large Language Models with Jev Decision Models for Low-Latency Edge Service Orchestration](https:\/\/huggingface.co\/papers\/2609.22753): Natural-language service requests can require a language-model decision before execution starts, consuming part of the request's latency budget. We integrate...\n- **[Hacker News]** [\"Torturing\" LLMs in a Robot Prison Has Triggered the Dumbest Debate in AI Yet](https:\/\/www.404media.co\/someone-torturing-llms-in-a-robot-prison-has-triggered-the-dumbest-debate-in-ai-yet\/): Th\u1ea3o lu\u1eadn s\u00f4i n\u1ed5i tr\u00ean Hacker News: 42 upvotes, 100 b\u00ecnh lu\u1eadn.\n- **[TechCrunch AI]** [Trump unveils his new Super Intelligence Force](https:\/\/techcrunch.com\/2026\/10\/04\/trump-unveils-his-new-super-intelligence-force\/): This new task force is Trump's latest response to the debate over AI safety.\n\n## K\u1ebft lu\u1eadn\n1. **B\u1ea3n tin Bu\u1ed5i S\u00e1ng ghi nh\u1eadn tr\u1ecdng t\u00e2m chuy\u1ec3n d\u1ecbch m\u1ea1nh m\u1ebd sang hi\u1ec7u qu\u1ea3 th\u1ef1c t\u1ebf:** C\u00f4ng ngh\u1ec7 AI \u0111ang ch\u1ee9ng minh gi\u00e1 tr\u1ecb qua c\u00e1c gi\u1ea3i ph\u00e1p t\u1ed1i \u01b0u c\u1ee5 th\u1ec3 ch\u1ee9 kh\u00f4ng c\u00f2n l\u00e0 nh\u1eefng l\u1eddi h\u1ee9a h\u1eb9n chung chung.\n2. **T\u1ed1i \u01b0u h\u00f3a h\u1ea1 t\u1ea7ng v\u00e0 \u0111\u1ed9 tin c\u1eady l\u00e0 ch\u00eca kh\u00f3a then ch\u1ed1t:** Kh\u1ea3 n\u0103ng n\u00e9n m\u00f4 h\u00ecnh, ki\u1ebfn tr\u00fac suy lu\u1eadn hi\u1ec7u qu\u1ea3 v\u00e0 c\u00e1c r\u00e0o ch\u1eafn ki\u1ec3m so\u00e1t an to\u00e0n l\u00e0 y\u1ebfu t\u1ed1 s\u1ed1ng c\u00f2n \u0111\u1ec3 \u0111\u01b0a AI ra m\u00f4i tr\u01b0\u1eddng th\u1ef1c t\u1ebf.\n3. **H\u00e0nh \u0111\u1ed9ng g\u1ee3i \u00fd:** L\u1eadp tr\u00ecnh vi\u00ean n\u00ean d\u00e0nh th\u1eddi gian th\u1eed nghi\u1ec7m c\u00e1c th\u01b0 vi\u1ec7n v\u00e0 m\u00f4 h\u00ecnh m\u1edbi trong m\u00f4i tr\u01b0\u1eddng local\/sandbox; c\u00e1c Product Manager n\u00ean \u0111\u00e1nh gi\u00e1 k\u1ef9 b\u00e0i to\u00e1n chi ph\u00ed (ROI) tr\u01b0\u1edbc khi t\u00edch h\u1ee3p v\u00e0o s\u1ea3n ph\u1ea9m.\n\n## Ngu\u1ed3n tham kh\u1ea3o\n- [TechCrunch AI: Google froze its open source bug bounty program due to a \u2018significant rise\u2019 in AI submissions](https:\/\/techcrunch.com\/2026\/10\/04\/google-froze-its-open-source-bug-bounty-program-due-to-a-significant-rise-in-ai-submissions\/)\n- [Hacker News: Religious scholars met with Anthropic](https:\/\/www.nytimes.com\/2026\/09\/29\/us\/anthropic-claude-morals-ai.html)\n- [TechCrunch AI: Can \u2018super intelligence\u2019 and a non-binding safety pact solve AI\u2019s image problem?](https:\/\/techcrunch.com\/2026\/10\/04\/can-super-intelligence-and-a-non-binding-safety-pact-solve-ais-image-problem\/)\n- [Hugging Face Papers: [Research] Replacing Large Language Models with Jev Decision Models for Low-Latency Edge Service Orchestration](https:\/\/huggingface.co\/papers\/2609.22753)\n- [Hacker News: \"Torturing\" LLMs in a Robot Prison Has Triggered the Dumbest Debate in AI Yet](https:\/\/www.404media.co\/someone-torturing-llms-in-a-robot-prison-has-triggered-the-dumbest-debate-in-ai-yet\/)\n- [TechCrunch AI: Trump unveils his new Super Intelligence Force](https:\/\/techcrunch.com\/2026\/10\/04\/trump-unveils-his-new-super-intelligence-force\/)","published_at":"2026-10-05T01:19:52.000000Z","scheduled_publish_at":null,"is_published":true,"is_shared":false,"updated_at":"2026-10-05T01:19:54.000000Z","edited_at":"2026-10-05T01:19:52.000000Z","translation_source":null,"trend_at":null,"promoted_at":null,"reading_time":9,"points":0,"views_count":0,"clips_count":0,"comments_count":0,"rated_value":null,"promoted":false,"trending":false,"is_draft":false,"is_public":true,"locale_code":"vi","is_video":false,"thumbnail_url":null,"user":{"data":{"id":207145,"url":"https:\/\/viblo.asia\/u\/trinhxuanchinh.dev","avatar":"e9fab45a-769c-43f6-8876-0f6b989171cb.jpeg","name":"Xu\u00e2n Chinh Tr\u1ecbnh","username":"trinhxuanchinh.dev","followers_count":3,"reputation":34,"posts_count":192,"banned_at":null,"level_partner":null,"following":false}},"tags":{"data":[{"slug":"ai","name":"AI"},{"slug":"artificial-intelligence","name":"Artificial Intelligence"},{"slug":"deep-learning","name":"Deep Learning"},{"slug":"machine-learning","name":"Machine Learning"},{"slug":"technology","name":"Technology"}]},"commentators":{"data":[]}},{"id":108257,"title":"Unlocking Website Potential: How Emdash Theme Can Transform Your Online Presence","slug":"18J2eoy14YK","url":"https:\/\/viblo.asia\/p\/unlocking-website-potential-how-emdash-theme-can-transform-your-online-presence-18J2eoy14YK","user_id":219061,"moderation":"discarded","transliterated":"unlocking-website-potential-how-emdash-theme-can-transform-your-online-presence","contents_short":"In today's digital landscape, a strong online presence is no longer optional \u2013 it's essential for success. Your website serves as the virtual storefront of your business, and first impressions matter. A poorly designed or outdated website can deter potential customers and damage your credibility. This is where selecting the right WordPress theme becomes crucial, and I've found Emdash to be a pa...","contents":"In today's digital landscape, a strong online presence is no longer optional \u2013 it's essential for success. Your website serves as the virtual storefront of your business, and first impressions matter. A poorly designed or outdated website can deter potential customers and damage your credibility. This is where selecting the right WordPress theme becomes crucial, and I've found Emdash to be a particularly powerful and versatile option.\n\nEmdash theme stands out for its clean design, user-friendly interface, and extensive customization options. Whether you're a seasoned developer or a novice user, Emdash makes it easy to create a professional-looking website that reflects your brand identity. Its responsive design ensures that your website looks great on any device, from desktops and laptops to tablets and smartphones. In a world where mobile browsing is increasingly prevalent, this is a non-negotiable feature.\n\nOne of the most significant advantages of Emdash is its flexibility. It offers a wide range of pre-built templates and layouts, which can be easily adapted to suit your specific needs. Whether you're building a blog, an e-commerce store, or a portfolio website, Emdash provides the tools you need to get the job done. The theme is also highly customizable, allowing you to change colors, fonts, and other design elements to match your brand aesthetic.\n\nBeyond its aesthetic appeal, Emdash is also designed with performance in mind. It's optimized for speed and SEO, ensuring that your website loads quickly and ranks well in search engine results. This is crucial for attracting organic traffic and improving your online visibility. A slow-loading website can frustrate visitors and lead to high bounce rates, which can negatively impact your search engine rankings.\n\nFurthermore, Emdash boasts excellent documentation and customer support. If you ever run into any issues or have questions about the theme, you can rely on their comprehensive documentation or reach out to their support team for assistance. This is a valuable asset, especially for those who are new to WordPress or website development.\n\nIn my experience, Emdash has been a game-changer for many of my clients. It has allowed them to create stunning websites that effectively showcase their products and services. It's a theme that strikes the perfect balance between design, functionality, and ease of use. If you're looking for a WordPress theme that can help you transform your online presence, I highly recommend giving Emdash a try. You can find more information about the this theme at https:\/\/emdashtheme.org.\nhttps:\/\/phijkchu.com\/a\/huyenngan_le_u7nz\nhttps:\/\/pod.beautifulmathuncensored.de\/u\/huyenngan_le_u7nz\nhttps:\/\/akkoma.0pt.dpdns.org\/users\/huyenngan_le_u7nz\nhttp:\/\/www.isexsex.com\/home.php?mod=space&uid=3504035&do=profile\nhttp:\/\/cbsver.bget.ru\/user\/huyenngan_le_u7nz\/\nhttp:\/\/kiriakos.tmweb.ru\/user\/huyenngan_le_u7nz\/\nhttps:\/\/kosmetikinstitut-milla.de\/user\/huyenngan_le_u7nz\/\nhttps:\/\/diakov.net\/user\/huyenngan_le_u7nz\/\nhttp:\/\/ieef.msu.ru\/user\/huyenngan_le_u7nz\/\nhttps:\/\/www.xiuwushidai.com\/home.php?mod=space&uid=2917312&do=profile\nhttp:\/\/akvalife.by\/user\/huyenngan_le_u7nz\/\nhttp:\/\/ukr.edufuture.biz\/user\/huyenngan_le_u7nz\/\nhttp:\/\/delphi.larsbo.org\/user\/huyenngan_le_u7nz\nhttps:\/\/bbs.airav.cc\/home.php?mod=space&uid=5026017&do=profile\nhttps:\/\/21tian.net\/home.php?mod=space&uid=671936&do=profile\nhttp:\/\/mail.okaywan.com\/home.php?mod=space&uid=852358&do=profile\nhttp:\/\/qa.doujiju.com\/index.php?qa=user&qa_1=huyenngan_le_u7nz\nhttps:\/\/php.bb.rexo.top\/index.php?qa=user&qa_1=huyenngan_le_u7nz\nhttps:\/\/music.ver.lt\/@huyenngan_le_u7nz\nhttps:\/\/www.play56.net\/home.php?mod=space&uid=6580829&do=profile\nhttp:\/\/forum.djwx.com\/home.php?mod=space&uid=57712&do=profile\nhttps:\/\/m.21tian.net\/home.php?mod=space&uid=671936&do=profile\nhttps:\/\/mail.awaker.info\/home.php?mod=space&uid=7459535&do=profile\nhttp:\/\/www.pcsq28.com\/home.php?mod=space&uid=2634497&do=profile\nhttps:\/\/peertube.videoformes.com\/a\/huyenngan_le_u7nz\nhttps:\/\/neuronet.ch.ua\/user\/huyenngan_le_u7nz\/\nhttps:\/\/peertube.uno\/a\/huyenngan_le_u7nz\nhttps:\/\/bbs.mofang.com.tw\/home.php?mod=space&uid=2689590&do=profile\nhttp:\/\/daojianchina.com\/home.php?mod=space&uid=1489595&do=profile\nhttps:\/\/gegenstimme.tv\/a\/huyenngan_le_u7nz\nhttp:\/\/bbs.medicalforum.cn\/home.php?mod=space&uid=2591157&do=profile\nhttps:\/\/gratisafhalen.be\/author\/huyenngan_le_u7nz\/\nhttps:\/\/ugzhnkchr.ru\/user\/huyenngan_le_u7nz\/\nhttp:\/\/bbs.sdhuifa.com\/home.php?mod=space&uid=1233790&do=profile\nhttps:\/\/test-sida.noads.biz\/home.php?mod=space&uid=492109&do=profile\nhttps:\/\/cs-love.net\/user\/huyenngan_le_u7nz\/\nhttp:\/\/bbs.51pinzhi.cn\/home.php?mod=space&uid=8419110&do=profile\nhttps:\/\/xn--itts0u2s5b.xn--cksr0a.tw\/home.php?mod=space&uid=307&do=profile\nhttp:\/\/kriminal-ohlyad.com.ua\/user\/huyenngan_le_u7nz\/\nhttps:\/\/xn--e8yn12d.xn--cksr0a.tw\/home.php?mod=space&uid=965&do=profile\nhttps:\/\/xn--zlv426e.xn--cksr0a.tw\/home.php?mod=space&uid=28032&do=profile\nhttps:\/\/www.annuncigratuititalia.it\/author\/huyenngan_le_u7nz\/\nhttp:\/\/forum2.freero.org\/home.php?mod=space&uid=29390&do=profile\nhttp:\/\/palangshim.com\/home.php?mod=space&uid=5582999&do=profile\nhttps:\/\/xn--5gq56l434e.xn--cksr0a.tw\/home.php?mod=space&uid=474&do=profile\nhttps:\/\/xn--ehq774i.xn--cksr0a.tw\/home.php?mod=space&uid=424&do=profile\nhttps:\/\/xn--jpra.xn--cksr0a.tw\/home.php?mod=space&uid=304&do=profile\nhttps:\/\/mem168new.com\/home.php?mod=space&uid=4471538&do=profile\nhttps:\/\/xn--74qr2m.xn--cksr0a.tw\/home.php?mod=space&uid=965&do=profile\nhttps:\/\/xn--qwt888h.xn--cksr0a.tw\/home.php?mod=space&uid=22378&do=profile\nhttps:\/\/aryba.kg\/user\/huyenngan_le_u7nz\/\nhttps:\/\/xn--dlqz90d.xn--cksr0a.tw\/home.php?mod=space&uid=308&do=profile\nhttps:\/\/xn--mts547b.xn--cksr0a.tw\/home.php?mod=space&uid=27371&do=profile\nhttps:\/\/xn--kwr555c.xn--cksr0a.tw\/home.php?mod=space&uid=307&do=profile\nhttps:\/\/cforum2.cari.com.my\/home.php?mod=space&uid=2563845&do=profile\nhttps:\/\/xn--y9q084fe5l.xn--cksr0a.tw\/home.php?mod=space&uid=883&do=profile\nhttps:\/\/may22.ru\/user\/huyenngan_le_u7nz\/\nhttps:\/\/xn--182-cd9d860c.xn--cksr0a.tw\/home.php?mod=space&uid=17&do=profile\nhttps:\/\/gmerago.com\/home.php?mod=space&uid=362921&do=profile\nhttps:\/\/xn--cjzz59e.xn--cksr0a.tw\/home.php?mod=space&uid=785&do=profile\nhttps:\/\/xn--jh1a478c.xn--cksr0a.tw\/home.php?mod=space&uid=965&do=profile\nhttps:\/\/xn--j5ra.xn--cksr0a.tw\/home.php?mod=space&uid=785&do=profile\nhttps:\/\/xn--gtv709d.xn--cksr0a.tw\/home.php?mod=space&uid=459&do=profile\nhttps:\/\/xn--3jsy2hetr.xn--cksr0a.tw\/home.php?mod=space&uid=457&do=profile\nhttp:\/\/byltz.com\/home.php?mod=space&uid=337&do=profile\nhttps:\/\/forum-nr.freero.org\/home.php?mod=space&uid=29390&do=profile\nhttps:\/\/xn--kwsof.xn--cksr0a.tw\/home.php?mod=space&uid=436&do=profile\nhttps:\/\/xn--u10a14s.xn--cksr0a.tw\/home.php?mod=space&uid=365&do=profile\nhttps:\/\/xn--vnxw4q.xn--cksr0a.tw\/home.php?mod=space&uid=785&do=profile\nhttps:\/\/xn--qiqx23dfft.xn--cksr0a.tw\/home.php?mod=space&uid=303&do=profile\nhttps:\/\/xn--g6q625cxxo.xn--cksr0a.tw\/home.php?mod=space&uid=965&do=profile\nhttps:\/\/xn--05qu57o.xn--cksr0a.tw\/home.php?mod=space&uid=303&do=profile\nhttps:\/\/xn--5usy22d.xn--cksr0a.tw\/home.php?mod=space&uid=436&do=profile\nhttp:\/\/womans-days.ru\/user\/huyenngan_le_u7nz\/\nhttps:\/\/xn--i2ra.xn--cksr0a.tw\/home.php?mod=space&uid=3916&do=profile\nhttps:\/\/xn--mtsy4j.xn--cksr0a.tw\/home.php?mod=space&uid=785&do=profile\nhttps:\/\/xn--182-4y8i173a.xn--cksr0a.tw\/home.php?mod=space&uid=18&do=profile\nhttps:\/\/xn--182-6g2fy31b.xn--cksr0a.tw\/home.php?mod=space&uid=17&do=profile\nhttps:\/\/xn--6orr35o.xn--cksr0a.tw\/home.php?mod=space&uid=310&do=profile\nhttps:\/\/xn--9pr315o.xn--cksr0a.tw\/home.php?mod=space&uid=785&do=profile\nhttps:\/\/xn--ll5ar7g.xn--cksr0a.tw\/home.php?mod=space&uid=785&do=profile\nhttps:\/\/xn--pzs452b.xn--cksr0a.tw\/home.php?mod=space&uid=395&do=profile\nhttps:\/\/xn--z4q35q.xn--cksr0a.tw\/home.php?mod=space&uid=312&do=profile\nhttps:\/\/xn--gst503iggj.xn--cksr0a.tw\/home.php?mod=space&uid=885&do=profile\nhttps:\/\/xn--1rwm88bvlc.xn--cksr0a.tw\/home.php?mod=space&uid=886&do=profile\nhttps:\/\/xn--wyrxpj44c.xn--cksr0a.tw\/home.php?mod=space&uid=1298&do=profile\nhttps:\/\/xn--p0wo2g.xn--cksr0a.tw\/home.php?mod=space&uid=451&do=profile\nhttps:\/\/xn--o4wr58d.xn--cksr0a.tw\/home.php?mod=space&uid=7204&do=profile\nhttps:\/\/xn--9rq384ba.xn--cksr0a.tw\/home.php?mod=space&uid=887&do=profile\nhttps:\/\/xn--zfv579cv0f.xn--cksr0a.tw\/home.php?mod=space&uid=897&do=profile\nhttps:\/\/xn--qiy6c.xn--cksr0a.tw\/home.php?mod=space&uid=339&do=profile\nhttps:\/\/xn--74q593ba.xn--cksr0a.tw\/home.php?mod=space&uid=885&do=profile\nhttps:\/\/xn--2osq9upz9a.xn--cksr0a.tw\/home.php?mod=space&uid=7201&do=profile\nhttps:\/\/xn--y6vu68a.xn--cksr0a.tw\/home.php?mod=space&uid=1823&do=profile\nhttps:\/\/xn--9iqt93bqjf.xn--cksr0a.tw\/home.php?mod=space&uid=785&do=profile\nhttps:\/\/xn--q6vv09g.xn--cksr0a.tw\/home.php?mod=space&uid=351&do=profile\nhttps:\/\/forums.shadps4.net\/member.php?action=profile&uid=2283\nhttps:\/\/xn--h7tyv.xn--cksr0a.tw\/home.php?mod=space&uid=22&do=profile\nhttps:\/\/xn--5su985i.xn--cksr0a.tw\/home.php?mod=space&uid=765&do=profile\nhttps:\/\/xn--pi3az9h.xn--cksr0a.tw\/home.php?mod=space&uid=451&do=profile\nhttps:\/\/xn--182-zx8go83q.xn--cksr0a.tw\/home.php?mod=space&uid=19&do=profile\nhttps:\/\/xn--bpwn20i.xn--cksr0a.tw\/home.php?mod=space&uid=426&do=profile\nhttps:\/\/apartirdequelage.fr\/author\/huyenngan_le_u7nz\/\nhttps:\/\/xn--b9w327d.xn--cksr0a.tw\/home.php?mod=space&uid=346&do=profile\nhttps:\/\/xn--182-ny3fq13x.xn--cksr0a.tw\/home.php?mod=space&uid=17&do=profile\nhttps:\/\/xn--gmqu79f.xn--cksr0a.tw\/home.php?mod=space&uid=451&do=profile\nhttps:\/\/xn--ebr273a.xn--cksr0a.tw\/home.php?mod=space&uid=18&do=profile\nhttp:\/\/okprint.kz\/user\/huyenngan_le_u7nz\/\nhttp:\/\/app.gxbs.net\/home.php?mod=space&uid=1889490&do=profile\nhttps:\/\/videomensoif.ynh.fr\/a\/huyenngan_le_u7nz\nhttp:\/\/pravo-slavie.ru\/user\/huyenngan_le_u7nz\/\nhttp:\/\/yinyue7.com\/home.php?mod=space&uid=1306084&do=profile\nhttp:\/\/asexbox.net\/user\/huyenngan_le_u7nz\/\nhttp:\/\/amur.1gb.ua\/user\/huyenngan_le_u7nz\/\nhttps:\/\/www.imagic-photo.com\/home.php?mod=space&uid=23&do=profile\nhttps:\/\/www.rcfl.com.hk\/home.php?mod=space&uid=10274159&do=profile\nhttp:\/\/ukrpart.org\/user\/huyenngan_le_u7nz\/\nhttps:\/\/www.donchillin.com\/home.php?mod=space&uid=528681&do=profile\nhttp:\/\/ips-irk.ksworks.ru\/user\/huyenngan_le_u7nz\/\nhttp:\/\/bbs.yunduost.com\/home.php?mod=space&uid=215130&do=profile\nhttps:\/\/www.para-web.org\/member.php?action=profile&uid=18035\nhttps:\/\/airvent.kz\/user\/huyenngan_le_u7nz\/\nhttp:\/\/yunduost.com\/home.php?mod=space&uid=103829&do=profile\nhttps:\/\/verbina-glucharkina.ru\/user\/huyenngan_le_u7nz\/\nhttp:\/\/wudao28.com\/home.php?mod=space&uid=3025087&do=profile\nhttp:\/\/www.supergame.one\/home.php?mod=space&uid=2686367&do=profile\nhttps:\/\/xbymw.com\/home.php?mod=space&uid=1322765&do=profile\nhttp:\/\/wou.malaysia2host.com\/home.php?mod=space&uid=349163&do=profile\nhttps:\/\/dj-relax.com\/user\/huyenngan_le_u7nz\/\nhttps:\/\/stackoverflow.qastan.be\/?qa=user\/huyenngan_le_u7nz\nhttps:\/\/www.prius-c-club.com\/home.php?mod=space&uid=17536&do=profile\nhttp:\/\/qiaoxiaojun.vip\/home.php?mod=space&uid=2713782&do=profile\nhttp:\/\/armhleb.ru\/user\/huyenngan_le_u7nz\/\nhttp:\/\/sglpw.cn\/home.php?mod=space&uid=753563&do=profile\nhttps:\/\/pod.barcelo.ynh.fr\/u\/huyenngan_le_u7nz\nhttp:\/\/www.god123.xyz\/home.php?mod=space&uid=1392675&do=profile\nhttps:\/\/pod.automat.click\/u\/huyenngan_le_u7nz\nhttps:\/\/xn--gmqr65em32a.xn--cksr0a.life\/home.php?mod=space&uid=420&do=profile\nhttp:\/\/ddy.hackp.net\/home.php?mod=space&uid=731&do=profile\nhttp:\/\/www.jcdqzdh.com\/home.php?mod=space&uid=1072632&do=profile\nhttps:\/\/xn--p3tz64k.xn--cksr0a.life\/home.php?mod=space&uid=24216&do=profile\nhttp:\/\/www.pshunv.com\/home.php?mod=space&uid=989860&do=profile\nhttps:\/\/xn--2lw.xn--cksr0a.life\/home.php?mod=space&uid=39095&do=profile\nhttp:\/\/lh.hackp.net\/home.php?mod=space&uid=505931&do=profile\nhttp:\/\/sting3d.xyz\/user\/huyenngan_le_u7nz\/\nhttp:\/\/xn--0lq.xn--cksr0a.life\/home.php?mod=space&uid=453&do=profile\nhttp:\/\/www.xiaodingdong.store\/home.php?mod=space&uid=570743&do=profile\nhttp:\/\/mashspec.ru\/user\/huyenngan_le_u7nz\/\nhttps:\/\/cdss.snw999.com\/home.php?mod=space&uid=2719281&do=profile\nhttps:\/\/bslisting.com\/user\/profile\/38298\nhttps:\/\/www.cpgps.org\/home.php?mod=space&uid=291098&do=profile\nhttp:\/\/xn--tstz66j3id.xn--cksr0a.life\/home.php?mod=space&uid=81129&do=profile\nhttps:\/\/cs.snw999.com\/home.php?mod=space&uid=135809&do=profile\nhttp:\/\/xn--04qx6xinc.xn--cksr0a.life\/home.php?mod=space&uid=421&do=profile\nhttps:\/\/ak.auriga.dev\/users\/huyenngan_le_u7nz\nhttp:\/\/xn--hhrt41a.xn--cksr0a.life\/home.php?mod=space&uid=432&do=profile\nhttps:\/\/xn--4gqq42c.xn--cksr0a.life\/home.php?mod=space&uid=462&do=profile\nhttps:\/\/bbs.x7cq.vip\/home.php?mod=space&uid=15352&do=profile\nhttps:\/\/mh.xyhero.com\/home.php?mod=space&uid=131331&do=profile\nhttps:\/\/androidonly.com\/user\/huyenngan_le_u7nz\/\nhttps:\/\/forum.routeconverter.com\/member.php?action=profile&uid=16759\nhttp:\/\/bbs.wj10001.com\/home.php?mod=space&uid=3205424&do=profile\nhttp:\/\/turkteam.10tl.net\/member.php?action=profile&uid=6759\nhttp:\/\/kakt.info\/user\/huyenngan_le_u7nz\/\nhttp:\/\/forum.maoshan73.com.hk\/home.php?mod=space&uid=1962084&do=profile\nhttp:\/\/ekopromkonsalt.ru\/user\/huyenngan_le_u7nz\/\nhttps:\/\/xjj3.cc\/home.php?mod=space&uid=654556&do=profile\nhttp:\/\/alfa-power.de\/member.php?action=profile&uid=97335\nhttp:\/\/faq.firu-mbh.de\/user\/huyenngan_le_u7nz\nhttp:\/\/dosaaf.shadr.ru\/user\/huyenngan_le_u7nz\/\nhttp:\/\/x.kongminghu.com\/home.php?mod=space&uid=900307&do=profile\nhttps:\/\/events.silex.me\/@huyenngan_le_u7nz_studio\nhttp:\/\/dvkf.com.ua\/user\/huyenngan_le_u7nz\/\nhttp:\/\/hvl.org.ua\/user\/huyenngan_le_u7nz\/\nhttp:\/\/jslt28.com\/home.php?mod=space&uid=3908924&do=profile\nhttps:\/\/mobilizon.infini.fr\/@huyenngan_le_u7nz_studio\nhttp:\/\/o2journal.ru\/user\/huyenngan_le_u7nz\/\nhttp:\/\/www.penjingly.com\/home.php?mod=space&uid=226750&do=profile\nhttp:\/\/bbs.ywmoli.com\/home.php?mod=space&uid=80176&do=profile\nhttps:\/\/www.mercado-uno.com\/author\/huyenngan_le_u7nz\/\nhttp:\/\/www.sskyn.com\/home.php?mod=space&uid=95713&do=profile\nhttp:\/\/q.044300.net\/home.php?mod=space&uid=3141078&do=profile\nhttps:\/\/forum.board-of-metal.org\/member.php?action=profile&uid=64909\nhttp:\/\/www.qianqi.cloud\/home.php?mod=space&uid=1657955&do=profile\nhttps:\/\/laybach.in\/user\/profile\/671226\nhttp:\/\/www.qingdaomop.com\/home.php?mod=space&uid=283736&do=profile\nhttps:\/\/muzaffar.uz\/user\/huyenngan_le_u7nz\/\nhttp:\/\/dllaoma.com\/home.php?mod=space&uid=433553&do=profile\nhttps:\/\/id.poy.to\/user\/profile\/23\nhttp:\/\/aaa.wuhudj.com\/home.php?mod=space&uid=1777766&do=profile\nhttps:\/\/evenement.facil.services\/@huyenngan_le_u7nz_studio\nhttps:\/\/actualites.cava.tn\/user\/huyenngan_le_u7nz\/\nhttps:\/\/mobilizon.picasoft.net\/@huyenngan_le_u7nz_studio\nhttp:\/\/www.annunciogratis.net\/author\/huyenngan_le_u7nz\nhttps:\/\/event.portes-imaginaire.org\/@huyenngan_le_u7nz_studio\nhttps:\/\/iviv.hu\/u\/huyenngan_le_u7nz\nhttps:\/\/hoteltunisie.tn\/user\/huyenngan_le_u7nz\/\nhttp:\/\/bbs.wuhudj.com\/home.php?mod=space&uid=1777766&do=profile\nhttps:\/\/www.nlvbang.com\/home.php?mod=space&uid=3265515&do=profile\nhttps:\/\/ru.avrasiya.net\/user\/huyenngan_le_u7nz\/\nhttps:\/\/wirtube.de\/a\/huyenngan_le_u7nz\/video-channels\nhttps:\/\/linkmix.co\/60401523\nhttps:\/\/poipiku.com\/14531171\/\nhttps:\/\/blender.community\/huyennganle\/\nhttps:\/\/pubhtml5.com\/homepage\/oxfrx\/\nhttps:\/\/www.socialbookmarkssite.com\/bookmark\/6334762\/huyenngan-le-u7nz\/\nhttps:\/\/fontstruct.com\/fontstructions\/show\/2969045\/huyenngan-le-u7nz\nhttps:\/\/www.outdooractive.com\/en\/member\/huyenngan-le\/354650897\/\nhttps:\/\/community.greeka.com\/users\/huyenngan_le_u7nz\nhttps:\/\/www.blurb.com\/user\/huyennganle?profile_preview=true\nhttps:\/\/wemakeit.com\/users\/huyenngan_le_u7nz\nhttps:\/\/devpost.com\/huyennganle174\nhttps:\/\/luma.com\/user\/huyenngan_le_u7\nhttps:\/\/app.talkshoe.com\/user\/huyenngan_le_u7nz\nhttps:\/\/www.growkudos.com\/profile\/huyenngan_le\nhttps:\/\/experiment.com\/users\/hle\nhttps:\/\/manylink.co\/@huyenngan_le_u7nz\nhttps:\/\/dreevoo.com\/profile.php?pid=2470100\nhttps:\/\/teratail.com\/users\/huyenngan_le_u7\nhttps:\/\/www.scener.com\/@huyenngan_le_u7nz\nhttps:\/\/qiita.com\/huyennganleu7nz\nhttps:\/\/www.free-ebooks.net\/profile\/1654707\/huyenngan-le\nhttps:\/\/www.linkcentre.com\/profile\/huyennganleu7nz\/\nhttp:\/\/freestyler.ws\/user\/708019\/huyenngan_le_u7nz\nhttp:\/\/programujte.com\/profil\/111942-huyenngan-le-u7nz\/\nhttps:\/\/www.zazzle.com\/mbr\/238507156216407075\nhttps:\/\/community.m5stack.com\/user\/huyenngan_le_u7nz\nhttps:\/\/www.transfur.com\/Users\/huyenngan_le_u7nz\nhttps:\/\/www.clickasnap.com\/profile\/huyenngan_le_u7nz\nhttps:\/\/www.betting-forum.com\/members\/huyenngan_le_u7nz.187854\/#about\nhttps:\/\/www.lingvolive.com\/en-us\/profile\/210170bd-32d4-4f49-9bf7-1cd7746353f9\/translations\nhttps:\/\/www.goodreads.com\/user\/show\/204806779-huyenngan-le\nhttps:\/\/longbets.org\/user\/huyenngan_le_u7nz\/\nhttps:\/\/pledgeme.co.nz\/profiles\/374867\nhttps:\/\/fabble.cc\/huyennganleu7nz\nhttps:\/\/www.hackerearth.com\/@huyennganle174\/\nhttps:\/\/safechat.com\/u\/huyenngan.le\nhttps:\/\/userstyles.world\/user\/huyenngan_le_u7nz\nhttps:\/\/myget.org\/users\/huyenngan_le_u7nz\nhttps:\/\/connect.gt\/user\/huyennganleu7nz\nhttp:\/\/galeria.farvista.net\/member.php?action=showprofile&user_id=92486\nhttps:\/\/www.dailymotion.com\/user\/huyenngan_le_u7nz\nhttps:\/\/estar.jp\/users\/2122022039\nhttps:\/\/vimeo.com\/huyennganleu7nz\nhttps:\/\/quomon.es\/Profile\/huyennganleu7nz\/\nhttps:\/\/expatguidekorea.com\/profile\/\nhttps:\/\/xtremepape.rs\/members\/huyenngan_le_u7nz.722678\/#about\nhttps:\/\/belgaumonline.com\/profile\/huyenngan-le-u7nz\/\nhttps:\/\/joy.bio\/huyennganleu7nz\nhttps:\/\/www.pebforum.com\/members\/huyennganleu7nz.266760\/#about\nhttps:\/\/www.pinterest.com\/huyennganle174\/\nhttps:\/\/www.vnbadminton.com\/members\/huyennganleu7nz.103835\/\nhttps:\/\/app.brancher.ai\/user\/9Qt3dDxaTGsI\nhttps:\/\/app.readthedocs.org\/profiles\/huyenngan_le_u7nz\/\nhttps:\/\/gourmet-calendar.com\/users\/huyenngan_le_u7nz\nhttps:\/\/staroetv.su\/users\/153793\nhttps:\/\/www.moshpyt.com\/user\/huyennganleu7nz\nhttps:\/\/mygamedb.com\/profile\/huyenngan_le_u7nz\nhttps:\/\/aniworld.to\/user\/profil\/huyennganleu7nz\nhttps:\/\/www.aseeralkotb.com\/en\/profiles\/huyenngan_le_u7nz\nhttps:\/\/coolors.co\/u\/huyenngan_le\nhttps:\/\/www.gta5-mods.com\/users\/huyenngan_le_u7nz\nhttps:\/\/pinshape.com\/users\/8979973-huyenngan_le_u7nz?tab=designs\nhttps:\/\/hypothes.is\/users\/huyenngan_le_u7nz\nhttps:\/\/cloud.anylogic.com\/profile\/user\/7a1c9ff4-2ec0-4b9a-b7b0-61c0a65d8dab\nhttps:\/\/advego.com\/profile\/huyenngan_le_u7nz\/\nhttps:\/\/mavenshowcase.com\/profile\/f8810320-d061-7010-fa3f-ac625f949336\nhttps:\/\/www.cake.me\/me\/huyenngan_le_u7nz\nhttps:\/\/stocktwits.com\/huyenngan_le_u7nz\nhttps:\/\/www.giveawayoftheday.com\/forums\/profile\/2166628\nhttps:\/\/www.fitday.com\/fitness\/forums\/members\/huyenngan_le_u7nz.html\nhttps:\/\/awan.pro\/forum\/user\/225644\/\nhttps:\/\/lifeinsys.com\/user\/huyenngan_le_u7nz\nhttps:\/\/www.rcuniverse.com\/forum\/members\/huyenngan_le_u7nz.html\nhttp:\/\/www.empyrethegame.com\/forum\/memberlist.php?mode=viewprofile&u=499365&sid=be105fa434d58addb37a763a0a87dddd\nhttps:\/\/forum.prusa3d.com\/forum\/account\/huyenngan_le_u7nz\/\nhttps:\/\/recash.wpsoul.net\/members\/huyenngan_le_u7nz\/profile\/\nhttps:\/\/kaeuchi.jp\/forums\/users\/huyenngan_le_u7nz\/\nhttps:\/\/www.intensedebate.com\/people\/huyennganleu7nz\nhttps:\/\/www.rossoneriblog.com\/author\/huyenngan_le_u7nz\/\nhttps:\/\/onespotsocial.com\/huyennganleu7nz\nhttps:\/\/gravatar.com\/cheesecakeswimming7ea8dc4c6c\nhttps:\/\/amazingradio.com\/profile\/huyenngan-le-u7nz\nhttps:\/\/pads.zapf.in\/s\/ZkGn3C9Cy8\nhttps:\/\/hedgedoc.dezentrale.space\/s\/KytX7b3BrH\nhttps:\/\/www.fw-follow.com\/forum\/topic\/216290\/unlocking-website-potential:-how-emdash-theme-can-transform-your-online-presence-(by-huyenngan_le_u7nz)\nhttps:\/\/dialogluzern.ch\/profiles\/huyennganleu7nz\/activity\nhttps:\/\/www.driedsquidathome.com\/forum\/topic\/247240\/unlocking-website-potential:-how-emdash-theme-can-transform-your-online-presence-(by-huyenngan_le_u7nz)\nhttps:\/\/buyerseller.xyz\/user\/huyenngan_le_u7nz\/\nhttps:\/\/md.coredump.ch\/s\/lb71p1bg8\nhttps:\/\/aboutsnfjobs.com\/author\/huyenngan_le_u7nz\/\nhttps:\/\/doc.anagora.org\/s\/YvLQD8p-A\nhttps:\/\/md.chaospott.de\/s\/-nibS-sBHy\nhttps:\/\/pad.fablab-siegen.de\/s\/P9GmBS4xoJ\nhttp:\/\/www.muzikspace.com\/memberallactivityprofileview.aspx?memberid=164493\nhttps:\/\/mathlog.info\/users\/7MKSGaPM8DSASI7PiP8hjNraKQJ2\nhttps:\/\/rnmanagers.com\/profile\/?updated=true&d=\nhttps:\/\/rndirectors.com\/author\/huyenngan_le_u7nz\/\nhttps:\/\/pad.flipdot.org\/s\/fYtgVjlvn5\nhttps:\/\/socialgem.net\/huyenngan_le_u7nz\nhttps:\/\/hack.allmende.io\/s\/1FpoSJbbw\nhttps:\/\/md.chaosdorf.de\/s\/etp9Zb7kMh\nhttps:\/\/www.plotterusati.it\/user\/huyenngan-le\nhttps:\/\/www.cadviet.com\/forum\/index.php?app=core&module=members&controller=profile&id=240247&tab=field_core_pfield_13\nhttps:\/\/www.mateball.com\/huyenngan_le_u7nz\nhttps:\/\/crowdsourcer.io\/profile\/0cathSOk\nhttps:\/\/postr.yruz.one\/profile\/huyenngan_le_u7nz\nhttps:\/\/www.speedway-world.pl\/forum\/member.php?action=profile&uid=573839\nhttps:\/\/aboutcasemanagerjobs.com\/author\/huyenngan_le_u7nz\/\nhttps:\/\/expressafrica.net\/huyenngan_le_u7nz\nhttps:\/\/seomotionz.com\/member.php?action=profile&uid=162666\nhttps:\/\/www.bandsworksconcerts.info\/index.php?huyenngan_le_u7nzr421wspk1k\nhttps:\/\/pad.stuve.de\/s\/_5lSMFvQL\nhttps:\/\/ctxt.io\/3\/lyVMfXody\nhttps:\/\/kjtr.grrr.jp\/kjtr\/?huyennganleu7nzqubakqfivo\nhttps:\/\/www.adsfare.com\/huyenngan-le-u7nz\nhttps:\/\/hedgedoc.envs.net\/s\/NzbP5sjEx\nhttps:\/\/idol.st\/user\/huyenngan_le_u7nz\/\nhttps:\/\/ask.mallaky.com\/?qa=user\/huyenngan_le_u7nz\nhttps:\/\/marshallyin.com\/members\/huyenngan_le_u7nz\/\nhttps:\/\/protocol.ooo\/ja\/users\/huyenngan-le\nhttps:\/\/pad.lescommuns.org\/s\/9r_Eo9vpp\nhttp:\/\/jobboard.piasd.org\/author\/huyenngan_le_u7nz\/\nhttps:\/\/sciter.com\/forums\/users\/huyenngan_le_u7nz\/\nhttp:\/\/jobs.emiogp.com\/author\/huyenngan_le_u7nz\/\nhttps:\/\/cinderella.pro\/user\/322819\/huyenngan_le_u7nz\/#preferences\nhttps:\/\/conecta.bio\/huyenngan_le_u7nz\nI'm passionate about helping businesses establish a strong online presence through effective website design and user experience. My expertise lies in leveraging platforms like WordPress and themes such as Emdash to create visually stunning and functional websites. Based in 2810 Shadow Creek Dr, I offer tailored solutions to meet your specific digital needs. Contact: +1 202-555-0147. Visit https:\/\/emdashtheme.org.\nhttps:\/\/emdashtheme.org\nhttps:\/\/www.facebook.com\/profile.php?id=61575362264397\nhttps:\/\/www.instagram.com\/emdashthemes\nhttps:\/\/www.linkedin.com\/in\/emdash-themes-82aab0401\nhttps:\/\/www.pinterest.com\/emdashthemes\nhttps:\/\/www.threads.com\/@emdashthemes\nhttps:\/\/www.tiktok.com\/@emdashthemes\nhttps:\/\/x.com\/emdashthemes\nhttps:\/\/www.youtube.com\/","published_at":"2026-10-05T01:07:22.000000Z","scheduled_publish_at":null,"is_published":true,"is_shared":false,"updated_at":"2026-10-05T01:07:24.000000Z","edited_at":"2026-10-05T01:05:21.000000Z","translation_source":null,"trend_at":null,"promoted_at":null,"reading_time":17,"points":0,"views_count":0,"clips_count":0,"comments_count":0,"rated_value":null,"promoted":false,"trending":false,"is_draft":false,"is_public":true,"locale_code":"vi","is_video":false,"thumbnail_url":null,"user":{"data":{"id":219061,"url":"https:\/\/viblo.asia\/u\/huyenngan_le_u7nz","avatar":"41991fb6-d805-41ae-af50-10aa57a498d4.jpg","name":"Huyenngan Le","username":"huyenngan_le_u7nz","followers_count":0,"reputation":0,"posts_count":0,"banned_at":"2026-10-05T01:07:24.000000Z","level_partner":null,"following":false}},"tags":{"data":[{"slug":"artifact-promotion","name":"Artifact Promotion"}]},"commentators":{"data":[]}},{"id":108153,"title":"[Microservices Series] B\u00e0i 7: API Gateway \u2013 \"Ng\u01b0\u1eddi g\u00e1c c\u1ed5ng v\u0129 \u0111\u1ea1i\" che ch\u1eafn m\u1edb h\u1ed7n \u0111\u1ed9n","slug":"PoL7ex8e4vk","url":"https:\/\/viblo.asia\/p\/microservices-series-bai-7-api-gateway-nguoi-gac-cong-vi-dai-che-chan-mo-hon-don-PoL7ex8e4vk","user_id":182653,"moderation":null,"transliterated":"microservices-series-bai-7-api-gateway-nguoi-gac-cong-vi-dai-che-chan-mo-hon-don","contents_short":"Ch\u00e0o anh em! \u1ede b\u00e0i 6, ch\u00fang ta \u0111\u00e3 trang b\u1ecb Circuit Breaker \u0111\u1ec3 b\u1ea3o v\u1ec7 c\u00e1c service kh\u00f4ng b\u1ecb \"c\u1eafn x\u00e9\" l\u1eabn nhau khi c\u00f3 s\u1ef1 c\u1ed1 n\u1ed9i b\u1ed9. Nh\u01b0ng \u0111\u00f3 l\u00e0 chuy\u1ec7n trong nh\u00e0. C\u00f2n \u0111\u1ed1i v\u1edbi th\u1ebf gi\u1edbi b\u00ean ngo\u00e0i (Mobile App, Web Application, hay h\u1ec7 th\u1ed1ng c\u1ee7a \u0111\u1ed1i t\u00e1c), n\u1ebfu ch\u00fang ta ph\u01a1i b\u00e0y h\u00e0ng ch\u1ee5c c\u00e1i microservices ra tr\u01b0\u1edbc gi\u00f3 th\u00ec ch\u1eb3ng kh\u00e1c n\u00e0o \"m\u1edf c\u1eeda r\u01b0\u1edbc tr\u1ed9m\".\n\nH\u00e3y t\u01b0\u1edfng t\u01b0\u1ee3ng m\u1ed9t k\u1ecbch b\u1ea3n t\u1ed3i t\u1ec7: \u1ee8ng d\u1ee5ng d...","contents":"Ch\u00e0o anh em! \u1ede b\u00e0i 6, ch\u00fang ta \u0111\u00e3 trang b\u1ecb Circuit Breaker \u0111\u1ec3 b\u1ea3o v\u1ec7 c\u00e1c service kh\u00f4ng b\u1ecb \"c\u1eafn x\u00e9\" l\u1eabn nhau khi c\u00f3 s\u1ef1 c\u1ed1 n\u1ed9i b\u1ed9. Nh\u01b0ng \u0111\u00f3 l\u00e0 chuy\u1ec7n trong nh\u00e0. C\u00f2n \u0111\u1ed1i v\u1edbi th\u1ebf gi\u1edbi b\u00ean ngo\u00e0i (Mobile App, Web Application, hay h\u1ec7 th\u1ed1ng c\u1ee7a \u0111\u1ed1i t\u00e1c), n\u1ebfu ch\u00fang ta ph\u01a1i b\u00e0y h\u00e0ng ch\u1ee5c c\u00e1i microservices ra tr\u01b0\u1edbc gi\u00f3 th\u00ec ch\u1eb3ng kh\u00e1c n\u00e0o \"m\u1edf c\u1eeda r\u01b0\u1edbc tr\u1ed9m\".\n\nH\u00e3y t\u01b0\u1edfng t\u01b0\u1ee3ng m\u1ed9t k\u1ecbch b\u1ea3n t\u1ed3i t\u1ec7: \u1ee8ng d\u1ee5ng di \u0111\u1ed9ng c\u1ee7a b\u1ea1n c\u1ea7n hi\u1ec3n th\u1ecb m\u00e0n h\u00ecnh Home. \u0110\u1ec3 c\u00f3 d\u1eef li\u1ec7u, Mobile Dev ph\u1ea3i vi\u1ebft code g\u1ecdi API t\u1edbi IP c\u1ee7a Service User (l\u1ea5y t\u00ean), g\u1ecdi sang IP c\u1ee7a Service Wallet (l\u1ea5y s\u1ed1 d\u01b0), r\u1ed3i l\u1ea1i g\u1ecdi sang IP c\u1ee7a Service Ticket (l\u1ea5y l\u1ecbch s\u1eed \u0111i l\u1ea1i). \u0110i\u1ec1u g\u00ec x\u1ea3y ra?\n\n1.  **Frontend c\u1ef1c kh\u1ed5:** Qu\u1ea3n l\u00fd h\u00e0ng t\u00e1 URL, IP kh\u00e1c nhau. L\u1ee1 m\u1ed9t service \u0111\u1ed5i IP hay \u0111\u1ed5i port l\u00e0 Frontend ph\u1ea3i update app h\u1ed9c m\u00e1u.\n    \n2.  **B\u1ea3o m\u1eadt toang ho\u00e1c:** C\u00e1c service n\u1ed9i b\u1ed9 b\u1ecb ph\u01a1i IP public ra internet. Hacker tha h\u1ed3 DDOS th\u1eb3ng v\u00e0o c\u00e1i service y\u1ebfu nh\u1ea5t.\n    \n3.  **Ph\u00e2n m\u1ea3nh x\u00e1c th\u1ef1c:** Service n\u00e0o c\u0169ng ph\u1ea3i t\u1ef1 vi\u1ebft m\u1ed9t \u0111o\u1ea1n code \u0111\u1ec3 check xem JWT Token c\u00f3 h\u1ee3p l\u1ec7 kh\u00f4ng.\n    \n\n\u0110\u00f3 l\u00e0 l\u00fac ch\u00fang ta c\u1ea7n m\u1ed9t **API Gateway**.\n\n## API Gateway th\u1ef1c ch\u1ea5t l\u00e0m nhi\u1ec7m v\u1ee5 g\u00ec?\n\nN\u00f3i n\u00f4m na, API Gateway gi\u1ed1ng nh\u01b0 \u00f4ng b\u1ea3o v\u1ec7 ki\u00eam l\u1ec5 t\u00e2n \u1edf s\u1ea3nh c\u1ee7a m\u1ed9t t\u00f2a nh\u00e0 v\u0103n ph\u00f2ng. B\u1ea5t k\u1ef3 ai mu\u1ed1n v\u00e0o t\u00f2a nh\u00e0 \u0111\u1ec1u ph\u1ea3i g\u1eb7p \u00f4ng n\u00e0y tr\u01b0\u1edbc.\n\n**1. Routing (\u0110\u1ecbnh tuy\u1ebfn v\u00e0 \u1ea8n danh)** Client b\u00ean ngo\u00e0i ch\u1ec9 c\u1ea7n bi\u1ebft duy nh\u1ea5t m\u1ed9t \u0111\u1ecba ch\u1ec9 (v\u00ed d\u1ee5: `api.metro.vn`). Khi request \u0111\u1eadp v\u00e0o Gateway:\n\n-   N\u1ebfu \u0111\u01b0\u1eddng d\u1eabn l\u00e0 `\/api\/users\/...`, Gateway t\u1ef1 \u0111\u1ed9ng forward (Reverse Proxy) request \u0111\u00f3 v\u00e0o m\u1edb IP n\u1ed9i b\u1ed9 c\u1ee7a Service User.\n    \n-   N\u1ebfu l\u00e0 `\/api\/tickets\/...`, n\u00f3 forward qua Service Ticket. Nh\u1edd v\u1eady, to\u00e0n b\u1ed9 c\u1ea5u tr\u00fac m\u1ea1ng n\u1ed9i b\u1ed9, IP, Port c\u1ee7a c\u00e1c container Docker b\u1ecb gi\u1ea5u nh\u1eb9m ho\u00e0n to\u00e0n kh\u1ecfi internet.\n    \n\n**2. Authentication & Authorization (Ch\u1ed1t ch\u1eb7n an ninh)** Thay v\u00ec \u0111\u1ec3 10 service ph\u1ea3i t\u1ef1 \u0111i lo x\u00e1c th\u1ef1c, ch\u00fang ta nh\u00e9t logic ki\u1ec3m tra JWT Token v\u00e0o Gateway. Gateway s\u1ebd gi\u1ea3i m\u00e3 Token, x\u00e1c nh\u1eadn ch\u1eef k\u00fd. N\u1ebfu h\u1ee3p l\u1ec7, n\u00f3 \"b\u00f3c\" c\u00e1i `User_ID` ra, nh\u00e9t v\u00e0o HTTP Header (v\u00ed d\u1ee5 `X-User-Id: 123`) r\u1ed3i \u0111\u1ea9y xu\u1ed1ng cho c\u00e1c service b\u00ean d\u01b0\u1edbi. L\u00fac n\u00e0y, Service Ticket vi\u1ebft b\u1eb1ng Go hay Service CMS vi\u1ebft b\u1eb1ng Laravel b\u00ean d\u01b0\u1edbi c\u1ee9 v\u00f4 t\u01b0 m\u00f3c Header ra x\u00e0i m\u00e0 kh\u00f4ng c\u1ea7n quan t\u00e2m Token m\u00e3 h\u00f3a ph\u1ee9c t\u1ea1p ra sao n\u1eefa. C\u1eeda \u1ea3i kh\u00f3 nh\u1ea5t \u0111\u00e3 c\u00f3 b\u1ea3o v\u1ec7 lo!\n\n**3. Rate Limiting (Ch\u1ed1ng b\u00e3o Request)** Ch\u1ec9 v\u1edbi v\u00e0i d\u00f2ng c\u1ea5u h\u00ecnh tr\u00ean Gateway (k\u1ebft h\u1ee3p v\u1edbi Redis), b\u1ea1n c\u00f3 th\u1ec3 thi\u1ebft l\u1eadp lu\u1eadt: \"M\u1ed7i User_ID ch\u1ec9 \u0111\u01b0\u1ee3c ph\u00e9p g\u1ecdi API mua v\u00e9 t\u1ed1i \u0111a 5 l\u1ea7n\/gi\u00e2y\". \u0110\u1ee9a n\u00e0o d\u00f9ng tool spam v\u01b0\u1ee3t qu\u00e1 con s\u1ed1 n\u00e0y, Gateway v\u1ea3 th\u1eb3ng m\u1ed9t HTTP 429 (Too Many Requests) v\u00e0o m\u1eb7t tr\u01b0\u1edbc khi c\u00e1i request r\u00e1c \u0111\u00f3 k\u1ecbp ch\u1ea1m t\u1edbi c\u00e1c service nghi\u1ec7p v\u1ee5 b\u00ean trong.\n\n## Th\u1ef1c chi\u1ebfn API Gateway t\u1ea1i h\u1ec7 th\u1ed1ng AFC\n\nTr\u1edf l\u1ea1i v\u1edbi h\u1ec7 th\u1ed1ng thu ph\u00ed t\u1ef1 \u0111\u1ed9ng (AFC) c\u1ee7a tuy\u1ebfn Metro.\n\nB\u00ean trong h\u1ec7 th\u1ed1ng n\u1ed9i b\u1ed9 l\u00e0 m\u1ed9t m\u1edb c\u00e1c service vi\u1ebft b\u1eb1ng \u0111\u1ee7 th\u1ee9 ng\u00f4n ng\u1eef (Laravel, Go, C++) ch\u1ea1y t\u00e1n lo\u1ea1n. Nh\u01b0ng khi Mobile App c\u1ee7a h\u00e0nh kh\u00e1ch (ho\u1eb7c h\u1ec7 th\u1ed1ng c\u1ee7a \u0111\u1ed1i t\u00e1c thanh to\u00e1n nh\u01b0 MoMo, VNPay) mu\u1ed1n giao ti\u1ebfp v\u1edbi Metro, h\u1ecd b\u1eaft bu\u1ed9c ph\u1ea3i \u0111i qua m\u1ed9t c\u1ed5ng API Gateway duy nh\u1ea5t (c\u00f3 th\u1ec3 d\u00f9ng **Kong Gateway**, **Apache APISIX**, ho\u1eb7c \u0111\u01a1n gi\u1ea3n l\u00e0 **Nginx** \u0111\u01b0\u1ee3c config c\u1ee9ng c\u00e1p).\n\nKhi m\u1ed9t \u0111\u1ed1i t\u00e1c \u0111\u1ea9y giao d\u1ecbch n\u1ea1p ti\u1ec1n v\u00e0o th\u1ebb h\u00e0nh kh\u00e1ch:\n\n1.  API Gateway ki\u1ec3m tra API Key v\u00e0 ch\u1ee9ng ch\u1ec9 m\u00e3 h\u00f3a c\u1ee7a \u0111\u1ed1i t\u00e1c \u0111\u00f3.\n    \n2.  Th\u1ea5y IP c\u1ee7a \u0111\u1ed1i t\u00e1c n\u00e0y \u0111ang g\u1eedi 10.000 req\/s (d\u1ea5u hi\u1ec7u b\u1ea5t th\u01b0\u1eddng), lu\u1eadt Rate Limit tr\u00ean Gateway \u0111\u01b0\u1ee3c k\u00edch ho\u1ea1t, c\u1ea3n b\u1edbt traffic d\u01b0 th\u1eeba l\u1ea1i.\n    \n3.  Sau khi l\u1ecdc s\u1ea1ch s\u1ebd, Gateway m\u1edbi b\u1ebb l\u00e1i (route) nh\u1eefng request h\u1ee3p l\u1ec7 v\u00e0o \u0111\u00fang con Service N\u1ea1p Ti\u1ec1n (Topup) n\u1eb1m s\u00e2u trong m\u1ea1ng Private.\n    \n\nC\u00e1c service b\u00ean trong ho\u00e0n to\u00e0n t\u0129nh l\u1eb7ng, an to\u00e0n, ch\u1ec9 vi\u1ec7c nh\u1eadn c\u1ee5c data s\u1ea1ch s\u1ebd v\u00e0 x\u1eed l\u00fd.\n\n## L\u1eddi khuy\u00ean \"x\u01b0\u01a1ng m\u00e1u\"\n\n-   **\u0110\u1eebng nh\u00e9t Business Logic v\u00e0o Gateway:** Gateway ch\u1ec9 n\u00ean l\u00e0m nhi\u1ec7m v\u1ee5 c\u1eaft lu\u1ed3ng, chuy\u1ec3n ph\u00e1t, v\u00e0 x\u00e1c th\u1ef1c v\u00f2ng ngo\u00e0i. Nhi\u1ec1u anh em l\u1ea1m d\u1ee5ng, nh\u00e9t c\u1ea3 logic truy v\u1ea5n Database, bi\u1ebfn \u0111\u1ed5i d\u1eef li\u1ec7u (Data Transformation) v\u00e0o Gateway. H\u1eadu qu\u1ea3 l\u00e0 Gateway ph\u00ecnh to, ch\u1ea1y \u00ec \u1ea1ch v\u00e0 bi\u1ebfn th\u00e0nh m\u1ed9t c\u00e1i \"Monolith th\u1ebf h\u1ec7 m\u1edbi\" c\u1ef1c k\u1ef3 kh\u00f3 maintain.\n    \n-   **C\u1ea9n th\u1eadn v\u1edbi \u0110i\u1ec3m ch\u1ebft t\u1eadp trung (Single Point of Failure):** Ch\u1ebft Service Mua v\u00e9 th\u00ec kh\u00f4ng mua \u0111\u01b0\u1ee3c v\u00e9, nh\u01b0ng ch\u1ebft API Gateway l\u00e0 \"s\u1eadp to\u00e0n t\u1eadp\". Ph\u1ea3i lu\u00f4n thi\u1ebft k\u1ebf Gateway ch\u1ea1y \u1edf d\u1ea1ng Cluster (nhi\u1ec1u node) v\u00e0 c\u00f3 Load Balancer \u0111\u1ee9ng tr\u01b0\u1edbc n\u00f3.\n    \n\nV\u1edbi API Gateway, ch\u00fang ta \u0111\u00e3 x\u00e2y \u0111\u01b0\u1ee3c m\u1ed9t b\u1ee9c t\u01b0\u1eddng th\u00e0nh v\u1eefng ch\u1eafc che ch\u1eafn cho h\u1ec7 th\u1ed1ng. Nh\u01b0ng \u0111\u1ee3i \u0111\u00e3! \u1ede ph\u1ea7n Routing, m\u00ecnh c\u00f3 n\u00f3i Gateway s\u1ebd forward request v\u00e0o c\u00e1c IP n\u1ed9i b\u1ed9. Nh\u01b0ng trong m\u00f4i tr\u01b0\u1eddng Docker hay Kubernetes, m\u1ed7i l\u1ea7n deploy ho\u1eb7c scale up, container m\u1edbi s\u1ebd sinh ra m\u1ed9t c\u00e1i IP m\u1edbi toanh. L\u00e0m sao Gateway bi\u1ebft IP m\u1edbi l\u00e0 g\u00ec \u0111\u1ec3 m\u00e0 forward?\n\n\u1ede b\u00e0i ti\u1ebfp theo (B\u00e0i 8), ch\u00fang ta s\u1ebd gi\u1ea3i quy\u1ebft b\u00e0i to\u00e1n \u0111\u1ed9ng n\u00e3o n\u00e0y b\u1eb1ng kh\u00e1i ni\u1ec7m: **Service Discovery \u2013 \"B\u1ea3n \u0111\u1ed3 s\u1ed1ng\" c\u1ee7a Microservices**.\n\nAnh em \u1edf c\u00f4ng ty \u0111ang d\u00f9ng con API Gateway n\u00e0o (Kong, Nginx, Ocelot hay AWS API Gateway)? \u0110\u00e3 bao gi\u1edd anh em ph\u1ea3i v\u1eadt v\u00e3 c\u1ea5u h\u00ecnh b\u1ea3o m\u1eadt \u1edf t\u1ea7ng n\u00e0y ch\u01b0a? C\u00f9ng b\u00ecnh lu\u1eadn nh\u00e9!","published_at":"2026-10-04T23:51:19.000000Z","scheduled_publish_at":null,"is_published":true,"is_shared":false,"updated_at":"2026-10-05T11:00:14.000000Z","edited_at":"2026-10-03T15:38:56.000000Z","translation_source":null,"trend_at":null,"promoted_at":null,"reading_time":6,"points":0,"views_count":44,"clips_count":0,"comments_count":0,"rated_value":null,"promoted":false,"trending":false,"is_draft":false,"is_public":true,"locale_code":"vi","is_video":false,"thumbnail_url":null,"user":{"data":{"id":182653,"url":"https:\/\/viblo.asia\/u\/hhoang","avatar":"7b8975e5-ecec-4eda-ba88-dd56fe2a29c0.jpg","name":"Huy Ho\u00e0ng","username":"hhoang","followers_count":182,"reputation":13760,"posts_count":1389,"banned_at":null,"level_partner":null,"following":false}},"tags":{"data":[{"slug":"microservices","name":"microservices"}]},"commentators":{"data":[]}}],"meta":{"pagination":{"total":51253,"count":20,"per_page":20,"current_page":1,"total_pages":2563,"links":{"next":"http:\/\/viblo.asia\/posts?page=2"}}}}