From f5cc48257eee039cec3c9fe9cd7a80a19da3d9ae Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 21 Apr 2026 08:07:20 +0000 Subject: [PATCH] =?UTF-8?q?deploy:=20feat(docs):=20add=20=E5=BC=80?= =?UTF-8?q?=E6=BA=90=E6=B4=9E=E5=AF=9F=20column=20with=20fetch-event-sourc?= =?UTF-8?q?e=20source=20code=20analysis?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add ๅผ€ๆบๆดžๅฏŸ navigation item - Add repo-insight overview page - Add fetch-event-source source code interpretation article Co-Authored-By: Claude Sonnet 4.6 sqliang/insight-stack-blog@4f73010306a3e1bd5ea28ae092b82e2013ab1da9 --- .../00.overview.html" | 12 +- ...\345\261\202\345\241\224\342\200\235.html" | 12 +- ...\350\277\233\346\214\207\345\215\227.html" | 12 +- ...\345\274\217\351\207\215\345\241\221.html" | 12 +- ...\344\270\216\350\265\204\346\272\220.html" | 10 +- ...\350\267\265\346\214\207\345\215\227.html" | 12 +- ...\345\267\245\347\250\213\345\214\226.html" | 10 +- ...\350\267\265\346\214\207\345\215\227.html" | 10 +- ...\345\272\246\345\215\232\345\274\210.html" | 10 +- ...\345\236\213\346\214\207\345\215\227.html" | 10 +- ...\344\272\247\345\256\236\350\267\265.html" | 12 +- ...\345\236\213\345\206\263\347\255\226.html" | 10 +- ...\350\267\265\346\214\207\345\215\227.html" | 12 +- ...\347\233\256\346\214\207\345\215\227.html" | 10 +- ... Typescript \346\263\233\345\236\213.html" | 10 +- .../0.overview.html" | 10 +- ...\347\250\213\345\237\272\347\241\200.html" | 10 +- ...\350\214\203\346\242\263\347\220\206.html" | 10 +- ...\350\267\265\350\247\243\346\236\220.html" | 10 +- ...\347\232\204\345\242\236\345\274\272.html" | 10 +- ...\344\275\263\345\256\236\350\267\265.html" | 10 +- ...\346\250\241\345\235\227\345\214\226.html" | 10 +- ...\346\272\220\346\216\250\350\215\220.html" | 10 +- ...\350\267\265\345\205\250\346\231\257.html" | 12 +- ...\345\267\245\344\275\234\350\200\205.html" | 10 +- ...\347\211\271\350\264\250\357\274\237.html" | 10 +- ...73\272\344\272\247\345\223\201 Sense.html" | 10 +- ...\350\257\273\345\220\216\346\204\237.html" | 10 +- ...\345\212\233\346\250\241\345\236\213.html" | 10 +- ...\345\201\232\344\272\247\345\223\201.html" | 10 +- ...\346\231\257\344\270\200\350\247\210.html" | 12 +- ...\344\270\216\347\273\274\350\277\260.html" | 10 +- ...\345\210\222\346\250\241\345\235\227.html" | 10 +- ...\345\267\245\344\275\234\346\265\201.html" | 10 +- .../10.Agent SKills.html" | 12 +- ...\255\345\273\272 Deep Research Agent.html" | 12 +- ...t SDK \346\220\255\345\273\272 Agent.html" | 12 +- ...\345\260\217\345\212\251\346\211\213.html" | 10 +- ...\345\260\217\347\262\276\347\201\265.html" | 10 +- ...\347\253\231\346\216\250\350\215\220.html" | 10 +- ...\345\236\213\346\214\207\345\215\227.html" | 10 +- ...\344\271\246\346\216\250\350\215\220.html" | 10 +- ...\344\270\211\344\270\215\350\246\201.html" | 10 +- ...\347\232\204\344\277\241\346\201\257.html" | 10 +- .../00.overview.html" | 177 +++++ .../00.overview.md" | 28 + ...\347\240\201\350\247\243\350\257\273.html" | 603 +++++++++++++++ ...20\347\240\201\350\247\243\350\257\273.md" | 652 +++++++++++++++++ ...\345\205\263\344\272\216\346\210\221.html" | 10 +- ...\345\261\202\351\200\273\350\276\221.html" | 10 +- ...\346\264\273\347\247\251\345\272\217.html" | 10 +- ...\347\254\224\346\261\207\346\200\273.html" | 10 +- 404.html | 4 +- @pages/categoriesPage.html | 10 +- @pages/tagsPage.html | 10 +- ...50\346\240\210_00.overview.md.DRHSs2EE.js" | 2 +- ...6\240\210_00.overview.md.DRHSs2EE.lean.js" | 2 +- ...02\345\241\224\342\200\235.md.DnAdo66b.js" | 2 +- ...5\241\224\342\200\235.md.DnAdo66b.lean.js" | 2 +- ...33\346\214\207\345\215\227.md.BzWlQ04R.js" | 2 +- ...6\214\207\345\215\227.md.BzWlQ04R.lean.js" | 2 +- ...17\351\207\215\345\241\221.md.BxS8ZWIM.js" | 2 +- ...1\207\215\345\241\221.md.BxS8ZWIM.lean.js" | 2 +- ...16\350\265\204\346\272\220.md.0WWjtM47.js" | 2 +- ...0\265\204\346\272\220.md.0WWjtM47.lean.js" | 2 +- ...65\346\214\207\345\215\227.md.ip_V3kmi.js" | 2 +- ...6\214\207\345\215\227.md.ip_V3kmi.lean.js" | 2 +- ...45\347\250\213\345\214\226.md.DUPhvCof.js" | 2 +- ...7\250\213\345\214\226.md.DUPhvCof.lean.js" | 2 +- ...65\346\214\207\345\215\227.md.CdkgDOAk.js" | 2 +- ...6\214\207\345\215\227.md.CdkgDOAk.lean.js" | 2 +- ...46\345\215\232\345\274\210.md.BpMi6J2x.js" | 2 +- ...5\215\232\345\274\210.md.BpMi6J2x.lean.js" | 2 +- ...13\346\214\207\345\215\227.md.int3cA6G.js" | 2 +- ...6\214\207\345\215\227.md.int3cA6G.lean.js" | 2 +- ...47\345\256\236\350\267\265.md.Cp-uzdUB.js" | 2 +- ...5\256\236\350\267\265.md.Cp-uzdUB.lean.js" | 2 +- ...13\345\206\263\347\255\226.md.C2A_-RUG.js" | 2 +- ...5\206\263\347\255\226.md.C2A_-RUG.lean.js" | 2 +- ...65\346\214\207\345\215\227.md.B1vmVkqI.js" | 2 +- ...6\214\207\345\215\227.md.B1vmVkqI.lean.js" | 2 +- ...56\346\214\207\345\215\227.md.BHyEzAuH.js" | 2 +- ...6\214\207\345\215\227.md.BHyEzAuH.lean.js" | 2 +- ...t \346\263\233\345\236\213.md.BpsDJhtc.js" | 2 +- ...6\263\233\345\236\213.md.BpsDJhtc.lean.js" | 2 +- ...207\345\215\227_0.overview.md.CwRE_Svk.js" | 2 +- ...45\215\227_0.overview.md.CwRE_Svk.lean.js" | 2 +- ...13\345\237\272\347\241\200.md.BVmOGo8x.js" | 2 +- ...5\237\272\347\241\200.md.BVmOGo8x.lean.js" | 2 +- ...03\346\242\263\347\220\206.md.CRGmbaTn.js" | 2 +- ...6\242\263\347\220\206.md.CRGmbaTn.lean.js" | 2 +- ...65\350\247\243\346\236\220.md.fPkWGUxd.js" | 2 +- ...0\247\243\346\236\220.md.fPkWGUxd.lean.js" | 2 +- ...04\345\242\236\345\274\272.md.hJ1lv1QY.js" | 2 +- ...5\242\236\345\274\272.md.hJ1lv1QY.lean.js" | 2 +- ...63\345\256\236\350\267\265.md.LTILHYsI.js" | 2 +- ...5\256\236\350\267\265.md.LTILHYsI.lean.js" | 2 +- ...41\345\235\227\345\214\226.md.CGHtK9Bj.js" | 2 +- ...5\235\227\345\214\226.md.CGHtK9Bj.lean.js" | 2 +- ...20\346\216\250\350\215\220.md.BBjcdRsJ.js" | 2 +- ...6\216\250\350\215\220.md.BBjcdRsJ.lean.js" | 2 +- ...65\345\205\250\346\231\257.md.BlAoRUPp.js" | 2 +- ...5\205\250\346\231\257.md.BlAoRUPp.lean.js" | 2 +- ...45\344\275\234\350\200\205.md.BRTIJ78C.js" | 2 +- ...4\275\234\350\200\205.md.BRTIJ78C.lean.js" | 2 +- ...71\350\264\250\357\274\237.md.Xe0P5HJr.js" | 2 +- ...0\264\250\357\274\237.md.Xe0P5HJr.lean.js" | 2 +- ...\272\247\345\223\201 Sense.md.CO18rPj4.js" | 2 +- ...247\345\223\201 Sense.md.CO18rPj4.lean.js" | 2 +- ...73\345\220\216\346\204\237.md.gAigzrX9.js" | 2 +- ...5\220\216\346\204\237.md.gAigzrX9.lean.js" | 2 +- ...33\346\250\241\345\236\213.md.j-w2xxuV.js" | 2 +- ...6\250\241\345\236\213.md.j-w2xxuV.lean.js" | 2 +- ...32\344\272\247\345\223\201.md.CUbjYJmR.js" | 2 +- ...4\272\247\345\223\201.md.CUbjYJmR.lean.js" | 2 +- ...57\344\270\200\350\247\210.md.Bq7k-xXb.js" | 2 +- ...4\270\200\350\247\210.md.Bq7k-xXb.lean.js" | 2 +- ...16\347\273\274\350\277\260.md.DMvs5K_Q.js" | 2 +- ...7\273\274\350\277\260.md.DMvs5K_Q.lean.js" | 2 +- ...22\346\250\241\345\235\227.md.C3XAsz_e.js" | 2 +- ...6\250\241\345\235\227.md.C3XAsz_e.lean.js" | 2 +- ...45\344\275\234\346\265\201.md.Dzka5_K9.js" | 2 +- ...4\275\234\346\265\201.md.Dzka5_K9.lean.js" | 2 +- ...45\210\227_10.Agent SKills.md.BYP2Q09s.js" | 2 +- ...0\227_10.Agent SKills.md.BYP2Q09s.lean.js" | 2 +- ...73\272 Deep Research Agent.md.DtQSvR-M.js" | 2 +- ...2 Deep Research Agent.md.DtQSvR-M.lean.js" | 2 +- ...\220\255\345\273\272 Agent.md.CAQEdrbh.js" | 2 +- ...255\345\273\272 Agent.md.CAQEdrbh.lean.js" | 2 +- ...17\345\212\251\346\211\213.md.BVW8ytPR.js" | 2 +- ...5\212\251\346\211\213.md.BVW8ytPR.lean.js" | 2 +- ...17\347\262\276\347\201\265.md.C1VKntBb.js" | 2 +- ...7\262\276\347\201\265.md.C1VKntBb.lean.js" | 2 +- ...31\346\216\250\350\215\220.md.DT78Ux7f.js" | 2 +- ...6\216\250\350\215\220.md.DT78Ux7f.lean.js" | 2 +- ...13\346\214\207\345\215\227.md.qaanG5K2.js" | 2 +- ...6\214\207\345\215\227.md.qaanG5K2.lean.js" | 2 +- ...46\346\216\250\350\215\220.md.lGftAF4x.js" | 2 +- ...6\216\250\350\215\220.md.lGftAF4x.lean.js" | 2 +- ...11\344\270\215\350\246\201.md.BQj2m1KY.js" | 2 +- ...4\270\215\350\246\201.md.BQj2m1KY.lean.js" | 2 +- ...04\344\277\241\346\201\257.md.C7EJFVmA.js" | 2 +- ...4\277\241\346\201\257.md.C7EJFVmA.lean.js" | 2 +- ...36\345\257\237_00.overview.md.DsfCImvx.js" | 1 + ...5\257\237_00.overview.md.DsfCImvx.lean.js" | 1 + ...01\350\247\243\350\257\273.md.BP_UYyAh.js" | 427 +++++++++++ ...0\247\243\350\257\273.md.BP_UYyAh.lean.js" | 1 + ...63\344\272\216\346\210\221.md.CkzMieuF.js" | 2 +- ...4\272\216\346\210\221.md.CkzMieuF.lean.js" | 2 +- ...02\351\200\273\350\276\221.md.DJ7lWg_C.js" | 2 +- ...1\200\273\350\276\221.md.DJ7lWg_C.lean.js" | 2 +- ...73\347\247\251\345\272\217.md.Cj12M61O.js" | 2 +- ...7\247\251\345\272\217.md.Cj12M61O.lean.js" | 2 +- ...24\346\261\207\346\200\273.md.DNHfVn0b.js" | 2 +- ...6\261\207\346\200\273.md.DNHfVn0b.lean.js" | 2 +- ...s => @pages_categoriesPage.md.DalPAP0h.js} | 2 +- ...@pages_categoriesPage.md.DalPAP0h.lean.js} | 2 +- ...m28k.js => @pages_tagsPage.md.nlt9sHhH.js} | 2 +- ...js => @pages_tagsPage.md.nlt9sHhH.lean.js} | 2 +- assets/{app.sgquq4kz.js => app.DBRhVQUD.js} | 2 +- .../chunks/@localSearchIndexroot.BQjtOtV7.js | 1 - .../chunks/@localSearchIndexroot.zGeIrmus.js | 1 + ...RH3I_GT.js => ArticleCardList.DFlNODKA.js} | 2 +- ....gRdAAF3C.js => HighLightText.BFsbuOsY.js} | 2 +- ...C5EZ0-fZ.js => TwoColumnImage.BAUswlD7.js} | 2 +- ...u_3HXH.js => VPLocalSearchBox.WaTilTWb.js} | 2 +- assets/chunks/metadata.4c1f2235.js | 1 + assets/chunks/metadata.7bed8ab7.js | 1 - ...wu.js => vitepress-theme-teek.CqY1sKvl.js} | 2 +- ...ex.md.Dpw0tPo2.js => index.md.CZC8OIc5.js} | 2 +- ...tPo2.lean.js => index.md.CZC8OIc5.lean.js} | 2 +- hashmap.json | 2 +- index.html | 10 +- llms-full.txt | 686 ++++++++++++++++++ llms.txt | 2 + sitemap.xml | 2 +- 176 files changed, 2959 insertions(+), 381 deletions(-) create mode 100644 "31.\345\274\200\346\272\220\346\264\236\345\257\237/00.overview.html" create mode 100644 "31.\345\274\200\346\272\220\346\264\236\345\257\237/00.overview.md" create mode 100644 "31.\345\274\200\346\272\220\346\264\236\345\257\237/01.fetch-event-source \346\272\220\347\240\201\350\247\243\350\257\273.html" create mode 100644 "31.\345\274\200\346\272\220\346\264\236\345\257\237/01.fetch-event-source \346\272\220\347\240\201\350\247\243\350\257\273.md" rename "assets/01.\345\205\250\346\240\210_00.overview.md.DTl63cj_.js" => "assets/01.\345\205\250\346\240\210_00.overview.md.DRHSs2EE.js" (98%) rename "assets/01.\345\205\250\346\240\210_00.overview.md.DTl63cj_.lean.js" => "assets/01.\345\205\250\346\240\210_00.overview.md.DRHSs2EE.lean.js" (98%) rename "assets/01.\345\205\250\346\240\210_01.AI Native \345\267\245\347\250\213\346\200\235\347\273\264_01.\344\270\215\346\255\242\344\272\216\344\273\243\347\240\201\357\274\232\346\236\204\345\273\272 AI \346\227\266\344\273\243\345\205\250\346\240\210\345\267\245\347\250\213\345\270\210\347\232\204\342\200\234\350\256\244\347\237\245\344\270\211\345\261\202\345\241\224\342\200\235.md.Ch3CtLm0.js" => "assets/01.\345\205\250\346\240\210_01.AI Native \345\267\245\347\250\213\346\200\235\347\273\264_01.\344\270\215\346\255\242\344\272\216\344\273\243\347\240\201\357\274\232\346\236\204\345\273\272 AI \346\227\266\344\273\243\345\205\250\346\240\210\345\267\245\347\250\213\345\270\210\347\232\204\342\200\234\350\256\244\347\237\245\344\270\211\345\261\202\345\241\224\342\200\235.md.DnAdo66b.js" (99%) rename "assets/01.\345\205\250\346\240\210_01.AI Native \345\267\245\347\250\213\346\200\235\347\273\264_01.\344\270\215\346\255\242\344\272\216\344\273\243\347\240\201\357\274\232\346\236\204\345\273\272 AI \346\227\266\344\273\243\345\205\250\346\240\210\345\267\245\347\250\213\345\270\210\347\232\204\342\200\234\350\256\244\347\237\245\344\270\211\345\261\202\345\241\224\342\200\235.md.Ch3CtLm0.lean.js" => "assets/01.\345\205\250\346\240\210_01.AI Native \345\267\245\347\250\213\346\200\235\347\273\264_01.\344\270\215\346\255\242\344\272\216\344\273\243\347\240\201\357\274\232\346\236\204\345\273\272 AI \346\227\266\344\273\243\345\205\250\346\240\210\345\267\245\347\250\213\345\270\210\347\232\204\342\200\234\350\256\244\347\237\245\344\270\211\345\261\202\345\241\224\342\200\235.md.DnAdo66b.lean.js" (95%) rename "assets/01.\345\205\250\346\240\210_01.AI Native \345\267\245\347\250\213\346\200\235\347\273\264_02.\351\207\215\346\236\204\345\274\200\345\217\221\350\200\205\357\274\232AI \346\227\266\344\273\243\344\270\213\347\232\204\345\267\245\347\250\213\345\270\210\350\203\275\345\212\233\345\233\276\350\260\261\344\270\216\346\274\224\350\277\233\346\214\207\345\215\227.md.w2dUgYOC.js" => "assets/01.\345\205\250\346\240\210_01.AI Native \345\267\245\347\250\213\346\200\235\347\273\264_02.\351\207\215\346\236\204\345\274\200\345\217\221\350\200\205\357\274\232AI \346\227\266\344\273\243\344\270\213\347\232\204\345\267\245\347\250\213\345\270\210\350\203\275\345\212\233\345\233\276\350\260\261\344\270\216\346\274\224\350\277\233\346\214\207\345\215\227.md.BzWlQ04R.js" (99%) rename "assets/01.\345\205\250\346\240\210_01.AI Native \345\267\245\347\250\213\346\200\235\347\273\264_02.\351\207\215\346\236\204\345\274\200\345\217\221\350\200\205\357\274\232AI \346\227\266\344\273\243\344\270\213\347\232\204\345\267\245\347\250\213\345\270\210\350\203\275\345\212\233\345\233\276\350\260\261\344\270\216\346\274\224\350\277\233\346\214\207\345\215\227.md.w2dUgYOC.lean.js" => "assets/01.\345\205\250\346\240\210_01.AI Native \345\267\245\347\250\213\346\200\235\347\273\264_02.\351\207\215\346\236\204\345\274\200\345\217\221\350\200\205\357\274\232AI \346\227\266\344\273\243\344\270\213\347\232\204\345\267\245\347\250\213\345\270\210\350\203\275\345\212\233\345\233\276\350\260\261\344\270\216\346\274\224\350\277\233\346\214\207\345\215\227.md.BzWlQ04R.lean.js" (95%) rename "assets/01.\345\205\250\346\240\210_01.AI Native \345\267\245\347\250\213\346\200\235\347\273\264_10.\350\257\273 Anthropic \347\240\224\347\251\266\346\212\245\345\221\212\357\274\214\346\216\242\345\257\273 AI \346\227\266\344\273\243\347\232\204\345\267\245\347\250\213\350\214\203\345\274\217\351\207\215\345\241\221.md.BKsOQbXL.js" => "assets/01.\345\205\250\346\240\210_01.AI Native \345\267\245\347\250\213\346\200\235\347\273\264_10.\350\257\273 Anthropic \347\240\224\347\251\266\346\212\245\345\221\212\357\274\214\346\216\242\345\257\273 AI \346\227\266\344\273\243\347\232\204\345\267\245\347\250\213\350\214\203\345\274\217\351\207\215\345\241\221.md.BxS8ZWIM.js" (99%) rename "assets/01.\345\205\250\346\240\210_01.AI Native \345\267\245\347\250\213\346\200\235\347\273\264_10.\350\257\273 Anthropic \347\240\224\347\251\266\346\212\245\345\221\212\357\274\214\346\216\242\345\257\273 AI \346\227\266\344\273\243\347\232\204\345\267\245\347\250\213\350\214\203\345\274\217\351\207\215\345\241\221.md.BKsOQbXL.lean.js" => "assets/01.\345\205\250\346\240\210_01.AI Native \345\267\245\347\250\213\346\200\235\347\273\264_10.\350\257\273 Anthropic \347\240\224\347\251\266\346\212\245\345\221\212\357\274\214\346\216\242\345\257\273 AI \346\227\266\344\273\243\347\232\204\345\267\245\347\250\213\350\214\203\345\274\217\351\207\215\345\241\221.md.BxS8ZWIM.lean.js" (97%) rename "assets/01.\345\205\250\346\240\210_10.AI \347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_00.AI\347\274\226\347\250\213\345\267\245\345\205\267\344\270\216\350\265\204\346\272\220.md.CQL4JXm2.js" => "assets/01.\345\205\250\346\240\210_10.AI \347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_00.AI\347\274\226\347\250\213\345\267\245\345\205\267\344\270\216\350\265\204\346\272\220.md.0WWjtM47.js" (99%) rename "assets/01.\345\205\250\346\240\210_10.AI \347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_00.AI\347\274\226\347\250\213\345\267\245\345\205\267\344\270\216\350\265\204\346\272\220.md.CQL4JXm2.lean.js" => "assets/01.\345\205\250\346\240\210_10.AI \347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_00.AI\347\274\226\347\250\213\345\267\245\345\205\267\344\270\216\350\265\204\346\272\220.md.0WWjtM47.lean.js" (99%) rename "assets/01.\345\205\250\346\240\210_40.\345\211\215\347\253\257\345\267\245\347\250\213_01.React \350\256\276\350\256\241\345\223\262\345\255\246\357\274\232AI \345\215\217\344\275\234\346\227\266\344\273\243\347\232\204\347\273\204\344\273\266\345\214\226\345\274\200\345\217\221\345\256\236\350\267\265\346\214\207\345\215\227.md.C0-Qj7UG.js" => "assets/01.\345\205\250\346\240\210_40.\345\211\215\347\253\257\345\267\245\347\250\213_01.React \350\256\276\350\256\241\345\223\262\345\255\246\357\274\232AI \345\215\217\344\275\234\346\227\266\344\273\243\347\232\204\347\273\204\344\273\266\345\214\226\345\274\200\345\217\221\345\256\236\350\267\265\346\214\207\345\215\227.md.ip_V3kmi.js" (99%) rename "assets/01.\345\205\250\346\240\210_40.\345\211\215\347\253\257\345\267\245\347\250\213_01.React \350\256\276\350\256\241\345\223\262\345\255\246\357\274\232AI \345\215\217\344\275\234\346\227\266\344\273\243\347\232\204\347\273\204\344\273\266\345\214\226\345\274\200\345\217\221\345\256\236\350\267\265\346\214\207\345\215\227.md.C0-Qj7UG.lean.js" => "assets/01.\345\205\250\346\240\210_40.\345\211\215\347\253\257\345\267\245\347\250\213_01.React \350\256\276\350\256\241\345\223\262\345\255\246\357\274\232AI \345\215\217\344\275\234\346\227\266\344\273\243\347\232\204\347\273\204\344\273\266\345\214\226\345\274\200\345\217\221\345\256\236\350\267\265\346\214\207\345\215\227.md.ip_V3kmi.lean.js" (97%) rename "assets/01.\345\205\250\346\240\210_40.\345\211\215\347\253\257\345\267\245\347\250\213_02.CSS\345\267\245\347\250\213\345\214\226.md.B6Q9ssdl.js" => "assets/01.\345\205\250\346\240\210_40.\345\211\215\347\253\257\345\267\245\347\250\213_02.CSS\345\267\245\347\250\213\345\214\226.md.DUPhvCof.js" (99%) rename "assets/01.\345\205\250\346\240\210_40.\345\211\215\347\253\257\345\267\245\347\250\213_02.CSS\345\267\245\347\250\213\345\214\226.md.B6Q9ssdl.lean.js" => "assets/01.\345\205\250\346\240\210_40.\345\211\215\347\253\257\345\267\245\347\250\213_02.CSS\345\267\245\347\250\213\345\214\226.md.DUPhvCof.lean.js" (95%) rename "assets/01.\345\205\250\346\240\210_40.\345\211\215\347\253\257\345\267\245\347\250\213_03.JAMStack \346\242\263\347\220\206\344\270\216\345\256\236\350\267\265\346\214\207\345\215\227.md.BHFPzWx_.js" => "assets/01.\345\205\250\346\240\210_40.\345\211\215\347\253\257\345\267\245\347\250\213_03.JAMStack \346\242\263\347\220\206\344\270\216\345\256\236\350\267\265\346\214\207\345\215\227.md.CdkgDOAk.js" (99%) rename "assets/01.\345\205\250\346\240\210_40.\345\211\215\347\253\257\345\267\245\347\250\213_03.JAMStack \346\242\263\347\220\206\344\270\216\345\256\236\350\267\265\346\214\207\345\215\227.md.BHFPzWx_.lean.js" => "assets/01.\345\205\250\346\240\210_40.\345\211\215\347\253\257\345\267\245\347\250\213_03.JAMStack \346\242\263\347\220\206\344\270\216\345\256\236\350\267\265\346\214\207\345\215\227.md.CdkgDOAk.lean.js" (95%) rename "assets/01.\345\205\250\346\240\210_40.\345\211\215\347\253\257\345\267\245\347\250\213_11.React \346\234\215\345\212\241\347\253\257\347\212\266\346\200\201\347\256\241\347\220\206\347\232\204\350\214\203\345\274\217\350\275\254\347\247\273\344\270\216\351\200\211\345\236\213\346\267\261\345\272\246\345\215\232\345\274\210.md.Bm5uQ9fk.js" => "assets/01.\345\205\250\346\240\210_40.\345\211\215\347\253\257\345\267\245\347\250\213_11.React \346\234\215\345\212\241\347\253\257\347\212\266\346\200\201\347\256\241\347\220\206\347\232\204\350\214\203\345\274\217\350\275\254\347\247\273\344\270\216\351\200\211\345\236\213\346\267\261\345\272\246\345\215\232\345\274\210.md.BpMi6J2x.js" (99%) rename "assets/01.\345\205\250\346\240\210_40.\345\211\215\347\253\257\345\267\245\347\250\213_11.React \346\234\215\345\212\241\347\253\257\347\212\266\346\200\201\347\256\241\347\220\206\347\232\204\350\214\203\345\274\217\350\275\254\347\247\273\344\270\216\351\200\211\345\236\213\346\267\261\345\272\246\345\215\232\345\274\210.md.Bm5uQ9fk.lean.js" => "assets/01.\345\205\250\346\240\210_40.\345\211\215\347\253\257\345\267\245\347\250\213_11.React \346\234\215\345\212\241\347\253\257\347\212\266\346\200\201\347\256\241\347\220\206\347\232\204\350\214\203\345\274\217\350\275\254\347\247\273\344\270\216\351\200\211\345\236\213\346\267\261\345\272\246\345\215\232\345\274\210.md.BpMi6J2x.lean.js" (96%) rename "assets/01.\345\205\250\346\240\210_60.\347\275\221\347\273\234\344\270\216\351\200\232\344\277\241_01.\344\273\216 HTTP \345\210\260 WebSocket \347\232\204\346\212\200\346\234\257\351\200\211\345\236\213\346\214\207\345\215\227.md.DlstBmfn.js" => "assets/01.\345\205\250\346\240\210_60.\347\275\221\347\273\234\344\270\216\351\200\232\344\277\241_01.\344\273\216 HTTP \345\210\260 WebSocket \347\232\204\346\212\200\346\234\257\351\200\211\345\236\213\346\214\207\345\215\227.md.int3cA6G.js" (99%) rename "assets/01.\345\205\250\346\240\210_60.\347\275\221\347\273\234\344\270\216\351\200\232\344\277\241_01.\344\273\216 HTTP \345\210\260 WebSocket \347\232\204\346\212\200\346\234\257\351\200\211\345\236\213\346\214\207\345\215\227.md.DlstBmfn.lean.js" => "assets/01.\345\205\250\346\240\210_60.\347\275\221\347\273\234\344\270\216\351\200\232\344\277\241_01.\344\273\216 HTTP \345\210\260 WebSocket \347\232\204\346\212\200\346\234\257\351\200\211\345\236\213\346\214\207\345\215\227.md.int3cA6G.lean.js" (95%) rename "assets/01.\345\205\250\346\240\210_60.\347\275\221\347\273\234\344\270\216\351\200\232\344\277\241_02.\346\265\201\345\274\217 HTTP \344\270\216 SSE \345\215\217\350\256\256\357\274\232\344\273\216\346\246\202\345\277\265\350\276\250\346\236\220\345\210\260\347\224\237\344\272\247\345\256\236\350\267\265.md.DBvMz_Gr.js" => "assets/01.\345\205\250\346\240\210_60.\347\275\221\347\273\234\344\270\216\351\200\232\344\277\241_02.\346\265\201\345\274\217 HTTP \344\270\216 SSE \345\215\217\350\256\256\357\274\232\344\273\216\346\246\202\345\277\265\350\276\250\346\236\220\345\210\260\347\224\237\344\272\247\345\256\236\350\267\265.md.Cp-uzdUB.js" (99%) rename "assets/01.\345\205\250\346\240\210_60.\347\275\221\347\273\234\344\270\216\351\200\232\344\277\241_02.\346\265\201\345\274\217 HTTP \344\270\216 SSE \345\215\217\350\256\256\357\274\232\344\273\216\346\246\202\345\277\265\350\276\250\346\236\220\345\210\260\347\224\237\344\272\247\345\256\236\350\267\265.md.DBvMz_Gr.lean.js" => "assets/01.\345\205\250\346\240\210_60.\347\275\221\347\273\234\344\270\216\351\200\232\344\277\241_02.\346\265\201\345\274\217 HTTP \344\270\216 SSE \345\215\217\350\256\256\357\274\232\344\273\216\346\246\202\345\277\265\350\276\250\346\236\220\345\210\260\347\224\237\344\272\247\345\256\236\350\267\265.md.Cp-uzdUB.lean.js" (94%) rename "assets/01.\345\205\250\346\240\210_60.\347\275\221\347\273\234\344\270\216\351\200\232\344\277\241_03.\351\200\200\351\201\277\350\275\256\350\257\242\344\270\216\351\225\277\350\275\256\350\257\242\347\232\204\345\216\237\347\220\206\343\200\201\345\256\236\346\210\230\344\270\216\351\200\211\345\236\213\345\206\263\347\255\226.md.J0ycjaFX.js" => "assets/01.\345\205\250\346\240\210_60.\347\275\221\347\273\234\344\270\216\351\200\232\344\277\241_03.\351\200\200\351\201\277\350\275\256\350\257\242\344\270\216\351\225\277\350\275\256\350\257\242\347\232\204\345\216\237\347\220\206\343\200\201\345\256\236\346\210\230\344\270\216\351\200\211\345\236\213\345\206\263\347\255\226.md.C2A_-RUG.js" (99%) rename "assets/01.\345\205\250\346\240\210_60.\347\275\221\347\273\234\344\270\216\351\200\232\344\277\241_03.\351\200\200\351\201\277\350\275\256\350\257\242\344\270\216\351\225\277\350\275\256\350\257\242\347\232\204\345\216\237\347\220\206\343\200\201\345\256\236\346\210\230\344\270\216\351\200\211\345\236\213\345\206\263\347\255\226.md.J0ycjaFX.lean.js" => "assets/01.\345\205\250\346\240\210_60.\347\275\221\347\273\234\344\270\216\351\200\232\344\277\241_03.\351\200\200\351\201\277\350\275\256\350\257\242\344\270\216\351\225\277\350\275\256\350\257\242\347\232\204\345\216\237\347\220\206\343\200\201\345\256\236\346\210\230\344\270\216\351\200\211\345\236\213\345\206\263\347\255\226.md.C2A_-RUG.lean.js" (95%) rename "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_00.\345\245\245\345\215\241\345\247\206\345\211\203\345\210\200\345\216\237\345\210\231\357\274\232\344\273\216\347\220\206\350\256\272\345\210\260\347\274\226\347\250\213\350\256\276\350\256\241\347\232\204\345\256\236\350\267\265\346\214\207\345\215\227.md.DMY_isjL.js" => "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_00.\345\245\245\345\215\241\345\247\206\345\211\203\345\210\200\345\216\237\345\210\231\357\274\232\344\273\216\347\220\206\350\256\272\345\210\260\347\274\226\347\250\213\350\256\276\350\256\241\347\232\204\345\256\236\350\267\265\346\214\207\345\215\227.md.B1vmVkqI.js" (99%) rename "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_00.\345\245\245\345\215\241\345\247\206\345\211\203\345\210\200\345\216\237\345\210\231\357\274\232\344\273\216\347\220\206\350\256\272\345\210\260\347\274\226\347\250\213\350\256\276\350\256\241\347\232\204\345\256\236\350\267\265\346\214\207\345\215\227.md.DMY_isjL.lean.js" => "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_00.\345\245\245\345\215\241\345\247\206\345\211\203\345\210\200\345\216\237\345\210\231\357\274\232\344\273\216\347\220\206\350\256\272\345\210\260\347\274\226\347\250\213\350\256\276\350\256\241\347\232\204\345\256\236\350\267\265\346\214\207\345\215\227.md.B1vmVkqI.lean.js" (95%) rename "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_01.\347\274\226\350\257\221\344\270\216\350\260\203\350\257\225 TypeScript \351\241\271\347\233\256\346\214\207\345\215\227.md.DTw4Rt2C.js" => "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_01.\347\274\226\350\257\221\344\270\216\350\260\203\350\257\225 TypeScript \351\241\271\347\233\256\346\214\207\345\215\227.md.BHyEzAuH.js" (99%) rename "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_01.\347\274\226\350\257\221\344\270\216\350\260\203\350\257\225 TypeScript \351\241\271\347\233\256\346\214\207\345\215\227.md.DTw4Rt2C.lean.js" => "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_01.\347\274\226\350\257\221\344\270\216\350\260\203\350\257\225 TypeScript \351\241\271\347\233\256\346\214\207\345\215\227.md.BHyEzAuH.lean.js" (95%) rename "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_10.\350\201\212\344\270\200\350\201\212 Typescript \346\263\233\345\236\213.md.CavsGSMv.js" => "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_10.\350\201\212\344\270\200\350\201\212 Typescript \346\263\233\345\236\213.md.BpsDJhtc.js" (99%) rename "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_10.\350\201\212\344\270\200\350\201\212 Typescript \346\263\233\345\236\213.md.CavsGSMv.lean.js" => "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_10.\350\201\212\344\270\200\350\201\212 Typescript \346\263\233\345\236\213.md.BpsDJhtc.lean.js" (95%) rename "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_0.overview.md.BdLdBuUH.js" => "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_0.overview.md.CwRE_Svk.js" (99%) rename "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_0.overview.md.BdLdBuUH.lean.js" => "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_0.overview.md.CwRE_Svk.lean.js" (94%) rename "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_1.\345\211\215\347\253\257\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\237\272\347\241\200.md.f0WM8qM3.js" => "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_1.\345\211\215\347\253\257\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\237\272\347\241\200.md.BVmOGo8x.js" (99%) rename "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_1.\345\211\215\347\253\257\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\237\272\347\241\200.md.f0WM8qM3.lean.js" => "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_1.\345\211\215\347\253\257\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\237\272\347\241\200.md.BVmOGo8x.lean.js" (95%) rename "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_2.\344\270\215\345\220\214\346\250\241\345\235\227\345\214\226\350\247\204\350\214\203\346\242\263\347\220\206.md.CDvbKLWO.js" => "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_2.\344\270\215\345\220\214\346\250\241\345\235\227\345\214\226\350\247\204\350\214\203\346\242\263\347\220\206.md.CRGmbaTn.js" (99%) rename "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_2.\344\270\215\345\220\214\346\250\241\345\235\227\345\214\226\350\247\204\350\214\203\346\242\263\347\220\206.md.CDvbKLWO.lean.js" => "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_2.\344\270\215\345\220\214\346\250\241\345\235\227\345\214\226\350\247\204\350\214\203\346\242\263\347\220\206.md.CRGmbaTn.lean.js" (95%) rename "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_3.ES Modules \346\240\270\345\277\203\350\247\204\350\214\203\344\270\216\345\256\236\350\267\265\350\247\243\346\236\220.md.B-hcltGc.js" => "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_3.ES Modules \346\240\270\345\277\203\350\247\204\350\214\203\344\270\216\345\256\236\350\267\265\350\247\243\346\236\220.md.fPkWGUxd.js" (99%) rename "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_3.ES Modules \346\240\270\345\277\203\350\247\204\350\214\203\344\270\216\345\256\236\350\267\265\350\247\243\346\236\220.md.B-hcltGc.lean.js" => "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_3.ES Modules \346\240\270\345\277\203\350\247\204\350\214\203\344\270\216\345\256\236\350\267\265\350\247\243\346\236\220.md.fPkWGUxd.lean.js" (95%) rename "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_4.Typescript \345\257\271\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\347\232\204\345\242\236\345\274\272.md.BJ-pD4L0.js" => "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_4.Typescript \345\257\271\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\347\232\204\345\242\236\345\274\272.md.hJ1lv1QY.js" (99%) rename "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_4.Typescript \345\257\271\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\347\232\204\345\242\236\345\274\272.md.BJ-pD4L0.lean.js" => "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_4.Typescript \345\257\271\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\347\232\204\345\242\236\345\274\272.md.hJ1lv1QY.lean.js" (95%) rename "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_5.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\216\237\345\210\231\344\270\216\346\234\200\344\275\263\345\256\236\350\267\265.md.uR00Ga87.js" => "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_5.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\216\237\345\210\231\344\270\216\346\234\200\344\275\263\345\256\236\350\267\265.md.LTILHYsI.js" (99%) rename "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_5.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\216\237\345\210\231\344\270\216\346\234\200\344\275\263\345\256\236\350\267\265.md.uR00Ga87.lean.js" => "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_5.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\216\237\345\210\231\344\270\216\346\234\200\344\275\263\345\256\236\350\267\265.md.LTILHYsI.lean.js" (97%) rename "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_6.\350\247\243\346\236\220 NodeJS \344\270\255\347\232\204\346\250\241\345\235\227\345\214\226.md.DRe2iUDr.js" => "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_6.\350\247\243\346\236\220 NodeJS \344\270\255\347\232\204\346\250\241\345\235\227\345\214\226.md.CGHtK9Bj.js" (99%) rename "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_6.\350\247\243\346\236\220 NodeJS \344\270\255\347\232\204\346\250\241\345\235\227\345\214\226.md.DRe2iUDr.lean.js" => "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_6.\350\247\243\346\236\220 NodeJS \344\270\255\347\232\204\346\250\241\345\235\227\345\214\226.md.CGHtK9Bj.lean.js" (97%) rename "assets/01.\345\205\250\346\240\210_90.\345\267\245\345\205\267\344\270\216\350\265\204\346\272\220\346\216\250\350\215\220_90.\345\205\250\346\240\210\346\212\200\346\234\257\350\265\204\346\272\220\346\216\250\350\215\220.md.Dq7Ydo7v.js" => "assets/01.\345\205\250\346\240\210_90.\345\267\245\345\205\267\344\270\216\350\265\204\346\272\220\346\216\250\350\215\220_90.\345\205\250\346\240\210\346\212\200\346\234\257\350\265\204\346\272\220\346\216\250\350\215\220.md.BBjcdRsJ.js" (99%) rename "assets/01.\345\205\250\346\240\210_90.\345\267\245\345\205\267\344\270\216\350\265\204\346\272\220\346\216\250\350\215\220_90.\345\205\250\346\240\210\346\212\200\346\234\257\350\265\204\346\272\220\346\216\250\350\215\220.md.Dq7Ydo7v.lean.js" => "assets/01.\345\205\250\346\240\210_90.\345\267\245\345\205\267\344\270\216\350\265\204\346\272\220\346\216\250\350\215\220_90.\345\205\250\346\240\210\346\212\200\346\234\257\350\265\204\346\272\220\346\216\250\350\215\220.md.BBjcdRsJ.lean.js" (99%) rename "assets/10.\344\272\247\345\223\201 Sense_00.\345\255\246\344\271\240\344\270\216\345\256\236\350\267\265\345\205\250\346\231\257.md.B9Ry8o94.js" => "assets/10.\344\272\247\345\223\201 Sense_00.\345\255\246\344\271\240\344\270\216\345\256\236\350\267\265\345\205\250\346\231\257.md.BlAoRUPp.js" (97%) rename "assets/10.\344\272\247\345\223\201 Sense_00.\345\255\246\344\271\240\344\270\216\345\256\236\350\267\265\345\205\250\346\231\257.md.B9Ry8o94.lean.js" => "assets/10.\344\272\247\345\223\201 Sense_00.\345\255\246\344\271\240\344\270\216\345\256\236\350\267\265\345\205\250\346\231\257.md.BlAoRUPp.lean.js" (96%) rename "assets/10.\344\272\247\345\223\201 Sense_01.\344\272\247\345\223\201\350\247\202\345\257\237\344\270\216\345\210\206\346\236\220_11.AI-powered \346\220\234\347\264\242\345\274\225\346\223\216\350\247\202\345\257\237\345\210\206\346\236\220\357\274\232Perplexity \344\270\216\347\237\245\350\257\206\345\267\245\344\275\234\350\200\205.md.BEH7EQLT.js" => "assets/10.\344\272\247\345\223\201 Sense_01.\344\272\247\345\223\201\350\247\202\345\257\237\344\270\216\345\210\206\346\236\220_11.AI-powered \346\220\234\347\264\242\345\274\225\346\223\216\350\247\202\345\257\237\345\210\206\346\236\220\357\274\232Perplexity \344\270\216\347\237\245\350\257\206\345\267\245\344\275\234\350\200\205.md.BRTIJ78C.js" (99%) rename "assets/10.\344\272\247\345\223\201 Sense_01.\344\272\247\345\223\201\350\247\202\345\257\237\344\270\216\345\210\206\346\236\220_11.AI-powered \346\220\234\347\264\242\345\274\225\346\223\216\350\247\202\345\257\237\345\210\206\346\236\220\357\274\232Perplexity \344\270\216\347\237\245\350\257\206\345\267\245\344\275\234\350\200\205.md.BEH7EQLT.lean.js" => "assets/10.\344\272\247\345\223\201 Sense_01.\344\272\247\345\223\201\350\247\202\345\257\237\344\270\216\345\210\206\346\236\220_11.AI-powered \346\220\234\347\264\242\345\274\225\346\223\216\350\247\202\345\257\237\345\210\206\346\236\220\357\274\232Perplexity \344\270\216\347\237\245\350\257\206\345\267\245\344\275\234\350\200\205.md.BRTIJ78C.lean.js" (97%) rename "assets/10.\344\272\247\345\223\201 Sense_02.\346\226\260 T \345\236\213\344\272\272_20.\350\257\273\345\220\216\346\204\237\357\274\232AI \345\216\237\347\224\237\346\227\266\344\273\243\347\232\204\345\244\215\345\220\210\345\236\213\344\272\272\346\211\215\357\274\214\347\251\266\347\253\237\351\234\200\350\246\201\346\200\216\346\240\267\347\232\204\347\211\271\350\264\250\357\274\237.md.Du3qZ8xB.js" => "assets/10.\344\272\247\345\223\201 Sense_02.\346\226\260 T \345\236\213\344\272\272_20.\350\257\273\345\220\216\346\204\237\357\274\232AI \345\216\237\347\224\237\346\227\266\344\273\243\347\232\204\345\244\215\345\220\210\345\236\213\344\272\272\346\211\215\357\274\214\347\251\266\347\253\237\351\234\200\350\246\201\346\200\216\346\240\267\347\232\204\347\211\271\350\264\250\357\274\237.md.Xe0P5HJr.js" (99%) rename "assets/10.\344\272\247\345\223\201 Sense_02.\346\226\260 T \345\236\213\344\272\272_20.\350\257\273\345\220\216\346\204\237\357\274\232AI \345\216\237\347\224\237\346\227\266\344\273\243\347\232\204\345\244\215\345\220\210\345\236\213\344\272\272\346\211\215\357\274\214\347\251\266\347\253\237\351\234\200\350\246\201\346\200\216\346\240\267\347\232\204\347\211\271\350\264\250\357\274\237.md.Du3qZ8xB.lean.js" => "assets/10.\344\272\247\345\223\201 Sense_02.\346\226\260 T \345\236\213\344\272\272_20.\350\257\273\345\220\216\346\204\237\357\274\232AI \345\216\237\347\224\237\346\227\266\344\273\243\347\232\204\345\244\215\345\220\210\345\236\213\344\272\272\346\211\215\357\274\214\347\251\266\347\253\237\351\234\200\350\246\201\346\200\216\346\240\267\347\232\204\347\211\271\350\264\250\357\274\237.md.Xe0P5HJr.lean.js" (96%) rename "assets/10.\344\272\247\345\223\201 Sense_02.\346\226\260 T \345\236\213\344\272\272_21.\345\267\245\347\250\213\345\270\210\345\246\202\344\275\225\346\236\204\345\273\272\344\272\247\345\223\201 Sense.md.JciUte9l.js" => "assets/10.\344\272\247\345\223\201 Sense_02.\346\226\260 T \345\236\213\344\272\272_21.\345\267\245\347\250\213\345\270\210\345\246\202\344\275\225\346\236\204\345\273\272\344\272\247\345\223\201 Sense.md.CO18rPj4.js" (99%) rename "assets/10.\344\272\247\345\223\201 Sense_02.\346\226\260 T \345\236\213\344\272\272_21.\345\267\245\347\250\213\345\270\210\345\246\202\344\275\225\346\236\204\345\273\272\344\272\247\345\223\201 Sense.md.JciUte9l.lean.js" => "assets/10.\344\272\247\345\223\201 Sense_02.\346\226\260 T \345\236\213\344\272\272_21.\345\267\245\347\250\213\345\270\210\345\246\202\344\275\225\346\236\204\345\273\272\344\272\247\345\223\201 Sense.md.CO18rPj4.lean.js" (96%) rename "assets/10.\344\272\247\345\223\201 Sense_04.\344\272\247\345\223\201\345\210\233\351\200\240\344\270\216\345\225\206\344\270\232\345\214\226_30.\343\200\212\345\260\217\350\200\214\347\276\216\357\274\232\346\214\201\347\273\255\347\233\210\345\210\251\347\232\204\347\273\217\350\220\245\346\263\225\345\210\231\343\200\213\350\257\273\345\220\216\346\204\237.md.CbayMoYI.js" => "assets/10.\344\272\247\345\223\201 Sense_04.\344\272\247\345\223\201\345\210\233\351\200\240\344\270\216\345\225\206\344\270\232\345\214\226_30.\343\200\212\345\260\217\350\200\214\347\276\216\357\274\232\346\214\201\347\273\255\347\233\210\345\210\251\347\232\204\347\273\217\350\220\245\346\263\225\345\210\231\343\200\213\350\257\273\345\220\216\346\204\237.md.gAigzrX9.js" (99%) rename "assets/10.\344\272\247\345\223\201 Sense_04.\344\272\247\345\223\201\345\210\233\351\200\240\344\270\216\345\225\206\344\270\232\345\214\226_30.\343\200\212\345\260\217\350\200\214\347\276\216\357\274\232\346\214\201\347\273\255\347\233\210\345\210\251\347\232\204\347\273\217\350\220\245\346\263\225\345\210\231\343\200\213\350\257\273\345\220\216\346\204\237.md.CbayMoYI.lean.js" => "assets/10.\344\272\247\345\223\201 Sense_04.\344\272\247\345\223\201\345\210\233\351\200\240\344\270\216\345\225\206\344\270\232\345\214\226_30.\343\200\212\345\260\217\350\200\214\347\276\216\357\274\232\346\214\201\347\273\255\347\233\210\345\210\251\347\232\204\347\273\217\350\220\245\346\263\225\345\210\231\343\200\213\350\257\273\345\220\216\346\204\237.md.gAigzrX9.lean.js" (97%) rename "assets/10.\344\272\247\345\223\201 Sense_05.\346\226\271\346\263\225\350\256\272_40.\346\264\236\345\257\237\345\212\233\346\250\241\345\236\213.md.-U_WT1WE.js" => "assets/10.\344\272\247\345\223\201 Sense_05.\346\226\271\346\263\225\350\256\272_40.\346\264\236\345\257\237\345\212\233\346\250\241\345\236\213.md.j-w2xxuV.js" (99%) rename "assets/10.\344\272\247\345\223\201 Sense_05.\346\226\271\346\263\225\350\256\272_40.\346\264\236\345\257\237\345\212\233\346\250\241\345\236\213.md.-U_WT1WE.lean.js" => "assets/10.\344\272\247\345\223\201 Sense_05.\346\226\271\346\263\225\350\256\272_40.\346\264\236\345\257\237\345\212\233\346\250\241\345\236\213.md.j-w2xxuV.lean.js" (96%) rename "assets/10.\344\272\247\345\223\201 Sense_05.\346\226\271\346\263\225\350\256\272_50.\347\224\250\347\273\217\346\265\216\345\255\246\346\200\235\347\273\264\345\201\232\344\272\247\345\223\201.md.D6Tetc-8.js" => "assets/10.\344\272\247\345\223\201 Sense_05.\346\226\271\346\263\225\350\256\272_50.\347\224\250\347\273\217\346\265\216\345\255\246\346\200\235\347\273\264\345\201\232\344\272\247\345\223\201.md.CUbjYJmR.js" (99%) rename "assets/10.\344\272\247\345\223\201 Sense_05.\346\226\271\346\263\225\350\256\272_50.\347\224\250\347\273\217\346\265\216\345\255\246\346\200\235\347\273\264\345\201\232\344\272\247\345\223\201.md.D6Tetc-8.lean.js" => "assets/10.\344\272\247\345\223\201 Sense_05.\346\226\271\346\263\225\350\256\272_50.\347\224\250\347\273\217\346\265\216\345\255\246\346\200\235\347\273\264\345\201\232\344\272\247\345\223\201.md.CUbjYJmR.lean.js" (93%) rename "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_00.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265\345\205\250\346\231\257\344\270\200\350\247\210.md.C4OWiCyw.js" => "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_00.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265\345\205\250\346\231\257\344\270\200\350\247\210.md.Bq7k-xXb.js" (98%) rename "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_00.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265\345\205\250\346\231\257\344\270\200\350\247\210.md.C4OWiCyw.lean.js" => "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_00.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265\345\205\250\346\231\257\344\270\200\350\247\210.md.Bq7k-xXb.lean.js" (98%) rename "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_02.Agent \347\263\273\345\210\227_01.Agent\346\246\202\350\247\210\344\270\216\347\273\274\350\277\260.md.BIpWVkHy.js" => "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_02.Agent \347\263\273\345\210\227_01.Agent\346\246\202\350\247\210\344\270\216\347\273\274\350\277\260.md.DMvs5K_Q.js" (99%) rename "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_02.Agent \347\263\273\345\210\227_01.Agent\346\246\202\350\247\210\344\270\216\347\273\274\350\277\260.md.BIpWVkHy.lean.js" => "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_02.Agent \347\263\273\345\210\227_01.Agent\346\246\202\350\247\210\344\270\216\347\273\274\350\277\260.md.DMvs5K_Q.lean.js" (97%) rename "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_02.Agent \347\263\273\345\210\227_02.Agent \350\247\204\345\210\222\346\250\241\345\235\227.md.BEUNtIDI.js" => "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_02.Agent \347\263\273\345\210\227_02.Agent \350\247\204\345\210\222\346\250\241\345\235\227.md.C3XAsz_e.js" (99%) rename "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_02.Agent \347\263\273\345\210\227_02.Agent \350\247\204\345\210\222\346\250\241\345\235\227.md.BEUNtIDI.lean.js" => "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_02.Agent \347\263\273\345\210\227_02.Agent \350\247\204\345\210\222\346\250\241\345\235\227.md.C3XAsz_e.lean.js" (96%) rename "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_02.Agent \347\263\273\345\210\227_03.\346\236\204\345\273\272 Agentic \347\224\237\346\200\201\357\274\232\345\260\206\351\233\266\346\225\243\347\273\204\344\273\266\345\214\226\344\270\272\345\217\257\346\214\201\347\273\255\347\232\204\345\267\245\344\275\234\346\265\201.md.Bgi-7Dm_.js" => "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_02.Agent \347\263\273\345\210\227_03.\346\236\204\345\273\272 Agentic \347\224\237\346\200\201\357\274\232\345\260\206\351\233\266\346\225\243\347\273\204\344\273\266\345\214\226\344\270\272\345\217\257\346\214\201\347\273\255\347\232\204\345\267\245\344\275\234\346\265\201.md.Dzka5_K9.js" (99%) rename "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_02.Agent \347\263\273\345\210\227_03.\346\236\204\345\273\272 Agentic \347\224\237\346\200\201\357\274\232\345\260\206\351\233\266\346\225\243\347\273\204\344\273\266\345\214\226\344\270\272\345\217\257\346\214\201\347\273\255\347\232\204\345\267\245\344\275\234\346\265\201.md.Bgi-7Dm_.lean.js" => "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_02.Agent \347\263\273\345\210\227_03.\346\236\204\345\273\272 Agentic \347\224\237\346\200\201\357\274\232\345\260\206\351\233\266\346\225\243\347\273\204\344\273\266\345\214\226\344\270\272\345\217\257\346\214\201\347\273\255\347\232\204\345\267\245\344\275\234\346\265\201.md.Dzka5_K9.lean.js" (96%) rename "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_02.Agent \347\263\273\345\210\227_10.Agent SKills.md.DFSiQA8t.js" => "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_02.Agent \347\263\273\345\210\227_10.Agent SKills.md.BYP2Q09s.js" (99%) rename "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_02.Agent \347\263\273\345\210\227_10.Agent SKills.md.DFSiQA8t.lean.js" => "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_02.Agent \347\263\273\345\210\227_10.Agent SKills.md.BYP2Q09s.lean.js" (91%) rename "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_04.\347\244\276\345\214\272\346\264\273\345\212\250\344\270\216\345\256\236\350\267\265\345\260\217\351\241\271\347\233\256_10.\345\237\272\344\272\216 Claude Agent SDK \346\220\255\345\273\272 Deep Research Agent.md.DOONNKFw.js" => "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_04.\347\244\276\345\214\272\346\264\273\345\212\250\344\270\216\345\256\236\350\267\265\345\260\217\351\241\271\347\233\256_10.\345\237\272\344\272\216 Claude Agent SDK \346\220\255\345\273\272 Deep Research Agent.md.DtQSvR-M.js" (99%) rename "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_04.\347\244\276\345\214\272\346\264\273\345\212\250\344\270\216\345\256\236\350\267\265\345\260\217\351\241\271\347\233\256_10.\345\237\272\344\272\216 Claude Agent SDK \346\220\255\345\273\272 Deep Research Agent.md.DOONNKFw.lean.js" => "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_04.\347\244\276\345\214\272\346\264\273\345\212\250\344\270\216\345\256\236\350\267\265\345\260\217\351\241\271\347\233\256_10.\345\237\272\344\272\216 Claude Agent SDK \346\220\255\345\273\272 Deep Research Agent.md.DtQSvR-M.lean.js" (92%) rename "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_04.\347\244\276\345\214\272\346\264\273\345\212\250\344\270\216\345\256\236\350\267\265\345\260\217\351\241\271\347\233\256_20.\345\237\272\344\272\216 Claude Agent SDK \346\220\255\345\273\272 Agent.md.CWhLwl8r.js" => "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_04.\347\244\276\345\214\272\346\264\273\345\212\250\344\270\216\345\256\236\350\267\265\345\260\217\351\241\271\347\233\256_20.\345\237\272\344\272\216 Claude Agent SDK \346\220\255\345\273\272 Agent.md.CAQEdrbh.js" (99%) rename "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_04.\347\244\276\345\214\272\346\264\273\345\212\250\344\270\216\345\256\236\350\267\265\345\260\217\351\241\271\347\233\256_20.\345\237\272\344\272\216 Claude Agent SDK \346\220\255\345\273\272 Agent.md.CWhLwl8r.lean.js" => "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_04.\347\244\276\345\214\272\346\264\273\345\212\250\344\270\216\345\256\236\350\267\265\345\260\217\351\241\271\347\233\256_20.\345\237\272\344\272\216 Claude Agent SDK \346\220\255\345\273\272 Agent.md.CAQEdrbh.lean.js" (96%) rename "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_04.\347\244\276\345\214\272\346\264\273\345\212\250\344\270\216\345\256\236\350\267\265\345\260\217\351\241\271\347\233\256_60.\346\225\260\345\255\246\345\260\217\345\212\251\346\211\213.md.DXM5G5Ag.js" => "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_04.\347\244\276\345\214\272\346\264\273\345\212\250\344\270\216\345\256\236\350\267\265\345\260\217\351\241\271\347\233\256_60.\346\225\260\345\255\246\345\260\217\345\212\251\346\211\213.md.BVW8ytPR.js" (99%) rename "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_04.\347\244\276\345\214\272\346\264\273\345\212\250\344\270\216\345\256\236\350\267\265\345\260\217\351\241\271\347\233\256_60.\346\225\260\345\255\246\345\260\217\345\212\251\346\211\213.md.DXM5G5Ag.lean.js" => "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_04.\347\244\276\345\214\272\346\264\273\345\212\250\344\270\216\345\256\236\350\267\265\345\260\217\351\241\271\347\233\256_60.\346\225\260\345\255\246\345\260\217\345\212\251\346\211\213.md.BVW8ytPR.lean.js" (95%) rename "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_04.\347\244\276\345\214\272\346\264\273\345\212\250\344\270\216\345\256\236\350\267\265\345\260\217\351\241\271\347\233\256_70.\350\257\227\346\255\214\345\260\217\347\262\276\347\201\265.md.j6xnTKI4.js" => "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_04.\347\244\276\345\214\272\346\264\273\345\212\250\344\270\216\345\256\236\350\267\265\345\260\217\351\241\271\347\233\256_70.\350\257\227\346\255\214\345\260\217\347\262\276\347\201\265.md.C1VKntBb.js" (99%) rename "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_04.\347\244\276\345\214\272\346\264\273\345\212\250\344\270\216\345\256\236\350\267\265\345\260\217\351\241\271\347\233\256_70.\350\257\227\346\255\214\345\260\217\347\262\276\347\201\265.md.j6xnTKI4.lean.js" => "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_04.\347\244\276\345\214\272\346\264\273\345\212\250\344\270\216\345\256\236\350\267\265\345\260\217\351\241\271\347\233\256_70.\350\257\227\346\255\214\345\260\217\347\262\276\347\201\265.md.C1VKntBb.lean.js" (96%) rename "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_90.\350\265\204\346\272\220\344\270\216\345\267\245\345\205\267\346\216\250\350\215\220_01.\345\245\275\347\224\250\347\232\204 AI \345\212\251\346\211\213\344\270\216\345\267\245\344\275\234\347\253\231\346\216\250\350\215\220.md.vaSWKpLD.js" => "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_90.\350\265\204\346\272\220\344\270\216\345\267\245\345\205\267\346\216\250\350\215\220_01.\345\245\275\347\224\250\347\232\204 AI \345\212\251\346\211\213\344\270\216\345\267\245\344\275\234\347\253\231\346\216\250\350\215\220.md.DT78Ux7f.js" (99%) rename "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_90.\350\265\204\346\272\220\344\270\216\345\267\245\345\205\267\346\216\250\350\215\220_01.\345\245\275\347\224\250\347\232\204 AI \345\212\251\346\211\213\344\270\216\345\267\245\344\275\234\347\253\231\346\216\250\350\215\220.md.vaSWKpLD.lean.js" => "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_90.\350\265\204\346\272\220\344\270\216\345\267\245\345\205\267\346\216\250\350\215\220_01.\345\245\275\347\224\250\347\232\204 AI \345\212\251\346\211\213\344\270\216\345\267\245\344\275\234\347\253\231\346\216\250\350\215\220.md.DT78Ux7f.lean.js" (99%) rename "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_90.\350\265\204\346\272\220\344\270\216\345\267\245\345\205\267\346\216\250\350\215\220_11. LLM API \345\271\263\345\217\260\346\216\250\350\215\220\344\270\216\351\200\211\345\236\213\346\214\207\345\215\227.md.Pr48zsHZ.js" => "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_90.\350\265\204\346\272\220\344\270\216\345\267\245\345\205\267\346\216\250\350\215\220_11. LLM API \345\271\263\345\217\260\346\216\250\350\215\220\344\270\216\351\200\211\345\236\213\346\214\207\345\215\227.md.qaanG5K2.js" (99%) rename "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_90.\350\265\204\346\272\220\344\270\216\345\267\245\345\205\267\346\216\250\350\215\220_11. LLM API \345\271\263\345\217\260\346\216\250\350\215\220\344\270\216\351\200\211\345\236\213\346\214\207\345\215\227.md.Pr48zsHZ.lean.js" => "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_90.\350\265\204\346\272\220\344\270\216\345\267\245\345\205\267\346\216\250\350\215\220_11. LLM API \345\271\263\345\217\260\346\216\250\350\215\220\344\270\216\351\200\211\345\236\213\346\214\207\345\215\227.md.qaanG5K2.lean.js" (99%) rename "assets/30.\346\202\246\350\257\273\346\227\266\345\205\211_01.\345\245\275\344\271\246\346\216\250\350\215\220.md.BVzgXE8N.js" => "assets/30.\346\202\246\350\257\273\346\227\266\345\205\211_01.\345\245\275\344\271\246\346\216\250\350\215\220.md.lGftAF4x.js" (99%) rename "assets/30.\346\202\246\350\257\273\346\227\266\345\205\211_01.\345\245\275\344\271\246\346\216\250\350\215\220.md.BVzgXE8N.lean.js" => "assets/30.\346\202\246\350\257\273\346\227\266\345\205\211_01.\345\245\275\344\271\246\346\216\250\350\215\220.md.lGftAF4x.lean.js" (99%) rename "assets/30.\346\202\246\350\257\273\346\227\266\345\205\211_10.\350\257\273\344\271\246\344\270\211\350\246\201\344\270\211\344\270\215\350\246\201.md.DaAm_LXA.js" => "assets/30.\346\202\246\350\257\273\346\227\266\345\205\211_10.\350\257\273\344\271\246\344\270\211\350\246\201\344\270\211\344\270\215\350\246\201.md.BQj2m1KY.js" (99%) rename "assets/30.\346\202\246\350\257\273\346\227\266\345\205\211_10.\350\257\273\344\271\246\344\270\211\350\246\201\344\270\211\344\270\215\350\246\201.md.DaAm_LXA.lean.js" => "assets/30.\346\202\246\350\257\273\346\227\266\345\205\211_10.\350\257\273\344\271\246\344\270\211\350\246\201\344\270\211\344\270\215\350\246\201.md.BQj2m1KY.lean.js" (96%) rename "assets/30.\346\202\246\350\257\273\346\227\266\345\205\211_21.\345\246\202\344\275\225\347\224\204\345\210\253\347\234\237\346\255\243\346\234\211\347\224\250\347\232\204\344\277\241\346\201\257.md.Be9IJNun.js" => "assets/30.\346\202\246\350\257\273\346\227\266\345\205\211_21.\345\246\202\344\275\225\347\224\204\345\210\253\347\234\237\346\255\243\346\234\211\347\224\250\347\232\204\344\277\241\346\201\257.md.C7EJFVmA.js" (99%) rename "assets/30.\346\202\246\350\257\273\346\227\266\345\205\211_21.\345\246\202\344\275\225\347\224\204\345\210\253\347\234\237\346\255\243\346\234\211\347\224\250\347\232\204\344\277\241\346\201\257.md.Be9IJNun.lean.js" => "assets/30.\346\202\246\350\257\273\346\227\266\345\205\211_21.\345\246\202\344\275\225\347\224\204\345\210\253\347\234\237\346\255\243\346\234\211\347\224\250\347\232\204\344\277\241\346\201\257.md.C7EJFVmA.lean.js" (96%) create mode 100644 "assets/31.\345\274\200\346\272\220\346\264\236\345\257\237_00.overview.md.DsfCImvx.js" create mode 100644 "assets/31.\345\274\200\346\272\220\346\264\236\345\257\237_00.overview.md.DsfCImvx.lean.js" create mode 100644 "assets/31.\345\274\200\346\272\220\346\264\236\345\257\237_01.fetch-event-source \346\272\220\347\240\201\350\247\243\350\257\273.md.BP_UYyAh.js" create mode 100644 "assets/31.\345\274\200\346\272\220\346\264\236\345\257\237_01.fetch-event-source \346\272\220\347\240\201\350\247\243\350\257\273.md.BP_UYyAh.lean.js" rename "assets/40.\345\205\263\344\272\216_01.\345\205\263\344\272\216\346\210\221.md.BzNDwyw3.js" => "assets/40.\345\205\263\344\272\216_01.\345\205\263\344\272\216\346\210\221.md.CkzMieuF.js" (99%) rename "assets/40.\345\205\263\344\272\216_01.\345\205\263\344\272\216\346\210\221.md.BzNDwyw3.lean.js" => "assets/40.\345\205\263\344\272\216_01.\345\205\263\344\272\216\346\210\221.md.CkzMieuF.lean.js" (94%) rename "assets/40.\345\205\263\344\272\216_30.\346\210\220\351\225\277\351\232\217\347\254\224_01.\350\265\260\345\207\272\342\200\234\347\233\256\346\240\207\351\232\247\351\201\223\342\200\235\357\274\232\347\224\250\347\263\273\347\273\237\344\270\216\346\225\260\345\255\246\346\200\235\347\273\264\351\207\215\346\236\204\345\272\225\345\261\202\351\200\273\350\276\221.md.CJpPM59I.js" => "assets/40.\345\205\263\344\272\216_30.\346\210\220\351\225\277\351\232\217\347\254\224_01.\350\265\260\345\207\272\342\200\234\347\233\256\346\240\207\351\232\247\351\201\223\342\200\235\357\274\232\347\224\250\347\263\273\347\273\237\344\270\216\346\225\260\345\255\246\346\200\235\347\273\264\351\207\215\346\236\204\345\272\225\345\261\202\351\200\273\350\276\221.md.DJ7lWg_C.js" (99%) rename "assets/40.\345\205\263\344\272\216_30.\346\210\220\351\225\277\351\232\217\347\254\224_01.\350\265\260\345\207\272\342\200\234\347\233\256\346\240\207\351\232\247\351\201\223\342\200\235\357\274\232\347\224\250\347\263\273\347\273\237\344\270\216\346\225\260\345\255\246\346\200\235\347\273\264\351\207\215\346\236\204\345\272\225\345\261\202\351\200\273\350\276\221.md.CJpPM59I.lean.js" => "assets/40.\345\205\263\344\272\216_30.\346\210\220\351\225\277\351\232\217\347\254\224_01.\350\265\260\345\207\272\342\200\234\347\233\256\346\240\207\351\232\247\351\201\223\342\200\235\357\274\232\347\224\250\347\263\273\347\273\237\344\270\216\346\225\260\345\255\246\346\200\235\347\273\264\351\207\215\346\236\204\345\272\225\345\261\202\351\200\273\350\276\221.md.DJ7lWg_C.lean.js" (97%) rename "assets/40.\345\205\263\344\272\216_30.\346\210\220\351\225\277\351\232\217\347\254\224_10.\345\220\221\345\206\205\346\200\235\345\217\230\357\274\232\345\275\223\347\226\253\346\203\205\347\273\231\344\270\226\347\225\214\346\214\211\344\270\213\346\232\202\345\201\234\351\224\256\357\274\214\345\216\273\351\207\215\346\236\204\347\224\237\346\264\273\347\247\251\345\272\217.md.BIUhmRg0.js" => "assets/40.\345\205\263\344\272\216_30.\346\210\220\351\225\277\351\232\217\347\254\224_10.\345\220\221\345\206\205\346\200\235\345\217\230\357\274\232\345\275\223\347\226\253\346\203\205\347\273\231\344\270\226\347\225\214\346\214\211\344\270\213\346\232\202\345\201\234\351\224\256\357\274\214\345\216\273\351\207\215\346\236\204\347\224\237\346\264\273\347\247\251\345\272\217.md.Cj12M61O.js" (99%) rename "assets/40.\345\205\263\344\272\216_30.\346\210\220\351\225\277\351\232\217\347\254\224_10.\345\220\221\345\206\205\346\200\235\345\217\230\357\274\232\345\275\223\347\226\253\346\203\205\347\273\231\344\270\226\347\225\214\346\214\211\344\270\213\346\232\202\345\201\234\351\224\256\357\274\214\345\216\273\351\207\215\346\236\204\347\224\237\346\264\273\347\247\251\345\272\217.md.BIUhmRg0.lean.js" => "assets/40.\345\205\263\344\272\216_30.\346\210\220\351\225\277\351\232\217\347\254\224_10.\345\220\221\345\206\205\346\200\235\345\217\230\357\274\232\345\275\223\347\226\253\346\203\205\347\273\231\344\270\226\347\225\214\346\214\211\344\270\213\346\232\202\345\201\234\351\224\256\357\274\214\345\216\273\351\207\215\346\236\204\347\224\237\346\264\273\347\247\251\345\272\217.md.Cj12M61O.lean.js" (96%) rename "assets/40.\345\205\263\344\272\216_30.\346\210\220\351\225\277\351\232\217\347\254\224_20.\345\207\217\350\202\245\350\277\231\344\273\266\345\260\217\344\272\213\351\230\266\346\256\265\351\232\217\347\254\224\346\261\207\346\200\273.md.C1xoZ0dn.js" => "assets/40.\345\205\263\344\272\216_30.\346\210\220\351\225\277\351\232\217\347\254\224_20.\345\207\217\350\202\245\350\277\231\344\273\266\345\260\217\344\272\213\351\230\266\346\256\265\351\232\217\347\254\224\346\261\207\346\200\273.md.DNHfVn0b.js" (99%) rename "assets/40.\345\205\263\344\272\216_30.\346\210\220\351\225\277\351\232\217\347\254\224_20.\345\207\217\350\202\245\350\277\231\344\273\266\345\260\217\344\272\213\351\230\266\346\256\265\351\232\217\347\254\224\346\261\207\346\200\273.md.C1xoZ0dn.lean.js" => "assets/40.\345\205\263\344\272\216_30.\346\210\220\351\225\277\351\232\217\347\254\224_20.\345\207\217\350\202\245\350\277\231\344\273\266\345\260\217\344\272\213\351\230\266\346\256\265\351\232\217\347\254\224\346\261\207\346\200\273.md.DNHfVn0b.lean.js" (97%) rename assets/{@pages_categoriesPage.md.Cnp1svtv.js => @pages_categoriesPage.md.DalPAP0h.js} (91%) rename assets/{@pages_categoriesPage.md.Cnp1svtv.lean.js => @pages_categoriesPage.md.DalPAP0h.lean.js} (91%) rename assets/{@pages_tagsPage.md.C5Ifm28k.js => @pages_tagsPage.md.nlt9sHhH.js} (90%) rename assets/{@pages_tagsPage.md.C5Ifm28k.lean.js => @pages_tagsPage.md.nlt9sHhH.lean.js} (90%) rename assets/{app.sgquq4kz.js => app.DBRhVQUD.js} (99%) delete mode 100644 assets/chunks/@localSearchIndexroot.BQjtOtV7.js create mode 100644 assets/chunks/@localSearchIndexroot.zGeIrmus.js rename assets/chunks/{ArticleCardList.CRH3I_GT.js => ArticleCardList.DFlNODKA.js} (96%) rename assets/chunks/{HighLightText.gRdAAF3C.js => HighLightText.BFsbuOsY.js} (91%) rename assets/chunks/{TwoColumnImage.C5EZ0-fZ.js => TwoColumnImage.BAUswlD7.js} (91%) rename assets/chunks/{VPLocalSearchBox.Dqu_3HXH.js => VPLocalSearchBox.WaTilTWb.js} (99%) create mode 100644 assets/chunks/metadata.4c1f2235.js delete mode 100644 assets/chunks/metadata.7bed8ab7.js rename assets/chunks/{vitepress-theme-teek.CJu9alwu.js => vitepress-theme-teek.CqY1sKvl.js} (99%) rename assets/{index.md.Dpw0tPo2.js => index.md.CZC8OIc5.js} (99%) rename assets/{index.md.Dpw0tPo2.lean.js => index.md.CZC8OIc5.lean.js} (99%) diff --git "a/01.\345\205\250\346\240\210/00.overview.html" "b/01.\345\205\250\346\240\210/00.overview.html" index 19aad159..b46efbab 100644 --- "a/01.\345\205\250\346\240\210/00.overview.html" +++ "b/01.\345\205\250\346\240\210/00.overview.html" @@ -8,11 +8,11 @@ - - - - - + + + + + @@ -105,7 +105,7 @@
ๆ–นๆณ•่ฎบ
-
+
ๅผ€ๆบๆดžๅฏŸ
- - - - - + + + + + @@ -105,7 +105,7 @@
ๆ–นๆณ•่ฎบ
-
+
ๅผ€ๆบๆดžๅฏŸ
- - - - - + + + + + @@ -105,7 +105,7 @@
ๆ–นๆณ•่ฎบ
-
+
ๅผ€ๆบๆดžๅฏŸ
- - - - - + + + + + @@ -105,7 +105,7 @@
ๆ–นๆณ•่ฎบ
-
+
ๅผ€ๆบๆดžๅฏŸ
- - - - + + + + @@ -104,7 +104,7 @@
ๆ–นๆณ•่ฎบ
-
+
ๅผ€ๆบๆดžๅฏŸ
- - - - - + + + + + @@ -105,7 +105,7 @@
ๆ–นๆณ•่ฎบ
-
+
ๅผ€ๆบๆดžๅฏŸ
- - - - + + + + @@ -104,7 +104,7 @@
ๆ–นๆณ•่ฎบ
-
+
ๅผ€ๆบๆดžๅฏŸ
- - - - + + + + @@ -104,7 +104,7 @@
ๆ–นๆณ•่ฎบ
-
+
ๅผ€ๆบๆดžๅฏŸ
- - - - + + + + @@ -104,7 +104,7 @@
ๆ–นๆณ•่ฎบ
-
+
ๅผ€ๆบๆดžๅฏŸ
- - - - + + + + @@ -104,7 +104,7 @@
ๆ–นๆณ•่ฎบ
-
+
ๅผ€ๆบๆดžๅฏŸ
- - - - - + + + + + @@ -105,7 +105,7 @@
ๆ–นๆณ•่ฎบ
-
+
ๅผ€ๆบๆดžๅฏŸ
- - - - + + + + @@ -104,7 +104,7 @@
ๆ–นๆณ•่ฎบ
-
+
ๅผ€ๆบๆดžๅฏŸ
- - - - - + + + + + @@ -105,7 +105,7 @@
ๆ–นๆณ•่ฎบ
-
+
ๅผ€ๆบๆดžๅฏŸ
- - - - + + + + @@ -104,7 +104,7 @@
ๆ–นๆณ•่ฎบ
-
+
ๅผ€ๆบๆดžๅฏŸ
- - - - + + + + @@ -104,7 +104,7 @@
ๆ–นๆณ•่ฎบ
-
+
ๅผ€ๆบๆดžๅฏŸ
- - - - + + + + @@ -104,7 +104,7 @@
ๆ–นๆณ•่ฎบ
-
+
ๅผ€ๆบๆดžๅฏŸ
- - - - + + + + @@ -104,7 +104,7 @@
ๆ–นๆณ•่ฎบ
-
+
ๅผ€ๆบๆดžๅฏŸ
- - - - + + + + @@ -104,7 +104,7 @@
ๆ–นๆณ•่ฎบ
-
+
ๅผ€ๆบๆดžๅฏŸ
- - - - + + + + @@ -104,7 +104,7 @@
ๆ–นๆณ•่ฎบ
-
+
ๅผ€ๆบๆดžๅฏŸ
- - - - + + + + @@ -104,7 +104,7 @@
ๆ–นๆณ•่ฎบ
-
+
ๅผ€ๆบๆดžๅฏŸ
- - - - + + + + @@ -104,7 +104,7 @@
ๆ–นๆณ•่ฎบ
-
+
ๅผ€ๆบๆดžๅฏŸ
- - - - + + + + @@ -104,7 +104,7 @@
ๆ–นๆณ•่ฎบ
-
+
ๅผ€ๆบๆดžๅฏŸ
- - - - + + + + @@ -104,7 +104,7 @@
ๆ–นๆณ•่ฎบ
-
+
ๅผ€ๆบๆดžๅฏŸ
- - - - - + + + + + @@ -105,7 +105,7 @@
ๆ–นๆณ•่ฎบ
-
+
ๅผ€ๆบๆดžๅฏŸ
- - - - + + + + @@ -104,7 +104,7 @@
ๆ–นๆณ•่ฎบ
-
+
ๅผ€ๆบๆดžๅฏŸ
- - - - + + + + @@ -104,7 +104,7 @@
ๆ–นๆณ•่ฎบ
-
+
ๅผ€ๆบๆดžๅฏŸ
- - - - + + + + @@ -104,7 +104,7 @@
ๆ–นๆณ•่ฎบ
-
+
ๅผ€ๆบๆดžๅฏŸ
- - - - + + + + @@ -104,7 +104,7 @@
ๆ–นๆณ•่ฎบ
-
+
ๅผ€ๆบๆดžๅฏŸ
- - - - + + + + @@ -104,7 +104,7 @@
ๆ–นๆณ•่ฎบ
-
+
ๅผ€ๆบๆดžๅฏŸ
- - - - + + + + @@ -104,7 +104,7 @@
ๆ–นๆณ•่ฎบ
-
+
ๅผ€ๆบๆดžๅฏŸ
- - - - - + + + + + @@ -105,7 +105,7 @@
ๆ–นๆณ•่ฎบ
-
+
ๅผ€ๆบๆดžๅฏŸ
- - - - + + + + @@ -104,7 +104,7 @@
ๆ–นๆณ•่ฎบ
-
+
ๅผ€ๆบๆดžๅฏŸ
- - - - + + + + @@ -104,7 +104,7 @@
ๆ–นๆณ•่ฎบ
-
+
ๅผ€ๆบๆดžๅฏŸ
- - - - + + + + @@ -104,7 +104,7 @@
ๆ–นๆณ•่ฎบ
-
+
ๅผ€ๆบๆดžๅฏŸ
- - - - - + + + + + @@ -105,7 +105,7 @@
ๆ–นๆณ•่ฎบ
-
+
ๅผ€ๆบๆดžๅฏŸ
- - - - - + + + + + @@ -105,7 +105,7 @@
ๆ–นๆณ•่ฎบ
-
+
ๅผ€ๆบๆดžๅฏŸ
- - - - - + + + + + @@ -105,7 +105,7 @@
ๆ–นๆณ•่ฎบ
-
+
ๅผ€ๆบๆดžๅฏŸ
- - - - + + + + @@ -104,7 +104,7 @@
ๆ–นๆณ•่ฎบ
-
+
ๅผ€ๆบๆดžๅฏŸ
- - - - + + + + @@ -104,7 +104,7 @@
ๆ–นๆณ•่ฎบ
-
+
ๅผ€ๆบๆดžๅฏŸ
- - - - + + + + @@ -104,7 +104,7 @@
ๆ–นๆณ•่ฎบ
-
+
ๅผ€ๆบๆดžๅฏŸ
- - - - + + + + @@ -104,7 +104,7 @@
ๆ–นๆณ•่ฎบ
-
+
ๅผ€ๆบๆดžๅฏŸ
- - - - + + + + @@ -104,7 +104,7 @@
ๆ–นๆณ•่ฎบ
-
+
ๅผ€ๆบๆดžๅฏŸ
- - - - + + + + @@ -104,7 +104,7 @@
ๆ–นๆณ•่ฎบ
-
+
ๅผ€ๆบๆดžๅฏŸ
- - - - + + + + @@ -104,7 +104,7 @@
ๆ–นๆณ•่ฎบ
-
+
ๅผ€ๆบๆดžๅฏŸ
+ + + + + ๅผ€ๆบๆดžๅฏŸ | Insight Stack + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content
227
+ + + + 1m

ๅผ€ๆบๆดžๅฏŸ โ€‹

่ฏดๆ˜Ž๏ผš

ๆœฌไธ“ๆ ๆ‰€ๆœ‰ๆบ็ ่งฃ่ฏปๆ–‡็ซ ๏ผŒๅ‡ๅ€ŸๅŠฉไบ†ๆœฌไบบๅผ€ๆบ็š„ repo-insight Agent Skill ๆฅ่พ…ๅŠฉ็”Ÿๆˆใ€‚

repo-insight ๆ˜ฏไธ€ๆฌพไธ“ๆณจไบŽไผ˜็ง€ๅผ€ๆบ้กน็›ฎไปฃ็ ๅบ“่งฃ่ฏป็š„ๆ™บ่ƒฝๅŠฉๆ‰‹๏ผŒๆไพ› GitHub URL ๆˆ–ๆœฌๅœฐ็›ฎๅฝ•็š„ไธ€้”ฎๆทฑๅบฆๅˆ†ๆž่ƒฝๅŠ›ใ€‚

  • ไธ€้”ฎๅˆ†ๆž - ๆ”ฏๆŒ GitHub URL ๆˆ–ๆœฌๅœฐ็›ฎๅฝ•ๅˆ†ๆž
  • ๆทฑๅบฆๆŠฅๅ‘Š - ็”Ÿๆˆ้กน็›ฎๆฆ‚่ฟฐใ€ๆžถๆž„ๅˆ†ๆžใ€ๆ ธๅฟƒๆจกๅ—่งฃ่ฏป
  • ไธญๆ–‡ๆ”ฏๆŒ - ่‡ชๅŠจ็ฟป่ฏ‘ READMEใ€็”Ÿๆˆไธญๆ–‡ไปฃ็ ๆณจ้‡Š
  • ๅ…จ่‡ชๅŠจๆ‰ง่กŒ - ่ฐƒ็”จๅŽๆ— ้œ€ไธญ้—ดไบคไบ’

ไธคไธช Skill ๅ‡ๅ…ทๅค‡ไปฅไธŠ่ƒฝๅŠ›๏ผŒๅฏๆ นๆฎ้œ€ๆฑ‚้€‰ๆ‹ฉไฝฟ็”จใ€‚

ๅผ€ๆบ้กน็›ฎ่งฃ่ฏป โ€‹

้กน็›ฎ็ฎ€ไป‹
fetch-event-sourceๅพฎ่ฝฏๅผ€ๆบ็š„ๅŸบไบŽ Fetch API ็š„ SSE ๅฎขๆˆท็ซฏๅบ“๏ผŒ็”จไบŽ็ฎ€ๅŒ–ไธŽๆœๅŠกๅ™จ็š„ๅฎžๆ—ถ้€šไฟกใ€‚
่งฃ่ฏปๅ…จๆ–‡ โ†’
+ + + + \ No newline at end of file diff --git "a/31.\345\274\200\346\272\220\346\264\236\345\257\237/00.overview.md" "b/31.\345\274\200\346\272\220\346\264\236\345\257\237/00.overview.md" new file mode 100644 index 00000000..5a8dc72d --- /dev/null +++ "b/31.\345\274\200\346\272\220\346\264\236\345\257\237/00.overview.md" @@ -0,0 +1,28 @@ +--- +url: /31.ๅผ€ๆบๆดžๅฏŸ/00.overview.md +--- + +# ๅผ€ๆบๆดžๅฏŸ + +::: note ่ฏดๆ˜Ž๏ผš + +ๆœฌไธ“ๆ ๆ‰€ๆœ‰ๆบ็ ่งฃ่ฏปๆ–‡็ซ ๏ผŒๅ‡ๅ€ŸๅŠฉไบ†ๆœฌไบบๅผ€ๆบ็š„ **[repo-insight](https://github.com/sqliang/repo-insight) Agent Skill** ๆฅ่พ…ๅŠฉ็”Ÿๆˆใ€‚ + +**repo-insight** ๆ˜ฏไธ€ๆฌพไธ“ๆณจไบŽไผ˜็ง€ๅผ€ๆบ้กน็›ฎไปฃ็ ๅบ“่งฃ่ฏป็š„ๆ™บ่ƒฝๅŠฉๆ‰‹๏ผŒๆไพ› GitHub URL ๆˆ–ๆœฌๅœฐ็›ฎๅฝ•็š„ไธ€้”ฎๆทฑๅบฆๅˆ†ๆž่ƒฝๅŠ›ใ€‚ + +* **ไธ€้”ฎๅˆ†ๆž** - ๆ”ฏๆŒ GitHub URL ๆˆ–ๆœฌๅœฐ็›ฎๅฝ•ๅˆ†ๆž +* **ๆทฑๅบฆๆŠฅๅ‘Š** - ็”Ÿๆˆ้กน็›ฎๆฆ‚่ฟฐใ€ๆžถๆž„ๅˆ†ๆžใ€ๆ ธๅฟƒๆจกๅ—่งฃ่ฏป +* **ไธญๆ–‡ๆ”ฏๆŒ** - ่‡ชๅŠจ็ฟป่ฏ‘ READMEใ€็”Ÿๆˆไธญๆ–‡ไปฃ็ ๆณจ้‡Š +* **ๅ…จ่‡ชๅŠจๆ‰ง่กŒ** - ่ฐƒ็”จๅŽๆ— ้œ€ไธญ้—ดไบคไบ’ + +ไธคไธช Skill ๅ‡ๅ…ทๅค‡ไปฅไธŠ่ƒฝๅŠ›๏ผŒๅฏๆ นๆฎ้œ€ๆฑ‚้€‰ๆ‹ฉไฝฟ็”จใ€‚ + +::: right +[ไบ†่งฃ repo-insight โ†’](https://github.com/sqliang/repo-insight) +::: + +## ๅผ€ๆบ้กน็›ฎ่งฃ่ฏป + +| ้กน็›ฎ | ็ฎ€ไป‹ | +|------|------| +| **fetch-event-source** | ๅพฎ่ฝฏๅผ€ๆบ็š„ๅŸบไบŽ Fetch API ็š„ SSE ๅฎขๆˆท็ซฏๅบ“๏ผŒ็”จไบŽ็ฎ€ๅŒ–ไธŽๆœๅŠกๅ™จ็š„ๅฎžๆ—ถ้€šไฟกใ€‚ [่งฃ่ฏปๅ…จๆ–‡ โ†’](/repo-insight/fetch-event-source) | diff --git "a/31.\345\274\200\346\272\220\346\264\236\345\257\237/01.fetch-event-source \346\272\220\347\240\201\350\247\243\350\257\273.html" "b/31.\345\274\200\346\272\220\346\264\236\345\257\237/01.fetch-event-source \346\272\220\347\240\201\350\247\243\350\257\273.html" new file mode 100644 index 00000000..f60b7022 --- /dev/null +++ "b/31.\345\274\200\346\272\220\346\264\236\345\257\237/01.fetch-event-source \346\272\220\347\240\201\350\247\243\350\257\273.html" @@ -0,0 +1,603 @@ + + + + + + fetch-event-source ๆบ็ ่งฃ่ฏป | Insight Stack + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content
2945
+ + + + 12.4m

fetch-event-source ๆบ็ ่งฃ่ฏป โ€‹

็ฌฌไธ€้ƒจๅˆ†: ไธšๅŠกไปทๅ€ผ็ฏ‡ โ€‹

้กน็›ฎๅฎšไฝ โ€‹

@microsoft/fetch-event-source ๆ˜ฏๅพฎ่ฝฏๅผ€ๆบ็š„ไธ€ไธชๅŸบไบŽ Fetch API ็š„ Server-Sent Events (SSE) ๅฎขๆˆท็ซฏๅบ“,ไธบๆต่งˆๅ™จๆไพ›ไบ†ๆ›ดๅผบๅคงใ€ๆ›ด็ตๆดป็š„ๆœๅŠกๅ™จๆŽจ้€ไบ‹ไปถๆŽฅๆ”ถ่ƒฝๅŠ›ใ€‚

่งฃๅ†ณ็š„ๆ ธๅฟƒ็—›็‚น โ€‹

ๅŽŸ็”Ÿๆต่งˆๅ™จ็š„ EventSource API ๅญ˜ๅœจไปฅไธ‹้™ๅˆถ:

้™ๅˆถ่ฏดๆ˜Ž
ไป…ๆ”ฏๆŒ GET ่ฏทๆฑ‚ๆ— ๆณ•ไฝฟ็”จ POSTใ€PUT ็ญ‰ๅ…ถไป– HTTP ๆ–นๆณ•
ๆ— ๆณ•่‡ชๅฎšไน‰่ฏทๆฑ‚ๅคดๆ— ๆณ•ไผ ้€’่ฎค่ฏไปค็‰Œใ€ๅ†…ๅฎน็ฑปๅž‹็ญ‰่‡ชๅฎšไน‰ๅคด้ƒจ
ๆ— ๆณ•ๅ‘้€่ฏทๆฑ‚ไฝ“ๆ‰€ๆœ‰ๅ‚ๆ•ฐๅฟ…้กป็ผ–็ ๅœจ URL ไธญ,ๅ—้™ไบŽๆต่งˆๅ™จ URL ้•ฟๅบฆ้™ๅˆถ(้€šๅธธ 2000 ๅญ—็ฌฆ)
้‡่ฏ•็ญ–็•ฅไธๅฏๆŽง่ฟžๆŽฅๆ–ญๅผ€ๆ—ถๆต่งˆๅ™จ่‡ชๅŠจ้‡่ฏ•ไฝ†ๆ— ๆณ•่‡ชๅฎšไน‰้‡่ฏ•้€ป่พ‘
้”™่ฏฏๅค„็†่ƒฝๅŠ›ๆœ‰้™ๆ— ๆณ•ไผ˜้›…ๅค„็† API ็ฝ‘ๅ…ณ่ฟ”ๅ›ž็š„้”™่ฏฏๅ“ๅบ”

ๆŠ€ๆœฏไบฎ็‚น โ€‹

ๆŠ€ๆœฏไบฎ็‚น่ฏดๆ˜Ž
ๅŸบไบŽ Fetch APIๅ……ๅˆ†ๅˆฉ็”จ Fetch API ็š„ๆ‰€ๆœ‰็‰นๆ€ง(่‡ชๅฎšไน‰ๆ–นๆณ•ใ€ๅคด้ƒจใ€่ฏทๆฑ‚ไฝ“็ญ‰)
ๅฎŒๅ…จๅ…ผๅฎน SSE ๆ ผๅผไธŽๆ ‡ๅ‡† Event Stream ๆ ผๅผ 100% ๅ…ผๅฎน
็ตๆดป็š„้‡่ฏ•็ญ–็•ฅๅฎŒๅ…จๆŽŒๆŽง่ฟžๆŽฅๆ–ญๅผ€ๆ—ถ็š„้‡่ฏ•้€ป่พ‘
้กต้ขๅฏ่งๆ€ง้›†ๆˆ่‡ชๅŠจๅœจ้กต้ข้š่—ๆ—ถๆ–ญๅผ€่ฟžๆŽฅใ€ๆ˜พ็คบๆ—ถ้‡่ฟž,ๅ‡ๅฐ‘ๆœๅŠกๅ™จ่ดŸ่ฝฝ
ๅฏๆ›ฟๆข็š„ fetch ๅฎž็Žฐๆ”ฏๆŒๆณจๅ…ฅ่‡ชๅฎšไน‰ fetch ๅ‡ฝๆ•ฐ
TypeScript ๅŽŸ็”Ÿๆ”ฏๆŒๅฎŒๆ•ด็š„็ฑปๅž‹ๅฎšไน‰

้€‚็”จๅœบๆ™ฏ โ€‹

ๅœบๆ™ฏ่ฏดๆ˜Ž
ๅฎžๆ—ถๆ•ฐๆฎๆŽจ้€่‚ก็ฅจ่กŒๆƒ…ใ€ๅฎžๆ—ถๆ–ฐ้—ปใ€ๅณๆ—ถๆถˆๆฏ
่ฟ›ๅบฆๆ›ดๆ–ฐ้•ฟๆ—ถ้—ด่ฟ่กŒไปปๅŠก็š„่ฟ›ๅบฆ่ฟฝ่ธช
ๆ—ฅๅฟ—ๆตๅฎžๆ—ถๆ—ฅๅฟ—ๆŸฅ็œ‹ๅ’Œ็›‘ๆŽง
ๅไฝœๅบ”็”จๅคšไบบๅไฝœๆ—ถ็š„ๅฎžๆ—ถ็Šถๆ€ๅŒๆญฅ
AI ๅบ”็”จๅคง่ฏญ่จ€ๆจกๅž‹็š„ๆตๅผๅ“ๅบ”่พ“ๅ‡บ

ๅ…ธๅž‹ไฝฟ็”จ Case โ€‹

Case 1: ๅŸบ็ก€ SSE ่ฟžๆŽฅ โ€‹

typescript
import { fetchEventSource } from '@microsoft/fetch-event-source';
+
+await fetchEventSource('/api/sse', {
+    onmessage(ev) {
+        console.log(ev.data);
+    }
+});

Case 2: ๅธฆ่ฎค่ฏๅ’Œ่‡ชๅฎšไน‰่ฏทๆฑ‚ โ€‹

typescript
const ctrl = new AbortController();
+fetchEventSource('/api/sse', {
+    method: 'POST',
+    headers: {
+        'Content-Type': 'application/json',
+        'Authorization': 'Bearer token123'
+    },
+    body: JSON.stringify({ query: 'data' }),
+    signal: ctrl.signal,
+    onmessage(msg) {
+        // ๅค„็†ๆถˆๆฏ
+    }
+});

Case 3: ่‡ชๅฎšไน‰้”™่ฏฏๅค„็†ๅ’Œ้‡่ฏ• โ€‹

typescript
class RetriableError extends Error { }
+class FatalError extends Error { }
+
+fetchEventSource('/api/sse', {
+    async onopen(response) {
+        if (response.ok && response.headers.get('content-type') === 'text/event-stream') {
+            return;
+        } else if (response.status >= 400 && response.status < 500 && response.status !== 429) {
+            throw new FatalError();
+        } else {
+            throw new RetriableError();
+        }
+    },
+    onerror(err) {
+        if (err instanceof FatalError) {
+            throw err; // ๅœๆญขๆ“ไฝœ
+        }
+        // ่ฟ”ๅ›ž้‡่ฏ•้—ด้š”(ๆฏซ็ง’),undefined ไฝฟ็”จ้ป˜่ฎค 1 ็ง’
+        return 2000;
+    }
+});

ๆŠ€ๆœฏๆ ˆๅˆ†ๆž โ€‹

ๆŠ€ๆœฏ็‰ˆๆœฌ็”จ้€”
TypeScript^4.2.4ๅผ€ๅ‘่ฏญ่จ€
Jasmine^4.3.1ๆต‹่ฏ•ๆก†ๆžถ
ES2017-็›ฎๆ ‡ ECMAScript ็‰ˆๆœฌ

้€‰ๅž‹ๅ†ณ็ญ–ๅˆ†ๆž โ€‹

1ใ€ไธบไป€ไนˆ้€‰ๆ‹ฉ TypeScript?

  • ็ฑปๅž‹ๅฎ‰ๅ…จ: ไธบ API ๆไพ›ๅฎŒๆ•ด็š„็ฑปๅž‹ๅฎšไน‰,ๆๅ‡ๅผ€ๅ‘ไฝ“้ชŒ
  • ็”Ÿๆ€ๅ‹ๅฅฝ: TypeScript ๅœจๅ‰็ซฏ็”Ÿๆ€ไธญๅทฒๆˆไธบไธปๆต
  • ็ปดๆŠคๆ€ง: ็ฑปๅž‹็ณป็ปŸๆœ‰ๅŠฉไบŽ้•ฟๆœŸ็ปดๆŠคๅ’Œ้‡ๆž„

2ใ€ไธบไป€ไนˆๅŸบไบŽ Fetch API ่€Œ้ž XMLHttpRequest?

  • ็Žฐไปฃๆ ‡ๅ‡†: Fetch API ๆ˜ฏ็Žฐไปฃๆต่งˆๅ™จ็š„ๆ ‡ๅ‡† API
  • Promise ๆ”ฏๆŒ: ๆ›ดไผ˜้›…็š„ๅผ‚ๆญฅๅค„็†ๆ–นๅผ
  • ๅฏๆ‰ฉๅฑ•ๆ€ง: Request/Response ๅฏน่ฑก่ฎพ่ฎกๆ›ด็ตๆดป
  • ๆตๅผๅค„็†: ๅŽŸ็”Ÿๆ”ฏๆŒ ReadableStream

3ใ€ไธบไป€ไนˆไธ็›ดๆŽฅไฝฟ็”จ WebSocket?

  • SSE ๅ…ผๅฎนๆ€ง: ็Žฐๆœ‰ SSE ๆœๅŠกๅ™จๆ— ้œ€ไฟฎๆ”นๅณๅฏไฝฟ็”จ
  • ๅ•ๅ‘้€šไฟก: ๅฏนไบŽไป…้œ€ๆœๅŠกๅ™จๆŽจ้€็š„ๅœบๆ™ฏ,SSE ๆ›ด่ฝป้‡
  • HTTP ๅ‹ๅฅฝ: ไฝฟ็”จๆ ‡ๅ‡† HTTP,ๆ›ดๅฎนๆ˜“้€š่ฟ‡้˜ฒ็ซๅข™ๅ’Œไปฃ็†
  • ่‡ชๅŠจ้‡่ฟž: SSE ๆœฌ่บซๅฐฑๆœ‰้‡่ฟžๆœบๅˆถ,ๆญคๅบ“่ฟ›ไธ€ๆญฅๅขžๅผบ

้กน็›ฎ็ป“ๆž„ๅˆ่งˆ โ€‹

shell
src/
+โ”œโ”€โ”€ fetch.ts        # ๆ ธๅฟƒๅฎž็Žฐ: fetchEventSource ๅ‡ฝๆ•ฐ
+โ”œโ”€โ”€ parse.ts        # ่งฃๆžๅ™จ: SSE ๆ ผๅผ่งฃๆž
+โ”œโ”€โ”€ index.ts        # ๅ…ฅๅฃ: ๅฏผๅ‡บๅ…ฌๅ…ฑ API
+โ””โ”€โ”€ parse.spec.ts   # ๆต‹่ฏ•: ่งฃๆžๅ™จๅ•ๅ…ƒๆต‹่ฏ•

ๅฎŒๆ•ด็›ฎๅฝ•ๆ ‘๏ผš

shell
fetch-event-source/
+โ”œโ”€โ”€ .github/                    # GitHub ้…็ฝฎ็›ฎๅฝ•
+โ”‚   โ””โ”€โ”€ workflows/              # GitHub Actions ๅทฅไฝœๆต
+โ”‚       โ””โ”€โ”€ node.js.yml         # Node.js CI ้…็ฝฎ
+โ”œโ”€โ”€ src/                        # ๆบไปฃ็ ไธป็›ฎๅฝ•
+โ”‚   โ”œโ”€โ”€ fetch.ts                # fetchEventSource ไธปๅฎž็Žฐ - ่ฟžๆŽฅ็ฎก็†ใ€้‡่ฏ•ใ€้กต้ขๅฏ่งๆ€ง
+โ”‚   โ”œโ”€โ”€ index.ts                # ๆจกๅ—ๅ…ฅๅฃๆ–‡ไปถ - ็ปŸไธ€ๅฏผๅ‡บๅ…ฌๅ…ฑ API
+โ”‚   โ”œโ”€โ”€ parse.spec.ts           # ่งฃๆžๅ™จๅ•ๅ…ƒๆต‹่ฏ•
+โ”‚   โ””โ”€โ”€ parse.ts                # ไบ‹ไปถๆต่งฃๆžๅ™จ - SSE ๆ ผๅผ่งฃๆžๆตๆฐด็บฟ
+โ”œโ”€โ”€ .gitignore                  # Git ๅฟฝ็•ฅๆ–‡ไปถ
+โ”œโ”€โ”€ .npmignore                  # NPM ๅ‘ๅธƒๅฟฝ็•ฅๆ–‡ไปถ
+โ”œโ”€โ”€ .nycrc                      # ๆต‹่ฏ•่ฆ†็›–็އ้…็ฝฎ
+โ”œโ”€โ”€ CHANGELOG.md                # ๅ˜ๆ›ดๆ—ฅๅฟ—
+โ”œโ”€โ”€ CODE_OF_CONDUCT.md          # ่กŒไธบๅ‡†ๅˆ™  
+โ”œโ”€โ”€ CONTRIBUTING.md             # ่ดก็ŒฎๆŒ‡ๅ—
+โ”œโ”€โ”€ LICENSE                     # MIT ่ฎธๅฏ่ฏ
+โ”œโ”€โ”€ README.md                   # ้กน็›ฎ่ฏดๆ˜Žๆ–‡ๆกฃ(่‹ฑๆ–‡)
+โ”œโ”€โ”€ SECURITY.md                 # ๅฎ‰ๅ…จๆ”ฟ็ญ–
+โ”œโ”€โ”€ jasmine.json                # Jasmine ๆต‹่ฏ•ๆก†ๆžถ้…็ฝฎ
+โ”œโ”€โ”€ package-lock.json           # NPM ไพ่ต–้”ๅฎšๆ–‡ไปถ
+โ”œโ”€โ”€ package.json                # NPM ้กน็›ฎ้…็ฝฎ - dual-package (CJS+ESM)
+โ”œโ”€โ”€ tsconfig.esm.json           # TypeScript ESM ๆž„ๅปบ้…็ฝฎ
+โ””โ”€โ”€ tsconfig.json               # TypeScript ไธป้…็ฝฎ - strict ๆจกๅผ

ๆ ธๅฟƒๆจกๅ—่Œ่ดฃ โ€‹

ๆจกๅ—่Œ่ดฃ
fetch.tsไธป API ๅฎž็Žฐ,่ฟžๆŽฅ็ฎก็†ใ€้‡่ฏ•้€ป่พ‘ใ€้กต้ขๅฏ่งๆ€งๅค„็†
parse.tsSSE ๅ่ฎฎ่งฃๆž,ๅญ—่Š‚ๆต โ†’ ่กŒ โ†’ ๆถˆๆฏ็š„่ฝฌๆข
index.tsๆจกๅ—ๅ…ฅๅฃ,็ปŸไธ€ๅฏผๅ‡บ

ไพ่ต–ๅ…ณ็ณป โ€‹

ๅค–้ƒจไพ่ต– โ€‹

  • ๆ— ่ฟ่กŒๆ—ถไพ่ต–: ่ฟ™ๆ˜ฏไธ€ไธช้›ถไพ่ต–็š„่ฝป้‡็บงๅบ“
  • ไป…ๅผ€ๅ‘ไพ่ต–: TypeScriptใ€Jasmineใ€rimrafใ€source-map-support

ๅ†…้ƒจไพ่ต– โ€‹

shell
index.ts โ†’ fetch.ts โ†’ parse.ts
+       โ†˜
+         parse.ts (็›ดๆŽฅๅฏผๅ‡บ็ฑปๅž‹)

ๆž„ๅปบ่พ“ๅ‡บ โ€‹

  • CJS: CommonJS ๆ ผๅผ (lib/cjs/index.js)
  • ESM: ES Module ๆ ผๅผ (lib/esm/index.js)
  • ็ฑปๅž‹: TypeScript ็ฑปๅž‹ๅฎšไน‰ (lib/cjs/index.d.ts)

ๆ”ฏๆŒ dual-package ๅ‘ๅธƒ,ๅŒๆ—ถๅ…ผๅฎน CommonJS ๅ’Œ ES Moduleใ€‚

็ฌฌไบŒ้ƒจๅˆ†: ๆžถๆž„่ฎพ่ฎก็ฏ‡ โ€‹

็ณป็ปŸๆ•ดไฝ“ๆžถๆž„ โ€‹

markdown
                        โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
+                        โ”‚                    fetchEventSource API                     โ”‚
+                        โ”‚                     (ๅ…ฅๅฃ: src/index.ts)                     โ”‚
+                        โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
+                                                     โ”‚
+                                                     โ–ผ
+                        โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
+                        โ”‚                   ๆ ธๅฟƒๆŽงๅˆถๅ™จ (src/fetch.ts)                 โ”‚
+                        โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
+                        โ”‚  โ”‚  create()           - ๅˆ›ๅปบ/้‡่ฏ•่ฟžๆŽฅ็š„ไธปๅพช็Žฏ            โ”‚  โ”‚
+                        โ”‚  โ”‚  dispose()          - ๆธ…็†่ต„ๆบ                          โ”‚  โ”‚
+                        โ”‚  โ”‚  onVisibilityChange() - ้กต้ขๅฏ่งๆ€งๅ˜ๅŒ–ๅค„็†              โ”‚  โ”‚
+                        โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
+                        โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
+                                                             โ”‚
+              โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
+              โ”‚                                      โ”‚                                      โ”‚
+              โ–ผ                                      โ–ผ                                      โ–ผ
+โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”        โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”        โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
+โ”‚   ้กต้ขๅฏ่งๆ€ง็›‘ๅฌ        โ”‚        โ”‚   Fetch ่ฏทๆฑ‚ๅค„็†          โ”‚        โ”‚   ้‡่ฏ•็ญ–็•ฅๆŽงๅˆถ          โ”‚
+โ”‚  - visibilitychange     โ”‚        โ”‚  - ่‡ชๅฎšไน‰ๆ–นๆณ•/ๅคด้ƒจ/ไฝ“    โ”‚        โ”‚  - ๅฏ้…็ฝฎ้‡่ฏ•้—ด้š”       โ”‚
+โ”‚  - ่‡ชๅŠจๆ–ญๅผ€/้‡่ฟž        โ”‚        โ”‚  - Last-Event-ID ๅคด้ƒจ     โ”‚        โ”‚  - ้”™่ฏฏๅˆ†็ฑปๅค„็†         โ”‚
+โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜        โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜        โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
+              โ”‚                                      โ”‚                                      โ”‚
+              โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
+                                                             โ”‚
+                                                             โ–ผ
+                        โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
+                        โ”‚                  ไบ‹ไปถๆต่งฃๆžๅ™จ (src/parse.ts)                 โ”‚
+                        โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
+                        โ”‚  โ”‚  getBytes()    - ่ฏปๅ–ๅญ—่Š‚ๆต                           โ”‚  โ”‚
+                        โ”‚  โ”‚  getLines()    - ่งฃๆž่กŒ็ผ“ๅ†ฒ                           โ”‚  โ”‚
+                        โ”‚  โ”‚  getMessages() - ็ป„่ฃ…ๅฎŒๆ•ดๆถˆๆฏ                          โ”‚  โ”‚
+                        โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
+                        โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
+                                                             โ”‚
+                                                             โ–ผ
+                        โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
+                        โ”‚                    ็”จๆˆทๅ›ž่ฐƒๅ‡ฝๆ•ฐ                              โ”‚
+                        โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
+                        โ”‚  โ”‚ onopen   โ”‚ โ”‚ onmessageโ”‚ โ”‚ onclose  โ”‚ โ”‚ onerror  โ”‚  โ”‚
+                        โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
+                        โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

ๆ ธๅฟƒๆจกๅ—่ฎพ่ฎก โ€‹

1. fetch.ts - ไธปๆŽงๅˆถๅ™จๆจกๅ— โ€‹

่Œ่ดฃ:

  • ๆไพ› fetchEventSource ไธป API ๅ‡ฝๆ•ฐ
  • ็ฎก็†่ฟžๆŽฅ็”Ÿๅ‘ฝๅ‘จๆœŸ
  • ๅค„็†้‡่ฏ•้€ป่พ‘
  • ้›†ๆˆ้กต้ขๅฏ่งๆ€ง API
  • ๅ่ฐƒ่ฏทๆฑ‚/ๅ“ๅบ”ๅค„็†

ๆ ธๅฟƒๆ•ฐๆฎ็ป“ๆž„:

typescript
interface FetchEventSourceInit extends RequestInit {
+    headers?: Record<string, string>;
+    onopen?: (response: Response) => Promise<void>;
+    onmessage?: (ev: EventSourceMessage) => void;
+    onclose?: () => void;
+    onerror?: (err: any) => number | null | undefined | void;
+    openWhenHidden?: boolean;
+    fetch?: typeof fetch;
+}

ๅ…ณ้”ฎๅ‡ฝๆ•ฐๆต็จ‹:

text
                    fetchEventSource() ๅ…ฅๅฃ
+                            โ”‚
+                            โ–ผ
+โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
+โ”‚  ๅˆๅง‹ๅŒ–้˜ถๆฎต:                                             โ”‚
+โ”‚  1. ๅคๅˆถๅนถ่ฎพ็ฝฎ้ป˜่ฎค่ฏทๆฑ‚ๅคด (Accept: text/event-stream)    โ”‚
+โ”‚  2. ่ฎพ็ฝฎ้กต้ขๅฏ่งๆ€ง็›‘ๅฌๅ™จ (ๅฆ‚ๆžœ openWhenHidden=false)    โ”‚
+โ”‚  3. ๅˆๅง‹ๅŒ–้‡่ฏ•้—ด้š” (้ป˜่ฎค 1000ms)                       โ”‚
+โ”‚  4. ็›‘ๅฌ่พ“ๅ…ฅ AbortSignal                                 โ”‚
+โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
+                             โ”‚
+                             โ–ผ
+                    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
+                    โ”‚  create() ๅ‡ฝๆ•ฐ โ”‚ โ†โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
+                    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜          โ”‚
+                            โ”‚                    โ”‚
+        โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
+        โ”‚                   โ”‚                   โ”‚
+        โ–ผ                   โ–ผ                   โ–ผ
+โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
+โ”‚  ๅ‘่ตท่ฏทๆฑ‚    โ”‚   โ”‚  ้ชŒ่ฏๅ“ๅบ”     โ”‚   โ”‚  ่งฃๆžไบ‹ไปถๆต   โ”‚
+โ”‚  fetch()     โ”‚   โ”‚  onopen()     โ”‚   โ”‚  getBytes()  โ”‚
+โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
+       โ”‚                   โ”‚                   โ”‚
+       โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
+                           โ”‚
+                           โ–ผ
+                โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
+                โ”‚  ๆˆๅŠŸ/้”™่ฏฏๅค„็†   โ”‚
+                โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
+                         โ”‚
+              โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
+              โ”‚                     โ”‚
+              โ–ผ                     โ–ผ
+        ๆญฃๅธธๅฎŒๆˆ              ๅผ‚ๅธธๅค„็†
+        (resolve)         (onerror ๅ†ณๅฎšๆ˜ฏๅฆ้‡่ฏ•)
+                             โ”‚
+                             โ–ผ
+                    ้œ€่ฆ้‡่ฏ•? โ”€โ”€ๆ˜ฏโ”€โ”€โ†’ ้‡่ฏ• create()
+                             โ”‚
+                             ๅฆ
+                             โ–ผ
+                        ็ปˆๆญข (reject)

2. parse.ts - ไบ‹ไปถๆต่งฃๆžๆจกๅ— โ€‹

่Œ่ดฃ:

  • ่งฃๆž SSE ๆ ผๅผ็š„ๅญ—่Š‚ๆต
  • ๅค„็†ๅˆ†ๅ—ไผ ่พ“็ผ–็ 
  • ็ป„่ฃ…ๅฎŒๆ•ด็š„ EventSourceMessage ๅฏน่ฑก

่งฃๆžๆตๆฐด็บฟ:

text
  ReadableStream<Uint8Array>
+            โ”‚
+            โ–ผ
+    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
+    โ”‚   getBytes()  โ”‚  - ไปŽๆตไธญ่ฏปๅ–ๅญ—่Š‚ๅ—
+    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
+            โ”‚
+            โ–ผ
+    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
+    โ”‚   getLines()  โ”‚  - ่งฃๆž่กŒ็ผ“ๅ†ฒ,ๅค„็† \r, \n, \r\n
+    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  - ่ฏ†ๅˆซๅญ—ๆฎตๅไฝ็ฝฎ (็ฌฌไธ€ไธชๅ†’ๅท)
+            โ”‚
+            โ–ผ
+    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
+    โ”‚ getMessages() โ”‚  - ็ป„่ฃ…ๅฎŒๆ•ดๆถˆๆฏ
+    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  - ๅค„็†ๅคšๅญ—ๆฎต: id, event, data, retry
+            โ”‚          - ็ฉบ่กŒ่งฆๅ‘ๆถˆๆฏๅ›ž่ฐƒ
+            โ–ผ
+  EventSourceMessage

ๆ ธๅฟƒๆ•ฐๆฎ็ป“ๆž„:

typescript
interface EventSourceMessage {
+    id: string;           // ไบ‹ไปถ ID
+    event: string;        // ไบ‹ไปถ็ฑปๅž‹
+    data: string;         // ไบ‹ไปถๆ•ฐๆฎ
+    retry?: number;       // ้‡่ฏ•้—ด้š”(ๆฏซ็ง’)
+}

่กŒ่งฃๆž็Šถๆ€ๆœบ:

text
    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
+    โ”‚                    getLines() ็Šถๆ€ๆœบ                             โ”‚
+    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
+
+            ๅˆๅง‹็Šถๆ€: buffer=undefined, position=0, fieldLength=-1
+
+                โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
+                โ”‚ ๆ–ฐๅญ—่Š‚ๅ—  โ”‚
+                โ””โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”˜
+                      โ”‚
+                โ”Œโ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
+                โ”‚ buffer ๅญ˜ๅœจ?                            โ”‚
+                โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
+                โ”‚   ๅฆ      โ”‚           ๆ˜ฏ               โ”‚
+                โ–ผ           โ–ผ                           โ”‚
+            buffer = arr  buffer = concat(buffer, arr)  โ”‚
+            position = 0                                 โ”‚
+            fieldLength = -1                             โ”‚
+                โ”‚                                        โ”‚
+                โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
+                            โ”‚
+                โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
+                โ”‚  while position < bufLength:           โ”‚
+                โ”‚                                         โ”‚
+                โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚
+                โ”‚  โ”‚ ๅค„็† discardTrailingNewline      โ”‚ โ”‚
+                โ”‚  โ”‚ (่ทณ่ฟ‡ๅ‰ไธ€ไธช \r ๅŽ้ข็š„ \n)        โ”‚ โ”‚
+                โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚
+                โ”‚                 โ”‚                       โ”‚
+                โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚
+                โ”‚  โ”‚ ๆŸฅๆ‰พ่กŒๅฐพ (\r ๆˆ– \n)               โ”‚ โ”‚
+                โ”‚  โ”‚ ๅŒๆ—ถ่ฎฐๅฝ•็ฌฌไธ€ไธชๅ†’ๅทไฝ็ฝฎ (fieldLength)โ”‚ โ”‚
+                โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚
+                โ”‚                 โ”‚                       โ”‚
+                โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚
+                โ”‚  โ”‚  ๆ‰พๅˆฐ่กŒๅฐพ?                         โ”‚ โ”‚
+                โ”‚  โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค โ”‚
+                โ”‚  โ”‚   ๅฆ      โ”‚           ๆ˜ฏ           โ”‚ โ”‚
+                โ”‚  โ–ผ           โ–ผ                       โ”‚ โ”‚
+                โ”‚  break       onLine(line, fieldLength)โ”‚ โ”‚
+                โ”‚  (็ญ‰ๅพ…ไธ‹ไธ€ๅ—) lineStart = position    โ”‚ โ”‚
+                โ”‚               fieldLength = -1        โ”‚ โ”‚
+                โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚
+                โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
+                                โ”‚
+                โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
+                โ”‚  ๅค„็†ๅ‰ฉไฝ™ buffer:                       โ”‚
+                โ”‚  - ๅ…จ้ƒจๅค„็†ๅฎŒ: buffer = undefined      โ”‚
+                โ”‚  - ้ƒจๅˆ†ๅค„็†: buffer = subarray(lineStart)โ”‚
+                โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

ๆ ธๅฟƒๆ•ฐๆฎๆต่ฝฌๆ—ถๅบ โ€‹

ๆญฃๅธธๆถˆๆฏๆŽฅๆ”ถๆต็จ‹ โ€‹

mermaid
sequenceDiagram
+    participant U as ็”จๆˆทไปฃ็ 
+    participant F as fetchEventSource
+    participant R as Response
+    participant B as getBytes
+    participant L as getLines
+    participant M as getMessages
+    participant C as ็”จๆˆทๅ›ž่ฐƒ
+
+    U->>F: fetchEventSource(url, options)
+    F->>F: create()
+    F->>R: fetch(input, init)
+    R-->>F: Response
+    F->>C: onopen(response)
+    C-->>F: void
+    F->>B: getBytes(response.body, onChunk)
+    loop ๅญ—่Š‚ๆตๅพช็Žฏ
+        B->>B: reader.read()
+        B-->>L: onChunk(arr)
+        loop ่กŒ่งฃๆžๅพช็Žฏ
+            L-->>M: onLine(line, fieldLength)
+            alt ้ž็ฉบ่กŒ
+                M->>M: ่งฃๆžๅญ—ๆฎต (id/event/data/retry)
+            else ็ฉบ่กŒ
+                M-->>C: onmessage(msg)
+                M->>M: ๅˆ›ๅปบๆ–ฐๆถˆๆฏ
+            end
+        end
+    end
+    B-->>F: ๆตๅ…ณ้—ญ
+    F->>C: onclose()
+    F->>F: dispose()
+    F-->>U: resolve()

้‡่ฏ•ๆต็จ‹ โ€‹

mermaid
sequenceDiagram
+    participant U as ็”จๆˆทไปฃ็ 
+    participant F as fetchEventSource
+    participant R as Response
+    participant C as ็”จๆˆทๅ›ž่ฐƒ
+
+    U->>F: fetchEventSource(...)
+    F->>F: create()
+    F->>R: fetch(...)
+
+    alt ่ฏทๆฑ‚ๅคฑ่ดฅ
+        R-->>F: Error
+        F->>C: onerror(err)
+        alt ้œ€่ฆ้‡่ฏ•
+            C-->>F: ่ฟ”ๅ›ž้‡่ฏ•้—ด้š”
+            F->>F: setTimeout(create, interval)
+            Note over F: ็ญ‰ๅพ…ๆŒ‡ๅฎšๆ—ถ้—ดๅŽ้‡่ฏ•
+            F->>F: create()
+            F->>R: fetch(..., Last-Event-ID: id)
+        else ่‡ดๅ‘ฝ้”™่ฏฏ
+            C-->>F: ๆŠ›ๅ‡บๅผ‚ๅธธ
+            F->>F: dispose()
+            F-->>U: reject(err)
+        end
+    else ๅ“ๅบ”ๆˆๅŠŸไฝ†่ฟžๆŽฅๆ–ญๅผ€
+        R-->>F: Response
+        F->>C: onopen()
+        F->>F: ่งฃๆžไบ‹ไปถๆต...
+        F->>C: onclose()
+        F->>C: onerror(undefined)
+        alt ้œ€่ฆ้‡่ฏ•
+            C-->>F: ่ฟ”ๅ›ž้‡่ฏ•้—ด้š”
+            F->>F: setTimeout(create, interval)
+        else ๅœๆญข
+            C-->>F: ๆŠ›ๅ‡บๅผ‚ๅธธ
+            F->>F: dispose()
+            F-->>U: reject()
+        end
+    end

้กต้ขๅฏ่งๆ€งๅ˜ๅŒ–ๆต็จ‹ โ€‹

mermaid
sequenceDiagram
+    participant D as Document
+    participant F as fetchEventSource
+    participant R as Request
+
+    Note over F: openWhenHidden = false (้ป˜่ฎค)
+    F->>D: addEventListener('visibilitychange')
+
+    D->>F: visibilitychange (hidden)
+    F->>F: curRequestController.abort()
+    F->>R: ๅ–ๆถˆ่ฏทๆฑ‚
+
+    D->>F: visibilitychange (visible)
+    F->>F: create()
+    F->>R: fetch(..., Last-Event-ID: id)

ๆŽฅๅฃๅฅ‘็บฆๅฎšไน‰ โ€‹

ๅ…ฌๅ…ฑ API โ€‹

typescript
/**
+ * ๅ‘่ตทไธ€ไธช Server-Sent Events (SSE) ่ฏทๆฑ‚
+ * @param input ่ฏทๆฑ‚ URL ๆˆ– Request ๅฏน่ฑก
+ * @param init ้…็ฝฎ้€‰้กน
+ * @returns Promise,ๅœจ่ฟžๆŽฅๆญฃๅธธๅ…ณ้—ญๆ—ถ resolve,ๅ‡บ้”™ๆ—ถ reject
+ */
+export function fetchEventSource(
+    input: RequestInfo,
+    init: FetchEventSourceInit
+): Promise<void>;
+
+/**
+ * SSE ๅ“ๅบ”็š„ Content-Type
+ */
+export const EventStreamContentType = 'text/event-stream';
+
+/**
+ * ้…็ฝฎ้€‰้กนๆŽฅๅฃ,็ปงๆ‰ฟ่‡ช RequestInit
+ */
+export interface FetchEventSourceInit extends RequestInit {
+    /**
+     * ่ฏทๆฑ‚ๅคด,ไป…ๆ”ฏๆŒ Record<string, string> ๆ ผๅผ
+     */
+    headers?: Record<string, string>;
+
+    /**
+     * ๆ”ถๅˆฐๅ“ๅบ”ๆ—ถ่ฐƒ็”จ,็”จไบŽ้ชŒ่ฏๅ“ๅบ”ๆ˜ฏๅฆ็ฌฆๅˆ้ข„ๆœŸ
+     * ๅฆ‚ๆžœๆœชๆไพ›,้ป˜่ฎค้ชŒ่ฏ content-type ไธบ text/event-stream
+     * @throws ๅฆ‚ๆžœๅ“ๅบ”ไธ็ฌฆๅˆ้ข„ๆœŸ,ๆŠ›ๅ‡บๅผ‚ๅธธ
+     */
+    onopen?: (response: Response) => Promise<void>;
+
+    /**
+     * ๆ”ถๅˆฐๆถˆๆฏๆ—ถ่ฐƒ็”จ
+     * ๆณจๆ„:ไธŽ้ป˜่ฎค EventSource.onmessage ไธๅŒ,ๆญคๅ›ž่ฐƒไผš่ขซๆ‰€ๆœ‰ไบ‹ไปถ่ฐƒ็”จ,
+     * ๅŒ…ๆ‹ฌๅธฆๆœ‰่‡ชๅฎšไน‰ event ๅญ—ๆฎต็š„ไบ‹ไปถ
+     */
+    onmessage?: (ev: EventSourceMessage) => void;
+
+    /**
+     * ๅ“ๅบ”็ป“ๆŸๆ—ถ่ฐƒ็”จ
+     * ๅฆ‚ๆžœไธๆœŸๆœ›ๆœๅŠกๅ™จๅ…ณ้—ญ่ฟžๆŽฅ,ๅฏไปฅๅœจ่ฟ™้‡ŒๆŠ›ๅ‡บๅผ‚ๅธธๅนถ้€š่ฟ‡ onerror ้‡่ฏ•
+     */
+    onclose?: () => void;
+
+    /**
+     * ๅ‘็”Ÿไปปไฝ•้”™่ฏฏๆ—ถ่ฐƒ็”จ(่ฏทๆฑ‚/ๅค„็†ๆถˆๆฏ/ๅ›ž่ฐƒ็ญ‰)
+     * ็”จไบŽๆŽงๅˆถ้‡่ฏ•็ญ–็•ฅ:
+     * - ๅฆ‚ๆžœ้”™่ฏฏๆ˜ฏ่‡ดๅ‘ฝ็š„,ๅœจๅ›ž่ฐƒๅ†…้‡ๆ–ฐๆŠ›ๅ‡บ้”™่ฏฏไปฅๅœๆญขๆ•ดไธชๆ“ไฝœ
+     * - ๅฆๅˆ™,ๅฏไปฅ่ฟ”ๅ›žไธ€ไธช้—ด้š”(ๆฏซ็ง’),่ฏทๆฑ‚ๅฐ†ๅœจ่ฏฅ้—ด้š”ๅŽ่‡ชๅŠจ้‡่ฏ•
+     * - ๅฆ‚ๆžœๆœชๆŒ‡ๅฎšๆญคๅ›ž่ฐƒๆˆ–่ฟ”ๅ›ž undefined,ๆ‰€ๆœ‰้”™่ฏฏ้ƒฝ่ขซ่ง†ไธบๅฏ้‡่ฏ•,1็ง’ๅŽ้‡่ฏ•
+     */
+    onerror?: (err: any) => number | null | undefined | void;
+
+    /**
+     * ๅฆ‚ๆžœไธบ true,ๅณไฝฟๆ–‡ๆกฃ้š่—ไนŸไฟๆŒ่ฏทๆฑ‚ๆ‰“ๅผ€
+     * ้ป˜่ฎคๆƒ…ๅ†ตไธ‹,fetchEventSource ไผšๅœจๆ–‡ๆกฃ้š่—ๆ—ถๅ…ณ้—ญ่ฏทๆฑ‚,
+     * ๅนถๅœจๆ–‡ๆกฃๅ†ๆฌกๅฏ่งๆ—ถ่‡ชๅŠจ้‡ๆ–ฐๆ‰“ๅผ€
+     */
+    openWhenHidden?: boolean;
+
+    /**
+     * ไฝฟ็”จ็š„ Fetch ๅ‡ฝๆ•ฐ,้ป˜่ฎคไธบ window.fetch
+     */
+    fetch?: typeof fetch;
+}
+
+/**
+ * ่กจ็คบไบ‹ไปถๆตไธญ็š„ไธ€ๆกๆถˆๆฏ
+ * https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events#Event_stream_format
+ */
+export interface EventSourceMessage {
+    /** ่ฆ่ฎพ็ฝฎๅˆฐ EventSource ๅฏน่ฑก็š„ๆœ€ๅŽไบ‹ไปถ ID ๅ€ผ็š„ไบ‹ไปถ ID */
+    id: string;
+    /** ๆ ‡่ฏ†ๆ‰€ๆ่ฟฐไบ‹ไปถ็ฑปๅž‹็š„ๅญ—็ฌฆไธฒ */
+    event: string;
+    /** ไบ‹ไปถๆ•ฐๆฎ */
+    data: string;
+    /** ้‡่ฏ•่ฟžๆŽฅๅ‰็ญ‰ๅพ…็š„้‡่ฟž้—ด้š”(ๆฏซ็ง’) */
+    retry?: number;
+}

ๅ†…้ƒจ่งฃๆž API โ€‹

typescript
/**
+ * ๅฐ† ReadableStream ่ฝฌๆขไธบๅ›ž่ฐƒๆจกๅผ
+ * @param stream ่พ“ๅ…ฅ ReadableStream
+ * @param onChunk ๅฏนๆฏไธชๆ–ฐๅญ—่Š‚ๅ—่ฐƒ็”จ็š„ๅ‡ฝๆ•ฐ
+ * @returns Promise,ๅœจๆตๅ…ณ้—ญๆ—ถ resolve
+ */
+export async function getBytes(
+    stream: ReadableStream<Uint8Array>,
+    onChunk: (arr: Uint8Array) => void
+): Promise<void>;
+
+/**
+ * ่งฃๆžไปปๆ„ๅญ—่Š‚ๅ—ไธบ EventSource ่กŒ็ผ“ๅ†ฒ
+ * ๆฏ่กŒๆ ผๅผๅบ”ไธบ "field: value",ไปฅ \rใ€\n ๆˆ– \r\n ็ป“ๅฐพ
+ * @param onLine ๅฏนๆฏไธชๆ–ฐ EventSource ่กŒ่ฐƒ็”จ็š„ๅ‡ฝๆ•ฐ
+ * @returns ๅบ”่ฏฅๅฏนๆฏไธช่พ“ๅ…ฅๅญ—่Š‚ๅ—่ฐƒ็”จ็š„ๅ‡ฝๆ•ฐ
+ */
+export function getLines(
+    onLine: (line: Uint8Array, fieldLength: number) => void
+): (arr: Uint8Array) => void;
+
+/**
+ * ่งฃๆž่กŒ็ผ“ๅ†ฒไธบ EventSourceMessages
+ * @param onId ๅฏนๆฏไธช id ๅญ—ๆฎต่ฐƒ็”จ็š„ๅ‡ฝๆ•ฐ
+ * @param onRetry ๅฏนๆฏไธช retry ๅญ—ๆฎต่ฐƒ็”จ็š„ๅ‡ฝๆ•ฐ
+ * @param onMessage ๅฏนๆฏๆกๆถˆๆฏ่ฐƒ็”จ็š„ๅ‡ฝๆ•ฐ
+ * @returns ๅบ”่ฏฅๅฏนๆฏไธช่พ“ๅ…ฅ่กŒ็ผ“ๅ†ฒ่ฐƒ็”จ็š„ๅ‡ฝๆ•ฐ
+ */
+export function getMessages(
+    onId: (id: string) => void,
+    onRetry: (retry: number) => void,
+    onMessage?: (msg: EventSourceMessage) => void
+): (line: Uint8Array, fieldLength: number) => void;
+ + + + \ No newline at end of file diff --git "a/31.\345\274\200\346\272\220\346\264\236\345\257\237/01.fetch-event-source \346\272\220\347\240\201\350\247\243\350\257\273.md" "b/31.\345\274\200\346\272\220\346\264\236\345\257\237/01.fetch-event-source \346\272\220\347\240\201\350\247\243\350\257\273.md" new file mode 100644 index 00000000..90bd4f2f --- /dev/null +++ "b/31.\345\274\200\346\272\220\346\264\236\345\257\237/01.fetch-event-source \346\272\220\347\240\201\350\247\243\350\257\273.md" @@ -0,0 +1,652 @@ +--- +url: /31.ๅผ€ๆบๆดžๅฏŸ/01.fetch-event-source ๆบ็ ่งฃ่ฏป.md +--- + +# fetch-event-source ๆบ็ ่งฃ่ฏป + +## ็ฌฌไธ€้ƒจๅˆ†: ไธšๅŠกไปทๅ€ผ็ฏ‡ + +### ้กน็›ฎๅฎšไฝ + +**`@microsoft/fetch-event-source`** ๆ˜ฏๅพฎ่ฝฏๅผ€ๆบ็š„ไธ€ไธชๅŸบไบŽ Fetch API ็š„ Server-Sent Events (SSE) ๅฎขๆˆท็ซฏๅบ“,ไธบๆต่งˆๅ™จๆไพ›ไบ†ๆ›ดๅผบๅคงใ€ๆ›ด็ตๆดป็š„ๆœๅŠกๅ™จๆŽจ้€ไบ‹ไปถๆŽฅๆ”ถ่ƒฝๅŠ›ใ€‚ + +### ่งฃๅ†ณ็š„ๆ ธๅฟƒ็—›็‚น + +ๅŽŸ็”Ÿๆต่งˆๅ™จ็š„ `EventSource` API ๅญ˜ๅœจไปฅไธ‹้™ๅˆถ: +| ้™ๅˆถ | ่ฏดๆ˜Ž | +|------|------| +| **ไป…ๆ”ฏๆŒ GET ่ฏทๆฑ‚** | ๆ— ๆณ•ไฝฟ็”จ POSTใ€PUT ็ญ‰ๅ…ถไป– HTTP ๆ–นๆณ• | +| **ๆ— ๆณ•่‡ชๅฎšไน‰่ฏทๆฑ‚ๅคด** | ๆ— ๆณ•ไผ ้€’่ฎค่ฏไปค็‰Œใ€ๅ†…ๅฎน็ฑปๅž‹็ญ‰่‡ชๅฎšไน‰ๅคด้ƒจ | +| **ๆ— ๆณ•ๅ‘้€่ฏทๆฑ‚ไฝ“** | ๆ‰€ๆœ‰ๅ‚ๆ•ฐๅฟ…้กป็ผ–็ ๅœจ URL ไธญ,ๅ—้™ไบŽๆต่งˆๅ™จ URL ้•ฟๅบฆ้™ๅˆถ(้€šๅธธ 2000 ๅญ—็ฌฆ) | +| **้‡่ฏ•็ญ–็•ฅไธๅฏๆŽง** | ่ฟžๆŽฅๆ–ญๅผ€ๆ—ถๆต่งˆๅ™จ่‡ชๅŠจ้‡่ฏ•ไฝ†ๆ— ๆณ•่‡ชๅฎšไน‰้‡่ฏ•้€ป่พ‘ | +| **้”™่ฏฏๅค„็†่ƒฝๅŠ›ๆœ‰้™** | ๆ— ๆณ•ไผ˜้›…ๅค„็† API ็ฝ‘ๅ…ณ่ฟ”ๅ›ž็š„้”™่ฏฏๅ“ๅบ” | + +### ๆŠ€ๆœฏไบฎ็‚น + +| ๆŠ€ๆœฏไบฎ็‚น | ่ฏดๆ˜Ž | +|----------|------| +| **ๅŸบไบŽ Fetch API** | ๅ……ๅˆ†ๅˆฉ็”จ Fetch API ็š„ๆ‰€ๆœ‰็‰นๆ€ง(่‡ชๅฎšไน‰ๆ–นๆณ•ใ€ๅคด้ƒจใ€่ฏทๆฑ‚ไฝ“็ญ‰) | +| **ๅฎŒๅ…จๅ…ผๅฎน SSE ๆ ผๅผ** | ไธŽๆ ‡ๅ‡† Event Stream ๆ ผๅผ 100% ๅ…ผๅฎน | +| **็ตๆดป็š„้‡่ฏ•็ญ–็•ฅ** | ๅฎŒๅ…จๆŽŒๆŽง่ฟžๆŽฅๆ–ญๅผ€ๆ—ถ็š„้‡่ฏ•้€ป่พ‘ | +| **้กต้ขๅฏ่งๆ€ง้›†ๆˆ** | ่‡ชๅŠจๅœจ้กต้ข้š่—ๆ—ถๆ–ญๅผ€่ฟžๆŽฅใ€ๆ˜พ็คบๆ—ถ้‡่ฟž,ๅ‡ๅฐ‘ๆœๅŠกๅ™จ่ดŸ่ฝฝ | +| **ๅฏๆ›ฟๆข็š„ fetch ๅฎž็Žฐ** | ๆ”ฏๆŒๆณจๅ…ฅ่‡ชๅฎšไน‰ fetch ๅ‡ฝๆ•ฐ | +| **TypeScript ๅŽŸ็”Ÿๆ”ฏๆŒ** | ๅฎŒๆ•ด็š„็ฑปๅž‹ๅฎšไน‰ | + +### ้€‚็”จๅœบๆ™ฏ + +| ๅœบๆ™ฏ | ่ฏดๆ˜Ž | +|------|------| +| **ๅฎžๆ—ถๆ•ฐๆฎๆŽจ้€** | ่‚ก็ฅจ่กŒๆƒ…ใ€ๅฎžๆ—ถๆ–ฐ้—ปใ€ๅณๆ—ถๆถˆๆฏ | +| **่ฟ›ๅบฆๆ›ดๆ–ฐ** | ้•ฟๆ—ถ้—ด่ฟ่กŒไปปๅŠก็š„่ฟ›ๅบฆ่ฟฝ่ธช | +| **ๆ—ฅๅฟ—ๆต** | ๅฎžๆ—ถๆ—ฅๅฟ—ๆŸฅ็œ‹ๅ’Œ็›‘ๆŽง | +| **ๅไฝœๅบ”็”จ** | ๅคšไบบๅไฝœๆ—ถ็š„ๅฎžๆ—ถ็Šถๆ€ๅŒๆญฅ | +| **AI ๅบ”็”จ** | ๅคง่ฏญ่จ€ๆจกๅž‹็š„ๆตๅผๅ“ๅบ”่พ“ๅ‡บ | + +### ๅ…ธๅž‹ไฝฟ็”จ Case + +#### Case 1: ๅŸบ็ก€ SSE ่ฟžๆŽฅ + +```typescript +import { fetchEventSource } from '@microsoft/fetch-event-source'; + +await fetchEventSource('/api/sse', { + onmessage(ev) { + console.log(ev.data); + } +}); +``` + +#### Case 2: ๅธฆ่ฎค่ฏๅ’Œ่‡ชๅฎšไน‰่ฏทๆฑ‚ + +```typescript +const ctrl = new AbortController(); +fetchEventSource('/api/sse', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + 'Authorization': 'Bearer token123' + }, + body: JSON.stringify({ query: 'data' }), + signal: ctrl.signal, + onmessage(msg) { + // ๅค„็†ๆถˆๆฏ + } +}); +``` + +#### Case 3: ่‡ชๅฎšไน‰้”™่ฏฏๅค„็†ๅ’Œ้‡่ฏ• + +```typescript +class RetriableError extends Error { } +class FatalError extends Error { } + +fetchEventSource('/api/sse', { + async onopen(response) { + if (response.ok && response.headers.get('content-type') === 'text/event-stream') { + return; + } else if (response.status >= 400 && response.status < 500 && response.status !== 429) { + throw new FatalError(); + } else { + throw new RetriableError(); + } + }, + onerror(err) { + if (err instanceof FatalError) { + throw err; // ๅœๆญขๆ“ไฝœ + } + // ่ฟ”ๅ›ž้‡่ฏ•้—ด้š”(ๆฏซ็ง’),undefined ไฝฟ็”จ้ป˜่ฎค 1 ็ง’ + return 2000; + } +}); +``` + +### ๆŠ€ๆœฏๆ ˆๅˆ†ๆž + +| ๆŠ€ๆœฏ | ็‰ˆๆœฌ | ็”จ้€” | +|------|------|------| +| TypeScript | ^4.2.4 | ๅผ€ๅ‘่ฏญ่จ€ | +| Jasmine | ^4.3.1 | ๆต‹่ฏ•ๆก†ๆžถ | +| ES2017 | - | ็›ฎๆ ‡ ECMAScript ็‰ˆๆœฌ | + +#### ้€‰ๅž‹ๅ†ณ็ญ–ๅˆ†ๆž + +**1ใ€ไธบไป€ไนˆ้€‰ๆ‹ฉ TypeScript?** + +* **็ฑปๅž‹ๅฎ‰ๅ…จ**: ไธบ API ๆไพ›ๅฎŒๆ•ด็š„็ฑปๅž‹ๅฎšไน‰,ๆๅ‡ๅผ€ๅ‘ไฝ“้ชŒ +* **็”Ÿๆ€ๅ‹ๅฅฝ**: TypeScript ๅœจๅ‰็ซฏ็”Ÿๆ€ไธญๅทฒๆˆไธบไธปๆต +* **็ปดๆŠคๆ€ง**: ็ฑปๅž‹็ณป็ปŸๆœ‰ๅŠฉไบŽ้•ฟๆœŸ็ปดๆŠคๅ’Œ้‡ๆž„ + +**2ใ€ไธบไป€ไนˆๅŸบไบŽ Fetch API ่€Œ้ž XMLHttpRequest?** + +* **็Žฐไปฃๆ ‡ๅ‡†**: Fetch API ๆ˜ฏ็Žฐไปฃๆต่งˆๅ™จ็š„ๆ ‡ๅ‡† API +* **Promise ๆ”ฏๆŒ**: ๆ›ดไผ˜้›…็š„ๅผ‚ๆญฅๅค„็†ๆ–นๅผ +* **ๅฏๆ‰ฉๅฑ•ๆ€ง**: Request/Response ๅฏน่ฑก่ฎพ่ฎกๆ›ด็ตๆดป +* **ๆตๅผๅค„็†**: ๅŽŸ็”Ÿๆ”ฏๆŒ ReadableStream + +**3ใ€ไธบไป€ไนˆไธ็›ดๆŽฅไฝฟ็”จ WebSocket?** + +* **SSE ๅ…ผๅฎนๆ€ง**: ็Žฐๆœ‰ SSE ๆœๅŠกๅ™จๆ— ้œ€ไฟฎๆ”นๅณๅฏไฝฟ็”จ +* **ๅ•ๅ‘้€šไฟก**: ๅฏนไบŽไป…้œ€ๆœๅŠกๅ™จๆŽจ้€็š„ๅœบๆ™ฏ,SSE ๆ›ด่ฝป้‡ +* **HTTP ๅ‹ๅฅฝ**: ไฝฟ็”จๆ ‡ๅ‡† HTTP,ๆ›ดๅฎนๆ˜“้€š่ฟ‡้˜ฒ็ซๅข™ๅ’Œไปฃ็† +* **่‡ชๅŠจ้‡่ฟž**: SSE ๆœฌ่บซๅฐฑๆœ‰้‡่ฟžๆœบๅˆถ,ๆญคๅบ“่ฟ›ไธ€ๆญฅๅขžๅผบ + +### ้กน็›ฎ็ป“ๆž„ๅˆ่งˆ + +```shell +src/ +โ”œโ”€โ”€ fetch.ts # ๆ ธๅฟƒๅฎž็Žฐ: fetchEventSource ๅ‡ฝๆ•ฐ +โ”œโ”€โ”€ parse.ts # ่งฃๆžๅ™จ: SSE ๆ ผๅผ่งฃๆž +โ”œโ”€โ”€ index.ts # ๅ…ฅๅฃ: ๅฏผๅ‡บๅ…ฌๅ…ฑ API +โ””โ”€โ”€ parse.spec.ts # ๆต‹่ฏ•: ่งฃๆžๅ™จๅ•ๅ…ƒๆต‹่ฏ• +``` + +ๅฎŒๆ•ด็›ฎๅฝ•ๆ ‘๏ผš + +```shell +fetch-event-source/ +โ”œโ”€โ”€ .github/ # GitHub ้…็ฝฎ็›ฎๅฝ• +โ”‚ โ””โ”€โ”€ workflows/ # GitHub Actions ๅทฅไฝœๆต +โ”‚ โ””โ”€โ”€ node.js.yml # Node.js CI ้…็ฝฎ +โ”œโ”€โ”€ src/ # ๆบไปฃ็ ไธป็›ฎๅฝ• +โ”‚ โ”œโ”€โ”€ fetch.ts # fetchEventSource ไธปๅฎž็Žฐ - ่ฟžๆŽฅ็ฎก็†ใ€้‡่ฏ•ใ€้กต้ขๅฏ่งๆ€ง +โ”‚ โ”œโ”€โ”€ index.ts # ๆจกๅ—ๅ…ฅๅฃๆ–‡ไปถ - ็ปŸไธ€ๅฏผๅ‡บๅ…ฌๅ…ฑ API +โ”‚ โ”œโ”€โ”€ parse.spec.ts # ่งฃๆžๅ™จๅ•ๅ…ƒๆต‹่ฏ• +โ”‚ โ””โ”€โ”€ parse.ts # ไบ‹ไปถๆต่งฃๆžๅ™จ - SSE ๆ ผๅผ่งฃๆžๆตๆฐด็บฟ +โ”œโ”€โ”€ .gitignore # Git ๅฟฝ็•ฅๆ–‡ไปถ +โ”œโ”€โ”€ .npmignore # NPM ๅ‘ๅธƒๅฟฝ็•ฅๆ–‡ไปถ +โ”œโ”€โ”€ .nycrc # ๆต‹่ฏ•่ฆ†็›–็އ้…็ฝฎ +โ”œโ”€โ”€ CHANGELOG.md # ๅ˜ๆ›ดๆ—ฅๅฟ— +โ”œโ”€โ”€ CODE_OF_CONDUCT.md # ่กŒไธบๅ‡†ๅˆ™ +โ”œโ”€โ”€ CONTRIBUTING.md # ่ดก็ŒฎๆŒ‡ๅ— +โ”œโ”€โ”€ LICENSE # MIT ่ฎธๅฏ่ฏ +โ”œโ”€โ”€ README.md # ้กน็›ฎ่ฏดๆ˜Žๆ–‡ๆกฃ(่‹ฑๆ–‡) +โ”œโ”€โ”€ SECURITY.md # ๅฎ‰ๅ…จๆ”ฟ็ญ– +โ”œโ”€โ”€ jasmine.json # Jasmine ๆต‹่ฏ•ๆก†ๆžถ้…็ฝฎ +โ”œโ”€โ”€ package-lock.json # NPM ไพ่ต–้”ๅฎšๆ–‡ไปถ +โ”œโ”€โ”€ package.json # NPM ้กน็›ฎ้…็ฝฎ - dual-package (CJS+ESM) +โ”œโ”€โ”€ tsconfig.esm.json # TypeScript ESM ๆž„ๅปบ้…็ฝฎ +โ””โ”€โ”€ tsconfig.json # TypeScript ไธป้…็ฝฎ - strict ๆจกๅผ +``` + +#### ๆ ธๅฟƒๆจกๅ—่Œ่ดฃ + +| ๆจกๅ— | ่Œ่ดฃ | +|------|------| +| `fetch.ts` | ไธป API ๅฎž็Žฐ,่ฟžๆŽฅ็ฎก็†ใ€้‡่ฏ•้€ป่พ‘ใ€้กต้ขๅฏ่งๆ€งๅค„็† | +| `parse.ts` | SSE ๅ่ฎฎ่งฃๆž,ๅญ—่Š‚ๆต โ†’ ่กŒ โ†’ ๆถˆๆฏ็š„่ฝฌๆข | +| `index.ts` | ๆจกๅ—ๅ…ฅๅฃ,็ปŸไธ€ๅฏผๅ‡บ | + +### ไพ่ต–ๅ…ณ็ณป + +#### ๅค–้ƒจไพ่ต– + +* **ๆ— ่ฟ่กŒๆ—ถไพ่ต–**: ่ฟ™ๆ˜ฏไธ€ไธช้›ถไพ่ต–็š„่ฝป้‡็บงๅบ“ +* ไป…ๅผ€ๅ‘ไพ่ต–: `TypeScript`ใ€`Jasmine`ใ€`rimraf`ใ€`source-map-support` + +#### ๅ†…้ƒจไพ่ต– + +```shell +index.ts โ†’ fetch.ts โ†’ parse.ts + โ†˜ + parse.ts (็›ดๆŽฅๅฏผๅ‡บ็ฑปๅž‹) +``` + +### ๆž„ๅปบ่พ“ๅ‡บ + +* **CJS**: CommonJS ๆ ผๅผ (`lib/cjs/index.js`) +* **ESM**: ES Module ๆ ผๅผ (`lib/esm/index.js`) +* **็ฑปๅž‹**: TypeScript ็ฑปๅž‹ๅฎšไน‰ (`lib/cjs/index.d.ts`) + +ๆ”ฏๆŒ dual-package ๅ‘ๅธƒ,ๅŒๆ—ถๅ…ผๅฎน CommonJS ๅ’Œ ES Moduleใ€‚ + +## ็ฌฌไบŒ้ƒจๅˆ†: ๆžถๆž„่ฎพ่ฎก็ฏ‡ + +### ็ณป็ปŸๆ•ดไฝ“ๆžถๆž„ + +```markdown + โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” + โ”‚ fetchEventSource API โ”‚ + โ”‚ (ๅ…ฅๅฃ: src/index.ts) โ”‚ + โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ + โ”‚ + โ–ผ + โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” + โ”‚ ๆ ธๅฟƒๆŽงๅˆถๅ™จ (src/fetch.ts) โ”‚ + โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ + โ”‚ โ”‚ create() - ๅˆ›ๅปบ/้‡่ฏ•่ฟžๆŽฅ็š„ไธปๅพช็Žฏ โ”‚ โ”‚ + โ”‚ โ”‚ dispose() - ๆธ…็†่ต„ๆบ โ”‚ โ”‚ + โ”‚ โ”‚ onVisibilityChange() - ้กต้ขๅฏ่งๆ€งๅ˜ๅŒ–ๅค„็† โ”‚ โ”‚ + โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ + โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ + โ”‚ + โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” + โ”‚ โ”‚ โ”‚ + โ–ผ โ–ผ โ–ผ +โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” +โ”‚ ้กต้ขๅฏ่งๆ€ง็›‘ๅฌ โ”‚ โ”‚ Fetch ่ฏทๆฑ‚ๅค„็† โ”‚ โ”‚ ้‡่ฏ•็ญ–็•ฅๆŽงๅˆถ โ”‚ +โ”‚ - visibilitychange โ”‚ โ”‚ - ่‡ชๅฎšไน‰ๆ–นๆณ•/ๅคด้ƒจ/ไฝ“ โ”‚ โ”‚ - ๅฏ้…็ฝฎ้‡่ฏ•้—ด้š” โ”‚ +โ”‚ - ่‡ชๅŠจๆ–ญๅผ€/้‡่ฟž โ”‚ โ”‚ - Last-Event-ID ๅคด้ƒจ โ”‚ โ”‚ - ้”™่ฏฏๅˆ†็ฑปๅค„็† โ”‚ +โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ + โ”‚ โ”‚ โ”‚ + โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ + โ”‚ + โ–ผ + โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” + โ”‚ ไบ‹ไปถๆต่งฃๆžๅ™จ (src/parse.ts) โ”‚ + โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ + โ”‚ โ”‚ getBytes() - ่ฏปๅ–ๅญ—่Š‚ๆต โ”‚ โ”‚ + โ”‚ โ”‚ getLines() - ่งฃๆž่กŒ็ผ“ๅ†ฒ โ”‚ โ”‚ + โ”‚ โ”‚ getMessages() - ็ป„่ฃ…ๅฎŒๆ•ดๆถˆๆฏ โ”‚ โ”‚ + โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ + โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ + โ”‚ + โ–ผ + โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” + โ”‚ ็”จๆˆทๅ›ž่ฐƒๅ‡ฝๆ•ฐ โ”‚ + โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ + โ”‚ โ”‚ onopen โ”‚ โ”‚ onmessageโ”‚ โ”‚ onclose โ”‚ โ”‚ onerror โ”‚ โ”‚ + โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ + โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ +``` + +### ๆ ธๅฟƒๆจกๅ—่ฎพ่ฎก + +#### 1. fetch.ts - ไธปๆŽงๅˆถๅ™จๆจกๅ— + +**่Œ่ดฃ**: + +* ๆไพ› `fetchEventSource` ไธป API ๅ‡ฝๆ•ฐ +* ็ฎก็†่ฟžๆŽฅ็”Ÿๅ‘ฝๅ‘จๆœŸ +* ๅค„็†้‡่ฏ•้€ป่พ‘ +* ้›†ๆˆ้กต้ขๅฏ่งๆ€ง API +* ๅ่ฐƒ่ฏทๆฑ‚/ๅ“ๅบ”ๅค„็† + +**ๆ ธๅฟƒๆ•ฐๆฎ็ป“ๆž„**: + +```typescript +interface FetchEventSourceInit extends RequestInit { + headers?: Record; + onopen?: (response: Response) => Promise; + onmessage?: (ev: EventSourceMessage) => void; + onclose?: () => void; + onerror?: (err: any) => number | null | undefined | void; + openWhenHidden?: boolean; + fetch?: typeof fetch; +} +``` + +**ๅ…ณ้”ฎๅ‡ฝๆ•ฐๆต็จ‹**: + +```text + fetchEventSource() ๅ…ฅๅฃ + โ”‚ + โ–ผ +โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” +โ”‚ ๅˆๅง‹ๅŒ–้˜ถๆฎต: โ”‚ +โ”‚ 1. ๅคๅˆถๅนถ่ฎพ็ฝฎ้ป˜่ฎค่ฏทๆฑ‚ๅคด (Accept: text/event-stream) โ”‚ +โ”‚ 2. ่ฎพ็ฝฎ้กต้ขๅฏ่งๆ€ง็›‘ๅฌๅ™จ (ๅฆ‚ๆžœ openWhenHidden=false) โ”‚ +โ”‚ 3. ๅˆๅง‹ๅŒ–้‡่ฏ•้—ด้š” (้ป˜่ฎค 1000ms) โ”‚ +โ”‚ 4. ็›‘ๅฌ่พ“ๅ…ฅ AbortSignal โ”‚ +โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ + โ”‚ + โ–ผ + โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” + โ”‚ create() ๅ‡ฝๆ•ฐ โ”‚ โ†โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” + โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ + โ”‚ โ”‚ + โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” + โ”‚ โ”‚ โ”‚ + โ–ผ โ–ผ โ–ผ +โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” +โ”‚ ๅ‘่ตท่ฏทๆฑ‚ โ”‚ โ”‚ ้ชŒ่ฏๅ“ๅบ” โ”‚ โ”‚ ่งฃๆžไบ‹ไปถๆต โ”‚ +โ”‚ fetch() โ”‚ โ”‚ onopen() โ”‚ โ”‚ getBytes() โ”‚ +โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ + โ”‚ โ”‚ โ”‚ + โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ + โ”‚ + โ–ผ + โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” + โ”‚ ๆˆๅŠŸ/้”™่ฏฏๅค„็† โ”‚ + โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ + โ”‚ + โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” + โ”‚ โ”‚ + โ–ผ โ–ผ + ๆญฃๅธธๅฎŒๆˆ ๅผ‚ๅธธๅค„็† + (resolve) (onerror ๅ†ณๅฎšๆ˜ฏๅฆ้‡่ฏ•) + โ”‚ + โ–ผ + ้œ€่ฆ้‡่ฏ•? โ”€โ”€ๆ˜ฏโ”€โ”€โ†’ ้‡่ฏ• create() + โ”‚ + ๅฆ + โ–ผ + ็ปˆๆญข (reject) +``` + +#### 2. parse.ts - ไบ‹ไปถๆต่งฃๆžๆจกๅ— + +**่Œ่ดฃ**: + +* ่งฃๆž SSE ๆ ผๅผ็š„ๅญ—่Š‚ๆต +* ๅค„็†ๅˆ†ๅ—ไผ ่พ“็ผ–็  +* ็ป„่ฃ…ๅฎŒๆ•ด็š„ EventSourceMessage ๅฏน่ฑก + +**่งฃๆžๆตๆฐด็บฟ**: + +```text + ReadableStream + โ”‚ + โ–ผ + โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” + โ”‚ getBytes() โ”‚ - ไปŽๆตไธญ่ฏปๅ–ๅญ—่Š‚ๅ— + โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ + โ”‚ + โ–ผ + โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” + โ”‚ getLines() โ”‚ - ่งฃๆž่กŒ็ผ“ๅ†ฒ,ๅค„็† \r, \n, \r\n + โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ - ่ฏ†ๅˆซๅญ—ๆฎตๅไฝ็ฝฎ (็ฌฌไธ€ไธชๅ†’ๅท) + โ”‚ + โ–ผ + โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” + โ”‚ getMessages() โ”‚ - ็ป„่ฃ…ๅฎŒๆ•ดๆถˆๆฏ + โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ - ๅค„็†ๅคšๅญ—ๆฎต: id, event, data, retry + โ”‚ - ็ฉบ่กŒ่งฆๅ‘ๆถˆๆฏๅ›ž่ฐƒ + โ–ผ + EventSourceMessage +``` + +**ๆ ธๅฟƒๆ•ฐๆฎ็ป“ๆž„**: + +```typescript +interface EventSourceMessage { + id: string; // ไบ‹ไปถ ID + event: string; // ไบ‹ไปถ็ฑปๅž‹ + data: string; // ไบ‹ไปถๆ•ฐๆฎ + retry?: number; // ้‡่ฏ•้—ด้š”(ๆฏซ็ง’) +} +``` + +**่กŒ่งฃๆž็Šถๆ€ๆœบ**: + +```text + โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” + โ”‚ getLines() ็Šถๆ€ๆœบ โ”‚ + โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ + + ๅˆๅง‹็Šถๆ€: buffer=undefined, position=0, fieldLength=-1 + + โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” + โ”‚ ๆ–ฐๅญ—่Š‚ๅ— โ”‚ + โ””โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”˜ + โ”‚ + โ”Œโ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” + โ”‚ buffer ๅญ˜ๅœจ? โ”‚ + โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค + โ”‚ ๅฆ โ”‚ ๆ˜ฏ โ”‚ + โ–ผ โ–ผ โ”‚ + buffer = arr buffer = concat(buffer, arr) โ”‚ + position = 0 โ”‚ + fieldLength = -1 โ”‚ + โ”‚ โ”‚ + โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ + โ”‚ + โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” + โ”‚ while position < bufLength: โ”‚ + โ”‚ โ”‚ + โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ + โ”‚ โ”‚ ๅค„็† discardTrailingNewline โ”‚ โ”‚ + โ”‚ โ”‚ (่ทณ่ฟ‡ๅ‰ไธ€ไธช \r ๅŽ้ข็š„ \n) โ”‚ โ”‚ + โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ + โ”‚ โ”‚ โ”‚ + โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ + โ”‚ โ”‚ ๆŸฅๆ‰พ่กŒๅฐพ (\r ๆˆ– \n) โ”‚ โ”‚ + โ”‚ โ”‚ ๅŒๆ—ถ่ฎฐๅฝ•็ฌฌไธ€ไธชๅ†’ๅทไฝ็ฝฎ (fieldLength)โ”‚ โ”‚ + โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ + โ”‚ โ”‚ โ”‚ + โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ + โ”‚ โ”‚ ๆ‰พๅˆฐ่กŒๅฐพ? โ”‚ โ”‚ + โ”‚ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค โ”‚ + โ”‚ โ”‚ ๅฆ โ”‚ ๆ˜ฏ โ”‚ โ”‚ + โ”‚ โ–ผ โ–ผ โ”‚ โ”‚ + โ”‚ break onLine(line, fieldLength)โ”‚ โ”‚ + โ”‚ (็ญ‰ๅพ…ไธ‹ไธ€ๅ—) lineStart = position โ”‚ โ”‚ + โ”‚ fieldLength = -1 โ”‚ โ”‚ + โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ + โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ + โ”‚ + โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” + โ”‚ ๅค„็†ๅ‰ฉไฝ™ buffer: โ”‚ + โ”‚ - ๅ…จ้ƒจๅค„็†ๅฎŒ: buffer = undefined โ”‚ + โ”‚ - ้ƒจๅˆ†ๅค„็†: buffer = subarray(lineStart)โ”‚ + โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ +``` + +### ๆ ธๅฟƒๆ•ฐๆฎๆต่ฝฌๆ—ถๅบ + +#### ๆญฃๅธธๆถˆๆฏๆŽฅๆ”ถๆต็จ‹ + +```mermaid +sequenceDiagram + participant U as ็”จๆˆทไปฃ็  + participant F as fetchEventSource + participant R as Response + participant B as getBytes + participant L as getLines + participant M as getMessages + participant C as ็”จๆˆทๅ›ž่ฐƒ + + U->>F: fetchEventSource(url, options) + F->>F: create() + F->>R: fetch(input, init) + R-->>F: Response + F->>C: onopen(response) + C-->>F: void + F->>B: getBytes(response.body, onChunk) + loop ๅญ—่Š‚ๆตๅพช็Žฏ + B->>B: reader.read() + B-->>L: onChunk(arr) + loop ่กŒ่งฃๆžๅพช็Žฏ + L-->>M: onLine(line, fieldLength) + alt ้ž็ฉบ่กŒ + M->>M: ่งฃๆžๅญ—ๆฎต (id/event/data/retry) + else ็ฉบ่กŒ + M-->>C: onmessage(msg) + M->>M: ๅˆ›ๅปบๆ–ฐๆถˆๆฏ + end + end + end + B-->>F: ๆตๅ…ณ้—ญ + F->>C: onclose() + F->>F: dispose() + F-->>U: resolve() +``` + +#### ้‡่ฏ•ๆต็จ‹ + +```mermaid +sequenceDiagram + participant U as ็”จๆˆทไปฃ็  + participant F as fetchEventSource + participant R as Response + participant C as ็”จๆˆทๅ›ž่ฐƒ + + U->>F: fetchEventSource(...) + F->>F: create() + F->>R: fetch(...) + + alt ่ฏทๆฑ‚ๅคฑ่ดฅ + R-->>F: Error + F->>C: onerror(err) + alt ้œ€่ฆ้‡่ฏ• + C-->>F: ่ฟ”ๅ›ž้‡่ฏ•้—ด้š” + F->>F: setTimeout(create, interval) + Note over F: ็ญ‰ๅพ…ๆŒ‡ๅฎšๆ—ถ้—ดๅŽ้‡่ฏ• + F->>F: create() + F->>R: fetch(..., Last-Event-ID: id) + else ่‡ดๅ‘ฝ้”™่ฏฏ + C-->>F: ๆŠ›ๅ‡บๅผ‚ๅธธ + F->>F: dispose() + F-->>U: reject(err) + end + else ๅ“ๅบ”ๆˆๅŠŸไฝ†่ฟžๆŽฅๆ–ญๅผ€ + R-->>F: Response + F->>C: onopen() + F->>F: ่งฃๆžไบ‹ไปถๆต... + F->>C: onclose() + F->>C: onerror(undefined) + alt ้œ€่ฆ้‡่ฏ• + C-->>F: ่ฟ”ๅ›ž้‡่ฏ•้—ด้š” + F->>F: setTimeout(create, interval) + else ๅœๆญข + C-->>F: ๆŠ›ๅ‡บๅผ‚ๅธธ + F->>F: dispose() + F-->>U: reject() + end + end +``` + +#### ้กต้ขๅฏ่งๆ€งๅ˜ๅŒ–ๆต็จ‹ + +```mermaid +sequenceDiagram + participant D as Document + participant F as fetchEventSource + participant R as Request + + Note over F: openWhenHidden = false (้ป˜่ฎค) + F->>D: addEventListener('visibilitychange') + + D->>F: visibilitychange (hidden) + F->>F: curRequestController.abort() + F->>R: ๅ–ๆถˆ่ฏทๆฑ‚ + + D->>F: visibilitychange (visible) + F->>F: create() + F->>R: fetch(..., Last-Event-ID: id) +``` + +### ๆŽฅๅฃๅฅ‘็บฆๅฎšไน‰ + +#### ๅ…ฌๅ…ฑ API + +```typescript +/** + * ๅ‘่ตทไธ€ไธช Server-Sent Events (SSE) ่ฏทๆฑ‚ + * @param input ่ฏทๆฑ‚ URL ๆˆ– Request ๅฏน่ฑก + * @param init ้…็ฝฎ้€‰้กน + * @returns Promise,ๅœจ่ฟžๆŽฅๆญฃๅธธๅ…ณ้—ญๆ—ถ resolve,ๅ‡บ้”™ๆ—ถ reject + */ +export function fetchEventSource( + input: RequestInfo, + init: FetchEventSourceInit +): Promise; + +/** + * SSE ๅ“ๅบ”็š„ Content-Type + */ +export const EventStreamContentType = 'text/event-stream'; + +/** + * ้…็ฝฎ้€‰้กนๆŽฅๅฃ,็ปงๆ‰ฟ่‡ช RequestInit + */ +export interface FetchEventSourceInit extends RequestInit { + /** + * ่ฏทๆฑ‚ๅคด,ไป…ๆ”ฏๆŒ Record ๆ ผๅผ + */ + headers?: Record; + + /** + * ๆ”ถๅˆฐๅ“ๅบ”ๆ—ถ่ฐƒ็”จ,็”จไบŽ้ชŒ่ฏๅ“ๅบ”ๆ˜ฏๅฆ็ฌฆๅˆ้ข„ๆœŸ + * ๅฆ‚ๆžœๆœชๆไพ›,้ป˜่ฎค้ชŒ่ฏ content-type ไธบ text/event-stream + * @throws ๅฆ‚ๆžœๅ“ๅบ”ไธ็ฌฆๅˆ้ข„ๆœŸ,ๆŠ›ๅ‡บๅผ‚ๅธธ + */ + onopen?: (response: Response) => Promise; + + /** + * ๆ”ถๅˆฐๆถˆๆฏๆ—ถ่ฐƒ็”จ + * ๆณจๆ„:ไธŽ้ป˜่ฎค EventSource.onmessage ไธๅŒ,ๆญคๅ›ž่ฐƒไผš่ขซๆ‰€ๆœ‰ไบ‹ไปถ่ฐƒ็”จ, + * ๅŒ…ๆ‹ฌๅธฆๆœ‰่‡ชๅฎšไน‰ event ๅญ—ๆฎต็š„ไบ‹ไปถ + */ + onmessage?: (ev: EventSourceMessage) => void; + + /** + * ๅ“ๅบ”็ป“ๆŸๆ—ถ่ฐƒ็”จ + * ๅฆ‚ๆžœไธๆœŸๆœ›ๆœๅŠกๅ™จๅ…ณ้—ญ่ฟžๆŽฅ,ๅฏไปฅๅœจ่ฟ™้‡ŒๆŠ›ๅ‡บๅผ‚ๅธธๅนถ้€š่ฟ‡ onerror ้‡่ฏ• + */ + onclose?: () => void; + + /** + * ๅ‘็”Ÿไปปไฝ•้”™่ฏฏๆ—ถ่ฐƒ็”จ(่ฏทๆฑ‚/ๅค„็†ๆถˆๆฏ/ๅ›ž่ฐƒ็ญ‰) + * ็”จไบŽๆŽงๅˆถ้‡่ฏ•็ญ–็•ฅ: + * - ๅฆ‚ๆžœ้”™่ฏฏๆ˜ฏ่‡ดๅ‘ฝ็š„,ๅœจๅ›ž่ฐƒๅ†…้‡ๆ–ฐๆŠ›ๅ‡บ้”™่ฏฏไปฅๅœๆญขๆ•ดไธชๆ“ไฝœ + * - ๅฆๅˆ™,ๅฏไปฅ่ฟ”ๅ›žไธ€ไธช้—ด้š”(ๆฏซ็ง’),่ฏทๆฑ‚ๅฐ†ๅœจ่ฏฅ้—ด้š”ๅŽ่‡ชๅŠจ้‡่ฏ• + * - ๅฆ‚ๆžœๆœชๆŒ‡ๅฎšๆญคๅ›ž่ฐƒๆˆ–่ฟ”ๅ›ž undefined,ๆ‰€ๆœ‰้”™่ฏฏ้ƒฝ่ขซ่ง†ไธบๅฏ้‡่ฏ•,1็ง’ๅŽ้‡่ฏ• + */ + onerror?: (err: any) => number | null | undefined | void; + + /** + * ๅฆ‚ๆžœไธบ true,ๅณไฝฟๆ–‡ๆกฃ้š่—ไนŸไฟๆŒ่ฏทๆฑ‚ๆ‰“ๅผ€ + * ้ป˜่ฎคๆƒ…ๅ†ตไธ‹,fetchEventSource ไผšๅœจๆ–‡ๆกฃ้š่—ๆ—ถๅ…ณ้—ญ่ฏทๆฑ‚, + * ๅนถๅœจๆ–‡ๆกฃๅ†ๆฌกๅฏ่งๆ—ถ่‡ชๅŠจ้‡ๆ–ฐๆ‰“ๅผ€ + */ + openWhenHidden?: boolean; + + /** + * ไฝฟ็”จ็š„ Fetch ๅ‡ฝๆ•ฐ,้ป˜่ฎคไธบ window.fetch + */ + fetch?: typeof fetch; +} + +/** + * ่กจ็คบไบ‹ไปถๆตไธญ็š„ไธ€ๆกๆถˆๆฏ + * https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events#Event_stream_format + */ +export interface EventSourceMessage { + /** ่ฆ่ฎพ็ฝฎๅˆฐ EventSource ๅฏน่ฑก็š„ๆœ€ๅŽไบ‹ไปถ ID ๅ€ผ็š„ไบ‹ไปถ ID */ + id: string; + /** ๆ ‡่ฏ†ๆ‰€ๆ่ฟฐไบ‹ไปถ็ฑปๅž‹็š„ๅญ—็ฌฆไธฒ */ + event: string; + /** ไบ‹ไปถๆ•ฐๆฎ */ + data: string; + /** ้‡่ฏ•่ฟžๆŽฅๅ‰็ญ‰ๅพ…็š„้‡่ฟž้—ด้š”(ๆฏซ็ง’) */ + retry?: number; +} +``` + +#### ๅ†…้ƒจ่งฃๆž API + +```typescript +/** + * ๅฐ† ReadableStream ่ฝฌๆขไธบๅ›ž่ฐƒๆจกๅผ + * @param stream ่พ“ๅ…ฅ ReadableStream + * @param onChunk ๅฏนๆฏไธชๆ–ฐๅญ—่Š‚ๅ—่ฐƒ็”จ็š„ๅ‡ฝๆ•ฐ + * @returns Promise,ๅœจๆตๅ…ณ้—ญๆ—ถ resolve + */ +export async function getBytes( + stream: ReadableStream, + onChunk: (arr: Uint8Array) => void +): Promise; + +/** + * ่งฃๆžไปปๆ„ๅญ—่Š‚ๅ—ไธบ EventSource ่กŒ็ผ“ๅ†ฒ + * ๆฏ่กŒๆ ผๅผๅบ”ไธบ "field: value",ไปฅ \rใ€\n ๆˆ– \r\n ็ป“ๅฐพ + * @param onLine ๅฏนๆฏไธชๆ–ฐ EventSource ่กŒ่ฐƒ็”จ็š„ๅ‡ฝๆ•ฐ + * @returns ๅบ”่ฏฅๅฏนๆฏไธช่พ“ๅ…ฅๅญ—่Š‚ๅ—่ฐƒ็”จ็š„ๅ‡ฝๆ•ฐ + */ +export function getLines( + onLine: (line: Uint8Array, fieldLength: number) => void +): (arr: Uint8Array) => void; + +/** + * ่งฃๆž่กŒ็ผ“ๅ†ฒไธบ EventSourceMessages + * @param onId ๅฏนๆฏไธช id ๅญ—ๆฎต่ฐƒ็”จ็š„ๅ‡ฝๆ•ฐ + * @param onRetry ๅฏนๆฏไธช retry ๅญ—ๆฎต่ฐƒ็”จ็š„ๅ‡ฝๆ•ฐ + * @param onMessage ๅฏนๆฏๆกๆถˆๆฏ่ฐƒ็”จ็š„ๅ‡ฝๆ•ฐ + * @returns ๅบ”่ฏฅๅฏนๆฏไธช่พ“ๅ…ฅ่กŒ็ผ“ๅ†ฒ่ฐƒ็”จ็š„ๅ‡ฝๆ•ฐ + */ +export function getMessages( + onId: (id: string) => void, + onRetry: (retry: number) => void, + onMessage?: (msg: EventSourceMessage) => void +): (line: Uint8Array, fieldLength: number) => void; +``` diff --git "a/40.\345\205\263\344\272\216/01.\345\205\263\344\272\216\346\210\221.html" "b/40.\345\205\263\344\272\216/01.\345\205\263\344\272\216\346\210\221.html" index ad1758d3..550bb77d 100644 --- "a/40.\345\205\263\344\272\216/01.\345\205\263\344\272\216\346\210\221.html" +++ "b/40.\345\205\263\344\272\216/01.\345\205\263\344\272\216\346\210\221.html" @@ -8,10 +8,10 @@ - - - - + + + + @@ -104,7 +104,7 @@
ๆ–นๆณ•่ฎบ
-
+
ๅผ€ๆบๆดžๅฏŸ
- - - - + + + + @@ -104,7 +104,7 @@
ๆ–นๆณ•่ฎบ
-
+
ๅผ€ๆบๆดžๅฏŸ
- - - - + + + + @@ -104,7 +104,7 @@
ๆ–นๆณ•่ฎบ
-
+
ๅผ€ๆบๆดžๅฏŸ
- - - - + + + + @@ -104,7 +104,7 @@
ๆ–นๆณ•่ฎบ
-
+
ๅผ€ๆบๆดžๅฏŸ
- - + + diff --git a/@pages/categoriesPage.html b/@pages/categoriesPage.html index f4ce26a0..46b7413a 100644 --- a/@pages/categoriesPage.html +++ b/@pages/categoriesPage.html @@ -8,10 +8,10 @@ - - - - + + + + @@ -104,7 +104,7 @@
ๆ–นๆณ•่ฎบ
-
+
ๅผ€ๆบๆดžๅฏŸ
- - - - + + + + @@ -104,7 +104,7 @@
ๆ–นๆณ•่ฎบ
-
+
ๅผ€ๆบๆดžๅฏŸ
(a(),r("div",null,[e[0]||(e[0]=t("div",{style:{display:"none"},hidden:"true","aria-hidden":"true"},"Are you an LLM? You can read better optimized documentation at /01.ๅ…จๆ ˆ/00.overview.md for this page in Markdown format",-1)),e[1]||(e[1]=t("h1",{id:"ๅ…จๆ™ฏไธ€่งˆ",tabindex:"-1"},[l("ๅ…จๆ™ฏไธ€่งˆ "),t("a",{class:"header-anchor",href:"#ๅ…จๆ™ฏไธ€่งˆ","aria-label":"Permalink to โ€œๅ…จๆ™ฏไธ€่งˆโ€"},"โ€‹")],-1)),c(i,{categories:o(s)},null,8,["categories"])]))}});export{S as __pageData,f as default}; +import{A as i}from"./chunks/ArticleCardList.DFlNODKA.js";import{g as r,h as a,i as t,z as c,S as l,l as o}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const s=[{id:"ai-native",title:"AI Native ๅทฅ็จ‹ๆ€็ปด",icon:"๐Ÿค–",color:"#a855f7",articles:[{title:"ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€",url:"/fullstack/ai-native",description:"ๅœจ AI ้‡ๅก‘่ฝฏไปถๅทฅ็จ‹็š„ไปŠๅคฉ๏ผŒๅ…จๆ ˆไธๅ†ๆ˜ฏๆŠ€ๆœฏ็š„็บฟๆ€งๅ ๅŠ ๏ผŒๆญฃๅœจไปŽโ€œๆŠ€ๆœฏๆ ˆๅ †็ Œโ€่ฝฌๅ‘โ€œ่ฎค็Ÿฅๆ ˆ้‡ๆž„โ€ใ€‚ๆœฌๆ–‡ๆๅ‡บ โ€œ(ๅทฅ็จ‹ + ไบงๅ“) ร— AIโ€ ็š„ๆ–ฐๅ…ฌๅผ๏ผŒๅŠฉๅŠ›ๅผ€ๅ‘่€…ๆž„ๅปบโ€œๆดžๅฏŸ-ๆžถๆž„-ๆ ๆ†โ€่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”๏ผŒๅˆฉ็”จ AI ๆ ๆ†่ฎฉ่‡ชๅทฑ่ฟ›ๅŒ–ไธบไปทๅ€ผๅˆ›้€ ่€…ใ€‚"},{title:"้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—",url:"/fullstack/ai-engineer-capability",description:""},{title:"่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘",url:"/fullstack/ai-change-work-workflow",description:"ๆœฌๆ–‡ๆทฑๅบฆ่งฃ่ฏปไบ† Anthropic ๅ‘ๅธƒ็š„้‡Œ็จ‹็ข‘ๆŠฅๅ‘Šใ€ŠAI ๅฆ‚ไฝ•ๆ”นๅ˜ Anthropic ็š„ๅทฅไฝœๆ–นๅผใ€‹ใ€‚ๆˆ‘ไปฌๆญฃๅค„ไบŽ่ฝฏไปถๅทฅ็จ‹ๅฒไธŠ็š„ๅˆไธ€ๆฌกโ€œๆŠฝ่ฑกๅฑ‚ๅคง่ฟๅพ™โ€โ€”โ€”ๅฝ“็ผ–็ ๆˆๆœฌ่ถ‹ไบŽ้›ถ๏ผŒ็œŸๆญฃ็š„ๆŒ‘ๆˆ˜ไธๅ†ๆ˜ฏโ€œๅฟซโ€๏ผŒ่€Œๆ˜ฏๅฆ‚ไฝ•ๅฏนๆŠ—โ€œๅนณๅบธๅŒ–โ€ไธŽโ€œ้šๆœบๆ€งโ€ใ€‚"}]},{id:"ai-coding-guides",title:"AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—",icon:"โœจ",color:"#c084fc",articles:[{title:"AI ็ผ–็จ‹ๅทฅๅ…ทๆŽจ่",url:"/ai-learning/ai-coding-resources",description:"ๆœฌๆ–‡็ณป็ปŸๆขณ็† AI ้ฉฑๅŠจ็ผ–็จ‹็š„ไธ‰ๅคงๆผ”่ฟ›่Œƒๅผ๏ผšVibe Coding๏ผˆ่‡ช็„ถ่ฏญ่จ€้›ถ้—จๆง›ๆž„ๅปบ๏ผ‰ใ€AI IDE๏ผˆ็ผ–่พ‘ๅ™จๆทฑๅบฆ่พ…ๅŠฉๆๆ•ˆ๏ผ‰ๅŠ Agentic Engineering๏ผˆ่‡ชไธปๅทฅ็จ‹ๅธˆๆ‰ง่กŒไปปๅŠก๏ผ‰ใ€‚ๅนถๆŽจไบ†ๅฏนๅบ”็š„ไธปๆต AI ็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบใ€‚"}]},{id:"frontend-engineering",title:"ๅ‰็ซฏๅทฅ็จ‹",icon:"๐ŸŽจ",color:"#f59e0b",articles:[{title:"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—",url:"/fullstack/react-design-philosophy-ai-augmented",description:"ๅฝ“ AI ๆ‰ฟๆŽฅไบ† 30% ็š„็ผ–็ ๆ‰ง่กŒๆ—ถ๏ผŒๅผ€ๅ‘่€…้œ€้€š่ฟ‡โ€œ่ง„ๆ ผ้ฉฑๅŠจ๏ผˆSDD๏ผ‰โ€้‡ๅคบ 70% ็š„่ฎพ่ฎกไธปๆƒ๏ผšไปŽ่‡ชๆฒป็ป„ไปถๅˆ’ๅˆ†ๅˆฐๅ•ๅ‘ๆ•ฐๆฎๆตๆ‹“ๆ‰‘็š„ๆทฑๅบฆๆŽจๆผ”ใ€‚"},{title:"ไธๆญขไบŽ Fetch๏ผšReact ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ",url:"/fullstack/server-state-management",description:"ๆœฌๆ–‡ๆทฑๅบฆๅฏนๆฏ” React ็”Ÿๆ€ไธญ SWR ไธŽ TanStack Query ไธคๅคงๆ–นๆกˆใ€‚ไปŽ stale-while-revalidate ๆœบๅˆถๅˆฐๅผ‚ๆญฅ็Šถๆ€ๆœบๆžถๆž„๏ผŒๆถต็›–ไพ่ต–ๆŸฅ่ฏขใ€ๆ•ฐๆฎ่ฝฌๆขๅŠๆžถๆž„็บงไน่ง‚ๆ›ดๆ–ฐๅฎžๆˆ˜ใ€‚ๆ—จๅœจๅธฎๅŠฉๅผ€ๅ‘่€…ๅœจๅคๆ‚ไธšๅŠกไธญๆž„ๅปบ็กฎๅฎšๆ€ง็š„ๆœๅŠก็ซฏ็Šถๆ€ๅŸบๅบงใ€‚"},{title:"ไปŽๅŽŸๅญๅŒ–ๅˆฐๅ˜ไฝ“้ฉฑๅŠจ๏ผš็Žฐไปฃ CSS ๅทฅ็จ‹ๅŒ–็š„ๆžถๆž„ๆผ”่ฟ›ไธŽๆททๅˆๅฎž่ทตๆŒ‡ๅ—",url:"/full-stack/css-engineering",description:"ๆœฌๆ–‡็ณป็ปŸๅ‰–ๆžไธปๆต CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆ็š„ๅบ•ๅฑ‚้€ป่พ‘๏ผŒๆๅ‡บโ€œๆ ทๅผ่ต„ไบง ROIโ€่ฏ„ไผฐๆจกๅž‹๏ผŒๅนถ้’ˆๅฏน Vue/React ็”Ÿๆ€็ป™ๅ‡บไบ†้ขๅ‘ AI ๆ—ถไปฃ็š„ไผไธš็บงๆททๅˆๆžถๆž„้€‰ๅž‹ๅปบ่ฎฎใ€‚"},{title:"JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—",url:"/fullstack/jamstack",description:"้ข„ๆธฒๆŸ“้™ๆ€้กต้ข + ๅŠจๆ€ API๏ผŒCDN ๅˆ†ๅ‘ๅ…จ็ƒ๏ผŒๆ›ฟไปฃไผ ็ปŸๅŠจๆ€็ฝ‘็ซ™็š„ๅผ€ๅ‘้ƒจ็ฝฒ่Œƒๅผใ€‚ ไปŽๆ ธๅฟƒๆฆ‚ๅฟตใ€ๅทฅๅ…ท้“พ้€‰ๅž‹๏ผˆNext.js/Vercel/Supabase/Contentful๏ผ‰ๅˆฐไปŽ 0 ๆญๅปบๅšๅฎข็š„ๅฎŒๆ•ดๅฎž่ทต๏ผŒ่ฆ†็›– JAMStack ้€‚็”จไธŽไธ้€‚็”จๅœบๆ™ฏ๏ผŒๅธฎๅŠฉๅˆคๆ–ญไฝ•ๆ—ถ้€‰็”จ่ฏฅๆžถๆž„ใ€‚"}]},{id:"fullstack-networking",title:"็ฝ‘็ปœไธŽ้€šไฟก",icon:"๐ŸŒ",color:"#0ea5e9",articles:[{title:"Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—",url:"/fullstack/networking-protocol-selection-guide",description:"ๆ–‡ๆœฌๆทฑๅ…ฅๅ‰–ๆžไผ ็ปŸ HTTPใ€ๆตๅผ HTTPใ€SSEใ€WebSocketใ€Webhooksใ€HTTP ่ฝฎ่ฏข็š„ๅŽŸ็†ไธŽ็‰นๆ€ง๏ผŒ็ป“ๅˆ AI ๅœบๆ™ฏๆไพ›ๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–็Ÿฉ้˜ต"},{title:"ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต",url:"/fullstack/networking/sse-practice",description:"ๆœฌๆ–‡่พจๆžๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ็š„ๆฆ‚ๅฟตไธŽๅฑ‚ๆฌกๅ…ณ็ณป๏ผŒ่ฏฆ่งฃๅฎขๆˆท็ซฏไธŽๆœๅŠก็ซฏๅฎž็Žฐๆ–นๆกˆ๏ผŒๆไพ›็”Ÿไบงๅฎž่ทตๅฎŒๆ•ดๆŒ‡ๅ—ใ€‚"},{title:"HTTP ่ฝฎ่ฏขไผ˜ๅŒ–ๆŒ‡ๅ—๏ผš้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–",url:"/fullstack/networking-polling-optimization",description:"้’ˆๅฏนไผ ็ปŸๅ›บๅฎš้ข‘็އ่ฝฎ่ฏข็š„ๆœๅŠกๅ™จ่ต„ๆบๆตช่ดน้—ฎ้ข˜๏ผŒ็ณป็ปŸๅˆ†ๆž้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏขไธค็งไผ˜ๅŒ–็ญ–็•ฅ็š„ๆ ธๅฟƒๅŽŸ็†ไธŽ่ฟ่กŒๆœบๅˆถ๏ผŒๆไพ› TypeScript/NestJS ๅฎžๆˆ˜ไปฃ็ ๏ผŒๅนถๆž„ๅปบๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–ๆ ‘ไธŽ้€‚็”จๅœบๆ™ฏ้€ŸๆŸฅใ€‚"}]},{id:"fullstack-basic",title:"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป",icon:"๐Ÿ“š",color:"#64748b",articles:[{title:"ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—",url:"/fullstack/occams-razor-software-design",description:"ๅœจ้œ€ๆฑ‚่พน็•Œๅ†…่ฟฝๆฑ‚ๆœ€ๅฐๅคๆ‚ๅบฆโ€”โ€”ไธๆ˜ฏๆ‹’็ปๅคๆ‚๏ผŒ่€Œๆ˜ฏไธไธปๅŠจๅˆถ้€ ๅคๆ‚ใ€‚ๆœฌๆ–‡ๆทฑๅ…ฅ่งฃๆžๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™ๅœจ็ผ–็จ‹ไธŽ่ฎพ่ฎกไธญ็š„ๅ…ญๅคงๅœบๆ™ฏ๏ผšๆ‹’็ป่ฟ‡ๅบฆ้ข„ๅˆคใ€็งป้™คๅ†—ไฝ™้€ป่พ‘ใ€ๅŒน้…ๆžถๆž„่ง„ๆจกใ€ๅ…‹ๅˆถไพ่ต–ๅผ•ๅ…ฅใ€ๅฐ่ฃ…ๆœ€ๅฐๆŽฅๅฃใ€ๅ…ˆๆŽ’ๆŸฅ็ฎ€ๅ•ๅŽŸๅ› ๏ผŒๅนถ็ป™ๅ‡บไธ‰ไธชๅ…ณ้”ฎ่พน็•Œใ€‚"},{title:"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—",url:"/fullstack/module-programming-practice-guide",description:"็ณป็ปŸๆขณ็† JavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›๏ผˆIIFEโ†’CJSโ†’ESM๏ผ‰ใ€TypeScript ็ฑปๅž‹ๅขžๅผบใ€ๅˆ†ๅฑ‚ๆžถๆž„ไธŽ DDD ๅฎž่ทตใ€‚ไปŽ ES Modules ๅˆฐๅคงๅž‹้กน็›ฎๅˆ†ๅฑ‚ๆžถๆž„ไธŽๅทฅ็จ‹ๅŒ–ๅฎž่ทต๏ผŒๆž„ๅปบๅ…จๆ ˆๆจกๅ—ๅŒ–็Ÿฅ่ฏ†ไฝ“็ณปใ€‚"},{title:"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—",url:"/fullstack/typescript-compilation-debugging-guide",description:"TypeScript ๅฎŒๅ–„็š„็ผ–่ฏ‘ไฝ“็ณปไธŽ่ฐƒ่ฏ•ๅทฅๅ…ท้“พ๏ผŒๆ˜ฏๆž„ๅปบ้ซ˜่ดจ้‡ๅบ”็”จ็š„ๅŸบ็Ÿณใ€‚ๆœฌๆ–‡ๆทฑๅ…ฅ่งฃๆž TypeScript ็ผ–่ฏ‘ๅทฅๅ…ท้“พไธŽ่ฐƒ่ฏ•ไฝ“็ณป๏ผŒๆถต็›– tsconfig.json ๆ ธๅฟƒ้…็ฝฎใ€Monorepo ้กน็›ฎ้…็ฝฎ๏ผˆextends/references๏ผ‰ใ€source map ่ฐƒ่ฏ•ใ€ESLint ไธŽ Jest ๅ•ๅ…ƒๆต‹่ฏ•็ญ‰ๅฎŒๆ•ดๅฎž่ทตใ€‚"},{title:"่Šไธ€่Š TypeScript ไธญ็š„ๆณ›ๅž‹",url:"/fullstack/typescript-generic-types",description:"ๆณ›ๅž‹ๅฐ†็ฑปๅž‹ไฝœไธบๅ‚ๆ•ฐ๏ผŒไฝฟไปฃ็ ๅœจๅคš็ง็ฑปๅž‹ไธŠๅฎ‰ๅ…จ่ฟ่กŒ๏ผŒๆ˜ฏ TypeScript ็ฑปๅž‹ๆŠฝ่ฑก็š„ๆ ธๅฟƒ็‰นๆ€งใ€‚"}]},{id:"fullstack-resources",title:"ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่",icon:"๐Ÿ”ง",color:"#0ea5e9",articles:[{title:"ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่",url:"/growth/full-stack-resources",description:"ๆœฌๆ–‡็ณป็ปŸๆขณ็†ไบ†็Žฐไปฃๅ…จๆ ˆๅผ€ๅ‘็š„ๅฎŒๆ•ดๆŠ€ๆœฏๅ›พ่ฐฑไธŽๆผ”่ฟ›่Œƒๅผ๏ผŒไธบๅผ€ๅ‘่€…ๆไพ›ไบ†ไธ€็ซ™ๅผ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—ใ€‚ๆ–‡็ซ ไปŽๅŸบ็Ÿณๅ‡บๅ‘๏ผŒ่ฆ†็›– Web ๆ ธๅฟƒ่ฏญ่จ€๏ผˆJS/TS๏ผ‰ ไธŽ ไธปๆต UI ๆก†ๆžถ๏ผˆReact/Vue/Svelte๏ผ‰๏ผŒๅนถๆŽจ่ไปฅ Tailwind CSS ๅ’Œ shadcn/ui ไธบไปฃ่กจ็š„็Žฐไปฃๆ ทๅผไธŽ็ป„ไปถๅŽŸ่ฏญใ€‚ๅœจๆ ธๅฟƒไธšๅŠก้€ป่พ‘ๅฑ‚๏ผŒๆทฑๅบฆๅฏนๆฏ”ไบ†่ฝป้‡ๅŒ–็Šถๆ€็ฎก็†ๆ–นๆกˆ๏ผˆ้ฆ–ๆŽจ Zustand/Jotai๏ผ‰๏ผŒๅนถ้‡็‚น่งฃๆžไบ†ๆ•ฐๆฎไบคไบ’็š„ไธ‰ๅคง็Žฐไปฃๆžถๆž„่Œƒๅผ๏ผšไปŽๅŸบ็ก€ Axios ๅˆฐ React Query ็Šถๆ€่ฐƒๅบฆ๏ผŒๅ†ๅˆฐ tRPC ๅ’Œ GraphQL ๅธฆๆฅ็š„ๅ…จๆ ˆ็ฑปๅž‹ๅฎ‰ๅ…จไธŽๅคš็ซฏ่šๅˆใ€‚ๅœจๅทฅ็จ‹ๅŒ–ไธŽๆœๅŠก็ซฏๆจกๅ—๏ผŒๆ–‡็ซ ๅ…จ้ขๆ‹ฅๆŠฑ Viteใ€Rsbuild ็ญ‰ๆž้€Ÿๆž„ๅปบๅทฅๅ…ท๏ผŒๅนถๅ‰–ๆžไบ† Next.js/Nuxt ๅŒๆž„ๅ…ƒๆก†ๆžถไธŽ NestJS ไผไธš็บง Node ๆœๅŠก็š„ๆœ€ไฝณ้€‚็”จๅœบๆ™ฏใ€‚ๆœ€ๅŽ๏ผŒ่พ…ไปฅ Vercel ็ญ‰็Žฐไปฃ่พน็ผ˜้ƒจ็ฝฒๅนณๅฐๅŠไธฐๅฏŒ็š„ๅผ€ๆบ็คพๅŒบๅญฆไน ่ต„ๆบใ€‚"}]}],S=JSON.parse('{"title":"ๅ…จๆ™ฏไธ€่งˆ","description":"ๆœฌ็ณปๅˆ—ๅ›ด็ป•็Žฐไปฃๅ…จๆ ˆๅผ€ๅ‘็š„่ƒฝๅŠ›ไฝ“็ณปๅฑ•ๅผ€๏ผŒไปŽ AI ๆ—ถไปฃ็š„ๅทฅ็จ‹ๆ€็ปดๅ‡บๅ‘๏ผŒ่ฆ†็›–ๅ‰็ซฏๅทฅ็จ‹๏ผˆReact/Vue/CSS๏ผ‰ใ€ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป๏ผˆTypeScript/JavaScript๏ผ‰ใ€ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่็ญ‰ๆ ธๅฟƒ้ข†ๅŸŸ๏ผŒๅธฎๅŠฉๆž„ๅปบไปŽ\\"่ฎค็Ÿฅๅฑ‚ โ†’ ๆŠ€ๆœฏ้ข†ๅŸŸ โ†’ ๅทฅ็จ‹่ƒฝๅŠ› โ†’ ๅŸบ็ก€่ฎพๆ–ฝ\\"็š„ๅฎŒๆ•ดๅ…จๆ ˆ็Ÿฅ่ฏ†ๅ›พ่ฐฑใ€‚","frontmatter":{"date":"2026-03-19T23:05:50.000Z","title":"ๅ…จๆ™ฏไธ€่งˆ","description":"ๆœฌ็ณปๅˆ—ๅ›ด็ป•็Žฐไปฃๅ…จๆ ˆๅผ€ๅ‘็š„่ƒฝๅŠ›ไฝ“็ณปๅฑ•ๅผ€๏ผŒไปŽ AI ๆ—ถไปฃ็š„ๅทฅ็จ‹ๆ€็ปดๅ‡บๅ‘๏ผŒ่ฆ†็›–ๅ‰็ซฏๅทฅ็จ‹๏ผˆReact/Vue/CSS๏ผ‰ใ€ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป๏ผˆTypeScript/JavaScript๏ผ‰ใ€ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่็ญ‰ๆ ธๅฟƒ้ข†ๅŸŸ๏ผŒๅธฎๅŠฉๆž„ๅปบไปŽ\\"่ฎค็Ÿฅๅฑ‚ โ†’ ๆŠ€ๆœฏ้ข†ๅŸŸ โ†’ ๅทฅ็จ‹่ƒฝๅŠ› โ†’ ๅŸบ็ก€่ฎพๆ–ฝ\\"็š„ๅฎŒๆ•ดๅ…จๆ ˆ็Ÿฅ่ฏ†ๅ›พ่ฐฑใ€‚","categories":["ๅ…จๆ ˆ"],"coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png","permalink":"/fullstack/overview"},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/00.overview.md","filePath":"01.ๅ…จๆ ˆ/00.overview.md"}'),n={name:"01.ๅ…จๆ ˆ/00.overview.md"},f=Object.assign(n,{setup(p){return(u,e)=>(a(),r("div",null,[e[0]||(e[0]=t("div",{style:{display:"none"},hidden:"true","aria-hidden":"true"},"Are you an LLM? You can read better optimized documentation at /01.ๅ…จๆ ˆ/00.overview.md for this page in Markdown format",-1)),e[1]||(e[1]=t("h1",{id:"ๅ…จๆ™ฏไธ€่งˆ",tabindex:"-1"},[l("ๅ…จๆ™ฏไธ€่งˆ "),t("a",{class:"header-anchor",href:"#ๅ…จๆ™ฏไธ€่งˆ","aria-label":"Permalink to โ€œๅ…จๆ™ฏไธ€่งˆโ€"},"โ€‹")],-1)),c(i,{categories:o(s)},null,8,["categories"])]))}});export{S as __pageData,f as default}; diff --git "a/assets/01.\345\205\250\346\240\210_00.overview.md.DTl63cj_.lean.js" "b/assets/01.\345\205\250\346\240\210_00.overview.md.DRHSs2EE.lean.js" similarity index 98% rename from "assets/01.\345\205\250\346\240\210_00.overview.md.DTl63cj_.lean.js" rename to "assets/01.\345\205\250\346\240\210_00.overview.md.DRHSs2EE.lean.js" index cd56dbee..9eebc91d 100644 --- "a/assets/01.\345\205\250\346\240\210_00.overview.md.DTl63cj_.lean.js" +++ "b/assets/01.\345\205\250\346\240\210_00.overview.md.DRHSs2EE.lean.js" @@ -1 +1 @@ -import{A as i}from"./chunks/ArticleCardList.CRH3I_GT.js";import{g as r,h as a,i as t,z as c,S as l,l as o}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const s=[{id:"ai-native",title:"AI Native ๅทฅ็จ‹ๆ€็ปด",icon:"๐Ÿค–",color:"#a855f7",articles:[{title:"ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€",url:"/fullstack/ai-native",description:"ๅœจ AI ้‡ๅก‘่ฝฏไปถๅทฅ็จ‹็š„ไปŠๅคฉ๏ผŒๅ…จๆ ˆไธๅ†ๆ˜ฏๆŠ€ๆœฏ็š„็บฟๆ€งๅ ๅŠ ๏ผŒๆญฃๅœจไปŽโ€œๆŠ€ๆœฏๆ ˆๅ †็ Œโ€่ฝฌๅ‘โ€œ่ฎค็Ÿฅๆ ˆ้‡ๆž„โ€ใ€‚ๆœฌๆ–‡ๆๅ‡บ โ€œ(ๅทฅ็จ‹ + ไบงๅ“) ร— AIโ€ ็š„ๆ–ฐๅ…ฌๅผ๏ผŒๅŠฉๅŠ›ๅผ€ๅ‘่€…ๆž„ๅปบโ€œๆดžๅฏŸ-ๆžถๆž„-ๆ ๆ†โ€่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”๏ผŒๅˆฉ็”จ AI ๆ ๆ†่ฎฉ่‡ชๅทฑ่ฟ›ๅŒ–ไธบไปทๅ€ผๅˆ›้€ ่€…ใ€‚"},{title:"้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—",url:"/fullstack/ai-engineer-capability",description:""},{title:"่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘",url:"/fullstack/ai-change-work-workflow",description:"ๆœฌๆ–‡ๆทฑๅบฆ่งฃ่ฏปไบ† Anthropic ๅ‘ๅธƒ็š„้‡Œ็จ‹็ข‘ๆŠฅๅ‘Šใ€ŠAI ๅฆ‚ไฝ•ๆ”นๅ˜ Anthropic ็š„ๅทฅไฝœๆ–นๅผใ€‹ใ€‚ๆˆ‘ไปฌๆญฃๅค„ไบŽ่ฝฏไปถๅทฅ็จ‹ๅฒไธŠ็š„ๅˆไธ€ๆฌกโ€œๆŠฝ่ฑกๅฑ‚ๅคง่ฟๅพ™โ€โ€”โ€”ๅฝ“็ผ–็ ๆˆๆœฌ่ถ‹ไบŽ้›ถ๏ผŒ็œŸๆญฃ็š„ๆŒ‘ๆˆ˜ไธๅ†ๆ˜ฏโ€œๅฟซโ€๏ผŒ่€Œๆ˜ฏๅฆ‚ไฝ•ๅฏนๆŠ—โ€œๅนณๅบธๅŒ–โ€ไธŽโ€œ้šๆœบๆ€งโ€ใ€‚"}]},{id:"ai-coding-guides",title:"AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—",icon:"โœจ",color:"#c084fc",articles:[{title:"AI ็ผ–็จ‹ๅทฅๅ…ทๆŽจ่",url:"/ai-learning/ai-coding-resources",description:"ๆœฌๆ–‡็ณป็ปŸๆขณ็† AI ้ฉฑๅŠจ็ผ–็จ‹็š„ไธ‰ๅคงๆผ”่ฟ›่Œƒๅผ๏ผšVibe Coding๏ผˆ่‡ช็„ถ่ฏญ่จ€้›ถ้—จๆง›ๆž„ๅปบ๏ผ‰ใ€AI IDE๏ผˆ็ผ–่พ‘ๅ™จๆทฑๅบฆ่พ…ๅŠฉๆๆ•ˆ๏ผ‰ๅŠ Agentic Engineering๏ผˆ่‡ชไธปๅทฅ็จ‹ๅธˆๆ‰ง่กŒไปปๅŠก๏ผ‰ใ€‚ๅนถๆŽจไบ†ๅฏนๅบ”็š„ไธปๆต AI ็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบใ€‚"}]},{id:"frontend-engineering",title:"ๅ‰็ซฏๅทฅ็จ‹",icon:"๐ŸŽจ",color:"#f59e0b",articles:[{title:"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—",url:"/fullstack/react-design-philosophy-ai-augmented",description:"ๅฝ“ AI ๆ‰ฟๆŽฅไบ† 30% ็š„็ผ–็ ๆ‰ง่กŒๆ—ถ๏ผŒๅผ€ๅ‘่€…้œ€้€š่ฟ‡โ€œ่ง„ๆ ผ้ฉฑๅŠจ๏ผˆSDD๏ผ‰โ€้‡ๅคบ 70% ็š„่ฎพ่ฎกไธปๆƒ๏ผšไปŽ่‡ชๆฒป็ป„ไปถๅˆ’ๅˆ†ๅˆฐๅ•ๅ‘ๆ•ฐๆฎๆตๆ‹“ๆ‰‘็š„ๆทฑๅบฆๆŽจๆผ”ใ€‚"},{title:"ไธๆญขไบŽ Fetch๏ผšReact ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ",url:"/fullstack/server-state-management",description:"ๆœฌๆ–‡ๆทฑๅบฆๅฏนๆฏ” React ็”Ÿๆ€ไธญ SWR ไธŽ TanStack Query ไธคๅคงๆ–นๆกˆใ€‚ไปŽ stale-while-revalidate ๆœบๅˆถๅˆฐๅผ‚ๆญฅ็Šถๆ€ๆœบๆžถๆž„๏ผŒๆถต็›–ไพ่ต–ๆŸฅ่ฏขใ€ๆ•ฐๆฎ่ฝฌๆขๅŠๆžถๆž„็บงไน่ง‚ๆ›ดๆ–ฐๅฎžๆˆ˜ใ€‚ๆ—จๅœจๅธฎๅŠฉๅผ€ๅ‘่€…ๅœจๅคๆ‚ไธšๅŠกไธญๆž„ๅปบ็กฎๅฎšๆ€ง็š„ๆœๅŠก็ซฏ็Šถๆ€ๅŸบๅบงใ€‚"},{title:"ไปŽๅŽŸๅญๅŒ–ๅˆฐๅ˜ไฝ“้ฉฑๅŠจ๏ผš็Žฐไปฃ CSS ๅทฅ็จ‹ๅŒ–็š„ๆžถๆž„ๆผ”่ฟ›ไธŽๆททๅˆๅฎž่ทตๆŒ‡ๅ—",url:"/full-stack/css-engineering",description:"ๆœฌๆ–‡็ณป็ปŸๅ‰–ๆžไธปๆต CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆ็š„ๅบ•ๅฑ‚้€ป่พ‘๏ผŒๆๅ‡บโ€œๆ ทๅผ่ต„ไบง ROIโ€่ฏ„ไผฐๆจกๅž‹๏ผŒๅนถ้’ˆๅฏน Vue/React ็”Ÿๆ€็ป™ๅ‡บไบ†้ขๅ‘ AI ๆ—ถไปฃ็š„ไผไธš็บงๆททๅˆๆžถๆž„้€‰ๅž‹ๅปบ่ฎฎใ€‚"},{title:"JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—",url:"/fullstack/jamstack",description:"้ข„ๆธฒๆŸ“้™ๆ€้กต้ข + ๅŠจๆ€ API๏ผŒCDN ๅˆ†ๅ‘ๅ…จ็ƒ๏ผŒๆ›ฟไปฃไผ ็ปŸๅŠจๆ€็ฝ‘็ซ™็š„ๅผ€ๅ‘้ƒจ็ฝฒ่Œƒๅผใ€‚ ไปŽๆ ธๅฟƒๆฆ‚ๅฟตใ€ๅทฅๅ…ท้“พ้€‰ๅž‹๏ผˆNext.js/Vercel/Supabase/Contentful๏ผ‰ๅˆฐไปŽ 0 ๆญๅปบๅšๅฎข็š„ๅฎŒๆ•ดๅฎž่ทต๏ผŒ่ฆ†็›– JAMStack ้€‚็”จไธŽไธ้€‚็”จๅœบๆ™ฏ๏ผŒๅธฎๅŠฉๅˆคๆ–ญไฝ•ๆ—ถ้€‰็”จ่ฏฅๆžถๆž„ใ€‚"}]},{id:"fullstack-networking",title:"็ฝ‘็ปœไธŽ้€šไฟก",icon:"๐ŸŒ",color:"#0ea5e9",articles:[{title:"Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—",url:"/fullstack/networking-protocol-selection-guide",description:"ๆ–‡ๆœฌๆทฑๅ…ฅๅ‰–ๆžไผ ็ปŸ HTTPใ€ๆตๅผ HTTPใ€SSEใ€WebSocketใ€Webhooksใ€HTTP ่ฝฎ่ฏข็š„ๅŽŸ็†ไธŽ็‰นๆ€ง๏ผŒ็ป“ๅˆ AI ๅœบๆ™ฏๆไพ›ๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–็Ÿฉ้˜ต"},{title:"ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต",url:"/fullstack/networking/sse-practice",description:"ๆœฌๆ–‡่พจๆžๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ็š„ๆฆ‚ๅฟตไธŽๅฑ‚ๆฌกๅ…ณ็ณป๏ผŒ่ฏฆ่งฃๅฎขๆˆท็ซฏไธŽๆœๅŠก็ซฏๅฎž็Žฐๆ–นๆกˆ๏ผŒๆไพ›็”Ÿไบงๅฎž่ทตๅฎŒๆ•ดๆŒ‡ๅ—ใ€‚"},{title:"HTTP ่ฝฎ่ฏขไผ˜ๅŒ–ๆŒ‡ๅ—๏ผš้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–",url:"/fullstack/networking-polling-optimization",description:"้’ˆๅฏนไผ ็ปŸๅ›บๅฎš้ข‘็އ่ฝฎ่ฏข็š„ๆœๅŠกๅ™จ่ต„ๆบๆตช่ดน้—ฎ้ข˜๏ผŒ็ณป็ปŸๅˆ†ๆž้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏขไธค็งไผ˜ๅŒ–็ญ–็•ฅ็š„ๆ ธๅฟƒๅŽŸ็†ไธŽ่ฟ่กŒๆœบๅˆถ๏ผŒๆไพ› TypeScript/NestJS ๅฎžๆˆ˜ไปฃ็ ๏ผŒๅนถๆž„ๅปบๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–ๆ ‘ไธŽ้€‚็”จๅœบๆ™ฏ้€ŸๆŸฅใ€‚"}]},{id:"fullstack-basic",title:"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป",icon:"๐Ÿ“š",color:"#64748b",articles:[{title:"ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—",url:"/fullstack/occams-razor-software-design",description:"ๅœจ้œ€ๆฑ‚่พน็•Œๅ†…่ฟฝๆฑ‚ๆœ€ๅฐๅคๆ‚ๅบฆโ€”โ€”ไธๆ˜ฏๆ‹’็ปๅคๆ‚๏ผŒ่€Œๆ˜ฏไธไธปๅŠจๅˆถ้€ ๅคๆ‚ใ€‚ๆœฌๆ–‡ๆทฑๅ…ฅ่งฃๆžๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™ๅœจ็ผ–็จ‹ไธŽ่ฎพ่ฎกไธญ็š„ๅ…ญๅคงๅœบๆ™ฏ๏ผšๆ‹’็ป่ฟ‡ๅบฆ้ข„ๅˆคใ€็งป้™คๅ†—ไฝ™้€ป่พ‘ใ€ๅŒน้…ๆžถๆž„่ง„ๆจกใ€ๅ…‹ๅˆถไพ่ต–ๅผ•ๅ…ฅใ€ๅฐ่ฃ…ๆœ€ๅฐๆŽฅๅฃใ€ๅ…ˆๆŽ’ๆŸฅ็ฎ€ๅ•ๅŽŸๅ› ๏ผŒๅนถ็ป™ๅ‡บไธ‰ไธชๅ…ณ้”ฎ่พน็•Œใ€‚"},{title:"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—",url:"/fullstack/module-programming-practice-guide",description:"็ณป็ปŸๆขณ็† JavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›๏ผˆIIFEโ†’CJSโ†’ESM๏ผ‰ใ€TypeScript ็ฑปๅž‹ๅขžๅผบใ€ๅˆ†ๅฑ‚ๆžถๆž„ไธŽ DDD ๅฎž่ทตใ€‚ไปŽ ES Modules ๅˆฐๅคงๅž‹้กน็›ฎๅˆ†ๅฑ‚ๆžถๆž„ไธŽๅทฅ็จ‹ๅŒ–ๅฎž่ทต๏ผŒๆž„ๅปบๅ…จๆ ˆๆจกๅ—ๅŒ–็Ÿฅ่ฏ†ไฝ“็ณปใ€‚"},{title:"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—",url:"/fullstack/typescript-compilation-debugging-guide",description:"TypeScript ๅฎŒๅ–„็š„็ผ–่ฏ‘ไฝ“็ณปไธŽ่ฐƒ่ฏ•ๅทฅๅ…ท้“พ๏ผŒๆ˜ฏๆž„ๅปบ้ซ˜่ดจ้‡ๅบ”็”จ็š„ๅŸบ็Ÿณใ€‚ๆœฌๆ–‡ๆทฑๅ…ฅ่งฃๆž TypeScript ็ผ–่ฏ‘ๅทฅๅ…ท้“พไธŽ่ฐƒ่ฏ•ไฝ“็ณป๏ผŒๆถต็›– tsconfig.json ๆ ธๅฟƒ้…็ฝฎใ€Monorepo ้กน็›ฎ้…็ฝฎ๏ผˆextends/references๏ผ‰ใ€source map ่ฐƒ่ฏ•ใ€ESLint ไธŽ Jest ๅ•ๅ…ƒๆต‹่ฏ•็ญ‰ๅฎŒๆ•ดๅฎž่ทตใ€‚"},{title:"่Šไธ€่Š TypeScript ไธญ็š„ๆณ›ๅž‹",url:"/fullstack/typescript-generic-types",description:"ๆณ›ๅž‹ๅฐ†็ฑปๅž‹ไฝœไธบๅ‚ๆ•ฐ๏ผŒไฝฟไปฃ็ ๅœจๅคš็ง็ฑปๅž‹ไธŠๅฎ‰ๅ…จ่ฟ่กŒ๏ผŒๆ˜ฏ TypeScript ็ฑปๅž‹ๆŠฝ่ฑก็š„ๆ ธๅฟƒ็‰นๆ€งใ€‚"}]},{id:"fullstack-resources",title:"ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่",icon:"๐Ÿ”ง",color:"#0ea5e9",articles:[{title:"ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่",url:"/growth/full-stack-resources",description:"ๆœฌๆ–‡็ณป็ปŸๆขณ็†ไบ†็Žฐไปฃๅ…จๆ ˆๅผ€ๅ‘็š„ๅฎŒๆ•ดๆŠ€ๆœฏๅ›พ่ฐฑไธŽๆผ”่ฟ›่Œƒๅผ๏ผŒไธบๅผ€ๅ‘่€…ๆไพ›ไบ†ไธ€็ซ™ๅผ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—ใ€‚ๆ–‡็ซ ไปŽๅŸบ็Ÿณๅ‡บๅ‘๏ผŒ่ฆ†็›– Web ๆ ธๅฟƒ่ฏญ่จ€๏ผˆJS/TS๏ผ‰ ไธŽ ไธปๆต UI ๆก†ๆžถ๏ผˆReact/Vue/Svelte๏ผ‰๏ผŒๅนถๆŽจ่ไปฅ Tailwind CSS ๅ’Œ shadcn/ui ไธบไปฃ่กจ็š„็Žฐไปฃๆ ทๅผไธŽ็ป„ไปถๅŽŸ่ฏญใ€‚ๅœจๆ ธๅฟƒไธšๅŠก้€ป่พ‘ๅฑ‚๏ผŒๆทฑๅบฆๅฏนๆฏ”ไบ†่ฝป้‡ๅŒ–็Šถๆ€็ฎก็†ๆ–นๆกˆ๏ผˆ้ฆ–ๆŽจ Zustand/Jotai๏ผ‰๏ผŒๅนถ้‡็‚น่งฃๆžไบ†ๆ•ฐๆฎไบคไบ’็š„ไธ‰ๅคง็Žฐไปฃๆžถๆž„่Œƒๅผ๏ผšไปŽๅŸบ็ก€ Axios ๅˆฐ React Query ็Šถๆ€่ฐƒๅบฆ๏ผŒๅ†ๅˆฐ tRPC ๅ’Œ GraphQL ๅธฆๆฅ็š„ๅ…จๆ ˆ็ฑปๅž‹ๅฎ‰ๅ…จไธŽๅคš็ซฏ่šๅˆใ€‚ๅœจๅทฅ็จ‹ๅŒ–ไธŽๆœๅŠก็ซฏๆจกๅ—๏ผŒๆ–‡็ซ ๅ…จ้ขๆ‹ฅๆŠฑ Viteใ€Rsbuild ็ญ‰ๆž้€Ÿๆž„ๅปบๅทฅๅ…ท๏ผŒๅนถๅ‰–ๆžไบ† Next.js/Nuxt ๅŒๆž„ๅ…ƒๆก†ๆžถไธŽ NestJS ไผไธš็บง Node ๆœๅŠก็š„ๆœ€ไฝณ้€‚็”จๅœบๆ™ฏใ€‚ๆœ€ๅŽ๏ผŒ่พ…ไปฅ Vercel ็ญ‰็Žฐไปฃ่พน็ผ˜้ƒจ็ฝฒๅนณๅฐๅŠไธฐๅฏŒ็š„ๅผ€ๆบ็คพๅŒบๅญฆไน ่ต„ๆบใ€‚"}]}],S=JSON.parse('{"title":"ๅ…จๆ™ฏไธ€่งˆ","description":"ๆœฌ็ณปๅˆ—ๅ›ด็ป•็Žฐไปฃๅ…จๆ ˆๅผ€ๅ‘็š„่ƒฝๅŠ›ไฝ“็ณปๅฑ•ๅผ€๏ผŒไปŽ AI ๆ—ถไปฃ็š„ๅทฅ็จ‹ๆ€็ปดๅ‡บๅ‘๏ผŒ่ฆ†็›–ๅ‰็ซฏๅทฅ็จ‹๏ผˆReact/Vue/CSS๏ผ‰ใ€ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป๏ผˆTypeScript/JavaScript๏ผ‰ใ€ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่็ญ‰ๆ ธๅฟƒ้ข†ๅŸŸ๏ผŒๅธฎๅŠฉๆž„ๅปบไปŽ\\"่ฎค็Ÿฅๅฑ‚ โ†’ ๆŠ€ๆœฏ้ข†ๅŸŸ โ†’ ๅทฅ็จ‹่ƒฝๅŠ› โ†’ ๅŸบ็ก€่ฎพๆ–ฝ\\"็š„ๅฎŒๆ•ดๅ…จๆ ˆ็Ÿฅ่ฏ†ๅ›พ่ฐฑใ€‚","frontmatter":{"date":"2026-03-19T23:05:50.000Z","title":"ๅ…จๆ™ฏไธ€่งˆ","description":"ๆœฌ็ณปๅˆ—ๅ›ด็ป•็Žฐไปฃๅ…จๆ ˆๅผ€ๅ‘็š„่ƒฝๅŠ›ไฝ“็ณปๅฑ•ๅผ€๏ผŒไปŽ AI ๆ—ถไปฃ็š„ๅทฅ็จ‹ๆ€็ปดๅ‡บๅ‘๏ผŒ่ฆ†็›–ๅ‰็ซฏๅทฅ็จ‹๏ผˆReact/Vue/CSS๏ผ‰ใ€ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป๏ผˆTypeScript/JavaScript๏ผ‰ใ€ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่็ญ‰ๆ ธๅฟƒ้ข†ๅŸŸ๏ผŒๅธฎๅŠฉๆž„ๅปบไปŽ\\"่ฎค็Ÿฅๅฑ‚ โ†’ ๆŠ€ๆœฏ้ข†ๅŸŸ โ†’ ๅทฅ็จ‹่ƒฝๅŠ› โ†’ ๅŸบ็ก€่ฎพๆ–ฝ\\"็š„ๅฎŒๆ•ดๅ…จๆ ˆ็Ÿฅ่ฏ†ๅ›พ่ฐฑใ€‚","categories":["ๅ…จๆ ˆ"],"coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png","permalink":"/fullstack/overview"},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/00.overview.md","filePath":"01.ๅ…จๆ ˆ/00.overview.md"}'),n={name:"01.ๅ…จๆ ˆ/00.overview.md"},f=Object.assign(n,{setup(p){return(u,e)=>(a(),r("div",null,[e[0]||(e[0]=t("div",{style:{display:"none"},hidden:"true","aria-hidden":"true"},"Are you an LLM? You can read better optimized documentation at /01.ๅ…จๆ ˆ/00.overview.md for this page in Markdown format",-1)),e[1]||(e[1]=t("h1",{id:"ๅ…จๆ™ฏไธ€่งˆ",tabindex:"-1"},[l("ๅ…จๆ™ฏไธ€่งˆ "),t("a",{class:"header-anchor",href:"#ๅ…จๆ™ฏไธ€่งˆ","aria-label":"Permalink to โ€œๅ…จๆ™ฏไธ€่งˆโ€"},"โ€‹")],-1)),c(i,{categories:o(s)},null,8,["categories"])]))}});export{S as __pageData,f as default}; +import{A as i}from"./chunks/ArticleCardList.DFlNODKA.js";import{g as r,h as a,i as t,z as c,S as l,l as o}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const s=[{id:"ai-native",title:"AI Native ๅทฅ็จ‹ๆ€็ปด",icon:"๐Ÿค–",color:"#a855f7",articles:[{title:"ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€",url:"/fullstack/ai-native",description:"ๅœจ AI ้‡ๅก‘่ฝฏไปถๅทฅ็จ‹็š„ไปŠๅคฉ๏ผŒๅ…จๆ ˆไธๅ†ๆ˜ฏๆŠ€ๆœฏ็š„็บฟๆ€งๅ ๅŠ ๏ผŒๆญฃๅœจไปŽโ€œๆŠ€ๆœฏๆ ˆๅ †็ Œโ€่ฝฌๅ‘โ€œ่ฎค็Ÿฅๆ ˆ้‡ๆž„โ€ใ€‚ๆœฌๆ–‡ๆๅ‡บ โ€œ(ๅทฅ็จ‹ + ไบงๅ“) ร— AIโ€ ็š„ๆ–ฐๅ…ฌๅผ๏ผŒๅŠฉๅŠ›ๅผ€ๅ‘่€…ๆž„ๅปบโ€œๆดžๅฏŸ-ๆžถๆž„-ๆ ๆ†โ€่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”๏ผŒๅˆฉ็”จ AI ๆ ๆ†่ฎฉ่‡ชๅทฑ่ฟ›ๅŒ–ไธบไปทๅ€ผๅˆ›้€ ่€…ใ€‚"},{title:"้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—",url:"/fullstack/ai-engineer-capability",description:""},{title:"่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘",url:"/fullstack/ai-change-work-workflow",description:"ๆœฌๆ–‡ๆทฑๅบฆ่งฃ่ฏปไบ† Anthropic ๅ‘ๅธƒ็š„้‡Œ็จ‹็ข‘ๆŠฅๅ‘Šใ€ŠAI ๅฆ‚ไฝ•ๆ”นๅ˜ Anthropic ็š„ๅทฅไฝœๆ–นๅผใ€‹ใ€‚ๆˆ‘ไปฌๆญฃๅค„ไบŽ่ฝฏไปถๅทฅ็จ‹ๅฒไธŠ็š„ๅˆไธ€ๆฌกโ€œๆŠฝ่ฑกๅฑ‚ๅคง่ฟๅพ™โ€โ€”โ€”ๅฝ“็ผ–็ ๆˆๆœฌ่ถ‹ไบŽ้›ถ๏ผŒ็œŸๆญฃ็š„ๆŒ‘ๆˆ˜ไธๅ†ๆ˜ฏโ€œๅฟซโ€๏ผŒ่€Œๆ˜ฏๅฆ‚ไฝ•ๅฏนๆŠ—โ€œๅนณๅบธๅŒ–โ€ไธŽโ€œ้šๆœบๆ€งโ€ใ€‚"}]},{id:"ai-coding-guides",title:"AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—",icon:"โœจ",color:"#c084fc",articles:[{title:"AI ็ผ–็จ‹ๅทฅๅ…ทๆŽจ่",url:"/ai-learning/ai-coding-resources",description:"ๆœฌๆ–‡็ณป็ปŸๆขณ็† AI ้ฉฑๅŠจ็ผ–็จ‹็š„ไธ‰ๅคงๆผ”่ฟ›่Œƒๅผ๏ผšVibe Coding๏ผˆ่‡ช็„ถ่ฏญ่จ€้›ถ้—จๆง›ๆž„ๅปบ๏ผ‰ใ€AI IDE๏ผˆ็ผ–่พ‘ๅ™จๆทฑๅบฆ่พ…ๅŠฉๆๆ•ˆ๏ผ‰ๅŠ Agentic Engineering๏ผˆ่‡ชไธปๅทฅ็จ‹ๅธˆๆ‰ง่กŒไปปๅŠก๏ผ‰ใ€‚ๅนถๆŽจไบ†ๅฏนๅบ”็š„ไธปๆต AI ็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบใ€‚"}]},{id:"frontend-engineering",title:"ๅ‰็ซฏๅทฅ็จ‹",icon:"๐ŸŽจ",color:"#f59e0b",articles:[{title:"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—",url:"/fullstack/react-design-philosophy-ai-augmented",description:"ๅฝ“ AI ๆ‰ฟๆŽฅไบ† 30% ็š„็ผ–็ ๆ‰ง่กŒๆ—ถ๏ผŒๅผ€ๅ‘่€…้œ€้€š่ฟ‡โ€œ่ง„ๆ ผ้ฉฑๅŠจ๏ผˆSDD๏ผ‰โ€้‡ๅคบ 70% ็š„่ฎพ่ฎกไธปๆƒ๏ผšไปŽ่‡ชๆฒป็ป„ไปถๅˆ’ๅˆ†ๅˆฐๅ•ๅ‘ๆ•ฐๆฎๆตๆ‹“ๆ‰‘็š„ๆทฑๅบฆๆŽจๆผ”ใ€‚"},{title:"ไธๆญขไบŽ Fetch๏ผšReact ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ",url:"/fullstack/server-state-management",description:"ๆœฌๆ–‡ๆทฑๅบฆๅฏนๆฏ” React ็”Ÿๆ€ไธญ SWR ไธŽ TanStack Query ไธคๅคงๆ–นๆกˆใ€‚ไปŽ stale-while-revalidate ๆœบๅˆถๅˆฐๅผ‚ๆญฅ็Šถๆ€ๆœบๆžถๆž„๏ผŒๆถต็›–ไพ่ต–ๆŸฅ่ฏขใ€ๆ•ฐๆฎ่ฝฌๆขๅŠๆžถๆž„็บงไน่ง‚ๆ›ดๆ–ฐๅฎžๆˆ˜ใ€‚ๆ—จๅœจๅธฎๅŠฉๅผ€ๅ‘่€…ๅœจๅคๆ‚ไธšๅŠกไธญๆž„ๅปบ็กฎๅฎšๆ€ง็š„ๆœๅŠก็ซฏ็Šถๆ€ๅŸบๅบงใ€‚"},{title:"ไปŽๅŽŸๅญๅŒ–ๅˆฐๅ˜ไฝ“้ฉฑๅŠจ๏ผš็Žฐไปฃ CSS ๅทฅ็จ‹ๅŒ–็š„ๆžถๆž„ๆผ”่ฟ›ไธŽๆททๅˆๅฎž่ทตๆŒ‡ๅ—",url:"/full-stack/css-engineering",description:"ๆœฌๆ–‡็ณป็ปŸๅ‰–ๆžไธปๆต CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆ็š„ๅบ•ๅฑ‚้€ป่พ‘๏ผŒๆๅ‡บโ€œๆ ทๅผ่ต„ไบง ROIโ€่ฏ„ไผฐๆจกๅž‹๏ผŒๅนถ้’ˆๅฏน Vue/React ็”Ÿๆ€็ป™ๅ‡บไบ†้ขๅ‘ AI ๆ—ถไปฃ็š„ไผไธš็บงๆททๅˆๆžถๆž„้€‰ๅž‹ๅปบ่ฎฎใ€‚"},{title:"JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—",url:"/fullstack/jamstack",description:"้ข„ๆธฒๆŸ“้™ๆ€้กต้ข + ๅŠจๆ€ API๏ผŒCDN ๅˆ†ๅ‘ๅ…จ็ƒ๏ผŒๆ›ฟไปฃไผ ็ปŸๅŠจๆ€็ฝ‘็ซ™็š„ๅผ€ๅ‘้ƒจ็ฝฒ่Œƒๅผใ€‚ ไปŽๆ ธๅฟƒๆฆ‚ๅฟตใ€ๅทฅๅ…ท้“พ้€‰ๅž‹๏ผˆNext.js/Vercel/Supabase/Contentful๏ผ‰ๅˆฐไปŽ 0 ๆญๅปบๅšๅฎข็š„ๅฎŒๆ•ดๅฎž่ทต๏ผŒ่ฆ†็›– JAMStack ้€‚็”จไธŽไธ้€‚็”จๅœบๆ™ฏ๏ผŒๅธฎๅŠฉๅˆคๆ–ญไฝ•ๆ—ถ้€‰็”จ่ฏฅๆžถๆž„ใ€‚"}]},{id:"fullstack-networking",title:"็ฝ‘็ปœไธŽ้€šไฟก",icon:"๐ŸŒ",color:"#0ea5e9",articles:[{title:"Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—",url:"/fullstack/networking-protocol-selection-guide",description:"ๆ–‡ๆœฌๆทฑๅ…ฅๅ‰–ๆžไผ ็ปŸ HTTPใ€ๆตๅผ HTTPใ€SSEใ€WebSocketใ€Webhooksใ€HTTP ่ฝฎ่ฏข็š„ๅŽŸ็†ไธŽ็‰นๆ€ง๏ผŒ็ป“ๅˆ AI ๅœบๆ™ฏๆไพ›ๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–็Ÿฉ้˜ต"},{title:"ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต",url:"/fullstack/networking/sse-practice",description:"ๆœฌๆ–‡่พจๆžๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ็š„ๆฆ‚ๅฟตไธŽๅฑ‚ๆฌกๅ…ณ็ณป๏ผŒ่ฏฆ่งฃๅฎขๆˆท็ซฏไธŽๆœๅŠก็ซฏๅฎž็Žฐๆ–นๆกˆ๏ผŒๆไพ›็”Ÿไบงๅฎž่ทตๅฎŒๆ•ดๆŒ‡ๅ—ใ€‚"},{title:"HTTP ่ฝฎ่ฏขไผ˜ๅŒ–ๆŒ‡ๅ—๏ผš้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–",url:"/fullstack/networking-polling-optimization",description:"้’ˆๅฏนไผ ็ปŸๅ›บๅฎš้ข‘็އ่ฝฎ่ฏข็š„ๆœๅŠกๅ™จ่ต„ๆบๆตช่ดน้—ฎ้ข˜๏ผŒ็ณป็ปŸๅˆ†ๆž้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏขไธค็งไผ˜ๅŒ–็ญ–็•ฅ็š„ๆ ธๅฟƒๅŽŸ็†ไธŽ่ฟ่กŒๆœบๅˆถ๏ผŒๆไพ› TypeScript/NestJS ๅฎžๆˆ˜ไปฃ็ ๏ผŒๅนถๆž„ๅปบๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–ๆ ‘ไธŽ้€‚็”จๅœบๆ™ฏ้€ŸๆŸฅใ€‚"}]},{id:"fullstack-basic",title:"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป",icon:"๐Ÿ“š",color:"#64748b",articles:[{title:"ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—",url:"/fullstack/occams-razor-software-design",description:"ๅœจ้œ€ๆฑ‚่พน็•Œๅ†…่ฟฝๆฑ‚ๆœ€ๅฐๅคๆ‚ๅบฆโ€”โ€”ไธๆ˜ฏๆ‹’็ปๅคๆ‚๏ผŒ่€Œๆ˜ฏไธไธปๅŠจๅˆถ้€ ๅคๆ‚ใ€‚ๆœฌๆ–‡ๆทฑๅ…ฅ่งฃๆžๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™ๅœจ็ผ–็จ‹ไธŽ่ฎพ่ฎกไธญ็š„ๅ…ญๅคงๅœบๆ™ฏ๏ผšๆ‹’็ป่ฟ‡ๅบฆ้ข„ๅˆคใ€็งป้™คๅ†—ไฝ™้€ป่พ‘ใ€ๅŒน้…ๆžถๆž„่ง„ๆจกใ€ๅ…‹ๅˆถไพ่ต–ๅผ•ๅ…ฅใ€ๅฐ่ฃ…ๆœ€ๅฐๆŽฅๅฃใ€ๅ…ˆๆŽ’ๆŸฅ็ฎ€ๅ•ๅŽŸๅ› ๏ผŒๅนถ็ป™ๅ‡บไธ‰ไธชๅ…ณ้”ฎ่พน็•Œใ€‚"},{title:"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—",url:"/fullstack/module-programming-practice-guide",description:"็ณป็ปŸๆขณ็† JavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›๏ผˆIIFEโ†’CJSโ†’ESM๏ผ‰ใ€TypeScript ็ฑปๅž‹ๅขžๅผบใ€ๅˆ†ๅฑ‚ๆžถๆž„ไธŽ DDD ๅฎž่ทตใ€‚ไปŽ ES Modules ๅˆฐๅคงๅž‹้กน็›ฎๅˆ†ๅฑ‚ๆžถๆž„ไธŽๅทฅ็จ‹ๅŒ–ๅฎž่ทต๏ผŒๆž„ๅปบๅ…จๆ ˆๆจกๅ—ๅŒ–็Ÿฅ่ฏ†ไฝ“็ณปใ€‚"},{title:"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—",url:"/fullstack/typescript-compilation-debugging-guide",description:"TypeScript ๅฎŒๅ–„็š„็ผ–่ฏ‘ไฝ“็ณปไธŽ่ฐƒ่ฏ•ๅทฅๅ…ท้“พ๏ผŒๆ˜ฏๆž„ๅปบ้ซ˜่ดจ้‡ๅบ”็”จ็š„ๅŸบ็Ÿณใ€‚ๆœฌๆ–‡ๆทฑๅ…ฅ่งฃๆž TypeScript ็ผ–่ฏ‘ๅทฅๅ…ท้“พไธŽ่ฐƒ่ฏ•ไฝ“็ณป๏ผŒๆถต็›– tsconfig.json ๆ ธๅฟƒ้…็ฝฎใ€Monorepo ้กน็›ฎ้…็ฝฎ๏ผˆextends/references๏ผ‰ใ€source map ่ฐƒ่ฏ•ใ€ESLint ไธŽ Jest ๅ•ๅ…ƒๆต‹่ฏ•็ญ‰ๅฎŒๆ•ดๅฎž่ทตใ€‚"},{title:"่Šไธ€่Š TypeScript ไธญ็š„ๆณ›ๅž‹",url:"/fullstack/typescript-generic-types",description:"ๆณ›ๅž‹ๅฐ†็ฑปๅž‹ไฝœไธบๅ‚ๆ•ฐ๏ผŒไฝฟไปฃ็ ๅœจๅคš็ง็ฑปๅž‹ไธŠๅฎ‰ๅ…จ่ฟ่กŒ๏ผŒๆ˜ฏ TypeScript ็ฑปๅž‹ๆŠฝ่ฑก็š„ๆ ธๅฟƒ็‰นๆ€งใ€‚"}]},{id:"fullstack-resources",title:"ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่",icon:"๐Ÿ”ง",color:"#0ea5e9",articles:[{title:"ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่",url:"/growth/full-stack-resources",description:"ๆœฌๆ–‡็ณป็ปŸๆขณ็†ไบ†็Žฐไปฃๅ…จๆ ˆๅผ€ๅ‘็š„ๅฎŒๆ•ดๆŠ€ๆœฏๅ›พ่ฐฑไธŽๆผ”่ฟ›่Œƒๅผ๏ผŒไธบๅผ€ๅ‘่€…ๆไพ›ไบ†ไธ€็ซ™ๅผ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—ใ€‚ๆ–‡็ซ ไปŽๅŸบ็Ÿณๅ‡บๅ‘๏ผŒ่ฆ†็›– Web ๆ ธๅฟƒ่ฏญ่จ€๏ผˆJS/TS๏ผ‰ ไธŽ ไธปๆต UI ๆก†ๆžถ๏ผˆReact/Vue/Svelte๏ผ‰๏ผŒๅนถๆŽจ่ไปฅ Tailwind CSS ๅ’Œ shadcn/ui ไธบไปฃ่กจ็š„็Žฐไปฃๆ ทๅผไธŽ็ป„ไปถๅŽŸ่ฏญใ€‚ๅœจๆ ธๅฟƒไธšๅŠก้€ป่พ‘ๅฑ‚๏ผŒๆทฑๅบฆๅฏนๆฏ”ไบ†่ฝป้‡ๅŒ–็Šถๆ€็ฎก็†ๆ–นๆกˆ๏ผˆ้ฆ–ๆŽจ Zustand/Jotai๏ผ‰๏ผŒๅนถ้‡็‚น่งฃๆžไบ†ๆ•ฐๆฎไบคไบ’็š„ไธ‰ๅคง็Žฐไปฃๆžถๆž„่Œƒๅผ๏ผšไปŽๅŸบ็ก€ Axios ๅˆฐ React Query ็Šถๆ€่ฐƒๅบฆ๏ผŒๅ†ๅˆฐ tRPC ๅ’Œ GraphQL ๅธฆๆฅ็š„ๅ…จๆ ˆ็ฑปๅž‹ๅฎ‰ๅ…จไธŽๅคš็ซฏ่šๅˆใ€‚ๅœจๅทฅ็จ‹ๅŒ–ไธŽๆœๅŠก็ซฏๆจกๅ—๏ผŒๆ–‡็ซ ๅ…จ้ขๆ‹ฅๆŠฑ Viteใ€Rsbuild ็ญ‰ๆž้€Ÿๆž„ๅปบๅทฅๅ…ท๏ผŒๅนถๅ‰–ๆžไบ† Next.js/Nuxt ๅŒๆž„ๅ…ƒๆก†ๆžถไธŽ NestJS ไผไธš็บง Node ๆœๅŠก็š„ๆœ€ไฝณ้€‚็”จๅœบๆ™ฏใ€‚ๆœ€ๅŽ๏ผŒ่พ…ไปฅ Vercel ็ญ‰็Žฐไปฃ่พน็ผ˜้ƒจ็ฝฒๅนณๅฐๅŠไธฐๅฏŒ็š„ๅผ€ๆบ็คพๅŒบๅญฆไน ่ต„ๆบใ€‚"}]}],S=JSON.parse('{"title":"ๅ…จๆ™ฏไธ€่งˆ","description":"ๆœฌ็ณปๅˆ—ๅ›ด็ป•็Žฐไปฃๅ…จๆ ˆๅผ€ๅ‘็š„่ƒฝๅŠ›ไฝ“็ณปๅฑ•ๅผ€๏ผŒไปŽ AI ๆ—ถไปฃ็š„ๅทฅ็จ‹ๆ€็ปดๅ‡บๅ‘๏ผŒ่ฆ†็›–ๅ‰็ซฏๅทฅ็จ‹๏ผˆReact/Vue/CSS๏ผ‰ใ€ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป๏ผˆTypeScript/JavaScript๏ผ‰ใ€ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่็ญ‰ๆ ธๅฟƒ้ข†ๅŸŸ๏ผŒๅธฎๅŠฉๆž„ๅปบไปŽ\\"่ฎค็Ÿฅๅฑ‚ โ†’ ๆŠ€ๆœฏ้ข†ๅŸŸ โ†’ ๅทฅ็จ‹่ƒฝๅŠ› โ†’ ๅŸบ็ก€่ฎพๆ–ฝ\\"็š„ๅฎŒๆ•ดๅ…จๆ ˆ็Ÿฅ่ฏ†ๅ›พ่ฐฑใ€‚","frontmatter":{"date":"2026-03-19T23:05:50.000Z","title":"ๅ…จๆ™ฏไธ€่งˆ","description":"ๆœฌ็ณปๅˆ—ๅ›ด็ป•็Žฐไปฃๅ…จๆ ˆๅผ€ๅ‘็š„่ƒฝๅŠ›ไฝ“็ณปๅฑ•ๅผ€๏ผŒไปŽ AI ๆ—ถไปฃ็š„ๅทฅ็จ‹ๆ€็ปดๅ‡บๅ‘๏ผŒ่ฆ†็›–ๅ‰็ซฏๅทฅ็จ‹๏ผˆReact/Vue/CSS๏ผ‰ใ€ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป๏ผˆTypeScript/JavaScript๏ผ‰ใ€ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่็ญ‰ๆ ธๅฟƒ้ข†ๅŸŸ๏ผŒๅธฎๅŠฉๆž„ๅปบไปŽ\\"่ฎค็Ÿฅๅฑ‚ โ†’ ๆŠ€ๆœฏ้ข†ๅŸŸ โ†’ ๅทฅ็จ‹่ƒฝๅŠ› โ†’ ๅŸบ็ก€่ฎพๆ–ฝ\\"็š„ๅฎŒๆ•ดๅ…จๆ ˆ็Ÿฅ่ฏ†ๅ›พ่ฐฑใ€‚","categories":["ๅ…จๆ ˆ"],"coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png","permalink":"/fullstack/overview"},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/00.overview.md","filePath":"01.ๅ…จๆ ˆ/00.overview.md"}'),n={name:"01.ๅ…จๆ ˆ/00.overview.md"},f=Object.assign(n,{setup(p){return(u,e)=>(a(),r("div",null,[e[0]||(e[0]=t("div",{style:{display:"none"},hidden:"true","aria-hidden":"true"},"Are you an LLM? You can read better optimized documentation at /01.ๅ…จๆ ˆ/00.overview.md for this page in Markdown format",-1)),e[1]||(e[1]=t("h1",{id:"ๅ…จๆ™ฏไธ€่งˆ",tabindex:"-1"},[l("ๅ…จๆ™ฏไธ€่งˆ "),t("a",{class:"header-anchor",href:"#ๅ…จๆ™ฏไธ€่งˆ","aria-label":"Permalink to โ€œๅ…จๆ™ฏไธ€่งˆโ€"},"โ€‹")],-1)),c(i,{categories:o(s)},null,8,["categories"])]))}});export{S as __pageData,f as default}; diff --git "a/assets/01.\345\205\250\346\240\210_01.AI Native \345\267\245\347\250\213\346\200\235\347\273\264_01.\344\270\215\346\255\242\344\272\216\344\273\243\347\240\201\357\274\232\346\236\204\345\273\272 AI \346\227\266\344\273\243\345\205\250\346\240\210\345\267\245\347\250\213\345\270\210\347\232\204\342\200\234\350\256\244\347\237\245\344\270\211\345\261\202\345\241\224\342\200\235.md.Ch3CtLm0.js" "b/assets/01.\345\205\250\346\240\210_01.AI Native \345\267\245\347\250\213\346\200\235\347\273\264_01.\344\270\215\346\255\242\344\272\216\344\273\243\347\240\201\357\274\232\346\236\204\345\273\272 AI \346\227\266\344\273\243\345\205\250\346\240\210\345\267\245\347\250\213\345\270\210\347\232\204\342\200\234\350\256\244\347\237\245\344\270\211\345\261\202\345\241\224\342\200\235.md.DnAdo66b.js" similarity index 99% rename from "assets/01.\345\205\250\346\240\210_01.AI Native \345\267\245\347\250\213\346\200\235\347\273\264_01.\344\270\215\346\255\242\344\272\216\344\273\243\347\240\201\357\274\232\346\236\204\345\273\272 AI \346\227\266\344\273\243\345\205\250\346\240\210\345\267\245\347\250\213\345\270\210\347\232\204\342\200\234\350\256\244\347\237\245\344\270\211\345\261\202\345\241\224\342\200\235.md.Ch3CtLm0.js" rename to "assets/01.\345\205\250\346\240\210_01.AI Native \345\267\245\347\250\213\346\200\235\347\273\264_01.\344\270\215\346\255\242\344\272\216\344\273\243\347\240\201\357\274\232\346\236\204\345\273\272 AI \346\227\266\344\273\243\345\205\250\346\240\210\345\267\245\347\250\213\345\270\210\347\232\204\342\200\234\350\256\244\347\237\245\344\270\211\345\261\202\345\241\224\342\200\235.md.DnAdo66b.js" index 3ea18f10..92aeeb69 100644 --- "a/assets/01.\345\205\250\346\240\210_01.AI Native \345\267\245\347\250\213\346\200\235\347\273\264_01.\344\270\215\346\255\242\344\272\216\344\273\243\347\240\201\357\274\232\346\236\204\345\273\272 AI \346\227\266\344\273\243\345\205\250\346\240\210\345\267\245\347\250\213\345\270\210\347\232\204\342\200\234\350\256\244\347\237\245\344\270\211\345\261\202\345\241\224\342\200\235.md.Ch3CtLm0.js" +++ "b/assets/01.\345\205\250\346\240\210_01.AI Native \345\267\245\347\250\213\346\200\235\347\273\264_01.\344\270\215\346\255\242\344\272\216\344\273\243\347\240\201\357\274\232\346\236\204\345\273\272 AI \346\227\266\344\273\243\345\205\250\346\240\210\345\267\245\347\250\213\345\270\210\347\232\204\342\200\234\350\256\244\347\237\245\344\270\211\345\261\202\345\241\224\342\200\235.md.DnAdo66b.js" @@ -1 +1 @@ -import{H as e}from"./chunks/HighLightText.gRdAAF3C.js";import{g as i,h as r,U as n,i as a,S as s,z as l,s as o}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const m="/img/full-stack/insight_stack.png",d={class:"note custom-block"},p={class:"note custom-block"},u=JSON.parse('{"title":"ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจ AI ้‡ๅก‘่ฝฏไปถๅทฅ็จ‹็š„ไปŠๅคฉ๏ผŒๅ…จๆ ˆไธๅ†ๆ˜ฏๆŠ€ๆœฏ็š„็บฟๆ€งๅ ๅŠ ๏ผŒๆญฃๅœจไปŽโ€œๆŠ€ๆœฏๆ ˆๅ †็ Œโ€่ฝฌๅ‘โ€œ่ฎค็Ÿฅๆ ˆ้‡ๆž„โ€ใ€‚ๆœฌๆ–‡ๆๅ‡บ โ€œ(ๅทฅ็จ‹ + ไบงๅ“) ร— AIโ€ ็š„ๆ–ฐๅ…ฌๅผ๏ผŒๅŠฉๅŠ›ๅผ€ๅ‘่€…ๆž„ๅปบโ€œๆดžๅฏŸ-ๆžถๆž„-ๆ ๆ†โ€่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”๏ผŒๅˆฉ็”จ AI ๆ ๆ†่ฎฉ่‡ชๅทฑ่ฟ›ๅŒ–ไธบไปทๅ€ผๅˆ›้€ ่€…ใ€‚","frontmatter":{"date":"2025-10-24T11:05:50.000Z","title":"ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจ AI ้‡ๅก‘่ฝฏไปถๅทฅ็จ‹็š„ไปŠๅคฉ๏ผŒๅ…จๆ ˆไธๅ†ๆ˜ฏๆŠ€ๆœฏ็š„็บฟๆ€งๅ ๅŠ ๏ผŒๆญฃๅœจไปŽโ€œๆŠ€ๆœฏๆ ˆๅ †็ Œโ€่ฝฌๅ‘โ€œ่ฎค็Ÿฅๆ ˆ้‡ๆž„โ€ใ€‚ๆœฌๆ–‡ๆๅ‡บ โ€œ(ๅทฅ็จ‹ + ไบงๅ“) ร— AIโ€ ็š„ๆ–ฐๅ…ฌๅผ๏ผŒๅŠฉๅŠ›ๅผ€ๅ‘่€…ๆž„ๅปบโ€œๆดžๅฏŸ-ๆžถๆž„-ๆ ๆ†โ€่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”๏ผŒๅˆฉ็”จ AI ๆ ๆ†่ฎฉ่‡ชๅทฑ่ฟ›ๅŒ–ไธบไปทๅ€ผๅˆ›้€ ่€…ใ€‚","coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png","permalink":"/fullstack/ai-native","sticky":1,"top":true,"tags":["ๅ…จๆ ˆ","AI","ไบงๅ“"],"categories":["ๅ…จๆ ˆ"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€.md","filePath":"01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€.md"}'),c={name:"01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€.md"},y=Object.assign(c,{setup(h){return(g,t)=>(r(),i("div",null,[t[10]||(t[10]=n('

ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€ โ€‹

ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจ AI ้‡ๅก‘่ฝฏไปถๅทฅ็จ‹็š„ไปŠๅคฉ๏ผŒๅ…จๆ ˆไธๅ†ๆ˜ฏๆŠ€ๆœฏ็š„็บฟๆ€งๅ ๅŠ ๏ผŒๆญฃๅœจไปŽโ€œๆŠ€ๆœฏๆ ˆๅ †็ Œโ€่ฝฌๅ‘โ€œ่ฎค็Ÿฅๆ ˆ้‡ๆž„โ€ใ€‚ๆœฌๆ–‡ๆๅ‡บ โ€œ(ๅทฅ็จ‹ + ไบงๅ“) ร— AIโ€ ็š„ๆ–ฐๅ…ฌๅผ๏ผŒๅŠฉๅŠ›ๅผ€ๅ‘่€…ๆž„ๅปบโ€œๆดžๅฏŸ-ๆžถๆž„-ๆ ๆ†โ€่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”๏ผŒๅˆฉ็”จ AI ๆ ๆ†่ฎฉ่‡ชๅทฑ่ฟ›ๅŒ–ไธบไปทๅ€ผๅˆ›้€ ่€…ใ€‚

1. ๅผ•่จ€ โ€‹

ๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒๅฝ“ๆˆ‘ไปฌ่ฐˆ่ฎบโ€œๅ…จๆ ˆๅทฅ็จ‹ๅธˆโ€ๆ—ถ๏ผŒ่„‘ๆตทไธญๆตฎ็Žฐ็š„ๅพ€ๅพ€ๆ˜ฏไธ€ๅผ ๅ†—้•ฟไธ”ไปคไบบ็–ฒๆƒซ็š„ๆŠ€ๆœฏๅทฅๅบๆธ…ๅ•ใ€‚

ๅฐฑๅƒๆˆ‘ๆ›พ็ปไปฅไธบ็š„้‚ฃๆ ท๏ผŒๅ…จๆ ˆๅฐฑๆ˜ฏ็บฟๆ€ง็š„ๆŠ€่ƒฝๅ ๅŠ ไธŽ็‰ฉ็†ๅผ็š„ๆŠ€ๆœฏๆ‹ผๆŽฅ๏ผŒๆ˜ฏไธ€็งไพ้ ไบบๅŠ›ๅŽปๅกซ่กฅๆŠ€ๆœฏ้ธฟๆฒŸ็š„โ€œ่ฅฟ่ฅฟๅผ—ๆ–ฏๅผโ€ๅŠชๅŠ›๏ผš

  • ็บฟๆ€ง็š„ๆŠ€่ƒฝๅ ๅŠ ๏ผšๆˆ‘ไปฌ่ขซ่ฟซๆˆไธบโ€œๅ…จ่ƒฝๆ‰‹โ€๏ผŒๅทฆๆ‰‹็”จ React/Vue ๆž„ๅปบ็ฒพ็พŽ็š„ UI๏ผŒๅณๆ‰‹็”จ Node/Go ็ผ–ๅ†™้ซ˜ๅนถๅ‘ API๏ผŒไธญ้—ด่ฟ˜่ฆๅค„็†ๆ•ฐๆฎๅบ“็š„ ACID ไบ‹ๅŠก๏ผˆๆ•ดไธช้“พ่ทฏๅŸบๆœฌๆ˜ฏ่ฟ™ๆ ท็š„๏ผšๆž„ๅปบๅ‰็ซฏ UI ไบคไบ’ -> ็ผ–ๅ†™ๅŽ็ซฏไธšๅŠกAPI -> ็ปดๆŠคๅบ•ๅฑ‚ๆ•ฐๆฎๅญ˜ๅ‚จไธŽๆœๅŠก็จณๅฎš๏ผ‰ใ€‚
  • ็‰ฉ็†ๅผ็š„ๆ‹ผๆŽฅ๏ผšๆˆ‘ไปฌ่ฏ•ๅ›พ็”จไบบๅŠ›ๅŽปๆŽฉ็›–ๆŠ€ๆœฏๆ ˆไน‹้—ด็š„่ฃ‚็—•โ€”โ€”็”จๅ„็ง Shell ่„šๆœฌใ€Docker ้…็ฝฎใ€Nginx ่ฝฌๅ‘่ง„ๅˆ™๏ผŒๅŽป็ฒ˜ๅˆไธ€ไธชๆ”ฏ็ฆป็ ด็ขŽ็š„็ณป็ปŸใ€‚

้‚ฃไธชๆ—ถๅ€™๏ผŒๆˆ‘่ฎคไธบๅ…จๆ ˆ็š„ๆŠคๅŸŽๆฒณๅœจไบŽโ€œๆŽŒๆก็ผ–็จ‹่ฏญ่จ€็š„ๆ•ฐ้‡โ€ใ€‚ๅช่ฆๆˆ‘่ƒฝๅ†™ๅ‰็ซฏใ€่ƒฝๅ†™ๅŽ็ซฏใ€ๅถๅฐ”่ฟ˜่ƒฝๅ†™็‚น Python ็ˆฌ่™ซ๏ผŒๆˆ‘ๅฐฑๆ˜ฏๅ…จๆ ˆใ€‚ๆˆ‘ไปฌ้ƒฝๅœจๆ‹ผๅ‘ฝๅœฐๅšๅŠ ๆณ•๏ผŒ่ฏ•ๅ›พๆŠŠ่‡ชๅทฑๆ‰“็ฃจๆˆไธ€ๆŠŠๆ— ๆ‰€ไธ่ƒฝ็š„็‘žๅฃซๅ†›ๅˆ€ใ€‚

ไฝ†ๅœจ AI ๅฝปๅบ•้‡ๆž„ไปฃ็ ็”Ÿไบงๆ–นๅผ็š„ไปŠๅคฉ๏ผŒ่ฟ™ไธชๅฎšไน‰ๆ˜พๅพ—่ฟ‡ๆ—ถไธ”็‹ญ้š˜ใ€‚ๅฝ“ GPT5/Claude Code/Cursor ็ญ‰่ƒฝๅคŸๅœจไธ€ๅˆ†้’Ÿๅ†…็”Ÿๆˆ้ซ˜่ดจ้‡็š„ CRUD ไปฃ็ ๏ผŒ็”š่‡ณ่‡ชๅŠจๅฎŒๆˆๅ•ๅ…ƒๆต‹่ฏ•ๆ—ถ๏ผŒๆˆ‘ไปฌๆŽŒๆก่ฏญ่จ€ใ€่ฏญๆณ•็š„ไปทๅ€ผๅˆ่ฟ˜ๅ‰ฉๅคšๅฐ‘๏ผŸๅฆ‚ๆžœไธ€ไธชไบบๅฐฑ่ƒฝ้€š่ฟ‡ AI ๅฎŒๆˆไธ€ๆ”ฏๅ›ข้˜Ÿ็š„ๅทฅไฝœ๏ผŒ้‚ฃไนˆโ€œๅ…จๆ ˆโ€็š„่พน็•Œๅˆฐๅบ•ๅœจๅ“ช้‡Œ๏ผŸ

็œŸๆญฃ็š„ๅ…จๆ ˆ๏ผŒๅทฒ็ปไปŽโ€œๆŠ€่ƒฝ็š„็‰ฉ็†ๅ ๅŠ โ€ ่ฟ›ๅŒ–ๅˆฐไบ† โ€œไปทๅ€ผ็š„ๅŒ–ๅญฆ้—ญ็Žฏโ€ใ€‚ๅฆ‚ๆžœไธ€ไธชไบบ้€š่ฟ‡ AI ๅฐฑ่ƒฝๅฎŒๆˆ่ฟ‡ๅŽปไธ€ๆ”ฏๅ›ข้˜Ÿ็š„ไบคไป˜้‡๏ผŒ้‚ฃไนˆโ€œๅ…จๆ ˆโ€็š„่พน็•Œๅฐฑไธๅ†ๆ˜ฏๆŠ€ๆœฏๆ ˆ๏ผˆTech Stack๏ผ‰๏ผŒ่€Œๆ˜ฏ่ฎค็Ÿฅๆ ˆ๏ผˆInsight Stack๏ผ‰ใ€‚

็ปดๅบฆๆ—งๅ…จๆ ˆ (Legacy Full Stack)ๆ–ฐๅ…จๆ ˆ (AI-Native Full Stack)
ๅ…ณๆณจ็‚น่ฏญ่จ€ใ€ๆก†ๆžถใ€่ฏญๆณ• (Tools)้—ฎ้ข˜ใ€ๅœบๆ™ฏใ€ไปทๅ€ผ (Value)
ๆ ธๅฟƒ่ƒฝๅŠ›็บฏๆ‰‹ๅทฅ็ผ–็  (Coding)ๆžถๆž„่ฎพ่ฎกใ€Prompt ๅทฅ็จ‹ใ€ไปฃ็ ๅฎกๆŸฅ (Architecting)
ไบคไป˜่พน็•Œๅ‰็ซฏ้กต้ข + ๅŽ็ซฏๆŽฅๅฃ้œ€ๆฑ‚ๆดžๅฏŸ โ†’\\rightarrow ไบงๅ“่ฎพ่ฎก โ†’\\rightarrow ่ฝๅœฐ่ฟ่ฅ
AI ็š„่ง’่‰ฒ่พ…ๅŠฉๅทฅๅ…ท (Copilot)ๆ ธๅฟƒๅผ•ๆ“ŽไธŽๅˆ†่บซ (Co-founder)

2. AI ๆ—ถไปฃ็š„ๅ…จๆ ˆๆ–ฐๅ…ฌๅผ โ€‹

ๅœจ้‡ๆ–ฐๆ€่€ƒๆŠ€ๆœฏๆผ”่ฟ›็š„้€ป่พ‘ๅŽ๏ผŒ็ฌ”่€…ๆ€่€ƒๅ‡บไบ†ไธ€ไธชๆ›ดๅ…ท็Žฐไปฃๆ„Ÿ็š„ๅ…จๆ ˆไปทๅ€ผๅ…ฌๅผใ€‚่ฟ™ไธไป…ไป…ๆ˜ฏๆŠ€่ƒฝ็š„็ป„ๅˆ๏ผŒๆ›ดๆ˜ฏๆ€็ปดๆจกๅž‹็š„้‡ๆž„๏ผš

Fullย Stack=(Engineering+Product)ร—AI\\mathbf{Full\\ Stack} \\; = \\; (\\mathbf{Engineering} \\; + \\; \\mathbf{Product}) \\; \\times \\; \\mathbf{AI}

่ฟ™ไธชๅ…ฌๅผๅ‘Š่ฏ‰ๆˆ‘ไปฌ๏ผšไธ่ฆๅ†ๆ‰ง็€ไบŽๆ‰‹้‡Œๆœ‰ๅคšๅฐ‘ๆŠŠ้”คๅญ๏ผŒ่€Œ่ฆๅ…ณๆณจไฝ ่ƒฝๆž„ๅปบๅ‡บๆ€Žๆ ท็š„ๅปบ็ญ‘๏ผŒAI ๆ˜ฏ้‚ฃไธช่ƒฝๅคŸ่ฎฉๅทฅ็จ‹่ƒฝๅŠ›ๅ’Œไบงๅ“ๆ€็ปดไบง็”ŸๆŒ‡ๆ•ฐ็บง็ˆ†็‚ธ็š„ไน˜ๆ•ฐใ€‚

2.1. Engineering (ๅทฅ็จ‹ๅŠ›)๏ผšไปŽโ€œๅ›ฐไบŽๅฎž็Žฐโ€ๅˆฐโ€œๆ•ขไบŽ่ฎพ่ฎกโ€ โ€‹

',16)),a("div",d,[t[3]||(t[3]=a("p",{class:"title note-title custom-block-title"},"ๆ–ฐๆ—งๆจกๅผๅฏนๆฏ”๏ผš",-1)),t[4]||(t[4]=a("p",null,[a("strong",null,"ๆ—งๆจกๅผ"),s("๏ผš็†Ÿ็ปƒ่ฎฐๅฟ† API๏ผŒๆ‰‹ๅ†™ๅคง้‡ๆ ทๆฟไปฃ็ ๏ผŒๅ…ณๆณจๅ…ทไฝ“็š„่ฏญ่จ€ๅ’Œ่ฏญๆณ•็ป†่Š‚ใ€‚")],-1)),a("p",null,[t[1]||(t[1]=a("strong",null,"ๆ–ฐๆจกๅผ",-1)),t[2]||(t[2]=s("๏ผš",-1)),l(e,{type:"note",bold:""},{default:o(()=>[...t[0]||(t[0]=[s("ๅ…ทๅค‡็ณป็ปŸ็บง่ง†้‡Ž๏ผŒๅ…ณๆณจๆžถๆž„็š„ๅฅๅฃฎๆ€งใ€ๅฏ็ปดๆŠคๆ€งไปฅๅŠ่‡ชๅŠจๅŒ–ไบคไป˜ไฝ“็ณปใ€‚",-1)])]),_:1})])]),t[11]||(t[11]=n('

ๅœจ AI ๆ—ถไปฃ๏ผŒๅทฅ็จ‹ๅŠ›็š„ๅ†…ๆ ธๅ‘็”Ÿไบ†่ฟ็งป๏ผŒAI ๅœจ้€ๆธๆŽฅ็ฎก How๏ผˆๆ€Žไนˆๅ†™ไปฃ็ ๏ผ‰๏ผŒไบบ็ฑปๅฟ…้กปไธ“ๆณจไบŽ What๏ผˆๅšไป€ไนˆ็ณป็ปŸ๏ผ‰ๅ’Œ Why๏ผˆไธบไป€ไนˆ่ฟ™ๆ ท่ฎพ่ฎก๏ผ‰ใ€‚

่ƒฝๅŠ›็ปดๅบฆๆ ธๅฟƒ่ฆ็‚น
ๆžถๆž„ๅ†ณ็ญ–ๅฝ“ไปฃ็ ็”Ÿๆˆๅ˜ๅพ—ๅป‰ไปท๏ผŒๆžถๆž„ๅ†ณ็ญ–ๅ˜ๅพ—ๆ˜‚่ดตใ€‚ๆ˜ฏ้€‰ๆ‹ฉๅ•ไฝ“่ฟ˜ๆ˜ฏๅพฎๆœๅŠก๏ผŸๆ˜ฏ SQL ่ฟ˜ๆ˜ฏ NoSQL๏ผŸ่ฟ™ไบ›ๅ†ณๅฎšไบ†็ณป็ปŸ็š„ไธŠ้™ใ€‚
ไปฃ็ ๅฎก่ฎกไธŽ้ชŒๆ”ถไฝ ไปŽ"ๅ†™ไฝœ่€…"ๅ˜ๆˆไบ†"็ผ–่พ‘"ๅ’Œ"ๅฎก่ฎกๅ‘˜"๏ผŒๅฝ“ AI ๅธฎไฝ ๅ†™ๅฎŒ 80% ็š„ไปฃ็ ๅŽ๏ผŒไฝ ๆ˜ฏๅฆๆœ‰่ƒฝๅŠ›่ฐƒ่ฏ•ๅ‰ฉไธ‹้‚ฃ 20% ๆœ€้š่”ฝ็š„้€ป่พ‘ๆผๆดž๏ผŸ
DevOps ไธŽไบคไป˜ๅทฅ็จ‹ๅŠ›ไธๅ†ๆญขๆญฅไบŽ localhost๏ผŒๅฎƒๆ„ๅ‘ณ็€ไฝ ่ƒฝๅˆฉ็”จ Dockerใ€K8sใ€CI/CD ไนƒ่‡ณ Serverless๏ผŒๅฐ†ไปฃ็ ๅฎ‰ๅ…จใ€็จณๅฎšๅœฐ้€่พพ็บฟไธŠ๏ผŒๅนถๅฐ†ไบงๅ“ไบคไป˜ๅˆฐ็”จๆˆทๆ‰‹ไธญใ€‚

2.2. Product (ไบงๅ“ๅŠ›)๏ผšไปŽโ€œ้œ€ๆฑ‚็ฟป่ฏ‘ๆœบโ€ๅˆฐโ€œไปทๅ€ผๅฎšไน‰่€…โ€ โ€‹

',3)),a("div",p,[t[8]||(t[8]=a("p",{class:"title note-title custom-block-title"},"ๆ–ฐๆ—งๆจกๅผๅฏนๆฏ”๏ผš",-1)),t[9]||(t[9]=a("p",null,[a("strong",null,"ๆ—งๆจกๅผ"),s("๏ผš่ขซๅŠจๆŽฅๆ”ถ้œ€ๆฑ‚ๆ–‡ๆกฃ๏ผŒๅ…ณๆณจๅŠŸ่ƒฝ็š„ๆŒ‰ๆ—ถไธŠ็บฟใ€‚")],-1)),a("p",null,[t[6]||(t[6]=a("strong",null,"ๆ–ฐๆจกๅผ",-1)),t[7]||(t[7]=s("๏ผš",-1)),l(e,{type:"note",bold:""},{default:o(()=>[...t[5]||(t[5]=[s("็†่งฃๅ•†ไธšๆจกๅผไธŽ็”จๆˆท็—›็‚น๏ผŒ่ƒฝๅˆคๆ–ญโ€œๅšไป€ไนˆโ€ๆฏ”โ€œๆ€Žไนˆๅšโ€ๆ›ด้‡่ฆใ€‚",-1)])]),_:1})])]),t[12]||(t[12]=n('

ไบงๅ“ๅŠ›ๆ˜ฏๆŠ€ๆœฏไบบๅ‘˜ๆœ€ๅฎนๆ˜“ๅฟฝ่ง†๏ผŒไฝ†ๅœจๅ…ฌๅผไธญๆƒ้‡ๆž้ซ˜็š„ๅ˜้‡๏ผŒๅฎƒไธŽๅทฅ็จ‹ๅŠ›ๆ˜ฏ็›ธๅŠ ๅ…ณ็ณปโ€”โ€”ๆฒกๆœ‰ไบงๅ“ๅŠ›็š„ๅทฅ็จ‹ๅธˆ๏ผŒๅชๆ˜ฏ AI ็š„ๆ“ไฝœๅ‘˜ใ€‚

็ปดๅบฆๆ ธๅฟƒ่ฆ็‚น
ๅŒ็†ๅฟƒ (Empathy)่„ฑ็ฆป"ๆŠ€ๆœฏ่‡ชๅ—จ"๏ผŒๅ›žๅฝ’"็”จๆˆทๆ„Ÿ็Ÿฅ"ใ€‚ๅทฅ็จ‹ๅธˆๅธธๆฒ‰่ฟทไบŽๅŽ็ซฏๆžถๆž„็š„ๅฎŒ็พŽ้‡ๆž„๏ผˆHigh Effort๏ผ‰๏ผŒๅดๅฟฝ็•ฅๅ‰็ซฏๆจก็ณŠ็š„ๆŠฅ้”™ๆ็คบ๏ผˆLow Effort๏ผ‰ๆญฃ่ฎฉ็”จๆˆทๆŠ“็‹‚ใ€‚
ๅ…ทๅค‡ๅŒ็†ๅฟƒ็š„ๅ…จๆ ˆๆ‡‚ๅพ—่ฎก็ฎ—ไฝ“้ชŒ ROI๏ผšไผ˜ๅ…ˆ่งฃๅ†ณ้˜ป็ข็”จๆˆท่พพๆˆ็›ฎๆ ‡็š„"ๅฏ่ง้šœ็ข"๏ผŒ่€Œ้ž็›ฒ็›ฎ่ฟฝๆฑ‚ๆŠ€ๆœฏๅฎž็Žฐ็š„"้šๆ€งๅฎŒ็พŽ"ใ€‚
MVP ๆ€็ปด (ROI ๆ„่ฏ†)็ฒพๅ‡†่ฏ†ๅˆซ"ไฝŽๆˆๆœฌ้ซ˜ไปทๅ€ผ"็š„ๅŠŸ่ƒฝใ€‚ๅœจ AI ่พ…ๅŠฉไธ‹๏ผŒๅฟซ้€Ÿๆž„ๅปบๆœ€ๅฐๅฏ่กŒๆ€งไบงๅ“๏ผˆMVP๏ผ‰้ชŒ่ฏๅ‡่ฎพ๏ผŒ่€Œ้ž้™ทๅ…ฅ่ฟ‡ๅบฆ่ฎพ่ฎก็š„ๆณฅๆฝญใ€‚
ไธšๅŠก้—ญ็Žฏไธไป…ๆŠŠๅŠŸ่ƒฝๅšๅ‡บๆฅ๏ผŒ่ฟ˜่ฆ่€ƒ่™‘ๆ•ฐๆฎๅฆ‚ไฝ•ๅ›žๆตใ€็”จๆˆทๅฆ‚ไฝ•ๅขž้•ฟใ€‚

2.3. AI (AI ๆ ๆ†)๏ผšๆŒ‡ๆ•ฐ็บงๅ€ๅขžๅ™จ โ€‹

NOTE

ๆ—งๆจกๅผ๏ผšๅฐ† AI ่ง†ไธบๆœ็ดขๅผ•ๆ“Ž็š„ๆ›ฟไปฃๅ“ๆˆ–็ฎ€ๅ•็š„ไปฃ็ ่กฅๅ…จๅทฅๅ…ทใ€‚

ๆ–ฐๆจกๅผ๏ผšAI ๆ˜ฏไฝ ็š„ๆ•ฐๅญ—ๅ‘˜ๅทฅใ€ๆŠ€่ƒฝๅˆ†่บซ๏ผŒๆ˜ฏ่ฎฉไธชไบบไบงๅ‡บ่ฟ™็ง็บฟๆ€งๅขž้•ฟๅ˜ๆˆๆŒ‡ๆ•ฐๅขž้•ฟ็š„ๅ…ณ้”ฎๅ˜้‡ใ€‚

ไธบไป€ไนˆ AI ๅค„ไบŽไน˜ๆ•ฐ็š„ไฝ็ฝฎ๏ผŸๅ› ไธบๅฎƒๆ˜ฏๅฏนไธŠ่ฟฐไธค็ง่ƒฝๅŠ›็š„ๅ…จๆ–นไฝๆ”พๅคง๏ผš

่ƒฝๅŠ›็ปดๅบฆๆ ธๅฟƒ่ฆ็‚น
ๆŠ€่ƒฝๆ ‘็š„่กฅๅ…จๅˆฉ็”จ Cursor/Claude Code ็ญ‰ AI ็ผ–็จ‹ไธŽ Agentic ๅทฅๅ…ท๏ผŒๅŽ็ซฏๅทฅ็จ‹ๅธˆๅฏไปฅๅ†™ๅ‡บๅƒ็ด ็บงๅฎŒ็พŽ็š„ๅ‰็ซฏ CSS๏ผŒๅ‰็ซฏๅทฅ็จ‹ๅธˆๅฏไปฅ็ผ–ๅ†™ๅคๆ‚็š„ SQL ๅˆ†ๆž่ฏญๅฅใ€‚AI ๆŠนๅนณไบ†ๆŠ€ๆœฏๆ ˆไน‹้—ด็š„ไธ“ไธš้—จๆง›ใ€‚
ไธŠไธ‹ๆ–‡ๅทฅ็จ‹ๅญฆไผšๅฆ‚ไฝ•ๅ‘ AI ๆไพ›้ซ˜่ดจ้‡็š„ไธŠไธ‹ๆ–‡๏ผˆContext๏ผ‰๏ผŒ่ฎฉ AI ็†่งฃไฝ ็š„้กน็›ฎ็ป“ๆž„ใ€ไธšๅŠก้€ป่พ‘ๅ’Œ็ผ–็ ่ง„่Œƒ๏ผŒไปŽ่€Œ็”Ÿๆˆ็”Ÿไบง็บงไปฃ็ ใ€‚
ๆ—ถ้—ดๅŽ‹็ผฉๅฐ†ไปŽ"Idea"ๅˆฐ"Demo"็š„ๆ—ถ้—ดไปŽๆ•ฐๅ‘จๅŽ‹็ผฉๅˆฐๆ•ฐๅฐๆ—ถใ€‚่ฟ™่ฎฉ"่ถ…็บงไธชไฝ“๏ผˆSolo Maker๏ผ‰"ๆˆไธบๅฏ่ƒฝโ€”โ€”ไธ€ไธชไบบๅฐฑๆ˜ฏไธ€ๆ”ฏ้˜Ÿไผใ€‚

3. ไปŽ Tech Stack ๅˆฐ Insight Stack๏ผš่ฟ›้˜ถไน‹่ทฏ โ€‹

ๅ…จๆ ˆๆ–ฐๆ—ถไปฃๆžถๆž„ๅ›พ

่ฟ‡ๅŽป็š„โ€œๅ…จๆ ˆโ€ๆ˜ฏๆŒ‡ Tech Stack๏ผˆๆŠ€ๆœฏๆ ˆ๏ผ‰ โ€”โ€” ๆˆ‘ไปฌๅœจ็ฎ€ๅކไธŠๅ †็ Œ็š„ Reactใ€Vueใ€NestJSใ€Pythonใ€Rust ็ญ‰ๅ่ฏใ€‚

็Žฐๅœจ็š„โ€œๅ…จๆ ˆโ€ๆ˜ฏๆŒ‡ Insight Stack๏ผˆ่ฎค็Ÿฅๆ ˆ๏ผ‰ โ€”โ€” ๆˆ‘ไปฌๆž„ๅปบ็š„ๆ˜ฏไธ€ๅฅ—่งฃๅ†ณๅคๆ‚้—ฎ้ข˜็š„ๆ€็ปดๆจกๅž‹ใ€‚

ๅœจๆ–ฐ็š„่Œƒๅผไธ‹๏ผŒๆˆ‘ไปฌ็š„ๆ ธๅฟƒ็ซžไบ‰ๅŠ›ไธๅ†ๆ˜ฏ็ฒพ้€šๅ…ทไฝ“็š„่ฏญ่จ€็‰นๆ€งๆˆ–ๆŽŒๆกๅบžๆ‚็š„ๆก†ๆžถ็ป†่Š‚โ€”โ€”ๅ› ไธบ AI ๅทฒๆ˜ฏๆœ€ๅฅฝ็š„โ€œ็™พ็ง‘ๅ…จไนฆโ€ไธŽโ€œ็†Ÿ็ปƒๅทฅโ€โ€”โ€”่€Œๆ˜ฏ่ฝฌๅ˜ไธบๆž„ๅปบไปฅไธ‹ไธ‰ๅฑ‚่ฎค็Ÿฅๆจกๅž‹๏ผš

  1. ๆดžๅฏŸๅฑ‚๏ผšๅ…ทๅค‡ Product Sense๏ผŒ่ƒฝๅคŸๅ‘็Žฐ็œŸๅฎžไธ–็•Œไธญๅ€ผๅพ—่งฃๅ†ณ็š„้—ฎ้ข˜๏ผŒๅนถๅฎšไน‰ๆธ…ๆฅš้œ€ๆฑ‚็š„่พน็•Œใ€‚
  2. ๆžถๆž„ๅฑ‚๏ผšๅ…ทๅค‡ Engineering Logic๏ผŒ่ƒฝๅคŸ่ฎพ่ฎกๅ‡บ้ซ˜ๅฏ็”จใ€ๅฏๆ‰ฉๅฑ•็š„ๆŠ€ๆœฏๆ–นๆกˆ๏ผŒๅนถๆŒ‡ๆŒฅ AI ๅฎŒๆˆๅ…ทไฝ“็š„ๆจกๅ—ๅฎž็Žฐใ€‚
  3. ๆ ๆ†ๅฑ‚๏ผšๅ…ทๅค‡ AI Quotient (AIๅ•†)๏ผŒ็†Ÿ็ปƒ่ฟ็”จ LLMใ€RAGใ€Agents ็ญ‰ๅทฅๅ…ท๏ผŒๅฐ†ไธŠ่ฟฐไธคๅฑ‚่ƒฝๅŠ›ๆŒ‡ๆ•ฐ็บงๆ”พๅคงใ€‚

AI ๅนถๆฒกๆœ‰ไปฅๆญคๆถˆ็ญๅ…จๆ ˆๅทฅ็จ‹ๅธˆ๏ผŒๅฎƒๅชๆ˜ฏๆถˆ็ญไบ†โ€œๅนณๅบธ็š„ๆฌ่ฟๅทฅโ€ใ€‚ๅฎƒๆญฃๅœจ้‚€่ฏทๆˆ‘ไปฌ๏ผŒไปŽโ€œไปฃ็ ๅทฅไบบโ€่ฟ›ๅŒ–ไธบ็œŸๆญฃ็š„โ€œไปทๅ€ผๅˆ›้€ ่€…โ€ใ€‚

',13))]))}});export{u as __pageData,y as default}; +import{H as e}from"./chunks/HighLightText.BFsbuOsY.js";import{g as i,h as r,U as n,i as a,S as s,z as l,s as o}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const m="/img/full-stack/insight_stack.png",d={class:"note custom-block"},p={class:"note custom-block"},u=JSON.parse('{"title":"ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจ AI ้‡ๅก‘่ฝฏไปถๅทฅ็จ‹็š„ไปŠๅคฉ๏ผŒๅ…จๆ ˆไธๅ†ๆ˜ฏๆŠ€ๆœฏ็š„็บฟๆ€งๅ ๅŠ ๏ผŒๆญฃๅœจไปŽโ€œๆŠ€ๆœฏๆ ˆๅ †็ Œโ€่ฝฌๅ‘โ€œ่ฎค็Ÿฅๆ ˆ้‡ๆž„โ€ใ€‚ๆœฌๆ–‡ๆๅ‡บ โ€œ(ๅทฅ็จ‹ + ไบงๅ“) ร— AIโ€ ็š„ๆ–ฐๅ…ฌๅผ๏ผŒๅŠฉๅŠ›ๅผ€ๅ‘่€…ๆž„ๅปบโ€œๆดžๅฏŸ-ๆžถๆž„-ๆ ๆ†โ€่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”๏ผŒๅˆฉ็”จ AI ๆ ๆ†่ฎฉ่‡ชๅทฑ่ฟ›ๅŒ–ไธบไปทๅ€ผๅˆ›้€ ่€…ใ€‚","frontmatter":{"date":"2025-10-24T11:05:50.000Z","title":"ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจ AI ้‡ๅก‘่ฝฏไปถๅทฅ็จ‹็š„ไปŠๅคฉ๏ผŒๅ…จๆ ˆไธๅ†ๆ˜ฏๆŠ€ๆœฏ็š„็บฟๆ€งๅ ๅŠ ๏ผŒๆญฃๅœจไปŽโ€œๆŠ€ๆœฏๆ ˆๅ †็ Œโ€่ฝฌๅ‘โ€œ่ฎค็Ÿฅๆ ˆ้‡ๆž„โ€ใ€‚ๆœฌๆ–‡ๆๅ‡บ โ€œ(ๅทฅ็จ‹ + ไบงๅ“) ร— AIโ€ ็š„ๆ–ฐๅ…ฌๅผ๏ผŒๅŠฉๅŠ›ๅผ€ๅ‘่€…ๆž„ๅปบโ€œๆดžๅฏŸ-ๆžถๆž„-ๆ ๆ†โ€่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”๏ผŒๅˆฉ็”จ AI ๆ ๆ†่ฎฉ่‡ชๅทฑ่ฟ›ๅŒ–ไธบไปทๅ€ผๅˆ›้€ ่€…ใ€‚","coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png","permalink":"/fullstack/ai-native","sticky":1,"top":true,"tags":["ๅ…จๆ ˆ","AI","ไบงๅ“"],"categories":["ๅ…จๆ ˆ"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€.md","filePath":"01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€.md"}'),c={name:"01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€.md"},y=Object.assign(c,{setup(h){return(g,t)=>(r(),i("div",null,[t[10]||(t[10]=n('

ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€ โ€‹

ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจ AI ้‡ๅก‘่ฝฏไปถๅทฅ็จ‹็š„ไปŠๅคฉ๏ผŒๅ…จๆ ˆไธๅ†ๆ˜ฏๆŠ€ๆœฏ็š„็บฟๆ€งๅ ๅŠ ๏ผŒๆญฃๅœจไปŽโ€œๆŠ€ๆœฏๆ ˆๅ †็ Œโ€่ฝฌๅ‘โ€œ่ฎค็Ÿฅๆ ˆ้‡ๆž„โ€ใ€‚ๆœฌๆ–‡ๆๅ‡บ โ€œ(ๅทฅ็จ‹ + ไบงๅ“) ร— AIโ€ ็š„ๆ–ฐๅ…ฌๅผ๏ผŒๅŠฉๅŠ›ๅผ€ๅ‘่€…ๆž„ๅปบโ€œๆดžๅฏŸ-ๆžถๆž„-ๆ ๆ†โ€่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”๏ผŒๅˆฉ็”จ AI ๆ ๆ†่ฎฉ่‡ชๅทฑ่ฟ›ๅŒ–ไธบไปทๅ€ผๅˆ›้€ ่€…ใ€‚

1. ๅผ•่จ€ โ€‹

ๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒๅฝ“ๆˆ‘ไปฌ่ฐˆ่ฎบโ€œๅ…จๆ ˆๅทฅ็จ‹ๅธˆโ€ๆ—ถ๏ผŒ่„‘ๆตทไธญๆตฎ็Žฐ็š„ๅพ€ๅพ€ๆ˜ฏไธ€ๅผ ๅ†—้•ฟไธ”ไปคไบบ็–ฒๆƒซ็š„ๆŠ€ๆœฏๅทฅๅบๆธ…ๅ•ใ€‚

ๅฐฑๅƒๆˆ‘ๆ›พ็ปไปฅไธบ็š„้‚ฃๆ ท๏ผŒๅ…จๆ ˆๅฐฑๆ˜ฏ็บฟๆ€ง็š„ๆŠ€่ƒฝๅ ๅŠ ไธŽ็‰ฉ็†ๅผ็š„ๆŠ€ๆœฏๆ‹ผๆŽฅ๏ผŒๆ˜ฏไธ€็งไพ้ ไบบๅŠ›ๅŽปๅกซ่กฅๆŠ€ๆœฏ้ธฟๆฒŸ็š„โ€œ่ฅฟ่ฅฟๅผ—ๆ–ฏๅผโ€ๅŠชๅŠ›๏ผš

  • ็บฟๆ€ง็š„ๆŠ€่ƒฝๅ ๅŠ ๏ผšๆˆ‘ไปฌ่ขซ่ฟซๆˆไธบโ€œๅ…จ่ƒฝๆ‰‹โ€๏ผŒๅทฆๆ‰‹็”จ React/Vue ๆž„ๅปบ็ฒพ็พŽ็š„ UI๏ผŒๅณๆ‰‹็”จ Node/Go ็ผ–ๅ†™้ซ˜ๅนถๅ‘ API๏ผŒไธญ้—ด่ฟ˜่ฆๅค„็†ๆ•ฐๆฎๅบ“็š„ ACID ไบ‹ๅŠก๏ผˆๆ•ดไธช้“พ่ทฏๅŸบๆœฌๆ˜ฏ่ฟ™ๆ ท็š„๏ผšๆž„ๅปบๅ‰็ซฏ UI ไบคไบ’ -> ็ผ–ๅ†™ๅŽ็ซฏไธšๅŠกAPI -> ็ปดๆŠคๅบ•ๅฑ‚ๆ•ฐๆฎๅญ˜ๅ‚จไธŽๆœๅŠก็จณๅฎš๏ผ‰ใ€‚
  • ็‰ฉ็†ๅผ็š„ๆ‹ผๆŽฅ๏ผšๆˆ‘ไปฌ่ฏ•ๅ›พ็”จไบบๅŠ›ๅŽปๆŽฉ็›–ๆŠ€ๆœฏๆ ˆไน‹้—ด็š„่ฃ‚็—•โ€”โ€”็”จๅ„็ง Shell ่„šๆœฌใ€Docker ้…็ฝฎใ€Nginx ่ฝฌๅ‘่ง„ๅˆ™๏ผŒๅŽป็ฒ˜ๅˆไธ€ไธชๆ”ฏ็ฆป็ ด็ขŽ็š„็ณป็ปŸใ€‚

้‚ฃไธชๆ—ถๅ€™๏ผŒๆˆ‘่ฎคไธบๅ…จๆ ˆ็š„ๆŠคๅŸŽๆฒณๅœจไบŽโ€œๆŽŒๆก็ผ–็จ‹่ฏญ่จ€็š„ๆ•ฐ้‡โ€ใ€‚ๅช่ฆๆˆ‘่ƒฝๅ†™ๅ‰็ซฏใ€่ƒฝๅ†™ๅŽ็ซฏใ€ๅถๅฐ”่ฟ˜่ƒฝๅ†™็‚น Python ็ˆฌ่™ซ๏ผŒๆˆ‘ๅฐฑๆ˜ฏๅ…จๆ ˆใ€‚ๆˆ‘ไปฌ้ƒฝๅœจๆ‹ผๅ‘ฝๅœฐๅšๅŠ ๆณ•๏ผŒ่ฏ•ๅ›พๆŠŠ่‡ชๅทฑๆ‰“็ฃจๆˆไธ€ๆŠŠๆ— ๆ‰€ไธ่ƒฝ็š„็‘žๅฃซๅ†›ๅˆ€ใ€‚

ไฝ†ๅœจ AI ๅฝปๅบ•้‡ๆž„ไปฃ็ ็”Ÿไบงๆ–นๅผ็š„ไปŠๅคฉ๏ผŒ่ฟ™ไธชๅฎšไน‰ๆ˜พๅพ—่ฟ‡ๆ—ถไธ”็‹ญ้š˜ใ€‚ๅฝ“ GPT5/Claude Code/Cursor ็ญ‰่ƒฝๅคŸๅœจไธ€ๅˆ†้’Ÿๅ†…็”Ÿๆˆ้ซ˜่ดจ้‡็š„ CRUD ไปฃ็ ๏ผŒ็”š่‡ณ่‡ชๅŠจๅฎŒๆˆๅ•ๅ…ƒๆต‹่ฏ•ๆ—ถ๏ผŒๆˆ‘ไปฌๆŽŒๆก่ฏญ่จ€ใ€่ฏญๆณ•็š„ไปทๅ€ผๅˆ่ฟ˜ๅ‰ฉๅคšๅฐ‘๏ผŸๅฆ‚ๆžœไธ€ไธชไบบๅฐฑ่ƒฝ้€š่ฟ‡ AI ๅฎŒๆˆไธ€ๆ”ฏๅ›ข้˜Ÿ็š„ๅทฅไฝœ๏ผŒ้‚ฃไนˆโ€œๅ…จๆ ˆโ€็š„่พน็•Œๅˆฐๅบ•ๅœจๅ“ช้‡Œ๏ผŸ

็œŸๆญฃ็š„ๅ…จๆ ˆ๏ผŒๅทฒ็ปไปŽโ€œๆŠ€่ƒฝ็š„็‰ฉ็†ๅ ๅŠ โ€ ่ฟ›ๅŒ–ๅˆฐไบ† โ€œไปทๅ€ผ็š„ๅŒ–ๅญฆ้—ญ็Žฏโ€ใ€‚ๅฆ‚ๆžœไธ€ไธชไบบ้€š่ฟ‡ AI ๅฐฑ่ƒฝๅฎŒๆˆ่ฟ‡ๅŽปไธ€ๆ”ฏๅ›ข้˜Ÿ็š„ไบคไป˜้‡๏ผŒ้‚ฃไนˆโ€œๅ…จๆ ˆโ€็š„่พน็•Œๅฐฑไธๅ†ๆ˜ฏๆŠ€ๆœฏๆ ˆ๏ผˆTech Stack๏ผ‰๏ผŒ่€Œๆ˜ฏ่ฎค็Ÿฅๆ ˆ๏ผˆInsight Stack๏ผ‰ใ€‚

็ปดๅบฆๆ—งๅ…จๆ ˆ (Legacy Full Stack)ๆ–ฐๅ…จๆ ˆ (AI-Native Full Stack)
ๅ…ณๆณจ็‚น่ฏญ่จ€ใ€ๆก†ๆžถใ€่ฏญๆณ• (Tools)้—ฎ้ข˜ใ€ๅœบๆ™ฏใ€ไปทๅ€ผ (Value)
ๆ ธๅฟƒ่ƒฝๅŠ›็บฏๆ‰‹ๅทฅ็ผ–็  (Coding)ๆžถๆž„่ฎพ่ฎกใ€Prompt ๅทฅ็จ‹ใ€ไปฃ็ ๅฎกๆŸฅ (Architecting)
ไบคไป˜่พน็•Œๅ‰็ซฏ้กต้ข + ๅŽ็ซฏๆŽฅๅฃ้œ€ๆฑ‚ๆดžๅฏŸ โ†’\\rightarrow ไบงๅ“่ฎพ่ฎก โ†’\\rightarrow ่ฝๅœฐ่ฟ่ฅ
AI ็š„่ง’่‰ฒ่พ…ๅŠฉๅทฅๅ…ท (Copilot)ๆ ธๅฟƒๅผ•ๆ“ŽไธŽๅˆ†่บซ (Co-founder)

2. AI ๆ—ถไปฃ็š„ๅ…จๆ ˆๆ–ฐๅ…ฌๅผ โ€‹

ๅœจ้‡ๆ–ฐๆ€่€ƒๆŠ€ๆœฏๆผ”่ฟ›็š„้€ป่พ‘ๅŽ๏ผŒ็ฌ”่€…ๆ€่€ƒๅ‡บไบ†ไธ€ไธชๆ›ดๅ…ท็Žฐไปฃๆ„Ÿ็š„ๅ…จๆ ˆไปทๅ€ผๅ…ฌๅผใ€‚่ฟ™ไธไป…ไป…ๆ˜ฏๆŠ€่ƒฝ็š„็ป„ๅˆ๏ผŒๆ›ดๆ˜ฏๆ€็ปดๆจกๅž‹็š„้‡ๆž„๏ผš

Fullย Stack=(Engineering+Product)ร—AI\\mathbf{Full\\ Stack} \\; = \\; (\\mathbf{Engineering} \\; + \\; \\mathbf{Product}) \\; \\times \\; \\mathbf{AI}

่ฟ™ไธชๅ…ฌๅผๅ‘Š่ฏ‰ๆˆ‘ไปฌ๏ผšไธ่ฆๅ†ๆ‰ง็€ไบŽๆ‰‹้‡Œๆœ‰ๅคšๅฐ‘ๆŠŠ้”คๅญ๏ผŒ่€Œ่ฆๅ…ณๆณจไฝ ่ƒฝๆž„ๅปบๅ‡บๆ€Žๆ ท็š„ๅปบ็ญ‘๏ผŒAI ๆ˜ฏ้‚ฃไธช่ƒฝๅคŸ่ฎฉๅทฅ็จ‹่ƒฝๅŠ›ๅ’Œไบงๅ“ๆ€็ปดไบง็”ŸๆŒ‡ๆ•ฐ็บง็ˆ†็‚ธ็š„ไน˜ๆ•ฐใ€‚

2.1. Engineering (ๅทฅ็จ‹ๅŠ›)๏ผšไปŽโ€œๅ›ฐไบŽๅฎž็Žฐโ€ๅˆฐโ€œๆ•ขไบŽ่ฎพ่ฎกโ€ โ€‹

',16)),a("div",d,[t[3]||(t[3]=a("p",{class:"title note-title custom-block-title"},"ๆ–ฐๆ—งๆจกๅผๅฏนๆฏ”๏ผš",-1)),t[4]||(t[4]=a("p",null,[a("strong",null,"ๆ—งๆจกๅผ"),s("๏ผš็†Ÿ็ปƒ่ฎฐๅฟ† API๏ผŒๆ‰‹ๅ†™ๅคง้‡ๆ ทๆฟไปฃ็ ๏ผŒๅ…ณๆณจๅ…ทไฝ“็š„่ฏญ่จ€ๅ’Œ่ฏญๆณ•็ป†่Š‚ใ€‚")],-1)),a("p",null,[t[1]||(t[1]=a("strong",null,"ๆ–ฐๆจกๅผ",-1)),t[2]||(t[2]=s("๏ผš",-1)),l(e,{type:"note",bold:""},{default:o(()=>[...t[0]||(t[0]=[s("ๅ…ทๅค‡็ณป็ปŸ็บง่ง†้‡Ž๏ผŒๅ…ณๆณจๆžถๆž„็š„ๅฅๅฃฎๆ€งใ€ๅฏ็ปดๆŠคๆ€งไปฅๅŠ่‡ชๅŠจๅŒ–ไบคไป˜ไฝ“็ณปใ€‚",-1)])]),_:1})])]),t[11]||(t[11]=n('

ๅœจ AI ๆ—ถไปฃ๏ผŒๅทฅ็จ‹ๅŠ›็š„ๅ†…ๆ ธๅ‘็”Ÿไบ†่ฟ็งป๏ผŒAI ๅœจ้€ๆธๆŽฅ็ฎก How๏ผˆๆ€Žไนˆๅ†™ไปฃ็ ๏ผ‰๏ผŒไบบ็ฑปๅฟ…้กปไธ“ๆณจไบŽ What๏ผˆๅšไป€ไนˆ็ณป็ปŸ๏ผ‰ๅ’Œ Why๏ผˆไธบไป€ไนˆ่ฟ™ๆ ท่ฎพ่ฎก๏ผ‰ใ€‚

่ƒฝๅŠ›็ปดๅบฆๆ ธๅฟƒ่ฆ็‚น
ๆžถๆž„ๅ†ณ็ญ–ๅฝ“ไปฃ็ ็”Ÿๆˆๅ˜ๅพ—ๅป‰ไปท๏ผŒๆžถๆž„ๅ†ณ็ญ–ๅ˜ๅพ—ๆ˜‚่ดตใ€‚ๆ˜ฏ้€‰ๆ‹ฉๅ•ไฝ“่ฟ˜ๆ˜ฏๅพฎๆœๅŠก๏ผŸๆ˜ฏ SQL ่ฟ˜ๆ˜ฏ NoSQL๏ผŸ่ฟ™ไบ›ๅ†ณๅฎšไบ†็ณป็ปŸ็š„ไธŠ้™ใ€‚
ไปฃ็ ๅฎก่ฎกไธŽ้ชŒๆ”ถไฝ ไปŽ"ๅ†™ไฝœ่€…"ๅ˜ๆˆไบ†"็ผ–่พ‘"ๅ’Œ"ๅฎก่ฎกๅ‘˜"๏ผŒๅฝ“ AI ๅธฎไฝ ๅ†™ๅฎŒ 80% ็š„ไปฃ็ ๅŽ๏ผŒไฝ ๆ˜ฏๅฆๆœ‰่ƒฝๅŠ›่ฐƒ่ฏ•ๅ‰ฉไธ‹้‚ฃ 20% ๆœ€้š่”ฝ็š„้€ป่พ‘ๆผๆดž๏ผŸ
DevOps ไธŽไบคไป˜ๅทฅ็จ‹ๅŠ›ไธๅ†ๆญขๆญฅไบŽ localhost๏ผŒๅฎƒๆ„ๅ‘ณ็€ไฝ ่ƒฝๅˆฉ็”จ Dockerใ€K8sใ€CI/CD ไนƒ่‡ณ Serverless๏ผŒๅฐ†ไปฃ็ ๅฎ‰ๅ…จใ€็จณๅฎšๅœฐ้€่พพ็บฟไธŠ๏ผŒๅนถๅฐ†ไบงๅ“ไบคไป˜ๅˆฐ็”จๆˆทๆ‰‹ไธญใ€‚

2.2. Product (ไบงๅ“ๅŠ›)๏ผšไปŽโ€œ้œ€ๆฑ‚็ฟป่ฏ‘ๆœบโ€ๅˆฐโ€œไปทๅ€ผๅฎšไน‰่€…โ€ โ€‹

',3)),a("div",p,[t[8]||(t[8]=a("p",{class:"title note-title custom-block-title"},"ๆ–ฐๆ—งๆจกๅผๅฏนๆฏ”๏ผš",-1)),t[9]||(t[9]=a("p",null,[a("strong",null,"ๆ—งๆจกๅผ"),s("๏ผš่ขซๅŠจๆŽฅๆ”ถ้œ€ๆฑ‚ๆ–‡ๆกฃ๏ผŒๅ…ณๆณจๅŠŸ่ƒฝ็š„ๆŒ‰ๆ—ถไธŠ็บฟใ€‚")],-1)),a("p",null,[t[6]||(t[6]=a("strong",null,"ๆ–ฐๆจกๅผ",-1)),t[7]||(t[7]=s("๏ผš",-1)),l(e,{type:"note",bold:""},{default:o(()=>[...t[5]||(t[5]=[s("็†่งฃๅ•†ไธšๆจกๅผไธŽ็”จๆˆท็—›็‚น๏ผŒ่ƒฝๅˆคๆ–ญโ€œๅšไป€ไนˆโ€ๆฏ”โ€œๆ€Žไนˆๅšโ€ๆ›ด้‡่ฆใ€‚",-1)])]),_:1})])]),t[12]||(t[12]=n('

ไบงๅ“ๅŠ›ๆ˜ฏๆŠ€ๆœฏไบบๅ‘˜ๆœ€ๅฎนๆ˜“ๅฟฝ่ง†๏ผŒไฝ†ๅœจๅ…ฌๅผไธญๆƒ้‡ๆž้ซ˜็š„ๅ˜้‡๏ผŒๅฎƒไธŽๅทฅ็จ‹ๅŠ›ๆ˜ฏ็›ธๅŠ ๅ…ณ็ณปโ€”โ€”ๆฒกๆœ‰ไบงๅ“ๅŠ›็š„ๅทฅ็จ‹ๅธˆ๏ผŒๅชๆ˜ฏ AI ็š„ๆ“ไฝœๅ‘˜ใ€‚

็ปดๅบฆๆ ธๅฟƒ่ฆ็‚น
ๅŒ็†ๅฟƒ (Empathy)่„ฑ็ฆป"ๆŠ€ๆœฏ่‡ชๅ—จ"๏ผŒๅ›žๅฝ’"็”จๆˆทๆ„Ÿ็Ÿฅ"ใ€‚ๅทฅ็จ‹ๅธˆๅธธๆฒ‰่ฟทไบŽๅŽ็ซฏๆžถๆž„็š„ๅฎŒ็พŽ้‡ๆž„๏ผˆHigh Effort๏ผ‰๏ผŒๅดๅฟฝ็•ฅๅ‰็ซฏๆจก็ณŠ็š„ๆŠฅ้”™ๆ็คบ๏ผˆLow Effort๏ผ‰ๆญฃ่ฎฉ็”จๆˆทๆŠ“็‹‚ใ€‚
ๅ…ทๅค‡ๅŒ็†ๅฟƒ็š„ๅ…จๆ ˆๆ‡‚ๅพ—่ฎก็ฎ—ไฝ“้ชŒ ROI๏ผšไผ˜ๅ…ˆ่งฃๅ†ณ้˜ป็ข็”จๆˆท่พพๆˆ็›ฎๆ ‡็š„"ๅฏ่ง้šœ็ข"๏ผŒ่€Œ้ž็›ฒ็›ฎ่ฟฝๆฑ‚ๆŠ€ๆœฏๅฎž็Žฐ็š„"้šๆ€งๅฎŒ็พŽ"ใ€‚
MVP ๆ€็ปด (ROI ๆ„่ฏ†)็ฒพๅ‡†่ฏ†ๅˆซ"ไฝŽๆˆๆœฌ้ซ˜ไปทๅ€ผ"็š„ๅŠŸ่ƒฝใ€‚ๅœจ AI ่พ…ๅŠฉไธ‹๏ผŒๅฟซ้€Ÿๆž„ๅปบๆœ€ๅฐๅฏ่กŒๆ€งไบงๅ“๏ผˆMVP๏ผ‰้ชŒ่ฏๅ‡่ฎพ๏ผŒ่€Œ้ž้™ทๅ…ฅ่ฟ‡ๅบฆ่ฎพ่ฎก็š„ๆณฅๆฝญใ€‚
ไธšๅŠก้—ญ็Žฏไธไป…ๆŠŠๅŠŸ่ƒฝๅšๅ‡บๆฅ๏ผŒ่ฟ˜่ฆ่€ƒ่™‘ๆ•ฐๆฎๅฆ‚ไฝ•ๅ›žๆตใ€็”จๆˆทๅฆ‚ไฝ•ๅขž้•ฟใ€‚

2.3. AI (AI ๆ ๆ†)๏ผšๆŒ‡ๆ•ฐ็บงๅ€ๅขžๅ™จ โ€‹

NOTE

ๆ—งๆจกๅผ๏ผšๅฐ† AI ่ง†ไธบๆœ็ดขๅผ•ๆ“Ž็š„ๆ›ฟไปฃๅ“ๆˆ–็ฎ€ๅ•็š„ไปฃ็ ่กฅๅ…จๅทฅๅ…ทใ€‚

ๆ–ฐๆจกๅผ๏ผšAI ๆ˜ฏไฝ ็š„ๆ•ฐๅญ—ๅ‘˜ๅทฅใ€ๆŠ€่ƒฝๅˆ†่บซ๏ผŒๆ˜ฏ่ฎฉไธชไบบไบงๅ‡บ่ฟ™็ง็บฟๆ€งๅขž้•ฟๅ˜ๆˆๆŒ‡ๆ•ฐๅขž้•ฟ็š„ๅ…ณ้”ฎๅ˜้‡ใ€‚

ไธบไป€ไนˆ AI ๅค„ไบŽไน˜ๆ•ฐ็š„ไฝ็ฝฎ๏ผŸๅ› ไธบๅฎƒๆ˜ฏๅฏนไธŠ่ฟฐไธค็ง่ƒฝๅŠ›็š„ๅ…จๆ–นไฝๆ”พๅคง๏ผš

่ƒฝๅŠ›็ปดๅบฆๆ ธๅฟƒ่ฆ็‚น
ๆŠ€่ƒฝๆ ‘็š„่กฅๅ…จๅˆฉ็”จ Cursor/Claude Code ็ญ‰ AI ็ผ–็จ‹ไธŽ Agentic ๅทฅๅ…ท๏ผŒๅŽ็ซฏๅทฅ็จ‹ๅธˆๅฏไปฅๅ†™ๅ‡บๅƒ็ด ็บงๅฎŒ็พŽ็š„ๅ‰็ซฏ CSS๏ผŒๅ‰็ซฏๅทฅ็จ‹ๅธˆๅฏไปฅ็ผ–ๅ†™ๅคๆ‚็š„ SQL ๅˆ†ๆž่ฏญๅฅใ€‚AI ๆŠนๅนณไบ†ๆŠ€ๆœฏๆ ˆไน‹้—ด็š„ไธ“ไธš้—จๆง›ใ€‚
ไธŠไธ‹ๆ–‡ๅทฅ็จ‹ๅญฆไผšๅฆ‚ไฝ•ๅ‘ AI ๆไพ›้ซ˜่ดจ้‡็š„ไธŠไธ‹ๆ–‡๏ผˆContext๏ผ‰๏ผŒ่ฎฉ AI ็†่งฃไฝ ็š„้กน็›ฎ็ป“ๆž„ใ€ไธšๅŠก้€ป่พ‘ๅ’Œ็ผ–็ ่ง„่Œƒ๏ผŒไปŽ่€Œ็”Ÿๆˆ็”Ÿไบง็บงไปฃ็ ใ€‚
ๆ—ถ้—ดๅŽ‹็ผฉๅฐ†ไปŽ"Idea"ๅˆฐ"Demo"็š„ๆ—ถ้—ดไปŽๆ•ฐๅ‘จๅŽ‹็ผฉๅˆฐๆ•ฐๅฐๆ—ถใ€‚่ฟ™่ฎฉ"่ถ…็บงไธชไฝ“๏ผˆSolo Maker๏ผ‰"ๆˆไธบๅฏ่ƒฝโ€”โ€”ไธ€ไธชไบบๅฐฑๆ˜ฏไธ€ๆ”ฏ้˜Ÿไผใ€‚

3. ไปŽ Tech Stack ๅˆฐ Insight Stack๏ผš่ฟ›้˜ถไน‹่ทฏ โ€‹

ๅ…จๆ ˆๆ–ฐๆ—ถไปฃๆžถๆž„ๅ›พ

่ฟ‡ๅŽป็š„โ€œๅ…จๆ ˆโ€ๆ˜ฏๆŒ‡ Tech Stack๏ผˆๆŠ€ๆœฏๆ ˆ๏ผ‰ โ€”โ€” ๆˆ‘ไปฌๅœจ็ฎ€ๅކไธŠๅ †็ Œ็š„ Reactใ€Vueใ€NestJSใ€Pythonใ€Rust ็ญ‰ๅ่ฏใ€‚

็Žฐๅœจ็š„โ€œๅ…จๆ ˆโ€ๆ˜ฏๆŒ‡ Insight Stack๏ผˆ่ฎค็Ÿฅๆ ˆ๏ผ‰ โ€”โ€” ๆˆ‘ไปฌๆž„ๅปบ็š„ๆ˜ฏไธ€ๅฅ—่งฃๅ†ณๅคๆ‚้—ฎ้ข˜็š„ๆ€็ปดๆจกๅž‹ใ€‚

ๅœจๆ–ฐ็š„่Œƒๅผไธ‹๏ผŒๆˆ‘ไปฌ็š„ๆ ธๅฟƒ็ซžไบ‰ๅŠ›ไธๅ†ๆ˜ฏ็ฒพ้€šๅ…ทไฝ“็š„่ฏญ่จ€็‰นๆ€งๆˆ–ๆŽŒๆกๅบžๆ‚็š„ๆก†ๆžถ็ป†่Š‚โ€”โ€”ๅ› ไธบ AI ๅทฒๆ˜ฏๆœ€ๅฅฝ็š„โ€œ็™พ็ง‘ๅ…จไนฆโ€ไธŽโ€œ็†Ÿ็ปƒๅทฅโ€โ€”โ€”่€Œๆ˜ฏ่ฝฌๅ˜ไธบๆž„ๅปบไปฅไธ‹ไธ‰ๅฑ‚่ฎค็Ÿฅๆจกๅž‹๏ผš

  1. ๆดžๅฏŸๅฑ‚๏ผšๅ…ทๅค‡ Product Sense๏ผŒ่ƒฝๅคŸๅ‘็Žฐ็œŸๅฎžไธ–็•Œไธญๅ€ผๅพ—่งฃๅ†ณ็š„้—ฎ้ข˜๏ผŒๅนถๅฎšไน‰ๆธ…ๆฅš้œ€ๆฑ‚็š„่พน็•Œใ€‚
  2. ๆžถๆž„ๅฑ‚๏ผšๅ…ทๅค‡ Engineering Logic๏ผŒ่ƒฝๅคŸ่ฎพ่ฎกๅ‡บ้ซ˜ๅฏ็”จใ€ๅฏๆ‰ฉๅฑ•็š„ๆŠ€ๆœฏๆ–นๆกˆ๏ผŒๅนถๆŒ‡ๆŒฅ AI ๅฎŒๆˆๅ…ทไฝ“็š„ๆจกๅ—ๅฎž็Žฐใ€‚
  3. ๆ ๆ†ๅฑ‚๏ผšๅ…ทๅค‡ AI Quotient (AIๅ•†)๏ผŒ็†Ÿ็ปƒ่ฟ็”จ LLMใ€RAGใ€Agents ็ญ‰ๅทฅๅ…ท๏ผŒๅฐ†ไธŠ่ฟฐไธคๅฑ‚่ƒฝๅŠ›ๆŒ‡ๆ•ฐ็บงๆ”พๅคงใ€‚

AI ๅนถๆฒกๆœ‰ไปฅๆญคๆถˆ็ญๅ…จๆ ˆๅทฅ็จ‹ๅธˆ๏ผŒๅฎƒๅชๆ˜ฏๆถˆ็ญไบ†โ€œๅนณๅบธ็š„ๆฌ่ฟๅทฅโ€ใ€‚ๅฎƒๆญฃๅœจ้‚€่ฏทๆˆ‘ไปฌ๏ผŒไปŽโ€œไปฃ็ ๅทฅไบบโ€่ฟ›ๅŒ–ไธบ็œŸๆญฃ็š„โ€œไปทๅ€ผๅˆ›้€ ่€…โ€ใ€‚

',13))]))}});export{u as __pageData,y as default}; diff --git "a/assets/01.\345\205\250\346\240\210_01.AI Native \345\267\245\347\250\213\346\200\235\347\273\264_01.\344\270\215\346\255\242\344\272\216\344\273\243\347\240\201\357\274\232\346\236\204\345\273\272 AI \346\227\266\344\273\243\345\205\250\346\240\210\345\267\245\347\250\213\345\270\210\347\232\204\342\200\234\350\256\244\347\237\245\344\270\211\345\261\202\345\241\224\342\200\235.md.Ch3CtLm0.lean.js" "b/assets/01.\345\205\250\346\240\210_01.AI Native \345\267\245\347\250\213\346\200\235\347\273\264_01.\344\270\215\346\255\242\344\272\216\344\273\243\347\240\201\357\274\232\346\236\204\345\273\272 AI \346\227\266\344\273\243\345\205\250\346\240\210\345\267\245\347\250\213\345\270\210\347\232\204\342\200\234\350\256\244\347\237\245\344\270\211\345\261\202\345\241\224\342\200\235.md.DnAdo66b.lean.js" similarity index 95% rename from "assets/01.\345\205\250\346\240\210_01.AI Native \345\267\245\347\250\213\346\200\235\347\273\264_01.\344\270\215\346\255\242\344\272\216\344\273\243\347\240\201\357\274\232\346\236\204\345\273\272 AI \346\227\266\344\273\243\345\205\250\346\240\210\345\267\245\347\250\213\345\270\210\347\232\204\342\200\234\350\256\244\347\237\245\344\270\211\345\261\202\345\241\224\342\200\235.md.Ch3CtLm0.lean.js" rename to "assets/01.\345\205\250\346\240\210_01.AI Native \345\267\245\347\250\213\346\200\235\347\273\264_01.\344\270\215\346\255\242\344\272\216\344\273\243\347\240\201\357\274\232\346\236\204\345\273\272 AI \346\227\266\344\273\243\345\205\250\346\240\210\345\267\245\347\250\213\345\270\210\347\232\204\342\200\234\350\256\244\347\237\245\344\270\211\345\261\202\345\241\224\342\200\235.md.DnAdo66b.lean.js" index c6dd7554..5c768fe0 100644 --- "a/assets/01.\345\205\250\346\240\210_01.AI Native \345\267\245\347\250\213\346\200\235\347\273\264_01.\344\270\215\346\255\242\344\272\216\344\273\243\347\240\201\357\274\232\346\236\204\345\273\272 AI \346\227\266\344\273\243\345\205\250\346\240\210\345\267\245\347\250\213\345\270\210\347\232\204\342\200\234\350\256\244\347\237\245\344\270\211\345\261\202\345\241\224\342\200\235.md.Ch3CtLm0.lean.js" +++ "b/assets/01.\345\205\250\346\240\210_01.AI Native \345\267\245\347\250\213\346\200\235\347\273\264_01.\344\270\215\346\255\242\344\272\216\344\273\243\347\240\201\357\274\232\346\236\204\345\273\272 AI \346\227\266\344\273\243\345\205\250\346\240\210\345\267\245\347\250\213\345\270\210\347\232\204\342\200\234\350\256\244\347\237\245\344\270\211\345\261\202\345\241\224\342\200\235.md.DnAdo66b.lean.js" @@ -1 +1 @@ -import{H as e}from"./chunks/HighLightText.gRdAAF3C.js";import{g as i,h as r,U as n,i as a,S as s,z as l,s as o}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const m="/img/full-stack/insight_stack.png",d={class:"note custom-block"},p={class:"note custom-block"},u=JSON.parse('{"title":"ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจ AI ้‡ๅก‘่ฝฏไปถๅทฅ็จ‹็š„ไปŠๅคฉ๏ผŒๅ…จๆ ˆไธๅ†ๆ˜ฏๆŠ€ๆœฏ็š„็บฟๆ€งๅ ๅŠ ๏ผŒๆญฃๅœจไปŽโ€œๆŠ€ๆœฏๆ ˆๅ †็ Œโ€่ฝฌๅ‘โ€œ่ฎค็Ÿฅๆ ˆ้‡ๆž„โ€ใ€‚ๆœฌๆ–‡ๆๅ‡บ โ€œ(ๅทฅ็จ‹ + ไบงๅ“) ร— AIโ€ ็š„ๆ–ฐๅ…ฌๅผ๏ผŒๅŠฉๅŠ›ๅผ€ๅ‘่€…ๆž„ๅปบโ€œๆดžๅฏŸ-ๆžถๆž„-ๆ ๆ†โ€่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”๏ผŒๅˆฉ็”จ AI ๆ ๆ†่ฎฉ่‡ชๅทฑ่ฟ›ๅŒ–ไธบไปทๅ€ผๅˆ›้€ ่€…ใ€‚","frontmatter":{"date":"2025-10-24T11:05:50.000Z","title":"ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจ AI ้‡ๅก‘่ฝฏไปถๅทฅ็จ‹็š„ไปŠๅคฉ๏ผŒๅ…จๆ ˆไธๅ†ๆ˜ฏๆŠ€ๆœฏ็š„็บฟๆ€งๅ ๅŠ ๏ผŒๆญฃๅœจไปŽโ€œๆŠ€ๆœฏๆ ˆๅ †็ Œโ€่ฝฌๅ‘โ€œ่ฎค็Ÿฅๆ ˆ้‡ๆž„โ€ใ€‚ๆœฌๆ–‡ๆๅ‡บ โ€œ(ๅทฅ็จ‹ + ไบงๅ“) ร— AIโ€ ็š„ๆ–ฐๅ…ฌๅผ๏ผŒๅŠฉๅŠ›ๅผ€ๅ‘่€…ๆž„ๅปบโ€œๆดžๅฏŸ-ๆžถๆž„-ๆ ๆ†โ€่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”๏ผŒๅˆฉ็”จ AI ๆ ๆ†่ฎฉ่‡ชๅทฑ่ฟ›ๅŒ–ไธบไปทๅ€ผๅˆ›้€ ่€…ใ€‚","coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png","permalink":"/fullstack/ai-native","sticky":1,"top":true,"tags":["ๅ…จๆ ˆ","AI","ไบงๅ“"],"categories":["ๅ…จๆ ˆ"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€.md","filePath":"01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€.md"}'),c={name:"01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€.md"},y=Object.assign(c,{setup(h){return(g,t)=>(r(),i("div",null,[t[10]||(t[10]=n("",16)),a("div",d,[t[3]||(t[3]=a("p",{class:"title note-title custom-block-title"},"ๆ–ฐๆ—งๆจกๅผๅฏนๆฏ”๏ผš",-1)),t[4]||(t[4]=a("p",null,[a("strong",null,"ๆ—งๆจกๅผ"),s("๏ผš็†Ÿ็ปƒ่ฎฐๅฟ† API๏ผŒๆ‰‹ๅ†™ๅคง้‡ๆ ทๆฟไปฃ็ ๏ผŒๅ…ณๆณจๅ…ทไฝ“็š„่ฏญ่จ€ๅ’Œ่ฏญๆณ•็ป†่Š‚ใ€‚")],-1)),a("p",null,[t[1]||(t[1]=a("strong",null,"ๆ–ฐๆจกๅผ",-1)),t[2]||(t[2]=s("๏ผš",-1)),l(e,{type:"note",bold:""},{default:o(()=>[...t[0]||(t[0]=[s("ๅ…ทๅค‡็ณป็ปŸ็บง่ง†้‡Ž๏ผŒๅ…ณๆณจๆžถๆž„็š„ๅฅๅฃฎๆ€งใ€ๅฏ็ปดๆŠคๆ€งไปฅๅŠ่‡ชๅŠจๅŒ–ไบคไป˜ไฝ“็ณปใ€‚",-1)])]),_:1})])]),t[11]||(t[11]=n("",3)),a("div",p,[t[8]||(t[8]=a("p",{class:"title note-title custom-block-title"},"ๆ–ฐๆ—งๆจกๅผๅฏนๆฏ”๏ผš",-1)),t[9]||(t[9]=a("p",null,[a("strong",null,"ๆ—งๆจกๅผ"),s("๏ผš่ขซๅŠจๆŽฅๆ”ถ้œ€ๆฑ‚ๆ–‡ๆกฃ๏ผŒๅ…ณๆณจๅŠŸ่ƒฝ็š„ๆŒ‰ๆ—ถไธŠ็บฟใ€‚")],-1)),a("p",null,[t[6]||(t[6]=a("strong",null,"ๆ–ฐๆจกๅผ",-1)),t[7]||(t[7]=s("๏ผš",-1)),l(e,{type:"note",bold:""},{default:o(()=>[...t[5]||(t[5]=[s("็†่งฃๅ•†ไธšๆจกๅผไธŽ็”จๆˆท็—›็‚น๏ผŒ่ƒฝๅˆคๆ–ญโ€œๅšไป€ไนˆโ€ๆฏ”โ€œๆ€Žไนˆๅšโ€ๆ›ด้‡่ฆใ€‚",-1)])]),_:1})])]),t[12]||(t[12]=n("",13))]))}});export{u as __pageData,y as default}; +import{H as e}from"./chunks/HighLightText.BFsbuOsY.js";import{g as i,h as r,U as n,i as a,S as s,z as l,s as o}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const m="/img/full-stack/insight_stack.png",d={class:"note custom-block"},p={class:"note custom-block"},u=JSON.parse('{"title":"ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจ AI ้‡ๅก‘่ฝฏไปถๅทฅ็จ‹็š„ไปŠๅคฉ๏ผŒๅ…จๆ ˆไธๅ†ๆ˜ฏๆŠ€ๆœฏ็š„็บฟๆ€งๅ ๅŠ ๏ผŒๆญฃๅœจไปŽโ€œๆŠ€ๆœฏๆ ˆๅ †็ Œโ€่ฝฌๅ‘โ€œ่ฎค็Ÿฅๆ ˆ้‡ๆž„โ€ใ€‚ๆœฌๆ–‡ๆๅ‡บ โ€œ(ๅทฅ็จ‹ + ไบงๅ“) ร— AIโ€ ็š„ๆ–ฐๅ…ฌๅผ๏ผŒๅŠฉๅŠ›ๅผ€ๅ‘่€…ๆž„ๅปบโ€œๆดžๅฏŸ-ๆžถๆž„-ๆ ๆ†โ€่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”๏ผŒๅˆฉ็”จ AI ๆ ๆ†่ฎฉ่‡ชๅทฑ่ฟ›ๅŒ–ไธบไปทๅ€ผๅˆ›้€ ่€…ใ€‚","frontmatter":{"date":"2025-10-24T11:05:50.000Z","title":"ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจ AI ้‡ๅก‘่ฝฏไปถๅทฅ็จ‹็š„ไปŠๅคฉ๏ผŒๅ…จๆ ˆไธๅ†ๆ˜ฏๆŠ€ๆœฏ็š„็บฟๆ€งๅ ๅŠ ๏ผŒๆญฃๅœจไปŽโ€œๆŠ€ๆœฏๆ ˆๅ †็ Œโ€่ฝฌๅ‘โ€œ่ฎค็Ÿฅๆ ˆ้‡ๆž„โ€ใ€‚ๆœฌๆ–‡ๆๅ‡บ โ€œ(ๅทฅ็จ‹ + ไบงๅ“) ร— AIโ€ ็š„ๆ–ฐๅ…ฌๅผ๏ผŒๅŠฉๅŠ›ๅผ€ๅ‘่€…ๆž„ๅปบโ€œๆดžๅฏŸ-ๆžถๆž„-ๆ ๆ†โ€่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”๏ผŒๅˆฉ็”จ AI ๆ ๆ†่ฎฉ่‡ชๅทฑ่ฟ›ๅŒ–ไธบไปทๅ€ผๅˆ›้€ ่€…ใ€‚","coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png","permalink":"/fullstack/ai-native","sticky":1,"top":true,"tags":["ๅ…จๆ ˆ","AI","ไบงๅ“"],"categories":["ๅ…จๆ ˆ"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€.md","filePath":"01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€.md"}'),c={name:"01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€.md"},y=Object.assign(c,{setup(h){return(g,t)=>(r(),i("div",null,[t[10]||(t[10]=n("",16)),a("div",d,[t[3]||(t[3]=a("p",{class:"title note-title custom-block-title"},"ๆ–ฐๆ—งๆจกๅผๅฏนๆฏ”๏ผš",-1)),t[4]||(t[4]=a("p",null,[a("strong",null,"ๆ—งๆจกๅผ"),s("๏ผš็†Ÿ็ปƒ่ฎฐๅฟ† API๏ผŒๆ‰‹ๅ†™ๅคง้‡ๆ ทๆฟไปฃ็ ๏ผŒๅ…ณๆณจๅ…ทไฝ“็š„่ฏญ่จ€ๅ’Œ่ฏญๆณ•็ป†่Š‚ใ€‚")],-1)),a("p",null,[t[1]||(t[1]=a("strong",null,"ๆ–ฐๆจกๅผ",-1)),t[2]||(t[2]=s("๏ผš",-1)),l(e,{type:"note",bold:""},{default:o(()=>[...t[0]||(t[0]=[s("ๅ…ทๅค‡็ณป็ปŸ็บง่ง†้‡Ž๏ผŒๅ…ณๆณจๆžถๆž„็š„ๅฅๅฃฎๆ€งใ€ๅฏ็ปดๆŠคๆ€งไปฅๅŠ่‡ชๅŠจๅŒ–ไบคไป˜ไฝ“็ณปใ€‚",-1)])]),_:1})])]),t[11]||(t[11]=n("",3)),a("div",p,[t[8]||(t[8]=a("p",{class:"title note-title custom-block-title"},"ๆ–ฐๆ—งๆจกๅผๅฏนๆฏ”๏ผš",-1)),t[9]||(t[9]=a("p",null,[a("strong",null,"ๆ—งๆจกๅผ"),s("๏ผš่ขซๅŠจๆŽฅๆ”ถ้œ€ๆฑ‚ๆ–‡ๆกฃ๏ผŒๅ…ณๆณจๅŠŸ่ƒฝ็š„ๆŒ‰ๆ—ถไธŠ็บฟใ€‚")],-1)),a("p",null,[t[6]||(t[6]=a("strong",null,"ๆ–ฐๆจกๅผ",-1)),t[7]||(t[7]=s("๏ผš",-1)),l(e,{type:"note",bold:""},{default:o(()=>[...t[5]||(t[5]=[s("็†่งฃๅ•†ไธšๆจกๅผไธŽ็”จๆˆท็—›็‚น๏ผŒ่ƒฝๅˆคๆ–ญโ€œๅšไป€ไนˆโ€ๆฏ”โ€œๆ€Žไนˆๅšโ€ๆ›ด้‡่ฆใ€‚",-1)])]),_:1})])]),t[12]||(t[12]=n("",13))]))}});export{u as __pageData,y as default}; diff --git "a/assets/01.\345\205\250\346\240\210_01.AI Native \345\267\245\347\250\213\346\200\235\347\273\264_02.\351\207\215\346\236\204\345\274\200\345\217\221\350\200\205\357\274\232AI \346\227\266\344\273\243\344\270\213\347\232\204\345\267\245\347\250\213\345\270\210\350\203\275\345\212\233\345\233\276\350\260\261\344\270\216\346\274\224\350\277\233\346\214\207\345\215\227.md.w2dUgYOC.js" "b/assets/01.\345\205\250\346\240\210_01.AI Native \345\267\245\347\250\213\346\200\235\347\273\264_02.\351\207\215\346\236\204\345\274\200\345\217\221\350\200\205\357\274\232AI \346\227\266\344\273\243\344\270\213\347\232\204\345\267\245\347\250\213\345\270\210\350\203\275\345\212\233\345\233\276\350\260\261\344\270\216\346\274\224\350\277\233\346\214\207\345\215\227.md.BzWlQ04R.js" similarity index 99% rename from "assets/01.\345\205\250\346\240\210_01.AI Native \345\267\245\347\250\213\346\200\235\347\273\264_02.\351\207\215\346\236\204\345\274\200\345\217\221\350\200\205\357\274\232AI \346\227\266\344\273\243\344\270\213\347\232\204\345\267\245\347\250\213\345\270\210\350\203\275\345\212\233\345\233\276\350\260\261\344\270\216\346\274\224\350\277\233\346\214\207\345\215\227.md.w2dUgYOC.js" rename to "assets/01.\345\205\250\346\240\210_01.AI Native \345\267\245\347\250\213\346\200\235\347\273\264_02.\351\207\215\346\236\204\345\274\200\345\217\221\350\200\205\357\274\232AI \346\227\266\344\273\243\344\270\213\347\232\204\345\267\245\347\250\213\345\270\210\350\203\275\345\212\233\345\233\276\350\260\261\344\270\216\346\274\224\350\277\233\346\214\207\345\215\227.md.BzWlQ04R.js" index a99d2407..0844c310 100644 --- "a/assets/01.\345\205\250\346\240\210_01.AI Native \345\267\245\347\250\213\346\200\235\347\273\264_02.\351\207\215\346\236\204\345\274\200\345\217\221\350\200\205\357\274\232AI \346\227\266\344\273\243\344\270\213\347\232\204\345\267\245\347\250\213\345\270\210\350\203\275\345\212\233\345\233\276\350\260\261\344\270\216\346\274\224\350\277\233\346\214\207\345\215\227.md.w2dUgYOC.js" +++ "b/assets/01.\345\205\250\346\240\210_01.AI Native \345\267\245\347\250\213\346\200\235\347\273\264_02.\351\207\215\346\236\204\345\274\200\345\217\221\350\200\205\357\274\232AI \346\227\266\344\273\243\344\270\213\347\232\204\345\267\245\347\250\213\345\270\210\350\203\275\345\212\233\345\233\276\350\260\261\344\270\216\346\274\224\350\277\233\346\214\207\345\215\227.md.BzWlQ04R.js" @@ -1 +1 @@ -import{H as r}from"./chunks/HighLightText.gRdAAF3C.js";import{g as o,h as i,U as a,i as n,S as e,z as s,s as g}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const p=JSON.parse('{"title":"้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ AI ๆž้€Ÿ้™ไฝŽไปฃ็ ็ผ–ๅ†™้—จๆง›๏ผŒๅ•็บฏ็š„โ€œไธšๅŠกไปฃ็ ็ฟป่ฏ‘ๅ™จโ€่ง’่‰ฒๆญฃๅŠ ้€Ÿ่ดฌๅ€ผใ€‚ๆœฌๆ–‡ไปŽๆŠ€ๆœฏๆผ”่ฟ›ไธŽไบงๅ“ๆ€่€ƒ็š„ไบคๆฑ‡็‚นๅ‡บๅ‘๏ผŒๅฐ† AI ๆ—ถไปฃ็š„ๅผ€ๅ‘่€…่ƒฝๅŠ›ๅ›พ่ฐฑ้‡ๆ–ฐๅˆ’ๅˆ†ไธบไธ‰ๅคงๆ ธๅฟƒๅœˆๅฑ‚๏ผšไบงๅ“ๅบ”็”จๅฑ‚๏ผˆInsight Stack๏ผ‰ใ€Agent ๅผ€ๅ‘ๅฑ‚ไธŽ AI ๅŸบ็ก€่ฎพๆ–ฝๅฑ‚ใ€‚ๆ— ่ฎบไฝ ๆ˜ฏๆทฑ่€•่ง†ๅ›พๅฑ‚ไบคไบ’ใ€็ฒพ้€š Node.js ็ญ‰ๆœๅŠก็ซฏๆžถๆž„็š„ๅผ€ๅ‘่€…๏ผŒ่ฟ˜ๆ˜ฏ่‡ดๅŠ›ไบŽๆŠ€ๆœฏ่ฝๅœฐ็š„ๆŽข็ดข่€…๏ผŒ้ƒฝ่ƒฝๅœจ่ฟ™ไปฝๆผ”่ฟ›ๆŒ‡ๅ—ไธญๆ‰พๅˆฐๆ‰“็ ด่ƒฝๅŠ›่พน็•Œใ€ๅ‘โ€œ่ถ…็บงไธชไฝ“โ€ไธŽโ€œAI ๆ™บ่ƒฝไฝ“ๆŒ‡ๆŒฅๅฎ˜โ€่ทƒ่ฟ็š„็ ดๅฑ€ไน‹้“ใ€‚","frontmatter":{"date":"2026-03-02T11:05:50.000Z","title":"้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ AI ๆž้€Ÿ้™ไฝŽไปฃ็ ็ผ–ๅ†™้—จๆง›๏ผŒๅ•็บฏ็š„โ€œไธšๅŠกไปฃ็ ็ฟป่ฏ‘ๅ™จโ€่ง’่‰ฒๆญฃๅŠ ้€Ÿ่ดฌๅ€ผใ€‚ๆœฌๆ–‡ไปŽๆŠ€ๆœฏๆผ”่ฟ›ไธŽไบงๅ“ๆ€่€ƒ็š„ไบคๆฑ‡็‚นๅ‡บๅ‘๏ผŒๅฐ† AI ๆ—ถไปฃ็š„ๅผ€ๅ‘่€…่ƒฝๅŠ›ๅ›พ่ฐฑ้‡ๆ–ฐๅˆ’ๅˆ†ไธบไธ‰ๅคงๆ ธๅฟƒๅœˆๅฑ‚๏ผšไบงๅ“ๅบ”็”จๅฑ‚๏ผˆInsight Stack๏ผ‰ใ€Agent ๅผ€ๅ‘ๅฑ‚ไธŽ AI ๅŸบ็ก€่ฎพๆ–ฝๅฑ‚ใ€‚ๆ— ่ฎบไฝ ๆ˜ฏๆทฑ่€•่ง†ๅ›พๅฑ‚ไบคไบ’ใ€็ฒพ้€š Node.js ็ญ‰ๆœๅŠก็ซฏๆžถๆž„็š„ๅผ€ๅ‘่€…๏ผŒ่ฟ˜ๆ˜ฏ่‡ดๅŠ›ไบŽๆŠ€ๆœฏ่ฝๅœฐ็š„ๆŽข็ดข่€…๏ผŒ้ƒฝ่ƒฝๅœจ่ฟ™ไปฝๆผ”่ฟ›ๆŒ‡ๅ—ไธญๆ‰พๅˆฐๆ‰“็ ด่ƒฝๅŠ›่พน็•Œใ€ๅ‘โ€œ่ถ…็บงไธชไฝ“โ€ไธŽโ€œAI ๆ™บ่ƒฝไฝ“ๆŒ‡ๆŒฅๅฎ˜โ€่ทƒ่ฟ็š„็ ดๅฑ€ไน‹้“ใ€‚","permalink":"/fullstack/ai-engineer-capability","coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png","top":true,"tags":["ๅ…จๆ ˆ","AI"],"categories":["ๅ…จๆ ˆ"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/02.้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—.md","filePath":"01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/02.้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—.md"}'),d={name:"01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/02.้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—.md"},I=Object.assign(d,{setup(l){return(h,t)=>(i(),o("div",null,[t[5]||(t[5]=a('

้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ— โ€‹

ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ AI ๆž้€Ÿ้™ไฝŽไปฃ็ ็ผ–ๅ†™้—จๆง›๏ผŒๅ•็บฏ็š„โ€œไธšๅŠกไปฃ็ ็ฟป่ฏ‘ๅ™จโ€่ง’่‰ฒๆญฃๅŠ ้€Ÿ่ดฌๅ€ผใ€‚ๆœฌๆ–‡ไปŽๆŠ€ๆœฏๆผ”่ฟ›ไธŽไบงๅ“ๆ€่€ƒ็š„ไบคๆฑ‡็‚นๅ‡บๅ‘๏ผŒๅฐ† AI ๆ—ถไปฃ็š„ๅผ€ๅ‘่€…่ƒฝๅŠ›ๅ›พ่ฐฑ้‡ๆ–ฐๅˆ’ๅˆ†ไธบไธ‰ๅคงๆ ธๅฟƒๅœˆๅฑ‚๏ผšไบงๅ“ๅบ”็”จๅฑ‚๏ผˆInsight Stack๏ผ‰ใ€Agent ๅผ€ๅ‘ๅฑ‚ไธŽ AI ๅŸบ็ก€่ฎพๆ–ฝๅฑ‚ใ€‚ๆ— ่ฎบไฝ ๆ˜ฏๆทฑ่€•่ง†ๅ›พๅฑ‚ไบคไบ’ใ€็ฒพ้€š Node.js ็ญ‰ๆœๅŠก็ซฏๆžถๆž„็š„ๅผ€ๅ‘่€…๏ผŒ่ฟ˜ๆ˜ฏ่‡ดๅŠ›ไบŽๆŠ€ๆœฏ่ฝๅœฐ็š„ๆŽข็ดข่€…๏ผŒ้ƒฝ่ƒฝๅœจ่ฟ™ไปฝๆผ”่ฟ›ๆŒ‡ๅ—ไธญๆ‰พๅˆฐๆ‰“็ ด่ƒฝๅŠ›่พน็•Œใ€ๅ‘โ€œ่ถ…็บงไธชไฝ“โ€ไธŽโ€œAI ๆ™บ่ƒฝไฝ“ๆŒ‡ๆŒฅๅฎ˜โ€่ทƒ่ฟ็š„็ ดๅฑ€ไน‹้“ใ€‚

about site background

ๅฆ‚ๆžœไฝ ๅฏน่ฟ‘ไธคๅนด็š„ๆŠ€ๆœฏๆตชๆฝฎไฟๆŒๆ•ๆ„Ÿ๏ผŒๅคงๆฆ‚ไผšๅพ—ๅ‡บไธ€ไธชๆœ‰ไบ›ๆฎ‹้…ทไฝ†ๆ— ๆฏ”็œŸๅฎž็š„็ป“่ฎบ๏ผšไปฃ็ ๆญฃๅœจๅ‘็”Ÿโ€œ้€š่ดง่†จ่ƒ€โ€ใ€‚้š็€ๅคงๆจกๅž‹็ผ–็จ‹่ƒฝๅŠ›็š„ๆŒ‡ๆ•ฐ็บง่ทƒๅ‡๏ผŒ็บฏ็ฒน็š„โ€œๅฐ†ไธšๅŠก้€ป่พ‘็ฟป่ฏ‘ๆˆไปฃ็ โ€่ฟ™้กนๆŠ€่ƒฝ็š„ๆบขไปทๆญฃๅœจๅฟซ้€Ÿ่กฐๅ‡ใ€‚ๅฝ“ AI ่ƒฝๅœจๅ‡ ็ง’้’Ÿๅ†…ๅๅ‡บๅŒ…ๅซๅฎŒๆ•ด็ฑปๅž‹ๅฎšไน‰ใ€้”™่ฏฏๅค„็†ๅ’Œๆต‹่ฏ•็”จไพ‹็š„ๅŽ็ซฏๆŽฅๅฃๆˆ–ๆ˜ฏ React ็ป„ไปถๆ—ถ๏ผŒ่ฝฏไปถๅทฅ็จ‹ๅธˆ็š„ๆŠคๅŸŽๆฒณ็ฉถ็ซŸๅœจๅ“ช้‡Œ๏ผŸ

่กŒไธš็š„ๆผ”่ฟ›็ป™ๅ‡บไบ†็ญ”ๆกˆ๏ผšๅผ€ๅ‘่€…็š„่ง’่‰ฒๆญฃๅœจ็ปๅކไธ€ๆฌกๅฝปๅบ•็š„้‡ๆž„ใ€‚ๆˆ‘ไปฌๆญฃๅœจไปŽโ€œไปฃ็ ็š„็ผ–ๅ†™่€…โ€่ฝฌๅ˜ไธบโ€œ็ณป็ปŸ็š„ๆžถๆž„่€…โ€ไธŽโ€œAI ๆ™บ่ƒฝไฝ“็š„ๆŒ‡ๆŒฅๅฎ˜โ€ใ€‚็ป“ๅˆๅฝ“ไธ‹็š„ๅทฅไธš็•Œๅฎž่ทต๏ผŒๆˆ‘ไปฌๅฏไปฅๅฐ† AI ๆ—ถไปฃ็š„ๅทฅ็จ‹ๅธˆๅ›พ่ฐฑๆธ…ๆ™ฐๅœฐๅˆ’ๅˆ†ไธบไธ‰ๅคงๆ ธๅฟƒๅœˆๅฑ‚๏ผšไบงๅ“ๅบ”็”จๅฑ‚ใ€Agent ๅผ€ๅ‘ๅฑ‚ไธŽ AI ๅŸบ็ก€่ฎพๆ–ฝๅฑ‚ใ€‚

1. ไบงๅ“ๅบ”็”จๅฑ‚๏ผˆInsight Stack๏ผ‰๏ผš่ตฐๅ‘โ€œ่ถ…็บงไธชไฝ“โ€็š„ AI ๅŽŸ็”Ÿๅ…จๆ ˆ โ€‹

ๆ ธๅฟƒๅฃๅž’๏ผšๆŠ€ๆœฏ่ง†้‡Ž + ไบงๅ“ๆ•้”ๅบฆ + ๆž้€Ÿ็š„ๆžถๆž„็ป„่ฃ…่ƒฝๅŠ›๏ผŒ่ƒฝๅคŸๅ•ๆžชๅŒน้ฉฌๆˆ–ๅธฆ้ข†ๆžๅฐๅ›ข้˜Ÿ๏ผŒๅฐ†ไธ€ไธช็ตๆ„Ÿ่ฟ…้€Ÿ่ฝฌๅŒ–ไธบ้ซ˜ๅฏ็”จไบงๅ“ใ€‚

ๅœจ AI ๆžๅคงๅœฐ้™ไฝŽไบ†ไปฃ็ ็ผ–ๅ†™้—จๆง›็š„ไปŠๅคฉ๏ผŒโ€œๅ†ณๅฎšๅšไป€ไนˆโ€ๅ’Œโ€œๅฆ‚ไฝ•ๅˆฉ็”จ AI ๆž„ๅปบ็ณป็ปŸโ€็š„ไปทๅ€ผ๏ผŒๅทฒ็ป้€ๆธ่ถ…่ถŠไบ†โ€œ็บฏๆ‰‹ๅทฅๆ•ฒๅ‡ปไปฃ็ โ€็š„ไปทๅ€ผใ€‚่ฟ™ๆˆ–่ฎธๆ˜ฏไผ ็ปŸๅ‰็ซฏใ€ๅŽ็ซฏๅผ€ๅ‘่€…่ฝฌๅž‹ๆœ€้กบๆป‘ใ€ไนŸๆœ€่ƒฝ้‡Šๆ”พๅทจๅคงๅ•†ไธšไปทๅ€ผ็š„ไธ€ๅฑ‚ใ€‚

',9)),n("p",null,[t[1]||(t[1]=e("ๅœจ่ฟ™ไธ€ๅฑ‚๏ผŒโ€œๅ…จๆ ˆๅทฅ็จ‹ๅธˆโ€็š„ๅฎšไน‰่ขซ้‡ๆ–ฐๆ”นๅ†™ไธบโ€œไบงๅ“ๅทฅ็จ‹ๅธˆ๏ผˆProduct Engineer๏ผ‰โ€ใ€‚",-1)),t[2]||(t[2]=n("strong",null,"ๆŠ€ๆœฏๆ ˆไธๅ†ไป…ไป…ๆ˜ฏๅ‰็ซฏๆก†ๆžถๅ’Œๆ•ฐๆฎๅบ“๏ผŒ่€Œๆ˜ฏๅŒ…ๅซไบ†โ€œไบงๅ“ Senseโ€ไธŽโ€œๅ•†ไธšๆดžๅฏŸโ€็š„ Insight Stack",-1)),t[3]||(t[3]=e("ใ€‚ๅ…จๆ ˆๅทฅ็จ‹ๅธˆไนŸๆญฃๅœจ่ฟ›ๅŒ–ไธบโ€œ่ถ…็บงไธชไฝ“โ€ๆˆ–โ€œไบงๅ“ๅทฅ็จ‹ๅธˆ๏ผˆProduct Engineer๏ผ‰โ€ใ€‚",-1)),s(r,{type:"note",bold:""},{default:g(()=>[...t[0]||(t[0]=[e("้—ฎ้ข˜ๅ‘็Žฐ -> ๅˆ›ๆ„ๆฒ‰ๆท€ -> AI ่พ…ๅŠฉๆŠ€ๆœฏๆ–นๆกˆ -> AI ้ฉฑๅŠจไปฃ็ ็”Ÿๆˆ",-1)])]),_:1}),t[4]||(t[4]=e(" ่ฟ™ไธ€้—ญ็Žฏ๏ผŒๆญฃๆ˜ฏๅฝ“ๅ‰ๆœ€้ซ˜ๆ•ˆ็š„็‹ฌ็ซ‹ๅผ€ๅ‘ๆˆ–ๅฐๅ›ข้˜Ÿๆ•ๆทๅผ€ๅ‘่Œƒๅผใ€‚",-1))]),t[6]||(t[6]=a('

1.1 ไบงๅ“ Sense ไธŽไธšๅŠกๆดžๅฏŸ โ€‹

่ฟ‡ๅŽป๏ผŒๅทฅ็จ‹ๅธˆๅพ€ๅพ€ๆ˜ฏ่ขซๅŠจๆŽฅๆ”ถ PRDใ€‚่€Œๅœจ AI ๆ—ถไปฃ๏ผŒๆŠ€ๆœฏ้—จๆง›็š„้™ไฝŽๆ„ๅ‘ณ็€ๅทฅ็จ‹ๅธˆๅฏไปฅ้šๆ—ถๅฐ†็”Ÿๆดปๅ’Œๅทฅไฝœไธญ็š„โ€œ็ตๆ„Ÿ็ขŽ็‰‡โ€ไธŽโ€œ็—›็‚นๆ•่Žทโ€่ฝฌๅŒ–ไธบไบงๅ“ๅˆ›ๆ„ใ€‚ๆˆ‘ไปฌ้œ€่ฆๅ…ทๅค‡ๆžๅ…ถๆ•้”็š„ AI ่พน็•Œ่ฎค็Ÿฅ๏ผŒๆ˜Ž็กฎ็Ÿฅ้“ๅ“ชไบ›ๅœบๆ™ฏ้€‚ๅˆ็”จไผ ็ปŸ็š„ CRUD ่งฃๅ†ณ๏ผŒๅ“ชไบ›ๅฟ…้กปไบค็”ฑ LLM ๅŽปๅค„็†ๆจก็ณŠไธŽ้ž็กฎๅฎšๆ€งใ€‚

ๅœจไบงๅ“ๅบ”็”จๅฑ‚๏ผŒๆˆ‘ไปฌ่ฟ˜้œ€่ฆๅ…ทๅค‡ๆ•ฐๆฎ้ฃž่ฝฎๆ„่ฏ†๏ผŒๆณจ้‡ๅœจๅบ”็”จๅฑ‚่ฎพ่ฎกๅŸ‹็‚น๏ผŒๆ”ถ้›†็”จๆˆท็š„ไบคไบ’ไธŽ็บ ้”™ๆ•ฐๆฎ๏ผŒไธบๅŽ็ปญ็š„ Agentic workflow ไผ˜ๅŒ–ๆˆ–ๆจกๅž‹ๅพฎ่ฐƒๆไพ›้ซ˜่ดจ้‡ๆ•ฐๆฎๆบใ€‚

1.2 Agentic Engineering๏ผˆๆ™บ่ƒฝไฝ“ๅทฅ็จ‹๏ผ‰ โ€‹

่ฟ™ๆ˜ฏไธ€็งๅ…จๆ–ฐ็š„ๅผ€ๅ‘่Œƒๅผ๏ผŒๅผ€ๅ‘่€…ไธๅ†้€่กŒๆ‰‹ๆ•ฒไปฃ็ ๏ผŒ่€Œๆ˜ฏ้€š่ฟ‡ๆ’ฐๅ†™ไธฅ่ฐจ็š„ Specใ€ๅˆฉ็”จ TDD๏ผˆๆต‹่ฏ•้ฉฑๅŠจๅผ€ๅ‘๏ผ‰ๅ’Œ Lint ๅผบ็บฆๆŸ๏ผŒๅŽปโ€œ้ฉฑๅŠจโ€ๅ’Œโ€œ็ฎก็†โ€ AI ็ผ–็จ‹ๅŠฉๆ‰‹๏ผˆๅฆ‚ Claude Codeใ€Cursor๏ผ‰๏ผŒๅ…จๆ ˆๅŸบ็ก€่ฎพๆ–ฝ็š„่Œƒ็•ดไนŸๆ‰ฉๅฑ•ๅˆฐไบ†่ทจ็ซฏ่ฝป้‡ๅŒ–ๅบ”็”จ๏ผˆไพ‹ๅฆ‚ๅˆฉ็”จๅ‰็ซฏๆŠ€ๆœฏๆ ˆๅฟซ้€Ÿๆž„ๅปบ้ซ˜ไปทๅ€ผ็š„ๆต่งˆๅ™จๆ’ไปถ๏ผ‰ใ€‚

่ƒฝๅŠ›็ปดๅบฆๅ…ทไฝ“่ฆๆฑ‚
่ง„ๅˆ’ใ€่ฎพ่ฎกไธŽ่ฟญไปฃ่ƒฝๅŠ›โ€ข ่ƒฝๅคŸๅฟซ้€Ÿๅ“ๅบ”ไธšๅŠก้œ€ๆฑ‚๏ผŒ่ง„ๅˆ’ไบงๅ“ๅŠŸ่ƒฝ๏ผŒๅฎŒๆˆๆŠ€ๆœฏๆžถๆž„็š„่ฐƒ็ ”ใ€้€‰ๅž‹ไธŽๆ•ดไฝ“่ฎพ่ฎกใ€‚
โ€ข ่ƒฝๅ€ŸๅŠฉ AI ่ฟ›่กŒๅ‰็ซฏ่ง†ๅ›พๅฑ‚ใ€Node.js ๅŽ็ซฏๆ ธๅฟƒๆ•ฐๆฎๆตใ€ไธšๅŠกๆต็จ‹็š„้กถๅฑ‚่ฎพ่ฎกใ€‚
โ€ข ไธไฝ†่ƒฝๅ•ๆžชๅŒน้ฉฌๆˆ–ๅธฆ้ข†ๆžๅฐๅ›ข้˜Ÿไธญ็š„ไบบ๏ผŒ่ฟ˜ๆ‡‚ๅพ—้ข†ๅฏผใ€็ฎก็† AI ๆ•ฐๅญ—ๅ‘˜ๅทฅใ€‚
AI ้ฉฑๅŠจ็ผ–็จ‹ๅŸบไบŽ Specใ€TDDใ€Hooks๏ผˆLint ๆฃ€ๆŸฅ๏ผ‰็ญ‰ๅผบ็บฆๆŸๆœบๅˆถ๏ผŒ้ฉฑๅŠจ Claude Code / Copilot ็ญ‰ๅทฅๅ…ท็”Ÿๆˆ้ซ˜่ง„่Œƒๅบฆไปฃ็ ใ€‚
ๅ…จๆ ˆๅŸบ็ก€่ฎพๆ–ฝ็†Ÿ็ปƒๆŽŒๆกไผ ็ปŸๆžถๆž„ไฝ“็ณป๏ผˆๆ•ฐๆฎๅบ“้€‰ๅž‹ใ€Redisใ€ๅพฎๆœๅŠกใ€ๆถˆๆฏ้˜Ÿๅˆ—๏ผ‰๏ผŒไปฅๅŠ่ทจ็ซฏ/่ฝป้‡ๅŒ–ๅฝขๆ€๏ผˆๅฆ‚ Chrome ๆ’ไปถ็”Ÿๆ€๏ผ‰็š„ๅทฅ็จ‹ๆญๅปบใ€‚
DevOps็ŽฐไปฃๅŒ–็š„่‡ชๅŠจๅŒ–้ƒจ็ฝฒใ€CI/CD ๆตๆฐด็บฟๆญๅปบไธŽ่ฟ็ปดใ€‚

1.3 AI-First ็š„ไบคไบ’ๅ“ฒๅญฆ โ€‹

AI ๅบ”็”จ็š„ไฝ“้ชŒไธŽไผ ็ปŸ่ฝฏไปถๆˆช็„ถไธๅŒใ€‚ไธบไบ†ๅฏนๆŠ—ๅคงๆจกๅž‹็š„ๅปถ่ฟŸไธŽๅนป่ง‰๏ผŒๅทฅ็จ‹ๅธˆๅฟ…้กปๆŽŒๆกๆตๅผๆธฒๆŸ“๏ผˆStreaming UI๏ผ‰ใ€็”Ÿๆˆๅผ UI๏ผˆGenerative UI๏ผ‰็ญ‰ๆ–ฐไธ€ไปฃไบคไบ’ๆจกๅผ๏ผŒ็”จไผ˜้›…็š„ๅทฅ็จ‹่ฎพ่ฎกๅ…œๅบ• AI ็š„ไธ็กฎๅฎšๆ€งใ€‚

  • ๆตๅผๆธฒๆŸ“๏ผˆStreaming UI๏ผ‰๏ผšไผ˜ๅŒ–ๅคงๆจกๅž‹ๅ“ๅบ”็š„็ญ‰ๅพ…ไฝ“้ชŒใ€‚
  • ็”Ÿๆˆๅผไบคไบ’๏ผˆGenerative UI๏ผ‰๏ผšๅœจๅ‰็ซฏๆก†ๆžถ๏ผˆๅฆ‚ React / Next.js๏ผ‰ไธญ๏ผŒๆ นๆฎ AI ่ฟ”ๅ›ž็š„็ป“ๆž„ๅŒ–็Šถๆ€ๅฎžๆ—ถๆธฒๆŸ“ๅ‡บๆœ€ๅˆ้€‚็š„ไบคไบ’็ป„ไปถ๏ผŒ่€Œ้žๆญปๆฟ็š„ๅฏน่ฏๆก†ใ€‚
  • ๅฎน้”™ไธŽๅ…œๅบ•ๆœบๅˆถ๏ผšไผ˜้›…ๅค„็†ๅคงๆจกๅž‹ๅนป่ง‰๏ผˆHallucination๏ผ‰๏ผŒ้™ไฝŽ็”จๆˆท็š„ๆŒซ่ดฅๆ„Ÿใ€‚

2. Agent ๅผ€ๅ‘ๅฑ‚๏ผšๆž„ๅปบ่ฟžๆŽฅ็‰ฉ็†ไธ–็•Œ็š„ๆ•ฐๅญ—ไธญๆžข โ€‹

ๆ ธๅฟƒๅฃๅž’๏ผšๆ ‡ๅ‡†ๅŒ–ๆจกๅ—็ป„่ฃ… + ๅคๆ‚ Agentic Workflow ็ผ–ๆŽ’ + ไธฅ่ฐจ็š„่ฏ„ๆต‹ไฝ“็ณป๏ผŒ่ฟ™ไธ€ๅฑ‚่ดŸ่ดฃไธบ AI ่ต‹ไบˆ่ฎฐๅฟ†ใ€ๆ‰‹่„šๅ’Œไธ“ไธš้ข†ๅŸŸ็š„็Ÿฅ่ฏ†๏ผŒๆ˜ฏ่ฟžๆŽฅโ€œๅบ•ๅฑ‚ๆจกๅž‹ๅคง่„‘โ€ไธŽโ€œไธŠๅฑ‚ๅบ”็”จไบคไบ’โ€็š„ๆ ธๅฟƒๆžข็บฝใ€‚

ๅฆ‚ๆžœ่ฏดๅคงๆจกๅž‹ๆ˜ฏๅคง่„‘๏ผŒ้‚ฃไนˆ Agent ๅทฅ็จ‹ๅธˆๅฐฑๆ˜ฏไธบ่ฟ™ไธชๅคง่„‘่ฃ…ไธŠโ€œๅ››่‚ขโ€ใ€โ€œ่ฎฐๅฟ†โ€ๅ’Œโ€œไธ“ไธšๅทฅๅ…ทโ€็š„ไบบ๏ผŒ่ฟ™ๆ˜ฏไธ€ไธชๆญฃๅœจ็ˆ†ๅ‘็š„ๆ–ฐๅ…ด้ข†ๅŸŸ๏ผŒไนŸๆ˜ฏๅฎž็Žฐ AI ไธšๅŠก่ฝๅœฐ็š„ๆ ธๅฟƒๆžข็บฝใ€‚

2.1 Agentic Workflow ่ฎพ่ฎก โ€‹

่ƒฝๅŠ›็ปดๅบฆๅ…ทไฝ“่ฆๆฑ‚
ไปปๅŠกๆ‹†่งฃไธŽ่ทฏ็”ฑๅŸบไบŽ CoT๏ผˆๆ€็ปด้“พ๏ผ‰็ญ‰ๆŠ€ๆœฏๅทฅ็จ‹็š„ไปปๅŠกๆ‹†่งฃไธŽ่ทฏ็”ฑๆœบๅˆถ๏ผŒ้’ˆๅฏนไธๅŒๅคๆ‚ๅบฆ็š„ๅทฅไฝœๆต่ฎพ่ฎก็จณๅฅ็š„ๅคš Agent ๅไฝœไธŽๅˆ†ๅ‘ๆœบๅˆถใ€‚
่ฎพ่ฎกๆจกๅผไธŽ็ผ–ๆŽ’็†Ÿ็ปƒๅบ”็”จ ReActใ€Plan-and-Execute ็ญ‰ๆ™บ่ƒฝไฝ“่ฎพ่ฎกๆจกๅผ๏ผŒ้’ˆๅฏนไธๅŒ็š„ไธšๅŠกๅœบๆ™ฏ๏ผˆๅฆ‚ไฟกๆฏ็ˆฌๅ–ใ€้•ฟๆ–‡ๆ€ป็ป“่ฟ‡ๆปค็ญ‰่‡ชๅŠจๅŒ–ๅค„็†๏ผ‰๏ผŒ่ฎพ่ฎก็จณๅฅ็š„ๅคš Agent ๅไฝœไธŽ่ทฏ็”ฑๆตใ€‚
ไธปๆต Agent ๆก†ๆžถ็š„ๆ ธๅฟƒๆœบๅˆถไธŽๅฎžๆˆ˜่ฝๅœฐ็†Ÿๆ‚‰ๅนถๆŽŒๆกๅฆ‚ Claude Agent SDKใ€LangChainใ€AutoGen ็ญ‰ไธปๆต Agent ๆก†ๆžถ็š„ๆ ธๅฟƒๆœบๅˆถ๏ผŒ่ƒฝๅคŸๅœจๅฎž้™…้กน็›ฎไธญ็ตๆดปๅบ”็”จ๏ผŒ่งฃๅ†ณๅคๆ‚็š„ไธšๅŠกๅœบๆ™ฏใ€‚

2.2 ่ฎฐๅฟ†ๆœบๅˆถ๏ผˆMemory Management๏ผ‰ โ€‹

่ฆ่ฎฉ Agent ๅ˜ๅพ—โ€œๅฅฝ็”จโ€๏ผŒๅฟ…้กป่งฃๅ†ณไธŠไธ‹ๆ–‡้—ๅฟ˜ๅ’Œ็Ÿฅ่ฏ†ๅนป่ง‰็š„้—ฎ้ข˜ใ€‚่ฟ™ๅฐฑ่ฆๆฑ‚ๅทฅ็จ‹ๅธˆๆทฑ่ฐ™้•ฟๆœŸ่ฎฐๅฟ†/็ŸญๆœŸ่ฎฐๅฟ†็š„ๅๅŒ็ฎก็†๏ผŒไปฅๅŠๅคๆ‚ๆ–‡ๆกฃ็š„ๅˆ‡ๅ—๏ผˆChunking๏ผ‰ใ€ๅ‘้‡ๅŒ–๏ผˆEmbedding๏ผ‰ๅ’Œๆททๅˆๆฃ€็ดข๏ผˆHybrid Search๏ผ‰ๆŠ€ๆœฏใ€‚

  • ็ŸญๆœŸ่ฎฐๅฟ†๏ผš็ฒพๅ‡†ๆŽงๅˆถ Context Window๏ผŒ่ฟ›่กŒ Prompt ๆˆชๆ–ญไธŽๆ‘˜่ฆ๏ผŒๅณไธŠไธ‹ๆ–‡ๅทฅ็จ‹่ƒฝๅŠ›ใ€‚
  • ้•ฟๆœŸ่ฎฐๅฟ†๏ผšๅŸบไบŽๅ›พๆ•ฐๆฎๅบ“ๆˆ–ๅ‘้‡ๅบ“๏ผŒๆŒไน…ๅŒ–ๅญ˜ๅ‚จ็”จๆˆท็”ปๅƒไธŽๅކๅฒไบคไบ’็Šถๆ€ใ€‚

2.3 ๆŠ€่ƒฝ็š„ๆ’ไปถๅŒ–๏ผˆAgent Skill๏ผ‰ โ€‹

Agent Skill ๆ˜ฏ็”ฑ Anthropic ๆๅ‡บๅนถๆŽจๅŠจ็š„ไธ€็งๅผ€ๆ”พๅผๆ ‡ๅ‡†๏ผŒๆ—จๅœจๅฐ†็‰นๅฎš้ข†ๅŸŸ็š„็Ÿฅ่ฏ†ใ€ๅทฅไฝœๆตใ€ๆŒ‡ไปคๅ’Œ่„šๆœฌๆ‰“ๅŒ…ๅฐ่ฃ…ๆˆ็š„ๆ ‡ๅ‡†ๅŒ–ใ€ๆจกๅ—ๅŒ–่ต„ๆบๅŒ…๏ผŒ่ฎฉ AI Agent ๆŒ‰้œ€ๅŠจๆ€ๅŠ ่ฝฝ่ฟ™ไบ›ๆŠ€่ƒฝ๏ผŒๅฎž็ŽฐไปŽ้€š็”จๅŠฉๆ‰‹ๅ‘็‰นๅฎšไปปๅŠกไธ“ๅฎถ๏ผˆๅฆ‚ไปฃ็ ๅฎก่ฎกใ€ๆณ•ๅพ‹ๆ–‡ไปถๅˆ†ๆž๏ผ‰็š„ๆ— ็ผ่ฝฌๅ˜ใ€‚

  • ็ป“ๆž„ๅŒ–ๅฐ่ฃ…๏ผšไปฅ็›ฎๅฝ•ๅฝขๅผ็ป„็ป‡๏ผˆๅฆ‚ๅซ SKILL.md ็š„ๆ–‡ไปถๅคน๏ผ‰๏ผŒๅŒ…ๅซ่ฏฆ็ป†็š„ๆ‰ง่กŒ่ง„ๅˆ™ใ€‚
  • ๆธ่ฟ›ๆŠซ้œฒ & ๆŒ‰้œ€่ฐƒ็”จ๏ผšAgent ไป…ๅœจๅค„็†็›ธๅ…ณไปปๅŠกๆ—ถๅŠจๆ€ๆฟ€ๆดป่ฟ™ไบ›่ƒฝๅŠ›๏ผŒๆ— ้œ€ๆฏๆฌกๆ็คบ้ƒฝๅŒ…ๅซๆ‰€ๆœ‰ๆŠ€่ƒฝใ€‚
  • ๅฏ้‡็”จไธŽ็ป„ๅˆ๏ผšๆŠ€่ƒฝๅฏๅคšๆฌก้‡ๅคไฝฟ็”จ๏ผŒๆˆ–ๅคšไธชๆŠ€่ƒฝ็ป„ๅˆๅค„็†ๅคๆ‚ๆต็จ‹ใ€‚

ๆ— ่ฎบๆ˜ฏ้•ฟๆ–‡ๆŠ“ๅ–ใ€ๆ‘˜่ฆๆๅ–่ฟ˜ๆ˜ฏๆ‰“ๆ ‡็ญพ๏ผŒ้ƒฝๅฏไปฅ่ขซๅฐ่ฃ…ไธบ็‹ฌ็ซ‹็š„ Skill๏ผŒๅœจๅคๆ‚็š„ Workflow ไธญ่ขซ Agent ๅŠจๆ€ๆŒ‚่ฝฝ๏ผŒๅณๆ’ๅณ็”จ๏ผŒๅœจๆž„ๅปบ็‰นๅฎšๅœบๆ™ฏ็š„ Agent๏ผˆไพ‹ๅฆ‚ไธ“ๆณจไบŽๆŠ€ๆœฏ่ต„่ฎฏๅค„็†็š„็Ÿฅ่ฏ†็ฎก็†ๅŠฉๆ‰‹๏ผ‰ๆ—ถ๏ผŒ่ƒฝๅคŸๅƒๆญ็งฏๆœจไธ€ๆ ท๏ผŒๆ นๆฎๅฝ“ๅ‰ไปปๅŠก็š„ไธŠไธ‹ๆ–‡ๅŠจๆ€ๅŠ ่ฝฝๆ‰€้œ€็š„ Skills๏ผŒไปŽ่€Œๅคงๅน…ๆๅ‡ Agent ็š„ๆณ›ๅŒ–่ƒฝๅŠ›ๅ’Œๅผ€ๅ‘ๆ•ˆ็އใ€‚

2.4 ไปŽ็กฌ็ผ–็ ๅˆฐๆ ‡ๅ‡†ๅ่ฎฎไธŽไธŠไธ‹ๆ–‡่ฟžๆŽฅ โ€‹

้š็€ MCP๏ผˆModel Context Protocol๏ผ‰็ญ‰ๆ ‡ๅ‡†ๅŒ–ๅ่ฎฎ็š„ๆˆ็†Ÿ๏ผŒAgent ๅผ€ๅ‘ๆญฃๅœจๆ‘†่„ฑๆ‚ไนฑ็š„่ƒถๆฐดไปฃ็ ใ€‚ๆˆ‘ไปฌๅฏไปฅๅˆฉ็”จ็†Ÿๆ‚‰็š„ๅŽ็ซฏ็”Ÿๆ€๏ผˆๅฆ‚ Node.js๏ผ‰ๆž„ๅปบ MCP Server๏ผŒ่ฎฉ AI ๅฎ‰ๅ…จใ€็ปŸไธ€ๅœฐ่ฏปๅ–ๅค–้ƒจ API ๆˆ–ๆ˜ฏไผไธšๅ†…้ƒจ็Ÿฅ่ฏ†ๅบ“๏ผŒๆ‰“็ ดไฟกๆฏๅญคๅฒ›ใ€‚

  • ็ปŸไธ€ๆ•ฐๆฎๆŽฅๅ…ฅๅฑ‚๏ผšไธๅ†้œ€่ฆไธบๆฏไธ€ไธชๆ•ฐๆฎๆบ๏ผˆๅฆ‚ Notionใ€ๆœฌๅœฐๆ–‡ไปถ็ณป็ปŸใ€็‰นๅฎš็š„็ ”ๅ‘ๅทฅๅ…ทๆˆ–ๅค–้ƒจ API๏ผ‰ๆ‰‹ๅ†™ๆ‚ไนฑ็š„่ƒถๆฐดไปฃ็ ใ€‚้€š่ฟ‡ๅฎž็Žฐๅ’ŒๆŽฅๅ…ฅ MCP Server๏ผŒไธบๅคงๆจกๅž‹ๆไพ›ไธ€ๅฅ—ๆ ‡ๅ‡†ๅŒ–็š„ๅŒๅ‘้€šไฟกๅ่ฎฎใ€‚
  • ่ทจ็”Ÿๆ€ไธŽ็ซฏไพง้›†ๆˆ๏ผš่ƒฝๅคŸๅˆฉ็”จ Node.js ็ญ‰็†Ÿๆ‚‰็š„ๅŽ็ซฏ็”Ÿๆ€ๅฟซ้€Ÿๆž„ๅปบ MCP ๆœๅŠก๏ผŒ่ฎฉๅคงๆจกๅž‹็ปŸไธ€ใ€ๅฎ‰ๅ…จๅœฐ่ฏปๅ–ๅคšๆบไธŠไธ‹ๆ–‡ใ€‚่ฟ™ๅฏนไบŽๅผ€ๅ‘่ทจ็ซฏ็š„ AI ๅบ”็”จ๏ผˆๅฆ‚ๅœจๆต่งˆๅ™จๆ’ไปถไธญๆ‰“็ ดๆฒ™็›’้™ๅˆถ๏ผŒ็›ดๆŽฅไธŽๆœฌๅœฐๆˆ–ไบ‘็ซฏ็Ÿฅ่ฏ†ๅบ“่”ๅŠจ๏ผ‰่‡ณๅ…ณ้‡่ฆใ€‚

2.5 ๆจกๅž‹้€‰ๅž‹ใ€่ทฏ็”ฑไธŽๅฏ่ง‚ๆต‹ๆ€ง โ€‹

  • ๅŠจๆ€ API ่ทฏ็”ฑ๏ผšๅœจๆˆๆœฌไธŽๆ€ง่ƒฝไน‹้—ดๅ–่ˆ๏ผŒ็ตๆดป่ฐƒๅบฆๅ›ฝๅ†…ๅค–ๅคงๆจกๅž‹๏ผˆClaudeใ€Geminiใ€GPT-4๏ผŒไปฅๅŠๅ›ฝๅ†…็š„ DeepSeekใ€GLMใ€MiniMaxใ€Qwen็ญ‰๏ผ‰ใ€‚
  • Agent ็›‘ๆŽง๏ผšๆž„ๅปบๆต‹่ฏ•้›†๏ผˆEval๏ผ‰๏ผŒ็›‘ๆŽง้“พ่ทฏๆ‰ง่กŒ่ฟ‡็จ‹๏ผˆTracing๏ผ‰๏ผŒๅˆ†ๆž Token ๆถˆ่€—ไธŽๆญฅ้ชคๅปถ่ฟŸใ€‚

2.6 EDD๏ผˆ่ฏ„ไผฐ้ฉฑๅŠจๅผ€ๅ‘๏ผ‰้‡ๅก‘ๅทฅ็จ‹่ดจ้‡ โ€‹

ๅœจ Agent ๅผ€ๅ‘ไธญ๏ผŒๅคงๆจกๅž‹็š„่พ“ๅ‡บๅ…ทๆœ‰้ž็กฎๅฎšๆ€ง๏ผŒๅฆ‚ๆžœ่ฏดๅผ€ๅ‘ Agent ๅชๆ˜ฏๅฎŒๆˆไบ†ไปŽ 0 ๅˆฐ 1 ็š„โ€œ่ƒฝ็”จโ€๏ผŒ้‚ฃไนˆๆž„ๅปบๅฎŒๅ–„็š„่ฏ„ๆต‹ไฝ“็ณป๏ผŒๅฐฑๆ˜ฏ่งฃๅ†ณไปŽ 1 ๅˆฐ 100 ็š„โ€œๅฅฝ็”จโ€ไธŽโ€œๆ•ข็”จโ€็š„ๆ ธๅฟƒๅฃๅž’ใ€‚ๆˆ็†Ÿ็š„ Agent ๅทฅ็จ‹ๅธˆๅฟ…้กปๅปบ็ซ‹็ณป็ปŸ็š„่ฏ„ๆต‹ไธŽ็›‘ๆŽงไฝ“็ณป๏ผˆObservability๏ผ‰๏ผŒ้€š่ฟ‡ๆž„ๅปบ้ป„้‡‘ๆต‹่ฏ•้›†๏ผˆGolden Dataset๏ผ‰ใ€ๅผ•ๅ…ฅ LLM-as-a-Judge๏ผŒไปฅๅŠ็ฒพ็กฎๅˆฐ Token ็บง็š„้“พ่ทฏ่ฟฝ่ธช๏ผˆTracing๏ผ‰๏ผŒๅฐ†โ€œๆ„Ÿ่ง‰ไธ้”™โ€็š„็Ž„ๅญฆ่ฝฌๅŒ–ไธบๅฏ้‡ๅŒ–็š„ๅทฅ็จ‹ๆŒ‡ๆ ‡ใ€‚

่ƒฝๅŠ›็ปดๅบฆๅ…ทไฝ“่ฆๆฑ‚
่‡ชๅŠจๅŒ–่ฏ„ๆต‹้ฉฑๅŠจ (EDD)ๆ‘’ๅผƒ"่‚‰็œผ็œ‹ๆ•ˆๆžœ"็š„ๆธธๅ‡ปๆˆ˜๏ผŒๅปบ็ซ‹็‰นๅฎšๅœบๆ™ฏ็š„ Golden Dataset๏ผˆๅŸบๅ‡†ๆต‹่ฏ•้›†๏ผ‰๏ผŒ็†Ÿ็ปƒๅผ•ๅ…ฅ Promptfooใ€Ragas ็ญ‰่ฏ„ไผฐๆก†ๆžถ๏ผŒๅฐ†่ฏ„ๆต‹ๆ— ็ผ่žๅ…ฅ CI/CD ๆตๆฐด็บฟใ€‚
ๅคš็ปดๆŒ‡ๆ ‡ไฝ“็ณป่ฎพ่ฎก้’ˆๅฏนๅ…ทไฝ“ไปปๅŠก๏ผˆๅฆ‚้•ฟๆ–‡ๆ€ป็ป“ใ€ๅ†…ๅฎนๅฝ’็ฑป๏ผ‰๏ผŒ่ฎพ่ฎกๅนถ้‡ๅŒ–่ฏธๅฆ‚ไบ‹ๅฎžไธ€่‡ดๆ€ง (Faithfulness)ใ€็ญ”ๆกˆ็›ธๅ…ณๆ€ง (Answer Relevance)ใ€ๅนป่ง‰็އ (Hallucination Rate) ็ญ‰ๆ ธๅฟƒๆŒ‡ๆ ‡ใ€‚
LLM-as-a-Judge ไธŽไบบๅทฅๅฏน้ฝไฝฟ็”จๅผบๆจกๅž‹๏ผˆๅฆ‚ Claude 4.6/GPT๏ผ‰ๆฅๆ‰น้‡่‡ชๅŠจ่ฏ„ๆต‹ๅผฑๆจกๅž‹ๆˆ– Agent ็š„่พ“ๅ‡บ่ดจ้‡๏ผŒๅนถๅœจๅ…ณ้”ฎ่Š‚็‚น็ป“ๅˆ HITL๏ผˆHuman-in-the-loop๏ผŒไบบๆœบๅๅŒ๏ผ‰่ฟ›่กŒไบบๅทฅๅพฎ่ฐƒไธŽๅฏน้ฝใ€‚
้“พ่ทฏ่ฟฝ่ธชไธŽๅฝ’ๅ›  (Tracing)้ขๅฏนๅคš Agent ๅไฝœๆˆ–ๅคๆ‚็š„ RAG ้“พ่ทฏ๏ผŒ็†Ÿ็ปƒไฝฟ็”จ LangSmithใ€Langfuse ็ญ‰ๅฏ่ง‚ๆต‹ๆ€งๅทฅๅ…ท๏ผŒ่ฎฐๅฝ•ๆฏไธ€ๆฌกๅทฅๅ…ท่ฐƒ็”จใ€Prompt ็ป„่ฃ…่€—ๆ—ถๅ’Œ Token ๆถˆ่€—๏ผŒ็ฒพๅ‡†ๅฎšไฝ Bad Case ็š„ๆ นๅ› ใ€‚

3. AI ๅŸบ็ก€่ฎพๆ–ฝๅฑ‚๏ผš็ฎ—ๅŠ›ไธŽๆจกๅž‹็š„้‡ๅทฅไธšๅบ•ๅบง โ€‹

ๆ ธๅฟƒๅฃๅž’๏ผšๆทฑๅŽš็š„ๅบ•ๅฑ‚็ฎ—ๆณ•็ด ๅ…ป + ๆž่‡ด็š„ๆ€ง่ƒฝๅŽ‹ๆฆจ + ๅคง่ง„ๆจกๅˆ†ๅธƒๅผ็ณป็ปŸ็ป้ชŒใ€‚่ฟ™ไธ€ๅฑ‚ๆ˜ฏ AI ๆ—ถไปฃ็š„โ€œ้‡ๅทฅไธšโ€ๅบ•ๅบง๏ผŒ่ดŸ่ดฃๆ‰“้€ ๅ’Œๆ‰“็ฃจๅŸบ็ก€ๆจกๅž‹๏ผŒๅนถๆไพ›ๆž่‡ดๆ€งไปทๆฏ”็š„็ฎ—ๅŠ›ๆ”ฏๆ’‘ใ€‚

ๆŠ€ๆœฏๅทฅ็จ‹่ƒŒๆ™ฏ็š„ๅทฅ็จ‹ๅธˆๅฏๆš‚ๆ—ถๅชๅ…ณๆณจไบŽๆจกๅž‹้ข„ๅค‡่ฎญ็ปƒใ€ๅŽ่ฎญ็ปƒใ€ๆŽจ็†็ญ‰ๆ”พ้ข็š„ๅŽŸ็†ไธŽๆต็จ‹๏ผŒไปฅๅŠๅฆ‚ไฝ•ๅœจๅคง่ง„ๆจกๅˆ†ๅธƒๅผ็ณป็ปŸไธŠ้ซ˜ๆ•ˆ้ƒจ็ฝฒๅ’Œ่ฟ่กŒ่ฟ™ไบ›ๆจกๅž‹๏ผŒ่€Œๆ— ้œ€ๆทฑๅ…ฅ็†่งฃๅบ•ๅฑ‚็š„ๅˆ†ๅธƒๅผ็ณป็ปŸๅ’Œ่ฎก็ฎ—ๆžถๆž„ใ€‚

ๅฆ‚ๆžœๅ‰ไธคๅฑ‚ๆ˜ฏ้€ ่ฝฆๅ’Œๅผ€่ฝฆ็š„๏ผŒ่ฟ™ไธ€ๅฑ‚ๅฐฑๆ˜ฏไฟฎ่ทฏๅ’Œๆ็‚ผ็Ÿณๆฒน็š„ใ€‚่ฟ™ๅฑžไบŽ AI ็š„โ€œ้‡ๅทฅไธšโ€๏ผŒ้—จๆง›ๆž้ซ˜๏ผŒไธป่ฆ็”ฑๅ…ทๅค‡ๆทฑๅŽš็ฎ—ๆณ•่ƒŒๆ™ฏๅ’Œๅบ•ๅฑ‚ๅทฅ็จ‹่ƒฝๅŠ›็š„้กถ็บงๅคงๅŽ‚ๆˆ– AI Native ็‹ฌ่ง’ๅ…ฝไธปๅฏผใ€‚

่ƒฝๅŠ›็ปดๅบฆๅ…ทไฝ“่ฆๆฑ‚
ๆจกๅž‹็ฒพ็‚ผไธŽๅฏน้ฝ้š็€ๅผ€ๆบๅŸบๅบงๆจกๅž‹็š„ๅผบๅคง๏ผŒ้ข„่ฎญ็ปƒๅทฒไธๅ†ๆ˜ฏๅ”ฏไธ€่งฃใ€‚ๅŽ่ฎญ็ปƒ๏ผˆPost-training๏ผ‰้˜ถๆฎต็š„ๅ˜ๅพ—่‡ณๅ…ณ้‡่ฆ๏ผŒ้€š่ฟ‡ RL๏ผˆๅผบๅŒ–ๅญฆไน ๏ผ‰ใ€SFT๏ผˆ็›‘็ฃๅพฎ่ฐƒ๏ผ‰ใ€RLHF/DPO๏ผˆไบบ็ฑปๅๅฅฝๅฏน้ฝ๏ผ‰๏ผŒๅฐ†้€š็”จๆจกๅž‹ๆ‰“็ฃจๆˆ็‰นๅฎš้ข†ๅŸŸ๏ผˆๅฆ‚ไปฃ็ ็”Ÿๆˆใ€้€ป่พ‘ๆŽจ็†๏ผ‰็š„ไธ“ๅฎถใ€‚
ๆž่‡ด็š„ๆŽจ็†ไผ˜ๅŒ–้š็€ๆจกๅž‹่ถŠๅคง๏ผŒๆˆๆœฌ่ถŠ้ซ˜ใ€‚็†Ÿ็ปƒๆŽŒๆก vLLM ็ญ‰้ซ˜ๆ€ง่ƒฝๆŽจ็†ๆก†ๆžถ๏ผŒ่ฟ็”จ้‡ๅŒ–ๆŠ€ๆœฏ๏ผˆๅฆ‚ FP8/INT4๏ผ‰ใ€KV Cache ไผ˜ๅŒ–๏ผˆๅฆ‚ PagedAttention๏ผ‰๏ผŒๅœจไธ็‰บ็‰ฒ็ฒพๅบฆ็š„ๅ‰ๆไธ‹ๆฆจๅนฒๆฏไธ€ๆปด GPU ็ฎ—ๅŠ›ใ€‚
LLMOps ไธŽ็ฎ—ๅŠ›่ฐƒๅบฆๅœจไธ‡ๅก็บงๅˆซ็š„ GPU ้›†็พคไธŠ๏ผŒๅค„็†่Š‚็‚นๆ•…้šœใ€ๅฎž็Žฐ่ต„ๆบ่ดŸ่ฝฝๅ‡่กกๅ’Œๅฎน็พๆขๅค๏ผŒไฟ้šœๆžๅ…ถๆ˜‚่ดต็š„็ฎ—ๅŠ›่ต„ๆบไธ่ขซๆตช่ดนใ€‚

4. ๆ‰พๅ‡†่‡ชๅทฑ็š„็”Ÿๆ€ไฝ โ€‹

้ขๅฏน่ฟ™่‚ก้‡ๅก‘ๆ•ดไธช่กŒไธš็š„ๆดชๆต๏ผŒ็„ฆ่™‘ๆ˜ฏๆœฌ่ƒฝ๏ผŒไฝ†่ฟ›้˜ถๆ‰ๆ˜ฏ่งฃ่ฏใ€‚

ๅฏนไบŽ็ปๅคงๅคšๆ•ฐๆœ‰็€ไธฐๅฏŒ Web ๅผ€ๅ‘็ป้ชŒ๏ผˆๆ— ่ฎบๆ˜ฏ็ฒพ้€šๅ‰็ซฏไบคไบ’๏ผŒ่ฟ˜ๆ˜ฏๆทฑ่ฐ™ Node.js/Golang/Java ็ญ‰ๅŽ็ซฏๆžถๆž„๏ผ‰็š„ๅทฅ็จ‹ๅธˆ่€Œ่จ€๏ผŒโ€œไบงๅ“ๅบ”็”จๅฑ‚โ€ๅ’Œโ€œAgent ๅผ€ๅ‘ๅฑ‚โ€ไธไป…ๆ˜ฏๆœ€ๅ…ทๆ€งไปทๆฏ”็š„ๅˆ‡ๅ…ฅ็‚น๏ผŒๆ›ดๆ˜ฏ่ƒฝๅคŸๆœ€ๅคงๅŒ–ๆ ๆ†ๅŽŸๆœ‰ๆŠ€่ƒฝ็š„ๆฒƒๅœŸใ€‚

ๆˆ‘ไปฌไธๅบ”่ฏฅๅฐ†่‡ชๅทฑๅฑ€้™ๅœจโ€œๅ†™ไปฃ็ ็š„ๆœบๅ™จโ€่ฟ™ไธ€็‹ญ็ช„ๅฎšไน‰ไธญใ€‚ๅฐ่ฏ•็”จไบงๅ“ Sense ๅ‘็Žฐ้—ฎ้ข˜๏ผŒ็”จ AI ็ผ–็จ‹ๅทฅๅ…ทๅฟซ้€Ÿๅฎž็Žฐ MVP๏ผŒ็”จๆ ‡ๅ‡†็š„ Agent skillsใ€MCP ๅ่ฎฎๅ’Œ้ซ˜้˜ถ Agentic workflow ่ฎพ่ฎก่ต‹ไบˆๅบ”็”จไธ“ไธšๆทฑๅบฆใ€‚

AI ไธไผšๆท˜ๆฑฐๅผ€ๅ‘่€…๏ผŒๅชไผšๆท˜ๆฑฐ้‚ฃไบ›ๆ‹’็ปไฝฟ็”จ AI ๆฅๆ”พๅคง่‡ช่บซไบงๅ“ไปทๅ€ผ็š„ๅผ€ๅ‘่€…ใ€‚ๅœจๆŠ€ๆœฏ้€š็ผฉ็š„ๆ—ถไปฃ๏ผŒๅ”ฏๆœ‰ๆดžๅฏŸๅŠ›ๅ’ŒๅฏนไธšๅŠกๆต็š„ๆŠŠๆŽงๅŠ›๏ผŒๆ‰่ƒฝ่ฟŽๆฅ็œŸๆญฃ็š„ไปทๅ€ผ่†จ่ƒ€ใ€‚

',38))]))}});export{p as __pageData,I as default}; +import{H as r}from"./chunks/HighLightText.BFsbuOsY.js";import{g as o,h as i,U as a,i as n,S as e,z as s,s as g}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const p=JSON.parse('{"title":"้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ AI ๆž้€Ÿ้™ไฝŽไปฃ็ ็ผ–ๅ†™้—จๆง›๏ผŒๅ•็บฏ็š„โ€œไธšๅŠกไปฃ็ ็ฟป่ฏ‘ๅ™จโ€่ง’่‰ฒๆญฃๅŠ ้€Ÿ่ดฌๅ€ผใ€‚ๆœฌๆ–‡ไปŽๆŠ€ๆœฏๆผ”่ฟ›ไธŽไบงๅ“ๆ€่€ƒ็š„ไบคๆฑ‡็‚นๅ‡บๅ‘๏ผŒๅฐ† AI ๆ—ถไปฃ็š„ๅผ€ๅ‘่€…่ƒฝๅŠ›ๅ›พ่ฐฑ้‡ๆ–ฐๅˆ’ๅˆ†ไธบไธ‰ๅคงๆ ธๅฟƒๅœˆๅฑ‚๏ผšไบงๅ“ๅบ”็”จๅฑ‚๏ผˆInsight Stack๏ผ‰ใ€Agent ๅผ€ๅ‘ๅฑ‚ไธŽ AI ๅŸบ็ก€่ฎพๆ–ฝๅฑ‚ใ€‚ๆ— ่ฎบไฝ ๆ˜ฏๆทฑ่€•่ง†ๅ›พๅฑ‚ไบคไบ’ใ€็ฒพ้€š Node.js ็ญ‰ๆœๅŠก็ซฏๆžถๆž„็š„ๅผ€ๅ‘่€…๏ผŒ่ฟ˜ๆ˜ฏ่‡ดๅŠ›ไบŽๆŠ€ๆœฏ่ฝๅœฐ็š„ๆŽข็ดข่€…๏ผŒ้ƒฝ่ƒฝๅœจ่ฟ™ไปฝๆผ”่ฟ›ๆŒ‡ๅ—ไธญๆ‰พๅˆฐๆ‰“็ ด่ƒฝๅŠ›่พน็•Œใ€ๅ‘โ€œ่ถ…็บงไธชไฝ“โ€ไธŽโ€œAI ๆ™บ่ƒฝไฝ“ๆŒ‡ๆŒฅๅฎ˜โ€่ทƒ่ฟ็š„็ ดๅฑ€ไน‹้“ใ€‚","frontmatter":{"date":"2026-03-02T11:05:50.000Z","title":"้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ AI ๆž้€Ÿ้™ไฝŽไปฃ็ ็ผ–ๅ†™้—จๆง›๏ผŒๅ•็บฏ็š„โ€œไธšๅŠกไปฃ็ ็ฟป่ฏ‘ๅ™จโ€่ง’่‰ฒๆญฃๅŠ ้€Ÿ่ดฌๅ€ผใ€‚ๆœฌๆ–‡ไปŽๆŠ€ๆœฏๆผ”่ฟ›ไธŽไบงๅ“ๆ€่€ƒ็š„ไบคๆฑ‡็‚นๅ‡บๅ‘๏ผŒๅฐ† AI ๆ—ถไปฃ็š„ๅผ€ๅ‘่€…่ƒฝๅŠ›ๅ›พ่ฐฑ้‡ๆ–ฐๅˆ’ๅˆ†ไธบไธ‰ๅคงๆ ธๅฟƒๅœˆๅฑ‚๏ผšไบงๅ“ๅบ”็”จๅฑ‚๏ผˆInsight Stack๏ผ‰ใ€Agent ๅผ€ๅ‘ๅฑ‚ไธŽ AI ๅŸบ็ก€่ฎพๆ–ฝๅฑ‚ใ€‚ๆ— ่ฎบไฝ ๆ˜ฏๆทฑ่€•่ง†ๅ›พๅฑ‚ไบคไบ’ใ€็ฒพ้€š Node.js ็ญ‰ๆœๅŠก็ซฏๆžถๆž„็š„ๅผ€ๅ‘่€…๏ผŒ่ฟ˜ๆ˜ฏ่‡ดๅŠ›ไบŽๆŠ€ๆœฏ่ฝๅœฐ็š„ๆŽข็ดข่€…๏ผŒ้ƒฝ่ƒฝๅœจ่ฟ™ไปฝๆผ”่ฟ›ๆŒ‡ๅ—ไธญๆ‰พๅˆฐๆ‰“็ ด่ƒฝๅŠ›่พน็•Œใ€ๅ‘โ€œ่ถ…็บงไธชไฝ“โ€ไธŽโ€œAI ๆ™บ่ƒฝไฝ“ๆŒ‡ๆŒฅๅฎ˜โ€่ทƒ่ฟ็š„็ ดๅฑ€ไน‹้“ใ€‚","permalink":"/fullstack/ai-engineer-capability","coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png","top":true,"tags":["ๅ…จๆ ˆ","AI"],"categories":["ๅ…จๆ ˆ"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/02.้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—.md","filePath":"01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/02.้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—.md"}'),d={name:"01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/02.้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—.md"},I=Object.assign(d,{setup(l){return(h,t)=>(i(),o("div",null,[t[5]||(t[5]=a('

้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ— โ€‹

ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ AI ๆž้€Ÿ้™ไฝŽไปฃ็ ็ผ–ๅ†™้—จๆง›๏ผŒๅ•็บฏ็š„โ€œไธšๅŠกไปฃ็ ็ฟป่ฏ‘ๅ™จโ€่ง’่‰ฒๆญฃๅŠ ้€Ÿ่ดฌๅ€ผใ€‚ๆœฌๆ–‡ไปŽๆŠ€ๆœฏๆผ”่ฟ›ไธŽไบงๅ“ๆ€่€ƒ็š„ไบคๆฑ‡็‚นๅ‡บๅ‘๏ผŒๅฐ† AI ๆ—ถไปฃ็š„ๅผ€ๅ‘่€…่ƒฝๅŠ›ๅ›พ่ฐฑ้‡ๆ–ฐๅˆ’ๅˆ†ไธบไธ‰ๅคงๆ ธๅฟƒๅœˆๅฑ‚๏ผšไบงๅ“ๅบ”็”จๅฑ‚๏ผˆInsight Stack๏ผ‰ใ€Agent ๅผ€ๅ‘ๅฑ‚ไธŽ AI ๅŸบ็ก€่ฎพๆ–ฝๅฑ‚ใ€‚ๆ— ่ฎบไฝ ๆ˜ฏๆทฑ่€•่ง†ๅ›พๅฑ‚ไบคไบ’ใ€็ฒพ้€š Node.js ็ญ‰ๆœๅŠก็ซฏๆžถๆž„็š„ๅผ€ๅ‘่€…๏ผŒ่ฟ˜ๆ˜ฏ่‡ดๅŠ›ไบŽๆŠ€ๆœฏ่ฝๅœฐ็š„ๆŽข็ดข่€…๏ผŒ้ƒฝ่ƒฝๅœจ่ฟ™ไปฝๆผ”่ฟ›ๆŒ‡ๅ—ไธญๆ‰พๅˆฐๆ‰“็ ด่ƒฝๅŠ›่พน็•Œใ€ๅ‘โ€œ่ถ…็บงไธชไฝ“โ€ไธŽโ€œAI ๆ™บ่ƒฝไฝ“ๆŒ‡ๆŒฅๅฎ˜โ€่ทƒ่ฟ็š„็ ดๅฑ€ไน‹้“ใ€‚

about site background

ๅฆ‚ๆžœไฝ ๅฏน่ฟ‘ไธคๅนด็š„ๆŠ€ๆœฏๆตชๆฝฎไฟๆŒๆ•ๆ„Ÿ๏ผŒๅคงๆฆ‚ไผšๅพ—ๅ‡บไธ€ไธชๆœ‰ไบ›ๆฎ‹้…ทไฝ†ๆ— ๆฏ”็œŸๅฎž็š„็ป“่ฎบ๏ผšไปฃ็ ๆญฃๅœจๅ‘็”Ÿโ€œ้€š่ดง่†จ่ƒ€โ€ใ€‚้š็€ๅคงๆจกๅž‹็ผ–็จ‹่ƒฝๅŠ›็š„ๆŒ‡ๆ•ฐ็บง่ทƒๅ‡๏ผŒ็บฏ็ฒน็š„โ€œๅฐ†ไธšๅŠก้€ป่พ‘็ฟป่ฏ‘ๆˆไปฃ็ โ€่ฟ™้กนๆŠ€่ƒฝ็š„ๆบขไปทๆญฃๅœจๅฟซ้€Ÿ่กฐๅ‡ใ€‚ๅฝ“ AI ่ƒฝๅœจๅ‡ ็ง’้’Ÿๅ†…ๅๅ‡บๅŒ…ๅซๅฎŒๆ•ด็ฑปๅž‹ๅฎšไน‰ใ€้”™่ฏฏๅค„็†ๅ’Œๆต‹่ฏ•็”จไพ‹็š„ๅŽ็ซฏๆŽฅๅฃๆˆ–ๆ˜ฏ React ็ป„ไปถๆ—ถ๏ผŒ่ฝฏไปถๅทฅ็จ‹ๅธˆ็š„ๆŠคๅŸŽๆฒณ็ฉถ็ซŸๅœจๅ“ช้‡Œ๏ผŸ

่กŒไธš็š„ๆผ”่ฟ›็ป™ๅ‡บไบ†็ญ”ๆกˆ๏ผšๅผ€ๅ‘่€…็š„่ง’่‰ฒๆญฃๅœจ็ปๅކไธ€ๆฌกๅฝปๅบ•็š„้‡ๆž„ใ€‚ๆˆ‘ไปฌๆญฃๅœจไปŽโ€œไปฃ็ ็š„็ผ–ๅ†™่€…โ€่ฝฌๅ˜ไธบโ€œ็ณป็ปŸ็š„ๆžถๆž„่€…โ€ไธŽโ€œAI ๆ™บ่ƒฝไฝ“็š„ๆŒ‡ๆŒฅๅฎ˜โ€ใ€‚็ป“ๅˆๅฝ“ไธ‹็š„ๅทฅไธš็•Œๅฎž่ทต๏ผŒๆˆ‘ไปฌๅฏไปฅๅฐ† AI ๆ—ถไปฃ็š„ๅทฅ็จ‹ๅธˆๅ›พ่ฐฑๆธ…ๆ™ฐๅœฐๅˆ’ๅˆ†ไธบไธ‰ๅคงๆ ธๅฟƒๅœˆๅฑ‚๏ผšไบงๅ“ๅบ”็”จๅฑ‚ใ€Agent ๅผ€ๅ‘ๅฑ‚ไธŽ AI ๅŸบ็ก€่ฎพๆ–ฝๅฑ‚ใ€‚

1. ไบงๅ“ๅบ”็”จๅฑ‚๏ผˆInsight Stack๏ผ‰๏ผš่ตฐๅ‘โ€œ่ถ…็บงไธชไฝ“โ€็š„ AI ๅŽŸ็”Ÿๅ…จๆ ˆ โ€‹

ๆ ธๅฟƒๅฃๅž’๏ผšๆŠ€ๆœฏ่ง†้‡Ž + ไบงๅ“ๆ•้”ๅบฆ + ๆž้€Ÿ็š„ๆžถๆž„็ป„่ฃ…่ƒฝๅŠ›๏ผŒ่ƒฝๅคŸๅ•ๆžชๅŒน้ฉฌๆˆ–ๅธฆ้ข†ๆžๅฐๅ›ข้˜Ÿ๏ผŒๅฐ†ไธ€ไธช็ตๆ„Ÿ่ฟ…้€Ÿ่ฝฌๅŒ–ไธบ้ซ˜ๅฏ็”จไบงๅ“ใ€‚

ๅœจ AI ๆžๅคงๅœฐ้™ไฝŽไบ†ไปฃ็ ็ผ–ๅ†™้—จๆง›็š„ไปŠๅคฉ๏ผŒโ€œๅ†ณๅฎšๅšไป€ไนˆโ€ๅ’Œโ€œๅฆ‚ไฝ•ๅˆฉ็”จ AI ๆž„ๅปบ็ณป็ปŸโ€็š„ไปทๅ€ผ๏ผŒๅทฒ็ป้€ๆธ่ถ…่ถŠไบ†โ€œ็บฏๆ‰‹ๅทฅๆ•ฒๅ‡ปไปฃ็ โ€็š„ไปทๅ€ผใ€‚่ฟ™ๆˆ–่ฎธๆ˜ฏไผ ็ปŸๅ‰็ซฏใ€ๅŽ็ซฏๅผ€ๅ‘่€…่ฝฌๅž‹ๆœ€้กบๆป‘ใ€ไนŸๆœ€่ƒฝ้‡Šๆ”พๅทจๅคงๅ•†ไธšไปทๅ€ผ็š„ไธ€ๅฑ‚ใ€‚

',9)),n("p",null,[t[1]||(t[1]=e("ๅœจ่ฟ™ไธ€ๅฑ‚๏ผŒโ€œๅ…จๆ ˆๅทฅ็จ‹ๅธˆโ€็š„ๅฎšไน‰่ขซ้‡ๆ–ฐๆ”นๅ†™ไธบโ€œไบงๅ“ๅทฅ็จ‹ๅธˆ๏ผˆProduct Engineer๏ผ‰โ€ใ€‚",-1)),t[2]||(t[2]=n("strong",null,"ๆŠ€ๆœฏๆ ˆไธๅ†ไป…ไป…ๆ˜ฏๅ‰็ซฏๆก†ๆžถๅ’Œๆ•ฐๆฎๅบ“๏ผŒ่€Œๆ˜ฏๅŒ…ๅซไบ†โ€œไบงๅ“ Senseโ€ไธŽโ€œๅ•†ไธšๆดžๅฏŸโ€็š„ Insight Stack",-1)),t[3]||(t[3]=e("ใ€‚ๅ…จๆ ˆๅทฅ็จ‹ๅธˆไนŸๆญฃๅœจ่ฟ›ๅŒ–ไธบโ€œ่ถ…็บงไธชไฝ“โ€ๆˆ–โ€œไบงๅ“ๅทฅ็จ‹ๅธˆ๏ผˆProduct Engineer๏ผ‰โ€ใ€‚",-1)),s(r,{type:"note",bold:""},{default:g(()=>[...t[0]||(t[0]=[e("้—ฎ้ข˜ๅ‘็Žฐ -> ๅˆ›ๆ„ๆฒ‰ๆท€ -> AI ่พ…ๅŠฉๆŠ€ๆœฏๆ–นๆกˆ -> AI ้ฉฑๅŠจไปฃ็ ็”Ÿๆˆ",-1)])]),_:1}),t[4]||(t[4]=e(" ่ฟ™ไธ€้—ญ็Žฏ๏ผŒๆญฃๆ˜ฏๅฝ“ๅ‰ๆœ€้ซ˜ๆ•ˆ็š„็‹ฌ็ซ‹ๅผ€ๅ‘ๆˆ–ๅฐๅ›ข้˜Ÿๆ•ๆทๅผ€ๅ‘่Œƒๅผใ€‚",-1))]),t[6]||(t[6]=a('

1.1 ไบงๅ“ Sense ไธŽไธšๅŠกๆดžๅฏŸ โ€‹

่ฟ‡ๅŽป๏ผŒๅทฅ็จ‹ๅธˆๅพ€ๅพ€ๆ˜ฏ่ขซๅŠจๆŽฅๆ”ถ PRDใ€‚่€Œๅœจ AI ๆ—ถไปฃ๏ผŒๆŠ€ๆœฏ้—จๆง›็š„้™ไฝŽๆ„ๅ‘ณ็€ๅทฅ็จ‹ๅธˆๅฏไปฅ้šๆ—ถๅฐ†็”Ÿๆดปๅ’Œๅทฅไฝœไธญ็š„โ€œ็ตๆ„Ÿ็ขŽ็‰‡โ€ไธŽโ€œ็—›็‚นๆ•่Žทโ€่ฝฌๅŒ–ไธบไบงๅ“ๅˆ›ๆ„ใ€‚ๆˆ‘ไปฌ้œ€่ฆๅ…ทๅค‡ๆžๅ…ถๆ•้”็š„ AI ่พน็•Œ่ฎค็Ÿฅ๏ผŒๆ˜Ž็กฎ็Ÿฅ้“ๅ“ชไบ›ๅœบๆ™ฏ้€‚ๅˆ็”จไผ ็ปŸ็š„ CRUD ่งฃๅ†ณ๏ผŒๅ“ชไบ›ๅฟ…้กปไบค็”ฑ LLM ๅŽปๅค„็†ๆจก็ณŠไธŽ้ž็กฎๅฎšๆ€งใ€‚

ๅœจไบงๅ“ๅบ”็”จๅฑ‚๏ผŒๆˆ‘ไปฌ่ฟ˜้œ€่ฆๅ…ทๅค‡ๆ•ฐๆฎ้ฃž่ฝฎๆ„่ฏ†๏ผŒๆณจ้‡ๅœจๅบ”็”จๅฑ‚่ฎพ่ฎกๅŸ‹็‚น๏ผŒๆ”ถ้›†็”จๆˆท็š„ไบคไบ’ไธŽ็บ ้”™ๆ•ฐๆฎ๏ผŒไธบๅŽ็ปญ็š„ Agentic workflow ไผ˜ๅŒ–ๆˆ–ๆจกๅž‹ๅพฎ่ฐƒๆไพ›้ซ˜่ดจ้‡ๆ•ฐๆฎๆบใ€‚

1.2 Agentic Engineering๏ผˆๆ™บ่ƒฝไฝ“ๅทฅ็จ‹๏ผ‰ โ€‹

่ฟ™ๆ˜ฏไธ€็งๅ…จๆ–ฐ็š„ๅผ€ๅ‘่Œƒๅผ๏ผŒๅผ€ๅ‘่€…ไธๅ†้€่กŒๆ‰‹ๆ•ฒไปฃ็ ๏ผŒ่€Œๆ˜ฏ้€š่ฟ‡ๆ’ฐๅ†™ไธฅ่ฐจ็š„ Specใ€ๅˆฉ็”จ TDD๏ผˆๆต‹่ฏ•้ฉฑๅŠจๅผ€ๅ‘๏ผ‰ๅ’Œ Lint ๅผบ็บฆๆŸ๏ผŒๅŽปโ€œ้ฉฑๅŠจโ€ๅ’Œโ€œ็ฎก็†โ€ AI ็ผ–็จ‹ๅŠฉๆ‰‹๏ผˆๅฆ‚ Claude Codeใ€Cursor๏ผ‰๏ผŒๅ…จๆ ˆๅŸบ็ก€่ฎพๆ–ฝ็š„่Œƒ็•ดไนŸๆ‰ฉๅฑ•ๅˆฐไบ†่ทจ็ซฏ่ฝป้‡ๅŒ–ๅบ”็”จ๏ผˆไพ‹ๅฆ‚ๅˆฉ็”จๅ‰็ซฏๆŠ€ๆœฏๆ ˆๅฟซ้€Ÿๆž„ๅปบ้ซ˜ไปทๅ€ผ็š„ๆต่งˆๅ™จๆ’ไปถ๏ผ‰ใ€‚

่ƒฝๅŠ›็ปดๅบฆๅ…ทไฝ“่ฆๆฑ‚
่ง„ๅˆ’ใ€่ฎพ่ฎกไธŽ่ฟญไปฃ่ƒฝๅŠ›โ€ข ่ƒฝๅคŸๅฟซ้€Ÿๅ“ๅบ”ไธšๅŠก้œ€ๆฑ‚๏ผŒ่ง„ๅˆ’ไบงๅ“ๅŠŸ่ƒฝ๏ผŒๅฎŒๆˆๆŠ€ๆœฏๆžถๆž„็š„่ฐƒ็ ”ใ€้€‰ๅž‹ไธŽๆ•ดไฝ“่ฎพ่ฎกใ€‚
โ€ข ่ƒฝๅ€ŸๅŠฉ AI ่ฟ›่กŒๅ‰็ซฏ่ง†ๅ›พๅฑ‚ใ€Node.js ๅŽ็ซฏๆ ธๅฟƒๆ•ฐๆฎๆตใ€ไธšๅŠกๆต็จ‹็š„้กถๅฑ‚่ฎพ่ฎกใ€‚
โ€ข ไธไฝ†่ƒฝๅ•ๆžชๅŒน้ฉฌๆˆ–ๅธฆ้ข†ๆžๅฐๅ›ข้˜Ÿไธญ็š„ไบบ๏ผŒ่ฟ˜ๆ‡‚ๅพ—้ข†ๅฏผใ€็ฎก็† AI ๆ•ฐๅญ—ๅ‘˜ๅทฅใ€‚
AI ้ฉฑๅŠจ็ผ–็จ‹ๅŸบไบŽ Specใ€TDDใ€Hooks๏ผˆLint ๆฃ€ๆŸฅ๏ผ‰็ญ‰ๅผบ็บฆๆŸๆœบๅˆถ๏ผŒ้ฉฑๅŠจ Claude Code / Copilot ็ญ‰ๅทฅๅ…ท็”Ÿๆˆ้ซ˜่ง„่Œƒๅบฆไปฃ็ ใ€‚
ๅ…จๆ ˆๅŸบ็ก€่ฎพๆ–ฝ็†Ÿ็ปƒๆŽŒๆกไผ ็ปŸๆžถๆž„ไฝ“็ณป๏ผˆๆ•ฐๆฎๅบ“้€‰ๅž‹ใ€Redisใ€ๅพฎๆœๅŠกใ€ๆถˆๆฏ้˜Ÿๅˆ—๏ผ‰๏ผŒไปฅๅŠ่ทจ็ซฏ/่ฝป้‡ๅŒ–ๅฝขๆ€๏ผˆๅฆ‚ Chrome ๆ’ไปถ็”Ÿๆ€๏ผ‰็š„ๅทฅ็จ‹ๆญๅปบใ€‚
DevOps็ŽฐไปฃๅŒ–็š„่‡ชๅŠจๅŒ–้ƒจ็ฝฒใ€CI/CD ๆตๆฐด็บฟๆญๅปบไธŽ่ฟ็ปดใ€‚

1.3 AI-First ็š„ไบคไบ’ๅ“ฒๅญฆ โ€‹

AI ๅบ”็”จ็š„ไฝ“้ชŒไธŽไผ ็ปŸ่ฝฏไปถๆˆช็„ถไธๅŒใ€‚ไธบไบ†ๅฏนๆŠ—ๅคงๆจกๅž‹็š„ๅปถ่ฟŸไธŽๅนป่ง‰๏ผŒๅทฅ็จ‹ๅธˆๅฟ…้กปๆŽŒๆกๆตๅผๆธฒๆŸ“๏ผˆStreaming UI๏ผ‰ใ€็”Ÿๆˆๅผ UI๏ผˆGenerative UI๏ผ‰็ญ‰ๆ–ฐไธ€ไปฃไบคไบ’ๆจกๅผ๏ผŒ็”จไผ˜้›…็š„ๅทฅ็จ‹่ฎพ่ฎกๅ…œๅบ• AI ็š„ไธ็กฎๅฎšๆ€งใ€‚

  • ๆตๅผๆธฒๆŸ“๏ผˆStreaming UI๏ผ‰๏ผšไผ˜ๅŒ–ๅคงๆจกๅž‹ๅ“ๅบ”็š„็ญ‰ๅพ…ไฝ“้ชŒใ€‚
  • ็”Ÿๆˆๅผไบคไบ’๏ผˆGenerative UI๏ผ‰๏ผšๅœจๅ‰็ซฏๆก†ๆžถ๏ผˆๅฆ‚ React / Next.js๏ผ‰ไธญ๏ผŒๆ นๆฎ AI ่ฟ”ๅ›ž็š„็ป“ๆž„ๅŒ–็Šถๆ€ๅฎžๆ—ถๆธฒๆŸ“ๅ‡บๆœ€ๅˆ้€‚็š„ไบคไบ’็ป„ไปถ๏ผŒ่€Œ้žๆญปๆฟ็š„ๅฏน่ฏๆก†ใ€‚
  • ๅฎน้”™ไธŽๅ…œๅบ•ๆœบๅˆถ๏ผšไผ˜้›…ๅค„็†ๅคงๆจกๅž‹ๅนป่ง‰๏ผˆHallucination๏ผ‰๏ผŒ้™ไฝŽ็”จๆˆท็š„ๆŒซ่ดฅๆ„Ÿใ€‚

2. Agent ๅผ€ๅ‘ๅฑ‚๏ผšๆž„ๅปบ่ฟžๆŽฅ็‰ฉ็†ไธ–็•Œ็š„ๆ•ฐๅญ—ไธญๆžข โ€‹

ๆ ธๅฟƒๅฃๅž’๏ผšๆ ‡ๅ‡†ๅŒ–ๆจกๅ—็ป„่ฃ… + ๅคๆ‚ Agentic Workflow ็ผ–ๆŽ’ + ไธฅ่ฐจ็š„่ฏ„ๆต‹ไฝ“็ณป๏ผŒ่ฟ™ไธ€ๅฑ‚่ดŸ่ดฃไธบ AI ่ต‹ไบˆ่ฎฐๅฟ†ใ€ๆ‰‹่„šๅ’Œไธ“ไธš้ข†ๅŸŸ็š„็Ÿฅ่ฏ†๏ผŒๆ˜ฏ่ฟžๆŽฅโ€œๅบ•ๅฑ‚ๆจกๅž‹ๅคง่„‘โ€ไธŽโ€œไธŠๅฑ‚ๅบ”็”จไบคไบ’โ€็š„ๆ ธๅฟƒๆžข็บฝใ€‚

ๅฆ‚ๆžœ่ฏดๅคงๆจกๅž‹ๆ˜ฏๅคง่„‘๏ผŒ้‚ฃไนˆ Agent ๅทฅ็จ‹ๅธˆๅฐฑๆ˜ฏไธบ่ฟ™ไธชๅคง่„‘่ฃ…ไธŠโ€œๅ››่‚ขโ€ใ€โ€œ่ฎฐๅฟ†โ€ๅ’Œโ€œไธ“ไธšๅทฅๅ…ทโ€็š„ไบบ๏ผŒ่ฟ™ๆ˜ฏไธ€ไธชๆญฃๅœจ็ˆ†ๅ‘็š„ๆ–ฐๅ…ด้ข†ๅŸŸ๏ผŒไนŸๆ˜ฏๅฎž็Žฐ AI ไธšๅŠก่ฝๅœฐ็š„ๆ ธๅฟƒๆžข็บฝใ€‚

2.1 Agentic Workflow ่ฎพ่ฎก โ€‹

่ƒฝๅŠ›็ปดๅบฆๅ…ทไฝ“่ฆๆฑ‚
ไปปๅŠกๆ‹†่งฃไธŽ่ทฏ็”ฑๅŸบไบŽ CoT๏ผˆๆ€็ปด้“พ๏ผ‰็ญ‰ๆŠ€ๆœฏๅทฅ็จ‹็š„ไปปๅŠกๆ‹†่งฃไธŽ่ทฏ็”ฑๆœบๅˆถ๏ผŒ้’ˆๅฏนไธๅŒๅคๆ‚ๅบฆ็š„ๅทฅไฝœๆต่ฎพ่ฎก็จณๅฅ็š„ๅคš Agent ๅไฝœไธŽๅˆ†ๅ‘ๆœบๅˆถใ€‚
่ฎพ่ฎกๆจกๅผไธŽ็ผ–ๆŽ’็†Ÿ็ปƒๅบ”็”จ ReActใ€Plan-and-Execute ็ญ‰ๆ™บ่ƒฝไฝ“่ฎพ่ฎกๆจกๅผ๏ผŒ้’ˆๅฏนไธๅŒ็š„ไธšๅŠกๅœบๆ™ฏ๏ผˆๅฆ‚ไฟกๆฏ็ˆฌๅ–ใ€้•ฟๆ–‡ๆ€ป็ป“่ฟ‡ๆปค็ญ‰่‡ชๅŠจๅŒ–ๅค„็†๏ผ‰๏ผŒ่ฎพ่ฎก็จณๅฅ็š„ๅคš Agent ๅไฝœไธŽ่ทฏ็”ฑๆตใ€‚
ไธปๆต Agent ๆก†ๆžถ็š„ๆ ธๅฟƒๆœบๅˆถไธŽๅฎžๆˆ˜่ฝๅœฐ็†Ÿๆ‚‰ๅนถๆŽŒๆกๅฆ‚ Claude Agent SDKใ€LangChainใ€AutoGen ็ญ‰ไธปๆต Agent ๆก†ๆžถ็š„ๆ ธๅฟƒๆœบๅˆถ๏ผŒ่ƒฝๅคŸๅœจๅฎž้™…้กน็›ฎไธญ็ตๆดปๅบ”็”จ๏ผŒ่งฃๅ†ณๅคๆ‚็š„ไธšๅŠกๅœบๆ™ฏใ€‚

2.2 ่ฎฐๅฟ†ๆœบๅˆถ๏ผˆMemory Management๏ผ‰ โ€‹

่ฆ่ฎฉ Agent ๅ˜ๅพ—โ€œๅฅฝ็”จโ€๏ผŒๅฟ…้กป่งฃๅ†ณไธŠไธ‹ๆ–‡้—ๅฟ˜ๅ’Œ็Ÿฅ่ฏ†ๅนป่ง‰็š„้—ฎ้ข˜ใ€‚่ฟ™ๅฐฑ่ฆๆฑ‚ๅทฅ็จ‹ๅธˆๆทฑ่ฐ™้•ฟๆœŸ่ฎฐๅฟ†/็ŸญๆœŸ่ฎฐๅฟ†็š„ๅๅŒ็ฎก็†๏ผŒไปฅๅŠๅคๆ‚ๆ–‡ๆกฃ็š„ๅˆ‡ๅ—๏ผˆChunking๏ผ‰ใ€ๅ‘้‡ๅŒ–๏ผˆEmbedding๏ผ‰ๅ’Œๆททๅˆๆฃ€็ดข๏ผˆHybrid Search๏ผ‰ๆŠ€ๆœฏใ€‚

  • ็ŸญๆœŸ่ฎฐๅฟ†๏ผš็ฒพๅ‡†ๆŽงๅˆถ Context Window๏ผŒ่ฟ›่กŒ Prompt ๆˆชๆ–ญไธŽๆ‘˜่ฆ๏ผŒๅณไธŠไธ‹ๆ–‡ๅทฅ็จ‹่ƒฝๅŠ›ใ€‚
  • ้•ฟๆœŸ่ฎฐๅฟ†๏ผšๅŸบไบŽๅ›พๆ•ฐๆฎๅบ“ๆˆ–ๅ‘้‡ๅบ“๏ผŒๆŒไน…ๅŒ–ๅญ˜ๅ‚จ็”จๆˆท็”ปๅƒไธŽๅކๅฒไบคไบ’็Šถๆ€ใ€‚

2.3 ๆŠ€่ƒฝ็š„ๆ’ไปถๅŒ–๏ผˆAgent Skill๏ผ‰ โ€‹

Agent Skill ๆ˜ฏ็”ฑ Anthropic ๆๅ‡บๅนถๆŽจๅŠจ็š„ไธ€็งๅผ€ๆ”พๅผๆ ‡ๅ‡†๏ผŒๆ—จๅœจๅฐ†็‰นๅฎš้ข†ๅŸŸ็š„็Ÿฅ่ฏ†ใ€ๅทฅไฝœๆตใ€ๆŒ‡ไปคๅ’Œ่„šๆœฌๆ‰“ๅŒ…ๅฐ่ฃ…ๆˆ็š„ๆ ‡ๅ‡†ๅŒ–ใ€ๆจกๅ—ๅŒ–่ต„ๆบๅŒ…๏ผŒ่ฎฉ AI Agent ๆŒ‰้œ€ๅŠจๆ€ๅŠ ่ฝฝ่ฟ™ไบ›ๆŠ€่ƒฝ๏ผŒๅฎž็ŽฐไปŽ้€š็”จๅŠฉๆ‰‹ๅ‘็‰นๅฎšไปปๅŠกไธ“ๅฎถ๏ผˆๅฆ‚ไปฃ็ ๅฎก่ฎกใ€ๆณ•ๅพ‹ๆ–‡ไปถๅˆ†ๆž๏ผ‰็š„ๆ— ็ผ่ฝฌๅ˜ใ€‚

  • ็ป“ๆž„ๅŒ–ๅฐ่ฃ…๏ผšไปฅ็›ฎๅฝ•ๅฝขๅผ็ป„็ป‡๏ผˆๅฆ‚ๅซ SKILL.md ็š„ๆ–‡ไปถๅคน๏ผ‰๏ผŒๅŒ…ๅซ่ฏฆ็ป†็š„ๆ‰ง่กŒ่ง„ๅˆ™ใ€‚
  • ๆธ่ฟ›ๆŠซ้œฒ & ๆŒ‰้œ€่ฐƒ็”จ๏ผšAgent ไป…ๅœจๅค„็†็›ธๅ…ณไปปๅŠกๆ—ถๅŠจๆ€ๆฟ€ๆดป่ฟ™ไบ›่ƒฝๅŠ›๏ผŒๆ— ้œ€ๆฏๆฌกๆ็คบ้ƒฝๅŒ…ๅซๆ‰€ๆœ‰ๆŠ€่ƒฝใ€‚
  • ๅฏ้‡็”จไธŽ็ป„ๅˆ๏ผšๆŠ€่ƒฝๅฏๅคšๆฌก้‡ๅคไฝฟ็”จ๏ผŒๆˆ–ๅคšไธชๆŠ€่ƒฝ็ป„ๅˆๅค„็†ๅคๆ‚ๆต็จ‹ใ€‚

ๆ— ่ฎบๆ˜ฏ้•ฟๆ–‡ๆŠ“ๅ–ใ€ๆ‘˜่ฆๆๅ–่ฟ˜ๆ˜ฏๆ‰“ๆ ‡็ญพ๏ผŒ้ƒฝๅฏไปฅ่ขซๅฐ่ฃ…ไธบ็‹ฌ็ซ‹็š„ Skill๏ผŒๅœจๅคๆ‚็š„ Workflow ไธญ่ขซ Agent ๅŠจๆ€ๆŒ‚่ฝฝ๏ผŒๅณๆ’ๅณ็”จ๏ผŒๅœจๆž„ๅปบ็‰นๅฎšๅœบๆ™ฏ็š„ Agent๏ผˆไพ‹ๅฆ‚ไธ“ๆณจไบŽๆŠ€ๆœฏ่ต„่ฎฏๅค„็†็š„็Ÿฅ่ฏ†็ฎก็†ๅŠฉๆ‰‹๏ผ‰ๆ—ถ๏ผŒ่ƒฝๅคŸๅƒๆญ็งฏๆœจไธ€ๆ ท๏ผŒๆ นๆฎๅฝ“ๅ‰ไปปๅŠก็š„ไธŠไธ‹ๆ–‡ๅŠจๆ€ๅŠ ่ฝฝๆ‰€้œ€็š„ Skills๏ผŒไปŽ่€Œๅคงๅน…ๆๅ‡ Agent ็š„ๆณ›ๅŒ–่ƒฝๅŠ›ๅ’Œๅผ€ๅ‘ๆ•ˆ็އใ€‚

2.4 ไปŽ็กฌ็ผ–็ ๅˆฐๆ ‡ๅ‡†ๅ่ฎฎไธŽไธŠไธ‹ๆ–‡่ฟžๆŽฅ โ€‹

้š็€ MCP๏ผˆModel Context Protocol๏ผ‰็ญ‰ๆ ‡ๅ‡†ๅŒ–ๅ่ฎฎ็š„ๆˆ็†Ÿ๏ผŒAgent ๅผ€ๅ‘ๆญฃๅœจๆ‘†่„ฑๆ‚ไนฑ็š„่ƒถๆฐดไปฃ็ ใ€‚ๆˆ‘ไปฌๅฏไปฅๅˆฉ็”จ็†Ÿๆ‚‰็š„ๅŽ็ซฏ็”Ÿๆ€๏ผˆๅฆ‚ Node.js๏ผ‰ๆž„ๅปบ MCP Server๏ผŒ่ฎฉ AI ๅฎ‰ๅ…จใ€็ปŸไธ€ๅœฐ่ฏปๅ–ๅค–้ƒจ API ๆˆ–ๆ˜ฏไผไธšๅ†…้ƒจ็Ÿฅ่ฏ†ๅบ“๏ผŒๆ‰“็ ดไฟกๆฏๅญคๅฒ›ใ€‚

  • ็ปŸไธ€ๆ•ฐๆฎๆŽฅๅ…ฅๅฑ‚๏ผšไธๅ†้œ€่ฆไธบๆฏไธ€ไธชๆ•ฐๆฎๆบ๏ผˆๅฆ‚ Notionใ€ๆœฌๅœฐๆ–‡ไปถ็ณป็ปŸใ€็‰นๅฎš็š„็ ”ๅ‘ๅทฅๅ…ทๆˆ–ๅค–้ƒจ API๏ผ‰ๆ‰‹ๅ†™ๆ‚ไนฑ็š„่ƒถๆฐดไปฃ็ ใ€‚้€š่ฟ‡ๅฎž็Žฐๅ’ŒๆŽฅๅ…ฅ MCP Server๏ผŒไธบๅคงๆจกๅž‹ๆไพ›ไธ€ๅฅ—ๆ ‡ๅ‡†ๅŒ–็š„ๅŒๅ‘้€šไฟกๅ่ฎฎใ€‚
  • ่ทจ็”Ÿๆ€ไธŽ็ซฏไพง้›†ๆˆ๏ผš่ƒฝๅคŸๅˆฉ็”จ Node.js ็ญ‰็†Ÿๆ‚‰็š„ๅŽ็ซฏ็”Ÿๆ€ๅฟซ้€Ÿๆž„ๅปบ MCP ๆœๅŠก๏ผŒ่ฎฉๅคงๆจกๅž‹็ปŸไธ€ใ€ๅฎ‰ๅ…จๅœฐ่ฏปๅ–ๅคšๆบไธŠไธ‹ๆ–‡ใ€‚่ฟ™ๅฏนไบŽๅผ€ๅ‘่ทจ็ซฏ็š„ AI ๅบ”็”จ๏ผˆๅฆ‚ๅœจๆต่งˆๅ™จๆ’ไปถไธญๆ‰“็ ดๆฒ™็›’้™ๅˆถ๏ผŒ็›ดๆŽฅไธŽๆœฌๅœฐๆˆ–ไบ‘็ซฏ็Ÿฅ่ฏ†ๅบ“่”ๅŠจ๏ผ‰่‡ณๅ…ณ้‡่ฆใ€‚

2.5 ๆจกๅž‹้€‰ๅž‹ใ€่ทฏ็”ฑไธŽๅฏ่ง‚ๆต‹ๆ€ง โ€‹

  • ๅŠจๆ€ API ่ทฏ็”ฑ๏ผšๅœจๆˆๆœฌไธŽๆ€ง่ƒฝไน‹้—ดๅ–่ˆ๏ผŒ็ตๆดป่ฐƒๅบฆๅ›ฝๅ†…ๅค–ๅคงๆจกๅž‹๏ผˆClaudeใ€Geminiใ€GPT-4๏ผŒไปฅๅŠๅ›ฝๅ†…็š„ DeepSeekใ€GLMใ€MiniMaxใ€Qwen็ญ‰๏ผ‰ใ€‚
  • Agent ็›‘ๆŽง๏ผšๆž„ๅปบๆต‹่ฏ•้›†๏ผˆEval๏ผ‰๏ผŒ็›‘ๆŽง้“พ่ทฏๆ‰ง่กŒ่ฟ‡็จ‹๏ผˆTracing๏ผ‰๏ผŒๅˆ†ๆž Token ๆถˆ่€—ไธŽๆญฅ้ชคๅปถ่ฟŸใ€‚

2.6 EDD๏ผˆ่ฏ„ไผฐ้ฉฑๅŠจๅผ€ๅ‘๏ผ‰้‡ๅก‘ๅทฅ็จ‹่ดจ้‡ โ€‹

ๅœจ Agent ๅผ€ๅ‘ไธญ๏ผŒๅคงๆจกๅž‹็š„่พ“ๅ‡บๅ…ทๆœ‰้ž็กฎๅฎšๆ€ง๏ผŒๅฆ‚ๆžœ่ฏดๅผ€ๅ‘ Agent ๅชๆ˜ฏๅฎŒๆˆไบ†ไปŽ 0 ๅˆฐ 1 ็š„โ€œ่ƒฝ็”จโ€๏ผŒ้‚ฃไนˆๆž„ๅปบๅฎŒๅ–„็š„่ฏ„ๆต‹ไฝ“็ณป๏ผŒๅฐฑๆ˜ฏ่งฃๅ†ณไปŽ 1 ๅˆฐ 100 ็š„โ€œๅฅฝ็”จโ€ไธŽโ€œๆ•ข็”จโ€็š„ๆ ธๅฟƒๅฃๅž’ใ€‚ๆˆ็†Ÿ็š„ Agent ๅทฅ็จ‹ๅธˆๅฟ…้กปๅปบ็ซ‹็ณป็ปŸ็š„่ฏ„ๆต‹ไธŽ็›‘ๆŽงไฝ“็ณป๏ผˆObservability๏ผ‰๏ผŒ้€š่ฟ‡ๆž„ๅปบ้ป„้‡‘ๆต‹่ฏ•้›†๏ผˆGolden Dataset๏ผ‰ใ€ๅผ•ๅ…ฅ LLM-as-a-Judge๏ผŒไปฅๅŠ็ฒพ็กฎๅˆฐ Token ็บง็š„้“พ่ทฏ่ฟฝ่ธช๏ผˆTracing๏ผ‰๏ผŒๅฐ†โ€œๆ„Ÿ่ง‰ไธ้”™โ€็š„็Ž„ๅญฆ่ฝฌๅŒ–ไธบๅฏ้‡ๅŒ–็š„ๅทฅ็จ‹ๆŒ‡ๆ ‡ใ€‚

่ƒฝๅŠ›็ปดๅบฆๅ…ทไฝ“่ฆๆฑ‚
่‡ชๅŠจๅŒ–่ฏ„ๆต‹้ฉฑๅŠจ (EDD)ๆ‘’ๅผƒ"่‚‰็œผ็œ‹ๆ•ˆๆžœ"็š„ๆธธๅ‡ปๆˆ˜๏ผŒๅปบ็ซ‹็‰นๅฎšๅœบๆ™ฏ็š„ Golden Dataset๏ผˆๅŸบๅ‡†ๆต‹่ฏ•้›†๏ผ‰๏ผŒ็†Ÿ็ปƒๅผ•ๅ…ฅ Promptfooใ€Ragas ็ญ‰่ฏ„ไผฐๆก†ๆžถ๏ผŒๅฐ†่ฏ„ๆต‹ๆ— ็ผ่žๅ…ฅ CI/CD ๆตๆฐด็บฟใ€‚
ๅคš็ปดๆŒ‡ๆ ‡ไฝ“็ณป่ฎพ่ฎก้’ˆๅฏนๅ…ทไฝ“ไปปๅŠก๏ผˆๅฆ‚้•ฟๆ–‡ๆ€ป็ป“ใ€ๅ†…ๅฎนๅฝ’็ฑป๏ผ‰๏ผŒ่ฎพ่ฎกๅนถ้‡ๅŒ–่ฏธๅฆ‚ไบ‹ๅฎžไธ€่‡ดๆ€ง (Faithfulness)ใ€็ญ”ๆกˆ็›ธๅ…ณๆ€ง (Answer Relevance)ใ€ๅนป่ง‰็އ (Hallucination Rate) ็ญ‰ๆ ธๅฟƒๆŒ‡ๆ ‡ใ€‚
LLM-as-a-Judge ไธŽไบบๅทฅๅฏน้ฝไฝฟ็”จๅผบๆจกๅž‹๏ผˆๅฆ‚ Claude 4.6/GPT๏ผ‰ๆฅๆ‰น้‡่‡ชๅŠจ่ฏ„ๆต‹ๅผฑๆจกๅž‹ๆˆ– Agent ็š„่พ“ๅ‡บ่ดจ้‡๏ผŒๅนถๅœจๅ…ณ้”ฎ่Š‚็‚น็ป“ๅˆ HITL๏ผˆHuman-in-the-loop๏ผŒไบบๆœบๅๅŒ๏ผ‰่ฟ›่กŒไบบๅทฅๅพฎ่ฐƒไธŽๅฏน้ฝใ€‚
้“พ่ทฏ่ฟฝ่ธชไธŽๅฝ’ๅ›  (Tracing)้ขๅฏนๅคš Agent ๅไฝœๆˆ–ๅคๆ‚็š„ RAG ้“พ่ทฏ๏ผŒ็†Ÿ็ปƒไฝฟ็”จ LangSmithใ€Langfuse ็ญ‰ๅฏ่ง‚ๆต‹ๆ€งๅทฅๅ…ท๏ผŒ่ฎฐๅฝ•ๆฏไธ€ๆฌกๅทฅๅ…ท่ฐƒ็”จใ€Prompt ็ป„่ฃ…่€—ๆ—ถๅ’Œ Token ๆถˆ่€—๏ผŒ็ฒพๅ‡†ๅฎšไฝ Bad Case ็š„ๆ นๅ› ใ€‚

3. AI ๅŸบ็ก€่ฎพๆ–ฝๅฑ‚๏ผš็ฎ—ๅŠ›ไธŽๆจกๅž‹็š„้‡ๅทฅไธšๅบ•ๅบง โ€‹

ๆ ธๅฟƒๅฃๅž’๏ผšๆทฑๅŽš็š„ๅบ•ๅฑ‚็ฎ—ๆณ•็ด ๅ…ป + ๆž่‡ด็š„ๆ€ง่ƒฝๅŽ‹ๆฆจ + ๅคง่ง„ๆจกๅˆ†ๅธƒๅผ็ณป็ปŸ็ป้ชŒใ€‚่ฟ™ไธ€ๅฑ‚ๆ˜ฏ AI ๆ—ถไปฃ็š„โ€œ้‡ๅทฅไธšโ€ๅบ•ๅบง๏ผŒ่ดŸ่ดฃๆ‰“้€ ๅ’Œๆ‰“็ฃจๅŸบ็ก€ๆจกๅž‹๏ผŒๅนถๆไพ›ๆž่‡ดๆ€งไปทๆฏ”็š„็ฎ—ๅŠ›ๆ”ฏๆ’‘ใ€‚

ๆŠ€ๆœฏๅทฅ็จ‹่ƒŒๆ™ฏ็š„ๅทฅ็จ‹ๅธˆๅฏๆš‚ๆ—ถๅชๅ…ณๆณจไบŽๆจกๅž‹้ข„ๅค‡่ฎญ็ปƒใ€ๅŽ่ฎญ็ปƒใ€ๆŽจ็†็ญ‰ๆ”พ้ข็š„ๅŽŸ็†ไธŽๆต็จ‹๏ผŒไปฅๅŠๅฆ‚ไฝ•ๅœจๅคง่ง„ๆจกๅˆ†ๅธƒๅผ็ณป็ปŸไธŠ้ซ˜ๆ•ˆ้ƒจ็ฝฒๅ’Œ่ฟ่กŒ่ฟ™ไบ›ๆจกๅž‹๏ผŒ่€Œๆ— ้œ€ๆทฑๅ…ฅ็†่งฃๅบ•ๅฑ‚็š„ๅˆ†ๅธƒๅผ็ณป็ปŸๅ’Œ่ฎก็ฎ—ๆžถๆž„ใ€‚

ๅฆ‚ๆžœๅ‰ไธคๅฑ‚ๆ˜ฏ้€ ่ฝฆๅ’Œๅผ€่ฝฆ็š„๏ผŒ่ฟ™ไธ€ๅฑ‚ๅฐฑๆ˜ฏไฟฎ่ทฏๅ’Œๆ็‚ผ็Ÿณๆฒน็š„ใ€‚่ฟ™ๅฑžไบŽ AI ็š„โ€œ้‡ๅทฅไธšโ€๏ผŒ้—จๆง›ๆž้ซ˜๏ผŒไธป่ฆ็”ฑๅ…ทๅค‡ๆทฑๅŽš็ฎ—ๆณ•่ƒŒๆ™ฏๅ’Œๅบ•ๅฑ‚ๅทฅ็จ‹่ƒฝๅŠ›็š„้กถ็บงๅคงๅŽ‚ๆˆ– AI Native ็‹ฌ่ง’ๅ…ฝไธปๅฏผใ€‚

่ƒฝๅŠ›็ปดๅบฆๅ…ทไฝ“่ฆๆฑ‚
ๆจกๅž‹็ฒพ็‚ผไธŽๅฏน้ฝ้š็€ๅผ€ๆบๅŸบๅบงๆจกๅž‹็š„ๅผบๅคง๏ผŒ้ข„่ฎญ็ปƒๅทฒไธๅ†ๆ˜ฏๅ”ฏไธ€่งฃใ€‚ๅŽ่ฎญ็ปƒ๏ผˆPost-training๏ผ‰้˜ถๆฎต็š„ๅ˜ๅพ—่‡ณๅ…ณ้‡่ฆ๏ผŒ้€š่ฟ‡ RL๏ผˆๅผบๅŒ–ๅญฆไน ๏ผ‰ใ€SFT๏ผˆ็›‘็ฃๅพฎ่ฐƒ๏ผ‰ใ€RLHF/DPO๏ผˆไบบ็ฑปๅๅฅฝๅฏน้ฝ๏ผ‰๏ผŒๅฐ†้€š็”จๆจกๅž‹ๆ‰“็ฃจๆˆ็‰นๅฎš้ข†ๅŸŸ๏ผˆๅฆ‚ไปฃ็ ็”Ÿๆˆใ€้€ป่พ‘ๆŽจ็†๏ผ‰็š„ไธ“ๅฎถใ€‚
ๆž่‡ด็š„ๆŽจ็†ไผ˜ๅŒ–้š็€ๆจกๅž‹่ถŠๅคง๏ผŒๆˆๆœฌ่ถŠ้ซ˜ใ€‚็†Ÿ็ปƒๆŽŒๆก vLLM ็ญ‰้ซ˜ๆ€ง่ƒฝๆŽจ็†ๆก†ๆžถ๏ผŒ่ฟ็”จ้‡ๅŒ–ๆŠ€ๆœฏ๏ผˆๅฆ‚ FP8/INT4๏ผ‰ใ€KV Cache ไผ˜ๅŒ–๏ผˆๅฆ‚ PagedAttention๏ผ‰๏ผŒๅœจไธ็‰บ็‰ฒ็ฒพๅบฆ็š„ๅ‰ๆไธ‹ๆฆจๅนฒๆฏไธ€ๆปด GPU ็ฎ—ๅŠ›ใ€‚
LLMOps ไธŽ็ฎ—ๅŠ›่ฐƒๅบฆๅœจไธ‡ๅก็บงๅˆซ็š„ GPU ้›†็พคไธŠ๏ผŒๅค„็†่Š‚็‚นๆ•…้šœใ€ๅฎž็Žฐ่ต„ๆบ่ดŸ่ฝฝๅ‡่กกๅ’Œๅฎน็พๆขๅค๏ผŒไฟ้šœๆžๅ…ถๆ˜‚่ดต็š„็ฎ—ๅŠ›่ต„ๆบไธ่ขซๆตช่ดนใ€‚

4. ๆ‰พๅ‡†่‡ชๅทฑ็š„็”Ÿๆ€ไฝ โ€‹

้ขๅฏน่ฟ™่‚ก้‡ๅก‘ๆ•ดไธช่กŒไธš็š„ๆดชๆต๏ผŒ็„ฆ่™‘ๆ˜ฏๆœฌ่ƒฝ๏ผŒไฝ†่ฟ›้˜ถๆ‰ๆ˜ฏ่งฃ่ฏใ€‚

ๅฏนไบŽ็ปๅคงๅคšๆ•ฐๆœ‰็€ไธฐๅฏŒ Web ๅผ€ๅ‘็ป้ชŒ๏ผˆๆ— ่ฎบๆ˜ฏ็ฒพ้€šๅ‰็ซฏไบคไบ’๏ผŒ่ฟ˜ๆ˜ฏๆทฑ่ฐ™ Node.js/Golang/Java ็ญ‰ๅŽ็ซฏๆžถๆž„๏ผ‰็š„ๅทฅ็จ‹ๅธˆ่€Œ่จ€๏ผŒโ€œไบงๅ“ๅบ”็”จๅฑ‚โ€ๅ’Œโ€œAgent ๅผ€ๅ‘ๅฑ‚โ€ไธไป…ๆ˜ฏๆœ€ๅ…ทๆ€งไปทๆฏ”็š„ๅˆ‡ๅ…ฅ็‚น๏ผŒๆ›ดๆ˜ฏ่ƒฝๅคŸๆœ€ๅคงๅŒ–ๆ ๆ†ๅŽŸๆœ‰ๆŠ€่ƒฝ็š„ๆฒƒๅœŸใ€‚

ๆˆ‘ไปฌไธๅบ”่ฏฅๅฐ†่‡ชๅทฑๅฑ€้™ๅœจโ€œๅ†™ไปฃ็ ็š„ๆœบๅ™จโ€่ฟ™ไธ€็‹ญ็ช„ๅฎšไน‰ไธญใ€‚ๅฐ่ฏ•็”จไบงๅ“ Sense ๅ‘็Žฐ้—ฎ้ข˜๏ผŒ็”จ AI ็ผ–็จ‹ๅทฅๅ…ทๅฟซ้€Ÿๅฎž็Žฐ MVP๏ผŒ็”จๆ ‡ๅ‡†็š„ Agent skillsใ€MCP ๅ่ฎฎๅ’Œ้ซ˜้˜ถ Agentic workflow ่ฎพ่ฎก่ต‹ไบˆๅบ”็”จไธ“ไธšๆทฑๅบฆใ€‚

AI ไธไผšๆท˜ๆฑฐๅผ€ๅ‘่€…๏ผŒๅชไผšๆท˜ๆฑฐ้‚ฃไบ›ๆ‹’็ปไฝฟ็”จ AI ๆฅๆ”พๅคง่‡ช่บซไบงๅ“ไปทๅ€ผ็š„ๅผ€ๅ‘่€…ใ€‚ๅœจๆŠ€ๆœฏ้€š็ผฉ็š„ๆ—ถไปฃ๏ผŒๅ”ฏๆœ‰ๆดžๅฏŸๅŠ›ๅ’ŒๅฏนไธšๅŠกๆต็š„ๆŠŠๆŽงๅŠ›๏ผŒๆ‰่ƒฝ่ฟŽๆฅ็œŸๆญฃ็š„ไปทๅ€ผ่†จ่ƒ€ใ€‚

',38))]))}});export{p as __pageData,I as default}; diff --git "a/assets/01.\345\205\250\346\240\210_01.AI Native \345\267\245\347\250\213\346\200\235\347\273\264_02.\351\207\215\346\236\204\345\274\200\345\217\221\350\200\205\357\274\232AI \346\227\266\344\273\243\344\270\213\347\232\204\345\267\245\347\250\213\345\270\210\350\203\275\345\212\233\345\233\276\350\260\261\344\270\216\346\274\224\350\277\233\346\214\207\345\215\227.md.w2dUgYOC.lean.js" "b/assets/01.\345\205\250\346\240\210_01.AI Native \345\267\245\347\250\213\346\200\235\347\273\264_02.\351\207\215\346\236\204\345\274\200\345\217\221\350\200\205\357\274\232AI \346\227\266\344\273\243\344\270\213\347\232\204\345\267\245\347\250\213\345\270\210\350\203\275\345\212\233\345\233\276\350\260\261\344\270\216\346\274\224\350\277\233\346\214\207\345\215\227.md.BzWlQ04R.lean.js" similarity index 95% rename from "assets/01.\345\205\250\346\240\210_01.AI Native \345\267\245\347\250\213\346\200\235\347\273\264_02.\351\207\215\346\236\204\345\274\200\345\217\221\350\200\205\357\274\232AI \346\227\266\344\273\243\344\270\213\347\232\204\345\267\245\347\250\213\345\270\210\350\203\275\345\212\233\345\233\276\350\260\261\344\270\216\346\274\224\350\277\233\346\214\207\345\215\227.md.w2dUgYOC.lean.js" rename to "assets/01.\345\205\250\346\240\210_01.AI Native \345\267\245\347\250\213\346\200\235\347\273\264_02.\351\207\215\346\236\204\345\274\200\345\217\221\350\200\205\357\274\232AI \346\227\266\344\273\243\344\270\213\347\232\204\345\267\245\347\250\213\345\270\210\350\203\275\345\212\233\345\233\276\350\260\261\344\270\216\346\274\224\350\277\233\346\214\207\345\215\227.md.BzWlQ04R.lean.js" index d86338cc..f4083c9e 100644 --- "a/assets/01.\345\205\250\346\240\210_01.AI Native \345\267\245\347\250\213\346\200\235\347\273\264_02.\351\207\215\346\236\204\345\274\200\345\217\221\350\200\205\357\274\232AI \346\227\266\344\273\243\344\270\213\347\232\204\345\267\245\347\250\213\345\270\210\350\203\275\345\212\233\345\233\276\350\260\261\344\270\216\346\274\224\350\277\233\346\214\207\345\215\227.md.w2dUgYOC.lean.js" +++ "b/assets/01.\345\205\250\346\240\210_01.AI Native \345\267\245\347\250\213\346\200\235\347\273\264_02.\351\207\215\346\236\204\345\274\200\345\217\221\350\200\205\357\274\232AI \346\227\266\344\273\243\344\270\213\347\232\204\345\267\245\347\250\213\345\270\210\350\203\275\345\212\233\345\233\276\350\260\261\344\270\216\346\274\224\350\277\233\346\214\207\345\215\227.md.BzWlQ04R.lean.js" @@ -1 +1 @@ -import{H as r}from"./chunks/HighLightText.gRdAAF3C.js";import{g as o,h as i,U as a,i as n,S as e,z as s,s as g}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const p=JSON.parse('{"title":"้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ AI ๆž้€Ÿ้™ไฝŽไปฃ็ ็ผ–ๅ†™้—จๆง›๏ผŒๅ•็บฏ็š„โ€œไธšๅŠกไปฃ็ ็ฟป่ฏ‘ๅ™จโ€่ง’่‰ฒๆญฃๅŠ ้€Ÿ่ดฌๅ€ผใ€‚ๆœฌๆ–‡ไปŽๆŠ€ๆœฏๆผ”่ฟ›ไธŽไบงๅ“ๆ€่€ƒ็š„ไบคๆฑ‡็‚นๅ‡บๅ‘๏ผŒๅฐ† AI ๆ—ถไปฃ็š„ๅผ€ๅ‘่€…่ƒฝๅŠ›ๅ›พ่ฐฑ้‡ๆ–ฐๅˆ’ๅˆ†ไธบไธ‰ๅคงๆ ธๅฟƒๅœˆๅฑ‚๏ผšไบงๅ“ๅบ”็”จๅฑ‚๏ผˆInsight Stack๏ผ‰ใ€Agent ๅผ€ๅ‘ๅฑ‚ไธŽ AI ๅŸบ็ก€่ฎพๆ–ฝๅฑ‚ใ€‚ๆ— ่ฎบไฝ ๆ˜ฏๆทฑ่€•่ง†ๅ›พๅฑ‚ไบคไบ’ใ€็ฒพ้€š Node.js ็ญ‰ๆœๅŠก็ซฏๆžถๆž„็š„ๅผ€ๅ‘่€…๏ผŒ่ฟ˜ๆ˜ฏ่‡ดๅŠ›ไบŽๆŠ€ๆœฏ่ฝๅœฐ็š„ๆŽข็ดข่€…๏ผŒ้ƒฝ่ƒฝๅœจ่ฟ™ไปฝๆผ”่ฟ›ๆŒ‡ๅ—ไธญๆ‰พๅˆฐๆ‰“็ ด่ƒฝๅŠ›่พน็•Œใ€ๅ‘โ€œ่ถ…็บงไธชไฝ“โ€ไธŽโ€œAI ๆ™บ่ƒฝไฝ“ๆŒ‡ๆŒฅๅฎ˜โ€่ทƒ่ฟ็š„็ ดๅฑ€ไน‹้“ใ€‚","frontmatter":{"date":"2026-03-02T11:05:50.000Z","title":"้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ AI ๆž้€Ÿ้™ไฝŽไปฃ็ ็ผ–ๅ†™้—จๆง›๏ผŒๅ•็บฏ็š„โ€œไธšๅŠกไปฃ็ ็ฟป่ฏ‘ๅ™จโ€่ง’่‰ฒๆญฃๅŠ ้€Ÿ่ดฌๅ€ผใ€‚ๆœฌๆ–‡ไปŽๆŠ€ๆœฏๆผ”่ฟ›ไธŽไบงๅ“ๆ€่€ƒ็š„ไบคๆฑ‡็‚นๅ‡บๅ‘๏ผŒๅฐ† AI ๆ—ถไปฃ็š„ๅผ€ๅ‘่€…่ƒฝๅŠ›ๅ›พ่ฐฑ้‡ๆ–ฐๅˆ’ๅˆ†ไธบไธ‰ๅคงๆ ธๅฟƒๅœˆๅฑ‚๏ผšไบงๅ“ๅบ”็”จๅฑ‚๏ผˆInsight Stack๏ผ‰ใ€Agent ๅผ€ๅ‘ๅฑ‚ไธŽ AI ๅŸบ็ก€่ฎพๆ–ฝๅฑ‚ใ€‚ๆ— ่ฎบไฝ ๆ˜ฏๆทฑ่€•่ง†ๅ›พๅฑ‚ไบคไบ’ใ€็ฒพ้€š Node.js ็ญ‰ๆœๅŠก็ซฏๆžถๆž„็š„ๅผ€ๅ‘่€…๏ผŒ่ฟ˜ๆ˜ฏ่‡ดๅŠ›ไบŽๆŠ€ๆœฏ่ฝๅœฐ็š„ๆŽข็ดข่€…๏ผŒ้ƒฝ่ƒฝๅœจ่ฟ™ไปฝๆผ”่ฟ›ๆŒ‡ๅ—ไธญๆ‰พๅˆฐๆ‰“็ ด่ƒฝๅŠ›่พน็•Œใ€ๅ‘โ€œ่ถ…็บงไธชไฝ“โ€ไธŽโ€œAI ๆ™บ่ƒฝไฝ“ๆŒ‡ๆŒฅๅฎ˜โ€่ทƒ่ฟ็š„็ ดๅฑ€ไน‹้“ใ€‚","permalink":"/fullstack/ai-engineer-capability","coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png","top":true,"tags":["ๅ…จๆ ˆ","AI"],"categories":["ๅ…จๆ ˆ"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/02.้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—.md","filePath":"01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/02.้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—.md"}'),d={name:"01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/02.้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—.md"},I=Object.assign(d,{setup(l){return(h,t)=>(i(),o("div",null,[t[5]||(t[5]=a("",9)),n("p",null,[t[1]||(t[1]=e("ๅœจ่ฟ™ไธ€ๅฑ‚๏ผŒโ€œๅ…จๆ ˆๅทฅ็จ‹ๅธˆโ€็š„ๅฎšไน‰่ขซ้‡ๆ–ฐๆ”นๅ†™ไธบโ€œไบงๅ“ๅทฅ็จ‹ๅธˆ๏ผˆProduct Engineer๏ผ‰โ€ใ€‚",-1)),t[2]||(t[2]=n("strong",null,"ๆŠ€ๆœฏๆ ˆไธๅ†ไป…ไป…ๆ˜ฏๅ‰็ซฏๆก†ๆžถๅ’Œๆ•ฐๆฎๅบ“๏ผŒ่€Œๆ˜ฏๅŒ…ๅซไบ†โ€œไบงๅ“ Senseโ€ไธŽโ€œๅ•†ไธšๆดžๅฏŸโ€็š„ Insight Stack",-1)),t[3]||(t[3]=e("ใ€‚ๅ…จๆ ˆๅทฅ็จ‹ๅธˆไนŸๆญฃๅœจ่ฟ›ๅŒ–ไธบโ€œ่ถ…็บงไธชไฝ“โ€ๆˆ–โ€œไบงๅ“ๅทฅ็จ‹ๅธˆ๏ผˆProduct Engineer๏ผ‰โ€ใ€‚",-1)),s(r,{type:"note",bold:""},{default:g(()=>[...t[0]||(t[0]=[e("้—ฎ้ข˜ๅ‘็Žฐ -> ๅˆ›ๆ„ๆฒ‰ๆท€ -> AI ่พ…ๅŠฉๆŠ€ๆœฏๆ–นๆกˆ -> AI ้ฉฑๅŠจไปฃ็ ็”Ÿๆˆ",-1)])]),_:1}),t[4]||(t[4]=e(" ่ฟ™ไธ€้—ญ็Žฏ๏ผŒๆญฃๆ˜ฏๅฝ“ๅ‰ๆœ€้ซ˜ๆ•ˆ็š„็‹ฌ็ซ‹ๅผ€ๅ‘ๆˆ–ๅฐๅ›ข้˜Ÿๆ•ๆทๅผ€ๅ‘่Œƒๅผใ€‚",-1))]),t[6]||(t[6]=a("",38))]))}});export{p as __pageData,I as default}; +import{H as r}from"./chunks/HighLightText.BFsbuOsY.js";import{g as o,h as i,U as a,i as n,S as e,z as s,s as g}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const p=JSON.parse('{"title":"้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ AI ๆž้€Ÿ้™ไฝŽไปฃ็ ็ผ–ๅ†™้—จๆง›๏ผŒๅ•็บฏ็š„โ€œไธšๅŠกไปฃ็ ็ฟป่ฏ‘ๅ™จโ€่ง’่‰ฒๆญฃๅŠ ้€Ÿ่ดฌๅ€ผใ€‚ๆœฌๆ–‡ไปŽๆŠ€ๆœฏๆผ”่ฟ›ไธŽไบงๅ“ๆ€่€ƒ็š„ไบคๆฑ‡็‚นๅ‡บๅ‘๏ผŒๅฐ† AI ๆ—ถไปฃ็š„ๅผ€ๅ‘่€…่ƒฝๅŠ›ๅ›พ่ฐฑ้‡ๆ–ฐๅˆ’ๅˆ†ไธบไธ‰ๅคงๆ ธๅฟƒๅœˆๅฑ‚๏ผšไบงๅ“ๅบ”็”จๅฑ‚๏ผˆInsight Stack๏ผ‰ใ€Agent ๅผ€ๅ‘ๅฑ‚ไธŽ AI ๅŸบ็ก€่ฎพๆ–ฝๅฑ‚ใ€‚ๆ— ่ฎบไฝ ๆ˜ฏๆทฑ่€•่ง†ๅ›พๅฑ‚ไบคไบ’ใ€็ฒพ้€š Node.js ็ญ‰ๆœๅŠก็ซฏๆžถๆž„็š„ๅผ€ๅ‘่€…๏ผŒ่ฟ˜ๆ˜ฏ่‡ดๅŠ›ไบŽๆŠ€ๆœฏ่ฝๅœฐ็š„ๆŽข็ดข่€…๏ผŒ้ƒฝ่ƒฝๅœจ่ฟ™ไปฝๆผ”่ฟ›ๆŒ‡ๅ—ไธญๆ‰พๅˆฐๆ‰“็ ด่ƒฝๅŠ›่พน็•Œใ€ๅ‘โ€œ่ถ…็บงไธชไฝ“โ€ไธŽโ€œAI ๆ™บ่ƒฝไฝ“ๆŒ‡ๆŒฅๅฎ˜โ€่ทƒ่ฟ็š„็ ดๅฑ€ไน‹้“ใ€‚","frontmatter":{"date":"2026-03-02T11:05:50.000Z","title":"้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ AI ๆž้€Ÿ้™ไฝŽไปฃ็ ็ผ–ๅ†™้—จๆง›๏ผŒๅ•็บฏ็š„โ€œไธšๅŠกไปฃ็ ็ฟป่ฏ‘ๅ™จโ€่ง’่‰ฒๆญฃๅŠ ้€Ÿ่ดฌๅ€ผใ€‚ๆœฌๆ–‡ไปŽๆŠ€ๆœฏๆผ”่ฟ›ไธŽไบงๅ“ๆ€่€ƒ็š„ไบคๆฑ‡็‚นๅ‡บๅ‘๏ผŒๅฐ† AI ๆ—ถไปฃ็š„ๅผ€ๅ‘่€…่ƒฝๅŠ›ๅ›พ่ฐฑ้‡ๆ–ฐๅˆ’ๅˆ†ไธบไธ‰ๅคงๆ ธๅฟƒๅœˆๅฑ‚๏ผšไบงๅ“ๅบ”็”จๅฑ‚๏ผˆInsight Stack๏ผ‰ใ€Agent ๅผ€ๅ‘ๅฑ‚ไธŽ AI ๅŸบ็ก€่ฎพๆ–ฝๅฑ‚ใ€‚ๆ— ่ฎบไฝ ๆ˜ฏๆทฑ่€•่ง†ๅ›พๅฑ‚ไบคไบ’ใ€็ฒพ้€š Node.js ็ญ‰ๆœๅŠก็ซฏๆžถๆž„็š„ๅผ€ๅ‘่€…๏ผŒ่ฟ˜ๆ˜ฏ่‡ดๅŠ›ไบŽๆŠ€ๆœฏ่ฝๅœฐ็š„ๆŽข็ดข่€…๏ผŒ้ƒฝ่ƒฝๅœจ่ฟ™ไปฝๆผ”่ฟ›ๆŒ‡ๅ—ไธญๆ‰พๅˆฐๆ‰“็ ด่ƒฝๅŠ›่พน็•Œใ€ๅ‘โ€œ่ถ…็บงไธชไฝ“โ€ไธŽโ€œAI ๆ™บ่ƒฝไฝ“ๆŒ‡ๆŒฅๅฎ˜โ€่ทƒ่ฟ็š„็ ดๅฑ€ไน‹้“ใ€‚","permalink":"/fullstack/ai-engineer-capability","coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png","top":true,"tags":["ๅ…จๆ ˆ","AI"],"categories":["ๅ…จๆ ˆ"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/02.้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—.md","filePath":"01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/02.้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—.md"}'),d={name:"01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/02.้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—.md"},I=Object.assign(d,{setup(l){return(h,t)=>(i(),o("div",null,[t[5]||(t[5]=a("",9)),n("p",null,[t[1]||(t[1]=e("ๅœจ่ฟ™ไธ€ๅฑ‚๏ผŒโ€œๅ…จๆ ˆๅทฅ็จ‹ๅธˆโ€็š„ๅฎšไน‰่ขซ้‡ๆ–ฐๆ”นๅ†™ไธบโ€œไบงๅ“ๅทฅ็จ‹ๅธˆ๏ผˆProduct Engineer๏ผ‰โ€ใ€‚",-1)),t[2]||(t[2]=n("strong",null,"ๆŠ€ๆœฏๆ ˆไธๅ†ไป…ไป…ๆ˜ฏๅ‰็ซฏๆก†ๆžถๅ’Œๆ•ฐๆฎๅบ“๏ผŒ่€Œๆ˜ฏๅŒ…ๅซไบ†โ€œไบงๅ“ Senseโ€ไธŽโ€œๅ•†ไธšๆดžๅฏŸโ€็š„ Insight Stack",-1)),t[3]||(t[3]=e("ใ€‚ๅ…จๆ ˆๅทฅ็จ‹ๅธˆไนŸๆญฃๅœจ่ฟ›ๅŒ–ไธบโ€œ่ถ…็บงไธชไฝ“โ€ๆˆ–โ€œไบงๅ“ๅทฅ็จ‹ๅธˆ๏ผˆProduct Engineer๏ผ‰โ€ใ€‚",-1)),s(r,{type:"note",bold:""},{default:g(()=>[...t[0]||(t[0]=[e("้—ฎ้ข˜ๅ‘็Žฐ -> ๅˆ›ๆ„ๆฒ‰ๆท€ -> AI ่พ…ๅŠฉๆŠ€ๆœฏๆ–นๆกˆ -> AI ้ฉฑๅŠจไปฃ็ ็”Ÿๆˆ",-1)])]),_:1}),t[4]||(t[4]=e(" ่ฟ™ไธ€้—ญ็Žฏ๏ผŒๆญฃๆ˜ฏๅฝ“ๅ‰ๆœ€้ซ˜ๆ•ˆ็š„็‹ฌ็ซ‹ๅผ€ๅ‘ๆˆ–ๅฐๅ›ข้˜Ÿๆ•ๆทๅผ€ๅ‘่Œƒๅผใ€‚",-1))]),t[6]||(t[6]=a("",38))]))}});export{p as __pageData,I as default}; diff --git "a/assets/01.\345\205\250\346\240\210_01.AI Native \345\267\245\347\250\213\346\200\235\347\273\264_10.\350\257\273 Anthropic \347\240\224\347\251\266\346\212\245\345\221\212\357\274\214\346\216\242\345\257\273 AI \346\227\266\344\273\243\347\232\204\345\267\245\347\250\213\350\214\203\345\274\217\351\207\215\345\241\221.md.BKsOQbXL.js" "b/assets/01.\345\205\250\346\240\210_01.AI Native \345\267\245\347\250\213\346\200\235\347\273\264_10.\350\257\273 Anthropic \347\240\224\347\251\266\346\212\245\345\221\212\357\274\214\346\216\242\345\257\273 AI \346\227\266\344\273\243\347\232\204\345\267\245\347\250\213\350\214\203\345\274\217\351\207\215\345\241\221.md.BxS8ZWIM.js" similarity index 99% rename from "assets/01.\345\205\250\346\240\210_01.AI Native \345\267\245\347\250\213\346\200\235\347\273\264_10.\350\257\273 Anthropic \347\240\224\347\251\266\346\212\245\345\221\212\357\274\214\346\216\242\345\257\273 AI \346\227\266\344\273\243\347\232\204\345\267\245\347\250\213\350\214\203\345\274\217\351\207\215\345\241\221.md.BKsOQbXL.js" rename to "assets/01.\345\205\250\346\240\210_01.AI Native \345\267\245\347\250\213\346\200\235\347\273\264_10.\350\257\273 Anthropic \347\240\224\347\251\266\346\212\245\345\221\212\357\274\214\346\216\242\345\257\273 AI \346\227\266\344\273\243\347\232\204\345\267\245\347\250\213\350\214\203\345\274\217\351\207\215\345\241\221.md.BxS8ZWIM.js" index d75b0070..4c7d5340 100644 --- "a/assets/01.\345\205\250\346\240\210_01.AI Native \345\267\245\347\250\213\346\200\235\347\273\264_10.\350\257\273 Anthropic \347\240\224\347\251\266\346\212\245\345\221\212\357\274\214\346\216\242\345\257\273 AI \346\227\266\344\273\243\347\232\204\345\267\245\347\250\213\350\214\203\345\274\217\351\207\215\345\241\221.md.BKsOQbXL.js" +++ "b/assets/01.\345\205\250\346\240\210_01.AI Native \345\267\245\347\250\213\346\200\235\347\273\264_10.\350\257\273 Anthropic \347\240\224\347\251\266\346\212\245\345\221\212\357\274\214\346\216\242\345\257\273 AI \346\227\266\344\273\243\347\232\204\345\267\245\347\250\213\350\214\203\345\274\217\351\207\215\345\241\221.md.BxS8ZWIM.js" @@ -1 +1 @@ -import{H as a}from"./chunks/HighLightText.gRdAAF3C.js";import{g as l,h as s,i as o,U as i,S as r,z as e,s as n}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const p={class:"tip custom-block"},I=JSON.parse('{"title":"่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘","description":"่ฝฏไปถๅทฅ็จ‹ๆญฃ็ปๅކไปŽโ€œๆ‰‹ๅ†™้€ป่พ‘โ€ๅ‘โ€œๆ„ๅ›พ่ฐƒๅบฆโ€็š„่Œƒๅผ่ฟๅพ™ใ€‚Anthropic ็š„็ ”็ฉถๆญ็คบไบ† AI ๅนถ้ž็ฎ€ๅ•็š„ๆๆ•ˆๅทฅๅ…ท๏ผŒ่€Œๆ˜ฏ้€š่ฟ‡้‡Šๆ”พ 27% ๆ›พ็ปโ€œไธๅˆ’็ฎ—โ€็š„ๅทฅ็จ‹ไปปๅŠก๏ผŒ้‡ๅก‘ไบ†่ฝฏไปถ่ดจ้‡็š„ๅฏ†ๅบฆใ€‚ๅœจ่‡ช็„ถ่ฏญ่จ€ๅณ็ผ–็จ‹่ฏญ่จ€็š„ๆ—ถไปฃ๏ผŒๆˆ‘ไปฌ้œ€่ฆ้€š่ฟ‡่ง„ๆ ผ้ฉฑๅŠจ๏ผˆSDD๏ผ‰ไธŽๅคšๆ™บ่ƒฝไฝ“็ผ–ๆŽ’๏ผŒ็ ด่งฃโ€œ็›‘็ฃๆ‚–่ฎบโ€ๅธฆๆฅ็š„ๆŠ€่ƒฝๅนณๅบธๅŒ–ๅฑๆœบ๏ผŒๅฐ† AI ็š„ๆฆ‚็އๆ€ง็”Ÿๆˆ้ฉฏๅŒ–ไธบ็กฎๅฎšๆ€ง็š„ๅทฅ็จ‹ไบคไป˜ใ€‚ๅฝ“็ผ–็ ๆˆๆœฌ่ถ‹ไบŽ้›ถ๏ผŒๅทฅ็จ‹ๅธˆ็š„็ปˆๆžๅฃๅž’ๅฐ†ๆ˜ฏๅฎšไน‰ๅฎŒ็พŽ็š„ๅ“ๅ‘ณ๏ผŒไปฅๅŠๅœจ AI ่ฟท้›พไธญ่ฏ†็ ดๅนณๅบธ็š„ๆดžๅฏŸๅŠ›ใ€‚","frontmatter":{"date":"2025-12-06T22:05:50.000Z","title":"่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘","description":"่ฝฏไปถๅทฅ็จ‹ๆญฃ็ปๅކไปŽโ€œๆ‰‹ๅ†™้€ป่พ‘โ€ๅ‘โ€œๆ„ๅ›พ่ฐƒๅบฆโ€็š„่Œƒๅผ่ฟๅพ™ใ€‚Anthropic ็š„็ ”็ฉถๆญ็คบไบ† AI ๅนถ้ž็ฎ€ๅ•็š„ๆๆ•ˆๅทฅๅ…ท๏ผŒ่€Œๆ˜ฏ้€š่ฟ‡้‡Šๆ”พ 27% ๆ›พ็ปโ€œไธๅˆ’็ฎ—โ€็š„ๅทฅ็จ‹ไปปๅŠก๏ผŒ้‡ๅก‘ไบ†่ฝฏไปถ่ดจ้‡็š„ๅฏ†ๅบฆใ€‚ๅœจ่‡ช็„ถ่ฏญ่จ€ๅณ็ผ–็จ‹่ฏญ่จ€็š„ๆ—ถไปฃ๏ผŒๆˆ‘ไปฌ้œ€่ฆ้€š่ฟ‡่ง„ๆ ผ้ฉฑๅŠจ๏ผˆSDD๏ผ‰ไธŽๅคšๆ™บ่ƒฝไฝ“็ผ–ๆŽ’๏ผŒ็ ด่งฃโ€œ็›‘็ฃๆ‚–่ฎบโ€ๅธฆๆฅ็š„ๆŠ€่ƒฝๅนณๅบธๅŒ–ๅฑๆœบ๏ผŒๅฐ† AI ็š„ๆฆ‚็އๆ€ง็”Ÿๆˆ้ฉฏๅŒ–ไธบ็กฎๅฎšๆ€ง็š„ๅทฅ็จ‹ไบคไป˜ใ€‚ๅฝ“็ผ–็ ๆˆๆœฌ่ถ‹ไบŽ้›ถ๏ผŒๅทฅ็จ‹ๅธˆ็š„็ปˆๆžๅฃๅž’ๅฐ†ๆ˜ฏๅฎšไน‰ๅฎŒ็พŽ็š„ๅ“ๅ‘ณ๏ผŒไปฅๅŠๅœจ AI ่ฟท้›พไธญ่ฏ†็ ดๅนณๅบธ็š„ๆดžๅฏŸๅŠ›ใ€‚","permalink":"/fullstack/ai-change-work-workflow/","top":true,"tags":["ๅ…จๆ ˆ","AI"],"categories":["ๅ…จๆ ˆ"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/10.่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘.md","filePath":"01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/10.่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘.md"}'),u={name:"01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/10.่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘.md"},q=Object.assign(u,{setup(A){return(d,t)=>(s(),l("div",null,[t[10]||(t[10]=o("div",{style:{display:"none"},hidden:"true","aria-hidden":"true"},"Are you an LLM? You can read better optimized documentation at /01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/10.่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘.md for this page in Markdown format",-1)),t[11]||(t[11]=o("h1",{id:"่ฏป-anthropic-็ ”็ฉถๆŠฅๅ‘Š-ๆŽขๅฏป-ai-ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘",tabindex:"-1"},[r("่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘ "),o("a",{class:"header-anchor",href:"#่ฏป-anthropic-็ ”็ฉถๆŠฅๅ‘Š-ๆŽขๅฏป-ai-ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘","aria-label":"Permalink to โ€œ่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘โ€"},"โ€‹")],-1)),t[12]||(t[12]=o("blockquote",null,[o("p",null,[o("strong",null,"ๆ‘˜่ฆๆ€ป็ป“"),r("๏ผš่ฝฏไปถๅทฅ็จ‹ๆญฃ็ปๅކไปŽโ€œๆ‰‹ๅ†™้€ป่พ‘โ€ๅ‘โ€œๆ„ๅ›พ่ฐƒๅบฆโ€็š„่Œƒๅผ่ฟๅพ™ใ€‚Anthropic ็š„็ ”็ฉถๆญ็คบไบ† AI ๅนถ้ž็ฎ€ๅ•็š„ๆๆ•ˆๅทฅๅ…ท๏ผŒ่€Œๆ˜ฏ้€š่ฟ‡้‡Šๆ”พ 27% ๆ›พ็ปโ€œไธๅˆ’็ฎ—โ€็š„ๅทฅ็จ‹ไปปๅŠก๏ผŒ้‡ๅก‘ไบ†่ฝฏไปถ่ดจ้‡็š„ๅฏ†ๅบฆใ€‚ๅœจ่‡ช็„ถ่ฏญ่จ€ๅณ็ผ–็จ‹่ฏญ่จ€็š„ๆ—ถไปฃ๏ผŒๆˆ‘ไปฌ้œ€่ฆ้€š่ฟ‡่ง„ๆ ผ้ฉฑๅŠจ๏ผˆSDD๏ผ‰ไธŽๅคšๆ™บ่ƒฝไฝ“็ผ–ๆŽ’๏ผŒ็ ด่งฃโ€œ็›‘็ฃๆ‚–่ฎบโ€ๅธฆๆฅ็š„ๆŠ€่ƒฝๅนณๅบธๅŒ–ๅฑๆœบ๏ผŒๅฐ† AI ็š„ๆฆ‚็އๆ€ง็”Ÿๆˆ้ฉฏๅŒ–ไธบ็กฎๅฎšๆ€ง็š„ๅทฅ็จ‹ไบคไป˜ใ€‚ๅฝ“็ผ–็ ๆˆๆœฌ่ถ‹ไบŽ้›ถ๏ผŒๅทฅ็จ‹ๅธˆ็š„็ปˆๆžๅฃๅž’ๅฐ†ๆ˜ฏๅฎšไน‰ๅฎŒ็พŽ็š„ๅ“ๅ‘ณ๏ผŒไปฅๅŠๅœจ AI ่ฟท้›พไธญ่ฏ†็ ดๅนณๅบธ็š„ๆดžๅฏŸๅŠ›ใ€‚")])],-1)),o("div",p,[t[3]||(t[3]=i('

ๅšๅฎขๅŽŸๆ–‡

ๅœฐๅ€๏ผšHow AI is transforming work at Anthropic

ๆ ธๅฟƒๆ ‡็ญพ๏ผšAI่พ…ๅŠฉ็ผ–็จ‹ ๅทฅ็จ‹ ่Œƒๅผ่ฝฌ็งป ๅทฅไฝœ่ฝฌๅž‹ ็”ŸไบงๅŠ›ๆๅ‡ ๆŠ€่ƒฝๅ‘ๅฑ• ไบบๆœบๅไฝœ

ไธ€ๅฅ่ฏไป‹็ป๏ผšAnthropic ไธไป…ไป…ๆ˜ฏ AI ๅทฅๅ…ท็š„็”Ÿไบง่€…๏ผŒๆ›ดๆ˜ฏ็ฌฌไธ€ไธช่ฟ›ๅ…ฅโ€œๆœชๆฅๅฎž้ชŒๅฎคโ€็š„ๆทฑๅบฆ่ง‚ๅฏŸ่€…ใ€‚ไป–ไปฌ้€š่ฟ‡ๅ†…้ƒจๆ•ฐๆœˆ็š„ๅฎž้ชŒๆ•ฐๆฎๅ‘Š่ฏ‰ๆˆ‘ไปฌ๏ผšๅคงๆจกๅž‹ๅฏน่ฝฏไปถๅทฅ็จ‹็š„ๆ”น้€ ๏ผŒ็ป้ž็ฎ€ๅ•็š„โ€œๆๆ•ˆโ€๏ผŒ่€Œๆ˜ฏไธ€ๅœบๅ…ณไบŽๅทฅ็จ‹่ŒƒๅผไธŽ่Œไธš่ฎคๅŒ็š„้‡ๅก‘ใ€‚

',4)),o("p",null,[t[1]||(t[1]=o("strong",null,"ๅปถไผธๆ€่€ƒ",-1)),t[2]||(t[2]=r("๏ผš",-1)),e(a,{type:"note",bold:""},{default:n(()=>[...t[0]||(t[0]=[r("ๅทฅ็จ‹ๅ›ข้˜Ÿ่ฆ็”จๅคšๅฐ‘ๅนด๏ผŒๆ‰ไผšๆŠŠ็Žฐๅœจ็š„'ไบบ+AI ๅไฝœๆ–นๅผ'๏ผŒๆฒ‰ๆท€ไธบไธ€ไธช็จณๅฎš็š„ๅทฅ็จ‹่Œƒๅผ๏ผŸ",-1)])]),_:1})])]),t[13]||(t[13]=i('

1. ๅผ•่จ€ โ€‹

่ฝฏไปถๅทฅ็จ‹็š„ๅކๅฒ๏ผŒๆœฌ่ดจไธŠๆ˜ฏไธ€้ƒจไธๆ–ญ้€š่ฟ‡โ€œๆŠฝ่ฑกโ€ๆฅๅฏนๆŠ—โ€œๅคๆ‚ๅบฆโ€็š„่ฟ›ๅŒ–ๅฒใ€‚ไปŽๆฑ‡็ผ–่ฏญ่จ€ๅˆฐ้ซ˜็บง่ฏญ่จ€๏ผŒไปŽๆ‰‹ๅŠจๅ†…ๅญ˜็ฎก็†ๅˆฐๅžƒๅœพๅ›žๆ”ถ๏ผŒๆฏไธ€ๆฌกๆŠฝ่ฑกๅฑ‚็š„ไธŠ็งป๏ผŒ้ƒฝไผš่ฎฉไธ€้ƒจๅˆ†ๆ›พ็ปๅผ•ไปฅไธบๅ‚ฒ็š„ๆ‰‹่‰บๆทกๅ‡บ่ˆžๅฐ๏ผŒๅŒๆ—ถ้‡Šๆ”พๅ‡บๆ›ดๅฎๅคง็š„ๅˆ›้€ ๅŠ›ใ€‚

2025 ๅนดๅบ•๏ผŒAnthropic ๅ‘ๅธƒไบ†ไธ€ไปฝๅ…ทๆœ‰้‡Œ็จ‹็ข‘ๆ„ไน‰็š„็ ”็ฉถๆŠฅๅ‘Š๏ผšใ€ŠAI ๅฆ‚ไฝ•ๆ”นๅ˜ Anthropic ็š„ๅทฅไฝœๆ–นๅผใ€‹ใ€‚ไฝœไธบๅคงๆจกๅž‹็š„็ผ”้€ ่€…๏ผŒAnthropic ๅฐ†่‡ชๅทฑๅ˜ๆˆไบ†ไธ€ไธชโ€œAI ๆ—ถไปฃๅทฅไฝœ่Œƒๅผ็š„ๅฎž้ชŒๅฎคโ€ใ€‚ไป–ไปฌไธไป…ๅ‘ๅค–่พ“ๅ‡บๆจกๅž‹๏ผŒๆ›ดๅœจๅ†…้ƒจๆทฑๅบฆ่ง‚ๆต‹๏ผšๅฝ“ๅทฅ็จ‹ๅธˆๆ‹ฅๆœ‰ไบ†ๅƒ Claude ่ฟ™ๆ ทๅ…ทๅค‡่‡ชไธป่ƒฝๅŠ›็š„โ€œAI ๅŒไบ‹โ€ๅŽ๏ผŒไปฃ็ ็š„็”Ÿไบงๆต็จ‹ใ€ๅ›ข้˜Ÿ็š„ๅไฝœ่พน็•Œใ€็”š่‡ณๆ˜ฏโ€œๅทฅ็จ‹ๅธˆโ€่ฟ™ไธ€่Œไธš็š„ๅบ•ๅฑ‚้€ป่พ‘๏ผŒ็ฉถ็ซŸๅ‘็”Ÿไบ†ๆ€Žๆ ท็š„่ดจๅ˜๏ผŸ

่ฟ™ไปฝๆŠฅๅ‘Šๆญ็คบไบ†ไธ€็ป„่ฟทไบบไธ”ไปคไบบ่ญฆ้†’็š„ๆ•ฐๆฎ๏ผšๅœจ AI ่พ…ๅŠฉไธ‹๏ผŒๅทฅ็จ‹ๅธˆไปฌไธไป…ๅœจๆ้€Ÿ๏ผŒๆ›ดๅœจๅค„็†้‚ฃ 27% ๆ›พ็ปโ€œไธๅˆ’็ฎ—โ€ๆˆ–โ€œ่ถ…ๅ‡บ่ƒฝๅŠ›่พน็•Œโ€็š„ไปปๅŠกใ€‚็„ถ่€Œ๏ผŒๅ…‰้ฒœ็š„ๆ•ฐๆฎ่ƒŒๅŽ๏ผŒๆ˜ฏโ€œ็ผ–็จ‹ๆŠ€่ƒฝ่Ž็ผฉโ€็š„้šๅฟงๅ’Œโ€œ็›‘็ฃๆ‚–่ฎบโ€็š„ๆŒ‘ๆˆ˜ใ€‚

็ซ™ๅœจไบงๅ“ไธŽๅบ”็”จๅทฅ็จ‹ๅธˆ็š„่ง’ๅบฆ็œ‹๏ผŒๆˆ‘ๆœ€ๅ…ณๅฟƒ็š„ไธไป…ๆ˜ฏโ€œAI ่ƒฝๅ†™ๅคšๅฟซโ€๏ผŒ่€Œๆ˜ฏๅฆ‚ไฝ•ๅฐ†่ฟ™็ง็ขŽ็‰‡ๅŒ–็š„ใ€ไพ่ต–โ€œ็ตๆ„Ÿโ€็š„ AI ๅไฝœ๏ผŒๆฒ‰ๆท€ไธบไธ€ๅฅ—็จณๅฎš็š„ๅทฅ็จ‹่Œƒๅผใ€‚

ๆœฌๆ–‡ๅฐ†ๅŸบไบŽ Anthropic ็š„่ฟ™ไปฝๆทฑๅบฆ่ง‚ๆต‹๏ผŒ็ป“ๅˆๆˆ‘ไปฌๅœจ AI Native ๅบ”็”จๆžถๆž„ใ€ไปฅๅŠโ€œ่ง„ๆ ผ้ฉฑๅŠจๅผ€ๅ‘๏ผˆSDD๏ผ‰โ€ไธญ็š„ไธ€ไบ›ๅฎž่ทต๏ผŒๆŽข่ฎจไธ‰ไธชๆ ธๅฟƒๅ‘ฝ้ข˜๏ผš

  • ไปปๅŠก้‡ๆž„๏ผšๅฝ“็ผ–็ ๆˆๆœฌ่ถ‹ไบŽ้›ถๆ—ถ๏ผŒๅ“ชไบ›่ขซ้•ฟๆœŸๅฟฝ่ง†็š„โ€œๅทฅ็จ‹ๅ€บๅŠกโ€ๅฐ†ๅ˜ๆˆๆ ธๅฟƒ่ต„ไบง๏ผŸ

  • ่ƒฝๅŠ›้‡ๅก‘๏ผšๅœจโ€œ่‹ฑ่ฏญ/ไธญๆ–‡ๅณ็ผ–็จ‹่ฏญ่จ€โ€็š„ๆ—ถไปฃ๏ผŒๅฆ‚ไฝ•ไฟๆŒๆŠ€ๆœฏๅฐ–้”ๅบฆๅนถๆž„ๅปบๆ–ฐ็š„โ€œๅทฅ็จ‹ Senseโ€๏ผŸ

  • ่Œƒๅผ่ฝๅœฐ๏ผšๆˆ‘ไปฌ่ฏฅๅฆ‚ไฝ•่ฎพ่ฎกไธ€ๅฅ—ไบบๆœบๅไฝœ็š„้“พ่ทฏ๏ผŒ่ฎฉ AI ็š„ไบงๅ‡บไปŽโ€œไธ็กฎๅฎš็š„้šๆœบๆ€งโ€่ตฐๅ‘โ€œๅฏไบคไป˜็š„ๅทฅ็จ‹ๅŒ–โ€๏ผŸ

2. ็›ฏๅ‡†ไปปๅŠกๆž„ๆˆ๏ผŒ่€Œ้žๅ•ไธ€้€Ÿๅบฆ๏ผŒ้‡่Žทโ€œๅทฅ็จ‹ๅฐŠไธฅโ€็š„ 27% โ€‹

ไธ€ๅฅ่ฏๆ€ป็ป“๏ผš

AI ๅฏนๅทฅ็จ‹ๅ›ข้˜Ÿ็š„็œŸๆญฃ้ฆˆ่ต ๏ผŒๆ˜ฏ่ฎฉๆˆ‘ไปฌไปŽ็น็็š„ใ€โ€œไธๅพ—ไธๅšโ€็š„่‹ฆๅŠ›ๆดปไธญๆŠฝ่บซ๏ผŒๅŽปๅคบๅ›žๅฏน่ฝฏไปถ่ดจ้‡็š„ๆŽŒๆŽงๅŠ›ใ€‚้€Ÿๅบฆๆ˜ฏๅ‰ฏไบงๅ“๏ผŒ่ดจ้‡็š„ๅฏ†ๅบฆๆ‰ๆ˜ฏ่กก้‡ AI ๅไฝœๆฐดๅนณ็š„็ปˆๆžๆ ‡ๅ‡†ใ€‚

ๅœจ่ฎจ่ฎบ AI ๆๆ•ˆๆ—ถ๏ผŒๆˆ‘ไปฌๅพˆๅฎนๆ˜“ๆމๅ…ฅ็š„้™ท้˜ฑๅฐฑๆ˜ฏ โ€œ้€Ÿๅบฆๅนป่ง‰โ€ใ€‚ๅฆ‚ๆžœๅ•็บฏ่ง‚ๅฏŸไปฃ็ ไบงๅ‡บ่กŒๆ•ฐ๏ผˆLOC๏ผ‰ๆˆ–้œ€ๆฑ‚ไบคไป˜ๅ‘จๆœŸ๏ผŒๆˆ‘ไปฌๅฏ่ƒฝไผšๅพ—ๅ‡บโ€œๅทฅ็จ‹ๅธˆๅ˜ๅฟซไบ†โ€็š„ๆต…ๅฑ‚็ป“่ฎบ๏ผŒไฝ† Anthropic ็š„็ ”็ฉถ็ป™ๅ‡บไบ†ไธ€ไธชๆ›ดๅ…ทๆดžๅฏŸๅŠ›็š„่ง†่ง’๏ผšAI ๅธฆๆฅ็š„ๆœ€ๅคงๅ˜้‡๏ผŒไธๆ˜ฏ่ฎฉๆ—ขๆœ‰ไปปๅŠกๅ˜ๅฟซไบ†๏ผŒ่€Œๆ˜ฏๆ”นๅ˜ไบ†โ€œไปปๅŠก็š„ๆž„ๆˆๆฏ”ไพ‹โ€ใ€‚

ๆŠฅๅ‘Šไธญๆๅˆฐ็š„้‚ฃไธชๅ…ณ้”ฎๆ•ฐๅญ—โ€”โ€”27%๏ผŒไปฃ่กจไบ†้‚ฃไบ›ๅฆ‚ๆžœๆฒกๆœ‰ AI ่พ…ๅŠฉ๏ผŒๅทฅ็จ‹ๅธˆๆ นๆœฌไธไผšๅŽป็ขฐ็š„ไปปๅŠกใ€‚่ฟ™ 27% ๅนถ้ž่พน็ผ˜ๅทฅไฝœ๏ผŒ่€Œๆ˜ฏ่ฝฏไปถๅทฅ็จ‹ไธญ้•ฟๆœŸ่ขซ็‰บ็‰ฒๆމ็š„โ€œๅทฅ็จ‹ๅฐŠไธฅโ€ใ€‚

2.1 ไปŽ"ๆŠ€ๆœฏๅ€บๅŠก"ๅˆฐ"็ณป็ปŸ้Ÿงๆ€ง" โ€‹

ๅœจไผ ็ปŸๅผ€ๅ‘ๆจกๅผไธ‹๏ผŒ้‚ฃไบ›้—็•™็š„็ƒ‚ไปฃ็ ใ€็ผบๅคฑ็š„ๆต‹่ฏ•่ฆ†็›–ใ€็–ไบŽ็ปดๆŠค็š„ๅ†…้ƒจๅทฅๅ…ทโ€”โ€”่ฟ™ไบ›"ๆŠ€ๆœฏๅ€บๅŠก"่™ฝไธ่‡ณไบŽ่ฎฉ็ณป็ปŸ็ซ‹ๅˆปๅดฉๆบƒ๏ผŒๅดๅฆ‚ๅŒๆ…ขๆ€งๆฏ’่ฏ๏ผŒๆŒ็ปญไพต่š€ๅ›ข้˜Ÿ็š„่ฎค็Ÿฅ่ต„ๆบไธŽๅผ€ๅ‘ๆ•ˆ็އใ€‚

Anthropic ็š„่ง‚ๅฏŸๆญ็คบไบ†ไธ€ไธชๅ…ณ้”ฎ่ฝฌๆŠ˜็‚น๏ผšๅฝ“ AI ไป‹ๅ…ฅๅŽ๏ผŒๆธ…ๅฟ่ฟ™ไบ›"ๆŠ€ๆœฏๅ€บๅŠก"็š„ๆˆๆœฌ้ฆ–ๆฌก้™ๅˆฐไบ†ๅฏๆŽฅๅ—็š„้˜ˆๅ€ผไน‹ไธ‹ใ€‚

  • ้‡ๆž„ๆฐ‘ไธปๅŒ–๏ผšๆ›พ็ป้œ€่ฆ่ต„ๆทฑๅทฅ็จ‹ๅธˆ่€—่ดนๆ•ฐๅฐๆ—ถใ€ๅฆ‚ๅฑฅ่–„ๅ†ฐ็š„ๆ‰‹ๅŠจ้‡ๆž„๏ผŒๅฆ‚ไปŠๅœจ AI ่พ…ๅŠฉไธ‹ๅ‡ ๅˆ†้’ŸๅณๅฏๅฎŒๆˆๅˆ็จฟๅนถ้€š่ฟ‡ๅŸบ็ก€้ชŒ่ฏ๏ผŒ้‡ๆž„ไปŽ"้ซ˜้ฃŽ้™ฉๆ“ไฝœ"ๅ˜ๆˆไบ†"ๆ—ฅๅธธไน ๆƒฏ"ใ€‚
  • ๆต‹่ฏ•ไธŽๆ–‡ๆกฃ็š„่Œƒๅผ่ฝฌ็งป๏ผšๆœ€ไปคไบบๆŠต่งฆ็š„ๅ•ๅ…ƒๆต‹่ฏ•็ผ–ๅ†™ๅ’ŒๆŠ€ๆœฏๆ–‡ๆกฃ็ปดๆŠค๏ผŒๆญฃ้€ๆธๆผ”ๅ˜ไธบ AI ๆ“…้•ฟ็š„"็ป“ๆž„ๅŒ–ๅกซ็ฉบ"โ€”โ€”ๅทฅ็จ‹ๅธˆๅฎšไน‰ๆ„ๅ›พไธŽ่พน็•Œ๏ผŒAI ่ดŸ่ดฃๅกซๅ……ๅฎž็Žฐ็ป†่Š‚๏ผŒไบบ็ฑปๅˆ™ไธ“ๆณจไบŽ้ชŒๆ”ถไธŽ็ฒพ็‚ผใ€‚
  • ๅฏ่ง†ๅŒ–ไธŽๅทฅๅ…ท็š„่‡ชๅŠจๅŒ–๏ผš้š็€ AI ่ƒฝๅŠ›็š„ๆๅ‡๏ผŒๅฏ่ง†ๅŒ–ๅทฅๅ…ทใ€ๅ†…้ƒจๅทฅๅ…ท็ญ‰ไนŸๅผ€ๅง‹่ขซ่‡ชๅŠจๅŒ–๏ผŒๅทฅ็จ‹ๅธˆๅฏไปฅๆ›ดไธ“ๆณจไบŽไธšๅŠก้€ป่พ‘็š„ๅฎž็Žฐ๏ผŒ่€Œไธๆ˜ฏๆ‰‹ๅŠจ็ปดๆŠค่ฟ™ไบ›ๅทฅๅ…ทใ€‚

2.2 ไปŽ"ไธๅˆ’็ฎ—"ๅˆฐ"้ซ˜ไปทๅ€ผ"๏ผšไปปๅŠกไผ˜ๅ…ˆ็บง็š„้‡ๆ–ฐๆด—็‰Œ โ€‹

ไฝœไธบไบงๅ“ๅทฅ็จ‹ๅธˆ๏ผŒๆˆ‘ไปฌๆฏๅคฉ้ƒฝๅœจๅšๅ–่ˆ๏ผšๅ“ชไบ›ไปปๅŠกๅ€ผๅพ—ๆŠ•ๅ…ฅๆ—ถ้—ด๏ผŒๅ“ชไบ›ๅช่ƒฝๅพ€ๅŽๆ”พ๏ผŸ่ฟ‡ๅŽป๏ผŒๅพˆๅคšๅทฅ็จ‹ๆ”น่ฟ›ไปปๅŠกโ€”โ€”ๆฏ”ๅฆ‚ๅขžๅŠ ๅฏ่ง‚ๆต‹ๆ€ง็š„ๅŸ‹็‚นใ€ๆญๅปบๅ†…้ƒจๆ€ง่ƒฝ็œ‹ๆฟโ€”โ€”่™ฝ็„ถๅฏน็ณป็ปŸ้•ฟๆœŸๅฅๅบทๅพˆ้‡่ฆ๏ผŒไฝ†ๅ› ไธบๅš่ตทๆฅๅคช่ดนๅŠŸๅคซ๏ผŒๅพ€ๅพ€่ขซๆ— ้™ๆœŸๆ็ฝฎใ€‚ๆˆ‘ไปฌๅฟƒ้‡Œ้ƒฝๆ˜Ž็™ฝ่ฟ™ไบ›ไปปๅŠกๆœ‰ไปทๅ€ผ๏ผŒไฝ†"ๆ€งไปทๆฏ”"ๅคชไฝŽ๏ผŒๆŽ’ไธไธŠไผ˜ๅ…ˆ็บงใ€‚

AI ็š„ๅ‡บ็Žฐๆ”นๅ˜ไบ†่ฟ™ไธช็ฎ—ๅผใ€‚ๅฎƒๅƒไธ€ๆ นๆ ๆ†๏ผŒๆŠŠ้‚ฃไบ›ๅŽŸๆœฌ้œ€่ฆ่Šฑ่ดนๅคง้‡ๆ—ถ้—ด็š„็น็ๅทฅไฝœ๏ผŒๅ˜ๆˆไบ†ๅฏไปฅๅฟซ้€ŸๅฎŒๆˆ็š„"่ฝป้‡็บงไปปๅŠก"ใ€‚่ฟ‡ๅŽปๅฏ่ƒฝ่ฆ่Šฑไธ€ๆ•ดๅคฉๅ†™็š„็›‘ๆŽง่„šๆœฌ๏ผŒ็Žฐๅœจๅ‡ ๅˆ†้’Ÿๅฐฑ่ƒฝ่ฎฉ AI ็”Ÿๆˆๅˆ็จฟ๏ผ›ไปฅๅ‰้œ€่ฆไธ“้—จๆŽ’ๆœŸ็š„้‡ๆž„ๅทฅไฝœ๏ผŒ็Žฐๅœจๅฏไปฅ้šๆ‰‹ๅฎŒๆˆใ€‚

่ฟ™ๆ„ๅ‘ณ็€ไป€ไนˆ๏ผŸ้‚ฃไบ›ๆ›พ็ปๅ› ไธบ"ๅคช้บป็ƒฆ"่€Œ่ขซๅฟฝ่ง†็š„ไปปๅŠก๏ผŒ็Žฐๅœจ็ช็„ถๅ˜ๅพ—"ๅพˆๅˆ’็ฎ—"ไบ†ใ€‚ๅ›ข้˜Ÿไธๅ†ๅชๆ˜ฏ่ฟฝๆฑ‚ๅผ€ๅ‘้€Ÿๅบฆ๏ผŒ่€Œๆ˜ฏๆœ‰่ƒฝๅŠ›ๆŠŠ็ณป็ปŸๆ‰“็ฃจๅพ—ๆ›ดๅฅๅฃฎใ€ๆ›ดๅฏ็ปดๆŠคใ€‚ๆˆ‘ไปฌไธๅ†ๅชๆ˜ฏ่ท‘ๅพ—ๆ›ดๅฟซ๏ผŒ่€Œๆ˜ฏ่ƒฝ่ท‘ๅพ—ๆ›ด็จณใ€ๆ›ด่ฟœใ€‚

2.3 ่ทจ้ข†ๅŸŸ่ƒฝๅŠ›็š„โ€œๆ— ็—›ๆบขๅ‡บโ€ โ€‹

็ ”็ฉถ่ฟ˜ๆญ็คบไบ†ไธ€ไธชๅผ•ไบบๆณจ็›ฎ็š„็Žฐ่ฑก๏ผšๅทฅ็จ‹ๅธˆ็š„่ง’่‰ฒ่พน็•Œๆญฃๅœจๅ˜ๅพ—ๆ„ˆๅ‘ๆจก็ณŠ๏ผŒ"ๅ…จๆ ˆๅŒ–"่ถ‹ๅŠฟๆ—ฅ็›Šๆ˜Žๆ˜พใ€‚

  • ๅŽ็ซฏๅทฅ็จ‹ๅธˆๅ€ŸๅŠฉ AI ่ฝปๆพๆถ‰่ถณๅคๆ‚็š„ๆ•ฐๆฎๅฏ่ง†ๅŒ–ๅ‰็ซฏๅผ€ๅ‘ใ€‚
  • ็ ”็ฉถๅ‘˜ไนŸ่ƒฝ็‹ฌ็ซ‹ๆญๅปบ็”จไบŽๅฎž้ชŒ็š„ๅ†…้ƒจ็ฎก็†ๅŽๅฐใ€‚

่ฟ™็ง่ƒฝๅŠ›็š„่‡ช็„ถๅปถไผธๅนถ้žๆ„ๅ‘ณ็€ไบบไบบ้ƒฝๆˆไธบ้€šๆ‰๏ผŒ่€Œๆ˜ฏ AI ๅฐ†่ทจ้ข†ๅŸŸๅไฝœ็š„ๆ‘ฉๆ“ฆๆˆๆœฌๅคงๅน…้™ไฝŽใ€‚ๅฝ“ๆŠ€ๆœฏๅฃๅž’่ขซๅ‰Šๅนณ๏ผŒๅŽŸๆœฌ้œ€่ฆๆ•ฐๅ‘จๅ่ฐƒ็š„่ทจ่Œ่ƒฝ้…ๅˆ๏ผŒๅฆ‚ไปŠๅฏๅœจๆ•ฐๅฐๆ—ถๅ†…ๅฎŒๆˆ้—ญ็Žฏ้ชŒ่ฏโ€”โ€”ๅ้ฆˆๅ‘จๆœŸๅฎž็Žฐไบ†้‡็บงๅŽ‹็ผฉใ€‚

3. ๅฏนๆŠ—โ€œๅนณๅบธๅŒ–โ€ โ€”โ€” ๅœจ่‡ช็„ถ่ฏญ่จ€็ผ–็จ‹ๆ—ถไปฃ้‡ๅก‘ๅทฅ็จ‹ Sense โ€‹

ไธ€ๅฅ่ฏๆ€ป็ป“๏ผš

ๆŠฝ่ฑกๅฑ‚็š„ไธŠ็งปๅนถไธๆ„ๅ‘ณ็€ๅบ•ๅฑ‚็Ÿฅ่ฏ†็š„่ดฌๅ€ผ๏ผŒๅ่€Œๆ„ๅ‘ณ็€่ฏ†ๅˆซๅนณๅบธ็š„่ƒฝๅŠ›ๅ˜ๅพ—็ฉบๅ‰ๆ˜‚่ดตใ€‚ๅฝ“ๆฏไธชไบบ้ƒฝๆœ‰ไธ€ไธช่ƒฝๅ†™ไปฃ็ ็š„ AI ๅŒไบ‹ๆ—ถ๏ผŒไฝ ๅฏนโ€œๅฎŒ็พŽๅทฅ็จ‹โ€็š„ๅฎšไน‰่ƒฝๅŠ›๏ผŒๅ†ณๅฎšไบ†ไฝ ๅœจ่ฟ™ไธชๆ—ถไปฃ็š„ไปทๅ€ผไธŠ้™ใ€‚

ๅฝ“็ผ–็จ‹็š„้—จๆง›้™ไฝŽๅˆฐโ€œๅช่ฆไผš่ฏด่ฏๅฐฑ่ƒฝๅ†™ไปฃ็ โ€ๆ—ถ๏ผŒ่ฝฏไปถๅทฅ็จ‹ๆญฃ็ปๅކไธ€ๅœบๆƒๅŠ›็š„ไบคๆŽฅ๏ผš่‡ช็„ถ่ฏญ่จ€๏ผˆ่‹ฑ่ฏญ/ไธญๆ–‡๏ผ‰ๆญฃๅœจๆˆไธบๆœ€้ซ˜็บง็š„็ผ–็จ‹่ฏญ่จ€ใ€‚

่ฟ™็ง่ฝฌๅ˜ๅธฆๆฅไบ†ไธ€็งๆžๅ…ถ่ฏฑไบบ็š„โ€œVibe Coding๏ผˆๅ‡ญๆ„Ÿ่ง‰็ผ–็จ‹๏ผ‰โ€ไฝ“้ชŒใ€‚็„ถ่€Œ๏ผŒAnthropic ็š„็ ”็ฉถๆญ็คบไบ†ไธ€ไธชๅ†ท้…ท็š„็Žฐๅฎž๏ผšAI ๅพ€ๅพ€่กจ็Žฐๅพ—ๅƒไธ€ไธชโ€œๆžๅ…ถ่ชๆ˜Žไฝ†็ผบไน่ดฃไปปๆ„Ÿ็š„ๅˆ็บงๅทฅ็จ‹ๅธˆโ€ใ€‚ๅฆ‚ๆžœๆˆ‘ไปฌๅ…จ็›˜ๆŽฅๅ—่ฟ™็งไพฟๅˆฉ๏ผŒ่€ŒไธๅŽปๆœ‰ๆ„่ฏ†ๅœฐ้‡ๆž„่‡ช่บซ็š„่Œไธš่ƒฝๅŠ›๏ผŒๆˆ‘ไปฌๅฏ่ƒฝไผš้™ทๅ…ฅไธ€็งโ€œ็›‘็ฃๆ‚–่ฎบ๏ผˆSupervision Paradox๏ผ‰โ€โ€”โ€”ๅณๅฝ“ไฝ ๅคฑๅŽปไบ†ๆ‰‹ๅŠจ่งฃๅ†ณ้—ฎ้ข˜็š„่ƒฝๅŠ›ๆ—ถ๏ผŒไฝ ไนŸๅคฑๅŽปไบ†็›‘็ฃ AI ็š„่ต„ๆ ผใ€‚

3.1 ่ญฆๆƒ•โ€œ็›‘็ฃๆ‚–่ฎบโ€ไธŽ่ƒฝๅŠ›็š„ๅนณๅบธๅŒ– โ€‹

Anthropic ็š„ๆŠฅๅ‘Šไธญๆๅˆฐ๏ผŒๆœ‰ๆ•ˆไฝฟ็”จ AI ้œ€่ฆๆžๅผบ็š„โ€œ็›‘็ฃๅŠ›โ€๏ผŒ่€Œ่ฟ™็ง่ƒฝๅŠ›ๆฐๆฐๆบไบŽ้‚ฃไบ›ๆญฃๅœจ่ขซ AI ๅ–ไปฃ็š„ๅบ•ๅฑ‚็ผ–็ ๅฎž่ทตใ€‚่ฟ™็ง่ฝฌๅ˜ๅ‚ฌ็”Ÿไบ†ไธ€ไธชๆทฑๅˆป็š„็›‘็ฃๆ‚–่ฎบ๏ผš

  • ๆŠ€่ƒฝ่Ž็ผฉ็š„้ฃŽ้™ฉ๏ผš้•ฟๆœŸไพ่ต– AI ็”Ÿๆˆไปฃ็ ๏ผŒไผšๅฏผ่‡ดๅผ€ๅ‘่€…ๅฏนๅ†…ๅญ˜็ฎก็†ใ€ๅนถๅ‘ๆจกๅž‹ใ€่พน็•Œๆกไปถ็ญ‰ๅบ•ๅฑ‚็ป†่Š‚็š„ๆ•ๆ„Ÿๅบฆไธ‹้™ใ€‚

๏ผˆ้™„ๅธฆๅญฆไน ๏ผ‰็š„ไธงๅคฑ๏ผš ่ฟ‡ๅŽปๆˆ‘ไปฌๅœจ็ฟป้˜…ๆ–‡ๆกฃใ€่ฐƒ่ฏ• Bug ็š„็—›่‹ฆ่ฟ‡็จ‹ไธญ๏ผŒไผšๆ„ๅค–ๅญฆๅˆฐ็ณป็ปŸ็š„่ฟ่กŒๆœบ็†ใ€‚AI ็›ดๆŽฅ็ป™ๅ‡บ็ญ”ๆกˆ๏ผŒๅˆ‡ๆ–ญไบ†่ฟ™็งๆทฑๅบฆๅญฆไน ็š„่ทฏๅพ„ใ€‚

AI Free ็š„ๅˆปๆ„็ปƒไน ๏ผšๆฏๅ‘จๆˆ–ๆฏไธช่ฟญไปฃ๏ผŒๆŒ‘้€‰ไธ€ไธชๆ ธๅฟƒ้€ป่พ‘ๅ—๏ผŒๅฐ่ฏ•ๅœจๅฎŒๅ…จไธๆฑ‚ๅŠฉ AI ็š„ๆƒ…ๅ†ตไธ‹๏ผŒๆ‰‹ๅ†™ๅฎž็Žฐๅนถ่ฟ›่กŒๆ€ง่ƒฝ่ฐƒไผ˜ใ€‚่ฟ™ๅฐฑๅƒ้ฃž่กŒๅ‘˜ๅฟ…้กปๅฎšๆœŸ่ฟ›่กŒๆ‰‹ๅŠจ่ตท้™็ปƒไน ไธ€ๆ ท๏ผŒๆ˜ฏไฟๆŒๅบ•ๅฑ‚โ€œ่‚Œ่‚‰่ฎฐๅฟ†โ€็š„ๅ”ฏไธ€ๆ–นๅผใ€‚

3.2 ไปŽ Vibe Coding ่ฟ›ๅŒ–ๅˆฐ่ง„่Œƒ้ฉฑๅŠจ๏ผˆSDD๏ผ‰ โ€‹

ไธบไบ†ไธ่ฎฉๅทฅ็จ‹่ดจ้‡ๆป‘ๅ‘โ€œ้šๆœบๆ€งโ€็š„ๆทฑๆธŠ๏ผŒๆˆ‘ไปฌ้œ€่ฆๅฐ†โ€œๅ‡ญๆ„Ÿ่ง‰โ€่ฝฌๅŒ–ไธบ โ€œๅฎš่ง„่Œƒโ€ใ€‚ๅœจโ€œ่‹ฑ่ฏญๅณ็ผ–็จ‹่ฏญ่จ€โ€็š„ๆ—ถไปฃ๏ผŒๅทฅ็จ‹ๅธˆ็š„็‹ฌ็‰นไปทๅ€ผไธๅ†ๆ˜ฏๅฎž็Žฐ็ป†่Š‚๏ผŒ่€Œๆ˜ฏๅฏน็บฆๆŸๆกไปถ็š„ๅฎšไน‰ใ€‚

  • ๅฎšไน‰้ชŒๆ”ถๆ ‡ๅ‡†๏ผšๆˆ‘ไปฌ้œ€่ฆๆฏ”ไปฅๅ‰ๆ›ดๆธ…ๆ™ฐๅœฐๅ‘Š่ฏ‰ AI๏ผŒไป€ไนˆๆ˜ฏโ€œๆญฃ็กฎโ€ใ€‚่ฟ™ๅฐฑ่ฆๆฑ‚ๅ…ทๅค‡ๆžๅผบ็š„็ณป็ปŸๆžถๆž„ๆ€็ปดๅ’ŒๅฏนไธšๅŠก้€ป่พ‘็š„ๆทฑๅบฆๆ‹†่งฃ่ƒฝๅŠ›ใ€‚
  • ๅผ•ๅ…ฅๅทฅ็จ‹่ฏญไน‰๏ผšๆจก็ณŠ็š„ๆŒ‡ไปคๅชไผšๅธฆๆฅๆจก็ณŠ็š„็ป“ๆžœใ€‚ๆญฃๅฆ‚่ฟ‘ๆœŸๅœจๅฎž่ทตไธญๆŽจๅด‡็š„ Specification Driven Development (SDD)๏ผŒๆˆ‘ไปฌ้œ€่ฆๅœจ่‡ช็„ถ่ฏญ่จ€ไธŽ AI ๆ‰ง่กŒไน‹้—ด๏ผŒๅปบ็ซ‹ไธ€ๅฅ—ไธฅ่ฐจ็š„่ฏญไน‰ๅฑ‚ใ€‚่ฟ™ๅฅ—่ฏญไน‰ๆ ‡ๅ‡†ๅฆ‚ๅŒๅทฅ็จ‹ๅฅ‘็บฆ๏ผŒ็กฎไฟ AI ็”Ÿๆˆ็š„ไปฃ็ ไธๆ˜ฏ้šๆœบ"ๅ‘ๆ•ฃ"็š„๏ผŒ่€Œๆ˜ฏๅง‹็ปˆ้”šๅฎšไบŽๅฏ้ข„ๆœŸ็š„ๅทฅ็จ‹่Œƒๅผไน‹ๅ†…ใ€‚

3.3. ๆž„ๅปบๆ–ฐๅž‹โ€œๅทฅ็จ‹ Senseโ€๏ผšไปŽๆ‰‹่‰บไบบๅˆฐๅฏผๆผ” โ€‹

ๆœชๆฅ็š„้ซ˜็บงๅทฅ็จ‹ๅธˆ๏ผŒๅ…ถๆ ธๅฟƒ็ซžไบ‰ๅŠ›ๅฐ†ไฝ“็Žฐๅœจๅฏนๅ“ๅ‘ณไธŽ่ฏ„ๅˆคๆƒ็š„ๆŽŒๆŽงไธŠใ€‚

  • ๆ‰นๅˆคๆ€งๅฎก็พŽ๏ผšAI ็ป™ๅ‡บไธ‰ไธชๆ–นๆกˆ๏ผŒไฝ ไธบไป€ไนˆ้€‰่ฟ™ไธ€ไธช๏ผŸๆ˜ฏๅ› ไธบๅฎƒ็š„ๆ‰ฉๅฑ•ๆ€งๆ›ดๅฅฝ๏ผŒ่ฟ˜ๆ˜ฏๅ› ไธบๅฎƒๅœจ็‰นๅฎš้ซ˜ๅนถๅ‘ๅœบๆ™ฏไธ‹ๆ›ด็จณๅฅ๏ผŸ่ฟ™็งๅŸบไบŽ็ป้ชŒ็š„โ€œ้€‰ๆ‹ฉๆƒโ€ๅฐฑๆ˜ฏๆ–ฐ็š„ๅทฅ็จ‹ Senseใ€‚
  • ้€†ๅ‘ๅทฅ็จ‹่ƒฝๅŠ›๏ผš่ƒฝๅคŸๅฟซ้€Ÿ่ฏปๆ‡‚ AI ็”Ÿๆˆ็š„ๅคงไฝ“้‡ไปฃ็ ๏ผŒๅนถๅœจๅ…ถไธญ็ฒพๅ‡†ๅฎšไฝโ€œ่ชๆ˜Žไฝ†ๅฑ้™ฉโ€็š„้€ป่พ‘็ผบ้™ทใ€‚่ฟ™่ฆๆฑ‚ๆˆ‘ไปฌๅฟ…้กปไฟๆŒๅฏนๆ–ฐๆŠ€ๆœฏ็š„โ€œๆทฑๅบฆ้˜…่ฏปโ€ไน ๆƒฏ๏ผŒ่€Œ้žไป…ไป…ๅœ็•™ๅœจโ€œ่ฐƒ็”จโ€ๅฑ‚้ขใ€‚

4. ่Œƒๅผ่ฝๅœฐโ€”โ€”ๅœจ้šๆœบๆ€งไน‹ไธŠ๏ผŒๆž„ๅปบ็กฎๅฎšๆ€ง็š„ๅทฅ็จ‹ๅŸบๅบง โ€‹

ไธ€ๅฅ่ฏๆ€ป็ป“๏ผš

่Œƒๅผ็š„่ฝๅœฐไธๆ˜ฏไธ€่นด่€Œๅฐฑ็š„่ง„ๅˆ™่ฎพๅฎš๏ผŒ่€Œๆ˜ฏไธ€ๅœบไผด้šๆจกๅž‹่ƒฝๅŠ›่ฟ›ๅŒ–็š„ๅŠจๆ€ๅšๅผˆใ€‚ๆˆ‘ไปฌ่ฆๆž„ๅปบ็š„ๆ˜ฏไธ€ๅฅ— โ€œๅฎฝๅฎน่พ“ๅ…ฅใ€ไธฅๆ ผ่พ“ๅ‡บโ€ ็š„้“พ่ทฏ๏ผš็ป™ AI ่ถณๅคŸ็š„็ฉบ้—ดๅŽปๅˆ›้€ ๅ’Œๆๆ•ˆ๏ผŒไฝ†ๅœจไบคไป˜็š„ๆœ€ๅŽไธ€ๅ…ฌ้‡Œ๏ผŒ็”จๆœ€ไผ ็ปŸ็š„ๅทฅ็จ‹็†ๆ€ง่ฟ›่กŒๆœ€ไธฅ่‹›็š„ๅฎกๅˆคใ€‚

ๅฆ‚ๆžœ่ฏด AI ๆ˜ฏไธ€ๅฐๆ‹ฅๆœ‰ๆ— ้™็ˆ†ๅ‘ๅŠ›็š„ๅผ•ๆ“Ž๏ผŒ้‚ฃไนˆ่ฝฏไปถๅทฅ็จ‹่Œƒๅผๅฐฑๆ˜ฏๆ‰ฟ่ฝฝๅฎƒ็š„ๅบ•็›˜ใ€‚ๅฝ“ๅ‰ๆœ€ๆ ธๅฟƒ็š„็Ÿ›็›พๅœจไบŽ๏ผšๅคงๆจกๅž‹ๆœฌ่ดจไธŠๆ˜ฏๆฆ‚็އๆ€ง็š„๏ผŒ่€Œๅทฅ็จ‹ไบคไป˜่ฆๆฑ‚็š„ๅดๆ˜ฏ็กฎๅฎšๆ€ง็š„ใ€‚

ๅฆ‚ไฝ•่ฎฉ"ไธ็กฎๅฎš็š„็”Ÿๆˆ"่ฟ›ๅŒ–ไธบ"ๅฏไบคไป˜็š„ไปฃ็ "๏ผŸ่ฟ™ไธๅชๆ˜ฏๆŠ€ๆœฏๅฑ‚้ข็š„ๆŒ‘ๆˆ˜๏ผŒๆ›ดๆ˜ฏไธ€ไธชๅ…ณไบŽๅ…จ้“พ่ทฏๆฒป็†็š„็ณป็ปŸๆ€งๅ‘ฝ้ข˜ใ€‚ๆˆ‘ไปฌไธ่ƒฝไปฅ้™ๆ€็š„่ง†่ง’ๅฎก่ง†็Žฐๆœ‰ๅทฅๅ…ท๏ผŒ่€Œ้œ€่ฆๅŠจๆ€ๅœฐ่ง‚ๅฏŸ LLM ่ƒฝๅŠ›ๆผ”่ฟ›ใ€Agent ๆžถๆž„้ฉๆ–ฐไธŽไผ ็ปŸๅทฅ็จ‹่ฎพๆ–ฝ็š„ๆทฑๅบฆ่žๅˆไธŽๅๅŒๆผ”ๅŒ–ใ€‚

4.1 ไปŽโ€œๅ•็‚นๆŒ‡ไปคโ€่ฝฌๅ‘โ€œๅคšๆ™บ่ƒฝไฝ“็ผ–ๆŽ’๏ผˆMulti-Agent Orchestration๏ผ‰โ€ โ€‹

ๆญฃๅฆ‚ Anthropic ๅ†…้ƒจไฝฟ็”จ Claude Code ๅค„็†ๆ—ฅ็›Šๅคๆ‚็š„ไปปๅŠก๏ผŒๆœชๆฅ็š„่ฝๅœฐ่Œƒๅผ็ป้ž"ไบบไธŽๅ•ไธ€็ช—ๅฃ็š„ๅฏน่ฏ"๏ผŒ่€Œๆ˜ฏไธ€ไธช้—ญ็Žฏ็š„ๅคšๆ™บ่ƒฝไฝ“ๅไฝœๆตๆฐด็บฟใ€‚

  • ่ง’่‰ฒไธ“ไธšๅŒ–ๅˆ†ๅทฅ๏ผšๅฐ†ๅคๆ‚ไปปๅŠกๆ‹†่งฃๅนถๅง”ๆดพ็ป™ไธๅŒ็š„"ไธ“ๅฎถๆ™บ่ƒฝไฝ“"ใ€‚ไธ€ไธช Agent ไธ“ๆณจไบŽ้œ€ๆฑ‚็†่งฃไธŽๆ–นๆกˆ่ฎพ่ฎก๏ผŒๅฆไธ€ไธช่ดŸ่ดฃไปฃ็ ๅฎž็Žฐ๏ผŒ็ฌฌไธ‰ไธชๅˆ™ๆ‰ฎๆผ”"็บข้˜ŸๅฎกๆŸฅ่€…"็š„่ง’่‰ฒ๏ผŒ่ฟ›่กŒ่‡ชๅŠจๅŒ–็š„ๅฏนๆŠ—ๆ€งๆต‹่ฏ•ไธŽๆผๆดžๆŒ–ๆŽ˜ใ€‚

  • ่ฟญไปฃๅผ้”™่ฏฏๆ”ถๆ•›๏ผšๅทฅ็จ‹็กฎๅฎšๆ€งไธๆบไบŽๅ•ๆฌก็”Ÿๆˆ็š„ๅฎŒ็พŽ๏ผŒ่€Œๆฅ่‡ช "็”Ÿๆˆ-้ชŒ่ฏ-่ฏŠๆ–ญ-ไฟฎๅค-ๅ†้ชŒ่ฏ" ็š„่‡ชๅŠจๅŒ–้—ญ็Žฏใ€‚ๅœจไปฃ็ ๅˆๅนถๅ…ฅไธปๅˆ†ๆ”ฏไน‹ๅ‰๏ผŒๅฎƒๅบ”ๅฝ“ๅทฒๅœจ้š”็ฆป็š„ๆฒ™็›’็Žฏๅขƒไธญ๏ผŒๅކ็ปๅคš่ฝฎ Agent ้ฉฑๅŠจ็š„่‡ชๆˆ‘ไฟฎๆญฃไธŽ่ดจ้‡ๆ”ถๆ•›ใ€‚

4.2 ๆž„ๅปบ"ไธŠไธ‹ๆ–‡ๆŠคๅŸŽๆฒณ"๏ผšไปŽ Prompt ๅˆฐ็Ÿฅ่ฏ†ๅ›พ่ฐฑ โ€‹

AI ่พ“ๅ‡บ็š„่ดจ้‡๏ผŒๆœฌ่ดจไธŠๅ–ๅ†ณไบŽๅฎƒๅฏนไธšๅŠก่ฏญๅขƒ็š„็†่งฃๆทฑๅบฆใ€‚ๅฝ“ๅ‰ๆœ€ๅคง็š„ๅทฅ็จ‹ๅŒ–้šœ็ข๏ผŒๆญฃๆ˜ฏๆจกๅž‹้ขๅฏนๅ›ข้˜Ÿ็งๆœ‰็Ÿฅ่ฏ†ๆ—ถ็š„"ๅ†ทๅฏๅŠจ"ๅ›ฐๅขƒโ€”โ€”ๅฎƒ็ผบไนๅฏน็‰นๅฎšไปฃ็ ่ง„่Œƒใ€ๆžถๆž„ๅ†ณ็ญ–ๅ’Œๅކๅฒๆผ”่ฟ›็š„้šๆ€ง่ฎค็Ÿฅใ€‚

  • ๅŠจๆ€ไธŠไธ‹ๆ–‡ๆณจๅ…ฅ๏ผš ่ถ…่ถŠไผ ็ปŸ็š„ RAG๏ผˆๆฃ€็ดขๅขžๅผบ็”Ÿๆˆ๏ผ‰๏ผŒๅฐ†ไปฃ็ ๅบ“ใ€ๆžถๆž„ๆ–‡ๆกฃไนƒ่‡ณๅ›ข้˜Ÿ็š„ไปฃ็ ่ฏ„ๅฎกๅๅฅฝ๏ผŒๅฎžๆ—ถ็ผ–็ป‡ไธบ AI ็š„"ๅทฅไฝœ่ฎฐๅฟ†"ใ€‚่ฟ™ไธๅ†ๆ˜ฏ็ฎ€ๅ•็š„ไฟกๆฏๆฃ€็ดข๏ผŒ่€Œๆ˜ฏ่ฎฉ AI ็œŸๆญฃ"่žๅ…ฅ"ๅ›ข้˜Ÿ็š„ๅทฅ็จ‹ๆ–‡ๅŒ–ใ€‚

  • ๅทฅ็จ‹่ฏญไน‰็ฟป่ฏ‘ๅฑ‚๏ผš ๅœจไบบ็ฑป็š„ๆจก็ณŠๆ„ๅ›พไธŽๆœบๅ™จ็š„็ป“ๆž„ๅŒ–็†่งฃไน‹้—ด๏ผŒๆˆ‘ไปฌ้œ€่ฆไธ€ๅบงๆกฅๆขใ€‚่ฟ™ๅบงๆกฅๆขๅฐ†่‡ช็„ถ่ฏญ่จ€้œ€ๆฑ‚่ฝฌๅŒ–ไธบ AI ๅฏ็ฒพ็กฎ่งฃๆž็š„่ฏญไน‰ๅ›พ่ฐฑโ€”โ€”ๅŸบไบŽ Graph ็š„ไปฃ็ ็ดขๅผ•ใ€ไพ่ต–ๅ…ณ็ณป็ฝ‘็ปœไธŽ้ข†ๅŸŸ็Ÿฅ่ฏ†ๅปบๆจก๏ผŒๅ…ฑๅŒๆž„ๆˆ่ฟ™ไธ€็ฟป่ฏ‘ๅฑ‚็š„ๆ ธๅฟƒ้ชจๆžถใ€‚

4.3 "ๅฏ่ง‚ๆต‹ๆ€ง"๏ผš่ฎฉ AI ็š„ๅ†ณ็ญ–่ฟ‡็จ‹้€ๆ˜Žๅฏ่ง โ€‹

ไผ ็ปŸ DevOps ๅ…ณๆณจ็š„ๆ˜ฏๆœๅŠกๅ™จ่ดŸ่ฝฝใ€ๅ“ๅบ”ๆ—ถ้—ด็ญ‰ๆœบๅ™จๆŒ‡ๆ ‡๏ผ›่€Œๅœจ AI ๅทฅ็จ‹ๆ—ถไปฃ๏ผŒๆˆ‘ไปฌ้œ€่ฆ่ฟฝ่ธช็š„ๆ˜ฏ AI ็š„"ๆ€่€ƒ่ฟ‡็จ‹"ใ€‚

  • ่ฎฐๅฝ• AI ็š„ๅ†ณ็ญ–้“พ่ทฏ๏ผšๅฝ“ AI ไฟฎๆ”นไปฃ็ ๆ—ถ๏ผŒๆˆ‘ไปฌไธไป…่ฆ็œ‹ๅˆฐ"ๆ”นไบ†ไป€ไนˆ"๏ผŒๆ›ด่ฆ็†่งฃ"ไธบไป€ไนˆ่ฟ™ไนˆๆ”น"โ€”โ€”ๅฎŒๆ•ด่ฟ˜ๅŽŸๅฎƒ็š„ๆŽจ็†้“พๆก๏ผŒ่ฎฉๆฏไธ€ๆฌกๅ˜ๆ›ด้ƒฝๅฏ่ฟฝๆบฏใ€ๅฏ่งฃ้‡Šใ€‚

  • ๅปบ็ซ‹ๅˆ†็บงไฟกไปปๆœบๅˆถ๏ผšไธๆ˜ฏๆ‰€ๆœ‰ไปปๅŠก้ƒฝ้œ€่ฆไบบๅทฅ้€ไธ€ๅฎกๆ ธใ€‚ๅฏนไบŽ AI ่กจ็Žฐ็จณๅฎš็š„ๆ ‡ๅ‡†ๅŒ–ๅทฅไฝœ๏ผˆๅฆ‚่ฐƒๆ•ดๆ ทๅผใ€็”Ÿๆˆๅ•ๅ…ƒๆต‹่ฏ•๏ผ‰๏ผŒๅฏไปฅ่‡ชๅŠจๆ”พ่กŒ๏ผ›ไธ€ๆ—ฆๅ‘็Žฐ AI ๅœจๆŽจ็†่ฟ‡็จ‹ไธญๅๅค็บ ็ป“ใ€ๅคšๆฌกไฟฎๆญฃๆˆ–ๅ‡บ็Žฐๅผ‚ๅธธ๏ผŒ็ซ‹ๅณ่งฆๅ‘ไบบๅทฅๆทฑๅบฆๅฎกๆŸฅ๏ผŒๅฝขๆˆไบบๆœบๅๅŒ็š„่ดจ้‡ๆŠŠๅ…ณใ€‚

4.4 ๆ‹ฅๆŠฑ"ไธ็กฎๅฎšๆ€ง"๏ผŒไฝ†ๅฎˆไฝ"่ดจ้‡ๅบ•็บฟ" โ€‹

ๆˆ‘ไปฌ้œ€่ฆ่ฎคๆธ…ไธ€ไธช็Žฐๅฎž๏ผšๆœชๆฅ็š„่ฝฏไปถๅผ€ๅ‘ๅฐ†ๆ˜ฏไบบไธŽ AI ๅไฝœ็š„่ฟ‡ๆธกๆ€๏ผŒไธไผšๆ˜ฏ้ž้ป‘ๅณ็™ฝ็š„ๅฎŒๅ…จ่‡ชๅŠจๅŒ–ใ€‚ไธŽๅ…ถ่ฟฝๆฑ‚ๆฏไธ€ๆญฅ้ƒฝไบบๅทฅๅฏๆŽง๏ผŒไธๅฆ‚็กฎไฟๆœ€็ปˆ็ป“ๆžœๅฏ้ชŒ่ฏใ€ๅฏไฟก่ต–ใ€‚

่ฟ™ๆ„ๅ‘ณ็€ๅทฅ็จ‹ๅ›ข้˜Ÿ็š„ๆ ธๅฟƒ่ƒฝๅŠ›่ฆไปŽ"ไบฒ่‡ชๅ†™ไปฃ็ "่ฝฌๅ‘ "ๆญๅปบๅฎŒๅ–„็š„่ฏ„ไผฐไฝ“็ณป"ใ€‚ๅช่ฆไฝ ็š„ๆต‹่ฏ•ใ€็›‘ๆŽงใ€ๅ›žๆปšๆœบๅˆถ่ถณๅคŸๅฅๅฃฎ๏ผŒๅณไฝฟ AI ็š„่พ“ๅ‡บๅธฆๆœ‰ไธ€ๅฎš้šๆœบๆ€ง๏ผŒไนŸ่ƒฝ่ขซ็‰ข็‰ข้™ๅˆถๅœจๅฎ‰ๅ…จ็š„่พน็•Œไน‹ๅ†…ใ€‚

5. ็ป“่ฏญ โ€‹

Anthropic ็š„่ฟ™ไปฝๆŠฅๅ‘Š๏ผŒๆœฌ่ดจไธŠๆ˜ฏไธบๆˆ‘ไปฌๅฑ•็Žฐไบ†ไธ€ไธช่ฝฏไปถๅทฅ็จ‹็š„โ€œๅŽๅทฅไธšๆ—ถไปฃโ€ใ€‚ๅœจ่ฟ™ไธชๆ—ถไปฃ๏ผŒAI ไธๆ˜ฏๅ–ไปฃไฝ ็š„ๆ”ถๅ‰ฒๆœบ๏ผŒ่€Œๆ˜ฏ็ป™ไบ†ไฝ โ€œไธ€็™พไธ‡ๅŒน้ฉฌโ€็š„็ˆ†ๅ‘ๅŠ›ใ€‚

',56)),o("p",null,[t[5]||(t[5]=r("ๆญฃๅฆ‚ๆŠฅๅ‘Šไธญๆ‰€ๆญ็คบ็š„้‚ฃๆ ท๏ผšๆˆ‘ไปฌไธๅบ”ๅ†็บ ็ป“ไบŽๅ•ๅบ”ไปฐๆœ›ๆ›ด้ซ˜ๅบ”ไปฐๆœ›ๆ›ด้ซ˜็ปดๅบฆ็š„ๆ™ฏ่ง‚ใ€‚",-1)),e(a,{bold:""},{default:n(()=>[...t[4]||(t[4]=[r("ๅฝ“ๅ†™ไปฃ็ ๅ˜ๅพ—ไธๅ†ๆ˜‚่ดต๏ผŒๅฏนโ€œไป€ไนˆๆ˜ฏๅฅฝไปฃ็ โ€็š„ๅฎšไน‰ๆƒ๏ผŒไปฅๅŠๅฏนโ€œ็ณป็ปŸไธบไฝ•่€Œๅญ˜ๅœจโ€็š„็†่งฃๅŠ›๏ผŒไพฟๆˆไบ†่ฟ™ไธช่กŒไธšๆœ€ๅŽ็š„็จ€็ผบๅ“",-1)])]),_:1}),t[6]||(t[6]=r("ใ€‚",-1))]),t[14]||(t[14]=o("p",null,"ๆœชๆฅ๏ผŒๆœ€ไผ˜็ง€็š„ๅทฅ็จ‹ๅธˆๆˆ–่ฎธไธๅ†ๆ˜ฏ้‚ฃไธช่ƒฝๆ‰‹ๅ†™ๆž่‡ด็ฎ—ๆณ•็š„ไบบ๏ผŒ่€Œๆ˜ฏ้‚ฃไธช่ƒฝๅœจ้šๆœบ็”Ÿๆˆ็š„่ฟท้›พไธญ๏ผŒๅ‡ญๅ€ŸๆทฑๅŽš็š„ๅบ•ๅฑ‚ๅŠŸๅบ•๏ผŒไธ€็œผ่ฏ†็ ดๅนณๅบธไธŽ้ฃŽ้™ฉ๏ผŒๅนถไธบ AI ๆŒ‡ๆ˜Žๆ–นๅ‘็š„ไบบใ€‚",-1)),o("p",null,[t[8]||(t[8]=r("่Œƒๅผ็š„ๆฒ‰ๆท€ๆˆ–่ฎธไป้œ€ๆ—ถ้—ด๏ผŒ่ฏทๅŠกๅฟ…ๅœจไบซๅ— AI ๆๆ•ˆ็š„ๅŒๆ—ถ๏ผŒๅˆปๆ„ไฟๆŒไฝ ็š„ๆŠ€ๆœฏๅฐ–้”ๅบฆใ€‚ๅ› ไธบ ",-1)),e(a,{type:"warning",bold:""},{default:n(()=>[...t[7]||(t[7]=[r("ๅœจโ€œๆœบๅ™จๆ‰ง่กŒโ€็š„ๆดชๆตไธ‹๏ผŒไบบ็ฑป็š„ๅ“ไฝไธŽ่ดฃไปปๆ„Ÿ๏ผŒไพ็„ถๆ˜ฏ่ฝฏไปถๅทฅ็จ‹ไธญ้‚ฃ้“ๆœ€ๅšๅ›บใ€ไนŸๆœ€ๆธฉๆš–็š„้˜ฒๅพก็บฟ",-1)])]),_:1}),t[9]||(t[9]=r("ใ€‚",-1))])]))}});export{I as __pageData,q as default}; +import{H as a}from"./chunks/HighLightText.BFsbuOsY.js";import{g as l,h as s,i as o,U as i,S as r,z as e,s as n}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const p={class:"tip custom-block"},I=JSON.parse('{"title":"่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘","description":"่ฝฏไปถๅทฅ็จ‹ๆญฃ็ปๅކไปŽโ€œๆ‰‹ๅ†™้€ป่พ‘โ€ๅ‘โ€œๆ„ๅ›พ่ฐƒๅบฆโ€็š„่Œƒๅผ่ฟๅพ™ใ€‚Anthropic ็š„็ ”็ฉถๆญ็คบไบ† AI ๅนถ้ž็ฎ€ๅ•็š„ๆๆ•ˆๅทฅๅ…ท๏ผŒ่€Œๆ˜ฏ้€š่ฟ‡้‡Šๆ”พ 27% ๆ›พ็ปโ€œไธๅˆ’็ฎ—โ€็š„ๅทฅ็จ‹ไปปๅŠก๏ผŒ้‡ๅก‘ไบ†่ฝฏไปถ่ดจ้‡็š„ๅฏ†ๅบฆใ€‚ๅœจ่‡ช็„ถ่ฏญ่จ€ๅณ็ผ–็จ‹่ฏญ่จ€็š„ๆ—ถไปฃ๏ผŒๆˆ‘ไปฌ้œ€่ฆ้€š่ฟ‡่ง„ๆ ผ้ฉฑๅŠจ๏ผˆSDD๏ผ‰ไธŽๅคšๆ™บ่ƒฝไฝ“็ผ–ๆŽ’๏ผŒ็ ด่งฃโ€œ็›‘็ฃๆ‚–่ฎบโ€ๅธฆๆฅ็š„ๆŠ€่ƒฝๅนณๅบธๅŒ–ๅฑๆœบ๏ผŒๅฐ† AI ็š„ๆฆ‚็އๆ€ง็”Ÿๆˆ้ฉฏๅŒ–ไธบ็กฎๅฎšๆ€ง็š„ๅทฅ็จ‹ไบคไป˜ใ€‚ๅฝ“็ผ–็ ๆˆๆœฌ่ถ‹ไบŽ้›ถ๏ผŒๅทฅ็จ‹ๅธˆ็š„็ปˆๆžๅฃๅž’ๅฐ†ๆ˜ฏๅฎšไน‰ๅฎŒ็พŽ็š„ๅ“ๅ‘ณ๏ผŒไปฅๅŠๅœจ AI ่ฟท้›พไธญ่ฏ†็ ดๅนณๅบธ็š„ๆดžๅฏŸๅŠ›ใ€‚","frontmatter":{"date":"2025-12-06T22:05:50.000Z","title":"่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘","description":"่ฝฏไปถๅทฅ็จ‹ๆญฃ็ปๅކไปŽโ€œๆ‰‹ๅ†™้€ป่พ‘โ€ๅ‘โ€œๆ„ๅ›พ่ฐƒๅบฆโ€็š„่Œƒๅผ่ฟๅพ™ใ€‚Anthropic ็š„็ ”็ฉถๆญ็คบไบ† AI ๅนถ้ž็ฎ€ๅ•็š„ๆๆ•ˆๅทฅๅ…ท๏ผŒ่€Œๆ˜ฏ้€š่ฟ‡้‡Šๆ”พ 27% ๆ›พ็ปโ€œไธๅˆ’็ฎ—โ€็š„ๅทฅ็จ‹ไปปๅŠก๏ผŒ้‡ๅก‘ไบ†่ฝฏไปถ่ดจ้‡็š„ๅฏ†ๅบฆใ€‚ๅœจ่‡ช็„ถ่ฏญ่จ€ๅณ็ผ–็จ‹่ฏญ่จ€็š„ๆ—ถไปฃ๏ผŒๆˆ‘ไปฌ้œ€่ฆ้€š่ฟ‡่ง„ๆ ผ้ฉฑๅŠจ๏ผˆSDD๏ผ‰ไธŽๅคšๆ™บ่ƒฝไฝ“็ผ–ๆŽ’๏ผŒ็ ด่งฃโ€œ็›‘็ฃๆ‚–่ฎบโ€ๅธฆๆฅ็š„ๆŠ€่ƒฝๅนณๅบธๅŒ–ๅฑๆœบ๏ผŒๅฐ† AI ็š„ๆฆ‚็އๆ€ง็”Ÿๆˆ้ฉฏๅŒ–ไธบ็กฎๅฎšๆ€ง็š„ๅทฅ็จ‹ไบคไป˜ใ€‚ๅฝ“็ผ–็ ๆˆๆœฌ่ถ‹ไบŽ้›ถ๏ผŒๅทฅ็จ‹ๅธˆ็š„็ปˆๆžๅฃๅž’ๅฐ†ๆ˜ฏๅฎšไน‰ๅฎŒ็พŽ็š„ๅ“ๅ‘ณ๏ผŒไปฅๅŠๅœจ AI ่ฟท้›พไธญ่ฏ†็ ดๅนณๅบธ็š„ๆดžๅฏŸๅŠ›ใ€‚","permalink":"/fullstack/ai-change-work-workflow/","top":true,"tags":["ๅ…จๆ ˆ","AI"],"categories":["ๅ…จๆ ˆ"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/10.่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘.md","filePath":"01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/10.่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘.md"}'),u={name:"01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/10.่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘.md"},q=Object.assign(u,{setup(A){return(d,t)=>(s(),l("div",null,[t[10]||(t[10]=o("div",{style:{display:"none"},hidden:"true","aria-hidden":"true"},"Are you an LLM? You can read better optimized documentation at /01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/10.่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘.md for this page in Markdown format",-1)),t[11]||(t[11]=o("h1",{id:"่ฏป-anthropic-็ ”็ฉถๆŠฅๅ‘Š-ๆŽขๅฏป-ai-ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘",tabindex:"-1"},[r("่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘ "),o("a",{class:"header-anchor",href:"#่ฏป-anthropic-็ ”็ฉถๆŠฅๅ‘Š-ๆŽขๅฏป-ai-ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘","aria-label":"Permalink to โ€œ่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘โ€"},"โ€‹")],-1)),t[12]||(t[12]=o("blockquote",null,[o("p",null,[o("strong",null,"ๆ‘˜่ฆๆ€ป็ป“"),r("๏ผš่ฝฏไปถๅทฅ็จ‹ๆญฃ็ปๅކไปŽโ€œๆ‰‹ๅ†™้€ป่พ‘โ€ๅ‘โ€œๆ„ๅ›พ่ฐƒๅบฆโ€็š„่Œƒๅผ่ฟๅพ™ใ€‚Anthropic ็š„็ ”็ฉถๆญ็คบไบ† AI ๅนถ้ž็ฎ€ๅ•็š„ๆๆ•ˆๅทฅๅ…ท๏ผŒ่€Œๆ˜ฏ้€š่ฟ‡้‡Šๆ”พ 27% ๆ›พ็ปโ€œไธๅˆ’็ฎ—โ€็š„ๅทฅ็จ‹ไปปๅŠก๏ผŒ้‡ๅก‘ไบ†่ฝฏไปถ่ดจ้‡็š„ๅฏ†ๅบฆใ€‚ๅœจ่‡ช็„ถ่ฏญ่จ€ๅณ็ผ–็จ‹่ฏญ่จ€็š„ๆ—ถไปฃ๏ผŒๆˆ‘ไปฌ้œ€่ฆ้€š่ฟ‡่ง„ๆ ผ้ฉฑๅŠจ๏ผˆSDD๏ผ‰ไธŽๅคšๆ™บ่ƒฝไฝ“็ผ–ๆŽ’๏ผŒ็ ด่งฃโ€œ็›‘็ฃๆ‚–่ฎบโ€ๅธฆๆฅ็š„ๆŠ€่ƒฝๅนณๅบธๅŒ–ๅฑๆœบ๏ผŒๅฐ† AI ็š„ๆฆ‚็އๆ€ง็”Ÿๆˆ้ฉฏๅŒ–ไธบ็กฎๅฎšๆ€ง็š„ๅทฅ็จ‹ไบคไป˜ใ€‚ๅฝ“็ผ–็ ๆˆๆœฌ่ถ‹ไบŽ้›ถ๏ผŒๅทฅ็จ‹ๅธˆ็š„็ปˆๆžๅฃๅž’ๅฐ†ๆ˜ฏๅฎšไน‰ๅฎŒ็พŽ็š„ๅ“ๅ‘ณ๏ผŒไปฅๅŠๅœจ AI ่ฟท้›พไธญ่ฏ†็ ดๅนณๅบธ็š„ๆดžๅฏŸๅŠ›ใ€‚")])],-1)),o("div",p,[t[3]||(t[3]=i('

ๅšๅฎขๅŽŸๆ–‡

ๅœฐๅ€๏ผšHow AI is transforming work at Anthropic

ๆ ธๅฟƒๆ ‡็ญพ๏ผšAI่พ…ๅŠฉ็ผ–็จ‹ ๅทฅ็จ‹ ่Œƒๅผ่ฝฌ็งป ๅทฅไฝœ่ฝฌๅž‹ ็”ŸไบงๅŠ›ๆๅ‡ ๆŠ€่ƒฝๅ‘ๅฑ• ไบบๆœบๅไฝœ

ไธ€ๅฅ่ฏไป‹็ป๏ผšAnthropic ไธไป…ไป…ๆ˜ฏ AI ๅทฅๅ…ท็š„็”Ÿไบง่€…๏ผŒๆ›ดๆ˜ฏ็ฌฌไธ€ไธช่ฟ›ๅ…ฅโ€œๆœชๆฅๅฎž้ชŒๅฎคโ€็š„ๆทฑๅบฆ่ง‚ๅฏŸ่€…ใ€‚ไป–ไปฌ้€š่ฟ‡ๅ†…้ƒจๆ•ฐๆœˆ็š„ๅฎž้ชŒๆ•ฐๆฎๅ‘Š่ฏ‰ๆˆ‘ไปฌ๏ผšๅคงๆจกๅž‹ๅฏน่ฝฏไปถๅทฅ็จ‹็š„ๆ”น้€ ๏ผŒ็ป้ž็ฎ€ๅ•็š„โ€œๆๆ•ˆโ€๏ผŒ่€Œๆ˜ฏไธ€ๅœบๅ…ณไบŽๅทฅ็จ‹่ŒƒๅผไธŽ่Œไธš่ฎคๅŒ็š„้‡ๅก‘ใ€‚

',4)),o("p",null,[t[1]||(t[1]=o("strong",null,"ๅปถไผธๆ€่€ƒ",-1)),t[2]||(t[2]=r("๏ผš",-1)),e(a,{type:"note",bold:""},{default:n(()=>[...t[0]||(t[0]=[r("ๅทฅ็จ‹ๅ›ข้˜Ÿ่ฆ็”จๅคšๅฐ‘ๅนด๏ผŒๆ‰ไผšๆŠŠ็Žฐๅœจ็š„'ไบบ+AI ๅไฝœๆ–นๅผ'๏ผŒๆฒ‰ๆท€ไธบไธ€ไธช็จณๅฎš็š„ๅทฅ็จ‹่Œƒๅผ๏ผŸ",-1)])]),_:1})])]),t[13]||(t[13]=i('

1. ๅผ•่จ€ โ€‹

่ฝฏไปถๅทฅ็จ‹็š„ๅކๅฒ๏ผŒๆœฌ่ดจไธŠๆ˜ฏไธ€้ƒจไธๆ–ญ้€š่ฟ‡โ€œๆŠฝ่ฑกโ€ๆฅๅฏนๆŠ—โ€œๅคๆ‚ๅบฆโ€็š„่ฟ›ๅŒ–ๅฒใ€‚ไปŽๆฑ‡็ผ–่ฏญ่จ€ๅˆฐ้ซ˜็บง่ฏญ่จ€๏ผŒไปŽๆ‰‹ๅŠจๅ†…ๅญ˜็ฎก็†ๅˆฐๅžƒๅœพๅ›žๆ”ถ๏ผŒๆฏไธ€ๆฌกๆŠฝ่ฑกๅฑ‚็š„ไธŠ็งป๏ผŒ้ƒฝไผš่ฎฉไธ€้ƒจๅˆ†ๆ›พ็ปๅผ•ไปฅไธบๅ‚ฒ็š„ๆ‰‹่‰บๆทกๅ‡บ่ˆžๅฐ๏ผŒๅŒๆ—ถ้‡Šๆ”พๅ‡บๆ›ดๅฎๅคง็š„ๅˆ›้€ ๅŠ›ใ€‚

2025 ๅนดๅบ•๏ผŒAnthropic ๅ‘ๅธƒไบ†ไธ€ไปฝๅ…ทๆœ‰้‡Œ็จ‹็ข‘ๆ„ไน‰็š„็ ”็ฉถๆŠฅๅ‘Š๏ผšใ€ŠAI ๅฆ‚ไฝ•ๆ”นๅ˜ Anthropic ็š„ๅทฅไฝœๆ–นๅผใ€‹ใ€‚ไฝœไธบๅคงๆจกๅž‹็š„็ผ”้€ ่€…๏ผŒAnthropic ๅฐ†่‡ชๅทฑๅ˜ๆˆไบ†ไธ€ไธชโ€œAI ๆ—ถไปฃๅทฅไฝœ่Œƒๅผ็š„ๅฎž้ชŒๅฎคโ€ใ€‚ไป–ไปฌไธไป…ๅ‘ๅค–่พ“ๅ‡บๆจกๅž‹๏ผŒๆ›ดๅœจๅ†…้ƒจๆทฑๅบฆ่ง‚ๆต‹๏ผšๅฝ“ๅทฅ็จ‹ๅธˆๆ‹ฅๆœ‰ไบ†ๅƒ Claude ่ฟ™ๆ ทๅ…ทๅค‡่‡ชไธป่ƒฝๅŠ›็š„โ€œAI ๅŒไบ‹โ€ๅŽ๏ผŒไปฃ็ ็š„็”Ÿไบงๆต็จ‹ใ€ๅ›ข้˜Ÿ็š„ๅไฝœ่พน็•Œใ€็”š่‡ณๆ˜ฏโ€œๅทฅ็จ‹ๅธˆโ€่ฟ™ไธ€่Œไธš็š„ๅบ•ๅฑ‚้€ป่พ‘๏ผŒ็ฉถ็ซŸๅ‘็”Ÿไบ†ๆ€Žๆ ท็š„่ดจๅ˜๏ผŸ

่ฟ™ไปฝๆŠฅๅ‘Šๆญ็คบไบ†ไธ€็ป„่ฟทไบบไธ”ไปคไบบ่ญฆ้†’็š„ๆ•ฐๆฎ๏ผšๅœจ AI ่พ…ๅŠฉไธ‹๏ผŒๅทฅ็จ‹ๅธˆไปฌไธไป…ๅœจๆ้€Ÿ๏ผŒๆ›ดๅœจๅค„็†้‚ฃ 27% ๆ›พ็ปโ€œไธๅˆ’็ฎ—โ€ๆˆ–โ€œ่ถ…ๅ‡บ่ƒฝๅŠ›่พน็•Œโ€็š„ไปปๅŠกใ€‚็„ถ่€Œ๏ผŒๅ…‰้ฒœ็š„ๆ•ฐๆฎ่ƒŒๅŽ๏ผŒๆ˜ฏโ€œ็ผ–็จ‹ๆŠ€่ƒฝ่Ž็ผฉโ€็š„้šๅฟงๅ’Œโ€œ็›‘็ฃๆ‚–่ฎบโ€็š„ๆŒ‘ๆˆ˜ใ€‚

็ซ™ๅœจไบงๅ“ไธŽๅบ”็”จๅทฅ็จ‹ๅธˆ็š„่ง’ๅบฆ็œ‹๏ผŒๆˆ‘ๆœ€ๅ…ณๅฟƒ็š„ไธไป…ๆ˜ฏโ€œAI ่ƒฝๅ†™ๅคšๅฟซโ€๏ผŒ่€Œๆ˜ฏๅฆ‚ไฝ•ๅฐ†่ฟ™็ง็ขŽ็‰‡ๅŒ–็š„ใ€ไพ่ต–โ€œ็ตๆ„Ÿโ€็š„ AI ๅไฝœ๏ผŒๆฒ‰ๆท€ไธบไธ€ๅฅ—็จณๅฎš็š„ๅทฅ็จ‹่Œƒๅผใ€‚

ๆœฌๆ–‡ๅฐ†ๅŸบไบŽ Anthropic ็š„่ฟ™ไปฝๆทฑๅบฆ่ง‚ๆต‹๏ผŒ็ป“ๅˆๆˆ‘ไปฌๅœจ AI Native ๅบ”็”จๆžถๆž„ใ€ไปฅๅŠโ€œ่ง„ๆ ผ้ฉฑๅŠจๅผ€ๅ‘๏ผˆSDD๏ผ‰โ€ไธญ็š„ไธ€ไบ›ๅฎž่ทต๏ผŒๆŽข่ฎจไธ‰ไธชๆ ธๅฟƒๅ‘ฝ้ข˜๏ผš

  • ไปปๅŠก้‡ๆž„๏ผšๅฝ“็ผ–็ ๆˆๆœฌ่ถ‹ไบŽ้›ถๆ—ถ๏ผŒๅ“ชไบ›่ขซ้•ฟๆœŸๅฟฝ่ง†็š„โ€œๅทฅ็จ‹ๅ€บๅŠกโ€ๅฐ†ๅ˜ๆˆๆ ธๅฟƒ่ต„ไบง๏ผŸ

  • ่ƒฝๅŠ›้‡ๅก‘๏ผšๅœจโ€œ่‹ฑ่ฏญ/ไธญๆ–‡ๅณ็ผ–็จ‹่ฏญ่จ€โ€็š„ๆ—ถไปฃ๏ผŒๅฆ‚ไฝ•ไฟๆŒๆŠ€ๆœฏๅฐ–้”ๅบฆๅนถๆž„ๅปบๆ–ฐ็š„โ€œๅทฅ็จ‹ Senseโ€๏ผŸ

  • ่Œƒๅผ่ฝๅœฐ๏ผšๆˆ‘ไปฌ่ฏฅๅฆ‚ไฝ•่ฎพ่ฎกไธ€ๅฅ—ไบบๆœบๅไฝœ็š„้“พ่ทฏ๏ผŒ่ฎฉ AI ็š„ไบงๅ‡บไปŽโ€œไธ็กฎๅฎš็š„้šๆœบๆ€งโ€่ตฐๅ‘โ€œๅฏไบคไป˜็š„ๅทฅ็จ‹ๅŒ–โ€๏ผŸ

2. ็›ฏๅ‡†ไปปๅŠกๆž„ๆˆ๏ผŒ่€Œ้žๅ•ไธ€้€Ÿๅบฆ๏ผŒ้‡่Žทโ€œๅทฅ็จ‹ๅฐŠไธฅโ€็š„ 27% โ€‹

ไธ€ๅฅ่ฏๆ€ป็ป“๏ผš

AI ๅฏนๅทฅ็จ‹ๅ›ข้˜Ÿ็š„็œŸๆญฃ้ฆˆ่ต ๏ผŒๆ˜ฏ่ฎฉๆˆ‘ไปฌไปŽ็น็็š„ใ€โ€œไธๅพ—ไธๅšโ€็š„่‹ฆๅŠ›ๆดปไธญๆŠฝ่บซ๏ผŒๅŽปๅคบๅ›žๅฏน่ฝฏไปถ่ดจ้‡็š„ๆŽŒๆŽงๅŠ›ใ€‚้€Ÿๅบฆๆ˜ฏๅ‰ฏไบงๅ“๏ผŒ่ดจ้‡็š„ๅฏ†ๅบฆๆ‰ๆ˜ฏ่กก้‡ AI ๅไฝœๆฐดๅนณ็š„็ปˆๆžๆ ‡ๅ‡†ใ€‚

ๅœจ่ฎจ่ฎบ AI ๆๆ•ˆๆ—ถ๏ผŒๆˆ‘ไปฌๅพˆๅฎนๆ˜“ๆމๅ…ฅ็š„้™ท้˜ฑๅฐฑๆ˜ฏ โ€œ้€Ÿๅบฆๅนป่ง‰โ€ใ€‚ๅฆ‚ๆžœๅ•็บฏ่ง‚ๅฏŸไปฃ็ ไบงๅ‡บ่กŒๆ•ฐ๏ผˆLOC๏ผ‰ๆˆ–้œ€ๆฑ‚ไบคไป˜ๅ‘จๆœŸ๏ผŒๆˆ‘ไปฌๅฏ่ƒฝไผšๅพ—ๅ‡บโ€œๅทฅ็จ‹ๅธˆๅ˜ๅฟซไบ†โ€็š„ๆต…ๅฑ‚็ป“่ฎบ๏ผŒไฝ† Anthropic ็š„็ ”็ฉถ็ป™ๅ‡บไบ†ไธ€ไธชๆ›ดๅ…ทๆดžๅฏŸๅŠ›็š„่ง†่ง’๏ผšAI ๅธฆๆฅ็š„ๆœ€ๅคงๅ˜้‡๏ผŒไธๆ˜ฏ่ฎฉๆ—ขๆœ‰ไปปๅŠกๅ˜ๅฟซไบ†๏ผŒ่€Œๆ˜ฏๆ”นๅ˜ไบ†โ€œไปปๅŠก็š„ๆž„ๆˆๆฏ”ไพ‹โ€ใ€‚

ๆŠฅๅ‘Šไธญๆๅˆฐ็š„้‚ฃไธชๅ…ณ้”ฎๆ•ฐๅญ—โ€”โ€”27%๏ผŒไปฃ่กจไบ†้‚ฃไบ›ๅฆ‚ๆžœๆฒกๆœ‰ AI ่พ…ๅŠฉ๏ผŒๅทฅ็จ‹ๅธˆๆ นๆœฌไธไผšๅŽป็ขฐ็š„ไปปๅŠกใ€‚่ฟ™ 27% ๅนถ้ž่พน็ผ˜ๅทฅไฝœ๏ผŒ่€Œๆ˜ฏ่ฝฏไปถๅทฅ็จ‹ไธญ้•ฟๆœŸ่ขซ็‰บ็‰ฒๆމ็š„โ€œๅทฅ็จ‹ๅฐŠไธฅโ€ใ€‚

2.1 ไปŽ"ๆŠ€ๆœฏๅ€บๅŠก"ๅˆฐ"็ณป็ปŸ้Ÿงๆ€ง" โ€‹

ๅœจไผ ็ปŸๅผ€ๅ‘ๆจกๅผไธ‹๏ผŒ้‚ฃไบ›้—็•™็š„็ƒ‚ไปฃ็ ใ€็ผบๅคฑ็š„ๆต‹่ฏ•่ฆ†็›–ใ€็–ไบŽ็ปดๆŠค็š„ๅ†…้ƒจๅทฅๅ…ทโ€”โ€”่ฟ™ไบ›"ๆŠ€ๆœฏๅ€บๅŠก"่™ฝไธ่‡ณไบŽ่ฎฉ็ณป็ปŸ็ซ‹ๅˆปๅดฉๆบƒ๏ผŒๅดๅฆ‚ๅŒๆ…ขๆ€งๆฏ’่ฏ๏ผŒๆŒ็ปญไพต่š€ๅ›ข้˜Ÿ็š„่ฎค็Ÿฅ่ต„ๆบไธŽๅผ€ๅ‘ๆ•ˆ็އใ€‚

Anthropic ็š„่ง‚ๅฏŸๆญ็คบไบ†ไธ€ไธชๅ…ณ้”ฎ่ฝฌๆŠ˜็‚น๏ผšๅฝ“ AI ไป‹ๅ…ฅๅŽ๏ผŒๆธ…ๅฟ่ฟ™ไบ›"ๆŠ€ๆœฏๅ€บๅŠก"็š„ๆˆๆœฌ้ฆ–ๆฌก้™ๅˆฐไบ†ๅฏๆŽฅๅ—็š„้˜ˆๅ€ผไน‹ไธ‹ใ€‚

  • ้‡ๆž„ๆฐ‘ไธปๅŒ–๏ผšๆ›พ็ป้œ€่ฆ่ต„ๆทฑๅทฅ็จ‹ๅธˆ่€—่ดนๆ•ฐๅฐๆ—ถใ€ๅฆ‚ๅฑฅ่–„ๅ†ฐ็š„ๆ‰‹ๅŠจ้‡ๆž„๏ผŒๅฆ‚ไปŠๅœจ AI ่พ…ๅŠฉไธ‹ๅ‡ ๅˆ†้’ŸๅณๅฏๅฎŒๆˆๅˆ็จฟๅนถ้€š่ฟ‡ๅŸบ็ก€้ชŒ่ฏ๏ผŒ้‡ๆž„ไปŽ"้ซ˜้ฃŽ้™ฉๆ“ไฝœ"ๅ˜ๆˆไบ†"ๆ—ฅๅธธไน ๆƒฏ"ใ€‚
  • ๆต‹่ฏ•ไธŽๆ–‡ๆกฃ็š„่Œƒๅผ่ฝฌ็งป๏ผšๆœ€ไปคไบบๆŠต่งฆ็š„ๅ•ๅ…ƒๆต‹่ฏ•็ผ–ๅ†™ๅ’ŒๆŠ€ๆœฏๆ–‡ๆกฃ็ปดๆŠค๏ผŒๆญฃ้€ๆธๆผ”ๅ˜ไธบ AI ๆ“…้•ฟ็š„"็ป“ๆž„ๅŒ–ๅกซ็ฉบ"โ€”โ€”ๅทฅ็จ‹ๅธˆๅฎšไน‰ๆ„ๅ›พไธŽ่พน็•Œ๏ผŒAI ่ดŸ่ดฃๅกซๅ……ๅฎž็Žฐ็ป†่Š‚๏ผŒไบบ็ฑปๅˆ™ไธ“ๆณจไบŽ้ชŒๆ”ถไธŽ็ฒพ็‚ผใ€‚
  • ๅฏ่ง†ๅŒ–ไธŽๅทฅๅ…ท็š„่‡ชๅŠจๅŒ–๏ผš้š็€ AI ่ƒฝๅŠ›็š„ๆๅ‡๏ผŒๅฏ่ง†ๅŒ–ๅทฅๅ…ทใ€ๅ†…้ƒจๅทฅๅ…ท็ญ‰ไนŸๅผ€ๅง‹่ขซ่‡ชๅŠจๅŒ–๏ผŒๅทฅ็จ‹ๅธˆๅฏไปฅๆ›ดไธ“ๆณจไบŽไธšๅŠก้€ป่พ‘็š„ๅฎž็Žฐ๏ผŒ่€Œไธๆ˜ฏๆ‰‹ๅŠจ็ปดๆŠค่ฟ™ไบ›ๅทฅๅ…ทใ€‚

2.2 ไปŽ"ไธๅˆ’็ฎ—"ๅˆฐ"้ซ˜ไปทๅ€ผ"๏ผšไปปๅŠกไผ˜ๅ…ˆ็บง็š„้‡ๆ–ฐๆด—็‰Œ โ€‹

ไฝœไธบไบงๅ“ๅทฅ็จ‹ๅธˆ๏ผŒๆˆ‘ไปฌๆฏๅคฉ้ƒฝๅœจๅšๅ–่ˆ๏ผšๅ“ชไบ›ไปปๅŠกๅ€ผๅพ—ๆŠ•ๅ…ฅๆ—ถ้—ด๏ผŒๅ“ชไบ›ๅช่ƒฝๅพ€ๅŽๆ”พ๏ผŸ่ฟ‡ๅŽป๏ผŒๅพˆๅคšๅทฅ็จ‹ๆ”น่ฟ›ไปปๅŠกโ€”โ€”ๆฏ”ๅฆ‚ๅขžๅŠ ๅฏ่ง‚ๆต‹ๆ€ง็š„ๅŸ‹็‚นใ€ๆญๅปบๅ†…้ƒจๆ€ง่ƒฝ็œ‹ๆฟโ€”โ€”่™ฝ็„ถๅฏน็ณป็ปŸ้•ฟๆœŸๅฅๅบทๅพˆ้‡่ฆ๏ผŒไฝ†ๅ› ไธบๅš่ตทๆฅๅคช่ดนๅŠŸๅคซ๏ผŒๅพ€ๅพ€่ขซๆ— ้™ๆœŸๆ็ฝฎใ€‚ๆˆ‘ไปฌๅฟƒ้‡Œ้ƒฝๆ˜Ž็™ฝ่ฟ™ไบ›ไปปๅŠกๆœ‰ไปทๅ€ผ๏ผŒไฝ†"ๆ€งไปทๆฏ”"ๅคชไฝŽ๏ผŒๆŽ’ไธไธŠไผ˜ๅ…ˆ็บงใ€‚

AI ็š„ๅ‡บ็Žฐๆ”นๅ˜ไบ†่ฟ™ไธช็ฎ—ๅผใ€‚ๅฎƒๅƒไธ€ๆ นๆ ๆ†๏ผŒๆŠŠ้‚ฃไบ›ๅŽŸๆœฌ้œ€่ฆ่Šฑ่ดนๅคง้‡ๆ—ถ้—ด็š„็น็ๅทฅไฝœ๏ผŒๅ˜ๆˆไบ†ๅฏไปฅๅฟซ้€ŸๅฎŒๆˆ็š„"่ฝป้‡็บงไปปๅŠก"ใ€‚่ฟ‡ๅŽปๅฏ่ƒฝ่ฆ่Šฑไธ€ๆ•ดๅคฉๅ†™็š„็›‘ๆŽง่„šๆœฌ๏ผŒ็Žฐๅœจๅ‡ ๅˆ†้’Ÿๅฐฑ่ƒฝ่ฎฉ AI ็”Ÿๆˆๅˆ็จฟ๏ผ›ไปฅๅ‰้œ€่ฆไธ“้—จๆŽ’ๆœŸ็š„้‡ๆž„ๅทฅไฝœ๏ผŒ็Žฐๅœจๅฏไปฅ้šๆ‰‹ๅฎŒๆˆใ€‚

่ฟ™ๆ„ๅ‘ณ็€ไป€ไนˆ๏ผŸ้‚ฃไบ›ๆ›พ็ปๅ› ไธบ"ๅคช้บป็ƒฆ"่€Œ่ขซๅฟฝ่ง†็š„ไปปๅŠก๏ผŒ็Žฐๅœจ็ช็„ถๅ˜ๅพ—"ๅพˆๅˆ’็ฎ—"ไบ†ใ€‚ๅ›ข้˜Ÿไธๅ†ๅชๆ˜ฏ่ฟฝๆฑ‚ๅผ€ๅ‘้€Ÿๅบฆ๏ผŒ่€Œๆ˜ฏๆœ‰่ƒฝๅŠ›ๆŠŠ็ณป็ปŸๆ‰“็ฃจๅพ—ๆ›ดๅฅๅฃฎใ€ๆ›ดๅฏ็ปดๆŠคใ€‚ๆˆ‘ไปฌไธๅ†ๅชๆ˜ฏ่ท‘ๅพ—ๆ›ดๅฟซ๏ผŒ่€Œๆ˜ฏ่ƒฝ่ท‘ๅพ—ๆ›ด็จณใ€ๆ›ด่ฟœใ€‚

2.3 ่ทจ้ข†ๅŸŸ่ƒฝๅŠ›็š„โ€œๆ— ็—›ๆบขๅ‡บโ€ โ€‹

็ ”็ฉถ่ฟ˜ๆญ็คบไบ†ไธ€ไธชๅผ•ไบบๆณจ็›ฎ็š„็Žฐ่ฑก๏ผšๅทฅ็จ‹ๅธˆ็š„่ง’่‰ฒ่พน็•Œๆญฃๅœจๅ˜ๅพ—ๆ„ˆๅ‘ๆจก็ณŠ๏ผŒ"ๅ…จๆ ˆๅŒ–"่ถ‹ๅŠฟๆ—ฅ็›Šๆ˜Žๆ˜พใ€‚

  • ๅŽ็ซฏๅทฅ็จ‹ๅธˆๅ€ŸๅŠฉ AI ่ฝปๆพๆถ‰่ถณๅคๆ‚็š„ๆ•ฐๆฎๅฏ่ง†ๅŒ–ๅ‰็ซฏๅผ€ๅ‘ใ€‚
  • ็ ”็ฉถๅ‘˜ไนŸ่ƒฝ็‹ฌ็ซ‹ๆญๅปบ็”จไบŽๅฎž้ชŒ็š„ๅ†…้ƒจ็ฎก็†ๅŽๅฐใ€‚

่ฟ™็ง่ƒฝๅŠ›็š„่‡ช็„ถๅปถไผธๅนถ้žๆ„ๅ‘ณ็€ไบบไบบ้ƒฝๆˆไธบ้€šๆ‰๏ผŒ่€Œๆ˜ฏ AI ๅฐ†่ทจ้ข†ๅŸŸๅไฝœ็š„ๆ‘ฉๆ“ฆๆˆๆœฌๅคงๅน…้™ไฝŽใ€‚ๅฝ“ๆŠ€ๆœฏๅฃๅž’่ขซๅ‰Šๅนณ๏ผŒๅŽŸๆœฌ้œ€่ฆๆ•ฐๅ‘จๅ่ฐƒ็š„่ทจ่Œ่ƒฝ้…ๅˆ๏ผŒๅฆ‚ไปŠๅฏๅœจๆ•ฐๅฐๆ—ถๅ†…ๅฎŒๆˆ้—ญ็Žฏ้ชŒ่ฏโ€”โ€”ๅ้ฆˆๅ‘จๆœŸๅฎž็Žฐไบ†้‡็บงๅŽ‹็ผฉใ€‚

3. ๅฏนๆŠ—โ€œๅนณๅบธๅŒ–โ€ โ€”โ€” ๅœจ่‡ช็„ถ่ฏญ่จ€็ผ–็จ‹ๆ—ถไปฃ้‡ๅก‘ๅทฅ็จ‹ Sense โ€‹

ไธ€ๅฅ่ฏๆ€ป็ป“๏ผš

ๆŠฝ่ฑกๅฑ‚็š„ไธŠ็งปๅนถไธๆ„ๅ‘ณ็€ๅบ•ๅฑ‚็Ÿฅ่ฏ†็š„่ดฌๅ€ผ๏ผŒๅ่€Œๆ„ๅ‘ณ็€่ฏ†ๅˆซๅนณๅบธ็š„่ƒฝๅŠ›ๅ˜ๅพ—็ฉบๅ‰ๆ˜‚่ดตใ€‚ๅฝ“ๆฏไธชไบบ้ƒฝๆœ‰ไธ€ไธช่ƒฝๅ†™ไปฃ็ ็š„ AI ๅŒไบ‹ๆ—ถ๏ผŒไฝ ๅฏนโ€œๅฎŒ็พŽๅทฅ็จ‹โ€็š„ๅฎšไน‰่ƒฝๅŠ›๏ผŒๅ†ณๅฎšไบ†ไฝ ๅœจ่ฟ™ไธชๆ—ถไปฃ็š„ไปทๅ€ผไธŠ้™ใ€‚

ๅฝ“็ผ–็จ‹็š„้—จๆง›้™ไฝŽๅˆฐโ€œๅช่ฆไผš่ฏด่ฏๅฐฑ่ƒฝๅ†™ไปฃ็ โ€ๆ—ถ๏ผŒ่ฝฏไปถๅทฅ็จ‹ๆญฃ็ปๅކไธ€ๅœบๆƒๅŠ›็š„ไบคๆŽฅ๏ผš่‡ช็„ถ่ฏญ่จ€๏ผˆ่‹ฑ่ฏญ/ไธญๆ–‡๏ผ‰ๆญฃๅœจๆˆไธบๆœ€้ซ˜็บง็š„็ผ–็จ‹่ฏญ่จ€ใ€‚

่ฟ™็ง่ฝฌๅ˜ๅธฆๆฅไบ†ไธ€็งๆžๅ…ถ่ฏฑไบบ็š„โ€œVibe Coding๏ผˆๅ‡ญๆ„Ÿ่ง‰็ผ–็จ‹๏ผ‰โ€ไฝ“้ชŒใ€‚็„ถ่€Œ๏ผŒAnthropic ็š„็ ”็ฉถๆญ็คบไบ†ไธ€ไธชๅ†ท้…ท็š„็Žฐๅฎž๏ผšAI ๅพ€ๅพ€่กจ็Žฐๅพ—ๅƒไธ€ไธชโ€œๆžๅ…ถ่ชๆ˜Žไฝ†็ผบไน่ดฃไปปๆ„Ÿ็š„ๅˆ็บงๅทฅ็จ‹ๅธˆโ€ใ€‚ๅฆ‚ๆžœๆˆ‘ไปฌๅ…จ็›˜ๆŽฅๅ—่ฟ™็งไพฟๅˆฉ๏ผŒ่€ŒไธๅŽปๆœ‰ๆ„่ฏ†ๅœฐ้‡ๆž„่‡ช่บซ็š„่Œไธš่ƒฝๅŠ›๏ผŒๆˆ‘ไปฌๅฏ่ƒฝไผš้™ทๅ…ฅไธ€็งโ€œ็›‘็ฃๆ‚–่ฎบ๏ผˆSupervision Paradox๏ผ‰โ€โ€”โ€”ๅณๅฝ“ไฝ ๅคฑๅŽปไบ†ๆ‰‹ๅŠจ่งฃๅ†ณ้—ฎ้ข˜็š„่ƒฝๅŠ›ๆ—ถ๏ผŒไฝ ไนŸๅคฑๅŽปไบ†็›‘็ฃ AI ็š„่ต„ๆ ผใ€‚

3.1 ่ญฆๆƒ•โ€œ็›‘็ฃๆ‚–่ฎบโ€ไธŽ่ƒฝๅŠ›็š„ๅนณๅบธๅŒ– โ€‹

Anthropic ็š„ๆŠฅๅ‘Šไธญๆๅˆฐ๏ผŒๆœ‰ๆ•ˆไฝฟ็”จ AI ้œ€่ฆๆžๅผบ็š„โ€œ็›‘็ฃๅŠ›โ€๏ผŒ่€Œ่ฟ™็ง่ƒฝๅŠ›ๆฐๆฐๆบไบŽ้‚ฃไบ›ๆญฃๅœจ่ขซ AI ๅ–ไปฃ็š„ๅบ•ๅฑ‚็ผ–็ ๅฎž่ทตใ€‚่ฟ™็ง่ฝฌๅ˜ๅ‚ฌ็”Ÿไบ†ไธ€ไธชๆทฑๅˆป็š„็›‘็ฃๆ‚–่ฎบ๏ผš

  • ๆŠ€่ƒฝ่Ž็ผฉ็š„้ฃŽ้™ฉ๏ผš้•ฟๆœŸไพ่ต– AI ็”Ÿๆˆไปฃ็ ๏ผŒไผšๅฏผ่‡ดๅผ€ๅ‘่€…ๅฏนๅ†…ๅญ˜็ฎก็†ใ€ๅนถๅ‘ๆจกๅž‹ใ€่พน็•Œๆกไปถ็ญ‰ๅบ•ๅฑ‚็ป†่Š‚็š„ๆ•ๆ„Ÿๅบฆไธ‹้™ใ€‚

๏ผˆ้™„ๅธฆๅญฆไน ๏ผ‰็š„ไธงๅคฑ๏ผš ่ฟ‡ๅŽปๆˆ‘ไปฌๅœจ็ฟป้˜…ๆ–‡ๆกฃใ€่ฐƒ่ฏ• Bug ็š„็—›่‹ฆ่ฟ‡็จ‹ไธญ๏ผŒไผšๆ„ๅค–ๅญฆๅˆฐ็ณป็ปŸ็š„่ฟ่กŒๆœบ็†ใ€‚AI ็›ดๆŽฅ็ป™ๅ‡บ็ญ”ๆกˆ๏ผŒๅˆ‡ๆ–ญไบ†่ฟ™็งๆทฑๅบฆๅญฆไน ็š„่ทฏๅพ„ใ€‚

AI Free ็š„ๅˆปๆ„็ปƒไน ๏ผšๆฏๅ‘จๆˆ–ๆฏไธช่ฟญไปฃ๏ผŒๆŒ‘้€‰ไธ€ไธชๆ ธๅฟƒ้€ป่พ‘ๅ—๏ผŒๅฐ่ฏ•ๅœจๅฎŒๅ…จไธๆฑ‚ๅŠฉ AI ็š„ๆƒ…ๅ†ตไธ‹๏ผŒๆ‰‹ๅ†™ๅฎž็Žฐๅนถ่ฟ›่กŒๆ€ง่ƒฝ่ฐƒไผ˜ใ€‚่ฟ™ๅฐฑๅƒ้ฃž่กŒๅ‘˜ๅฟ…้กปๅฎšๆœŸ่ฟ›่กŒๆ‰‹ๅŠจ่ตท้™็ปƒไน ไธ€ๆ ท๏ผŒๆ˜ฏไฟๆŒๅบ•ๅฑ‚โ€œ่‚Œ่‚‰่ฎฐๅฟ†โ€็š„ๅ”ฏไธ€ๆ–นๅผใ€‚

3.2 ไปŽ Vibe Coding ่ฟ›ๅŒ–ๅˆฐ่ง„่Œƒ้ฉฑๅŠจ๏ผˆSDD๏ผ‰ โ€‹

ไธบไบ†ไธ่ฎฉๅทฅ็จ‹่ดจ้‡ๆป‘ๅ‘โ€œ้šๆœบๆ€งโ€็š„ๆทฑๆธŠ๏ผŒๆˆ‘ไปฌ้œ€่ฆๅฐ†โ€œๅ‡ญๆ„Ÿ่ง‰โ€่ฝฌๅŒ–ไธบ โ€œๅฎš่ง„่Œƒโ€ใ€‚ๅœจโ€œ่‹ฑ่ฏญๅณ็ผ–็จ‹่ฏญ่จ€โ€็š„ๆ—ถไปฃ๏ผŒๅทฅ็จ‹ๅธˆ็š„็‹ฌ็‰นไปทๅ€ผไธๅ†ๆ˜ฏๅฎž็Žฐ็ป†่Š‚๏ผŒ่€Œๆ˜ฏๅฏน็บฆๆŸๆกไปถ็š„ๅฎšไน‰ใ€‚

  • ๅฎšไน‰้ชŒๆ”ถๆ ‡ๅ‡†๏ผšๆˆ‘ไปฌ้œ€่ฆๆฏ”ไปฅๅ‰ๆ›ดๆธ…ๆ™ฐๅœฐๅ‘Š่ฏ‰ AI๏ผŒไป€ไนˆๆ˜ฏโ€œๆญฃ็กฎโ€ใ€‚่ฟ™ๅฐฑ่ฆๆฑ‚ๅ…ทๅค‡ๆžๅผบ็š„็ณป็ปŸๆžถๆž„ๆ€็ปดๅ’ŒๅฏนไธšๅŠก้€ป่พ‘็š„ๆทฑๅบฆๆ‹†่งฃ่ƒฝๅŠ›ใ€‚
  • ๅผ•ๅ…ฅๅทฅ็จ‹่ฏญไน‰๏ผšๆจก็ณŠ็š„ๆŒ‡ไปคๅชไผšๅธฆๆฅๆจก็ณŠ็š„็ป“ๆžœใ€‚ๆญฃๅฆ‚่ฟ‘ๆœŸๅœจๅฎž่ทตไธญๆŽจๅด‡็š„ Specification Driven Development (SDD)๏ผŒๆˆ‘ไปฌ้œ€่ฆๅœจ่‡ช็„ถ่ฏญ่จ€ไธŽ AI ๆ‰ง่กŒไน‹้—ด๏ผŒๅปบ็ซ‹ไธ€ๅฅ—ไธฅ่ฐจ็š„่ฏญไน‰ๅฑ‚ใ€‚่ฟ™ๅฅ—่ฏญไน‰ๆ ‡ๅ‡†ๅฆ‚ๅŒๅทฅ็จ‹ๅฅ‘็บฆ๏ผŒ็กฎไฟ AI ็”Ÿๆˆ็š„ไปฃ็ ไธๆ˜ฏ้šๆœบ"ๅ‘ๆ•ฃ"็š„๏ผŒ่€Œๆ˜ฏๅง‹็ปˆ้”šๅฎšไบŽๅฏ้ข„ๆœŸ็š„ๅทฅ็จ‹่Œƒๅผไน‹ๅ†…ใ€‚

3.3. ๆž„ๅปบๆ–ฐๅž‹โ€œๅทฅ็จ‹ Senseโ€๏ผšไปŽๆ‰‹่‰บไบบๅˆฐๅฏผๆผ” โ€‹

ๆœชๆฅ็š„้ซ˜็บงๅทฅ็จ‹ๅธˆ๏ผŒๅ…ถๆ ธๅฟƒ็ซžไบ‰ๅŠ›ๅฐ†ไฝ“็Žฐๅœจๅฏนๅ“ๅ‘ณไธŽ่ฏ„ๅˆคๆƒ็š„ๆŽŒๆŽงไธŠใ€‚

  • ๆ‰นๅˆคๆ€งๅฎก็พŽ๏ผšAI ็ป™ๅ‡บไธ‰ไธชๆ–นๆกˆ๏ผŒไฝ ไธบไป€ไนˆ้€‰่ฟ™ไธ€ไธช๏ผŸๆ˜ฏๅ› ไธบๅฎƒ็š„ๆ‰ฉๅฑ•ๆ€งๆ›ดๅฅฝ๏ผŒ่ฟ˜ๆ˜ฏๅ› ไธบๅฎƒๅœจ็‰นๅฎš้ซ˜ๅนถๅ‘ๅœบๆ™ฏไธ‹ๆ›ด็จณๅฅ๏ผŸ่ฟ™็งๅŸบไบŽ็ป้ชŒ็š„โ€œ้€‰ๆ‹ฉๆƒโ€ๅฐฑๆ˜ฏๆ–ฐ็š„ๅทฅ็จ‹ Senseใ€‚
  • ้€†ๅ‘ๅทฅ็จ‹่ƒฝๅŠ›๏ผš่ƒฝๅคŸๅฟซ้€Ÿ่ฏปๆ‡‚ AI ็”Ÿๆˆ็š„ๅคงไฝ“้‡ไปฃ็ ๏ผŒๅนถๅœจๅ…ถไธญ็ฒพๅ‡†ๅฎšไฝโ€œ่ชๆ˜Žไฝ†ๅฑ้™ฉโ€็š„้€ป่พ‘็ผบ้™ทใ€‚่ฟ™่ฆๆฑ‚ๆˆ‘ไปฌๅฟ…้กปไฟๆŒๅฏนๆ–ฐๆŠ€ๆœฏ็š„โ€œๆทฑๅบฆ้˜…่ฏปโ€ไน ๆƒฏ๏ผŒ่€Œ้žไป…ไป…ๅœ็•™ๅœจโ€œ่ฐƒ็”จโ€ๅฑ‚้ขใ€‚

4. ่Œƒๅผ่ฝๅœฐโ€”โ€”ๅœจ้šๆœบๆ€งไน‹ไธŠ๏ผŒๆž„ๅปบ็กฎๅฎšๆ€ง็š„ๅทฅ็จ‹ๅŸบๅบง โ€‹

ไธ€ๅฅ่ฏๆ€ป็ป“๏ผš

่Œƒๅผ็š„่ฝๅœฐไธๆ˜ฏไธ€่นด่€Œๅฐฑ็š„่ง„ๅˆ™่ฎพๅฎš๏ผŒ่€Œๆ˜ฏไธ€ๅœบไผด้šๆจกๅž‹่ƒฝๅŠ›่ฟ›ๅŒ–็š„ๅŠจๆ€ๅšๅผˆใ€‚ๆˆ‘ไปฌ่ฆๆž„ๅปบ็š„ๆ˜ฏไธ€ๅฅ— โ€œๅฎฝๅฎน่พ“ๅ…ฅใ€ไธฅๆ ผ่พ“ๅ‡บโ€ ็š„้“พ่ทฏ๏ผš็ป™ AI ่ถณๅคŸ็š„็ฉบ้—ดๅŽปๅˆ›้€ ๅ’Œๆๆ•ˆ๏ผŒไฝ†ๅœจไบคไป˜็š„ๆœ€ๅŽไธ€ๅ…ฌ้‡Œ๏ผŒ็”จๆœ€ไผ ็ปŸ็š„ๅทฅ็จ‹็†ๆ€ง่ฟ›่กŒๆœ€ไธฅ่‹›็š„ๅฎกๅˆคใ€‚

ๅฆ‚ๆžœ่ฏด AI ๆ˜ฏไธ€ๅฐๆ‹ฅๆœ‰ๆ— ้™็ˆ†ๅ‘ๅŠ›็š„ๅผ•ๆ“Ž๏ผŒ้‚ฃไนˆ่ฝฏไปถๅทฅ็จ‹่Œƒๅผๅฐฑๆ˜ฏๆ‰ฟ่ฝฝๅฎƒ็š„ๅบ•็›˜ใ€‚ๅฝ“ๅ‰ๆœ€ๆ ธๅฟƒ็š„็Ÿ›็›พๅœจไบŽ๏ผšๅคงๆจกๅž‹ๆœฌ่ดจไธŠๆ˜ฏๆฆ‚็އๆ€ง็š„๏ผŒ่€Œๅทฅ็จ‹ไบคไป˜่ฆๆฑ‚็š„ๅดๆ˜ฏ็กฎๅฎšๆ€ง็š„ใ€‚

ๅฆ‚ไฝ•่ฎฉ"ไธ็กฎๅฎš็š„็”Ÿๆˆ"่ฟ›ๅŒ–ไธบ"ๅฏไบคไป˜็š„ไปฃ็ "๏ผŸ่ฟ™ไธๅชๆ˜ฏๆŠ€ๆœฏๅฑ‚้ข็š„ๆŒ‘ๆˆ˜๏ผŒๆ›ดๆ˜ฏไธ€ไธชๅ…ณไบŽๅ…จ้“พ่ทฏๆฒป็†็š„็ณป็ปŸๆ€งๅ‘ฝ้ข˜ใ€‚ๆˆ‘ไปฌไธ่ƒฝไปฅ้™ๆ€็š„่ง†่ง’ๅฎก่ง†็Žฐๆœ‰ๅทฅๅ…ท๏ผŒ่€Œ้œ€่ฆๅŠจๆ€ๅœฐ่ง‚ๅฏŸ LLM ่ƒฝๅŠ›ๆผ”่ฟ›ใ€Agent ๆžถๆž„้ฉๆ–ฐไธŽไผ ็ปŸๅทฅ็จ‹่ฎพๆ–ฝ็š„ๆทฑๅบฆ่žๅˆไธŽๅๅŒๆผ”ๅŒ–ใ€‚

4.1 ไปŽโ€œๅ•็‚นๆŒ‡ไปคโ€่ฝฌๅ‘โ€œๅคšๆ™บ่ƒฝไฝ“็ผ–ๆŽ’๏ผˆMulti-Agent Orchestration๏ผ‰โ€ โ€‹

ๆญฃๅฆ‚ Anthropic ๅ†…้ƒจไฝฟ็”จ Claude Code ๅค„็†ๆ—ฅ็›Šๅคๆ‚็š„ไปปๅŠก๏ผŒๆœชๆฅ็š„่ฝๅœฐ่Œƒๅผ็ป้ž"ไบบไธŽๅ•ไธ€็ช—ๅฃ็š„ๅฏน่ฏ"๏ผŒ่€Œๆ˜ฏไธ€ไธช้—ญ็Žฏ็š„ๅคšๆ™บ่ƒฝไฝ“ๅไฝœๆตๆฐด็บฟใ€‚

  • ่ง’่‰ฒไธ“ไธšๅŒ–ๅˆ†ๅทฅ๏ผšๅฐ†ๅคๆ‚ไปปๅŠกๆ‹†่งฃๅนถๅง”ๆดพ็ป™ไธๅŒ็š„"ไธ“ๅฎถๆ™บ่ƒฝไฝ“"ใ€‚ไธ€ไธช Agent ไธ“ๆณจไบŽ้œ€ๆฑ‚็†่งฃไธŽๆ–นๆกˆ่ฎพ่ฎก๏ผŒๅฆไธ€ไธช่ดŸ่ดฃไปฃ็ ๅฎž็Žฐ๏ผŒ็ฌฌไธ‰ไธชๅˆ™ๆ‰ฎๆผ”"็บข้˜ŸๅฎกๆŸฅ่€…"็š„่ง’่‰ฒ๏ผŒ่ฟ›่กŒ่‡ชๅŠจๅŒ–็š„ๅฏนๆŠ—ๆ€งๆต‹่ฏ•ไธŽๆผๆดžๆŒ–ๆŽ˜ใ€‚

  • ่ฟญไปฃๅผ้”™่ฏฏๆ”ถๆ•›๏ผšๅทฅ็จ‹็กฎๅฎšๆ€งไธๆบไบŽๅ•ๆฌก็”Ÿๆˆ็š„ๅฎŒ็พŽ๏ผŒ่€Œๆฅ่‡ช "็”Ÿๆˆ-้ชŒ่ฏ-่ฏŠๆ–ญ-ไฟฎๅค-ๅ†้ชŒ่ฏ" ็š„่‡ชๅŠจๅŒ–้—ญ็Žฏใ€‚ๅœจไปฃ็ ๅˆๅนถๅ…ฅไธปๅˆ†ๆ”ฏไน‹ๅ‰๏ผŒๅฎƒๅบ”ๅฝ“ๅทฒๅœจ้š”็ฆป็š„ๆฒ™็›’็Žฏๅขƒไธญ๏ผŒๅކ็ปๅคš่ฝฎ Agent ้ฉฑๅŠจ็š„่‡ชๆˆ‘ไฟฎๆญฃไธŽ่ดจ้‡ๆ”ถๆ•›ใ€‚

4.2 ๆž„ๅปบ"ไธŠไธ‹ๆ–‡ๆŠคๅŸŽๆฒณ"๏ผšไปŽ Prompt ๅˆฐ็Ÿฅ่ฏ†ๅ›พ่ฐฑ โ€‹

AI ่พ“ๅ‡บ็š„่ดจ้‡๏ผŒๆœฌ่ดจไธŠๅ–ๅ†ณไบŽๅฎƒๅฏนไธšๅŠก่ฏญๅขƒ็š„็†่งฃๆทฑๅบฆใ€‚ๅฝ“ๅ‰ๆœ€ๅคง็š„ๅทฅ็จ‹ๅŒ–้šœ็ข๏ผŒๆญฃๆ˜ฏๆจกๅž‹้ขๅฏนๅ›ข้˜Ÿ็งๆœ‰็Ÿฅ่ฏ†ๆ—ถ็š„"ๅ†ทๅฏๅŠจ"ๅ›ฐๅขƒโ€”โ€”ๅฎƒ็ผบไนๅฏน็‰นๅฎšไปฃ็ ่ง„่Œƒใ€ๆžถๆž„ๅ†ณ็ญ–ๅ’Œๅކๅฒๆผ”่ฟ›็š„้šๆ€ง่ฎค็Ÿฅใ€‚

  • ๅŠจๆ€ไธŠไธ‹ๆ–‡ๆณจๅ…ฅ๏ผš ่ถ…่ถŠไผ ็ปŸ็š„ RAG๏ผˆๆฃ€็ดขๅขžๅผบ็”Ÿๆˆ๏ผ‰๏ผŒๅฐ†ไปฃ็ ๅบ“ใ€ๆžถๆž„ๆ–‡ๆกฃไนƒ่‡ณๅ›ข้˜Ÿ็š„ไปฃ็ ่ฏ„ๅฎกๅๅฅฝ๏ผŒๅฎžๆ—ถ็ผ–็ป‡ไธบ AI ็š„"ๅทฅไฝœ่ฎฐๅฟ†"ใ€‚่ฟ™ไธๅ†ๆ˜ฏ็ฎ€ๅ•็š„ไฟกๆฏๆฃ€็ดข๏ผŒ่€Œๆ˜ฏ่ฎฉ AI ็œŸๆญฃ"่žๅ…ฅ"ๅ›ข้˜Ÿ็š„ๅทฅ็จ‹ๆ–‡ๅŒ–ใ€‚

  • ๅทฅ็จ‹่ฏญไน‰็ฟป่ฏ‘ๅฑ‚๏ผš ๅœจไบบ็ฑป็š„ๆจก็ณŠๆ„ๅ›พไธŽๆœบๅ™จ็š„็ป“ๆž„ๅŒ–็†่งฃไน‹้—ด๏ผŒๆˆ‘ไปฌ้œ€่ฆไธ€ๅบงๆกฅๆขใ€‚่ฟ™ๅบงๆกฅๆขๅฐ†่‡ช็„ถ่ฏญ่จ€้œ€ๆฑ‚่ฝฌๅŒ–ไธบ AI ๅฏ็ฒพ็กฎ่งฃๆž็š„่ฏญไน‰ๅ›พ่ฐฑโ€”โ€”ๅŸบไบŽ Graph ็š„ไปฃ็ ็ดขๅผ•ใ€ไพ่ต–ๅ…ณ็ณป็ฝ‘็ปœไธŽ้ข†ๅŸŸ็Ÿฅ่ฏ†ๅปบๆจก๏ผŒๅ…ฑๅŒๆž„ๆˆ่ฟ™ไธ€็ฟป่ฏ‘ๅฑ‚็š„ๆ ธๅฟƒ้ชจๆžถใ€‚

4.3 "ๅฏ่ง‚ๆต‹ๆ€ง"๏ผš่ฎฉ AI ็š„ๅ†ณ็ญ–่ฟ‡็จ‹้€ๆ˜Žๅฏ่ง โ€‹

ไผ ็ปŸ DevOps ๅ…ณๆณจ็š„ๆ˜ฏๆœๅŠกๅ™จ่ดŸ่ฝฝใ€ๅ“ๅบ”ๆ—ถ้—ด็ญ‰ๆœบๅ™จๆŒ‡ๆ ‡๏ผ›่€Œๅœจ AI ๅทฅ็จ‹ๆ—ถไปฃ๏ผŒๆˆ‘ไปฌ้œ€่ฆ่ฟฝ่ธช็š„ๆ˜ฏ AI ็š„"ๆ€่€ƒ่ฟ‡็จ‹"ใ€‚

  • ่ฎฐๅฝ• AI ็š„ๅ†ณ็ญ–้“พ่ทฏ๏ผšๅฝ“ AI ไฟฎๆ”นไปฃ็ ๆ—ถ๏ผŒๆˆ‘ไปฌไธไป…่ฆ็œ‹ๅˆฐ"ๆ”นไบ†ไป€ไนˆ"๏ผŒๆ›ด่ฆ็†่งฃ"ไธบไป€ไนˆ่ฟ™ไนˆๆ”น"โ€”โ€”ๅฎŒๆ•ด่ฟ˜ๅŽŸๅฎƒ็š„ๆŽจ็†้“พๆก๏ผŒ่ฎฉๆฏไธ€ๆฌกๅ˜ๆ›ด้ƒฝๅฏ่ฟฝๆบฏใ€ๅฏ่งฃ้‡Šใ€‚

  • ๅปบ็ซ‹ๅˆ†็บงไฟกไปปๆœบๅˆถ๏ผšไธๆ˜ฏๆ‰€ๆœ‰ไปปๅŠก้ƒฝ้œ€่ฆไบบๅทฅ้€ไธ€ๅฎกๆ ธใ€‚ๅฏนไบŽ AI ่กจ็Žฐ็จณๅฎš็š„ๆ ‡ๅ‡†ๅŒ–ๅทฅไฝœ๏ผˆๅฆ‚่ฐƒๆ•ดๆ ทๅผใ€็”Ÿๆˆๅ•ๅ…ƒๆต‹่ฏ•๏ผ‰๏ผŒๅฏไปฅ่‡ชๅŠจๆ”พ่กŒ๏ผ›ไธ€ๆ—ฆๅ‘็Žฐ AI ๅœจๆŽจ็†่ฟ‡็จ‹ไธญๅๅค็บ ็ป“ใ€ๅคšๆฌกไฟฎๆญฃๆˆ–ๅ‡บ็Žฐๅผ‚ๅธธ๏ผŒ็ซ‹ๅณ่งฆๅ‘ไบบๅทฅๆทฑๅบฆๅฎกๆŸฅ๏ผŒๅฝขๆˆไบบๆœบๅๅŒ็š„่ดจ้‡ๆŠŠๅ…ณใ€‚

4.4 ๆ‹ฅๆŠฑ"ไธ็กฎๅฎšๆ€ง"๏ผŒไฝ†ๅฎˆไฝ"่ดจ้‡ๅบ•็บฟ" โ€‹

ๆˆ‘ไปฌ้œ€่ฆ่ฎคๆธ…ไธ€ไธช็Žฐๅฎž๏ผšๆœชๆฅ็š„่ฝฏไปถๅผ€ๅ‘ๅฐ†ๆ˜ฏไบบไธŽ AI ๅไฝœ็š„่ฟ‡ๆธกๆ€๏ผŒไธไผšๆ˜ฏ้ž้ป‘ๅณ็™ฝ็š„ๅฎŒๅ…จ่‡ชๅŠจๅŒ–ใ€‚ไธŽๅ…ถ่ฟฝๆฑ‚ๆฏไธ€ๆญฅ้ƒฝไบบๅทฅๅฏๆŽง๏ผŒไธๅฆ‚็กฎไฟๆœ€็ปˆ็ป“ๆžœๅฏ้ชŒ่ฏใ€ๅฏไฟก่ต–ใ€‚

่ฟ™ๆ„ๅ‘ณ็€ๅทฅ็จ‹ๅ›ข้˜Ÿ็š„ๆ ธๅฟƒ่ƒฝๅŠ›่ฆไปŽ"ไบฒ่‡ชๅ†™ไปฃ็ "่ฝฌๅ‘ "ๆญๅปบๅฎŒๅ–„็š„่ฏ„ไผฐไฝ“็ณป"ใ€‚ๅช่ฆไฝ ็š„ๆต‹่ฏ•ใ€็›‘ๆŽงใ€ๅ›žๆปšๆœบๅˆถ่ถณๅคŸๅฅๅฃฎ๏ผŒๅณไฝฟ AI ็š„่พ“ๅ‡บๅธฆๆœ‰ไธ€ๅฎš้šๆœบๆ€ง๏ผŒไนŸ่ƒฝ่ขซ็‰ข็‰ข้™ๅˆถๅœจๅฎ‰ๅ…จ็š„่พน็•Œไน‹ๅ†…ใ€‚

5. ็ป“่ฏญ โ€‹

Anthropic ็š„่ฟ™ไปฝๆŠฅๅ‘Š๏ผŒๆœฌ่ดจไธŠๆ˜ฏไธบๆˆ‘ไปฌๅฑ•็Žฐไบ†ไธ€ไธช่ฝฏไปถๅทฅ็จ‹็š„โ€œๅŽๅทฅไธšๆ—ถไปฃโ€ใ€‚ๅœจ่ฟ™ไธชๆ—ถไปฃ๏ผŒAI ไธๆ˜ฏๅ–ไปฃไฝ ็š„ๆ”ถๅ‰ฒๆœบ๏ผŒ่€Œๆ˜ฏ็ป™ไบ†ไฝ โ€œไธ€็™พไธ‡ๅŒน้ฉฌโ€็š„็ˆ†ๅ‘ๅŠ›ใ€‚

',56)),o("p",null,[t[5]||(t[5]=r("ๆญฃๅฆ‚ๆŠฅๅ‘Šไธญๆ‰€ๆญ็คบ็š„้‚ฃๆ ท๏ผšๆˆ‘ไปฌไธๅบ”ๅ†็บ ็ป“ไบŽๅ•ๅบ”ไปฐๆœ›ๆ›ด้ซ˜ๅบ”ไปฐๆœ›ๆ›ด้ซ˜็ปดๅบฆ็š„ๆ™ฏ่ง‚ใ€‚",-1)),e(a,{bold:""},{default:n(()=>[...t[4]||(t[4]=[r("ๅฝ“ๅ†™ไปฃ็ ๅ˜ๅพ—ไธๅ†ๆ˜‚่ดต๏ผŒๅฏนโ€œไป€ไนˆๆ˜ฏๅฅฝไปฃ็ โ€็š„ๅฎšไน‰ๆƒ๏ผŒไปฅๅŠๅฏนโ€œ็ณป็ปŸไธบไฝ•่€Œๅญ˜ๅœจโ€็š„็†่งฃๅŠ›๏ผŒไพฟๆˆไบ†่ฟ™ไธช่กŒไธšๆœ€ๅŽ็š„็จ€็ผบๅ“",-1)])]),_:1}),t[6]||(t[6]=r("ใ€‚",-1))]),t[14]||(t[14]=o("p",null,"ๆœชๆฅ๏ผŒๆœ€ไผ˜็ง€็š„ๅทฅ็จ‹ๅธˆๆˆ–่ฎธไธๅ†ๆ˜ฏ้‚ฃไธช่ƒฝๆ‰‹ๅ†™ๆž่‡ด็ฎ—ๆณ•็š„ไบบ๏ผŒ่€Œๆ˜ฏ้‚ฃไธช่ƒฝๅœจ้šๆœบ็”Ÿๆˆ็š„่ฟท้›พไธญ๏ผŒๅ‡ญๅ€ŸๆทฑๅŽš็š„ๅบ•ๅฑ‚ๅŠŸๅบ•๏ผŒไธ€็œผ่ฏ†็ ดๅนณๅบธไธŽ้ฃŽ้™ฉ๏ผŒๅนถไธบ AI ๆŒ‡ๆ˜Žๆ–นๅ‘็š„ไบบใ€‚",-1)),o("p",null,[t[8]||(t[8]=r("่Œƒๅผ็š„ๆฒ‰ๆท€ๆˆ–่ฎธไป้œ€ๆ—ถ้—ด๏ผŒ่ฏทๅŠกๅฟ…ๅœจไบซๅ— AI ๆๆ•ˆ็š„ๅŒๆ—ถ๏ผŒๅˆปๆ„ไฟๆŒไฝ ็š„ๆŠ€ๆœฏๅฐ–้”ๅบฆใ€‚ๅ› ไธบ ",-1)),e(a,{type:"warning",bold:""},{default:n(()=>[...t[7]||(t[7]=[r("ๅœจโ€œๆœบๅ™จๆ‰ง่กŒโ€็š„ๆดชๆตไธ‹๏ผŒไบบ็ฑป็š„ๅ“ไฝไธŽ่ดฃไปปๆ„Ÿ๏ผŒไพ็„ถๆ˜ฏ่ฝฏไปถๅทฅ็จ‹ไธญ้‚ฃ้“ๆœ€ๅšๅ›บใ€ไนŸๆœ€ๆธฉๆš–็š„้˜ฒๅพก็บฟ",-1)])]),_:1}),t[9]||(t[9]=r("ใ€‚",-1))])]))}});export{I as __pageData,q as default}; diff --git "a/assets/01.\345\205\250\346\240\210_01.AI Native \345\267\245\347\250\213\346\200\235\347\273\264_10.\350\257\273 Anthropic \347\240\224\347\251\266\346\212\245\345\221\212\357\274\214\346\216\242\345\257\273 AI \346\227\266\344\273\243\347\232\204\345\267\245\347\250\213\350\214\203\345\274\217\351\207\215\345\241\221.md.BKsOQbXL.lean.js" "b/assets/01.\345\205\250\346\240\210_01.AI Native \345\267\245\347\250\213\346\200\235\347\273\264_10.\350\257\273 Anthropic \347\240\224\347\251\266\346\212\245\345\221\212\357\274\214\346\216\242\345\257\273 AI \346\227\266\344\273\243\347\232\204\345\267\245\347\250\213\350\214\203\345\274\217\351\207\215\345\241\221.md.BxS8ZWIM.lean.js" similarity index 97% rename from "assets/01.\345\205\250\346\240\210_01.AI Native \345\267\245\347\250\213\346\200\235\347\273\264_10.\350\257\273 Anthropic \347\240\224\347\251\266\346\212\245\345\221\212\357\274\214\346\216\242\345\257\273 AI \346\227\266\344\273\243\347\232\204\345\267\245\347\250\213\350\214\203\345\274\217\351\207\215\345\241\221.md.BKsOQbXL.lean.js" rename to "assets/01.\345\205\250\346\240\210_01.AI Native \345\267\245\347\250\213\346\200\235\347\273\264_10.\350\257\273 Anthropic \347\240\224\347\251\266\346\212\245\345\221\212\357\274\214\346\216\242\345\257\273 AI \346\227\266\344\273\243\347\232\204\345\267\245\347\250\213\350\214\203\345\274\217\351\207\215\345\241\221.md.BxS8ZWIM.lean.js" index de47bd2a..ba74a48b 100644 --- "a/assets/01.\345\205\250\346\240\210_01.AI Native \345\267\245\347\250\213\346\200\235\347\273\264_10.\350\257\273 Anthropic \347\240\224\347\251\266\346\212\245\345\221\212\357\274\214\346\216\242\345\257\273 AI \346\227\266\344\273\243\347\232\204\345\267\245\347\250\213\350\214\203\345\274\217\351\207\215\345\241\221.md.BKsOQbXL.lean.js" +++ "b/assets/01.\345\205\250\346\240\210_01.AI Native \345\267\245\347\250\213\346\200\235\347\273\264_10.\350\257\273 Anthropic \347\240\224\347\251\266\346\212\245\345\221\212\357\274\214\346\216\242\345\257\273 AI \346\227\266\344\273\243\347\232\204\345\267\245\347\250\213\350\214\203\345\274\217\351\207\215\345\241\221.md.BxS8ZWIM.lean.js" @@ -1 +1 @@ -import{H as a}from"./chunks/HighLightText.gRdAAF3C.js";import{g as l,h as s,i as o,U as i,S as r,z as e,s as n}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const p={class:"tip custom-block"},I=JSON.parse('{"title":"่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘","description":"่ฝฏไปถๅทฅ็จ‹ๆญฃ็ปๅކไปŽโ€œๆ‰‹ๅ†™้€ป่พ‘โ€ๅ‘โ€œๆ„ๅ›พ่ฐƒๅบฆโ€็š„่Œƒๅผ่ฟๅพ™ใ€‚Anthropic ็š„็ ”็ฉถๆญ็คบไบ† AI ๅนถ้ž็ฎ€ๅ•็š„ๆๆ•ˆๅทฅๅ…ท๏ผŒ่€Œๆ˜ฏ้€š่ฟ‡้‡Šๆ”พ 27% ๆ›พ็ปโ€œไธๅˆ’็ฎ—โ€็š„ๅทฅ็จ‹ไปปๅŠก๏ผŒ้‡ๅก‘ไบ†่ฝฏไปถ่ดจ้‡็š„ๅฏ†ๅบฆใ€‚ๅœจ่‡ช็„ถ่ฏญ่จ€ๅณ็ผ–็จ‹่ฏญ่จ€็š„ๆ—ถไปฃ๏ผŒๆˆ‘ไปฌ้œ€่ฆ้€š่ฟ‡่ง„ๆ ผ้ฉฑๅŠจ๏ผˆSDD๏ผ‰ไธŽๅคšๆ™บ่ƒฝไฝ“็ผ–ๆŽ’๏ผŒ็ ด่งฃโ€œ็›‘็ฃๆ‚–่ฎบโ€ๅธฆๆฅ็š„ๆŠ€่ƒฝๅนณๅบธๅŒ–ๅฑๆœบ๏ผŒๅฐ† AI ็š„ๆฆ‚็އๆ€ง็”Ÿๆˆ้ฉฏๅŒ–ไธบ็กฎๅฎšๆ€ง็š„ๅทฅ็จ‹ไบคไป˜ใ€‚ๅฝ“็ผ–็ ๆˆๆœฌ่ถ‹ไบŽ้›ถ๏ผŒๅทฅ็จ‹ๅธˆ็š„็ปˆๆžๅฃๅž’ๅฐ†ๆ˜ฏๅฎšไน‰ๅฎŒ็พŽ็š„ๅ“ๅ‘ณ๏ผŒไปฅๅŠๅœจ AI ่ฟท้›พไธญ่ฏ†็ ดๅนณๅบธ็š„ๆดžๅฏŸๅŠ›ใ€‚","frontmatter":{"date":"2025-12-06T22:05:50.000Z","title":"่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘","description":"่ฝฏไปถๅทฅ็จ‹ๆญฃ็ปๅކไปŽโ€œๆ‰‹ๅ†™้€ป่พ‘โ€ๅ‘โ€œๆ„ๅ›พ่ฐƒๅบฆโ€็š„่Œƒๅผ่ฟๅพ™ใ€‚Anthropic ็š„็ ”็ฉถๆญ็คบไบ† AI ๅนถ้ž็ฎ€ๅ•็š„ๆๆ•ˆๅทฅๅ…ท๏ผŒ่€Œๆ˜ฏ้€š่ฟ‡้‡Šๆ”พ 27% ๆ›พ็ปโ€œไธๅˆ’็ฎ—โ€็š„ๅทฅ็จ‹ไปปๅŠก๏ผŒ้‡ๅก‘ไบ†่ฝฏไปถ่ดจ้‡็š„ๅฏ†ๅบฆใ€‚ๅœจ่‡ช็„ถ่ฏญ่จ€ๅณ็ผ–็จ‹่ฏญ่จ€็š„ๆ—ถไปฃ๏ผŒๆˆ‘ไปฌ้œ€่ฆ้€š่ฟ‡่ง„ๆ ผ้ฉฑๅŠจ๏ผˆSDD๏ผ‰ไธŽๅคšๆ™บ่ƒฝไฝ“็ผ–ๆŽ’๏ผŒ็ ด่งฃโ€œ็›‘็ฃๆ‚–่ฎบโ€ๅธฆๆฅ็š„ๆŠ€่ƒฝๅนณๅบธๅŒ–ๅฑๆœบ๏ผŒๅฐ† AI ็š„ๆฆ‚็އๆ€ง็”Ÿๆˆ้ฉฏๅŒ–ไธบ็กฎๅฎšๆ€ง็š„ๅทฅ็จ‹ไบคไป˜ใ€‚ๅฝ“็ผ–็ ๆˆๆœฌ่ถ‹ไบŽ้›ถ๏ผŒๅทฅ็จ‹ๅธˆ็š„็ปˆๆžๅฃๅž’ๅฐ†ๆ˜ฏๅฎšไน‰ๅฎŒ็พŽ็š„ๅ“ๅ‘ณ๏ผŒไปฅๅŠๅœจ AI ่ฟท้›พไธญ่ฏ†็ ดๅนณๅบธ็š„ๆดžๅฏŸๅŠ›ใ€‚","permalink":"/fullstack/ai-change-work-workflow/","top":true,"tags":["ๅ…จๆ ˆ","AI"],"categories":["ๅ…จๆ ˆ"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/10.่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘.md","filePath":"01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/10.่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘.md"}'),u={name:"01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/10.่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘.md"},q=Object.assign(u,{setup(A){return(d,t)=>(s(),l("div",null,[t[10]||(t[10]=o("div",{style:{display:"none"},hidden:"true","aria-hidden":"true"},"Are you an LLM? You can read better optimized documentation at /01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/10.่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘.md for this page in Markdown format",-1)),t[11]||(t[11]=o("h1",{id:"่ฏป-anthropic-็ ”็ฉถๆŠฅๅ‘Š-ๆŽขๅฏป-ai-ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘",tabindex:"-1"},[r("่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘ "),o("a",{class:"header-anchor",href:"#่ฏป-anthropic-็ ”็ฉถๆŠฅๅ‘Š-ๆŽขๅฏป-ai-ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘","aria-label":"Permalink to โ€œ่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘โ€"},"โ€‹")],-1)),t[12]||(t[12]=o("blockquote",null,[o("p",null,[o("strong",null,"ๆ‘˜่ฆๆ€ป็ป“"),r("๏ผš่ฝฏไปถๅทฅ็จ‹ๆญฃ็ปๅކไปŽโ€œๆ‰‹ๅ†™้€ป่พ‘โ€ๅ‘โ€œๆ„ๅ›พ่ฐƒๅบฆโ€็š„่Œƒๅผ่ฟๅพ™ใ€‚Anthropic ็š„็ ”็ฉถๆญ็คบไบ† AI ๅนถ้ž็ฎ€ๅ•็š„ๆๆ•ˆๅทฅๅ…ท๏ผŒ่€Œๆ˜ฏ้€š่ฟ‡้‡Šๆ”พ 27% ๆ›พ็ปโ€œไธๅˆ’็ฎ—โ€็š„ๅทฅ็จ‹ไปปๅŠก๏ผŒ้‡ๅก‘ไบ†่ฝฏไปถ่ดจ้‡็š„ๅฏ†ๅบฆใ€‚ๅœจ่‡ช็„ถ่ฏญ่จ€ๅณ็ผ–็จ‹่ฏญ่จ€็š„ๆ—ถไปฃ๏ผŒๆˆ‘ไปฌ้œ€่ฆ้€š่ฟ‡่ง„ๆ ผ้ฉฑๅŠจ๏ผˆSDD๏ผ‰ไธŽๅคšๆ™บ่ƒฝไฝ“็ผ–ๆŽ’๏ผŒ็ ด่งฃโ€œ็›‘็ฃๆ‚–่ฎบโ€ๅธฆๆฅ็š„ๆŠ€่ƒฝๅนณๅบธๅŒ–ๅฑๆœบ๏ผŒๅฐ† AI ็š„ๆฆ‚็އๆ€ง็”Ÿๆˆ้ฉฏๅŒ–ไธบ็กฎๅฎšๆ€ง็š„ๅทฅ็จ‹ไบคไป˜ใ€‚ๅฝ“็ผ–็ ๆˆๆœฌ่ถ‹ไบŽ้›ถ๏ผŒๅทฅ็จ‹ๅธˆ็š„็ปˆๆžๅฃๅž’ๅฐ†ๆ˜ฏๅฎšไน‰ๅฎŒ็พŽ็š„ๅ“ๅ‘ณ๏ผŒไปฅๅŠๅœจ AI ่ฟท้›พไธญ่ฏ†็ ดๅนณๅบธ็š„ๆดžๅฏŸๅŠ›ใ€‚")])],-1)),o("div",p,[t[3]||(t[3]=i("",4)),o("p",null,[t[1]||(t[1]=o("strong",null,"ๅปถไผธๆ€่€ƒ",-1)),t[2]||(t[2]=r("๏ผš",-1)),e(a,{type:"note",bold:""},{default:n(()=>[...t[0]||(t[0]=[r("ๅทฅ็จ‹ๅ›ข้˜Ÿ่ฆ็”จๅคšๅฐ‘ๅนด๏ผŒๆ‰ไผšๆŠŠ็Žฐๅœจ็š„'ไบบ+AI ๅไฝœๆ–นๅผ'๏ผŒๆฒ‰ๆท€ไธบไธ€ไธช็จณๅฎš็š„ๅทฅ็จ‹่Œƒๅผ๏ผŸ",-1)])]),_:1})])]),t[13]||(t[13]=i("",56)),o("p",null,[t[5]||(t[5]=r("ๆญฃๅฆ‚ๆŠฅๅ‘Šไธญๆ‰€ๆญ็คบ็š„้‚ฃๆ ท๏ผšๆˆ‘ไปฌไธๅบ”ๅ†็บ ็ป“ไบŽๅ•ๅบ”ไปฐๆœ›ๆ›ด้ซ˜ๅบ”ไปฐๆœ›ๆ›ด้ซ˜็ปดๅบฆ็š„ๆ™ฏ่ง‚ใ€‚",-1)),e(a,{bold:""},{default:n(()=>[...t[4]||(t[4]=[r("ๅฝ“ๅ†™ไปฃ็ ๅ˜ๅพ—ไธๅ†ๆ˜‚่ดต๏ผŒๅฏนโ€œไป€ไนˆๆ˜ฏๅฅฝไปฃ็ โ€็š„ๅฎšไน‰ๆƒ๏ผŒไปฅๅŠๅฏนโ€œ็ณป็ปŸไธบไฝ•่€Œๅญ˜ๅœจโ€็š„็†่งฃๅŠ›๏ผŒไพฟๆˆไบ†่ฟ™ไธช่กŒไธšๆœ€ๅŽ็š„็จ€็ผบๅ“",-1)])]),_:1}),t[6]||(t[6]=r("ใ€‚",-1))]),t[14]||(t[14]=o("p",null,"ๆœชๆฅ๏ผŒๆœ€ไผ˜็ง€็š„ๅทฅ็จ‹ๅธˆๆˆ–่ฎธไธๅ†ๆ˜ฏ้‚ฃไธช่ƒฝๆ‰‹ๅ†™ๆž่‡ด็ฎ—ๆณ•็š„ไบบ๏ผŒ่€Œๆ˜ฏ้‚ฃไธช่ƒฝๅœจ้šๆœบ็”Ÿๆˆ็š„่ฟท้›พไธญ๏ผŒๅ‡ญๅ€ŸๆทฑๅŽš็š„ๅบ•ๅฑ‚ๅŠŸๅบ•๏ผŒไธ€็œผ่ฏ†็ ดๅนณๅบธไธŽ้ฃŽ้™ฉ๏ผŒๅนถไธบ AI ๆŒ‡ๆ˜Žๆ–นๅ‘็š„ไบบใ€‚",-1)),o("p",null,[t[8]||(t[8]=r("่Œƒๅผ็š„ๆฒ‰ๆท€ๆˆ–่ฎธไป้œ€ๆ—ถ้—ด๏ผŒ่ฏทๅŠกๅฟ…ๅœจไบซๅ— AI ๆๆ•ˆ็š„ๅŒๆ—ถ๏ผŒๅˆปๆ„ไฟๆŒไฝ ็š„ๆŠ€ๆœฏๅฐ–้”ๅบฆใ€‚ๅ› ไธบ ",-1)),e(a,{type:"warning",bold:""},{default:n(()=>[...t[7]||(t[7]=[r("ๅœจโ€œๆœบๅ™จๆ‰ง่กŒโ€็š„ๆดชๆตไธ‹๏ผŒไบบ็ฑป็š„ๅ“ไฝไธŽ่ดฃไปปๆ„Ÿ๏ผŒไพ็„ถๆ˜ฏ่ฝฏไปถๅทฅ็จ‹ไธญ้‚ฃ้“ๆœ€ๅšๅ›บใ€ไนŸๆœ€ๆธฉๆš–็š„้˜ฒๅพก็บฟ",-1)])]),_:1}),t[9]||(t[9]=r("ใ€‚",-1))])]))}});export{I as __pageData,q as default}; +import{H as a}from"./chunks/HighLightText.BFsbuOsY.js";import{g as l,h as s,i as o,U as i,S as r,z as e,s as n}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const p={class:"tip custom-block"},I=JSON.parse('{"title":"่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘","description":"่ฝฏไปถๅทฅ็จ‹ๆญฃ็ปๅކไปŽโ€œๆ‰‹ๅ†™้€ป่พ‘โ€ๅ‘โ€œๆ„ๅ›พ่ฐƒๅบฆโ€็š„่Œƒๅผ่ฟๅพ™ใ€‚Anthropic ็š„็ ”็ฉถๆญ็คบไบ† AI ๅนถ้ž็ฎ€ๅ•็š„ๆๆ•ˆๅทฅๅ…ท๏ผŒ่€Œๆ˜ฏ้€š่ฟ‡้‡Šๆ”พ 27% ๆ›พ็ปโ€œไธๅˆ’็ฎ—โ€็š„ๅทฅ็จ‹ไปปๅŠก๏ผŒ้‡ๅก‘ไบ†่ฝฏไปถ่ดจ้‡็š„ๅฏ†ๅบฆใ€‚ๅœจ่‡ช็„ถ่ฏญ่จ€ๅณ็ผ–็จ‹่ฏญ่จ€็š„ๆ—ถไปฃ๏ผŒๆˆ‘ไปฌ้œ€่ฆ้€š่ฟ‡่ง„ๆ ผ้ฉฑๅŠจ๏ผˆSDD๏ผ‰ไธŽๅคšๆ™บ่ƒฝไฝ“็ผ–ๆŽ’๏ผŒ็ ด่งฃโ€œ็›‘็ฃๆ‚–่ฎบโ€ๅธฆๆฅ็š„ๆŠ€่ƒฝๅนณๅบธๅŒ–ๅฑๆœบ๏ผŒๅฐ† AI ็š„ๆฆ‚็އๆ€ง็”Ÿๆˆ้ฉฏๅŒ–ไธบ็กฎๅฎšๆ€ง็š„ๅทฅ็จ‹ไบคไป˜ใ€‚ๅฝ“็ผ–็ ๆˆๆœฌ่ถ‹ไบŽ้›ถ๏ผŒๅทฅ็จ‹ๅธˆ็š„็ปˆๆžๅฃๅž’ๅฐ†ๆ˜ฏๅฎšไน‰ๅฎŒ็พŽ็š„ๅ“ๅ‘ณ๏ผŒไปฅๅŠๅœจ AI ่ฟท้›พไธญ่ฏ†็ ดๅนณๅบธ็š„ๆดžๅฏŸๅŠ›ใ€‚","frontmatter":{"date":"2025-12-06T22:05:50.000Z","title":"่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘","description":"่ฝฏไปถๅทฅ็จ‹ๆญฃ็ปๅކไปŽโ€œๆ‰‹ๅ†™้€ป่พ‘โ€ๅ‘โ€œๆ„ๅ›พ่ฐƒๅบฆโ€็š„่Œƒๅผ่ฟๅพ™ใ€‚Anthropic ็š„็ ”็ฉถๆญ็คบไบ† AI ๅนถ้ž็ฎ€ๅ•็š„ๆๆ•ˆๅทฅๅ…ท๏ผŒ่€Œๆ˜ฏ้€š่ฟ‡้‡Šๆ”พ 27% ๆ›พ็ปโ€œไธๅˆ’็ฎ—โ€็š„ๅทฅ็จ‹ไปปๅŠก๏ผŒ้‡ๅก‘ไบ†่ฝฏไปถ่ดจ้‡็š„ๅฏ†ๅบฆใ€‚ๅœจ่‡ช็„ถ่ฏญ่จ€ๅณ็ผ–็จ‹่ฏญ่จ€็š„ๆ—ถไปฃ๏ผŒๆˆ‘ไปฌ้œ€่ฆ้€š่ฟ‡่ง„ๆ ผ้ฉฑๅŠจ๏ผˆSDD๏ผ‰ไธŽๅคšๆ™บ่ƒฝไฝ“็ผ–ๆŽ’๏ผŒ็ ด่งฃโ€œ็›‘็ฃๆ‚–่ฎบโ€ๅธฆๆฅ็š„ๆŠ€่ƒฝๅนณๅบธๅŒ–ๅฑๆœบ๏ผŒๅฐ† AI ็š„ๆฆ‚็އๆ€ง็”Ÿๆˆ้ฉฏๅŒ–ไธบ็กฎๅฎšๆ€ง็š„ๅทฅ็จ‹ไบคไป˜ใ€‚ๅฝ“็ผ–็ ๆˆๆœฌ่ถ‹ไบŽ้›ถ๏ผŒๅทฅ็จ‹ๅธˆ็š„็ปˆๆžๅฃๅž’ๅฐ†ๆ˜ฏๅฎšไน‰ๅฎŒ็พŽ็š„ๅ“ๅ‘ณ๏ผŒไปฅๅŠๅœจ AI ่ฟท้›พไธญ่ฏ†็ ดๅนณๅบธ็š„ๆดžๅฏŸๅŠ›ใ€‚","permalink":"/fullstack/ai-change-work-workflow/","top":true,"tags":["ๅ…จๆ ˆ","AI"],"categories":["ๅ…จๆ ˆ"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/10.่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘.md","filePath":"01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/10.่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘.md"}'),u={name:"01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/10.่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘.md"},q=Object.assign(u,{setup(A){return(d,t)=>(s(),l("div",null,[t[10]||(t[10]=o("div",{style:{display:"none"},hidden:"true","aria-hidden":"true"},"Are you an LLM? You can read better optimized documentation at /01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/10.่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘.md for this page in Markdown format",-1)),t[11]||(t[11]=o("h1",{id:"่ฏป-anthropic-็ ”็ฉถๆŠฅๅ‘Š-ๆŽขๅฏป-ai-ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘",tabindex:"-1"},[r("่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘ "),o("a",{class:"header-anchor",href:"#่ฏป-anthropic-็ ”็ฉถๆŠฅๅ‘Š-ๆŽขๅฏป-ai-ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘","aria-label":"Permalink to โ€œ่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘โ€"},"โ€‹")],-1)),t[12]||(t[12]=o("blockquote",null,[o("p",null,[o("strong",null,"ๆ‘˜่ฆๆ€ป็ป“"),r("๏ผš่ฝฏไปถๅทฅ็จ‹ๆญฃ็ปๅކไปŽโ€œๆ‰‹ๅ†™้€ป่พ‘โ€ๅ‘โ€œๆ„ๅ›พ่ฐƒๅบฆโ€็š„่Œƒๅผ่ฟๅพ™ใ€‚Anthropic ็š„็ ”็ฉถๆญ็คบไบ† AI ๅนถ้ž็ฎ€ๅ•็š„ๆๆ•ˆๅทฅๅ…ท๏ผŒ่€Œๆ˜ฏ้€š่ฟ‡้‡Šๆ”พ 27% ๆ›พ็ปโ€œไธๅˆ’็ฎ—โ€็š„ๅทฅ็จ‹ไปปๅŠก๏ผŒ้‡ๅก‘ไบ†่ฝฏไปถ่ดจ้‡็š„ๅฏ†ๅบฆใ€‚ๅœจ่‡ช็„ถ่ฏญ่จ€ๅณ็ผ–็จ‹่ฏญ่จ€็š„ๆ—ถไปฃ๏ผŒๆˆ‘ไปฌ้œ€่ฆ้€š่ฟ‡่ง„ๆ ผ้ฉฑๅŠจ๏ผˆSDD๏ผ‰ไธŽๅคšๆ™บ่ƒฝไฝ“็ผ–ๆŽ’๏ผŒ็ ด่งฃโ€œ็›‘็ฃๆ‚–่ฎบโ€ๅธฆๆฅ็š„ๆŠ€่ƒฝๅนณๅบธๅŒ–ๅฑๆœบ๏ผŒๅฐ† AI ็š„ๆฆ‚็އๆ€ง็”Ÿๆˆ้ฉฏๅŒ–ไธบ็กฎๅฎšๆ€ง็š„ๅทฅ็จ‹ไบคไป˜ใ€‚ๅฝ“็ผ–็ ๆˆๆœฌ่ถ‹ไบŽ้›ถ๏ผŒๅทฅ็จ‹ๅธˆ็š„็ปˆๆžๅฃๅž’ๅฐ†ๆ˜ฏๅฎšไน‰ๅฎŒ็พŽ็š„ๅ“ๅ‘ณ๏ผŒไปฅๅŠๅœจ AI ่ฟท้›พไธญ่ฏ†็ ดๅนณๅบธ็š„ๆดžๅฏŸๅŠ›ใ€‚")])],-1)),o("div",p,[t[3]||(t[3]=i("",4)),o("p",null,[t[1]||(t[1]=o("strong",null,"ๅปถไผธๆ€่€ƒ",-1)),t[2]||(t[2]=r("๏ผš",-1)),e(a,{type:"note",bold:""},{default:n(()=>[...t[0]||(t[0]=[r("ๅทฅ็จ‹ๅ›ข้˜Ÿ่ฆ็”จๅคšๅฐ‘ๅนด๏ผŒๆ‰ไผšๆŠŠ็Žฐๅœจ็š„'ไบบ+AI ๅไฝœๆ–นๅผ'๏ผŒๆฒ‰ๆท€ไธบไธ€ไธช็จณๅฎš็š„ๅทฅ็จ‹่Œƒๅผ๏ผŸ",-1)])]),_:1})])]),t[13]||(t[13]=i("",56)),o("p",null,[t[5]||(t[5]=r("ๆญฃๅฆ‚ๆŠฅๅ‘Šไธญๆ‰€ๆญ็คบ็š„้‚ฃๆ ท๏ผšๆˆ‘ไปฌไธๅบ”ๅ†็บ ็ป“ไบŽๅ•ๅบ”ไปฐๆœ›ๆ›ด้ซ˜ๅบ”ไปฐๆœ›ๆ›ด้ซ˜็ปดๅบฆ็š„ๆ™ฏ่ง‚ใ€‚",-1)),e(a,{bold:""},{default:n(()=>[...t[4]||(t[4]=[r("ๅฝ“ๅ†™ไปฃ็ ๅ˜ๅพ—ไธๅ†ๆ˜‚่ดต๏ผŒๅฏนโ€œไป€ไนˆๆ˜ฏๅฅฝไปฃ็ โ€็š„ๅฎšไน‰ๆƒ๏ผŒไปฅๅŠๅฏนโ€œ็ณป็ปŸไธบไฝ•่€Œๅญ˜ๅœจโ€็š„็†่งฃๅŠ›๏ผŒไพฟๆˆไบ†่ฟ™ไธช่กŒไธšๆœ€ๅŽ็š„็จ€็ผบๅ“",-1)])]),_:1}),t[6]||(t[6]=r("ใ€‚",-1))]),t[14]||(t[14]=o("p",null,"ๆœชๆฅ๏ผŒๆœ€ไผ˜็ง€็š„ๅทฅ็จ‹ๅธˆๆˆ–่ฎธไธๅ†ๆ˜ฏ้‚ฃไธช่ƒฝๆ‰‹ๅ†™ๆž่‡ด็ฎ—ๆณ•็š„ไบบ๏ผŒ่€Œๆ˜ฏ้‚ฃไธช่ƒฝๅœจ้šๆœบ็”Ÿๆˆ็š„่ฟท้›พไธญ๏ผŒๅ‡ญๅ€ŸๆทฑๅŽš็š„ๅบ•ๅฑ‚ๅŠŸๅบ•๏ผŒไธ€็œผ่ฏ†็ ดๅนณๅบธไธŽ้ฃŽ้™ฉ๏ผŒๅนถไธบ AI ๆŒ‡ๆ˜Žๆ–นๅ‘็š„ไบบใ€‚",-1)),o("p",null,[t[8]||(t[8]=r("่Œƒๅผ็š„ๆฒ‰ๆท€ๆˆ–่ฎธไป้œ€ๆ—ถ้—ด๏ผŒ่ฏทๅŠกๅฟ…ๅœจไบซๅ— AI ๆๆ•ˆ็š„ๅŒๆ—ถ๏ผŒๅˆปๆ„ไฟๆŒไฝ ็š„ๆŠ€ๆœฏๅฐ–้”ๅบฆใ€‚ๅ› ไธบ ",-1)),e(a,{type:"warning",bold:""},{default:n(()=>[...t[7]||(t[7]=[r("ๅœจโ€œๆœบๅ™จๆ‰ง่กŒโ€็š„ๆดชๆตไธ‹๏ผŒไบบ็ฑป็š„ๅ“ไฝไธŽ่ดฃไปปๆ„Ÿ๏ผŒไพ็„ถๆ˜ฏ่ฝฏไปถๅทฅ็จ‹ไธญ้‚ฃ้“ๆœ€ๅšๅ›บใ€ไนŸๆœ€ๆธฉๆš–็š„้˜ฒๅพก็บฟ",-1)])]),_:1}),t[9]||(t[9]=r("ใ€‚",-1))])]))}});export{I as __pageData,q as default}; diff --git "a/assets/01.\345\205\250\346\240\210_10.AI \347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_00.AI\347\274\226\347\250\213\345\267\245\345\205\267\344\270\216\350\265\204\346\272\220.md.CQL4JXm2.js" "b/assets/01.\345\205\250\346\240\210_10.AI \347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_00.AI\347\274\226\347\250\213\345\267\245\345\205\267\344\270\216\350\265\204\346\272\220.md.0WWjtM47.js" similarity index 99% rename from "assets/01.\345\205\250\346\240\210_10.AI \347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_00.AI\347\274\226\347\250\213\345\267\245\345\205\267\344\270\216\350\265\204\346\272\220.md.CQL4JXm2.js" rename to "assets/01.\345\205\250\346\240\210_10.AI \347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_00.AI\347\274\226\347\250\213\345\267\245\345\205\267\344\270\216\350\265\204\346\272\220.md.0WWjtM47.js" index 39325f25..882c9925 100644 --- "a/assets/01.\345\205\250\346\240\210_10.AI \347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_00.AI\347\274\226\347\250\213\345\267\245\345\205\267\344\270\216\350\265\204\346\272\220.md.CQL4JXm2.js" +++ "b/assets/01.\345\205\250\346\240\210_10.AI \347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_00.AI\347\274\226\347\250\213\345\267\245\345\205\267\344\270\216\350\265\204\346\272\220.md.0WWjtM47.js" @@ -1 +1 @@ -import{_ as s,g as l,h as n,U as e,i as t}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const h=JSON.parse('{"title":"AI ็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡ๆทฑๅบฆ่งฃๆžไบ† AI ้ฉฑๅŠจ็ผ–็จ‹็š„ไธ‰ๅคงๆผ”่ฟ›่Œƒๅผ๏ผšVibe Coding๏ผˆ่‡ช็„ถ่ฏญ่จ€้›ถ้—จๆง›ๆž„ๅปบ๏ผ‰ใ€AI IDE๏ผˆ็ผ–่พ‘ๅ™จๆทฑๅบฆ่พ…ๅŠฉๆๆ•ˆ๏ผ‰ๅŠ Agentic Engineering๏ผˆ่‡ชไธปๅทฅ็จ‹ๅธˆๆ‰ง่กŒไปปๅŠก๏ผ‰ใ€‚้€š่ฟ‡ๆจชๅ‘ๅฏนๆฏ” Bolt.newใ€Cursorใ€Claude Code ็ญ‰ๅ‰ๆฒฟๅทฅๅ…ท๏ผŒๆ–‡็ซ ๅ‹พๅ‹’ๅ‡บไธ€ๆกไปŽโ€œๅฟซ้€ŸๅŽŸๅž‹โ€ๅˆฐโ€œ้ซ˜ๆ•ˆๅๅŒโ€ๅ†ๅˆฐโ€œ่‡ชไธปไบคไป˜โ€็š„่ฟ›้˜ถ่ทฏๅพ„ใ€‚ๆ ธๅฟƒๆ—จๅœจๆŒ‡ๅฏผ็”จๆˆทๅˆฉ็”จ AI ๅทฅๅ…ท็Ÿฉ้˜ตๆ‰“็ ดๆŠ€ๆœฏ่พน็•Œ๏ผŒๅฎž็ŽฐไปŽๅˆ›ๆ„ๆ่ฟฐๅˆฐๅทฅไธš็บงไบคไป˜็š„็”ŸไบงๅŠ›้ฃž่ทƒ๏ผŒ้‡ๅก‘่ฝฏไปถๅผ€ๅ‘ๅ…จ็”Ÿๅ‘ฝๅ‘จๆœŸใ€‚","frontmatter":{"date":"2025-11-25T00:52:28.000Z","title":"AI ็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡ๆทฑๅบฆ่งฃๆžไบ† AI ้ฉฑๅŠจ็ผ–็จ‹็š„ไธ‰ๅคงๆผ”่ฟ›่Œƒๅผ๏ผšVibe Coding๏ผˆ่‡ช็„ถ่ฏญ่จ€้›ถ้—จๆง›ๆž„ๅปบ๏ผ‰ใ€AI IDE๏ผˆ็ผ–่พ‘ๅ™จๆทฑๅบฆ่พ…ๅŠฉๆๆ•ˆ๏ผ‰ๅŠ Agentic Engineering๏ผˆ่‡ชไธปๅทฅ็จ‹ๅธˆๆ‰ง่กŒไปปๅŠก๏ผ‰ใ€‚้€š่ฟ‡ๆจชๅ‘ๅฏนๆฏ” Bolt.newใ€Cursorใ€Claude Code ็ญ‰ๅ‰ๆฒฟๅทฅๅ…ท๏ผŒๆ–‡็ซ ๅ‹พๅ‹’ๅ‡บไธ€ๆกไปŽโ€œๅฟซ้€ŸๅŽŸๅž‹โ€ๅˆฐโ€œ้ซ˜ๆ•ˆๅๅŒโ€ๅ†ๅˆฐโ€œ่‡ชไธปไบคไป˜โ€็š„่ฟ›้˜ถ่ทฏๅพ„ใ€‚ๆ ธๅฟƒๆ—จๅœจๆŒ‡ๅฏผ็”จๆˆทๅˆฉ็”จ AI ๅทฅๅ…ท็Ÿฉ้˜ตๆ‰“็ ดๆŠ€ๆœฏ่พน็•Œ๏ผŒๅฎž็ŽฐไปŽๅˆ›ๆ„ๆ่ฟฐๅˆฐๅทฅไธš็บงไบคไป˜็š„็”ŸไบงๅŠ›้ฃž่ทƒ๏ผŒ้‡ๅก‘่ฝฏไปถๅผ€ๅ‘ๅ…จ็”Ÿๅ‘ฝๅ‘จๆœŸใ€‚","permalink":"/ai-learning/ai-coding-resources","coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/source_sites_bg.png","categories":["่ต„ๆบๆŽจ่"],"tags":["่ต„ๆบๆŽจ่","AI","AI Coding","Vibe Coding","Agentic Engineering"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ.md","filePath":"01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ.md"}'),d={name:"01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ.md"};function i(o,a,r,c,g,_){return n(),l("div",null,[...a[0]||(a[0]=[e('

AI ็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่ โ€‹

ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡ๆทฑๅบฆ่งฃๆžไบ† AI ้ฉฑๅŠจ็ผ–็จ‹็š„ไธ‰ๅคงๆผ”่ฟ›่Œƒๅผ๏ผšVibe Coding๏ผˆ่‡ช็„ถ่ฏญ่จ€้›ถ้—จๆง›ๆž„ๅปบ๏ผ‰ใ€AI IDE๏ผˆ็ผ–่พ‘ๅ™จๆทฑๅบฆ่พ…ๅŠฉๆๆ•ˆ๏ผ‰ๅŠ Agentic Engineering๏ผˆ่‡ชไธปๅทฅ็จ‹ๅธˆๆ‰ง่กŒไปปๅŠก๏ผ‰ใ€‚้€š่ฟ‡ๆจชๅ‘ๅฏนๆฏ” Bolt.newใ€Cursorใ€Claude Code ็ญ‰ๅ‰ๆฒฟๅทฅๅ…ท๏ผŒๆ–‡็ซ ๅ‹พๅ‹’ๅ‡บไธ€ๆกไปŽโ€œๅฟซ้€ŸๅŽŸๅž‹โ€ๅˆฐโ€œ้ซ˜ๆ•ˆๅๅŒโ€ๅ†ๅˆฐโ€œ่‡ชไธปไบคไป˜โ€็š„่ฟ›้˜ถ่ทฏๅพ„ใ€‚ๆ ธๅฟƒๆ—จๅœจๆŒ‡ๅฏผ็”จๆˆทๅˆฉ็”จ AI ๅทฅๅ…ท็Ÿฉ้˜ตๆ‰“็ ดๆŠ€ๆœฏ่พน็•Œ๏ผŒๅฎž็ŽฐไปŽๅˆ›ๆ„ๆ่ฟฐๅˆฐๅทฅไธš็บงไบคไป˜็š„็”ŸไบงๅŠ›้ฃž่ทƒ๏ผŒ้‡ๅก‘่ฝฏไปถๅผ€ๅ‘ๅ…จ็”Ÿๅ‘ฝๅ‘จๆœŸใ€‚

1. ไธ‰็ง็ผ–็จ‹่Œƒๅผ้€Ÿ่งˆ โ€‹

่Œƒๅผไธ€ๅฅ่ฏๆ่ฟฐไฝ ็š„่ง’่‰ฒ
Vibe Coding็”จ่‡ช็„ถ่ฏญ่จ€ๆ่ฟฐ้œ€ๆฑ‚๏ผŒAI ็›ดๆŽฅ็”Ÿๆˆๅฏ่ฟ่กŒ็š„ๅฎŒๆ•ด้กน็›ฎๆ่ฟฐ้œ€ๆฑ‚๏ผŒ่ฎฉ AI ๅ†™ไปฃ็ (ๆ–ฐๆ‰‹ๅ‹ๅฅฝ)
AI IDEๅœจ็ผ–่พ‘ๅ™จ้‡Œๅผ•ๅ…ฅ AI ่พ…ๅŠฉ๏ผŒ่พนๅ†™่พน่กฅๅ…จใ€่พน้—ฎ่พนๆ”นไธปๅฏผๅผ€ๅ‘๏ผŒ่ฎฉ AI ๅšๅ‰ฏ้ฉพ้ฉถ(ๆ›ดๅคšๆŽงๅˆถ)
Agentic EngineeringAI ไฝœไธบ"่‡ชไธปๅทฅ็จ‹ๅธˆ"๏ผŒๆŽฅๆ”ถไปปๅŠกๅŽ่‡ชๅŠจ่ง„ๅˆ’ๅนถๆ‰ง่กŒๅ…จๅฅ—ไปฃ็ ๅทฅไฝœๆตๆไปปๅŠกใ€ๅฎก็ป“ๆžœ๏ผŒ่ฎฉ AI ๆ‰ง่กŒ(ๆž่‡ดๆๆ•ˆ)

ๆ–ฐๆ‰‹่ทฏ็บฟๅปบ่ฎฎ๏ผšๅ…ˆ็”จ Bolt.new ๆˆ– v0.dev ไฝ“้ชŒ Vibe Coding ้›ถ้—จๆง›ๅ‡บไบงๅ“็š„ๆ„Ÿ่ง‰ โ†’ ๅ†ๅˆ‡ๆขๅˆฐ Cursor ๅšๆ—ฅๅธธ็ผ–็ ๆๆ•ˆ โ†’ ๆœ€ๅŽๅฐ่ฏ• Claude Code/opencode ไฝ“้ชŒ AI ่‡ชไธปๅฎŒๆˆๅทฅ็จ‹ไปปๅŠก๏ผŒไธ‰ๆญฅๆ„Ÿๅ—"AI ๅฆ‚ไฝ•้‡ๅก‘็ผ–็จ‹ๅทฅไฝœๆต"ใ€‚

ๆณจๆ„๏ผšไฝฟ็”จ Claude Code ็ญ‰ CLI Agent ๅทฅๅ…ท๏ผŒ้œ€่ฆ่ฎข้˜…ๅฎ˜ๆ–นๆจกๅž‹ๆœๅŠก๏ผˆClaude Pro / API๏ผ‰ใ€‚่‹ฅๆš‚ๆ— ่ฎข้˜…๏ผŒๅฏ้€š่ฟ‡้…็ฝฎ่‡ชๅฎšไน‰ๆจกๅž‹ๆœๅŠก๏ผŒๆ”ฏๆŒๅฏนๆŽฅๅ…ผๅฎน ็ฌฌไธ‰ๆ–นๆœๅŠก๏ผˆๅฆ‚ GLMใ€DeepSeekใ€้€šไน‰ๅƒ้—ฎ๏ผ‰๏ผŒๅฎž็ŽฐไฝŽๆˆๆœฌไธŠๆ‰‹ใ€‚

2. Vibe Coding โ€” ็”จ่‡ช็„ถ่ฏญ่จ€"่ฏด"ๅ‡บไธ€ไธชๅบ”็”จ โ€‹

2.1 ๅ…ณ้”ฎ็‚น่ฏดๆ˜Ž โ€‹

้€‚ๅˆไบบ็พค๏ผšไบงๅ“็ป็†ใ€่ฎพ่ฎกๅธˆใ€ๅˆ›ไธš่€…๏ผŒๆˆ–ๆƒณๅฟซ้€Ÿ้ชŒ่ฏๆƒณๆณ•็š„้žไธ“ไธšๅผ€ๅ‘่€…ใ€‚

ๆ ธๅฟƒไปทๅ€ผ๏ผšไปŽไธ€ๆฎตๆ–‡ๅญ—ๆ่ฟฐๅˆฐๅฏ่ฟ่กŒ็š„ Web ๅบ”็”จ๏ผŒๆ— ้œ€ๆญๅปบๅผ€ๅ‘็Žฏๅขƒ๏ผ›ๅคฉ็”Ÿ้€‚ๅˆ MVP ๅŽŸๅž‹้ชŒ่ฏ ไธŽ UI ๅฟซ้€Ÿ่ฟญไปฃใ€‚

ๅฆ‚ไฝ•ไธŠๆ‰‹๏ผšๆ‰“ๅผ€็ฝ‘็ซ™ โ†’ ๅœจ่พ“ๅ…ฅๆก†ๆ่ฟฐไฝ ็š„ๅบ”็”จ๏ผˆๅฆ‚"ๅšไธ€ไธช็•ช่Œ„้’Ÿ App๏ผŒๆœ‰ๅผ€ๅง‹ๆš‚ๅœๆŒ‰้’ฎ๏ผŒๅฎŒๆˆๅŽๆœ‰ๆ็คบ้Ÿณ"๏ผ‰โ†’ AI ็”Ÿๆˆไปฃ็ ๅนถๅฎžๆ—ถ้ข„่งˆ โ†’ ็ปง็ปญๅฏน่ฏ่ฟญไปฃๅŠŸ่ƒฝใ€‚

',10),t("div",{class:"container nav-card-container"},[t("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[t("a",{href:"https://bolt.new/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://bolt.new/static/favicon-192x192.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Bolt.new")]),t("p",{class:"desc"},"StackBlitz ๆŽจๅ‡บ็š„ๅ…จๆ ˆ AI ๅผ€ๅ‘ๅนณๅฐ๏ผŒๅœจๆต่งˆๅ™จไธญ็›ดๆŽฅ็”Ÿๆˆๅนถ่ฟ่กŒๅฎŒๆ•ด็š„ React ้กน็›ฎ๏ผŒๆ”ฏๆŒๅคš่ฝฎๅฏน่ฏ่ฟญไปฃ๏ผŒๅฏไธ€้”ฎ้ƒจ็ฝฒๅˆฐ Netlify / Vercel๏ผŒ้›ถ็Žฏๅขƒ้…็ฝฎไปŽๆ่ฟฐๅˆฐไธŠ็บฟๅ…จ้“พ่ทฏๆ‰“้€šใ€‚"),t("span",{class:"VPBadge tip badge"},"ไธ€้”ฎ้ƒจ็ฝฒ")]),t("a",{href:"https://v0.dev/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://v0.app/assets/icon-dark-32x32.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"v0 (Vercel)")]),t("p",{class:"desc"},"Vercel ๆŽจๅ‡บ็š„ UI ็ป„ไปถ็”Ÿๆˆๅทฅๅ…ท๏ผŒไธ“ๆณจๅ‰็ซฏ็•Œ้ข๏ผš็”จ่‡ช็„ถ่ฏญ่จ€ๆ่ฟฐ็•Œ้ข๏ผŒ็”Ÿๆˆ React + Tailwind CSS + shadcn/ui ็ป„ไปถไปฃ็ ๏ผŒๅฏ็›ดๆŽฅๅคๅˆถ่ฟ›้กน็›ฎ๏ผŒๅคฉ็”ŸไธŽ Next.js ็”Ÿๆ€ๆ— ็ผ่ก”ๆŽฅ๏ผŒ้žๅธธ้€‚ๅˆๅ‰็ซฏ UI ็š„ๅฟซ้€ŸๅŽŸๅž‹ใ€‚"),t("span",{class:"VPBadge tip badge"},"UI ็”Ÿๆˆ")]),t("a",{href:"https://lovable.dev/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://lovable.dev/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Lovable")]),t("p",{class:"desc"},"้ขๅ‘้žๆŠ€ๆœฏ็”จๆˆท็š„ AI ๅ…จๆ ˆๅบ”็”จ็”Ÿๆˆๅ™จ๏ผŒ่พ“ๅ…ฅไบงๅ“ๆƒณๆณ•็”Ÿๆˆๅ‰ๅŽ็ซฏๅฎŒๆ•ดๅบ”็”จ๏ผŒๅ†…็ฝฎ Supabase ๆ•ฐๆฎๅบ“้›†ๆˆไธŽไธ€้”ฎ้ƒจ็ฝฒ๏ผŒๆ”ฏๆŒๅฎžๆ—ถ้ข„่งˆๅ’Œๅคš่ฝฎๅฏน่ฏไฟฎๆ”น๏ผŒ่ฎฉๆฒกๆœ‰็ผ–็จ‹ๅŸบ็ก€็š„ไบบไนŸ่ƒฝ็‹ฌ็ซ‹ๅšๅ‡บๅฏไธŠ็บฟ็š„ Web ไบงๅ“ใ€‚"),t("span",{class:"VPBadge tip badge"},"ๆ— ไปฃ็ ๅ…จๆ ˆ")]),t("a",{href:"https://replit.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://replit.com/public/icons/favicon-prompt-192.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Replit Agent")]),t("p",{class:"desc"},"ไบ‘็ซฏๅœจ็บฟ IDE Replit ๅ†…็ฝฎ็š„ AI Agent๏ผŒ่ƒฝไปŽ้œ€ๆฑ‚ๆ่ฟฐ่‡ชๅŠจ็”ŸๆˆๅฎŒๆ•ด้กน็›ฎใ€ๅฎ‰่ฃ…ไพ่ต–ใ€่ฟ่กŒ่ฐƒ่ฏ•๏ผŒๅ…จ็จ‹ๅœจๆต่งˆๅ™จๅ†…ๅฎŒๆˆ๏ผŒๅ†…็ฝฎๆ‰˜็ฎกไธŽๅˆ†ไบซๅŠŸ่ƒฝ๏ผŒ้›ถๆœฌๅœฐ็Žฏๅขƒ่ฆๆฑ‚๏ผŒ้€‚ๅˆๅฟซ้€ŸๅŽŸๅž‹ๅ’Œๅœจ็บฟๅญฆไน ็ผ–็จ‹ใ€‚"),t("span",{class:"VPBadge tip badge"},"ไบ‘็ซฏๅ…จๆ ˆ")]),t("a",{href:"https://same.dev/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://same.dev/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Same.dev")]),t("p",{class:"desc"},'ไธ“ๆณจ"ๅ…‹้š†ไปปๆ„็ฝ‘็ซ™ UI"็š„ AI ็ผ–็ ๅทฅๅ…ท๏ผŒ่พ“ๅ…ฅ็›ฎๆ ‡็ฝ‘็ซ™ URL๏ผŒAI ่‡ชๅŠจ่ฟ˜ๅŽŸๅ…ถ็•Œ้ขๅนถ็”Ÿๆˆๅฏนๅบ”ๅ‰็ซฏไปฃ็ ๏ผŒ้€‚ๅˆๅญฆไน ๅ‚่€ƒไผ˜็ง€่ฎพ่ฎกใ€ๅฟซ้€Ÿๅค็Žฐ็ซžๅ“็•Œ้ข๏ผŒไปฅๅŠๅปบ็ซ™ๅˆๅง‹ๆจกๆฟๅฟซ้€Ÿๆญๅปบใ€‚'),t("span",{class:"VPBadge tip badge"},"UI ๅ…‹้š†")]),t("a",{href:"https://www.miaoda.cn/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://resource-static.cdn.bcebos.com/img/favicon.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"็ง’ๅ“’ Miaoda")]),t("p",{class:"desc"},'็™พๅบฆๅ‡บๅ“็š„ๆ— ไปฃ็ ๅบ”็”จๆญๅปบๅนณๅฐ๏ผŒๅฃๅท"ไธ€ๅฅ่ฏๅšๅบ”็”จ"ใ€‚ๅœจ่พ“ๅ…ฅๆก†็”จ่‡ช็„ถ่ฏญ่จ€ๆ่ฟฐ้œ€ๆฑ‚๏ผŒๅณๅฏไธ€้”ฎ็”Ÿๆˆๅฏ้ƒจ็ฝฒ็š„ Web ๅบ”็”จๆˆ–ๅพฎไฟกๅฐ็จ‹ๅบ๏ผ›ๅ†…็ฝฎๆทฑๅบฆๅผ€ๅ‘ๆจกๅผใ€ๆ’ไปถๅธ‚ๅœบไธŽ้ฃŽๆ ผๅฎšๅˆถ๏ผŒๅธฎๅŠฉๆƒณๆณ•ไปŽๆ่ฟฐ็›ด่พพๆˆๅ“ใ€‚้…ๅฅ—"ๅบ”็”จๅนฟๅœบ"ๆฑ‡่š็คพๅŒบไฝœๅ“๏ผŒๅฏๆต่งˆใ€็‚น่ตžๅนถๅ‚่€ƒไป–ไบบๆกˆไพ‹๏ผŒ้€‚ๅˆไบงๅ“ๅŽŸๅž‹ๅฟซ้€Ÿ้ชŒ่ฏใ€ๅญฆไน ๅ‚่€ƒไธŽๆผ”็คบๅฑ•็คบใ€‚'),t("span",{class:"VPBadge tip badge"},"ไธญๆ–‡ไฝ“้ชŒไฝณ")])])],-1),e('

2.2 ๅ…ญๆฌพๅทฅๅ…ทๆจชๅ‘ๅฏนๆฏ” โ€‹

๐Ÿ’ก ๅฟซ้€Ÿ้€‰ๆ‹ฉๅปบ่ฎฎ

  • ่ฆๅšๅฎŒๆ•ดๅ…จๆ ˆ Web ๅนถ็›ดๆŽฅไธŠ็บฟ โ†’ Bolt.new๏ผˆๆˆ็†Ÿๅบฆๆœ€้ซ˜๏ผ‰
  • ๅช้œ€ๅ‰็ซฏ UI ็ป„ไปถๅตŒๅ…ฅ็Žฐๆœ‰้กน็›ฎ โ†’ v0
  • ้žๆŠ€ๆœฏ่ƒŒๆ™ฏๆƒณ็‹ฌ็ซ‹ๅšๅ‡บๆœ‰ๆ•ฐๆฎๅบ“็š„ไบงๅ“ โ†’ Lovable
  • ๆƒณๅœจ็บฟๅญฆ็ผ–็จ‹ๆˆ–ไฝฟ็”จ Python / Go ็ญ‰้ž React ่ฏญ่จ€ โ†’ Replit Agent
  • ๆ‰‹ๅคดๆœ‰ๅ‚่€ƒ็ฝ‘็ซ™ๆƒณ็›ดๆŽฅ่ฟ˜ๅŽŸๅ…ถ็•Œ้ข โ†’ Same.dev
  • ไธญๆ–‡็”จๆˆทๆˆ–็›ฎๆ ‡ๅนณๅฐๆ˜ฏๅพฎไฟกๅฐ็จ‹ๅบ โ†’ ็ง’ๅ“’ Miaoda
ๅทฅๅ…ทๆ ธๅฟƒๅฎšไฝ่พ“ๅ‡บๅฝขๆ€ๆŠ€ๆœฏๆ ˆๆœ€้€‚ๅœบๆ™ฏไธŠๆ‰‹้—จๆง›
Bolt.newๅบ”็”จ็”ŸๆˆๅฎŒๆ•ด Web ๅบ”็”จReactๅฟซ้€Ÿ็”Ÿๆˆๅฏ้ƒจ็ฝฒๅ…จๆ ˆ Demoโญ
v0UI ็ป„ไปถ็”ŸๆˆReact ็ป„ไปถไปฃ็ ็‰‡ๆฎตReact + Tailwind + shadcn/uiๅ‰็ซฏ็•Œ้ขๅฟซ้€Ÿๅ‡บๅ›พ๏ผŒๅตŒๅ…ฅ Next.js ้กน็›ฎโญ
Lovable้›ถไปฃ็ ๅ…จๆ ˆๅปบ็ซ™ๅซๆ•ฐๆฎๅบ“็š„ๅฎŒๆ•ด Web ไบงๅ“ๅ‰็ซฏ + Supabase ๅŽ็ซฏ้žๆŠ€ๆœฏไบบๅ‘˜็‹ฌ็ซ‹ๅšๅ‡บๅฏไธŠ็บฟไบงๅ“โญ
Replit Agentไบ‘็ซฏๅคš่ฏญ่จ€ๅ…จๆ ˆๅคš่ฏญ่จ€ๅฎŒๆ•ด้กน็›ฎPython / JS / Go ็ญ‰ๅคš่ฏญ่จ€ๅœจ็บฟๅญฆ็ผ–็จ‹ใ€้ž React ๆŠ€ๆœฏๆ ˆๅŽŸๅž‹โญโญ
Same.dev็ฝ‘็ซ™ UI ๅ…‹้š†ๅ‰็ซฏ้กต้ข่ฟ˜ๅŽŸไปฃ็ ๅ‰็ซฏ๏ผˆURL โ†’ ไปฃ็ ๏ผ‰ๅ‚่€ƒ็ซžๅ“่ฎพ่ฎกใ€ๅฟซ้€Ÿ่Žทๅ–ๅปบ็ซ™ๅˆๅง‹ๆจกๆฟโญ
็ง’ๅ“’ Miaodaๆ— ไปฃ็ ๅบ”็”จๆญๅปบWeb ๅบ”็”จ / ๅพฎไฟกๅฐ็จ‹ๅบWeb + ๅฐ็จ‹ๅบๅŒ็ซฏไธญๆ–‡ไธ€ๅฅ่ฏๅ‡บๅŽŸๅž‹๏ผŒๅฐคๅ…ถ้€‚ๅˆๅฐ็จ‹ๅบโญ

3. AI IDE โ€” ไธŽไปฃ็ ็ผ–่พ‘ๅ™จๆทฑๅบฆ่žๅˆ โ€‹

3.1 ๅ…ณ้”ฎ็‚น่ฏดๆ˜Ž โ€‹

้€‚ๅˆไบบ็พค๏ผšๆœ‰ไธ€ๅฎš็ผ–็จ‹ๅŸบ็ก€ใ€่ฟฝๆฑ‚็ ”ๅ‘ๆ•ˆ็އ็š„ๅผ€ๅ‘่€…ใ€‚

ๆ ธๅฟƒไปทๅ€ผ๏ผšไธŠไธ‹ๆ–‡ๆ„Ÿ็Ÿฅ่กฅๅ…จ + ่‡ช็„ถ่ฏญ่จ€ๅฏน่ฏๆ”นไปฃ็  + Agent ่‡ชไธปๅคšๆ–‡ไปถ้‡ๆž„๏ผŒ่ฎฉ"ๅ†™ไปฃ็ "ๅ˜ๆˆ"ๆ่ฟฐ + ็กฎ่ฎค"ใ€‚

ๅฆ‚ไฝ•ไธŠๆ‰‹๏ผšๅฎ‰่ฃ…ๅฏนๅบ”ๅทฅๅ…ท โ†’ ๆ‰“ๅผ€้กน็›ฎ โ†’ ็”จๅฟซๆท้”ฎๅ‘ผๅ‡บ AI ๅฏน่ฏๆก†๏ผˆๅฆ‚ Cursor ็š„ Cmd+K๏ผ‰โ†’ ็”จ่‡ช็„ถ่ฏญ่จ€ๆ่ฟฐ่ฆๆ”นไป€ไนˆ โ†’ ็กฎ่ฎคๅทฎๅผ‚ๅŽๅบ”็”จใ€‚

',6),t("div",{class:"container nav-card-container"},[t("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[t("a",{href:"https://www.cursor.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://www.cursor.com/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Cursor")]),t("p",{class:"desc"},"ๅŸบไบŽ VS Code ๆทฑๅบฆๆ”น้€ ็š„ AI ๅŽŸ็”Ÿ IDE๏ผŒไธ‰ๅคงๆ ธๅฟƒ่ƒฝๅŠ›๏ผšโ‘  Tab ๆ™บ่ƒฝ่กฅๅ…จ๏ผˆๆ„Ÿ็ŸฅไธŠไธ‹ๆ–‡ๅคšๆ–‡ไปถ๏ผ‰๏ผ›โ‘ก Cmd+K ่กŒๅ†…็”ŸๆˆไธŽไฟฎๆ”น๏ผ›โ‘ข Cursor Agent ๅฏ่‡ชไธป่ง„ๅˆ’ใ€่ฏปๅ†™ๅคšๆ–‡ไปถใ€่ฟ่กŒ็ปˆ็ซฏๅฎŒๆˆๅคๆ‚ไปปๅŠกใ€‚ๆ˜ฏ็›ฎๅ‰ๅฃ็ข‘ๆœ€ๅฅฝ็š„ AI ็ผ–็จ‹ๅทฅๅ…ทใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅผบ็ƒˆๆŽจ่")]),t("a",{href:"https://www.trae.cn/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://lf-cdn.trae.com.cn/obj/trae-com-cn/trae_website_prod_cn/favicon.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Trae IDE")]),t("p",{class:"desc"},'ๅ›ฝๅ†…ๅ‡บๅ“็š„ AI ๅŽŸ็”Ÿ IDE๏ผŒ"The Real AI Engineer๏ผˆ็œŸๆญฃ็š„ AI ๅทฅ็จ‹ๅธˆ๏ผ‰"๏ผŒๅ…่ดนๅฏ็”จใ€‚ไธ‰ๅคงๆ ธๅฟƒ่ƒฝๅŠ›๏ผšโ‘  ๆ™บ่ƒฝ่กฅๅ…จไธŽๅฏน่ฏๅผๆ”นไปฃ็ ๏ผ›โ‘ก ๅคšๆ–‡ไปถ Agent ่‡ชไธป้‡ๆž„๏ผŒๅ…จ้ขๅฏนๆ ‡ Cursor๏ผ›โ‘ข **ๆ•ฐๆฎๅฎ‰ๅ…จไผ˜ๅ…ˆ** โ€” ๅšๆŒ"ๆœฌๅœฐไผ˜ๅ…ˆใ€ๆœ€ๅฐๅŒ–ๆ•ฐๆฎๆ”ถ้›†"ๅŽŸๅˆ™๏ผŒๅ†…็ฝฎ้š็งๆจกๅผ๏ผŒไปฃ็ ้ป˜่ฎคๅญ˜ไบŽๆœฌๅœฐใ€‚ๅฆๆไพ› SOLO ๅœจ็บฟ่ฝป้‡็‰ˆไพ›ๅฟซ้€Ÿไฝ“้ชŒ๏ผŒ้€‚ๅˆๅ…ณๆณจๆ•ฐๆฎไธปๆƒ็š„ๅ›ฝๅ†…ๅผ€ๅ‘่€…ไธŽๆœ‰ๅˆ่ง„่ฆๆฑ‚็š„ไผไธšๅ›ข้˜Ÿใ€‚'),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅ†…่‡ชไธปๆ”ฏๆŒ")]),t("a",{href:"https://windsurf.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://codeium.com/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Windsurf")]),t("p",{class:"desc"},'Codeium ๅ‡บๅ“็š„ AI ๅŽŸ็”Ÿ IDE๏ผŒ็Žฐๅทฒ่ฟ่‡ณ็‹ฌ็ซ‹ๅŸŸๅ windsurf.com๏ผŒๅฃๅท"ๅผ€ๅ‘่€…ๅšๅ‡บๆœ€ไฝณๅทฅไฝœ็š„ๅœฐๆ–น"ใ€‚ไธคๅคงๆ ธๅฟƒ่ƒฝๅŠ›๏ผšโ‘  **Cascade Agent** โ€” ่ƒฝๅ‰็žป 10 ๆญฅไปฅไธŠ๏ผŒ่‡ชๅŠจ่ง„ๅˆ’ใ€็ผ–็ ใ€ไฟฎๅค Bug๏ผŒๆทฑๅบฆ็†่งฃๆ•ดไธชไปฃ็ ๅบ“ๅนถไธฒ่”ๅคšๆญฅ้ชคไปปๅŠก๏ผ›โ‘ก **Windsurf Tab** โ€” ไธ€้”ฎ่กฅๅ…จไปฃ็ ใ€่ทณ่ฝฌๅ…‰ๆ ‡ใ€่‡ชๅŠจๅฏผๅ…ฅไพ่ต–๏ผŒไฟๆŒๅผ€ๅ‘"ๅฟƒๆต"ไธไธญๆ–ญใ€‚ๆ”ฏๆŒ GPT-4.5ใ€Gemini ็ญ‰ไธปๆตๆจกๅž‹๏ผŒๆไพ›ไธชไบบๅ…่ดน็‰ˆไธŽไผไธš็‰ˆใ€‚'),t("span",{class:"VPBadge tip badge"},"ๅˆ†ๆžไปฃ็ ")])])],-1),e('

3.2 ไธ‰ๆฌพๅทฅๅ…ทๆจชๅ‘ๅฏนๆฏ” โ€‹

๐Ÿ’ก ้€‰ๆ‹ฉๅปบ่ฎฎ

  • ่ฟฝๆฑ‚ๅฃ็ข‘ๆœ€ไฝณ + ็”Ÿๆ€ๆœ€ๆˆ็†Ÿ็š„ AI IDE โ†’ Cursor๏ผˆ็คพๅŒบ่ต„ๆบๆœ€ไธฐๅฏŒ๏ผ‰
  • ๆœ‰ๆ•ฐๆฎๅฎ‰ๅ…จ / ๅˆ่ง„่ฆๆฑ‚๏ผŒๆˆ–ๆƒณ่ฆๅ…่ดน็š„ๅ›ฝไบงๆ–นๆกˆ โ†’ Trae IDE
  • ๅ–œๆฌข AI ่‡ชๅŠจไธฒ่”ๅคšๆญฅไปปๅŠก๏ผŒไบซๅ—ไธไธญๆ–ญ็š„"ๅฟƒๆต"็ผ–็จ‹ไฝ“้ชŒ โ†’ Windsurf
  • ไธ‰ๆฌพๅ‡ๅŸบไบŽ VS Code ๆ”น้€ ๏ผŒ็Žฐๆœ‰ VS Code ๆ’ไปถๅ’Œๅฟซๆท้”ฎไน ๆƒฏๅ‡ๅฏๆ— ็ผ่ฟ็งป
ๅทฅๅ…ทๆ ธๅฟƒ็‰น่‰ฒAgent ่ƒฝๅŠ›ๆ•ฐๆฎๅฎ‰ๅ…จ่ดน็”จๆœ€้€‚ๅœบๆ™ฏ
Cursorๅคšๆ–‡ไปถไธŠไธ‹ๆ–‡ๆ„Ÿ็Ÿฅ่กฅๅ…จ + Cmd+K ่กŒๅ†…็”Ÿๆˆๅผบ โ€” ๅคšๆ–‡ไปถ่ง„ๅˆ’ + ็ปˆ็ซฏๆ‰ง่กŒไธ€่ˆฌ๏ผˆไปฃ็ ๅ‘ๅพ€ไบ‘็ซฏ๏ผ‰ๅ…่ดน้ขๅบฆ + ่ฎข้˜…ๆ—ฅๅธธๅŠŸ่ƒฝๅผ€ๅ‘ใ€ๅคšๆ–‡ไปถ้‡ๆž„ใ€ไปฃ็  Review
Trae IDEๅ›ฝไบงๅ…่ดน + ๆœฌๅœฐไผ˜ๅ…ˆๆ•ฐๆฎๅฎ‰ๅ…จๅผบ โ€” ๅฏนๆ ‡ Cursor๏ผŒๅซๅœจ็บฟ SOLO ็‰ˆๆœฌๅœฐไผ˜ๅ…ˆ + ้š็งๆจกๅผๅ…่ดนๆœ‰ๅˆ่ง„้œ€ๆฑ‚็š„ๅ›ฝๅ†…ๅ›ข้˜Ÿใ€ไธชไบบๆ—ฅๅธธๅผ€ๅ‘
WindsurfCascade ๅ‰็žป่ง„ๅˆ’ + Tab ไธ€้”ฎๅฟƒๆตๅผบ โ€” ๅ‰็žป 10 ๆญฅใ€่‡ชๅŠจไธฒ่”ๅคšๆญฅไปปๅŠกไธ€่ˆฌ๏ผˆไปฃ็ ๅ‘ๅพ€ไบ‘็ซฏ๏ผ‰ๅ…่ดน้ขๅบฆ + ่ฎข้˜…ๅคๆ‚ๅคšๆญฅไปปๅŠก่‡ชๅŠจๆ‰ง่กŒใ€่ฟฝๆฑ‚"ๅฟƒๆต"ๅผ€ๅ‘ไฝ“้ชŒ

4. Agentic Engineering โ€” AI ่‡ชไธปๅฎŒๆˆๅทฅ็จ‹ไปปๅŠก โ€‹

4.1 ๅ…ณ้”ฎ็‚น่ฏดๆ˜Ž โ€‹

้€‚ๅˆไบบ็พค๏ผšๅธŒๆœ›ๅฐ†ๅฎŒๆ•ดๅทฅ็จ‹ไปปๅŠกไบค็ป™ AI ่‡ชไธปๅค„็†็š„่ต„ๆทฑๅผ€ๅ‘่€…ๆˆ–ๅ›ข้˜Ÿใ€‚

ๆ ธๅฟƒไปทๅ€ผ๏ผšAI ไธๅ†ๅชๆ˜ฏ"ๅ‰ฏ้ฉพ้ฉถ"๏ผŒ่€Œๆ˜ฏ่ƒฝ่‡ชไธป่ฏปๅ–ไปฃ็ ๅบ“ใ€่ฟ่กŒๆต‹่ฏ•ใ€ไฟฎๅค Bugใ€็”š่‡ณๆไบค PR ็š„"่‡ชไธปๅทฅ็จ‹ๅธˆ"๏ผŒ้€‚ๅˆ Bug ไฟฎๅคใ€ๅŠŸ่ƒฝ่ฟญไปฃใ€ไปฃ็ ้‡ๆž„็ญ‰ๅฎŒๆ•ดๅทฅ็จ‹ๅ‘จๆœŸใ€‚

ๅฆ‚ไฝ•ไธŠๆ‰‹๏ผˆไปฅ Claude Code ไธบไพ‹๏ผ‰๏ผšnpm install -g @anthropic-ai/claude-code โ†’ ๅœจ้กน็›ฎๆ น็›ฎๅฝ•ๆ‰ง่กŒ claude โ†’ ่พ“ๅ…ฅไปปๅŠก๏ผˆๅฆ‚"ๅธฎๆˆ‘ๆ‰พๅ‡บ #123 ่ฟ™ไธช Bug ็š„ๆ นๅ› ๏ผŒๅ†™ๅฅฝๆต‹่ฏ•ๅŽๆไบค"๏ผ‰โ†’ Claude Code ่‡ชไธป่ฏปๅ–ไปฃ็ ๅบ“ใ€ๆ‰ง่กŒๅ‘ฝไปคๅนถ้€ๆญฅๅ้ฆˆ๏ผŒๅฎกๆŸฅๅŽ็กฎ่ฎคๆไบคใ€‚

',6),t("div",{class:"container nav-card-container"},[t("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[t("a",{href:"https://claude-update-code.squarespace.com/?gad_source=1&gad_campaignid=23635038607&gbraid=0AAAAADBLX79DSBI8Ftftv8_FSgjubKKve&gclid=CjwKCAiAtq_NBhA_EiwA78nNWBwq9FGhmQLtwZ0ImoSZ5098wJU2cJMAwk8pHy9DtfDpt6Zf_TzDNhoCptgQAvD_BwE",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://claude.ai/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Claude Code")]),t("p",{class:"desc"},'Anthropic ๅฎ˜ๆ–นๆŽจๅ‡บ็š„ๅ‘ฝไปค่กŒ AI ็ผ–็จ‹ Agent๏ผŒๅœจ็ปˆ็ซฏไธญ็›ดๆŽฅไธŽไปฃ็ ๅบ“ๆทฑๅบฆๅฏน่ฏ๏ผŒๆ”ฏๆŒๅคšๆ–‡ไปถ่ฏปๅ†™ใ€ๆ‰ง่กŒ Shell ๅ‘ฝไปคใ€Git ๆ“ไฝœ๏ผŒ่ƒฝๅคŸๅฎŒๆˆ"่ฏปๆ‡‚ๆ•ดไธชไปฃ็ ๅบ“โ†’ๅˆถๅฎšๆ–นๆกˆโ†’้€ๆญฅๆ‰ง่กŒ"็š„ๅฎŒๆ•ดๅทฅ็จ‹ไปปๅŠกๆต๏ผŒๆ˜ฏๆœ€่ดด่ฟ‘็œŸๅฎžๅทฅ็จ‹ๆต็จ‹็š„็ปˆ็ซฏ Agentใ€‚'),t("span",{class:"VPBadge tip badge"},"CLI Agent")]),t("a",{href:"https://opencode.ai",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://opencode.ai/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"opencode")]),t("p",{class:"desc"},"ๅผ€ๆบ AI ็ผ–็จ‹ไปฃ็†๏ผŒClaude Code ็š„ๅผ€ๆบๅนณๆ›ฟ๏ผŒๅ†…็ฝฎๅ…่ดนๆจกๅž‹๏ผŒไนŸๅฏ้…็ฝฎใ€่ฟžๆŽฅไปปๆ„ๆไพ›ๅ•†็š„ไปปๆ„ๆจกๅž‹๏ผŒๅŒ…ๆ‹ฌ Claudeใ€GPTใ€Gemini๏ผŒไปฅๅŠๅ›ฝๅ†…ๆจกๅž‹ใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅผ€ๆบ CLI Agent")]),t("a",{href:"https://devin.ai/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://devin.ai/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Devin")]),t("p",{class:"desc"},'ๅ…จ็ƒ้ฆ–ไธชๅ•†็”จ"AI ่ฝฏไปถๅทฅ็จ‹ๅธˆ"๏ผŒ่ƒฝๆŽฅๆ”ถ GitHub Issue ๆˆ–่‡ช็„ถ่ฏญ่จ€ไปปๅŠก๏ผŒ่‡ชไธปๆต่งˆๆ–‡ๆกฃใ€ๆœ็ดข่ต„ๆ–™ใ€็ผ–ๅ†™ไปฃ็ ใ€่ฟ่กŒๆต‹่ฏ•ๅนถๆไบค PR๏ผŒๅ…ทๅค‡ๅฎŒๆ•ดๅทฅ็จ‹ไปปๅŠก่‡ชไธปๆ‰ง่กŒ้—ญ็Žฏ๏ผŒๆ˜ฏ Agentic Engineering ็š„่กŒไธšๆ ‡ๆ†ใ€‚'),t("span",{class:"VPBadge tip badge"},"่‡ชไธป Agent ๆ ‡ๆ†")]),t("a",{href:"https://github.com/All-Hands-AI/OpenHands",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://github.githubassets.com/favicons/favicon.svg",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"OpenHands")]),t("p",{class:"desc"},"ๅ‰ OpenDevin๏ผŒๅฎŒๅ…จๅผ€ๆบ็š„ AI ่ฝฏไปถๅทฅ็จ‹ๅธˆๅนณๅฐ๏ผŒDevin ็š„ๅผ€ๆบๅฏ่‡ชๆ‰˜็ฎกๆ›ฟไปฃๆ–นๆกˆ๏ผŒๅฏๆœฌๅœฐ Docker ้ƒจ็ฝฒ๏ผŒๆ”ฏๆŒๆŽฅๅ…ฅๅคš็ง LLM๏ผˆGPT / Claude / DeepSeek ็ญ‰๏ผ‰๏ผŒ่‡ชไธปๆ‰ง่กŒไปฃ็ ๅบ“ไปปๅŠกใ€่ฟ่กŒ Shell ๅ‘ฝไปคใ€ๆต่งˆ็ฝ‘้กตๆŸฅ้˜…ๆ–‡ๆกฃใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅผ€ๆบๅฏ่‡ช้ƒจ็ฝฒ")]),t("a",{href:"https://www.augmentcode.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://www.augmentcode.com/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Augment Code")]),t("p",{class:"desc"},"ไธ“ไธบๅคงๅž‹ไปฃ็ ๅบ“่ฎพ่ฎก็š„ AI ็ผ–็จ‹ Agent ๅนณๅฐ๏ผŒ่ƒฝๆทฑๅบฆ็ดขๅผ•ไผไธš็บงไปฃ็ ๅบ“๏ผˆ็™พไธ‡่กŒ็บงๅˆซ๏ผ‰๏ผŒๆไพ›็ฒพๅ‡†็š„ไธŠไธ‹ๆ–‡ๆ„Ÿ็Ÿฅ่กฅๅ…จๅ’Œ Agent ไปปๅŠกๆ‰ง่กŒ๏ผŒ้€‚ๅˆไธญๅคงๅž‹ๅ›ข้˜Ÿๅœจๅทฒๆœ‰ๅคๆ‚ไปฃ็ ๅบ“ไธŠ่ฟ›่กŒ AI ่พ…ๅŠฉๅผ€ๅ‘ใ€‚"),t("span",{class:"VPBadge tip badge"},"ไผไธš็บง Agent")])])],-1),e('

4.2 ไบ”ๆฌพ Agentic ๅทฅๅ…ทๆจชๅ‘ๅฏนๆฏ” โ€‹

้€‰ๅž‹ๅปบ่ฎฎ

  • ไธชไบบ / ๅฐ้กน็›ฎ๏ผšไผ˜ๅ…ˆ Claude Code๏ผˆไฝ“้ชŒๆœ€ๆต็•…๏ผ‰๏ผŒๆ— ่ฎข้˜…ๅˆ™็”จ opencode ๆŽฅๅ…ฅไฝŽๆˆๆœฌๆจกๅž‹ๅนณๆ›ฟใ€‚
  • ๅ›ข้˜Ÿ / ็งๆœ‰้ƒจ็ฝฒ๏ผš็”จ OpenHands ่‡ชๆ‰˜็ฎก๏ผŒ็ปŸไธ€็ฎกๆŽงๆจกๅž‹ไธŽ API Key๏ผŒไฟ้šœๆ•ฐๆฎไธๅ‡บๅŸŸใ€‚
  • Issue ้ฉฑๅŠจ็š„็ ”ๅ‘ๆต๏ผšๆŽฅๅ…ฅ Devin๏ผŒ่ฎฉ AI ๅ…จ็จ‹ๅฎŒๆˆ Issue โ†’ ไปฃ็  โ†’ PR ้—ญ็Žฏ๏ผŒไบบๅทฅๅชๅš Reviewใ€‚
  • ๅคงๅž‹ๅญ˜้‡ไปฃ็ ๅบ“๏ผšไผ˜ๅ…ˆ Augment Code๏ผŒๆทฑๅบฆ็ดขๅผ•่ƒฝๅŠ›ๆ˜ฏ CLI Agent ้šพไปฅๆ›ฟไปฃ็š„ใ€‚
ๅทฅๅ…ทไบคไบ’ๆ–นๅผๆ ธๅฟƒไผ˜ๅŠฟ้€‚ๅœบๆ™ฏๅ…ธๅž‹ไปปๅŠก็คบไพ‹่ดน็”จ
Claude Code็ปˆ็ซฏ CLIไธŽๆœฌๅœฐไปฃ็ ๅบ“ๆทฑๅบฆ็ป“ๅˆ๏ผŒๅฏๆ‰ง่กŒ Shell / Git๏ผŒๅคšๆ–‡ไปถ่ฏปๅ†™ๅ…จ่‡ชๅŠจไธชไบบๆˆ–ๅฐๅ›ข้˜Ÿ็š„้‡ๆž„ใ€ๆ‰น้‡ Bug ไฟฎๅคใ€่‡ชๅŠจๆไบค็ญ‰ๅฎŒๆ•ดๅทฅ็จ‹ๅ‘จๆœŸclaude โ†’ "้‡ๆž„ auth ๆจกๅ—๏ผŒไฟๆŒๆŽฅๅฃไธๅ˜๏ผŒ่กฅ้ฝๅ•ๆต‹ๅŽๆไบค"Claude Pro / API ๆŒ‰้‡่ฎก่ดน
opencode็ปˆ็ซฏ CLIๅฎŒๅ…จๅผ€ๆบ๏ผŒๅ†…็ฝฎๅ…่ดนๆจกๅž‹๏ผŒๆ”ฏๆŒๆŽฅๅ…ฅไปปๆ„ LLM๏ผˆๅซๅ›ฝๅ†…ๆจกๅž‹๏ผ‰ๆ— ๅฎ˜ๆ–น่ฎข้˜…ใ€ๅธŒๆœ›ๆŽฅๅ…ฅ DeepSeek / ้€šไน‰็ญ‰ไฝŽๆˆๆœฌๆจกๅž‹็š„ๅœบๆ™ฏopencode โ†’ ้…็ฝฎ่‡ชๅฎšไน‰ๆจกๅž‹ โ†’ ๅŒไธŠๅทฅ็จ‹ไปปๅŠกๅ–ๅ†ณไบŽๆ‰€ๆŽฅๆจกๅž‹
DevinWeb ็•Œ้ข้ซ˜ๅบฆ่‡ชไธป๏ผŒๅฏๆŒ็ปญ่ทŸ่ฟ› GitHub Issue๏ผŒๅ…จ้“พ่ทฏๆ— ไบบๅ€ผๅฎˆๆœ‰ๆ˜Ž็กฎ Issue ้ฉฑๅŠจ็š„ๅ›ข้˜Ÿ็ ”ๅ‘ๆต๏ผŒAI ่‡ชๅŠจๅฎŒๆˆๅŠŸ่ƒฝๅผ€ๅ‘ๅนถๆ PR็ฒ˜่ดด Issue URL โ†’ ๆŒ‡ๅฎš้ชŒๆ”ถๆ ‡ๅ‡† โ†’ ๅฎกๆŸฅ PRไป˜่ดน๏ผˆไผไธšไธบไธป๏ผ‰
OpenHandsWeb / APIๅผ€ๆบ่‡ชๆ‰˜็ฎก๏ผŒๆ”ฏๆŒๅคš LLM๏ผŒๅฏๅฎšๅˆถๆ‰ฉๅฑ• Agentic ๆต็จ‹ไผไธš็งๆœ‰ๅŒ–้ƒจ็ฝฒ๏ผŒๅ›ข้˜Ÿๅ…ฑไบซ AI ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›๏ผŒไฟ้šœๆ•ฐๆฎๅฎ‰ๅ…จDocker ๅฏๅŠจ โ†’ ๆŽฅๅ…ฅ DeepSeek โ†’ ๆ‰น้‡ๅˆ†้…ไฟฎๅคไปปๅŠกๅผ€ๆบๅ…่ดน๏ผŒๆŒ‰ๆจกๅž‹่ฎก่ดน
Augment CodeIDE ๆ’ไปถๆทฑๅบฆ็ดขๅผ•็™พไธ‡่กŒ็บงไปฃ็ ๅบ“๏ผŒไธŠไธ‹ๆ–‡ๆ„Ÿ็Ÿฅ็ฒพๅ‡†ๅคงๅž‹ไผไธšๅญ˜้‡ไปฃ็ ๅบ“็š„ๆ—ฅๅธธๅผ€ๅ‘ใ€้‡ๆž„ไธŽๅทฅ็จ‹็ฎก็†ๅœˆ้€‰ๆจกๅ— โ†’ "ๆขณ็†่ฐƒ็”จ้“พๅนถ็”Ÿๆˆๆ–‡ๆกฃ"ๅ…่ดน้ขๅบฆ + ่ฎข้˜…
',3)])])}const m=s(d,[["render",i]]);export{h as __pageData,m as default}; +import{_ as s,g as l,h as n,U as e,i as t}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const h=JSON.parse('{"title":"AI ็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡ๆทฑๅบฆ่งฃๆžไบ† AI ้ฉฑๅŠจ็ผ–็จ‹็š„ไธ‰ๅคงๆผ”่ฟ›่Œƒๅผ๏ผšVibe Coding๏ผˆ่‡ช็„ถ่ฏญ่จ€้›ถ้—จๆง›ๆž„ๅปบ๏ผ‰ใ€AI IDE๏ผˆ็ผ–่พ‘ๅ™จๆทฑๅบฆ่พ…ๅŠฉๆๆ•ˆ๏ผ‰ๅŠ Agentic Engineering๏ผˆ่‡ชไธปๅทฅ็จ‹ๅธˆๆ‰ง่กŒไปปๅŠก๏ผ‰ใ€‚้€š่ฟ‡ๆจชๅ‘ๅฏนๆฏ” Bolt.newใ€Cursorใ€Claude Code ็ญ‰ๅ‰ๆฒฟๅทฅๅ…ท๏ผŒๆ–‡็ซ ๅ‹พๅ‹’ๅ‡บไธ€ๆกไปŽโ€œๅฟซ้€ŸๅŽŸๅž‹โ€ๅˆฐโ€œ้ซ˜ๆ•ˆๅๅŒโ€ๅ†ๅˆฐโ€œ่‡ชไธปไบคไป˜โ€็š„่ฟ›้˜ถ่ทฏๅพ„ใ€‚ๆ ธๅฟƒๆ—จๅœจๆŒ‡ๅฏผ็”จๆˆทๅˆฉ็”จ AI ๅทฅๅ…ท็Ÿฉ้˜ตๆ‰“็ ดๆŠ€ๆœฏ่พน็•Œ๏ผŒๅฎž็ŽฐไปŽๅˆ›ๆ„ๆ่ฟฐๅˆฐๅทฅไธš็บงไบคไป˜็š„็”ŸไบงๅŠ›้ฃž่ทƒ๏ผŒ้‡ๅก‘่ฝฏไปถๅผ€ๅ‘ๅ…จ็”Ÿๅ‘ฝๅ‘จๆœŸใ€‚","frontmatter":{"date":"2025-11-25T00:52:28.000Z","title":"AI ็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡ๆทฑๅบฆ่งฃๆžไบ† AI ้ฉฑๅŠจ็ผ–็จ‹็š„ไธ‰ๅคงๆผ”่ฟ›่Œƒๅผ๏ผšVibe Coding๏ผˆ่‡ช็„ถ่ฏญ่จ€้›ถ้—จๆง›ๆž„ๅปบ๏ผ‰ใ€AI IDE๏ผˆ็ผ–่พ‘ๅ™จๆทฑๅบฆ่พ…ๅŠฉๆๆ•ˆ๏ผ‰ๅŠ Agentic Engineering๏ผˆ่‡ชไธปๅทฅ็จ‹ๅธˆๆ‰ง่กŒไปปๅŠก๏ผ‰ใ€‚้€š่ฟ‡ๆจชๅ‘ๅฏนๆฏ” Bolt.newใ€Cursorใ€Claude Code ็ญ‰ๅ‰ๆฒฟๅทฅๅ…ท๏ผŒๆ–‡็ซ ๅ‹พๅ‹’ๅ‡บไธ€ๆกไปŽโ€œๅฟซ้€ŸๅŽŸๅž‹โ€ๅˆฐโ€œ้ซ˜ๆ•ˆๅๅŒโ€ๅ†ๅˆฐโ€œ่‡ชไธปไบคไป˜โ€็š„่ฟ›้˜ถ่ทฏๅพ„ใ€‚ๆ ธๅฟƒๆ—จๅœจๆŒ‡ๅฏผ็”จๆˆทๅˆฉ็”จ AI ๅทฅๅ…ท็Ÿฉ้˜ตๆ‰“็ ดๆŠ€ๆœฏ่พน็•Œ๏ผŒๅฎž็ŽฐไปŽๅˆ›ๆ„ๆ่ฟฐๅˆฐๅทฅไธš็บงไบคไป˜็š„็”ŸไบงๅŠ›้ฃž่ทƒ๏ผŒ้‡ๅก‘่ฝฏไปถๅผ€ๅ‘ๅ…จ็”Ÿๅ‘ฝๅ‘จๆœŸใ€‚","permalink":"/ai-learning/ai-coding-resources","coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/source_sites_bg.png","categories":["่ต„ๆบๆŽจ่"],"tags":["่ต„ๆบๆŽจ่","AI","AI Coding","Vibe Coding","Agentic Engineering"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ.md","filePath":"01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ.md"}'),d={name:"01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ.md"};function i(o,a,r,c,g,_){return n(),l("div",null,[...a[0]||(a[0]=[e('

AI ็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่ โ€‹

ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡ๆทฑๅบฆ่งฃๆžไบ† AI ้ฉฑๅŠจ็ผ–็จ‹็š„ไธ‰ๅคงๆผ”่ฟ›่Œƒๅผ๏ผšVibe Coding๏ผˆ่‡ช็„ถ่ฏญ่จ€้›ถ้—จๆง›ๆž„ๅปบ๏ผ‰ใ€AI IDE๏ผˆ็ผ–่พ‘ๅ™จๆทฑๅบฆ่พ…ๅŠฉๆๆ•ˆ๏ผ‰ๅŠ Agentic Engineering๏ผˆ่‡ชไธปๅทฅ็จ‹ๅธˆๆ‰ง่กŒไปปๅŠก๏ผ‰ใ€‚้€š่ฟ‡ๆจชๅ‘ๅฏนๆฏ” Bolt.newใ€Cursorใ€Claude Code ็ญ‰ๅ‰ๆฒฟๅทฅๅ…ท๏ผŒๆ–‡็ซ ๅ‹พๅ‹’ๅ‡บไธ€ๆกไปŽโ€œๅฟซ้€ŸๅŽŸๅž‹โ€ๅˆฐโ€œ้ซ˜ๆ•ˆๅๅŒโ€ๅ†ๅˆฐโ€œ่‡ชไธปไบคไป˜โ€็š„่ฟ›้˜ถ่ทฏๅพ„ใ€‚ๆ ธๅฟƒๆ—จๅœจๆŒ‡ๅฏผ็”จๆˆทๅˆฉ็”จ AI ๅทฅๅ…ท็Ÿฉ้˜ตๆ‰“็ ดๆŠ€ๆœฏ่พน็•Œ๏ผŒๅฎž็ŽฐไปŽๅˆ›ๆ„ๆ่ฟฐๅˆฐๅทฅไธš็บงไบคไป˜็š„็”ŸไบงๅŠ›้ฃž่ทƒ๏ผŒ้‡ๅก‘่ฝฏไปถๅผ€ๅ‘ๅ…จ็”Ÿๅ‘ฝๅ‘จๆœŸใ€‚

1. ไธ‰็ง็ผ–็จ‹่Œƒๅผ้€Ÿ่งˆ โ€‹

่Œƒๅผไธ€ๅฅ่ฏๆ่ฟฐไฝ ็š„่ง’่‰ฒ
Vibe Coding็”จ่‡ช็„ถ่ฏญ่จ€ๆ่ฟฐ้œ€ๆฑ‚๏ผŒAI ็›ดๆŽฅ็”Ÿๆˆๅฏ่ฟ่กŒ็š„ๅฎŒๆ•ด้กน็›ฎๆ่ฟฐ้œ€ๆฑ‚๏ผŒ่ฎฉ AI ๅ†™ไปฃ็ (ๆ–ฐๆ‰‹ๅ‹ๅฅฝ)
AI IDEๅœจ็ผ–่พ‘ๅ™จ้‡Œๅผ•ๅ…ฅ AI ่พ…ๅŠฉ๏ผŒ่พนๅ†™่พน่กฅๅ…จใ€่พน้—ฎ่พนๆ”นไธปๅฏผๅผ€ๅ‘๏ผŒ่ฎฉ AI ๅšๅ‰ฏ้ฉพ้ฉถ(ๆ›ดๅคšๆŽงๅˆถ)
Agentic EngineeringAI ไฝœไธบ"่‡ชไธปๅทฅ็จ‹ๅธˆ"๏ผŒๆŽฅๆ”ถไปปๅŠกๅŽ่‡ชๅŠจ่ง„ๅˆ’ๅนถๆ‰ง่กŒๅ…จๅฅ—ไปฃ็ ๅทฅไฝœๆตๆไปปๅŠกใ€ๅฎก็ป“ๆžœ๏ผŒ่ฎฉ AI ๆ‰ง่กŒ(ๆž่‡ดๆๆ•ˆ)

ๆ–ฐๆ‰‹่ทฏ็บฟๅปบ่ฎฎ๏ผšๅ…ˆ็”จ Bolt.new ๆˆ– v0.dev ไฝ“้ชŒ Vibe Coding ้›ถ้—จๆง›ๅ‡บไบงๅ“็š„ๆ„Ÿ่ง‰ โ†’ ๅ†ๅˆ‡ๆขๅˆฐ Cursor ๅšๆ—ฅๅธธ็ผ–็ ๆๆ•ˆ โ†’ ๆœ€ๅŽๅฐ่ฏ• Claude Code/opencode ไฝ“้ชŒ AI ่‡ชไธปๅฎŒๆˆๅทฅ็จ‹ไปปๅŠก๏ผŒไธ‰ๆญฅๆ„Ÿๅ—"AI ๅฆ‚ไฝ•้‡ๅก‘็ผ–็จ‹ๅทฅไฝœๆต"ใ€‚

ๆณจๆ„๏ผšไฝฟ็”จ Claude Code ็ญ‰ CLI Agent ๅทฅๅ…ท๏ผŒ้œ€่ฆ่ฎข้˜…ๅฎ˜ๆ–นๆจกๅž‹ๆœๅŠก๏ผˆClaude Pro / API๏ผ‰ใ€‚่‹ฅๆš‚ๆ— ่ฎข้˜…๏ผŒๅฏ้€š่ฟ‡้…็ฝฎ่‡ชๅฎšไน‰ๆจกๅž‹ๆœๅŠก๏ผŒๆ”ฏๆŒๅฏนๆŽฅๅ…ผๅฎน ็ฌฌไธ‰ๆ–นๆœๅŠก๏ผˆๅฆ‚ GLMใ€DeepSeekใ€้€šไน‰ๅƒ้—ฎ๏ผ‰๏ผŒๅฎž็ŽฐไฝŽๆˆๆœฌไธŠๆ‰‹ใ€‚

2. Vibe Coding โ€” ็”จ่‡ช็„ถ่ฏญ่จ€"่ฏด"ๅ‡บไธ€ไธชๅบ”็”จ โ€‹

2.1 ๅ…ณ้”ฎ็‚น่ฏดๆ˜Ž โ€‹

้€‚ๅˆไบบ็พค๏ผšไบงๅ“็ป็†ใ€่ฎพ่ฎกๅธˆใ€ๅˆ›ไธš่€…๏ผŒๆˆ–ๆƒณๅฟซ้€Ÿ้ชŒ่ฏๆƒณๆณ•็š„้žไธ“ไธšๅผ€ๅ‘่€…ใ€‚

ๆ ธๅฟƒไปทๅ€ผ๏ผšไปŽไธ€ๆฎตๆ–‡ๅญ—ๆ่ฟฐๅˆฐๅฏ่ฟ่กŒ็š„ Web ๅบ”็”จ๏ผŒๆ— ้œ€ๆญๅปบๅผ€ๅ‘็Žฏๅขƒ๏ผ›ๅคฉ็”Ÿ้€‚ๅˆ MVP ๅŽŸๅž‹้ชŒ่ฏ ไธŽ UI ๅฟซ้€Ÿ่ฟญไปฃใ€‚

ๅฆ‚ไฝ•ไธŠๆ‰‹๏ผšๆ‰“ๅผ€็ฝ‘็ซ™ โ†’ ๅœจ่พ“ๅ…ฅๆก†ๆ่ฟฐไฝ ็š„ๅบ”็”จ๏ผˆๅฆ‚"ๅšไธ€ไธช็•ช่Œ„้’Ÿ App๏ผŒๆœ‰ๅผ€ๅง‹ๆš‚ๅœๆŒ‰้’ฎ๏ผŒๅฎŒๆˆๅŽๆœ‰ๆ็คบ้Ÿณ"๏ผ‰โ†’ AI ็”Ÿๆˆไปฃ็ ๅนถๅฎžๆ—ถ้ข„่งˆ โ†’ ็ปง็ปญๅฏน่ฏ่ฟญไปฃๅŠŸ่ƒฝใ€‚

',10),t("div",{class:"container nav-card-container"},[t("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[t("a",{href:"https://bolt.new/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://bolt.new/static/favicon-192x192.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Bolt.new")]),t("p",{class:"desc"},"StackBlitz ๆŽจๅ‡บ็š„ๅ…จๆ ˆ AI ๅผ€ๅ‘ๅนณๅฐ๏ผŒๅœจๆต่งˆๅ™จไธญ็›ดๆŽฅ็”Ÿๆˆๅนถ่ฟ่กŒๅฎŒๆ•ด็š„ React ้กน็›ฎ๏ผŒๆ”ฏๆŒๅคš่ฝฎๅฏน่ฏ่ฟญไปฃ๏ผŒๅฏไธ€้”ฎ้ƒจ็ฝฒๅˆฐ Netlify / Vercel๏ผŒ้›ถ็Žฏๅขƒ้…็ฝฎไปŽๆ่ฟฐๅˆฐไธŠ็บฟๅ…จ้“พ่ทฏๆ‰“้€šใ€‚"),t("span",{class:"VPBadge tip badge"},"ไธ€้”ฎ้ƒจ็ฝฒ")]),t("a",{href:"https://v0.dev/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://v0.app/assets/icon-dark-32x32.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"v0 (Vercel)")]),t("p",{class:"desc"},"Vercel ๆŽจๅ‡บ็š„ UI ็ป„ไปถ็”Ÿๆˆๅทฅๅ…ท๏ผŒไธ“ๆณจๅ‰็ซฏ็•Œ้ข๏ผš็”จ่‡ช็„ถ่ฏญ่จ€ๆ่ฟฐ็•Œ้ข๏ผŒ็”Ÿๆˆ React + Tailwind CSS + shadcn/ui ็ป„ไปถไปฃ็ ๏ผŒๅฏ็›ดๆŽฅๅคๅˆถ่ฟ›้กน็›ฎ๏ผŒๅคฉ็”ŸไธŽ Next.js ็”Ÿๆ€ๆ— ็ผ่ก”ๆŽฅ๏ผŒ้žๅธธ้€‚ๅˆๅ‰็ซฏ UI ็š„ๅฟซ้€ŸๅŽŸๅž‹ใ€‚"),t("span",{class:"VPBadge tip badge"},"UI ็”Ÿๆˆ")]),t("a",{href:"https://lovable.dev/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://lovable.dev/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Lovable")]),t("p",{class:"desc"},"้ขๅ‘้žๆŠ€ๆœฏ็”จๆˆท็š„ AI ๅ…จๆ ˆๅบ”็”จ็”Ÿๆˆๅ™จ๏ผŒ่พ“ๅ…ฅไบงๅ“ๆƒณๆณ•็”Ÿๆˆๅ‰ๅŽ็ซฏๅฎŒๆ•ดๅบ”็”จ๏ผŒๅ†…็ฝฎ Supabase ๆ•ฐๆฎๅบ“้›†ๆˆไธŽไธ€้”ฎ้ƒจ็ฝฒ๏ผŒๆ”ฏๆŒๅฎžๆ—ถ้ข„่งˆๅ’Œๅคš่ฝฎๅฏน่ฏไฟฎๆ”น๏ผŒ่ฎฉๆฒกๆœ‰็ผ–็จ‹ๅŸบ็ก€็š„ไบบไนŸ่ƒฝ็‹ฌ็ซ‹ๅšๅ‡บๅฏไธŠ็บฟ็š„ Web ไบงๅ“ใ€‚"),t("span",{class:"VPBadge tip badge"},"ๆ— ไปฃ็ ๅ…จๆ ˆ")]),t("a",{href:"https://replit.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://replit.com/public/icons/favicon-prompt-192.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Replit Agent")]),t("p",{class:"desc"},"ไบ‘็ซฏๅœจ็บฟ IDE Replit ๅ†…็ฝฎ็š„ AI Agent๏ผŒ่ƒฝไปŽ้œ€ๆฑ‚ๆ่ฟฐ่‡ชๅŠจ็”ŸๆˆๅฎŒๆ•ด้กน็›ฎใ€ๅฎ‰่ฃ…ไพ่ต–ใ€่ฟ่กŒ่ฐƒ่ฏ•๏ผŒๅ…จ็จ‹ๅœจๆต่งˆๅ™จๅ†…ๅฎŒๆˆ๏ผŒๅ†…็ฝฎๆ‰˜็ฎกไธŽๅˆ†ไบซๅŠŸ่ƒฝ๏ผŒ้›ถๆœฌๅœฐ็Žฏๅขƒ่ฆๆฑ‚๏ผŒ้€‚ๅˆๅฟซ้€ŸๅŽŸๅž‹ๅ’Œๅœจ็บฟๅญฆไน ็ผ–็จ‹ใ€‚"),t("span",{class:"VPBadge tip badge"},"ไบ‘็ซฏๅ…จๆ ˆ")]),t("a",{href:"https://same.dev/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://same.dev/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Same.dev")]),t("p",{class:"desc"},'ไธ“ๆณจ"ๅ…‹้š†ไปปๆ„็ฝ‘็ซ™ UI"็š„ AI ็ผ–็ ๅทฅๅ…ท๏ผŒ่พ“ๅ…ฅ็›ฎๆ ‡็ฝ‘็ซ™ URL๏ผŒAI ่‡ชๅŠจ่ฟ˜ๅŽŸๅ…ถ็•Œ้ขๅนถ็”Ÿๆˆๅฏนๅบ”ๅ‰็ซฏไปฃ็ ๏ผŒ้€‚ๅˆๅญฆไน ๅ‚่€ƒไผ˜็ง€่ฎพ่ฎกใ€ๅฟซ้€Ÿๅค็Žฐ็ซžๅ“็•Œ้ข๏ผŒไปฅๅŠๅปบ็ซ™ๅˆๅง‹ๆจกๆฟๅฟซ้€Ÿๆญๅปบใ€‚'),t("span",{class:"VPBadge tip badge"},"UI ๅ…‹้š†")]),t("a",{href:"https://www.miaoda.cn/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://resource-static.cdn.bcebos.com/img/favicon.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"็ง’ๅ“’ Miaoda")]),t("p",{class:"desc"},'็™พๅบฆๅ‡บๅ“็š„ๆ— ไปฃ็ ๅบ”็”จๆญๅปบๅนณๅฐ๏ผŒๅฃๅท"ไธ€ๅฅ่ฏๅšๅบ”็”จ"ใ€‚ๅœจ่พ“ๅ…ฅๆก†็”จ่‡ช็„ถ่ฏญ่จ€ๆ่ฟฐ้œ€ๆฑ‚๏ผŒๅณๅฏไธ€้”ฎ็”Ÿๆˆๅฏ้ƒจ็ฝฒ็š„ Web ๅบ”็”จๆˆ–ๅพฎไฟกๅฐ็จ‹ๅบ๏ผ›ๅ†…็ฝฎๆทฑๅบฆๅผ€ๅ‘ๆจกๅผใ€ๆ’ไปถๅธ‚ๅœบไธŽ้ฃŽๆ ผๅฎšๅˆถ๏ผŒๅธฎๅŠฉๆƒณๆณ•ไปŽๆ่ฟฐ็›ด่พพๆˆๅ“ใ€‚้…ๅฅ—"ๅบ”็”จๅนฟๅœบ"ๆฑ‡่š็คพๅŒบไฝœๅ“๏ผŒๅฏๆต่งˆใ€็‚น่ตžๅนถๅ‚่€ƒไป–ไบบๆกˆไพ‹๏ผŒ้€‚ๅˆไบงๅ“ๅŽŸๅž‹ๅฟซ้€Ÿ้ชŒ่ฏใ€ๅญฆไน ๅ‚่€ƒไธŽๆผ”็คบๅฑ•็คบใ€‚'),t("span",{class:"VPBadge tip badge"},"ไธญๆ–‡ไฝ“้ชŒไฝณ")])])],-1),e('

2.2 ๅ…ญๆฌพๅทฅๅ…ทๆจชๅ‘ๅฏนๆฏ” โ€‹

๐Ÿ’ก ๅฟซ้€Ÿ้€‰ๆ‹ฉๅปบ่ฎฎ

  • ่ฆๅšๅฎŒๆ•ดๅ…จๆ ˆ Web ๅนถ็›ดๆŽฅไธŠ็บฟ โ†’ Bolt.new๏ผˆๆˆ็†Ÿๅบฆๆœ€้ซ˜๏ผ‰
  • ๅช้œ€ๅ‰็ซฏ UI ็ป„ไปถๅตŒๅ…ฅ็Žฐๆœ‰้กน็›ฎ โ†’ v0
  • ้žๆŠ€ๆœฏ่ƒŒๆ™ฏๆƒณ็‹ฌ็ซ‹ๅšๅ‡บๆœ‰ๆ•ฐๆฎๅบ“็š„ไบงๅ“ โ†’ Lovable
  • ๆƒณๅœจ็บฟๅญฆ็ผ–็จ‹ๆˆ–ไฝฟ็”จ Python / Go ็ญ‰้ž React ่ฏญ่จ€ โ†’ Replit Agent
  • ๆ‰‹ๅคดๆœ‰ๅ‚่€ƒ็ฝ‘็ซ™ๆƒณ็›ดๆŽฅ่ฟ˜ๅŽŸๅ…ถ็•Œ้ข โ†’ Same.dev
  • ไธญๆ–‡็”จๆˆทๆˆ–็›ฎๆ ‡ๅนณๅฐๆ˜ฏๅพฎไฟกๅฐ็จ‹ๅบ โ†’ ็ง’ๅ“’ Miaoda
ๅทฅๅ…ทๆ ธๅฟƒๅฎšไฝ่พ“ๅ‡บๅฝขๆ€ๆŠ€ๆœฏๆ ˆๆœ€้€‚ๅœบๆ™ฏไธŠๆ‰‹้—จๆง›
Bolt.newๅบ”็”จ็”ŸๆˆๅฎŒๆ•ด Web ๅบ”็”จReactๅฟซ้€Ÿ็”Ÿๆˆๅฏ้ƒจ็ฝฒๅ…จๆ ˆ Demoโญ
v0UI ็ป„ไปถ็”ŸๆˆReact ็ป„ไปถไปฃ็ ็‰‡ๆฎตReact + Tailwind + shadcn/uiๅ‰็ซฏ็•Œ้ขๅฟซ้€Ÿๅ‡บๅ›พ๏ผŒๅตŒๅ…ฅ Next.js ้กน็›ฎโญ
Lovable้›ถไปฃ็ ๅ…จๆ ˆๅปบ็ซ™ๅซๆ•ฐๆฎๅบ“็š„ๅฎŒๆ•ด Web ไบงๅ“ๅ‰็ซฏ + Supabase ๅŽ็ซฏ้žๆŠ€ๆœฏไบบๅ‘˜็‹ฌ็ซ‹ๅšๅ‡บๅฏไธŠ็บฟไบงๅ“โญ
Replit Agentไบ‘็ซฏๅคš่ฏญ่จ€ๅ…จๆ ˆๅคš่ฏญ่จ€ๅฎŒๆ•ด้กน็›ฎPython / JS / Go ็ญ‰ๅคš่ฏญ่จ€ๅœจ็บฟๅญฆ็ผ–็จ‹ใ€้ž React ๆŠ€ๆœฏๆ ˆๅŽŸๅž‹โญโญ
Same.dev็ฝ‘็ซ™ UI ๅ…‹้š†ๅ‰็ซฏ้กต้ข่ฟ˜ๅŽŸไปฃ็ ๅ‰็ซฏ๏ผˆURL โ†’ ไปฃ็ ๏ผ‰ๅ‚่€ƒ็ซžๅ“่ฎพ่ฎกใ€ๅฟซ้€Ÿ่Žทๅ–ๅปบ็ซ™ๅˆๅง‹ๆจกๆฟโญ
็ง’ๅ“’ Miaodaๆ— ไปฃ็ ๅบ”็”จๆญๅปบWeb ๅบ”็”จ / ๅพฎไฟกๅฐ็จ‹ๅบWeb + ๅฐ็จ‹ๅบๅŒ็ซฏไธญๆ–‡ไธ€ๅฅ่ฏๅ‡บๅŽŸๅž‹๏ผŒๅฐคๅ…ถ้€‚ๅˆๅฐ็จ‹ๅบโญ

3. AI IDE โ€” ไธŽไปฃ็ ็ผ–่พ‘ๅ™จๆทฑๅบฆ่žๅˆ โ€‹

3.1 ๅ…ณ้”ฎ็‚น่ฏดๆ˜Ž โ€‹

้€‚ๅˆไบบ็พค๏ผšๆœ‰ไธ€ๅฎš็ผ–็จ‹ๅŸบ็ก€ใ€่ฟฝๆฑ‚็ ”ๅ‘ๆ•ˆ็އ็š„ๅผ€ๅ‘่€…ใ€‚

ๆ ธๅฟƒไปทๅ€ผ๏ผšไธŠไธ‹ๆ–‡ๆ„Ÿ็Ÿฅ่กฅๅ…จ + ่‡ช็„ถ่ฏญ่จ€ๅฏน่ฏๆ”นไปฃ็  + Agent ่‡ชไธปๅคšๆ–‡ไปถ้‡ๆž„๏ผŒ่ฎฉ"ๅ†™ไปฃ็ "ๅ˜ๆˆ"ๆ่ฟฐ + ็กฎ่ฎค"ใ€‚

ๅฆ‚ไฝ•ไธŠๆ‰‹๏ผšๅฎ‰่ฃ…ๅฏนๅบ”ๅทฅๅ…ท โ†’ ๆ‰“ๅผ€้กน็›ฎ โ†’ ็”จๅฟซๆท้”ฎๅ‘ผๅ‡บ AI ๅฏน่ฏๆก†๏ผˆๅฆ‚ Cursor ็š„ Cmd+K๏ผ‰โ†’ ็”จ่‡ช็„ถ่ฏญ่จ€ๆ่ฟฐ่ฆๆ”นไป€ไนˆ โ†’ ็กฎ่ฎคๅทฎๅผ‚ๅŽๅบ”็”จใ€‚

',6),t("div",{class:"container nav-card-container"},[t("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[t("a",{href:"https://www.cursor.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://www.cursor.com/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Cursor")]),t("p",{class:"desc"},"ๅŸบไบŽ VS Code ๆทฑๅบฆๆ”น้€ ็š„ AI ๅŽŸ็”Ÿ IDE๏ผŒไธ‰ๅคงๆ ธๅฟƒ่ƒฝๅŠ›๏ผšโ‘  Tab ๆ™บ่ƒฝ่กฅๅ…จ๏ผˆๆ„Ÿ็ŸฅไธŠไธ‹ๆ–‡ๅคšๆ–‡ไปถ๏ผ‰๏ผ›โ‘ก Cmd+K ่กŒๅ†…็”ŸๆˆไธŽไฟฎๆ”น๏ผ›โ‘ข Cursor Agent ๅฏ่‡ชไธป่ง„ๅˆ’ใ€่ฏปๅ†™ๅคšๆ–‡ไปถใ€่ฟ่กŒ็ปˆ็ซฏๅฎŒๆˆๅคๆ‚ไปปๅŠกใ€‚ๆ˜ฏ็›ฎๅ‰ๅฃ็ข‘ๆœ€ๅฅฝ็š„ AI ็ผ–็จ‹ๅทฅๅ…ทใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅผบ็ƒˆๆŽจ่")]),t("a",{href:"https://www.trae.cn/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://lf-cdn.trae.com.cn/obj/trae-com-cn/trae_website_prod_cn/favicon.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Trae IDE")]),t("p",{class:"desc"},'ๅ›ฝๅ†…ๅ‡บๅ“็š„ AI ๅŽŸ็”Ÿ IDE๏ผŒ"The Real AI Engineer๏ผˆ็œŸๆญฃ็š„ AI ๅทฅ็จ‹ๅธˆ๏ผ‰"๏ผŒๅ…่ดนๅฏ็”จใ€‚ไธ‰ๅคงๆ ธๅฟƒ่ƒฝๅŠ›๏ผšโ‘  ๆ™บ่ƒฝ่กฅๅ…จไธŽๅฏน่ฏๅผๆ”นไปฃ็ ๏ผ›โ‘ก ๅคšๆ–‡ไปถ Agent ่‡ชไธป้‡ๆž„๏ผŒๅ…จ้ขๅฏนๆ ‡ Cursor๏ผ›โ‘ข **ๆ•ฐๆฎๅฎ‰ๅ…จไผ˜ๅ…ˆ** โ€” ๅšๆŒ"ๆœฌๅœฐไผ˜ๅ…ˆใ€ๆœ€ๅฐๅŒ–ๆ•ฐๆฎๆ”ถ้›†"ๅŽŸๅˆ™๏ผŒๅ†…็ฝฎ้š็งๆจกๅผ๏ผŒไปฃ็ ้ป˜่ฎคๅญ˜ไบŽๆœฌๅœฐใ€‚ๅฆๆไพ› SOLO ๅœจ็บฟ่ฝป้‡็‰ˆไพ›ๅฟซ้€Ÿไฝ“้ชŒ๏ผŒ้€‚ๅˆๅ…ณๆณจๆ•ฐๆฎไธปๆƒ็š„ๅ›ฝๅ†…ๅผ€ๅ‘่€…ไธŽๆœ‰ๅˆ่ง„่ฆๆฑ‚็š„ไผไธšๅ›ข้˜Ÿใ€‚'),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅ†…่‡ชไธปๆ”ฏๆŒ")]),t("a",{href:"https://windsurf.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://codeium.com/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Windsurf")]),t("p",{class:"desc"},'Codeium ๅ‡บๅ“็š„ AI ๅŽŸ็”Ÿ IDE๏ผŒ็Žฐๅทฒ่ฟ่‡ณ็‹ฌ็ซ‹ๅŸŸๅ windsurf.com๏ผŒๅฃๅท"ๅผ€ๅ‘่€…ๅšๅ‡บๆœ€ไฝณๅทฅไฝœ็š„ๅœฐๆ–น"ใ€‚ไธคๅคงๆ ธๅฟƒ่ƒฝๅŠ›๏ผšโ‘  **Cascade Agent** โ€” ่ƒฝๅ‰็žป 10 ๆญฅไปฅไธŠ๏ผŒ่‡ชๅŠจ่ง„ๅˆ’ใ€็ผ–็ ใ€ไฟฎๅค Bug๏ผŒๆทฑๅบฆ็†่งฃๆ•ดไธชไปฃ็ ๅบ“ๅนถไธฒ่”ๅคšๆญฅ้ชคไปปๅŠก๏ผ›โ‘ก **Windsurf Tab** โ€” ไธ€้”ฎ่กฅๅ…จไปฃ็ ใ€่ทณ่ฝฌๅ…‰ๆ ‡ใ€่‡ชๅŠจๅฏผๅ…ฅไพ่ต–๏ผŒไฟๆŒๅผ€ๅ‘"ๅฟƒๆต"ไธไธญๆ–ญใ€‚ๆ”ฏๆŒ GPT-4.5ใ€Gemini ็ญ‰ไธปๆตๆจกๅž‹๏ผŒๆไพ›ไธชไบบๅ…่ดน็‰ˆไธŽไผไธš็‰ˆใ€‚'),t("span",{class:"VPBadge tip badge"},"ๅˆ†ๆžไปฃ็ ")])])],-1),e('

3.2 ไธ‰ๆฌพๅทฅๅ…ทๆจชๅ‘ๅฏนๆฏ” โ€‹

๐Ÿ’ก ้€‰ๆ‹ฉๅปบ่ฎฎ

  • ่ฟฝๆฑ‚ๅฃ็ข‘ๆœ€ไฝณ + ็”Ÿๆ€ๆœ€ๆˆ็†Ÿ็š„ AI IDE โ†’ Cursor๏ผˆ็คพๅŒบ่ต„ๆบๆœ€ไธฐๅฏŒ๏ผ‰
  • ๆœ‰ๆ•ฐๆฎๅฎ‰ๅ…จ / ๅˆ่ง„่ฆๆฑ‚๏ผŒๆˆ–ๆƒณ่ฆๅ…่ดน็š„ๅ›ฝไบงๆ–นๆกˆ โ†’ Trae IDE
  • ๅ–œๆฌข AI ่‡ชๅŠจไธฒ่”ๅคšๆญฅไปปๅŠก๏ผŒไบซๅ—ไธไธญๆ–ญ็š„"ๅฟƒๆต"็ผ–็จ‹ไฝ“้ชŒ โ†’ Windsurf
  • ไธ‰ๆฌพๅ‡ๅŸบไบŽ VS Code ๆ”น้€ ๏ผŒ็Žฐๆœ‰ VS Code ๆ’ไปถๅ’Œๅฟซๆท้”ฎไน ๆƒฏๅ‡ๅฏๆ— ็ผ่ฟ็งป
ๅทฅๅ…ทๆ ธๅฟƒ็‰น่‰ฒAgent ่ƒฝๅŠ›ๆ•ฐๆฎๅฎ‰ๅ…จ่ดน็”จๆœ€้€‚ๅœบๆ™ฏ
Cursorๅคšๆ–‡ไปถไธŠไธ‹ๆ–‡ๆ„Ÿ็Ÿฅ่กฅๅ…จ + Cmd+K ่กŒๅ†…็”Ÿๆˆๅผบ โ€” ๅคšๆ–‡ไปถ่ง„ๅˆ’ + ็ปˆ็ซฏๆ‰ง่กŒไธ€่ˆฌ๏ผˆไปฃ็ ๅ‘ๅพ€ไบ‘็ซฏ๏ผ‰ๅ…่ดน้ขๅบฆ + ่ฎข้˜…ๆ—ฅๅธธๅŠŸ่ƒฝๅผ€ๅ‘ใ€ๅคšๆ–‡ไปถ้‡ๆž„ใ€ไปฃ็  Review
Trae IDEๅ›ฝไบงๅ…่ดน + ๆœฌๅœฐไผ˜ๅ…ˆๆ•ฐๆฎๅฎ‰ๅ…จๅผบ โ€” ๅฏนๆ ‡ Cursor๏ผŒๅซๅœจ็บฟ SOLO ็‰ˆๆœฌๅœฐไผ˜ๅ…ˆ + ้š็งๆจกๅผๅ…่ดนๆœ‰ๅˆ่ง„้œ€ๆฑ‚็š„ๅ›ฝๅ†…ๅ›ข้˜Ÿใ€ไธชไบบๆ—ฅๅธธๅผ€ๅ‘
WindsurfCascade ๅ‰็žป่ง„ๅˆ’ + Tab ไธ€้”ฎๅฟƒๆตๅผบ โ€” ๅ‰็žป 10 ๆญฅใ€่‡ชๅŠจไธฒ่”ๅคšๆญฅไปปๅŠกไธ€่ˆฌ๏ผˆไปฃ็ ๅ‘ๅพ€ไบ‘็ซฏ๏ผ‰ๅ…่ดน้ขๅบฆ + ่ฎข้˜…ๅคๆ‚ๅคšๆญฅไปปๅŠก่‡ชๅŠจๆ‰ง่กŒใ€่ฟฝๆฑ‚"ๅฟƒๆต"ๅผ€ๅ‘ไฝ“้ชŒ

4. Agentic Engineering โ€” AI ่‡ชไธปๅฎŒๆˆๅทฅ็จ‹ไปปๅŠก โ€‹

4.1 ๅ…ณ้”ฎ็‚น่ฏดๆ˜Ž โ€‹

้€‚ๅˆไบบ็พค๏ผšๅธŒๆœ›ๅฐ†ๅฎŒๆ•ดๅทฅ็จ‹ไปปๅŠกไบค็ป™ AI ่‡ชไธปๅค„็†็š„่ต„ๆทฑๅผ€ๅ‘่€…ๆˆ–ๅ›ข้˜Ÿใ€‚

ๆ ธๅฟƒไปทๅ€ผ๏ผšAI ไธๅ†ๅชๆ˜ฏ"ๅ‰ฏ้ฉพ้ฉถ"๏ผŒ่€Œๆ˜ฏ่ƒฝ่‡ชไธป่ฏปๅ–ไปฃ็ ๅบ“ใ€่ฟ่กŒๆต‹่ฏ•ใ€ไฟฎๅค Bugใ€็”š่‡ณๆไบค PR ็š„"่‡ชไธปๅทฅ็จ‹ๅธˆ"๏ผŒ้€‚ๅˆ Bug ไฟฎๅคใ€ๅŠŸ่ƒฝ่ฟญไปฃใ€ไปฃ็ ้‡ๆž„็ญ‰ๅฎŒๆ•ดๅทฅ็จ‹ๅ‘จๆœŸใ€‚

ๅฆ‚ไฝ•ไธŠๆ‰‹๏ผˆไปฅ Claude Code ไธบไพ‹๏ผ‰๏ผšnpm install -g @anthropic-ai/claude-code โ†’ ๅœจ้กน็›ฎๆ น็›ฎๅฝ•ๆ‰ง่กŒ claude โ†’ ่พ“ๅ…ฅไปปๅŠก๏ผˆๅฆ‚"ๅธฎๆˆ‘ๆ‰พๅ‡บ #123 ่ฟ™ไธช Bug ็š„ๆ นๅ› ๏ผŒๅ†™ๅฅฝๆต‹่ฏ•ๅŽๆไบค"๏ผ‰โ†’ Claude Code ่‡ชไธป่ฏปๅ–ไปฃ็ ๅบ“ใ€ๆ‰ง่กŒๅ‘ฝไปคๅนถ้€ๆญฅๅ้ฆˆ๏ผŒๅฎกๆŸฅๅŽ็กฎ่ฎคๆไบคใ€‚

',6),t("div",{class:"container nav-card-container"},[t("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[t("a",{href:"https://claude-update-code.squarespace.com/?gad_source=1&gad_campaignid=23635038607&gbraid=0AAAAADBLX79DSBI8Ftftv8_FSgjubKKve&gclid=CjwKCAiAtq_NBhA_EiwA78nNWBwq9FGhmQLtwZ0ImoSZ5098wJU2cJMAwk8pHy9DtfDpt6Zf_TzDNhoCptgQAvD_BwE",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://claude.ai/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Claude Code")]),t("p",{class:"desc"},'Anthropic ๅฎ˜ๆ–นๆŽจๅ‡บ็š„ๅ‘ฝไปค่กŒ AI ็ผ–็จ‹ Agent๏ผŒๅœจ็ปˆ็ซฏไธญ็›ดๆŽฅไธŽไปฃ็ ๅบ“ๆทฑๅบฆๅฏน่ฏ๏ผŒๆ”ฏๆŒๅคšๆ–‡ไปถ่ฏปๅ†™ใ€ๆ‰ง่กŒ Shell ๅ‘ฝไปคใ€Git ๆ“ไฝœ๏ผŒ่ƒฝๅคŸๅฎŒๆˆ"่ฏปๆ‡‚ๆ•ดไธชไปฃ็ ๅบ“โ†’ๅˆถๅฎšๆ–นๆกˆโ†’้€ๆญฅๆ‰ง่กŒ"็š„ๅฎŒๆ•ดๅทฅ็จ‹ไปปๅŠกๆต๏ผŒๆ˜ฏๆœ€่ดด่ฟ‘็œŸๅฎžๅทฅ็จ‹ๆต็จ‹็š„็ปˆ็ซฏ Agentใ€‚'),t("span",{class:"VPBadge tip badge"},"CLI Agent")]),t("a",{href:"https://opencode.ai",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://opencode.ai/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"opencode")]),t("p",{class:"desc"},"ๅผ€ๆบ AI ็ผ–็จ‹ไปฃ็†๏ผŒClaude Code ็š„ๅผ€ๆบๅนณๆ›ฟ๏ผŒๅ†…็ฝฎๅ…่ดนๆจกๅž‹๏ผŒไนŸๅฏ้…็ฝฎใ€่ฟžๆŽฅไปปๆ„ๆไพ›ๅ•†็š„ไปปๆ„ๆจกๅž‹๏ผŒๅŒ…ๆ‹ฌ Claudeใ€GPTใ€Gemini๏ผŒไปฅๅŠๅ›ฝๅ†…ๆจกๅž‹ใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅผ€ๆบ CLI Agent")]),t("a",{href:"https://devin.ai/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://devin.ai/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Devin")]),t("p",{class:"desc"},'ๅ…จ็ƒ้ฆ–ไธชๅ•†็”จ"AI ่ฝฏไปถๅทฅ็จ‹ๅธˆ"๏ผŒ่ƒฝๆŽฅๆ”ถ GitHub Issue ๆˆ–่‡ช็„ถ่ฏญ่จ€ไปปๅŠก๏ผŒ่‡ชไธปๆต่งˆๆ–‡ๆกฃใ€ๆœ็ดข่ต„ๆ–™ใ€็ผ–ๅ†™ไปฃ็ ใ€่ฟ่กŒๆต‹่ฏ•ๅนถๆไบค PR๏ผŒๅ…ทๅค‡ๅฎŒๆ•ดๅทฅ็จ‹ไปปๅŠก่‡ชไธปๆ‰ง่กŒ้—ญ็Žฏ๏ผŒๆ˜ฏ Agentic Engineering ็š„่กŒไธšๆ ‡ๆ†ใ€‚'),t("span",{class:"VPBadge tip badge"},"่‡ชไธป Agent ๆ ‡ๆ†")]),t("a",{href:"https://github.com/All-Hands-AI/OpenHands",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://github.githubassets.com/favicons/favicon.svg",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"OpenHands")]),t("p",{class:"desc"},"ๅ‰ OpenDevin๏ผŒๅฎŒๅ…จๅผ€ๆบ็š„ AI ่ฝฏไปถๅทฅ็จ‹ๅธˆๅนณๅฐ๏ผŒDevin ็š„ๅผ€ๆบๅฏ่‡ชๆ‰˜็ฎกๆ›ฟไปฃๆ–นๆกˆ๏ผŒๅฏๆœฌๅœฐ Docker ้ƒจ็ฝฒ๏ผŒๆ”ฏๆŒๆŽฅๅ…ฅๅคš็ง LLM๏ผˆGPT / Claude / DeepSeek ็ญ‰๏ผ‰๏ผŒ่‡ชไธปๆ‰ง่กŒไปฃ็ ๅบ“ไปปๅŠกใ€่ฟ่กŒ Shell ๅ‘ฝไปคใ€ๆต่งˆ็ฝ‘้กตๆŸฅ้˜…ๆ–‡ๆกฃใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅผ€ๆบๅฏ่‡ช้ƒจ็ฝฒ")]),t("a",{href:"https://www.augmentcode.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://www.augmentcode.com/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Augment Code")]),t("p",{class:"desc"},"ไธ“ไธบๅคงๅž‹ไปฃ็ ๅบ“่ฎพ่ฎก็š„ AI ็ผ–็จ‹ Agent ๅนณๅฐ๏ผŒ่ƒฝๆทฑๅบฆ็ดขๅผ•ไผไธš็บงไปฃ็ ๅบ“๏ผˆ็™พไธ‡่กŒ็บงๅˆซ๏ผ‰๏ผŒๆไพ›็ฒพๅ‡†็š„ไธŠไธ‹ๆ–‡ๆ„Ÿ็Ÿฅ่กฅๅ…จๅ’Œ Agent ไปปๅŠกๆ‰ง่กŒ๏ผŒ้€‚ๅˆไธญๅคงๅž‹ๅ›ข้˜Ÿๅœจๅทฒๆœ‰ๅคๆ‚ไปฃ็ ๅบ“ไธŠ่ฟ›่กŒ AI ่พ…ๅŠฉๅผ€ๅ‘ใ€‚"),t("span",{class:"VPBadge tip badge"},"ไผไธš็บง Agent")])])],-1),e('

4.2 ไบ”ๆฌพ Agentic ๅทฅๅ…ทๆจชๅ‘ๅฏนๆฏ” โ€‹

้€‰ๅž‹ๅปบ่ฎฎ

  • ไธชไบบ / ๅฐ้กน็›ฎ๏ผšไผ˜ๅ…ˆ Claude Code๏ผˆไฝ“้ชŒๆœ€ๆต็•…๏ผ‰๏ผŒๆ— ่ฎข้˜…ๅˆ™็”จ opencode ๆŽฅๅ…ฅไฝŽๆˆๆœฌๆจกๅž‹ๅนณๆ›ฟใ€‚
  • ๅ›ข้˜Ÿ / ็งๆœ‰้ƒจ็ฝฒ๏ผš็”จ OpenHands ่‡ชๆ‰˜็ฎก๏ผŒ็ปŸไธ€็ฎกๆŽงๆจกๅž‹ไธŽ API Key๏ผŒไฟ้šœๆ•ฐๆฎไธๅ‡บๅŸŸใ€‚
  • Issue ้ฉฑๅŠจ็š„็ ”ๅ‘ๆต๏ผšๆŽฅๅ…ฅ Devin๏ผŒ่ฎฉ AI ๅ…จ็จ‹ๅฎŒๆˆ Issue โ†’ ไปฃ็  โ†’ PR ้—ญ็Žฏ๏ผŒไบบๅทฅๅชๅš Reviewใ€‚
  • ๅคงๅž‹ๅญ˜้‡ไปฃ็ ๅบ“๏ผšไผ˜ๅ…ˆ Augment Code๏ผŒๆทฑๅบฆ็ดขๅผ•่ƒฝๅŠ›ๆ˜ฏ CLI Agent ้šพไปฅๆ›ฟไปฃ็š„ใ€‚
ๅทฅๅ…ทไบคไบ’ๆ–นๅผๆ ธๅฟƒไผ˜ๅŠฟ้€‚ๅœบๆ™ฏๅ…ธๅž‹ไปปๅŠก็คบไพ‹่ดน็”จ
Claude Code็ปˆ็ซฏ CLIไธŽๆœฌๅœฐไปฃ็ ๅบ“ๆทฑๅบฆ็ป“ๅˆ๏ผŒๅฏๆ‰ง่กŒ Shell / Git๏ผŒๅคšๆ–‡ไปถ่ฏปๅ†™ๅ…จ่‡ชๅŠจไธชไบบๆˆ–ๅฐๅ›ข้˜Ÿ็š„้‡ๆž„ใ€ๆ‰น้‡ Bug ไฟฎๅคใ€่‡ชๅŠจๆไบค็ญ‰ๅฎŒๆ•ดๅทฅ็จ‹ๅ‘จๆœŸclaude โ†’ "้‡ๆž„ auth ๆจกๅ—๏ผŒไฟๆŒๆŽฅๅฃไธๅ˜๏ผŒ่กฅ้ฝๅ•ๆต‹ๅŽๆไบค"Claude Pro / API ๆŒ‰้‡่ฎก่ดน
opencode็ปˆ็ซฏ CLIๅฎŒๅ…จๅผ€ๆบ๏ผŒๅ†…็ฝฎๅ…่ดนๆจกๅž‹๏ผŒๆ”ฏๆŒๆŽฅๅ…ฅไปปๆ„ LLM๏ผˆๅซๅ›ฝๅ†…ๆจกๅž‹๏ผ‰ๆ— ๅฎ˜ๆ–น่ฎข้˜…ใ€ๅธŒๆœ›ๆŽฅๅ…ฅ DeepSeek / ้€šไน‰็ญ‰ไฝŽๆˆๆœฌๆจกๅž‹็š„ๅœบๆ™ฏopencode โ†’ ้…็ฝฎ่‡ชๅฎšไน‰ๆจกๅž‹ โ†’ ๅŒไธŠๅทฅ็จ‹ไปปๅŠกๅ–ๅ†ณไบŽๆ‰€ๆŽฅๆจกๅž‹
DevinWeb ็•Œ้ข้ซ˜ๅบฆ่‡ชไธป๏ผŒๅฏๆŒ็ปญ่ทŸ่ฟ› GitHub Issue๏ผŒๅ…จ้“พ่ทฏๆ— ไบบๅ€ผๅฎˆๆœ‰ๆ˜Ž็กฎ Issue ้ฉฑๅŠจ็š„ๅ›ข้˜Ÿ็ ”ๅ‘ๆต๏ผŒAI ่‡ชๅŠจๅฎŒๆˆๅŠŸ่ƒฝๅผ€ๅ‘ๅนถๆ PR็ฒ˜่ดด Issue URL โ†’ ๆŒ‡ๅฎš้ชŒๆ”ถๆ ‡ๅ‡† โ†’ ๅฎกๆŸฅ PRไป˜่ดน๏ผˆไผไธšไธบไธป๏ผ‰
OpenHandsWeb / APIๅผ€ๆบ่‡ชๆ‰˜็ฎก๏ผŒๆ”ฏๆŒๅคš LLM๏ผŒๅฏๅฎšๅˆถๆ‰ฉๅฑ• Agentic ๆต็จ‹ไผไธš็งๆœ‰ๅŒ–้ƒจ็ฝฒ๏ผŒๅ›ข้˜Ÿๅ…ฑไบซ AI ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›๏ผŒไฟ้šœๆ•ฐๆฎๅฎ‰ๅ…จDocker ๅฏๅŠจ โ†’ ๆŽฅๅ…ฅ DeepSeek โ†’ ๆ‰น้‡ๅˆ†้…ไฟฎๅคไปปๅŠกๅผ€ๆบๅ…่ดน๏ผŒๆŒ‰ๆจกๅž‹่ฎก่ดน
Augment CodeIDE ๆ’ไปถๆทฑๅบฆ็ดขๅผ•็™พไธ‡่กŒ็บงไปฃ็ ๅบ“๏ผŒไธŠไธ‹ๆ–‡ๆ„Ÿ็Ÿฅ็ฒพๅ‡†ๅคงๅž‹ไผไธšๅญ˜้‡ไปฃ็ ๅบ“็š„ๆ—ฅๅธธๅผ€ๅ‘ใ€้‡ๆž„ไธŽๅทฅ็จ‹็ฎก็†ๅœˆ้€‰ๆจกๅ— โ†’ "ๆขณ็†่ฐƒ็”จ้“พๅนถ็”Ÿๆˆๆ–‡ๆกฃ"ๅ…่ดน้ขๅบฆ + ่ฎข้˜…
',3)])])}const m=s(d,[["render",i]]);export{h as __pageData,m as default}; diff --git "a/assets/01.\345\205\250\346\240\210_10.AI \347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_00.AI\347\274\226\347\250\213\345\267\245\345\205\267\344\270\216\350\265\204\346\272\220.md.CQL4JXm2.lean.js" "b/assets/01.\345\205\250\346\240\210_10.AI \347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_00.AI\347\274\226\347\250\213\345\267\245\345\205\267\344\270\216\350\265\204\346\272\220.md.0WWjtM47.lean.js" similarity index 99% rename from "assets/01.\345\205\250\346\240\210_10.AI \347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_00.AI\347\274\226\347\250\213\345\267\245\345\205\267\344\270\216\350\265\204\346\272\220.md.CQL4JXm2.lean.js" rename to "assets/01.\345\205\250\346\240\210_10.AI \347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_00.AI\347\274\226\347\250\213\345\267\245\345\205\267\344\270\216\350\265\204\346\272\220.md.0WWjtM47.lean.js" index 3e4a0f6e..2d413e93 100644 --- "a/assets/01.\345\205\250\346\240\210_10.AI \347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_00.AI\347\274\226\347\250\213\345\267\245\345\205\267\344\270\216\350\265\204\346\272\220.md.CQL4JXm2.lean.js" +++ "b/assets/01.\345\205\250\346\240\210_10.AI \347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_00.AI\347\274\226\347\250\213\345\267\245\345\205\267\344\270\216\350\265\204\346\272\220.md.0WWjtM47.lean.js" @@ -1 +1 @@ -import{_ as s,g as l,h as n,U as e,i as t}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const h=JSON.parse('{"title":"AI ็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡ๆทฑๅบฆ่งฃๆžไบ† AI ้ฉฑๅŠจ็ผ–็จ‹็š„ไธ‰ๅคงๆผ”่ฟ›่Œƒๅผ๏ผšVibe Coding๏ผˆ่‡ช็„ถ่ฏญ่จ€้›ถ้—จๆง›ๆž„ๅปบ๏ผ‰ใ€AI IDE๏ผˆ็ผ–่พ‘ๅ™จๆทฑๅบฆ่พ…ๅŠฉๆๆ•ˆ๏ผ‰ๅŠ Agentic Engineering๏ผˆ่‡ชไธปๅทฅ็จ‹ๅธˆๆ‰ง่กŒไปปๅŠก๏ผ‰ใ€‚้€š่ฟ‡ๆจชๅ‘ๅฏนๆฏ” Bolt.newใ€Cursorใ€Claude Code ็ญ‰ๅ‰ๆฒฟๅทฅๅ…ท๏ผŒๆ–‡็ซ ๅ‹พๅ‹’ๅ‡บไธ€ๆกไปŽโ€œๅฟซ้€ŸๅŽŸๅž‹โ€ๅˆฐโ€œ้ซ˜ๆ•ˆๅๅŒโ€ๅ†ๅˆฐโ€œ่‡ชไธปไบคไป˜โ€็š„่ฟ›้˜ถ่ทฏๅพ„ใ€‚ๆ ธๅฟƒๆ—จๅœจๆŒ‡ๅฏผ็”จๆˆทๅˆฉ็”จ AI ๅทฅๅ…ท็Ÿฉ้˜ตๆ‰“็ ดๆŠ€ๆœฏ่พน็•Œ๏ผŒๅฎž็ŽฐไปŽๅˆ›ๆ„ๆ่ฟฐๅˆฐๅทฅไธš็บงไบคไป˜็š„็”ŸไบงๅŠ›้ฃž่ทƒ๏ผŒ้‡ๅก‘่ฝฏไปถๅผ€ๅ‘ๅ…จ็”Ÿๅ‘ฝๅ‘จๆœŸใ€‚","frontmatter":{"date":"2025-11-25T00:52:28.000Z","title":"AI ็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡ๆทฑๅบฆ่งฃๆžไบ† AI ้ฉฑๅŠจ็ผ–็จ‹็š„ไธ‰ๅคงๆผ”่ฟ›่Œƒๅผ๏ผšVibe Coding๏ผˆ่‡ช็„ถ่ฏญ่จ€้›ถ้—จๆง›ๆž„ๅปบ๏ผ‰ใ€AI IDE๏ผˆ็ผ–่พ‘ๅ™จๆทฑๅบฆ่พ…ๅŠฉๆๆ•ˆ๏ผ‰ๅŠ Agentic Engineering๏ผˆ่‡ชไธปๅทฅ็จ‹ๅธˆๆ‰ง่กŒไปปๅŠก๏ผ‰ใ€‚้€š่ฟ‡ๆจชๅ‘ๅฏนๆฏ” Bolt.newใ€Cursorใ€Claude Code ็ญ‰ๅ‰ๆฒฟๅทฅๅ…ท๏ผŒๆ–‡็ซ ๅ‹พๅ‹’ๅ‡บไธ€ๆกไปŽโ€œๅฟซ้€ŸๅŽŸๅž‹โ€ๅˆฐโ€œ้ซ˜ๆ•ˆๅๅŒโ€ๅ†ๅˆฐโ€œ่‡ชไธปไบคไป˜โ€็š„่ฟ›้˜ถ่ทฏๅพ„ใ€‚ๆ ธๅฟƒๆ—จๅœจๆŒ‡ๅฏผ็”จๆˆทๅˆฉ็”จ AI ๅทฅๅ…ท็Ÿฉ้˜ตๆ‰“็ ดๆŠ€ๆœฏ่พน็•Œ๏ผŒๅฎž็ŽฐไปŽๅˆ›ๆ„ๆ่ฟฐๅˆฐๅทฅไธš็บงไบคไป˜็š„็”ŸไบงๅŠ›้ฃž่ทƒ๏ผŒ้‡ๅก‘่ฝฏไปถๅผ€ๅ‘ๅ…จ็”Ÿๅ‘ฝๅ‘จๆœŸใ€‚","permalink":"/ai-learning/ai-coding-resources","coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/source_sites_bg.png","categories":["่ต„ๆบๆŽจ่"],"tags":["่ต„ๆบๆŽจ่","AI","AI Coding","Vibe Coding","Agentic Engineering"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ.md","filePath":"01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ.md"}'),d={name:"01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ.md"};function i(o,a,r,c,g,_){return n(),l("div",null,[...a[0]||(a[0]=[e("",10),t("div",{class:"container nav-card-container"},[t("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[t("a",{href:"https://bolt.new/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://bolt.new/static/favicon-192x192.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Bolt.new")]),t("p",{class:"desc"},"StackBlitz ๆŽจๅ‡บ็š„ๅ…จๆ ˆ AI ๅผ€ๅ‘ๅนณๅฐ๏ผŒๅœจๆต่งˆๅ™จไธญ็›ดๆŽฅ็”Ÿๆˆๅนถ่ฟ่กŒๅฎŒๆ•ด็š„ React ้กน็›ฎ๏ผŒๆ”ฏๆŒๅคš่ฝฎๅฏน่ฏ่ฟญไปฃ๏ผŒๅฏไธ€้”ฎ้ƒจ็ฝฒๅˆฐ Netlify / Vercel๏ผŒ้›ถ็Žฏๅขƒ้…็ฝฎไปŽๆ่ฟฐๅˆฐไธŠ็บฟๅ…จ้“พ่ทฏๆ‰“้€šใ€‚"),t("span",{class:"VPBadge tip badge"},"ไธ€้”ฎ้ƒจ็ฝฒ")]),t("a",{href:"https://v0.dev/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://v0.app/assets/icon-dark-32x32.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"v0 (Vercel)")]),t("p",{class:"desc"},"Vercel ๆŽจๅ‡บ็š„ UI ็ป„ไปถ็”Ÿๆˆๅทฅๅ…ท๏ผŒไธ“ๆณจๅ‰็ซฏ็•Œ้ข๏ผš็”จ่‡ช็„ถ่ฏญ่จ€ๆ่ฟฐ็•Œ้ข๏ผŒ็”Ÿๆˆ React + Tailwind CSS + shadcn/ui ็ป„ไปถไปฃ็ ๏ผŒๅฏ็›ดๆŽฅๅคๅˆถ่ฟ›้กน็›ฎ๏ผŒๅคฉ็”ŸไธŽ Next.js ็”Ÿๆ€ๆ— ็ผ่ก”ๆŽฅ๏ผŒ้žๅธธ้€‚ๅˆๅ‰็ซฏ UI ็š„ๅฟซ้€ŸๅŽŸๅž‹ใ€‚"),t("span",{class:"VPBadge tip badge"},"UI ็”Ÿๆˆ")]),t("a",{href:"https://lovable.dev/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://lovable.dev/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Lovable")]),t("p",{class:"desc"},"้ขๅ‘้žๆŠ€ๆœฏ็”จๆˆท็š„ AI ๅ…จๆ ˆๅบ”็”จ็”Ÿๆˆๅ™จ๏ผŒ่พ“ๅ…ฅไบงๅ“ๆƒณๆณ•็”Ÿๆˆๅ‰ๅŽ็ซฏๅฎŒๆ•ดๅบ”็”จ๏ผŒๅ†…็ฝฎ Supabase ๆ•ฐๆฎๅบ“้›†ๆˆไธŽไธ€้”ฎ้ƒจ็ฝฒ๏ผŒๆ”ฏๆŒๅฎžๆ—ถ้ข„่งˆๅ’Œๅคš่ฝฎๅฏน่ฏไฟฎๆ”น๏ผŒ่ฎฉๆฒกๆœ‰็ผ–็จ‹ๅŸบ็ก€็š„ไบบไนŸ่ƒฝ็‹ฌ็ซ‹ๅšๅ‡บๅฏไธŠ็บฟ็š„ Web ไบงๅ“ใ€‚"),t("span",{class:"VPBadge tip badge"},"ๆ— ไปฃ็ ๅ…จๆ ˆ")]),t("a",{href:"https://replit.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://replit.com/public/icons/favicon-prompt-192.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Replit Agent")]),t("p",{class:"desc"},"ไบ‘็ซฏๅœจ็บฟ IDE Replit ๅ†…็ฝฎ็š„ AI Agent๏ผŒ่ƒฝไปŽ้œ€ๆฑ‚ๆ่ฟฐ่‡ชๅŠจ็”ŸๆˆๅฎŒๆ•ด้กน็›ฎใ€ๅฎ‰่ฃ…ไพ่ต–ใ€่ฟ่กŒ่ฐƒ่ฏ•๏ผŒๅ…จ็จ‹ๅœจๆต่งˆๅ™จๅ†…ๅฎŒๆˆ๏ผŒๅ†…็ฝฎๆ‰˜็ฎกไธŽๅˆ†ไบซๅŠŸ่ƒฝ๏ผŒ้›ถๆœฌๅœฐ็Žฏๅขƒ่ฆๆฑ‚๏ผŒ้€‚ๅˆๅฟซ้€ŸๅŽŸๅž‹ๅ’Œๅœจ็บฟๅญฆไน ็ผ–็จ‹ใ€‚"),t("span",{class:"VPBadge tip badge"},"ไบ‘็ซฏๅ…จๆ ˆ")]),t("a",{href:"https://same.dev/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://same.dev/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Same.dev")]),t("p",{class:"desc"},'ไธ“ๆณจ"ๅ…‹้š†ไปปๆ„็ฝ‘็ซ™ UI"็š„ AI ็ผ–็ ๅทฅๅ…ท๏ผŒ่พ“ๅ…ฅ็›ฎๆ ‡็ฝ‘็ซ™ URL๏ผŒAI ่‡ชๅŠจ่ฟ˜ๅŽŸๅ…ถ็•Œ้ขๅนถ็”Ÿๆˆๅฏนๅบ”ๅ‰็ซฏไปฃ็ ๏ผŒ้€‚ๅˆๅญฆไน ๅ‚่€ƒไผ˜็ง€่ฎพ่ฎกใ€ๅฟซ้€Ÿๅค็Žฐ็ซžๅ“็•Œ้ข๏ผŒไปฅๅŠๅปบ็ซ™ๅˆๅง‹ๆจกๆฟๅฟซ้€Ÿๆญๅปบใ€‚'),t("span",{class:"VPBadge tip badge"},"UI ๅ…‹้š†")]),t("a",{href:"https://www.miaoda.cn/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://resource-static.cdn.bcebos.com/img/favicon.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"็ง’ๅ“’ Miaoda")]),t("p",{class:"desc"},'็™พๅบฆๅ‡บๅ“็š„ๆ— ไปฃ็ ๅบ”็”จๆญๅปบๅนณๅฐ๏ผŒๅฃๅท"ไธ€ๅฅ่ฏๅšๅบ”็”จ"ใ€‚ๅœจ่พ“ๅ…ฅๆก†็”จ่‡ช็„ถ่ฏญ่จ€ๆ่ฟฐ้œ€ๆฑ‚๏ผŒๅณๅฏไธ€้”ฎ็”Ÿๆˆๅฏ้ƒจ็ฝฒ็š„ Web ๅบ”็”จๆˆ–ๅพฎไฟกๅฐ็จ‹ๅบ๏ผ›ๅ†…็ฝฎๆทฑๅบฆๅผ€ๅ‘ๆจกๅผใ€ๆ’ไปถๅธ‚ๅœบไธŽ้ฃŽๆ ผๅฎšๅˆถ๏ผŒๅธฎๅŠฉๆƒณๆณ•ไปŽๆ่ฟฐ็›ด่พพๆˆๅ“ใ€‚้…ๅฅ—"ๅบ”็”จๅนฟๅœบ"ๆฑ‡่š็คพๅŒบไฝœๅ“๏ผŒๅฏๆต่งˆใ€็‚น่ตžๅนถๅ‚่€ƒไป–ไบบๆกˆไพ‹๏ผŒ้€‚ๅˆไบงๅ“ๅŽŸๅž‹ๅฟซ้€Ÿ้ชŒ่ฏใ€ๅญฆไน ๅ‚่€ƒไธŽๆผ”็คบๅฑ•็คบใ€‚'),t("span",{class:"VPBadge tip badge"},"ไธญๆ–‡ไฝ“้ชŒไฝณ")])])],-1),e("",6),t("div",{class:"container nav-card-container"},[t("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[t("a",{href:"https://www.cursor.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://www.cursor.com/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Cursor")]),t("p",{class:"desc"},"ๅŸบไบŽ VS Code ๆทฑๅบฆๆ”น้€ ็š„ AI ๅŽŸ็”Ÿ IDE๏ผŒไธ‰ๅคงๆ ธๅฟƒ่ƒฝๅŠ›๏ผšโ‘  Tab ๆ™บ่ƒฝ่กฅๅ…จ๏ผˆๆ„Ÿ็ŸฅไธŠไธ‹ๆ–‡ๅคšๆ–‡ไปถ๏ผ‰๏ผ›โ‘ก Cmd+K ่กŒๅ†…็”ŸๆˆไธŽไฟฎๆ”น๏ผ›โ‘ข Cursor Agent ๅฏ่‡ชไธป่ง„ๅˆ’ใ€่ฏปๅ†™ๅคšๆ–‡ไปถใ€่ฟ่กŒ็ปˆ็ซฏๅฎŒๆˆๅคๆ‚ไปปๅŠกใ€‚ๆ˜ฏ็›ฎๅ‰ๅฃ็ข‘ๆœ€ๅฅฝ็š„ AI ็ผ–็จ‹ๅทฅๅ…ทใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅผบ็ƒˆๆŽจ่")]),t("a",{href:"https://www.trae.cn/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://lf-cdn.trae.com.cn/obj/trae-com-cn/trae_website_prod_cn/favicon.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Trae IDE")]),t("p",{class:"desc"},'ๅ›ฝๅ†…ๅ‡บๅ“็š„ AI ๅŽŸ็”Ÿ IDE๏ผŒ"The Real AI Engineer๏ผˆ็œŸๆญฃ็š„ AI ๅทฅ็จ‹ๅธˆ๏ผ‰"๏ผŒๅ…่ดนๅฏ็”จใ€‚ไธ‰ๅคงๆ ธๅฟƒ่ƒฝๅŠ›๏ผšโ‘  ๆ™บ่ƒฝ่กฅๅ…จไธŽๅฏน่ฏๅผๆ”นไปฃ็ ๏ผ›โ‘ก ๅคšๆ–‡ไปถ Agent ่‡ชไธป้‡ๆž„๏ผŒๅ…จ้ขๅฏนๆ ‡ Cursor๏ผ›โ‘ข **ๆ•ฐๆฎๅฎ‰ๅ…จไผ˜ๅ…ˆ** โ€” ๅšๆŒ"ๆœฌๅœฐไผ˜ๅ…ˆใ€ๆœ€ๅฐๅŒ–ๆ•ฐๆฎๆ”ถ้›†"ๅŽŸๅˆ™๏ผŒๅ†…็ฝฎ้š็งๆจกๅผ๏ผŒไปฃ็ ้ป˜่ฎคๅญ˜ไบŽๆœฌๅœฐใ€‚ๅฆๆไพ› SOLO ๅœจ็บฟ่ฝป้‡็‰ˆไพ›ๅฟซ้€Ÿไฝ“้ชŒ๏ผŒ้€‚ๅˆๅ…ณๆณจๆ•ฐๆฎไธปๆƒ็š„ๅ›ฝๅ†…ๅผ€ๅ‘่€…ไธŽๆœ‰ๅˆ่ง„่ฆๆฑ‚็š„ไผไธšๅ›ข้˜Ÿใ€‚'),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅ†…่‡ชไธปๆ”ฏๆŒ")]),t("a",{href:"https://windsurf.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://codeium.com/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Windsurf")]),t("p",{class:"desc"},'Codeium ๅ‡บๅ“็š„ AI ๅŽŸ็”Ÿ IDE๏ผŒ็Žฐๅทฒ่ฟ่‡ณ็‹ฌ็ซ‹ๅŸŸๅ windsurf.com๏ผŒๅฃๅท"ๅผ€ๅ‘่€…ๅšๅ‡บๆœ€ไฝณๅทฅไฝœ็š„ๅœฐๆ–น"ใ€‚ไธคๅคงๆ ธๅฟƒ่ƒฝๅŠ›๏ผšโ‘  **Cascade Agent** โ€” ่ƒฝๅ‰็žป 10 ๆญฅไปฅไธŠ๏ผŒ่‡ชๅŠจ่ง„ๅˆ’ใ€็ผ–็ ใ€ไฟฎๅค Bug๏ผŒๆทฑๅบฆ็†่งฃๆ•ดไธชไปฃ็ ๅบ“ๅนถไธฒ่”ๅคšๆญฅ้ชคไปปๅŠก๏ผ›โ‘ก **Windsurf Tab** โ€” ไธ€้”ฎ่กฅๅ…จไปฃ็ ใ€่ทณ่ฝฌๅ…‰ๆ ‡ใ€่‡ชๅŠจๅฏผๅ…ฅไพ่ต–๏ผŒไฟๆŒๅผ€ๅ‘"ๅฟƒๆต"ไธไธญๆ–ญใ€‚ๆ”ฏๆŒ GPT-4.5ใ€Gemini ็ญ‰ไธปๆตๆจกๅž‹๏ผŒๆไพ›ไธชไบบๅ…่ดน็‰ˆไธŽไผไธš็‰ˆใ€‚'),t("span",{class:"VPBadge tip badge"},"ๅˆ†ๆžไปฃ็ ")])])],-1),e("",6),t("div",{class:"container nav-card-container"},[t("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[t("a",{href:"https://claude-update-code.squarespace.com/?gad_source=1&gad_campaignid=23635038607&gbraid=0AAAAADBLX79DSBI8Ftftv8_FSgjubKKve&gclid=CjwKCAiAtq_NBhA_EiwA78nNWBwq9FGhmQLtwZ0ImoSZ5098wJU2cJMAwk8pHy9DtfDpt6Zf_TzDNhoCptgQAvD_BwE",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://claude.ai/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Claude Code")]),t("p",{class:"desc"},'Anthropic ๅฎ˜ๆ–นๆŽจๅ‡บ็š„ๅ‘ฝไปค่กŒ AI ็ผ–็จ‹ Agent๏ผŒๅœจ็ปˆ็ซฏไธญ็›ดๆŽฅไธŽไปฃ็ ๅบ“ๆทฑๅบฆๅฏน่ฏ๏ผŒๆ”ฏๆŒๅคšๆ–‡ไปถ่ฏปๅ†™ใ€ๆ‰ง่กŒ Shell ๅ‘ฝไปคใ€Git ๆ“ไฝœ๏ผŒ่ƒฝๅคŸๅฎŒๆˆ"่ฏปๆ‡‚ๆ•ดไธชไปฃ็ ๅบ“โ†’ๅˆถๅฎšๆ–นๆกˆโ†’้€ๆญฅๆ‰ง่กŒ"็š„ๅฎŒๆ•ดๅทฅ็จ‹ไปปๅŠกๆต๏ผŒๆ˜ฏๆœ€่ดด่ฟ‘็œŸๅฎžๅทฅ็จ‹ๆต็จ‹็š„็ปˆ็ซฏ Agentใ€‚'),t("span",{class:"VPBadge tip badge"},"CLI Agent")]),t("a",{href:"https://opencode.ai",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://opencode.ai/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"opencode")]),t("p",{class:"desc"},"ๅผ€ๆบ AI ็ผ–็จ‹ไปฃ็†๏ผŒClaude Code ็š„ๅผ€ๆบๅนณๆ›ฟ๏ผŒๅ†…็ฝฎๅ…่ดนๆจกๅž‹๏ผŒไนŸๅฏ้…็ฝฎใ€่ฟžๆŽฅไปปๆ„ๆไพ›ๅ•†็š„ไปปๆ„ๆจกๅž‹๏ผŒๅŒ…ๆ‹ฌ Claudeใ€GPTใ€Gemini๏ผŒไปฅๅŠๅ›ฝๅ†…ๆจกๅž‹ใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅผ€ๆบ CLI Agent")]),t("a",{href:"https://devin.ai/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://devin.ai/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Devin")]),t("p",{class:"desc"},'ๅ…จ็ƒ้ฆ–ไธชๅ•†็”จ"AI ่ฝฏไปถๅทฅ็จ‹ๅธˆ"๏ผŒ่ƒฝๆŽฅๆ”ถ GitHub Issue ๆˆ–่‡ช็„ถ่ฏญ่จ€ไปปๅŠก๏ผŒ่‡ชไธปๆต่งˆๆ–‡ๆกฃใ€ๆœ็ดข่ต„ๆ–™ใ€็ผ–ๅ†™ไปฃ็ ใ€่ฟ่กŒๆต‹่ฏ•ๅนถๆไบค PR๏ผŒๅ…ทๅค‡ๅฎŒๆ•ดๅทฅ็จ‹ไปปๅŠก่‡ชไธปๆ‰ง่กŒ้—ญ็Žฏ๏ผŒๆ˜ฏ Agentic Engineering ็š„่กŒไธšๆ ‡ๆ†ใ€‚'),t("span",{class:"VPBadge tip badge"},"่‡ชไธป Agent ๆ ‡ๆ†")]),t("a",{href:"https://github.com/All-Hands-AI/OpenHands",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://github.githubassets.com/favicons/favicon.svg",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"OpenHands")]),t("p",{class:"desc"},"ๅ‰ OpenDevin๏ผŒๅฎŒๅ…จๅผ€ๆบ็š„ AI ่ฝฏไปถๅทฅ็จ‹ๅธˆๅนณๅฐ๏ผŒDevin ็š„ๅผ€ๆบๅฏ่‡ชๆ‰˜็ฎกๆ›ฟไปฃๆ–นๆกˆ๏ผŒๅฏๆœฌๅœฐ Docker ้ƒจ็ฝฒ๏ผŒๆ”ฏๆŒๆŽฅๅ…ฅๅคš็ง LLM๏ผˆGPT / Claude / DeepSeek ็ญ‰๏ผ‰๏ผŒ่‡ชไธปๆ‰ง่กŒไปฃ็ ๅบ“ไปปๅŠกใ€่ฟ่กŒ Shell ๅ‘ฝไปคใ€ๆต่งˆ็ฝ‘้กตๆŸฅ้˜…ๆ–‡ๆกฃใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅผ€ๆบๅฏ่‡ช้ƒจ็ฝฒ")]),t("a",{href:"https://www.augmentcode.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://www.augmentcode.com/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Augment Code")]),t("p",{class:"desc"},"ไธ“ไธบๅคงๅž‹ไปฃ็ ๅบ“่ฎพ่ฎก็š„ AI ็ผ–็จ‹ Agent ๅนณๅฐ๏ผŒ่ƒฝๆทฑๅบฆ็ดขๅผ•ไผไธš็บงไปฃ็ ๅบ“๏ผˆ็™พไธ‡่กŒ็บงๅˆซ๏ผ‰๏ผŒๆไพ›็ฒพๅ‡†็š„ไธŠไธ‹ๆ–‡ๆ„Ÿ็Ÿฅ่กฅๅ…จๅ’Œ Agent ไปปๅŠกๆ‰ง่กŒ๏ผŒ้€‚ๅˆไธญๅคงๅž‹ๅ›ข้˜Ÿๅœจๅทฒๆœ‰ๅคๆ‚ไปฃ็ ๅบ“ไธŠ่ฟ›่กŒ AI ่พ…ๅŠฉๅผ€ๅ‘ใ€‚"),t("span",{class:"VPBadge tip badge"},"ไผไธš็บง Agent")])])],-1),e("",3)])])}const m=s(d,[["render",i]]);export{h as __pageData,m as default}; +import{_ as s,g as l,h as n,U as e,i as t}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const h=JSON.parse('{"title":"AI ็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡ๆทฑๅบฆ่งฃๆžไบ† AI ้ฉฑๅŠจ็ผ–็จ‹็š„ไธ‰ๅคงๆผ”่ฟ›่Œƒๅผ๏ผšVibe Coding๏ผˆ่‡ช็„ถ่ฏญ่จ€้›ถ้—จๆง›ๆž„ๅปบ๏ผ‰ใ€AI IDE๏ผˆ็ผ–่พ‘ๅ™จๆทฑๅบฆ่พ…ๅŠฉๆๆ•ˆ๏ผ‰ๅŠ Agentic Engineering๏ผˆ่‡ชไธปๅทฅ็จ‹ๅธˆๆ‰ง่กŒไปปๅŠก๏ผ‰ใ€‚้€š่ฟ‡ๆจชๅ‘ๅฏนๆฏ” Bolt.newใ€Cursorใ€Claude Code ็ญ‰ๅ‰ๆฒฟๅทฅๅ…ท๏ผŒๆ–‡็ซ ๅ‹พๅ‹’ๅ‡บไธ€ๆกไปŽโ€œๅฟซ้€ŸๅŽŸๅž‹โ€ๅˆฐโ€œ้ซ˜ๆ•ˆๅๅŒโ€ๅ†ๅˆฐโ€œ่‡ชไธปไบคไป˜โ€็š„่ฟ›้˜ถ่ทฏๅพ„ใ€‚ๆ ธๅฟƒๆ—จๅœจๆŒ‡ๅฏผ็”จๆˆทๅˆฉ็”จ AI ๅทฅๅ…ท็Ÿฉ้˜ตๆ‰“็ ดๆŠ€ๆœฏ่พน็•Œ๏ผŒๅฎž็ŽฐไปŽๅˆ›ๆ„ๆ่ฟฐๅˆฐๅทฅไธš็บงไบคไป˜็š„็”ŸไบงๅŠ›้ฃž่ทƒ๏ผŒ้‡ๅก‘่ฝฏไปถๅผ€ๅ‘ๅ…จ็”Ÿๅ‘ฝๅ‘จๆœŸใ€‚","frontmatter":{"date":"2025-11-25T00:52:28.000Z","title":"AI ็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡ๆทฑๅบฆ่งฃๆžไบ† AI ้ฉฑๅŠจ็ผ–็จ‹็š„ไธ‰ๅคงๆผ”่ฟ›่Œƒๅผ๏ผšVibe Coding๏ผˆ่‡ช็„ถ่ฏญ่จ€้›ถ้—จๆง›ๆž„ๅปบ๏ผ‰ใ€AI IDE๏ผˆ็ผ–่พ‘ๅ™จๆทฑๅบฆ่พ…ๅŠฉๆๆ•ˆ๏ผ‰ๅŠ Agentic Engineering๏ผˆ่‡ชไธปๅทฅ็จ‹ๅธˆๆ‰ง่กŒไปปๅŠก๏ผ‰ใ€‚้€š่ฟ‡ๆจชๅ‘ๅฏนๆฏ” Bolt.newใ€Cursorใ€Claude Code ็ญ‰ๅ‰ๆฒฟๅทฅๅ…ท๏ผŒๆ–‡็ซ ๅ‹พๅ‹’ๅ‡บไธ€ๆกไปŽโ€œๅฟซ้€ŸๅŽŸๅž‹โ€ๅˆฐโ€œ้ซ˜ๆ•ˆๅๅŒโ€ๅ†ๅˆฐโ€œ่‡ชไธปไบคไป˜โ€็š„่ฟ›้˜ถ่ทฏๅพ„ใ€‚ๆ ธๅฟƒๆ—จๅœจๆŒ‡ๅฏผ็”จๆˆทๅˆฉ็”จ AI ๅทฅๅ…ท็Ÿฉ้˜ตๆ‰“็ ดๆŠ€ๆœฏ่พน็•Œ๏ผŒๅฎž็ŽฐไปŽๅˆ›ๆ„ๆ่ฟฐๅˆฐๅทฅไธš็บงไบคไป˜็š„็”ŸไบงๅŠ›้ฃž่ทƒ๏ผŒ้‡ๅก‘่ฝฏไปถๅผ€ๅ‘ๅ…จ็”Ÿๅ‘ฝๅ‘จๆœŸใ€‚","permalink":"/ai-learning/ai-coding-resources","coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/source_sites_bg.png","categories":["่ต„ๆบๆŽจ่"],"tags":["่ต„ๆบๆŽจ่","AI","AI Coding","Vibe Coding","Agentic Engineering"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ.md","filePath":"01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ.md"}'),d={name:"01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ.md"};function i(o,a,r,c,g,_){return n(),l("div",null,[...a[0]||(a[0]=[e("",10),t("div",{class:"container nav-card-container"},[t("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[t("a",{href:"https://bolt.new/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://bolt.new/static/favicon-192x192.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Bolt.new")]),t("p",{class:"desc"},"StackBlitz ๆŽจๅ‡บ็š„ๅ…จๆ ˆ AI ๅผ€ๅ‘ๅนณๅฐ๏ผŒๅœจๆต่งˆๅ™จไธญ็›ดๆŽฅ็”Ÿๆˆๅนถ่ฟ่กŒๅฎŒๆ•ด็š„ React ้กน็›ฎ๏ผŒๆ”ฏๆŒๅคš่ฝฎๅฏน่ฏ่ฟญไปฃ๏ผŒๅฏไธ€้”ฎ้ƒจ็ฝฒๅˆฐ Netlify / Vercel๏ผŒ้›ถ็Žฏๅขƒ้…็ฝฎไปŽๆ่ฟฐๅˆฐไธŠ็บฟๅ…จ้“พ่ทฏๆ‰“้€šใ€‚"),t("span",{class:"VPBadge tip badge"},"ไธ€้”ฎ้ƒจ็ฝฒ")]),t("a",{href:"https://v0.dev/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://v0.app/assets/icon-dark-32x32.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"v0 (Vercel)")]),t("p",{class:"desc"},"Vercel ๆŽจๅ‡บ็š„ UI ็ป„ไปถ็”Ÿๆˆๅทฅๅ…ท๏ผŒไธ“ๆณจๅ‰็ซฏ็•Œ้ข๏ผš็”จ่‡ช็„ถ่ฏญ่จ€ๆ่ฟฐ็•Œ้ข๏ผŒ็”Ÿๆˆ React + Tailwind CSS + shadcn/ui ็ป„ไปถไปฃ็ ๏ผŒๅฏ็›ดๆŽฅๅคๅˆถ่ฟ›้กน็›ฎ๏ผŒๅคฉ็”ŸไธŽ Next.js ็”Ÿๆ€ๆ— ็ผ่ก”ๆŽฅ๏ผŒ้žๅธธ้€‚ๅˆๅ‰็ซฏ UI ็š„ๅฟซ้€ŸๅŽŸๅž‹ใ€‚"),t("span",{class:"VPBadge tip badge"},"UI ็”Ÿๆˆ")]),t("a",{href:"https://lovable.dev/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://lovable.dev/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Lovable")]),t("p",{class:"desc"},"้ขๅ‘้žๆŠ€ๆœฏ็”จๆˆท็š„ AI ๅ…จๆ ˆๅบ”็”จ็”Ÿๆˆๅ™จ๏ผŒ่พ“ๅ…ฅไบงๅ“ๆƒณๆณ•็”Ÿๆˆๅ‰ๅŽ็ซฏๅฎŒๆ•ดๅบ”็”จ๏ผŒๅ†…็ฝฎ Supabase ๆ•ฐๆฎๅบ“้›†ๆˆไธŽไธ€้”ฎ้ƒจ็ฝฒ๏ผŒๆ”ฏๆŒๅฎžๆ—ถ้ข„่งˆๅ’Œๅคš่ฝฎๅฏน่ฏไฟฎๆ”น๏ผŒ่ฎฉๆฒกๆœ‰็ผ–็จ‹ๅŸบ็ก€็š„ไบบไนŸ่ƒฝ็‹ฌ็ซ‹ๅšๅ‡บๅฏไธŠ็บฟ็š„ Web ไบงๅ“ใ€‚"),t("span",{class:"VPBadge tip badge"},"ๆ— ไปฃ็ ๅ…จๆ ˆ")]),t("a",{href:"https://replit.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://replit.com/public/icons/favicon-prompt-192.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Replit Agent")]),t("p",{class:"desc"},"ไบ‘็ซฏๅœจ็บฟ IDE Replit ๅ†…็ฝฎ็š„ AI Agent๏ผŒ่ƒฝไปŽ้œ€ๆฑ‚ๆ่ฟฐ่‡ชๅŠจ็”ŸๆˆๅฎŒๆ•ด้กน็›ฎใ€ๅฎ‰่ฃ…ไพ่ต–ใ€่ฟ่กŒ่ฐƒ่ฏ•๏ผŒๅ…จ็จ‹ๅœจๆต่งˆๅ™จๅ†…ๅฎŒๆˆ๏ผŒๅ†…็ฝฎๆ‰˜็ฎกไธŽๅˆ†ไบซๅŠŸ่ƒฝ๏ผŒ้›ถๆœฌๅœฐ็Žฏๅขƒ่ฆๆฑ‚๏ผŒ้€‚ๅˆๅฟซ้€ŸๅŽŸๅž‹ๅ’Œๅœจ็บฟๅญฆไน ็ผ–็จ‹ใ€‚"),t("span",{class:"VPBadge tip badge"},"ไบ‘็ซฏๅ…จๆ ˆ")]),t("a",{href:"https://same.dev/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://same.dev/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Same.dev")]),t("p",{class:"desc"},'ไธ“ๆณจ"ๅ…‹้š†ไปปๆ„็ฝ‘็ซ™ UI"็š„ AI ็ผ–็ ๅทฅๅ…ท๏ผŒ่พ“ๅ…ฅ็›ฎๆ ‡็ฝ‘็ซ™ URL๏ผŒAI ่‡ชๅŠจ่ฟ˜ๅŽŸๅ…ถ็•Œ้ขๅนถ็”Ÿๆˆๅฏนๅบ”ๅ‰็ซฏไปฃ็ ๏ผŒ้€‚ๅˆๅญฆไน ๅ‚่€ƒไผ˜็ง€่ฎพ่ฎกใ€ๅฟซ้€Ÿๅค็Žฐ็ซžๅ“็•Œ้ข๏ผŒไปฅๅŠๅปบ็ซ™ๅˆๅง‹ๆจกๆฟๅฟซ้€Ÿๆญๅปบใ€‚'),t("span",{class:"VPBadge tip badge"},"UI ๅ…‹้š†")]),t("a",{href:"https://www.miaoda.cn/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://resource-static.cdn.bcebos.com/img/favicon.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"็ง’ๅ“’ Miaoda")]),t("p",{class:"desc"},'็™พๅบฆๅ‡บๅ“็š„ๆ— ไปฃ็ ๅบ”็”จๆญๅปบๅนณๅฐ๏ผŒๅฃๅท"ไธ€ๅฅ่ฏๅšๅบ”็”จ"ใ€‚ๅœจ่พ“ๅ…ฅๆก†็”จ่‡ช็„ถ่ฏญ่จ€ๆ่ฟฐ้œ€ๆฑ‚๏ผŒๅณๅฏไธ€้”ฎ็”Ÿๆˆๅฏ้ƒจ็ฝฒ็š„ Web ๅบ”็”จๆˆ–ๅพฎไฟกๅฐ็จ‹ๅบ๏ผ›ๅ†…็ฝฎๆทฑๅบฆๅผ€ๅ‘ๆจกๅผใ€ๆ’ไปถๅธ‚ๅœบไธŽ้ฃŽๆ ผๅฎšๅˆถ๏ผŒๅธฎๅŠฉๆƒณๆณ•ไปŽๆ่ฟฐ็›ด่พพๆˆๅ“ใ€‚้…ๅฅ—"ๅบ”็”จๅนฟๅœบ"ๆฑ‡่š็คพๅŒบไฝœๅ“๏ผŒๅฏๆต่งˆใ€็‚น่ตžๅนถๅ‚่€ƒไป–ไบบๆกˆไพ‹๏ผŒ้€‚ๅˆไบงๅ“ๅŽŸๅž‹ๅฟซ้€Ÿ้ชŒ่ฏใ€ๅญฆไน ๅ‚่€ƒไธŽๆผ”็คบๅฑ•็คบใ€‚'),t("span",{class:"VPBadge tip badge"},"ไธญๆ–‡ไฝ“้ชŒไฝณ")])])],-1),e("",6),t("div",{class:"container nav-card-container"},[t("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[t("a",{href:"https://www.cursor.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://www.cursor.com/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Cursor")]),t("p",{class:"desc"},"ๅŸบไบŽ VS Code ๆทฑๅบฆๆ”น้€ ็š„ AI ๅŽŸ็”Ÿ IDE๏ผŒไธ‰ๅคงๆ ธๅฟƒ่ƒฝๅŠ›๏ผšโ‘  Tab ๆ™บ่ƒฝ่กฅๅ…จ๏ผˆๆ„Ÿ็ŸฅไธŠไธ‹ๆ–‡ๅคšๆ–‡ไปถ๏ผ‰๏ผ›โ‘ก Cmd+K ่กŒๅ†…็”ŸๆˆไธŽไฟฎๆ”น๏ผ›โ‘ข Cursor Agent ๅฏ่‡ชไธป่ง„ๅˆ’ใ€่ฏปๅ†™ๅคšๆ–‡ไปถใ€่ฟ่กŒ็ปˆ็ซฏๅฎŒๆˆๅคๆ‚ไปปๅŠกใ€‚ๆ˜ฏ็›ฎๅ‰ๅฃ็ข‘ๆœ€ๅฅฝ็š„ AI ็ผ–็จ‹ๅทฅๅ…ทใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅผบ็ƒˆๆŽจ่")]),t("a",{href:"https://www.trae.cn/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://lf-cdn.trae.com.cn/obj/trae-com-cn/trae_website_prod_cn/favicon.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Trae IDE")]),t("p",{class:"desc"},'ๅ›ฝๅ†…ๅ‡บๅ“็š„ AI ๅŽŸ็”Ÿ IDE๏ผŒ"The Real AI Engineer๏ผˆ็œŸๆญฃ็š„ AI ๅทฅ็จ‹ๅธˆ๏ผ‰"๏ผŒๅ…่ดนๅฏ็”จใ€‚ไธ‰ๅคงๆ ธๅฟƒ่ƒฝๅŠ›๏ผšโ‘  ๆ™บ่ƒฝ่กฅๅ…จไธŽๅฏน่ฏๅผๆ”นไปฃ็ ๏ผ›โ‘ก ๅคšๆ–‡ไปถ Agent ่‡ชไธป้‡ๆž„๏ผŒๅ…จ้ขๅฏนๆ ‡ Cursor๏ผ›โ‘ข **ๆ•ฐๆฎๅฎ‰ๅ…จไผ˜ๅ…ˆ** โ€” ๅšๆŒ"ๆœฌๅœฐไผ˜ๅ…ˆใ€ๆœ€ๅฐๅŒ–ๆ•ฐๆฎๆ”ถ้›†"ๅŽŸๅˆ™๏ผŒๅ†…็ฝฎ้š็งๆจกๅผ๏ผŒไปฃ็ ้ป˜่ฎคๅญ˜ไบŽๆœฌๅœฐใ€‚ๅฆๆไพ› SOLO ๅœจ็บฟ่ฝป้‡็‰ˆไพ›ๅฟซ้€Ÿไฝ“้ชŒ๏ผŒ้€‚ๅˆๅ…ณๆณจๆ•ฐๆฎไธปๆƒ็š„ๅ›ฝๅ†…ๅผ€ๅ‘่€…ไธŽๆœ‰ๅˆ่ง„่ฆๆฑ‚็š„ไผไธšๅ›ข้˜Ÿใ€‚'),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅ†…่‡ชไธปๆ”ฏๆŒ")]),t("a",{href:"https://windsurf.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://codeium.com/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Windsurf")]),t("p",{class:"desc"},'Codeium ๅ‡บๅ“็š„ AI ๅŽŸ็”Ÿ IDE๏ผŒ็Žฐๅทฒ่ฟ่‡ณ็‹ฌ็ซ‹ๅŸŸๅ windsurf.com๏ผŒๅฃๅท"ๅผ€ๅ‘่€…ๅšๅ‡บๆœ€ไฝณๅทฅไฝœ็š„ๅœฐๆ–น"ใ€‚ไธคๅคงๆ ธๅฟƒ่ƒฝๅŠ›๏ผšโ‘  **Cascade Agent** โ€” ่ƒฝๅ‰็žป 10 ๆญฅไปฅไธŠ๏ผŒ่‡ชๅŠจ่ง„ๅˆ’ใ€็ผ–็ ใ€ไฟฎๅค Bug๏ผŒๆทฑๅบฆ็†่งฃๆ•ดไธชไปฃ็ ๅบ“ๅนถไธฒ่”ๅคšๆญฅ้ชคไปปๅŠก๏ผ›โ‘ก **Windsurf Tab** โ€” ไธ€้”ฎ่กฅๅ…จไปฃ็ ใ€่ทณ่ฝฌๅ…‰ๆ ‡ใ€่‡ชๅŠจๅฏผๅ…ฅไพ่ต–๏ผŒไฟๆŒๅผ€ๅ‘"ๅฟƒๆต"ไธไธญๆ–ญใ€‚ๆ”ฏๆŒ GPT-4.5ใ€Gemini ็ญ‰ไธปๆตๆจกๅž‹๏ผŒๆไพ›ไธชไบบๅ…่ดน็‰ˆไธŽไผไธš็‰ˆใ€‚'),t("span",{class:"VPBadge tip badge"},"ๅˆ†ๆžไปฃ็ ")])])],-1),e("",6),t("div",{class:"container nav-card-container"},[t("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[t("a",{href:"https://claude-update-code.squarespace.com/?gad_source=1&gad_campaignid=23635038607&gbraid=0AAAAADBLX79DSBI8Ftftv8_FSgjubKKve&gclid=CjwKCAiAtq_NBhA_EiwA78nNWBwq9FGhmQLtwZ0ImoSZ5098wJU2cJMAwk8pHy9DtfDpt6Zf_TzDNhoCptgQAvD_BwE",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://claude.ai/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Claude Code")]),t("p",{class:"desc"},'Anthropic ๅฎ˜ๆ–นๆŽจๅ‡บ็š„ๅ‘ฝไปค่กŒ AI ็ผ–็จ‹ Agent๏ผŒๅœจ็ปˆ็ซฏไธญ็›ดๆŽฅไธŽไปฃ็ ๅบ“ๆทฑๅบฆๅฏน่ฏ๏ผŒๆ”ฏๆŒๅคšๆ–‡ไปถ่ฏปๅ†™ใ€ๆ‰ง่กŒ Shell ๅ‘ฝไปคใ€Git ๆ“ไฝœ๏ผŒ่ƒฝๅคŸๅฎŒๆˆ"่ฏปๆ‡‚ๆ•ดไธชไปฃ็ ๅบ“โ†’ๅˆถๅฎšๆ–นๆกˆโ†’้€ๆญฅๆ‰ง่กŒ"็š„ๅฎŒๆ•ดๅทฅ็จ‹ไปปๅŠกๆต๏ผŒๆ˜ฏๆœ€่ดด่ฟ‘็œŸๅฎžๅทฅ็จ‹ๆต็จ‹็š„็ปˆ็ซฏ Agentใ€‚'),t("span",{class:"VPBadge tip badge"},"CLI Agent")]),t("a",{href:"https://opencode.ai",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://opencode.ai/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"opencode")]),t("p",{class:"desc"},"ๅผ€ๆบ AI ็ผ–็จ‹ไปฃ็†๏ผŒClaude Code ็š„ๅผ€ๆบๅนณๆ›ฟ๏ผŒๅ†…็ฝฎๅ…่ดนๆจกๅž‹๏ผŒไนŸๅฏ้…็ฝฎใ€่ฟžๆŽฅไปปๆ„ๆไพ›ๅ•†็š„ไปปๆ„ๆจกๅž‹๏ผŒๅŒ…ๆ‹ฌ Claudeใ€GPTใ€Gemini๏ผŒไปฅๅŠๅ›ฝๅ†…ๆจกๅž‹ใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅผ€ๆบ CLI Agent")]),t("a",{href:"https://devin.ai/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://devin.ai/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Devin")]),t("p",{class:"desc"},'ๅ…จ็ƒ้ฆ–ไธชๅ•†็”จ"AI ่ฝฏไปถๅทฅ็จ‹ๅธˆ"๏ผŒ่ƒฝๆŽฅๆ”ถ GitHub Issue ๆˆ–่‡ช็„ถ่ฏญ่จ€ไปปๅŠก๏ผŒ่‡ชไธปๆต่งˆๆ–‡ๆกฃใ€ๆœ็ดข่ต„ๆ–™ใ€็ผ–ๅ†™ไปฃ็ ใ€่ฟ่กŒๆต‹่ฏ•ๅนถๆไบค PR๏ผŒๅ…ทๅค‡ๅฎŒๆ•ดๅทฅ็จ‹ไปปๅŠก่‡ชไธปๆ‰ง่กŒ้—ญ็Žฏ๏ผŒๆ˜ฏ Agentic Engineering ็š„่กŒไธšๆ ‡ๆ†ใ€‚'),t("span",{class:"VPBadge tip badge"},"่‡ชไธป Agent ๆ ‡ๆ†")]),t("a",{href:"https://github.com/All-Hands-AI/OpenHands",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://github.githubassets.com/favicons/favicon.svg",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"OpenHands")]),t("p",{class:"desc"},"ๅ‰ OpenDevin๏ผŒๅฎŒๅ…จๅผ€ๆบ็š„ AI ่ฝฏไปถๅทฅ็จ‹ๅธˆๅนณๅฐ๏ผŒDevin ็š„ๅผ€ๆบๅฏ่‡ชๆ‰˜็ฎกๆ›ฟไปฃๆ–นๆกˆ๏ผŒๅฏๆœฌๅœฐ Docker ้ƒจ็ฝฒ๏ผŒๆ”ฏๆŒๆŽฅๅ…ฅๅคš็ง LLM๏ผˆGPT / Claude / DeepSeek ็ญ‰๏ผ‰๏ผŒ่‡ชไธปๆ‰ง่กŒไปฃ็ ๅบ“ไปปๅŠกใ€่ฟ่กŒ Shell ๅ‘ฝไปคใ€ๆต่งˆ็ฝ‘้กตๆŸฅ้˜…ๆ–‡ๆกฃใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅผ€ๆบๅฏ่‡ช้ƒจ็ฝฒ")]),t("a",{href:"https://www.augmentcode.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://www.augmentcode.com/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Augment Code")]),t("p",{class:"desc"},"ไธ“ไธบๅคงๅž‹ไปฃ็ ๅบ“่ฎพ่ฎก็š„ AI ็ผ–็จ‹ Agent ๅนณๅฐ๏ผŒ่ƒฝๆทฑๅบฆ็ดขๅผ•ไผไธš็บงไปฃ็ ๅบ“๏ผˆ็™พไธ‡่กŒ็บงๅˆซ๏ผ‰๏ผŒๆไพ›็ฒพๅ‡†็š„ไธŠไธ‹ๆ–‡ๆ„Ÿ็Ÿฅ่กฅๅ…จๅ’Œ Agent ไปปๅŠกๆ‰ง่กŒ๏ผŒ้€‚ๅˆไธญๅคงๅž‹ๅ›ข้˜Ÿๅœจๅทฒๆœ‰ๅคๆ‚ไปฃ็ ๅบ“ไธŠ่ฟ›่กŒ AI ่พ…ๅŠฉๅผ€ๅ‘ใ€‚"),t("span",{class:"VPBadge tip badge"},"ไผไธš็บง Agent")])])],-1),e("",3)])])}const m=s(d,[["render",i]]);export{h as __pageData,m as default}; diff --git "a/assets/01.\345\205\250\346\240\210_40.\345\211\215\347\253\257\345\267\245\347\250\213_01.React \350\256\276\350\256\241\345\223\262\345\255\246\357\274\232AI \345\215\217\344\275\234\346\227\266\344\273\243\347\232\204\347\273\204\344\273\266\345\214\226\345\274\200\345\217\221\345\256\236\350\267\265\346\214\207\345\215\227.md.C0-Qj7UG.js" "b/assets/01.\345\205\250\346\240\210_40.\345\211\215\347\253\257\345\267\245\347\250\213_01.React \350\256\276\350\256\241\345\223\262\345\255\246\357\274\232AI \345\215\217\344\275\234\346\227\266\344\273\243\347\232\204\347\273\204\344\273\266\345\214\226\345\274\200\345\217\221\345\256\236\350\267\265\346\214\207\345\215\227.md.ip_V3kmi.js" similarity index 99% rename from "assets/01.\345\205\250\346\240\210_40.\345\211\215\347\253\257\345\267\245\347\250\213_01.React \350\256\276\350\256\241\345\223\262\345\255\246\357\274\232AI \345\215\217\344\275\234\346\227\266\344\273\243\347\232\204\347\273\204\344\273\266\345\214\226\345\274\200\345\217\221\345\256\236\350\267\265\346\214\207\345\215\227.md.C0-Qj7UG.js" rename to "assets/01.\345\205\250\346\240\210_40.\345\211\215\347\253\257\345\267\245\347\250\213_01.React \350\256\276\350\256\241\345\223\262\345\255\246\357\274\232AI \345\215\217\344\275\234\346\227\266\344\273\243\347\232\204\347\273\204\344\273\266\345\214\226\345\274\200\345\217\221\345\256\236\350\267\265\346\214\207\345\215\227.md.ip_V3kmi.js" index a468446e..974ea2a2 100644 --- "a/assets/01.\345\205\250\346\240\210_40.\345\211\215\347\253\257\345\267\245\347\250\213_01.React \350\256\276\350\256\241\345\223\262\345\255\246\357\274\232AI \345\215\217\344\275\234\346\227\266\344\273\243\347\232\204\347\273\204\344\273\266\345\214\226\345\274\200\345\217\221\345\256\236\350\267\265\346\214\207\345\215\227.md.C0-Qj7UG.js" +++ "b/assets/01.\345\205\250\346\240\210_40.\345\211\215\347\253\257\345\267\245\347\250\213_01.React \350\256\276\350\256\241\345\223\262\345\255\246\357\274\232AI \345\215\217\344\275\234\346\227\266\344\273\243\347\232\204\347\273\204\344\273\266\345\214\226\345\274\200\345\217\221\345\256\236\350\267\265\346\214\207\345\215\227.md.ip_V3kmi.js" @@ -1 +1 @@ -import{H as r}from"./chunks/HighLightText.gRdAAF3C.js";import{g as s,h as i,U as n,i as o,z as a,S as e,s as l}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const I=JSON.parse('{"title":"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—","description":"ๆœฌๆ–‡ๆŽข่ฎจๅœจ AI ๅขžๅผบๅผ€ๅ‘่ƒŒๆ™ฏไธ‹๏ผŒๅฆ‚ไฝ•้‡ๅก‘ React ็ป„ไปถ่ฎพ่ฎกๅŽŸๅˆ™ใ€‚ๆถต็›– SRP ่Œ่ดฃๅˆ’ๅˆ†ใ€้™ๆ€็‰ˆๆœฌๅŸบ็บฟใ€ๆœ€ๅฐ็Šถๆ€๏ผˆDerived Data๏ผ‰ๆŽจๅฏผไปฅๅŠ SDD ไบบๆœบๅไฝœๆจกๅผ็š„ๅทฅ็จ‹่ฝๅœฐใ€‚","frontmatter":{"date":"2026-02-10T23:33:19.000Z","title":"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—","tldr":"ๅฝ“ AI ๆ‰ฟๆŽฅไบ† 30% ็š„็ผ–็ ๆ‰ง่กŒๆ—ถ๏ผŒๅผ€ๅ‘่€…้œ€้€š่ฟ‡โ€œ่ง„ๆ ผ้ฉฑๅŠจ๏ผˆSDD๏ผ‰โ€้‡ๅคบ 70% ็š„่ฎพ่ฎกไธปๆƒ๏ผšไปŽ่‡ชๆฒป็ป„ไปถๅˆ’ๅˆ†ๅˆฐๅ•ๅ‘ๆ•ฐๆฎๆตๆ‹“ๆ‰‘็š„ๆทฑๅบฆๆŽจๆผ”ใ€‚","description":"ๆœฌๆ–‡ๆŽข่ฎจๅœจ AI ๅขžๅผบๅผ€ๅ‘่ƒŒๆ™ฏไธ‹๏ผŒๅฆ‚ไฝ•้‡ๅก‘ React ็ป„ไปถ่ฎพ่ฎกๅŽŸๅˆ™ใ€‚ๆถต็›– SRP ่Œ่ดฃๅˆ’ๅˆ†ใ€้™ๆ€็‰ˆๆœฌๅŸบ็บฟใ€ๆœ€ๅฐ็Šถๆ€๏ผˆDerived Data๏ผ‰ๆŽจๅฏผไปฅๅŠ SDD ไบบๆœบๅไฝœๆจกๅผ็š„ๅทฅ็จ‹่ฝๅœฐใ€‚","tags":["tutorial","react","component-design","state-management","ai-augmented","specification-driven"],"permalink":"/fullstack/react-design-philosophy-ai-augmented","categories":["ๅ…จๆ ˆ","ๅ‰็ซฏๅทฅ็จ‹"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—.md","filePath":"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—.md"}'),d={name:"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—.md"},D=Object.assign(d,{setup(g){return(p,t)=>(i(),s("div",null,[t[10]||(t[10]=n('

React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ— โ€‹

1. ๅผ•่จ€ โ€‹

',3)),o("p",null,[t[1]||(t[1]=e("ๅœจ่ฝฏไปถๅทฅ็จ‹ไธญ๏ผŒ็บฆ 70% ็š„ๆ—ถ้—ดๅบ”ๆŠ•ๅ…ฅไบŽๆžถๆž„่ฎพ่ฎกใ€้œ€ๆฑ‚ๆ‹†่งฃไธŽๆŽฅๅฃ่ฏญไน‰ๆŽจๆ•ฒ๏ผŒไป… 30% ็”จไบŽๅฎž้™…็ผ–็ ใ€‚่ฟ›ๅ…ฅ AI ๅไฝœๆ—ถไปฃๅŽ๏ผŒ่ฟ™ไธ€ๆฏ”ไพ‹ไพ็„ถๅšๅฆ‚็ฃ็Ÿณโ€”โ€”ๅผ€ๅ‘่€…ๅฟ…้กปๅ…ˆๅฎŒๆˆๆทฑๅบฆๆ€่€ƒ๏ผŒๅฐ†โ€œๆธ…ๆ™ฐ็š„้—ฎ้ข˜่ง„ๆ ผ๏ผˆSpecification๏ผ‰โ€ไบค็ป™ AI๏ผŒAI ๆ‰่ƒฝ่พ“ๅ‡บ้ซ˜่ดจ้‡ไปฃ็ ใ€‚",-1)),a(r,{type:"note",bold:""},{default:l(()=>[...t[0]||(t[0]=[e("AI ๆๅ‡็š„ๆ˜ฏ 30% ็ผ–็ ้˜ถๆฎต็š„ๆ‰ง่กŒๅŠ›๏ผŒ่€Œ้žๅ–ไปฃ 70% ็š„ๆžถๆž„่ฃๅ†ณ",-1)])]),_:1}),t[2]||(t[2]=e("ใ€‚ ้ซ˜่ดจ้‡ React ๅบ”็”จ็š„่ฏž็”Ÿ๏ผŒไพ็„ถๅง‹ไบŽไบบ็ฑปๅฟƒๆ™บๅฏนๆ•ฐๆฎๆตใ€ๅ‰ฏไฝœ็”จ่พน็•ŒไธŽๅฏ็ป„ๅˆๆ€ง็š„้€ๅฝปๆŽจๆผ”ใ€‚",-1))]),t[11]||(t[11]=o("p",null,'็„ถ่€Œ๏ผŒ็œŸๆญฃ้ฉพ้ฉญ React ๅนถ้žๆ˜“ไบ‹ใ€‚่ฎธๅคšๅ›ข้˜Ÿๅœจ้กน็›ฎๅˆๆœŸไบซๅ—็€็ป„ไปถๅŒ–ๅธฆๆฅ็š„ๅฟซๆ„Ÿ๏ผŒๅดๅœจไธšๅŠก่†จ่ƒ€ๅŽ้™ทๅ…ฅ"็ป„ไปถๅœฐ็‹ฑ"โ€”โ€”ๆทฑๅตŒๅฅ—็š„ prop drillingใ€ๅคฑๆŽง็š„็Šถๆ€่”“ๅปถใ€้šพไปฅ่ฟฝ่ธช็š„ๅ‰ฏไฝœ็”จ๏ผŒ่ฎฉไปฃ็ ๅบ“้€ๆธ่…ๅŒ–ใ€‚้—ฎ้ข˜็š„ๆ นๆบๅพ€ๅพ€ไธๅœจไบŽ React ๆœฌ่บซ๏ผŒ่€ŒๅœจไบŽๆˆ‘ไปฌๆ˜ฏๅฆ็œŸๆญฃ็†่งฃๅ…ถ่ƒŒๅŽ็š„่ฎพ่ฎกๅ“ฒๅญฆใ€‚',-1)),a(r,{bold:""},{default:l(()=>[...t[3]||(t[3]=[e("React ็š„็ฒพ้ซ“ๅœจไบŽไปฅ็ป„ไปถๅŒ–ไธบๆ ธๅฟƒ๏ผŒๅฐ†ๅคๆ‚็š„ UI ๆ‹†่งฃไธบ็‹ฌ็ซ‹ใ€ๅฏๅค็”จ็š„่‡ชๆฒปๅ•ๅ…ƒ๏ผŒ่ฎฉๆ•ฐๆฎๆฒฟ็€ไปŽ่พ“ๅ…ฅ๏ผˆprops๏ผ‰ๅˆฐ่พ“ๅ‡บ๏ผˆUI ๅ…ƒ็ด ๏ผ‰็š„่ฝจ่ฟนๅฝขๆˆๆธ…ๆ™ฐใ€ๅฏๆŽง็š„้—ญ็Žฏ",-1)])]),_:1}),t[12]||(t[12]=n('ใ€‚ไธบ็กฎไฟ้กน็›ฎ็š„ๅฏ็ปดๆŠคๆ€งไธŽๆŠ—่…ๅŒ–่ƒฝๅŠ›๏ผŒReact ๅผ€ๅ‘่€…ๅบ”ๅฐ†ไปฅไธ‹ๆ ‡ๅ‡†ๅ†…ๅŒ–ไธบ่‚Œ่‚‰่ฎฐๅฟ†๏ผš
ๆฃ€ๆŸฅ้กนๆ ธๅฟƒๆ ‡ๅ‡†ๆžถๆž„็›ฎๆ ‡
1. ๅ•ไธ€่Œ่ดฃๆฏไธช็ป„ไปถๆ˜ฏๅฆๅชๅšไธ€ไปถไบ‹๏ผˆ็บฏๅธƒๅฑ€ๆˆ–็บฏ้€ป่พ‘๏ผ‰๏ผŸๆŽงๅˆถ่ฎค็Ÿฅๅคๆ‚ๅบฆ๏ผŒ้˜ฒๆญข็ป„ไปถโ€œไธŠๅธๅŒ–โ€
2. ็ป„ๅˆไผ˜ๅ…ˆๆ˜ฏๅฆไผ˜ๅ…ˆไฝฟ็”จไบ† children ๆˆ– Props ไผ ้€’ๅญ็ป„ไปถ๏ผŸๆถˆ้™ค Prop Drilling๏ผŒๆๅ‡็ตๆดปๆ€ง
3. DOM ๆ‰ๅนณๆ˜ฏๅฆๅˆฉ็”จ <>...</> ็งป้™คไบ†ๆ‰€ๆœ‰้žๅฟ…่ฆ็š„ๅŒ…่ฃ… <div>๏ผŸๅ‡ๅฐๆธฒๆŸ“ๅผ€้”€๏ผŒไฟๆŒ DOM ๆ ‘็บฏ็ฒน
4. ๆ‹ฅๆŠฑ Hooksๆ˜ฏๅฆๅทฒ็”จ Custom Hooks ๆ›ฟไปฃไบ† HOC ๅตŒๅฅ—๏ผŸๅฑ•ๅนณ็ป„ไปถๆ ‘๏ผŒๅฎž็Žฐ้€ป่พ‘ไธŽ่ง†ๅ›พ็š„็‰ฉ็†้š”็ฆป

2. ๅˆ’ๅˆ†ๅ…ทๅค‡ๅˆ†ๅฑ‚็ป“ๆž„็š„โ€œ่‡ชๆฒปโ€็ป„ไปถ โ€‹

็ป„ไปถๆ˜ฏ React ๅฏนโ€œๅ…ณๆณจ็‚นๅˆ†็ฆปโ€่ฟ™ไธ€่ฝฏไปถๅทฅ็จ‹็ปๅ…ธๅŽŸๅˆ™็š„ๅ…ท่ฑกๅŒ–่ฝๅœฐใ€‚ๅฎƒๅฐ† UI ๆ‹†ๅˆ†ไธบ่‹ฅๅนฒ่‡ชๆฒปๅ•ๅ…ƒ๏ผŒๆฏไธชๅ•ๅ…ƒๅฏนๅค–ไป…ๆšด้œฒ props ๅฅ‘็บฆ๏ผŒๅฏนๅ†…้€š่ฟ‡ state ็ฎก็†่‡ช่บซ่กŒไธบใ€‚

ๅˆ’ๅˆ†็ป„ไปถๅฟ…้กปๆชๅฎˆๅ•ไธ€่Œ่ดฃ๏ผˆSRP๏ผ‰ไธŽ้ซ˜ๅ†…่šไฝŽ่€ฆๅˆไธคๆก้“ๅพ‹๏ผš

  • ไธ€ไบ‹ไธ€่ฎฎ๏ผš็†ๆƒณ็Šถๆ€ไธ‹๏ผŒไธ€ไธช็ป„ไปถๅช่ดŸ่ดฃๆธฒๆŸ“ไธ€ๅ—็‰นๅฎš็š„่ง†่ง‰ๆˆ–ๅฐ่ฃ…ไธ€็ฑป็‰นๅฎš็š„ไบคไบ’ใ€‚้š็€ๅŠŸ่ƒฝ่†จ่ƒ€๏ผŒๅฟ…้กปๆžœๆ–ญๅฐ†ๅ…ถ่ฃ‚ๅ˜ไธบๆ›ด็ป†็ฒ’ๅบฆ็š„ๅญ็ป„ไปถใ€‚
  • ๆ˜พๅผ้€šไฟก๏ผš็ป„ไปถ้—ดไป…้€š่ฟ‡ props ไธŽๅ›ž่ฐƒ้€šไฟก๏ผŒๆœ็ปไปปไฝ•ๅฝขๅผ็š„้šๅผ็Šถๆ€ๅ…ฑไบซใ€‚

ๅœจๅฎž่ทตไธญ๏ผŒๆˆ‘ไปฌๅฏไปฅ้€š่ฟ‡ไปฅไธ‹็ญ–็•ฅๅŽ‹ๅนณ็ป„ไปถๅฑ‚็บง๏ผŒ็ปดๆŒๆžถๆž„็š„ๆธ…็ˆฝ๏ผš

็ญ–็•ฅ่ฏดๆ˜Ž
่ง’่‰ฒ็•Œๅฎšๅฎนๅ™จ็ป„ไปถ๏ผˆContainer๏ผ‰๏ผšๅ……ๅฝ“"่ฐƒๅบฆไธญๅฟƒ"๏ผŒ่ดŸ่ดฃๆ•ฐๆฎ่Žทๅ–ใ€็Šถๆ€็ฎก็†ไธŽไธšๅŠก้€ป่พ‘๏ผŒ้šๅŽๅฐ†ๅนฒๅ‡€็š„ๆ•ฐๆฎๆตๅ…ฅๅญ็ป„ไปถใ€‚้ฟๅ…ๅœจๅฎนๅ™จไธญๆททๆ‚ๅคๆ‚็š„ DOM ็ป“ๆž„๏ผŒๅˆฉ็”จ Custom Hooks ๆŠฝ็ฆป้€ป่พ‘๏ผŒ่ƒฝ่ฎฉ UI ๅฑ‚็บง็žฌ้—ดๅ˜่–„ใ€‚
ๅฑ•็คบ็ป„ไปถ๏ผˆPresentational๏ผ‰๏ผšๅ……ๅฝ“"็บฏๅ‡ฝๆ•ฐ"๏ผŒไธ“ๆณจไบŽๆŽฅๆ”ถ props ๅนถๆธฒๆŸ“่ง†ๅ›พ๏ผŒไฟๆŒ DOM ็ป“ๆž„็š„ๆžๅบฆๆ‰ๅนณใ€‚
็ป„ๅˆไผ˜ไบŽๅตŒๅฅ—่ฟ™ๆ˜ฏ่งฃๅ†ณ็ป„ไปถๆ ‘่ฟ‡ๆทฑ็š„ๆœ€ๅผบๆญฆๅ™จใ€‚ๆฐธ่ฟœไธ่ฆๅœจ็ป„ไปถๅ†…้ƒจ็กฌ็ผ–็ ๅญ็ป„ไปถ๏ผŒ่€Œๆ˜ฏ้€š่ฟ‡ children ๆˆ– render props๏ผŒๅฐ†ๅญ็ป„ไปถไฝœไธบๅ‚ๆ•ฐๆณจๅ…ฅใ€‚่ฟ™ๅœจ่ฏญไน‰ไธŠๅฝขๆˆไบ†ไธ€็ง"ๅฃฐๆ˜Žๅผ DSL"๏ผŒ่ฎฉไปฃ็ ๆœฌ่บซๆˆไธบ็›ด่ง‚็š„ UI ่“ๅ›พใ€‚
ๆž็ฎ€ๆŽฅๅฃ็ป„ไปถ็š„ props ๅฅ‘็บฆๅบ”็ปๅฏนๆœ€ๅฐๅŒ–๏ผŒไป…ๆšด้œฒๅฟ…่ฆ็š„่พ“ๅ…ฅใ€‚

AI ๅไฝœๅฐๆดžๅฏŸ๏ผš

ๆˆ‘ไปฌ่ฆๅ…ˆๅˆ’ๅˆ†ๅฑ‚็บง็ป“ๆž„๏ผŒไธๅบ”่ฏฅ่ฎฉ AI ็›ฒ็›ฎๅ†™ไปฃ็ ๏ผŒๅฏไปฅๅ…ˆ่ฎฉๅฎƒๅ……ๅฝ“โ€œๆžถๆž„ๅŠฉ็†โ€่ฟ›่กŒ็ป“ๆž„ๅˆ’ๅˆ†ไธŽ่ฎพ่ฎก๏ผš

  • ๆŠ•ๅ–‚้œ€ๆฑ‚ไธŽ่ง†่ง‰่ง„ๆ ผ๏ผŒๆไพ›้œ€ๆฑ‚ๆ่ฟฐๆˆ– UI ่ง†่ง‰็จฟๆˆชๅ›พ๏ผŒ่ฆๆฑ‚ AI๏ผˆๅฆ‚ ChatGPTใ€Claude ็ญ‰๏ผ‰่พ…ๅŠฉๅˆ†ๆžๅนถ่พ“ๅ‡บ็ป„ไปถๅฑ‚็บงๆ ‘๏ผŒๅŒๆ—ถ่งฃ้‡Šๅ…ถ่Œ่ดฃๅˆ’ๅˆ†ไธŽๅฑ‚็บง็ป“ๆž„่ฎพ่ฎก็š„ๆ€่ทฏใ€‚
  • ๅฎšไน‰่Œ่ดฃ็บฆๆŸ๏ผŒๅœจ Prompt ไธญๆ˜Ž็กฎ่ฆๆฑ‚ AI ๅŒบๅˆ†"ๅฎนๅ™จ็ป„ไปถ"ไธŽ"ๅฑ•็คบ็ป„ไปถ"๏ผŒๅนถ้ตๅพชๅ•ไธ€่Œ่ดฃๅŽŸๅˆ™ไธบๅ…ถๅ‘ฝๅโ€”โ€”่ฟ™ๆ—ข่ƒฝๅฏๅ‘ๆ€่ทฏ๏ผŒไนŸ่ƒฝๆๅ‰่ง„้ฟๅ‘ฝๅไธๅฝ“็š„้—ฎ้ข˜ใ€‚
  • ไบบๅทฅ่ฃๅ†ณ๏ผŒ่ฏ„ไผฐ AI ่พ“ๅ‡บ็š„็ป“ๆž„๏ผŒๅพฎ่ฐƒ่พน็•Œ๏ผŒ็กฎไฟ่ฟ™ๅฅ—โ€œ้ชจๆžถโ€่ถณๅคŸๅฅๅฃฎ๏ผŒๅ†่ฟ›ๅ…ฅไธ‹ไธ€ๆญฅ็š„ๅฎž่ดจๆ€ง็ผ–็ ใ€‚

3. ๆž„ๅปบ็บฏๆธฒๆŸ“็š„้™ๆ€็‰ˆๆœฌ๏ผš็กฎ็ซ‹ๅทฅ็จ‹ๅŸบ็บฟ โ€‹

ๅœจ็Šถๆ€ไธŽไบคไบ’ไป‹ๅ…ฅไน‹ๅ‰๏ผŒๆˆ‘ไปฌๅฏไปฅๅ…ˆ็”จโ€œๆ•ฐๆฎๅ ไฝ็ฌฆโ€ๆŠŠ UI ็š„็บฏๆธฒๆŸ“่ทฏๅพ„่ท‘้€š๏ผŒๆž„ๅปบไธ€ไธชๅ‰ฅ็ฆปไบ†ๆ‰€ๆœ‰ๅŠจๆ€่กŒไธบ็š„โ€œ้™ๆ€็‰ˆๆœฌโ€ใ€‚ๆญค่ฟ‡็จ‹ไธ้œ€่ฆ่ฟ‡ๅคš็š„้€ป่พ‘็ƒง่„‘๏ผŒ่€Œๆ˜ฏ็บฏ็ฒน็š„็ป“ๆž„็ผ–็ ใ€‚

้™ๆ€็‰ˆๆœฌๅบ”ไฟ่ฏ็ป„ไปถๆ— ๅ‰ฏไฝœ็”จ๏ผŒ่ƒฝไธบๅŽ็ปญๅฟซ็…งๆต‹่ฏ•ใ€ๆœๅŠก็ซฏๆธฒๆŸ“๏ผˆSSR๏ผ‰ไธŽ hydration ๅฅ ๅฎšๅฏ้ ๅŸบ็ก€ใ€‚่ฟ™ไธ€ๆญฅ็š„ๅทฅ็จ‹ไปทๅ€ผไธๅฏไผฐ้‡๏ผš

  • ๅฅ‘็บฆ้ชŒ่ฏ๏ผšๅผบๅˆถๆฃ€้ชŒๅฝ“ๅ‰็š„ props ่ฎพ่ฎกๆ˜ฏๅฆ่ถณไปฅ่กจ่พพๆ‰€ๆœ‰็š„่ง†่ง‰็Šถๆ€ๅทฎๅผ‚ใ€‚
  • ๅ‰็ฝฎๅฏน้ฝ๏ผš่ฎฉ่ฎพ่ฎกๅธˆๅ’Œไบงๅ“ๆๅ‰้ชŒๆ”ถโ€œๅƒ็ด ็บงโ€้™ๆ€ไบง็‰ฉ๏ผŒ่ง„้ฟๅŽๆœŸๅฏ่ƒฝๅ‡บ็Žฐ็š„่ง†่ง‰่ฟ”ๅทฅใ€‚
  • ๅฏไฟกๅŸบ็บฟ๏ผšไธบๅŽ็ปญๅขž้‡ๅผ•ๅ…ฅ็Šถๆ€๏ผˆState๏ผ‰ไธŽๅ‰ฏไฝœ็”จ๏ผˆEffects๏ผ‰ๆไพ›ไบ†ไธ€ไธช้šๆ—ถๅฏๅ›žๆปš็š„ๅŸบ็บฟใ€‚

ๅœจ็ผ–ๅ†™ไปฃ็ ๆ—ถ๏ผŒๆˆ‘ไปฌ้€šๅธธ้‡‡็”จโ€œ่‡ช้กถๅ‘ไธ‹โ€็š„ๆž„ๅปบ้กบๅบ๏ผŒๅณไปŽ้กถๅฑ‚ๅฎนๅ™จๅผ€ๅง‹๏ผŒ้€ๅฑ‚ๅ‘ๅถๅญ่Š‚็‚นๅฎž็Žฐใ€‚่ฟ™็ง็ญ–็•ฅ่ƒฝ็กฎไฟ็ป„ไปถ่Œ่ดฃๆธ…ๆ™ฐ๏ผŒไธไผš่ฟ‡ๆ—ฉ้™ทๅ…ฅๅฑ€้ƒจ็ป†่Š‚๏ผŒๅŒๆ—ถไฟ่ฏๆฏไธชๆจกๅ—้ƒฝๆ˜ฏ็‹ฌ็ซ‹ใ€ๅฏๆต‹่ฏ•็š„ใ€‚

ๅฝ“็„ถ๏ผŒๅœจ AI ๅไฝœๆ—ถไปฃ๏ผŒๅ€ŸๅŠฉ AI ็”Ÿๆˆ้™ๆ€็‰ˆๆœฌๆ— ็–‘ๆ˜ฏๆ›ดไธบ้ซ˜ๆ•ˆ็š„ๆ–นๅผใ€‚ไฝ†ๆˆ‘ไปฌไธๅปบ่ฎฎ็›ดๆŽฅ้‡‡็”จๅ…จ่‡ชๅŠจๅŒ–ๆž„ๅปบไฝœไธบๆœ€็ปˆๆ–นๆกˆโ€”โ€”ๆฏ•็ซŸ้™ๆ€็‰ˆๆœฌๆ˜ฏๆ•ดไธช้กน็›ฎ็š„ๅทฅ็จ‹ๅŸบ็บฟ๏ผŒไธ€ๆ—ฆๅญ˜ๅœจ้š่”ฝ็ผบ้™ท๏ผŒๅฐ†ไธบๅŽ็ปญ่ฟญไปฃๅŸ‹ไธ‹้šๆ‚ฃใ€‚

ๆ›ด็จณๅฅ็š„ๅšๆณ•ๆ˜ฏๅฐ†ๅ…จ่‡ชๅŠจๅŒ–ไธŽๅŠ่‡ชๅŠจๅŒ–ๅนถ่กŒๆŽจ่ฟ›๏ผšๅ…ˆ่ฎฉ AI ๅŸบไบŽ็ฌฌไธ€้˜ถๆฎต่ฏ„ๅฎก้€š่ฟ‡็š„็ป„ไปถๅˆ’ๅˆ†ๆ ‘ไธŽ่Œ่ดฃๆ่ฟฐ๏ผŒๅœจ็‹ฌ็ซ‹ๅˆ†ๆ”ฏไธญๅ…จ่‡ชๅŠจๅŒ–็”Ÿๆˆไปฃ็ ๏ผ›ไธŽๆญคๅŒๆ—ถ๏ผŒๅผ€ๅ‘่€…ๅœจๆญฃๅผๅˆ†ๆ”ฏไธญไปฅๅŠ่‡ชๅŠจๅŒ–ๆ–นๅผ้€ๆญฅๆญๅปบใ€‚็”ฑไบŽๅ…จ่‡ชๅŠจๅŒ–ไบงๅ‡บ้€Ÿๅบฆๆžๅฟซ๏ผŒๆˆ‘ไปฌๅฏไปฅๆจชๅ‘ๅฏนๆฏ”ๅคšไปฝ็”Ÿๆˆ็ป“ๆžœ๏ผŒๆ‹ฉไผ˜้ชŒ่ฏๅŽๅ†ๆ•ดๅˆๅˆฐๆญฃๅผ้กน็›ฎไธญใ€‚่ฟ™็ง"่พนๅš่พน้ชŒ"็š„ๆจกๅผ๏ผŒๆ—ข่ƒฝๆๅ‡ๅŸบ็บฟ่ดจ้‡๏ผŒไนŸ่ƒฝๅŠ ๆทฑๅผ€ๅ‘่€…ๅฏนๆžถๆž„็š„็†่งฃใ€‚

่ฟ›ๅ…ฅ้™ๆ€็‰ˆๆœฌๆž„ๅปบ้˜ถๆฎต๏ผŒๆˆ‘ไปฌ้œ€่ฆๅ…ณๆณจไปฅไธ‹ไธ‰ไธชๅ…ณ้”ฎ็Žฏ่Š‚๏ผš

1ใ€ๅ‰็ฝฎๆญฅ้ชค๏ผš่„šๆ‰‹ๆžถ็”Ÿๆˆ
้ฆ–ๅ…ˆๅˆฉ็”จ AI ็ผ–็จ‹ๅทฅๅ…ท๏ผˆๅฆ‚ Claude Code / Codex๏ผ‰ๅฟซ้€Ÿๅˆๅง‹ๅŒ–้กน็›ฎ็ป“ๆž„ไธŽ้…็ฝฎๆ–‡ไปถใ€‚่ฟ™ไธ€ๆญฅๆ˜ฏๅŽ็ปญๅ…จ่‡ชๅŠจๅŒ–ไธŽๅŠ่‡ชๅŠจๅŒ–ๅนถ่กŒๆจกๅผ็š„ๅŸบ็ก€โ€”โ€”AI ๅœจๆ ‡ๅ‡†ๅŒ–่„šๆ‰‹ๆžถๆญๅปบไธŠๆ•ˆ็އๆž้ซ˜๏ผŒ่ƒฝๅคŸ่ฟ…้€Ÿไธบๆˆ‘ไปฌ้“บๅฅฝๅทฅ็จ‹ๅœฐๅŸบใ€‚

2ใ€ๆณจๅ…ฅ่ง„ๆ ผ๏ผŒๅฏๅŠจๅŒ่ฝจๆจกๅผ
ๅฐ†็ฌฌไธ€้˜ถๆฎต็กฎ่ฎคๅฅฝ็š„"็ป„ไปถๅฑ‚็บงๆ ‘ไธŽ่Œ่ดฃๆ่ฟฐ"ไฝœไธบๆ˜Ž็กฎ็š„ Specification ๅ–‚็ป™ AI๏ผŒไปคๅ…ถๆ‰น้‡็”Ÿๆˆ็ฌฆๅˆ React ่ง„่Œƒ็š„้™ๆ€็ป„ไปถ้ชจๆžถใ€‚ๆญคๆ—ถๅ…จ่‡ชๅŠจๅŒ–ไธŽๅŠ่‡ชๅŠจๅŒ–ไธคๆก็บฟๅนถ่กŒๆŽจ่ฟ›๏ผšAI ๅœจ็‹ฌ็ซ‹ๅˆ†ๆ”ฏๅฟซ้€Ÿไบงๅ‡บๅคšไปฝๅ€™้€‰ไปฃ็ ๏ผŒๅผ€ๅ‘่€…ๅˆ™ๅœจไธปๅนฒๅˆ†ๆ”ฏ้€ๆญฅๆญๅปบ๏ผŒๅฝขๆˆๅฏๅฏนๆฏ”ใ€ๅฏ้ชŒ่ฏ็š„ๅไฝœ้—ญ็Žฏใ€‚

3ใ€ไบบๆœบ็ป“ๅฏนๅฎกๆŸฅ
ๆจชๅ‘ๅฏนๆฏ” AI ็š„่‡ชๅŠจๅŒ–ไบงๅ‡บๅŽ๏ผŒๆ‹ฉไผ˜ไธŽไบบๅทฅไปฃ็ ่žๅˆ๏ผŒ้‡็‚น Review ๆ˜ฏๅฆ็œŸๆญฃๅšๅˆฐ"ๆ— ๅ‰ฏไฝœ็”จ"ไธŽ"ๅน‚็ญ‰ๆธฒๆŸ“"ใ€‚่ฟ‡็จ‹ไธญไนŸๅฏ่ฎฉ AI ไธŽไบบๅทฅๅไฝœ๏ผŒไธ€ๆ—ฆๅ‘็Žฐ้—ฎ้ข˜ๆˆ–ๅผ‚ๅธธๆƒ…ๅ†ต๏ผŒ็ซ‹ๅณ้€š่ฟ‡ๅฏน่ฏ็บ ๆญฃ๏ผŒ็กฎไฟ่ฟ™ไปฝ้™ๆ€ๅŸบ็บฟ็š„็ปๅฏน็บฏ็ฒนโ€”โ€”ๅฎƒๅฐ†ๆ˜ฏๅŽ็ปญๅผ•ๅ…ฅ็Šถๆ€ไธŽๅ‰ฏไฝœ็”จๆ—ถๅ”ฏไธ€ๅฏไฟก็š„ๅ›žๆปš้”š็‚นใ€‚

4. ๅฏปๆ‰พ็Šถๆ€็š„ๆœ€็ฎ€่กจ็คบ๏ผŒๆ•ฒๅฎšๆ‹“ๆ‰‘ไฝ็ฝฎ โ€‹

4.1 ไป€ไนˆๆ˜ฏ State๏ผŸไป€ไนˆๆ˜ฏ Derived Data๏ผˆๆดพ็”Ÿๆ•ฐๆฎ๏ผ‰๏ผŸ โ€‹

State ๆœฌ่ดจไธŠๆ˜ฏๅฏนๅบ”็”จ้šๆ—ถ้—ดๅ˜ๅŒ–ไบง็”Ÿ็š„ๅทฎๅผ‚็š„ๅปบๆจก๏ผŒไธบๆญฃ็กฎๅœฐๆž„ๅปบๅบ”็”จ๏ผŒ่ฎฉๅบ”็”จๅฏๆŽง๏ผŒๆˆ‘ไปฌ้œ€่ฆๅœจ่ฟ™ไธ€้˜ถๆฎตๆ‰พๅ‡บ้ฉฑๅŠจ UI ่ฟ่ฝฌ็š„ State๏ผˆ็Šถๆ€๏ผ‰็š„ๆœ€ๅฐๅฎŒๆ•ด้›†ๅˆใ€‚

ๅœจๅฎšไน‰ State ไน‹ๅ‰๏ผŒๅ…ˆๅš็ต้ญ‚ไธ‰้—ฎใ€‚ๅ…ˆ้—ฎ่‡ชๅทฑไธ‰ไธชๅ…ณ้”ฎ้—ฎ้ข˜ใ€‚ๅฆ‚ๆžœๆปก่ถณไปฅไธ‹ไปปไฝ•ไธ€ๆก๏ผŒๅฎƒๅฐฑ็ปๅฏนไธๆ˜ฏ State๏ผš

  1. ้šๆ—ถ้—ดๆŽจ็งปไฟๆŒไธๅ˜๏ผŸ ๏ผˆๅฆ‚้™ๆ€้…็ฝฎ๏ผ‰ -> ไธๆ˜ฏ Stateใ€‚
  2. ้€š่ฟ‡ props ไปŽ็ˆถ็บงไผ ๅ…ฅ๏ผŸ ๏ผˆๅฆ‚ๅค–้ƒจๆณจๅ…ฅ็š„ๆ•ฐๆฎ๏ผ‰ -> ไธๆ˜ฏ Stateใ€‚
  3. ่ƒฝ้€š่ฟ‡ๅทฒๆœ‰ State ๆˆ– props ่ฎก็ฎ—ๅพ—ๅ‡บ๏ผŸ ๏ผˆๅฆ‚ๆ นๆฎๅ•†ๅ“ๅˆ—่กจ่ฎก็ฎ—ๅ‡บ็š„ๅบ“ๅญ˜ๆ€ป้‡๏ผ‰ -> ๅšๅ†ณไธ่ƒฝไฝœไธบ Stateใ€‚

่ฟ™ไบ›ๅฏ้€š่ฟ‡่ฎก็ฎ—ๅพ—ๅ‡บ็š„ๆ•ฐๆฎ่ขซ็งฐไธบ Derived Data๏ผˆๆดพ็”Ÿๆ•ฐๆฎ๏ผ‰ใ€‚ๆญฃ็กฎ็š„ๅšๆณ•ๆ˜ฏๅœจๆธฒๆŸ“ๆœŸ้—ดๅŠจๆ€่ฎก็ฎ—ๅฎƒไปฌ๏ผŒๆˆ–ไฝฟ็”จ useMemo ่ฟ›่กŒๆ€ง่ƒฝไผ˜ๅŒ–๏ผŒ่€Œไธๆ˜ฏๅฐ†ๅ…ถๅกžๅ…ฅ useState ไธญๅพ’ๅขžๅŒๆญฅ็ƒฆๆผใ€‚

ไธ€ไปฝๅˆๆ ผ็š„็Šถๆ€ๅฟ…้กป๏ผšๆœ€ๅฐ๏ผˆๅ‰”้™คๅฏๆŽจๅฏผๅญ—ๆฎต๏ผ‰ไธ”ๅฎŒๆ•ด๏ผˆไธ‹ๆธธ UI ่ƒฝๅŸบไบŽๆญค็Šถๆ€้›†ๅˆ่ฟ›่กŒ็กฎๅฎšๆ€งๆธฒๆŸ“๏ผ‰ใ€‚

4.2 ๆ•ฒๅฎš State ็š„ๅฎ‰ๆ”พไฝ็ฝฎ โ€‹

ๅฐๆ็คบ๏ผš้˜ฒ่Œƒ็Šถๆ€็ˆ†็‚ธไธŽๆณ„ๆผ

  • ๅ•ไธ€็œŸๅฎžๆ•ฐๆฎๆบ๏ผšๅŒไธ€ไธšๅŠกๅฎžไฝ“ๅœจ็ป„ไปถๆ ‘ไธญๅช่ƒฝๅญ˜ๅœจไธ€ไปฝ็Šถๆ€ๅ‰ฏๆœฌใ€‚ๅฆ‚ๆžœ็ฅ–ๅ…ˆ่Š‚็‚นๅทฒๆœ‰๏ผŒๅฐฑ้€š่ฟ‡ props ไผ ้€’๏ผŒไธฅ็ฆๅœจไธๅŒ็ป„ไปถๅ†…้‡ๅค useStateใ€‚
  • ๆ— ๆณ„ๆผไธ‹ๆฒ‰๏ผšๆŠŠ็Šถๆ€้š”็ฆปๅœจๅฑ€้ƒจๅญๆ ‘ๆ—ถ๏ผŒๅฟ…้กปๆ˜พๅผๅฎšไน‰่ฏปๅ†™่พน็•Œโ€”โ€”ไป…ๅฏน็œŸๆญฃ้œ€่ฆ็š„ๅญๅญ™ๆšด้œฒๆŽฅๅฃใ€‚็ฆๆญขๅœจๆจกๅ—้กถๅฑ‚ๅฃฐๆ˜Žๅฏๅ˜็Šถๆ€๏ผŒ้˜ฒๆญข็Šถๆ€้šๅผ็ฉฟ้€็ป„ไปถ่พน็•Œใ€‚

็กฎๅฎšไบ†โ€œๆ˜ฏไป€ไนˆโ€ไน‹ๅŽ๏ผŒๆ›ดๅ…ณ้”ฎ็š„ๆ˜ฏโ€œๆ”พๅœจๅ“ชโ€ใ€‚State ็š„ๅฎ‰็ฝฎ้œ€่ฆๅœจ็Šถๆ€ๆๅ‡๏ผˆLifting State Up๏ผ‰ไธŽ็Šถๆ€ไธ‹ๆฒ‰๏ผˆColocating State๏ผ‰ไน‹้—ดๅฏปๆ‰พๅŠจๆ€ๅนณ่กก๏ผš

  • ็Šถๆ€ๆๅ‡๏ผˆLifting State Up๏ผ‰๏ผš่‹ฅๅคšไธชๅ…„ๅผŸ็ป„ไปถ้œ€่ฆๅ…ฑไบซๅŒไธ€็Šถๆ€๏ผŒๆฏซไธ็Šน่ฑซๅœฐๅฐ†ๅ…ถๆๅ‡่‡ณๅฎƒไปฌๆœ€่ฟ‘็š„ๅ…ฌๅ…ฑ็ˆถ่Š‚็‚นใ€‚
  • ็Šถๆ€ไธ‹ๆฒ‰๏ผˆColocating State๏ผ‰๏ผš่‹ฅ็Šถๆ€ไป…ๅœจ็‰นๅฎšๅญๆ ‘ๅ†…้ƒจๆต่ฝฌ๏ผŒๅบ”้€š่ฟ‡ๅฑ€้ƒจ Context ๆˆ–่ฝป้‡็บง็Šถๆ€ๅบ“๏ผˆZustand / Jotai๏ผ‰ๅฐ†ๅ…ถ้š”็ฆป๏ผŒ้ฟๅ…ๆฑกๆŸ“ๅ…จๅฑ€ใ€‚

ๆžถๆž„็›ฎๆ ‡ๆ˜ฏ็ป˜ๅˆถๅ‡บไธ€ๅผ ๆธ…ๆ™ฐ็š„ๆ•ฐๆฎๆตๆ‹“ๆ‰‘ๅ›พ๏ผš็Šถๆ€ๅ˜ๆ›ดๅชๆฒฟๅ•ๅ‘่ฝจ้“ๆตๅŠจ๏ผŒๅ‡บ็Žฐ Bug ๆ—ถ๏ผŒๅฏไปฅๅƒๆŽ’ๆŸฅ็”ต่ทฏๅ›พไธ€ๆ ท็”จไธ‡็”จ่กจ้€็‚นๆต‹้‡ใ€‚

4. ๅปบ็ซ‹ๅๅ‘ๆ•ฐๆฎๆต๏ผš่ฎฉๅ›ž่ฐƒๆˆไธบๅˆšๆ€งๅฅ‘็บฆ โ€‹

React ็š„ๆ•ฐๆฎๆตๅคฉ็„ถๆ˜ฏ่‡ช้กถๅ‘ไธ‹็š„๏ผˆTop-Down๏ผ‰ใ€‚่ฟ™็งๅ•ๅ‘ๆตๅŠจ็‰บ็‰ฒไบ†ๅŒๅ‘็ป‘ๅฎš็š„โ€œไพฟๆทๆ€งโ€๏ผŒๆขๆฅ็š„ๆ˜ฏๆ•ฐๆฎๆต่ฝฌ็š„็ปๅฏนๆธ…ๆ™ฐไธŽๅฏ้ข„ๆต‹ๆ€งใ€‚

ๅฝ“ๅบ•ๅฑ‚ๅฑ•็คบ็ป„ไปถ้œ€่ฆๅ‘ไธŠ็บงๅ้ฆˆ็”จๆˆท่กŒไธบๆ—ถ๏ผŒๆˆ‘ไปฌ้œ€่ฆ่ฎพ่ฎกๅๅ‘ๆ•ฐๆฎๆต๏ผŒๅ…ถๆœฌ่ดจๆ˜ฏๅฐ†โ€œUI ไบ‹ไปถโ€่ฝฌๅŒ–ไธบไธฅ่ฐจ็š„โ€œๅ›ž่ฐƒๅฅ‘็บฆโ€๏ผš

  1. ็ˆถ็ป„ไปถ้€š่ฟ‡ props ๅ‘ๅญ็ป„ไปถไธ‹ๅ‘ๅฅ‘็บฆ๏ผšonXxx: (data: T) => voidใ€‚
  2. ๅญ็ป„ไปถๅœจ้€‚ๅฝ“ๆ—ถๆœบ่งฆๅ‘ๅฅ‘็บฆ๏ผŒไฝ†ไธๅ…ณๅฟƒ็ˆถ็ป„ไปถๅฆ‚ไฝ•ๅค„็†๏ผŒๅ€Ÿๆญค็ปดๆŒ่‡ช่บซ็š„็บฏ็ฒนไธŽ่งฃ่€ฆใ€‚
  3. ็ˆถ็ป„ไปถๅœจๅ›ž่ฐƒไธญๆ‰ง่กŒ setState๏ผŒ่งฆๅ‘่‡ช้กถๅ‘ไธ‹็š„้‡ๆ–ฐๆธฒๆŸ“๏ผŒๅฎŒๆˆ้—ญ็Žฏใ€‚

่ฟ™็ง ไบ‹ไปถ -> ๅ›ž่ฐƒ -> ็Šถๆ€็ชๅ˜ -> ้‡ๆธฒๆŸ“ ็š„ๅพช็Žฏ๏ผŒๆž„ๆˆไบ† React ๅ“ๅบ”ๅผๆžถๆž„็š„ๆœ€ๅฐๅ†…ๆ ธใ€‚้ขๅฏน่ทจๅฑ‚็บง้€šไฟกๆ—ถ๏ผŒๅฏไปฅๅผ•ๅ…ฅ Context ๆˆ–็Šถๆ€็ฎก็†ๅทฅๅ…ทๆฅๆ”ถๆ•›"ๅ›ž่ฐƒๅœฐ็‹ฑ"๏ผŒไฝ†ๅ•ๅ‘ๆ•ฐๆฎๆต็š„้“ๅพ‹็ปไธ่ƒฝ่ขซ็ ดๅใ€‚

5. ่ง„่Œƒ้ฉฑๅŠจๅผ€ๅ‘๏ผˆSDD๏ผ‰๏ผšไปŽๆ‰ง่กŒ่€…่ฝฌๅ˜ไธบ็ซ‹ๆณ•่€… โ€‹

้š็€ๅ‰ๅ››ไธช้˜ถๆฎต็š„็จณๆญฅๆŽจ่ฟ›๏ผŒๅŸบ็ก€ๆžถๆž„ๅทฒ็„ถ็กฎ็ซ‹๏ผŒๅบ”็”จ้กน็›ฎไนŸ่ฟ›ๅ…ฅไบ†ๆ›ดๆทฑๅฑ‚ๆฌก็š„ๅผ€ๅ‘่ฟญไปฃ้˜ถๆฎตใ€‚ๆญคๆ—ถ๏ผŒๅฆ‚ไฝ•้ซ˜ๆ•ˆๅœฐ่งฃๅ†ณ"ๆ€Žไนˆๅ†™"็š„้—ฎ้ข˜๏ผŸ่ฟ™ๆญฃๆ˜ฏ AI ๅไฝœ็ผ–็จ‹ๅคงๆ˜พ่บซๆ‰‹็š„ๆ—ถๅˆปใ€‚

่ง„่Œƒ้ฉฑๅŠจๅผ€ๅ‘๏ผˆSpecification-Driven Development๏ผŒSDD๏ผ‰ๆ˜ฏไธ€็งๆฏ” Vibe Coding ๆ›ดไธบๅฏ้ ็š„ไบบๆœบๅไฝœๅฎž่ทตๆจกๅผ๏ผšไบบ็ฑป่ดŸ่ดฃๅˆถๅฎš่ง„่Œƒ๏ผŒAI ่ดŸ่ดฃๅฎž็Žฐไปฃ็ ใ€‚่ฟ™็งๅˆ†ๅทฅ่ฎฉๅผ€ๅ‘่€…ไปŽ็น็็š„็ผ–็ ๅŠณๅŠจไธญ่งฃๆ”พๅ‡บๆฅ๏ผŒไธ“ๆณจไบŽ็œŸๆญฃๅˆ›้€ ไปทๅ€ผ็š„ๆ–นๆกˆ้€‰ๆ‹ฉไธŽ่ฎพ่ฎกๅ†ณ็ญ–ใ€‚

5.1 SDD ๆจกๅผ็š„ๆ ธๅฟƒๆต็จ‹ไธŽๅฎž่ทต่ฆ็‚น โ€‹

SDD ๆจกๅผ้ตๅพชไธ€ไธชไบ”ๆญฅ้—ญ็Žฏ๏ผš่ง„ๅˆ’้˜ถๆฎต โ†’ ็”Ÿๆˆ่ง„่Œƒ โ†’ ไบบๅทฅ Review โ†’ ่‡ชๅŠจๅŒ–ๅผ€ๅ‘ โ†’ ๅทฅ็จ‹้ชŒ่ฏใ€‚

้˜ถๆฎตๆ่ฟฐ
่ง„ๅˆ’้˜ถๆฎต่ฎฉ AI ๅˆ†ๆžไธšๅŠกๅœบๆ™ฏ๏ผŒ่พ“ๅ‡บ่ฎพ่ฎกๆ–‡ๆกฃใ€‚่ฟ™ไธ€้˜ถๆฎต็š„ๆ ธๅฟƒๆ˜ฏๆ˜Ž็กฎ"ๅšไป€ไนˆ"โ€”โ€”ๅŒ…ๆ‹ฌๆจกๅ—่พน็•Œใ€ๆ•ฐๆฎ็ป“ๆž„ใ€ๆŽฅๅฃ็ญพๅใ€็บฆๆŸๆกไปถ็ญ‰ใ€‚
็”Ÿๆˆ่ง„่ŒƒๅŸบไบŽ่ง„ๅˆ’็ป“ๆžœ๏ผŒ่ฎฉ AI ็”ŸๆˆๅฏๆŒ‡ๅฏผ็ผ–็จ‹็š„ๅฎž็Žฐ่ง„่Œƒ๏ผˆSpecification๏ผ‰ใ€‚่ง„่Œƒๆ˜ฏไธ€ไปฝๅฏๆ‰ง่กŒ็š„ๅฅ‘็บฆ๏ผŒๅŒ…ๅซ็ฑปๅž‹ๅฎšไน‰ใ€ๅ‡ฝๆ•ฐ็ญพๅใ€ๆต‹่ฏ•็”จไพ‹ใ€่พน็•Œๆกไปถ็ญ‰ใ€‚่ง„่Œƒ็š„่ดจ้‡็›ดๆŽฅๅ†ณๅฎšไบ†ไปฃ็ ็š„่ดจ้‡ใ€‚
ไบบๅทฅ Reviewๅผ€ๅ‘่€…ๅฎกๆ ธ่ง„่Œƒ็š„ๅˆ็†ๆ€งใ€‚่ฟ™ๆ˜ฏไบบ็ฑปๅ†ณ็ญ–็š„ๅ…ณ้”ฎ็Žฏ่Š‚โ€”โ€”็กฎไฟ่ฎพ่ฎก็ฌฆๅˆๆžถๆž„ๅŽŸๅˆ™ใ€ๆ— ๅ†—ไฝ™ๆ— ๆณ„ๆผใ€ๅ‘ฝๅ่ฏญไน‰ๆธ…ๆ™ฐใ€ๆ•ฐๆฎๆตๆ–นๅ‘ๆ˜Ž็กฎใ€‚Review ้€š่ฟ‡ๅŽ๏ผŒ่ง„่Œƒๆˆไธบ AI ๅฎž็Žฐ็š„ๅ”ฏไธ€ไพๆฎใ€‚
่‡ชๅŠจๅŒ–ๅผ€ๅ‘็กฎ่ฎค่ง„่ŒƒๅŽ๏ผŒ่ฎฉ AI ๅŸบไบŽ่ง„่Œƒๅฎž็ŽฐๅฎŒๆ•ด็š„ๅŠŸ่ƒฝๆจกๅ—ใ€‚่ฆๆฑ‚ AI ้ตๅพช TDD ๆจกๅผโ€”โ€”ๅ…ˆ็ผ–ๅ†™ๆต‹่ฏ•็”จไพ‹๏ผŒๅ†ๅฎž็Žฐ้€ป่พ‘๏ผŒ็กฎไฟ่กŒไธบ็š„ๅฏ้ข„ๆต‹ๆ€งใ€‚ๆฏๆฌกๅผ€ๅ‘ๅบ”่š็„ฆไบŽไธ€ไธชๅฎŒๆ•ดใ€ๆฐๅฝ“็ฒ’ๅบฆ็š„ๅŠŸ่ƒฝๆˆ–็‹ฌ็ซ‹ๆจกๅ—๏ผŒ้ฟๅ…็ขŽ็‰‡ๅŒ–ใ€‚
ๅทฅ็จ‹้ชŒ่ฏ้…็ฝฎ้กน็›ฎ็š„ lintใ€็ฑปๅž‹ๆฃ€ๆŸฅไธŽๆต‹่ฏ•ๅฅ—ไปถ๏ผŒ็”ฑ AI ่‡ชๅŠจ่ฟ่กŒ้ชŒ่ฏ๏ผŒๅฝขๆˆ่ดจ้‡้—ญ็Žฏใ€‚่‹ฅๅ‘็Žฐ้—ฎ้ข˜๏ผŒๅบ”ไผ˜ๅ…ˆๅผ•ๅฏผ AI ่‡ช่กŒไฟฎๆญฃ๏ผŒ่€Œ้žๆ‰‹ๅŠจๅนฒ้ข„ใ€‚

SDD ๆจกๅผ็š„ๅฎž่ทต่ฆ็‚นๅฏๅฝ’็บณไธบ๏ผš

  • ่ง„่Œƒๅ…ˆ่กŒ๏ผŒไปฃ็ ๅŽ็ฝฎ๏ผšๆฐธ่ฟœไธ่ฆ่ฎฉ AI ๅœจๆฒกๆœ‰่ง„่Œƒ็š„ๆƒ…ๅ†ตไธ‹็›ดๆŽฅๅ†™ไปฃ็ ใ€‚ๆจก็ณŠ็š„้œ€ๆฑ‚ๆ่ฟฐๅชไผš่ฎฉ AI ๅˆถ้€ ๆŠ€ๆœฏๅ€บๅŠกใ€‚ไธ€ไปฝๆธ…ๆ™ฐ็š„่ง„่Œƒ๏ผŒ่ƒฝ่ฎฉ AI ไบงๅ‡บๅฏ็ปดๆŠค็š„ไปฃ็ ใ€‚

  • ๆฐๅฝ“็ฒ’ๅบฆ๏ผŒๅฎŒๆ•ดไบคไป˜๏ผšๆฏๆฌก่ฎฉ AI ๅผ€ๅ‘ไธ€ไธชๅฎŒๆ•ด็š„ๅŠŸ่ƒฝๆจกๅ—๏ผŒ่€Œ้ž้›ถๆ•ฃ็š„ไปฃ็ ็‰‡ๆฎตใ€‚ๅฎŒๆ•ด็š„ๆจกๅ—ๆœ‰ๆธ…ๆ™ฐ็š„่พน็•Œใ€ๅฎŒๆ•ด็š„ๆต‹่ฏ•ใ€ๅฏ็‹ฌ็ซ‹้ชŒ่ฏ็š„่กŒไธบใ€‚่ฟ™็ง็ฒ’ๅบฆๆ—ข่ƒฝไฟ่ฏๅผ€ๅ‘ๆ•ˆ็އ๏ผŒๅˆ่ƒฝ็กฎไฟไปฃ็ ่ดจ้‡ใ€‚

  • TDD ๅ†…ๅตŒ๏ผŒๆต‹่ฏ•้ฉฑๅŠจ๏ผšๅœจ่ง„่Œƒไธญๆ˜Ž็กฎ่ฆๆฑ‚ AI ๅ…ˆๅ†™ๆต‹่ฏ•ใ€ๅ†ๅ†™ๅฎž็Žฐใ€‚ๆต‹่ฏ•็”จไพ‹ๆ˜ฏ่ง„่Œƒ็š„ๅ…ท่ฑกๅŒ–่กจ่พพ๏ผŒไนŸๆ˜ฏ้ชŒ่ฏไปฃ็ ๆญฃ็กฎๆ€ง็š„ๅ”ฏไธ€ๆ ‡ๅ‡†ใ€‚

  • ๅผ•ๅฏผไฟฎๆญฃ๏ผŒ้ฟๅ…ๆ‰‹ๅŠจไฟฎ่กฅ๏ผšๅฝ“ไปฃ็ ๆœช้€š่ฟ‡้ชŒ่ฏๆ—ถ๏ผŒไผ˜ๅ…ˆๅผ•ๅฏผ AI ่‡ช่กŒไฟฎๆญฃ๏ผŒ่€Œ้ž็›ดๆŽฅๆ‰‹ๅŠจไฟฎๆ”นใ€‚ๆ‰‹ๅŠจไฟฎ่กฅไผšๅนฒๆ‰ฐ AI ๅฏน้กน็›ฎไธŠไธ‹ๆ–‡็š„็†่งฃ๏ผŒๅฏผ่‡ดๅŽ็ปญ็”Ÿๆˆ็š„ไปฃ็ ไธ€่‡ดๆ€งไธ‹้™ใ€‚

  • ๅทฅ็จ‹้—ญ็Žฏ๏ผŒๆŒ็ปญ่ฟญไปฃ๏ผšlintใ€็ฑปๅž‹ๆฃ€ๆŸฅใ€ๆต‹่ฏ•ๅฅ—ไปถๆ˜ฏ่ดจ้‡็š„ไธ‰้“้˜ฒ็บฟใ€‚ๆฏๆฌกๅผ€ๅ‘ๅฎŒๆˆๅŽๅฟ…้กป่ฟ่กŒๅฎŒๆ•ด้ชŒ่ฏ๏ผŒ็กฎไฟไปฃ็ ็ฌฆๅˆ้กน็›ฎ่ง„่Œƒใ€‚้ชŒ่ฏ้€š่ฟ‡ๅŽๅ†่ฟ›ๅ…ฅไธ‹ไธ€ไธชๆจกๅ—็š„ๅผ€ๅ‘ใ€‚

5.2 SDD ๆจกๅผ็š„้€‚็”จๅœบๆ™ฏ โ€‹

SDD ๆจกๅผ้€‚็”จไบŽๅคšๆ•ฐๅบ”็”จ็š„ๅŠŸ่ƒฝ่ฟญไปฃๅผ€ๅ‘้˜ถๆฎตใ€‚ๅœจๅ‰็ซฏ้ข†ๅŸŸ๏ผŒๅฎƒไธŽ React ็š„ๅฃฐๆ˜Žๅผ่Œƒๅผๅฐคไธบๅฅ‘ๅˆ๏ผŒ็‰นๅˆซ้€‚ๅˆไปฅไธ‹ๅœบๆ™ฏ๏ผš

  • ็Šถๆ€็ฎก็†ๆจกๅ—๏ผš็Šถๆ€ๆ˜ฏๅบ”็”จ็š„ๆ ธๅฟƒ้ชจๆžถ๏ผŒ้œ€่ฆไธฅๆ ผ็š„็ฑปๅž‹็บฆๆŸไธŽๅ˜ๆ›ด่ฟฝ่ธชใ€‚SDD ่ƒฝ็กฎไฟ็Šถๆ€่ฎพ่ฎก้ตๅพช SSOT ๅŽŸๅˆ™๏ผŒๆœ็ปๅ†—ไฝ™ไธŽๆณ„ๆผใ€‚

  • ไบคไบ’้€ป่พ‘ๅผ€ๅ‘๏ผšๅๅ‘ๆ•ฐๆฎๆตๆถ‰ๅŠ็ป„ไปถ้—ด็š„้€šไฟกๅฅ‘็บฆ๏ผŒๆ˜ฏๅ…ธๅž‹็š„"ๆŽฅๅฃ่ฏญไน‰ๆŽจๆ•ฒ"ๅœบๆ™ฏใ€‚SDD ่ƒฝ็กฎไฟๅ›ž่ฐƒๅ‘ฝๅ่ฏญไน‰ๆธ…ๆ™ฐใ€ๆ•ฐๆฎๆตๆ–นๅ‘ๆ˜Ž็กฎใ€‚

  • ็‹ฌ็ซ‹็ป„ไปถๅผ€ๅ‘๏ผš้’ˆๅฏนๅŠŸ่ƒฝๅ†…่šใ€ๅฏๅค็”จ็š„็‹ฌ็ซ‹็ป„ไปถ๏ผˆๅฆ‚่กจๅ•ๆŽงไปถใ€ๆ•ฐๆฎๅก็‰‡ใ€ๆจกๆ€ๆก†็ญ‰๏ผ‰๏ผŒ้œ€ๅ…ˆๆ˜Ž็กฎๅ…ถ Props ๅฅ‘็บฆใ€ๅ†…้ƒจ็Šถๆ€่พน็•ŒๅŠๅ‰ฏไฝœ็”จ็”Ÿๅ‘ฝๅ‘จๆœŸ๏ผŒๅ†ไบค็”ฑ AI ๅฎž็Žฐๅ…ทไฝ“ๆธฒๆŸ“้€ป่พ‘ไธŽไบคไบ’็ป†่Š‚ใ€‚

  • ๅŸบ็ก€่ฎพๆ–ฝไปฃ็ ๏ผšCustom Hooksใ€ๅทฅๅ…ทๅ‡ฝๆ•ฐใ€็ฑปๅž‹ๅฎšไน‰็ญ‰ๅŸบ็ก€่ฎพๆ–ฝไปฃ็ ๏ผŒ้€‚ๅˆ็”จ SDD ๆจกๅผๆ‰น้‡็”Ÿๆˆ๏ผŒ็กฎไฟๆŽฅๅฃไธ€่‡ดๆ€งใ€‚

5.3 ไธบไป€ไนˆ React ไธŽ SDD ๅคฉ็”Ÿไธ€ๅฏน๏ผŸ โ€‹

React ็š„ๅฃฐๆ˜Žๅผ๏ผˆDeclarative๏ผ‰็‰นๆ€งๆ„ๅ‘ณ็€ๆˆ‘ไปฌๅช้œ€ๆ่ฟฐ State โ†’ UI ็š„ๆ˜ ๅฐ„ๅ…ณ็ณปโ€”โ€”็ป™ๅฎš็‰นๅฎš็š„็Šถๆ€่พ“ๅ…ฅ๏ผŒ็•Œ้ขๅบ”ๅฝ“ๅ‘ˆ็Žฐไฝ•็ง่พ“ๅ‡บ๏ผŒๅฎŒๅ…จ็”ฑๅผ€ๅ‘่€…ๅฃฐๆ˜Žๅผๅœฐๅฎšไน‰๏ผŒ่€Œ้ž้€š่ฟ‡ๅ‘ฝไปคๅผๅœฐๆ“ไฝœ DOM ๆฅ่พพๆˆใ€‚

ๅฆ‚ๆžœ่ฏด SDD๏ผˆ่ง„ๆ ผ้ฉฑๅŠจๅผ€ๅ‘๏ผ‰ๆ˜ฏไบบๆœบๅไฝœ็š„ไธ€ๅฅ—"ๅฎชๆณ•"๏ผŒ้‚ฃไนˆ React ๅฐฑๆ˜ฏๅฎŒ็พŽ็š„"ๆ‰ง่กŒๆœบๆž„"ใ€‚ไธค่€…็š„ๅคฉไฝœไน‹ๅˆๅนถ้žๅถ็„ถ๏ผŒ่€Œๆ˜ฏๆบไบŽๅบ•ๅฑ‚ๆžถๆž„่Œƒๅผ็š„ๆทฑๅบฆๅฅ‘ๅˆใ€‚React ๆ‰€ๅ€กๅฏผ็š„"ๆ่ฟฐๅณๅฎž็Žฐ"็š„ๅฃฐๆ˜Žๅผ็ผ–็จ‹่Œƒๅผ๏ผŒๆœฌ่ดจไธŠๅฐฑๆ˜ฏไธ€็งๆ˜พๅผๅฅ‘็บฆ๏ผˆProps Contract๏ผ‰๏ผŒ่ƒฝๅคŸๆœ‰ๆ•ˆๅŽ‹็ผฉ AI ็š„"ๅนป่ง‰็ฉบ้—ด"ใ€‚

ๅฝ“ๆˆ‘ไปฌๅœจ Spec ไธญๅฎšไน‰ๅฅฝ interface Props ๆ—ถ๏ผŒๅฎž้™…ไธŠๆ˜ฏไธบ AI ๅˆ’ๅฎšไบ†ไธ€ไธช่ฎค็Ÿฅ่พน็•Œใ€‚AI ๆ— ้œ€่ดนๅŠ›็Œœๆต‹ไธŠไธ‹ๆ–‡๏ผŒๅช้œ€ๅœจ Props ็š„็บฆๆŸ่Œƒๅ›ดๅ†…ๅฏปๆ‰พๅฑ€้ƒจๆœ€ไผ˜่งฃใ€‚่ฟ™็ง้ซ˜ๅบฆ็š„ๅฐ่ฃ…ๆ€งไปŽ็‰ฉ็†ๅฑ‚้ข้š”็ปไบ† AI ไบง็”Ÿ"ๅนป่ง‰"็š„ๅฏ่ƒฝ๏ผŒ็กฎไฟ็”Ÿๆˆ็š„็ป„ไปถๆ˜ฏ้ซ˜ๅ†…่šใ€ไฝŽ่€ฆๅˆ็š„่‡ชๆฒปๅ•ๅ…ƒใ€‚

่ฟ™ไธŽ SDD ็š„ๆ€็ปด้ซ˜ๅบฆไธ€่‡ด๏ผšๅผ€ๅ‘่€…ๅช้œ€ๅฎšไน‰"ๆ˜ ๅฐ„่ง„ๆ ผ"๏ผˆๅณ็Šถๆ€ๅˆฐ UI ็š„่ฝฌๆข่ง„ๅˆ™ใ€็ป„ไปถ็š„ Props ๅฅ‘็บฆใ€ๆ•ฐๆฎ็š„ๆตๅŠจ่ทฏๅพ„๏ผ‰๏ผŒ่€Œๅ…ทไฝ“็š„ๅฎž็Žฐ็ป†่Š‚โ€”โ€”ๅฆ‚ไฝ•้ซ˜ๆ•ˆๅœฐ diff ่™šๆ‹Ÿ DOMใ€ๅฆ‚ไฝ•ๆ‰น้‡ๅค„็†็Šถๆ€ๆ›ดๆ–ฐใ€ๅฆ‚ไฝ•ไผ˜ๅŒ–้‡ๆธฒๆŸ“ๆ€ง่ƒฝโ€”โ€”ๅฎŒๅ…จไบค็”ฑ AI ๅกซๅ……ใ€‚ๅœจ SDD ๆจกๅผไธ‹๏ผŒไบบ็ฑป่š็„ฆไบŽ"ๅšไป€ไนˆ"๏ผˆWhat๏ผ‰ๅ’Œ"ไธบไป€ไนˆ"๏ผˆWhy๏ผ‰๏ผŒAI ่ดŸ่ดฃ"ๆ€Žไนˆๅš"๏ผˆHow๏ผ‰ใ€‚่ฟ™ๆญฃๆ˜ฏๅฃฐๆ˜Žๅผ็ผ–็จ‹ไธŽ่ง„่Œƒ้ฉฑๅŠจๅผ€ๅ‘ๅœจๅ“ฒๅญฆๅฑ‚้ข็š„ๆทฑๅบฆๅฅ‘ๅˆใ€‚

6.็ป“่ฏญ๏ผšๅทฅ็จ‹ๅธˆ็š„ไธๅฏๆ›ฟไปฃๆ€ง โ€‹

ๅฝ“ๆˆ‘ไปฌๅ›žๆœ› React ่ฎพ่ฎกๅ“ฒๅญฆ็š„ๅ››ไธชๆ ธๅฟƒๆญฅ้ชคโ€”โ€”็ป„ไปถๅˆ’ๅˆ†ใ€้™ๆ€ๅŸบ็บฟใ€็Šถๆ€ๅฎšไฝใ€ๆ•ฐๆฎๆต้—ญ็Žฏ๏ผŒไผšๅ‘็Žฐๅฎƒไปฌๅ…ฑๅŒๆŒ‡ๅ‘ไธ€ไธชๆœฌ่ดจๅ‘ฝ้ข˜๏ผšๅฆ‚ไฝ•ๅœจๅคๆ‚ๆ€งไธญๅปบ็ซ‹็งฉๅบใ€‚

',55)),o("p",null,[a(r,{type:"info"},{default:l(()=>[...t[4]||(t[4]=[e("็ป„ไปถๅŒ–ๆ˜ฏๅฏน UI ๅคๆ‚ๆ€ง็š„ๅˆ†่งฃ๏ผŒ้™ๆ€็‰ˆๆœฌๆ˜ฏๅฏนๆธฒๆŸ“่กŒไธบ็š„้”šๅฎš๏ผŒๆœ€ๅฐ็Šถๆ€ๆ˜ฏๅฏนๆ•ฐๆฎๅ†—ไฝ™็š„ๅ‰”้™ค๏ผŒๅ•ๅ‘ๆ•ฐๆฎๆตๆ˜ฏๅฏนๅ˜ๆ›ด่ฝจ่ฟน็š„็บฆๆŸใ€‚่ฟ™ไบ›่ฎพ่ฎกๅŽŸๅˆ™ๅนถ้ž React ็‹ฌๆœ‰๏ผŒ่€Œๆ˜ฏ่ฝฏไปถๅทฅ็จ‹ๅ‡ ๅๅนดๆฒ‰ๆท€ไธ‹ๆฅ็š„ๆ™บๆ…ง็ป“ๆ™ถโ€”โ€”ๅ•ไธ€่Œ่ดฃใ€ๅ…ณๆณจ็‚นๅˆ†็ฆปใ€ๆ˜พๅผไผ˜ไบŽ้šๅผใ€ๆ•ฐๆฎๆต็š„ๅฏ่ฟฝๆบฏๆ€ง",-1)])]),_:1}),t[5]||(t[5]=e("ใ€‚",-1))]),a(r,{type:"warning",bold:""},{default:l(()=>[...t[6]||(t[6]=[e("AI ๆ—ถไปฃ็š„ๅˆฐๆฅ๏ผŒๅนถๆœชๆ”นๅ˜่ฟ™ไบ›ๅŽŸๅˆ™็š„ๅ†…ๆ ธ๏ผŒๅ่€Œ่ฎฉๅฎƒไปฌ็š„ไปทๅ€ผๆ›ดๅŠ ๅ‡ธๆ˜พ",-1)])]),_:1}),t[13]||(t[13]=e("ใ€‚ๅฝ“ AI ่ƒฝๅคŸไปฅๆƒŠไบบ็š„้€Ÿๅบฆ็”Ÿๆˆไปฃ็ ๆ—ถ๏ผŒ",-1)),t[14]||(t[14]=o("strong",null,'"ๅ†™ไป€ไนˆ"็š„ๅ†ณ็ญ–ๆƒๆฏ”"ๆ€Žไนˆๅ†™"็š„ๆ‰ง่กŒๅŠ›ๆ›ดไธบ็จ€็ผบ',-1)),t[15]||(t[15]=e("ใ€‚ไธ€ไธชๆธ…ๆ™ฐ็š„่ฎพ่ฎก่ง„่Œƒ๏ผŒ่ƒฝ่ฎฉ AI ไบงๅ‡บๅฏ็ปดๆŠค็š„ไปฃ็ ๏ผ›่€Œไธ€ไธชๆจก็ณŠ็š„้œ€ๆฑ‚ๆ่ฟฐ๏ผŒๅชไผš่ฎฉ AI ๅˆถ้€ ๆ›ดๅคšๆŠ€ๆœฏๅ€บๅŠกใ€‚",-1)),t[16]||(t[16]=o("p",null,[e("่ง„่Œƒ้ฉฑๅŠจๅผ€ๅ‘๏ผˆSDD๏ผ‰็š„ๆœฌ่ดจๆ˜ฏ"),o("strong",null,"ๅฐ†ๆžถๆž„ๆ€็ปดๅค–ๅŒ–ไธบๅฏๆ‰ง่กŒ็š„ๅฅ‘็บฆ"),e('ใ€‚ๅผ€ๅ‘่€…ไธๅ†ๆ˜ฏไปฃ็ ็š„"ๆฌ่ฟๅทฅ"๏ผŒ่€Œๆ˜ฏ่ง„่Œƒ็š„"็ซ‹ๆณ•่€…"ใ€‚ๆˆ‘ไปฌๅฎšไน‰็ป„ไปถ่พน็•Œใ€ๆ•ฒๅฎš็Šถๆ€ๆ‹“ๆ‰‘ใ€่ฎพ่ฎกๅ›ž่ฐƒๅฅ‘็บฆโ€”โ€”AI ๅˆ™ๅœจๆˆ‘ไปฌ่ฎพๅฎš็š„ๆก†ๆžถๅ†…้ซ˜ๆ•ˆๅกซๅ……ๅฎž็Žฐ็ป†่Š‚ใ€‚่ฟ™็งๅˆ†ๅทฅ๏ผŒ่ฎฉๅผ€ๅ‘่€…ไปŽ็น็็š„็ผ–็ ๅŠณๅŠจไธญ่งฃๆ”พๅ‡บๆฅ๏ผŒๅฐ†็ฒพๅŠ›้›†ไธญไบŽ็œŸๆญฃๅˆ›้€ ไปทๅ€ผ็š„ๆžถๆž„ๅ†ณ็ญ–ใ€‚')],-1)),o("p",null,[t[8]||(t[8]=e("ๆœ€ๅŽ๏ผŒ่ฏท่ฎฐไฝ๏ผš",-1)),a(r,{type:"note",bold:""},{default:l(()=>[...t[7]||(t[7]=[e("ๅทฅๅ…ทไผš่ฟญไปฃ๏ผŒๆŠ€ๆœฏไผš่ฟ‡ๆ—ถ๏ผŒไฝ†ๅฏนๅคๆ‚ๆ€ง็š„้ฉพ้ฉญ่ƒฝๅŠ›ๆฐธ่ฟœๆ˜ฏๅทฅ็จ‹ๅธˆ็š„ๆ ธๅฟƒ็ซžไบ‰ๅŠ›",-1)])]),_:1}),t[9]||(t[9]=e('ใ€‚React ็š„ API ๅฏ่ƒฝไผšๅœจๆœชๆฅ่ขซๆ–ฐ็š„ๆก†ๆžถๅ–ไปฃ๏ผŒไฝ†"ๅฆ‚ไฝ•ๅœจๅคๆ‚ๆ€งไธญๅปบ็ซ‹็งฉๅบ"่ฟ™ไธ€ๅ‘ฝ้ข˜๏ผŒๅฐ†ไผด้š่ฝฏไปถๅทฅ็จ‹็š„ๅง‹็ปˆใ€‚ๆ„ฟไฝ ๅœจ่ฟ™ๅœบๆŠ€ๆœฏๆผ”่ฟ›ไธญ๏ผŒๅง‹็ปˆ็ซ™ๅœจๆžถๆž„่ฎพ่ฎก็š„้ซ˜ๅœฐ๏ผŒ็”จๆธ…ๆ™ฐ็š„ๆ€็ปด้ฉพ้ฉญๅผบๅคง็š„ๅทฅๅ…ท๏ผŒๆž„ๅปบๅ‡บ็ปๅพ—่ตทๆ—ถ้—ด่€ƒ้ชŒ็š„่ฝฏไปถ็ณป็ปŸใ€‚',-1))])]))}});export{I as __pageData,D as default}; +import{H as r}from"./chunks/HighLightText.BFsbuOsY.js";import{g as s,h as i,U as n,i as o,z as a,S as e,s as l}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const I=JSON.parse('{"title":"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—","description":"ๆœฌๆ–‡ๆŽข่ฎจๅœจ AI ๅขžๅผบๅผ€ๅ‘่ƒŒๆ™ฏไธ‹๏ผŒๅฆ‚ไฝ•้‡ๅก‘ React ็ป„ไปถ่ฎพ่ฎกๅŽŸๅˆ™ใ€‚ๆถต็›– SRP ่Œ่ดฃๅˆ’ๅˆ†ใ€้™ๆ€็‰ˆๆœฌๅŸบ็บฟใ€ๆœ€ๅฐ็Šถๆ€๏ผˆDerived Data๏ผ‰ๆŽจๅฏผไปฅๅŠ SDD ไบบๆœบๅไฝœๆจกๅผ็š„ๅทฅ็จ‹่ฝๅœฐใ€‚","frontmatter":{"date":"2026-02-10T23:33:19.000Z","title":"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—","tldr":"ๅฝ“ AI ๆ‰ฟๆŽฅไบ† 30% ็š„็ผ–็ ๆ‰ง่กŒๆ—ถ๏ผŒๅผ€ๅ‘่€…้œ€้€š่ฟ‡โ€œ่ง„ๆ ผ้ฉฑๅŠจ๏ผˆSDD๏ผ‰โ€้‡ๅคบ 70% ็š„่ฎพ่ฎกไธปๆƒ๏ผšไปŽ่‡ชๆฒป็ป„ไปถๅˆ’ๅˆ†ๅˆฐๅ•ๅ‘ๆ•ฐๆฎๆตๆ‹“ๆ‰‘็š„ๆทฑๅบฆๆŽจๆผ”ใ€‚","description":"ๆœฌๆ–‡ๆŽข่ฎจๅœจ AI ๅขžๅผบๅผ€ๅ‘่ƒŒๆ™ฏไธ‹๏ผŒๅฆ‚ไฝ•้‡ๅก‘ React ็ป„ไปถ่ฎพ่ฎกๅŽŸๅˆ™ใ€‚ๆถต็›– SRP ่Œ่ดฃๅˆ’ๅˆ†ใ€้™ๆ€็‰ˆๆœฌๅŸบ็บฟใ€ๆœ€ๅฐ็Šถๆ€๏ผˆDerived Data๏ผ‰ๆŽจๅฏผไปฅๅŠ SDD ไบบๆœบๅไฝœๆจกๅผ็š„ๅทฅ็จ‹่ฝๅœฐใ€‚","tags":["tutorial","react","component-design","state-management","ai-augmented","specification-driven"],"permalink":"/fullstack/react-design-philosophy-ai-augmented","categories":["ๅ…จๆ ˆ","ๅ‰็ซฏๅทฅ็จ‹"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—.md","filePath":"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—.md"}'),d={name:"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—.md"},D=Object.assign(d,{setup(g){return(p,t)=>(i(),s("div",null,[t[10]||(t[10]=n('

React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ— โ€‹

1. ๅผ•่จ€ โ€‹

',3)),o("p",null,[t[1]||(t[1]=e("ๅœจ่ฝฏไปถๅทฅ็จ‹ไธญ๏ผŒ็บฆ 70% ็š„ๆ—ถ้—ดๅบ”ๆŠ•ๅ…ฅไบŽๆžถๆž„่ฎพ่ฎกใ€้œ€ๆฑ‚ๆ‹†่งฃไธŽๆŽฅๅฃ่ฏญไน‰ๆŽจๆ•ฒ๏ผŒไป… 30% ็”จไบŽๅฎž้™…็ผ–็ ใ€‚่ฟ›ๅ…ฅ AI ๅไฝœๆ—ถไปฃๅŽ๏ผŒ่ฟ™ไธ€ๆฏ”ไพ‹ไพ็„ถๅšๅฆ‚็ฃ็Ÿณโ€”โ€”ๅผ€ๅ‘่€…ๅฟ…้กปๅ…ˆๅฎŒๆˆๆทฑๅบฆๆ€่€ƒ๏ผŒๅฐ†โ€œๆธ…ๆ™ฐ็š„้—ฎ้ข˜่ง„ๆ ผ๏ผˆSpecification๏ผ‰โ€ไบค็ป™ AI๏ผŒAI ๆ‰่ƒฝ่พ“ๅ‡บ้ซ˜่ดจ้‡ไปฃ็ ใ€‚",-1)),a(r,{type:"note",bold:""},{default:l(()=>[...t[0]||(t[0]=[e("AI ๆๅ‡็š„ๆ˜ฏ 30% ็ผ–็ ้˜ถๆฎต็š„ๆ‰ง่กŒๅŠ›๏ผŒ่€Œ้žๅ–ไปฃ 70% ็š„ๆžถๆž„่ฃๅ†ณ",-1)])]),_:1}),t[2]||(t[2]=e("ใ€‚ ้ซ˜่ดจ้‡ React ๅบ”็”จ็š„่ฏž็”Ÿ๏ผŒไพ็„ถๅง‹ไบŽไบบ็ฑปๅฟƒๆ™บๅฏนๆ•ฐๆฎๆตใ€ๅ‰ฏไฝœ็”จ่พน็•ŒไธŽๅฏ็ป„ๅˆๆ€ง็š„้€ๅฝปๆŽจๆผ”ใ€‚",-1))]),t[11]||(t[11]=o("p",null,'็„ถ่€Œ๏ผŒ็œŸๆญฃ้ฉพ้ฉญ React ๅนถ้žๆ˜“ไบ‹ใ€‚่ฎธๅคšๅ›ข้˜Ÿๅœจ้กน็›ฎๅˆๆœŸไบซๅ—็€็ป„ไปถๅŒ–ๅธฆๆฅ็š„ๅฟซๆ„Ÿ๏ผŒๅดๅœจไธšๅŠก่†จ่ƒ€ๅŽ้™ทๅ…ฅ"็ป„ไปถๅœฐ็‹ฑ"โ€”โ€”ๆทฑๅตŒๅฅ—็š„ prop drillingใ€ๅคฑๆŽง็š„็Šถๆ€่”“ๅปถใ€้šพไปฅ่ฟฝ่ธช็š„ๅ‰ฏไฝœ็”จ๏ผŒ่ฎฉไปฃ็ ๅบ“้€ๆธ่…ๅŒ–ใ€‚้—ฎ้ข˜็š„ๆ นๆบๅพ€ๅพ€ไธๅœจไบŽ React ๆœฌ่บซ๏ผŒ่€ŒๅœจไบŽๆˆ‘ไปฌๆ˜ฏๅฆ็œŸๆญฃ็†่งฃๅ…ถ่ƒŒๅŽ็š„่ฎพ่ฎกๅ“ฒๅญฆใ€‚',-1)),a(r,{bold:""},{default:l(()=>[...t[3]||(t[3]=[e("React ็š„็ฒพ้ซ“ๅœจไบŽไปฅ็ป„ไปถๅŒ–ไธบๆ ธๅฟƒ๏ผŒๅฐ†ๅคๆ‚็š„ UI ๆ‹†่งฃไธบ็‹ฌ็ซ‹ใ€ๅฏๅค็”จ็š„่‡ชๆฒปๅ•ๅ…ƒ๏ผŒ่ฎฉๆ•ฐๆฎๆฒฟ็€ไปŽ่พ“ๅ…ฅ๏ผˆprops๏ผ‰ๅˆฐ่พ“ๅ‡บ๏ผˆUI ๅ…ƒ็ด ๏ผ‰็š„่ฝจ่ฟนๅฝขๆˆๆธ…ๆ™ฐใ€ๅฏๆŽง็š„้—ญ็Žฏ",-1)])]),_:1}),t[12]||(t[12]=n('ใ€‚ไธบ็กฎไฟ้กน็›ฎ็š„ๅฏ็ปดๆŠคๆ€งไธŽๆŠ—่…ๅŒ–่ƒฝๅŠ›๏ผŒReact ๅผ€ๅ‘่€…ๅบ”ๅฐ†ไปฅไธ‹ๆ ‡ๅ‡†ๅ†…ๅŒ–ไธบ่‚Œ่‚‰่ฎฐๅฟ†๏ผš
ๆฃ€ๆŸฅ้กนๆ ธๅฟƒๆ ‡ๅ‡†ๆžถๆž„็›ฎๆ ‡
1. ๅ•ไธ€่Œ่ดฃๆฏไธช็ป„ไปถๆ˜ฏๅฆๅชๅšไธ€ไปถไบ‹๏ผˆ็บฏๅธƒๅฑ€ๆˆ–็บฏ้€ป่พ‘๏ผ‰๏ผŸๆŽงๅˆถ่ฎค็Ÿฅๅคๆ‚ๅบฆ๏ผŒ้˜ฒๆญข็ป„ไปถโ€œไธŠๅธๅŒ–โ€
2. ็ป„ๅˆไผ˜ๅ…ˆๆ˜ฏๅฆไผ˜ๅ…ˆไฝฟ็”จไบ† children ๆˆ– Props ไผ ้€’ๅญ็ป„ไปถ๏ผŸๆถˆ้™ค Prop Drilling๏ผŒๆๅ‡็ตๆดปๆ€ง
3. DOM ๆ‰ๅนณๆ˜ฏๅฆๅˆฉ็”จ <>...</> ็งป้™คไบ†ๆ‰€ๆœ‰้žๅฟ…่ฆ็š„ๅŒ…่ฃ… <div>๏ผŸๅ‡ๅฐๆธฒๆŸ“ๅผ€้”€๏ผŒไฟๆŒ DOM ๆ ‘็บฏ็ฒน
4. ๆ‹ฅๆŠฑ Hooksๆ˜ฏๅฆๅทฒ็”จ Custom Hooks ๆ›ฟไปฃไบ† HOC ๅตŒๅฅ—๏ผŸๅฑ•ๅนณ็ป„ไปถๆ ‘๏ผŒๅฎž็Žฐ้€ป่พ‘ไธŽ่ง†ๅ›พ็š„็‰ฉ็†้š”็ฆป

2. ๅˆ’ๅˆ†ๅ…ทๅค‡ๅˆ†ๅฑ‚็ป“ๆž„็š„โ€œ่‡ชๆฒปโ€็ป„ไปถ โ€‹

็ป„ไปถๆ˜ฏ React ๅฏนโ€œๅ…ณๆณจ็‚นๅˆ†็ฆปโ€่ฟ™ไธ€่ฝฏไปถๅทฅ็จ‹็ปๅ…ธๅŽŸๅˆ™็š„ๅ…ท่ฑกๅŒ–่ฝๅœฐใ€‚ๅฎƒๅฐ† UI ๆ‹†ๅˆ†ไธบ่‹ฅๅนฒ่‡ชๆฒปๅ•ๅ…ƒ๏ผŒๆฏไธชๅ•ๅ…ƒๅฏนๅค–ไป…ๆšด้œฒ props ๅฅ‘็บฆ๏ผŒๅฏนๅ†…้€š่ฟ‡ state ็ฎก็†่‡ช่บซ่กŒไธบใ€‚

ๅˆ’ๅˆ†็ป„ไปถๅฟ…้กปๆชๅฎˆๅ•ไธ€่Œ่ดฃ๏ผˆSRP๏ผ‰ไธŽ้ซ˜ๅ†…่šไฝŽ่€ฆๅˆไธคๆก้“ๅพ‹๏ผš

  • ไธ€ไบ‹ไธ€่ฎฎ๏ผš็†ๆƒณ็Šถๆ€ไธ‹๏ผŒไธ€ไธช็ป„ไปถๅช่ดŸ่ดฃๆธฒๆŸ“ไธ€ๅ—็‰นๅฎš็š„่ง†่ง‰ๆˆ–ๅฐ่ฃ…ไธ€็ฑป็‰นๅฎš็š„ไบคไบ’ใ€‚้š็€ๅŠŸ่ƒฝ่†จ่ƒ€๏ผŒๅฟ…้กปๆžœๆ–ญๅฐ†ๅ…ถ่ฃ‚ๅ˜ไธบๆ›ด็ป†็ฒ’ๅบฆ็š„ๅญ็ป„ไปถใ€‚
  • ๆ˜พๅผ้€šไฟก๏ผš็ป„ไปถ้—ดไป…้€š่ฟ‡ props ไธŽๅ›ž่ฐƒ้€šไฟก๏ผŒๆœ็ปไปปไฝ•ๅฝขๅผ็š„้šๅผ็Šถๆ€ๅ…ฑไบซใ€‚

ๅœจๅฎž่ทตไธญ๏ผŒๆˆ‘ไปฌๅฏไปฅ้€š่ฟ‡ไปฅไธ‹็ญ–็•ฅๅŽ‹ๅนณ็ป„ไปถๅฑ‚็บง๏ผŒ็ปดๆŒๆžถๆž„็š„ๆธ…็ˆฝ๏ผš

็ญ–็•ฅ่ฏดๆ˜Ž
่ง’่‰ฒ็•Œๅฎšๅฎนๅ™จ็ป„ไปถ๏ผˆContainer๏ผ‰๏ผšๅ……ๅฝ“"่ฐƒๅบฆไธญๅฟƒ"๏ผŒ่ดŸ่ดฃๆ•ฐๆฎ่Žทๅ–ใ€็Šถๆ€็ฎก็†ไธŽไธšๅŠก้€ป่พ‘๏ผŒ้šๅŽๅฐ†ๅนฒๅ‡€็š„ๆ•ฐๆฎๆตๅ…ฅๅญ็ป„ไปถใ€‚้ฟๅ…ๅœจๅฎนๅ™จไธญๆททๆ‚ๅคๆ‚็š„ DOM ็ป“ๆž„๏ผŒๅˆฉ็”จ Custom Hooks ๆŠฝ็ฆป้€ป่พ‘๏ผŒ่ƒฝ่ฎฉ UI ๅฑ‚็บง็žฌ้—ดๅ˜่–„ใ€‚
ๅฑ•็คบ็ป„ไปถ๏ผˆPresentational๏ผ‰๏ผšๅ……ๅฝ“"็บฏๅ‡ฝๆ•ฐ"๏ผŒไธ“ๆณจไบŽๆŽฅๆ”ถ props ๅนถๆธฒๆŸ“่ง†ๅ›พ๏ผŒไฟๆŒ DOM ็ป“ๆž„็š„ๆžๅบฆๆ‰ๅนณใ€‚
็ป„ๅˆไผ˜ไบŽๅตŒๅฅ—่ฟ™ๆ˜ฏ่งฃๅ†ณ็ป„ไปถๆ ‘่ฟ‡ๆทฑ็š„ๆœ€ๅผบๆญฆๅ™จใ€‚ๆฐธ่ฟœไธ่ฆๅœจ็ป„ไปถๅ†…้ƒจ็กฌ็ผ–็ ๅญ็ป„ไปถ๏ผŒ่€Œๆ˜ฏ้€š่ฟ‡ children ๆˆ– render props๏ผŒๅฐ†ๅญ็ป„ไปถไฝœไธบๅ‚ๆ•ฐๆณจๅ…ฅใ€‚่ฟ™ๅœจ่ฏญไน‰ไธŠๅฝขๆˆไบ†ไธ€็ง"ๅฃฐๆ˜Žๅผ DSL"๏ผŒ่ฎฉไปฃ็ ๆœฌ่บซๆˆไธบ็›ด่ง‚็š„ UI ่“ๅ›พใ€‚
ๆž็ฎ€ๆŽฅๅฃ็ป„ไปถ็š„ props ๅฅ‘็บฆๅบ”็ปๅฏนๆœ€ๅฐๅŒ–๏ผŒไป…ๆšด้œฒๅฟ…่ฆ็š„่พ“ๅ…ฅใ€‚

AI ๅไฝœๅฐๆดžๅฏŸ๏ผš

ๆˆ‘ไปฌ่ฆๅ…ˆๅˆ’ๅˆ†ๅฑ‚็บง็ป“ๆž„๏ผŒไธๅบ”่ฏฅ่ฎฉ AI ็›ฒ็›ฎๅ†™ไปฃ็ ๏ผŒๅฏไปฅๅ…ˆ่ฎฉๅฎƒๅ……ๅฝ“โ€œๆžถๆž„ๅŠฉ็†โ€่ฟ›่กŒ็ป“ๆž„ๅˆ’ๅˆ†ไธŽ่ฎพ่ฎก๏ผš

  • ๆŠ•ๅ–‚้œ€ๆฑ‚ไธŽ่ง†่ง‰่ง„ๆ ผ๏ผŒๆไพ›้œ€ๆฑ‚ๆ่ฟฐๆˆ– UI ่ง†่ง‰็จฟๆˆชๅ›พ๏ผŒ่ฆๆฑ‚ AI๏ผˆๅฆ‚ ChatGPTใ€Claude ็ญ‰๏ผ‰่พ…ๅŠฉๅˆ†ๆžๅนถ่พ“ๅ‡บ็ป„ไปถๅฑ‚็บงๆ ‘๏ผŒๅŒๆ—ถ่งฃ้‡Šๅ…ถ่Œ่ดฃๅˆ’ๅˆ†ไธŽๅฑ‚็บง็ป“ๆž„่ฎพ่ฎก็š„ๆ€่ทฏใ€‚
  • ๅฎšไน‰่Œ่ดฃ็บฆๆŸ๏ผŒๅœจ Prompt ไธญๆ˜Ž็กฎ่ฆๆฑ‚ AI ๅŒบๅˆ†"ๅฎนๅ™จ็ป„ไปถ"ไธŽ"ๅฑ•็คบ็ป„ไปถ"๏ผŒๅนถ้ตๅพชๅ•ไธ€่Œ่ดฃๅŽŸๅˆ™ไธบๅ…ถๅ‘ฝๅโ€”โ€”่ฟ™ๆ—ข่ƒฝๅฏๅ‘ๆ€่ทฏ๏ผŒไนŸ่ƒฝๆๅ‰่ง„้ฟๅ‘ฝๅไธๅฝ“็š„้—ฎ้ข˜ใ€‚
  • ไบบๅทฅ่ฃๅ†ณ๏ผŒ่ฏ„ไผฐ AI ่พ“ๅ‡บ็š„็ป“ๆž„๏ผŒๅพฎ่ฐƒ่พน็•Œ๏ผŒ็กฎไฟ่ฟ™ๅฅ—โ€œ้ชจๆžถโ€่ถณๅคŸๅฅๅฃฎ๏ผŒๅ†่ฟ›ๅ…ฅไธ‹ไธ€ๆญฅ็š„ๅฎž่ดจๆ€ง็ผ–็ ใ€‚

3. ๆž„ๅปบ็บฏๆธฒๆŸ“็š„้™ๆ€็‰ˆๆœฌ๏ผš็กฎ็ซ‹ๅทฅ็จ‹ๅŸบ็บฟ โ€‹

ๅœจ็Šถๆ€ไธŽไบคไบ’ไป‹ๅ…ฅไน‹ๅ‰๏ผŒๆˆ‘ไปฌๅฏไปฅๅ…ˆ็”จโ€œๆ•ฐๆฎๅ ไฝ็ฌฆโ€ๆŠŠ UI ็š„็บฏๆธฒๆŸ“่ทฏๅพ„่ท‘้€š๏ผŒๆž„ๅปบไธ€ไธชๅ‰ฅ็ฆปไบ†ๆ‰€ๆœ‰ๅŠจๆ€่กŒไธบ็š„โ€œ้™ๆ€็‰ˆๆœฌโ€ใ€‚ๆญค่ฟ‡็จ‹ไธ้œ€่ฆ่ฟ‡ๅคš็š„้€ป่พ‘็ƒง่„‘๏ผŒ่€Œๆ˜ฏ็บฏ็ฒน็š„็ป“ๆž„็ผ–็ ใ€‚

้™ๆ€็‰ˆๆœฌๅบ”ไฟ่ฏ็ป„ไปถๆ— ๅ‰ฏไฝœ็”จ๏ผŒ่ƒฝไธบๅŽ็ปญๅฟซ็…งๆต‹่ฏ•ใ€ๆœๅŠก็ซฏๆธฒๆŸ“๏ผˆSSR๏ผ‰ไธŽ hydration ๅฅ ๅฎšๅฏ้ ๅŸบ็ก€ใ€‚่ฟ™ไธ€ๆญฅ็š„ๅทฅ็จ‹ไปทๅ€ผไธๅฏไผฐ้‡๏ผš

  • ๅฅ‘็บฆ้ชŒ่ฏ๏ผšๅผบๅˆถๆฃ€้ชŒๅฝ“ๅ‰็š„ props ่ฎพ่ฎกๆ˜ฏๅฆ่ถณไปฅ่กจ่พพๆ‰€ๆœ‰็š„่ง†่ง‰็Šถๆ€ๅทฎๅผ‚ใ€‚
  • ๅ‰็ฝฎๅฏน้ฝ๏ผš่ฎฉ่ฎพ่ฎกๅธˆๅ’Œไบงๅ“ๆๅ‰้ชŒๆ”ถโ€œๅƒ็ด ็บงโ€้™ๆ€ไบง็‰ฉ๏ผŒ่ง„้ฟๅŽๆœŸๅฏ่ƒฝๅ‡บ็Žฐ็š„่ง†่ง‰่ฟ”ๅทฅใ€‚
  • ๅฏไฟกๅŸบ็บฟ๏ผšไธบๅŽ็ปญๅขž้‡ๅผ•ๅ…ฅ็Šถๆ€๏ผˆState๏ผ‰ไธŽๅ‰ฏไฝœ็”จ๏ผˆEffects๏ผ‰ๆไพ›ไบ†ไธ€ไธช้šๆ—ถๅฏๅ›žๆปš็š„ๅŸบ็บฟใ€‚

ๅœจ็ผ–ๅ†™ไปฃ็ ๆ—ถ๏ผŒๆˆ‘ไปฌ้€šๅธธ้‡‡็”จโ€œ่‡ช้กถๅ‘ไธ‹โ€็š„ๆž„ๅปบ้กบๅบ๏ผŒๅณไปŽ้กถๅฑ‚ๅฎนๅ™จๅผ€ๅง‹๏ผŒ้€ๅฑ‚ๅ‘ๅถๅญ่Š‚็‚นๅฎž็Žฐใ€‚่ฟ™็ง็ญ–็•ฅ่ƒฝ็กฎไฟ็ป„ไปถ่Œ่ดฃๆธ…ๆ™ฐ๏ผŒไธไผš่ฟ‡ๆ—ฉ้™ทๅ…ฅๅฑ€้ƒจ็ป†่Š‚๏ผŒๅŒๆ—ถไฟ่ฏๆฏไธชๆจกๅ—้ƒฝๆ˜ฏ็‹ฌ็ซ‹ใ€ๅฏๆต‹่ฏ•็š„ใ€‚

ๅฝ“็„ถ๏ผŒๅœจ AI ๅไฝœๆ—ถไปฃ๏ผŒๅ€ŸๅŠฉ AI ็”Ÿๆˆ้™ๆ€็‰ˆๆœฌๆ— ็–‘ๆ˜ฏๆ›ดไธบ้ซ˜ๆ•ˆ็š„ๆ–นๅผใ€‚ไฝ†ๆˆ‘ไปฌไธๅปบ่ฎฎ็›ดๆŽฅ้‡‡็”จๅ…จ่‡ชๅŠจๅŒ–ๆž„ๅปบไฝœไธบๆœ€็ปˆๆ–นๆกˆโ€”โ€”ๆฏ•็ซŸ้™ๆ€็‰ˆๆœฌๆ˜ฏๆ•ดไธช้กน็›ฎ็š„ๅทฅ็จ‹ๅŸบ็บฟ๏ผŒไธ€ๆ—ฆๅญ˜ๅœจ้š่”ฝ็ผบ้™ท๏ผŒๅฐ†ไธบๅŽ็ปญ่ฟญไปฃๅŸ‹ไธ‹้šๆ‚ฃใ€‚

ๆ›ด็จณๅฅ็š„ๅšๆณ•ๆ˜ฏๅฐ†ๅ…จ่‡ชๅŠจๅŒ–ไธŽๅŠ่‡ชๅŠจๅŒ–ๅนถ่กŒๆŽจ่ฟ›๏ผšๅ…ˆ่ฎฉ AI ๅŸบไบŽ็ฌฌไธ€้˜ถๆฎต่ฏ„ๅฎก้€š่ฟ‡็š„็ป„ไปถๅˆ’ๅˆ†ๆ ‘ไธŽ่Œ่ดฃๆ่ฟฐ๏ผŒๅœจ็‹ฌ็ซ‹ๅˆ†ๆ”ฏไธญๅ…จ่‡ชๅŠจๅŒ–็”Ÿๆˆไปฃ็ ๏ผ›ไธŽๆญคๅŒๆ—ถ๏ผŒๅผ€ๅ‘่€…ๅœจๆญฃๅผๅˆ†ๆ”ฏไธญไปฅๅŠ่‡ชๅŠจๅŒ–ๆ–นๅผ้€ๆญฅๆญๅปบใ€‚็”ฑไบŽๅ…จ่‡ชๅŠจๅŒ–ไบงๅ‡บ้€Ÿๅบฆๆžๅฟซ๏ผŒๆˆ‘ไปฌๅฏไปฅๆจชๅ‘ๅฏนๆฏ”ๅคšไปฝ็”Ÿๆˆ็ป“ๆžœ๏ผŒๆ‹ฉไผ˜้ชŒ่ฏๅŽๅ†ๆ•ดๅˆๅˆฐๆญฃๅผ้กน็›ฎไธญใ€‚่ฟ™็ง"่พนๅš่พน้ชŒ"็š„ๆจกๅผ๏ผŒๆ—ข่ƒฝๆๅ‡ๅŸบ็บฟ่ดจ้‡๏ผŒไนŸ่ƒฝๅŠ ๆทฑๅผ€ๅ‘่€…ๅฏนๆžถๆž„็š„็†่งฃใ€‚

่ฟ›ๅ…ฅ้™ๆ€็‰ˆๆœฌๆž„ๅปบ้˜ถๆฎต๏ผŒๆˆ‘ไปฌ้œ€่ฆๅ…ณๆณจไปฅไธ‹ไธ‰ไธชๅ…ณ้”ฎ็Žฏ่Š‚๏ผš

1ใ€ๅ‰็ฝฎๆญฅ้ชค๏ผš่„šๆ‰‹ๆžถ็”Ÿๆˆ
้ฆ–ๅ…ˆๅˆฉ็”จ AI ็ผ–็จ‹ๅทฅๅ…ท๏ผˆๅฆ‚ Claude Code / Codex๏ผ‰ๅฟซ้€Ÿๅˆๅง‹ๅŒ–้กน็›ฎ็ป“ๆž„ไธŽ้…็ฝฎๆ–‡ไปถใ€‚่ฟ™ไธ€ๆญฅๆ˜ฏๅŽ็ปญๅ…จ่‡ชๅŠจๅŒ–ไธŽๅŠ่‡ชๅŠจๅŒ–ๅนถ่กŒๆจกๅผ็š„ๅŸบ็ก€โ€”โ€”AI ๅœจๆ ‡ๅ‡†ๅŒ–่„šๆ‰‹ๆžถๆญๅปบไธŠๆ•ˆ็އๆž้ซ˜๏ผŒ่ƒฝๅคŸ่ฟ…้€Ÿไธบๆˆ‘ไปฌ้“บๅฅฝๅทฅ็จ‹ๅœฐๅŸบใ€‚

2ใ€ๆณจๅ…ฅ่ง„ๆ ผ๏ผŒๅฏๅŠจๅŒ่ฝจๆจกๅผ
ๅฐ†็ฌฌไธ€้˜ถๆฎต็กฎ่ฎคๅฅฝ็š„"็ป„ไปถๅฑ‚็บงๆ ‘ไธŽ่Œ่ดฃๆ่ฟฐ"ไฝœไธบๆ˜Ž็กฎ็š„ Specification ๅ–‚็ป™ AI๏ผŒไปคๅ…ถๆ‰น้‡็”Ÿๆˆ็ฌฆๅˆ React ่ง„่Œƒ็š„้™ๆ€็ป„ไปถ้ชจๆžถใ€‚ๆญคๆ—ถๅ…จ่‡ชๅŠจๅŒ–ไธŽๅŠ่‡ชๅŠจๅŒ–ไธคๆก็บฟๅนถ่กŒๆŽจ่ฟ›๏ผšAI ๅœจ็‹ฌ็ซ‹ๅˆ†ๆ”ฏๅฟซ้€Ÿไบงๅ‡บๅคšไปฝๅ€™้€‰ไปฃ็ ๏ผŒๅผ€ๅ‘่€…ๅˆ™ๅœจไธปๅนฒๅˆ†ๆ”ฏ้€ๆญฅๆญๅปบ๏ผŒๅฝขๆˆๅฏๅฏนๆฏ”ใ€ๅฏ้ชŒ่ฏ็š„ๅไฝœ้—ญ็Žฏใ€‚

3ใ€ไบบๆœบ็ป“ๅฏนๅฎกๆŸฅ
ๆจชๅ‘ๅฏนๆฏ” AI ็š„่‡ชๅŠจๅŒ–ไบงๅ‡บๅŽ๏ผŒๆ‹ฉไผ˜ไธŽไบบๅทฅไปฃ็ ่žๅˆ๏ผŒ้‡็‚น Review ๆ˜ฏๅฆ็œŸๆญฃๅšๅˆฐ"ๆ— ๅ‰ฏไฝœ็”จ"ไธŽ"ๅน‚็ญ‰ๆธฒๆŸ“"ใ€‚่ฟ‡็จ‹ไธญไนŸๅฏ่ฎฉ AI ไธŽไบบๅทฅๅไฝœ๏ผŒไธ€ๆ—ฆๅ‘็Žฐ้—ฎ้ข˜ๆˆ–ๅผ‚ๅธธๆƒ…ๅ†ต๏ผŒ็ซ‹ๅณ้€š่ฟ‡ๅฏน่ฏ็บ ๆญฃ๏ผŒ็กฎไฟ่ฟ™ไปฝ้™ๆ€ๅŸบ็บฟ็š„็ปๅฏน็บฏ็ฒนโ€”โ€”ๅฎƒๅฐ†ๆ˜ฏๅŽ็ปญๅผ•ๅ…ฅ็Šถๆ€ไธŽๅ‰ฏไฝœ็”จๆ—ถๅ”ฏไธ€ๅฏไฟก็š„ๅ›žๆปš้”š็‚นใ€‚

4. ๅฏปๆ‰พ็Šถๆ€็š„ๆœ€็ฎ€่กจ็คบ๏ผŒๆ•ฒๅฎšๆ‹“ๆ‰‘ไฝ็ฝฎ โ€‹

4.1 ไป€ไนˆๆ˜ฏ State๏ผŸไป€ไนˆๆ˜ฏ Derived Data๏ผˆๆดพ็”Ÿๆ•ฐๆฎ๏ผ‰๏ผŸ โ€‹

State ๆœฌ่ดจไธŠๆ˜ฏๅฏนๅบ”็”จ้šๆ—ถ้—ดๅ˜ๅŒ–ไบง็”Ÿ็š„ๅทฎๅผ‚็š„ๅปบๆจก๏ผŒไธบๆญฃ็กฎๅœฐๆž„ๅปบๅบ”็”จ๏ผŒ่ฎฉๅบ”็”จๅฏๆŽง๏ผŒๆˆ‘ไปฌ้œ€่ฆๅœจ่ฟ™ไธ€้˜ถๆฎตๆ‰พๅ‡บ้ฉฑๅŠจ UI ่ฟ่ฝฌ็š„ State๏ผˆ็Šถๆ€๏ผ‰็š„ๆœ€ๅฐๅฎŒๆ•ด้›†ๅˆใ€‚

ๅœจๅฎšไน‰ State ไน‹ๅ‰๏ผŒๅ…ˆๅš็ต้ญ‚ไธ‰้—ฎใ€‚ๅ…ˆ้—ฎ่‡ชๅทฑไธ‰ไธชๅ…ณ้”ฎ้—ฎ้ข˜ใ€‚ๅฆ‚ๆžœๆปก่ถณไปฅไธ‹ไปปไฝ•ไธ€ๆก๏ผŒๅฎƒๅฐฑ็ปๅฏนไธๆ˜ฏ State๏ผš

  1. ้šๆ—ถ้—ดๆŽจ็งปไฟๆŒไธๅ˜๏ผŸ ๏ผˆๅฆ‚้™ๆ€้…็ฝฎ๏ผ‰ -> ไธๆ˜ฏ Stateใ€‚
  2. ้€š่ฟ‡ props ไปŽ็ˆถ็บงไผ ๅ…ฅ๏ผŸ ๏ผˆๅฆ‚ๅค–้ƒจๆณจๅ…ฅ็š„ๆ•ฐๆฎ๏ผ‰ -> ไธๆ˜ฏ Stateใ€‚
  3. ่ƒฝ้€š่ฟ‡ๅทฒๆœ‰ State ๆˆ– props ่ฎก็ฎ—ๅพ—ๅ‡บ๏ผŸ ๏ผˆๅฆ‚ๆ นๆฎๅ•†ๅ“ๅˆ—่กจ่ฎก็ฎ—ๅ‡บ็š„ๅบ“ๅญ˜ๆ€ป้‡๏ผ‰ -> ๅšๅ†ณไธ่ƒฝไฝœไธบ Stateใ€‚

่ฟ™ไบ›ๅฏ้€š่ฟ‡่ฎก็ฎ—ๅพ—ๅ‡บ็š„ๆ•ฐๆฎ่ขซ็งฐไธบ Derived Data๏ผˆๆดพ็”Ÿๆ•ฐๆฎ๏ผ‰ใ€‚ๆญฃ็กฎ็š„ๅšๆณ•ๆ˜ฏๅœจๆธฒๆŸ“ๆœŸ้—ดๅŠจๆ€่ฎก็ฎ—ๅฎƒไปฌ๏ผŒๆˆ–ไฝฟ็”จ useMemo ่ฟ›่กŒๆ€ง่ƒฝไผ˜ๅŒ–๏ผŒ่€Œไธๆ˜ฏๅฐ†ๅ…ถๅกžๅ…ฅ useState ไธญๅพ’ๅขžๅŒๆญฅ็ƒฆๆผใ€‚

ไธ€ไปฝๅˆๆ ผ็š„็Šถๆ€ๅฟ…้กป๏ผšๆœ€ๅฐ๏ผˆๅ‰”้™คๅฏๆŽจๅฏผๅญ—ๆฎต๏ผ‰ไธ”ๅฎŒๆ•ด๏ผˆไธ‹ๆธธ UI ่ƒฝๅŸบไบŽๆญค็Šถๆ€้›†ๅˆ่ฟ›่กŒ็กฎๅฎšๆ€งๆธฒๆŸ“๏ผ‰ใ€‚

4.2 ๆ•ฒๅฎš State ็š„ๅฎ‰ๆ”พไฝ็ฝฎ โ€‹

ๅฐๆ็คบ๏ผš้˜ฒ่Œƒ็Šถๆ€็ˆ†็‚ธไธŽๆณ„ๆผ

  • ๅ•ไธ€็œŸๅฎžๆ•ฐๆฎๆบ๏ผšๅŒไธ€ไธšๅŠกๅฎžไฝ“ๅœจ็ป„ไปถๆ ‘ไธญๅช่ƒฝๅญ˜ๅœจไธ€ไปฝ็Šถๆ€ๅ‰ฏๆœฌใ€‚ๅฆ‚ๆžœ็ฅ–ๅ…ˆ่Š‚็‚นๅทฒๆœ‰๏ผŒๅฐฑ้€š่ฟ‡ props ไผ ้€’๏ผŒไธฅ็ฆๅœจไธๅŒ็ป„ไปถๅ†…้‡ๅค useStateใ€‚
  • ๆ— ๆณ„ๆผไธ‹ๆฒ‰๏ผšๆŠŠ็Šถๆ€้š”็ฆปๅœจๅฑ€้ƒจๅญๆ ‘ๆ—ถ๏ผŒๅฟ…้กปๆ˜พๅผๅฎšไน‰่ฏปๅ†™่พน็•Œโ€”โ€”ไป…ๅฏน็œŸๆญฃ้œ€่ฆ็š„ๅญๅญ™ๆšด้œฒๆŽฅๅฃใ€‚็ฆๆญขๅœจๆจกๅ—้กถๅฑ‚ๅฃฐๆ˜Žๅฏๅ˜็Šถๆ€๏ผŒ้˜ฒๆญข็Šถๆ€้šๅผ็ฉฟ้€็ป„ไปถ่พน็•Œใ€‚

็กฎๅฎšไบ†โ€œๆ˜ฏไป€ไนˆโ€ไน‹ๅŽ๏ผŒๆ›ดๅ…ณ้”ฎ็š„ๆ˜ฏโ€œๆ”พๅœจๅ“ชโ€ใ€‚State ็š„ๅฎ‰็ฝฎ้œ€่ฆๅœจ็Šถๆ€ๆๅ‡๏ผˆLifting State Up๏ผ‰ไธŽ็Šถๆ€ไธ‹ๆฒ‰๏ผˆColocating State๏ผ‰ไน‹้—ดๅฏปๆ‰พๅŠจๆ€ๅนณ่กก๏ผš

  • ็Šถๆ€ๆๅ‡๏ผˆLifting State Up๏ผ‰๏ผš่‹ฅๅคšไธชๅ…„ๅผŸ็ป„ไปถ้œ€่ฆๅ…ฑไบซๅŒไธ€็Šถๆ€๏ผŒๆฏซไธ็Šน่ฑซๅœฐๅฐ†ๅ…ถๆๅ‡่‡ณๅฎƒไปฌๆœ€่ฟ‘็š„ๅ…ฌๅ…ฑ็ˆถ่Š‚็‚นใ€‚
  • ็Šถๆ€ไธ‹ๆฒ‰๏ผˆColocating State๏ผ‰๏ผš่‹ฅ็Šถๆ€ไป…ๅœจ็‰นๅฎšๅญๆ ‘ๅ†…้ƒจๆต่ฝฌ๏ผŒๅบ”้€š่ฟ‡ๅฑ€้ƒจ Context ๆˆ–่ฝป้‡็บง็Šถๆ€ๅบ“๏ผˆZustand / Jotai๏ผ‰ๅฐ†ๅ…ถ้š”็ฆป๏ผŒ้ฟๅ…ๆฑกๆŸ“ๅ…จๅฑ€ใ€‚

ๆžถๆž„็›ฎๆ ‡ๆ˜ฏ็ป˜ๅˆถๅ‡บไธ€ๅผ ๆธ…ๆ™ฐ็š„ๆ•ฐๆฎๆตๆ‹“ๆ‰‘ๅ›พ๏ผš็Šถๆ€ๅ˜ๆ›ดๅชๆฒฟๅ•ๅ‘่ฝจ้“ๆตๅŠจ๏ผŒๅ‡บ็Žฐ Bug ๆ—ถ๏ผŒๅฏไปฅๅƒๆŽ’ๆŸฅ็”ต่ทฏๅ›พไธ€ๆ ท็”จไธ‡็”จ่กจ้€็‚นๆต‹้‡ใ€‚

4. ๅปบ็ซ‹ๅๅ‘ๆ•ฐๆฎๆต๏ผš่ฎฉๅ›ž่ฐƒๆˆไธบๅˆšๆ€งๅฅ‘็บฆ โ€‹

React ็š„ๆ•ฐๆฎๆตๅคฉ็„ถๆ˜ฏ่‡ช้กถๅ‘ไธ‹็š„๏ผˆTop-Down๏ผ‰ใ€‚่ฟ™็งๅ•ๅ‘ๆตๅŠจ็‰บ็‰ฒไบ†ๅŒๅ‘็ป‘ๅฎš็š„โ€œไพฟๆทๆ€งโ€๏ผŒๆขๆฅ็š„ๆ˜ฏๆ•ฐๆฎๆต่ฝฌ็š„็ปๅฏนๆธ…ๆ™ฐไธŽๅฏ้ข„ๆต‹ๆ€งใ€‚

ๅฝ“ๅบ•ๅฑ‚ๅฑ•็คบ็ป„ไปถ้œ€่ฆๅ‘ไธŠ็บงๅ้ฆˆ็”จๆˆท่กŒไธบๆ—ถ๏ผŒๆˆ‘ไปฌ้œ€่ฆ่ฎพ่ฎกๅๅ‘ๆ•ฐๆฎๆต๏ผŒๅ…ถๆœฌ่ดจๆ˜ฏๅฐ†โ€œUI ไบ‹ไปถโ€่ฝฌๅŒ–ไธบไธฅ่ฐจ็š„โ€œๅ›ž่ฐƒๅฅ‘็บฆโ€๏ผš

  1. ็ˆถ็ป„ไปถ้€š่ฟ‡ props ๅ‘ๅญ็ป„ไปถไธ‹ๅ‘ๅฅ‘็บฆ๏ผšonXxx: (data: T) => voidใ€‚
  2. ๅญ็ป„ไปถๅœจ้€‚ๅฝ“ๆ—ถๆœบ่งฆๅ‘ๅฅ‘็บฆ๏ผŒไฝ†ไธๅ…ณๅฟƒ็ˆถ็ป„ไปถๅฆ‚ไฝ•ๅค„็†๏ผŒๅ€Ÿๆญค็ปดๆŒ่‡ช่บซ็š„็บฏ็ฒนไธŽ่งฃ่€ฆใ€‚
  3. ็ˆถ็ป„ไปถๅœจๅ›ž่ฐƒไธญๆ‰ง่กŒ setState๏ผŒ่งฆๅ‘่‡ช้กถๅ‘ไธ‹็š„้‡ๆ–ฐๆธฒๆŸ“๏ผŒๅฎŒๆˆ้—ญ็Žฏใ€‚

่ฟ™็ง ไบ‹ไปถ -> ๅ›ž่ฐƒ -> ็Šถๆ€็ชๅ˜ -> ้‡ๆธฒๆŸ“ ็š„ๅพช็Žฏ๏ผŒๆž„ๆˆไบ† React ๅ“ๅบ”ๅผๆžถๆž„็š„ๆœ€ๅฐๅ†…ๆ ธใ€‚้ขๅฏน่ทจๅฑ‚็บง้€šไฟกๆ—ถ๏ผŒๅฏไปฅๅผ•ๅ…ฅ Context ๆˆ–็Šถๆ€็ฎก็†ๅทฅๅ…ทๆฅๆ”ถๆ•›"ๅ›ž่ฐƒๅœฐ็‹ฑ"๏ผŒไฝ†ๅ•ๅ‘ๆ•ฐๆฎๆต็š„้“ๅพ‹็ปไธ่ƒฝ่ขซ็ ดๅใ€‚

5. ่ง„่Œƒ้ฉฑๅŠจๅผ€ๅ‘๏ผˆSDD๏ผ‰๏ผšไปŽๆ‰ง่กŒ่€…่ฝฌๅ˜ไธบ็ซ‹ๆณ•่€… โ€‹

้š็€ๅ‰ๅ››ไธช้˜ถๆฎต็š„็จณๆญฅๆŽจ่ฟ›๏ผŒๅŸบ็ก€ๆžถๆž„ๅทฒ็„ถ็กฎ็ซ‹๏ผŒๅบ”็”จ้กน็›ฎไนŸ่ฟ›ๅ…ฅไบ†ๆ›ดๆทฑๅฑ‚ๆฌก็š„ๅผ€ๅ‘่ฟญไปฃ้˜ถๆฎตใ€‚ๆญคๆ—ถ๏ผŒๅฆ‚ไฝ•้ซ˜ๆ•ˆๅœฐ่งฃๅ†ณ"ๆ€Žไนˆๅ†™"็š„้—ฎ้ข˜๏ผŸ่ฟ™ๆญฃๆ˜ฏ AI ๅไฝœ็ผ–็จ‹ๅคงๆ˜พ่บซๆ‰‹็š„ๆ—ถๅˆปใ€‚

่ง„่Œƒ้ฉฑๅŠจๅผ€ๅ‘๏ผˆSpecification-Driven Development๏ผŒSDD๏ผ‰ๆ˜ฏไธ€็งๆฏ” Vibe Coding ๆ›ดไธบๅฏ้ ็š„ไบบๆœบๅไฝœๅฎž่ทตๆจกๅผ๏ผšไบบ็ฑป่ดŸ่ดฃๅˆถๅฎš่ง„่Œƒ๏ผŒAI ่ดŸ่ดฃๅฎž็Žฐไปฃ็ ใ€‚่ฟ™็งๅˆ†ๅทฅ่ฎฉๅผ€ๅ‘่€…ไปŽ็น็็š„็ผ–็ ๅŠณๅŠจไธญ่งฃๆ”พๅ‡บๆฅ๏ผŒไธ“ๆณจไบŽ็œŸๆญฃๅˆ›้€ ไปทๅ€ผ็š„ๆ–นๆกˆ้€‰ๆ‹ฉไธŽ่ฎพ่ฎกๅ†ณ็ญ–ใ€‚

5.1 SDD ๆจกๅผ็š„ๆ ธๅฟƒๆต็จ‹ไธŽๅฎž่ทต่ฆ็‚น โ€‹

SDD ๆจกๅผ้ตๅพชไธ€ไธชไบ”ๆญฅ้—ญ็Žฏ๏ผš่ง„ๅˆ’้˜ถๆฎต โ†’ ็”Ÿๆˆ่ง„่Œƒ โ†’ ไบบๅทฅ Review โ†’ ่‡ชๅŠจๅŒ–ๅผ€ๅ‘ โ†’ ๅทฅ็จ‹้ชŒ่ฏใ€‚

้˜ถๆฎตๆ่ฟฐ
่ง„ๅˆ’้˜ถๆฎต่ฎฉ AI ๅˆ†ๆžไธšๅŠกๅœบๆ™ฏ๏ผŒ่พ“ๅ‡บ่ฎพ่ฎกๆ–‡ๆกฃใ€‚่ฟ™ไธ€้˜ถๆฎต็š„ๆ ธๅฟƒๆ˜ฏๆ˜Ž็กฎ"ๅšไป€ไนˆ"โ€”โ€”ๅŒ…ๆ‹ฌๆจกๅ—่พน็•Œใ€ๆ•ฐๆฎ็ป“ๆž„ใ€ๆŽฅๅฃ็ญพๅใ€็บฆๆŸๆกไปถ็ญ‰ใ€‚
็”Ÿๆˆ่ง„่ŒƒๅŸบไบŽ่ง„ๅˆ’็ป“ๆžœ๏ผŒ่ฎฉ AI ็”ŸๆˆๅฏๆŒ‡ๅฏผ็ผ–็จ‹็š„ๅฎž็Žฐ่ง„่Œƒ๏ผˆSpecification๏ผ‰ใ€‚่ง„่Œƒๆ˜ฏไธ€ไปฝๅฏๆ‰ง่กŒ็š„ๅฅ‘็บฆ๏ผŒๅŒ…ๅซ็ฑปๅž‹ๅฎšไน‰ใ€ๅ‡ฝๆ•ฐ็ญพๅใ€ๆต‹่ฏ•็”จไพ‹ใ€่พน็•Œๆกไปถ็ญ‰ใ€‚่ง„่Œƒ็š„่ดจ้‡็›ดๆŽฅๅ†ณๅฎšไบ†ไปฃ็ ็š„่ดจ้‡ใ€‚
ไบบๅทฅ Reviewๅผ€ๅ‘่€…ๅฎกๆ ธ่ง„่Œƒ็š„ๅˆ็†ๆ€งใ€‚่ฟ™ๆ˜ฏไบบ็ฑปๅ†ณ็ญ–็š„ๅ…ณ้”ฎ็Žฏ่Š‚โ€”โ€”็กฎไฟ่ฎพ่ฎก็ฌฆๅˆๆžถๆž„ๅŽŸๅˆ™ใ€ๆ— ๅ†—ไฝ™ๆ— ๆณ„ๆผใ€ๅ‘ฝๅ่ฏญไน‰ๆธ…ๆ™ฐใ€ๆ•ฐๆฎๆตๆ–นๅ‘ๆ˜Ž็กฎใ€‚Review ้€š่ฟ‡ๅŽ๏ผŒ่ง„่Œƒๆˆไธบ AI ๅฎž็Žฐ็š„ๅ”ฏไธ€ไพๆฎใ€‚
่‡ชๅŠจๅŒ–ๅผ€ๅ‘็กฎ่ฎค่ง„่ŒƒๅŽ๏ผŒ่ฎฉ AI ๅŸบไบŽ่ง„่Œƒๅฎž็ŽฐๅฎŒๆ•ด็š„ๅŠŸ่ƒฝๆจกๅ—ใ€‚่ฆๆฑ‚ AI ้ตๅพช TDD ๆจกๅผโ€”โ€”ๅ…ˆ็ผ–ๅ†™ๆต‹่ฏ•็”จไพ‹๏ผŒๅ†ๅฎž็Žฐ้€ป่พ‘๏ผŒ็กฎไฟ่กŒไธบ็š„ๅฏ้ข„ๆต‹ๆ€งใ€‚ๆฏๆฌกๅผ€ๅ‘ๅบ”่š็„ฆไบŽไธ€ไธชๅฎŒๆ•ดใ€ๆฐๅฝ“็ฒ’ๅบฆ็š„ๅŠŸ่ƒฝๆˆ–็‹ฌ็ซ‹ๆจกๅ—๏ผŒ้ฟๅ…็ขŽ็‰‡ๅŒ–ใ€‚
ๅทฅ็จ‹้ชŒ่ฏ้…็ฝฎ้กน็›ฎ็š„ lintใ€็ฑปๅž‹ๆฃ€ๆŸฅไธŽๆต‹่ฏ•ๅฅ—ไปถ๏ผŒ็”ฑ AI ่‡ชๅŠจ่ฟ่กŒ้ชŒ่ฏ๏ผŒๅฝขๆˆ่ดจ้‡้—ญ็Žฏใ€‚่‹ฅๅ‘็Žฐ้—ฎ้ข˜๏ผŒๅบ”ไผ˜ๅ…ˆๅผ•ๅฏผ AI ่‡ช่กŒไฟฎๆญฃ๏ผŒ่€Œ้žๆ‰‹ๅŠจๅนฒ้ข„ใ€‚

SDD ๆจกๅผ็š„ๅฎž่ทต่ฆ็‚นๅฏๅฝ’็บณไธบ๏ผš

  • ่ง„่Œƒๅ…ˆ่กŒ๏ผŒไปฃ็ ๅŽ็ฝฎ๏ผšๆฐธ่ฟœไธ่ฆ่ฎฉ AI ๅœจๆฒกๆœ‰่ง„่Œƒ็š„ๆƒ…ๅ†ตไธ‹็›ดๆŽฅๅ†™ไปฃ็ ใ€‚ๆจก็ณŠ็š„้œ€ๆฑ‚ๆ่ฟฐๅชไผš่ฎฉ AI ๅˆถ้€ ๆŠ€ๆœฏๅ€บๅŠกใ€‚ไธ€ไปฝๆธ…ๆ™ฐ็š„่ง„่Œƒ๏ผŒ่ƒฝ่ฎฉ AI ไบงๅ‡บๅฏ็ปดๆŠค็š„ไปฃ็ ใ€‚

  • ๆฐๅฝ“็ฒ’ๅบฆ๏ผŒๅฎŒๆ•ดไบคไป˜๏ผšๆฏๆฌก่ฎฉ AI ๅผ€ๅ‘ไธ€ไธชๅฎŒๆ•ด็š„ๅŠŸ่ƒฝๆจกๅ—๏ผŒ่€Œ้ž้›ถๆ•ฃ็š„ไปฃ็ ็‰‡ๆฎตใ€‚ๅฎŒๆ•ด็š„ๆจกๅ—ๆœ‰ๆธ…ๆ™ฐ็š„่พน็•Œใ€ๅฎŒๆ•ด็š„ๆต‹่ฏ•ใ€ๅฏ็‹ฌ็ซ‹้ชŒ่ฏ็š„่กŒไธบใ€‚่ฟ™็ง็ฒ’ๅบฆๆ—ข่ƒฝไฟ่ฏๅผ€ๅ‘ๆ•ˆ็އ๏ผŒๅˆ่ƒฝ็กฎไฟไปฃ็ ่ดจ้‡ใ€‚

  • TDD ๅ†…ๅตŒ๏ผŒๆต‹่ฏ•้ฉฑๅŠจ๏ผšๅœจ่ง„่Œƒไธญๆ˜Ž็กฎ่ฆๆฑ‚ AI ๅ…ˆๅ†™ๆต‹่ฏ•ใ€ๅ†ๅ†™ๅฎž็Žฐใ€‚ๆต‹่ฏ•็”จไพ‹ๆ˜ฏ่ง„่Œƒ็š„ๅ…ท่ฑกๅŒ–่กจ่พพ๏ผŒไนŸๆ˜ฏ้ชŒ่ฏไปฃ็ ๆญฃ็กฎๆ€ง็š„ๅ”ฏไธ€ๆ ‡ๅ‡†ใ€‚

  • ๅผ•ๅฏผไฟฎๆญฃ๏ผŒ้ฟๅ…ๆ‰‹ๅŠจไฟฎ่กฅ๏ผšๅฝ“ไปฃ็ ๆœช้€š่ฟ‡้ชŒ่ฏๆ—ถ๏ผŒไผ˜ๅ…ˆๅผ•ๅฏผ AI ่‡ช่กŒไฟฎๆญฃ๏ผŒ่€Œ้ž็›ดๆŽฅๆ‰‹ๅŠจไฟฎๆ”นใ€‚ๆ‰‹ๅŠจไฟฎ่กฅไผšๅนฒๆ‰ฐ AI ๅฏน้กน็›ฎไธŠไธ‹ๆ–‡็š„็†่งฃ๏ผŒๅฏผ่‡ดๅŽ็ปญ็”Ÿๆˆ็š„ไปฃ็ ไธ€่‡ดๆ€งไธ‹้™ใ€‚

  • ๅทฅ็จ‹้—ญ็Žฏ๏ผŒๆŒ็ปญ่ฟญไปฃ๏ผšlintใ€็ฑปๅž‹ๆฃ€ๆŸฅใ€ๆต‹่ฏ•ๅฅ—ไปถๆ˜ฏ่ดจ้‡็š„ไธ‰้“้˜ฒ็บฟใ€‚ๆฏๆฌกๅผ€ๅ‘ๅฎŒๆˆๅŽๅฟ…้กป่ฟ่กŒๅฎŒๆ•ด้ชŒ่ฏ๏ผŒ็กฎไฟไปฃ็ ็ฌฆๅˆ้กน็›ฎ่ง„่Œƒใ€‚้ชŒ่ฏ้€š่ฟ‡ๅŽๅ†่ฟ›ๅ…ฅไธ‹ไธ€ไธชๆจกๅ—็š„ๅผ€ๅ‘ใ€‚

5.2 SDD ๆจกๅผ็š„้€‚็”จๅœบๆ™ฏ โ€‹

SDD ๆจกๅผ้€‚็”จไบŽๅคšๆ•ฐๅบ”็”จ็š„ๅŠŸ่ƒฝ่ฟญไปฃๅผ€ๅ‘้˜ถๆฎตใ€‚ๅœจๅ‰็ซฏ้ข†ๅŸŸ๏ผŒๅฎƒไธŽ React ็š„ๅฃฐๆ˜Žๅผ่Œƒๅผๅฐคไธบๅฅ‘ๅˆ๏ผŒ็‰นๅˆซ้€‚ๅˆไปฅไธ‹ๅœบๆ™ฏ๏ผš

  • ็Šถๆ€็ฎก็†ๆจกๅ—๏ผš็Šถๆ€ๆ˜ฏๅบ”็”จ็š„ๆ ธๅฟƒ้ชจๆžถ๏ผŒ้œ€่ฆไธฅๆ ผ็š„็ฑปๅž‹็บฆๆŸไธŽๅ˜ๆ›ด่ฟฝ่ธชใ€‚SDD ่ƒฝ็กฎไฟ็Šถๆ€่ฎพ่ฎก้ตๅพช SSOT ๅŽŸๅˆ™๏ผŒๆœ็ปๅ†—ไฝ™ไธŽๆณ„ๆผใ€‚

  • ไบคไบ’้€ป่พ‘ๅผ€ๅ‘๏ผšๅๅ‘ๆ•ฐๆฎๆตๆถ‰ๅŠ็ป„ไปถ้—ด็š„้€šไฟกๅฅ‘็บฆ๏ผŒๆ˜ฏๅ…ธๅž‹็š„"ๆŽฅๅฃ่ฏญไน‰ๆŽจๆ•ฒ"ๅœบๆ™ฏใ€‚SDD ่ƒฝ็กฎไฟๅ›ž่ฐƒๅ‘ฝๅ่ฏญไน‰ๆธ…ๆ™ฐใ€ๆ•ฐๆฎๆตๆ–นๅ‘ๆ˜Ž็กฎใ€‚

  • ็‹ฌ็ซ‹็ป„ไปถๅผ€ๅ‘๏ผš้’ˆๅฏนๅŠŸ่ƒฝๅ†…่šใ€ๅฏๅค็”จ็š„็‹ฌ็ซ‹็ป„ไปถ๏ผˆๅฆ‚่กจๅ•ๆŽงไปถใ€ๆ•ฐๆฎๅก็‰‡ใ€ๆจกๆ€ๆก†็ญ‰๏ผ‰๏ผŒ้œ€ๅ…ˆๆ˜Ž็กฎๅ…ถ Props ๅฅ‘็บฆใ€ๅ†…้ƒจ็Šถๆ€่พน็•ŒๅŠๅ‰ฏไฝœ็”จ็”Ÿๅ‘ฝๅ‘จๆœŸ๏ผŒๅ†ไบค็”ฑ AI ๅฎž็Žฐๅ…ทไฝ“ๆธฒๆŸ“้€ป่พ‘ไธŽไบคไบ’็ป†่Š‚ใ€‚

  • ๅŸบ็ก€่ฎพๆ–ฝไปฃ็ ๏ผšCustom Hooksใ€ๅทฅๅ…ทๅ‡ฝๆ•ฐใ€็ฑปๅž‹ๅฎšไน‰็ญ‰ๅŸบ็ก€่ฎพๆ–ฝไปฃ็ ๏ผŒ้€‚ๅˆ็”จ SDD ๆจกๅผๆ‰น้‡็”Ÿๆˆ๏ผŒ็กฎไฟๆŽฅๅฃไธ€่‡ดๆ€งใ€‚

5.3 ไธบไป€ไนˆ React ไธŽ SDD ๅคฉ็”Ÿไธ€ๅฏน๏ผŸ โ€‹

React ็š„ๅฃฐๆ˜Žๅผ๏ผˆDeclarative๏ผ‰็‰นๆ€งๆ„ๅ‘ณ็€ๆˆ‘ไปฌๅช้œ€ๆ่ฟฐ State โ†’ UI ็š„ๆ˜ ๅฐ„ๅ…ณ็ณปโ€”โ€”็ป™ๅฎš็‰นๅฎš็š„็Šถๆ€่พ“ๅ…ฅ๏ผŒ็•Œ้ขๅบ”ๅฝ“ๅ‘ˆ็Žฐไฝ•็ง่พ“ๅ‡บ๏ผŒๅฎŒๅ…จ็”ฑๅผ€ๅ‘่€…ๅฃฐๆ˜Žๅผๅœฐๅฎšไน‰๏ผŒ่€Œ้ž้€š่ฟ‡ๅ‘ฝไปคๅผๅœฐๆ“ไฝœ DOM ๆฅ่พพๆˆใ€‚

ๅฆ‚ๆžœ่ฏด SDD๏ผˆ่ง„ๆ ผ้ฉฑๅŠจๅผ€ๅ‘๏ผ‰ๆ˜ฏไบบๆœบๅไฝœ็š„ไธ€ๅฅ—"ๅฎชๆณ•"๏ผŒ้‚ฃไนˆ React ๅฐฑๆ˜ฏๅฎŒ็พŽ็š„"ๆ‰ง่กŒๆœบๆž„"ใ€‚ไธค่€…็š„ๅคฉไฝœไน‹ๅˆๅนถ้žๅถ็„ถ๏ผŒ่€Œๆ˜ฏๆบไบŽๅบ•ๅฑ‚ๆžถๆž„่Œƒๅผ็š„ๆทฑๅบฆๅฅ‘ๅˆใ€‚React ๆ‰€ๅ€กๅฏผ็š„"ๆ่ฟฐๅณๅฎž็Žฐ"็š„ๅฃฐๆ˜Žๅผ็ผ–็จ‹่Œƒๅผ๏ผŒๆœฌ่ดจไธŠๅฐฑๆ˜ฏไธ€็งๆ˜พๅผๅฅ‘็บฆ๏ผˆProps Contract๏ผ‰๏ผŒ่ƒฝๅคŸๆœ‰ๆ•ˆๅŽ‹็ผฉ AI ็š„"ๅนป่ง‰็ฉบ้—ด"ใ€‚

ๅฝ“ๆˆ‘ไปฌๅœจ Spec ไธญๅฎšไน‰ๅฅฝ interface Props ๆ—ถ๏ผŒๅฎž้™…ไธŠๆ˜ฏไธบ AI ๅˆ’ๅฎšไบ†ไธ€ไธช่ฎค็Ÿฅ่พน็•Œใ€‚AI ๆ— ้œ€่ดนๅŠ›็Œœๆต‹ไธŠไธ‹ๆ–‡๏ผŒๅช้œ€ๅœจ Props ็š„็บฆๆŸ่Œƒๅ›ดๅ†…ๅฏปๆ‰พๅฑ€้ƒจๆœ€ไผ˜่งฃใ€‚่ฟ™็ง้ซ˜ๅบฆ็š„ๅฐ่ฃ…ๆ€งไปŽ็‰ฉ็†ๅฑ‚้ข้š”็ปไบ† AI ไบง็”Ÿ"ๅนป่ง‰"็š„ๅฏ่ƒฝ๏ผŒ็กฎไฟ็”Ÿๆˆ็š„็ป„ไปถๆ˜ฏ้ซ˜ๅ†…่šใ€ไฝŽ่€ฆๅˆ็š„่‡ชๆฒปๅ•ๅ…ƒใ€‚

่ฟ™ไธŽ SDD ็š„ๆ€็ปด้ซ˜ๅบฆไธ€่‡ด๏ผšๅผ€ๅ‘่€…ๅช้œ€ๅฎšไน‰"ๆ˜ ๅฐ„่ง„ๆ ผ"๏ผˆๅณ็Šถๆ€ๅˆฐ UI ็š„่ฝฌๆข่ง„ๅˆ™ใ€็ป„ไปถ็š„ Props ๅฅ‘็บฆใ€ๆ•ฐๆฎ็š„ๆตๅŠจ่ทฏๅพ„๏ผ‰๏ผŒ่€Œๅ…ทไฝ“็š„ๅฎž็Žฐ็ป†่Š‚โ€”โ€”ๅฆ‚ไฝ•้ซ˜ๆ•ˆๅœฐ diff ่™šๆ‹Ÿ DOMใ€ๅฆ‚ไฝ•ๆ‰น้‡ๅค„็†็Šถๆ€ๆ›ดๆ–ฐใ€ๅฆ‚ไฝ•ไผ˜ๅŒ–้‡ๆธฒๆŸ“ๆ€ง่ƒฝโ€”โ€”ๅฎŒๅ…จไบค็”ฑ AI ๅกซๅ……ใ€‚ๅœจ SDD ๆจกๅผไธ‹๏ผŒไบบ็ฑป่š็„ฆไบŽ"ๅšไป€ไนˆ"๏ผˆWhat๏ผ‰ๅ’Œ"ไธบไป€ไนˆ"๏ผˆWhy๏ผ‰๏ผŒAI ่ดŸ่ดฃ"ๆ€Žไนˆๅš"๏ผˆHow๏ผ‰ใ€‚่ฟ™ๆญฃๆ˜ฏๅฃฐๆ˜Žๅผ็ผ–็จ‹ไธŽ่ง„่Œƒ้ฉฑๅŠจๅผ€ๅ‘ๅœจๅ“ฒๅญฆๅฑ‚้ข็š„ๆทฑๅบฆๅฅ‘ๅˆใ€‚

6.็ป“่ฏญ๏ผšๅทฅ็จ‹ๅธˆ็š„ไธๅฏๆ›ฟไปฃๆ€ง โ€‹

ๅฝ“ๆˆ‘ไปฌๅ›žๆœ› React ่ฎพ่ฎกๅ“ฒๅญฆ็š„ๅ››ไธชๆ ธๅฟƒๆญฅ้ชคโ€”โ€”็ป„ไปถๅˆ’ๅˆ†ใ€้™ๆ€ๅŸบ็บฟใ€็Šถๆ€ๅฎšไฝใ€ๆ•ฐๆฎๆต้—ญ็Žฏ๏ผŒไผšๅ‘็Žฐๅฎƒไปฌๅ…ฑๅŒๆŒ‡ๅ‘ไธ€ไธชๆœฌ่ดจๅ‘ฝ้ข˜๏ผšๅฆ‚ไฝ•ๅœจๅคๆ‚ๆ€งไธญๅปบ็ซ‹็งฉๅบใ€‚

',55)),o("p",null,[a(r,{type:"info"},{default:l(()=>[...t[4]||(t[4]=[e("็ป„ไปถๅŒ–ๆ˜ฏๅฏน UI ๅคๆ‚ๆ€ง็š„ๅˆ†่งฃ๏ผŒ้™ๆ€็‰ˆๆœฌๆ˜ฏๅฏนๆธฒๆŸ“่กŒไธบ็š„้”šๅฎš๏ผŒๆœ€ๅฐ็Šถๆ€ๆ˜ฏๅฏนๆ•ฐๆฎๅ†—ไฝ™็š„ๅ‰”้™ค๏ผŒๅ•ๅ‘ๆ•ฐๆฎๆตๆ˜ฏๅฏนๅ˜ๆ›ด่ฝจ่ฟน็š„็บฆๆŸใ€‚่ฟ™ไบ›่ฎพ่ฎกๅŽŸๅˆ™ๅนถ้ž React ็‹ฌๆœ‰๏ผŒ่€Œๆ˜ฏ่ฝฏไปถๅทฅ็จ‹ๅ‡ ๅๅนดๆฒ‰ๆท€ไธ‹ๆฅ็š„ๆ™บๆ…ง็ป“ๆ™ถโ€”โ€”ๅ•ไธ€่Œ่ดฃใ€ๅ…ณๆณจ็‚นๅˆ†็ฆปใ€ๆ˜พๅผไผ˜ไบŽ้šๅผใ€ๆ•ฐๆฎๆต็š„ๅฏ่ฟฝๆบฏๆ€ง",-1)])]),_:1}),t[5]||(t[5]=e("ใ€‚",-1))]),a(r,{type:"warning",bold:""},{default:l(()=>[...t[6]||(t[6]=[e("AI ๆ—ถไปฃ็š„ๅˆฐๆฅ๏ผŒๅนถๆœชๆ”นๅ˜่ฟ™ไบ›ๅŽŸๅˆ™็š„ๅ†…ๆ ธ๏ผŒๅ่€Œ่ฎฉๅฎƒไปฌ็š„ไปทๅ€ผๆ›ดๅŠ ๅ‡ธๆ˜พ",-1)])]),_:1}),t[13]||(t[13]=e("ใ€‚ๅฝ“ AI ่ƒฝๅคŸไปฅๆƒŠไบบ็š„้€Ÿๅบฆ็”Ÿๆˆไปฃ็ ๆ—ถ๏ผŒ",-1)),t[14]||(t[14]=o("strong",null,'"ๅ†™ไป€ไนˆ"็š„ๅ†ณ็ญ–ๆƒๆฏ”"ๆ€Žไนˆๅ†™"็š„ๆ‰ง่กŒๅŠ›ๆ›ดไธบ็จ€็ผบ',-1)),t[15]||(t[15]=e("ใ€‚ไธ€ไธชๆธ…ๆ™ฐ็š„่ฎพ่ฎก่ง„่Œƒ๏ผŒ่ƒฝ่ฎฉ AI ไบงๅ‡บๅฏ็ปดๆŠค็š„ไปฃ็ ๏ผ›่€Œไธ€ไธชๆจก็ณŠ็š„้œ€ๆฑ‚ๆ่ฟฐ๏ผŒๅชไผš่ฎฉ AI ๅˆถ้€ ๆ›ดๅคšๆŠ€ๆœฏๅ€บๅŠกใ€‚",-1)),t[16]||(t[16]=o("p",null,[e("่ง„่Œƒ้ฉฑๅŠจๅผ€ๅ‘๏ผˆSDD๏ผ‰็š„ๆœฌ่ดจๆ˜ฏ"),o("strong",null,"ๅฐ†ๆžถๆž„ๆ€็ปดๅค–ๅŒ–ไธบๅฏๆ‰ง่กŒ็š„ๅฅ‘็บฆ"),e('ใ€‚ๅผ€ๅ‘่€…ไธๅ†ๆ˜ฏไปฃ็ ็š„"ๆฌ่ฟๅทฅ"๏ผŒ่€Œๆ˜ฏ่ง„่Œƒ็š„"็ซ‹ๆณ•่€…"ใ€‚ๆˆ‘ไปฌๅฎšไน‰็ป„ไปถ่พน็•Œใ€ๆ•ฒๅฎš็Šถๆ€ๆ‹“ๆ‰‘ใ€่ฎพ่ฎกๅ›ž่ฐƒๅฅ‘็บฆโ€”โ€”AI ๅˆ™ๅœจๆˆ‘ไปฌ่ฎพๅฎš็š„ๆก†ๆžถๅ†…้ซ˜ๆ•ˆๅกซๅ……ๅฎž็Žฐ็ป†่Š‚ใ€‚่ฟ™็งๅˆ†ๅทฅ๏ผŒ่ฎฉๅผ€ๅ‘่€…ไปŽ็น็็š„็ผ–็ ๅŠณๅŠจไธญ่งฃๆ”พๅ‡บๆฅ๏ผŒๅฐ†็ฒพๅŠ›้›†ไธญไบŽ็œŸๆญฃๅˆ›้€ ไปทๅ€ผ็š„ๆžถๆž„ๅ†ณ็ญ–ใ€‚')],-1)),o("p",null,[t[8]||(t[8]=e("ๆœ€ๅŽ๏ผŒ่ฏท่ฎฐไฝ๏ผš",-1)),a(r,{type:"note",bold:""},{default:l(()=>[...t[7]||(t[7]=[e("ๅทฅๅ…ทไผš่ฟญไปฃ๏ผŒๆŠ€ๆœฏไผš่ฟ‡ๆ—ถ๏ผŒไฝ†ๅฏนๅคๆ‚ๆ€ง็š„้ฉพ้ฉญ่ƒฝๅŠ›ๆฐธ่ฟœๆ˜ฏๅทฅ็จ‹ๅธˆ็š„ๆ ธๅฟƒ็ซžไบ‰ๅŠ›",-1)])]),_:1}),t[9]||(t[9]=e('ใ€‚React ็š„ API ๅฏ่ƒฝไผšๅœจๆœชๆฅ่ขซๆ–ฐ็š„ๆก†ๆžถๅ–ไปฃ๏ผŒไฝ†"ๅฆ‚ไฝ•ๅœจๅคๆ‚ๆ€งไธญๅปบ็ซ‹็งฉๅบ"่ฟ™ไธ€ๅ‘ฝ้ข˜๏ผŒๅฐ†ไผด้š่ฝฏไปถๅทฅ็จ‹็š„ๅง‹็ปˆใ€‚ๆ„ฟไฝ ๅœจ่ฟ™ๅœบๆŠ€ๆœฏๆผ”่ฟ›ไธญ๏ผŒๅง‹็ปˆ็ซ™ๅœจๆžถๆž„่ฎพ่ฎก็š„้ซ˜ๅœฐ๏ผŒ็”จๆธ…ๆ™ฐ็š„ๆ€็ปด้ฉพ้ฉญๅผบๅคง็š„ๅทฅๅ…ท๏ผŒๆž„ๅปบๅ‡บ็ปๅพ—่ตทๆ—ถ้—ด่€ƒ้ชŒ็š„่ฝฏไปถ็ณป็ปŸใ€‚',-1))])]))}});export{I as __pageData,D as default}; diff --git "a/assets/01.\345\205\250\346\240\210_40.\345\211\215\347\253\257\345\267\245\347\250\213_01.React \350\256\276\350\256\241\345\223\262\345\255\246\357\274\232AI \345\215\217\344\275\234\346\227\266\344\273\243\347\232\204\347\273\204\344\273\266\345\214\226\345\274\200\345\217\221\345\256\236\350\267\265\346\214\207\345\215\227.md.C0-Qj7UG.lean.js" "b/assets/01.\345\205\250\346\240\210_40.\345\211\215\347\253\257\345\267\245\347\250\213_01.React \350\256\276\350\256\241\345\223\262\345\255\246\357\274\232AI \345\215\217\344\275\234\346\227\266\344\273\243\347\232\204\347\273\204\344\273\266\345\214\226\345\274\200\345\217\221\345\256\236\350\267\265\346\214\207\345\215\227.md.ip_V3kmi.lean.js" similarity index 97% rename from "assets/01.\345\205\250\346\240\210_40.\345\211\215\347\253\257\345\267\245\347\250\213_01.React \350\256\276\350\256\241\345\223\262\345\255\246\357\274\232AI \345\215\217\344\275\234\346\227\266\344\273\243\347\232\204\347\273\204\344\273\266\345\214\226\345\274\200\345\217\221\345\256\236\350\267\265\346\214\207\345\215\227.md.C0-Qj7UG.lean.js" rename to "assets/01.\345\205\250\346\240\210_40.\345\211\215\347\253\257\345\267\245\347\250\213_01.React \350\256\276\350\256\241\345\223\262\345\255\246\357\274\232AI \345\215\217\344\275\234\346\227\266\344\273\243\347\232\204\347\273\204\344\273\266\345\214\226\345\274\200\345\217\221\345\256\236\350\267\265\346\214\207\345\215\227.md.ip_V3kmi.lean.js" index 5b7b6234..bbbd7e45 100644 --- "a/assets/01.\345\205\250\346\240\210_40.\345\211\215\347\253\257\345\267\245\347\250\213_01.React \350\256\276\350\256\241\345\223\262\345\255\246\357\274\232AI \345\215\217\344\275\234\346\227\266\344\273\243\347\232\204\347\273\204\344\273\266\345\214\226\345\274\200\345\217\221\345\256\236\350\267\265\346\214\207\345\215\227.md.C0-Qj7UG.lean.js" +++ "b/assets/01.\345\205\250\346\240\210_40.\345\211\215\347\253\257\345\267\245\347\250\213_01.React \350\256\276\350\256\241\345\223\262\345\255\246\357\274\232AI \345\215\217\344\275\234\346\227\266\344\273\243\347\232\204\347\273\204\344\273\266\345\214\226\345\274\200\345\217\221\345\256\236\350\267\265\346\214\207\345\215\227.md.ip_V3kmi.lean.js" @@ -1 +1 @@ -import{H as r}from"./chunks/HighLightText.gRdAAF3C.js";import{g as s,h as i,U as n,i as o,z as a,S as e,s as l}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const I=JSON.parse('{"title":"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—","description":"ๆœฌๆ–‡ๆŽข่ฎจๅœจ AI ๅขžๅผบๅผ€ๅ‘่ƒŒๆ™ฏไธ‹๏ผŒๅฆ‚ไฝ•้‡ๅก‘ React ็ป„ไปถ่ฎพ่ฎกๅŽŸๅˆ™ใ€‚ๆถต็›– SRP ่Œ่ดฃๅˆ’ๅˆ†ใ€้™ๆ€็‰ˆๆœฌๅŸบ็บฟใ€ๆœ€ๅฐ็Šถๆ€๏ผˆDerived Data๏ผ‰ๆŽจๅฏผไปฅๅŠ SDD ไบบๆœบๅไฝœๆจกๅผ็š„ๅทฅ็จ‹่ฝๅœฐใ€‚","frontmatter":{"date":"2026-02-10T23:33:19.000Z","title":"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—","tldr":"ๅฝ“ AI ๆ‰ฟๆŽฅไบ† 30% ็š„็ผ–็ ๆ‰ง่กŒๆ—ถ๏ผŒๅผ€ๅ‘่€…้œ€้€š่ฟ‡โ€œ่ง„ๆ ผ้ฉฑๅŠจ๏ผˆSDD๏ผ‰โ€้‡ๅคบ 70% ็š„่ฎพ่ฎกไธปๆƒ๏ผšไปŽ่‡ชๆฒป็ป„ไปถๅˆ’ๅˆ†ๅˆฐๅ•ๅ‘ๆ•ฐๆฎๆตๆ‹“ๆ‰‘็š„ๆทฑๅบฆๆŽจๆผ”ใ€‚","description":"ๆœฌๆ–‡ๆŽข่ฎจๅœจ AI ๅขžๅผบๅผ€ๅ‘่ƒŒๆ™ฏไธ‹๏ผŒๅฆ‚ไฝ•้‡ๅก‘ React ็ป„ไปถ่ฎพ่ฎกๅŽŸๅˆ™ใ€‚ๆถต็›– SRP ่Œ่ดฃๅˆ’ๅˆ†ใ€้™ๆ€็‰ˆๆœฌๅŸบ็บฟใ€ๆœ€ๅฐ็Šถๆ€๏ผˆDerived Data๏ผ‰ๆŽจๅฏผไปฅๅŠ SDD ไบบๆœบๅไฝœๆจกๅผ็š„ๅทฅ็จ‹่ฝๅœฐใ€‚","tags":["tutorial","react","component-design","state-management","ai-augmented","specification-driven"],"permalink":"/fullstack/react-design-philosophy-ai-augmented","categories":["ๅ…จๆ ˆ","ๅ‰็ซฏๅทฅ็จ‹"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—.md","filePath":"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—.md"}'),d={name:"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—.md"},D=Object.assign(d,{setup(g){return(p,t)=>(i(),s("div",null,[t[10]||(t[10]=n("",3)),o("p",null,[t[1]||(t[1]=e("ๅœจ่ฝฏไปถๅทฅ็จ‹ไธญ๏ผŒ็บฆ 70% ็š„ๆ—ถ้—ดๅบ”ๆŠ•ๅ…ฅไบŽๆžถๆž„่ฎพ่ฎกใ€้œ€ๆฑ‚ๆ‹†่งฃไธŽๆŽฅๅฃ่ฏญไน‰ๆŽจๆ•ฒ๏ผŒไป… 30% ็”จไบŽๅฎž้™…็ผ–็ ใ€‚่ฟ›ๅ…ฅ AI ๅไฝœๆ—ถไปฃๅŽ๏ผŒ่ฟ™ไธ€ๆฏ”ไพ‹ไพ็„ถๅšๅฆ‚็ฃ็Ÿณโ€”โ€”ๅผ€ๅ‘่€…ๅฟ…้กปๅ…ˆๅฎŒๆˆๆทฑๅบฆๆ€่€ƒ๏ผŒๅฐ†โ€œๆธ…ๆ™ฐ็š„้—ฎ้ข˜่ง„ๆ ผ๏ผˆSpecification๏ผ‰โ€ไบค็ป™ AI๏ผŒAI ๆ‰่ƒฝ่พ“ๅ‡บ้ซ˜่ดจ้‡ไปฃ็ ใ€‚",-1)),a(r,{type:"note",bold:""},{default:l(()=>[...t[0]||(t[0]=[e("AI ๆๅ‡็š„ๆ˜ฏ 30% ็ผ–็ ้˜ถๆฎต็š„ๆ‰ง่กŒๅŠ›๏ผŒ่€Œ้žๅ–ไปฃ 70% ็š„ๆžถๆž„่ฃๅ†ณ",-1)])]),_:1}),t[2]||(t[2]=e("ใ€‚ ้ซ˜่ดจ้‡ React ๅบ”็”จ็š„่ฏž็”Ÿ๏ผŒไพ็„ถๅง‹ไบŽไบบ็ฑปๅฟƒๆ™บๅฏนๆ•ฐๆฎๆตใ€ๅ‰ฏไฝœ็”จ่พน็•ŒไธŽๅฏ็ป„ๅˆๆ€ง็š„้€ๅฝปๆŽจๆผ”ใ€‚",-1))]),t[11]||(t[11]=o("p",null,'็„ถ่€Œ๏ผŒ็œŸๆญฃ้ฉพ้ฉญ React ๅนถ้žๆ˜“ไบ‹ใ€‚่ฎธๅคšๅ›ข้˜Ÿๅœจ้กน็›ฎๅˆๆœŸไบซๅ—็€็ป„ไปถๅŒ–ๅธฆๆฅ็š„ๅฟซๆ„Ÿ๏ผŒๅดๅœจไธšๅŠก่†จ่ƒ€ๅŽ้™ทๅ…ฅ"็ป„ไปถๅœฐ็‹ฑ"โ€”โ€”ๆทฑๅตŒๅฅ—็š„ prop drillingใ€ๅคฑๆŽง็š„็Šถๆ€่”“ๅปถใ€้šพไปฅ่ฟฝ่ธช็š„ๅ‰ฏไฝœ็”จ๏ผŒ่ฎฉไปฃ็ ๅบ“้€ๆธ่…ๅŒ–ใ€‚้—ฎ้ข˜็š„ๆ นๆบๅพ€ๅพ€ไธๅœจไบŽ React ๆœฌ่บซ๏ผŒ่€ŒๅœจไบŽๆˆ‘ไปฌๆ˜ฏๅฆ็œŸๆญฃ็†่งฃๅ…ถ่ƒŒๅŽ็š„่ฎพ่ฎกๅ“ฒๅญฆใ€‚',-1)),a(r,{bold:""},{default:l(()=>[...t[3]||(t[3]=[e("React ็š„็ฒพ้ซ“ๅœจไบŽไปฅ็ป„ไปถๅŒ–ไธบๆ ธๅฟƒ๏ผŒๅฐ†ๅคๆ‚็š„ UI ๆ‹†่งฃไธบ็‹ฌ็ซ‹ใ€ๅฏๅค็”จ็š„่‡ชๆฒปๅ•ๅ…ƒ๏ผŒ่ฎฉๆ•ฐๆฎๆฒฟ็€ไปŽ่พ“ๅ…ฅ๏ผˆprops๏ผ‰ๅˆฐ่พ“ๅ‡บ๏ผˆUI ๅ…ƒ็ด ๏ผ‰็š„่ฝจ่ฟนๅฝขๆˆๆธ…ๆ™ฐใ€ๅฏๆŽง็š„้—ญ็Žฏ",-1)])]),_:1}),t[12]||(t[12]=n("",55)),o("p",null,[a(r,{type:"info"},{default:l(()=>[...t[4]||(t[4]=[e("็ป„ไปถๅŒ–ๆ˜ฏๅฏน UI ๅคๆ‚ๆ€ง็š„ๅˆ†่งฃ๏ผŒ้™ๆ€็‰ˆๆœฌๆ˜ฏๅฏนๆธฒๆŸ“่กŒไธบ็š„้”šๅฎš๏ผŒๆœ€ๅฐ็Šถๆ€ๆ˜ฏๅฏนๆ•ฐๆฎๅ†—ไฝ™็š„ๅ‰”้™ค๏ผŒๅ•ๅ‘ๆ•ฐๆฎๆตๆ˜ฏๅฏนๅ˜ๆ›ด่ฝจ่ฟน็š„็บฆๆŸใ€‚่ฟ™ไบ›่ฎพ่ฎกๅŽŸๅˆ™ๅนถ้ž React ็‹ฌๆœ‰๏ผŒ่€Œๆ˜ฏ่ฝฏไปถๅทฅ็จ‹ๅ‡ ๅๅนดๆฒ‰ๆท€ไธ‹ๆฅ็š„ๆ™บๆ…ง็ป“ๆ™ถโ€”โ€”ๅ•ไธ€่Œ่ดฃใ€ๅ…ณๆณจ็‚นๅˆ†็ฆปใ€ๆ˜พๅผไผ˜ไบŽ้šๅผใ€ๆ•ฐๆฎๆต็š„ๅฏ่ฟฝๆบฏๆ€ง",-1)])]),_:1}),t[5]||(t[5]=e("ใ€‚",-1))]),a(r,{type:"warning",bold:""},{default:l(()=>[...t[6]||(t[6]=[e("AI ๆ—ถไปฃ็š„ๅˆฐๆฅ๏ผŒๅนถๆœชๆ”นๅ˜่ฟ™ไบ›ๅŽŸๅˆ™็š„ๅ†…ๆ ธ๏ผŒๅ่€Œ่ฎฉๅฎƒไปฌ็š„ไปทๅ€ผๆ›ดๅŠ ๅ‡ธๆ˜พ",-1)])]),_:1}),t[13]||(t[13]=e("ใ€‚ๅฝ“ AI ่ƒฝๅคŸไปฅๆƒŠไบบ็š„้€Ÿๅบฆ็”Ÿๆˆไปฃ็ ๆ—ถ๏ผŒ",-1)),t[14]||(t[14]=o("strong",null,'"ๅ†™ไป€ไนˆ"็š„ๅ†ณ็ญ–ๆƒๆฏ”"ๆ€Žไนˆๅ†™"็š„ๆ‰ง่กŒๅŠ›ๆ›ดไธบ็จ€็ผบ',-1)),t[15]||(t[15]=e("ใ€‚ไธ€ไธชๆธ…ๆ™ฐ็š„่ฎพ่ฎก่ง„่Œƒ๏ผŒ่ƒฝ่ฎฉ AI ไบงๅ‡บๅฏ็ปดๆŠค็š„ไปฃ็ ๏ผ›่€Œไธ€ไธชๆจก็ณŠ็š„้œ€ๆฑ‚ๆ่ฟฐ๏ผŒๅชไผš่ฎฉ AI ๅˆถ้€ ๆ›ดๅคšๆŠ€ๆœฏๅ€บๅŠกใ€‚",-1)),t[16]||(t[16]=o("p",null,[e("่ง„่Œƒ้ฉฑๅŠจๅผ€ๅ‘๏ผˆSDD๏ผ‰็š„ๆœฌ่ดจๆ˜ฏ"),o("strong",null,"ๅฐ†ๆžถๆž„ๆ€็ปดๅค–ๅŒ–ไธบๅฏๆ‰ง่กŒ็š„ๅฅ‘็บฆ"),e('ใ€‚ๅผ€ๅ‘่€…ไธๅ†ๆ˜ฏไปฃ็ ็š„"ๆฌ่ฟๅทฅ"๏ผŒ่€Œๆ˜ฏ่ง„่Œƒ็š„"็ซ‹ๆณ•่€…"ใ€‚ๆˆ‘ไปฌๅฎšไน‰็ป„ไปถ่พน็•Œใ€ๆ•ฒๅฎš็Šถๆ€ๆ‹“ๆ‰‘ใ€่ฎพ่ฎกๅ›ž่ฐƒๅฅ‘็บฆโ€”โ€”AI ๅˆ™ๅœจๆˆ‘ไปฌ่ฎพๅฎš็š„ๆก†ๆžถๅ†…้ซ˜ๆ•ˆๅกซๅ……ๅฎž็Žฐ็ป†่Š‚ใ€‚่ฟ™็งๅˆ†ๅทฅ๏ผŒ่ฎฉๅผ€ๅ‘่€…ไปŽ็น็็š„็ผ–็ ๅŠณๅŠจไธญ่งฃๆ”พๅ‡บๆฅ๏ผŒๅฐ†็ฒพๅŠ›้›†ไธญไบŽ็œŸๆญฃๅˆ›้€ ไปทๅ€ผ็š„ๆžถๆž„ๅ†ณ็ญ–ใ€‚')],-1)),o("p",null,[t[8]||(t[8]=e("ๆœ€ๅŽ๏ผŒ่ฏท่ฎฐไฝ๏ผš",-1)),a(r,{type:"note",bold:""},{default:l(()=>[...t[7]||(t[7]=[e("ๅทฅๅ…ทไผš่ฟญไปฃ๏ผŒๆŠ€ๆœฏไผš่ฟ‡ๆ—ถ๏ผŒไฝ†ๅฏนๅคๆ‚ๆ€ง็š„้ฉพ้ฉญ่ƒฝๅŠ›ๆฐธ่ฟœๆ˜ฏๅทฅ็จ‹ๅธˆ็š„ๆ ธๅฟƒ็ซžไบ‰ๅŠ›",-1)])]),_:1}),t[9]||(t[9]=e('ใ€‚React ็š„ API ๅฏ่ƒฝไผšๅœจๆœชๆฅ่ขซๆ–ฐ็š„ๆก†ๆžถๅ–ไปฃ๏ผŒไฝ†"ๅฆ‚ไฝ•ๅœจๅคๆ‚ๆ€งไธญๅปบ็ซ‹็งฉๅบ"่ฟ™ไธ€ๅ‘ฝ้ข˜๏ผŒๅฐ†ไผด้š่ฝฏไปถๅทฅ็จ‹็š„ๅง‹็ปˆใ€‚ๆ„ฟไฝ ๅœจ่ฟ™ๅœบๆŠ€ๆœฏๆผ”่ฟ›ไธญ๏ผŒๅง‹็ปˆ็ซ™ๅœจๆžถๆž„่ฎพ่ฎก็š„้ซ˜ๅœฐ๏ผŒ็”จๆธ…ๆ™ฐ็š„ๆ€็ปด้ฉพ้ฉญๅผบๅคง็š„ๅทฅๅ…ท๏ผŒๆž„ๅปบๅ‡บ็ปๅพ—่ตทๆ—ถ้—ด่€ƒ้ชŒ็š„่ฝฏไปถ็ณป็ปŸใ€‚',-1))])]))}});export{I as __pageData,D as default}; +import{H as r}from"./chunks/HighLightText.BFsbuOsY.js";import{g as s,h as i,U as n,i as o,z as a,S as e,s as l}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const I=JSON.parse('{"title":"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—","description":"ๆœฌๆ–‡ๆŽข่ฎจๅœจ AI ๅขžๅผบๅผ€ๅ‘่ƒŒๆ™ฏไธ‹๏ผŒๅฆ‚ไฝ•้‡ๅก‘ React ็ป„ไปถ่ฎพ่ฎกๅŽŸๅˆ™ใ€‚ๆถต็›– SRP ่Œ่ดฃๅˆ’ๅˆ†ใ€้™ๆ€็‰ˆๆœฌๅŸบ็บฟใ€ๆœ€ๅฐ็Šถๆ€๏ผˆDerived Data๏ผ‰ๆŽจๅฏผไปฅๅŠ SDD ไบบๆœบๅไฝœๆจกๅผ็š„ๅทฅ็จ‹่ฝๅœฐใ€‚","frontmatter":{"date":"2026-02-10T23:33:19.000Z","title":"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—","tldr":"ๅฝ“ AI ๆ‰ฟๆŽฅไบ† 30% ็š„็ผ–็ ๆ‰ง่กŒๆ—ถ๏ผŒๅผ€ๅ‘่€…้œ€้€š่ฟ‡โ€œ่ง„ๆ ผ้ฉฑๅŠจ๏ผˆSDD๏ผ‰โ€้‡ๅคบ 70% ็š„่ฎพ่ฎกไธปๆƒ๏ผšไปŽ่‡ชๆฒป็ป„ไปถๅˆ’ๅˆ†ๅˆฐๅ•ๅ‘ๆ•ฐๆฎๆตๆ‹“ๆ‰‘็š„ๆทฑๅบฆๆŽจๆผ”ใ€‚","description":"ๆœฌๆ–‡ๆŽข่ฎจๅœจ AI ๅขžๅผบๅผ€ๅ‘่ƒŒๆ™ฏไธ‹๏ผŒๅฆ‚ไฝ•้‡ๅก‘ React ็ป„ไปถ่ฎพ่ฎกๅŽŸๅˆ™ใ€‚ๆถต็›– SRP ่Œ่ดฃๅˆ’ๅˆ†ใ€้™ๆ€็‰ˆๆœฌๅŸบ็บฟใ€ๆœ€ๅฐ็Šถๆ€๏ผˆDerived Data๏ผ‰ๆŽจๅฏผไปฅๅŠ SDD ไบบๆœบๅไฝœๆจกๅผ็š„ๅทฅ็จ‹่ฝๅœฐใ€‚","tags":["tutorial","react","component-design","state-management","ai-augmented","specification-driven"],"permalink":"/fullstack/react-design-philosophy-ai-augmented","categories":["ๅ…จๆ ˆ","ๅ‰็ซฏๅทฅ็จ‹"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—.md","filePath":"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—.md"}'),d={name:"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—.md"},D=Object.assign(d,{setup(g){return(p,t)=>(i(),s("div",null,[t[10]||(t[10]=n("",3)),o("p",null,[t[1]||(t[1]=e("ๅœจ่ฝฏไปถๅทฅ็จ‹ไธญ๏ผŒ็บฆ 70% ็š„ๆ—ถ้—ดๅบ”ๆŠ•ๅ…ฅไบŽๆžถๆž„่ฎพ่ฎกใ€้œ€ๆฑ‚ๆ‹†่งฃไธŽๆŽฅๅฃ่ฏญไน‰ๆŽจๆ•ฒ๏ผŒไป… 30% ็”จไบŽๅฎž้™…็ผ–็ ใ€‚่ฟ›ๅ…ฅ AI ๅไฝœๆ—ถไปฃๅŽ๏ผŒ่ฟ™ไธ€ๆฏ”ไพ‹ไพ็„ถๅšๅฆ‚็ฃ็Ÿณโ€”โ€”ๅผ€ๅ‘่€…ๅฟ…้กปๅ…ˆๅฎŒๆˆๆทฑๅบฆๆ€่€ƒ๏ผŒๅฐ†โ€œๆธ…ๆ™ฐ็š„้—ฎ้ข˜่ง„ๆ ผ๏ผˆSpecification๏ผ‰โ€ไบค็ป™ AI๏ผŒAI ๆ‰่ƒฝ่พ“ๅ‡บ้ซ˜่ดจ้‡ไปฃ็ ใ€‚",-1)),a(r,{type:"note",bold:""},{default:l(()=>[...t[0]||(t[0]=[e("AI ๆๅ‡็š„ๆ˜ฏ 30% ็ผ–็ ้˜ถๆฎต็š„ๆ‰ง่กŒๅŠ›๏ผŒ่€Œ้žๅ–ไปฃ 70% ็š„ๆžถๆž„่ฃๅ†ณ",-1)])]),_:1}),t[2]||(t[2]=e("ใ€‚ ้ซ˜่ดจ้‡ React ๅบ”็”จ็š„่ฏž็”Ÿ๏ผŒไพ็„ถๅง‹ไบŽไบบ็ฑปๅฟƒๆ™บๅฏนๆ•ฐๆฎๆตใ€ๅ‰ฏไฝœ็”จ่พน็•ŒไธŽๅฏ็ป„ๅˆๆ€ง็š„้€ๅฝปๆŽจๆผ”ใ€‚",-1))]),t[11]||(t[11]=o("p",null,'็„ถ่€Œ๏ผŒ็œŸๆญฃ้ฉพ้ฉญ React ๅนถ้žๆ˜“ไบ‹ใ€‚่ฎธๅคšๅ›ข้˜Ÿๅœจ้กน็›ฎๅˆๆœŸไบซๅ—็€็ป„ไปถๅŒ–ๅธฆๆฅ็š„ๅฟซๆ„Ÿ๏ผŒๅดๅœจไธšๅŠก่†จ่ƒ€ๅŽ้™ทๅ…ฅ"็ป„ไปถๅœฐ็‹ฑ"โ€”โ€”ๆทฑๅตŒๅฅ—็š„ prop drillingใ€ๅคฑๆŽง็š„็Šถๆ€่”“ๅปถใ€้šพไปฅ่ฟฝ่ธช็š„ๅ‰ฏไฝœ็”จ๏ผŒ่ฎฉไปฃ็ ๅบ“้€ๆธ่…ๅŒ–ใ€‚้—ฎ้ข˜็š„ๆ นๆบๅพ€ๅพ€ไธๅœจไบŽ React ๆœฌ่บซ๏ผŒ่€ŒๅœจไบŽๆˆ‘ไปฌๆ˜ฏๅฆ็œŸๆญฃ็†่งฃๅ…ถ่ƒŒๅŽ็š„่ฎพ่ฎกๅ“ฒๅญฆใ€‚',-1)),a(r,{bold:""},{default:l(()=>[...t[3]||(t[3]=[e("React ็š„็ฒพ้ซ“ๅœจไบŽไปฅ็ป„ไปถๅŒ–ไธบๆ ธๅฟƒ๏ผŒๅฐ†ๅคๆ‚็š„ UI ๆ‹†่งฃไธบ็‹ฌ็ซ‹ใ€ๅฏๅค็”จ็š„่‡ชๆฒปๅ•ๅ…ƒ๏ผŒ่ฎฉๆ•ฐๆฎๆฒฟ็€ไปŽ่พ“ๅ…ฅ๏ผˆprops๏ผ‰ๅˆฐ่พ“ๅ‡บ๏ผˆUI ๅ…ƒ็ด ๏ผ‰็š„่ฝจ่ฟนๅฝขๆˆๆธ…ๆ™ฐใ€ๅฏๆŽง็š„้—ญ็Žฏ",-1)])]),_:1}),t[12]||(t[12]=n("",55)),o("p",null,[a(r,{type:"info"},{default:l(()=>[...t[4]||(t[4]=[e("็ป„ไปถๅŒ–ๆ˜ฏๅฏน UI ๅคๆ‚ๆ€ง็š„ๅˆ†่งฃ๏ผŒ้™ๆ€็‰ˆๆœฌๆ˜ฏๅฏนๆธฒๆŸ“่กŒไธบ็š„้”šๅฎš๏ผŒๆœ€ๅฐ็Šถๆ€ๆ˜ฏๅฏนๆ•ฐๆฎๅ†—ไฝ™็š„ๅ‰”้™ค๏ผŒๅ•ๅ‘ๆ•ฐๆฎๆตๆ˜ฏๅฏนๅ˜ๆ›ด่ฝจ่ฟน็š„็บฆๆŸใ€‚่ฟ™ไบ›่ฎพ่ฎกๅŽŸๅˆ™ๅนถ้ž React ็‹ฌๆœ‰๏ผŒ่€Œๆ˜ฏ่ฝฏไปถๅทฅ็จ‹ๅ‡ ๅๅนดๆฒ‰ๆท€ไธ‹ๆฅ็š„ๆ™บๆ…ง็ป“ๆ™ถโ€”โ€”ๅ•ไธ€่Œ่ดฃใ€ๅ…ณๆณจ็‚นๅˆ†็ฆปใ€ๆ˜พๅผไผ˜ไบŽ้šๅผใ€ๆ•ฐๆฎๆต็š„ๅฏ่ฟฝๆบฏๆ€ง",-1)])]),_:1}),t[5]||(t[5]=e("ใ€‚",-1))]),a(r,{type:"warning",bold:""},{default:l(()=>[...t[6]||(t[6]=[e("AI ๆ—ถไปฃ็š„ๅˆฐๆฅ๏ผŒๅนถๆœชๆ”นๅ˜่ฟ™ไบ›ๅŽŸๅˆ™็š„ๅ†…ๆ ธ๏ผŒๅ่€Œ่ฎฉๅฎƒไปฌ็š„ไปทๅ€ผๆ›ดๅŠ ๅ‡ธๆ˜พ",-1)])]),_:1}),t[13]||(t[13]=e("ใ€‚ๅฝ“ AI ่ƒฝๅคŸไปฅๆƒŠไบบ็š„้€Ÿๅบฆ็”Ÿๆˆไปฃ็ ๆ—ถ๏ผŒ",-1)),t[14]||(t[14]=o("strong",null,'"ๅ†™ไป€ไนˆ"็š„ๅ†ณ็ญ–ๆƒๆฏ”"ๆ€Žไนˆๅ†™"็š„ๆ‰ง่กŒๅŠ›ๆ›ดไธบ็จ€็ผบ',-1)),t[15]||(t[15]=e("ใ€‚ไธ€ไธชๆธ…ๆ™ฐ็š„่ฎพ่ฎก่ง„่Œƒ๏ผŒ่ƒฝ่ฎฉ AI ไบงๅ‡บๅฏ็ปดๆŠค็š„ไปฃ็ ๏ผ›่€Œไธ€ไธชๆจก็ณŠ็š„้œ€ๆฑ‚ๆ่ฟฐ๏ผŒๅชไผš่ฎฉ AI ๅˆถ้€ ๆ›ดๅคšๆŠ€ๆœฏๅ€บๅŠกใ€‚",-1)),t[16]||(t[16]=o("p",null,[e("่ง„่Œƒ้ฉฑๅŠจๅผ€ๅ‘๏ผˆSDD๏ผ‰็š„ๆœฌ่ดจๆ˜ฏ"),o("strong",null,"ๅฐ†ๆžถๆž„ๆ€็ปดๅค–ๅŒ–ไธบๅฏๆ‰ง่กŒ็š„ๅฅ‘็บฆ"),e('ใ€‚ๅผ€ๅ‘่€…ไธๅ†ๆ˜ฏไปฃ็ ็š„"ๆฌ่ฟๅทฅ"๏ผŒ่€Œๆ˜ฏ่ง„่Œƒ็š„"็ซ‹ๆณ•่€…"ใ€‚ๆˆ‘ไปฌๅฎšไน‰็ป„ไปถ่พน็•Œใ€ๆ•ฒๅฎš็Šถๆ€ๆ‹“ๆ‰‘ใ€่ฎพ่ฎกๅ›ž่ฐƒๅฅ‘็บฆโ€”โ€”AI ๅˆ™ๅœจๆˆ‘ไปฌ่ฎพๅฎš็š„ๆก†ๆžถๅ†…้ซ˜ๆ•ˆๅกซๅ……ๅฎž็Žฐ็ป†่Š‚ใ€‚่ฟ™็งๅˆ†ๅทฅ๏ผŒ่ฎฉๅผ€ๅ‘่€…ไปŽ็น็็š„็ผ–็ ๅŠณๅŠจไธญ่งฃๆ”พๅ‡บๆฅ๏ผŒๅฐ†็ฒพๅŠ›้›†ไธญไบŽ็œŸๆญฃๅˆ›้€ ไปทๅ€ผ็š„ๆžถๆž„ๅ†ณ็ญ–ใ€‚')],-1)),o("p",null,[t[8]||(t[8]=e("ๆœ€ๅŽ๏ผŒ่ฏท่ฎฐไฝ๏ผš",-1)),a(r,{type:"note",bold:""},{default:l(()=>[...t[7]||(t[7]=[e("ๅทฅๅ…ทไผš่ฟญไปฃ๏ผŒๆŠ€ๆœฏไผš่ฟ‡ๆ—ถ๏ผŒไฝ†ๅฏนๅคๆ‚ๆ€ง็š„้ฉพ้ฉญ่ƒฝๅŠ›ๆฐธ่ฟœๆ˜ฏๅทฅ็จ‹ๅธˆ็š„ๆ ธๅฟƒ็ซžไบ‰ๅŠ›",-1)])]),_:1}),t[9]||(t[9]=e('ใ€‚React ็š„ API ๅฏ่ƒฝไผšๅœจๆœชๆฅ่ขซๆ–ฐ็š„ๆก†ๆžถๅ–ไปฃ๏ผŒไฝ†"ๅฆ‚ไฝ•ๅœจๅคๆ‚ๆ€งไธญๅปบ็ซ‹็งฉๅบ"่ฟ™ไธ€ๅ‘ฝ้ข˜๏ผŒๅฐ†ไผด้š่ฝฏไปถๅทฅ็จ‹็š„ๅง‹็ปˆใ€‚ๆ„ฟไฝ ๅœจ่ฟ™ๅœบๆŠ€ๆœฏๆผ”่ฟ›ไธญ๏ผŒๅง‹็ปˆ็ซ™ๅœจๆžถๆž„่ฎพ่ฎก็š„้ซ˜ๅœฐ๏ผŒ็”จๆธ…ๆ™ฐ็š„ๆ€็ปด้ฉพ้ฉญๅผบๅคง็š„ๅทฅๅ…ท๏ผŒๆž„ๅปบๅ‡บ็ปๅพ—่ตทๆ—ถ้—ด่€ƒ้ชŒ็š„่ฝฏไปถ็ณป็ปŸใ€‚',-1))])]))}});export{I as __pageData,D as default}; diff --git "a/assets/01.\345\205\250\346\240\210_40.\345\211\215\347\253\257\345\267\245\347\250\213_02.CSS\345\267\245\347\250\213\345\214\226.md.B6Q9ssdl.js" "b/assets/01.\345\205\250\346\240\210_40.\345\211\215\347\253\257\345\267\245\347\250\213_02.CSS\345\267\245\347\250\213\345\214\226.md.DUPhvCof.js" similarity index 99% rename from "assets/01.\345\205\250\346\240\210_40.\345\211\215\347\253\257\345\267\245\347\250\213_02.CSS\345\267\245\347\250\213\345\214\226.md.B6Q9ssdl.js" rename to "assets/01.\345\205\250\346\240\210_40.\345\211\215\347\253\257\345\267\245\347\250\213_02.CSS\345\267\245\347\250\213\345\214\226.md.DUPhvCof.js" index e01d4a53..8417b8f1 100644 --- "a/assets/01.\345\205\250\346\240\210_40.\345\211\215\347\253\257\345\267\245\347\250\213_02.CSS\345\267\245\347\250\213\345\214\226.md.B6Q9ssdl.js" +++ "b/assets/01.\345\205\250\346\240\210_40.\345\211\215\347\253\257\345\267\245\347\250\213_02.CSS\345\267\245\347\250\213\345\214\226.md.DUPhvCof.js" @@ -1,4 +1,4 @@ -import{_ as i,g as n,h as a,U as l}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const g=JSON.parse('{"title":"ไปŽๅŽŸๅญๅŒ–ๅˆฐๅ˜ไฝ“้ฉฑๅŠจ๏ผš็Žฐไปฃ CSS ๅทฅ็จ‹ๅŒ–็š„ๆžถๆž„ๆผ”่ฟ›ไธŽๆททๅˆๅฎž่ทตๆŒ‡ๅ—","description":"ๆœฌๆ–‡็ณป็ปŸๅ‰–ๆžไธปๆต CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆ็š„ๅบ•ๅฑ‚้€ป่พ‘๏ผŒๆๅ‡บโ€œๆ ทๅผ่ต„ไบง ROIโ€่ฏ„ไผฐๆจกๅž‹๏ผŒๅนถ้’ˆๅฏน Vue/React ็”Ÿๆ€็ป™ๅ‡บไบ†้ขๅ‘ AI ๆ—ถไปฃ็š„ไผไธš็บงๆททๅˆๆžถๆž„้€‰ๅž‹ๅปบ่ฎฎใ€‚","frontmatter":{"date":"2026-03-10T22:05:50.000Z","title":"ไปŽๅŽŸๅญๅŒ–ๅˆฐๅ˜ไฝ“้ฉฑๅŠจ๏ผš็Žฐไปฃ CSS ๅทฅ็จ‹ๅŒ–็š„ๆžถๆž„ๆผ”่ฟ›ไธŽๆททๅˆๅฎž่ทตๆŒ‡ๅ—","description":"ๆœฌๆ–‡็ณป็ปŸๅ‰–ๆžไธปๆต CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆ็š„ๅบ•ๅฑ‚้€ป่พ‘๏ผŒๆๅ‡บโ€œๆ ทๅผ่ต„ไบง ROIโ€่ฏ„ไผฐๆจกๅž‹๏ผŒๅนถ้’ˆๅฏน Vue/React ็”Ÿๆ€็ป™ๅ‡บไบ†้ขๅ‘ AI ๆ—ถไปฃ็š„ไผไธš็บงๆททๅˆๆžถๆž„้€‰ๅž‹ๅปบ่ฎฎใ€‚","permalink":"/full-stack/css-engineering","coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png","top":true,"categories":["ๅ…จๆ ˆ"],"tags":["ๅ…จๆ ˆ","CSS","ๅทฅ็จ‹ๅŒ–","tailwindcss"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/02.CSSๅทฅ็จ‹ๅŒ–.md","filePath":"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/02.CSSๅทฅ็จ‹ๅŒ–.md"}'),t={name:"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/02.CSSๅทฅ็จ‹ๅŒ–.md"};function p(e,s,h,r,k,d){return a(),n("div",null,[...s[0]||(s[0]=[l(`

ไปŽๅŽŸๅญๅŒ–ๅˆฐๅ˜ไฝ“้ฉฑๅŠจ๏ผš็Žฐไปฃ CSS ๅทฅ็จ‹ๅŒ–็š„ๆžถๆž„ๆผ”่ฟ›ไธŽๆททๅˆๅฎž่ทตๆŒ‡ๅ— โ€‹

ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจๅ‰็ซฏ็”Ÿๆ€ๆ—ฅๆ–ฐๆœˆๅผ‚็š„ไปŠๅคฉ๏ผŒCSS ๅทฅ็จ‹ๅŒ–ๆ—ฉๅทฒ่ถ…่ถŠไบ†โ€œๅฆ‚ไฝ•ๅ†™ๆ ทๅผโ€็š„่Œƒ็•ด๏ผŒๆผ”ๅ˜ไธบไธ€ๅœบๅ…ณไบŽๅผ€ๅ‘ๆ•ˆ็އ๏ผˆVelocity๏ผ‰ไธŽ็ณป็ปŸ้Ÿงๆ€ง๏ผˆResilience๏ผ‰็š„ๆทฑๅบฆๅšๅผˆใ€‚ๆœฌๆ–‡ๅฐ†็ณป็ปŸๆขณ็†ไปŽ้ข„ๅค„็†ๅ™จใ€CSS-in-JSใ€Scoped CSS ๅˆฐๅŽŸๅญๅŒ– CSS ็š„ๆผ”่ฟ›่„‰็ปœ๏ผŒๅนถ้ฆ–ๆฌกๅผ•ๅ…ฅ โ€œๆ ทๅผ่ต„ไบง ROIโ€ ๆจกๅž‹๏ผŒๆทฑๅ…ฅๅ‰–ๆžไธบไฝ• Tailwind ๅทฒๆˆไธบ AI ๆ—ถไปฃ็š„ๅŸบ็Ÿณๆžถๆž„ใ€‚้’ˆๅฏน Vue ไธŽ React ็š„ไธๅŒๅ“ฒๅญฆ๏ผŒๆˆ‘ไปฌๆ€ป็ป“ๅ‡บไบ†ไธ€ๅฅ— โ€œๅŽŸๅญๅŒ–ไธบไธป๏ผŒๅทฅ็จ‹ๅŒ–ๅฑ€้ƒจๅ…œๅบ•โ€ ็š„ไผไธš็บงๆททๅˆๆžถๆž„ๆ–นๆกˆใ€‚ๆ— ่ฎบไฝ ๆ˜ฏๆทฑ่€• React ็”Ÿๆ€ใ€่ฟฝๆฑ‚ๅ…จ้“พ่ทฏ็ฑปๅž‹ๅฎ‰ๅ…จ็š„โ€œๅ˜ไฝ“้ฉฑๅŠจโ€ๅ…ˆ่กŒ่€…๏ผŒ่ฟ˜ๆ˜ฏๅœจ Vue ็”Ÿๆ€ไธญๅฏปๆ‰พๆž่‡ดๅฟƒๆ™บ่ดŸๆ‹…ๅนณ่กก็š„ๅฎž่ทต่€…๏ผŒๆœฌๆ–‡้ƒฝๅฐ†ไธบไฝ ๆไพ›ไธ€ไปฝๆธ…ๆ™ฐ็š„ๆžถๆž„ๅ†ณ็ญ–ๆ ‘๏ผŒๅŠฉไฝ ่ง„้ฟๅทฅ็จ‹็บข็บฟ๏ผŒๆž„ๅปบ็œŸๆญฃ้ขๅ‘ๆœชๆฅ็š„ๆ ทๅผ่ต„ไบงใ€‚

1. ๅผ•่จ€๏ผšไธปๆต CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆๆœ‰ๅ“ชไบ›๏ผŸ โ€‹

ๅœจ็Žฐไปฃๅ‰็ซฏๅผ€ๅ‘ไธญ๏ผŒ้š็€้กน็›ฎๅคๆ‚ๅบฆ็š„ๆ€ฅๅ‰งๆๅ‡๏ผŒๅŽŸ็”Ÿ CSS ๅธธๅธธ้ขไธดๅ…จๅฑ€ๆฑกๆŸ“ใ€ๅค็”จๅ›ฐ้šพใ€ๅฑ‚็บงๅตŒๅฅ—่ฟ‡ๆทฑไปฅๅŠ็ปดๆŠคๆˆๆœฌๆž้ซ˜็ญ‰้—ฎ้ข˜ใ€‚ไธบไบ†่งฃๅ†ณ่ฟ™ไบ›็—›็‚น๏ผŒ็คพๅŒบๅคšๅนดๆฅไธๆ–ญๆŽข็ดข๏ผŒๆฒ‰ๆท€ๅ‡บไบ†ๅคš็งไธปๆต็š„ CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆใ€‚

้™คๅŽŸ็”Ÿ CSS ไน‹ๅค–๏ผŒไธปๆตๆ–นๆกˆ่ฟ˜ๅŒ…ๆ‹ฌ้ข„ๅค„็†ๅ™จใ€CSS-in-JSใ€CSS Moduleใ€Scoped CSSใ€ๅŽŸๅญๅŒ– CSS ็ญ‰ใ€‚BEM ไฝœไธบไธ€็งๅŸบไบŽๅ‘ฝๅ็บฆๅฎšๆฅ่ง„้ฟๅ‘ฝๅๅ†ฒ็ช็š„ๆ—ฉๆœŸๆ–นๆกˆ๏ผŒๅœจ็Žฐไปฃๅ‰็ซฏๅทฅ็จ‹ไธญๅทฒๅŸบๆœฌไธๅ†ไฝฟ็”จ๏ผŒๅ› ๆญคๆœฌๆ–‡ไธๅ†ๅฏนๅ…ถๅฑ•ๅผ€่ฏฆ็ป†ๅˆ†ๆžใ€‚

CSS ๅ‘ฝๅ่ง„่Œƒ๏ผˆBEM๏ผ‰๏ผš้€š่ฟ‡ไธฅๆ ผ็š„ๅ‘ฝๅ็บฆๅฎš๏ผˆๅฆ‚ Block__Element--Modifier๏ผ‰ๆฅ็บฆๆŸไฝœ็”จๅŸŸ๏ผŒๅขžๅผบไปฃ็ ็š„ๅฏ่ฏปๆ€งๅ’Œๅฏ็ปดๆŠคๆ€งใ€‚BEM ๆœฌ่บซๆ˜ฏไธ€ไธชไผ˜็ง€็š„่ง„่Œƒ๏ผŒไฝ†ๅฎƒ้ซ˜ๅบฆไพ่ต–ๅผ€ๅ‘่€…็š„่‡ช่ง‰ๆ€ง๏ผŒไธ”ไผšๅฏผ่‡ด็ฑปๅๅ†—้•ฟ๏ผŒ้šพไปฅ็ฎก็†ใ€‚

2. CSS ้ข„ๅค„็†ๅ™จ โ€‹

CSS ้ข„ๅค„็†ๅ™จๆ˜ฏไธ€็งๆ‰ฉๅฑ•ไบ† CSS ๅŠŸ่ƒฝ็š„่„šๆœฌ่ฏญ่จ€๏ผŒ้€š่ฟ‡ๆทปๅŠ ๅ˜้‡ใ€ๅตŒๅฅ—ใ€ๆททๅ…ฅ๏ผˆMixins๏ผ‰ๅ’Œๅ‡ฝๆ•ฐ็ญ‰็ผ–็จ‹็‰นๆ€ง๏ผŒ่ฎฉ CSS ๆ›ดๅ…ท็ป“ๆž„ๅŒ–ใ€ๅฏ่ฏปๆ€งๅ’Œๅฏ็ปดๆŠคๆ€งใ€‚ๅฎƒๅ…่ฎธๅผ€ๅ‘่€…็”จ็‰นๆฎŠ่ฏญๆณ•็ผ–ๅ†™ๆ ทๅผ๏ผŒ็„ถๅŽ็ผ–่ฏ‘ๆˆๆต่งˆๅ™จๅฏ่ฏป็š„ๆ™ฎ้€š CSS ๆ–‡ไปถใ€‚ ๅฎƒไนŸๆ˜ฏๆœ€ๆ—ฉไนŸๆ˜ฏๆœ€ๅŸบ็ก€็š„ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆ๏ผŒๆ ธๅฟƒๆ€ๆƒณๆ˜ฏ้€š่ฟ‡ๆ‰ฉๅฑ•ๅŽŸ็”Ÿ CSS ็š„่ฏญๆณ•๏ผŒ่ต‹ไบˆๅ…ถโ€œ็ผ–็จ‹โ€่ƒฝๅŠ›ใ€‚

็ปดๅบฆ่ฏดๆ˜Ž
ๆ ธๅฟƒๆ€ๆƒณๅขžๅผบ็‰ˆ CSS ไฝฟ็”จๅ˜้‡็ปŸไธ€็ฎก็†่ฎพ่ฎกไปค็‰Œ๏ผˆDesign Tokens๏ผ‰๏ผŒ็”จๅตŒๅฅ—ๅ‡ๅฐ‘้‡ๅค้€‰ๆ‹ฉๅ™จใ€‚
ไปฃ่กจๆŠ€ๆœฏSass (SCSS), Less, Stylus
ๆ ธๅฟƒ็‰น็‚นๆไพ›ไบ†ๅ˜้‡๏ผˆVariables๏ผ‰ใ€ๅตŒๅฅ—๏ผˆNesting๏ผ‰ใ€ๆททๅˆ๏ผˆMixins๏ผ‰ใ€็ปงๆ‰ฟใ€ๅ‡ฝๆ•ฐ็ญ‰ๅŠŸ่ƒฝใ€‚
้€‚็”จๅœบๆ™ฏๅ‡ ไนŽๆ‰€ๆœ‰้กน็›ฎใ€‚็Žฐ้˜ถๆฎตๅฎƒ้€šๅธธไธไฝœไธบ็‹ฌ็ซ‹็š„่งฃๅ†ณๆ–นๆกˆ๏ผŒ่€Œๆ˜ฏไธŽๅ…ถไป–ๆ–นๆกˆ๏ผˆๅฆ‚ CSS Modules๏ผ‰็ป“ๅˆไฝฟ็”จใ€‚
ๅฑ€้™ๆ€ง็ผ–่ฏ‘ๅŽ็š„ไบง็‰ฉไพ็„ถๆ˜ฏๆ™ฎ้€š CSS๏ผŒๆ— ๆณ•ไปŽๆ นๆœฌไธŠ่งฃๅ†ณๅ…จๅฑ€ๅ‘ฝๅๅ†ฒ็ช็š„้—ฎ้ข˜๏ผˆ้€šๅธธ้œ€่ฆ้…ๅˆ BEM ๅ‘ฝๅ่ง„่Œƒๆฅ็ผ“่งฃ๏ผ‰

ไปฅ SCSS ไธบไพ‹๏ผŒ็คบๆ„ๅฆ‚ไธ‹๏ผš

scss
/* Button.scss */
+import{_ as i,g as n,h as a,U as l}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const g=JSON.parse('{"title":"ไปŽๅŽŸๅญๅŒ–ๅˆฐๅ˜ไฝ“้ฉฑๅŠจ๏ผš็Žฐไปฃ CSS ๅทฅ็จ‹ๅŒ–็š„ๆžถๆž„ๆผ”่ฟ›ไธŽๆททๅˆๅฎž่ทตๆŒ‡ๅ—","description":"ๆœฌๆ–‡็ณป็ปŸๅ‰–ๆžไธปๆต CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆ็š„ๅบ•ๅฑ‚้€ป่พ‘๏ผŒๆๅ‡บโ€œๆ ทๅผ่ต„ไบง ROIโ€่ฏ„ไผฐๆจกๅž‹๏ผŒๅนถ้’ˆๅฏน Vue/React ็”Ÿๆ€็ป™ๅ‡บไบ†้ขๅ‘ AI ๆ—ถไปฃ็š„ไผไธš็บงๆททๅˆๆžถๆž„้€‰ๅž‹ๅปบ่ฎฎใ€‚","frontmatter":{"date":"2026-03-10T22:05:50.000Z","title":"ไปŽๅŽŸๅญๅŒ–ๅˆฐๅ˜ไฝ“้ฉฑๅŠจ๏ผš็Žฐไปฃ CSS ๅทฅ็จ‹ๅŒ–็š„ๆžถๆž„ๆผ”่ฟ›ไธŽๆททๅˆๅฎž่ทตๆŒ‡ๅ—","description":"ๆœฌๆ–‡็ณป็ปŸๅ‰–ๆžไธปๆต CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆ็š„ๅบ•ๅฑ‚้€ป่พ‘๏ผŒๆๅ‡บโ€œๆ ทๅผ่ต„ไบง ROIโ€่ฏ„ไผฐๆจกๅž‹๏ผŒๅนถ้’ˆๅฏน Vue/React ็”Ÿๆ€็ป™ๅ‡บไบ†้ขๅ‘ AI ๆ—ถไปฃ็š„ไผไธš็บงๆททๅˆๆžถๆž„้€‰ๅž‹ๅปบ่ฎฎใ€‚","permalink":"/full-stack/css-engineering","coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png","top":true,"categories":["ๅ…จๆ ˆ"],"tags":["ๅ…จๆ ˆ","CSS","ๅทฅ็จ‹ๅŒ–","tailwindcss"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/02.CSSๅทฅ็จ‹ๅŒ–.md","filePath":"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/02.CSSๅทฅ็จ‹ๅŒ–.md"}'),t={name:"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/02.CSSๅทฅ็จ‹ๅŒ–.md"};function p(e,s,h,r,k,d){return a(),n("div",null,[...s[0]||(s[0]=[l(`

ไปŽๅŽŸๅญๅŒ–ๅˆฐๅ˜ไฝ“้ฉฑๅŠจ๏ผš็Žฐไปฃ CSS ๅทฅ็จ‹ๅŒ–็š„ๆžถๆž„ๆผ”่ฟ›ไธŽๆททๅˆๅฎž่ทตๆŒ‡ๅ— โ€‹

ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจๅ‰็ซฏ็”Ÿๆ€ๆ—ฅๆ–ฐๆœˆๅผ‚็š„ไปŠๅคฉ๏ผŒCSS ๅทฅ็จ‹ๅŒ–ๆ—ฉๅทฒ่ถ…่ถŠไบ†โ€œๅฆ‚ไฝ•ๅ†™ๆ ทๅผโ€็š„่Œƒ็•ด๏ผŒๆผ”ๅ˜ไธบไธ€ๅœบๅ…ณไบŽๅผ€ๅ‘ๆ•ˆ็އ๏ผˆVelocity๏ผ‰ไธŽ็ณป็ปŸ้Ÿงๆ€ง๏ผˆResilience๏ผ‰็š„ๆทฑๅบฆๅšๅผˆใ€‚ๆœฌๆ–‡ๅฐ†็ณป็ปŸๆขณ็†ไปŽ้ข„ๅค„็†ๅ™จใ€CSS-in-JSใ€Scoped CSS ๅˆฐๅŽŸๅญๅŒ– CSS ็š„ๆผ”่ฟ›่„‰็ปœ๏ผŒๅนถ้ฆ–ๆฌกๅผ•ๅ…ฅ โ€œๆ ทๅผ่ต„ไบง ROIโ€ ๆจกๅž‹๏ผŒๆทฑๅ…ฅๅ‰–ๆžไธบไฝ• Tailwind ๅทฒๆˆไธบ AI ๆ—ถไปฃ็š„ๅŸบ็Ÿณๆžถๆž„ใ€‚้’ˆๅฏน Vue ไธŽ React ็š„ไธๅŒๅ“ฒๅญฆ๏ผŒๆˆ‘ไปฌๆ€ป็ป“ๅ‡บไบ†ไธ€ๅฅ— โ€œๅŽŸๅญๅŒ–ไธบไธป๏ผŒๅทฅ็จ‹ๅŒ–ๅฑ€้ƒจๅ…œๅบ•โ€ ็š„ไผไธš็บงๆททๅˆๆžถๆž„ๆ–นๆกˆใ€‚ๆ— ่ฎบไฝ ๆ˜ฏๆทฑ่€• React ็”Ÿๆ€ใ€่ฟฝๆฑ‚ๅ…จ้“พ่ทฏ็ฑปๅž‹ๅฎ‰ๅ…จ็š„โ€œๅ˜ไฝ“้ฉฑๅŠจโ€ๅ…ˆ่กŒ่€…๏ผŒ่ฟ˜ๆ˜ฏๅœจ Vue ็”Ÿๆ€ไธญๅฏปๆ‰พๆž่‡ดๅฟƒๆ™บ่ดŸๆ‹…ๅนณ่กก็š„ๅฎž่ทต่€…๏ผŒๆœฌๆ–‡้ƒฝๅฐ†ไธบไฝ ๆไพ›ไธ€ไปฝๆธ…ๆ™ฐ็š„ๆžถๆž„ๅ†ณ็ญ–ๆ ‘๏ผŒๅŠฉไฝ ่ง„้ฟๅทฅ็จ‹็บข็บฟ๏ผŒๆž„ๅปบ็œŸๆญฃ้ขๅ‘ๆœชๆฅ็š„ๆ ทๅผ่ต„ไบงใ€‚

1. ๅผ•่จ€๏ผšไธปๆต CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆๆœ‰ๅ“ชไบ›๏ผŸ โ€‹

ๅœจ็Žฐไปฃๅ‰็ซฏๅผ€ๅ‘ไธญ๏ผŒ้š็€้กน็›ฎๅคๆ‚ๅบฆ็š„ๆ€ฅๅ‰งๆๅ‡๏ผŒๅŽŸ็”Ÿ CSS ๅธธๅธธ้ขไธดๅ…จๅฑ€ๆฑกๆŸ“ใ€ๅค็”จๅ›ฐ้šพใ€ๅฑ‚็บงๅตŒๅฅ—่ฟ‡ๆทฑไปฅๅŠ็ปดๆŠคๆˆๆœฌๆž้ซ˜็ญ‰้—ฎ้ข˜ใ€‚ไธบไบ†่งฃๅ†ณ่ฟ™ไบ›็—›็‚น๏ผŒ็คพๅŒบๅคšๅนดๆฅไธๆ–ญๆŽข็ดข๏ผŒๆฒ‰ๆท€ๅ‡บไบ†ๅคš็งไธปๆต็š„ CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆใ€‚

้™คๅŽŸ็”Ÿ CSS ไน‹ๅค–๏ผŒไธปๆตๆ–นๆกˆ่ฟ˜ๅŒ…ๆ‹ฌ้ข„ๅค„็†ๅ™จใ€CSS-in-JSใ€CSS Moduleใ€Scoped CSSใ€ๅŽŸๅญๅŒ– CSS ็ญ‰ใ€‚BEM ไฝœไธบไธ€็งๅŸบไบŽๅ‘ฝๅ็บฆๅฎšๆฅ่ง„้ฟๅ‘ฝๅๅ†ฒ็ช็š„ๆ—ฉๆœŸๆ–นๆกˆ๏ผŒๅœจ็Žฐไปฃๅ‰็ซฏๅทฅ็จ‹ไธญๅทฒๅŸบๆœฌไธๅ†ไฝฟ็”จ๏ผŒๅ› ๆญคๆœฌๆ–‡ไธๅ†ๅฏนๅ…ถๅฑ•ๅผ€่ฏฆ็ป†ๅˆ†ๆžใ€‚

CSS ๅ‘ฝๅ่ง„่Œƒ๏ผˆBEM๏ผ‰๏ผš้€š่ฟ‡ไธฅๆ ผ็š„ๅ‘ฝๅ็บฆๅฎš๏ผˆๅฆ‚ Block__Element--Modifier๏ผ‰ๆฅ็บฆๆŸไฝœ็”จๅŸŸ๏ผŒๅขžๅผบไปฃ็ ็š„ๅฏ่ฏปๆ€งๅ’Œๅฏ็ปดๆŠคๆ€งใ€‚BEM ๆœฌ่บซๆ˜ฏไธ€ไธชไผ˜็ง€็š„่ง„่Œƒ๏ผŒไฝ†ๅฎƒ้ซ˜ๅบฆไพ่ต–ๅผ€ๅ‘่€…็š„่‡ช่ง‰ๆ€ง๏ผŒไธ”ไผšๅฏผ่‡ด็ฑปๅๅ†—้•ฟ๏ผŒ้šพไปฅ็ฎก็†ใ€‚

2. CSS ้ข„ๅค„็†ๅ™จ โ€‹

CSS ้ข„ๅค„็†ๅ™จๆ˜ฏไธ€็งๆ‰ฉๅฑ•ไบ† CSS ๅŠŸ่ƒฝ็š„่„šๆœฌ่ฏญ่จ€๏ผŒ้€š่ฟ‡ๆทปๅŠ ๅ˜้‡ใ€ๅตŒๅฅ—ใ€ๆททๅ…ฅ๏ผˆMixins๏ผ‰ๅ’Œๅ‡ฝๆ•ฐ็ญ‰็ผ–็จ‹็‰นๆ€ง๏ผŒ่ฎฉ CSS ๆ›ดๅ…ท็ป“ๆž„ๅŒ–ใ€ๅฏ่ฏปๆ€งๅ’Œๅฏ็ปดๆŠคๆ€งใ€‚ๅฎƒๅ…่ฎธๅผ€ๅ‘่€…็”จ็‰นๆฎŠ่ฏญๆณ•็ผ–ๅ†™ๆ ทๅผ๏ผŒ็„ถๅŽ็ผ–่ฏ‘ๆˆๆต่งˆๅ™จๅฏ่ฏป็š„ๆ™ฎ้€š CSS ๆ–‡ไปถใ€‚ ๅฎƒไนŸๆ˜ฏๆœ€ๆ—ฉไนŸๆ˜ฏๆœ€ๅŸบ็ก€็š„ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆ๏ผŒๆ ธๅฟƒๆ€ๆƒณๆ˜ฏ้€š่ฟ‡ๆ‰ฉๅฑ•ๅŽŸ็”Ÿ CSS ็š„่ฏญๆณ•๏ผŒ่ต‹ไบˆๅ…ถโ€œ็ผ–็จ‹โ€่ƒฝๅŠ›ใ€‚

็ปดๅบฆ่ฏดๆ˜Ž
ๆ ธๅฟƒๆ€ๆƒณๅขžๅผบ็‰ˆ CSS ไฝฟ็”จๅ˜้‡็ปŸไธ€็ฎก็†่ฎพ่ฎกไปค็‰Œ๏ผˆDesign Tokens๏ผ‰๏ผŒ็”จๅตŒๅฅ—ๅ‡ๅฐ‘้‡ๅค้€‰ๆ‹ฉๅ™จใ€‚
ไปฃ่กจๆŠ€ๆœฏSass (SCSS), Less, Stylus
ๆ ธๅฟƒ็‰น็‚นๆไพ›ไบ†ๅ˜้‡๏ผˆVariables๏ผ‰ใ€ๅตŒๅฅ—๏ผˆNesting๏ผ‰ใ€ๆททๅˆ๏ผˆMixins๏ผ‰ใ€็ปงๆ‰ฟใ€ๅ‡ฝๆ•ฐ็ญ‰ๅŠŸ่ƒฝใ€‚
้€‚็”จๅœบๆ™ฏๅ‡ ไนŽๆ‰€ๆœ‰้กน็›ฎใ€‚็Žฐ้˜ถๆฎตๅฎƒ้€šๅธธไธไฝœไธบ็‹ฌ็ซ‹็š„่งฃๅ†ณๆ–นๆกˆ๏ผŒ่€Œๆ˜ฏไธŽๅ…ถไป–ๆ–นๆกˆ๏ผˆๅฆ‚ CSS Modules๏ผ‰็ป“ๅˆไฝฟ็”จใ€‚
ๅฑ€้™ๆ€ง็ผ–่ฏ‘ๅŽ็š„ไบง็‰ฉไพ็„ถๆ˜ฏๆ™ฎ้€š CSS๏ผŒๆ— ๆณ•ไปŽๆ นๆœฌไธŠ่งฃๅ†ณๅ…จๅฑ€ๅ‘ฝๅๅ†ฒ็ช็š„้—ฎ้ข˜๏ผˆ้€šๅธธ้œ€่ฆ้…ๅˆ BEM ๅ‘ฝๅ่ง„่Œƒๆฅ็ผ“่งฃ๏ผ‰

ไปฅ SCSS ไธบไพ‹๏ผŒ็คบๆ„ๅฆ‚ไธ‹๏ผš

scss
/* Button.scss */
 
 /* 1. ๅฎšไน‰ๅ˜้‡ */
 $primary-color: #3b82f6;
diff --git "a/assets/01.\345\205\250\346\240\210_40.\345\211\215\347\253\257\345\267\245\347\250\213_02.CSS\345\267\245\347\250\213\345\214\226.md.B6Q9ssdl.lean.js" "b/assets/01.\345\205\250\346\240\210_40.\345\211\215\347\253\257\345\267\245\347\250\213_02.CSS\345\267\245\347\250\213\345\214\226.md.DUPhvCof.lean.js"
similarity index 95%
rename from "assets/01.\345\205\250\346\240\210_40.\345\211\215\347\253\257\345\267\245\347\250\213_02.CSS\345\267\245\347\250\213\345\214\226.md.B6Q9ssdl.lean.js"
rename to "assets/01.\345\205\250\346\240\210_40.\345\211\215\347\253\257\345\267\245\347\250\213_02.CSS\345\267\245\347\250\213\345\214\226.md.DUPhvCof.lean.js"
index bbf8de2e..b6b3af49 100644
--- "a/assets/01.\345\205\250\346\240\210_40.\345\211\215\347\253\257\345\267\245\347\250\213_02.CSS\345\267\245\347\250\213\345\214\226.md.B6Q9ssdl.lean.js"
+++ "b/assets/01.\345\205\250\346\240\210_40.\345\211\215\347\253\257\345\267\245\347\250\213_02.CSS\345\267\245\347\250\213\345\214\226.md.DUPhvCof.lean.js"
@@ -1 +1 @@
-import{_ as i,g as n,h as a,U as l}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const g=JSON.parse('{"title":"ไปŽๅŽŸๅญๅŒ–ๅˆฐๅ˜ไฝ“้ฉฑๅŠจ๏ผš็Žฐไปฃ CSS ๅทฅ็จ‹ๅŒ–็š„ๆžถๆž„ๆผ”่ฟ›ไธŽๆททๅˆๅฎž่ทตๆŒ‡ๅ—","description":"ๆœฌๆ–‡็ณป็ปŸๅ‰–ๆžไธปๆต CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆ็š„ๅบ•ๅฑ‚้€ป่พ‘๏ผŒๆๅ‡บโ€œๆ ทๅผ่ต„ไบง ROIโ€่ฏ„ไผฐๆจกๅž‹๏ผŒๅนถ้’ˆๅฏน Vue/React ็”Ÿๆ€็ป™ๅ‡บไบ†้ขๅ‘ AI ๆ—ถไปฃ็š„ไผไธš็บงๆททๅˆๆžถๆž„้€‰ๅž‹ๅปบ่ฎฎใ€‚","frontmatter":{"date":"2026-03-10T22:05:50.000Z","title":"ไปŽๅŽŸๅญๅŒ–ๅˆฐๅ˜ไฝ“้ฉฑๅŠจ๏ผš็Žฐไปฃ CSS ๅทฅ็จ‹ๅŒ–็š„ๆžถๆž„ๆผ”่ฟ›ไธŽๆททๅˆๅฎž่ทตๆŒ‡ๅ—","description":"ๆœฌๆ–‡็ณป็ปŸๅ‰–ๆžไธปๆต CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆ็š„ๅบ•ๅฑ‚้€ป่พ‘๏ผŒๆๅ‡บโ€œๆ ทๅผ่ต„ไบง ROIโ€่ฏ„ไผฐๆจกๅž‹๏ผŒๅนถ้’ˆๅฏน Vue/React ็”Ÿๆ€็ป™ๅ‡บไบ†้ขๅ‘ AI ๆ—ถไปฃ็š„ไผไธš็บงๆททๅˆๆžถๆž„้€‰ๅž‹ๅปบ่ฎฎใ€‚","permalink":"/full-stack/css-engineering","coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png","top":true,"categories":["ๅ…จๆ ˆ"],"tags":["ๅ…จๆ ˆ","CSS","ๅทฅ็จ‹ๅŒ–","tailwindcss"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/02.CSSๅทฅ็จ‹ๅŒ–.md","filePath":"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/02.CSSๅทฅ็จ‹ๅŒ–.md"}'),t={name:"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/02.CSSๅทฅ็จ‹ๅŒ–.md"};function p(e,s,h,r,k,d){return a(),n("div",null,[...s[0]||(s[0]=[l("",80)])])}const c=i(t,[["render",p]]);export{g as __pageData,c as default};
+import{_ as i,g as n,h as a,U as l}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const g=JSON.parse('{"title":"ไปŽๅŽŸๅญๅŒ–ๅˆฐๅ˜ไฝ“้ฉฑๅŠจ๏ผš็Žฐไปฃ CSS ๅทฅ็จ‹ๅŒ–็š„ๆžถๆž„ๆผ”่ฟ›ไธŽๆททๅˆๅฎž่ทตๆŒ‡ๅ—","description":"ๆœฌๆ–‡็ณป็ปŸๅ‰–ๆžไธปๆต CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆ็š„ๅบ•ๅฑ‚้€ป่พ‘๏ผŒๆๅ‡บโ€œๆ ทๅผ่ต„ไบง ROIโ€่ฏ„ไผฐๆจกๅž‹๏ผŒๅนถ้’ˆๅฏน Vue/React ็”Ÿๆ€็ป™ๅ‡บไบ†้ขๅ‘ AI ๆ—ถไปฃ็š„ไผไธš็บงๆททๅˆๆžถๆž„้€‰ๅž‹ๅปบ่ฎฎใ€‚","frontmatter":{"date":"2026-03-10T22:05:50.000Z","title":"ไปŽๅŽŸๅญๅŒ–ๅˆฐๅ˜ไฝ“้ฉฑๅŠจ๏ผš็Žฐไปฃ CSS ๅทฅ็จ‹ๅŒ–็š„ๆžถๆž„ๆผ”่ฟ›ไธŽๆททๅˆๅฎž่ทตๆŒ‡ๅ—","description":"ๆœฌๆ–‡็ณป็ปŸๅ‰–ๆžไธปๆต CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆ็š„ๅบ•ๅฑ‚้€ป่พ‘๏ผŒๆๅ‡บโ€œๆ ทๅผ่ต„ไบง ROIโ€่ฏ„ไผฐๆจกๅž‹๏ผŒๅนถ้’ˆๅฏน Vue/React ็”Ÿๆ€็ป™ๅ‡บไบ†้ขๅ‘ AI ๆ—ถไปฃ็š„ไผไธš็บงๆททๅˆๆžถๆž„้€‰ๅž‹ๅปบ่ฎฎใ€‚","permalink":"/full-stack/css-engineering","coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png","top":true,"categories":["ๅ…จๆ ˆ"],"tags":["ๅ…จๆ ˆ","CSS","ๅทฅ็จ‹ๅŒ–","tailwindcss"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/02.CSSๅทฅ็จ‹ๅŒ–.md","filePath":"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/02.CSSๅทฅ็จ‹ๅŒ–.md"}'),t={name:"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/02.CSSๅทฅ็จ‹ๅŒ–.md"};function p(e,s,h,r,k,d){return a(),n("div",null,[...s[0]||(s[0]=[l("",80)])])}const c=i(t,[["render",p]]);export{g as __pageData,c as default};
diff --git "a/assets/01.\345\205\250\346\240\210_40.\345\211\215\347\253\257\345\267\245\347\250\213_03.JAMStack \346\242\263\347\220\206\344\270\216\345\256\236\350\267\265\346\214\207\345\215\227.md.BHFPzWx_.js" "b/assets/01.\345\205\250\346\240\210_40.\345\211\215\347\253\257\345\267\245\347\250\213_03.JAMStack \346\242\263\347\220\206\344\270\216\345\256\236\350\267\265\346\214\207\345\215\227.md.CdkgDOAk.js"
similarity index 99%
rename from "assets/01.\345\205\250\346\240\210_40.\345\211\215\347\253\257\345\267\245\347\250\213_03.JAMStack \346\242\263\347\220\206\344\270\216\345\256\236\350\267\265\346\214\207\345\215\227.md.BHFPzWx_.js"
rename to "assets/01.\345\205\250\346\240\210_40.\345\211\215\347\253\257\345\267\245\347\250\213_03.JAMStack \346\242\263\347\220\206\344\270\216\345\256\236\350\267\265\346\214\207\345\215\227.md.CdkgDOAk.js"
index 118bad02..9b05b72d 100644
--- "a/assets/01.\345\205\250\346\240\210_40.\345\211\215\347\253\257\345\267\245\347\250\213_03.JAMStack \346\242\263\347\220\206\344\270\216\345\256\236\350\267\265\346\214\207\345\215\227.md.BHFPzWx_.js"	
+++ "b/assets/01.\345\205\250\346\240\210_40.\345\211\215\347\253\257\345\267\245\347\250\213_03.JAMStack \346\242\263\347\220\206\344\270\216\345\256\236\350\267\265\346\214\207\345\215\227.md.CdkgDOAk.js"	
@@ -1,4 +1,4 @@
-import{_ as i,g as a,h as n,U as l}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const g=JSON.parse('{"title":"JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—","description":"ไปŽๆ ธๅฟƒๆฆ‚ๅฟตใ€ๅทฅๅ…ท้“พ้€‰ๅž‹๏ผˆNext.js/Vercel/Supabase/Contentful๏ผ‰ๅˆฐไปŽ 0 ๆญๅปบๅšๅฎข็š„ๅฎŒๆ•ดๅฎž่ทต๏ผŒ่ฆ†็›– JAMStack ้€‚็”จไธŽไธ้€‚็”จๅœบๆ™ฏ๏ผŒๅธฎๅŠฉๅˆคๆ–ญไฝ•ๆ—ถ้€‰็”จ่ฏฅๆžถๆž„ใ€‚","frontmatter":{"date":"2025-11-14T22:33:39.000Z","title":"JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—","aliases":["้™ๆ€็ซ™็‚น็”Ÿๆˆๅ™จ","SSG"],"tldr":"้ข„ๆธฒๆŸ“้™ๆ€้กต้ข + ๅŠจๆ€ API๏ผŒCDN ๅˆ†ๅ‘ๅ…จ็ƒ๏ผŒๆ›ฟไปฃไผ ็ปŸๅŠจๆ€็ฝ‘็ซ™็š„ๅผ€ๅ‘้ƒจ็ฝฒ่Œƒๅผ","description":"ไปŽๆ ธๅฟƒๆฆ‚ๅฟตใ€ๅทฅๅ…ท้“พ้€‰ๅž‹๏ผˆNext.js/Vercel/Supabase/Contentful๏ผ‰ๅˆฐไปŽ 0 ๆญๅปบๅšๅฎข็š„ๅฎŒๆ•ดๅฎž่ทต๏ผŒ่ฆ†็›– JAMStack ้€‚็”จไธŽไธ้€‚็”จๅœบๆ™ฏ๏ผŒๅธฎๅŠฉๅˆคๆ–ญไฝ•ๆ—ถ้€‰็”จ่ฏฅๆžถๆž„ใ€‚","permalink":"/fullstack/jamstack","tags":["tutorial","jamstack","frontend-architecture","next.js","static-site-generator"],"categories":["ๅ…จๆ ˆ","ๅ‰็ซฏๅทฅ็จ‹"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—.md","filePath":"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—.md"}'),t={name:"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—.md"};function p(h,s,k,e,r,E){return n(),a("div",null,[...s[0]||(s[0]=[l(`

JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ— โ€‹

ๆ‘˜่ฆๆ€ป็ป“๏ผšJAMStack ๆ˜ฏไธ€็งไปฅ"้ข„ๆž„ๅปบ้™ๆ€่ต„ไบง + ๅฎขๆˆท็ซฏๅŠจๆ€ไบคไบ’ + API ๆ•ฐๆฎ้›†ๆˆ"ไธบๆ ธๅฟƒ็š„ web ๅผ€ๅ‘่Œƒๅผ๏ผŒๅ็งฐๆบ่‡ช JavaScriptใ€APIsใ€Markup ไธ‰ไธชๆ ธๅฟƒๆŠ€ๆœฏ็ผฉๅ†™ใ€‚

ๅ…ถๆ ธๅฟƒๆœบๅˆถๆ˜ฏๅœจๆž„ๅปบๆ—ถๅฐ†้กต้ข้ข„ๆธฒๆŸ“ไธบ้™ๆ€ HTML/CSS/JS๏ผŒ้ƒจ็ฝฒ่‡ณ CDN ไพ›็”จๆˆทๅฐฑ่ฟ‘ๅŠ ่ฝฝ๏ผŒไป…ๅœจ้œ€่ฆๅŠจๆ€ๆ•ฐๆฎๆ—ถ้€š่ฟ‡ JavaScript ่ฐƒ็”จ API ่Žทๅ–ใ€‚็›ธ่พƒไบŽไผ ็ปŸๅŠจๆ€็ฝ‘็ซ™๏ผŒJAMStack ๅœจๆ€ง่ƒฝใ€ๅฏ้ ๆ€งใ€ๆ‰ฉๅฑ•ๆ€งใ€ๅฎ‰ๅ…จๆ€งๅŠ่ฟ็ปดๆˆๆœฌไธŠๅ…ทๆœ‰ๆ˜พ่‘—ไผ˜ๅŠฟใ€‚

ๆœฌๆ–‡ๆขณ็†ไบ†ไธปๆตๆž„ๅปบๅทฅๅ…ท๏ผˆGatsbyใ€Next.jsใ€Nuxt.jsใ€11ty๏ผ‰ใ€้™ๆ€ๆ‰˜็ฎกๅนณๅฐ๏ผˆVercelใ€Netlifyใ€Cloudflare Pages๏ผ‰ใ€API/BaaS ๆœๅŠก๏ผˆSupabaseใ€Firebaseใ€Auth0๏ผ‰ๅŠๆ— ๅคด CMS๏ผˆContentfulใ€Sanityใ€Strapi๏ผ‰็š„้€‰ๅž‹็ญ–็•ฅ๏ผŒๅนถ้€š่ฟ‡ Next.js + Vercel + Supabase + Contentful ็š„ๅฎžๆˆ˜ๆกˆไพ‹๏ผŒๅฎŒๆ•ดๆผ”็คบไบ†ไปŽ้กน็›ฎๅˆๅง‹ๅŒ–ใ€ๅ†…ๅฎน้…็ฝฎใ€SSG ้ข„ๆธฒๆŸ“ใ€ๅŠจๆ€่ฏ„่ฎบ้›†ๆˆๅˆฐ่‡ชๅŠจๅŒ–้ƒจ็ฝฒ็š„ๅ…จๆต็จ‹ใ€‚

JAMStack ๆ˜ฏ่ฟ‘ๅ‡ ๅนดๅ‰็ซฏ้ข†ๅŸŸๅค‡ๅ—ๅ…ณๆณจ็š„ๆžถๆž„็†ๅฟต๏ผŒๅฎƒๅนถ้žๅ•ไธ€ๆŠ€ๆœฏ๏ผŒ่€Œๆ˜ฏไธ€ๅฅ—ไปฅโ€œ้ซ˜ๆ€ง่ƒฝใ€้ซ˜ๅฏ้ ใ€ๆ˜“ๆ‰ฉๅฑ•โ€ไธบๆ ธๅฟƒ็š„ๅผ€ๅ‘่Œƒๅผใ€‚ๅ…ถๅ็งฐๆบไบŽไธ‰ไธชๆ ธๅฟƒๆŠ€ๆœฏ็š„็ผฉๅ†™๏ผšJavaScript๏ผˆๅฎขๆˆท็ซฏไบคไบ’้€ป่พ‘๏ผ‰ใ€APIs๏ผˆ้€š่ฟ‡็ฌฌไธ‰ๆ–น/่‡ชๅปบๆŽฅๅฃ่Žทๅ–ๆ•ฐๆฎ๏ผ‰ใ€Markup๏ผˆ้ข„ๆธฒๆŸ“็š„้™ๆ€ๆ ‡่ฎฐ๏ผŒๅฆ‚ HTML๏ผ‰ใ€‚ๆœฌ่ดจๆ˜ฏโ€œ้ข„ๆธฒๆŸ“้™ๆ€้กต้ข + ๅฎขๆˆท็ซฏๅŠจๆ€ไบคไบ’ + ๆŽฅๅฃๆ•ฐๆฎ้›†ๆˆโ€็š„ๆžถๆž„ๆจกๅผ๏ผŒๅฝปๅบ•ๆ”นๅ˜ไบ†ไผ ็ปŸๅŠจๆ€็ฝ‘็ซ™็š„้ƒจ็ฝฒไธŽ่ฟ่กŒๆ–นๅผใ€‚

1. JAMStack ๆ ธๅฟƒๆฆ‚ๅฟตไธŽๆ ธๅฟƒ็‰นๆ€ง โ€‹

1.1 ๆ ธๅฟƒๅฎšไน‰ โ€‹

JAMStack ็š„ๆ ธๅฟƒๆ˜ฏโ€œ้ข„ๆž„ๅปบ้™ๆ€่ต„ไบงโ€โ€”โ€”็ฝ‘็ซ™้ƒจ็ฝฒๅ‰๏ผŒๆ‰€ๆœ‰้กต้ขๅทฒ้€š่ฟ‡ๆž„ๅปบๅทฅๅ…ท๏ผˆๅฆ‚ Gatsbyใ€Next.js๏ผ‰ๆธฒๆŸ“ไธบ้™ๆ€ HTMLใ€CSSใ€JS ๆ–‡ไปถ๏ผŒ้ƒจ็ฝฒๆ—ถไป…้œ€ๅฐ†่ฟ™ไบ›้™ๆ€ๆ–‡ไปถๆ‰˜็ฎกๅˆฐ CDN ๅณๅฏใ€‚็”จๆˆท่ฎฟ้—ฎๆ—ถ๏ผŒ็›ดๆŽฅไปŽ CDN ๅŠ ่ฝฝ้™ๆ€่ต„ๆบ๏ผŒๆ— ้œ€ๅŽ็ซฏๆœๅŠกๅ™จๅŠจๆ€็”Ÿๆˆ้กต้ข๏ผŒไป…ๅœจ้œ€่ฆๆ—ถ้€š่ฟ‡ API ่ฐƒ็”จ่Žทๅ–ๅŠจๆ€ๆ•ฐๆฎ๏ผˆๅฆ‚็”จๆˆทไฟกๆฏใ€ๅฎžๆ—ถๆ•ฐๆฎ๏ผ‰ใ€‚

1.2 ๆ ธๅฟƒ็‰นๆ€ง๏ผˆไธŽไผ ็ปŸๅŠจๆ€็ฝ‘็ซ™ๅฏนๆฏ”๏ผ‰ โ€‹

็‰นๆ€งJAMStackไผ ็ปŸๅŠจๆ€็ฝ‘็ซ™๏ผˆๅฆ‚ PHP/Java ๅŽ็ซฏๆธฒๆŸ“๏ผ‰
้กต้ข็”Ÿๆˆๆ—ถๆœบๆž„ๅปบๆ—ถ้ข„ๆธฒๆŸ“๏ผˆ้ƒจ็ฝฒๅ‰ๅฎŒๆˆ๏ผ‰่ฏทๆฑ‚ๆ—ถๅŠจๆ€็”Ÿๆˆ๏ผˆ็”จๆˆท่ฎฟ้—ฎๆ—ถๅŽ็ซฏ่ฎก็ฎ—๏ผ‰
ๆœๅŠกๅ™จไพ่ต–ๆ— ๏ผˆไป…้œ€ CDN ๆ‰˜็ฎก้™ๆ€่ต„ๆบ๏ผ‰ๅผบไพ่ต–ๅŽ็ซฏๆœๅŠกๅ™จ๏ผˆ้œ€่ฟ่กŒๅบ”็”จๆœๅŠก๏ผ‰
ๆ€ง่ƒฝๆž้ซ˜๏ผˆCDN ๅ…จ็ƒๅˆ†ๅ‘๏ผŒๅฐฑ่ฟ‘ๅŠ ่ฝฝ๏ผ‰ไธญ็ญ‰๏ผˆๅ—ๆœๅŠกๅ™จๆ€ง่ƒฝใ€็ฝ‘็ปœๅปถ่ฟŸๅฝฑๅ“๏ผ‰
ๅฏ้ ๆ€งๆž้ซ˜๏ผˆ้™ๆ€่ต„ๆบๆ— ๅ•็‚นๆ•…้šœ๏ผ‰ไธญ็ญ‰๏ผˆไพ่ต–ๅŽ็ซฏๆœๅŠกๅ™จ็จณๅฎšๆ€ง๏ผ‰
ๆ‰ฉๅฑ•ๆ€งๅคฉ็„ถๆ”ฏๆŒ๏ผˆCDN ๅผนๆ€งๆ‰ฉๅฎน๏ผ‰้œ€้…็ฝฎๆœๅŠกๅ™จ้›†็พคใ€่ดŸ่ฝฝๅ‡่กก๏ผŒๆˆๆœฌ้ซ˜
ๅฎ‰ๅ…จๆ€ง้ซ˜๏ผˆๆ— ๆœๅŠกๅ™จ็ซฏไปฃ็ ๏ผŒๆ”ปๅ‡ป้ขๆžๅฐ๏ผ‰่พƒไฝŽ๏ผˆ้œ€้˜ฒๆŠค SQL ๆณจๅ…ฅใ€XSS ็ญ‰ๆ”ปๅ‡ป๏ผ‰
ๅผ€ๅ‘/้ƒจ็ฝฒๆˆๆœฌไฝŽ๏ผˆ้™ๆ€ๆ‰˜็ฎกๅ…่ดน/ไฝŽๆˆๆœฌ๏ผŒๆ— ้œ€่ฟ็ปดๆœๅŠกๅ™จ๏ผ‰้ซ˜๏ผˆ้œ€ๆœๅŠกๅ™จ่ฟ็ปดใ€ๆ‰ฉๅฎนใ€ๅฎ‰ๅ…จ้˜ฒๆŠค๏ผ‰

1.3 ๅ…ณ้”ฎ่ฏฏๅŒบๆพ„ๆธ… โ€‹

  • โŒ ่ฏฏๅŒบ1๏ผšJAMStack = ็บฏ้™ๆ€็ฝ‘็ซ™๏ผˆๆ— ๅŠจๆ€ไบคไบ’๏ผ‰

    โœ… ๆญฃ่งฃ๏ผšJAMStack ๆ”ฏๆŒๅŠจๆ€ไบคไบ’๏ผŒๅชๆ˜ฏโ€œ้กต้ข้ชจๆžถโ€้ข„ๆธฒๆŸ“ไธบ้™ๆ€๏ผŒๅŠจๆ€ๆ•ฐๆฎ้€š่ฟ‡ JavaScript ่ฐƒ็”จ API ๅฎž็Žฐ๏ผˆๅฆ‚็™ปๅฝ•ใ€่ฏ„่ฎบใ€ๅฎžๆ—ถๆ•ฐๆฎๅฑ•็คบ๏ผ‰ใ€‚

  • โŒ ่ฏฏๅŒบ2๏ผšJAMStack ๅช่ƒฝๅšๅšๅฎข/ๆ–‡ๆกฃ็ฑป็ฝ‘็ซ™

    โœ… ๆญฃ่งฃ๏ผšๅฏ่ฆ†็›–็ปๅคงๅคšๆ•ฐๅœบๆ™ฏ๏ผŒๅŒ…ๆ‹ฌ็”ตๅ•†็ฝ‘็ซ™ใ€็ฎก็†ๅŽๅฐใ€SaaS ๅบ”็”จ๏ผˆๅฆ‚ Netlifyใ€Vercel ๆœฌ่บซๅฐฑๆ˜ฏๅŸบไบŽ JAMStack ๆž„ๅปบ็š„๏ผ‰ใ€‚

  • โŒ ่ฏฏๅŒบ3๏ผšJAMStack ไธ้œ€่ฆๅŽ็ซฏ

    โœ… ๆญฃ่งฃ๏ผš้œ€่ฆๅŽ็ซฏ๏ผŒไฝ†ๅŽ็ซฏไป…ๆไพ› API ๆŽฅๅฃ๏ผˆๆ— ้กต้ขๆธฒๆŸ“้€ป่พ‘๏ผ‰๏ผŒๅฏไฝฟ็”จ็ฌฌไธ‰ๆ–น BaaS ๆœๅŠก๏ผˆๅฆ‚ Firebaseใ€Supabase๏ผ‰ๆ›ฟไปฃ่‡ชๅปบๅŽ็ซฏ๏ผŒ้™ไฝŽๅผ€ๅ‘ๆˆๆœฌใ€‚

2. JAMStack ๆ ธๅฟƒๆŠ€ๆœฏๆ ˆ๏ผˆๅทฅๅ…ท้“พ้€‰ๅž‹๏ผ‰ โ€‹

JAMStack ็š„ๅฎž็Žฐไพ่ต–โ€œๆž„ๅปบๅทฅๅ…ท + ้™ๆ€ๆ‰˜็ฎก + API/BaaS + ๅฏ้€‰็š„ๆ— ๅคด CMSโ€๏ผŒไปฅไธ‹ๆ˜ฏไธปๆตๅทฅๅ…ท้€‰ๅž‹ๆŽจ่๏ผš

2.1 ๆ ธๅฟƒๆž„ๅปบๅทฅๅ…ท๏ผˆ้™ๆ€็ซ™็‚น็”Ÿๆˆๅ™จ SSG๏ผ‰ โ€‹

่ดŸ่ดฃๅฐ†ๆบ็ ๏ผˆMarkdownใ€็ป„ไปถใ€ๆ•ฐๆฎ๏ผ‰้ข„ๆธฒๆŸ“ไธบ้™ๆ€ HTML๏ผŒๆ˜ฏ JAMStack ็š„ๆ ธๅฟƒๅทฅๅ…ท๏ผš

ๅทฅๅ…ทๆ ธๅฟƒไผ˜ๅŠฟ้€‚็”จๅœบๆ™ฏๆŠ€ๆœฏๆ ˆไพ่ต–
Next.jsๆ”ฏๆŒ SSG/SSR/ISR ๆททๅˆๆธฒๆŸ“๏ผŒReact ็”Ÿๆ€๏ผŒ็ตๆดปๅบฆ้ซ˜ๅคๆ‚ๅบ”็”จ๏ผˆ็”ตๅ•†ใ€SaaSใ€็ฎก็†ๅŽๅฐ๏ผ‰React
GatsbyGraphQL ๆ•ฐๆฎๅฑ‚๏ผŒๆ’ไปถ็”Ÿๆ€ไธฐๅฏŒ๏ผŒไผ˜ๅŒ–ๆž่‡ดๅšๅฎขใ€ๆ–‡ๆกฃใ€่ฅ้”€็ฝ‘็ซ™React
Nuxt.jsVue ็”Ÿๆ€๏ผŒๆ”ฏๆŒ SSG/SSR๏ผŒๆ˜“็”จๆ€งๅผบๅ…จๅœบๆ™ฏ Vue ้กน็›ฎVue
11ty๏ผˆEleventy๏ผ‰่ฝป้‡ๆ— ไพ่ต–๏ผŒๅŽŸ็”Ÿๆ”ฏๆŒ Markdown๏ผŒ้…็ฝฎ็ฎ€ๅ•ๅฐๅž‹ๅšๅฎขใ€้™ๆ€ๆ–‡ๆกฃๅŽŸ็”Ÿ JS/ๆจกๆฟๅผ•ๆ“Ž

2.2 ้™ๆ€่ต„ๆบๆ‰˜็ฎก๏ผˆ้ƒจ็ฝฒๅนณๅฐ๏ผ‰ โ€‹

ๆ— ้œ€่‡ชๅปบๆœๅŠกๅ™จ๏ผŒ็›ดๆŽฅๆ‰˜็ฎก้ข„ๆž„ๅปบ็š„้™ๆ€ๆ–‡ไปถ๏ผŒๆไพ›ๅ…จ็ƒ CDN ๅˆ†ๅ‘๏ผš

  • ไธปๆตๅนณๅฐ๏ผšVercel๏ผˆNext.js ๅฎ˜ๆ–นๆŽจ่๏ผŒๅ…่ดนๅ…ฅ้—จ๏ผŒไธ€้”ฎ้ƒจ็ฝฒ๏ผ‰ใ€Netlify๏ผˆJAMStack ๅ…ˆ้ฉฑ๏ผŒๅŠŸ่ƒฝๅ…จ้ข๏ผŒๆ”ฏๆŒ่กจๅ•/ๆ— ๆœๅŠกๅ™จๅ‡ฝๆ•ฐ๏ผ‰ใ€Cloudflare Pages๏ผˆๅ…่ดนใ€CDN ้€Ÿๅบฆๅฟซ๏ผ‰ใ€GitHub Pages๏ผˆ้€‚ๅˆๅฐๅž‹้กน็›ฎ๏ผŒๅ…่ดนๆ— ๅนฟๅ‘Š๏ผ‰ใ€‚
  • ่‡ชๅปบๆ–นๆกˆ๏ผšๅฐ†้™ๆ€ๆ–‡ไปถไธŠไผ ๅˆฐ้˜ฟ้‡Œไบ‘ OSS + CDNใ€่…พ่ฎฏไบ‘ COS + CDN๏ผŒ้€‚ๅˆ้œ€่ฆ็งๆœ‰ๅŒ–้ƒจ็ฝฒ็š„ๅœบๆ™ฏใ€‚

2.3 API/BaaS ๆœๅŠก๏ผˆๅŽ็ซฏ่ƒฝๅŠ›่กฅๅ……๏ผ‰ โ€‹

JAMStack ๆ— ่‡ชๅปบๅŽ็ซฏ๏ผŒ้œ€้€š่ฟ‡ API ่Žทๅ–ๅŠจๆ€่ƒฝๅŠ›๏ผˆๅฆ‚ๆ•ฐๆฎๅบ“ๆ“ไฝœใ€็”จๆˆท่ฎค่ฏ๏ผ‰๏ผš

  • ็”จๆˆท่ฎค่ฏ๏ผšAuth0ใ€NextAuth.js๏ผˆNext.js ไธ“ๅฑž๏ผ‰ใ€Firebase Authใ€‚
  • ๆ•ฐๆฎๅบ“/ๅญ˜ๅ‚จ๏ผšSupabase๏ผˆๅผ€ๆบ Firebase ๆ›ฟไปฃๆ–นๆกˆ๏ผŒๆ”ฏๆŒ PostgreSQL + ๅญ˜ๅ‚จ + ่ฎค่ฏ๏ผ‰ใ€Firebase Firestoreใ€MongoDB Atlasใ€‚
  • ๆ— ๆœๅŠกๅ™จๅ‡ฝๆ•ฐ๏ผˆServerless Functions๏ผ‰๏ผšVercel Functionsใ€Netlify Functions๏ผˆๆ— ้œ€้ƒจ็ฝฒ็‹ฌ็ซ‹ API ๆœๅŠก๏ผŒๅœจ้™ๆ€้กน็›ฎไธญ็›ดๆŽฅ็ผ–ๅ†™ Node.js ๅ‡ฝๆ•ฐ๏ผŒๅค„็†ๅŽ็ซฏ้€ป่พ‘๏ผ‰ใ€‚
  • ็ฌฌไธ‰ๆ–น API๏ผšๆ”ฏไป˜๏ผˆStripe๏ผ‰ใ€้‚ฎไปถ๏ผˆSendGrid๏ผ‰ใ€ๅœฐๅ›พ๏ผˆ้ซ˜ๅพท/่ฐทๆญŒๅœฐๅ›พ API๏ผ‰็ญ‰ใ€‚

2.4 ๆ— ๅคด CMS๏ผˆๅ†…ๅฎน็ฎก็†๏ผ‰ โ€‹

้€‚ๅˆ้žๆŠ€ๆœฏไบบๅ‘˜็ปดๆŠคๅ†…ๅฎน๏ผˆๅฆ‚ๅšๅฎขๆ–‡็ซ ใ€ไบงๅ“ไฟกๆฏ๏ผ‰๏ผŒๆไพ› API ไพ›ๆž„ๅปบๅทฅๅ…ทๆ‹‰ๅ–ๆ•ฐๆฎ๏ผš

  • ไธปๆต้€‰ๆ‹ฉ๏ผšContentfulใ€Sanityใ€Strapi๏ผˆๅผ€ๆบ๏ผŒๅฏ่‡ชๅปบ๏ผ‰ใ€Ghost๏ผˆไธ“ๆณจๅšๅฎข๏ผ‰ใ€‚
  • ๆ ธๅฟƒไฝœ็”จ๏ผšๅ†…ๅฎนไธŽไปฃ็ ๅˆ†็ฆป๏ผŒ็ผ–่พ‘่€…ๅœจ CMS ไธญไฟฎๆ”นๅ†…ๅฎนๅŽ๏ผŒ่งฆๅ‘ๆž„ๅปบๅทฅๅ…ท้‡ๆ–ฐ้ข„ๆธฒๆŸ“้™ๆ€้กต้ข๏ผˆๆˆ–้€š่ฟ‡ ISR ๅขž้‡ๆ›ดๆ–ฐ๏ผ‰ใ€‚

3. JAMStack ้กน็›ฎๅฎž่ทต๏ผšไปŽ 0 ๅˆฐ 1 ๆญๅปบๅšๅฎข็ฝ‘็ซ™ โ€‹

ไปฅโ€œNext.js + Vercel + Supabase + Contentfulโ€ไธบไพ‹๏ผŒๆญๅปบไธ€ไธชๆ”ฏๆŒๅ†…ๅฎน็ฎก็†ใ€็”จๆˆท่ฏ„่ฎบ็š„ๅšๅฎข็ฝ‘็ซ™๏ผŒๆญฅ้ชคๅฆ‚ไธ‹๏ผš

3.1 ๆŠ€ๆœฏๆ ˆ้€‰ๅž‹ โ€‹

  • ๆž„ๅปบๅทฅๅ…ท๏ผšNext.js๏ผˆๆ”ฏๆŒ SSG ้ข„ๆธฒๆŸ“๏ผŒๆ–นไพฟๅŽ็ปญๆ‰ฉๅฑ•ๅŠจๆ€ๅŠŸ่ƒฝ๏ผ‰ใ€‚
  • ๆ‰˜็ฎกๅนณๅฐ๏ผšVercel๏ผˆไธ€้”ฎ้ƒจ็ฝฒ๏ผŒ่‡ชๅŠจๆž„ๅปบ๏ผŒๅ…จ็ƒ CDN๏ผ‰ใ€‚
  • ๅ†…ๅฎน็ฎก็†๏ผšContentful๏ผˆๅ…่ดน็‰ˆ่ถณๅคŸไธชไบบๅšๅฎขไฝฟ็”จ๏ผŒAPI ๅ‹ๅฅฝ๏ผ‰ใ€‚
  • ๅŠจๆ€ๅŠŸ่ƒฝ๏ผšSupabase๏ผˆๆไพ› PostgreSQL ๆ•ฐๆฎๅบ“๏ผŒๅญ˜ๅ‚จ็”จๆˆท่ฏ„่ฎบ๏ผ›Auth ๅŠŸ่ƒฝๅฎž็Žฐ่ฏ„่ฎบ็™ปๅฝ•๏ผ‰ใ€‚
  • ๆ ทๅผๆ–นๆกˆ๏ผšTailwind CSS๏ผˆๅฟซ้€Ÿๅผ€ๅ‘๏ผŒๅ“ๅบ”ๅผ่ฎพ่ฎก๏ผ‰ใ€‚

3.2 ๅ…ทไฝ“ๅฎžๆ–ฝๆญฅ้ชค โ€‹

ๆญฅ้ชค 1๏ผšๅˆๅง‹ๅŒ– Next.js ้กน็›ฎ๏ผˆSSG ๆจกๅผ๏ผ‰ โ€‹

้ฆ–ๅ…ˆๅˆ›ๅปบ Next.js ้กน็›ฎ๏ผŒๅผ€ๅฏ SSG ้ข„ๆธฒๆŸ“ๆจกๅผ๏ผˆNext.js 13+ ๆŽจ่ App Router๏ผ‰๏ผš

bash
# 1. ๅˆ›ๅปบ้กน็›ฎ
+import{_ as i,g as a,h as n,U as l}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const g=JSON.parse('{"title":"JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—","description":"ไปŽๆ ธๅฟƒๆฆ‚ๅฟตใ€ๅทฅๅ…ท้“พ้€‰ๅž‹๏ผˆNext.js/Vercel/Supabase/Contentful๏ผ‰ๅˆฐไปŽ 0 ๆญๅปบๅšๅฎข็š„ๅฎŒๆ•ดๅฎž่ทต๏ผŒ่ฆ†็›– JAMStack ้€‚็”จไธŽไธ้€‚็”จๅœบๆ™ฏ๏ผŒๅธฎๅŠฉๅˆคๆ–ญไฝ•ๆ—ถ้€‰็”จ่ฏฅๆžถๆž„ใ€‚","frontmatter":{"date":"2025-11-14T22:33:39.000Z","title":"JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—","aliases":["้™ๆ€็ซ™็‚น็”Ÿๆˆๅ™จ","SSG"],"tldr":"้ข„ๆธฒๆŸ“้™ๆ€้กต้ข + ๅŠจๆ€ API๏ผŒCDN ๅˆ†ๅ‘ๅ…จ็ƒ๏ผŒๆ›ฟไปฃไผ ็ปŸๅŠจๆ€็ฝ‘็ซ™็š„ๅผ€ๅ‘้ƒจ็ฝฒ่Œƒๅผ","description":"ไปŽๆ ธๅฟƒๆฆ‚ๅฟตใ€ๅทฅๅ…ท้“พ้€‰ๅž‹๏ผˆNext.js/Vercel/Supabase/Contentful๏ผ‰ๅˆฐไปŽ 0 ๆญๅปบๅšๅฎข็š„ๅฎŒๆ•ดๅฎž่ทต๏ผŒ่ฆ†็›– JAMStack ้€‚็”จไธŽไธ้€‚็”จๅœบๆ™ฏ๏ผŒๅธฎๅŠฉๅˆคๆ–ญไฝ•ๆ—ถ้€‰็”จ่ฏฅๆžถๆž„ใ€‚","permalink":"/fullstack/jamstack","tags":["tutorial","jamstack","frontend-architecture","next.js","static-site-generator"],"categories":["ๅ…จๆ ˆ","ๅ‰็ซฏๅทฅ็จ‹"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—.md","filePath":"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—.md"}'),t={name:"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—.md"};function p(h,s,k,e,r,E){return n(),a("div",null,[...s[0]||(s[0]=[l(`

JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ— โ€‹

ๆ‘˜่ฆๆ€ป็ป“๏ผšJAMStack ๆ˜ฏไธ€็งไปฅ"้ข„ๆž„ๅปบ้™ๆ€่ต„ไบง + ๅฎขๆˆท็ซฏๅŠจๆ€ไบคไบ’ + API ๆ•ฐๆฎ้›†ๆˆ"ไธบๆ ธๅฟƒ็š„ web ๅผ€ๅ‘่Œƒๅผ๏ผŒๅ็งฐๆบ่‡ช JavaScriptใ€APIsใ€Markup ไธ‰ไธชๆ ธๅฟƒๆŠ€ๆœฏ็ผฉๅ†™ใ€‚

ๅ…ถๆ ธๅฟƒๆœบๅˆถๆ˜ฏๅœจๆž„ๅปบๆ—ถๅฐ†้กต้ข้ข„ๆธฒๆŸ“ไธบ้™ๆ€ HTML/CSS/JS๏ผŒ้ƒจ็ฝฒ่‡ณ CDN ไพ›็”จๆˆทๅฐฑ่ฟ‘ๅŠ ่ฝฝ๏ผŒไป…ๅœจ้œ€่ฆๅŠจๆ€ๆ•ฐๆฎๆ—ถ้€š่ฟ‡ JavaScript ่ฐƒ็”จ API ่Žทๅ–ใ€‚็›ธ่พƒไบŽไผ ็ปŸๅŠจๆ€็ฝ‘็ซ™๏ผŒJAMStack ๅœจๆ€ง่ƒฝใ€ๅฏ้ ๆ€งใ€ๆ‰ฉๅฑ•ๆ€งใ€ๅฎ‰ๅ…จๆ€งๅŠ่ฟ็ปดๆˆๆœฌไธŠๅ…ทๆœ‰ๆ˜พ่‘—ไผ˜ๅŠฟใ€‚

ๆœฌๆ–‡ๆขณ็†ไบ†ไธปๆตๆž„ๅปบๅทฅๅ…ท๏ผˆGatsbyใ€Next.jsใ€Nuxt.jsใ€11ty๏ผ‰ใ€้™ๆ€ๆ‰˜็ฎกๅนณๅฐ๏ผˆVercelใ€Netlifyใ€Cloudflare Pages๏ผ‰ใ€API/BaaS ๆœๅŠก๏ผˆSupabaseใ€Firebaseใ€Auth0๏ผ‰ๅŠๆ— ๅคด CMS๏ผˆContentfulใ€Sanityใ€Strapi๏ผ‰็š„้€‰ๅž‹็ญ–็•ฅ๏ผŒๅนถ้€š่ฟ‡ Next.js + Vercel + Supabase + Contentful ็š„ๅฎžๆˆ˜ๆกˆไพ‹๏ผŒๅฎŒๆ•ดๆผ”็คบไบ†ไปŽ้กน็›ฎๅˆๅง‹ๅŒ–ใ€ๅ†…ๅฎน้…็ฝฎใ€SSG ้ข„ๆธฒๆŸ“ใ€ๅŠจๆ€่ฏ„่ฎบ้›†ๆˆๅˆฐ่‡ชๅŠจๅŒ–้ƒจ็ฝฒ็š„ๅ…จๆต็จ‹ใ€‚

JAMStack ๆ˜ฏ่ฟ‘ๅ‡ ๅนดๅ‰็ซฏ้ข†ๅŸŸๅค‡ๅ—ๅ…ณๆณจ็š„ๆžถๆž„็†ๅฟต๏ผŒๅฎƒๅนถ้žๅ•ไธ€ๆŠ€ๆœฏ๏ผŒ่€Œๆ˜ฏไธ€ๅฅ—ไปฅโ€œ้ซ˜ๆ€ง่ƒฝใ€้ซ˜ๅฏ้ ใ€ๆ˜“ๆ‰ฉๅฑ•โ€ไธบๆ ธๅฟƒ็š„ๅผ€ๅ‘่Œƒๅผใ€‚ๅ…ถๅ็งฐๆบไบŽไธ‰ไธชๆ ธๅฟƒๆŠ€ๆœฏ็š„็ผฉๅ†™๏ผšJavaScript๏ผˆๅฎขๆˆท็ซฏไบคไบ’้€ป่พ‘๏ผ‰ใ€APIs๏ผˆ้€š่ฟ‡็ฌฌไธ‰ๆ–น/่‡ชๅปบๆŽฅๅฃ่Žทๅ–ๆ•ฐๆฎ๏ผ‰ใ€Markup๏ผˆ้ข„ๆธฒๆŸ“็š„้™ๆ€ๆ ‡่ฎฐ๏ผŒๅฆ‚ HTML๏ผ‰ใ€‚ๆœฌ่ดจๆ˜ฏโ€œ้ข„ๆธฒๆŸ“้™ๆ€้กต้ข + ๅฎขๆˆท็ซฏๅŠจๆ€ไบคไบ’ + ๆŽฅๅฃๆ•ฐๆฎ้›†ๆˆโ€็š„ๆžถๆž„ๆจกๅผ๏ผŒๅฝปๅบ•ๆ”นๅ˜ไบ†ไผ ็ปŸๅŠจๆ€็ฝ‘็ซ™็š„้ƒจ็ฝฒไธŽ่ฟ่กŒๆ–นๅผใ€‚

1. JAMStack ๆ ธๅฟƒๆฆ‚ๅฟตไธŽๆ ธๅฟƒ็‰นๆ€ง โ€‹

1.1 ๆ ธๅฟƒๅฎšไน‰ โ€‹

JAMStack ็š„ๆ ธๅฟƒๆ˜ฏโ€œ้ข„ๆž„ๅปบ้™ๆ€่ต„ไบงโ€โ€”โ€”็ฝ‘็ซ™้ƒจ็ฝฒๅ‰๏ผŒๆ‰€ๆœ‰้กต้ขๅทฒ้€š่ฟ‡ๆž„ๅปบๅทฅๅ…ท๏ผˆๅฆ‚ Gatsbyใ€Next.js๏ผ‰ๆธฒๆŸ“ไธบ้™ๆ€ HTMLใ€CSSใ€JS ๆ–‡ไปถ๏ผŒ้ƒจ็ฝฒๆ—ถไป…้œ€ๅฐ†่ฟ™ไบ›้™ๆ€ๆ–‡ไปถๆ‰˜็ฎกๅˆฐ CDN ๅณๅฏใ€‚็”จๆˆท่ฎฟ้—ฎๆ—ถ๏ผŒ็›ดๆŽฅไปŽ CDN ๅŠ ่ฝฝ้™ๆ€่ต„ๆบ๏ผŒๆ— ้œ€ๅŽ็ซฏๆœๅŠกๅ™จๅŠจๆ€็”Ÿๆˆ้กต้ข๏ผŒไป…ๅœจ้œ€่ฆๆ—ถ้€š่ฟ‡ API ่ฐƒ็”จ่Žทๅ–ๅŠจๆ€ๆ•ฐๆฎ๏ผˆๅฆ‚็”จๆˆทไฟกๆฏใ€ๅฎžๆ—ถๆ•ฐๆฎ๏ผ‰ใ€‚

1.2 ๆ ธๅฟƒ็‰นๆ€ง๏ผˆไธŽไผ ็ปŸๅŠจๆ€็ฝ‘็ซ™ๅฏนๆฏ”๏ผ‰ โ€‹

็‰นๆ€งJAMStackไผ ็ปŸๅŠจๆ€็ฝ‘็ซ™๏ผˆๅฆ‚ PHP/Java ๅŽ็ซฏๆธฒๆŸ“๏ผ‰
้กต้ข็”Ÿๆˆๆ—ถๆœบๆž„ๅปบๆ—ถ้ข„ๆธฒๆŸ“๏ผˆ้ƒจ็ฝฒๅ‰ๅฎŒๆˆ๏ผ‰่ฏทๆฑ‚ๆ—ถๅŠจๆ€็”Ÿๆˆ๏ผˆ็”จๆˆท่ฎฟ้—ฎๆ—ถๅŽ็ซฏ่ฎก็ฎ—๏ผ‰
ๆœๅŠกๅ™จไพ่ต–ๆ— ๏ผˆไป…้œ€ CDN ๆ‰˜็ฎก้™ๆ€่ต„ๆบ๏ผ‰ๅผบไพ่ต–ๅŽ็ซฏๆœๅŠกๅ™จ๏ผˆ้œ€่ฟ่กŒๅบ”็”จๆœๅŠก๏ผ‰
ๆ€ง่ƒฝๆž้ซ˜๏ผˆCDN ๅ…จ็ƒๅˆ†ๅ‘๏ผŒๅฐฑ่ฟ‘ๅŠ ่ฝฝ๏ผ‰ไธญ็ญ‰๏ผˆๅ—ๆœๅŠกๅ™จๆ€ง่ƒฝใ€็ฝ‘็ปœๅปถ่ฟŸๅฝฑๅ“๏ผ‰
ๅฏ้ ๆ€งๆž้ซ˜๏ผˆ้™ๆ€่ต„ๆบๆ— ๅ•็‚นๆ•…้šœ๏ผ‰ไธญ็ญ‰๏ผˆไพ่ต–ๅŽ็ซฏๆœๅŠกๅ™จ็จณๅฎšๆ€ง๏ผ‰
ๆ‰ฉๅฑ•ๆ€งๅคฉ็„ถๆ”ฏๆŒ๏ผˆCDN ๅผนๆ€งๆ‰ฉๅฎน๏ผ‰้œ€้…็ฝฎๆœๅŠกๅ™จ้›†็พคใ€่ดŸ่ฝฝๅ‡่กก๏ผŒๆˆๆœฌ้ซ˜
ๅฎ‰ๅ…จๆ€ง้ซ˜๏ผˆๆ— ๆœๅŠกๅ™จ็ซฏไปฃ็ ๏ผŒๆ”ปๅ‡ป้ขๆžๅฐ๏ผ‰่พƒไฝŽ๏ผˆ้œ€้˜ฒๆŠค SQL ๆณจๅ…ฅใ€XSS ็ญ‰ๆ”ปๅ‡ป๏ผ‰
ๅผ€ๅ‘/้ƒจ็ฝฒๆˆๆœฌไฝŽ๏ผˆ้™ๆ€ๆ‰˜็ฎกๅ…่ดน/ไฝŽๆˆๆœฌ๏ผŒๆ— ้œ€่ฟ็ปดๆœๅŠกๅ™จ๏ผ‰้ซ˜๏ผˆ้œ€ๆœๅŠกๅ™จ่ฟ็ปดใ€ๆ‰ฉๅฎนใ€ๅฎ‰ๅ…จ้˜ฒๆŠค๏ผ‰

1.3 ๅ…ณ้”ฎ่ฏฏๅŒบๆพ„ๆธ… โ€‹

  • โŒ ่ฏฏๅŒบ1๏ผšJAMStack = ็บฏ้™ๆ€็ฝ‘็ซ™๏ผˆๆ— ๅŠจๆ€ไบคไบ’๏ผ‰

    โœ… ๆญฃ่งฃ๏ผšJAMStack ๆ”ฏๆŒๅŠจๆ€ไบคไบ’๏ผŒๅชๆ˜ฏโ€œ้กต้ข้ชจๆžถโ€้ข„ๆธฒๆŸ“ไธบ้™ๆ€๏ผŒๅŠจๆ€ๆ•ฐๆฎ้€š่ฟ‡ JavaScript ่ฐƒ็”จ API ๅฎž็Žฐ๏ผˆๅฆ‚็™ปๅฝ•ใ€่ฏ„่ฎบใ€ๅฎžๆ—ถๆ•ฐๆฎๅฑ•็คบ๏ผ‰ใ€‚

  • โŒ ่ฏฏๅŒบ2๏ผšJAMStack ๅช่ƒฝๅšๅšๅฎข/ๆ–‡ๆกฃ็ฑป็ฝ‘็ซ™

    โœ… ๆญฃ่งฃ๏ผšๅฏ่ฆ†็›–็ปๅคงๅคšๆ•ฐๅœบๆ™ฏ๏ผŒๅŒ…ๆ‹ฌ็”ตๅ•†็ฝ‘็ซ™ใ€็ฎก็†ๅŽๅฐใ€SaaS ๅบ”็”จ๏ผˆๅฆ‚ Netlifyใ€Vercel ๆœฌ่บซๅฐฑๆ˜ฏๅŸบไบŽ JAMStack ๆž„ๅปบ็š„๏ผ‰ใ€‚

  • โŒ ่ฏฏๅŒบ3๏ผšJAMStack ไธ้œ€่ฆๅŽ็ซฏ

    โœ… ๆญฃ่งฃ๏ผš้œ€่ฆๅŽ็ซฏ๏ผŒไฝ†ๅŽ็ซฏไป…ๆไพ› API ๆŽฅๅฃ๏ผˆๆ— ้กต้ขๆธฒๆŸ“้€ป่พ‘๏ผ‰๏ผŒๅฏไฝฟ็”จ็ฌฌไธ‰ๆ–น BaaS ๆœๅŠก๏ผˆๅฆ‚ Firebaseใ€Supabase๏ผ‰ๆ›ฟไปฃ่‡ชๅปบๅŽ็ซฏ๏ผŒ้™ไฝŽๅผ€ๅ‘ๆˆๆœฌใ€‚

2. JAMStack ๆ ธๅฟƒๆŠ€ๆœฏๆ ˆ๏ผˆๅทฅๅ…ท้“พ้€‰ๅž‹๏ผ‰ โ€‹

JAMStack ็š„ๅฎž็Žฐไพ่ต–โ€œๆž„ๅปบๅทฅๅ…ท + ้™ๆ€ๆ‰˜็ฎก + API/BaaS + ๅฏ้€‰็š„ๆ— ๅคด CMSโ€๏ผŒไปฅไธ‹ๆ˜ฏไธปๆตๅทฅๅ…ท้€‰ๅž‹ๆŽจ่๏ผš

2.1 ๆ ธๅฟƒๆž„ๅปบๅทฅๅ…ท๏ผˆ้™ๆ€็ซ™็‚น็”Ÿๆˆๅ™จ SSG๏ผ‰ โ€‹

่ดŸ่ดฃๅฐ†ๆบ็ ๏ผˆMarkdownใ€็ป„ไปถใ€ๆ•ฐๆฎ๏ผ‰้ข„ๆธฒๆŸ“ไธบ้™ๆ€ HTML๏ผŒๆ˜ฏ JAMStack ็š„ๆ ธๅฟƒๅทฅๅ…ท๏ผš

ๅทฅๅ…ทๆ ธๅฟƒไผ˜ๅŠฟ้€‚็”จๅœบๆ™ฏๆŠ€ๆœฏๆ ˆไพ่ต–
Next.jsๆ”ฏๆŒ SSG/SSR/ISR ๆททๅˆๆธฒๆŸ“๏ผŒReact ็”Ÿๆ€๏ผŒ็ตๆดปๅบฆ้ซ˜ๅคๆ‚ๅบ”็”จ๏ผˆ็”ตๅ•†ใ€SaaSใ€็ฎก็†ๅŽๅฐ๏ผ‰React
GatsbyGraphQL ๆ•ฐๆฎๅฑ‚๏ผŒๆ’ไปถ็”Ÿๆ€ไธฐๅฏŒ๏ผŒไผ˜ๅŒ–ๆž่‡ดๅšๅฎขใ€ๆ–‡ๆกฃใ€่ฅ้”€็ฝ‘็ซ™React
Nuxt.jsVue ็”Ÿๆ€๏ผŒๆ”ฏๆŒ SSG/SSR๏ผŒๆ˜“็”จๆ€งๅผบๅ…จๅœบๆ™ฏ Vue ้กน็›ฎVue
11ty๏ผˆEleventy๏ผ‰่ฝป้‡ๆ— ไพ่ต–๏ผŒๅŽŸ็”Ÿๆ”ฏๆŒ Markdown๏ผŒ้…็ฝฎ็ฎ€ๅ•ๅฐๅž‹ๅšๅฎขใ€้™ๆ€ๆ–‡ๆกฃๅŽŸ็”Ÿ JS/ๆจกๆฟๅผ•ๆ“Ž

2.2 ้™ๆ€่ต„ๆบๆ‰˜็ฎก๏ผˆ้ƒจ็ฝฒๅนณๅฐ๏ผ‰ โ€‹

ๆ— ้œ€่‡ชๅปบๆœๅŠกๅ™จ๏ผŒ็›ดๆŽฅๆ‰˜็ฎก้ข„ๆž„ๅปบ็š„้™ๆ€ๆ–‡ไปถ๏ผŒๆไพ›ๅ…จ็ƒ CDN ๅˆ†ๅ‘๏ผš

  • ไธปๆตๅนณๅฐ๏ผšVercel๏ผˆNext.js ๅฎ˜ๆ–นๆŽจ่๏ผŒๅ…่ดนๅ…ฅ้—จ๏ผŒไธ€้”ฎ้ƒจ็ฝฒ๏ผ‰ใ€Netlify๏ผˆJAMStack ๅ…ˆ้ฉฑ๏ผŒๅŠŸ่ƒฝๅ…จ้ข๏ผŒๆ”ฏๆŒ่กจๅ•/ๆ— ๆœๅŠกๅ™จๅ‡ฝๆ•ฐ๏ผ‰ใ€Cloudflare Pages๏ผˆๅ…่ดนใ€CDN ้€Ÿๅบฆๅฟซ๏ผ‰ใ€GitHub Pages๏ผˆ้€‚ๅˆๅฐๅž‹้กน็›ฎ๏ผŒๅ…่ดนๆ— ๅนฟๅ‘Š๏ผ‰ใ€‚
  • ่‡ชๅปบๆ–นๆกˆ๏ผšๅฐ†้™ๆ€ๆ–‡ไปถไธŠไผ ๅˆฐ้˜ฟ้‡Œไบ‘ OSS + CDNใ€่…พ่ฎฏไบ‘ COS + CDN๏ผŒ้€‚ๅˆ้œ€่ฆ็งๆœ‰ๅŒ–้ƒจ็ฝฒ็š„ๅœบๆ™ฏใ€‚

2.3 API/BaaS ๆœๅŠก๏ผˆๅŽ็ซฏ่ƒฝๅŠ›่กฅๅ……๏ผ‰ โ€‹

JAMStack ๆ— ่‡ชๅปบๅŽ็ซฏ๏ผŒ้œ€้€š่ฟ‡ API ่Žทๅ–ๅŠจๆ€่ƒฝๅŠ›๏ผˆๅฆ‚ๆ•ฐๆฎๅบ“ๆ“ไฝœใ€็”จๆˆท่ฎค่ฏ๏ผ‰๏ผš

  • ็”จๆˆท่ฎค่ฏ๏ผšAuth0ใ€NextAuth.js๏ผˆNext.js ไธ“ๅฑž๏ผ‰ใ€Firebase Authใ€‚
  • ๆ•ฐๆฎๅบ“/ๅญ˜ๅ‚จ๏ผšSupabase๏ผˆๅผ€ๆบ Firebase ๆ›ฟไปฃๆ–นๆกˆ๏ผŒๆ”ฏๆŒ PostgreSQL + ๅญ˜ๅ‚จ + ่ฎค่ฏ๏ผ‰ใ€Firebase Firestoreใ€MongoDB Atlasใ€‚
  • ๆ— ๆœๅŠกๅ™จๅ‡ฝๆ•ฐ๏ผˆServerless Functions๏ผ‰๏ผšVercel Functionsใ€Netlify Functions๏ผˆๆ— ้œ€้ƒจ็ฝฒ็‹ฌ็ซ‹ API ๆœๅŠก๏ผŒๅœจ้™ๆ€้กน็›ฎไธญ็›ดๆŽฅ็ผ–ๅ†™ Node.js ๅ‡ฝๆ•ฐ๏ผŒๅค„็†ๅŽ็ซฏ้€ป่พ‘๏ผ‰ใ€‚
  • ็ฌฌไธ‰ๆ–น API๏ผšๆ”ฏไป˜๏ผˆStripe๏ผ‰ใ€้‚ฎไปถ๏ผˆSendGrid๏ผ‰ใ€ๅœฐๅ›พ๏ผˆ้ซ˜ๅพท/่ฐทๆญŒๅœฐๅ›พ API๏ผ‰็ญ‰ใ€‚

2.4 ๆ— ๅคด CMS๏ผˆๅ†…ๅฎน็ฎก็†๏ผ‰ โ€‹

้€‚ๅˆ้žๆŠ€ๆœฏไบบๅ‘˜็ปดๆŠคๅ†…ๅฎน๏ผˆๅฆ‚ๅšๅฎขๆ–‡็ซ ใ€ไบงๅ“ไฟกๆฏ๏ผ‰๏ผŒๆไพ› API ไพ›ๆž„ๅปบๅทฅๅ…ทๆ‹‰ๅ–ๆ•ฐๆฎ๏ผš

  • ไธปๆต้€‰ๆ‹ฉ๏ผšContentfulใ€Sanityใ€Strapi๏ผˆๅผ€ๆบ๏ผŒๅฏ่‡ชๅปบ๏ผ‰ใ€Ghost๏ผˆไธ“ๆณจๅšๅฎข๏ผ‰ใ€‚
  • ๆ ธๅฟƒไฝœ็”จ๏ผšๅ†…ๅฎนไธŽไปฃ็ ๅˆ†็ฆป๏ผŒ็ผ–่พ‘่€…ๅœจ CMS ไธญไฟฎๆ”นๅ†…ๅฎนๅŽ๏ผŒ่งฆๅ‘ๆž„ๅปบๅทฅๅ…ท้‡ๆ–ฐ้ข„ๆธฒๆŸ“้™ๆ€้กต้ข๏ผˆๆˆ–้€š่ฟ‡ ISR ๅขž้‡ๆ›ดๆ–ฐ๏ผ‰ใ€‚

3. JAMStack ้กน็›ฎๅฎž่ทต๏ผšไปŽ 0 ๅˆฐ 1 ๆญๅปบๅšๅฎข็ฝ‘็ซ™ โ€‹

ไปฅโ€œNext.js + Vercel + Supabase + Contentfulโ€ไธบไพ‹๏ผŒๆญๅปบไธ€ไธชๆ”ฏๆŒๅ†…ๅฎน็ฎก็†ใ€็”จๆˆท่ฏ„่ฎบ็š„ๅšๅฎข็ฝ‘็ซ™๏ผŒๆญฅ้ชคๅฆ‚ไธ‹๏ผš

3.1 ๆŠ€ๆœฏๆ ˆ้€‰ๅž‹ โ€‹

  • ๆž„ๅปบๅทฅๅ…ท๏ผšNext.js๏ผˆๆ”ฏๆŒ SSG ้ข„ๆธฒๆŸ“๏ผŒๆ–นไพฟๅŽ็ปญๆ‰ฉๅฑ•ๅŠจๆ€ๅŠŸ่ƒฝ๏ผ‰ใ€‚
  • ๆ‰˜็ฎกๅนณๅฐ๏ผšVercel๏ผˆไธ€้”ฎ้ƒจ็ฝฒ๏ผŒ่‡ชๅŠจๆž„ๅปบ๏ผŒๅ…จ็ƒ CDN๏ผ‰ใ€‚
  • ๅ†…ๅฎน็ฎก็†๏ผšContentful๏ผˆๅ…่ดน็‰ˆ่ถณๅคŸไธชไบบๅšๅฎขไฝฟ็”จ๏ผŒAPI ๅ‹ๅฅฝ๏ผ‰ใ€‚
  • ๅŠจๆ€ๅŠŸ่ƒฝ๏ผšSupabase๏ผˆๆไพ› PostgreSQL ๆ•ฐๆฎๅบ“๏ผŒๅญ˜ๅ‚จ็”จๆˆท่ฏ„่ฎบ๏ผ›Auth ๅŠŸ่ƒฝๅฎž็Žฐ่ฏ„่ฎบ็™ปๅฝ•๏ผ‰ใ€‚
  • ๆ ทๅผๆ–นๆกˆ๏ผšTailwind CSS๏ผˆๅฟซ้€Ÿๅผ€ๅ‘๏ผŒๅ“ๅบ”ๅผ่ฎพ่ฎก๏ผ‰ใ€‚

3.2 ๅ…ทไฝ“ๅฎžๆ–ฝๆญฅ้ชค โ€‹

ๆญฅ้ชค 1๏ผšๅˆๅง‹ๅŒ– Next.js ้กน็›ฎ๏ผˆSSG ๆจกๅผ๏ผ‰ โ€‹

้ฆ–ๅ…ˆๅˆ›ๅปบ Next.js ้กน็›ฎ๏ผŒๅผ€ๅฏ SSG ้ข„ๆธฒๆŸ“ๆจกๅผ๏ผˆNext.js 13+ ๆŽจ่ App Router๏ผ‰๏ผš

bash
# 1. ๅˆ›ๅปบ้กน็›ฎ
 npx create-next-app@latest jamstack-blog --typescript --tailwind --eslint
 cd jamstack-blog
 
diff --git "a/assets/01.\345\205\250\346\240\210_40.\345\211\215\347\253\257\345\267\245\347\250\213_03.JAMStack \346\242\263\347\220\206\344\270\216\345\256\236\350\267\265\346\214\207\345\215\227.md.BHFPzWx_.lean.js" "b/assets/01.\345\205\250\346\240\210_40.\345\211\215\347\253\257\345\267\245\347\250\213_03.JAMStack \346\242\263\347\220\206\344\270\216\345\256\236\350\267\265\346\214\207\345\215\227.md.CdkgDOAk.lean.js"
similarity index 95%
rename from "assets/01.\345\205\250\346\240\210_40.\345\211\215\347\253\257\345\267\245\347\250\213_03.JAMStack \346\242\263\347\220\206\344\270\216\345\256\236\350\267\265\346\214\207\345\215\227.md.BHFPzWx_.lean.js"
rename to "assets/01.\345\205\250\346\240\210_40.\345\211\215\347\253\257\345\267\245\347\250\213_03.JAMStack \346\242\263\347\220\206\344\270\216\345\256\236\350\267\265\346\214\207\345\215\227.md.CdkgDOAk.lean.js"
index d6d1b584..f37af692 100644
--- "a/assets/01.\345\205\250\346\240\210_40.\345\211\215\347\253\257\345\267\245\347\250\213_03.JAMStack \346\242\263\347\220\206\344\270\216\345\256\236\350\267\265\346\214\207\345\215\227.md.BHFPzWx_.lean.js"	
+++ "b/assets/01.\345\205\250\346\240\210_40.\345\211\215\347\253\257\345\267\245\347\250\213_03.JAMStack \346\242\263\347\220\206\344\270\216\345\256\236\350\267\265\346\214\207\345\215\227.md.CdkgDOAk.lean.js"	
@@ -1 +1 @@
-import{_ as i,g as a,h as n,U as l}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const g=JSON.parse('{"title":"JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—","description":"ไปŽๆ ธๅฟƒๆฆ‚ๅฟตใ€ๅทฅๅ…ท้“พ้€‰ๅž‹๏ผˆNext.js/Vercel/Supabase/Contentful๏ผ‰ๅˆฐไปŽ 0 ๆญๅปบๅšๅฎข็š„ๅฎŒๆ•ดๅฎž่ทต๏ผŒ่ฆ†็›– JAMStack ้€‚็”จไธŽไธ้€‚็”จๅœบๆ™ฏ๏ผŒๅธฎๅŠฉๅˆคๆ–ญไฝ•ๆ—ถ้€‰็”จ่ฏฅๆžถๆž„ใ€‚","frontmatter":{"date":"2025-11-14T22:33:39.000Z","title":"JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—","aliases":["้™ๆ€็ซ™็‚น็”Ÿๆˆๅ™จ","SSG"],"tldr":"้ข„ๆธฒๆŸ“้™ๆ€้กต้ข + ๅŠจๆ€ API๏ผŒCDN ๅˆ†ๅ‘ๅ…จ็ƒ๏ผŒๆ›ฟไปฃไผ ็ปŸๅŠจๆ€็ฝ‘็ซ™็š„ๅผ€ๅ‘้ƒจ็ฝฒ่Œƒๅผ","description":"ไปŽๆ ธๅฟƒๆฆ‚ๅฟตใ€ๅทฅๅ…ท้“พ้€‰ๅž‹๏ผˆNext.js/Vercel/Supabase/Contentful๏ผ‰ๅˆฐไปŽ 0 ๆญๅปบๅšๅฎข็š„ๅฎŒๆ•ดๅฎž่ทต๏ผŒ่ฆ†็›– JAMStack ้€‚็”จไธŽไธ้€‚็”จๅœบๆ™ฏ๏ผŒๅธฎๅŠฉๅˆคๆ–ญไฝ•ๆ—ถ้€‰็”จ่ฏฅๆžถๆž„ใ€‚","permalink":"/fullstack/jamstack","tags":["tutorial","jamstack","frontend-architecture","next.js","static-site-generator"],"categories":["ๅ…จๆ ˆ","ๅ‰็ซฏๅทฅ็จ‹"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—.md","filePath":"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—.md"}'),t={name:"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—.md"};function p(h,s,k,e,r,E){return n(),a("div",null,[...s[0]||(s[0]=[l("",57)])])}const y=i(t,[["render",p]]);export{g as __pageData,y as default};
+import{_ as i,g as a,h as n,U as l}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const g=JSON.parse('{"title":"JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—","description":"ไปŽๆ ธๅฟƒๆฆ‚ๅฟตใ€ๅทฅๅ…ท้“พ้€‰ๅž‹๏ผˆNext.js/Vercel/Supabase/Contentful๏ผ‰ๅˆฐไปŽ 0 ๆญๅปบๅšๅฎข็š„ๅฎŒๆ•ดๅฎž่ทต๏ผŒ่ฆ†็›– JAMStack ้€‚็”จไธŽไธ้€‚็”จๅœบๆ™ฏ๏ผŒๅธฎๅŠฉๅˆคๆ–ญไฝ•ๆ—ถ้€‰็”จ่ฏฅๆžถๆž„ใ€‚","frontmatter":{"date":"2025-11-14T22:33:39.000Z","title":"JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—","aliases":["้™ๆ€็ซ™็‚น็”Ÿๆˆๅ™จ","SSG"],"tldr":"้ข„ๆธฒๆŸ“้™ๆ€้กต้ข + ๅŠจๆ€ API๏ผŒCDN ๅˆ†ๅ‘ๅ…จ็ƒ๏ผŒๆ›ฟไปฃไผ ็ปŸๅŠจๆ€็ฝ‘็ซ™็š„ๅผ€ๅ‘้ƒจ็ฝฒ่Œƒๅผ","description":"ไปŽๆ ธๅฟƒๆฆ‚ๅฟตใ€ๅทฅๅ…ท้“พ้€‰ๅž‹๏ผˆNext.js/Vercel/Supabase/Contentful๏ผ‰ๅˆฐไปŽ 0 ๆญๅปบๅšๅฎข็š„ๅฎŒๆ•ดๅฎž่ทต๏ผŒ่ฆ†็›– JAMStack ้€‚็”จไธŽไธ้€‚็”จๅœบๆ™ฏ๏ผŒๅธฎๅŠฉๅˆคๆ–ญไฝ•ๆ—ถ้€‰็”จ่ฏฅๆžถๆž„ใ€‚","permalink":"/fullstack/jamstack","tags":["tutorial","jamstack","frontend-architecture","next.js","static-site-generator"],"categories":["ๅ…จๆ ˆ","ๅ‰็ซฏๅทฅ็จ‹"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—.md","filePath":"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—.md"}'),t={name:"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—.md"};function p(h,s,k,e,r,E){return n(),a("div",null,[...s[0]||(s[0]=[l("",57)])])}const y=i(t,[["render",p]]);export{g as __pageData,y as default};
diff --git "a/assets/01.\345\205\250\346\240\210_40.\345\211\215\347\253\257\345\267\245\347\250\213_11.React \346\234\215\345\212\241\347\253\257\347\212\266\346\200\201\347\256\241\347\220\206\347\232\204\350\214\203\345\274\217\350\275\254\347\247\273\344\270\216\351\200\211\345\236\213\346\267\261\345\272\246\345\215\232\345\274\210.md.Bm5uQ9fk.js" "b/assets/01.\345\205\250\346\240\210_40.\345\211\215\347\253\257\345\267\245\347\250\213_11.React \346\234\215\345\212\241\347\253\257\347\212\266\346\200\201\347\256\241\347\220\206\347\232\204\350\214\203\345\274\217\350\275\254\347\247\273\344\270\216\351\200\211\345\236\213\346\267\261\345\272\246\345\215\232\345\274\210.md.BpMi6J2x.js"
similarity index 99%
rename from "assets/01.\345\205\250\346\240\210_40.\345\211\215\347\253\257\345\267\245\347\250\213_11.React \346\234\215\345\212\241\347\253\257\347\212\266\346\200\201\347\256\241\347\220\206\347\232\204\350\214\203\345\274\217\350\275\254\347\247\273\344\270\216\351\200\211\345\236\213\346\267\261\345\272\246\345\215\232\345\274\210.md.Bm5uQ9fk.js"
rename to "assets/01.\345\205\250\346\240\210_40.\345\211\215\347\253\257\345\267\245\347\250\213_11.React \346\234\215\345\212\241\347\253\257\347\212\266\346\200\201\347\256\241\347\220\206\347\232\204\350\214\203\345\274\217\350\275\254\347\247\273\344\270\216\351\200\211\345\236\213\346\267\261\345\272\246\345\215\232\345\274\210.md.BpMi6J2x.js"
index 08866f26..724bfc7c 100644
--- "a/assets/01.\345\205\250\346\240\210_40.\345\211\215\347\253\257\345\267\245\347\250\213_11.React \346\234\215\345\212\241\347\253\257\347\212\266\346\200\201\347\256\241\347\220\206\347\232\204\350\214\203\345\274\217\350\275\254\347\247\273\344\270\216\351\200\211\345\236\213\346\267\261\345\272\246\345\215\232\345\274\210.md.Bm5uQ9fk.js"	
+++ "b/assets/01.\345\205\250\346\240\210_40.\345\211\215\347\253\257\345\267\245\347\250\213_11.React \346\234\215\345\212\241\347\253\257\347\212\266\346\200\201\347\256\241\347\220\206\347\232\204\350\214\203\345\274\217\350\275\254\347\247\273\344\270\216\351\200\211\345\236\213\346\267\261\345\272\246\345\215\232\345\274\210.md.BpMi6J2x.js"	
@@ -1,4 +1,4 @@
-import{_ as i,g as a,h as n,U as l}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const g=JSON.parse('{"title":"ไธๆญขไบŽ Fetch๏ผšReact ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ","description":"ๆทฑๅบฆๅฏนๆฏ” React ็”Ÿๆ€ไธญ SWR ไธŽ TanStack Query ไธคๅคงๆ–นๆกˆใ€‚ไปŽ stale-while-revalidate ๆœบๅˆถๅˆฐๅผ‚ๆญฅ็Šถๆ€ๆœบๆžถๆž„๏ผŒๆถต็›–ไพ่ต–ๆŸฅ่ฏขใ€ๆ•ฐๆฎ่ฝฌๆขๅŠๆžถๆž„็บงไน่ง‚ๆ›ดๆ–ฐๅฎžๆˆ˜ใ€‚ๆ—จๅœจๅธฎๅŠฉๅผ€ๅ‘่€…ๅœจๅคๆ‚ไธšๅŠกไธญๆž„ๅปบ็กฎๅฎšๆ€ง็š„ๆœๅŠก็ซฏ็Šถๆ€ๅŸบๅบงใ€‚","frontmatter":{"date":"2025-11-15T09:20:23.000Z","title":"ไธๆญขไบŽ Fetch๏ผšReact ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ","aliases":["SWR","TanStack Query","React","ๆœๅŠก็ซฏ็Šถๆ€","ไน่ง‚ๆ›ดๆ–ฐ","ๅทฅ็จ‹ๅŒ–"],"tldr":"ๆทฑๅ…ฅ่งฃๆž SWR ็š„ๆž็ฎ€ๅ่ฎฎไธŽ TanStack Query ็š„็ฒพๅฏ†็Šถๆ€ๆœบใ€‚้€š่ฟ‡ๅฏนๆฏ”็ผ“ๅญ˜ๅคฑๆ•ˆใ€ไน่ง‚ๆ›ดๆ–ฐ็ญ‰ๆ ธๅฟƒๅœบๆ™ฏ๏ผŒไธบ้ซ˜ๅคๆ‚ๅบฆ B ็ซฏๅบ”็”จไธŽ่ฝป้‡็บง้กน็›ฎๆไพ›ๆธ…ๆ™ฐ็š„ๆžถๆž„้€‰ๅž‹ๆจกๅž‹ใ€‚","description":"ๆทฑๅบฆๅฏนๆฏ” React ็”Ÿๆ€ไธญ SWR ไธŽ TanStack Query ไธคๅคงๆ–นๆกˆใ€‚ไปŽ stale-while-revalidate ๆœบๅˆถๅˆฐๅผ‚ๆญฅ็Šถๆ€ๆœบๆžถๆž„๏ผŒๆถต็›–ไพ่ต–ๆŸฅ่ฏขใ€ๆ•ฐๆฎ่ฝฌๆขๅŠๆžถๆž„็บงไน่ง‚ๆ›ดๆ–ฐๅฎžๆˆ˜ใ€‚ๆ—จๅœจๅธฎๅŠฉๅผ€ๅ‘่€…ๅœจๅคๆ‚ไธšๅŠกไธญๆž„ๅปบ็กฎๅฎšๆ€ง็š„ๆœๅŠก็ซฏ็Šถๆ€ๅŸบๅบงใ€‚","permalink":"/fullstack/server-state-management","tags":["SWR","TanStack Query","ๅ‰็ซฏๅทฅ็จ‹"],"categories":["ๅ…จๆ ˆ","ๅ‰็ซฏๅทฅ็จ‹"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/11.React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ.md","filePath":"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/11.React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ.md"}'),p={name:"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/11.React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ.md"};function e(t,s,h,k,r,E){return n(),a("div",null,[...s[0]||(s[0]=[l(`

ไธๆญขไบŽ Fetch๏ผšReact ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ โ€‹

ๆ‘˜่ฆๆ€ป็ป“: ๆœฌๆ–‡่š็„ฆ UI ็Šถๆ€ไธŽๆœๅŠก็ซฏ็Šถๆ€็š„็ฎก็†่พน็•Œ๏ผŒๅฏนๆฏ” SWR๏ผˆๅŸบไบŽ stale-while-revalidate ๅ่ฎฎ็š„่ฝป้‡ๆ–นๆกˆ๏ผ‰ไธŽ TanStack Query๏ผˆ็ฒพๅฏ†ๅผ‚ๆญฅ็Šถๆ€ๆœบ๏ผ‰ไธค่€…็š„ๆ ธๅฟƒๆœบๅˆถๅทฎๅผ‚๏ผŒ้€š่ฟ‡็ผ“ๅญ˜็ญ–็•ฅใ€ไน่ง‚ๆ›ดๆ–ฐใ€ไพ่ต–ๆŸฅ่ฏข็ญ‰ๅฎžๆˆ˜ไปฃ็ ๅœบๆ™ฏๅฑ•ๅผ€่ฎบ่ฟฐ๏ผŒๆœ€็ปˆ็ป™ๅ‡บไปฅ้กน็›ฎๅคๆ‚ๅบฆไธบ็ปดๅบฆ็š„้€‰ๅž‹็ป“่ฎบไธŽๅ†ณ็ญ–ๆก†ๆžถใ€‚

1. ๅผ•่จ€ โ€‹

ๅœจ็Žฐไปฃๅ‰็ซฏๅทฅ็จ‹ไธญ๏ผŒ็Šถๆ€ๅฏไธฅๆ ผๅŒบๅˆ†ไธบ UI ็Šถๆ€๏ผˆUI State๏ผ‰ ไธŽ ๆœๅŠก็ซฏ็Šถๆ€๏ผˆServer State๏ผ‰ ไธค็ฑปใ€‚ๅฏนไบŽ UI ็Šถๆ€็š„็ฎก็†๏ผŒๅผ€ๅ‘่€…ๅทฒ่พƒไธบ็†Ÿๆ‚‰๏ผŒ้€šๅธธๅฏๅ€ŸๅŠฉ useStateใ€useEffect ็ญ‰ Hooks๏ผŒๆˆ– zustandใ€jotai ็ญ‰็Šถๆ€็ฎก็†ๅบ“ๆฅๅฎž็Žฐใ€‚็„ถ่€Œ๏ผŒๆœๅŠก็ซฏ็Šถๆ€็š„็ฎก็†ๅพ€ๅพ€็ผบไน็ปŸไธ€ไธ”้ซ˜ๆ•ˆ็š„่งฃๅ†ณๆ–นๆกˆ๏ผŒๅผ€ๅ‘่€…้€šๅธธ้œ€่ฆ่‡ช่กŒๅฎž็Žฐใ€‚

ๅœจไผ ็ปŸ็š„ๆ•ฐๆฎ่Žทๅ–ๆต็จ‹ไธญ๏ผŒๆˆ‘ไปฌไธ€่ˆฌไฝฟ็”จ fetch ๆˆ– axios ๅ‘ๅŽ็ซฏๆˆ– REST API ๅ‘้€ HTTP ่ฏทๆฑ‚๏ผŒ้šๅŽๆ‰‹ๅŠจๅฐ†ๆ•ฐๆฎ่Žทๅ–้€ป่พ‘ไธŽๅ‰็ซฏไธšๅŠก้€ป่พ‘ๅŠ UI ็Šถๆ€็ฎก็†่ฟ›่กŒๆ•ดๅˆ๏ผŒไปฅๅฎŒๆˆๆ•ฐๆฎๅค„็†ๅนถ้ฉฑๅŠจ็•Œ้ขๆ›ดๆ–ฐใ€‚

TanStack Queryใ€SWR ็ญ‰ๅบ“็š„ๅ‡บ็Žฐ๏ผŒไธบๆ•ฐๆฎ่Žทๅ–ๆไพ›ไบ†ๆ›ดๅŠ ็ฎ€ๆดๅ’Œ้ซ˜ๆ•ˆ็š„่งฃๅ†ณๆ–นๆกˆใ€‚

1. SWR โ€‹

1.1 ็ฎ€ไป‹ไธŽๆ ธๅฟƒๆต็จ‹่ฏดๆ˜Ž โ€‹

SWR is a minimal API with built-in caching, revalidation, and request deduplication. It keeps your UI fast, consistent, and always up to date โ€” with a single React hook.

SWR ๆ˜ฏไธ€ไธชๅŸบไบŽ React Hooks ็š„่ฝป้‡็บงๅบ“๏ผŒๅฎƒ็š„ API ็ฎ€ๅ•ๆ˜“็”จ๏ผŒๅŒๆ—ถๆไพ›ไบ†ๅผบๅคง็š„ๅŠŸ่ƒฝใ€‚ๅฎƒ็š„่ฎพ่ฎก็›ฎๆ ‡ๆ˜ฏ็ฎ€ๅŒ–ๆ•ฐๆฎ่Žทๅ–ๅ’Œ็ผ“ๅญ˜็š„่ฟ‡็จ‹ใ€‚ๅฎƒ็š„ๆ ธๅฟƒๆ€ๆƒณๆ˜ฏโ€œ stale-while-revalidate โ€๏ผŒๅณๅ…ˆ่ฟ”ๅ›ž็ผ“ๅญ˜ๆ•ฐๆฎ๏ผˆstale๏ผ‰๏ผŒๅŒๆ—ถๅ‘้€่ฏทๆฑ‚ๅŽปๆ›ดๆ–ฐ็ผ“ๅญ˜๏ผˆrevalidate๏ผ‰๏ผŒๆ ธๅฟƒ่ฟไฝœๆตไนŸ้žๅธธ็ฎ€ๆด๏ผš

  • Stale๏ผš้ฆ–ๅ…ˆไปŽๆœฌๅœฐ็ผ“ๅญ˜ไธญ่ฟ”ๅ›žๆ•ฐๆฎ๏ผŒๅฎž็Žฐๅฟซ้€Ÿๅ“ๅบ”๏ผŒๆ— ็™ฝๅฑใ€‚
  • Fetch๏ผšๅœจๅŽๅฐๅ‘้€ Fetch ่ฏทๆฑ‚่Žทๅ–ๆœ€ๆ–ฐๆ•ฐๆฎใ€‚
  • Revalidate๏ผšๆ‹ฟๅˆฐๆœ€ๆ–ฐๆ•ฐๆฎๅŽ๏ผŒๅฏนๆฏ”็ผ“ๅญ˜๏ผŒ่‹ฅๆœ‰ๅ˜ๅŒ–ๅˆ™่งฆๅ‘ React ้‡ๆ–ฐๆธฒๆŸ“ๅนถๆ›ดๆ–ฐ็ผ“ๅญ˜ใ€‚

่ฟ™็งๆœบๅˆถๅฝปๅบ•ๆ”นๅ˜ไบ†ไผ ็ปŸ useEffect + setState ๅธฆๆฅ็š„โ€œๅŠ ่ฝฝไธญ -> ๆธฒๆŸ“โ€็š„้˜ปๅกžๅผไฝ“้ชŒ๏ผŒ่ฎฉๅบ”็”จๅœจๆ„Ÿๅฎ˜ไธŠๅ…ทๆœ‰โ€œๅฎžๆ—ถๆ€งโ€ใ€‚

็ฎ€ๅ•็คบไพ‹ๅฆ‚ไธ‹๏ผš

JSX
import useSWR from 'swr';
+import{_ as i,g as a,h as n,U as l}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const g=JSON.parse('{"title":"ไธๆญขไบŽ Fetch๏ผšReact ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ","description":"ๆทฑๅบฆๅฏนๆฏ” React ็”Ÿๆ€ไธญ SWR ไธŽ TanStack Query ไธคๅคงๆ–นๆกˆใ€‚ไปŽ stale-while-revalidate ๆœบๅˆถๅˆฐๅผ‚ๆญฅ็Šถๆ€ๆœบๆžถๆž„๏ผŒๆถต็›–ไพ่ต–ๆŸฅ่ฏขใ€ๆ•ฐๆฎ่ฝฌๆขๅŠๆžถๆž„็บงไน่ง‚ๆ›ดๆ–ฐๅฎžๆˆ˜ใ€‚ๆ—จๅœจๅธฎๅŠฉๅผ€ๅ‘่€…ๅœจๅคๆ‚ไธšๅŠกไธญๆž„ๅปบ็กฎๅฎšๆ€ง็š„ๆœๅŠก็ซฏ็Šถๆ€ๅŸบๅบงใ€‚","frontmatter":{"date":"2025-11-15T09:20:23.000Z","title":"ไธๆญขไบŽ Fetch๏ผšReact ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ","aliases":["SWR","TanStack Query","React","ๆœๅŠก็ซฏ็Šถๆ€","ไน่ง‚ๆ›ดๆ–ฐ","ๅทฅ็จ‹ๅŒ–"],"tldr":"ๆทฑๅ…ฅ่งฃๆž SWR ็š„ๆž็ฎ€ๅ่ฎฎไธŽ TanStack Query ็š„็ฒพๅฏ†็Šถๆ€ๆœบใ€‚้€š่ฟ‡ๅฏนๆฏ”็ผ“ๅญ˜ๅคฑๆ•ˆใ€ไน่ง‚ๆ›ดๆ–ฐ็ญ‰ๆ ธๅฟƒๅœบๆ™ฏ๏ผŒไธบ้ซ˜ๅคๆ‚ๅบฆ B ็ซฏๅบ”็”จไธŽ่ฝป้‡็บง้กน็›ฎๆไพ›ๆธ…ๆ™ฐ็š„ๆžถๆž„้€‰ๅž‹ๆจกๅž‹ใ€‚","description":"ๆทฑๅบฆๅฏนๆฏ” React ็”Ÿๆ€ไธญ SWR ไธŽ TanStack Query ไธคๅคงๆ–นๆกˆใ€‚ไปŽ stale-while-revalidate ๆœบๅˆถๅˆฐๅผ‚ๆญฅ็Šถๆ€ๆœบๆžถๆž„๏ผŒๆถต็›–ไพ่ต–ๆŸฅ่ฏขใ€ๆ•ฐๆฎ่ฝฌๆขๅŠๆžถๆž„็บงไน่ง‚ๆ›ดๆ–ฐๅฎžๆˆ˜ใ€‚ๆ—จๅœจๅธฎๅŠฉๅผ€ๅ‘่€…ๅœจๅคๆ‚ไธšๅŠกไธญๆž„ๅปบ็กฎๅฎšๆ€ง็š„ๆœๅŠก็ซฏ็Šถๆ€ๅŸบๅบงใ€‚","permalink":"/fullstack/server-state-management","tags":["SWR","TanStack Query","ๅ‰็ซฏๅทฅ็จ‹"],"categories":["ๅ…จๆ ˆ","ๅ‰็ซฏๅทฅ็จ‹"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/11.React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ.md","filePath":"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/11.React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ.md"}'),p={name:"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/11.React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ.md"};function e(t,s,h,k,r,E){return n(),a("div",null,[...s[0]||(s[0]=[l(`

ไธๆญขไบŽ Fetch๏ผšReact ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ โ€‹

ๆ‘˜่ฆๆ€ป็ป“: ๆœฌๆ–‡่š็„ฆ UI ็Šถๆ€ไธŽๆœๅŠก็ซฏ็Šถๆ€็š„็ฎก็†่พน็•Œ๏ผŒๅฏนๆฏ” SWR๏ผˆๅŸบไบŽ stale-while-revalidate ๅ่ฎฎ็š„่ฝป้‡ๆ–นๆกˆ๏ผ‰ไธŽ TanStack Query๏ผˆ็ฒพๅฏ†ๅผ‚ๆญฅ็Šถๆ€ๆœบ๏ผ‰ไธค่€…็š„ๆ ธๅฟƒๆœบๅˆถๅทฎๅผ‚๏ผŒ้€š่ฟ‡็ผ“ๅญ˜็ญ–็•ฅใ€ไน่ง‚ๆ›ดๆ–ฐใ€ไพ่ต–ๆŸฅ่ฏข็ญ‰ๅฎžๆˆ˜ไปฃ็ ๅœบๆ™ฏๅฑ•ๅผ€่ฎบ่ฟฐ๏ผŒๆœ€็ปˆ็ป™ๅ‡บไปฅ้กน็›ฎๅคๆ‚ๅบฆไธบ็ปดๅบฆ็š„้€‰ๅž‹็ป“่ฎบไธŽๅ†ณ็ญ–ๆก†ๆžถใ€‚

1. ๅผ•่จ€ โ€‹

ๅœจ็Žฐไปฃๅ‰็ซฏๅทฅ็จ‹ไธญ๏ผŒ็Šถๆ€ๅฏไธฅๆ ผๅŒบๅˆ†ไธบ UI ็Šถๆ€๏ผˆUI State๏ผ‰ ไธŽ ๆœๅŠก็ซฏ็Šถๆ€๏ผˆServer State๏ผ‰ ไธค็ฑปใ€‚ๅฏนไบŽ UI ็Šถๆ€็š„็ฎก็†๏ผŒๅผ€ๅ‘่€…ๅทฒ่พƒไธบ็†Ÿๆ‚‰๏ผŒ้€šๅธธๅฏๅ€ŸๅŠฉ useStateใ€useEffect ็ญ‰ Hooks๏ผŒๆˆ– zustandใ€jotai ็ญ‰็Šถๆ€็ฎก็†ๅบ“ๆฅๅฎž็Žฐใ€‚็„ถ่€Œ๏ผŒๆœๅŠก็ซฏ็Šถๆ€็š„็ฎก็†ๅพ€ๅพ€็ผบไน็ปŸไธ€ไธ”้ซ˜ๆ•ˆ็š„่งฃๅ†ณๆ–นๆกˆ๏ผŒๅผ€ๅ‘่€…้€šๅธธ้œ€่ฆ่‡ช่กŒๅฎž็Žฐใ€‚

ๅœจไผ ็ปŸ็š„ๆ•ฐๆฎ่Žทๅ–ๆต็จ‹ไธญ๏ผŒๆˆ‘ไปฌไธ€่ˆฌไฝฟ็”จ fetch ๆˆ– axios ๅ‘ๅŽ็ซฏๆˆ– REST API ๅ‘้€ HTTP ่ฏทๆฑ‚๏ผŒ้šๅŽๆ‰‹ๅŠจๅฐ†ๆ•ฐๆฎ่Žทๅ–้€ป่พ‘ไธŽๅ‰็ซฏไธšๅŠก้€ป่พ‘ๅŠ UI ็Šถๆ€็ฎก็†่ฟ›่กŒๆ•ดๅˆ๏ผŒไปฅๅฎŒๆˆๆ•ฐๆฎๅค„็†ๅนถ้ฉฑๅŠจ็•Œ้ขๆ›ดๆ–ฐใ€‚

TanStack Queryใ€SWR ็ญ‰ๅบ“็š„ๅ‡บ็Žฐ๏ผŒไธบๆ•ฐๆฎ่Žทๅ–ๆไพ›ไบ†ๆ›ดๅŠ ็ฎ€ๆดๅ’Œ้ซ˜ๆ•ˆ็š„่งฃๅ†ณๆ–นๆกˆใ€‚

1. SWR โ€‹

1.1 ็ฎ€ไป‹ไธŽๆ ธๅฟƒๆต็จ‹่ฏดๆ˜Ž โ€‹

SWR is a minimal API with built-in caching, revalidation, and request deduplication. It keeps your UI fast, consistent, and always up to date โ€” with a single React hook.

SWR ๆ˜ฏไธ€ไธชๅŸบไบŽ React Hooks ็š„่ฝป้‡็บงๅบ“๏ผŒๅฎƒ็š„ API ็ฎ€ๅ•ๆ˜“็”จ๏ผŒๅŒๆ—ถๆไพ›ไบ†ๅผบๅคง็š„ๅŠŸ่ƒฝใ€‚ๅฎƒ็š„่ฎพ่ฎก็›ฎๆ ‡ๆ˜ฏ็ฎ€ๅŒ–ๆ•ฐๆฎ่Žทๅ–ๅ’Œ็ผ“ๅญ˜็š„่ฟ‡็จ‹ใ€‚ๅฎƒ็š„ๆ ธๅฟƒๆ€ๆƒณๆ˜ฏโ€œ stale-while-revalidate โ€๏ผŒๅณๅ…ˆ่ฟ”ๅ›ž็ผ“ๅญ˜ๆ•ฐๆฎ๏ผˆstale๏ผ‰๏ผŒๅŒๆ—ถๅ‘้€่ฏทๆฑ‚ๅŽปๆ›ดๆ–ฐ็ผ“ๅญ˜๏ผˆrevalidate๏ผ‰๏ผŒๆ ธๅฟƒ่ฟไฝœๆตไนŸ้žๅธธ็ฎ€ๆด๏ผš

  • Stale๏ผš้ฆ–ๅ…ˆไปŽๆœฌๅœฐ็ผ“ๅญ˜ไธญ่ฟ”ๅ›žๆ•ฐๆฎ๏ผŒๅฎž็Žฐๅฟซ้€Ÿๅ“ๅบ”๏ผŒๆ— ็™ฝๅฑใ€‚
  • Fetch๏ผšๅœจๅŽๅฐๅ‘้€ Fetch ่ฏทๆฑ‚่Žทๅ–ๆœ€ๆ–ฐๆ•ฐๆฎใ€‚
  • Revalidate๏ผšๆ‹ฟๅˆฐๆœ€ๆ–ฐๆ•ฐๆฎๅŽ๏ผŒๅฏนๆฏ”็ผ“ๅญ˜๏ผŒ่‹ฅๆœ‰ๅ˜ๅŒ–ๅˆ™่งฆๅ‘ React ้‡ๆ–ฐๆธฒๆŸ“ๅนถๆ›ดๆ–ฐ็ผ“ๅญ˜ใ€‚

่ฟ™็งๆœบๅˆถๅฝปๅบ•ๆ”นๅ˜ไบ†ไผ ็ปŸ useEffect + setState ๅธฆๆฅ็š„โ€œๅŠ ่ฝฝไธญ -> ๆธฒๆŸ“โ€็š„้˜ปๅกžๅผไฝ“้ชŒ๏ผŒ่ฎฉๅบ”็”จๅœจๆ„Ÿๅฎ˜ไธŠๅ…ทๆœ‰โ€œๅฎžๆ—ถๆ€งโ€ใ€‚

็ฎ€ๅ•็คบไพ‹ๅฆ‚ไธ‹๏ผš

JSX
import useSWR from 'swr';
 import React from 'react';
 
 // ่‡ชๅฎšไน‰ fetcher ๅ‡ฝๆ•ฐ๏ผŒ็”จไบŽๅ‘้€ HTTP ่ฏทๆฑ‚ๅนถ่Žทๅ–ๆ•ฐๆฎ
diff --git "a/assets/01.\345\205\250\346\240\210_40.\345\211\215\347\253\257\345\267\245\347\250\213_11.React \346\234\215\345\212\241\347\253\257\347\212\266\346\200\201\347\256\241\347\220\206\347\232\204\350\214\203\345\274\217\350\275\254\347\247\273\344\270\216\351\200\211\345\236\213\346\267\261\345\272\246\345\215\232\345\274\210.md.Bm5uQ9fk.lean.js" "b/assets/01.\345\205\250\346\240\210_40.\345\211\215\347\253\257\345\267\245\347\250\213_11.React \346\234\215\345\212\241\347\253\257\347\212\266\346\200\201\347\256\241\347\220\206\347\232\204\350\214\203\345\274\217\350\275\254\347\247\273\344\270\216\351\200\211\345\236\213\346\267\261\345\272\246\345\215\232\345\274\210.md.BpMi6J2x.lean.js"
similarity index 96%
rename from "assets/01.\345\205\250\346\240\210_40.\345\211\215\347\253\257\345\267\245\347\250\213_11.React \346\234\215\345\212\241\347\253\257\347\212\266\346\200\201\347\256\241\347\220\206\347\232\204\350\214\203\345\274\217\350\275\254\347\247\273\344\270\216\351\200\211\345\236\213\346\267\261\345\272\246\345\215\232\345\274\210.md.Bm5uQ9fk.lean.js"
rename to "assets/01.\345\205\250\346\240\210_40.\345\211\215\347\253\257\345\267\245\347\250\213_11.React \346\234\215\345\212\241\347\253\257\347\212\266\346\200\201\347\256\241\347\220\206\347\232\204\350\214\203\345\274\217\350\275\254\347\247\273\344\270\216\351\200\211\345\236\213\346\267\261\345\272\246\345\215\232\345\274\210.md.BpMi6J2x.lean.js"
index b4e0c4cb..6e793815 100644
--- "a/assets/01.\345\205\250\346\240\210_40.\345\211\215\347\253\257\345\267\245\347\250\213_11.React \346\234\215\345\212\241\347\253\257\347\212\266\346\200\201\347\256\241\347\220\206\347\232\204\350\214\203\345\274\217\350\275\254\347\247\273\344\270\216\351\200\211\345\236\213\346\267\261\345\272\246\345\215\232\345\274\210.md.Bm5uQ9fk.lean.js"	
+++ "b/assets/01.\345\205\250\346\240\210_40.\345\211\215\347\253\257\345\267\245\347\250\213_11.React \346\234\215\345\212\241\347\253\257\347\212\266\346\200\201\347\256\241\347\220\206\347\232\204\350\214\203\345\274\217\350\275\254\347\247\273\344\270\216\351\200\211\345\236\213\346\267\261\345\272\246\345\215\232\345\274\210.md.BpMi6J2x.lean.js"	
@@ -1 +1 @@
-import{_ as i,g as a,h as n,U as l}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const g=JSON.parse('{"title":"ไธๆญขไบŽ Fetch๏ผšReact ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ","description":"ๆทฑๅบฆๅฏนๆฏ” React ็”Ÿๆ€ไธญ SWR ไธŽ TanStack Query ไธคๅคงๆ–นๆกˆใ€‚ไปŽ stale-while-revalidate ๆœบๅˆถๅˆฐๅผ‚ๆญฅ็Šถๆ€ๆœบๆžถๆž„๏ผŒๆถต็›–ไพ่ต–ๆŸฅ่ฏขใ€ๆ•ฐๆฎ่ฝฌๆขๅŠๆžถๆž„็บงไน่ง‚ๆ›ดๆ–ฐๅฎžๆˆ˜ใ€‚ๆ—จๅœจๅธฎๅŠฉๅผ€ๅ‘่€…ๅœจๅคๆ‚ไธšๅŠกไธญๆž„ๅปบ็กฎๅฎšๆ€ง็š„ๆœๅŠก็ซฏ็Šถๆ€ๅŸบๅบงใ€‚","frontmatter":{"date":"2025-11-15T09:20:23.000Z","title":"ไธๆญขไบŽ Fetch๏ผšReact ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ","aliases":["SWR","TanStack Query","React","ๆœๅŠก็ซฏ็Šถๆ€","ไน่ง‚ๆ›ดๆ–ฐ","ๅทฅ็จ‹ๅŒ–"],"tldr":"ๆทฑๅ…ฅ่งฃๆž SWR ็š„ๆž็ฎ€ๅ่ฎฎไธŽ TanStack Query ็š„็ฒพๅฏ†็Šถๆ€ๆœบใ€‚้€š่ฟ‡ๅฏนๆฏ”็ผ“ๅญ˜ๅคฑๆ•ˆใ€ไน่ง‚ๆ›ดๆ–ฐ็ญ‰ๆ ธๅฟƒๅœบๆ™ฏ๏ผŒไธบ้ซ˜ๅคๆ‚ๅบฆ B ็ซฏๅบ”็”จไธŽ่ฝป้‡็บง้กน็›ฎๆไพ›ๆธ…ๆ™ฐ็š„ๆžถๆž„้€‰ๅž‹ๆจกๅž‹ใ€‚","description":"ๆทฑๅบฆๅฏนๆฏ” React ็”Ÿๆ€ไธญ SWR ไธŽ TanStack Query ไธคๅคงๆ–นๆกˆใ€‚ไปŽ stale-while-revalidate ๆœบๅˆถๅˆฐๅผ‚ๆญฅ็Šถๆ€ๆœบๆžถๆž„๏ผŒๆถต็›–ไพ่ต–ๆŸฅ่ฏขใ€ๆ•ฐๆฎ่ฝฌๆขๅŠๆžถๆž„็บงไน่ง‚ๆ›ดๆ–ฐๅฎžๆˆ˜ใ€‚ๆ—จๅœจๅธฎๅŠฉๅผ€ๅ‘่€…ๅœจๅคๆ‚ไธšๅŠกไธญๆž„ๅปบ็กฎๅฎšๆ€ง็š„ๆœๅŠก็ซฏ็Šถๆ€ๅŸบๅบงใ€‚","permalink":"/fullstack/server-state-management","tags":["SWR","TanStack Query","ๅ‰็ซฏๅทฅ็จ‹"],"categories":["ๅ…จๆ ˆ","ๅ‰็ซฏๅทฅ็จ‹"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/11.React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ.md","filePath":"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/11.React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ.md"}'),p={name:"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/11.React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ.md"};function e(t,s,h,k,r,E){return n(),a("div",null,[...s[0]||(s[0]=[l("",75)])])}const y=i(p,[["render",e]]);export{g as __pageData,y as default};
+import{_ as i,g as a,h as n,U as l}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const g=JSON.parse('{"title":"ไธๆญขไบŽ Fetch๏ผšReact ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ","description":"ๆทฑๅบฆๅฏนๆฏ” React ็”Ÿๆ€ไธญ SWR ไธŽ TanStack Query ไธคๅคงๆ–นๆกˆใ€‚ไปŽ stale-while-revalidate ๆœบๅˆถๅˆฐๅผ‚ๆญฅ็Šถๆ€ๆœบๆžถๆž„๏ผŒๆถต็›–ไพ่ต–ๆŸฅ่ฏขใ€ๆ•ฐๆฎ่ฝฌๆขๅŠๆžถๆž„็บงไน่ง‚ๆ›ดๆ–ฐๅฎžๆˆ˜ใ€‚ๆ—จๅœจๅธฎๅŠฉๅผ€ๅ‘่€…ๅœจๅคๆ‚ไธšๅŠกไธญๆž„ๅปบ็กฎๅฎšๆ€ง็š„ๆœๅŠก็ซฏ็Šถๆ€ๅŸบๅบงใ€‚","frontmatter":{"date":"2025-11-15T09:20:23.000Z","title":"ไธๆญขไบŽ Fetch๏ผšReact ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ","aliases":["SWR","TanStack Query","React","ๆœๅŠก็ซฏ็Šถๆ€","ไน่ง‚ๆ›ดๆ–ฐ","ๅทฅ็จ‹ๅŒ–"],"tldr":"ๆทฑๅ…ฅ่งฃๆž SWR ็š„ๆž็ฎ€ๅ่ฎฎไธŽ TanStack Query ็š„็ฒพๅฏ†็Šถๆ€ๆœบใ€‚้€š่ฟ‡ๅฏนๆฏ”็ผ“ๅญ˜ๅคฑๆ•ˆใ€ไน่ง‚ๆ›ดๆ–ฐ็ญ‰ๆ ธๅฟƒๅœบๆ™ฏ๏ผŒไธบ้ซ˜ๅคๆ‚ๅบฆ B ็ซฏๅบ”็”จไธŽ่ฝป้‡็บง้กน็›ฎๆไพ›ๆธ…ๆ™ฐ็š„ๆžถๆž„้€‰ๅž‹ๆจกๅž‹ใ€‚","description":"ๆทฑๅบฆๅฏนๆฏ” React ็”Ÿๆ€ไธญ SWR ไธŽ TanStack Query ไธคๅคงๆ–นๆกˆใ€‚ไปŽ stale-while-revalidate ๆœบๅˆถๅˆฐๅผ‚ๆญฅ็Šถๆ€ๆœบๆžถๆž„๏ผŒๆถต็›–ไพ่ต–ๆŸฅ่ฏขใ€ๆ•ฐๆฎ่ฝฌๆขๅŠๆžถๆž„็บงไน่ง‚ๆ›ดๆ–ฐๅฎžๆˆ˜ใ€‚ๆ—จๅœจๅธฎๅŠฉๅผ€ๅ‘่€…ๅœจๅคๆ‚ไธšๅŠกไธญๆž„ๅปบ็กฎๅฎšๆ€ง็š„ๆœๅŠก็ซฏ็Šถๆ€ๅŸบๅบงใ€‚","permalink":"/fullstack/server-state-management","tags":["SWR","TanStack Query","ๅ‰็ซฏๅทฅ็จ‹"],"categories":["ๅ…จๆ ˆ","ๅ‰็ซฏๅทฅ็จ‹"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/11.React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ.md","filePath":"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/11.React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ.md"}'),p={name:"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/11.React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ.md"};function e(t,s,h,k,r,E){return n(),a("div",null,[...s[0]||(s[0]=[l("",75)])])}const y=i(p,[["render",e]]);export{g as __pageData,y as default};
diff --git "a/assets/01.\345\205\250\346\240\210_60.\347\275\221\347\273\234\344\270\216\351\200\232\344\277\241_01.\344\273\216 HTTP \345\210\260 WebSocket \347\232\204\346\212\200\346\234\257\351\200\211\345\236\213\346\214\207\345\215\227.md.DlstBmfn.js" "b/assets/01.\345\205\250\346\240\210_60.\347\275\221\347\273\234\344\270\216\351\200\232\344\277\241_01.\344\273\216 HTTP \345\210\260 WebSocket \347\232\204\346\212\200\346\234\257\351\200\211\345\236\213\346\214\207\345\215\227.md.int3cA6G.js"
similarity index 99%
rename from "assets/01.\345\205\250\346\240\210_60.\347\275\221\347\273\234\344\270\216\351\200\232\344\277\241_01.\344\273\216 HTTP \345\210\260 WebSocket \347\232\204\346\212\200\346\234\257\351\200\211\345\236\213\346\214\207\345\215\227.md.DlstBmfn.js"
rename to "assets/01.\345\205\250\346\240\210_60.\347\275\221\347\273\234\344\270\216\351\200\232\344\277\241_01.\344\273\216 HTTP \345\210\260 WebSocket \347\232\204\346\212\200\346\234\257\351\200\211\345\236\213\346\214\207\345\215\227.md.int3cA6G.js"
index 8762373c..d6150d96 100644
--- "a/assets/01.\345\205\250\346\240\210_60.\347\275\221\347\273\234\344\270\216\351\200\232\344\277\241_01.\344\273\216 HTTP \345\210\260 WebSocket \347\232\204\346\212\200\346\234\257\351\200\211\345\236\213\346\214\207\345\215\227.md.DlstBmfn.js"	
+++ "b/assets/01.\345\205\250\346\240\210_60.\347\275\221\347\273\234\344\270\216\351\200\232\344\277\241_01.\344\273\216 HTTP \345\210\260 WebSocket \347\232\204\346\212\200\346\234\257\351\200\211\345\236\213\346\214\207\345\215\227.md.int3cA6G.js"	
@@ -1 +1 @@
-import{_ as e,g as o,h as r,U as a}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const c=JSON.parse('{"title":"Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—","description":"ๆทฑๅ…ฅๅ‰–ๆžไผ ็ปŸ HTTPใ€ๆตๅผ HTTPใ€SSEใ€WebSocketใ€Webhooksใ€HTTP ่ฝฎ่ฏข็š„ๅŽŸ็†ไธŽ็‰นๆ€ง๏ผŒ็ป“ๅˆ AI ๅœบๆ™ฏๆไพ›ๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–็Ÿฉ้˜ตใ€‚","frontmatter":{"date":"2026-02-24T08:40:31.000Z","title":"Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—","tldr":"ๆทฑๅ…ฅๅˆ†ๆžไบ”็ง Web ้€šไฟกๅ่ฎฎ๏ผŒๆไพ› AI ๆ—ถไปฃ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—ไธŽๆœ€ไฝณๅฎž่ทตใ€‚","description":"ๆทฑๅ…ฅๅ‰–ๆžไผ ็ปŸ HTTPใ€ๆตๅผ HTTPใ€SSEใ€WebSocketใ€Webhooksใ€HTTP ่ฝฎ่ฏข็š„ๅŽŸ็†ไธŽ็‰นๆ€ง๏ผŒ็ป“ๅˆ AI ๅœบๆ™ฏๆไพ›ๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–็Ÿฉ้˜ตใ€‚","categories":["ๅ…จๆ ˆ","็ฝ‘็ปœไธŽ้€šไฟก"],"tags":["HTTP","HTTP ่ฝฎ่ฏข","SSE","WebSocket","Webhooks"],"permalink":"/fullstack/networking-protocol-selection-guide"},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—.md","filePath":"01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—.md"}'),d={name:"01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—.md"};function n(s,t,h,l,i,g){return r(),o("div",null,[...t[0]||(t[0]=[a('

Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ— โ€‹

ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡้’ˆๅฏนไผ ็ปŸ HTTP ๅœจๅฎžๆ—ถ้€šไฟกๅœบๆ™ฏ็š„ๅฑ€้™๏ผŒ็ณป็ปŸๅˆ†ๆžๆตๅผ HTTPใ€SSEใ€WebSocketใ€Webhooksใ€HTTP ่ฝฎ่ฏขไบ”็งๆŠ€ๆœฏ็š„ๆ ธๅฟƒๅŽŸ็†ใ€็ฝ‘็ปœๆœบๅˆถไธŽ้€‚็”จ่พน็•Œใ€‚้€š่ฟ‡ๅฏนๆฏ”ๅ„ๆ–นๆกˆๅœจๅ•ๅ‘/ๅŒๅ‘ๆŽจ้€ใ€ๅฎžๆ—ถๆ€งใ€่ต„ๆบๅผ€้”€็ญ‰็ปดๅบฆ็š„ๅทฎๅผ‚๏ผŒ็ป“ๅˆ AI ๆ–‡ๆœฌๅฏน่ฏใ€็”Ÿๅ›พ็”Ÿ่ง†้ข‘็ญ‰ๅ…ธๅž‹ๅœบๆ™ฏ๏ผŒๆž„ๅปบๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–็Ÿฉ้˜ตใ€‚็ป“่ฎบ่กจๆ˜Ž๏ผŒไธๅญ˜ๅœจๆœ€ไผ˜ๆŠ€ๆœฏ๏ผŒ้œ€ๆ นๆฎไปปๅŠก่€—ๆ—ถ็‰นๅพใ€ๅนถๅ‘่ง„ๆจกใ€ๅŸบ็ก€่ฎพๆ–ฝ็บฆๆŸ็ญ‰ๅ› ็ด ้€‰ๆ‹ฉๆœ€้€‚้…ๆ–นๆกˆใ€‚

1. ๅผ•่จ€ โ€‹

HTTP ๆ˜ฏไธ€็งๅŸบไบŽๆ–‡ๆœฌ็š„้€šไฟกๅ่ฎฎ๏ผŒไธป่ฆ็”จไบŽ Web ๆต่งˆๅ™จใ€็งปๅŠจๅบ”็”จใ€ๆกŒ้ขๅบ”็”จ็ญ‰ๅฎขๆˆท็ซฏๅ’Œ Web ๆœๅŠกๅ™จไน‹้—ด็š„ๆ•ฐๆฎไผ ่พ“ใ€‚ไผ ็ปŸ HTTP ้‡‡็”จๅŒๆญฅ็š„่ฏทๆฑ‚-ๅ“ๅบ”ๆจกๅผ๏ผš่ฏทๆฑ‚ -> ็ญ‰ๅพ… -> ๅฎŒๆ•ดๅ“ๅบ”ใ€‚่ฟ™็งๆ–นๅผ่™ฝ่ƒฝๆปก่ถณๅคงๅคšๆ•ฐๅœบๆ™ฏ๏ผŒไฝ†ๅœจๅฎžๆ—ถๆ€ง่ฆๆฑ‚่พƒ้ซ˜็š„้ข†ๅŸŸโ€”โ€”ๅฆ‚ๆธธๆˆใ€่Šๅคฉใ€่ง†้ข‘ไผš่ฎฎ๏ผŒไปฅๅŠ AI ๆ—ถไปฃ็š„ๅฏน่ฏๅผๅบ”็”จโ€”โ€”ๅดๆ˜พๅพ—ๅŠ›ไธไปŽๅฟƒใ€‚

ไธบ่งฃๅ†ณ่ฟ™ไธ€้—ฎ้ข˜๏ผŒไธš็•Œๅ‘ๅฑ•ๅ‡บไบ†ๅคš็งๅฎžๆ—ถ Web ้€šไฟกๆ–นๆกˆใ€‚ๆœฌๆ–‡ๅฐ†ๅ›ด็ป• ๆตๅผ HTTPใ€SSEใ€WebSocketใ€Webhooksใ€HTTP ่ฝฎ่ฏข ่ฟ™ไบ”็งไธปๆตๆŠ€ๆœฏ๏ผŒไปŽๅŽŸ็†ใ€็‰นๆ€งใ€้€‚็”จๅœบๆ™ฏๅ‡บๅ‘๏ผŒๆŽข่ฎจๅฎƒไปฌๅœจ็Žฐไปฃๅˆ†ๅธƒๅผๆžถๆž„ไธญ็š„้€‰ๅž‹็ญ–็•ฅไธŽๅทฅ็จ‹ๅฎž่ทตใ€‚

2. ไผ ็ปŸ HTTPโ€”โ€”Web ้€šไฟก็š„ๅŸบ็Ÿณ โ€‹

่‡ช 1991 ๅนด่ฏž็”Ÿไปฅๆฅ๏ผŒHTTP๏ผˆ่ถ…ๆ–‡ๆœฌไผ ่พ“ๅ่ฎฎ๏ผ‰ไพฟๆˆไธบไบ†ไบ’่”็ฝ‘่ฟ่กŒ็š„โ€œ้€š็”จ่ฏญ่จ€โ€ใ€‚ไฝœไธบไธ€็งๆ— ็Šถๆ€ใ€ๅŸบไบŽโ€œ่ฏทๆฑ‚-ๅ“ๅบ”โ€ๆจกๅผ็š„ๅบ”็”จๅฑ‚ๅ่ฎฎ๏ผŒๅฎƒๆž„็ญ‘ไบ†็Žฐไปฃ Web ้€šไฟก็š„็จณๅ›บๅŸบ็Ÿณใ€‚

ๅœจๆ ธๅฟƒ่ฟไฝœๆœบๅˆถไธŠ๏ผŒไผ ็ปŸ HTTP ้ตๅพช็€ไธฅ่ฐจ็š„ๅ•ๅ‘้ฉฑๅŠจ้€ป่พ‘๏ผš้€šไฟกๅฟ…้กป็”ฑๅฎขๆˆท็ซฏๅ‘่ตท่ฏทๆฑ‚๏ผˆRequest๏ผ‰๏ผŒๆœๅŠกๅ™จๅœจๅค„็†ๅฎŒๆˆๅŽ่ฟ”ๅ›žๅฎŒๆ•ด็š„ๅ“ๅบ”๏ผˆResponse๏ผ‰ใ€‚ไธ€ๆ—ฆๆ•ฐๆฎไผ ่พ“ๅฎŒๆˆ๏ผŒ่ฟžๆŽฅๅœจ้€ป่พ‘ไธŠๅณๅ‘Š็ป“ๆŸใ€‚

็ปดๅบฆ่ฏดๆ˜Ž
็ฝ‘็ปœ็‰นๅพHTTP ๆž„ๅปบไบŽ TCP ๅ่ฎฎไน‹ไธŠใ€‚ๅฐฝ็ฎกไปŽ HTTP/1.1 ๅผ€ๅง‹๏ผŒๅ่ฎฎ้ป˜่ฎคๅผ€ๅฏไบ† Connection: keep-alive ๆœบๅˆถไปฅๅค็”จๅบ•ๅฑ‚ TCP ่ฟžๆŽฅ๏ผŒๅ‡ๅฐ‘ไบ†้ข‘็นไธ‰ๆฌกๆกๆ‰‹็š„ๅผ€้”€๏ผŒไฝ†ๅœจๅบ”็”จๅฑ‚ๅฑ‚้ข๏ผŒๅฎƒไพ็„ถ็ปดๆŒ็€ๅŠๅŒๅทฅ้€šไฟก็š„ๆœฌ่ดจโ€”โ€”ๅœจๅŒไธ€ๆ—ถๅˆป๏ผŒๆ•ฐๆฎๅช่ƒฝๅ•ๅ‘ๆตๅŠจ๏ผŒไธ”ๆœๅŠกๅ™จๆฐธ่ฟœๅค„ไบŽ"่ขซๅŠจๅบ”็ญ”"็Šถๆ€ใ€‚
ๅ…ธๅž‹ๅบ”็”จ่ฟ™็งๆจกๅผๅฎŒ็พŽๅฅ‘ๅˆไบ†็ปๅคงๅคšๆ•ฐ้žๅณๆ—ถๆ€ง็š„่ต„ๆบ่Žทๅ–ๅœบๆ™ฏ๏ผŒๅฆ‚ๅŠ ่ฝฝ็ฝ‘้กต HTMLใ€่ฐƒ็”จๆ ‡ๅ‡† RESTful API๏ผˆ่Žทๅ–็”จๆˆทไฟกๆฏใ€ๆไบค่กจๅ•๏ผ‰ไปฅๅŠๅŠ ่ฝฝ้™ๆ€ๅ›พ็‰‡็ญ‰ใ€‚

้š็€ Web ๅบ”็”จๅ‘โ€œๅฎžๆ—ถๅŒ–โ€ไธŽโ€œ้ซ˜ไบ’ๅŠจโ€ๆผ”่ฟ›๏ผŒไผ ็ปŸ HTTP ็š„ๅ›บๆœ‰็‰นๆ€ง้€ๆธๆผ”ๅ˜ไธบๅผ€ๅ‘็š„็—›็‚น๏ผš

็—›็‚น่ฏดๆ˜Ž
ๆ— ๆณ•ไธปๅŠจๆŽจ้€ๆœๅŠกๅ™จๅฆ‚ๅŒไธ€ไธช่ขซๅŠจ็š„ไป“ๅบ“็ฎก็†ๅ‘˜๏ผŒๅณไพฟไป“ๅบ“ๅ†…็š„ๆ•ฐๆฎๅ‘็”Ÿไบ†ๆ›ดๆ–ฐ๏ผŒๅช่ฆๅฎขๆˆท็ซฏไธไธปๅŠจ่ฏข้—ฎ๏ผŒๆœๅŠกๅ™จไนŸๆ— ๆณ•ๅฐ†ๆ–ฐไฟกๆฏ่งฆ่พพ็”จๆˆทใ€‚
ๅคด้ƒจๅผ€้”€ๆฒ‰้‡ๅœจ HTTP/1.x ไธญ๏ผŒๆฏๆฌก่ฏทๆฑ‚้ƒฝๅฟ…้กปๆบๅธฆๅฎŒๆ•ด็š„ Header ไฟกๆฏ๏ผˆๅŒ…ๆ‹ฌ Cookieใ€User-Agent ็ญ‰๏ผ‰ใ€‚ๅฏนไบŽๅฎžๆ—ถๆ€ง่ฆๆฑ‚้ซ˜ใ€ไฝ†ๅ•ๆฌกๆ•ฐๆฎๅŒ…ๆžๅฐ็š„ๅœบๆ™ฏ๏ผˆๅฆ‚ไผ ๆ„Ÿๅ™จๆ•ฐๅ€ผๅŒๆญฅ๏ผ‰๏ผŒ่ฟ™ไบ›้‡ๅค็š„ๅคด้ƒจๆ•ฐๆฎๅพ€ๅพ€ๆฏ”ๆœ‰ๆ•ˆ่ฝฝ่ท่ฟ˜่ฆๅคง๏ผŒ้€ ๆˆไบ†ๅธฆๅฎฝ็š„ๆžๅคงๆตช่ดนใ€‚
ๅฎžๆ—ถๆ€ง็š„"ไผชๅฎž็Žฐ"ๅœจ WebSocket ็ญ‰ๅŽŸ็”Ÿๅฎžๆ—ถๆŠ€ๆœฏๆˆ็†Ÿๅ‰๏ผŒไธบไบ†ๆจกๆ‹Ÿๅฎžๆ—ถๆ•ˆๆžœ๏ผŒๅผ€ๅ‘่€…้€šๅธธ่ขซ่ฟซ้‡‡็”จ่ฝฎ่ฏข๏ผˆPolling๏ผ‰ๆŠ€ๆœฏใ€‚ๆ— ่ฎบๆ˜ฏ้ข‘็นๅ‘่ตท่ฟžๆŽฅ็š„็Ÿญ่ฝฎ่ฏข๏ผŒ่ฟ˜ๆ˜ฏ้•ฟๆ—ถ้—ดๆŒ‚่ตท่ฏทๆฑ‚็š„้•ฟ่ฝฎ่ฏข๏ผˆLong Polling๏ผ‰๏ผŒ้ƒฝไผšไบง็”Ÿๅคง้‡ๅ†—ไฝ™่ฏทๆฑ‚๏ผŒๅฏนๆœๅŠกๅ™จๅนถๅ‘ๅค„็†่ƒฝๅŠ›ๆๅ‡บไบ†ไธฅๅณปๆŒ‘ๆˆ˜ใ€‚

3. ๆตๅผ HTTP(Streamable HTTP) โ€‹

ๅฆ‚ๆžœ่ฏดไผ ็ปŸ HTTP ๆ˜ฏไธฅ่ฐจ็š„โ€œไธ€้—ฎไธ€็ญ”โ€๏ผŒ้‚ฃไนˆๆตๅผ HTTP๏ผˆStreamable HTTP๏ผ‰ๅˆ™ๆ›ดๅƒๆ˜ฏไธ€ๆฌกโ€œๆœชๅฎŒๅพ…็ปญโ€็š„ๆทฑๅบฆไบคๆตใ€‚ๅฎƒ้€š่ฟ‡ๅฏนๅ“ๅบ”ๆœบๅˆถ็š„ๅทงๅฆ™โ€œๅ˜ๅผ‚โ€๏ผŒๆ‰“็ ดไบ†โ€œๆœๅŠก็ซฏๅฟ…้กป็งฏๆ”’ๅ…จ้ƒจ็ป“ๆžœๆ‰่ƒฝ่ฟ”ๅ›žโ€็š„็‰ฉ็†้™ๅˆถ๏ผŒๅฎž็Žฐไบ†ๆ•ฐๆฎ็š„่พน่ฎก็ฎ—ใ€่พนไผ ่พ“ใ€‚

3.1 ๆ ธๅฟƒๅŽŸ็†๏ผšๅˆ†ๅ—ไผ ่พ“็š„่‰บๆœฏ โ€‹

ๆตๅผ HTTP ็š„็ฒพ้ซ“ๅœจไบŽๅฎƒไธๅ†่ฟฝๆฑ‚ไธ€ๆฌกๆ€งไบคไป˜๏ผŒ่€Œๆ˜ฏ้€š่ฟ‡็‰นๅฎš็š„ๅ่ฎฎๅคด๏ผŒๅฐ†ๆ•ฐๆฎๅŒ–ๆ•ดไธบ้›ถ๏ผš

  • ไผ ่พ“ๆœบๅˆถ๏ผšๅœจ HTTP ๅ“ๅบ”ๅคดไธญๅฃฐๆ˜Ž Transfer-Encoding: chunked๏ผˆๅˆ†ๅ—ไผ ่พ“็ผ–็ ๏ผ‰ๆˆ– Content-Type: text/event-streamใ€‚่ฟ™ๅ‘Š่ฏ‰ๅฎขๆˆท็ซฏ๏ผšๆœๅŠกๅ™จ็›ฎๅ‰ๅฐšไธๆธ…ๆฅšๅ“ๅบ”็š„ๆ€ป้•ฟๅบฆ๏ผˆContent-Length๏ผ‰๏ผŒไฝ†ไผšๅฐ†ๆ•ฐๆฎๅˆ‡ๅˆ†ๆˆไธ€ไธชไธช้€ป่พ‘ๅ—๏ผˆChunks๏ผ‰ไพๆฌกไธ‹ๅ‘ใ€‚

  • ็ฝ‘็ปœ็‰นๅพ๏ผšๅฎขๆˆท็ซฏๅœจๆŽฅๆ”ถๅˆฐ 200 OK ็Šถๆ€็ ๅŽ๏ผŒๅบ•ๅฑ‚ TCP ่ฟžๆŽฅๅนถไธไผš็ซ‹ๅณๅ…ณ้—ญใ€‚ๅ€ŸๅŠฉ็Žฐไปฃๆต่งˆๅ™จ็š„ Fetch API ๅŠๅ…ถ ReadableStream ็‰นๆ€ง๏ผŒๅ‰็ซฏๅฏไปฅๅƒๆŽฅๆฐด็ฎกไธ€ๆ ท๏ผŒๅฎžๆ—ถ่ฏปๅ–ๅนถๅค„็†ๆบๆบไธๆ–ญไผ ๆฅ็š„ๆ•ฐๆฎๅ—๏ผŒ็›ดๅˆฐๆœๅŠกๅ™จๅ‘้€ไธ€ไธช้•ฟๅบฆไธบ 0 ็š„็ปˆๆญขไฟกๅทใ€‚

3.2 ๅบ”็”จๅœบๆ™ฏ๏ผšไปŽๅคงๆ–‡ไปถๅˆฐ AI ๆ—ถไปฃ โ€‹

่ฟ™็งโ€œ่พน่ฏป่พนๆ’ญโ€็š„็‰นๆ€ง๏ผŒไฝฟๅ…ถๅœจไปฅไธ‹ๅœบๆ™ฏไธญๆ— ๅฏๆ›ฟไปฃ๏ผš

  • AI ๅคงๆจกๅž‹โ€œๆ‰“ๅญ—ๆœบโ€ๆ•ˆๆžœ๏ผš่ฟ™ๆ˜ฏๅฝ“ๅ‰ๆœ€็ซ็ƒญ็š„ๅบ”็”จใ€‚ChatGPTใ€Claude ็ญ‰ๆจกๅž‹็”Ÿๆˆ็š„้•ฟๆ–‡ๆœฌ๏ผŒๆญฃๆ˜ฏ้€š่ฟ‡ๆตๅผ HTTP ๅฐ†ๅ“ๅบ”ๆ•ฐๆฎๅฎžๆ—ถๆŽจ้€ๅˆฐๅ‰็ซฏ๏ผŒๆ˜พ่‘—้™ไฝŽไบ†็”จๆˆท็š„้ฆ–ๅญ—ๆ„Ÿ็Ÿฅๅปถ่ฟŸ๏ผˆTTFT๏ผ‰ใ€‚

  • ๅคงๅฎน้‡่ต„ๆบไธ‹ๅ‘๏ผšๅฆ‚่ถ…ๅคงๆ–‡ไปถๆˆ–่ง†้ข‘ๆต็š„ๆฎต่ฝๅŒ–ๅŠ ่ฝฝ๏ผŒ้ฟๅ…ไบ†ๅ†…ๅญ˜็ˆ†ไป“๏ผŒๆๅ‡ไบ†็ณป็ปŸๅžๅ้‡ใ€‚

  • SSE ็š„็ตๆดปๆ›ฟไปฃๆ–นๆกˆ๏ผš้…ๅˆ fetch-event-source ็ญ‰ๅบ“๏ผŒๅฎƒ่ƒฝๅฎŒ็พŽๆจกๆ‹Ÿ SSE ็š„้•ฟ่ฟžๆŽฅๅŠŸ่ƒฝ๏ผŒๅŒๆ—ถ่ง„้ฟไบ†ๆ ‡ๅ‡† SSE ๅœจ่ฏทๆฑ‚ๆ–นๅผ๏ผˆไป…้™ GET๏ผ‰ๅ’Œ่‡ชๅฎšไน‰ Header ไธŠ็š„้™ๅˆถใ€‚

3.3 ้š่—็š„ๅ‘๏ผšไปฃ็†ไธŽ็ผ“ๅ†ฒ โ€‹

่™ฝ็„ถๆตๅผไผ ่พ“ๅœจ้€ป่พ‘ไธŠๅพˆ็พŽๅฅฝ๏ผŒไฝ†ๅœจๅทฅ็จ‹่ฝๅœฐๆ—ถๅฟ…้กปๅ…ณๆณจโ€œ้“พ่ทฏ้€š็•…โ€้—ฎ้ข˜๏ผš

ๅฑ€้™่ฏดๆ˜Ž
ๅ•ๅ‘ไผ ่พ“ๅฑ€้™ๅฎƒๆœฌ่ดจไธŠไปๆ˜ฏ Server-to-Client ็š„ๅ•ๅ‘ๆตใ€‚ๅฆ‚ๆžœไธšๅŠก้œ€่ฆๅฎขๆˆท็ซฏไนŸๅฎžๆ—ถๅ›žไผ ๆ•ฐๆฎ๏ผŒๅˆ™้œ€่ฆ่€ƒ่™‘ๅ…ถไป–ๅŒๅ‘้€šไฟกๅ่ฎฎใ€‚
ไปฃ็†ๆœๅŠก่ฟ™ๆ˜ฏๆœ€ๅธธ่ง็š„ๅ‘ใ€‚ไธ€ไบ›ๆ—ง็‰ˆ Nginxใ€้˜ฒ็ซๅข™ๆˆ–่ดŸ่ฝฝๅ‡่กกๅ™จ้ป˜่ฎคๅผ€ๅฏไบ†ๅผบ็ผ“ๅ†ฒ๏ผˆBuffering๏ผ‰ๆœบๅˆถใ€‚ๅฎƒไปฌไผš่ฏ•ๅ›พ"็งฏๆ”’"่ถณๅคŸๅคš็š„ๆตๅผๆ•ฐๆฎๅ†็ปŸไธ€ๅ‘็ป™ๅฎขๆˆท็ซฏใ€‚่ฟ™ๅฏนไบŽๅฎžๆ—ถ AI ๅฏน่ฏๆ˜ฏ่‡ดๅ‘ฝ็š„๏ผŒๅผ€ๅ‘่€…ๅฟ…้กป็กฎไฟไปฃ็†ๅฑ‚้…็ฝฎไบ† X-Accel-Buffering: no ็ญ‰ๆŒ‡ไปคๆฅ็ฆ็”จ็ผ“ๅ†ฒ๏ผŒ็กฎไฟๆ•ฐๆฎ็š„"็›ด่พพๆ€ง"ใ€‚

4. SSE (Server-Sent Events)๏ผš่ง„่ŒƒๅŒ–็š„ๅ•ๅ‘ๆŽจ้€ๅ่ฎฎ โ€‹

ๅฆ‚ๆžœ่ฏด ๆตๅผ HTTP ๆ˜ฏไธ€็งๅบ•ๅฑ‚็š„โ€œไผ ่พ“ๆœบๅˆถโ€๏ผŒ้‚ฃไนˆ SSE ๅˆ™ๆ˜ฏๅŸบไบŽๆญคๆœบๅˆถๅปบ็ซ‹็š„ไธ€ๅฅ—ๆ ‡ๅ‡†ๅŒ–ๅบ”็”จๅฑ‚ๅ่ฎฎใ€‚ๅฎƒไธ“้—จไธบโ€œๆœๅŠกๅ™จๅ‘ๅฎขๆˆท็ซฏๆŽจ้€ไบ‹ไปถโ€่€Œ็”Ÿ๏ผŒๅœจ้€ป่พ‘ไธŠๆฏ”็บฏ็ฒน็š„ๆตๅผไผ ่พ“ๆ›ดๅ…ท็บฆๆŸๅŠ›๏ผŒไนŸๆ›ดไพฟไบŽๆต่งˆๅ™จ้›†ๆˆใ€‚

4.1 ๆ ธๅฟƒๅŽŸ็†๏ผšไธฅๆ ผ็š„ๆ–‡ๆœฌๅฅ‘็บฆ โ€‹

SSE ไธๅ…่ฎธๅƒๆ™ฎ้€šๆต้‚ฃๆ ท้šๅฟƒๆ‰€ๆฌฒๅœฐไผ ่พ“ๅญ—็ฌฆ๏ผŒๅฎƒ่ฆๆฑ‚ๅ“ๅบ”ๅคดๅผบๅˆถ่ฎพๅฎšไธบ Content-Type: text/event-stream๏ผŒไธ”ๆ•ฐๆฎๆ ผๅผๅฟ…้กป้ตๅพชไธ€ๅฅ—ไธฅๅฏ†็š„โ€œๆŠฅๆ–‡่ง„่Œƒโ€๏ผš

  • ็ป“ๆž„ๅŒ–ๅญ—ๆฎต๏ผšๆฏๆกๆถˆๆฏ็”ฑ id:๏ผˆไบ‹ไปถ ID๏ผ‰ใ€event:๏ผˆไบ‹ไปถ็ฑปๅž‹๏ผ‰ใ€data:๏ผˆไธšๅŠกๆ•ฐๆฎ๏ผ‰ๅ’Œ retry:๏ผˆ้‡่ฟž้—ด้š”๏ผ‰็ญ‰ๅญ—ๆฎต็ป„ๆˆใ€‚

  • ๆถˆๆฏ่พน็•Œ๏ผšๅฟ…้กปไปฅๅŒๆข่กŒ็ฌฆ \\n\\n ไฝœไธบไธ€ๆก็‹ฌ็ซ‹ๆถˆๆฏ็š„็ปˆ็‚นใ€‚่ฟ™็งๅ่ฎฎ็บง็š„็บฆๅฎš๏ผŒไฝฟๅพ—ๅฎขๆˆท็ซฏ่ƒฝๅคŸ็ฒพๅ‡†ๅœฐๆ‹†ๅˆ†ๅ‡บๆฏไธ€ๆกไธšๅŠกไบ‹ไปถ๏ผŒ่€Œๆ— ้œ€ๅผ€ๅ‘่€…ๆ‰‹ๅŠจๅค„็†ๆต็š„ๅˆ‡็‰‡้€ป่พ‘ใ€‚

4.2 ็ฝ‘็ปœๆœบๅˆถ๏ผšๅŽŸ็”Ÿๆต่งˆๅ™จ็š„โ€œ่‡ชๅŠจ้ฉพ้ฉถโ€ โ€‹

SSE ็š„ไธ€ๅคงไผ˜ๅŠฟๅœจไบŽๅ…ถๆทฑๅบฆ้›†ๆˆไบ†ๆต่งˆๅ™จๅŽŸ็”Ÿ็š„ EventSource APIใ€‚่ฟ™่ต‹ไบˆไบ†ๅฎƒ่ฎธๅคšๅผ€็ฎฑๅณ็”จ็š„้ซ˜็บง็‰นๆ€ง๏ผš

  • ่‡ชๅŠจ้‡่ฟž๏ผšๅฝ“็ฝ‘็ปœๆณขๅŠจๅฏผ่‡ด่ฟžๆŽฅไธญๆ–ญๆ—ถ๏ผŒEventSource ไผš่‡ชๅŠจๅ‘่ตท้‡่ฟžๅฐ่ฏ•ใ€‚

  • ็Šถๆ€่ฟฝ่ธช๏ผšๅˆฉ็”จ Last-Event-ID ๆœบๅˆถ๏ผŒๅฎขๆˆท็ซฏๅœจ้‡่ฟžๆ—ถไผš่‡ชๅŠจๆบๅธฆๆœ€ๅŽไธ€ๆฌกๆ”ถๅˆฐ็š„ ID๏ผŒๆœๅŠก็ซฏๆฎๆญคๅฏไปฅๅฎž็Žฐๆ•ฐๆฎ็š„โ€œๆ–ญ็‚น็ปญไผ โ€๏ผŒ็กฎไฟๆถˆๆฏไธไธขๅคฑใ€‚

4.3 ๅ…ธๅž‹ๅœบๆ™ฏ๏ผš่ฝป้‡็บง็š„ๅฎžๆ—ถๆ„Ÿ็Ÿฅ โ€‹

SSE ๆžๅ…ถ้€‚ๅˆ้‚ฃไบ›โ€œ้ซ˜้ข‘ไธ‹ๅ‘ใ€ไฝŽ้ข‘ไธŠๆŠฅโ€็š„ไธšๅŠกๅœบๆ™ฏ๏ผš

ๅœบๆ™ฏ่ฏดๆ˜Ž
้‡‘่ž/่กŒๆƒ…่‚ก็ฅจไปทๆ ผใ€ๅŠ ๅฏ†่ดงๅธ็š„ๅฎžๆ—ถๆณขๅŠจใ€‚
็Šถๆ€็›‘ๆŽง็ณป็ปŸ่ต„ๆบๅ ็”จๅคง็›˜ใ€CI/CD ๆž„ๅปบ่ฟ›ๅบฆๆกใ€‚
็คพไบคๆ้†’็ซ™ๅ†…ไฟก้€š็Ÿฅใ€็‚น่ตžไบ’ๅŠจ็š„ๅฎžๆ—ถๆ›ดๆ–ฐใ€‚

4.4 ๅทฅ็จ‹้ฟๅ‘ๆŒ‡ๅ—๏ผšไธๅฏๅฟฝ่ง†็š„็บฆๆŸ โ€‹

ๅฐฝ็ฎก SSE ่ถณๅคŸ่ฝปๅทง๏ผŒไฝ†ๅœจๅฎž้™…ๆžถๆž„่ฎพ่ฎกไธญ๏ผŒๅฟ…้กปๆญฃ่ง†ๅ…ถๅฑ€้™ๆ€ง๏ผš

ๅฑ€้™่ฏดๆ˜Ž
ๆ–‡ๆœฌ็ผ–็ ้™ๅˆถSSE ไป…ๆ”ฏๆŒ UTF-8 ๆ–‡ๆœฌๆตใ€‚ๅฆ‚ๆžœ้œ€่ฆไผ ่พ“ไบŒ่ฟ›ๅˆถๆ–‡ไปถ๏ผˆๅฆ‚ๅฎžๆ—ถ็”Ÿๆˆ็š„็ผฉ็•ฅๅ›พ๏ผ‰๏ผŒๅฟ…้กปๅ…ˆ่ฝฌ็ ไธบ Base64๏ผŒ่ฟ™ไผšๅธฆๆฅ็บฆ 33% ็š„ไฝ“็งฏๅผ€้”€ใ€‚
ๆต่งˆๅ™จ"ๅ•่กŒ้“"้™ๅˆถๅŽŸ็”Ÿ็š„ EventSource ไป…ๆ”ฏๆŒ GET ่ฏทๆฑ‚ใ€‚ๅœจ้œ€่ฆไผ ้€’ๅคๆ‚ๆŸฅ่ฏขๅ‚ๆ•ฐ๏ผˆๅฆ‚่ถ…้•ฟ็š„ JSON ่ฟ‡ๆปคๅ™จ๏ผ‰ๆ—ถ๏ผŒ่ฟ™ไธ€้™ๅˆถๆ˜พๅพ—้žๅธธๅฑ€ไฟƒใ€‚่ฟ™ไนŸๆ˜ฏไธบไป€ไนˆ่ฎธๅคš็Žฐไปฃ้กน็›ฎ๏ผˆๅฆ‚ AI ่Šๅคฉๅบ”็”จ๏ผ‰ๅฎๆ„ฟไฝฟ็”จ Fetch ๆจกๆ‹Ÿ SSE ็š„ๅŽŸๅ› ใ€‚
่ฟžๆŽฅๆ•ฐๆฐดไฝ็บฟๅœจ HTTP/1.1 ็Žฏๅขƒไธ‹๏ผŒๆต่งˆๅ™จๅฏนๅŒไธ€ๅŸŸๅ็š„ๅนถๅ‘้•ฟ่ฟžๆŽฅ้™ๅˆถ้€šๅธธๅชๆœ‰ 6 ไธชใ€‚่ฟ™ๆ„ๅ‘ณ็€ๅฆ‚ๆžœไฝ ๅœจๆต่งˆๅ™จไธญๅคšๅผ€ไบ†ๅ‡ ไธช็›‘ๆŽงๆ ‡็ญพ้กต๏ผŒๅพˆๅฏ่ƒฝไผš่€—ๅฐฝ่ฟžๆŽฅๆฑ ๏ผŒๅฏผ่‡ด้กต้ขๅ…ถไป–่ฏทๆฑ‚ๅฎŒๅ…จ้˜ปๅกžใ€‚(ๆณจ๏ผšๅœจ HTTP/2 ๅŠไปฅไธŠ็‰ˆๆœฌไธญ๏ผŒ็”ฑไบŽๅคš่ทฏๅค็”จ็‰นๆ€ง็š„ๅญ˜ๅœจ๏ผŒ่ฟ™ไธ€้™ๅˆถๅทฒๅŸบๆœฌๆถˆ้™ค)ใ€‚

5. WebSocket๏ผšๅ…จๅŒๅทฅ้€šไฟก โ€‹

WebSocket ไธๅŒไบŽ ๆตๅผ HTTP ๅ’Œ SSE ่ฟ™็งๅœจไผ ็ปŸ HTTP ๆก†ๆžถไธ‹็š„โ€œ็ฒพ้›•็ป†็ขโ€๏ผŒ่€Œๆ˜ฏไธ€ๆฌกๅฝปๅบ•็š„โ€œ่Œƒๅผ้ฉๅ‘ฝโ€ใ€‚ๅฎƒไธไป…ไป…ๆ˜ฏไธ€ไธช็ฎ€ๅ•็š„ API๏ผŒ่€Œๆ˜ฏไธ€ไธช็‹ฌ็ซ‹็š„ใ€ไธŽ HTTP ๅนณ็บง็š„ๅบ”็”จๅฑ‚ๅ่ฎฎใ€‚

ๅฎƒๆ˜ฏไธ€็งๅŸบไบŽ TCP ๅ่ฎฎ็š„ๅ…จๅŒๅทฅ้€šไฟกๅ่ฎฎ๏ผŒ็œŸๆญฃ็š„ๅ…จๅŒๅทฅๆŒไน…่ฟžๆŽฅๆ–นๆกˆ๏ผŒ้€š่ฟ‡ไธ€ๆฌก HTTP ๆกๆ‰‹ๅฎŒๆˆๅ่ฎฎๅ‡็บงๅŽ๏ผŒๅฎขๆˆท็ซฏไธŽๆœๅŠกๅ™จๅฏๅŒๅ‘ใ€ๅฎžๆ—ถใ€ไฝŽๅปถ่ฟŸๅœฐไผ ่พ“ๆ•ฐๆฎ๏ผŒ่ฟžๆŽฅๅ…จ็จ‹ไฟๆŒๅผ€ๆ”พใ€‚ๆ—จๅœจๆ‰“็ ดโ€œ่ฏทๆฑ‚-ๅ“ๅบ”โ€็š„ๆŸ็ผš๏ผŒๅปบ็ซ‹่ตท็œŸๆญฃๆ„ไน‰ไธŠ็š„โ€œ้›ถๅปถ่ฟŸโ€ๅŒๅ‘้€š้“ใ€‚

5.1 ๆ ธๅฟƒๅŽŸ็† โ€‹

WebSocket ็š„ๅปบ็ซ‹้ตๅพชไธ€ไธชๆ ‡ๅ‡†ๅŒ–็š„ๅ่ฎฎๅ‡็บงๆต็จ‹๏ผš

  • ๅ่ฎฎๅ‡็บงๆกๆ‰‹๏ผš่ฟžๆŽฅๅˆๅง‹ๅŒ–้˜ถๆฎต้‡‡็”จๆ ‡ๅ‡† HTTP ่ฏทๆฑ‚ใ€‚ๅฎขๆˆท็ซฏๅœจ่ฏทๆฑ‚ๅคดไธญๅฃฐๆ˜Ž Upgrade: websocket ไธŽ Connection: Upgrade๏ผŒ่กจๆ˜Žๅ่ฎฎๅ‡็บงๆ„ๅ›พใ€‚

  • ่ฟžๆŽฅ็Šถๆ€่ฝฌๆข๏ผšๆœๅŠกๅ™จ็กฎ่ฎคๆ”ฏๆŒ WebSocket ๅ่ฎฎๅŽ๏ผŒ่ฟ”ๅ›ž 101 Switching Protocols ็Šถๆ€็ ใ€‚่‡ณๆญค๏ผŒๅบ•ๅฑ‚ TCP ่ฟžๆŽฅๅฎŒๆˆๅ่ฎฎๅˆ‡ๆข๏ผŒๅŽ็ปญ้€šไฟก้‡‡็”จ WebSocket ๅธงๆ ผๅผ่ฟ›่กŒๆ•ฐๆฎไผ ่พ“๏ผŒไธๅ†ๆ‰ฟ่ฝฝ HTTP ๅ่ฎฎๅผ€้”€ใ€‚

5.2 ็ฝ‘็ปœๆœบๅˆถ โ€‹

ๅœจ WebSocket ่ฟžๆŽฅๅปบ็ซ‹ๅŽ๏ผŒ้€šไฟกๅŒๆ–นไผš่ฟ›ๅ…ฅๅ…จๅŒๅทฅๅฏน็ญ‰ไผ ่พ“็Šถๆ€๏ผš

  • ๅ…จๅŒๅทฅๆ•ฐๆฎไผ ่พ“๏ผšๅฎขๆˆท็ซฏไธŽๆœๅŠกๅ™จๅฏ้šๆ—ถใ€็‹ฌ็ซ‹ๅœฐๅ‘ๅฏน็ซฏๅ‘้€ๆ•ฐๆฎ๏ผŒๆ— ้œ€็ญ‰ๅพ…ๅฏนๆ–น่ฏทๆฑ‚ๆˆ–็กฎ่ฎคใ€‚่ฟ™็งๅŒๅ‘ๅนถๅ‘้€šไฟกๆœบๅˆถๅฝปๅบ•ๆ‘†่„ฑไบ† HTTP ๅ่ฎฎ"่ฏทๆฑ‚-ๅ“ๅบ”"็š„ไธฒ่กŒ็บฆๆŸ๏ผŒๅฎž็ŽฐไฝŽๅปถ่ฟŸ็š„ๅฎžๆ—ถๆ•ฐๆฎไบคๆขใ€‚

  • ่ฝป้‡็บงๅธง็ป“ๆž„๏ผš็›ธ่พƒไบŽ HTTP ๅ่ฎฎๆ•ฐ็™พๅญ—่Š‚็š„้ฆ–้ƒจๅผ€้”€๏ผŒWebSocket ๆ•ฐๆฎๅธง้ฆ–้ƒจๆžไธบ็ดงๅ‡‘๏ผŒๅ›บๅฎš้ƒจๅˆ†ไป… 2 ๅญ—่Š‚๏ผŒๅธฆๆŽฉ็ ๆ—ถๆœ€ๅคง 14 ๅญ—่Š‚ใ€‚ๅฏนไบŽ้ซ˜้ข‘ใ€ๅฐๆ•ฐๆฎๅŒ…ไผ ่พ“ๅœบๆ™ฏ๏ผˆๅฆ‚ๅฎžๆ—ถๆธธๆˆ็Šถๆ€ๅŒๆญฅใ€ไผ ๆ„Ÿๅ™จๆ•ฐๆฎ้‡‡้›†๏ผ‰๏ผŒๆ˜พ่‘—้™ไฝŽ็ฝ‘็ปœๅธฆๅฎฝๅ ็”จไธŽไผ ่พ“ๅปถ่ฟŸใ€‚

  • ๅŽŸ็”ŸไบŒ่ฟ›ๅˆถๆ”ฏๆŒ๏ผšWebSocket ๅ่ฎฎๅŽŸ็”Ÿๆ”ฏๆŒๆ–‡ๆœฌ๏ผˆUTF-8๏ผ‰ไธŽไบŒ่ฟ›ๅˆถๆ•ฐๆฎๅธง๏ผŒๆ— ้œ€ๅƒ SSE ้‚ฃๆ ท่ฟ›่กŒ Base64 ็ผ–็ ่ฝฌๆขใ€‚่ฏฅ็‰นๆ€งไฝฟๅ…ถๅœจๅฎžๆ—ถ้Ÿณ่ง†้ข‘ๆตไผ ่พ“ใ€ไบŒ่ฟ›ๅˆถๅ่ฎฎๅฐ่ฃ…็ญ‰ๅคšๅช’ไฝ“ๅœบๆ™ฏไธญๅ…ทๆœ‰ๆ˜พ่‘—็š„ๆ€ง่ƒฝไผ˜ๅŠฟใ€‚

5.3 ๅบ”็”จๅœบๆ™ฏ๏ผš้ซ˜ไบ’ๅŠจ็š„็ปˆๆžๆ–นๆกˆ โ€‹

ๅ‡กๆ˜ฏ้œ€่ฆโ€œๆฏซ็ง’็บงๅŒๆญฅโ€็š„ๅœบๆ™ฏ๏ผŒWebSocket ้ƒฝๆ˜ฏไธไบŒไน‹้€‰๏ผš

ๅœบๆ™ฏๅ…ธๅž‹ๅบ”็”จ
ๅณๆ—ถ้€š่ฎฏๅพฎไฟก็ฝ‘้กต็‰ˆใ€้ฃžไนฆ่Šๅคฉ
ๅๅŒๅŠžๅ…ฌGoogle Docsใ€Figma ็š„ๅคšไบบๅœจๅŒๆญฅ็ผ–่พ‘
็ซžๆŠ€ๆธธๆˆๅฎžๆ—ถๅŒๆญฅ็Žฉๅฎถๅๆ ‡ไธŽๆŒ‡ไปค็š„ MMO ๆˆ– MOBA ๆธธๆˆ
้‡‘่žๅšๅผˆๆž้€ŸๆณขๅŠจ็š„้‡ๅŒ–ไบคๆ˜“็ปˆ็ซฏ

5.4 ๅทฅ็จ‹่ฝๅœฐ็š„โ€œ้‡่ฃ…โ€ไปฃไปท โ€‹

ไฝœไธบไธ€็ง"ๆœ‰็Šถๆ€"็š„ๅ่ฎฎ๏ผŒWebSocket ๅœจๅธฆๆฅๆž่‡ดๆ€ง่ƒฝ็š„ๅŒๆ—ถ๏ผŒไนŸ็ป™ๅŽ็ซฏๆžถๆž„ๅธฆๆฅไบ†ๆฒ‰้‡็š„ๅคๆ‚ๆ€ง๏ผš

  • ็Šถๆ€็ปดๆŠคไธŽๅ†…ๅญ˜ๅผ€้”€
    ไธๅŒไบŽ HTTP ็š„"้˜…ๅŽๅณ็„š"ๆจกๅผ๏ผŒๆœๅŠกๅ™จๅฟ…้กปไธบๆฏไธ€ไธช WebSocket ่ฟžๆŽฅ็ปดๆŒไธ€ไธชๆŒไน…็š„ Session ็Šถๆ€ใ€‚ๅฝ“ๅนถๅ‘้‡ๆ”€ๅ‡่‡ณๅไธ‡็”š่‡ณ็™พไธ‡็บงๆ—ถ๏ผŒๅ†…ๅญ˜ๅ ็”จไธŽ้•ฟ่ฟžๆŽฅ็ฎก็†ๅŽ‹ๅŠ›ๅฐ†ๅ‘ˆๅ‡ ไฝ•็บงๆ•ฐๅขž้•ฟ๏ผŒๅฏนๆœๅŠกๅ™จ็š„่ต„ๆบ่ฐƒๅบฆ่ƒฝๅŠ›ๆๅ‡บไธฅๅณป่€ƒ้ชŒใ€‚

  • ๅˆ†ๅธƒๅผ็ณป็ปŸ็š„ๆŒ‘ๆˆ˜
    ๅœจๆฐดๅนณๆ‰ฉๅฎนๅœบๆ™ฏไธ‹๏ผŒWebSocket ๅ ช็งฐ่ดŸ่ฝฝๅ‡่กกๅ™จ็š„"ๅ™ฉๆขฆ"ใ€‚็”ฑไบŽ่ฟžๆŽฅๅ…ทๆœ‰็Šถๆ€ๅฑžๆ€ง๏ผŒ่‹ฅ็”จๆˆท A ่ฟžๆŽฅ่‡ณๆœบๅ™จ 1๏ผŒ็”จๆˆท B ่ฟžๆŽฅ่‡ณๆœบๅ™จ 2๏ผŒไบŒ่€…้—ด็š„้€šไฟกไพฟๆ— ๆณ•็›ดๆŽฅๅฎŒๆˆใ€‚ๆญคๆ—ถๅŽ็ซฏๅฟ…้กปๅผ•ๅ…ฅ Redis Pub/Subใ€ๆถˆๆฏ้˜Ÿๅˆ—๏ผˆMessage Queue๏ผ‰ๆˆ–ไธ“็”จ็ฝ‘ๅ…ณ็ญ‰ไธญ้—ดไปถ๏ผŒไปฅๅฎž็Žฐ่ทจ่Š‚็‚น็š„"ๆถˆๆฏๅฏน้ฝ"ไธŽ็Šถๆ€ๅŒๆญฅใ€‚

  • ๅŽŸๅง‹ๅ่ฎฎ็š„ๅฑ€้™
    WebSocket ๅ่ฎฎๆœฌ่บซ่ฎพ่ฎกๅพ—ๆžไธบ็ฒพ็ฎ€๏ผŒๅนถๆœชๅ†…็ฝฎ่‡ชๅŠจ้‡่ฟžใ€ๅฟƒ่ทณไฟๆดปๆˆ–ๆถˆๆฏ็กฎ่ฎค็ญ‰ๆœบๅˆถใ€‚ไธบไฟ้šœ่ฟžๆŽฅๅœจ็”Ÿไบง็Žฏๅขƒไธญ็š„้ฒๆฃ’ๆ€ง๏ผŒๅผ€ๅ‘่€…ๅฟ…้กปๅœจๅบ”็”จๅฑ‚่‡ช่กŒๅฎž็Žฐ Ping/Pong ๅฟƒ่ทณๆฃ€ๆต‹ใ€ๆ–ญ็บฟๆ„Ÿ็ŸฅไปฅๅŠๅธฆ้€€้ฟ็ญ–็•ฅ็š„้‡่ฟž้€ป่พ‘๏ผŒ่ฟ™ๆ— ็–‘ๅขžๅŠ ไบ†ๅทฅ็จ‹ๅฎž็Žฐ็š„ๅคๆ‚ๅบฆใ€‚

6. Webhooks๏ผšไบ‹ไปถ้ฉฑๅŠจ็š„ๅๅ‘ๅ›ž่ฐƒ โ€‹

ๅฆ‚ๆžœ่ฏด SSE ๆ˜ฏๆœๅŠกๅ™จ"ไธปๅŠจๆŽจ้€็ป™ๆต่งˆๅ™จ"๏ผŒ้‚ฃไนˆ Webhooks ๅˆ™ๆ˜ฏๆœๅŠกๅ™จ"ไธปๅŠจๆŽจ้€็ป™ๆœๅŠก็ซฏ"โ€”โ€”ๅฎƒๆ˜ฏไธ€็งๅŸบไบŽ HTTP ็š„ไบ‹ไปถ่งฆๅ‘ๆœบๅˆถ๏ผŒไธ“ไธบๆœๅŠก็ซฏๅ‘ๆœๅŠก็ซฏๅ•ๅ‘ๆŽจ้€่€Œ่ฎพ่ฎกใ€‚

6.1 ๆ ธๅฟƒๅŽŸ็†๏ผšๅ›ž่ฐƒ็š„่‡ชๅŠจๅŒ– โ€‹

Webhooks ็š„ๅทฅไฝœๆจกๅผ้žๅธธๆธ…ๆ™ฐ๏ผš

  • ไบ‹ไปถๆณจๅ†Œ๏ผšๅฎขๆˆท็ซฏ๏ผˆ้€šๅธธๆ˜ฏ็ฌฌไธ‰ๆ–นๅบ”็”จ๏ผ‰้ข„ๅ…ˆๅœจๆœๅŠก็ซฏๆณจๅ†Œไธ€ไธชๅ›ž่ฐƒ URL๏ผŒๅนถๆŒ‡ๅฎšๅ…ณๆณจ็š„ไบ‹ไปถ็ฑปๅž‹๏ผˆๅฆ‚"่ฎขๅ•ๅฎŒๆˆ"ใ€"็”จๆˆทๆณจๅ†Œ"ใ€"ๆ–‡ไปถไธŠไผ "็ญ‰๏ผ‰ใ€‚

  • ไบ‹ไปถ่งฆๅ‘๏ผšๅฝ“ๆœๅŠก็ซฏๅ‘็”ŸๆŒ‡ๅฎšไบ‹ไปถๆ—ถ๏ผŒๅฎƒไผšไธปๅŠจๅ‘ๅฎขๆˆท็ซฏๆณจๅ†Œ็š„ URL ๅ‘้€ไธ€ไธช HTTP POST ่ฏทๆฑ‚๏ผŒๅฐ†ไบ‹ไปถ่ฏฆๆƒ…ๅฐ่ฃ…ๅœจ่ฏทๆฑ‚ไฝ“ไธญใ€‚

  • ๅณๆ—ถๅ“ๅบ”๏ผšๅฎขๆˆท็ซฏๆ”ถๅˆฐๅ›ž่ฐƒๅŽ๏ผŒๆ‰ง่กŒ็›ธๅบ”ไธšๅŠก้€ป่พ‘๏ผˆๅฆ‚ๆ›ดๆ–ฐๆœฌๅœฐๆ•ฐๆฎใ€ๅ‘้€้€š็Ÿฅ็ญ‰๏ผ‰๏ผŒๅนถ่ฟ”ๅ›žไธ€ไธช็กฎ่ฎคๅ“ๅบ”ใ€‚

ๆ•ดไธช่ฟ‡็จ‹ๅฎŒๅ…จๅŸบไบŽๆ ‡ๅ‡† HTTP๏ผŒๆ— ้œ€็ปดๆŠคๆŒไน…่ฟžๆŽฅ๏ผŒไนŸๆ— ้œ€ๅฎขๆˆท็ซฏๆŒ็ปญ่ฝฎ่ฏขใ€‚

6.2 ๅ…ธๅž‹ๅœบๆ™ฏ๏ผš่ทจ็ณป็ปŸ็š„ๆพ่€ฆๅˆ้›†ๆˆ โ€‹

ๅœบๆ™ฏ่ฏดๆ˜Ž
ๆ”ฏไป˜ๅ›ž่ฐƒๅฝ“็”จๆˆทๅœจ็ฌฌไธ‰ๆ–นๆ”ฏไป˜ๅนณๅฐ๏ผˆๅฆ‚ Stripeใ€ๆ”ฏไป˜ๅฎ๏ผ‰ๅฎŒๆˆไป˜ๆฌพๅŽ๏ผŒๆ”ฏไป˜ๅนณๅฐไผšๅ‘ๅ•†ๆˆทๆœๅŠกๅ™จๅ‘้€ Webhook ๅ›ž่ฐƒ๏ผŒ้€š็Ÿฅไบคๆ˜“็ป“ๆžœใ€‚
็‰ˆๆœฌๆŽงๅˆถ็ณป็ปŸGitHubใ€GitLab ็ญ‰ๅนณๅฐ้€š่ฟ‡ Webhooks ๅœจไปฃ็ ๆไบคใ€PR ๅˆ›ๅปบๆ—ถ้€š็Ÿฅๅค–้ƒจ CI/CD ็ณป็ปŸใ€‚
็”ตๅ•†่ฎขๅ•ๅŒๆญฅ่ฎขๅ•็Šถๆ€ๅ˜ๆ›ดใ€็”จๆˆทๆณจๅ†Œ็ญ‰ไบ‹ไปถ่งฆๅ‘ๅŽ๏ผŒๅŒๆญฅ่‡ณ ERPใ€CRM ็ญ‰ๅ†…้ƒจ็ณป็ปŸใ€‚
ๆถˆๆฏๆŽจ้€้›†ๆˆๅฐ†ๆถˆๆฏๅนณๅฐ็š„ไบ‹ไปถ๏ผˆๅฆ‚็”จๆˆทๅ‘้€ๆถˆๆฏ๏ผ‰ๆŽจ้€่‡ณ่‡ชๆœ‰็š„่Šๅคฉๆœบๅ™จไบบๆˆ–ๅฎขๆœ็ณป็ปŸใ€‚

6.3 ๅทฅ็จ‹่€ƒ้‡๏ผšๅฏ้ ๆŠ•้€’ไธŽๅฎ‰ๅ…จ้˜ฒๆŠค โ€‹

่™ฝ็„ถ Webhooks ๆฆ‚ๅฟต็ฎ€ๅ•๏ผŒไฝ†ๅœจ็”Ÿไบง็Žฏๅขƒไธญ้œ€่ฆๅ…ณๆณจๅ‡ ไธชๅ…ณ้”ฎ้—ฎ้ข˜๏ผš

่€ƒ้‡็‚น่ฏดๆ˜Ž
ๅฏ้ ๆŠ•้€’ไฟ้šœHTTP ่ฏทๆฑ‚ๅฏ่ƒฝๅ› ็ฝ‘็ปœ้—ฎ้ข˜ๆŠ•้€’ๅคฑ่ดฅ๏ผŒๅ› ๆญคไธปๆตๅนณๅฐ้€šๅธธๆ”ฏๆŒๅคฑ่ดฅ้‡่ฏ•ๆœบๅˆถ๏ผŒๅนถ่ฆๆฑ‚ๅ›ž่ฐƒ็ซฏ็‚น่ฟ”ๅ›ž 2xx ็Šถๆ€็ ๆ‰่ง†ไธบๆˆๅŠŸใ€‚
ๅน‚็ญ‰ๆ€ง่ฎพ่ฎก็”ฑไบŽ้‡่ฏ•ๆœบๅˆถ็š„ๅญ˜ๅœจ๏ผŒๅŒไธ€ไธชไบ‹ไปถๅฏ่ƒฝ่ขซๅคšๆฌกๆŠ•้€’ใ€‚ๅฎขๆˆท็ซฏๅบ”ๅฝ“ๅ…ทๅค‡ๅน‚็ญ‰ๅค„็†่ƒฝๅŠ›๏ผŒ้ฟๅ…้‡ๅคไธšๅŠกๆ“ไฝœใ€‚
ๅฎ‰ๅ…จ้ชŒ่ฏไธบไบ†้˜ฒๆญขๆถๆ„ไผช้€ ๅ›ž่ฐƒ๏ผŒๆœๅŠก็ซฏ้€šๅธธไผšๅœจ่ฏทๆฑ‚ไธญๅŠ ๅ…ฅ็ญพๅ๏ผˆๅฆ‚ HMAC ็ญพๅ๏ผ‰๏ผŒๅฎขๆˆท็ซฏ้€š่ฟ‡้ชŒ่ฏ็ญพๅๆฅ็กฎ่ฎค่ฏทๆฑ‚็š„็œŸๅฎžๆ€งใ€‚

6.4 ไธŽ SSE ็š„ๆœฌ่ดจๅŒบๅˆซ โ€‹

็ปดๅบฆWebhooksSSE
ๆŽจ้€ๅฏน่ฑกๆœๅŠก็ซฏ โ†’ ๆœๅŠก็ซฏๆœๅŠก็ซฏ โ†’ ๆต่งˆๅ™จ
่ฟžๆŽฅๆ–นๅ‘็”ฑๆŽฅๆ”ถๆ–น้ข„ๅ…ˆๆšด้œฒ URL็”ฑๅ‘้€ๆ–นๅปบ็ซ‹ๅนถ็ปดๆŒ่ฟžๆŽฅ
้€‚็”จๅœบๆ™ฏ่ทจ็ณป็ปŸไบ‹ไปถๅŒๆญฅๆต่งˆๅ™จ็ซฏๅฎžๆ—ถๆ›ดๆ–ฐ
ๅ่ฎฎๅŸบ็ก€ๆ ‡ๅ‡† HTTP POST้•ฟ่ฟžๆŽฅ + EventSource API

7. ๅ…ณไบŽ HTTP ่ฝฎ่ฏข็š„่ฎจ่ฎบ โ€‹

HTTP ่ฝฎ่ฏขๆ˜ฏไธ€็งๆœ€ๆœด็ด ็š„ๅฎžๆ—ถ้€šไฟกๆ–นๆกˆ๏ผŒๆ˜ฏๅฎž็Žฐๅฎžๆ—ถๆ€ง็š„ๅŸบ็ก€ๆ–นๆกˆ๏ผŒๆ ธๅฟƒ้€ป่พ‘ๆ˜ฏๅฎขๆˆท็ซฏๅฎšๆ—ถๅ‘ๆœๅŠกๅ™จๅ‘่ตท่ฏทๆฑ‚๏ผŒไธปๅŠจๆ‹‰ๅ–ๆœ€ๆ–ฐๆ•ฐๆฎใ€‚

ไธๅฐ‘ไบบๅœจๅญฆไน ไบ† ๆตๅผ HTTPใ€SSE ๅ’Œ WebSocket ๅŽ๏ผŒไผšไบง็”Ÿไธ€็งโ€œๆŠ€ๆœฏๆด็™–โ€๏ผŒ่ง‰ๅพ— HTTP ่ฝฎ่ฏขๆ˜ฏไธŠๅคๆ—ถไปฃ็š„่ฝๅŽๆŠ€ๆœฏ๏ผŒๅบ”ๅฝ“่ขซๅฝปๅบ•ๆท˜ๆฑฐใ€‚ไฝ†็Žฐๅฎžๆ˜ฏ๏ผŒๅœจๅฝ“ๅ‰ๅพˆๅคš้กถ็บง็š„ AI ็”Ÿๅ›พ๏ผˆๅฆ‚ Midjourney ็ฑป็š„็ฌฌไธ‰ๆ–น้›†ๆˆๅบ”็”จใ€้ƒจๅˆ† Stable Diffusion ๅ•†ไธšๅนณๅฐ๏ผ‰็”š่‡ณ้ƒจๅˆ†้•ฟ่ง†้ข‘็”Ÿๆˆๅบ”็”จไธญ๏ผŒHTTP ่ฝฎ่ฏขไธไป…ๆฒกๆœ‰ๆถˆๅคฑ๏ผŒๅ่€Œๆ˜ฏๆžถๆž„ๅธˆ็ป่ฟ‡ๆทฑๆ€็†Ÿ่™‘ๅŽ็š„้ฆ–้€‰ๆ–นๆกˆใ€‚

7.1 ไปปๅŠก็‰นๆ€ง็š„ๆœฌ่ดจๅทฎๅผ‚๏ผšๆตๅผ่พ“ๅ‡บ vs ๅผ‚ๆญฅๅคงไปปๅŠก โ€‹

AI ๅบ”็”จ็š„ไบคไบ’ๆจกๅผๅ†ณๅฎšไบ†้€šไฟกๅ่ฎฎ็š„้€‰ๅž‹๏ผš

ๅบ”็”จ็ฑปๅž‹ๅœบๆ™ฏ็‰นๅพ่งฃ้‡Š่ฏดๆ˜Ž
ๆ–‡ๆœฌๅคงๆจกๅž‹๏ผˆๅฆ‚ ChatGPT๏ผ‰ๆตๅผๆŒ็ปญ่พ“ๅ‡บๆจกๅž‹ๅœจๆž็Ÿญๆ—ถ้—ดๅ†…๏ผˆ้ฆ–ไธช Token ็บฆ 200ms ๅณๅฏ็”Ÿๆˆ๏ผ‰ๅฐฑๅผ€ๅง‹่ฟ”ๅ›žๆ•ฐๆฎ๏ผŒ้šๅŽๆŒ็ปญ"ๅๅญ—"ใ€‚่‹ฅ้‡‡็”จไผ ็ปŸๅŒๆญฅ HTTP๏ผŒ็”จๆˆทๅฐ†้ขๅฏน้•ฟ่พพๆ•ฐ็ง’็š„็™ฝๅฑ็ญ‰ๅพ…๏ผŒไฝ“้ชŒๆžๅทฎใ€‚SSE/ๆตๅผ HTTP ๆญฃๆ˜ฏไธบๆญค็ฑปๅœบๆ™ฏ้‡่บซๆ‰“้€ ใ€‚
AI ็”Ÿๅ›พ/็”Ÿ่ง†้ข‘้‡่ฎก็ฎ—ๅผ‚ๆญฅไปปๅŠกไธ€ๅผ ้ซ˜่ดจ้‡ๅ›พ็‰‡็š„็”Ÿๆˆๅฏ่ƒฝ้œ€่ฆ GPU ๆปก่ฝฝ่ฟ็ฎ— 10~30 ็ง’๏ผŒ็”š่‡ณๅœจ้ซ˜ๅณฐๆœŸ้œ€่ฆๆŽ’้˜Ÿๆ•ฐๅˆ†้’Ÿใ€‚ไปปๅŠกๆ‰ง่กŒๆœŸ้—ด๏ผŒ้™คไบ†ๅถๅฐ”็š„่ฟ›ๅบฆๆ›ดๆ–ฐ๏ผˆ10%ใ€50%๏ผ‰๏ผŒๅนถๆฒกๆœ‰ๆŒ็ปญ็š„ๆ•ฐๆฎๆตๅฏไพ›ไผ ่พ“ใ€‚่ฎฉๅฎขๆˆท็ซฏๅ’Œ็ฝ‘ๅ…ณไน‹้—ด็ปดๆŒไธ€ๆก้•ฟ่พพๆ•ฐๅ็ง’็š„"้—ฒ็ฝฎ้•ฟ่ฟžๆŽฅ"๏ผŒไป…็”จไบŽ็ญ‰ๅพ…ๆœ€็ปˆไธ€ไธชๅ›พ็‰‡ URL ็š„่ฟ”ๅ›ž๏ผŒๅœจ็ณป็ปŸ่ฎพ่ฎกไธŠๆ˜ฏไธ€็ฌ”ไธๅฐ็š„ๅผ€้”€ใ€‚

7.2 ๅŸบ็ก€่ฎพๆ–ฝ็š„ๆฎ‹้…ท็Žฐๅฎž๏ผš่ฟžๆŽฅๆฑ ๆžฏ็ซญไธŽ็ฝ‘ๅ…ณ่ถ…ๆ—ถ โ€‹

ๅฆ‚ๆžœ AI ็”Ÿๅ›พไฝฟ็”จ WebSocket ๆˆ–ไฟๆŒ้•ฟ่พพ 30 ็ง’็š„ HTTP ่ฟžๆŽฅ๏ผŒไผš้‡ๅˆฐไธฅๅณป็š„ๅŸบ็ก€่ฎพๆ–ฝๆŒ‘ๆˆ˜๏ผš

ๆŒ‘ๆˆ˜่ฏดๆ˜Ž
็ฝ‘ๅ…ณ/่ดŸ่ฝฝๅ‡่กก็š„่ถ…ๆ—ถ้™ๅˆถๅคงๅคšๆ•ฐไบ‘ๅŽ‚ๅ•†็š„่ดŸ่ฝฝๅ‡่กกๅ™จ๏ผˆๅฆ‚ AWS ALBใ€Nginx ้ป˜่ฎค้…็ฝฎ๏ผ‰ๅ’Œ CDN ๅฏน HTTP ่ฟžๆŽฅ้ƒฝๆœ‰ไธฅๆ ผ่ถ…ๆ—ถ้™ๅˆถ๏ผˆ้€šๅธธไธบ 30s ่‡ณ 60s๏ผ‰ใ€‚ๅฝ“ AI ไปปๅŠก่€—ๆ—ถ่ฟ‡้•ฟๆ—ถ๏ผŒ็ฝ‘ๅ…ณไผšไธปๅŠจๅˆ‡ๆ–ญ่ฟžๆŽฅๅนถ่ฟ”ๅ›ž 504 Gateway Timeoutใ€‚
ๅนถๅ‘่ฟžๆŽฅๆ•ฐ็“ถ้ขˆๆœๅŠกๅ™จ็š„ๅนถๅ‘่ฟžๆŽฅๆฑ ๆ˜ฏๆœ‰้™็š„ใ€‚ๅ‡่ฎพ 1 ไธ‡ๅ็”จๆˆทๅŒๆ—ถๆŽ’้˜Ÿ็ญ‰ๅ›พ็‰‡๏ผšไฝฟ็”จ WebSocket ้œ€่ฆ็ปดๆŒ 1 ไธ‡ไธช้•ฟ่ฟžๆŽฅ๏ผ›่€Œไฝฟ็”จ่ฝฎ่ฏข๏ผŒๆฏไฝ็”จๆˆทๆฏ 3 ็ง’ๅ‘่ตทไธ€ไธชๆž่ฝป้‡็š„ GET ่ฏทๆฑ‚๏ผŒๆŸฅ่ฏขๅฎŒๆฏ•็ซ‹ๅณ้‡Šๆ”พ่ฟžๆŽฅใ€‚ๆ— ็Šถๆ€็š„็Ÿญ่ฟžๆŽฅๆจกๅผ่ƒฝ่ฎฉๆœๅŠกๅ™จๅžๅ้‡ๆๅ‡ๆ•ฐไธช้‡็บงใ€‚

7.3 ๅŽ็ซฏๆžถๆž„็š„ๅคฉ็„ถ่ฆๆฑ‚๏ผš่งฃ่€ฆไธŽๆถˆๆฏ้˜Ÿๅˆ— โ€‹

็Žฐไปฃ้ซ˜ๅนถๅ‘ AI ็”Ÿๅ›พๅนณๅฐ็š„ๅŽ็ซฏๆžถๆž„้€šๅธธๆ˜ฏๅฝปๅบ•่งฃ่€ฆ็š„๏ผš

  1. ๆไบคไปปๅŠก (Client)๏ผšๅฎขๆˆท็ซฏ POST ่ฏทๆฑ‚ /api/generateใ€‚

  2. ไธ‹ๅ‘้˜Ÿๅˆ— (API Server)๏ผšAPI ๆœๅŠกๅ™จๅฐ†ไปปๅŠกๆŠ•ๅ…ฅ Kafka/RabbitMQ ้˜Ÿๅˆ—ไธญ๏ผŒ็”Ÿๆˆๅ”ฏไธ€ task_id ๅนถ็ซ‹ๅณ่ฟ”ๅ›ž็ป™ๅฎขๆˆท็ซฏ๏ผˆ่€—ๆ—ถ็บฆ 50ms๏ผ‰ใ€‚

  3. ๅผ‚ๆญฅๆถˆ่ดน (GPU Worker)๏ผšๅŽ็ซฏ GPU ่Š‚็‚นไปŽ้˜Ÿๅˆ—ไธญๅ–ๅ‡บไปปๅŠก๏ผŒๆ‰ง่กŒ่ฎก็ฎ—ใ€‚็”ŸๆˆๅฎŒๆฏ•ๅŽ๏ผŒๅฐ†ๅ›พ็‰‡ไธŠไผ ่‡ณ OSS/S3 ๅนถๅฐ†็ป“ๆžœๅ†™ๅ…ฅๆ•ฐๆฎๅบ“ใ€‚

  4. ่Žทๅ–็ป“ๆžœ (Client)๏ผšๅฎขๆˆท็ซฏๆŒๆœ‰ task_id๏ผŒๆฏ้š”ๆ•ฐ็ง’่ฝฎ่ฏขไธ€ๆฌก /api/task/{task_id} ๆŸฅ่ฏขไปปๅŠก็Šถๆ€ใ€‚

ๅœจ่ฟ™ไธช็ปๅ…ธ็š„็”Ÿไบง่€…-ๆถˆ่ดน่€…ๆจกๅž‹ไธญ๏ผŒๅค„็† HTTP ่ฏทๆฑ‚็š„ Web ๆœๅŠกๅ™จไธŽ็œŸๆญฃๆ‰ง่กŒ่ฎก็ฎ—็š„ GPU ๆœๅŠกๅ™จๅœจ็‰ฉ็†ไธŠๅฝผๆญค้š”็ฆปใ€‚่‹ฅๅผบ่กŒไฝฟ็”จ WebSocket ๆˆ– SSE ๅฐ†ไบŒ่€…ไธฒ่”๏ผŒไธไป…่ฟ่ƒŒไบ†่งฃ่€ฆๅŽŸๅˆ™๏ผŒ่ฟ˜ไผšไฝฟ Web ๆœๅŠกๅ™จไธŽ GPU ่Š‚็‚น้—ด็š„็Šถๆ€ๅŒๆญฅๅ˜ๅพ—ๆžไธบๅคๆ‚ใ€‚

7.4 ็งปๅŠจ็ซฏๅผฑ็ฝ‘็Žฏๅขƒไธ‹็š„"็ปๅฏน้ฒๆฃ’ๆ€ง" โ€‹

่ฏ•ๆƒณ่ฟ™ๆ ทไธ€ไธชๅœบๆ™ฏ๏ผš็”จๆˆทๅœจๅœฐ้“ไธญไฝฟ็”จๆ‰‹ๆœบ็”Ÿๅ›พ๏ผŒๅˆšๆไบคไปปๅŠกไพฟ้ญ้‡ไบ† 5 ็ง’็š„็ฝ‘็ปœไธญๆ–ญใ€‚

  • ไฝฟ็”จ WebSocket๏ผš่ฟžๆŽฅๆ–ญๅผ€ๅŽ๏ผŒ้‡่ฟžๆ—ถๅฆ‚ไฝ•ๆขๅคๅ…ˆๅ‰็š„"ไผš่ฏ็Šถๆ€"๏ผŸๆœๅŠกๅ™จๅฆ‚ไฝ•่ฏ†ๅˆซๅนถ็ปง็ปญๅ‘้‡่ฟžๅŽ็š„ๅฎขๆˆท็ซฏๆŽจ้€็ป“ๆžœ๏ผŸ่ฟ™้œ€่ฆไธ€ๅฅ—ๅคๆ‚็š„้‡ไผ ไธŽไผš่ฏๆขๅคๆœบๅˆถใ€‚

  • ไฝฟ็”จ่ฝฎ่ฏข (Polling)๏ผšๅˆ™ๆžไธบ็ฎ€ๆดใ€‚ๅฎขๆˆท็ซฏๆŒๆœ‰ task_idใ€‚็ฝ‘็ปœๆขๅคๅŽ๏ผŒ็ปง็ปญๅ‘้€ GET /api/task/{task_id} ๅณๅฏ่Žทๅ–็ป“ๆžœใ€‚ๆ— ็Šถๆ€็‰นๆ€งๅธฆๆฅไบ†ๅ“่ถŠ็š„ๆŠ—ๅนฒๆ‰ฐ่ƒฝๅŠ›ใ€‚

7.5 ๅฐ็ป“ โ€‹

็ปผไธŠๆ‰€่ฟฐ๏ผŒ่ฝฎ่ฏขๅ‡ญๅ€Ÿๅ…ถๆ— ็Šถๆ€ใ€ไฝŽ่ฟžๆŽฅๅผ€้”€ใ€้ซ˜ๅžๅ้‡็š„็‰นๆ€ง๏ผŒๆˆไธบ AI ็”Ÿๅ›พๅœบๆ™ฏไธ‹ๆ›ดๅ…ทๆ€งไปทๆฏ”็š„้€šไฟกๆ–นๆกˆใ€‚

ๅฝ“็„ถ๏ผŒๅฆ‚ๆžœๅ†ณๅฎšไฝฟ็”จ่ฝฎ่ฏข๏ผŒไธบไบ†ๅ…ผ้กพไฝ“้ชŒๅ’ŒๆœๅŠกๅ™จๅŽ‹ๅŠ›๏ผŒไธš็•Œ้€šๅธธไผš้‡‡็”จ้€€้ฟ่ฝฎ่ฏข็ญ–็•ฅโ€”โ€”ๅณ้š็€ไปปๅŠก็ญ‰ๅพ…ๆ—ถ้—ดๅปถ้•ฟ๏ผŒ้€ๆญฅ้™ไฝŽๆŸฅ่ฏข้ข‘็އใ€‚ไพ‹ๅฆ‚ๅ‰ 30 ็ง’ๆฏ 2 ็ง’ๆŸฅ่ฏขไธ€ๆฌก๏ผŒ30 ็ง’ๅŽๆ”นไธบๆฏ 5 ็ง’ๆŸฅ่ฏขไธ€ๆฌก๏ผŒๅˆฐๅŽๆœŸ็”š่‡ณๅฏไปฅ้™่‡ณๆฏ 10 ็ง’ไธ€ๆฌกใ€‚่ฟ™็ง็ญ–็•ฅ่ƒฝๅœจไฟ่ฏๅŠๆ—ถ่Žทๅ–็ป“ๆžœ็š„ๅŒๆ—ถ๏ผŒๆœ‰ๆ•ˆๅ‡ๅฐ‘ไธๅฟ…่ฆ็š„่ฏทๆฑ‚ๅผ€้”€ใ€‚

8. ๅฎž่ทต้€‰ๅž‹ๆŒ‡ๅ—๏ผšไธไนฐๆœ€่ดต็š„๏ผŒๅช้€‰ๆœ€ๅฏน็š„ โ€‹

ๅœจๅฎž้™…ๅบ”็”จไธญ๏ผŒ่„ฑ็ฆปไธšๅŠกๅœบๆ™ฏ่ฐˆๅ่ฎฎไธŽ้€šไฟกๆ–นๆกˆ็š„ไผ˜ๅŠฃๆ˜ฏๆฏซๆ— ๆ„ไน‰็š„ใ€‚WebSocket ่™ฝๅผบ๏ผŒไฝ†ๅนถ้ž้“ถๅผน๏ผ›ๆ ‡ๅ‡† HTTP ่™ฝโ€œ่€โ€๏ผŒไฝ†ๅœจๅคง่ง„ๆจกๅˆ†ๅธƒๅผ็ณป็ปŸไธญไพ็„ถๆ˜ฏๆœ€็จณๅฅ็š„้€‰ๆ‹ฉใ€‚

8.1 ๅ†ณ็ญ–็Ÿฉ้˜ต๏ผšAI ไธŽๅฎžๆ—ถไธšๅŠกๅœบๆ™ฏ้€‰ๅž‹ โ€‹

ไธšๅŠกๅœบๆ™ฏไปปๅŠก่€—ๆ—ถ็‰นๅพๆŽจ่้€šไฟกๅ่ฎฎๅ†ณ็ญ–ไพๆฎไธŽๅ˜้€šๆ–นๆกˆ
AI ๆ–‡ๆœฌๅฏน่ฏ (LLM)ๅฟซ้€Ÿๅ“ๅบ”๏ผŒๆŒ็ปญๆ–‡ๆœฌๆต (ๅ‡ ็ง’~ๅ‡ ๅ็ง’)ๆตๅผ HTTP (Fetch / SSE)้œ€ๆไพ›โ€œๆ‰“ๅญ—ๆœบโ€ๅ้ฆˆไปฅ็ปดๆŒ็”จๆˆทๆณจๆ„ๅŠ›ใ€‚็›ธๆฏ” WS๏ผŒHTTP ๆ›ดๆ˜“็ฉฟ้€้˜ฒ็ซๅข™ไธŽ็ฝ‘ๅ…ณใ€‚
AI ๅฎžๆ—ถ่ฏญ้Ÿณ/่ง†่ง‰ๅŠฉๆ‰‹ๆžไฝŽๅปถ่ฟŸ๏ผŒๅŒๅ‘้ซ˜้ข‘ไบ’ๅŠจ (<500ms)WebSocket / WebRTCๅฟ…้กปๆถˆ้™ค HTTP ๆกๆ‰‹ไธŽๅคด้ƒจๅปถ่ฟŸ๏ผŒๅฎž็Žฐ็œŸๆญฃ็š„ๅ…จๅŒๅทฅๆตๅผไบคไบ’ใ€‚
AI ๅฟซ้€Ÿ็”Ÿๅ›พ (SDXL Turbo)่€—ๆ—ถๆž็Ÿญ๏ผˆ<3s๏ผ‰๏ผŒๆ— ๆŽ’้˜ŸๅŽ‹ๅŠ›ๆ ‡ๅ‡† HTTP (Request-Response)็ฎ€ๅ•็š„ๆŒ‚่ตท็ญ‰ๅพ…ๅณๅฏใ€‚ๆ— ้œ€ๅผ•ๅ…ฅ้•ฟ่ฟžๆŽฅๅคๆ‚ๅบฆ๏ผŒไฟๆŒๆžถๆž„็ฎ€ๆดใ€‚
้ซ˜็ฒพ็”Ÿๅ›พ/่ง†้ข‘/้•ฟๆ–‡็”Ÿๆˆ่€—ๆ—ถ้•ฟไธ”้œ€ๆŽ’้˜Ÿ๏ผˆ10s ~ ๆ•ฐๅˆ†้’Ÿ๏ผ‰ๅผ‚ๆญฅๆไบค + HTTP ่ฝฎ่ฏขไฟๆŠค็ฝ‘ๅ…ณ็š„ๆ ธๅฟƒๆ‰‹ๆฎตใ€‚่งฃ่€ฆ GPU ่ฎก็ฎ—่Š‚็‚นไธŽ Web ่Š‚็‚น๏ผŒๅฎขๆˆท็ซฏๆŒ TaskID ๅฎšๆ—ถๆŸฅ่ฏข็Šถๆ€ใ€‚
่ทจ็ณป็ปŸไบ‹ไปถๅŒๆญฅไบ‹ไปถ้ฉฑๅŠจ๏ผŒๆ— ๅ›บๅฎš่€—ๆ—ถWebhooks้€‚็”จไบŽๆœๅŠก็ซฏ้—ด็š„ๅผ‚ๆญฅไบ‹ไปถ้€š็Ÿฅ๏ผˆๅฆ‚ๆ”ฏไป˜ๅ›ž่ฐƒใ€่ฎขๅ•ๅŒๆญฅใ€Git ้’ฉๅญ่งฆๅ‘ CI/CD๏ผ‰ใ€‚ๆŽฅๆ”ถๆ–น้œ€้ข„ๅ…ˆๆšด้œฒๅ›ž่ฐƒ URL๏ผŒๅนถ็กฎไฟๅน‚็ญ‰ๅค„็†ไธŽ็ญพๅ้ชŒ่ฏใ€‚

8.2 ๆทฑๅบฆๅ†ณ็ญ–้€ป่พ‘๏ผšๅทฅ็จ‹้€‰ๅž‹็š„ไบ”ๆก้‡‘ๅพ‹ โ€‹

1ใ€้ซ˜้ข‘ๅŒๅ‘๏ผšWebSocket ็š„ไธปๅœบ

ๆ ธๅฟƒ้€ป่พ‘๏ผšHTTP ๅŠๅ…ถ่ก็”Ÿๅ“ๅœจๅŒๅ‘ไบคไบ’ไธ‹๏ผŒ้‡ๅค็š„ๅคด้ƒจๅผ€้”€ไผšๅžๅ™ฌๅคง้‡ๅธฆๅฎฝ๏ผŒไธ”ๆ— ๆณ•ๅฎž็Žฐ็œŸๆญฃ็š„ๅ…จๅŒๅทฅๅนถๅ‘ใ€‚

่‹ฅไธšๅŠก้œ€่ฆๅฎขๆˆท็ซฏไธŽๆœๅŠก็ซฏไบ’ๅ‘้ซ˜้ข‘ๆถˆๆฏ๏ผˆๅฆ‚ๅคšไบบ็ซžๆŠ€ๆธธๆˆใ€ๅไฝœ็ผ–่พ‘ใ€ๅฎžๆ—ถๅŒๅ‘่Šๅคฉ๏ผ‰๏ผŒWebSocket ๆ˜ฏๅ”ฏไธ€้€‰ๆ‹ฉใ€‚

2ใ€ๅ•ๅ‘ๆŽจ้€๏ผšSSE ็š„่ฝป้‡ไผ˜ๅŠฟ

่‹ฅไธšๅŠกๅœบๆ™ฏไป…้œ€ๆœๅŠก็ซฏๅ‘ๅฎขๆˆท็ซฏๅ•ๅ‘้ซ˜้ข‘ๆŽจ้€๏ผˆๅฆ‚่‚ก็ฅจ่กŒๆƒ…ๅคง็›˜ใ€ๆœๅŠกๅ™จๅฎžๆ—ถๆ—ฅๅฟ—ใ€็›‘ๆŽง้ข„่ญฆ๏ผ‰๏ผš

้ฆ–้€‰ๆ–นๆกˆๆ˜ฏ SSEใ€‚ๅฎƒๅฎŒๅ…จๅค็”จ็Žฐๆœ‰็š„ HTTP ๅŸบ็ก€่ฎพๆ–ฝ๏ผˆ่ดŸ่ฝฝๅ‡่กกใ€WAFใ€้‰ดๆƒ้€ป่พ‘๏ผ‰๏ผŒๆ— ้œ€้ขๅค–้…็ฝฎ WebSocket ็ฝ‘ๅ…ณใ€‚ๅŒๆ—ถ๏ผŒๅ…ถๅŽŸ็”Ÿ็š„ๆ–ญ็บฟ้‡่ฟžๆœบๅˆถๆžๅคง้™ไฝŽไบ†ๅ‰็ซฏ็š„ๅผ€ๅ‘ๅฟƒๆ™บ่ดŸๆ‹…ใ€‚

3ใ€ๆตๅผๅ“ๅบ”๏ผšStreamable HTTP ็š„ไธปๅœบ๏ผŒAI ๆ—ถไปฃ็š„ไธปๆต้€‰ๆ‹ฉ

่ฟ™ๆ˜ฏ็›ฎๅ‰ LLM ๆ–‡ๆœฌๅฏน่ฏไธญๆœ€ไธปๆต็š„"ไบ‹ๅฎžๆ ‡ๅ‡†"ใ€‚

็—›็‚น๏ผšๅŽŸ็”Ÿ SSE ๅ—้™ไบŽๆต่งˆๅ™จๅฎž็Žฐ๏ผŒ้€šๅธธๅช่ƒฝๅ‘่ตท GET ่ฏทๆฑ‚ใ€‚ไฝ†ๅœจ AI ๅœบๆ™ฏไธ‹๏ผŒๆˆ‘ไปฌ้œ€่ฆๅ‘้€ๅบžๅคง็š„ system_prompt ๆˆ–ไธŠไธ‹ๆ–‡ๅކๅฒ๏ผˆContext๏ผ‰๏ผŒGET ็š„ URL ้•ฟๅบฆ้™ๅˆถๆˆไธบไบ†็“ถ้ขˆใ€‚

ๅ˜้€šๆ–นๆกˆ๏ผšไฝฟ็”จ Fetch API ็ป“ๅˆ POST ่ฏทๆฑ‚๏ผŒ้€š่ฟ‡ ReadableStream ๆŽฅๆ”ถๆตๅผๅ“ๅบ”ใ€‚ๆ—ข่ƒฝ็ช็ ด GET ็š„้•ฟๅบฆ้™ๅˆถ๏ผŒๅˆ้ฟๅ…ไบ† WebSocket ๅœจ็ปดๆŒ้•ฟ่ฟžๆŽฅใ€ๅค„็†ๅฟƒ่ทณไฟๆดปๆ–น้ข็š„้ขๅค–่ต„ๆบๆŸ่€—ใ€‚่ฟ™ๆญฃๆ˜ฏ fetch-event-source ่ฟ™็ฑปๅบ“ๅœจ AI ็คพๅŒบ็››่กŒ็š„ๅบ•ๅฑ‚้€ป่พ‘ใ€‚

4ใ€ๅผ‚ๆญฅไปปๅŠก๏ผš่ฝฎ่ฏข็š„ไธปๅœบ

ๅฏนไบŽ AI ็”Ÿๅ›พใ€็”Ÿ่ง†้ข‘็ญ‰่€—ๆ—ถ่พƒ้•ฟ๏ผˆ10s ~ ๆ•ฐๅˆ†้’Ÿ๏ผ‰็š„้‡่ฎก็ฎ—ไปปๅŠก๏ผŒๅ…ถ็‰น็‚นๆ˜ฏ่ฎก็ฎ—ๆœŸ้—ดๆ— ๆŒ็ปญๆ•ฐๆฎๆต๏ผŒไป…ๅœจๅฎŒๆˆๅŽ่ฟ”ๅ›ž็ป“ๆžœใ€‚

ๆญคๆ—ถ่‹ฅๅผบ่กŒไฝฟ็”จ WebSocket ๆˆ– SSE ็ปดๆŒ้•ฟ่ฟžๆŽฅ๏ผŒไธไป…ไผš้ญ้‡็ฝ‘ๅ…ณ่ถ…ๆ—ถ้™ๅˆถ๏ผˆ้€šๅธธ 30s~60s๏ผ‰๏ผŒ่ฟ˜ไผš้€ ๆˆๅนถๅ‘่ฟžๆŽฅๆ•ฐ็“ถ้ขˆใ€‚ๅผ‚ๆญฅๆไบค + ่ฝฎ่ฏขๆŸฅ่ฏขๆ˜ฏๆ›ดๅˆ็†็š„ๆžถๆž„๏ผšๅฎขๆˆท็ซฏๆไบคไปปๅŠกๅŽ่Žทๅพ— TaskID๏ผŒๅฎšๆœŸ่ฝฎ่ฏขๆŸฅ่ฏข็Šถๆ€ใ€‚่ฟ™็งๆ–นๅผ่งฃ่€ฆไบ† Web ่Š‚็‚นไธŽ GPU ่Š‚็‚น๏ผŒๆ— ็Šถๆ€็š„็Ÿญ่ฟžๆŽฅๆจกๅผ่ฎฉๆœๅŠกๅ™จ่ƒฝๅคŸๆ‰ฟ่ฝฝๆ›ด้ซ˜็š„ๅžๅ้‡ใ€‚

5ใ€่ทจ็ณป็ปŸๅ›ž่ฐƒ๏ผšWebhooks ็š„ไธปๅœบ

่‹ฅไธšๅŠกๆถ‰ๅŠ่ทจๆœๅŠก็š„ไบ‹ไปถ้€š็Ÿฅ๏ผˆๅฆ‚ๆ”ฏไป˜ๅนณๅฐๅ›ž่ฐƒใ€่ฎขๅ•็Šถๆ€ๅ˜ๆ›ด้€š็Ÿฅใ€Git ไป“ๅบ“ไบ‹ไปถ่งฆๅ‘ CI/CD๏ผ‰๏ผŒไธ”ๆŽฅๆ”ถๆ–นๆ˜ฏๆœๅŠก็ซฏ่€Œ้žๆต่งˆๅ™จ๏ผš

้ฆ–้€‰ๆ–นๆกˆๆ˜ฏ Webhooksใ€‚ๅฎƒๅฎŒๅ…จๅŸบไบŽๆ ‡ๅ‡† HTTP POST ่ฏทๆฑ‚๏ผŒๆ— ้œ€็ปดๆŠคๆŒไน…่ฟžๆŽฅ๏ผŒ็”ฑๆŽฅๆ”ถๆ–น้ข„ๅ…ˆๆšด้œฒๅ›ž่ฐƒ URL ๅณๅฏๅฎž็Žฐไบ‹ไปถ้ฉฑๅŠจๆŽจ้€ใ€‚่ฟ™็งๆจกๅผๅคฉ็„ถ้€‚ๅˆๆœๅŠก้—ด็š„ๆพ่€ฆๅˆ้›†ๆˆ๏ผŒไฝ†้œ€ๆณจๆ„ๅน‚็ญ‰ๆ€งๅค„็†ไธŽ็ญพๅ้ชŒ่ฏไปฅ็กฎไฟๅฎ‰ๅ…จใ€‚

9. ็ป“่ฏญ โ€‹

ๅ›žๆœ›่ฟ™ๅœบไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏๆผ”่ฟ›๏ผŒๆˆ‘ไปฌๆˆ–่ฎธ่ƒฝๆ็‚ผๅ‡บไธ€ไธชๆ›ดๆ™ฎ้€‚็š„ๆžถๆž„ๅ“ฒๅญฆ๏ผšๆฒกๆœ‰"ๆœ€ๅฅฝ"็š„ๆŠ€ๆœฏ๏ผŒๅชๆœ‰"ๆœ€ๅˆ้€‚"็š„ๆŠ€ๆœฏใ€‚

ๆŠ€ๆœฏ็š„ๆผ”่ฟ›ไปŽๆฅไธๆ˜ฏ"้•ฟๆฑŸๅŽๆตชๆŽจๅ‰ๆตช"็š„็ฎ€ๅ•ๆ›ฟไปฃ๏ผŒ่€Œๆ˜ฏไธ€็ง"ๅˆ†ๅทฅ็ป†ๅŒ–"็š„่‡ช็„ถ็ป“ๆžœใ€‚ไผ ็ปŸ HTTP ไพ็„ถๆ˜ฏ Web ็š„ๅŸบ็Ÿณ๏ผŒๆตๅผ HTTP ่ฎฉๅฎƒ็„•ๅ‘ๆ–ฐ็”Ÿ๏ผ›SSE ๅœจๅ•ๅ‘ๆŽจ้€ๅœบๆ™ฏ่ฝป้‡่€Œไผ˜้›…๏ผ›WebSocket ไธบ็œŸๆญฃ็š„ๅฎžๆ—ถๅŒๅ‘ไบคไบ’ๆ‰“ๅผ€ไบ†ๅคง้—จ๏ผ›่ฝฎ่ฏขๅœจ AI ๆ—ถไปฃ็š„ๅคงๆจกๅž‹ๆดชๆตไธญ๏ผŒไพ็„ถ้ป˜้ป˜ๆ”ฏๆ’‘็€ๆ— ๆ•ฐ็”Ÿๅ›พใ€็”Ÿ่ง†้ข‘ๅบ”็”จ็š„ๆญฃๅธธ่ฟ่กŒ๏ผ›่€Œ Webhooks ๅˆ™ๅœจ่ทจ็ณป็ปŸ็š„ๆœๅŠก็ซฏ้—ด็ผ–็ป‡ๅ‡บไธ€ๅผ ไบ‹ไปถ้ฉฑๅŠจ็š„็ฝ‘็ปœใ€‚

็œŸๆญฃๆˆ็†Ÿ็š„ๆžถๆž„ๅธˆ๏ผŒไธไผšๆ‰ง็€ไบŽ"ๆœ€ๆ–ฐ"ๆˆ–"ๆœ€ๅคๆ‚"็š„ๆ–นๆกˆ๏ผŒ่€Œๆ˜ฏๆทฑๅ…ฅ็†่งฃๆฏ็งๆŠ€ๆœฏ็š„่พน็•ŒไธŽไปฃไปท๏ผŒๅœจไธšๅŠกๅœบๆ™ฏ็š„็บฆๆŸไธ‹ๅšๅ‡บๆœ€ไผ˜้›…็š„ๅ–่ˆใ€‚ๆฏ•็ซŸ๏ผŒๆœ€ๅฅฝ็š„ๆžถๆž„ไธๆ˜ฏ็”จๆŠ€ๆœฏๅ †็ Œๅ‡บๆฅ็š„๏ผŒ่€Œๆ˜ฏ่ฎฉๆŠ€ๆœฏๅ„ๅฝ’ๅ…ถไฝ็š„้กบๅŠฟ่€Œไธบใ€‚

',109)])])}const T=e(d,[["render",n]]);export{c as __pageData,T as default}; +import{_ as e,g as o,h as r,U as a}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const c=JSON.parse('{"title":"Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—","description":"ๆทฑๅ…ฅๅ‰–ๆžไผ ็ปŸ HTTPใ€ๆตๅผ HTTPใ€SSEใ€WebSocketใ€Webhooksใ€HTTP ่ฝฎ่ฏข็š„ๅŽŸ็†ไธŽ็‰นๆ€ง๏ผŒ็ป“ๅˆ AI ๅœบๆ™ฏๆไพ›ๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–็Ÿฉ้˜ตใ€‚","frontmatter":{"date":"2026-02-24T08:40:31.000Z","title":"Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—","tldr":"ๆทฑๅ…ฅๅˆ†ๆžไบ”็ง Web ้€šไฟกๅ่ฎฎ๏ผŒๆไพ› AI ๆ—ถไปฃ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—ไธŽๆœ€ไฝณๅฎž่ทตใ€‚","description":"ๆทฑๅ…ฅๅ‰–ๆžไผ ็ปŸ HTTPใ€ๆตๅผ HTTPใ€SSEใ€WebSocketใ€Webhooksใ€HTTP ่ฝฎ่ฏข็š„ๅŽŸ็†ไธŽ็‰นๆ€ง๏ผŒ็ป“ๅˆ AI ๅœบๆ™ฏๆไพ›ๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–็Ÿฉ้˜ตใ€‚","categories":["ๅ…จๆ ˆ","็ฝ‘็ปœไธŽ้€šไฟก"],"tags":["HTTP","HTTP ่ฝฎ่ฏข","SSE","WebSocket","Webhooks"],"permalink":"/fullstack/networking-protocol-selection-guide"},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—.md","filePath":"01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—.md"}'),d={name:"01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—.md"};function n(s,t,h,l,i,g){return r(),o("div",null,[...t[0]||(t[0]=[a('

Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ— โ€‹

ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡้’ˆๅฏนไผ ็ปŸ HTTP ๅœจๅฎžๆ—ถ้€šไฟกๅœบๆ™ฏ็š„ๅฑ€้™๏ผŒ็ณป็ปŸๅˆ†ๆžๆตๅผ HTTPใ€SSEใ€WebSocketใ€Webhooksใ€HTTP ่ฝฎ่ฏขไบ”็งๆŠ€ๆœฏ็š„ๆ ธๅฟƒๅŽŸ็†ใ€็ฝ‘็ปœๆœบๅˆถไธŽ้€‚็”จ่พน็•Œใ€‚้€š่ฟ‡ๅฏนๆฏ”ๅ„ๆ–นๆกˆๅœจๅ•ๅ‘/ๅŒๅ‘ๆŽจ้€ใ€ๅฎžๆ—ถๆ€งใ€่ต„ๆบๅผ€้”€็ญ‰็ปดๅบฆ็š„ๅทฎๅผ‚๏ผŒ็ป“ๅˆ AI ๆ–‡ๆœฌๅฏน่ฏใ€็”Ÿๅ›พ็”Ÿ่ง†้ข‘็ญ‰ๅ…ธๅž‹ๅœบๆ™ฏ๏ผŒๆž„ๅปบๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–็Ÿฉ้˜ตใ€‚็ป“่ฎบ่กจๆ˜Ž๏ผŒไธๅญ˜ๅœจๆœ€ไผ˜ๆŠ€ๆœฏ๏ผŒ้œ€ๆ นๆฎไปปๅŠก่€—ๆ—ถ็‰นๅพใ€ๅนถๅ‘่ง„ๆจกใ€ๅŸบ็ก€่ฎพๆ–ฝ็บฆๆŸ็ญ‰ๅ› ็ด ้€‰ๆ‹ฉๆœ€้€‚้…ๆ–นๆกˆใ€‚

1. ๅผ•่จ€ โ€‹

HTTP ๆ˜ฏไธ€็งๅŸบไบŽๆ–‡ๆœฌ็š„้€šไฟกๅ่ฎฎ๏ผŒไธป่ฆ็”จไบŽ Web ๆต่งˆๅ™จใ€็งปๅŠจๅบ”็”จใ€ๆกŒ้ขๅบ”็”จ็ญ‰ๅฎขๆˆท็ซฏๅ’Œ Web ๆœๅŠกๅ™จไน‹้—ด็š„ๆ•ฐๆฎไผ ่พ“ใ€‚ไผ ็ปŸ HTTP ้‡‡็”จๅŒๆญฅ็š„่ฏทๆฑ‚-ๅ“ๅบ”ๆจกๅผ๏ผš่ฏทๆฑ‚ -> ็ญ‰ๅพ… -> ๅฎŒๆ•ดๅ“ๅบ”ใ€‚่ฟ™็งๆ–นๅผ่™ฝ่ƒฝๆปก่ถณๅคงๅคšๆ•ฐๅœบๆ™ฏ๏ผŒไฝ†ๅœจๅฎžๆ—ถๆ€ง่ฆๆฑ‚่พƒ้ซ˜็š„้ข†ๅŸŸโ€”โ€”ๅฆ‚ๆธธๆˆใ€่Šๅคฉใ€่ง†้ข‘ไผš่ฎฎ๏ผŒไปฅๅŠ AI ๆ—ถไปฃ็š„ๅฏน่ฏๅผๅบ”็”จโ€”โ€”ๅดๆ˜พๅพ—ๅŠ›ไธไปŽๅฟƒใ€‚

ไธบ่งฃๅ†ณ่ฟ™ไธ€้—ฎ้ข˜๏ผŒไธš็•Œๅ‘ๅฑ•ๅ‡บไบ†ๅคš็งๅฎžๆ—ถ Web ้€šไฟกๆ–นๆกˆใ€‚ๆœฌๆ–‡ๅฐ†ๅ›ด็ป• ๆตๅผ HTTPใ€SSEใ€WebSocketใ€Webhooksใ€HTTP ่ฝฎ่ฏข ่ฟ™ไบ”็งไธปๆตๆŠ€ๆœฏ๏ผŒไปŽๅŽŸ็†ใ€็‰นๆ€งใ€้€‚็”จๅœบๆ™ฏๅ‡บๅ‘๏ผŒๆŽข่ฎจๅฎƒไปฌๅœจ็Žฐไปฃๅˆ†ๅธƒๅผๆžถๆž„ไธญ็š„้€‰ๅž‹็ญ–็•ฅไธŽๅทฅ็จ‹ๅฎž่ทตใ€‚

2. ไผ ็ปŸ HTTPโ€”โ€”Web ้€šไฟก็š„ๅŸบ็Ÿณ โ€‹

่‡ช 1991 ๅนด่ฏž็”Ÿไปฅๆฅ๏ผŒHTTP๏ผˆ่ถ…ๆ–‡ๆœฌไผ ่พ“ๅ่ฎฎ๏ผ‰ไพฟๆˆไธบไบ†ไบ’่”็ฝ‘่ฟ่กŒ็š„โ€œ้€š็”จ่ฏญ่จ€โ€ใ€‚ไฝœไธบไธ€็งๆ— ็Šถๆ€ใ€ๅŸบไบŽโ€œ่ฏทๆฑ‚-ๅ“ๅบ”โ€ๆจกๅผ็š„ๅบ”็”จๅฑ‚ๅ่ฎฎ๏ผŒๅฎƒๆž„็ญ‘ไบ†็Žฐไปฃ Web ้€šไฟก็š„็จณๅ›บๅŸบ็Ÿณใ€‚

ๅœจๆ ธๅฟƒ่ฟไฝœๆœบๅˆถไธŠ๏ผŒไผ ็ปŸ HTTP ้ตๅพช็€ไธฅ่ฐจ็š„ๅ•ๅ‘้ฉฑๅŠจ้€ป่พ‘๏ผš้€šไฟกๅฟ…้กป็”ฑๅฎขๆˆท็ซฏๅ‘่ตท่ฏทๆฑ‚๏ผˆRequest๏ผ‰๏ผŒๆœๅŠกๅ™จๅœจๅค„็†ๅฎŒๆˆๅŽ่ฟ”ๅ›žๅฎŒๆ•ด็š„ๅ“ๅบ”๏ผˆResponse๏ผ‰ใ€‚ไธ€ๆ—ฆๆ•ฐๆฎไผ ่พ“ๅฎŒๆˆ๏ผŒ่ฟžๆŽฅๅœจ้€ป่พ‘ไธŠๅณๅ‘Š็ป“ๆŸใ€‚

็ปดๅบฆ่ฏดๆ˜Ž
็ฝ‘็ปœ็‰นๅพHTTP ๆž„ๅปบไบŽ TCP ๅ่ฎฎไน‹ไธŠใ€‚ๅฐฝ็ฎกไปŽ HTTP/1.1 ๅผ€ๅง‹๏ผŒๅ่ฎฎ้ป˜่ฎคๅผ€ๅฏไบ† Connection: keep-alive ๆœบๅˆถไปฅๅค็”จๅบ•ๅฑ‚ TCP ่ฟžๆŽฅ๏ผŒๅ‡ๅฐ‘ไบ†้ข‘็นไธ‰ๆฌกๆกๆ‰‹็š„ๅผ€้”€๏ผŒไฝ†ๅœจๅบ”็”จๅฑ‚ๅฑ‚้ข๏ผŒๅฎƒไพ็„ถ็ปดๆŒ็€ๅŠๅŒๅทฅ้€šไฟก็š„ๆœฌ่ดจโ€”โ€”ๅœจๅŒไธ€ๆ—ถๅˆป๏ผŒๆ•ฐๆฎๅช่ƒฝๅ•ๅ‘ๆตๅŠจ๏ผŒไธ”ๆœๅŠกๅ™จๆฐธ่ฟœๅค„ไบŽ"่ขซๅŠจๅบ”็ญ”"็Šถๆ€ใ€‚
ๅ…ธๅž‹ๅบ”็”จ่ฟ™็งๆจกๅผๅฎŒ็พŽๅฅ‘ๅˆไบ†็ปๅคงๅคšๆ•ฐ้žๅณๆ—ถๆ€ง็š„่ต„ๆบ่Žทๅ–ๅœบๆ™ฏ๏ผŒๅฆ‚ๅŠ ่ฝฝ็ฝ‘้กต HTMLใ€่ฐƒ็”จๆ ‡ๅ‡† RESTful API๏ผˆ่Žทๅ–็”จๆˆทไฟกๆฏใ€ๆไบค่กจๅ•๏ผ‰ไปฅๅŠๅŠ ่ฝฝ้™ๆ€ๅ›พ็‰‡็ญ‰ใ€‚

้š็€ Web ๅบ”็”จๅ‘โ€œๅฎžๆ—ถๅŒ–โ€ไธŽโ€œ้ซ˜ไบ’ๅŠจโ€ๆผ”่ฟ›๏ผŒไผ ็ปŸ HTTP ็š„ๅ›บๆœ‰็‰นๆ€ง้€ๆธๆผ”ๅ˜ไธบๅผ€ๅ‘็š„็—›็‚น๏ผš

็—›็‚น่ฏดๆ˜Ž
ๆ— ๆณ•ไธปๅŠจๆŽจ้€ๆœๅŠกๅ™จๅฆ‚ๅŒไธ€ไธช่ขซๅŠจ็š„ไป“ๅบ“็ฎก็†ๅ‘˜๏ผŒๅณไพฟไป“ๅบ“ๅ†…็š„ๆ•ฐๆฎๅ‘็”Ÿไบ†ๆ›ดๆ–ฐ๏ผŒๅช่ฆๅฎขๆˆท็ซฏไธไธปๅŠจ่ฏข้—ฎ๏ผŒๆœๅŠกๅ™จไนŸๆ— ๆณ•ๅฐ†ๆ–ฐไฟกๆฏ่งฆ่พพ็”จๆˆทใ€‚
ๅคด้ƒจๅผ€้”€ๆฒ‰้‡ๅœจ HTTP/1.x ไธญ๏ผŒๆฏๆฌก่ฏทๆฑ‚้ƒฝๅฟ…้กปๆบๅธฆๅฎŒๆ•ด็š„ Header ไฟกๆฏ๏ผˆๅŒ…ๆ‹ฌ Cookieใ€User-Agent ็ญ‰๏ผ‰ใ€‚ๅฏนไบŽๅฎžๆ—ถๆ€ง่ฆๆฑ‚้ซ˜ใ€ไฝ†ๅ•ๆฌกๆ•ฐๆฎๅŒ…ๆžๅฐ็š„ๅœบๆ™ฏ๏ผˆๅฆ‚ไผ ๆ„Ÿๅ™จๆ•ฐๅ€ผๅŒๆญฅ๏ผ‰๏ผŒ่ฟ™ไบ›้‡ๅค็š„ๅคด้ƒจๆ•ฐๆฎๅพ€ๅพ€ๆฏ”ๆœ‰ๆ•ˆ่ฝฝ่ท่ฟ˜่ฆๅคง๏ผŒ้€ ๆˆไบ†ๅธฆๅฎฝ็š„ๆžๅคงๆตช่ดนใ€‚
ๅฎžๆ—ถๆ€ง็š„"ไผชๅฎž็Žฐ"ๅœจ WebSocket ็ญ‰ๅŽŸ็”Ÿๅฎžๆ—ถๆŠ€ๆœฏๆˆ็†Ÿๅ‰๏ผŒไธบไบ†ๆจกๆ‹Ÿๅฎžๆ—ถๆ•ˆๆžœ๏ผŒๅผ€ๅ‘่€…้€šๅธธ่ขซ่ฟซ้‡‡็”จ่ฝฎ่ฏข๏ผˆPolling๏ผ‰ๆŠ€ๆœฏใ€‚ๆ— ่ฎบๆ˜ฏ้ข‘็นๅ‘่ตท่ฟžๆŽฅ็š„็Ÿญ่ฝฎ่ฏข๏ผŒ่ฟ˜ๆ˜ฏ้•ฟๆ—ถ้—ดๆŒ‚่ตท่ฏทๆฑ‚็š„้•ฟ่ฝฎ่ฏข๏ผˆLong Polling๏ผ‰๏ผŒ้ƒฝไผšไบง็”Ÿๅคง้‡ๅ†—ไฝ™่ฏทๆฑ‚๏ผŒๅฏนๆœๅŠกๅ™จๅนถๅ‘ๅค„็†่ƒฝๅŠ›ๆๅ‡บไบ†ไธฅๅณปๆŒ‘ๆˆ˜ใ€‚

3. ๆตๅผ HTTP(Streamable HTTP) โ€‹

ๅฆ‚ๆžœ่ฏดไผ ็ปŸ HTTP ๆ˜ฏไธฅ่ฐจ็š„โ€œไธ€้—ฎไธ€็ญ”โ€๏ผŒ้‚ฃไนˆๆตๅผ HTTP๏ผˆStreamable HTTP๏ผ‰ๅˆ™ๆ›ดๅƒๆ˜ฏไธ€ๆฌกโ€œๆœชๅฎŒๅพ…็ปญโ€็š„ๆทฑๅบฆไบคๆตใ€‚ๅฎƒ้€š่ฟ‡ๅฏนๅ“ๅบ”ๆœบๅˆถ็š„ๅทงๅฆ™โ€œๅ˜ๅผ‚โ€๏ผŒๆ‰“็ ดไบ†โ€œๆœๅŠก็ซฏๅฟ…้กป็งฏๆ”’ๅ…จ้ƒจ็ป“ๆžœๆ‰่ƒฝ่ฟ”ๅ›žโ€็š„็‰ฉ็†้™ๅˆถ๏ผŒๅฎž็Žฐไบ†ๆ•ฐๆฎ็š„่พน่ฎก็ฎ—ใ€่พนไผ ่พ“ใ€‚

3.1 ๆ ธๅฟƒๅŽŸ็†๏ผšๅˆ†ๅ—ไผ ่พ“็š„่‰บๆœฏ โ€‹

ๆตๅผ HTTP ็š„็ฒพ้ซ“ๅœจไบŽๅฎƒไธๅ†่ฟฝๆฑ‚ไธ€ๆฌกๆ€งไบคไป˜๏ผŒ่€Œๆ˜ฏ้€š่ฟ‡็‰นๅฎš็š„ๅ่ฎฎๅคด๏ผŒๅฐ†ๆ•ฐๆฎๅŒ–ๆ•ดไธบ้›ถ๏ผš

  • ไผ ่พ“ๆœบๅˆถ๏ผšๅœจ HTTP ๅ“ๅบ”ๅคดไธญๅฃฐๆ˜Ž Transfer-Encoding: chunked๏ผˆๅˆ†ๅ—ไผ ่พ“็ผ–็ ๏ผ‰ๆˆ– Content-Type: text/event-streamใ€‚่ฟ™ๅ‘Š่ฏ‰ๅฎขๆˆท็ซฏ๏ผšๆœๅŠกๅ™จ็›ฎๅ‰ๅฐšไธๆธ…ๆฅšๅ“ๅบ”็š„ๆ€ป้•ฟๅบฆ๏ผˆContent-Length๏ผ‰๏ผŒไฝ†ไผšๅฐ†ๆ•ฐๆฎๅˆ‡ๅˆ†ๆˆไธ€ไธชไธช้€ป่พ‘ๅ—๏ผˆChunks๏ผ‰ไพๆฌกไธ‹ๅ‘ใ€‚

  • ็ฝ‘็ปœ็‰นๅพ๏ผšๅฎขๆˆท็ซฏๅœจๆŽฅๆ”ถๅˆฐ 200 OK ็Šถๆ€็ ๅŽ๏ผŒๅบ•ๅฑ‚ TCP ่ฟžๆŽฅๅนถไธไผš็ซ‹ๅณๅ…ณ้—ญใ€‚ๅ€ŸๅŠฉ็Žฐไปฃๆต่งˆๅ™จ็š„ Fetch API ๅŠๅ…ถ ReadableStream ็‰นๆ€ง๏ผŒๅ‰็ซฏๅฏไปฅๅƒๆŽฅๆฐด็ฎกไธ€ๆ ท๏ผŒๅฎžๆ—ถ่ฏปๅ–ๅนถๅค„็†ๆบๆบไธๆ–ญไผ ๆฅ็š„ๆ•ฐๆฎๅ—๏ผŒ็›ดๅˆฐๆœๅŠกๅ™จๅ‘้€ไธ€ไธช้•ฟๅบฆไธบ 0 ็š„็ปˆๆญขไฟกๅทใ€‚

3.2 ๅบ”็”จๅœบๆ™ฏ๏ผšไปŽๅคงๆ–‡ไปถๅˆฐ AI ๆ—ถไปฃ โ€‹

่ฟ™็งโ€œ่พน่ฏป่พนๆ’ญโ€็š„็‰นๆ€ง๏ผŒไฝฟๅ…ถๅœจไปฅไธ‹ๅœบๆ™ฏไธญๆ— ๅฏๆ›ฟไปฃ๏ผš

  • AI ๅคงๆจกๅž‹โ€œๆ‰“ๅญ—ๆœบโ€ๆ•ˆๆžœ๏ผš่ฟ™ๆ˜ฏๅฝ“ๅ‰ๆœ€็ซ็ƒญ็š„ๅบ”็”จใ€‚ChatGPTใ€Claude ็ญ‰ๆจกๅž‹็”Ÿๆˆ็š„้•ฟๆ–‡ๆœฌ๏ผŒๆญฃๆ˜ฏ้€š่ฟ‡ๆตๅผ HTTP ๅฐ†ๅ“ๅบ”ๆ•ฐๆฎๅฎžๆ—ถๆŽจ้€ๅˆฐๅ‰็ซฏ๏ผŒๆ˜พ่‘—้™ไฝŽไบ†็”จๆˆท็š„้ฆ–ๅญ—ๆ„Ÿ็Ÿฅๅปถ่ฟŸ๏ผˆTTFT๏ผ‰ใ€‚

  • ๅคงๅฎน้‡่ต„ๆบไธ‹ๅ‘๏ผšๅฆ‚่ถ…ๅคงๆ–‡ไปถๆˆ–่ง†้ข‘ๆต็š„ๆฎต่ฝๅŒ–ๅŠ ่ฝฝ๏ผŒ้ฟๅ…ไบ†ๅ†…ๅญ˜็ˆ†ไป“๏ผŒๆๅ‡ไบ†็ณป็ปŸๅžๅ้‡ใ€‚

  • SSE ็š„็ตๆดปๆ›ฟไปฃๆ–นๆกˆ๏ผš้…ๅˆ fetch-event-source ็ญ‰ๅบ“๏ผŒๅฎƒ่ƒฝๅฎŒ็พŽๆจกๆ‹Ÿ SSE ็š„้•ฟ่ฟžๆŽฅๅŠŸ่ƒฝ๏ผŒๅŒๆ—ถ่ง„้ฟไบ†ๆ ‡ๅ‡† SSE ๅœจ่ฏทๆฑ‚ๆ–นๅผ๏ผˆไป…้™ GET๏ผ‰ๅ’Œ่‡ชๅฎšไน‰ Header ไธŠ็š„้™ๅˆถใ€‚

3.3 ้š่—็š„ๅ‘๏ผšไปฃ็†ไธŽ็ผ“ๅ†ฒ โ€‹

่™ฝ็„ถๆตๅผไผ ่พ“ๅœจ้€ป่พ‘ไธŠๅพˆ็พŽๅฅฝ๏ผŒไฝ†ๅœจๅทฅ็จ‹่ฝๅœฐๆ—ถๅฟ…้กปๅ…ณๆณจโ€œ้“พ่ทฏ้€š็•…โ€้—ฎ้ข˜๏ผš

ๅฑ€้™่ฏดๆ˜Ž
ๅ•ๅ‘ไผ ่พ“ๅฑ€้™ๅฎƒๆœฌ่ดจไธŠไปๆ˜ฏ Server-to-Client ็š„ๅ•ๅ‘ๆตใ€‚ๅฆ‚ๆžœไธšๅŠก้œ€่ฆๅฎขๆˆท็ซฏไนŸๅฎžๆ—ถๅ›žไผ ๆ•ฐๆฎ๏ผŒๅˆ™้œ€่ฆ่€ƒ่™‘ๅ…ถไป–ๅŒๅ‘้€šไฟกๅ่ฎฎใ€‚
ไปฃ็†ๆœๅŠก่ฟ™ๆ˜ฏๆœ€ๅธธ่ง็š„ๅ‘ใ€‚ไธ€ไบ›ๆ—ง็‰ˆ Nginxใ€้˜ฒ็ซๅข™ๆˆ–่ดŸ่ฝฝๅ‡่กกๅ™จ้ป˜่ฎคๅผ€ๅฏไบ†ๅผบ็ผ“ๅ†ฒ๏ผˆBuffering๏ผ‰ๆœบๅˆถใ€‚ๅฎƒไปฌไผš่ฏ•ๅ›พ"็งฏๆ”’"่ถณๅคŸๅคš็š„ๆตๅผๆ•ฐๆฎๅ†็ปŸไธ€ๅ‘็ป™ๅฎขๆˆท็ซฏใ€‚่ฟ™ๅฏนไบŽๅฎžๆ—ถ AI ๅฏน่ฏๆ˜ฏ่‡ดๅ‘ฝ็š„๏ผŒๅผ€ๅ‘่€…ๅฟ…้กป็กฎไฟไปฃ็†ๅฑ‚้…็ฝฎไบ† X-Accel-Buffering: no ็ญ‰ๆŒ‡ไปคๆฅ็ฆ็”จ็ผ“ๅ†ฒ๏ผŒ็กฎไฟๆ•ฐๆฎ็š„"็›ด่พพๆ€ง"ใ€‚

4. SSE (Server-Sent Events)๏ผš่ง„่ŒƒๅŒ–็š„ๅ•ๅ‘ๆŽจ้€ๅ่ฎฎ โ€‹

ๅฆ‚ๆžœ่ฏด ๆตๅผ HTTP ๆ˜ฏไธ€็งๅบ•ๅฑ‚็š„โ€œไผ ่พ“ๆœบๅˆถโ€๏ผŒ้‚ฃไนˆ SSE ๅˆ™ๆ˜ฏๅŸบไบŽๆญคๆœบๅˆถๅปบ็ซ‹็š„ไธ€ๅฅ—ๆ ‡ๅ‡†ๅŒ–ๅบ”็”จๅฑ‚ๅ่ฎฎใ€‚ๅฎƒไธ“้—จไธบโ€œๆœๅŠกๅ™จๅ‘ๅฎขๆˆท็ซฏๆŽจ้€ไบ‹ไปถโ€่€Œ็”Ÿ๏ผŒๅœจ้€ป่พ‘ไธŠๆฏ”็บฏ็ฒน็š„ๆตๅผไผ ่พ“ๆ›ดๅ…ท็บฆๆŸๅŠ›๏ผŒไนŸๆ›ดไพฟไบŽๆต่งˆๅ™จ้›†ๆˆใ€‚

4.1 ๆ ธๅฟƒๅŽŸ็†๏ผšไธฅๆ ผ็š„ๆ–‡ๆœฌๅฅ‘็บฆ โ€‹

SSE ไธๅ…่ฎธๅƒๆ™ฎ้€šๆต้‚ฃๆ ท้šๅฟƒๆ‰€ๆฌฒๅœฐไผ ่พ“ๅญ—็ฌฆ๏ผŒๅฎƒ่ฆๆฑ‚ๅ“ๅบ”ๅคดๅผบๅˆถ่ฎพๅฎšไธบ Content-Type: text/event-stream๏ผŒไธ”ๆ•ฐๆฎๆ ผๅผๅฟ…้กป้ตๅพชไธ€ๅฅ—ไธฅๅฏ†็š„โ€œๆŠฅๆ–‡่ง„่Œƒโ€๏ผš

  • ็ป“ๆž„ๅŒ–ๅญ—ๆฎต๏ผšๆฏๆกๆถˆๆฏ็”ฑ id:๏ผˆไบ‹ไปถ ID๏ผ‰ใ€event:๏ผˆไบ‹ไปถ็ฑปๅž‹๏ผ‰ใ€data:๏ผˆไธšๅŠกๆ•ฐๆฎ๏ผ‰ๅ’Œ retry:๏ผˆ้‡่ฟž้—ด้š”๏ผ‰็ญ‰ๅญ—ๆฎต็ป„ๆˆใ€‚

  • ๆถˆๆฏ่พน็•Œ๏ผšๅฟ…้กปไปฅๅŒๆข่กŒ็ฌฆ \\n\\n ไฝœไธบไธ€ๆก็‹ฌ็ซ‹ๆถˆๆฏ็š„็ปˆ็‚นใ€‚่ฟ™็งๅ่ฎฎ็บง็š„็บฆๅฎš๏ผŒไฝฟๅพ—ๅฎขๆˆท็ซฏ่ƒฝๅคŸ็ฒพๅ‡†ๅœฐๆ‹†ๅˆ†ๅ‡บๆฏไธ€ๆกไธšๅŠกไบ‹ไปถ๏ผŒ่€Œๆ— ้œ€ๅผ€ๅ‘่€…ๆ‰‹ๅŠจๅค„็†ๆต็š„ๅˆ‡็‰‡้€ป่พ‘ใ€‚

4.2 ็ฝ‘็ปœๆœบๅˆถ๏ผšๅŽŸ็”Ÿๆต่งˆๅ™จ็š„โ€œ่‡ชๅŠจ้ฉพ้ฉถโ€ โ€‹

SSE ็š„ไธ€ๅคงไผ˜ๅŠฟๅœจไบŽๅ…ถๆทฑๅบฆ้›†ๆˆไบ†ๆต่งˆๅ™จๅŽŸ็”Ÿ็š„ EventSource APIใ€‚่ฟ™่ต‹ไบˆไบ†ๅฎƒ่ฎธๅคšๅผ€็ฎฑๅณ็”จ็š„้ซ˜็บง็‰นๆ€ง๏ผš

  • ่‡ชๅŠจ้‡่ฟž๏ผšๅฝ“็ฝ‘็ปœๆณขๅŠจๅฏผ่‡ด่ฟžๆŽฅไธญๆ–ญๆ—ถ๏ผŒEventSource ไผš่‡ชๅŠจๅ‘่ตท้‡่ฟžๅฐ่ฏ•ใ€‚

  • ็Šถๆ€่ฟฝ่ธช๏ผšๅˆฉ็”จ Last-Event-ID ๆœบๅˆถ๏ผŒๅฎขๆˆท็ซฏๅœจ้‡่ฟžๆ—ถไผš่‡ชๅŠจๆบๅธฆๆœ€ๅŽไธ€ๆฌกๆ”ถๅˆฐ็š„ ID๏ผŒๆœๅŠก็ซฏๆฎๆญคๅฏไปฅๅฎž็Žฐๆ•ฐๆฎ็š„โ€œๆ–ญ็‚น็ปญไผ โ€๏ผŒ็กฎไฟๆถˆๆฏไธไธขๅคฑใ€‚

4.3 ๅ…ธๅž‹ๅœบๆ™ฏ๏ผš่ฝป้‡็บง็š„ๅฎžๆ—ถๆ„Ÿ็Ÿฅ โ€‹

SSE ๆžๅ…ถ้€‚ๅˆ้‚ฃไบ›โ€œ้ซ˜้ข‘ไธ‹ๅ‘ใ€ไฝŽ้ข‘ไธŠๆŠฅโ€็š„ไธšๅŠกๅœบๆ™ฏ๏ผš

ๅœบๆ™ฏ่ฏดๆ˜Ž
้‡‘่ž/่กŒๆƒ…่‚ก็ฅจไปทๆ ผใ€ๅŠ ๅฏ†่ดงๅธ็š„ๅฎžๆ—ถๆณขๅŠจใ€‚
็Šถๆ€็›‘ๆŽง็ณป็ปŸ่ต„ๆบๅ ็”จๅคง็›˜ใ€CI/CD ๆž„ๅปบ่ฟ›ๅบฆๆกใ€‚
็คพไบคๆ้†’็ซ™ๅ†…ไฟก้€š็Ÿฅใ€็‚น่ตžไบ’ๅŠจ็š„ๅฎžๆ—ถๆ›ดๆ–ฐใ€‚

4.4 ๅทฅ็จ‹้ฟๅ‘ๆŒ‡ๅ—๏ผšไธๅฏๅฟฝ่ง†็š„็บฆๆŸ โ€‹

ๅฐฝ็ฎก SSE ่ถณๅคŸ่ฝปๅทง๏ผŒไฝ†ๅœจๅฎž้™…ๆžถๆž„่ฎพ่ฎกไธญ๏ผŒๅฟ…้กปๆญฃ่ง†ๅ…ถๅฑ€้™ๆ€ง๏ผš

ๅฑ€้™่ฏดๆ˜Ž
ๆ–‡ๆœฌ็ผ–็ ้™ๅˆถSSE ไป…ๆ”ฏๆŒ UTF-8 ๆ–‡ๆœฌๆตใ€‚ๅฆ‚ๆžœ้œ€่ฆไผ ่พ“ไบŒ่ฟ›ๅˆถๆ–‡ไปถ๏ผˆๅฆ‚ๅฎžๆ—ถ็”Ÿๆˆ็š„็ผฉ็•ฅๅ›พ๏ผ‰๏ผŒๅฟ…้กปๅ…ˆ่ฝฌ็ ไธบ Base64๏ผŒ่ฟ™ไผšๅธฆๆฅ็บฆ 33% ็š„ไฝ“็งฏๅผ€้”€ใ€‚
ๆต่งˆๅ™จ"ๅ•่กŒ้“"้™ๅˆถๅŽŸ็”Ÿ็š„ EventSource ไป…ๆ”ฏๆŒ GET ่ฏทๆฑ‚ใ€‚ๅœจ้œ€่ฆไผ ้€’ๅคๆ‚ๆŸฅ่ฏขๅ‚ๆ•ฐ๏ผˆๅฆ‚่ถ…้•ฟ็š„ JSON ่ฟ‡ๆปคๅ™จ๏ผ‰ๆ—ถ๏ผŒ่ฟ™ไธ€้™ๅˆถๆ˜พๅพ—้žๅธธๅฑ€ไฟƒใ€‚่ฟ™ไนŸๆ˜ฏไธบไป€ไนˆ่ฎธๅคš็Žฐไปฃ้กน็›ฎ๏ผˆๅฆ‚ AI ่Šๅคฉๅบ”็”จ๏ผ‰ๅฎๆ„ฟไฝฟ็”จ Fetch ๆจกๆ‹Ÿ SSE ็š„ๅŽŸๅ› ใ€‚
่ฟžๆŽฅๆ•ฐๆฐดไฝ็บฟๅœจ HTTP/1.1 ็Žฏๅขƒไธ‹๏ผŒๆต่งˆๅ™จๅฏนๅŒไธ€ๅŸŸๅ็š„ๅนถๅ‘้•ฟ่ฟžๆŽฅ้™ๅˆถ้€šๅธธๅชๆœ‰ 6 ไธชใ€‚่ฟ™ๆ„ๅ‘ณ็€ๅฆ‚ๆžœไฝ ๅœจๆต่งˆๅ™จไธญๅคšๅผ€ไบ†ๅ‡ ไธช็›‘ๆŽงๆ ‡็ญพ้กต๏ผŒๅพˆๅฏ่ƒฝไผš่€—ๅฐฝ่ฟžๆŽฅๆฑ ๏ผŒๅฏผ่‡ด้กต้ขๅ…ถไป–่ฏทๆฑ‚ๅฎŒๅ…จ้˜ปๅกžใ€‚(ๆณจ๏ผšๅœจ HTTP/2 ๅŠไปฅไธŠ็‰ˆๆœฌไธญ๏ผŒ็”ฑไบŽๅคš่ทฏๅค็”จ็‰นๆ€ง็š„ๅญ˜ๅœจ๏ผŒ่ฟ™ไธ€้™ๅˆถๅทฒๅŸบๆœฌๆถˆ้™ค)ใ€‚

5. WebSocket๏ผšๅ…จๅŒๅทฅ้€šไฟก โ€‹

WebSocket ไธๅŒไบŽ ๆตๅผ HTTP ๅ’Œ SSE ่ฟ™็งๅœจไผ ็ปŸ HTTP ๆก†ๆžถไธ‹็š„โ€œ็ฒพ้›•็ป†็ขโ€๏ผŒ่€Œๆ˜ฏไธ€ๆฌกๅฝปๅบ•็š„โ€œ่Œƒๅผ้ฉๅ‘ฝโ€ใ€‚ๅฎƒไธไป…ไป…ๆ˜ฏไธ€ไธช็ฎ€ๅ•็š„ API๏ผŒ่€Œๆ˜ฏไธ€ไธช็‹ฌ็ซ‹็š„ใ€ไธŽ HTTP ๅนณ็บง็š„ๅบ”็”จๅฑ‚ๅ่ฎฎใ€‚

ๅฎƒๆ˜ฏไธ€็งๅŸบไบŽ TCP ๅ่ฎฎ็š„ๅ…จๅŒๅทฅ้€šไฟกๅ่ฎฎ๏ผŒ็œŸๆญฃ็š„ๅ…จๅŒๅทฅๆŒไน…่ฟžๆŽฅๆ–นๆกˆ๏ผŒ้€š่ฟ‡ไธ€ๆฌก HTTP ๆกๆ‰‹ๅฎŒๆˆๅ่ฎฎๅ‡็บงๅŽ๏ผŒๅฎขๆˆท็ซฏไธŽๆœๅŠกๅ™จๅฏๅŒๅ‘ใ€ๅฎžๆ—ถใ€ไฝŽๅปถ่ฟŸๅœฐไผ ่พ“ๆ•ฐๆฎ๏ผŒ่ฟžๆŽฅๅ…จ็จ‹ไฟๆŒๅผ€ๆ”พใ€‚ๆ—จๅœจๆ‰“็ ดโ€œ่ฏทๆฑ‚-ๅ“ๅบ”โ€็š„ๆŸ็ผš๏ผŒๅปบ็ซ‹่ตท็œŸๆญฃๆ„ไน‰ไธŠ็š„โ€œ้›ถๅปถ่ฟŸโ€ๅŒๅ‘้€š้“ใ€‚

5.1 ๆ ธๅฟƒๅŽŸ็† โ€‹

WebSocket ็š„ๅปบ็ซ‹้ตๅพชไธ€ไธชๆ ‡ๅ‡†ๅŒ–็š„ๅ่ฎฎๅ‡็บงๆต็จ‹๏ผš

  • ๅ่ฎฎๅ‡็บงๆกๆ‰‹๏ผš่ฟžๆŽฅๅˆๅง‹ๅŒ–้˜ถๆฎต้‡‡็”จๆ ‡ๅ‡† HTTP ่ฏทๆฑ‚ใ€‚ๅฎขๆˆท็ซฏๅœจ่ฏทๆฑ‚ๅคดไธญๅฃฐๆ˜Ž Upgrade: websocket ไธŽ Connection: Upgrade๏ผŒ่กจๆ˜Žๅ่ฎฎๅ‡็บงๆ„ๅ›พใ€‚

  • ่ฟžๆŽฅ็Šถๆ€่ฝฌๆข๏ผšๆœๅŠกๅ™จ็กฎ่ฎคๆ”ฏๆŒ WebSocket ๅ่ฎฎๅŽ๏ผŒ่ฟ”ๅ›ž 101 Switching Protocols ็Šถๆ€็ ใ€‚่‡ณๆญค๏ผŒๅบ•ๅฑ‚ TCP ่ฟžๆŽฅๅฎŒๆˆๅ่ฎฎๅˆ‡ๆข๏ผŒๅŽ็ปญ้€šไฟก้‡‡็”จ WebSocket ๅธงๆ ผๅผ่ฟ›่กŒๆ•ฐๆฎไผ ่พ“๏ผŒไธๅ†ๆ‰ฟ่ฝฝ HTTP ๅ่ฎฎๅผ€้”€ใ€‚

5.2 ็ฝ‘็ปœๆœบๅˆถ โ€‹

ๅœจ WebSocket ่ฟžๆŽฅๅปบ็ซ‹ๅŽ๏ผŒ้€šไฟกๅŒๆ–นไผš่ฟ›ๅ…ฅๅ…จๅŒๅทฅๅฏน็ญ‰ไผ ่พ“็Šถๆ€๏ผš

  • ๅ…จๅŒๅทฅๆ•ฐๆฎไผ ่พ“๏ผšๅฎขๆˆท็ซฏไธŽๆœๅŠกๅ™จๅฏ้šๆ—ถใ€็‹ฌ็ซ‹ๅœฐๅ‘ๅฏน็ซฏๅ‘้€ๆ•ฐๆฎ๏ผŒๆ— ้œ€็ญ‰ๅพ…ๅฏนๆ–น่ฏทๆฑ‚ๆˆ–็กฎ่ฎคใ€‚่ฟ™็งๅŒๅ‘ๅนถๅ‘้€šไฟกๆœบๅˆถๅฝปๅบ•ๆ‘†่„ฑไบ† HTTP ๅ่ฎฎ"่ฏทๆฑ‚-ๅ“ๅบ”"็š„ไธฒ่กŒ็บฆๆŸ๏ผŒๅฎž็ŽฐไฝŽๅปถ่ฟŸ็š„ๅฎžๆ—ถๆ•ฐๆฎไบคๆขใ€‚

  • ่ฝป้‡็บงๅธง็ป“ๆž„๏ผš็›ธ่พƒไบŽ HTTP ๅ่ฎฎๆ•ฐ็™พๅญ—่Š‚็š„้ฆ–้ƒจๅผ€้”€๏ผŒWebSocket ๆ•ฐๆฎๅธง้ฆ–้ƒจๆžไธบ็ดงๅ‡‘๏ผŒๅ›บๅฎš้ƒจๅˆ†ไป… 2 ๅญ—่Š‚๏ผŒๅธฆๆŽฉ็ ๆ—ถๆœ€ๅคง 14 ๅญ—่Š‚ใ€‚ๅฏนไบŽ้ซ˜้ข‘ใ€ๅฐๆ•ฐๆฎๅŒ…ไผ ่พ“ๅœบๆ™ฏ๏ผˆๅฆ‚ๅฎžๆ—ถๆธธๆˆ็Šถๆ€ๅŒๆญฅใ€ไผ ๆ„Ÿๅ™จๆ•ฐๆฎ้‡‡้›†๏ผ‰๏ผŒๆ˜พ่‘—้™ไฝŽ็ฝ‘็ปœๅธฆๅฎฝๅ ็”จไธŽไผ ่พ“ๅปถ่ฟŸใ€‚

  • ๅŽŸ็”ŸไบŒ่ฟ›ๅˆถๆ”ฏๆŒ๏ผšWebSocket ๅ่ฎฎๅŽŸ็”Ÿๆ”ฏๆŒๆ–‡ๆœฌ๏ผˆUTF-8๏ผ‰ไธŽไบŒ่ฟ›ๅˆถๆ•ฐๆฎๅธง๏ผŒๆ— ้œ€ๅƒ SSE ้‚ฃๆ ท่ฟ›่กŒ Base64 ็ผ–็ ่ฝฌๆขใ€‚่ฏฅ็‰นๆ€งไฝฟๅ…ถๅœจๅฎžๆ—ถ้Ÿณ่ง†้ข‘ๆตไผ ่พ“ใ€ไบŒ่ฟ›ๅˆถๅ่ฎฎๅฐ่ฃ…็ญ‰ๅคšๅช’ไฝ“ๅœบๆ™ฏไธญๅ…ทๆœ‰ๆ˜พ่‘—็š„ๆ€ง่ƒฝไผ˜ๅŠฟใ€‚

5.3 ๅบ”็”จๅœบๆ™ฏ๏ผš้ซ˜ไบ’ๅŠจ็š„็ปˆๆžๆ–นๆกˆ โ€‹

ๅ‡กๆ˜ฏ้œ€่ฆโ€œๆฏซ็ง’็บงๅŒๆญฅโ€็š„ๅœบๆ™ฏ๏ผŒWebSocket ้ƒฝๆ˜ฏไธไบŒไน‹้€‰๏ผš

ๅœบๆ™ฏๅ…ธๅž‹ๅบ”็”จ
ๅณๆ—ถ้€š่ฎฏๅพฎไฟก็ฝ‘้กต็‰ˆใ€้ฃžไนฆ่Šๅคฉ
ๅๅŒๅŠžๅ…ฌGoogle Docsใ€Figma ็š„ๅคšไบบๅœจๅŒๆญฅ็ผ–่พ‘
็ซžๆŠ€ๆธธๆˆๅฎžๆ—ถๅŒๆญฅ็Žฉๅฎถๅๆ ‡ไธŽๆŒ‡ไปค็š„ MMO ๆˆ– MOBA ๆธธๆˆ
้‡‘่žๅšๅผˆๆž้€ŸๆณขๅŠจ็š„้‡ๅŒ–ไบคๆ˜“็ปˆ็ซฏ

5.4 ๅทฅ็จ‹่ฝๅœฐ็š„โ€œ้‡่ฃ…โ€ไปฃไปท โ€‹

ไฝœไธบไธ€็ง"ๆœ‰็Šถๆ€"็š„ๅ่ฎฎ๏ผŒWebSocket ๅœจๅธฆๆฅๆž่‡ดๆ€ง่ƒฝ็š„ๅŒๆ—ถ๏ผŒไนŸ็ป™ๅŽ็ซฏๆžถๆž„ๅธฆๆฅไบ†ๆฒ‰้‡็š„ๅคๆ‚ๆ€ง๏ผš

  • ็Šถๆ€็ปดๆŠคไธŽๅ†…ๅญ˜ๅผ€้”€
    ไธๅŒไบŽ HTTP ็š„"้˜…ๅŽๅณ็„š"ๆจกๅผ๏ผŒๆœๅŠกๅ™จๅฟ…้กปไธบๆฏไธ€ไธช WebSocket ่ฟžๆŽฅ็ปดๆŒไธ€ไธชๆŒไน…็š„ Session ็Šถๆ€ใ€‚ๅฝ“ๅนถๅ‘้‡ๆ”€ๅ‡่‡ณๅไธ‡็”š่‡ณ็™พไธ‡็บงๆ—ถ๏ผŒๅ†…ๅญ˜ๅ ็”จไธŽ้•ฟ่ฟžๆŽฅ็ฎก็†ๅŽ‹ๅŠ›ๅฐ†ๅ‘ˆๅ‡ ไฝ•็บงๆ•ฐๅขž้•ฟ๏ผŒๅฏนๆœๅŠกๅ™จ็š„่ต„ๆบ่ฐƒๅบฆ่ƒฝๅŠ›ๆๅ‡บไธฅๅณป่€ƒ้ชŒใ€‚

  • ๅˆ†ๅธƒๅผ็ณป็ปŸ็š„ๆŒ‘ๆˆ˜
    ๅœจๆฐดๅนณๆ‰ฉๅฎนๅœบๆ™ฏไธ‹๏ผŒWebSocket ๅ ช็งฐ่ดŸ่ฝฝๅ‡่กกๅ™จ็š„"ๅ™ฉๆขฆ"ใ€‚็”ฑไบŽ่ฟžๆŽฅๅ…ทๆœ‰็Šถๆ€ๅฑžๆ€ง๏ผŒ่‹ฅ็”จๆˆท A ่ฟžๆŽฅ่‡ณๆœบๅ™จ 1๏ผŒ็”จๆˆท B ่ฟžๆŽฅ่‡ณๆœบๅ™จ 2๏ผŒไบŒ่€…้—ด็š„้€šไฟกไพฟๆ— ๆณ•็›ดๆŽฅๅฎŒๆˆใ€‚ๆญคๆ—ถๅŽ็ซฏๅฟ…้กปๅผ•ๅ…ฅ Redis Pub/Subใ€ๆถˆๆฏ้˜Ÿๅˆ—๏ผˆMessage Queue๏ผ‰ๆˆ–ไธ“็”จ็ฝ‘ๅ…ณ็ญ‰ไธญ้—ดไปถ๏ผŒไปฅๅฎž็Žฐ่ทจ่Š‚็‚น็š„"ๆถˆๆฏๅฏน้ฝ"ไธŽ็Šถๆ€ๅŒๆญฅใ€‚

  • ๅŽŸๅง‹ๅ่ฎฎ็š„ๅฑ€้™
    WebSocket ๅ่ฎฎๆœฌ่บซ่ฎพ่ฎกๅพ—ๆžไธบ็ฒพ็ฎ€๏ผŒๅนถๆœชๅ†…็ฝฎ่‡ชๅŠจ้‡่ฟžใ€ๅฟƒ่ทณไฟๆดปๆˆ–ๆถˆๆฏ็กฎ่ฎค็ญ‰ๆœบๅˆถใ€‚ไธบไฟ้šœ่ฟžๆŽฅๅœจ็”Ÿไบง็Žฏๅขƒไธญ็š„้ฒๆฃ’ๆ€ง๏ผŒๅผ€ๅ‘่€…ๅฟ…้กปๅœจๅบ”็”จๅฑ‚่‡ช่กŒๅฎž็Žฐ Ping/Pong ๅฟƒ่ทณๆฃ€ๆต‹ใ€ๆ–ญ็บฟๆ„Ÿ็ŸฅไปฅๅŠๅธฆ้€€้ฟ็ญ–็•ฅ็š„้‡่ฟž้€ป่พ‘๏ผŒ่ฟ™ๆ— ็–‘ๅขžๅŠ ไบ†ๅทฅ็จ‹ๅฎž็Žฐ็š„ๅคๆ‚ๅบฆใ€‚

6. Webhooks๏ผšไบ‹ไปถ้ฉฑๅŠจ็š„ๅๅ‘ๅ›ž่ฐƒ โ€‹

ๅฆ‚ๆžœ่ฏด SSE ๆ˜ฏๆœๅŠกๅ™จ"ไธปๅŠจๆŽจ้€็ป™ๆต่งˆๅ™จ"๏ผŒ้‚ฃไนˆ Webhooks ๅˆ™ๆ˜ฏๆœๅŠกๅ™จ"ไธปๅŠจๆŽจ้€็ป™ๆœๅŠก็ซฏ"โ€”โ€”ๅฎƒๆ˜ฏไธ€็งๅŸบไบŽ HTTP ็š„ไบ‹ไปถ่งฆๅ‘ๆœบๅˆถ๏ผŒไธ“ไธบๆœๅŠก็ซฏๅ‘ๆœๅŠก็ซฏๅ•ๅ‘ๆŽจ้€่€Œ่ฎพ่ฎกใ€‚

6.1 ๆ ธๅฟƒๅŽŸ็†๏ผšๅ›ž่ฐƒ็š„่‡ชๅŠจๅŒ– โ€‹

Webhooks ็š„ๅทฅไฝœๆจกๅผ้žๅธธๆธ…ๆ™ฐ๏ผš

  • ไบ‹ไปถๆณจๅ†Œ๏ผšๅฎขๆˆท็ซฏ๏ผˆ้€šๅธธๆ˜ฏ็ฌฌไธ‰ๆ–นๅบ”็”จ๏ผ‰้ข„ๅ…ˆๅœจๆœๅŠก็ซฏๆณจๅ†Œไธ€ไธชๅ›ž่ฐƒ URL๏ผŒๅนถๆŒ‡ๅฎšๅ…ณๆณจ็š„ไบ‹ไปถ็ฑปๅž‹๏ผˆๅฆ‚"่ฎขๅ•ๅฎŒๆˆ"ใ€"็”จๆˆทๆณจๅ†Œ"ใ€"ๆ–‡ไปถไธŠไผ "็ญ‰๏ผ‰ใ€‚

  • ไบ‹ไปถ่งฆๅ‘๏ผšๅฝ“ๆœๅŠก็ซฏๅ‘็”ŸๆŒ‡ๅฎšไบ‹ไปถๆ—ถ๏ผŒๅฎƒไผšไธปๅŠจๅ‘ๅฎขๆˆท็ซฏๆณจๅ†Œ็š„ URL ๅ‘้€ไธ€ไธช HTTP POST ่ฏทๆฑ‚๏ผŒๅฐ†ไบ‹ไปถ่ฏฆๆƒ…ๅฐ่ฃ…ๅœจ่ฏทๆฑ‚ไฝ“ไธญใ€‚

  • ๅณๆ—ถๅ“ๅบ”๏ผšๅฎขๆˆท็ซฏๆ”ถๅˆฐๅ›ž่ฐƒๅŽ๏ผŒๆ‰ง่กŒ็›ธๅบ”ไธšๅŠก้€ป่พ‘๏ผˆๅฆ‚ๆ›ดๆ–ฐๆœฌๅœฐๆ•ฐๆฎใ€ๅ‘้€้€š็Ÿฅ็ญ‰๏ผ‰๏ผŒๅนถ่ฟ”ๅ›žไธ€ไธช็กฎ่ฎคๅ“ๅบ”ใ€‚

ๆ•ดไธช่ฟ‡็จ‹ๅฎŒๅ…จๅŸบไบŽๆ ‡ๅ‡† HTTP๏ผŒๆ— ้œ€็ปดๆŠคๆŒไน…่ฟžๆŽฅ๏ผŒไนŸๆ— ้œ€ๅฎขๆˆท็ซฏๆŒ็ปญ่ฝฎ่ฏขใ€‚

6.2 ๅ…ธๅž‹ๅœบๆ™ฏ๏ผš่ทจ็ณป็ปŸ็š„ๆพ่€ฆๅˆ้›†ๆˆ โ€‹

ๅœบๆ™ฏ่ฏดๆ˜Ž
ๆ”ฏไป˜ๅ›ž่ฐƒๅฝ“็”จๆˆทๅœจ็ฌฌไธ‰ๆ–นๆ”ฏไป˜ๅนณๅฐ๏ผˆๅฆ‚ Stripeใ€ๆ”ฏไป˜ๅฎ๏ผ‰ๅฎŒๆˆไป˜ๆฌพๅŽ๏ผŒๆ”ฏไป˜ๅนณๅฐไผšๅ‘ๅ•†ๆˆทๆœๅŠกๅ™จๅ‘้€ Webhook ๅ›ž่ฐƒ๏ผŒ้€š็Ÿฅไบคๆ˜“็ป“ๆžœใ€‚
็‰ˆๆœฌๆŽงๅˆถ็ณป็ปŸGitHubใ€GitLab ็ญ‰ๅนณๅฐ้€š่ฟ‡ Webhooks ๅœจไปฃ็ ๆไบคใ€PR ๅˆ›ๅปบๆ—ถ้€š็Ÿฅๅค–้ƒจ CI/CD ็ณป็ปŸใ€‚
็”ตๅ•†่ฎขๅ•ๅŒๆญฅ่ฎขๅ•็Šถๆ€ๅ˜ๆ›ดใ€็”จๆˆทๆณจๅ†Œ็ญ‰ไบ‹ไปถ่งฆๅ‘ๅŽ๏ผŒๅŒๆญฅ่‡ณ ERPใ€CRM ็ญ‰ๅ†…้ƒจ็ณป็ปŸใ€‚
ๆถˆๆฏๆŽจ้€้›†ๆˆๅฐ†ๆถˆๆฏๅนณๅฐ็š„ไบ‹ไปถ๏ผˆๅฆ‚็”จๆˆทๅ‘้€ๆถˆๆฏ๏ผ‰ๆŽจ้€่‡ณ่‡ชๆœ‰็š„่Šๅคฉๆœบๅ™จไบบๆˆ–ๅฎขๆœ็ณป็ปŸใ€‚

6.3 ๅทฅ็จ‹่€ƒ้‡๏ผšๅฏ้ ๆŠ•้€’ไธŽๅฎ‰ๅ…จ้˜ฒๆŠค โ€‹

่™ฝ็„ถ Webhooks ๆฆ‚ๅฟต็ฎ€ๅ•๏ผŒไฝ†ๅœจ็”Ÿไบง็Žฏๅขƒไธญ้œ€่ฆๅ…ณๆณจๅ‡ ไธชๅ…ณ้”ฎ้—ฎ้ข˜๏ผš

่€ƒ้‡็‚น่ฏดๆ˜Ž
ๅฏ้ ๆŠ•้€’ไฟ้šœHTTP ่ฏทๆฑ‚ๅฏ่ƒฝๅ› ็ฝ‘็ปœ้—ฎ้ข˜ๆŠ•้€’ๅคฑ่ดฅ๏ผŒๅ› ๆญคไธปๆตๅนณๅฐ้€šๅธธๆ”ฏๆŒๅคฑ่ดฅ้‡่ฏ•ๆœบๅˆถ๏ผŒๅนถ่ฆๆฑ‚ๅ›ž่ฐƒ็ซฏ็‚น่ฟ”ๅ›ž 2xx ็Šถๆ€็ ๆ‰่ง†ไธบๆˆๅŠŸใ€‚
ๅน‚็ญ‰ๆ€ง่ฎพ่ฎก็”ฑไบŽ้‡่ฏ•ๆœบๅˆถ็š„ๅญ˜ๅœจ๏ผŒๅŒไธ€ไธชไบ‹ไปถๅฏ่ƒฝ่ขซๅคšๆฌกๆŠ•้€’ใ€‚ๅฎขๆˆท็ซฏๅบ”ๅฝ“ๅ…ทๅค‡ๅน‚็ญ‰ๅค„็†่ƒฝๅŠ›๏ผŒ้ฟๅ…้‡ๅคไธšๅŠกๆ“ไฝœใ€‚
ๅฎ‰ๅ…จ้ชŒ่ฏไธบไบ†้˜ฒๆญขๆถๆ„ไผช้€ ๅ›ž่ฐƒ๏ผŒๆœๅŠก็ซฏ้€šๅธธไผšๅœจ่ฏทๆฑ‚ไธญๅŠ ๅ…ฅ็ญพๅ๏ผˆๅฆ‚ HMAC ็ญพๅ๏ผ‰๏ผŒๅฎขๆˆท็ซฏ้€š่ฟ‡้ชŒ่ฏ็ญพๅๆฅ็กฎ่ฎค่ฏทๆฑ‚็š„็œŸๅฎžๆ€งใ€‚

6.4 ไธŽ SSE ็š„ๆœฌ่ดจๅŒบๅˆซ โ€‹

็ปดๅบฆWebhooksSSE
ๆŽจ้€ๅฏน่ฑกๆœๅŠก็ซฏ โ†’ ๆœๅŠก็ซฏๆœๅŠก็ซฏ โ†’ ๆต่งˆๅ™จ
่ฟžๆŽฅๆ–นๅ‘็”ฑๆŽฅๆ”ถๆ–น้ข„ๅ…ˆๆšด้œฒ URL็”ฑๅ‘้€ๆ–นๅปบ็ซ‹ๅนถ็ปดๆŒ่ฟžๆŽฅ
้€‚็”จๅœบๆ™ฏ่ทจ็ณป็ปŸไบ‹ไปถๅŒๆญฅๆต่งˆๅ™จ็ซฏๅฎžๆ—ถๆ›ดๆ–ฐ
ๅ่ฎฎๅŸบ็ก€ๆ ‡ๅ‡† HTTP POST้•ฟ่ฟžๆŽฅ + EventSource API

7. ๅ…ณไบŽ HTTP ่ฝฎ่ฏข็š„่ฎจ่ฎบ โ€‹

HTTP ่ฝฎ่ฏขๆ˜ฏไธ€็งๆœ€ๆœด็ด ็š„ๅฎžๆ—ถ้€šไฟกๆ–นๆกˆ๏ผŒๆ˜ฏๅฎž็Žฐๅฎžๆ—ถๆ€ง็š„ๅŸบ็ก€ๆ–นๆกˆ๏ผŒๆ ธๅฟƒ้€ป่พ‘ๆ˜ฏๅฎขๆˆท็ซฏๅฎšๆ—ถๅ‘ๆœๅŠกๅ™จๅ‘่ตท่ฏทๆฑ‚๏ผŒไธปๅŠจๆ‹‰ๅ–ๆœ€ๆ–ฐๆ•ฐๆฎใ€‚

ไธๅฐ‘ไบบๅœจๅญฆไน ไบ† ๆตๅผ HTTPใ€SSE ๅ’Œ WebSocket ๅŽ๏ผŒไผšไบง็”Ÿไธ€็งโ€œๆŠ€ๆœฏๆด็™–โ€๏ผŒ่ง‰ๅพ— HTTP ่ฝฎ่ฏขๆ˜ฏไธŠๅคๆ—ถไปฃ็š„่ฝๅŽๆŠ€ๆœฏ๏ผŒๅบ”ๅฝ“่ขซๅฝปๅบ•ๆท˜ๆฑฐใ€‚ไฝ†็Žฐๅฎžๆ˜ฏ๏ผŒๅœจๅฝ“ๅ‰ๅพˆๅคš้กถ็บง็š„ AI ็”Ÿๅ›พ๏ผˆๅฆ‚ Midjourney ็ฑป็š„็ฌฌไธ‰ๆ–น้›†ๆˆๅบ”็”จใ€้ƒจๅˆ† Stable Diffusion ๅ•†ไธšๅนณๅฐ๏ผ‰็”š่‡ณ้ƒจๅˆ†้•ฟ่ง†้ข‘็”Ÿๆˆๅบ”็”จไธญ๏ผŒHTTP ่ฝฎ่ฏขไธไป…ๆฒกๆœ‰ๆถˆๅคฑ๏ผŒๅ่€Œๆ˜ฏๆžถๆž„ๅธˆ็ป่ฟ‡ๆทฑๆ€็†Ÿ่™‘ๅŽ็š„้ฆ–้€‰ๆ–นๆกˆใ€‚

7.1 ไปปๅŠก็‰นๆ€ง็š„ๆœฌ่ดจๅทฎๅผ‚๏ผšๆตๅผ่พ“ๅ‡บ vs ๅผ‚ๆญฅๅคงไปปๅŠก โ€‹

AI ๅบ”็”จ็š„ไบคไบ’ๆจกๅผๅ†ณๅฎšไบ†้€šไฟกๅ่ฎฎ็š„้€‰ๅž‹๏ผš

ๅบ”็”จ็ฑปๅž‹ๅœบๆ™ฏ็‰นๅพ่งฃ้‡Š่ฏดๆ˜Ž
ๆ–‡ๆœฌๅคงๆจกๅž‹๏ผˆๅฆ‚ ChatGPT๏ผ‰ๆตๅผๆŒ็ปญ่พ“ๅ‡บๆจกๅž‹ๅœจๆž็Ÿญๆ—ถ้—ดๅ†…๏ผˆ้ฆ–ไธช Token ็บฆ 200ms ๅณๅฏ็”Ÿๆˆ๏ผ‰ๅฐฑๅผ€ๅง‹่ฟ”ๅ›žๆ•ฐๆฎ๏ผŒ้šๅŽๆŒ็ปญ"ๅๅญ—"ใ€‚่‹ฅ้‡‡็”จไผ ็ปŸๅŒๆญฅ HTTP๏ผŒ็”จๆˆทๅฐ†้ขๅฏน้•ฟ่พพๆ•ฐ็ง’็š„็™ฝๅฑ็ญ‰ๅพ…๏ผŒไฝ“้ชŒๆžๅทฎใ€‚SSE/ๆตๅผ HTTP ๆญฃๆ˜ฏไธบๆญค็ฑปๅœบๆ™ฏ้‡่บซๆ‰“้€ ใ€‚
AI ็”Ÿๅ›พ/็”Ÿ่ง†้ข‘้‡่ฎก็ฎ—ๅผ‚ๆญฅไปปๅŠกไธ€ๅผ ้ซ˜่ดจ้‡ๅ›พ็‰‡็š„็”Ÿๆˆๅฏ่ƒฝ้œ€่ฆ GPU ๆปก่ฝฝ่ฟ็ฎ— 10~30 ็ง’๏ผŒ็”š่‡ณๅœจ้ซ˜ๅณฐๆœŸ้œ€่ฆๆŽ’้˜Ÿๆ•ฐๅˆ†้’Ÿใ€‚ไปปๅŠกๆ‰ง่กŒๆœŸ้—ด๏ผŒ้™คไบ†ๅถๅฐ”็š„่ฟ›ๅบฆๆ›ดๆ–ฐ๏ผˆ10%ใ€50%๏ผ‰๏ผŒๅนถๆฒกๆœ‰ๆŒ็ปญ็š„ๆ•ฐๆฎๆตๅฏไพ›ไผ ่พ“ใ€‚่ฎฉๅฎขๆˆท็ซฏๅ’Œ็ฝ‘ๅ…ณไน‹้—ด็ปดๆŒไธ€ๆก้•ฟ่พพๆ•ฐๅ็ง’็š„"้—ฒ็ฝฎ้•ฟ่ฟžๆŽฅ"๏ผŒไป…็”จไบŽ็ญ‰ๅพ…ๆœ€็ปˆไธ€ไธชๅ›พ็‰‡ URL ็š„่ฟ”ๅ›ž๏ผŒๅœจ็ณป็ปŸ่ฎพ่ฎกไธŠๆ˜ฏไธ€็ฌ”ไธๅฐ็š„ๅผ€้”€ใ€‚

7.2 ๅŸบ็ก€่ฎพๆ–ฝ็š„ๆฎ‹้…ท็Žฐๅฎž๏ผš่ฟžๆŽฅๆฑ ๆžฏ็ซญไธŽ็ฝ‘ๅ…ณ่ถ…ๆ—ถ โ€‹

ๅฆ‚ๆžœ AI ็”Ÿๅ›พไฝฟ็”จ WebSocket ๆˆ–ไฟๆŒ้•ฟ่พพ 30 ็ง’็š„ HTTP ่ฟžๆŽฅ๏ผŒไผš้‡ๅˆฐไธฅๅณป็š„ๅŸบ็ก€่ฎพๆ–ฝๆŒ‘ๆˆ˜๏ผš

ๆŒ‘ๆˆ˜่ฏดๆ˜Ž
็ฝ‘ๅ…ณ/่ดŸ่ฝฝๅ‡่กก็š„่ถ…ๆ—ถ้™ๅˆถๅคงๅคšๆ•ฐไบ‘ๅŽ‚ๅ•†็š„่ดŸ่ฝฝๅ‡่กกๅ™จ๏ผˆๅฆ‚ AWS ALBใ€Nginx ้ป˜่ฎค้…็ฝฎ๏ผ‰ๅ’Œ CDN ๅฏน HTTP ่ฟžๆŽฅ้ƒฝๆœ‰ไธฅๆ ผ่ถ…ๆ—ถ้™ๅˆถ๏ผˆ้€šๅธธไธบ 30s ่‡ณ 60s๏ผ‰ใ€‚ๅฝ“ AI ไปปๅŠก่€—ๆ—ถ่ฟ‡้•ฟๆ—ถ๏ผŒ็ฝ‘ๅ…ณไผšไธปๅŠจๅˆ‡ๆ–ญ่ฟžๆŽฅๅนถ่ฟ”ๅ›ž 504 Gateway Timeoutใ€‚
ๅนถๅ‘่ฟžๆŽฅๆ•ฐ็“ถ้ขˆๆœๅŠกๅ™จ็š„ๅนถๅ‘่ฟžๆŽฅๆฑ ๆ˜ฏๆœ‰้™็š„ใ€‚ๅ‡่ฎพ 1 ไธ‡ๅ็”จๆˆทๅŒๆ—ถๆŽ’้˜Ÿ็ญ‰ๅ›พ็‰‡๏ผšไฝฟ็”จ WebSocket ้œ€่ฆ็ปดๆŒ 1 ไธ‡ไธช้•ฟ่ฟžๆŽฅ๏ผ›่€Œไฝฟ็”จ่ฝฎ่ฏข๏ผŒๆฏไฝ็”จๆˆทๆฏ 3 ็ง’ๅ‘่ตทไธ€ไธชๆž่ฝป้‡็š„ GET ่ฏทๆฑ‚๏ผŒๆŸฅ่ฏขๅฎŒๆฏ•็ซ‹ๅณ้‡Šๆ”พ่ฟžๆŽฅใ€‚ๆ— ็Šถๆ€็š„็Ÿญ่ฟžๆŽฅๆจกๅผ่ƒฝ่ฎฉๆœๅŠกๅ™จๅžๅ้‡ๆๅ‡ๆ•ฐไธช้‡็บงใ€‚

7.3 ๅŽ็ซฏๆžถๆž„็š„ๅคฉ็„ถ่ฆๆฑ‚๏ผš่งฃ่€ฆไธŽๆถˆๆฏ้˜Ÿๅˆ— โ€‹

็Žฐไปฃ้ซ˜ๅนถๅ‘ AI ็”Ÿๅ›พๅนณๅฐ็š„ๅŽ็ซฏๆžถๆž„้€šๅธธๆ˜ฏๅฝปๅบ•่งฃ่€ฆ็š„๏ผš

  1. ๆไบคไปปๅŠก (Client)๏ผšๅฎขๆˆท็ซฏ POST ่ฏทๆฑ‚ /api/generateใ€‚

  2. ไธ‹ๅ‘้˜Ÿๅˆ— (API Server)๏ผšAPI ๆœๅŠกๅ™จๅฐ†ไปปๅŠกๆŠ•ๅ…ฅ Kafka/RabbitMQ ้˜Ÿๅˆ—ไธญ๏ผŒ็”Ÿๆˆๅ”ฏไธ€ task_id ๅนถ็ซ‹ๅณ่ฟ”ๅ›ž็ป™ๅฎขๆˆท็ซฏ๏ผˆ่€—ๆ—ถ็บฆ 50ms๏ผ‰ใ€‚

  3. ๅผ‚ๆญฅๆถˆ่ดน (GPU Worker)๏ผšๅŽ็ซฏ GPU ่Š‚็‚นไปŽ้˜Ÿๅˆ—ไธญๅ–ๅ‡บไปปๅŠก๏ผŒๆ‰ง่กŒ่ฎก็ฎ—ใ€‚็”ŸๆˆๅฎŒๆฏ•ๅŽ๏ผŒๅฐ†ๅ›พ็‰‡ไธŠไผ ่‡ณ OSS/S3 ๅนถๅฐ†็ป“ๆžœๅ†™ๅ…ฅๆ•ฐๆฎๅบ“ใ€‚

  4. ่Žทๅ–็ป“ๆžœ (Client)๏ผšๅฎขๆˆท็ซฏๆŒๆœ‰ task_id๏ผŒๆฏ้š”ๆ•ฐ็ง’่ฝฎ่ฏขไธ€ๆฌก /api/task/{task_id} ๆŸฅ่ฏขไปปๅŠก็Šถๆ€ใ€‚

ๅœจ่ฟ™ไธช็ปๅ…ธ็š„็”Ÿไบง่€…-ๆถˆ่ดน่€…ๆจกๅž‹ไธญ๏ผŒๅค„็† HTTP ่ฏทๆฑ‚็š„ Web ๆœๅŠกๅ™จไธŽ็œŸๆญฃๆ‰ง่กŒ่ฎก็ฎ—็š„ GPU ๆœๅŠกๅ™จๅœจ็‰ฉ็†ไธŠๅฝผๆญค้š”็ฆปใ€‚่‹ฅๅผบ่กŒไฝฟ็”จ WebSocket ๆˆ– SSE ๅฐ†ไบŒ่€…ไธฒ่”๏ผŒไธไป…่ฟ่ƒŒไบ†่งฃ่€ฆๅŽŸๅˆ™๏ผŒ่ฟ˜ไผšไฝฟ Web ๆœๅŠกๅ™จไธŽ GPU ่Š‚็‚น้—ด็š„็Šถๆ€ๅŒๆญฅๅ˜ๅพ—ๆžไธบๅคๆ‚ใ€‚

7.4 ็งปๅŠจ็ซฏๅผฑ็ฝ‘็Žฏๅขƒไธ‹็š„"็ปๅฏน้ฒๆฃ’ๆ€ง" โ€‹

่ฏ•ๆƒณ่ฟ™ๆ ทไธ€ไธชๅœบๆ™ฏ๏ผš็”จๆˆทๅœจๅœฐ้“ไธญไฝฟ็”จๆ‰‹ๆœบ็”Ÿๅ›พ๏ผŒๅˆšๆไบคไปปๅŠกไพฟ้ญ้‡ไบ† 5 ็ง’็š„็ฝ‘็ปœไธญๆ–ญใ€‚

  • ไฝฟ็”จ WebSocket๏ผš่ฟžๆŽฅๆ–ญๅผ€ๅŽ๏ผŒ้‡่ฟžๆ—ถๅฆ‚ไฝ•ๆขๅคๅ…ˆๅ‰็š„"ไผš่ฏ็Šถๆ€"๏ผŸๆœๅŠกๅ™จๅฆ‚ไฝ•่ฏ†ๅˆซๅนถ็ปง็ปญๅ‘้‡่ฟžๅŽ็š„ๅฎขๆˆท็ซฏๆŽจ้€็ป“ๆžœ๏ผŸ่ฟ™้œ€่ฆไธ€ๅฅ—ๅคๆ‚็š„้‡ไผ ไธŽไผš่ฏๆขๅคๆœบๅˆถใ€‚

  • ไฝฟ็”จ่ฝฎ่ฏข (Polling)๏ผšๅˆ™ๆžไธบ็ฎ€ๆดใ€‚ๅฎขๆˆท็ซฏๆŒๆœ‰ task_idใ€‚็ฝ‘็ปœๆขๅคๅŽ๏ผŒ็ปง็ปญๅ‘้€ GET /api/task/{task_id} ๅณๅฏ่Žทๅ–็ป“ๆžœใ€‚ๆ— ็Šถๆ€็‰นๆ€งๅธฆๆฅไบ†ๅ“่ถŠ็š„ๆŠ—ๅนฒๆ‰ฐ่ƒฝๅŠ›ใ€‚

7.5 ๅฐ็ป“ โ€‹

็ปผไธŠๆ‰€่ฟฐ๏ผŒ่ฝฎ่ฏขๅ‡ญๅ€Ÿๅ…ถๆ— ็Šถๆ€ใ€ไฝŽ่ฟžๆŽฅๅผ€้”€ใ€้ซ˜ๅžๅ้‡็š„็‰นๆ€ง๏ผŒๆˆไธบ AI ็”Ÿๅ›พๅœบๆ™ฏไธ‹ๆ›ดๅ…ทๆ€งไปทๆฏ”็š„้€šไฟกๆ–นๆกˆใ€‚

ๅฝ“็„ถ๏ผŒๅฆ‚ๆžœๅ†ณๅฎšไฝฟ็”จ่ฝฎ่ฏข๏ผŒไธบไบ†ๅ…ผ้กพไฝ“้ชŒๅ’ŒๆœๅŠกๅ™จๅŽ‹ๅŠ›๏ผŒไธš็•Œ้€šๅธธไผš้‡‡็”จ้€€้ฟ่ฝฎ่ฏข็ญ–็•ฅโ€”โ€”ๅณ้š็€ไปปๅŠก็ญ‰ๅพ…ๆ—ถ้—ดๅปถ้•ฟ๏ผŒ้€ๆญฅ้™ไฝŽๆŸฅ่ฏข้ข‘็އใ€‚ไพ‹ๅฆ‚ๅ‰ 30 ็ง’ๆฏ 2 ็ง’ๆŸฅ่ฏขไธ€ๆฌก๏ผŒ30 ็ง’ๅŽๆ”นไธบๆฏ 5 ็ง’ๆŸฅ่ฏขไธ€ๆฌก๏ผŒๅˆฐๅŽๆœŸ็”š่‡ณๅฏไปฅ้™่‡ณๆฏ 10 ็ง’ไธ€ๆฌกใ€‚่ฟ™็ง็ญ–็•ฅ่ƒฝๅœจไฟ่ฏๅŠๆ—ถ่Žทๅ–็ป“ๆžœ็š„ๅŒๆ—ถ๏ผŒๆœ‰ๆ•ˆๅ‡ๅฐ‘ไธๅฟ…่ฆ็š„่ฏทๆฑ‚ๅผ€้”€ใ€‚

8. ๅฎž่ทต้€‰ๅž‹ๆŒ‡ๅ—๏ผšไธไนฐๆœ€่ดต็š„๏ผŒๅช้€‰ๆœ€ๅฏน็š„ โ€‹

ๅœจๅฎž้™…ๅบ”็”จไธญ๏ผŒ่„ฑ็ฆปไธšๅŠกๅœบๆ™ฏ่ฐˆๅ่ฎฎไธŽ้€šไฟกๆ–นๆกˆ็š„ไผ˜ๅŠฃๆ˜ฏๆฏซๆ— ๆ„ไน‰็š„ใ€‚WebSocket ่™ฝๅผบ๏ผŒไฝ†ๅนถ้ž้“ถๅผน๏ผ›ๆ ‡ๅ‡† HTTP ่™ฝโ€œ่€โ€๏ผŒไฝ†ๅœจๅคง่ง„ๆจกๅˆ†ๅธƒๅผ็ณป็ปŸไธญไพ็„ถๆ˜ฏๆœ€็จณๅฅ็š„้€‰ๆ‹ฉใ€‚

8.1 ๅ†ณ็ญ–็Ÿฉ้˜ต๏ผšAI ไธŽๅฎžๆ—ถไธšๅŠกๅœบๆ™ฏ้€‰ๅž‹ โ€‹

ไธšๅŠกๅœบๆ™ฏไปปๅŠก่€—ๆ—ถ็‰นๅพๆŽจ่้€šไฟกๅ่ฎฎๅ†ณ็ญ–ไพๆฎไธŽๅ˜้€šๆ–นๆกˆ
AI ๆ–‡ๆœฌๅฏน่ฏ (LLM)ๅฟซ้€Ÿๅ“ๅบ”๏ผŒๆŒ็ปญๆ–‡ๆœฌๆต (ๅ‡ ็ง’~ๅ‡ ๅ็ง’)ๆตๅผ HTTP (Fetch / SSE)้œ€ๆไพ›โ€œๆ‰“ๅญ—ๆœบโ€ๅ้ฆˆไปฅ็ปดๆŒ็”จๆˆทๆณจๆ„ๅŠ›ใ€‚็›ธๆฏ” WS๏ผŒHTTP ๆ›ดๆ˜“็ฉฟ้€้˜ฒ็ซๅข™ไธŽ็ฝ‘ๅ…ณใ€‚
AI ๅฎžๆ—ถ่ฏญ้Ÿณ/่ง†่ง‰ๅŠฉๆ‰‹ๆžไฝŽๅปถ่ฟŸ๏ผŒๅŒๅ‘้ซ˜้ข‘ไบ’ๅŠจ (<500ms)WebSocket / WebRTCๅฟ…้กปๆถˆ้™ค HTTP ๆกๆ‰‹ไธŽๅคด้ƒจๅปถ่ฟŸ๏ผŒๅฎž็Žฐ็œŸๆญฃ็š„ๅ…จๅŒๅทฅๆตๅผไบคไบ’ใ€‚
AI ๅฟซ้€Ÿ็”Ÿๅ›พ (SDXL Turbo)่€—ๆ—ถๆž็Ÿญ๏ผˆ<3s๏ผ‰๏ผŒๆ— ๆŽ’้˜ŸๅŽ‹ๅŠ›ๆ ‡ๅ‡† HTTP (Request-Response)็ฎ€ๅ•็š„ๆŒ‚่ตท็ญ‰ๅพ…ๅณๅฏใ€‚ๆ— ้œ€ๅผ•ๅ…ฅ้•ฟ่ฟžๆŽฅๅคๆ‚ๅบฆ๏ผŒไฟๆŒๆžถๆž„็ฎ€ๆดใ€‚
้ซ˜็ฒพ็”Ÿๅ›พ/่ง†้ข‘/้•ฟๆ–‡็”Ÿๆˆ่€—ๆ—ถ้•ฟไธ”้œ€ๆŽ’้˜Ÿ๏ผˆ10s ~ ๆ•ฐๅˆ†้’Ÿ๏ผ‰ๅผ‚ๆญฅๆไบค + HTTP ่ฝฎ่ฏขไฟๆŠค็ฝ‘ๅ…ณ็š„ๆ ธๅฟƒๆ‰‹ๆฎตใ€‚่งฃ่€ฆ GPU ่ฎก็ฎ—่Š‚็‚นไธŽ Web ่Š‚็‚น๏ผŒๅฎขๆˆท็ซฏๆŒ TaskID ๅฎšๆ—ถๆŸฅ่ฏข็Šถๆ€ใ€‚
่ทจ็ณป็ปŸไบ‹ไปถๅŒๆญฅไบ‹ไปถ้ฉฑๅŠจ๏ผŒๆ— ๅ›บๅฎš่€—ๆ—ถWebhooks้€‚็”จไบŽๆœๅŠก็ซฏ้—ด็š„ๅผ‚ๆญฅไบ‹ไปถ้€š็Ÿฅ๏ผˆๅฆ‚ๆ”ฏไป˜ๅ›ž่ฐƒใ€่ฎขๅ•ๅŒๆญฅใ€Git ้’ฉๅญ่งฆๅ‘ CI/CD๏ผ‰ใ€‚ๆŽฅๆ”ถๆ–น้œ€้ข„ๅ…ˆๆšด้œฒๅ›ž่ฐƒ URL๏ผŒๅนถ็กฎไฟๅน‚็ญ‰ๅค„็†ไธŽ็ญพๅ้ชŒ่ฏใ€‚

8.2 ๆทฑๅบฆๅ†ณ็ญ–้€ป่พ‘๏ผšๅทฅ็จ‹้€‰ๅž‹็š„ไบ”ๆก้‡‘ๅพ‹ โ€‹

1ใ€้ซ˜้ข‘ๅŒๅ‘๏ผšWebSocket ็š„ไธปๅœบ

ๆ ธๅฟƒ้€ป่พ‘๏ผšHTTP ๅŠๅ…ถ่ก็”Ÿๅ“ๅœจๅŒๅ‘ไบคไบ’ไธ‹๏ผŒ้‡ๅค็š„ๅคด้ƒจๅผ€้”€ไผšๅžๅ™ฌๅคง้‡ๅธฆๅฎฝ๏ผŒไธ”ๆ— ๆณ•ๅฎž็Žฐ็œŸๆญฃ็š„ๅ…จๅŒๅทฅๅนถๅ‘ใ€‚

่‹ฅไธšๅŠก้œ€่ฆๅฎขๆˆท็ซฏไธŽๆœๅŠก็ซฏไบ’ๅ‘้ซ˜้ข‘ๆถˆๆฏ๏ผˆๅฆ‚ๅคšไบบ็ซžๆŠ€ๆธธๆˆใ€ๅไฝœ็ผ–่พ‘ใ€ๅฎžๆ—ถๅŒๅ‘่Šๅคฉ๏ผ‰๏ผŒWebSocket ๆ˜ฏๅ”ฏไธ€้€‰ๆ‹ฉใ€‚

2ใ€ๅ•ๅ‘ๆŽจ้€๏ผšSSE ็š„่ฝป้‡ไผ˜ๅŠฟ

่‹ฅไธšๅŠกๅœบๆ™ฏไป…้œ€ๆœๅŠก็ซฏๅ‘ๅฎขๆˆท็ซฏๅ•ๅ‘้ซ˜้ข‘ๆŽจ้€๏ผˆๅฆ‚่‚ก็ฅจ่กŒๆƒ…ๅคง็›˜ใ€ๆœๅŠกๅ™จๅฎžๆ—ถๆ—ฅๅฟ—ใ€็›‘ๆŽง้ข„่ญฆ๏ผ‰๏ผš

้ฆ–้€‰ๆ–นๆกˆๆ˜ฏ SSEใ€‚ๅฎƒๅฎŒๅ…จๅค็”จ็Žฐๆœ‰็š„ HTTP ๅŸบ็ก€่ฎพๆ–ฝ๏ผˆ่ดŸ่ฝฝๅ‡่กกใ€WAFใ€้‰ดๆƒ้€ป่พ‘๏ผ‰๏ผŒๆ— ้œ€้ขๅค–้…็ฝฎ WebSocket ็ฝ‘ๅ…ณใ€‚ๅŒๆ—ถ๏ผŒๅ…ถๅŽŸ็”Ÿ็š„ๆ–ญ็บฟ้‡่ฟžๆœบๅˆถๆžๅคง้™ไฝŽไบ†ๅ‰็ซฏ็š„ๅผ€ๅ‘ๅฟƒๆ™บ่ดŸๆ‹…ใ€‚

3ใ€ๆตๅผๅ“ๅบ”๏ผšStreamable HTTP ็š„ไธปๅœบ๏ผŒAI ๆ—ถไปฃ็š„ไธปๆต้€‰ๆ‹ฉ

่ฟ™ๆ˜ฏ็›ฎๅ‰ LLM ๆ–‡ๆœฌๅฏน่ฏไธญๆœ€ไธปๆต็š„"ไบ‹ๅฎžๆ ‡ๅ‡†"ใ€‚

็—›็‚น๏ผšๅŽŸ็”Ÿ SSE ๅ—้™ไบŽๆต่งˆๅ™จๅฎž็Žฐ๏ผŒ้€šๅธธๅช่ƒฝๅ‘่ตท GET ่ฏทๆฑ‚ใ€‚ไฝ†ๅœจ AI ๅœบๆ™ฏไธ‹๏ผŒๆˆ‘ไปฌ้œ€่ฆๅ‘้€ๅบžๅคง็š„ system_prompt ๆˆ–ไธŠไธ‹ๆ–‡ๅކๅฒ๏ผˆContext๏ผ‰๏ผŒGET ็š„ URL ้•ฟๅบฆ้™ๅˆถๆˆไธบไบ†็“ถ้ขˆใ€‚

ๅ˜้€šๆ–นๆกˆ๏ผšไฝฟ็”จ Fetch API ็ป“ๅˆ POST ่ฏทๆฑ‚๏ผŒ้€š่ฟ‡ ReadableStream ๆŽฅๆ”ถๆตๅผๅ“ๅบ”ใ€‚ๆ—ข่ƒฝ็ช็ ด GET ็š„้•ฟๅบฆ้™ๅˆถ๏ผŒๅˆ้ฟๅ…ไบ† WebSocket ๅœจ็ปดๆŒ้•ฟ่ฟžๆŽฅใ€ๅค„็†ๅฟƒ่ทณไฟๆดปๆ–น้ข็š„้ขๅค–่ต„ๆบๆŸ่€—ใ€‚่ฟ™ๆญฃๆ˜ฏ fetch-event-source ่ฟ™็ฑปๅบ“ๅœจ AI ็คพๅŒบ็››่กŒ็š„ๅบ•ๅฑ‚้€ป่พ‘ใ€‚

4ใ€ๅผ‚ๆญฅไปปๅŠก๏ผš่ฝฎ่ฏข็š„ไธปๅœบ

ๅฏนไบŽ AI ็”Ÿๅ›พใ€็”Ÿ่ง†้ข‘็ญ‰่€—ๆ—ถ่พƒ้•ฟ๏ผˆ10s ~ ๆ•ฐๅˆ†้’Ÿ๏ผ‰็š„้‡่ฎก็ฎ—ไปปๅŠก๏ผŒๅ…ถ็‰น็‚นๆ˜ฏ่ฎก็ฎ—ๆœŸ้—ดๆ— ๆŒ็ปญๆ•ฐๆฎๆต๏ผŒไป…ๅœจๅฎŒๆˆๅŽ่ฟ”ๅ›ž็ป“ๆžœใ€‚

ๆญคๆ—ถ่‹ฅๅผบ่กŒไฝฟ็”จ WebSocket ๆˆ– SSE ็ปดๆŒ้•ฟ่ฟžๆŽฅ๏ผŒไธไป…ไผš้ญ้‡็ฝ‘ๅ…ณ่ถ…ๆ—ถ้™ๅˆถ๏ผˆ้€šๅธธ 30s~60s๏ผ‰๏ผŒ่ฟ˜ไผš้€ ๆˆๅนถๅ‘่ฟžๆŽฅๆ•ฐ็“ถ้ขˆใ€‚ๅผ‚ๆญฅๆไบค + ่ฝฎ่ฏขๆŸฅ่ฏขๆ˜ฏๆ›ดๅˆ็†็š„ๆžถๆž„๏ผšๅฎขๆˆท็ซฏๆไบคไปปๅŠกๅŽ่Žทๅพ— TaskID๏ผŒๅฎšๆœŸ่ฝฎ่ฏขๆŸฅ่ฏข็Šถๆ€ใ€‚่ฟ™็งๆ–นๅผ่งฃ่€ฆไบ† Web ่Š‚็‚นไธŽ GPU ่Š‚็‚น๏ผŒๆ— ็Šถๆ€็š„็Ÿญ่ฟžๆŽฅๆจกๅผ่ฎฉๆœๅŠกๅ™จ่ƒฝๅคŸๆ‰ฟ่ฝฝๆ›ด้ซ˜็š„ๅžๅ้‡ใ€‚

5ใ€่ทจ็ณป็ปŸๅ›ž่ฐƒ๏ผšWebhooks ็š„ไธปๅœบ

่‹ฅไธšๅŠกๆถ‰ๅŠ่ทจๆœๅŠก็š„ไบ‹ไปถ้€š็Ÿฅ๏ผˆๅฆ‚ๆ”ฏไป˜ๅนณๅฐๅ›ž่ฐƒใ€่ฎขๅ•็Šถๆ€ๅ˜ๆ›ด้€š็Ÿฅใ€Git ไป“ๅบ“ไบ‹ไปถ่งฆๅ‘ CI/CD๏ผ‰๏ผŒไธ”ๆŽฅๆ”ถๆ–นๆ˜ฏๆœๅŠก็ซฏ่€Œ้žๆต่งˆๅ™จ๏ผš

้ฆ–้€‰ๆ–นๆกˆๆ˜ฏ Webhooksใ€‚ๅฎƒๅฎŒๅ…จๅŸบไบŽๆ ‡ๅ‡† HTTP POST ่ฏทๆฑ‚๏ผŒๆ— ้œ€็ปดๆŠคๆŒไน…่ฟžๆŽฅ๏ผŒ็”ฑๆŽฅๆ”ถๆ–น้ข„ๅ…ˆๆšด้œฒๅ›ž่ฐƒ URL ๅณๅฏๅฎž็Žฐไบ‹ไปถ้ฉฑๅŠจๆŽจ้€ใ€‚่ฟ™็งๆจกๅผๅคฉ็„ถ้€‚ๅˆๆœๅŠก้—ด็š„ๆพ่€ฆๅˆ้›†ๆˆ๏ผŒไฝ†้œ€ๆณจๆ„ๅน‚็ญ‰ๆ€งๅค„็†ไธŽ็ญพๅ้ชŒ่ฏไปฅ็กฎไฟๅฎ‰ๅ…จใ€‚

9. ็ป“่ฏญ โ€‹

ๅ›žๆœ›่ฟ™ๅœบไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏๆผ”่ฟ›๏ผŒๆˆ‘ไปฌๆˆ–่ฎธ่ƒฝๆ็‚ผๅ‡บไธ€ไธชๆ›ดๆ™ฎ้€‚็š„ๆžถๆž„ๅ“ฒๅญฆ๏ผšๆฒกๆœ‰"ๆœ€ๅฅฝ"็š„ๆŠ€ๆœฏ๏ผŒๅชๆœ‰"ๆœ€ๅˆ้€‚"็š„ๆŠ€ๆœฏใ€‚

ๆŠ€ๆœฏ็š„ๆผ”่ฟ›ไปŽๆฅไธๆ˜ฏ"้•ฟๆฑŸๅŽๆตชๆŽจๅ‰ๆตช"็š„็ฎ€ๅ•ๆ›ฟไปฃ๏ผŒ่€Œๆ˜ฏไธ€็ง"ๅˆ†ๅทฅ็ป†ๅŒ–"็š„่‡ช็„ถ็ป“ๆžœใ€‚ไผ ็ปŸ HTTP ไพ็„ถๆ˜ฏ Web ็š„ๅŸบ็Ÿณ๏ผŒๆตๅผ HTTP ่ฎฉๅฎƒ็„•ๅ‘ๆ–ฐ็”Ÿ๏ผ›SSE ๅœจๅ•ๅ‘ๆŽจ้€ๅœบๆ™ฏ่ฝป้‡่€Œไผ˜้›…๏ผ›WebSocket ไธบ็œŸๆญฃ็š„ๅฎžๆ—ถๅŒๅ‘ไบคไบ’ๆ‰“ๅผ€ไบ†ๅคง้—จ๏ผ›่ฝฎ่ฏขๅœจ AI ๆ—ถไปฃ็š„ๅคงๆจกๅž‹ๆดชๆตไธญ๏ผŒไพ็„ถ้ป˜้ป˜ๆ”ฏๆ’‘็€ๆ— ๆ•ฐ็”Ÿๅ›พใ€็”Ÿ่ง†้ข‘ๅบ”็”จ็š„ๆญฃๅธธ่ฟ่กŒ๏ผ›่€Œ Webhooks ๅˆ™ๅœจ่ทจ็ณป็ปŸ็š„ๆœๅŠก็ซฏ้—ด็ผ–็ป‡ๅ‡บไธ€ๅผ ไบ‹ไปถ้ฉฑๅŠจ็š„็ฝ‘็ปœใ€‚

็œŸๆญฃๆˆ็†Ÿ็š„ๆžถๆž„ๅธˆ๏ผŒไธไผšๆ‰ง็€ไบŽ"ๆœ€ๆ–ฐ"ๆˆ–"ๆœ€ๅคๆ‚"็š„ๆ–นๆกˆ๏ผŒ่€Œๆ˜ฏๆทฑๅ…ฅ็†่งฃๆฏ็งๆŠ€ๆœฏ็š„่พน็•ŒไธŽไปฃไปท๏ผŒๅœจไธšๅŠกๅœบๆ™ฏ็š„็บฆๆŸไธ‹ๅšๅ‡บๆœ€ไผ˜้›…็š„ๅ–่ˆใ€‚ๆฏ•็ซŸ๏ผŒๆœ€ๅฅฝ็š„ๆžถๆž„ไธๆ˜ฏ็”จๆŠ€ๆœฏๅ †็ Œๅ‡บๆฅ็š„๏ผŒ่€Œๆ˜ฏ่ฎฉๆŠ€ๆœฏๅ„ๅฝ’ๅ…ถไฝ็š„้กบๅŠฟ่€Œไธบใ€‚

',109)])])}const T=e(d,[["render",n]]);export{c as __pageData,T as default}; diff --git "a/assets/01.\345\205\250\346\240\210_60.\347\275\221\347\273\234\344\270\216\351\200\232\344\277\241_01.\344\273\216 HTTP \345\210\260 WebSocket \347\232\204\346\212\200\346\234\257\351\200\211\345\236\213\346\214\207\345\215\227.md.DlstBmfn.lean.js" "b/assets/01.\345\205\250\346\240\210_60.\347\275\221\347\273\234\344\270\216\351\200\232\344\277\241_01.\344\273\216 HTTP \345\210\260 WebSocket \347\232\204\346\212\200\346\234\257\351\200\211\345\236\213\346\214\207\345\215\227.md.int3cA6G.lean.js" similarity index 95% rename from "assets/01.\345\205\250\346\240\210_60.\347\275\221\347\273\234\344\270\216\351\200\232\344\277\241_01.\344\273\216 HTTP \345\210\260 WebSocket \347\232\204\346\212\200\346\234\257\351\200\211\345\236\213\346\214\207\345\215\227.md.DlstBmfn.lean.js" rename to "assets/01.\345\205\250\346\240\210_60.\347\275\221\347\273\234\344\270\216\351\200\232\344\277\241_01.\344\273\216 HTTP \345\210\260 WebSocket \347\232\204\346\212\200\346\234\257\351\200\211\345\236\213\346\214\207\345\215\227.md.int3cA6G.lean.js" index ecf86b56..d7fbc3bc 100644 --- "a/assets/01.\345\205\250\346\240\210_60.\347\275\221\347\273\234\344\270\216\351\200\232\344\277\241_01.\344\273\216 HTTP \345\210\260 WebSocket \347\232\204\346\212\200\346\234\257\351\200\211\345\236\213\346\214\207\345\215\227.md.DlstBmfn.lean.js" +++ "b/assets/01.\345\205\250\346\240\210_60.\347\275\221\347\273\234\344\270\216\351\200\232\344\277\241_01.\344\273\216 HTTP \345\210\260 WebSocket \347\232\204\346\212\200\346\234\257\351\200\211\345\236\213\346\214\207\345\215\227.md.int3cA6G.lean.js" @@ -1 +1 @@ -import{_ as e,g as o,h as r,U as a}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const c=JSON.parse('{"title":"Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—","description":"ๆทฑๅ…ฅๅ‰–ๆžไผ ็ปŸ HTTPใ€ๆตๅผ HTTPใ€SSEใ€WebSocketใ€Webhooksใ€HTTP ่ฝฎ่ฏข็š„ๅŽŸ็†ไธŽ็‰นๆ€ง๏ผŒ็ป“ๅˆ AI ๅœบๆ™ฏๆไพ›ๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–็Ÿฉ้˜ตใ€‚","frontmatter":{"date":"2026-02-24T08:40:31.000Z","title":"Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—","tldr":"ๆทฑๅ…ฅๅˆ†ๆžไบ”็ง Web ้€šไฟกๅ่ฎฎ๏ผŒๆไพ› AI ๆ—ถไปฃ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—ไธŽๆœ€ไฝณๅฎž่ทตใ€‚","description":"ๆทฑๅ…ฅๅ‰–ๆžไผ ็ปŸ HTTPใ€ๆตๅผ HTTPใ€SSEใ€WebSocketใ€Webhooksใ€HTTP ่ฝฎ่ฏข็š„ๅŽŸ็†ไธŽ็‰นๆ€ง๏ผŒ็ป“ๅˆ AI ๅœบๆ™ฏๆไพ›ๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–็Ÿฉ้˜ตใ€‚","categories":["ๅ…จๆ ˆ","็ฝ‘็ปœไธŽ้€šไฟก"],"tags":["HTTP","HTTP ่ฝฎ่ฏข","SSE","WebSocket","Webhooks"],"permalink":"/fullstack/networking-protocol-selection-guide"},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—.md","filePath":"01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—.md"}'),d={name:"01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—.md"};function n(s,t,h,l,i,g){return r(),o("div",null,[...t[0]||(t[0]=[a("",109)])])}const T=e(d,[["render",n]]);export{c as __pageData,T as default}; +import{_ as e,g as o,h as r,U as a}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const c=JSON.parse('{"title":"Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—","description":"ๆทฑๅ…ฅๅ‰–ๆžไผ ็ปŸ HTTPใ€ๆตๅผ HTTPใ€SSEใ€WebSocketใ€Webhooksใ€HTTP ่ฝฎ่ฏข็š„ๅŽŸ็†ไธŽ็‰นๆ€ง๏ผŒ็ป“ๅˆ AI ๅœบๆ™ฏๆไพ›ๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–็Ÿฉ้˜ตใ€‚","frontmatter":{"date":"2026-02-24T08:40:31.000Z","title":"Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—","tldr":"ๆทฑๅ…ฅๅˆ†ๆžไบ”็ง Web ้€šไฟกๅ่ฎฎ๏ผŒๆไพ› AI ๆ—ถไปฃ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—ไธŽๆœ€ไฝณๅฎž่ทตใ€‚","description":"ๆทฑๅ…ฅๅ‰–ๆžไผ ็ปŸ HTTPใ€ๆตๅผ HTTPใ€SSEใ€WebSocketใ€Webhooksใ€HTTP ่ฝฎ่ฏข็š„ๅŽŸ็†ไธŽ็‰นๆ€ง๏ผŒ็ป“ๅˆ AI ๅœบๆ™ฏๆไพ›ๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–็Ÿฉ้˜ตใ€‚","categories":["ๅ…จๆ ˆ","็ฝ‘็ปœไธŽ้€šไฟก"],"tags":["HTTP","HTTP ่ฝฎ่ฏข","SSE","WebSocket","Webhooks"],"permalink":"/fullstack/networking-protocol-selection-guide"},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—.md","filePath":"01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—.md"}'),d={name:"01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—.md"};function n(s,t,h,l,i,g){return r(),o("div",null,[...t[0]||(t[0]=[a("",109)])])}const T=e(d,[["render",n]]);export{c as __pageData,T as default}; diff --git "a/assets/01.\345\205\250\346\240\210_60.\347\275\221\347\273\234\344\270\216\351\200\232\344\277\241_02.\346\265\201\345\274\217 HTTP \344\270\216 SSE \345\215\217\350\256\256\357\274\232\344\273\216\346\246\202\345\277\265\350\276\250\346\236\220\345\210\260\347\224\237\344\272\247\345\256\236\350\267\265.md.DBvMz_Gr.js" "b/assets/01.\345\205\250\346\240\210_60.\347\275\221\347\273\234\344\270\216\351\200\232\344\277\241_02.\346\265\201\345\274\217 HTTP \344\270\216 SSE \345\215\217\350\256\256\357\274\232\344\273\216\346\246\202\345\277\265\350\276\250\346\236\220\345\210\260\347\224\237\344\272\247\345\256\236\350\267\265.md.Cp-uzdUB.js" similarity index 99% rename from "assets/01.\345\205\250\346\240\210_60.\347\275\221\347\273\234\344\270\216\351\200\232\344\277\241_02.\346\265\201\345\274\217 HTTP \344\270\216 SSE \345\215\217\350\256\256\357\274\232\344\273\216\346\246\202\345\277\265\350\276\250\346\236\220\345\210\260\347\224\237\344\272\247\345\256\236\350\267\265.md.DBvMz_Gr.js" rename to "assets/01.\345\205\250\346\240\210_60.\347\275\221\347\273\234\344\270\216\351\200\232\344\277\241_02.\346\265\201\345\274\217 HTTP \344\270\216 SSE \345\215\217\350\256\256\357\274\232\344\273\216\346\246\202\345\277\265\350\276\250\346\236\220\345\210\260\347\224\237\344\272\247\345\256\236\350\267\265.md.Cp-uzdUB.js" index 2a0c749c..e0bd156d 100644 --- "a/assets/01.\345\205\250\346\240\210_60.\347\275\221\347\273\234\344\270\216\351\200\232\344\277\241_02.\346\265\201\345\274\217 HTTP \344\270\216 SSE \345\215\217\350\256\256\357\274\232\344\273\216\346\246\202\345\277\265\350\276\250\346\236\220\345\210\260\347\224\237\344\272\247\345\256\236\350\267\265.md.DBvMz_Gr.js" +++ "b/assets/01.\345\205\250\346\240\210_60.\347\275\221\347\273\234\344\270\216\351\200\232\344\277\241_02.\346\265\201\345\274\217 HTTP \344\270\216 SSE \345\215\217\350\256\256\357\274\232\344\273\216\346\246\202\345\277\265\350\276\250\346\236\220\345\210\260\347\224\237\344\272\247\345\256\236\350\267\265.md.Cp-uzdUB.js" @@ -1,4 +1,4 @@ -import{H as a}from"./chunks/HighLightText.gRdAAF3C.js";import{g as h,h as k,U as n,i as l,S as i,z as p,s as e}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const c=JSON.parse('{"title":"ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต","description":"่พจๆžๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ็š„ๆฆ‚ๅฟตไธŽๅฑ‚ๆฌกๅ…ณ็ณป๏ผŒ่ฏฆ่งฃๅฎขๆˆท็ซฏไธŽๆœๅŠก็ซฏๅฎž็Žฐๆ–นๆกˆ๏ผŒๆไพ›็”Ÿไบงๅฎž่ทตๅฎŒๆ•ดๆŒ‡ๅ—ใ€‚","frontmatter":{"date":"2026-03-05T16:54:35.000Z","title":"ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต","aliases":["Server-Sent Events","HTTP Streaming"],"tldr":"ๆทฑๅ…ฅ่งฃๆžๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผŒๆไพ›ไปŽๆฆ‚ๅฟตๅˆฐ็”Ÿไบงๅฎž่ทต็š„ๅฎŒๆ•ด่งฃๅ†ณๆ–นๆกˆใ€‚","description":"่พจๆžๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ็š„ๆฆ‚ๅฟตไธŽๅฑ‚ๆฌกๅ…ณ็ณป๏ผŒ่ฏฆ่งฃๅฎขๆˆท็ซฏไธŽๆœๅŠก็ซฏๅฎž็Žฐๆ–นๆกˆ๏ผŒๆไพ›็”Ÿไบงๅฎž่ทตๅฎŒๆ•ดๆŒ‡ๅ—ใ€‚","tags":["tutorial","SSE","HTTP Streaming","ๅ…จๆ ˆ"],"categories":["ๅ…จๆ ˆ","็ฝ‘็ปœไธŽ้€šไฟก"],"permalink":"/fullstack/networking/sse-practice"},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต.md","filePath":"01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต.md"}'),t={name:"01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต.md"},y=Object.assign(t,{setup(r){return(E,s)=>(k(),h("div",null,[s[10]||(s[10]=n('

ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต โ€‹

ๆ‘˜่ฆๆ€ป็ป“: ้’ˆๅฏนๅผ€ๅ‘่€…ๅฎนๆ˜“ๆททๆท†ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ็š„้—ฎ้ข˜๏ผŒไปŽๆฆ‚ๅฟตๅฑ‚ๆฌกๅ‡บๅ‘ๅŽ˜ๆธ…ไบŒ่€…ๆœฌ่ดจๅŒบๅˆซไธŽๅไฝœๅ…ณ็ณป๏ผŒๆŒ‡ๅ‡บๆตๅผ HTTP ๆ˜ฏๅบ•ๅฑ‚ไผ ่พ“ๆœบๅˆถ่€Œ SSE ๆ˜ฏๅบ”็”จๅฑ‚ๆ•ฐๆฎๆ ผๅผ็บฆๅฎšใ€‚ๆ–‡็ซ ไพๆฌกไป‹็ปๅŽŸ็”Ÿ EventSource APIใ€fetch + ReadableStream ่ฟ›้˜ถๆ–นๆกˆใ€@microsoft/fetch-event-source ๅทฅไธš็บงๅฎž็Žฐ็ญ‰ไธ‰็งๅฎขๆˆท็ซฏๆ–นๆกˆ๏ผŒๅนถไปฅ NestJS ไธบไพ‹ๅฑ•็คบๆœๅŠก็ซฏ SSE ๅ“ๅบ”็š„ๆ ‡ๅ‡†ๅฎž็ŽฐไธŽ POST ่ฏทๆฑ‚ๆ‰ฉๅฑ•๏ผŒๆœ€ๅŽๆถต็›–ๆŒ‡ๆ•ฐ้€€้ฟ้‡่ฏ•ใ€ไบ‹ไปถๅˆ†็ฑปๅค„็†ใ€่ฟžๆŽฅ็Šถๆ€่ฟฝ่ธชใ€่ต„ๆบๆธ…็†็ญ‰็”Ÿไบงๅฎž่ทต่ฆ็‚น๏ผŒไธบ AI ๆ—ถไปฃ็š„ๆตๅผๅ“ๅบ”ๅœบๆ™ฏๆไพ›ๅฎŒๆ•ดๆŠ€ๆœฏๆ–นๆกˆใ€‚

1. ๅผ•่จ€ โ€‹

ๅœจWeb ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—ไธญ๏ผŒๆˆ‘ไปฌๅฏนๆฏ”ๅˆ†ๆžไบ†ๅคš็ง้€šไฟกๆŠ€ๆœฏใ€‚ๅœจๆœฌๆ–‡ๆˆ‘ไปฌๅฐ†้‡็‚นๆŽข่ฎจ SSE๏ผˆServer-Sent Events๏ผ‰ ไธŽ ๆตๅผ HTTP๏ผˆHTTP Streaming๏ผ‰ ็š„ๅฎž่ทตใ€‚

1.1 ๆฆ‚ๅฟตๆพ„ๆธ…๏ผšไธค็งๆŠ€ๆœฏ๏ผŒไธคไธชๅฑ‚ๆฌก โ€‹

ๅพˆๅคšๅผ€ๅ‘่€…ๅฎนๆ˜“ๅฐ† SSE ไธŽๆตๅผ HTTP ๆททไธบไธ€่ฐˆ๏ผŒๅฎž้™…ไธŠๅฎƒไปฌๅค„ไบŽไธๅŒ็š„ๆŠ€ๆœฏๅฑ‚ๆฌก๏ผš

็ปดๅบฆๆตๅผ HTTPSSE
ๅฎšไฝๅบ•ๅฑ‚ไผ ่พ“ๆœบๅˆถๅบ”็”จๅฑ‚ๅ่ฎฎ
ๆ ธๅฟƒๅŽŸ็†HTTP Chunked Transfer Encoding๏ผŒๆ•ฐๆฎๅˆ†ๅ—่ฟž็ปญไผ ่พ“ๅŸบไบŽ HTTP ็š„ไบ‹ไปถๆตๅ่ฎฎ๏ผŒๅฎšไน‰ไบ†ๆ ‡ๅ‡†ๅŒ–็š„ๆ•ฐๆฎๆ ผๅผ
ๆต่งˆๅ™จๅŽŸ็”Ÿๆ”ฏๆŒๆ— ๏ผŒ้œ€่‡ช่กŒ่งฃๆžๆ•ฐๆฎๆตๆœ‰๏ผŒEventSource API
ๅ่ฎฎ่ง„่Œƒๆ— ๆ ‡ๅ‡†ๆ ผๅผ็บฆๅฎšW3C ๆ ‡ๅ‡†๏ผˆtext/event-stream๏ผ‰
',8)),l("p",null,[s[2]||(s[2]=i("็ฎ€่€Œ่จ€ไน‹๏ผŒ",-1)),p(a,{bold:""},{default:e(()=>[...s[0]||(s[0]=[i("ๆตๅผ HTTP ๆ˜ฏไธ€็งโ€œไผ ่พ“ๆ‰‹ๆฎตโ€๏ผŒ่€Œ SSE ๆ˜ฏไธ€็งโ€œๆ•ฐๆฎๆ ผๅผ็บฆๅฎšโ€",-1)])]),_:1}),s[3]||(s[3]=i("ใ€‚",-1)),p(a,{type:"info"},{default:e(()=>[...s[1]||(s[1]=[i("ๆตๅผ HTTP ๅ…ณๆณจ็š„ๆ˜ฏๅฆ‚ไฝ•ๆŠŠๆ•ฐๆฎโ€œ่พนๅ‘่พนไผ โ€๏ผŒ่€Œ SSE ๅ…ณๆณจ็š„ๆ˜ฏๅฆ‚ไฝ•่ฎฉๆ•ฐๆฎโ€œๆŒ‰็…งๅ›บๅฎšๆ ผๅผ็ป„็ป‡โ€๏ผŒไพฟไบŽๅฎขๆˆท็ซฏ่งฃๆžๅค„็†",-1)])]),_:1}),s[4]||(s[4]=i("ใ€‚",-1))]),s[11]||(s[11]=n('

1.2 ๅ…ณ่”ไธŽๅไฝœ โ€‹

ๅฐฝ็ฎกๅค„ไบŽไธๅŒๅฑ‚ๆฌก๏ผŒไฝ†ไบŒ่€…ๅฎŒๅ…จๅฏไปฅๅๅŒๅทฅไฝœ๏ผš

  • SSE ๅฟ…้กปๅŸบไบŽๆตๅผ HTTP๏ผšSSE ็š„ๆ ‡ๅ‡†ๆ ผๅผ้œ€่ฆ้€š่ฟ‡ HTTP ๆตๅผไผ ่พ“ๆฅๅฎž็Žฐ๏ผŒๅ› ๆญค SSE ๅ่ฎฎ็š„ๆ•ฐๆฎๆตๅบ•ๅฑ‚ๅฟ…็„ถไพ่ต–ๆตๅผ HTTP
  • ๆตๅผ HTTP ไธๅฟ…ๅฑ€้™ไบŽ SSE๏ผš็บฏๆตๅผ HTTP ๅฏไปฅ่‡ชๅฎšไน‰ๆ•ฐๆฎๆ ผๅผ๏ผˆๅฆ‚ JSON Linesใ€NDJSON๏ผ‰๏ผŒไธไธ€ๅฎš่ฆ้ตๅพช SSE ็š„ event:ใ€id:ใ€data: ็ญ‰ๅญ—ๆฎต็บฆๅฎš

ๆญฃๆ˜ฏ็”ฑไบŽ่ฟ™็งๅ…ณ็ณป๏ผŒๆˆ‘ไปฌๅฏไปฅๅˆฉ็”จ fetch + ReadableStream ็ช็ ด SSE ็š„ไธ€ไบ›ๅฑ€้™๏ผš

  1. ่ฏทๆฑ‚ๆ–นๅผๅ—้™๏ผšๅŽŸ็”Ÿ SSE ไป…ๆ”ฏๆŒ GET ่ฏทๆฑ‚๏ผŒๅฝ“้œ€่ฆๆบๅธฆ่พƒๅคง body ๆ•ฐๆฎ๏ผˆๅฆ‚ๆ–‡ไปถไธŠไผ ไธŠไธ‹ๆ–‡ใ€ๅคๆ‚ๆŸฅ่ฏขๅ‚ๆ•ฐ๏ผ‰ๆ—ถไผšๅ—ๅˆฐ้™ๅˆถ๏ผŒ่€Œ fetch API ไธๅ—ๆญค็บฆๆŸใ€‚
  2. ่บซไปฝ้ชŒ่ฏไธไพฟ๏ผšๅŽŸ็”Ÿ SSE ๆ— ๆณ•็ตๆดปๅœฐๅœจ่ฏทๆฑ‚ๅคดไธญๆทปๅŠ  Authorization: Bearer <token> ็ญ‰่ฎค่ฏไฟกๆฏ๏ผŒfetch API ๅˆ™ๅฏไปฅๅƒ่ฐƒ็”จๆ™ฎ้€šๆŽฅๅฃไธ€ๆ ท่‡ชๅฎšไน‰ Headerใ€‚

ๅ› ๆญค๏ผŒๅŸบไบŽๆตๅผ HTTP๏ผŒ้‡‡็”จ fetch + ReadableStream ็š„ๆ–นๆกˆ๏ผŒไธไป…ไฟ็•™ไบ† fetch ็š„ๅ…จ้ƒจ่ƒฝๅŠ›๏ผˆPOST ๆ–นๆณ•ใ€่‡ชๅฎšไน‰ Headersใ€่ถ…ๆ—ถๆŽงๅˆถ็ญ‰๏ผ‰๏ผŒๅŒๆ—ถๅ…ทๅค‡ไบ†ๆตๅผไผ ่พ“็š„ๅฎžๆ—ถๆ€ง๏ผŒๅนถไธ”ๅœจๆ•ฐๆฎๆ ผๅผๅฑ‚้ขไพ็„ถ้ตๅพช SSE ๅ่ฎฎ๏ผŒไฟๆŒ่‰ฏๅฅฝ็š„ๅฏ่งฃๆžๆ€งๅ’Œ้€š็”จๆ€งใ€‚็›ธๆฏ”ๅŽŸ็”Ÿ SSE๏ผŒไฝฟ็”จ Fetch API + ReadableStream ่ƒฝ็ช็ ด GET ่ฏทๆฑ‚้™ๅˆถ๏ผŒๅฏๆบๅธฆไปปๆ„ๅคงๅฐ็š„ body ๆ•ฐๆฎ๏ผŒๅŒๆ—ถๆ”ฏๆŒ็ตๆดป็š„่บซไปฝ้ชŒ่ฏๆ–นๅผ๏ผ›็›ธๆฏ” WebSocket๏ผŒๅˆ™้ฟๅ…ไบ†็ปดๆŠค้•ฟ่ฟžๆŽฅๅ’Œๅฟƒ่ทณไฟๆดป็š„้ขๅค–่ต„ๆบๆŸ่€—ใ€‚

',6)),l("p",null,[s[6]||(s[6]=i("่ฟ™็งโ€œๅ–ไธคๅฎถไน‹้•ฟโ€็š„ๆ–นๆกˆ๏ผŒๆญฃๆ˜ฏ ",-1)),s[7]||(s[7]=l("a",{href:"https://github.com/Azure/fetch-event-source",target:"_blank",rel:"noreferrer"},"@microsoft/fetch-event-source",-1)),s[8]||(s[8]=i(" ่ฟ™็ฑปๅบ“ๅœจ AI ็คพๅŒบ็››่กŒ็š„ๅบ•ๅฑ‚้€ป่พ‘๏ผš",-1)),p(a,{bold:""},{default:e(()=>[...s[5]||(s[5]=[i("ๆ—ข่ƒฝๅƒ่ฐƒ็”จๆ™ฎ้€šๆŽฅๅฃไธ€ๆ ท็ผ–ๅ†™ไธšๅŠก้€ป่พ‘๏ผŒๅˆ่ƒฝไบซๅ—ๆตๅผไผ ่พ“็š„ๅฎžๆ—ถๆ€ง๏ผŒๆ•ฐๆฎๆ ผๅผไพ็„ถ้ตๅพช SSE ๅ่ฎฎ๏ผŒๅฎขๆˆท็ซฏ่งฃๆžๆฏซๆ— ้ขๅค–ๆˆๆœฌ",-1)])]),_:1}),s[9]||(s[9]=i("ใ€‚",-1))]),s[12]||(s[12]=n(`
็‰นๆ€งๆ ‡ๅ‡† EventSource (SSE)Fetch + Stream
HTTP ๆ–นๆณ•ไป…้™ GETๆ”ฏๆŒ POSTใ€PUT ็ญ‰ๆ‰€ๆœ‰ๆ–นๆณ•
่‡ชๅฎšไน‰ Headerไธๆ”ฏๆŒ๏ผˆๆ— ๆณ•ไผ  Token ็ญ‰๏ผ‰ๅฎŒๅ…จๆ”ฏๆŒ
**่ฏทๆฑ‚ไฝ“ **(Body)ไธๆ”ฏๆŒๆ”ฏๆŒๅ‘้€ JSON Payload
้‡่ฟžๆœบๅˆถๆต่งˆๅ™จๅ†…็ฝฎ๏ผŒ้šพไปฅ็ฒพ็ป†ๆŽงๅˆถๆ’ไปถๅฎž็Žฐ๏ผŒๆ”ฏๆŒ้ซ˜ๅบฆ่‡ชๅฎšไน‰้‡่ฟž็ญ–็•ฅ
่ทจๅŸŸ (CORS)ๆฏ”่พƒๆญปๆฟ๏ผŒ้œ€็‰นๅฎš้…็ฝฎ้ตๅพชๆ ‡ๅ‡†็š„ Fetch CORS ่ง„ๅˆ™
ๅบ•ๅฑ‚ APIๆต่งˆๅ™จๅŽŸ็”Ÿ EventSource ๅฏน่ฑกๅŸบไบŽ fetch ๅ’Œ ReadableStream

1.3 SSE ๅ่ฎฎๆ•ฐๆฎๆ ผๅผ โ€‹

SSE ๅ่ฎฎๅฏนๆ•ฐๆฎๆตๆ ผๅผๆœ‰ๆ˜Ž็กฎ่ง„ๅฎš๏ผŒๆœๅŠกๅ™จ่ฟ”ๅ›ž็š„ๅ“ๅบ”ๅคดๅ’Œๆ•ฐๆฎไฝ“้œ€้ตๅพชไปฅไธ‹่ง„่Œƒ๏ผš

markdown
Content-Type: text/event-stream
+import{H as a}from"./chunks/HighLightText.BFsbuOsY.js";import{g as h,h as k,U as n,i as l,S as i,z as p,s as e}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const c=JSON.parse('{"title":"ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต","description":"่พจๆžๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ็š„ๆฆ‚ๅฟตไธŽๅฑ‚ๆฌกๅ…ณ็ณป๏ผŒ่ฏฆ่งฃๅฎขๆˆท็ซฏไธŽๆœๅŠก็ซฏๅฎž็Žฐๆ–นๆกˆ๏ผŒๆไพ›็”Ÿไบงๅฎž่ทตๅฎŒๆ•ดๆŒ‡ๅ—ใ€‚","frontmatter":{"date":"2026-03-05T16:54:35.000Z","title":"ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต","aliases":["Server-Sent Events","HTTP Streaming"],"tldr":"ๆทฑๅ…ฅ่งฃๆžๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผŒๆไพ›ไปŽๆฆ‚ๅฟตๅˆฐ็”Ÿไบงๅฎž่ทต็š„ๅฎŒๆ•ด่งฃๅ†ณๆ–นๆกˆใ€‚","description":"่พจๆžๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ็š„ๆฆ‚ๅฟตไธŽๅฑ‚ๆฌกๅ…ณ็ณป๏ผŒ่ฏฆ่งฃๅฎขๆˆท็ซฏไธŽๆœๅŠก็ซฏๅฎž็Žฐๆ–นๆกˆ๏ผŒๆไพ›็”Ÿไบงๅฎž่ทตๅฎŒๆ•ดๆŒ‡ๅ—ใ€‚","tags":["tutorial","SSE","HTTP Streaming","ๅ…จๆ ˆ"],"categories":["ๅ…จๆ ˆ","็ฝ‘็ปœไธŽ้€šไฟก"],"permalink":"/fullstack/networking/sse-practice"},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต.md","filePath":"01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต.md"}'),t={name:"01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต.md"},y=Object.assign(t,{setup(r){return(E,s)=>(k(),h("div",null,[s[10]||(s[10]=n('

ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต โ€‹

ๆ‘˜่ฆๆ€ป็ป“: ้’ˆๅฏนๅผ€ๅ‘่€…ๅฎนๆ˜“ๆททๆท†ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ็š„้—ฎ้ข˜๏ผŒไปŽๆฆ‚ๅฟตๅฑ‚ๆฌกๅ‡บๅ‘ๅŽ˜ๆธ…ไบŒ่€…ๆœฌ่ดจๅŒบๅˆซไธŽๅไฝœๅ…ณ็ณป๏ผŒๆŒ‡ๅ‡บๆตๅผ HTTP ๆ˜ฏๅบ•ๅฑ‚ไผ ่พ“ๆœบๅˆถ่€Œ SSE ๆ˜ฏๅบ”็”จๅฑ‚ๆ•ฐๆฎๆ ผๅผ็บฆๅฎšใ€‚ๆ–‡็ซ ไพๆฌกไป‹็ปๅŽŸ็”Ÿ EventSource APIใ€fetch + ReadableStream ่ฟ›้˜ถๆ–นๆกˆใ€@microsoft/fetch-event-source ๅทฅไธš็บงๅฎž็Žฐ็ญ‰ไธ‰็งๅฎขๆˆท็ซฏๆ–นๆกˆ๏ผŒๅนถไปฅ NestJS ไธบไพ‹ๅฑ•็คบๆœๅŠก็ซฏ SSE ๅ“ๅบ”็š„ๆ ‡ๅ‡†ๅฎž็ŽฐไธŽ POST ่ฏทๆฑ‚ๆ‰ฉๅฑ•๏ผŒๆœ€ๅŽๆถต็›–ๆŒ‡ๆ•ฐ้€€้ฟ้‡่ฏ•ใ€ไบ‹ไปถๅˆ†็ฑปๅค„็†ใ€่ฟžๆŽฅ็Šถๆ€่ฟฝ่ธชใ€่ต„ๆบๆธ…็†็ญ‰็”Ÿไบงๅฎž่ทต่ฆ็‚น๏ผŒไธบ AI ๆ—ถไปฃ็š„ๆตๅผๅ“ๅบ”ๅœบๆ™ฏๆไพ›ๅฎŒๆ•ดๆŠ€ๆœฏๆ–นๆกˆใ€‚

1. ๅผ•่จ€ โ€‹

ๅœจWeb ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—ไธญ๏ผŒๆˆ‘ไปฌๅฏนๆฏ”ๅˆ†ๆžไบ†ๅคš็ง้€šไฟกๆŠ€ๆœฏใ€‚ๅœจๆœฌๆ–‡ๆˆ‘ไปฌๅฐ†้‡็‚นๆŽข่ฎจ SSE๏ผˆServer-Sent Events๏ผ‰ ไธŽ ๆตๅผ HTTP๏ผˆHTTP Streaming๏ผ‰ ็š„ๅฎž่ทตใ€‚

1.1 ๆฆ‚ๅฟตๆพ„ๆธ…๏ผšไธค็งๆŠ€ๆœฏ๏ผŒไธคไธชๅฑ‚ๆฌก โ€‹

ๅพˆๅคšๅผ€ๅ‘่€…ๅฎนๆ˜“ๅฐ† SSE ไธŽๆตๅผ HTTP ๆททไธบไธ€่ฐˆ๏ผŒๅฎž้™…ไธŠๅฎƒไปฌๅค„ไบŽไธๅŒ็š„ๆŠ€ๆœฏๅฑ‚ๆฌก๏ผš

็ปดๅบฆๆตๅผ HTTPSSE
ๅฎšไฝๅบ•ๅฑ‚ไผ ่พ“ๆœบๅˆถๅบ”็”จๅฑ‚ๅ่ฎฎ
ๆ ธๅฟƒๅŽŸ็†HTTP Chunked Transfer Encoding๏ผŒๆ•ฐๆฎๅˆ†ๅ—่ฟž็ปญไผ ่พ“ๅŸบไบŽ HTTP ็š„ไบ‹ไปถๆตๅ่ฎฎ๏ผŒๅฎšไน‰ไบ†ๆ ‡ๅ‡†ๅŒ–็š„ๆ•ฐๆฎๆ ผๅผ
ๆต่งˆๅ™จๅŽŸ็”Ÿๆ”ฏๆŒๆ— ๏ผŒ้œ€่‡ช่กŒ่งฃๆžๆ•ฐๆฎๆตๆœ‰๏ผŒEventSource API
ๅ่ฎฎ่ง„่Œƒๆ— ๆ ‡ๅ‡†ๆ ผๅผ็บฆๅฎšW3C ๆ ‡ๅ‡†๏ผˆtext/event-stream๏ผ‰
',8)),l("p",null,[s[2]||(s[2]=i("็ฎ€่€Œ่จ€ไน‹๏ผŒ",-1)),p(a,{bold:""},{default:e(()=>[...s[0]||(s[0]=[i("ๆตๅผ HTTP ๆ˜ฏไธ€็งโ€œไผ ่พ“ๆ‰‹ๆฎตโ€๏ผŒ่€Œ SSE ๆ˜ฏไธ€็งโ€œๆ•ฐๆฎๆ ผๅผ็บฆๅฎšโ€",-1)])]),_:1}),s[3]||(s[3]=i("ใ€‚",-1)),p(a,{type:"info"},{default:e(()=>[...s[1]||(s[1]=[i("ๆตๅผ HTTP ๅ…ณๆณจ็š„ๆ˜ฏๅฆ‚ไฝ•ๆŠŠๆ•ฐๆฎโ€œ่พนๅ‘่พนไผ โ€๏ผŒ่€Œ SSE ๅ…ณๆณจ็š„ๆ˜ฏๅฆ‚ไฝ•่ฎฉๆ•ฐๆฎโ€œๆŒ‰็…งๅ›บๅฎšๆ ผๅผ็ป„็ป‡โ€๏ผŒไพฟไบŽๅฎขๆˆท็ซฏ่งฃๆžๅค„็†",-1)])]),_:1}),s[4]||(s[4]=i("ใ€‚",-1))]),s[11]||(s[11]=n('

1.2 ๅ…ณ่”ไธŽๅไฝœ โ€‹

ๅฐฝ็ฎกๅค„ไบŽไธๅŒๅฑ‚ๆฌก๏ผŒไฝ†ไบŒ่€…ๅฎŒๅ…จๅฏไปฅๅๅŒๅทฅไฝœ๏ผš

  • SSE ๅฟ…้กปๅŸบไบŽๆตๅผ HTTP๏ผšSSE ็š„ๆ ‡ๅ‡†ๆ ผๅผ้œ€่ฆ้€š่ฟ‡ HTTP ๆตๅผไผ ่พ“ๆฅๅฎž็Žฐ๏ผŒๅ› ๆญค SSE ๅ่ฎฎ็š„ๆ•ฐๆฎๆตๅบ•ๅฑ‚ๅฟ…็„ถไพ่ต–ๆตๅผ HTTP
  • ๆตๅผ HTTP ไธๅฟ…ๅฑ€้™ไบŽ SSE๏ผš็บฏๆตๅผ HTTP ๅฏไปฅ่‡ชๅฎšไน‰ๆ•ฐๆฎๆ ผๅผ๏ผˆๅฆ‚ JSON Linesใ€NDJSON๏ผ‰๏ผŒไธไธ€ๅฎš่ฆ้ตๅพช SSE ็š„ event:ใ€id:ใ€data: ็ญ‰ๅญ—ๆฎต็บฆๅฎš

ๆญฃๆ˜ฏ็”ฑไบŽ่ฟ™็งๅ…ณ็ณป๏ผŒๆˆ‘ไปฌๅฏไปฅๅˆฉ็”จ fetch + ReadableStream ็ช็ ด SSE ็š„ไธ€ไบ›ๅฑ€้™๏ผš

  1. ่ฏทๆฑ‚ๆ–นๅผๅ—้™๏ผšๅŽŸ็”Ÿ SSE ไป…ๆ”ฏๆŒ GET ่ฏทๆฑ‚๏ผŒๅฝ“้œ€่ฆๆบๅธฆ่พƒๅคง body ๆ•ฐๆฎ๏ผˆๅฆ‚ๆ–‡ไปถไธŠไผ ไธŠไธ‹ๆ–‡ใ€ๅคๆ‚ๆŸฅ่ฏขๅ‚ๆ•ฐ๏ผ‰ๆ—ถไผšๅ—ๅˆฐ้™ๅˆถ๏ผŒ่€Œ fetch API ไธๅ—ๆญค็บฆๆŸใ€‚
  2. ่บซไปฝ้ชŒ่ฏไธไพฟ๏ผšๅŽŸ็”Ÿ SSE ๆ— ๆณ•็ตๆดปๅœฐๅœจ่ฏทๆฑ‚ๅคดไธญๆทปๅŠ  Authorization: Bearer <token> ็ญ‰่ฎค่ฏไฟกๆฏ๏ผŒfetch API ๅˆ™ๅฏไปฅๅƒ่ฐƒ็”จๆ™ฎ้€šๆŽฅๅฃไธ€ๆ ท่‡ชๅฎšไน‰ Headerใ€‚

ๅ› ๆญค๏ผŒๅŸบไบŽๆตๅผ HTTP๏ผŒ้‡‡็”จ fetch + ReadableStream ็š„ๆ–นๆกˆ๏ผŒไธไป…ไฟ็•™ไบ† fetch ็š„ๅ…จ้ƒจ่ƒฝๅŠ›๏ผˆPOST ๆ–นๆณ•ใ€่‡ชๅฎšไน‰ Headersใ€่ถ…ๆ—ถๆŽงๅˆถ็ญ‰๏ผ‰๏ผŒๅŒๆ—ถๅ…ทๅค‡ไบ†ๆตๅผไผ ่พ“็š„ๅฎžๆ—ถๆ€ง๏ผŒๅนถไธ”ๅœจๆ•ฐๆฎๆ ผๅผๅฑ‚้ขไพ็„ถ้ตๅพช SSE ๅ่ฎฎ๏ผŒไฟๆŒ่‰ฏๅฅฝ็š„ๅฏ่งฃๆžๆ€งๅ’Œ้€š็”จๆ€งใ€‚็›ธๆฏ”ๅŽŸ็”Ÿ SSE๏ผŒไฝฟ็”จ Fetch API + ReadableStream ่ƒฝ็ช็ ด GET ่ฏทๆฑ‚้™ๅˆถ๏ผŒๅฏๆบๅธฆไปปๆ„ๅคงๅฐ็š„ body ๆ•ฐๆฎ๏ผŒๅŒๆ—ถๆ”ฏๆŒ็ตๆดป็š„่บซไปฝ้ชŒ่ฏๆ–นๅผ๏ผ›็›ธๆฏ” WebSocket๏ผŒๅˆ™้ฟๅ…ไบ†็ปดๆŠค้•ฟ่ฟžๆŽฅๅ’Œๅฟƒ่ทณไฟๆดป็š„้ขๅค–่ต„ๆบๆŸ่€—ใ€‚

',6)),l("p",null,[s[6]||(s[6]=i("่ฟ™็งโ€œๅ–ไธคๅฎถไน‹้•ฟโ€็š„ๆ–นๆกˆ๏ผŒๆญฃๆ˜ฏ ",-1)),s[7]||(s[7]=l("a",{href:"https://github.com/Azure/fetch-event-source",target:"_blank",rel:"noreferrer"},"@microsoft/fetch-event-source",-1)),s[8]||(s[8]=i(" ่ฟ™็ฑปๅบ“ๅœจ AI ็คพๅŒบ็››่กŒ็š„ๅบ•ๅฑ‚้€ป่พ‘๏ผš",-1)),p(a,{bold:""},{default:e(()=>[...s[5]||(s[5]=[i("ๆ—ข่ƒฝๅƒ่ฐƒ็”จๆ™ฎ้€šๆŽฅๅฃไธ€ๆ ท็ผ–ๅ†™ไธšๅŠก้€ป่พ‘๏ผŒๅˆ่ƒฝไบซๅ—ๆตๅผไผ ่พ“็š„ๅฎžๆ—ถๆ€ง๏ผŒๆ•ฐๆฎๆ ผๅผไพ็„ถ้ตๅพช SSE ๅ่ฎฎ๏ผŒๅฎขๆˆท็ซฏ่งฃๆžๆฏซๆ— ้ขๅค–ๆˆๆœฌ",-1)])]),_:1}),s[9]||(s[9]=i("ใ€‚",-1))]),s[12]||(s[12]=n(`
็‰นๆ€งๆ ‡ๅ‡† EventSource (SSE)Fetch + Stream
HTTP ๆ–นๆณ•ไป…้™ GETๆ”ฏๆŒ POSTใ€PUT ็ญ‰ๆ‰€ๆœ‰ๆ–นๆณ•
่‡ชๅฎšไน‰ Headerไธๆ”ฏๆŒ๏ผˆๆ— ๆณ•ไผ  Token ็ญ‰๏ผ‰ๅฎŒๅ…จๆ”ฏๆŒ
**่ฏทๆฑ‚ไฝ“ **(Body)ไธๆ”ฏๆŒๆ”ฏๆŒๅ‘้€ JSON Payload
้‡่ฟžๆœบๅˆถๆต่งˆๅ™จๅ†…็ฝฎ๏ผŒ้šพไปฅ็ฒพ็ป†ๆŽงๅˆถๆ’ไปถๅฎž็Žฐ๏ผŒๆ”ฏๆŒ้ซ˜ๅบฆ่‡ชๅฎšไน‰้‡่ฟž็ญ–็•ฅ
่ทจๅŸŸ (CORS)ๆฏ”่พƒๆญปๆฟ๏ผŒ้œ€็‰นๅฎš้…็ฝฎ้ตๅพชๆ ‡ๅ‡†็š„ Fetch CORS ่ง„ๅˆ™
ๅบ•ๅฑ‚ APIๆต่งˆๅ™จๅŽŸ็”Ÿ EventSource ๅฏน่ฑกๅŸบไบŽ fetch ๅ’Œ ReadableStream

1.3 SSE ๅ่ฎฎๆ•ฐๆฎๆ ผๅผ โ€‹

SSE ๅ่ฎฎๅฏนๆ•ฐๆฎๆตๆ ผๅผๆœ‰ๆ˜Ž็กฎ่ง„ๅฎš๏ผŒๆœๅŠกๅ™จ่ฟ”ๅ›ž็š„ๅ“ๅบ”ๅคดๅ’Œๆ•ฐๆฎไฝ“้œ€้ตๅพชไปฅไธ‹่ง„่Œƒ๏ผš

markdown
Content-Type: text/event-stream
 Cache-Control: no-cache
 Connection: keep-alive
 
diff --git "a/assets/01.\345\205\250\346\240\210_60.\347\275\221\347\273\234\344\270\216\351\200\232\344\277\241_02.\346\265\201\345\274\217 HTTP \344\270\216 SSE \345\215\217\350\256\256\357\274\232\344\273\216\346\246\202\345\277\265\350\276\250\346\236\220\345\210\260\347\224\237\344\272\247\345\256\236\350\267\265.md.DBvMz_Gr.lean.js" "b/assets/01.\345\205\250\346\240\210_60.\347\275\221\347\273\234\344\270\216\351\200\232\344\277\241_02.\346\265\201\345\274\217 HTTP \344\270\216 SSE \345\215\217\350\256\256\357\274\232\344\273\216\346\246\202\345\277\265\350\276\250\346\236\220\345\210\260\347\224\237\344\272\247\345\256\236\350\267\265.md.Cp-uzdUB.lean.js"
similarity index 94%
rename from "assets/01.\345\205\250\346\240\210_60.\347\275\221\347\273\234\344\270\216\351\200\232\344\277\241_02.\346\265\201\345\274\217 HTTP \344\270\216 SSE \345\215\217\350\256\256\357\274\232\344\273\216\346\246\202\345\277\265\350\276\250\346\236\220\345\210\260\347\224\237\344\272\247\345\256\236\350\267\265.md.DBvMz_Gr.lean.js"
rename to "assets/01.\345\205\250\346\240\210_60.\347\275\221\347\273\234\344\270\216\351\200\232\344\277\241_02.\346\265\201\345\274\217 HTTP \344\270\216 SSE \345\215\217\350\256\256\357\274\232\344\273\216\346\246\202\345\277\265\350\276\250\346\236\220\345\210\260\347\224\237\344\272\247\345\256\236\350\267\265.md.Cp-uzdUB.lean.js"
index 8deebb8f..64a22c98 100644
--- "a/assets/01.\345\205\250\346\240\210_60.\347\275\221\347\273\234\344\270\216\351\200\232\344\277\241_02.\346\265\201\345\274\217 HTTP \344\270\216 SSE \345\215\217\350\256\256\357\274\232\344\273\216\346\246\202\345\277\265\350\276\250\346\236\220\345\210\260\347\224\237\344\272\247\345\256\236\350\267\265.md.DBvMz_Gr.lean.js"	
+++ "b/assets/01.\345\205\250\346\240\210_60.\347\275\221\347\273\234\344\270\216\351\200\232\344\277\241_02.\346\265\201\345\274\217 HTTP \344\270\216 SSE \345\215\217\350\256\256\357\274\232\344\273\216\346\246\202\345\277\265\350\276\250\346\236\220\345\210\260\347\224\237\344\272\247\345\256\236\350\267\265.md.Cp-uzdUB.lean.js"	
@@ -1 +1 @@
-import{H as a}from"./chunks/HighLightText.gRdAAF3C.js";import{g as h,h as k,U as n,i as l,S as i,z as p,s as e}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const c=JSON.parse('{"title":"ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต","description":"่พจๆžๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ็š„ๆฆ‚ๅฟตไธŽๅฑ‚ๆฌกๅ…ณ็ณป๏ผŒ่ฏฆ่งฃๅฎขๆˆท็ซฏไธŽๆœๅŠก็ซฏๅฎž็Žฐๆ–นๆกˆ๏ผŒๆไพ›็”Ÿไบงๅฎž่ทตๅฎŒๆ•ดๆŒ‡ๅ—ใ€‚","frontmatter":{"date":"2026-03-05T16:54:35.000Z","title":"ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต","aliases":["Server-Sent Events","HTTP Streaming"],"tldr":"ๆทฑๅ…ฅ่งฃๆžๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผŒๆไพ›ไปŽๆฆ‚ๅฟตๅˆฐ็”Ÿไบงๅฎž่ทต็š„ๅฎŒๆ•ด่งฃๅ†ณๆ–นๆกˆใ€‚","description":"่พจๆžๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ็š„ๆฆ‚ๅฟตไธŽๅฑ‚ๆฌกๅ…ณ็ณป๏ผŒ่ฏฆ่งฃๅฎขๆˆท็ซฏไธŽๆœๅŠก็ซฏๅฎž็Žฐๆ–นๆกˆ๏ผŒๆไพ›็”Ÿไบงๅฎž่ทตๅฎŒๆ•ดๆŒ‡ๅ—ใ€‚","tags":["tutorial","SSE","HTTP Streaming","ๅ…จๆ ˆ"],"categories":["ๅ…จๆ ˆ","็ฝ‘็ปœไธŽ้€šไฟก"],"permalink":"/fullstack/networking/sse-practice"},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต.md","filePath":"01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต.md"}'),t={name:"01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต.md"},y=Object.assign(t,{setup(r){return(E,s)=>(k(),h("div",null,[s[10]||(s[10]=n("",8)),l("p",null,[s[2]||(s[2]=i("็ฎ€่€Œ่จ€ไน‹๏ผŒ",-1)),p(a,{bold:""},{default:e(()=>[...s[0]||(s[0]=[i("ๆตๅผ HTTP ๆ˜ฏไธ€็งโ€œไผ ่พ“ๆ‰‹ๆฎตโ€๏ผŒ่€Œ SSE ๆ˜ฏไธ€็งโ€œๆ•ฐๆฎๆ ผๅผ็บฆๅฎšโ€",-1)])]),_:1}),s[3]||(s[3]=i("ใ€‚",-1)),p(a,{type:"info"},{default:e(()=>[...s[1]||(s[1]=[i("ๆตๅผ HTTP ๅ…ณๆณจ็š„ๆ˜ฏๅฆ‚ไฝ•ๆŠŠๆ•ฐๆฎโ€œ่พนๅ‘่พนไผ โ€๏ผŒ่€Œ SSE ๅ…ณๆณจ็š„ๆ˜ฏๅฆ‚ไฝ•่ฎฉๆ•ฐๆฎโ€œๆŒ‰็…งๅ›บๅฎšๆ ผๅผ็ป„็ป‡โ€๏ผŒไพฟไบŽๅฎขๆˆท็ซฏ่งฃๆžๅค„็†",-1)])]),_:1}),s[4]||(s[4]=i("ใ€‚",-1))]),s[11]||(s[11]=n("",6)),l("p",null,[s[6]||(s[6]=i("่ฟ™็งโ€œๅ–ไธคๅฎถไน‹้•ฟโ€็š„ๆ–นๆกˆ๏ผŒๆญฃๆ˜ฏ ",-1)),s[7]||(s[7]=l("a",{href:"https://github.com/Azure/fetch-event-source",target:"_blank",rel:"noreferrer"},"@microsoft/fetch-event-source",-1)),s[8]||(s[8]=i(" ่ฟ™็ฑปๅบ“ๅœจ AI ็คพๅŒบ็››่กŒ็š„ๅบ•ๅฑ‚้€ป่พ‘๏ผš",-1)),p(a,{bold:""},{default:e(()=>[...s[5]||(s[5]=[i("ๆ—ข่ƒฝๅƒ่ฐƒ็”จๆ™ฎ้€šๆŽฅๅฃไธ€ๆ ท็ผ–ๅ†™ไธšๅŠก้€ป่พ‘๏ผŒๅˆ่ƒฝไบซๅ—ๆตๅผไผ ่พ“็š„ๅฎžๆ—ถๆ€ง๏ผŒๆ•ฐๆฎๆ ผๅผไพ็„ถ้ตๅพช SSE ๅ่ฎฎ๏ผŒๅฎขๆˆท็ซฏ่งฃๆžๆฏซๆ— ้ขๅค–ๆˆๆœฌ",-1)])]),_:1}),s[9]||(s[9]=i("ใ€‚",-1))]),s[12]||(s[12]=n("",91))]))}});export{c as __pageData,y as default};
+import{H as a}from"./chunks/HighLightText.BFsbuOsY.js";import{g as h,h as k,U as n,i as l,S as i,z as p,s as e}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const c=JSON.parse('{"title":"ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต","description":"่พจๆžๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ็š„ๆฆ‚ๅฟตไธŽๅฑ‚ๆฌกๅ…ณ็ณป๏ผŒ่ฏฆ่งฃๅฎขๆˆท็ซฏไธŽๆœๅŠก็ซฏๅฎž็Žฐๆ–นๆกˆ๏ผŒๆไพ›็”Ÿไบงๅฎž่ทตๅฎŒๆ•ดๆŒ‡ๅ—ใ€‚","frontmatter":{"date":"2026-03-05T16:54:35.000Z","title":"ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต","aliases":["Server-Sent Events","HTTP Streaming"],"tldr":"ๆทฑๅ…ฅ่งฃๆžๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผŒๆไพ›ไปŽๆฆ‚ๅฟตๅˆฐ็”Ÿไบงๅฎž่ทต็š„ๅฎŒๆ•ด่งฃๅ†ณๆ–นๆกˆใ€‚","description":"่พจๆžๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ็š„ๆฆ‚ๅฟตไธŽๅฑ‚ๆฌกๅ…ณ็ณป๏ผŒ่ฏฆ่งฃๅฎขๆˆท็ซฏไธŽๆœๅŠก็ซฏๅฎž็Žฐๆ–นๆกˆ๏ผŒๆไพ›็”Ÿไบงๅฎž่ทตๅฎŒๆ•ดๆŒ‡ๅ—ใ€‚","tags":["tutorial","SSE","HTTP Streaming","ๅ…จๆ ˆ"],"categories":["ๅ…จๆ ˆ","็ฝ‘็ปœไธŽ้€šไฟก"],"permalink":"/fullstack/networking/sse-practice"},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต.md","filePath":"01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต.md"}'),t={name:"01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต.md"},y=Object.assign(t,{setup(r){return(E,s)=>(k(),h("div",null,[s[10]||(s[10]=n("",8)),l("p",null,[s[2]||(s[2]=i("็ฎ€่€Œ่จ€ไน‹๏ผŒ",-1)),p(a,{bold:""},{default:e(()=>[...s[0]||(s[0]=[i("ๆตๅผ HTTP ๆ˜ฏไธ€็งโ€œไผ ่พ“ๆ‰‹ๆฎตโ€๏ผŒ่€Œ SSE ๆ˜ฏไธ€็งโ€œๆ•ฐๆฎๆ ผๅผ็บฆๅฎšโ€",-1)])]),_:1}),s[3]||(s[3]=i("ใ€‚",-1)),p(a,{type:"info"},{default:e(()=>[...s[1]||(s[1]=[i("ๆตๅผ HTTP ๅ…ณๆณจ็š„ๆ˜ฏๅฆ‚ไฝ•ๆŠŠๆ•ฐๆฎโ€œ่พนๅ‘่พนไผ โ€๏ผŒ่€Œ SSE ๅ…ณๆณจ็š„ๆ˜ฏๅฆ‚ไฝ•่ฎฉๆ•ฐๆฎโ€œๆŒ‰็…งๅ›บๅฎšๆ ผๅผ็ป„็ป‡โ€๏ผŒไพฟไบŽๅฎขๆˆท็ซฏ่งฃๆžๅค„็†",-1)])]),_:1}),s[4]||(s[4]=i("ใ€‚",-1))]),s[11]||(s[11]=n("",6)),l("p",null,[s[6]||(s[6]=i("่ฟ™็งโ€œๅ–ไธคๅฎถไน‹้•ฟโ€็š„ๆ–นๆกˆ๏ผŒๆญฃๆ˜ฏ ",-1)),s[7]||(s[7]=l("a",{href:"https://github.com/Azure/fetch-event-source",target:"_blank",rel:"noreferrer"},"@microsoft/fetch-event-source",-1)),s[8]||(s[8]=i(" ่ฟ™็ฑปๅบ“ๅœจ AI ็คพๅŒบ็››่กŒ็š„ๅบ•ๅฑ‚้€ป่พ‘๏ผš",-1)),p(a,{bold:""},{default:e(()=>[...s[5]||(s[5]=[i("ๆ—ข่ƒฝๅƒ่ฐƒ็”จๆ™ฎ้€šๆŽฅๅฃไธ€ๆ ท็ผ–ๅ†™ไธšๅŠก้€ป่พ‘๏ผŒๅˆ่ƒฝไบซๅ—ๆตๅผไผ ่พ“็š„ๅฎžๆ—ถๆ€ง๏ผŒๆ•ฐๆฎๆ ผๅผไพ็„ถ้ตๅพช SSE ๅ่ฎฎ๏ผŒๅฎขๆˆท็ซฏ่งฃๆžๆฏซๆ— ้ขๅค–ๆˆๆœฌ",-1)])]),_:1}),s[9]||(s[9]=i("ใ€‚",-1))]),s[12]||(s[12]=n("",91))]))}});export{c as __pageData,y as default};
diff --git "a/assets/01.\345\205\250\346\240\210_60.\347\275\221\347\273\234\344\270\216\351\200\232\344\277\241_03.\351\200\200\351\201\277\350\275\256\350\257\242\344\270\216\351\225\277\350\275\256\350\257\242\347\232\204\345\216\237\347\220\206\343\200\201\345\256\236\346\210\230\344\270\216\351\200\211\345\236\213\345\206\263\347\255\226.md.J0ycjaFX.js" "b/assets/01.\345\205\250\346\240\210_60.\347\275\221\347\273\234\344\270\216\351\200\232\344\277\241_03.\351\200\200\351\201\277\350\275\256\350\257\242\344\270\216\351\225\277\350\275\256\350\257\242\347\232\204\345\216\237\347\220\206\343\200\201\345\256\236\346\210\230\344\270\216\351\200\211\345\236\213\345\206\263\347\255\226.md.C2A_-RUG.js"
similarity index 99%
rename from "assets/01.\345\205\250\346\240\210_60.\347\275\221\347\273\234\344\270\216\351\200\232\344\277\241_03.\351\200\200\351\201\277\350\275\256\350\257\242\344\270\216\351\225\277\350\275\256\350\257\242\347\232\204\345\216\237\347\220\206\343\200\201\345\256\236\346\210\230\344\270\216\351\200\211\345\236\213\345\206\263\347\255\226.md.J0ycjaFX.js"
rename to "assets/01.\345\205\250\346\240\210_60.\347\275\221\347\273\234\344\270\216\351\200\232\344\277\241_03.\351\200\200\351\201\277\350\275\256\350\257\242\344\270\216\351\225\277\350\275\256\350\257\242\347\232\204\345\216\237\347\220\206\343\200\201\345\256\236\346\210\230\344\270\216\351\200\211\345\236\213\345\206\263\347\255\226.md.C2A_-RUG.js"
index 3c121876..6ca85de3 100644
--- "a/assets/01.\345\205\250\346\240\210_60.\347\275\221\347\273\234\344\270\216\351\200\232\344\277\241_03.\351\200\200\351\201\277\350\275\256\350\257\242\344\270\216\351\225\277\350\275\256\350\257\242\347\232\204\345\216\237\347\220\206\343\200\201\345\256\236\346\210\230\344\270\216\351\200\211\345\236\213\345\206\263\347\255\226.md.J0ycjaFX.js"
+++ "b/assets/01.\345\205\250\346\240\210_60.\347\275\221\347\273\234\344\270\216\351\200\232\344\277\241_03.\351\200\200\351\201\277\350\275\256\350\257\242\344\270\216\351\225\277\350\275\256\350\257\242\347\232\204\345\216\237\347\220\206\343\200\201\345\256\236\346\210\230\344\270\216\351\200\211\345\236\213\345\206\263\347\255\226.md.C2A_-RUG.js"
@@ -1,4 +1,4 @@
-import{_ as i,g as a,h as n,U as l}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const g=JSON.parse('{"title":"HTTP ่ฝฎ่ฏขไผ˜ๅŒ–ๆŒ‡ๅ—๏ผš้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–","description":"ๆทฑๅ…ฅๅ‰–ๆž้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๆ ธๅฟƒๆœบๅˆถ๏ผŒๆไพ› TypeScript/NestJS ๅฎžๆˆ˜ไปฃ็ ๏ผŒๅนถๆž„ๅปบๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–ๆ ‘ไธŽ้€‚็”จๅœบๆ™ฏ้€ŸๆŸฅใ€‚","frontmatter":{"date":"2026-02-25T22:10:48.000Z","title":"HTTP ่ฝฎ่ฏขไผ˜ๅŒ–ๆŒ‡ๅ—๏ผš้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–","tldr":"่ฏฆ่งฃ้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅฎž็ŽฐๅŽŸ็†๏ผŒๆไพ› HTTP ่ฝฎ่ฏขไผ˜ๅŒ–็ญ–็•ฅไธŽ้€‰ๅž‹ๅ†ณ็ญ–ๆ ‘ใ€‚","description":"ๆทฑๅ…ฅๅ‰–ๆž้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๆ ธๅฟƒๆœบๅˆถ๏ผŒๆไพ› TypeScript/NestJS ๅฎžๆˆ˜ไปฃ็ ๏ผŒๅนถๆž„ๅปบๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–ๆ ‘ไธŽ้€‚็”จๅœบๆ™ฏ้€ŸๆŸฅใ€‚","tags":["HTTP ่ฝฎ่ฏข","้€€้ฟ่ฝฎ่ฏข","้•ฟ่ฝฎ่ฏข"],"categories":["ๅ…จๆ ˆ","็ฝ‘็ปœไธŽ้€šไฟก"],"permalink":"/fullstack/networking-polling-optimization"},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–.md","filePath":"01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–.md"}'),p={name:"01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–.md"};function h(k,s,t,e,r,E){return n(),a("div",null,[...s[0]||(s[0]=[l(`

HTTP ่ฝฎ่ฏขไผ˜ๅŒ–ๆŒ‡ๅ—๏ผš้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ– โ€‹

ๆ‘˜่ฆๆ€ป็ป“: ้’ˆๅฏนไผ ็ปŸๅ›บๅฎš้ข‘็އ่ฝฎ่ฏข็š„ๆœๅŠกๅ™จ่ต„ๆบๆตช่ดน้—ฎ้ข˜๏ผŒ็ณป็ปŸๅˆ†ๆž้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏขไธค็งไผ˜ๅŒ–็ญ–็•ฅ็š„ๆ ธๅฟƒๅŽŸ็†ไธŽ่ฟ่กŒๆœบๅˆถใ€‚้€š่ฟ‡ TypeScript ๅฎขๆˆท็ซฏไธŽ NestJS ๆœๅŠก็ซฏ็š„ๅฎŒๆ•ดๅฎž็Žฐ็คบไพ‹๏ผŒๅฏนๆฏ”ไธค็งๆ–นๆกˆๅœจๅฎžๆ—ถๆ€งใ€่ต„ๆบๅ ็”จใ€ๅคๆ‚ๅบฆ็ญ‰็ปดๅบฆ็š„ๅทฎๅผ‚ใ€‚ๆž„ๅปบๅŒ…ๅซไปปๅŠก่€—ๆ—ถใ€ๅนถๅ‘่ง„ๆจกใ€ๅŸบ็ก€่ฎพๆ–ฝ็บฆๆŸ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–ๆ ‘๏ผŒๅนถๆๅ‡บ้€€้ฟ+้•ฟ่ฝฎ่ฏข็บง่”ใ€ๆŒ‰ไธšๅŠกๅˆ†็บง็ญ‰ๆททๅˆ็ญ–็•ฅๅปบ่ฎฎใ€‚็ป“่ฎบ่กจๆ˜Ž๏ผŒไฝŽๅฎžๆ—ถ่ฆๆฑ‚้ซ˜ๅนถๅ‘ๅœบๆ™ฏ้€‰้€€้ฟ่ฝฎ่ฏข๏ผŒ้ซ˜ๅฎžๆ—ถ่ฆๆฑ‚ไธญไฝŽๅนถๅ‘ๅœบๆ™ฏ้€‰้•ฟ่ฝฎ่ฏข๏ผŒๅคๆ‚ๅœบๆ™ฏๅฏไธค่€…็ป“ๅˆใ€‚

1. ๅผ•่จ€ โ€‹

ๅœจ็Žฐไปฃ Web ๅผ€ๅ‘ไธญ๏ผŒWebSocket ๅ’Œ Server-Sent Events (SSE) ๅธธๅธธ่ขซ่ง†ไธบๅฎžๆ—ถ้€šไฟก็š„้“ถๅผนใ€‚็„ถ่€Œ๏ผŒHTTP ่ฝฎ่ฏข๏ผˆPolling๏ผ‰ไฝœไธบๆœ€ๆœด็ด ็š„ๅฎžๆ—ถ้€šไฟกๆ–นๆกˆ๏ผŒ้žไฝ†ๆฒกๆœ‰้€€ๅ‡บๅކๅฒ่ˆžๅฐ๏ผŒๅ่€Œๅœจ็‰นๅฎš็š„ๅคๆ‚ไธšๅŠกๅœบๆ™ฏไธญๅคงๆ”พๅผ‚ๅฝฉใ€‚

๐Ÿ“– ๅฆ‚ๆžœไฝ ๅฏน HTTP ่ฝฎ่ฏขๅœจๆ•ดไธช Web ้€šไฟกๅ่ฎฎไฝ“็ณปไธญ็š„ๅฎšไฝๅฐšไธๆธ…ๆ™ฐ๏ผŒๆŽจ่ๅ…ˆ้˜…่ฏป Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—๏ผŒไบ†่งฃ่ฝฎ่ฏขไธŽ็Ÿญ่ฟžๆŽฅใ€้•ฟ่ฟžๆŽฅใ€WebSocketใ€SSE ็ญ‰ๆ–นๆกˆ็š„ๆผ”่ฟ›ๅ…ณ็ณปไธŽ้€‚็”จ่พน็•Œ๏ผŒๅ†็ป“ๅˆๆœฌๆ–‡ๆทฑๅ…ฅๅฎž่ทตใ€‚

ๅœจๅฝ“ๅ‰ไผ—ๅคš้กถ็บง็š„ AI AIGC ๅบ”็”จ๏ผˆๅฆ‚ Midjourney ็ฑป็š„็ฌฌไธ‰ๆ–น้›†ๆˆๅบ”็”จใ€Stable Diffusion ๅ•†ไธšๅนณๅฐใ€้•ฟ่ง†้ข‘็”Ÿๆˆ็ญ‰๏ผ‰ไธญ๏ผŒไปปๅŠกๅค„็†ๅพ€ๅพ€้œ€่ฆๆ•ฐๅ็ง’็”š่‡ณๆ•ฐๅˆ†้’Ÿใ€‚ๅœจ้ขๅฏนๆตท้‡ๅนถๅ‘ๅ’Œๅคๆ‚็š„็ฝ‘ๅ…ณ่ดŸ่ฝฝๅ‡่กกๆ—ถ๏ผŒHTTP ่ฝฎ่ฏขๅ› ๅ…ถๆ— ็Šถๆ€ใ€ๆ˜“ๆ‰ฉๅฑ•ใ€ๆ–ญ่ฟžๆขๅคๆˆๆœฌๆžไฝŽ็š„็‰นๆ€ง๏ผŒๆˆไธบไบ†ๆžถๆž„ๅธˆ็ป่ฟ‡ๆทฑๆ€็†Ÿ่™‘ๅŽ็š„้ฆ–้€‰ๆ–นๆกˆใ€‚

็„ถ่€Œ๏ผŒไผ ็ปŸ็š„ๅ›บๅฎš้ข‘็އ่ฝฎ่ฏข๏ผˆๅฆ‚ๆฏ็ง’่ฏทๆฑ‚ไธ€ๆฌก๏ผ‰ๅฏนๆœๅŠกๅ™จๆžไธๅ‹ๅฅฝใ€‚ไธบไบ†ๅ…ผ้กพ็”จๆˆทไฝ“้ชŒไธŽๆœๅŠกๅ™จ็š„็จณๅฎšๆ€ง๏ผŒๆœฌๆ–‡ๅฐ†ๆทฑๅ…ฅๆŽข่ฎจไธค็งๅธธ็”จ็š„ HTTP ่ฝฎ่ฏขไผ˜ๅŒ–็ญ–็•ฅ๏ผš้€€้ฟ่ฝฎ่ฏข๏ผˆBackoff Polling๏ผ‰ ไธŽ ้•ฟ่ฝฎ่ฏข๏ผˆLong Polling๏ผ‰ใ€‚

2. ้€€้ฟ่ฝฎ่ฏข โ€‹

้€€้ฟ่ฝฎ่ฏขๆ˜ฏไธ€็งๅœจ่ฎก็ฎ—ๆœบ็ฝ‘็ปœๅ’Œๅˆ†ๅธƒๅผ็ณป็ปŸไธญๅธธ็”จ็š„็ฝ‘็ปœ่ฏทๆฑ‚ๆˆ–้‡่ฏ•็ญ–็•ฅใ€‚ๅฎƒ็š„ๆ ธๅฟƒๆ€ๆƒณๆ˜ฏ๏ผšๅฝ“ๆœๅŠก็ซฏไปปๅŠกๆœชๅฎŒๆˆๆ—ถ๏ผŒๅฎขๆˆท็ซฏไธ‹ไธ€ๆฌกๆŸฅ่ฏข็š„็ญ‰ๅพ…ๆ—ถ้—ดๅนถ้žๅ›บๅฎš๏ผŒ่€Œๆ˜ฏ้š็€ๆŸฅ่ฏขๆฌกๆ•ฐ็š„ๅขžๅŠ ่€Œ้€’ๅขžใ€‚

2.1 ไธบไป€ไนˆ้œ€่ฆ้€€้ฟ่ฝฎ่ฏข๏ผŸ โ€‹

ๅœจๆœๅŠกๅ™จ่ฟ‡่ฝฝใ€็ฝ‘็ปœๆ•…้šœๆˆ–็”ฑไบŽ็Ÿญๆ—ถ้—ด้ซ˜้ข‘่ฏทๆฑ‚่งฆๅ‘้™ๆต๏ผˆๅฆ‚ HTTP 429 ้”™่ฏฏ๏ผ‰ๆ—ถ๏ผŒๅฆ‚ๆžœๅฎขๆˆท็ซฏไปไปฅๅ›บๅฎš้ซ˜้ข‘้‡่ฏ•๏ผŒไผšๅผ•ๅ‘ไธฅ้‡็š„็พ้šพ๏ผš

  • ๆƒŠ็พคๆ•ˆๅบ”๏ผšๅคง้‡ๅฎขๆˆท็ซฏๅŒๆ—ถ้ซ˜้ข‘้‡่ฏ•๏ผŒๅฏผ่‡ดๆœๅŠกๅ™จๅŽ‹ๅŠ›ๅ€ๅขž๏ผŒ่ฟ›่€Œๅฝปๅบ•ๅดฉๆบƒใ€‚
  • ่ต„ๆบๆตช่ดน๏ผšๆœๅŠก็ซฏๅœจๆ‰ง่กŒ่€—ๆ—ถไปปๅŠก๏ผˆๅฆ‚ AI ๆธฒๆŸ“๏ผ‰ๆ—ถ๏ผŒๅˆๆœŸ็š„้ข‘็นๆŸฅ่ฏขๆณจๅฎšๆ˜ฏๆ— ๆ•ˆ็š„๏ผŒ่ฟ™ไธไป…ๆตช่ดนไบ†ๆœๅŠกๅ™จๅธฆๅฎฝ๏ผŒไนŸๆถˆ่€—ไบ†ๅฎขๆˆท็ซฏ็š„่ฎพๅค‡็”ต้‡ไธŽๆ€ง่ƒฝใ€‚

2.2 ๆ ธๅฟƒๆœบๅˆถไธŽ่ฟ่กŒ่ง„ๅˆ™ โ€‹

้€€้ฟ่ฝฎ่ฏข้€š่ฟ‡ไธๆ–ญๆ‹‰ๅคงไธคๆฌก่ฏทๆฑ‚ไน‹้—ด็š„ๅปถ่ฟŸๆ—ถ้—ด๏ผŒๅทงๅฆ™ๅœฐๅฎž็Žฐไบ†่ฏทๆฑ‚ๅˆ†ๆตใ€‚ๅ…ถๅ…ธๅž‹่ง„ๅˆ™ๅฆ‚ไธ‹๏ผš

  • ๆœๅŠก็ซฏ๏ผšไฟๆŒโ€œๆž่ฝปโ€็š„้€ป่พ‘๏ผŒๆ”ถๅˆฐ่ฏทๆฑ‚ๅŽ็ซ‹ๅˆปๆŸฅ่ฏข็Šถๆ€ๅนถ่ฟ”ๅ›ž๏ผˆๅฎŒๆˆใ€ๅคฑ่ดฅๆˆ–ๅค„็†ไธญ๏ผ‰๏ผŒไธๅšไปปไฝ•้˜ปๅกžใ€‚

  • ๅฎขๆˆท็ซฏ๏ผšๆ”ถๅˆฐโ€œๅค„็†ไธญโ€็Šถๆ€ๆ—ถ๏ผŒๆŒ‰็ญ–็•ฅ่ฟ›ๅ…ฅ็ญ‰ๅพ…ใ€‚ไพ‹ๅฆ‚๏ผš

    • ็ฌฌไธ€ๆฌก็ญ‰ๅพ…๏ผš2 ็ง’

    • ็ฌฌไบŒๆฌก็ญ‰ๅพ…๏ผš5 ็ง’

    • ็ฌฌไธ‰ๆฌก็ญ‰ๅพ…๏ผš10 ็ง’

    • ็ฌฌ N ๆฌก็ญ‰ๅพ…๏ผšๆœ€ๅคงไธŠ้™๏ผˆๅฆ‚ 15 ็ง’๏ผŒ้ฟๅ…็ญ‰ๅพ…่ฟ‡ไน…ๅฏผ่‡ดไฝ“้ชŒๆ–ญๅฑ‚๏ผ‰

่ฎพ็ฝฎๆœ€ๅคงๅ€ผๆ˜ฏไธบไบ†้ฟๅ…็ญ‰ๅพ…ๆ—ถ้—ดๅ˜ๅพ—ไธๅฏๆŽฅๅ—๏ผˆๅฆ‚ๅ‡ ไธชๅฐๆ—ถ๏ผ‰๏ผŒ้€šๅธธไผš่ฎพ็ฝฎไธ€ไธชๆœ€ๅคง็ญ‰ๅพ…ๆ—ถ้—ด๏ผˆMax Delay๏ผ‰ๅ’Œๆœ€ๅคง้‡่ฏ•ๆฌกๆ•ฐใ€‚

2.3 ๅฎขๆˆท็ซฏๅฎž็Žฐ็คบไพ‹ โ€‹

ๅœจๅฎขๆˆท็ซฏไธญ๏ผŒๆˆ‘ไปฌๅฏไปฅ้€š่ฟ‡็ฎ€ๅ•็š„ while ๅพช็Žฏๅ’Œ setTimeout ๆŒ‚่ตทๆœบๅˆถๆฅๅฎž็Žฐ๏ผš

typescript

+import{_ as i,g as a,h as n,U as l}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const g=JSON.parse('{"title":"HTTP ่ฝฎ่ฏขไผ˜ๅŒ–ๆŒ‡ๅ—๏ผš้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–","description":"ๆทฑๅ…ฅๅ‰–ๆž้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๆ ธๅฟƒๆœบๅˆถ๏ผŒๆไพ› TypeScript/NestJS ๅฎžๆˆ˜ไปฃ็ ๏ผŒๅนถๆž„ๅปบๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–ๆ ‘ไธŽ้€‚็”จๅœบๆ™ฏ้€ŸๆŸฅใ€‚","frontmatter":{"date":"2026-02-25T22:10:48.000Z","title":"HTTP ่ฝฎ่ฏขไผ˜ๅŒ–ๆŒ‡ๅ—๏ผš้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–","tldr":"่ฏฆ่งฃ้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅฎž็ŽฐๅŽŸ็†๏ผŒๆไพ› HTTP ่ฝฎ่ฏขไผ˜ๅŒ–็ญ–็•ฅไธŽ้€‰ๅž‹ๅ†ณ็ญ–ๆ ‘ใ€‚","description":"ๆทฑๅ…ฅๅ‰–ๆž้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๆ ธๅฟƒๆœบๅˆถ๏ผŒๆไพ› TypeScript/NestJS ๅฎžๆˆ˜ไปฃ็ ๏ผŒๅนถๆž„ๅปบๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–ๆ ‘ไธŽ้€‚็”จๅœบๆ™ฏ้€ŸๆŸฅใ€‚","tags":["HTTP ่ฝฎ่ฏข","้€€้ฟ่ฝฎ่ฏข","้•ฟ่ฝฎ่ฏข"],"categories":["ๅ…จๆ ˆ","็ฝ‘็ปœไธŽ้€šไฟก"],"permalink":"/fullstack/networking-polling-optimization"},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–.md","filePath":"01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–.md"}'),p={name:"01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–.md"};function h(k,s,t,e,r,E){return n(),a("div",null,[...s[0]||(s[0]=[l(`

HTTP ่ฝฎ่ฏขไผ˜ๅŒ–ๆŒ‡ๅ—๏ผš้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ– โ€‹

ๆ‘˜่ฆๆ€ป็ป“: ้’ˆๅฏนไผ ็ปŸๅ›บๅฎš้ข‘็އ่ฝฎ่ฏข็š„ๆœๅŠกๅ™จ่ต„ๆบๆตช่ดน้—ฎ้ข˜๏ผŒ็ณป็ปŸๅˆ†ๆž้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏขไธค็งไผ˜ๅŒ–็ญ–็•ฅ็š„ๆ ธๅฟƒๅŽŸ็†ไธŽ่ฟ่กŒๆœบๅˆถใ€‚้€š่ฟ‡ TypeScript ๅฎขๆˆท็ซฏไธŽ NestJS ๆœๅŠก็ซฏ็š„ๅฎŒๆ•ดๅฎž็Žฐ็คบไพ‹๏ผŒๅฏนๆฏ”ไธค็งๆ–นๆกˆๅœจๅฎžๆ—ถๆ€งใ€่ต„ๆบๅ ็”จใ€ๅคๆ‚ๅบฆ็ญ‰็ปดๅบฆ็š„ๅทฎๅผ‚ใ€‚ๆž„ๅปบๅŒ…ๅซไปปๅŠก่€—ๆ—ถใ€ๅนถๅ‘่ง„ๆจกใ€ๅŸบ็ก€่ฎพๆ–ฝ็บฆๆŸ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–ๆ ‘๏ผŒๅนถๆๅ‡บ้€€้ฟ+้•ฟ่ฝฎ่ฏข็บง่”ใ€ๆŒ‰ไธšๅŠกๅˆ†็บง็ญ‰ๆททๅˆ็ญ–็•ฅๅปบ่ฎฎใ€‚็ป“่ฎบ่กจๆ˜Ž๏ผŒไฝŽๅฎžๆ—ถ่ฆๆฑ‚้ซ˜ๅนถๅ‘ๅœบๆ™ฏ้€‰้€€้ฟ่ฝฎ่ฏข๏ผŒ้ซ˜ๅฎžๆ—ถ่ฆๆฑ‚ไธญไฝŽๅนถๅ‘ๅœบๆ™ฏ้€‰้•ฟ่ฝฎ่ฏข๏ผŒๅคๆ‚ๅœบๆ™ฏๅฏไธค่€…็ป“ๅˆใ€‚

1. ๅผ•่จ€ โ€‹

ๅœจ็Žฐไปฃ Web ๅผ€ๅ‘ไธญ๏ผŒWebSocket ๅ’Œ Server-Sent Events (SSE) ๅธธๅธธ่ขซ่ง†ไธบๅฎžๆ—ถ้€šไฟก็š„้“ถๅผนใ€‚็„ถ่€Œ๏ผŒHTTP ่ฝฎ่ฏข๏ผˆPolling๏ผ‰ไฝœไธบๆœ€ๆœด็ด ็š„ๅฎžๆ—ถ้€šไฟกๆ–นๆกˆ๏ผŒ้žไฝ†ๆฒกๆœ‰้€€ๅ‡บๅކๅฒ่ˆžๅฐ๏ผŒๅ่€Œๅœจ็‰นๅฎš็š„ๅคๆ‚ไธšๅŠกๅœบๆ™ฏไธญๅคงๆ”พๅผ‚ๅฝฉใ€‚

๐Ÿ“– ๅฆ‚ๆžœไฝ ๅฏน HTTP ่ฝฎ่ฏขๅœจๆ•ดไธช Web ้€šไฟกๅ่ฎฎไฝ“็ณปไธญ็š„ๅฎšไฝๅฐšไธๆธ…ๆ™ฐ๏ผŒๆŽจ่ๅ…ˆ้˜…่ฏป Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—๏ผŒไบ†่งฃ่ฝฎ่ฏขไธŽ็Ÿญ่ฟžๆŽฅใ€้•ฟ่ฟžๆŽฅใ€WebSocketใ€SSE ็ญ‰ๆ–นๆกˆ็š„ๆผ”่ฟ›ๅ…ณ็ณปไธŽ้€‚็”จ่พน็•Œ๏ผŒๅ†็ป“ๅˆๆœฌๆ–‡ๆทฑๅ…ฅๅฎž่ทตใ€‚

ๅœจๅฝ“ๅ‰ไผ—ๅคš้กถ็บง็š„ AI AIGC ๅบ”็”จ๏ผˆๅฆ‚ Midjourney ็ฑป็š„็ฌฌไธ‰ๆ–น้›†ๆˆๅบ”็”จใ€Stable Diffusion ๅ•†ไธšๅนณๅฐใ€้•ฟ่ง†้ข‘็”Ÿๆˆ็ญ‰๏ผ‰ไธญ๏ผŒไปปๅŠกๅค„็†ๅพ€ๅพ€้œ€่ฆๆ•ฐๅ็ง’็”š่‡ณๆ•ฐๅˆ†้’Ÿใ€‚ๅœจ้ขๅฏนๆตท้‡ๅนถๅ‘ๅ’Œๅคๆ‚็š„็ฝ‘ๅ…ณ่ดŸ่ฝฝๅ‡่กกๆ—ถ๏ผŒHTTP ่ฝฎ่ฏขๅ› ๅ…ถๆ— ็Šถๆ€ใ€ๆ˜“ๆ‰ฉๅฑ•ใ€ๆ–ญ่ฟžๆขๅคๆˆๆœฌๆžไฝŽ็š„็‰นๆ€ง๏ผŒๆˆไธบไบ†ๆžถๆž„ๅธˆ็ป่ฟ‡ๆทฑๆ€็†Ÿ่™‘ๅŽ็š„้ฆ–้€‰ๆ–นๆกˆใ€‚

็„ถ่€Œ๏ผŒไผ ็ปŸ็š„ๅ›บๅฎš้ข‘็އ่ฝฎ่ฏข๏ผˆๅฆ‚ๆฏ็ง’่ฏทๆฑ‚ไธ€ๆฌก๏ผ‰ๅฏนๆœๅŠกๅ™จๆžไธๅ‹ๅฅฝใ€‚ไธบไบ†ๅ…ผ้กพ็”จๆˆทไฝ“้ชŒไธŽๆœๅŠกๅ™จ็š„็จณๅฎšๆ€ง๏ผŒๆœฌๆ–‡ๅฐ†ๆทฑๅ…ฅๆŽข่ฎจไธค็งๅธธ็”จ็š„ HTTP ่ฝฎ่ฏขไผ˜ๅŒ–็ญ–็•ฅ๏ผš้€€้ฟ่ฝฎ่ฏข๏ผˆBackoff Polling๏ผ‰ ไธŽ ้•ฟ่ฝฎ่ฏข๏ผˆLong Polling๏ผ‰ใ€‚

2. ้€€้ฟ่ฝฎ่ฏข โ€‹

้€€้ฟ่ฝฎ่ฏขๆ˜ฏไธ€็งๅœจ่ฎก็ฎ—ๆœบ็ฝ‘็ปœๅ’Œๅˆ†ๅธƒๅผ็ณป็ปŸไธญๅธธ็”จ็š„็ฝ‘็ปœ่ฏทๆฑ‚ๆˆ–้‡่ฏ•็ญ–็•ฅใ€‚ๅฎƒ็š„ๆ ธๅฟƒๆ€ๆƒณๆ˜ฏ๏ผšๅฝ“ๆœๅŠก็ซฏไปปๅŠกๆœชๅฎŒๆˆๆ—ถ๏ผŒๅฎขๆˆท็ซฏไธ‹ไธ€ๆฌกๆŸฅ่ฏข็š„็ญ‰ๅพ…ๆ—ถ้—ดๅนถ้žๅ›บๅฎš๏ผŒ่€Œๆ˜ฏ้š็€ๆŸฅ่ฏขๆฌกๆ•ฐ็š„ๅขžๅŠ ่€Œ้€’ๅขžใ€‚

2.1 ไธบไป€ไนˆ้œ€่ฆ้€€้ฟ่ฝฎ่ฏข๏ผŸ โ€‹

ๅœจๆœๅŠกๅ™จ่ฟ‡่ฝฝใ€็ฝ‘็ปœๆ•…้šœๆˆ–็”ฑไบŽ็Ÿญๆ—ถ้—ด้ซ˜้ข‘่ฏทๆฑ‚่งฆๅ‘้™ๆต๏ผˆๅฆ‚ HTTP 429 ้”™่ฏฏ๏ผ‰ๆ—ถ๏ผŒๅฆ‚ๆžœๅฎขๆˆท็ซฏไปไปฅๅ›บๅฎš้ซ˜้ข‘้‡่ฏ•๏ผŒไผšๅผ•ๅ‘ไธฅ้‡็š„็พ้šพ๏ผš

  • ๆƒŠ็พคๆ•ˆๅบ”๏ผšๅคง้‡ๅฎขๆˆท็ซฏๅŒๆ—ถ้ซ˜้ข‘้‡่ฏ•๏ผŒๅฏผ่‡ดๆœๅŠกๅ™จๅŽ‹ๅŠ›ๅ€ๅขž๏ผŒ่ฟ›่€Œๅฝปๅบ•ๅดฉๆบƒใ€‚
  • ่ต„ๆบๆตช่ดน๏ผšๆœๅŠก็ซฏๅœจๆ‰ง่กŒ่€—ๆ—ถไปปๅŠก๏ผˆๅฆ‚ AI ๆธฒๆŸ“๏ผ‰ๆ—ถ๏ผŒๅˆๆœŸ็š„้ข‘็นๆŸฅ่ฏขๆณจๅฎšๆ˜ฏๆ— ๆ•ˆ็š„๏ผŒ่ฟ™ไธไป…ๆตช่ดนไบ†ๆœๅŠกๅ™จๅธฆๅฎฝ๏ผŒไนŸๆถˆ่€—ไบ†ๅฎขๆˆท็ซฏ็š„่ฎพๅค‡็”ต้‡ไธŽๆ€ง่ƒฝใ€‚

2.2 ๆ ธๅฟƒๆœบๅˆถไธŽ่ฟ่กŒ่ง„ๅˆ™ โ€‹

้€€้ฟ่ฝฎ่ฏข้€š่ฟ‡ไธๆ–ญๆ‹‰ๅคงไธคๆฌก่ฏทๆฑ‚ไน‹้—ด็š„ๅปถ่ฟŸๆ—ถ้—ด๏ผŒๅทงๅฆ™ๅœฐๅฎž็Žฐไบ†่ฏทๆฑ‚ๅˆ†ๆตใ€‚ๅ…ถๅ…ธๅž‹่ง„ๅˆ™ๅฆ‚ไธ‹๏ผš

  • ๆœๅŠก็ซฏ๏ผšไฟๆŒโ€œๆž่ฝปโ€็š„้€ป่พ‘๏ผŒๆ”ถๅˆฐ่ฏทๆฑ‚ๅŽ็ซ‹ๅˆปๆŸฅ่ฏข็Šถๆ€ๅนถ่ฟ”ๅ›ž๏ผˆๅฎŒๆˆใ€ๅคฑ่ดฅๆˆ–ๅค„็†ไธญ๏ผ‰๏ผŒไธๅšไปปไฝ•้˜ปๅกžใ€‚

  • ๅฎขๆˆท็ซฏ๏ผšๆ”ถๅˆฐโ€œๅค„็†ไธญโ€็Šถๆ€ๆ—ถ๏ผŒๆŒ‰็ญ–็•ฅ่ฟ›ๅ…ฅ็ญ‰ๅพ…ใ€‚ไพ‹ๅฆ‚๏ผš

    • ็ฌฌไธ€ๆฌก็ญ‰ๅพ…๏ผš2 ็ง’

    • ็ฌฌไบŒๆฌก็ญ‰ๅพ…๏ผš5 ็ง’

    • ็ฌฌไธ‰ๆฌก็ญ‰ๅพ…๏ผš10 ็ง’

    • ็ฌฌ N ๆฌก็ญ‰ๅพ…๏ผšๆœ€ๅคงไธŠ้™๏ผˆๅฆ‚ 15 ็ง’๏ผŒ้ฟๅ…็ญ‰ๅพ…่ฟ‡ไน…ๅฏผ่‡ดไฝ“้ชŒๆ–ญๅฑ‚๏ผ‰

่ฎพ็ฝฎๆœ€ๅคงๅ€ผๆ˜ฏไธบไบ†้ฟๅ…็ญ‰ๅพ…ๆ—ถ้—ดๅ˜ๅพ—ไธๅฏๆŽฅๅ—๏ผˆๅฆ‚ๅ‡ ไธชๅฐๆ—ถ๏ผ‰๏ผŒ้€šๅธธไผš่ฎพ็ฝฎไธ€ไธชๆœ€ๅคง็ญ‰ๅพ…ๆ—ถ้—ด๏ผˆMax Delay๏ผ‰ๅ’Œๆœ€ๅคง้‡่ฏ•ๆฌกๆ•ฐใ€‚

2.3 ๅฎขๆˆท็ซฏๅฎž็Žฐ็คบไพ‹ โ€‹

ๅœจๅฎขๆˆท็ซฏไธญ๏ผŒๆˆ‘ไปฌๅฏไปฅ้€š่ฟ‡็ฎ€ๅ•็š„ while ๅพช็Žฏๅ’Œ setTimeout ๆŒ‚่ตทๆœบๅˆถๆฅๅฎž็Žฐ๏ผš

typescript

 interface TaskResponse {
   status: 'processing' | 'completed' | 'failed';
   result?: string;
diff --git "a/assets/01.\345\205\250\346\240\210_60.\347\275\221\347\273\234\344\270\216\351\200\232\344\277\241_03.\351\200\200\351\201\277\350\275\256\350\257\242\344\270\216\351\225\277\350\275\256\350\257\242\347\232\204\345\216\237\347\220\206\343\200\201\345\256\236\346\210\230\344\270\216\351\200\211\345\236\213\345\206\263\347\255\226.md.J0ycjaFX.lean.js" "b/assets/01.\345\205\250\346\240\210_60.\347\275\221\347\273\234\344\270\216\351\200\232\344\277\241_03.\351\200\200\351\201\277\350\275\256\350\257\242\344\270\216\351\225\277\350\275\256\350\257\242\347\232\204\345\216\237\347\220\206\343\200\201\345\256\236\346\210\230\344\270\216\351\200\211\345\236\213\345\206\263\347\255\226.md.C2A_-RUG.lean.js"
similarity index 95%
rename from "assets/01.\345\205\250\346\240\210_60.\347\275\221\347\273\234\344\270\216\351\200\232\344\277\241_03.\351\200\200\351\201\277\350\275\256\350\257\242\344\270\216\351\225\277\350\275\256\350\257\242\347\232\204\345\216\237\347\220\206\343\200\201\345\256\236\346\210\230\344\270\216\351\200\211\345\236\213\345\206\263\347\255\226.md.J0ycjaFX.lean.js"
rename to "assets/01.\345\205\250\346\240\210_60.\347\275\221\347\273\234\344\270\216\351\200\232\344\277\241_03.\351\200\200\351\201\277\350\275\256\350\257\242\344\270\216\351\225\277\350\275\256\350\257\242\347\232\204\345\216\237\347\220\206\343\200\201\345\256\236\346\210\230\344\270\216\351\200\211\345\236\213\345\206\263\347\255\226.md.C2A_-RUG.lean.js"
index 3205fcf5..022901e4 100644
--- "a/assets/01.\345\205\250\346\240\210_60.\347\275\221\347\273\234\344\270\216\351\200\232\344\277\241_03.\351\200\200\351\201\277\350\275\256\350\257\242\344\270\216\351\225\277\350\275\256\350\257\242\347\232\204\345\216\237\347\220\206\343\200\201\345\256\236\346\210\230\344\270\216\351\200\211\345\236\213\345\206\263\347\255\226.md.J0ycjaFX.lean.js"
+++ "b/assets/01.\345\205\250\346\240\210_60.\347\275\221\347\273\234\344\270\216\351\200\232\344\277\241_03.\351\200\200\351\201\277\350\275\256\350\257\242\344\270\216\351\225\277\350\275\256\350\257\242\347\232\204\345\216\237\347\220\206\343\200\201\345\256\236\346\210\230\344\270\216\351\200\211\345\236\213\345\206\263\347\255\226.md.C2A_-RUG.lean.js"
@@ -1 +1 @@
-import{_ as i,g as a,h as n,U as l}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const g=JSON.parse('{"title":"HTTP ่ฝฎ่ฏขไผ˜ๅŒ–ๆŒ‡ๅ—๏ผš้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–","description":"ๆทฑๅ…ฅๅ‰–ๆž้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๆ ธๅฟƒๆœบๅˆถ๏ผŒๆไพ› TypeScript/NestJS ๅฎžๆˆ˜ไปฃ็ ๏ผŒๅนถๆž„ๅปบๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–ๆ ‘ไธŽ้€‚็”จๅœบๆ™ฏ้€ŸๆŸฅใ€‚","frontmatter":{"date":"2026-02-25T22:10:48.000Z","title":"HTTP ่ฝฎ่ฏขไผ˜ๅŒ–ๆŒ‡ๅ—๏ผš้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–","tldr":"่ฏฆ่งฃ้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅฎž็ŽฐๅŽŸ็†๏ผŒๆไพ› HTTP ่ฝฎ่ฏขไผ˜ๅŒ–็ญ–็•ฅไธŽ้€‰ๅž‹ๅ†ณ็ญ–ๆ ‘ใ€‚","description":"ๆทฑๅ…ฅๅ‰–ๆž้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๆ ธๅฟƒๆœบๅˆถ๏ผŒๆไพ› TypeScript/NestJS ๅฎžๆˆ˜ไปฃ็ ๏ผŒๅนถๆž„ๅปบๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–ๆ ‘ไธŽ้€‚็”จๅœบๆ™ฏ้€ŸๆŸฅใ€‚","tags":["HTTP ่ฝฎ่ฏข","้€€้ฟ่ฝฎ่ฏข","้•ฟ่ฝฎ่ฏข"],"categories":["ๅ…จๆ ˆ","็ฝ‘็ปœไธŽ้€šไฟก"],"permalink":"/fullstack/networking-polling-optimization"},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–.md","filePath":"01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–.md"}'),p={name:"01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–.md"};function h(k,s,t,e,r,E){return n(),a("div",null,[...s[0]||(s[0]=[l("",52)])])}const y=i(p,[["render",h]]);export{g as __pageData,y as default};
+import{_ as i,g as a,h as n,U as l}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const g=JSON.parse('{"title":"HTTP ่ฝฎ่ฏขไผ˜ๅŒ–ๆŒ‡ๅ—๏ผš้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–","description":"ๆทฑๅ…ฅๅ‰–ๆž้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๆ ธๅฟƒๆœบๅˆถ๏ผŒๆไพ› TypeScript/NestJS ๅฎžๆˆ˜ไปฃ็ ๏ผŒๅนถๆž„ๅปบๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–ๆ ‘ไธŽ้€‚็”จๅœบๆ™ฏ้€ŸๆŸฅใ€‚","frontmatter":{"date":"2026-02-25T22:10:48.000Z","title":"HTTP ่ฝฎ่ฏขไผ˜ๅŒ–ๆŒ‡ๅ—๏ผš้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–","tldr":"่ฏฆ่งฃ้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅฎž็ŽฐๅŽŸ็†๏ผŒๆไพ› HTTP ่ฝฎ่ฏขไผ˜ๅŒ–็ญ–็•ฅไธŽ้€‰ๅž‹ๅ†ณ็ญ–ๆ ‘ใ€‚","description":"ๆทฑๅ…ฅๅ‰–ๆž้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๆ ธๅฟƒๆœบๅˆถ๏ผŒๆไพ› TypeScript/NestJS ๅฎžๆˆ˜ไปฃ็ ๏ผŒๅนถๆž„ๅปบๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–ๆ ‘ไธŽ้€‚็”จๅœบๆ™ฏ้€ŸๆŸฅใ€‚","tags":["HTTP ่ฝฎ่ฏข","้€€้ฟ่ฝฎ่ฏข","้•ฟ่ฝฎ่ฏข"],"categories":["ๅ…จๆ ˆ","็ฝ‘็ปœไธŽ้€šไฟก"],"permalink":"/fullstack/networking-polling-optimization"},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–.md","filePath":"01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–.md"}'),p={name:"01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–.md"};function h(k,s,t,e,r,E){return n(),a("div",null,[...s[0]||(s[0]=[l("",52)])])}const y=i(p,[["render",h]]);export{g as __pageData,y as default};
diff --git "a/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_00.\345\245\245\345\215\241\345\247\206\345\211\203\345\210\200\345\216\237\345\210\231\357\274\232\344\273\216\347\220\206\350\256\272\345\210\260\347\274\226\347\250\213\350\256\276\350\256\241\347\232\204\345\256\236\350\267\265\346\214\207\345\215\227.md.DMY_isjL.js" "b/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_00.\345\245\245\345\215\241\345\247\206\345\211\203\345\210\200\345\216\237\345\210\231\357\274\232\344\273\216\347\220\206\350\256\272\345\210\260\347\274\226\347\250\213\350\256\276\350\256\241\347\232\204\345\256\236\350\267\265\346\214\207\345\215\227.md.B1vmVkqI.js"
similarity index 99%
rename from "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_00.\345\245\245\345\215\241\345\247\206\345\211\203\345\210\200\345\216\237\345\210\231\357\274\232\344\273\216\347\220\206\350\256\272\345\210\260\347\274\226\347\250\213\350\256\276\350\256\241\347\232\204\345\256\236\350\267\265\346\214\207\345\215\227.md.DMY_isjL.js"
rename to "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_00.\345\245\245\345\215\241\345\247\206\345\211\203\345\210\200\345\216\237\345\210\231\357\274\232\344\273\216\347\220\206\350\256\272\345\210\260\347\274\226\347\250\213\350\256\276\350\256\241\347\232\204\345\256\236\350\267\265\346\214\207\345\215\227.md.B1vmVkqI.js"
index 97bd3eec..d5fce9da 100644
--- "a/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_00.\345\245\245\345\215\241\345\247\206\345\211\203\345\210\200\345\216\237\345\210\231\357\274\232\344\273\216\347\220\206\350\256\272\345\210\260\347\274\226\347\250\213\350\256\276\350\256\241\347\232\204\345\256\236\350\267\265\346\214\207\345\215\227.md.DMY_isjL.js"
+++ "b/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_00.\345\245\245\345\215\241\345\247\206\345\211\203\345\210\200\345\216\237\345\210\231\357\274\232\344\273\216\347\220\206\350\256\272\345\210\260\347\274\226\347\250\213\350\256\276\350\256\241\347\232\204\345\256\236\350\267\265\346\214\207\345\215\227.md.B1vmVkqI.js"
@@ -1,4 +1,4 @@
-import{H as n}from"./chunks/HighLightText.gRdAAF3C.js";import{g as t,h as l,U as a,i as s,z as e,s as h,S as p}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const k={tabindex:"0"},E=JSON.parse('{"title":"ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—","description":"ๆทฑๅ…ฅ่งฃๆžๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™ๅœจ็ผ–็จ‹ไธŽ่ฎพ่ฎกไธญ็š„ๅ…ญๅคงๅœบๆ™ฏ๏ผšๆ‹’็ป่ฟ‡ๅบฆ้ข„ๅˆคใ€็งป้™คๅ†—ไฝ™้€ป่พ‘ใ€ๅŒน้…ๆžถๆž„่ง„ๆจกใ€ๅ…‹ๅˆถไพ่ต–ๅผ•ๅ…ฅใ€ๅฐ่ฃ…ๆœ€ๅฐๆŽฅๅฃใ€ๅ…ˆๆŽ’ๆŸฅ็ฎ€ๅ•ๅŽŸๅ› ๏ผŒๅนถ็ป™ๅ‡บไธ‰ไธชๅ…ณ้”ฎ่พน็•Œใ€‚","frontmatter":{"date":"2024-03-20T22:41:41.000Z","title":"ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—","tldr":"ๅœจ้œ€ๆฑ‚่พน็•Œๅ†…่ฟฝๆฑ‚ๆœ€ๅฐๅคๆ‚ๅบฆโ€”โ€”ไธๆ˜ฏๆ‹’็ปๅคๆ‚๏ผŒ่€Œๆ˜ฏไธไธปๅŠจๅˆถ้€ ๅคๆ‚ใ€‚","description":"ๆทฑๅ…ฅ่งฃๆžๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™ๅœจ็ผ–็จ‹ไธŽ่ฎพ่ฎกไธญ็š„ๅ…ญๅคงๅœบๆ™ฏ๏ผšๆ‹’็ป่ฟ‡ๅบฆ้ข„ๅˆคใ€็งป้™คๅ†—ไฝ™้€ป่พ‘ใ€ๅŒน้…ๆžถๆž„่ง„ๆจกใ€ๅ…‹ๅˆถไพ่ต–ๅผ•ๅ…ฅใ€ๅฐ่ฃ…ๆœ€ๅฐๆŽฅๅฃใ€ๅ…ˆๆŽ’ๆŸฅ็ฎ€ๅ•ๅŽŸๅ› ๏ผŒๅนถ็ป™ๅ‡บไธ‰ไธชๅ…ณ้”ฎ่พน็•Œใ€‚","permalink":"/fullstack/occams-razor-software-design","tags":["concept","engineering-fundamentals","code-design","software-engineering"],"categories":["ๅ…จๆ ˆ","ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—.md","filePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—.md"}'),r={name:"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—.md"},c=Object.assign(r,{setup(d){return(o,i)=>(l(),t("div",null,[i[5]||(i[5]=a('

ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ— โ€‹

ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™็”ฑ 14 ไธ–็บช้€ป่พ‘ๅญฆๅฎถๅจๅป‰ยทๅฅฅๅกๅง†ๆๅ‡บ๏ผŒๅ…ถๆ ธๅฟƒไธบ"ๅฆ‚ๆ— ๅฟ…่ฆ๏ผŒๅ‹ฟๅขžๅฎžไฝ“"โ€”โ€”ๅœจๅคšไธชๅŒ็ญ‰ๆœ‰ๆ•ˆ็š„ๆ–นๆกˆไธญ๏ผŒ้€‰ๆ‹ฉๅ‡่ฎพๆœ€ๅฐ‘ใ€ๆœ€็ฎ€ๆด็š„้‚ฃไธชใ€‚่ฏฅๅŽŸๅˆ™ๅนถ้žๅฆๅฎšๅคๆ‚ๆ€ง๏ผŒ่€Œๆ˜ฏ้ฟๅ…ๆ— ๆ„ไน‰็š„่ฟ‡ๅบฆ่ฎพ่ฎกใ€‚ๆ–‡็ซ ไปŽ็ผ–็จ‹ไธŽ่ฎพ่ฎกๅฎž่ทตๅ‡บๅ‘๏ผŒไพๆฌกๆŽข่ฎจไบ†้œ€ๆฑ‚ๅฎž็Žฐใ€ไปฃ็ ๅฎž็Žฐใ€ๆžถๆž„่ฎพ่ฎกใ€ไพ่ต–็ฎก็†ใ€ๆŽฅๅฃ่ฎพ่ฎกใ€่ฐƒ่ฏ•ไผ˜ๅŒ–ๅ…ญๅคงๅœบๆ™ฏ็š„ๅไพ‹ไธŽๆญฃไพ‹๏ผŒๅนถๆ˜Ž็กฎๆŒ‡ๅ‡บไธ‰ไธชๅ…ณ้”ฎ่พน็•Œ๏ผšไธๅฏ็‰บ็‰ฒๅฏ็ปดๆŠคๆ€งใ€ๅฏๆ‰ฉๅฑ•ๆ€งใ€ๅฎ‰ๅ…จๆ€งๆขๅ–็ฎ€ๆดใ€‚

1. ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™็š„ๆ ธๅฟƒๅ†…ๆถต โ€‹

"ๅฅฅๅกๅง†ๅ‰ƒๅˆ€" ๆ˜ฏๅ“ฒๅญฆไธŽ็ง‘ๅญฆ็ ”็ฉถไธญ็ปๅ…ธ็š„ๆ€็ปดๅทฅๅ…ท๏ผŒๅ…ถๆ ธๅฟƒๆ€ๆƒณๅฏๆฆ‚ๆ‹ฌไธบ"ๅฆ‚ๆ— ๅฟ…่ฆ๏ผŒๅ‹ฟๅขžๅฎžไฝ“"ใ€‚่ฟ™ไธ€ๅŽŸๅˆ™็”ฑ 14 ไธ–็บช้€ป่พ‘ๅญฆๅฎถใ€ๅœฃๆ–นๆตŽๅ„ไผšไฟฎๅฃซๅจๅป‰ยทๅฅฅๅกๅง†๏ผˆWilliam of Ockham๏ผ‰ๆๅ‡บ๏ผŒๆœฌ่ดจๆ˜ฏๅœจๅคšไธช่ƒฝๅŒ็ญ‰่งฃ้‡Š็Žฐ่ฑก็š„็†่ฎบไธญ๏ผŒ้€‰ๆ‹ฉๅ‡่ฎพๆœ€ๅฐ‘ใ€ๆœ€็ฎ€ๆด็š„้‚ฃไธชโ€”โ€”ๅนถ้žๅฆๅฎšๅคๆ‚็š„ๅฏ่ƒฝๆ€ง๏ผŒ่€Œๆ˜ฏไผ˜ๅ…ˆ็”จ็ฎ€ๅ•ๆ–นๆกˆ่งฃๅ†ณ้—ฎ้ข˜๏ผŒ้ฟๅ…ๆ— ๆ„ไน‰็š„"่ฟ‡ๅบฆ่ฎพ่ฎก"ใ€‚

่ฆๆญฃ็กฎๅบ”็”จๅฅฅๅกๅง†ๅ‰ƒๅˆ€๏ผŒ้œ€ๅ…ˆ็†่งฃๅ…ถไธ‰ไธชๅ…ณ้”ฎๅ‰ๆ๏ผš

',6)),s("table",k,[i[4]||(i[4]=s("thead",null,[s("tr",null,[s("th",null,"ๅ…ณ้”ฎๅ‰ๆ"),s("th",null,"่ฏดๆ˜Ž")])],-1)),s("tbody",null,[i[2]||(i[2]=s("tr",null,[s("td",null,[s("strong",null,'"ๅŒ็ญ‰ๆœ‰ๆ•ˆ"ๆ˜ฏๅ‰ๆ')]),s("td",null,'ไป…ๅฝ“ๅคšไธชๆ–นๆกˆ่ƒฝๅฎž็Žฐ็›ธๅŒ็š„ๅŠŸ่ƒฝใ€ๆปก่ถณ็›ธๅŒ็š„้œ€ๆฑ‚ๆ—ถ๏ผŒๆ‰็”จ"็ฎ€ๆดๆ€ง"ไฝœไธบ็ญ›้€‰ๆ ‡ๅ‡†๏ผ›่‹ฅ็ฎ€ๅ•ๆ–นๆกˆๆ— ๆณ•่ฆ†็›–้œ€ๆฑ‚๏ผˆๅฆ‚ๅฎ‰ๅ…จๆ€งใ€ๅฏๆ‰ฉๅฑ•ๆ€ง๏ผ‰๏ผŒๅˆ™ๅฟ…้กปๅผ•ๅ…ฅๅคๆ‚่ฎพ่ฎก๏ผŒไธๅฏไธบไบ†"็ฎ€"่€Œ"็ฎ€"ใ€‚')],-1)),i[3]||(i[3]=s("tr",null,[s("td",null,[s("strong",null,'"ๅฎžไฝ“"ๆŒ‡"ไธๅฟ…่ฆ็š„ๅ‡่ฎพ/็ป„ไปถ"')]),s("td",null,'ไพ‹ๅฆ‚่งฃ้‡Š"ๆ‰‹ๆœบๆฒก็”ต"๏ผŒ"็”ตๆฑ ่€—ๅฐฝ"ๆฏ”"็”ตๆฑ ๆ•…้šœ+็ณป็ปŸไผ‘็œ +ๅ……็”ตๅ™จๆŽฅ่งฆไธ่‰ฏ"ๆ›ด็ฎ€ๆด๏ผŒๅŽ่€…ๅคšไบ†ไธคไธชๆ— ่ฏๆฎ็š„"ๅฎžไฝ“"๏ผŒๅบ”ไผ˜ๅ…ˆๆŽ’้™คใ€‚')],-1)),s("tr",null,[s("td",null,[e(n,{type:"note",bold:""},{default:h(()=>[...i[0]||(i[0]=[p('"็ฎ€ๆด"โ‰ "็ฎ€้™‹"',-1)])]),_:1})]),i[1]||(i[1]=s("td",null,'็ฎ€ๆดๆ˜ฏ"ๅŽป้™คๅ†—ไฝ™"๏ผŒ่€Œ้ž"็œ็•ฅๅฟ…่ฆ็Žฏ่Š‚"ใ€‚ๆฏ”ๅฆ‚่ฎพ่ฎก็™ปๅฝ•ๅŠŸ่ƒฝ๏ผŒ"่ดฆๅท+ๅฏ†็ "ๆ˜ฏ็ฎ€ๆด๏ผŒ"ไป…้ ๆ‰‹ๆœบๅท๏ผˆๆ— ้ชŒ่ฏ๏ผ‰"ๆ˜ฏ็ฎ€้™‹๏ผŒๅŽ่€…็‰บ็‰ฒไบ†ๅฎ‰ๅ…จๆ€ง๏ผŒไธ็ฌฆๅˆๅŽŸๅˆ™ใ€‚',-1))])])]),i[6]||(i[6]=a(`

2. ็ผ–็จ‹ไธŽ่ฎพ่ฎกไธญๅบ”็”จๅฅฅๅกๅง†ๅ‰ƒๅˆ€็š„ๆ ธๅฟƒๅœบๆ™ฏ โ€‹

ๅœจ็ผ–็จ‹๏ผˆไปฃ็ ๅฎž็Žฐ๏ผ‰ๅ’Œ่ฎพ่ฎก๏ผˆๆžถๆž„ใ€ๆŽฅๅฃใ€ๆจกๅ—๏ผ‰ไธญ๏ผŒ"ๅฅฅๅกๅง†ๅ‰ƒๅˆ€"็š„ๆœฌ่ดจๆ˜ฏๅ‡ๅฐ‘"ๆ— ไปทๅ€ผ็š„ๅคๆ‚ๆ€ง"โ€”โ€”ๅŒ…ๆ‹ฌๅ†—ไฝ™ไปฃ็ ใ€่ฟ‡ๅบฆๆŠฝ่ฑกใ€ๅคšไฝ™ไพ่ต–ใ€ๆœชไฝฟ็”จ็š„ๅŠŸ่ƒฝ็ญ‰ใ€‚ไปฅไธ‹ไปŽๅ…ญไธชๆ ธๅฟƒๅœบๆ™ฏๅฑ•ๅผ€๏ผŒ็ป“ๅˆ"ๅไพ‹"ไธŽ"ๆญฃไพ‹"่ฏดๆ˜Žๅฎž่ทตๆ–นๆณ•๏ผš

2.1 ๅœบๆ™ฏ1๏ผš้œ€ๆฑ‚ๅฎž็Žฐ๏ผŒๆ‹’็ป"ๆๅ‰่ฎพ่ฎกๆœชๆฅๅŠŸ่ƒฝ" โ€‹

ๅผ€ๅ‘ไธญๆœ€ๅธธ่ง็š„่ฏฏๅŒบๆ˜ฏ"่ฟ‡ๅบฆ้ข„ๅˆค้œ€ๆฑ‚"๏ผšไธบไบ†"ๅฏ่ƒฝ็”จๅพ—ไธŠ"็š„ๅŠŸ่ƒฝ๏ผŒๆๅ‰ๅŠ ๅ…ฅๅคๆ‚้€ป่พ‘๏ผŒๅฏผ่‡ดไปฃ็ ่‡ƒ่‚ฟใ€็ปดๆŠคๆˆๆœฌๅ‡้ซ˜ใ€‚ๅฅฅๅกๅง†ๅ‰ƒๅˆ€็š„่ฆๆฑ‚ๆ˜ฏ๏ผšๅชๅฎž็Žฐ"ๅฝ“ๅ‰ๆ˜Ž็กฎ้œ€่ฆ"็š„ๅŠŸ่ƒฝ๏ผŒๆœชๆฅ้œ€ๆฑ‚็•™ๅพ…ๆœชๆฅ่ฟญไปฃใ€‚

ๅไพ‹๏ผˆ่ฟ‡ๅบฆ่ฎพ่ฎก๏ผ‰ โ€‹

ๅผ€ๅ‘ไธ€ไธช"็”จๆˆทไธชไบบ่ต„ๆ–™้กต"ๆ—ถ๏ผŒ้œ€ๆฑ‚ไป…่ฆๆฑ‚"ๅฑ•็คบๅง“ๅใ€ๆ‰‹ๆœบๅทใ€้‚ฎ็ฎฑ"๏ผŒไฝ†ๅผ€ๅ‘่€…้ข„ๅˆค"ๆœชๆฅๅฏ่ƒฝ่ฆๅŠ ๅœฐๅ€ใ€็”Ÿๆ—ฅใ€็คพไบค่ดฆๅท"๏ผŒไบŽๆ˜ฏ๏ผš

java
// ๆๅ‰ๅฎšไน‰ไบ†ๅคง้‡ๆœชไฝฟ็”จ็š„ๅญ—ๆฎตๅ’Œๆ–นๆณ•
+import{H as n}from"./chunks/HighLightText.BFsbuOsY.js";import{g as t,h as l,U as a,i as s,z as e,s as h,S as p}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const k={tabindex:"0"},E=JSON.parse('{"title":"ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—","description":"ๆทฑๅ…ฅ่งฃๆžๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™ๅœจ็ผ–็จ‹ไธŽ่ฎพ่ฎกไธญ็š„ๅ…ญๅคงๅœบๆ™ฏ๏ผšๆ‹’็ป่ฟ‡ๅบฆ้ข„ๅˆคใ€็งป้™คๅ†—ไฝ™้€ป่พ‘ใ€ๅŒน้…ๆžถๆž„่ง„ๆจกใ€ๅ…‹ๅˆถไพ่ต–ๅผ•ๅ…ฅใ€ๅฐ่ฃ…ๆœ€ๅฐๆŽฅๅฃใ€ๅ…ˆๆŽ’ๆŸฅ็ฎ€ๅ•ๅŽŸๅ› ๏ผŒๅนถ็ป™ๅ‡บไธ‰ไธชๅ…ณ้”ฎ่พน็•Œใ€‚","frontmatter":{"date":"2024-03-20T22:41:41.000Z","title":"ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—","tldr":"ๅœจ้œ€ๆฑ‚่พน็•Œๅ†…่ฟฝๆฑ‚ๆœ€ๅฐๅคๆ‚ๅบฆโ€”โ€”ไธๆ˜ฏๆ‹’็ปๅคๆ‚๏ผŒ่€Œๆ˜ฏไธไธปๅŠจๅˆถ้€ ๅคๆ‚ใ€‚","description":"ๆทฑๅ…ฅ่งฃๆžๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™ๅœจ็ผ–็จ‹ไธŽ่ฎพ่ฎกไธญ็š„ๅ…ญๅคงๅœบๆ™ฏ๏ผšๆ‹’็ป่ฟ‡ๅบฆ้ข„ๅˆคใ€็งป้™คๅ†—ไฝ™้€ป่พ‘ใ€ๅŒน้…ๆžถๆž„่ง„ๆจกใ€ๅ…‹ๅˆถไพ่ต–ๅผ•ๅ…ฅใ€ๅฐ่ฃ…ๆœ€ๅฐๆŽฅๅฃใ€ๅ…ˆๆŽ’ๆŸฅ็ฎ€ๅ•ๅŽŸๅ› ๏ผŒๅนถ็ป™ๅ‡บไธ‰ไธชๅ…ณ้”ฎ่พน็•Œใ€‚","permalink":"/fullstack/occams-razor-software-design","tags":["concept","engineering-fundamentals","code-design","software-engineering"],"categories":["ๅ…จๆ ˆ","ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—.md","filePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—.md"}'),r={name:"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—.md"},c=Object.assign(r,{setup(d){return(o,i)=>(l(),t("div",null,[i[5]||(i[5]=a('

ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ— โ€‹

ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™็”ฑ 14 ไธ–็บช้€ป่พ‘ๅญฆๅฎถๅจๅป‰ยทๅฅฅๅกๅง†ๆๅ‡บ๏ผŒๅ…ถๆ ธๅฟƒไธบ"ๅฆ‚ๆ— ๅฟ…่ฆ๏ผŒๅ‹ฟๅขžๅฎžไฝ“"โ€”โ€”ๅœจๅคšไธชๅŒ็ญ‰ๆœ‰ๆ•ˆ็š„ๆ–นๆกˆไธญ๏ผŒ้€‰ๆ‹ฉๅ‡่ฎพๆœ€ๅฐ‘ใ€ๆœ€็ฎ€ๆด็š„้‚ฃไธชใ€‚่ฏฅๅŽŸๅˆ™ๅนถ้žๅฆๅฎšๅคๆ‚ๆ€ง๏ผŒ่€Œๆ˜ฏ้ฟๅ…ๆ— ๆ„ไน‰็š„่ฟ‡ๅบฆ่ฎพ่ฎกใ€‚ๆ–‡็ซ ไปŽ็ผ–็จ‹ไธŽ่ฎพ่ฎกๅฎž่ทตๅ‡บๅ‘๏ผŒไพๆฌกๆŽข่ฎจไบ†้œ€ๆฑ‚ๅฎž็Žฐใ€ไปฃ็ ๅฎž็Žฐใ€ๆžถๆž„่ฎพ่ฎกใ€ไพ่ต–็ฎก็†ใ€ๆŽฅๅฃ่ฎพ่ฎกใ€่ฐƒ่ฏ•ไผ˜ๅŒ–ๅ…ญๅคงๅœบๆ™ฏ็š„ๅไพ‹ไธŽๆญฃไพ‹๏ผŒๅนถๆ˜Ž็กฎๆŒ‡ๅ‡บไธ‰ไธชๅ…ณ้”ฎ่พน็•Œ๏ผšไธๅฏ็‰บ็‰ฒๅฏ็ปดๆŠคๆ€งใ€ๅฏๆ‰ฉๅฑ•ๆ€งใ€ๅฎ‰ๅ…จๆ€งๆขๅ–็ฎ€ๆดใ€‚

1. ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™็š„ๆ ธๅฟƒๅ†…ๆถต โ€‹

"ๅฅฅๅกๅง†ๅ‰ƒๅˆ€" ๆ˜ฏๅ“ฒๅญฆไธŽ็ง‘ๅญฆ็ ”็ฉถไธญ็ปๅ…ธ็š„ๆ€็ปดๅทฅๅ…ท๏ผŒๅ…ถๆ ธๅฟƒๆ€ๆƒณๅฏๆฆ‚ๆ‹ฌไธบ"ๅฆ‚ๆ— ๅฟ…่ฆ๏ผŒๅ‹ฟๅขžๅฎžไฝ“"ใ€‚่ฟ™ไธ€ๅŽŸๅˆ™็”ฑ 14 ไธ–็บช้€ป่พ‘ๅญฆๅฎถใ€ๅœฃๆ–นๆตŽๅ„ไผšไฟฎๅฃซๅจๅป‰ยทๅฅฅๅกๅง†๏ผˆWilliam of Ockham๏ผ‰ๆๅ‡บ๏ผŒๆœฌ่ดจๆ˜ฏๅœจๅคšไธช่ƒฝๅŒ็ญ‰่งฃ้‡Š็Žฐ่ฑก็š„็†่ฎบไธญ๏ผŒ้€‰ๆ‹ฉๅ‡่ฎพๆœ€ๅฐ‘ใ€ๆœ€็ฎ€ๆด็š„้‚ฃไธชโ€”โ€”ๅนถ้žๅฆๅฎšๅคๆ‚็š„ๅฏ่ƒฝๆ€ง๏ผŒ่€Œๆ˜ฏไผ˜ๅ…ˆ็”จ็ฎ€ๅ•ๆ–นๆกˆ่งฃๅ†ณ้—ฎ้ข˜๏ผŒ้ฟๅ…ๆ— ๆ„ไน‰็š„"่ฟ‡ๅบฆ่ฎพ่ฎก"ใ€‚

่ฆๆญฃ็กฎๅบ”็”จๅฅฅๅกๅง†ๅ‰ƒๅˆ€๏ผŒ้œ€ๅ…ˆ็†่งฃๅ…ถไธ‰ไธชๅ…ณ้”ฎๅ‰ๆ๏ผš

',6)),s("table",k,[i[4]||(i[4]=s("thead",null,[s("tr",null,[s("th",null,"ๅ…ณ้”ฎๅ‰ๆ"),s("th",null,"่ฏดๆ˜Ž")])],-1)),s("tbody",null,[i[2]||(i[2]=s("tr",null,[s("td",null,[s("strong",null,'"ๅŒ็ญ‰ๆœ‰ๆ•ˆ"ๆ˜ฏๅ‰ๆ')]),s("td",null,'ไป…ๅฝ“ๅคšไธชๆ–นๆกˆ่ƒฝๅฎž็Žฐ็›ธๅŒ็š„ๅŠŸ่ƒฝใ€ๆปก่ถณ็›ธๅŒ็š„้œ€ๆฑ‚ๆ—ถ๏ผŒๆ‰็”จ"็ฎ€ๆดๆ€ง"ไฝœไธบ็ญ›้€‰ๆ ‡ๅ‡†๏ผ›่‹ฅ็ฎ€ๅ•ๆ–นๆกˆๆ— ๆณ•่ฆ†็›–้œ€ๆฑ‚๏ผˆๅฆ‚ๅฎ‰ๅ…จๆ€งใ€ๅฏๆ‰ฉๅฑ•ๆ€ง๏ผ‰๏ผŒๅˆ™ๅฟ…้กปๅผ•ๅ…ฅๅคๆ‚่ฎพ่ฎก๏ผŒไธๅฏไธบไบ†"็ฎ€"่€Œ"็ฎ€"ใ€‚')],-1)),i[3]||(i[3]=s("tr",null,[s("td",null,[s("strong",null,'"ๅฎžไฝ“"ๆŒ‡"ไธๅฟ…่ฆ็š„ๅ‡่ฎพ/็ป„ไปถ"')]),s("td",null,'ไพ‹ๅฆ‚่งฃ้‡Š"ๆ‰‹ๆœบๆฒก็”ต"๏ผŒ"็”ตๆฑ ่€—ๅฐฝ"ๆฏ”"็”ตๆฑ ๆ•…้šœ+็ณป็ปŸไผ‘็œ +ๅ……็”ตๅ™จๆŽฅ่งฆไธ่‰ฏ"ๆ›ด็ฎ€ๆด๏ผŒๅŽ่€…ๅคšไบ†ไธคไธชๆ— ่ฏๆฎ็š„"ๅฎžไฝ“"๏ผŒๅบ”ไผ˜ๅ…ˆๆŽ’้™คใ€‚')],-1)),s("tr",null,[s("td",null,[e(n,{type:"note",bold:""},{default:h(()=>[...i[0]||(i[0]=[p('"็ฎ€ๆด"โ‰ "็ฎ€้™‹"',-1)])]),_:1})]),i[1]||(i[1]=s("td",null,'็ฎ€ๆดๆ˜ฏ"ๅŽป้™คๅ†—ไฝ™"๏ผŒ่€Œ้ž"็œ็•ฅๅฟ…่ฆ็Žฏ่Š‚"ใ€‚ๆฏ”ๅฆ‚่ฎพ่ฎก็™ปๅฝ•ๅŠŸ่ƒฝ๏ผŒ"่ดฆๅท+ๅฏ†็ "ๆ˜ฏ็ฎ€ๆด๏ผŒ"ไป…้ ๆ‰‹ๆœบๅท๏ผˆๆ— ้ชŒ่ฏ๏ผ‰"ๆ˜ฏ็ฎ€้™‹๏ผŒๅŽ่€…็‰บ็‰ฒไบ†ๅฎ‰ๅ…จๆ€ง๏ผŒไธ็ฌฆๅˆๅŽŸๅˆ™ใ€‚',-1))])])]),i[6]||(i[6]=a(`

2. ็ผ–็จ‹ไธŽ่ฎพ่ฎกไธญๅบ”็”จๅฅฅๅกๅง†ๅ‰ƒๅˆ€็š„ๆ ธๅฟƒๅœบๆ™ฏ โ€‹

ๅœจ็ผ–็จ‹๏ผˆไปฃ็ ๅฎž็Žฐ๏ผ‰ๅ’Œ่ฎพ่ฎก๏ผˆๆžถๆž„ใ€ๆŽฅๅฃใ€ๆจกๅ—๏ผ‰ไธญ๏ผŒ"ๅฅฅๅกๅง†ๅ‰ƒๅˆ€"็š„ๆœฌ่ดจๆ˜ฏๅ‡ๅฐ‘"ๆ— ไปทๅ€ผ็š„ๅคๆ‚ๆ€ง"โ€”โ€”ๅŒ…ๆ‹ฌๅ†—ไฝ™ไปฃ็ ใ€่ฟ‡ๅบฆๆŠฝ่ฑกใ€ๅคšไฝ™ไพ่ต–ใ€ๆœชไฝฟ็”จ็š„ๅŠŸ่ƒฝ็ญ‰ใ€‚ไปฅไธ‹ไปŽๅ…ญไธชๆ ธๅฟƒๅœบๆ™ฏๅฑ•ๅผ€๏ผŒ็ป“ๅˆ"ๅไพ‹"ไธŽ"ๆญฃไพ‹"่ฏดๆ˜Žๅฎž่ทตๆ–นๆณ•๏ผš

2.1 ๅœบๆ™ฏ1๏ผš้œ€ๆฑ‚ๅฎž็Žฐ๏ผŒๆ‹’็ป"ๆๅ‰่ฎพ่ฎกๆœชๆฅๅŠŸ่ƒฝ" โ€‹

ๅผ€ๅ‘ไธญๆœ€ๅธธ่ง็š„่ฏฏๅŒบๆ˜ฏ"่ฟ‡ๅบฆ้ข„ๅˆค้œ€ๆฑ‚"๏ผšไธบไบ†"ๅฏ่ƒฝ็”จๅพ—ไธŠ"็š„ๅŠŸ่ƒฝ๏ผŒๆๅ‰ๅŠ ๅ…ฅๅคๆ‚้€ป่พ‘๏ผŒๅฏผ่‡ดไปฃ็ ่‡ƒ่‚ฟใ€็ปดๆŠคๆˆๆœฌๅ‡้ซ˜ใ€‚ๅฅฅๅกๅง†ๅ‰ƒๅˆ€็š„่ฆๆฑ‚ๆ˜ฏ๏ผšๅชๅฎž็Žฐ"ๅฝ“ๅ‰ๆ˜Ž็กฎ้œ€่ฆ"็š„ๅŠŸ่ƒฝ๏ผŒๆœชๆฅ้œ€ๆฑ‚็•™ๅพ…ๆœชๆฅ่ฟญไปฃใ€‚

ๅไพ‹๏ผˆ่ฟ‡ๅบฆ่ฎพ่ฎก๏ผ‰ โ€‹

ๅผ€ๅ‘ไธ€ไธช"็”จๆˆทไธชไบบ่ต„ๆ–™้กต"ๆ—ถ๏ผŒ้œ€ๆฑ‚ไป…่ฆๆฑ‚"ๅฑ•็คบๅง“ๅใ€ๆ‰‹ๆœบๅทใ€้‚ฎ็ฎฑ"๏ผŒไฝ†ๅผ€ๅ‘่€…้ข„ๅˆค"ๆœชๆฅๅฏ่ƒฝ่ฆๅŠ ๅœฐๅ€ใ€็”Ÿๆ—ฅใ€็คพไบค่ดฆๅท"๏ผŒไบŽๆ˜ฏ๏ผš

java
// ๆๅ‰ๅฎšไน‰ไบ†ๅคง้‡ๆœชไฝฟ็”จ็š„ๅญ—ๆฎตๅ’Œๆ–นๆณ•
 public class UserProfile {
     private String name;       // ๅฟ…็”จ
     private String phone;      // ๅฟ…็”จ
diff --git "a/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_00.\345\245\245\345\215\241\345\247\206\345\211\203\345\210\200\345\216\237\345\210\231\357\274\232\344\273\216\347\220\206\350\256\272\345\210\260\347\274\226\347\250\213\350\256\276\350\256\241\347\232\204\345\256\236\350\267\265\346\214\207\345\215\227.md.DMY_isjL.lean.js" "b/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_00.\345\245\245\345\215\241\345\247\206\345\211\203\345\210\200\345\216\237\345\210\231\357\274\232\344\273\216\347\220\206\350\256\272\345\210\260\347\274\226\347\250\213\350\256\276\350\256\241\347\232\204\345\256\236\350\267\265\346\214\207\345\215\227.md.B1vmVkqI.lean.js"
similarity index 95%
rename from "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_00.\345\245\245\345\215\241\345\247\206\345\211\203\345\210\200\345\216\237\345\210\231\357\274\232\344\273\216\347\220\206\350\256\272\345\210\260\347\274\226\347\250\213\350\256\276\350\256\241\347\232\204\345\256\236\350\267\265\346\214\207\345\215\227.md.DMY_isjL.lean.js"
rename to "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_00.\345\245\245\345\215\241\345\247\206\345\211\203\345\210\200\345\216\237\345\210\231\357\274\232\344\273\216\347\220\206\350\256\272\345\210\260\347\274\226\347\250\213\350\256\276\350\256\241\347\232\204\345\256\236\350\267\265\346\214\207\345\215\227.md.B1vmVkqI.lean.js"
index 241b8152..14d0ebcc 100644
--- "a/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_00.\345\245\245\345\215\241\345\247\206\345\211\203\345\210\200\345\216\237\345\210\231\357\274\232\344\273\216\347\220\206\350\256\272\345\210\260\347\274\226\347\250\213\350\256\276\350\256\241\347\232\204\345\256\236\350\267\265\346\214\207\345\215\227.md.DMY_isjL.lean.js"
+++ "b/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_00.\345\245\245\345\215\241\345\247\206\345\211\203\345\210\200\345\216\237\345\210\231\357\274\232\344\273\216\347\220\206\350\256\272\345\210\260\347\274\226\347\250\213\350\256\276\350\256\241\347\232\204\345\256\236\350\267\265\346\214\207\345\215\227.md.B1vmVkqI.lean.js"
@@ -1 +1 @@
-import{H as n}from"./chunks/HighLightText.gRdAAF3C.js";import{g as t,h as l,U as a,i as s,z as e,s as h,S as p}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const k={tabindex:"0"},E=JSON.parse('{"title":"ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—","description":"ๆทฑๅ…ฅ่งฃๆžๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™ๅœจ็ผ–็จ‹ไธŽ่ฎพ่ฎกไธญ็š„ๅ…ญๅคงๅœบๆ™ฏ๏ผšๆ‹’็ป่ฟ‡ๅบฆ้ข„ๅˆคใ€็งป้™คๅ†—ไฝ™้€ป่พ‘ใ€ๅŒน้…ๆžถๆž„่ง„ๆจกใ€ๅ…‹ๅˆถไพ่ต–ๅผ•ๅ…ฅใ€ๅฐ่ฃ…ๆœ€ๅฐๆŽฅๅฃใ€ๅ…ˆๆŽ’ๆŸฅ็ฎ€ๅ•ๅŽŸๅ› ๏ผŒๅนถ็ป™ๅ‡บไธ‰ไธชๅ…ณ้”ฎ่พน็•Œใ€‚","frontmatter":{"date":"2024-03-20T22:41:41.000Z","title":"ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—","tldr":"ๅœจ้œ€ๆฑ‚่พน็•Œๅ†…่ฟฝๆฑ‚ๆœ€ๅฐๅคๆ‚ๅบฆโ€”โ€”ไธๆ˜ฏๆ‹’็ปๅคๆ‚๏ผŒ่€Œๆ˜ฏไธไธปๅŠจๅˆถ้€ ๅคๆ‚ใ€‚","description":"ๆทฑๅ…ฅ่งฃๆžๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™ๅœจ็ผ–็จ‹ไธŽ่ฎพ่ฎกไธญ็š„ๅ…ญๅคงๅœบๆ™ฏ๏ผšๆ‹’็ป่ฟ‡ๅบฆ้ข„ๅˆคใ€็งป้™คๅ†—ไฝ™้€ป่พ‘ใ€ๅŒน้…ๆžถๆž„่ง„ๆจกใ€ๅ…‹ๅˆถไพ่ต–ๅผ•ๅ…ฅใ€ๅฐ่ฃ…ๆœ€ๅฐๆŽฅๅฃใ€ๅ…ˆๆŽ’ๆŸฅ็ฎ€ๅ•ๅŽŸๅ› ๏ผŒๅนถ็ป™ๅ‡บไธ‰ไธชๅ…ณ้”ฎ่พน็•Œใ€‚","permalink":"/fullstack/occams-razor-software-design","tags":["concept","engineering-fundamentals","code-design","software-engineering"],"categories":["ๅ…จๆ ˆ","ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—.md","filePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—.md"}'),r={name:"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—.md"},c=Object.assign(r,{setup(d){return(o,i)=>(l(),t("div",null,[i[5]||(i[5]=a("",6)),s("table",k,[i[4]||(i[4]=s("thead",null,[s("tr",null,[s("th",null,"ๅ…ณ้”ฎๅ‰ๆ"),s("th",null,"่ฏดๆ˜Ž")])],-1)),s("tbody",null,[i[2]||(i[2]=s("tr",null,[s("td",null,[s("strong",null,'"ๅŒ็ญ‰ๆœ‰ๆ•ˆ"ๆ˜ฏๅ‰ๆ')]),s("td",null,'ไป…ๅฝ“ๅคšไธชๆ–นๆกˆ่ƒฝๅฎž็Žฐ็›ธๅŒ็š„ๅŠŸ่ƒฝใ€ๆปก่ถณ็›ธๅŒ็š„้œ€ๆฑ‚ๆ—ถ๏ผŒๆ‰็”จ"็ฎ€ๆดๆ€ง"ไฝœไธบ็ญ›้€‰ๆ ‡ๅ‡†๏ผ›่‹ฅ็ฎ€ๅ•ๆ–นๆกˆๆ— ๆณ•่ฆ†็›–้œ€ๆฑ‚๏ผˆๅฆ‚ๅฎ‰ๅ…จๆ€งใ€ๅฏๆ‰ฉๅฑ•ๆ€ง๏ผ‰๏ผŒๅˆ™ๅฟ…้กปๅผ•ๅ…ฅๅคๆ‚่ฎพ่ฎก๏ผŒไธๅฏไธบไบ†"็ฎ€"่€Œ"็ฎ€"ใ€‚')],-1)),i[3]||(i[3]=s("tr",null,[s("td",null,[s("strong",null,'"ๅฎžไฝ“"ๆŒ‡"ไธๅฟ…่ฆ็š„ๅ‡่ฎพ/็ป„ไปถ"')]),s("td",null,'ไพ‹ๅฆ‚่งฃ้‡Š"ๆ‰‹ๆœบๆฒก็”ต"๏ผŒ"็”ตๆฑ ่€—ๅฐฝ"ๆฏ”"็”ตๆฑ ๆ•…้šœ+็ณป็ปŸไผ‘็œ +ๅ……็”ตๅ™จๆŽฅ่งฆไธ่‰ฏ"ๆ›ด็ฎ€ๆด๏ผŒๅŽ่€…ๅคšไบ†ไธคไธชๆ— ่ฏๆฎ็š„"ๅฎžไฝ“"๏ผŒๅบ”ไผ˜ๅ…ˆๆŽ’้™คใ€‚')],-1)),s("tr",null,[s("td",null,[e(n,{type:"note",bold:""},{default:h(()=>[...i[0]||(i[0]=[p('"็ฎ€ๆด"โ‰ "็ฎ€้™‹"',-1)])]),_:1})]),i[1]||(i[1]=s("td",null,'็ฎ€ๆดๆ˜ฏ"ๅŽป้™คๅ†—ไฝ™"๏ผŒ่€Œ้ž"็œ็•ฅๅฟ…่ฆ็Žฏ่Š‚"ใ€‚ๆฏ”ๅฆ‚่ฎพ่ฎก็™ปๅฝ•ๅŠŸ่ƒฝ๏ผŒ"่ดฆๅท+ๅฏ†็ "ๆ˜ฏ็ฎ€ๆด๏ผŒ"ไป…้ ๆ‰‹ๆœบๅท๏ผˆๆ— ้ชŒ่ฏ๏ผ‰"ๆ˜ฏ็ฎ€้™‹๏ผŒๅŽ่€…็‰บ็‰ฒไบ†ๅฎ‰ๅ…จๆ€ง๏ผŒไธ็ฌฆๅˆๅŽŸๅˆ™ใ€‚',-1))])])]),i[6]||(i[6]=a("",60))]))}});export{E as __pageData,c as default};
+import{H as n}from"./chunks/HighLightText.BFsbuOsY.js";import{g as t,h as l,U as a,i as s,z as e,s as h,S as p}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const k={tabindex:"0"},E=JSON.parse('{"title":"ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—","description":"ๆทฑๅ…ฅ่งฃๆžๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™ๅœจ็ผ–็จ‹ไธŽ่ฎพ่ฎกไธญ็š„ๅ…ญๅคงๅœบๆ™ฏ๏ผšๆ‹’็ป่ฟ‡ๅบฆ้ข„ๅˆคใ€็งป้™คๅ†—ไฝ™้€ป่พ‘ใ€ๅŒน้…ๆžถๆž„่ง„ๆจกใ€ๅ…‹ๅˆถไพ่ต–ๅผ•ๅ…ฅใ€ๅฐ่ฃ…ๆœ€ๅฐๆŽฅๅฃใ€ๅ…ˆๆŽ’ๆŸฅ็ฎ€ๅ•ๅŽŸๅ› ๏ผŒๅนถ็ป™ๅ‡บไธ‰ไธชๅ…ณ้”ฎ่พน็•Œใ€‚","frontmatter":{"date":"2024-03-20T22:41:41.000Z","title":"ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—","tldr":"ๅœจ้œ€ๆฑ‚่พน็•Œๅ†…่ฟฝๆฑ‚ๆœ€ๅฐๅคๆ‚ๅบฆโ€”โ€”ไธๆ˜ฏๆ‹’็ปๅคๆ‚๏ผŒ่€Œๆ˜ฏไธไธปๅŠจๅˆถ้€ ๅคๆ‚ใ€‚","description":"ๆทฑๅ…ฅ่งฃๆžๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™ๅœจ็ผ–็จ‹ไธŽ่ฎพ่ฎกไธญ็š„ๅ…ญๅคงๅœบๆ™ฏ๏ผšๆ‹’็ป่ฟ‡ๅบฆ้ข„ๅˆคใ€็งป้™คๅ†—ไฝ™้€ป่พ‘ใ€ๅŒน้…ๆžถๆž„่ง„ๆจกใ€ๅ…‹ๅˆถไพ่ต–ๅผ•ๅ…ฅใ€ๅฐ่ฃ…ๆœ€ๅฐๆŽฅๅฃใ€ๅ…ˆๆŽ’ๆŸฅ็ฎ€ๅ•ๅŽŸๅ› ๏ผŒๅนถ็ป™ๅ‡บไธ‰ไธชๅ…ณ้”ฎ่พน็•Œใ€‚","permalink":"/fullstack/occams-razor-software-design","tags":["concept","engineering-fundamentals","code-design","software-engineering"],"categories":["ๅ…จๆ ˆ","ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—.md","filePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—.md"}'),r={name:"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—.md"},c=Object.assign(r,{setup(d){return(o,i)=>(l(),t("div",null,[i[5]||(i[5]=a("",6)),s("table",k,[i[4]||(i[4]=s("thead",null,[s("tr",null,[s("th",null,"ๅ…ณ้”ฎๅ‰ๆ"),s("th",null,"่ฏดๆ˜Ž")])],-1)),s("tbody",null,[i[2]||(i[2]=s("tr",null,[s("td",null,[s("strong",null,'"ๅŒ็ญ‰ๆœ‰ๆ•ˆ"ๆ˜ฏๅ‰ๆ')]),s("td",null,'ไป…ๅฝ“ๅคšไธชๆ–นๆกˆ่ƒฝๅฎž็Žฐ็›ธๅŒ็š„ๅŠŸ่ƒฝใ€ๆปก่ถณ็›ธๅŒ็š„้œ€ๆฑ‚ๆ—ถ๏ผŒๆ‰็”จ"็ฎ€ๆดๆ€ง"ไฝœไธบ็ญ›้€‰ๆ ‡ๅ‡†๏ผ›่‹ฅ็ฎ€ๅ•ๆ–นๆกˆๆ— ๆณ•่ฆ†็›–้œ€ๆฑ‚๏ผˆๅฆ‚ๅฎ‰ๅ…จๆ€งใ€ๅฏๆ‰ฉๅฑ•ๆ€ง๏ผ‰๏ผŒๅˆ™ๅฟ…้กปๅผ•ๅ…ฅๅคๆ‚่ฎพ่ฎก๏ผŒไธๅฏไธบไบ†"็ฎ€"่€Œ"็ฎ€"ใ€‚')],-1)),i[3]||(i[3]=s("tr",null,[s("td",null,[s("strong",null,'"ๅฎžไฝ“"ๆŒ‡"ไธๅฟ…่ฆ็š„ๅ‡่ฎพ/็ป„ไปถ"')]),s("td",null,'ไพ‹ๅฆ‚่งฃ้‡Š"ๆ‰‹ๆœบๆฒก็”ต"๏ผŒ"็”ตๆฑ ่€—ๅฐฝ"ๆฏ”"็”ตๆฑ ๆ•…้šœ+็ณป็ปŸไผ‘็œ +ๅ……็”ตๅ™จๆŽฅ่งฆไธ่‰ฏ"ๆ›ด็ฎ€ๆด๏ผŒๅŽ่€…ๅคšไบ†ไธคไธชๆ— ่ฏๆฎ็š„"ๅฎžไฝ“"๏ผŒๅบ”ไผ˜ๅ…ˆๆŽ’้™คใ€‚')],-1)),s("tr",null,[s("td",null,[e(n,{type:"note",bold:""},{default:h(()=>[...i[0]||(i[0]=[p('"็ฎ€ๆด"โ‰ "็ฎ€้™‹"',-1)])]),_:1})]),i[1]||(i[1]=s("td",null,'็ฎ€ๆดๆ˜ฏ"ๅŽป้™คๅ†—ไฝ™"๏ผŒ่€Œ้ž"็œ็•ฅๅฟ…่ฆ็Žฏ่Š‚"ใ€‚ๆฏ”ๅฆ‚่ฎพ่ฎก็™ปๅฝ•ๅŠŸ่ƒฝ๏ผŒ"่ดฆๅท+ๅฏ†็ "ๆ˜ฏ็ฎ€ๆด๏ผŒ"ไป…้ ๆ‰‹ๆœบๅท๏ผˆๆ— ้ชŒ่ฏ๏ผ‰"ๆ˜ฏ็ฎ€้™‹๏ผŒๅŽ่€…็‰บ็‰ฒไบ†ๅฎ‰ๅ…จๆ€ง๏ผŒไธ็ฌฆๅˆๅŽŸๅˆ™ใ€‚',-1))])])]),i[6]||(i[6]=a("",60))]))}});export{E as __pageData,c as default};
diff --git "a/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_01.\347\274\226\350\257\221\344\270\216\350\260\203\350\257\225 TypeScript \351\241\271\347\233\256\346\214\207\345\215\227.md.DTw4Rt2C.js" "b/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_01.\347\274\226\350\257\221\344\270\216\350\260\203\350\257\225 TypeScript \351\241\271\347\233\256\346\214\207\345\215\227.md.BHyEzAuH.js"
similarity index 99%
rename from "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_01.\347\274\226\350\257\221\344\270\216\350\260\203\350\257\225 TypeScript \351\241\271\347\233\256\346\214\207\345\215\227.md.DTw4Rt2C.js"
rename to "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_01.\347\274\226\350\257\221\344\270\216\350\260\203\350\257\225 TypeScript \351\241\271\347\233\256\346\214\207\345\215\227.md.BHyEzAuH.js"
index 6158e848..5644502c 100644
--- "a/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_01.\347\274\226\350\257\221\344\270\216\350\260\203\350\257\225 TypeScript \351\241\271\347\233\256\346\214\207\345\215\227.md.DTw4Rt2C.js"	
+++ "b/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_01.\347\274\226\350\257\221\344\270\216\350\260\203\350\257\225 TypeScript \351\241\271\347\233\256\346\214\207\345\215\227.md.BHyEzAuH.js"	
@@ -1,4 +1,4 @@
-import{_ as i,g as a,h as n,U as l}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const c=JSON.parse('{"title":"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—","description":"ๆทฑๅ…ฅ่งฃๆž TypeScript ็ผ–่ฏ‘ๅทฅๅ…ท้“พไธŽ่ฐƒ่ฏ•ไฝ“็ณป๏ผŒๆถต็›– tsconfig.json ๆ ธๅฟƒ้…็ฝฎใ€Monorepo ้กน็›ฎ้…็ฝฎ๏ผˆextends/references๏ผ‰ใ€source map ่ฐƒ่ฏ•ใ€ESLint ไธŽ Jest ๅ•ๅ…ƒๆต‹่ฏ•็ญ‰ๅฎŒๆ•ดๅฎž่ทตใ€‚","frontmatter":{"date":"2025-08-12T22:47:47.000Z","title":"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—","tldr":"TypeScript ๅฎŒๅ–„็š„็ผ–่ฏ‘ไฝ“็ณปไธŽ่ฐƒ่ฏ•ๅทฅๅ…ท้“พ๏ผŒๆ˜ฏๆž„ๅปบ้ซ˜่ดจ้‡ๅบ”็”จ็š„ๅŸบ็Ÿณใ€‚","description":"ๆทฑๅ…ฅ่งฃๆž TypeScript ็ผ–่ฏ‘ๅทฅๅ…ท้“พไธŽ่ฐƒ่ฏ•ไฝ“็ณป๏ผŒๆถต็›– tsconfig.json ๆ ธๅฟƒ้…็ฝฎใ€Monorepo ้กน็›ฎ้…็ฝฎ๏ผˆextends/references๏ผ‰ใ€source map ่ฐƒ่ฏ•ใ€ESLint ไธŽ Jest ๅ•ๅ…ƒๆต‹่ฏ•็ญ‰ๅฎŒๆ•ดๅฎž่ทตใ€‚","permalink":"/fullstack/typescript-compilation-debugging-guide","tags":["tutorial","typescript","compilation","tooling","eslint","jest"],"categories":["ๅ…จๆ ˆ","ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—.md","filePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—.md"}'),p={name:"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—.md"};function t(e,s,h,k,r,E){return n(),a("div",null,[...s[0]||(s[0]=[l(`

TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ— โ€‹

ๆ‘˜่ฆๆ€ป็ป“: TypeScript ไฝœไธบ JavaScript ็š„้™ๆ€็ฑปๅž‹่ถ…้›†๏ผŒไธไป…ๆไพ›ไบ†็ฑปๅž‹ๅฎ‰ๅ…จ๏ผŒ่ฟ˜ๆž„ๅปบไบ†ๅฎŒๅ–„็š„็ผ–่ฏ‘ๅทฅๅ…ท้“พๅ’Œ่ฐƒ่ฏ•่ƒฝๅŠ›ใ€‚ๆœฌๆ–‡็ณป็ปŸๆขณ็† TypeScript ้กน็›ฎ็š„็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅ…จๆต็จ‹๏ผŒๆถต็›– TSC ็ผ–่ฏ‘ๅ™จไฝฟ็”จใ€tsconfig.json ๅ„ๅœบๆ™ฏ้…็ฝฎ๏ผˆๅ•ไฝ“้กน็›ฎใ€Monorepo ๅคšๅŒ…้กน็›ฎ๏ผ‰ใ€source map ๆต่งˆๅ™จ่ฐƒ่ฏ•ใ€ESLint ้™ๆ€ๆฃ€ๆŸฅไธŽ Jest ๅ•ๅ…ƒๆต‹่ฏ•็ญ‰ๅทฅ็จ‹ๅฎž่ทตใ€‚้€š่ฟ‡ๅฏน็ผ–่ฏ‘้€‰้กน๏ผˆstrictใ€moduleใ€moduleResolutionใ€incremental ็ญ‰๏ผ‰็š„่ฏฆ็ป†่งฃ่ฏป๏ผŒไปฅๅŠ React+Viteใ€Node.jsใ€npm ๅบ“็ญ‰ๅ…ธๅž‹้กน็›ฎ้…็ฝฎ็คบไพ‹๏ผŒๅธฎๅŠฉ่ฏป่€…ๅปบ็ซ‹ๅฏน TypeScript ็ผ–่ฏ‘ไฝ“็ณป็š„ๅฎŒๆ•ด่ฎค็Ÿฅใ€‚ๆŽŒๆก่ฟ™ไบ›ๆ ธๅฟƒๆŠ€่ƒฝ๏ผŒ่ƒฝๅคŸๅธฎๅŠฉๅผ€ๅ‘่€…ๆ›ด้ซ˜ๆ•ˆๅœฐๆž„ๅปบๅ’Œ็ปดๆŠค้ซ˜่ดจ้‡็š„ TypeScript ๅบ”็”จใ€‚

็ผ–ๅ†™ไปฃ็ ๅชๆ˜ฏๅผ€ๅ‘ๅทฅไฝœ็š„่ตท็‚น๏ผŒ็œŸๆญฃๅ†ณๅฎš้กน็›ฎ่ดจ้‡็š„ๆ˜ฏๅŽ็ปญ็š„็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•็Žฏ่Š‚ใ€‚TypeScript ไฝœไธบ JavaScript ็š„้™ๆ€็ฑปๅž‹่ถ…้›†๏ผŒไธไป…ๅธฆๆฅไบ†็ฑปๅž‹ๅฎ‰ๅ…จ๏ผŒๆ›ดๆไพ›ไบ†ๅผบๅคง็š„็ผ–่ฏ‘ๅทฅๅ…ทๅ’Œ่ฐƒ่ฏ•่ƒฝๅŠ›๏ผŒ่ฎฉๆˆ‘ไปฌ่ƒฝๅคŸๆ›ด้ซ˜ๆ•ˆๅœฐๆž„ๅปบๅ’Œ็ปดๆŠคๅฏ้ ็š„ๅบ”็”จ็จ‹ๅบใ€‚

ๆœฌๆ–‡ๅฐ†ๅฏน TypeScript ้กน็›ฎ็š„็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•่ฟ›่กŒๆขณ็†๏ผŒๅŒ…ๆ‹ฌ็ผ–่ฏ‘ๅทฅๅ…ท TSC ็š„ไฝฟ็”จใ€็ผ–่ฏ‘้€‰้กน็š„้…็ฝฎใ€่ฐƒ่ฏ•ๅทฅๅ…ท็š„ไฝฟ็”จ็ญ‰ใ€‚

1. TypeScript ็ผ–่ฏ‘้…็ฝฎไธŽ tsconfig.json โ€‹

TSC๏ผˆTypeScript Compiler๏ผ‰ๆ˜ฏ TypeScript ๅฎ˜ๆ–นๆไพ›็š„็ผ–่ฏ‘ๅทฅๅ…ท๏ผŒ่ดŸ่ดฃๅฐ† TypeScript ไปฃ็ ๏ผˆ.ts ๆˆ– .tsx๏ผ‰่ฝฌๆขไธบ JavaScript ไปฃ็ ๏ผˆ.js ๆˆ– .jsx๏ผ‰ใ€‚

่™ฝ็„ถไฝ ๅฏไปฅ็›ดๆŽฅๅœจ็ปˆ็ซฏ่ฟ่กŒ tsc ๅ‘ฝไปคๆฅ็ผ–่ฏ‘ๅ•ไธชๆ–‡ไปถ๏ผŒไฝ†ๅœจๅฎž้™…้กน็›ฎไธญ๏ผŒๆˆ‘ไปฌ้€šๅธธ้œ€่ฆๅค„็†ๅคง้‡ๆ–‡ไปถใ€‚ไธบไบ†ๆ้ซ˜็ผ–่ฏ‘ๅ‘ฝไปค็š„ๅค็”จๆ€งๅ’Œๅฏ็ปดๆŠคๆ€ง๏ผŒTypeScript ๆไพ›ไบ†้…็ฝฎๆ–‡ไปถ็š„ๆ–นๅผๆฅ็ฎก็†็ผ–่ฏ‘่ฎพ็ฝฎ๏ผš

  • ้…็ฝฎๆ–‡ไปถ๏ผšไฝฟ็”จ tsconfig.json ๆ–‡ไปถ้›†ไธญ็ฎก็†ๅพ…็ผ–่ฏ‘ๆ–‡ไปถ่ทฏๅพ„ใ€็ผ–่ฏ‘้€‰้กนๅ’Œ่พ“ๅ‡บ่ทฏๅพ„็ญ‰ใ€‚ไฝ ๅฏไปฅ้€š่ฟ‡ tsc --init ๅ‘ฝไปคๅฟซ้€Ÿ็”Ÿๆˆไธ€ไธช้ป˜่ฎค้…็ฝฎๆ–‡ไปถ๏ผŒ็„ถๅŽๆ นๆฎ้กน็›ฎ้œ€ๆฑ‚่ฟ›่กŒ่ฐƒๆ•ดใ€‚
  • ้…็ฝฎไฝ็ฝฎ๏ผš้€šๅธธๅฐ† tsconfig.json ๆ”พๅœจ้กน็›ฎๆ น็›ฎๅฝ•ไธ‹ใ€‚ๅฏนไบŽ Monorepo ้กน็›ฎ็ป“ๆž„๏ผŒๆฏไธชๅญ้กน็›ฎๅฏไปฅๆ‹ฅๆœ‰็‹ฌ็ซ‹็š„้…็ฝฎๆ–‡ไปถ๏ผŒๅฎž็Žฐๆ›ด็ฒพ็ป†็š„็ผ–่ฏ‘ๆŽงๅˆถใ€‚

1.1 tsconfig.json ๆ ธๅฟƒ้…็ฝฎๆขณ็† โ€‹

ไปฅไธ‹ๆ˜ฏไธ€ไธช็”Ÿไบง็Žฏๅขƒๅธธ็”จ็š„ tsconfig.json ้…็ฝฎ็คบไพ‹๏ผŒๅŒ…ๅซไบ† TypeScript ๆ ธๅฟƒ็ผ–่ฏ‘้€‰้กน็š„่ฏฆ็ป†ๆณจ้‡Š่ฏดๆ˜Ž๏ผš

json
{
+import{_ as i,g as a,h as n,U as l}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const c=JSON.parse('{"title":"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—","description":"ๆทฑๅ…ฅ่งฃๆž TypeScript ็ผ–่ฏ‘ๅทฅๅ…ท้“พไธŽ่ฐƒ่ฏ•ไฝ“็ณป๏ผŒๆถต็›– tsconfig.json ๆ ธๅฟƒ้…็ฝฎใ€Monorepo ้กน็›ฎ้…็ฝฎ๏ผˆextends/references๏ผ‰ใ€source map ่ฐƒ่ฏ•ใ€ESLint ไธŽ Jest ๅ•ๅ…ƒๆต‹่ฏ•็ญ‰ๅฎŒๆ•ดๅฎž่ทตใ€‚","frontmatter":{"date":"2025-08-12T22:47:47.000Z","title":"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—","tldr":"TypeScript ๅฎŒๅ–„็š„็ผ–่ฏ‘ไฝ“็ณปไธŽ่ฐƒ่ฏ•ๅทฅๅ…ท้“พ๏ผŒๆ˜ฏๆž„ๅปบ้ซ˜่ดจ้‡ๅบ”็”จ็š„ๅŸบ็Ÿณใ€‚","description":"ๆทฑๅ…ฅ่งฃๆž TypeScript ็ผ–่ฏ‘ๅทฅๅ…ท้“พไธŽ่ฐƒ่ฏ•ไฝ“็ณป๏ผŒๆถต็›– tsconfig.json ๆ ธๅฟƒ้…็ฝฎใ€Monorepo ้กน็›ฎ้…็ฝฎ๏ผˆextends/references๏ผ‰ใ€source map ่ฐƒ่ฏ•ใ€ESLint ไธŽ Jest ๅ•ๅ…ƒๆต‹่ฏ•็ญ‰ๅฎŒๆ•ดๅฎž่ทตใ€‚","permalink":"/fullstack/typescript-compilation-debugging-guide","tags":["tutorial","typescript","compilation","tooling","eslint","jest"],"categories":["ๅ…จๆ ˆ","ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—.md","filePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—.md"}'),p={name:"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—.md"};function t(e,s,h,k,r,E){return n(),a("div",null,[...s[0]||(s[0]=[l(`

TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ— โ€‹

ๆ‘˜่ฆๆ€ป็ป“: TypeScript ไฝœไธบ JavaScript ็š„้™ๆ€็ฑปๅž‹่ถ…้›†๏ผŒไธไป…ๆไพ›ไบ†็ฑปๅž‹ๅฎ‰ๅ…จ๏ผŒ่ฟ˜ๆž„ๅปบไบ†ๅฎŒๅ–„็š„็ผ–่ฏ‘ๅทฅๅ…ท้“พๅ’Œ่ฐƒ่ฏ•่ƒฝๅŠ›ใ€‚ๆœฌๆ–‡็ณป็ปŸๆขณ็† TypeScript ้กน็›ฎ็š„็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅ…จๆต็จ‹๏ผŒๆถต็›– TSC ็ผ–่ฏ‘ๅ™จไฝฟ็”จใ€tsconfig.json ๅ„ๅœบๆ™ฏ้…็ฝฎ๏ผˆๅ•ไฝ“้กน็›ฎใ€Monorepo ๅคšๅŒ…้กน็›ฎ๏ผ‰ใ€source map ๆต่งˆๅ™จ่ฐƒ่ฏ•ใ€ESLint ้™ๆ€ๆฃ€ๆŸฅไธŽ Jest ๅ•ๅ…ƒๆต‹่ฏ•็ญ‰ๅทฅ็จ‹ๅฎž่ทตใ€‚้€š่ฟ‡ๅฏน็ผ–่ฏ‘้€‰้กน๏ผˆstrictใ€moduleใ€moduleResolutionใ€incremental ็ญ‰๏ผ‰็š„่ฏฆ็ป†่งฃ่ฏป๏ผŒไปฅๅŠ React+Viteใ€Node.jsใ€npm ๅบ“็ญ‰ๅ…ธๅž‹้กน็›ฎ้…็ฝฎ็คบไพ‹๏ผŒๅธฎๅŠฉ่ฏป่€…ๅปบ็ซ‹ๅฏน TypeScript ็ผ–่ฏ‘ไฝ“็ณป็š„ๅฎŒๆ•ด่ฎค็Ÿฅใ€‚ๆŽŒๆก่ฟ™ไบ›ๆ ธๅฟƒๆŠ€่ƒฝ๏ผŒ่ƒฝๅคŸๅธฎๅŠฉๅผ€ๅ‘่€…ๆ›ด้ซ˜ๆ•ˆๅœฐๆž„ๅปบๅ’Œ็ปดๆŠค้ซ˜่ดจ้‡็š„ TypeScript ๅบ”็”จใ€‚

็ผ–ๅ†™ไปฃ็ ๅชๆ˜ฏๅผ€ๅ‘ๅทฅไฝœ็š„่ตท็‚น๏ผŒ็œŸๆญฃๅ†ณๅฎš้กน็›ฎ่ดจ้‡็š„ๆ˜ฏๅŽ็ปญ็š„็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•็Žฏ่Š‚ใ€‚TypeScript ไฝœไธบ JavaScript ็š„้™ๆ€็ฑปๅž‹่ถ…้›†๏ผŒไธไป…ๅธฆๆฅไบ†็ฑปๅž‹ๅฎ‰ๅ…จ๏ผŒๆ›ดๆไพ›ไบ†ๅผบๅคง็š„็ผ–่ฏ‘ๅทฅๅ…ทๅ’Œ่ฐƒ่ฏ•่ƒฝๅŠ›๏ผŒ่ฎฉๆˆ‘ไปฌ่ƒฝๅคŸๆ›ด้ซ˜ๆ•ˆๅœฐๆž„ๅปบๅ’Œ็ปดๆŠคๅฏ้ ็š„ๅบ”็”จ็จ‹ๅบใ€‚

ๆœฌๆ–‡ๅฐ†ๅฏน TypeScript ้กน็›ฎ็š„็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•่ฟ›่กŒๆขณ็†๏ผŒๅŒ…ๆ‹ฌ็ผ–่ฏ‘ๅทฅๅ…ท TSC ็š„ไฝฟ็”จใ€็ผ–่ฏ‘้€‰้กน็š„้…็ฝฎใ€่ฐƒ่ฏ•ๅทฅๅ…ท็š„ไฝฟ็”จ็ญ‰ใ€‚

1. TypeScript ็ผ–่ฏ‘้…็ฝฎไธŽ tsconfig.json โ€‹

TSC๏ผˆTypeScript Compiler๏ผ‰ๆ˜ฏ TypeScript ๅฎ˜ๆ–นๆไพ›็š„็ผ–่ฏ‘ๅทฅๅ…ท๏ผŒ่ดŸ่ดฃๅฐ† TypeScript ไปฃ็ ๏ผˆ.ts ๆˆ– .tsx๏ผ‰่ฝฌๆขไธบ JavaScript ไปฃ็ ๏ผˆ.js ๆˆ– .jsx๏ผ‰ใ€‚

่™ฝ็„ถไฝ ๅฏไปฅ็›ดๆŽฅๅœจ็ปˆ็ซฏ่ฟ่กŒ tsc ๅ‘ฝไปคๆฅ็ผ–่ฏ‘ๅ•ไธชๆ–‡ไปถ๏ผŒไฝ†ๅœจๅฎž้™…้กน็›ฎไธญ๏ผŒๆˆ‘ไปฌ้€šๅธธ้œ€่ฆๅค„็†ๅคง้‡ๆ–‡ไปถใ€‚ไธบไบ†ๆ้ซ˜็ผ–่ฏ‘ๅ‘ฝไปค็š„ๅค็”จๆ€งๅ’Œๅฏ็ปดๆŠคๆ€ง๏ผŒTypeScript ๆไพ›ไบ†้…็ฝฎๆ–‡ไปถ็š„ๆ–นๅผๆฅ็ฎก็†็ผ–่ฏ‘่ฎพ็ฝฎ๏ผš

  • ้…็ฝฎๆ–‡ไปถ๏ผšไฝฟ็”จ tsconfig.json ๆ–‡ไปถ้›†ไธญ็ฎก็†ๅพ…็ผ–่ฏ‘ๆ–‡ไปถ่ทฏๅพ„ใ€็ผ–่ฏ‘้€‰้กนๅ’Œ่พ“ๅ‡บ่ทฏๅพ„็ญ‰ใ€‚ไฝ ๅฏไปฅ้€š่ฟ‡ tsc --init ๅ‘ฝไปคๅฟซ้€Ÿ็”Ÿๆˆไธ€ไธช้ป˜่ฎค้…็ฝฎๆ–‡ไปถ๏ผŒ็„ถๅŽๆ นๆฎ้กน็›ฎ้œ€ๆฑ‚่ฟ›่กŒ่ฐƒๆ•ดใ€‚
  • ้…็ฝฎไฝ็ฝฎ๏ผš้€šๅธธๅฐ† tsconfig.json ๆ”พๅœจ้กน็›ฎๆ น็›ฎๅฝ•ไธ‹ใ€‚ๅฏนไบŽ Monorepo ้กน็›ฎ็ป“ๆž„๏ผŒๆฏไธชๅญ้กน็›ฎๅฏไปฅๆ‹ฅๆœ‰็‹ฌ็ซ‹็š„้…็ฝฎๆ–‡ไปถ๏ผŒๅฎž็Žฐๆ›ด็ฒพ็ป†็š„็ผ–่ฏ‘ๆŽงๅˆถใ€‚

1.1 tsconfig.json ๆ ธๅฟƒ้…็ฝฎๆขณ็† โ€‹

ไปฅไธ‹ๆ˜ฏไธ€ไธช็”Ÿไบง็Žฏๅขƒๅธธ็”จ็š„ tsconfig.json ้…็ฝฎ็คบไพ‹๏ผŒๅŒ…ๅซไบ† TypeScript ๆ ธๅฟƒ็ผ–่ฏ‘้€‰้กน็š„่ฏฆ็ป†ๆณจ้‡Š่ฏดๆ˜Ž๏ผš

json
{
   /*
    * ============================================
    * ็ผ–่ฏ‘ไฟกๆฏ้…็ฝฎ
diff --git "a/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_01.\347\274\226\350\257\221\344\270\216\350\260\203\350\257\225 TypeScript \351\241\271\347\233\256\346\214\207\345\215\227.md.DTw4Rt2C.lean.js" "b/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_01.\347\274\226\350\257\221\344\270\216\350\260\203\350\257\225 TypeScript \351\241\271\347\233\256\346\214\207\345\215\227.md.BHyEzAuH.lean.js"
similarity index 95%
rename from "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_01.\347\274\226\350\257\221\344\270\216\350\260\203\350\257\225 TypeScript \351\241\271\347\233\256\346\214\207\345\215\227.md.DTw4Rt2C.lean.js"
rename to "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_01.\347\274\226\350\257\221\344\270\216\350\260\203\350\257\225 TypeScript \351\241\271\347\233\256\346\214\207\345\215\227.md.BHyEzAuH.lean.js"
index 13fa58c3..d6388874 100644
--- "a/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_01.\347\274\226\350\257\221\344\270\216\350\260\203\350\257\225 TypeScript \351\241\271\347\233\256\346\214\207\345\215\227.md.DTw4Rt2C.lean.js"	
+++ "b/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_01.\347\274\226\350\257\221\344\270\216\350\260\203\350\257\225 TypeScript \351\241\271\347\233\256\346\214\207\345\215\227.md.BHyEzAuH.lean.js"	
@@ -1 +1 @@
-import{_ as i,g as a,h as n,U as l}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const c=JSON.parse('{"title":"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—","description":"ๆทฑๅ…ฅ่งฃๆž TypeScript ็ผ–่ฏ‘ๅทฅๅ…ท้“พไธŽ่ฐƒ่ฏ•ไฝ“็ณป๏ผŒๆถต็›– tsconfig.json ๆ ธๅฟƒ้…็ฝฎใ€Monorepo ้กน็›ฎ้…็ฝฎ๏ผˆextends/references๏ผ‰ใ€source map ่ฐƒ่ฏ•ใ€ESLint ไธŽ Jest ๅ•ๅ…ƒๆต‹่ฏ•็ญ‰ๅฎŒๆ•ดๅฎž่ทตใ€‚","frontmatter":{"date":"2025-08-12T22:47:47.000Z","title":"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—","tldr":"TypeScript ๅฎŒๅ–„็š„็ผ–่ฏ‘ไฝ“็ณปไธŽ่ฐƒ่ฏ•ๅทฅๅ…ท้“พ๏ผŒๆ˜ฏๆž„ๅปบ้ซ˜่ดจ้‡ๅบ”็”จ็š„ๅŸบ็Ÿณใ€‚","description":"ๆทฑๅ…ฅ่งฃๆž TypeScript ็ผ–่ฏ‘ๅทฅๅ…ท้“พไธŽ่ฐƒ่ฏ•ไฝ“็ณป๏ผŒๆถต็›– tsconfig.json ๆ ธๅฟƒ้…็ฝฎใ€Monorepo ้กน็›ฎ้…็ฝฎ๏ผˆextends/references๏ผ‰ใ€source map ่ฐƒ่ฏ•ใ€ESLint ไธŽ Jest ๅ•ๅ…ƒๆต‹่ฏ•็ญ‰ๅฎŒๆ•ดๅฎž่ทตใ€‚","permalink":"/fullstack/typescript-compilation-debugging-guide","tags":["tutorial","typescript","compilation","tooling","eslint","jest"],"categories":["ๅ…จๆ ˆ","ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—.md","filePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—.md"}'),p={name:"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—.md"};function t(e,s,h,k,r,E){return n(),a("div",null,[...s[0]||(s[0]=[l("",100)])])}const g=i(p,[["render",t]]);export{c as __pageData,g as default};
+import{_ as i,g as a,h as n,U as l}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const c=JSON.parse('{"title":"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—","description":"ๆทฑๅ…ฅ่งฃๆž TypeScript ็ผ–่ฏ‘ๅทฅๅ…ท้“พไธŽ่ฐƒ่ฏ•ไฝ“็ณป๏ผŒๆถต็›– tsconfig.json ๆ ธๅฟƒ้…็ฝฎใ€Monorepo ้กน็›ฎ้…็ฝฎ๏ผˆextends/references๏ผ‰ใ€source map ่ฐƒ่ฏ•ใ€ESLint ไธŽ Jest ๅ•ๅ…ƒๆต‹่ฏ•็ญ‰ๅฎŒๆ•ดๅฎž่ทตใ€‚","frontmatter":{"date":"2025-08-12T22:47:47.000Z","title":"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—","tldr":"TypeScript ๅฎŒๅ–„็š„็ผ–่ฏ‘ไฝ“็ณปไธŽ่ฐƒ่ฏ•ๅทฅๅ…ท้“พ๏ผŒๆ˜ฏๆž„ๅปบ้ซ˜่ดจ้‡ๅบ”็”จ็š„ๅŸบ็Ÿณใ€‚","description":"ๆทฑๅ…ฅ่งฃๆž TypeScript ็ผ–่ฏ‘ๅทฅๅ…ท้“พไธŽ่ฐƒ่ฏ•ไฝ“็ณป๏ผŒๆถต็›– tsconfig.json ๆ ธๅฟƒ้…็ฝฎใ€Monorepo ้กน็›ฎ้…็ฝฎ๏ผˆextends/references๏ผ‰ใ€source map ่ฐƒ่ฏ•ใ€ESLint ไธŽ Jest ๅ•ๅ…ƒๆต‹่ฏ•็ญ‰ๅฎŒๆ•ดๅฎž่ทตใ€‚","permalink":"/fullstack/typescript-compilation-debugging-guide","tags":["tutorial","typescript","compilation","tooling","eslint","jest"],"categories":["ๅ…จๆ ˆ","ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—.md","filePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—.md"}'),p={name:"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—.md"};function t(e,s,h,k,r,E){return n(),a("div",null,[...s[0]||(s[0]=[l("",100)])])}const g=i(p,[["render",t]]);export{c as __pageData,g as default};
diff --git "a/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_10.\350\201\212\344\270\200\350\201\212 Typescript \346\263\233\345\236\213.md.CavsGSMv.js" "b/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_10.\350\201\212\344\270\200\350\201\212 Typescript \346\263\233\345\236\213.md.BpsDJhtc.js"
similarity index 99%
rename from "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_10.\350\201\212\344\270\200\350\201\212 Typescript \346\263\233\345\236\213.md.CavsGSMv.js"
rename to "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_10.\350\201\212\344\270\200\350\201\212 Typescript \346\263\233\345\236\213.md.BpsDJhtc.js"
index 01168baf..05295f40 100644
--- "a/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_10.\350\201\212\344\270\200\350\201\212 Typescript \346\263\233\345\236\213.md.CavsGSMv.js"	
+++ "b/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_10.\350\201\212\344\270\200\350\201\212 Typescript \346\263\233\345\236\213.md.BpsDJhtc.js"	
@@ -1,4 +1,4 @@
-import{_ as i,g as a,h as n,U as l}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const g=JSON.parse('{"title":"่Šไธ€่Š TypeScript ไธญ็š„ๆณ›ๅž‹","description":"ๆœฌๆ–‡็ณป็ปŸ่งฃๆž TypeScript ๆณ›ๅž‹็š„ๆ ธๅฟƒๆฆ‚ๅฟตไธŽๅทฅไฝœๆœบๅˆถ๏ผŒๅฏนๆฏ”ๆณ›ๅž‹ไธŽ any ็ฑปๅž‹็š„ๅทฎๅผ‚๏ผŒๆถต็›–ๆณ›ๅž‹ๅ‡ฝๆ•ฐใ€ๆŽฅๅฃใ€็ฑปใ€็ฑปๅž‹ๅˆซๅ็š„ๅฎž่ทต็”จๆณ•๏ผŒไปฅๅŠๅŸบๆœฌ็ฑปๅž‹็บฆๆŸใ€ๆŽฅๅฃ็บฆๆŸใ€ๅคš้‡็บฆๆŸใ€keyof ็บฆๆŸ็ญ‰้ซ˜้˜ถๆŠ€ๅทงไธŽๆœ€ไฝณๅฎž่ทตใ€‚","frontmatter":{"date":"2025-08-20T22:51:27.000Z","title":"่Šไธ€่Š TypeScript ไธญ็š„ๆณ›ๅž‹","tldr":"ๆณ›ๅž‹ๅฐ†็ฑปๅž‹ไฝœไธบๅ‚ๆ•ฐ๏ผŒไฝฟไปฃ็ ๅœจๅคš็ง็ฑปๅž‹ไธŠๅฎ‰ๅ…จ่ฟ่กŒ๏ผŒๆ˜ฏ TypeScript ็ฑปๅž‹ๆŠฝ่ฑก็š„ๆ ธๅฟƒ็‰นๆ€งใ€‚","description":"ๆœฌๆ–‡็ณป็ปŸ่งฃๆž TypeScript ๆณ›ๅž‹็š„ๆ ธๅฟƒๆฆ‚ๅฟตไธŽๅทฅไฝœๆœบๅˆถ๏ผŒๅฏนๆฏ”ๆณ›ๅž‹ไธŽ any ็ฑปๅž‹็š„ๅทฎๅผ‚๏ผŒๆถต็›–ๆณ›ๅž‹ๅ‡ฝๆ•ฐใ€ๆŽฅๅฃใ€็ฑปใ€็ฑปๅž‹ๅˆซๅ็š„ๅฎž่ทต็”จๆณ•๏ผŒไปฅๅŠๅŸบๆœฌ็ฑปๅž‹็บฆๆŸใ€ๆŽฅๅฃ็บฆๆŸใ€ๅคš้‡็บฆๆŸใ€keyof ็บฆๆŸ็ญ‰้ซ˜้˜ถๆŠ€ๅทงไธŽๆœ€ไฝณๅฎž่ทตใ€‚","permalink":"/fullstack/typescript-generic-types","tags":["tutorial","typescript","generics","type-system"],"categories":["ๅ…จๆ ˆ","ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹.md","filePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹.md"}'),p={name:"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹.md"};function h(k,s,t,e,r,d){return n(),a("div",null,[...s[0]||(s[0]=[l(`

่Šไธ€่Š TypeScript ไธญ็š„ๆณ›ๅž‹ โ€‹

ๆ‘˜่ฆๆ€ป็ป“: ๆณ›ๅž‹๏ผˆGenerics๏ผ‰ๆ˜ฏ TypeScript ไธญไธ€็งๅผบๅคง็š„็ฑปๅž‹็ณป็ปŸ็‰นๆ€ง๏ผŒๅ…่ฎธๅฎšไน‰็ฑปๅž‹ๅ‚ๆ•ฐๅŒ–็š„็ป„ไปถ๏ผŒไฝฟไปฃ็ ่ƒฝๅคŸๅœจๅคš็ง็ฑปๅž‹ไธŠๅฎ‰ๅ…จ่ฟ่กŒ๏ผŒๅŒๆ—ถไฟๆŒ็ฑปๅž‹ๆฃ€ๆŸฅใ€‚ๆœฌๆ–‡ไปŽๆณ›ๅž‹็š„ๅŸบๆœฌๆฆ‚ๅฟตๅ‡บๅ‘๏ผŒๅฏนๆฏ”ๆณ›ๅž‹ไธŽ any ็ฑปๅž‹็š„ๆœฌ่ดจๅทฎๅผ‚๏ผˆ็ฑปๅž‹ๅฎ‰ๅ…จใ€ไปฃ็ ๅค็”จใ€็ฑปๅž‹ๆŽจๆ–ญใ€ๅฏ่ฏปๆ€ง๏ผ‰๏ผŒๆทฑๅ…ฅๅ‰–ๆž็ฑปๅž‹ๅ‚ๆ•ฐๅŒ–ใ€็ฑปๅž‹ๆฃ€ๆŸฅใ€็ฑปๅž‹ๆŽจๆ–ญไธŽ็ฑปๅž‹ๆ“ฆ้™คๅ››ๆ–น้ขๅทฅไฝœๅŽŸ็†ใ€‚้€š่ฟ‡ๅคง้‡ๅฎžๆˆ˜ไปฃ็ ๆผ”็คบๆณ›ๅž‹ๅ‡ฝๆ•ฐใ€ๆณ›ๅž‹ๆŽฅๅฃใ€ๆณ›ๅž‹็ฑปๅŠๆณ›ๅž‹็ฑปๅž‹ๅˆซๅ็š„้ซ˜็บงๅบ”็”จ๏ผŒๅนถ็ณป็ปŸ่ฎฒ่งฃๅŸบๆœฌ็ฑปๅž‹็บฆๆŸใ€ๆŽฅๅฃ็บฆๆŸใ€ๅคš้‡็บฆๆŸไธŽ keyof ็บฆๆŸ็ญ‰้ซ˜้˜ถ็”จๆณ•ใ€‚ๆณ›ๅž‹็š„ๅญฆไน ่ทฏๅพ„ๆœฌ่ดจไธŠๆ˜ฏไปŽๅ…ทไฝ“ๅˆฐๆŠฝ่ฑก็š„ๆ€็ปด่ฎญ็ปƒ๏ผŒๆŽŒๆกๆณ›ๅž‹ๆ„ๅ‘ณ็€ๆŽŒๆกไบ† TypeScript ็ฑปๅž‹็ณป็ปŸ้ซ˜้˜ถ่ƒฝๅŠ›็š„้’ฅๅŒ™ใ€‚

1. ๆณ›ๅž‹็š„ๅŸบๆœฌๆฆ‚ๅฟตๅ’Œไฝœ็”จ โ€‹

1.1 ๆ ธๅฟƒๅฎšไน‰ โ€‹

ๆณ›ๅž‹๏ผˆGenerics๏ผ‰ ๆ˜ฏ TypeScript ไธญไธ€็งๅผบๅคง็š„็ฑปๅž‹็ณป็ปŸ็‰นๆ€ง๏ผŒๅ…่ฎธๅฎšไน‰็ฑปๅž‹ๅ‚ๆ•ฐๅŒ–็š„็ป„ไปถ๏ผŒไฝฟไปฃ็ ่ƒฝๅคŸๅœจๅคš็ง็ฑปๅž‹ไธŠๅฎ‰ๅ…จ่ฟ่กŒ๏ผŒๅŒๆ—ถไฟๆŒ็ฑปๅž‹ๆฃ€ๆŸฅใ€‚ๆณ›ๅž‹็š„ๆ ธๅฟƒๆ€ๆƒณๆ˜ฏๅฐ†็ฑปๅž‹ไฝœไธบๅ‚ๆ•ฐไผ ้€’็ป™ๅ‡ฝๆ•ฐใ€ๆŽฅๅฃๆˆ–็ฑป๏ผŒๅฎž็Žฐ"็ผ–ๅ†™ไธ€ๆฌก๏ผŒๅค็”จๅคšๆฌก"็š„ๆ•ˆๆžœใ€‚

1.2 ๆณ›ๅž‹ไธŽ any ็ฑปๅž‹็š„ๅฏนๆฏ” โ€‹

็‰นๆ€งๆณ›ๅž‹any ็ฑปๅž‹
็ฑปๅž‹ๅฎ‰ๅ…จโœ… ็ผ–่ฏ‘ๆ—ถ่ฟ›่กŒ็ฑปๅž‹ๆฃ€ๆŸฅโŒ ๅฎŒๅ…จๅคฑๅŽป็ฑปๅž‹ๆฃ€ๆŸฅ
ไปฃ็ ๅค็”จโœ… ๆ”ฏๆŒๅคš็ง็ฑปๅž‹ๅค็”จโœ… ๆ”ฏๆŒๅคš็ง็ฑปๅž‹๏ผŒไฝ†ๅคฑๅŽป็ฑปๅž‹ไฟกๆฏ
็ฑปๅž‹ๆŽจๆ–ญโœ… ็ผ–่ฏ‘ๅ™จๅฏๆŽจๆ–ญๅ…ทไฝ“็ฑปๅž‹โŒ ๆ— ๆณ•ๆŽจๆ–ญๅ…ทไฝ“็ฑปๅž‹
ๅฏ่ฏปๆ€งโœ… ๆ˜Ž็กฎ็ฑปๅž‹ๆ„ๅ›พโŒ ้š่—็ฑปๅž‹ไฟกๆฏ

1.3 ๆณ›ๅž‹็š„ๅทฅไฝœๅŽŸ็† โ€‹

็†่งฃๆณ›ๅž‹็š„ๅทฅไฝœๅŽŸ็†๏ผŒ้œ€่ฆไปŽๅ››ไธชๆ–น้ขๆฅๆŠŠๆก๏ผš

1ใ€็ฑปๅž‹ๅ‚ๆ•ฐๅŒ–

ๅฝ“ๆˆ‘ไปฌๅฎšไน‰ไธ€ไธชๆณ›ๅž‹ๅ‡ฝๆ•ฐ function foo<T>(arg: T): T ๆ—ถ๏ผŒT ๅฐฑๅƒๆ˜ฏไธ€ไธช"ไฝ็ฝฎ็š„ๅ ไฝ็ฌฆ"ใ€‚ๅœจ็ผ–ๅ†™ไปฃ็ ๆ—ถ๏ผŒๆˆ‘ไปฌ่ฟ˜ไธ็Ÿฅ้“ T ๅ…ทไฝ“ๆ˜ฏไป€ไนˆ็ฑปๅž‹๏ผŒไฝ†ๅฎƒๅทฒ็ปๅ…ทๅค‡ไบ†็ฑปๅž‹็š„่ฏญไน‰โ€”โ€”ๅœจๅ‚ๆ•ฐไฝ็ฝฎใ€่ฟ”ๅ›žๅ€ผไฝ็ฝฎ๏ผŒ็”š่‡ณๆ˜ฏๅŽ็ปญ็š„ๅ˜้‡ๅฃฐๆ˜Žไธญ๏ผŒT ้ƒฝไผš่ขซๅฝ“ไฝœไธ€ไธชๆœ‰ๆ•ˆ็š„็ฑปๅž‹ๆฅไฝฟ็”จใ€‚

2ใ€็ฑปๅž‹ๆฃ€ๆŸฅ

TypeScript ็ผ–่ฏ‘ๅ™จไผšๅฏนๆณ›ๅž‹ไปฃ็ ่ฟ›่กŒไธฅๆ ผ็š„็ฑปๅž‹ๆฃ€ๆŸฅใ€‚ไพ‹ๅฆ‚๏ผŒๅœจๅ‡ฝๆ•ฐไฝ“ๅ†…ๅฏน T ็ฑปๅž‹็š„ๅ‚ๆ•ฐ่ฐƒ็”จๅชๆœ‰็‰นๅฎš็ฑปๅž‹ๆ‰ๆœ‰็š„ๆ–นๆณ•ๆ—ถ๏ผŒ็ผ–่ฏ‘ๅ™จไผšๆŠฅ้”™ใ€‚่ฟ™็งๆฃ€ๆŸฅๅ‘็”Ÿๅœจ็ผ–่ฏ‘้˜ถๆฎต๏ผŒ่€Œไธๆ˜ฏ่ฟ่กŒๆ—ถ๏ผŒไปŽ่€Œ้ฟๅ…ไบ†่ฎธๅคšๆฝœๅœจ็š„ bugใ€‚

3ใ€็ฑปๅž‹ๆŽจๆ–ญ

ๅฝ“ๆˆ‘ไปฌ่ฐƒ็”จๆณ›ๅž‹ๅ‡ฝๆ•ฐๆ—ถ๏ผŒTypeScript ไผšๆ นๆฎไผ ๅ…ฅ็š„ๅ‚ๆ•ฐ่‡ชๅŠจๆŽจๆ–ญ T ็š„ๅ…ทไฝ“็ฑปๅž‹ใ€‚ๆฏ”ๅฆ‚่ฐƒ็”จ identity(42)๏ผŒ็ผ–่ฏ‘ๅ™จ่‡ชๅŠจๆŽจๆ–ญ T ไธบ numberใ€‚่ฟ™ไธ€ๆญฅๆ˜ฏๅฏ้€‰็š„๏ผŒๅฆ‚ๆžœๆ— ๆณ•ๆŽจๆ–ญ๏ผŒๆˆ‘ไปฌไนŸๅฏไปฅๆ˜พๅผๆŒ‡ๅฎš็ฑปๅž‹ๅ‚ๆ•ฐ identity<number>(42)ใ€‚

4ใ€็ฑปๅž‹ๆ“ฆ้™ค

่ฟ™ๆ˜ฏๆณ›ๅž‹็š„ไธ€ไธช้‡่ฆ็‰นๆ€งโ€”โ€”ๆณ›ๅž‹็ฑปๅž‹ไฟกๆฏๅชๅญ˜ๅœจไบŽ็ผ–่ฏ‘้˜ถๆฎตใ€‚็ผ–่ฏ‘ไธบ JavaScript ๆ—ถ๏ผŒๆ‰€ๆœ‰ <T> ็›ธๅ…ณ็š„็ฑปๅž‹ๆ ‡ๆณจ้ƒฝไผš่ขซๆ“ฆ้™ค๏ผŒๅชไฟ็•™ๆ™ฎ้€š็š„็ฑปๅž‹ๆณจ้‡Šๆˆ–ๅฎŒๅ…จๆฒกๆœ‰ไปปไฝ•็ฑปๅž‹ไฟกๆฏใ€‚ไพ‹ๅฆ‚ function identity<T>(arg: T): T ็ผ–่ฏ‘ๅŽไผšๅ˜ๆˆ function identity(arg) { return arg; }๏ผŒๆœ€็ปˆไบง็‰ฉไธญไธๅญ˜ๅœจไปปไฝ•ๆณ›ๅž‹็š„็—•่ฟนใ€‚

1.4 ๆณ›ๅž‹็š„ๆ ธๅฟƒไผ˜ๅŠฟ โ€‹

ๆณ›ๅž‹ไน‹ๆ‰€ไปฅ้‡่ฆ๏ผŒๆ˜ฏๅ› ไธบๅฎƒ่งฃๅ†ณไบ† JavaScript ็ฑปๅž‹็ณป็ปŸไธญ็š„ๅ‡ ไธชๆ ธๅฟƒ้—ฎ้ข˜๏ผš

ๆ ธๅฟƒไผ˜ๅŠฟ่ฏดๆ˜Ž
ไปฃ็ ๅค็”จๆ€ง็š„่ดจๅ˜ๅœจๆฒกๆœ‰ๆณ›ๅž‹็š„ๆ—ถไปฃ๏ผŒๅฆ‚ๆžœๆˆ‘ไปฌๆƒณ่ฎฉไธ€ไธชๅ‡ฝๆ•ฐๅŒๆ—ถๆ”ฏๆŒ string ๅ’Œ number ็ฑปๅž‹๏ผŒ้€šๅธธ้œ€่ฆ็ผ–ๅ†™ไธคไธช็‹ฌ็ซ‹ๅ‡ฝๆ•ฐ๏ผŒๆˆ–่€…ไฝฟ็”จ any ็ฑปๅž‹็‰บ็‰ฒ็ฑปๅž‹ๅฎ‰ๅ…จใ€‚่€Œๆณ›ๅž‹่ฎฉๆˆ‘ไปฌ็ผ–ๅ†™ไธ€ๅฅ—ไปฃ็ ๏ผŒๅฐฑ่ƒฝๅฎ‰ๅ…จๅœฐๅค„็†ๅคš็ง็ฑปๅž‹ใ€‚ไพ‹ๅฆ‚๏ผŒไธ€ไธช identity ๅ‡ฝๆ•ฐๆ—ขๅฏไปฅๅค„็† number๏ผŒไนŸๅฏไปฅๅค„็† string๏ผŒ็”š่‡ณๆ˜ฏ่‡ชๅฎšไน‰็š„ๅฏน่ฑก็ฑปๅž‹ใ€‚
็ฑปๅž‹ๅฎ‰ๅ…จๆ˜ฏๆœ€ๅคง็š„ไฟ้šœไฝฟ็”จ any ็ฑปๅž‹ๆ„ๅ‘ณ็€ๅฝปๅบ•ๆ”พๅผƒ็ฑปๅž‹ๆฃ€ๆŸฅ๏ผŒไปปไฝ•็ฑปๅž‹้”™่ฏฏ้ƒฝ่ฆๅˆฐ่ฟ่กŒๆ—ถๆ‰่ƒฝๅ‘็Žฐใ€‚่€Œๆณ›ๅž‹ๅœจ็ผ–่ฏ‘้˜ถๆฎตๅฐฑ่ƒฝๆ•่Žท็ฑปๅž‹ไธๅŒน้…็š„้—ฎ้ข˜๏ผŒๅฐ† bug ๆถˆ็ญๅœจๆ‘‡็ฏฎ้‡Œใ€‚่ฟ™ๅฏนไบŽๅคงๅž‹้กน็›ฎๅฐคไธบ้‡่ฆ๏ผŒๅ› ไธบ่ฟ่กŒๆ—ถ็ฑปๅž‹้”™่ฏฏๅพ€ๅพ€้šพไปฅๅฎšไฝๅ’Œไฟฎๅคใ€‚
ไปฃ็ ๆ„ๅ›พๆ›ดๅŠ ๆธ…ๆ™ฐany ็ฑปๅž‹ๅƒๆ˜ฏไธ€ไธช"้ป‘็ฎฑ"๏ผŒๅผ€ๅ‘่€…ๆ— ๆณ•ไปŽ็ฑปๅž‹ๅฃฐๆ˜Žไธญๅพ—็Ÿฅ่ฟ™ไธชๅ€ผๅบ”่ฏฅๆ˜ฏไป€ไนˆ็ฑปๅž‹ใ€‚่€Œๆณ›ๅž‹ Array<T>ใ€Promise<T> ็ญ‰ๅฃฐๆ˜Žๆ–นๅผ๏ผŒ่ฎฉไปฃ็ ่‡ชๆ่ฟฐๆ€งๆ›ดๅผบ๏ผŒๅŽ็ปญ็ปดๆŠค่€…่ƒฝๅคŸๅฟซ้€Ÿ็†่งฃๆ•ฐๆฎ็š„็ป“ๆž„ๅ’Œๆตๅ‘ใ€‚
้ขๅ‘ๆœชๆฅ็š„ๆ‰ฉๅฑ•ๆ€งๅŸบไบŽๆณ›ๅž‹่ฎพ่ฎก็š„ๆŽฅๅฃๅ’Œ็ฑป๏ผŒไธ้œ€่ฆไฟฎๆ”นๅŽŸๆœ‰ไปฃ็ ๅฐฑ่ƒฝๆ”ฏๆŒๆ–ฐ็š„ๆ•ฐๆฎ็ฑปๅž‹ใ€‚ๆฏ”ๅฆ‚ๆˆ‘ไปฌๅฎšไน‰ไบ†ไธ€ไธช Response<T> ๆŽฅๅฃ๏ผŒๅฝ“ไธšๅŠก้œ€่ฆๆ–ฐๅขžไธ€็งๆ•ฐๆฎ็ฑปๅž‹ๆ—ถ๏ผŒๅช้œ€่ฆไผ ๅ…ฅๆ–ฐ็š„็ฑปๅž‹ๅ‚ๆ•ฐๅณๅฏ๏ผŒ่€Œๆ— ้œ€ๆ”นๅŠจๆŽฅๅฃๅฎšไน‰ๆœฌ่บซใ€‚
ๆŽจๅŠจๆ›ดๅฅฝ็š„่ฎพ่ฎกๆณ›ๅž‹้ผ“ๅŠฑๅผ€ๅ‘่€…ไปŽไธ€ๅผ€ๅง‹ๅฐฑไปŽ้€š็”จ็š„่ง’ๅบฆๆ€่€ƒ้—ฎ้ข˜๏ผŒ่ฎพ่ฎกๅ‡บๆ›ดๅ…ทๆŠฝ่ฑกๆ€งๅ’Œๅค็”จๆ€ง็š„็ป„ไปถใ€‚่ฟ™็งๆ€่€ƒๆ–นๅผไธŽ้ขๅ‘ๅฏน่ฑก่ฎพ่ฎกๆจกๅผไธญ็š„"ไพ่ต–ๅ€’็ฝฎ"ใ€"ๅผ€้—ญๅŽŸๅˆ™"็ญ‰ๆ€ๆƒณไธ่ฐ‹่€Œๅˆใ€‚

1.5 ๆณ›ๅž‹็š„ๅบ”็”จๅœบๆ™ฏ โ€‹

ๆณ›ๅž‹ๅœจๅฎž้™…ๅผ€ๅ‘ไธญ็š„ๅบ”็”จ้žๅธธๅนฟๆณ›๏ผŒไปฅไธ‹ๆ˜ฏๅ‡ ไธชๆœ€ๅธธ่ง็š„ๅœบๆ™ฏ๏ผš

ๅบ”็”จๅœบๆ™ฏ่ฏดๆ˜Ž
้€š็”จๆ•ฐๆฎ็ป“ๆž„็š„ๅฎž็Žฐๆ•ฐๆฎ็ป“ๆž„ๅพ€ๅพ€ๆ˜ฏ้€š็”จ็š„โ€”โ€”ไธ€ไธชๆ ˆไธๅบ”่ฏฅๅช่ƒฝๅญ˜ๅ‚จ number๏ผŒๅฎƒๅบ”่ฏฅ่ƒฝๅญ˜ๅ‚จไปปๆ„็ฑปๅž‹ใ€‚ๆณ›ๅž‹่ฎฉๆˆ‘ไปฌ่ƒฝๅคŸๅฎšไน‰ๅฆ‚ Stack<T>ใ€Queue<T>ใ€LinkedList<T> ่ฟ™ๆ ท็œŸๆญฃ้€š็”จ็š„ๆ•ฐๆฎ็ป“ๆž„๏ผŒๅŒๆ—ถไฟๆŒๅฏนๅ†…้ƒจๅ…ƒ็ด ็ฑปๅž‹็š„ไธฅๆ ผๆฃ€ๆŸฅใ€‚
ๅทฅๅ…ทๅ‡ฝๆ•ฐๅ’Œ็ฑปๅบ“ๅผ€ๅ‘ๆ—ฅๅธธๅผ€ๅ‘ไธญ็š„ๅทฅๅ…ทๅ‡ฝๆ•ฐ๏ผŒๅฆ‚ๆทฑๆ‹ท่ดใ€JSON ๅบๅˆ—ๅŒ–ใ€ๆ•ฐ็ป„ๅค„็†็ญ‰๏ผŒ้ƒฝ้žๅธธ้€‚ๅˆไฝฟ็”จๆณ›ๅž‹ใ€‚่ฟ™็ฑปๅ‡ฝๆ•ฐ้œ€่ฆๅค„็†ๅ„็งไธๅŒ็š„ๆ•ฐๆฎ็ฑปๅž‹๏ผŒๆณ›ๅž‹่ƒฝๅคŸๅœจไฟๆŒ็ฑปๅž‹ๅฎ‰ๅ…จ็š„ๅŒๆ—ถ๏ผŒๅฎž็Žฐ็œŸๆญฃ็š„ๅค็”จใ€‚
API ๅ“ๅบ”ๆ•ฐๆฎ็š„็ฑปๅž‹ๅŒ–ไธŽๅŽ็ซฏๆŽฅๅฃไบคไบ’ๆ—ถ๏ผŒๅ“ๅบ”ๆ•ฐๆฎ็š„็ป“ๆž„ๅพ€ๅพ€ๆ˜ฏๅ›บๅฎš็š„๏ผŒไฝ†ๅ…ทไฝ“็š„ๆ•ฐๆฎ็ฑปๅž‹ๅฏ่ƒฝไธๅŒใ€‚้€š่ฟ‡ๆณ›ๅž‹ ApiResponse<T>๏ผŒๆˆ‘ไปฌๅฏไปฅไธบๆฏไธชๆŽฅๅฃๅฎšไน‰็ฒพ็กฎ็š„่ฟ”ๅ›ž็ฑปๅž‹๏ผŒๅŒๆ—ถไฟๆŒ API ่ฏทๆฑ‚้€ป่พ‘็š„็ปŸไธ€ใ€‚
ๅ‰็ซฏ็ป„ไปถๅบ“ๅผ€ๅ‘ๅœจ Reactใ€Vue ็ญ‰ๆก†ๆžถไธญ๏ผŒ็ป„ไปถ้€šๅธธ้œ€่ฆๅค„็†ๅ„็ง็ฑปๅž‹็š„ props ๅ’Œ stateใ€‚ๆณ›ๅž‹็ป„ไปถๅฆ‚ Table<T>ใ€List<T> ็ญ‰๏ผŒ่ƒฝๅคŸๅœจๆไพ›็ฑปๅž‹ๅฎ‰ๅ…จ็š„ๅŒๆ—ถ๏ผŒ้€‚ๅบ”ไธๅŒ็š„ไธšๅŠกๆ•ฐๆฎๆจกๅž‹ใ€‚
้€š็”จๆŽฅๅฃๅ’Œ็ฑป็š„่ฎพ่ฎก้ขๅ‘ๅฏน่ฑก็ผ–็จ‹ไธญ๏ผŒๆˆ‘ไปฌ็ปๅธธ้œ€่ฆๅฎšไน‰ไธ€ไบ›ๆœ‰้€š็”จ็บฆๆŸ็š„ๆŽฅๅฃใ€‚ๆฏ”ๅฆ‚ๅฎšไน‰ไธ€ไธช Repository<T> ๆŽฅๅฃ๏ผŒๆ‰€ๆœ‰ๅฎžไฝ“ไป“ๅ‚จ้ƒฝๅฎž็Žฐ่ฟ™ไธชๆŽฅๅฃ๏ผŒไฝ†ๆฏไธชไป“ๅ‚จๆ“ไฝœ็š„ๅฎžไฝ“็ฑปๅž‹ๅ„ไธ็›ธๅŒใ€‚ๆณ›ๅž‹่ฎฉ่ฟ™็ง่ฎพ่ฎกๆˆไธบๅฏ่ƒฝใ€‚

2. ๆณ›ๅž‹ไปฃ็ ็คบไพ‹ โ€‹

2.1 ๅŸบ็ก€ๆณ›ๅž‹ๅ‡ฝๆ•ฐ โ€‹

typescript
// ๆณ›ๅž‹ๆ ‡่ฏ†ๅ‡ฝๆ•ฐ๏ผš่ฟ”ๅ›žไธŽ่พ“ๅ…ฅ็›ธๅŒ็ฑปๅž‹็š„ๅ€ผ
+import{_ as i,g as a,h as n,U as l}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const g=JSON.parse('{"title":"่Šไธ€่Š TypeScript ไธญ็š„ๆณ›ๅž‹","description":"ๆœฌๆ–‡็ณป็ปŸ่งฃๆž TypeScript ๆณ›ๅž‹็š„ๆ ธๅฟƒๆฆ‚ๅฟตไธŽๅทฅไฝœๆœบๅˆถ๏ผŒๅฏนๆฏ”ๆณ›ๅž‹ไธŽ any ็ฑปๅž‹็š„ๅทฎๅผ‚๏ผŒๆถต็›–ๆณ›ๅž‹ๅ‡ฝๆ•ฐใ€ๆŽฅๅฃใ€็ฑปใ€็ฑปๅž‹ๅˆซๅ็š„ๅฎž่ทต็”จๆณ•๏ผŒไปฅๅŠๅŸบๆœฌ็ฑปๅž‹็บฆๆŸใ€ๆŽฅๅฃ็บฆๆŸใ€ๅคš้‡็บฆๆŸใ€keyof ็บฆๆŸ็ญ‰้ซ˜้˜ถๆŠ€ๅทงไธŽๆœ€ไฝณๅฎž่ทตใ€‚","frontmatter":{"date":"2025-08-20T22:51:27.000Z","title":"่Šไธ€่Š TypeScript ไธญ็š„ๆณ›ๅž‹","tldr":"ๆณ›ๅž‹ๅฐ†็ฑปๅž‹ไฝœไธบๅ‚ๆ•ฐ๏ผŒไฝฟไปฃ็ ๅœจๅคš็ง็ฑปๅž‹ไธŠๅฎ‰ๅ…จ่ฟ่กŒ๏ผŒๆ˜ฏ TypeScript ็ฑปๅž‹ๆŠฝ่ฑก็š„ๆ ธๅฟƒ็‰นๆ€งใ€‚","description":"ๆœฌๆ–‡็ณป็ปŸ่งฃๆž TypeScript ๆณ›ๅž‹็š„ๆ ธๅฟƒๆฆ‚ๅฟตไธŽๅทฅไฝœๆœบๅˆถ๏ผŒๅฏนๆฏ”ๆณ›ๅž‹ไธŽ any ็ฑปๅž‹็š„ๅทฎๅผ‚๏ผŒๆถต็›–ๆณ›ๅž‹ๅ‡ฝๆ•ฐใ€ๆŽฅๅฃใ€็ฑปใ€็ฑปๅž‹ๅˆซๅ็š„ๅฎž่ทต็”จๆณ•๏ผŒไปฅๅŠๅŸบๆœฌ็ฑปๅž‹็บฆๆŸใ€ๆŽฅๅฃ็บฆๆŸใ€ๅคš้‡็บฆๆŸใ€keyof ็บฆๆŸ็ญ‰้ซ˜้˜ถๆŠ€ๅทงไธŽๆœ€ไฝณๅฎž่ทตใ€‚","permalink":"/fullstack/typescript-generic-types","tags":["tutorial","typescript","generics","type-system"],"categories":["ๅ…จๆ ˆ","ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹.md","filePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹.md"}'),p={name:"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹.md"};function h(k,s,t,e,r,d){return n(),a("div",null,[...s[0]||(s[0]=[l(`

่Šไธ€่Š TypeScript ไธญ็š„ๆณ›ๅž‹ โ€‹

ๆ‘˜่ฆๆ€ป็ป“: ๆณ›ๅž‹๏ผˆGenerics๏ผ‰ๆ˜ฏ TypeScript ไธญไธ€็งๅผบๅคง็š„็ฑปๅž‹็ณป็ปŸ็‰นๆ€ง๏ผŒๅ…่ฎธๅฎšไน‰็ฑปๅž‹ๅ‚ๆ•ฐๅŒ–็š„็ป„ไปถ๏ผŒไฝฟไปฃ็ ่ƒฝๅคŸๅœจๅคš็ง็ฑปๅž‹ไธŠๅฎ‰ๅ…จ่ฟ่กŒ๏ผŒๅŒๆ—ถไฟๆŒ็ฑปๅž‹ๆฃ€ๆŸฅใ€‚ๆœฌๆ–‡ไปŽๆณ›ๅž‹็š„ๅŸบๆœฌๆฆ‚ๅฟตๅ‡บๅ‘๏ผŒๅฏนๆฏ”ๆณ›ๅž‹ไธŽ any ็ฑปๅž‹็š„ๆœฌ่ดจๅทฎๅผ‚๏ผˆ็ฑปๅž‹ๅฎ‰ๅ…จใ€ไปฃ็ ๅค็”จใ€็ฑปๅž‹ๆŽจๆ–ญใ€ๅฏ่ฏปๆ€ง๏ผ‰๏ผŒๆทฑๅ…ฅๅ‰–ๆž็ฑปๅž‹ๅ‚ๆ•ฐๅŒ–ใ€็ฑปๅž‹ๆฃ€ๆŸฅใ€็ฑปๅž‹ๆŽจๆ–ญไธŽ็ฑปๅž‹ๆ“ฆ้™คๅ››ๆ–น้ขๅทฅไฝœๅŽŸ็†ใ€‚้€š่ฟ‡ๅคง้‡ๅฎžๆˆ˜ไปฃ็ ๆผ”็คบๆณ›ๅž‹ๅ‡ฝๆ•ฐใ€ๆณ›ๅž‹ๆŽฅๅฃใ€ๆณ›ๅž‹็ฑปๅŠๆณ›ๅž‹็ฑปๅž‹ๅˆซๅ็š„้ซ˜็บงๅบ”็”จ๏ผŒๅนถ็ณป็ปŸ่ฎฒ่งฃๅŸบๆœฌ็ฑปๅž‹็บฆๆŸใ€ๆŽฅๅฃ็บฆๆŸใ€ๅคš้‡็บฆๆŸไธŽ keyof ็บฆๆŸ็ญ‰้ซ˜้˜ถ็”จๆณ•ใ€‚ๆณ›ๅž‹็š„ๅญฆไน ่ทฏๅพ„ๆœฌ่ดจไธŠๆ˜ฏไปŽๅ…ทไฝ“ๅˆฐๆŠฝ่ฑก็š„ๆ€็ปด่ฎญ็ปƒ๏ผŒๆŽŒๆกๆณ›ๅž‹ๆ„ๅ‘ณ็€ๆŽŒๆกไบ† TypeScript ็ฑปๅž‹็ณป็ปŸ้ซ˜้˜ถ่ƒฝๅŠ›็š„้’ฅๅŒ™ใ€‚

1. ๆณ›ๅž‹็š„ๅŸบๆœฌๆฆ‚ๅฟตๅ’Œไฝœ็”จ โ€‹

1.1 ๆ ธๅฟƒๅฎšไน‰ โ€‹

ๆณ›ๅž‹๏ผˆGenerics๏ผ‰ ๆ˜ฏ TypeScript ไธญไธ€็งๅผบๅคง็š„็ฑปๅž‹็ณป็ปŸ็‰นๆ€ง๏ผŒๅ…่ฎธๅฎšไน‰็ฑปๅž‹ๅ‚ๆ•ฐๅŒ–็š„็ป„ไปถ๏ผŒไฝฟไปฃ็ ่ƒฝๅคŸๅœจๅคš็ง็ฑปๅž‹ไธŠๅฎ‰ๅ…จ่ฟ่กŒ๏ผŒๅŒๆ—ถไฟๆŒ็ฑปๅž‹ๆฃ€ๆŸฅใ€‚ๆณ›ๅž‹็š„ๆ ธๅฟƒๆ€ๆƒณๆ˜ฏๅฐ†็ฑปๅž‹ไฝœไธบๅ‚ๆ•ฐไผ ้€’็ป™ๅ‡ฝๆ•ฐใ€ๆŽฅๅฃๆˆ–็ฑป๏ผŒๅฎž็Žฐ"็ผ–ๅ†™ไธ€ๆฌก๏ผŒๅค็”จๅคšๆฌก"็š„ๆ•ˆๆžœใ€‚

1.2 ๆณ›ๅž‹ไธŽ any ็ฑปๅž‹็š„ๅฏนๆฏ” โ€‹

็‰นๆ€งๆณ›ๅž‹any ็ฑปๅž‹
็ฑปๅž‹ๅฎ‰ๅ…จโœ… ็ผ–่ฏ‘ๆ—ถ่ฟ›่กŒ็ฑปๅž‹ๆฃ€ๆŸฅโŒ ๅฎŒๅ…จๅคฑๅŽป็ฑปๅž‹ๆฃ€ๆŸฅ
ไปฃ็ ๅค็”จโœ… ๆ”ฏๆŒๅคš็ง็ฑปๅž‹ๅค็”จโœ… ๆ”ฏๆŒๅคš็ง็ฑปๅž‹๏ผŒไฝ†ๅคฑๅŽป็ฑปๅž‹ไฟกๆฏ
็ฑปๅž‹ๆŽจๆ–ญโœ… ็ผ–่ฏ‘ๅ™จๅฏๆŽจๆ–ญๅ…ทไฝ“็ฑปๅž‹โŒ ๆ— ๆณ•ๆŽจๆ–ญๅ…ทไฝ“็ฑปๅž‹
ๅฏ่ฏปๆ€งโœ… ๆ˜Ž็กฎ็ฑปๅž‹ๆ„ๅ›พโŒ ้š่—็ฑปๅž‹ไฟกๆฏ

1.3 ๆณ›ๅž‹็š„ๅทฅไฝœๅŽŸ็† โ€‹

็†่งฃๆณ›ๅž‹็š„ๅทฅไฝœๅŽŸ็†๏ผŒ้œ€่ฆไปŽๅ››ไธชๆ–น้ขๆฅๆŠŠๆก๏ผš

1ใ€็ฑปๅž‹ๅ‚ๆ•ฐๅŒ–

ๅฝ“ๆˆ‘ไปฌๅฎšไน‰ไธ€ไธชๆณ›ๅž‹ๅ‡ฝๆ•ฐ function foo<T>(arg: T): T ๆ—ถ๏ผŒT ๅฐฑๅƒๆ˜ฏไธ€ไธช"ไฝ็ฝฎ็š„ๅ ไฝ็ฌฆ"ใ€‚ๅœจ็ผ–ๅ†™ไปฃ็ ๆ—ถ๏ผŒๆˆ‘ไปฌ่ฟ˜ไธ็Ÿฅ้“ T ๅ…ทไฝ“ๆ˜ฏไป€ไนˆ็ฑปๅž‹๏ผŒไฝ†ๅฎƒๅทฒ็ปๅ…ทๅค‡ไบ†็ฑปๅž‹็š„่ฏญไน‰โ€”โ€”ๅœจๅ‚ๆ•ฐไฝ็ฝฎใ€่ฟ”ๅ›žๅ€ผไฝ็ฝฎ๏ผŒ็”š่‡ณๆ˜ฏๅŽ็ปญ็š„ๅ˜้‡ๅฃฐๆ˜Žไธญ๏ผŒT ้ƒฝไผš่ขซๅฝ“ไฝœไธ€ไธชๆœ‰ๆ•ˆ็š„็ฑปๅž‹ๆฅไฝฟ็”จใ€‚

2ใ€็ฑปๅž‹ๆฃ€ๆŸฅ

TypeScript ็ผ–่ฏ‘ๅ™จไผšๅฏนๆณ›ๅž‹ไปฃ็ ่ฟ›่กŒไธฅๆ ผ็š„็ฑปๅž‹ๆฃ€ๆŸฅใ€‚ไพ‹ๅฆ‚๏ผŒๅœจๅ‡ฝๆ•ฐไฝ“ๅ†…ๅฏน T ็ฑปๅž‹็š„ๅ‚ๆ•ฐ่ฐƒ็”จๅชๆœ‰็‰นๅฎš็ฑปๅž‹ๆ‰ๆœ‰็š„ๆ–นๆณ•ๆ—ถ๏ผŒ็ผ–่ฏ‘ๅ™จไผšๆŠฅ้”™ใ€‚่ฟ™็งๆฃ€ๆŸฅๅ‘็”Ÿๅœจ็ผ–่ฏ‘้˜ถๆฎต๏ผŒ่€Œไธๆ˜ฏ่ฟ่กŒๆ—ถ๏ผŒไปŽ่€Œ้ฟๅ…ไบ†่ฎธๅคšๆฝœๅœจ็š„ bugใ€‚

3ใ€็ฑปๅž‹ๆŽจๆ–ญ

ๅฝ“ๆˆ‘ไปฌ่ฐƒ็”จๆณ›ๅž‹ๅ‡ฝๆ•ฐๆ—ถ๏ผŒTypeScript ไผšๆ นๆฎไผ ๅ…ฅ็š„ๅ‚ๆ•ฐ่‡ชๅŠจๆŽจๆ–ญ T ็š„ๅ…ทไฝ“็ฑปๅž‹ใ€‚ๆฏ”ๅฆ‚่ฐƒ็”จ identity(42)๏ผŒ็ผ–่ฏ‘ๅ™จ่‡ชๅŠจๆŽจๆ–ญ T ไธบ numberใ€‚่ฟ™ไธ€ๆญฅๆ˜ฏๅฏ้€‰็š„๏ผŒๅฆ‚ๆžœๆ— ๆณ•ๆŽจๆ–ญ๏ผŒๆˆ‘ไปฌไนŸๅฏไปฅๆ˜พๅผๆŒ‡ๅฎš็ฑปๅž‹ๅ‚ๆ•ฐ identity<number>(42)ใ€‚

4ใ€็ฑปๅž‹ๆ“ฆ้™ค

่ฟ™ๆ˜ฏๆณ›ๅž‹็š„ไธ€ไธช้‡่ฆ็‰นๆ€งโ€”โ€”ๆณ›ๅž‹็ฑปๅž‹ไฟกๆฏๅชๅญ˜ๅœจไบŽ็ผ–่ฏ‘้˜ถๆฎตใ€‚็ผ–่ฏ‘ไธบ JavaScript ๆ—ถ๏ผŒๆ‰€ๆœ‰ <T> ็›ธๅ…ณ็š„็ฑปๅž‹ๆ ‡ๆณจ้ƒฝไผš่ขซๆ“ฆ้™ค๏ผŒๅชไฟ็•™ๆ™ฎ้€š็š„็ฑปๅž‹ๆณจ้‡Šๆˆ–ๅฎŒๅ…จๆฒกๆœ‰ไปปไฝ•็ฑปๅž‹ไฟกๆฏใ€‚ไพ‹ๅฆ‚ function identity<T>(arg: T): T ็ผ–่ฏ‘ๅŽไผšๅ˜ๆˆ function identity(arg) { return arg; }๏ผŒๆœ€็ปˆไบง็‰ฉไธญไธๅญ˜ๅœจไปปไฝ•ๆณ›ๅž‹็š„็—•่ฟนใ€‚

1.4 ๆณ›ๅž‹็š„ๆ ธๅฟƒไผ˜ๅŠฟ โ€‹

ๆณ›ๅž‹ไน‹ๆ‰€ไปฅ้‡่ฆ๏ผŒๆ˜ฏๅ› ไธบๅฎƒ่งฃๅ†ณไบ† JavaScript ็ฑปๅž‹็ณป็ปŸไธญ็š„ๅ‡ ไธชๆ ธๅฟƒ้—ฎ้ข˜๏ผš

ๆ ธๅฟƒไผ˜ๅŠฟ่ฏดๆ˜Ž
ไปฃ็ ๅค็”จๆ€ง็š„่ดจๅ˜ๅœจๆฒกๆœ‰ๆณ›ๅž‹็š„ๆ—ถไปฃ๏ผŒๅฆ‚ๆžœๆˆ‘ไปฌๆƒณ่ฎฉไธ€ไธชๅ‡ฝๆ•ฐๅŒๆ—ถๆ”ฏๆŒ string ๅ’Œ number ็ฑปๅž‹๏ผŒ้€šๅธธ้œ€่ฆ็ผ–ๅ†™ไธคไธช็‹ฌ็ซ‹ๅ‡ฝๆ•ฐ๏ผŒๆˆ–่€…ไฝฟ็”จ any ็ฑปๅž‹็‰บ็‰ฒ็ฑปๅž‹ๅฎ‰ๅ…จใ€‚่€Œๆณ›ๅž‹่ฎฉๆˆ‘ไปฌ็ผ–ๅ†™ไธ€ๅฅ—ไปฃ็ ๏ผŒๅฐฑ่ƒฝๅฎ‰ๅ…จๅœฐๅค„็†ๅคš็ง็ฑปๅž‹ใ€‚ไพ‹ๅฆ‚๏ผŒไธ€ไธช identity ๅ‡ฝๆ•ฐๆ—ขๅฏไปฅๅค„็† number๏ผŒไนŸๅฏไปฅๅค„็† string๏ผŒ็”š่‡ณๆ˜ฏ่‡ชๅฎšไน‰็š„ๅฏน่ฑก็ฑปๅž‹ใ€‚
็ฑปๅž‹ๅฎ‰ๅ…จๆ˜ฏๆœ€ๅคง็š„ไฟ้šœไฝฟ็”จ any ็ฑปๅž‹ๆ„ๅ‘ณ็€ๅฝปๅบ•ๆ”พๅผƒ็ฑปๅž‹ๆฃ€ๆŸฅ๏ผŒไปปไฝ•็ฑปๅž‹้”™่ฏฏ้ƒฝ่ฆๅˆฐ่ฟ่กŒๆ—ถๆ‰่ƒฝๅ‘็Žฐใ€‚่€Œๆณ›ๅž‹ๅœจ็ผ–่ฏ‘้˜ถๆฎตๅฐฑ่ƒฝๆ•่Žท็ฑปๅž‹ไธๅŒน้…็š„้—ฎ้ข˜๏ผŒๅฐ† bug ๆถˆ็ญๅœจๆ‘‡็ฏฎ้‡Œใ€‚่ฟ™ๅฏนไบŽๅคงๅž‹้กน็›ฎๅฐคไธบ้‡่ฆ๏ผŒๅ› ไธบ่ฟ่กŒๆ—ถ็ฑปๅž‹้”™่ฏฏๅพ€ๅพ€้šพไปฅๅฎšไฝๅ’Œไฟฎๅคใ€‚
ไปฃ็ ๆ„ๅ›พๆ›ดๅŠ ๆธ…ๆ™ฐany ็ฑปๅž‹ๅƒๆ˜ฏไธ€ไธช"้ป‘็ฎฑ"๏ผŒๅผ€ๅ‘่€…ๆ— ๆณ•ไปŽ็ฑปๅž‹ๅฃฐๆ˜Žไธญๅพ—็Ÿฅ่ฟ™ไธชๅ€ผๅบ”่ฏฅๆ˜ฏไป€ไนˆ็ฑปๅž‹ใ€‚่€Œๆณ›ๅž‹ Array<T>ใ€Promise<T> ็ญ‰ๅฃฐๆ˜Žๆ–นๅผ๏ผŒ่ฎฉไปฃ็ ่‡ชๆ่ฟฐๆ€งๆ›ดๅผบ๏ผŒๅŽ็ปญ็ปดๆŠค่€…่ƒฝๅคŸๅฟซ้€Ÿ็†่งฃๆ•ฐๆฎ็š„็ป“ๆž„ๅ’Œๆตๅ‘ใ€‚
้ขๅ‘ๆœชๆฅ็š„ๆ‰ฉๅฑ•ๆ€งๅŸบไบŽๆณ›ๅž‹่ฎพ่ฎก็š„ๆŽฅๅฃๅ’Œ็ฑป๏ผŒไธ้œ€่ฆไฟฎๆ”นๅŽŸๆœ‰ไปฃ็ ๅฐฑ่ƒฝๆ”ฏๆŒๆ–ฐ็š„ๆ•ฐๆฎ็ฑปๅž‹ใ€‚ๆฏ”ๅฆ‚ๆˆ‘ไปฌๅฎšไน‰ไบ†ไธ€ไธช Response<T> ๆŽฅๅฃ๏ผŒๅฝ“ไธšๅŠก้œ€่ฆๆ–ฐๅขžไธ€็งๆ•ฐๆฎ็ฑปๅž‹ๆ—ถ๏ผŒๅช้œ€่ฆไผ ๅ…ฅๆ–ฐ็š„็ฑปๅž‹ๅ‚ๆ•ฐๅณๅฏ๏ผŒ่€Œๆ— ้œ€ๆ”นๅŠจๆŽฅๅฃๅฎšไน‰ๆœฌ่บซใ€‚
ๆŽจๅŠจๆ›ดๅฅฝ็š„่ฎพ่ฎกๆณ›ๅž‹้ผ“ๅŠฑๅผ€ๅ‘่€…ไปŽไธ€ๅผ€ๅง‹ๅฐฑไปŽ้€š็”จ็š„่ง’ๅบฆๆ€่€ƒ้—ฎ้ข˜๏ผŒ่ฎพ่ฎกๅ‡บๆ›ดๅ…ทๆŠฝ่ฑกๆ€งๅ’Œๅค็”จๆ€ง็š„็ป„ไปถใ€‚่ฟ™็งๆ€่€ƒๆ–นๅผไธŽ้ขๅ‘ๅฏน่ฑก่ฎพ่ฎกๆจกๅผไธญ็š„"ไพ่ต–ๅ€’็ฝฎ"ใ€"ๅผ€้—ญๅŽŸๅˆ™"็ญ‰ๆ€ๆƒณไธ่ฐ‹่€Œๅˆใ€‚

1.5 ๆณ›ๅž‹็š„ๅบ”็”จๅœบๆ™ฏ โ€‹

ๆณ›ๅž‹ๅœจๅฎž้™…ๅผ€ๅ‘ไธญ็š„ๅบ”็”จ้žๅธธๅนฟๆณ›๏ผŒไปฅไธ‹ๆ˜ฏๅ‡ ไธชๆœ€ๅธธ่ง็š„ๅœบๆ™ฏ๏ผš

ๅบ”็”จๅœบๆ™ฏ่ฏดๆ˜Ž
้€š็”จๆ•ฐๆฎ็ป“ๆž„็š„ๅฎž็Žฐๆ•ฐๆฎ็ป“ๆž„ๅพ€ๅพ€ๆ˜ฏ้€š็”จ็š„โ€”โ€”ไธ€ไธชๆ ˆไธๅบ”่ฏฅๅช่ƒฝๅญ˜ๅ‚จ number๏ผŒๅฎƒๅบ”่ฏฅ่ƒฝๅญ˜ๅ‚จไปปๆ„็ฑปๅž‹ใ€‚ๆณ›ๅž‹่ฎฉๆˆ‘ไปฌ่ƒฝๅคŸๅฎšไน‰ๅฆ‚ Stack<T>ใ€Queue<T>ใ€LinkedList<T> ่ฟ™ๆ ท็œŸๆญฃ้€š็”จ็š„ๆ•ฐๆฎ็ป“ๆž„๏ผŒๅŒๆ—ถไฟๆŒๅฏนๅ†…้ƒจๅ…ƒ็ด ็ฑปๅž‹็š„ไธฅๆ ผๆฃ€ๆŸฅใ€‚
ๅทฅๅ…ทๅ‡ฝๆ•ฐๅ’Œ็ฑปๅบ“ๅผ€ๅ‘ๆ—ฅๅธธๅผ€ๅ‘ไธญ็š„ๅทฅๅ…ทๅ‡ฝๆ•ฐ๏ผŒๅฆ‚ๆทฑๆ‹ท่ดใ€JSON ๅบๅˆ—ๅŒ–ใ€ๆ•ฐ็ป„ๅค„็†็ญ‰๏ผŒ้ƒฝ้žๅธธ้€‚ๅˆไฝฟ็”จๆณ›ๅž‹ใ€‚่ฟ™็ฑปๅ‡ฝๆ•ฐ้œ€่ฆๅค„็†ๅ„็งไธๅŒ็š„ๆ•ฐๆฎ็ฑปๅž‹๏ผŒๆณ›ๅž‹่ƒฝๅคŸๅœจไฟๆŒ็ฑปๅž‹ๅฎ‰ๅ…จ็š„ๅŒๆ—ถ๏ผŒๅฎž็Žฐ็œŸๆญฃ็š„ๅค็”จใ€‚
API ๅ“ๅบ”ๆ•ฐๆฎ็š„็ฑปๅž‹ๅŒ–ไธŽๅŽ็ซฏๆŽฅๅฃไบคไบ’ๆ—ถ๏ผŒๅ“ๅบ”ๆ•ฐๆฎ็š„็ป“ๆž„ๅพ€ๅพ€ๆ˜ฏๅ›บๅฎš็š„๏ผŒไฝ†ๅ…ทไฝ“็š„ๆ•ฐๆฎ็ฑปๅž‹ๅฏ่ƒฝไธๅŒใ€‚้€š่ฟ‡ๆณ›ๅž‹ ApiResponse<T>๏ผŒๆˆ‘ไปฌๅฏไปฅไธบๆฏไธชๆŽฅๅฃๅฎšไน‰็ฒพ็กฎ็š„่ฟ”ๅ›ž็ฑปๅž‹๏ผŒๅŒๆ—ถไฟๆŒ API ่ฏทๆฑ‚้€ป่พ‘็š„็ปŸไธ€ใ€‚
ๅ‰็ซฏ็ป„ไปถๅบ“ๅผ€ๅ‘ๅœจ Reactใ€Vue ็ญ‰ๆก†ๆžถไธญ๏ผŒ็ป„ไปถ้€šๅธธ้œ€่ฆๅค„็†ๅ„็ง็ฑปๅž‹็š„ props ๅ’Œ stateใ€‚ๆณ›ๅž‹็ป„ไปถๅฆ‚ Table<T>ใ€List<T> ็ญ‰๏ผŒ่ƒฝๅคŸๅœจๆไพ›็ฑปๅž‹ๅฎ‰ๅ…จ็š„ๅŒๆ—ถ๏ผŒ้€‚ๅบ”ไธๅŒ็š„ไธšๅŠกๆ•ฐๆฎๆจกๅž‹ใ€‚
้€š็”จๆŽฅๅฃๅ’Œ็ฑป็š„่ฎพ่ฎก้ขๅ‘ๅฏน่ฑก็ผ–็จ‹ไธญ๏ผŒๆˆ‘ไปฌ็ปๅธธ้œ€่ฆๅฎšไน‰ไธ€ไบ›ๆœ‰้€š็”จ็บฆๆŸ็š„ๆŽฅๅฃใ€‚ๆฏ”ๅฆ‚ๅฎšไน‰ไธ€ไธช Repository<T> ๆŽฅๅฃ๏ผŒๆ‰€ๆœ‰ๅฎžไฝ“ไป“ๅ‚จ้ƒฝๅฎž็Žฐ่ฟ™ไธชๆŽฅๅฃ๏ผŒไฝ†ๆฏไธชไป“ๅ‚จๆ“ไฝœ็š„ๅฎžไฝ“็ฑปๅž‹ๅ„ไธ็›ธๅŒใ€‚ๆณ›ๅž‹่ฎฉ่ฟ™็ง่ฎพ่ฎกๆˆไธบๅฏ่ƒฝใ€‚

2. ๆณ›ๅž‹ไปฃ็ ็คบไพ‹ โ€‹

2.1 ๅŸบ็ก€ๆณ›ๅž‹ๅ‡ฝๆ•ฐ โ€‹

typescript
// ๆณ›ๅž‹ๆ ‡่ฏ†ๅ‡ฝๆ•ฐ๏ผš่ฟ”ๅ›žไธŽ่พ“ๅ…ฅ็›ธๅŒ็ฑปๅž‹็š„ๅ€ผ
 // <T>๏ผš็ฑปๅž‹ๅ‚ๆ•ฐ๏ผŒไปฃ่กจไปปๆ„็ฑปๅž‹
 // arg: T๏ผšๅ‚ๆ•ฐ็ฑปๅž‹ไธบ T
 // : T๏ผš่ฟ”ๅ›žๅ€ผ็ฑปๅž‹ไธบ T
diff --git "a/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_10.\350\201\212\344\270\200\350\201\212 Typescript \346\263\233\345\236\213.md.CavsGSMv.lean.js" "b/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_10.\350\201\212\344\270\200\350\201\212 Typescript \346\263\233\345\236\213.md.BpsDJhtc.lean.js"
similarity index 95%
rename from "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_10.\350\201\212\344\270\200\350\201\212 Typescript \346\263\233\345\236\213.md.CavsGSMv.lean.js"
rename to "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_10.\350\201\212\344\270\200\350\201\212 Typescript \346\263\233\345\236\213.md.BpsDJhtc.lean.js"
index b4af1dfe..99b4aca2 100644
--- "a/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_10.\350\201\212\344\270\200\350\201\212 Typescript \346\263\233\345\236\213.md.CavsGSMv.lean.js"	
+++ "b/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_10.\350\201\212\344\270\200\350\201\212 Typescript \346\263\233\345\236\213.md.BpsDJhtc.lean.js"	
@@ -1 +1 @@
-import{_ as i,g as a,h as n,U as l}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const g=JSON.parse('{"title":"่Šไธ€่Š TypeScript ไธญ็š„ๆณ›ๅž‹","description":"ๆœฌๆ–‡็ณป็ปŸ่งฃๆž TypeScript ๆณ›ๅž‹็š„ๆ ธๅฟƒๆฆ‚ๅฟตไธŽๅทฅไฝœๆœบๅˆถ๏ผŒๅฏนๆฏ”ๆณ›ๅž‹ไธŽ any ็ฑปๅž‹็š„ๅทฎๅผ‚๏ผŒๆถต็›–ๆณ›ๅž‹ๅ‡ฝๆ•ฐใ€ๆŽฅๅฃใ€็ฑปใ€็ฑปๅž‹ๅˆซๅ็š„ๅฎž่ทต็”จๆณ•๏ผŒไปฅๅŠๅŸบๆœฌ็ฑปๅž‹็บฆๆŸใ€ๆŽฅๅฃ็บฆๆŸใ€ๅคš้‡็บฆๆŸใ€keyof ็บฆๆŸ็ญ‰้ซ˜้˜ถๆŠ€ๅทงไธŽๆœ€ไฝณๅฎž่ทตใ€‚","frontmatter":{"date":"2025-08-20T22:51:27.000Z","title":"่Šไธ€่Š TypeScript ไธญ็š„ๆณ›ๅž‹","tldr":"ๆณ›ๅž‹ๅฐ†็ฑปๅž‹ไฝœไธบๅ‚ๆ•ฐ๏ผŒไฝฟไปฃ็ ๅœจๅคš็ง็ฑปๅž‹ไธŠๅฎ‰ๅ…จ่ฟ่กŒ๏ผŒๆ˜ฏ TypeScript ็ฑปๅž‹ๆŠฝ่ฑก็š„ๆ ธๅฟƒ็‰นๆ€งใ€‚","description":"ๆœฌๆ–‡็ณป็ปŸ่งฃๆž TypeScript ๆณ›ๅž‹็š„ๆ ธๅฟƒๆฆ‚ๅฟตไธŽๅทฅไฝœๆœบๅˆถ๏ผŒๅฏนๆฏ”ๆณ›ๅž‹ไธŽ any ็ฑปๅž‹็š„ๅทฎๅผ‚๏ผŒๆถต็›–ๆณ›ๅž‹ๅ‡ฝๆ•ฐใ€ๆŽฅๅฃใ€็ฑปใ€็ฑปๅž‹ๅˆซๅ็š„ๅฎž่ทต็”จๆณ•๏ผŒไปฅๅŠๅŸบๆœฌ็ฑปๅž‹็บฆๆŸใ€ๆŽฅๅฃ็บฆๆŸใ€ๅคš้‡็บฆๆŸใ€keyof ็บฆๆŸ็ญ‰้ซ˜้˜ถๆŠ€ๅทงไธŽๆœ€ไฝณๅฎž่ทตใ€‚","permalink":"/fullstack/typescript-generic-types","tags":["tutorial","typescript","generics","type-system"],"categories":["ๅ…จๆ ˆ","ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹.md","filePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹.md"}'),p={name:"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹.md"};function h(k,s,t,e,r,d){return n(),a("div",null,[...s[0]||(s[0]=[l("",82)])])}const y=i(p,[["render",h]]);export{g as __pageData,y as default};
+import{_ as i,g as a,h as n,U as l}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const g=JSON.parse('{"title":"่Šไธ€่Š TypeScript ไธญ็š„ๆณ›ๅž‹","description":"ๆœฌๆ–‡็ณป็ปŸ่งฃๆž TypeScript ๆณ›ๅž‹็š„ๆ ธๅฟƒๆฆ‚ๅฟตไธŽๅทฅไฝœๆœบๅˆถ๏ผŒๅฏนๆฏ”ๆณ›ๅž‹ไธŽ any ็ฑปๅž‹็š„ๅทฎๅผ‚๏ผŒๆถต็›–ๆณ›ๅž‹ๅ‡ฝๆ•ฐใ€ๆŽฅๅฃใ€็ฑปใ€็ฑปๅž‹ๅˆซๅ็š„ๅฎž่ทต็”จๆณ•๏ผŒไปฅๅŠๅŸบๆœฌ็ฑปๅž‹็บฆๆŸใ€ๆŽฅๅฃ็บฆๆŸใ€ๅคš้‡็บฆๆŸใ€keyof ็บฆๆŸ็ญ‰้ซ˜้˜ถๆŠ€ๅทงไธŽๆœ€ไฝณๅฎž่ทตใ€‚","frontmatter":{"date":"2025-08-20T22:51:27.000Z","title":"่Šไธ€่Š TypeScript ไธญ็š„ๆณ›ๅž‹","tldr":"ๆณ›ๅž‹ๅฐ†็ฑปๅž‹ไฝœไธบๅ‚ๆ•ฐ๏ผŒไฝฟไปฃ็ ๅœจๅคš็ง็ฑปๅž‹ไธŠๅฎ‰ๅ…จ่ฟ่กŒ๏ผŒๆ˜ฏ TypeScript ็ฑปๅž‹ๆŠฝ่ฑก็š„ๆ ธๅฟƒ็‰นๆ€งใ€‚","description":"ๆœฌๆ–‡็ณป็ปŸ่งฃๆž TypeScript ๆณ›ๅž‹็š„ๆ ธๅฟƒๆฆ‚ๅฟตไธŽๅทฅไฝœๆœบๅˆถ๏ผŒๅฏนๆฏ”ๆณ›ๅž‹ไธŽ any ็ฑปๅž‹็š„ๅทฎๅผ‚๏ผŒๆถต็›–ๆณ›ๅž‹ๅ‡ฝๆ•ฐใ€ๆŽฅๅฃใ€็ฑปใ€็ฑปๅž‹ๅˆซๅ็š„ๅฎž่ทต็”จๆณ•๏ผŒไปฅๅŠๅŸบๆœฌ็ฑปๅž‹็บฆๆŸใ€ๆŽฅๅฃ็บฆๆŸใ€ๅคš้‡็บฆๆŸใ€keyof ็บฆๆŸ็ญ‰้ซ˜้˜ถๆŠ€ๅทงไธŽๆœ€ไฝณๅฎž่ทตใ€‚","permalink":"/fullstack/typescript-generic-types","tags":["tutorial","typescript","generics","type-system"],"categories":["ๅ…จๆ ˆ","ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹.md","filePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹.md"}'),p={name:"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹.md"};function h(k,s,t,e,r,d){return n(),a("div",null,[...s[0]||(s[0]=[l("",82)])])}const y=i(p,[["render",h]]);export{g as __pageData,y as default};
diff --git "a/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_0.overview.md.BdLdBuUH.js" "b/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_0.overview.md.CwRE_Svk.js"
similarity index 99%
rename from "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_0.overview.md.BdLdBuUH.js"
rename to "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_0.overview.md.CwRE_Svk.js"
index 78b5ddd9..3b6f9674 100644
--- "a/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_0.overview.md.BdLdBuUH.js"
+++ "b/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_0.overview.md.CwRE_Svk.js"
@@ -1,4 +1,4 @@
-import{_ as i,g as a,h as n,U as l}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const E=JSON.parse('{"title":"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—","description":"็ณป็ปŸๆขณ็† JavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›๏ผˆIIFEโ†’CJSโ†’ESM๏ผ‰ใ€TypeScript ็ฑปๅž‹ๅขžๅผบใ€ๅˆ†ๅฑ‚ๆžถๆž„ไธŽ DDD ๅฎž่ทตใ€‚","frontmatter":{"date":"2024-05-18T22:49:57.000Z","title":"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—","tldr":"ไปŽ ES Modules ๅˆฐๅคงๅž‹้กน็›ฎๅˆ†ๅฑ‚ๆžถๆž„ไธŽๅทฅ็จ‹ๅŒ–ๅฎž่ทต๏ผŒๆž„ๅปบๅ…จๆ ˆๆจกๅ—ๅŒ–็Ÿฅ่ฏ†ไฝ“็ณปใ€‚","description":"็ณป็ปŸๆขณ็† JavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›๏ผˆIIFEโ†’CJSโ†’ESM๏ผ‰ใ€TypeScript ็ฑปๅž‹ๅขžๅผบใ€ๅˆ†ๅฑ‚ๆžถๆž„ไธŽ DDD ๅฎž่ทตใ€‚","permalink":"/fullstack/module-programming-practice-guide","tags":["tutorial","ESM","DDD","ๅพฎๅ‰็ซฏ"],"categories":["ๅ…จๆ ˆ","ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป","ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview.md","filePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview.md"}'),p={name:"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview.md"};function h(k,s,t,e,r,F){return n(),a("div",null,[...s[0]||(s[0]=[l(`

ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ— โ€‹

ไฝœไธบๆจกๅ—ๅŒ–็ผ–็จ‹็ณปๅˆ—็š„ๆ€ป่งˆๆ–‡็ซ ๏ผŒๆœฌๆ–‡็ณป็ปŸๆขณ็†ไบ†ไปŽๅŸบ็ก€ๆฆ‚ๅฟตๅˆฐๅคงๅž‹้กน็›ฎๆžถๆž„่ฎพ่ฎก็š„ๅ…จๆ ˆ็Ÿฅ่ฏ†ไฝ“็ณปใ€‚้ฆ–ๅ…ˆไป‹็ปๅˆ†ๅฑ‚ๆžถๆž„่ฎพ่ฎก๏ผŒๅŒ…ๆ‹ฌๅ‰็ซฏ React ๅˆ†ๅฑ‚ไธŽๅŽ็ซฏ NestJS ๅˆ†ๅฑ‚๏ผŒไปฅๅŠ DDD ๅ››ๅฑ‚ๆžถๆž„ใ€‚้šๅŽๆŽข่ฎจๅพฎๅ‰็ซฏๆžถๆž„๏ผŒ่งฃๆž iframeใ€Web Componentsใ€single-spaใ€qiankunใ€ๆจกๅ—่”้‚ฆ็ญ‰ๆ–นๆกˆ็š„ไผ˜ๅŠฃๅŠฟ๏ผŒๅนถๆไพ›ๆจกๅ—่”้‚ฆ็š„ๅฎŒๆ•ดๅฎžๆˆ˜้…็ฝฎใ€‚็ณปๅˆ—ๆ–‡็ซ ๆถต็›– CommonJSใ€AMDใ€UMDใ€ES Modules ็ญ‰่ง„่Œƒๆผ”่ฟ›๏ผŒไปฅๅŠ TypeScript ๆจกๅ—ๅขžๅผบใ€ๅทฅ็จ‹ๅŒ–ๅฎž่ทตไธŽ Node.js ๆจกๅ—ๅŒ–ใ€‚

1. ๅผ•่จ€ โ€‹

ๆจกๅ—ๅŒ–็ผ–็จ‹ๆ˜ฏ็Žฐไปฃ JavaScript/TypeScript ๅผ€ๅ‘็š„ๆ ธๅฟƒๅŽŸๅˆ™๏ผŒๅฎƒ้€š่ฟ‡ๅฐ†ๅคๆ‚็ณป็ปŸๆ‹†ๅˆ†ไธบ็‹ฌ็ซ‹ๅฏๅค็”จ็š„ๆจกๅ—๏ผŒ้™ไฝŽ็ณป็ปŸๅคๆ‚ๆ€งๅนถๆ้ซ˜ๅฏ็ปดๆŠคๆ€งไธŽๅฏๅค็”จๆ€งใ€‚ๅ› ๆญค๏ผŒๆˆ‘ไปฌ้€š่ฟ‡็ณปๅˆ—ๆ–‡็ซ ่ฏฆ็ป†ไป‹็ปไบ†ๆจกๅ—ๅŒ–็š„ๅŸบ็ก€ๆฆ‚ๅฟตใ€ๆผ”่ฟ›ๅކ็จ‹ใ€ไธๅŒ่ง„่Œƒ็š„ๆทฑๅบฆ่งฃๆžใ€TypeScriptๆจกๅ—ๅŒ–ๅขžๅผบใ€ES Modules ๆ ธๅฟƒ่ฏญๆณ•ไธŽๅฎž่ทตใ€ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทตใ€ๅ‰็ซฏๅทฅ็จ‹ๅŒ–ไธญ็š„ๆจกๅ—ๅŒ–ใ€Node.jsไธญ็š„ๆจกๅ—ๅŒ–ๅฎž่ทตใ€ๅคงๅž‹้กน็›ฎไธญ็š„ๆจกๅ—ๅŒ–่ฎพ่ฎกใ€ๆจกๅ—ๅŒ–ไธŽไปฃ็ ็ปดๆŠคไปฅๅŠๆœชๆฅๅ‘ๅฑ•่ถ‹ๅŠฟใ€‚

ๅ‰้ข็š„็ณปๅˆ—ๆ–‡็ซ ไธป่ฆๆœ‰๏ผš

ๆœฌๆ–‡ๅฐ†้‡็‚นไป‹็ปๅคงๅž‹้กน็›ฎไธญ็š„ๆจกๅ—ๅŒ–่ฎพ่ฎกใ€‚

2.ๅˆ†ๅฑ‚ๆžถๆž„่ฎพ่ฎก โ€‹

ๅˆ†ๅฑ‚ๆžถๆž„ๆ˜ฏๅคงๅž‹้กน็›ฎไธญๅธธ็”จ็š„ๆจกๅ—ๅŒ–่ฎพ่ฎกๆจกๅผ๏ผŒๅฎƒๅฐ†็ณป็ปŸๅˆ†ไธบๅคšไธชๅฑ‚ๆฌก๏ผŒๆฏๅฑ‚่ดŸ่ดฃ็‰นๅฎš็š„ๅŠŸ่ƒฝใ€‚

2.1 ๅ‰็ซฏๅˆ†ๅฑ‚ๆžถๆž„ โ€‹

ไปฅ React ๆŠ€ๆœฏๆ ˆไธบไพ‹๏ผŒไธ€ไธชๅ…ธๅž‹็š„ๅ‰็ซฏๅˆ†ๅฑ‚ๆžถๆž„้€šๅธธๅŒ…ๅซไปฅไธ‹ๆ ธๅฟƒๅฑ‚ๆฌก๏ผš

ๅฑ‚็บง่ฏดๆ˜Ž
่กจ็Žฐๅฑ‚่ดŸ่ดฃ UI ๆธฒๆŸ“๏ผŒๅŒ…ๅซ็ป„ไปถไธŽ้กต้ข๏ผŒ้ตๅพชๅŽŸๅญ่ฎพ่ฎก๏ผˆAtomic Design๏ผ‰ๆ–นๆณ•่ฎบ
ไธšๅŠก้€ป่พ‘ๅฑ‚ๅฐ่ฃ…ไธšๅŠก่ง„ๅˆ™ไธŽๆต็จ‹๏ผŒ้€š่ฟ‡่‡ชๅฎšไน‰ Hooks ๅ’ŒๆœๅŠกๅฎž็Žฐ
ๆ•ฐๆฎ่ฎฟ้—ฎๅฑ‚ๅค„็†ไธŽๅŽ็ซฏ็š„้€šไฟก๏ผŒๅŒ…ๆ‹ฌ API ่ฏทๆฑ‚ใ€ๆ•ฐๆฎ็ผ“ๅญ˜ไธŽๅŒๆญฅ็ญ–็•ฅ
็Šถๆ€็ฎก็†ๅฑ‚็ฎก็†ๅ…จๅฑ€ไธŽๅฑ€้ƒจ็Šถๆ€๏ผŒ็กฎไฟๆ•ฐๆฎๆต็š„ๅฏ้ข„ๆต‹ๆ€ง
่ทฏ็”ฑๅฑ‚ๅฎšไน‰ๅฏผ่ˆช็ป“ๆž„ไธŽ่ทฏ็”ฑๅฎˆๅซ๏ผŒๅค„็†ๆƒ้™ๆŽงๅˆถไธŽไปฃ็ ๅˆ†ๅ‰ฒ
ๅŸบ็ก€่ฎพๆ–ฝๅฑ‚ๆไพ›ๆจชๅˆ‡ๅ…ณๆณจ็‚นๆ”ฏๆŒ๏ผŒๅŒ…ๆ‹ฌๅทฅๅ…ทๅ‡ฝๆ•ฐใ€ๅธธ้‡ๅฎšไน‰ไธŽ้…็ฝฎ็ฎก็†

ไปฅไธ‹ๆ˜ฏไธ€ไธชๅŸบไบŽ React + TypeScript ็š„็Žฐไปฃ้กน็›ฎ็›ฎๅฝ•็ป“ๆž„็คบไพ‹๏ผš

shell
src/
+import{_ as i,g as a,h as n,U as l}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const E=JSON.parse('{"title":"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—","description":"็ณป็ปŸๆขณ็† JavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›๏ผˆIIFEโ†’CJSโ†’ESM๏ผ‰ใ€TypeScript ็ฑปๅž‹ๅขžๅผบใ€ๅˆ†ๅฑ‚ๆžถๆž„ไธŽ DDD ๅฎž่ทตใ€‚","frontmatter":{"date":"2024-05-18T22:49:57.000Z","title":"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—","tldr":"ไปŽ ES Modules ๅˆฐๅคงๅž‹้กน็›ฎๅˆ†ๅฑ‚ๆžถๆž„ไธŽๅทฅ็จ‹ๅŒ–ๅฎž่ทต๏ผŒๆž„ๅปบๅ…จๆ ˆๆจกๅ—ๅŒ–็Ÿฅ่ฏ†ไฝ“็ณปใ€‚","description":"็ณป็ปŸๆขณ็† JavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›๏ผˆIIFEโ†’CJSโ†’ESM๏ผ‰ใ€TypeScript ็ฑปๅž‹ๅขžๅผบใ€ๅˆ†ๅฑ‚ๆžถๆž„ไธŽ DDD ๅฎž่ทตใ€‚","permalink":"/fullstack/module-programming-practice-guide","tags":["tutorial","ESM","DDD","ๅพฎๅ‰็ซฏ"],"categories":["ๅ…จๆ ˆ","ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป","ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview.md","filePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview.md"}'),p={name:"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview.md"};function h(k,s,t,e,r,F){return n(),a("div",null,[...s[0]||(s[0]=[l(`

ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ— โ€‹

ไฝœไธบๆจกๅ—ๅŒ–็ผ–็จ‹็ณปๅˆ—็š„ๆ€ป่งˆๆ–‡็ซ ๏ผŒๆœฌๆ–‡็ณป็ปŸๆขณ็†ไบ†ไปŽๅŸบ็ก€ๆฆ‚ๅฟตๅˆฐๅคงๅž‹้กน็›ฎๆžถๆž„่ฎพ่ฎก็š„ๅ…จๆ ˆ็Ÿฅ่ฏ†ไฝ“็ณปใ€‚้ฆ–ๅ…ˆไป‹็ปๅˆ†ๅฑ‚ๆžถๆž„่ฎพ่ฎก๏ผŒๅŒ…ๆ‹ฌๅ‰็ซฏ React ๅˆ†ๅฑ‚ไธŽๅŽ็ซฏ NestJS ๅˆ†ๅฑ‚๏ผŒไปฅๅŠ DDD ๅ››ๅฑ‚ๆžถๆž„ใ€‚้šๅŽๆŽข่ฎจๅพฎๅ‰็ซฏๆžถๆž„๏ผŒ่งฃๆž iframeใ€Web Componentsใ€single-spaใ€qiankunใ€ๆจกๅ—่”้‚ฆ็ญ‰ๆ–นๆกˆ็š„ไผ˜ๅŠฃๅŠฟ๏ผŒๅนถๆไพ›ๆจกๅ—่”้‚ฆ็š„ๅฎŒๆ•ดๅฎžๆˆ˜้…็ฝฎใ€‚็ณปๅˆ—ๆ–‡็ซ ๆถต็›– CommonJSใ€AMDใ€UMDใ€ES Modules ็ญ‰่ง„่Œƒๆผ”่ฟ›๏ผŒไปฅๅŠ TypeScript ๆจกๅ—ๅขžๅผบใ€ๅทฅ็จ‹ๅŒ–ๅฎž่ทตไธŽ Node.js ๆจกๅ—ๅŒ–ใ€‚

1. ๅผ•่จ€ โ€‹

ๆจกๅ—ๅŒ–็ผ–็จ‹ๆ˜ฏ็Žฐไปฃ JavaScript/TypeScript ๅผ€ๅ‘็š„ๆ ธๅฟƒๅŽŸๅˆ™๏ผŒๅฎƒ้€š่ฟ‡ๅฐ†ๅคๆ‚็ณป็ปŸๆ‹†ๅˆ†ไธบ็‹ฌ็ซ‹ๅฏๅค็”จ็š„ๆจกๅ—๏ผŒ้™ไฝŽ็ณป็ปŸๅคๆ‚ๆ€งๅนถๆ้ซ˜ๅฏ็ปดๆŠคๆ€งไธŽๅฏๅค็”จๆ€งใ€‚ๅ› ๆญค๏ผŒๆˆ‘ไปฌ้€š่ฟ‡็ณปๅˆ—ๆ–‡็ซ ่ฏฆ็ป†ไป‹็ปไบ†ๆจกๅ—ๅŒ–็š„ๅŸบ็ก€ๆฆ‚ๅฟตใ€ๆผ”่ฟ›ๅކ็จ‹ใ€ไธๅŒ่ง„่Œƒ็š„ๆทฑๅบฆ่งฃๆžใ€TypeScriptๆจกๅ—ๅŒ–ๅขžๅผบใ€ES Modules ๆ ธๅฟƒ่ฏญๆณ•ไธŽๅฎž่ทตใ€ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทตใ€ๅ‰็ซฏๅทฅ็จ‹ๅŒ–ไธญ็š„ๆจกๅ—ๅŒ–ใ€Node.jsไธญ็š„ๆจกๅ—ๅŒ–ๅฎž่ทตใ€ๅคงๅž‹้กน็›ฎไธญ็š„ๆจกๅ—ๅŒ–่ฎพ่ฎกใ€ๆจกๅ—ๅŒ–ไธŽไปฃ็ ็ปดๆŠคไปฅๅŠๆœชๆฅๅ‘ๅฑ•่ถ‹ๅŠฟใ€‚

ๅ‰้ข็š„็ณปๅˆ—ๆ–‡็ซ ไธป่ฆๆœ‰๏ผš

ๆœฌๆ–‡ๅฐ†้‡็‚นไป‹็ปๅคงๅž‹้กน็›ฎไธญ็š„ๆจกๅ—ๅŒ–่ฎพ่ฎกใ€‚

2.ๅˆ†ๅฑ‚ๆžถๆž„่ฎพ่ฎก โ€‹

ๅˆ†ๅฑ‚ๆžถๆž„ๆ˜ฏๅคงๅž‹้กน็›ฎไธญๅธธ็”จ็š„ๆจกๅ—ๅŒ–่ฎพ่ฎกๆจกๅผ๏ผŒๅฎƒๅฐ†็ณป็ปŸๅˆ†ไธบๅคšไธชๅฑ‚ๆฌก๏ผŒๆฏๅฑ‚่ดŸ่ดฃ็‰นๅฎš็š„ๅŠŸ่ƒฝใ€‚

2.1 ๅ‰็ซฏๅˆ†ๅฑ‚ๆžถๆž„ โ€‹

ไปฅ React ๆŠ€ๆœฏๆ ˆไธบไพ‹๏ผŒไธ€ไธชๅ…ธๅž‹็š„ๅ‰็ซฏๅˆ†ๅฑ‚ๆžถๆž„้€šๅธธๅŒ…ๅซไปฅไธ‹ๆ ธๅฟƒๅฑ‚ๆฌก๏ผš

ๅฑ‚็บง่ฏดๆ˜Ž
่กจ็Žฐๅฑ‚่ดŸ่ดฃ UI ๆธฒๆŸ“๏ผŒๅŒ…ๅซ็ป„ไปถไธŽ้กต้ข๏ผŒ้ตๅพชๅŽŸๅญ่ฎพ่ฎก๏ผˆAtomic Design๏ผ‰ๆ–นๆณ•่ฎบ
ไธšๅŠก้€ป่พ‘ๅฑ‚ๅฐ่ฃ…ไธšๅŠก่ง„ๅˆ™ไธŽๆต็จ‹๏ผŒ้€š่ฟ‡่‡ชๅฎšไน‰ Hooks ๅ’ŒๆœๅŠกๅฎž็Žฐ
ๆ•ฐๆฎ่ฎฟ้—ฎๅฑ‚ๅค„็†ไธŽๅŽ็ซฏ็š„้€šไฟก๏ผŒๅŒ…ๆ‹ฌ API ่ฏทๆฑ‚ใ€ๆ•ฐๆฎ็ผ“ๅญ˜ไธŽๅŒๆญฅ็ญ–็•ฅ
็Šถๆ€็ฎก็†ๅฑ‚็ฎก็†ๅ…จๅฑ€ไธŽๅฑ€้ƒจ็Šถๆ€๏ผŒ็กฎไฟๆ•ฐๆฎๆต็š„ๅฏ้ข„ๆต‹ๆ€ง
่ทฏ็”ฑๅฑ‚ๅฎšไน‰ๅฏผ่ˆช็ป“ๆž„ไธŽ่ทฏ็”ฑๅฎˆๅซ๏ผŒๅค„็†ๆƒ้™ๆŽงๅˆถไธŽไปฃ็ ๅˆ†ๅ‰ฒ
ๅŸบ็ก€่ฎพๆ–ฝๅฑ‚ๆไพ›ๆจชๅˆ‡ๅ…ณๆณจ็‚นๆ”ฏๆŒ๏ผŒๅŒ…ๆ‹ฌๅทฅๅ…ทๅ‡ฝๆ•ฐใ€ๅธธ้‡ๅฎšไน‰ไธŽ้…็ฝฎ็ฎก็†

ไปฅไธ‹ๆ˜ฏไธ€ไธชๅŸบไบŽ React + TypeScript ็š„็Žฐไปฃ้กน็›ฎ็›ฎๅฝ•็ป“ๆž„็คบไพ‹๏ผš

shell
src/
 โ”œโ”€โ”€ app/                    # ๅบ”็”จๅฑ‚๏ผšๅบ”็”จ้…็ฝฎๅ’Œๅ…ฅๅฃ
 โ”‚   โ”œโ”€โ”€ App.tsx             # ๅบ”็”จๆ น็ป„ไปถ
 โ”‚   โ”œโ”€โ”€ Router.tsx          # ่ทฏ็”ฑ้…็ฝฎ
diff --git "a/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_0.overview.md.BdLdBuUH.lean.js" "b/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_0.overview.md.CwRE_Svk.lean.js"
similarity index 94%
rename from "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_0.overview.md.BdLdBuUH.lean.js"
rename to "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_0.overview.md.CwRE_Svk.lean.js"
index 8b4c830d..f1e8bf43 100644
--- "a/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_0.overview.md.BdLdBuUH.lean.js"
+++ "b/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_0.overview.md.CwRE_Svk.lean.js"
@@ -1 +1 @@
-import{_ as i,g as a,h as n,U as l}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const E=JSON.parse('{"title":"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—","description":"็ณป็ปŸๆขณ็† JavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›๏ผˆIIFEโ†’CJSโ†’ESM๏ผ‰ใ€TypeScript ็ฑปๅž‹ๅขžๅผบใ€ๅˆ†ๅฑ‚ๆžถๆž„ไธŽ DDD ๅฎž่ทตใ€‚","frontmatter":{"date":"2024-05-18T22:49:57.000Z","title":"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—","tldr":"ไปŽ ES Modules ๅˆฐๅคงๅž‹้กน็›ฎๅˆ†ๅฑ‚ๆžถๆž„ไธŽๅทฅ็จ‹ๅŒ–ๅฎž่ทต๏ผŒๆž„ๅปบๅ…จๆ ˆๆจกๅ—ๅŒ–็Ÿฅ่ฏ†ไฝ“็ณปใ€‚","description":"็ณป็ปŸๆขณ็† JavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›๏ผˆIIFEโ†’CJSโ†’ESM๏ผ‰ใ€TypeScript ็ฑปๅž‹ๅขžๅผบใ€ๅˆ†ๅฑ‚ๆžถๆž„ไธŽ DDD ๅฎž่ทตใ€‚","permalink":"/fullstack/module-programming-practice-guide","tags":["tutorial","ESM","DDD","ๅพฎๅ‰็ซฏ"],"categories":["ๅ…จๆ ˆ","ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป","ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview.md","filePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview.md"}'),p={name:"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview.md"};function h(k,s,t,e,r,F){return n(),a("div",null,[...s[0]||(s[0]=[l("",109)])])}const g=i(p,[["render",h]]);export{E as __pageData,g as default};
+import{_ as i,g as a,h as n,U as l}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const E=JSON.parse('{"title":"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—","description":"็ณป็ปŸๆขณ็† JavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›๏ผˆIIFEโ†’CJSโ†’ESM๏ผ‰ใ€TypeScript ็ฑปๅž‹ๅขžๅผบใ€ๅˆ†ๅฑ‚ๆžถๆž„ไธŽ DDD ๅฎž่ทตใ€‚","frontmatter":{"date":"2024-05-18T22:49:57.000Z","title":"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—","tldr":"ไปŽ ES Modules ๅˆฐๅคงๅž‹้กน็›ฎๅˆ†ๅฑ‚ๆžถๆž„ไธŽๅทฅ็จ‹ๅŒ–ๅฎž่ทต๏ผŒๆž„ๅปบๅ…จๆ ˆๆจกๅ—ๅŒ–็Ÿฅ่ฏ†ไฝ“็ณปใ€‚","description":"็ณป็ปŸๆขณ็† JavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›๏ผˆIIFEโ†’CJSโ†’ESM๏ผ‰ใ€TypeScript ็ฑปๅž‹ๅขžๅผบใ€ๅˆ†ๅฑ‚ๆžถๆž„ไธŽ DDD ๅฎž่ทตใ€‚","permalink":"/fullstack/module-programming-practice-guide","tags":["tutorial","ESM","DDD","ๅพฎๅ‰็ซฏ"],"categories":["ๅ…จๆ ˆ","ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป","ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview.md","filePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview.md"}'),p={name:"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview.md"};function h(k,s,t,e,r,F){return n(),a("div",null,[...s[0]||(s[0]=[l("",109)])])}const g=i(p,[["render",h]]);export{E as __pageData,g as default};
diff --git "a/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_1.\345\211\215\347\253\257\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\237\272\347\241\200.md.f0WM8qM3.js" "b/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_1.\345\211\215\347\253\257\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\237\272\347\241\200.md.BVmOGo8x.js"
similarity index 99%
rename from "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_1.\345\211\215\347\253\257\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\237\272\347\241\200.md.f0WM8qM3.js"
rename to "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_1.\345\211\215\347\253\257\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\237\272\347\241\200.md.BVmOGo8x.js"
index 7058c64d..70a0e75f 100644
--- "a/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_1.\345\211\215\347\253\257\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\237\272\347\241\200.md.f0WM8qM3.js"
+++ "b/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_1.\345\211\215\347\253\257\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\237\272\347\241\200.md.BVmOGo8x.js"
@@ -1,4 +1,4 @@
-import{_ as i,g as a,h as n,U as l}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const g=JSON.parse('{"title":"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ๏ผšๆฆ‚ๅฟตใ€ๆผ”่ฟ›ไธŽ่ฎพ่ฎกๆจกๅผ","description":"็ณป็ปŸ่ฎฒ่งฃ JavaScript ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€๏ผŒๆถต็›– IIFEใ€CommonJSใ€ES Modules ่ง„่Œƒๆผ”่ฟ›๏ผŒไปฅๅŠๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผไธŽๆจกๅ—ๅŒ–็š„็ป“ๅˆใ€‚","frontmatter":{"date":"2024-05-12T22:43:28.000Z","title":"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ๏ผšๆฆ‚ๅฟตใ€ๆผ”่ฟ›ไธŽ่ฎพ่ฎกๆจกๅผ","tldr":"ไปŽๅ…จๅฑ€ๅ˜้‡ๅˆฐ ES Modules๏ผšJavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›ไธŽๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผๅฎž่ทตใ€‚","description":"็ณป็ปŸ่ฎฒ่งฃ JavaScript ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€๏ผŒๆถต็›– IIFEใ€CommonJSใ€ES Modules ่ง„่Œƒๆผ”่ฟ›๏ผŒไปฅๅŠๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผไธŽๆจกๅ—ๅŒ–็š„็ป“ๅˆใ€‚","permalink":"/fullstack/frontend-module-programming-basic","tags":["tutorial","javascript","modularization","esm","design-patterns"],"categories":["ๅ…จๆ ˆ","ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป","ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€.md","filePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€.md"}'),h={name:"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€.md"};function p(t,s,k,e,r,E){return n(),a("div",null,[...s[0]||(s[0]=[l(`

ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ๏ผšๆฆ‚ๅฟตใ€ๆผ”่ฟ›ไธŽ่ฎพ่ฎกๆจกๅผ โ€‹

ๆ‘˜่ฆๆ€ป็ป“: ๆœฌๆ–‡็ณป็ปŸ่ฎฒ่งฃ JavaScript ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€๏ผŒๆถต็›– IIFEใ€CommonJSใ€ES Modules ่ง„่Œƒๆผ”่ฟ›๏ผŒไปฅๅŠๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผไธŽๆจกๅ—ๅŒ–็š„็ป“ๅˆใ€‚ไปŽๆจกๅ—ๅŒ–็š„ๆ ธๅฟƒ็—›็‚นๅ‡บๅ‘โ€”โ€”ๅ…จๅฑ€ๅ˜้‡ๆฑกๆŸ“ใ€ไพ่ต–ๅ…ณ็ณปๆททไนฑใ€ๅŠ ่ฝฝๆ€ง่ƒฝ็“ถ้ขˆโ€”โ€”้€ๆญฅๅฑ•ๅผ€ๆจกๅ—ๅŒ–็ผ–็จ‹็š„็Ÿฅ่ฏ†ๅ›พ่ฐฑใ€‚ๅฎž่ทตๅฑ‚้ข็ป“ๅˆๅทฅๅŽ‚ๆจกๅผ๏ผˆๆ‰น้‡ๅˆ›ๅปบ็›ธไผผๅฏน่ฑก๏ผ‰ใ€ๅ•ไพ‹ๆจกๅผ๏ผˆๅ…จๅฑ€ๅ”ฏไธ€ๅฎžไพ‹๏ผŒๅฆ‚ๆ•ฐๆฎๅบ“่ฟžๆŽฅ๏ผ‰ใ€่ง‚ๅฏŸ่€…/ๅ‘ๅธƒ่ฎข้˜…ๆจกๅผ๏ผˆๆจกๅ—้—ดๆพ่€ฆๅˆ้€šไฟก๏ผ‰ไธ‰็ง็ปๅ…ธ่ฎพ่ฎกๆจกๅผ๏ผŒๅฑ•็คบๆจกๅ—ๅŒ–ไธŽ่ฎพ่ฎกๆจกๅผ็š„ๆœ‰ๆœบ็ป“ๅˆใ€‚

1. ๅผ•่จ€ โ€‹

้š็€้กน็›ฎ่ง„ๆจกๆ—ฅ็›Š่†จ่ƒ€๏ผŒไปฃ็ ้‡ไปŽๅ‡ ๅƒ่กŒ่ฟ…้€Ÿๅขž้•ฟๅˆฐๆ•ฐไธ‡็”š่‡ณๆ•ฐๅไธ‡่กŒ๏ผŒๅฐ†ๆ‰€ๆœ‰้€ป่พ‘ๅกž่ฟ›ๅฐ‘ๆ•ฐๅ‡ ไธชๆ–‡ไปถ็š„ๅšๆณ•ๆ—ฉๅทฒ้šพไปฅไธบ็ปงใ€‚ๅœจ่ฟ™ๆ ท็š„่ƒŒๆ™ฏไธ‹๏ผŒๆจกๅ—ๅŒ–็ผ–็จ‹ๅบ”่ฟ่€Œ็”Ÿ๏ผŒๆˆไธบ็Žฐไปฃๅ‰็ซฏๅผ€ๅ‘็š„ๆ ‡้…ใ€‚

ๅฎƒ็š„ๆ ธๅฟƒ็†ๅฟต็ฎ€ๆด่€Œไผ˜้›…๏ผšๅƒๆญ็งฏๆœจไธ€ๆ ท๏ผŒๅฐ†ๅบžๅคงๅคๆ‚็š„็ณป็ปŸๆ‹†่งฃไธบไธ€ไธชไธช็‹ฌ็ซ‹ใ€ๅŠŸ่ƒฝๅ•ไธ€ไธ”ๅฏๅค็”จ็š„ๆจกๅ—๏ผŒ่ฎฉๆฏไธชๆจกๅ—ๅ„ๅธๅ…ถ่Œ๏ผŒๅ†้€š่ฟ‡ๆ ‡ๅ‡†ๆŽฅๅฃ็ตๆดป็ป„ๅˆใ€‚

2. ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ โ€‹

ๅœจๆทฑๅ…ฅ็†่ฎบไน‹ๅ‰๏ผŒ่ฎฉๆˆ‘ไปฌๅ…ˆ้€š่ฟ‡ไธ€ไธช็ฎ€ๅ•็š„ JavaScript ็คบไพ‹๏ผŒ็›ด่ง‚ๅœฐๆ„Ÿๅ—ไธ€ไธ‹ไป€ไนˆๆ˜ฏๆจกๅ—ๅŒ–ใ€‚ๅ‡่ฎพๆˆ‘ไปฌ้œ€่ฆๅค„็†ไธ€ไบ›ๆ•ฐๅญฆ่ฟ็ฎ—๏ผŒๆˆ‘ไปฌๅฏไปฅๅฐ†ๅ…ถๅฐ่ฃ…ๆˆไธ€ไธช็‹ฌ็ซ‹็š„ๅทฅๅ…ทๆจกๅ—๏ผš

javascript
// math.js - ๅฎšไน‰ไธ€ไธชๆ•ฐๅญฆๅทฅๅ…ทๆจกๅ—
+import{_ as i,g as a,h as n,U as l}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const g=JSON.parse('{"title":"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ๏ผšๆฆ‚ๅฟตใ€ๆผ”่ฟ›ไธŽ่ฎพ่ฎกๆจกๅผ","description":"็ณป็ปŸ่ฎฒ่งฃ JavaScript ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€๏ผŒๆถต็›– IIFEใ€CommonJSใ€ES Modules ่ง„่Œƒๆผ”่ฟ›๏ผŒไปฅๅŠๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผไธŽๆจกๅ—ๅŒ–็š„็ป“ๅˆใ€‚","frontmatter":{"date":"2024-05-12T22:43:28.000Z","title":"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ๏ผšๆฆ‚ๅฟตใ€ๆผ”่ฟ›ไธŽ่ฎพ่ฎกๆจกๅผ","tldr":"ไปŽๅ…จๅฑ€ๅ˜้‡ๅˆฐ ES Modules๏ผšJavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›ไธŽๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผๅฎž่ทตใ€‚","description":"็ณป็ปŸ่ฎฒ่งฃ JavaScript ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€๏ผŒๆถต็›– IIFEใ€CommonJSใ€ES Modules ่ง„่Œƒๆผ”่ฟ›๏ผŒไปฅๅŠๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผไธŽๆจกๅ—ๅŒ–็š„็ป“ๅˆใ€‚","permalink":"/fullstack/frontend-module-programming-basic","tags":["tutorial","javascript","modularization","esm","design-patterns"],"categories":["ๅ…จๆ ˆ","ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป","ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€.md","filePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€.md"}'),h={name:"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€.md"};function p(t,s,k,e,r,E){return n(),a("div",null,[...s[0]||(s[0]=[l(`

ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ๏ผšๆฆ‚ๅฟตใ€ๆผ”่ฟ›ไธŽ่ฎพ่ฎกๆจกๅผ โ€‹

ๆ‘˜่ฆๆ€ป็ป“: ๆœฌๆ–‡็ณป็ปŸ่ฎฒ่งฃ JavaScript ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€๏ผŒๆถต็›– IIFEใ€CommonJSใ€ES Modules ่ง„่Œƒๆผ”่ฟ›๏ผŒไปฅๅŠๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผไธŽๆจกๅ—ๅŒ–็š„็ป“ๅˆใ€‚ไปŽๆจกๅ—ๅŒ–็š„ๆ ธๅฟƒ็—›็‚นๅ‡บๅ‘โ€”โ€”ๅ…จๅฑ€ๅ˜้‡ๆฑกๆŸ“ใ€ไพ่ต–ๅ…ณ็ณปๆททไนฑใ€ๅŠ ่ฝฝๆ€ง่ƒฝ็“ถ้ขˆโ€”โ€”้€ๆญฅๅฑ•ๅผ€ๆจกๅ—ๅŒ–็ผ–็จ‹็š„็Ÿฅ่ฏ†ๅ›พ่ฐฑใ€‚ๅฎž่ทตๅฑ‚้ข็ป“ๅˆๅทฅๅŽ‚ๆจกๅผ๏ผˆๆ‰น้‡ๅˆ›ๅปบ็›ธไผผๅฏน่ฑก๏ผ‰ใ€ๅ•ไพ‹ๆจกๅผ๏ผˆๅ…จๅฑ€ๅ”ฏไธ€ๅฎžไพ‹๏ผŒๅฆ‚ๆ•ฐๆฎๅบ“่ฟžๆŽฅ๏ผ‰ใ€่ง‚ๅฏŸ่€…/ๅ‘ๅธƒ่ฎข้˜…ๆจกๅผ๏ผˆๆจกๅ—้—ดๆพ่€ฆๅˆ้€šไฟก๏ผ‰ไธ‰็ง็ปๅ…ธ่ฎพ่ฎกๆจกๅผ๏ผŒๅฑ•็คบๆจกๅ—ๅŒ–ไธŽ่ฎพ่ฎกๆจกๅผ็š„ๆœ‰ๆœบ็ป“ๅˆใ€‚

1. ๅผ•่จ€ โ€‹

้š็€้กน็›ฎ่ง„ๆจกๆ—ฅ็›Š่†จ่ƒ€๏ผŒไปฃ็ ้‡ไปŽๅ‡ ๅƒ่กŒ่ฟ…้€Ÿๅขž้•ฟๅˆฐๆ•ฐไธ‡็”š่‡ณๆ•ฐๅไธ‡่กŒ๏ผŒๅฐ†ๆ‰€ๆœ‰้€ป่พ‘ๅกž่ฟ›ๅฐ‘ๆ•ฐๅ‡ ไธชๆ–‡ไปถ็š„ๅšๆณ•ๆ—ฉๅทฒ้šพไปฅไธบ็ปงใ€‚ๅœจ่ฟ™ๆ ท็š„่ƒŒๆ™ฏไธ‹๏ผŒๆจกๅ—ๅŒ–็ผ–็จ‹ๅบ”่ฟ่€Œ็”Ÿ๏ผŒๆˆไธบ็Žฐไปฃๅ‰็ซฏๅผ€ๅ‘็š„ๆ ‡้…ใ€‚

ๅฎƒ็š„ๆ ธๅฟƒ็†ๅฟต็ฎ€ๆด่€Œไผ˜้›…๏ผšๅƒๆญ็งฏๆœจไธ€ๆ ท๏ผŒๅฐ†ๅบžๅคงๅคๆ‚็š„็ณป็ปŸๆ‹†่งฃไธบไธ€ไธชไธช็‹ฌ็ซ‹ใ€ๅŠŸ่ƒฝๅ•ไธ€ไธ”ๅฏๅค็”จ็š„ๆจกๅ—๏ผŒ่ฎฉๆฏไธชๆจกๅ—ๅ„ๅธๅ…ถ่Œ๏ผŒๅ†้€š่ฟ‡ๆ ‡ๅ‡†ๆŽฅๅฃ็ตๆดป็ป„ๅˆใ€‚

2. ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ โ€‹

ๅœจๆทฑๅ…ฅ็†่ฎบไน‹ๅ‰๏ผŒ่ฎฉๆˆ‘ไปฌๅ…ˆ้€š่ฟ‡ไธ€ไธช็ฎ€ๅ•็š„ JavaScript ็คบไพ‹๏ผŒ็›ด่ง‚ๅœฐๆ„Ÿๅ—ไธ€ไธ‹ไป€ไนˆๆ˜ฏๆจกๅ—ๅŒ–ใ€‚ๅ‡่ฎพๆˆ‘ไปฌ้œ€่ฆๅค„็†ไธ€ไบ›ๆ•ฐๅญฆ่ฟ็ฎ—๏ผŒๆˆ‘ไปฌๅฏไปฅๅฐ†ๅ…ถๅฐ่ฃ…ๆˆไธ€ไธช็‹ฌ็ซ‹็š„ๅทฅๅ…ทๆจกๅ—๏ผš

javascript
// math.js - ๅฎšไน‰ไธ€ไธชๆ•ฐๅญฆๅทฅๅ…ทๆจกๅ—
 export const PI = 3.14159;
 
 export function add(a, b) {
diff --git "a/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_1.\345\211\215\347\253\257\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\237\272\347\241\200.md.f0WM8qM3.lean.js" "b/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_1.\345\211\215\347\253\257\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\237\272\347\241\200.md.BVmOGo8x.lean.js"
similarity index 95%
rename from "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_1.\345\211\215\347\253\257\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\237\272\347\241\200.md.f0WM8qM3.lean.js"
rename to "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_1.\345\211\215\347\253\257\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\237\272\347\241\200.md.BVmOGo8x.lean.js"
index 75203658..fcad02b7 100644
--- "a/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_1.\345\211\215\347\253\257\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\237\272\347\241\200.md.f0WM8qM3.lean.js"
+++ "b/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_1.\345\211\215\347\253\257\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\237\272\347\241\200.md.BVmOGo8x.lean.js"
@@ -1 +1 @@
-import{_ as i,g as a,h as n,U as l}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const g=JSON.parse('{"title":"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ๏ผšๆฆ‚ๅฟตใ€ๆผ”่ฟ›ไธŽ่ฎพ่ฎกๆจกๅผ","description":"็ณป็ปŸ่ฎฒ่งฃ JavaScript ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€๏ผŒๆถต็›– IIFEใ€CommonJSใ€ES Modules ่ง„่Œƒๆผ”่ฟ›๏ผŒไปฅๅŠๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผไธŽๆจกๅ—ๅŒ–็š„็ป“ๅˆใ€‚","frontmatter":{"date":"2024-05-12T22:43:28.000Z","title":"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ๏ผšๆฆ‚ๅฟตใ€ๆผ”่ฟ›ไธŽ่ฎพ่ฎกๆจกๅผ","tldr":"ไปŽๅ…จๅฑ€ๅ˜้‡ๅˆฐ ES Modules๏ผšJavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›ไธŽๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผๅฎž่ทตใ€‚","description":"็ณป็ปŸ่ฎฒ่งฃ JavaScript ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€๏ผŒๆถต็›– IIFEใ€CommonJSใ€ES Modules ่ง„่Œƒๆผ”่ฟ›๏ผŒไปฅๅŠๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผไธŽๆจกๅ—ๅŒ–็š„็ป“ๅˆใ€‚","permalink":"/fullstack/frontend-module-programming-basic","tags":["tutorial","javascript","modularization","esm","design-patterns"],"categories":["ๅ…จๆ ˆ","ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป","ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€.md","filePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€.md"}'),h={name:"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€.md"};function p(t,s,k,e,r,E){return n(),a("div",null,[...s[0]||(s[0]=[l("",39)])])}const y=i(h,[["render",p]]);export{g as __pageData,y as default};
+import{_ as i,g as a,h as n,U as l}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const g=JSON.parse('{"title":"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ๏ผšๆฆ‚ๅฟตใ€ๆผ”่ฟ›ไธŽ่ฎพ่ฎกๆจกๅผ","description":"็ณป็ปŸ่ฎฒ่งฃ JavaScript ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€๏ผŒๆถต็›– IIFEใ€CommonJSใ€ES Modules ่ง„่Œƒๆผ”่ฟ›๏ผŒไปฅๅŠๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผไธŽๆจกๅ—ๅŒ–็š„็ป“ๅˆใ€‚","frontmatter":{"date":"2024-05-12T22:43:28.000Z","title":"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ๏ผšๆฆ‚ๅฟตใ€ๆผ”่ฟ›ไธŽ่ฎพ่ฎกๆจกๅผ","tldr":"ไปŽๅ…จๅฑ€ๅ˜้‡ๅˆฐ ES Modules๏ผšJavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›ไธŽๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผๅฎž่ทตใ€‚","description":"็ณป็ปŸ่ฎฒ่งฃ JavaScript ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€๏ผŒๆถต็›– IIFEใ€CommonJSใ€ES Modules ่ง„่Œƒๆผ”่ฟ›๏ผŒไปฅๅŠๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผไธŽๆจกๅ—ๅŒ–็š„็ป“ๅˆใ€‚","permalink":"/fullstack/frontend-module-programming-basic","tags":["tutorial","javascript","modularization","esm","design-patterns"],"categories":["ๅ…จๆ ˆ","ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป","ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€.md","filePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€.md"}'),h={name:"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€.md"};function p(t,s,k,e,r,E){return n(),a("div",null,[...s[0]||(s[0]=[l("",39)])])}const y=i(h,[["render",p]]);export{g as __pageData,y as default};
diff --git "a/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_2.\344\270\215\345\220\214\346\250\241\345\235\227\345\214\226\350\247\204\350\214\203\346\242\263\347\220\206.md.CDvbKLWO.js" "b/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_2.\344\270\215\345\220\214\346\250\241\345\235\227\345\214\226\350\247\204\350\214\203\346\242\263\347\220\206.md.CRGmbaTn.js"
similarity index 99%
rename from "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_2.\344\270\215\345\220\214\346\250\241\345\235\227\345\214\226\350\247\204\350\214\203\346\242\263\347\220\206.md.CDvbKLWO.js"
rename to "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_2.\344\270\215\345\220\214\346\250\241\345\235\227\345\214\226\350\247\204\350\214\203\346\242\263\347\220\206.md.CRGmbaTn.js"
index 1578dec6..2385dbd2 100644
--- "a/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_2.\344\270\215\345\220\214\346\250\241\345\235\227\345\214\226\350\247\204\350\214\203\346\242\263\347\220\206.md.CDvbKLWO.js"
+++ "b/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_2.\344\270\215\345\220\214\346\250\241\345\235\227\345\214\226\350\247\204\350\214\203\346\242\263\347\220\206.md.CRGmbaTn.js"
@@ -1,4 +1,4 @@
-import{_ as i,g as a,h as n,U as t}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const g=JSON.parse('{"title":"JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM","description":"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ๅ››ๅคงๆจกๅ—ๅŒ–่ง„่Œƒ็š„ๆ ธๅฟƒ่ฏญๆณ•ไธŽ้€‚็”จๅœบๆ™ฏ๏ผŒ่งฃๆžๅ„่ง„่Œƒ็š„ๅ…ณ้”ฎๅทฎๅผ‚๏ผŒๅนถๆไพ›ไปŽๆ—ง่ง„่Œƒๅ‘ ESM ่ฟ็งป็š„ๅฎžๆ“็ญ–็•ฅใ€‚","frontmatter":{"date":"2024-05-14T22:26:06.000Z","title":"JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM","tldr":"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ็ญ‰ๆ ธๅฟƒ่ง„่Œƒ๏ผŒ้™„็Žฐไปฃ่ฟ็งป็ญ–็•ฅใ€‚","description":"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ๅ››ๅคงๆจกๅ—ๅŒ–่ง„่Œƒ็š„ๆ ธๅฟƒ่ฏญๆณ•ไธŽ้€‚็”จๅœบๆ™ฏ๏ผŒ่งฃๆžๅ„่ง„่Œƒ็š„ๅ…ณ้”ฎๅทฎๅผ‚๏ผŒๅนถๆไพ›ไปŽๆ—ง่ง„่Œƒๅ‘ ESM ่ฟ็งป็š„ๅฎžๆ“็ญ–็•ฅใ€‚","permalink":"/fullstack/different-module-programming-specifications","tags":["tutorial","CommonJS","AMD","UMD","ESM"],"categories":["ๅ…จๆ ˆ","ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป","ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†.md","filePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†.md"}'),l={name:"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†.md"};function h(p,s,k,e,r,d){return n(),a("div",null,[...s[0]||(s[0]=[t(`

JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM โ€‹

ๆ‘˜่ฆๆ€ป็ป“: ๆœฌๆ–‡ๆจชๅ‘ๅฏนๆฏ” JavaScript ๅ››ๅคงๆจกๅ—ๅŒ–่ง„่Œƒ๏ผšCommonJSใ€AMDใ€UMDใ€ES Modulesใ€‚้€š่ฟ‡ไปฃ็ ็คบไพ‹ๅฑ•็คบๅ„่ง„่Œƒ็š„ๆ ธๅฟƒ่ฏญๆณ•๏ผŒๅนถๆไพ›ไปŽ CommonJS ่ฟ็งปๅˆฐ ESM ็š„ๅ…ทไฝ“ๆญฅ้ชค๏ผŒไปฅๅŠไปŽ AMD ๅ‘ ESM ่ฟ็งป็š„ๆž„ๅปบๅทฅๅ…ท็ญ–็•ฅใ€‚ๆœ€ๅŽไปฅๅฏนๆฏ”่กจๆ ผๆ”ถๅฐพ๏ผŒ้˜ๆ˜Ž ESM ไฝœไธบ็Žฐไปฃๅผ€ๅ‘ๅ”ฏไธ€ๆŽจ่ๆ ‡ๅ‡†็š„ๅœฐไฝใ€‚

ๅœจ JavaScript ่ฟ›ๅŒ–ๅฒไธŠ๏ผŒโ€œๆจกๅ—ๅŒ–โ€ๅง‹็ปˆๆ˜ฏไธ€ไธชๆ ธๅฟƒๅ‘ฝ้ข˜ใ€‚ไปŽๆ—ฉๆœŸ script ๆ ‡็ญพๆปกๅคฉ้ฃž็š„โ€œๆททๆฒŒๆ—ถไปฃโ€๏ผŒๅˆฐๅ„่ทฏ่ง„่Œƒ็พค้›„้€้นฟ็š„โ€œๆˆ˜ๅ›ฝๆ—ถไปฃโ€๏ผŒๅ†ๅˆฐๅฆ‚ไปŠ ES Modules ๅฎšไบŽไธ€ๅฐŠ๏ผŒๅผ€ๅ‘่€…ไปฌๅœจ่งฃๅ†ณไพ่ต–็ฎก็†ใ€ไฝœ็”จๅŸŸๆฑกๆŸ“ๅ’Œๅผ‚ๆญฅๅŠ ่ฝฝ็ญ‰้—ฎ้ข˜ไธŠไป˜ๅ‡บไบ†ๅทจๅคง็š„ๅŠชๅŠ›ใ€‚

ๆœฌๆ–‡ๅฐ†ๅธฆไฝ ๆขณ็† JavaScript ๅކๅฒไธŠๆœ€้‡่ฆ็š„ๅ‡ ็งๆจกๅ—ๅŒ–่ง„่Œƒ๏ผŒไพฟไบŽๆž„ๅปบ่ตทๅ…จๆ ˆๅผ€ๅ‘็š„ๅบ•ๅฑ‚็Ÿฅ่ฏ†ๅ›พ่ฐฑใ€‚

1. CommonJS ่ง„่Œƒ๏ผšNode.js ็”Ÿๆ€็š„ๅŸบ็Ÿณ โ€‹

CommonJS ๆ˜ฏไผด้š Node.js ่ฏž็”Ÿ็š„่ง„่Œƒ,็”ฑ Kevin Dangoor ๆๅ‡บ๏ผŒๅˆ่กทๆ˜ฏ่ฎฉ JavaScript ่„ฑ็ฆปๆต่งˆๅ™จไนŸ่ƒฝๆž„ๅปบๅคๆ‚็š„็ณป็ปŸๅบ”็”จใ€‚ๅฎƒๆ˜ฏ Node.js ๆˆๅŠŸ็š„ๅ…ณ้”ฎๅ› ็ด ไน‹ไธ€๏ผŒๅœจๅฎƒๅ‡บ็Žฐไน‹ๅ‰๏ผŒJavaScript ็ผบไนๅœจๆœๅŠกๅ™จ็ซฏ่ฟ่กŒๆ‰€้œ€็š„็ป„็ป‡็ป“ๆž„ใ€‚ๅฎƒ่ง„ๅฎšๆฏไธชๆ–‡ไปถ้ƒฝๆ˜ฏไธ€ไธช็‹ฌ็ซ‹็š„ๆจกๅ—๏ผŒๆ‹ฅๆœ‰็งๆœ‰็š„ไฝœ็”จๅŸŸ๏ผŒไธไผšๆฑกๆŸ“ๅ…จๅฑ€็ฉบ้—ดใ€‚

ๆ ธๅฟƒ้€ป่พ‘๏ผš

  • ๅฏผๅ‡บ๏ผš้€š่ฟ‡ module.exports ๆˆ– exports ๅฏน่ฑกๆšด้œฒๆˆๅ‘˜ใ€‚
  • ๅฏผๅ…ฅ๏ผšไฝฟ็”จๅŒๆญฅ็š„ require() ๅ‡ฝๆ•ฐๅŠ ่ฝฝๆจกๅ—ใ€‚

็คบไพ‹ไปฃ็ ๏ผš

javascript
// ๅฏผๅ‡บๆจกๅ—๏ผˆmodule.exports๏ผ‰
+import{_ as i,g as a,h as n,U as t}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const g=JSON.parse('{"title":"JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM","description":"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ๅ››ๅคงๆจกๅ—ๅŒ–่ง„่Œƒ็š„ๆ ธๅฟƒ่ฏญๆณ•ไธŽ้€‚็”จๅœบๆ™ฏ๏ผŒ่งฃๆžๅ„่ง„่Œƒ็š„ๅ…ณ้”ฎๅทฎๅผ‚๏ผŒๅนถๆไพ›ไปŽๆ—ง่ง„่Œƒๅ‘ ESM ่ฟ็งป็š„ๅฎžๆ“็ญ–็•ฅใ€‚","frontmatter":{"date":"2024-05-14T22:26:06.000Z","title":"JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM","tldr":"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ็ญ‰ๆ ธๅฟƒ่ง„่Œƒ๏ผŒ้™„็Žฐไปฃ่ฟ็งป็ญ–็•ฅใ€‚","description":"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ๅ››ๅคงๆจกๅ—ๅŒ–่ง„่Œƒ็š„ๆ ธๅฟƒ่ฏญๆณ•ไธŽ้€‚็”จๅœบๆ™ฏ๏ผŒ่งฃๆžๅ„่ง„่Œƒ็š„ๅ…ณ้”ฎๅทฎๅผ‚๏ผŒๅนถๆไพ›ไปŽๆ—ง่ง„่Œƒๅ‘ ESM ่ฟ็งป็š„ๅฎžๆ“็ญ–็•ฅใ€‚","permalink":"/fullstack/different-module-programming-specifications","tags":["tutorial","CommonJS","AMD","UMD","ESM"],"categories":["ๅ…จๆ ˆ","ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป","ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†.md","filePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†.md"}'),l={name:"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†.md"};function h(p,s,k,e,r,d){return n(),a("div",null,[...s[0]||(s[0]=[t(`

JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM โ€‹

ๆ‘˜่ฆๆ€ป็ป“: ๆœฌๆ–‡ๆจชๅ‘ๅฏนๆฏ” JavaScript ๅ››ๅคงๆจกๅ—ๅŒ–่ง„่Œƒ๏ผšCommonJSใ€AMDใ€UMDใ€ES Modulesใ€‚้€š่ฟ‡ไปฃ็ ็คบไพ‹ๅฑ•็คบๅ„่ง„่Œƒ็š„ๆ ธๅฟƒ่ฏญๆณ•๏ผŒๅนถๆไพ›ไปŽ CommonJS ่ฟ็งปๅˆฐ ESM ็š„ๅ…ทไฝ“ๆญฅ้ชค๏ผŒไปฅๅŠไปŽ AMD ๅ‘ ESM ่ฟ็งป็š„ๆž„ๅปบๅทฅๅ…ท็ญ–็•ฅใ€‚ๆœ€ๅŽไปฅๅฏนๆฏ”่กจๆ ผๆ”ถๅฐพ๏ผŒ้˜ๆ˜Ž ESM ไฝœไธบ็Žฐไปฃๅผ€ๅ‘ๅ”ฏไธ€ๆŽจ่ๆ ‡ๅ‡†็š„ๅœฐไฝใ€‚

ๅœจ JavaScript ่ฟ›ๅŒ–ๅฒไธŠ๏ผŒโ€œๆจกๅ—ๅŒ–โ€ๅง‹็ปˆๆ˜ฏไธ€ไธชๆ ธๅฟƒๅ‘ฝ้ข˜ใ€‚ไปŽๆ—ฉๆœŸ script ๆ ‡็ญพๆปกๅคฉ้ฃž็š„โ€œๆททๆฒŒๆ—ถไปฃโ€๏ผŒๅˆฐๅ„่ทฏ่ง„่Œƒ็พค้›„้€้นฟ็š„โ€œๆˆ˜ๅ›ฝๆ—ถไปฃโ€๏ผŒๅ†ๅˆฐๅฆ‚ไปŠ ES Modules ๅฎšไบŽไธ€ๅฐŠ๏ผŒๅผ€ๅ‘่€…ไปฌๅœจ่งฃๅ†ณไพ่ต–็ฎก็†ใ€ไฝœ็”จๅŸŸๆฑกๆŸ“ๅ’Œๅผ‚ๆญฅๅŠ ่ฝฝ็ญ‰้—ฎ้ข˜ไธŠไป˜ๅ‡บไบ†ๅทจๅคง็š„ๅŠชๅŠ›ใ€‚

ๆœฌๆ–‡ๅฐ†ๅธฆไฝ ๆขณ็† JavaScript ๅކๅฒไธŠๆœ€้‡่ฆ็š„ๅ‡ ็งๆจกๅ—ๅŒ–่ง„่Œƒ๏ผŒไพฟไบŽๆž„ๅปบ่ตทๅ…จๆ ˆๅผ€ๅ‘็š„ๅบ•ๅฑ‚็Ÿฅ่ฏ†ๅ›พ่ฐฑใ€‚

1. CommonJS ่ง„่Œƒ๏ผšNode.js ็”Ÿๆ€็š„ๅŸบ็Ÿณ โ€‹

CommonJS ๆ˜ฏไผด้š Node.js ่ฏž็”Ÿ็š„่ง„่Œƒ,็”ฑ Kevin Dangoor ๆๅ‡บ๏ผŒๅˆ่กทๆ˜ฏ่ฎฉ JavaScript ่„ฑ็ฆปๆต่งˆๅ™จไนŸ่ƒฝๆž„ๅปบๅคๆ‚็š„็ณป็ปŸๅบ”็”จใ€‚ๅฎƒๆ˜ฏ Node.js ๆˆๅŠŸ็š„ๅ…ณ้”ฎๅ› ็ด ไน‹ไธ€๏ผŒๅœจๅฎƒๅ‡บ็Žฐไน‹ๅ‰๏ผŒJavaScript ็ผบไนๅœจๆœๅŠกๅ™จ็ซฏ่ฟ่กŒๆ‰€้œ€็š„็ป„็ป‡็ป“ๆž„ใ€‚ๅฎƒ่ง„ๅฎšๆฏไธชๆ–‡ไปถ้ƒฝๆ˜ฏไธ€ไธช็‹ฌ็ซ‹็š„ๆจกๅ—๏ผŒๆ‹ฅๆœ‰็งๆœ‰็š„ไฝœ็”จๅŸŸ๏ผŒไธไผšๆฑกๆŸ“ๅ…จๅฑ€็ฉบ้—ดใ€‚

ๆ ธๅฟƒ้€ป่พ‘๏ผš

  • ๅฏผๅ‡บ๏ผš้€š่ฟ‡ module.exports ๆˆ– exports ๅฏน่ฑกๆšด้œฒๆˆๅ‘˜ใ€‚
  • ๅฏผๅ…ฅ๏ผšไฝฟ็”จๅŒๆญฅ็š„ require() ๅ‡ฝๆ•ฐๅŠ ่ฝฝๆจกๅ—ใ€‚

็คบไพ‹ไปฃ็ ๏ผš

javascript
// ๅฏผๅ‡บๆจกๅ—๏ผˆmodule.exports๏ผ‰
 const add = (a, b) => a + b;
 const subtract = (a, b) => a - b;
 
diff --git "a/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_2.\344\270\215\345\220\214\346\250\241\345\235\227\345\214\226\350\247\204\350\214\203\346\242\263\347\220\206.md.CDvbKLWO.lean.js" "b/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_2.\344\270\215\345\220\214\346\250\241\345\235\227\345\214\226\350\247\204\350\214\203\346\242\263\347\220\206.md.CRGmbaTn.lean.js"
similarity index 95%
rename from "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_2.\344\270\215\345\220\214\346\250\241\345\235\227\345\214\226\350\247\204\350\214\203\346\242\263\347\220\206.md.CDvbKLWO.lean.js"
rename to "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_2.\344\270\215\345\220\214\346\250\241\345\235\227\345\214\226\350\247\204\350\214\203\346\242\263\347\220\206.md.CRGmbaTn.lean.js"
index cfef3817..2a383a44 100644
--- "a/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_2.\344\270\215\345\220\214\346\250\241\345\235\227\345\214\226\350\247\204\350\214\203\346\242\263\347\220\206.md.CDvbKLWO.lean.js"
+++ "b/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_2.\344\270\215\345\220\214\346\250\241\345\235\227\345\214\226\350\247\204\350\214\203\346\242\263\347\220\206.md.CRGmbaTn.lean.js"
@@ -1 +1 @@
-import{_ as i,g as a,h as n,U as t}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const g=JSON.parse('{"title":"JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM","description":"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ๅ››ๅคงๆจกๅ—ๅŒ–่ง„่Œƒ็š„ๆ ธๅฟƒ่ฏญๆณ•ไธŽ้€‚็”จๅœบๆ™ฏ๏ผŒ่งฃๆžๅ„่ง„่Œƒ็š„ๅ…ณ้”ฎๅทฎๅผ‚๏ผŒๅนถๆไพ›ไปŽๆ—ง่ง„่Œƒๅ‘ ESM ่ฟ็งป็š„ๅฎžๆ“็ญ–็•ฅใ€‚","frontmatter":{"date":"2024-05-14T22:26:06.000Z","title":"JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM","tldr":"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ็ญ‰ๆ ธๅฟƒ่ง„่Œƒ๏ผŒ้™„็Žฐไปฃ่ฟ็งป็ญ–็•ฅใ€‚","description":"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ๅ››ๅคงๆจกๅ—ๅŒ–่ง„่Œƒ็š„ๆ ธๅฟƒ่ฏญๆณ•ไธŽ้€‚็”จๅœบๆ™ฏ๏ผŒ่งฃๆžๅ„่ง„่Œƒ็š„ๅ…ณ้”ฎๅทฎๅผ‚๏ผŒๅนถๆไพ›ไปŽๆ—ง่ง„่Œƒๅ‘ ESM ่ฟ็งป็š„ๅฎžๆ“็ญ–็•ฅใ€‚","permalink":"/fullstack/different-module-programming-specifications","tags":["tutorial","CommonJS","AMD","UMD","ESM"],"categories":["ๅ…จๆ ˆ","ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป","ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†.md","filePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†.md"}'),l={name:"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†.md"};function h(p,s,k,e,r,d){return n(),a("div",null,[...s[0]||(s[0]=[t("",42)])])}const o=i(l,[["render",h]]);export{g as __pageData,o as default};
+import{_ as i,g as a,h as n,U as t}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const g=JSON.parse('{"title":"JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM","description":"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ๅ››ๅคงๆจกๅ—ๅŒ–่ง„่Œƒ็š„ๆ ธๅฟƒ่ฏญๆณ•ไธŽ้€‚็”จๅœบๆ™ฏ๏ผŒ่งฃๆžๅ„่ง„่Œƒ็š„ๅ…ณ้”ฎๅทฎๅผ‚๏ผŒๅนถๆไพ›ไปŽๆ—ง่ง„่Œƒๅ‘ ESM ่ฟ็งป็š„ๅฎžๆ“็ญ–็•ฅใ€‚","frontmatter":{"date":"2024-05-14T22:26:06.000Z","title":"JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM","tldr":"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ็ญ‰ๆ ธๅฟƒ่ง„่Œƒ๏ผŒ้™„็Žฐไปฃ่ฟ็งป็ญ–็•ฅใ€‚","description":"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ๅ››ๅคงๆจกๅ—ๅŒ–่ง„่Œƒ็š„ๆ ธๅฟƒ่ฏญๆณ•ไธŽ้€‚็”จๅœบๆ™ฏ๏ผŒ่งฃๆžๅ„่ง„่Œƒ็š„ๅ…ณ้”ฎๅทฎๅผ‚๏ผŒๅนถๆไพ›ไปŽๆ—ง่ง„่Œƒๅ‘ ESM ่ฟ็งป็š„ๅฎžๆ“็ญ–็•ฅใ€‚","permalink":"/fullstack/different-module-programming-specifications","tags":["tutorial","CommonJS","AMD","UMD","ESM"],"categories":["ๅ…จๆ ˆ","ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป","ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†.md","filePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†.md"}'),l={name:"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†.md"};function h(p,s,k,e,r,d){return n(),a("div",null,[...s[0]||(s[0]=[t("",42)])])}const o=i(l,[["render",h]]);export{g as __pageData,o as default};
diff --git "a/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_3.ES Modules \346\240\270\345\277\203\350\247\204\350\214\203\344\270\216\345\256\236\350\267\265\350\247\243\346\236\220.md.B-hcltGc.js" "b/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_3.ES Modules \346\240\270\345\277\203\350\247\204\350\214\203\344\270\216\345\256\236\350\267\265\350\247\243\346\236\220.md.fPkWGUxd.js"
similarity index 99%
rename from "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_3.ES Modules \346\240\270\345\277\203\350\247\204\350\214\203\344\270\216\345\256\236\350\267\265\350\247\243\346\236\220.md.B-hcltGc.js"
rename to "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_3.ES Modules \346\240\270\345\277\203\350\247\204\350\214\203\344\270\216\345\256\236\350\267\265\350\247\243\346\236\220.md.fPkWGUxd.js"
index ffc91c7a..25b8724c 100644
--- "a/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_3.ES Modules \346\240\270\345\277\203\350\247\204\350\214\203\344\270\216\345\256\236\350\267\265\350\247\243\346\236\220.md.B-hcltGc.js"	
+++ "b/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_3.ES Modules \346\240\270\345\277\203\350\247\204\350\214\203\344\270\216\345\256\236\350\267\265\350\247\243\346\236\220.md.fPkWGUxd.js"	
@@ -1,4 +1,4 @@
-import{_ as i,g as a,h as n,U as l}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const g=JSON.parse('{"title":"ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒๆ‹ฅๆŠฑๅŽŸ็”Ÿ๏ผšES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž","description":"ๆทฑๅบฆ่งฃๆž ES Modules ๅ‘ฝๅๅฏผๅ‡บ/ๅฏผๅ…ฅใ€้ป˜่ฎคๅฏผๅ‡บใ€ๅŠจๆ€ๅฏผๅ…ฅ็ญ‰่ฏญๆณ•๏ผŒไปฅๅŠๆจกๅ—ๆ‰ง่กŒ้กบๅบใ€ๅพช็Žฏไพ่ต–ๅค„็†ไธŽ็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ๆœบๅˆถใ€‚","frontmatter":{"date":"2024-05-14T22:29:32.000Z","title":"ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒๆ‹ฅๆŠฑๅŽŸ็”Ÿ๏ผšES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž","tldr":"ES Modules ๆ ธๅฟƒ่ฏญๆณ•ไธŽๆ‰ง่กŒๆจกๅž‹๏ผš้™ๆ€ๅˆ†ๆžๅฆ‚ไฝ•้‡ๅก‘ๅ‰็ซฏๆž„ๅปบๆ•ˆ็އใ€‚","description":"ๆทฑๅบฆ่งฃๆž ES Modules ๅ‘ฝๅๅฏผๅ‡บ/ๅฏผๅ…ฅใ€้ป˜่ฎคๅฏผๅ‡บใ€ๅŠจๆ€ๅฏผๅ…ฅ็ญ‰่ฏญๆณ•๏ผŒไปฅๅŠๆจกๅ—ๆ‰ง่กŒ้กบๅบใ€ๅพช็Žฏไพ่ต–ๅค„็†ไธŽ็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ๆœบๅˆถใ€‚","permalink":"/fullstack/decode-es-modules","tags":["concept","ESM","static-analysis","Tree-Shaking","circular-dependency"],"categories":["ๅ…จๆ ˆ","ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป","ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž.md","filePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž.md"}'),p={name:"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž.md"};function h(k,s,e,t,r,E){return n(),a("div",null,[...s[0]||(s[0]=[l(`

ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒๆ‹ฅๆŠฑๅŽŸ็”Ÿ๏ผšES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž โ€‹

ๅฆ‚ๆžœ่ฏด CommonJS ๆ˜ฏโ€œ่‰ๆ น่‹ฑ้›„โ€๏ผŒ้‚ฃไนˆ ES Modules ๅฐฑๆ˜ฏโ€œๅ้—จๆญฃๆดพโ€ใ€‚ๅฎƒๆ˜ฏ ECMAScript ๅฎ˜ๆ–นๅฎšไน‰็š„ๆจกๅ—็ณป็ปŸ๏ผŒๆ—จๅœจไธบๆ‰€ๆœ‰ JavaScript ็Žฏๅขƒๆไพ›็ปŸไธ€ใ€้ซ˜ๆ•ˆใ€ไธ”ๅฏ้™ๆ€ๅˆ†ๆž็š„ๆจกๅ—ๅŒ–ๆ–นๆกˆใ€‚

็†่งฃ ESM๏ผŒไธไป…ไป…ๆ˜ฏๅญฆไผš import ๅ’Œ export๏ผŒๆ›ด้‡่ฆ็š„ๆ˜ฏ็†่งฃๅฎƒๅฆ‚ไฝ•้€š่ฟ‡็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ๅฝปๅบ•ๆ”นๅ˜ไบ†ๅ‰็ซฏๆž„ๅปบ็š„ๆ•ˆ็އใ€‚

1. ๅ‘ฝๅๅฏผๅ‡บไธŽๅฏผๅ…ฅ๏ผš็ฒพๅ‡†็š„ไปฃ็ ๅผ•็”จ โ€‹

ๅ‘ฝๅๅฏผๅ‡บ๏ผˆNamed Exports๏ผ‰ๆ˜ฏ ESM ๆœ€ๅธธ็”จ็š„ๅฝขๅผ๏ผŒๅฎƒๅ…่ฎธไธ€ไธชๆจกๅ—ๆšด้œฒๅคšไธชๆˆๅ‘˜ใ€‚ๅ…ถๆ ธๅฟƒไผ˜ๅŠฟๅœจไบŽ๏ผšๅฏผๅ…ฅๆ–นๅฏไปฅๆŒ‰้œ€ๅผ•ๅ…ฅ๏ผŒไธ” IDE ่ƒฝๆไพ›็ฒพๅ‡†็š„่กฅๅ…จใ€‚

่ฏญๆณ•ๅฎž่ทต๏ผš๏ผš

javascript
// math.js - ๅ‘ฝๅๅฏผๅ‡บ
+import{_ as i,g as a,h as n,U as l}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const g=JSON.parse('{"title":"ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒๆ‹ฅๆŠฑๅŽŸ็”Ÿ๏ผšES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž","description":"ๆทฑๅบฆ่งฃๆž ES Modules ๅ‘ฝๅๅฏผๅ‡บ/ๅฏผๅ…ฅใ€้ป˜่ฎคๅฏผๅ‡บใ€ๅŠจๆ€ๅฏผๅ…ฅ็ญ‰่ฏญๆณ•๏ผŒไปฅๅŠๆจกๅ—ๆ‰ง่กŒ้กบๅบใ€ๅพช็Žฏไพ่ต–ๅค„็†ไธŽ็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ๆœบๅˆถใ€‚","frontmatter":{"date":"2024-05-14T22:29:32.000Z","title":"ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒๆ‹ฅๆŠฑๅŽŸ็”Ÿ๏ผšES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž","tldr":"ES Modules ๆ ธๅฟƒ่ฏญๆณ•ไธŽๆ‰ง่กŒๆจกๅž‹๏ผš้™ๆ€ๅˆ†ๆžๅฆ‚ไฝ•้‡ๅก‘ๅ‰็ซฏๆž„ๅปบๆ•ˆ็އใ€‚","description":"ๆทฑๅบฆ่งฃๆž ES Modules ๅ‘ฝๅๅฏผๅ‡บ/ๅฏผๅ…ฅใ€้ป˜่ฎคๅฏผๅ‡บใ€ๅŠจๆ€ๅฏผๅ…ฅ็ญ‰่ฏญๆณ•๏ผŒไปฅๅŠๆจกๅ—ๆ‰ง่กŒ้กบๅบใ€ๅพช็Žฏไพ่ต–ๅค„็†ไธŽ็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ๆœบๅˆถใ€‚","permalink":"/fullstack/decode-es-modules","tags":["concept","ESM","static-analysis","Tree-Shaking","circular-dependency"],"categories":["ๅ…จๆ ˆ","ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป","ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž.md","filePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž.md"}'),p={name:"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž.md"};function h(k,s,e,t,r,E){return n(),a("div",null,[...s[0]||(s[0]=[l(`

ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒๆ‹ฅๆŠฑๅŽŸ็”Ÿ๏ผšES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž โ€‹

ๅฆ‚ๆžœ่ฏด CommonJS ๆ˜ฏโ€œ่‰ๆ น่‹ฑ้›„โ€๏ผŒ้‚ฃไนˆ ES Modules ๅฐฑๆ˜ฏโ€œๅ้—จๆญฃๆดพโ€ใ€‚ๅฎƒๆ˜ฏ ECMAScript ๅฎ˜ๆ–นๅฎšไน‰็š„ๆจกๅ—็ณป็ปŸ๏ผŒๆ—จๅœจไธบๆ‰€ๆœ‰ JavaScript ็Žฏๅขƒๆไพ›็ปŸไธ€ใ€้ซ˜ๆ•ˆใ€ไธ”ๅฏ้™ๆ€ๅˆ†ๆž็š„ๆจกๅ—ๅŒ–ๆ–นๆกˆใ€‚

็†่งฃ ESM๏ผŒไธไป…ไป…ๆ˜ฏๅญฆไผš import ๅ’Œ export๏ผŒๆ›ด้‡่ฆ็š„ๆ˜ฏ็†่งฃๅฎƒๅฆ‚ไฝ•้€š่ฟ‡็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ๅฝปๅบ•ๆ”นๅ˜ไบ†ๅ‰็ซฏๆž„ๅปบ็š„ๆ•ˆ็އใ€‚

1. ๅ‘ฝๅๅฏผๅ‡บไธŽๅฏผๅ…ฅ๏ผš็ฒพๅ‡†็š„ไปฃ็ ๅผ•็”จ โ€‹

ๅ‘ฝๅๅฏผๅ‡บ๏ผˆNamed Exports๏ผ‰ๆ˜ฏ ESM ๆœ€ๅธธ็”จ็š„ๅฝขๅผ๏ผŒๅฎƒๅ…่ฎธไธ€ไธชๆจกๅ—ๆšด้œฒๅคšไธชๆˆๅ‘˜ใ€‚ๅ…ถๆ ธๅฟƒไผ˜ๅŠฟๅœจไบŽ๏ผšๅฏผๅ…ฅๆ–นๅฏไปฅๆŒ‰้œ€ๅผ•ๅ…ฅ๏ผŒไธ” IDE ่ƒฝๆไพ›็ฒพๅ‡†็š„่กฅๅ…จใ€‚

่ฏญๆณ•ๅฎž่ทต๏ผš๏ผš

javascript
// math.js - ๅ‘ฝๅๅฏผๅ‡บ
 // ่กŒๅ†…ๅฏผๅ‡บ
 export const PI = 3.14159;
 
diff --git "a/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_3.ES Modules \346\240\270\345\277\203\350\247\204\350\214\203\344\270\216\345\256\236\350\267\265\350\247\243\346\236\220.md.B-hcltGc.lean.js" "b/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_3.ES Modules \346\240\270\345\277\203\350\247\204\350\214\203\344\270\216\345\256\236\350\267\265\350\247\243\346\236\220.md.fPkWGUxd.lean.js"
similarity index 95%
rename from "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_3.ES Modules \346\240\270\345\277\203\350\247\204\350\214\203\344\270\216\345\256\236\350\267\265\350\247\243\346\236\220.md.B-hcltGc.lean.js"
rename to "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_3.ES Modules \346\240\270\345\277\203\350\247\204\350\214\203\344\270\216\345\256\236\350\267\265\350\247\243\346\236\220.md.fPkWGUxd.lean.js"
index 2e9805af..50cf8dfe 100644
--- "a/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_3.ES Modules \346\240\270\345\277\203\350\247\204\350\214\203\344\270\216\345\256\236\350\267\265\350\247\243\346\236\220.md.B-hcltGc.lean.js"	
+++ "b/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_3.ES Modules \346\240\270\345\277\203\350\247\204\350\214\203\344\270\216\345\256\236\350\267\265\350\247\243\346\236\220.md.fPkWGUxd.lean.js"	
@@ -1 +1 @@
-import{_ as i,g as a,h as n,U as l}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const g=JSON.parse('{"title":"ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒๆ‹ฅๆŠฑๅŽŸ็”Ÿ๏ผšES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž","description":"ๆทฑๅบฆ่งฃๆž ES Modules ๅ‘ฝๅๅฏผๅ‡บ/ๅฏผๅ…ฅใ€้ป˜่ฎคๅฏผๅ‡บใ€ๅŠจๆ€ๅฏผๅ…ฅ็ญ‰่ฏญๆณ•๏ผŒไปฅๅŠๆจกๅ—ๆ‰ง่กŒ้กบๅบใ€ๅพช็Žฏไพ่ต–ๅค„็†ไธŽ็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ๆœบๅˆถใ€‚","frontmatter":{"date":"2024-05-14T22:29:32.000Z","title":"ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒๆ‹ฅๆŠฑๅŽŸ็”Ÿ๏ผšES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž","tldr":"ES Modules ๆ ธๅฟƒ่ฏญๆณ•ไธŽๆ‰ง่กŒๆจกๅž‹๏ผš้™ๆ€ๅˆ†ๆžๅฆ‚ไฝ•้‡ๅก‘ๅ‰็ซฏๆž„ๅปบๆ•ˆ็އใ€‚","description":"ๆทฑๅบฆ่งฃๆž ES Modules ๅ‘ฝๅๅฏผๅ‡บ/ๅฏผๅ…ฅใ€้ป˜่ฎคๅฏผๅ‡บใ€ๅŠจๆ€ๅฏผๅ…ฅ็ญ‰่ฏญๆณ•๏ผŒไปฅๅŠๆจกๅ—ๆ‰ง่กŒ้กบๅบใ€ๅพช็Žฏไพ่ต–ๅค„็†ไธŽ็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ๆœบๅˆถใ€‚","permalink":"/fullstack/decode-es-modules","tags":["concept","ESM","static-analysis","Tree-Shaking","circular-dependency"],"categories":["ๅ…จๆ ˆ","ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป","ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž.md","filePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž.md"}'),p={name:"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž.md"};function h(k,s,e,t,r,E){return n(),a("div",null,[...s[0]||(s[0]=[l("",51)])])}const c=i(p,[["render",h]]);export{g as __pageData,c as default};
+import{_ as i,g as a,h as n,U as l}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const g=JSON.parse('{"title":"ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒๆ‹ฅๆŠฑๅŽŸ็”Ÿ๏ผšES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž","description":"ๆทฑๅบฆ่งฃๆž ES Modules ๅ‘ฝๅๅฏผๅ‡บ/ๅฏผๅ…ฅใ€้ป˜่ฎคๅฏผๅ‡บใ€ๅŠจๆ€ๅฏผๅ…ฅ็ญ‰่ฏญๆณ•๏ผŒไปฅๅŠๆจกๅ—ๆ‰ง่กŒ้กบๅบใ€ๅพช็Žฏไพ่ต–ๅค„็†ไธŽ็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ๆœบๅˆถใ€‚","frontmatter":{"date":"2024-05-14T22:29:32.000Z","title":"ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒๆ‹ฅๆŠฑๅŽŸ็”Ÿ๏ผšES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž","tldr":"ES Modules ๆ ธๅฟƒ่ฏญๆณ•ไธŽๆ‰ง่กŒๆจกๅž‹๏ผš้™ๆ€ๅˆ†ๆžๅฆ‚ไฝ•้‡ๅก‘ๅ‰็ซฏๆž„ๅปบๆ•ˆ็އใ€‚","description":"ๆทฑๅบฆ่งฃๆž ES Modules ๅ‘ฝๅๅฏผๅ‡บ/ๅฏผๅ…ฅใ€้ป˜่ฎคๅฏผๅ‡บใ€ๅŠจๆ€ๅฏผๅ…ฅ็ญ‰่ฏญๆณ•๏ผŒไปฅๅŠๆจกๅ—ๆ‰ง่กŒ้กบๅบใ€ๅพช็Žฏไพ่ต–ๅค„็†ไธŽ็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ๆœบๅˆถใ€‚","permalink":"/fullstack/decode-es-modules","tags":["concept","ESM","static-analysis","Tree-Shaking","circular-dependency"],"categories":["ๅ…จๆ ˆ","ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป","ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž.md","filePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž.md"}'),p={name:"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž.md"};function h(k,s,e,t,r,E){return n(),a("div",null,[...s[0]||(s[0]=[l("",51)])])}const c=i(p,[["render",h]]);export{g as __pageData,c as default};
diff --git "a/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_4.Typescript \345\257\271\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\347\232\204\345\242\236\345\274\272.md.BJ-pD4L0.js" "b/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_4.Typescript \345\257\271\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\347\232\204\345\242\236\345\274\272.md.hJ1lv1QY.js"
similarity index 99%
rename from "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_4.Typescript \345\257\271\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\347\232\204\345\242\236\345\274\272.md.BJ-pD4L0.js"
rename to "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_4.Typescript \345\257\271\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\347\232\204\345\242\236\345\274\272.md.hJ1lv1QY.js"
index 86dea155..bcc9487a 100644
--- "a/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_4.Typescript \345\257\271\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\347\232\204\345\242\236\345\274\272.md.BJ-pD4L0.js"	
+++ "b/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_4.Typescript \345\257\271\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\347\232\204\345\242\236\345\274\272.md.hJ1lv1QY.js"	
@@ -1,4 +1,4 @@
-import{_ as i,g as a,h as n,U as p}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const g=JSON.parse('{"title":"ไปŽ้€ป่พ‘้š”็ฆปๅˆฐ็ฑปๅž‹ๅฅ‘็บฆ๏ผšTypeScript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ","description":"็ณป็ปŸ่ฎฒ่งฃ TypeScript ๅฏน ES Modules ็š„็ฑปๅž‹ๅขžๅผบ๏ผŒๆถต็›– import type ่ฟ่กŒๆ—ถไผ˜ๅŒ–ใ€ๆŽฅๅฃๅฅ‘็บฆใ€ๅฃฐๆ˜Žๆ–‡ไปถ .d.ts ๅŠ tsconfig ๆจกๅ—ๅŒ–้…็ฝฎใ€‚","frontmatter":{"date":"2024-05-16T21:27:36.000Z","title":"ไปŽ้€ป่พ‘้š”็ฆปๅˆฐ็ฑปๅž‹ๅฅ‘็บฆ๏ผšTypeScript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ","tldr":"TypeScript ๅฐ†ๆจกๅ—ไพ่ต–ๆๅ‡ไธบ็ผ–่ฏ‘ๆ—ถ็ฑปๅž‹ๅฅ‘็บฆ๏ผŒไปŽ import type ๅˆฐๅฃฐๆ˜Žๆ–‡ไปถใ€‚","description":"็ณป็ปŸ่ฎฒ่งฃ TypeScript ๅฏน ES Modules ็š„็ฑปๅž‹ๅขžๅผบ๏ผŒๆถต็›– import type ่ฟ่กŒๆ—ถไผ˜ๅŒ–ใ€ๆŽฅๅฃๅฅ‘็บฆใ€ๅฃฐๆ˜Žๆ–‡ไปถ .d.ts ๅŠ tsconfig ๆจกๅ—ๅŒ–้…็ฝฎใ€‚","permalink":"/fullstack/typescript-module-programming-enhancement","tags":["concept","ๅ…จๆ ˆ","typescript","tsconfig"],"categories":["ๅ…จๆ ˆ","ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป","ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ.md","filePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ.md"}'),l={name:"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ.md"};function t(h,s,e,k,r,d){return n(),a("div",null,[...s[0]||(s[0]=[p(`

ไปŽ้€ป่พ‘้š”็ฆปๅˆฐ็ฑปๅž‹ๅฅ‘็บฆ๏ผšTypeScript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ โ€‹

ๆ‘˜่ฆๆ€ป็ป“: TypeScript ๅฐ†ๆจกๅ—้—ด็š„ไพ่ต–ๅ…ณ็ณปไปŽ็ฎ€ๅ•็š„ไปฃ็ ๅผ•็”จๆๅ‡ไธบ็ผ–่ฏ‘ๆ—ถ็ฑปๅž‹ๅฅ‘็บฆใ€‚ๆœฌๆ–‡็ณป็ปŸ่ฎฒ่งฃ TypeScript ๅฏน ES Modules ็š„็ฑปๅž‹ๅขžๅผบ๏ผŒๆถต็›– import type ่ฟ่กŒๆ—ถไผ˜ๅŒ–ใ€ๆŽฅๅฃๅฅ‘็บฆใ€ๅฃฐๆ˜Žๆ–‡ไปถ .d.ts ๅŠ tsconfig ๆจกๅ—ๅŒ–้…็ฝฎใ€‚

1. ๅผ•่จ€ โ€‹

ๅœจๅŽŸ็”Ÿ JavaScript ๆจกๅ—ๅŒ–่งฃๅ†ณไบ†ไปฃ็ ็ป„็ป‡้—ฎ้ข˜ๅŽ๏ผŒTypeScript๏ผˆTS๏ผ‰่ฟ›ไธ€ๆญฅๅฐ†ๅ…ถๆŽจๅ‘ไบ†ๅทฅไธš็บง้ซ˜ๅบฆใ€‚TS ไธไป…ไป…ๆ˜ฏไธบๆจกๅ—ๆทปๅŠ ไบ†็ฑปๅž‹ๆ ‡ๆณจ๏ผŒๅฎƒ้€š่ฟ‡็ฑปๅž‹ๅฏผๅ‡บๅฏผๅ…ฅใ€็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ใ€ไปฅๅŠๅฃฐๆ˜Žๆ–‡ไปถ็ณป็ปŸ๏ผŒๅฐ†ๆจกๅ—้—ด็š„ไพ่ต–ๅ…ณ็ณปไปŽ็ฎ€ๅ•็š„โ€œไปฃ็ ๅผ•็”จโ€ๆๅ‡ๅˆฐไบ†โ€œๅฅ‘็บฆไบคไบ’โ€ใ€‚

ๆœฌๆ–‡ๆˆ‘ไปฌๅฐ†่š็„ฆไบŽ TypeScript ๅฆ‚ไฝ•้€š่ฟ‡็ฑปๅž‹็ณป็ปŸๅขžๅผบๆจกๅ—ๅŒ–็ผ–็จ‹๏ผŒๅนถๆŽข่ฎจๅœจ็Žฐไปฃๅทฅ็จ‹๏ผˆๅฐคๅ…ถๆ˜ฏ TS 5.0+ ๆ—ถไปฃ๏ผ‰ไธ‹็š„ๆœ€ไฝณ้…็ฝฎๅฎž่ทตใ€‚

2. ็ฑปๅž‹ๅฏผๅ‡บไธŽๅฏผๅ…ฅ๏ผšๆž่‡ด็š„่ฟ่กŒๆ—ถไผ˜ๅŒ– โ€‹

TypeScript ๅฏน ES Modules ่ฏญๆณ•ๆœ€ๆ˜พ่‘—็š„ๆ‰ฉๅฑ•ๆ˜ฏๆ”ฏๆŒโ€œไป…็ฑปๅž‹โ€๏ผˆType-only๏ผ‰็š„ๅฏผๅ‡บไธŽๅฏผๅ…ฅใ€‚่ฟ™ไธไป…ๆ˜ฏ่ฏญไน‰ไธŠ็š„ๆธ…ๆ™ฐ๏ผŒๆ›ดๆ˜ฏๆ€ง่ƒฝไผ˜ๅŒ–็š„ๅ…ณ้”ฎโ€”โ€”็ฑปๅž‹ๅฏผๅ…ฅๅœจ็ผ–่ฏ‘ไธบ JS ๅŽไผš่ขซๅฎŒๅ…จๆŠน้™ค๏ผŒ็กฎไฟไธไผšๅผ•ๅ…ฅๅ†—ไฝ™็š„่ฟ่กŒๆ—ถ่ดŸ่ฝฝใ€‚

็คบไพ‹ไปฃ็ ๏ผš

typescript
// types.ts - ็ฑปๅž‹ๅฏผๅ‡บ
+import{_ as i,g as a,h as n,U as p}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const g=JSON.parse('{"title":"ไปŽ้€ป่พ‘้š”็ฆปๅˆฐ็ฑปๅž‹ๅฅ‘็บฆ๏ผšTypeScript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ","description":"็ณป็ปŸ่ฎฒ่งฃ TypeScript ๅฏน ES Modules ็š„็ฑปๅž‹ๅขžๅผบ๏ผŒๆถต็›– import type ่ฟ่กŒๆ—ถไผ˜ๅŒ–ใ€ๆŽฅๅฃๅฅ‘็บฆใ€ๅฃฐๆ˜Žๆ–‡ไปถ .d.ts ๅŠ tsconfig ๆจกๅ—ๅŒ–้…็ฝฎใ€‚","frontmatter":{"date":"2024-05-16T21:27:36.000Z","title":"ไปŽ้€ป่พ‘้š”็ฆปๅˆฐ็ฑปๅž‹ๅฅ‘็บฆ๏ผšTypeScript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ","tldr":"TypeScript ๅฐ†ๆจกๅ—ไพ่ต–ๆๅ‡ไธบ็ผ–่ฏ‘ๆ—ถ็ฑปๅž‹ๅฅ‘็บฆ๏ผŒไปŽ import type ๅˆฐๅฃฐๆ˜Žๆ–‡ไปถใ€‚","description":"็ณป็ปŸ่ฎฒ่งฃ TypeScript ๅฏน ES Modules ็š„็ฑปๅž‹ๅขžๅผบ๏ผŒๆถต็›– import type ่ฟ่กŒๆ—ถไผ˜ๅŒ–ใ€ๆŽฅๅฃๅฅ‘็บฆใ€ๅฃฐๆ˜Žๆ–‡ไปถ .d.ts ๅŠ tsconfig ๆจกๅ—ๅŒ–้…็ฝฎใ€‚","permalink":"/fullstack/typescript-module-programming-enhancement","tags":["concept","ๅ…จๆ ˆ","typescript","tsconfig"],"categories":["ๅ…จๆ ˆ","ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป","ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ.md","filePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ.md"}'),l={name:"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ.md"};function t(h,s,e,k,r,d){return n(),a("div",null,[...s[0]||(s[0]=[p(`

ไปŽ้€ป่พ‘้š”็ฆปๅˆฐ็ฑปๅž‹ๅฅ‘็บฆ๏ผšTypeScript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ โ€‹

ๆ‘˜่ฆๆ€ป็ป“: TypeScript ๅฐ†ๆจกๅ—้—ด็š„ไพ่ต–ๅ…ณ็ณปไปŽ็ฎ€ๅ•็š„ไปฃ็ ๅผ•็”จๆๅ‡ไธบ็ผ–่ฏ‘ๆ—ถ็ฑปๅž‹ๅฅ‘็บฆใ€‚ๆœฌๆ–‡็ณป็ปŸ่ฎฒ่งฃ TypeScript ๅฏน ES Modules ็š„็ฑปๅž‹ๅขžๅผบ๏ผŒๆถต็›– import type ่ฟ่กŒๆ—ถไผ˜ๅŒ–ใ€ๆŽฅๅฃๅฅ‘็บฆใ€ๅฃฐๆ˜Žๆ–‡ไปถ .d.ts ๅŠ tsconfig ๆจกๅ—ๅŒ–้…็ฝฎใ€‚

1. ๅผ•่จ€ โ€‹

ๅœจๅŽŸ็”Ÿ JavaScript ๆจกๅ—ๅŒ–่งฃๅ†ณไบ†ไปฃ็ ็ป„็ป‡้—ฎ้ข˜ๅŽ๏ผŒTypeScript๏ผˆTS๏ผ‰่ฟ›ไธ€ๆญฅๅฐ†ๅ…ถๆŽจๅ‘ไบ†ๅทฅไธš็บง้ซ˜ๅบฆใ€‚TS ไธไป…ไป…ๆ˜ฏไธบๆจกๅ—ๆทปๅŠ ไบ†็ฑปๅž‹ๆ ‡ๆณจ๏ผŒๅฎƒ้€š่ฟ‡็ฑปๅž‹ๅฏผๅ‡บๅฏผๅ…ฅใ€็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ใ€ไปฅๅŠๅฃฐๆ˜Žๆ–‡ไปถ็ณป็ปŸ๏ผŒๅฐ†ๆจกๅ—้—ด็š„ไพ่ต–ๅ…ณ็ณปไปŽ็ฎ€ๅ•็š„โ€œไปฃ็ ๅผ•็”จโ€ๆๅ‡ๅˆฐไบ†โ€œๅฅ‘็บฆไบคไบ’โ€ใ€‚

ๆœฌๆ–‡ๆˆ‘ไปฌๅฐ†่š็„ฆไบŽ TypeScript ๅฆ‚ไฝ•้€š่ฟ‡็ฑปๅž‹็ณป็ปŸๅขžๅผบๆจกๅ—ๅŒ–็ผ–็จ‹๏ผŒๅนถๆŽข่ฎจๅœจ็Žฐไปฃๅทฅ็จ‹๏ผˆๅฐคๅ…ถๆ˜ฏ TS 5.0+ ๆ—ถไปฃ๏ผ‰ไธ‹็š„ๆœ€ไฝณ้…็ฝฎๅฎž่ทตใ€‚

2. ็ฑปๅž‹ๅฏผๅ‡บไธŽๅฏผๅ…ฅ๏ผšๆž่‡ด็š„่ฟ่กŒๆ—ถไผ˜ๅŒ– โ€‹

TypeScript ๅฏน ES Modules ่ฏญๆณ•ๆœ€ๆ˜พ่‘—็š„ๆ‰ฉๅฑ•ๆ˜ฏๆ”ฏๆŒโ€œไป…็ฑปๅž‹โ€๏ผˆType-only๏ผ‰็š„ๅฏผๅ‡บไธŽๅฏผๅ…ฅใ€‚่ฟ™ไธไป…ๆ˜ฏ่ฏญไน‰ไธŠ็š„ๆธ…ๆ™ฐ๏ผŒๆ›ดๆ˜ฏๆ€ง่ƒฝไผ˜ๅŒ–็š„ๅ…ณ้”ฎโ€”โ€”็ฑปๅž‹ๅฏผๅ…ฅๅœจ็ผ–่ฏ‘ไธบ JS ๅŽไผš่ขซๅฎŒๅ…จๆŠน้™ค๏ผŒ็กฎไฟไธไผšๅผ•ๅ…ฅๅ†—ไฝ™็š„่ฟ่กŒๆ—ถ่ดŸ่ฝฝใ€‚

็คบไพ‹ไปฃ็ ๏ผš

typescript
// types.ts - ็ฑปๅž‹ๅฏผๅ‡บ
 export interface User {
   id: string;
   name: string;
diff --git "a/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_4.Typescript \345\257\271\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\347\232\204\345\242\236\345\274\272.md.BJ-pD4L0.lean.js" "b/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_4.Typescript \345\257\271\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\347\232\204\345\242\236\345\274\272.md.hJ1lv1QY.lean.js"
similarity index 95%
rename from "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_4.Typescript \345\257\271\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\347\232\204\345\242\236\345\274\272.md.BJ-pD4L0.lean.js"
rename to "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_4.Typescript \345\257\271\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\347\232\204\345\242\236\345\274\272.md.hJ1lv1QY.lean.js"
index edb76145..84b19e75 100644
--- "a/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_4.Typescript \345\257\271\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\347\232\204\345\242\236\345\274\272.md.BJ-pD4L0.lean.js"	
+++ "b/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_4.Typescript \345\257\271\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\347\232\204\345\242\236\345\274\272.md.hJ1lv1QY.lean.js"	
@@ -1 +1 @@
-import{_ as i,g as a,h as n,U as p}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const g=JSON.parse('{"title":"ไปŽ้€ป่พ‘้š”็ฆปๅˆฐ็ฑปๅž‹ๅฅ‘็บฆ๏ผšTypeScript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ","description":"็ณป็ปŸ่ฎฒ่งฃ TypeScript ๅฏน ES Modules ็š„็ฑปๅž‹ๅขžๅผบ๏ผŒๆถต็›– import type ่ฟ่กŒๆ—ถไผ˜ๅŒ–ใ€ๆŽฅๅฃๅฅ‘็บฆใ€ๅฃฐๆ˜Žๆ–‡ไปถ .d.ts ๅŠ tsconfig ๆจกๅ—ๅŒ–้…็ฝฎใ€‚","frontmatter":{"date":"2024-05-16T21:27:36.000Z","title":"ไปŽ้€ป่พ‘้š”็ฆปๅˆฐ็ฑปๅž‹ๅฅ‘็บฆ๏ผšTypeScript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ","tldr":"TypeScript ๅฐ†ๆจกๅ—ไพ่ต–ๆๅ‡ไธบ็ผ–่ฏ‘ๆ—ถ็ฑปๅž‹ๅฅ‘็บฆ๏ผŒไปŽ import type ๅˆฐๅฃฐๆ˜Žๆ–‡ไปถใ€‚","description":"็ณป็ปŸ่ฎฒ่งฃ TypeScript ๅฏน ES Modules ็š„็ฑปๅž‹ๅขžๅผบ๏ผŒๆถต็›– import type ่ฟ่กŒๆ—ถไผ˜ๅŒ–ใ€ๆŽฅๅฃๅฅ‘็บฆใ€ๅฃฐๆ˜Žๆ–‡ไปถ .d.ts ๅŠ tsconfig ๆจกๅ—ๅŒ–้…็ฝฎใ€‚","permalink":"/fullstack/typescript-module-programming-enhancement","tags":["concept","ๅ…จๆ ˆ","typescript","tsconfig"],"categories":["ๅ…จๆ ˆ","ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป","ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ.md","filePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ.md"}'),l={name:"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ.md"};function t(h,s,e,k,r,d){return n(),a("div",null,[...s[0]||(s[0]=[p("",41)])])}const y=i(l,[["render",t]]);export{g as __pageData,y as default};
+import{_ as i,g as a,h as n,U as p}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const g=JSON.parse('{"title":"ไปŽ้€ป่พ‘้š”็ฆปๅˆฐ็ฑปๅž‹ๅฅ‘็บฆ๏ผšTypeScript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ","description":"็ณป็ปŸ่ฎฒ่งฃ TypeScript ๅฏน ES Modules ็š„็ฑปๅž‹ๅขžๅผบ๏ผŒๆถต็›– import type ่ฟ่กŒๆ—ถไผ˜ๅŒ–ใ€ๆŽฅๅฃๅฅ‘็บฆใ€ๅฃฐๆ˜Žๆ–‡ไปถ .d.ts ๅŠ tsconfig ๆจกๅ—ๅŒ–้…็ฝฎใ€‚","frontmatter":{"date":"2024-05-16T21:27:36.000Z","title":"ไปŽ้€ป่พ‘้š”็ฆปๅˆฐ็ฑปๅž‹ๅฅ‘็บฆ๏ผšTypeScript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ","tldr":"TypeScript ๅฐ†ๆจกๅ—ไพ่ต–ๆๅ‡ไธบ็ผ–่ฏ‘ๆ—ถ็ฑปๅž‹ๅฅ‘็บฆ๏ผŒไปŽ import type ๅˆฐๅฃฐๆ˜Žๆ–‡ไปถใ€‚","description":"็ณป็ปŸ่ฎฒ่งฃ TypeScript ๅฏน ES Modules ็š„็ฑปๅž‹ๅขžๅผบ๏ผŒๆถต็›– import type ่ฟ่กŒๆ—ถไผ˜ๅŒ–ใ€ๆŽฅๅฃๅฅ‘็บฆใ€ๅฃฐๆ˜Žๆ–‡ไปถ .d.ts ๅŠ tsconfig ๆจกๅ—ๅŒ–้…็ฝฎใ€‚","permalink":"/fullstack/typescript-module-programming-enhancement","tags":["concept","ๅ…จๆ ˆ","typescript","tsconfig"],"categories":["ๅ…จๆ ˆ","ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป","ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ.md","filePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ.md"}'),l={name:"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ.md"};function t(h,s,e,k,r,d){return n(),a("div",null,[...s[0]||(s[0]=[p("",41)])])}const y=i(l,[["render",t]]);export{g as __pageData,y as default};
diff --git "a/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_5.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\216\237\345\210\231\344\270\216\346\234\200\344\275\263\345\256\236\350\267\265.md.uR00Ga87.js" "b/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_5.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\216\237\345\210\231\344\270\216\346\234\200\344\275\263\345\256\236\350\267\265.md.LTILHYsI.js"
similarity index 99%
rename from "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_5.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\216\237\345\210\231\344\270\216\346\234\200\344\275\263\345\256\236\350\267\265.md.uR00Ga87.js"
rename to "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_5.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\216\237\345\210\231\344\270\216\346\234\200\344\275\263\345\256\236\350\267\265.md.LTILHYsI.js"
index 123584c3..f8f19d48 100644
--- "a/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_5.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\216\237\345\210\231\344\270\216\346\234\200\344\275\263\345\256\236\350\267\265.md.uR00Ga87.js"
+++ "b/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_5.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\216\237\345\210\231\344\270\216\346\234\200\344\275\263\345\256\236\350\267\265.md.LTILHYsI.js"
@@ -1,4 +1,4 @@
-import{_ as i,g as a,h as n,U as l}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const g=JSON.parse('{"title":"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ๆขณ็†ไธŽๆ€ป็ป“","description":"็ณป็ปŸๆขณ็†ๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅ…ญๅคงๆ ธๅฟƒๅŽŸๅˆ™๏ผšๅ•ไธ€่Œ่ดฃใ€้ซ˜ๅ†…่šไฝŽ่€ฆๅˆใ€็ฒ’ๅบฆ่ฎพ่ฎกใ€ๅ‘ฝๅ่ง„่ŒƒๅŠๆจกๅ—็‰ˆๆœฌ็ฎก็†๏ผŒ้™„่ฏฆ็ป†็š„ๅทฅ็จ‹ๅฎž่ทตๅปบ่ฎฎไธŽ้ฟๅ‘ๆŒ‡ๅ—ใ€‚","frontmatter":{"date":"2024-05-17T22:30:50.000Z","title":"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ๆขณ็†ไธŽๆ€ป็ป“","tldr":"ๆŽŒๆก้ซ˜ๅ†…่šไฝŽ่€ฆๅˆๅŽŸๅˆ™๏ผšๆจกๅ—ๅŒ–็ผ–็จ‹็š„่ฎพ่ฎกๅ‡†ๅˆ™ไธŽ็ฒ’ๅบฆๆŽงๅˆถใ€‚","description":"็ณป็ปŸๆขณ็†ๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅ…ญๅคงๆ ธๅฟƒๅŽŸๅˆ™๏ผšๅ•ไธ€่Œ่ดฃใ€้ซ˜ๅ†…่šไฝŽ่€ฆๅˆใ€็ฒ’ๅบฆ่ฎพ่ฎกใ€ๅ‘ฝๅ่ง„่ŒƒๅŠๆจกๅ—็‰ˆๆœฌ็ฎก็†๏ผŒ้™„่ฏฆ็ป†็š„ๅทฅ็จ‹ๅฎž่ทตๅปบ่ฎฎไธŽ้ฟๅ‘ๆŒ‡ๅ—ใ€‚","permalink":"/fullstack/module-programming-principles-best-practices","abstract":"ๅฆ‚ๆžœ่ฏดๆŽŒๆกๆจกๅ—ๅŒ–่ฏญๆณ•ๆ˜ฏๆœฏ๏ผŒ้‚ฃไนˆ็†่งฃๅ…ถ่ƒŒๅŽ็š„่ฎพ่ฎกๅŽŸๅˆ™ๅฐฑๆ˜ฏ้“ใ€‚ๅ•ไธ€่Œ่ดฃๅŽŸๅˆ™ๅผบ่ฐƒๆจกๅ—ๅชๅบ”ๆœ‰ไธ€ไธช่ขซๆ”นๅ˜็š„ๅŽŸๅ› ๏ผŒ้ฟๅ… God Object ๅๆจกๅผใ€‚้ซ˜ๅ†…่šไฝŽ่€ฆๅˆๆ˜ฏ่กก้‡ๆจกๅ—่ดจ้‡็š„็ปˆๆžๆ ‡ๅ‡†โ€”โ€”ๆจกๅ—ๅ†…้ƒจๅ…ƒ็ด ่”็ณป็ดงๅฏ†๏ผŒๆจกๅ—ไน‹้—ดไพ่ต–ๅ…ณ็ณปๅฐฝๅฏ่ƒฝ็ฎ€ๅ•ใ€‚็ฒ’ๅบฆ่ฎพ่ฎก่ฆๆฑ‚ๅ•ไธชๆจกๅ—ไฟๆŒๅœจ 100-500 ่กŒไน‹้—ด๏ผŒๅŠŸ่ƒฝ่ƒฝ็”จไธ€ๅฅ่ฏๆธ…ๆ™ฐๆ่ฟฐ๏ผŒๅ‡บ็Žฐๅคšๅˆ†ๆ”ฏๅคๆ‚้€ป่พ‘ๆ—ถ้€šๅธธๆ˜ฏๆ‹†ๅˆ†ไฟกๅทใ€‚ๅ‘ฝๅ่ง„่Œƒ็ปŸไธ€ๅ›ข้˜ŸๆฒŸ้€š่ฏญๅขƒ๏ผˆkebab-case ๆ–‡ไปถๅใ€camelCase ๆ–นๆณ•ๅใ€PascalCase ็ฑปๅ๏ผ‰ใ€‚ๆจกๅ—็‰ˆๆœฌ็ฎก็†้ตๅพช SemVer ่ฏญไน‰ๅŒ–็‰ˆๆœฌ๏ผŒไธบๅ…ฌๅ…ฑๆจกๅ—็š„็ปดๆŠค่€…ไธŽไฝฟ็”จ่€…ๅปบ็ซ‹ๅฅ‘็บฆใ€‚ๅผบ่ฐƒๆธ…ๆ™ฐ็š„ๆจกๅ—่พน็•Œๆ˜ฏ AI ่พ…ๅŠฉ็ผ–็จ‹ๆ—ถไปฃ AI ๅ‡†็กฎ็†่งฃไปฃ็ ็š„ๅ‰ๆใ€‚","tags":["concept","solid-principles","code-organization","best-practices","naming-conventions"],"categories":["ๅ…จๆ ˆ","ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป","ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต.md","filePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต.md"}'),p={name:"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต.md"};function h(e,s,t,k,r,d){return n(),a("div",null,[...s[0]||(s[0]=[l(`

ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ๆขณ็†ไธŽๆ€ป็ป“ โ€‹

ๅฆ‚ๆžœ่ฏดๆŽŒๆกๆจกๅ—ๅŒ–่ฏญๆณ•ๆ˜ฏโ€œๆœฏโ€๏ผŒ้‚ฃไนˆ็†่งฃๅ…ถ่ƒŒๅŽ็š„่ฎพ่ฎกๅŽŸๅˆ™ๅฐฑๆ˜ฏโ€œ้“โ€ใ€‚ๅœจๅคงๅž‹ๅ‰็ซฏๅทฅ็จ‹ไธญ๏ผŒไนฑ็”จๆจกๅ—ๅŒ–ๅพ€ๅพ€ๆฏ”ไธ็”จๆ›ด็ณŸ็ณ•ใ€‚ไธบไบ†ๆž„ๅปบๅ‡บๆ—ขๅฅๅฃฎๅˆๆ˜“ไบŽๆ‰ฉๅฑ•็š„็ณป็ปŸ๏ผŒๆˆ‘ไปฌ้œ€่ฆ้ตๅพชไธ€ๅฅ—่กŒไน‹ๆœ‰ๆ•ˆ็š„ๅทฅ็จ‹ๅ‡†ๅˆ™ใ€‚

1. ๅ•ไธ€่Œ่ดฃๅŽŸๅˆ™ โ€‹

ๆ ธๅฟƒๆ€ๆƒณ๏ผšไธ€ไธชๆจกๅ—ๅบ”ๅฝ“ๆœ‰ไธ”ๅชๆœ‰ไธ€ไธช่ขซๆ”นๅ˜็š„ๅŽŸๅ› ใ€‚

ๆจกๅ—ไธๅบ”ๆˆไธบๅŠŸ่ƒฝ็š„โ€œๆ‚่ดง้“บโ€ใ€‚ๅฝ“ไธ€ไธชๆจกๅ—ๆ‰ฟๆ‹…ไบ†ๅคชๅคšไธ็›ธๅ…ณ็š„ไธšๅŠก้€ป่พ‘ๆ—ถ๏ผŒๅฎƒ็š„ๅคๆ‚ๅบฆไผšๅ‘ˆๆŒ‡ๆ•ฐ็บงไธŠๅ‡๏ผŒไปปไฝ•ๅพฎๅฐ็š„ๆ”นๅŠจ้ƒฝๅฏ่ƒฝๅผ•ๅ‘ๆ„ๆƒณไธๅˆฐ็š„่ฟž้”ๅๅบ”ใ€‚

ไปฃ็ ๆผ”็คบ๏ผš

javascript
// โœ… ๆŽจ่๏ผš่Œ่ดฃๆ‹†ๅˆ†ๆ˜Ž็กฎ
+import{_ as i,g as a,h as n,U as l}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const g=JSON.parse('{"title":"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ๆขณ็†ไธŽๆ€ป็ป“","description":"็ณป็ปŸๆขณ็†ๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅ…ญๅคงๆ ธๅฟƒๅŽŸๅˆ™๏ผšๅ•ไธ€่Œ่ดฃใ€้ซ˜ๅ†…่šไฝŽ่€ฆๅˆใ€็ฒ’ๅบฆ่ฎพ่ฎกใ€ๅ‘ฝๅ่ง„่ŒƒๅŠๆจกๅ—็‰ˆๆœฌ็ฎก็†๏ผŒ้™„่ฏฆ็ป†็š„ๅทฅ็จ‹ๅฎž่ทตๅปบ่ฎฎไธŽ้ฟๅ‘ๆŒ‡ๅ—ใ€‚","frontmatter":{"date":"2024-05-17T22:30:50.000Z","title":"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ๆขณ็†ไธŽๆ€ป็ป“","tldr":"ๆŽŒๆก้ซ˜ๅ†…่šไฝŽ่€ฆๅˆๅŽŸๅˆ™๏ผšๆจกๅ—ๅŒ–็ผ–็จ‹็š„่ฎพ่ฎกๅ‡†ๅˆ™ไธŽ็ฒ’ๅบฆๆŽงๅˆถใ€‚","description":"็ณป็ปŸๆขณ็†ๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅ…ญๅคงๆ ธๅฟƒๅŽŸๅˆ™๏ผšๅ•ไธ€่Œ่ดฃใ€้ซ˜ๅ†…่šไฝŽ่€ฆๅˆใ€็ฒ’ๅบฆ่ฎพ่ฎกใ€ๅ‘ฝๅ่ง„่ŒƒๅŠๆจกๅ—็‰ˆๆœฌ็ฎก็†๏ผŒ้™„่ฏฆ็ป†็š„ๅทฅ็จ‹ๅฎž่ทตๅปบ่ฎฎไธŽ้ฟๅ‘ๆŒ‡ๅ—ใ€‚","permalink":"/fullstack/module-programming-principles-best-practices","abstract":"ๅฆ‚ๆžœ่ฏดๆŽŒๆกๆจกๅ—ๅŒ–่ฏญๆณ•ๆ˜ฏๆœฏ๏ผŒ้‚ฃไนˆ็†่งฃๅ…ถ่ƒŒๅŽ็š„่ฎพ่ฎกๅŽŸๅˆ™ๅฐฑๆ˜ฏ้“ใ€‚ๅ•ไธ€่Œ่ดฃๅŽŸๅˆ™ๅผบ่ฐƒๆจกๅ—ๅชๅบ”ๆœ‰ไธ€ไธช่ขซๆ”นๅ˜็š„ๅŽŸๅ› ๏ผŒ้ฟๅ… God Object ๅๆจกๅผใ€‚้ซ˜ๅ†…่šไฝŽ่€ฆๅˆๆ˜ฏ่กก้‡ๆจกๅ—่ดจ้‡็š„็ปˆๆžๆ ‡ๅ‡†โ€”โ€”ๆจกๅ—ๅ†…้ƒจๅ…ƒ็ด ่”็ณป็ดงๅฏ†๏ผŒๆจกๅ—ไน‹้—ดไพ่ต–ๅ…ณ็ณปๅฐฝๅฏ่ƒฝ็ฎ€ๅ•ใ€‚็ฒ’ๅบฆ่ฎพ่ฎก่ฆๆฑ‚ๅ•ไธชๆจกๅ—ไฟๆŒๅœจ 100-500 ่กŒไน‹้—ด๏ผŒๅŠŸ่ƒฝ่ƒฝ็”จไธ€ๅฅ่ฏๆธ…ๆ™ฐๆ่ฟฐ๏ผŒๅ‡บ็Žฐๅคšๅˆ†ๆ”ฏๅคๆ‚้€ป่พ‘ๆ—ถ้€šๅธธๆ˜ฏๆ‹†ๅˆ†ไฟกๅทใ€‚ๅ‘ฝๅ่ง„่Œƒ็ปŸไธ€ๅ›ข้˜ŸๆฒŸ้€š่ฏญๅขƒ๏ผˆkebab-case ๆ–‡ไปถๅใ€camelCase ๆ–นๆณ•ๅใ€PascalCase ็ฑปๅ๏ผ‰ใ€‚ๆจกๅ—็‰ˆๆœฌ็ฎก็†้ตๅพช SemVer ่ฏญไน‰ๅŒ–็‰ˆๆœฌ๏ผŒไธบๅ…ฌๅ…ฑๆจกๅ—็š„็ปดๆŠค่€…ไธŽไฝฟ็”จ่€…ๅปบ็ซ‹ๅฅ‘็บฆใ€‚ๅผบ่ฐƒๆธ…ๆ™ฐ็š„ๆจกๅ—่พน็•Œๆ˜ฏ AI ่พ…ๅŠฉ็ผ–็จ‹ๆ—ถไปฃ AI ๅ‡†็กฎ็†่งฃไปฃ็ ็š„ๅ‰ๆใ€‚","tags":["concept","solid-principles","code-organization","best-practices","naming-conventions"],"categories":["ๅ…จๆ ˆ","ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป","ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต.md","filePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต.md"}'),p={name:"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต.md"};function h(e,s,t,k,r,d){return n(),a("div",null,[...s[0]||(s[0]=[l(`

ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ๆขณ็†ไธŽๆ€ป็ป“ โ€‹

ๅฆ‚ๆžœ่ฏดๆŽŒๆกๆจกๅ—ๅŒ–่ฏญๆณ•ๆ˜ฏโ€œๆœฏโ€๏ผŒ้‚ฃไนˆ็†่งฃๅ…ถ่ƒŒๅŽ็š„่ฎพ่ฎกๅŽŸๅˆ™ๅฐฑๆ˜ฏโ€œ้“โ€ใ€‚ๅœจๅคงๅž‹ๅ‰็ซฏๅทฅ็จ‹ไธญ๏ผŒไนฑ็”จๆจกๅ—ๅŒ–ๅพ€ๅพ€ๆฏ”ไธ็”จๆ›ด็ณŸ็ณ•ใ€‚ไธบไบ†ๆž„ๅปบๅ‡บๆ—ขๅฅๅฃฎๅˆๆ˜“ไบŽๆ‰ฉๅฑ•็š„็ณป็ปŸ๏ผŒๆˆ‘ไปฌ้œ€่ฆ้ตๅพชไธ€ๅฅ—่กŒไน‹ๆœ‰ๆ•ˆ็š„ๅทฅ็จ‹ๅ‡†ๅˆ™ใ€‚

1. ๅ•ไธ€่Œ่ดฃๅŽŸๅˆ™ โ€‹

ๆ ธๅฟƒๆ€ๆƒณ๏ผšไธ€ไธชๆจกๅ—ๅบ”ๅฝ“ๆœ‰ไธ”ๅชๆœ‰ไธ€ไธช่ขซๆ”นๅ˜็š„ๅŽŸๅ› ใ€‚

ๆจกๅ—ไธๅบ”ๆˆไธบๅŠŸ่ƒฝ็š„โ€œๆ‚่ดง้“บโ€ใ€‚ๅฝ“ไธ€ไธชๆจกๅ—ๆ‰ฟๆ‹…ไบ†ๅคชๅคšไธ็›ธๅ…ณ็š„ไธšๅŠก้€ป่พ‘ๆ—ถ๏ผŒๅฎƒ็š„ๅคๆ‚ๅบฆไผšๅ‘ˆๆŒ‡ๆ•ฐ็บงไธŠๅ‡๏ผŒไปปไฝ•ๅพฎๅฐ็š„ๆ”นๅŠจ้ƒฝๅฏ่ƒฝๅผ•ๅ‘ๆ„ๆƒณไธๅˆฐ็š„่ฟž้”ๅๅบ”ใ€‚

ไปฃ็ ๆผ”็คบ๏ผš

javascript
// โœ… ๆŽจ่๏ผš่Œ่ดฃๆ‹†ๅˆ†ๆ˜Ž็กฎ
 // user-service.js - ไป…ๅค„็†็”จๆˆทๆ•ฐๆฎ็š„ CRUD
 export const getUser = async (id) => { /* ... */ };
 
diff --git "a/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_5.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\216\237\345\210\231\344\270\216\346\234\200\344\275\263\345\256\236\350\267\265.md.uR00Ga87.lean.js" "b/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_5.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\216\237\345\210\231\344\270\216\346\234\200\344\275\263\345\256\236\350\267\265.md.LTILHYsI.lean.js"
similarity index 97%
rename from "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_5.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\216\237\345\210\231\344\270\216\346\234\200\344\275\263\345\256\236\350\267\265.md.uR00Ga87.lean.js"
rename to "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_5.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\216\237\345\210\231\344\270\216\346\234\200\344\275\263\345\256\236\350\267\265.md.LTILHYsI.lean.js"
index a41616ae..a647c0a5 100644
--- "a/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_5.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\216\237\345\210\231\344\270\216\346\234\200\344\275\263\345\256\236\350\267\265.md.uR00Ga87.lean.js"
+++ "b/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_5.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\216\237\345\210\231\344\270\216\346\234\200\344\275\263\345\256\236\350\267\265.md.LTILHYsI.lean.js"
@@ -1 +1 @@
-import{_ as i,g as a,h as n,U as l}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const g=JSON.parse('{"title":"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ๆขณ็†ไธŽๆ€ป็ป“","description":"็ณป็ปŸๆขณ็†ๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅ…ญๅคงๆ ธๅฟƒๅŽŸๅˆ™๏ผšๅ•ไธ€่Œ่ดฃใ€้ซ˜ๅ†…่šไฝŽ่€ฆๅˆใ€็ฒ’ๅบฆ่ฎพ่ฎกใ€ๅ‘ฝๅ่ง„่ŒƒๅŠๆจกๅ—็‰ˆๆœฌ็ฎก็†๏ผŒ้™„่ฏฆ็ป†็š„ๅทฅ็จ‹ๅฎž่ทตๅปบ่ฎฎไธŽ้ฟๅ‘ๆŒ‡ๅ—ใ€‚","frontmatter":{"date":"2024-05-17T22:30:50.000Z","title":"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ๆขณ็†ไธŽๆ€ป็ป“","tldr":"ๆŽŒๆก้ซ˜ๅ†…่šไฝŽ่€ฆๅˆๅŽŸๅˆ™๏ผšๆจกๅ—ๅŒ–็ผ–็จ‹็š„่ฎพ่ฎกๅ‡†ๅˆ™ไธŽ็ฒ’ๅบฆๆŽงๅˆถใ€‚","description":"็ณป็ปŸๆขณ็†ๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅ…ญๅคงๆ ธๅฟƒๅŽŸๅˆ™๏ผšๅ•ไธ€่Œ่ดฃใ€้ซ˜ๅ†…่šไฝŽ่€ฆๅˆใ€็ฒ’ๅบฆ่ฎพ่ฎกใ€ๅ‘ฝๅ่ง„่ŒƒๅŠๆจกๅ—็‰ˆๆœฌ็ฎก็†๏ผŒ้™„่ฏฆ็ป†็š„ๅทฅ็จ‹ๅฎž่ทตๅปบ่ฎฎไธŽ้ฟๅ‘ๆŒ‡ๅ—ใ€‚","permalink":"/fullstack/module-programming-principles-best-practices","abstract":"ๅฆ‚ๆžœ่ฏดๆŽŒๆกๆจกๅ—ๅŒ–่ฏญๆณ•ๆ˜ฏๆœฏ๏ผŒ้‚ฃไนˆ็†่งฃๅ…ถ่ƒŒๅŽ็š„่ฎพ่ฎกๅŽŸๅˆ™ๅฐฑๆ˜ฏ้“ใ€‚ๅ•ไธ€่Œ่ดฃๅŽŸๅˆ™ๅผบ่ฐƒๆจกๅ—ๅชๅบ”ๆœ‰ไธ€ไธช่ขซๆ”นๅ˜็š„ๅŽŸๅ› ๏ผŒ้ฟๅ… God Object ๅๆจกๅผใ€‚้ซ˜ๅ†…่šไฝŽ่€ฆๅˆๆ˜ฏ่กก้‡ๆจกๅ—่ดจ้‡็š„็ปˆๆžๆ ‡ๅ‡†โ€”โ€”ๆจกๅ—ๅ†…้ƒจๅ…ƒ็ด ่”็ณป็ดงๅฏ†๏ผŒๆจกๅ—ไน‹้—ดไพ่ต–ๅ…ณ็ณปๅฐฝๅฏ่ƒฝ็ฎ€ๅ•ใ€‚็ฒ’ๅบฆ่ฎพ่ฎก่ฆๆฑ‚ๅ•ไธชๆจกๅ—ไฟๆŒๅœจ 100-500 ่กŒไน‹้—ด๏ผŒๅŠŸ่ƒฝ่ƒฝ็”จไธ€ๅฅ่ฏๆธ…ๆ™ฐๆ่ฟฐ๏ผŒๅ‡บ็Žฐๅคšๅˆ†ๆ”ฏๅคๆ‚้€ป่พ‘ๆ—ถ้€šๅธธๆ˜ฏๆ‹†ๅˆ†ไฟกๅทใ€‚ๅ‘ฝๅ่ง„่Œƒ็ปŸไธ€ๅ›ข้˜ŸๆฒŸ้€š่ฏญๅขƒ๏ผˆkebab-case ๆ–‡ไปถๅใ€camelCase ๆ–นๆณ•ๅใ€PascalCase ็ฑปๅ๏ผ‰ใ€‚ๆจกๅ—็‰ˆๆœฌ็ฎก็†้ตๅพช SemVer ่ฏญไน‰ๅŒ–็‰ˆๆœฌ๏ผŒไธบๅ…ฌๅ…ฑๆจกๅ—็š„็ปดๆŠค่€…ไธŽไฝฟ็”จ่€…ๅปบ็ซ‹ๅฅ‘็บฆใ€‚ๅผบ่ฐƒๆธ…ๆ™ฐ็š„ๆจกๅ—่พน็•Œๆ˜ฏ AI ่พ…ๅŠฉ็ผ–็จ‹ๆ—ถไปฃ AI ๅ‡†็กฎ็†่งฃไปฃ็ ็š„ๅ‰ๆใ€‚","tags":["concept","solid-principles","code-organization","best-practices","naming-conventions"],"categories":["ๅ…จๆ ˆ","ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป","ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต.md","filePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต.md"}'),p={name:"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต.md"};function h(e,s,t,k,r,d){return n(),a("div",null,[...s[0]||(s[0]=[l("",31)])])}const c=i(p,[["render",h]]);export{g as __pageData,c as default};
+import{_ as i,g as a,h as n,U as l}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const g=JSON.parse('{"title":"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ๆขณ็†ไธŽๆ€ป็ป“","description":"็ณป็ปŸๆขณ็†ๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅ…ญๅคงๆ ธๅฟƒๅŽŸๅˆ™๏ผšๅ•ไธ€่Œ่ดฃใ€้ซ˜ๅ†…่šไฝŽ่€ฆๅˆใ€็ฒ’ๅบฆ่ฎพ่ฎกใ€ๅ‘ฝๅ่ง„่ŒƒๅŠๆจกๅ—็‰ˆๆœฌ็ฎก็†๏ผŒ้™„่ฏฆ็ป†็š„ๅทฅ็จ‹ๅฎž่ทตๅปบ่ฎฎไธŽ้ฟๅ‘ๆŒ‡ๅ—ใ€‚","frontmatter":{"date":"2024-05-17T22:30:50.000Z","title":"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ๆขณ็†ไธŽๆ€ป็ป“","tldr":"ๆŽŒๆก้ซ˜ๅ†…่šไฝŽ่€ฆๅˆๅŽŸๅˆ™๏ผšๆจกๅ—ๅŒ–็ผ–็จ‹็š„่ฎพ่ฎกๅ‡†ๅˆ™ไธŽ็ฒ’ๅบฆๆŽงๅˆถใ€‚","description":"็ณป็ปŸๆขณ็†ๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅ…ญๅคงๆ ธๅฟƒๅŽŸๅˆ™๏ผšๅ•ไธ€่Œ่ดฃใ€้ซ˜ๅ†…่šไฝŽ่€ฆๅˆใ€็ฒ’ๅบฆ่ฎพ่ฎกใ€ๅ‘ฝๅ่ง„่ŒƒๅŠๆจกๅ—็‰ˆๆœฌ็ฎก็†๏ผŒ้™„่ฏฆ็ป†็š„ๅทฅ็จ‹ๅฎž่ทตๅปบ่ฎฎไธŽ้ฟๅ‘ๆŒ‡ๅ—ใ€‚","permalink":"/fullstack/module-programming-principles-best-practices","abstract":"ๅฆ‚ๆžœ่ฏดๆŽŒๆกๆจกๅ—ๅŒ–่ฏญๆณ•ๆ˜ฏๆœฏ๏ผŒ้‚ฃไนˆ็†่งฃๅ…ถ่ƒŒๅŽ็š„่ฎพ่ฎกๅŽŸๅˆ™ๅฐฑๆ˜ฏ้“ใ€‚ๅ•ไธ€่Œ่ดฃๅŽŸๅˆ™ๅผบ่ฐƒๆจกๅ—ๅชๅบ”ๆœ‰ไธ€ไธช่ขซๆ”นๅ˜็š„ๅŽŸๅ› ๏ผŒ้ฟๅ… God Object ๅๆจกๅผใ€‚้ซ˜ๅ†…่šไฝŽ่€ฆๅˆๆ˜ฏ่กก้‡ๆจกๅ—่ดจ้‡็š„็ปˆๆžๆ ‡ๅ‡†โ€”โ€”ๆจกๅ—ๅ†…้ƒจๅ…ƒ็ด ่”็ณป็ดงๅฏ†๏ผŒๆจกๅ—ไน‹้—ดไพ่ต–ๅ…ณ็ณปๅฐฝๅฏ่ƒฝ็ฎ€ๅ•ใ€‚็ฒ’ๅบฆ่ฎพ่ฎก่ฆๆฑ‚ๅ•ไธชๆจกๅ—ไฟๆŒๅœจ 100-500 ่กŒไน‹้—ด๏ผŒๅŠŸ่ƒฝ่ƒฝ็”จไธ€ๅฅ่ฏๆธ…ๆ™ฐๆ่ฟฐ๏ผŒๅ‡บ็Žฐๅคšๅˆ†ๆ”ฏๅคๆ‚้€ป่พ‘ๆ—ถ้€šๅธธๆ˜ฏๆ‹†ๅˆ†ไฟกๅทใ€‚ๅ‘ฝๅ่ง„่Œƒ็ปŸไธ€ๅ›ข้˜ŸๆฒŸ้€š่ฏญๅขƒ๏ผˆkebab-case ๆ–‡ไปถๅใ€camelCase ๆ–นๆณ•ๅใ€PascalCase ็ฑปๅ๏ผ‰ใ€‚ๆจกๅ—็‰ˆๆœฌ็ฎก็†้ตๅพช SemVer ่ฏญไน‰ๅŒ–็‰ˆๆœฌ๏ผŒไธบๅ…ฌๅ…ฑๆจกๅ—็š„็ปดๆŠค่€…ไธŽไฝฟ็”จ่€…ๅปบ็ซ‹ๅฅ‘็บฆใ€‚ๅผบ่ฐƒๆธ…ๆ™ฐ็š„ๆจกๅ—่พน็•Œๆ˜ฏ AI ่พ…ๅŠฉ็ผ–็จ‹ๆ—ถไปฃ AI ๅ‡†็กฎ็†่งฃไปฃ็ ็š„ๅ‰ๆใ€‚","tags":["concept","solid-principles","code-organization","best-practices","naming-conventions"],"categories":["ๅ…จๆ ˆ","ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป","ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต.md","filePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต.md"}'),p={name:"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต.md"};function h(e,s,t,k,r,d){return n(),a("div",null,[...s[0]||(s[0]=[l("",31)])])}const c=i(p,[["render",h]]);export{g as __pageData,c as default};
diff --git "a/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_6.\350\247\243\346\236\220 NodeJS \344\270\255\347\232\204\346\250\241\345\235\227\345\214\226.md.DRe2iUDr.js" "b/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_6.\350\247\243\346\236\220 NodeJS \344\270\255\347\232\204\346\250\241\345\235\227\345\214\226.md.CGHtK9Bj.js"
similarity index 99%
rename from "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_6.\350\247\243\346\236\220 NodeJS \344\270\255\347\232\204\346\250\241\345\235\227\345\214\226.md.DRe2iUDr.js"
rename to "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_6.\350\247\243\346\236\220 NodeJS \344\270\255\347\232\204\346\250\241\345\235\227\345\214\226.md.CGHtK9Bj.js"
index f0e1dc94..d5fc4852 100644
--- "a/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_6.\350\247\243\346\236\220 NodeJS \344\270\255\347\232\204\346\250\241\345\235\227\345\214\226.md.DRe2iUDr.js"	
+++ "b/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_6.\350\247\243\346\236\220 NodeJS \344\270\255\347\232\204\346\250\241\345\235\227\345\214\226.md.CGHtK9Bj.js"	
@@ -1,4 +1,4 @@
-import{_ as i,g as a,h as e,U as n}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const c=JSON.parse('{"title":"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“","description":"่งฃๆž Node.js ไธญ CommonJS ไธŽ ES Modules ็š„ๅŒๆจกๅ…ฑๅญ˜็ญ–็•ฅ๏ผŒๆถต็›–ๆจกๅ—ๅŠ ่ฝฝไผ˜ๅ…ˆ็บงใ€็ผ“ๅญ˜ๆœบๅˆถใ€package.json exports ๆกไปถๅฏผๅ‡บๅŠ Monorepo ๆžถๆž„ๅฎž่ทตใ€‚","frontmatter":{"date":"2024-05-17T23:33:09.000Z","title":"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“","tldr":"Node.js CJS ไธŽ ESM ๅŒๆจกๅ…ฑๅญ˜๏ผšๆจกๅ—ๅŠ ่ฝฝๆœบๅˆถไธŽๅˆ†ๅฑ‚ๆžถๆž„ๅฎž่ทตใ€‚","description":"่งฃๆž Node.js ไธญ CommonJS ไธŽ ES Modules ็š„ๅŒๆจกๅ…ฑๅญ˜็ญ–็•ฅ๏ผŒๆถต็›–ๆจกๅ—ๅŠ ่ฝฝไผ˜ๅ…ˆ็บงใ€็ผ“ๅญ˜ๆœบๅˆถใ€package.json exports ๆกไปถๅฏผๅ‡บๅŠ Monorepo ๆžถๆž„ๅฎž่ทตใ€‚","permalink":"/fullstack/nodejs-module-programming-summary","abstract":"Node.js ๆจกๅ—ๅŒ–็ปๅކไบ†ไปŽ CommonJS ็‹ฌ้œธๅคฉไธ‹ๅˆฐ ES Modules ๅ…จ้ขๆŽฅๅ…ฅ็š„่Œƒๅผ่ฝฌ็งปใ€‚ๅ…ฑๅญ˜็ญ–็•ฅ้€š่ฟ‡ .mjs/.cjs ๅŽ็ผ€ๅ’Œ package.json type ๅญ—ๆฎตๆŽงๅˆถไธค็ง่ง„่Œƒ็š„่พน็•Œ๏ผ›ESM ๅฏ็›ดๆŽฅ import CJS๏ผˆ่‡ชๅŠจๅŒ…่ฃ…ไธบ้ป˜่ฎคๅฏผๅ‡บ๏ผ‰๏ผŒไฝ† CJS ๆ— ๆณ• require ESM ๅฟ…้กปไฝฟ็”จๅŠจๆ€ importใ€‚ๆจกๅ—ๅŠ ่ฝฝ้ตๅพชๆ ธๅฟƒๆจกๅ—ไผ˜ๅ…ˆใ€ๆ–‡ไปถๆจกๅ—ใ€็›ฎๅฝ•ๆจกๅ—๏ผˆindex.js/package.json๏ผ‰ใ€node_modules ้€็บงๆŸฅๆ‰พ็š„ไผ˜ๅ…ˆ็บง๏ผ›require.cache ๅฎž็Žฐๆจกๅ—็ผ“ๅญ˜๏ผŒๆธ…้™ค็ผ“ๅญ˜๏ผˆdelete require.cache[path]๏ผ‰ๆ˜ฏ็ƒญๆ›ดๆ–ฐๅทฅๅ…ท็š„ๆ ธๅฟƒๆ“ไฝœใ€‚package.json exports ๅญ—ๆฎตๆ”ฏๆŒๆกไปถๅฏผๅ‡บ๏ผˆimport/require ่ฟ”ๅ›žไธๅŒๅ…ฅๅฃ๏ผ‰ใ€‚pnpm workspaces ๅ‡ญๅ€Ÿ็กฌ้“พๆŽฅๆœบๅˆถๆˆไธบ็Žฐไปฃ Monorepo ้ฆ–้€‰ใ€‚ๅŽ็ซฏๅˆ†ๅฑ‚ๆžถๆž„๏ผˆAPI/Service/Repository๏ผ‰ๅฎž็Žฐๅ…ณๆณจ็‚นๅˆ†็ฆป๏ผŒๆขๆ•ฐๆฎๅบ“ๅช้œ€ๆ”น Repository ๅฑ‚ใ€‚","tags":["concept","node.js","commonjs","esm","monorepo","layered-architecture"],"categories":["ๅ…จๆ ˆ","ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป","ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–.md","filePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–.md"}'),l={name:"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–.md"};function p(t,s,r,o,h,d){return e(),a("div",null,[...s[0]||(s[0]=[n(`

Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“ โ€‹

ๅฆ‚ๆžœ่ฏดๆต่งˆๅ™จ็ซฏ็š„ๆจกๅ—ๅŒ–ๆ˜ฏไธบไบ†"ๆŒ‰้œ€ๅŠ ่ฝฝ"๏ผŒ้‚ฃไนˆ Node.js ็š„ๆจกๅ—ๅŒ–ๅˆ™ๆ˜ฏไธบไบ†"ไปฃ็ ็ป„็ป‡"ใ€‚ไฝœไธบๅฐ† JavaScript ๅธฆๅ…ฅๆœๅŠกๅ™จ็ซฏ็š„ๅ…ˆ้ฉฑ๏ผŒNode.js ็ปๅކไบ†ไปŽ CommonJS (CJS) ็‹ฌ้œธๅคฉไธ‹ๅˆฐ ES Modules (ESM) ๅ…จ้ขๆŽฅๅ…ฅ็š„่Œƒๅผ่ฝฌ็งปใ€‚

ๅœจๆœๅŠกๅ™จ็ซฏ๏ผŒๆจกๅ—ๅŒ–ไธไป…ไป…ๆ˜ฏไธบไบ†ๆ‹†ๅˆ†ไปฃ็ ๏ผŒๆ›ดๆ˜ฏไธบไบ†ๆž„ๅปบๆธ…ๆ™ฐ็š„้กน็›ฎ็ป“ๆž„ใ€็ฎก็†ไพ่ต–ๅ…ณ็ณป๏ผŒไปฅๅŠๅฎž็Žฐไปฃ็ ็š„ๅค็”จไธŽ็ปดๆŠคใ€‚

1. CommonJS ไธŽ ES Modules ๅŒๆจกๅ…ฑๅญ˜ โ€‹

ๅœจ็Žฐไปฃ Node.js ๅผ€ๅ‘ไธญ๏ผŒๆˆ‘ไปฌ็ปๅธธ้ขไธดไธค็ง่ง„่Œƒไบค็ป‡็š„ๆƒ…ๅ†ตใ€‚่ฟ™ไธไป…ๆ˜ฏๆ–‡ไปถๅŽ็ผ€็š„ๆ”นๅ˜๏ผŒๆ›ดๆ˜ฏๅŒๆญฅไธŽๅผ‚ๆญฅๅŠ ่ฝฝ้€ป่พ‘็š„ๅšๅผˆใ€‚

ๅ…ฑๅญ˜็ญ–็•ฅ๏ผš

  1. ๅŽ็ผ€ๅ†ณๅฎš่ฎบ๏ผš.mjs ๅง‹็ปˆ่ขซ่ง†ไธบ ESM๏ผŒ.cjs ๅง‹็ปˆ่ขซ่ง†ไธบ CJSใ€‚
  2. ๅŒ…ๅฎšไน‰ๅฏผๅ‘๏ผšๅœจ package.json ไธญ่ฎพ็ฝฎ "type": "module"๏ผŒๅˆ™็›ฎๅฝ•ไธ‹ๆ‰€ๆœ‰ .js ๅ‡่ง†ไธบ ESM๏ผŒๅไน‹้ป˜่ฎคไธบ CJSใ€‚
  3. ไบ’ๆ“ไฝœๆ€ง๏ผˆInterop๏ผ‰๏ผš
    • ESM ๅผ•็”จ CJS๏ผš็›ดๆŽฅ import ๅณๅฏ๏ผŒNode ไผšๅฐ† module.exports ๅŒ…่ฃ…ไธบ้ป˜่ฎคๅฏผๅ‡บใ€‚
    • CJS ๅผ•็”จ ESM๏ผš็”ฑไบŽ ESM ๆ˜ฏๅผ‚ๆญฅๅŠ ่ฝฝ็š„๏ผŒCJS ๆ— ๆณ•ไฝฟ็”จ require๏ผŒๅฟ…้กปไฝฟ็”จ ๅŠจๆ€ import๏ผšconst module = await import('./es-module.mjs')

ไปฃ็ ็คบไพ‹๏ผš

javascript
// package.json
+import{_ as i,g as a,h as e,U as n}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const c=JSON.parse('{"title":"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“","description":"่งฃๆž Node.js ไธญ CommonJS ไธŽ ES Modules ็š„ๅŒๆจกๅ…ฑๅญ˜็ญ–็•ฅ๏ผŒๆถต็›–ๆจกๅ—ๅŠ ่ฝฝไผ˜ๅ…ˆ็บงใ€็ผ“ๅญ˜ๆœบๅˆถใ€package.json exports ๆกไปถๅฏผๅ‡บๅŠ Monorepo ๆžถๆž„ๅฎž่ทตใ€‚","frontmatter":{"date":"2024-05-17T23:33:09.000Z","title":"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“","tldr":"Node.js CJS ไธŽ ESM ๅŒๆจกๅ…ฑๅญ˜๏ผšๆจกๅ—ๅŠ ่ฝฝๆœบๅˆถไธŽๅˆ†ๅฑ‚ๆžถๆž„ๅฎž่ทตใ€‚","description":"่งฃๆž Node.js ไธญ CommonJS ไธŽ ES Modules ็š„ๅŒๆจกๅ…ฑๅญ˜็ญ–็•ฅ๏ผŒๆถต็›–ๆจกๅ—ๅŠ ่ฝฝไผ˜ๅ…ˆ็บงใ€็ผ“ๅญ˜ๆœบๅˆถใ€package.json exports ๆกไปถๅฏผๅ‡บๅŠ Monorepo ๆžถๆž„ๅฎž่ทตใ€‚","permalink":"/fullstack/nodejs-module-programming-summary","abstract":"Node.js ๆจกๅ—ๅŒ–็ปๅކไบ†ไปŽ CommonJS ็‹ฌ้œธๅคฉไธ‹ๅˆฐ ES Modules ๅ…จ้ขๆŽฅๅ…ฅ็š„่Œƒๅผ่ฝฌ็งปใ€‚ๅ…ฑๅญ˜็ญ–็•ฅ้€š่ฟ‡ .mjs/.cjs ๅŽ็ผ€ๅ’Œ package.json type ๅญ—ๆฎตๆŽงๅˆถไธค็ง่ง„่Œƒ็š„่พน็•Œ๏ผ›ESM ๅฏ็›ดๆŽฅ import CJS๏ผˆ่‡ชๅŠจๅŒ…่ฃ…ไธบ้ป˜่ฎคๅฏผๅ‡บ๏ผ‰๏ผŒไฝ† CJS ๆ— ๆณ• require ESM ๅฟ…้กปไฝฟ็”จๅŠจๆ€ importใ€‚ๆจกๅ—ๅŠ ่ฝฝ้ตๅพชๆ ธๅฟƒๆจกๅ—ไผ˜ๅ…ˆใ€ๆ–‡ไปถๆจกๅ—ใ€็›ฎๅฝ•ๆจกๅ—๏ผˆindex.js/package.json๏ผ‰ใ€node_modules ้€็บงๆŸฅๆ‰พ็š„ไผ˜ๅ…ˆ็บง๏ผ›require.cache ๅฎž็Žฐๆจกๅ—็ผ“ๅญ˜๏ผŒๆธ…้™ค็ผ“ๅญ˜๏ผˆdelete require.cache[path]๏ผ‰ๆ˜ฏ็ƒญๆ›ดๆ–ฐๅทฅๅ…ท็š„ๆ ธๅฟƒๆ“ไฝœใ€‚package.json exports ๅญ—ๆฎตๆ”ฏๆŒๆกไปถๅฏผๅ‡บ๏ผˆimport/require ่ฟ”ๅ›žไธๅŒๅ…ฅๅฃ๏ผ‰ใ€‚pnpm workspaces ๅ‡ญๅ€Ÿ็กฌ้“พๆŽฅๆœบๅˆถๆˆไธบ็Žฐไปฃ Monorepo ้ฆ–้€‰ใ€‚ๅŽ็ซฏๅˆ†ๅฑ‚ๆžถๆž„๏ผˆAPI/Service/Repository๏ผ‰ๅฎž็Žฐๅ…ณๆณจ็‚นๅˆ†็ฆป๏ผŒๆขๆ•ฐๆฎๅบ“ๅช้œ€ๆ”น Repository ๅฑ‚ใ€‚","tags":["concept","node.js","commonjs","esm","monorepo","layered-architecture"],"categories":["ๅ…จๆ ˆ","ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป","ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–.md","filePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–.md"}'),l={name:"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–.md"};function p(t,s,r,o,h,d){return e(),a("div",null,[...s[0]||(s[0]=[n(`

Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“ โ€‹

ๅฆ‚ๆžœ่ฏดๆต่งˆๅ™จ็ซฏ็š„ๆจกๅ—ๅŒ–ๆ˜ฏไธบไบ†"ๆŒ‰้œ€ๅŠ ่ฝฝ"๏ผŒ้‚ฃไนˆ Node.js ็š„ๆจกๅ—ๅŒ–ๅˆ™ๆ˜ฏไธบไบ†"ไปฃ็ ็ป„็ป‡"ใ€‚ไฝœไธบๅฐ† JavaScript ๅธฆๅ…ฅๆœๅŠกๅ™จ็ซฏ็š„ๅ…ˆ้ฉฑ๏ผŒNode.js ็ปๅކไบ†ไปŽ CommonJS (CJS) ็‹ฌ้œธๅคฉไธ‹ๅˆฐ ES Modules (ESM) ๅ…จ้ขๆŽฅๅ…ฅ็š„่Œƒๅผ่ฝฌ็งปใ€‚

ๅœจๆœๅŠกๅ™จ็ซฏ๏ผŒๆจกๅ—ๅŒ–ไธไป…ไป…ๆ˜ฏไธบไบ†ๆ‹†ๅˆ†ไปฃ็ ๏ผŒๆ›ดๆ˜ฏไธบไบ†ๆž„ๅปบๆธ…ๆ™ฐ็š„้กน็›ฎ็ป“ๆž„ใ€็ฎก็†ไพ่ต–ๅ…ณ็ณป๏ผŒไปฅๅŠๅฎž็Žฐไปฃ็ ็š„ๅค็”จไธŽ็ปดๆŠคใ€‚

1. CommonJS ไธŽ ES Modules ๅŒๆจกๅ…ฑๅญ˜ โ€‹

ๅœจ็Žฐไปฃ Node.js ๅผ€ๅ‘ไธญ๏ผŒๆˆ‘ไปฌ็ปๅธธ้ขไธดไธค็ง่ง„่Œƒไบค็ป‡็š„ๆƒ…ๅ†ตใ€‚่ฟ™ไธไป…ๆ˜ฏๆ–‡ไปถๅŽ็ผ€็š„ๆ”นๅ˜๏ผŒๆ›ดๆ˜ฏๅŒๆญฅไธŽๅผ‚ๆญฅๅŠ ่ฝฝ้€ป่พ‘็š„ๅšๅผˆใ€‚

ๅ…ฑๅญ˜็ญ–็•ฅ๏ผš

  1. ๅŽ็ผ€ๅ†ณๅฎš่ฎบ๏ผš.mjs ๅง‹็ปˆ่ขซ่ง†ไธบ ESM๏ผŒ.cjs ๅง‹็ปˆ่ขซ่ง†ไธบ CJSใ€‚
  2. ๅŒ…ๅฎšไน‰ๅฏผๅ‘๏ผšๅœจ package.json ไธญ่ฎพ็ฝฎ "type": "module"๏ผŒๅˆ™็›ฎๅฝ•ไธ‹ๆ‰€ๆœ‰ .js ๅ‡่ง†ไธบ ESM๏ผŒๅไน‹้ป˜่ฎคไธบ CJSใ€‚
  3. ไบ’ๆ“ไฝœๆ€ง๏ผˆInterop๏ผ‰๏ผš
    • ESM ๅผ•็”จ CJS๏ผš็›ดๆŽฅ import ๅณๅฏ๏ผŒNode ไผšๅฐ† module.exports ๅŒ…่ฃ…ไธบ้ป˜่ฎคๅฏผๅ‡บใ€‚
    • CJS ๅผ•็”จ ESM๏ผš็”ฑไบŽ ESM ๆ˜ฏๅผ‚ๆญฅๅŠ ่ฝฝ็š„๏ผŒCJS ๆ— ๆณ•ไฝฟ็”จ require๏ผŒๅฟ…้กปไฝฟ็”จ ๅŠจๆ€ import๏ผšconst module = await import('./es-module.mjs')

ไปฃ็ ็คบไพ‹๏ผš

javascript
// package.json
 {
   "type": "module"
 }
diff --git "a/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_6.\350\247\243\346\236\220 NodeJS \344\270\255\347\232\204\346\250\241\345\235\227\345\214\226.md.DRe2iUDr.lean.js" "b/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_6.\350\247\243\346\236\220 NodeJS \344\270\255\347\232\204\346\250\241\345\235\227\345\214\226.md.CGHtK9Bj.lean.js"
similarity index 97%
rename from "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_6.\350\247\243\346\236\220 NodeJS \344\270\255\347\232\204\346\250\241\345\235\227\345\214\226.md.DRe2iUDr.lean.js"
rename to "assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_6.\350\247\243\346\236\220 NodeJS \344\270\255\347\232\204\346\250\241\345\235\227\345\214\226.md.CGHtK9Bj.lean.js"
index b2552882..b064730b 100644
--- "a/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_6.\350\247\243\346\236\220 NodeJS \344\270\255\347\232\204\346\250\241\345\235\227\345\214\226.md.DRe2iUDr.lean.js"	
+++ "b/assets/01.\345\205\250\346\240\210_80.\345\205\250\346\240\210\345\237\272\347\241\200\347\264\240\345\205\273_20.\346\250\241\345\235\227\345\214\226\347\274\226\347\250\213\345\256\236\350\267\265\346\214\207\345\215\227_6.\350\247\243\346\236\220 NodeJS \344\270\255\347\232\204\346\250\241\345\235\227\345\214\226.md.CGHtK9Bj.lean.js"	
@@ -1 +1 @@
-import{_ as i,g as a,h as e,U as n}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const c=JSON.parse('{"title":"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“","description":"่งฃๆž Node.js ไธญ CommonJS ไธŽ ES Modules ็š„ๅŒๆจกๅ…ฑๅญ˜็ญ–็•ฅ๏ผŒๆถต็›–ๆจกๅ—ๅŠ ่ฝฝไผ˜ๅ…ˆ็บงใ€็ผ“ๅญ˜ๆœบๅˆถใ€package.json exports ๆกไปถๅฏผๅ‡บๅŠ Monorepo ๆžถๆž„ๅฎž่ทตใ€‚","frontmatter":{"date":"2024-05-17T23:33:09.000Z","title":"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“","tldr":"Node.js CJS ไธŽ ESM ๅŒๆจกๅ…ฑๅญ˜๏ผšๆจกๅ—ๅŠ ่ฝฝๆœบๅˆถไธŽๅˆ†ๅฑ‚ๆžถๆž„ๅฎž่ทตใ€‚","description":"่งฃๆž Node.js ไธญ CommonJS ไธŽ ES Modules ็š„ๅŒๆจกๅ…ฑๅญ˜็ญ–็•ฅ๏ผŒๆถต็›–ๆจกๅ—ๅŠ ่ฝฝไผ˜ๅ…ˆ็บงใ€็ผ“ๅญ˜ๆœบๅˆถใ€package.json exports ๆกไปถๅฏผๅ‡บๅŠ Monorepo ๆžถๆž„ๅฎž่ทตใ€‚","permalink":"/fullstack/nodejs-module-programming-summary","abstract":"Node.js ๆจกๅ—ๅŒ–็ปๅކไบ†ไปŽ CommonJS ็‹ฌ้œธๅคฉไธ‹ๅˆฐ ES Modules ๅ…จ้ขๆŽฅๅ…ฅ็š„่Œƒๅผ่ฝฌ็งปใ€‚ๅ…ฑๅญ˜็ญ–็•ฅ้€š่ฟ‡ .mjs/.cjs ๅŽ็ผ€ๅ’Œ package.json type ๅญ—ๆฎตๆŽงๅˆถไธค็ง่ง„่Œƒ็š„่พน็•Œ๏ผ›ESM ๅฏ็›ดๆŽฅ import CJS๏ผˆ่‡ชๅŠจๅŒ…่ฃ…ไธบ้ป˜่ฎคๅฏผๅ‡บ๏ผ‰๏ผŒไฝ† CJS ๆ— ๆณ• require ESM ๅฟ…้กปไฝฟ็”จๅŠจๆ€ importใ€‚ๆจกๅ—ๅŠ ่ฝฝ้ตๅพชๆ ธๅฟƒๆจกๅ—ไผ˜ๅ…ˆใ€ๆ–‡ไปถๆจกๅ—ใ€็›ฎๅฝ•ๆจกๅ—๏ผˆindex.js/package.json๏ผ‰ใ€node_modules ้€็บงๆŸฅๆ‰พ็š„ไผ˜ๅ…ˆ็บง๏ผ›require.cache ๅฎž็Žฐๆจกๅ—็ผ“ๅญ˜๏ผŒๆธ…้™ค็ผ“ๅญ˜๏ผˆdelete require.cache[path]๏ผ‰ๆ˜ฏ็ƒญๆ›ดๆ–ฐๅทฅๅ…ท็š„ๆ ธๅฟƒๆ“ไฝœใ€‚package.json exports ๅญ—ๆฎตๆ”ฏๆŒๆกไปถๅฏผๅ‡บ๏ผˆimport/require ่ฟ”ๅ›žไธๅŒๅ…ฅๅฃ๏ผ‰ใ€‚pnpm workspaces ๅ‡ญๅ€Ÿ็กฌ้“พๆŽฅๆœบๅˆถๆˆไธบ็Žฐไปฃ Monorepo ้ฆ–้€‰ใ€‚ๅŽ็ซฏๅˆ†ๅฑ‚ๆžถๆž„๏ผˆAPI/Service/Repository๏ผ‰ๅฎž็Žฐๅ…ณๆณจ็‚นๅˆ†็ฆป๏ผŒๆขๆ•ฐๆฎๅบ“ๅช้œ€ๆ”น Repository ๅฑ‚ใ€‚","tags":["concept","node.js","commonjs","esm","monorepo","layered-architecture"],"categories":["ๅ…จๆ ˆ","ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป","ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–.md","filePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–.md"}'),l={name:"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–.md"};function p(t,s,r,o,h,d){return e(),a("div",null,[...s[0]||(s[0]=[n("",31)])])}const g=i(l,[["render",p]]);export{c as __pageData,g as default};
+import{_ as i,g as a,h as e,U as n}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const c=JSON.parse('{"title":"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“","description":"่งฃๆž Node.js ไธญ CommonJS ไธŽ ES Modules ็š„ๅŒๆจกๅ…ฑๅญ˜็ญ–็•ฅ๏ผŒๆถต็›–ๆจกๅ—ๅŠ ่ฝฝไผ˜ๅ…ˆ็บงใ€็ผ“ๅญ˜ๆœบๅˆถใ€package.json exports ๆกไปถๅฏผๅ‡บๅŠ Monorepo ๆžถๆž„ๅฎž่ทตใ€‚","frontmatter":{"date":"2024-05-17T23:33:09.000Z","title":"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“","tldr":"Node.js CJS ไธŽ ESM ๅŒๆจกๅ…ฑๅญ˜๏ผšๆจกๅ—ๅŠ ่ฝฝๆœบๅˆถไธŽๅˆ†ๅฑ‚ๆžถๆž„ๅฎž่ทตใ€‚","description":"่งฃๆž Node.js ไธญ CommonJS ไธŽ ES Modules ็š„ๅŒๆจกๅ…ฑๅญ˜็ญ–็•ฅ๏ผŒๆถต็›–ๆจกๅ—ๅŠ ่ฝฝไผ˜ๅ…ˆ็บงใ€็ผ“ๅญ˜ๆœบๅˆถใ€package.json exports ๆกไปถๅฏผๅ‡บๅŠ Monorepo ๆžถๆž„ๅฎž่ทตใ€‚","permalink":"/fullstack/nodejs-module-programming-summary","abstract":"Node.js ๆจกๅ—ๅŒ–็ปๅކไบ†ไปŽ CommonJS ็‹ฌ้œธๅคฉไธ‹ๅˆฐ ES Modules ๅ…จ้ขๆŽฅๅ…ฅ็š„่Œƒๅผ่ฝฌ็งปใ€‚ๅ…ฑๅญ˜็ญ–็•ฅ้€š่ฟ‡ .mjs/.cjs ๅŽ็ผ€ๅ’Œ package.json type ๅญ—ๆฎตๆŽงๅˆถไธค็ง่ง„่Œƒ็š„่พน็•Œ๏ผ›ESM ๅฏ็›ดๆŽฅ import CJS๏ผˆ่‡ชๅŠจๅŒ…่ฃ…ไธบ้ป˜่ฎคๅฏผๅ‡บ๏ผ‰๏ผŒไฝ† CJS ๆ— ๆณ• require ESM ๅฟ…้กปไฝฟ็”จๅŠจๆ€ importใ€‚ๆจกๅ—ๅŠ ่ฝฝ้ตๅพชๆ ธๅฟƒๆจกๅ—ไผ˜ๅ…ˆใ€ๆ–‡ไปถๆจกๅ—ใ€็›ฎๅฝ•ๆจกๅ—๏ผˆindex.js/package.json๏ผ‰ใ€node_modules ้€็บงๆŸฅๆ‰พ็š„ไผ˜ๅ…ˆ็บง๏ผ›require.cache ๅฎž็Žฐๆจกๅ—็ผ“ๅญ˜๏ผŒๆธ…้™ค็ผ“ๅญ˜๏ผˆdelete require.cache[path]๏ผ‰ๆ˜ฏ็ƒญๆ›ดๆ–ฐๅทฅๅ…ท็š„ๆ ธๅฟƒๆ“ไฝœใ€‚package.json exports ๅญ—ๆฎตๆ”ฏๆŒๆกไปถๅฏผๅ‡บ๏ผˆimport/require ่ฟ”ๅ›žไธๅŒๅ…ฅๅฃ๏ผ‰ใ€‚pnpm workspaces ๅ‡ญๅ€Ÿ็กฌ้“พๆŽฅๆœบๅˆถๆˆไธบ็Žฐไปฃ Monorepo ้ฆ–้€‰ใ€‚ๅŽ็ซฏๅˆ†ๅฑ‚ๆžถๆž„๏ผˆAPI/Service/Repository๏ผ‰ๅฎž็Žฐๅ…ณๆณจ็‚นๅˆ†็ฆป๏ผŒๆขๆ•ฐๆฎๅบ“ๅช้œ€ๆ”น Repository ๅฑ‚ใ€‚","tags":["concept","node.js","commonjs","esm","monorepo","layered-architecture"],"categories":["ๅ…จๆ ˆ","ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป","ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–.md","filePath":"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–.md"}'),l={name:"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–.md"};function p(t,s,r,o,h,d){return e(),a("div",null,[...s[0]||(s[0]=[n("",31)])])}const g=i(l,[["render",p]]);export{c as __pageData,g as default};
diff --git "a/assets/01.\345\205\250\346\240\210_90.\345\267\245\345\205\267\344\270\216\350\265\204\346\272\220\346\216\250\350\215\220_90.\345\205\250\346\240\210\346\212\200\346\234\257\350\265\204\346\272\220\346\216\250\350\215\220.md.Dq7Ydo7v.js" "b/assets/01.\345\205\250\346\240\210_90.\345\267\245\345\205\267\344\270\216\350\265\204\346\272\220\346\216\250\350\215\220_90.\345\205\250\346\240\210\346\212\200\346\234\257\350\265\204\346\272\220\346\216\250\350\215\220.md.BBjcdRsJ.js"
similarity index 99%
rename from "assets/01.\345\205\250\346\240\210_90.\345\267\245\345\205\267\344\270\216\350\265\204\346\272\220\346\216\250\350\215\220_90.\345\205\250\346\240\210\346\212\200\346\234\257\350\265\204\346\272\220\346\216\250\350\215\220.md.Dq7Ydo7v.js"
rename to "assets/01.\345\205\250\346\240\210_90.\345\267\245\345\205\267\344\270\216\350\265\204\346\272\220\346\216\250\350\215\220_90.\345\205\250\346\240\210\346\212\200\346\234\257\350\265\204\346\272\220\346\216\250\350\215\220.md.BBjcdRsJ.js"
index 6898717f..940504f6 100644
--- "a/assets/01.\345\205\250\346\240\210_90.\345\267\245\345\205\267\344\270\216\350\265\204\346\272\220\346\216\250\350\215\220_90.\345\205\250\346\240\210\346\212\200\346\234\257\350\265\204\346\272\220\346\216\250\350\215\220.md.Dq7Ydo7v.js"
+++ "b/assets/01.\345\205\250\346\240\210_90.\345\267\245\345\205\267\344\270\216\350\265\204\346\272\220\346\216\250\350\215\220_90.\345\205\250\346\240\210\346\212\200\346\234\257\350\265\204\346\272\220\346\216\250\350\215\220.md.BBjcdRsJ.js"
@@ -1 +1 @@
-import{_ as d,g as i,h as c,U as e,i as a,S as s}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const v=JSON.parse('{"title":"ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡็ณป็ปŸๆขณ็†ไบ†็Žฐไปฃๅ…จๆ ˆๅผ€ๅ‘็š„ๅฎŒๆ•ดๆŠ€ๆœฏๅ›พ่ฐฑไธŽๆผ”่ฟ›่Œƒๅผ๏ผŒไธบๅผ€ๅ‘่€…ๆไพ›ไบ†ไธ€็ซ™ๅผ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—ใ€‚ๆ–‡็ซ ไปŽๅŸบ็Ÿณๅ‡บๅ‘๏ผŒ่ฆ†็›– Web ๆ ธๅฟƒ่ฏญ่จ€๏ผˆJS/TS๏ผ‰ ไธŽ ไธปๆต UI ๆก†ๆžถ๏ผˆReact/Vue/Svelte๏ผ‰๏ผŒๅนถๆŽจ่ไปฅ Tailwind CSS ๅ’Œ shadcn/ui ไธบไปฃ่กจ็š„็Žฐไปฃๆ ทๅผไธŽ็ป„ไปถๅŽŸ่ฏญใ€‚ๅœจๆ ธๅฟƒไธšๅŠก้€ป่พ‘ๅฑ‚๏ผŒๆทฑๅบฆๅฏนๆฏ”ไบ†่ฝป้‡ๅŒ–็Šถๆ€็ฎก็†ๆ–นๆกˆ๏ผˆ้ฆ–ๆŽจ Zustand/Jotai๏ผ‰๏ผŒๅนถ้‡็‚น่งฃๆžไบ†ๆ•ฐๆฎไบคไบ’็š„ไธ‰ๅคง็Žฐไปฃๆžถๆž„่Œƒๅผ๏ผšไปŽๅŸบ็ก€ Axios ๅˆฐ React Query ็Šถๆ€่ฐƒๅบฆ๏ผŒๅ†ๅˆฐ tRPC ๅ’Œ GraphQL ๅธฆๆฅ็š„ๅ…จๆ ˆ็ฑปๅž‹ๅฎ‰ๅ…จไธŽๅคš็ซฏ่šๅˆใ€‚ๅœจๅทฅ็จ‹ๅŒ–ไธŽๆœๅŠก็ซฏๆจกๅ—๏ผŒๆ–‡็ซ ๅ…จ้ขๆ‹ฅๆŠฑ Viteใ€Rsbuild ็ญ‰ๆž้€Ÿๆž„ๅปบๅทฅๅ…ท๏ผŒๅนถๅ‰–ๆžไบ† Next.js/Nuxt ๅŒๆž„ๅ…ƒๆก†ๆžถไธŽ NestJS ไผไธš็บง Node ๆœๅŠก็š„ๆœ€ไฝณ้€‚็”จๅœบๆ™ฏใ€‚ๆœ€ๅŽ๏ผŒ่พ…ไปฅ Vercel ็ญ‰็Žฐไปฃ่พน็ผ˜้ƒจ็ฝฒๅนณๅฐๅŠไธฐๅฏŒ็š„ๅผ€ๆบ็คพๅŒบๅญฆไน ่ต„ๆบใ€‚","frontmatter":{"date":"2026-02-06T15:58:53.000Z","title":"ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡็ณป็ปŸๆขณ็†ไบ†็Žฐไปฃๅ…จๆ ˆๅผ€ๅ‘็š„ๅฎŒๆ•ดๆŠ€ๆœฏๅ›พ่ฐฑไธŽๆผ”่ฟ›่Œƒๅผ๏ผŒไธบๅผ€ๅ‘่€…ๆไพ›ไบ†ไธ€็ซ™ๅผ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—ใ€‚ๆ–‡็ซ ไปŽๅŸบ็Ÿณๅ‡บๅ‘๏ผŒ่ฆ†็›– Web ๆ ธๅฟƒ่ฏญ่จ€๏ผˆJS/TS๏ผ‰ ไธŽ ไธปๆต UI ๆก†ๆžถ๏ผˆReact/Vue/Svelte๏ผ‰๏ผŒๅนถๆŽจ่ไปฅ Tailwind CSS ๅ’Œ shadcn/ui ไธบไปฃ่กจ็š„็Žฐไปฃๆ ทๅผไธŽ็ป„ไปถๅŽŸ่ฏญใ€‚ๅœจๆ ธๅฟƒไธšๅŠก้€ป่พ‘ๅฑ‚๏ผŒๆทฑๅบฆๅฏนๆฏ”ไบ†่ฝป้‡ๅŒ–็Šถๆ€็ฎก็†ๆ–นๆกˆ๏ผˆ้ฆ–ๆŽจ Zustand/Jotai๏ผ‰๏ผŒๅนถ้‡็‚น่งฃๆžไบ†ๆ•ฐๆฎไบคไบ’็š„ไธ‰ๅคง็Žฐไปฃๆžถๆž„่Œƒๅผ๏ผšไปŽๅŸบ็ก€ Axios ๅˆฐ React Query ็Šถๆ€่ฐƒๅบฆ๏ผŒๅ†ๅˆฐ tRPC ๅ’Œ GraphQL ๅธฆๆฅ็š„ๅ…จๆ ˆ็ฑปๅž‹ๅฎ‰ๅ…จไธŽๅคš็ซฏ่šๅˆใ€‚ๅœจๅทฅ็จ‹ๅŒ–ไธŽๆœๅŠก็ซฏๆจกๅ—๏ผŒๆ–‡็ซ ๅ…จ้ขๆ‹ฅๆŠฑ Viteใ€Rsbuild ็ญ‰ๆž้€Ÿๆž„ๅปบๅทฅๅ…ท๏ผŒๅนถๅ‰–ๆžไบ† Next.js/Nuxt ๅŒๆž„ๅ…ƒๆก†ๆžถไธŽ NestJS ไผไธš็บง Node ๆœๅŠก็š„ๆœ€ไฝณ้€‚็”จๅœบๆ™ฏใ€‚ๆœ€ๅŽ๏ผŒ่พ…ไปฅ Vercel ็ญ‰็Žฐไปฃ่พน็ผ˜้ƒจ็ฝฒๅนณๅฐๅŠไธฐๅฏŒ็š„ๅผ€ๆบ็คพๅŒบๅญฆไน ่ต„ๆบใ€‚","permalink":"/growth/full-stack-resources","categories":["่ต„ๆบๆŽจ่"],"tags":["่ต„ๆบๆŽจ่","ๅ…จๆ ˆ"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/90.ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่/90.ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่.md","filePath":"01.ๅ…จๆ ˆ/90.ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่/90.ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่.md"}'),l={name:"01.ๅ…จๆ ˆ/90.ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่/90.ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่.md"};function n(o,t,r,p,_,m){return c(),i("div",null,[...t[0]||(t[0]=[e('

ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่ โ€‹

ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡็ณป็ปŸๆขณ็†ไบ†็Žฐไปฃๅ…จๆ ˆๅผ€ๅ‘็š„ๅฎŒๆ•ดๆŠ€ๆœฏๅ›พ่ฐฑไธŽๆผ”่ฟ›่Œƒๅผ๏ผŒไธไป…ๆ˜ฏไธ€ไปฝๅ…จๆ ˆๅทฅๅ…ทๆฃ€็ดข็›ฎๅฝ•๏ผŒๆ›ดๆ˜ฏไธ€ไปฝๆŒ‡ๅฏผๅผ€ๅ‘่€…ไปŽๅ…จๅฑ€่ง†่ง’ๆž„ๅปบ้ซ˜ๆ€ง่ƒฝใ€็ฑปๅž‹ๅฎ‰ๅ…จใ€ไธ”ๆžๅ…ทๅทฅ็จ‹ๅŒ–ๆ€็ปด็š„็Žฐไปฃ Web ๅบ”็”จ็š„ๆœ€ไฝณๅฎž่ทตๆŒ‡ๅ—ใ€‚

  • ๆ–‡็ซ ไปŽๅŸบ็Ÿณๅ‡บๅ‘๏ผŒ่ฆ†็›– Web ๆ ธๅฟƒ่ฏญ่จ€๏ผˆJS/TS๏ผ‰ ไธŽ ไธปๆต UI ๆก†ๆžถ๏ผˆReact/Vue/Svelte๏ผ‰๏ผŒๅนถๆŽจ่ไปฅ Tailwind CSS ๅ’Œ shadcn/ui ไธบไปฃ่กจ็š„็Žฐไปฃๆ ทๅผไธŽ็ป„ไปถๅŽŸ่ฏญใ€‚
  • ๅœจๆ ธๅฟƒไธšๅŠก้€ป่พ‘ๅฑ‚๏ผŒๆทฑๅบฆๅฏนๆฏ”ไบ†่ฝป้‡ๅŒ–็Šถๆ€็ฎก็†ๆ–นๆกˆ๏ผˆ้ฆ–ๆŽจ Zustand/Jotai๏ผ‰๏ผŒๅนถ้‡็‚น่งฃๆžไบ†ๆ•ฐๆฎไบคไบ’็š„ไธ‰ๅคง็Žฐไปฃๆžถๆž„่Œƒๅผ๏ผšไปŽๅŸบ็ก€ Axios ๅˆฐ React Query ็Šถๆ€่ฐƒๅบฆ๏ผŒๅ†ๅˆฐ tRPC ๅ’Œ GraphQL ๅธฆๆฅ็š„ๅ…จๆ ˆ็ฑปๅž‹ๅฎ‰ๅ…จไธŽๅคš็ซฏ่šๅˆใ€‚
  • ๅœจๅทฅ็จ‹ๅŒ–ไธŽๆœๅŠก็ซฏๆจกๅ—๏ผŒๆ–‡็ซ ๅ…จ้ขๆ‹ฅๆŠฑ Viteใ€Rsbuild ็ญ‰ๆž้€Ÿๆž„ๅปบๅทฅๅ…ท๏ผŒๅนถๅ‰–ๆžไบ† Next.js/Nuxt ๅŒๆž„ๅ…ƒๆก†ๆžถไธŽ NestJS ไผไธš็บง Node ๆœๅŠก็š„ๆœ€ไฝณ้€‚็”จๅœบๆ™ฏใ€‚ๆœ€ๅŽ๏ผŒ่พ…ไปฅ Vercel ็ญ‰็Žฐไปฃ่พน็ผ˜้ƒจ็ฝฒๅนณๅฐๅŠไธฐๅฏŒ็š„ๅผ€ๆบ็คพๅŒบๅญฆไน ่ต„ๆบใ€‚

1. ๅŸบๆœฌ่ฏญ่จ€ไธŽ็Žฏๅขƒ โ€‹

',4),a("div",{class:"container nav-card-container"},[a("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[a("a",{href:"https://developer.mozilla.org/zh-CN/docs/Web/HTML",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://upload.wikimedia.org/wikipedia/commons/thumb/6/61/HTML5_logo_and_wordmark.svg/1200px-HTML5_logo_and_wordmark.svg.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"HTML")]),a("p",{class:"desc"},"HTML (HyperText Markup Language) ๆ˜ฏ็”จไบŽๅˆ›ๅปบ็ฝ‘้กต็š„ๆ ‡ๅ‡†ๆ ‡่ฎฐ่ฏญ่จ€๏ผŒ็”จไบŽๆ่ฟฐ็ฝ‘้กต็š„็ป“ๆž„ๅ’Œๅ†…ๅฎนใ€‚ๅฎƒไฝฟ็”จๆ ‡็ญพๆฅๅฎšไน‰ๆ–‡ๆกฃ็š„ไธๅŒ้ƒจๅˆ†๏ผŒๅฆ‚ๆ ‡้ข˜ใ€ๆฎต่ฝใ€ๅ›พๅƒใ€้“พๆŽฅ็ญ‰ใ€‚HTML ๆ˜ฏๆž„ๅปบ Web ้กต้ข็š„ๅŸบ็ก€๏ผŒไนŸๆ˜ฏๆ‰€ๆœ‰ๅ‰็ซฏๅผ€ๅ‘็š„่ตท็‚นใ€‚"),a("span",{class:"VPBadge tip badge"},"ๆ ‡่ฎฐ่ฏญ่จ€")]),a("a",{href:"https://developer.mozilla.org/zh-CN/docs/Web/CSS",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://upload.wikimedia.org/wikipedia/commons/thumb/d/d5/CSS3_logo_and_wordmark.svg/1200px-CSS3_logo_and_wordmark.svg.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"CSS")]),a("p",{class:"desc"},"CSS (Cascading Style Sheets) ๆ˜ฏ็”จไบŽๆ่ฟฐ็ฝ‘้กตๆ ทๅผๅ’Œๅธƒๅฑ€็š„ๆ ทๅผ่กจ่ฏญ่จ€ใ€‚ๅฎƒๅฎšไน‰ไบ†ๆ–‡ๆกฃ็š„ๅค–่ง‚๏ผŒๅŒ…ๆ‹ฌๅญ—ไฝ“ใ€้ขœ่‰ฒใ€้—ด่ทใ€ๅธƒๅฑ€็ญ‰ใ€‚CSS ไธŽ HTML ็ป“ๅˆไฝฟ็”จ๏ผŒๅฎž็Žฐไบ†็ฝ‘้กต็š„็ป“ๆž„ไธŽๆ ทๅผ็š„ๅˆ†็ฆป๏ผŒไฝฟๅพ—็ฝ‘้กต่ฎพ่ฎกๆ›ดๅŠ ็ตๆดปๅ’Œๅฏ็ปดๆŠคใ€‚"),a("span",{class:"VPBadge tip badge"},"ๆ ทๅผ่กจ")]),a("a",{href:"https://developer.mozilla.org/zh-CN/docs/Web/JavaScript",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://upload.wikimedia.org/wikipedia/commons/thumb/6/6a/JavaScript-logo.png/1200px-JavaScript-logo.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"JavaScript")]),a("p",{class:"desc"},"JavaScript ๆ˜ฏไธ€็งๅŠจๆ€ใ€ๅผฑ็ฑปๅž‹็š„่„šๆœฌ่ฏญ่จ€๏ผŒ็”จไบŽๅœจ Web ๆต่งˆๅ™จไธญๅฎž็Žฐไบคไบ’ๆ€งๅ’ŒๅŠจๆ€ๅ†…ๅฎนใ€‚ๅฎƒๆ˜ฏ Web ๅผ€ๅ‘็š„ๅŸบ็ก€๏ผŒไนŸๆ˜ฏๅ‰็ซฏๅผ€ๅ‘็š„ๆ ธๅฟƒ่ฏญ่จ€ใ€‚"),a("span",{class:"VPBadge tip badge"},"่„šๆœฌ่ฏญ่จ€")]),a("a",{href:"https://www.typescriptlang.org/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://upload.wikimedia.org/wikipedia/commons/thumb/4/4c/Typescript_logo_2020.svg/1200px-Typescript_logo_2020.svg.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"TypeScript")]),a("p",{class:"desc"},"TypeScript ๆ˜ฏ JavaScript ็š„ไธ€ไธช่ถ…้›†๏ผŒๆทปๅŠ ไบ†้™ๆ€็ฑปๅž‹ๆฃ€ๆŸฅๅ’Œๅ…ถไป–้ซ˜็บงๅŠŸ่ƒฝ๏ผŒไฝฟๅพ—ไปฃ็ ๆ›ดๅŠ ๅฏ้ ๅ’Œๅฏ็ปดๆŠคใ€‚ๅฎƒๅœจๅ‰็ซฏๅผ€ๅ‘ไธญๅพ—ๅˆฐๅนฟๆณ›ๅบ”็”จ๏ผŒๅฐคๅ…ถๅœจ React ้กน็›ฎไธญใ€‚"),a("span",{class:"VPBadge tip badge"},"้™ๆ€็ฑปๅž‹")]),a("a",{href:"https://webkit.org/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://webkit.org/wp-content/themes/webkit/images/webkit.svg",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"webkit")]),a("p",{class:"desc"},"WebKit ๆ˜ฏไธ€ไธชๅผ€ๆบ็š„ๆต่งˆๅ™จๅผ•ๆ“Ž๏ผŒ็”จไบŽๆธฒๆŸ“็ฝ‘้กตๅ†…ๅฎนใ€‚ๅฎƒๆ˜ฏ Safari ๆต่งˆๅ™จ็š„ๅผ•ๆ“Ž๏ผŒไนŸๆ˜ฏ Chrome ๆต่งˆๅ™จ็š„ไธ€้ƒจๅˆ†ใ€‚WebKit ๆไพ›ไบ†้ซ˜ๆ€ง่ƒฝ็š„็ฝ‘้กตๆธฒๆŸ“ๅ’Œไบคไบ’ๅŠŸ่ƒฝ๏ผŒๆ˜ฏๆž„ๅปบ็Žฐไปฃ Web ๅบ”็”จ็š„ๅŸบ็ก€ใ€‚"),a("span",{class:"VPBadge tip badge"},"ๆต่งˆๅ™จๅผ•ๆ“Ž")]),a("a",{href:"https://nodejs.org/zh-cn/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://upload.wikimedia.org/wikipedia/commons/thumb/d/d9/Node.js_logo.svg/1200px-Node.js_logo.svg.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Node.js")]),a("p",{class:"desc"},"Node.js ๆ˜ฏไธ€ไธชๅŸบไบŽ Chrome V8 ๅผ•ๆ“Ž็š„ JavaScript ่ฟ่กŒๆ—ถ็Žฏๅขƒ๏ผŒ็”จไบŽๅœจๆœๅŠกๅ™จ็ซฏๆ‰ง่กŒ JavaScript ไปฃ็ ใ€‚ๅฎƒๅ…่ฎธๅผ€ๅ‘่€…ไฝฟ็”จ JavaScript ๆž„ๅปบ้ซ˜ๆ€ง่ƒฝ็š„็ฝ‘็ปœๅบ”็”จ็จ‹ๅบ๏ผŒๅฆ‚ๆœๅŠกๅ™จ็ซฏๆธฒๆŸ“ใ€ๅฎžๆ—ถๅบ”็”จ็จ‹ๅบๅ’Œ API ๆœๅŠกใ€‚"),a("span",{class:"VPBadge tip badge"},"ๆœๅŠกๅ™จ็ซฏ")])])],-1),a("h2",{id:"_2-ๆ ธๅฟƒ-ui-ๆก†ๆžถ",tabindex:"-1"},[s("2. ๆ ธๅฟƒ UI ๆก†ๆžถ "),a("a",{class:"header-anchor",href:"#_2-ๆ ธๅฟƒ-ui-ๆก†ๆžถ","aria-label":"Permalink to โ€œ2. ๆ ธๅฟƒ UI ๆก†ๆžถโ€"},"โ€‹")],-1),a("div",{class:"container nav-card-container"},[a("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[a("a",{href:"https://react.dev/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://upload.wikimedia.org/wikipedia/commons/thumb/a/a7/React-icon.svg/1200px-React-icon.svg.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"React")]),a("p",{class:"desc"},"React ๆ˜ฏ Facebook ๅผ€ๅ‘็š„็”จไบŽๆž„ๅปบ็”จๆˆท็•Œ้ข็š„ๅฃฐๆ˜Žๅผ JavaScript ๅบ“๏ผŒ้‡‡็”จ็ป„ไปถๅŒ–ๆžถๆž„๏ผŒๆ”ฏๆŒๆœๅŠกๅ™จ็ซฏๆธฒๆŸ“ๅ’Œๅฎขๆˆท็ซฏไบคไบ’ใ€‚ๅฎƒๅ…่ฎธๅผ€ๅ‘่€…่ฎพ่ฎก็ฎ€ๅ•็š„่ง†ๅ›พ๏ผŒๅนถๆ นๆฎๆ•ฐๆฎๅ˜ๅŒ–้ซ˜ๆ•ˆๆ›ดๆ–ฐๆธฒๆŸ“็ป„ไปถใ€‚"),a("span",{class:"VPBadge tip badge"},"ๅฃฐๆ˜Žๅผ")]),a("a",{href:"https://vuejs.org/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://upload.wikimedia.org/wikipedia/commons/thumb/9/95/Vue.js_Logo_2.svg/1200px-Vue.js_Logo_2.svg.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Vue")]),a("p",{class:"desc"},"Vue.js ๆ˜ฏไธ€ๅฅ—็”จไบŽๆž„ๅปบ็”จๆˆท็•Œ้ข็š„ๆธ่ฟ›ๅผๆก†ๆžถ๏ผŒ้‡‡็”จ็ป„ไปถๅŒ–ๆžถๆž„๏ผŒๆ”ฏๆŒๆœๅŠกๅ™จ็ซฏๆธฒๆŸ“ๅ’Œๅฎขๆˆท็ซฏไบคไบ’ใ€‚ๅผบ่ฐƒๆ˜“็”จๆ€งๅ’Œ้ซ˜ๆ€ง่ƒฝใ€‚ๅ…ถ็”Ÿๆ€ๅŒ…ๅซๅฎ˜ๆ–น่ทฏ็”ฑ (Vue Router) ๅ’Œ็Šถๆ€็ฎก็†ๅบ“ (Pinia)ใ€‚"),a("span",{class:"VPBadge tip badge"},"ๆธ่ฟ›ๅผ")]),a("a",{href:"https://svelte.dev/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://upload.wikimedia.org/wikipedia/commons/thumb/1/1b/Svelte_Logo.svg/1200px-Svelte_Logo.svg.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Svelte")]),a("p",{class:"desc"},"Svelte ๆ˜ฏไธ€็งๅ…จๆ–ฐ็š„ๆž„ๅปบ Web ๅบ”็”จ็š„ๆ–นๅผ๏ผŒไฝœไธบ็ผ–่ฏ‘ๅ™จๅฐ†ๅฃฐๆ˜Žๅผ็ป„ไปถ่ฝฌๆขไธบ้ซ˜ๆ•ˆไธ”่ƒฝ็›ดๆŽฅๆ“ไฝœ DOM ็š„ JavaScript ไปฃ็ ๏ผŒ่ฟ่กŒๆ—ถๅผ€้”€ๆžๅฐใ€‚ๅฎƒๅผบ่ฐƒ็ป„ไปถๅŒ–ๅผ€ๅ‘๏ผŒๅผ€ๅ‘่€…ๅฏไปฅ็›ดๆŽฅๅœจ HTML ไธญ็ผ–ๅ†™็ป„ไปถ้€ป่พ‘๏ผŒๆ— ้œ€้ขๅค–็š„่ฟ่กŒๆ—ถๆ”ฏๆŒใ€‚"),a("span",{class:"VPBadge tip badge"},"็ผ–่ฏ‘ๆ—ถ")])])],-1),a("h2",{id:"_3-ๆ ทๅผไธŽ-ui-็ป„ไปถๅบ“-styling-component-libraries",tabindex:"-1"},[s("3. ๆ ทๅผไธŽ UI ็ป„ไปถๅบ“ (Styling & Component Libraries) "),a("a",{class:"header-anchor",href:"#_3-ๆ ทๅผไธŽ-ui-็ป„ไปถๅบ“-styling-component-libraries","aria-label":"Permalink to โ€œ3. ๆ ทๅผไธŽ UI ็ป„ไปถๅบ“ (Styling & Component Libraries)โ€"},"โ€‹")],-1),a("div",{class:"container nav-card-container"},[a("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[a("a",{href:"https://tailwindcss.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://upload.wikimedia.org/wikipedia/commons/thumb/d/d5/Tailwind_CSS_Logo.svg/1200px-Tailwind_CSS_Logo.svg.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Tailwind CSS")]),a("p",{class:"desc"},"็Žฐไปฃๅ‰็ซฏ้ฆ–้€‰็š„ๅฎž็”จไผ˜ๅ…ˆ (Utility-first) CSS ๆก†ๆžถ๏ผŒ้€š่ฟ‡็ฑปๅ็ป„ๅˆๅฎž็Žฐๆ ทๅผ๏ผŒๆ— ้œ€็ผ–ๅ†™่‡ชๅฎšไน‰ CSSใ€‚"),a("span",{class:"VPBadge tip badge"},"ๅฎž็”จไผ˜ๅ…ˆ")]),a("a",{href:"https://daisyui.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://img.daisyui.com/images/daisyui/mark.svg",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Daisy UI")]),a("p",{class:"desc"},"ๆ˜ฏไธ€ไธชๅŸบไบŽ Tailwind CSS ็š„็ƒญ้—จๅผ€ๆบUI็ป„ไปถๅบ“๏ผŒ้€š่ฟ‡ๆทปๅŠ ่ฏญไน‰ๅŒ–็ฑปๅ๏ผˆๅฆ‚ btn, card๏ผ‰ๆฅ่งฃๅ†ณ Tailwind ๅ†—้•ฟ็š„ไปฃ็ ้—ฎ้ข˜๏ผŒ่ƒฝๅธฎๅผ€ๅ‘่€…็”จๆ›ดๅฐ‘็š„ไปฃ็ ใ€ๆ›ดๅฟซๅœฐๆž„ๅปบๅ‡บๅนฒๅ‡€ใ€็พŽ่ง‚ใ€ๅ“ๅบ”ๅผไธ”ๆ”ฏๆŒไธป้ข˜่‡ชๅฎšไน‰็š„ Web ็•Œ้ขใ€‚"),a("span",{class:"VPBadge tip badge"},"tailwind ๆ’ไปถ")]),a("a",{href:"https://ui.shadcn.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://ui.shadcn.com/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"shadcn/ui")]),a("p",{class:"desc"},"shadcn/ui ไธๆ˜ฏไธ€ไธชไผ ็ปŸ็š„็ป„ไปถๅบ“๏ผŒ่€Œๆ˜ฏไธ€็งๆž„ๅปบไฝ ่‡ชๅทฑ็š„็ป„ไปถๅบ“็š„ๆ–นๆณ•ใ€‚ๅฎƒๆไพ›ไบ†ไธ€ๅฅ—็ฒพๅฟƒ่ฎพ่ฎกใ€ๅฏ่ฎฟ้—ฎ็š„็ป„ไปถๅ’Œไปฃ็ ๅˆ†ๅ‘ๅนณๅฐ๏ผŒๅ…ผๅฎนไฝ ๅ–œๆฌข็š„ๆก†ๆžถๅ’Œ AI ๆจกๅž‹ใ€‚"),a("span",{class:"VPBadge tip badge"},"็ป„ไปถๅŽŸ่ฏญ")]),a("a",{href:"https://ant.design/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://gw.alipayobjects.com/zos/rmsportal/rlpTLlbMzTNYuZGGCVYM.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Ant Design")]),a("p",{class:"desc"},"AIโ€ฏๅ‹ๅฅฝ็š„ใ€Œ่ฎพ่ฎก็ณป็ปŸใ€๏ผŒ่ฎฉ็พŽไธŽๆ™บ่ƒฝๅนถ่ฟ›๏ผŒ่ฎฉๅทฅไฝœๅ……ๆปกใ€Œ็ตๆ„Ÿใ€ไธŽใ€Œๅฟซไนใ€ใ€‚"),a("span",{class:"VPBadge tip badge"},"็ป„ไปถๅบ“")]),a("a",{href:"https://element-plus.org/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://element-plus.org/images/element-plus-logo-small.svg",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"element-plus")]),a("p",{class:"desc"},"Element Plus ๆ˜ฏไธ€ไธชๅŸบไบŽ Vue 3 ่ฎพ่ฎก็š„็ป„ไปถๅบ“๏ผŒๆไพ›ไธฐๅฏŒ็š„็ป„ไปถๅ’Œๆ ทๅผ๏ผŒๅธธ็”จไบŽๆž„ๅปบๅŽๅฐ็ฎก็†็ณป็ปŸใ€‚"),a("span",{class:"VPBadge tip badge"},"็ป„ไปถๅบ“")]),a("a",{href:"https://vuetifyjs.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://vuetifyjs.com/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Vuetify")]),a("p",{class:"desc"},"ไธบ Vue 3 ่ฎพ่ฎก็š„ๆˆ็†Ÿ UI ๅบ“๏ผŒๅธธ็”จไบŽๆž„ๅปบๅŽๅฐ็ฎก็†็ณป็ปŸ๏ผŒๆไพ›ไธฐๅฏŒ็š„็ป„ไปถๅ’Œๆ ทๅผใ€‚"),a("span",{class:"VPBadge tip badge"},"็ป„ไปถๅบ“")])])],-1),a("h2",{id:"_4-่ทฏ็”ฑไธŽ็Šถๆ€็ฎก็†",tabindex:"-1"},[s("4. ่ทฏ็”ฑไธŽ็Šถๆ€็ฎก็† "),a("a",{class:"header-anchor",href:"#_4-่ทฏ็”ฑไธŽ็Šถๆ€็ฎก็†","aria-label":"Permalink to โ€œ4. ่ทฏ็”ฑไธŽ็Šถๆ€็ฎก็†โ€"},"โ€‹")],-1),a("div",{class:"container nav-card-container"},[a("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[a("a",{href:"https://reactrouter.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://reactrouter.com/favicon-dark.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"React Router")]),a("p",{class:"desc"},"React Router ๆ˜ฏ React ๅฎ˜ๆ–น็š„่ทฏ็”ฑ็ฎก็†ๅ™จ๏ผŒ็”จไบŽๆž„ๅปบๅ•้กตๅบ”็”จ (SPA)๏ผŒๆไพ›ๅŠจๆ€่ทฏ็”ฑๅŒน้…ใ€ๅตŒๅฅ—่ทฏ็”ฑใ€่ทฏ็”ฑๅฎˆๅซ็ญ‰ๅŠŸ่ƒฝใ€‚"),a("span",{class:"VPBadge tip badge"},"่ทฏ็”ฑ็ฎก็†ๅ™จ")]),a("a",{href:"https://router.vuejs.org/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://upload.wikimedia.org/wikipedia/commons/thumb/9/95/Vue.js_Logo_2.svg/1200px-Vue.js_Logo_2.svg.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Vue Router")]),a("p",{class:"desc"},"Vue.js ๅฎ˜ๆ–น็š„่ทฏ็”ฑ็ฎก็†ๅ™จ๏ผŒ็”จไบŽๆž„ๅปบๅ•้กตๅบ”็”จ (SPA)๏ผŒๆไพ›ๅŠจๆ€่ทฏ็”ฑๅŒน้…ใ€ๅตŒๅฅ—่ทฏ็”ฑใ€่ทฏ็”ฑๅฎˆๅซ็ญ‰ๅŠŸ่ƒฝใ€‚"),a("span",{class:"VPBadge tip badge"},"่ทฏ็”ฑ็ฎก็†ๅ™จ")]),a("a",{href:"https://github.com/pmndrs/zustand",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://avatars.githubusercontent.com/u/45790596?s=48&v=4",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Zustand")]),a("p",{class:"desc"},"pmndrs ็คพๅŒบๅ‡บๅ“๏ผŒๆ˜ฏ Redux ็š„็ŽฐไปฃๅŒ–ใ€ๆž็ฎ€ไธปไน‰็ฒพ็ฅž็ปงๆ‰ฟ่€…๏ผˆ่‡ชไธŠ่€Œไธ‹็š„ๅ…จๅฑ€ Store๏ผ‰๏ผŒๆไพ›ไบ†ไธ€็ง็ฎ€ๅ•็š„ๆ–นๅผๆฅ็ฎก็†ๅ…จๅฑ€็Šถๆ€ใ€‚"),a("span",{class:"VPBadge tip badge"},"็Šถๆ€็ฎก็†")]),a("a",{href:"https://github.com/pmndrs/jotai",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://avatars.githubusercontent.com/u/45790596?s=48&v=4",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Jotai")]),a("p",{class:"desc"},"pmndrs ็คพๅŒบๅ‡บๅ“๏ผŒๆ˜ฏ Recoil ็š„่ฝป้‡ๅŒ–ใ€้ซ˜ๆ€ง่ƒฝๆ›ฟไปฃ่€…๏ผˆ่‡ชไธ‹่€ŒไธŠ็š„ๅŽŸๅญๅŒ–็Šถๆ€๏ผ‰ใ€‚"),a("span",{class:"VPBadge tip badge"},"็Šถๆ€็ฎก็†")]),a("a",{href:"https://redux.js.org/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://redux.js.org/img/favicon/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Redux")]),a("p",{class:"desc"},"Redux ๆ˜ฏไธ€ไธช้ข„ๆต‹ๆ€ง็š„็Šถๆ€ๅฎนๅ™จ๏ผŒ็”จไบŽ็ฎก็†ๅบ”็”จ็š„ๅ…จๅฑ€็Šถๆ€๏ผŒๆไพ›ไธ€่‡ด็š„็Šถๆ€ๆ›ดๆ–ฐๅ’Œๅฏ้ข„ๆต‹็š„่กŒไธบใ€‚"),a("span",{class:"VPBadge tip badge"},"ไธๅ†ๆŽจ่")]),a("a",{href:"https://pinia.vuejs.org/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://pinia.vuejs.org/logo.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Pinia")]),a("p",{class:"desc"},"Vue.js ๅฎ˜ๆ–นๆŽจ่็š„็Šถๆ€็ฎก็†ๅบ“๏ผŒๅŸบไบŽ Vue 3 Composition API ่ฎพ่ฎก๏ผŒๆไพ›็ฎ€ๅ•ใ€็ตๆดป็š„็Šถๆ€็ฎก็†่งฃๅ†ณๆ–นๆกˆใ€‚"),a("span",{class:"VPBadge tip badge"},"็Šถๆ€็ฎก็†")])])],-1),e('

React ็Šถๆ€็ฎก็†ๅบ“ๆจชๅ‘ๅฏนๆฏ”ๅˆ†ๆž๏ผš

็‰นๆ€ง/ๅบ“Zustand ๅคง้ƒจๅˆ†้กน็›ฎ็š„้ฆ–้€‰Jotai ็ผ–่พ‘ๆฏ”่พƒ้ข‘็น็š„ๅปบ่ฎฎไฝฟ็”จRedux ไธๅ†ๆŽจ่
ๆ ธๅฟƒๆ€ๆƒณ่‡ชไธŠ่€Œไธ‹็š„ๅ…จๅฑ€็Šถๆ€็ฎก็†่‡ชไธ‹่€ŒไธŠ็š„ๅŽŸๅญๅŒ–็Šถๆ€็ฎก็†ๅ•ๅ‘ๆ•ฐๆฎๆตใ€้›†ไธญๅผๅ…จๅฑ€็Šถๆ€
้€‚็”จๅœบๆ™ฏไธญๅคงๅž‹ๅบ”็”จๅ…จๅฑ€็Šถๆ€ใ€ๅๅฅฝ่ฝป้‡ๆ–นๆกˆ็ป„ไปถ้—ด็Šถๆ€ๅ…ฑไบซใ€็ป†็ฒ’ๅบฆๆ›ดๆ–ฐใ€่ดด่ฟ‘Reactๆ€็ปด่ถ…ๅคงๅž‹ๅคๆ‚ๅบ”็”จใ€ๅผบๅฏ้ข„ๆต‹ๆ€ง้œ€ๆฑ‚
ๅญฆไน ๆ›ฒ็บฟๅนณ็ผ“๏ผŒAPI ็ฎ€ๆดๅนณ็ผ“๏ผŒๅŽŸๅญๆฆ‚ๅฟตๅฎนๆ˜“็†่งฃ้™กๅณญ๏ผŒ้œ€็†่งฃไธญ้—ดไปถใ€Redux Toolkit ็ญ‰
ไปฃ็ ้ฃŽๆ ผ็ฎ€ๆด๏ผŒ็ฑปไผผ่ฝป้‡็‰ˆ ReduxๅŽŸๅญๅŒ–๏ผŒๅˆ†ๆ•ฃๅฎšไน‰็Šถๆ€็›ธๅฏนๅ†—้•ฟ๏ผŒ้œ€ๅฎšไน‰ Actionใ€Reducer
ๆ€ง่ƒฝไผ˜ๅŒ–ๆ”ฏๆŒ็ป„ไปถ็ฒพๅ‡†่ฎข้˜…็Šถๆ€ๅคฉ็„ถ็ป†็ฒ’ๅบฆๆ›ดๆ–ฐ๏ผŒ้ฟๅ…ไธๅฟ…่ฆ้‡ๆธฒๆŸ“้œ€้…ๅˆ Reselect ็ญ‰ๅทฅๅ…ทไผ˜ๅŒ–
็คพๅŒบ็”Ÿๆ€็”Ÿๆ€็จณๅฎš๏ผŒๅธธ็”จๆ’ไปถๅฎŒๅ–„็”Ÿๆ€ๆดป่ทƒ๏ผŒ้€‚ๅˆๅฎž้ชŒๆ€งๅœบๆ™ฏ็”Ÿๆ€ๅบžๅคง๏ผŒๅทฅๅ…ท้“พๆˆ็†Ÿ

5. ๆ•ฐๆฎ่Žทๅ–ไธŽ API ้›†ๆˆ (Data Fetching & API) โ€‹

',3),a("div",{class:"container nav-card-container"},[a("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[a("a",{href:"https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("span",{class:"name"},"Fetch API")]),a("p",{class:"desc"},"Fetch ๆ˜ฏไธ€ไธชๅŸบไบŽ Promise ็š„็Žฐไปฃ JavaScript API๏ผŒ็”จไบŽๅœจๆต่งˆๅ™จไธญๅ‘่ตท HTTP ่ฏทๆฑ‚๏ผˆAJAX๏ผ‰๏ผŒๆ˜ฏ XMLHttpRequest (XHR) ็š„ๆ›ด็ฎ€ๆดใ€ๆ›ดๅผบๅคง็š„ๆ›ฟไปฃๆ–นๆกˆใ€‚ๅฎƒๅ…่ฎธ้กต้ขๅœจไธ้‡่ฝฝ็š„ๆƒ…ๅ†ตไธ‹ไปŽๆœๅŠกๅ™จ่Žทๅ–ๆ•ฐๆฎ๏ผŒๆ”ฏๆŒ GETใ€POST ็ญ‰่ฏทๆฑ‚ๆ–นๆณ•๏ผŒๅนถๅนฟๆณ›ๅบ”็”จไบŽๅค„็†็ฝ‘็ปœๆ•ฐๆฎไบคไบ’ใ€‚"),a("span",{class:"VPBadge tip badge"},"ๅŽŸ็”Ÿ API")]),a("a",{href:"https://axios-http.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://axios-http.com/assets/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Axios")]),a("p",{class:"desc"},"Axios ๆ˜ฏไธ€ไธชๅŸบไบŽ Promise ็š„ HTTP ่ฏทๆฑ‚ๅบ“๏ผŒๅฏ่ฟ่กŒๅœจๆต่งˆๅ™จๅ’Œ Node.js ็Žฏๅขƒไธญใ€‚ๅฎƒๆ”ฏๆŒๆ‹ฆๆˆช่ฏทๆฑ‚ๅ’Œๅ“ๅบ”ใ€่ฝฌๆขๆ•ฐๆฎใ€ๅ–ๆถˆ่ฏทๆฑ‚็ญ‰ๅŠŸ่ƒฝ๏ผŒๆ˜ฏๅ‰็ซฏๅผ€ๅ‘ไธญๅธธ็”จ็š„ HTTP ่ฏทๆฑ‚ๅบ“ใ€‚"),a("span",{class:"VPBadge tip badge"},"ๅ…จ่ƒฝ่ฏทๆฑ‚ๅบ“")]),a("a",{href:"https://swr.vercel.app/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://swr.vercel.app/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"SWR")]),a("p",{class:"desc"},'SWR ๆ˜ฏ็”ฑ Vercel ๅผ€ๅ‘็š„ไธ€ไธชๅŸบไบŽ React Hooks ็š„่ฝป้‡็บงๆ•ฐๆฎ่ฏทๆฑ‚ๅบ“ใ€‚ๅฎƒๅŸบไบŽ "stale-while-revalidate" ็ญ–็•ฅ๏ผŒๅ…ˆ่ฟ”ๅ›ž็ผ“ๅญ˜ๆ•ฐๆฎ๏ผŒๅ†ๅœจๅŽๅฐ่ฏทๆฑ‚ๆœ€ๆ–ฐๆ•ฐๆฎ๏ผŒไฟ่ฏ UI ๅฟซ้€Ÿๅ“ๅบ”ไธ”ๆ•ฐๆฎไฟๆŒๆ›ดๆ–ฐใ€‚็‰น็‚น๏ผšๆž็ฎ€ไธปไน‰๏ผŒ่ถŠ่ฝป่ถŠๅฅฝ๏ผŒๅผ€็ฎฑๅณ็”จ๏ผŒไธ“ๆณจไบŽ HTTP ็ผ“ๅญ˜็ญ–็•ฅใ€‚'),a("span",{class:"VPBadge tip badge"},"ๆŒ‰้œ€้ชŒ่ฏ็ผ“ๅญ˜")]),a("a",{href:"https://tanstack.com/query/latest",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://tanstack.com/favicon-32x32.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"React Query")]),a("p",{class:"desc"},"React Query (็Žฐๆ›ดๅไธบ TanStack Query) ๆ˜ฏไธ€ไธชๅŠŸ่ƒฝๅผบๅคง็š„ React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†ๅบ“ใ€‚ๅฎƒไธ“ๆณจไบŽๅค„็†ๅผ‚ๆญฅๆ•ฐๆฎ็š„่Žทๅ–ใ€็ผ“ๅญ˜ใ€ๅŒๆญฅๅ’Œๆ›ดๆ–ฐ๏ผŒๅผ€็ฎฑๅณ็”จๅœฐ็ฎ€ๅŒ–ไบ† API ่ฏทๆฑ‚ใ€็ผ“ๅญ˜ๅค„็†ใ€ๆ•ฐๆฎ่ฟ‡ๆœŸๆ›ดๆ–ฐๅ’ŒๅŠ ่ฝฝ/้”™่ฏฏ็Šถๆ€็ฎก็†ใ€‚็‰น็‚น๏ผšๅŠŸ่ƒฝไธปไน‰ๅคง่€Œๅ…จ๏ผŒไธไป…ๆ˜ฏ HTTP๏ผŒๅฏ็”จไบŽไปปไฝ•ๅผ‚ๆญฅ Promise ็ฎก็†ใ€‚"),a("span",{class:"VPBadge tip badge"},"ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†")]),a("a",{href:"https://graphql.org/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://graphql.org/_next/static/media/logo-blurred.94c9eff4.webp",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"GraphQL")]),a("p",{class:"desc"},"GraphQL ๆ˜ฏไธ€ไธช็”จไบŽ API ็š„ๆŸฅ่ฏข่ฏญ่จ€ใ€ไธ€็งๆ่ฟฐ่ฏทๆฑ‚ๆ•ฐๆฎๆ–นๆณ•็š„่ฏญๆณ•๏ผŒ้€šๅธธ็”จไบŽๅฎขๆˆท็ซฏไปŽๆœๅŠก็ซฏๅŠ ่ฝฝๆ•ฐๆฎ๏ผŒไธป่ฆๆ˜ฏไธบไบ†่งฃๅ†ณ REST API ไธญ่ฟ‡ๅบฆ่Žทๅ–ๅ’Œ่Žทๅ–ไธ่ถณ็š„้—ฎ้ข˜ใ€‚"),a("span",{class:"VPBadge tip badge"},"ๆŒ‰้œ€ๅฃฐๆ˜ŽๅผๆŸฅ่ฏข")]),a("a",{href:"https://trpc.io/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://trpc.io/img/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"tRPC")]),a("p",{class:"desc"},"tRPC ๆ˜ฏๅŸบไบŽๆ’ไปถๅŒ–็†ๅฟต่ฎพ่ฎก็š„ไธ€ๆฌพๆ”ฏๆŒๅคš่ฏญ่จ€ใ€้ซ˜ๆ€ง่ƒฝ็š„ RPC ๅผ€ๅ‘ๆก†ๆžถ๏ผŒๆ—จๅœจๆ— ้œ€ๅฎšไน‰ไธ“้—จ API Schema๏ผˆๅฆ‚ Swagger/GraphQL๏ผ‰็š„ๆƒ…ๅ†ตไธ‹๏ผŒๅฎž็Žฐๅ‰ๅŽ็ซฏๆ— ็ผใ€ๅ…จๆ ˆ็ฑปๅž‹ๅฎ‰ๅ…จ็š„ API ่ฐƒ็”จใ€‚ๅฎƒ่ฎฉๅ‰็ซฏ่ƒฝๅƒ่ฐƒ็”จๆœฌๅœฐๅ‡ฝๆ•ฐไธ€ๆ ท่ฐƒ็”จๅŽ็ซฏ่ฟœ็จ‹ๅ‡ฝๆ•ฐ๏ผŒๅคงๅคงๆๅ‡ๅผ€ๅ‘ๆ•ˆ็އใ€‚"),a("span",{class:"VPBadge tip badge"},"็ซฏๅˆฐ็ซฏ็ฑปๅž‹ๅฎ‰ๅ…จ")])])],-1),e('
ๆŠ€ๆœฏ/ๅทฅๅ…ทๆ ธๅฟƒๅฎšไฝไธŽ็‰นๅพๆ ธๅฟƒไผ˜ๅŠฟ (่ƒฝ่งฃๅ†ณไป€ไนˆ็—›็‚น)ๅฑ€้™ๆ€งไธŽๅฆฅๅๆœ€ไฝณๅฎž่ทตไธŽ้€‚็”จๅœบๆ™ฏ
Fetch API ้€šไฟกๅŸบๅปบๆต่งˆๅ™จๅŽŸ็”Ÿๆ ‡ๅ‡†ๅ่ฎฎๆ— ้œ€ๅฎ‰่ฃ…็ฌฌไธ‰ๆ–นๅŒ…ใ€ๅคฉ็„ถ่žๅ…ฅ็Žฐไปฃ Web ๆ ‡ๅ‡†ใ€‚ๅœจ Edge Runtime ็Žฏๅขƒไธ‹่กจ็Žฐๆœ€ไฝณใ€‚้ป˜่ฎคไธๆŠ›ๅ‡บ HTTP ้”™่ฏฏ็Šถๆ€็ ๏ผˆ้œ€ๆ‰‹ๅŠจๆ‹ฆๆˆช๏ผ‰๏ผ›ๅค„็† JSON ๅ’Œๅ‚ๆ•ฐๆ‹ผๆŽฅ็น็ใ€็ผบๅฐ‘่ฏทๆฑ‚ๅ–ๆถˆๆœบๅˆถใ€‚ๆž็ฎ€ๅœบๆ™ฏ/ๅบ•ๅฑ‚ๅฐ่ฃ…๏ผšไธ้œ€่ฆๅคๆ‚ๆ‹ฆๆˆชๅ™จ็š„่ฝป้‡็บง้กต้ข๏ผ›ไฝœไธบๆ›ด้ซ˜็บงๆžถๆž„็š„ๅบ•ๅฑ‚ๅผ•ๆ“Ž๏ผŒๅฆ‚ Next.js ๅ†…้ƒจ็š„ fetch ๆ‰ฉๅฑ•ใ€‚
Axios
้€šไฟกๅŸบๅปบ
ๅ…จ่ƒฝๅž‹ๅŒๆž„่ฏทๆฑ‚ไฝ“API ๆžๅ…ถๅ‹ๅฅฝใ€่ฏทๆฑ‚/ๅ“ๅบ”ๆ‹ฆๆˆชๅ™จ๏ผˆๅค„็†ๅ…จๅฑ€ Tokenใ€็ปŸไธ€้”™่ฏฏๆ็คบ็š„ๅˆฉๅ™จ๏ผ‰ใ€่‡ชๅŠจ่ฝฌๆข JSON ๆ•ฐๆฎใ€‚ๅขžๅŠ ไบ†ไธ€ๅฎš็š„ๆ‰“ๅŒ…ไฝ“็งฏ๏ผ›ๅŸบไบŽ XHR๏ผˆๅฐฝ็ฎก็Žฐไปฃ็‰ˆๆœฌๅทฒๆ”ฏๆŒ fetch ๅบ•ๅฑ‚๏ผ‰๏ผŒๅœจๆŸไบ›ๆœ€ๆ–ฐ็š„ๆœๅŠก็ซฏ่พน็ผ˜่ฎก็ฎ—็Žฏๅขƒไธญๅฏ่ƒฝๅ—้™ใ€‚้‡ๅบฆไพ่ต– RESTful ็š„้กน็›ฎ๏ผš้œ€่ฆ็ฒพ็ป†ๅŒ–ๆŽงๅˆถ่ฏทๆฑ‚ๅคดใ€่ฟ›่กŒๅ…จๅฑ€้‰ดๆƒๆ‹ฆๆˆชใ€ๅค„็†ๅคๆ‚ๆ–‡ไปถไธŠไผ ็š„ไผ ็ปŸๅ…จๆ ˆๆˆ–ไธญๅŽๅฐ็ณป็ปŸใ€‚
SWR
็Šถๆ€่ฐƒๅบฆ
ๆŒ‰้œ€้ชŒ่ฏ็š„่ฝป้‡็บง็ผ“ๅญ˜ๆž่‡ด็š„่ฝป้‡ไธŽ็ฎ€ๅ•๏ผ›็„ฆ็‚น่š็„ฆๆ—ถ่‡ชๅŠจๅˆทๆ–ฐใ€็ฝ‘็ปœๆขๅคๆ—ถ้‡่ฏ•๏ผ›ๅธฆๆฅๆžไฝณ็š„โ€œUI ็žฌ้—ดๅ“ๅบ”โ€ไฝ“้ชŒใ€‚้ขๅฏนๆžๅ…ถๅคๆ‚็š„ๅผ‚ๆญฅ็Šถๆ€ๆต่ฝฌ๏ผˆๅฆ‚ไบ’็›ธไพ่ต–็š„ไธฒ่กŒ่ฏทๆฑ‚ใ€็ฒพ็ป†็š„็ฆป็บฟไฟฎๆ”นๅ›žๆปš๏ผ‰ๆ—ถ๏ผŒๆ˜พๅพ—ๅฟƒๆœ‰ไฝ™่€ŒๅŠ›ไธ่ถณใ€‚ๅ†…ๅฎน้ฉฑๅŠจๅž‹ๅบ”็”จ๏ผšๆณจ้‡้˜…่ฏปไฝ“้ชŒ็š„ๅšๅฎข็ซ™็‚นใ€ๆ•ฐๆฎๅฎžๆ—ถๆ€ง่ฆๆฑ‚ไธญ็ญ‰็š„ๆ•ฐๆฎ็œ‹ๆฟใ€‚้…็ฝฎๆž็ฎ€๏ผŒ้žๅธธ้€‚ๅˆๅฟซ้€Ÿ่ฟญไปฃ็š„ไบงๅ“ใ€‚
React Query
็Šถๆ€่ฐƒๅบฆ
ๅคง่€Œๅ…จ็š„ๅผ‚ๆญฅ็Šถๆ€ๆŽฅ็ฎกๅผบๅคง็š„็ผ“ๅญ˜็”Ÿๅ‘ฝๅ‘จๆœŸ็ฎก็†๏ผ›ไผ˜้›…็š„ Mutations๏ผˆๆ•ฐๆฎๅ˜ๆ›ด๏ผ‰ๅค„็†ไธŽไน่ง‚ๆ›ดๆ–ฐ๏ผ›ๆžๅฅฝ็š„ๅผ€ๅ‘่ฐƒ่ฏ•ๅทฅๅ…ทใ€‚ๅญฆไน ๆ›ฒ็บฟ่พƒ้™กๅณญ๏ผ›้ป˜่ฎค้…็ฝฎไธ‹ๆœ‰ๆ—ถไผšๅฏผ่‡ดๆ„ๆ–™ไน‹ๅค–็š„็ป„ไปถ้‡ๆธฒๆŸ“๏ผ›ไฝ“็งฏ็›ธๅฏน่พƒๅคงใ€‚ๅคๆ‚ไบคไบ’ๅž‹ SaaS / ๅผบไธšๅŠก้€ป่พ‘็ณป็ปŸ๏ผš้œ€่ฆๅค„็†ๅคง้‡่กจๅ•ๆไบคใ€ๅˆ—่กจๆ— ้™ๆปšๅŠจใ€็ฒพ็ป†ๅŒ–็ผ“ๅญ˜ๆŽงๅˆถ็š„้‡ๅž‹ๅ•้กตๅบ”็”จ๏ผˆSPA๏ผ‰ใ€‚
GraphQL ๅ่ฎฎๅฅ‘็บฆๅฃฐๆ˜Žๅผ็š„ๅ›พ่ฐฑๆŸฅ่ฏขๅฝปๅบ•่งฃๅ†ณ Over-fetching๏ผ›ๅ‰็ซฏๆ‹ฅๆœ‰ๆž้ซ˜็š„ๆ•ฐๆฎๆŒ‰้œ€็ป„ๅˆ่‡ช็”ฑๅบฆ๏ผ›่‡ชๅธฆๅผบ็ฑปๅž‹็š„ Schema ๆ–‡ๆกฃใ€‚ๅŽ็ซฏๅผ€ๅ‘ๆˆๆœฌๆž้ซ˜๏ผˆ้œ€็ผ–ๅ†™ๅคง้‡ Resolver ๅ‡ฝๆ•ฐ๏ผ‰๏ผ›ๅฎนๆ˜“ไบง็”Ÿ N+1 ๆŸฅ่ฏขๆ€ง่ƒฝ้—ฎ้ข˜๏ผ›HTTP ็ผ“ๅญ˜ๆœบๅˆถ้šพไปฅ็›ดๆŽฅๅˆฉ็”จใ€‚ๅคš็ซฏๅค็”จๅž‹ๅคงไธญๅž‹ไบงๅ“๏ผšๅŽ็ซฏ้œ€่ฆๅŒๆ—ถๆœๅŠกไบŽ Webใ€iOSใ€Android ็”š่‡ณ็ฌฌไธ‰ๆ–นๅผ€ๅ‘่€…๏ผ›ไธšๅŠกๅฎžไฝ“ๅ…ณ็ณป้ซ˜ๅบฆๅคๆ‚็š„็ณป็ปŸใ€‚
tRPC
ๅ่ฎฎๅฅ‘็บฆ
็ซฏๅˆฐ็ซฏ็š„ๅ…จๆ ˆ็ฑปๅž‹ๆŽจๅฏผๅ‰ๅŽ็ซฏ็ฑปๅž‹้›ถๆˆๆœฌๅ…ฑไบซ๏ผ›้‡ๆž„ๆ—ถ็š„ไปฃ็ ๅฎ‰ๅ…จๆ€งๆž้ซ˜๏ผ›ๅฎŒๅ…จไธ้œ€่ฆๆ‰‹ๅ†™ๆŽฅๅฃๆ–‡ๆกฃๆˆ– Schemaใ€‚ๅผบ็ป‘ๅฎš Node.js/TypeScript ๆŠ€ๆœฏๆ ˆ๏ผ›ๅฆ‚ๆžœๅ‰็ซฏ้กน็›ฎๅ’ŒๅŽ็ซฏไปฃ็ ๆฒกๆœ‰ๅœจไธ€ไธช Monorepo ไธญ๏ผŒๅจๅŠ›ๅคงๆ‰“ๆŠ˜ๆ‰ฃใ€‚ๆ•ๆทๅ…จๆ ˆ/ๅ•ไบบไฝœๆˆ˜ๅ›ข้˜Ÿ๏ผš้‡‡็”จ Node.js + ๅ‰็ซฏๆก†ๆžถ๏ผˆReact/Vue๏ผ‰ๆž„ๅปบ็š„ๅ…จๆ ˆ้กน็›ฎใ€‚ๆžๅบฆ่ฟฝๆฑ‚ๅผ€ๅ‘ๆ•ˆ็އๅ’Œไบงๅ“่ฟญไปฃ้€Ÿๅบฆ็š„ๅ›ข้˜Ÿใ€‚

็Žฐไปฃ Web ๆ•ฐๆฎๆตๆžถๆž„่Œƒๅผ๏ผš

1ใ€ๆ ‡ๅ‡†ๅ‰ๅŽ็ซฏๅˆ†็ฆปๆžถๆž„๏ผšAxios + React Query๏ผˆๆˆ– SWR๏ผ‰

  • ้€‚็”จๅœบๆ™ฏ๏ผš ๅผ‚ๆž„็ณป็ปŸ๏ผˆๅฆ‚ๅ‰็ซฏไฝฟ็”จ React/Vue๏ผŒๅŽ็ซฏไฝฟ็”จ Java/Go/Python ็ญ‰้ž JS ่ฏญ่จ€๏ผ‰๏ผ›้ซ˜ๅบฆไพ่ต–ไผ ็ปŸ RESTful API ่ง„่Œƒใ€้œ€่ฆ็ฒพ็ป†ๅŒ–ๆŽงๅˆถ็ฝ‘็ปœ่ฏทๆฑ‚ๆ‹ฆๆˆชๅ™จ็š„ไธญๅคงๅž‹ไผไธš็บง้กน็›ฎใ€‚
  • ๆžถๆž„ๆœบๅˆถ๏ผšๅฐ†็ฝ‘็ปœ่ฏทๆฑ‚็š„โ€œๅบ•ๅฑ‚้€š้“โ€ไธŽโ€œไธŠๅฑ‚็Šถๆ€โ€ไธฅๆ ผ่งฃ่€ฆใ€‚Axios ไธ“ๆณจไบŽๅŸบ็ก€้€šไฟกๅฑ‚็š„ๆฒป็†๏ผŒ่ดŸ่ดฃๅ…จๅฑ€่ฏทๆฑ‚ๅคดๆณจๅ…ฅ๏ผˆๅฆ‚ Bearer Token๏ผ‰ใ€็ปŸไธ€็š„ HTTP ็Šถๆ€็ ๆ‹ฆๆˆชไธŽ้™้ป˜้”™่ฏฏไธŠๆŠฅ๏ผ›React Query / SWR ๅˆ™ไธ“ๆณจไบŽ่กจ็Žฐๅฑ‚็š„็Šถๆ€่ฐƒๅบฆ๏ผŒๆŽฅ็ฎกๆ•ฐๆฎ็š„็ผ“ๅญ˜็”Ÿๅ‘ฝๅ‘จๆœŸใ€่ฏทๆฑ‚ๅŽป้‡๏ผˆDeduplication๏ผ‰ไปฅๅŠไน่ง‚ๆ›ดๆ–ฐ๏ผˆOptimistic UI๏ผ‰ใ€‚
  • ๅทฅ็จ‹ไปทๅ€ผ๏ผšๅ…ทๅค‡ๆž้ซ˜็š„็จณๅฅๆ€งไธŽๆŠ€ๆœฏๆ ˆๅŒ…ๅฎนๆ€งใ€‚ๅ‰ๅŽ็ซฏ่พน็•Œๆธ…ๆ™ฐ๏ผŒไบ’ไธๅนฒๆ‰ฐใ€‚

2ใ€ๅ…จๆ ˆ็ฑปๅž‹ๅฎ‰ๅ…จๆžถๆž„๏ผštRPC + React Query

  • ้€‚็”จๅœบๆ™ฏ๏ผš ้‡‡็”จ Monorepo ๆžถๆž„็ฎก็†็š„็บฏ TypeScript/Node.js ๅ…จๆ ˆ้กน็›ฎ๏ผ›่ฟฝๆฑ‚ๆ•ๆทๅผ€ๅ‘ใ€ๆž้€Ÿไบคไป˜ไปฅๅŠ้œ€่ฆ้ข‘็น่ฟ›่กŒไธšๅŠก้‡ๆž„็š„ SaaS ไบงๅ“ๆˆ–ๅ†…้ƒจ็ณป็ปŸใ€‚
  • ๆžถๆž„ๆœบๅˆถ๏ผšๅŸบไบŽ TypeScript ็š„ๅผบ็ฑปๅž‹ๆŽจๅฏผ็ณป็ปŸ๏ผŒๆ‰“้€šๅ‰ๅŽ็ซฏๆ•ฐๆฎๆตใ€‚tRPC ๅฎ˜ๆ–นๆทฑๅบฆ้›†ๆˆไบ† React Query๏ผˆ@trpc/react-query๏ผ‰๏ผŒๅœจไฟ็•™ไบ†ๅฎŒๆ•ด็š„็Žฐไปฃๅ‰็ซฏ็ผ“ๅญ˜่ฐƒๅบฆ่ƒฝๅŠ›็š„ๅŒๆ—ถ๏ผŒๅฝปๅบ•ๅ…ๅŽปไบ†ๆ‰‹ๅŠจ็ปดๆŠค API ๆŽฅๅฃๆ–‡ๆกฃๅ’Œ Schema ็ผ–่ฏ‘็”Ÿๆˆ็š„ไธญ้—ด็Žฏ่Š‚ใ€‚ๅŽ็ซฏ็š„็ฑปๅž‹ๅ˜ๆ›ดไผšๅณๅˆปๅๆ˜ ไธบๅ‰็ซฏ็ผ–่ฏ‘ๆœŸ็š„้™ๆ€็ฑปๅž‹ๆฃ€ๆŸฅๆŠฅ้”™ใ€‚
  • ๅทฅ็จ‹ไปทๅ€ผ๏ผšๆž่‡ด็š„็ ”ๅ‘ๆ•ˆ่ƒฝไธŽ็ป“ๆž„ๅฎ‰ๅ…จๆ€งใ€‚ๅฏนไบŽไธ“ๆณจไบŽไบงๅ“่ฟญไปฃไธŽไธšๅŠกๅขž้•ฟ็š„ Node.js ๅ…จๆ ˆๅผ€ๅ‘่€…่€Œ่จ€๏ผŒ่ฟ™็ง็ป„ๅˆๅฎŒ็พŽๅฅ‘ๅˆไบ†โ€œไปฅๆ›ดๅฐ‘ๆŠ•ๅ…ฅ่Žทๅพ—ๆ›ดๅคงๆ”ถ็›Šโ€็š„ๅทฅ็จ‹ๅ“ฒๅญฆใ€‚ๅฎƒ็›ดๆŽฅๆถˆ็ญไบ†โ€œๆŽฅๅฃ่”่ฐƒโ€่ฟ™ไธ€ๆ— ๆ•ˆ่€—ๆ—ถ็Žฏ่Š‚๏ผŒ่ฎฉๅผ€ๅ‘่€…่ƒฝๅฐ†ๆ ธๅฟƒ็ฒพๅŠ›่š็„ฆไบŽไบงๅ“้€ป่พ‘ๆœฌ่บซใ€‚

3ใ€ๅคš็ซฏๆ•ฐๆฎ่šๅˆ BFF ๆžถๆž„๏ผšGraphQL + Apollo Client

  • ้€‚็”จๅœบๆ™ฏ๏ผš ๆ•ฐๆฎๆฅๆบๅบžๆ‚ไธ”ๅˆ†ๆ•ฃ็š„ๅคงๅž‹ไธšๅŠก็ณป็ปŸ๏ผ›้œ€่ฆๅŒๆ—ถไธบๅคš็งไธๅŒๅฎขๆˆท็ซฏๆไพ›้ซ˜็ตๆดปๆ€ง API๏ผŒไธ”ๅ‰ๅŽ็ซฏๅ›ข้˜Ÿ่ง„ๆจก่พƒๅคงใ€้œ€่ฆ้ซ˜ๅบฆๅนถ่กŒ็š„้กน็›ฎใ€‚
  • ๆžถๆž„ๆœบๅˆถ๏ผšๅผ•ๅ…ฅ BFF๏ผˆBackend For Frontend๏ผŒๆœๅŠกไบŽๅ‰็ซฏ็š„ๅŽ็ซฏ๏ผ‰็†ๅฟตใ€‚GraphQL ไฝœไธบไธญ้—ดไปถๅฑ‚๏ผŒ่ดŸ่ดฃๅฐ†ๅบ•ๅฑ‚ๅˆ†ๆ•ฃ็š„ๅพฎๆœๅŠกใ€ๆ•ฐๆฎๅบ“ๆˆ–็ฌฌไธ‰ๆ–น API ่ฟ›่กŒ่šๅˆไธŽ็ผ–ๆŽ’๏ผˆData Orchestration๏ผ‰ใ€‚ๅ‰็ซฏ้€š่ฟ‡ Apollo Client ๅ‘่ตทๅฃฐๆ˜ŽๅผๆŸฅ่ฏข๏ผŒ็ฒพๅ‡†่Žทๅ– UI ็ป„ไปถๆ‰€้œ€็š„ๆ•ฐๆฎๅˆ‡็‰‡๏ผŒๅนถๅˆฉ็”จ Apollo ๅผบๅคง็š„ๆ ‡ๅ‡†ๅŒ–็ผ“ๅญ˜๏ผˆNormalized Cache๏ผ‰็ฎก็†ๅคๆ‚ๅฎžไฝ“ๅ…ณ็ณปใ€‚
  • ๅทฅ็จ‹ไปทๅ€ผ๏ผšๅฝปๅบ•่งฃๅ†ณๅคš็ซฏ่ฎพๅค‡๏ผˆWebใ€iOSใ€Android๏ผ‰้ขไธด็š„่ฟ‡ๅบฆ่Žทๅ–๏ผˆOver-fetching๏ผ‰ไธŽ็ขŽ็‰‡ๅŒ–ๆŽฅๅฃๆฒป็†้—ฎ้ข˜๏ผŒๅฎž็Žฐไบ†ๆ•ฐๆฎๆถˆ่ดน็ซฏ็š„้ซ˜ๅบฆ่‡ชๆฒปใ€‚

6. ๆž„ๅปบๅทฅๅ…ทไธŽๅทฅไฝœๆต (Build Tools & Workflow) โ€‹

',9),a("div",{class:"container nav-card-container"},[a("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[a("a",{href:"https://cn.vite.dev/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://cn.vite.dev/logo-without-border.svg",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Vite")]),a("p",{class:"desc"},"Vite ๆ˜ฏไธ€ๆฌพ้€Ÿๅบฆๆžๅฟซ็š„ๅ‰็ซฏๆž„ๅปบๅทฅๅ…ท๏ผŒไธบไธ‹ไธ€ไปฃ Web ๅบ”็”จ็จ‹ๅบๆไพ›ๆ”ฏๆŒ๏ผŒๅฎƒๆ‘’ๅผƒไบ†โ€œๅ…ˆๆ‰“ๅŒ…๏ผŒๅ†ๅฏๅŠจโ€็š„ๆจกๅผ๏ผŒๅผ€ๅฏไบ†โ€œๅŽŸ็”Ÿ ESMโ€ๅผ€ๅ‘็š„ๆ–ฐๆ—ถไปฃใ€‚"),a("span",{class:"VPBadge tip badge"},"ๆž้€Ÿ ESM ๆž„ๅปบ")]),a("a",{href:"https://rsbuild.rs/zh/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://assets.rspack.rs/rsbuild/favicon-128x128.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Rsbuild")]),a("p",{class:"desc"},"Rsbuild ๆ˜ฏไธ€ไธช็”ฑๅญ—่Š‚่ทณๅŠจ Web Infra ๅ›ข้˜Ÿๅผ€ๆบใ€ๅŸบไบŽ Rust ่ฏญ่จ€็ผ–ๅ†™็š„ Rspack ้ฉฑๅŠจ็š„้ซ˜ๆ€ง่ƒฝๆž„ๅปบๅทฅๅ…ทใ€‚ๅฎƒไธ“ๆณจไบŽไธบ Web ้กน็›ฎๆไพ›ๅผ€็ฎฑๅณ็”จ็š„ๅผ€ๅ‘ไฝ“้ชŒ๏ผŒ้€š่ฟ‡ๅ†…็ฝฎ็š„้ซ˜ๆ€ง่ƒฝๅทฅๅ…ท๏ผˆๅฆ‚ SWCใ€Lightning CSS๏ผ‰ๅฎž็Žฐๆžๅฟซ็š„ๆž„ๅปบ้€Ÿๅบฆ๏ผŒๅนถๆไพ›็ฑปไผผ Vite/Webpack ็š„้›ถ้…็ฝฎๆˆ–ไฝŽ้…็ฝฎไฝ“้ชŒใ€‚"),a("span",{class:"VPBadge tip badge"},"Rust ้ซ˜ๆ€ง่ƒฝๆž„ๅปบ")]),a("a",{href:"https://nextjscn.org/docs/app/api-reference/turbopack",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("span",{class:"name"},"Turbopack")]),a("p",{class:"desc"},"Turbopack ๆ˜ฏ็”ฑ Vercel ๅผ€ๅ‘ใ€ๅŸบไบŽ Rust ็ผ–ๅ†™็š„้ซ˜ๆ€ง่ƒฝๅขž้‡ๆ‰“ๅŒ…ๅทฅๅ…ท๏ผŒไธ“ไธบ JavaScript ๅ’Œ TypeScript ไผ˜ๅŒ–ใ€‚ๅฎƒ่ขซ่ฎพ่ฎกไธบ Webpack ็š„็ปงไปป่€…๏ผŒๆ—จๅœจ้€š่ฟ‡ไผ˜ๅŒ–็š„ๆœบๅ™จไปฃ็ ๅ’Œ้ซ˜ๅบฆๅขž้‡่ฎก็ฎ—่ƒฝๅŠ›๏ผŒๆไพ›ๆฏ” Vite ๅฟซ 10 ๅ€ใ€ๆฏ” Webpack ๅฟซ 700 ๅ€็š„ๆœฌๅœฐๅผ€ๅ‘ไฝ“้ชŒ๏ผŒไธป่ฆๅ†…็ฝฎไบŽ Next.jsใ€‚"),a("span",{class:"VPBadge tip badge"},"ๅขž้‡ๆž้€Ÿๆ‰“ๅŒ…")]),a("a",{href:"https://webpack.docschina.org/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://webpack.docschina.org/favicon.f326220248556af65f41.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Webpack")]),a("p",{class:"desc"},"Webpack ๆ˜ฏไธ€ไธช็Žฐไปฃ JavaScript ๅบ”็”จ็จ‹ๅบ็š„้™ๆ€ๆจกๅ—ๆ‰“ๅŒ…ๅทฅๅ…ทใ€‚ๅฎƒๅœจๅ†…้ƒจๆž„ๅปบไพ่ต–ๅ›พ๏ผŒๅฐ†้กน็›ฎไธญ็š„ๅ„็ง่ต„ๆบ๏ผˆๅฆ‚ JSใ€CSSใ€ๅ›พ็‰‡ใ€TypeScript ็ญ‰๏ผ‰่ง†ไธบๆจกๅ—๏ผŒๅนถๆœ€็ปˆๆ‰“ๅŒ…ๆˆๆต่งˆๅ™จๅฏ็›ดๆŽฅ่ฟ่กŒ็š„้™ๆ€ๆ–‡ไปถใ€‚้€š่ฟ‡ Loader ๅ’Œ Plugin๏ผŒๅฎƒ่ƒฝๅค„็†ๅคๆ‚็š„ๅผ€ๅ‘้œ€ๆฑ‚ใ€‚"),a("span",{class:"VPBadge tip badge"},"็ปๅ…ธๆจกๅ—ๆ‰“ๅŒ…")]),a("a",{href:"https://github.com/features/actions",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://github.com/fluidicon.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"GitHub Actions")]),a("p",{class:"desc"},"GitHub Actions ๆ˜ฏ GitHub ๆŽจๅ‡บ็š„ๆŒ็ปญ้›†ๆˆๅ’ŒๆŒ็ปญไบคไป˜ (CI/CD) ๅนณๅฐ๏ผŒๆ—จๅœจๅธฎๅŠฉๅผ€ๅ‘่€…่‡ชๅŠจๆ‰ง่กŒ่ฝฏไปถๅผ€ๅ‘ๅทฅไฝœๆตใ€‚ๅฎƒๅ…่ฎธๅœจไปฃ็ ไป“ๅบ“ไธญ็›ดๆŽฅๅฎšไน‰่‡ชๅŠจๅŒ–ๆต็จ‹๏ผˆๅฆ‚ๆž„ๅปบใ€ๆต‹่ฏ•ใ€้ƒจ็ฝฒ๏ผ‰๏ผŒๆ”ฏๆŒไบ‹ไปถ่งฆๅ‘๏ผˆๅฆ‚ๆไบคไปฃ็ ๏ผ‰๏ผŒๅนถๆไพ›่™šๆ‹Ÿๆœบ็Žฏๅขƒ๏ผˆUbuntuใ€Windowsใ€macOS๏ผ‰่ฟ่กŒไปปๅŠก๏ผŒไฝฟๅผ€ๅ‘ๆ›ด้ซ˜ๆ•ˆใ€‚"),a("span",{class:"VPBadge tip badge"},"CI/CD ่‡ชๅŠจๅŒ–")])])],-1),a("h2",{id:"_7-ๅ…จๆ ˆๆก†ๆžถ",tabindex:"-1"},[s("7. ๅ…จๆ ˆๆก†ๆžถ "),a("a",{class:"header-anchor",href:"#_7-ๅ…จๆ ˆๆก†ๆžถ","aria-label":"Permalink to โ€œ7. ๅ…จๆ ˆๆก†ๆžถโ€"},"โ€‹")],-1),a("blockquote",null,[a("p",null,[a("strong",null,"ๅŒๆž„ๅ…ƒๆก†ๆžถ๏ผšNext.jsใ€Nuxt"),s("๏ผŒ็Žฐไปฃๅ…จๆ ˆๅผ€ๅ‘ๅ€พๅ‘ไบŽไฝฟ็”จโ€œๅ…ƒๆก†ๆžถโ€๏ผŒๅฎƒไปฌๆจก็ณŠไบ†ๅฎขๆˆท็ซฏๅ’ŒๆœๅŠกๅ™จ็š„็•Œ้™๏ผŒๆไพ›ไธ€ไฝ“ๅŒ–็š„ๅผ€ๅ‘ไฝ“้ชŒใ€‚")]),a("p",null,[a("strong",null,"ไผไธš็บง Node ๆœๅŠก็ซฏๆก†ๆžถ๏ผšNestJS"),s("๏ผŒไธ€ไธช็”จไบŽๆž„ๅปบ้ซ˜ๆ•ˆใ€ๅฏๆ‰ฉๅฑ•็š„ Node.js ๆœๅŠกๅ™จ็ซฏๅบ”็”จ็จ‹ๅบ็š„ๆก†ๆžถ๏ผŒๅฎƒ้‡‡็”จ็Žฐไปฃ TypeScript ็ผ–ๅ†™๏ผŒๅนถๅฎŒๅ…จๆ”ฏๆŒๅฎƒ๏ผˆๅŒๆ—ถไนŸๆ”ฏๆŒ็บฏ JavaScript๏ผ‰ใ€‚ๅฎƒ่žๅˆไบ† OOP๏ผˆ้ขๅ‘ๅฏน่ฑก็ผ–็จ‹๏ผ‰ใ€FP๏ผˆๅ‡ฝๆ•ฐๅผ็ผ–็จ‹๏ผ‰ๅ’Œ FRP๏ผˆๅ‡ฝๆ•ฐๅ“ๅบ”ๅผ็ผ–็จ‹๏ผ‰็š„็†ๅฟตใ€‚ๅ…ถ่ฎพ่ฎกๆทฑๅ— Angular ๅฏๅ‘๏ผŒๅ†…็ฝฎไบ†ไพ่ต–ๆณจๅ…ฅ๏ผˆDI๏ผ‰ใ€ๆจกๅ—ๅŒ–ๅ’Œๅˆ†ๅฑ‚ๆžถๆž„็ญ‰ๅผบไธปๅผ ็‰นๆ€ง๏ผŒ่ขซ็งฐไธบ Node.js ็‰ˆ็š„ Spring ๆก†ๆžถใ€‚")])],-1),a("div",{class:"container nav-card-container"},[a("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[a("a",{href:"https://nextjs.org/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://nextjs.org/favicon.ico?favicon.3fc65821.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Next.js")]),a("p",{class:"desc"},"Next.js ๆ˜ฏไธ€ไธชๅŸบไบŽ Reactใ€Node.js ็š„ๅ…จๆ ˆ Web ๅผ€ๅ‘ๆก†ๆžถ๏ผŒ็”ฑ Vercel ๅ…ฌๅธ็ปดๆŠค๏ผŒไธ“ไธบ็”Ÿไบง็Žฏๅขƒ่ฎพ่ฎกใ€‚ๅฎƒ้€š่ฟ‡ๅ†…็ฝฎ็š„ๆœๅŠกๅ™จ็ซฏๆธฒๆŸ“ (SSR)ใ€้™ๆ€็ซ™็‚น็”Ÿๆˆ (SSG) ๅ’Œๅขž้‡้™ๆ€ๅ†็”Ÿๆˆ (ISR) ๆŠ€ๆœฏ๏ผŒ่งฃๅ†ณไบ†ไผ ็ปŸ React ๅบ”็”จ็š„ SEO ไผ˜ๅŒ–ๅทฎ ๅ’Œ้ฆ–ๅฑๅŠ ่ฝฝๆ…ข็š„้—ฎ้ข˜๏ผŒๆ˜ฏ็›ฎๅ‰ๆœ€ๅ—ๆฌข่ฟŽ็š„ React ๅบ”็”จๅผ€ๅ‘ๆก†ๆžถไน‹ไธ€ใ€‚"),a("span",{class:"VPBadge tip badge"},"SSR/SSG/ISR")]),a("a",{href:"https://nuxtjs.org/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://nuxt.com/icon.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Nuxt")]),a("p",{class:"desc"},"ๆ˜ฏไธ€ไธชๅŸบไบŽ Vue.js ็š„ๅผ€ๆบใ€ๅ…่ดน็š„ Web ๅผ€ๅ‘ๅ…ƒๆก†ๆžถ๏ผˆMeta-framework๏ผ‰๏ผŒไธ“ไธบๆž„ๅปบ้ซ˜ๆ€ง่ƒฝ็š„ๆœๅŠก็ซฏๆธฒๆŸ“๏ผˆSSR๏ผ‰ใ€้™ๆ€็ซ™็‚น็”Ÿๆˆ๏ผˆSSG๏ผ‰ๅ’Œๅ•้กตๅบ”็”จ๏ผˆSPA๏ผ‰่€Œ่ฎพ่ฎกใ€‚ๅฎƒ้›†ๆˆไบ† Viteใ€Vue 3 ๅ’Œ Nitro ๆœๅŠก็ซฏๅผ•ๆ“Ž๏ผŒๆ—จๅœจ็ฎ€ๅŒ–ๅผ€ๅ‘ๆต็จ‹๏ผŒๆไพ›ๅ“่ถŠ็š„ SEO ไผ˜ๅŒ–ๅ’Œๅผ€ๅ‘ไบบๅ‘˜ไฝ“้ชŒ"),a("span",{class:"VPBadge tip badge"},"SSR/SSG/ISR")]),a("a",{href:"https://nestjs.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://nestjs.com/favicon-32x32.a39d94f4.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"NestJS")]),a("p",{class:"desc"},"NestJS ๆ˜ฏไธ€ไธช็”จไบŽๆž„ๅปบ้ซ˜ๆ•ˆใ€ๅฏๆ‰ฉๅฑ•็š„ Node.js ๆœๅŠกๅ™จ็ซฏๅบ”็”จ็จ‹ๅบ็š„ๆก†ๆžถ๏ผŒๅฎƒ้‡‡็”จ็Žฐไปฃ TypeScript ็ผ–ๅ†™๏ผŒๅนถๅฎŒๅ…จๆ”ฏๆŒๅฎƒ๏ผˆๅŒๆ—ถไนŸๆ”ฏๆŒ็บฏ JavaScript๏ผ‰ใ€‚ๅฎƒ่žๅˆไบ† OOP๏ผˆ้ขๅ‘ๅฏน่ฑก็ผ–็จ‹๏ผ‰ใ€FP๏ผˆๅ‡ฝๆ•ฐๅผ็ผ–็จ‹๏ผ‰ๅ’Œ FRP๏ผˆๅ‡ฝๆ•ฐๅ“ๅบ”ๅผ็ผ–็จ‹๏ผ‰็š„็†ๅฟตใ€‚ๅ…ถ่ฎพ่ฎกๆทฑๅ— Angular ๅฏๅ‘๏ผŒๅ†…็ฝฎไบ†ไพ่ต–ๆณจๅ…ฅ๏ผˆDI๏ผ‰ใ€ๆจกๅ—ๅŒ–ๅ’Œๅˆ†ๅฑ‚ๆžถๆž„็ญ‰ๅผบไธปๅผ ็‰นๆ€ง๏ผŒ่ขซ็งฐไธบ Node.js ็‰ˆ็š„ Spring ๆก†ๆžถ."),a("span",{class:"VPBadge tip badge"},"ไผไธš็บง Node ๆก†ๆžถ")])])],-1),e('
ๅฏนๆฏ”็ปดๅบฆNext.jsNuxtNestJS
ๆก†ๆžถๅฎšไฝReact ๅ…จๆ ˆๆก†ๆžถ
(Isomorphic Meta-framework)
Vue ๅ…จๆ ˆๆก†ๆžถ
(Isomorphic Meta-framework)
ไผไธš็บง Node.js ๆœๅŠก็ซฏๆก†ๆžถ
(Backend Framework)
ๅบ•ๅฑ‚้ฉฑๅŠจWebpack / Turbopack
React Server Components
Vite / Nitro ๅผ•ๆ“Ž
Vue3
Express / Fastify (ๅบ•ๅฑ‚ๅฏๆ’ๆ‹”)
็บฏ TypeScript
ๆ ธๅฟƒๅทฅ็จ‹็‰นๆ€งๆททๅˆๆธฒๆŸ“ (SSR/SSG/ISR)
Server Actions (ๆ— ็ผ RPC)
่พน็ผ˜่ฎก็ฎ—่ทฏ็”ฑ
ๆททๅˆๆธฒๆŸ“ไธŽ้ข„ๆธฒๆŸ“
ๆž่‡ด็š„่‡ชๅŠจๅฏผๅ…ฅ (Auto-imports)
ๅผ€็ฎฑๅณ็”จ็š„ๆจกๅ—ๅŒ–็”Ÿๆ€
ไพ่ต–ๆณจๅ…ฅ (DI) / ๆŽงๅˆถๅ่ฝฌ (IoC)
้ขๅ‘ๅˆ‡้ข็ผ–็จ‹ (AOP)
ๅผบไธปๅผ ็š„ๆจกๅ—ๅŒ–็›ฎๅฝ•
ๆ•ฐๆฎๆต่Œ่ดฃ่ง†ๅ›พๅฑ‚ๆธฒๆŸ“ใ€BFF (ๆœๅŠกไบŽๅ‰็ซฏ็š„ๅŽ็ซฏ)ใ€่ฝป้‡็บง่šๅˆ APIใ€‚่ง†ๅ›พๅฑ‚ๆธฒๆŸ“ใ€BFF (ๆœๅŠกไบŽๅ‰็ซฏ็š„ๅŽ็ซฏ)ใ€่ฝป้‡็บง่šๅˆ APIใ€‚็บฏๅŽ็ซฏไธšๅŠก้€ป่พ‘ๅค„็†ใ€ๅพฎๆœๅŠก้€šไฟกไธŽ็ผ–ๆŽ’ใ€็ปŸไธ€ API ไพ›ๅบ”ใ€‚
ๆœ€ไฝณไธšๅŠกๅœบๆ™ฏ้‡ SEO ็š„ C ็ซฏไบงๅ“ (็”ตๅ•†ใ€ๅ†…ๅฎน็ซ™); ๆ•ๆท่ฟญไปฃ็š„ SaaS; ๅ•ไป“ๅบ“ๆž้€Ÿไบคไป˜ใ€‚้‡ไบคไบ’ไฝ“้ชŒ็š„ Web ๅบ”็”จ; Vue ๆŠ€ๆœฏๅ›ข้˜Ÿ็š„ๅ…จๆ ˆ่ฝฌๅž‹; ็‹ฌ็ซ‹ๅผ€ๅ‘่€…ๅปบ็ซ™ใ€‚ๅคๆ‚้ข†ๅŸŸ้ฉฑๅŠจ่ฎพ่ฎก (DDD) ็ณป็ปŸ; ๅคš็ซฏๅค็”จ็š„ API ไธญๅฐ; ๅบžๅคง็š„ๅพฎๆœๅŠก้›†็พคใ€‚
้œ€่ง„้ฟ็š„ๅๆจกๅผๆ‰ฟ่ฝฝ้ซ˜ๅนถๅ‘ CPU ๅฏ†้›†ๅž‹่ฎก็ฎ—; ๆžๅ…ถๅคๆ‚็š„่ทจๆœๅŠกๅˆ†ๅธƒๅผไบ‹ๅŠกใ€‚ๆ‰ฟ่ฝฝ้ซ˜ๅนถๅ‘ CPU ๅฏ†้›†ๅž‹่ฎก็ฎ—; ๆžๅ…ถๅคๆ‚็š„่ทจๆœๅŠกๅˆ†ๅธƒๅผไบ‹ๅŠกใ€‚ไป…้œ€ๆž็ฎ€ CRUD ็š„ๅฐๅž‹ๅค–ๅŒ…้กน็›ฎ; ๅผบไพ่ต–้ฆ–ๅฑ HTML ็›ดๅ‡บ็š„็บฏๅฑ•็คบ็ฝ‘้กตใ€‚
ๅ›ข้˜Ÿๅไฝœๆจกๅž‹ๅ‰็ซฏไธปๅฏผ็š„ๆ•ๆทๅ…จๆ ˆๅฐ้˜Ÿ, ๆˆ–่ฟฝๆฑ‚โ€œๅ•ๅ…ตไฝœๆˆ˜โ€็š„ๆžๅฎขๅ›ข้˜Ÿใ€‚ๅ‰็ซฏไธปๅฏผ็š„ๆ•ๆทๅ…จๆ ˆๅฐ้˜Ÿ, ๆˆ– Vue ็”Ÿๆ€้‡ๅบฆไพ่ต–ๅ›ข้˜Ÿใ€‚ๅŽ็ซฏไธปๅฏผ็š„ไธญๅคงๅž‹ๅ›ข้˜Ÿ, ๅ‰ๅŽ็ซฏ็‰ฉ็†ๅˆ†็ฆป็š„ๆ ‡ๅ‡†ๅŒ–ๅผ€ๅ‘ๆตๆฐด็บฟใ€‚

8. ้ƒจ็ฝฒไธŽๆ‰˜็ฎก (Deployment & Hosting) โ€‹

',2),a("div",{class:"container nav-card-container"},[a("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[a("a",{href:"https://vercel.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://assets.vercel.com/image/upload/front/favicon/vercel/apple-touch-icon-256x256.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Vercel")]),a("p",{class:"desc"},"Vercel ๆ˜ฏไธ€ไธช็Žฐไปฃๅ‰็ซฏ้กน็›ฎ็š„็†ๆƒณ้ƒจ็ฝฒๅนณๅฐ๏ผŒๅฎƒ้›ถ้…็ฝฎใ€ๆ”ฏๆŒ่‡ชๅŠจ้ƒจ็ฝฒๅ’Œ้ข„่งˆใ€ๆ‹ฅๆœ‰ๅ…จ็ƒๅŠ ้€Ÿ่Š‚็‚น๏ผŒๅนฟๆณ›็”จไบŽๅผ€ๆบ้กน็›ฎใ€ไธชไบบไฝœๅ“้›†ใ€ไผไธš็ฝ‘็ซ™็ญ‰ใ€‚ ๆ— ่ฎบไฝ ๆ˜ฏ็”จReactใ€Vueใ€Svelte ่ฟ˜ๆ˜ฏ้™ๆ€HTML๏ผŒๅช้œ€ๅ‡ ๆญฅๅฐฑๅฏไปฅๅฐ†้กน็›ฎไธŠ็บฟใ€‚"),a("span",{class:"VPBadge tip badge"},"ๅ‰็ซฏ่พน็ผ˜ๆ‰˜็ฎก")]),a("a",{href:"https://www.netlify.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://www.netlify.com/favicon/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Netlify")]),a("p",{class:"desc"},"ไธŽ Vercel ็ฑปไผผ๏ผŒๅŠŸ่ƒฝๆ›ดๅ…จ้ข๏ผšๆ”ฏๆŒๆ›ดๅคš็š„ๆก†ๆžถๅ’Œ้™ๆ€็ซ™็‚น็”Ÿๆˆๅ™จ๏ผŒๆœ‰่กจๅ•ๅค„็†ใ€ๆ— ๆœๅŠกๅ™จๅ‡ฝๆ•ฐ็ญ‰ๅŠŸ่ƒฝ๏ผŒๅ…่ดน้ขๅบฆๆ›ดๅคงใ€่ฟ˜ๆ”ฏๆŒ A/B ๆต‹่ฏ•ๅ’Œๅˆ†ๆžใ€‚Netlify ๆ˜ฏไธ€ไธชๅŸบไบŽไบ‘่ฎก็ฎ—็š„็ฝ‘็ซ™้ƒจ็ฝฒๅ’Œๆ‰˜็ฎกๅนณๅฐ๏ผŒไธ“ๆณจไบŽไธบๅผ€ๅ‘่€…ๆไพ›ไพฟๆท็š„้™ๆ€็ฝ‘็ซ™ๅ’ŒJamstack ๅบ”็”จ้ƒจ็ฝฒๆœๅŠกใ€‚ ๅฎƒ็š„ๆ ธๅฟƒไผ˜ๅŠฟๅœจไบŽๅฐ†็ฝ‘็ซ™ๆž„ๅปบใ€้ƒจ็ฝฒใ€ๆ‰˜็ฎกไปฅๅŠๆŒ็ปญ้›†ๆˆ/ ๆŒ็ปญ้ƒจ็ฝฒ๏ผˆCI/CD๏ผ‰ๆต็จ‹้ซ˜ๅบฆ้›†ๆˆ๏ผŒๆžๅคงๅœฐ็ฎ€ๅŒ–ไบ†ๅผ€ๅ‘ๅ’Œ่ฟ็ปด็š„ๅคๆ‚็จ‹ๅบฆ"),a("span",{class:"VPBadge tip badge"},"Jamstack ๅนณๅฐ")]),a("a",{href:"https://pages.github.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://github.com/fluidicon.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"GitHub Pages")]),a("p",{class:"desc"},"GitHub Pages ๆ˜ฏไธ€ไธช็”ฑ GitHub ๆไพ›็š„ใ€ๅ…่ดน็š„้™ๆ€็ฝ‘็ซ™ๆ‰˜็ฎกๆœๅŠกใ€‚ๅฎƒๅ…่ฎธ็”จๆˆท็›ดๆŽฅไปŽ GitHub ไป“ๅบ“๏ผˆRepository๏ผ‰่Žทๅ– HTMLใ€CSS ๅ’Œ JavaScript ๆ–‡ไปถ๏ผŒๆ— ้œ€้ขๅค–้…็ฝฎๆœๅŠกๅ™จๅณๅฏๅฟซ้€Ÿ้ƒจ็ฝฒไธชไบบไธป้กตใ€้กน็›ฎๆ–‡ๆกฃๆˆ–ๅšๅฎขใ€‚"),a("span",{class:"VPBadge tip badge"},"็บฏ้™ๆ€ๆ‰˜็ฎก")])])],-1),a("h2",{id:"_9-ๅญฆไน ่ต„ๆบไธŽ็คพๅŒบ-learning-community",tabindex:"-1"},[s("9. ๅญฆไน ่ต„ๆบไธŽ็คพๅŒบ (Learning & Community) "),a("a",{class:"header-anchor",href:"#_9-ๅญฆไน ่ต„ๆบไธŽ็คพๅŒบ-learning-community","aria-label":"Permalink to โ€œ9. ๅญฆไน ่ต„ๆบไธŽ็คพๅŒบ (Learning & Community)โ€"},"โ€‹")],-1),a("div",{class:"container nav-card-container"},[a("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[a("a",{href:"https://javascriptweekly.com/issues",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("span",{class:"name"},"JavaScript Weekly")]),a("p",{class:"desc"},"ๆฏๅ‘จๅˆ†ไบซๆœ€ๆ–ฐ็š„ JavaScript ็›ธๅ…ณๆŠ€ๆœฏๆ–‡็ซ ใ€ๅบ“ใ€ๅทฅๅ…ทๅ’Œ่ถ‹ๅŠฟ"),a("span",{class:"VPBadge tip badge"},"ๆŠ€ๆœฏๅ‘จๅˆŠ")]),a("a",{href:"https://nodeweekly.com/issues",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("span",{class:"name"},"Node Weekly")]),a("p",{class:"desc"},"ๆฏๅ‘จๅˆ†ไบซๆœ€ๆ–ฐ็š„ Node.js ็›ธๅ…ณๆŠ€ๆœฏๆ–‡็ซ ใ€ๅบ“ใ€ๅทฅๅ…ทๅ’Œ่ถ‹ๅŠฟใ€‚"),a("span",{class:"VPBadge tip badge"},"ๆŠ€ๆœฏๅ‘จๅˆŠ")]),a("a",{href:"https://www.ruanyifeng.com/blog/weekly/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("span",{class:"name"},"้˜ฎไธ€ๅณฐ็ฝ‘็ปœๆ—ฅๅฟ—")]),a("p",{class:"desc"},"้˜ฎไธ€ๅณฐ็š„็ฝ‘็ปœๆ—ฅๅฟ—๏ผŒๆฏๅ‘จไบ”ๅ‘ๅธƒ๏ผŒๅˆ†ไบซๆœ€ๆ–ฐ็š„ๅ‰็ซฏๆŠ€ๆœฏๆ–‡็ซ ใ€ๅบ“ใ€ๅทฅๅ…ทๅ’Œ่ถ‹ๅŠฟ็ญ‰ใ€‚"),a("span",{class:"VPBadge tip badge"},"ๆŠ€ๆœฏๅ‘จๅˆŠ")]),a("a",{href:"https://fed.chanceyu.com/?q=%5B%E6%9D%A5%E6%BA%90%5D%20%E5%89%8D%E7%AB%AF%E6%97%A9%E8%AF%BB%E8%AF%BE",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://res.wx.qq.com/a/wx_fed/assets/res/OTE0YTAw.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"ๅ‰็ซฏๆ—ฉ่ฏป่ฏพ")]),a("p",{class:"desc"},"ๅ‰็ซฏ้ข†ๅŸŸไธ“ไธš็š„ๅพฎไฟกๅ…ฌไผ—ๅท๏ผŒๅ‘ๅธƒไธ€ไบ›ไธŽๅ‰็ซฏ็›ธๅ…ณ็š„ๆทฑๅบฆๆŠ€ๆœฏๆ–‡็ซ ใ€ๅบ“ใ€ๅทฅๅ…ทๅ’Œ่ถ‹ๅŠฟ็ญ‰ใ€‚"),a("span",{class:"VPBadge tip badge"},"ไธ“ไธšๅ…ฌไผ—ๅท")]),a("a",{href:"https://fed.chanceyu.com/?q=%5B%E6%9D%A5%E6%BA%90%5D%20%E5%89%8D%E7%AB%AF%E4%B9%8B%E5%B7%85",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://res.wx.qq.com/a/wx_fed/assets/res/OTE0YTAw.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"ๅ‰็ซฏไน‹ๅท…")]),a("p",{class:"desc"},"ๅ‰็ซฏ้ข†ๅŸŸไธ“ไธš็š„ๅพฎไฟกๅ…ฌไผ—ๅท๏ผŒๅ‘ๅธƒไธ€ไบ›ไธŽๅ‰็ซฏ็›ธๅ…ณ็š„ๆทฑๅบฆๆŠ€ๆœฏๆ–‡็ซ ใ€ๅบ“ใ€ๅทฅๅ…ทๅ’Œ่ถ‹ๅŠฟ็ญ‰ใ€‚"),a("span",{class:"VPBadge tip badge"},"ไธ“ไธšๅ…ฌไผ—ๅท")]),a("a",{href:"https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzIxMzExMjYwOQ==&action=getalbum&album_id=1369610438157369345#wechat_redirect",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://res.wx.qq.com/a/wx_fed/assets/res/OTE0YTAw.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"ๅ‡นๅ‡ธๅฎž้ชŒๅฎค")]),a("p",{class:"desc"},"่’ฒๅ…ฌ่‹ฑยทJELLYๆŠ€ๆœฏๅ‘จๅˆŠ๏ผŒ็”ฑไบฌไธœยทๅ‡นๅ‡ธๅฎž้ชŒๅฎค็ปดๆŠคๆ•ด็†็š„ๆŠ€ๆœฏๅ‘จๅˆŠ๏ผŒไปŽๅ›ข้˜Ÿไธ“ๆณจ็š„็ ”็ฉถๆŠ€ๆœฏๆ–นๅ‘ๅ‡บๅ‘๏ผŒๆทฑๅ…ฅๆŒ–ๆŽ˜ไธš็•Œ็ƒญ็‚น๏ผŒ่š็„ฆๆŠ€ๆœฏๅŠจๆ€ใ€‚ๆŠ€ๆœฏๅ‘จๅˆŠๅ†…ๅฎนๅˆ†็ฑปไธป่ฆๅŒ…ๆ‹ฌๅฆ‚ไธ‹๏ผšๅŸบ็ก€ๆŠ€ๆœฏใ€ๅทฅ็จ‹ๅŒ–ใ€่ทจ็ซฏๆก†ๆžถๆŠ€ๆœฏใ€ๅ›พๅฝข็ผ–็จ‹ใ€ๆœๅŠก็ซฏๅผ€ๅ‘ใ€ๆกŒ้ขๅผ€ๅ‘ใ€ไบบๅทฅๆ™บ่ƒฝ็ญ‰ใ€‚"),a("span",{class:"VPBadge tip badge"},"ๆŠ€ๆœฏๅ‘จๅˆŠ")]),a("a",{href:"https://fed.chanceyu.com/?q=%5B%E6%9D%A5%E6%BA%90%5D%20%E5%89%8D%E7%AB%AF%E5%A4%A7%E5%85%A8",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://res.wx.qq.com/a/wx_fed/assets/res/OTE0YTAw.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"ๅ‰็ซฏๅคงๅ…จ")]),a("p",{class:"desc"},"ๅ‰็ซฏๅคงๅ…จ๏ผŒๅˆ†ไบซๆœ€ๆ–ฐ็š„ๅ‰็ซฏๆŠ€ๆœฏๆ–‡็ซ ใ€ๅบ“ใ€ๅทฅๅ…ทๅ’Œ่ถ‹ๅŠฟ"),a("span",{class:"VPBadge tip badge"},"ไธ“ไธšๅ…ฌไผ—ๅท")]),a("a",{href:"https://fed.chanceyu.com/?q=%5B%E6%9D%A5%E6%BA%90%5D%20%E5%89%8D%E7%AB%AF%E4%B9%8B%E7%A5%9E",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://res.wx.qq.com/a/wx_fed/assets/res/OTE0YTAw.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"ๅ‰็ซฏไน‹็ฅž")]),a("p",{class:"desc"},"ๅ‰็ซฏไน‹็ฅž๏ผŒๅˆ†ไบซๆœ€ๆ–ฐ็š„ๅ‰็ซฏๆŠ€ๆœฏๆ–‡็ซ ใ€ๅบ“ใ€ๅทฅๅ…ทๅ’Œ่ถ‹ๅŠฟ"),a("span",{class:"VPBadge tip badge"},"ไธ“ไธšๅ…ฌไผ—ๅท")]),a("a",{href:"https://fed.chanceyu.com/?q=%5B%E6%9D%A5%E6%BA%90%5D%20%E7%A8%8B%E5%BA%8F%E5%91%98%E6%88%90%E9%95%BF%E6%8C%87%E5%8C%97",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://res.wx.qq.com/a/wx_fed/assets/res/OTE0YTAw.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"็จ‹ๅบๅ‘˜ๆˆ้•ฟๆŒ‡ๅŒ—")]),a("p",{class:"desc"},"ๅ‰็ซฏ้ข†ๅŸŸไธ“ไธš็š„ๅพฎไฟกๅ…ฌไผ—ๅท๏ผŒๅ‘ๅธƒไธ€ไบ›ไธŽๅ‰็ซฏ็›ธๅ…ณ็š„ๆทฑๅบฆๆŠ€ๆœฏๆ–‡็ซ ใ€ๅบ“ใ€ๅทฅๅ…ทๅ’Œ่ถ‹ๅŠฟ็ญ‰ใ€‚"),a("span",{class:"VPBadge tip badge"},"ไธ“ไธšๅ…ฌไผ—ๅท")]),a("a",{href:"https://fed.chanceyu.com/?q=%5B%E6%9D%A5%E6%BA%90%5D%20%E5%AD%97%E8%8A%82%E5%89%8D%E7%AB%AF-ByteFE",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://res.wx.qq.com/a/wx_fed/assets/res/OTE0YTAw.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"ByteFE")]),a("p",{class:"desc"},"ๅญ—่Š‚่ทณๅŠจๅ‰็ซฏๅ›ข้˜Ÿ็ปดๆŠค็š„ไธ“ไธšๅพฎไฟกๅ…ฌไผ—ๅท๏ผŒๅˆ†ไบซๆŠ€ๆœฏๅ‰ๆฒฟใ€ๆ–‡็ซ ๅˆ†ไบซใ€ๅฎž่ทตๅนฒ่ดง็ญ‰ใ€‚"),a("span",{class:"VPBadge tip badge"},"ไธ“ไธšๅ…ฌไผ—ๅท")]),a("a",{href:"https://fed.chanceyu.com/?q=%5B%E6%9D%A5%E6%BA%90%5D%20%E5%89%8D%E7%AB%AF%E4%BB%8E%E8%BF%9B%E9%98%B6%E5%88%B0%E5%85%A5%E9%99%A2",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://res.wx.qq.com/a/wx_fed/assets/res/OTE0YTAw.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"ๅ‰็ซฏไปŽ่ฟ›้˜ถๅˆฐๅ…ฅ้™ข")]),a("p",{class:"desc"},"ๅ‰็ซฏไปŽ่ฟ›้˜ถๅˆฐๅ…ฅ้™ข๏ผŒๅˆ†ไบซๆœ€ๆ–ฐ็š„ๅ‰็ซฏๆŠ€ๆœฏๆ–‡็ซ ใ€ๅบ“ใ€ๅทฅๅ…ทๅ’Œ่ถ‹ๅŠฟ"),a("span",{class:"VPBadge tip badge"},"ไธ“ไธšๅ…ฌไผ—ๅท")]),a("a",{href:"https://www.zhangxinxu.com/wordpress/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("span",{class:"name"},"ๅผ ้‘ซๆ—ญ-้‘ซ็ฉบ้—ด-้‘ซ็”Ÿๆดป")]),a("p",{class:"desc"},"ๅผ ้‘ซๆ—ญ็š„ไธชไบบๅšๅฎข๏ผŒๅˆ†ไบซๆœ€ๆ–ฐ็š„ๅ‰็ซฏๆŠ€ๆœฏๆ–‡็ซ ใ€ๅบ“ใ€ๅทฅๅ…ทๅ’Œ่ถ‹ๅŠฟ็ญ‰ใ€‚"),a("span",{class:"VPBadge tip badge"},"็ฝ‘็ปœๅšๅฎข")]),a("a",{href:"https://fed.chanceyu.com/?q=%5B%E6%9D%A5%E6%BA%90%5D%20%E6%B7%98%E7%B3%BB%E5%89%8D%E7%AB%AF%E5%9B%A2%E9%98%9F",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://res.wx.qq.com/a/wx_fed/assets/res/OTE0YTAw.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"ๆท˜็ณปๅ‰็ซฏๅ›ข้˜Ÿ")]),a("p",{class:"desc"},"ๆท˜ๅฎๅ‰็ซฏๅ›ข้˜Ÿ๏ผŒๅˆ†ไบซๆœ€ๆ–ฐ็š„ๅ‰็ซฏๆŠ€ๆœฏๆ–‡็ซ ใ€ๅบ“ใ€ๅทฅๅ…ทๅ’Œ่ถ‹ๅŠฟ็ญ‰ใ€‚"),a("span",{class:"VPBadge tip badge"},"ไธ“ไธšๅ…ฌไผ—ๅท")])])],-1)])])}const h=d(l,[["render",n]]);export{v as __pageData,h as default}; +import{_ as d,g as i,h as c,U as e,i as a,S as s}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const v=JSON.parse('{"title":"ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡็ณป็ปŸๆขณ็†ไบ†็Žฐไปฃๅ…จๆ ˆๅผ€ๅ‘็š„ๅฎŒๆ•ดๆŠ€ๆœฏๅ›พ่ฐฑไธŽๆผ”่ฟ›่Œƒๅผ๏ผŒไธบๅผ€ๅ‘่€…ๆไพ›ไบ†ไธ€็ซ™ๅผ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—ใ€‚ๆ–‡็ซ ไปŽๅŸบ็Ÿณๅ‡บๅ‘๏ผŒ่ฆ†็›– Web ๆ ธๅฟƒ่ฏญ่จ€๏ผˆJS/TS๏ผ‰ ไธŽ ไธปๆต UI ๆก†ๆžถ๏ผˆReact/Vue/Svelte๏ผ‰๏ผŒๅนถๆŽจ่ไปฅ Tailwind CSS ๅ’Œ shadcn/ui ไธบไปฃ่กจ็š„็Žฐไปฃๆ ทๅผไธŽ็ป„ไปถๅŽŸ่ฏญใ€‚ๅœจๆ ธๅฟƒไธšๅŠก้€ป่พ‘ๅฑ‚๏ผŒๆทฑๅบฆๅฏนๆฏ”ไบ†่ฝป้‡ๅŒ–็Šถๆ€็ฎก็†ๆ–นๆกˆ๏ผˆ้ฆ–ๆŽจ Zustand/Jotai๏ผ‰๏ผŒๅนถ้‡็‚น่งฃๆžไบ†ๆ•ฐๆฎไบคไบ’็š„ไธ‰ๅคง็Žฐไปฃๆžถๆž„่Œƒๅผ๏ผšไปŽๅŸบ็ก€ Axios ๅˆฐ React Query ็Šถๆ€่ฐƒๅบฆ๏ผŒๅ†ๅˆฐ tRPC ๅ’Œ GraphQL ๅธฆๆฅ็š„ๅ…จๆ ˆ็ฑปๅž‹ๅฎ‰ๅ…จไธŽๅคš็ซฏ่šๅˆใ€‚ๅœจๅทฅ็จ‹ๅŒ–ไธŽๆœๅŠก็ซฏๆจกๅ—๏ผŒๆ–‡็ซ ๅ…จ้ขๆ‹ฅๆŠฑ Viteใ€Rsbuild ็ญ‰ๆž้€Ÿๆž„ๅปบๅทฅๅ…ท๏ผŒๅนถๅ‰–ๆžไบ† Next.js/Nuxt ๅŒๆž„ๅ…ƒๆก†ๆžถไธŽ NestJS ไผไธš็บง Node ๆœๅŠก็š„ๆœ€ไฝณ้€‚็”จๅœบๆ™ฏใ€‚ๆœ€ๅŽ๏ผŒ่พ…ไปฅ Vercel ็ญ‰็Žฐไปฃ่พน็ผ˜้ƒจ็ฝฒๅนณๅฐๅŠไธฐๅฏŒ็š„ๅผ€ๆบ็คพๅŒบๅญฆไน ่ต„ๆบใ€‚","frontmatter":{"date":"2026-02-06T15:58:53.000Z","title":"ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡็ณป็ปŸๆขณ็†ไบ†็Žฐไปฃๅ…จๆ ˆๅผ€ๅ‘็š„ๅฎŒๆ•ดๆŠ€ๆœฏๅ›พ่ฐฑไธŽๆผ”่ฟ›่Œƒๅผ๏ผŒไธบๅผ€ๅ‘่€…ๆไพ›ไบ†ไธ€็ซ™ๅผ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—ใ€‚ๆ–‡็ซ ไปŽๅŸบ็Ÿณๅ‡บๅ‘๏ผŒ่ฆ†็›– Web ๆ ธๅฟƒ่ฏญ่จ€๏ผˆJS/TS๏ผ‰ ไธŽ ไธปๆต UI ๆก†ๆžถ๏ผˆReact/Vue/Svelte๏ผ‰๏ผŒๅนถๆŽจ่ไปฅ Tailwind CSS ๅ’Œ shadcn/ui ไธบไปฃ่กจ็š„็Žฐไปฃๆ ทๅผไธŽ็ป„ไปถๅŽŸ่ฏญใ€‚ๅœจๆ ธๅฟƒไธšๅŠก้€ป่พ‘ๅฑ‚๏ผŒๆทฑๅบฆๅฏนๆฏ”ไบ†่ฝป้‡ๅŒ–็Šถๆ€็ฎก็†ๆ–นๆกˆ๏ผˆ้ฆ–ๆŽจ Zustand/Jotai๏ผ‰๏ผŒๅนถ้‡็‚น่งฃๆžไบ†ๆ•ฐๆฎไบคไบ’็š„ไธ‰ๅคง็Žฐไปฃๆžถๆž„่Œƒๅผ๏ผšไปŽๅŸบ็ก€ Axios ๅˆฐ React Query ็Šถๆ€่ฐƒๅบฆ๏ผŒๅ†ๅˆฐ tRPC ๅ’Œ GraphQL ๅธฆๆฅ็š„ๅ…จๆ ˆ็ฑปๅž‹ๅฎ‰ๅ…จไธŽๅคš็ซฏ่šๅˆใ€‚ๅœจๅทฅ็จ‹ๅŒ–ไธŽๆœๅŠก็ซฏๆจกๅ—๏ผŒๆ–‡็ซ ๅ…จ้ขๆ‹ฅๆŠฑ Viteใ€Rsbuild ็ญ‰ๆž้€Ÿๆž„ๅปบๅทฅๅ…ท๏ผŒๅนถๅ‰–ๆžไบ† Next.js/Nuxt ๅŒๆž„ๅ…ƒๆก†ๆžถไธŽ NestJS ไผไธš็บง Node ๆœๅŠก็š„ๆœ€ไฝณ้€‚็”จๅœบๆ™ฏใ€‚ๆœ€ๅŽ๏ผŒ่พ…ไปฅ Vercel ็ญ‰็Žฐไปฃ่พน็ผ˜้ƒจ็ฝฒๅนณๅฐๅŠไธฐๅฏŒ็š„ๅผ€ๆบ็คพๅŒบๅญฆไน ่ต„ๆบใ€‚","permalink":"/growth/full-stack-resources","categories":["่ต„ๆบๆŽจ่"],"tags":["่ต„ๆบๆŽจ่","ๅ…จๆ ˆ"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/90.ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่/90.ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่.md","filePath":"01.ๅ…จๆ ˆ/90.ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่/90.ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่.md"}'),l={name:"01.ๅ…จๆ ˆ/90.ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่/90.ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่.md"};function n(o,t,r,p,_,m){return c(),i("div",null,[...t[0]||(t[0]=[e('

ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่ โ€‹

ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡็ณป็ปŸๆขณ็†ไบ†็Žฐไปฃๅ…จๆ ˆๅผ€ๅ‘็š„ๅฎŒๆ•ดๆŠ€ๆœฏๅ›พ่ฐฑไธŽๆผ”่ฟ›่Œƒๅผ๏ผŒไธไป…ๆ˜ฏไธ€ไปฝๅ…จๆ ˆๅทฅๅ…ทๆฃ€็ดข็›ฎๅฝ•๏ผŒๆ›ดๆ˜ฏไธ€ไปฝๆŒ‡ๅฏผๅผ€ๅ‘่€…ไปŽๅ…จๅฑ€่ง†่ง’ๆž„ๅปบ้ซ˜ๆ€ง่ƒฝใ€็ฑปๅž‹ๅฎ‰ๅ…จใ€ไธ”ๆžๅ…ทๅทฅ็จ‹ๅŒ–ๆ€็ปด็š„็Žฐไปฃ Web ๅบ”็”จ็š„ๆœ€ไฝณๅฎž่ทตๆŒ‡ๅ—ใ€‚

  • ๆ–‡็ซ ไปŽๅŸบ็Ÿณๅ‡บๅ‘๏ผŒ่ฆ†็›– Web ๆ ธๅฟƒ่ฏญ่จ€๏ผˆJS/TS๏ผ‰ ไธŽ ไธปๆต UI ๆก†ๆžถ๏ผˆReact/Vue/Svelte๏ผ‰๏ผŒๅนถๆŽจ่ไปฅ Tailwind CSS ๅ’Œ shadcn/ui ไธบไปฃ่กจ็š„็Žฐไปฃๆ ทๅผไธŽ็ป„ไปถๅŽŸ่ฏญใ€‚
  • ๅœจๆ ธๅฟƒไธšๅŠก้€ป่พ‘ๅฑ‚๏ผŒๆทฑๅบฆๅฏนๆฏ”ไบ†่ฝป้‡ๅŒ–็Šถๆ€็ฎก็†ๆ–นๆกˆ๏ผˆ้ฆ–ๆŽจ Zustand/Jotai๏ผ‰๏ผŒๅนถ้‡็‚น่งฃๆžไบ†ๆ•ฐๆฎไบคไบ’็š„ไธ‰ๅคง็Žฐไปฃๆžถๆž„่Œƒๅผ๏ผšไปŽๅŸบ็ก€ Axios ๅˆฐ React Query ็Šถๆ€่ฐƒๅบฆ๏ผŒๅ†ๅˆฐ tRPC ๅ’Œ GraphQL ๅธฆๆฅ็š„ๅ…จๆ ˆ็ฑปๅž‹ๅฎ‰ๅ…จไธŽๅคš็ซฏ่šๅˆใ€‚
  • ๅœจๅทฅ็จ‹ๅŒ–ไธŽๆœๅŠก็ซฏๆจกๅ—๏ผŒๆ–‡็ซ ๅ…จ้ขๆ‹ฅๆŠฑ Viteใ€Rsbuild ็ญ‰ๆž้€Ÿๆž„ๅปบๅทฅๅ…ท๏ผŒๅนถๅ‰–ๆžไบ† Next.js/Nuxt ๅŒๆž„ๅ…ƒๆก†ๆžถไธŽ NestJS ไผไธš็บง Node ๆœๅŠก็š„ๆœ€ไฝณ้€‚็”จๅœบๆ™ฏใ€‚ๆœ€ๅŽ๏ผŒ่พ…ไปฅ Vercel ็ญ‰็Žฐไปฃ่พน็ผ˜้ƒจ็ฝฒๅนณๅฐๅŠไธฐๅฏŒ็š„ๅผ€ๆบ็คพๅŒบๅญฆไน ่ต„ๆบใ€‚

1. ๅŸบๆœฌ่ฏญ่จ€ไธŽ็Žฏๅขƒ โ€‹

',4),a("div",{class:"container nav-card-container"},[a("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[a("a",{href:"https://developer.mozilla.org/zh-CN/docs/Web/HTML",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://upload.wikimedia.org/wikipedia/commons/thumb/6/61/HTML5_logo_and_wordmark.svg/1200px-HTML5_logo_and_wordmark.svg.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"HTML")]),a("p",{class:"desc"},"HTML (HyperText Markup Language) ๆ˜ฏ็”จไบŽๅˆ›ๅปบ็ฝ‘้กต็š„ๆ ‡ๅ‡†ๆ ‡่ฎฐ่ฏญ่จ€๏ผŒ็”จไบŽๆ่ฟฐ็ฝ‘้กต็š„็ป“ๆž„ๅ’Œๅ†…ๅฎนใ€‚ๅฎƒไฝฟ็”จๆ ‡็ญพๆฅๅฎšไน‰ๆ–‡ๆกฃ็š„ไธๅŒ้ƒจๅˆ†๏ผŒๅฆ‚ๆ ‡้ข˜ใ€ๆฎต่ฝใ€ๅ›พๅƒใ€้“พๆŽฅ็ญ‰ใ€‚HTML ๆ˜ฏๆž„ๅปบ Web ้กต้ข็š„ๅŸบ็ก€๏ผŒไนŸๆ˜ฏๆ‰€ๆœ‰ๅ‰็ซฏๅผ€ๅ‘็š„่ตท็‚นใ€‚"),a("span",{class:"VPBadge tip badge"},"ๆ ‡่ฎฐ่ฏญ่จ€")]),a("a",{href:"https://developer.mozilla.org/zh-CN/docs/Web/CSS",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://upload.wikimedia.org/wikipedia/commons/thumb/d/d5/CSS3_logo_and_wordmark.svg/1200px-CSS3_logo_and_wordmark.svg.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"CSS")]),a("p",{class:"desc"},"CSS (Cascading Style Sheets) ๆ˜ฏ็”จไบŽๆ่ฟฐ็ฝ‘้กตๆ ทๅผๅ’Œๅธƒๅฑ€็š„ๆ ทๅผ่กจ่ฏญ่จ€ใ€‚ๅฎƒๅฎšไน‰ไบ†ๆ–‡ๆกฃ็š„ๅค–่ง‚๏ผŒๅŒ…ๆ‹ฌๅญ—ไฝ“ใ€้ขœ่‰ฒใ€้—ด่ทใ€ๅธƒๅฑ€็ญ‰ใ€‚CSS ไธŽ HTML ็ป“ๅˆไฝฟ็”จ๏ผŒๅฎž็Žฐไบ†็ฝ‘้กต็š„็ป“ๆž„ไธŽๆ ทๅผ็š„ๅˆ†็ฆป๏ผŒไฝฟๅพ—็ฝ‘้กต่ฎพ่ฎกๆ›ดๅŠ ็ตๆดปๅ’Œๅฏ็ปดๆŠคใ€‚"),a("span",{class:"VPBadge tip badge"},"ๆ ทๅผ่กจ")]),a("a",{href:"https://developer.mozilla.org/zh-CN/docs/Web/JavaScript",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://upload.wikimedia.org/wikipedia/commons/thumb/6/6a/JavaScript-logo.png/1200px-JavaScript-logo.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"JavaScript")]),a("p",{class:"desc"},"JavaScript ๆ˜ฏไธ€็งๅŠจๆ€ใ€ๅผฑ็ฑปๅž‹็š„่„šๆœฌ่ฏญ่จ€๏ผŒ็”จไบŽๅœจ Web ๆต่งˆๅ™จไธญๅฎž็Žฐไบคไบ’ๆ€งๅ’ŒๅŠจๆ€ๅ†…ๅฎนใ€‚ๅฎƒๆ˜ฏ Web ๅผ€ๅ‘็š„ๅŸบ็ก€๏ผŒไนŸๆ˜ฏๅ‰็ซฏๅผ€ๅ‘็š„ๆ ธๅฟƒ่ฏญ่จ€ใ€‚"),a("span",{class:"VPBadge tip badge"},"่„šๆœฌ่ฏญ่จ€")]),a("a",{href:"https://www.typescriptlang.org/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://upload.wikimedia.org/wikipedia/commons/thumb/4/4c/Typescript_logo_2020.svg/1200px-Typescript_logo_2020.svg.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"TypeScript")]),a("p",{class:"desc"},"TypeScript ๆ˜ฏ JavaScript ็š„ไธ€ไธช่ถ…้›†๏ผŒๆทปๅŠ ไบ†้™ๆ€็ฑปๅž‹ๆฃ€ๆŸฅๅ’Œๅ…ถไป–้ซ˜็บงๅŠŸ่ƒฝ๏ผŒไฝฟๅพ—ไปฃ็ ๆ›ดๅŠ ๅฏ้ ๅ’Œๅฏ็ปดๆŠคใ€‚ๅฎƒๅœจๅ‰็ซฏๅผ€ๅ‘ไธญๅพ—ๅˆฐๅนฟๆณ›ๅบ”็”จ๏ผŒๅฐคๅ…ถๅœจ React ้กน็›ฎไธญใ€‚"),a("span",{class:"VPBadge tip badge"},"้™ๆ€็ฑปๅž‹")]),a("a",{href:"https://webkit.org/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://webkit.org/wp-content/themes/webkit/images/webkit.svg",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"webkit")]),a("p",{class:"desc"},"WebKit ๆ˜ฏไธ€ไธชๅผ€ๆบ็š„ๆต่งˆๅ™จๅผ•ๆ“Ž๏ผŒ็”จไบŽๆธฒๆŸ“็ฝ‘้กตๅ†…ๅฎนใ€‚ๅฎƒๆ˜ฏ Safari ๆต่งˆๅ™จ็š„ๅผ•ๆ“Ž๏ผŒไนŸๆ˜ฏ Chrome ๆต่งˆๅ™จ็š„ไธ€้ƒจๅˆ†ใ€‚WebKit ๆไพ›ไบ†้ซ˜ๆ€ง่ƒฝ็š„็ฝ‘้กตๆธฒๆŸ“ๅ’Œไบคไบ’ๅŠŸ่ƒฝ๏ผŒๆ˜ฏๆž„ๅปบ็Žฐไปฃ Web ๅบ”็”จ็š„ๅŸบ็ก€ใ€‚"),a("span",{class:"VPBadge tip badge"},"ๆต่งˆๅ™จๅผ•ๆ“Ž")]),a("a",{href:"https://nodejs.org/zh-cn/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://upload.wikimedia.org/wikipedia/commons/thumb/d/d9/Node.js_logo.svg/1200px-Node.js_logo.svg.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Node.js")]),a("p",{class:"desc"},"Node.js ๆ˜ฏไธ€ไธชๅŸบไบŽ Chrome V8 ๅผ•ๆ“Ž็š„ JavaScript ่ฟ่กŒๆ—ถ็Žฏๅขƒ๏ผŒ็”จไบŽๅœจๆœๅŠกๅ™จ็ซฏๆ‰ง่กŒ JavaScript ไปฃ็ ใ€‚ๅฎƒๅ…่ฎธๅผ€ๅ‘่€…ไฝฟ็”จ JavaScript ๆž„ๅปบ้ซ˜ๆ€ง่ƒฝ็š„็ฝ‘็ปœๅบ”็”จ็จ‹ๅบ๏ผŒๅฆ‚ๆœๅŠกๅ™จ็ซฏๆธฒๆŸ“ใ€ๅฎžๆ—ถๅบ”็”จ็จ‹ๅบๅ’Œ API ๆœๅŠกใ€‚"),a("span",{class:"VPBadge tip badge"},"ๆœๅŠกๅ™จ็ซฏ")])])],-1),a("h2",{id:"_2-ๆ ธๅฟƒ-ui-ๆก†ๆžถ",tabindex:"-1"},[s("2. ๆ ธๅฟƒ UI ๆก†ๆžถ "),a("a",{class:"header-anchor",href:"#_2-ๆ ธๅฟƒ-ui-ๆก†ๆžถ","aria-label":"Permalink to โ€œ2. ๆ ธๅฟƒ UI ๆก†ๆžถโ€"},"โ€‹")],-1),a("div",{class:"container nav-card-container"},[a("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[a("a",{href:"https://react.dev/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://upload.wikimedia.org/wikipedia/commons/thumb/a/a7/React-icon.svg/1200px-React-icon.svg.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"React")]),a("p",{class:"desc"},"React ๆ˜ฏ Facebook ๅผ€ๅ‘็š„็”จไบŽๆž„ๅปบ็”จๆˆท็•Œ้ข็š„ๅฃฐๆ˜Žๅผ JavaScript ๅบ“๏ผŒ้‡‡็”จ็ป„ไปถๅŒ–ๆžถๆž„๏ผŒๆ”ฏๆŒๆœๅŠกๅ™จ็ซฏๆธฒๆŸ“ๅ’Œๅฎขๆˆท็ซฏไบคไบ’ใ€‚ๅฎƒๅ…่ฎธๅผ€ๅ‘่€…่ฎพ่ฎก็ฎ€ๅ•็š„่ง†ๅ›พ๏ผŒๅนถๆ นๆฎๆ•ฐๆฎๅ˜ๅŒ–้ซ˜ๆ•ˆๆ›ดๆ–ฐๆธฒๆŸ“็ป„ไปถใ€‚"),a("span",{class:"VPBadge tip badge"},"ๅฃฐๆ˜Žๅผ")]),a("a",{href:"https://vuejs.org/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://upload.wikimedia.org/wikipedia/commons/thumb/9/95/Vue.js_Logo_2.svg/1200px-Vue.js_Logo_2.svg.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Vue")]),a("p",{class:"desc"},"Vue.js ๆ˜ฏไธ€ๅฅ—็”จไบŽๆž„ๅปบ็”จๆˆท็•Œ้ข็š„ๆธ่ฟ›ๅผๆก†ๆžถ๏ผŒ้‡‡็”จ็ป„ไปถๅŒ–ๆžถๆž„๏ผŒๆ”ฏๆŒๆœๅŠกๅ™จ็ซฏๆธฒๆŸ“ๅ’Œๅฎขๆˆท็ซฏไบคไบ’ใ€‚ๅผบ่ฐƒๆ˜“็”จๆ€งๅ’Œ้ซ˜ๆ€ง่ƒฝใ€‚ๅ…ถ็”Ÿๆ€ๅŒ…ๅซๅฎ˜ๆ–น่ทฏ็”ฑ (Vue Router) ๅ’Œ็Šถๆ€็ฎก็†ๅบ“ (Pinia)ใ€‚"),a("span",{class:"VPBadge tip badge"},"ๆธ่ฟ›ๅผ")]),a("a",{href:"https://svelte.dev/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://upload.wikimedia.org/wikipedia/commons/thumb/1/1b/Svelte_Logo.svg/1200px-Svelte_Logo.svg.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Svelte")]),a("p",{class:"desc"},"Svelte ๆ˜ฏไธ€็งๅ…จๆ–ฐ็š„ๆž„ๅปบ Web ๅบ”็”จ็š„ๆ–นๅผ๏ผŒไฝœไธบ็ผ–่ฏ‘ๅ™จๅฐ†ๅฃฐๆ˜Žๅผ็ป„ไปถ่ฝฌๆขไธบ้ซ˜ๆ•ˆไธ”่ƒฝ็›ดๆŽฅๆ“ไฝœ DOM ็š„ JavaScript ไปฃ็ ๏ผŒ่ฟ่กŒๆ—ถๅผ€้”€ๆžๅฐใ€‚ๅฎƒๅผบ่ฐƒ็ป„ไปถๅŒ–ๅผ€ๅ‘๏ผŒๅผ€ๅ‘่€…ๅฏไปฅ็›ดๆŽฅๅœจ HTML ไธญ็ผ–ๅ†™็ป„ไปถ้€ป่พ‘๏ผŒๆ— ้œ€้ขๅค–็š„่ฟ่กŒๆ—ถๆ”ฏๆŒใ€‚"),a("span",{class:"VPBadge tip badge"},"็ผ–่ฏ‘ๆ—ถ")])])],-1),a("h2",{id:"_3-ๆ ทๅผไธŽ-ui-็ป„ไปถๅบ“-styling-component-libraries",tabindex:"-1"},[s("3. ๆ ทๅผไธŽ UI ็ป„ไปถๅบ“ (Styling & Component Libraries) "),a("a",{class:"header-anchor",href:"#_3-ๆ ทๅผไธŽ-ui-็ป„ไปถๅบ“-styling-component-libraries","aria-label":"Permalink to โ€œ3. ๆ ทๅผไธŽ UI ็ป„ไปถๅบ“ (Styling & Component Libraries)โ€"},"โ€‹")],-1),a("div",{class:"container nav-card-container"},[a("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[a("a",{href:"https://tailwindcss.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://upload.wikimedia.org/wikipedia/commons/thumb/d/d5/Tailwind_CSS_Logo.svg/1200px-Tailwind_CSS_Logo.svg.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Tailwind CSS")]),a("p",{class:"desc"},"็Žฐไปฃๅ‰็ซฏ้ฆ–้€‰็š„ๅฎž็”จไผ˜ๅ…ˆ (Utility-first) CSS ๆก†ๆžถ๏ผŒ้€š่ฟ‡็ฑปๅ็ป„ๅˆๅฎž็Žฐๆ ทๅผ๏ผŒๆ— ้œ€็ผ–ๅ†™่‡ชๅฎšไน‰ CSSใ€‚"),a("span",{class:"VPBadge tip badge"},"ๅฎž็”จไผ˜ๅ…ˆ")]),a("a",{href:"https://daisyui.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://img.daisyui.com/images/daisyui/mark.svg",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Daisy UI")]),a("p",{class:"desc"},"ๆ˜ฏไธ€ไธชๅŸบไบŽ Tailwind CSS ็š„็ƒญ้—จๅผ€ๆบUI็ป„ไปถๅบ“๏ผŒ้€š่ฟ‡ๆทปๅŠ ่ฏญไน‰ๅŒ–็ฑปๅ๏ผˆๅฆ‚ btn, card๏ผ‰ๆฅ่งฃๅ†ณ Tailwind ๅ†—้•ฟ็š„ไปฃ็ ้—ฎ้ข˜๏ผŒ่ƒฝๅธฎๅผ€ๅ‘่€…็”จๆ›ดๅฐ‘็š„ไปฃ็ ใ€ๆ›ดๅฟซๅœฐๆž„ๅปบๅ‡บๅนฒๅ‡€ใ€็พŽ่ง‚ใ€ๅ“ๅบ”ๅผไธ”ๆ”ฏๆŒไธป้ข˜่‡ชๅฎšไน‰็š„ Web ็•Œ้ขใ€‚"),a("span",{class:"VPBadge tip badge"},"tailwind ๆ’ไปถ")]),a("a",{href:"https://ui.shadcn.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://ui.shadcn.com/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"shadcn/ui")]),a("p",{class:"desc"},"shadcn/ui ไธๆ˜ฏไธ€ไธชไผ ็ปŸ็š„็ป„ไปถๅบ“๏ผŒ่€Œๆ˜ฏไธ€็งๆž„ๅปบไฝ ่‡ชๅทฑ็š„็ป„ไปถๅบ“็š„ๆ–นๆณ•ใ€‚ๅฎƒๆไพ›ไบ†ไธ€ๅฅ—็ฒพๅฟƒ่ฎพ่ฎกใ€ๅฏ่ฎฟ้—ฎ็š„็ป„ไปถๅ’Œไปฃ็ ๅˆ†ๅ‘ๅนณๅฐ๏ผŒๅ…ผๅฎนไฝ ๅ–œๆฌข็š„ๆก†ๆžถๅ’Œ AI ๆจกๅž‹ใ€‚"),a("span",{class:"VPBadge tip badge"},"็ป„ไปถๅŽŸ่ฏญ")]),a("a",{href:"https://ant.design/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://gw.alipayobjects.com/zos/rmsportal/rlpTLlbMzTNYuZGGCVYM.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Ant Design")]),a("p",{class:"desc"},"AIโ€ฏๅ‹ๅฅฝ็š„ใ€Œ่ฎพ่ฎก็ณป็ปŸใ€๏ผŒ่ฎฉ็พŽไธŽๆ™บ่ƒฝๅนถ่ฟ›๏ผŒ่ฎฉๅทฅไฝœๅ……ๆปกใ€Œ็ตๆ„Ÿใ€ไธŽใ€Œๅฟซไนใ€ใ€‚"),a("span",{class:"VPBadge tip badge"},"็ป„ไปถๅบ“")]),a("a",{href:"https://element-plus.org/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://element-plus.org/images/element-plus-logo-small.svg",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"element-plus")]),a("p",{class:"desc"},"Element Plus ๆ˜ฏไธ€ไธชๅŸบไบŽ Vue 3 ่ฎพ่ฎก็š„็ป„ไปถๅบ“๏ผŒๆไพ›ไธฐๅฏŒ็š„็ป„ไปถๅ’Œๆ ทๅผ๏ผŒๅธธ็”จไบŽๆž„ๅปบๅŽๅฐ็ฎก็†็ณป็ปŸใ€‚"),a("span",{class:"VPBadge tip badge"},"็ป„ไปถๅบ“")]),a("a",{href:"https://vuetifyjs.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://vuetifyjs.com/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Vuetify")]),a("p",{class:"desc"},"ไธบ Vue 3 ่ฎพ่ฎก็š„ๆˆ็†Ÿ UI ๅบ“๏ผŒๅธธ็”จไบŽๆž„ๅปบๅŽๅฐ็ฎก็†็ณป็ปŸ๏ผŒๆไพ›ไธฐๅฏŒ็š„็ป„ไปถๅ’Œๆ ทๅผใ€‚"),a("span",{class:"VPBadge tip badge"},"็ป„ไปถๅบ“")])])],-1),a("h2",{id:"_4-่ทฏ็”ฑไธŽ็Šถๆ€็ฎก็†",tabindex:"-1"},[s("4. ่ทฏ็”ฑไธŽ็Šถๆ€็ฎก็† "),a("a",{class:"header-anchor",href:"#_4-่ทฏ็”ฑไธŽ็Šถๆ€็ฎก็†","aria-label":"Permalink to โ€œ4. ่ทฏ็”ฑไธŽ็Šถๆ€็ฎก็†โ€"},"โ€‹")],-1),a("div",{class:"container nav-card-container"},[a("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[a("a",{href:"https://reactrouter.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://reactrouter.com/favicon-dark.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"React Router")]),a("p",{class:"desc"},"React Router ๆ˜ฏ React ๅฎ˜ๆ–น็š„่ทฏ็”ฑ็ฎก็†ๅ™จ๏ผŒ็”จไบŽๆž„ๅปบๅ•้กตๅบ”็”จ (SPA)๏ผŒๆไพ›ๅŠจๆ€่ทฏ็”ฑๅŒน้…ใ€ๅตŒๅฅ—่ทฏ็”ฑใ€่ทฏ็”ฑๅฎˆๅซ็ญ‰ๅŠŸ่ƒฝใ€‚"),a("span",{class:"VPBadge tip badge"},"่ทฏ็”ฑ็ฎก็†ๅ™จ")]),a("a",{href:"https://router.vuejs.org/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://upload.wikimedia.org/wikipedia/commons/thumb/9/95/Vue.js_Logo_2.svg/1200px-Vue.js_Logo_2.svg.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Vue Router")]),a("p",{class:"desc"},"Vue.js ๅฎ˜ๆ–น็š„่ทฏ็”ฑ็ฎก็†ๅ™จ๏ผŒ็”จไบŽๆž„ๅปบๅ•้กตๅบ”็”จ (SPA)๏ผŒๆไพ›ๅŠจๆ€่ทฏ็”ฑๅŒน้…ใ€ๅตŒๅฅ—่ทฏ็”ฑใ€่ทฏ็”ฑๅฎˆๅซ็ญ‰ๅŠŸ่ƒฝใ€‚"),a("span",{class:"VPBadge tip badge"},"่ทฏ็”ฑ็ฎก็†ๅ™จ")]),a("a",{href:"https://github.com/pmndrs/zustand",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://avatars.githubusercontent.com/u/45790596?s=48&v=4",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Zustand")]),a("p",{class:"desc"},"pmndrs ็คพๅŒบๅ‡บๅ“๏ผŒๆ˜ฏ Redux ็š„็ŽฐไปฃๅŒ–ใ€ๆž็ฎ€ไธปไน‰็ฒพ็ฅž็ปงๆ‰ฟ่€…๏ผˆ่‡ชไธŠ่€Œไธ‹็š„ๅ…จๅฑ€ Store๏ผ‰๏ผŒๆไพ›ไบ†ไธ€็ง็ฎ€ๅ•็š„ๆ–นๅผๆฅ็ฎก็†ๅ…จๅฑ€็Šถๆ€ใ€‚"),a("span",{class:"VPBadge tip badge"},"็Šถๆ€็ฎก็†")]),a("a",{href:"https://github.com/pmndrs/jotai",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://avatars.githubusercontent.com/u/45790596?s=48&v=4",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Jotai")]),a("p",{class:"desc"},"pmndrs ็คพๅŒบๅ‡บๅ“๏ผŒๆ˜ฏ Recoil ็š„่ฝป้‡ๅŒ–ใ€้ซ˜ๆ€ง่ƒฝๆ›ฟไปฃ่€…๏ผˆ่‡ชไธ‹่€ŒไธŠ็š„ๅŽŸๅญๅŒ–็Šถๆ€๏ผ‰ใ€‚"),a("span",{class:"VPBadge tip badge"},"็Šถๆ€็ฎก็†")]),a("a",{href:"https://redux.js.org/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://redux.js.org/img/favicon/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Redux")]),a("p",{class:"desc"},"Redux ๆ˜ฏไธ€ไธช้ข„ๆต‹ๆ€ง็š„็Šถๆ€ๅฎนๅ™จ๏ผŒ็”จไบŽ็ฎก็†ๅบ”็”จ็š„ๅ…จๅฑ€็Šถๆ€๏ผŒๆไพ›ไธ€่‡ด็š„็Šถๆ€ๆ›ดๆ–ฐๅ’Œๅฏ้ข„ๆต‹็š„่กŒไธบใ€‚"),a("span",{class:"VPBadge tip badge"},"ไธๅ†ๆŽจ่")]),a("a",{href:"https://pinia.vuejs.org/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://pinia.vuejs.org/logo.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Pinia")]),a("p",{class:"desc"},"Vue.js ๅฎ˜ๆ–นๆŽจ่็š„็Šถๆ€็ฎก็†ๅบ“๏ผŒๅŸบไบŽ Vue 3 Composition API ่ฎพ่ฎก๏ผŒๆไพ›็ฎ€ๅ•ใ€็ตๆดป็š„็Šถๆ€็ฎก็†่งฃๅ†ณๆ–นๆกˆใ€‚"),a("span",{class:"VPBadge tip badge"},"็Šถๆ€็ฎก็†")])])],-1),e('

React ็Šถๆ€็ฎก็†ๅบ“ๆจชๅ‘ๅฏนๆฏ”ๅˆ†ๆž๏ผš

็‰นๆ€ง/ๅบ“Zustand ๅคง้ƒจๅˆ†้กน็›ฎ็š„้ฆ–้€‰Jotai ็ผ–่พ‘ๆฏ”่พƒ้ข‘็น็š„ๅปบ่ฎฎไฝฟ็”จRedux ไธๅ†ๆŽจ่
ๆ ธๅฟƒๆ€ๆƒณ่‡ชไธŠ่€Œไธ‹็š„ๅ…จๅฑ€็Šถๆ€็ฎก็†่‡ชไธ‹่€ŒไธŠ็š„ๅŽŸๅญๅŒ–็Šถๆ€็ฎก็†ๅ•ๅ‘ๆ•ฐๆฎๆตใ€้›†ไธญๅผๅ…จๅฑ€็Šถๆ€
้€‚็”จๅœบๆ™ฏไธญๅคงๅž‹ๅบ”็”จๅ…จๅฑ€็Šถๆ€ใ€ๅๅฅฝ่ฝป้‡ๆ–นๆกˆ็ป„ไปถ้—ด็Šถๆ€ๅ…ฑไบซใ€็ป†็ฒ’ๅบฆๆ›ดๆ–ฐใ€่ดด่ฟ‘Reactๆ€็ปด่ถ…ๅคงๅž‹ๅคๆ‚ๅบ”็”จใ€ๅผบๅฏ้ข„ๆต‹ๆ€ง้œ€ๆฑ‚
ๅญฆไน ๆ›ฒ็บฟๅนณ็ผ“๏ผŒAPI ็ฎ€ๆดๅนณ็ผ“๏ผŒๅŽŸๅญๆฆ‚ๅฟตๅฎนๆ˜“็†่งฃ้™กๅณญ๏ผŒ้œ€็†่งฃไธญ้—ดไปถใ€Redux Toolkit ็ญ‰
ไปฃ็ ้ฃŽๆ ผ็ฎ€ๆด๏ผŒ็ฑปไผผ่ฝป้‡็‰ˆ ReduxๅŽŸๅญๅŒ–๏ผŒๅˆ†ๆ•ฃๅฎšไน‰็Šถๆ€็›ธๅฏนๅ†—้•ฟ๏ผŒ้œ€ๅฎšไน‰ Actionใ€Reducer
ๆ€ง่ƒฝไผ˜ๅŒ–ๆ”ฏๆŒ็ป„ไปถ็ฒพๅ‡†่ฎข้˜…็Šถๆ€ๅคฉ็„ถ็ป†็ฒ’ๅบฆๆ›ดๆ–ฐ๏ผŒ้ฟๅ…ไธๅฟ…่ฆ้‡ๆธฒๆŸ“้œ€้…ๅˆ Reselect ็ญ‰ๅทฅๅ…ทไผ˜ๅŒ–
็คพๅŒบ็”Ÿๆ€็”Ÿๆ€็จณๅฎš๏ผŒๅธธ็”จๆ’ไปถๅฎŒๅ–„็”Ÿๆ€ๆดป่ทƒ๏ผŒ้€‚ๅˆๅฎž้ชŒๆ€งๅœบๆ™ฏ็”Ÿๆ€ๅบžๅคง๏ผŒๅทฅๅ…ท้“พๆˆ็†Ÿ

5. ๆ•ฐๆฎ่Žทๅ–ไธŽ API ้›†ๆˆ (Data Fetching & API) โ€‹

',3),a("div",{class:"container nav-card-container"},[a("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[a("a",{href:"https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("span",{class:"name"},"Fetch API")]),a("p",{class:"desc"},"Fetch ๆ˜ฏไธ€ไธชๅŸบไบŽ Promise ็š„็Žฐไปฃ JavaScript API๏ผŒ็”จไบŽๅœจๆต่งˆๅ™จไธญๅ‘่ตท HTTP ่ฏทๆฑ‚๏ผˆAJAX๏ผ‰๏ผŒๆ˜ฏ XMLHttpRequest (XHR) ็š„ๆ›ด็ฎ€ๆดใ€ๆ›ดๅผบๅคง็š„ๆ›ฟไปฃๆ–นๆกˆใ€‚ๅฎƒๅ…่ฎธ้กต้ขๅœจไธ้‡่ฝฝ็š„ๆƒ…ๅ†ตไธ‹ไปŽๆœๅŠกๅ™จ่Žทๅ–ๆ•ฐๆฎ๏ผŒๆ”ฏๆŒ GETใ€POST ็ญ‰่ฏทๆฑ‚ๆ–นๆณ•๏ผŒๅนถๅนฟๆณ›ๅบ”็”จไบŽๅค„็†็ฝ‘็ปœๆ•ฐๆฎไบคไบ’ใ€‚"),a("span",{class:"VPBadge tip badge"},"ๅŽŸ็”Ÿ API")]),a("a",{href:"https://axios-http.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://axios-http.com/assets/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Axios")]),a("p",{class:"desc"},"Axios ๆ˜ฏไธ€ไธชๅŸบไบŽ Promise ็š„ HTTP ่ฏทๆฑ‚ๅบ“๏ผŒๅฏ่ฟ่กŒๅœจๆต่งˆๅ™จๅ’Œ Node.js ็Žฏๅขƒไธญใ€‚ๅฎƒๆ”ฏๆŒๆ‹ฆๆˆช่ฏทๆฑ‚ๅ’Œๅ“ๅบ”ใ€่ฝฌๆขๆ•ฐๆฎใ€ๅ–ๆถˆ่ฏทๆฑ‚็ญ‰ๅŠŸ่ƒฝ๏ผŒๆ˜ฏๅ‰็ซฏๅผ€ๅ‘ไธญๅธธ็”จ็š„ HTTP ่ฏทๆฑ‚ๅบ“ใ€‚"),a("span",{class:"VPBadge tip badge"},"ๅ…จ่ƒฝ่ฏทๆฑ‚ๅบ“")]),a("a",{href:"https://swr.vercel.app/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://swr.vercel.app/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"SWR")]),a("p",{class:"desc"},'SWR ๆ˜ฏ็”ฑ Vercel ๅผ€ๅ‘็š„ไธ€ไธชๅŸบไบŽ React Hooks ็š„่ฝป้‡็บงๆ•ฐๆฎ่ฏทๆฑ‚ๅบ“ใ€‚ๅฎƒๅŸบไบŽ "stale-while-revalidate" ็ญ–็•ฅ๏ผŒๅ…ˆ่ฟ”ๅ›ž็ผ“ๅญ˜ๆ•ฐๆฎ๏ผŒๅ†ๅœจๅŽๅฐ่ฏทๆฑ‚ๆœ€ๆ–ฐๆ•ฐๆฎ๏ผŒไฟ่ฏ UI ๅฟซ้€Ÿๅ“ๅบ”ไธ”ๆ•ฐๆฎไฟๆŒๆ›ดๆ–ฐใ€‚็‰น็‚น๏ผšๆž็ฎ€ไธปไน‰๏ผŒ่ถŠ่ฝป่ถŠๅฅฝ๏ผŒๅผ€็ฎฑๅณ็”จ๏ผŒไธ“ๆณจไบŽ HTTP ็ผ“ๅญ˜็ญ–็•ฅใ€‚'),a("span",{class:"VPBadge tip badge"},"ๆŒ‰้œ€้ชŒ่ฏ็ผ“ๅญ˜")]),a("a",{href:"https://tanstack.com/query/latest",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://tanstack.com/favicon-32x32.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"React Query")]),a("p",{class:"desc"},"React Query (็Žฐๆ›ดๅไธบ TanStack Query) ๆ˜ฏไธ€ไธชๅŠŸ่ƒฝๅผบๅคง็š„ React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†ๅบ“ใ€‚ๅฎƒไธ“ๆณจไบŽๅค„็†ๅผ‚ๆญฅๆ•ฐๆฎ็š„่Žทๅ–ใ€็ผ“ๅญ˜ใ€ๅŒๆญฅๅ’Œๆ›ดๆ–ฐ๏ผŒๅผ€็ฎฑๅณ็”จๅœฐ็ฎ€ๅŒ–ไบ† API ่ฏทๆฑ‚ใ€็ผ“ๅญ˜ๅค„็†ใ€ๆ•ฐๆฎ่ฟ‡ๆœŸๆ›ดๆ–ฐๅ’ŒๅŠ ่ฝฝ/้”™่ฏฏ็Šถๆ€็ฎก็†ใ€‚็‰น็‚น๏ผšๅŠŸ่ƒฝไธปไน‰ๅคง่€Œๅ…จ๏ผŒไธไป…ๆ˜ฏ HTTP๏ผŒๅฏ็”จไบŽไปปไฝ•ๅผ‚ๆญฅ Promise ็ฎก็†ใ€‚"),a("span",{class:"VPBadge tip badge"},"ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†")]),a("a",{href:"https://graphql.org/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://graphql.org/_next/static/media/logo-blurred.94c9eff4.webp",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"GraphQL")]),a("p",{class:"desc"},"GraphQL ๆ˜ฏไธ€ไธช็”จไบŽ API ็š„ๆŸฅ่ฏข่ฏญ่จ€ใ€ไธ€็งๆ่ฟฐ่ฏทๆฑ‚ๆ•ฐๆฎๆ–นๆณ•็š„่ฏญๆณ•๏ผŒ้€šๅธธ็”จไบŽๅฎขๆˆท็ซฏไปŽๆœๅŠก็ซฏๅŠ ่ฝฝๆ•ฐๆฎ๏ผŒไธป่ฆๆ˜ฏไธบไบ†่งฃๅ†ณ REST API ไธญ่ฟ‡ๅบฆ่Žทๅ–ๅ’Œ่Žทๅ–ไธ่ถณ็š„้—ฎ้ข˜ใ€‚"),a("span",{class:"VPBadge tip badge"},"ๆŒ‰้œ€ๅฃฐๆ˜ŽๅผๆŸฅ่ฏข")]),a("a",{href:"https://trpc.io/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://trpc.io/img/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"tRPC")]),a("p",{class:"desc"},"tRPC ๆ˜ฏๅŸบไบŽๆ’ไปถๅŒ–็†ๅฟต่ฎพ่ฎก็š„ไธ€ๆฌพๆ”ฏๆŒๅคš่ฏญ่จ€ใ€้ซ˜ๆ€ง่ƒฝ็š„ RPC ๅผ€ๅ‘ๆก†ๆžถ๏ผŒๆ—จๅœจๆ— ้œ€ๅฎšไน‰ไธ“้—จ API Schema๏ผˆๅฆ‚ Swagger/GraphQL๏ผ‰็š„ๆƒ…ๅ†ตไธ‹๏ผŒๅฎž็Žฐๅ‰ๅŽ็ซฏๆ— ็ผใ€ๅ…จๆ ˆ็ฑปๅž‹ๅฎ‰ๅ…จ็š„ API ่ฐƒ็”จใ€‚ๅฎƒ่ฎฉๅ‰็ซฏ่ƒฝๅƒ่ฐƒ็”จๆœฌๅœฐๅ‡ฝๆ•ฐไธ€ๆ ท่ฐƒ็”จๅŽ็ซฏ่ฟœ็จ‹ๅ‡ฝๆ•ฐ๏ผŒๅคงๅคงๆๅ‡ๅผ€ๅ‘ๆ•ˆ็އใ€‚"),a("span",{class:"VPBadge tip badge"},"็ซฏๅˆฐ็ซฏ็ฑปๅž‹ๅฎ‰ๅ…จ")])])],-1),e('
ๆŠ€ๆœฏ/ๅทฅๅ…ทๆ ธๅฟƒๅฎšไฝไธŽ็‰นๅพๆ ธๅฟƒไผ˜ๅŠฟ (่ƒฝ่งฃๅ†ณไป€ไนˆ็—›็‚น)ๅฑ€้™ๆ€งไธŽๅฆฅๅๆœ€ไฝณๅฎž่ทตไธŽ้€‚็”จๅœบๆ™ฏ
Fetch API ้€šไฟกๅŸบๅปบๆต่งˆๅ™จๅŽŸ็”Ÿๆ ‡ๅ‡†ๅ่ฎฎๆ— ้œ€ๅฎ‰่ฃ…็ฌฌไธ‰ๆ–นๅŒ…ใ€ๅคฉ็„ถ่žๅ…ฅ็Žฐไปฃ Web ๆ ‡ๅ‡†ใ€‚ๅœจ Edge Runtime ็Žฏๅขƒไธ‹่กจ็Žฐๆœ€ไฝณใ€‚้ป˜่ฎคไธๆŠ›ๅ‡บ HTTP ้”™่ฏฏ็Šถๆ€็ ๏ผˆ้œ€ๆ‰‹ๅŠจๆ‹ฆๆˆช๏ผ‰๏ผ›ๅค„็† JSON ๅ’Œๅ‚ๆ•ฐๆ‹ผๆŽฅ็น็ใ€็ผบๅฐ‘่ฏทๆฑ‚ๅ–ๆถˆๆœบๅˆถใ€‚ๆž็ฎ€ๅœบๆ™ฏ/ๅบ•ๅฑ‚ๅฐ่ฃ…๏ผšไธ้œ€่ฆๅคๆ‚ๆ‹ฆๆˆชๅ™จ็š„่ฝป้‡็บง้กต้ข๏ผ›ไฝœไธบๆ›ด้ซ˜็บงๆžถๆž„็š„ๅบ•ๅฑ‚ๅผ•ๆ“Ž๏ผŒๅฆ‚ Next.js ๅ†…้ƒจ็š„ fetch ๆ‰ฉๅฑ•ใ€‚
Axios
้€šไฟกๅŸบๅปบ
ๅ…จ่ƒฝๅž‹ๅŒๆž„่ฏทๆฑ‚ไฝ“API ๆžๅ…ถๅ‹ๅฅฝใ€่ฏทๆฑ‚/ๅ“ๅบ”ๆ‹ฆๆˆชๅ™จ๏ผˆๅค„็†ๅ…จๅฑ€ Tokenใ€็ปŸไธ€้”™่ฏฏๆ็คบ็š„ๅˆฉๅ™จ๏ผ‰ใ€่‡ชๅŠจ่ฝฌๆข JSON ๆ•ฐๆฎใ€‚ๅขžๅŠ ไบ†ไธ€ๅฎš็š„ๆ‰“ๅŒ…ไฝ“็งฏ๏ผ›ๅŸบไบŽ XHR๏ผˆๅฐฝ็ฎก็Žฐไปฃ็‰ˆๆœฌๅทฒๆ”ฏๆŒ fetch ๅบ•ๅฑ‚๏ผ‰๏ผŒๅœจๆŸไบ›ๆœ€ๆ–ฐ็š„ๆœๅŠก็ซฏ่พน็ผ˜่ฎก็ฎ—็Žฏๅขƒไธญๅฏ่ƒฝๅ—้™ใ€‚้‡ๅบฆไพ่ต– RESTful ็š„้กน็›ฎ๏ผš้œ€่ฆ็ฒพ็ป†ๅŒ–ๆŽงๅˆถ่ฏทๆฑ‚ๅคดใ€่ฟ›่กŒๅ…จๅฑ€้‰ดๆƒๆ‹ฆๆˆชใ€ๅค„็†ๅคๆ‚ๆ–‡ไปถไธŠไผ ็š„ไผ ็ปŸๅ…จๆ ˆๆˆ–ไธญๅŽๅฐ็ณป็ปŸใ€‚
SWR
็Šถๆ€่ฐƒๅบฆ
ๆŒ‰้œ€้ชŒ่ฏ็š„่ฝป้‡็บง็ผ“ๅญ˜ๆž่‡ด็š„่ฝป้‡ไธŽ็ฎ€ๅ•๏ผ›็„ฆ็‚น่š็„ฆๆ—ถ่‡ชๅŠจๅˆทๆ–ฐใ€็ฝ‘็ปœๆขๅคๆ—ถ้‡่ฏ•๏ผ›ๅธฆๆฅๆžไฝณ็š„โ€œUI ็žฌ้—ดๅ“ๅบ”โ€ไฝ“้ชŒใ€‚้ขๅฏนๆžๅ…ถๅคๆ‚็š„ๅผ‚ๆญฅ็Šถๆ€ๆต่ฝฌ๏ผˆๅฆ‚ไบ’็›ธไพ่ต–็š„ไธฒ่กŒ่ฏทๆฑ‚ใ€็ฒพ็ป†็š„็ฆป็บฟไฟฎๆ”นๅ›žๆปš๏ผ‰ๆ—ถ๏ผŒๆ˜พๅพ—ๅฟƒๆœ‰ไฝ™่€ŒๅŠ›ไธ่ถณใ€‚ๅ†…ๅฎน้ฉฑๅŠจๅž‹ๅบ”็”จ๏ผšๆณจ้‡้˜…่ฏปไฝ“้ชŒ็š„ๅšๅฎข็ซ™็‚นใ€ๆ•ฐๆฎๅฎžๆ—ถๆ€ง่ฆๆฑ‚ไธญ็ญ‰็š„ๆ•ฐๆฎ็œ‹ๆฟใ€‚้…็ฝฎๆž็ฎ€๏ผŒ้žๅธธ้€‚ๅˆๅฟซ้€Ÿ่ฟญไปฃ็š„ไบงๅ“ใ€‚
React Query
็Šถๆ€่ฐƒๅบฆ
ๅคง่€Œๅ…จ็š„ๅผ‚ๆญฅ็Šถๆ€ๆŽฅ็ฎกๅผบๅคง็š„็ผ“ๅญ˜็”Ÿๅ‘ฝๅ‘จๆœŸ็ฎก็†๏ผ›ไผ˜้›…็š„ Mutations๏ผˆๆ•ฐๆฎๅ˜ๆ›ด๏ผ‰ๅค„็†ไธŽไน่ง‚ๆ›ดๆ–ฐ๏ผ›ๆžๅฅฝ็š„ๅผ€ๅ‘่ฐƒ่ฏ•ๅทฅๅ…ทใ€‚ๅญฆไน ๆ›ฒ็บฟ่พƒ้™กๅณญ๏ผ›้ป˜่ฎค้…็ฝฎไธ‹ๆœ‰ๆ—ถไผšๅฏผ่‡ดๆ„ๆ–™ไน‹ๅค–็š„็ป„ไปถ้‡ๆธฒๆŸ“๏ผ›ไฝ“็งฏ็›ธๅฏน่พƒๅคงใ€‚ๅคๆ‚ไบคไบ’ๅž‹ SaaS / ๅผบไธšๅŠก้€ป่พ‘็ณป็ปŸ๏ผš้œ€่ฆๅค„็†ๅคง้‡่กจๅ•ๆไบคใ€ๅˆ—่กจๆ— ้™ๆปšๅŠจใ€็ฒพ็ป†ๅŒ–็ผ“ๅญ˜ๆŽงๅˆถ็š„้‡ๅž‹ๅ•้กตๅบ”็”จ๏ผˆSPA๏ผ‰ใ€‚
GraphQL ๅ่ฎฎๅฅ‘็บฆๅฃฐๆ˜Žๅผ็š„ๅ›พ่ฐฑๆŸฅ่ฏขๅฝปๅบ•่งฃๅ†ณ Over-fetching๏ผ›ๅ‰็ซฏๆ‹ฅๆœ‰ๆž้ซ˜็š„ๆ•ฐๆฎๆŒ‰้œ€็ป„ๅˆ่‡ช็”ฑๅบฆ๏ผ›่‡ชๅธฆๅผบ็ฑปๅž‹็š„ Schema ๆ–‡ๆกฃใ€‚ๅŽ็ซฏๅผ€ๅ‘ๆˆๆœฌๆž้ซ˜๏ผˆ้œ€็ผ–ๅ†™ๅคง้‡ Resolver ๅ‡ฝๆ•ฐ๏ผ‰๏ผ›ๅฎนๆ˜“ไบง็”Ÿ N+1 ๆŸฅ่ฏขๆ€ง่ƒฝ้—ฎ้ข˜๏ผ›HTTP ็ผ“ๅญ˜ๆœบๅˆถ้šพไปฅ็›ดๆŽฅๅˆฉ็”จใ€‚ๅคš็ซฏๅค็”จๅž‹ๅคงไธญๅž‹ไบงๅ“๏ผšๅŽ็ซฏ้œ€่ฆๅŒๆ—ถๆœๅŠกไบŽ Webใ€iOSใ€Android ็”š่‡ณ็ฌฌไธ‰ๆ–นๅผ€ๅ‘่€…๏ผ›ไธšๅŠกๅฎžไฝ“ๅ…ณ็ณป้ซ˜ๅบฆๅคๆ‚็š„็ณป็ปŸใ€‚
tRPC
ๅ่ฎฎๅฅ‘็บฆ
็ซฏๅˆฐ็ซฏ็š„ๅ…จๆ ˆ็ฑปๅž‹ๆŽจๅฏผๅ‰ๅŽ็ซฏ็ฑปๅž‹้›ถๆˆๆœฌๅ…ฑไบซ๏ผ›้‡ๆž„ๆ—ถ็š„ไปฃ็ ๅฎ‰ๅ…จๆ€งๆž้ซ˜๏ผ›ๅฎŒๅ…จไธ้œ€่ฆๆ‰‹ๅ†™ๆŽฅๅฃๆ–‡ๆกฃๆˆ– Schemaใ€‚ๅผบ็ป‘ๅฎš Node.js/TypeScript ๆŠ€ๆœฏๆ ˆ๏ผ›ๅฆ‚ๆžœๅ‰็ซฏ้กน็›ฎๅ’ŒๅŽ็ซฏไปฃ็ ๆฒกๆœ‰ๅœจไธ€ไธช Monorepo ไธญ๏ผŒๅจๅŠ›ๅคงๆ‰“ๆŠ˜ๆ‰ฃใ€‚ๆ•ๆทๅ…จๆ ˆ/ๅ•ไบบไฝœๆˆ˜ๅ›ข้˜Ÿ๏ผš้‡‡็”จ Node.js + ๅ‰็ซฏๆก†ๆžถ๏ผˆReact/Vue๏ผ‰ๆž„ๅปบ็š„ๅ…จๆ ˆ้กน็›ฎใ€‚ๆžๅบฆ่ฟฝๆฑ‚ๅผ€ๅ‘ๆ•ˆ็އๅ’Œไบงๅ“่ฟญไปฃ้€Ÿๅบฆ็š„ๅ›ข้˜Ÿใ€‚

็Žฐไปฃ Web ๆ•ฐๆฎๆตๆžถๆž„่Œƒๅผ๏ผš

1ใ€ๆ ‡ๅ‡†ๅ‰ๅŽ็ซฏๅˆ†็ฆปๆžถๆž„๏ผšAxios + React Query๏ผˆๆˆ– SWR๏ผ‰

  • ้€‚็”จๅœบๆ™ฏ๏ผš ๅผ‚ๆž„็ณป็ปŸ๏ผˆๅฆ‚ๅ‰็ซฏไฝฟ็”จ React/Vue๏ผŒๅŽ็ซฏไฝฟ็”จ Java/Go/Python ็ญ‰้ž JS ่ฏญ่จ€๏ผ‰๏ผ›้ซ˜ๅบฆไพ่ต–ไผ ็ปŸ RESTful API ่ง„่Œƒใ€้œ€่ฆ็ฒพ็ป†ๅŒ–ๆŽงๅˆถ็ฝ‘็ปœ่ฏทๆฑ‚ๆ‹ฆๆˆชๅ™จ็š„ไธญๅคงๅž‹ไผไธš็บง้กน็›ฎใ€‚
  • ๆžถๆž„ๆœบๅˆถ๏ผšๅฐ†็ฝ‘็ปœ่ฏทๆฑ‚็š„โ€œๅบ•ๅฑ‚้€š้“โ€ไธŽโ€œไธŠๅฑ‚็Šถๆ€โ€ไธฅๆ ผ่งฃ่€ฆใ€‚Axios ไธ“ๆณจไบŽๅŸบ็ก€้€šไฟกๅฑ‚็š„ๆฒป็†๏ผŒ่ดŸ่ดฃๅ…จๅฑ€่ฏทๆฑ‚ๅคดๆณจๅ…ฅ๏ผˆๅฆ‚ Bearer Token๏ผ‰ใ€็ปŸไธ€็š„ HTTP ็Šถๆ€็ ๆ‹ฆๆˆชไธŽ้™้ป˜้”™่ฏฏไธŠๆŠฅ๏ผ›React Query / SWR ๅˆ™ไธ“ๆณจไบŽ่กจ็Žฐๅฑ‚็š„็Šถๆ€่ฐƒๅบฆ๏ผŒๆŽฅ็ฎกๆ•ฐๆฎ็š„็ผ“ๅญ˜็”Ÿๅ‘ฝๅ‘จๆœŸใ€่ฏทๆฑ‚ๅŽป้‡๏ผˆDeduplication๏ผ‰ไปฅๅŠไน่ง‚ๆ›ดๆ–ฐ๏ผˆOptimistic UI๏ผ‰ใ€‚
  • ๅทฅ็จ‹ไปทๅ€ผ๏ผšๅ…ทๅค‡ๆž้ซ˜็š„็จณๅฅๆ€งไธŽๆŠ€ๆœฏๆ ˆๅŒ…ๅฎนๆ€งใ€‚ๅ‰ๅŽ็ซฏ่พน็•Œๆธ…ๆ™ฐ๏ผŒไบ’ไธๅนฒๆ‰ฐใ€‚

2ใ€ๅ…จๆ ˆ็ฑปๅž‹ๅฎ‰ๅ…จๆžถๆž„๏ผštRPC + React Query

  • ้€‚็”จๅœบๆ™ฏ๏ผš ้‡‡็”จ Monorepo ๆžถๆž„็ฎก็†็š„็บฏ TypeScript/Node.js ๅ…จๆ ˆ้กน็›ฎ๏ผ›่ฟฝๆฑ‚ๆ•ๆทๅผ€ๅ‘ใ€ๆž้€Ÿไบคไป˜ไปฅๅŠ้œ€่ฆ้ข‘็น่ฟ›่กŒไธšๅŠก้‡ๆž„็š„ SaaS ไบงๅ“ๆˆ–ๅ†…้ƒจ็ณป็ปŸใ€‚
  • ๆžถๆž„ๆœบๅˆถ๏ผšๅŸบไบŽ TypeScript ็š„ๅผบ็ฑปๅž‹ๆŽจๅฏผ็ณป็ปŸ๏ผŒๆ‰“้€šๅ‰ๅŽ็ซฏๆ•ฐๆฎๆตใ€‚tRPC ๅฎ˜ๆ–นๆทฑๅบฆ้›†ๆˆไบ† React Query๏ผˆ@trpc/react-query๏ผ‰๏ผŒๅœจไฟ็•™ไบ†ๅฎŒๆ•ด็š„็Žฐไปฃๅ‰็ซฏ็ผ“ๅญ˜่ฐƒๅบฆ่ƒฝๅŠ›็š„ๅŒๆ—ถ๏ผŒๅฝปๅบ•ๅ…ๅŽปไบ†ๆ‰‹ๅŠจ็ปดๆŠค API ๆŽฅๅฃๆ–‡ๆกฃๅ’Œ Schema ็ผ–่ฏ‘็”Ÿๆˆ็š„ไธญ้—ด็Žฏ่Š‚ใ€‚ๅŽ็ซฏ็š„็ฑปๅž‹ๅ˜ๆ›ดไผšๅณๅˆปๅๆ˜ ไธบๅ‰็ซฏ็ผ–่ฏ‘ๆœŸ็š„้™ๆ€็ฑปๅž‹ๆฃ€ๆŸฅๆŠฅ้”™ใ€‚
  • ๅทฅ็จ‹ไปทๅ€ผ๏ผšๆž่‡ด็š„็ ”ๅ‘ๆ•ˆ่ƒฝไธŽ็ป“ๆž„ๅฎ‰ๅ…จๆ€งใ€‚ๅฏนไบŽไธ“ๆณจไบŽไบงๅ“่ฟญไปฃไธŽไธšๅŠกๅขž้•ฟ็š„ Node.js ๅ…จๆ ˆๅผ€ๅ‘่€…่€Œ่จ€๏ผŒ่ฟ™็ง็ป„ๅˆๅฎŒ็พŽๅฅ‘ๅˆไบ†โ€œไปฅๆ›ดๅฐ‘ๆŠ•ๅ…ฅ่Žทๅพ—ๆ›ดๅคงๆ”ถ็›Šโ€็š„ๅทฅ็จ‹ๅ“ฒๅญฆใ€‚ๅฎƒ็›ดๆŽฅๆถˆ็ญไบ†โ€œๆŽฅๅฃ่”่ฐƒโ€่ฟ™ไธ€ๆ— ๆ•ˆ่€—ๆ—ถ็Žฏ่Š‚๏ผŒ่ฎฉๅผ€ๅ‘่€…่ƒฝๅฐ†ๆ ธๅฟƒ็ฒพๅŠ›่š็„ฆไบŽไบงๅ“้€ป่พ‘ๆœฌ่บซใ€‚

3ใ€ๅคš็ซฏๆ•ฐๆฎ่šๅˆ BFF ๆžถๆž„๏ผšGraphQL + Apollo Client

  • ้€‚็”จๅœบๆ™ฏ๏ผš ๆ•ฐๆฎๆฅๆบๅบžๆ‚ไธ”ๅˆ†ๆ•ฃ็š„ๅคงๅž‹ไธšๅŠก็ณป็ปŸ๏ผ›้œ€่ฆๅŒๆ—ถไธบๅคš็งไธๅŒๅฎขๆˆท็ซฏๆไพ›้ซ˜็ตๆดปๆ€ง API๏ผŒไธ”ๅ‰ๅŽ็ซฏๅ›ข้˜Ÿ่ง„ๆจก่พƒๅคงใ€้œ€่ฆ้ซ˜ๅบฆๅนถ่กŒ็š„้กน็›ฎใ€‚
  • ๆžถๆž„ๆœบๅˆถ๏ผšๅผ•ๅ…ฅ BFF๏ผˆBackend For Frontend๏ผŒๆœๅŠกไบŽๅ‰็ซฏ็š„ๅŽ็ซฏ๏ผ‰็†ๅฟตใ€‚GraphQL ไฝœไธบไธญ้—ดไปถๅฑ‚๏ผŒ่ดŸ่ดฃๅฐ†ๅบ•ๅฑ‚ๅˆ†ๆ•ฃ็š„ๅพฎๆœๅŠกใ€ๆ•ฐๆฎๅบ“ๆˆ–็ฌฌไธ‰ๆ–น API ่ฟ›่กŒ่šๅˆไธŽ็ผ–ๆŽ’๏ผˆData Orchestration๏ผ‰ใ€‚ๅ‰็ซฏ้€š่ฟ‡ Apollo Client ๅ‘่ตทๅฃฐๆ˜ŽๅผๆŸฅ่ฏข๏ผŒ็ฒพๅ‡†่Žทๅ– UI ็ป„ไปถๆ‰€้œ€็š„ๆ•ฐๆฎๅˆ‡็‰‡๏ผŒๅนถๅˆฉ็”จ Apollo ๅผบๅคง็š„ๆ ‡ๅ‡†ๅŒ–็ผ“ๅญ˜๏ผˆNormalized Cache๏ผ‰็ฎก็†ๅคๆ‚ๅฎžไฝ“ๅ…ณ็ณปใ€‚
  • ๅทฅ็จ‹ไปทๅ€ผ๏ผšๅฝปๅบ•่งฃๅ†ณๅคš็ซฏ่ฎพๅค‡๏ผˆWebใ€iOSใ€Android๏ผ‰้ขไธด็š„่ฟ‡ๅบฆ่Žทๅ–๏ผˆOver-fetching๏ผ‰ไธŽ็ขŽ็‰‡ๅŒ–ๆŽฅๅฃๆฒป็†้—ฎ้ข˜๏ผŒๅฎž็Žฐไบ†ๆ•ฐๆฎๆถˆ่ดน็ซฏ็š„้ซ˜ๅบฆ่‡ชๆฒปใ€‚

6. ๆž„ๅปบๅทฅๅ…ทไธŽๅทฅไฝœๆต (Build Tools & Workflow) โ€‹

',9),a("div",{class:"container nav-card-container"},[a("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[a("a",{href:"https://cn.vite.dev/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://cn.vite.dev/logo-without-border.svg",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Vite")]),a("p",{class:"desc"},"Vite ๆ˜ฏไธ€ๆฌพ้€Ÿๅบฆๆžๅฟซ็š„ๅ‰็ซฏๆž„ๅปบๅทฅๅ…ท๏ผŒไธบไธ‹ไธ€ไปฃ Web ๅบ”็”จ็จ‹ๅบๆไพ›ๆ”ฏๆŒ๏ผŒๅฎƒๆ‘’ๅผƒไบ†โ€œๅ…ˆๆ‰“ๅŒ…๏ผŒๅ†ๅฏๅŠจโ€็š„ๆจกๅผ๏ผŒๅผ€ๅฏไบ†โ€œๅŽŸ็”Ÿ ESMโ€ๅผ€ๅ‘็š„ๆ–ฐๆ—ถไปฃใ€‚"),a("span",{class:"VPBadge tip badge"},"ๆž้€Ÿ ESM ๆž„ๅปบ")]),a("a",{href:"https://rsbuild.rs/zh/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://assets.rspack.rs/rsbuild/favicon-128x128.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Rsbuild")]),a("p",{class:"desc"},"Rsbuild ๆ˜ฏไธ€ไธช็”ฑๅญ—่Š‚่ทณๅŠจ Web Infra ๅ›ข้˜Ÿๅผ€ๆบใ€ๅŸบไบŽ Rust ่ฏญ่จ€็ผ–ๅ†™็š„ Rspack ้ฉฑๅŠจ็š„้ซ˜ๆ€ง่ƒฝๆž„ๅปบๅทฅๅ…ทใ€‚ๅฎƒไธ“ๆณจไบŽไธบ Web ้กน็›ฎๆไพ›ๅผ€็ฎฑๅณ็”จ็š„ๅผ€ๅ‘ไฝ“้ชŒ๏ผŒ้€š่ฟ‡ๅ†…็ฝฎ็š„้ซ˜ๆ€ง่ƒฝๅทฅๅ…ท๏ผˆๅฆ‚ SWCใ€Lightning CSS๏ผ‰ๅฎž็Žฐๆžๅฟซ็š„ๆž„ๅปบ้€Ÿๅบฆ๏ผŒๅนถๆไพ›็ฑปไผผ Vite/Webpack ็š„้›ถ้…็ฝฎๆˆ–ไฝŽ้…็ฝฎไฝ“้ชŒใ€‚"),a("span",{class:"VPBadge tip badge"},"Rust ้ซ˜ๆ€ง่ƒฝๆž„ๅปบ")]),a("a",{href:"https://nextjscn.org/docs/app/api-reference/turbopack",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("span",{class:"name"},"Turbopack")]),a("p",{class:"desc"},"Turbopack ๆ˜ฏ็”ฑ Vercel ๅผ€ๅ‘ใ€ๅŸบไบŽ Rust ็ผ–ๅ†™็š„้ซ˜ๆ€ง่ƒฝๅขž้‡ๆ‰“ๅŒ…ๅทฅๅ…ท๏ผŒไธ“ไธบ JavaScript ๅ’Œ TypeScript ไผ˜ๅŒ–ใ€‚ๅฎƒ่ขซ่ฎพ่ฎกไธบ Webpack ็š„็ปงไปป่€…๏ผŒๆ—จๅœจ้€š่ฟ‡ไผ˜ๅŒ–็š„ๆœบๅ™จไปฃ็ ๅ’Œ้ซ˜ๅบฆๅขž้‡่ฎก็ฎ—่ƒฝๅŠ›๏ผŒๆไพ›ๆฏ” Vite ๅฟซ 10 ๅ€ใ€ๆฏ” Webpack ๅฟซ 700 ๅ€็š„ๆœฌๅœฐๅผ€ๅ‘ไฝ“้ชŒ๏ผŒไธป่ฆๅ†…็ฝฎไบŽ Next.jsใ€‚"),a("span",{class:"VPBadge tip badge"},"ๅขž้‡ๆž้€Ÿๆ‰“ๅŒ…")]),a("a",{href:"https://webpack.docschina.org/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://webpack.docschina.org/favicon.f326220248556af65f41.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Webpack")]),a("p",{class:"desc"},"Webpack ๆ˜ฏไธ€ไธช็Žฐไปฃ JavaScript ๅบ”็”จ็จ‹ๅบ็š„้™ๆ€ๆจกๅ—ๆ‰“ๅŒ…ๅทฅๅ…ทใ€‚ๅฎƒๅœจๅ†…้ƒจๆž„ๅปบไพ่ต–ๅ›พ๏ผŒๅฐ†้กน็›ฎไธญ็š„ๅ„็ง่ต„ๆบ๏ผˆๅฆ‚ JSใ€CSSใ€ๅ›พ็‰‡ใ€TypeScript ็ญ‰๏ผ‰่ง†ไธบๆจกๅ—๏ผŒๅนถๆœ€็ปˆๆ‰“ๅŒ…ๆˆๆต่งˆๅ™จๅฏ็›ดๆŽฅ่ฟ่กŒ็š„้™ๆ€ๆ–‡ไปถใ€‚้€š่ฟ‡ Loader ๅ’Œ Plugin๏ผŒๅฎƒ่ƒฝๅค„็†ๅคๆ‚็š„ๅผ€ๅ‘้œ€ๆฑ‚ใ€‚"),a("span",{class:"VPBadge tip badge"},"็ปๅ…ธๆจกๅ—ๆ‰“ๅŒ…")]),a("a",{href:"https://github.com/features/actions",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://github.com/fluidicon.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"GitHub Actions")]),a("p",{class:"desc"},"GitHub Actions ๆ˜ฏ GitHub ๆŽจๅ‡บ็š„ๆŒ็ปญ้›†ๆˆๅ’ŒๆŒ็ปญไบคไป˜ (CI/CD) ๅนณๅฐ๏ผŒๆ—จๅœจๅธฎๅŠฉๅผ€ๅ‘่€…่‡ชๅŠจๆ‰ง่กŒ่ฝฏไปถๅผ€ๅ‘ๅทฅไฝœๆตใ€‚ๅฎƒๅ…่ฎธๅœจไปฃ็ ไป“ๅบ“ไธญ็›ดๆŽฅๅฎšไน‰่‡ชๅŠจๅŒ–ๆต็จ‹๏ผˆๅฆ‚ๆž„ๅปบใ€ๆต‹่ฏ•ใ€้ƒจ็ฝฒ๏ผ‰๏ผŒๆ”ฏๆŒไบ‹ไปถ่งฆๅ‘๏ผˆๅฆ‚ๆไบคไปฃ็ ๏ผ‰๏ผŒๅนถๆไพ›่™šๆ‹Ÿๆœบ็Žฏๅขƒ๏ผˆUbuntuใ€Windowsใ€macOS๏ผ‰่ฟ่กŒไปปๅŠก๏ผŒไฝฟๅผ€ๅ‘ๆ›ด้ซ˜ๆ•ˆใ€‚"),a("span",{class:"VPBadge tip badge"},"CI/CD ่‡ชๅŠจๅŒ–")])])],-1),a("h2",{id:"_7-ๅ…จๆ ˆๆก†ๆžถ",tabindex:"-1"},[s("7. ๅ…จๆ ˆๆก†ๆžถ "),a("a",{class:"header-anchor",href:"#_7-ๅ…จๆ ˆๆก†ๆžถ","aria-label":"Permalink to โ€œ7. ๅ…จๆ ˆๆก†ๆžถโ€"},"โ€‹")],-1),a("blockquote",null,[a("p",null,[a("strong",null,"ๅŒๆž„ๅ…ƒๆก†ๆžถ๏ผšNext.jsใ€Nuxt"),s("๏ผŒ็Žฐไปฃๅ…จๆ ˆๅผ€ๅ‘ๅ€พๅ‘ไบŽไฝฟ็”จโ€œๅ…ƒๆก†ๆžถโ€๏ผŒๅฎƒไปฌๆจก็ณŠไบ†ๅฎขๆˆท็ซฏๅ’ŒๆœๅŠกๅ™จ็š„็•Œ้™๏ผŒๆไพ›ไธ€ไฝ“ๅŒ–็š„ๅผ€ๅ‘ไฝ“้ชŒใ€‚")]),a("p",null,[a("strong",null,"ไผไธš็บง Node ๆœๅŠก็ซฏๆก†ๆžถ๏ผšNestJS"),s("๏ผŒไธ€ไธช็”จไบŽๆž„ๅปบ้ซ˜ๆ•ˆใ€ๅฏๆ‰ฉๅฑ•็š„ Node.js ๆœๅŠกๅ™จ็ซฏๅบ”็”จ็จ‹ๅบ็š„ๆก†ๆžถ๏ผŒๅฎƒ้‡‡็”จ็Žฐไปฃ TypeScript ็ผ–ๅ†™๏ผŒๅนถๅฎŒๅ…จๆ”ฏๆŒๅฎƒ๏ผˆๅŒๆ—ถไนŸๆ”ฏๆŒ็บฏ JavaScript๏ผ‰ใ€‚ๅฎƒ่žๅˆไบ† OOP๏ผˆ้ขๅ‘ๅฏน่ฑก็ผ–็จ‹๏ผ‰ใ€FP๏ผˆๅ‡ฝๆ•ฐๅผ็ผ–็จ‹๏ผ‰ๅ’Œ FRP๏ผˆๅ‡ฝๆ•ฐๅ“ๅบ”ๅผ็ผ–็จ‹๏ผ‰็š„็†ๅฟตใ€‚ๅ…ถ่ฎพ่ฎกๆทฑๅ— Angular ๅฏๅ‘๏ผŒๅ†…็ฝฎไบ†ไพ่ต–ๆณจๅ…ฅ๏ผˆDI๏ผ‰ใ€ๆจกๅ—ๅŒ–ๅ’Œๅˆ†ๅฑ‚ๆžถๆž„็ญ‰ๅผบไธปๅผ ็‰นๆ€ง๏ผŒ่ขซ็งฐไธบ Node.js ็‰ˆ็š„ Spring ๆก†ๆžถใ€‚")])],-1),a("div",{class:"container nav-card-container"},[a("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[a("a",{href:"https://nextjs.org/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://nextjs.org/favicon.ico?favicon.3fc65821.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Next.js")]),a("p",{class:"desc"},"Next.js ๆ˜ฏไธ€ไธชๅŸบไบŽ Reactใ€Node.js ็š„ๅ…จๆ ˆ Web ๅผ€ๅ‘ๆก†ๆžถ๏ผŒ็”ฑ Vercel ๅ…ฌๅธ็ปดๆŠค๏ผŒไธ“ไธบ็”Ÿไบง็Žฏๅขƒ่ฎพ่ฎกใ€‚ๅฎƒ้€š่ฟ‡ๅ†…็ฝฎ็š„ๆœๅŠกๅ™จ็ซฏๆธฒๆŸ“ (SSR)ใ€้™ๆ€็ซ™็‚น็”Ÿๆˆ (SSG) ๅ’Œๅขž้‡้™ๆ€ๅ†็”Ÿๆˆ (ISR) ๆŠ€ๆœฏ๏ผŒ่งฃๅ†ณไบ†ไผ ็ปŸ React ๅบ”็”จ็š„ SEO ไผ˜ๅŒ–ๅทฎ ๅ’Œ้ฆ–ๅฑๅŠ ่ฝฝๆ…ข็š„้—ฎ้ข˜๏ผŒๆ˜ฏ็›ฎๅ‰ๆœ€ๅ—ๆฌข่ฟŽ็š„ React ๅบ”็”จๅผ€ๅ‘ๆก†ๆžถไน‹ไธ€ใ€‚"),a("span",{class:"VPBadge tip badge"},"SSR/SSG/ISR")]),a("a",{href:"https://nuxtjs.org/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://nuxt.com/icon.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Nuxt")]),a("p",{class:"desc"},"ๆ˜ฏไธ€ไธชๅŸบไบŽ Vue.js ็š„ๅผ€ๆบใ€ๅ…่ดน็š„ Web ๅผ€ๅ‘ๅ…ƒๆก†ๆžถ๏ผˆMeta-framework๏ผ‰๏ผŒไธ“ไธบๆž„ๅปบ้ซ˜ๆ€ง่ƒฝ็š„ๆœๅŠก็ซฏๆธฒๆŸ“๏ผˆSSR๏ผ‰ใ€้™ๆ€็ซ™็‚น็”Ÿๆˆ๏ผˆSSG๏ผ‰ๅ’Œๅ•้กตๅบ”็”จ๏ผˆSPA๏ผ‰่€Œ่ฎพ่ฎกใ€‚ๅฎƒ้›†ๆˆไบ† Viteใ€Vue 3 ๅ’Œ Nitro ๆœๅŠก็ซฏๅผ•ๆ“Ž๏ผŒๆ—จๅœจ็ฎ€ๅŒ–ๅผ€ๅ‘ๆต็จ‹๏ผŒๆไพ›ๅ“่ถŠ็š„ SEO ไผ˜ๅŒ–ๅ’Œๅผ€ๅ‘ไบบๅ‘˜ไฝ“้ชŒ"),a("span",{class:"VPBadge tip badge"},"SSR/SSG/ISR")]),a("a",{href:"https://nestjs.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://nestjs.com/favicon-32x32.a39d94f4.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"NestJS")]),a("p",{class:"desc"},"NestJS ๆ˜ฏไธ€ไธช็”จไบŽๆž„ๅปบ้ซ˜ๆ•ˆใ€ๅฏๆ‰ฉๅฑ•็š„ Node.js ๆœๅŠกๅ™จ็ซฏๅบ”็”จ็จ‹ๅบ็š„ๆก†ๆžถ๏ผŒๅฎƒ้‡‡็”จ็Žฐไปฃ TypeScript ็ผ–ๅ†™๏ผŒๅนถๅฎŒๅ…จๆ”ฏๆŒๅฎƒ๏ผˆๅŒๆ—ถไนŸๆ”ฏๆŒ็บฏ JavaScript๏ผ‰ใ€‚ๅฎƒ่žๅˆไบ† OOP๏ผˆ้ขๅ‘ๅฏน่ฑก็ผ–็จ‹๏ผ‰ใ€FP๏ผˆๅ‡ฝๆ•ฐๅผ็ผ–็จ‹๏ผ‰ๅ’Œ FRP๏ผˆๅ‡ฝๆ•ฐๅ“ๅบ”ๅผ็ผ–็จ‹๏ผ‰็š„็†ๅฟตใ€‚ๅ…ถ่ฎพ่ฎกๆทฑๅ— Angular ๅฏๅ‘๏ผŒๅ†…็ฝฎไบ†ไพ่ต–ๆณจๅ…ฅ๏ผˆDI๏ผ‰ใ€ๆจกๅ—ๅŒ–ๅ’Œๅˆ†ๅฑ‚ๆžถๆž„็ญ‰ๅผบไธปๅผ ็‰นๆ€ง๏ผŒ่ขซ็งฐไธบ Node.js ็‰ˆ็š„ Spring ๆก†ๆžถ."),a("span",{class:"VPBadge tip badge"},"ไผไธš็บง Node ๆก†ๆžถ")])])],-1),e('
ๅฏนๆฏ”็ปดๅบฆNext.jsNuxtNestJS
ๆก†ๆžถๅฎšไฝReact ๅ…จๆ ˆๆก†ๆžถ
(Isomorphic Meta-framework)
Vue ๅ…จๆ ˆๆก†ๆžถ
(Isomorphic Meta-framework)
ไผไธš็บง Node.js ๆœๅŠก็ซฏๆก†ๆžถ
(Backend Framework)
ๅบ•ๅฑ‚้ฉฑๅŠจWebpack / Turbopack
React Server Components
Vite / Nitro ๅผ•ๆ“Ž
Vue3
Express / Fastify (ๅบ•ๅฑ‚ๅฏๆ’ๆ‹”)
็บฏ TypeScript
ๆ ธๅฟƒๅทฅ็จ‹็‰นๆ€งๆททๅˆๆธฒๆŸ“ (SSR/SSG/ISR)
Server Actions (ๆ— ็ผ RPC)
่พน็ผ˜่ฎก็ฎ—่ทฏ็”ฑ
ๆททๅˆๆธฒๆŸ“ไธŽ้ข„ๆธฒๆŸ“
ๆž่‡ด็š„่‡ชๅŠจๅฏผๅ…ฅ (Auto-imports)
ๅผ€็ฎฑๅณ็”จ็š„ๆจกๅ—ๅŒ–็”Ÿๆ€
ไพ่ต–ๆณจๅ…ฅ (DI) / ๆŽงๅˆถๅ่ฝฌ (IoC)
้ขๅ‘ๅˆ‡้ข็ผ–็จ‹ (AOP)
ๅผบไธปๅผ ็š„ๆจกๅ—ๅŒ–็›ฎๅฝ•
ๆ•ฐๆฎๆต่Œ่ดฃ่ง†ๅ›พๅฑ‚ๆธฒๆŸ“ใ€BFF (ๆœๅŠกไบŽๅ‰็ซฏ็š„ๅŽ็ซฏ)ใ€่ฝป้‡็บง่šๅˆ APIใ€‚่ง†ๅ›พๅฑ‚ๆธฒๆŸ“ใ€BFF (ๆœๅŠกไบŽๅ‰็ซฏ็š„ๅŽ็ซฏ)ใ€่ฝป้‡็บง่šๅˆ APIใ€‚็บฏๅŽ็ซฏไธšๅŠก้€ป่พ‘ๅค„็†ใ€ๅพฎๆœๅŠก้€šไฟกไธŽ็ผ–ๆŽ’ใ€็ปŸไธ€ API ไพ›ๅบ”ใ€‚
ๆœ€ไฝณไธšๅŠกๅœบๆ™ฏ้‡ SEO ็š„ C ็ซฏไบงๅ“ (็”ตๅ•†ใ€ๅ†…ๅฎน็ซ™); ๆ•ๆท่ฟญไปฃ็š„ SaaS; ๅ•ไป“ๅบ“ๆž้€Ÿไบคไป˜ใ€‚้‡ไบคไบ’ไฝ“้ชŒ็š„ Web ๅบ”็”จ; Vue ๆŠ€ๆœฏๅ›ข้˜Ÿ็š„ๅ…จๆ ˆ่ฝฌๅž‹; ็‹ฌ็ซ‹ๅผ€ๅ‘่€…ๅปบ็ซ™ใ€‚ๅคๆ‚้ข†ๅŸŸ้ฉฑๅŠจ่ฎพ่ฎก (DDD) ็ณป็ปŸ; ๅคš็ซฏๅค็”จ็š„ API ไธญๅฐ; ๅบžๅคง็š„ๅพฎๆœๅŠก้›†็พคใ€‚
้œ€่ง„้ฟ็š„ๅๆจกๅผๆ‰ฟ่ฝฝ้ซ˜ๅนถๅ‘ CPU ๅฏ†้›†ๅž‹่ฎก็ฎ—; ๆžๅ…ถๅคๆ‚็š„่ทจๆœๅŠกๅˆ†ๅธƒๅผไบ‹ๅŠกใ€‚ๆ‰ฟ่ฝฝ้ซ˜ๅนถๅ‘ CPU ๅฏ†้›†ๅž‹่ฎก็ฎ—; ๆžๅ…ถๅคๆ‚็š„่ทจๆœๅŠกๅˆ†ๅธƒๅผไบ‹ๅŠกใ€‚ไป…้œ€ๆž็ฎ€ CRUD ็š„ๅฐๅž‹ๅค–ๅŒ…้กน็›ฎ; ๅผบไพ่ต–้ฆ–ๅฑ HTML ็›ดๅ‡บ็š„็บฏๅฑ•็คบ็ฝ‘้กตใ€‚
ๅ›ข้˜Ÿๅไฝœๆจกๅž‹ๅ‰็ซฏไธปๅฏผ็š„ๆ•ๆทๅ…จๆ ˆๅฐ้˜Ÿ, ๆˆ–่ฟฝๆฑ‚โ€œๅ•ๅ…ตไฝœๆˆ˜โ€็š„ๆžๅฎขๅ›ข้˜Ÿใ€‚ๅ‰็ซฏไธปๅฏผ็š„ๆ•ๆทๅ…จๆ ˆๅฐ้˜Ÿ, ๆˆ– Vue ็”Ÿๆ€้‡ๅบฆไพ่ต–ๅ›ข้˜Ÿใ€‚ๅŽ็ซฏไธปๅฏผ็š„ไธญๅคงๅž‹ๅ›ข้˜Ÿ, ๅ‰ๅŽ็ซฏ็‰ฉ็†ๅˆ†็ฆป็š„ๆ ‡ๅ‡†ๅŒ–ๅผ€ๅ‘ๆตๆฐด็บฟใ€‚

8. ้ƒจ็ฝฒไธŽๆ‰˜็ฎก (Deployment & Hosting) โ€‹

',2),a("div",{class:"container nav-card-container"},[a("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[a("a",{href:"https://vercel.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://assets.vercel.com/image/upload/front/favicon/vercel/apple-touch-icon-256x256.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Vercel")]),a("p",{class:"desc"},"Vercel ๆ˜ฏไธ€ไธช็Žฐไปฃๅ‰็ซฏ้กน็›ฎ็š„็†ๆƒณ้ƒจ็ฝฒๅนณๅฐ๏ผŒๅฎƒ้›ถ้…็ฝฎใ€ๆ”ฏๆŒ่‡ชๅŠจ้ƒจ็ฝฒๅ’Œ้ข„่งˆใ€ๆ‹ฅๆœ‰ๅ…จ็ƒๅŠ ้€Ÿ่Š‚็‚น๏ผŒๅนฟๆณ›็”จไบŽๅผ€ๆบ้กน็›ฎใ€ไธชไบบไฝœๅ“้›†ใ€ไผไธš็ฝ‘็ซ™็ญ‰ใ€‚ ๆ— ่ฎบไฝ ๆ˜ฏ็”จReactใ€Vueใ€Svelte ่ฟ˜ๆ˜ฏ้™ๆ€HTML๏ผŒๅช้œ€ๅ‡ ๆญฅๅฐฑๅฏไปฅๅฐ†้กน็›ฎไธŠ็บฟใ€‚"),a("span",{class:"VPBadge tip badge"},"ๅ‰็ซฏ่พน็ผ˜ๆ‰˜็ฎก")]),a("a",{href:"https://www.netlify.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://www.netlify.com/favicon/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Netlify")]),a("p",{class:"desc"},"ไธŽ Vercel ็ฑปไผผ๏ผŒๅŠŸ่ƒฝๆ›ดๅ…จ้ข๏ผšๆ”ฏๆŒๆ›ดๅคš็š„ๆก†ๆžถๅ’Œ้™ๆ€็ซ™็‚น็”Ÿๆˆๅ™จ๏ผŒๆœ‰่กจๅ•ๅค„็†ใ€ๆ— ๆœๅŠกๅ™จๅ‡ฝๆ•ฐ็ญ‰ๅŠŸ่ƒฝ๏ผŒๅ…่ดน้ขๅบฆๆ›ดๅคงใ€่ฟ˜ๆ”ฏๆŒ A/B ๆต‹่ฏ•ๅ’Œๅˆ†ๆžใ€‚Netlify ๆ˜ฏไธ€ไธชๅŸบไบŽไบ‘่ฎก็ฎ—็š„็ฝ‘็ซ™้ƒจ็ฝฒๅ’Œๆ‰˜็ฎกๅนณๅฐ๏ผŒไธ“ๆณจไบŽไธบๅผ€ๅ‘่€…ๆไพ›ไพฟๆท็š„้™ๆ€็ฝ‘็ซ™ๅ’ŒJamstack ๅบ”็”จ้ƒจ็ฝฒๆœๅŠกใ€‚ ๅฎƒ็š„ๆ ธๅฟƒไผ˜ๅŠฟๅœจไบŽๅฐ†็ฝ‘็ซ™ๆž„ๅปบใ€้ƒจ็ฝฒใ€ๆ‰˜็ฎกไปฅๅŠๆŒ็ปญ้›†ๆˆ/ ๆŒ็ปญ้ƒจ็ฝฒ๏ผˆCI/CD๏ผ‰ๆต็จ‹้ซ˜ๅบฆ้›†ๆˆ๏ผŒๆžๅคงๅœฐ็ฎ€ๅŒ–ไบ†ๅผ€ๅ‘ๅ’Œ่ฟ็ปด็š„ๅคๆ‚็จ‹ๅบฆ"),a("span",{class:"VPBadge tip badge"},"Jamstack ๅนณๅฐ")]),a("a",{href:"https://pages.github.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://github.com/fluidicon.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"GitHub Pages")]),a("p",{class:"desc"},"GitHub Pages ๆ˜ฏไธ€ไธช็”ฑ GitHub ๆไพ›็š„ใ€ๅ…่ดน็š„้™ๆ€็ฝ‘็ซ™ๆ‰˜็ฎกๆœๅŠกใ€‚ๅฎƒๅ…่ฎธ็”จๆˆท็›ดๆŽฅไปŽ GitHub ไป“ๅบ“๏ผˆRepository๏ผ‰่Žทๅ– HTMLใ€CSS ๅ’Œ JavaScript ๆ–‡ไปถ๏ผŒๆ— ้œ€้ขๅค–้…็ฝฎๆœๅŠกๅ™จๅณๅฏๅฟซ้€Ÿ้ƒจ็ฝฒไธชไบบไธป้กตใ€้กน็›ฎๆ–‡ๆกฃๆˆ–ๅšๅฎขใ€‚"),a("span",{class:"VPBadge tip badge"},"็บฏ้™ๆ€ๆ‰˜็ฎก")])])],-1),a("h2",{id:"_9-ๅญฆไน ่ต„ๆบไธŽ็คพๅŒบ-learning-community",tabindex:"-1"},[s("9. ๅญฆไน ่ต„ๆบไธŽ็คพๅŒบ (Learning & Community) "),a("a",{class:"header-anchor",href:"#_9-ๅญฆไน ่ต„ๆบไธŽ็คพๅŒบ-learning-community","aria-label":"Permalink to โ€œ9. ๅญฆไน ่ต„ๆบไธŽ็คพๅŒบ (Learning & Community)โ€"},"โ€‹")],-1),a("div",{class:"container nav-card-container"},[a("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[a("a",{href:"https://javascriptweekly.com/issues",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("span",{class:"name"},"JavaScript Weekly")]),a("p",{class:"desc"},"ๆฏๅ‘จๅˆ†ไบซๆœ€ๆ–ฐ็š„ JavaScript ็›ธๅ…ณๆŠ€ๆœฏๆ–‡็ซ ใ€ๅบ“ใ€ๅทฅๅ…ทๅ’Œ่ถ‹ๅŠฟ"),a("span",{class:"VPBadge tip badge"},"ๆŠ€ๆœฏๅ‘จๅˆŠ")]),a("a",{href:"https://nodeweekly.com/issues",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("span",{class:"name"},"Node Weekly")]),a("p",{class:"desc"},"ๆฏๅ‘จๅˆ†ไบซๆœ€ๆ–ฐ็š„ Node.js ็›ธๅ…ณๆŠ€ๆœฏๆ–‡็ซ ใ€ๅบ“ใ€ๅทฅๅ…ทๅ’Œ่ถ‹ๅŠฟใ€‚"),a("span",{class:"VPBadge tip badge"},"ๆŠ€ๆœฏๅ‘จๅˆŠ")]),a("a",{href:"https://www.ruanyifeng.com/blog/weekly/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("span",{class:"name"},"้˜ฎไธ€ๅณฐ็ฝ‘็ปœๆ—ฅๅฟ—")]),a("p",{class:"desc"},"้˜ฎไธ€ๅณฐ็š„็ฝ‘็ปœๆ—ฅๅฟ—๏ผŒๆฏๅ‘จไบ”ๅ‘ๅธƒ๏ผŒๅˆ†ไบซๆœ€ๆ–ฐ็š„ๅ‰็ซฏๆŠ€ๆœฏๆ–‡็ซ ใ€ๅบ“ใ€ๅทฅๅ…ทๅ’Œ่ถ‹ๅŠฟ็ญ‰ใ€‚"),a("span",{class:"VPBadge tip badge"},"ๆŠ€ๆœฏๅ‘จๅˆŠ")]),a("a",{href:"https://fed.chanceyu.com/?q=%5B%E6%9D%A5%E6%BA%90%5D%20%E5%89%8D%E7%AB%AF%E6%97%A9%E8%AF%BB%E8%AF%BE",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://res.wx.qq.com/a/wx_fed/assets/res/OTE0YTAw.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"ๅ‰็ซฏๆ—ฉ่ฏป่ฏพ")]),a("p",{class:"desc"},"ๅ‰็ซฏ้ข†ๅŸŸไธ“ไธš็š„ๅพฎไฟกๅ…ฌไผ—ๅท๏ผŒๅ‘ๅธƒไธ€ไบ›ไธŽๅ‰็ซฏ็›ธๅ…ณ็š„ๆทฑๅบฆๆŠ€ๆœฏๆ–‡็ซ ใ€ๅบ“ใ€ๅทฅๅ…ทๅ’Œ่ถ‹ๅŠฟ็ญ‰ใ€‚"),a("span",{class:"VPBadge tip badge"},"ไธ“ไธšๅ…ฌไผ—ๅท")]),a("a",{href:"https://fed.chanceyu.com/?q=%5B%E6%9D%A5%E6%BA%90%5D%20%E5%89%8D%E7%AB%AF%E4%B9%8B%E5%B7%85",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://res.wx.qq.com/a/wx_fed/assets/res/OTE0YTAw.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"ๅ‰็ซฏไน‹ๅท…")]),a("p",{class:"desc"},"ๅ‰็ซฏ้ข†ๅŸŸไธ“ไธš็š„ๅพฎไฟกๅ…ฌไผ—ๅท๏ผŒๅ‘ๅธƒไธ€ไบ›ไธŽๅ‰็ซฏ็›ธๅ…ณ็š„ๆทฑๅบฆๆŠ€ๆœฏๆ–‡็ซ ใ€ๅบ“ใ€ๅทฅๅ…ทๅ’Œ่ถ‹ๅŠฟ็ญ‰ใ€‚"),a("span",{class:"VPBadge tip badge"},"ไธ“ไธšๅ…ฌไผ—ๅท")]),a("a",{href:"https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzIxMzExMjYwOQ==&action=getalbum&album_id=1369610438157369345#wechat_redirect",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://res.wx.qq.com/a/wx_fed/assets/res/OTE0YTAw.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"ๅ‡นๅ‡ธๅฎž้ชŒๅฎค")]),a("p",{class:"desc"},"่’ฒๅ…ฌ่‹ฑยทJELLYๆŠ€ๆœฏๅ‘จๅˆŠ๏ผŒ็”ฑไบฌไธœยทๅ‡นๅ‡ธๅฎž้ชŒๅฎค็ปดๆŠคๆ•ด็†็š„ๆŠ€ๆœฏๅ‘จๅˆŠ๏ผŒไปŽๅ›ข้˜Ÿไธ“ๆณจ็š„็ ”็ฉถๆŠ€ๆœฏๆ–นๅ‘ๅ‡บๅ‘๏ผŒๆทฑๅ…ฅๆŒ–ๆŽ˜ไธš็•Œ็ƒญ็‚น๏ผŒ่š็„ฆๆŠ€ๆœฏๅŠจๆ€ใ€‚ๆŠ€ๆœฏๅ‘จๅˆŠๅ†…ๅฎนๅˆ†็ฑปไธป่ฆๅŒ…ๆ‹ฌๅฆ‚ไธ‹๏ผšๅŸบ็ก€ๆŠ€ๆœฏใ€ๅทฅ็จ‹ๅŒ–ใ€่ทจ็ซฏๆก†ๆžถๆŠ€ๆœฏใ€ๅ›พๅฝข็ผ–็จ‹ใ€ๆœๅŠก็ซฏๅผ€ๅ‘ใ€ๆกŒ้ขๅผ€ๅ‘ใ€ไบบๅทฅๆ™บ่ƒฝ็ญ‰ใ€‚"),a("span",{class:"VPBadge tip badge"},"ๆŠ€ๆœฏๅ‘จๅˆŠ")]),a("a",{href:"https://fed.chanceyu.com/?q=%5B%E6%9D%A5%E6%BA%90%5D%20%E5%89%8D%E7%AB%AF%E5%A4%A7%E5%85%A8",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://res.wx.qq.com/a/wx_fed/assets/res/OTE0YTAw.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"ๅ‰็ซฏๅคงๅ…จ")]),a("p",{class:"desc"},"ๅ‰็ซฏๅคงๅ…จ๏ผŒๅˆ†ไบซๆœ€ๆ–ฐ็š„ๅ‰็ซฏๆŠ€ๆœฏๆ–‡็ซ ใ€ๅบ“ใ€ๅทฅๅ…ทๅ’Œ่ถ‹ๅŠฟ"),a("span",{class:"VPBadge tip badge"},"ไธ“ไธšๅ…ฌไผ—ๅท")]),a("a",{href:"https://fed.chanceyu.com/?q=%5B%E6%9D%A5%E6%BA%90%5D%20%E5%89%8D%E7%AB%AF%E4%B9%8B%E7%A5%9E",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://res.wx.qq.com/a/wx_fed/assets/res/OTE0YTAw.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"ๅ‰็ซฏไน‹็ฅž")]),a("p",{class:"desc"},"ๅ‰็ซฏไน‹็ฅž๏ผŒๅˆ†ไบซๆœ€ๆ–ฐ็š„ๅ‰็ซฏๆŠ€ๆœฏๆ–‡็ซ ใ€ๅบ“ใ€ๅทฅๅ…ทๅ’Œ่ถ‹ๅŠฟ"),a("span",{class:"VPBadge tip badge"},"ไธ“ไธšๅ…ฌไผ—ๅท")]),a("a",{href:"https://fed.chanceyu.com/?q=%5B%E6%9D%A5%E6%BA%90%5D%20%E7%A8%8B%E5%BA%8F%E5%91%98%E6%88%90%E9%95%BF%E6%8C%87%E5%8C%97",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://res.wx.qq.com/a/wx_fed/assets/res/OTE0YTAw.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"็จ‹ๅบๅ‘˜ๆˆ้•ฟๆŒ‡ๅŒ—")]),a("p",{class:"desc"},"ๅ‰็ซฏ้ข†ๅŸŸไธ“ไธš็š„ๅพฎไฟกๅ…ฌไผ—ๅท๏ผŒๅ‘ๅธƒไธ€ไบ›ไธŽๅ‰็ซฏ็›ธๅ…ณ็š„ๆทฑๅบฆๆŠ€ๆœฏๆ–‡็ซ ใ€ๅบ“ใ€ๅทฅๅ…ทๅ’Œ่ถ‹ๅŠฟ็ญ‰ใ€‚"),a("span",{class:"VPBadge tip badge"},"ไธ“ไธšๅ…ฌไผ—ๅท")]),a("a",{href:"https://fed.chanceyu.com/?q=%5B%E6%9D%A5%E6%BA%90%5D%20%E5%AD%97%E8%8A%82%E5%89%8D%E7%AB%AF-ByteFE",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://res.wx.qq.com/a/wx_fed/assets/res/OTE0YTAw.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"ByteFE")]),a("p",{class:"desc"},"ๅญ—่Š‚่ทณๅŠจๅ‰็ซฏๅ›ข้˜Ÿ็ปดๆŠค็š„ไธ“ไธšๅพฎไฟกๅ…ฌไผ—ๅท๏ผŒๅˆ†ไบซๆŠ€ๆœฏๅ‰ๆฒฟใ€ๆ–‡็ซ ๅˆ†ไบซใ€ๅฎž่ทตๅนฒ่ดง็ญ‰ใ€‚"),a("span",{class:"VPBadge tip badge"},"ไธ“ไธšๅ…ฌไผ—ๅท")]),a("a",{href:"https://fed.chanceyu.com/?q=%5B%E6%9D%A5%E6%BA%90%5D%20%E5%89%8D%E7%AB%AF%E4%BB%8E%E8%BF%9B%E9%98%B6%E5%88%B0%E5%85%A5%E9%99%A2",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://res.wx.qq.com/a/wx_fed/assets/res/OTE0YTAw.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"ๅ‰็ซฏไปŽ่ฟ›้˜ถๅˆฐๅ…ฅ้™ข")]),a("p",{class:"desc"},"ๅ‰็ซฏไปŽ่ฟ›้˜ถๅˆฐๅ…ฅ้™ข๏ผŒๅˆ†ไบซๆœ€ๆ–ฐ็š„ๅ‰็ซฏๆŠ€ๆœฏๆ–‡็ซ ใ€ๅบ“ใ€ๅทฅๅ…ทๅ’Œ่ถ‹ๅŠฟ"),a("span",{class:"VPBadge tip badge"},"ไธ“ไธšๅ…ฌไผ—ๅท")]),a("a",{href:"https://www.zhangxinxu.com/wordpress/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("span",{class:"name"},"ๅผ ้‘ซๆ—ญ-้‘ซ็ฉบ้—ด-้‘ซ็”Ÿๆดป")]),a("p",{class:"desc"},"ๅผ ้‘ซๆ—ญ็š„ไธชไบบๅšๅฎข๏ผŒๅˆ†ไบซๆœ€ๆ–ฐ็š„ๅ‰็ซฏๆŠ€ๆœฏๆ–‡็ซ ใ€ๅบ“ใ€ๅทฅๅ…ทๅ’Œ่ถ‹ๅŠฟ็ญ‰ใ€‚"),a("span",{class:"VPBadge tip badge"},"็ฝ‘็ปœๅšๅฎข")]),a("a",{href:"https://fed.chanceyu.com/?q=%5B%E6%9D%A5%E6%BA%90%5D%20%E6%B7%98%E7%B3%BB%E5%89%8D%E7%AB%AF%E5%9B%A2%E9%98%9F",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://res.wx.qq.com/a/wx_fed/assets/res/OTE0YTAw.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"ๆท˜็ณปๅ‰็ซฏๅ›ข้˜Ÿ")]),a("p",{class:"desc"},"ๆท˜ๅฎๅ‰็ซฏๅ›ข้˜Ÿ๏ผŒๅˆ†ไบซๆœ€ๆ–ฐ็š„ๅ‰็ซฏๆŠ€ๆœฏๆ–‡็ซ ใ€ๅบ“ใ€ๅทฅๅ…ทๅ’Œ่ถ‹ๅŠฟ็ญ‰ใ€‚"),a("span",{class:"VPBadge tip badge"},"ไธ“ไธšๅ…ฌไผ—ๅท")])])],-1)])])}const h=d(l,[["render",n]]);export{v as __pageData,h as default}; diff --git "a/assets/01.\345\205\250\346\240\210_90.\345\267\245\345\205\267\344\270\216\350\265\204\346\272\220\346\216\250\350\215\220_90.\345\205\250\346\240\210\346\212\200\346\234\257\350\265\204\346\272\220\346\216\250\350\215\220.md.Dq7Ydo7v.lean.js" "b/assets/01.\345\205\250\346\240\210_90.\345\267\245\345\205\267\344\270\216\350\265\204\346\272\220\346\216\250\350\215\220_90.\345\205\250\346\240\210\346\212\200\346\234\257\350\265\204\346\272\220\346\216\250\350\215\220.md.BBjcdRsJ.lean.js" similarity index 99% rename from "assets/01.\345\205\250\346\240\210_90.\345\267\245\345\205\267\344\270\216\350\265\204\346\272\220\346\216\250\350\215\220_90.\345\205\250\346\240\210\346\212\200\346\234\257\350\265\204\346\272\220\346\216\250\350\215\220.md.Dq7Ydo7v.lean.js" rename to "assets/01.\345\205\250\346\240\210_90.\345\267\245\345\205\267\344\270\216\350\265\204\346\272\220\346\216\250\350\215\220_90.\345\205\250\346\240\210\346\212\200\346\234\257\350\265\204\346\272\220\346\216\250\350\215\220.md.BBjcdRsJ.lean.js" index 141a7641..b8805404 100644 --- "a/assets/01.\345\205\250\346\240\210_90.\345\267\245\345\205\267\344\270\216\350\265\204\346\272\220\346\216\250\350\215\220_90.\345\205\250\346\240\210\346\212\200\346\234\257\350\265\204\346\272\220\346\216\250\350\215\220.md.Dq7Ydo7v.lean.js" +++ "b/assets/01.\345\205\250\346\240\210_90.\345\267\245\345\205\267\344\270\216\350\265\204\346\272\220\346\216\250\350\215\220_90.\345\205\250\346\240\210\346\212\200\346\234\257\350\265\204\346\272\220\346\216\250\350\215\220.md.BBjcdRsJ.lean.js" @@ -1 +1 @@ -import{_ as d,g as i,h as c,U as e,i as a,S as s}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const v=JSON.parse('{"title":"ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡็ณป็ปŸๆขณ็†ไบ†็Žฐไปฃๅ…จๆ ˆๅผ€ๅ‘็š„ๅฎŒๆ•ดๆŠ€ๆœฏๅ›พ่ฐฑไธŽๆผ”่ฟ›่Œƒๅผ๏ผŒไธบๅผ€ๅ‘่€…ๆไพ›ไบ†ไธ€็ซ™ๅผ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—ใ€‚ๆ–‡็ซ ไปŽๅŸบ็Ÿณๅ‡บๅ‘๏ผŒ่ฆ†็›– Web ๆ ธๅฟƒ่ฏญ่จ€๏ผˆJS/TS๏ผ‰ ไธŽ ไธปๆต UI ๆก†ๆžถ๏ผˆReact/Vue/Svelte๏ผ‰๏ผŒๅนถๆŽจ่ไปฅ Tailwind CSS ๅ’Œ shadcn/ui ไธบไปฃ่กจ็š„็Žฐไปฃๆ ทๅผไธŽ็ป„ไปถๅŽŸ่ฏญใ€‚ๅœจๆ ธๅฟƒไธšๅŠก้€ป่พ‘ๅฑ‚๏ผŒๆทฑๅบฆๅฏนๆฏ”ไบ†่ฝป้‡ๅŒ–็Šถๆ€็ฎก็†ๆ–นๆกˆ๏ผˆ้ฆ–ๆŽจ Zustand/Jotai๏ผ‰๏ผŒๅนถ้‡็‚น่งฃๆžไบ†ๆ•ฐๆฎไบคไบ’็š„ไธ‰ๅคง็Žฐไปฃๆžถๆž„่Œƒๅผ๏ผšไปŽๅŸบ็ก€ Axios ๅˆฐ React Query ็Šถๆ€่ฐƒๅบฆ๏ผŒๅ†ๅˆฐ tRPC ๅ’Œ GraphQL ๅธฆๆฅ็š„ๅ…จๆ ˆ็ฑปๅž‹ๅฎ‰ๅ…จไธŽๅคš็ซฏ่šๅˆใ€‚ๅœจๅทฅ็จ‹ๅŒ–ไธŽๆœๅŠก็ซฏๆจกๅ—๏ผŒๆ–‡็ซ ๅ…จ้ขๆ‹ฅๆŠฑ Viteใ€Rsbuild ็ญ‰ๆž้€Ÿๆž„ๅปบๅทฅๅ…ท๏ผŒๅนถๅ‰–ๆžไบ† Next.js/Nuxt ๅŒๆž„ๅ…ƒๆก†ๆžถไธŽ NestJS ไผไธš็บง Node ๆœๅŠก็š„ๆœ€ไฝณ้€‚็”จๅœบๆ™ฏใ€‚ๆœ€ๅŽ๏ผŒ่พ…ไปฅ Vercel ็ญ‰็Žฐไปฃ่พน็ผ˜้ƒจ็ฝฒๅนณๅฐๅŠไธฐๅฏŒ็š„ๅผ€ๆบ็คพๅŒบๅญฆไน ่ต„ๆบใ€‚","frontmatter":{"date":"2026-02-06T15:58:53.000Z","title":"ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡็ณป็ปŸๆขณ็†ไบ†็Žฐไปฃๅ…จๆ ˆๅผ€ๅ‘็š„ๅฎŒๆ•ดๆŠ€ๆœฏๅ›พ่ฐฑไธŽๆผ”่ฟ›่Œƒๅผ๏ผŒไธบๅผ€ๅ‘่€…ๆไพ›ไบ†ไธ€็ซ™ๅผ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—ใ€‚ๆ–‡็ซ ไปŽๅŸบ็Ÿณๅ‡บๅ‘๏ผŒ่ฆ†็›– Web ๆ ธๅฟƒ่ฏญ่จ€๏ผˆJS/TS๏ผ‰ ไธŽ ไธปๆต UI ๆก†ๆžถ๏ผˆReact/Vue/Svelte๏ผ‰๏ผŒๅนถๆŽจ่ไปฅ Tailwind CSS ๅ’Œ shadcn/ui ไธบไปฃ่กจ็š„็Žฐไปฃๆ ทๅผไธŽ็ป„ไปถๅŽŸ่ฏญใ€‚ๅœจๆ ธๅฟƒไธšๅŠก้€ป่พ‘ๅฑ‚๏ผŒๆทฑๅบฆๅฏนๆฏ”ไบ†่ฝป้‡ๅŒ–็Šถๆ€็ฎก็†ๆ–นๆกˆ๏ผˆ้ฆ–ๆŽจ Zustand/Jotai๏ผ‰๏ผŒๅนถ้‡็‚น่งฃๆžไบ†ๆ•ฐๆฎไบคไบ’็š„ไธ‰ๅคง็Žฐไปฃๆžถๆž„่Œƒๅผ๏ผšไปŽๅŸบ็ก€ Axios ๅˆฐ React Query ็Šถๆ€่ฐƒๅบฆ๏ผŒๅ†ๅˆฐ tRPC ๅ’Œ GraphQL ๅธฆๆฅ็š„ๅ…จๆ ˆ็ฑปๅž‹ๅฎ‰ๅ…จไธŽๅคš็ซฏ่šๅˆใ€‚ๅœจๅทฅ็จ‹ๅŒ–ไธŽๆœๅŠก็ซฏๆจกๅ—๏ผŒๆ–‡็ซ ๅ…จ้ขๆ‹ฅๆŠฑ Viteใ€Rsbuild ็ญ‰ๆž้€Ÿๆž„ๅปบๅทฅๅ…ท๏ผŒๅนถๅ‰–ๆžไบ† Next.js/Nuxt ๅŒๆž„ๅ…ƒๆก†ๆžถไธŽ NestJS ไผไธš็บง Node ๆœๅŠก็š„ๆœ€ไฝณ้€‚็”จๅœบๆ™ฏใ€‚ๆœ€ๅŽ๏ผŒ่พ…ไปฅ Vercel ็ญ‰็Žฐไปฃ่พน็ผ˜้ƒจ็ฝฒๅนณๅฐๅŠไธฐๅฏŒ็š„ๅผ€ๆบ็คพๅŒบๅญฆไน ่ต„ๆบใ€‚","permalink":"/growth/full-stack-resources","categories":["่ต„ๆบๆŽจ่"],"tags":["่ต„ๆบๆŽจ่","ๅ…จๆ ˆ"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/90.ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่/90.ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่.md","filePath":"01.ๅ…จๆ ˆ/90.ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่/90.ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่.md"}'),l={name:"01.ๅ…จๆ ˆ/90.ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่/90.ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่.md"};function n(o,t,r,p,_,m){return c(),i("div",null,[...t[0]||(t[0]=[e("",4),a("div",{class:"container nav-card-container"},[a("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[a("a",{href:"https://developer.mozilla.org/zh-CN/docs/Web/HTML",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://upload.wikimedia.org/wikipedia/commons/thumb/6/61/HTML5_logo_and_wordmark.svg/1200px-HTML5_logo_and_wordmark.svg.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"HTML")]),a("p",{class:"desc"},"HTML (HyperText Markup Language) ๆ˜ฏ็”จไบŽๅˆ›ๅปบ็ฝ‘้กต็š„ๆ ‡ๅ‡†ๆ ‡่ฎฐ่ฏญ่จ€๏ผŒ็”จไบŽๆ่ฟฐ็ฝ‘้กต็š„็ป“ๆž„ๅ’Œๅ†…ๅฎนใ€‚ๅฎƒไฝฟ็”จๆ ‡็ญพๆฅๅฎšไน‰ๆ–‡ๆกฃ็š„ไธๅŒ้ƒจๅˆ†๏ผŒๅฆ‚ๆ ‡้ข˜ใ€ๆฎต่ฝใ€ๅ›พๅƒใ€้“พๆŽฅ็ญ‰ใ€‚HTML ๆ˜ฏๆž„ๅปบ Web ้กต้ข็š„ๅŸบ็ก€๏ผŒไนŸๆ˜ฏๆ‰€ๆœ‰ๅ‰็ซฏๅผ€ๅ‘็š„่ตท็‚นใ€‚"),a("span",{class:"VPBadge tip badge"},"ๆ ‡่ฎฐ่ฏญ่จ€")]),a("a",{href:"https://developer.mozilla.org/zh-CN/docs/Web/CSS",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://upload.wikimedia.org/wikipedia/commons/thumb/d/d5/CSS3_logo_and_wordmark.svg/1200px-CSS3_logo_and_wordmark.svg.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"CSS")]),a("p",{class:"desc"},"CSS (Cascading Style Sheets) ๆ˜ฏ็”จไบŽๆ่ฟฐ็ฝ‘้กตๆ ทๅผๅ’Œๅธƒๅฑ€็š„ๆ ทๅผ่กจ่ฏญ่จ€ใ€‚ๅฎƒๅฎšไน‰ไบ†ๆ–‡ๆกฃ็š„ๅค–่ง‚๏ผŒๅŒ…ๆ‹ฌๅญ—ไฝ“ใ€้ขœ่‰ฒใ€้—ด่ทใ€ๅธƒๅฑ€็ญ‰ใ€‚CSS ไธŽ HTML ็ป“ๅˆไฝฟ็”จ๏ผŒๅฎž็Žฐไบ†็ฝ‘้กต็š„็ป“ๆž„ไธŽๆ ทๅผ็š„ๅˆ†็ฆป๏ผŒไฝฟๅพ—็ฝ‘้กต่ฎพ่ฎกๆ›ดๅŠ ็ตๆดปๅ’Œๅฏ็ปดๆŠคใ€‚"),a("span",{class:"VPBadge tip badge"},"ๆ ทๅผ่กจ")]),a("a",{href:"https://developer.mozilla.org/zh-CN/docs/Web/JavaScript",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://upload.wikimedia.org/wikipedia/commons/thumb/6/6a/JavaScript-logo.png/1200px-JavaScript-logo.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"JavaScript")]),a("p",{class:"desc"},"JavaScript ๆ˜ฏไธ€็งๅŠจๆ€ใ€ๅผฑ็ฑปๅž‹็š„่„šๆœฌ่ฏญ่จ€๏ผŒ็”จไบŽๅœจ Web ๆต่งˆๅ™จไธญๅฎž็Žฐไบคไบ’ๆ€งๅ’ŒๅŠจๆ€ๅ†…ๅฎนใ€‚ๅฎƒๆ˜ฏ Web ๅผ€ๅ‘็š„ๅŸบ็ก€๏ผŒไนŸๆ˜ฏๅ‰็ซฏๅผ€ๅ‘็š„ๆ ธๅฟƒ่ฏญ่จ€ใ€‚"),a("span",{class:"VPBadge tip badge"},"่„šๆœฌ่ฏญ่จ€")]),a("a",{href:"https://www.typescriptlang.org/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://upload.wikimedia.org/wikipedia/commons/thumb/4/4c/Typescript_logo_2020.svg/1200px-Typescript_logo_2020.svg.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"TypeScript")]),a("p",{class:"desc"},"TypeScript ๆ˜ฏ JavaScript ็š„ไธ€ไธช่ถ…้›†๏ผŒๆทปๅŠ ไบ†้™ๆ€็ฑปๅž‹ๆฃ€ๆŸฅๅ’Œๅ…ถไป–้ซ˜็บงๅŠŸ่ƒฝ๏ผŒไฝฟๅพ—ไปฃ็ ๆ›ดๅŠ ๅฏ้ ๅ’Œๅฏ็ปดๆŠคใ€‚ๅฎƒๅœจๅ‰็ซฏๅผ€ๅ‘ไธญๅพ—ๅˆฐๅนฟๆณ›ๅบ”็”จ๏ผŒๅฐคๅ…ถๅœจ React ้กน็›ฎไธญใ€‚"),a("span",{class:"VPBadge tip badge"},"้™ๆ€็ฑปๅž‹")]),a("a",{href:"https://webkit.org/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://webkit.org/wp-content/themes/webkit/images/webkit.svg",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"webkit")]),a("p",{class:"desc"},"WebKit ๆ˜ฏไธ€ไธชๅผ€ๆบ็š„ๆต่งˆๅ™จๅผ•ๆ“Ž๏ผŒ็”จไบŽๆธฒๆŸ“็ฝ‘้กตๅ†…ๅฎนใ€‚ๅฎƒๆ˜ฏ Safari ๆต่งˆๅ™จ็š„ๅผ•ๆ“Ž๏ผŒไนŸๆ˜ฏ Chrome ๆต่งˆๅ™จ็š„ไธ€้ƒจๅˆ†ใ€‚WebKit ๆไพ›ไบ†้ซ˜ๆ€ง่ƒฝ็š„็ฝ‘้กตๆธฒๆŸ“ๅ’Œไบคไบ’ๅŠŸ่ƒฝ๏ผŒๆ˜ฏๆž„ๅปบ็Žฐไปฃ Web ๅบ”็”จ็š„ๅŸบ็ก€ใ€‚"),a("span",{class:"VPBadge tip badge"},"ๆต่งˆๅ™จๅผ•ๆ“Ž")]),a("a",{href:"https://nodejs.org/zh-cn/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://upload.wikimedia.org/wikipedia/commons/thumb/d/d9/Node.js_logo.svg/1200px-Node.js_logo.svg.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Node.js")]),a("p",{class:"desc"},"Node.js ๆ˜ฏไธ€ไธชๅŸบไบŽ Chrome V8 ๅผ•ๆ“Ž็š„ JavaScript ่ฟ่กŒๆ—ถ็Žฏๅขƒ๏ผŒ็”จไบŽๅœจๆœๅŠกๅ™จ็ซฏๆ‰ง่กŒ JavaScript ไปฃ็ ใ€‚ๅฎƒๅ…่ฎธๅผ€ๅ‘่€…ไฝฟ็”จ JavaScript ๆž„ๅปบ้ซ˜ๆ€ง่ƒฝ็š„็ฝ‘็ปœๅบ”็”จ็จ‹ๅบ๏ผŒๅฆ‚ๆœๅŠกๅ™จ็ซฏๆธฒๆŸ“ใ€ๅฎžๆ—ถๅบ”็”จ็จ‹ๅบๅ’Œ API ๆœๅŠกใ€‚"),a("span",{class:"VPBadge tip badge"},"ๆœๅŠกๅ™จ็ซฏ")])])],-1),a("h2",{id:"_2-ๆ ธๅฟƒ-ui-ๆก†ๆžถ",tabindex:"-1"},[s("2. ๆ ธๅฟƒ UI ๆก†ๆžถ "),a("a",{class:"header-anchor",href:"#_2-ๆ ธๅฟƒ-ui-ๆก†ๆžถ","aria-label":"Permalink to โ€œ2. ๆ ธๅฟƒ UI ๆก†ๆžถโ€"},"โ€‹")],-1),a("div",{class:"container nav-card-container"},[a("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[a("a",{href:"https://react.dev/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://upload.wikimedia.org/wikipedia/commons/thumb/a/a7/React-icon.svg/1200px-React-icon.svg.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"React")]),a("p",{class:"desc"},"React ๆ˜ฏ Facebook ๅผ€ๅ‘็š„็”จไบŽๆž„ๅปบ็”จๆˆท็•Œ้ข็š„ๅฃฐๆ˜Žๅผ JavaScript ๅบ“๏ผŒ้‡‡็”จ็ป„ไปถๅŒ–ๆžถๆž„๏ผŒๆ”ฏๆŒๆœๅŠกๅ™จ็ซฏๆธฒๆŸ“ๅ’Œๅฎขๆˆท็ซฏไบคไบ’ใ€‚ๅฎƒๅ…่ฎธๅผ€ๅ‘่€…่ฎพ่ฎก็ฎ€ๅ•็š„่ง†ๅ›พ๏ผŒๅนถๆ นๆฎๆ•ฐๆฎๅ˜ๅŒ–้ซ˜ๆ•ˆๆ›ดๆ–ฐๆธฒๆŸ“็ป„ไปถใ€‚"),a("span",{class:"VPBadge tip badge"},"ๅฃฐๆ˜Žๅผ")]),a("a",{href:"https://vuejs.org/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://upload.wikimedia.org/wikipedia/commons/thumb/9/95/Vue.js_Logo_2.svg/1200px-Vue.js_Logo_2.svg.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Vue")]),a("p",{class:"desc"},"Vue.js ๆ˜ฏไธ€ๅฅ—็”จไบŽๆž„ๅปบ็”จๆˆท็•Œ้ข็š„ๆธ่ฟ›ๅผๆก†ๆžถ๏ผŒ้‡‡็”จ็ป„ไปถๅŒ–ๆžถๆž„๏ผŒๆ”ฏๆŒๆœๅŠกๅ™จ็ซฏๆธฒๆŸ“ๅ’Œๅฎขๆˆท็ซฏไบคไบ’ใ€‚ๅผบ่ฐƒๆ˜“็”จๆ€งๅ’Œ้ซ˜ๆ€ง่ƒฝใ€‚ๅ…ถ็”Ÿๆ€ๅŒ…ๅซๅฎ˜ๆ–น่ทฏ็”ฑ (Vue Router) ๅ’Œ็Šถๆ€็ฎก็†ๅบ“ (Pinia)ใ€‚"),a("span",{class:"VPBadge tip badge"},"ๆธ่ฟ›ๅผ")]),a("a",{href:"https://svelte.dev/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://upload.wikimedia.org/wikipedia/commons/thumb/1/1b/Svelte_Logo.svg/1200px-Svelte_Logo.svg.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Svelte")]),a("p",{class:"desc"},"Svelte ๆ˜ฏไธ€็งๅ…จๆ–ฐ็š„ๆž„ๅปบ Web ๅบ”็”จ็š„ๆ–นๅผ๏ผŒไฝœไธบ็ผ–่ฏ‘ๅ™จๅฐ†ๅฃฐๆ˜Žๅผ็ป„ไปถ่ฝฌๆขไธบ้ซ˜ๆ•ˆไธ”่ƒฝ็›ดๆŽฅๆ“ไฝœ DOM ็š„ JavaScript ไปฃ็ ๏ผŒ่ฟ่กŒๆ—ถๅผ€้”€ๆžๅฐใ€‚ๅฎƒๅผบ่ฐƒ็ป„ไปถๅŒ–ๅผ€ๅ‘๏ผŒๅผ€ๅ‘่€…ๅฏไปฅ็›ดๆŽฅๅœจ HTML ไธญ็ผ–ๅ†™็ป„ไปถ้€ป่พ‘๏ผŒๆ— ้œ€้ขๅค–็š„่ฟ่กŒๆ—ถๆ”ฏๆŒใ€‚"),a("span",{class:"VPBadge tip badge"},"็ผ–่ฏ‘ๆ—ถ")])])],-1),a("h2",{id:"_3-ๆ ทๅผไธŽ-ui-็ป„ไปถๅบ“-styling-component-libraries",tabindex:"-1"},[s("3. ๆ ทๅผไธŽ UI ็ป„ไปถๅบ“ (Styling & Component Libraries) "),a("a",{class:"header-anchor",href:"#_3-ๆ ทๅผไธŽ-ui-็ป„ไปถๅบ“-styling-component-libraries","aria-label":"Permalink to โ€œ3. ๆ ทๅผไธŽ UI ็ป„ไปถๅบ“ (Styling & Component Libraries)โ€"},"โ€‹")],-1),a("div",{class:"container nav-card-container"},[a("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[a("a",{href:"https://tailwindcss.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://upload.wikimedia.org/wikipedia/commons/thumb/d/d5/Tailwind_CSS_Logo.svg/1200px-Tailwind_CSS_Logo.svg.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Tailwind CSS")]),a("p",{class:"desc"},"็Žฐไปฃๅ‰็ซฏ้ฆ–้€‰็š„ๅฎž็”จไผ˜ๅ…ˆ (Utility-first) CSS ๆก†ๆžถ๏ผŒ้€š่ฟ‡็ฑปๅ็ป„ๅˆๅฎž็Žฐๆ ทๅผ๏ผŒๆ— ้œ€็ผ–ๅ†™่‡ชๅฎšไน‰ CSSใ€‚"),a("span",{class:"VPBadge tip badge"},"ๅฎž็”จไผ˜ๅ…ˆ")]),a("a",{href:"https://daisyui.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://img.daisyui.com/images/daisyui/mark.svg",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Daisy UI")]),a("p",{class:"desc"},"ๆ˜ฏไธ€ไธชๅŸบไบŽ Tailwind CSS ็š„็ƒญ้—จๅผ€ๆบUI็ป„ไปถๅบ“๏ผŒ้€š่ฟ‡ๆทปๅŠ ่ฏญไน‰ๅŒ–็ฑปๅ๏ผˆๅฆ‚ btn, card๏ผ‰ๆฅ่งฃๅ†ณ Tailwind ๅ†—้•ฟ็š„ไปฃ็ ้—ฎ้ข˜๏ผŒ่ƒฝๅธฎๅผ€ๅ‘่€…็”จๆ›ดๅฐ‘็š„ไปฃ็ ใ€ๆ›ดๅฟซๅœฐๆž„ๅปบๅ‡บๅนฒๅ‡€ใ€็พŽ่ง‚ใ€ๅ“ๅบ”ๅผไธ”ๆ”ฏๆŒไธป้ข˜่‡ชๅฎšไน‰็š„ Web ็•Œ้ขใ€‚"),a("span",{class:"VPBadge tip badge"},"tailwind ๆ’ไปถ")]),a("a",{href:"https://ui.shadcn.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://ui.shadcn.com/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"shadcn/ui")]),a("p",{class:"desc"},"shadcn/ui ไธๆ˜ฏไธ€ไธชไผ ็ปŸ็š„็ป„ไปถๅบ“๏ผŒ่€Œๆ˜ฏไธ€็งๆž„ๅปบไฝ ่‡ชๅทฑ็š„็ป„ไปถๅบ“็š„ๆ–นๆณ•ใ€‚ๅฎƒๆไพ›ไบ†ไธ€ๅฅ—็ฒพๅฟƒ่ฎพ่ฎกใ€ๅฏ่ฎฟ้—ฎ็š„็ป„ไปถๅ’Œไปฃ็ ๅˆ†ๅ‘ๅนณๅฐ๏ผŒๅ…ผๅฎนไฝ ๅ–œๆฌข็š„ๆก†ๆžถๅ’Œ AI ๆจกๅž‹ใ€‚"),a("span",{class:"VPBadge tip badge"},"็ป„ไปถๅŽŸ่ฏญ")]),a("a",{href:"https://ant.design/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://gw.alipayobjects.com/zos/rmsportal/rlpTLlbMzTNYuZGGCVYM.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Ant Design")]),a("p",{class:"desc"},"AIโ€ฏๅ‹ๅฅฝ็š„ใ€Œ่ฎพ่ฎก็ณป็ปŸใ€๏ผŒ่ฎฉ็พŽไธŽๆ™บ่ƒฝๅนถ่ฟ›๏ผŒ่ฎฉๅทฅไฝœๅ……ๆปกใ€Œ็ตๆ„Ÿใ€ไธŽใ€Œๅฟซไนใ€ใ€‚"),a("span",{class:"VPBadge tip badge"},"็ป„ไปถๅบ“")]),a("a",{href:"https://element-plus.org/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://element-plus.org/images/element-plus-logo-small.svg",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"element-plus")]),a("p",{class:"desc"},"Element Plus ๆ˜ฏไธ€ไธชๅŸบไบŽ Vue 3 ่ฎพ่ฎก็š„็ป„ไปถๅบ“๏ผŒๆไพ›ไธฐๅฏŒ็š„็ป„ไปถๅ’Œๆ ทๅผ๏ผŒๅธธ็”จไบŽๆž„ๅปบๅŽๅฐ็ฎก็†็ณป็ปŸใ€‚"),a("span",{class:"VPBadge tip badge"},"็ป„ไปถๅบ“")]),a("a",{href:"https://vuetifyjs.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://vuetifyjs.com/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Vuetify")]),a("p",{class:"desc"},"ไธบ Vue 3 ่ฎพ่ฎก็š„ๆˆ็†Ÿ UI ๅบ“๏ผŒๅธธ็”จไบŽๆž„ๅปบๅŽๅฐ็ฎก็†็ณป็ปŸ๏ผŒๆไพ›ไธฐๅฏŒ็š„็ป„ไปถๅ’Œๆ ทๅผใ€‚"),a("span",{class:"VPBadge tip badge"},"็ป„ไปถๅบ“")])])],-1),a("h2",{id:"_4-่ทฏ็”ฑไธŽ็Šถๆ€็ฎก็†",tabindex:"-1"},[s("4. ่ทฏ็”ฑไธŽ็Šถๆ€็ฎก็† "),a("a",{class:"header-anchor",href:"#_4-่ทฏ็”ฑไธŽ็Šถๆ€็ฎก็†","aria-label":"Permalink to โ€œ4. ่ทฏ็”ฑไธŽ็Šถๆ€็ฎก็†โ€"},"โ€‹")],-1),a("div",{class:"container nav-card-container"},[a("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[a("a",{href:"https://reactrouter.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://reactrouter.com/favicon-dark.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"React Router")]),a("p",{class:"desc"},"React Router ๆ˜ฏ React ๅฎ˜ๆ–น็š„่ทฏ็”ฑ็ฎก็†ๅ™จ๏ผŒ็”จไบŽๆž„ๅปบๅ•้กตๅบ”็”จ (SPA)๏ผŒๆไพ›ๅŠจๆ€่ทฏ็”ฑๅŒน้…ใ€ๅตŒๅฅ—่ทฏ็”ฑใ€่ทฏ็”ฑๅฎˆๅซ็ญ‰ๅŠŸ่ƒฝใ€‚"),a("span",{class:"VPBadge tip badge"},"่ทฏ็”ฑ็ฎก็†ๅ™จ")]),a("a",{href:"https://router.vuejs.org/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://upload.wikimedia.org/wikipedia/commons/thumb/9/95/Vue.js_Logo_2.svg/1200px-Vue.js_Logo_2.svg.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Vue Router")]),a("p",{class:"desc"},"Vue.js ๅฎ˜ๆ–น็š„่ทฏ็”ฑ็ฎก็†ๅ™จ๏ผŒ็”จไบŽๆž„ๅปบๅ•้กตๅบ”็”จ (SPA)๏ผŒๆไพ›ๅŠจๆ€่ทฏ็”ฑๅŒน้…ใ€ๅตŒๅฅ—่ทฏ็”ฑใ€่ทฏ็”ฑๅฎˆๅซ็ญ‰ๅŠŸ่ƒฝใ€‚"),a("span",{class:"VPBadge tip badge"},"่ทฏ็”ฑ็ฎก็†ๅ™จ")]),a("a",{href:"https://github.com/pmndrs/zustand",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://avatars.githubusercontent.com/u/45790596?s=48&v=4",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Zustand")]),a("p",{class:"desc"},"pmndrs ็คพๅŒบๅ‡บๅ“๏ผŒๆ˜ฏ Redux ็š„็ŽฐไปฃๅŒ–ใ€ๆž็ฎ€ไธปไน‰็ฒพ็ฅž็ปงๆ‰ฟ่€…๏ผˆ่‡ชไธŠ่€Œไธ‹็š„ๅ…จๅฑ€ Store๏ผ‰๏ผŒๆไพ›ไบ†ไธ€็ง็ฎ€ๅ•็š„ๆ–นๅผๆฅ็ฎก็†ๅ…จๅฑ€็Šถๆ€ใ€‚"),a("span",{class:"VPBadge tip badge"},"็Šถๆ€็ฎก็†")]),a("a",{href:"https://github.com/pmndrs/jotai",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://avatars.githubusercontent.com/u/45790596?s=48&v=4",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Jotai")]),a("p",{class:"desc"},"pmndrs ็คพๅŒบๅ‡บๅ“๏ผŒๆ˜ฏ Recoil ็š„่ฝป้‡ๅŒ–ใ€้ซ˜ๆ€ง่ƒฝๆ›ฟไปฃ่€…๏ผˆ่‡ชไธ‹่€ŒไธŠ็š„ๅŽŸๅญๅŒ–็Šถๆ€๏ผ‰ใ€‚"),a("span",{class:"VPBadge tip badge"},"็Šถๆ€็ฎก็†")]),a("a",{href:"https://redux.js.org/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://redux.js.org/img/favicon/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Redux")]),a("p",{class:"desc"},"Redux ๆ˜ฏไธ€ไธช้ข„ๆต‹ๆ€ง็š„็Šถๆ€ๅฎนๅ™จ๏ผŒ็”จไบŽ็ฎก็†ๅบ”็”จ็š„ๅ…จๅฑ€็Šถๆ€๏ผŒๆไพ›ไธ€่‡ด็š„็Šถๆ€ๆ›ดๆ–ฐๅ’Œๅฏ้ข„ๆต‹็š„่กŒไธบใ€‚"),a("span",{class:"VPBadge tip badge"},"ไธๅ†ๆŽจ่")]),a("a",{href:"https://pinia.vuejs.org/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://pinia.vuejs.org/logo.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Pinia")]),a("p",{class:"desc"},"Vue.js ๅฎ˜ๆ–นๆŽจ่็š„็Šถๆ€็ฎก็†ๅบ“๏ผŒๅŸบไบŽ Vue 3 Composition API ่ฎพ่ฎก๏ผŒๆไพ›็ฎ€ๅ•ใ€็ตๆดป็š„็Šถๆ€็ฎก็†่งฃๅ†ณๆ–นๆกˆใ€‚"),a("span",{class:"VPBadge tip badge"},"็Šถๆ€็ฎก็†")])])],-1),e("",3),a("div",{class:"container nav-card-container"},[a("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[a("a",{href:"https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("span",{class:"name"},"Fetch API")]),a("p",{class:"desc"},"Fetch ๆ˜ฏไธ€ไธชๅŸบไบŽ Promise ็š„็Žฐไปฃ JavaScript API๏ผŒ็”จไบŽๅœจๆต่งˆๅ™จไธญๅ‘่ตท HTTP ่ฏทๆฑ‚๏ผˆAJAX๏ผ‰๏ผŒๆ˜ฏ XMLHttpRequest (XHR) ็š„ๆ›ด็ฎ€ๆดใ€ๆ›ดๅผบๅคง็š„ๆ›ฟไปฃๆ–นๆกˆใ€‚ๅฎƒๅ…่ฎธ้กต้ขๅœจไธ้‡่ฝฝ็š„ๆƒ…ๅ†ตไธ‹ไปŽๆœๅŠกๅ™จ่Žทๅ–ๆ•ฐๆฎ๏ผŒๆ”ฏๆŒ GETใ€POST ็ญ‰่ฏทๆฑ‚ๆ–นๆณ•๏ผŒๅนถๅนฟๆณ›ๅบ”็”จไบŽๅค„็†็ฝ‘็ปœๆ•ฐๆฎไบคไบ’ใ€‚"),a("span",{class:"VPBadge tip badge"},"ๅŽŸ็”Ÿ API")]),a("a",{href:"https://axios-http.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://axios-http.com/assets/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Axios")]),a("p",{class:"desc"},"Axios ๆ˜ฏไธ€ไธชๅŸบไบŽ Promise ็š„ HTTP ่ฏทๆฑ‚ๅบ“๏ผŒๅฏ่ฟ่กŒๅœจๆต่งˆๅ™จๅ’Œ Node.js ็Žฏๅขƒไธญใ€‚ๅฎƒๆ”ฏๆŒๆ‹ฆๆˆช่ฏทๆฑ‚ๅ’Œๅ“ๅบ”ใ€่ฝฌๆขๆ•ฐๆฎใ€ๅ–ๆถˆ่ฏทๆฑ‚็ญ‰ๅŠŸ่ƒฝ๏ผŒๆ˜ฏๅ‰็ซฏๅผ€ๅ‘ไธญๅธธ็”จ็š„ HTTP ่ฏทๆฑ‚ๅบ“ใ€‚"),a("span",{class:"VPBadge tip badge"},"ๅ…จ่ƒฝ่ฏทๆฑ‚ๅบ“")]),a("a",{href:"https://swr.vercel.app/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://swr.vercel.app/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"SWR")]),a("p",{class:"desc"},'SWR ๆ˜ฏ็”ฑ Vercel ๅผ€ๅ‘็š„ไธ€ไธชๅŸบไบŽ React Hooks ็š„่ฝป้‡็บงๆ•ฐๆฎ่ฏทๆฑ‚ๅบ“ใ€‚ๅฎƒๅŸบไบŽ "stale-while-revalidate" ็ญ–็•ฅ๏ผŒๅ…ˆ่ฟ”ๅ›ž็ผ“ๅญ˜ๆ•ฐๆฎ๏ผŒๅ†ๅœจๅŽๅฐ่ฏทๆฑ‚ๆœ€ๆ–ฐๆ•ฐๆฎ๏ผŒไฟ่ฏ UI ๅฟซ้€Ÿๅ“ๅบ”ไธ”ๆ•ฐๆฎไฟๆŒๆ›ดๆ–ฐใ€‚็‰น็‚น๏ผšๆž็ฎ€ไธปไน‰๏ผŒ่ถŠ่ฝป่ถŠๅฅฝ๏ผŒๅผ€็ฎฑๅณ็”จ๏ผŒไธ“ๆณจไบŽ HTTP ็ผ“ๅญ˜็ญ–็•ฅใ€‚'),a("span",{class:"VPBadge tip badge"},"ๆŒ‰้œ€้ชŒ่ฏ็ผ“ๅญ˜")]),a("a",{href:"https://tanstack.com/query/latest",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://tanstack.com/favicon-32x32.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"React Query")]),a("p",{class:"desc"},"React Query (็Žฐๆ›ดๅไธบ TanStack Query) ๆ˜ฏไธ€ไธชๅŠŸ่ƒฝๅผบๅคง็š„ React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†ๅบ“ใ€‚ๅฎƒไธ“ๆณจไบŽๅค„็†ๅผ‚ๆญฅๆ•ฐๆฎ็š„่Žทๅ–ใ€็ผ“ๅญ˜ใ€ๅŒๆญฅๅ’Œๆ›ดๆ–ฐ๏ผŒๅผ€็ฎฑๅณ็”จๅœฐ็ฎ€ๅŒ–ไบ† API ่ฏทๆฑ‚ใ€็ผ“ๅญ˜ๅค„็†ใ€ๆ•ฐๆฎ่ฟ‡ๆœŸๆ›ดๆ–ฐๅ’ŒๅŠ ่ฝฝ/้”™่ฏฏ็Šถๆ€็ฎก็†ใ€‚็‰น็‚น๏ผšๅŠŸ่ƒฝไธปไน‰ๅคง่€Œๅ…จ๏ผŒไธไป…ๆ˜ฏ HTTP๏ผŒๅฏ็”จไบŽไปปไฝ•ๅผ‚ๆญฅ Promise ็ฎก็†ใ€‚"),a("span",{class:"VPBadge tip badge"},"ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†")]),a("a",{href:"https://graphql.org/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://graphql.org/_next/static/media/logo-blurred.94c9eff4.webp",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"GraphQL")]),a("p",{class:"desc"},"GraphQL ๆ˜ฏไธ€ไธช็”จไบŽ API ็š„ๆŸฅ่ฏข่ฏญ่จ€ใ€ไธ€็งๆ่ฟฐ่ฏทๆฑ‚ๆ•ฐๆฎๆ–นๆณ•็š„่ฏญๆณ•๏ผŒ้€šๅธธ็”จไบŽๅฎขๆˆท็ซฏไปŽๆœๅŠก็ซฏๅŠ ่ฝฝๆ•ฐๆฎ๏ผŒไธป่ฆๆ˜ฏไธบไบ†่งฃๅ†ณ REST API ไธญ่ฟ‡ๅบฆ่Žทๅ–ๅ’Œ่Žทๅ–ไธ่ถณ็š„้—ฎ้ข˜ใ€‚"),a("span",{class:"VPBadge tip badge"},"ๆŒ‰้œ€ๅฃฐๆ˜ŽๅผๆŸฅ่ฏข")]),a("a",{href:"https://trpc.io/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://trpc.io/img/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"tRPC")]),a("p",{class:"desc"},"tRPC ๆ˜ฏๅŸบไบŽๆ’ไปถๅŒ–็†ๅฟต่ฎพ่ฎก็š„ไธ€ๆฌพๆ”ฏๆŒๅคš่ฏญ่จ€ใ€้ซ˜ๆ€ง่ƒฝ็š„ RPC ๅผ€ๅ‘ๆก†ๆžถ๏ผŒๆ—จๅœจๆ— ้œ€ๅฎšไน‰ไธ“้—จ API Schema๏ผˆๅฆ‚ Swagger/GraphQL๏ผ‰็š„ๆƒ…ๅ†ตไธ‹๏ผŒๅฎž็Žฐๅ‰ๅŽ็ซฏๆ— ็ผใ€ๅ…จๆ ˆ็ฑปๅž‹ๅฎ‰ๅ…จ็š„ API ่ฐƒ็”จใ€‚ๅฎƒ่ฎฉๅ‰็ซฏ่ƒฝๅƒ่ฐƒ็”จๆœฌๅœฐๅ‡ฝๆ•ฐไธ€ๆ ท่ฐƒ็”จๅŽ็ซฏ่ฟœ็จ‹ๅ‡ฝๆ•ฐ๏ผŒๅคงๅคงๆๅ‡ๅผ€ๅ‘ๆ•ˆ็އใ€‚"),a("span",{class:"VPBadge tip badge"},"็ซฏๅˆฐ็ซฏ็ฑปๅž‹ๅฎ‰ๅ…จ")])])],-1),e("",9),a("div",{class:"container nav-card-container"},[a("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[a("a",{href:"https://cn.vite.dev/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://cn.vite.dev/logo-without-border.svg",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Vite")]),a("p",{class:"desc"},"Vite ๆ˜ฏไธ€ๆฌพ้€Ÿๅบฆๆžๅฟซ็š„ๅ‰็ซฏๆž„ๅปบๅทฅๅ…ท๏ผŒไธบไธ‹ไธ€ไปฃ Web ๅบ”็”จ็จ‹ๅบๆไพ›ๆ”ฏๆŒ๏ผŒๅฎƒๆ‘’ๅผƒไบ†โ€œๅ…ˆๆ‰“ๅŒ…๏ผŒๅ†ๅฏๅŠจโ€็š„ๆจกๅผ๏ผŒๅผ€ๅฏไบ†โ€œๅŽŸ็”Ÿ ESMโ€ๅผ€ๅ‘็š„ๆ–ฐๆ—ถไปฃใ€‚"),a("span",{class:"VPBadge tip badge"},"ๆž้€Ÿ ESM ๆž„ๅปบ")]),a("a",{href:"https://rsbuild.rs/zh/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://assets.rspack.rs/rsbuild/favicon-128x128.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Rsbuild")]),a("p",{class:"desc"},"Rsbuild ๆ˜ฏไธ€ไธช็”ฑๅญ—่Š‚่ทณๅŠจ Web Infra ๅ›ข้˜Ÿๅผ€ๆบใ€ๅŸบไบŽ Rust ่ฏญ่จ€็ผ–ๅ†™็š„ Rspack ้ฉฑๅŠจ็š„้ซ˜ๆ€ง่ƒฝๆž„ๅปบๅทฅๅ…ทใ€‚ๅฎƒไธ“ๆณจไบŽไธบ Web ้กน็›ฎๆไพ›ๅผ€็ฎฑๅณ็”จ็š„ๅผ€ๅ‘ไฝ“้ชŒ๏ผŒ้€š่ฟ‡ๅ†…็ฝฎ็š„้ซ˜ๆ€ง่ƒฝๅทฅๅ…ท๏ผˆๅฆ‚ SWCใ€Lightning CSS๏ผ‰ๅฎž็Žฐๆžๅฟซ็š„ๆž„ๅปบ้€Ÿๅบฆ๏ผŒๅนถๆไพ›็ฑปไผผ Vite/Webpack ็š„้›ถ้…็ฝฎๆˆ–ไฝŽ้…็ฝฎไฝ“้ชŒใ€‚"),a("span",{class:"VPBadge tip badge"},"Rust ้ซ˜ๆ€ง่ƒฝๆž„ๅปบ")]),a("a",{href:"https://nextjscn.org/docs/app/api-reference/turbopack",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("span",{class:"name"},"Turbopack")]),a("p",{class:"desc"},"Turbopack ๆ˜ฏ็”ฑ Vercel ๅผ€ๅ‘ใ€ๅŸบไบŽ Rust ็ผ–ๅ†™็š„้ซ˜ๆ€ง่ƒฝๅขž้‡ๆ‰“ๅŒ…ๅทฅๅ…ท๏ผŒไธ“ไธบ JavaScript ๅ’Œ TypeScript ไผ˜ๅŒ–ใ€‚ๅฎƒ่ขซ่ฎพ่ฎกไธบ Webpack ็š„็ปงไปป่€…๏ผŒๆ—จๅœจ้€š่ฟ‡ไผ˜ๅŒ–็š„ๆœบๅ™จไปฃ็ ๅ’Œ้ซ˜ๅบฆๅขž้‡่ฎก็ฎ—่ƒฝๅŠ›๏ผŒๆไพ›ๆฏ” Vite ๅฟซ 10 ๅ€ใ€ๆฏ” Webpack ๅฟซ 700 ๅ€็š„ๆœฌๅœฐๅผ€ๅ‘ไฝ“้ชŒ๏ผŒไธป่ฆๅ†…็ฝฎไบŽ Next.jsใ€‚"),a("span",{class:"VPBadge tip badge"},"ๅขž้‡ๆž้€Ÿๆ‰“ๅŒ…")]),a("a",{href:"https://webpack.docschina.org/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://webpack.docschina.org/favicon.f326220248556af65f41.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Webpack")]),a("p",{class:"desc"},"Webpack ๆ˜ฏไธ€ไธช็Žฐไปฃ JavaScript ๅบ”็”จ็จ‹ๅบ็š„้™ๆ€ๆจกๅ—ๆ‰“ๅŒ…ๅทฅๅ…ทใ€‚ๅฎƒๅœจๅ†…้ƒจๆž„ๅปบไพ่ต–ๅ›พ๏ผŒๅฐ†้กน็›ฎไธญ็š„ๅ„็ง่ต„ๆบ๏ผˆๅฆ‚ JSใ€CSSใ€ๅ›พ็‰‡ใ€TypeScript ็ญ‰๏ผ‰่ง†ไธบๆจกๅ—๏ผŒๅนถๆœ€็ปˆๆ‰“ๅŒ…ๆˆๆต่งˆๅ™จๅฏ็›ดๆŽฅ่ฟ่กŒ็š„้™ๆ€ๆ–‡ไปถใ€‚้€š่ฟ‡ Loader ๅ’Œ Plugin๏ผŒๅฎƒ่ƒฝๅค„็†ๅคๆ‚็š„ๅผ€ๅ‘้œ€ๆฑ‚ใ€‚"),a("span",{class:"VPBadge tip badge"},"็ปๅ…ธๆจกๅ—ๆ‰“ๅŒ…")]),a("a",{href:"https://github.com/features/actions",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://github.com/fluidicon.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"GitHub Actions")]),a("p",{class:"desc"},"GitHub Actions ๆ˜ฏ GitHub ๆŽจๅ‡บ็š„ๆŒ็ปญ้›†ๆˆๅ’ŒๆŒ็ปญไบคไป˜ (CI/CD) ๅนณๅฐ๏ผŒๆ—จๅœจๅธฎๅŠฉๅผ€ๅ‘่€…่‡ชๅŠจๆ‰ง่กŒ่ฝฏไปถๅผ€ๅ‘ๅทฅไฝœๆตใ€‚ๅฎƒๅ…่ฎธๅœจไปฃ็ ไป“ๅบ“ไธญ็›ดๆŽฅๅฎšไน‰่‡ชๅŠจๅŒ–ๆต็จ‹๏ผˆๅฆ‚ๆž„ๅปบใ€ๆต‹่ฏ•ใ€้ƒจ็ฝฒ๏ผ‰๏ผŒๆ”ฏๆŒไบ‹ไปถ่งฆๅ‘๏ผˆๅฆ‚ๆไบคไปฃ็ ๏ผ‰๏ผŒๅนถๆไพ›่™šๆ‹Ÿๆœบ็Žฏๅขƒ๏ผˆUbuntuใ€Windowsใ€macOS๏ผ‰่ฟ่กŒไปปๅŠก๏ผŒไฝฟๅผ€ๅ‘ๆ›ด้ซ˜ๆ•ˆใ€‚"),a("span",{class:"VPBadge tip badge"},"CI/CD ่‡ชๅŠจๅŒ–")])])],-1),a("h2",{id:"_7-ๅ…จๆ ˆๆก†ๆžถ",tabindex:"-1"},[s("7. ๅ…จๆ ˆๆก†ๆžถ "),a("a",{class:"header-anchor",href:"#_7-ๅ…จๆ ˆๆก†ๆžถ","aria-label":"Permalink to โ€œ7. ๅ…จๆ ˆๆก†ๆžถโ€"},"โ€‹")],-1),a("blockquote",null,[a("p",null,[a("strong",null,"ๅŒๆž„ๅ…ƒๆก†ๆžถ๏ผšNext.jsใ€Nuxt"),s("๏ผŒ็Žฐไปฃๅ…จๆ ˆๅผ€ๅ‘ๅ€พๅ‘ไบŽไฝฟ็”จโ€œๅ…ƒๆก†ๆžถโ€๏ผŒๅฎƒไปฌๆจก็ณŠไบ†ๅฎขๆˆท็ซฏๅ’ŒๆœๅŠกๅ™จ็š„็•Œ้™๏ผŒๆไพ›ไธ€ไฝ“ๅŒ–็š„ๅผ€ๅ‘ไฝ“้ชŒใ€‚")]),a("p",null,[a("strong",null,"ไผไธš็บง Node ๆœๅŠก็ซฏๆก†ๆžถ๏ผšNestJS"),s("๏ผŒไธ€ไธช็”จไบŽๆž„ๅปบ้ซ˜ๆ•ˆใ€ๅฏๆ‰ฉๅฑ•็š„ Node.js ๆœๅŠกๅ™จ็ซฏๅบ”็”จ็จ‹ๅบ็š„ๆก†ๆžถ๏ผŒๅฎƒ้‡‡็”จ็Žฐไปฃ TypeScript ็ผ–ๅ†™๏ผŒๅนถๅฎŒๅ…จๆ”ฏๆŒๅฎƒ๏ผˆๅŒๆ—ถไนŸๆ”ฏๆŒ็บฏ JavaScript๏ผ‰ใ€‚ๅฎƒ่žๅˆไบ† OOP๏ผˆ้ขๅ‘ๅฏน่ฑก็ผ–็จ‹๏ผ‰ใ€FP๏ผˆๅ‡ฝๆ•ฐๅผ็ผ–็จ‹๏ผ‰ๅ’Œ FRP๏ผˆๅ‡ฝๆ•ฐๅ“ๅบ”ๅผ็ผ–็จ‹๏ผ‰็š„็†ๅฟตใ€‚ๅ…ถ่ฎพ่ฎกๆทฑๅ— Angular ๅฏๅ‘๏ผŒๅ†…็ฝฎไบ†ไพ่ต–ๆณจๅ…ฅ๏ผˆDI๏ผ‰ใ€ๆจกๅ—ๅŒ–ๅ’Œๅˆ†ๅฑ‚ๆžถๆž„็ญ‰ๅผบไธปๅผ ็‰นๆ€ง๏ผŒ่ขซ็งฐไธบ Node.js ็‰ˆ็š„ Spring ๆก†ๆžถใ€‚")])],-1),a("div",{class:"container nav-card-container"},[a("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[a("a",{href:"https://nextjs.org/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://nextjs.org/favicon.ico?favicon.3fc65821.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Next.js")]),a("p",{class:"desc"},"Next.js ๆ˜ฏไธ€ไธชๅŸบไบŽ Reactใ€Node.js ็š„ๅ…จๆ ˆ Web ๅผ€ๅ‘ๆก†ๆžถ๏ผŒ็”ฑ Vercel ๅ…ฌๅธ็ปดๆŠค๏ผŒไธ“ไธบ็”Ÿไบง็Žฏๅขƒ่ฎพ่ฎกใ€‚ๅฎƒ้€š่ฟ‡ๅ†…็ฝฎ็š„ๆœๅŠกๅ™จ็ซฏๆธฒๆŸ“ (SSR)ใ€้™ๆ€็ซ™็‚น็”Ÿๆˆ (SSG) ๅ’Œๅขž้‡้™ๆ€ๅ†็”Ÿๆˆ (ISR) ๆŠ€ๆœฏ๏ผŒ่งฃๅ†ณไบ†ไผ ็ปŸ React ๅบ”็”จ็š„ SEO ไผ˜ๅŒ–ๅทฎ ๅ’Œ้ฆ–ๅฑๅŠ ่ฝฝๆ…ข็š„้—ฎ้ข˜๏ผŒๆ˜ฏ็›ฎๅ‰ๆœ€ๅ—ๆฌข่ฟŽ็š„ React ๅบ”็”จๅผ€ๅ‘ๆก†ๆžถไน‹ไธ€ใ€‚"),a("span",{class:"VPBadge tip badge"},"SSR/SSG/ISR")]),a("a",{href:"https://nuxtjs.org/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://nuxt.com/icon.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Nuxt")]),a("p",{class:"desc"},"ๆ˜ฏไธ€ไธชๅŸบไบŽ Vue.js ็š„ๅผ€ๆบใ€ๅ…่ดน็š„ Web ๅผ€ๅ‘ๅ…ƒๆก†ๆžถ๏ผˆMeta-framework๏ผ‰๏ผŒไธ“ไธบๆž„ๅปบ้ซ˜ๆ€ง่ƒฝ็š„ๆœๅŠก็ซฏๆธฒๆŸ“๏ผˆSSR๏ผ‰ใ€้™ๆ€็ซ™็‚น็”Ÿๆˆ๏ผˆSSG๏ผ‰ๅ’Œๅ•้กตๅบ”็”จ๏ผˆSPA๏ผ‰่€Œ่ฎพ่ฎกใ€‚ๅฎƒ้›†ๆˆไบ† Viteใ€Vue 3 ๅ’Œ Nitro ๆœๅŠก็ซฏๅผ•ๆ“Ž๏ผŒๆ—จๅœจ็ฎ€ๅŒ–ๅผ€ๅ‘ๆต็จ‹๏ผŒๆไพ›ๅ“่ถŠ็š„ SEO ไผ˜ๅŒ–ๅ’Œๅผ€ๅ‘ไบบๅ‘˜ไฝ“้ชŒ"),a("span",{class:"VPBadge tip badge"},"SSR/SSG/ISR")]),a("a",{href:"https://nestjs.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://nestjs.com/favicon-32x32.a39d94f4.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"NestJS")]),a("p",{class:"desc"},"NestJS ๆ˜ฏไธ€ไธช็”จไบŽๆž„ๅปบ้ซ˜ๆ•ˆใ€ๅฏๆ‰ฉๅฑ•็š„ Node.js ๆœๅŠกๅ™จ็ซฏๅบ”็”จ็จ‹ๅบ็š„ๆก†ๆžถ๏ผŒๅฎƒ้‡‡็”จ็Žฐไปฃ TypeScript ็ผ–ๅ†™๏ผŒๅนถๅฎŒๅ…จๆ”ฏๆŒๅฎƒ๏ผˆๅŒๆ—ถไนŸๆ”ฏๆŒ็บฏ JavaScript๏ผ‰ใ€‚ๅฎƒ่žๅˆไบ† OOP๏ผˆ้ขๅ‘ๅฏน่ฑก็ผ–็จ‹๏ผ‰ใ€FP๏ผˆๅ‡ฝๆ•ฐๅผ็ผ–็จ‹๏ผ‰ๅ’Œ FRP๏ผˆๅ‡ฝๆ•ฐๅ“ๅบ”ๅผ็ผ–็จ‹๏ผ‰็š„็†ๅฟตใ€‚ๅ…ถ่ฎพ่ฎกๆทฑๅ— Angular ๅฏๅ‘๏ผŒๅ†…็ฝฎไบ†ไพ่ต–ๆณจๅ…ฅ๏ผˆDI๏ผ‰ใ€ๆจกๅ—ๅŒ–ๅ’Œๅˆ†ๅฑ‚ๆžถๆž„็ญ‰ๅผบไธปๅผ ็‰นๆ€ง๏ผŒ่ขซ็งฐไธบ Node.js ็‰ˆ็š„ Spring ๆก†ๆžถ."),a("span",{class:"VPBadge tip badge"},"ไผไธš็บง Node ๆก†ๆžถ")])])],-1),e("",2),a("div",{class:"container nav-card-container"},[a("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[a("a",{href:"https://vercel.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://assets.vercel.com/image/upload/front/favicon/vercel/apple-touch-icon-256x256.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Vercel")]),a("p",{class:"desc"},"Vercel ๆ˜ฏไธ€ไธช็Žฐไปฃๅ‰็ซฏ้กน็›ฎ็š„็†ๆƒณ้ƒจ็ฝฒๅนณๅฐ๏ผŒๅฎƒ้›ถ้…็ฝฎใ€ๆ”ฏๆŒ่‡ชๅŠจ้ƒจ็ฝฒๅ’Œ้ข„่งˆใ€ๆ‹ฅๆœ‰ๅ…จ็ƒๅŠ ้€Ÿ่Š‚็‚น๏ผŒๅนฟๆณ›็”จไบŽๅผ€ๆบ้กน็›ฎใ€ไธชไบบไฝœๅ“้›†ใ€ไผไธš็ฝ‘็ซ™็ญ‰ใ€‚ ๆ— ่ฎบไฝ ๆ˜ฏ็”จReactใ€Vueใ€Svelte ่ฟ˜ๆ˜ฏ้™ๆ€HTML๏ผŒๅช้œ€ๅ‡ ๆญฅๅฐฑๅฏไปฅๅฐ†้กน็›ฎไธŠ็บฟใ€‚"),a("span",{class:"VPBadge tip badge"},"ๅ‰็ซฏ่พน็ผ˜ๆ‰˜็ฎก")]),a("a",{href:"https://www.netlify.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://www.netlify.com/favicon/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Netlify")]),a("p",{class:"desc"},"ไธŽ Vercel ็ฑปไผผ๏ผŒๅŠŸ่ƒฝๆ›ดๅ…จ้ข๏ผšๆ”ฏๆŒๆ›ดๅคš็š„ๆก†ๆžถๅ’Œ้™ๆ€็ซ™็‚น็”Ÿๆˆๅ™จ๏ผŒๆœ‰่กจๅ•ๅค„็†ใ€ๆ— ๆœๅŠกๅ™จๅ‡ฝๆ•ฐ็ญ‰ๅŠŸ่ƒฝ๏ผŒๅ…่ดน้ขๅบฆๆ›ดๅคงใ€่ฟ˜ๆ”ฏๆŒ A/B ๆต‹่ฏ•ๅ’Œๅˆ†ๆžใ€‚Netlify ๆ˜ฏไธ€ไธชๅŸบไบŽไบ‘่ฎก็ฎ—็š„็ฝ‘็ซ™้ƒจ็ฝฒๅ’Œๆ‰˜็ฎกๅนณๅฐ๏ผŒไธ“ๆณจไบŽไธบๅผ€ๅ‘่€…ๆไพ›ไพฟๆท็š„้™ๆ€็ฝ‘็ซ™ๅ’ŒJamstack ๅบ”็”จ้ƒจ็ฝฒๆœๅŠกใ€‚ ๅฎƒ็š„ๆ ธๅฟƒไผ˜ๅŠฟๅœจไบŽๅฐ†็ฝ‘็ซ™ๆž„ๅปบใ€้ƒจ็ฝฒใ€ๆ‰˜็ฎกไปฅๅŠๆŒ็ปญ้›†ๆˆ/ ๆŒ็ปญ้ƒจ็ฝฒ๏ผˆCI/CD๏ผ‰ๆต็จ‹้ซ˜ๅบฆ้›†ๆˆ๏ผŒๆžๅคงๅœฐ็ฎ€ๅŒ–ไบ†ๅผ€ๅ‘ๅ’Œ่ฟ็ปด็š„ๅคๆ‚็จ‹ๅบฆ"),a("span",{class:"VPBadge tip badge"},"Jamstack ๅนณๅฐ")]),a("a",{href:"https://pages.github.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://github.com/fluidicon.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"GitHub Pages")]),a("p",{class:"desc"},"GitHub Pages ๆ˜ฏไธ€ไธช็”ฑ GitHub ๆไพ›็š„ใ€ๅ…่ดน็š„้™ๆ€็ฝ‘็ซ™ๆ‰˜็ฎกๆœๅŠกใ€‚ๅฎƒๅ…่ฎธ็”จๆˆท็›ดๆŽฅไปŽ GitHub ไป“ๅบ“๏ผˆRepository๏ผ‰่Žทๅ– HTMLใ€CSS ๅ’Œ JavaScript ๆ–‡ไปถ๏ผŒๆ— ้œ€้ขๅค–้…็ฝฎๆœๅŠกๅ™จๅณๅฏๅฟซ้€Ÿ้ƒจ็ฝฒไธชไบบไธป้กตใ€้กน็›ฎๆ–‡ๆกฃๆˆ–ๅšๅฎขใ€‚"),a("span",{class:"VPBadge tip badge"},"็บฏ้™ๆ€ๆ‰˜็ฎก")])])],-1),a("h2",{id:"_9-ๅญฆไน ่ต„ๆบไธŽ็คพๅŒบ-learning-community",tabindex:"-1"},[s("9. ๅญฆไน ่ต„ๆบไธŽ็คพๅŒบ (Learning & Community) "),a("a",{class:"header-anchor",href:"#_9-ๅญฆไน ่ต„ๆบไธŽ็คพๅŒบ-learning-community","aria-label":"Permalink to โ€œ9. ๅญฆไน ่ต„ๆบไธŽ็คพๅŒบ (Learning & Community)โ€"},"โ€‹")],-1),a("div",{class:"container nav-card-container"},[a("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[a("a",{href:"https://javascriptweekly.com/issues",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("span",{class:"name"},"JavaScript Weekly")]),a("p",{class:"desc"},"ๆฏๅ‘จๅˆ†ไบซๆœ€ๆ–ฐ็š„ JavaScript ็›ธๅ…ณๆŠ€ๆœฏๆ–‡็ซ ใ€ๅบ“ใ€ๅทฅๅ…ทๅ’Œ่ถ‹ๅŠฟ"),a("span",{class:"VPBadge tip badge"},"ๆŠ€ๆœฏๅ‘จๅˆŠ")]),a("a",{href:"https://nodeweekly.com/issues",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("span",{class:"name"},"Node Weekly")]),a("p",{class:"desc"},"ๆฏๅ‘จๅˆ†ไบซๆœ€ๆ–ฐ็š„ Node.js ็›ธๅ…ณๆŠ€ๆœฏๆ–‡็ซ ใ€ๅบ“ใ€ๅทฅๅ…ทๅ’Œ่ถ‹ๅŠฟใ€‚"),a("span",{class:"VPBadge tip badge"},"ๆŠ€ๆœฏๅ‘จๅˆŠ")]),a("a",{href:"https://www.ruanyifeng.com/blog/weekly/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("span",{class:"name"},"้˜ฎไธ€ๅณฐ็ฝ‘็ปœๆ—ฅๅฟ—")]),a("p",{class:"desc"},"้˜ฎไธ€ๅณฐ็š„็ฝ‘็ปœๆ—ฅๅฟ—๏ผŒๆฏๅ‘จไบ”ๅ‘ๅธƒ๏ผŒๅˆ†ไบซๆœ€ๆ–ฐ็š„ๅ‰็ซฏๆŠ€ๆœฏๆ–‡็ซ ใ€ๅบ“ใ€ๅทฅๅ…ทๅ’Œ่ถ‹ๅŠฟ็ญ‰ใ€‚"),a("span",{class:"VPBadge tip badge"},"ๆŠ€ๆœฏๅ‘จๅˆŠ")]),a("a",{href:"https://fed.chanceyu.com/?q=%5B%E6%9D%A5%E6%BA%90%5D%20%E5%89%8D%E7%AB%AF%E6%97%A9%E8%AF%BB%E8%AF%BE",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://res.wx.qq.com/a/wx_fed/assets/res/OTE0YTAw.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"ๅ‰็ซฏๆ—ฉ่ฏป่ฏพ")]),a("p",{class:"desc"},"ๅ‰็ซฏ้ข†ๅŸŸไธ“ไธš็š„ๅพฎไฟกๅ…ฌไผ—ๅท๏ผŒๅ‘ๅธƒไธ€ไบ›ไธŽๅ‰็ซฏ็›ธๅ…ณ็š„ๆทฑๅบฆๆŠ€ๆœฏๆ–‡็ซ ใ€ๅบ“ใ€ๅทฅๅ…ทๅ’Œ่ถ‹ๅŠฟ็ญ‰ใ€‚"),a("span",{class:"VPBadge tip badge"},"ไธ“ไธšๅ…ฌไผ—ๅท")]),a("a",{href:"https://fed.chanceyu.com/?q=%5B%E6%9D%A5%E6%BA%90%5D%20%E5%89%8D%E7%AB%AF%E4%B9%8B%E5%B7%85",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://res.wx.qq.com/a/wx_fed/assets/res/OTE0YTAw.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"ๅ‰็ซฏไน‹ๅท…")]),a("p",{class:"desc"},"ๅ‰็ซฏ้ข†ๅŸŸไธ“ไธš็š„ๅพฎไฟกๅ…ฌไผ—ๅท๏ผŒๅ‘ๅธƒไธ€ไบ›ไธŽๅ‰็ซฏ็›ธๅ…ณ็š„ๆทฑๅบฆๆŠ€ๆœฏๆ–‡็ซ ใ€ๅบ“ใ€ๅทฅๅ…ทๅ’Œ่ถ‹ๅŠฟ็ญ‰ใ€‚"),a("span",{class:"VPBadge tip badge"},"ไธ“ไธšๅ…ฌไผ—ๅท")]),a("a",{href:"https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzIxMzExMjYwOQ==&action=getalbum&album_id=1369610438157369345#wechat_redirect",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://res.wx.qq.com/a/wx_fed/assets/res/OTE0YTAw.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"ๅ‡นๅ‡ธๅฎž้ชŒๅฎค")]),a("p",{class:"desc"},"่’ฒๅ…ฌ่‹ฑยทJELLYๆŠ€ๆœฏๅ‘จๅˆŠ๏ผŒ็”ฑไบฌไธœยทๅ‡นๅ‡ธๅฎž้ชŒๅฎค็ปดๆŠคๆ•ด็†็š„ๆŠ€ๆœฏๅ‘จๅˆŠ๏ผŒไปŽๅ›ข้˜Ÿไธ“ๆณจ็š„็ ”็ฉถๆŠ€ๆœฏๆ–นๅ‘ๅ‡บๅ‘๏ผŒๆทฑๅ…ฅๆŒ–ๆŽ˜ไธš็•Œ็ƒญ็‚น๏ผŒ่š็„ฆๆŠ€ๆœฏๅŠจๆ€ใ€‚ๆŠ€ๆœฏๅ‘จๅˆŠๅ†…ๅฎนๅˆ†็ฑปไธป่ฆๅŒ…ๆ‹ฌๅฆ‚ไธ‹๏ผšๅŸบ็ก€ๆŠ€ๆœฏใ€ๅทฅ็จ‹ๅŒ–ใ€่ทจ็ซฏๆก†ๆžถๆŠ€ๆœฏใ€ๅ›พๅฝข็ผ–็จ‹ใ€ๆœๅŠก็ซฏๅผ€ๅ‘ใ€ๆกŒ้ขๅผ€ๅ‘ใ€ไบบๅทฅๆ™บ่ƒฝ็ญ‰ใ€‚"),a("span",{class:"VPBadge tip badge"},"ๆŠ€ๆœฏๅ‘จๅˆŠ")]),a("a",{href:"https://fed.chanceyu.com/?q=%5B%E6%9D%A5%E6%BA%90%5D%20%E5%89%8D%E7%AB%AF%E5%A4%A7%E5%85%A8",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://res.wx.qq.com/a/wx_fed/assets/res/OTE0YTAw.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"ๅ‰็ซฏๅคงๅ…จ")]),a("p",{class:"desc"},"ๅ‰็ซฏๅคงๅ…จ๏ผŒๅˆ†ไบซๆœ€ๆ–ฐ็š„ๅ‰็ซฏๆŠ€ๆœฏๆ–‡็ซ ใ€ๅบ“ใ€ๅทฅๅ…ทๅ’Œ่ถ‹ๅŠฟ"),a("span",{class:"VPBadge tip badge"},"ไธ“ไธšๅ…ฌไผ—ๅท")]),a("a",{href:"https://fed.chanceyu.com/?q=%5B%E6%9D%A5%E6%BA%90%5D%20%E5%89%8D%E7%AB%AF%E4%B9%8B%E7%A5%9E",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://res.wx.qq.com/a/wx_fed/assets/res/OTE0YTAw.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"ๅ‰็ซฏไน‹็ฅž")]),a("p",{class:"desc"},"ๅ‰็ซฏไน‹็ฅž๏ผŒๅˆ†ไบซๆœ€ๆ–ฐ็š„ๅ‰็ซฏๆŠ€ๆœฏๆ–‡็ซ ใ€ๅบ“ใ€ๅทฅๅ…ทๅ’Œ่ถ‹ๅŠฟ"),a("span",{class:"VPBadge tip badge"},"ไธ“ไธšๅ…ฌไผ—ๅท")]),a("a",{href:"https://fed.chanceyu.com/?q=%5B%E6%9D%A5%E6%BA%90%5D%20%E7%A8%8B%E5%BA%8F%E5%91%98%E6%88%90%E9%95%BF%E6%8C%87%E5%8C%97",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://res.wx.qq.com/a/wx_fed/assets/res/OTE0YTAw.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"็จ‹ๅบๅ‘˜ๆˆ้•ฟๆŒ‡ๅŒ—")]),a("p",{class:"desc"},"ๅ‰็ซฏ้ข†ๅŸŸไธ“ไธš็š„ๅพฎไฟกๅ…ฌไผ—ๅท๏ผŒๅ‘ๅธƒไธ€ไบ›ไธŽๅ‰็ซฏ็›ธๅ…ณ็š„ๆทฑๅบฆๆŠ€ๆœฏๆ–‡็ซ ใ€ๅบ“ใ€ๅทฅๅ…ทๅ’Œ่ถ‹ๅŠฟ็ญ‰ใ€‚"),a("span",{class:"VPBadge tip badge"},"ไธ“ไธšๅ…ฌไผ—ๅท")]),a("a",{href:"https://fed.chanceyu.com/?q=%5B%E6%9D%A5%E6%BA%90%5D%20%E5%AD%97%E8%8A%82%E5%89%8D%E7%AB%AF-ByteFE",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://res.wx.qq.com/a/wx_fed/assets/res/OTE0YTAw.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"ByteFE")]),a("p",{class:"desc"},"ๅญ—่Š‚่ทณๅŠจๅ‰็ซฏๅ›ข้˜Ÿ็ปดๆŠค็š„ไธ“ไธšๅพฎไฟกๅ…ฌไผ—ๅท๏ผŒๅˆ†ไบซๆŠ€ๆœฏๅ‰ๆฒฟใ€ๆ–‡็ซ ๅˆ†ไบซใ€ๅฎž่ทตๅนฒ่ดง็ญ‰ใ€‚"),a("span",{class:"VPBadge tip badge"},"ไธ“ไธšๅ…ฌไผ—ๅท")]),a("a",{href:"https://fed.chanceyu.com/?q=%5B%E6%9D%A5%E6%BA%90%5D%20%E5%89%8D%E7%AB%AF%E4%BB%8E%E8%BF%9B%E9%98%B6%E5%88%B0%E5%85%A5%E9%99%A2",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://res.wx.qq.com/a/wx_fed/assets/res/OTE0YTAw.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"ๅ‰็ซฏไปŽ่ฟ›้˜ถๅˆฐๅ…ฅ้™ข")]),a("p",{class:"desc"},"ๅ‰็ซฏไปŽ่ฟ›้˜ถๅˆฐๅ…ฅ้™ข๏ผŒๅˆ†ไบซๆœ€ๆ–ฐ็š„ๅ‰็ซฏๆŠ€ๆœฏๆ–‡็ซ ใ€ๅบ“ใ€ๅทฅๅ…ทๅ’Œ่ถ‹ๅŠฟ"),a("span",{class:"VPBadge tip badge"},"ไธ“ไธšๅ…ฌไผ—ๅท")]),a("a",{href:"https://www.zhangxinxu.com/wordpress/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("span",{class:"name"},"ๅผ ้‘ซๆ—ญ-้‘ซ็ฉบ้—ด-้‘ซ็”Ÿๆดป")]),a("p",{class:"desc"},"ๅผ ้‘ซๆ—ญ็š„ไธชไบบๅšๅฎข๏ผŒๅˆ†ไบซๆœ€ๆ–ฐ็š„ๅ‰็ซฏๆŠ€ๆœฏๆ–‡็ซ ใ€ๅบ“ใ€ๅทฅๅ…ทๅ’Œ่ถ‹ๅŠฟ็ญ‰ใ€‚"),a("span",{class:"VPBadge tip badge"},"็ฝ‘็ปœๅšๅฎข")]),a("a",{href:"https://fed.chanceyu.com/?q=%5B%E6%9D%A5%E6%BA%90%5D%20%E6%B7%98%E7%B3%BB%E5%89%8D%E7%AB%AF%E5%9B%A2%E9%98%9F",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://res.wx.qq.com/a/wx_fed/assets/res/OTE0YTAw.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"ๆท˜็ณปๅ‰็ซฏๅ›ข้˜Ÿ")]),a("p",{class:"desc"},"ๆท˜ๅฎๅ‰็ซฏๅ›ข้˜Ÿ๏ผŒๅˆ†ไบซๆœ€ๆ–ฐ็š„ๅ‰็ซฏๆŠ€ๆœฏๆ–‡็ซ ใ€ๅบ“ใ€ๅทฅๅ…ทๅ’Œ่ถ‹ๅŠฟ็ญ‰ใ€‚"),a("span",{class:"VPBadge tip badge"},"ไธ“ไธšๅ…ฌไผ—ๅท")])])],-1)])])}const h=d(l,[["render",n]]);export{v as __pageData,h as default}; +import{_ as d,g as i,h as c,U as e,i as a,S as s}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const v=JSON.parse('{"title":"ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡็ณป็ปŸๆขณ็†ไบ†็Žฐไปฃๅ…จๆ ˆๅผ€ๅ‘็š„ๅฎŒๆ•ดๆŠ€ๆœฏๅ›พ่ฐฑไธŽๆผ”่ฟ›่Œƒๅผ๏ผŒไธบๅผ€ๅ‘่€…ๆไพ›ไบ†ไธ€็ซ™ๅผ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—ใ€‚ๆ–‡็ซ ไปŽๅŸบ็Ÿณๅ‡บๅ‘๏ผŒ่ฆ†็›– Web ๆ ธๅฟƒ่ฏญ่จ€๏ผˆJS/TS๏ผ‰ ไธŽ ไธปๆต UI ๆก†ๆžถ๏ผˆReact/Vue/Svelte๏ผ‰๏ผŒๅนถๆŽจ่ไปฅ Tailwind CSS ๅ’Œ shadcn/ui ไธบไปฃ่กจ็š„็Žฐไปฃๆ ทๅผไธŽ็ป„ไปถๅŽŸ่ฏญใ€‚ๅœจๆ ธๅฟƒไธšๅŠก้€ป่พ‘ๅฑ‚๏ผŒๆทฑๅบฆๅฏนๆฏ”ไบ†่ฝป้‡ๅŒ–็Šถๆ€็ฎก็†ๆ–นๆกˆ๏ผˆ้ฆ–ๆŽจ Zustand/Jotai๏ผ‰๏ผŒๅนถ้‡็‚น่งฃๆžไบ†ๆ•ฐๆฎไบคไบ’็š„ไธ‰ๅคง็Žฐไปฃๆžถๆž„่Œƒๅผ๏ผšไปŽๅŸบ็ก€ Axios ๅˆฐ React Query ็Šถๆ€่ฐƒๅบฆ๏ผŒๅ†ๅˆฐ tRPC ๅ’Œ GraphQL ๅธฆๆฅ็š„ๅ…จๆ ˆ็ฑปๅž‹ๅฎ‰ๅ…จไธŽๅคš็ซฏ่šๅˆใ€‚ๅœจๅทฅ็จ‹ๅŒ–ไธŽๆœๅŠก็ซฏๆจกๅ—๏ผŒๆ–‡็ซ ๅ…จ้ขๆ‹ฅๆŠฑ Viteใ€Rsbuild ็ญ‰ๆž้€Ÿๆž„ๅปบๅทฅๅ…ท๏ผŒๅนถๅ‰–ๆžไบ† Next.js/Nuxt ๅŒๆž„ๅ…ƒๆก†ๆžถไธŽ NestJS ไผไธš็บง Node ๆœๅŠก็š„ๆœ€ไฝณ้€‚็”จๅœบๆ™ฏใ€‚ๆœ€ๅŽ๏ผŒ่พ…ไปฅ Vercel ็ญ‰็Žฐไปฃ่พน็ผ˜้ƒจ็ฝฒๅนณๅฐๅŠไธฐๅฏŒ็š„ๅผ€ๆบ็คพๅŒบๅญฆไน ่ต„ๆบใ€‚","frontmatter":{"date":"2026-02-06T15:58:53.000Z","title":"ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡็ณป็ปŸๆขณ็†ไบ†็Žฐไปฃๅ…จๆ ˆๅผ€ๅ‘็š„ๅฎŒๆ•ดๆŠ€ๆœฏๅ›พ่ฐฑไธŽๆผ”่ฟ›่Œƒๅผ๏ผŒไธบๅผ€ๅ‘่€…ๆไพ›ไบ†ไธ€็ซ™ๅผ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—ใ€‚ๆ–‡็ซ ไปŽๅŸบ็Ÿณๅ‡บๅ‘๏ผŒ่ฆ†็›– Web ๆ ธๅฟƒ่ฏญ่จ€๏ผˆJS/TS๏ผ‰ ไธŽ ไธปๆต UI ๆก†ๆžถ๏ผˆReact/Vue/Svelte๏ผ‰๏ผŒๅนถๆŽจ่ไปฅ Tailwind CSS ๅ’Œ shadcn/ui ไธบไปฃ่กจ็š„็Žฐไปฃๆ ทๅผไธŽ็ป„ไปถๅŽŸ่ฏญใ€‚ๅœจๆ ธๅฟƒไธšๅŠก้€ป่พ‘ๅฑ‚๏ผŒๆทฑๅบฆๅฏนๆฏ”ไบ†่ฝป้‡ๅŒ–็Šถๆ€็ฎก็†ๆ–นๆกˆ๏ผˆ้ฆ–ๆŽจ Zustand/Jotai๏ผ‰๏ผŒๅนถ้‡็‚น่งฃๆžไบ†ๆ•ฐๆฎไบคไบ’็š„ไธ‰ๅคง็Žฐไปฃๆžถๆž„่Œƒๅผ๏ผšไปŽๅŸบ็ก€ Axios ๅˆฐ React Query ็Šถๆ€่ฐƒๅบฆ๏ผŒๅ†ๅˆฐ tRPC ๅ’Œ GraphQL ๅธฆๆฅ็š„ๅ…จๆ ˆ็ฑปๅž‹ๅฎ‰ๅ…จไธŽๅคš็ซฏ่šๅˆใ€‚ๅœจๅทฅ็จ‹ๅŒ–ไธŽๆœๅŠก็ซฏๆจกๅ—๏ผŒๆ–‡็ซ ๅ…จ้ขๆ‹ฅๆŠฑ Viteใ€Rsbuild ็ญ‰ๆž้€Ÿๆž„ๅปบๅทฅๅ…ท๏ผŒๅนถๅ‰–ๆžไบ† Next.js/Nuxt ๅŒๆž„ๅ…ƒๆก†ๆžถไธŽ NestJS ไผไธš็บง Node ๆœๅŠก็š„ๆœ€ไฝณ้€‚็”จๅœบๆ™ฏใ€‚ๆœ€ๅŽ๏ผŒ่พ…ไปฅ Vercel ็ญ‰็Žฐไปฃ่พน็ผ˜้ƒจ็ฝฒๅนณๅฐๅŠไธฐๅฏŒ็š„ๅผ€ๆบ็คพๅŒบๅญฆไน ่ต„ๆบใ€‚","permalink":"/growth/full-stack-resources","categories":["่ต„ๆบๆŽจ่"],"tags":["่ต„ๆบๆŽจ่","ๅ…จๆ ˆ"]},"headers":[],"relativePath":"01.ๅ…จๆ ˆ/90.ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่/90.ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่.md","filePath":"01.ๅ…จๆ ˆ/90.ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่/90.ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่.md"}'),l={name:"01.ๅ…จๆ ˆ/90.ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่/90.ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่.md"};function n(o,t,r,p,_,m){return c(),i("div",null,[...t[0]||(t[0]=[e("",4),a("div",{class:"container nav-card-container"},[a("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[a("a",{href:"https://developer.mozilla.org/zh-CN/docs/Web/HTML",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://upload.wikimedia.org/wikipedia/commons/thumb/6/61/HTML5_logo_and_wordmark.svg/1200px-HTML5_logo_and_wordmark.svg.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"HTML")]),a("p",{class:"desc"},"HTML (HyperText Markup Language) ๆ˜ฏ็”จไบŽๅˆ›ๅปบ็ฝ‘้กต็š„ๆ ‡ๅ‡†ๆ ‡่ฎฐ่ฏญ่จ€๏ผŒ็”จไบŽๆ่ฟฐ็ฝ‘้กต็š„็ป“ๆž„ๅ’Œๅ†…ๅฎนใ€‚ๅฎƒไฝฟ็”จๆ ‡็ญพๆฅๅฎšไน‰ๆ–‡ๆกฃ็š„ไธๅŒ้ƒจๅˆ†๏ผŒๅฆ‚ๆ ‡้ข˜ใ€ๆฎต่ฝใ€ๅ›พๅƒใ€้“พๆŽฅ็ญ‰ใ€‚HTML ๆ˜ฏๆž„ๅปบ Web ้กต้ข็š„ๅŸบ็ก€๏ผŒไนŸๆ˜ฏๆ‰€ๆœ‰ๅ‰็ซฏๅผ€ๅ‘็š„่ตท็‚นใ€‚"),a("span",{class:"VPBadge tip badge"},"ๆ ‡่ฎฐ่ฏญ่จ€")]),a("a",{href:"https://developer.mozilla.org/zh-CN/docs/Web/CSS",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://upload.wikimedia.org/wikipedia/commons/thumb/d/d5/CSS3_logo_and_wordmark.svg/1200px-CSS3_logo_and_wordmark.svg.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"CSS")]),a("p",{class:"desc"},"CSS (Cascading Style Sheets) ๆ˜ฏ็”จไบŽๆ่ฟฐ็ฝ‘้กตๆ ทๅผๅ’Œๅธƒๅฑ€็š„ๆ ทๅผ่กจ่ฏญ่จ€ใ€‚ๅฎƒๅฎšไน‰ไบ†ๆ–‡ๆกฃ็š„ๅค–่ง‚๏ผŒๅŒ…ๆ‹ฌๅญ—ไฝ“ใ€้ขœ่‰ฒใ€้—ด่ทใ€ๅธƒๅฑ€็ญ‰ใ€‚CSS ไธŽ HTML ็ป“ๅˆไฝฟ็”จ๏ผŒๅฎž็Žฐไบ†็ฝ‘้กต็š„็ป“ๆž„ไธŽๆ ทๅผ็š„ๅˆ†็ฆป๏ผŒไฝฟๅพ—็ฝ‘้กต่ฎพ่ฎกๆ›ดๅŠ ็ตๆดปๅ’Œๅฏ็ปดๆŠคใ€‚"),a("span",{class:"VPBadge tip badge"},"ๆ ทๅผ่กจ")]),a("a",{href:"https://developer.mozilla.org/zh-CN/docs/Web/JavaScript",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://upload.wikimedia.org/wikipedia/commons/thumb/6/6a/JavaScript-logo.png/1200px-JavaScript-logo.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"JavaScript")]),a("p",{class:"desc"},"JavaScript ๆ˜ฏไธ€็งๅŠจๆ€ใ€ๅผฑ็ฑปๅž‹็š„่„šๆœฌ่ฏญ่จ€๏ผŒ็”จไบŽๅœจ Web ๆต่งˆๅ™จไธญๅฎž็Žฐไบคไบ’ๆ€งๅ’ŒๅŠจๆ€ๅ†…ๅฎนใ€‚ๅฎƒๆ˜ฏ Web ๅผ€ๅ‘็š„ๅŸบ็ก€๏ผŒไนŸๆ˜ฏๅ‰็ซฏๅผ€ๅ‘็š„ๆ ธๅฟƒ่ฏญ่จ€ใ€‚"),a("span",{class:"VPBadge tip badge"},"่„šๆœฌ่ฏญ่จ€")]),a("a",{href:"https://www.typescriptlang.org/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://upload.wikimedia.org/wikipedia/commons/thumb/4/4c/Typescript_logo_2020.svg/1200px-Typescript_logo_2020.svg.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"TypeScript")]),a("p",{class:"desc"},"TypeScript ๆ˜ฏ JavaScript ็š„ไธ€ไธช่ถ…้›†๏ผŒๆทปๅŠ ไบ†้™ๆ€็ฑปๅž‹ๆฃ€ๆŸฅๅ’Œๅ…ถไป–้ซ˜็บงๅŠŸ่ƒฝ๏ผŒไฝฟๅพ—ไปฃ็ ๆ›ดๅŠ ๅฏ้ ๅ’Œๅฏ็ปดๆŠคใ€‚ๅฎƒๅœจๅ‰็ซฏๅผ€ๅ‘ไธญๅพ—ๅˆฐๅนฟๆณ›ๅบ”็”จ๏ผŒๅฐคๅ…ถๅœจ React ้กน็›ฎไธญใ€‚"),a("span",{class:"VPBadge tip badge"},"้™ๆ€็ฑปๅž‹")]),a("a",{href:"https://webkit.org/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://webkit.org/wp-content/themes/webkit/images/webkit.svg",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"webkit")]),a("p",{class:"desc"},"WebKit ๆ˜ฏไธ€ไธชๅผ€ๆบ็š„ๆต่งˆๅ™จๅผ•ๆ“Ž๏ผŒ็”จไบŽๆธฒๆŸ“็ฝ‘้กตๅ†…ๅฎนใ€‚ๅฎƒๆ˜ฏ Safari ๆต่งˆๅ™จ็š„ๅผ•ๆ“Ž๏ผŒไนŸๆ˜ฏ Chrome ๆต่งˆๅ™จ็š„ไธ€้ƒจๅˆ†ใ€‚WebKit ๆไพ›ไบ†้ซ˜ๆ€ง่ƒฝ็š„็ฝ‘้กตๆธฒๆŸ“ๅ’Œไบคไบ’ๅŠŸ่ƒฝ๏ผŒๆ˜ฏๆž„ๅปบ็Žฐไปฃ Web ๅบ”็”จ็š„ๅŸบ็ก€ใ€‚"),a("span",{class:"VPBadge tip badge"},"ๆต่งˆๅ™จๅผ•ๆ“Ž")]),a("a",{href:"https://nodejs.org/zh-cn/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://upload.wikimedia.org/wikipedia/commons/thumb/d/d9/Node.js_logo.svg/1200px-Node.js_logo.svg.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Node.js")]),a("p",{class:"desc"},"Node.js ๆ˜ฏไธ€ไธชๅŸบไบŽ Chrome V8 ๅผ•ๆ“Ž็š„ JavaScript ่ฟ่กŒๆ—ถ็Žฏๅขƒ๏ผŒ็”จไบŽๅœจๆœๅŠกๅ™จ็ซฏๆ‰ง่กŒ JavaScript ไปฃ็ ใ€‚ๅฎƒๅ…่ฎธๅผ€ๅ‘่€…ไฝฟ็”จ JavaScript ๆž„ๅปบ้ซ˜ๆ€ง่ƒฝ็š„็ฝ‘็ปœๅบ”็”จ็จ‹ๅบ๏ผŒๅฆ‚ๆœๅŠกๅ™จ็ซฏๆธฒๆŸ“ใ€ๅฎžๆ—ถๅบ”็”จ็จ‹ๅบๅ’Œ API ๆœๅŠกใ€‚"),a("span",{class:"VPBadge tip badge"},"ๆœๅŠกๅ™จ็ซฏ")])])],-1),a("h2",{id:"_2-ๆ ธๅฟƒ-ui-ๆก†ๆžถ",tabindex:"-1"},[s("2. ๆ ธๅฟƒ UI ๆก†ๆžถ "),a("a",{class:"header-anchor",href:"#_2-ๆ ธๅฟƒ-ui-ๆก†ๆžถ","aria-label":"Permalink to โ€œ2. ๆ ธๅฟƒ UI ๆก†ๆžถโ€"},"โ€‹")],-1),a("div",{class:"container nav-card-container"},[a("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[a("a",{href:"https://react.dev/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://upload.wikimedia.org/wikipedia/commons/thumb/a/a7/React-icon.svg/1200px-React-icon.svg.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"React")]),a("p",{class:"desc"},"React ๆ˜ฏ Facebook ๅผ€ๅ‘็š„็”จไบŽๆž„ๅปบ็”จๆˆท็•Œ้ข็š„ๅฃฐๆ˜Žๅผ JavaScript ๅบ“๏ผŒ้‡‡็”จ็ป„ไปถๅŒ–ๆžถๆž„๏ผŒๆ”ฏๆŒๆœๅŠกๅ™จ็ซฏๆธฒๆŸ“ๅ’Œๅฎขๆˆท็ซฏไบคไบ’ใ€‚ๅฎƒๅ…่ฎธๅผ€ๅ‘่€…่ฎพ่ฎก็ฎ€ๅ•็š„่ง†ๅ›พ๏ผŒๅนถๆ นๆฎๆ•ฐๆฎๅ˜ๅŒ–้ซ˜ๆ•ˆๆ›ดๆ–ฐๆธฒๆŸ“็ป„ไปถใ€‚"),a("span",{class:"VPBadge tip badge"},"ๅฃฐๆ˜Žๅผ")]),a("a",{href:"https://vuejs.org/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://upload.wikimedia.org/wikipedia/commons/thumb/9/95/Vue.js_Logo_2.svg/1200px-Vue.js_Logo_2.svg.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Vue")]),a("p",{class:"desc"},"Vue.js ๆ˜ฏไธ€ๅฅ—็”จไบŽๆž„ๅปบ็”จๆˆท็•Œ้ข็š„ๆธ่ฟ›ๅผๆก†ๆžถ๏ผŒ้‡‡็”จ็ป„ไปถๅŒ–ๆžถๆž„๏ผŒๆ”ฏๆŒๆœๅŠกๅ™จ็ซฏๆธฒๆŸ“ๅ’Œๅฎขๆˆท็ซฏไบคไบ’ใ€‚ๅผบ่ฐƒๆ˜“็”จๆ€งๅ’Œ้ซ˜ๆ€ง่ƒฝใ€‚ๅ…ถ็”Ÿๆ€ๅŒ…ๅซๅฎ˜ๆ–น่ทฏ็”ฑ (Vue Router) ๅ’Œ็Šถๆ€็ฎก็†ๅบ“ (Pinia)ใ€‚"),a("span",{class:"VPBadge tip badge"},"ๆธ่ฟ›ๅผ")]),a("a",{href:"https://svelte.dev/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://upload.wikimedia.org/wikipedia/commons/thumb/1/1b/Svelte_Logo.svg/1200px-Svelte_Logo.svg.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Svelte")]),a("p",{class:"desc"},"Svelte ๆ˜ฏไธ€็งๅ…จๆ–ฐ็š„ๆž„ๅปบ Web ๅบ”็”จ็š„ๆ–นๅผ๏ผŒไฝœไธบ็ผ–่ฏ‘ๅ™จๅฐ†ๅฃฐๆ˜Žๅผ็ป„ไปถ่ฝฌๆขไธบ้ซ˜ๆ•ˆไธ”่ƒฝ็›ดๆŽฅๆ“ไฝœ DOM ็š„ JavaScript ไปฃ็ ๏ผŒ่ฟ่กŒๆ—ถๅผ€้”€ๆžๅฐใ€‚ๅฎƒๅผบ่ฐƒ็ป„ไปถๅŒ–ๅผ€ๅ‘๏ผŒๅผ€ๅ‘่€…ๅฏไปฅ็›ดๆŽฅๅœจ HTML ไธญ็ผ–ๅ†™็ป„ไปถ้€ป่พ‘๏ผŒๆ— ้œ€้ขๅค–็š„่ฟ่กŒๆ—ถๆ”ฏๆŒใ€‚"),a("span",{class:"VPBadge tip badge"},"็ผ–่ฏ‘ๆ—ถ")])])],-1),a("h2",{id:"_3-ๆ ทๅผไธŽ-ui-็ป„ไปถๅบ“-styling-component-libraries",tabindex:"-1"},[s("3. ๆ ทๅผไธŽ UI ็ป„ไปถๅบ“ (Styling & Component Libraries) "),a("a",{class:"header-anchor",href:"#_3-ๆ ทๅผไธŽ-ui-็ป„ไปถๅบ“-styling-component-libraries","aria-label":"Permalink to โ€œ3. ๆ ทๅผไธŽ UI ็ป„ไปถๅบ“ (Styling & Component Libraries)โ€"},"โ€‹")],-1),a("div",{class:"container nav-card-container"},[a("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[a("a",{href:"https://tailwindcss.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://upload.wikimedia.org/wikipedia/commons/thumb/d/d5/Tailwind_CSS_Logo.svg/1200px-Tailwind_CSS_Logo.svg.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Tailwind CSS")]),a("p",{class:"desc"},"็Žฐไปฃๅ‰็ซฏ้ฆ–้€‰็š„ๅฎž็”จไผ˜ๅ…ˆ (Utility-first) CSS ๆก†ๆžถ๏ผŒ้€š่ฟ‡็ฑปๅ็ป„ๅˆๅฎž็Žฐๆ ทๅผ๏ผŒๆ— ้œ€็ผ–ๅ†™่‡ชๅฎšไน‰ CSSใ€‚"),a("span",{class:"VPBadge tip badge"},"ๅฎž็”จไผ˜ๅ…ˆ")]),a("a",{href:"https://daisyui.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://img.daisyui.com/images/daisyui/mark.svg",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Daisy UI")]),a("p",{class:"desc"},"ๆ˜ฏไธ€ไธชๅŸบไบŽ Tailwind CSS ็š„็ƒญ้—จๅผ€ๆบUI็ป„ไปถๅบ“๏ผŒ้€š่ฟ‡ๆทปๅŠ ่ฏญไน‰ๅŒ–็ฑปๅ๏ผˆๅฆ‚ btn, card๏ผ‰ๆฅ่งฃๅ†ณ Tailwind ๅ†—้•ฟ็š„ไปฃ็ ้—ฎ้ข˜๏ผŒ่ƒฝๅธฎๅผ€ๅ‘่€…็”จๆ›ดๅฐ‘็š„ไปฃ็ ใ€ๆ›ดๅฟซๅœฐๆž„ๅปบๅ‡บๅนฒๅ‡€ใ€็พŽ่ง‚ใ€ๅ“ๅบ”ๅผไธ”ๆ”ฏๆŒไธป้ข˜่‡ชๅฎšไน‰็š„ Web ็•Œ้ขใ€‚"),a("span",{class:"VPBadge tip badge"},"tailwind ๆ’ไปถ")]),a("a",{href:"https://ui.shadcn.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://ui.shadcn.com/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"shadcn/ui")]),a("p",{class:"desc"},"shadcn/ui ไธๆ˜ฏไธ€ไธชไผ ็ปŸ็š„็ป„ไปถๅบ“๏ผŒ่€Œๆ˜ฏไธ€็งๆž„ๅปบไฝ ่‡ชๅทฑ็š„็ป„ไปถๅบ“็š„ๆ–นๆณ•ใ€‚ๅฎƒๆไพ›ไบ†ไธ€ๅฅ—็ฒพๅฟƒ่ฎพ่ฎกใ€ๅฏ่ฎฟ้—ฎ็š„็ป„ไปถๅ’Œไปฃ็ ๅˆ†ๅ‘ๅนณๅฐ๏ผŒๅ…ผๅฎนไฝ ๅ–œๆฌข็š„ๆก†ๆžถๅ’Œ AI ๆจกๅž‹ใ€‚"),a("span",{class:"VPBadge tip badge"},"็ป„ไปถๅŽŸ่ฏญ")]),a("a",{href:"https://ant.design/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://gw.alipayobjects.com/zos/rmsportal/rlpTLlbMzTNYuZGGCVYM.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Ant Design")]),a("p",{class:"desc"},"AIโ€ฏๅ‹ๅฅฝ็š„ใ€Œ่ฎพ่ฎก็ณป็ปŸใ€๏ผŒ่ฎฉ็พŽไธŽๆ™บ่ƒฝๅนถ่ฟ›๏ผŒ่ฎฉๅทฅไฝœๅ……ๆปกใ€Œ็ตๆ„Ÿใ€ไธŽใ€Œๅฟซไนใ€ใ€‚"),a("span",{class:"VPBadge tip badge"},"็ป„ไปถๅบ“")]),a("a",{href:"https://element-plus.org/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://element-plus.org/images/element-plus-logo-small.svg",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"element-plus")]),a("p",{class:"desc"},"Element Plus ๆ˜ฏไธ€ไธชๅŸบไบŽ Vue 3 ่ฎพ่ฎก็š„็ป„ไปถๅบ“๏ผŒๆไพ›ไธฐๅฏŒ็š„็ป„ไปถๅ’Œๆ ทๅผ๏ผŒๅธธ็”จไบŽๆž„ๅปบๅŽๅฐ็ฎก็†็ณป็ปŸใ€‚"),a("span",{class:"VPBadge tip badge"},"็ป„ไปถๅบ“")]),a("a",{href:"https://vuetifyjs.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://vuetifyjs.com/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Vuetify")]),a("p",{class:"desc"},"ไธบ Vue 3 ่ฎพ่ฎก็š„ๆˆ็†Ÿ UI ๅบ“๏ผŒๅธธ็”จไบŽๆž„ๅปบๅŽๅฐ็ฎก็†็ณป็ปŸ๏ผŒๆไพ›ไธฐๅฏŒ็š„็ป„ไปถๅ’Œๆ ทๅผใ€‚"),a("span",{class:"VPBadge tip badge"},"็ป„ไปถๅบ“")])])],-1),a("h2",{id:"_4-่ทฏ็”ฑไธŽ็Šถๆ€็ฎก็†",tabindex:"-1"},[s("4. ่ทฏ็”ฑไธŽ็Šถๆ€็ฎก็† "),a("a",{class:"header-anchor",href:"#_4-่ทฏ็”ฑไธŽ็Šถๆ€็ฎก็†","aria-label":"Permalink to โ€œ4. ่ทฏ็”ฑไธŽ็Šถๆ€็ฎก็†โ€"},"โ€‹")],-1),a("div",{class:"container nav-card-container"},[a("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[a("a",{href:"https://reactrouter.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://reactrouter.com/favicon-dark.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"React Router")]),a("p",{class:"desc"},"React Router ๆ˜ฏ React ๅฎ˜ๆ–น็š„่ทฏ็”ฑ็ฎก็†ๅ™จ๏ผŒ็”จไบŽๆž„ๅปบๅ•้กตๅบ”็”จ (SPA)๏ผŒๆไพ›ๅŠจๆ€่ทฏ็”ฑๅŒน้…ใ€ๅตŒๅฅ—่ทฏ็”ฑใ€่ทฏ็”ฑๅฎˆๅซ็ญ‰ๅŠŸ่ƒฝใ€‚"),a("span",{class:"VPBadge tip badge"},"่ทฏ็”ฑ็ฎก็†ๅ™จ")]),a("a",{href:"https://router.vuejs.org/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://upload.wikimedia.org/wikipedia/commons/thumb/9/95/Vue.js_Logo_2.svg/1200px-Vue.js_Logo_2.svg.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Vue Router")]),a("p",{class:"desc"},"Vue.js ๅฎ˜ๆ–น็š„่ทฏ็”ฑ็ฎก็†ๅ™จ๏ผŒ็”จไบŽๆž„ๅปบๅ•้กตๅบ”็”จ (SPA)๏ผŒๆไพ›ๅŠจๆ€่ทฏ็”ฑๅŒน้…ใ€ๅตŒๅฅ—่ทฏ็”ฑใ€่ทฏ็”ฑๅฎˆๅซ็ญ‰ๅŠŸ่ƒฝใ€‚"),a("span",{class:"VPBadge tip badge"},"่ทฏ็”ฑ็ฎก็†ๅ™จ")]),a("a",{href:"https://github.com/pmndrs/zustand",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://avatars.githubusercontent.com/u/45790596?s=48&v=4",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Zustand")]),a("p",{class:"desc"},"pmndrs ็คพๅŒบๅ‡บๅ“๏ผŒๆ˜ฏ Redux ็š„็ŽฐไปฃๅŒ–ใ€ๆž็ฎ€ไธปไน‰็ฒพ็ฅž็ปงๆ‰ฟ่€…๏ผˆ่‡ชไธŠ่€Œไธ‹็š„ๅ…จๅฑ€ Store๏ผ‰๏ผŒๆไพ›ไบ†ไธ€็ง็ฎ€ๅ•็š„ๆ–นๅผๆฅ็ฎก็†ๅ…จๅฑ€็Šถๆ€ใ€‚"),a("span",{class:"VPBadge tip badge"},"็Šถๆ€็ฎก็†")]),a("a",{href:"https://github.com/pmndrs/jotai",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://avatars.githubusercontent.com/u/45790596?s=48&v=4",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Jotai")]),a("p",{class:"desc"},"pmndrs ็คพๅŒบๅ‡บๅ“๏ผŒๆ˜ฏ Recoil ็š„่ฝป้‡ๅŒ–ใ€้ซ˜ๆ€ง่ƒฝๆ›ฟไปฃ่€…๏ผˆ่‡ชไธ‹่€ŒไธŠ็š„ๅŽŸๅญๅŒ–็Šถๆ€๏ผ‰ใ€‚"),a("span",{class:"VPBadge tip badge"},"็Šถๆ€็ฎก็†")]),a("a",{href:"https://redux.js.org/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://redux.js.org/img/favicon/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Redux")]),a("p",{class:"desc"},"Redux ๆ˜ฏไธ€ไธช้ข„ๆต‹ๆ€ง็š„็Šถๆ€ๅฎนๅ™จ๏ผŒ็”จไบŽ็ฎก็†ๅบ”็”จ็š„ๅ…จๅฑ€็Šถๆ€๏ผŒๆไพ›ไธ€่‡ด็š„็Šถๆ€ๆ›ดๆ–ฐๅ’Œๅฏ้ข„ๆต‹็š„่กŒไธบใ€‚"),a("span",{class:"VPBadge tip badge"},"ไธๅ†ๆŽจ่")]),a("a",{href:"https://pinia.vuejs.org/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://pinia.vuejs.org/logo.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Pinia")]),a("p",{class:"desc"},"Vue.js ๅฎ˜ๆ–นๆŽจ่็š„็Šถๆ€็ฎก็†ๅบ“๏ผŒๅŸบไบŽ Vue 3 Composition API ่ฎพ่ฎก๏ผŒๆไพ›็ฎ€ๅ•ใ€็ตๆดป็š„็Šถๆ€็ฎก็†่งฃๅ†ณๆ–นๆกˆใ€‚"),a("span",{class:"VPBadge tip badge"},"็Šถๆ€็ฎก็†")])])],-1),e("",3),a("div",{class:"container nav-card-container"},[a("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[a("a",{href:"https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("span",{class:"name"},"Fetch API")]),a("p",{class:"desc"},"Fetch ๆ˜ฏไธ€ไธชๅŸบไบŽ Promise ็š„็Žฐไปฃ JavaScript API๏ผŒ็”จไบŽๅœจๆต่งˆๅ™จไธญๅ‘่ตท HTTP ่ฏทๆฑ‚๏ผˆAJAX๏ผ‰๏ผŒๆ˜ฏ XMLHttpRequest (XHR) ็š„ๆ›ด็ฎ€ๆดใ€ๆ›ดๅผบๅคง็š„ๆ›ฟไปฃๆ–นๆกˆใ€‚ๅฎƒๅ…่ฎธ้กต้ขๅœจไธ้‡่ฝฝ็š„ๆƒ…ๅ†ตไธ‹ไปŽๆœๅŠกๅ™จ่Žทๅ–ๆ•ฐๆฎ๏ผŒๆ”ฏๆŒ GETใ€POST ็ญ‰่ฏทๆฑ‚ๆ–นๆณ•๏ผŒๅนถๅนฟๆณ›ๅบ”็”จไบŽๅค„็†็ฝ‘็ปœๆ•ฐๆฎไบคไบ’ใ€‚"),a("span",{class:"VPBadge tip badge"},"ๅŽŸ็”Ÿ API")]),a("a",{href:"https://axios-http.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://axios-http.com/assets/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Axios")]),a("p",{class:"desc"},"Axios ๆ˜ฏไธ€ไธชๅŸบไบŽ Promise ็š„ HTTP ่ฏทๆฑ‚ๅบ“๏ผŒๅฏ่ฟ่กŒๅœจๆต่งˆๅ™จๅ’Œ Node.js ็Žฏๅขƒไธญใ€‚ๅฎƒๆ”ฏๆŒๆ‹ฆๆˆช่ฏทๆฑ‚ๅ’Œๅ“ๅบ”ใ€่ฝฌๆขๆ•ฐๆฎใ€ๅ–ๆถˆ่ฏทๆฑ‚็ญ‰ๅŠŸ่ƒฝ๏ผŒๆ˜ฏๅ‰็ซฏๅผ€ๅ‘ไธญๅธธ็”จ็š„ HTTP ่ฏทๆฑ‚ๅบ“ใ€‚"),a("span",{class:"VPBadge tip badge"},"ๅ…จ่ƒฝ่ฏทๆฑ‚ๅบ“")]),a("a",{href:"https://swr.vercel.app/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://swr.vercel.app/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"SWR")]),a("p",{class:"desc"},'SWR ๆ˜ฏ็”ฑ Vercel ๅผ€ๅ‘็š„ไธ€ไธชๅŸบไบŽ React Hooks ็š„่ฝป้‡็บงๆ•ฐๆฎ่ฏทๆฑ‚ๅบ“ใ€‚ๅฎƒๅŸบไบŽ "stale-while-revalidate" ็ญ–็•ฅ๏ผŒๅ…ˆ่ฟ”ๅ›ž็ผ“ๅญ˜ๆ•ฐๆฎ๏ผŒๅ†ๅœจๅŽๅฐ่ฏทๆฑ‚ๆœ€ๆ–ฐๆ•ฐๆฎ๏ผŒไฟ่ฏ UI ๅฟซ้€Ÿๅ“ๅบ”ไธ”ๆ•ฐๆฎไฟๆŒๆ›ดๆ–ฐใ€‚็‰น็‚น๏ผšๆž็ฎ€ไธปไน‰๏ผŒ่ถŠ่ฝป่ถŠๅฅฝ๏ผŒๅผ€็ฎฑๅณ็”จ๏ผŒไธ“ๆณจไบŽ HTTP ็ผ“ๅญ˜็ญ–็•ฅใ€‚'),a("span",{class:"VPBadge tip badge"},"ๆŒ‰้œ€้ชŒ่ฏ็ผ“ๅญ˜")]),a("a",{href:"https://tanstack.com/query/latest",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://tanstack.com/favicon-32x32.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"React Query")]),a("p",{class:"desc"},"React Query (็Žฐๆ›ดๅไธบ TanStack Query) ๆ˜ฏไธ€ไธชๅŠŸ่ƒฝๅผบๅคง็š„ React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†ๅบ“ใ€‚ๅฎƒไธ“ๆณจไบŽๅค„็†ๅผ‚ๆญฅๆ•ฐๆฎ็š„่Žทๅ–ใ€็ผ“ๅญ˜ใ€ๅŒๆญฅๅ’Œๆ›ดๆ–ฐ๏ผŒๅผ€็ฎฑๅณ็”จๅœฐ็ฎ€ๅŒ–ไบ† API ่ฏทๆฑ‚ใ€็ผ“ๅญ˜ๅค„็†ใ€ๆ•ฐๆฎ่ฟ‡ๆœŸๆ›ดๆ–ฐๅ’ŒๅŠ ่ฝฝ/้”™่ฏฏ็Šถๆ€็ฎก็†ใ€‚็‰น็‚น๏ผšๅŠŸ่ƒฝไธปไน‰ๅคง่€Œๅ…จ๏ผŒไธไป…ๆ˜ฏ HTTP๏ผŒๅฏ็”จไบŽไปปไฝ•ๅผ‚ๆญฅ Promise ็ฎก็†ใ€‚"),a("span",{class:"VPBadge tip badge"},"ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†")]),a("a",{href:"https://graphql.org/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://graphql.org/_next/static/media/logo-blurred.94c9eff4.webp",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"GraphQL")]),a("p",{class:"desc"},"GraphQL ๆ˜ฏไธ€ไธช็”จไบŽ API ็š„ๆŸฅ่ฏข่ฏญ่จ€ใ€ไธ€็งๆ่ฟฐ่ฏทๆฑ‚ๆ•ฐๆฎๆ–นๆณ•็š„่ฏญๆณ•๏ผŒ้€šๅธธ็”จไบŽๅฎขๆˆท็ซฏไปŽๆœๅŠก็ซฏๅŠ ่ฝฝๆ•ฐๆฎ๏ผŒไธป่ฆๆ˜ฏไธบไบ†่งฃๅ†ณ REST API ไธญ่ฟ‡ๅบฆ่Žทๅ–ๅ’Œ่Žทๅ–ไธ่ถณ็š„้—ฎ้ข˜ใ€‚"),a("span",{class:"VPBadge tip badge"},"ๆŒ‰้œ€ๅฃฐๆ˜ŽๅผๆŸฅ่ฏข")]),a("a",{href:"https://trpc.io/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://trpc.io/img/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"tRPC")]),a("p",{class:"desc"},"tRPC ๆ˜ฏๅŸบไบŽๆ’ไปถๅŒ–็†ๅฟต่ฎพ่ฎก็š„ไธ€ๆฌพๆ”ฏๆŒๅคš่ฏญ่จ€ใ€้ซ˜ๆ€ง่ƒฝ็š„ RPC ๅผ€ๅ‘ๆก†ๆžถ๏ผŒๆ—จๅœจๆ— ้œ€ๅฎšไน‰ไธ“้—จ API Schema๏ผˆๅฆ‚ Swagger/GraphQL๏ผ‰็š„ๆƒ…ๅ†ตไธ‹๏ผŒๅฎž็Žฐๅ‰ๅŽ็ซฏๆ— ็ผใ€ๅ…จๆ ˆ็ฑปๅž‹ๅฎ‰ๅ…จ็š„ API ่ฐƒ็”จใ€‚ๅฎƒ่ฎฉๅ‰็ซฏ่ƒฝๅƒ่ฐƒ็”จๆœฌๅœฐๅ‡ฝๆ•ฐไธ€ๆ ท่ฐƒ็”จๅŽ็ซฏ่ฟœ็จ‹ๅ‡ฝๆ•ฐ๏ผŒๅคงๅคงๆๅ‡ๅผ€ๅ‘ๆ•ˆ็އใ€‚"),a("span",{class:"VPBadge tip badge"},"็ซฏๅˆฐ็ซฏ็ฑปๅž‹ๅฎ‰ๅ…จ")])])],-1),e("",9),a("div",{class:"container nav-card-container"},[a("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[a("a",{href:"https://cn.vite.dev/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://cn.vite.dev/logo-without-border.svg",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Vite")]),a("p",{class:"desc"},"Vite ๆ˜ฏไธ€ๆฌพ้€Ÿๅบฆๆžๅฟซ็š„ๅ‰็ซฏๆž„ๅปบๅทฅๅ…ท๏ผŒไธบไธ‹ไธ€ไปฃ Web ๅบ”็”จ็จ‹ๅบๆไพ›ๆ”ฏๆŒ๏ผŒๅฎƒๆ‘’ๅผƒไบ†โ€œๅ…ˆๆ‰“ๅŒ…๏ผŒๅ†ๅฏๅŠจโ€็š„ๆจกๅผ๏ผŒๅผ€ๅฏไบ†โ€œๅŽŸ็”Ÿ ESMโ€ๅผ€ๅ‘็š„ๆ–ฐๆ—ถไปฃใ€‚"),a("span",{class:"VPBadge tip badge"},"ๆž้€Ÿ ESM ๆž„ๅปบ")]),a("a",{href:"https://rsbuild.rs/zh/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://assets.rspack.rs/rsbuild/favicon-128x128.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Rsbuild")]),a("p",{class:"desc"},"Rsbuild ๆ˜ฏไธ€ไธช็”ฑๅญ—่Š‚่ทณๅŠจ Web Infra ๅ›ข้˜Ÿๅผ€ๆบใ€ๅŸบไบŽ Rust ่ฏญ่จ€็ผ–ๅ†™็š„ Rspack ้ฉฑๅŠจ็š„้ซ˜ๆ€ง่ƒฝๆž„ๅปบๅทฅๅ…ทใ€‚ๅฎƒไธ“ๆณจไบŽไธบ Web ้กน็›ฎๆไพ›ๅผ€็ฎฑๅณ็”จ็š„ๅผ€ๅ‘ไฝ“้ชŒ๏ผŒ้€š่ฟ‡ๅ†…็ฝฎ็š„้ซ˜ๆ€ง่ƒฝๅทฅๅ…ท๏ผˆๅฆ‚ SWCใ€Lightning CSS๏ผ‰ๅฎž็Žฐๆžๅฟซ็š„ๆž„ๅปบ้€Ÿๅบฆ๏ผŒๅนถๆไพ›็ฑปไผผ Vite/Webpack ็š„้›ถ้…็ฝฎๆˆ–ไฝŽ้…็ฝฎไฝ“้ชŒใ€‚"),a("span",{class:"VPBadge tip badge"},"Rust ้ซ˜ๆ€ง่ƒฝๆž„ๅปบ")]),a("a",{href:"https://nextjscn.org/docs/app/api-reference/turbopack",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("span",{class:"name"},"Turbopack")]),a("p",{class:"desc"},"Turbopack ๆ˜ฏ็”ฑ Vercel ๅผ€ๅ‘ใ€ๅŸบไบŽ Rust ็ผ–ๅ†™็š„้ซ˜ๆ€ง่ƒฝๅขž้‡ๆ‰“ๅŒ…ๅทฅๅ…ท๏ผŒไธ“ไธบ JavaScript ๅ’Œ TypeScript ไผ˜ๅŒ–ใ€‚ๅฎƒ่ขซ่ฎพ่ฎกไธบ Webpack ็š„็ปงไปป่€…๏ผŒๆ—จๅœจ้€š่ฟ‡ไผ˜ๅŒ–็š„ๆœบๅ™จไปฃ็ ๅ’Œ้ซ˜ๅบฆๅขž้‡่ฎก็ฎ—่ƒฝๅŠ›๏ผŒๆไพ›ๆฏ” Vite ๅฟซ 10 ๅ€ใ€ๆฏ” Webpack ๅฟซ 700 ๅ€็š„ๆœฌๅœฐๅผ€ๅ‘ไฝ“้ชŒ๏ผŒไธป่ฆๅ†…็ฝฎไบŽ Next.jsใ€‚"),a("span",{class:"VPBadge tip badge"},"ๅขž้‡ๆž้€Ÿๆ‰“ๅŒ…")]),a("a",{href:"https://webpack.docschina.org/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://webpack.docschina.org/favicon.f326220248556af65f41.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Webpack")]),a("p",{class:"desc"},"Webpack ๆ˜ฏไธ€ไธช็Žฐไปฃ JavaScript ๅบ”็”จ็จ‹ๅบ็š„้™ๆ€ๆจกๅ—ๆ‰“ๅŒ…ๅทฅๅ…ทใ€‚ๅฎƒๅœจๅ†…้ƒจๆž„ๅปบไพ่ต–ๅ›พ๏ผŒๅฐ†้กน็›ฎไธญ็š„ๅ„็ง่ต„ๆบ๏ผˆๅฆ‚ JSใ€CSSใ€ๅ›พ็‰‡ใ€TypeScript ็ญ‰๏ผ‰่ง†ไธบๆจกๅ—๏ผŒๅนถๆœ€็ปˆๆ‰“ๅŒ…ๆˆๆต่งˆๅ™จๅฏ็›ดๆŽฅ่ฟ่กŒ็š„้™ๆ€ๆ–‡ไปถใ€‚้€š่ฟ‡ Loader ๅ’Œ Plugin๏ผŒๅฎƒ่ƒฝๅค„็†ๅคๆ‚็š„ๅผ€ๅ‘้œ€ๆฑ‚ใ€‚"),a("span",{class:"VPBadge tip badge"},"็ปๅ…ธๆจกๅ—ๆ‰“ๅŒ…")]),a("a",{href:"https://github.com/features/actions",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://github.com/fluidicon.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"GitHub Actions")]),a("p",{class:"desc"},"GitHub Actions ๆ˜ฏ GitHub ๆŽจๅ‡บ็š„ๆŒ็ปญ้›†ๆˆๅ’ŒๆŒ็ปญไบคไป˜ (CI/CD) ๅนณๅฐ๏ผŒๆ—จๅœจๅธฎๅŠฉๅผ€ๅ‘่€…่‡ชๅŠจๆ‰ง่กŒ่ฝฏไปถๅผ€ๅ‘ๅทฅไฝœๆตใ€‚ๅฎƒๅ…่ฎธๅœจไปฃ็ ไป“ๅบ“ไธญ็›ดๆŽฅๅฎšไน‰่‡ชๅŠจๅŒ–ๆต็จ‹๏ผˆๅฆ‚ๆž„ๅปบใ€ๆต‹่ฏ•ใ€้ƒจ็ฝฒ๏ผ‰๏ผŒๆ”ฏๆŒไบ‹ไปถ่งฆๅ‘๏ผˆๅฆ‚ๆไบคไปฃ็ ๏ผ‰๏ผŒๅนถๆไพ›่™šๆ‹Ÿๆœบ็Žฏๅขƒ๏ผˆUbuntuใ€Windowsใ€macOS๏ผ‰่ฟ่กŒไปปๅŠก๏ผŒไฝฟๅผ€ๅ‘ๆ›ด้ซ˜ๆ•ˆใ€‚"),a("span",{class:"VPBadge tip badge"},"CI/CD ่‡ชๅŠจๅŒ–")])])],-1),a("h2",{id:"_7-ๅ…จๆ ˆๆก†ๆžถ",tabindex:"-1"},[s("7. ๅ…จๆ ˆๆก†ๆžถ "),a("a",{class:"header-anchor",href:"#_7-ๅ…จๆ ˆๆก†ๆžถ","aria-label":"Permalink to โ€œ7. ๅ…จๆ ˆๆก†ๆžถโ€"},"โ€‹")],-1),a("blockquote",null,[a("p",null,[a("strong",null,"ๅŒๆž„ๅ…ƒๆก†ๆžถ๏ผšNext.jsใ€Nuxt"),s("๏ผŒ็Žฐไปฃๅ…จๆ ˆๅผ€ๅ‘ๅ€พๅ‘ไบŽไฝฟ็”จโ€œๅ…ƒๆก†ๆžถโ€๏ผŒๅฎƒไปฌๆจก็ณŠไบ†ๅฎขๆˆท็ซฏๅ’ŒๆœๅŠกๅ™จ็š„็•Œ้™๏ผŒๆไพ›ไธ€ไฝ“ๅŒ–็š„ๅผ€ๅ‘ไฝ“้ชŒใ€‚")]),a("p",null,[a("strong",null,"ไผไธš็บง Node ๆœๅŠก็ซฏๆก†ๆžถ๏ผšNestJS"),s("๏ผŒไธ€ไธช็”จไบŽๆž„ๅปบ้ซ˜ๆ•ˆใ€ๅฏๆ‰ฉๅฑ•็š„ Node.js ๆœๅŠกๅ™จ็ซฏๅบ”็”จ็จ‹ๅบ็š„ๆก†ๆžถ๏ผŒๅฎƒ้‡‡็”จ็Žฐไปฃ TypeScript ็ผ–ๅ†™๏ผŒๅนถๅฎŒๅ…จๆ”ฏๆŒๅฎƒ๏ผˆๅŒๆ—ถไนŸๆ”ฏๆŒ็บฏ JavaScript๏ผ‰ใ€‚ๅฎƒ่žๅˆไบ† OOP๏ผˆ้ขๅ‘ๅฏน่ฑก็ผ–็จ‹๏ผ‰ใ€FP๏ผˆๅ‡ฝๆ•ฐๅผ็ผ–็จ‹๏ผ‰ๅ’Œ FRP๏ผˆๅ‡ฝๆ•ฐๅ“ๅบ”ๅผ็ผ–็จ‹๏ผ‰็š„็†ๅฟตใ€‚ๅ…ถ่ฎพ่ฎกๆทฑๅ— Angular ๅฏๅ‘๏ผŒๅ†…็ฝฎไบ†ไพ่ต–ๆณจๅ…ฅ๏ผˆDI๏ผ‰ใ€ๆจกๅ—ๅŒ–ๅ’Œๅˆ†ๅฑ‚ๆžถๆž„็ญ‰ๅผบไธปๅผ ็‰นๆ€ง๏ผŒ่ขซ็งฐไธบ Node.js ็‰ˆ็š„ Spring ๆก†ๆžถใ€‚")])],-1),a("div",{class:"container nav-card-container"},[a("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[a("a",{href:"https://nextjs.org/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://nextjs.org/favicon.ico?favicon.3fc65821.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Next.js")]),a("p",{class:"desc"},"Next.js ๆ˜ฏไธ€ไธชๅŸบไบŽ Reactใ€Node.js ็š„ๅ…จๆ ˆ Web ๅผ€ๅ‘ๆก†ๆžถ๏ผŒ็”ฑ Vercel ๅ…ฌๅธ็ปดๆŠค๏ผŒไธ“ไธบ็”Ÿไบง็Žฏๅขƒ่ฎพ่ฎกใ€‚ๅฎƒ้€š่ฟ‡ๅ†…็ฝฎ็š„ๆœๅŠกๅ™จ็ซฏๆธฒๆŸ“ (SSR)ใ€้™ๆ€็ซ™็‚น็”Ÿๆˆ (SSG) ๅ’Œๅขž้‡้™ๆ€ๅ†็”Ÿๆˆ (ISR) ๆŠ€ๆœฏ๏ผŒ่งฃๅ†ณไบ†ไผ ็ปŸ React ๅบ”็”จ็š„ SEO ไผ˜ๅŒ–ๅทฎ ๅ’Œ้ฆ–ๅฑๅŠ ่ฝฝๆ…ข็š„้—ฎ้ข˜๏ผŒๆ˜ฏ็›ฎๅ‰ๆœ€ๅ—ๆฌข่ฟŽ็š„ React ๅบ”็”จๅผ€ๅ‘ๆก†ๆžถไน‹ไธ€ใ€‚"),a("span",{class:"VPBadge tip badge"},"SSR/SSG/ISR")]),a("a",{href:"https://nuxtjs.org/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://nuxt.com/icon.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Nuxt")]),a("p",{class:"desc"},"ๆ˜ฏไธ€ไธชๅŸบไบŽ Vue.js ็š„ๅผ€ๆบใ€ๅ…่ดน็š„ Web ๅผ€ๅ‘ๅ…ƒๆก†ๆžถ๏ผˆMeta-framework๏ผ‰๏ผŒไธ“ไธบๆž„ๅปบ้ซ˜ๆ€ง่ƒฝ็š„ๆœๅŠก็ซฏๆธฒๆŸ“๏ผˆSSR๏ผ‰ใ€้™ๆ€็ซ™็‚น็”Ÿๆˆ๏ผˆSSG๏ผ‰ๅ’Œๅ•้กตๅบ”็”จ๏ผˆSPA๏ผ‰่€Œ่ฎพ่ฎกใ€‚ๅฎƒ้›†ๆˆไบ† Viteใ€Vue 3 ๅ’Œ Nitro ๆœๅŠก็ซฏๅผ•ๆ“Ž๏ผŒๆ—จๅœจ็ฎ€ๅŒ–ๅผ€ๅ‘ๆต็จ‹๏ผŒๆไพ›ๅ“่ถŠ็š„ SEO ไผ˜ๅŒ–ๅ’Œๅผ€ๅ‘ไบบๅ‘˜ไฝ“้ชŒ"),a("span",{class:"VPBadge tip badge"},"SSR/SSG/ISR")]),a("a",{href:"https://nestjs.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://nestjs.com/favicon-32x32.a39d94f4.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"NestJS")]),a("p",{class:"desc"},"NestJS ๆ˜ฏไธ€ไธช็”จไบŽๆž„ๅปบ้ซ˜ๆ•ˆใ€ๅฏๆ‰ฉๅฑ•็š„ Node.js ๆœๅŠกๅ™จ็ซฏๅบ”็”จ็จ‹ๅบ็š„ๆก†ๆžถ๏ผŒๅฎƒ้‡‡็”จ็Žฐไปฃ TypeScript ็ผ–ๅ†™๏ผŒๅนถๅฎŒๅ…จๆ”ฏๆŒๅฎƒ๏ผˆๅŒๆ—ถไนŸๆ”ฏๆŒ็บฏ JavaScript๏ผ‰ใ€‚ๅฎƒ่žๅˆไบ† OOP๏ผˆ้ขๅ‘ๅฏน่ฑก็ผ–็จ‹๏ผ‰ใ€FP๏ผˆๅ‡ฝๆ•ฐๅผ็ผ–็จ‹๏ผ‰ๅ’Œ FRP๏ผˆๅ‡ฝๆ•ฐๅ“ๅบ”ๅผ็ผ–็จ‹๏ผ‰็š„็†ๅฟตใ€‚ๅ…ถ่ฎพ่ฎกๆทฑๅ— Angular ๅฏๅ‘๏ผŒๅ†…็ฝฎไบ†ไพ่ต–ๆณจๅ…ฅ๏ผˆDI๏ผ‰ใ€ๆจกๅ—ๅŒ–ๅ’Œๅˆ†ๅฑ‚ๆžถๆž„็ญ‰ๅผบไธปๅผ ็‰นๆ€ง๏ผŒ่ขซ็งฐไธบ Node.js ็‰ˆ็š„ Spring ๆก†ๆžถ."),a("span",{class:"VPBadge tip badge"},"ไผไธš็บง Node ๆก†ๆžถ")])])],-1),e("",2),a("div",{class:"container nav-card-container"},[a("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[a("a",{href:"https://vercel.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://assets.vercel.com/image/upload/front/favicon/vercel/apple-touch-icon-256x256.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Vercel")]),a("p",{class:"desc"},"Vercel ๆ˜ฏไธ€ไธช็Žฐไปฃๅ‰็ซฏ้กน็›ฎ็š„็†ๆƒณ้ƒจ็ฝฒๅนณๅฐ๏ผŒๅฎƒ้›ถ้…็ฝฎใ€ๆ”ฏๆŒ่‡ชๅŠจ้ƒจ็ฝฒๅ’Œ้ข„่งˆใ€ๆ‹ฅๆœ‰ๅ…จ็ƒๅŠ ้€Ÿ่Š‚็‚น๏ผŒๅนฟๆณ›็”จไบŽๅผ€ๆบ้กน็›ฎใ€ไธชไบบไฝœๅ“้›†ใ€ไผไธš็ฝ‘็ซ™็ญ‰ใ€‚ ๆ— ่ฎบไฝ ๆ˜ฏ็”จReactใ€Vueใ€Svelte ่ฟ˜ๆ˜ฏ้™ๆ€HTML๏ผŒๅช้œ€ๅ‡ ๆญฅๅฐฑๅฏไปฅๅฐ†้กน็›ฎไธŠ็บฟใ€‚"),a("span",{class:"VPBadge tip badge"},"ๅ‰็ซฏ่พน็ผ˜ๆ‰˜็ฎก")]),a("a",{href:"https://www.netlify.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://www.netlify.com/favicon/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"Netlify")]),a("p",{class:"desc"},"ไธŽ Vercel ็ฑปไผผ๏ผŒๅŠŸ่ƒฝๆ›ดๅ…จ้ข๏ผšๆ”ฏๆŒๆ›ดๅคš็š„ๆก†ๆžถๅ’Œ้™ๆ€็ซ™็‚น็”Ÿๆˆๅ™จ๏ผŒๆœ‰่กจๅ•ๅค„็†ใ€ๆ— ๆœๅŠกๅ™จๅ‡ฝๆ•ฐ็ญ‰ๅŠŸ่ƒฝ๏ผŒๅ…่ดน้ขๅบฆๆ›ดๅคงใ€่ฟ˜ๆ”ฏๆŒ A/B ๆต‹่ฏ•ๅ’Œๅˆ†ๆžใ€‚Netlify ๆ˜ฏไธ€ไธชๅŸบไบŽไบ‘่ฎก็ฎ—็š„็ฝ‘็ซ™้ƒจ็ฝฒๅ’Œๆ‰˜็ฎกๅนณๅฐ๏ผŒไธ“ๆณจไบŽไธบๅผ€ๅ‘่€…ๆไพ›ไพฟๆท็š„้™ๆ€็ฝ‘็ซ™ๅ’ŒJamstack ๅบ”็”จ้ƒจ็ฝฒๆœๅŠกใ€‚ ๅฎƒ็š„ๆ ธๅฟƒไผ˜ๅŠฟๅœจไบŽๅฐ†็ฝ‘็ซ™ๆž„ๅปบใ€้ƒจ็ฝฒใ€ๆ‰˜็ฎกไปฅๅŠๆŒ็ปญ้›†ๆˆ/ ๆŒ็ปญ้ƒจ็ฝฒ๏ผˆCI/CD๏ผ‰ๆต็จ‹้ซ˜ๅบฆ้›†ๆˆ๏ผŒๆžๅคงๅœฐ็ฎ€ๅŒ–ไบ†ๅผ€ๅ‘ๅ’Œ่ฟ็ปด็š„ๅคๆ‚็จ‹ๅบฆ"),a("span",{class:"VPBadge tip badge"},"Jamstack ๅนณๅฐ")]),a("a",{href:"https://pages.github.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://github.com/fluidicon.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"GitHub Pages")]),a("p",{class:"desc"},"GitHub Pages ๆ˜ฏไธ€ไธช็”ฑ GitHub ๆไพ›็š„ใ€ๅ…่ดน็š„้™ๆ€็ฝ‘็ซ™ๆ‰˜็ฎกๆœๅŠกใ€‚ๅฎƒๅ…่ฎธ็”จๆˆท็›ดๆŽฅไปŽ GitHub ไป“ๅบ“๏ผˆRepository๏ผ‰่Žทๅ– HTMLใ€CSS ๅ’Œ JavaScript ๆ–‡ไปถ๏ผŒๆ— ้œ€้ขๅค–้…็ฝฎๆœๅŠกๅ™จๅณๅฏๅฟซ้€Ÿ้ƒจ็ฝฒไธชไบบไธป้กตใ€้กน็›ฎๆ–‡ๆกฃๆˆ–ๅšๅฎขใ€‚"),a("span",{class:"VPBadge tip badge"},"็บฏ้™ๆ€ๆ‰˜็ฎก")])])],-1),a("h2",{id:"_9-ๅญฆไน ่ต„ๆบไธŽ็คพๅŒบ-learning-community",tabindex:"-1"},[s("9. ๅญฆไน ่ต„ๆบไธŽ็คพๅŒบ (Learning & Community) "),a("a",{class:"header-anchor",href:"#_9-ๅญฆไน ่ต„ๆบไธŽ็คพๅŒบ-learning-community","aria-label":"Permalink to โ€œ9. ๅญฆไน ่ต„ๆบไธŽ็คพๅŒบ (Learning & Community)โ€"},"โ€‹")],-1),a("div",{class:"container nav-card-container"},[a("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[a("a",{href:"https://javascriptweekly.com/issues",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("span",{class:"name"},"JavaScript Weekly")]),a("p",{class:"desc"},"ๆฏๅ‘จๅˆ†ไบซๆœ€ๆ–ฐ็š„ JavaScript ็›ธๅ…ณๆŠ€ๆœฏๆ–‡็ซ ใ€ๅบ“ใ€ๅทฅๅ…ทๅ’Œ่ถ‹ๅŠฟ"),a("span",{class:"VPBadge tip badge"},"ๆŠ€ๆœฏๅ‘จๅˆŠ")]),a("a",{href:"https://nodeweekly.com/issues",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("span",{class:"name"},"Node Weekly")]),a("p",{class:"desc"},"ๆฏๅ‘จๅˆ†ไบซๆœ€ๆ–ฐ็š„ Node.js ็›ธๅ…ณๆŠ€ๆœฏๆ–‡็ซ ใ€ๅบ“ใ€ๅทฅๅ…ทๅ’Œ่ถ‹ๅŠฟใ€‚"),a("span",{class:"VPBadge tip badge"},"ๆŠ€ๆœฏๅ‘จๅˆŠ")]),a("a",{href:"https://www.ruanyifeng.com/blog/weekly/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("span",{class:"name"},"้˜ฎไธ€ๅณฐ็ฝ‘็ปœๆ—ฅๅฟ—")]),a("p",{class:"desc"},"้˜ฎไธ€ๅณฐ็š„็ฝ‘็ปœๆ—ฅๅฟ—๏ผŒๆฏๅ‘จไบ”ๅ‘ๅธƒ๏ผŒๅˆ†ไบซๆœ€ๆ–ฐ็š„ๅ‰็ซฏๆŠ€ๆœฏๆ–‡็ซ ใ€ๅบ“ใ€ๅทฅๅ…ทๅ’Œ่ถ‹ๅŠฟ็ญ‰ใ€‚"),a("span",{class:"VPBadge tip badge"},"ๆŠ€ๆœฏๅ‘จๅˆŠ")]),a("a",{href:"https://fed.chanceyu.com/?q=%5B%E6%9D%A5%E6%BA%90%5D%20%E5%89%8D%E7%AB%AF%E6%97%A9%E8%AF%BB%E8%AF%BE",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://res.wx.qq.com/a/wx_fed/assets/res/OTE0YTAw.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"ๅ‰็ซฏๆ—ฉ่ฏป่ฏพ")]),a("p",{class:"desc"},"ๅ‰็ซฏ้ข†ๅŸŸไธ“ไธš็š„ๅพฎไฟกๅ…ฌไผ—ๅท๏ผŒๅ‘ๅธƒไธ€ไบ›ไธŽๅ‰็ซฏ็›ธๅ…ณ็š„ๆทฑๅบฆๆŠ€ๆœฏๆ–‡็ซ ใ€ๅบ“ใ€ๅทฅๅ…ทๅ’Œ่ถ‹ๅŠฟ็ญ‰ใ€‚"),a("span",{class:"VPBadge tip badge"},"ไธ“ไธšๅ…ฌไผ—ๅท")]),a("a",{href:"https://fed.chanceyu.com/?q=%5B%E6%9D%A5%E6%BA%90%5D%20%E5%89%8D%E7%AB%AF%E4%B9%8B%E5%B7%85",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://res.wx.qq.com/a/wx_fed/assets/res/OTE0YTAw.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"ๅ‰็ซฏไน‹ๅท…")]),a("p",{class:"desc"},"ๅ‰็ซฏ้ข†ๅŸŸไธ“ไธš็š„ๅพฎไฟกๅ…ฌไผ—ๅท๏ผŒๅ‘ๅธƒไธ€ไบ›ไธŽๅ‰็ซฏ็›ธๅ…ณ็š„ๆทฑๅบฆๆŠ€ๆœฏๆ–‡็ซ ใ€ๅบ“ใ€ๅทฅๅ…ทๅ’Œ่ถ‹ๅŠฟ็ญ‰ใ€‚"),a("span",{class:"VPBadge tip badge"},"ไธ“ไธšๅ…ฌไผ—ๅท")]),a("a",{href:"https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzIxMzExMjYwOQ==&action=getalbum&album_id=1369610438157369345#wechat_redirect",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://res.wx.qq.com/a/wx_fed/assets/res/OTE0YTAw.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"ๅ‡นๅ‡ธๅฎž้ชŒๅฎค")]),a("p",{class:"desc"},"่’ฒๅ…ฌ่‹ฑยทJELLYๆŠ€ๆœฏๅ‘จๅˆŠ๏ผŒ็”ฑไบฌไธœยทๅ‡นๅ‡ธๅฎž้ชŒๅฎค็ปดๆŠคๆ•ด็†็š„ๆŠ€ๆœฏๅ‘จๅˆŠ๏ผŒไปŽๅ›ข้˜Ÿไธ“ๆณจ็š„็ ”็ฉถๆŠ€ๆœฏๆ–นๅ‘ๅ‡บๅ‘๏ผŒๆทฑๅ…ฅๆŒ–ๆŽ˜ไธš็•Œ็ƒญ็‚น๏ผŒ่š็„ฆๆŠ€ๆœฏๅŠจๆ€ใ€‚ๆŠ€ๆœฏๅ‘จๅˆŠๅ†…ๅฎนๅˆ†็ฑปไธป่ฆๅŒ…ๆ‹ฌๅฆ‚ไธ‹๏ผšๅŸบ็ก€ๆŠ€ๆœฏใ€ๅทฅ็จ‹ๅŒ–ใ€่ทจ็ซฏๆก†ๆžถๆŠ€ๆœฏใ€ๅ›พๅฝข็ผ–็จ‹ใ€ๆœๅŠก็ซฏๅผ€ๅ‘ใ€ๆกŒ้ขๅผ€ๅ‘ใ€ไบบๅทฅๆ™บ่ƒฝ็ญ‰ใ€‚"),a("span",{class:"VPBadge tip badge"},"ๆŠ€ๆœฏๅ‘จๅˆŠ")]),a("a",{href:"https://fed.chanceyu.com/?q=%5B%E6%9D%A5%E6%BA%90%5D%20%E5%89%8D%E7%AB%AF%E5%A4%A7%E5%85%A8",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://res.wx.qq.com/a/wx_fed/assets/res/OTE0YTAw.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"ๅ‰็ซฏๅคงๅ…จ")]),a("p",{class:"desc"},"ๅ‰็ซฏๅคงๅ…จ๏ผŒๅˆ†ไบซๆœ€ๆ–ฐ็š„ๅ‰็ซฏๆŠ€ๆœฏๆ–‡็ซ ใ€ๅบ“ใ€ๅทฅๅ…ทๅ’Œ่ถ‹ๅŠฟ"),a("span",{class:"VPBadge tip badge"},"ไธ“ไธšๅ…ฌไผ—ๅท")]),a("a",{href:"https://fed.chanceyu.com/?q=%5B%E6%9D%A5%E6%BA%90%5D%20%E5%89%8D%E7%AB%AF%E4%B9%8B%E7%A5%9E",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://res.wx.qq.com/a/wx_fed/assets/res/OTE0YTAw.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"ๅ‰็ซฏไน‹็ฅž")]),a("p",{class:"desc"},"ๅ‰็ซฏไน‹็ฅž๏ผŒๅˆ†ไบซๆœ€ๆ–ฐ็š„ๅ‰็ซฏๆŠ€ๆœฏๆ–‡็ซ ใ€ๅบ“ใ€ๅทฅๅ…ทๅ’Œ่ถ‹ๅŠฟ"),a("span",{class:"VPBadge tip badge"},"ไธ“ไธšๅ…ฌไผ—ๅท")]),a("a",{href:"https://fed.chanceyu.com/?q=%5B%E6%9D%A5%E6%BA%90%5D%20%E7%A8%8B%E5%BA%8F%E5%91%98%E6%88%90%E9%95%BF%E6%8C%87%E5%8C%97",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://res.wx.qq.com/a/wx_fed/assets/res/OTE0YTAw.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"็จ‹ๅบๅ‘˜ๆˆ้•ฟๆŒ‡ๅŒ—")]),a("p",{class:"desc"},"ๅ‰็ซฏ้ข†ๅŸŸไธ“ไธš็š„ๅพฎไฟกๅ…ฌไผ—ๅท๏ผŒๅ‘ๅธƒไธ€ไบ›ไธŽๅ‰็ซฏ็›ธๅ…ณ็š„ๆทฑๅบฆๆŠ€ๆœฏๆ–‡็ซ ใ€ๅบ“ใ€ๅทฅๅ…ทๅ’Œ่ถ‹ๅŠฟ็ญ‰ใ€‚"),a("span",{class:"VPBadge tip badge"},"ไธ“ไธšๅ…ฌไผ—ๅท")]),a("a",{href:"https://fed.chanceyu.com/?q=%5B%E6%9D%A5%E6%BA%90%5D%20%E5%AD%97%E8%8A%82%E5%89%8D%E7%AB%AF-ByteFE",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://res.wx.qq.com/a/wx_fed/assets/res/OTE0YTAw.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"ByteFE")]),a("p",{class:"desc"},"ๅญ—่Š‚่ทณๅŠจๅ‰็ซฏๅ›ข้˜Ÿ็ปดๆŠค็š„ไธ“ไธšๅพฎไฟกๅ…ฌไผ—ๅท๏ผŒๅˆ†ไบซๆŠ€ๆœฏๅ‰ๆฒฟใ€ๆ–‡็ซ ๅˆ†ไบซใ€ๅฎž่ทตๅนฒ่ดง็ญ‰ใ€‚"),a("span",{class:"VPBadge tip badge"},"ไธ“ไธšๅ…ฌไผ—ๅท")]),a("a",{href:"https://fed.chanceyu.com/?q=%5B%E6%9D%A5%E6%BA%90%5D%20%E5%89%8D%E7%AB%AF%E4%BB%8E%E8%BF%9B%E9%98%B6%E5%88%B0%E5%85%A5%E9%99%A2",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://res.wx.qq.com/a/wx_fed/assets/res/OTE0YTAw.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"ๅ‰็ซฏไปŽ่ฟ›้˜ถๅˆฐๅ…ฅ้™ข")]),a("p",{class:"desc"},"ๅ‰็ซฏไปŽ่ฟ›้˜ถๅˆฐๅ…ฅ้™ข๏ผŒๅˆ†ไบซๆœ€ๆ–ฐ็š„ๅ‰็ซฏๆŠ€ๆœฏๆ–‡็ซ ใ€ๅบ“ใ€ๅทฅๅ…ทๅ’Œ่ถ‹ๅŠฟ"),a("span",{class:"VPBadge tip badge"},"ไธ“ไธšๅ…ฌไผ—ๅท")]),a("a",{href:"https://www.zhangxinxu.com/wordpress/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("span",{class:"name"},"ๅผ ้‘ซๆ—ญ-้‘ซ็ฉบ้—ด-้‘ซ็”Ÿๆดป")]),a("p",{class:"desc"},"ๅผ ้‘ซๆ—ญ็š„ไธชไบบๅšๅฎข๏ผŒๅˆ†ไบซๆœ€ๆ–ฐ็š„ๅ‰็ซฏๆŠ€ๆœฏๆ–‡็ซ ใ€ๅบ“ใ€ๅทฅๅ…ทๅ’Œ่ถ‹ๅŠฟ็ญ‰ใ€‚"),a("span",{class:"VPBadge tip badge"},"็ฝ‘็ปœๅšๅฎข")]),a("a",{href:"https://fed.chanceyu.com/?q=%5B%E6%9D%A5%E6%BA%90%5D%20%E6%B7%98%E7%B3%BB%E5%89%8D%E7%AB%AF%E5%9B%A2%E9%98%9F",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[a("div",{class:"nav-card__item__info"},[a("div",{class:"nav-card__item__img skeleton-image"},[a("img",{src:"https://res.wx.qq.com/a/wx_fed/assets/res/OTE0YTAw.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),a("span",{class:"name"},"ๆท˜็ณปๅ‰็ซฏๅ›ข้˜Ÿ")]),a("p",{class:"desc"},"ๆท˜ๅฎๅ‰็ซฏๅ›ข้˜Ÿ๏ผŒๅˆ†ไบซๆœ€ๆ–ฐ็š„ๅ‰็ซฏๆŠ€ๆœฏๆ–‡็ซ ใ€ๅบ“ใ€ๅทฅๅ…ทๅ’Œ่ถ‹ๅŠฟ็ญ‰ใ€‚"),a("span",{class:"VPBadge tip badge"},"ไธ“ไธšๅ…ฌไผ—ๅท")])])],-1)])])}const h=d(l,[["render",n]]);export{v as __pageData,h as default}; diff --git "a/assets/10.\344\272\247\345\223\201 Sense_00.\345\255\246\344\271\240\344\270\216\345\256\236\350\267\265\345\205\250\346\231\257.md.B9Ry8o94.js" "b/assets/10.\344\272\247\345\223\201 Sense_00.\345\255\246\344\271\240\344\270\216\345\256\236\350\267\265\345\205\250\346\231\257.md.BlAoRUPp.js" similarity index 97% rename from "assets/10.\344\272\247\345\223\201 Sense_00.\345\255\246\344\271\240\344\270\216\345\256\236\350\267\265\345\205\250\346\231\257.md.B9Ry8o94.js" rename to "assets/10.\344\272\247\345\223\201 Sense_00.\345\255\246\344\271\240\344\270\216\345\256\236\350\267\265\345\205\250\346\231\257.md.BlAoRUPp.js" index d7ab7e62..525af203 100644 --- "a/assets/10.\344\272\247\345\223\201 Sense_00.\345\255\246\344\271\240\344\270\216\345\256\236\350\267\265\345\205\250\346\231\257.md.B9Ry8o94.js" +++ "b/assets/10.\344\272\247\345\223\201 Sense_00.\345\255\246\344\271\240\344\270\216\345\256\236\350\267\265\345\205\250\346\231\257.md.BlAoRUPp.js" @@ -1 +1 @@ -import{A as t}from"./chunks/ArticleCardList.CRH3I_GT.js";import{g as r,h as s,U as i,z as o,l as n}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const a=[{title:"ไบงๅ“่ง‚ๅฏŸไธŽๆ‹†่งฃๅˆ†ๆž",icon:"๐Ÿ”",color:"#6366f1",articles:[{title:"AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…",url:"/product-sense/perplexity-knowledge-worker",description:"ไปŽไบงๅ“ Sense ไธŽๅทฅ็จ‹้€ป่พ‘็š„ๅŒ้‡่ง†่ง’๏ผŒๆทฑๅ…ฅๅˆ†ๆž Perplexity ๅฆ‚ไฝ•้‡ๆ–ฐๅฎšไน‰ๆœ็ดขไฝ“้ชŒ."}]},{title:"ๆ–ฐ T ๅž‹ไบบ๏ผšAI ๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰",icon:"๐ŸŒŸ",color:"#8b5cf6",articles:[{title:"AI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ",url:"/product-sense/ai-native-composite-talents/",description:"ไธ€็ฏ‡้˜…่ฏป Paul Graham ๆทฑๅบฆ้•ฟๆ–‡ๅŽ็š„ๆ€่€ƒ๏ผŒๆŽขๅฏป AI ๆ—ถไปฃไธ‹่ทจ็•Œ่ƒฝๅŠ›็š„ๆž„ๅปบ่ทฏๅพ„ใ€‚"},{title:'ๅฝ“"ๅฎž็Žฐ"ไธๅ†ๆ˜ฏๅฃๅž’๏ผšๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบ Product Sense๏ผŸ',url:"/product-sense/engineer-build-product-sense",description:"ๅทฅ็จ‹ๅธˆ่ง†่ง’ไธ‹็š„ไบงๅ“ๆ€็ปดๆž„ๅปบๆŒ‡ๅ—โ€”โ€”ๅฐ†ๆŠฝ่ฑก็š„ ไบงๅ“ Sense ่งฃๆž„ไธบไธ‰ไธชๆ ธๅฟƒๆ•ฐๅญฆๅ…ฌๅผ๏ผŒๅนถๆไพ›ไธ€ๅฅ—ๅŸบไบŽโ€œ้€†ๅ‘ๅทฅ็จ‹โ€็š„ๅˆปๆ„็ปƒไน ๆŒ‡ๅ—๏ผŒๅŠฉๅŠ›ๅผ€ๅ‘่€…ๅœจ็ฎ—ๅŠ›่ฟ‡ๅ‰ฉ็š„ๆ—ถไปฃ๏ผŒๅฎŒๆˆไปŽโ€œไปฃ็ ๅทฅๅŒ โ€ๅˆฐโ€œไปทๅ€ผๅˆ›้€ ่€…โ€็š„่ฎค็Ÿฅ่ทƒ่ฟใ€‚"}]},{title:"ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–",icon:"๐Ÿ’ก",color:"#f59e0b",articles:[{title:"ๆ”พๅผƒๅขž้•ฟๆ‰งๅฟต๏ผŒไธบไป€ไนˆโ€œๅฐ่€Œ็พŽโ€ๆ‰ๆ˜ฏๅฏๆŒ็ปญไน‹่ทฏ๏ผŸ",url:"/product-sense/small-rule-learn",description:"ๆœฌๆ–‡็ป“ๅˆใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹ไนฆไธญๆๅ‡บ็š„ไธ€็งไธๅŒ็š„ๅ•†ไธš่ง†่ง’๏ผšไผไธšๅญ˜ๅœจ็š„้ฆ–่ฆ็›ฎ็š„ไธๆ˜ฏไธบไบ†่ž่ต„ๅ’Œๆ‰ฉๅผ ๏ผŒ่€Œๆ˜ฏไธบไบ†้€š่ฟ‡่งฃๅ†ณ้—ฎ้ข˜ๆฅ่Žทๅพ—ๆŒ็ปญ็š„็›ˆๅˆฉใ€‚ไปŽ่‡ช่บซ็š„็ ”ๅ‘่ง†่ง’๏ผŒๆŠŠๅฐ†่ฟ™ๆœฌไนฆ่ƒŒๅŽ็š„็ป่ฅ้€ป่พ‘ไธŽไบงๅ“ๅ“ฒๅญฆๆขณ็†ไธบๅ‡ ไธชๆ ธๅฟƒๅฑ‚้ข็š„ๆ€่€ƒ"},{title:"ๅฅฝไนฆ็ฑๆฑ‡ๆ€ปไธŽๆŽจ่",url:"/growth/books#_2-ไบงๅ“ไธŽๅ•†ไธš",description:"็ณป็ปŸๆ•ด็†ไบ†ไบงๅ“ Sense ไธŽๅˆ›้€ ใ€ๅ•†ไธšๅŒ–็›ธๅ…ณ็š„ๅฟ…่ฏปไนฆ็ฑๆธ…ๅ•๏ผŒไพฟไบŽๅผ€ๅ‘่€…ๅ’Œไบงๅ“็ป็†ๅญฆไน ๅ’Œๅบ”็”จไบงๅ“ Sense ็š„็†่ฎบๅ’Œๅฎž่ทตใ€‚"}]},{title:"ๆ–นๆณ•่ฎบๅญฆไน ไธŽๆ€ป็ป“๏ผšๆดžๅฏŸๅŠ›ไธŽ็ปๆตŽๅญฆๆ€็ปด",icon:"๐Ÿ“Š",color:"#10b981",articles:[{title:"ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผšๅฆ‚ไฝ•็œ‹้€ไบงๅ“ไธŽๆŠ€ๆœฏ่ƒŒๅŽ็š„็ณป็ปŸ้€ป่พ‘๏ผŸ",url:"/product-sense/insight-model",description:"็”จ้€šไฟ—ๆ˜“ๆ‡‚็š„ๆ–นๅผ๏ผŒๅธฆไฝ ๆ‹†่งฃไธ€ๅฅ—ๅฎž็”จ็š„ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผŒ่ฎฉๆˆ‘ไปฌๅญฆไผš้€่ฟ‡็Žฐ่ฑกๆŠ“ไฝๆœฌ่ดจ๏ผŒๅปบ็ซ‹้€่ฟ‡็Žฐ่ฑก็œ‹ๆœฌ่ดจ็š„ๆ€็ปดๆก†ๆžถ๏ผŒไปŽๆ นๆบไธŠ่งฃๅ†ณ้—ฎ้ข˜ใ€‚"},{title:"็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“",url:"/product-sense/using-economics-thinking",description:"้€š่ฟ‡ๆ‹†่งฃๆ—ฅๅธธ็”Ÿๆดปไธญ็š„็ปๅ…ธๆกˆไพ‹๏ผŒๆ็‚ผๆˆๆœฌๆ”ถ็›Šใ€ๅšๅผˆๅ‡่กกใ€ๆœ‰้™็†ๆ€งใ€ๆ•ˆ็އๆ”น่ฟ›็ญ‰ๆ ธๅฟƒ็ปๆตŽๅญฆๅŽŸ็†๏ผŒๅนถ็ณป็ปŸๅœฐๅฐ†ๅ…ถๅบ”็”จๅˆฐไบงๅ“็”Ÿๅ‘ฝๅ‘จๆœŸ็š„ๆ ธๅฟƒ็Žฏ่Š‚โ€”โ€”ๅฎšไน‰ๅฎšไฝใ€ๅฎšไปท็ญ–็•ฅใ€ไฝ“้ชŒ้”ๅฎšๅŠ็”Ÿๆ€ๆž„ๅปบใ€‚"}]}],g=JSON.parse('{"title":"ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ","description":"ไบงๅ“ Sense ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ๏ผŒๆถต็›– AI ไบงๅ“่ง‚ๅฏŸใ€ๅคๅˆๅž‹ไบบๆ‰ๆˆ้•ฟใ€ๅ•†ไธšๅŒ–ๆ€่€ƒๅŠๆ–นๆณ•่ฎบๆ€ป็ป“็ญ‰ใ€‚","frontmatter":{"date":"2026-03-19T23:05:50.000Z","title":"ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ","description":"ไบงๅ“ Sense ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ๏ผŒๆถต็›– AI ไบงๅ“่ง‚ๅฏŸใ€ๅคๅˆๅž‹ไบบๆ‰ๆˆ้•ฟใ€ๅ•†ไธšๅŒ–ๆ€่€ƒๅŠๆ–นๆณ•่ฎบๆ€ป็ป“็ญ‰ใ€‚","categories":["ไบงๅ“ Sense","AI"],"coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/product_sense_bg.png","permalink":"/product-sense"},"headers":[],"relativePath":"10.ไบงๅ“ Sense/00.ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ.md","filePath":"10.ไบงๅ“ Sense/00.ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ.md"}'),l={name:"10.ไบงๅ“ Sense/00.ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ.md"},m=Object.assign(l,{setup(c){return(d,e)=>(s(),r("div",null,[e[0]||(e[0]=i('

ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ โ€‹

ไบงๅ“ Sense ็š„็ฒพ้ซ“ๅœจไบŽ็”จๆœ€ๅฐๆŠ•ๅ…ฅๆ’ฌๅŠจๆœ€ๅคงไปทๅ€ผ๏ผŒๅŒๆ—ถ็ฒพๅ‡†ๆดžๅฏŸไบบๆ€ง๏ผš

  • ่ฟฝๆฑ‚้ซ˜ๆ ๆ†โ€”โ€”ไปฅๆž็ฎ€ๆŠ€ๆœฏ่งฃๅ†ณๅคๆ‚้—ฎ้ข˜๏ผŒๆ‹’็ปไธบ็‚ซๆŠ€่€Œ่ฎพ่ฎก็š„ไผช้œ€ๆฑ‚๏ผ›
  • ๅนณ่กกๆ„Ÿๆ€งไธŽ็†ๆ€งโ€”โ€”ๆ—ขๅ…ฑๆƒ…็”จๆˆท็š„็œŸๅฎžๅœบๆ™ฏไธŽๆƒ…็ปช๏ผŒๅˆๅ†ท้™่ฟฝๆบฏ็—›็‚นๆœฌ่ดจ๏ผŒ่ฎฉไบงๅ“ๆ—ขๆœ‰ๆธฉๅบฆ๏ผŒๅˆไธ่‡ณไบŽๆฒฆไธบๅŠŸ่ƒฝ็š„ๅ †็ Œใ€‚

่งฃๆž„่ฟ™็งไบงๅ“ Sense ็š„ๅŸบ็ก€ๅœจไบŽๅฏนๆŠ•ๅ…ฅไบงๅ‡บๆฏ”๏ผˆROI๏ผ‰็š„ๆž่‡ด่ฟฝๆฑ‚ไธŽๅฏนไบบๆ€ง็š„ๆทฑๅบฆๅ‰–ๆž๏ผš

  • ไธ€ๆ–น้ข๏ผŒๅ“่ถŠ็š„ไบงๅ“ๅ—…่ง‰ๆ„ๅ‘ณ็€ๅฏปๆ‰พโ€œ้ซ˜ๆ ๆ†่งฃโ€๏ผŒ็”จๆœ€ๅ…‹ๅˆถ็š„ๆŠ€ๆœฏๅคๆ‚ๅบฆๅŽปๆ’ฌๅŠจๆœ€ๅนฟๆณ›ไธ”ๅผบ็ƒˆ็š„็”จๆˆทไปทๅ€ผ๏ผŒๆžœๆ–ญ่ง„้ฟไธบไบ†ๆŠ€ๆœฏ่€ŒๆŠ€ๆœฏ็š„ไผช้œ€ๆฑ‚้™ท้˜ฑใ€‚
  • ๅฆไธ€ๆ–น้ข๏ผŒๆ—ข้œ€่ฆ่ฎพ่บซๅค„ๅœฐๆ„Ÿ็Ÿฅ็”จๆˆท็š„็œŸๅฎžไฝฟ็”จๅœบๆ™ฏไธŽๆƒ…็ปช๏ผŒๅˆๅฟ…้กปไฟๆŒ็†ๆ€งๅŽป่ฟฝ้—ฎ็—›็‚น็š„ๆ นๆบ๏ผŒ็กฎไฟไบงๅ“ๆ—ขไธๆฒฆไธบ่‡ƒ่‚ฟ็š„้œ€ๆฑ‚่ฎธๆ„ฟๆฑ ๏ผŒไนŸไธๅ˜ๆˆ็ผบไนไบบๆ€งๆธฉๅบฆ็š„ๅ†ฐๅ†ทๆœบๅ™จใ€‚
about site background

ๅœจไบงๅ“ๆˆๅŠŸ็އไธ่ถณ 10% ็š„ๆฎ‹้…ทๅธ‚ๅœบไธญ๏ผŒไบงๅ“ Sense ๅพ€ๅพ€่ขซ่ฏฏ่ฎคไธบๆ˜ฏๆŸ็งไธๅฏๅคๅˆถ็š„็Ž„ๅฆ™โ€œ็›ด่ง‰โ€ใ€‚็„ถ่€Œ๏ผŒๅฎƒๆœฌ่ดจไธŠๆ˜ฏไธ€ๅฅ—ๅฏๆ‹†่งฃใ€ๅฏ่ฎญ็ปƒ็š„ๆ€็ปดๆจกๅผ๏ผŒๆ ธๅฟƒๅœจไบŽ๏ผšๅœจไฟกๆฏไธๅฎŒๆ•ดใ€่ต„ๆบๅ—้™็š„็Žฏๅขƒไธ‹๏ผŒไพ็„ถ่ƒฝ็ฒพๅ‡†ๅˆคๆ–ญโ€œๅšไป€ไนˆโ€ไธŽโ€œไธๅšไป€ไนˆโ€๏ผŒไปŽ่€Œ็กฎไฟๅ›ข้˜ŸๅœจๆŠ•ๅ…ฅๅผ€ๅ‘ๅ‰ๅง‹็ปˆๆ˜ฏๅœจโ€œๅšๅฏนไบงๅ“โ€ใ€‚

2.็ฒพ้€‰ไธ“้ข˜ โ€‹

',8)),o(t,{categories:n(a)},null,8,["categories"])]))}});export{g as __pageData,m as default}; +import{A as t}from"./chunks/ArticleCardList.DFlNODKA.js";import{g as r,h as s,U as i,z as o,l as n}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const a=[{title:"ไบงๅ“่ง‚ๅฏŸไธŽๆ‹†่งฃๅˆ†ๆž",icon:"๐Ÿ”",color:"#6366f1",articles:[{title:"AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…",url:"/product-sense/perplexity-knowledge-worker",description:"ไปŽไบงๅ“ Sense ไธŽๅทฅ็จ‹้€ป่พ‘็š„ๅŒ้‡่ง†่ง’๏ผŒๆทฑๅ…ฅๅˆ†ๆž Perplexity ๅฆ‚ไฝ•้‡ๆ–ฐๅฎšไน‰ๆœ็ดขไฝ“้ชŒ."}]},{title:"ๆ–ฐ T ๅž‹ไบบ๏ผšAI ๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰",icon:"๐ŸŒŸ",color:"#8b5cf6",articles:[{title:"AI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ",url:"/product-sense/ai-native-composite-talents/",description:"ไธ€็ฏ‡้˜…่ฏป Paul Graham ๆทฑๅบฆ้•ฟๆ–‡ๅŽ็š„ๆ€่€ƒ๏ผŒๆŽขๅฏป AI ๆ—ถไปฃไธ‹่ทจ็•Œ่ƒฝๅŠ›็š„ๆž„ๅปบ่ทฏๅพ„ใ€‚"},{title:'ๅฝ“"ๅฎž็Žฐ"ไธๅ†ๆ˜ฏๅฃๅž’๏ผšๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบ Product Sense๏ผŸ',url:"/product-sense/engineer-build-product-sense",description:"ๅทฅ็จ‹ๅธˆ่ง†่ง’ไธ‹็š„ไบงๅ“ๆ€็ปดๆž„ๅปบๆŒ‡ๅ—โ€”โ€”ๅฐ†ๆŠฝ่ฑก็š„ ไบงๅ“ Sense ่งฃๆž„ไธบไธ‰ไธชๆ ธๅฟƒๆ•ฐๅญฆๅ…ฌๅผ๏ผŒๅนถๆไพ›ไธ€ๅฅ—ๅŸบไบŽโ€œ้€†ๅ‘ๅทฅ็จ‹โ€็š„ๅˆปๆ„็ปƒไน ๆŒ‡ๅ—๏ผŒๅŠฉๅŠ›ๅผ€ๅ‘่€…ๅœจ็ฎ—ๅŠ›่ฟ‡ๅ‰ฉ็š„ๆ—ถไปฃ๏ผŒๅฎŒๆˆไปŽโ€œไปฃ็ ๅทฅๅŒ โ€ๅˆฐโ€œไปทๅ€ผๅˆ›้€ ่€…โ€็š„่ฎค็Ÿฅ่ทƒ่ฟใ€‚"}]},{title:"ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–",icon:"๐Ÿ’ก",color:"#f59e0b",articles:[{title:"ๆ”พๅผƒๅขž้•ฟๆ‰งๅฟต๏ผŒไธบไป€ไนˆโ€œๅฐ่€Œ็พŽโ€ๆ‰ๆ˜ฏๅฏๆŒ็ปญไน‹่ทฏ๏ผŸ",url:"/product-sense/small-rule-learn",description:"ๆœฌๆ–‡็ป“ๅˆใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹ไนฆไธญๆๅ‡บ็š„ไธ€็งไธๅŒ็š„ๅ•†ไธš่ง†่ง’๏ผšไผไธšๅญ˜ๅœจ็š„้ฆ–่ฆ็›ฎ็š„ไธๆ˜ฏไธบไบ†่ž่ต„ๅ’Œๆ‰ฉๅผ ๏ผŒ่€Œๆ˜ฏไธบไบ†้€š่ฟ‡่งฃๅ†ณ้—ฎ้ข˜ๆฅ่Žทๅพ—ๆŒ็ปญ็š„็›ˆๅˆฉใ€‚ไปŽ่‡ช่บซ็š„็ ”ๅ‘่ง†่ง’๏ผŒๆŠŠๅฐ†่ฟ™ๆœฌไนฆ่ƒŒๅŽ็š„็ป่ฅ้€ป่พ‘ไธŽไบงๅ“ๅ“ฒๅญฆๆขณ็†ไธบๅ‡ ไธชๆ ธๅฟƒๅฑ‚้ข็š„ๆ€่€ƒ"},{title:"ๅฅฝไนฆ็ฑๆฑ‡ๆ€ปไธŽๆŽจ่",url:"/growth/books#_2-ไบงๅ“ไธŽๅ•†ไธš",description:"็ณป็ปŸๆ•ด็†ไบ†ไบงๅ“ Sense ไธŽๅˆ›้€ ใ€ๅ•†ไธšๅŒ–็›ธๅ…ณ็š„ๅฟ…่ฏปไนฆ็ฑๆธ…ๅ•๏ผŒไพฟไบŽๅผ€ๅ‘่€…ๅ’Œไบงๅ“็ป็†ๅญฆไน ๅ’Œๅบ”็”จไบงๅ“ Sense ็š„็†่ฎบๅ’Œๅฎž่ทตใ€‚"}]},{title:"ๆ–นๆณ•่ฎบๅญฆไน ไธŽๆ€ป็ป“๏ผšๆดžๅฏŸๅŠ›ไธŽ็ปๆตŽๅญฆๆ€็ปด",icon:"๐Ÿ“Š",color:"#10b981",articles:[{title:"ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผšๅฆ‚ไฝ•็œ‹้€ไบงๅ“ไธŽๆŠ€ๆœฏ่ƒŒๅŽ็š„็ณป็ปŸ้€ป่พ‘๏ผŸ",url:"/product-sense/insight-model",description:"็”จ้€šไฟ—ๆ˜“ๆ‡‚็š„ๆ–นๅผ๏ผŒๅธฆไฝ ๆ‹†่งฃไธ€ๅฅ—ๅฎž็”จ็š„ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผŒ่ฎฉๆˆ‘ไปฌๅญฆไผš้€่ฟ‡็Žฐ่ฑกๆŠ“ไฝๆœฌ่ดจ๏ผŒๅปบ็ซ‹้€่ฟ‡็Žฐ่ฑก็œ‹ๆœฌ่ดจ็š„ๆ€็ปดๆก†ๆžถ๏ผŒไปŽๆ นๆบไธŠ่งฃๅ†ณ้—ฎ้ข˜ใ€‚"},{title:"็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“",url:"/product-sense/using-economics-thinking",description:"้€š่ฟ‡ๆ‹†่งฃๆ—ฅๅธธ็”Ÿๆดปไธญ็š„็ปๅ…ธๆกˆไพ‹๏ผŒๆ็‚ผๆˆๆœฌๆ”ถ็›Šใ€ๅšๅผˆๅ‡่กกใ€ๆœ‰้™็†ๆ€งใ€ๆ•ˆ็އๆ”น่ฟ›็ญ‰ๆ ธๅฟƒ็ปๆตŽๅญฆๅŽŸ็†๏ผŒๅนถ็ณป็ปŸๅœฐๅฐ†ๅ…ถๅบ”็”จๅˆฐไบงๅ“็”Ÿๅ‘ฝๅ‘จๆœŸ็š„ๆ ธๅฟƒ็Žฏ่Š‚โ€”โ€”ๅฎšไน‰ๅฎšไฝใ€ๅฎšไปท็ญ–็•ฅใ€ไฝ“้ชŒ้”ๅฎšๅŠ็”Ÿๆ€ๆž„ๅปบใ€‚"}]}],g=JSON.parse('{"title":"ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ","description":"ไบงๅ“ Sense ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ๏ผŒๆถต็›– AI ไบงๅ“่ง‚ๅฏŸใ€ๅคๅˆๅž‹ไบบๆ‰ๆˆ้•ฟใ€ๅ•†ไธšๅŒ–ๆ€่€ƒๅŠๆ–นๆณ•่ฎบๆ€ป็ป“็ญ‰ใ€‚","frontmatter":{"date":"2026-03-19T23:05:50.000Z","title":"ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ","description":"ไบงๅ“ Sense ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ๏ผŒๆถต็›– AI ไบงๅ“่ง‚ๅฏŸใ€ๅคๅˆๅž‹ไบบๆ‰ๆˆ้•ฟใ€ๅ•†ไธšๅŒ–ๆ€่€ƒๅŠๆ–นๆณ•่ฎบๆ€ป็ป“็ญ‰ใ€‚","categories":["ไบงๅ“ Sense","AI"],"coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/product_sense_bg.png","permalink":"/product-sense"},"headers":[],"relativePath":"10.ไบงๅ“ Sense/00.ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ.md","filePath":"10.ไบงๅ“ Sense/00.ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ.md"}'),l={name:"10.ไบงๅ“ Sense/00.ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ.md"},m=Object.assign(l,{setup(c){return(d,e)=>(s(),r("div",null,[e[0]||(e[0]=i('

ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ โ€‹

ไบงๅ“ Sense ็š„็ฒพ้ซ“ๅœจไบŽ็”จๆœ€ๅฐๆŠ•ๅ…ฅๆ’ฌๅŠจๆœ€ๅคงไปทๅ€ผ๏ผŒๅŒๆ—ถ็ฒพๅ‡†ๆดžๅฏŸไบบๆ€ง๏ผš

  • ่ฟฝๆฑ‚้ซ˜ๆ ๆ†โ€”โ€”ไปฅๆž็ฎ€ๆŠ€ๆœฏ่งฃๅ†ณๅคๆ‚้—ฎ้ข˜๏ผŒๆ‹’็ปไธบ็‚ซๆŠ€่€Œ่ฎพ่ฎก็š„ไผช้œ€ๆฑ‚๏ผ›
  • ๅนณ่กกๆ„Ÿๆ€งไธŽ็†ๆ€งโ€”โ€”ๆ—ขๅ…ฑๆƒ…็”จๆˆท็š„็œŸๅฎžๅœบๆ™ฏไธŽๆƒ…็ปช๏ผŒๅˆๅ†ท้™่ฟฝๆบฏ็—›็‚นๆœฌ่ดจ๏ผŒ่ฎฉไบงๅ“ๆ—ขๆœ‰ๆธฉๅบฆ๏ผŒๅˆไธ่‡ณไบŽๆฒฆไธบๅŠŸ่ƒฝ็š„ๅ †็ Œใ€‚

่งฃๆž„่ฟ™็งไบงๅ“ Sense ็š„ๅŸบ็ก€ๅœจไบŽๅฏนๆŠ•ๅ…ฅไบงๅ‡บๆฏ”๏ผˆROI๏ผ‰็š„ๆž่‡ด่ฟฝๆฑ‚ไธŽๅฏนไบบๆ€ง็š„ๆทฑๅบฆๅ‰–ๆž๏ผš

  • ไธ€ๆ–น้ข๏ผŒๅ“่ถŠ็š„ไบงๅ“ๅ—…่ง‰ๆ„ๅ‘ณ็€ๅฏปๆ‰พโ€œ้ซ˜ๆ ๆ†่งฃโ€๏ผŒ็”จๆœ€ๅ…‹ๅˆถ็š„ๆŠ€ๆœฏๅคๆ‚ๅบฆๅŽปๆ’ฌๅŠจๆœ€ๅนฟๆณ›ไธ”ๅผบ็ƒˆ็š„็”จๆˆทไปทๅ€ผ๏ผŒๆžœๆ–ญ่ง„้ฟไธบไบ†ๆŠ€ๆœฏ่€ŒๆŠ€ๆœฏ็š„ไผช้œ€ๆฑ‚้™ท้˜ฑใ€‚
  • ๅฆไธ€ๆ–น้ข๏ผŒๆ—ข้œ€่ฆ่ฎพ่บซๅค„ๅœฐๆ„Ÿ็Ÿฅ็”จๆˆท็š„็œŸๅฎžไฝฟ็”จๅœบๆ™ฏไธŽๆƒ…็ปช๏ผŒๅˆๅฟ…้กปไฟๆŒ็†ๆ€งๅŽป่ฟฝ้—ฎ็—›็‚น็š„ๆ นๆบ๏ผŒ็กฎไฟไบงๅ“ๆ—ขไธๆฒฆไธบ่‡ƒ่‚ฟ็š„้œ€ๆฑ‚่ฎธๆ„ฟๆฑ ๏ผŒไนŸไธๅ˜ๆˆ็ผบไนไบบๆ€งๆธฉๅบฆ็š„ๅ†ฐๅ†ทๆœบๅ™จใ€‚
about site background

ๅœจไบงๅ“ๆˆๅŠŸ็އไธ่ถณ 10% ็š„ๆฎ‹้…ทๅธ‚ๅœบไธญ๏ผŒไบงๅ“ Sense ๅพ€ๅพ€่ขซ่ฏฏ่ฎคไธบๆ˜ฏๆŸ็งไธๅฏๅคๅˆถ็š„็Ž„ๅฆ™โ€œ็›ด่ง‰โ€ใ€‚็„ถ่€Œ๏ผŒๅฎƒๆœฌ่ดจไธŠๆ˜ฏไธ€ๅฅ—ๅฏๆ‹†่งฃใ€ๅฏ่ฎญ็ปƒ็š„ๆ€็ปดๆจกๅผ๏ผŒๆ ธๅฟƒๅœจไบŽ๏ผšๅœจไฟกๆฏไธๅฎŒๆ•ดใ€่ต„ๆบๅ—้™็š„็Žฏๅขƒไธ‹๏ผŒไพ็„ถ่ƒฝ็ฒพๅ‡†ๅˆคๆ–ญโ€œๅšไป€ไนˆโ€ไธŽโ€œไธๅšไป€ไนˆโ€๏ผŒไปŽ่€Œ็กฎไฟๅ›ข้˜ŸๅœจๆŠ•ๅ…ฅๅผ€ๅ‘ๅ‰ๅง‹็ปˆๆ˜ฏๅœจโ€œๅšๅฏนไบงๅ“โ€ใ€‚

2.็ฒพ้€‰ไธ“้ข˜ โ€‹

',8)),o(t,{categories:n(a)},null,8,["categories"])]))}});export{g as __pageData,m as default}; diff --git "a/assets/10.\344\272\247\345\223\201 Sense_00.\345\255\246\344\271\240\344\270\216\345\256\236\350\267\265\345\205\250\346\231\257.md.B9Ry8o94.lean.js" "b/assets/10.\344\272\247\345\223\201 Sense_00.\345\255\246\344\271\240\344\270\216\345\256\236\350\267\265\345\205\250\346\231\257.md.BlAoRUPp.lean.js" similarity index 96% rename from "assets/10.\344\272\247\345\223\201 Sense_00.\345\255\246\344\271\240\344\270\216\345\256\236\350\267\265\345\205\250\346\231\257.md.B9Ry8o94.lean.js" rename to "assets/10.\344\272\247\345\223\201 Sense_00.\345\255\246\344\271\240\344\270\216\345\256\236\350\267\265\345\205\250\346\231\257.md.BlAoRUPp.lean.js" index c0ed0291..e8972e9b 100644 --- "a/assets/10.\344\272\247\345\223\201 Sense_00.\345\255\246\344\271\240\344\270\216\345\256\236\350\267\265\345\205\250\346\231\257.md.B9Ry8o94.lean.js" +++ "b/assets/10.\344\272\247\345\223\201 Sense_00.\345\255\246\344\271\240\344\270\216\345\256\236\350\267\265\345\205\250\346\231\257.md.BlAoRUPp.lean.js" @@ -1 +1 @@ -import{A as t}from"./chunks/ArticleCardList.CRH3I_GT.js";import{g as r,h as s,U as i,z as o,l as n}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const a=[{title:"ไบงๅ“่ง‚ๅฏŸไธŽๆ‹†่งฃๅˆ†ๆž",icon:"๐Ÿ”",color:"#6366f1",articles:[{title:"AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…",url:"/product-sense/perplexity-knowledge-worker",description:"ไปŽไบงๅ“ Sense ไธŽๅทฅ็จ‹้€ป่พ‘็š„ๅŒ้‡่ง†่ง’๏ผŒๆทฑๅ…ฅๅˆ†ๆž Perplexity ๅฆ‚ไฝ•้‡ๆ–ฐๅฎšไน‰ๆœ็ดขไฝ“้ชŒ."}]},{title:"ๆ–ฐ T ๅž‹ไบบ๏ผšAI ๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰",icon:"๐ŸŒŸ",color:"#8b5cf6",articles:[{title:"AI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ",url:"/product-sense/ai-native-composite-talents/",description:"ไธ€็ฏ‡้˜…่ฏป Paul Graham ๆทฑๅบฆ้•ฟๆ–‡ๅŽ็š„ๆ€่€ƒ๏ผŒๆŽขๅฏป AI ๆ—ถไปฃไธ‹่ทจ็•Œ่ƒฝๅŠ›็š„ๆž„ๅปบ่ทฏๅพ„ใ€‚"},{title:'ๅฝ“"ๅฎž็Žฐ"ไธๅ†ๆ˜ฏๅฃๅž’๏ผšๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบ Product Sense๏ผŸ',url:"/product-sense/engineer-build-product-sense",description:"ๅทฅ็จ‹ๅธˆ่ง†่ง’ไธ‹็š„ไบงๅ“ๆ€็ปดๆž„ๅปบๆŒ‡ๅ—โ€”โ€”ๅฐ†ๆŠฝ่ฑก็š„ ไบงๅ“ Sense ่งฃๆž„ไธบไธ‰ไธชๆ ธๅฟƒๆ•ฐๅญฆๅ…ฌๅผ๏ผŒๅนถๆไพ›ไธ€ๅฅ—ๅŸบไบŽโ€œ้€†ๅ‘ๅทฅ็จ‹โ€็š„ๅˆปๆ„็ปƒไน ๆŒ‡ๅ—๏ผŒๅŠฉๅŠ›ๅผ€ๅ‘่€…ๅœจ็ฎ—ๅŠ›่ฟ‡ๅ‰ฉ็š„ๆ—ถไปฃ๏ผŒๅฎŒๆˆไปŽโ€œไปฃ็ ๅทฅๅŒ โ€ๅˆฐโ€œไปทๅ€ผๅˆ›้€ ่€…โ€็š„่ฎค็Ÿฅ่ทƒ่ฟใ€‚"}]},{title:"ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–",icon:"๐Ÿ’ก",color:"#f59e0b",articles:[{title:"ๆ”พๅผƒๅขž้•ฟๆ‰งๅฟต๏ผŒไธบไป€ไนˆโ€œๅฐ่€Œ็พŽโ€ๆ‰ๆ˜ฏๅฏๆŒ็ปญไน‹่ทฏ๏ผŸ",url:"/product-sense/small-rule-learn",description:"ๆœฌๆ–‡็ป“ๅˆใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹ไนฆไธญๆๅ‡บ็š„ไธ€็งไธๅŒ็š„ๅ•†ไธš่ง†่ง’๏ผšไผไธšๅญ˜ๅœจ็š„้ฆ–่ฆ็›ฎ็š„ไธๆ˜ฏไธบไบ†่ž่ต„ๅ’Œๆ‰ฉๅผ ๏ผŒ่€Œๆ˜ฏไธบไบ†้€š่ฟ‡่งฃๅ†ณ้—ฎ้ข˜ๆฅ่Žทๅพ—ๆŒ็ปญ็š„็›ˆๅˆฉใ€‚ไปŽ่‡ช่บซ็š„็ ”ๅ‘่ง†่ง’๏ผŒๆŠŠๅฐ†่ฟ™ๆœฌไนฆ่ƒŒๅŽ็š„็ป่ฅ้€ป่พ‘ไธŽไบงๅ“ๅ“ฒๅญฆๆขณ็†ไธบๅ‡ ไธชๆ ธๅฟƒๅฑ‚้ข็š„ๆ€่€ƒ"},{title:"ๅฅฝไนฆ็ฑๆฑ‡ๆ€ปไธŽๆŽจ่",url:"/growth/books#_2-ไบงๅ“ไธŽๅ•†ไธš",description:"็ณป็ปŸๆ•ด็†ไบ†ไบงๅ“ Sense ไธŽๅˆ›้€ ใ€ๅ•†ไธšๅŒ–็›ธๅ…ณ็š„ๅฟ…่ฏปไนฆ็ฑๆธ…ๅ•๏ผŒไพฟไบŽๅผ€ๅ‘่€…ๅ’Œไบงๅ“็ป็†ๅญฆไน ๅ’Œๅบ”็”จไบงๅ“ Sense ็š„็†่ฎบๅ’Œๅฎž่ทตใ€‚"}]},{title:"ๆ–นๆณ•่ฎบๅญฆไน ไธŽๆ€ป็ป“๏ผšๆดžๅฏŸๅŠ›ไธŽ็ปๆตŽๅญฆๆ€็ปด",icon:"๐Ÿ“Š",color:"#10b981",articles:[{title:"ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผšๅฆ‚ไฝ•็œ‹้€ไบงๅ“ไธŽๆŠ€ๆœฏ่ƒŒๅŽ็š„็ณป็ปŸ้€ป่พ‘๏ผŸ",url:"/product-sense/insight-model",description:"็”จ้€šไฟ—ๆ˜“ๆ‡‚็š„ๆ–นๅผ๏ผŒๅธฆไฝ ๆ‹†่งฃไธ€ๅฅ—ๅฎž็”จ็š„ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผŒ่ฎฉๆˆ‘ไปฌๅญฆไผš้€่ฟ‡็Žฐ่ฑกๆŠ“ไฝๆœฌ่ดจ๏ผŒๅปบ็ซ‹้€่ฟ‡็Žฐ่ฑก็œ‹ๆœฌ่ดจ็š„ๆ€็ปดๆก†ๆžถ๏ผŒไปŽๆ นๆบไธŠ่งฃๅ†ณ้—ฎ้ข˜ใ€‚"},{title:"็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“",url:"/product-sense/using-economics-thinking",description:"้€š่ฟ‡ๆ‹†่งฃๆ—ฅๅธธ็”Ÿๆดปไธญ็š„็ปๅ…ธๆกˆไพ‹๏ผŒๆ็‚ผๆˆๆœฌๆ”ถ็›Šใ€ๅšๅผˆๅ‡่กกใ€ๆœ‰้™็†ๆ€งใ€ๆ•ˆ็އๆ”น่ฟ›็ญ‰ๆ ธๅฟƒ็ปๆตŽๅญฆๅŽŸ็†๏ผŒๅนถ็ณป็ปŸๅœฐๅฐ†ๅ…ถๅบ”็”จๅˆฐไบงๅ“็”Ÿๅ‘ฝๅ‘จๆœŸ็š„ๆ ธๅฟƒ็Žฏ่Š‚โ€”โ€”ๅฎšไน‰ๅฎšไฝใ€ๅฎšไปท็ญ–็•ฅใ€ไฝ“้ชŒ้”ๅฎšๅŠ็”Ÿๆ€ๆž„ๅปบใ€‚"}]}],g=JSON.parse('{"title":"ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ","description":"ไบงๅ“ Sense ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ๏ผŒๆถต็›– AI ไบงๅ“่ง‚ๅฏŸใ€ๅคๅˆๅž‹ไบบๆ‰ๆˆ้•ฟใ€ๅ•†ไธšๅŒ–ๆ€่€ƒๅŠๆ–นๆณ•่ฎบๆ€ป็ป“็ญ‰ใ€‚","frontmatter":{"date":"2026-03-19T23:05:50.000Z","title":"ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ","description":"ไบงๅ“ Sense ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ๏ผŒๆถต็›– AI ไบงๅ“่ง‚ๅฏŸใ€ๅคๅˆๅž‹ไบบๆ‰ๆˆ้•ฟใ€ๅ•†ไธšๅŒ–ๆ€่€ƒๅŠๆ–นๆณ•่ฎบๆ€ป็ป“็ญ‰ใ€‚","categories":["ไบงๅ“ Sense","AI"],"coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/product_sense_bg.png","permalink":"/product-sense"},"headers":[],"relativePath":"10.ไบงๅ“ Sense/00.ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ.md","filePath":"10.ไบงๅ“ Sense/00.ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ.md"}'),l={name:"10.ไบงๅ“ Sense/00.ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ.md"},m=Object.assign(l,{setup(c){return(d,e)=>(s(),r("div",null,[e[0]||(e[0]=i("",8)),o(t,{categories:n(a)},null,8,["categories"])]))}});export{g as __pageData,m as default}; +import{A as t}from"./chunks/ArticleCardList.DFlNODKA.js";import{g as r,h as s,U as i,z as o,l as n}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const a=[{title:"ไบงๅ“่ง‚ๅฏŸไธŽๆ‹†่งฃๅˆ†ๆž",icon:"๐Ÿ”",color:"#6366f1",articles:[{title:"AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…",url:"/product-sense/perplexity-knowledge-worker",description:"ไปŽไบงๅ“ Sense ไธŽๅทฅ็จ‹้€ป่พ‘็š„ๅŒ้‡่ง†่ง’๏ผŒๆทฑๅ…ฅๅˆ†ๆž Perplexity ๅฆ‚ไฝ•้‡ๆ–ฐๅฎšไน‰ๆœ็ดขไฝ“้ชŒ."}]},{title:"ๆ–ฐ T ๅž‹ไบบ๏ผšAI ๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰",icon:"๐ŸŒŸ",color:"#8b5cf6",articles:[{title:"AI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ",url:"/product-sense/ai-native-composite-talents/",description:"ไธ€็ฏ‡้˜…่ฏป Paul Graham ๆทฑๅบฆ้•ฟๆ–‡ๅŽ็š„ๆ€่€ƒ๏ผŒๆŽขๅฏป AI ๆ—ถไปฃไธ‹่ทจ็•Œ่ƒฝๅŠ›็š„ๆž„ๅปบ่ทฏๅพ„ใ€‚"},{title:'ๅฝ“"ๅฎž็Žฐ"ไธๅ†ๆ˜ฏๅฃๅž’๏ผšๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบ Product Sense๏ผŸ',url:"/product-sense/engineer-build-product-sense",description:"ๅทฅ็จ‹ๅธˆ่ง†่ง’ไธ‹็š„ไบงๅ“ๆ€็ปดๆž„ๅปบๆŒ‡ๅ—โ€”โ€”ๅฐ†ๆŠฝ่ฑก็š„ ไบงๅ“ Sense ่งฃๆž„ไธบไธ‰ไธชๆ ธๅฟƒๆ•ฐๅญฆๅ…ฌๅผ๏ผŒๅนถๆไพ›ไธ€ๅฅ—ๅŸบไบŽโ€œ้€†ๅ‘ๅทฅ็จ‹โ€็š„ๅˆปๆ„็ปƒไน ๆŒ‡ๅ—๏ผŒๅŠฉๅŠ›ๅผ€ๅ‘่€…ๅœจ็ฎ—ๅŠ›่ฟ‡ๅ‰ฉ็š„ๆ—ถไปฃ๏ผŒๅฎŒๆˆไปŽโ€œไปฃ็ ๅทฅๅŒ โ€ๅˆฐโ€œไปทๅ€ผๅˆ›้€ ่€…โ€็š„่ฎค็Ÿฅ่ทƒ่ฟใ€‚"}]},{title:"ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–",icon:"๐Ÿ’ก",color:"#f59e0b",articles:[{title:"ๆ”พๅผƒๅขž้•ฟๆ‰งๅฟต๏ผŒไธบไป€ไนˆโ€œๅฐ่€Œ็พŽโ€ๆ‰ๆ˜ฏๅฏๆŒ็ปญไน‹่ทฏ๏ผŸ",url:"/product-sense/small-rule-learn",description:"ๆœฌๆ–‡็ป“ๅˆใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹ไนฆไธญๆๅ‡บ็š„ไธ€็งไธๅŒ็š„ๅ•†ไธš่ง†่ง’๏ผšไผไธšๅญ˜ๅœจ็š„้ฆ–่ฆ็›ฎ็š„ไธๆ˜ฏไธบไบ†่ž่ต„ๅ’Œๆ‰ฉๅผ ๏ผŒ่€Œๆ˜ฏไธบไบ†้€š่ฟ‡่งฃๅ†ณ้—ฎ้ข˜ๆฅ่Žทๅพ—ๆŒ็ปญ็š„็›ˆๅˆฉใ€‚ไปŽ่‡ช่บซ็š„็ ”ๅ‘่ง†่ง’๏ผŒๆŠŠๅฐ†่ฟ™ๆœฌไนฆ่ƒŒๅŽ็š„็ป่ฅ้€ป่พ‘ไธŽไบงๅ“ๅ“ฒๅญฆๆขณ็†ไธบๅ‡ ไธชๆ ธๅฟƒๅฑ‚้ข็š„ๆ€่€ƒ"},{title:"ๅฅฝไนฆ็ฑๆฑ‡ๆ€ปไธŽๆŽจ่",url:"/growth/books#_2-ไบงๅ“ไธŽๅ•†ไธš",description:"็ณป็ปŸๆ•ด็†ไบ†ไบงๅ“ Sense ไธŽๅˆ›้€ ใ€ๅ•†ไธšๅŒ–็›ธๅ…ณ็š„ๅฟ…่ฏปไนฆ็ฑๆธ…ๅ•๏ผŒไพฟไบŽๅผ€ๅ‘่€…ๅ’Œไบงๅ“็ป็†ๅญฆไน ๅ’Œๅบ”็”จไบงๅ“ Sense ็š„็†่ฎบๅ’Œๅฎž่ทตใ€‚"}]},{title:"ๆ–นๆณ•่ฎบๅญฆไน ไธŽๆ€ป็ป“๏ผšๆดžๅฏŸๅŠ›ไธŽ็ปๆตŽๅญฆๆ€็ปด",icon:"๐Ÿ“Š",color:"#10b981",articles:[{title:"ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผšๅฆ‚ไฝ•็œ‹้€ไบงๅ“ไธŽๆŠ€ๆœฏ่ƒŒๅŽ็š„็ณป็ปŸ้€ป่พ‘๏ผŸ",url:"/product-sense/insight-model",description:"็”จ้€šไฟ—ๆ˜“ๆ‡‚็š„ๆ–นๅผ๏ผŒๅธฆไฝ ๆ‹†่งฃไธ€ๅฅ—ๅฎž็”จ็š„ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผŒ่ฎฉๆˆ‘ไปฌๅญฆไผš้€่ฟ‡็Žฐ่ฑกๆŠ“ไฝๆœฌ่ดจ๏ผŒๅปบ็ซ‹้€่ฟ‡็Žฐ่ฑก็œ‹ๆœฌ่ดจ็š„ๆ€็ปดๆก†ๆžถ๏ผŒไปŽๆ นๆบไธŠ่งฃๅ†ณ้—ฎ้ข˜ใ€‚"},{title:"็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“",url:"/product-sense/using-economics-thinking",description:"้€š่ฟ‡ๆ‹†่งฃๆ—ฅๅธธ็”Ÿๆดปไธญ็š„็ปๅ…ธๆกˆไพ‹๏ผŒๆ็‚ผๆˆๆœฌๆ”ถ็›Šใ€ๅšๅผˆๅ‡่กกใ€ๆœ‰้™็†ๆ€งใ€ๆ•ˆ็އๆ”น่ฟ›็ญ‰ๆ ธๅฟƒ็ปๆตŽๅญฆๅŽŸ็†๏ผŒๅนถ็ณป็ปŸๅœฐๅฐ†ๅ…ถๅบ”็”จๅˆฐไบงๅ“็”Ÿๅ‘ฝๅ‘จๆœŸ็š„ๆ ธๅฟƒ็Žฏ่Š‚โ€”โ€”ๅฎšไน‰ๅฎšไฝใ€ๅฎšไปท็ญ–็•ฅใ€ไฝ“้ชŒ้”ๅฎšๅŠ็”Ÿๆ€ๆž„ๅปบใ€‚"}]}],g=JSON.parse('{"title":"ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ","description":"ไบงๅ“ Sense ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ๏ผŒๆถต็›– AI ไบงๅ“่ง‚ๅฏŸใ€ๅคๅˆๅž‹ไบบๆ‰ๆˆ้•ฟใ€ๅ•†ไธšๅŒ–ๆ€่€ƒๅŠๆ–นๆณ•่ฎบๆ€ป็ป“็ญ‰ใ€‚","frontmatter":{"date":"2026-03-19T23:05:50.000Z","title":"ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ","description":"ไบงๅ“ Sense ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ๏ผŒๆถต็›– AI ไบงๅ“่ง‚ๅฏŸใ€ๅคๅˆๅž‹ไบบๆ‰ๆˆ้•ฟใ€ๅ•†ไธšๅŒ–ๆ€่€ƒๅŠๆ–นๆณ•่ฎบๆ€ป็ป“็ญ‰ใ€‚","categories":["ไบงๅ“ Sense","AI"],"coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/product_sense_bg.png","permalink":"/product-sense"},"headers":[],"relativePath":"10.ไบงๅ“ Sense/00.ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ.md","filePath":"10.ไบงๅ“ Sense/00.ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ.md"}'),l={name:"10.ไบงๅ“ Sense/00.ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ.md"},m=Object.assign(l,{setup(c){return(d,e)=>(s(),r("div",null,[e[0]||(e[0]=i("",8)),o(t,{categories:n(a)},null,8,["categories"])]))}});export{g as __pageData,m as default}; diff --git "a/assets/10.\344\272\247\345\223\201 Sense_01.\344\272\247\345\223\201\350\247\202\345\257\237\344\270\216\345\210\206\346\236\220_11.AI-powered \346\220\234\347\264\242\345\274\225\346\223\216\350\247\202\345\257\237\345\210\206\346\236\220\357\274\232Perplexity \344\270\216\347\237\245\350\257\206\345\267\245\344\275\234\350\200\205.md.BEH7EQLT.js" "b/assets/10.\344\272\247\345\223\201 Sense_01.\344\272\247\345\223\201\350\247\202\345\257\237\344\270\216\345\210\206\346\236\220_11.AI-powered \346\220\234\347\264\242\345\274\225\346\223\216\350\247\202\345\257\237\345\210\206\346\236\220\357\274\232Perplexity \344\270\216\347\237\245\350\257\206\345\267\245\344\275\234\350\200\205.md.BRTIJ78C.js" similarity index 99% rename from "assets/10.\344\272\247\345\223\201 Sense_01.\344\272\247\345\223\201\350\247\202\345\257\237\344\270\216\345\210\206\346\236\220_11.AI-powered \346\220\234\347\264\242\345\274\225\346\223\216\350\247\202\345\257\237\345\210\206\346\236\220\357\274\232Perplexity \344\270\216\347\237\245\350\257\206\345\267\245\344\275\234\350\200\205.md.BEH7EQLT.js" rename to "assets/10.\344\272\247\345\223\201 Sense_01.\344\272\247\345\223\201\350\247\202\345\257\237\344\270\216\345\210\206\346\236\220_11.AI-powered \346\220\234\347\264\242\345\274\225\346\223\216\350\247\202\345\257\237\345\210\206\346\236\220\357\274\232Perplexity \344\270\216\347\237\245\350\257\206\345\267\245\344\275\234\350\200\205.md.BRTIJ78C.js" index 5de4afcf..7e4f5e41 100644 --- "a/assets/10.\344\272\247\345\223\201 Sense_01.\344\272\247\345\223\201\350\247\202\345\257\237\344\270\216\345\210\206\346\236\220_11.AI-powered \346\220\234\347\264\242\345\274\225\346\223\216\350\247\202\345\257\237\345\210\206\346\236\220\357\274\232Perplexity \344\270\216\347\237\245\350\257\206\345\267\245\344\275\234\350\200\205.md.BEH7EQLT.js" +++ "b/assets/10.\344\272\247\345\223\201 Sense_01.\344\272\247\345\223\201\350\247\202\345\257\237\344\270\216\345\210\206\346\236\220_11.AI-powered \346\220\234\347\264\242\345\274\225\346\223\216\350\247\202\345\257\237\345\210\206\346\236\220\357\274\232Perplexity \344\270\216\347\237\245\350\257\206\345\267\245\344\275\234\350\200\205.md.BRTIJ78C.js" @@ -1 +1 @@ -import{_ as r,g as t,h as a,U as l}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const _=JSON.parse('{"title":"AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจๅคงๆจกๅž‹้‡ๅก‘ไบ’่”็ฝ‘ไบคไบ’็š„ๅฝ“ไธ‹๏ผŒPerplexity ๅนถๆœช้€‰ๆ‹ฉๆˆไธบโ€œไธ‹ไธ€ไธช Googleโ€๏ผŒ่€Œๆ˜ฏไปฅโ€œ็Ÿฅ่ฏ†ๅ‘็Žฐๅผ•ๆ“Žโ€็š„ๅ…จๆ–ฐๅฎšไฝ๏ผŒ็ฒพๅ‡†ๅˆ‡ๅ…ฅ็Ÿฅ่ฏ†ๅทฅไฝœ่€…็š„ๆ ธๅฟƒๅทฅไฝœๆตใ€‚ๆœฌๆ–‡่ทณๅ‡บๅ•็บฏ็š„ๆจกๅž‹่ƒฝๅŠ›ๅฏนๆฏ”๏ผŒไปŽไบงๅ“ Sense ไธŽๅทฅ็จ‹้€ป่พ‘็š„ๅŒ้‡่ง†่ง’๏ผŒๆทฑๅบฆๆ‹†่งฃ Perplexity ็š„็ ดๅฑ€ไน‹้“ใ€‚ๆˆ‘ไปฌๅฐ†ๆŽข่ฎจๅฎƒๅฆ‚ไฝ•้€š่ฟ‡ๅ็›ด่ง‰็š„ UI ๅˆ›ๆ–ฐ้‡ๅก‘ไบคไบ’่ตท็‚น๏ผŒๅฆ‚ไฝ•ๅœจๅทฅ็จ‹ๅฑ‚้ขๆญป็ฃ•ๅฐพ้ƒจๅปถ่ฟŸไธŽๅนป่ง‰ๆŽงๅˆถ๏ผŒไปฅๅŠๅฎƒๅฆ‚ไฝ•ๅˆฉ็”จๅทจๅคด็š„ๅˆฉๆถฆ็އๆŠคๅŸŽๆฒณๅฎž็Žฐ้”™ไฝ็ซžไบ‰ใ€‚ๆœ€็ปˆ๏ผŒๆˆ‘ไปฌๅฐ†่ง†็บฟๆŠ•ๅ‘ๆœชๆฅ๏ผŒไธ€็ชฅ AI ไปŽ่ขซๅŠจๅ“ๅบ”่ตฐๅ‘ไธปๅŠจๆŽข็ดข็š„ๆผ”่ฟ›่“ๅ›พใ€‚","frontmatter":{"date":"2024-05-08T08:56:21.000Z","title":"AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจๅคงๆจกๅž‹้‡ๅก‘ไบ’่”็ฝ‘ไบคไบ’็š„ๅฝ“ไธ‹๏ผŒPerplexity ๅนถๆœช้€‰ๆ‹ฉๆˆไธบโ€œไธ‹ไธ€ไธช Googleโ€๏ผŒ่€Œๆ˜ฏไปฅโ€œ็Ÿฅ่ฏ†ๅ‘็Žฐๅผ•ๆ“Žโ€็š„ๅ…จๆ–ฐๅฎšไฝ๏ผŒ็ฒพๅ‡†ๅˆ‡ๅ…ฅ็Ÿฅ่ฏ†ๅทฅไฝœ่€…็š„ๆ ธๅฟƒๅทฅไฝœๆตใ€‚ๆœฌๆ–‡่ทณๅ‡บๅ•็บฏ็š„ๆจกๅž‹่ƒฝๅŠ›ๅฏนๆฏ”๏ผŒไปŽไบงๅ“ Sense ไธŽๅทฅ็จ‹้€ป่พ‘็š„ๅŒ้‡่ง†่ง’๏ผŒๆทฑๅบฆๆ‹†่งฃ Perplexity ็š„็ ดๅฑ€ไน‹้“ใ€‚ๆˆ‘ไปฌๅฐ†ๆŽข่ฎจๅฎƒๅฆ‚ไฝ•้€š่ฟ‡ๅ็›ด่ง‰็š„ UI ๅˆ›ๆ–ฐ้‡ๅก‘ไบคไบ’่ตท็‚น๏ผŒๅฆ‚ไฝ•ๅœจๅทฅ็จ‹ๅฑ‚้ขๆญป็ฃ•ๅฐพ้ƒจๅปถ่ฟŸไธŽๅนป่ง‰ๆŽงๅˆถ๏ผŒไปฅๅŠๅฎƒๅฆ‚ไฝ•ๅˆฉ็”จๅทจๅคด็š„ๅˆฉๆถฆ็އๆŠคๅŸŽๆฒณๅฎž็Žฐ้”™ไฝ็ซžไบ‰ใ€‚ๆœ€็ปˆ๏ผŒๆˆ‘ไปฌๅฐ†่ง†็บฟๆŠ•ๅ‘ๆœชๆฅ๏ผŒไธ€็ชฅ AI ไปŽ่ขซๅŠจๅ“ๅบ”่ตฐๅ‘ไธปๅŠจๆŽข็ดข็š„ๆผ”่ฟ›่“ๅ›พใ€‚","permalink":"/product-sense/perplexity-knowledge-worker","categories":["ไบงๅ“ Sense"],"tags":["AI ๆœ็ดข","็Ÿฅ่ฏ†ๅ‘็Žฐ","ไบงๅ“ Sense"]},"headers":[],"relativePath":"10.ไบงๅ“ Sense/01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž/11.AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€….md","filePath":"10.ไบงๅ“ Sense/01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž/11.AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€….md"}'),o={name:"10.ไบงๅ“ Sense/01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž/11.AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€….md"};function i(n,e,p,s,g,d){return a(),t("div",null,[...e[0]||(e[0]=[l('

AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€… โ€‹

ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจๅคงๆจกๅž‹้‡ๅก‘ไบ’่”็ฝ‘ไบคไบ’็š„ๅฝ“ไธ‹๏ผŒPerplexity ๅนถๆœช้€‰ๆ‹ฉๆˆไธบโ€œไธ‹ไธ€ไธช Googleโ€๏ผŒ่€Œๆ˜ฏไปฅโ€œ็Ÿฅ่ฏ†ๅ‘็Žฐๅผ•ๆ“Žโ€็š„ๅ…จๆ–ฐๅฎšไฝ๏ผŒ็ฒพๅ‡†ๅˆ‡ๅ…ฅ็Ÿฅ่ฏ†ๅทฅไฝœ่€…็š„ๆ ธๅฟƒๅทฅไฝœๆตใ€‚ๆœฌๆ–‡่ทณๅ‡บๅ•็บฏ็š„ๆจกๅž‹่ƒฝๅŠ›ๅฏนๆฏ”๏ผŒไปŽไบงๅ“ Sense ไธŽๅทฅ็จ‹้€ป่พ‘็š„ๅŒ้‡่ง†่ง’๏ผŒๆ‹†่งฃ Perplexity ็š„็ ดๅฑ€ไน‹้“ใ€‚ๆˆ‘ไปฌๅฐ†ๆŽข่ฎจๅฎƒๅฆ‚ไฝ•้€š่ฟ‡ๅ็›ด่ง‰็š„ UI ๅˆ›ๆ–ฐ้‡ๅก‘ไบคไบ’่ตท็‚น๏ผŒๅฆ‚ไฝ•ๅœจๅทฅ็จ‹ๅฑ‚้ขๆญป็ฃ•ๅฐพ้ƒจๅปถ่ฟŸไธŽๅนป่ง‰ๆŽงๅˆถ๏ผŒไปฅๅŠๅฎƒๅฆ‚ไฝ•ๅˆฉ็”จๅทจๅคด็š„ๅˆฉๆถฆ็އๆŠคๅŸŽๆฒณๅฎž็Žฐ้”™ไฝ็ซžไบ‰ใ€‚ๆœ€็ปˆ๏ผŒๆˆ‘ไปฌๅฐ†่ง†็บฟๆŠ•ๅ‘ๆœชๆฅ๏ผŒไธ€็ชฅ AI ไปŽ่ขซๅŠจๅ“ๅบ”่ตฐๅ‘ไธปๅŠจๆŽข็ดข็š„ๆผ”่ฟ›่“ๅ›พใ€‚

1. ๅผ•่จ€ โ€‹

ๅœจ AI ๆตชๆฝฎไธ‹๏ผŒๆœ็ดขๅผ•ๆ“Ž็š„่Œƒๅผๆญฃๅœจๅ‘็”Ÿ่ฝฌ็งปใ€‚ไฝœไธบๅฝ“ๅ‰ๅค‡ๅ—็žฉ็›ฎ็š„ AI ๆœ็ดขไบงๅ“๏ผŒPerplexity ๅนถๆฒกๆœ‰่ฏ•ๅ›พๆˆไธบโ€œไธ‹ไธ€ไธช Googleโ€๏ผŒ่€Œๆ˜ฏๅฐ†่‡ชๅทฑๅฎšไน‰ไธบ็Ÿฅ่ฏ†ๅ‘็Žฐๅผ•ๆ“Žใ€‚

ๅฏนไบŽๆฏๅคฉ้œ€่ฆๅค„็†ๆตท้‡ไฟกๆฏใ€่ฟ›่กŒๅคๆ‚ๅ†ณ็ญ–็š„็Ÿฅ่ฏ†ๅทฅไฝœ่€…่€Œ่จ€๏ผŒๅฆ‚ไฝ•้ซ˜ๆ•ˆๅœฐโ€œๅŽปๅ™ชโ€ๅนถ่Žทๅ–้ซ˜ไฟกๅบฆ็Ÿฅ่ฏ†ๆ˜ฏๆ ธๅฟƒ่ฏ‰ๆฑ‚ใ€‚็ฌ”่€…ๅฐ†ไปŽไบงๅ“ไบคไบ’ใ€ๆŠ€ๆœฏๅทฅ็จ‹ใ€ๅ•†ไธš้€ป่พ‘ไธŽๆœชๆฅๆผ”่ฟ›ๅ››ไธช็ปดๅบฆ๏ผŒๅˆ†ๆž Perplexity ๆ˜ฏๅฆ‚ไฝ•้‡ๅก‘ไฟกๆฏ่Žทๅ–ๅทฅไฝœๆต็š„ใ€‚

ๆœฌๆ–‡ๆ—จๅœจ้€š่ฟ‡ๅฏน Perplexity ็š„ๆทฑๅบฆไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž๏ผŒๅธฎๅŠฉ่ฏป่€…็†่งฃ AI ๆœ็ดขไบงๅ“็š„่ฎพ่ฎก้€ป่พ‘ไธŽ็”จๆˆทไฝ“้ชŒไผ˜ๅŒ–่ทฏๅพ„๏ผŒๅŒๆ—ถไธบ็Ÿฅ่ฏ†ๅทฅไฝœ่€…ๆไพ›ๅฏ่ฝๅœฐ็š„ๆ•ˆ็އๆๅ‡ๆ–นๆณ•๏ผŒๅนถๅœจ่ฟ‡็จ‹ไธญๅŸนๅ…ป็ป“ๆž„ๅŒ–ไบงๅ“ๅˆ†ๆžๆ€็ปดใ€‚

2. ๆ ธๅฟƒๅฎšไฝ๏ผšไปŽโ€œ้“พๆŽฅๅฏผ่ˆชโ€ๅˆฐโ€œ็Ÿฅ่ฏ†ๅ‘็Žฐโ€ โ€‹

ไผ ็ปŸๆœ็ดขๅผ•ๆ“Ž็š„ๆœฌ่ดจๆ˜ฏๆต้‡ๅˆ†ๅ‘ไธŽ้“พๆŽฅๅฏผ่ˆช๏ผŒ่€Œ Perplexity ็š„็ฌฌไธ€ๆ€งๅŽŸ็†ๆ˜ฏ็›ดๆŽฅๆไพ›ๅ…ทๆœ‰ไบ‹ๅฎžๆ”ฏๆ’‘็š„็ญ”ๆกˆใ€‚

  • ๅญฆๆœฏ็บง็š„ไธฅ่ฐจๆ€ง๏ผšPerplexity ๅ€Ÿ้‰ดไบ†ๅญฆๆœฏ่ฎบๆ–‡็š„ๅผ•็”จๆœบๅˆถใ€‚ๅฎƒไธไป…ๆๅ–็›ธๅ…ณ็ฝ‘้กตๆฎต่ฝ๏ผŒ่ฟ˜่ฆๆฑ‚ๅคง่ฏญ่จ€ๆจกๅž‹๏ผˆLLM๏ผ‰ๅœจ็”Ÿๆˆ็ฎ€ๆ˜Ž็ญ”ๆกˆๆ—ถ๏ผŒๆฏไธ€ๅฅ่ฏ้ƒฝๅฟ…้กปๅธฆๆœ‰ๅ‡†็กฎ็š„่„šๆณจๆฅๆบใ€‚่ฟ™็ง่ฎพ่ฎก้™ไฝŽไบ†็Ÿฅ่ฏ†ๅทฅไฝœ่€…ไบŒๆฌกๆ ธๆŸฅไฟกๆฏ็š„ๆˆๆœฌใ€‚

  • ้žๆ›ฟไปฃๅ…ณ็ณป๏ผš Perplexity ไธŽ Google ๅนถ้ž้›ถๅ’Œๅšๅผˆใ€‚Google ๆ“…้•ฟๅค„็†ๅ…ทๆœ‰็กฎๅฎšๆ€ง UI ้œ€ๆฑ‚็š„ๆŸฅ่ฏข๏ผˆๅฆ‚ๅคฉๆฐ”ใ€่‚กไปทใ€ๆ ‡ๅ‡†ๅฏผ่ˆช๏ผ‰๏ผŒ่€Œ Perplexity ๅˆ™ไธ“ๆณจไบŽ่งฃ็ญ”้œ€่ฆ่ทจไฟกๆฏๆบๆ•ดๅˆใ€ๆ€ป็ป“็š„ๅคๆ‚้—ฎ้ข˜ใ€‚

3. ไบงๅ“ไบคไบ’้‡ๆž„๏ผšๅ็›ด่ง‰็š„ UI ๅˆ›ๆ–ฐ โ€‹

Perplexity ๅœจไบคไบ’่ฎพ่ฎกไธŠๅšๅ‡บไบ†ๅ‡ ไธช่ฟ่ƒŒไผ ็ปŸๆœ็ดขๅธธ็†็š„ๅ†ณ็ญ–๏ผš

  • ้™็บง้“พๆŽฅ็š„่ง†่ง‰ๆƒ้‡๏ผšๅœจไผ ็ปŸๆœ็ดขไธญ๏ผŒ10 ๆก่“่‰ฒ้“พๆŽฅๆ˜ฏ็ปๅฏน็š„ไธป่ง’ใ€‚Perplexity ๅ†…้ƒจๆ›พ็ปๅކ่ฟ‡ๆฟ€็ƒˆ็š„ไบ‰่ฎบ๏ผŒๆœ€็ปˆๅ†ณๅฎšๅฐ†ๆ ธๅฟƒไฝ็ฝฎ่ฎฉ็ป™โ€œ็”Ÿๆˆ็š„็ญ”ๆกˆโ€๏ผŒๅ“ชๆ€•ๆ—ฉๆœŸๆจกๅž‹ๅถๅฐ”ไผšๅ‡บ็Žฐๅนป่ง‰๏ผˆHallucination๏ผ‰ใ€‚่ฟ™็งๅๅ…ถ้“่€Œ่กŒไน‹็š„ๅ‹‡ๆฐ”๏ผŒ็กฎ็ซ‹ไบ†ๅ…ถไฝœไธบโ€œ้—ฎ็ญ”ๅผ•ๆ“Žโ€็š„ๅฟƒๆ™บใ€‚

  • ๅฐ†ไบคไบ’่ตท็‚นๅŽ็ฝฎ๏ผšไผ ็ปŸๆœ็ดขๅœจ็”จๆˆท็‚นๅ‡ป้“พๆŽฅๅŽ็ป“ๆŸ๏ผŒ่€Œ Perplexity ่ฎคไธบ๏ผŒ็”จๆˆทๅพ—ๅˆฐ็ญ”ๆกˆๅŽ๏ผŒไบคไบ’ๆ‰ๅˆšๅˆšๅผ€ๅง‹ใ€‚้€š่ฟ‡ๅœจๅบ•้ƒจๆไพ›โ€œ็›ธๅ…ณ้—ฎ้ข˜๏ผˆPeople also ask๏ผ‰โ€๏ผŒๅฎƒๅ……ๅฝ“ไบ†็”จๆˆท็š„ๆ€่€ƒ่พ…ๅŠฉๅทฅๅ…ท๏ผŒๅธฎๅŠฉไธๆ“…้•ฟๆ้—ฎ็š„็”จๆˆทๅฐ†ๆจก็ณŠ็š„โ€œๅฅฝๅฅ‡ๅฟƒโ€ๅ…ท่ฑกๅŒ–ไธบๆธ…ๆ™ฐ็š„ Promptใ€‚

  • ่š็„ฆโ€œ้ญ”ๅŠ›ๆŒ‡ๆ ‡โ€๏ผš ็›ธๆฏ”ไบŽๅ…ณๆณจ็”จๆˆท็š„ๅœ็•™ๆ—ถ้•ฟ๏ผŒPerplexity ็š„ๆ ธๅฟƒๆŒ‡ๆ ‡ๆ˜ฏ่ฎฉ็”จๆˆทๆ„Ÿๅˆฐๆปกๆ„็š„ๆŸฅ่ฏขๆฌกๆ•ฐใ€‚ๅฟซ้€Ÿใ€ๅ‡†็กฎใ€ๆ˜“่ฏป๏ผŒๆ˜ฏ้ฉฑๅŠจ็Ÿฅ่ฏ†ๅทฅไฝœ่€…็•™ๅญ˜็š„ๅ”ฏไธ€ๅŠจๅŠ›ใ€‚

4. ๆŠ€ๆœฏๆŠคๅŸŽๆฒณ๏ผšๆœ็ดขๆ˜ฏไธ€้กนๅทฅ็จ‹ไธŽๆจกๅž‹็š„ไบคๅ“ โ€‹

ๅพˆๅคšไบบ่ฏฏไปฅไธบ AI ๆœ็ดขๅชๆ˜ฏๅคงๆจกๅž‹็š„โ€œๅฅ—ๅฃณโ€๏ผŒไฝ†ๅฎž้™…ไธŠ๏ผŒๅšๅฅฝๆœ็ดข้œ€่ฆๆทฑๅŽš็š„้ข†ๅŸŸ Know-how ๅ’Œๆž่‡ด็š„ๅทฅ็จ‹ไผ˜ๅŒ–ใ€‚

4.1 ้ฉฏๆœๅนป่ง‰๏ผˆHallucination๏ผ‰็š„ๅ››ไธช็ปดๅบฆ โ€‹

Perplexity ๅšๆŒๆฏ”ๆ ‡ๅ‡† RAG๏ผˆๆฃ€็ดขๅขžๅผบ็”Ÿๆˆ๏ผ‰ๆ›ดไธฅ่‹›็š„ๅŽŸๅˆ™๏ผšๅฆ‚ๆžœๆฃ€็ดขๅˆฐ็š„ๆ–‡ๆกฃไฟกๆฏไธ่ถณ๏ผŒ็ณป็ปŸๅฟ…้กป็›ดๆŽฅๆ‹’็ปๅ›ž็ญ”๏ผŒ่€Œไธๆ˜ฏไปป็”ฑๆจกๅž‹็ผ–้€ ใ€‚ ๅ‡ๅฐ‘ๅนป่ง‰้œ€่ฆไปŽไปฅไธ‹ๅ‡ ไธชๅทฅ็จ‹่Š‚็‚นๅˆ‡ๅ…ฅ๏ผš

  • ๆฃ€็ดข่ดจ้‡๏ผšๆๅ‡็ดขๅผ•็š„ๆ–ฐ้ฒœๅบฆๅ’Œๅ…จ้ขๆ€ง๏ผŒ้ฟๅ…ๆๅ–่ฟ‡ๆ—ถๆˆ–ๅ†ฒ็ช็š„ไฟกๆฏใ€‚

  • ไธŠไธ‹ๆ–‡ๆŽงๅˆถ๏ผš้ฟๅ…ไธ€ๆฌกๆ€งๅฐ†ๆตท้‡ๆ–‡ๆกฃๅ…จ้ƒจไธข็ป™ๆจกๅž‹ๅฏผ่‡ดโ€œๆณจๆ„ๅŠ›ๆถฃๆ•ฃโ€๏ผŒ็ฒพ็กฎๆŽงๅˆถๆ‘˜ๅฝ•็š„้ข—็ฒ’ๅบฆใ€‚

  • ๆจกๅž‹็†่งฃๅŠ›๏ผš ๆๅ‡ๆจกๅž‹ๅฏนๆทฑๅฑ‚่ฏญไน‰็š„็†่งฃ๏ผŒ็กฎไฟๅ…ถ่ƒฝไปŽไธ€ๅ †็›ธๅ…ณๅบฆไธ้ซ˜็š„ๆ–‡ๆกฃไธญ๏ผŒ็ฒพๅ‡†่ฏ†ๅˆซๅ‡บ้š่—็š„ๆญฃ็กฎ็ญ”ๆกˆใ€‚

4.2 ๆž่‡ด็š„ๆ€ง่ƒฝไผ˜ๅŒ–๏ผš่ฟฝ่ธชๅฐพ้ƒจๅปถ่ฟŸ๏ผˆTail Latency๏ผ‰ โ€‹

็Ÿฅ่ฏ†ๅทฅไฝœ่€…ๅฏนๆ•ˆ็އๆžๅ…ถๆ•ๆ„Ÿใ€‚Perplexity ๅœจๆ€ง่ƒฝไผ˜ๅŒ–ไธŠๅ€Ÿ้‰ดไบ† Google ็š„็†ๅฟต๏ผŒไธไป…็œ‹ๅนณๅ‡ๅ“ๅบ”ๆ—ถ้—ด๏ผŒๆ›ดๆญป็ฃ• P90 ๅ’Œ P99 ็š„ๅฐพ้ƒจๅปถ่ฟŸใ€‚

  • ้‡‡็”จ่‡ช็ ”็š„ Sonar ๆจกๅž‹๏ผˆๅŸบไบŽ Llama 3 ็ป“ๅˆ Post-training๏ผ‰ใ€‚

  • LLM ๅฑ‚๏ผšๅœจ LLM ๅฑ‚๏ผŒๆ ธๅฟƒๅ…ณๆณจ้ฆ–ๅญ—็”Ÿๆˆๆ—ถ้—ด๏ผˆTTFT๏ผ‰ๅ’Œๆ•ฐๆฎๆตๅผไผ ่พ“็š„ๅžๅ้‡ใ€‚

  • ้€š่ฟ‡ไธŽ NVIDIA ๅˆไฝœๅผ€ๅ‘ TensorRT-LLM ๆก†ๆžถ๏ผŒ็”š่‡ณๆทฑๅ…ฅๅ†…ๆ ธ็บงๅˆซ็ผ–ๅ†™ไปฃ็ ๏ผŒ็กฎไฟๅœจๆœ€ๅทฎ็š„็ฝ‘็ปœ็Žฏๅขƒไธ‹ไนŸ่ƒฝๅฎž็ŽฐๆžไฝŽ็š„ๅปถ่ฟŸใ€‚

5. ๅ•†ไธš้€ป่พ‘๏ผšไฝ ็š„ๅˆฉๆถฆ็އ๏ผŒๅฐฑๆ˜ฏๆˆ‘็š„ๆœบไผš โ€‹

Google ๆ‹ฅๆœ‰่ฟ‡ๅŽป 50 ๅนดๆœ€ไผŸๅคง็š„ๅ•†ไธšๆจกๅผโ€”โ€”ๅนฟๅ‘Š็ซžไปทใ€‚่ฟ™ไธไป…ๆ˜ฏๅ…ถๅˆฉๆถฆๆฅๆบ๏ผŒไนŸๆˆไบ†ๅ…ถๅœจ AI ๆœ็ดข่ฝฌๅž‹ๆ—ถ็š„ๅކๅฒๅŒ…่ขฑใ€‚ๅฏนไบŽ Google ่€Œ่จ€๏ผŒไธบๆฏไธ€ไธช้•ฟๅฐพๆŸฅ่ฏข็”Ÿๆˆ AI ็ญ”ๆกˆ็š„็ฎ—ๅŠ›ๆˆๆœฌๆž้ซ˜๏ผŒไธ”ไผš็ ดๅ็Žฐๆœ‰็š„้ซ˜ๅˆฉๆถฆๅนฟๅ‘Šไฝใ€‚

Perplexity ๅทงๅฆ™ๅœฐๅˆฉ็”จไบ†่ฟ™ไธ€็‚น๏ผˆๆญฃๅฆ‚ Amazon AWS ๅฝ“ๅนดๅˆ‡ๅ…ฅไฝŽๅˆฉๆถฆ็އ็š„ไบ‘ๅธ‚ๅœบไธ€ๆ ท๏ผ‰๏ผš

  • ๆ”พๅผƒไผ ็ปŸๅนฟๅ‘Šไฝ๏ผšๅŸบไบŽโ€œ็ญ”ๆกˆโ€็š„ไบงๅ“ๅฝขๆ€ๅคฉ็„ถๆŽ’ๆ–ฅไผ ็ปŸ็š„ๆ’ๅ…ฅๅผ้“พๆŽฅๅนฟๅ‘Šใ€‚

  • ่ฎข้˜…ๅˆถๅ…ˆ่กŒ๏ผšไธ“ๆณจไบŽๆ‰“้€ ๅฏๆŒ็ปญ็š„่ฎข้˜…ๆจกๅผ๏ผˆๅฆ‚ Pro ๆกฃๆœๅŠก๏ผ‰ใ€‚ๆœชๆฅๅฏ่ƒฝไผšๅ€Ÿ้‰ด Netflix ็š„โ€œ่ฎข้˜…+ๅนฟๅ‘Šโ€ๆททๅˆๆจกๅผ๏ผŒๅœจไธ็‰บ็‰ฒ็ญ”ๆกˆ็œŸๅฎžๆ€งๅ’Œ็”จๆˆทไฝ“้ชŒ็š„ๅ‰ๆไธ‹ๆŽข็ดขๅ•†ไธšๅŒ–ใ€‚

6. ๆœชๆฅๆผ”่ฟ›๏ผšไปŽ่ขซๅŠจๅ“ๅบ”ๅˆฐไธปๅŠจ Agent โ€‹

ๆœ็ดข็š„็ปˆๅฑ€ไธไป…ไป…ๆ˜ฏๅ›ž็ญ”้—ฎ้ข˜๏ผŒ่€Œๆ˜ฏ็Ÿฅ่ฏ†็š„็”ŸๆˆไธŽ่‡ชไธปๆŽข็ดขใ€‚

  • Perplexity Pages๏ผš่ฟ™ๆ˜ฏๅ…ถ่ฟˆๅ‘โ€œ็Ÿฅ่ฏ†ๅ‘็Žฐๅผ•ๆ“Žโ€็š„้‡่ฆไธ€ๆญฅใ€‚็”จๆˆท็š„ไผ˜่ดจๆ้—ฎๅ’Œๆœ็ดขไผš่ฏไธไป…ๅฏน่‡ชๅทฑๆœ‰ไปทๅ€ผ๏ผŒๅฐ†ๅ…ถ่ฝฌๅŒ–ไธบ็ป“ๆž„ๅŒ–็š„ๆ–‡็ซ ๅ‘ๅธƒ๏ผŒๅฏไปฅๆžๅคง้™ไฝŽๆ–ฐ็Ÿฅ่ฏ†ๅˆ›้€ ็š„้—จๆง›๏ผŒๆž„ๅปบ็ฑปไผผ AI ๆ—ถไปฃ็š„็ปดๅŸบ็™พ็ง‘ใ€‚

  • ่ต‹ไบˆ AI ๅฅฝๅฅ‡ๅฟƒ๏ผšๅฝ“ๅ‰็š„ AI ไปๆ˜ฏ่ขซๅŠจๅ“ๅบ”็š„ใ€‚ๆœชๆฅ็š„ๆƒณ่ฑก็ฉบ้—ดๅœจไบŽ๏ผŒๅฝ“ๆŽจ็†ๆˆๆœฌ่ฟ›ไธ€ๆญฅ้™ไฝŽ๏ผŒAI Agent ๅฏไปฅๅธฆ็€โ€œๅฅฝๅฅ‡ๅฟƒโ€ๅœจไบ’่”็ฝ‘ไธŠ่‡ชไธป็ฉฟๆขญใ€‚็”จๆˆทๅช้œ€ๆŠ›ๅ‡บไธ€ไธชๅฎๅคง็š„็›ฎๆ ‡๏ผˆๅฆ‚โ€œๅˆ†ๆžๆŸ้กนๆ–ฐๆŠ€ๆœฏ็š„ ROI ๅนถ็”Ÿๆˆ็ ”ๆŠฅโ€๏ผ‰๏ผŒAI ๅฐฑ่ƒฝ่‡ช่กŒๆ‹†่งฃ้—ฎ้ข˜ใ€่ฟ›่กŒๅคš่ฝฎๆœ็ดข้ชŒ่ฏ๏ผŒๆœ€็ปˆๅธฆ็€ๆ็บฏๅŽ็š„็Ÿฅ่ฏ†่ฟ”ๅ›žใ€‚

ๅ†™ๅœจๆœ€ๅŽ โ€‹

Perplexity ็š„ๆˆๅŠŸ่ฏๆ˜Žไบ†๏ผŒๅœจๅทจๅคดๆž—็ซ‹็š„่ต›้“ไธญ๏ผŒไพ็„ถๅฏไปฅ้€š่ฟ‡้‡ๆ–ฐๅฎšไน‰ไบงๅ“่พน็•Œๅ’Œๆž่‡ด็š„ๅทฅ็จ‹ๆ‰“็ฃจๆ’•ๅผ€็ผบๅฃใ€‚ๅฏนไบŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…่€Œ่จ€๏ผŒๅฎƒไธไป…ไป…ๆ˜ฏไธ€ไธชๆœ็ดขๅทฅๅ…ท๏ผŒๆ›ดๆ˜ฏไธ€ไธช่ƒฝๅคงๅน…้™ไฝŽไฟกๆฏๅ™ช้Ÿณใ€ๆๅ‡ไฟกๆฏๅค„็†่ฝฌๅŒ–็އ็š„โ€œๅค–่„‘โ€ใ€‚

',30)])])}const P=r(o,[["render",i]]);export{_ as __pageData,P as default}; +import{_ as r,g as t,h as a,U as l}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const _=JSON.parse('{"title":"AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจๅคงๆจกๅž‹้‡ๅก‘ไบ’่”็ฝ‘ไบคไบ’็š„ๅฝ“ไธ‹๏ผŒPerplexity ๅนถๆœช้€‰ๆ‹ฉๆˆไธบโ€œไธ‹ไธ€ไธช Googleโ€๏ผŒ่€Œๆ˜ฏไปฅโ€œ็Ÿฅ่ฏ†ๅ‘็Žฐๅผ•ๆ“Žโ€็š„ๅ…จๆ–ฐๅฎšไฝ๏ผŒ็ฒพๅ‡†ๅˆ‡ๅ…ฅ็Ÿฅ่ฏ†ๅทฅไฝœ่€…็š„ๆ ธๅฟƒๅทฅไฝœๆตใ€‚ๆœฌๆ–‡่ทณๅ‡บๅ•็บฏ็š„ๆจกๅž‹่ƒฝๅŠ›ๅฏนๆฏ”๏ผŒไปŽไบงๅ“ Sense ไธŽๅทฅ็จ‹้€ป่พ‘็š„ๅŒ้‡่ง†่ง’๏ผŒๆทฑๅบฆๆ‹†่งฃ Perplexity ็š„็ ดๅฑ€ไน‹้“ใ€‚ๆˆ‘ไปฌๅฐ†ๆŽข่ฎจๅฎƒๅฆ‚ไฝ•้€š่ฟ‡ๅ็›ด่ง‰็š„ UI ๅˆ›ๆ–ฐ้‡ๅก‘ไบคไบ’่ตท็‚น๏ผŒๅฆ‚ไฝ•ๅœจๅทฅ็จ‹ๅฑ‚้ขๆญป็ฃ•ๅฐพ้ƒจๅปถ่ฟŸไธŽๅนป่ง‰ๆŽงๅˆถ๏ผŒไปฅๅŠๅฎƒๅฆ‚ไฝ•ๅˆฉ็”จๅทจๅคด็š„ๅˆฉๆถฆ็އๆŠคๅŸŽๆฒณๅฎž็Žฐ้”™ไฝ็ซžไบ‰ใ€‚ๆœ€็ปˆ๏ผŒๆˆ‘ไปฌๅฐ†่ง†็บฟๆŠ•ๅ‘ๆœชๆฅ๏ผŒไธ€็ชฅ AI ไปŽ่ขซๅŠจๅ“ๅบ”่ตฐๅ‘ไธปๅŠจๆŽข็ดข็š„ๆผ”่ฟ›่“ๅ›พใ€‚","frontmatter":{"date":"2024-05-08T08:56:21.000Z","title":"AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจๅคงๆจกๅž‹้‡ๅก‘ไบ’่”็ฝ‘ไบคไบ’็š„ๅฝ“ไธ‹๏ผŒPerplexity ๅนถๆœช้€‰ๆ‹ฉๆˆไธบโ€œไธ‹ไธ€ไธช Googleโ€๏ผŒ่€Œๆ˜ฏไปฅโ€œ็Ÿฅ่ฏ†ๅ‘็Žฐๅผ•ๆ“Žโ€็š„ๅ…จๆ–ฐๅฎšไฝ๏ผŒ็ฒพๅ‡†ๅˆ‡ๅ…ฅ็Ÿฅ่ฏ†ๅทฅไฝœ่€…็š„ๆ ธๅฟƒๅทฅไฝœๆตใ€‚ๆœฌๆ–‡่ทณๅ‡บๅ•็บฏ็š„ๆจกๅž‹่ƒฝๅŠ›ๅฏนๆฏ”๏ผŒไปŽไบงๅ“ Sense ไธŽๅทฅ็จ‹้€ป่พ‘็š„ๅŒ้‡่ง†่ง’๏ผŒๆทฑๅบฆๆ‹†่งฃ Perplexity ็š„็ ดๅฑ€ไน‹้“ใ€‚ๆˆ‘ไปฌๅฐ†ๆŽข่ฎจๅฎƒๅฆ‚ไฝ•้€š่ฟ‡ๅ็›ด่ง‰็š„ UI ๅˆ›ๆ–ฐ้‡ๅก‘ไบคไบ’่ตท็‚น๏ผŒๅฆ‚ไฝ•ๅœจๅทฅ็จ‹ๅฑ‚้ขๆญป็ฃ•ๅฐพ้ƒจๅปถ่ฟŸไธŽๅนป่ง‰ๆŽงๅˆถ๏ผŒไปฅๅŠๅฎƒๅฆ‚ไฝ•ๅˆฉ็”จๅทจๅคด็š„ๅˆฉๆถฆ็އๆŠคๅŸŽๆฒณๅฎž็Žฐ้”™ไฝ็ซžไบ‰ใ€‚ๆœ€็ปˆ๏ผŒๆˆ‘ไปฌๅฐ†่ง†็บฟๆŠ•ๅ‘ๆœชๆฅ๏ผŒไธ€็ชฅ AI ไปŽ่ขซๅŠจๅ“ๅบ”่ตฐๅ‘ไธปๅŠจๆŽข็ดข็š„ๆผ”่ฟ›่“ๅ›พใ€‚","permalink":"/product-sense/perplexity-knowledge-worker","categories":["ไบงๅ“ Sense"],"tags":["AI ๆœ็ดข","็Ÿฅ่ฏ†ๅ‘็Žฐ","ไบงๅ“ Sense"]},"headers":[],"relativePath":"10.ไบงๅ“ Sense/01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž/11.AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€….md","filePath":"10.ไบงๅ“ Sense/01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž/11.AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€….md"}'),o={name:"10.ไบงๅ“ Sense/01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž/11.AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€….md"};function i(n,e,p,s,g,d){return a(),t("div",null,[...e[0]||(e[0]=[l('

AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€… โ€‹

ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจๅคงๆจกๅž‹้‡ๅก‘ไบ’่”็ฝ‘ไบคไบ’็š„ๅฝ“ไธ‹๏ผŒPerplexity ๅนถๆœช้€‰ๆ‹ฉๆˆไธบโ€œไธ‹ไธ€ไธช Googleโ€๏ผŒ่€Œๆ˜ฏไปฅโ€œ็Ÿฅ่ฏ†ๅ‘็Žฐๅผ•ๆ“Žโ€็š„ๅ…จๆ–ฐๅฎšไฝ๏ผŒ็ฒพๅ‡†ๅˆ‡ๅ…ฅ็Ÿฅ่ฏ†ๅทฅไฝœ่€…็š„ๆ ธๅฟƒๅทฅไฝœๆตใ€‚ๆœฌๆ–‡่ทณๅ‡บๅ•็บฏ็š„ๆจกๅž‹่ƒฝๅŠ›ๅฏนๆฏ”๏ผŒไปŽไบงๅ“ Sense ไธŽๅทฅ็จ‹้€ป่พ‘็š„ๅŒ้‡่ง†่ง’๏ผŒๆ‹†่งฃ Perplexity ็š„็ ดๅฑ€ไน‹้“ใ€‚ๆˆ‘ไปฌๅฐ†ๆŽข่ฎจๅฎƒๅฆ‚ไฝ•้€š่ฟ‡ๅ็›ด่ง‰็š„ UI ๅˆ›ๆ–ฐ้‡ๅก‘ไบคไบ’่ตท็‚น๏ผŒๅฆ‚ไฝ•ๅœจๅทฅ็จ‹ๅฑ‚้ขๆญป็ฃ•ๅฐพ้ƒจๅปถ่ฟŸไธŽๅนป่ง‰ๆŽงๅˆถ๏ผŒไปฅๅŠๅฎƒๅฆ‚ไฝ•ๅˆฉ็”จๅทจๅคด็š„ๅˆฉๆถฆ็އๆŠคๅŸŽๆฒณๅฎž็Žฐ้”™ไฝ็ซžไบ‰ใ€‚ๆœ€็ปˆ๏ผŒๆˆ‘ไปฌๅฐ†่ง†็บฟๆŠ•ๅ‘ๆœชๆฅ๏ผŒไธ€็ชฅ AI ไปŽ่ขซๅŠจๅ“ๅบ”่ตฐๅ‘ไธปๅŠจๆŽข็ดข็š„ๆผ”่ฟ›่“ๅ›พใ€‚

1. ๅผ•่จ€ โ€‹

ๅœจ AI ๆตชๆฝฎไธ‹๏ผŒๆœ็ดขๅผ•ๆ“Ž็š„่Œƒๅผๆญฃๅœจๅ‘็”Ÿ่ฝฌ็งปใ€‚ไฝœไธบๅฝ“ๅ‰ๅค‡ๅ—็žฉ็›ฎ็š„ AI ๆœ็ดขไบงๅ“๏ผŒPerplexity ๅนถๆฒกๆœ‰่ฏ•ๅ›พๆˆไธบโ€œไธ‹ไธ€ไธช Googleโ€๏ผŒ่€Œๆ˜ฏๅฐ†่‡ชๅทฑๅฎšไน‰ไธบ็Ÿฅ่ฏ†ๅ‘็Žฐๅผ•ๆ“Žใ€‚

ๅฏนไบŽๆฏๅคฉ้œ€่ฆๅค„็†ๆตท้‡ไฟกๆฏใ€่ฟ›่กŒๅคๆ‚ๅ†ณ็ญ–็š„็Ÿฅ่ฏ†ๅทฅไฝœ่€…่€Œ่จ€๏ผŒๅฆ‚ไฝ•้ซ˜ๆ•ˆๅœฐโ€œๅŽปๅ™ชโ€ๅนถ่Žทๅ–้ซ˜ไฟกๅบฆ็Ÿฅ่ฏ†ๆ˜ฏๆ ธๅฟƒ่ฏ‰ๆฑ‚ใ€‚็ฌ”่€…ๅฐ†ไปŽไบงๅ“ไบคไบ’ใ€ๆŠ€ๆœฏๅทฅ็จ‹ใ€ๅ•†ไธš้€ป่พ‘ไธŽๆœชๆฅๆผ”่ฟ›ๅ››ไธช็ปดๅบฆ๏ผŒๅˆ†ๆž Perplexity ๆ˜ฏๅฆ‚ไฝ•้‡ๅก‘ไฟกๆฏ่Žทๅ–ๅทฅไฝœๆต็š„ใ€‚

ๆœฌๆ–‡ๆ—จๅœจ้€š่ฟ‡ๅฏน Perplexity ็š„ๆทฑๅบฆไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž๏ผŒๅธฎๅŠฉ่ฏป่€…็†่งฃ AI ๆœ็ดขไบงๅ“็š„่ฎพ่ฎก้€ป่พ‘ไธŽ็”จๆˆทไฝ“้ชŒไผ˜ๅŒ–่ทฏๅพ„๏ผŒๅŒๆ—ถไธบ็Ÿฅ่ฏ†ๅทฅไฝœ่€…ๆไพ›ๅฏ่ฝๅœฐ็š„ๆ•ˆ็އๆๅ‡ๆ–นๆณ•๏ผŒๅนถๅœจ่ฟ‡็จ‹ไธญๅŸนๅ…ป็ป“ๆž„ๅŒ–ไบงๅ“ๅˆ†ๆžๆ€็ปดใ€‚

2. ๆ ธๅฟƒๅฎšไฝ๏ผšไปŽโ€œ้“พๆŽฅๅฏผ่ˆชโ€ๅˆฐโ€œ็Ÿฅ่ฏ†ๅ‘็Žฐโ€ โ€‹

ไผ ็ปŸๆœ็ดขๅผ•ๆ“Ž็š„ๆœฌ่ดจๆ˜ฏๆต้‡ๅˆ†ๅ‘ไธŽ้“พๆŽฅๅฏผ่ˆช๏ผŒ่€Œ Perplexity ็š„็ฌฌไธ€ๆ€งๅŽŸ็†ๆ˜ฏ็›ดๆŽฅๆไพ›ๅ…ทๆœ‰ไบ‹ๅฎžๆ”ฏๆ’‘็š„็ญ”ๆกˆใ€‚

  • ๅญฆๆœฏ็บง็š„ไธฅ่ฐจๆ€ง๏ผšPerplexity ๅ€Ÿ้‰ดไบ†ๅญฆๆœฏ่ฎบๆ–‡็š„ๅผ•็”จๆœบๅˆถใ€‚ๅฎƒไธไป…ๆๅ–็›ธๅ…ณ็ฝ‘้กตๆฎต่ฝ๏ผŒ่ฟ˜่ฆๆฑ‚ๅคง่ฏญ่จ€ๆจกๅž‹๏ผˆLLM๏ผ‰ๅœจ็”Ÿๆˆ็ฎ€ๆ˜Ž็ญ”ๆกˆๆ—ถ๏ผŒๆฏไธ€ๅฅ่ฏ้ƒฝๅฟ…้กปๅธฆๆœ‰ๅ‡†็กฎ็š„่„šๆณจๆฅๆบใ€‚่ฟ™็ง่ฎพ่ฎก้™ไฝŽไบ†็Ÿฅ่ฏ†ๅทฅไฝœ่€…ไบŒๆฌกๆ ธๆŸฅไฟกๆฏ็š„ๆˆๆœฌใ€‚

  • ้žๆ›ฟไปฃๅ…ณ็ณป๏ผš Perplexity ไธŽ Google ๅนถ้ž้›ถๅ’Œๅšๅผˆใ€‚Google ๆ“…้•ฟๅค„็†ๅ…ทๆœ‰็กฎๅฎšๆ€ง UI ้œ€ๆฑ‚็š„ๆŸฅ่ฏข๏ผˆๅฆ‚ๅคฉๆฐ”ใ€่‚กไปทใ€ๆ ‡ๅ‡†ๅฏผ่ˆช๏ผ‰๏ผŒ่€Œ Perplexity ๅˆ™ไธ“ๆณจไบŽ่งฃ็ญ”้œ€่ฆ่ทจไฟกๆฏๆบๆ•ดๅˆใ€ๆ€ป็ป“็š„ๅคๆ‚้—ฎ้ข˜ใ€‚

3. ไบงๅ“ไบคไบ’้‡ๆž„๏ผšๅ็›ด่ง‰็š„ UI ๅˆ›ๆ–ฐ โ€‹

Perplexity ๅœจไบคไบ’่ฎพ่ฎกไธŠๅšๅ‡บไบ†ๅ‡ ไธช่ฟ่ƒŒไผ ็ปŸๆœ็ดขๅธธ็†็š„ๅ†ณ็ญ–๏ผš

  • ้™็บง้“พๆŽฅ็š„่ง†่ง‰ๆƒ้‡๏ผšๅœจไผ ็ปŸๆœ็ดขไธญ๏ผŒ10 ๆก่“่‰ฒ้“พๆŽฅๆ˜ฏ็ปๅฏน็š„ไธป่ง’ใ€‚Perplexity ๅ†…้ƒจๆ›พ็ปๅކ่ฟ‡ๆฟ€็ƒˆ็š„ไบ‰่ฎบ๏ผŒๆœ€็ปˆๅ†ณๅฎšๅฐ†ๆ ธๅฟƒไฝ็ฝฎ่ฎฉ็ป™โ€œ็”Ÿๆˆ็š„็ญ”ๆกˆโ€๏ผŒๅ“ชๆ€•ๆ—ฉๆœŸๆจกๅž‹ๅถๅฐ”ไผšๅ‡บ็Žฐๅนป่ง‰๏ผˆHallucination๏ผ‰ใ€‚่ฟ™็งๅๅ…ถ้“่€Œ่กŒไน‹็š„ๅ‹‡ๆฐ”๏ผŒ็กฎ็ซ‹ไบ†ๅ…ถไฝœไธบโ€œ้—ฎ็ญ”ๅผ•ๆ“Žโ€็š„ๅฟƒๆ™บใ€‚

  • ๅฐ†ไบคไบ’่ตท็‚นๅŽ็ฝฎ๏ผšไผ ็ปŸๆœ็ดขๅœจ็”จๆˆท็‚นๅ‡ป้“พๆŽฅๅŽ็ป“ๆŸ๏ผŒ่€Œ Perplexity ่ฎคไธบ๏ผŒ็”จๆˆทๅพ—ๅˆฐ็ญ”ๆกˆๅŽ๏ผŒไบคไบ’ๆ‰ๅˆšๅˆšๅผ€ๅง‹ใ€‚้€š่ฟ‡ๅœจๅบ•้ƒจๆไพ›โ€œ็›ธๅ…ณ้—ฎ้ข˜๏ผˆPeople also ask๏ผ‰โ€๏ผŒๅฎƒๅ……ๅฝ“ไบ†็”จๆˆท็š„ๆ€่€ƒ่พ…ๅŠฉๅทฅๅ…ท๏ผŒๅธฎๅŠฉไธๆ“…้•ฟๆ้—ฎ็š„็”จๆˆทๅฐ†ๆจก็ณŠ็š„โ€œๅฅฝๅฅ‡ๅฟƒโ€ๅ…ท่ฑกๅŒ–ไธบๆธ…ๆ™ฐ็š„ Promptใ€‚

  • ่š็„ฆโ€œ้ญ”ๅŠ›ๆŒ‡ๆ ‡โ€๏ผš ็›ธๆฏ”ไบŽๅ…ณๆณจ็”จๆˆท็š„ๅœ็•™ๆ—ถ้•ฟ๏ผŒPerplexity ็š„ๆ ธๅฟƒๆŒ‡ๆ ‡ๆ˜ฏ่ฎฉ็”จๆˆทๆ„Ÿๅˆฐๆปกๆ„็š„ๆŸฅ่ฏขๆฌกๆ•ฐใ€‚ๅฟซ้€Ÿใ€ๅ‡†็กฎใ€ๆ˜“่ฏป๏ผŒๆ˜ฏ้ฉฑๅŠจ็Ÿฅ่ฏ†ๅทฅไฝœ่€…็•™ๅญ˜็š„ๅ”ฏไธ€ๅŠจๅŠ›ใ€‚

4. ๆŠ€ๆœฏๆŠคๅŸŽๆฒณ๏ผšๆœ็ดขๆ˜ฏไธ€้กนๅทฅ็จ‹ไธŽๆจกๅž‹็š„ไบคๅ“ โ€‹

ๅพˆๅคšไบบ่ฏฏไปฅไธบ AI ๆœ็ดขๅชๆ˜ฏๅคงๆจกๅž‹็š„โ€œๅฅ—ๅฃณโ€๏ผŒไฝ†ๅฎž้™…ไธŠ๏ผŒๅšๅฅฝๆœ็ดข้œ€่ฆๆทฑๅŽš็š„้ข†ๅŸŸ Know-how ๅ’Œๆž่‡ด็š„ๅทฅ็จ‹ไผ˜ๅŒ–ใ€‚

4.1 ้ฉฏๆœๅนป่ง‰๏ผˆHallucination๏ผ‰็š„ๅ››ไธช็ปดๅบฆ โ€‹

Perplexity ๅšๆŒๆฏ”ๆ ‡ๅ‡† RAG๏ผˆๆฃ€็ดขๅขžๅผบ็”Ÿๆˆ๏ผ‰ๆ›ดไธฅ่‹›็š„ๅŽŸๅˆ™๏ผšๅฆ‚ๆžœๆฃ€็ดขๅˆฐ็š„ๆ–‡ๆกฃไฟกๆฏไธ่ถณ๏ผŒ็ณป็ปŸๅฟ…้กป็›ดๆŽฅๆ‹’็ปๅ›ž็ญ”๏ผŒ่€Œไธๆ˜ฏไปป็”ฑๆจกๅž‹็ผ–้€ ใ€‚ ๅ‡ๅฐ‘ๅนป่ง‰้œ€่ฆไปŽไปฅไธ‹ๅ‡ ไธชๅทฅ็จ‹่Š‚็‚นๅˆ‡ๅ…ฅ๏ผš

  • ๆฃ€็ดข่ดจ้‡๏ผšๆๅ‡็ดขๅผ•็š„ๆ–ฐ้ฒœๅบฆๅ’Œๅ…จ้ขๆ€ง๏ผŒ้ฟๅ…ๆๅ–่ฟ‡ๆ—ถๆˆ–ๅ†ฒ็ช็š„ไฟกๆฏใ€‚

  • ไธŠไธ‹ๆ–‡ๆŽงๅˆถ๏ผš้ฟๅ…ไธ€ๆฌกๆ€งๅฐ†ๆตท้‡ๆ–‡ๆกฃๅ…จ้ƒจไธข็ป™ๆจกๅž‹ๅฏผ่‡ดโ€œๆณจๆ„ๅŠ›ๆถฃๆ•ฃโ€๏ผŒ็ฒพ็กฎๆŽงๅˆถๆ‘˜ๅฝ•็š„้ข—็ฒ’ๅบฆใ€‚

  • ๆจกๅž‹็†่งฃๅŠ›๏ผš ๆๅ‡ๆจกๅž‹ๅฏนๆทฑๅฑ‚่ฏญไน‰็š„็†่งฃ๏ผŒ็กฎไฟๅ…ถ่ƒฝไปŽไธ€ๅ †็›ธๅ…ณๅบฆไธ้ซ˜็š„ๆ–‡ๆกฃไธญ๏ผŒ็ฒพๅ‡†่ฏ†ๅˆซๅ‡บ้š่—็š„ๆญฃ็กฎ็ญ”ๆกˆใ€‚

4.2 ๆž่‡ด็š„ๆ€ง่ƒฝไผ˜ๅŒ–๏ผš่ฟฝ่ธชๅฐพ้ƒจๅปถ่ฟŸ๏ผˆTail Latency๏ผ‰ โ€‹

็Ÿฅ่ฏ†ๅทฅไฝœ่€…ๅฏนๆ•ˆ็އๆžๅ…ถๆ•ๆ„Ÿใ€‚Perplexity ๅœจๆ€ง่ƒฝไผ˜ๅŒ–ไธŠๅ€Ÿ้‰ดไบ† Google ็š„็†ๅฟต๏ผŒไธไป…็œ‹ๅนณๅ‡ๅ“ๅบ”ๆ—ถ้—ด๏ผŒๆ›ดๆญป็ฃ• P90 ๅ’Œ P99 ็š„ๅฐพ้ƒจๅปถ่ฟŸใ€‚

  • ้‡‡็”จ่‡ช็ ”็š„ Sonar ๆจกๅž‹๏ผˆๅŸบไบŽ Llama 3 ็ป“ๅˆ Post-training๏ผ‰ใ€‚

  • LLM ๅฑ‚๏ผšๅœจ LLM ๅฑ‚๏ผŒๆ ธๅฟƒๅ…ณๆณจ้ฆ–ๅญ—็”Ÿๆˆๆ—ถ้—ด๏ผˆTTFT๏ผ‰ๅ’Œๆ•ฐๆฎๆตๅผไผ ่พ“็š„ๅžๅ้‡ใ€‚

  • ้€š่ฟ‡ไธŽ NVIDIA ๅˆไฝœๅผ€ๅ‘ TensorRT-LLM ๆก†ๆžถ๏ผŒ็”š่‡ณๆทฑๅ…ฅๅ†…ๆ ธ็บงๅˆซ็ผ–ๅ†™ไปฃ็ ๏ผŒ็กฎไฟๅœจๆœ€ๅทฎ็š„็ฝ‘็ปœ็Žฏๅขƒไธ‹ไนŸ่ƒฝๅฎž็ŽฐๆžไฝŽ็š„ๅปถ่ฟŸใ€‚

5. ๅ•†ไธš้€ป่พ‘๏ผšไฝ ็š„ๅˆฉๆถฆ็އ๏ผŒๅฐฑๆ˜ฏๆˆ‘็š„ๆœบไผš โ€‹

Google ๆ‹ฅๆœ‰่ฟ‡ๅŽป 50 ๅนดๆœ€ไผŸๅคง็š„ๅ•†ไธšๆจกๅผโ€”โ€”ๅนฟๅ‘Š็ซžไปทใ€‚่ฟ™ไธไป…ๆ˜ฏๅ…ถๅˆฉๆถฆๆฅๆบ๏ผŒไนŸๆˆไบ†ๅ…ถๅœจ AI ๆœ็ดข่ฝฌๅž‹ๆ—ถ็š„ๅކๅฒๅŒ…่ขฑใ€‚ๅฏนไบŽ Google ่€Œ่จ€๏ผŒไธบๆฏไธ€ไธช้•ฟๅฐพๆŸฅ่ฏข็”Ÿๆˆ AI ็ญ”ๆกˆ็š„็ฎ—ๅŠ›ๆˆๆœฌๆž้ซ˜๏ผŒไธ”ไผš็ ดๅ็Žฐๆœ‰็š„้ซ˜ๅˆฉๆถฆๅนฟๅ‘Šไฝใ€‚

Perplexity ๅทงๅฆ™ๅœฐๅˆฉ็”จไบ†่ฟ™ไธ€็‚น๏ผˆๆญฃๅฆ‚ Amazon AWS ๅฝ“ๅนดๅˆ‡ๅ…ฅไฝŽๅˆฉๆถฆ็އ็š„ไบ‘ๅธ‚ๅœบไธ€ๆ ท๏ผ‰๏ผš

  • ๆ”พๅผƒไผ ็ปŸๅนฟๅ‘Šไฝ๏ผšๅŸบไบŽโ€œ็ญ”ๆกˆโ€็š„ไบงๅ“ๅฝขๆ€ๅคฉ็„ถๆŽ’ๆ–ฅไผ ็ปŸ็š„ๆ’ๅ…ฅๅผ้“พๆŽฅๅนฟๅ‘Šใ€‚

  • ่ฎข้˜…ๅˆถๅ…ˆ่กŒ๏ผšไธ“ๆณจไบŽๆ‰“้€ ๅฏๆŒ็ปญ็š„่ฎข้˜…ๆจกๅผ๏ผˆๅฆ‚ Pro ๆกฃๆœๅŠก๏ผ‰ใ€‚ๆœชๆฅๅฏ่ƒฝไผšๅ€Ÿ้‰ด Netflix ็š„โ€œ่ฎข้˜…+ๅนฟๅ‘Šโ€ๆททๅˆๆจกๅผ๏ผŒๅœจไธ็‰บ็‰ฒ็ญ”ๆกˆ็œŸๅฎžๆ€งๅ’Œ็”จๆˆทไฝ“้ชŒ็š„ๅ‰ๆไธ‹ๆŽข็ดขๅ•†ไธšๅŒ–ใ€‚

6. ๆœชๆฅๆผ”่ฟ›๏ผšไปŽ่ขซๅŠจๅ“ๅบ”ๅˆฐไธปๅŠจ Agent โ€‹

ๆœ็ดข็š„็ปˆๅฑ€ไธไป…ไป…ๆ˜ฏๅ›ž็ญ”้—ฎ้ข˜๏ผŒ่€Œๆ˜ฏ็Ÿฅ่ฏ†็š„็”ŸๆˆไธŽ่‡ชไธปๆŽข็ดขใ€‚

  • Perplexity Pages๏ผš่ฟ™ๆ˜ฏๅ…ถ่ฟˆๅ‘โ€œ็Ÿฅ่ฏ†ๅ‘็Žฐๅผ•ๆ“Žโ€็š„้‡่ฆไธ€ๆญฅใ€‚็”จๆˆท็š„ไผ˜่ดจๆ้—ฎๅ’Œๆœ็ดขไผš่ฏไธไป…ๅฏน่‡ชๅทฑๆœ‰ไปทๅ€ผ๏ผŒๅฐ†ๅ…ถ่ฝฌๅŒ–ไธบ็ป“ๆž„ๅŒ–็š„ๆ–‡็ซ ๅ‘ๅธƒ๏ผŒๅฏไปฅๆžๅคง้™ไฝŽๆ–ฐ็Ÿฅ่ฏ†ๅˆ›้€ ็š„้—จๆง›๏ผŒๆž„ๅปบ็ฑปไผผ AI ๆ—ถไปฃ็š„็ปดๅŸบ็™พ็ง‘ใ€‚

  • ่ต‹ไบˆ AI ๅฅฝๅฅ‡ๅฟƒ๏ผšๅฝ“ๅ‰็š„ AI ไปๆ˜ฏ่ขซๅŠจๅ“ๅบ”็š„ใ€‚ๆœชๆฅ็š„ๆƒณ่ฑก็ฉบ้—ดๅœจไบŽ๏ผŒๅฝ“ๆŽจ็†ๆˆๆœฌ่ฟ›ไธ€ๆญฅ้™ไฝŽ๏ผŒAI Agent ๅฏไปฅๅธฆ็€โ€œๅฅฝๅฅ‡ๅฟƒโ€ๅœจไบ’่”็ฝ‘ไธŠ่‡ชไธป็ฉฟๆขญใ€‚็”จๆˆทๅช้œ€ๆŠ›ๅ‡บไธ€ไธชๅฎๅคง็š„็›ฎๆ ‡๏ผˆๅฆ‚โ€œๅˆ†ๆžๆŸ้กนๆ–ฐๆŠ€ๆœฏ็š„ ROI ๅนถ็”Ÿๆˆ็ ”ๆŠฅโ€๏ผ‰๏ผŒAI ๅฐฑ่ƒฝ่‡ช่กŒๆ‹†่งฃ้—ฎ้ข˜ใ€่ฟ›่กŒๅคš่ฝฎๆœ็ดข้ชŒ่ฏ๏ผŒๆœ€็ปˆๅธฆ็€ๆ็บฏๅŽ็š„็Ÿฅ่ฏ†่ฟ”ๅ›žใ€‚

ๅ†™ๅœจๆœ€ๅŽ โ€‹

Perplexity ็š„ๆˆๅŠŸ่ฏๆ˜Žไบ†๏ผŒๅœจๅทจๅคดๆž—็ซ‹็š„่ต›้“ไธญ๏ผŒไพ็„ถๅฏไปฅ้€š่ฟ‡้‡ๆ–ฐๅฎšไน‰ไบงๅ“่พน็•Œๅ’Œๆž่‡ด็š„ๅทฅ็จ‹ๆ‰“็ฃจๆ’•ๅผ€็ผบๅฃใ€‚ๅฏนไบŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…่€Œ่จ€๏ผŒๅฎƒไธไป…ไป…ๆ˜ฏไธ€ไธชๆœ็ดขๅทฅๅ…ท๏ผŒๆ›ดๆ˜ฏไธ€ไธช่ƒฝๅคงๅน…้™ไฝŽไฟกๆฏๅ™ช้Ÿณใ€ๆๅ‡ไฟกๆฏๅค„็†่ฝฌๅŒ–็އ็š„โ€œๅค–่„‘โ€ใ€‚

',30)])])}const P=r(o,[["render",i]]);export{_ as __pageData,P as default}; diff --git "a/assets/10.\344\272\247\345\223\201 Sense_01.\344\272\247\345\223\201\350\247\202\345\257\237\344\270\216\345\210\206\346\236\220_11.AI-powered \346\220\234\347\264\242\345\274\225\346\223\216\350\247\202\345\257\237\345\210\206\346\236\220\357\274\232Perplexity \344\270\216\347\237\245\350\257\206\345\267\245\344\275\234\350\200\205.md.BEH7EQLT.lean.js" "b/assets/10.\344\272\247\345\223\201 Sense_01.\344\272\247\345\223\201\350\247\202\345\257\237\344\270\216\345\210\206\346\236\220_11.AI-powered \346\220\234\347\264\242\345\274\225\346\223\216\350\247\202\345\257\237\345\210\206\346\236\220\357\274\232Perplexity \344\270\216\347\237\245\350\257\206\345\267\245\344\275\234\350\200\205.md.BRTIJ78C.lean.js" similarity index 97% rename from "assets/10.\344\272\247\345\223\201 Sense_01.\344\272\247\345\223\201\350\247\202\345\257\237\344\270\216\345\210\206\346\236\220_11.AI-powered \346\220\234\347\264\242\345\274\225\346\223\216\350\247\202\345\257\237\345\210\206\346\236\220\357\274\232Perplexity \344\270\216\347\237\245\350\257\206\345\267\245\344\275\234\350\200\205.md.BEH7EQLT.lean.js" rename to "assets/10.\344\272\247\345\223\201 Sense_01.\344\272\247\345\223\201\350\247\202\345\257\237\344\270\216\345\210\206\346\236\220_11.AI-powered \346\220\234\347\264\242\345\274\225\346\223\216\350\247\202\345\257\237\345\210\206\346\236\220\357\274\232Perplexity \344\270\216\347\237\245\350\257\206\345\267\245\344\275\234\350\200\205.md.BRTIJ78C.lean.js" index 9dc54cb4..c74021b1 100644 --- "a/assets/10.\344\272\247\345\223\201 Sense_01.\344\272\247\345\223\201\350\247\202\345\257\237\344\270\216\345\210\206\346\236\220_11.AI-powered \346\220\234\347\264\242\345\274\225\346\223\216\350\247\202\345\257\237\345\210\206\346\236\220\357\274\232Perplexity \344\270\216\347\237\245\350\257\206\345\267\245\344\275\234\350\200\205.md.BEH7EQLT.lean.js" +++ "b/assets/10.\344\272\247\345\223\201 Sense_01.\344\272\247\345\223\201\350\247\202\345\257\237\344\270\216\345\210\206\346\236\220_11.AI-powered \346\220\234\347\264\242\345\274\225\346\223\216\350\247\202\345\257\237\345\210\206\346\236\220\357\274\232Perplexity \344\270\216\347\237\245\350\257\206\345\267\245\344\275\234\350\200\205.md.BRTIJ78C.lean.js" @@ -1 +1 @@ -import{_ as r,g as t,h as a,U as l}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const _=JSON.parse('{"title":"AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจๅคงๆจกๅž‹้‡ๅก‘ไบ’่”็ฝ‘ไบคไบ’็š„ๅฝ“ไธ‹๏ผŒPerplexity ๅนถๆœช้€‰ๆ‹ฉๆˆไธบโ€œไธ‹ไธ€ไธช Googleโ€๏ผŒ่€Œๆ˜ฏไปฅโ€œ็Ÿฅ่ฏ†ๅ‘็Žฐๅผ•ๆ“Žโ€็š„ๅ…จๆ–ฐๅฎšไฝ๏ผŒ็ฒพๅ‡†ๅˆ‡ๅ…ฅ็Ÿฅ่ฏ†ๅทฅไฝœ่€…็š„ๆ ธๅฟƒๅทฅไฝœๆตใ€‚ๆœฌๆ–‡่ทณๅ‡บๅ•็บฏ็š„ๆจกๅž‹่ƒฝๅŠ›ๅฏนๆฏ”๏ผŒไปŽไบงๅ“ Sense ไธŽๅทฅ็จ‹้€ป่พ‘็š„ๅŒ้‡่ง†่ง’๏ผŒๆทฑๅบฆๆ‹†่งฃ Perplexity ็š„็ ดๅฑ€ไน‹้“ใ€‚ๆˆ‘ไปฌๅฐ†ๆŽข่ฎจๅฎƒๅฆ‚ไฝ•้€š่ฟ‡ๅ็›ด่ง‰็š„ UI ๅˆ›ๆ–ฐ้‡ๅก‘ไบคไบ’่ตท็‚น๏ผŒๅฆ‚ไฝ•ๅœจๅทฅ็จ‹ๅฑ‚้ขๆญป็ฃ•ๅฐพ้ƒจๅปถ่ฟŸไธŽๅนป่ง‰ๆŽงๅˆถ๏ผŒไปฅๅŠๅฎƒๅฆ‚ไฝ•ๅˆฉ็”จๅทจๅคด็š„ๅˆฉๆถฆ็އๆŠคๅŸŽๆฒณๅฎž็Žฐ้”™ไฝ็ซžไบ‰ใ€‚ๆœ€็ปˆ๏ผŒๆˆ‘ไปฌๅฐ†่ง†็บฟๆŠ•ๅ‘ๆœชๆฅ๏ผŒไธ€็ชฅ AI ไปŽ่ขซๅŠจๅ“ๅบ”่ตฐๅ‘ไธปๅŠจๆŽข็ดข็š„ๆผ”่ฟ›่“ๅ›พใ€‚","frontmatter":{"date":"2024-05-08T08:56:21.000Z","title":"AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจๅคงๆจกๅž‹้‡ๅก‘ไบ’่”็ฝ‘ไบคไบ’็š„ๅฝ“ไธ‹๏ผŒPerplexity ๅนถๆœช้€‰ๆ‹ฉๆˆไธบโ€œไธ‹ไธ€ไธช Googleโ€๏ผŒ่€Œๆ˜ฏไปฅโ€œ็Ÿฅ่ฏ†ๅ‘็Žฐๅผ•ๆ“Žโ€็š„ๅ…จๆ–ฐๅฎšไฝ๏ผŒ็ฒพๅ‡†ๅˆ‡ๅ…ฅ็Ÿฅ่ฏ†ๅทฅไฝœ่€…็š„ๆ ธๅฟƒๅทฅไฝœๆตใ€‚ๆœฌๆ–‡่ทณๅ‡บๅ•็บฏ็š„ๆจกๅž‹่ƒฝๅŠ›ๅฏนๆฏ”๏ผŒไปŽไบงๅ“ Sense ไธŽๅทฅ็จ‹้€ป่พ‘็š„ๅŒ้‡่ง†่ง’๏ผŒๆทฑๅบฆๆ‹†่งฃ Perplexity ็š„็ ดๅฑ€ไน‹้“ใ€‚ๆˆ‘ไปฌๅฐ†ๆŽข่ฎจๅฎƒๅฆ‚ไฝ•้€š่ฟ‡ๅ็›ด่ง‰็š„ UI ๅˆ›ๆ–ฐ้‡ๅก‘ไบคไบ’่ตท็‚น๏ผŒๅฆ‚ไฝ•ๅœจๅทฅ็จ‹ๅฑ‚้ขๆญป็ฃ•ๅฐพ้ƒจๅปถ่ฟŸไธŽๅนป่ง‰ๆŽงๅˆถ๏ผŒไปฅๅŠๅฎƒๅฆ‚ไฝ•ๅˆฉ็”จๅทจๅคด็š„ๅˆฉๆถฆ็އๆŠคๅŸŽๆฒณๅฎž็Žฐ้”™ไฝ็ซžไบ‰ใ€‚ๆœ€็ปˆ๏ผŒๆˆ‘ไปฌๅฐ†่ง†็บฟๆŠ•ๅ‘ๆœชๆฅ๏ผŒไธ€็ชฅ AI ไปŽ่ขซๅŠจๅ“ๅบ”่ตฐๅ‘ไธปๅŠจๆŽข็ดข็š„ๆผ”่ฟ›่“ๅ›พใ€‚","permalink":"/product-sense/perplexity-knowledge-worker","categories":["ไบงๅ“ Sense"],"tags":["AI ๆœ็ดข","็Ÿฅ่ฏ†ๅ‘็Žฐ","ไบงๅ“ Sense"]},"headers":[],"relativePath":"10.ไบงๅ“ Sense/01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž/11.AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€….md","filePath":"10.ไบงๅ“ Sense/01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž/11.AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€….md"}'),o={name:"10.ไบงๅ“ Sense/01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž/11.AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€….md"};function i(n,e,p,s,g,d){return a(),t("div",null,[...e[0]||(e[0]=[l("",30)])])}const P=r(o,[["render",i]]);export{_ as __pageData,P as default}; +import{_ as r,g as t,h as a,U as l}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const _=JSON.parse('{"title":"AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจๅคงๆจกๅž‹้‡ๅก‘ไบ’่”็ฝ‘ไบคไบ’็š„ๅฝ“ไธ‹๏ผŒPerplexity ๅนถๆœช้€‰ๆ‹ฉๆˆไธบโ€œไธ‹ไธ€ไธช Googleโ€๏ผŒ่€Œๆ˜ฏไปฅโ€œ็Ÿฅ่ฏ†ๅ‘็Žฐๅผ•ๆ“Žโ€็š„ๅ…จๆ–ฐๅฎšไฝ๏ผŒ็ฒพๅ‡†ๅˆ‡ๅ…ฅ็Ÿฅ่ฏ†ๅทฅไฝœ่€…็š„ๆ ธๅฟƒๅทฅไฝœๆตใ€‚ๆœฌๆ–‡่ทณๅ‡บๅ•็บฏ็š„ๆจกๅž‹่ƒฝๅŠ›ๅฏนๆฏ”๏ผŒไปŽไบงๅ“ Sense ไธŽๅทฅ็จ‹้€ป่พ‘็š„ๅŒ้‡่ง†่ง’๏ผŒๆทฑๅบฆๆ‹†่งฃ Perplexity ็š„็ ดๅฑ€ไน‹้“ใ€‚ๆˆ‘ไปฌๅฐ†ๆŽข่ฎจๅฎƒๅฆ‚ไฝ•้€š่ฟ‡ๅ็›ด่ง‰็š„ UI ๅˆ›ๆ–ฐ้‡ๅก‘ไบคไบ’่ตท็‚น๏ผŒๅฆ‚ไฝ•ๅœจๅทฅ็จ‹ๅฑ‚้ขๆญป็ฃ•ๅฐพ้ƒจๅปถ่ฟŸไธŽๅนป่ง‰ๆŽงๅˆถ๏ผŒไปฅๅŠๅฎƒๅฆ‚ไฝ•ๅˆฉ็”จๅทจๅคด็š„ๅˆฉๆถฆ็އๆŠคๅŸŽๆฒณๅฎž็Žฐ้”™ไฝ็ซžไบ‰ใ€‚ๆœ€็ปˆ๏ผŒๆˆ‘ไปฌๅฐ†่ง†็บฟๆŠ•ๅ‘ๆœชๆฅ๏ผŒไธ€็ชฅ AI ไปŽ่ขซๅŠจๅ“ๅบ”่ตฐๅ‘ไธปๅŠจๆŽข็ดข็š„ๆผ”่ฟ›่“ๅ›พใ€‚","frontmatter":{"date":"2024-05-08T08:56:21.000Z","title":"AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจๅคงๆจกๅž‹้‡ๅก‘ไบ’่”็ฝ‘ไบคไบ’็š„ๅฝ“ไธ‹๏ผŒPerplexity ๅนถๆœช้€‰ๆ‹ฉๆˆไธบโ€œไธ‹ไธ€ไธช Googleโ€๏ผŒ่€Œๆ˜ฏไปฅโ€œ็Ÿฅ่ฏ†ๅ‘็Žฐๅผ•ๆ“Žโ€็š„ๅ…จๆ–ฐๅฎšไฝ๏ผŒ็ฒพๅ‡†ๅˆ‡ๅ…ฅ็Ÿฅ่ฏ†ๅทฅไฝœ่€…็š„ๆ ธๅฟƒๅทฅไฝœๆตใ€‚ๆœฌๆ–‡่ทณๅ‡บๅ•็บฏ็š„ๆจกๅž‹่ƒฝๅŠ›ๅฏนๆฏ”๏ผŒไปŽไบงๅ“ Sense ไธŽๅทฅ็จ‹้€ป่พ‘็š„ๅŒ้‡่ง†่ง’๏ผŒๆทฑๅบฆๆ‹†่งฃ Perplexity ็š„็ ดๅฑ€ไน‹้“ใ€‚ๆˆ‘ไปฌๅฐ†ๆŽข่ฎจๅฎƒๅฆ‚ไฝ•้€š่ฟ‡ๅ็›ด่ง‰็š„ UI ๅˆ›ๆ–ฐ้‡ๅก‘ไบคไบ’่ตท็‚น๏ผŒๅฆ‚ไฝ•ๅœจๅทฅ็จ‹ๅฑ‚้ขๆญป็ฃ•ๅฐพ้ƒจๅปถ่ฟŸไธŽๅนป่ง‰ๆŽงๅˆถ๏ผŒไปฅๅŠๅฎƒๅฆ‚ไฝ•ๅˆฉ็”จๅทจๅคด็š„ๅˆฉๆถฆ็އๆŠคๅŸŽๆฒณๅฎž็Žฐ้”™ไฝ็ซžไบ‰ใ€‚ๆœ€็ปˆ๏ผŒๆˆ‘ไปฌๅฐ†่ง†็บฟๆŠ•ๅ‘ๆœชๆฅ๏ผŒไธ€็ชฅ AI ไปŽ่ขซๅŠจๅ“ๅบ”่ตฐๅ‘ไธปๅŠจๆŽข็ดข็š„ๆผ”่ฟ›่“ๅ›พใ€‚","permalink":"/product-sense/perplexity-knowledge-worker","categories":["ไบงๅ“ Sense"],"tags":["AI ๆœ็ดข","็Ÿฅ่ฏ†ๅ‘็Žฐ","ไบงๅ“ Sense"]},"headers":[],"relativePath":"10.ไบงๅ“ Sense/01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž/11.AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€….md","filePath":"10.ไบงๅ“ Sense/01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž/11.AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€….md"}'),o={name:"10.ไบงๅ“ Sense/01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž/11.AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€….md"};function i(n,e,p,s,g,d){return a(),t("div",null,[...e[0]||(e[0]=[l("",30)])])}const P=r(o,[["render",i]]);export{_ as __pageData,P as default}; diff --git "a/assets/10.\344\272\247\345\223\201 Sense_02.\346\226\260 T \345\236\213\344\272\272_20.\350\257\273\345\220\216\346\204\237\357\274\232AI \345\216\237\347\224\237\346\227\266\344\273\243\347\232\204\345\244\215\345\220\210\345\236\213\344\272\272\346\211\215\357\274\214\347\251\266\347\253\237\351\234\200\350\246\201\346\200\216\346\240\267\347\232\204\347\211\271\350\264\250\357\274\237.md.Du3qZ8xB.js" "b/assets/10.\344\272\247\345\223\201 Sense_02.\346\226\260 T \345\236\213\344\272\272_20.\350\257\273\345\220\216\346\204\237\357\274\232AI \345\216\237\347\224\237\346\227\266\344\273\243\347\232\204\345\244\215\345\220\210\345\236\213\344\272\272\346\211\215\357\274\214\347\251\266\347\253\237\351\234\200\350\246\201\346\200\216\346\240\267\347\232\204\347\211\271\350\264\250\357\274\237.md.Xe0P5HJr.js" similarity index 99% rename from "assets/10.\344\272\247\345\223\201 Sense_02.\346\226\260 T \345\236\213\344\272\272_20.\350\257\273\345\220\216\346\204\237\357\274\232AI \345\216\237\347\224\237\346\227\266\344\273\243\347\232\204\345\244\215\345\220\210\345\236\213\344\272\272\346\211\215\357\274\214\347\251\266\347\253\237\351\234\200\350\246\201\346\200\216\346\240\267\347\232\204\347\211\271\350\264\250\357\274\237.md.Du3qZ8xB.js" rename to "assets/10.\344\272\247\345\223\201 Sense_02.\346\226\260 T \345\236\213\344\272\272_20.\350\257\273\345\220\216\346\204\237\357\274\232AI \345\216\237\347\224\237\346\227\266\344\273\243\347\232\204\345\244\215\345\220\210\345\236\213\344\272\272\346\211\215\357\274\214\347\251\266\347\253\237\351\234\200\350\246\201\346\200\216\346\240\267\347\232\204\347\211\271\350\264\250\357\274\237.md.Xe0P5HJr.js" index 3aacc431..82c20384 100644 --- "a/assets/10.\344\272\247\345\223\201 Sense_02.\346\226\260 T \345\236\213\344\272\272_20.\350\257\273\345\220\216\346\204\237\357\274\232AI \345\216\237\347\224\237\346\227\266\344\273\243\347\232\204\345\244\215\345\220\210\345\236\213\344\272\272\346\211\215\357\274\214\347\251\266\347\253\237\351\234\200\350\246\201\346\200\216\346\240\267\347\232\204\347\211\271\350\264\250\357\274\237.md.Du3qZ8xB.js" +++ "b/assets/10.\344\272\247\345\223\201 Sense_02.\346\226\260 T \345\236\213\344\272\272_20.\350\257\273\345\220\216\346\204\237\357\274\232AI \345\216\237\347\224\237\346\227\266\344\273\243\347\232\204\345\244\215\345\220\210\345\236\213\344\272\272\346\211\215\357\274\214\347\251\266\347\253\237\351\234\200\350\246\201\346\200\216\346\240\267\347\232\204\347\211\271\350\264\250\357\274\237.md.Xe0P5HJr.js" @@ -1 +1 @@ -import{_ as a,g as o,h as e,U as s}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const A=JSON.parse('{"title":"่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡็ป“ๅˆไฟ็ฝ—ใƒปๆ ผ้›ทๅŽ„ๅง†ใ€ŠHow to Do Great Workใ€‹ๆ ธๅฟƒ่ง‚็‚น๏ผŒๆŽข่ฎจ AI ๅŽŸ็”Ÿๆ—ถไปฃๅคๅˆๅž‹ไบบๆ‰็š„ๆ ธๅฟƒ็‰น่ดจใ€‚AI ่ฎฉๅŸบ็ก€ๆ‰ง่กŒ่ƒฝๅŠ›ๅฟซ้€Ÿ่ดฌๅ€ผ๏ผŒไบบๆ‰็š„ๆ ธๅฟƒๅฃๅž’ไธๅ†ๆ˜ฏ่งฃๅ†ณ้—ฎ้ข˜๏ผŒ่€Œๆ˜ฏๆๅ‡บไผ˜่ดจ้—ฎ้ข˜ใ€ๅŸนๅ…ป้žๅ…ฑ่ฏ†ๅ“ๅ‘ณใ€‚ๅŒๆ—ถ้œ€ๅšๅฎˆๆ™บๅŠ›่ฏšๅฎž๏ผŒๆ‹ฅๆœ‰ๆ‰“็ ดๅธธ่ง„็š„ๅˆ›ๆ–ฐๅ‹‡ๆฐ”๏ผŒๅ€ŸๅŠฉ AI ๆ”พๅคงไธชไบบๆˆ้•ฟๆ ๆ†๏ผŒไปฅๅฐๅˆ‡ๅฃๅฎž่ทตๅฎž็ŽฐๆŒ‡ๆ•ฐ็บงๆˆ้•ฟใ€‚ไบบ็ฑป็‹ฌๆœ‰็š„ๅฅฝๅฅ‡ๅฟƒ๏ผŒๆ˜ฏ็ช็ ด AI ๅนณๅบธใ€ๅ–ๅพ—ๆฐๅ‡บๆˆๅฐฑ็š„ๆœ€็ปˆๅบ•ๆฐ”ใ€‚","frontmatter":{"date":"2024-06-15T22:23:00.000Z","title":"่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡็ป“ๅˆไฟ็ฝ—ใƒปๆ ผ้›ทๅŽ„ๅง†ใ€ŠHow to Do Great Workใ€‹ๆ ธๅฟƒ่ง‚็‚น๏ผŒๆŽข่ฎจ AI ๅŽŸ็”Ÿๆ—ถไปฃๅคๅˆๅž‹ไบบๆ‰็š„ๆ ธๅฟƒ็‰น่ดจใ€‚AI ่ฎฉๅŸบ็ก€ๆ‰ง่กŒ่ƒฝๅŠ›ๅฟซ้€Ÿ่ดฌๅ€ผ๏ผŒไบบๆ‰็š„ๆ ธๅฟƒๅฃๅž’ไธๅ†ๆ˜ฏ่งฃๅ†ณ้—ฎ้ข˜๏ผŒ่€Œๆ˜ฏๆๅ‡บไผ˜่ดจ้—ฎ้ข˜ใ€ๅŸนๅ…ป้žๅ…ฑ่ฏ†ๅ“ๅ‘ณใ€‚ๅŒๆ—ถ้œ€ๅšๅฎˆๆ™บๅŠ›่ฏšๅฎž๏ผŒๆ‹ฅๆœ‰ๆ‰“็ ดๅธธ่ง„็š„ๅˆ›ๆ–ฐๅ‹‡ๆฐ”๏ผŒๅ€ŸๅŠฉ AI ๆ”พๅคงไธชไบบๆˆ้•ฟๆ ๆ†๏ผŒไปฅๅฐๅˆ‡ๅฃๅฎž่ทตๅฎž็ŽฐๆŒ‡ๆ•ฐ็บงๆˆ้•ฟใ€‚ไบบ็ฑป็‹ฌๆœ‰็š„ๅฅฝๅฅ‡ๅฟƒ๏ผŒๆ˜ฏ็ช็ ด AI ๅนณๅบธใ€ๅ–ๅพ—ๆฐๅ‡บๆˆๅฐฑ็š„ๆœ€็ปˆๅบ•ๆฐ”ใ€‚","coverImg":"/img/cover/product_sense_bg.png","permalink":"/product-sense/ai-native-composite-talents","categories":["ไบงๅ“ Sense"],"tags":["AI","ๆˆ้•ฟ"]},"headers":[],"relativePath":"10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/20.่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ.md","filePath":"10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/20.่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ.md"}'),r={name:"10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/20.่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ.md"};function i(l,t,p,n,c,d){return e(),o("div",null,[...t[0]||(t[0]=[s('

่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ โ€‹

ๅŽŸๆ–‡ๆ ‡้ข˜๏ผšใ€ŠHow to Do Great Workใ€‹๏ผˆๅฆ‚ไฝ•ๅ–ๅพ—ๆฐๅ‡บๆˆๅฐฑ๏ผ‰

ๅŽŸๆ–‡ๅœฐๅ€๏ผšhttps://paulgraham.com/greatwork.html

ๅŽŸๆ–‡ไฝœ่€…๏ผšPaul Graham๏ผˆไฟ็ฝ—ยทๆ ผ้›ทๅŽ„ๅง†๏ผ‰๏ผŒ็ก…่ฐท้กถ็บงๅญตๅŒ–ๅ™จ Y Combinator ๅˆ›ๅง‹ไบบ๏ผŒ่ขซ่ช‰ไธบโ€œ็ก…่ฐทๅˆ›ไธšๆ•™็ˆถโ€๏ผŒไนŸๆ˜ฏ็ปๅ…ธๆŠ€ๆœฏๅ“ฒๅญฆ่‘—ไฝœใ€Š้ป‘ๅฎขไธŽ็”ปๅฎถใ€‹็š„ไฝœ่€…ใ€‚

ๆ–‡็ซ ่ƒŒๆ™ฏ๏ผšๅŽŸๆ–‡ๆ˜ฏไฟ็ฝ—ยทๆ ผ้›ทๅŽ„ๅง†ไน‹ๅ‰ๅ‡†ๅค‡ไบ†ๅŠๅนดไน‹ไน…็š„้‡็ฃ…้•ฟๆ–‡๏ผŒไป–่ฏ•ๅ›พ่ฎฒๆ˜Ž็™ฝไธ€ไธช้€‚็”จไบŽๆฏไธชไบบ็š„ไธป้ข˜โ€”โ€”ๅฆ‚ไฝ•ๅšๆˆใ€Œๅคงไบ‹ใ€๏ผˆgreat work๏ผ‰ใ€‚้€š่ฏปๅ…จๆ–‡๏ผŒไฝ ไผšๅ‘็Žฐ๏ผŒ่ฟ™ๆ˜ฏไธ€็ฏ‡้žๅธธๅฎž็”จ็š„ๅทฅไฝœๆŒ‡ๅ—๏ผŒๅนถไธ”ๅ…ถไธญ็š„่ฎธๅคšๅ†…ๅฎน๏ผŒ้ƒฝไธŽAIๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰ๆ‰€้œ€่ฆๅ…ทๅค‡็š„็‰น่ดจ้žๅธธไธ€่‡ดใ€‚

1. ๅผ•่จ€๏ผšๅฝ“โ€œๆ‰ง่กŒโ€่ขซ AI ๅกซๅนณ๏ผŒไป€ไนˆๆ‰ๆ˜ฏๆ ธๅฟƒๅฃๅž’๏ผŸ โ€‹

้€š่ฏปไฟ็ฝ—ยทๆ ผ้›ทๅŽ„ๅง†๏ผˆไปฅไธ‹็ฎ€็งฐ PG๏ผ‰่ฟ™็ฏ‡ไธคไธ‡ๅญ—็š„้•ฟๆ–‡๏ผŒ็ฌ”่€…ๆœ€ๅคง็š„ๆ„Ÿๅ—ๆ˜ฏ๏ผš่ฟ™ไธไป…ๆ˜ฏไธ€ไปฝ่ทจ่ถŠ้ข†ๅŸŸ็š„โ€œไผŸๅคงๆˆๅฐฑๆŒ‡ๅ—โ€๏ผŒๆ›ดๆ˜ฏไธ€ไปฝไธบ AI ๅŽŸ็”Ÿๆ—ถไปฃ้‡่บซๅฎšๅˆถ็š„โ€œๅคๅˆๅž‹ไบบๆ‰็”Ÿๅญ˜ๆ‰‹ๅ†Œโ€ใ€‚

ๅœจ AI ็ˆ†ๅ‘็š„ๅฝ“ไธ‹๏ผŒๅ†™ไปฃ็ ใ€็”ปๅ›พใ€ๆ’ฐๅ†™ๅŸบ็ก€ๆ–‡ๆกˆ็”š่‡ณ็ฎ€ๅ•็š„ๆ•ฐๆฎๅˆ†ๆž๏ผŒ่ฟ™ไบ›ๆ›พ็ป่ขซ่ง†ไธบไธ“ไธšๆŠ€่ƒฝ็š„โ€œๆ‰ง่กŒๅŠจไฝœโ€๏ผŒๆญฃๅœจ่ฟ…้€Ÿ่ดฌๅ€ผใ€‚ๅฝ“ AI ๆŠŠโ€œ่งฃ็ญ”้—ฎ้ข˜โ€็š„้—จๆง›้™ๅˆฐๆžไฝŽๆ—ถ๏ผŒไบบไธŽไบบไน‹้—ด็š„ๅทฎ่ทๅฐ†่ขซไป€ไนˆๆ‹‰ๅผ€๏ผŸ

PG ๅœจๆ–‡็ซ ไธญ็ป™ๅ‡บไบ†็ญ”ๆกˆ๏ผšๆ‰พๅˆฐๆญฃ็กฎ็š„้—ฎ้ข˜ใ€ไฟๆŒ้žๅ…ฑ่ฏ†็š„ๅฅฝๅฅ‡ๅฟƒใ€ไปฅๅŠๆ‹ฅๆœ‰ๆž้ซ˜็š„ๅ“ๅ‘ณใ€‚ไปฅไธ‹ๆ˜ฏๆˆ‘็ป“ๅˆ AI ๆ—ถไปฃๆตชๆฝฎ๏ผŒๅฏนๆ–‡็ซ ๆ ธๅฟƒ่ง‚็‚น็š„ๆขณ็†ไธŽไธชไบบๆ€่€ƒใ€‚

2. ไปŽโ€œ่งฃๅ†ณ้—ฎ้ข˜โ€ๅˆฐโ€œๅ‘็Žฐ้—ฎ้ข˜โ€๏ผšๆ้—ฎๅŠ›ๅ†ณๅฎš็”ŸไบงๅŠ› โ€‹

ใ€ๅŽŸๆ–‡็ฒพ้ซ“ใ€‘

โ€œ้—ฎ้ข˜ไธไป…ๅฏผๅ‘็ญ”ๆกˆ๏ผŒ่€Œไธ”ไนŸๅฏผๅ‘ๆ›ดๅคš็š„้—ฎ้ข˜ใ€‚โ€

PG ่ฎคไธบ๏ผŒไบบไปฌๅœจ่งฃๅ†ณ้—ฎ้ข˜ไธŠ่กจ็Žฐๅ‡บ็š„ๅŽŸๅˆ›ๆ€ง๏ผŒ่ฟœ่ถ…ๅœจโ€œๅ†ณๅฎš่งฃๅ†ณๅ“ชไบ›้—ฎ้ข˜โ€ไธŠใ€‚ๅพˆๅคšไบบ่ขซๅ›ฐๅœจๆ—ถ้ซฆ็š„ๆผฉๆถก้‡Œ๏ผŒ่€Œ็œŸๆญฃๆฐๅ‡บ็š„ๆˆๅฐฑๅพ€ๅพ€ๅง‹ไบŽๆ•้”ๅœฐๆณจๆ„ๅˆฐไบ†็Ÿฅ่ฏ†่พน็ผ˜็š„โ€œ็ผบๅฃโ€ใ€‚

ใ€ๆˆ‘็š„ไฝ“ไผšใ€‘

ๅœจ AI ๆ—ถไปฃ๏ผŒ่ฟ™ๅฅ่ฏ่ขซ่ต‹ไบˆไบ†ๅฒๆ— ๅ‰ไพ‹็š„็Žฐๅฎžๆ„ไน‰ใ€‚ๅคงๆจกๅž‹๏ผˆLLM๏ผ‰ๆœฌ่ดจไธŠๆ˜ฏไธ€ไธช่ถ…็บงโ€œ่งฃ็ญ”ๆœบโ€๏ผŒๅฎƒๆžๅ…ถๆ“…้•ฟ้กบ็€ไฝ ็ป™ๅฎš็š„้€ป่พ‘็”Ÿๆˆ็ญ”ๆกˆใ€‚่ฟ™ๆ„ๅ‘ณ็€๏ผŒๅœจๆœชๆฅ๏ผŒๅฏปๆ‰พ็ญ”ๆกˆ็š„่ƒฝๅŠ›ๅฐ†ไธๅ†็จ€็ผบ๏ผŒ็จ€็ผบ็š„ๆ˜ฏๆๅ‡บ็ปไฝณ้—ฎ้ข˜็š„่ƒฝๅŠ›ใ€‚

ไธ€ไธช AI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒๅ…ถๆ ธๅฟƒ็‰น่ดจๅฐฑๆ˜ฏๆˆไธบไธ€ไธช้ซ˜้˜ถ็š„โ€œ้—ฎ้ข˜ๅ‘็Žฐ่€…โ€ใ€‚ๆˆ‘ไปฌ้œ€่ฆๅˆฉ็”จ AI ๅฟซ้€Ÿ่ทจ่ถŠๅคšไธช้ข†ๅŸŸ็š„็Ÿฅ่ฏ†็›ฒๅŒบ๏ผˆๅณ PG ่ฏด็š„โ€œๅˆฐ่พพ้ข†ๅŸŸๅ‰ๆฒฟโ€๏ผ‰๏ผŒ็„ถๅŽๅœจๅ‰ๆฒฟๅœฐๅธฆๆ•้”ๅœฐๅ—…ๅˆฐ้‚ฃไบ›่ขซไธปๆตๅฟฝ่ง†็š„็ฉบ็™ฝใ€‚"Prompt๏ผˆๆ็คบ่ฏ๏ผ‰่ดจ้‡"ๅœจๆŸ็ง็จ‹ๅบฆไธŠๆญฃๆ˜ฏๆˆ‘ไปฌๆดžๅฏŸๅŠ›ไธŽๅ“ๅ‘ณ็š„็›ดๆŽฅๆ˜ ๅฐ„โ€”โ€”ๅฎƒๅ†ณๅฎšไบ†ๆˆ‘ไปฌ่ƒฝๅฆไปŽ AI ่ฟ™ๅบง"่ถ…็บง่งฃ็ญ”ๆœบ"ไธญ๏ผŒๆŒ–ๆŽ˜ๅ‡บ็œŸๆญฃๆœ‰ไปทๅ€ผ็š„็ญ”ๆกˆใ€‚

3. ๅŸนๅ…ป้žๅ…ฑ่ฏ†็š„โ€œๅ“ๅ‘ณโ€๏ผš้€ƒ็ฆป AI ็”Ÿๆˆ็š„โ€œๅนณๅ‡ๆ•ฐโ€ โ€‹

ใ€ๅŽŸๆ–‡็ฒพ้ซ“ใ€‘

PG ๅผบ่ฐƒ๏ผšโ€œๆœ‰ๆ„่ฏ†ๅœฐๅŸนๅ…ปๅฏน่‡ชๅทฑ้ข†ๅŸŸๅทฅไฝœ็š„ๅ“ๅ‘ณใ€‚้™ค้žๆˆ‘ไปฌ็Ÿฅ้“ไป€ไนˆๆ˜ฏๆœ€ๅฅฝ็š„๏ผŒไปฅๅŠๆ˜ฏไป€ไนˆไฝฟๅฎƒๆˆไธบๆœ€ๅฅฝ็š„๏ผŒๅฆๅˆ™ๆˆ‘ไปฌๅนถไธ็Ÿฅ้“่‡ชๅทฑๅœจ่ฟฝๆฑ‚ไป€ไนˆใ€‚โ€

ใ€ๆˆ‘็š„ไฝ“ไผšใ€‘

ๅœจ่ฟ™ไธชไฟกๆฏๅคง็ˆ†็‚ธ็š„ๆ—ถไปฃ๏ผŒAI ๆญฃๅœจๆ‰น้‡็”Ÿไบงๆตท้‡็š„ใ€ๆ— ๅทฎๅˆซ็š„โ€œๅŠๆ ผ็บฟไปฅไธŠโ€็š„ๅ†…ๅฎนไธŽไปฃ็ ๏ผŒ่ฟ™ๅธฆๆฅไบ†ไธคไธชๆž็ซฏ็š„็Žฐ่ฑก๏ผš

  • ไธ‹้™่ขซๆ‹”้ซ˜ไบ†๏ผŒๅนณๅบธ่€…ๅฏไปฅๅˆฉ็”จ AI ็žฌ้—ด็œ‹่ตทๆฅๅƒไธชไธ“ๅฎถใ€‚

  • ไธŠ้™ๅ˜ๅพ—ๆ›ด้šพ็ช็ ดไบ†๏ผŒๅ› ไธบๆ‰€ๆœ‰็”ฑ AI ็”Ÿๆˆ็š„ไธœ่ฅฟ๏ผŒๆœฌ่ดจไธŠ้ƒฝๆ˜ฏๅœจโ€œๅކๅฒๆ•ฐๆฎ็š„ๅนณๅ‡ๅ€ผโ€ไธŠๅšๅพฎๅฐๅ˜ๅผ‚ใ€‚

่ฟ™ๅฐฑไฝฟๅพ— PG ๆๅˆฐ็š„โ€œๅ“ๅ‘ณ๏ผˆTaste๏ผ‰โ€ๅ˜ๅพ—ๆ— ๆฏ”้‡่ฆใ€‚ๅคๅˆๅž‹ไบบๆ‰ๅฟ…้กปๆ‹ฅๆœ‰ๆž้ซ˜็š„ๅฎก็พŽ็œผๅ…‰ไธŽๅˆคๅˆซ่ƒฝๅŠ›๏ผŒ่ฟ™็ง่ƒฝๅŠ›ๆ— ๆณ•้€š่ฟ‡็ฎ—ๆณ•ไน ๅพ—ใ€‚ๅฝ“ๆˆ‘ไปฌ้ขๅฏน AI ็ป™ๅ‡บ็š„ๅคšไธช่งฃๅ†ณๆ–นๆกˆๆ—ถ๏ผŒ้œ€่ฆๆ•้”ๅœฐๅˆคๆ–ญๅ“ชไธชๆ–นๆกˆไธไป…ๅฏ่กŒ๏ผŒ่€Œไธ”่ถณๅคŸโ€œไผ˜้›…โ€ใ€‚ๅ“ๅ‘ณ๏ผŒๅฐ†ๆˆไธบๆˆ‘ไปฌๅœจ AI ่‡ชๅŠจ้ฉพ้ฉถๆตชๆฝฎไธญๆŠŠ็จณๆ–นๅ‘็›˜็š„ๆ ธๅฟƒ่ต„ไบงใ€‚

4. ไฟๆŒ็œŸ่ฏšไธŽโ€œๆ‰“็ ด่ง„ๅˆ™โ€็š„ๅ‹‡ๆฐ”๏ผšๆŠตๆŠ— AI ็š„โ€œๅนป่ง‰โ€ไธŽๅนณๅบธ โ€‹

ใ€ๅŽŸๆ–‡็ฒพ้ซ“ใ€‘

โ€œ่ฆๆ‰พๅˆฐๆ–ฐ็š„ๆƒณๆณ•๏ผŒๅฐฑๅฟ…้กปๆŠ“ไฝไธๅˆ็†็š„่ฟน่ฑก๏ผŒ่€Œไธๆ˜ฏ้ฟ่€Œไธ่งใ€‚โ€ PG ๅœจๆ–‡็ซ ไธญๅๅคๅผบ่ฐƒ็‹ฌ็ซ‹ๆ€่€ƒ๏ผˆๆ— ่ฎบๆ˜ฏไธปๅŠจ่ฟ˜ๆ˜ฏ่ขซๅŠจ็š„๏ผ‰ไธŽ็œŸ่ฏš๏ผˆIntellectual Honesty๏ผŒๆ™บๅŠ›่ฏšๅฎž๏ผ‰็š„ๅŠ›้‡ใ€‚ไธ€ไธชๅฅฝ็š„ๆ–ฐๆƒณๆณ•๏ผŒไธ€ๅผ€ๅง‹ๅพ€ๅพ€ๆ˜ฏไธๅ—ๅพ…่ง็š„ใ€‚

ใ€ๆˆ‘็š„ไฝ“ไผšใ€‘

ๅคงๆจกๅž‹ๆ˜ฏๅŸบไบŽโ€œไบบ็ฑป็Žฐๆœ‰ๅ…ฑ่ฏ†๏ผˆ่ฏญๆ–™ๅบ“๏ผ‰โ€่ฎญ็ปƒๅ‡บๆฅ็š„ไบง็‰ฉ๏ผŒ่ฟ™ไนŸๆ„ๅ‘ณ็€ๅฆ‚ๆžœๅชไพ่ต– AI ็š„่พ“ๅ‡บ๏ผŒๆˆ‘ไปฌๅฐ†ๆฐธ่ฟœๅœจๅทฒ็Ÿฅ็š„่ˆ’้€‚ๅŒบๅ†…ๆ‰“่ฝฌใ€‚็œŸๆญฃโ€œไผŸๅคงโ€็š„ๅˆ›ๆ–ฐ๏ผŒๅฟ…็„ถๆ˜ฏๅฏน็Žฐๆœ‰ๅธธ่ฏ†็š„้ข ่ฆ†ไธŽ่กฅๅ……ใ€‚

่ฟ™ๅฐฑ่ฆๆฑ‚ๅคๅˆๅž‹ไบบๆ‰ๅฟ…้กปๅ…ทๅค‡ๆžๅบฆ็š„โ€œๆ™บๅŠ›่ฏšๅฎžโ€ใ€‚ๆˆ‘ไปฌ่ฆๆŠŠ AI ๅฝ“ไฝœๅทฅๅ…ทๅŽป้ชŒ่ฏๅ‡่ฎพ๏ผŒไฝ†ๅœจ AI ็ป™ๅ‡บ็œ‹ไผผๅฎŒ็พŽ็š„ๅธธ่ง„่งฃ็ญ”ๆ—ถ๏ผŒๆˆ‘ไปฌ่ฆๆ•ขไบŽ่ฏด๏ผšโ€œไธ๏ผŒ่ฟ™้‡Œ่ฟ˜ๆœ‰็ผบ้™ทใ€‚โ€

ๅฝ“ๆ‰€ๆœ‰ไบบ้ƒฝๆฒ‰ๆตธๅœจๆŸ็ง็ƒญ้—จๆŠ€ๆœฏๆˆ–ๆก†ๆžถไธญๆ—ถ๏ผŒๆˆ‘ไปฌ่ฆๆ•ขไบŽๅƒ PG ่ฏด็š„้‚ฃๆ ท๏ผŒ้€‰ๆ‹ฉๅ†ท้—จไฝ†ๅ…ทๆœ‰ๆžๅคงๆฝœๅŠ›็š„โ€œ้—ฎ้ข˜็ฉบ้—ดโ€ใ€‚ๅœจ AI ๆ—ถไปฃ๏ผŒไฝ ็š„ๅŽŸๅˆ›ๆ€ง๏ผŒๆฐๆฐไฝ“็Žฐๅœจไฝ ๆ•ขไบŽๅœจ AI ็ป™ๅ‡บโ€œๆ ‡ๅ‡†็ญ”ๆกˆโ€ๆ—ถ๏ผŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป่ฟฝ้—ฎไธ€ไธช็œ‹ไผผ็–ฏ็‹‚ไฝ†ๅฑžไบŽโ€œๆญฃ็กฎ็ฑปๅˆซโ€็š„้—ฎ้ข˜ใ€‚

5. ๅคๅˆๆŒ‡ๆ•ฐๅขž้•ฟ๏ผšไปฅๅฐ่งๅคง็š„่กŒๅŠจๅŠ› โ€‹

ใ€ๅŽŸๆ–‡็ฒพ้ซ“ใ€‘

โ€œๆŒ‡ๆ•ฐๅขž้•ฟ็š„้—ฎ้ข˜ๅœจไบŽๆ›ฒ็บฟๅœจๅผ€ๅง‹ๆ—ถ็ป™ไบบ็š„ๆ„Ÿ่ง‰ๅพˆๅนณ๏ผŒไฝ†ๅฎƒไธๆ˜ฏใ€‚โ€ PG ๆŒ‡ๅ‡บ๏ผšๆฐๅ‡บๆˆๅฐฑ็š„็ดฏ็งฏๆ•ˆๅบ”ๆ˜ฏ่ขซไธฅ้‡ไฝŽไผฐ็š„๏ผŒๅ…ณ้”ฎๅœจไบŽไธ€่‡ดๆ€งใ€‚ๅŒๆ—ถ๏ผŒๆˆ‘ไปฌไธ้œ€่ฆๅšๅบžๅคง็š„่ฎกๅˆ’๏ผŒๅช้œ€่ฆๅšโ€œๅฏ่ƒฝๆœ‰็”จ็š„ๆœ€็ฎ€ๅ•็š„ไธœ่ฅฟโ€๏ผŒๅนถๅœจๅฎž่ทตไธญไธๆ–ญๆผ”ๅŒ–ใ€‚

ใ€ๆˆ‘็š„ไฝ“ไผšใ€‘

ๅœจ่ฟ™ไธ€่Š‚๏ผŒPG ็š„่ง‚็‚นไธŽโ€œๆ•ๆทๅผ€ๅ‘โ€ไธ่ฐ‹่€Œๅˆใ€‚ไฝ†ๅœจไปŠๅคฉ๏ผŒๆœ‰ไบ† AI ๅŠ ๆŒ๏ผŒไธชไบบๅผ€ๅ‘่€…็š„โ€œๅคๅˆๆ ๆ†็އโ€่ขซๆ— ้™ๆ”พๅคงไบ†ใ€‚

่ฟ‡ๅŽป๏ผŒๆ‰“้€ ไธ€ไธชๆœ€ๅฐๅฏ่กŒๆ€งไบงๅ“๏ผˆMVP๏ผ‰ๅพ€ๅพ€้œ€่ฆๆ•ฐๅ‘จๆ—ถ้—ดใ€‚ๅฆ‚ไปŠ๏ผŒๅœจ AI ็ผ–็จ‹ๅทฅๅ…ท็š„ๅŠฉๅŠ›ไธ‹๏ผŒไธ€ไธชๅ…ทๅค‡ๅคๅˆ่ƒฝๅŠ›็š„ไบบๆ‰ๆˆ–่ฎธๅช้œ€ไธ€ไธชๅ‘จๆœซๅฐฑ่ƒฝๅฎŒๆˆๅŽŸๅž‹็š„ๆญๅปบไธŽ้ชŒ่ฏใ€‚่ฟ™ๆ„ๅ‘ณ็€"ไปฅ้กน็›ฎไธบๅ•ไฝ็š„ๆ‹–ๅปถ"ๅœจๅฝ“ไธ‹ๅ˜ๅพ—ๆ„ˆๅ‘ไธๅฏๆ‰ฟๅ—ใ€‚

AI ๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒไธๅ†ๆ˜ฏๆ‹ฅๆœ‰ๅ•ไธ€ๆทฑๅŽšๆŠ€่ƒฝ็š„่žบไธ้’‰๏ผŒ่€Œๆ˜ฏ่ƒฝๅคŸไธ€ไบบๆ‰ฟๆ‹…โ€œไบงๅ“็ป็† + ๅ…จๆ ˆๅทฅ็จ‹ๅธˆ + ่ฟ่ฅโ€่ง’่‰ฒ็š„่ถ…็บงไธชไฝ“ใ€‚ไธ€ๆ—ฆๆ‰พๅˆฐ้‚ฃไธชไปคไฝ ไบง็”Ÿๆทฑๅบฆๅ…ด่ถฃ็š„ๅˆ‡ๅ…ฅ็‚น๏ผŒๅนถๆŒ็ปญๆทฑ่€•๏ผŒไฝ ็š„ๆˆ้•ฟๆ›ฒ็บฟๅฐ†ๅœจๆž็Ÿญๆ—ถ้—ดๅ†…่ฟŽๆฅๆƒŠไบบ็š„ๆŒ‡ๆ•ฐ็บง่ทƒๅ‡ใ€‚

6. ๅœจ็ฎ—ๅŠ›้ขๅ‰ไฟๆŒๆ•ฌ็•๏ผŒๅœจๆœบๅ™จ้ขๅ‰ไฟๆŒๅฅฝๅฅ‡ โ€‹

้€š่ฏป PG ่ฟ™็ฏ‡ไธ‡ๅญ—้•ฟๆ–‡๏ผŒๅฆ‚ๆžœ่ฆ้—ฎ๏ผšๅœจ่ฟ™ไธชๆŠ€ๆœฏๅคฉ็ฟปๅœฐ่ฆ†็š„ๆ—ถไปฃ๏ผŒๅ–ๅพ—ๆˆๅฐฑ็ฉถ็ซŸๆœ‰ไป€ไนˆไธๅฏๆ›ฟไปฃ็š„็ง˜่ฏ€๏ผŸๆ–‡็ซ ็ป™ๅ‡บ็š„ๆœ€็ปˆ็ญ”ๆกˆๆ˜ฏโ€”โ€”ๅฅฝๅฅ‡ๅฟƒใ€‚

AI ๅฏไปฅๆจกไปฟ่ฏญๆฐ”๏ผŒๅฏไปฅ็”Ÿๆˆไปฃ็ ๏ผŒๅฏไปฅ่ฎก็ฎ—ๆฆ‚็އ๏ผŒๅดๆ— ๆณ•ๆ‹ฅๆœ‰็œŸๆญฃ่‡ชๅ‘็š„ๅฅฝๅฅ‡ๅฟƒใ€‚ๅฎƒไธไผšไธบไธ€ไธชๅพฎๅฐ็š„ไธๅˆ็†็Žฐ่ฑก่€ŒๆŠ“็‹‚๏ผŒไนŸไธไผšไธบไบ†ไธ€ไธชๆœช็Ÿฅ็š„็ญ”ๆกˆๅฝปๅคœ้šพ็œ ใ€‚

่ฟ™ๆญฃๆ˜ฏๆˆ‘ไปฌไฝœไธบไบบ็ฑปๆœ€ๅŽ็š„ๅบ•็‰Œใ€‚ๅŽป่ฟฝๅฏป้‚ฃไบ›่ฎฉไฝ ๅ…ดๅฅ‹ไธๅทฒใ€่ฎฉไฝ "่ฟ‡ๅˆ†"ๅฅฝๅฅ‡็š„้—ฎ้ข˜ๅงโ€”โ€”ๅ€ŸๅŠฉ AI ็š„็ฎ—ๅŠ›่ทจ่ถŠๆ‰ง่กŒ็š„้ธฟๆฒŸ๏ผŒไปฅๆž้ซ˜็š„ๅ“ๅ‘ณๅŽป็”„ๅˆซ็ญ›้€‰๏ผŒ็”จไธๅฆฅๅ็š„็œŸ่ฏšๅŽปๆทฑๅ…ฅๆŽข็ดขใ€‚

ๅ‰ฉไธ‹็š„๏ผŒๆญฃๅฆ‚ไฟ็ฝ—ยทๆ ผ้›ทๅŽ„ๅง†ๆ‰€่ฏด๏ผš"่ฟ˜ๆœ‰ๅพˆๅคšๅ‘็Žฐๆญฃ็ญ‰ๅพ…็€่ขซๅ‘็Žฐ๏ผŒไธบไป€ไนˆไธ็”ฑๆˆ‘ไปฌ่‡ชๅทฑๅŽปๅ‘็Žฐๅ‘ข๏ผŸ"

',24)])])}const I=a(r,[["render",i]]);export{A as __pageData,I as default}; +import{_ as a,g as o,h as e,U as s}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const A=JSON.parse('{"title":"่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡็ป“ๅˆไฟ็ฝ—ใƒปๆ ผ้›ทๅŽ„ๅง†ใ€ŠHow to Do Great Workใ€‹ๆ ธๅฟƒ่ง‚็‚น๏ผŒๆŽข่ฎจ AI ๅŽŸ็”Ÿๆ—ถไปฃๅคๅˆๅž‹ไบบๆ‰็š„ๆ ธๅฟƒ็‰น่ดจใ€‚AI ่ฎฉๅŸบ็ก€ๆ‰ง่กŒ่ƒฝๅŠ›ๅฟซ้€Ÿ่ดฌๅ€ผ๏ผŒไบบๆ‰็š„ๆ ธๅฟƒๅฃๅž’ไธๅ†ๆ˜ฏ่งฃๅ†ณ้—ฎ้ข˜๏ผŒ่€Œๆ˜ฏๆๅ‡บไผ˜่ดจ้—ฎ้ข˜ใ€ๅŸนๅ…ป้žๅ…ฑ่ฏ†ๅ“ๅ‘ณใ€‚ๅŒๆ—ถ้œ€ๅšๅฎˆๆ™บๅŠ›่ฏšๅฎž๏ผŒๆ‹ฅๆœ‰ๆ‰“็ ดๅธธ่ง„็š„ๅˆ›ๆ–ฐๅ‹‡ๆฐ”๏ผŒๅ€ŸๅŠฉ AI ๆ”พๅคงไธชไบบๆˆ้•ฟๆ ๆ†๏ผŒไปฅๅฐๅˆ‡ๅฃๅฎž่ทตๅฎž็ŽฐๆŒ‡ๆ•ฐ็บงๆˆ้•ฟใ€‚ไบบ็ฑป็‹ฌๆœ‰็š„ๅฅฝๅฅ‡ๅฟƒ๏ผŒๆ˜ฏ็ช็ ด AI ๅนณๅบธใ€ๅ–ๅพ—ๆฐๅ‡บๆˆๅฐฑ็š„ๆœ€็ปˆๅบ•ๆฐ”ใ€‚","frontmatter":{"date":"2024-06-15T22:23:00.000Z","title":"่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡็ป“ๅˆไฟ็ฝ—ใƒปๆ ผ้›ทๅŽ„ๅง†ใ€ŠHow to Do Great Workใ€‹ๆ ธๅฟƒ่ง‚็‚น๏ผŒๆŽข่ฎจ AI ๅŽŸ็”Ÿๆ—ถไปฃๅคๅˆๅž‹ไบบๆ‰็š„ๆ ธๅฟƒ็‰น่ดจใ€‚AI ่ฎฉๅŸบ็ก€ๆ‰ง่กŒ่ƒฝๅŠ›ๅฟซ้€Ÿ่ดฌๅ€ผ๏ผŒไบบๆ‰็š„ๆ ธๅฟƒๅฃๅž’ไธๅ†ๆ˜ฏ่งฃๅ†ณ้—ฎ้ข˜๏ผŒ่€Œๆ˜ฏๆๅ‡บไผ˜่ดจ้—ฎ้ข˜ใ€ๅŸนๅ…ป้žๅ…ฑ่ฏ†ๅ“ๅ‘ณใ€‚ๅŒๆ—ถ้œ€ๅšๅฎˆๆ™บๅŠ›่ฏšๅฎž๏ผŒๆ‹ฅๆœ‰ๆ‰“็ ดๅธธ่ง„็š„ๅˆ›ๆ–ฐๅ‹‡ๆฐ”๏ผŒๅ€ŸๅŠฉ AI ๆ”พๅคงไธชไบบๆˆ้•ฟๆ ๆ†๏ผŒไปฅๅฐๅˆ‡ๅฃๅฎž่ทตๅฎž็ŽฐๆŒ‡ๆ•ฐ็บงๆˆ้•ฟใ€‚ไบบ็ฑป็‹ฌๆœ‰็š„ๅฅฝๅฅ‡ๅฟƒ๏ผŒๆ˜ฏ็ช็ ด AI ๅนณๅบธใ€ๅ–ๅพ—ๆฐๅ‡บๆˆๅฐฑ็š„ๆœ€็ปˆๅบ•ๆฐ”ใ€‚","coverImg":"/img/cover/product_sense_bg.png","permalink":"/product-sense/ai-native-composite-talents","categories":["ไบงๅ“ Sense"],"tags":["AI","ๆˆ้•ฟ"]},"headers":[],"relativePath":"10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/20.่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ.md","filePath":"10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/20.่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ.md"}'),r={name:"10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/20.่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ.md"};function i(l,t,p,n,c,d){return e(),o("div",null,[...t[0]||(t[0]=[s('

่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ โ€‹

ๅŽŸๆ–‡ๆ ‡้ข˜๏ผšใ€ŠHow to Do Great Workใ€‹๏ผˆๅฆ‚ไฝ•ๅ–ๅพ—ๆฐๅ‡บๆˆๅฐฑ๏ผ‰

ๅŽŸๆ–‡ๅœฐๅ€๏ผšhttps://paulgraham.com/greatwork.html

ๅŽŸๆ–‡ไฝœ่€…๏ผšPaul Graham๏ผˆไฟ็ฝ—ยทๆ ผ้›ทๅŽ„ๅง†๏ผ‰๏ผŒ็ก…่ฐท้กถ็บงๅญตๅŒ–ๅ™จ Y Combinator ๅˆ›ๅง‹ไบบ๏ผŒ่ขซ่ช‰ไธบโ€œ็ก…่ฐทๅˆ›ไธšๆ•™็ˆถโ€๏ผŒไนŸๆ˜ฏ็ปๅ…ธๆŠ€ๆœฏๅ“ฒๅญฆ่‘—ไฝœใ€Š้ป‘ๅฎขไธŽ็”ปๅฎถใ€‹็š„ไฝœ่€…ใ€‚

ๆ–‡็ซ ่ƒŒๆ™ฏ๏ผšๅŽŸๆ–‡ๆ˜ฏไฟ็ฝ—ยทๆ ผ้›ทๅŽ„ๅง†ไน‹ๅ‰ๅ‡†ๅค‡ไบ†ๅŠๅนดไน‹ไน…็š„้‡็ฃ…้•ฟๆ–‡๏ผŒไป–่ฏ•ๅ›พ่ฎฒๆ˜Ž็™ฝไธ€ไธช้€‚็”จไบŽๆฏไธชไบบ็š„ไธป้ข˜โ€”โ€”ๅฆ‚ไฝ•ๅšๆˆใ€Œๅคงไบ‹ใ€๏ผˆgreat work๏ผ‰ใ€‚้€š่ฏปๅ…จๆ–‡๏ผŒไฝ ไผšๅ‘็Žฐ๏ผŒ่ฟ™ๆ˜ฏไธ€็ฏ‡้žๅธธๅฎž็”จ็š„ๅทฅไฝœๆŒ‡ๅ—๏ผŒๅนถไธ”ๅ…ถไธญ็š„่ฎธๅคšๅ†…ๅฎน๏ผŒ้ƒฝไธŽAIๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰ๆ‰€้œ€่ฆๅ…ทๅค‡็š„็‰น่ดจ้žๅธธไธ€่‡ดใ€‚

1. ๅผ•่จ€๏ผšๅฝ“โ€œๆ‰ง่กŒโ€่ขซ AI ๅกซๅนณ๏ผŒไป€ไนˆๆ‰ๆ˜ฏๆ ธๅฟƒๅฃๅž’๏ผŸ โ€‹

้€š่ฏปไฟ็ฝ—ยทๆ ผ้›ทๅŽ„ๅง†๏ผˆไปฅไธ‹็ฎ€็งฐ PG๏ผ‰่ฟ™็ฏ‡ไธคไธ‡ๅญ—็š„้•ฟๆ–‡๏ผŒ็ฌ”่€…ๆœ€ๅคง็š„ๆ„Ÿๅ—ๆ˜ฏ๏ผš่ฟ™ไธไป…ๆ˜ฏไธ€ไปฝ่ทจ่ถŠ้ข†ๅŸŸ็š„โ€œไผŸๅคงๆˆๅฐฑๆŒ‡ๅ—โ€๏ผŒๆ›ดๆ˜ฏไธ€ไปฝไธบ AI ๅŽŸ็”Ÿๆ—ถไปฃ้‡่บซๅฎšๅˆถ็š„โ€œๅคๅˆๅž‹ไบบๆ‰็”Ÿๅญ˜ๆ‰‹ๅ†Œโ€ใ€‚

ๅœจ AI ็ˆ†ๅ‘็š„ๅฝ“ไธ‹๏ผŒๅ†™ไปฃ็ ใ€็”ปๅ›พใ€ๆ’ฐๅ†™ๅŸบ็ก€ๆ–‡ๆกˆ็”š่‡ณ็ฎ€ๅ•็š„ๆ•ฐๆฎๅˆ†ๆž๏ผŒ่ฟ™ไบ›ๆ›พ็ป่ขซ่ง†ไธบไธ“ไธšๆŠ€่ƒฝ็š„โ€œๆ‰ง่กŒๅŠจไฝœโ€๏ผŒๆญฃๅœจ่ฟ…้€Ÿ่ดฌๅ€ผใ€‚ๅฝ“ AI ๆŠŠโ€œ่งฃ็ญ”้—ฎ้ข˜โ€็š„้—จๆง›้™ๅˆฐๆžไฝŽๆ—ถ๏ผŒไบบไธŽไบบไน‹้—ด็š„ๅทฎ่ทๅฐ†่ขซไป€ไนˆๆ‹‰ๅผ€๏ผŸ

PG ๅœจๆ–‡็ซ ไธญ็ป™ๅ‡บไบ†็ญ”ๆกˆ๏ผšๆ‰พๅˆฐๆญฃ็กฎ็š„้—ฎ้ข˜ใ€ไฟๆŒ้žๅ…ฑ่ฏ†็š„ๅฅฝๅฅ‡ๅฟƒใ€ไปฅๅŠๆ‹ฅๆœ‰ๆž้ซ˜็š„ๅ“ๅ‘ณใ€‚ไปฅไธ‹ๆ˜ฏๆˆ‘็ป“ๅˆ AI ๆ—ถไปฃๆตชๆฝฎ๏ผŒๅฏนๆ–‡็ซ ๆ ธๅฟƒ่ง‚็‚น็š„ๆขณ็†ไธŽไธชไบบๆ€่€ƒใ€‚

2. ไปŽโ€œ่งฃๅ†ณ้—ฎ้ข˜โ€ๅˆฐโ€œๅ‘็Žฐ้—ฎ้ข˜โ€๏ผšๆ้—ฎๅŠ›ๅ†ณๅฎš็”ŸไบงๅŠ› โ€‹

ใ€ๅŽŸๆ–‡็ฒพ้ซ“ใ€‘

โ€œ้—ฎ้ข˜ไธไป…ๅฏผๅ‘็ญ”ๆกˆ๏ผŒ่€Œไธ”ไนŸๅฏผๅ‘ๆ›ดๅคš็š„้—ฎ้ข˜ใ€‚โ€

PG ่ฎคไธบ๏ผŒไบบไปฌๅœจ่งฃๅ†ณ้—ฎ้ข˜ไธŠ่กจ็Žฐๅ‡บ็š„ๅŽŸๅˆ›ๆ€ง๏ผŒ่ฟœ่ถ…ๅœจโ€œๅ†ณๅฎš่งฃๅ†ณๅ“ชไบ›้—ฎ้ข˜โ€ไธŠใ€‚ๅพˆๅคšไบบ่ขซๅ›ฐๅœจๆ—ถ้ซฆ็š„ๆผฉๆถก้‡Œ๏ผŒ่€Œ็œŸๆญฃๆฐๅ‡บ็š„ๆˆๅฐฑๅพ€ๅพ€ๅง‹ไบŽๆ•้”ๅœฐๆณจๆ„ๅˆฐไบ†็Ÿฅ่ฏ†่พน็ผ˜็š„โ€œ็ผบๅฃโ€ใ€‚

ใ€ๆˆ‘็š„ไฝ“ไผšใ€‘

ๅœจ AI ๆ—ถไปฃ๏ผŒ่ฟ™ๅฅ่ฏ่ขซ่ต‹ไบˆไบ†ๅฒๆ— ๅ‰ไพ‹็š„็Žฐๅฎžๆ„ไน‰ใ€‚ๅคงๆจกๅž‹๏ผˆLLM๏ผ‰ๆœฌ่ดจไธŠๆ˜ฏไธ€ไธช่ถ…็บงโ€œ่งฃ็ญ”ๆœบโ€๏ผŒๅฎƒๆžๅ…ถๆ“…้•ฟ้กบ็€ไฝ ็ป™ๅฎš็š„้€ป่พ‘็”Ÿๆˆ็ญ”ๆกˆใ€‚่ฟ™ๆ„ๅ‘ณ็€๏ผŒๅœจๆœชๆฅ๏ผŒๅฏปๆ‰พ็ญ”ๆกˆ็š„่ƒฝๅŠ›ๅฐ†ไธๅ†็จ€็ผบ๏ผŒ็จ€็ผบ็š„ๆ˜ฏๆๅ‡บ็ปไฝณ้—ฎ้ข˜็š„่ƒฝๅŠ›ใ€‚

ไธ€ไธช AI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒๅ…ถๆ ธๅฟƒ็‰น่ดจๅฐฑๆ˜ฏๆˆไธบไธ€ไธช้ซ˜้˜ถ็š„โ€œ้—ฎ้ข˜ๅ‘็Žฐ่€…โ€ใ€‚ๆˆ‘ไปฌ้œ€่ฆๅˆฉ็”จ AI ๅฟซ้€Ÿ่ทจ่ถŠๅคšไธช้ข†ๅŸŸ็š„็Ÿฅ่ฏ†็›ฒๅŒบ๏ผˆๅณ PG ่ฏด็š„โ€œๅˆฐ่พพ้ข†ๅŸŸๅ‰ๆฒฟโ€๏ผ‰๏ผŒ็„ถๅŽๅœจๅ‰ๆฒฟๅœฐๅธฆๆ•้”ๅœฐๅ—…ๅˆฐ้‚ฃไบ›่ขซไธปๆตๅฟฝ่ง†็š„็ฉบ็™ฝใ€‚"Prompt๏ผˆๆ็คบ่ฏ๏ผ‰่ดจ้‡"ๅœจๆŸ็ง็จ‹ๅบฆไธŠๆญฃๆ˜ฏๆˆ‘ไปฌๆดžๅฏŸๅŠ›ไธŽๅ“ๅ‘ณ็š„็›ดๆŽฅๆ˜ ๅฐ„โ€”โ€”ๅฎƒๅ†ณๅฎšไบ†ๆˆ‘ไปฌ่ƒฝๅฆไปŽ AI ่ฟ™ๅบง"่ถ…็บง่งฃ็ญ”ๆœบ"ไธญ๏ผŒๆŒ–ๆŽ˜ๅ‡บ็œŸๆญฃๆœ‰ไปทๅ€ผ็š„็ญ”ๆกˆใ€‚

3. ๅŸนๅ…ป้žๅ…ฑ่ฏ†็š„โ€œๅ“ๅ‘ณโ€๏ผš้€ƒ็ฆป AI ็”Ÿๆˆ็š„โ€œๅนณๅ‡ๆ•ฐโ€ โ€‹

ใ€ๅŽŸๆ–‡็ฒพ้ซ“ใ€‘

PG ๅผบ่ฐƒ๏ผšโ€œๆœ‰ๆ„่ฏ†ๅœฐๅŸนๅ…ปๅฏน่‡ชๅทฑ้ข†ๅŸŸๅทฅไฝœ็š„ๅ“ๅ‘ณใ€‚้™ค้žๆˆ‘ไปฌ็Ÿฅ้“ไป€ไนˆๆ˜ฏๆœ€ๅฅฝ็š„๏ผŒไปฅๅŠๆ˜ฏไป€ไนˆไฝฟๅฎƒๆˆไธบๆœ€ๅฅฝ็š„๏ผŒๅฆๅˆ™ๆˆ‘ไปฌๅนถไธ็Ÿฅ้“่‡ชๅทฑๅœจ่ฟฝๆฑ‚ไป€ไนˆใ€‚โ€

ใ€ๆˆ‘็š„ไฝ“ไผšใ€‘

ๅœจ่ฟ™ไธชไฟกๆฏๅคง็ˆ†็‚ธ็š„ๆ—ถไปฃ๏ผŒAI ๆญฃๅœจๆ‰น้‡็”Ÿไบงๆตท้‡็š„ใ€ๆ— ๅทฎๅˆซ็š„โ€œๅŠๆ ผ็บฟไปฅไธŠโ€็š„ๅ†…ๅฎนไธŽไปฃ็ ๏ผŒ่ฟ™ๅธฆๆฅไบ†ไธคไธชๆž็ซฏ็š„็Žฐ่ฑก๏ผš

  • ไธ‹้™่ขซๆ‹”้ซ˜ไบ†๏ผŒๅนณๅบธ่€…ๅฏไปฅๅˆฉ็”จ AI ็žฌ้—ด็œ‹่ตทๆฅๅƒไธชไธ“ๅฎถใ€‚

  • ไธŠ้™ๅ˜ๅพ—ๆ›ด้šพ็ช็ ดไบ†๏ผŒๅ› ไธบๆ‰€ๆœ‰็”ฑ AI ็”Ÿๆˆ็š„ไธœ่ฅฟ๏ผŒๆœฌ่ดจไธŠ้ƒฝๆ˜ฏๅœจโ€œๅކๅฒๆ•ฐๆฎ็š„ๅนณๅ‡ๅ€ผโ€ไธŠๅšๅพฎๅฐๅ˜ๅผ‚ใ€‚

่ฟ™ๅฐฑไฝฟๅพ— PG ๆๅˆฐ็š„โ€œๅ“ๅ‘ณ๏ผˆTaste๏ผ‰โ€ๅ˜ๅพ—ๆ— ๆฏ”้‡่ฆใ€‚ๅคๅˆๅž‹ไบบๆ‰ๅฟ…้กปๆ‹ฅๆœ‰ๆž้ซ˜็š„ๅฎก็พŽ็œผๅ…‰ไธŽๅˆคๅˆซ่ƒฝๅŠ›๏ผŒ่ฟ™็ง่ƒฝๅŠ›ๆ— ๆณ•้€š่ฟ‡็ฎ—ๆณ•ไน ๅพ—ใ€‚ๅฝ“ๆˆ‘ไปฌ้ขๅฏน AI ็ป™ๅ‡บ็š„ๅคšไธช่งฃๅ†ณๆ–นๆกˆๆ—ถ๏ผŒ้œ€่ฆๆ•้”ๅœฐๅˆคๆ–ญๅ“ชไธชๆ–นๆกˆไธไป…ๅฏ่กŒ๏ผŒ่€Œไธ”่ถณๅคŸโ€œไผ˜้›…โ€ใ€‚ๅ“ๅ‘ณ๏ผŒๅฐ†ๆˆไธบๆˆ‘ไปฌๅœจ AI ่‡ชๅŠจ้ฉพ้ฉถๆตชๆฝฎไธญๆŠŠ็จณๆ–นๅ‘็›˜็š„ๆ ธๅฟƒ่ต„ไบงใ€‚

4. ไฟๆŒ็œŸ่ฏšไธŽโ€œๆ‰“็ ด่ง„ๅˆ™โ€็š„ๅ‹‡ๆฐ”๏ผšๆŠตๆŠ— AI ็š„โ€œๅนป่ง‰โ€ไธŽๅนณๅบธ โ€‹

ใ€ๅŽŸๆ–‡็ฒพ้ซ“ใ€‘

โ€œ่ฆๆ‰พๅˆฐๆ–ฐ็š„ๆƒณๆณ•๏ผŒๅฐฑๅฟ…้กปๆŠ“ไฝไธๅˆ็†็š„่ฟน่ฑก๏ผŒ่€Œไธๆ˜ฏ้ฟ่€Œไธ่งใ€‚โ€ PG ๅœจๆ–‡็ซ ไธญๅๅคๅผบ่ฐƒ็‹ฌ็ซ‹ๆ€่€ƒ๏ผˆๆ— ่ฎบๆ˜ฏไธปๅŠจ่ฟ˜ๆ˜ฏ่ขซๅŠจ็š„๏ผ‰ไธŽ็œŸ่ฏš๏ผˆIntellectual Honesty๏ผŒๆ™บๅŠ›่ฏšๅฎž๏ผ‰็š„ๅŠ›้‡ใ€‚ไธ€ไธชๅฅฝ็š„ๆ–ฐๆƒณๆณ•๏ผŒไธ€ๅผ€ๅง‹ๅพ€ๅพ€ๆ˜ฏไธๅ—ๅพ…่ง็š„ใ€‚

ใ€ๆˆ‘็š„ไฝ“ไผšใ€‘

ๅคงๆจกๅž‹ๆ˜ฏๅŸบไบŽโ€œไบบ็ฑป็Žฐๆœ‰ๅ…ฑ่ฏ†๏ผˆ่ฏญๆ–™ๅบ“๏ผ‰โ€่ฎญ็ปƒๅ‡บๆฅ็š„ไบง็‰ฉ๏ผŒ่ฟ™ไนŸๆ„ๅ‘ณ็€ๅฆ‚ๆžœๅชไพ่ต– AI ็š„่พ“ๅ‡บ๏ผŒๆˆ‘ไปฌๅฐ†ๆฐธ่ฟœๅœจๅทฒ็Ÿฅ็š„่ˆ’้€‚ๅŒบๅ†…ๆ‰“่ฝฌใ€‚็œŸๆญฃโ€œไผŸๅคงโ€็š„ๅˆ›ๆ–ฐ๏ผŒๅฟ…็„ถๆ˜ฏๅฏน็Žฐๆœ‰ๅธธ่ฏ†็š„้ข ่ฆ†ไธŽ่กฅๅ……ใ€‚

่ฟ™ๅฐฑ่ฆๆฑ‚ๅคๅˆๅž‹ไบบๆ‰ๅฟ…้กปๅ…ทๅค‡ๆžๅบฆ็š„โ€œๆ™บๅŠ›่ฏšๅฎžโ€ใ€‚ๆˆ‘ไปฌ่ฆๆŠŠ AI ๅฝ“ไฝœๅทฅๅ…ทๅŽป้ชŒ่ฏๅ‡่ฎพ๏ผŒไฝ†ๅœจ AI ็ป™ๅ‡บ็œ‹ไผผๅฎŒ็พŽ็š„ๅธธ่ง„่งฃ็ญ”ๆ—ถ๏ผŒๆˆ‘ไปฌ่ฆๆ•ขไบŽ่ฏด๏ผšโ€œไธ๏ผŒ่ฟ™้‡Œ่ฟ˜ๆœ‰็ผบ้™ทใ€‚โ€

ๅฝ“ๆ‰€ๆœ‰ไบบ้ƒฝๆฒ‰ๆตธๅœจๆŸ็ง็ƒญ้—จๆŠ€ๆœฏๆˆ–ๆก†ๆžถไธญๆ—ถ๏ผŒๆˆ‘ไปฌ่ฆๆ•ขไบŽๅƒ PG ่ฏด็š„้‚ฃๆ ท๏ผŒ้€‰ๆ‹ฉๅ†ท้—จไฝ†ๅ…ทๆœ‰ๆžๅคงๆฝœๅŠ›็š„โ€œ้—ฎ้ข˜็ฉบ้—ดโ€ใ€‚ๅœจ AI ๆ—ถไปฃ๏ผŒไฝ ็š„ๅŽŸๅˆ›ๆ€ง๏ผŒๆฐๆฐไฝ“็Žฐๅœจไฝ ๆ•ขไบŽๅœจ AI ็ป™ๅ‡บโ€œๆ ‡ๅ‡†็ญ”ๆกˆโ€ๆ—ถ๏ผŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป่ฟฝ้—ฎไธ€ไธช็œ‹ไผผ็–ฏ็‹‚ไฝ†ๅฑžไบŽโ€œๆญฃ็กฎ็ฑปๅˆซโ€็š„้—ฎ้ข˜ใ€‚

5. ๅคๅˆๆŒ‡ๆ•ฐๅขž้•ฟ๏ผšไปฅๅฐ่งๅคง็š„่กŒๅŠจๅŠ› โ€‹

ใ€ๅŽŸๆ–‡็ฒพ้ซ“ใ€‘

โ€œๆŒ‡ๆ•ฐๅขž้•ฟ็š„้—ฎ้ข˜ๅœจไบŽๆ›ฒ็บฟๅœจๅผ€ๅง‹ๆ—ถ็ป™ไบบ็š„ๆ„Ÿ่ง‰ๅพˆๅนณ๏ผŒไฝ†ๅฎƒไธๆ˜ฏใ€‚โ€ PG ๆŒ‡ๅ‡บ๏ผšๆฐๅ‡บๆˆๅฐฑ็š„็ดฏ็งฏๆ•ˆๅบ”ๆ˜ฏ่ขซไธฅ้‡ไฝŽไผฐ็š„๏ผŒๅ…ณ้”ฎๅœจไบŽไธ€่‡ดๆ€งใ€‚ๅŒๆ—ถ๏ผŒๆˆ‘ไปฌไธ้œ€่ฆๅšๅบžๅคง็š„่ฎกๅˆ’๏ผŒๅช้œ€่ฆๅšโ€œๅฏ่ƒฝๆœ‰็”จ็š„ๆœ€็ฎ€ๅ•็š„ไธœ่ฅฟโ€๏ผŒๅนถๅœจๅฎž่ทตไธญไธๆ–ญๆผ”ๅŒ–ใ€‚

ใ€ๆˆ‘็š„ไฝ“ไผšใ€‘

ๅœจ่ฟ™ไธ€่Š‚๏ผŒPG ็š„่ง‚็‚นไธŽโ€œๆ•ๆทๅผ€ๅ‘โ€ไธ่ฐ‹่€Œๅˆใ€‚ไฝ†ๅœจไปŠๅคฉ๏ผŒๆœ‰ไบ† AI ๅŠ ๆŒ๏ผŒไธชไบบๅผ€ๅ‘่€…็š„โ€œๅคๅˆๆ ๆ†็އโ€่ขซๆ— ้™ๆ”พๅคงไบ†ใ€‚

่ฟ‡ๅŽป๏ผŒๆ‰“้€ ไธ€ไธชๆœ€ๅฐๅฏ่กŒๆ€งไบงๅ“๏ผˆMVP๏ผ‰ๅพ€ๅพ€้œ€่ฆๆ•ฐๅ‘จๆ—ถ้—ดใ€‚ๅฆ‚ไปŠ๏ผŒๅœจ AI ็ผ–็จ‹ๅทฅๅ…ท็š„ๅŠฉๅŠ›ไธ‹๏ผŒไธ€ไธชๅ…ทๅค‡ๅคๅˆ่ƒฝๅŠ›็š„ไบบๆ‰ๆˆ–่ฎธๅช้œ€ไธ€ไธชๅ‘จๆœซๅฐฑ่ƒฝๅฎŒๆˆๅŽŸๅž‹็š„ๆญๅปบไธŽ้ชŒ่ฏใ€‚่ฟ™ๆ„ๅ‘ณ็€"ไปฅ้กน็›ฎไธบๅ•ไฝ็š„ๆ‹–ๅปถ"ๅœจๅฝ“ไธ‹ๅ˜ๅพ—ๆ„ˆๅ‘ไธๅฏๆ‰ฟๅ—ใ€‚

AI ๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒไธๅ†ๆ˜ฏๆ‹ฅๆœ‰ๅ•ไธ€ๆทฑๅŽšๆŠ€่ƒฝ็š„่žบไธ้’‰๏ผŒ่€Œๆ˜ฏ่ƒฝๅคŸไธ€ไบบๆ‰ฟๆ‹…โ€œไบงๅ“็ป็† + ๅ…จๆ ˆๅทฅ็จ‹ๅธˆ + ่ฟ่ฅโ€่ง’่‰ฒ็š„่ถ…็บงไธชไฝ“ใ€‚ไธ€ๆ—ฆๆ‰พๅˆฐ้‚ฃไธชไปคไฝ ไบง็”Ÿๆทฑๅบฆๅ…ด่ถฃ็š„ๅˆ‡ๅ…ฅ็‚น๏ผŒๅนถๆŒ็ปญๆทฑ่€•๏ผŒไฝ ็š„ๆˆ้•ฟๆ›ฒ็บฟๅฐ†ๅœจๆž็Ÿญๆ—ถ้—ดๅ†…่ฟŽๆฅๆƒŠไบบ็š„ๆŒ‡ๆ•ฐ็บง่ทƒๅ‡ใ€‚

6. ๅœจ็ฎ—ๅŠ›้ขๅ‰ไฟๆŒๆ•ฌ็•๏ผŒๅœจๆœบๅ™จ้ขๅ‰ไฟๆŒๅฅฝๅฅ‡ โ€‹

้€š่ฏป PG ่ฟ™็ฏ‡ไธ‡ๅญ—้•ฟๆ–‡๏ผŒๅฆ‚ๆžœ่ฆ้—ฎ๏ผšๅœจ่ฟ™ไธชๆŠ€ๆœฏๅคฉ็ฟปๅœฐ่ฆ†็š„ๆ—ถไปฃ๏ผŒๅ–ๅพ—ๆˆๅฐฑ็ฉถ็ซŸๆœ‰ไป€ไนˆไธๅฏๆ›ฟไปฃ็š„็ง˜่ฏ€๏ผŸๆ–‡็ซ ็ป™ๅ‡บ็š„ๆœ€็ปˆ็ญ”ๆกˆๆ˜ฏโ€”โ€”ๅฅฝๅฅ‡ๅฟƒใ€‚

AI ๅฏไปฅๆจกไปฟ่ฏญๆฐ”๏ผŒๅฏไปฅ็”Ÿๆˆไปฃ็ ๏ผŒๅฏไปฅ่ฎก็ฎ—ๆฆ‚็އ๏ผŒๅดๆ— ๆณ•ๆ‹ฅๆœ‰็œŸๆญฃ่‡ชๅ‘็š„ๅฅฝๅฅ‡ๅฟƒใ€‚ๅฎƒไธไผšไธบไธ€ไธชๅพฎๅฐ็š„ไธๅˆ็†็Žฐ่ฑก่€ŒๆŠ“็‹‚๏ผŒไนŸไธไผšไธบไบ†ไธ€ไธชๆœช็Ÿฅ็š„็ญ”ๆกˆๅฝปๅคœ้šพ็œ ใ€‚

่ฟ™ๆญฃๆ˜ฏๆˆ‘ไปฌไฝœไธบไบบ็ฑปๆœ€ๅŽ็š„ๅบ•็‰Œใ€‚ๅŽป่ฟฝๅฏป้‚ฃไบ›่ฎฉไฝ ๅ…ดๅฅ‹ไธๅทฒใ€่ฎฉไฝ "่ฟ‡ๅˆ†"ๅฅฝๅฅ‡็š„้—ฎ้ข˜ๅงโ€”โ€”ๅ€ŸๅŠฉ AI ็š„็ฎ—ๅŠ›่ทจ่ถŠๆ‰ง่กŒ็š„้ธฟๆฒŸ๏ผŒไปฅๆž้ซ˜็š„ๅ“ๅ‘ณๅŽป็”„ๅˆซ็ญ›้€‰๏ผŒ็”จไธๅฆฅๅ็š„็œŸ่ฏšๅŽปๆทฑๅ…ฅๆŽข็ดขใ€‚

ๅ‰ฉไธ‹็š„๏ผŒๆญฃๅฆ‚ไฟ็ฝ—ยทๆ ผ้›ทๅŽ„ๅง†ๆ‰€่ฏด๏ผš"่ฟ˜ๆœ‰ๅพˆๅคšๅ‘็Žฐๆญฃ็ญ‰ๅพ…็€่ขซๅ‘็Žฐ๏ผŒไธบไป€ไนˆไธ็”ฑๆˆ‘ไปฌ่‡ชๅทฑๅŽปๅ‘็Žฐๅ‘ข๏ผŸ"

',24)])])}const I=a(r,[["render",i]]);export{A as __pageData,I as default}; diff --git "a/assets/10.\344\272\247\345\223\201 Sense_02.\346\226\260 T \345\236\213\344\272\272_20.\350\257\273\345\220\216\346\204\237\357\274\232AI \345\216\237\347\224\237\346\227\266\344\273\243\347\232\204\345\244\215\345\220\210\345\236\213\344\272\272\346\211\215\357\274\214\347\251\266\347\253\237\351\234\200\350\246\201\346\200\216\346\240\267\347\232\204\347\211\271\350\264\250\357\274\237.md.Du3qZ8xB.lean.js" "b/assets/10.\344\272\247\345\223\201 Sense_02.\346\226\260 T \345\236\213\344\272\272_20.\350\257\273\345\220\216\346\204\237\357\274\232AI \345\216\237\347\224\237\346\227\266\344\273\243\347\232\204\345\244\215\345\220\210\345\236\213\344\272\272\346\211\215\357\274\214\347\251\266\347\253\237\351\234\200\350\246\201\346\200\216\346\240\267\347\232\204\347\211\271\350\264\250\357\274\237.md.Xe0P5HJr.lean.js" similarity index 96% rename from "assets/10.\344\272\247\345\223\201 Sense_02.\346\226\260 T \345\236\213\344\272\272_20.\350\257\273\345\220\216\346\204\237\357\274\232AI \345\216\237\347\224\237\346\227\266\344\273\243\347\232\204\345\244\215\345\220\210\345\236\213\344\272\272\346\211\215\357\274\214\347\251\266\347\253\237\351\234\200\350\246\201\346\200\216\346\240\267\347\232\204\347\211\271\350\264\250\357\274\237.md.Du3qZ8xB.lean.js" rename to "assets/10.\344\272\247\345\223\201 Sense_02.\346\226\260 T \345\236\213\344\272\272_20.\350\257\273\345\220\216\346\204\237\357\274\232AI \345\216\237\347\224\237\346\227\266\344\273\243\347\232\204\345\244\215\345\220\210\345\236\213\344\272\272\346\211\215\357\274\214\347\251\266\347\253\237\351\234\200\350\246\201\346\200\216\346\240\267\347\232\204\347\211\271\350\264\250\357\274\237.md.Xe0P5HJr.lean.js" index 6626ce92..533e9eb9 100644 --- "a/assets/10.\344\272\247\345\223\201 Sense_02.\346\226\260 T \345\236\213\344\272\272_20.\350\257\273\345\220\216\346\204\237\357\274\232AI \345\216\237\347\224\237\346\227\266\344\273\243\347\232\204\345\244\215\345\220\210\345\236\213\344\272\272\346\211\215\357\274\214\347\251\266\347\253\237\351\234\200\350\246\201\346\200\216\346\240\267\347\232\204\347\211\271\350\264\250\357\274\237.md.Du3qZ8xB.lean.js" +++ "b/assets/10.\344\272\247\345\223\201 Sense_02.\346\226\260 T \345\236\213\344\272\272_20.\350\257\273\345\220\216\346\204\237\357\274\232AI \345\216\237\347\224\237\346\227\266\344\273\243\347\232\204\345\244\215\345\220\210\345\236\213\344\272\272\346\211\215\357\274\214\347\251\266\347\253\237\351\234\200\350\246\201\346\200\216\346\240\267\347\232\204\347\211\271\350\264\250\357\274\237.md.Xe0P5HJr.lean.js" @@ -1 +1 @@ -import{_ as a,g as o,h as e,U as s}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const A=JSON.parse('{"title":"่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡็ป“ๅˆไฟ็ฝ—ใƒปๆ ผ้›ทๅŽ„ๅง†ใ€ŠHow to Do Great Workใ€‹ๆ ธๅฟƒ่ง‚็‚น๏ผŒๆŽข่ฎจ AI ๅŽŸ็”Ÿๆ—ถไปฃๅคๅˆๅž‹ไบบๆ‰็š„ๆ ธๅฟƒ็‰น่ดจใ€‚AI ่ฎฉๅŸบ็ก€ๆ‰ง่กŒ่ƒฝๅŠ›ๅฟซ้€Ÿ่ดฌๅ€ผ๏ผŒไบบๆ‰็š„ๆ ธๅฟƒๅฃๅž’ไธๅ†ๆ˜ฏ่งฃๅ†ณ้—ฎ้ข˜๏ผŒ่€Œๆ˜ฏๆๅ‡บไผ˜่ดจ้—ฎ้ข˜ใ€ๅŸนๅ…ป้žๅ…ฑ่ฏ†ๅ“ๅ‘ณใ€‚ๅŒๆ—ถ้œ€ๅšๅฎˆๆ™บๅŠ›่ฏšๅฎž๏ผŒๆ‹ฅๆœ‰ๆ‰“็ ดๅธธ่ง„็š„ๅˆ›ๆ–ฐๅ‹‡ๆฐ”๏ผŒๅ€ŸๅŠฉ AI ๆ”พๅคงไธชไบบๆˆ้•ฟๆ ๆ†๏ผŒไปฅๅฐๅˆ‡ๅฃๅฎž่ทตๅฎž็ŽฐๆŒ‡ๆ•ฐ็บงๆˆ้•ฟใ€‚ไบบ็ฑป็‹ฌๆœ‰็š„ๅฅฝๅฅ‡ๅฟƒ๏ผŒๆ˜ฏ็ช็ ด AI ๅนณๅบธใ€ๅ–ๅพ—ๆฐๅ‡บๆˆๅฐฑ็š„ๆœ€็ปˆๅบ•ๆฐ”ใ€‚","frontmatter":{"date":"2024-06-15T22:23:00.000Z","title":"่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡็ป“ๅˆไฟ็ฝ—ใƒปๆ ผ้›ทๅŽ„ๅง†ใ€ŠHow to Do Great Workใ€‹ๆ ธๅฟƒ่ง‚็‚น๏ผŒๆŽข่ฎจ AI ๅŽŸ็”Ÿๆ—ถไปฃๅคๅˆๅž‹ไบบๆ‰็š„ๆ ธๅฟƒ็‰น่ดจใ€‚AI ่ฎฉๅŸบ็ก€ๆ‰ง่กŒ่ƒฝๅŠ›ๅฟซ้€Ÿ่ดฌๅ€ผ๏ผŒไบบๆ‰็š„ๆ ธๅฟƒๅฃๅž’ไธๅ†ๆ˜ฏ่งฃๅ†ณ้—ฎ้ข˜๏ผŒ่€Œๆ˜ฏๆๅ‡บไผ˜่ดจ้—ฎ้ข˜ใ€ๅŸนๅ…ป้žๅ…ฑ่ฏ†ๅ“ๅ‘ณใ€‚ๅŒๆ—ถ้œ€ๅšๅฎˆๆ™บๅŠ›่ฏšๅฎž๏ผŒๆ‹ฅๆœ‰ๆ‰“็ ดๅธธ่ง„็š„ๅˆ›ๆ–ฐๅ‹‡ๆฐ”๏ผŒๅ€ŸๅŠฉ AI ๆ”พๅคงไธชไบบๆˆ้•ฟๆ ๆ†๏ผŒไปฅๅฐๅˆ‡ๅฃๅฎž่ทตๅฎž็ŽฐๆŒ‡ๆ•ฐ็บงๆˆ้•ฟใ€‚ไบบ็ฑป็‹ฌๆœ‰็š„ๅฅฝๅฅ‡ๅฟƒ๏ผŒๆ˜ฏ็ช็ ด AI ๅนณๅบธใ€ๅ–ๅพ—ๆฐๅ‡บๆˆๅฐฑ็š„ๆœ€็ปˆๅบ•ๆฐ”ใ€‚","coverImg":"/img/cover/product_sense_bg.png","permalink":"/product-sense/ai-native-composite-talents","categories":["ไบงๅ“ Sense"],"tags":["AI","ๆˆ้•ฟ"]},"headers":[],"relativePath":"10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/20.่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ.md","filePath":"10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/20.่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ.md"}'),r={name:"10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/20.่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ.md"};function i(l,t,p,n,c,d){return e(),o("div",null,[...t[0]||(t[0]=[s("",24)])])}const I=a(r,[["render",i]]);export{A as __pageData,I as default}; +import{_ as a,g as o,h as e,U as s}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const A=JSON.parse('{"title":"่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡็ป“ๅˆไฟ็ฝ—ใƒปๆ ผ้›ทๅŽ„ๅง†ใ€ŠHow to Do Great Workใ€‹ๆ ธๅฟƒ่ง‚็‚น๏ผŒๆŽข่ฎจ AI ๅŽŸ็”Ÿๆ—ถไปฃๅคๅˆๅž‹ไบบๆ‰็š„ๆ ธๅฟƒ็‰น่ดจใ€‚AI ่ฎฉๅŸบ็ก€ๆ‰ง่กŒ่ƒฝๅŠ›ๅฟซ้€Ÿ่ดฌๅ€ผ๏ผŒไบบๆ‰็š„ๆ ธๅฟƒๅฃๅž’ไธๅ†ๆ˜ฏ่งฃๅ†ณ้—ฎ้ข˜๏ผŒ่€Œๆ˜ฏๆๅ‡บไผ˜่ดจ้—ฎ้ข˜ใ€ๅŸนๅ…ป้žๅ…ฑ่ฏ†ๅ“ๅ‘ณใ€‚ๅŒๆ—ถ้œ€ๅšๅฎˆๆ™บๅŠ›่ฏšๅฎž๏ผŒๆ‹ฅๆœ‰ๆ‰“็ ดๅธธ่ง„็š„ๅˆ›ๆ–ฐๅ‹‡ๆฐ”๏ผŒๅ€ŸๅŠฉ AI ๆ”พๅคงไธชไบบๆˆ้•ฟๆ ๆ†๏ผŒไปฅๅฐๅˆ‡ๅฃๅฎž่ทตๅฎž็ŽฐๆŒ‡ๆ•ฐ็บงๆˆ้•ฟใ€‚ไบบ็ฑป็‹ฌๆœ‰็š„ๅฅฝๅฅ‡ๅฟƒ๏ผŒๆ˜ฏ็ช็ ด AI ๅนณๅบธใ€ๅ–ๅพ—ๆฐๅ‡บๆˆๅฐฑ็š„ๆœ€็ปˆๅบ•ๆฐ”ใ€‚","frontmatter":{"date":"2024-06-15T22:23:00.000Z","title":"่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡็ป“ๅˆไฟ็ฝ—ใƒปๆ ผ้›ทๅŽ„ๅง†ใ€ŠHow to Do Great Workใ€‹ๆ ธๅฟƒ่ง‚็‚น๏ผŒๆŽข่ฎจ AI ๅŽŸ็”Ÿๆ—ถไปฃๅคๅˆๅž‹ไบบๆ‰็š„ๆ ธๅฟƒ็‰น่ดจใ€‚AI ่ฎฉๅŸบ็ก€ๆ‰ง่กŒ่ƒฝๅŠ›ๅฟซ้€Ÿ่ดฌๅ€ผ๏ผŒไบบๆ‰็š„ๆ ธๅฟƒๅฃๅž’ไธๅ†ๆ˜ฏ่งฃๅ†ณ้—ฎ้ข˜๏ผŒ่€Œๆ˜ฏๆๅ‡บไผ˜่ดจ้—ฎ้ข˜ใ€ๅŸนๅ…ป้žๅ…ฑ่ฏ†ๅ“ๅ‘ณใ€‚ๅŒๆ—ถ้œ€ๅšๅฎˆๆ™บๅŠ›่ฏšๅฎž๏ผŒๆ‹ฅๆœ‰ๆ‰“็ ดๅธธ่ง„็š„ๅˆ›ๆ–ฐๅ‹‡ๆฐ”๏ผŒๅ€ŸๅŠฉ AI ๆ”พๅคงไธชไบบๆˆ้•ฟๆ ๆ†๏ผŒไปฅๅฐๅˆ‡ๅฃๅฎž่ทตๅฎž็ŽฐๆŒ‡ๆ•ฐ็บงๆˆ้•ฟใ€‚ไบบ็ฑป็‹ฌๆœ‰็š„ๅฅฝๅฅ‡ๅฟƒ๏ผŒๆ˜ฏ็ช็ ด AI ๅนณๅบธใ€ๅ–ๅพ—ๆฐๅ‡บๆˆๅฐฑ็š„ๆœ€็ปˆๅบ•ๆฐ”ใ€‚","coverImg":"/img/cover/product_sense_bg.png","permalink":"/product-sense/ai-native-composite-talents","categories":["ไบงๅ“ Sense"],"tags":["AI","ๆˆ้•ฟ"]},"headers":[],"relativePath":"10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/20.่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ.md","filePath":"10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/20.่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ.md"}'),r={name:"10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/20.่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ.md"};function i(l,t,p,n,c,d){return e(),o("div",null,[...t[0]||(t[0]=[s("",24)])])}const I=a(r,[["render",i]]);export{A as __pageData,I as default}; diff --git "a/assets/10.\344\272\247\345\223\201 Sense_02.\346\226\260 T \345\236\213\344\272\272_21.\345\267\245\347\250\213\345\270\210\345\246\202\344\275\225\346\236\204\345\273\272\344\272\247\345\223\201 Sense.md.JciUte9l.js" "b/assets/10.\344\272\247\345\223\201 Sense_02.\346\226\260 T \345\236\213\344\272\272_21.\345\267\245\347\250\213\345\270\210\345\246\202\344\275\225\346\236\204\345\273\272\344\272\247\345\223\201 Sense.md.CO18rPj4.js" similarity index 99% rename from "assets/10.\344\272\247\345\223\201 Sense_02.\346\226\260 T \345\236\213\344\272\272_21.\345\267\245\347\250\213\345\270\210\345\246\202\344\275\225\346\236\204\345\273\272\344\272\247\345\223\201 Sense.md.JciUte9l.js" rename to "assets/10.\344\272\247\345\223\201 Sense_02.\346\226\260 T \345\236\213\344\272\272_21.\345\267\245\347\250\213\345\270\210\345\246\202\344\275\225\346\236\204\345\273\272\344\272\247\345\223\201 Sense.md.CO18rPj4.js" index 2d2f0da0..9ca84b61 100644 --- "a/assets/10.\344\272\247\345\223\201 Sense_02.\346\226\260 T \345\236\213\344\272\272_21.\345\267\245\347\250\213\345\270\210\345\246\202\344\275\225\346\236\204\345\273\272\344\272\247\345\223\201 Sense.md.JciUte9l.js" +++ "b/assets/10.\344\272\247\345\223\201 Sense_02.\346\226\260 T \345\236\213\344\272\272_21.\345\267\245\347\250\213\345\270\210\345\246\202\344\275\225\346\236\204\345\273\272\344\272\247\345\223\201 Sense.md.CO18rPj4.js" @@ -1 +1 @@ -import{_ as s,g as t,h as n,U as m}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const h=JSON.parse('{"title":"ๅฝ“โ€œๅฎž็Žฐโ€ไธๅ†ๆ˜ฏๅฃๅž’๏ผšๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense๏ผŸ","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ AI ่ฎฉไปฃ็ ็”Ÿๆˆ็š„่พน้™…ๆˆๆœฌ่ถ‹่ฟ‘ไบŽ้›ถ๏ผŒโ€œๆŠ€ๆœฏๅฎž็Žฐโ€ไธๅ†ๆ˜ฏไธๅฏ้€พ่ถŠ็š„ๅฃๅž’๏ผŒโ€œไบงๅ“ๆดžๅฏŸโ€่ƒฝๆž„็ญ‘่ตทๆ–ฐ็š„ๆ ธๅฟƒๆŠคๅŸŽๆฒณใ€‚ๆœฌๆ–‡ๆ‹’็ป็Ž„ๅญฆ๏ผŒๅฐ†ๆŠฝ่ฑก็š„ ไบงๅ“ Sense ่งฃๆž„ไธบไธ‰ไธชๆ ธๅฟƒๆ•ฐๅญฆๅ…ฌๅผ๏ผŒๅนถๆไพ›ไธ€ๅฅ—ๅŸบไบŽโ€œ้€†ๅ‘ๅทฅ็จ‹โ€็š„ๅˆปๆ„็ปƒไน ๆŒ‡ๅ—๏ผŒๅŠฉๅŠ›ๅผ€ๅ‘่€…ๅœจ็ฎ—ๅŠ›่ฟ‡ๅ‰ฉ็š„ๆ—ถไปฃ๏ผŒๅฎŒๆˆไปŽโ€œไปฃ็ ๅทฅๅŒ โ€ๅˆฐโ€œไปทๅ€ผๅˆ›้€ ่€…โ€็š„่ฎค็Ÿฅ่ทƒ่ฟใ€‚","frontmatter":{"date":"2025-10-23T16:05:50.000Z","title":"ๅฝ“โ€œๅฎž็Žฐโ€ไธๅ†ๆ˜ฏๅฃๅž’๏ผšๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense๏ผŸ","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ AI ่ฎฉไปฃ็ ็”Ÿๆˆ็š„่พน้™…ๆˆๆœฌ่ถ‹่ฟ‘ไบŽ้›ถ๏ผŒโ€œๆŠ€ๆœฏๅฎž็Žฐโ€ไธๅ†ๆ˜ฏไธๅฏ้€พ่ถŠ็š„ๅฃๅž’๏ผŒโ€œไบงๅ“ๆดžๅฏŸโ€่ƒฝๆž„็ญ‘่ตทๆ–ฐ็š„ๆ ธๅฟƒๆŠคๅŸŽๆฒณใ€‚ๆœฌๆ–‡ๆ‹’็ป็Ž„ๅญฆ๏ผŒๅฐ†ๆŠฝ่ฑก็š„ ไบงๅ“ Sense ่งฃๆž„ไธบไธ‰ไธชๆ ธๅฟƒๆ•ฐๅญฆๅ…ฌๅผ๏ผŒๅนถๆไพ›ไธ€ๅฅ—ๅŸบไบŽโ€œ้€†ๅ‘ๅทฅ็จ‹โ€็š„ๅˆปๆ„็ปƒไน ๆŒ‡ๅ—๏ผŒๅŠฉๅŠ›ๅผ€ๅ‘่€…ๅœจ็ฎ—ๅŠ›่ฟ‡ๅ‰ฉ็š„ๆ—ถไปฃ๏ผŒๅฎŒๆˆไปŽโ€œไปฃ็ ๅทฅๅŒ โ€ๅˆฐโ€œไปทๅ€ผๅˆ›้€ ่€…โ€็š„่ฎค็Ÿฅ่ทƒ่ฟใ€‚","sticky":1,"top":true,"categories":["ไบงๅ“ Sense","AI"],"coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/product_sense_bg.png","permalink":"/product-sense/engineer-build-product-sense"},"headers":[],"relativePath":"10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/21.ๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense.md","filePath":"10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/21.ๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense.md"}'),i={name:"10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/21.ๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense.md"};function o(e,a,l,r,p,d){return n(),t("div",null,[...a[0]||(a[0]=[m('

ๅฝ“โ€œๅฎž็Žฐโ€ไธๅ†ๆ˜ฏๅฃๅž’๏ผšๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense๏ผŸ โ€‹

ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ AI ่ฎฉไปฃ็ ็”Ÿๆˆ็š„่พน้™…ๆˆๆœฌ่ถ‹่ฟ‘ไบŽ้›ถ๏ผŒโ€œๆŠ€ๆœฏๅฎž็Žฐโ€ไธๅ†ๆ˜ฏไธๅฏ้€พ่ถŠ็š„ๅฃๅž’๏ผŒโ€œไบงๅ“ๆดžๅฏŸโ€่ƒฝๆž„็ญ‘่ตทๆ–ฐ็š„ๆ ธๅฟƒๆŠคๅŸŽๆฒณใ€‚ๆœฌๆ–‡ๆ‹’็ป็Ž„ๅญฆ๏ผŒๅฐ†ๆŠฝ่ฑก็š„ ไบงๅ“ Sense ่งฃๆž„ไธบไธ‰ไธชๆ ธๅฟƒๆ•ฐๅญฆๅ…ฌๅผ๏ผŒๅนถๆไพ›ไธ€ๅฅ—ๅŸบไบŽโ€œ้€†ๅ‘ๅทฅ็จ‹โ€็š„ๅˆปๆ„็ปƒไน ๆŒ‡ๅ—๏ผŒๅŠฉๅŠ›ๅผ€ๅ‘่€…ๅœจ็ฎ—ๅŠ›่ฟ‡ๅ‰ฉ็š„ๆ—ถไปฃ๏ผŒๅฎŒๆˆไปŽโ€œไปฃ็ ๅทฅๅŒ โ€ๅˆฐโ€œไปทๅ€ผๅˆ›้€ ่€…โ€็š„่ฎค็Ÿฅ่ทƒ่ฟใ€‚

1. ๅผ•่จ€ โ€‹

ๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒไบงๅ“ Sense๏ผˆไบงๅ“ๆ„Ÿ๏ผ‰ ่ขซ่ง†ไธบไธ€็ง็Ž„ๅญฆใ€‚ๅฎƒไผผไนŽๆ˜ฏไน”ๅธƒๆ–ฏๅผ็š„็ตๅ…‰ไธ€็Žฐ๏ผŒๆˆ–ๆ˜ฏๅผ ๅฐ้พ™ๅผ็š„โ€œ็‹ฌๆ–ญไธ“่กŒโ€ใ€‚

ไฝ†ๅฏนไบŽๅคงๅคšๆ•ฐๅทฅ็จ‹ๅธˆใ€ไบงๅ“็ป็†ไนƒ่‡ณ็‹ฌ็ซ‹ๅผ€ๅ‘่€…่€Œ่จ€๏ผŒๅฐ†่ƒฝๅŠ›ๅฏ„ๆ‰˜ไบŽโ€œๅคฉ่ต‹โ€ๆ˜ฏๅฑ้™ฉ็š„ใ€‚ๆˆ‘่ฎคไธบ๏ผŒไบงๅ“ Sense ๅนถ้žไธๅฏๆ‰ๆ‘ธ็š„้ป‘้ญ”ๆณ•๏ผŒ่€Œๆ˜ฏไธ€ๅฅ—็ป่ฟ‡้ซ˜้ข‘่ฎญ็ปƒๅŽๅ†…ๅŒ–ไธบๆœฌ่ƒฝ็š„ๆ€็ปด็ฎ—ๆณ•ใ€‚ ๅฐฑๅƒ่ต„ๆทฑ็จ‹ๅบๅ‘˜็œ‹ๅˆฐไธ€ๆฎตไปฃ็ ๅฐฑ่ƒฝๅ—…ๅ‡บ "Code Smell"๏ผˆไปฃ็ ๅผ‚ๅ‘ณ๏ผ‰๏ผŒ่ต„ๆทฑไบงๅ“ไบบไนŸ่ƒฝๅœจ็žฌ้—ดๅˆคๆ–ญไธ€ไธช้œ€ๆฑ‚ๆ˜ฏโ€œ็œŸ็—›็‚นโ€่ฟ˜ๆ˜ฏโ€œไผช้œ€ๆฑ‚โ€ใ€‚

ไธ€ไธชๆˆๅŠŸ็š„ไบงๅ“ๅ†ณ็ญ–๏ผŒๅพ€ๅพ€ๅ‘็”Ÿๅœจไธ‰ไธช็ปดๅบฆ็š„ไบคๆฑ‡็‚น๏ผš

  • ็”จๆˆทไปทๅ€ผๆดžๅฏŸ๏ผˆUser Value Insight๏ผ‰๏ผšไธไป…ๅฌๆ‡‚็”จๆˆท่ฏดโ€œๆƒณ่ฆๆ›ดๅฟซ็š„้ฉฌโ€๏ผŒๆ›ด่ƒฝๆดžๅฏŸไป–ๅ…ถๅฎžโ€œๆƒณๆ›ดๅฟซๅˆฐ่พพ็›ฎ็š„ๅœฐโ€ใ€‚
  • ๅ•†ไธšๅฏ่กŒๆ€ง๏ผˆBusiness Viability๏ผ‰๏ผšไธไป…่ƒฝๅšๅ‡บๆฅ๏ผŒ่ฟ˜่ƒฝ็ฎ—ๅพ—่ฟ‡่ดฆใ€‚ๅƒ Dropbox ๆ—ฉๆœŸๅˆฉ็”จ็—…ๆฏ’ๅผ่ฃ‚ๅ˜้™ไฝŽ่Žทๅฎขๆˆๆœฌ๏ผŒๅฐฑๆ˜ฏๅ•†ไธšๅ—…่ง‰็š„ไฝ“็Žฐใ€‚
  • ๆŠ€ๆœฏๅฏๅฎž็Žฐๆ€ง๏ผˆTechnical Feasibility๏ผ‰๏ผšๅœจโ€œๅฎŒ็พŽ็š„ๆžถๆž„โ€ๅ’Œโ€œๆ˜Žๅคฉๅฐฑ่ƒฝไธŠ็บฟโ€ไน‹้—ดๆ‰พๅˆฐๅนณ่กกใ€‚ChatGPT ็š„็ˆ†ๅ‘๏ผŒๆญฃๆ˜ฏๆŠ€ๆœฏ็งฏ็ดฏ็ปˆไบŽ่ทจ่ฟ‡ไบ†โ€œๅฏ็”จๆ€ง้˜ˆๅ€ผโ€็š„ไธด็•Œ็‚นใ€‚

ไบงๅ“ Sense ๆ˜ฏไบงๅ“็ป็†ใ€่ฎพ่ฎกๅธˆไนƒ่‡ณๅˆ›ไธš่€…็ปๅธธ่ขซๆๅŠใ€ๅดไนŸ้šพไปฅ้‡ๅŒ–็š„่ƒฝๅŠ›ไน‹ไธ€ใ€‚ๅฎƒๅนถ้ž็Ž„ๅญฆ๏ผŒ่€Œๆ˜ฏไธ€ๅฅ—ๅฏๆ‹†่งฃใ€ๅฏ่ฎญ็ปƒใ€ๅฏ่ฟญไปฃ็š„ๆ€็ปดๆจกๅž‹๏ผšๅœจไฟกๆฏไธๅฎŒๆ•ดใ€็›ฎๆ ‡ๆจก็ณŠใ€่ต„ๆบๅ—้™็š„ๆƒ…ๅ†ตไธ‹๏ผŒไพ็„ถ่ƒฝๅฟซ้€Ÿๅˆคๆ–ญใ€Œๅšไป€ไนˆใ€ไธŽใ€Œไธๅšไป€ไนˆใ€๏ผŒๅนถ่ฎฉ็”จๆˆทๆ„ฟๆ„ไธบไน‹ไนฐๅ•ๆˆ–ๅœ็•™ใ€‚

2. ่งฃๆž„ไบงๅ“ Sense ็š„ๆ•ฐๅญฆไน‹็พŽ โ€‹

ๅฆ‚ๆžœๆŠŠไบงๅ“ Sense ไป…ไป…็œ‹ไฝœๆ˜ฏโ€œ็ตๅ…‰ไธ€็Žฐโ€็š„่‰บๆœฏ๏ผŒ้‚ฃๅฎƒๅฐฑๆ˜ฏไธๅฏๅคๅˆถ็š„้ป‘็›’ใ€‚ไฝœไธบๅทฅ็จ‹ๅธˆ๏ผŒๆˆ‘ไปฌๆ›ดไน ๆƒฏไบŽ้€่ฟ‡็Žฐ่ฑกๆŽขๅฏปๅบ•ๅฑ‚็š„่ฟ่กŒ่ง„ๅพ‹ใ€‚

ไบ‹ๅฎžไธŠ๏ผŒ้‚ฃไบ›็œ‹ไผผ็Ž„ๅฆ™็š„็›ด่ง‰ๅˆคๆ–ญ๏ผŒๅพ€ๅพ€ๆ˜ฏๆฝœๆ„่ฏ†ๅœจๆž็Ÿญๆ—ถ้—ดๅ†…ๅฎŒๆˆ็š„้ซ˜็ปด่ฎก็ฎ—ใ€‚ไธบไบ†่ฎฉ่ฟ™ไธชๆŠฝ่ฑกๆฆ‚ๅฟตๅ˜ๅพ—ๅฏ่งฃๆž„ใ€ๅฏ่ฎญ็ปƒ๏ผŒๆˆ‘ๅฐ่ฏ•็”จ็†ๆ€ง็š„ๆ•ฐๅญฆ่ฏญ่จ€ๆฅ้‡ๆž„ๆ„Ÿๆ€ง็š„ไบงๅ“็›ด่ง‰๏ผŒๅฐ†ๅ…ถๆ็‚ผไธบไปฅไธ‹ไธ‰ไธชๆ ธๅฟƒๅ…ฌๅผใ€‚

2.1. ๆž็ฎ€ๆ ๆ†ๅ…ฌๅผ๏ผšๅฏปๆ‰พ ROI ็š„ๆœ€ๅคง่งฃ โ€‹

NOTE

ๆ ธๅฟƒ้€ป่พ‘๏ผšๅ“่ถŠ็š„ไบงๅ“ๅ—…่ง‰๏ผˆไบงๅ“ Sense๏ผ‰ๆœฌ่ดจไธŠๆ˜ฏไธ€็งๅฏปๆ‰พโ€œ้ซ˜ๆ ๆ†่งฃโ€็š„่ƒฝๅŠ›๏ผŒๅฏนๆŠ•ๅ…ฅไบงๅ‡บๆฏ”๏ผˆROI๏ผ‰ๆž่‡ดๆ•ๆ„Ÿใ€‚ๅฎƒ่ฆๆฑ‚ๆˆ‘ไปฌๆ•้”ๅœฐๅ‘็Žฐ้‚ฃไบ› โ€œไปทๅ€ผๆž้ซ˜๏ผŒไฝ†ๅฎž็Žฐ่พƒไฝŽโ€ ็š„ไฝŽๅž‚ๆœบไผš๏ผˆLow Hanging Fruits๏ผ‰๏ผŒๅนถๆžœๆ–ญๆ”พๅผƒ้‚ฃไบ› โ€œไปทๅ€ผไฝŽๅˆๅพˆ้šพๅšโ€ ็š„ไผช้œ€ๆฑ‚๏ผˆ็œ‹ไผผ็พŽๅฅฝ๏ผŒๅฎžๅˆ™้™ทๅ…ฅๆŠ€ๆœฏๆณฅๆฝญ๏ผ‰ใ€‚

้€‚็”จๅœบๆ™ฏ๏ผšๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–ใ€Feature ๆŽ’ๆœŸไผ˜ๅ…ˆ็บงใ€MVP ่พน็•Œ็•Œๅฎšใ€‚

ๅฏนไบŽๆŠ€ๆœฏ่ƒŒๆ™ฏ็š„ๅผ€ๅ‘่€…๏ผŒๆœ€ๅคง็š„้™ท้˜ฑๅพ€ๅพ€ๆ˜ฏโ€œๅฏน่ฟ‡ๅบฆ่ฎพ่ฎก็š„่ฟทๆ‹โ€ ไธŽ โ€œไธบไบ†ๆŠ€ๆœฏ่€ŒๆŠ€ๆœฏ็š„่‡ชๆˆ‘ๆ„ŸๅŠจโ€ใ€‚ๅ› ไธบๆŽŒๆกไบ†ๆŸไธชๆ–ฐๆŠ€ๆœฏ๏ผŒๅฐฑๅผบ่กŒๅˆ›้€ ไธ€ไธช้œ€ๆฑ‚๏ผŒไฝ†ๅฅฝ็š„ Product Sense ๅ…ถๅฎžๆ˜ฏๆŠ•ๅ…ฅไบงๅ‡บๆฏ”๏ผˆROI๏ผ‰็š„็›ด่ง‰๏ผš

Productย Sense=Userย ValueComplexity\\mathbf{Product\\ Sense} \\; = \\; \\frac{\\mathbf{User\\ Value}}{\\mathbf{Complexity}}

  • ๅˆ†ๅญโ€”โ€”็”จๆˆทไปทๅ€ผ๏ผˆUser Value๏ผ‰๏ผš ็—›็‚น็ƒˆๅบฆ ร— ่ฆ†็›–ๅนฟๅบฆไธไป…ไป…ๆ˜ฏโ€œ่ฟ™ไธช้—ฎ้ข˜็—›ไธ็—›โ€๏ผŒ่€Œๆ˜ฏ่ฆ้‡ๅŒ–ๆ€่€ƒ๏ผš่ฟ™ๆ˜ฏไธ€ไธช้ซ˜้ข‘ๅˆš้œ€๏ผŒ่ฟ˜ๆ˜ฏไฝŽ้ข‘็—’็‚น๏ผŸ่งฃๅ†ณๅฎƒ่ƒฝไธบไธšๅŠกๅธฆๆฅๅคšๅคง็š„ๅขž้‡๏ผˆ็•™ๅญ˜ใ€่ฝฌๅŒ–ๆˆ–ๆ•ˆ็އๆๅ‡๏ผ‰๏ผŸ
  • ๅˆ†ๆฏโ€”โ€”ๅฎž็Žฐๅคๆ‚ๅบฆ๏ผˆComplexity๏ผ‰๏ผš ๅผ€ๅ‘ๆˆๆœฌ + ็ปดๆŠค็จŽๅคๆ‚ๅบฆไธไป…ๆ˜ฏ Coding ็š„ๆ—ถ้—ด๏ผŒๆ›ดๅŒ…ๅซๆœชๆฅ็š„็ปดๆŠคๆˆๆœฌใ€็ณป็ปŸ็†ตๅขžไปฅๅŠ็”จๆˆท่ฎค็Ÿฅ็š„่ดŸๆ‹…ใ€‚ๅ…จๆ ˆ็š„ๆ™บๆ…งๅœจไบŽ๏ผš็”จๆœ€็ฎ€ๅ•็š„ๆŠ€ๆœฏๆ ˆ๏ผˆLow Complexity๏ผ‰๏ผŒๅŽปๆ’ฌๅŠจๆœ€ๅคง็š„ไธšๅŠกไปทๅ€ผใ€‚ๆ•ขไบŽๅœจ้žๆ ธๅฟƒๅŠŸ่ƒฝไธŠไฝฟ็”จโ€œ็ฌจๅŠžๆณ•โ€๏ผŒๆ˜ฏไธบไบ†ๅœจๆ ธๅฟƒไฝ“้ชŒไธŠไปฅๆญคๆขๅ–โ€œๆž่‡ดไฝ“้ชŒโ€ใ€‚

2.2. ๆดžๅฏŸๅŠ›ๅ…ฌๅผ๏ผš็†ๆ™บไธŽๆƒ…ๆ„Ÿ็š„ๅ…ฑ่ˆž โ€‹

NOTE

ๆ ธๅฟƒ้€ป่พ‘๏ผšๅŒ็†ๅฟƒๆไพ›"ๆ–นๅ‘"๏ผŒๆ‰นๅˆคๆ€งๆ€็ปดๆไพ›"ๅฏผ่ˆช"

  • ๅŒ็†ๅฟƒๅ‘Š่ฏ‰ไฝ "็”จๆˆทๅพˆ็—›่‹ฆ"๏ผŒๆ‰นๅˆคๆ€งๆ€็ปดๅ‘Š่ฏ‰ไฝ "็—›่‹ฆ็š„ๆ นๆบๆ˜ฏไป€ไนˆ"ใ€‚
  • ๅŒ็†ๅฟƒๅ‘Š่ฏ‰ไฝ "็”จๆˆทๆƒณ่ฆไป€ไนˆ"๏ผŒๆ‰นๅˆคๆ€งๆ€็ปดๅ‘Š่ฏ‰ไฝ "ไธบไป€ไนˆๆƒณ่ฆ"ๅ’Œ"ๆœ‰ๆฒกๆœ‰ๆ›ดๅฅฝ็š„่งฃๅ†ณๆ–นๆกˆ"ใ€‚

้€‚็”จๅœบๆ™ฏ๏ผš้œ€ๆฑ‚ๅˆ†ๆžใ€็”จๆˆท่ฐƒ็ ”ใ€ไบงๅ“ๅฎšไฝใ€ๅŠŸ่ƒฝ่ฎพ่ฎกใ€A/B ๆต‹่ฏ•ๆ–นๆกˆ่ฎพ่ฎกใ€‚

ไป…ๆœ‰ๅŒ็†ๅฟƒ๏ผŒไบงๅ“ๅฎนๆ˜“ๆฒฆไธบโ€œ่‡ƒ่‚ฟ็š„่ฎธๆ„ฟๆฑ โ€๏ผˆ็”จๆˆท่ฆไป€ไนˆ็ป™ไป€ไนˆ๏ผŒๅฏผ่‡ดไบงๅ“่‡ƒ่‚ฟ๏ผ‰๏ผ›ไป…ๆœ‰ๆ‰นๅˆคๆ€งๆ€็ปด๏ผŒไบงๅ“ๅฎนๆ˜“ๅ˜ๆˆโ€œๅ†ฐๅ†ท็š„้€ป่พ‘ๆœบๅ™จโ€๏ผˆๆ•ฐๆฎ็œ‹ไผผๅฎŒ็พŽ๏ผŒๅด็ผบไนๆ‰“ๅŠจไบบๅฟƒ็š„ไบบๆ€งๆธฉๅบฆ๏ผ‰ใ€‚ๅ› ๆญค๏ผŒไบงๅ“ Sense ๆœฌ่ดจไธŠไนŸๆ˜ฏๅŒ็†ๅฟƒไธŽๆ‰นๅˆคๆ€งๆ€็ปด็š„็ป“ๅˆ๏ผš

ไพ‹ๅฆ‚๏ผŒ็”จๆˆทๆŠฑๆ€จ"App ๅคชๅคๆ‚"๏ผŒๅŒ็†ๅฟƒ่ฎฉไฝ ๆ„Ÿๅ—ๅˆฐ็”จๆˆท็š„ๆŒซ่ดฅๆ„Ÿ๏ผŒๆ‰นๅˆคๆ€งๆ€็ปด่ฎฉไฝ ่ฟฝ้—ฎ๏ผšๆ˜ฏๅŠŸ่ƒฝๅคชๅคš๏ผŸ่ฟ˜ๆ˜ฏๅฏผ่ˆชไธๆธ…ๆ™ฐ๏ผŸ่ฟ˜ๆ˜ฏๅญฆไน ๆˆๆœฌๅคช้ซ˜๏ผŸโ€”โ€”ไธๅŒ็š„ๆ นๆบ้œ€่ฆไธๅŒ็š„่งฃๅ†ณๆ–นๆกˆใ€‚

Productย Sense=Empathyร—Criticalย Thinking\\mathbf{Product\\ Sense} \\; = \\; \\mathbf{Empathy} \\; \\times \\; \\mathbf{Critical\\ Thinking}

ๆณจๆ„๏ผŒ่ฟ™้‡Œๆ˜ฏไน˜ๆณ•ๅ…ณ็ณป่€Œไธๆ˜ฏๅŠ ๆณ•๏ผŒๆ„ๅ‘ณ็€ไปปไฝ•ไธ€ไธชไธบ้›ถ๏ผŒๆ•ดไธช็ป“ๆžœ้ƒฝๆ˜ฏ้›ถใ€‚ๅชๆœ‰ๅŒ็†ๅฟƒไฝ†็ผบไนๆ‰นๅˆคๆ€งๆ€็ปด๏ผŒไผšๅšๅ‡บ"็”จๆˆท่ฆไป€ไนˆๅฐฑ็ป™ไป€ไนˆ"็š„ๅนณๅบธไบงๅ“๏ผ›ๅชๆœ‰ๆ‰นๅˆคๆ€งๆ€็ปดไฝ†็ผบไนๅŒ็†ๅฟƒ๏ผŒไผšๅšๅ‡บ"ๆŠ€ๆœฏไธŠๅฎŒ็พŽไฝ†็”จๆˆทไธไนฐ่ดฆ"็š„ไบงๅ“ใ€‚

  • ๅŒ็†ๅฟƒ (Empathy)๏ผš ๆ„Ÿ็Ÿฅ็”จๆˆท็œŸๅฎžๆ„Ÿๅ—็š„่ƒฝๅŠ›ใ€‚ๅŒ็†ๅฟƒไธๆ˜ฏ"ๆˆ‘็†่งฃ็”จๆˆท"๏ผŒ่€Œๆ˜ฏ"ๆˆ‘่ƒฝๅ˜ๆˆ็”จๆˆท"ใ€‚่ฟ™ๆ„ๅ‘ณ็€๏ผš

    • ๆƒ…ๅขƒไปฃๅ…ฅ๏ผš่ƒฝๅคŸๅˆ‡ๆขๅˆฐ็”จๆˆท็š„็œŸๅฎžไฝฟ็”จๅœบๆ™ฏใ€‚ไพ‹ๅฆ‚๏ผŒ่ฎพ่ฎกๅค–ๅ– App ๆ—ถ๏ผŒไธๆ˜ฏๅœจๅŠžๅ…ฌๅฎคๆƒณ่ฑก"็”จๆˆทๆƒณ่ฆไป€ไนˆๅŠŸ่ƒฝ"๏ผŒ่€Œๆ˜ฏ็ซ™ๅœจ้›จๅคœ่ทฏ่พนใ€ๆ‰‹ๆœบ็”ต้‡ 10% ็š„็œŸๅฎžๅœบๆ™ฏไธญๆ€่€ƒใ€‚
    • ๆƒ…็ปชๆ•ๆ‰๏ผš่ƒฝๅคŸ่ฏ†ๅˆซ็”จๆˆทๆœช่ฏดๅ‡บๅฃ็š„ๆƒ…็ปชใ€‚็”จๆˆทๆŠฑๆ€จ"้กต้ขๅŠ ่ฝฝๆ…ข"๏ผŒ่ƒŒๅŽ็š„ๆƒ…็ปชๅฏ่ƒฝๆ˜ฏ"ๆˆ‘้ฅฟๅพ—ไธ่กŒไบ†๏ผŒ่ฟ˜่ฆ็ญ‰ๅคšไน…๏ผŸ"โ€”โ€”่งฃๅ†ณๆ–นๆกˆไธๅชๆ˜ฏไผ˜ๅŒ–ไปฃ็ ๏ผŒๆ›ดๅฏ่ƒฝๆ˜ฏไผ˜ๅŒ–"็ญ‰ๅพ…ๆ—ถ็š„ไฝ“้ชŒ"๏ผˆๆฏ”ๅฆ‚ๆ˜พ็คบ้ข„่ฎกๆ—ถ้—ดใ€ๆ’ญๆ”พๅŠจ็”ป๏ผ‰ใ€‚
    • ่ฎค็Ÿฅๅฏน้ฝ๏ผšไธ้ข„่ฎพ็”จๆˆทๅพˆ่ชๆ˜Žใ€‚็”จๆˆทไธไผšๅƒไฝ ไธ€ๆ ท็†Ÿๆ‚‰ไบงๅ“๏ผŒไป–ไปฌไผšๅœจไฝ ๆ„ๆƒณไธๅˆฐ็š„ๅœฐๆ–นๅกไฝใ€‚ไพ‹ๅฆ‚๏ผŒๆณจๅ†Œ้กต้ข็š„"ๅฏ†็ ๅผบๅบฆ"ๆŒ‡็คบๅ™จ๏ผŒ็”จๆˆทๅฏ่ƒฝๆ นๆœฌ็œ‹ไธๆ‡‚้‚ฃไบ›้ขœ่‰ฒไปฃ่กจไป€ไนˆใ€‚
    • ๅ้ขๆกˆไพ‹๏ผšๆŸ็”ตๅ•† App ๅœจ่ดญ็‰ฉ่ฝฆ้กต้ขๆ”พ็ฝฎไบ† 20 ไธชๅŠŸ่ƒฝๅ…ฅๅฃ๏ผŒไบงๅ“็ป็†่ง‰ๅพ—"ๅŠŸ่ƒฝๅพˆๅ…จ"๏ผŒไฝ†็”จๆˆทๅชๆƒณ่ฆไธ€ไธช"ๅฟซ้€Ÿ็ป“็ฎ—"ๆŒ‰้’ฎใ€‚
  • ๆ‰นๅˆคๆ€งๆ€็ปด (Critical Thinking)๏ผš ้€่ฟ‡็Žฐ่ฑก็œ‹ๆœฌ่ดจ็š„่ƒฝๅŠ›ใ€‚ๆ‰นๅˆคๆ€งๆ€็ปดไธๆ˜ฏ"่ดจ็–‘ไธ€ๅˆ‡"๏ผŒ่€Œๆ˜ฏ"่ฟฝ้—ฎไธบไป€ไนˆ"ใ€‚่ฟ™ๆ„ๅ‘ณ็€๏ผš

    • ้œ€ๆฑ‚ๆŒ–ๆŽ˜๏ผš็”จๆˆท่ฏด"ๆƒณ่ฆ"็š„ไธไธ€ๅฎšๆ˜ฏไป–ไปฌ"้œ€่ฆ"็š„ใ€‚็ปๅ…ธ็š„ไพ‹ๅญ๏ผš็”จๆˆท่ฏด"ๆˆ‘่ฆไธ€ๅŒนๆ›ดๅฟซ็š„้ฉฌ"๏ผŒ่ƒŒๅŽ็š„้œ€ๆฑ‚ๆ˜ฏ"ๆ›ดๅฟซๅˆฐ่พพ็›ฎ็š„ๅœฐ"โ€”โ€”่งฃๅ†ณๆ–นๆกˆๅฏ่ƒฝๆ˜ฏๆฑฝ่ฝฆใ€็ซ่ฝฆใ€้ฃžๆœบ๏ผŒ่€Œไธๆ˜ฏ่ฎญ็ปƒๆ›ดๅฟซ็š„้ฉฌใ€‚
    • ๆ•ฐๆฎ่งฃ่ฏป๏ผš่ƒฝๅคŸๅŒบๅˆ†"็›ธๅ…ณๆ€ง"ๅ’Œ"ๅ› ๆžœๅ…ณ็ณป"ใ€‚ๆ•ฐๆฎๆ˜พ็คบ"ไฝฟ็”จๆŸๅŠŸ่ƒฝ็š„็”จๆˆท็•™ๅญ˜็އๆ›ด้ซ˜"๏ผŒไฝ†็ฉถ็ซŸๆ˜ฏ"ๅŠŸ่ƒฝๅธฆๆฅ็•™ๅญ˜"่ฟ˜ๆ˜ฏ"้ซ˜็•™ๅญ˜็”จๆˆทๆฐๅฅฝ็”จไบ†่ฟ™ไธชๅŠŸ่ƒฝ"๏ผŸ้œ€่ฆ่ฟ›ไธ€ๆญฅ้ชŒ่ฏใ€‚
    • ๅ‡่ฎพๆŒ‘ๆˆ˜๏ผšๅฏนๆฏไธชๅŠŸ่ƒฝๅ‡่ฎพ้ƒฝ่ฆ้—ฎ"ๅฆ‚ๆžœไธๅšไผšๆ€Žๆ ท๏ผŸ"ใ€‚ไพ‹ๅฆ‚๏ผŒๅขžๅŠ "ๆฏๆ—ฅ็ญพๅˆฐ"ๅŠŸ่ƒฝๅ‰๏ผŒๅ…ˆ้—ฎ๏ผš็”จๆˆทไธ็ญพๅˆฐ็š„ๆŸๅคฑๆ˜ฏไป€ไนˆ๏ผŸๅฆ‚ๆžœ็ญพๅˆฐๅธฆๆฅ็š„ไปทๅ€ผไธ่ถณไปฅๆ”นๅ˜็”จๆˆท่กŒไธบ๏ผŒ้‚ฃๅฐฑๆ˜ฏไผช้œ€ๆฑ‚ใ€‚ ๅฎž้™…ๆกˆไพ‹๏ผšAirbnb ๆ—ฉๆœŸๅ‘็Žฐ็”จๆˆทไธๆ„ฟ้ข„่ฎข๏ผŒไธๆ˜ฏๅ› ไธบไปทๆ ผๆˆ–ๆˆฟๆบ๏ผŒ่€Œๆ˜ฏๅ› ไธบ"ไฟกไปป้™Œ็”Ÿๆˆฟไธœ"ใ€‚ไบŽๆ˜ฏไป–ไปฌๆŠ•ๅ…ฅๅคง้‡็ฒพๅŠ›ๅš"ๆˆฟไธœ้ชŒ่ฏ""็œŸๅฎž่ฏ„ไปท""็…ง็‰‡่ฎค่ฏ"๏ผŒ่€Œไธๆ˜ฏไผ˜ๅŒ–ๆœ็ดข็ฎ—ๆณ•โ€”โ€”่ฟ™ๅฐฑๆ˜ฏๆ‰นๅˆคๆ€งๆ€็ปดๅธฆๆฅ็š„ๆดžๅฏŸใ€‚

2.3. AI ๅ‰ๆฒฟ่ง†่ง’ๅ…ฌๅผ๏ผšไปŽโ€œๅŠŸ่ƒฝไบงๅ“โ€ๅˆฐโ€œ่ฏญๅขƒๆž„ๅปบโ€ โ€‹

NOTE

ๆ ธๅฟƒๆดžๅฏŸ๏ผšAI ๆ—ถไปฃ็š„็จ€็ผบ่ต„ๆบไธๅ†ๆ˜ฏโ€œ็”Ÿๆˆ็ญ”ๆกˆ็š„่ƒฝๅŠ›โ€๏ผˆๆจกๅž‹ๅทฒ็ปๅ…ทๅค‡๏ผ‰๏ผŒ่€Œๆ˜ฏโ€œๆๅ‡บๆญฃ็กฎ้—ฎ้ข˜็š„่ƒฝๅŠ›โ€ใ€‚Product Sense ็š„ๆ ธๅฟƒไปŽโ€œ่ฎพ่ฎกๅŠŸ่ƒฝไบคไบ’โ€่ฝฌๅ˜ไธบโ€œ่ฎพ่ฎก้šๆ€ง็š„ๆ€็ปด่ทฏๅพ„โ€๏ผŒๆˆ‘ไปฌ้œ€่ฆๅŒๆ—ถๅ…ทๅค‡ ็ฟป่ฏ‘ๅฎ˜๏ผˆๅฐ†ๆจก็ณŠ้œ€ๆฑ‚็ป“ๆž„ๅŒ–๏ผ‰ ๅ’Œ ๆžถๆž„ๅธˆ๏ผˆๆž„ๅปบๆ™บ่ƒฝไฝ“ๅทฅไฝœๆต๏ผ‰ ็š„ๅŒ้‡่ƒฝๅŠ›ใ€‚

AI ๆจกๅž‹ๆœฌ่บซๆ˜ฏ้€š็”จ็š„ๅผ•ๆ“Ž๏ผŒๆˆ‘ไปฌ้œ€่ฆไธบๅฎƒ่ฎพ่ฎกๅบ•็›˜ๅ’Œๆ–นๅ‘็›˜๏ผŒไบงๅ“ Sense ๅœจ AI ๆ—ถไปฃไนŸๅฐฑๅŒ…ๅซไบ†ๆ–ฐ็š„็‰นๅพ๏ผšๅฎšไน‰้—ฎ้ข˜็š„่ƒฝๅŠ›โ€”โ€”่ƒฝๆŠŠๆจก็ณŠ็š„ไบบ็ฑป้œ€ๆฑ‚็ฟป่ฏ‘ๆˆ AI ่ƒฝ็†่งฃ็š„็ฒพ็กฎๆŒ‡ไปคๅ’Œ็Žฏๅขƒ๏ผš

Productย Sense=Problemย Definition+Contextย Design\\mathbf{Product\\ Sense} \\; = \\; \\mathbf{Problem\\ Definition} \\; + \\; \\mathbf{Context\\ Design}

  • ๅฎšไน‰้—ฎ้ข˜๏ผˆProblem Definiton๏ผ‰๏ผš
    • ็ป“ๆž„ๅŒ–ๆญงไน‰๏ผšAI ๆ‹ฅๆœ‰ๆ— ้™็š„ๆฝœๅŠ›๏ผŒไนŸไผด้š็€ๆ— ้™็š„ๅ‘ๆ•ฃใ€‚Product Sense ๅœจๆญคๅค„ไฝ“็Žฐไธบ โ€œๆ”ถๆ•›่ƒฝๅŠ›โ€โ€”โ€”่ƒฝๅฆๅฐ†ไธ€ไธชๆจก็ณŠ็š„ไธšๅŠก็—›็‚น๏ผˆๅฆ‚โ€œๅˆ†ๆž็”จๆˆทๆƒ…็ปชโ€๏ผ‰๏ผŒๆ‹†่งฃไธบไธ€็ป„ AI ๅฏ็†่งฃใ€ๅฏๆ‰ง่กŒ็š„็ฒพๅ‡†ๆ„ๅ›พใ€‚
    • ๅทฅไฝœๆตๆžถๆž„๏ผš่ฟ™ไธไป…ไป…ๆ˜ฏๅ†™ๅ‡บไธ€ๅฅๅฎŒ็พŽ็š„ Prompt๏ผŒๆ›ดๆ˜ฏ่ฎพ่ฎก Agentic Workflow๏ผˆๆ™บ่ƒฝไฝ“ๅทฅไฝœๆต๏ผ‰็š„่ฟ‡็จ‹ใ€‚ๆˆ‘ไปฌ้œ€่ฆๅˆคๆ–ญๅ“ชไบ›็Žฏ่Š‚ๅˆฉ็”จ LLM ็š„้€ป่พ‘ๆŽจ็†๏ผˆๆฆ‚็އๆ€ง๏ผ‰๏ผŒๅ“ชไบ›็Žฏ่Š‚ๅฟ…้กป็”ฑไผ ็ปŸไปฃ็ ๏ผˆ็กฎๅฎšๆ€ง๏ผ‰ๆฅๅ…œๅบ•๏ผŒไปŽ่€Œๆž„ๅปบๅ‡บ็จณๅฎšๅฏ้ ็š„็ณป็ปŸใ€‚
  • ่ฏญๅขƒ่ฎพ่ฎก๏ผˆContext Design๏ผ‰๏ผšไปŽโ€œๅ–‚ๆ•ฐๆฎโ€ๅˆฐโ€œๆž„ๅปบไฟกๆฏๅœบๅŸŸโ€
    • ๆ— ๅฝข็•Œ้ข่ฎพ่ฎก๏ผšๅœจ AI ๅบ”็”จไธญ๏ผŒ็œŸๆญฃ็š„ UI ๅพ€ๅพ€ไธๆ˜ฏๅฑๅน•ไธŠ็š„ๅƒ็ด ๏ผŒ่€Œๆ˜ฏ็œ‹ไธ่ง็š„ Context Window๏ผˆไธŠไธ‹ๆ–‡็ช—ๅฃ๏ผ‰ใ€‚Product Sense ๅฐฑๆ˜ฏ่ฎพ่ฎก่ฟ™ไธชโ€œๆ— ๅฝข็•Œ้ขโ€็š„่‰บๆœฏโ€”โ€”ๅ†ณๅฎš่ฎฉ AI โ€œ็œ‹ๅˆฐโ€ไป€ไนˆ๏ผŒไปฅๅŠโ€œๅฟฝ็•ฅโ€ไป€ไนˆใ€‚
    • ็บฆๆŸไธŽ่พน็•Œๅทฅ็จ‹๏ผšProduct Sense ๅœจ่ฟ™้‡Œไฝ“็Žฐไธบ๏ผšๆˆ‘ไปฌ่ƒฝๅฆไธบ AI ๆž„ๅปบไธ€ไธชโ€œๅ…จ็Ÿฅๅ…จ่ƒฝโ€ไธ”โ€œไธ“ๆณจๅฝ“ไธ‹โ€็š„ไธŠไธ‹ๆ–‡็Žฏๅขƒ๏ผŒไฝฟๅ…ถ่พ“ๅ‡บ็ฒพๅ‡†ไธ”ๅฏๆŽงใ€‚ๆ ธๅฟƒๆŒ‘ๆˆ˜ๆ˜ฏ๏ผšๅฆ‚ไฝ•ๅœจๆœ‰้™็š„ไธŠไธ‹ๆ–‡็ช—ๅฃ๏ผˆContext Window๏ผ‰ไธญ๏ผŒๆไพ›ๆœ€ๅ…ณ้”ฎ็š„ๅ…ˆ้ชŒ็Ÿฅ่ฏ†ใ€็บฆๆŸๆกไปถๅ’Œๅฐ‘ๆ ทๆœฌ๏ผˆFew-Shot๏ผ‰ๆกˆไพ‹๏ผŒ่ฎฉ AI ๅœจไฝ ้ข„่ฎพ็š„โ€œ่ฏญๅขƒๅœบโ€้‡Œ็ฒพๅ‡†่ˆž่นˆ๏ผŒ่€Œไธๆ˜ฏ่ƒกไนฑๅนป่ง‰ใ€‚

3. ๅˆปๆ„็ปƒไน ๏ผšๅฆ‚ไฝ•ไปŽโ€œๅ‡ญๆ„Ÿ่ง‰โ€ๅˆฐโ€œๆœ‰็›ด่ง‰โ€๏ผŸ โ€‹

ๅพˆๅคšไบบ่ฎคไธบ Sense ๆ˜ฏๅคฉ่ต‹๏ผŒๆ— ๆณ•ๅญฆไน ๏ผŒไฝ†ๆˆ‘ๅšไฟก็›ด่ง‰ๆ˜ฏ็ป้ชŒๅœจๆฝœๆ„่ฏ†้‡Œ็š„ๅŽ‹็ผฉ็ฎ—ๆณ•ใ€‚ๆˆ‘ไปฌๅฏไปฅ้€š่ฟ‡ไปฅไธ‹ไธ‰ไธชๆญฅ้ชค็š„โ€œๅˆปๆ„็ปƒไน โ€ๆฅ่ฎญ็ปƒ่ฟ™็ง็ฎ—ๆณ•๏ผš

3.1. ๅปบ็ซ‹โ€œ้ข„ๆต‹-้ชŒ่ฏโ€็š„ๅ้ฆˆ้—ญ็Žฏ โ€‹

่ฟ™ๆ˜ฏๆœ€็กฌๆ ธ็š„่ฎญ็ปƒๆณ•๏ผŒไธ่ฆๅชๆ˜ฏ่ขซๅŠจๅœฐ็œ‹ๆ•ฐๆฎ๏ผŒ่ฆไธปๅŠจๅš้ข„ๆต‹ใ€‚

  • ็ปƒไน ๆ–นๆณ•๏ผšๅœจไปปไฝ•ๆ–ฐๅŠŸ่ƒฝไธŠ็บฟๅ‰๏ผˆๆˆ–่€…่ง‚ๅฏŸ็ซžๅ“ๆ”น็‰ˆๆ—ถ๏ผ‰๏ผŒๅœจ็ฌ”่ฎฐๆœฌไธŠๅ†™ไธ‹ไฝ ็š„้ข„ๆต‹ใ€‚
    • โ€œๆˆ‘่ตŒ่ฟ™ไธชๆŒ‰้’ฎๆ”นไธบ็บข่‰ฒ๏ผŒ็‚นๅ‡ป็އไผšๆๅ‡ 5%ใ€‚โ€
    • โ€œๆˆ‘่ฎคไธบ็ซžๅ“ๆŽจๅ‡บ่ฟ™ไธชๅŠŸ่ƒฝๆ˜ฏๆƒณ่งฃๅ†ณ็•™ๅญ˜้—ฎ้ข˜๏ผŒไฝ†ๅฏ่ƒฝไผšๅฏผ่‡ด็”จๆˆทๅๆ„Ÿใ€‚โ€
  • ๅค็›˜๏ผšไธ€ๅ‘จๅŽ๏ผŒ็œ‹็œŸๅฎžๆ•ฐๆฎๆˆ–ๅธ‚ๅœบๅ้ฆˆใ€‚ๅฆ‚ๆžœไฝ ็Œœๅฏนไบ†๏ผŒๅผบๅŒ–่ฟ™ไธช็›ด่ง‰ใ€‚ๅฆ‚ๆžœไฝ ็Œœ้”™ไบ†๏ผŒ่ฟ™ๆ‰ๆ˜ฏๆœ€ๅฎ่ดต็š„ๆ—ถๅˆป๏ผšๅŽปๆทฑ็ฉถไธบไป€ไนˆ๏ผŸๆ˜ฏ้ซ˜ไผฐไบ†็”จๆˆทๅŠจๅŠ›๏ผŸ่ฟ˜ๆ˜ฏไฝŽไผฐไบ†ๆ“ไฝœ้—จๆง›๏ผŸ
  • ๅŽŸ็†๏ผšๅคงๆจกๅž‹็š„่ฎญ็ปƒไพ้  Loss Function๏ผˆๆŸๅคฑๅ‡ฝๆ•ฐ๏ผ‰ๆฅๆ”ถๆ•›๏ผŒไบบ็š„็›ด่ง‰ไนŸไธ€ๆ ทใ€‚ๅชๆœ‰้€š่ฟ‡ไธๆ–ญ็š„โ€œ้ข„ๆต‹ๅคฑ่ดฅโ€๏ผŒๆˆ‘ไปฌ็š„ๅคง่„‘ๆ‰่ƒฝไฟฎๆญฃๆƒ้‡๏ผŒไปŽ่€Œ่Žทๅพ—ๆ›ด็ฒพๅ‡†็š„ Senseใ€‚

3.2. ๅŸนๅ…ปโ€œๆ‘ฉๆ“ฆๅŠ›ๆ—ฅ่ฎฐโ€ โ€‹

ๅพˆๅคšๆ—ถๅ€™ๆˆ‘ไปฌๅฏน็—›็‚น่ง†่€Œไธ่ง๏ผŒๆ˜ฏๅ› ไธบๆˆ‘ไปฌไน ๆƒฏไบ†๏ผŒ่ฆ่ฎญ็ปƒไบงๅ“ Sense๏ผŒๅฐฑ่ฆๆขๅคๅฏนโ€œไธ่ˆ’ๆœโ€็š„ๆ•ๆ„Ÿๅบฆใ€‚

  • ็ปƒไน ๆ–นๆณ•๏ผšๆฏๅคฉ่ฎฐๅฝ• 3 ไธช่ฎฉ่‡ชๅทฑๆ„Ÿๅˆฐโ€œๅพฎๅฐไธ็ˆฝโ€็š„ๆ—ถๅˆป๏ผŒๆ— ่ฎบๆ˜ฏไฝฟ็”จ่‡ชๅฎถไบงๅ“่ฟ˜ๆ˜ฏ็”Ÿๆดปไธญ็š„็ไบ‹ใ€‚

    • โ€œๅœจ่ฟ™ไธช App ๅคๅˆถ้ชŒ่ฏ็ ๅฑ…็„ถไธ่ƒฝ่‡ชๅŠจ่ทณ่ฝฌ๏ผŒ่ฟ˜ๅพ—ๆˆ‘ๆ‰‹ๅŠจๅˆ‡ๅ›žๅŽป๏ผŒๅฅฝ็ƒฆใ€‚โ€
    • โ€œ่ฟ™ไธชๆŠฅ้”™ๆ็คบ่ฏดโ€˜็ฝ‘็ปœ้”™่ฏฏ 404โ€™๏ผŒไธบไป€ไนˆไธ็›ดๆŽฅๅ‘Š่ฏ‰ๆˆ‘โ€˜่ฏทๆฃ€ๆŸฅ Wi-Fiโ€™๏ผŸโ€
  • ่ฟ›้˜ถ๏ผšไธๅชๆ˜ฏๆŠฑๆ€จ๏ผŒๅผบ่ฟซ่‡ชๅทฑๆž„ๆ€ไธ€ไธช โ€œๆœ€ๅฐๆ”นๅŠจ่งฃโ€ใ€‚

    • ่งฃๆณ•๏ผšๅœจๅคๅˆถ้ชŒ่ฏ็ ็š„็Ÿญไฟก้‡ŒๅŠ ไธ€ไธช Deep Link๏ผŒไธ€้”ฎ่ทณๅ›ž Appใ€‚

3.3. ่งฃๆž„โ€œ้ญ”ๆณ•โ€๏ผšไปŽๆƒŠๅนๅˆฐๅคๅˆป็š„้€†ๅ‘ๅทฅ็จ‹ โ€‹

NOTE

ๅ››ๆญฅ้—ญ็Žฏ: โ€œ่ฎฐๅฝ•-่งฃๅ‰–-้‡ๆž„-ๆฒ‰ๆท€โ€

ๅฝ“ๆˆ‘ไปฌ้‡ๅˆฐไธ€ไธช่ฎฉ่‡ชๅทฑๆƒŠๅน็š„ไบงๅ“๏ผˆๆฏ”ๅฆ‚ๅˆๆฌกไฝฟ็”จ ChatGPTๆˆ–ๆฒ‰่ฟทไบŽ Vibe Coding๏ผ‰ๆ—ถ๏ผŒๅƒไธ‡ไธ่ฆๅชๅœ็•™ๅœจๆถˆ่ดน่€…็š„่ง†่ง’ๆ„Ÿๅนโ€œ็œŸๅฅฝ็”จโ€ใ€‚้‚ฃๆ˜ฏโ€œ้ญ”ๆณ•โ€็”Ÿๆ•ˆ็š„ๆ—ถๅˆป๏ผŒไนŸๆ˜ฏไฝ ไฝœไธบ้ญ”ๆœฏๅธˆๅญฆๅพ’ๆ‹†่งฃๆˆๆณ•็š„ๆœ€ไฝณๆ—ถๆœบใ€‚

่‹ฅๆƒณๅฐ†่ฟ™็งๆƒŠๅนๅ†…ๅŒ–ไธบ่‡ชๅทฑ็š„ Sense๏ผŒๆˆ‘ไปฌ้œ€่ฆๆ‰ง่กŒไธ€ๅฅ—ๅฎŒๆ•ด็š„้€†ๅ‘ๅทฅ็จ‹ๅพช็Žฏ๏ผš

๏ผˆ1๏ผ‰่ฎฐๅฝ• (Record)๏ผšๆ•ๆ‰ๆƒ…็ปช้ข—็ฒ’ๅบฆ โ€‹

ไธ่ฆ็ญ‰ๅ›žๅคดๅ†ๆƒณ๏ผŒ่ฆๅœจโ€œๆƒŠๅนโ€ๅ‘็”Ÿ็š„ๅฝ“ไธ‹๏ผŒๅƒๆ•ๆ‰่ด่ถไธ€ๆ ทๆ•ๆ‰ไฝ ็š„ๆƒ…็ปช๏ผš

  • ๆˆชๅฑ/ๅฝ•ๅฑ๏ผš่ฎฐๅฝ•ไธ‹้‚ฃไธช่ฎฉไฝ ๅ˜ด่ง’ไธŠๆ‰ฌๆˆ–็žณๅญ”ๆ”พๅคง็š„็žฌ้—ด๏ผˆAha Moment๏ผ‰ใ€‚
  • ๅพฎ่ง‚ๆƒ…็ปชๆ ‡ๆณจ๏ผš้—ฎ่‡ชๅทฑ๏ผŒโ€œ่ฟ™ไธ€็ง’๏ผŒไธบไป€ไนˆๆˆ‘่ง‰ๅพ—โ€˜็ˆฝโ€™๏ผŸโ€ๆ˜ฏๅ› ไธบ้‚ฃไธชไธๆป‘็š„่ฝฌๅœบๅŠจ็”ป๏ผŒ่ฟ˜ๆ˜ฏๅ› ไธบๆ–‡ๆกˆๆฐๅฅฝๅ‡ปไธญไบ†ๆˆ‘็š„่ฝฏ่‚‹๏ผŒ่ฟ˜ๆ˜ฏๅ› ไธบๅฎƒ็š„ๅ“ๅบ”้€Ÿๅบฆๅฟซๅพ—ไธๅฏๆ€่ฎฎ๏ผŸ
    • ๆกˆไพ‹๏ผšLinear ็š„ๅฎ˜็ฝ‘ไน‹ๆ‰€ไปฅ่ฎฉไบบๆƒŠๅน๏ผŒไธไป…ๅ› ไธบ่ฎพ่ฎก๏ผŒๆ›ดๅ› ไธบๅฝ“ไฝ ๆŒ‰ J / K ้”ฎๆ—ถ็š„ๆฏซ็ง’็บงๅ“ๅบ”๏ผŒ่ฟ™็งโ€œๆŽŒๆŽงๆ„Ÿโ€ๆ˜ฏๆƒ…็ปช็š„ๆฅๆบใ€‚

๏ผˆ2๏ผ‰่งฃๅ‰– (Peel)๏ผšไธŠๅธ่ง†่ง’็š„้€ป่พ‘ๆ‹†่งฃ โ€‹

ๅˆ‡ๆขๅˆฐไบงๅ“็ป็†็š„ไธŠๅธ่ง†่ง’๏ผŒ้€่ฟ‡่กจ็šฎ็œ‹้ชจๆžถใ€‚ๆ€่€ƒๅฎƒๅšๅฏนไบ†ๅ“ชไธ‰ไปถไบ‹๏ผš

  • ๅฎƒๆปก่ถณไบ†ๅ“ชไธชๅฑ‚็บง็š„้œ€ๆฑ‚๏ผŸๆ˜ฏๅบ•ๅฑ‚็š„็”Ÿ็†/ๅฎ‰ๅ…จ๏ผŒ่ฟ˜ๆ˜ฏ้กถๅฑ‚็š„่‡ชๆˆ‘ๅฎž็Žฐ/่™š่ฃ๏ผŸๅฎƒๆ˜ฏๅธฎไฝ ็œไบ†ๆ—ถ้—ด๏ผŒ่ฟ˜ๆ˜ฏๅธฎไฝ ๆ€ไบ†ๆ—ถ้—ด๏ผŸ
  • ๅฎƒๆžๅ…ถๅคง่ƒ†ๅœฐโ€œๅˆ ๅ‡โ€ไบ†ไป€ไนˆ๏ผŸไผŸๅคง็š„ไบงๅ“ๅพ€ๅพ€็”ฑๅฎƒไธๅšไป€ไนˆๆฅๅฎšไน‰ใ€‚TikTok ๅˆ ๅ‡ไบ†็”จๆˆทโ€œ้€‰ๆ‹ฉ็œ‹ไป€ไนˆโ€็š„ๆƒๅˆฉ๏ผŒ็›ดๆŽฅๅ–‚้ฅญ๏ผ›Notion ๆ—ฉๆœŸๅˆ ๅ‡ไบ†ๅคๆ‚็š„ๆ ผๅผๅ…ผๅฎน๏ผŒๅชไฟ็•™ Blockใ€‚
  • ๅฎƒ็š„ๆ ธๅฟƒๅขž้•ฟ้ฃž่ฝฎๆ˜ฏไป€ไนˆ๏ผŸๅฎƒๆ˜ฏๅฆ‚ไฝ•่ฎฉไฝ ๅฟไธไฝๆƒณๅˆ†ไบซ็ป™ๅˆซไบบ็š„๏ผŸๆ˜ฏๅˆฉ็”จไบ†ไฝ ็š„็‚ซ่€€ๆฌฒ๏ผŒ่ฟ˜ๆ˜ฏๅ•็บฏ็š„ไบ’ๅˆฉๆœบๅˆถ๏ผŸ

๏ผˆ3๏ผ‰้‡ๆž„ (Reconstruct)๏ผšๅ…จๆ ˆ่ง†่ง’็š„ๅคๅˆปๆŽจๆผ” โ€‹

ๅ‘ๆŒฅๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„ๆŠ€ๆœฏไผ˜ๅŠฟ๏ผŒๅœจ่„‘ๆตทไธญ๏ผˆๆˆ–่‰็จฟ็บธไธŠ๏ผ‰ๅฐ่ฏ•้‡ๅปบๅฎƒใ€‚

  • ๆŠ€ๆœฏๆŽจๆผ”๏ผšไธบไบ†ๅฎž็Žฐ่ฟ™ไธชไธๆป‘ไฝ“้ชŒ๏ผŒๅฎƒ็š„ๅ‰็ซฏๅฏ่ƒฝ็”จไบ†ไป€ไนˆๆŠ€ๆœฏๆ ˆ๏ผŸๅŽ็ซฏๆ˜ฏๅฆ‚ไฝ•ๅค„็†้ซ˜ๅนถๅ‘็š„๏ผŸๅฆ‚ๆžœไฝ ๆฅๅš๏ผŒไฝ ไผšๆ€Žไนˆ่ฎพ่ฎกๆ•ฐๆฎๅบ“ Schema๏ผŸ
  • ๆˆๆœฌไผฐ็ฎ—๏ผšๅฎƒไธบไบ†่ฟ™ไธชไฝ“้ชŒ๏ผŒไป˜ๅ‡บไบ†ๅคšๅคง็š„ๅทฅ็จ‹ไปฃไปท๏ผŸ่ฟ™ไธชไปฃไปทๅœจๅ•†ไธšไธŠๅˆ’็ฎ—ๅ—๏ผŸ

๏ผˆ4๏ผ‰ๆฒ‰ๆท€ (Crystallize)๏ผš่พ“ๅ‡บๅ€’้€ผๅ†…ๅŒ– โ€‹

่ฟ™ๆ˜ฏๆœ€ๅ…ณ้”ฎใ€ๅดๆœ€ๅธธ่ขซๅฟฝ็•ฅ็š„ไธ€ๆญฅใ€‚ๆฒกๆœ‰่พ“ๅ‡บ็š„ๆ€่€ƒ๏ผŒๅฐฑๅƒๆฒกๆœ‰ commit ็š„ไปฃ็ ๏ผŒ้šๆ—ถไผšไธขๅคฑใ€‚

  • ๅ†™ไธ€็ฏ‡โ€œไบงๅ“้ชŒ่ฏๆŠฅๅ‘Šโ€๏ผšไธ่ฆๅชๅœจ่„‘ๅญ้‡Œๆƒณ๏ผŒ่ฆๅ†™ไธ‹ๆฅใ€‚ๆฏ”ๅฆ‚ๅฐ่ฏ•ๅ†™ไธ€็ฏ‡ใ€Šไธบไป€ไนˆ X ไบงๅ“่ฎฉๆˆ‘ๆฌฒ็ฝขไธ่ƒฝ๏ผŸใ€‹๏ผŒๅผบ่ฟซ่‡ชๅทฑๆŠŠๆจก็ณŠ็š„ๆ„Ÿ่ง‰็ป“ๆž„ๅŒ–ไธบๆ–‡ๅญ—ใ€‚

  • ๅ‘่ตทไธ€ๅœบโ€œไบบๆœบ่พฉ่ฎบโ€ (Initiate a Human-AI Debate)๏ผš ไธ่ฆๆ€ฅ็€ๆŠŠ่ง‚็‚นๅ‘็ป™ๅŒ่กŒ๏ผŒๅ…ˆ่ฎฉ AI ๅ……ๅฝ“ไฝ ็š„โ€œ็บข้˜Ÿโ€ไนŸๅฐฑๆ˜ฏโ€œๅ‡ๆƒณๆ•Œโ€ใ€‚

    • ็ฌฌไธ€่ฝฎ๏ผˆAI ้™ช็ปƒ๏ผ‰๏ผšๆŠŠ่‡ชๅทฑ็š„ๅˆ†ๆžๅ‘็ป™ GPT/Claude๏ผŒๅนถๅŠ ไธŠ่ฟ™ๅฅ Prompt๏ผšโ€œๅฆ‚ๆžœไฝ ๆ˜ฏ่ฟ™ไธชไบงๅ“็š„ CEO๏ผŒ่ฏทๆŒ‡ๅ‡บๆˆ‘ๅˆ†ๆžไธญ็š„ๆผๆดž๏ผŒๆœ‰ๅ“ชไบ›ๅ•†ไธš่€ƒ้‡ๆˆ–ๆŠ€ๆœฏ้™ๅˆถๆ˜ฏๆˆ‘ๆฒก็œ‹ๅˆฐ็š„๏ผŸโ€ AI ๅพ€ๅพ€่ƒฝไปŽไฝ ๅฟฝ็•ฅ็š„ๅކๅฒ่ƒŒๆ™ฏใ€้šๅฝขๆˆๆœฌๆˆ–็ซžไบ‰ๆ ผๅฑ€่ง’ๅบฆ็ป™ๅ‡บๆƒŠไบบ็š„่กฅๅ……ใ€‚
    • ็ฌฌไบŒ่ฝฎ๏ผˆ็œŸไบบ้ชŒ่ฏ๏ผ‰๏ผšๅธฆ็€ AI ๅฎŒๅ–„่ฟ‡็š„่ง‚็‚น๏ผŒๅ†ๅŽป็คพๅŒบๆˆ–ๅŒ่กŒ้—ดไบคๆตใ€‚ไฝ ไผšๅ‘็Žฐ๏ผŒไฝ ็š„ๆดžๅฏŸๆทฑๅบฆๅทฒ็ป่ถ…่ถŠไบ† 90% ็š„ไบบ๏ผŒ่€Œ็œŸไบบ็š„ๅ้ฆˆๅˆ™่ƒฝ่กฅๅ…… AI ๆ— ๆณ•่งฆ่พพ็š„โ€œ้š็ง˜่กŒไธšๆฝœ่ง„ๅˆ™โ€ๆˆ–โ€œไบบๆ€งๅพฎๅฆ™ไน‹ๅค„โ€ใ€‚

4. ็ป“่ฏญ๏ผšไปŽโ€œๅฆ‚ไฝ•ๅฎž็Žฐโ€็š„็„ฆ่™‘ไธญ่งฃๆ”พ๏ผŒๆ‹ฅๆŠฑโ€œไธบไฝ•่€Œๅšโ€็š„่‡ช็”ฑ โ€‹

ๅœจ AI ๆ—ถไปฃ๏ผŒไปฃ็ ็”Ÿๆˆ็š„่พน้™…ๆˆๆœฌๆญฃๅœจๆ— ้™่ถ‹่ฟ‘ไบŽ้›ถใ€‚ๅฝ“โ€œๅฎž็Žฐโ€ไธๅ†ๆ˜ฏไธๅฏ้€พ่ถŠ็š„ๅฃๅž’๏ผŒโ€œๆดžๅฏŸโ€ไธŽโ€œๅ“ไฝโ€ไพฟๆˆไบ†ๆ–ฐ็š„ๆŠคๅŸŽๆฒณใ€‚

ๆœชๆฅ็š„ๅ…จๆ ˆๅทฅ็จ‹ๅธˆๅฐ†ไธๅ†ๆ˜ฏ [ๅ‰็ซฏ + ๅŽ็ซฏ]๏ผŒ่€Œๆ˜ฏ [ๆŠ€ๆœฏ็†่งฃๅŠ› x ไบงๅ“ๆ•้”ๅบฆ]็š„ๅŒ–ๅญฆๅๅบ”๏ผš

  • ๆŠ€ๆœฏๆ˜ฏๆˆ‘ไปฌ็š„ๅŽ‹่ˆฑ็Ÿณ๏ผŒ่ฎฉๆˆ‘ไปฌ็Ÿฅๆ™“ๅฏ่ƒฝๆ€ง็š„่พน็•Œ๏ผŒไธ่‡ณไบŽๅœจๅคฉ้ฉฌ่กŒ็ฉบไธญๅคฑ้‡๏ผ›
  • ไบงๅ“ Sense ๆ˜ฏๆˆ‘ไปฌ็š„็ฝ—็›˜๏ผŒ่ฎฉๅœจ็”Ÿๆˆ็š„ๆดชๆตไธญ้”ๅฎš่ˆชๅ‘๏ผŒไธ่‡ณไบŽๅœจไฝŽไปทๅ€ผ็š„ไปฃ็ ๅ †้‡Œ่’ๅบŸๆ—ถๅ…‰ใ€‚

ไบงๅ“ Sense ็š„็ปˆ็‚นไปŽๆฅไธๆ˜ฏโ€œไธๅš้”™็š„ๅ†ณๅฎšโ€โ€”โ€”้‚ฃๆ˜ฏๅ…จ็Ÿฅ่ง†่ง’็š„ๅฅขๆœ›ใ€‚ๅฎƒ็š„็ปˆ็‚นๆ˜ฏโ€œๆ‹ฅๆœ‰ๆฏ”ๅˆซไบบๆ›ด็Ÿญ็š„็บ ้”™ๅŠๅพ„โ€๏ผšๅœจ้”™่ฏฏๅ‘็”Ÿๆ—ถ๏ผŒ่ƒฝไปฅๆœ€ไฝŽ็š„ๆˆๆœฌๆ„Ÿ็Ÿฅๅนถไฟฎๆญฃใ€‚

ไฟๆŒๆ•้”๏ผŒไฟๆŒ้ฅฅ้ฅฟ๏ผŒๅฏนโ€œ็”จๆˆทไธ‹ไธ€็ง’็š„็šฑ็œ‰โ€ๅฟƒๅญ˜ๆ•ฌ็•ใ€‚ๅ› ไธบ็ฎ—ๆณ•ๆ— ๆณ•่ฎก็ฎ—โ€œ็—›็‚นโ€๏ผŒ่€Œ้‚ฃไธช็šฑ็œ‰็š„็žฌ้—ด๏ผŒๅพ€ๅพ€ๅฐฑๆ˜ฏไธ‹ไธ€ๆฌพๅฅฝไบงๅ“็š„่ตท็‚นใ€‚

',59)])])}const b=s(i,[["render",o]]);export{h as __pageData,b as default}; +import{_ as s,g as t,h as n,U as m}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const h=JSON.parse('{"title":"ๅฝ“โ€œๅฎž็Žฐโ€ไธๅ†ๆ˜ฏๅฃๅž’๏ผšๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense๏ผŸ","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ AI ่ฎฉไปฃ็ ็”Ÿๆˆ็š„่พน้™…ๆˆๆœฌ่ถ‹่ฟ‘ไบŽ้›ถ๏ผŒโ€œๆŠ€ๆœฏๅฎž็Žฐโ€ไธๅ†ๆ˜ฏไธๅฏ้€พ่ถŠ็š„ๅฃๅž’๏ผŒโ€œไบงๅ“ๆดžๅฏŸโ€่ƒฝๆž„็ญ‘่ตทๆ–ฐ็š„ๆ ธๅฟƒๆŠคๅŸŽๆฒณใ€‚ๆœฌๆ–‡ๆ‹’็ป็Ž„ๅญฆ๏ผŒๅฐ†ๆŠฝ่ฑก็š„ ไบงๅ“ Sense ่งฃๆž„ไธบไธ‰ไธชๆ ธๅฟƒๆ•ฐๅญฆๅ…ฌๅผ๏ผŒๅนถๆไพ›ไธ€ๅฅ—ๅŸบไบŽโ€œ้€†ๅ‘ๅทฅ็จ‹โ€็š„ๅˆปๆ„็ปƒไน ๆŒ‡ๅ—๏ผŒๅŠฉๅŠ›ๅผ€ๅ‘่€…ๅœจ็ฎ—ๅŠ›่ฟ‡ๅ‰ฉ็š„ๆ—ถไปฃ๏ผŒๅฎŒๆˆไปŽโ€œไปฃ็ ๅทฅๅŒ โ€ๅˆฐโ€œไปทๅ€ผๅˆ›้€ ่€…โ€็š„่ฎค็Ÿฅ่ทƒ่ฟใ€‚","frontmatter":{"date":"2025-10-23T16:05:50.000Z","title":"ๅฝ“โ€œๅฎž็Žฐโ€ไธๅ†ๆ˜ฏๅฃๅž’๏ผšๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense๏ผŸ","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ AI ่ฎฉไปฃ็ ็”Ÿๆˆ็š„่พน้™…ๆˆๆœฌ่ถ‹่ฟ‘ไบŽ้›ถ๏ผŒโ€œๆŠ€ๆœฏๅฎž็Žฐโ€ไธๅ†ๆ˜ฏไธๅฏ้€พ่ถŠ็š„ๅฃๅž’๏ผŒโ€œไบงๅ“ๆดžๅฏŸโ€่ƒฝๆž„็ญ‘่ตทๆ–ฐ็š„ๆ ธๅฟƒๆŠคๅŸŽๆฒณใ€‚ๆœฌๆ–‡ๆ‹’็ป็Ž„ๅญฆ๏ผŒๅฐ†ๆŠฝ่ฑก็š„ ไบงๅ“ Sense ่งฃๆž„ไธบไธ‰ไธชๆ ธๅฟƒๆ•ฐๅญฆๅ…ฌๅผ๏ผŒๅนถๆไพ›ไธ€ๅฅ—ๅŸบไบŽโ€œ้€†ๅ‘ๅทฅ็จ‹โ€็š„ๅˆปๆ„็ปƒไน ๆŒ‡ๅ—๏ผŒๅŠฉๅŠ›ๅผ€ๅ‘่€…ๅœจ็ฎ—ๅŠ›่ฟ‡ๅ‰ฉ็š„ๆ—ถไปฃ๏ผŒๅฎŒๆˆไปŽโ€œไปฃ็ ๅทฅๅŒ โ€ๅˆฐโ€œไปทๅ€ผๅˆ›้€ ่€…โ€็š„่ฎค็Ÿฅ่ทƒ่ฟใ€‚","sticky":1,"top":true,"categories":["ไบงๅ“ Sense","AI"],"coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/product_sense_bg.png","permalink":"/product-sense/engineer-build-product-sense"},"headers":[],"relativePath":"10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/21.ๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense.md","filePath":"10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/21.ๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense.md"}'),i={name:"10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/21.ๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense.md"};function o(e,a,l,r,p,d){return n(),t("div",null,[...a[0]||(a[0]=[m('

ๅฝ“โ€œๅฎž็Žฐโ€ไธๅ†ๆ˜ฏๅฃๅž’๏ผšๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense๏ผŸ โ€‹

ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ AI ่ฎฉไปฃ็ ็”Ÿๆˆ็š„่พน้™…ๆˆๆœฌ่ถ‹่ฟ‘ไบŽ้›ถ๏ผŒโ€œๆŠ€ๆœฏๅฎž็Žฐโ€ไธๅ†ๆ˜ฏไธๅฏ้€พ่ถŠ็š„ๅฃๅž’๏ผŒโ€œไบงๅ“ๆดžๅฏŸโ€่ƒฝๆž„็ญ‘่ตทๆ–ฐ็š„ๆ ธๅฟƒๆŠคๅŸŽๆฒณใ€‚ๆœฌๆ–‡ๆ‹’็ป็Ž„ๅญฆ๏ผŒๅฐ†ๆŠฝ่ฑก็š„ ไบงๅ“ Sense ่งฃๆž„ไธบไธ‰ไธชๆ ธๅฟƒๆ•ฐๅญฆๅ…ฌๅผ๏ผŒๅนถๆไพ›ไธ€ๅฅ—ๅŸบไบŽโ€œ้€†ๅ‘ๅทฅ็จ‹โ€็š„ๅˆปๆ„็ปƒไน ๆŒ‡ๅ—๏ผŒๅŠฉๅŠ›ๅผ€ๅ‘่€…ๅœจ็ฎ—ๅŠ›่ฟ‡ๅ‰ฉ็š„ๆ—ถไปฃ๏ผŒๅฎŒๆˆไปŽโ€œไปฃ็ ๅทฅๅŒ โ€ๅˆฐโ€œไปทๅ€ผๅˆ›้€ ่€…โ€็š„่ฎค็Ÿฅ่ทƒ่ฟใ€‚

1. ๅผ•่จ€ โ€‹

ๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒไบงๅ“ Sense๏ผˆไบงๅ“ๆ„Ÿ๏ผ‰ ่ขซ่ง†ไธบไธ€็ง็Ž„ๅญฆใ€‚ๅฎƒไผผไนŽๆ˜ฏไน”ๅธƒๆ–ฏๅผ็š„็ตๅ…‰ไธ€็Žฐ๏ผŒๆˆ–ๆ˜ฏๅผ ๅฐ้พ™ๅผ็š„โ€œ็‹ฌๆ–ญไธ“่กŒโ€ใ€‚

ไฝ†ๅฏนไบŽๅคงๅคšๆ•ฐๅทฅ็จ‹ๅธˆใ€ไบงๅ“็ป็†ไนƒ่‡ณ็‹ฌ็ซ‹ๅผ€ๅ‘่€…่€Œ่จ€๏ผŒๅฐ†่ƒฝๅŠ›ๅฏ„ๆ‰˜ไบŽโ€œๅคฉ่ต‹โ€ๆ˜ฏๅฑ้™ฉ็š„ใ€‚ๆˆ‘่ฎคไธบ๏ผŒไบงๅ“ Sense ๅนถ้žไธๅฏๆ‰ๆ‘ธ็š„้ป‘้ญ”ๆณ•๏ผŒ่€Œๆ˜ฏไธ€ๅฅ—็ป่ฟ‡้ซ˜้ข‘่ฎญ็ปƒๅŽๅ†…ๅŒ–ไธบๆœฌ่ƒฝ็š„ๆ€็ปด็ฎ—ๆณ•ใ€‚ ๅฐฑๅƒ่ต„ๆทฑ็จ‹ๅบๅ‘˜็œ‹ๅˆฐไธ€ๆฎตไปฃ็ ๅฐฑ่ƒฝๅ—…ๅ‡บ "Code Smell"๏ผˆไปฃ็ ๅผ‚ๅ‘ณ๏ผ‰๏ผŒ่ต„ๆทฑไบงๅ“ไบบไนŸ่ƒฝๅœจ็žฌ้—ดๅˆคๆ–ญไธ€ไธช้œ€ๆฑ‚ๆ˜ฏโ€œ็œŸ็—›็‚นโ€่ฟ˜ๆ˜ฏโ€œไผช้œ€ๆฑ‚โ€ใ€‚

ไธ€ไธชๆˆๅŠŸ็š„ไบงๅ“ๅ†ณ็ญ–๏ผŒๅพ€ๅพ€ๅ‘็”Ÿๅœจไธ‰ไธช็ปดๅบฆ็š„ไบคๆฑ‡็‚น๏ผš

  • ็”จๆˆทไปทๅ€ผๆดžๅฏŸ๏ผˆUser Value Insight๏ผ‰๏ผšไธไป…ๅฌๆ‡‚็”จๆˆท่ฏดโ€œๆƒณ่ฆๆ›ดๅฟซ็š„้ฉฌโ€๏ผŒๆ›ด่ƒฝๆดžๅฏŸไป–ๅ…ถๅฎžโ€œๆƒณๆ›ดๅฟซๅˆฐ่พพ็›ฎ็š„ๅœฐโ€ใ€‚
  • ๅ•†ไธšๅฏ่กŒๆ€ง๏ผˆBusiness Viability๏ผ‰๏ผšไธไป…่ƒฝๅšๅ‡บๆฅ๏ผŒ่ฟ˜่ƒฝ็ฎ—ๅพ—่ฟ‡่ดฆใ€‚ๅƒ Dropbox ๆ—ฉๆœŸๅˆฉ็”จ็—…ๆฏ’ๅผ่ฃ‚ๅ˜้™ไฝŽ่Žทๅฎขๆˆๆœฌ๏ผŒๅฐฑๆ˜ฏๅ•†ไธšๅ—…่ง‰็š„ไฝ“็Žฐใ€‚
  • ๆŠ€ๆœฏๅฏๅฎž็Žฐๆ€ง๏ผˆTechnical Feasibility๏ผ‰๏ผšๅœจโ€œๅฎŒ็พŽ็š„ๆžถๆž„โ€ๅ’Œโ€œๆ˜Žๅคฉๅฐฑ่ƒฝไธŠ็บฟโ€ไน‹้—ดๆ‰พๅˆฐๅนณ่กกใ€‚ChatGPT ็š„็ˆ†ๅ‘๏ผŒๆญฃๆ˜ฏๆŠ€ๆœฏ็งฏ็ดฏ็ปˆไบŽ่ทจ่ฟ‡ไบ†โ€œๅฏ็”จๆ€ง้˜ˆๅ€ผโ€็š„ไธด็•Œ็‚นใ€‚

ไบงๅ“ Sense ๆ˜ฏไบงๅ“็ป็†ใ€่ฎพ่ฎกๅธˆไนƒ่‡ณๅˆ›ไธš่€…็ปๅธธ่ขซๆๅŠใ€ๅดไนŸ้šพไปฅ้‡ๅŒ–็š„่ƒฝๅŠ›ไน‹ไธ€ใ€‚ๅฎƒๅนถ้ž็Ž„ๅญฆ๏ผŒ่€Œๆ˜ฏไธ€ๅฅ—ๅฏๆ‹†่งฃใ€ๅฏ่ฎญ็ปƒใ€ๅฏ่ฟญไปฃ็š„ๆ€็ปดๆจกๅž‹๏ผšๅœจไฟกๆฏไธๅฎŒๆ•ดใ€็›ฎๆ ‡ๆจก็ณŠใ€่ต„ๆบๅ—้™็š„ๆƒ…ๅ†ตไธ‹๏ผŒไพ็„ถ่ƒฝๅฟซ้€Ÿๅˆคๆ–ญใ€Œๅšไป€ไนˆใ€ไธŽใ€Œไธๅšไป€ไนˆใ€๏ผŒๅนถ่ฎฉ็”จๆˆทๆ„ฟๆ„ไธบไน‹ไนฐๅ•ๆˆ–ๅœ็•™ใ€‚

2. ่งฃๆž„ไบงๅ“ Sense ็š„ๆ•ฐๅญฆไน‹็พŽ โ€‹

ๅฆ‚ๆžœๆŠŠไบงๅ“ Sense ไป…ไป…็œ‹ไฝœๆ˜ฏโ€œ็ตๅ…‰ไธ€็Žฐโ€็š„่‰บๆœฏ๏ผŒ้‚ฃๅฎƒๅฐฑๆ˜ฏไธๅฏๅคๅˆถ็š„้ป‘็›’ใ€‚ไฝœไธบๅทฅ็จ‹ๅธˆ๏ผŒๆˆ‘ไปฌๆ›ดไน ๆƒฏไบŽ้€่ฟ‡็Žฐ่ฑกๆŽขๅฏปๅบ•ๅฑ‚็š„่ฟ่กŒ่ง„ๅพ‹ใ€‚

ไบ‹ๅฎžไธŠ๏ผŒ้‚ฃไบ›็œ‹ไผผ็Ž„ๅฆ™็š„็›ด่ง‰ๅˆคๆ–ญ๏ผŒๅพ€ๅพ€ๆ˜ฏๆฝœๆ„่ฏ†ๅœจๆž็Ÿญๆ—ถ้—ดๅ†…ๅฎŒๆˆ็š„้ซ˜็ปด่ฎก็ฎ—ใ€‚ไธบไบ†่ฎฉ่ฟ™ไธชๆŠฝ่ฑกๆฆ‚ๅฟตๅ˜ๅพ—ๅฏ่งฃๆž„ใ€ๅฏ่ฎญ็ปƒ๏ผŒๆˆ‘ๅฐ่ฏ•็”จ็†ๆ€ง็š„ๆ•ฐๅญฆ่ฏญ่จ€ๆฅ้‡ๆž„ๆ„Ÿๆ€ง็š„ไบงๅ“็›ด่ง‰๏ผŒๅฐ†ๅ…ถๆ็‚ผไธบไปฅไธ‹ไธ‰ไธชๆ ธๅฟƒๅ…ฌๅผใ€‚

2.1. ๆž็ฎ€ๆ ๆ†ๅ…ฌๅผ๏ผšๅฏปๆ‰พ ROI ็š„ๆœ€ๅคง่งฃ โ€‹

NOTE

ๆ ธๅฟƒ้€ป่พ‘๏ผšๅ“่ถŠ็š„ไบงๅ“ๅ—…่ง‰๏ผˆไบงๅ“ Sense๏ผ‰ๆœฌ่ดจไธŠๆ˜ฏไธ€็งๅฏปๆ‰พโ€œ้ซ˜ๆ ๆ†่งฃโ€็š„่ƒฝๅŠ›๏ผŒๅฏนๆŠ•ๅ…ฅไบงๅ‡บๆฏ”๏ผˆROI๏ผ‰ๆž่‡ดๆ•ๆ„Ÿใ€‚ๅฎƒ่ฆๆฑ‚ๆˆ‘ไปฌๆ•้”ๅœฐๅ‘็Žฐ้‚ฃไบ› โ€œไปทๅ€ผๆž้ซ˜๏ผŒไฝ†ๅฎž็Žฐ่พƒไฝŽโ€ ็š„ไฝŽๅž‚ๆœบไผš๏ผˆLow Hanging Fruits๏ผ‰๏ผŒๅนถๆžœๆ–ญๆ”พๅผƒ้‚ฃไบ› โ€œไปทๅ€ผไฝŽๅˆๅพˆ้šพๅšโ€ ็š„ไผช้œ€ๆฑ‚๏ผˆ็œ‹ไผผ็พŽๅฅฝ๏ผŒๅฎžๅˆ™้™ทๅ…ฅๆŠ€ๆœฏๆณฅๆฝญ๏ผ‰ใ€‚

้€‚็”จๅœบๆ™ฏ๏ผšๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–ใ€Feature ๆŽ’ๆœŸไผ˜ๅ…ˆ็บงใ€MVP ่พน็•Œ็•Œๅฎšใ€‚

ๅฏนไบŽๆŠ€ๆœฏ่ƒŒๆ™ฏ็š„ๅผ€ๅ‘่€…๏ผŒๆœ€ๅคง็š„้™ท้˜ฑๅพ€ๅพ€ๆ˜ฏโ€œๅฏน่ฟ‡ๅบฆ่ฎพ่ฎก็š„่ฟทๆ‹โ€ ไธŽ โ€œไธบไบ†ๆŠ€ๆœฏ่€ŒๆŠ€ๆœฏ็š„่‡ชๆˆ‘ๆ„ŸๅŠจโ€ใ€‚ๅ› ไธบๆŽŒๆกไบ†ๆŸไธชๆ–ฐๆŠ€ๆœฏ๏ผŒๅฐฑๅผบ่กŒๅˆ›้€ ไธ€ไธช้œ€ๆฑ‚๏ผŒไฝ†ๅฅฝ็š„ Product Sense ๅ…ถๅฎžๆ˜ฏๆŠ•ๅ…ฅไบงๅ‡บๆฏ”๏ผˆROI๏ผ‰็š„็›ด่ง‰๏ผš

Productย Sense=Userย ValueComplexity\\mathbf{Product\\ Sense} \\; = \\; \\frac{\\mathbf{User\\ Value}}{\\mathbf{Complexity}}

  • ๅˆ†ๅญโ€”โ€”็”จๆˆทไปทๅ€ผ๏ผˆUser Value๏ผ‰๏ผš ็—›็‚น็ƒˆๅบฆ ร— ่ฆ†็›–ๅนฟๅบฆไธไป…ไป…ๆ˜ฏโ€œ่ฟ™ไธช้—ฎ้ข˜็—›ไธ็—›โ€๏ผŒ่€Œๆ˜ฏ่ฆ้‡ๅŒ–ๆ€่€ƒ๏ผš่ฟ™ๆ˜ฏไธ€ไธช้ซ˜้ข‘ๅˆš้œ€๏ผŒ่ฟ˜ๆ˜ฏไฝŽ้ข‘็—’็‚น๏ผŸ่งฃๅ†ณๅฎƒ่ƒฝไธบไธšๅŠกๅธฆๆฅๅคšๅคง็š„ๅขž้‡๏ผˆ็•™ๅญ˜ใ€่ฝฌๅŒ–ๆˆ–ๆ•ˆ็އๆๅ‡๏ผ‰๏ผŸ
  • ๅˆ†ๆฏโ€”โ€”ๅฎž็Žฐๅคๆ‚ๅบฆ๏ผˆComplexity๏ผ‰๏ผš ๅผ€ๅ‘ๆˆๆœฌ + ็ปดๆŠค็จŽๅคๆ‚ๅบฆไธไป…ๆ˜ฏ Coding ็š„ๆ—ถ้—ด๏ผŒๆ›ดๅŒ…ๅซๆœชๆฅ็š„็ปดๆŠคๆˆๆœฌใ€็ณป็ปŸ็†ตๅขžไปฅๅŠ็”จๆˆท่ฎค็Ÿฅ็š„่ดŸๆ‹…ใ€‚ๅ…จๆ ˆ็š„ๆ™บๆ…งๅœจไบŽ๏ผš็”จๆœ€็ฎ€ๅ•็š„ๆŠ€ๆœฏๆ ˆ๏ผˆLow Complexity๏ผ‰๏ผŒๅŽปๆ’ฌๅŠจๆœ€ๅคง็š„ไธšๅŠกไปทๅ€ผใ€‚ๆ•ขไบŽๅœจ้žๆ ธๅฟƒๅŠŸ่ƒฝไธŠไฝฟ็”จโ€œ็ฌจๅŠžๆณ•โ€๏ผŒๆ˜ฏไธบไบ†ๅœจๆ ธๅฟƒไฝ“้ชŒไธŠไปฅๆญคๆขๅ–โ€œๆž่‡ดไฝ“้ชŒโ€ใ€‚

2.2. ๆดžๅฏŸๅŠ›ๅ…ฌๅผ๏ผš็†ๆ™บไธŽๆƒ…ๆ„Ÿ็š„ๅ…ฑ่ˆž โ€‹

NOTE

ๆ ธๅฟƒ้€ป่พ‘๏ผšๅŒ็†ๅฟƒๆไพ›"ๆ–นๅ‘"๏ผŒๆ‰นๅˆคๆ€งๆ€็ปดๆไพ›"ๅฏผ่ˆช"

  • ๅŒ็†ๅฟƒๅ‘Š่ฏ‰ไฝ "็”จๆˆทๅพˆ็—›่‹ฆ"๏ผŒๆ‰นๅˆคๆ€งๆ€็ปดๅ‘Š่ฏ‰ไฝ "็—›่‹ฆ็š„ๆ นๆบๆ˜ฏไป€ไนˆ"ใ€‚
  • ๅŒ็†ๅฟƒๅ‘Š่ฏ‰ไฝ "็”จๆˆทๆƒณ่ฆไป€ไนˆ"๏ผŒๆ‰นๅˆคๆ€งๆ€็ปดๅ‘Š่ฏ‰ไฝ "ไธบไป€ไนˆๆƒณ่ฆ"ๅ’Œ"ๆœ‰ๆฒกๆœ‰ๆ›ดๅฅฝ็š„่งฃๅ†ณๆ–นๆกˆ"ใ€‚

้€‚็”จๅœบๆ™ฏ๏ผš้œ€ๆฑ‚ๅˆ†ๆžใ€็”จๆˆท่ฐƒ็ ”ใ€ไบงๅ“ๅฎšไฝใ€ๅŠŸ่ƒฝ่ฎพ่ฎกใ€A/B ๆต‹่ฏ•ๆ–นๆกˆ่ฎพ่ฎกใ€‚

ไป…ๆœ‰ๅŒ็†ๅฟƒ๏ผŒไบงๅ“ๅฎนๆ˜“ๆฒฆไธบโ€œ่‡ƒ่‚ฟ็š„่ฎธๆ„ฟๆฑ โ€๏ผˆ็”จๆˆท่ฆไป€ไนˆ็ป™ไป€ไนˆ๏ผŒๅฏผ่‡ดไบงๅ“่‡ƒ่‚ฟ๏ผ‰๏ผ›ไป…ๆœ‰ๆ‰นๅˆคๆ€งๆ€็ปด๏ผŒไบงๅ“ๅฎนๆ˜“ๅ˜ๆˆโ€œๅ†ฐๅ†ท็š„้€ป่พ‘ๆœบๅ™จโ€๏ผˆๆ•ฐๆฎ็œ‹ไผผๅฎŒ็พŽ๏ผŒๅด็ผบไนๆ‰“ๅŠจไบบๅฟƒ็š„ไบบๆ€งๆธฉๅบฆ๏ผ‰ใ€‚ๅ› ๆญค๏ผŒไบงๅ“ Sense ๆœฌ่ดจไธŠไนŸๆ˜ฏๅŒ็†ๅฟƒไธŽๆ‰นๅˆคๆ€งๆ€็ปด็š„็ป“ๅˆ๏ผš

ไพ‹ๅฆ‚๏ผŒ็”จๆˆทๆŠฑๆ€จ"App ๅคชๅคๆ‚"๏ผŒๅŒ็†ๅฟƒ่ฎฉไฝ ๆ„Ÿๅ—ๅˆฐ็”จๆˆท็š„ๆŒซ่ดฅๆ„Ÿ๏ผŒๆ‰นๅˆคๆ€งๆ€็ปด่ฎฉไฝ ่ฟฝ้—ฎ๏ผšๆ˜ฏๅŠŸ่ƒฝๅคชๅคš๏ผŸ่ฟ˜ๆ˜ฏๅฏผ่ˆชไธๆธ…ๆ™ฐ๏ผŸ่ฟ˜ๆ˜ฏๅญฆไน ๆˆๆœฌๅคช้ซ˜๏ผŸโ€”โ€”ไธๅŒ็š„ๆ นๆบ้œ€่ฆไธๅŒ็š„่งฃๅ†ณๆ–นๆกˆใ€‚

Productย Sense=Empathyร—Criticalย Thinking\\mathbf{Product\\ Sense} \\; = \\; \\mathbf{Empathy} \\; \\times \\; \\mathbf{Critical\\ Thinking}

ๆณจๆ„๏ผŒ่ฟ™้‡Œๆ˜ฏไน˜ๆณ•ๅ…ณ็ณป่€Œไธๆ˜ฏๅŠ ๆณ•๏ผŒๆ„ๅ‘ณ็€ไปปไฝ•ไธ€ไธชไธบ้›ถ๏ผŒๆ•ดไธช็ป“ๆžœ้ƒฝๆ˜ฏ้›ถใ€‚ๅชๆœ‰ๅŒ็†ๅฟƒไฝ†็ผบไนๆ‰นๅˆคๆ€งๆ€็ปด๏ผŒไผšๅšๅ‡บ"็”จๆˆท่ฆไป€ไนˆๅฐฑ็ป™ไป€ไนˆ"็š„ๅนณๅบธไบงๅ“๏ผ›ๅชๆœ‰ๆ‰นๅˆคๆ€งๆ€็ปดไฝ†็ผบไนๅŒ็†ๅฟƒ๏ผŒไผšๅšๅ‡บ"ๆŠ€ๆœฏไธŠๅฎŒ็พŽไฝ†็”จๆˆทไธไนฐ่ดฆ"็š„ไบงๅ“ใ€‚

  • ๅŒ็†ๅฟƒ (Empathy)๏ผš ๆ„Ÿ็Ÿฅ็”จๆˆท็œŸๅฎžๆ„Ÿๅ—็š„่ƒฝๅŠ›ใ€‚ๅŒ็†ๅฟƒไธๆ˜ฏ"ๆˆ‘็†่งฃ็”จๆˆท"๏ผŒ่€Œๆ˜ฏ"ๆˆ‘่ƒฝๅ˜ๆˆ็”จๆˆท"ใ€‚่ฟ™ๆ„ๅ‘ณ็€๏ผš

    • ๆƒ…ๅขƒไปฃๅ…ฅ๏ผš่ƒฝๅคŸๅˆ‡ๆขๅˆฐ็”จๆˆท็š„็œŸๅฎžไฝฟ็”จๅœบๆ™ฏใ€‚ไพ‹ๅฆ‚๏ผŒ่ฎพ่ฎกๅค–ๅ– App ๆ—ถ๏ผŒไธๆ˜ฏๅœจๅŠžๅ…ฌๅฎคๆƒณ่ฑก"็”จๆˆทๆƒณ่ฆไป€ไนˆๅŠŸ่ƒฝ"๏ผŒ่€Œๆ˜ฏ็ซ™ๅœจ้›จๅคœ่ทฏ่พนใ€ๆ‰‹ๆœบ็”ต้‡ 10% ็š„็œŸๅฎžๅœบๆ™ฏไธญๆ€่€ƒใ€‚
    • ๆƒ…็ปชๆ•ๆ‰๏ผš่ƒฝๅคŸ่ฏ†ๅˆซ็”จๆˆทๆœช่ฏดๅ‡บๅฃ็š„ๆƒ…็ปชใ€‚็”จๆˆทๆŠฑๆ€จ"้กต้ขๅŠ ่ฝฝๆ…ข"๏ผŒ่ƒŒๅŽ็š„ๆƒ…็ปชๅฏ่ƒฝๆ˜ฏ"ๆˆ‘้ฅฟๅพ—ไธ่กŒไบ†๏ผŒ่ฟ˜่ฆ็ญ‰ๅคšไน…๏ผŸ"โ€”โ€”่งฃๅ†ณๆ–นๆกˆไธๅชๆ˜ฏไผ˜ๅŒ–ไปฃ็ ๏ผŒๆ›ดๅฏ่ƒฝๆ˜ฏไผ˜ๅŒ–"็ญ‰ๅพ…ๆ—ถ็š„ไฝ“้ชŒ"๏ผˆๆฏ”ๅฆ‚ๆ˜พ็คบ้ข„่ฎกๆ—ถ้—ดใ€ๆ’ญๆ”พๅŠจ็”ป๏ผ‰ใ€‚
    • ่ฎค็Ÿฅๅฏน้ฝ๏ผšไธ้ข„่ฎพ็”จๆˆทๅพˆ่ชๆ˜Žใ€‚็”จๆˆทไธไผšๅƒไฝ ไธ€ๆ ท็†Ÿๆ‚‰ไบงๅ“๏ผŒไป–ไปฌไผšๅœจไฝ ๆ„ๆƒณไธๅˆฐ็š„ๅœฐๆ–นๅกไฝใ€‚ไพ‹ๅฆ‚๏ผŒๆณจๅ†Œ้กต้ข็š„"ๅฏ†็ ๅผบๅบฆ"ๆŒ‡็คบๅ™จ๏ผŒ็”จๆˆทๅฏ่ƒฝๆ นๆœฌ็œ‹ไธๆ‡‚้‚ฃไบ›้ขœ่‰ฒไปฃ่กจไป€ไนˆใ€‚
    • ๅ้ขๆกˆไพ‹๏ผšๆŸ็”ตๅ•† App ๅœจ่ดญ็‰ฉ่ฝฆ้กต้ขๆ”พ็ฝฎไบ† 20 ไธชๅŠŸ่ƒฝๅ…ฅๅฃ๏ผŒไบงๅ“็ป็†่ง‰ๅพ—"ๅŠŸ่ƒฝๅพˆๅ…จ"๏ผŒไฝ†็”จๆˆทๅชๆƒณ่ฆไธ€ไธช"ๅฟซ้€Ÿ็ป“็ฎ—"ๆŒ‰้’ฎใ€‚
  • ๆ‰นๅˆคๆ€งๆ€็ปด (Critical Thinking)๏ผš ้€่ฟ‡็Žฐ่ฑก็œ‹ๆœฌ่ดจ็š„่ƒฝๅŠ›ใ€‚ๆ‰นๅˆคๆ€งๆ€็ปดไธๆ˜ฏ"่ดจ็–‘ไธ€ๅˆ‡"๏ผŒ่€Œๆ˜ฏ"่ฟฝ้—ฎไธบไป€ไนˆ"ใ€‚่ฟ™ๆ„ๅ‘ณ็€๏ผš

    • ้œ€ๆฑ‚ๆŒ–ๆŽ˜๏ผš็”จๆˆท่ฏด"ๆƒณ่ฆ"็š„ไธไธ€ๅฎšๆ˜ฏไป–ไปฌ"้œ€่ฆ"็š„ใ€‚็ปๅ…ธ็š„ไพ‹ๅญ๏ผš็”จๆˆท่ฏด"ๆˆ‘่ฆไธ€ๅŒนๆ›ดๅฟซ็š„้ฉฌ"๏ผŒ่ƒŒๅŽ็š„้œ€ๆฑ‚ๆ˜ฏ"ๆ›ดๅฟซๅˆฐ่พพ็›ฎ็š„ๅœฐ"โ€”โ€”่งฃๅ†ณๆ–นๆกˆๅฏ่ƒฝๆ˜ฏๆฑฝ่ฝฆใ€็ซ่ฝฆใ€้ฃžๆœบ๏ผŒ่€Œไธๆ˜ฏ่ฎญ็ปƒๆ›ดๅฟซ็š„้ฉฌใ€‚
    • ๆ•ฐๆฎ่งฃ่ฏป๏ผš่ƒฝๅคŸๅŒบๅˆ†"็›ธๅ…ณๆ€ง"ๅ’Œ"ๅ› ๆžœๅ…ณ็ณป"ใ€‚ๆ•ฐๆฎๆ˜พ็คบ"ไฝฟ็”จๆŸๅŠŸ่ƒฝ็š„็”จๆˆท็•™ๅญ˜็އๆ›ด้ซ˜"๏ผŒไฝ†็ฉถ็ซŸๆ˜ฏ"ๅŠŸ่ƒฝๅธฆๆฅ็•™ๅญ˜"่ฟ˜ๆ˜ฏ"้ซ˜็•™ๅญ˜็”จๆˆทๆฐๅฅฝ็”จไบ†่ฟ™ไธชๅŠŸ่ƒฝ"๏ผŸ้œ€่ฆ่ฟ›ไธ€ๆญฅ้ชŒ่ฏใ€‚
    • ๅ‡่ฎพๆŒ‘ๆˆ˜๏ผšๅฏนๆฏไธชๅŠŸ่ƒฝๅ‡่ฎพ้ƒฝ่ฆ้—ฎ"ๅฆ‚ๆžœไธๅšไผšๆ€Žๆ ท๏ผŸ"ใ€‚ไพ‹ๅฆ‚๏ผŒๅขžๅŠ "ๆฏๆ—ฅ็ญพๅˆฐ"ๅŠŸ่ƒฝๅ‰๏ผŒๅ…ˆ้—ฎ๏ผš็”จๆˆทไธ็ญพๅˆฐ็š„ๆŸๅคฑๆ˜ฏไป€ไนˆ๏ผŸๅฆ‚ๆžœ็ญพๅˆฐๅธฆๆฅ็š„ไปทๅ€ผไธ่ถณไปฅๆ”นๅ˜็”จๆˆท่กŒไธบ๏ผŒ้‚ฃๅฐฑๆ˜ฏไผช้œ€ๆฑ‚ใ€‚ ๅฎž้™…ๆกˆไพ‹๏ผšAirbnb ๆ—ฉๆœŸๅ‘็Žฐ็”จๆˆทไธๆ„ฟ้ข„่ฎข๏ผŒไธๆ˜ฏๅ› ไธบไปทๆ ผๆˆ–ๆˆฟๆบ๏ผŒ่€Œๆ˜ฏๅ› ไธบ"ไฟกไปป้™Œ็”Ÿๆˆฟไธœ"ใ€‚ไบŽๆ˜ฏไป–ไปฌๆŠ•ๅ…ฅๅคง้‡็ฒพๅŠ›ๅš"ๆˆฟไธœ้ชŒ่ฏ""็œŸๅฎž่ฏ„ไปท""็…ง็‰‡่ฎค่ฏ"๏ผŒ่€Œไธๆ˜ฏไผ˜ๅŒ–ๆœ็ดข็ฎ—ๆณ•โ€”โ€”่ฟ™ๅฐฑๆ˜ฏๆ‰นๅˆคๆ€งๆ€็ปดๅธฆๆฅ็š„ๆดžๅฏŸใ€‚

2.3. AI ๅ‰ๆฒฟ่ง†่ง’ๅ…ฌๅผ๏ผšไปŽโ€œๅŠŸ่ƒฝไบงๅ“โ€ๅˆฐโ€œ่ฏญๅขƒๆž„ๅปบโ€ โ€‹

NOTE

ๆ ธๅฟƒๆดžๅฏŸ๏ผšAI ๆ—ถไปฃ็š„็จ€็ผบ่ต„ๆบไธๅ†ๆ˜ฏโ€œ็”Ÿๆˆ็ญ”ๆกˆ็š„่ƒฝๅŠ›โ€๏ผˆๆจกๅž‹ๅทฒ็ปๅ…ทๅค‡๏ผ‰๏ผŒ่€Œๆ˜ฏโ€œๆๅ‡บๆญฃ็กฎ้—ฎ้ข˜็š„่ƒฝๅŠ›โ€ใ€‚Product Sense ็š„ๆ ธๅฟƒไปŽโ€œ่ฎพ่ฎกๅŠŸ่ƒฝไบคไบ’โ€่ฝฌๅ˜ไธบโ€œ่ฎพ่ฎก้šๆ€ง็š„ๆ€็ปด่ทฏๅพ„โ€๏ผŒๆˆ‘ไปฌ้œ€่ฆๅŒๆ—ถๅ…ทๅค‡ ็ฟป่ฏ‘ๅฎ˜๏ผˆๅฐ†ๆจก็ณŠ้œ€ๆฑ‚็ป“ๆž„ๅŒ–๏ผ‰ ๅ’Œ ๆžถๆž„ๅธˆ๏ผˆๆž„ๅปบๆ™บ่ƒฝไฝ“ๅทฅไฝœๆต๏ผ‰ ็š„ๅŒ้‡่ƒฝๅŠ›ใ€‚

AI ๆจกๅž‹ๆœฌ่บซๆ˜ฏ้€š็”จ็š„ๅผ•ๆ“Ž๏ผŒๆˆ‘ไปฌ้œ€่ฆไธบๅฎƒ่ฎพ่ฎกๅบ•็›˜ๅ’Œๆ–นๅ‘็›˜๏ผŒไบงๅ“ Sense ๅœจ AI ๆ—ถไปฃไนŸๅฐฑๅŒ…ๅซไบ†ๆ–ฐ็š„็‰นๅพ๏ผšๅฎšไน‰้—ฎ้ข˜็š„่ƒฝๅŠ›โ€”โ€”่ƒฝๆŠŠๆจก็ณŠ็š„ไบบ็ฑป้œ€ๆฑ‚็ฟป่ฏ‘ๆˆ AI ่ƒฝ็†่งฃ็š„็ฒพ็กฎๆŒ‡ไปคๅ’Œ็Žฏๅขƒ๏ผš

Productย Sense=Problemย Definition+Contextย Design\\mathbf{Product\\ Sense} \\; = \\; \\mathbf{Problem\\ Definition} \\; + \\; \\mathbf{Context\\ Design}

  • ๅฎšไน‰้—ฎ้ข˜๏ผˆProblem Definiton๏ผ‰๏ผš
    • ็ป“ๆž„ๅŒ–ๆญงไน‰๏ผšAI ๆ‹ฅๆœ‰ๆ— ้™็š„ๆฝœๅŠ›๏ผŒไนŸไผด้š็€ๆ— ้™็š„ๅ‘ๆ•ฃใ€‚Product Sense ๅœจๆญคๅค„ไฝ“็Žฐไธบ โ€œๆ”ถๆ•›่ƒฝๅŠ›โ€โ€”โ€”่ƒฝๅฆๅฐ†ไธ€ไธชๆจก็ณŠ็š„ไธšๅŠก็—›็‚น๏ผˆๅฆ‚โ€œๅˆ†ๆž็”จๆˆทๆƒ…็ปชโ€๏ผ‰๏ผŒๆ‹†่งฃไธบไธ€็ป„ AI ๅฏ็†่งฃใ€ๅฏๆ‰ง่กŒ็š„็ฒพๅ‡†ๆ„ๅ›พใ€‚
    • ๅทฅไฝœๆตๆžถๆž„๏ผš่ฟ™ไธไป…ไป…ๆ˜ฏๅ†™ๅ‡บไธ€ๅฅๅฎŒ็พŽ็š„ Prompt๏ผŒๆ›ดๆ˜ฏ่ฎพ่ฎก Agentic Workflow๏ผˆๆ™บ่ƒฝไฝ“ๅทฅไฝœๆต๏ผ‰็š„่ฟ‡็จ‹ใ€‚ๆˆ‘ไปฌ้œ€่ฆๅˆคๆ–ญๅ“ชไบ›็Žฏ่Š‚ๅˆฉ็”จ LLM ็š„้€ป่พ‘ๆŽจ็†๏ผˆๆฆ‚็އๆ€ง๏ผ‰๏ผŒๅ“ชไบ›็Žฏ่Š‚ๅฟ…้กป็”ฑไผ ็ปŸไปฃ็ ๏ผˆ็กฎๅฎšๆ€ง๏ผ‰ๆฅๅ…œๅบ•๏ผŒไปŽ่€Œๆž„ๅปบๅ‡บ็จณๅฎšๅฏ้ ็š„็ณป็ปŸใ€‚
  • ่ฏญๅขƒ่ฎพ่ฎก๏ผˆContext Design๏ผ‰๏ผšไปŽโ€œๅ–‚ๆ•ฐๆฎโ€ๅˆฐโ€œๆž„ๅปบไฟกๆฏๅœบๅŸŸโ€
    • ๆ— ๅฝข็•Œ้ข่ฎพ่ฎก๏ผšๅœจ AI ๅบ”็”จไธญ๏ผŒ็œŸๆญฃ็š„ UI ๅพ€ๅพ€ไธๆ˜ฏๅฑๅน•ไธŠ็š„ๅƒ็ด ๏ผŒ่€Œๆ˜ฏ็œ‹ไธ่ง็š„ Context Window๏ผˆไธŠไธ‹ๆ–‡็ช—ๅฃ๏ผ‰ใ€‚Product Sense ๅฐฑๆ˜ฏ่ฎพ่ฎก่ฟ™ไธชโ€œๆ— ๅฝข็•Œ้ขโ€็š„่‰บๆœฏโ€”โ€”ๅ†ณๅฎš่ฎฉ AI โ€œ็œ‹ๅˆฐโ€ไป€ไนˆ๏ผŒไปฅๅŠโ€œๅฟฝ็•ฅโ€ไป€ไนˆใ€‚
    • ็บฆๆŸไธŽ่พน็•Œๅทฅ็จ‹๏ผšProduct Sense ๅœจ่ฟ™้‡Œไฝ“็Žฐไธบ๏ผšๆˆ‘ไปฌ่ƒฝๅฆไธบ AI ๆž„ๅปบไธ€ไธชโ€œๅ…จ็Ÿฅๅ…จ่ƒฝโ€ไธ”โ€œไธ“ๆณจๅฝ“ไธ‹โ€็š„ไธŠไธ‹ๆ–‡็Žฏๅขƒ๏ผŒไฝฟๅ…ถ่พ“ๅ‡บ็ฒพๅ‡†ไธ”ๅฏๆŽงใ€‚ๆ ธๅฟƒๆŒ‘ๆˆ˜ๆ˜ฏ๏ผšๅฆ‚ไฝ•ๅœจๆœ‰้™็š„ไธŠไธ‹ๆ–‡็ช—ๅฃ๏ผˆContext Window๏ผ‰ไธญ๏ผŒๆไพ›ๆœ€ๅ…ณ้”ฎ็š„ๅ…ˆ้ชŒ็Ÿฅ่ฏ†ใ€็บฆๆŸๆกไปถๅ’Œๅฐ‘ๆ ทๆœฌ๏ผˆFew-Shot๏ผ‰ๆกˆไพ‹๏ผŒ่ฎฉ AI ๅœจไฝ ้ข„่ฎพ็š„โ€œ่ฏญๅขƒๅœบโ€้‡Œ็ฒพๅ‡†่ˆž่นˆ๏ผŒ่€Œไธๆ˜ฏ่ƒกไนฑๅนป่ง‰ใ€‚

3. ๅˆปๆ„็ปƒไน ๏ผšๅฆ‚ไฝ•ไปŽโ€œๅ‡ญๆ„Ÿ่ง‰โ€ๅˆฐโ€œๆœ‰็›ด่ง‰โ€๏ผŸ โ€‹

ๅพˆๅคšไบบ่ฎคไธบ Sense ๆ˜ฏๅคฉ่ต‹๏ผŒๆ— ๆณ•ๅญฆไน ๏ผŒไฝ†ๆˆ‘ๅšไฟก็›ด่ง‰ๆ˜ฏ็ป้ชŒๅœจๆฝœๆ„่ฏ†้‡Œ็š„ๅŽ‹็ผฉ็ฎ—ๆณ•ใ€‚ๆˆ‘ไปฌๅฏไปฅ้€š่ฟ‡ไปฅไธ‹ไธ‰ไธชๆญฅ้ชค็š„โ€œๅˆปๆ„็ปƒไน โ€ๆฅ่ฎญ็ปƒ่ฟ™็ง็ฎ—ๆณ•๏ผš

3.1. ๅปบ็ซ‹โ€œ้ข„ๆต‹-้ชŒ่ฏโ€็š„ๅ้ฆˆ้—ญ็Žฏ โ€‹

่ฟ™ๆ˜ฏๆœ€็กฌๆ ธ็š„่ฎญ็ปƒๆณ•๏ผŒไธ่ฆๅชๆ˜ฏ่ขซๅŠจๅœฐ็œ‹ๆ•ฐๆฎ๏ผŒ่ฆไธปๅŠจๅš้ข„ๆต‹ใ€‚

  • ็ปƒไน ๆ–นๆณ•๏ผšๅœจไปปไฝ•ๆ–ฐๅŠŸ่ƒฝไธŠ็บฟๅ‰๏ผˆๆˆ–่€…่ง‚ๅฏŸ็ซžๅ“ๆ”น็‰ˆๆ—ถ๏ผ‰๏ผŒๅœจ็ฌ”่ฎฐๆœฌไธŠๅ†™ไธ‹ไฝ ็š„้ข„ๆต‹ใ€‚
    • โ€œๆˆ‘่ตŒ่ฟ™ไธชๆŒ‰้’ฎๆ”นไธบ็บข่‰ฒ๏ผŒ็‚นๅ‡ป็އไผšๆๅ‡ 5%ใ€‚โ€
    • โ€œๆˆ‘่ฎคไธบ็ซžๅ“ๆŽจๅ‡บ่ฟ™ไธชๅŠŸ่ƒฝๆ˜ฏๆƒณ่งฃๅ†ณ็•™ๅญ˜้—ฎ้ข˜๏ผŒไฝ†ๅฏ่ƒฝไผšๅฏผ่‡ด็”จๆˆทๅๆ„Ÿใ€‚โ€
  • ๅค็›˜๏ผšไธ€ๅ‘จๅŽ๏ผŒ็œ‹็œŸๅฎžๆ•ฐๆฎๆˆ–ๅธ‚ๅœบๅ้ฆˆใ€‚ๅฆ‚ๆžœไฝ ็Œœๅฏนไบ†๏ผŒๅผบๅŒ–่ฟ™ไธช็›ด่ง‰ใ€‚ๅฆ‚ๆžœไฝ ็Œœ้”™ไบ†๏ผŒ่ฟ™ๆ‰ๆ˜ฏๆœ€ๅฎ่ดต็š„ๆ—ถๅˆป๏ผšๅŽปๆทฑ็ฉถไธบไป€ไนˆ๏ผŸๆ˜ฏ้ซ˜ไผฐไบ†็”จๆˆทๅŠจๅŠ›๏ผŸ่ฟ˜ๆ˜ฏไฝŽไผฐไบ†ๆ“ไฝœ้—จๆง›๏ผŸ
  • ๅŽŸ็†๏ผšๅคงๆจกๅž‹็š„่ฎญ็ปƒไพ้  Loss Function๏ผˆๆŸๅคฑๅ‡ฝๆ•ฐ๏ผ‰ๆฅๆ”ถๆ•›๏ผŒไบบ็š„็›ด่ง‰ไนŸไธ€ๆ ทใ€‚ๅชๆœ‰้€š่ฟ‡ไธๆ–ญ็š„โ€œ้ข„ๆต‹ๅคฑ่ดฅโ€๏ผŒๆˆ‘ไปฌ็š„ๅคง่„‘ๆ‰่ƒฝไฟฎๆญฃๆƒ้‡๏ผŒไปŽ่€Œ่Žทๅพ—ๆ›ด็ฒพๅ‡†็š„ Senseใ€‚

3.2. ๅŸนๅ…ปโ€œๆ‘ฉๆ“ฆๅŠ›ๆ—ฅ่ฎฐโ€ โ€‹

ๅพˆๅคšๆ—ถๅ€™ๆˆ‘ไปฌๅฏน็—›็‚น่ง†่€Œไธ่ง๏ผŒๆ˜ฏๅ› ไธบๆˆ‘ไปฌไน ๆƒฏไบ†๏ผŒ่ฆ่ฎญ็ปƒไบงๅ“ Sense๏ผŒๅฐฑ่ฆๆขๅคๅฏนโ€œไธ่ˆ’ๆœโ€็š„ๆ•ๆ„Ÿๅบฆใ€‚

  • ็ปƒไน ๆ–นๆณ•๏ผšๆฏๅคฉ่ฎฐๅฝ• 3 ไธช่ฎฉ่‡ชๅทฑๆ„Ÿๅˆฐโ€œๅพฎๅฐไธ็ˆฝโ€็š„ๆ—ถๅˆป๏ผŒๆ— ่ฎบๆ˜ฏไฝฟ็”จ่‡ชๅฎถไบงๅ“่ฟ˜ๆ˜ฏ็”Ÿๆดปไธญ็š„็ไบ‹ใ€‚

    • โ€œๅœจ่ฟ™ไธช App ๅคๅˆถ้ชŒ่ฏ็ ๅฑ…็„ถไธ่ƒฝ่‡ชๅŠจ่ทณ่ฝฌ๏ผŒ่ฟ˜ๅพ—ๆˆ‘ๆ‰‹ๅŠจๅˆ‡ๅ›žๅŽป๏ผŒๅฅฝ็ƒฆใ€‚โ€
    • โ€œ่ฟ™ไธชๆŠฅ้”™ๆ็คบ่ฏดโ€˜็ฝ‘็ปœ้”™่ฏฏ 404โ€™๏ผŒไธบไป€ไนˆไธ็›ดๆŽฅๅ‘Š่ฏ‰ๆˆ‘โ€˜่ฏทๆฃ€ๆŸฅ Wi-Fiโ€™๏ผŸโ€
  • ่ฟ›้˜ถ๏ผšไธๅชๆ˜ฏๆŠฑๆ€จ๏ผŒๅผบ่ฟซ่‡ชๅทฑๆž„ๆ€ไธ€ไธช โ€œๆœ€ๅฐๆ”นๅŠจ่งฃโ€ใ€‚

    • ่งฃๆณ•๏ผšๅœจๅคๅˆถ้ชŒ่ฏ็ ็š„็Ÿญไฟก้‡ŒๅŠ ไธ€ไธช Deep Link๏ผŒไธ€้”ฎ่ทณๅ›ž Appใ€‚

3.3. ่งฃๆž„โ€œ้ญ”ๆณ•โ€๏ผšไปŽๆƒŠๅนๅˆฐๅคๅˆป็š„้€†ๅ‘ๅทฅ็จ‹ โ€‹

NOTE

ๅ››ๆญฅ้—ญ็Žฏ: โ€œ่ฎฐๅฝ•-่งฃๅ‰–-้‡ๆž„-ๆฒ‰ๆท€โ€

ๅฝ“ๆˆ‘ไปฌ้‡ๅˆฐไธ€ไธช่ฎฉ่‡ชๅทฑๆƒŠๅน็š„ไบงๅ“๏ผˆๆฏ”ๅฆ‚ๅˆๆฌกไฝฟ็”จ ChatGPTๆˆ–ๆฒ‰่ฟทไบŽ Vibe Coding๏ผ‰ๆ—ถ๏ผŒๅƒไธ‡ไธ่ฆๅชๅœ็•™ๅœจๆถˆ่ดน่€…็š„่ง†่ง’ๆ„Ÿๅนโ€œ็œŸๅฅฝ็”จโ€ใ€‚้‚ฃๆ˜ฏโ€œ้ญ”ๆณ•โ€็”Ÿๆ•ˆ็š„ๆ—ถๅˆป๏ผŒไนŸๆ˜ฏไฝ ไฝœไธบ้ญ”ๆœฏๅธˆๅญฆๅพ’ๆ‹†่งฃๆˆๆณ•็š„ๆœ€ไฝณๆ—ถๆœบใ€‚

่‹ฅๆƒณๅฐ†่ฟ™็งๆƒŠๅนๅ†…ๅŒ–ไธบ่‡ชๅทฑ็š„ Sense๏ผŒๆˆ‘ไปฌ้œ€่ฆๆ‰ง่กŒไธ€ๅฅ—ๅฎŒๆ•ด็š„้€†ๅ‘ๅทฅ็จ‹ๅพช็Žฏ๏ผš

๏ผˆ1๏ผ‰่ฎฐๅฝ• (Record)๏ผšๆ•ๆ‰ๆƒ…็ปช้ข—็ฒ’ๅบฆ โ€‹

ไธ่ฆ็ญ‰ๅ›žๅคดๅ†ๆƒณ๏ผŒ่ฆๅœจโ€œๆƒŠๅนโ€ๅ‘็”Ÿ็š„ๅฝ“ไธ‹๏ผŒๅƒๆ•ๆ‰่ด่ถไธ€ๆ ทๆ•ๆ‰ไฝ ็š„ๆƒ…็ปช๏ผš

  • ๆˆชๅฑ/ๅฝ•ๅฑ๏ผš่ฎฐๅฝ•ไธ‹้‚ฃไธช่ฎฉไฝ ๅ˜ด่ง’ไธŠๆ‰ฌๆˆ–็žณๅญ”ๆ”พๅคง็š„็žฌ้—ด๏ผˆAha Moment๏ผ‰ใ€‚
  • ๅพฎ่ง‚ๆƒ…็ปชๆ ‡ๆณจ๏ผš้—ฎ่‡ชๅทฑ๏ผŒโ€œ่ฟ™ไธ€็ง’๏ผŒไธบไป€ไนˆๆˆ‘่ง‰ๅพ—โ€˜็ˆฝโ€™๏ผŸโ€ๆ˜ฏๅ› ไธบ้‚ฃไธชไธๆป‘็š„่ฝฌๅœบๅŠจ็”ป๏ผŒ่ฟ˜ๆ˜ฏๅ› ไธบๆ–‡ๆกˆๆฐๅฅฝๅ‡ปไธญไบ†ๆˆ‘็š„่ฝฏ่‚‹๏ผŒ่ฟ˜ๆ˜ฏๅ› ไธบๅฎƒ็š„ๅ“ๅบ”้€Ÿๅบฆๅฟซๅพ—ไธๅฏๆ€่ฎฎ๏ผŸ
    • ๆกˆไพ‹๏ผšLinear ็š„ๅฎ˜็ฝ‘ไน‹ๆ‰€ไปฅ่ฎฉไบบๆƒŠๅน๏ผŒไธไป…ๅ› ไธบ่ฎพ่ฎก๏ผŒๆ›ดๅ› ไธบๅฝ“ไฝ ๆŒ‰ J / K ้”ฎๆ—ถ็š„ๆฏซ็ง’็บงๅ“ๅบ”๏ผŒ่ฟ™็งโ€œๆŽŒๆŽงๆ„Ÿโ€ๆ˜ฏๆƒ…็ปช็š„ๆฅๆบใ€‚

๏ผˆ2๏ผ‰่งฃๅ‰– (Peel)๏ผšไธŠๅธ่ง†่ง’็š„้€ป่พ‘ๆ‹†่งฃ โ€‹

ๅˆ‡ๆขๅˆฐไบงๅ“็ป็†็š„ไธŠๅธ่ง†่ง’๏ผŒ้€่ฟ‡่กจ็šฎ็œ‹้ชจๆžถใ€‚ๆ€่€ƒๅฎƒๅšๅฏนไบ†ๅ“ชไธ‰ไปถไบ‹๏ผš

  • ๅฎƒๆปก่ถณไบ†ๅ“ชไธชๅฑ‚็บง็š„้œ€ๆฑ‚๏ผŸๆ˜ฏๅบ•ๅฑ‚็š„็”Ÿ็†/ๅฎ‰ๅ…จ๏ผŒ่ฟ˜ๆ˜ฏ้กถๅฑ‚็š„่‡ชๆˆ‘ๅฎž็Žฐ/่™š่ฃ๏ผŸๅฎƒๆ˜ฏๅธฎไฝ ็œไบ†ๆ—ถ้—ด๏ผŒ่ฟ˜ๆ˜ฏๅธฎไฝ ๆ€ไบ†ๆ—ถ้—ด๏ผŸ
  • ๅฎƒๆžๅ…ถๅคง่ƒ†ๅœฐโ€œๅˆ ๅ‡โ€ไบ†ไป€ไนˆ๏ผŸไผŸๅคง็š„ไบงๅ“ๅพ€ๅพ€็”ฑๅฎƒไธๅšไป€ไนˆๆฅๅฎšไน‰ใ€‚TikTok ๅˆ ๅ‡ไบ†็”จๆˆทโ€œ้€‰ๆ‹ฉ็œ‹ไป€ไนˆโ€็š„ๆƒๅˆฉ๏ผŒ็›ดๆŽฅๅ–‚้ฅญ๏ผ›Notion ๆ—ฉๆœŸๅˆ ๅ‡ไบ†ๅคๆ‚็š„ๆ ผๅผๅ…ผๅฎน๏ผŒๅชไฟ็•™ Blockใ€‚
  • ๅฎƒ็š„ๆ ธๅฟƒๅขž้•ฟ้ฃž่ฝฎๆ˜ฏไป€ไนˆ๏ผŸๅฎƒๆ˜ฏๅฆ‚ไฝ•่ฎฉไฝ ๅฟไธไฝๆƒณๅˆ†ไบซ็ป™ๅˆซไบบ็š„๏ผŸๆ˜ฏๅˆฉ็”จไบ†ไฝ ็š„็‚ซ่€€ๆฌฒ๏ผŒ่ฟ˜ๆ˜ฏๅ•็บฏ็š„ไบ’ๅˆฉๆœบๅˆถ๏ผŸ

๏ผˆ3๏ผ‰้‡ๆž„ (Reconstruct)๏ผšๅ…จๆ ˆ่ง†่ง’็š„ๅคๅˆปๆŽจๆผ” โ€‹

ๅ‘ๆŒฅๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„ๆŠ€ๆœฏไผ˜ๅŠฟ๏ผŒๅœจ่„‘ๆตทไธญ๏ผˆๆˆ–่‰็จฟ็บธไธŠ๏ผ‰ๅฐ่ฏ•้‡ๅปบๅฎƒใ€‚

  • ๆŠ€ๆœฏๆŽจๆผ”๏ผšไธบไบ†ๅฎž็Žฐ่ฟ™ไธชไธๆป‘ไฝ“้ชŒ๏ผŒๅฎƒ็š„ๅ‰็ซฏๅฏ่ƒฝ็”จไบ†ไป€ไนˆๆŠ€ๆœฏๆ ˆ๏ผŸๅŽ็ซฏๆ˜ฏๅฆ‚ไฝ•ๅค„็†้ซ˜ๅนถๅ‘็š„๏ผŸๅฆ‚ๆžœไฝ ๆฅๅš๏ผŒไฝ ไผšๆ€Žไนˆ่ฎพ่ฎกๆ•ฐๆฎๅบ“ Schema๏ผŸ
  • ๆˆๆœฌไผฐ็ฎ—๏ผšๅฎƒไธบไบ†่ฟ™ไธชไฝ“้ชŒ๏ผŒไป˜ๅ‡บไบ†ๅคšๅคง็š„ๅทฅ็จ‹ไปฃไปท๏ผŸ่ฟ™ไธชไปฃไปทๅœจๅ•†ไธšไธŠๅˆ’็ฎ—ๅ—๏ผŸ

๏ผˆ4๏ผ‰ๆฒ‰ๆท€ (Crystallize)๏ผš่พ“ๅ‡บๅ€’้€ผๅ†…ๅŒ– โ€‹

่ฟ™ๆ˜ฏๆœ€ๅ…ณ้”ฎใ€ๅดๆœ€ๅธธ่ขซๅฟฝ็•ฅ็š„ไธ€ๆญฅใ€‚ๆฒกๆœ‰่พ“ๅ‡บ็š„ๆ€่€ƒ๏ผŒๅฐฑๅƒๆฒกๆœ‰ commit ็š„ไปฃ็ ๏ผŒ้šๆ—ถไผšไธขๅคฑใ€‚

  • ๅ†™ไธ€็ฏ‡โ€œไบงๅ“้ชŒ่ฏๆŠฅๅ‘Šโ€๏ผšไธ่ฆๅชๅœจ่„‘ๅญ้‡Œๆƒณ๏ผŒ่ฆๅ†™ไธ‹ๆฅใ€‚ๆฏ”ๅฆ‚ๅฐ่ฏ•ๅ†™ไธ€็ฏ‡ใ€Šไธบไป€ไนˆ X ไบงๅ“่ฎฉๆˆ‘ๆฌฒ็ฝขไธ่ƒฝ๏ผŸใ€‹๏ผŒๅผบ่ฟซ่‡ชๅทฑๆŠŠๆจก็ณŠ็š„ๆ„Ÿ่ง‰็ป“ๆž„ๅŒ–ไธบๆ–‡ๅญ—ใ€‚

  • ๅ‘่ตทไธ€ๅœบโ€œไบบๆœบ่พฉ่ฎบโ€ (Initiate a Human-AI Debate)๏ผš ไธ่ฆๆ€ฅ็€ๆŠŠ่ง‚็‚นๅ‘็ป™ๅŒ่กŒ๏ผŒๅ…ˆ่ฎฉ AI ๅ……ๅฝ“ไฝ ็š„โ€œ็บข้˜Ÿโ€ไนŸๅฐฑๆ˜ฏโ€œๅ‡ๆƒณๆ•Œโ€ใ€‚

    • ็ฌฌไธ€่ฝฎ๏ผˆAI ้™ช็ปƒ๏ผ‰๏ผšๆŠŠ่‡ชๅทฑ็š„ๅˆ†ๆžๅ‘็ป™ GPT/Claude๏ผŒๅนถๅŠ ไธŠ่ฟ™ๅฅ Prompt๏ผšโ€œๅฆ‚ๆžœไฝ ๆ˜ฏ่ฟ™ไธชไบงๅ“็š„ CEO๏ผŒ่ฏทๆŒ‡ๅ‡บๆˆ‘ๅˆ†ๆžไธญ็š„ๆผๆดž๏ผŒๆœ‰ๅ“ชไบ›ๅ•†ไธš่€ƒ้‡ๆˆ–ๆŠ€ๆœฏ้™ๅˆถๆ˜ฏๆˆ‘ๆฒก็œ‹ๅˆฐ็š„๏ผŸโ€ AI ๅพ€ๅพ€่ƒฝไปŽไฝ ๅฟฝ็•ฅ็š„ๅކๅฒ่ƒŒๆ™ฏใ€้šๅฝขๆˆๆœฌๆˆ–็ซžไบ‰ๆ ผๅฑ€่ง’ๅบฆ็ป™ๅ‡บๆƒŠไบบ็š„่กฅๅ……ใ€‚
    • ็ฌฌไบŒ่ฝฎ๏ผˆ็œŸไบบ้ชŒ่ฏ๏ผ‰๏ผšๅธฆ็€ AI ๅฎŒๅ–„่ฟ‡็š„่ง‚็‚น๏ผŒๅ†ๅŽป็คพๅŒบๆˆ–ๅŒ่กŒ้—ดไบคๆตใ€‚ไฝ ไผšๅ‘็Žฐ๏ผŒไฝ ็š„ๆดžๅฏŸๆทฑๅบฆๅทฒ็ป่ถ…่ถŠไบ† 90% ็š„ไบบ๏ผŒ่€Œ็œŸไบบ็š„ๅ้ฆˆๅˆ™่ƒฝ่กฅๅ…… AI ๆ— ๆณ•่งฆ่พพ็š„โ€œ้š็ง˜่กŒไธšๆฝœ่ง„ๅˆ™โ€ๆˆ–โ€œไบบๆ€งๅพฎๅฆ™ไน‹ๅค„โ€ใ€‚

4. ็ป“่ฏญ๏ผšไปŽโ€œๅฆ‚ไฝ•ๅฎž็Žฐโ€็š„็„ฆ่™‘ไธญ่งฃๆ”พ๏ผŒๆ‹ฅๆŠฑโ€œไธบไฝ•่€Œๅšโ€็š„่‡ช็”ฑ โ€‹

ๅœจ AI ๆ—ถไปฃ๏ผŒไปฃ็ ็”Ÿๆˆ็š„่พน้™…ๆˆๆœฌๆญฃๅœจๆ— ้™่ถ‹่ฟ‘ไบŽ้›ถใ€‚ๅฝ“โ€œๅฎž็Žฐโ€ไธๅ†ๆ˜ฏไธๅฏ้€พ่ถŠ็š„ๅฃๅž’๏ผŒโ€œๆดžๅฏŸโ€ไธŽโ€œๅ“ไฝโ€ไพฟๆˆไบ†ๆ–ฐ็š„ๆŠคๅŸŽๆฒณใ€‚

ๆœชๆฅ็š„ๅ…จๆ ˆๅทฅ็จ‹ๅธˆๅฐ†ไธๅ†ๆ˜ฏ [ๅ‰็ซฏ + ๅŽ็ซฏ]๏ผŒ่€Œๆ˜ฏ [ๆŠ€ๆœฏ็†่งฃๅŠ› x ไบงๅ“ๆ•้”ๅบฆ]็š„ๅŒ–ๅญฆๅๅบ”๏ผš

  • ๆŠ€ๆœฏๆ˜ฏๆˆ‘ไปฌ็š„ๅŽ‹่ˆฑ็Ÿณ๏ผŒ่ฎฉๆˆ‘ไปฌ็Ÿฅๆ™“ๅฏ่ƒฝๆ€ง็š„่พน็•Œ๏ผŒไธ่‡ณไบŽๅœจๅคฉ้ฉฌ่กŒ็ฉบไธญๅคฑ้‡๏ผ›
  • ไบงๅ“ Sense ๆ˜ฏๆˆ‘ไปฌ็š„็ฝ—็›˜๏ผŒ่ฎฉๅœจ็”Ÿๆˆ็š„ๆดชๆตไธญ้”ๅฎš่ˆชๅ‘๏ผŒไธ่‡ณไบŽๅœจไฝŽไปทๅ€ผ็š„ไปฃ็ ๅ †้‡Œ่’ๅบŸๆ—ถๅ…‰ใ€‚

ไบงๅ“ Sense ็š„็ปˆ็‚นไปŽๆฅไธๆ˜ฏโ€œไธๅš้”™็š„ๅ†ณๅฎšโ€โ€”โ€”้‚ฃๆ˜ฏๅ…จ็Ÿฅ่ง†่ง’็š„ๅฅขๆœ›ใ€‚ๅฎƒ็š„็ปˆ็‚นๆ˜ฏโ€œๆ‹ฅๆœ‰ๆฏ”ๅˆซไบบๆ›ด็Ÿญ็š„็บ ้”™ๅŠๅพ„โ€๏ผšๅœจ้”™่ฏฏๅ‘็”Ÿๆ—ถ๏ผŒ่ƒฝไปฅๆœ€ไฝŽ็š„ๆˆๆœฌๆ„Ÿ็Ÿฅๅนถไฟฎๆญฃใ€‚

ไฟๆŒๆ•้”๏ผŒไฟๆŒ้ฅฅ้ฅฟ๏ผŒๅฏนโ€œ็”จๆˆทไธ‹ไธ€็ง’็š„็šฑ็œ‰โ€ๅฟƒๅญ˜ๆ•ฌ็•ใ€‚ๅ› ไธบ็ฎ—ๆณ•ๆ— ๆณ•่ฎก็ฎ—โ€œ็—›็‚นโ€๏ผŒ่€Œ้‚ฃไธช็šฑ็œ‰็š„็žฌ้—ด๏ผŒๅพ€ๅพ€ๅฐฑๆ˜ฏไธ‹ไธ€ๆฌพๅฅฝไบงๅ“็š„่ตท็‚นใ€‚

',59)])])}const b=s(i,[["render",o]]);export{h as __pageData,b as default}; diff --git "a/assets/10.\344\272\247\345\223\201 Sense_02.\346\226\260 T \345\236\213\344\272\272_21.\345\267\245\347\250\213\345\270\210\345\246\202\344\275\225\346\236\204\345\273\272\344\272\247\345\223\201 Sense.md.JciUte9l.lean.js" "b/assets/10.\344\272\247\345\223\201 Sense_02.\346\226\260 T \345\236\213\344\272\272_21.\345\267\245\347\250\213\345\270\210\345\246\202\344\275\225\346\236\204\345\273\272\344\272\247\345\223\201 Sense.md.CO18rPj4.lean.js" similarity index 96% rename from "assets/10.\344\272\247\345\223\201 Sense_02.\346\226\260 T \345\236\213\344\272\272_21.\345\267\245\347\250\213\345\270\210\345\246\202\344\275\225\346\236\204\345\273\272\344\272\247\345\223\201 Sense.md.JciUte9l.lean.js" rename to "assets/10.\344\272\247\345\223\201 Sense_02.\346\226\260 T \345\236\213\344\272\272_21.\345\267\245\347\250\213\345\270\210\345\246\202\344\275\225\346\236\204\345\273\272\344\272\247\345\223\201 Sense.md.CO18rPj4.lean.js" index 7e5ddfc4..99335b96 100644 --- "a/assets/10.\344\272\247\345\223\201 Sense_02.\346\226\260 T \345\236\213\344\272\272_21.\345\267\245\347\250\213\345\270\210\345\246\202\344\275\225\346\236\204\345\273\272\344\272\247\345\223\201 Sense.md.JciUte9l.lean.js" +++ "b/assets/10.\344\272\247\345\223\201 Sense_02.\346\226\260 T \345\236\213\344\272\272_21.\345\267\245\347\250\213\345\270\210\345\246\202\344\275\225\346\236\204\345\273\272\344\272\247\345\223\201 Sense.md.CO18rPj4.lean.js" @@ -1 +1 @@ -import{_ as s,g as t,h as n,U as m}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const h=JSON.parse('{"title":"ๅฝ“โ€œๅฎž็Žฐโ€ไธๅ†ๆ˜ฏๅฃๅž’๏ผšๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense๏ผŸ","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ AI ่ฎฉไปฃ็ ็”Ÿๆˆ็š„่พน้™…ๆˆๆœฌ่ถ‹่ฟ‘ไบŽ้›ถ๏ผŒโ€œๆŠ€ๆœฏๅฎž็Žฐโ€ไธๅ†ๆ˜ฏไธๅฏ้€พ่ถŠ็š„ๅฃๅž’๏ผŒโ€œไบงๅ“ๆดžๅฏŸโ€่ƒฝๆž„็ญ‘่ตทๆ–ฐ็š„ๆ ธๅฟƒๆŠคๅŸŽๆฒณใ€‚ๆœฌๆ–‡ๆ‹’็ป็Ž„ๅญฆ๏ผŒๅฐ†ๆŠฝ่ฑก็š„ ไบงๅ“ Sense ่งฃๆž„ไธบไธ‰ไธชๆ ธๅฟƒๆ•ฐๅญฆๅ…ฌๅผ๏ผŒๅนถๆไพ›ไธ€ๅฅ—ๅŸบไบŽโ€œ้€†ๅ‘ๅทฅ็จ‹โ€็š„ๅˆปๆ„็ปƒไน ๆŒ‡ๅ—๏ผŒๅŠฉๅŠ›ๅผ€ๅ‘่€…ๅœจ็ฎ—ๅŠ›่ฟ‡ๅ‰ฉ็š„ๆ—ถไปฃ๏ผŒๅฎŒๆˆไปŽโ€œไปฃ็ ๅทฅๅŒ โ€ๅˆฐโ€œไปทๅ€ผๅˆ›้€ ่€…โ€็š„่ฎค็Ÿฅ่ทƒ่ฟใ€‚","frontmatter":{"date":"2025-10-23T16:05:50.000Z","title":"ๅฝ“โ€œๅฎž็Žฐโ€ไธๅ†ๆ˜ฏๅฃๅž’๏ผšๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense๏ผŸ","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ AI ่ฎฉไปฃ็ ็”Ÿๆˆ็š„่พน้™…ๆˆๆœฌ่ถ‹่ฟ‘ไบŽ้›ถ๏ผŒโ€œๆŠ€ๆœฏๅฎž็Žฐโ€ไธๅ†ๆ˜ฏไธๅฏ้€พ่ถŠ็š„ๅฃๅž’๏ผŒโ€œไบงๅ“ๆดžๅฏŸโ€่ƒฝๆž„็ญ‘่ตทๆ–ฐ็š„ๆ ธๅฟƒๆŠคๅŸŽๆฒณใ€‚ๆœฌๆ–‡ๆ‹’็ป็Ž„ๅญฆ๏ผŒๅฐ†ๆŠฝ่ฑก็š„ ไบงๅ“ Sense ่งฃๆž„ไธบไธ‰ไธชๆ ธๅฟƒๆ•ฐๅญฆๅ…ฌๅผ๏ผŒๅนถๆไพ›ไธ€ๅฅ—ๅŸบไบŽโ€œ้€†ๅ‘ๅทฅ็จ‹โ€็š„ๅˆปๆ„็ปƒไน ๆŒ‡ๅ—๏ผŒๅŠฉๅŠ›ๅผ€ๅ‘่€…ๅœจ็ฎ—ๅŠ›่ฟ‡ๅ‰ฉ็š„ๆ—ถไปฃ๏ผŒๅฎŒๆˆไปŽโ€œไปฃ็ ๅทฅๅŒ โ€ๅˆฐโ€œไปทๅ€ผๅˆ›้€ ่€…โ€็š„่ฎค็Ÿฅ่ทƒ่ฟใ€‚","sticky":1,"top":true,"categories":["ไบงๅ“ Sense","AI"],"coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/product_sense_bg.png","permalink":"/product-sense/engineer-build-product-sense"},"headers":[],"relativePath":"10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/21.ๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense.md","filePath":"10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/21.ๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense.md"}'),i={name:"10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/21.ๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense.md"};function o(e,a,l,r,p,d){return n(),t("div",null,[...a[0]||(a[0]=[m("",59)])])}const b=s(i,[["render",o]]);export{h as __pageData,b as default}; +import{_ as s,g as t,h as n,U as m}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const h=JSON.parse('{"title":"ๅฝ“โ€œๅฎž็Žฐโ€ไธๅ†ๆ˜ฏๅฃๅž’๏ผšๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense๏ผŸ","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ AI ่ฎฉไปฃ็ ็”Ÿๆˆ็š„่พน้™…ๆˆๆœฌ่ถ‹่ฟ‘ไบŽ้›ถ๏ผŒโ€œๆŠ€ๆœฏๅฎž็Žฐโ€ไธๅ†ๆ˜ฏไธๅฏ้€พ่ถŠ็š„ๅฃๅž’๏ผŒโ€œไบงๅ“ๆดžๅฏŸโ€่ƒฝๆž„็ญ‘่ตทๆ–ฐ็š„ๆ ธๅฟƒๆŠคๅŸŽๆฒณใ€‚ๆœฌๆ–‡ๆ‹’็ป็Ž„ๅญฆ๏ผŒๅฐ†ๆŠฝ่ฑก็š„ ไบงๅ“ Sense ่งฃๆž„ไธบไธ‰ไธชๆ ธๅฟƒๆ•ฐๅญฆๅ…ฌๅผ๏ผŒๅนถๆไพ›ไธ€ๅฅ—ๅŸบไบŽโ€œ้€†ๅ‘ๅทฅ็จ‹โ€็š„ๅˆปๆ„็ปƒไน ๆŒ‡ๅ—๏ผŒๅŠฉๅŠ›ๅผ€ๅ‘่€…ๅœจ็ฎ—ๅŠ›่ฟ‡ๅ‰ฉ็š„ๆ—ถไปฃ๏ผŒๅฎŒๆˆไปŽโ€œไปฃ็ ๅทฅๅŒ โ€ๅˆฐโ€œไปทๅ€ผๅˆ›้€ ่€…โ€็š„่ฎค็Ÿฅ่ทƒ่ฟใ€‚","frontmatter":{"date":"2025-10-23T16:05:50.000Z","title":"ๅฝ“โ€œๅฎž็Žฐโ€ไธๅ†ๆ˜ฏๅฃๅž’๏ผšๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense๏ผŸ","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ AI ่ฎฉไปฃ็ ็”Ÿๆˆ็š„่พน้™…ๆˆๆœฌ่ถ‹่ฟ‘ไบŽ้›ถ๏ผŒโ€œๆŠ€ๆœฏๅฎž็Žฐโ€ไธๅ†ๆ˜ฏไธๅฏ้€พ่ถŠ็š„ๅฃๅž’๏ผŒโ€œไบงๅ“ๆดžๅฏŸโ€่ƒฝๆž„็ญ‘่ตทๆ–ฐ็š„ๆ ธๅฟƒๆŠคๅŸŽๆฒณใ€‚ๆœฌๆ–‡ๆ‹’็ป็Ž„ๅญฆ๏ผŒๅฐ†ๆŠฝ่ฑก็š„ ไบงๅ“ Sense ่งฃๆž„ไธบไธ‰ไธชๆ ธๅฟƒๆ•ฐๅญฆๅ…ฌๅผ๏ผŒๅนถๆไพ›ไธ€ๅฅ—ๅŸบไบŽโ€œ้€†ๅ‘ๅทฅ็จ‹โ€็š„ๅˆปๆ„็ปƒไน ๆŒ‡ๅ—๏ผŒๅŠฉๅŠ›ๅผ€ๅ‘่€…ๅœจ็ฎ—ๅŠ›่ฟ‡ๅ‰ฉ็š„ๆ—ถไปฃ๏ผŒๅฎŒๆˆไปŽโ€œไปฃ็ ๅทฅๅŒ โ€ๅˆฐโ€œไปทๅ€ผๅˆ›้€ ่€…โ€็š„่ฎค็Ÿฅ่ทƒ่ฟใ€‚","sticky":1,"top":true,"categories":["ไบงๅ“ Sense","AI"],"coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/product_sense_bg.png","permalink":"/product-sense/engineer-build-product-sense"},"headers":[],"relativePath":"10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/21.ๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense.md","filePath":"10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/21.ๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense.md"}'),i={name:"10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/21.ๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense.md"};function o(e,a,l,r,p,d){return n(),t("div",null,[...a[0]||(a[0]=[m("",59)])])}const b=s(i,[["render",o]]);export{h as __pageData,b as default}; diff --git "a/assets/10.\344\272\247\345\223\201 Sense_04.\344\272\247\345\223\201\345\210\233\351\200\240\344\270\216\345\225\206\344\270\232\345\214\226_30.\343\200\212\345\260\217\350\200\214\347\276\216\357\274\232\346\214\201\347\273\255\347\233\210\345\210\251\347\232\204\347\273\217\350\220\245\346\263\225\345\210\231\343\200\213\350\257\273\345\220\216\346\204\237.md.CbayMoYI.js" "b/assets/10.\344\272\247\345\223\201 Sense_04.\344\272\247\345\223\201\345\210\233\351\200\240\344\270\216\345\225\206\344\270\232\345\214\226_30.\343\200\212\345\260\217\350\200\214\347\276\216\357\274\232\346\214\201\347\273\255\347\233\210\345\210\251\347\232\204\347\273\217\350\220\245\346\263\225\345\210\231\343\200\213\350\257\273\345\220\216\346\204\237.md.gAigzrX9.js" similarity index 99% rename from "assets/10.\344\272\247\345\223\201 Sense_04.\344\272\247\345\223\201\345\210\233\351\200\240\344\270\216\345\225\206\344\270\232\345\214\226_30.\343\200\212\345\260\217\350\200\214\347\276\216\357\274\232\346\214\201\347\273\255\347\233\210\345\210\251\347\232\204\347\273\217\350\220\245\346\263\225\345\210\231\343\200\213\350\257\273\345\220\216\346\204\237.md.CbayMoYI.js" rename to "assets/10.\344\272\247\345\223\201 Sense_04.\344\272\247\345\223\201\345\210\233\351\200\240\344\270\216\345\225\206\344\270\232\345\214\226_30.\343\200\212\345\260\217\350\200\214\347\276\216\357\274\232\346\214\201\347\273\255\347\233\210\345\210\251\347\232\204\347\273\217\350\220\245\346\263\225\345\210\231\343\200\213\350\257\273\345\220\216\346\204\237.md.gAigzrX9.js" index adec1c19..7af8f217 100644 --- "a/assets/10.\344\272\247\345\223\201 Sense_04.\344\272\247\345\223\201\345\210\233\351\200\240\344\270\216\345\225\206\344\270\232\345\214\226_30.\343\200\212\345\260\217\350\200\214\347\276\216\357\274\232\346\214\201\347\273\255\347\233\210\345\210\251\347\232\204\347\273\217\350\220\245\346\263\225\345\210\231\343\200\213\350\257\273\345\220\216\346\204\237.md.CbayMoYI.js" +++ "b/assets/10.\344\272\247\345\223\201 Sense_04.\344\272\247\345\223\201\345\210\233\351\200\240\344\270\216\345\225\206\344\270\232\345\214\226_30.\343\200\212\345\260\217\350\200\214\347\276\216\357\274\232\346\214\201\347\273\255\347\233\210\345\210\251\347\232\204\347\273\217\350\220\245\346\263\225\345\210\231\343\200\213\350\257\273\345\220\216\346\204\237.md.gAigzrX9.js" @@ -1 +1 @@ -import{_ as s,g as t,h as n,U as e}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const d=JSON.parse('{"title":"ๆ”พๅผƒๅขž้•ฟๆ‰งๅฟต๏ผŒไธบไป€ไนˆโ€œๅฐ่€Œ็พŽโ€ๆ‰ๆ˜ฏๅฏๆŒ็ปญไน‹่ทฏ","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒ็ง‘ๆŠ€ไบ’่”็ฝ‘่กŒไธš็š„ๅ™ไบ‹้ƒฝ่ขซโ€œไธๆƒœไธ€ๅˆ‡ไปฃไปทๅฎž็Žฐ่ถ…็บฟๆ€งๅขž้•ฟโ€ๆ‰€ไธปๅฏผใ€‚ไปฟไฝ›ๅชๆœ‰ๆ‹ฟๅˆฐๅทจ้ข่ž่ต„ใ€็–ฏ็‹‚ๆ‹›ไบบใ€ๆˆไธบไผฐๅ€ผ็ ด็™พไบฟ็š„ๅบž็„ถๅคง็‰ฉ๏ผŒๆ‰็ฎ—ๅพ—ไธŠๆ˜ฏๆˆๅŠŸ็š„ๅˆ›ไธšใ€‚็„ถ่€Œ๏ผŒ่ฏปๅฎŒ่จๅธŒๅฐ”ยทๆ‹‰ๆ–‡ๅ‰ไบš็š„ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹ๅŽ๏ผŒ็ฌ”่€…่Žทๅพ—ไบ†ไธ€็งๆˆช็„ถไธๅŒ็š„ๅ•†ไธš่ง†่ง’๏ผšไผไธšๅญ˜ๅœจ็š„้ฆ–่ฆ็›ฎ็š„ไธๆ˜ฏไธบไบ†่ž่ต„ๅ’Œๆ‰ฉๅผ ๏ผŒ่€Œๆ˜ฏไธบไบ†้€š่ฟ‡่งฃๅ†ณ้—ฎ้ข˜ๆฅ่Žทๅพ—ๆŒ็ปญ็š„็›ˆๅˆฉใ€‚ ๆœฌๆ–‡็ป“ๅˆไนฆไธญ็š„ๆ ธๅฟƒ่ฎบ็‚นไธŽ่‡ช่บซ็š„็ ”ๅ‘่ง†่ง’๏ผŒๆŠŠๅฐ†่ฟ™ๆœฌไนฆ่ƒŒๅŽ็š„็ป่ฅ้€ป่พ‘ไธŽไบงๅ“ๅ“ฒๅญฆๆขณ็†ไธบๅ‡ ไธชๆ ธๅฟƒๅฑ‚้ข็š„ๆ€่€ƒใ€‚","frontmatter":{"date":"2025-11-24T21:50:00.000Z","title":"ๆ”พๅผƒๅขž้•ฟๆ‰งๅฟต๏ผŒไธบไป€ไนˆโ€œๅฐ่€Œ็พŽโ€ๆ‰ๆ˜ฏๅฏๆŒ็ปญไน‹่ทฏ","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒ็ง‘ๆŠ€ไบ’่”็ฝ‘่กŒไธš็š„ๅ™ไบ‹้ƒฝ่ขซโ€œไธๆƒœไธ€ๅˆ‡ไปฃไปทๅฎž็Žฐ่ถ…็บฟๆ€งๅขž้•ฟโ€ๆ‰€ไธปๅฏผใ€‚ไปฟไฝ›ๅชๆœ‰ๆ‹ฟๅˆฐๅทจ้ข่ž่ต„ใ€็–ฏ็‹‚ๆ‹›ไบบใ€ๆˆไธบไผฐๅ€ผ็ ด็™พไบฟ็š„ๅบž็„ถๅคง็‰ฉ๏ผŒๆ‰็ฎ—ๅพ—ไธŠๆ˜ฏๆˆๅŠŸ็š„ๅˆ›ไธšใ€‚็„ถ่€Œ๏ผŒ่ฏปๅฎŒ่จๅธŒๅฐ”ยทๆ‹‰ๆ–‡ๅ‰ไบš็š„ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹ๅŽ๏ผŒ็ฌ”่€…่Žทๅพ—ไบ†ไธ€็งๆˆช็„ถไธๅŒ็š„ๅ•†ไธš่ง†่ง’๏ผšไผไธšๅญ˜ๅœจ็š„้ฆ–่ฆ็›ฎ็š„ไธๆ˜ฏไธบไบ†่ž่ต„ๅ’Œๆ‰ฉๅผ ๏ผŒ่€Œๆ˜ฏไธบไบ†้€š่ฟ‡่งฃๅ†ณ้—ฎ้ข˜ๆฅ่Žทๅพ—ๆŒ็ปญ็š„็›ˆๅˆฉใ€‚ ๆœฌๆ–‡็ป“ๅˆไนฆไธญ็š„ๆ ธๅฟƒ่ฎบ็‚นไธŽ่‡ช่บซ็š„็ ”ๅ‘่ง†่ง’๏ผŒๆŠŠๅฐ†่ฟ™ๆœฌไนฆ่ƒŒๅŽ็š„็ป่ฅ้€ป่พ‘ไธŽไบงๅ“ๅ“ฒๅญฆๆขณ็†ไธบๅ‡ ไธชๆ ธๅฟƒๅฑ‚้ข็š„ๆ€่€ƒใ€‚","coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/product_sense_bg.png","permalink":"/product-sense/small-rule-learn","categories":["ไบงๅ“ Sense"],"tags":["ไบงๅ“ Sense","ๅ•†ไธšๅŒ–"]},"headers":[],"relativePath":"10.ไบงๅ“ Sense/04.ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–/30.ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹่ฏปๅŽๆ„Ÿ.md","filePath":"10.ไบงๅ“ Sense/04.ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–/30.ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹่ฏปๅŽๆ„Ÿ.md"}'),r={name:"10.ไบงๅ“ Sense/04.ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–/30.ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹่ฏปๅŽๆ„Ÿ.md"};function o(i,a,p,l,c,m){return n(),t("div",null,[...a[0]||(a[0]=[e('

ๆ”พๅผƒๅขž้•ฟๆ‰งๅฟต๏ผŒไธบไป€ไนˆโ€œๅฐ่€Œ็พŽโ€ๆ‰ๆ˜ฏๅฏๆŒ็ปญไน‹่ทฏ โ€‹

ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒ็ง‘ๆŠ€ไบ’่”็ฝ‘่กŒไธš็š„ๅ™ไบ‹้ƒฝ่ขซโ€œไธๆƒœไธ€ๅˆ‡ไปฃไปทๅฎž็Žฐ่ถ…็บฟๆ€งๅขž้•ฟโ€ๆ‰€ไธปๅฏผใ€‚ไปฟไฝ›ๅชๆœ‰ๆ‹ฟๅˆฐๅทจ้ข่ž่ต„ใ€็–ฏ็‹‚ๆ‹›ไบบใ€ๆˆไธบไผฐๅ€ผ็ ด็™พไบฟ็š„ๅบž็„ถๅคง็‰ฉ๏ผŒๆ‰็ฎ—ๅพ—ไธŠๆ˜ฏๆˆๅŠŸ็š„ๅˆ›ไธšใ€‚็„ถ่€Œ๏ผŒ่ฏปๅฎŒ่จๅธŒๅฐ”ยทๆ‹‰ๆ–‡ๅ‰ไบš็š„ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹ๅŽ๏ผŒ็ฌ”่€…่Žทๅพ—ไบ†ไธ€็งๆˆช็„ถไธๅŒ็š„ๅ•†ไธš่ง†่ง’๏ผšไผไธšๅญ˜ๅœจ็š„้ฆ–่ฆ็›ฎ็š„ไธๆ˜ฏไธบไบ†่ž่ต„ๅ’Œๆ‰ฉๅผ ๏ผŒ่€Œๆ˜ฏไธบไบ†้€š่ฟ‡่งฃๅ†ณ้—ฎ้ข˜ๆฅ่Žทๅพ—ๆŒ็ปญ็š„็›ˆๅˆฉใ€‚ ๆœฌๆ–‡็ป“ๅˆไนฆไธญ็š„ๆ ธๅฟƒ่ฎบ็‚นไธŽ่‡ช่บซ็š„็ ”ๅ‘่ง†่ง’๏ผŒๆŠŠๅฐ†่ฟ™ๆœฌไนฆ่ƒŒๅŽ็š„็ป่ฅ้€ป่พ‘ไธŽไบงๅ“ๅ“ฒๅญฆๆขณ็†ไธบๅ‡ ไธชๆ ธๅฟƒๅฑ‚้ข็š„ๆ€่€ƒใ€‚

ไนฆ็ฑไฟกๆฏ

ไนฆๅ๏ผšใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹

ไฝœ่€…๏ผš[็พŽ] ่จๅธŒๅฐ”ยทๆ‹‰ๆ–‡ๅ‰ไบš

ๆ ธๅฟƒๆ ‡็ญพ๏ผšๆž็ฎ€ๅˆ›ไธš๏ฝœ็คพๅŒบๆœฌไฝ๏ฝœๆŒ็ปญ็›ˆๅˆฉ๏ฝœๅˆ›ไฝœ่€…็ปๆตŽ

ไธ€ๅฅ่ฏ็ฎ€่ฏ„๏ผšๅœจ็›ฒ็›ฎๅด‡ๆ‹œ่ง„ๆจกๆ‰ฉๅผ ็š„ๅ•†ไธš่ฏญๅขƒไธ‹๏ผŒ่ฟ™ๆ˜ฏไธ€ไปฝๅ†™็ป™็‹ฌ็ซ‹ๅˆ›ไฝœ่€…ไธŽๅผ€ๅ‘่€…็š„ๆธ…้†’ๆŒ‡ๅ—๏ผŒๆ•™ไผšๆˆ‘ไปฌๅฆ‚ไฝ•็”จๆœ€ๅฐ‘็š„่ต„ๆบ๏ผŒ่งฃๅ†ณ็œŸๅฎž็š„็—›็‚น๏ผŒๅนถ่Žทๅพ—้•ฟไน…็š„่‡ช็”ฑใ€‚

ๆ›ดๅคšไนฆ็ฑๆŽจ่ไฟกๆฏๅฏๅ‚่€ƒ๏ผšไบงๅ“ Sense ไธŽๅ•†ไธšๅŒ–

1. ็คพๅŒบๅ…ˆ่กŒ๏ผšไปŽโ€œๆˆ‘ๆ˜ฏ่ฐโ€ๅˆฐโ€œๆˆ‘่ƒฝไธบ่ฐ่งฃๅ†ณ้—ฎ้ข˜โ€ โ€‹

ไผ ็ปŸๅ•†ไธš้€ป่พ‘ๅพ€ๅพ€ๆ˜ฏๅ…ˆๆž„ๆ€ไธ€ไธชๅฎๅคง็š„็‚นๅญ๏ผŒ้—ญ้—จ้€ ่ฝฆๆ‰“็ฃจไบงๅ“๏ผŒๆœ€ๅŽๅ†็ ธ้’ฑๅŽปๅธ‚ๅœบไธŠๅฏปๆ‰พ็›ฎๆ ‡็”จๆˆทใ€‚่€Œๆœฌไนฆๆๅ‡บไบ†ไธ€ไธช้ข ่ฆ†ๆ€ง็š„ๅๅ‘่ทฏๅพ„๏ผš็คพๅŒบ โ†’\\rightarrow ้—ฎ้ข˜ โ†’\\rightarrow ๆต็จ‹ โ†’\\rightarrow ไบงๅ“ โ†’\\rightarrow ๅ•†ไธšใ€‚

ๆž็ฎ€ไธปไน‰ๅˆ›ไธš่€…็ปไธๆ˜ฏๅœจ็œŸ็ฉบ้‡Œๅ†™ไปฃ็ ็š„ไบบ๏ผŒไป–ไปฌ้ฆ–ๅ…ˆๆ˜ฏๆŸไธช็คพๅŒบ็š„ๆทฑๅบฆๅ‚ไธŽ่€…ๅ’Œโ€œๅˆ›ไฝœ่€…โ€ใ€‚ๅœจๅŠจๆ‰‹ๆž„ๅปบไปปไฝ•ๅคๆ‚็š„่ฝฏไปถๆžถๆž„ไน‹ๅ‰๏ผŒ็ฌฌไธ€ๆญฅๆฐธ่ฟœๆ˜ฏๆŠŠ่‡ชๅทฑๆฒ‰ๆตธๅˆฐ็‰นๅฎš็š„ไบบ็พคไธญใ€‚ๅชๆœ‰ๅฝ“ๆˆ‘ไปฌ่Šฑๆ—ถ้—ดๅŽปๅ€พๅฌใ€ๅŽป่ดก็Œฎไปทๅ€ผใ€็”š่‡ณ้€š่ฟ‡ๅ…ฌๅผ€ๅ†™ไฝœๅ’Œๅˆ†ไบซๅŽปๆ•™ๆŽˆไป–ไบบๆ—ถ๏ผŒ้‚ฃไบ›็œŸๅฎž่€Œๅ…ทไฝ“็š„้ซ˜ไปทๅ€ผ็—›็‚นๆ‰ไผš่‡ช็„ถๆตฎ็Žฐใ€‚

ๅ…ณ็ณป็ฝ‘็คพๅŒบๅ‚ไธŽ

ๅฏนไบŽ่‡ดๅŠ›ไบŽ้€š่ฟ‡ๆŠ€ๆœฏๆๆ•ˆ็š„ๅผ€ๅ‘่€…่€Œ่จ€๏ผŒ่ฟ™ไธ€้€ป่พ‘ๅฐคไธบๆทฑๅˆปใ€‚ๅฝ“ๆˆ‘ไปฌ่ฏ•ๅ›พๆž„ๅปบๆ™บ่ƒฝๅŒ–็š„็Ÿฅ่ฏ†็ฎก็†ๅทฅๅ…ท๏ผŒๆˆ–ๆ˜ฏ็ ”ๅ‘ๅฐ†้ž็ป“ๆž„ๅŒ–ๆ•ฐๆฎ่‡ชๅŠจๅŒ–่ฝฌๆขไธบๆ ‡ๅ‡†ไปฃ็ ็š„ๅŸบๅปบไฝ“็ณปๆ—ถ๏ผŒๅˆ‡ๅ…ฅ็‚นไธๅบ”ๆ˜ฏ็›ฒ็›ฎๅ †็ Œๅ‰ๆฒฟๆŠ€ๆœฏๆ ˆ๏ผŒ่€Œๅบ”ๆทฑๆŒ–็‰นๅฎšๅœˆๅฑ‚้‡Œ็š„็œŸๅฎž็—›็‚นใ€‚ๅฝ“ๆˆ‘ไปฌๆˆไธบ็คพๅŒบไธญ้‚ฃไธช"ๆ€ป่ƒฝ็”จๆŠ€ๆœฏๆ‰‹ๆฎตๅธฎๅคงๅฎถๆžๅฎš็น็ๅทฅไฝœ"็š„ๅฏ้ ๆ”ฏๆŸฑๆ—ถ๏ผŒ็ฌฌไธ€ๆ‰น็งๅญ็”จๆˆทไผš่‡ช็„ถ่ฏž็”Ÿใ€‚ๅ› ๆญค๏ผŒๆˆ‘ไปฌ่ฆๅญฆ็€ๅ…ˆๅšไธ€ไธชไนไบŽๅŠฉไบบ็š„ๅˆ›ไฝœ่€…๏ผŒๅˆ›ไธšไธ่ฟ‡ๆ˜ฏๆฐดๅˆฐๆธ ๆˆไน‹ไบ‹ใ€‚

2. ๆž็ฎ€ๆต่ฝฌ๏ผš็”จโ€œๅ…‹ๅˆถโ€ๅฏนๆŠ—โ€œ็†ตๅขžโ€๏ผŒ็”จโ€œ่‡ชๅŠจๅŒ–โ€ๆ›ฟไปฃโ€œๅ †ไบบๅŠ›โ€ โ€‹

ไนฆไธญๅฆไธ€ไธช่ดฏ็ฉฟๅง‹็ปˆ็š„็†ๅฟตๆ˜ฏ"ๅฐ‘ๅณๆ˜ฏๅคš"ใ€‚ๅœจๆ‰พๅˆฐ็œŸๅฎž้œ€ๆฑ‚ๅŽ๏ผŒๆž็ฎ€ไธปไน‰ๅˆ›ไธš่€…ไธไผš็ซ‹ๅˆป่ง„ๅˆ’ไธ€ไธชๅŒ…็ฝ—ไธ‡่ฑก็š„ๅคงๅž‹็ณป็ปŸ๏ผŒ่€Œๆ˜ฏๅ…ˆ็”จๆœ€ๅŽŸๅง‹ใ€ๆœ€ไบบๅทฅ็š„โ€œๆต็จ‹โ€ๅŽป่ท‘้€š้—ญ็Žฏใ€‚

้œ€่ฆๅš็š„ไธๅˆ†

ๅ”ฏๆœ‰ๅฝ“็”จๆˆทไธบ่ฟ™ไธชไบบๅทฅๆต็จ‹ไป˜่ดนๅŽ๏ผŒๆ‰ๅผ€ๅง‹่ฟ›ๅ…ฅโ€œไบงๅ“ๅŒ–โ€้˜ถๆฎตใ€‚ๆญคๆ—ถ็š„ๆ ธๅฟƒ็ญ–็•ฅๆ˜ฏๅฐ†้‡ๅคๆ€ง็š„ๅทฅไฝœๅค–ๅŒ…ๆˆ–ไบค็ป™ไปฃ็ ๏ผŒ่ฎฉๆœบๅ™จๆ›ฟไปฃ้‡ๅค๏ผŒ่ฎฉๅค–ๅŒ…ๆ‰ฟๆŽฅ็น็ใ€‚่บซๅค„ๅฝ“ไธ‹็š„ๆŠ€ๆœฏๅ˜้ฉๆœŸ๏ผŒ่ฟ™ไธ€็‚นๆ˜พๅพ—ๅฐคไธบๅฅ‘ๅˆๆ—ถๅฎœใ€‚ๅ€ŸๅŠฉๅคง่ฏญ่จ€ๆจกๅž‹็ญ‰ๆ™บ่ƒฝๅŒ–ๅทฅๅ…ท็š„่พ…ๅŠฉ๏ผŒๆˆ‘ไปฌไธไป…ๅฏไปฅๆžๅคงๅœฐ้™ไฝŽๅผ€ๅ‘ๆˆๆœฌ๏ผŒๆ›ด่ƒฝๅฐ†ๅพˆๅคšไปฅๅพ€้œ€่ฆๆž้ซ˜ไบบๅŠ›ๆˆๆœฌ็š„็Žฏ่Š‚็›ดๆŽฅไบค็ป™่‡ชๅŠจๅŒ–็จ‹ๅบๅค„็†ใ€‚

่ญฌๅฆ‚๏ผŒๅคๆ‚็š„ๆ•ฐๆฎๆธ…ๆด—ใ€ๅผ‚ๅธธ่ฏŠๆ–ญไธŽ่ฟญไปฃไผ˜ๅŒ–๏ผŒๅฏๅง”ๆ‰˜็ป™ๆ™บ่ƒฝไปฃ็†่‡ชไธปๅฎŒๆˆ๏ผ›ๆ—ฅๅธธ็š„ๅ†…ๅฎนๅˆ†ๅ‘ไธŽ็”จๆˆทๆœๅŠก๏ผŒไบฆ่ƒฝ้€š่ฟ‡ๆŠ€ๆœฏๆ‰‹ๆฎตๅฎž็Žฐๆ— ็ผๆต่ฝฌใ€‚ๆ— ้œ€ๅฅขๅŽ็š„ๅŠžๅ…ฌๅœบๅœฐ๏ผŒไธๅฟ…ๆ€ฅไบŽๆ‰ฉๅ……ๅ›ข้˜Ÿ่ง„ๆจก๏ผŒโ€œ้›‡ไฝฃ่ฝฏไปถ่€Œไธๆ˜ฏ้›‡ไฝฃไบบๅŠ›โ€๏ผŒ่ฟ™็งๆžๅบฆ็š„ๅ…‹ๅˆถไธไป…ๅธฆๆฅไบ†ๆžไฝŽ็š„่ฏ•้”™ๆˆๆœฌ๏ผŒๆ›ด่ต‹ไบˆไบ†ไบงๅ“ๅฟซ้€Ÿ่ฟญไปฃใ€ๆ—ฉๆ—ฉไบคไป˜็š„ๆ•ๆทๆ€งใ€‚

3. ็›ˆๅˆฉ่‡ชไฟก๏ผšๅšๆ—ถ้—ด็š„ๆœ‹ๅ‹๏ผŒ่€Œ้ž่ต„ๆœฌ็š„ๅฅด้šถ โ€‹

ไนฆไธญๆๅ‡บไบ†ไธ€ไธชๆžๅ…ท็ฉฟ้€ๅŠ›็š„ๆฆ‚ๅฟตโ€”โ€”็›ˆๅˆฉ่‡ชไฟกใ€‚

ๅฝ“ไธ€ๅฎถไผไธš่ตš็š„้’ฑๅคงไบŽ่Šฑ็š„้’ฑๆ—ถ๏ผŒๅฎƒๅฐฑๆ‹ฅๆœ‰ไบ†ๆ— ้™้•ฟ็š„่ท‘้“ใ€‚่ฟ™ๅฐฑๆ„ๅ‘ณ็€๏ผŒไฝ ไธๅ†้œ€่ฆไธบไบ†่ฟŽๅˆ่ต„ๆœฌ็š„ๅฎก็พŽ่€Œๆ‰ญๆ›ฒไบงๅ“็š„ๅˆ่กท๏ผŒไนŸไธ้œ€่ฆๅœจๆฒกๆœ‰ๆƒณๆธ…ๆฅšๅ•†ไธšๆจกๅผ็š„ๆ—ถๅ€™ๅฐฑๅŽป็ƒง้’ฑไนฐๆต้‡ใ€‚่ฟ™็ง่‡ชไฟก๏ผŒๆ˜ฏๅšๅฎˆ้•ฟๆœŸไธปไน‰ๅ’Œไปทๅ€ผๅˆ›้€ ็š„ๅฎข่ง‚ๆ นๅŸบใ€‚

ๆž็ฎ€ไธปไน‰ๅˆ›ไธš่€…็ž„ๅ‡†็š„ๆ˜ฏๅ‰ไธ€็™พไธชๆ„ฟๆ„ไป˜่ดน็š„็œŸๅฎžๅฎขๆˆท๏ผŒ่€Œไธๆ˜ฏๆˆๅƒไธŠไธ‡ไธชๅช็ดขๅ–ไธ่ดก็Œฎ็š„โ€œๅƒตๅฐธ็ฒ‰โ€ใ€‚ไป–ไปฌๆŠŠ่ต„้‡‘่Šฑๅœจ็ปดๆŠค่€ๅฎขๆˆทๅ’Œๆๅ‡ไบงๅ“ไฝ“้ชŒไธŠ๏ผŒ่€Œไธๆ˜ฏ่™šๆ— ็ผฅ็ผˆ็š„ๅนฟๅ‘Šๅˆ›ๆ„ไธŠใ€‚ๅฝ“็”Ÿๅญ˜ไธๅ†ๅ—ๅˆถไบŽไบบ๏ผŒๆˆ‘ไปฌๅฐฑๅฏไปฅๆŒ‰็…ง็ง‘ๅญฆ็š„่Š‚ๅฅ๏ผŒๅฎ‰ๆŽ’ๅฅฝๆ—ฅๅธธ็š„ไธ“ๆณจๆ—ถ้—ด๏ผŒๅ€ŸๅŠฉ็ŽฐไปฃๅŒ–็š„ๅๅŒๅทฅๅ…ท่ฟ›่กŒ้ซ˜ๆ•ˆ็š„ๅผ‚ๆญฅๆฒŸ้€šไธŽ็Ÿฅ่ฏ†ๆฒ‰ๆท€๏ผŒ่ฎฉไผไธš็š„ๅ‘ๅฑ•้€ŸๅบฆไธŽไธชไบบ็š„็”Ÿๆดป่Š‚ๅฅ่พพๆˆไธ€็งๅฅๅบท็š„ๅนณ่กกใ€‚ๅœจ็ฌ”่€…็œ‹ๆฅ๏ผŒ่ฟ™ๅ…ถๅฎžไธŽๅ…จๆ ˆๅทฅ็จ‹ๅธˆไปฌ่ฟฝๆฑ‚็š„ไปฃ็ ้ซ˜ๅฏ็”จๆ€งไธŽ็ณป็ปŸ็จณๅฎšๆ€ง๏ผŒๅœจๅ“ฒๅญฆๅฑ‚้ขๆ˜ฏไธ่ฐ‹่€Œๅˆ็š„ใ€‚

4. ๅปบ้€ ไฝ ๆƒณไฝ็š„ๆˆฟๅญ๏ผš็œŸๅฎž็š„่ฅ้”€ไธŽไปทๅ€ผ่ง‚ๅฅ‘ๅˆ โ€‹

ๅœจ่ฅ้”€ไธŽๅ›ข้˜Ÿๆž„ๅปบๅฑ‚้ข๏ผŒๆ‹‰ๆ–‡ๅ‰ไบšๅ€กๅฏผโ€œๅšๆœ€็œŸๅฎž็š„่‡ชๅทฑโ€ใ€‚่ฅ้”€ไธๆ˜ฏไธบไบ†ๅˆถ้€ ๅšไบบ็œผ็ƒ็š„ๅคดๆกๆ–ฐ้—ป๏ผŒ่€Œๆ˜ฏ้€š่ฟ‡โ€œๆ•™ๅญฆใ€ๆฟ€ๅŠฑใ€ๅจฑไนโ€ไธ‰ไธชๅฑ‚ๆฌก๏ผŒๆฏซๆ— ไฟ็•™ๅœฐๅˆ†ไบซ่‡ชๅทฑ่ธฉ่ฟ‡็š„ๅ‘ไธŽ่Žทๅพ—็š„็œŸ็Ÿฅ็ผ่ง๏ผŒไปŽ่€Œๅธๅผ•ๆฐ”ๅ‘ณ็›ธๆŠ•็š„็ฒ‰ไธใ€‚่ฟ™็งๅ…ฌๅผ€ๆž„ๅปบ็š„ๆจกๅผ๏ผŒๆœฌ่บซๅฐฑๆ˜ฏไธ€็งๆžๅ…ท็ฉฟ้€ๅŠ›็š„ๅ“็‰Œ่ต„ไบงใ€‚

ๅŒๆ ท็š„้€ป่พ‘ไนŸ้€‚็”จไบŽๅ›ข้˜Ÿใ€‚ไผไธšๆ˜ฏไธ€ๆ ‹ไฝ ๅปบ้€ ็š„ใ€ไธ”้œ€่ฆ่‡ชๅทฑไฝ่ฟ›ๅŽป็š„ๆˆฟๅญใ€‚ๆฏ”่ตท็”จ่™š้ซ˜็š„่–ชๆฐดๅŽปๆŒ–ไบบ๏ผŒไธๅฆ‚ๅฐฝๆ—ฉไธ”้ข‘็นๅœฐๅ…ฌๅผ€่‡ชๅทฑ็š„ไปทๅ€ผ่ง‚ๅ’Œๅทฅไฝœๆตใ€‚ๆ˜Ž็กฎๅ‘Š่ฏ‰ไธ–็•Œ๏ผšๆˆ‘ไปฌ่ฟฝๆฑ‚็š„ๆ˜ฏๆž็ฎ€ใ€ๆ˜ฏ็ป“ๆžœๅฏผๅ‘ใ€ๆ˜ฏๆฏไธชไบบ้ƒฝ่ฆๅƒ็ป่ฅ่€…ไธ€ๆ ทไธปๅŠจๆ€่€ƒๅนถๆ‰ฟๆ‹…่ดฃไปปใ€‚้€‚ๅˆๆฐธ่ฟœๆ˜ฏๅŒๅ‘็š„๏ผŒๅฝ“ไฝ ๅšๅฎˆ่ฟ™็ง้€ๆ˜Žๅ’Œ็œŸๅฎž๏ผŒ่‡ช็„ถไผšๅธๅผ•ๅˆฐ้‚ฃไบ›ๆ„ฟๆ„้€š่ฟ‡้กน็›ฎไบ’ๅŠฉๅไฝœใ€่ฟฝๆฑ‚้•ฟๆœŸๆˆ้•ฟ็š„ไผ˜็ง€ๅŒ่ทฏไบบใ€‚

5. ๆ€ป็ป“ไธŽๅๆ€ โ€‹

ใ€Šๅฐ่€Œ็พŽใ€‹ไธไป…ไป…ๆ˜ฏไธ€ๆœฌๅ•†ไธšๆŒ‡ๅ—๏ผŒๆ›ดๆ˜ฏไธ€ๅœบๅ…ณไบŽๅทฅไฝœไธŽ็”Ÿๆดปๆ–นๅผ็š„ๅ“ฒๅญฆๆŽข่ฎจใ€‚ๅฎƒๆ้†’ๆˆ‘ไปฌ๏ผŒๆŠ€ๆœฏ็š„่ฟ›ๆญฅไธŽๅทฅๅ…ท็š„ๅฎŒๅ–„๏ผŒๅทฒ็ป่ฎฉไธชไฝ“ๆœ‰ๆœบไผšๆ‘†่„ฑๅบžๅคง็ป„็ป‡็š„ๆŸ็ผš๏ผŒไปฅๆžไฝŽ็š„ๆˆๆœฌๅŽป่งฃๅ†ณไธ€ไธชๅ…ทไฝ“็š„็คพไผš้—ฎ้ข˜ใ€‚

ๆˆ‘ไปฌไธๅฟ…ๆˆไธบๆ”นๅ˜ไธ–็•Œ็š„ๅบž็„ถๅคง็‰ฉ๏ผŒๅช่ฆ่ƒฝ็ป“ๅˆ่‡ช่บซ็š„ไผ˜ๅŠฟ๏ผŒๆ‰พๅ‡†ไธ€ไธช็คพๅŒบ๏ผŒ็”จ็ฒพๆน›็š„ๆ‰‹่‰บๅ’Œๆ™บ่ƒฝๅŒ–็š„ๅทฅๅ…ทไธบไป–ไปฌๆ‰ซ้™ค้šœ็ข๏ผŒๅนถๅœจ่ฟ™ไธช่ฟ‡็จ‹ไธญไฟๆŒ็›ˆๅˆฉไธŽๅ†…ๅฟƒ็š„ไปŽๅฎน๏ผŒ่ฟ™ๅฐฑๅทฒ็ปๆ˜ฏไธ€ๆฌก่ถณๅคŸไผŸๅคง็š„ๅ•†ไธšๅฎž่ทตใ€‚ๅฐ๏ผŒ็ปไธๆ˜ฏๆ ผๅฑ€็š„ๅฑ€้™๏ผŒ่€Œๆ˜ฏๅ…‹ๅˆถใ€็ฒพๅ‡†ไธŽๆŒ็ปญ็น่ฃ็š„่ตท็‚นใ€‚

',24)])])}const g=s(r,[["render",o]]);export{d as __pageData,g as default}; +import{_ as s,g as t,h as n,U as e}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const d=JSON.parse('{"title":"ๆ”พๅผƒๅขž้•ฟๆ‰งๅฟต๏ผŒไธบไป€ไนˆโ€œๅฐ่€Œ็พŽโ€ๆ‰ๆ˜ฏๅฏๆŒ็ปญไน‹่ทฏ","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒ็ง‘ๆŠ€ไบ’่”็ฝ‘่กŒไธš็š„ๅ™ไบ‹้ƒฝ่ขซโ€œไธๆƒœไธ€ๅˆ‡ไปฃไปทๅฎž็Žฐ่ถ…็บฟๆ€งๅขž้•ฟโ€ๆ‰€ไธปๅฏผใ€‚ไปฟไฝ›ๅชๆœ‰ๆ‹ฟๅˆฐๅทจ้ข่ž่ต„ใ€็–ฏ็‹‚ๆ‹›ไบบใ€ๆˆไธบไผฐๅ€ผ็ ด็™พไบฟ็š„ๅบž็„ถๅคง็‰ฉ๏ผŒๆ‰็ฎ—ๅพ—ไธŠๆ˜ฏๆˆๅŠŸ็š„ๅˆ›ไธšใ€‚็„ถ่€Œ๏ผŒ่ฏปๅฎŒ่จๅธŒๅฐ”ยทๆ‹‰ๆ–‡ๅ‰ไบš็š„ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹ๅŽ๏ผŒ็ฌ”่€…่Žทๅพ—ไบ†ไธ€็งๆˆช็„ถไธๅŒ็š„ๅ•†ไธš่ง†่ง’๏ผšไผไธšๅญ˜ๅœจ็š„้ฆ–่ฆ็›ฎ็š„ไธๆ˜ฏไธบไบ†่ž่ต„ๅ’Œๆ‰ฉๅผ ๏ผŒ่€Œๆ˜ฏไธบไบ†้€š่ฟ‡่งฃๅ†ณ้—ฎ้ข˜ๆฅ่Žทๅพ—ๆŒ็ปญ็š„็›ˆๅˆฉใ€‚ ๆœฌๆ–‡็ป“ๅˆไนฆไธญ็š„ๆ ธๅฟƒ่ฎบ็‚นไธŽ่‡ช่บซ็š„็ ”ๅ‘่ง†่ง’๏ผŒๆŠŠๅฐ†่ฟ™ๆœฌไนฆ่ƒŒๅŽ็š„็ป่ฅ้€ป่พ‘ไธŽไบงๅ“ๅ“ฒๅญฆๆขณ็†ไธบๅ‡ ไธชๆ ธๅฟƒๅฑ‚้ข็š„ๆ€่€ƒใ€‚","frontmatter":{"date":"2025-11-24T21:50:00.000Z","title":"ๆ”พๅผƒๅขž้•ฟๆ‰งๅฟต๏ผŒไธบไป€ไนˆโ€œๅฐ่€Œ็พŽโ€ๆ‰ๆ˜ฏๅฏๆŒ็ปญไน‹่ทฏ","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒ็ง‘ๆŠ€ไบ’่”็ฝ‘่กŒไธš็š„ๅ™ไบ‹้ƒฝ่ขซโ€œไธๆƒœไธ€ๅˆ‡ไปฃไปทๅฎž็Žฐ่ถ…็บฟๆ€งๅขž้•ฟโ€ๆ‰€ไธปๅฏผใ€‚ไปฟไฝ›ๅชๆœ‰ๆ‹ฟๅˆฐๅทจ้ข่ž่ต„ใ€็–ฏ็‹‚ๆ‹›ไบบใ€ๆˆไธบไผฐๅ€ผ็ ด็™พไบฟ็š„ๅบž็„ถๅคง็‰ฉ๏ผŒๆ‰็ฎ—ๅพ—ไธŠๆ˜ฏๆˆๅŠŸ็š„ๅˆ›ไธšใ€‚็„ถ่€Œ๏ผŒ่ฏปๅฎŒ่จๅธŒๅฐ”ยทๆ‹‰ๆ–‡ๅ‰ไบš็š„ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹ๅŽ๏ผŒ็ฌ”่€…่Žทๅพ—ไบ†ไธ€็งๆˆช็„ถไธๅŒ็š„ๅ•†ไธš่ง†่ง’๏ผšไผไธšๅญ˜ๅœจ็š„้ฆ–่ฆ็›ฎ็š„ไธๆ˜ฏไธบไบ†่ž่ต„ๅ’Œๆ‰ฉๅผ ๏ผŒ่€Œๆ˜ฏไธบไบ†้€š่ฟ‡่งฃๅ†ณ้—ฎ้ข˜ๆฅ่Žทๅพ—ๆŒ็ปญ็š„็›ˆๅˆฉใ€‚ ๆœฌๆ–‡็ป“ๅˆไนฆไธญ็š„ๆ ธๅฟƒ่ฎบ็‚นไธŽ่‡ช่บซ็š„็ ”ๅ‘่ง†่ง’๏ผŒๆŠŠๅฐ†่ฟ™ๆœฌไนฆ่ƒŒๅŽ็š„็ป่ฅ้€ป่พ‘ไธŽไบงๅ“ๅ“ฒๅญฆๆขณ็†ไธบๅ‡ ไธชๆ ธๅฟƒๅฑ‚้ข็š„ๆ€่€ƒใ€‚","coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/product_sense_bg.png","permalink":"/product-sense/small-rule-learn","categories":["ไบงๅ“ Sense"],"tags":["ไบงๅ“ Sense","ๅ•†ไธšๅŒ–"]},"headers":[],"relativePath":"10.ไบงๅ“ Sense/04.ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–/30.ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹่ฏปๅŽๆ„Ÿ.md","filePath":"10.ไบงๅ“ Sense/04.ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–/30.ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹่ฏปๅŽๆ„Ÿ.md"}'),r={name:"10.ไบงๅ“ Sense/04.ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–/30.ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹่ฏปๅŽๆ„Ÿ.md"};function o(i,a,p,l,c,m){return n(),t("div",null,[...a[0]||(a[0]=[e('

ๆ”พๅผƒๅขž้•ฟๆ‰งๅฟต๏ผŒไธบไป€ไนˆโ€œๅฐ่€Œ็พŽโ€ๆ‰ๆ˜ฏๅฏๆŒ็ปญไน‹่ทฏ โ€‹

ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒ็ง‘ๆŠ€ไบ’่”็ฝ‘่กŒไธš็š„ๅ™ไบ‹้ƒฝ่ขซโ€œไธๆƒœไธ€ๅˆ‡ไปฃไปทๅฎž็Žฐ่ถ…็บฟๆ€งๅขž้•ฟโ€ๆ‰€ไธปๅฏผใ€‚ไปฟไฝ›ๅชๆœ‰ๆ‹ฟๅˆฐๅทจ้ข่ž่ต„ใ€็–ฏ็‹‚ๆ‹›ไบบใ€ๆˆไธบไผฐๅ€ผ็ ด็™พไบฟ็š„ๅบž็„ถๅคง็‰ฉ๏ผŒๆ‰็ฎ—ๅพ—ไธŠๆ˜ฏๆˆๅŠŸ็š„ๅˆ›ไธšใ€‚็„ถ่€Œ๏ผŒ่ฏปๅฎŒ่จๅธŒๅฐ”ยทๆ‹‰ๆ–‡ๅ‰ไบš็š„ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹ๅŽ๏ผŒ็ฌ”่€…่Žทๅพ—ไบ†ไธ€็งๆˆช็„ถไธๅŒ็š„ๅ•†ไธš่ง†่ง’๏ผšไผไธšๅญ˜ๅœจ็š„้ฆ–่ฆ็›ฎ็š„ไธๆ˜ฏไธบไบ†่ž่ต„ๅ’Œๆ‰ฉๅผ ๏ผŒ่€Œๆ˜ฏไธบไบ†้€š่ฟ‡่งฃๅ†ณ้—ฎ้ข˜ๆฅ่Žทๅพ—ๆŒ็ปญ็š„็›ˆๅˆฉใ€‚ ๆœฌๆ–‡็ป“ๅˆไนฆไธญ็š„ๆ ธๅฟƒ่ฎบ็‚นไธŽ่‡ช่บซ็š„็ ”ๅ‘่ง†่ง’๏ผŒๆŠŠๅฐ†่ฟ™ๆœฌไนฆ่ƒŒๅŽ็š„็ป่ฅ้€ป่พ‘ไธŽไบงๅ“ๅ“ฒๅญฆๆขณ็†ไธบๅ‡ ไธชๆ ธๅฟƒๅฑ‚้ข็š„ๆ€่€ƒใ€‚

ไนฆ็ฑไฟกๆฏ

ไนฆๅ๏ผšใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹

ไฝœ่€…๏ผš[็พŽ] ่จๅธŒๅฐ”ยทๆ‹‰ๆ–‡ๅ‰ไบš

ๆ ธๅฟƒๆ ‡็ญพ๏ผšๆž็ฎ€ๅˆ›ไธš๏ฝœ็คพๅŒบๆœฌไฝ๏ฝœๆŒ็ปญ็›ˆๅˆฉ๏ฝœๅˆ›ไฝœ่€…็ปๆตŽ

ไธ€ๅฅ่ฏ็ฎ€่ฏ„๏ผšๅœจ็›ฒ็›ฎๅด‡ๆ‹œ่ง„ๆจกๆ‰ฉๅผ ็š„ๅ•†ไธš่ฏญๅขƒไธ‹๏ผŒ่ฟ™ๆ˜ฏไธ€ไปฝๅ†™็ป™็‹ฌ็ซ‹ๅˆ›ไฝœ่€…ไธŽๅผ€ๅ‘่€…็š„ๆธ…้†’ๆŒ‡ๅ—๏ผŒๆ•™ไผšๆˆ‘ไปฌๅฆ‚ไฝ•็”จๆœ€ๅฐ‘็š„่ต„ๆบ๏ผŒ่งฃๅ†ณ็œŸๅฎž็š„็—›็‚น๏ผŒๅนถ่Žทๅพ—้•ฟไน…็š„่‡ช็”ฑใ€‚

ๆ›ดๅคšไนฆ็ฑๆŽจ่ไฟกๆฏๅฏๅ‚่€ƒ๏ผšไบงๅ“ Sense ไธŽๅ•†ไธšๅŒ–

1. ็คพๅŒบๅ…ˆ่กŒ๏ผšไปŽโ€œๆˆ‘ๆ˜ฏ่ฐโ€ๅˆฐโ€œๆˆ‘่ƒฝไธบ่ฐ่งฃๅ†ณ้—ฎ้ข˜โ€ โ€‹

ไผ ็ปŸๅ•†ไธš้€ป่พ‘ๅพ€ๅพ€ๆ˜ฏๅ…ˆๆž„ๆ€ไธ€ไธชๅฎๅคง็š„็‚นๅญ๏ผŒ้—ญ้—จ้€ ่ฝฆๆ‰“็ฃจไบงๅ“๏ผŒๆœ€ๅŽๅ†็ ธ้’ฑๅŽปๅธ‚ๅœบไธŠๅฏปๆ‰พ็›ฎๆ ‡็”จๆˆทใ€‚่€Œๆœฌไนฆๆๅ‡บไบ†ไธ€ไธช้ข ่ฆ†ๆ€ง็š„ๅๅ‘่ทฏๅพ„๏ผš็คพๅŒบ โ†’\\rightarrow ้—ฎ้ข˜ โ†’\\rightarrow ๆต็จ‹ โ†’\\rightarrow ไบงๅ“ โ†’\\rightarrow ๅ•†ไธšใ€‚

ๆž็ฎ€ไธปไน‰ๅˆ›ไธš่€…็ปไธๆ˜ฏๅœจ็œŸ็ฉบ้‡Œๅ†™ไปฃ็ ็š„ไบบ๏ผŒไป–ไปฌ้ฆ–ๅ…ˆๆ˜ฏๆŸไธช็คพๅŒบ็š„ๆทฑๅบฆๅ‚ไธŽ่€…ๅ’Œโ€œๅˆ›ไฝœ่€…โ€ใ€‚ๅœจๅŠจๆ‰‹ๆž„ๅปบไปปไฝ•ๅคๆ‚็š„่ฝฏไปถๆžถๆž„ไน‹ๅ‰๏ผŒ็ฌฌไธ€ๆญฅๆฐธ่ฟœๆ˜ฏๆŠŠ่‡ชๅทฑๆฒ‰ๆตธๅˆฐ็‰นๅฎš็š„ไบบ็พคไธญใ€‚ๅชๆœ‰ๅฝ“ๆˆ‘ไปฌ่Šฑๆ—ถ้—ดๅŽปๅ€พๅฌใ€ๅŽป่ดก็Œฎไปทๅ€ผใ€็”š่‡ณ้€š่ฟ‡ๅ…ฌๅผ€ๅ†™ไฝœๅ’Œๅˆ†ไบซๅŽปๆ•™ๆŽˆไป–ไบบๆ—ถ๏ผŒ้‚ฃไบ›็œŸๅฎž่€Œๅ…ทไฝ“็š„้ซ˜ไปทๅ€ผ็—›็‚นๆ‰ไผš่‡ช็„ถๆตฎ็Žฐใ€‚

ๅ…ณ็ณป็ฝ‘็คพๅŒบๅ‚ไธŽ

ๅฏนไบŽ่‡ดๅŠ›ไบŽ้€š่ฟ‡ๆŠ€ๆœฏๆๆ•ˆ็š„ๅผ€ๅ‘่€…่€Œ่จ€๏ผŒ่ฟ™ไธ€้€ป่พ‘ๅฐคไธบๆทฑๅˆปใ€‚ๅฝ“ๆˆ‘ไปฌ่ฏ•ๅ›พๆž„ๅปบๆ™บ่ƒฝๅŒ–็š„็Ÿฅ่ฏ†็ฎก็†ๅทฅๅ…ท๏ผŒๆˆ–ๆ˜ฏ็ ”ๅ‘ๅฐ†้ž็ป“ๆž„ๅŒ–ๆ•ฐๆฎ่‡ชๅŠจๅŒ–่ฝฌๆขไธบๆ ‡ๅ‡†ไปฃ็ ็š„ๅŸบๅปบไฝ“็ณปๆ—ถ๏ผŒๅˆ‡ๅ…ฅ็‚นไธๅบ”ๆ˜ฏ็›ฒ็›ฎๅ †็ Œๅ‰ๆฒฟๆŠ€ๆœฏๆ ˆ๏ผŒ่€Œๅบ”ๆทฑๆŒ–็‰นๅฎšๅœˆๅฑ‚้‡Œ็š„็œŸๅฎž็—›็‚นใ€‚ๅฝ“ๆˆ‘ไปฌๆˆไธบ็คพๅŒบไธญ้‚ฃไธช"ๆ€ป่ƒฝ็”จๆŠ€ๆœฏๆ‰‹ๆฎตๅธฎๅคงๅฎถๆžๅฎš็น็ๅทฅไฝœ"็š„ๅฏ้ ๆ”ฏๆŸฑๆ—ถ๏ผŒ็ฌฌไธ€ๆ‰น็งๅญ็”จๆˆทไผš่‡ช็„ถ่ฏž็”Ÿใ€‚ๅ› ๆญค๏ผŒๆˆ‘ไปฌ่ฆๅญฆ็€ๅ…ˆๅšไธ€ไธชไนไบŽๅŠฉไบบ็š„ๅˆ›ไฝœ่€…๏ผŒๅˆ›ไธšไธ่ฟ‡ๆ˜ฏๆฐดๅˆฐๆธ ๆˆไน‹ไบ‹ใ€‚

2. ๆž็ฎ€ๆต่ฝฌ๏ผš็”จโ€œๅ…‹ๅˆถโ€ๅฏนๆŠ—โ€œ็†ตๅขžโ€๏ผŒ็”จโ€œ่‡ชๅŠจๅŒ–โ€ๆ›ฟไปฃโ€œๅ †ไบบๅŠ›โ€ โ€‹

ไนฆไธญๅฆไธ€ไธช่ดฏ็ฉฟๅง‹็ปˆ็š„็†ๅฟตๆ˜ฏ"ๅฐ‘ๅณๆ˜ฏๅคš"ใ€‚ๅœจๆ‰พๅˆฐ็œŸๅฎž้œ€ๆฑ‚ๅŽ๏ผŒๆž็ฎ€ไธปไน‰ๅˆ›ไธš่€…ไธไผš็ซ‹ๅˆป่ง„ๅˆ’ไธ€ไธชๅŒ…็ฝ—ไธ‡่ฑก็š„ๅคงๅž‹็ณป็ปŸ๏ผŒ่€Œๆ˜ฏๅ…ˆ็”จๆœ€ๅŽŸๅง‹ใ€ๆœ€ไบบๅทฅ็š„โ€œๆต็จ‹โ€ๅŽป่ท‘้€š้—ญ็Žฏใ€‚

้œ€่ฆๅš็š„ไธๅˆ†

ๅ”ฏๆœ‰ๅฝ“็”จๆˆทไธบ่ฟ™ไธชไบบๅทฅๆต็จ‹ไป˜่ดนๅŽ๏ผŒๆ‰ๅผ€ๅง‹่ฟ›ๅ…ฅโ€œไบงๅ“ๅŒ–โ€้˜ถๆฎตใ€‚ๆญคๆ—ถ็š„ๆ ธๅฟƒ็ญ–็•ฅๆ˜ฏๅฐ†้‡ๅคๆ€ง็š„ๅทฅไฝœๅค–ๅŒ…ๆˆ–ไบค็ป™ไปฃ็ ๏ผŒ่ฎฉๆœบๅ™จๆ›ฟไปฃ้‡ๅค๏ผŒ่ฎฉๅค–ๅŒ…ๆ‰ฟๆŽฅ็น็ใ€‚่บซๅค„ๅฝ“ไธ‹็š„ๆŠ€ๆœฏๅ˜้ฉๆœŸ๏ผŒ่ฟ™ไธ€็‚นๆ˜พๅพ—ๅฐคไธบๅฅ‘ๅˆๆ—ถๅฎœใ€‚ๅ€ŸๅŠฉๅคง่ฏญ่จ€ๆจกๅž‹็ญ‰ๆ™บ่ƒฝๅŒ–ๅทฅๅ…ท็š„่พ…ๅŠฉ๏ผŒๆˆ‘ไปฌไธไป…ๅฏไปฅๆžๅคงๅœฐ้™ไฝŽๅผ€ๅ‘ๆˆๆœฌ๏ผŒๆ›ด่ƒฝๅฐ†ๅพˆๅคšไปฅๅพ€้œ€่ฆๆž้ซ˜ไบบๅŠ›ๆˆๆœฌ็š„็Žฏ่Š‚็›ดๆŽฅไบค็ป™่‡ชๅŠจๅŒ–็จ‹ๅบๅค„็†ใ€‚

่ญฌๅฆ‚๏ผŒๅคๆ‚็š„ๆ•ฐๆฎๆธ…ๆด—ใ€ๅผ‚ๅธธ่ฏŠๆ–ญไธŽ่ฟญไปฃไผ˜ๅŒ–๏ผŒๅฏๅง”ๆ‰˜็ป™ๆ™บ่ƒฝไปฃ็†่‡ชไธปๅฎŒๆˆ๏ผ›ๆ—ฅๅธธ็š„ๅ†…ๅฎนๅˆ†ๅ‘ไธŽ็”จๆˆทๆœๅŠก๏ผŒไบฆ่ƒฝ้€š่ฟ‡ๆŠ€ๆœฏๆ‰‹ๆฎตๅฎž็Žฐๆ— ็ผๆต่ฝฌใ€‚ๆ— ้œ€ๅฅขๅŽ็š„ๅŠžๅ…ฌๅœบๅœฐ๏ผŒไธๅฟ…ๆ€ฅไบŽๆ‰ฉๅ……ๅ›ข้˜Ÿ่ง„ๆจก๏ผŒโ€œ้›‡ไฝฃ่ฝฏไปถ่€Œไธๆ˜ฏ้›‡ไฝฃไบบๅŠ›โ€๏ผŒ่ฟ™็งๆžๅบฆ็š„ๅ…‹ๅˆถไธไป…ๅธฆๆฅไบ†ๆžไฝŽ็š„่ฏ•้”™ๆˆๆœฌ๏ผŒๆ›ด่ต‹ไบˆไบ†ไบงๅ“ๅฟซ้€Ÿ่ฟญไปฃใ€ๆ—ฉๆ—ฉไบคไป˜็š„ๆ•ๆทๆ€งใ€‚

3. ็›ˆๅˆฉ่‡ชไฟก๏ผšๅšๆ—ถ้—ด็š„ๆœ‹ๅ‹๏ผŒ่€Œ้ž่ต„ๆœฌ็š„ๅฅด้šถ โ€‹

ไนฆไธญๆๅ‡บไบ†ไธ€ไธชๆžๅ…ท็ฉฟ้€ๅŠ›็š„ๆฆ‚ๅฟตโ€”โ€”็›ˆๅˆฉ่‡ชไฟกใ€‚

ๅฝ“ไธ€ๅฎถไผไธš่ตš็š„้’ฑๅคงไบŽ่Šฑ็š„้’ฑๆ—ถ๏ผŒๅฎƒๅฐฑๆ‹ฅๆœ‰ไบ†ๆ— ้™้•ฟ็š„่ท‘้“ใ€‚่ฟ™ๅฐฑๆ„ๅ‘ณ็€๏ผŒไฝ ไธๅ†้œ€่ฆไธบไบ†่ฟŽๅˆ่ต„ๆœฌ็š„ๅฎก็พŽ่€Œๆ‰ญๆ›ฒไบงๅ“็š„ๅˆ่กท๏ผŒไนŸไธ้œ€่ฆๅœจๆฒกๆœ‰ๆƒณๆธ…ๆฅšๅ•†ไธšๆจกๅผ็š„ๆ—ถๅ€™ๅฐฑๅŽป็ƒง้’ฑไนฐๆต้‡ใ€‚่ฟ™็ง่‡ชไฟก๏ผŒๆ˜ฏๅšๅฎˆ้•ฟๆœŸไธปไน‰ๅ’Œไปทๅ€ผๅˆ›้€ ็š„ๅฎข่ง‚ๆ นๅŸบใ€‚

ๆž็ฎ€ไธปไน‰ๅˆ›ไธš่€…็ž„ๅ‡†็š„ๆ˜ฏๅ‰ไธ€็™พไธชๆ„ฟๆ„ไป˜่ดน็š„็œŸๅฎžๅฎขๆˆท๏ผŒ่€Œไธๆ˜ฏๆˆๅƒไธŠไธ‡ไธชๅช็ดขๅ–ไธ่ดก็Œฎ็š„โ€œๅƒตๅฐธ็ฒ‰โ€ใ€‚ไป–ไปฌๆŠŠ่ต„้‡‘่Šฑๅœจ็ปดๆŠค่€ๅฎขๆˆทๅ’Œๆๅ‡ไบงๅ“ไฝ“้ชŒไธŠ๏ผŒ่€Œไธๆ˜ฏ่™šๆ— ็ผฅ็ผˆ็š„ๅนฟๅ‘Šๅˆ›ๆ„ไธŠใ€‚ๅฝ“็”Ÿๅญ˜ไธๅ†ๅ—ๅˆถไบŽไบบ๏ผŒๆˆ‘ไปฌๅฐฑๅฏไปฅๆŒ‰็…ง็ง‘ๅญฆ็š„่Š‚ๅฅ๏ผŒๅฎ‰ๆŽ’ๅฅฝๆ—ฅๅธธ็š„ไธ“ๆณจๆ—ถ้—ด๏ผŒๅ€ŸๅŠฉ็ŽฐไปฃๅŒ–็š„ๅๅŒๅทฅๅ…ท่ฟ›่กŒ้ซ˜ๆ•ˆ็š„ๅผ‚ๆญฅๆฒŸ้€šไธŽ็Ÿฅ่ฏ†ๆฒ‰ๆท€๏ผŒ่ฎฉไผไธš็š„ๅ‘ๅฑ•้€ŸๅบฆไธŽไธชไบบ็š„็”Ÿๆดป่Š‚ๅฅ่พพๆˆไธ€็งๅฅๅบท็š„ๅนณ่กกใ€‚ๅœจ็ฌ”่€…็œ‹ๆฅ๏ผŒ่ฟ™ๅ…ถๅฎžไธŽๅ…จๆ ˆๅทฅ็จ‹ๅธˆไปฌ่ฟฝๆฑ‚็š„ไปฃ็ ้ซ˜ๅฏ็”จๆ€งไธŽ็ณป็ปŸ็จณๅฎšๆ€ง๏ผŒๅœจๅ“ฒๅญฆๅฑ‚้ขๆ˜ฏไธ่ฐ‹่€Œๅˆ็š„ใ€‚

4. ๅปบ้€ ไฝ ๆƒณไฝ็š„ๆˆฟๅญ๏ผš็œŸๅฎž็š„่ฅ้”€ไธŽไปทๅ€ผ่ง‚ๅฅ‘ๅˆ โ€‹

ๅœจ่ฅ้”€ไธŽๅ›ข้˜Ÿๆž„ๅปบๅฑ‚้ข๏ผŒๆ‹‰ๆ–‡ๅ‰ไบšๅ€กๅฏผโ€œๅšๆœ€็œŸๅฎž็š„่‡ชๅทฑโ€ใ€‚่ฅ้”€ไธๆ˜ฏไธบไบ†ๅˆถ้€ ๅšไบบ็œผ็ƒ็š„ๅคดๆกๆ–ฐ้—ป๏ผŒ่€Œๆ˜ฏ้€š่ฟ‡โ€œๆ•™ๅญฆใ€ๆฟ€ๅŠฑใ€ๅจฑไนโ€ไธ‰ไธชๅฑ‚ๆฌก๏ผŒๆฏซๆ— ไฟ็•™ๅœฐๅˆ†ไบซ่‡ชๅทฑ่ธฉ่ฟ‡็š„ๅ‘ไธŽ่Žทๅพ—็š„็œŸ็Ÿฅ็ผ่ง๏ผŒไปŽ่€Œๅธๅผ•ๆฐ”ๅ‘ณ็›ธๆŠ•็š„็ฒ‰ไธใ€‚่ฟ™็งๅ…ฌๅผ€ๆž„ๅปบ็š„ๆจกๅผ๏ผŒๆœฌ่บซๅฐฑๆ˜ฏไธ€็งๆžๅ…ท็ฉฟ้€ๅŠ›็š„ๅ“็‰Œ่ต„ไบงใ€‚

ๅŒๆ ท็š„้€ป่พ‘ไนŸ้€‚็”จไบŽๅ›ข้˜Ÿใ€‚ไผไธšๆ˜ฏไธ€ๆ ‹ไฝ ๅปบ้€ ็š„ใ€ไธ”้œ€่ฆ่‡ชๅทฑไฝ่ฟ›ๅŽป็š„ๆˆฟๅญใ€‚ๆฏ”่ตท็”จ่™š้ซ˜็š„่–ชๆฐดๅŽปๆŒ–ไบบ๏ผŒไธๅฆ‚ๅฐฝๆ—ฉไธ”้ข‘็นๅœฐๅ…ฌๅผ€่‡ชๅทฑ็š„ไปทๅ€ผ่ง‚ๅ’Œๅทฅไฝœๆตใ€‚ๆ˜Ž็กฎๅ‘Š่ฏ‰ไธ–็•Œ๏ผšๆˆ‘ไปฌ่ฟฝๆฑ‚็š„ๆ˜ฏๆž็ฎ€ใ€ๆ˜ฏ็ป“ๆžœๅฏผๅ‘ใ€ๆ˜ฏๆฏไธชไบบ้ƒฝ่ฆๅƒ็ป่ฅ่€…ไธ€ๆ ทไธปๅŠจๆ€่€ƒๅนถๆ‰ฟๆ‹…่ดฃไปปใ€‚้€‚ๅˆๆฐธ่ฟœๆ˜ฏๅŒๅ‘็š„๏ผŒๅฝ“ไฝ ๅšๅฎˆ่ฟ™็ง้€ๆ˜Žๅ’Œ็œŸๅฎž๏ผŒ่‡ช็„ถไผšๅธๅผ•ๅˆฐ้‚ฃไบ›ๆ„ฟๆ„้€š่ฟ‡้กน็›ฎไบ’ๅŠฉๅไฝœใ€่ฟฝๆฑ‚้•ฟๆœŸๆˆ้•ฟ็š„ไผ˜็ง€ๅŒ่ทฏไบบใ€‚

5. ๆ€ป็ป“ไธŽๅๆ€ โ€‹

ใ€Šๅฐ่€Œ็พŽใ€‹ไธไป…ไป…ๆ˜ฏไธ€ๆœฌๅ•†ไธšๆŒ‡ๅ—๏ผŒๆ›ดๆ˜ฏไธ€ๅœบๅ…ณไบŽๅทฅไฝœไธŽ็”Ÿๆดปๆ–นๅผ็š„ๅ“ฒๅญฆๆŽข่ฎจใ€‚ๅฎƒๆ้†’ๆˆ‘ไปฌ๏ผŒๆŠ€ๆœฏ็š„่ฟ›ๆญฅไธŽๅทฅๅ…ท็š„ๅฎŒๅ–„๏ผŒๅทฒ็ป่ฎฉไธชไฝ“ๆœ‰ๆœบไผšๆ‘†่„ฑๅบžๅคง็ป„็ป‡็š„ๆŸ็ผš๏ผŒไปฅๆžไฝŽ็š„ๆˆๆœฌๅŽป่งฃๅ†ณไธ€ไธชๅ…ทไฝ“็š„็คพไผš้—ฎ้ข˜ใ€‚

ๆˆ‘ไปฌไธๅฟ…ๆˆไธบๆ”นๅ˜ไธ–็•Œ็š„ๅบž็„ถๅคง็‰ฉ๏ผŒๅช่ฆ่ƒฝ็ป“ๅˆ่‡ช่บซ็š„ไผ˜ๅŠฟ๏ผŒๆ‰พๅ‡†ไธ€ไธช็คพๅŒบ๏ผŒ็”จ็ฒพๆน›็š„ๆ‰‹่‰บๅ’Œๆ™บ่ƒฝๅŒ–็š„ๅทฅๅ…ทไธบไป–ไปฌๆ‰ซ้™ค้šœ็ข๏ผŒๅนถๅœจ่ฟ™ไธช่ฟ‡็จ‹ไธญไฟๆŒ็›ˆๅˆฉไธŽๅ†…ๅฟƒ็š„ไปŽๅฎน๏ผŒ่ฟ™ๅฐฑๅทฒ็ปๆ˜ฏไธ€ๆฌก่ถณๅคŸไผŸๅคง็š„ๅ•†ไธšๅฎž่ทตใ€‚ๅฐ๏ผŒ็ปไธๆ˜ฏๆ ผๅฑ€็š„ๅฑ€้™๏ผŒ่€Œๆ˜ฏๅ…‹ๅˆถใ€็ฒพๅ‡†ไธŽๆŒ็ปญ็น่ฃ็š„่ตท็‚นใ€‚

',24)])])}const g=s(r,[["render",o]]);export{d as __pageData,g as default}; diff --git "a/assets/10.\344\272\247\345\223\201 Sense_04.\344\272\247\345\223\201\345\210\233\351\200\240\344\270\216\345\225\206\344\270\232\345\214\226_30.\343\200\212\345\260\217\350\200\214\347\276\216\357\274\232\346\214\201\347\273\255\347\233\210\345\210\251\347\232\204\347\273\217\350\220\245\346\263\225\345\210\231\343\200\213\350\257\273\345\220\216\346\204\237.md.CbayMoYI.lean.js" "b/assets/10.\344\272\247\345\223\201 Sense_04.\344\272\247\345\223\201\345\210\233\351\200\240\344\270\216\345\225\206\344\270\232\345\214\226_30.\343\200\212\345\260\217\350\200\214\347\276\216\357\274\232\346\214\201\347\273\255\347\233\210\345\210\251\347\232\204\347\273\217\350\220\245\346\263\225\345\210\231\343\200\213\350\257\273\345\220\216\346\204\237.md.gAigzrX9.lean.js" similarity index 97% rename from "assets/10.\344\272\247\345\223\201 Sense_04.\344\272\247\345\223\201\345\210\233\351\200\240\344\270\216\345\225\206\344\270\232\345\214\226_30.\343\200\212\345\260\217\350\200\214\347\276\216\357\274\232\346\214\201\347\273\255\347\233\210\345\210\251\347\232\204\347\273\217\350\220\245\346\263\225\345\210\231\343\200\213\350\257\273\345\220\216\346\204\237.md.CbayMoYI.lean.js" rename to "assets/10.\344\272\247\345\223\201 Sense_04.\344\272\247\345\223\201\345\210\233\351\200\240\344\270\216\345\225\206\344\270\232\345\214\226_30.\343\200\212\345\260\217\350\200\214\347\276\216\357\274\232\346\214\201\347\273\255\347\233\210\345\210\251\347\232\204\347\273\217\350\220\245\346\263\225\345\210\231\343\200\213\350\257\273\345\220\216\346\204\237.md.gAigzrX9.lean.js" index 7f75a59b..0d6355ce 100644 --- "a/assets/10.\344\272\247\345\223\201 Sense_04.\344\272\247\345\223\201\345\210\233\351\200\240\344\270\216\345\225\206\344\270\232\345\214\226_30.\343\200\212\345\260\217\350\200\214\347\276\216\357\274\232\346\214\201\347\273\255\347\233\210\345\210\251\347\232\204\347\273\217\350\220\245\346\263\225\345\210\231\343\200\213\350\257\273\345\220\216\346\204\237.md.CbayMoYI.lean.js" +++ "b/assets/10.\344\272\247\345\223\201 Sense_04.\344\272\247\345\223\201\345\210\233\351\200\240\344\270\216\345\225\206\344\270\232\345\214\226_30.\343\200\212\345\260\217\350\200\214\347\276\216\357\274\232\346\214\201\347\273\255\347\233\210\345\210\251\347\232\204\347\273\217\350\220\245\346\263\225\345\210\231\343\200\213\350\257\273\345\220\216\346\204\237.md.gAigzrX9.lean.js" @@ -1 +1 @@ -import{_ as s,g as t,h as n,U as e}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const d=JSON.parse('{"title":"ๆ”พๅผƒๅขž้•ฟๆ‰งๅฟต๏ผŒไธบไป€ไนˆโ€œๅฐ่€Œ็พŽโ€ๆ‰ๆ˜ฏๅฏๆŒ็ปญไน‹่ทฏ","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒ็ง‘ๆŠ€ไบ’่”็ฝ‘่กŒไธš็š„ๅ™ไบ‹้ƒฝ่ขซโ€œไธๆƒœไธ€ๅˆ‡ไปฃไปทๅฎž็Žฐ่ถ…็บฟๆ€งๅขž้•ฟโ€ๆ‰€ไธปๅฏผใ€‚ไปฟไฝ›ๅชๆœ‰ๆ‹ฟๅˆฐๅทจ้ข่ž่ต„ใ€็–ฏ็‹‚ๆ‹›ไบบใ€ๆˆไธบไผฐๅ€ผ็ ด็™พไบฟ็š„ๅบž็„ถๅคง็‰ฉ๏ผŒๆ‰็ฎ—ๅพ—ไธŠๆ˜ฏๆˆๅŠŸ็š„ๅˆ›ไธšใ€‚็„ถ่€Œ๏ผŒ่ฏปๅฎŒ่จๅธŒๅฐ”ยทๆ‹‰ๆ–‡ๅ‰ไบš็š„ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹ๅŽ๏ผŒ็ฌ”่€…่Žทๅพ—ไบ†ไธ€็งๆˆช็„ถไธๅŒ็š„ๅ•†ไธš่ง†่ง’๏ผšไผไธšๅญ˜ๅœจ็š„้ฆ–่ฆ็›ฎ็š„ไธๆ˜ฏไธบไบ†่ž่ต„ๅ’Œๆ‰ฉๅผ ๏ผŒ่€Œๆ˜ฏไธบไบ†้€š่ฟ‡่งฃๅ†ณ้—ฎ้ข˜ๆฅ่Žทๅพ—ๆŒ็ปญ็š„็›ˆๅˆฉใ€‚ ๆœฌๆ–‡็ป“ๅˆไนฆไธญ็š„ๆ ธๅฟƒ่ฎบ็‚นไธŽ่‡ช่บซ็š„็ ”ๅ‘่ง†่ง’๏ผŒๆŠŠๅฐ†่ฟ™ๆœฌไนฆ่ƒŒๅŽ็š„็ป่ฅ้€ป่พ‘ไธŽไบงๅ“ๅ“ฒๅญฆๆขณ็†ไธบๅ‡ ไธชๆ ธๅฟƒๅฑ‚้ข็š„ๆ€่€ƒใ€‚","frontmatter":{"date":"2025-11-24T21:50:00.000Z","title":"ๆ”พๅผƒๅขž้•ฟๆ‰งๅฟต๏ผŒไธบไป€ไนˆโ€œๅฐ่€Œ็พŽโ€ๆ‰ๆ˜ฏๅฏๆŒ็ปญไน‹่ทฏ","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒ็ง‘ๆŠ€ไบ’่”็ฝ‘่กŒไธš็š„ๅ™ไบ‹้ƒฝ่ขซโ€œไธๆƒœไธ€ๅˆ‡ไปฃไปทๅฎž็Žฐ่ถ…็บฟๆ€งๅขž้•ฟโ€ๆ‰€ไธปๅฏผใ€‚ไปฟไฝ›ๅชๆœ‰ๆ‹ฟๅˆฐๅทจ้ข่ž่ต„ใ€็–ฏ็‹‚ๆ‹›ไบบใ€ๆˆไธบไผฐๅ€ผ็ ด็™พไบฟ็š„ๅบž็„ถๅคง็‰ฉ๏ผŒๆ‰็ฎ—ๅพ—ไธŠๆ˜ฏๆˆๅŠŸ็š„ๅˆ›ไธšใ€‚็„ถ่€Œ๏ผŒ่ฏปๅฎŒ่จๅธŒๅฐ”ยทๆ‹‰ๆ–‡ๅ‰ไบš็š„ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹ๅŽ๏ผŒ็ฌ”่€…่Žทๅพ—ไบ†ไธ€็งๆˆช็„ถไธๅŒ็š„ๅ•†ไธš่ง†่ง’๏ผšไผไธšๅญ˜ๅœจ็š„้ฆ–่ฆ็›ฎ็š„ไธๆ˜ฏไธบไบ†่ž่ต„ๅ’Œๆ‰ฉๅผ ๏ผŒ่€Œๆ˜ฏไธบไบ†้€š่ฟ‡่งฃๅ†ณ้—ฎ้ข˜ๆฅ่Žทๅพ—ๆŒ็ปญ็š„็›ˆๅˆฉใ€‚ ๆœฌๆ–‡็ป“ๅˆไนฆไธญ็š„ๆ ธๅฟƒ่ฎบ็‚นไธŽ่‡ช่บซ็š„็ ”ๅ‘่ง†่ง’๏ผŒๆŠŠๅฐ†่ฟ™ๆœฌไนฆ่ƒŒๅŽ็š„็ป่ฅ้€ป่พ‘ไธŽไบงๅ“ๅ“ฒๅญฆๆขณ็†ไธบๅ‡ ไธชๆ ธๅฟƒๅฑ‚้ข็š„ๆ€่€ƒใ€‚","coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/product_sense_bg.png","permalink":"/product-sense/small-rule-learn","categories":["ไบงๅ“ Sense"],"tags":["ไบงๅ“ Sense","ๅ•†ไธšๅŒ–"]},"headers":[],"relativePath":"10.ไบงๅ“ Sense/04.ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–/30.ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹่ฏปๅŽๆ„Ÿ.md","filePath":"10.ไบงๅ“ Sense/04.ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–/30.ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹่ฏปๅŽๆ„Ÿ.md"}'),r={name:"10.ไบงๅ“ Sense/04.ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–/30.ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹่ฏปๅŽๆ„Ÿ.md"};function o(i,a,p,l,c,m){return n(),t("div",null,[...a[0]||(a[0]=[e("",24)])])}const g=s(r,[["render",o]]);export{d as __pageData,g as default}; +import{_ as s,g as t,h as n,U as e}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const d=JSON.parse('{"title":"ๆ”พๅผƒๅขž้•ฟๆ‰งๅฟต๏ผŒไธบไป€ไนˆโ€œๅฐ่€Œ็พŽโ€ๆ‰ๆ˜ฏๅฏๆŒ็ปญไน‹่ทฏ","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒ็ง‘ๆŠ€ไบ’่”็ฝ‘่กŒไธš็š„ๅ™ไบ‹้ƒฝ่ขซโ€œไธๆƒœไธ€ๅˆ‡ไปฃไปทๅฎž็Žฐ่ถ…็บฟๆ€งๅขž้•ฟโ€ๆ‰€ไธปๅฏผใ€‚ไปฟไฝ›ๅชๆœ‰ๆ‹ฟๅˆฐๅทจ้ข่ž่ต„ใ€็–ฏ็‹‚ๆ‹›ไบบใ€ๆˆไธบไผฐๅ€ผ็ ด็™พไบฟ็š„ๅบž็„ถๅคง็‰ฉ๏ผŒๆ‰็ฎ—ๅพ—ไธŠๆ˜ฏๆˆๅŠŸ็š„ๅˆ›ไธšใ€‚็„ถ่€Œ๏ผŒ่ฏปๅฎŒ่จๅธŒๅฐ”ยทๆ‹‰ๆ–‡ๅ‰ไบš็š„ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹ๅŽ๏ผŒ็ฌ”่€…่Žทๅพ—ไบ†ไธ€็งๆˆช็„ถไธๅŒ็š„ๅ•†ไธš่ง†่ง’๏ผšไผไธšๅญ˜ๅœจ็š„้ฆ–่ฆ็›ฎ็š„ไธๆ˜ฏไธบไบ†่ž่ต„ๅ’Œๆ‰ฉๅผ ๏ผŒ่€Œๆ˜ฏไธบไบ†้€š่ฟ‡่งฃๅ†ณ้—ฎ้ข˜ๆฅ่Žทๅพ—ๆŒ็ปญ็š„็›ˆๅˆฉใ€‚ ๆœฌๆ–‡็ป“ๅˆไนฆไธญ็š„ๆ ธๅฟƒ่ฎบ็‚นไธŽ่‡ช่บซ็š„็ ”ๅ‘่ง†่ง’๏ผŒๆŠŠๅฐ†่ฟ™ๆœฌไนฆ่ƒŒๅŽ็š„็ป่ฅ้€ป่พ‘ไธŽไบงๅ“ๅ“ฒๅญฆๆขณ็†ไธบๅ‡ ไธชๆ ธๅฟƒๅฑ‚้ข็š„ๆ€่€ƒใ€‚","frontmatter":{"date":"2025-11-24T21:50:00.000Z","title":"ๆ”พๅผƒๅขž้•ฟๆ‰งๅฟต๏ผŒไธบไป€ไนˆโ€œๅฐ่€Œ็พŽโ€ๆ‰ๆ˜ฏๅฏๆŒ็ปญไน‹่ทฏ","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒ็ง‘ๆŠ€ไบ’่”็ฝ‘่กŒไธš็š„ๅ™ไบ‹้ƒฝ่ขซโ€œไธๆƒœไธ€ๅˆ‡ไปฃไปทๅฎž็Žฐ่ถ…็บฟๆ€งๅขž้•ฟโ€ๆ‰€ไธปๅฏผใ€‚ไปฟไฝ›ๅชๆœ‰ๆ‹ฟๅˆฐๅทจ้ข่ž่ต„ใ€็–ฏ็‹‚ๆ‹›ไบบใ€ๆˆไธบไผฐๅ€ผ็ ด็™พไบฟ็š„ๅบž็„ถๅคง็‰ฉ๏ผŒๆ‰็ฎ—ๅพ—ไธŠๆ˜ฏๆˆๅŠŸ็š„ๅˆ›ไธšใ€‚็„ถ่€Œ๏ผŒ่ฏปๅฎŒ่จๅธŒๅฐ”ยทๆ‹‰ๆ–‡ๅ‰ไบš็š„ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹ๅŽ๏ผŒ็ฌ”่€…่Žทๅพ—ไบ†ไธ€็งๆˆช็„ถไธๅŒ็š„ๅ•†ไธš่ง†่ง’๏ผšไผไธšๅญ˜ๅœจ็š„้ฆ–่ฆ็›ฎ็š„ไธๆ˜ฏไธบไบ†่ž่ต„ๅ’Œๆ‰ฉๅผ ๏ผŒ่€Œๆ˜ฏไธบไบ†้€š่ฟ‡่งฃๅ†ณ้—ฎ้ข˜ๆฅ่Žทๅพ—ๆŒ็ปญ็š„็›ˆๅˆฉใ€‚ ๆœฌๆ–‡็ป“ๅˆไนฆไธญ็š„ๆ ธๅฟƒ่ฎบ็‚นไธŽ่‡ช่บซ็š„็ ”ๅ‘่ง†่ง’๏ผŒๆŠŠๅฐ†่ฟ™ๆœฌไนฆ่ƒŒๅŽ็š„็ป่ฅ้€ป่พ‘ไธŽไบงๅ“ๅ“ฒๅญฆๆขณ็†ไธบๅ‡ ไธชๆ ธๅฟƒๅฑ‚้ข็š„ๆ€่€ƒใ€‚","coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/product_sense_bg.png","permalink":"/product-sense/small-rule-learn","categories":["ไบงๅ“ Sense"],"tags":["ไบงๅ“ Sense","ๅ•†ไธšๅŒ–"]},"headers":[],"relativePath":"10.ไบงๅ“ Sense/04.ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–/30.ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹่ฏปๅŽๆ„Ÿ.md","filePath":"10.ไบงๅ“ Sense/04.ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–/30.ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹่ฏปๅŽๆ„Ÿ.md"}'),r={name:"10.ไบงๅ“ Sense/04.ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–/30.ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹่ฏปๅŽๆ„Ÿ.md"};function o(i,a,p,l,c,m){return n(),t("div",null,[...a[0]||(a[0]=[e("",24)])])}const g=s(r,[["render",o]]);export{d as __pageData,g as default}; diff --git "a/assets/10.\344\272\247\345\223\201 Sense_05.\346\226\271\346\263\225\350\256\272_40.\346\264\236\345\257\237\345\212\233\346\250\241\345\236\213.md.-U_WT1WE.js" "b/assets/10.\344\272\247\345\223\201 Sense_05.\346\226\271\346\263\225\350\256\272_40.\346\264\236\345\257\237\345\212\233\346\250\241\345\236\213.md.j-w2xxuV.js" similarity index 99% rename from "assets/10.\344\272\247\345\223\201 Sense_05.\346\226\271\346\263\225\350\256\272_40.\346\264\236\345\257\237\345\212\233\346\250\241\345\236\213.md.-U_WT1WE.js" rename to "assets/10.\344\272\247\345\223\201 Sense_05.\346\226\271\346\263\225\350\256\272_40.\346\264\236\345\257\237\345\212\233\346\250\241\345\236\213.md.j-w2xxuV.js" index ba038174..34a4b8d7 100644 --- "a/assets/10.\344\272\247\345\223\201 Sense_05.\346\226\271\346\263\225\350\256\272_40.\346\264\236\345\257\237\345\212\233\346\250\241\345\236\213.md.-U_WT1WE.js" +++ "b/assets/10.\344\272\247\345\223\201 Sense_05.\346\226\271\346\263\225\350\256\272_40.\346\264\236\345\257\237\345\212\233\346\250\241\345\236\213.md.j-w2xxuV.js" @@ -1 +1 @@ -import{_ as a,g as r,h as o,U as s}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const c=JSON.parse('{"title":"ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผšๅฆ‚ไฝ•็œ‹้€ไบงๅ“ไธŽๆŠ€ๆœฏ่ƒŒๅŽ็š„็ณป็ปŸ้€ป่พ‘๏ผŸ","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆ— ่ฎบๆ˜ฏๅšไบงๅ“ใ€ๆžๆŠ€ๆœฏ๏ผŒ่ฟ˜ๆ˜ฏๅบ”ๅฏนๆ—ฅๅธธๅทฅไฝœไธญ็š„ๅ„็งๆŒ‘ๆˆ˜๏ผŒไฝ ๆ˜ฏๅฆ้‡ๅˆฐ่ฟ‡่ฟ™ๆ ท็š„ๅ›ฐๅขƒ๏ผšๆ˜Žๆ˜ŽๆŒ‰็ป้ชŒ่กŒไบ‹๏ผŒๅดๅฑกๅฑก่ธฉๅ‘๏ผ›ๅˆš่งฃๅ†ณ่กจ้ข้—ฎ้ข˜๏ผŒ้šๆ‚ฃๅˆๅทๅœŸ้‡ๆฅใ€‚้—ฎ้ข˜ๆœชๅฟ…ๅ‡บๅœจๅŠชๅŠ›็จ‹ๅบฆ๏ผŒ่€ŒๅœจไบŽๆˆ‘ไปฌๅช็›ฏ็€่กจ่ฑก๏ผŒๅดๅฟฝ็•ฅไบ†่ƒŒๅŽ็œŸๆญฃ่ตทไฝœ็”จ็š„็ณป็ปŸ๏ผŒๆฒกๆœ‰็œ‹ๆ‡‚่—ๅœจ่ƒŒๅŽ็š„็ณป็ปŸใ€‚ไธบไป€ไนˆๅŒๆ ทๆ˜ฏ่งฃๅ†ณ้—ฎ้ข˜๏ผŒๆœ‰ไบบๅช่ƒฝโ€œๅคด็—›ๅŒปๅคดโ€๏ผŒๆœ‰ไบบๅด่ƒฝ็›ดๅ‡ปๆœฌ่ดจ๏ผŸ่ฟ™็ฏ‡ๆ–‡็ซ ๅฐ†็”จ้€šไฟ—ๆ˜“ๆ‡‚็š„ๆ–นๅผ๏ผŒๅธฆไฝ ๆ‹†่งฃไธ€ๅฅ—ๅฎž็”จ็š„ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผŒ่ฎฉๆˆ‘ไปฌๅญฆไผš้€่ฟ‡็Žฐ่ฑกๆŠ“ไฝๆœฌ่ดจ๏ผŒไปŽๆ นๆบไธŠ่งฃๅ†ณ้—ฎ้ข˜ใ€‚","frontmatter":{"date":"2025-11-14T16:00:00.000Z","title":"ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผšๅฆ‚ไฝ•็œ‹้€ไบงๅ“ไธŽๆŠ€ๆœฏ่ƒŒๅŽ็š„็ณป็ปŸ้€ป่พ‘๏ผŸ","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆ— ่ฎบๆ˜ฏๅšไบงๅ“ใ€ๆžๆŠ€ๆœฏ๏ผŒ่ฟ˜ๆ˜ฏๅบ”ๅฏนๆ—ฅๅธธๅทฅไฝœไธญ็š„ๅ„็งๆŒ‘ๆˆ˜๏ผŒไฝ ๆ˜ฏๅฆ้‡ๅˆฐ่ฟ‡่ฟ™ๆ ท็š„ๅ›ฐๅขƒ๏ผšๆ˜Žๆ˜ŽๆŒ‰็ป้ชŒ่กŒไบ‹๏ผŒๅดๅฑกๅฑก่ธฉๅ‘๏ผ›ๅˆš่งฃๅ†ณ่กจ้ข้—ฎ้ข˜๏ผŒ้šๆ‚ฃๅˆๅทๅœŸ้‡ๆฅใ€‚้—ฎ้ข˜ๆœชๅฟ…ๅ‡บๅœจๅŠชๅŠ›็จ‹ๅบฆ๏ผŒ่€ŒๅœจไบŽๆˆ‘ไปฌๅช็›ฏ็€่กจ่ฑก๏ผŒๅดๅฟฝ็•ฅไบ†่ƒŒๅŽ็œŸๆญฃ่ตทไฝœ็”จ็š„็ณป็ปŸ๏ผŒๆฒกๆœ‰็œ‹ๆ‡‚่—ๅœจ่ƒŒๅŽ็š„็ณป็ปŸใ€‚ไธบไป€ไนˆๅŒๆ ทๆ˜ฏ่งฃๅ†ณ้—ฎ้ข˜๏ผŒๆœ‰ไบบๅช่ƒฝโ€œๅคด็—›ๅŒปๅคดโ€๏ผŒๆœ‰ไบบๅด่ƒฝ็›ดๅ‡ปๆœฌ่ดจ๏ผŸ่ฟ™็ฏ‡ๆ–‡็ซ ๅฐ†็”จ้€šไฟ—ๆ˜“ๆ‡‚็š„ๆ–นๅผ๏ผŒๅธฆไฝ ๆ‹†่งฃไธ€ๅฅ—ๅฎž็”จ็š„ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผŒ่ฎฉๆˆ‘ไปฌๅญฆไผš้€่ฟ‡็Žฐ่ฑกๆŠ“ไฝๆœฌ่ดจ๏ผŒไปŽๆ นๆบไธŠ่งฃๅ†ณ้—ฎ้ข˜ใ€‚","permalink":"/product-sense/insight-model","categories":["ไบงๅ“ Sense"],"tags":["ไบงๅ“ Sense","็ณป็ปŸๆดžๅฏŸๅŠ›"]},"headers":[],"relativePath":"10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/40.ๆดžๅฏŸๅŠ›ๆจกๅž‹.md","filePath":"10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/40.ๆดžๅฏŸๅŠ›ๆจกๅž‹.md"}'),i={name:"10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/40.ๆดžๅฏŸๅŠ›ๆจกๅž‹.md"};function e(n,t,p,l,g,d){return o(),r("div",null,[...t[0]||(t[0]=[s('

ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผšๅฆ‚ไฝ•็œ‹้€ไบงๅ“ไธŽๆŠ€ๆœฏ่ƒŒๅŽ็š„็ณป็ปŸ้€ป่พ‘๏ผŸ โ€‹

ๆ‘˜่ฆๆ€ป็ป“๏ผšๆ— ่ฎบๆ˜ฏๅšไบงๅ“ใ€ๆžๆŠ€ๆœฏ๏ผŒ่ฟ˜ๆ˜ฏๅบ”ๅฏนๆ—ฅๅธธๅทฅไฝœไธญ็š„ๅ„็งๆŒ‘ๆˆ˜๏ผŒไฝ ๆ˜ฏๅฆ้‡ๅˆฐ่ฟ‡่ฟ™ๆ ท็š„ๅ›ฐๅขƒ๏ผšๆ˜Žๆ˜ŽๆŒ‰็ป้ชŒ่กŒไบ‹๏ผŒๅดๅฑกๅฑก่ธฉๅ‘๏ผ›ๅˆš่งฃๅ†ณ่กจ้ข้—ฎ้ข˜๏ผŒ้šๆ‚ฃๅˆๅทๅœŸ้‡ๆฅใ€‚้—ฎ้ข˜ๆœชๅฟ…ๅ‡บๅœจๅŠชๅŠ›็จ‹ๅบฆ๏ผŒ่€ŒๅœจไบŽๆˆ‘ไปฌๅช็›ฏ็€่กจ่ฑก๏ผŒๅดๅฟฝ็•ฅไบ†่ƒŒๅŽ็œŸๆญฃ่ตทไฝœ็”จ็š„็ณป็ปŸ๏ผŒๆฒกๆœ‰็œ‹ๆ‡‚่—ๅœจ่ƒŒๅŽ็š„็ณป็ปŸใ€‚ไธบไป€ไนˆๅŒๆ ทๆ˜ฏ่งฃๅ†ณ้—ฎ้ข˜๏ผŒๆœ‰ไบบๅช่ƒฝโ€œๅคด็—›ๅŒปๅคดโ€๏ผŒๆœ‰ไบบๅด่ƒฝ็›ดๅ‡ปๆœฌ่ดจ๏ผŸ่ฟ™็ฏ‡ๆ–‡็ซ ๅฐ†็”จ้€šไฟ—ๆ˜“ๆ‡‚็š„ๆ–นๅผ๏ผŒๅธฆไฝ ๆ‹†่งฃไธ€ๅฅ—ๅฎž็”จ็š„ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผŒ่ฎฉๆˆ‘ไปฌๅญฆไผš้€่ฟ‡็Žฐ่ฑกๆŠ“ไฝๆœฌ่ดจ๏ผŒไปŽๆ นๆบไธŠ่งฃๅ†ณ้—ฎ้ข˜ใ€‚

1. ่กจ่ฑก่ƒŒๅŽ่—็€ๅ†ณๅฎšไธ€ๅˆ‡็š„โ€œ็ณป็ปŸ้ป‘็›’โ€ โ€‹

ๆˆ‘ไปฌๅœจๆ—ฅๅธธๅผ€ๅ‘ๆˆ–ไบงๅ“่ฎพ่ฎกไธญ๏ผŒๆ€ปๆ˜ฏ่ขซๅ„็งโ€œ่กจ่ฑกโ€ๅŒ…ๅ›ด๏ผšDAU ็ช็„ถไธ‹้™ไบ†ใ€็บฟไธŠๅ‡บ็Žฐไบ†ไธ€ไธชๅถ็Žฐ็š„ Bugใ€ๆŸไธชๅŠŸ่ƒฝ็š„่ฝฌๅŒ–็އไธๅŠ้ข„ๆœŸใ€‚ๆˆ‘ไปฌไน ๆƒฏไบ†็›ฏ็€่ฟ™ไบ›็œ‹ๅพ—่ง็š„็ป“ๆžœๆ‰พๅŽŸๅ› ๏ผŒๅดๅฟฝ็•ฅไบ†ไธ€ไธชๆ ธๅฟƒ็œŸ็›ธ๏ผšๆฏไธ€ไธช่กจ่ฑก่ƒŒๅŽ๏ผŒๅ…ถๅฎž้ƒฝ้š่—็€ไธ€ไธช่ฟ่ฝฌๅคๆ‚็š„โ€œ้ป‘็›’ๅญโ€๏ผŒๆญฃๆ˜ฏ่ฟ™ไธช้ป‘็›’ๅญๅ†ณๅฎšไบ†ไบ‹็‰ฉๅ‘ๅฑ•็š„ๅฎข่ง‚่ง„ๅพ‹ใ€‚ๆˆ‘ไปฌๅฏไปฅๆŠŠ่ฟ™ไธช้ป‘็›’ๅญ๏ผŒๅซๅšโ€œ็ณป็ปŸโ€ใ€‚

็ณป็ปŸ้ป‘็›’

ๅฝ“็ณป็ปŸ่ฟ่ฝฌๆญฃๅธธๆ—ถ๏ผŒๆˆ‘ไปฌๅฏไปฅ้ตๅพช็ป้ชŒๅ’Œ่ง„ๅพ‹ๆŒ‰้ƒจๅฐฑ็ญๅœฐๅšไบ‹ใ€‚ๅฏไธ€ๆ—ฆ็ณป็ปŸๅ‡บไบ†้—ฎ้ข˜๏ผŒ่ฟ‡ๅพ€็š„็ป้ชŒๅพ€ๅพ€ไผš็žฌ้—ดๅคฑๆ•ˆใ€‚ๅฆ‚ๆžœๆˆ‘ไปฌๆ— ๆณ•็ ด่ฏ‘่กจ่ฑก่ƒŒๅŽ็š„็ณป็ปŸ๏ผŒๅฐฑไธๅฏ่ƒฝ็Ÿฅ้“้—ฎ้ข˜ๅˆฐๅบ•ๅ‡บๅœจๅ“ชไธ€่กŒโ€œไปฃ็ โ€ไธŠ๏ผŒๆ›ดๅˆซๆๅŽปไฟฎๅคๅฎƒไบ†ใ€‚ๅ› ๆญค๏ผŒๆ‰€่ฐ“้”ป็‚ผๆดžๅฏŸๅŠ›๏ผŒๆœฌ่ดจไธŠๅฐฑๆ˜ฏไธบไบ†๏ผš็†่งฃโ€œ่กจ่ฑกโ€่ƒŒๅŽ็š„โ€œ็ณป็ปŸโ€๏ผŒไปŽ่€Œๅœจๆ นๆบไธŠ่งฃๅ†ณ้—ฎ้ข˜ใ€‚

2. ็ณป็ปŸ็š„ๆ ธๅฟƒ๏ผš่ฆ็ด  * ่ฟžๆŽฅๅ…ณ็ณป โ€‹

็ณป็ปŸๅนถไธๆ˜ฏไธ€ๅ›ขไนฑ้บป๏ผŒ่€Œๆ˜ฏไธ€็ป„็›ธไบ’้“พๆŽฅ็š„่ฆ็ด ๏ผŒๅฎƒๆ˜ฏๆœ‰ๅ…ฌๅผๅฏๅพช๏ผš็ณป็ปŸ = ่ฆ็ด  * ่ฟžๆŽฅๅ…ณ็ณปใ€‚ไธพไธช็ปๅ…ธ็š„ๆœบๆขฐๆ‰‹่กจไพ‹ๅญ๏ผš่กจ็›˜ใ€่กจๅ† ใ€ๅ‡ ็™พไธชๅพฎๅฐ็š„้ฝฟ่ฝฎๅ’Œๆธธไธ๏ผŒ่ฟ™ไบ›้ƒฝๆ˜ฏๆž„ๆˆๆ‰‹่กจ็š„โ€œ่ฆ็ด โ€ใ€‚่€Œ่ฟ™ๅ‡ ็™พไธช้›ถไปถๆ˜ฏๅฆ‚ไฝ•ไบ’็›ธๅ’ฌๅˆใ€ไผ ้€’ๅŠจๅŠ›็š„๏ผŒๅฐฑๆ˜ฏๅฎƒไปฌไน‹้—ด็š„โ€œ่ฟžๆŽฅๅ…ณ็ณปโ€ใ€‚

ๆ”พๅˆฐๅทฅไฝœไธญไนŸๆ˜ฏๅŒ็†๏ผšๅšไบงๅ“็š„่ฆ็ด ๆ˜ฏ็”จๆˆทใ€ๅŠŸ่ƒฝใ€ๆต้‡ใ€่ฟ่ฅ๏ผ›ๅšๅ›ข้˜Ÿ็š„่ฆ็ด ๆ˜ฏๆˆๅ‘˜ใ€ๅฒ—ไฝใ€็›ฎๆ ‡ใ€่ต„ๆบใ€‚็„ถ่€Œ๏ผŒ็ปๅคงๅคšๆ•ฐไบบ่™ฝ็„ถ่ƒฝ่ฝปๆพ็œ‹ๆธ…่ฟ™ไบ›่ฆ็ด ๏ผŒๅดๅพ€ๅพ€ไน ๆƒฏๆ€งๅฟฝ็•ฅๅฎƒไปฌไน‹้—ด็š„่ฟžๆŽฅๅ…ณ็ณปโ€”โ€”่€Œ90%็š„้—ฎ้ข˜ๆ นๆบ๏ผŒๆฐๆฐๅฐฑ่—ๅœจ่ฟ™ไบ›็œ‹ไธ่ง็š„่ฟžๆŽฅไน‹ไธญใ€‚

่ฟ™ไนŸๅธฆๆฅไบ†ๆดžๅฏŸๅŠ›ๆ–ฐ็š„ๅฎšไน‰๏ผš้€่ฟ‡่กจ่ฑก๏ผŒไธไป…่ƒฝ็œ‹ๅˆฐ็ณป็ปŸ็š„ๅ„ไธช่ฆ็ด ๏ผŒๆ›ด่ƒฝ็œ‹้€่ฆ็ด ไน‹้—ด้”™็ปผๅคๆ‚็š„่ฟžๆŽฅๅ…ณ็ณปใ€‚

ๅœจ็Žฐๅฎžไธญ๏ผŒๆˆ‘ไปฌๅพ€ๅพ€ๅพˆๅฎนๆ˜“ไธ€็œผ็œ‹ๅˆฐโ€œ่ฆ็ด โ€๏ผˆๆฏ”ๅฆ‚ไธ€ไธชๅ›ข้˜Ÿ้‡Œๆœ‰ๅ‡ ไธชไบบ๏ผŒไธ€ไธช้กต้ขไธŠๆœ‰ๅ‡ ไธชๆŒ‰้’ฎ๏ผ‰๏ผŒๅดๆžๅ…ถๅฎนๆ˜“ๅฟฝ็•ฅโ€œ่ฟžๆŽฅๅ…ณ็ณปโ€๏ผˆๆฏ”ๅฆ‚่ฟ™ๅ‡ ไธชไบบไน‹้—ด็š„ๅˆฉ็›ŠไธŽๆƒ่ดฃๅˆ†้…๏ผŒๆŒ‰้’ฎ่ƒŒๅŽ็š„ๆ•ฐๆฎๆตๅ‘๏ผ‰ใ€‚็„ถ่€Œ๏ผŒ็œŸๆญฃ้ซ˜้˜ถ็š„่งฃๅ†ณๆ–นๆกˆ๏ผŒๅพ€ๅพ€ๅฐฑ่—ๅœจ้‚ฃไบ›็œ‹ไธ่ง็š„่ฟžๆŽฅๅ…ณ็ณป้‡Œใ€‚

ๆƒณ่ฆ็ปƒๅ‡บ่ฟ™็ง่ƒฝๅŠ›๏ผŒๆˆ‘ไปฌ่ฆๆ‹†่งฃ็ณป็ปŸ้‡Œ็š„ 5 ไธชๆ ธๅฟƒ่ฆ็‚น๏ผšๅ˜้‡ใ€ๅ› ๆžœ้“พใ€ๅขžๅผบๅ›ž่ทฏใ€่ฐƒ่Š‚ๅ›ž่ทฏใ€ๆปžๅŽๆ•ˆๅบ”ใ€‚

  • 1 ็ง่ฆ็ด ๏ผšๅ˜้‡
  • 4 ็ง่ฟžๆŽฅๅ…ณ็ณป๏ผšๅ› ๆžœ้“พใ€ๅขžๅผบๅ›ž่ทฏใ€่ฐƒ่Š‚ๅ›ž่ทฏใ€ๆปžๅŽๆ•ˆๅบ”
ๆดžๅฏŸๅŠ›ๆจกๅž‹

3. ๅ˜้‡๏ผš็ณป็ปŸ้‡Œ็š„โ€œๅ˜ๅŒ–ๅ› ๅญโ€ โ€‹

ๅ˜้‡๏ผŒ้กพๅๆ€ไน‰๏ผŒๆ˜ฏ็ณป็ปŸไธญไผš้š็€ๆ—ถ้—ดๅ‘็”Ÿๅ˜ๅŒ–็š„่ฆ็ด ใ€‚ไธ€ๆ—ฆๆˆ‘ไปฌๅฐ†ๅ˜้‡ๆ”พ่ฟ›ๆ—ถ้—ด่ฝด้‡Œ่ง‚ๅฏŸ๏ผŒๅฎƒๅฐฑไผšๅ‘ˆ็Žฐๅ‡บไธค็งๆˆช็„ถไธๅŒ็š„็Šถๆ€๏ผšๅญ˜้‡ไธŽๆต้‡ใ€‚

  • ๅญ˜้‡๏ผšๆ˜ฏๆŸไธ€็‰นๅฎšๆ—ถๅˆป๏ผŒ็ณป็ปŸไธญ็งฏ็ดฏ็š„ๅ˜้‡ๆ€ปๅ’Œใ€‚

  • ๆต้‡๏ผšๆ˜ฏไธ€ๆฎตๆ—ถ้—ดๅ†…๏ผŒๅ˜้‡ๆตๅ…ฅๆˆ–ๆตๅ‡บ็š„้€Ÿ็އใ€‚

ๅ˜้‡

ๅญ˜้‡ๆ˜ฏ็ณป็ปŸ็š„โ€œๅฎถๅบ•โ€๏ผŒๆต้‡ๅ†ณๅฎšๅญ˜้‡็š„ๅขžๅ‡ใ€‚็œ‹ๆ‡‚ๅ˜้‡็š„ๅญ˜้‡ไธŽๆต้‡๏ผŒๆ‰่ƒฝๆ‰พๅ‡†็ณป็ปŸๅ˜ๅŒ–็š„ๆบๅคด๏ผŒ่€Œไธๆ˜ฏๅช็›ฏ็€ๅญ˜้‡็ป“ๆžœๅนฒ็€ๆ€ฅใ€‚

4. ๅ› ๆžœ้“พ๏ผšๆญๅปบ็ณป็ปŸ็š„้ชจๆžถ โ€‹

็”จๅ› ๆžœ้“พ่ฟžๆŽฅๅ˜้‡๏ผŒๆ˜ฏ่ฎญ็ปƒๆดžๅฏŸๅŠ›็š„ๅŸบๆœฌๅŠŸใ€‚

ๅฆ‚ๆžœ่ฏดๅ˜้‡ๆ˜ฏ็‹ฌ็ซ‹็š„่Š‚็‚น๏ผŒ้‚ฃไนˆๅฐ†ๅฎƒไปฌ่ฟžๆŽฅ่ตทๆฅ็š„็บฟๆฎตๅฐฑๆ˜ฏโ€œๅ› ๆžœ้“พโ€ใ€‚ๅ› ๆžœ้“พๆ่ฟฐ็š„ๆ˜ฏๅ˜้‡ไน‹้—ดโ€œๅขžๅผบโ€ๆˆ–โ€œๅ‡ๅผฑโ€็š„ๅ…ณ็ณปใ€‚ๅฆ‚ๆžœๆฒกๆœ‰่ฟ™ไบ›้“พๆก๏ผŒๅ†ๅคš็š„ๅ˜้‡ๅ †็ Œๅœจไธ€่ตท๏ผŒไนŸๅชๆ˜ฏไธ€็›˜ๆฏซๆ— ็”Ÿๆœบ็š„ๆ•ฃๆฒ™๏ผŒๆ— ๆณ•ๆž„ๆˆ็”Ÿ็”Ÿไธๆฏ็š„็ณป็ปŸใ€‚

ๅ› ๆžœ้“พ

่กŒๅŠจๅฐๅปบ่ฎฎ๏ผš

  • ๅœจๆ—ฅๅธธๅค็›˜ๆ—ถ๏ผŒ่ฏ•็€ๆ‹ฟ่ตทไธคไธช็œ‹ไผผ็›ธๅ…ณ็š„ๆŒ‡ๆ ‡๏ผˆๆฏ”ๅฆ‚โ€œไปฃ็ ๆๆต‹้€Ÿๅบฆโ€ๅ’Œโ€œ็บฟไธŠๆ•…้šœ็އโ€๏ผ‰๏ผŒ้—ฎ้—ฎ่‡ชๅทฑ๏ผšๅฎƒไปฌไน‹้—ดๆ˜ฏๅ› ๅขžๅผบๆžœ๏ผŒ่ฟ˜ๆ˜ฏๅ› ๅ‡ๅผฑๆžœ๏ผŸ
  • ็œ‹ไผผ็ฎ€ๅ•็š„ๅ› ๆžœ้“พ๏ผŒไธ€ๆฎตๆฎตๅ’ฌๅˆ่ตทๆฅ๏ผŒๆœ€็ปˆๅฐฑๆž„ๆˆไบ†ๅคๆ‚็š„ๅ•†ไธšๆˆ–ๆŠ€ๆœฏ็ณป็ปŸ.

5. ๅขžๅผบๅ›ž่ทฏ๏ผš้€ ๅฐฑๆŒ‡ๆ•ฐ็บงๅขž้•ฟ โ€‹

ๅ˜้‡ๆ˜ฏ่Š‚็‚น๏ผŒๅ› ๆžœ้“พๆ˜ฏ็บฟๆฎต๏ผŒไฝ†็บฟๆฎตๆ€ปๆœ‰ๅฐฝๅคด๏ผŒ่ƒฝ้‡ไผ ๅˆฐๆœซ็ซฏๅฐฑ็ป“ๆŸไบ†ใ€‚ๅฆ‚ๆžœๆˆ‘ไปฌ่ƒฝๆŠŠ็ป“ๅฐพไธŽๅผ€ๅคดไนŸ่ฟžๆŽฅ่ตทๆฅ๏ผŒๅฝขๆˆไธ€ไธช้—ญ็Žฏ๏ผŒไผšๅ‘็”Ÿไป€ไนˆ๏ผŸไบŽๆ˜ฏๅ›ž่ทฏ่ฏž็”Ÿไบ†ใ€‚ๅ›ž่ทฏๅˆ†ไธบไธค็ง๏ผšๅขžๅผบๅ›ž่ทฏไธŽ่ฐƒ่Š‚ๅ›ž่ทฏใ€‚

ๅขžๅผบๅ›ž่ทฏ

ไธ็ฎกๆ˜ฏไบบ็”Ÿ่ง„ๅˆ’ใ€ไบงๅ“่ฟญไปฃ่ฟ˜ๆ˜ฏๅ•†ไธš่ฎพ่ฎก๏ผšๅฐๆˆๅŠŸ้ ่ชๆ˜Žๆ‰ๆ™บ๏ผŒๅคงๆˆๅฐฑ้ ๅปบ็ซ‹ๆญฃๅ‘็š„"ๅขžๅผบๅ›ž่ทฏ"ใ€‚ๆ‰€่ฐ“ๅขžๅผบๅ›ž่ทฏ๏ผŒๅฐฑๆ˜ฏไธคๆกๆˆ–ๅคšๆกๅ› ๆžœ้“พ้ฆ–ๅฐพ็›ธ่ฟž๏ผŒๅฝขๆˆ็š„่‡ชๆˆ‘ๅผบๅŒ–้—ญ็Žฏ๏ผš

  • ๆญฃๅ‘ๅขžๅผบๅ›ž่ทฏ๏ผˆๅ› ๅขžๅผบๆžœ๏ผŒๆžœๅˆๅขžๅผบๅ› ๏ผ‰๏ผšๆฏ”ๅฆ‚ๅผ€ๆบ็”Ÿๆ€ๅปบ่ฎพ๏ผŒไฝ ่ดก็Œฎ็š„ไผ˜่ดจไปฃ็ ่ถŠๅคš๏ผŒๅธๅผ•็š„็”จๆˆทๅฐฑ่ถŠๅคšใ€‚็”จๆˆท่ถŠๅคš๏ผŒๅ้ฆˆๅ’Œๅ‚ไธŽๅ…ฑๅปบ็š„ๅผ€ๅ‘่€…ๅฐฑ่ถŠๅคš๏ผŒ่ฟ›่€Œไปฃ็ ่ดจ้‡ๆ›ด้ซ˜ใ€‚้•ฟไน…ไปฅๆฅ๏ผŒไบบไปฌ็ป™่ฟ™็ง็Žฐ่ฑก่ตทไบ†ๆ— ๆ•ฐ้œธๆฐ”็š„ๅๅญ—โ€œ้ฉฌๅคชๆ•ˆๅบ”ใ€่ตขๅฎถ้€šๅƒใ€ๅคๅˆฉๆ•ˆๅบ”ใ€ๆŒ‡ๆ•ฐ็บงๅขž้•ฟโ€ใ€‚

  • ่ดŸๅ‘ๅขžๅผบๅ›ž่ทฏ๏ผˆๅ› ๅ‡ๅผฑๆžœ๏ผŒๆžœๅˆๅ‡ๅผฑๅ› ๏ผŒๅณๆถๆ€งๅพช็Žฏ๏ผ‰๏ผšๅ…ธๅž‹็š„ๅฐฑๆ˜ฏโ€œๆŠ€ๆœฏๅ€บโ€๏ผŒไธบไบ†่ตถ่ฟ›ๅบฆๅ†™ๅ‡บ็ƒ‚ไปฃ็ ๏ผŒๅฏผ่‡ด็ณป็ปŸ Bug ้ข‘ๅ‘ใ€‚ไธบไบ†ไฟฎ Bug ๅ ็”จไบ†ๆ–ฐๅŠŸ่ƒฝๅผ€ๅ‘ๆ—ถ้—ด๏ผŒๆ—ถ้—ดไธๅคŸๅˆๅช่ƒฝ็ปง็ปญๅ†™็ƒ‚ไปฃ็ โ€ฆโ€ฆๅฆ‚ๆญคๆ— ้™ๆญปๅพช็Žฏใ€‚

6. ่ฐƒ่Š‚ๅ›ž่ทฏ๏ผš่ฎฉ็ณป็ปŸๅ›žๅฝ’ๅนณ่กก โ€‹

ๅฆ‚ๆžœ่ฏดๅขžๅผบๅ›ž่ทฏ็š„ๅญ˜ๅœจ๏ผŒๆ˜ฏ่ฎฉ่ฟ™ไธชไธ–็•Œ่ตฐๅ‘ๆž็ซฏ๏ผ›้‚ฃไนˆ่ฐƒ่Š‚ๅ›ž่ทฏ็š„ๅญ˜ๅœจ๏ผŒๅฐฑๆ˜ฏ่ฎฉ่ฟ™ไธชไธ–็•Œๅ›žๅฝ’ๅนณ่กกใ€‚ๅ‡กๆ˜ฏๆœ‰โ€œๅขžๅผบๅ›ž่ทฏโ€็š„ๅœฐๆ–น๏ผŒไธƒๆญฅไน‹ๅ†…๏ผŒๅฟ…็„ถๆœ‰โ€œ่ฐƒ่Š‚ๅ›ž่ทฏโ€ใ€‚

่ฐƒ่Š‚ๅ›ž่ทฏ

ๆƒณ่ฑกไธ€ๅฎถๅค„ไบŽ็ˆ†ๅ‘ๆœŸ็š„ๅฐๅž‹็ง‘ๆŠ€ๅ…ฌๅธ๏ผš

  • ๅˆๆœŸ้˜ถๆฎต๏ผš้‡‡็”จโ€œๆ— ็ฎก็†็š„็ฎก็†โ€๏ผˆไธ่ฎพๅฑ‚็บงใ€ไธ่ฎพ KPI => ไบงๅ“ไธบ็Ž‹๏ผ‰๏ผŒไพ่ต–ๅทฅ็จ‹ๅธˆๆ–‡ๅŒ–ๅ’Œไบงๅ“ๆ•้”ๅบฆ๏ผŒๅฝขๆˆไบ†โ€œ้ซ˜ๆ•ˆไบงๅ‡บ -> ไธšๅŠก็ˆ†ๅ‘โ€็š„ๅขžๅผบๅ›ž่ทฏใ€‚

  • ๅŽๆœŸ้˜ถๆฎต๏ผš้š็€ไบบๅ‘˜ๆ‰ฉๅผ ๏ผŒๅฝ“ๅˆ้‚ฃๅฅ—็ฒ—ๆ”พๆจกๅผๅคฑๆ•ˆไบ†๏ผŒ่ทจ้ƒจ้—จๆฒŸ้€šๆˆๆœฌๅ‰งๅขž๏ผŒ็บฟไธŠ้—ฎ้ข˜้ข‘ๅ‘ใ€‚ๆญคๆ—ถ๏ผŒโ€œไบงๅ“ไธบ็Ž‹โ€็š„ๅขžๅผบๅ›ž่ทฏ๏ผŒๆ’žไธŠไบ†โ€œ็ฎก็†ๅคๆ‚ๅบฆโ€่ฟ™ๆก่ฐƒ่Š‚ๅ›ž่ทฏ๏ผŒๅฏผ่‡ดไธš็ปฉๅ’Œ็ ”ๅ‘ๆ•ˆ็އๅพ˜ๅพŠไธๅ‰ใ€‚

้‡ๅˆฐ่ฟ™็งๆƒ…ๅ†ต่ฏฅๆ€ŽไนˆๅŠž๏ผŸ

็ญ”ๆกˆๆ˜ฏ๏ผšๅˆ‡ๆ–ญโ€œ็ฎก็†ๅคๆ‚ๅบฆโ€่ฟ™ไธชโ€œ่ฐƒ่Š‚ๅ›ž่ทฏโ€๏ผŒ้‡Šๆ”พ่ฟ›ไธ€ๆญฅๅขž้•ฟ็š„ๆฝœๅŠ›ใ€‚ไธ€ๆ—ฆไฝ ็œ‹ๆ‡‚ไบ†่ฐƒ่Š‚ๅ›ž่ทฏ๏ผŒไฝ ๅฏ่ƒฝ็žฌ้—ดๅฐฑ้กฟๆ‚Ÿไบ†๏ผšๅพˆๅคšๆ—ถๅ€™๏ผŒไบงๅ“ๆˆ–ไธชไบบ็š„็ช็ ดๅนถไธ้œ€่ฆๆ‹ผๅ‘ฝ็Œ›่ธฉๆฒน้—จ๏ผŒๅช่ฆๆพๅผ€่„šไธ‹็š„ๅˆน่ฝฆๅฐฑๅฅฝไบ†ใ€‚

ๅขžๅผบๅ›ž่ทฏ๏ผŒ่ฟฝๆฑ‚ๆž็ซฏใ€‚่ฐƒ่Š‚ๅ›ž่ทฏ๏ผŒๅ›žๅฝ’ๅนณ่กกใ€‚ๅขžๅผบๅ›ž่ทฏๅ’Œ่ฐƒ่Š‚ๅ›ž่ทฏ่ฟ™ๅฏนๅญช็”Ÿๅ…„ๅผŸ๏ผŒๆ€งๆ ผ่ฟฅ็„ถไธๅŒ๏ผŒไฝ†ๅดๅ…ฑๅŒๆž„ๅปบไบ†ๆœ€็พŽๅฆ™็š„ไธ–็•Œไธ‡็‰ฉใ€‚

7. ๆปžๅŽๆ•ˆๅบ”๏ผšๆ—ถ้—ด็š„่ฟท้›พ โ€‹

ๅ› ๆžœไธๆ˜ฏ็žฌ้—ด่ฟžๆŽฅ๏ผŒๅ›ž่ทฏไนŸไธๆ˜ฏ็žฌ้—ด้—ญๅˆ๏ผŒๅฎƒไปฌไน‹้—ดๆœ‰ไธชๆ—ถ้—ดๅทฎ๏ผŒๆœ‰ๆปžๅŽๆ•ˆๅบ”ใ€‚

ๅœจ็‰ฉ็†ไธ–็•Œๅ’Œ็Žฐๅฎž็ณป็ปŸไธญ๏ผŒๅ› ๆžœๅนถไธๆ˜ฏ็žฌ้—ด่ฟžๆŽฅ็š„๏ผŒๅ›ž่ทฏไนŸไธๆ˜ฏ็žฌ้—ด้—ญๅˆ็š„๏ผŒๅฎƒไปฌไน‹้—ดๅญ˜ๅœจไธ€ไธชๆ—ถ้—ดๅทฎ๏ผŒ่ฟ™ๆ—ถ้—ดๅทฎๅฐฑๆ˜ฏโ€œๆปžๅŽๆ•ˆๅบ”โ€ใ€‚

ๆปžๅŽๆ•ˆๅบ”่ฎฉๅŽŸๆœฌๅœจ็ฉบ้—ด็ปดๅบฆไธŠๅฐฑๅพˆๅคๆ‚็š„็ณป็ปŸ๏ผŒๅˆๅขžๅŠ ไบ†ๆ—ถ้—ด็ปดๅบฆ็š„ๅคๆ‚ๆ€งใ€‚ๅฎƒไผš่ฎฉๅŽŸๅ› ๅ’Œ็ป“ๆžœๅœจๆ—ถ็ฉบไธŠ้”™ไฝ๏ผŒๆžๅคงๅœฐ่ฏฏๅฏผๆˆ‘ไปฌ็š„ๅˆคๆ–ญๅŠ›ใ€‚ๅฐฑๅƒๆด—ๆพกๆ—ถ่ฐƒๆฐดๆธฉ๏ผŒไฝ ่ง‰ๅพ—ๆฐดๅ†ท๏ผŒๅพ€็ƒญๆฐดๆ–นๅ‘ๆ‹งไบ†ไธ€็‚น๏ผŒๆฒกๅๅบ”๏ผŒไบŽๆ˜ฏไฝ ็ปง็ปญ็Œ›ๆ‹ง๏ผŒ็ป“ๆžœๅ‡ ็ง’ๅŽ็›ดๆŽฅ่ขซ็ƒซไผคใ€‚

ๅœจ่ฏ•ๅ›พๆดžๅฏŸไธ‡ไบ‹ไธ‡็‰ฉๆ—ถ๏ผŒๆˆ‘ไปฌๅฟƒ้‡Œไธ€ๅฎš่ฆ่ฃ…็€ไธ€ๆกโ€œๆ—ถ้—ด่ฝดโ€ใ€‚ๆ— ่ฎบๆ˜ฏๅ‘ๅธƒไธ€ไธชๆ–ฐๅŠŸ่ƒฝใ€้‡ๆž„ไธ€ๆฎตๅบ•ๅฑ‚ไปฃ็ ๏ผŒ่ฟ˜ๆ˜ฏๅšๆŒๅ†™ๆŠ€ๆœฏๅšๅฎข๏ผŒๆ•ˆๅบ”็š„ๆ˜พ็Žฐ้ƒฝ้œ€่ฆๆ—ถ้—ดใ€‚ๆ‡‚ๅพ—็ญ‰ๅพ…๏ผŒไนŸๆ˜ฏๆดžๅฏŸๅŠ›็š„ไธ€้ƒจๅˆ†ใ€‚

8. ๆ€ป็ป“๏ผšไปŽ่ง‚ๅฏŸ่€…ๅˆฐๆดžๅฏŸ่€… โ€‹

ๅฝ“ไฝ ไธ‹ๆฌกๅœจไบงๅ“ๆˆ–ไปฃ็ ไธญ้‡ๅˆฐๆฃ˜ๆ‰‹้—ฎ้ข˜ๆ—ถ๏ผŒไธๅฆจๅœจ่„‘ๆตท้‡Œ่ท‘ไธ€้่ฟ™ 5 ไธชๅ…ณ้”ฎๆญฅ้ชค๏ผˆๅปบ่ฎฎๆŠŠๅฎƒๅ›บๅŒ–่ฟ›ไฝ ็š„ๆ€่€ƒๆก†ๆžถไธญ๏ผ‰๏ผš

  • ๆ‰พๅˆฐๆ ธๅฟƒๅญ˜้‡

  • ๆ‰พๅˆฐๅ…ณ้”ฎๅ› ๆžœ้“พ

  • ๆ‰พๅˆฐๅขžๅผบๅ›ž่ทฏ๏ผˆไฝ ๅœจ่ธฉๆฒน้—จๅ—๏ผŸ๏ผ‰

  • ๆ‰พๅˆฐ่ฐƒ่Š‚ๅ›ž่ทฏ๏ผˆๅ“ช้‡Œๆœ‰ๅˆน่ฝฆ๏ผŸ๏ผ‰

  • ่€ƒ่™‘ๆปžๅŽๆ•ˆๅบ”๏ผˆๆ˜ฏไธๆ˜ฏๅญๅผน่ฟ˜่ฆ้ฃžไธ€ไผšๅ„ฟ๏ผŸ๏ผ‰

็œ‹็œ‹็ณป็ปŸๅˆฐๅบ•ๅกๅœจๅ“ชไธ€ไธช่Š‚็‚น๏ผŒไฝ ๅฏไปฅ้‡ๆž„ๅ“ชไบ›่ฟžๆŽฅๅ…ณ็ณป๏ผŸๅšๅˆฐ่ฟ™ไบ›๏ผŒๆ‰็ฎ—็œŸๆญฃๆ‹ฅๆœ‰ไบ†โ€œไบงๅ“ Senseโ€็š„ๆœ€้ซ˜ๅฝขๆ€โ€”โ€”็ณป็ปŸๆดžๅฏŸๅŠ›ใ€‚

ๆ™ฎ้€šไบบ่ง‚ๅฏŸ่กจ่ฑก๏ผŒไผ˜็ง€็š„ไบบๆดžๅฏŸ็ณป็ปŸ๏ผŒๅธŒๆœ›่ฟ™ๅฅ—ๆจกๅž‹๏ผŒ่ƒฝๆˆไธบไฝ ๅ‡็บง่ฎค็Ÿฅๆ“ไฝœ็ณป็ปŸ็š„ๆ ธๅฟƒ็ป„ไปถใ€‚

',49)])])}const m=a(i,[["render",e]]);export{c as __pageData,m as default}; +import{_ as a,g as r,h as o,U as s}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const c=JSON.parse('{"title":"ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผšๅฆ‚ไฝ•็œ‹้€ไบงๅ“ไธŽๆŠ€ๆœฏ่ƒŒๅŽ็š„็ณป็ปŸ้€ป่พ‘๏ผŸ","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆ— ่ฎบๆ˜ฏๅšไบงๅ“ใ€ๆžๆŠ€ๆœฏ๏ผŒ่ฟ˜ๆ˜ฏๅบ”ๅฏนๆ—ฅๅธธๅทฅไฝœไธญ็š„ๅ„็งๆŒ‘ๆˆ˜๏ผŒไฝ ๆ˜ฏๅฆ้‡ๅˆฐ่ฟ‡่ฟ™ๆ ท็š„ๅ›ฐๅขƒ๏ผšๆ˜Žๆ˜ŽๆŒ‰็ป้ชŒ่กŒไบ‹๏ผŒๅดๅฑกๅฑก่ธฉๅ‘๏ผ›ๅˆš่งฃๅ†ณ่กจ้ข้—ฎ้ข˜๏ผŒ้šๆ‚ฃๅˆๅทๅœŸ้‡ๆฅใ€‚้—ฎ้ข˜ๆœชๅฟ…ๅ‡บๅœจๅŠชๅŠ›็จ‹ๅบฆ๏ผŒ่€ŒๅœจไบŽๆˆ‘ไปฌๅช็›ฏ็€่กจ่ฑก๏ผŒๅดๅฟฝ็•ฅไบ†่ƒŒๅŽ็œŸๆญฃ่ตทไฝœ็”จ็š„็ณป็ปŸ๏ผŒๆฒกๆœ‰็œ‹ๆ‡‚่—ๅœจ่ƒŒๅŽ็š„็ณป็ปŸใ€‚ไธบไป€ไนˆๅŒๆ ทๆ˜ฏ่งฃๅ†ณ้—ฎ้ข˜๏ผŒๆœ‰ไบบๅช่ƒฝโ€œๅคด็—›ๅŒปๅคดโ€๏ผŒๆœ‰ไบบๅด่ƒฝ็›ดๅ‡ปๆœฌ่ดจ๏ผŸ่ฟ™็ฏ‡ๆ–‡็ซ ๅฐ†็”จ้€šไฟ—ๆ˜“ๆ‡‚็š„ๆ–นๅผ๏ผŒๅธฆไฝ ๆ‹†่งฃไธ€ๅฅ—ๅฎž็”จ็š„ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผŒ่ฎฉๆˆ‘ไปฌๅญฆไผš้€่ฟ‡็Žฐ่ฑกๆŠ“ไฝๆœฌ่ดจ๏ผŒไปŽๆ นๆบไธŠ่งฃๅ†ณ้—ฎ้ข˜ใ€‚","frontmatter":{"date":"2025-11-14T16:00:00.000Z","title":"ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผšๅฆ‚ไฝ•็œ‹้€ไบงๅ“ไธŽๆŠ€ๆœฏ่ƒŒๅŽ็š„็ณป็ปŸ้€ป่พ‘๏ผŸ","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆ— ่ฎบๆ˜ฏๅšไบงๅ“ใ€ๆžๆŠ€ๆœฏ๏ผŒ่ฟ˜ๆ˜ฏๅบ”ๅฏนๆ—ฅๅธธๅทฅไฝœไธญ็š„ๅ„็งๆŒ‘ๆˆ˜๏ผŒไฝ ๆ˜ฏๅฆ้‡ๅˆฐ่ฟ‡่ฟ™ๆ ท็š„ๅ›ฐๅขƒ๏ผšๆ˜Žๆ˜ŽๆŒ‰็ป้ชŒ่กŒไบ‹๏ผŒๅดๅฑกๅฑก่ธฉๅ‘๏ผ›ๅˆš่งฃๅ†ณ่กจ้ข้—ฎ้ข˜๏ผŒ้šๆ‚ฃๅˆๅทๅœŸ้‡ๆฅใ€‚้—ฎ้ข˜ๆœชๅฟ…ๅ‡บๅœจๅŠชๅŠ›็จ‹ๅบฆ๏ผŒ่€ŒๅœจไบŽๆˆ‘ไปฌๅช็›ฏ็€่กจ่ฑก๏ผŒๅดๅฟฝ็•ฅไบ†่ƒŒๅŽ็œŸๆญฃ่ตทไฝœ็”จ็š„็ณป็ปŸ๏ผŒๆฒกๆœ‰็œ‹ๆ‡‚่—ๅœจ่ƒŒๅŽ็š„็ณป็ปŸใ€‚ไธบไป€ไนˆๅŒๆ ทๆ˜ฏ่งฃๅ†ณ้—ฎ้ข˜๏ผŒๆœ‰ไบบๅช่ƒฝโ€œๅคด็—›ๅŒปๅคดโ€๏ผŒๆœ‰ไบบๅด่ƒฝ็›ดๅ‡ปๆœฌ่ดจ๏ผŸ่ฟ™็ฏ‡ๆ–‡็ซ ๅฐ†็”จ้€šไฟ—ๆ˜“ๆ‡‚็š„ๆ–นๅผ๏ผŒๅธฆไฝ ๆ‹†่งฃไธ€ๅฅ—ๅฎž็”จ็š„ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผŒ่ฎฉๆˆ‘ไปฌๅญฆไผš้€่ฟ‡็Žฐ่ฑกๆŠ“ไฝๆœฌ่ดจ๏ผŒไปŽๆ นๆบไธŠ่งฃๅ†ณ้—ฎ้ข˜ใ€‚","permalink":"/product-sense/insight-model","categories":["ไบงๅ“ Sense"],"tags":["ไบงๅ“ Sense","็ณป็ปŸๆดžๅฏŸๅŠ›"]},"headers":[],"relativePath":"10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/40.ๆดžๅฏŸๅŠ›ๆจกๅž‹.md","filePath":"10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/40.ๆดžๅฏŸๅŠ›ๆจกๅž‹.md"}'),i={name:"10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/40.ๆดžๅฏŸๅŠ›ๆจกๅž‹.md"};function e(n,t,p,l,g,d){return o(),r("div",null,[...t[0]||(t[0]=[s('

ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผšๅฆ‚ไฝ•็œ‹้€ไบงๅ“ไธŽๆŠ€ๆœฏ่ƒŒๅŽ็š„็ณป็ปŸ้€ป่พ‘๏ผŸ โ€‹

ๆ‘˜่ฆๆ€ป็ป“๏ผšๆ— ่ฎบๆ˜ฏๅšไบงๅ“ใ€ๆžๆŠ€ๆœฏ๏ผŒ่ฟ˜ๆ˜ฏๅบ”ๅฏนๆ—ฅๅธธๅทฅไฝœไธญ็š„ๅ„็งๆŒ‘ๆˆ˜๏ผŒไฝ ๆ˜ฏๅฆ้‡ๅˆฐ่ฟ‡่ฟ™ๆ ท็š„ๅ›ฐๅขƒ๏ผšๆ˜Žๆ˜ŽๆŒ‰็ป้ชŒ่กŒไบ‹๏ผŒๅดๅฑกๅฑก่ธฉๅ‘๏ผ›ๅˆš่งฃๅ†ณ่กจ้ข้—ฎ้ข˜๏ผŒ้šๆ‚ฃๅˆๅทๅœŸ้‡ๆฅใ€‚้—ฎ้ข˜ๆœชๅฟ…ๅ‡บๅœจๅŠชๅŠ›็จ‹ๅบฆ๏ผŒ่€ŒๅœจไบŽๆˆ‘ไปฌๅช็›ฏ็€่กจ่ฑก๏ผŒๅดๅฟฝ็•ฅไบ†่ƒŒๅŽ็œŸๆญฃ่ตทไฝœ็”จ็š„็ณป็ปŸ๏ผŒๆฒกๆœ‰็œ‹ๆ‡‚่—ๅœจ่ƒŒๅŽ็š„็ณป็ปŸใ€‚ไธบไป€ไนˆๅŒๆ ทๆ˜ฏ่งฃๅ†ณ้—ฎ้ข˜๏ผŒๆœ‰ไบบๅช่ƒฝโ€œๅคด็—›ๅŒปๅคดโ€๏ผŒๆœ‰ไบบๅด่ƒฝ็›ดๅ‡ปๆœฌ่ดจ๏ผŸ่ฟ™็ฏ‡ๆ–‡็ซ ๅฐ†็”จ้€šไฟ—ๆ˜“ๆ‡‚็š„ๆ–นๅผ๏ผŒๅธฆไฝ ๆ‹†่งฃไธ€ๅฅ—ๅฎž็”จ็š„ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผŒ่ฎฉๆˆ‘ไปฌๅญฆไผš้€่ฟ‡็Žฐ่ฑกๆŠ“ไฝๆœฌ่ดจ๏ผŒไปŽๆ นๆบไธŠ่งฃๅ†ณ้—ฎ้ข˜ใ€‚

1. ่กจ่ฑก่ƒŒๅŽ่—็€ๅ†ณๅฎšไธ€ๅˆ‡็š„โ€œ็ณป็ปŸ้ป‘็›’โ€ โ€‹

ๆˆ‘ไปฌๅœจๆ—ฅๅธธๅผ€ๅ‘ๆˆ–ไบงๅ“่ฎพ่ฎกไธญ๏ผŒๆ€ปๆ˜ฏ่ขซๅ„็งโ€œ่กจ่ฑกโ€ๅŒ…ๅ›ด๏ผšDAU ็ช็„ถไธ‹้™ไบ†ใ€็บฟไธŠๅ‡บ็Žฐไบ†ไธ€ไธชๅถ็Žฐ็š„ Bugใ€ๆŸไธชๅŠŸ่ƒฝ็š„่ฝฌๅŒ–็އไธๅŠ้ข„ๆœŸใ€‚ๆˆ‘ไปฌไน ๆƒฏไบ†็›ฏ็€่ฟ™ไบ›็œ‹ๅพ—่ง็š„็ป“ๆžœๆ‰พๅŽŸๅ› ๏ผŒๅดๅฟฝ็•ฅไบ†ไธ€ไธชๆ ธๅฟƒ็œŸ็›ธ๏ผšๆฏไธ€ไธช่กจ่ฑก่ƒŒๅŽ๏ผŒๅ…ถๅฎž้ƒฝ้š่—็€ไธ€ไธช่ฟ่ฝฌๅคๆ‚็š„โ€œ้ป‘็›’ๅญโ€๏ผŒๆญฃๆ˜ฏ่ฟ™ไธช้ป‘็›’ๅญๅ†ณๅฎšไบ†ไบ‹็‰ฉๅ‘ๅฑ•็š„ๅฎข่ง‚่ง„ๅพ‹ใ€‚ๆˆ‘ไปฌๅฏไปฅๆŠŠ่ฟ™ไธช้ป‘็›’ๅญ๏ผŒๅซๅšโ€œ็ณป็ปŸโ€ใ€‚

็ณป็ปŸ้ป‘็›’

ๅฝ“็ณป็ปŸ่ฟ่ฝฌๆญฃๅธธๆ—ถ๏ผŒๆˆ‘ไปฌๅฏไปฅ้ตๅพช็ป้ชŒๅ’Œ่ง„ๅพ‹ๆŒ‰้ƒจๅฐฑ็ญๅœฐๅšไบ‹ใ€‚ๅฏไธ€ๆ—ฆ็ณป็ปŸๅ‡บไบ†้—ฎ้ข˜๏ผŒ่ฟ‡ๅพ€็š„็ป้ชŒๅพ€ๅพ€ไผš็žฌ้—ดๅคฑๆ•ˆใ€‚ๅฆ‚ๆžœๆˆ‘ไปฌๆ— ๆณ•็ ด่ฏ‘่กจ่ฑก่ƒŒๅŽ็š„็ณป็ปŸ๏ผŒๅฐฑไธๅฏ่ƒฝ็Ÿฅ้“้—ฎ้ข˜ๅˆฐๅบ•ๅ‡บๅœจๅ“ชไธ€่กŒโ€œไปฃ็ โ€ไธŠ๏ผŒๆ›ดๅˆซๆๅŽปไฟฎๅคๅฎƒไบ†ใ€‚ๅ› ๆญค๏ผŒๆ‰€่ฐ“้”ป็‚ผๆดžๅฏŸๅŠ›๏ผŒๆœฌ่ดจไธŠๅฐฑๆ˜ฏไธบไบ†๏ผš็†่งฃโ€œ่กจ่ฑกโ€่ƒŒๅŽ็š„โ€œ็ณป็ปŸโ€๏ผŒไปŽ่€Œๅœจๆ นๆบไธŠ่งฃๅ†ณ้—ฎ้ข˜ใ€‚

2. ็ณป็ปŸ็š„ๆ ธๅฟƒ๏ผš่ฆ็ด  * ่ฟžๆŽฅๅ…ณ็ณป โ€‹

็ณป็ปŸๅนถไธๆ˜ฏไธ€ๅ›ขไนฑ้บป๏ผŒ่€Œๆ˜ฏไธ€็ป„็›ธไบ’้“พๆŽฅ็š„่ฆ็ด ๏ผŒๅฎƒๆ˜ฏๆœ‰ๅ…ฌๅผๅฏๅพช๏ผš็ณป็ปŸ = ่ฆ็ด  * ่ฟžๆŽฅๅ…ณ็ณปใ€‚ไธพไธช็ปๅ…ธ็š„ๆœบๆขฐๆ‰‹่กจไพ‹ๅญ๏ผš่กจ็›˜ใ€่กจๅ† ใ€ๅ‡ ็™พไธชๅพฎๅฐ็š„้ฝฟ่ฝฎๅ’Œๆธธไธ๏ผŒ่ฟ™ไบ›้ƒฝๆ˜ฏๆž„ๆˆๆ‰‹่กจ็š„โ€œ่ฆ็ด โ€ใ€‚่€Œ่ฟ™ๅ‡ ็™พไธช้›ถไปถๆ˜ฏๅฆ‚ไฝ•ไบ’็›ธๅ’ฌๅˆใ€ไผ ้€’ๅŠจๅŠ›็š„๏ผŒๅฐฑๆ˜ฏๅฎƒไปฌไน‹้—ด็š„โ€œ่ฟžๆŽฅๅ…ณ็ณปโ€ใ€‚

ๆ”พๅˆฐๅทฅไฝœไธญไนŸๆ˜ฏๅŒ็†๏ผšๅšไบงๅ“็š„่ฆ็ด ๆ˜ฏ็”จๆˆทใ€ๅŠŸ่ƒฝใ€ๆต้‡ใ€่ฟ่ฅ๏ผ›ๅšๅ›ข้˜Ÿ็š„่ฆ็ด ๆ˜ฏๆˆๅ‘˜ใ€ๅฒ—ไฝใ€็›ฎๆ ‡ใ€่ต„ๆบใ€‚็„ถ่€Œ๏ผŒ็ปๅคงๅคšๆ•ฐไบบ่™ฝ็„ถ่ƒฝ่ฝปๆพ็œ‹ๆธ…่ฟ™ไบ›่ฆ็ด ๏ผŒๅดๅพ€ๅพ€ไน ๆƒฏๆ€งๅฟฝ็•ฅๅฎƒไปฌไน‹้—ด็š„่ฟžๆŽฅๅ…ณ็ณปโ€”โ€”่€Œ90%็š„้—ฎ้ข˜ๆ นๆบ๏ผŒๆฐๆฐๅฐฑ่—ๅœจ่ฟ™ไบ›็œ‹ไธ่ง็š„่ฟžๆŽฅไน‹ไธญใ€‚

่ฟ™ไนŸๅธฆๆฅไบ†ๆดžๅฏŸๅŠ›ๆ–ฐ็š„ๅฎšไน‰๏ผš้€่ฟ‡่กจ่ฑก๏ผŒไธไป…่ƒฝ็œ‹ๅˆฐ็ณป็ปŸ็š„ๅ„ไธช่ฆ็ด ๏ผŒๆ›ด่ƒฝ็œ‹้€่ฆ็ด ไน‹้—ด้”™็ปผๅคๆ‚็š„่ฟžๆŽฅๅ…ณ็ณปใ€‚

ๅœจ็Žฐๅฎžไธญ๏ผŒๆˆ‘ไปฌๅพ€ๅพ€ๅพˆๅฎนๆ˜“ไธ€็œผ็œ‹ๅˆฐโ€œ่ฆ็ด โ€๏ผˆๆฏ”ๅฆ‚ไธ€ไธชๅ›ข้˜Ÿ้‡Œๆœ‰ๅ‡ ไธชไบบ๏ผŒไธ€ไธช้กต้ขไธŠๆœ‰ๅ‡ ไธชๆŒ‰้’ฎ๏ผ‰๏ผŒๅดๆžๅ…ถๅฎนๆ˜“ๅฟฝ็•ฅโ€œ่ฟžๆŽฅๅ…ณ็ณปโ€๏ผˆๆฏ”ๅฆ‚่ฟ™ๅ‡ ไธชไบบไน‹้—ด็š„ๅˆฉ็›ŠไธŽๆƒ่ดฃๅˆ†้…๏ผŒๆŒ‰้’ฎ่ƒŒๅŽ็š„ๆ•ฐๆฎๆตๅ‘๏ผ‰ใ€‚็„ถ่€Œ๏ผŒ็œŸๆญฃ้ซ˜้˜ถ็š„่งฃๅ†ณๆ–นๆกˆ๏ผŒๅพ€ๅพ€ๅฐฑ่—ๅœจ้‚ฃไบ›็œ‹ไธ่ง็š„่ฟžๆŽฅๅ…ณ็ณป้‡Œใ€‚

ๆƒณ่ฆ็ปƒๅ‡บ่ฟ™็ง่ƒฝๅŠ›๏ผŒๆˆ‘ไปฌ่ฆๆ‹†่งฃ็ณป็ปŸ้‡Œ็š„ 5 ไธชๆ ธๅฟƒ่ฆ็‚น๏ผšๅ˜้‡ใ€ๅ› ๆžœ้“พใ€ๅขžๅผบๅ›ž่ทฏใ€่ฐƒ่Š‚ๅ›ž่ทฏใ€ๆปžๅŽๆ•ˆๅบ”ใ€‚

  • 1 ็ง่ฆ็ด ๏ผšๅ˜้‡
  • 4 ็ง่ฟžๆŽฅๅ…ณ็ณป๏ผšๅ› ๆžœ้“พใ€ๅขžๅผบๅ›ž่ทฏใ€่ฐƒ่Š‚ๅ›ž่ทฏใ€ๆปžๅŽๆ•ˆๅบ”
ๆดžๅฏŸๅŠ›ๆจกๅž‹

3. ๅ˜้‡๏ผš็ณป็ปŸ้‡Œ็š„โ€œๅ˜ๅŒ–ๅ› ๅญโ€ โ€‹

ๅ˜้‡๏ผŒ้กพๅๆ€ไน‰๏ผŒๆ˜ฏ็ณป็ปŸไธญไผš้š็€ๆ—ถ้—ดๅ‘็”Ÿๅ˜ๅŒ–็š„่ฆ็ด ใ€‚ไธ€ๆ—ฆๆˆ‘ไปฌๅฐ†ๅ˜้‡ๆ”พ่ฟ›ๆ—ถ้—ด่ฝด้‡Œ่ง‚ๅฏŸ๏ผŒๅฎƒๅฐฑไผšๅ‘ˆ็Žฐๅ‡บไธค็งๆˆช็„ถไธๅŒ็š„็Šถๆ€๏ผšๅญ˜้‡ไธŽๆต้‡ใ€‚

  • ๅญ˜้‡๏ผšๆ˜ฏๆŸไธ€็‰นๅฎšๆ—ถๅˆป๏ผŒ็ณป็ปŸไธญ็งฏ็ดฏ็š„ๅ˜้‡ๆ€ปๅ’Œใ€‚

  • ๆต้‡๏ผšๆ˜ฏไธ€ๆฎตๆ—ถ้—ดๅ†…๏ผŒๅ˜้‡ๆตๅ…ฅๆˆ–ๆตๅ‡บ็š„้€Ÿ็އใ€‚

ๅ˜้‡

ๅญ˜้‡ๆ˜ฏ็ณป็ปŸ็š„โ€œๅฎถๅบ•โ€๏ผŒๆต้‡ๅ†ณๅฎšๅญ˜้‡็š„ๅขžๅ‡ใ€‚็œ‹ๆ‡‚ๅ˜้‡็š„ๅญ˜้‡ไธŽๆต้‡๏ผŒๆ‰่ƒฝๆ‰พๅ‡†็ณป็ปŸๅ˜ๅŒ–็š„ๆบๅคด๏ผŒ่€Œไธๆ˜ฏๅช็›ฏ็€ๅญ˜้‡็ป“ๆžœๅนฒ็€ๆ€ฅใ€‚

4. ๅ› ๆžœ้“พ๏ผšๆญๅปบ็ณป็ปŸ็š„้ชจๆžถ โ€‹

็”จๅ› ๆžœ้“พ่ฟžๆŽฅๅ˜้‡๏ผŒๆ˜ฏ่ฎญ็ปƒๆดžๅฏŸๅŠ›็š„ๅŸบๆœฌๅŠŸใ€‚

ๅฆ‚ๆžœ่ฏดๅ˜้‡ๆ˜ฏ็‹ฌ็ซ‹็š„่Š‚็‚น๏ผŒ้‚ฃไนˆๅฐ†ๅฎƒไปฌ่ฟžๆŽฅ่ตทๆฅ็š„็บฟๆฎตๅฐฑๆ˜ฏโ€œๅ› ๆžœ้“พโ€ใ€‚ๅ› ๆžœ้“พๆ่ฟฐ็š„ๆ˜ฏๅ˜้‡ไน‹้—ดโ€œๅขžๅผบโ€ๆˆ–โ€œๅ‡ๅผฑโ€็š„ๅ…ณ็ณปใ€‚ๅฆ‚ๆžœๆฒกๆœ‰่ฟ™ไบ›้“พๆก๏ผŒๅ†ๅคš็š„ๅ˜้‡ๅ †็ Œๅœจไธ€่ตท๏ผŒไนŸๅชๆ˜ฏไธ€็›˜ๆฏซๆ— ็”Ÿๆœบ็š„ๆ•ฃๆฒ™๏ผŒๆ— ๆณ•ๆž„ๆˆ็”Ÿ็”Ÿไธๆฏ็š„็ณป็ปŸใ€‚

ๅ› ๆžœ้“พ

่กŒๅŠจๅฐๅปบ่ฎฎ๏ผš

  • ๅœจๆ—ฅๅธธๅค็›˜ๆ—ถ๏ผŒ่ฏ•็€ๆ‹ฟ่ตทไธคไธช็œ‹ไผผ็›ธๅ…ณ็š„ๆŒ‡ๆ ‡๏ผˆๆฏ”ๅฆ‚โ€œไปฃ็ ๆๆต‹้€Ÿๅบฆโ€ๅ’Œโ€œ็บฟไธŠๆ•…้šœ็އโ€๏ผ‰๏ผŒ้—ฎ้—ฎ่‡ชๅทฑ๏ผšๅฎƒไปฌไน‹้—ดๆ˜ฏๅ› ๅขžๅผบๆžœ๏ผŒ่ฟ˜ๆ˜ฏๅ› ๅ‡ๅผฑๆžœ๏ผŸ
  • ็œ‹ไผผ็ฎ€ๅ•็š„ๅ› ๆžœ้“พ๏ผŒไธ€ๆฎตๆฎตๅ’ฌๅˆ่ตทๆฅ๏ผŒๆœ€็ปˆๅฐฑๆž„ๆˆไบ†ๅคๆ‚็š„ๅ•†ไธšๆˆ–ๆŠ€ๆœฏ็ณป็ปŸ.

5. ๅขžๅผบๅ›ž่ทฏ๏ผš้€ ๅฐฑๆŒ‡ๆ•ฐ็บงๅขž้•ฟ โ€‹

ๅ˜้‡ๆ˜ฏ่Š‚็‚น๏ผŒๅ› ๆžœ้“พๆ˜ฏ็บฟๆฎต๏ผŒไฝ†็บฟๆฎตๆ€ปๆœ‰ๅฐฝๅคด๏ผŒ่ƒฝ้‡ไผ ๅˆฐๆœซ็ซฏๅฐฑ็ป“ๆŸไบ†ใ€‚ๅฆ‚ๆžœๆˆ‘ไปฌ่ƒฝๆŠŠ็ป“ๅฐพไธŽๅผ€ๅคดไนŸ่ฟžๆŽฅ่ตทๆฅ๏ผŒๅฝขๆˆไธ€ไธช้—ญ็Žฏ๏ผŒไผšๅ‘็”Ÿไป€ไนˆ๏ผŸไบŽๆ˜ฏๅ›ž่ทฏ่ฏž็”Ÿไบ†ใ€‚ๅ›ž่ทฏๅˆ†ไธบไธค็ง๏ผšๅขžๅผบๅ›ž่ทฏไธŽ่ฐƒ่Š‚ๅ›ž่ทฏใ€‚

ๅขžๅผบๅ›ž่ทฏ

ไธ็ฎกๆ˜ฏไบบ็”Ÿ่ง„ๅˆ’ใ€ไบงๅ“่ฟญไปฃ่ฟ˜ๆ˜ฏๅ•†ไธš่ฎพ่ฎก๏ผšๅฐๆˆๅŠŸ้ ่ชๆ˜Žๆ‰ๆ™บ๏ผŒๅคงๆˆๅฐฑ้ ๅปบ็ซ‹ๆญฃๅ‘็š„"ๅขžๅผบๅ›ž่ทฏ"ใ€‚ๆ‰€่ฐ“ๅขžๅผบๅ›ž่ทฏ๏ผŒๅฐฑๆ˜ฏไธคๆกๆˆ–ๅคšๆกๅ› ๆžœ้“พ้ฆ–ๅฐพ็›ธ่ฟž๏ผŒๅฝขๆˆ็š„่‡ชๆˆ‘ๅผบๅŒ–้—ญ็Žฏ๏ผš

  • ๆญฃๅ‘ๅขžๅผบๅ›ž่ทฏ๏ผˆๅ› ๅขžๅผบๆžœ๏ผŒๆžœๅˆๅขžๅผบๅ› ๏ผ‰๏ผšๆฏ”ๅฆ‚ๅผ€ๆบ็”Ÿๆ€ๅปบ่ฎพ๏ผŒไฝ ่ดก็Œฎ็š„ไผ˜่ดจไปฃ็ ่ถŠๅคš๏ผŒๅธๅผ•็š„็”จๆˆทๅฐฑ่ถŠๅคšใ€‚็”จๆˆท่ถŠๅคš๏ผŒๅ้ฆˆๅ’Œๅ‚ไธŽๅ…ฑๅปบ็š„ๅผ€ๅ‘่€…ๅฐฑ่ถŠๅคš๏ผŒ่ฟ›่€Œไปฃ็ ่ดจ้‡ๆ›ด้ซ˜ใ€‚้•ฟไน…ไปฅๆฅ๏ผŒไบบไปฌ็ป™่ฟ™็ง็Žฐ่ฑก่ตทไบ†ๆ— ๆ•ฐ้œธๆฐ”็š„ๅๅญ—โ€œ้ฉฌๅคชๆ•ˆๅบ”ใ€่ตขๅฎถ้€šๅƒใ€ๅคๅˆฉๆ•ˆๅบ”ใ€ๆŒ‡ๆ•ฐ็บงๅขž้•ฟโ€ใ€‚

  • ่ดŸๅ‘ๅขžๅผบๅ›ž่ทฏ๏ผˆๅ› ๅ‡ๅผฑๆžœ๏ผŒๆžœๅˆๅ‡ๅผฑๅ› ๏ผŒๅณๆถๆ€งๅพช็Žฏ๏ผ‰๏ผšๅ…ธๅž‹็š„ๅฐฑๆ˜ฏโ€œๆŠ€ๆœฏๅ€บโ€๏ผŒไธบไบ†่ตถ่ฟ›ๅบฆๅ†™ๅ‡บ็ƒ‚ไปฃ็ ๏ผŒๅฏผ่‡ด็ณป็ปŸ Bug ้ข‘ๅ‘ใ€‚ไธบไบ†ไฟฎ Bug ๅ ็”จไบ†ๆ–ฐๅŠŸ่ƒฝๅผ€ๅ‘ๆ—ถ้—ด๏ผŒๆ—ถ้—ดไธๅคŸๅˆๅช่ƒฝ็ปง็ปญๅ†™็ƒ‚ไปฃ็ โ€ฆโ€ฆๅฆ‚ๆญคๆ— ้™ๆญปๅพช็Žฏใ€‚

6. ่ฐƒ่Š‚ๅ›ž่ทฏ๏ผš่ฎฉ็ณป็ปŸๅ›žๅฝ’ๅนณ่กก โ€‹

ๅฆ‚ๆžœ่ฏดๅขžๅผบๅ›ž่ทฏ็š„ๅญ˜ๅœจ๏ผŒๆ˜ฏ่ฎฉ่ฟ™ไธชไธ–็•Œ่ตฐๅ‘ๆž็ซฏ๏ผ›้‚ฃไนˆ่ฐƒ่Š‚ๅ›ž่ทฏ็š„ๅญ˜ๅœจ๏ผŒๅฐฑๆ˜ฏ่ฎฉ่ฟ™ไธชไธ–็•Œๅ›žๅฝ’ๅนณ่กกใ€‚ๅ‡กๆ˜ฏๆœ‰โ€œๅขžๅผบๅ›ž่ทฏโ€็š„ๅœฐๆ–น๏ผŒไธƒๆญฅไน‹ๅ†…๏ผŒๅฟ…็„ถๆœ‰โ€œ่ฐƒ่Š‚ๅ›ž่ทฏโ€ใ€‚

่ฐƒ่Š‚ๅ›ž่ทฏ

ๆƒณ่ฑกไธ€ๅฎถๅค„ไบŽ็ˆ†ๅ‘ๆœŸ็š„ๅฐๅž‹็ง‘ๆŠ€ๅ…ฌๅธ๏ผš

  • ๅˆๆœŸ้˜ถๆฎต๏ผš้‡‡็”จโ€œๆ— ็ฎก็†็š„็ฎก็†โ€๏ผˆไธ่ฎพๅฑ‚็บงใ€ไธ่ฎพ KPI => ไบงๅ“ไธบ็Ž‹๏ผ‰๏ผŒไพ่ต–ๅทฅ็จ‹ๅธˆๆ–‡ๅŒ–ๅ’Œไบงๅ“ๆ•้”ๅบฆ๏ผŒๅฝขๆˆไบ†โ€œ้ซ˜ๆ•ˆไบงๅ‡บ -> ไธšๅŠก็ˆ†ๅ‘โ€็š„ๅขžๅผบๅ›ž่ทฏใ€‚

  • ๅŽๆœŸ้˜ถๆฎต๏ผš้š็€ไบบๅ‘˜ๆ‰ฉๅผ ๏ผŒๅฝ“ๅˆ้‚ฃๅฅ—็ฒ—ๆ”พๆจกๅผๅคฑๆ•ˆไบ†๏ผŒ่ทจ้ƒจ้—จๆฒŸ้€šๆˆๆœฌๅ‰งๅขž๏ผŒ็บฟไธŠ้—ฎ้ข˜้ข‘ๅ‘ใ€‚ๆญคๆ—ถ๏ผŒโ€œไบงๅ“ไธบ็Ž‹โ€็š„ๅขžๅผบๅ›ž่ทฏ๏ผŒๆ’žไธŠไบ†โ€œ็ฎก็†ๅคๆ‚ๅบฆโ€่ฟ™ๆก่ฐƒ่Š‚ๅ›ž่ทฏ๏ผŒๅฏผ่‡ดไธš็ปฉๅ’Œ็ ”ๅ‘ๆ•ˆ็އๅพ˜ๅพŠไธๅ‰ใ€‚

้‡ๅˆฐ่ฟ™็งๆƒ…ๅ†ต่ฏฅๆ€ŽไนˆๅŠž๏ผŸ

็ญ”ๆกˆๆ˜ฏ๏ผšๅˆ‡ๆ–ญโ€œ็ฎก็†ๅคๆ‚ๅบฆโ€่ฟ™ไธชโ€œ่ฐƒ่Š‚ๅ›ž่ทฏโ€๏ผŒ้‡Šๆ”พ่ฟ›ไธ€ๆญฅๅขž้•ฟ็š„ๆฝœๅŠ›ใ€‚ไธ€ๆ—ฆไฝ ็œ‹ๆ‡‚ไบ†่ฐƒ่Š‚ๅ›ž่ทฏ๏ผŒไฝ ๅฏ่ƒฝ็žฌ้—ดๅฐฑ้กฟๆ‚Ÿไบ†๏ผšๅพˆๅคšๆ—ถๅ€™๏ผŒไบงๅ“ๆˆ–ไธชไบบ็š„็ช็ ดๅนถไธ้œ€่ฆๆ‹ผๅ‘ฝ็Œ›่ธฉๆฒน้—จ๏ผŒๅช่ฆๆพๅผ€่„šไธ‹็š„ๅˆน่ฝฆๅฐฑๅฅฝไบ†ใ€‚

ๅขžๅผบๅ›ž่ทฏ๏ผŒ่ฟฝๆฑ‚ๆž็ซฏใ€‚่ฐƒ่Š‚ๅ›ž่ทฏ๏ผŒๅ›žๅฝ’ๅนณ่กกใ€‚ๅขžๅผบๅ›ž่ทฏๅ’Œ่ฐƒ่Š‚ๅ›ž่ทฏ่ฟ™ๅฏนๅญช็”Ÿๅ…„ๅผŸ๏ผŒๆ€งๆ ผ่ฟฅ็„ถไธๅŒ๏ผŒไฝ†ๅดๅ…ฑๅŒๆž„ๅปบไบ†ๆœ€็พŽๅฆ™็š„ไธ–็•Œไธ‡็‰ฉใ€‚

7. ๆปžๅŽๆ•ˆๅบ”๏ผšๆ—ถ้—ด็š„่ฟท้›พ โ€‹

ๅ› ๆžœไธๆ˜ฏ็žฌ้—ด่ฟžๆŽฅ๏ผŒๅ›ž่ทฏไนŸไธๆ˜ฏ็žฌ้—ด้—ญๅˆ๏ผŒๅฎƒไปฌไน‹้—ดๆœ‰ไธชๆ—ถ้—ดๅทฎ๏ผŒๆœ‰ๆปžๅŽๆ•ˆๅบ”ใ€‚

ๅœจ็‰ฉ็†ไธ–็•Œๅ’Œ็Žฐๅฎž็ณป็ปŸไธญ๏ผŒๅ› ๆžœๅนถไธๆ˜ฏ็žฌ้—ด่ฟžๆŽฅ็š„๏ผŒๅ›ž่ทฏไนŸไธๆ˜ฏ็žฌ้—ด้—ญๅˆ็š„๏ผŒๅฎƒไปฌไน‹้—ดๅญ˜ๅœจไธ€ไธชๆ—ถ้—ดๅทฎ๏ผŒ่ฟ™ๆ—ถ้—ดๅทฎๅฐฑๆ˜ฏโ€œๆปžๅŽๆ•ˆๅบ”โ€ใ€‚

ๆปžๅŽๆ•ˆๅบ”่ฎฉๅŽŸๆœฌๅœจ็ฉบ้—ด็ปดๅบฆไธŠๅฐฑๅพˆๅคๆ‚็š„็ณป็ปŸ๏ผŒๅˆๅขžๅŠ ไบ†ๆ—ถ้—ด็ปดๅบฆ็š„ๅคๆ‚ๆ€งใ€‚ๅฎƒไผš่ฎฉๅŽŸๅ› ๅ’Œ็ป“ๆžœๅœจๆ—ถ็ฉบไธŠ้”™ไฝ๏ผŒๆžๅคงๅœฐ่ฏฏๅฏผๆˆ‘ไปฌ็š„ๅˆคๆ–ญๅŠ›ใ€‚ๅฐฑๅƒๆด—ๆพกๆ—ถ่ฐƒๆฐดๆธฉ๏ผŒไฝ ่ง‰ๅพ—ๆฐดๅ†ท๏ผŒๅพ€็ƒญๆฐดๆ–นๅ‘ๆ‹งไบ†ไธ€็‚น๏ผŒๆฒกๅๅบ”๏ผŒไบŽๆ˜ฏไฝ ็ปง็ปญ็Œ›ๆ‹ง๏ผŒ็ป“ๆžœๅ‡ ็ง’ๅŽ็›ดๆŽฅ่ขซ็ƒซไผคใ€‚

ๅœจ่ฏ•ๅ›พๆดžๅฏŸไธ‡ไบ‹ไธ‡็‰ฉๆ—ถ๏ผŒๆˆ‘ไปฌๅฟƒ้‡Œไธ€ๅฎš่ฆ่ฃ…็€ไธ€ๆกโ€œๆ—ถ้—ด่ฝดโ€ใ€‚ๆ— ่ฎบๆ˜ฏๅ‘ๅธƒไธ€ไธชๆ–ฐๅŠŸ่ƒฝใ€้‡ๆž„ไธ€ๆฎตๅบ•ๅฑ‚ไปฃ็ ๏ผŒ่ฟ˜ๆ˜ฏๅšๆŒๅ†™ๆŠ€ๆœฏๅšๅฎข๏ผŒๆ•ˆๅบ”็š„ๆ˜พ็Žฐ้ƒฝ้œ€่ฆๆ—ถ้—ดใ€‚ๆ‡‚ๅพ—็ญ‰ๅพ…๏ผŒไนŸๆ˜ฏๆดžๅฏŸๅŠ›็š„ไธ€้ƒจๅˆ†ใ€‚

8. ๆ€ป็ป“๏ผšไปŽ่ง‚ๅฏŸ่€…ๅˆฐๆดžๅฏŸ่€… โ€‹

ๅฝ“ไฝ ไธ‹ๆฌกๅœจไบงๅ“ๆˆ–ไปฃ็ ไธญ้‡ๅˆฐๆฃ˜ๆ‰‹้—ฎ้ข˜ๆ—ถ๏ผŒไธๅฆจๅœจ่„‘ๆตท้‡Œ่ท‘ไธ€้่ฟ™ 5 ไธชๅ…ณ้”ฎๆญฅ้ชค๏ผˆๅปบ่ฎฎๆŠŠๅฎƒๅ›บๅŒ–่ฟ›ไฝ ็š„ๆ€่€ƒๆก†ๆžถไธญ๏ผ‰๏ผš

  • ๆ‰พๅˆฐๆ ธๅฟƒๅญ˜้‡

  • ๆ‰พๅˆฐๅ…ณ้”ฎๅ› ๆžœ้“พ

  • ๆ‰พๅˆฐๅขžๅผบๅ›ž่ทฏ๏ผˆไฝ ๅœจ่ธฉๆฒน้—จๅ—๏ผŸ๏ผ‰

  • ๆ‰พๅˆฐ่ฐƒ่Š‚ๅ›ž่ทฏ๏ผˆๅ“ช้‡Œๆœ‰ๅˆน่ฝฆ๏ผŸ๏ผ‰

  • ่€ƒ่™‘ๆปžๅŽๆ•ˆๅบ”๏ผˆๆ˜ฏไธๆ˜ฏๅญๅผน่ฟ˜่ฆ้ฃžไธ€ไผšๅ„ฟ๏ผŸ๏ผ‰

็œ‹็œ‹็ณป็ปŸๅˆฐๅบ•ๅกๅœจๅ“ชไธ€ไธช่Š‚็‚น๏ผŒไฝ ๅฏไปฅ้‡ๆž„ๅ“ชไบ›่ฟžๆŽฅๅ…ณ็ณป๏ผŸๅšๅˆฐ่ฟ™ไบ›๏ผŒๆ‰็ฎ—็œŸๆญฃๆ‹ฅๆœ‰ไบ†โ€œไบงๅ“ Senseโ€็š„ๆœ€้ซ˜ๅฝขๆ€โ€”โ€”็ณป็ปŸๆดžๅฏŸๅŠ›ใ€‚

ๆ™ฎ้€šไบบ่ง‚ๅฏŸ่กจ่ฑก๏ผŒไผ˜็ง€็š„ไบบๆดžๅฏŸ็ณป็ปŸ๏ผŒๅธŒๆœ›่ฟ™ๅฅ—ๆจกๅž‹๏ผŒ่ƒฝๆˆไธบไฝ ๅ‡็บง่ฎค็Ÿฅๆ“ไฝœ็ณป็ปŸ็š„ๆ ธๅฟƒ็ป„ไปถใ€‚

',49)])])}const m=a(i,[["render",e]]);export{c as __pageData,m as default}; diff --git "a/assets/10.\344\272\247\345\223\201 Sense_05.\346\226\271\346\263\225\350\256\272_40.\346\264\236\345\257\237\345\212\233\346\250\241\345\236\213.md.-U_WT1WE.lean.js" "b/assets/10.\344\272\247\345\223\201 Sense_05.\346\226\271\346\263\225\350\256\272_40.\346\264\236\345\257\237\345\212\233\346\250\241\345\236\213.md.j-w2xxuV.lean.js" similarity index 96% rename from "assets/10.\344\272\247\345\223\201 Sense_05.\346\226\271\346\263\225\350\256\272_40.\346\264\236\345\257\237\345\212\233\346\250\241\345\236\213.md.-U_WT1WE.lean.js" rename to "assets/10.\344\272\247\345\223\201 Sense_05.\346\226\271\346\263\225\350\256\272_40.\346\264\236\345\257\237\345\212\233\346\250\241\345\236\213.md.j-w2xxuV.lean.js" index 2303c5ad..a977001e 100644 --- "a/assets/10.\344\272\247\345\223\201 Sense_05.\346\226\271\346\263\225\350\256\272_40.\346\264\236\345\257\237\345\212\233\346\250\241\345\236\213.md.-U_WT1WE.lean.js" +++ "b/assets/10.\344\272\247\345\223\201 Sense_05.\346\226\271\346\263\225\350\256\272_40.\346\264\236\345\257\237\345\212\233\346\250\241\345\236\213.md.j-w2xxuV.lean.js" @@ -1 +1 @@ -import{_ as a,g as r,h as o,U as s}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const c=JSON.parse('{"title":"ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผšๅฆ‚ไฝ•็œ‹้€ไบงๅ“ไธŽๆŠ€ๆœฏ่ƒŒๅŽ็š„็ณป็ปŸ้€ป่พ‘๏ผŸ","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆ— ่ฎบๆ˜ฏๅšไบงๅ“ใ€ๆžๆŠ€ๆœฏ๏ผŒ่ฟ˜ๆ˜ฏๅบ”ๅฏนๆ—ฅๅธธๅทฅไฝœไธญ็š„ๅ„็งๆŒ‘ๆˆ˜๏ผŒไฝ ๆ˜ฏๅฆ้‡ๅˆฐ่ฟ‡่ฟ™ๆ ท็š„ๅ›ฐๅขƒ๏ผšๆ˜Žๆ˜ŽๆŒ‰็ป้ชŒ่กŒไบ‹๏ผŒๅดๅฑกๅฑก่ธฉๅ‘๏ผ›ๅˆš่งฃๅ†ณ่กจ้ข้—ฎ้ข˜๏ผŒ้šๆ‚ฃๅˆๅทๅœŸ้‡ๆฅใ€‚้—ฎ้ข˜ๆœชๅฟ…ๅ‡บๅœจๅŠชๅŠ›็จ‹ๅบฆ๏ผŒ่€ŒๅœจไบŽๆˆ‘ไปฌๅช็›ฏ็€่กจ่ฑก๏ผŒๅดๅฟฝ็•ฅไบ†่ƒŒๅŽ็œŸๆญฃ่ตทไฝœ็”จ็š„็ณป็ปŸ๏ผŒๆฒกๆœ‰็œ‹ๆ‡‚่—ๅœจ่ƒŒๅŽ็š„็ณป็ปŸใ€‚ไธบไป€ไนˆๅŒๆ ทๆ˜ฏ่งฃๅ†ณ้—ฎ้ข˜๏ผŒๆœ‰ไบบๅช่ƒฝโ€œๅคด็—›ๅŒปๅคดโ€๏ผŒๆœ‰ไบบๅด่ƒฝ็›ดๅ‡ปๆœฌ่ดจ๏ผŸ่ฟ™็ฏ‡ๆ–‡็ซ ๅฐ†็”จ้€šไฟ—ๆ˜“ๆ‡‚็š„ๆ–นๅผ๏ผŒๅธฆไฝ ๆ‹†่งฃไธ€ๅฅ—ๅฎž็”จ็š„ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผŒ่ฎฉๆˆ‘ไปฌๅญฆไผš้€่ฟ‡็Žฐ่ฑกๆŠ“ไฝๆœฌ่ดจ๏ผŒไปŽๆ นๆบไธŠ่งฃๅ†ณ้—ฎ้ข˜ใ€‚","frontmatter":{"date":"2025-11-14T16:00:00.000Z","title":"ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผšๅฆ‚ไฝ•็œ‹้€ไบงๅ“ไธŽๆŠ€ๆœฏ่ƒŒๅŽ็š„็ณป็ปŸ้€ป่พ‘๏ผŸ","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆ— ่ฎบๆ˜ฏๅšไบงๅ“ใ€ๆžๆŠ€ๆœฏ๏ผŒ่ฟ˜ๆ˜ฏๅบ”ๅฏนๆ—ฅๅธธๅทฅไฝœไธญ็š„ๅ„็งๆŒ‘ๆˆ˜๏ผŒไฝ ๆ˜ฏๅฆ้‡ๅˆฐ่ฟ‡่ฟ™ๆ ท็š„ๅ›ฐๅขƒ๏ผšๆ˜Žๆ˜ŽๆŒ‰็ป้ชŒ่กŒไบ‹๏ผŒๅดๅฑกๅฑก่ธฉๅ‘๏ผ›ๅˆš่งฃๅ†ณ่กจ้ข้—ฎ้ข˜๏ผŒ้šๆ‚ฃๅˆๅทๅœŸ้‡ๆฅใ€‚้—ฎ้ข˜ๆœชๅฟ…ๅ‡บๅœจๅŠชๅŠ›็จ‹ๅบฆ๏ผŒ่€ŒๅœจไบŽๆˆ‘ไปฌๅช็›ฏ็€่กจ่ฑก๏ผŒๅดๅฟฝ็•ฅไบ†่ƒŒๅŽ็œŸๆญฃ่ตทไฝœ็”จ็š„็ณป็ปŸ๏ผŒๆฒกๆœ‰็œ‹ๆ‡‚่—ๅœจ่ƒŒๅŽ็š„็ณป็ปŸใ€‚ไธบไป€ไนˆๅŒๆ ทๆ˜ฏ่งฃๅ†ณ้—ฎ้ข˜๏ผŒๆœ‰ไบบๅช่ƒฝโ€œๅคด็—›ๅŒปๅคดโ€๏ผŒๆœ‰ไบบๅด่ƒฝ็›ดๅ‡ปๆœฌ่ดจ๏ผŸ่ฟ™็ฏ‡ๆ–‡็ซ ๅฐ†็”จ้€šไฟ—ๆ˜“ๆ‡‚็š„ๆ–นๅผ๏ผŒๅธฆไฝ ๆ‹†่งฃไธ€ๅฅ—ๅฎž็”จ็š„ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผŒ่ฎฉๆˆ‘ไปฌๅญฆไผš้€่ฟ‡็Žฐ่ฑกๆŠ“ไฝๆœฌ่ดจ๏ผŒไปŽๆ นๆบไธŠ่งฃๅ†ณ้—ฎ้ข˜ใ€‚","permalink":"/product-sense/insight-model","categories":["ไบงๅ“ Sense"],"tags":["ไบงๅ“ Sense","็ณป็ปŸๆดžๅฏŸๅŠ›"]},"headers":[],"relativePath":"10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/40.ๆดžๅฏŸๅŠ›ๆจกๅž‹.md","filePath":"10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/40.ๆดžๅฏŸๅŠ›ๆจกๅž‹.md"}'),i={name:"10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/40.ๆดžๅฏŸๅŠ›ๆจกๅž‹.md"};function e(n,t,p,l,g,d){return o(),r("div",null,[...t[0]||(t[0]=[s("",49)])])}const m=a(i,[["render",e]]);export{c as __pageData,m as default}; +import{_ as a,g as r,h as o,U as s}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const c=JSON.parse('{"title":"ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผšๅฆ‚ไฝ•็œ‹้€ไบงๅ“ไธŽๆŠ€ๆœฏ่ƒŒๅŽ็š„็ณป็ปŸ้€ป่พ‘๏ผŸ","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆ— ่ฎบๆ˜ฏๅšไบงๅ“ใ€ๆžๆŠ€ๆœฏ๏ผŒ่ฟ˜ๆ˜ฏๅบ”ๅฏนๆ—ฅๅธธๅทฅไฝœไธญ็š„ๅ„็งๆŒ‘ๆˆ˜๏ผŒไฝ ๆ˜ฏๅฆ้‡ๅˆฐ่ฟ‡่ฟ™ๆ ท็š„ๅ›ฐๅขƒ๏ผšๆ˜Žๆ˜ŽๆŒ‰็ป้ชŒ่กŒไบ‹๏ผŒๅดๅฑกๅฑก่ธฉๅ‘๏ผ›ๅˆš่งฃๅ†ณ่กจ้ข้—ฎ้ข˜๏ผŒ้šๆ‚ฃๅˆๅทๅœŸ้‡ๆฅใ€‚้—ฎ้ข˜ๆœชๅฟ…ๅ‡บๅœจๅŠชๅŠ›็จ‹ๅบฆ๏ผŒ่€ŒๅœจไบŽๆˆ‘ไปฌๅช็›ฏ็€่กจ่ฑก๏ผŒๅดๅฟฝ็•ฅไบ†่ƒŒๅŽ็œŸๆญฃ่ตทไฝœ็”จ็š„็ณป็ปŸ๏ผŒๆฒกๆœ‰็œ‹ๆ‡‚่—ๅœจ่ƒŒๅŽ็š„็ณป็ปŸใ€‚ไธบไป€ไนˆๅŒๆ ทๆ˜ฏ่งฃๅ†ณ้—ฎ้ข˜๏ผŒๆœ‰ไบบๅช่ƒฝโ€œๅคด็—›ๅŒปๅคดโ€๏ผŒๆœ‰ไบบๅด่ƒฝ็›ดๅ‡ปๆœฌ่ดจ๏ผŸ่ฟ™็ฏ‡ๆ–‡็ซ ๅฐ†็”จ้€šไฟ—ๆ˜“ๆ‡‚็š„ๆ–นๅผ๏ผŒๅธฆไฝ ๆ‹†่งฃไธ€ๅฅ—ๅฎž็”จ็š„ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผŒ่ฎฉๆˆ‘ไปฌๅญฆไผš้€่ฟ‡็Žฐ่ฑกๆŠ“ไฝๆœฌ่ดจ๏ผŒไปŽๆ นๆบไธŠ่งฃๅ†ณ้—ฎ้ข˜ใ€‚","frontmatter":{"date":"2025-11-14T16:00:00.000Z","title":"ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผšๅฆ‚ไฝ•็œ‹้€ไบงๅ“ไธŽๆŠ€ๆœฏ่ƒŒๅŽ็š„็ณป็ปŸ้€ป่พ‘๏ผŸ","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆ— ่ฎบๆ˜ฏๅšไบงๅ“ใ€ๆžๆŠ€ๆœฏ๏ผŒ่ฟ˜ๆ˜ฏๅบ”ๅฏนๆ—ฅๅธธๅทฅไฝœไธญ็š„ๅ„็งๆŒ‘ๆˆ˜๏ผŒไฝ ๆ˜ฏๅฆ้‡ๅˆฐ่ฟ‡่ฟ™ๆ ท็š„ๅ›ฐๅขƒ๏ผšๆ˜Žๆ˜ŽๆŒ‰็ป้ชŒ่กŒไบ‹๏ผŒๅดๅฑกๅฑก่ธฉๅ‘๏ผ›ๅˆš่งฃๅ†ณ่กจ้ข้—ฎ้ข˜๏ผŒ้šๆ‚ฃๅˆๅทๅœŸ้‡ๆฅใ€‚้—ฎ้ข˜ๆœชๅฟ…ๅ‡บๅœจๅŠชๅŠ›็จ‹ๅบฆ๏ผŒ่€ŒๅœจไบŽๆˆ‘ไปฌๅช็›ฏ็€่กจ่ฑก๏ผŒๅดๅฟฝ็•ฅไบ†่ƒŒๅŽ็œŸๆญฃ่ตทไฝœ็”จ็š„็ณป็ปŸ๏ผŒๆฒกๆœ‰็œ‹ๆ‡‚่—ๅœจ่ƒŒๅŽ็š„็ณป็ปŸใ€‚ไธบไป€ไนˆๅŒๆ ทๆ˜ฏ่งฃๅ†ณ้—ฎ้ข˜๏ผŒๆœ‰ไบบๅช่ƒฝโ€œๅคด็—›ๅŒปๅคดโ€๏ผŒๆœ‰ไบบๅด่ƒฝ็›ดๅ‡ปๆœฌ่ดจ๏ผŸ่ฟ™็ฏ‡ๆ–‡็ซ ๅฐ†็”จ้€šไฟ—ๆ˜“ๆ‡‚็š„ๆ–นๅผ๏ผŒๅธฆไฝ ๆ‹†่งฃไธ€ๅฅ—ๅฎž็”จ็š„ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผŒ่ฎฉๆˆ‘ไปฌๅญฆไผš้€่ฟ‡็Žฐ่ฑกๆŠ“ไฝๆœฌ่ดจ๏ผŒไปŽๆ นๆบไธŠ่งฃๅ†ณ้—ฎ้ข˜ใ€‚","permalink":"/product-sense/insight-model","categories":["ไบงๅ“ Sense"],"tags":["ไบงๅ“ Sense","็ณป็ปŸๆดžๅฏŸๅŠ›"]},"headers":[],"relativePath":"10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/40.ๆดžๅฏŸๅŠ›ๆจกๅž‹.md","filePath":"10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/40.ๆดžๅฏŸๅŠ›ๆจกๅž‹.md"}'),i={name:"10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/40.ๆดžๅฏŸๅŠ›ๆจกๅž‹.md"};function e(n,t,p,l,g,d){return o(),r("div",null,[...t[0]||(t[0]=[s("",49)])])}const m=a(i,[["render",e]]);export{c as __pageData,m as default}; diff --git "a/assets/10.\344\272\247\345\223\201 Sense_05.\346\226\271\346\263\225\350\256\272_50.\347\224\250\347\273\217\346\265\216\345\255\246\346\200\235\347\273\264\345\201\232\344\272\247\345\223\201.md.D6Tetc-8.js" "b/assets/10.\344\272\247\345\223\201 Sense_05.\346\226\271\346\263\225\350\256\272_50.\347\224\250\347\273\217\346\265\216\345\255\246\346\200\235\347\273\264\345\201\232\344\272\247\345\223\201.md.CUbjYJmR.js" similarity index 99% rename from "assets/10.\344\272\247\345\223\201 Sense_05.\346\226\271\346\263\225\350\256\272_50.\347\224\250\347\273\217\346\265\216\345\255\246\346\200\235\347\273\264\345\201\232\344\272\247\345\223\201.md.D6Tetc-8.js" rename to "assets/10.\344\272\247\345\223\201 Sense_05.\346\226\271\346\263\225\350\256\272_50.\347\224\250\347\273\217\346\265\216\345\255\246\346\200\235\347\273\264\345\201\232\344\272\247\345\223\201.md.CUbjYJmR.js" index 5af8550d..4725d01f 100644 --- "a/assets/10.\344\272\247\345\223\201 Sense_05.\346\226\271\346\263\225\350\256\272_50.\347\224\250\347\273\217\346\265\216\345\255\246\346\200\235\347\273\264\345\201\232\344\272\247\345\223\201.md.D6Tetc-8.js" +++ "b/assets/10.\344\272\247\345\223\201 Sense_05.\346\226\271\346\263\225\350\256\272_50.\347\224\250\347\273\217\346\265\216\345\255\246\346\200\235\347\273\264\345\201\232\344\272\247\345\223\201.md.CUbjYJmR.js" @@ -1 +1 @@ -import{_ as e,g as r,h as n,U as t}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const c=JSON.parse('{"title":"็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“","description":"ๅฐ†็ปๆตŽๅญฆๆ ธๅฟƒๅŽŸ็†่žๅˆ่ฟ›ไบงๅ“่ฎพ่ฎกๅ…จ็”Ÿๅ‘ฝๅ‘จๆœŸ็š„ๆ–นๆณ•่ฎบไฝ“็ณป๏ผŒๆž„ๅปบ็†ๆ€ง็š„โ€œไบงๅ“Senseโ€ใ€‚","frontmatter":{"date":"2024-01-01T16:00:00.000Z","title":"็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“","description":"ๅฐ†็ปๆตŽๅญฆๆ ธๅฟƒๅŽŸ็†่žๅˆ่ฟ›ไบงๅ“่ฎพ่ฎกๅ…จ็”Ÿๅ‘ฝๅ‘จๆœŸ็š„ๆ–นๆณ•่ฎบไฝ“็ณป๏ผŒๆž„ๅปบ็†ๆ€ง็š„โ€œไบงๅ“Senseโ€ใ€‚","categories":["ไบงๅ“ Sense"],"permalink":"/product-sense/using-economics-thinking"},"headers":[],"relativePath":"10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/50.็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“.md","filePath":"10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/50.็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“.md"}'),i={name:"10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/50.็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“.md"};function o(s,a,l,p,d,h){return n(),r("div",null,[...a[0]||(a[0]=[t('

็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“ โ€‹

ๆ‘˜่ฆๆ€ป็ป“๏ผš็ปๆตŽๅญฆไธไป…ๆ˜ฏๅˆ†ๆžๅฎ่ง‚ๆ•ฐๆฎ็š„ๅทฅๅ…ท๏ผŒๆ›ดๆ˜ฏๆดžๅฏŸไบบๆ€งใ€ไผ˜ๅŒ–่ต„ๆบ้…็ฝฎใ€ๅœจ็บฆๆŸๆกไปถไธ‹ๆฑ‚ๆœ€ไผ˜่งฃ็š„ๆ€็ปดๆ–นๅผใ€‚ๆœฌๆ–‡้€š่ฟ‡ๆ‹†่งฃๆ—ฅๅธธ็”Ÿๆดปไธญ็š„็ปๅ…ธๆกˆไพ‹๏ผŒๆ็‚ผๆˆๆœฌๆ”ถ็›Šใ€ๅšๅผˆๅ‡่กกใ€ๆœ‰้™็†ๆ€งใ€ๆ•ˆ็އๆ”น่ฟ›็ญ‰ๆ ธๅฟƒ็ปๆตŽๅญฆๅŽŸ็†๏ผŒๅนถ็ณป็ปŸๅœฐๅฐ†ๅ…ถๅบ”็”จๅˆฐไบงๅ“็”Ÿๅ‘ฝๅ‘จๆœŸ็š„ๆ ธๅฟƒ็Žฏ่Š‚โ€”โ€”ๅฎšไน‰ๅฎšไฝใ€ๅฎšไปท็ญ–็•ฅใ€ไฝ“้ชŒ้”ๅฎšๅŠ็”Ÿๆ€ๆž„ๅปบใ€‚ๆœ€็ปˆ๏ผŒๆˆ‘ไปฌๅฐ†่ฟ™ไบ›ๅŽŸ็†ๆฒ‰ๆท€ไธบไธ€ๅฅ—็ณป็ปŸ็š„ใ€ๅ…ทๆœ‰โ€œ็ปๆตŽ็›ด่ง‰โ€็š„ไบงๅ“ๆ–นๆณ•่ฎบ๏ผŒๅŠฉๅŠ›ไบงๅ“ไบบๅฎŒๆˆไปŽๅ•็บฏ็š„โ€œไฝ“้ชŒ่ฎพ่ฎกๅธˆโ€ๅ‘ๅ…ทๅค‡ๅ•†ไธšๆ ผๅฑ€็š„โ€œๅพฎ่ง‚็ปๆตŽๅญฆๅฎถโ€่ทจ่ถŠใ€‚

ๅœจไบงๅ“็ฎก็†็š„ๅนฟ้˜”ๅคฉๅœฐไธญ๏ผŒๆˆ‘ไปฌๅพ€ๅพ€ๅผบ่ฐƒโ€œไบงๅ“ Senseโ€๏ผˆProduct Sense๏ผ‰โ€”โ€”ไธ€็งๅฏน็”จๆˆท้œ€ๆฑ‚ใ€ๅธ‚ๅœบ้ฃŽๅ‘ๅ’ŒๆŠ€ๆœฏๆฝœๅŠ›็š„็›ด่ง‰ๆ€งๆ•ๆ‰ใ€‚็„ถ่€Œ๏ผŒ่ฟ™็ง Sense ็ป้žๅ‡ญ็ฉบ่€Œๆฅ็š„็ตๅ…‰ไน็Žฐ๏ผŒๅฎƒ้œ€่ฆ็จณๅ›บ็š„็†ๆ€งๅœฐๅŸบใ€‚ๅœจไผ—ๅคšๅญฆ็ง‘ไธญ๏ผŒ็ปๆตŽๅญฆๆ— ็–‘ๆไพ›ไบ†ๆœ€ๅบ•ๅฑ‚็š„้€ป่พ‘ๆ”ฏๆŸฑใ€‚

็ปๆตŽๅญฆไธไป…ไป…ๆ˜ฏๅ…ณไบŽ้‡‘้’ฑๅ’Œๅธ‚ๅœบ็š„็ง‘ๅญฆ๏ผŒๅฎƒๆ›ดๆ˜ฏไธ€็ง่งฃๅ†ณ้—ฎ้ข˜ใ€ไผ˜ๅŒ–ๅ†ณ็ญ–็š„ๆ–นๅผใ€‚ๅฏนไบงๅ“ไบบ่€Œ่จ€๏ผŒๅ€Ÿ้‰ด็ปๆตŽๅญฆๆ€็ปด๏ผŒๆ„ๅ‘ณ็€่ƒฝๅคŸ็†ๆ™บๅœฐๆƒ่กกๅˆฉๅผŠ๏ผŒๆ›ด็ฒพๅ‡†ๅœฐๅฎšไปท๏ผŒๆ›ดๆทฑๅˆปๅœฐๆดžๅฏŸไบบๆ€ง๏ผŒๆœ€็ปˆๅœจ้”™็ปผๅคๆ‚็š„็บฆๆŸๆกไปถไธ‹๏ผŒๆฑ‚่งฃๅ‡บ็”จๆˆทไปทๅ€ผไธŽๅ•†ไธšไปทๅ€ผๅนถ้‡็š„ๆœ€ไผ˜่งฃใ€‚

1. ็”Ÿๆดป้‡Œ็š„็ปๆตŽๅญฆๆดžๅฏŸโ€”โ€”ๆดžๅฏŸไธไป…ๆ˜ฏๅ…ณไบŽ้œ€ๆฑ‚๏ผŒๆ›ดๆ˜ฏๅ…ณไบŽๆˆๆœฌไธŽๅšๅผˆ โ€‹

ๆˆ‘ไปฌๅธธ่ขซๆ—ฅๅธธ็Žฐ่ฑก็š„โ€œๅˆ็†ๆ€งโ€ๆ‰€่ฟทๆƒ‘๏ผŒ่€Œ็ปๆตŽๅญฆ่ƒฝๅธฎๆˆ‘ไปฌๆ‹จๅผ€่ฟท้›พ๏ผŒ็œ‹ๅˆฐๅ†ฐๅฑฑไน‹ไธ‹็š„ๆˆๆœฌๆ”ถ็›Šๆƒ่กกไธŽ็ซžไบ‰ๅšๅผˆใ€‚

1.1 ๅฎนๅ™จ็š„ๅฝข็Šถ๏ผšๆ–น็›’ไธŽๅœ†็“ถ่ƒŒๅŽ็š„ๆˆๆœฌๆˆ˜ๆœฏ โ€‹

ไธบไป€ไนˆ็‰›ๅฅถ้€šๅธธ่ฃ…ๅœจๆ–น็›’ๅญ้‡Œๅ–๏ผŒ่€Œๅฏไนๅดๅคš่ฃ…ๅœจๅœ†็“ถๅญ้‡Œๅ–๏ผŸ็”จๆˆทๆไพ›็š„็ด ๆไธญ๏ผŒๅฏนไฝฟ็”จไน ๆƒฏใ€ๅŒ…่ฃ…็‰ฉ็†ๅฑžๆ€ง๏ผˆๅˆฉไน็บธๆ˜“ๅก‘ๅฝข๏ผŒๅฏไน้ซ˜ๅŽ‹ๅœ†ๆŸฑๅ‡ๅŽ‹๏ผ‰ๅทฒๆœ‰ๆทฑๅˆป่ง่งฃใ€‚ไฝ†ๆทฑๅ…ฅๆ€่€ƒ๏ผŒๆœ€ๆ ธๅฟƒ็š„้€ป่พ‘ๅœจไบŽๅ›บๅฎšๆˆๆœฌ๏ผˆFixed Costs๏ผ‰ไธŽ่ฟ่ฅๆˆๆœฌ๏ผˆOperating Costs๏ผ‰็š„ๆƒ่กก๏ผŒไปฅๅŠ่ต„ไบง็‰นๅฎšๆ€ง๏ผˆAsset Specificity๏ผ‰ใ€‚

่ถ…ๅธ‚้‡Œ็š„่ฝฏ้ฅฎๆ–™ๅคšๆ”พๅœจไพฟๅฎœ็š„ๅผ€ๆ”พๅผ่ดงๆžถไธŠ๏ผŒ่ฟ่ฅๆˆๆœฌๆžไฝŽใ€‚่€Œ็‰›ๅฅถ้œ€่ฆไฝŽๆธฉๅ‚จๅญ˜๏ผŒๅ†ฐๆŸœไธไป…ๆ˜‚่ดต๏ผˆๅ›บๅฎšๆˆๆœฌ๏ผ‰๏ผŒไธ”ๅธธๅนด่ฟ่กŒ๏ผˆ่ฟ่ฅๆˆๆœฌ๏ผ‰ๆž้ซ˜ใ€‚ๅ†ฐๆŸœ้‡Œ็š„ๅญ˜ๅ‚จ็ฉบ้—ดไธไป…ๆ˜ฏ่ต„ๆบ๏ผŒๆ›ดๆ˜ฏ็จ€็ผบ็š„ใ€ๆ˜‚่ดต่ต„ไบงใ€‚ๆ–นๅฝขๅฎนๅ™จ่ƒฝๆœ€ๅคงๅŒ–ๅ†ฐๆŸœ็š„็ฉบ้—ดๅˆฉ็”จ็އ๏ผŒ้™ไฝŽๆฏๅ•ไฝไฝ“็งฏ็š„ๅญ˜ๅ‚จๆˆๆœฌใ€‚ๅฏไนไธๆƒœ็‰บ็‰ฒ่ฟ™ไธ€ไผ˜ๅŠฟ๏ผŒ้€‰ๆ‹ฉๆ›ด่ถๆ‰‹็š„ๅœ†็“ถ๏ผŒๆ˜ฏๅ› ไธบๅ…ถๅผ€ๆ”พๅผ่ดงๆžถ็ญ–็•ฅๅฐ†ๅญ˜ๅ‚จๆˆๆœฌ้™ๅˆฐไบ†ๆžไฝŽ๏ผŒๅฏไปฅ็”จไฝ“้ชŒไผ˜ๅŠฟ๏ผˆไฝฟ็”จไน ๆƒฏ๏ผ‰ๆฅๆŠตๆถˆ้ขๅค–็š„ๅญ˜ๅ‚จ็ฉบ้—ดๆˆๆœฌใ€‚

่ฟ™ไธ€ๆกˆไพ‹ๅฏ็คบ๏ผšไบงๅ“่ฎพ่ฎกไธไป…ๆ˜ฏๅ…ณไนŽๅ‰็ซฏ็š„็”จๆˆทไฝ“้ชŒ๏ผˆไฝฟ็”จไน ๆƒฏ๏ผ‰๏ผŒๆ›ด้œ€่ฆไปŽๅŽ็ซฏ่ฟ่ฅ้“พๆกๅ‡บๅ‘๏ผŒๆ€่€ƒๆ ธๅฟƒ็จ€็ผบ่ต„ๆบ็š„้…็ฝฎๆ•ˆ็އใ€‚ๅœจๅ†ฐๆŸœ่ฟ™ไธชโ€œ่ต„ไบง็‰นๅฎšโ€ๅœบๆ™ฏไธ‹๏ผŒๆ–น็›’ๅญๅฐฑๆ˜ฏๅธ•็ดฏๆ‰˜ๆ”น่ฟ›ใ€‚

1.2 ๅฏไน็š„ไธ‰ๅๅนดไปทๆ ผ่ฟทๅฑ€๏ผšๅŒๅคดๅž„ๆ–ญไธ‹็š„ๅšๅผˆๅ‡่กก โ€‹

ๅฏไนๅฅฝๅƒไธ€็›ดๆฒกๆœ‰ๆถจไปท๏ผŒ่ฟ™ๅ‡ ไนŽๆˆไบ†้ƒฝๅธ‚ไผ ่ฏดใ€‚ๆทฑๅบฆๆ‹†่งฃ๏ผŒ่ฟ™ๆญฃๆ˜ฏ็ปๆตŽๅญฆไธญๅŒๅคดๅž„ๆ–ญ๏ผˆDuopoly๏ผ‰ไธ‹๏ผŒๅฐคๅ…ถๆ˜ฏBertrand ็ซžไบ‰ๅšๅผˆ็š„็ปๅ…ธๆกˆไพ‹ใ€‚

  • Bertrand ็ซžไบ‰๏ผˆBertrand Competition๏ผ‰๏ผšๅ‡่ฎพไธคๅฎถๅ…ฌๅธ็”ŸไบงๅŒ่ดจๅŒ–ไบงๅ“๏ผˆๅฆ‚ๅฏๅฃๅฏไนๅ’Œ็™พไบ‹ๅฏไน๏ผ‰๏ผŒๅฆ‚ๆžœไธ€ๅฎถๆถจไปท๏ผŒๅ“ชๆ€•ๅชๆถจไธ€็‚น็‚น๏ผŒ็ฒพๆ˜Ž็š„ๆถˆ่ดน่€…ๅฐฑไผšๅ…จ้ƒจๆตๅ‘ๅฆไธ€ๅฎถใ€‚ไธบไบ†็ปดๆŒๅธ‚ๅœบไปฝ้ข๏ผŒไธคๅฎถ้ƒฝไธๆ•ข่ฝปๆ˜“ๆถจไปท๏ผŒๆœ€็ปˆไปทๆ ผ่ถ‹ๅ‘ไบŽๆŽฅ่ฟ‘้›ถๅˆฉๆถฆ๏ผˆๆˆ–ไป…้€š่ฟ‡่ง„ๆจกๆ•ˆๅบ”่Žทๅพ—ๆžไฝŽๅˆฉๆถฆ๏ผ‰็š„ๅ‡่กก็Šถๆ€ใ€‚ไธ€ๆ—ฆๅฝขๆˆๅšๅผˆๅ‡่กก๏ผŒๆ‰“็ ดๅฎƒ้œ€่ฆๅทจๅคง็š„ๆ›ฟไปฃๆˆๆœฌๅ’Œ้ฃŽ้™ฉ๏ผŒไพ‹ๅฆ‚ๆถจไปทไผš่ขซๅฏนๆ–นๅ€ŸไฝŽไปทๆŠขๅ ๅธ‚ๅœบไปฝ้ข๏ผŒไธ”ๅ€ŸๅŠฉไฝŽๅˆฉๆถฆๅฐ†ๆฝœๅœจ่ฟ›ๅ…ฅ่€…ๆŒกๅœจ้—จๅค–ใ€‚

  • ่ง„ๆจกๆ•ˆๅบ”ไธŽ้”šๅฎšๆ•ˆๅบ”๏ผšๅฏไนๆ˜ฏๅ…ธๅž‹็š„่–„ๅˆฉๅคš้”€ไบงๅ“๏ผŒๅˆฉๆถฆ้€š่ฟ‡ๆž่‡ด็š„่ง„ๆจกๅŒ–่Žทๅพ—ใ€‚ๅŒๆ—ถ๏ผŒโ€œ่‚ฅๅฎ…ๅฟซไนๆฐดโ€็š„้ซ˜ๆ€งไปทๆฏ”ๅทฒๆˆไธบๆถˆ่ดน่€…ๅฟƒ็†ไธญ็š„ไธ€ไธชๅผบ้”šๅฎš๏ผˆAnchoring Effect๏ผ‰ใ€‚ๆถจไปทไธไป…้ขไธดๅšๅผˆ้ฃŽ้™ฉ๏ผŒ่ฟ˜ๅฏ่ƒฝ็žฌ้—ดๆฟ€ๅ‘ๆถˆ่ดน่€…็š„ๆŸๅคฑๅŽŒๆถๅฟƒ็†๏ผŒๅฏผ่‡ดๆตๅคฑใ€‚

็ปๆตŽๅญฆๅฏ็คบ๏ผšๅœจ็ซžไบ‰ๆฟ€็ƒˆ็š„ๆˆ็†Ÿๅธ‚ๅœบ๏ผˆๅฐคๅ…ถๆ˜ฏไบงๅ“้ซ˜ๅบฆๅŒ่ดจๅŒ–ๆ—ถ๏ผ‰๏ผŒไธไป…่ฆ็œ‹็”จๆˆทไปทๅ€ผ๏ผŒๆ›ด่ฆ็œ‹ๅšๅผˆๅฏนๆ‰‹็š„่กŒๅŠจ่พน็•Œใ€‚ๅฎšไปทๅพ€ๅพ€ๆ˜ฏ็ซžไบ‰ๅšๅผˆๅŽ็š„ๅŠจๆ€ๅนณ่กก๏ผŒ่€Œ้žๅ•ๆ–น้ข็š„ไปทๅ€ผๅฎฃ็งฐใ€‚ๆญคๅค–๏ผŒ้”ๅฎšๆ•ˆๅบ”๏ผˆLock-in Effect๏ผ‰ไธไป…่ƒฝ้”ๅฎš็”จๆˆท๏ผŒๆœ‰ๆ—ถไนŸ่ƒฝ้€š่ฟ‡โ€œๅŽŸๆฑๅŽŸๅ‘ณโ€็š„่ฅ้”€้”ๅฎš่‡ช่บซๅ“็‰Œ็ญ–็•ฅใ€‚

1.3 โ€œๆฅ้ƒฝๆฅไบ†โ€ไธŽๆฒ‰ๆฒกๆˆๆœฌ้™ท้˜ฑ๏ผšๆœ‰้™็†ๆ€ง็š„ๆ™ฎ้่ƒœๅˆฉ โ€‹

โ€œๆฅ้ƒฝๆฅไบ†๏ผŒ้€›้ๆ™ฏ็‚นๅ†่ฏดโ€๏ผŒโ€œๆฅ้ƒฝๆฅไบ†๏ผŒ็œ‹ๅฎŒ่ฟ™ๆ˜ๆ˜ๆฌฒ็ก็š„็”ตๅฝฑโ€ใ€‚่ฟ™็งๅฐ†้”™ๅฐฑ้”™็š„ๆ€็ปดๆจกๅผ๏ผŒๆ˜ฏไบบๆ€ง็š„ๅผฑ็‚น๏ผŒไนŸๆ˜ฏๆœ‰้™็†ๆ€ง๏ผˆBounded Rationality๏ผ‰็š„่ฏๆ˜Žใ€‚

็†ๆ€งไบบๅ‡่ฏด่ฎคไธบไบบๆ˜ฏ็ปๅฏน่‡ช็งไธ”็†ๆ™บ็š„๏ผŒๅง‹็ปˆๅฏปๆฑ‚ไปฅๆœ€ๅฐไปฃไปท่Žทๅพ—ๆœ€ๅคงๆ”ถ็›Š๏ผŒไธๆ„Ÿๆƒ…็”จไบ‹ใ€‚ไฝ†ๅœจ็Žฐๅฎžไธญ๏ผŒไบบไปฌๅพ€ๅพ€ๆ— ๆณ•ๅฎข่ง‚ๅœฐไปŽๆœชๆฅ็š„ๆˆๆœฌๆ”ถ็›Šๅ‡บๅ‘ๅšๅ†ณ็ญ–๏ผŒ่€Œๆ˜ฏ่ขซๅทฒ็ปๅ‘็”Ÿๅœจ่ฟ‡ๅŽป็š„ๆŠ•ๅ…ฅโ€”โ€”ๆฒ‰ๆฒกๆˆๆœฌ๏ผˆSunk Costs๏ผ‰โ€”โ€”ๆ‰€ๆŸ็ผšใ€‚

็ปๆตŽๅญฆๅฏ็คบ๏ผšๆฒ‰ๆฒกๆˆๆœฌๆ่ฟฐ็š„ๆ˜ฏๅทฒ็ปๅ‘็”Ÿไธ”ไธŽๅฝ“ๅ‰ๅ†ณ็ญ–ๆ— ๅ…ณ็š„่ดน็”จใ€‚ๆญฃ็กฎๅ†ณ็ญ–ๅบ”โ€œๅพ€ๆ—ฅไน‹ไธๅฏ่ฟฝ๏ผŒๆฅๆ—ฅไน‹ๅฐšๅฏๆœŸโ€๏ผŒไธ“ๆณจไบŽๆœชๆฅ็š„ๅขž้‡ๆˆๆœฌๅ’Œๆ”ถ็›Šใ€‚ไฝ†ๅฏนไบงๅ“ไบบ่€Œ่จ€๏ผŒๆˆ‘ไปฌไธไป…่ฆ้ฟๅ…่‡ชๅทฑๆމๅ…ฅๆฒ‰ๆฒกๆˆๆœฌ้™ท้˜ฑ๏ผŒๆ›ด่ฆๆทฑๅ…ฅ็ ”็ฉถ็”จๆˆท็š„ๆฒ‰ๆฒกๆ„Ÿ๏ผŒๅฐ†ๅ…ถ่ฝฌๅŒ–ไธบๆ›ฟไปฃๆˆๆœฌ๏ผˆSwitching Costs๏ผ‰๏ผŒไพ‹ๅฆ‚ๆž„ๅปบ็”จๆˆท็š„็ฝ‘็ปœๆ•ˆๅบ”ใ€ๆ•ฐๆฎ็งฏ็ดฏๅ’Œๅ“็‰Œๅฟ ่ฏšใ€‚

1.4 ๅธ•็ดฏๆ‰˜ไผ˜ๅŒ–ไธŽๆœ€ไผ˜ไฝ“้ชŒ๏ผšๅœจ็บฆๆŸๆกไปถไธ‹ๆฑ‚ๆœ€ไผ˜่งฃ โ€‹

็งŸๆˆฟๆกˆไพ‹ไธญ๏ผŒๅ…ผ้กพไปทๆ ผไพฟๅฎœๅ’Œไบค้€šไพฟๅˆฉๅœจโ€œๆ—ขๅฎš็Šถๆ€โ€ไธ‹๏ผŒไปปไฝ•ๆ”นๅ˜้ƒฝไธๅฏ่ƒฝไฝฟไธ€ไบบๅ˜ๅฅฝ่€Œๅˆไธไฝฟๅฆไธ€ไบบๅ˜ๅ๏ผŒ่ฟ™ไพฟๆ˜ฏๅธ•็ดฏๆ‰˜ๆœ€ไผ˜๏ผˆPareto Efficiency๏ผ‰็Šถๆ€ใ€‚

ๅœจไบงๅ“่ฎพ่ฎกไธญ๏ผŒๆˆ‘ไปฌไธๅฏ่ƒฝๆ— ้™ๅขžๅŠ ๅŠŸ่ƒฝ๏ผˆไผšๅฏผ่‡ดๅคๆ‚ๅบฆๆๅ‡ๅ’Œไฝ“้ชŒ็‰บ็‰ฒ๏ผ‰ใ€ไธ่ƒฝๆ— ้™้™ไฝŽไปทๆ ผ๏ผˆไผšๅฏผ่‡ดๅ•†ไธšไธๅฏๆŒ็ปญ๏ผ‰ใ€‚ไผ˜็ง€็š„ไบงๅ“่ฎพ่ฎกๅฐฑๆ˜ฏๅœจๆ— ๆ•ฐไธช Trade-off ไน‹้—ดๅฏปๆ‰พๅˆฐๅธ•็ดฏๆ‰˜ๆ•ˆ็އ็‚นใ€‚ไพ‹ๅฆ‚๏ผŒ้€š่ฟ‡ A/B ๆต‹่ฏ•ๅฏปๆ‰พๆ›ดไผ˜่งฃ๏ผŒๅฐฑๆ˜ฏ่ฏ•ๅ›พ่ฟ›่กŒๅธ•็ดฏๆ‰˜ๆ”น่ฟ›โ€”โ€”ๆ‰พๅˆฐไธ€็งๆ—ขไธไผคๅฎณๆ ธๅฟƒ็”จๆˆทไฝ“้ชŒ๏ผŒๅˆ่ƒฝๆๅ‡ๅ•†ไธšๅ˜็Žฐๆˆ–็”จๆˆท็ฒ˜ๆ€ง็š„่ทฏๅพ„ใ€‚

2. ็ณป็ปŸๅŒ–ๆ–นๆณ•่ฎบโ€”โ€”ๅฐ†็ปๆตŽๅญฆๆ€็ปด็ณป็ปŸๅŒ–ๅœฐๅบ”็”จๅˆฐไบงๅ“ๅ…จ็”Ÿๅ‘ฝๅ‘จๆœŸ โ€‹

2.1 ไบงๅ“ๅฎšไน‰ไธŽๅฎšไฝ๏ผšๆทฑๅ…ฅๅธ‚ๅœบๆดžๅฏŸไธŽไปทๅ€ผๅ‘็Žฐ โ€‹

  • ๅฏปๆ‰พๆœ‰ๆ•ˆ้œ€ๆฑ‚๏ผŒๅˆฉ็”จไพ›ๆฑ‚ๅ…ณ็ณปๅ‘็Žฐๅธ‚ๅœบ่“ๆตท๏ผšไธไป…่ฆ่ฟ›่กŒ็”จๆˆท่ฎฟ่ฐˆ๏ผŒๆ›ด่ฆ้€š่ฟ‡ๆ•ฐๆฎๅˆ†ๆžไบ†่งฃๅฎขๆˆท็š„้œ€ๆฑ‚ใ€็—›็‚นๅ’ŒๆœŸๆœ›ใ€‚ๆทฑๅ…ฅ็ ”็ฉถๅธ‚ๅœบๆ„ๅ‘ณ็€ๅฏปๆ‰พ้‚ฃไบ›ๆœช่ขซๆปก่ถณ็š„ๆœ‰ๆ•ˆ้œ€ๆฑ‚โ€”โ€”ๅณไธไป…ๆœ‰ๆฌฒๆœ›ไธ”ๅ…ทๅค‡ๆ”ฏไป˜่ƒฝๅŠ›็š„๏ผˆไธ็ฎกๆ˜ฏ้‡‘้’ฑใ€ๆ—ถ้—ด่ฟ˜ๆ˜ฏ้š็งๆ•ฐๆฎ๏ผ‰้œ€ๆฑ‚ใ€‚ๅชๆœ‰็œŸๆญฃไบ†่งฃๅธ‚ๅœบๅ’Œๅฎขๆˆท๏ผŒๆ‰่ƒฝๅฎšไฝไบงๅ“็š„ๆ ธๅฟƒๅŠŸ่ƒฝๅ’Œไปทๅ€ผใ€‚

  • ็กฎๅฎš็ซžไบ‰ๅฃๅž’๏ผŒๅˆฉ็”จๆฏ”่พƒไผ˜ๅŠฟๅฏปๆ‰พไบงๅ“ๆ ธๅฟƒ็ซžไบ‰ไผ˜ๅŠฟ๏ผšๅˆ†ๆž็ซžไบ‰ๅฏนๆ‰‹็š„ไบงๅ“ใ€็ญ–็•ฅใ€ๅธ‚ๅœบไปฝ้ข๏ผŒๆ˜ฏไธบไบ†ๆ‰พๅ‡บ่‡ชๅทฑ็š„ไผ˜ๅŠฟๅ’Œไธ่ถณใ€‚ไธไป…่ƒฝๅˆถๅฎš็ซžไบ‰็ญ–็•ฅ๏ผŒ่ฟ˜่ƒฝ้ฟๅ…ไธๅฟ…่ฆ็š„ๅคฑ่ฏฏใ€‚ๆˆ‘ไปฌๅบ”่ฏฅ่ฟฝๆฑ‚ๅšโ€œๅชๆœ‰ไฝ ่ƒฝๅšโ€ๆˆ–่€…โ€œไฝ ๅšๅพ—ๆœ€ๅฅฝโ€็š„ไบ‹ๆƒ…๏ผŒ่ฟ™ๅฐฑๆ˜ฏไบงๅ“็š„ๆฏ”่พƒไผ˜ๅŠฟ๏ผˆComparative Advantage๏ผ‰ใ€‚

2.2 ไบงๅ“ๅฎšไปท็ญ–็•ฅ๏ผšๆœ€ๅคงๅŒ–ๆ”ถ็›ŠไธŽๆ•่Žท็”จๆˆทๅ‰ฉไฝ™ โ€‹

็”จๆˆทๆไพ›็š„ๅฎšไปท็‚น้›†ไธญๅœจไปทๆ ผๆญง่ง†๏ผŒๆˆ‘ไปฌๅฐ†ๅ…ถๆทฑๅŒ–ๅ’Œ็ณป็ปŸๅŒ–๏ผŒๅผ•ๅ…ฅๆ›ดๅคšๅฟƒ็†็ปๆตŽๅญฆใ€‚

  • ๅŸบไบŽไปทๅ€ผ็š„ๅฎšไปท (Value-Based Pricing)๏ผšไธไป…ๆ˜ฏๆ นๆฎไพ›ๆฑ‚๏ผŒๆ›ดๆ˜ฏๅฏปๆ‰พไปทๅ€ผๅˆ›้€ ็š„ๆ ธๅฟƒ็Žฏ่Š‚๏ผŒๅˆถๅฎšๆœ‰ๆ•ˆ็š„ไปทๆ ผ็ญ–็•ฅใ€‚ๅœจๆ–นๅฏธไน‹้—ด๏ผŒ่งๅคฉๅœฐ๏ผŒๅœจ็ป†ๅพฎไน‹ๅค„๏ผŒๅฏŸไบบๆ€งใ€‚

  • ไปทๆ ผๆญง่ง† (Price Discrimination)๏ผšไฟƒไฝฟ็”จๆˆท่ฝฌๅŒ–ๅ’Œไป˜่ดนใ€‚

    • ไบŒ็บงไปทๆ ผๆญง่ง†๏ผˆ็‰ˆๆœฌๅŒ–ๅฎšไปท๏ผ‰๏ผš้€š่ฟ‡ๆŽจๅ‡บๅ…่ดน็‰ˆ vs ไธ“ไธš็‰ˆใ€ๆ ‡ๅ‡†ไผšๅ‘˜ vs VIP ไผšๅ‘˜๏ผŒๆ นๆฎ็”จๆˆท็š„่‡ชๆˆ‘้€‰ๆ‹ฉ๏ผˆWillingness to Pay๏ผ‰ๆฅๅˆ’ๅˆ†็พคไฝ“ใ€‚

    • ไธ‰็บงไปทๆ ผๆญง่ง†๏ผˆ็พคไฝ“ๅŒ–ๅฎšไปท๏ผ‰๏ผšๅฏน็‰นๅฎš็พคไฝ“ๆไพ›ไผ˜ๆƒ ๏ผŒๅฆ‚ๅญฆ็”Ÿไผ˜ๆƒ ใ€็‰นๅฎšๅœฐๅŒบไผ˜ๆƒ ใ€‚

  • ไปทๆ ผๅฟƒ็†ๅญฆๅบ”็”จ๏ผš

    • ้”šๅฎšๆ•ˆๅบ” (Anchoring Effect)๏ผš่ฎพ็ฝฎไธ€ไธช้ซ˜ไปท้”š็‚น๏ผˆไพ‹ๅฆ‚้ซ˜้ข็š„ๅนด่ดน๏ผ‰๏ผŒ่ฎฉไธญ้—ดไปท๏ผˆไพ‹ๅฆ‚ๆœˆ่ดน๏ผ‰็œ‹่ตทๆฅๆ›ดๅ…ทๆ€งไปทๆฏ”ใ€‚

    • ่ฏฑ้ฅตๆ•ˆๅบ” (Decoy Effect)๏ผšๆไพ›ไธ€ไธชไธๅฆ‚ๆ„ไฝ†ไปทๆ ผ็›ธ่ฟ‘็š„้€‰้กน๏ผŒ่ฎฉ็œŸๆญฃๆƒณๅ–็š„้€‰้กน่„ฑ้ข–่€Œๅ‡บใ€‚

2.3 ไบงๅ“็”จๆˆทไฝ“้ชŒไธŽ็•™ๅญ˜๏ผšๆž„ๅปบ้”ๅฎšๆ•ˆๅบ”ไธŽๅฏนๆŠ—่พน้™…ๆ•ˆ็”จ้€’ๅ‡ โ€‹

  • ๅˆฉ็”จๆฒ‰ๆฒกๆˆๆœฌ๏ผŒๅˆฉ็”จๆฒ‰ๆฒกๆˆๆœฌ๏ผŒๅˆฉ็”จๆ›ฟไปฃๆˆๆœฌๆž„ๅปบ้”ๅฎšๆ•ˆๅบ” (Lock-in Effect)๏ผš้€š่ฟ‡ๅผ•ๅฏผ็”จๆˆทๅœจไบงๅ“ไธญ็งฏ็ดฏๆ•ฐๆฎ๏ผˆไบ‘็›˜๏ผ‰ใ€็ฝ‘็ปœๅ…ณ็ณป๏ผˆ็คพไบค็ฝ‘็ปœ๏ผ‰ใ€ๅ“็‰Œๅฟ ่ฏš๏ผˆ็”Ÿๆ€็ณป็ปŸ๏ผ‰๏ผŒๅฐ†็”จๆˆท็š„ๆฒ‰ๆฒกๆŠ•ๅ…ฅ่ฝฌๅŒ–ไธบๆž้ซ˜็š„ๆ›ฟไปฃๆˆๆœฌ๏ผŒไปŽ่€Œๅธๅผ•็”จๆˆทๆŒ็ปญไฝฟ็”จใ€‚

  • ๅˆฉ็”จ่พน้™…ๆ•ˆ็”จ้€’ๅ‡๏ผŒๅฏนๆŠ—่พน้™…ๆ•ˆ็”จ้€’ๅ‡ๅขžๅŠ ็”จๆˆทๆดป่ทƒๅบฆใ€‚ๆทฑๅบฆๆ‹†่งฃๅ‘็Žฐ๏ผšๅฏไปฅ้€š่ฟ‡ๅฏปๆ‰พๅธ•็ดฏๆ‰˜ๆ”น่ฟ›็ฉบ้—ด๏ผŒไพ‹ๅฆ‚็ฒพ็ป†ๅŒ–็ฒพ็ฎ—ๆณ•ๆŠ•ๆ”พๅนฟๅ‘Šใ€‚ๆ›ด็งฏๆžๅœฐ๏ผŒๅฏไปฅ้€š่ฟ‡ๅฏปๆ‰พ้žๅŒ่ดจๅŒ–ไฝ“้ชŒใ€ๅผ•ๅ…ฅๅคš้˜ถๆขฏๅฅ–ๅŠฑ็ณป็ปŸใ€ๆŒ็ปญ่ฟญไปฃๆ–ฐๅŠŸ่ƒฝๆฅๅˆบๆฟ€็”จๆˆท๏ผŒๅฏนๆŠ—่พน้™…ๆ•ˆ็”จ้€’ๅ‡๏ผˆDiminishing Marginal Utility๏ผ‰ๅธฆๆฅ็š„ๆดป่ทƒๅบฆไธ‹้™ใ€‚

2.4 ไบงๅ“ๅ•†ไธšๅŒ–ไธŽ็”Ÿๆ€ๆž„ๅปบ๏ผš่ฟฝๆฑ‚ๅธ•็ดฏๆ‰˜ๆ”น่ฟ›ไธŽ็ฎก็†ๅค–้ƒจๆ€ง โ€‹

  • ๅ•†ไธšๅŒ–่ทฏๅพ„ไผ˜ๅŒ–๏ผš่ฟฝๆฑ‚ๅธ•็ดฏๆ‰˜ๆ”น่ฟ›ไธŽๅค–้ƒจๆ€ง็ฎก็†๏ผš้€š่ฟ‡ไธๆ–ญๅญฆไน ๅ’Œๅฎž่ทต๏ผŒๆˆ‘ไปฌ้œ€่ฆไฟๆŒๆ•้”ใ€‚ๆทฑๅ…ฅ็ ”็ฉถๅนฟๅ‘Šใ€ไผšๅ‘˜็ญ‰ๅ•†ไธšๅŒ–ๆจกๅผใ€‚็†ๆƒณ็š„ๅ•†ไธšๅŒ–ไผ˜ๅŒ–ๆ˜ฏๅœจไธ้™ไฝŽๆ ธๅฟƒ็”จๆˆทไฝ“้ชŒ็š„ๅ‰ๆไธ‹๏ผŒๅขžๅŠ ๆ–ฐ็š„ไปทๅ€ผๆˆ–ๆ”ถๅ…ฅๆต๏ผˆๅธ•็ดฏๆ‰˜ๆ”น่ฟ›๏ผ‰ใ€‚

  • ๅค–้ƒจๆ€ง็ฎก็†๏ผšๅนณๅฐๅž‹ไบงๅ“๏ผˆๅฆ‚ๅนฟๅ‘Šๅนณๅฐ๏ผ‰ๅ…ทๆœ‰ๅผบไบคๅ‰ๅค–้ƒจๆ€ง๏ผˆExternalities๏ผ‰ใ€‚้œ€่ฆๅนณ่กกๅนฟๅ‘Šๅ•†็š„ๅค–้ƒจๆ”ถ็›Š๏ผˆๅฏน็”จๆˆท็š„่ดŸๅค–้ƒจๆ€ง๏ผ‰ไธŽ็”จๆˆท็š„ๅค–้ƒจๆ”ถ็›Š๏ผˆๅฏนๅนฟๅ‘Šๅ•†็š„ๆญฃๅค–้ƒจๆ€ง๏ผ‰ใ€‚ๆŽจ่ๅคš้˜…่ฏป่ฏป็‰ฉ๏ผŒๆทฑๅ…ฅไบ†่งฃๅค–้ƒจๆ€ง็ฎก็†็ญ–็•ฅใ€‚

3. ๆ€ป็ป“๏ผšๆ–นๆณ•่ฎบๆ็‚ผไธŽ่Œไธšไฟฎๅ…ปโ€”โ€”ๅŸนๅ…ปโ€œ็ปๆตŽ็›ด่ง‰โ€ โ€‹

็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“๏ผŒไธๆ˜ฏ่ฎฉไฝ ๆˆไธบๆ•ฐๅญฆๅฎถ๏ผŒ่€Œๆ˜ฏ่ฎฉไฝ ๆˆไธบไธ€ๅๅ…ทๅค‡โ€œ็ปๆตŽ็›ด่ง‰โ€็š„ไบงๅ“ไบบใ€‚

  • ๆทฑๅ…ฅ็ ”็ฉถๅธ‚ๅœบไธŽ็ซžไบ‰ๅฏนๆ‰‹๏ผš่ฟ™ๆ˜ฏ่Žทๅ–ๅ‡†็กฎๅ†ณ็ญ–ไฟกๆฏ็š„ๅ‰ๆใ€‚

  • ๆŒ็ปญๅˆ›ๆ–ฐไธŽๆ”น่ฟ›๏ผšๅธ‚ๅœบๆ˜ฏไธๆ–ญๅ˜ๅŒ–็š„๏ผŒๆŠ€ๆœฏๆ–นๆณ•ๅœจไธๆ–ญๆ›ดๆ–ฐ๏ผŒไฟๆŒๆ•ๆ„Ÿๅบฆ๏ผŒๆ ธๅฟƒ็›ฎๆ ‡ไธไป…ๆ˜ฏไฝ“้ชŒๆ›ดๅฅฝ๏ผŒๆ›ดๆ˜ฏๅ•†ไธšๆจกๅž‹ๆ›ดๅฅๅบทใ€‚

  • ๅŸนๅ…ป็ปๆตŽ็›ด่ง‰๏ผˆSense๏ผ‰๏ผš้œ€่ฆ็†่ฎบๅญฆไน ๅ’Œๅคง้‡ๅฎž่ทตใ€‚่ง‚ๅฏŸ็”Ÿๆดปใ€ๆ‹†่งฃไบงๅ“๏ผˆไพ‹ๅฆ‚๏ผšไธบไป€ไนˆๆŸไบ›่ฝฏไปถๅชๅ…่ฎธไฝ ็”จไธ€ไธช่ฎพๅค‡๏ผŒ่€Œๆœ‰ไบ›ๅ…่ฎธไธ‰ไธช๏ผŸ่ฟ™ไนŸๆ˜ฏไธ€็ง่ต„ไบง็‰นๅฎšๆ€งๆƒ่กก๏ผ‰๏ผŒไปŽๅพฎ่ง‚ๅ’Œๅฎ่ง‚่ง’ๅบฆ้ข„ๅˆค่ถ‹ๅŠฟ๏ผŒๅšๅ‡บๅ‡†็กฎๅ†ณ็ญ–ใ€‚ๆŽจ่ไธ€ไบ›ไธ้”™่ฏป็‰ฉใ€‚

  • ๅ…ณๆณจๅค–้ƒจ็ŽฏๅขƒไธŽๆ”ฟ็ญ–ๆณ•่ง„๏ผšๅฎ่ง‚็ปๆตŽๆ—ฅๆ–ฐๆœˆๅผ‚๏ผŒๆ”ฟ็ญ–ใ€ๆณ•่ง„ใ€่กŒไธš็Žฏๅขƒ๏ผˆไพ‹ๅฆ‚๏ผšๆ•ฐๆฎ้š็งๆณ•่ง„ๅฏน็ฒพ็ป†ๅŒ–ๅนฟๅ‘Š็š„ๅฝฑๅ“๏ผ‰ๆ—ถๅˆปๅฝฑๅ“็€ไบงๅ“็š„ๅ‘ๅฑ•่พน็•Œใ€‚ๆŽจ่ๅคš่ฏป่ฏป็‰ฉ๏ผŒๅŠๆ—ถไบ†่งฃ็›ธๅ…ณๅ˜ๅŒ–ใ€‚

  • ไธๆ–ญๅญฆไน ๅ’Œๅฎž่ทต๏ผšๅœจไธๆ–ญๅฎž่ทตไธญ๏ผŒๅชๆœ‰ๅญฆไน ๅ’Œๆ€ป็ป“๏ผŒๆ‰่ƒฝไฟๆŒ็ซžไบ‰ๅŠ›ใ€‚็ปๆตŽๅญฆๆ€็ปด่ƒฝ่ฎฉๆˆ‘ไปฌๆ›ด็†ๆ™บๅœฐๅˆ†้…่ต„ๆบใ€ๆ›ด็ฒพๅ‡†ๅœฐๅฎšไปทใ€ๆ›ดๆทฑๅˆปๅœฐๆดžๅฏŸไบบๆ€ง๏ผŒๆœ€็ปˆๆ‰“้€ ๅ‡บๆ—ข็ฌฆๅˆ็”จๆˆทไปทๅ€ผๅˆๅ…ทๆœ‰ๅ•†ไธšๅฏๆŒ็ปญๆ€ง็š„ไบงๅ“ใ€‚

็ปๆตŽ็Žฏๅขƒ็žฌๆฏไธ‡ๅ˜๏ผŒๆŠ€ๆœฏๆ–นๆณ•่ฟญไปฃๆ—ฅๆ–ฐๆœˆๅผ‚๏ผŒไฝ†็†ๆ€ง็š„ๅพฎ่ง‚็ปๆตŽๅญฆๅŽŸ็†๏ผŒๅง‹็ปˆๆ˜ฏไธ€็›ๆŒ‡ๅผ•ๆ–นๅ‘็š„ไธ็ญ็ฏๅก”ใ€‚่ฎฉๆˆ‘ไปฌไปŽๅ•็บฏ็š„โ€œไฝ“้ชŒ่ฎพ่ฎกๅธˆโ€ๅ‘ๅ…ทๅค‡ๅ•†ไธšๆ ผๅฑ€ๅ’Œๆทฑ้‚ƒไบบๆ€ง็š„โ€œๅพฎ่ง‚็ปๆตŽๅญฆๅฎถโ€่ทจ่ถŠใ€‚

',36)])])}const _=e(i,[["render",o]]);export{c as __pageData,_ as default}; +import{_ as e,g as r,h as n,U as t}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const c=JSON.parse('{"title":"็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“","description":"ๅฐ†็ปๆตŽๅญฆๆ ธๅฟƒๅŽŸ็†่žๅˆ่ฟ›ไบงๅ“่ฎพ่ฎกๅ…จ็”Ÿๅ‘ฝๅ‘จๆœŸ็š„ๆ–นๆณ•่ฎบไฝ“็ณป๏ผŒๆž„ๅปบ็†ๆ€ง็š„โ€œไบงๅ“Senseโ€ใ€‚","frontmatter":{"date":"2024-01-01T16:00:00.000Z","title":"็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“","description":"ๅฐ†็ปๆตŽๅญฆๆ ธๅฟƒๅŽŸ็†่žๅˆ่ฟ›ไบงๅ“่ฎพ่ฎกๅ…จ็”Ÿๅ‘ฝๅ‘จๆœŸ็š„ๆ–นๆณ•่ฎบไฝ“็ณป๏ผŒๆž„ๅปบ็†ๆ€ง็š„โ€œไบงๅ“Senseโ€ใ€‚","categories":["ไบงๅ“ Sense"],"permalink":"/product-sense/using-economics-thinking"},"headers":[],"relativePath":"10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/50.็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“.md","filePath":"10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/50.็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“.md"}'),i={name:"10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/50.็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“.md"};function o(s,a,l,p,d,h){return n(),r("div",null,[...a[0]||(a[0]=[t('

็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“ โ€‹

ๆ‘˜่ฆๆ€ป็ป“๏ผš็ปๆตŽๅญฆไธไป…ๆ˜ฏๅˆ†ๆžๅฎ่ง‚ๆ•ฐๆฎ็š„ๅทฅๅ…ท๏ผŒๆ›ดๆ˜ฏๆดžๅฏŸไบบๆ€งใ€ไผ˜ๅŒ–่ต„ๆบ้…็ฝฎใ€ๅœจ็บฆๆŸๆกไปถไธ‹ๆฑ‚ๆœ€ไผ˜่งฃ็š„ๆ€็ปดๆ–นๅผใ€‚ๆœฌๆ–‡้€š่ฟ‡ๆ‹†่งฃๆ—ฅๅธธ็”Ÿๆดปไธญ็š„็ปๅ…ธๆกˆไพ‹๏ผŒๆ็‚ผๆˆๆœฌๆ”ถ็›Šใ€ๅšๅผˆๅ‡่กกใ€ๆœ‰้™็†ๆ€งใ€ๆ•ˆ็އๆ”น่ฟ›็ญ‰ๆ ธๅฟƒ็ปๆตŽๅญฆๅŽŸ็†๏ผŒๅนถ็ณป็ปŸๅœฐๅฐ†ๅ…ถๅบ”็”จๅˆฐไบงๅ“็”Ÿๅ‘ฝๅ‘จๆœŸ็š„ๆ ธๅฟƒ็Žฏ่Š‚โ€”โ€”ๅฎšไน‰ๅฎšไฝใ€ๅฎšไปท็ญ–็•ฅใ€ไฝ“้ชŒ้”ๅฎšๅŠ็”Ÿๆ€ๆž„ๅปบใ€‚ๆœ€็ปˆ๏ผŒๆˆ‘ไปฌๅฐ†่ฟ™ไบ›ๅŽŸ็†ๆฒ‰ๆท€ไธบไธ€ๅฅ—็ณป็ปŸ็š„ใ€ๅ…ทๆœ‰โ€œ็ปๆตŽ็›ด่ง‰โ€็š„ไบงๅ“ๆ–นๆณ•่ฎบ๏ผŒๅŠฉๅŠ›ไบงๅ“ไบบๅฎŒๆˆไปŽๅ•็บฏ็š„โ€œไฝ“้ชŒ่ฎพ่ฎกๅธˆโ€ๅ‘ๅ…ทๅค‡ๅ•†ไธšๆ ผๅฑ€็š„โ€œๅพฎ่ง‚็ปๆตŽๅญฆๅฎถโ€่ทจ่ถŠใ€‚

ๅœจไบงๅ“็ฎก็†็š„ๅนฟ้˜”ๅคฉๅœฐไธญ๏ผŒๆˆ‘ไปฌๅพ€ๅพ€ๅผบ่ฐƒโ€œไบงๅ“ Senseโ€๏ผˆProduct Sense๏ผ‰โ€”โ€”ไธ€็งๅฏน็”จๆˆท้œ€ๆฑ‚ใ€ๅธ‚ๅœบ้ฃŽๅ‘ๅ’ŒๆŠ€ๆœฏๆฝœๅŠ›็š„็›ด่ง‰ๆ€งๆ•ๆ‰ใ€‚็„ถ่€Œ๏ผŒ่ฟ™็ง Sense ็ป้žๅ‡ญ็ฉบ่€Œๆฅ็š„็ตๅ…‰ไน็Žฐ๏ผŒๅฎƒ้œ€่ฆ็จณๅ›บ็š„็†ๆ€งๅœฐๅŸบใ€‚ๅœจไผ—ๅคšๅญฆ็ง‘ไธญ๏ผŒ็ปๆตŽๅญฆๆ— ็–‘ๆไพ›ไบ†ๆœ€ๅบ•ๅฑ‚็š„้€ป่พ‘ๆ”ฏๆŸฑใ€‚

็ปๆตŽๅญฆไธไป…ไป…ๆ˜ฏๅ…ณไบŽ้‡‘้’ฑๅ’Œๅธ‚ๅœบ็š„็ง‘ๅญฆ๏ผŒๅฎƒๆ›ดๆ˜ฏไธ€็ง่งฃๅ†ณ้—ฎ้ข˜ใ€ไผ˜ๅŒ–ๅ†ณ็ญ–็š„ๆ–นๅผใ€‚ๅฏนไบงๅ“ไบบ่€Œ่จ€๏ผŒๅ€Ÿ้‰ด็ปๆตŽๅญฆๆ€็ปด๏ผŒๆ„ๅ‘ณ็€่ƒฝๅคŸ็†ๆ™บๅœฐๆƒ่กกๅˆฉๅผŠ๏ผŒๆ›ด็ฒพๅ‡†ๅœฐๅฎšไปท๏ผŒๆ›ดๆทฑๅˆปๅœฐๆดžๅฏŸไบบๆ€ง๏ผŒๆœ€็ปˆๅœจ้”™็ปผๅคๆ‚็š„็บฆๆŸๆกไปถไธ‹๏ผŒๆฑ‚่งฃๅ‡บ็”จๆˆทไปทๅ€ผไธŽๅ•†ไธšไปทๅ€ผๅนถ้‡็š„ๆœ€ไผ˜่งฃใ€‚

1. ็”Ÿๆดป้‡Œ็š„็ปๆตŽๅญฆๆดžๅฏŸโ€”โ€”ๆดžๅฏŸไธไป…ๆ˜ฏๅ…ณไบŽ้œ€ๆฑ‚๏ผŒๆ›ดๆ˜ฏๅ…ณไบŽๆˆๆœฌไธŽๅšๅผˆ โ€‹

ๆˆ‘ไปฌๅธธ่ขซๆ—ฅๅธธ็Žฐ่ฑก็š„โ€œๅˆ็†ๆ€งโ€ๆ‰€่ฟทๆƒ‘๏ผŒ่€Œ็ปๆตŽๅญฆ่ƒฝๅธฎๆˆ‘ไปฌๆ‹จๅผ€่ฟท้›พ๏ผŒ็œ‹ๅˆฐๅ†ฐๅฑฑไน‹ไธ‹็š„ๆˆๆœฌๆ”ถ็›Šๆƒ่กกไธŽ็ซžไบ‰ๅšๅผˆใ€‚

1.1 ๅฎนๅ™จ็š„ๅฝข็Šถ๏ผšๆ–น็›’ไธŽๅœ†็“ถ่ƒŒๅŽ็š„ๆˆๆœฌๆˆ˜ๆœฏ โ€‹

ไธบไป€ไนˆ็‰›ๅฅถ้€šๅธธ่ฃ…ๅœจๆ–น็›’ๅญ้‡Œๅ–๏ผŒ่€Œๅฏไนๅดๅคš่ฃ…ๅœจๅœ†็“ถๅญ้‡Œๅ–๏ผŸ็”จๆˆทๆไพ›็š„็ด ๆไธญ๏ผŒๅฏนไฝฟ็”จไน ๆƒฏใ€ๅŒ…่ฃ…็‰ฉ็†ๅฑžๆ€ง๏ผˆๅˆฉไน็บธๆ˜“ๅก‘ๅฝข๏ผŒๅฏไน้ซ˜ๅŽ‹ๅœ†ๆŸฑๅ‡ๅŽ‹๏ผ‰ๅทฒๆœ‰ๆทฑๅˆป่ง่งฃใ€‚ไฝ†ๆทฑๅ…ฅๆ€่€ƒ๏ผŒๆœ€ๆ ธๅฟƒ็š„้€ป่พ‘ๅœจไบŽๅ›บๅฎšๆˆๆœฌ๏ผˆFixed Costs๏ผ‰ไธŽ่ฟ่ฅๆˆๆœฌ๏ผˆOperating Costs๏ผ‰็š„ๆƒ่กก๏ผŒไปฅๅŠ่ต„ไบง็‰นๅฎšๆ€ง๏ผˆAsset Specificity๏ผ‰ใ€‚

่ถ…ๅธ‚้‡Œ็š„่ฝฏ้ฅฎๆ–™ๅคšๆ”พๅœจไพฟๅฎœ็š„ๅผ€ๆ”พๅผ่ดงๆžถไธŠ๏ผŒ่ฟ่ฅๆˆๆœฌๆžไฝŽใ€‚่€Œ็‰›ๅฅถ้œ€่ฆไฝŽๆธฉๅ‚จๅญ˜๏ผŒๅ†ฐๆŸœไธไป…ๆ˜‚่ดต๏ผˆๅ›บๅฎšๆˆๆœฌ๏ผ‰๏ผŒไธ”ๅธธๅนด่ฟ่กŒ๏ผˆ่ฟ่ฅๆˆๆœฌ๏ผ‰ๆž้ซ˜ใ€‚ๅ†ฐๆŸœ้‡Œ็š„ๅญ˜ๅ‚จ็ฉบ้—ดไธไป…ๆ˜ฏ่ต„ๆบ๏ผŒๆ›ดๆ˜ฏ็จ€็ผบ็š„ใ€ๆ˜‚่ดต่ต„ไบงใ€‚ๆ–นๅฝขๅฎนๅ™จ่ƒฝๆœ€ๅคงๅŒ–ๅ†ฐๆŸœ็š„็ฉบ้—ดๅˆฉ็”จ็އ๏ผŒ้™ไฝŽๆฏๅ•ไฝไฝ“็งฏ็š„ๅญ˜ๅ‚จๆˆๆœฌใ€‚ๅฏไนไธๆƒœ็‰บ็‰ฒ่ฟ™ไธ€ไผ˜ๅŠฟ๏ผŒ้€‰ๆ‹ฉๆ›ด่ถๆ‰‹็š„ๅœ†็“ถ๏ผŒๆ˜ฏๅ› ไธบๅ…ถๅผ€ๆ”พๅผ่ดงๆžถ็ญ–็•ฅๅฐ†ๅญ˜ๅ‚จๆˆๆœฌ้™ๅˆฐไบ†ๆžไฝŽ๏ผŒๅฏไปฅ็”จไฝ“้ชŒไผ˜ๅŠฟ๏ผˆไฝฟ็”จไน ๆƒฏ๏ผ‰ๆฅๆŠตๆถˆ้ขๅค–็š„ๅญ˜ๅ‚จ็ฉบ้—ดๆˆๆœฌใ€‚

่ฟ™ไธ€ๆกˆไพ‹ๅฏ็คบ๏ผšไบงๅ“่ฎพ่ฎกไธไป…ๆ˜ฏๅ…ณไนŽๅ‰็ซฏ็š„็”จๆˆทไฝ“้ชŒ๏ผˆไฝฟ็”จไน ๆƒฏ๏ผ‰๏ผŒๆ›ด้œ€่ฆไปŽๅŽ็ซฏ่ฟ่ฅ้“พๆกๅ‡บๅ‘๏ผŒๆ€่€ƒๆ ธๅฟƒ็จ€็ผบ่ต„ๆบ็š„้…็ฝฎๆ•ˆ็އใ€‚ๅœจๅ†ฐๆŸœ่ฟ™ไธชโ€œ่ต„ไบง็‰นๅฎšโ€ๅœบๆ™ฏไธ‹๏ผŒๆ–น็›’ๅญๅฐฑๆ˜ฏๅธ•็ดฏๆ‰˜ๆ”น่ฟ›ใ€‚

1.2 ๅฏไน็š„ไธ‰ๅๅนดไปทๆ ผ่ฟทๅฑ€๏ผšๅŒๅคดๅž„ๆ–ญไธ‹็š„ๅšๅผˆๅ‡่กก โ€‹

ๅฏไนๅฅฝๅƒไธ€็›ดๆฒกๆœ‰ๆถจไปท๏ผŒ่ฟ™ๅ‡ ไนŽๆˆไบ†้ƒฝๅธ‚ไผ ่ฏดใ€‚ๆทฑๅบฆๆ‹†่งฃ๏ผŒ่ฟ™ๆญฃๆ˜ฏ็ปๆตŽๅญฆไธญๅŒๅคดๅž„ๆ–ญ๏ผˆDuopoly๏ผ‰ไธ‹๏ผŒๅฐคๅ…ถๆ˜ฏBertrand ็ซžไบ‰ๅšๅผˆ็š„็ปๅ…ธๆกˆไพ‹ใ€‚

  • Bertrand ็ซžไบ‰๏ผˆBertrand Competition๏ผ‰๏ผšๅ‡่ฎพไธคๅฎถๅ…ฌๅธ็”ŸไบงๅŒ่ดจๅŒ–ไบงๅ“๏ผˆๅฆ‚ๅฏๅฃๅฏไนๅ’Œ็™พไบ‹ๅฏไน๏ผ‰๏ผŒๅฆ‚ๆžœไธ€ๅฎถๆถจไปท๏ผŒๅ“ชๆ€•ๅชๆถจไธ€็‚น็‚น๏ผŒ็ฒพๆ˜Ž็š„ๆถˆ่ดน่€…ๅฐฑไผšๅ…จ้ƒจๆตๅ‘ๅฆไธ€ๅฎถใ€‚ไธบไบ†็ปดๆŒๅธ‚ๅœบไปฝ้ข๏ผŒไธคๅฎถ้ƒฝไธๆ•ข่ฝปๆ˜“ๆถจไปท๏ผŒๆœ€็ปˆไปทๆ ผ่ถ‹ๅ‘ไบŽๆŽฅ่ฟ‘้›ถๅˆฉๆถฆ๏ผˆๆˆ–ไป…้€š่ฟ‡่ง„ๆจกๆ•ˆๅบ”่Žทๅพ—ๆžไฝŽๅˆฉๆถฆ๏ผ‰็š„ๅ‡่กก็Šถๆ€ใ€‚ไธ€ๆ—ฆๅฝขๆˆๅšๅผˆๅ‡่กก๏ผŒๆ‰“็ ดๅฎƒ้œ€่ฆๅทจๅคง็š„ๆ›ฟไปฃๆˆๆœฌๅ’Œ้ฃŽ้™ฉ๏ผŒไพ‹ๅฆ‚ๆถจไปทไผš่ขซๅฏนๆ–นๅ€ŸไฝŽไปทๆŠขๅ ๅธ‚ๅœบไปฝ้ข๏ผŒไธ”ๅ€ŸๅŠฉไฝŽๅˆฉๆถฆๅฐ†ๆฝœๅœจ่ฟ›ๅ…ฅ่€…ๆŒกๅœจ้—จๅค–ใ€‚

  • ่ง„ๆจกๆ•ˆๅบ”ไธŽ้”šๅฎšๆ•ˆๅบ”๏ผšๅฏไนๆ˜ฏๅ…ธๅž‹็š„่–„ๅˆฉๅคš้”€ไบงๅ“๏ผŒๅˆฉๆถฆ้€š่ฟ‡ๆž่‡ด็š„่ง„ๆจกๅŒ–่Žทๅพ—ใ€‚ๅŒๆ—ถ๏ผŒโ€œ่‚ฅๅฎ…ๅฟซไนๆฐดโ€็š„้ซ˜ๆ€งไปทๆฏ”ๅทฒๆˆไธบๆถˆ่ดน่€…ๅฟƒ็†ไธญ็š„ไธ€ไธชๅผบ้”šๅฎš๏ผˆAnchoring Effect๏ผ‰ใ€‚ๆถจไปทไธไป…้ขไธดๅšๅผˆ้ฃŽ้™ฉ๏ผŒ่ฟ˜ๅฏ่ƒฝ็žฌ้—ดๆฟ€ๅ‘ๆถˆ่ดน่€…็š„ๆŸๅคฑๅŽŒๆถๅฟƒ็†๏ผŒๅฏผ่‡ดๆตๅคฑใ€‚

็ปๆตŽๅญฆๅฏ็คบ๏ผšๅœจ็ซžไบ‰ๆฟ€็ƒˆ็š„ๆˆ็†Ÿๅธ‚ๅœบ๏ผˆๅฐคๅ…ถๆ˜ฏไบงๅ“้ซ˜ๅบฆๅŒ่ดจๅŒ–ๆ—ถ๏ผ‰๏ผŒไธไป…่ฆ็œ‹็”จๆˆทไปทๅ€ผ๏ผŒๆ›ด่ฆ็œ‹ๅšๅผˆๅฏนๆ‰‹็š„่กŒๅŠจ่พน็•Œใ€‚ๅฎšไปทๅพ€ๅพ€ๆ˜ฏ็ซžไบ‰ๅšๅผˆๅŽ็š„ๅŠจๆ€ๅนณ่กก๏ผŒ่€Œ้žๅ•ๆ–น้ข็š„ไปทๅ€ผๅฎฃ็งฐใ€‚ๆญคๅค–๏ผŒ้”ๅฎšๆ•ˆๅบ”๏ผˆLock-in Effect๏ผ‰ไธไป…่ƒฝ้”ๅฎš็”จๆˆท๏ผŒๆœ‰ๆ—ถไนŸ่ƒฝ้€š่ฟ‡โ€œๅŽŸๆฑๅŽŸๅ‘ณโ€็š„่ฅ้”€้”ๅฎš่‡ช่บซๅ“็‰Œ็ญ–็•ฅใ€‚

1.3 โ€œๆฅ้ƒฝๆฅไบ†โ€ไธŽๆฒ‰ๆฒกๆˆๆœฌ้™ท้˜ฑ๏ผšๆœ‰้™็†ๆ€ง็š„ๆ™ฎ้่ƒœๅˆฉ โ€‹

โ€œๆฅ้ƒฝๆฅไบ†๏ผŒ้€›้ๆ™ฏ็‚นๅ†่ฏดโ€๏ผŒโ€œๆฅ้ƒฝๆฅไบ†๏ผŒ็œ‹ๅฎŒ่ฟ™ๆ˜ๆ˜ๆฌฒ็ก็š„็”ตๅฝฑโ€ใ€‚่ฟ™็งๅฐ†้”™ๅฐฑ้”™็š„ๆ€็ปดๆจกๅผ๏ผŒๆ˜ฏไบบๆ€ง็š„ๅผฑ็‚น๏ผŒไนŸๆ˜ฏๆœ‰้™็†ๆ€ง๏ผˆBounded Rationality๏ผ‰็š„่ฏๆ˜Žใ€‚

็†ๆ€งไบบๅ‡่ฏด่ฎคไธบไบบๆ˜ฏ็ปๅฏน่‡ช็งไธ”็†ๆ™บ็š„๏ผŒๅง‹็ปˆๅฏปๆฑ‚ไปฅๆœ€ๅฐไปฃไปท่Žทๅพ—ๆœ€ๅคงๆ”ถ็›Š๏ผŒไธๆ„Ÿๆƒ…็”จไบ‹ใ€‚ไฝ†ๅœจ็Žฐๅฎžไธญ๏ผŒไบบไปฌๅพ€ๅพ€ๆ— ๆณ•ๅฎข่ง‚ๅœฐไปŽๆœชๆฅ็š„ๆˆๆœฌๆ”ถ็›Šๅ‡บๅ‘ๅšๅ†ณ็ญ–๏ผŒ่€Œๆ˜ฏ่ขซๅทฒ็ปๅ‘็”Ÿๅœจ่ฟ‡ๅŽป็š„ๆŠ•ๅ…ฅโ€”โ€”ๆฒ‰ๆฒกๆˆๆœฌ๏ผˆSunk Costs๏ผ‰โ€”โ€”ๆ‰€ๆŸ็ผšใ€‚

็ปๆตŽๅญฆๅฏ็คบ๏ผšๆฒ‰ๆฒกๆˆๆœฌๆ่ฟฐ็š„ๆ˜ฏๅทฒ็ปๅ‘็”Ÿไธ”ไธŽๅฝ“ๅ‰ๅ†ณ็ญ–ๆ— ๅ…ณ็š„่ดน็”จใ€‚ๆญฃ็กฎๅ†ณ็ญ–ๅบ”โ€œๅพ€ๆ—ฅไน‹ไธๅฏ่ฟฝ๏ผŒๆฅๆ—ฅไน‹ๅฐšๅฏๆœŸโ€๏ผŒไธ“ๆณจไบŽๆœชๆฅ็š„ๅขž้‡ๆˆๆœฌๅ’Œๆ”ถ็›Šใ€‚ไฝ†ๅฏนไบงๅ“ไบบ่€Œ่จ€๏ผŒๆˆ‘ไปฌไธไป…่ฆ้ฟๅ…่‡ชๅทฑๆމๅ…ฅๆฒ‰ๆฒกๆˆๆœฌ้™ท้˜ฑ๏ผŒๆ›ด่ฆๆทฑๅ…ฅ็ ”็ฉถ็”จๆˆท็š„ๆฒ‰ๆฒกๆ„Ÿ๏ผŒๅฐ†ๅ…ถ่ฝฌๅŒ–ไธบๆ›ฟไปฃๆˆๆœฌ๏ผˆSwitching Costs๏ผ‰๏ผŒไพ‹ๅฆ‚ๆž„ๅปบ็”จๆˆท็š„็ฝ‘็ปœๆ•ˆๅบ”ใ€ๆ•ฐๆฎ็งฏ็ดฏๅ’Œๅ“็‰Œๅฟ ่ฏšใ€‚

1.4 ๅธ•็ดฏๆ‰˜ไผ˜ๅŒ–ไธŽๆœ€ไผ˜ไฝ“้ชŒ๏ผšๅœจ็บฆๆŸๆกไปถไธ‹ๆฑ‚ๆœ€ไผ˜่งฃ โ€‹

็งŸๆˆฟๆกˆไพ‹ไธญ๏ผŒๅ…ผ้กพไปทๆ ผไพฟๅฎœๅ’Œไบค้€šไพฟๅˆฉๅœจโ€œๆ—ขๅฎš็Šถๆ€โ€ไธ‹๏ผŒไปปไฝ•ๆ”นๅ˜้ƒฝไธๅฏ่ƒฝไฝฟไธ€ไบบๅ˜ๅฅฝ่€Œๅˆไธไฝฟๅฆไธ€ไบบๅ˜ๅ๏ผŒ่ฟ™ไพฟๆ˜ฏๅธ•็ดฏๆ‰˜ๆœ€ไผ˜๏ผˆPareto Efficiency๏ผ‰็Šถๆ€ใ€‚

ๅœจไบงๅ“่ฎพ่ฎกไธญ๏ผŒๆˆ‘ไปฌไธๅฏ่ƒฝๆ— ้™ๅขžๅŠ ๅŠŸ่ƒฝ๏ผˆไผšๅฏผ่‡ดๅคๆ‚ๅบฆๆๅ‡ๅ’Œไฝ“้ชŒ็‰บ็‰ฒ๏ผ‰ใ€ไธ่ƒฝๆ— ้™้™ไฝŽไปทๆ ผ๏ผˆไผšๅฏผ่‡ดๅ•†ไธšไธๅฏๆŒ็ปญ๏ผ‰ใ€‚ไผ˜็ง€็š„ไบงๅ“่ฎพ่ฎกๅฐฑๆ˜ฏๅœจๆ— ๆ•ฐไธช Trade-off ไน‹้—ดๅฏปๆ‰พๅˆฐๅธ•็ดฏๆ‰˜ๆ•ˆ็އ็‚นใ€‚ไพ‹ๅฆ‚๏ผŒ้€š่ฟ‡ A/B ๆต‹่ฏ•ๅฏปๆ‰พๆ›ดไผ˜่งฃ๏ผŒๅฐฑๆ˜ฏ่ฏ•ๅ›พ่ฟ›่กŒๅธ•็ดฏๆ‰˜ๆ”น่ฟ›โ€”โ€”ๆ‰พๅˆฐไธ€็งๆ—ขไธไผคๅฎณๆ ธๅฟƒ็”จๆˆทไฝ“้ชŒ๏ผŒๅˆ่ƒฝๆๅ‡ๅ•†ไธšๅ˜็Žฐๆˆ–็”จๆˆท็ฒ˜ๆ€ง็š„่ทฏๅพ„ใ€‚

2. ็ณป็ปŸๅŒ–ๆ–นๆณ•่ฎบโ€”โ€”ๅฐ†็ปๆตŽๅญฆๆ€็ปด็ณป็ปŸๅŒ–ๅœฐๅบ”็”จๅˆฐไบงๅ“ๅ…จ็”Ÿๅ‘ฝๅ‘จๆœŸ โ€‹

2.1 ไบงๅ“ๅฎšไน‰ไธŽๅฎšไฝ๏ผšๆทฑๅ…ฅๅธ‚ๅœบๆดžๅฏŸไธŽไปทๅ€ผๅ‘็Žฐ โ€‹

  • ๅฏปๆ‰พๆœ‰ๆ•ˆ้œ€ๆฑ‚๏ผŒๅˆฉ็”จไพ›ๆฑ‚ๅ…ณ็ณปๅ‘็Žฐๅธ‚ๅœบ่“ๆตท๏ผšไธไป…่ฆ่ฟ›่กŒ็”จๆˆท่ฎฟ่ฐˆ๏ผŒๆ›ด่ฆ้€š่ฟ‡ๆ•ฐๆฎๅˆ†ๆžไบ†่งฃๅฎขๆˆท็š„้œ€ๆฑ‚ใ€็—›็‚นๅ’ŒๆœŸๆœ›ใ€‚ๆทฑๅ…ฅ็ ”็ฉถๅธ‚ๅœบๆ„ๅ‘ณ็€ๅฏปๆ‰พ้‚ฃไบ›ๆœช่ขซๆปก่ถณ็š„ๆœ‰ๆ•ˆ้œ€ๆฑ‚โ€”โ€”ๅณไธไป…ๆœ‰ๆฌฒๆœ›ไธ”ๅ…ทๅค‡ๆ”ฏไป˜่ƒฝๅŠ›็š„๏ผˆไธ็ฎกๆ˜ฏ้‡‘้’ฑใ€ๆ—ถ้—ด่ฟ˜ๆ˜ฏ้š็งๆ•ฐๆฎ๏ผ‰้œ€ๆฑ‚ใ€‚ๅชๆœ‰็œŸๆญฃไบ†่งฃๅธ‚ๅœบๅ’Œๅฎขๆˆท๏ผŒๆ‰่ƒฝๅฎšไฝไบงๅ“็š„ๆ ธๅฟƒๅŠŸ่ƒฝๅ’Œไปทๅ€ผใ€‚

  • ็กฎๅฎš็ซžไบ‰ๅฃๅž’๏ผŒๅˆฉ็”จๆฏ”่พƒไผ˜ๅŠฟๅฏปๆ‰พไบงๅ“ๆ ธๅฟƒ็ซžไบ‰ไผ˜ๅŠฟ๏ผšๅˆ†ๆž็ซžไบ‰ๅฏนๆ‰‹็š„ไบงๅ“ใ€็ญ–็•ฅใ€ๅธ‚ๅœบไปฝ้ข๏ผŒๆ˜ฏไธบไบ†ๆ‰พๅ‡บ่‡ชๅทฑ็š„ไผ˜ๅŠฟๅ’Œไธ่ถณใ€‚ไธไป…่ƒฝๅˆถๅฎš็ซžไบ‰็ญ–็•ฅ๏ผŒ่ฟ˜่ƒฝ้ฟๅ…ไธๅฟ…่ฆ็š„ๅคฑ่ฏฏใ€‚ๆˆ‘ไปฌๅบ”่ฏฅ่ฟฝๆฑ‚ๅšโ€œๅชๆœ‰ไฝ ่ƒฝๅšโ€ๆˆ–่€…โ€œไฝ ๅšๅพ—ๆœ€ๅฅฝโ€็š„ไบ‹ๆƒ…๏ผŒ่ฟ™ๅฐฑๆ˜ฏไบงๅ“็š„ๆฏ”่พƒไผ˜ๅŠฟ๏ผˆComparative Advantage๏ผ‰ใ€‚

2.2 ไบงๅ“ๅฎšไปท็ญ–็•ฅ๏ผšๆœ€ๅคงๅŒ–ๆ”ถ็›ŠไธŽๆ•่Žท็”จๆˆทๅ‰ฉไฝ™ โ€‹

็”จๆˆทๆไพ›็š„ๅฎšไปท็‚น้›†ไธญๅœจไปทๆ ผๆญง่ง†๏ผŒๆˆ‘ไปฌๅฐ†ๅ…ถๆทฑๅŒ–ๅ’Œ็ณป็ปŸๅŒ–๏ผŒๅผ•ๅ…ฅๆ›ดๅคšๅฟƒ็†็ปๆตŽๅญฆใ€‚

  • ๅŸบไบŽไปทๅ€ผ็š„ๅฎšไปท (Value-Based Pricing)๏ผšไธไป…ๆ˜ฏๆ นๆฎไพ›ๆฑ‚๏ผŒๆ›ดๆ˜ฏๅฏปๆ‰พไปทๅ€ผๅˆ›้€ ็š„ๆ ธๅฟƒ็Žฏ่Š‚๏ผŒๅˆถๅฎšๆœ‰ๆ•ˆ็š„ไปทๆ ผ็ญ–็•ฅใ€‚ๅœจๆ–นๅฏธไน‹้—ด๏ผŒ่งๅคฉๅœฐ๏ผŒๅœจ็ป†ๅพฎไน‹ๅค„๏ผŒๅฏŸไบบๆ€งใ€‚

  • ไปทๆ ผๆญง่ง† (Price Discrimination)๏ผšไฟƒไฝฟ็”จๆˆท่ฝฌๅŒ–ๅ’Œไป˜่ดนใ€‚

    • ไบŒ็บงไปทๆ ผๆญง่ง†๏ผˆ็‰ˆๆœฌๅŒ–ๅฎšไปท๏ผ‰๏ผš้€š่ฟ‡ๆŽจๅ‡บๅ…่ดน็‰ˆ vs ไธ“ไธš็‰ˆใ€ๆ ‡ๅ‡†ไผšๅ‘˜ vs VIP ไผšๅ‘˜๏ผŒๆ นๆฎ็”จๆˆท็š„่‡ชๆˆ‘้€‰ๆ‹ฉ๏ผˆWillingness to Pay๏ผ‰ๆฅๅˆ’ๅˆ†็พคไฝ“ใ€‚

    • ไธ‰็บงไปทๆ ผๆญง่ง†๏ผˆ็พคไฝ“ๅŒ–ๅฎšไปท๏ผ‰๏ผšๅฏน็‰นๅฎš็พคไฝ“ๆไพ›ไผ˜ๆƒ ๏ผŒๅฆ‚ๅญฆ็”Ÿไผ˜ๆƒ ใ€็‰นๅฎšๅœฐๅŒบไผ˜ๆƒ ใ€‚

  • ไปทๆ ผๅฟƒ็†ๅญฆๅบ”็”จ๏ผš

    • ้”šๅฎšๆ•ˆๅบ” (Anchoring Effect)๏ผš่ฎพ็ฝฎไธ€ไธช้ซ˜ไปท้”š็‚น๏ผˆไพ‹ๅฆ‚้ซ˜้ข็š„ๅนด่ดน๏ผ‰๏ผŒ่ฎฉไธญ้—ดไปท๏ผˆไพ‹ๅฆ‚ๆœˆ่ดน๏ผ‰็œ‹่ตทๆฅๆ›ดๅ…ทๆ€งไปทๆฏ”ใ€‚

    • ่ฏฑ้ฅตๆ•ˆๅบ” (Decoy Effect)๏ผšๆไพ›ไธ€ไธชไธๅฆ‚ๆ„ไฝ†ไปทๆ ผ็›ธ่ฟ‘็š„้€‰้กน๏ผŒ่ฎฉ็œŸๆญฃๆƒณๅ–็š„้€‰้กน่„ฑ้ข–่€Œๅ‡บใ€‚

2.3 ไบงๅ“็”จๆˆทไฝ“้ชŒไธŽ็•™ๅญ˜๏ผšๆž„ๅปบ้”ๅฎšๆ•ˆๅบ”ไธŽๅฏนๆŠ—่พน้™…ๆ•ˆ็”จ้€’ๅ‡ โ€‹

  • ๅˆฉ็”จๆฒ‰ๆฒกๆˆๆœฌ๏ผŒๅˆฉ็”จๆฒ‰ๆฒกๆˆๆœฌ๏ผŒๅˆฉ็”จๆ›ฟไปฃๆˆๆœฌๆž„ๅปบ้”ๅฎšๆ•ˆๅบ” (Lock-in Effect)๏ผš้€š่ฟ‡ๅผ•ๅฏผ็”จๆˆทๅœจไบงๅ“ไธญ็งฏ็ดฏๆ•ฐๆฎ๏ผˆไบ‘็›˜๏ผ‰ใ€็ฝ‘็ปœๅ…ณ็ณป๏ผˆ็คพไบค็ฝ‘็ปœ๏ผ‰ใ€ๅ“็‰Œๅฟ ่ฏš๏ผˆ็”Ÿๆ€็ณป็ปŸ๏ผ‰๏ผŒๅฐ†็”จๆˆท็š„ๆฒ‰ๆฒกๆŠ•ๅ…ฅ่ฝฌๅŒ–ไธบๆž้ซ˜็š„ๆ›ฟไปฃๆˆๆœฌ๏ผŒไปŽ่€Œๅธๅผ•็”จๆˆทๆŒ็ปญไฝฟ็”จใ€‚

  • ๅˆฉ็”จ่พน้™…ๆ•ˆ็”จ้€’ๅ‡๏ผŒๅฏนๆŠ—่พน้™…ๆ•ˆ็”จ้€’ๅ‡ๅขžๅŠ ็”จๆˆทๆดป่ทƒๅบฆใ€‚ๆทฑๅบฆๆ‹†่งฃๅ‘็Žฐ๏ผšๅฏไปฅ้€š่ฟ‡ๅฏปๆ‰พๅธ•็ดฏๆ‰˜ๆ”น่ฟ›็ฉบ้—ด๏ผŒไพ‹ๅฆ‚็ฒพ็ป†ๅŒ–็ฒพ็ฎ—ๆณ•ๆŠ•ๆ”พๅนฟๅ‘Šใ€‚ๆ›ด็งฏๆžๅœฐ๏ผŒๅฏไปฅ้€š่ฟ‡ๅฏปๆ‰พ้žๅŒ่ดจๅŒ–ไฝ“้ชŒใ€ๅผ•ๅ…ฅๅคš้˜ถๆขฏๅฅ–ๅŠฑ็ณป็ปŸใ€ๆŒ็ปญ่ฟญไปฃๆ–ฐๅŠŸ่ƒฝๆฅๅˆบๆฟ€็”จๆˆท๏ผŒๅฏนๆŠ—่พน้™…ๆ•ˆ็”จ้€’ๅ‡๏ผˆDiminishing Marginal Utility๏ผ‰ๅธฆๆฅ็š„ๆดป่ทƒๅบฆไธ‹้™ใ€‚

2.4 ไบงๅ“ๅ•†ไธšๅŒ–ไธŽ็”Ÿๆ€ๆž„ๅปบ๏ผš่ฟฝๆฑ‚ๅธ•็ดฏๆ‰˜ๆ”น่ฟ›ไธŽ็ฎก็†ๅค–้ƒจๆ€ง โ€‹

  • ๅ•†ไธšๅŒ–่ทฏๅพ„ไผ˜ๅŒ–๏ผš่ฟฝๆฑ‚ๅธ•็ดฏๆ‰˜ๆ”น่ฟ›ไธŽๅค–้ƒจๆ€ง็ฎก็†๏ผš้€š่ฟ‡ไธๆ–ญๅญฆไน ๅ’Œๅฎž่ทต๏ผŒๆˆ‘ไปฌ้œ€่ฆไฟๆŒๆ•้”ใ€‚ๆทฑๅ…ฅ็ ”็ฉถๅนฟๅ‘Šใ€ไผšๅ‘˜็ญ‰ๅ•†ไธšๅŒ–ๆจกๅผใ€‚็†ๆƒณ็š„ๅ•†ไธšๅŒ–ไผ˜ๅŒ–ๆ˜ฏๅœจไธ้™ไฝŽๆ ธๅฟƒ็”จๆˆทไฝ“้ชŒ็š„ๅ‰ๆไธ‹๏ผŒๅขžๅŠ ๆ–ฐ็š„ไปทๅ€ผๆˆ–ๆ”ถๅ…ฅๆต๏ผˆๅธ•็ดฏๆ‰˜ๆ”น่ฟ›๏ผ‰ใ€‚

  • ๅค–้ƒจๆ€ง็ฎก็†๏ผšๅนณๅฐๅž‹ไบงๅ“๏ผˆๅฆ‚ๅนฟๅ‘Šๅนณๅฐ๏ผ‰ๅ…ทๆœ‰ๅผบไบคๅ‰ๅค–้ƒจๆ€ง๏ผˆExternalities๏ผ‰ใ€‚้œ€่ฆๅนณ่กกๅนฟๅ‘Šๅ•†็š„ๅค–้ƒจๆ”ถ็›Š๏ผˆๅฏน็”จๆˆท็š„่ดŸๅค–้ƒจๆ€ง๏ผ‰ไธŽ็”จๆˆท็š„ๅค–้ƒจๆ”ถ็›Š๏ผˆๅฏนๅนฟๅ‘Šๅ•†็š„ๆญฃๅค–้ƒจๆ€ง๏ผ‰ใ€‚ๆŽจ่ๅคš้˜…่ฏป่ฏป็‰ฉ๏ผŒๆทฑๅ…ฅไบ†่งฃๅค–้ƒจๆ€ง็ฎก็†็ญ–็•ฅใ€‚

3. ๆ€ป็ป“๏ผšๆ–นๆณ•่ฎบๆ็‚ผไธŽ่Œไธšไฟฎๅ…ปโ€”โ€”ๅŸนๅ…ปโ€œ็ปๆตŽ็›ด่ง‰โ€ โ€‹

็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“๏ผŒไธๆ˜ฏ่ฎฉไฝ ๆˆไธบๆ•ฐๅญฆๅฎถ๏ผŒ่€Œๆ˜ฏ่ฎฉไฝ ๆˆไธบไธ€ๅๅ…ทๅค‡โ€œ็ปๆตŽ็›ด่ง‰โ€็š„ไบงๅ“ไบบใ€‚

  • ๆทฑๅ…ฅ็ ”็ฉถๅธ‚ๅœบไธŽ็ซžไบ‰ๅฏนๆ‰‹๏ผš่ฟ™ๆ˜ฏ่Žทๅ–ๅ‡†็กฎๅ†ณ็ญ–ไฟกๆฏ็š„ๅ‰ๆใ€‚

  • ๆŒ็ปญๅˆ›ๆ–ฐไธŽๆ”น่ฟ›๏ผšๅธ‚ๅœบๆ˜ฏไธๆ–ญๅ˜ๅŒ–็š„๏ผŒๆŠ€ๆœฏๆ–นๆณ•ๅœจไธๆ–ญๆ›ดๆ–ฐ๏ผŒไฟๆŒๆ•ๆ„Ÿๅบฆ๏ผŒๆ ธๅฟƒ็›ฎๆ ‡ไธไป…ๆ˜ฏไฝ“้ชŒๆ›ดๅฅฝ๏ผŒๆ›ดๆ˜ฏๅ•†ไธšๆจกๅž‹ๆ›ดๅฅๅบทใ€‚

  • ๅŸนๅ…ป็ปๆตŽ็›ด่ง‰๏ผˆSense๏ผ‰๏ผš้œ€่ฆ็†่ฎบๅญฆไน ๅ’Œๅคง้‡ๅฎž่ทตใ€‚่ง‚ๅฏŸ็”Ÿๆดปใ€ๆ‹†่งฃไบงๅ“๏ผˆไพ‹ๅฆ‚๏ผšไธบไป€ไนˆๆŸไบ›่ฝฏไปถๅชๅ…่ฎธไฝ ็”จไธ€ไธช่ฎพๅค‡๏ผŒ่€Œๆœ‰ไบ›ๅ…่ฎธไธ‰ไธช๏ผŸ่ฟ™ไนŸๆ˜ฏไธ€็ง่ต„ไบง็‰นๅฎšๆ€งๆƒ่กก๏ผ‰๏ผŒไปŽๅพฎ่ง‚ๅ’Œๅฎ่ง‚่ง’ๅบฆ้ข„ๅˆค่ถ‹ๅŠฟ๏ผŒๅšๅ‡บๅ‡†็กฎๅ†ณ็ญ–ใ€‚ๆŽจ่ไธ€ไบ›ไธ้”™่ฏป็‰ฉใ€‚

  • ๅ…ณๆณจๅค–้ƒจ็ŽฏๅขƒไธŽๆ”ฟ็ญ–ๆณ•่ง„๏ผšๅฎ่ง‚็ปๆตŽๆ—ฅๆ–ฐๆœˆๅผ‚๏ผŒๆ”ฟ็ญ–ใ€ๆณ•่ง„ใ€่กŒไธš็Žฏๅขƒ๏ผˆไพ‹ๅฆ‚๏ผšๆ•ฐๆฎ้š็งๆณ•่ง„ๅฏน็ฒพ็ป†ๅŒ–ๅนฟๅ‘Š็š„ๅฝฑๅ“๏ผ‰ๆ—ถๅˆปๅฝฑๅ“็€ไบงๅ“็š„ๅ‘ๅฑ•่พน็•Œใ€‚ๆŽจ่ๅคš่ฏป่ฏป็‰ฉ๏ผŒๅŠๆ—ถไบ†่งฃ็›ธๅ…ณๅ˜ๅŒ–ใ€‚

  • ไธๆ–ญๅญฆไน ๅ’Œๅฎž่ทต๏ผšๅœจไธๆ–ญๅฎž่ทตไธญ๏ผŒๅชๆœ‰ๅญฆไน ๅ’Œๆ€ป็ป“๏ผŒๆ‰่ƒฝไฟๆŒ็ซžไบ‰ๅŠ›ใ€‚็ปๆตŽๅญฆๆ€็ปด่ƒฝ่ฎฉๆˆ‘ไปฌๆ›ด็†ๆ™บๅœฐๅˆ†้…่ต„ๆบใ€ๆ›ด็ฒพๅ‡†ๅœฐๅฎšไปทใ€ๆ›ดๆทฑๅˆปๅœฐๆดžๅฏŸไบบๆ€ง๏ผŒๆœ€็ปˆๆ‰“้€ ๅ‡บๆ—ข็ฌฆๅˆ็”จๆˆทไปทๅ€ผๅˆๅ…ทๆœ‰ๅ•†ไธšๅฏๆŒ็ปญๆ€ง็š„ไบงๅ“ใ€‚

็ปๆตŽ็Žฏๅขƒ็žฌๆฏไธ‡ๅ˜๏ผŒๆŠ€ๆœฏๆ–นๆณ•่ฟญไปฃๆ—ฅๆ–ฐๆœˆๅผ‚๏ผŒไฝ†็†ๆ€ง็š„ๅพฎ่ง‚็ปๆตŽๅญฆๅŽŸ็†๏ผŒๅง‹็ปˆๆ˜ฏไธ€็›ๆŒ‡ๅผ•ๆ–นๅ‘็š„ไธ็ญ็ฏๅก”ใ€‚่ฎฉๆˆ‘ไปฌไปŽๅ•็บฏ็š„โ€œไฝ“้ชŒ่ฎพ่ฎกๅธˆโ€ๅ‘ๅ…ทๅค‡ๅ•†ไธšๆ ผๅฑ€ๅ’Œๆทฑ้‚ƒไบบๆ€ง็š„โ€œๅพฎ่ง‚็ปๆตŽๅญฆๅฎถโ€่ทจ่ถŠใ€‚

',36)])])}const _=e(i,[["render",o]]);export{c as __pageData,_ as default}; diff --git "a/assets/10.\344\272\247\345\223\201 Sense_05.\346\226\271\346\263\225\350\256\272_50.\347\224\250\347\273\217\346\265\216\345\255\246\346\200\235\347\273\264\345\201\232\344\272\247\345\223\201.md.D6Tetc-8.lean.js" "b/assets/10.\344\272\247\345\223\201 Sense_05.\346\226\271\346\263\225\350\256\272_50.\347\224\250\347\273\217\346\265\216\345\255\246\346\200\235\347\273\264\345\201\232\344\272\247\345\223\201.md.CUbjYJmR.lean.js" similarity index 93% rename from "assets/10.\344\272\247\345\223\201 Sense_05.\346\226\271\346\263\225\350\256\272_50.\347\224\250\347\273\217\346\265\216\345\255\246\346\200\235\347\273\264\345\201\232\344\272\247\345\223\201.md.D6Tetc-8.lean.js" rename to "assets/10.\344\272\247\345\223\201 Sense_05.\346\226\271\346\263\225\350\256\272_50.\347\224\250\347\273\217\346\265\216\345\255\246\346\200\235\347\273\264\345\201\232\344\272\247\345\223\201.md.CUbjYJmR.lean.js" index e53aec70..db7f3294 100644 --- "a/assets/10.\344\272\247\345\223\201 Sense_05.\346\226\271\346\263\225\350\256\272_50.\347\224\250\347\273\217\346\265\216\345\255\246\346\200\235\347\273\264\345\201\232\344\272\247\345\223\201.md.D6Tetc-8.lean.js" +++ "b/assets/10.\344\272\247\345\223\201 Sense_05.\346\226\271\346\263\225\350\256\272_50.\347\224\250\347\273\217\346\265\216\345\255\246\346\200\235\347\273\264\345\201\232\344\272\247\345\223\201.md.CUbjYJmR.lean.js" @@ -1 +1 @@ -import{_ as e,g as r,h as n,U as t}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const c=JSON.parse('{"title":"็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“","description":"ๅฐ†็ปๆตŽๅญฆๆ ธๅฟƒๅŽŸ็†่žๅˆ่ฟ›ไบงๅ“่ฎพ่ฎกๅ…จ็”Ÿๅ‘ฝๅ‘จๆœŸ็š„ๆ–นๆณ•่ฎบไฝ“็ณป๏ผŒๆž„ๅปบ็†ๆ€ง็š„โ€œไบงๅ“Senseโ€ใ€‚","frontmatter":{"date":"2024-01-01T16:00:00.000Z","title":"็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“","description":"ๅฐ†็ปๆตŽๅญฆๆ ธๅฟƒๅŽŸ็†่žๅˆ่ฟ›ไบงๅ“่ฎพ่ฎกๅ…จ็”Ÿๅ‘ฝๅ‘จๆœŸ็š„ๆ–นๆณ•่ฎบไฝ“็ณป๏ผŒๆž„ๅปบ็†ๆ€ง็š„โ€œไบงๅ“Senseโ€ใ€‚","categories":["ไบงๅ“ Sense"],"permalink":"/product-sense/using-economics-thinking"},"headers":[],"relativePath":"10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/50.็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“.md","filePath":"10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/50.็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“.md"}'),i={name:"10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/50.็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“.md"};function o(s,a,l,p,d,h){return n(),r("div",null,[...a[0]||(a[0]=[t("",36)])])}const _=e(i,[["render",o]]);export{c as __pageData,_ as default}; +import{_ as e,g as r,h as n,U as t}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const c=JSON.parse('{"title":"็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“","description":"ๅฐ†็ปๆตŽๅญฆๆ ธๅฟƒๅŽŸ็†่žๅˆ่ฟ›ไบงๅ“่ฎพ่ฎกๅ…จ็”Ÿๅ‘ฝๅ‘จๆœŸ็š„ๆ–นๆณ•่ฎบไฝ“็ณป๏ผŒๆž„ๅปบ็†ๆ€ง็š„โ€œไบงๅ“Senseโ€ใ€‚","frontmatter":{"date":"2024-01-01T16:00:00.000Z","title":"็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“","description":"ๅฐ†็ปๆตŽๅญฆๆ ธๅฟƒๅŽŸ็†่žๅˆ่ฟ›ไบงๅ“่ฎพ่ฎกๅ…จ็”Ÿๅ‘ฝๅ‘จๆœŸ็š„ๆ–นๆณ•่ฎบไฝ“็ณป๏ผŒๆž„ๅปบ็†ๆ€ง็š„โ€œไบงๅ“Senseโ€ใ€‚","categories":["ไบงๅ“ Sense"],"permalink":"/product-sense/using-economics-thinking"},"headers":[],"relativePath":"10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/50.็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“.md","filePath":"10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/50.็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“.md"}'),i={name:"10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/50.็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“.md"};function o(s,a,l,p,d,h){return n(),r("div",null,[...a[0]||(a[0]=[t("",36)])])}const _=e(i,[["render",o]]);export{c as __pageData,_ as default}; diff --git "a/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_00.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265\345\205\250\346\231\257\344\270\200\350\247\210.md.C4OWiCyw.js" "b/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_00.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265\345\205\250\346\231\257\344\270\200\350\247\210.md.Bq7k-xXb.js" similarity index 98% rename from "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_00.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265\345\205\250\346\231\257\344\270\200\350\247\210.md.C4OWiCyw.js" rename to "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_00.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265\345\205\250\346\231\257\344\270\200\350\247\210.md.Bq7k-xXb.js" index 3d2e7010..f8145633 100644 --- "a/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_00.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265\345\205\250\346\231\257\344\270\200\350\247\210.md.C4OWiCyw.js" +++ "b/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_00.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265\345\205\250\346\231\257\344\270\200\350\247\210.md.Bq7k-xXb.js" @@ -1 +1 @@ -import{A as i}from"./chunks/ArticleCardList.CRH3I_GT.js";import{g as a,h as n,i as t,z as r,S as o,l}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const s=[{title:"AI ็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎๆฑ‡ๆ€ป",icon:"๐Ÿš€",color:"#f97316",articles:[{title:"ๅฃฐๆ˜Žๅผๅคšๆ™บ่ƒฝไฝ“ๅๅŒ๏ผšๅŸบไบŽ Claude Agent SDK ๆž„ๅปบๆทฑๅบฆ็ ”็ฉถ็ณป็ปŸ",url:"/ai-agent/deepresearch-agent",description:"ๅฏนๅคๆ‚็ ”็ฉถไปปๅŠกๆ—ถ๏ผŒๅ•ๆ™บ่ƒฝไฝ“๏ผˆSingle-Agent๏ผ‰ๅธธๅ› ไธŠไธ‹ๆ–‡็จ€้‡Šๅ’Œ้€ป่พ‘็–ฒๅŠณๅฏผ่‡ดไบงๅ‡บ่ดจ้‡ไธ‹้™ใ€‚ๆœฌๆ–‡ๅŸบไบŽ Claude Agent SDK ๆŽข่ฎจไบ†ๅคšๆ™บ่ƒฝไฝ“็ณป็ปŸ๏ผˆMAS๏ผ‰็š„ๅทฅ็จ‹ๅŒ–่ฝๅœฐใ€‚้€š่ฟ‡โ€œLead + Subagentโ€็š„ๅฃฐๆ˜Žๅผๆžถๆž„๏ผŒๆˆ‘ไปฌๅฐ†ๆทฑๅบฆ็ ”็ฉถๆ‹†่งฃไธบๆœ็ดขใ€้‡ๅŒ–ๅˆ†ๆžใ€ๅฏ่ง†ๅŒ–็ป˜ๅ›พไธŽ็ป“ๆž„ๅŒ–ๅ†™ไฝœๅ››ไธช็‹ฌ็ซ‹็Žฏ่Š‚ใ€‚"},{title:"ๅ‘Šๅˆซๆ‰‹ๅŠจ Loop๏ผšๅ€ŸๅŠฉ Claude Agent SDK ๅฎž็Žฐ Agent ็š„ๅทฅ็จ‹ๅŒ–้—ญ็Žฏ",url:"/ai-practice/claude-agent-sdk-basic-build",description:"ๅœจ Agent ๆŠ€ๆœฏๅฟซ้€Ÿ่ตฐๅ‘ๆˆ็†Ÿ็š„ไปŠๅคฉ๏ผŒๅฆ‚ไฝ•ไฝŽๆˆๆœฌๆž„ๅปบๅ…ทๅค‡โ€œ่‡ชไธปๆดžๅฏŸโ€่ƒฝๅŠ›็š„ๆ™บ่ƒฝไฝ“๏ผŸๆœฌๆ–‡ๆทฑๅบฆๆ‹†่งฃ Anthropic ๅฎ˜ๆ–นๆŽจๅ‡บ็š„ Claude Agent SDK๏ผŒ่งฃๆžๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆ‰˜็ฎก Agent Loop ๅ’Œไผš่ฏๆŒไน…ๅŒ–ๆœบๅˆถ๏ผŒ่งฃๅ†ณ Agent ๅผ€ๅ‘ไธญ็š„็Šถๆ€็ฎก็†้šพ้ข˜ใ€‚ๆ–‡็ซ ้€š่ฟ‡ไปŽๆ— ็Šถๆ€ไบคไบ’ๅˆฐๅ…ทๅค‡ๆตๅผ่พ“ๅ‡บ่ƒฝๅŠ›็š„ TUI ่‡ชๅŠจๅŒ–ๅทฅๅ…ท่ฟ›้˜ถๅฎžๆˆ˜๏ผŒๅฑ•็คบไบ†ๆž„ๅปบไฝŽๆˆๆœฌใ€้ซ˜ๅฏ็”จ AI ๅŽŸ็”Ÿๅบ”็”จ็š„ๅฎŒๆ•ด่ทฏๅพ„ใ€‚"},{title:"ไธ€ๆฌก็”ฑ Product Sense ้ฉฑๅŠจ็š„ Agent ๆž้™ๅฎž่ทต",url:"/ai-practice/math-bot",description:"ๆœฌๆ–‡่ฎฐๅฝ•ไบ†ๅœจไธ€ๆฌกๆž้™ๆŒ‘ๆˆ˜่ต›ไธญ๏ผŒๆˆ‘ไปฌ้€š่ฟ‡ๅฏน K12 ่ต›้“็”จๆˆท็—›็‚น็š„็ฒพๅ‡†โ€œ่ง†่ง’ๅˆ‡ๆขโ€๏ผŒๆ‰“้€ ๅ‡บไธ€ๆฌพๆŽˆไบบไปฅๆธ”็š„โ€œๆ•ฐๅญฆ่พ…ๅฏผๅฏผๅธˆโ€ๅนถๆ–ฉ่Žทๅคงๅฅ–๏ผŒๅนถๆŒ‡ๅ‡บ Product Sense ๅฏน Agent ๆญๅปบ็š„้‡่ฆๆ€งใ€‚"},{title:"้›ถไปฃ็ ไธ็ญ‰ไบŽ้›ถ้€ป่พ‘๏ผš็ป“ๆž„ๅŒ– Prompt ้ฉฑๅŠจไธ‹็š„ Agent ๆญๅปบๅฎžๆˆ˜",url:"/ai-practice/poetry-bot",description:"ๅฎŒ่ฎฐๅฝ•ไบ†่ฏ—ๆญŒๅฐ็ฒพ็ต Agent ๆญๅปบๅฎž่ทต๏ผŒๅนถๆŒ‡ๅ‡บ็ป“ๆž„ๅŒ– Prompt ๅฏน Agent ๆญๅปบ็š„้‡่ฆๆ€งใ€‚"}]},{title:"Agent ๅŽŸ็†ใ€็ป„ไปถไธŽๆž„ๅปบๆจกๅผ",icon:"๐Ÿ“š",color:"#6366f1",articles:[{title:"ไปŽๆ็คบ่ฏๅˆฐๆ•ฐๅญ—ๅ‘˜ๅทฅ๏ผšAI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐ",url:"/ai-agent/overview",description:"ๆœฌๆ–‡ๆ˜ฏไธ€็ฏ‡ๅ…ณไบŽ AI Agent ็š„ๅ…จๆ™ฏๆทฑๅบฆ็ปผ่ฟฐ๏ผŒๆ—จๅœจ่งฃๆž„ๆ™บ่ƒฝไฝ“ๅฆ‚ไฝ•ไปŽ็ฎ€ๅ•็š„ Prompt ๅ“ๅบ”่€…๏ผŒๆผ”ๅ˜ไธบๅ…ทๅค‡่‡ชไธป็›ฎๆ ‡ๆ‹†่งฃใ€้•ฟ็ŸญๆœŸ่ฎฐๅฟ†ไธŽๅคๆ‚็Žฏๅขƒไบคไบ’่ƒฝๅŠ›็š„โ€œๆ‰ง่กŒ่€…โ€ใ€‚"},{title:"ๆŽขๅฏป Agent ๅ†ณ็ญ–ไธญๆžข๏ผš่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„่ง„ๅˆ’่Œƒๅผ",url:"/ai-agent/planning-module",description:"ๆœฌๆ–‡ๆทฑๅบฆ่งฃๆž„ไบ† Agent ่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„ๆ ธๅฟƒ่ทฏๅพ„๏ผšไปŽไปปๅŠกๅˆ†่งฃ็š„้™ไฝŽ็†ตๅ€ผ๏ผŒๅˆฐ่‡ชๆˆ‘ๅๆ€็š„้—ญ็ŽฏๆŽงๅˆถใ€‚้€š่ฟ‡ๅฏนๆฏ”โ€œ่พน่ตฐ่พน็œ‹โ€็š„ ReAct ๅŠจๆ€ๅ“ๅบ”ๆจกๅผไธŽโ€œ่ฐ‹ๅฎšๅŽๅŠจโ€็š„ Plan-and-Execute ้ข„็ผ–ๆŽ’ๆจกๅผ๏ผŒๆœฌๆ–‡ๆญ็คบไบ†ๅฆ‚ไฝ•้’ˆๅฏน้•ฟ้“พ่ทฏๅทฅ็จ‹ไปปๅŠกๆž„ๅปบ็จณๅฅ็š„ๅ†ณ็ญ–่Œƒๅผ๏ผŒๅŠฉไฝ ๅฎŒๆˆไปŽโ€œ็ฎ€ๅ•ๆ็คบ่ฏโ€ๅˆฐโ€œๅคๆ‚ๆžถๆž„่ฎพ่ฎกโ€็š„่ฎค็Ÿฅ่ทƒ่ฟใ€‚"},{title:"ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผš้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต",url:"/ai-agent/composition-ai-components",description:"้ขๅฏนๅฑ‚ๅ‡บไธ็ฉท็š„ Promptใ€MCPใ€Skills ๅ’Œ Subagents๏ผŒๅพˆๅคšๅผ€ๅ‘่€…ๅ’Œไบงๅ“็ป็†ๅธธๆ„Ÿๅˆฐๅ›ฐๆƒ‘๏ผš่ฟ™ไบ›็ป„ไปถ็ฉถ็ซŸๆ˜ฏ้‡ๅค้€ ่ฝฎๅญ๏ผŒ่ฟ˜ๆ˜ฏๅ„ๅธๅ…ถ่Œ็š„็งฏๆœจ๏ผŸๆœฌๆ–‡ๅฐ†ๆทฑๅบฆๆ‹†่งฃ Agentic ็”Ÿๆ€็š„ไบ”ๅคงๆ ธๅฟƒๆ”ฏๆŸฑ๏ผŒๆญ็คบๅฆ‚ไฝ•้€š่ฟ‡ไผ˜้›…็š„ๆžถๆž„่ฎพ่ฎกๅฎž็ŽฐๅๅŒ้—ญ็Žฏ๏ผŒๅฐ†้›ถๆ•ฃ็š„ AI ็ป„ไปถๆ‹ผ่ฃ…ๆˆไธ€ๅฅ—ๅฏๆŒ็ปญ่ฟ›ๅŒ–็š„ AI ๅŽŸ็”Ÿๆ“ไฝœ็ณป็ปŸ๏ผŒๆŠŠ็ขŽ็‰‡ๅŒ–็š„ AI ่ƒฝๅŠ›่ฝฌๅŒ–ไธบ้ซ˜ๅฏ็”จ็š„็”ŸไบงๅŠ›ๆตใ€‚"},{title:"ๅฆ‚ไฝ•็ผ–ๅ†™ไธ€ไธช้ซ˜ๅฏ็”จ็š„ Agent Skill๏ผŸไปŽๆœบๅˆถๆ‹†่งฃๅˆฐ็”Ÿไบงๅฎž่ทตๆŒ‡ๅ—",url:"/ai-agent/skills-practice-summary",description:"ๅคง่ฏญ่จ€ๆจกๅž‹ๅœจ็‰นๅฎšๅทฅ็จ‹้ข†ๅŸŸๅธธ้ขไธดโ€œ็Ÿฅ่€Œไธ่กŒโ€็š„ๅ›ฐๅขƒใ€‚ๆœฌๆ–‡ๆทฑๅบฆๆ‹†่งฃ Anthropic ๆœ€ๆ–ฐๆŽจๅ‡บ็š„ Agent Skills ่ง„่Œƒ๏ผŒๆญ็ง˜ๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆธ่ฟ›ๅผๆŠซ้œฒไธŽไธ‰็บงๅŠ ่ฝฝๆœบๅˆถ๏ผŒๅœจๆŽงๅˆถ Token ๆˆๆœฌ็š„ๅŒๆ—ถๆ˜พ่‘—ๆๅ‡ Agent ็š„ไปปๅŠกๆ‰ง่กŒ็ฒพๅบฆใ€‚ๆ–‡็ซ ๆถต็›–ไบ†ไปŽๆ–‡ไปถๅคนๆžถๆž„่ฎพ่ฎกๅˆฐๅฎžๆˆ˜ git-workflow ็ผ–ๅ†™็š„ๅ…จๆต็จ‹ๆŒ‡ๅ—๏ผŒๅŠฉไฝ ๅฐ†้›ถๆ•ฃ็š„ Prompt ่ฝฌๅŒ–ไธบๆ ‡ๅ‡†ๅŒ–็š„ๆ•ฐๅญ—่ต„ไบงใ€‚"}]},{title:"AI ็›ธๅ…ณ่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่",icon:"๐Ÿ› ๏ธ",color:"#06b6d4",articles:[{title:"AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่",url:"/ai-learning/tools-assistant",description:"ไธบไพฟไบŽ้ซ˜ๆ•ˆๅˆฉ็”จ AI ๅทฅๅ…ทๆๅ‡ๅญฆไน ใ€ๆœ็ดขๅ’Œๅˆ›ไฝœๆ•ˆ็އ๏ผŒๆœฌๆ–‡็ณป็ปŸๆ•ด็†ไบ†ไธปๆต็š„ AI ๅŠฉๆ‰‹ไธŽๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐ็›ธๅ…ณ่ต„ๆบใ€‚"},{title:"LLM API ๆœๅŠกๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—",url:"/ai-learning/llm-api-resources",description:"็ณป็ปŸๆขณ็†ไบ†ๅ›ฝ้™…ไธŽๅ›ฝๅ†…ไธปๆต LLM API ๆœๅŠกๅนณๅฐ๏ผŒๆถต็›–ๅฎ˜ๆ–น็›ด่ฟžใ€่šๅˆไปฃ็†็ญ‰ๆ–นๆกˆ้€‰ๆ‹ฉ๏ผŒไธบๅผ€ๅ‘่€…ๆไพ›ๅ…จ้ข็š„้€‰ๅž‹ๅ‚่€ƒไธŽๆŽฅๅ…ฅๆŒ‡ๅ—ใ€‚"},{title:"AI ไธŽๆ•ฐๅญฆๆ€็ปด็›ธๅ…ณไนฆ็ฑๆŽจ่",url:"/growth/books#_1-ai-ไธŽๆ•ฐๅญฆๆ€็ปด",description:"็ณป็ปŸๆ•ด็†ใ€ๆฑ‡ๆ€ปไบ† AI ไธŽๆ•ฐๅญฆๆ€็ปด็š„็›ธๅ…ณไนฆ็ฑ๏ผŒไพฟไบŽ็ณป็ปŸๅญฆไน ไธŽ็†่งฃ AI๏ผŒไปŽ่€Œๆๅ‡ AI ๅบ”็”จ็š„ๆ•ˆ็އไธŽๆ•ˆๆžœใ€‚"}]}],u=JSON.parse('{"title":"AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ","description":"ๅ…จๆ™ฏๅผ AI ๅญฆไน ไธŽๅฎž่ทต็Ÿฅ่ฏ†ๅบ“๏ผŒ็ณป็ปŸๆฒ‰ๆท€ AI Agent ่ฎพ่ฎกๆจกๅผใ€ๅคงๆจกๅž‹ๅทฅ็จ‹ๅŒ–่ฝๅœฐใ€ๅผ€ๆบๅฐ้กน็›ฎๅŠ็คพๅŒบๆดปๅŠจ็ป้ชŒๆ€ป็ป“๏ผŒๆŒ็ปญ่ฟญไปฃไปŽ็†่ฎบๅˆฐ็”Ÿไบง็š„ๅฎŒๆ•ดๆ–นๆณ•่ฎบใ€‚","frontmatter":{"title":"AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ","date":"2026-03-15T16:00:00.000Z","description":"ๅ…จๆ™ฏๅผ AI ๅญฆไน ไธŽๅฎž่ทต็Ÿฅ่ฏ†ๅบ“๏ผŒ็ณป็ปŸๆฒ‰ๆท€ AI Agent ่ฎพ่ฎกๆจกๅผใ€ๅคงๆจกๅž‹ๅทฅ็จ‹ๅŒ–่ฝๅœฐใ€ๅผ€ๆบๅฐ้กน็›ฎๅŠ็คพๅŒบๆดปๅŠจ็ป้ชŒๆ€ป็ป“๏ผŒๆŒ็ปญ่ฟญไปฃไปŽ็†่ฎบๅˆฐ็”Ÿไบง็š„ๅฎŒๆ•ดๆ–นๆณ•่ฎบใ€‚","coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/llm_learning_bg_1.png","permalink":"/ai-learning/overview","categories":["ai-practice"],"tags":["AI","LLM"]},"headers":[],"relativePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/00.AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ.md","filePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/00.AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ.md"}'),c={name:"20.AI ๅญฆไน ไธŽๅฎž่ทต/00.AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ.md"},I=Object.assign(c,{setup(A){return(g,e)=>(n(),a("div",null,[e[0]||(e[0]=t("div",{style:{display:"none"},hidden:"true","aria-hidden":"true"},"Are you an LLM? You can read better optimized documentation at /20.AI ๅญฆไน ไธŽๅฎž่ทต/00.AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ.md for this page in Markdown format",-1)),e[1]||(e[1]=t("h1",{id:"ai-ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ",tabindex:"-1"},[o("AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ "),t("a",{class:"header-anchor",href:"#ai-ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ","aria-label":"Permalink to โ€œAI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏโ€"},"โ€‹")],-1)),r(i,{categories:l(s)},null,8,["categories"])]))}});export{u as __pageData,I as default}; +import{A as i}from"./chunks/ArticleCardList.DFlNODKA.js";import{g as a,h as n,i as t,z as r,S as o,l}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const s=[{title:"AI ็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎๆฑ‡ๆ€ป",icon:"๐Ÿš€",color:"#f97316",articles:[{title:"ๅฃฐๆ˜Žๅผๅคšๆ™บ่ƒฝไฝ“ๅๅŒ๏ผšๅŸบไบŽ Claude Agent SDK ๆž„ๅปบๆทฑๅบฆ็ ”็ฉถ็ณป็ปŸ",url:"/ai-agent/deepresearch-agent",description:"ๅฏนๅคๆ‚็ ”็ฉถไปปๅŠกๆ—ถ๏ผŒๅ•ๆ™บ่ƒฝไฝ“๏ผˆSingle-Agent๏ผ‰ๅธธๅ› ไธŠไธ‹ๆ–‡็จ€้‡Šๅ’Œ้€ป่พ‘็–ฒๅŠณๅฏผ่‡ดไบงๅ‡บ่ดจ้‡ไธ‹้™ใ€‚ๆœฌๆ–‡ๅŸบไบŽ Claude Agent SDK ๆŽข่ฎจไบ†ๅคšๆ™บ่ƒฝไฝ“็ณป็ปŸ๏ผˆMAS๏ผ‰็š„ๅทฅ็จ‹ๅŒ–่ฝๅœฐใ€‚้€š่ฟ‡โ€œLead + Subagentโ€็š„ๅฃฐๆ˜Žๅผๆžถๆž„๏ผŒๆˆ‘ไปฌๅฐ†ๆทฑๅบฆ็ ”็ฉถๆ‹†่งฃไธบๆœ็ดขใ€้‡ๅŒ–ๅˆ†ๆžใ€ๅฏ่ง†ๅŒ–็ป˜ๅ›พไธŽ็ป“ๆž„ๅŒ–ๅ†™ไฝœๅ››ไธช็‹ฌ็ซ‹็Žฏ่Š‚ใ€‚"},{title:"ๅ‘Šๅˆซๆ‰‹ๅŠจ Loop๏ผšๅ€ŸๅŠฉ Claude Agent SDK ๅฎž็Žฐ Agent ็š„ๅทฅ็จ‹ๅŒ–้—ญ็Žฏ",url:"/ai-practice/claude-agent-sdk-basic-build",description:"ๅœจ Agent ๆŠ€ๆœฏๅฟซ้€Ÿ่ตฐๅ‘ๆˆ็†Ÿ็š„ไปŠๅคฉ๏ผŒๅฆ‚ไฝ•ไฝŽๆˆๆœฌๆž„ๅปบๅ…ทๅค‡โ€œ่‡ชไธปๆดžๅฏŸโ€่ƒฝๅŠ›็š„ๆ™บ่ƒฝไฝ“๏ผŸๆœฌๆ–‡ๆทฑๅบฆๆ‹†่งฃ Anthropic ๅฎ˜ๆ–นๆŽจๅ‡บ็š„ Claude Agent SDK๏ผŒ่งฃๆžๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆ‰˜็ฎก Agent Loop ๅ’Œไผš่ฏๆŒไน…ๅŒ–ๆœบๅˆถ๏ผŒ่งฃๅ†ณ Agent ๅผ€ๅ‘ไธญ็š„็Šถๆ€็ฎก็†้šพ้ข˜ใ€‚ๆ–‡็ซ ้€š่ฟ‡ไปŽๆ— ็Šถๆ€ไบคไบ’ๅˆฐๅ…ทๅค‡ๆตๅผ่พ“ๅ‡บ่ƒฝๅŠ›็š„ TUI ่‡ชๅŠจๅŒ–ๅทฅๅ…ท่ฟ›้˜ถๅฎžๆˆ˜๏ผŒๅฑ•็คบไบ†ๆž„ๅปบไฝŽๆˆๆœฌใ€้ซ˜ๅฏ็”จ AI ๅŽŸ็”Ÿๅบ”็”จ็š„ๅฎŒๆ•ด่ทฏๅพ„ใ€‚"},{title:"ไธ€ๆฌก็”ฑ Product Sense ้ฉฑๅŠจ็š„ Agent ๆž้™ๅฎž่ทต",url:"/ai-practice/math-bot",description:"ๆœฌๆ–‡่ฎฐๅฝ•ไบ†ๅœจไธ€ๆฌกๆž้™ๆŒ‘ๆˆ˜่ต›ไธญ๏ผŒๆˆ‘ไปฌ้€š่ฟ‡ๅฏน K12 ่ต›้“็”จๆˆท็—›็‚น็š„็ฒพๅ‡†โ€œ่ง†่ง’ๅˆ‡ๆขโ€๏ผŒๆ‰“้€ ๅ‡บไธ€ๆฌพๆŽˆไบบไปฅๆธ”็š„โ€œๆ•ฐๅญฆ่พ…ๅฏผๅฏผๅธˆโ€ๅนถๆ–ฉ่Žทๅคงๅฅ–๏ผŒๅนถๆŒ‡ๅ‡บ Product Sense ๅฏน Agent ๆญๅปบ็š„้‡่ฆๆ€งใ€‚"},{title:"้›ถไปฃ็ ไธ็ญ‰ไบŽ้›ถ้€ป่พ‘๏ผš็ป“ๆž„ๅŒ– Prompt ้ฉฑๅŠจไธ‹็š„ Agent ๆญๅปบๅฎžๆˆ˜",url:"/ai-practice/poetry-bot",description:"ๅฎŒ่ฎฐๅฝ•ไบ†่ฏ—ๆญŒๅฐ็ฒพ็ต Agent ๆญๅปบๅฎž่ทต๏ผŒๅนถๆŒ‡ๅ‡บ็ป“ๆž„ๅŒ– Prompt ๅฏน Agent ๆญๅปบ็š„้‡่ฆๆ€งใ€‚"}]},{title:"Agent ๅŽŸ็†ใ€็ป„ไปถไธŽๆž„ๅปบๆจกๅผ",icon:"๐Ÿ“š",color:"#6366f1",articles:[{title:"ไปŽๆ็คบ่ฏๅˆฐๆ•ฐๅญ—ๅ‘˜ๅทฅ๏ผšAI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐ",url:"/ai-agent/overview",description:"ๆœฌๆ–‡ๆ˜ฏไธ€็ฏ‡ๅ…ณไบŽ AI Agent ็š„ๅ…จๆ™ฏๆทฑๅบฆ็ปผ่ฟฐ๏ผŒๆ—จๅœจ่งฃๆž„ๆ™บ่ƒฝไฝ“ๅฆ‚ไฝ•ไปŽ็ฎ€ๅ•็š„ Prompt ๅ“ๅบ”่€…๏ผŒๆผ”ๅ˜ไธบๅ…ทๅค‡่‡ชไธป็›ฎๆ ‡ๆ‹†่งฃใ€้•ฟ็ŸญๆœŸ่ฎฐๅฟ†ไธŽๅคๆ‚็Žฏๅขƒไบคไบ’่ƒฝๅŠ›็š„โ€œๆ‰ง่กŒ่€…โ€ใ€‚"},{title:"ๆŽขๅฏป Agent ๅ†ณ็ญ–ไธญๆžข๏ผš่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„่ง„ๅˆ’่Œƒๅผ",url:"/ai-agent/planning-module",description:"ๆœฌๆ–‡ๆทฑๅบฆ่งฃๆž„ไบ† Agent ่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„ๆ ธๅฟƒ่ทฏๅพ„๏ผšไปŽไปปๅŠกๅˆ†่งฃ็š„้™ไฝŽ็†ตๅ€ผ๏ผŒๅˆฐ่‡ชๆˆ‘ๅๆ€็š„้—ญ็ŽฏๆŽงๅˆถใ€‚้€š่ฟ‡ๅฏนๆฏ”โ€œ่พน่ตฐ่พน็œ‹โ€็š„ ReAct ๅŠจๆ€ๅ“ๅบ”ๆจกๅผไธŽโ€œ่ฐ‹ๅฎšๅŽๅŠจโ€็š„ Plan-and-Execute ้ข„็ผ–ๆŽ’ๆจกๅผ๏ผŒๆœฌๆ–‡ๆญ็คบไบ†ๅฆ‚ไฝ•้’ˆๅฏน้•ฟ้“พ่ทฏๅทฅ็จ‹ไปปๅŠกๆž„ๅปบ็จณๅฅ็š„ๅ†ณ็ญ–่Œƒๅผ๏ผŒๅŠฉไฝ ๅฎŒๆˆไปŽโ€œ็ฎ€ๅ•ๆ็คบ่ฏโ€ๅˆฐโ€œๅคๆ‚ๆžถๆž„่ฎพ่ฎกโ€็š„่ฎค็Ÿฅ่ทƒ่ฟใ€‚"},{title:"ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผš้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต",url:"/ai-agent/composition-ai-components",description:"้ขๅฏนๅฑ‚ๅ‡บไธ็ฉท็š„ Promptใ€MCPใ€Skills ๅ’Œ Subagents๏ผŒๅพˆๅคšๅผ€ๅ‘่€…ๅ’Œไบงๅ“็ป็†ๅธธๆ„Ÿๅˆฐๅ›ฐๆƒ‘๏ผš่ฟ™ไบ›็ป„ไปถ็ฉถ็ซŸๆ˜ฏ้‡ๅค้€ ่ฝฎๅญ๏ผŒ่ฟ˜ๆ˜ฏๅ„ๅธๅ…ถ่Œ็š„็งฏๆœจ๏ผŸๆœฌๆ–‡ๅฐ†ๆทฑๅบฆๆ‹†่งฃ Agentic ็”Ÿๆ€็š„ไบ”ๅคงๆ ธๅฟƒๆ”ฏๆŸฑ๏ผŒๆญ็คบๅฆ‚ไฝ•้€š่ฟ‡ไผ˜้›…็š„ๆžถๆž„่ฎพ่ฎกๅฎž็ŽฐๅๅŒ้—ญ็Žฏ๏ผŒๅฐ†้›ถๆ•ฃ็š„ AI ็ป„ไปถๆ‹ผ่ฃ…ๆˆไธ€ๅฅ—ๅฏๆŒ็ปญ่ฟ›ๅŒ–็š„ AI ๅŽŸ็”Ÿๆ“ไฝœ็ณป็ปŸ๏ผŒๆŠŠ็ขŽ็‰‡ๅŒ–็š„ AI ่ƒฝๅŠ›่ฝฌๅŒ–ไธบ้ซ˜ๅฏ็”จ็š„็”ŸไบงๅŠ›ๆตใ€‚"},{title:"ๅฆ‚ไฝ•็ผ–ๅ†™ไธ€ไธช้ซ˜ๅฏ็”จ็š„ Agent Skill๏ผŸไปŽๆœบๅˆถๆ‹†่งฃๅˆฐ็”Ÿไบงๅฎž่ทตๆŒ‡ๅ—",url:"/ai-agent/skills-practice-summary",description:"ๅคง่ฏญ่จ€ๆจกๅž‹ๅœจ็‰นๅฎšๅทฅ็จ‹้ข†ๅŸŸๅธธ้ขไธดโ€œ็Ÿฅ่€Œไธ่กŒโ€็š„ๅ›ฐๅขƒใ€‚ๆœฌๆ–‡ๆทฑๅบฆๆ‹†่งฃ Anthropic ๆœ€ๆ–ฐๆŽจๅ‡บ็š„ Agent Skills ่ง„่Œƒ๏ผŒๆญ็ง˜ๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆธ่ฟ›ๅผๆŠซ้œฒไธŽไธ‰็บงๅŠ ่ฝฝๆœบๅˆถ๏ผŒๅœจๆŽงๅˆถ Token ๆˆๆœฌ็š„ๅŒๆ—ถๆ˜พ่‘—ๆๅ‡ Agent ็š„ไปปๅŠกๆ‰ง่กŒ็ฒพๅบฆใ€‚ๆ–‡็ซ ๆถต็›–ไบ†ไปŽๆ–‡ไปถๅคนๆžถๆž„่ฎพ่ฎกๅˆฐๅฎžๆˆ˜ git-workflow ็ผ–ๅ†™็š„ๅ…จๆต็จ‹ๆŒ‡ๅ—๏ผŒๅŠฉไฝ ๅฐ†้›ถๆ•ฃ็š„ Prompt ่ฝฌๅŒ–ไธบๆ ‡ๅ‡†ๅŒ–็š„ๆ•ฐๅญ—่ต„ไบงใ€‚"}]},{title:"AI ็›ธๅ…ณ่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่",icon:"๐Ÿ› ๏ธ",color:"#06b6d4",articles:[{title:"AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่",url:"/ai-learning/tools-assistant",description:"ไธบไพฟไบŽ้ซ˜ๆ•ˆๅˆฉ็”จ AI ๅทฅๅ…ทๆๅ‡ๅญฆไน ใ€ๆœ็ดขๅ’Œๅˆ›ไฝœๆ•ˆ็އ๏ผŒๆœฌๆ–‡็ณป็ปŸๆ•ด็†ไบ†ไธปๆต็š„ AI ๅŠฉๆ‰‹ไธŽๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐ็›ธๅ…ณ่ต„ๆบใ€‚"},{title:"LLM API ๆœๅŠกๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—",url:"/ai-learning/llm-api-resources",description:"็ณป็ปŸๆขณ็†ไบ†ๅ›ฝ้™…ไธŽๅ›ฝๅ†…ไธปๆต LLM API ๆœๅŠกๅนณๅฐ๏ผŒๆถต็›–ๅฎ˜ๆ–น็›ด่ฟžใ€่šๅˆไปฃ็†็ญ‰ๆ–นๆกˆ้€‰ๆ‹ฉ๏ผŒไธบๅผ€ๅ‘่€…ๆไพ›ๅ…จ้ข็š„้€‰ๅž‹ๅ‚่€ƒไธŽๆŽฅๅ…ฅๆŒ‡ๅ—ใ€‚"},{title:"AI ไธŽๆ•ฐๅญฆๆ€็ปด็›ธๅ…ณไนฆ็ฑๆŽจ่",url:"/growth/books#_1-ai-ไธŽๆ•ฐๅญฆๆ€็ปด",description:"็ณป็ปŸๆ•ด็†ใ€ๆฑ‡ๆ€ปไบ† AI ไธŽๆ•ฐๅญฆๆ€็ปด็š„็›ธๅ…ณไนฆ็ฑ๏ผŒไพฟไบŽ็ณป็ปŸๅญฆไน ไธŽ็†่งฃ AI๏ผŒไปŽ่€Œๆๅ‡ AI ๅบ”็”จ็š„ๆ•ˆ็އไธŽๆ•ˆๆžœใ€‚"}]}],u=JSON.parse('{"title":"AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ","description":"ๅ…จๆ™ฏๅผ AI ๅญฆไน ไธŽๅฎž่ทต็Ÿฅ่ฏ†ๅบ“๏ผŒ็ณป็ปŸๆฒ‰ๆท€ AI Agent ่ฎพ่ฎกๆจกๅผใ€ๅคงๆจกๅž‹ๅทฅ็จ‹ๅŒ–่ฝๅœฐใ€ๅผ€ๆบๅฐ้กน็›ฎๅŠ็คพๅŒบๆดปๅŠจ็ป้ชŒๆ€ป็ป“๏ผŒๆŒ็ปญ่ฟญไปฃไปŽ็†่ฎบๅˆฐ็”Ÿไบง็š„ๅฎŒๆ•ดๆ–นๆณ•่ฎบใ€‚","frontmatter":{"title":"AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ","date":"2026-03-15T16:00:00.000Z","description":"ๅ…จๆ™ฏๅผ AI ๅญฆไน ไธŽๅฎž่ทต็Ÿฅ่ฏ†ๅบ“๏ผŒ็ณป็ปŸๆฒ‰ๆท€ AI Agent ่ฎพ่ฎกๆจกๅผใ€ๅคงๆจกๅž‹ๅทฅ็จ‹ๅŒ–่ฝๅœฐใ€ๅผ€ๆบๅฐ้กน็›ฎๅŠ็คพๅŒบๆดปๅŠจ็ป้ชŒๆ€ป็ป“๏ผŒๆŒ็ปญ่ฟญไปฃไปŽ็†่ฎบๅˆฐ็”Ÿไบง็š„ๅฎŒๆ•ดๆ–นๆณ•่ฎบใ€‚","coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/llm_learning_bg_1.png","permalink":"/ai-learning/overview","categories":["ai-practice"],"tags":["AI","LLM"]},"headers":[],"relativePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/00.AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ.md","filePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/00.AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ.md"}'),c={name:"20.AI ๅญฆไน ไธŽๅฎž่ทต/00.AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ.md"},I=Object.assign(c,{setup(A){return(g,e)=>(n(),a("div",null,[e[0]||(e[0]=t("div",{style:{display:"none"},hidden:"true","aria-hidden":"true"},"Are you an LLM? You can read better optimized documentation at /20.AI ๅญฆไน ไธŽๅฎž่ทต/00.AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ.md for this page in Markdown format",-1)),e[1]||(e[1]=t("h1",{id:"ai-ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ",tabindex:"-1"},[o("AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ "),t("a",{class:"header-anchor",href:"#ai-ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ","aria-label":"Permalink to โ€œAI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏโ€"},"โ€‹")],-1)),r(i,{categories:l(s)},null,8,["categories"])]))}});export{u as __pageData,I as default}; diff --git "a/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_00.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265\345\205\250\346\231\257\344\270\200\350\247\210.md.C4OWiCyw.lean.js" "b/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_00.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265\345\205\250\346\231\257\344\270\200\350\247\210.md.Bq7k-xXb.lean.js" similarity index 98% rename from "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_00.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265\345\205\250\346\231\257\344\270\200\350\247\210.md.C4OWiCyw.lean.js" rename to "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_00.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265\345\205\250\346\231\257\344\270\200\350\247\210.md.Bq7k-xXb.lean.js" index 3d2e7010..f8145633 100644 --- "a/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_00.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265\345\205\250\346\231\257\344\270\200\350\247\210.md.C4OWiCyw.lean.js" +++ "b/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_00.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265\345\205\250\346\231\257\344\270\200\350\247\210.md.Bq7k-xXb.lean.js" @@ -1 +1 @@ -import{A as i}from"./chunks/ArticleCardList.CRH3I_GT.js";import{g as a,h as n,i as t,z as r,S as o,l}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const s=[{title:"AI ็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎๆฑ‡ๆ€ป",icon:"๐Ÿš€",color:"#f97316",articles:[{title:"ๅฃฐๆ˜Žๅผๅคšๆ™บ่ƒฝไฝ“ๅๅŒ๏ผšๅŸบไบŽ Claude Agent SDK ๆž„ๅปบๆทฑๅบฆ็ ”็ฉถ็ณป็ปŸ",url:"/ai-agent/deepresearch-agent",description:"ๅฏนๅคๆ‚็ ”็ฉถไปปๅŠกๆ—ถ๏ผŒๅ•ๆ™บ่ƒฝไฝ“๏ผˆSingle-Agent๏ผ‰ๅธธๅ› ไธŠไธ‹ๆ–‡็จ€้‡Šๅ’Œ้€ป่พ‘็–ฒๅŠณๅฏผ่‡ดไบงๅ‡บ่ดจ้‡ไธ‹้™ใ€‚ๆœฌๆ–‡ๅŸบไบŽ Claude Agent SDK ๆŽข่ฎจไบ†ๅคšๆ™บ่ƒฝไฝ“็ณป็ปŸ๏ผˆMAS๏ผ‰็š„ๅทฅ็จ‹ๅŒ–่ฝๅœฐใ€‚้€š่ฟ‡โ€œLead + Subagentโ€็š„ๅฃฐๆ˜Žๅผๆžถๆž„๏ผŒๆˆ‘ไปฌๅฐ†ๆทฑๅบฆ็ ”็ฉถๆ‹†่งฃไธบๆœ็ดขใ€้‡ๅŒ–ๅˆ†ๆžใ€ๅฏ่ง†ๅŒ–็ป˜ๅ›พไธŽ็ป“ๆž„ๅŒ–ๅ†™ไฝœๅ››ไธช็‹ฌ็ซ‹็Žฏ่Š‚ใ€‚"},{title:"ๅ‘Šๅˆซๆ‰‹ๅŠจ Loop๏ผšๅ€ŸๅŠฉ Claude Agent SDK ๅฎž็Žฐ Agent ็š„ๅทฅ็จ‹ๅŒ–้—ญ็Žฏ",url:"/ai-practice/claude-agent-sdk-basic-build",description:"ๅœจ Agent ๆŠ€ๆœฏๅฟซ้€Ÿ่ตฐๅ‘ๆˆ็†Ÿ็š„ไปŠๅคฉ๏ผŒๅฆ‚ไฝ•ไฝŽๆˆๆœฌๆž„ๅปบๅ…ทๅค‡โ€œ่‡ชไธปๆดžๅฏŸโ€่ƒฝๅŠ›็š„ๆ™บ่ƒฝไฝ“๏ผŸๆœฌๆ–‡ๆทฑๅบฆๆ‹†่งฃ Anthropic ๅฎ˜ๆ–นๆŽจๅ‡บ็š„ Claude Agent SDK๏ผŒ่งฃๆžๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆ‰˜็ฎก Agent Loop ๅ’Œไผš่ฏๆŒไน…ๅŒ–ๆœบๅˆถ๏ผŒ่งฃๅ†ณ Agent ๅผ€ๅ‘ไธญ็š„็Šถๆ€็ฎก็†้šพ้ข˜ใ€‚ๆ–‡็ซ ้€š่ฟ‡ไปŽๆ— ็Šถๆ€ไบคไบ’ๅˆฐๅ…ทๅค‡ๆตๅผ่พ“ๅ‡บ่ƒฝๅŠ›็š„ TUI ่‡ชๅŠจๅŒ–ๅทฅๅ…ท่ฟ›้˜ถๅฎžๆˆ˜๏ผŒๅฑ•็คบไบ†ๆž„ๅปบไฝŽๆˆๆœฌใ€้ซ˜ๅฏ็”จ AI ๅŽŸ็”Ÿๅบ”็”จ็š„ๅฎŒๆ•ด่ทฏๅพ„ใ€‚"},{title:"ไธ€ๆฌก็”ฑ Product Sense ้ฉฑๅŠจ็š„ Agent ๆž้™ๅฎž่ทต",url:"/ai-practice/math-bot",description:"ๆœฌๆ–‡่ฎฐๅฝ•ไบ†ๅœจไธ€ๆฌกๆž้™ๆŒ‘ๆˆ˜่ต›ไธญ๏ผŒๆˆ‘ไปฌ้€š่ฟ‡ๅฏน K12 ่ต›้“็”จๆˆท็—›็‚น็š„็ฒพๅ‡†โ€œ่ง†่ง’ๅˆ‡ๆขโ€๏ผŒๆ‰“้€ ๅ‡บไธ€ๆฌพๆŽˆไบบไปฅๆธ”็š„โ€œๆ•ฐๅญฆ่พ…ๅฏผๅฏผๅธˆโ€ๅนถๆ–ฉ่Žทๅคงๅฅ–๏ผŒๅนถๆŒ‡ๅ‡บ Product Sense ๅฏน Agent ๆญๅปบ็š„้‡่ฆๆ€งใ€‚"},{title:"้›ถไปฃ็ ไธ็ญ‰ไบŽ้›ถ้€ป่พ‘๏ผš็ป“ๆž„ๅŒ– Prompt ้ฉฑๅŠจไธ‹็š„ Agent ๆญๅปบๅฎžๆˆ˜",url:"/ai-practice/poetry-bot",description:"ๅฎŒ่ฎฐๅฝ•ไบ†่ฏ—ๆญŒๅฐ็ฒพ็ต Agent ๆญๅปบๅฎž่ทต๏ผŒๅนถๆŒ‡ๅ‡บ็ป“ๆž„ๅŒ– Prompt ๅฏน Agent ๆญๅปบ็š„้‡่ฆๆ€งใ€‚"}]},{title:"Agent ๅŽŸ็†ใ€็ป„ไปถไธŽๆž„ๅปบๆจกๅผ",icon:"๐Ÿ“š",color:"#6366f1",articles:[{title:"ไปŽๆ็คบ่ฏๅˆฐๆ•ฐๅญ—ๅ‘˜ๅทฅ๏ผšAI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐ",url:"/ai-agent/overview",description:"ๆœฌๆ–‡ๆ˜ฏไธ€็ฏ‡ๅ…ณไบŽ AI Agent ็š„ๅ…จๆ™ฏๆทฑๅบฆ็ปผ่ฟฐ๏ผŒๆ—จๅœจ่งฃๆž„ๆ™บ่ƒฝไฝ“ๅฆ‚ไฝ•ไปŽ็ฎ€ๅ•็š„ Prompt ๅ“ๅบ”่€…๏ผŒๆผ”ๅ˜ไธบๅ…ทๅค‡่‡ชไธป็›ฎๆ ‡ๆ‹†่งฃใ€้•ฟ็ŸญๆœŸ่ฎฐๅฟ†ไธŽๅคๆ‚็Žฏๅขƒไบคไบ’่ƒฝๅŠ›็š„โ€œๆ‰ง่กŒ่€…โ€ใ€‚"},{title:"ๆŽขๅฏป Agent ๅ†ณ็ญ–ไธญๆžข๏ผš่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„่ง„ๅˆ’่Œƒๅผ",url:"/ai-agent/planning-module",description:"ๆœฌๆ–‡ๆทฑๅบฆ่งฃๆž„ไบ† Agent ่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„ๆ ธๅฟƒ่ทฏๅพ„๏ผšไปŽไปปๅŠกๅˆ†่งฃ็š„้™ไฝŽ็†ตๅ€ผ๏ผŒๅˆฐ่‡ชๆˆ‘ๅๆ€็š„้—ญ็ŽฏๆŽงๅˆถใ€‚้€š่ฟ‡ๅฏนๆฏ”โ€œ่พน่ตฐ่พน็œ‹โ€็š„ ReAct ๅŠจๆ€ๅ“ๅบ”ๆจกๅผไธŽโ€œ่ฐ‹ๅฎšๅŽๅŠจโ€็š„ Plan-and-Execute ้ข„็ผ–ๆŽ’ๆจกๅผ๏ผŒๆœฌๆ–‡ๆญ็คบไบ†ๅฆ‚ไฝ•้’ˆๅฏน้•ฟ้“พ่ทฏๅทฅ็จ‹ไปปๅŠกๆž„ๅปบ็จณๅฅ็š„ๅ†ณ็ญ–่Œƒๅผ๏ผŒๅŠฉไฝ ๅฎŒๆˆไปŽโ€œ็ฎ€ๅ•ๆ็คบ่ฏโ€ๅˆฐโ€œๅคๆ‚ๆžถๆž„่ฎพ่ฎกโ€็š„่ฎค็Ÿฅ่ทƒ่ฟใ€‚"},{title:"ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผš้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต",url:"/ai-agent/composition-ai-components",description:"้ขๅฏนๅฑ‚ๅ‡บไธ็ฉท็š„ Promptใ€MCPใ€Skills ๅ’Œ Subagents๏ผŒๅพˆๅคšๅผ€ๅ‘่€…ๅ’Œไบงๅ“็ป็†ๅธธๆ„Ÿๅˆฐๅ›ฐๆƒ‘๏ผš่ฟ™ไบ›็ป„ไปถ็ฉถ็ซŸๆ˜ฏ้‡ๅค้€ ่ฝฎๅญ๏ผŒ่ฟ˜ๆ˜ฏๅ„ๅธๅ…ถ่Œ็š„็งฏๆœจ๏ผŸๆœฌๆ–‡ๅฐ†ๆทฑๅบฆๆ‹†่งฃ Agentic ็”Ÿๆ€็š„ไบ”ๅคงๆ ธๅฟƒๆ”ฏๆŸฑ๏ผŒๆญ็คบๅฆ‚ไฝ•้€š่ฟ‡ไผ˜้›…็š„ๆžถๆž„่ฎพ่ฎกๅฎž็ŽฐๅๅŒ้—ญ็Žฏ๏ผŒๅฐ†้›ถๆ•ฃ็š„ AI ็ป„ไปถๆ‹ผ่ฃ…ๆˆไธ€ๅฅ—ๅฏๆŒ็ปญ่ฟ›ๅŒ–็š„ AI ๅŽŸ็”Ÿๆ“ไฝœ็ณป็ปŸ๏ผŒๆŠŠ็ขŽ็‰‡ๅŒ–็š„ AI ่ƒฝๅŠ›่ฝฌๅŒ–ไธบ้ซ˜ๅฏ็”จ็š„็”ŸไบงๅŠ›ๆตใ€‚"},{title:"ๅฆ‚ไฝ•็ผ–ๅ†™ไธ€ไธช้ซ˜ๅฏ็”จ็š„ Agent Skill๏ผŸไปŽๆœบๅˆถๆ‹†่งฃๅˆฐ็”Ÿไบงๅฎž่ทตๆŒ‡ๅ—",url:"/ai-agent/skills-practice-summary",description:"ๅคง่ฏญ่จ€ๆจกๅž‹ๅœจ็‰นๅฎšๅทฅ็จ‹้ข†ๅŸŸๅธธ้ขไธดโ€œ็Ÿฅ่€Œไธ่กŒโ€็š„ๅ›ฐๅขƒใ€‚ๆœฌๆ–‡ๆทฑๅบฆๆ‹†่งฃ Anthropic ๆœ€ๆ–ฐๆŽจๅ‡บ็š„ Agent Skills ่ง„่Œƒ๏ผŒๆญ็ง˜ๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆธ่ฟ›ๅผๆŠซ้œฒไธŽไธ‰็บงๅŠ ่ฝฝๆœบๅˆถ๏ผŒๅœจๆŽงๅˆถ Token ๆˆๆœฌ็š„ๅŒๆ—ถๆ˜พ่‘—ๆๅ‡ Agent ็š„ไปปๅŠกๆ‰ง่กŒ็ฒพๅบฆใ€‚ๆ–‡็ซ ๆถต็›–ไบ†ไปŽๆ–‡ไปถๅคนๆžถๆž„่ฎพ่ฎกๅˆฐๅฎžๆˆ˜ git-workflow ็ผ–ๅ†™็š„ๅ…จๆต็จ‹ๆŒ‡ๅ—๏ผŒๅŠฉไฝ ๅฐ†้›ถๆ•ฃ็š„ Prompt ่ฝฌๅŒ–ไธบๆ ‡ๅ‡†ๅŒ–็š„ๆ•ฐๅญ—่ต„ไบงใ€‚"}]},{title:"AI ็›ธๅ…ณ่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่",icon:"๐Ÿ› ๏ธ",color:"#06b6d4",articles:[{title:"AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่",url:"/ai-learning/tools-assistant",description:"ไธบไพฟไบŽ้ซ˜ๆ•ˆๅˆฉ็”จ AI ๅทฅๅ…ทๆๅ‡ๅญฆไน ใ€ๆœ็ดขๅ’Œๅˆ›ไฝœๆ•ˆ็އ๏ผŒๆœฌๆ–‡็ณป็ปŸๆ•ด็†ไบ†ไธปๆต็š„ AI ๅŠฉๆ‰‹ไธŽๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐ็›ธๅ…ณ่ต„ๆบใ€‚"},{title:"LLM API ๆœๅŠกๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—",url:"/ai-learning/llm-api-resources",description:"็ณป็ปŸๆขณ็†ไบ†ๅ›ฝ้™…ไธŽๅ›ฝๅ†…ไธปๆต LLM API ๆœๅŠกๅนณๅฐ๏ผŒๆถต็›–ๅฎ˜ๆ–น็›ด่ฟžใ€่šๅˆไปฃ็†็ญ‰ๆ–นๆกˆ้€‰ๆ‹ฉ๏ผŒไธบๅผ€ๅ‘่€…ๆไพ›ๅ…จ้ข็š„้€‰ๅž‹ๅ‚่€ƒไธŽๆŽฅๅ…ฅๆŒ‡ๅ—ใ€‚"},{title:"AI ไธŽๆ•ฐๅญฆๆ€็ปด็›ธๅ…ณไนฆ็ฑๆŽจ่",url:"/growth/books#_1-ai-ไธŽๆ•ฐๅญฆๆ€็ปด",description:"็ณป็ปŸๆ•ด็†ใ€ๆฑ‡ๆ€ปไบ† AI ไธŽๆ•ฐๅญฆๆ€็ปด็š„็›ธๅ…ณไนฆ็ฑ๏ผŒไพฟไบŽ็ณป็ปŸๅญฆไน ไธŽ็†่งฃ AI๏ผŒไปŽ่€Œๆๅ‡ AI ๅบ”็”จ็š„ๆ•ˆ็އไธŽๆ•ˆๆžœใ€‚"}]}],u=JSON.parse('{"title":"AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ","description":"ๅ…จๆ™ฏๅผ AI ๅญฆไน ไธŽๅฎž่ทต็Ÿฅ่ฏ†ๅบ“๏ผŒ็ณป็ปŸๆฒ‰ๆท€ AI Agent ่ฎพ่ฎกๆจกๅผใ€ๅคงๆจกๅž‹ๅทฅ็จ‹ๅŒ–่ฝๅœฐใ€ๅผ€ๆบๅฐ้กน็›ฎๅŠ็คพๅŒบๆดปๅŠจ็ป้ชŒๆ€ป็ป“๏ผŒๆŒ็ปญ่ฟญไปฃไปŽ็†่ฎบๅˆฐ็”Ÿไบง็š„ๅฎŒๆ•ดๆ–นๆณ•่ฎบใ€‚","frontmatter":{"title":"AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ","date":"2026-03-15T16:00:00.000Z","description":"ๅ…จๆ™ฏๅผ AI ๅญฆไน ไธŽๅฎž่ทต็Ÿฅ่ฏ†ๅบ“๏ผŒ็ณป็ปŸๆฒ‰ๆท€ AI Agent ่ฎพ่ฎกๆจกๅผใ€ๅคงๆจกๅž‹ๅทฅ็จ‹ๅŒ–่ฝๅœฐใ€ๅผ€ๆบๅฐ้กน็›ฎๅŠ็คพๅŒบๆดปๅŠจ็ป้ชŒๆ€ป็ป“๏ผŒๆŒ็ปญ่ฟญไปฃไปŽ็†่ฎบๅˆฐ็”Ÿไบง็š„ๅฎŒๆ•ดๆ–นๆณ•่ฎบใ€‚","coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/llm_learning_bg_1.png","permalink":"/ai-learning/overview","categories":["ai-practice"],"tags":["AI","LLM"]},"headers":[],"relativePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/00.AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ.md","filePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/00.AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ.md"}'),c={name:"20.AI ๅญฆไน ไธŽๅฎž่ทต/00.AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ.md"},I=Object.assign(c,{setup(A){return(g,e)=>(n(),a("div",null,[e[0]||(e[0]=t("div",{style:{display:"none"},hidden:"true","aria-hidden":"true"},"Are you an LLM? You can read better optimized documentation at /20.AI ๅญฆไน ไธŽๅฎž่ทต/00.AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ.md for this page in Markdown format",-1)),e[1]||(e[1]=t("h1",{id:"ai-ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ",tabindex:"-1"},[o("AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ "),t("a",{class:"header-anchor",href:"#ai-ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ","aria-label":"Permalink to โ€œAI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏโ€"},"โ€‹")],-1)),r(i,{categories:l(s)},null,8,["categories"])]))}});export{u as __pageData,I as default}; +import{A as i}from"./chunks/ArticleCardList.DFlNODKA.js";import{g as a,h as n,i as t,z as r,S as o,l}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const s=[{title:"AI ็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎๆฑ‡ๆ€ป",icon:"๐Ÿš€",color:"#f97316",articles:[{title:"ๅฃฐๆ˜Žๅผๅคšๆ™บ่ƒฝไฝ“ๅๅŒ๏ผšๅŸบไบŽ Claude Agent SDK ๆž„ๅปบๆทฑๅบฆ็ ”็ฉถ็ณป็ปŸ",url:"/ai-agent/deepresearch-agent",description:"ๅฏนๅคๆ‚็ ”็ฉถไปปๅŠกๆ—ถ๏ผŒๅ•ๆ™บ่ƒฝไฝ“๏ผˆSingle-Agent๏ผ‰ๅธธๅ› ไธŠไธ‹ๆ–‡็จ€้‡Šๅ’Œ้€ป่พ‘็–ฒๅŠณๅฏผ่‡ดไบงๅ‡บ่ดจ้‡ไธ‹้™ใ€‚ๆœฌๆ–‡ๅŸบไบŽ Claude Agent SDK ๆŽข่ฎจไบ†ๅคšๆ™บ่ƒฝไฝ“็ณป็ปŸ๏ผˆMAS๏ผ‰็š„ๅทฅ็จ‹ๅŒ–่ฝๅœฐใ€‚้€š่ฟ‡โ€œLead + Subagentโ€็š„ๅฃฐๆ˜Žๅผๆžถๆž„๏ผŒๆˆ‘ไปฌๅฐ†ๆทฑๅบฆ็ ”็ฉถๆ‹†่งฃไธบๆœ็ดขใ€้‡ๅŒ–ๅˆ†ๆžใ€ๅฏ่ง†ๅŒ–็ป˜ๅ›พไธŽ็ป“ๆž„ๅŒ–ๅ†™ไฝœๅ››ไธช็‹ฌ็ซ‹็Žฏ่Š‚ใ€‚"},{title:"ๅ‘Šๅˆซๆ‰‹ๅŠจ Loop๏ผšๅ€ŸๅŠฉ Claude Agent SDK ๅฎž็Žฐ Agent ็š„ๅทฅ็จ‹ๅŒ–้—ญ็Žฏ",url:"/ai-practice/claude-agent-sdk-basic-build",description:"ๅœจ Agent ๆŠ€ๆœฏๅฟซ้€Ÿ่ตฐๅ‘ๆˆ็†Ÿ็š„ไปŠๅคฉ๏ผŒๅฆ‚ไฝ•ไฝŽๆˆๆœฌๆž„ๅปบๅ…ทๅค‡โ€œ่‡ชไธปๆดžๅฏŸโ€่ƒฝๅŠ›็š„ๆ™บ่ƒฝไฝ“๏ผŸๆœฌๆ–‡ๆทฑๅบฆๆ‹†่งฃ Anthropic ๅฎ˜ๆ–นๆŽจๅ‡บ็š„ Claude Agent SDK๏ผŒ่งฃๆžๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆ‰˜็ฎก Agent Loop ๅ’Œไผš่ฏๆŒไน…ๅŒ–ๆœบๅˆถ๏ผŒ่งฃๅ†ณ Agent ๅผ€ๅ‘ไธญ็š„็Šถๆ€็ฎก็†้šพ้ข˜ใ€‚ๆ–‡็ซ ้€š่ฟ‡ไปŽๆ— ็Šถๆ€ไบคไบ’ๅˆฐๅ…ทๅค‡ๆตๅผ่พ“ๅ‡บ่ƒฝๅŠ›็š„ TUI ่‡ชๅŠจๅŒ–ๅทฅๅ…ท่ฟ›้˜ถๅฎžๆˆ˜๏ผŒๅฑ•็คบไบ†ๆž„ๅปบไฝŽๆˆๆœฌใ€้ซ˜ๅฏ็”จ AI ๅŽŸ็”Ÿๅบ”็”จ็š„ๅฎŒๆ•ด่ทฏๅพ„ใ€‚"},{title:"ไธ€ๆฌก็”ฑ Product Sense ้ฉฑๅŠจ็š„ Agent ๆž้™ๅฎž่ทต",url:"/ai-practice/math-bot",description:"ๆœฌๆ–‡่ฎฐๅฝ•ไบ†ๅœจไธ€ๆฌกๆž้™ๆŒ‘ๆˆ˜่ต›ไธญ๏ผŒๆˆ‘ไปฌ้€š่ฟ‡ๅฏน K12 ่ต›้“็”จๆˆท็—›็‚น็š„็ฒพๅ‡†โ€œ่ง†่ง’ๅˆ‡ๆขโ€๏ผŒๆ‰“้€ ๅ‡บไธ€ๆฌพๆŽˆไบบไปฅๆธ”็š„โ€œๆ•ฐๅญฆ่พ…ๅฏผๅฏผๅธˆโ€ๅนถๆ–ฉ่Žทๅคงๅฅ–๏ผŒๅนถๆŒ‡ๅ‡บ Product Sense ๅฏน Agent ๆญๅปบ็š„้‡่ฆๆ€งใ€‚"},{title:"้›ถไปฃ็ ไธ็ญ‰ไบŽ้›ถ้€ป่พ‘๏ผš็ป“ๆž„ๅŒ– Prompt ้ฉฑๅŠจไธ‹็š„ Agent ๆญๅปบๅฎžๆˆ˜",url:"/ai-practice/poetry-bot",description:"ๅฎŒ่ฎฐๅฝ•ไบ†่ฏ—ๆญŒๅฐ็ฒพ็ต Agent ๆญๅปบๅฎž่ทต๏ผŒๅนถๆŒ‡ๅ‡บ็ป“ๆž„ๅŒ– Prompt ๅฏน Agent ๆญๅปบ็š„้‡่ฆๆ€งใ€‚"}]},{title:"Agent ๅŽŸ็†ใ€็ป„ไปถไธŽๆž„ๅปบๆจกๅผ",icon:"๐Ÿ“š",color:"#6366f1",articles:[{title:"ไปŽๆ็คบ่ฏๅˆฐๆ•ฐๅญ—ๅ‘˜ๅทฅ๏ผšAI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐ",url:"/ai-agent/overview",description:"ๆœฌๆ–‡ๆ˜ฏไธ€็ฏ‡ๅ…ณไบŽ AI Agent ็š„ๅ…จๆ™ฏๆทฑๅบฆ็ปผ่ฟฐ๏ผŒๆ—จๅœจ่งฃๆž„ๆ™บ่ƒฝไฝ“ๅฆ‚ไฝ•ไปŽ็ฎ€ๅ•็š„ Prompt ๅ“ๅบ”่€…๏ผŒๆผ”ๅ˜ไธบๅ…ทๅค‡่‡ชไธป็›ฎๆ ‡ๆ‹†่งฃใ€้•ฟ็ŸญๆœŸ่ฎฐๅฟ†ไธŽๅคๆ‚็Žฏๅขƒไบคไบ’่ƒฝๅŠ›็š„โ€œๆ‰ง่กŒ่€…โ€ใ€‚"},{title:"ๆŽขๅฏป Agent ๅ†ณ็ญ–ไธญๆžข๏ผš่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„่ง„ๅˆ’่Œƒๅผ",url:"/ai-agent/planning-module",description:"ๆœฌๆ–‡ๆทฑๅบฆ่งฃๆž„ไบ† Agent ่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„ๆ ธๅฟƒ่ทฏๅพ„๏ผšไปŽไปปๅŠกๅˆ†่งฃ็š„้™ไฝŽ็†ตๅ€ผ๏ผŒๅˆฐ่‡ชๆˆ‘ๅๆ€็š„้—ญ็ŽฏๆŽงๅˆถใ€‚้€š่ฟ‡ๅฏนๆฏ”โ€œ่พน่ตฐ่พน็œ‹โ€็š„ ReAct ๅŠจๆ€ๅ“ๅบ”ๆจกๅผไธŽโ€œ่ฐ‹ๅฎšๅŽๅŠจโ€็š„ Plan-and-Execute ้ข„็ผ–ๆŽ’ๆจกๅผ๏ผŒๆœฌๆ–‡ๆญ็คบไบ†ๅฆ‚ไฝ•้’ˆๅฏน้•ฟ้“พ่ทฏๅทฅ็จ‹ไปปๅŠกๆž„ๅปบ็จณๅฅ็š„ๅ†ณ็ญ–่Œƒๅผ๏ผŒๅŠฉไฝ ๅฎŒๆˆไปŽโ€œ็ฎ€ๅ•ๆ็คบ่ฏโ€ๅˆฐโ€œๅคๆ‚ๆžถๆž„่ฎพ่ฎกโ€็š„่ฎค็Ÿฅ่ทƒ่ฟใ€‚"},{title:"ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผš้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต",url:"/ai-agent/composition-ai-components",description:"้ขๅฏนๅฑ‚ๅ‡บไธ็ฉท็š„ Promptใ€MCPใ€Skills ๅ’Œ Subagents๏ผŒๅพˆๅคšๅผ€ๅ‘่€…ๅ’Œไบงๅ“็ป็†ๅธธๆ„Ÿๅˆฐๅ›ฐๆƒ‘๏ผš่ฟ™ไบ›็ป„ไปถ็ฉถ็ซŸๆ˜ฏ้‡ๅค้€ ่ฝฎๅญ๏ผŒ่ฟ˜ๆ˜ฏๅ„ๅธๅ…ถ่Œ็š„็งฏๆœจ๏ผŸๆœฌๆ–‡ๅฐ†ๆทฑๅบฆๆ‹†่งฃ Agentic ็”Ÿๆ€็š„ไบ”ๅคงๆ ธๅฟƒๆ”ฏๆŸฑ๏ผŒๆญ็คบๅฆ‚ไฝ•้€š่ฟ‡ไผ˜้›…็š„ๆžถๆž„่ฎพ่ฎกๅฎž็ŽฐๅๅŒ้—ญ็Žฏ๏ผŒๅฐ†้›ถๆ•ฃ็š„ AI ็ป„ไปถๆ‹ผ่ฃ…ๆˆไธ€ๅฅ—ๅฏๆŒ็ปญ่ฟ›ๅŒ–็š„ AI ๅŽŸ็”Ÿๆ“ไฝœ็ณป็ปŸ๏ผŒๆŠŠ็ขŽ็‰‡ๅŒ–็š„ AI ่ƒฝๅŠ›่ฝฌๅŒ–ไธบ้ซ˜ๅฏ็”จ็š„็”ŸไบงๅŠ›ๆตใ€‚"},{title:"ๅฆ‚ไฝ•็ผ–ๅ†™ไธ€ไธช้ซ˜ๅฏ็”จ็š„ Agent Skill๏ผŸไปŽๆœบๅˆถๆ‹†่งฃๅˆฐ็”Ÿไบงๅฎž่ทตๆŒ‡ๅ—",url:"/ai-agent/skills-practice-summary",description:"ๅคง่ฏญ่จ€ๆจกๅž‹ๅœจ็‰นๅฎšๅทฅ็จ‹้ข†ๅŸŸๅธธ้ขไธดโ€œ็Ÿฅ่€Œไธ่กŒโ€็š„ๅ›ฐๅขƒใ€‚ๆœฌๆ–‡ๆทฑๅบฆๆ‹†่งฃ Anthropic ๆœ€ๆ–ฐๆŽจๅ‡บ็š„ Agent Skills ่ง„่Œƒ๏ผŒๆญ็ง˜ๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆธ่ฟ›ๅผๆŠซ้œฒไธŽไธ‰็บงๅŠ ่ฝฝๆœบๅˆถ๏ผŒๅœจๆŽงๅˆถ Token ๆˆๆœฌ็š„ๅŒๆ—ถๆ˜พ่‘—ๆๅ‡ Agent ็š„ไปปๅŠกๆ‰ง่กŒ็ฒพๅบฆใ€‚ๆ–‡็ซ ๆถต็›–ไบ†ไปŽๆ–‡ไปถๅคนๆžถๆž„่ฎพ่ฎกๅˆฐๅฎžๆˆ˜ git-workflow ็ผ–ๅ†™็š„ๅ…จๆต็จ‹ๆŒ‡ๅ—๏ผŒๅŠฉไฝ ๅฐ†้›ถๆ•ฃ็š„ Prompt ่ฝฌๅŒ–ไธบๆ ‡ๅ‡†ๅŒ–็š„ๆ•ฐๅญ—่ต„ไบงใ€‚"}]},{title:"AI ็›ธๅ…ณ่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่",icon:"๐Ÿ› ๏ธ",color:"#06b6d4",articles:[{title:"AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่",url:"/ai-learning/tools-assistant",description:"ไธบไพฟไบŽ้ซ˜ๆ•ˆๅˆฉ็”จ AI ๅทฅๅ…ทๆๅ‡ๅญฆไน ใ€ๆœ็ดขๅ’Œๅˆ›ไฝœๆ•ˆ็އ๏ผŒๆœฌๆ–‡็ณป็ปŸๆ•ด็†ไบ†ไธปๆต็š„ AI ๅŠฉๆ‰‹ไธŽๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐ็›ธๅ…ณ่ต„ๆบใ€‚"},{title:"LLM API ๆœๅŠกๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—",url:"/ai-learning/llm-api-resources",description:"็ณป็ปŸๆขณ็†ไบ†ๅ›ฝ้™…ไธŽๅ›ฝๅ†…ไธปๆต LLM API ๆœๅŠกๅนณๅฐ๏ผŒๆถต็›–ๅฎ˜ๆ–น็›ด่ฟžใ€่šๅˆไปฃ็†็ญ‰ๆ–นๆกˆ้€‰ๆ‹ฉ๏ผŒไธบๅผ€ๅ‘่€…ๆไพ›ๅ…จ้ข็š„้€‰ๅž‹ๅ‚่€ƒไธŽๆŽฅๅ…ฅๆŒ‡ๅ—ใ€‚"},{title:"AI ไธŽๆ•ฐๅญฆๆ€็ปด็›ธๅ…ณไนฆ็ฑๆŽจ่",url:"/growth/books#_1-ai-ไธŽๆ•ฐๅญฆๆ€็ปด",description:"็ณป็ปŸๆ•ด็†ใ€ๆฑ‡ๆ€ปไบ† AI ไธŽๆ•ฐๅญฆๆ€็ปด็š„็›ธๅ…ณไนฆ็ฑ๏ผŒไพฟไบŽ็ณป็ปŸๅญฆไน ไธŽ็†่งฃ AI๏ผŒไปŽ่€Œๆๅ‡ AI ๅบ”็”จ็š„ๆ•ˆ็އไธŽๆ•ˆๆžœใ€‚"}]}],u=JSON.parse('{"title":"AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ","description":"ๅ…จๆ™ฏๅผ AI ๅญฆไน ไธŽๅฎž่ทต็Ÿฅ่ฏ†ๅบ“๏ผŒ็ณป็ปŸๆฒ‰ๆท€ AI Agent ่ฎพ่ฎกๆจกๅผใ€ๅคงๆจกๅž‹ๅทฅ็จ‹ๅŒ–่ฝๅœฐใ€ๅผ€ๆบๅฐ้กน็›ฎๅŠ็คพๅŒบๆดปๅŠจ็ป้ชŒๆ€ป็ป“๏ผŒๆŒ็ปญ่ฟญไปฃไปŽ็†่ฎบๅˆฐ็”Ÿไบง็š„ๅฎŒๆ•ดๆ–นๆณ•่ฎบใ€‚","frontmatter":{"title":"AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ","date":"2026-03-15T16:00:00.000Z","description":"ๅ…จๆ™ฏๅผ AI ๅญฆไน ไธŽๅฎž่ทต็Ÿฅ่ฏ†ๅบ“๏ผŒ็ณป็ปŸๆฒ‰ๆท€ AI Agent ่ฎพ่ฎกๆจกๅผใ€ๅคงๆจกๅž‹ๅทฅ็จ‹ๅŒ–่ฝๅœฐใ€ๅผ€ๆบๅฐ้กน็›ฎๅŠ็คพๅŒบๆดปๅŠจ็ป้ชŒๆ€ป็ป“๏ผŒๆŒ็ปญ่ฟญไปฃไปŽ็†่ฎบๅˆฐ็”Ÿไบง็š„ๅฎŒๆ•ดๆ–นๆณ•่ฎบใ€‚","coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/llm_learning_bg_1.png","permalink":"/ai-learning/overview","categories":["ai-practice"],"tags":["AI","LLM"]},"headers":[],"relativePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/00.AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ.md","filePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/00.AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ.md"}'),c={name:"20.AI ๅญฆไน ไธŽๅฎž่ทต/00.AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ.md"},I=Object.assign(c,{setup(A){return(g,e)=>(n(),a("div",null,[e[0]||(e[0]=t("div",{style:{display:"none"},hidden:"true","aria-hidden":"true"},"Are you an LLM? You can read better optimized documentation at /20.AI ๅญฆไน ไธŽๅฎž่ทต/00.AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ.md for this page in Markdown format",-1)),e[1]||(e[1]=t("h1",{id:"ai-ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ",tabindex:"-1"},[o("AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ "),t("a",{class:"header-anchor",href:"#ai-ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ","aria-label":"Permalink to โ€œAI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏโ€"},"โ€‹")],-1)),r(i,{categories:l(s)},null,8,["categories"])]))}});export{u as __pageData,I as default}; diff --git "a/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_02.Agent \347\263\273\345\210\227_01.Agent\346\246\202\350\247\210\344\270\216\347\273\274\350\277\260.md.BIpWVkHy.js" "b/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_02.Agent \347\263\273\345\210\227_01.Agent\346\246\202\350\247\210\344\270\216\347\273\274\350\277\260.md.DMvs5K_Q.js" similarity index 99% rename from "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_02.Agent \347\263\273\345\210\227_01.Agent\346\246\202\350\247\210\344\270\216\347\273\274\350\277\260.md.BIpWVkHy.js" rename to "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_02.Agent \347\263\273\345\210\227_01.Agent\346\246\202\350\247\210\344\270\216\347\273\274\350\277\260.md.DMvs5K_Q.js" index 50161d5c..3d14f707 100644 --- "a/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_02.Agent \347\263\273\345\210\227_01.Agent\346\246\202\350\247\210\344\270\216\347\273\274\350\277\260.md.BIpWVkHy.js" +++ "b/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_02.Agent \347\263\273\345\210\227_01.Agent\346\246\202\350\247\210\344\270\216\347\273\274\350\277\260.md.DMvs5K_Q.js" @@ -1 +1 @@ -import{_ as e,g as n,h as l,U as o}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const A=JSON.parse('{"title":"ไปŽๆ็คบ่ฏๅˆฐๆ•ฐๅญ—ๅ‘˜ๅทฅ๏ผšAI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐ","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšAI ็š„่ฟ›ๅŒ–ๆญฃ็ปๅކไปŽโ€œๅฏน่ฏๆก†โ€ๅ‘โ€œๆ•ฐๅญ—ๅ‘˜ๅทฅโ€็š„ๆ นๆœฌๆ€ง่ทจ่ถŠใ€‚ๆœฌๆ–‡ๆ˜ฏไธ€็ฏ‡ๅ…ณไบŽ AI Agent ็š„ๅ…จๆ™ฏๆทฑๅบฆ็ปผ่ฟฐ๏ผŒๆ—จๅœจ่งฃๆž„ๆ™บ่ƒฝไฝ“ๅฆ‚ไฝ•ไปŽ็ฎ€ๅ•็š„ Prompt ๅ“ๅบ”่€…๏ผŒๆผ”ๅ˜ไธบๅ…ทๅค‡่‡ชไธป็›ฎๆ ‡ๆ‹†่งฃใ€้•ฟ็ŸญๆœŸ่ฎฐๅฟ†ไธŽๅคๆ‚็Žฏๅขƒไบคไบ’่ƒฝๅŠ›็š„โ€œๆ‰ง่กŒ่€…โ€ใ€‚ๆˆ‘ไปฌๅฐ†ๆทฑๅบฆๆ‹†่งฃ Agent ็š„ๅ››ๅคงๆŠ€ๆœฏๅŸบ็Ÿณ๏ผˆ่ง„ๅˆ’ใ€่ฎฐๅฟ†ใ€ๅทฅๅ…ทใ€่กŒๅŠจ๏ผ‰๏ผŒๅนถ่ฏฆ็ป†ๅ‰–ๆžไปŽ้€š็”จๅž‹ Agent ๅˆฐๅคšๆ™บ่ƒฝไฝ“ๅไฝœ๏ผˆMAS๏ผ‰ใ€ๅ†ๅˆฐ่ฟˆๅ‘ Agent OS ๆ—ถไปฃ็š„ OpenClaw ็ญ‰ไบ”ๅคงๆผ”่ฟ›ๅฝขๆ€ใ€‚ไธไป…ๆŽข่ฎจไบ†ๆŠ€ๆœฏๆžถๆž„็š„ๅฎž็Žฐ๏ผŒๆ›ดๆญ็คบไบ†่ฝฏไปถๅทฅ็จ‹ไปŽโ€œไปฅไบบไธบไธญๅฟƒโ€ๅ‘โ€œไปฅ AI ไธบไธญๅฟƒโ€็š„่Œƒๅผ้ฉๅ‘ฝโ€”โ€”ๅœจ Agent ้ฉฑๅŠจ็š„ๆ–ฐ็บชๅ…ƒ๏ผŒๆ ธๅฟƒ็ซžไบ‰ๅŠ›ๅฐ†ไธๅ†ๆ˜ฏไปฃ็ ้‡๏ผŒ่€Œๆ˜ฏ่ฐƒๅบฆ AI ้—ญ็Žฏ่งฃๅ†ณไธšๅŠก้—ฎ้ข˜็š„่ƒฝๅŠ›ใ€‚","frontmatter":{"date":"2026-02-12T22:31:00.000Z","title":"ไปŽๆ็คบ่ฏๅˆฐๆ•ฐๅญ—ๅ‘˜ๅทฅ๏ผšAI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐ","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšAI ็š„่ฟ›ๅŒ–ๆญฃ็ปๅކไปŽโ€œๅฏน่ฏๆก†โ€ๅ‘โ€œๆ•ฐๅญ—ๅ‘˜ๅทฅโ€็š„ๆ นๆœฌๆ€ง่ทจ่ถŠใ€‚ๆœฌๆ–‡ๆ˜ฏไธ€็ฏ‡ๅ…ณไบŽ AI Agent ็š„ๅ…จๆ™ฏๆทฑๅบฆ็ปผ่ฟฐ๏ผŒๆ—จๅœจ่งฃๆž„ๆ™บ่ƒฝไฝ“ๅฆ‚ไฝ•ไปŽ็ฎ€ๅ•็š„ Prompt ๅ“ๅบ”่€…๏ผŒๆผ”ๅ˜ไธบๅ…ทๅค‡่‡ชไธป็›ฎๆ ‡ๆ‹†่งฃใ€้•ฟ็ŸญๆœŸ่ฎฐๅฟ†ไธŽๅคๆ‚็Žฏๅขƒไบคไบ’่ƒฝๅŠ›็š„โ€œๆ‰ง่กŒ่€…โ€ใ€‚ๆˆ‘ไปฌๅฐ†ๆทฑๅบฆๆ‹†่งฃ Agent ็š„ๅ››ๅคงๆŠ€ๆœฏๅŸบ็Ÿณ๏ผˆ่ง„ๅˆ’ใ€่ฎฐๅฟ†ใ€ๅทฅๅ…ทใ€่กŒๅŠจ๏ผ‰๏ผŒๅนถ่ฏฆ็ป†ๅ‰–ๆžไปŽ้€š็”จๅž‹ Agent ๅˆฐๅคšๆ™บ่ƒฝไฝ“ๅไฝœ๏ผˆMAS๏ผ‰ใ€ๅ†ๅˆฐ่ฟˆๅ‘ Agent OS ๆ—ถไปฃ็š„ OpenClaw ็ญ‰ไบ”ๅคงๆผ”่ฟ›ๅฝขๆ€ใ€‚ไธไป…ๆŽข่ฎจไบ†ๆŠ€ๆœฏๆžถๆž„็š„ๅฎž็Žฐ๏ผŒๆ›ดๆญ็คบไบ†่ฝฏไปถๅทฅ็จ‹ไปŽโ€œไปฅไบบไธบไธญๅฟƒโ€ๅ‘โ€œไปฅ AI ไธบไธญๅฟƒโ€็š„่Œƒๅผ้ฉๅ‘ฝโ€”โ€”ๅœจ Agent ้ฉฑๅŠจ็š„ๆ–ฐ็บชๅ…ƒ๏ผŒๆ ธๅฟƒ็ซžไบ‰ๅŠ›ๅฐ†ไธๅ†ๆ˜ฏไปฃ็ ้‡๏ผŒ่€Œๆ˜ฏ่ฐƒๅบฆ AI ้—ญ็Žฏ่งฃๅ†ณไธšๅŠก้—ฎ้ข˜็š„่ƒฝๅŠ›ใ€‚","coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/llm_learning_bg_1.png","permalink":"/ai-agent/overview","top":true,"categories":["ai-practice"],"tags":["AI Agent","Agent"]},"headers":[],"relativePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/01.Agentๆฆ‚่งˆไธŽ็ปผ่ฟฐ.md","filePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/01.Agentๆฆ‚่งˆไธŽ็ปผ่ฟฐ.md"}'),a={name:"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/01.Agentๆฆ‚่งˆไธŽ็ปผ่ฟฐ.md"};function r(g,t,s,i,d,u){return l(),n("div",null,[...t[0]||(t[0]=[o('

ไปŽๆ็คบ่ฏๅˆฐๆ•ฐๅญ—ๅ‘˜ๅทฅ๏ผšAI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐ โ€‹

ๆ‘˜่ฆๆ€ป็ป“๏ผšAI ็š„่ฟ›ๅŒ–ๆญฃ็ปๅކไปŽโ€œๅฏน่ฏๆก†โ€ๅ‘โ€œๆ•ฐๅญ—ๅ‘˜ๅทฅโ€็š„ๆ นๆœฌๆ€ง่ทจ่ถŠใ€‚ๆœฌๆ–‡ๆ˜ฏไธ€็ฏ‡ๅ…ณไบŽ AI Agent ็š„ๅ…จๆ™ฏๆทฑๅบฆ็ปผ่ฟฐ๏ผŒๆ—จๅœจ่งฃๆž„ๆ™บ่ƒฝไฝ“ๅฆ‚ไฝ•ไปŽ็ฎ€ๅ•็š„ Prompt ๅ“ๅบ”่€…๏ผŒๆผ”ๅ˜ไธบๅ…ทๅค‡่‡ชไธป็›ฎๆ ‡ๆ‹†่งฃใ€้•ฟ็ŸญๆœŸ่ฎฐๅฟ†ไธŽๅคๆ‚็Žฏๅขƒไบคไบ’่ƒฝๅŠ›็š„โ€œๆ‰ง่กŒ่€…โ€ใ€‚ๆˆ‘ไปฌๅฐ†ๆทฑๅบฆๆ‹†่งฃ Agent ็š„ๅ››ๅคงๆŠ€ๆœฏๅŸบ็Ÿณ๏ผˆ่ง„ๅˆ’ใ€่ฎฐๅฟ†ใ€ๅทฅๅ…ทใ€่กŒๅŠจ๏ผ‰๏ผŒๅนถ่ฏฆ็ป†ๅ‰–ๆžไปŽ้€š็”จๅž‹ Agent ๅˆฐๅคšๆ™บ่ƒฝไฝ“ๅไฝœ๏ผˆMAS๏ผ‰ใ€ๅ†ๅˆฐ่ฟˆๅ‘ Agent OS ๆ—ถไปฃ็š„ OpenClaw ็ญ‰ไบ”ๅคงๆผ”่ฟ›ๅฝขๆ€ใ€‚ไธไป…ๆŽข่ฎจไบ†ๆŠ€ๆœฏๆžถๆž„็š„ๅฎž็Žฐ๏ผŒๆ›ดๆญ็คบไบ†่ฝฏไปถๅทฅ็จ‹ไปŽ"ไปฅไบบไธบไธญๅฟƒ"ๅ‘"ไปฅ AI ไธบไธญๅฟƒ"็š„่Œƒๅผ้ฉๅ‘ฝโ€”โ€”ๅœจ Agent ้ฉฑๅŠจ็š„ๆ–ฐ็บชๅ…ƒ๏ผŒๆ ธๅฟƒ็ซžไบ‰ๅŠ›ๅฐ†ไธๅ†ๆ˜ฏไปฃ็ ้‡๏ผŒ่€Œๆ˜ฏ่ฐƒๅบฆ AI ้—ญ็Žฏ่งฃๅ†ณไธšๅŠก้—ฎ้ข˜็š„่ƒฝๅŠ›ใ€‚

1. ไป€ไนˆๆ˜ฏ Agent๏ผŸโ€”โ€”ไปŽโ€œๅทฅๅ…ทโ€ๅˆฐโ€œๅฎžไฝ“โ€็š„่ฟ›ๅŒ– โ€‹

ๆ ธๅฟƒ้€ป่พ‘๏ผš็Žฐไปฃ Agent ็š„ๆœฌ่ดจๆ˜ฏ "LLM (ๅคง่„‘) + ่ง„ๅˆ’ไธŽ่ฎฐๅฟ† (ๅฐ่„‘) + ๅทฅๅ…ท่ฐƒ็”จ (ๆ‰‹่„š)"ใ€‚LLM ็š„ๆตท้‡็Ÿฅ่ฏ†ๅ‚จๅค‡่ฎฉ Agent ่ƒฝๅคŸ็ฒพๅ‡†็†่งฃๅคๆ‚ๆŒ‡ไปค๏ผŒๅนถๅฐ†ๅ…ถ่ฝฌๅŒ–ไธบๅฎž้™…่กŒๅŠจใ€‚

ๅœจ AI ้ข†ๅŸŸ๏ผŒAgent๏ผˆๆ™บ่ƒฝไฝ“๏ผ‰ ๅนถ้žไธ€ไธชๆ–ฐๆฆ‚ๅฟต๏ผŒไฝ† LLM๏ผˆๅคง่ฏญ่จ€ๆจกๅž‹๏ผ‰็š„็ˆ†ๅ‘่ต‹ไบˆไบ†ๅฎƒ็œŸๆญฃ็š„โ€œ็ต้ญ‚โ€ใ€‚็ฎ€ๅ•ๆฅ่ฏด๏ผŒAgent ๆ˜ฏไธ€็ง่ƒฝๅคŸๆ„Ÿ็Ÿฅ็Žฏๅขƒใ€่‡ชไธปๅ†ณ็ญ–ๅนถๆ‰ง่กŒไปปๅŠก็š„ๆ™บ่ƒฝๅฎžไฝ“ใ€‚

ๅฆ‚ๆžœ่ฏดไผ ็ปŸ็š„ AI ๆ˜ฏไธ€ไธชโ€œ้—ฎ็ญ”ๆœบโ€๏ผŒ้‚ฃไนˆ Agent ๅฐฑๆ˜ฏไธ€ไธชโ€œๆ‰ง่กŒ่€…โ€ใ€‚ๅฎƒๅ…ทๅค‡ไปฅไธ‹ๅ››ๅคงๆ ธๅฟƒ็‰น่ดจ๏ผš

  • ่‡ชไธปๆ€ง (Autonomy)๏ผš ๆ— ้กปๆ—ถๅˆป็›ฏ็€๏ผŒ่ฎพๅฎš็›ฎๆ ‡ๅŽๅฎƒ่ƒฝ่‡ชๅทฑๆƒณๅŠžๆณ•ๅฎŒๆˆใ€‚

  • ้€‚ๅบ”ๆ€ง (Adaptability)๏ผš ็Žฏๅขƒๅ˜ไบ†๏ผˆๆฏ”ๅฆ‚็ฝ‘้กตๆ”น็‰ˆๆˆ– API ๆŠฅ้”™๏ผ‰๏ผŒๅฎƒ่ƒฝๅฎžๆ—ถ่ฐƒๆ•ด็ญ–็•ฅใ€‚

  • ไธปๅŠจๆ€ง (Proactivity)๏ผš ไธๅชๆ˜ฏ่ขซๅŠจๅ“ๅบ”ๆŒ‡ไปค๏ผŒๅฎƒไผšไธปๅŠจๆ‹†่งฃ็›ฎๆ ‡ๅนถๅฏปๆ‰พ่ทฏๅพ„ใ€‚

  • ็คพไผšๆ€ง (Sociality)๏ผš ๅฎƒ่ƒฝๅƒไบบไธ€ๆ ท๏ผŒไธŽๅ…ถไป– Agent ๆˆ–ไบบ็ฑป่ฟ›่กŒๅไฝœใ€‚

2. ๆ ธๅฟƒไปทๅ€ผ๏ผš่‡ชๅŠจๅŒ–็จ‹ๅบฆ็š„้˜ถๆขฏๅผ่ทจ่ถŠ โ€‹

ๆˆ‘ไปฌๅฏน Agent ็š„่ฟฝๆฑ‚๏ผŒๆœฌ่ดจไธŠๆ˜ฏไปŽโ€œๅ†™ๅฅฝๆ็คบ่ฏ๏ผˆPrompt๏ผ‰โ€่ฝฌๅ‘โ€œๆž„ๅปบ่‡ชไธปๅทฅไฝœๆต๏ผˆWorkflow๏ผ‰โ€ใ€‚ไธบไบ†ๆ›ด็›ด่ง‚ๅœฐ่กก้‡ Agent ็š„่ƒฝๅŠ›๏ผŒๆˆ‘ไปฌๅฏไปฅๅฐ†ๅ…ถ่‡ชๅŠจๅŒ–็จ‹ๅบฆๅˆ†ไธบไธ‰ไธชๆกฃๆฌก๏ผš

่‡ชๅŠจๅŒ–็ญ‰็บงๆ ธๅฟƒ็‰นๅพๅ…ธๅž‹ไปฃ่กจ
L1๏ผšไปปๅŠกๆ‰ง่กŒ่€…ๅค„็†ๅ•ไธ€ๆจกๆ€ใ€็ฎ€ๅ•ๆ•ฐๆฎ๏ผ›่ฐƒ็”จๅฐ‘้‡ๆ ‡ๅ‡†ๅทฅๅ…ท๏ผ›ๆ‰ง่กŒ้ข„ๅฎšไน‰็š„้™ๆ€ไปปๅŠกใ€‚็ฟป่ฏ‘่„šๆœฌใ€็ฎ€ๅ• SQL ็”Ÿๆˆๅ™จ
L2๏ผšๆต็จ‹็ผ–ๆŽ’่€…ๅคšๆจกๆ€ๆ„Ÿ็Ÿฅ๏ผ›ๅ…ทๅค‡้•ฟ็ŸญๆœŸ่ฎฐๅฟ†๏ผ›่ƒฝ็ผ–ๆŽ’ๅคๆ‚ใ€้•ฟๅฐพ็š„ไปปๅŠกๆตใ€‚Dify, Coze, n8n
L3๏ผš่‡ชไธป่ฟ›ๅŒ–่€…ๆžๅฐ‘ไบบๅทฅๅนฒ้ข„๏ผ›่‡ชไธปๆดžๅฏŸ็Žฏๅขƒๅ˜ๅŒ–๏ผ›ๅฎž็ŽฐไธšๅŠกๆต็จ‹็š„่‡ช้€‚ๅบ”็ผ–ๆŽ’ใ€‚Claude Code, Manus, OpenClaw

้š็€ Agent ่ƒฝๅŠ›็š„"้€ๆขฏ่ทจ่ถŠ"๏ผŒ่ฟ‡ๅพ€็š„ๅทฅไฝœ่Œƒๅผๅฏ่ƒฝ่ขซ้ข ่ฆ†๏ผŒๅฎž็ŽฐไปŽ"้ขๅ‘่ฟ‡็จ‹"ๅˆฐ"้ขๅ‘็›ฎๆ ‡"็š„ๆ นๆœฌๆ€ง้ข ่ฆ†ใ€‚ๅฏนไบŽ่ฝฏไปถ็ณป็ปŸๅผ€ๅ‘ไบบๅ‘˜่€Œ่จ€๏ผŒไผ ็ปŸ็š„่ฝฏไปถๅทฅ็จ‹ๆ€่ทฏไปฅไบบไธบไธญๅฟƒ๏ผŒAI ๅชๆ˜ฏ่พ…ๅŠฉๅทฅๅ…ท๏ผŒ้€š่ฟ‡้‡‡็”จๅ›บๅฎšๅฝขๆ€็š„ไบคไบ’็•Œ้ขๅ’Œ้ข„ๅฎšไน‰ๆœ‰้™ๅŸŸ็š„ไปปๅŠก๏ผŒๅฎž็Žฐ่ง„ๆจกๅŒ–็š„็”Ÿไบงๆ–นๅผใ€‚่€Œ Agent ๅทฅ็จ‹ๅˆ™ๆ˜ฏไปฅ AI ไธบไธญๅฟƒ๏ผŒไบบ็ฑป่ฝฌๅž‹ไธบ็›‘็ฃ่€…ๅ’Œ่ต„ๆบๆไพ›่€…๏ผŒ้‡‡็”จๅŠจๆ€ไบบๆœบไบคไบ’็•Œ้ขๅ’Œๆ— ้ข„ๅˆถๆœ‰้™ๅŸŸ็š„ไปปๅŠก๏ผŒๅฎŒๆˆ่ง„ๆจกๅŒ–็š„ไธชๆ€งๅŒ–็”Ÿไบงใ€‚

3. ๅบ”็”จๅœบๆ™ฏ๏ผš่ฐไผš่ขซๆ›ฟไปฃ๏ผŒ่ฐไผš่ขซๅขžๅผบ๏ผŸ โ€‹

3.1 ๆทฑๅบฆๆ›ฟไปฃไธŽๅ˜้ฉๅž‹ โ€‹

ๅœจ่ฟ™็ฑปๅœบๆ™ฏไธญ๏ผŒAI ๅทฒ็ป่ƒฝๅคŸ้—ญ็ŽฏๅฎŒๆˆ 80% ไปฅไธŠ็š„ๅทฅไฝœ๏ผŒๅœจๆ˜พ่‘—้‡ๆž„ๅทฅไฝœๆจกๅผๅŽ๏ผŒ้ƒจๅˆ†ๅฒ—ไฝๅฏ่ƒฝ่ขซๆ›ฟไปฃ๏ผš

  • ๅŸบ็ก€็ผ–็จ‹๏ผšAI ไปฃ็ ๅŠฉๆ‰‹่‡ชๅŠจ็”Ÿๆˆๆ ทๆฟไปฃ็ ใ€ๆŽ’ๆŸฅ Bug๏ผŒๅˆ็บง Coders ๅฟ…้กปๅ‘ๆžถๆž„ๅ’Œๅคๆ‚้€ป่พ‘่ฝฌๅž‹ใ€‚

  • ๅŸบ็ก€ๅญฆไน ๏ผˆ็Ÿฅ่ฏ†็‚น / ๆŠ€่ƒฝ๏ผ‰๏ผš้ข˜ๅบ“ๅˆท้ข˜ใ€ๅŸบ็ก€็ญ”็–‘ใ€็Ÿฅ่ฏ†็‚นๆฃ€็ดขใ€‚AI ๅฏ็›ดๆŽฅๆ›ฟไปฃไบบๅทฅ็ญ”็–‘ / ่พ…ๅฏผ๏ผŒ่ฆ†็›– 80% ๅŸบ็ก€ๅญฆไน ้œ€ๆฑ‚ใ€‚

  • ๆ ‡ๅ‡†ๅŒ–ๅฎขๆœ๏ผšๅค„็† 90% ็š„ๅ”ฎๅŽๅ’จ่ฏขไธŽๆŸฅ่ฏข๏ผŒไบบๅทฅไป…่ดŸ่ดฃๅค„็†ๆž็ซฏๅคๆ‚็š„ๆƒ…ๆ„Ÿ่ฏ‰ๆฑ‚ใ€‚

3.2 ่พ…ๅŠฉๅขžๅผบๅž‹๏ผˆๅ‡็บงๅทฅไฝœไปทๅ€ผ๏ผ‰ โ€‹

AI ไฝœไธบๆ•ˆ็އๅทฅๅ…ท๏ผŒไธๆ›ฟไปฃๆ ธๅฟƒๅฒ—ไฝ๏ผŒ่€Œๆ˜ฏ่ดŸ่ดฃ่„ๆดป็ดฏๆดปใ€ๅ‡็บงๅทฅไฝœไปทๅ€ผ๏ผŒไบบ็ฑป่ดŸ่ดฃๅ†ณ็ญ–ไธŽๅฎก็พŽ๏ผš

  • ้ซ˜็บงๅ’จ่ฏข๏ผšAgent ๅฏ่‡ชๅŠจๆ•ด็†่กŒไธšๆ•ฐๆฎใ€็”Ÿๆˆๅˆ†ๆžๆŠฅๅ‘Šๅˆ็จฟ๏ผŒๅ’จ่ฏขๅธˆไปŽ"ไฟกๆฏๆ”ถ้›†"ไธญ่งฃๆ”พๅ‡บๆฅ๏ผŒๆ›ด่š็„ฆ็ญ–็•ฅๆดžๅฏŸใ€ๅฎขๆˆทๆฒŸ้€š็ญ‰้ซ˜ไปทๅ€ผ็Žฏ่Š‚ใ€‚
  • ๆทฑๅบฆ็ ”็ฉถ๏ผˆๅญฆๆœฏ / ่กŒไธš๏ผ‰๏ผšAgent ่‡ชๅŠจๅฎŒๆˆๆ–‡็Œฎๆฃ€็ดขใ€ๆ•ฐๆฎๆธ…ๆด—ไธŽๆŠฅๅ‘Šๆก†ๆžถๆญๅปบ๏ผŒ็ ”็ฉถ่€…ๅพ—ไปฅไธ“ๆณจไบŽๆ ธๅฟƒๅˆ›ๆ–ฐ็ป“่ฎบใ€ๆทฑๅบฆๆดžๅฏŸไธŽ็ ”็ฉถ่ฎพ่ฎก๏ผŒๅฎž็ŽฐไปŽ"่ต„ๆ–™ๆ•ด็†"ๅˆฐ"ๆ€ๆƒณๅˆ›้€ "็š„ไปทๅ€ผ่ทƒ่ฟใ€‚
  • ้ซ˜็บงๅญฆไน ๏ผˆ็ ”็ฉถๆ€ง / ๆŠ€่ƒฝ๏ผ‰๏ผšAgent ่พ…ๅŠฉๅฎŒๆˆ็Ÿฅ่ฏ†ไฝ“็ณปๆญๅปบใ€ๅคๆ‚ๆŠ€่ƒฝๆ‹†่งฃไธŽ่ฟ›้˜ถ่ทฏๅพ„่ง„ๅˆ’๏ผŒๅญฆไน ่€…ๅฐ†็ฒพๅŠ›ๆŠ•ๅ…ฅ็†่งฃๅ†…ๅŒ–ใ€ๅฎž่ทตๆŽข็ดขไธŽ่‡ชไธปๅˆ›ๆ–ฐ๏ผŒๅฎŒๆˆไปŽ"็Ÿฅ่ฏ†่Žทๅ–"ๅˆฐ"่ƒฝๅŠ›ๅปบๆž„"็š„่Œƒๅผ่ฝฌๅ˜ใ€‚

3.3 ็”ŸๆดปไธŽๅž‚็›ด้ข†ๅŸŸ๏ผˆ้•ฟๅฐพ่ฆ†็›–๏ผ‰ โ€‹

  • ๅฅๅบทๅŒปๆŠค๏ผš่™šๆ‹ŸๅฅๅบทๅŠฉๆ‰‹ๅŸบไบŽๅฏ็ฉฟๆˆด่ฎพๅค‡ๆ•ฐๆฎๆไพ› 24h ็›‘ๆŠค๏ผŒๅนถๅœจๅผ‚ๅธธๆ—ถไธปๅŠจ้ข„่ญฆใ€‚
  • ไธชๆ€งๅŒ–ๆ•™่‚ฒ๏ผšAgent ๅฐฑๅƒไธ€ไธช 1 ๅฏน 1 ๅŠฉๆ•™๏ผŒๆ นๆฎไฝ ็š„้”™้ข˜้€ป่พ‘ๅฎžๆ—ถ่ฐƒๆ•ดๆ•™ๅญฆๅคง็บฒ๏ผŒ่€Œ้žๆญป่ฎฐ็กฌ่ƒŒใ€‚
  • ไธชไบบ่ดขๅŠก๏ผš่‡ชๅŠจ่ฟฝ่ธช่ดฆๅ•ใ€ไผ˜ๅŒ–้ข„็ฎ—๏ผŒๅนถๆ นๆฎๅธ‚ๅœบๅŠจๆ€ๆไพ›ๅˆๆญฅๆŠ•่ต„ๅปบ่ฎฎใ€‚

4. ๆŠ€ๆœฏๆ‹†่งฃ๏ผšAgent ๆ ธๅฟƒ่ฆ็ด ไธŽๅ…ณ้”ฎๆŠ€ๆœฏ โ€‹

Agent = LLM (ๅคง่„‘) + ๅทฅๅ…ท (ๆ‰‹่„š) + ๆŒ‡ไปค (่กŒไธบๅ‡†ๅˆ™) + ่‡ชไธปๅทฅไฝœๆตๆ‰ง่กŒใ€‚

ไธ€ไธชๆˆ็†Ÿ็š„ Agent ็ณป็ปŸ้€šๅธธ็”ฑ่ง„ๅˆ’๏ผˆPlanning๏ผ‰โ€‹ใ€่ฎฐๅฟ†๏ผˆMemory๏ผ‰โ€‹ใ€ๅทฅๅ…ท๏ผˆTools๏ผ‰ๅ’Œ่กŒๅŠจ๏ผˆAction๏ผ‰ๅ››ๅคงๆ ธๅฟƒๆจกๅ—ๆž„ๆˆ๏ผš

about site background
  • ่ง„ๅˆ’๏ผˆPlanning๏ผ‰โ€‹๏ผš่งฃๅ†ณ"ๆ€Žไนˆๅš"
    • ไปปๅŠกๅˆ†่งฃ๏ผšๅฐ†โ€œๅธฎๆˆ‘ๅ†™ไธ€ไธช็”ตๅ•† Appโ€ๆ‹†่งฃไธบ UI ่ฎพ่ฎกใ€ๅŽ็ซฏๆžถๆž„ใ€ๆ•ฐๆฎๅบ“ๅปบๆจก็ญ‰ๅญ็›ฎๆ ‡ใ€‚
    • ๅๆ€ไธŽ่ฏ„ไปท๏ผšๅœจๆ‰ง่กŒ่ฟ‡็จ‹ไธญไธๆ–ญโ€œ่‡ชๆˆ‘ๆ‰น่ฏ„โ€๏ผŒๅ‘็Žฐ่ตฐไธ้€šๆ—ถๅŠๆ—ถๆމๅคดใ€‚
  • ่ฎฐๅฟ†๏ผˆMemory๏ผ‰โ€‹๏ผš่งฃๅ†ณ"ๆˆ‘ๆ˜ฏ่ฐ๏ผŒๆˆ‘ๅš่ฟ‡ไป€ไนˆ"
    • ็ŸญๆœŸ่ฎฐๅฟ†๏ผšไธŽไธŠไธ‹ๆ–‡ๅญฆไน ๆœ‰ๅ…ณ๏ผŒๅญ˜ๅ‚จๅฝ“ๅ‰็š„ๅฏน่ฏๆต๏ผŒ่ฎฐๅฝ•ๆœ€่ฟ‘็š„ไบคไบ’ๅކๅฒ๏ผŒๅฆ‚็”จๆˆทๆŒ‡ไปคใ€็ณป็ปŸๅ“ๅบ”็ญ‰ใ€‚
    • ้•ฟๆœŸ่ฎฐๅฟ†๏ผšๆถ‰ๅŠไฟกๆฏ็š„้•ฟๆ—ถ้—ดไฟ็•™ๅ’Œๆฃ€็ดข๏ผŒๅญ˜ๅ‚จ้•ฟๆœŸ็š„็Ÿฅ่ฏ†ๅบ“๏ผŒๅฆ‚็”จๆˆทไธชไบบไฟกๆฏใ€ไปปๅŠกๅކๅฒ็ญ‰๏ผŒ้€šๅธธ้€š่ฟ‡ๅˆฉ็”จๅค–้ƒจๅ‘้‡ๅญ˜ๅ‚จไธŽๅฟซ้€Ÿๆฃ€็ดขๆฅๅฎž็Žฐใ€‚
  • ๅทฅๅ…ท (Tools)๏ผš่งฃๅ†ณ"่ƒฝๅŠ›่พน็•Œ"ใ€‚LLM ่™ฝ็„ถๅšๅญฆ๏ผŒไฝ†ไธไผš็ฎ—้ซ˜้šพๅบฆๆ•ฐๅญฆ๏ผŒไนŸไธ็Ÿฅ้“ๆ˜จๅคฉ็š„ๅคฉๆฐ”๏ผŒๅทฅๅ…ทๅฐฑๆ˜ฏๅฎƒ็š„โ€œๅค–ๆŒ‚โ€ใ€‚
  • ่กŒๅŠจ๏ผˆAction๏ผ‰โ€‹๏ผš่งฃๅ†ณ"่ฝๅœฐๆ‰ง่กŒ"๏ผŒๅฐ†่ง„ๅˆ’ๅฅฝ็š„้€ป่พ‘่ฝฌๅŒ–ไธบๅ…ทไฝ“็š„ API ่ฐƒ็”จๆˆ–ไปฃ็ ๆ‰ง่กŒ๏ผŒๅนถๆŽฅๆ”ถ็Žฏๅขƒๅ้ฆˆ๏ผŒๅฝขๆˆ้—ญ็Žฏใ€‚

4.1 ่ง„ๅˆ’ โ€‹

Agent็š„่ง„ๅˆ’ๆ ธๅฟƒๅŒ…ๅซไปปๅŠกๅˆ†่งฃไธŽ่‡ชๆˆ‘ๅๆ€ไธค้ƒจๅˆ†๏ผšไปปๅŠกๅˆ†่งฃๆ˜ฏๅฐ†ๅคๆ‚็›ฎๆ ‡ๆ‹†่งฃไธบๆ˜“ๆ‰ง่กŒ็š„ๅญไปปๅŠก๏ผŒไธป่ฆๆœ‰ๅ…ˆๅˆ†่งฃๅŽ่ง„ๅˆ’ใ€่พนๅˆ†่งฃ่พน่ง„ๅˆ’ๅŠๅŸบไบŽ่ฏญ่จ€ๆจกๅž‹็š„ๅˆ†่งฃไธ‰็ฑปๆ–นๆณ•๏ผ›่‡ชๆˆ‘ๅๆ€ๅˆ™้€š่ฟ‡โ€œ็”Ÿๆˆ-ๅๆ€โ€ๅพช็Žฏ๏ผŒ็ป“ๅˆ็›ธๅ…ณๆก†ๆžถไธŽๆจกๅผไผ˜ๅŒ–ๆ‰ง่กŒ็ป“ๆžœใ€ๆๅ‡่ฟ่กŒ่ดจ้‡ใ€‚

่‹ฅ้œ€่ฟ›ไธ€ๆญฅไบ†่งฃ่ฏฆ็ป†็š„่ง„ๅˆ’ๆœบๅˆถ๏ผŒๅฏๆ‰“ๅผ€๏ผšAgent่ง„ๅˆ’ๆจกๅ—

4.2 ่ฎฐๅฟ† โ€‹

Agent็š„่ฎฐๅฟ†ๆ˜ฏๅ…ถๆ ธๅฟƒๆจกๅ—๏ผŒๅ€Ÿ้‰ดไบบ็ฑป่ฎฐๅฟ†ๅˆ†ไธบๆ„Ÿ่ง‰ใ€็ŸญๆœŸใ€้•ฟๆœŸไธ‰็ฑป๏ผŒ็ป“ๅˆๅ†…้ƒจใ€่ทจไปปๅŠกๅŠๅค–้ƒจ็Ÿฅ่ฏ†็งฏ็ดฏ๏ผŒๅบ”็”จไธญ้œ€้€‚้…ๅœบๆ™ฏ้€‰ๆ‹ฉๅญ˜ๅ‚จๆฃ€็ดขๆ–นๅผใ€‚

่ฎฐๅฟ†็ฑปๅž‹่ฏดๆ˜Ž
ๆ„Ÿๅฎ˜่ฎฐๅฟ†่ฟ™ๆ˜ฏๆœ€ๅŸบ็ก€็š„้˜ถๆฎต๏ผŒๆŒ‡ๆ™บ่ƒฝไฝ“ๆŽฅๆ”ถๅค–้ƒจ่พ“ๅ…ฅ๏ผˆๆ–‡ๆœฌใ€ๅ›พๅƒใ€่ฏญ้Ÿณ๏ผ‰็š„็žฌๆ—ถๆ„Ÿ็Ÿฅใ€‚ๅœจ LLM ไบคไบ’ไธญ๏ผŒ่ฟ™่กจ็Žฐไธบๆจกๅž‹ๅฏนๅฝ“ๅ‰ Prompt ็š„ๅŽŸๅง‹่งฃๆžใ€‚
็ŸญๆœŸ่ฎฐๅฟ†ไธป่ฆๆŒ‡ไธŠไธ‹ๆ–‡ๅญฆไน ๏ผˆIn-Context Learning๏ผ‰๏ผŒๅฎƒๅ—้™ไบŽ LLM ็š„ไธŠไธ‹ๆ–‡็ช—ๅฃ๏ผˆContext Window๏ผ‰๏ผŒๅญ˜ๅ‚จ็š„ๅชๆ˜ฏๆœ‰้™่ฝฎๆฌก็š„ๅฏน่ฏๅކๅฒ๏ผŒๅฆ‚็”จๆˆทๆŒ‡ไปคใ€็ณป็ปŸๅ“ๅบ”็ญ‰ใ€‚
โ€ข ๆ ธๅฟƒๅŠŸ่ƒฝ๏ผšๅญ˜ๅ‚จๅฝ“ๅ‰ๅฏน่ฏๆต๏ผŒ่ฎฐๅฝ•ๆœ€่ฟ‘ๅ‡ ่ฝฎ็š„ไบคไบ’ๅކๅฒ๏ผˆๆŒ‡ไปคใ€็ณป็ปŸๅ“ๅบ”ใ€ไธญ้—ดๆ€่€ƒ่ฟ‡็จ‹๏ผ‰ใ€‚
โ€ข ๆŠ€ๆœฏๅฎž็Žฐ๏ผš้€š่ฟ‡ๅฐ†ๅކๅฒๅฏน่ฏๆ‹ผๆŽฅๅœจๅฝ“ๅ‰็š„ Prompt ไธญๅฎž็Žฐใ€‚
้•ฟๆœŸ่ฎฐๅฟ†ๆถ‰ๅŠไฟกๆฏ็š„้•ฟๆ—ถ้—ดไฟ็•™ๅ’Œๅœจ้œ€่ฆๆ—ถ็š„็ฒพๅ‡†ๆฃ€็ดข๏ผŒ่ฟ™ๆ˜ฏ Agent ่ฟˆๅ‘้ซ˜ๅบฆ่‡ชไธป็š„ๅ…ณ้”ฎใ€‚
โ€ข ๆ ธๅฟƒๅŠŸ่ƒฝ๏ผšๅญ˜ๅ‚จ็”จๆˆท็š„ไธชไบบๅๅฅฝใ€้•ฟๆœŸ็š„้กน็›ฎ่ƒŒๆ™ฏใ€ๅކๅฒไปปๅŠก็š„ๆˆๅŠŸ็ป้ชŒๆˆ–ๅคฑ่ดฅๆ•™่ฎญใ€‚
โ€ข ๆŠ€ๆœฏๅฎž็Žฐ๏ผš้€šๅธธๅˆฉ็”จๅค–้ƒจๅ‘้‡ๆ•ฐๆฎๅบ“๏ผˆVector DB๏ผ‰ๅฎž็Žฐ๏ผŒ้€š่ฟ‡"ๅตŒๅ…ฅ๏ผˆEmbedding๏ผ‰+ ๅ‘้‡ๆฃ€็ดข"ๅœจๆ•ฐ็™พไธ‡ๆก่ฎฐๅฝ•ไธญๅฟซ้€Ÿๅฎšไฝ็›ธๅ…ณไฟกๆฏใ€‚

ๅฆ‚ๆžœ่ง„ๅˆ’ๆจกๅ—่ต‹ไบˆไบ† Agent โ€œ้€ป่พ‘โ€๏ผŒ้‚ฃไนˆ่ฎฐๅฟ†ๆจกๅ—ๅˆ™่ต‹ไบˆไบ†ๅฎƒโ€œ็ต้ญ‚โ€ๅ’Œโ€œ่ฟž็ปญๆ€งโ€ใ€‚้š็€้•ฟๆ–‡ๆœฌๆŠ€ๆœฏ๏ผˆLong Context๏ผ‰ๅ’Œๅ‘้‡ๆœ็ดข็ฎ—ๆณ•็š„ไธๆ–ญๆผ”่ฟ›๏ผŒAgent ็š„่ฎฐๅฟ†ๅฐ†ๅ˜ๅพ—่ถŠๆฅ่ถŠๆทฑ้‚ƒไธ”็ฒพๅ‡†ใ€‚

ๅฏนไบŽๅผ€ๅ‘่€…่€Œ่จ€๏ผŒ่ฎพ่ฎกไผ˜็ง€็š„่ฎฐๅฟ†ๆท˜ๆฑฐไธŽๆฃ€็ดข็ฎ—ๆณ•๏ผŒๆฏ”ๅ•็บฏ่ฟฝๆฑ‚ๅคงๆจกๅž‹็š„ๅ‚ๆ•ฐ่ง„ๆจกๆ›ดไธบ้‡่ฆใ€‚ๅชๆœ‰ๅฝ“ Agent ่ƒฝๅคŸโ€œ่ฎฐไฝโ€ไธšๅŠก็ป†่Š‚ๅนถโ€œๅฟ˜่ฎฐโ€ๆ— ๅ…ณๅ™ช้Ÿณๆ—ถ๏ผŒๅฎƒๆ‰็œŸๆญฃๅ…ทๅค‡ไบ†ไปŽโ€œๅฏน่ฏๅทฅๅ…ทโ€่ฟ›ๅŒ–ไธบโ€œๆ•ฐๅญ—ๅˆไผ™ไบบโ€็š„็ด ่ดจใ€‚

4.3 ๅทฅๅ…ท โ€‹

ๅ…ธๅž‹ๆกˆไพ‹๏ผšClaude Code ้›†ๆˆไบ†ๆ–‡ไปถ่ฏปๅ†™ใ€ๆŸฅๆ‰พใ€Bash ็ญ‰ไธ€็ณปๅˆ—้€š็”จๅทฅๅ…ท๏ผŒไฝฟๅ…ถๆˆไธบไธ€ไธช่ƒฝๅคŸ่‡ชไธปๅ†™ไปฃ็ ็š„"ๆ•ฐๅญ—ๅทฅ็จ‹ๅธˆ"ใ€‚

LLM ๆœฌ่บซๅœจๅค„็†ๅฎžๆ—ถไฟกๆฏ๏ผˆๅฆ‚ๅคฉๆฐ”๏ผ‰ใ€็ฒพ็กฎ่ฎก็ฎ—๏ผˆๅฆ‚้ซ˜้˜ถๆ•ฐๅญฆ๏ผ‰ๆˆ–็‰นๅฎš็งๅŸŸๆ•ฐๆฎ๏ผˆๅฆ‚ๅ…ฌๅธ่ดขๅŠกๆŠฅ่กจ๏ผ‰ๆ—ถๅญ˜ๅœจๅคฉ็„ถๅฑ€้™๏ผŒ่€Œๅทฅๅ…ท่ต‹ไบˆไบ† Agent ่ถ…่ถŠๆจกๅž‹ๅ†…ๆ ธ็š„่ƒฝๅŠ›ใ€‚ๆˆ‘ไปฌๅฏไปฅไปŽๅŠŸ่ƒฝๅฑžๆ€งๅ’Œๅฎž็Žฐๆ–นๅผไธคไธช็ปดๅบฆๆฅ็†่งฃ Agent ็š„ๅทฅๅ…ท็ฎฑ๏ผš

1ใ€ๆŒ‰ๅŠŸ่ƒฝๅฑžๆ€งๅˆ†็ฑป๏ผšAgent ่ƒฝๅšไป€ไนˆ๏ผŸ

็ฑปๅˆซๅŠŸ่ƒฝๅฎšไฝๆ ธๅฟƒ่ƒฝๅŠ›
ๆ•ฐๆฎ็ฑป (Data)่งฃๅ†ณ"ไฟกๆฏๅทฎ"้€š่ฟ‡ๆฃ€็ดขๅทฅๅ…ท๏ผˆRetrieval๏ผ‰ไปŽๆœ็ดขๅผ•ๆ“Žใ€ๆ•ฐๆฎๅบ“ๆˆ– PDF ๆ–‡ๆกฃไธญ่Žทๅ–ๆœ€ๆ–ฐไธŠไธ‹ๆ–‡ใ€‚
่กŒๅŠจ็ฑป (Action)่งฃๅ†ณ"ๆ‰ง่กŒๅŠ›"้€š่ฟ‡ API ่ฐƒ็”จๅœจๅค–้ƒจ็ณป็ปŸไธญไบง็”Ÿๅฝฑๅ“๏ผŒไพ‹ๅฆ‚ๅ‘้€้‚ฎไปถใ€ไฟฎๆ”น CRM ่ฎฐๅฝ•ๆˆ–ๆไบค่ฎขๅ•ใ€‚
็ผ–ๆŽ’็ฑป (Orchestration)่งฃๅ†ณ"ๅคๆ‚ๆ€ง"ๅฐ†ๅคšไธชๅญไปปๅŠก็ป„ๅˆๆˆไธ€ไธชๆ›ดๅคง็š„ไปปๅŠกใ€‚ไธ€ไธช Agent ไนŸๅฏไปฅ่ขซๅฐ่ฃ…ๆˆๅทฅๅ…ท๏ผŒไพ›ๅฆไธ€ไธชๆ›ด้ซ˜็บง็š„ Agent ่ฐƒ็”จ๏ผŒๅฎž็Žฐๅคšๆ™บไฝ“ๅไฝœใ€‚

2ใ€ๆŒ‰ๅฎž็Žฐๆ–นๅผๅˆ†็ฑป๏ผšAgent ๆ€Žไนˆ่ฐƒ็”จ๏ผŸ

ๅฎž็Žฐๆ–นๅผ่ฏดๆ˜Ž
ๅ‡ฝๆ•ฐ่ฐƒ็”จ (Function Calling)ๆจกๅž‹็”Ÿๆˆ็ป“ๆž„ๅŒ–ๆŒ‡ไปค๏ผŒ็”ฑๅฎขๆˆท็ซฏๅœจๆœฌๅœฐๆ‰ง่กŒ๏ผˆๅฆ‚ๆ“ไฝœๆœฌๅœฐๆ–‡ไปถๆˆ–ๅ†…็ฝ‘ๆ•ฐๆฎๅบ“๏ผ‰๏ผŒๅ…ผ้กพๅฎ‰ๅ…จๆ€งไธŽ็ตๆดปๆ€งใ€‚
ๆ ‡ๅ‡†ๆ‰ฉๅฑ• (Extensions)้€š่ฟ‡ๆ ‡ๅ‡†ๅŒ–็š„ๅ่ฎฎ๏ผˆๅฆ‚ OpenAPI๏ผ‰็›ดๆŽฅ่ฟžๆŽฅๅค–้ƒจๆœๅŠก๏ผŒไฝฟ Agent ่ƒฝๅคŸๅƒไน้ซ˜็งฏๆœจไธ€ๆ ทๆ— ็ผๅฏนๆŽฅๅ„็งไบ‘็ซฏ APIใ€‚
่ฎก็ฎ—ๆœบไฝฟ็”จ (Computer Use)ๅฏนไบŽๆฒกๆœ‰ API ็š„้™ˆๆ—ง็ณป็ปŸ๏ผŒAgent ๅฏไปฅ้€š่ฟ‡่ง†่ง‰่ฏ†ๅˆซๅ’Œๆจกๆ‹Ÿ้ผ ๆ ‡้”ฎ็›˜๏ผŒๅƒไบบ็ฑปไธ€ๆ ท็›ดๆŽฅๆ“ไฝœ่ฝฏไปถ็•Œ้ขใ€‚

4.4 ่กŒๅŠจ โ€‹

่กŒๅŠจ๏ผˆAction๏ผ‰ๆจกๅ—ๆ˜ฏ Agent ็š„ๆ‰ง่กŒๆœบๆž„๏ผŒๅฎƒ็š„่Œ่ดฃๆ˜ฏๅฐ†่ง„ๅˆ’้˜ถๆฎต็”Ÿๆˆ็š„"่“ๅ›พ"่ฝฌๅŒ–ไธบ็‰ฉ็†ไธ–็•Œๆˆ–ๆ•ฐๅญ—็ณป็ปŸไธญ็š„"ๅŠจไฝœ"ใ€‚ๅฎƒไธไป…ๆ˜ฏๆŒ‡ไปค็š„่พ“ๅ‡บ่€…๏ผŒๆ›ดๆ˜ฏ็Žฏๅขƒๅ้ฆˆ็š„ๆŽฅๆ”ถ่€…ใ€‚

่กŒๅŠจๆจกๅ—็š„ๆ ธๅฟƒๅœจไบŽๅฎŒๆˆไปฅไธ‹ไธ‰ไธชๅฑ‚้ข็š„้€ป่พ‘้—ญ็Žฏ๏ผš

ๆจกๅ—่ฏดๆ˜Ž็คบไพ‹
ๅŠจไฝœ็”Ÿๆˆ (Action Generation)ๅฐ†ๅคๆ‚็š„ๅญ็›ฎๆ ‡่ฝฌๅŒ–ไธบๅ…ทไฝ“็š„ๆญฅ้ชค่ง„ๅˆ’ๆ˜ฏ"่ฐƒๆŸฅๅธ‚ๅœบ่ถ‹ๅŠฟ"๏ผŒ่กŒๅŠจๅˆ™ๆ˜ฏๅ…ˆ"ๆœ็ดขๅ…ณ้”ฎ่ฏ"๏ผŒๅ†"ๆๅ–็ฝ‘้กตๅ†…ๅฎน"๏ผŒๆœ€ๅŽ"็”Ÿๆˆๆ‘˜่ฆ"
ๅŠจๆ€่ฐƒๆ•ด (Dynamic Adaptation)่กŒๅŠจๅนถ้žๆญปๆฟ็š„ๆ‰ง่กŒ่„šๆœฌ๏ผŒAgent ไผšๆ นๆฎๅทฅๅ…ท่ฟ”ๅ›ž็š„็ป“ๆžœ๏ผˆๅ้ฆˆ๏ผ‰ๅฎžๆ—ถ่ฐƒๆ•ด็ญ–็•ฅๅฆ‚ๆžœไธ€ๆฌกๆœ็ดขๆฒกๆœ‰ๆ‰พๅˆฐ็ญ”ๆกˆ๏ผŒ่กŒๅŠจๆจกๅ—ไผšๅ†ณๅฎšๅฐ่ฏ•ไธๅŒ็š„ๅ…ณ้”ฎ่ฏๆˆ–ๅˆ‡ๆขๅทฅๅ…ท
็Žฏๅขƒไบคไบ’ (Interaction)ๆ˜Ž็กฎ่กŒๅŠจ็š„่Œƒๅ›ด๏ผŒๅŒ…ๆ‹ฌๅ†…้ƒจ่กŒๅŠจไธŽๅค–้ƒจๅทฅๅ…ท่ฐƒ็”จๅˆฉ็”จ LLM ็š„ๅ†…ๅœจ่ƒฝๅŠ›๏ผˆๅฆ‚ๆŽจ็†ใ€ๆ€ป็ป“๏ผ‰่ฟ›่กŒๅ†…้ƒจ่กŒๅŠจ๏ผŒไปฅๅŠ้€š่ฟ‡่ฐƒ็”จๅค–้ƒจๅทฅๅ…ท๏ผˆๅฆ‚ APIใ€ๆ•ฐๆฎๅบ“๏ผ‰ๆ‰ฉๅฑ•่กŒๅŠจ่พน็•Œ๏ผŒๆœ€็ปˆ่พพๆˆ้ข„่ฎพ็š„่กŒๅŠจ็›ฎๆ ‡

ๆ•ดไฝ“ๆฅ่ฎฒ๏ผŒ่กŒๅŠจๆจกๅ—็กฎไฟไบ† Agent ็š„"่จ€่กŒไธ€่‡ด"๏ผšๅฎƒๅŸบไบŽ่ฎฐๅฟ†ๆฅๅ†ณ็ญ–๏ผŒๅˆฉ็”จๅทฅๅ…ทๆฅๆ–ฝๅฑ•๏ผŒๆœ€็ปˆ้€š่ฟ‡ไธๆ–ญไธŽ็Žฏๅขƒไบ’ๅŠจ๏ผŒๅฐ†ๆŠฝ่ฑก็š„็›ฎๆ ‡ๅ˜ไธบ็œŸๅฎž็š„็ป“ๆžœใ€‚

5. Agent ็š„ๅˆ†็ฑปไธŽๆœชๆฅ โ€‹

็›ฎๅ‰ Agent ้ข†ๅŸŸๅฐšๆ— ็ปŸไธ€ๆ ‡ๅ‡†๏ผŒไฝ†ๆˆ‘ไปฌๅฏไปฅๆŒ‰ๅ…ถไธšๅŠกๆทฑๅบฆไธŽๅไฝœ่Œƒๅผๅฐ†ๅ…ถๅฝ’็บณไธบไบ”ๅคงๅฝขๆ€ใ€‚ไปŽๅ•ๅ…ตไฝœๆˆ˜็š„โ€œๅ…จ่ƒฝๅคง่„‘โ€ๅˆฐๆˆ็พค็ป“้˜Ÿ็š„โ€œๆ•ฐๅญ—ๅ›ข้˜Ÿโ€๏ผŒๅฎƒไปฌๆญฃไปฅไธๅŒ็š„่ฟ›ๅŒ–่ทฏๅพ„ๆธ—้€่ฟ›ๅ„็งๅคๆ‚็š„็”Ÿไบงๅœบๆ™ฏใ€‚ๆŽฅไธ‹ๆฅ๏ผŒๆˆ‘ไปฌๅฐ†้€ไธ€ๆ‹†่งฃ่ฟ™ไบ”็ง้‡ๅก‘็”ŸไบงๅŠ›็š„ๆ ธๅฟƒ็ฑปๅˆซใ€‚

5.1 ้€š็”จ Agent โ€‹

้š็€ๆŠ€ๆœฏ็š„ๆผ”่ฟ›๏ผŒไธš็•Œๅฏนๆ™บ่ƒฝไฝ“็š„่ฎค็ŸฅไนŸๅ‘็”Ÿไบ†ๅ˜ๅŒ–๏ผš็œŸๆญฃ็š„ Agent ไธๅบ”ๅชๆ˜ฏ่ขซๅŠจๅ“ๅบ”ไบบ็ฑปๆŒ‡ไปค็š„"่Šๅคฉๆ’ไปถ"๏ผŒ่€Œๆ˜ฏไธ€ไธช่‡ชไธป็š„็›ฎๆ ‡ๆ‰ง่กŒ่€…ใ€‚

ๅœจ่ฟ™็ง่ƒŒๆ™ฏไธ‹๏ผŒ้€š็”จ Agent (General Agent) ่„ฑ้ข–่€Œๅ‡บใ€‚ๅฎƒๅนถ้žไธบ็‰นๅฎšๅ•ไธ€ไปปๅŠก๏ผˆๅฆ‚โ€œๅ†™ไธ€ๆฎตไปฃ็ โ€๏ผ‰่€Œ็”Ÿ๏ผŒ่€Œๆ˜ฏไธ€ไธชๆ‹ฅๆœ‰ๅนฟๆณ›่ƒฝๅŠ›่พน็•Œใ€่ƒฝๅคŸ่งฃๅ†ณๅผ€ๆ”พๅผ้—ฎ้ข˜็š„ๆ™บ่ƒฝ็ณป็ปŸใ€‚ๅ…ถ่ฟไฝœ้€ป่พ‘ๅฏไปฅ็ฒพ็‚ผไธบโ€œๆ€่€ƒ๏ผˆThink๏ผ‰ใ€่กŒๅŠจ๏ผˆAct๏ผ‰ใ€ๅญฆไน ๏ผˆLearn๏ผ‰โ€็š„้—ญ็Žฏ๏ผš

้˜ถๆฎตๆ ธๅฟƒๅŠŸ่ƒฝ่ฏฆ็ป†่ฏดๆ˜Ž
ๆ€่€ƒไปปๅŠกๆ‹†่งฃไธŽ่ทฏๅพ„่ง„ๅˆ’ๆ™บ่ƒฝไฝ“ๆŽฅๆ”ถๅˆฐๆจก็ณŠ็›ฎๆ ‡๏ผˆๅฆ‚"ๅธฎๆˆ‘่ฐƒ็ ”ๅนถๆญๅปบไธ€ไธชๆŠ€ๆœฏๅšๅฎข"๏ผ‰ๅŽ๏ผŒไผš่ฟ›่กŒไปปๅŠกๆ‹†่งฃไธŽ่ทฏๅพ„่ง„ๅˆ’๏ผŒๅนถๅœจๆ‰ง่กŒ่ฟ‡็จ‹ไธญไธๆ–ญๅๆ€"ๅฝ“ๅ‰ๆ–นๆกˆๆ˜ฏๅฆๆœ€ไผ˜๏ผŸๆ˜ฏๅฆ้œ€่ฆ่ฐƒๆ•ด๏ผŸ"
่กŒๅŠจ่ฐƒ็”จ้ซ˜ๅบฆ่‡ชๅŠจๅŒ–็š„ๅŽŸๅญ่ƒฝๅŠ›ๅŸบไบŽๆ€่€ƒ็ป“ๆžœ๏ผŒ่ฐƒ็”จ้ซ˜ๅบฆ่‡ชๅŠจๅŒ–็š„ๅŽŸๅญ่ƒฝๅŠ›ใ€‚้™คไบ†่ฏปๅ†™ๆ–‡ไปถใ€็ฝ‘้กตๆต่งˆใ€่ฟ่กŒ็ปˆ็ซฏๅ‘ฝไปคๆˆ–่ฎฟ้—ฎๆ•ฐๆฎๅบ“ๅค–๏ผŒๅธธ่ง็š„ๅŽŸๅญ่ƒฝๅŠ›่ฟ˜ๅŒ…ๆ‹ฌ๏ผš
โ€ข ็ŽฏๅขƒๆŽขๆต‹๏ผš่‡ชๅŠจ่ฏ†ๅˆซๅฝ“ๅ‰ๆ“ไฝœ็ณป็ปŸ็Žฏๅขƒใ€ๅฎ‰่ฃ…็ผบๅคฑ็š„ไพ่ต–ๅŒ…ใ€‚
โ€ข ่ง†่ง‰ไบคไบ’๏ผšๅœจๆฒกๆœ‰ API ็š„ๆƒ…ๅ†ตไธ‹๏ผŒ้€š่ฟ‡ๅฑๅน•ๆˆชๅ›พ่ฏ†ๅˆซ UI ๅ…ƒ็ด ๅนถๆจกๆ‹Ÿ็‚นๅ‡ปใ€‚
โ€ข ่ต„ๆบ่ฐƒๅบฆ๏ผš่‡ชๅŠจ็”ณ่ฏท API Keyใ€้…็ฝฎไบ‘็ซฏๆœๅŠกๆˆ–่งฆๅ‘ GitHub Actions ๅทฅไฝœๆตใ€‚
โ€ข ่ทจๅบ”็”จ็ผ–ๆŽ’๏ผšๅฐ† A ๅบ”็”จ็š„่พ“ๅ‡บๅค„็†ๅŽ๏ผŒ็ฒพๅ‡†ๅกซๅ……ๅˆฐ B ๅบ”็”จ็š„่กจๅ•ไธญใ€‚
ๅญฆไน ไธชไบบๅๅฅฝๆฒ‰ๆท€ไธŽ็ป้ชŒ็งฏ็ดฏ่ฟ™ๆ˜ฏ้€š็”จ Agent ่ฟ›้˜ถ็š„ๅ…ณ้”ฎใ€‚ๅฎƒ่ƒฝไปŽไบคไบ’ไธญ่ฎฐไฝไฝ ็š„ไธชไบบๅๅฅฝ๏ผˆไพ‹ๅฆ‚๏ผšๆŠฅๅ‘Šๅๅฅฝ PDF ๆ ผๅผใ€ไปฃ็ ้ฃŽๆ ผๅ€พๅ‘ไบŽ TypeScript๏ผ‰๏ผŒๅนถๅฐ†ๅ…ถๆฒ‰ๆท€ไธบ"็ป้ชŒ"๏ผŒไฝฟไธ‹ไธ€ๆฌกๅ†ณ็ญ–ๆ›ด็ฌฆๅˆ้ข„ๆœŸใ€‚

ไธบไบ†ๅบ”ๅฏนไธๅŒๅคๆ‚็จ‹ๅบฆ็š„ไปปๅŠก๏ผŒไธš็•Œๆผ”ๅŒ–ๅ‡บไบ†ไธค็งไธปๆต็š„ๅฎž็Žฐ่Œƒๅผ๏ผš

  • ReAct ๅƒๆ˜ฏไธ€ไธชๅๅบ”ๆ•ๆท็š„**โ€œ็Žฐๅœบๅ่ฐƒๅ‘˜โ€๏ผŒๆ“…้•ฟ้šๆœบๅบ”ๅ˜ใ€‚
  • Plan-and-Execute ๅˆ™ๆ›ดๅƒไธ€ไฝ็ป้ชŒไธฐๅฏŒ็š„โ€œ้กน็›ฎ็ป็†โ€**๏ผŒไปฅๅ…จๅฑ€่ง„ๅˆ’่ง้•ฟใ€‚
่Œƒๅผ็ฑปๅž‹ๆ ธๅฟƒ้€ป่พ‘ไผ˜ๅŠฟ้€‚็”จๅœบๆ™ฏ
ReAct Agent้‡‡็”จ"ๆ€่€ƒ-่กŒๅŠจ-่ง‚ๆต‹"ๅฐๆญฅๅฟซ่ท‘ๆจกๅผใ€‚ๆจกๅž‹่ตฐไธ€ๆญฅ็œ‹ไธ€ๆญฅ๏ผŒๆ นๆฎ็Žฏๅขƒ็š„ๅณๆ—ถๅ้ฆˆ่ฐƒๆ•ดไธ‹ไธ€ๆญฅๅŠจไฝœใ€‚ๅฎžๆ—ถๆ€งๅผบใ€ไบคไบ’่‡ช็„ถใ€้€ป่พ‘้“พ่ทฏ้€ๆ˜Žใ€‚่พƒไธบ็ฎ€ๅ•็š„ไปปๅŠกใ€ๅฏนๆˆๆœฌๆ•ๆ„Ÿ็š„่ฝป้‡็บงๅœบๆ™ฏใ€‚
Plan-and-Execute Agentๅ…ˆ็”ฑไธ€ไธช"ๅคง่„‘"ๅฐ†ๅคๆ‚็›ฎๆ ‡ๆ‹†่งฃไธบๅฎŒๆ•ด็š„ๆญฅ้ชคๅˆ—่กจ๏ผˆTodo List๏ผ‰๏ผŒๅ†็”ฑๅฆไธ€ๅช "ๆ‰‹" ่ดŸ่ดฃ้€ไธ€้ซ˜ๆ•ˆๆ‰ง่กŒใ€‚ๅ‡†็กฎ็އๆž้ซ˜๏ผŒ่ƒฝๅคŸๅค„็†ๅ…ทๅค‡ๆทฑๅบฆไพ่ต–ๅ…ณ็ณป็š„ๅคๆ‚ๅทฅ็จ‹ใ€‚้œ€่ฆ้•ฟ็จ‹ๆŽจ็†็š„ไปปๅŠกใ€่ฝฏไปถๅผ€ๅ‘ใ€ๆทฑๅบฆ่กŒไธš่ฐƒ็ ”ใ€‚

5.2 ๅคšๆ™บ่ƒฝไฝ“็ณป็ปŸ (Multi-Agent System) โ€‹

ๅคšๆ™บ่ƒฝไฝ“็ณป็ปŸ้€š่ฟ‡ โ€œไธ“ๆณจๅญไปปๅŠกใ€ไธŠไธ‹ๆ–‡่งฃ่€ฆใ€ๅนถ่กŒๆŽจ่ฟ›โ€ ็š„้€ป่พ‘๏ผŒ่ฎฉ AI ไปŽไธ€ไธชไบบ็š„็‹ฌ่ง’ๆˆ๏ผŒๆผ”ๅ˜ๆˆไบ†ๆŒ‡ๆŒฅ่‹ฅๅฎš็š„ไบคๅ“ไนใ€‚ๅฎƒไธไป…ๆ้ซ˜ไบ†ไปปๅŠก็š„ๅฎŒๆˆไธŠ้™๏ผŒๆ›ด่ฎฉ AI ็š„ๅทฅไฝœๅ˜ๅพ—ๅฏ้ข„ๆต‹ใ€ๅฏ็ฎก็†ใ€‚

ๅฝ“้ขๅฏน่พƒๅคๆ‚็š„ๅทฅ็จ‹ไปปๅŠกๆ—ถ๏ผŒๅ•ไธช Agent ๅพ€ๅพ€ไผšๅ› ไธบไปปๅŠก้“พไฟกๆฏ้‡ๅคชๅคง่€Œไฟกๆฏ้‡ๅคชๅคง่€Œ้™ทๅ…ฅ"ๆททไนฑ"ๆˆ–ๅ‡บ้”™ใ€‚ๅคšๆ™บ่ƒฝไฝ“็ณป็ปŸ (Multi-Agent System) ็š„ๅ‡บ็Žฐ๏ผŒๆœฌ่ดจไธŠๆ˜ฏ่ฎฉ AI ็š„ๅทฅไฝœๆจกๅผไปŽ"ๅ•ๆ‰“็‹ฌๆ–—"่ฝฌๅ‘"ๅ›ข้˜Ÿๅไฝœ"ใ€‚

ๅœจ MAS ๆžถๆž„ไธญ๏ผŒไธปๆ™บ่ƒฝไฝ“๏ผˆLead Agent๏ผ‰ๅฏไปฅๆ นๆฎ้œ€ๆฑ‚็”Ÿๆˆๅคšไธช็‹ฌ็ซ‹็š„ๅญๆ™บ่ƒฝไฝ“๏ผˆSubagent๏ผ‰ใ€‚่ฟ™ไบ›ๅญๆ™บ่ƒฝไฝ“ๅƒๆ˜ฏไธ€็พคไธ“ๆณจ็š„ไธ“ๅฎถ๏ผŒๅ„่‡ชๅค„็†็‰นๅฎš็š„ๅญไปปๅŠก๏ผŒไปŽ่€Œๅธฆๆฅไบ†ๅ››ไธช็ปดๅบฆ็š„ๆ ธๅฟƒไผ˜ๅŠฟ๏ผš

็ปดๅบฆ่ฏฆ็ป†่ฏดๆ˜Ž
ไธŠไธ‹ๆ–‡็š„็ฒพ็ป†้š”็ฆป่ฟ™ๆ˜ฏๅคšๆ™บ่ƒฝไฝ“ๆœ€ๅผบๆ‚็š„ๅœฐๆ–นใ€‚ๆฏไธชๅญๆ™บ่ƒฝไฝ“ๆ‹ฅๆœ‰็‹ฌ็ซ‹็š„่ฎฐๅฟ†็ฉบ้—ด๏ผŒ็กฎไฟ็ป†็ขŽ็š„ไธญ้—ดไปปๅŠกไธไผš"ๆฑกๆŸ“"ไธปๅฏน่ฏ็Žฏๅขƒใ€‚ไพ‹ๅฆ‚๏ผŒ่ดŸ่ดฃๆœ้›†ๆตท้‡ๅŽŸๅง‹ๆ•ฐๆฎ็š„ Subagent๏ผŒๅ…ถ็นๆ‚็š„ๆœ็ดข่ฎฐๅฝ•ไผš่ขซ้š”็ฆปๅœจ่‡ชๅทฑ็š„ไธŠไธ‹ๆ–‡ไธญ๏ผŒๅชๆŠŠๆœ€็ปˆๆ็‚ผ็š„็ป“่ฎบๆฑ‡ๆŠฅ็ป™ไธปๆ™บ่ƒฝไฝ“๏ผŒ่ฎฉไธป่„‘ๅง‹็ปˆไฟๆŒๆธ…้†’็š„ๅคงๅฑ€่ง‚ใ€‚
ๆž่‡ด็š„ๅนถ่กŒๅŒ–ๆ•ˆ็އๅœจๅ• Agent ๆจกๅผไธ‹๏ผŒไปปๅŠกๅช่ƒฝไธ€ไปถๆŽฅไธ€ไปถๅœฐๅš๏ผ›่€Œๅœจ MAS ไธญ๏ผŒๅคšไธชๅญๆ™บ่ƒฝไฝ“ๅฏไปฅๅนถ่กŒ่ฟ่กŒใ€‚ๅฐฑๅƒไธ€ไธช่ฐƒ็ ”้กน็›ฎ๏ผŒๅคšไธช็ ”็ฉถๅ‘˜ๅฏไปฅๅŒๆ—ถๅœจไธๅŒ้ข†ๅŸŸๆœ้›†ๆ•ฐๆฎ๏ผŒๆ˜พ่‘—ๅŠ ๅฟซไบ†ๅคๆ‚ๅทฅไฝœๆต็š„ไบคไป˜้€Ÿๅบฆใ€‚
ไธ“ไธšๆŒ‡ไปค็š„ๆทฑๅบฆๅฎšๅˆถๆˆ‘ไปฌๅฏไปฅไธบไธๅŒ็š„ Subagent ๆณจๅ…ฅไธๅŒ็š„"็ต้ญ‚"ใ€‚่ดŸ่ดฃ"ไปฃ็ ๅฎก่ฎก"็š„ๆ‹ฅๆœ‰ๆœ€ไธฅ่‹›็š„ๅฎ‰ๅ…จ่ง„่Œƒ๏ผŒ่ดŸ่ดฃ"ๆ–‡ๆกˆๆถฆ่‰ฒ"็š„ๆ‹ฅๆœ‰็ป†่…ป็š„ๅ“็‰Œ่ฐƒๆ€งใ€‚่ฟ™็งๆŒ‡ไปค้š”็ฆป้ฟๅ…ไบ†ๅœจๅŒไธ€ไธชๆ็คบ่ฏ๏ผˆPrompt๏ผ‰ไธญๅ †็ Œๅคชๅคš่ฆๆฑ‚่€Œๅฏผ่‡ด็š„ๆŒ‡ไปคๅคฑๆ•ˆใ€‚
ๅทฅๅ…ท่ฐƒ็”จ็š„ๅฎ‰ๅ…จ่พน็•Œๆˆ‘ไปฌๅฏไปฅ็ฒพๅ‡†้™ๅˆถๆฏไธชๅญๆ™บ่ƒฝไฝ“็š„ๆƒ้™ใ€‚ไพ‹ๅฆ‚๏ผŒๆŸฅ่ฏขๆ•ฐๆฎ็š„ Subagent ๅชๆœ‰"ๅช่ฏป"ๆƒ้™๏ผŒ่€Œ"ๅ‘้€้‚ฎไปถ"ๆˆ–"ไฟฎๆ”นๆ•ฐๆฎๅบ“"ๆƒ้™่ขซไธฅๆ ผ้™ๅˆถๅœจ็‰นๅฎš็š„ Subagent ๆ‰‹ไธญ๏ผŒๆžๅคง้™ไฝŽไบ† AI ไบง็”Ÿๆ„ๅค–่กŒไธบ็š„้ฃŽ้™ฉใ€‚

ๅ…ธๅž‹ๆกˆไพ‹๏ผšDeep Research ๆทฑๅบฆ่ฐƒ็ ”็ณป็ปŸ โ€‹

ไปฅไธ€ไธชๅคๆ‚็š„่ฐƒ็ ”ๆต็จ‹ไธบไพ‹๏ผŒ็ณป็ปŸไผš้€š่ฟ‡ Lead Agent + Subagent ็š„ๅˆ†ๅฑ‚ๆžถๆž„ๅฎŒ็พŽ้—ญ็Žฏ๏ผš

  • Lead Agent (ๅ่ฐƒๅ‘˜)๏ผš่ดŸ่ดฃโ€œ่„‘ๅŠ›ๆ‹†่งฃโ€๏ผŒๅฐ†ไธป้ข˜ๅˆ†่งฃไธบ่‹ฅๅนฒๅญ่ฏพ้ข˜๏ผŒๅนถๅง”ๆดพไปปๅŠก๏ผŒๅฎƒไปŽไธไบฒ่‡ชๆŸฅ่ต„ๆ–™๏ผŒไฟๆŒ็ปๅฏน็š„็ฎ€ๆ•ˆใ€‚
  • Researcher (็ ”็ฉถๅ‘˜)๏ผšๅคšไธชๅฎžไพ‹ๅนถ่กŒๅ‡บๅ‘๏ผŒๆฏไธชไธ“ๆณจไบŽไธ€ไธชๅญไธป้ข˜๏ผŒๆœ้›†่‡ณๅฐ‘ 10-15 ไธช็กฌๆ ธๆ•ฐๆฎ็‚นใ€‚
  • Data Analyst (ๆ•ฐๆฎๅˆ†ๆžๅธˆ)๏ผšไป…่ดŸ่ดฃ่ฏปๅ–็ ”็ฉถ็ฌ”่ฎฐ๏ผŒๅˆฉ็”จ Python ็”Ÿๆˆ็›ด่ง‚็š„ๅ›พ่กจใ€‚
  • Report Writer (ๆŠฅๅ‘Šๆ’ฐๅ†™ๅ‘˜)๏ผš ๆฑ‡ๆ€ปๆ‰€ๆœ‰็ ”็ฉถๆˆๆžœ๏ผŒๆœ€็ปˆ่ฐƒ็”จๅทฅๅ…ท็”Ÿๆˆไธ€ไปฝไธ“ไธš็š„ PDF ๆŠฅๅ‘Šใ€‚

5.3 ็Ÿฅ่ฏ†ๅž‹ Agent โ€‹

ๅฆ‚ๆžœ่ฏด้€š็”จ Agent ๆ“…้•ฟ้€ป่พ‘ๆŽจ็†๏ผŒ้‚ฃไนˆๅคšๆ™บ่ƒฝไฝ“ๆ“…้•ฟๆต็จ‹ๅไฝœ๏ผŒ็Ÿฅ่ฏ†ๅž‹ Agent ็š„ๆ ธๅฟƒไฝฟๅ‘ฝๅˆ™ๆ˜ฏ"็†่งฃๅนถ่ฝฌๅŒ–ๆตท้‡้ž็ป“ๆž„ๅŒ–ๆ•ฐๆฎ"ใ€‚ๅฎƒไธไป…ไป…ๆ˜ฏไธ€ไธช็ฎ€ๅ•็š„ๆœ็ดขๅทฅๅ…ท๏ผŒ่€Œๆ˜ฏไธ€ไธช่ƒฝๅคŸๆทฑๅบฆ็†่งฃ็งๅŸŸ็Ÿฅ่ฏ†ๅนถๅŸบไบŽๆญค่ฟ›่กŒๅคๆ‚ๅ†ณ็ญ–็š„ๆ™บ่ƒฝๅฎžไฝ“ใ€‚

ๅœจไผไธš็บงๅบ”็”จไธญ๏ผŒๆ•ฐๆฎๅพ€ๅพ€ๆ•ฃ่ฝๅœจ็‰ฉ็†ๆ–‡ๆกฃใ€ไปฃ็ ไป“ๅบ“ใ€Slack ่Šๅคฉ่ฎฐๅฝ•ๆˆ–ๅ…ณ็ณปๅž‹ๆ•ฐๆฎๅบ“ไธญใ€‚็Ÿฅ่ฏ†ๅž‹ Agent ็š„ๆ ธๅฟƒ่ฏ‰ๆฑ‚ๅœจไบŽ๏ผš

  • "ๅ…จๅฑ€็†่งฃไธŽ่ทจๅบ“ๅ…ณ่”"๏ผšๅฎƒ่ƒฝ่ทจ่ถŠไธๅŒ็š„ๆ–‡ๆกฃๆ ผๅผไธŽๅญ˜ๅ‚จไป‹่ดจ๏ผŒๅปบ็ซ‹่ตท็Ÿฅ่ฏ†้—ด็š„้€ป่พ‘่”็ณปใ€‚

  • "ๅŠจๆ€ๆ›ดๆ–ฐไธŽๅฎžๆ—ถๅŒๆญฅ"๏ผšๅฎƒ่ƒฝๆ„Ÿ็Ÿฅ็Žฏๅขƒๅ้ฆˆ๏ผŒ้š็€้กน็›ฎ่ฟ›ๅฑ•่‡ชๅŠจๅŒๆญฅๆœ€ๆ–ฐ็š„ไผš่ฎฎ็บช่ฆๆˆ–ๆŠ€ๆœฏๆ–นๆกˆใ€‚

  • "ๆทฑๅบฆ็š„็Ÿฅ่ฏ†ๆŽจ็†"๏ผš ไธๆญขๆ˜ฏ"ๆฃ€็ดข"๏ผŒๆ›ดๆ˜ฏ"ๆ€่€ƒ"ใ€‚

ๅบ”็”จๅœบๆ™ฏ็คบไพ‹๏ผš

ๆƒณ่ฑกไฝ ้œ€่ฆๅค็›˜ไธ€ไธชๅคๆ‚้กน็›ฎ็š„่ฟ›ๅบฆใ€‚็Ÿฅ่ฏ†ๅž‹ Agent ๅฏไปฅ็žฌ้—ดๆ‰ซๆ่ฟ‡ๅŽปไธ‰ไธชๆœˆ็š„ๆ‰€ๆœ‰้กน็›ฎไผš่ฎฎ็บช่ฆใ€Slack ่ฎจ่ฎบ่ฎฐๅฝ•ๅ’ŒๆŠ€ๆœฏๆ–‡ๆกฃ๏ผŒๆœ€็ปˆไธบไฝ ๆ€ป็ป“ๅ‡บ๏ผš"ๅฏผ่‡ด X ้กน็›ฎๅปถๆœŸ็š„ๆ ธๅฟƒๅŽŸๅ› ไธป่ฆ้›†ไธญๅœจ A ๆŽฅๅฃ็š„ๆƒ้™ๅ˜ๅŠจ๏ผŒไปฅๅŠ B ๅ›ข้˜Ÿๅœจ็ฌฌไบŒๅ‘จ็š„ไบบๅŠ›็ผบๅฃใ€‚"

่ฟ™็ง Agent ็š„ๆ ธๅฟƒไปทๅ€ผๅœจไบŽ๏ผŒๅฎƒๅฐ†ๅŽŸๆœฌ"ๆญป"็š„่ต„ๆ–™ๅบ“ๅ˜ๆˆไบ†"ๆดป"็š„็”ŸไบงๅŠ›ๅทฅๅ…ทใ€‚ๆ— ่ฎบๆ˜ฏๅŸบไบŽๅ…จๅฑ€ๆ–‡ๆกฃๅ›ž็ญ”ๅคๆ‚้—ฎ้ข˜๏ผŒ่ฟ˜ๆ˜ฏ็ป“ๅˆๅค–้ƒจ้ž็Ÿฅ่ฏ†ๅทฅๅ…ท๏ผˆๅฆ‚่‡ชๅŠจๅ‘้‚ฎไปถ้€š็Ÿฅ็›ธๅ…ณ่ดฃไปปไบบ๏ผ‰๏ผŒ็Ÿฅ่ฏ†ๅž‹ Agent ้ƒฝๆ˜ฏๆž„ๅปบ็Ÿฅ่ฏ†ๅฏ†้›†ๅž‹ๅบ”็”จ็š„ๅ…ณ้”ฎใ€‚

5.4 ๅคšๆจกๆ€ Agent โ€‹

ๅคšๆจกๆ€ Agent ๆ˜ฏไธ€็ง่ƒฝๅคŸๅค„็†ๅคš็งๆจกๆ€ๆ•ฐๆฎ๏ผˆๅฆ‚ๆ–‡ๆœฌใ€ๅ›พๅƒใ€่ง†้ข‘็ญ‰๏ผ‰็š„ Agent ็ฑปๅž‹ใ€‚ๅ…ถๆ ธๅฟƒไปทๅ€ผๅœจไบŽๅ…ถๆ„Ÿ็ŸฅไธŽๆŽจ็†็š„ๆทฑๅบฆ่žๅˆ๏ผšๅฎƒไธไป…่ƒฝ"่ฏป"ๆŒ‡ไปค๏ผŒๆ›ด่ƒฝ"็œ‹"็Žฏๅขƒ๏ผŒๅนถๆฎๆญค็”Ÿๆˆๅคš็ปดๅบฆ็š„ๅ้ฆˆใ€‚

  • ๅ…จๆ„Ÿๅฎ˜่พ“ๅ…ฅไธŽ่พ“ๅ‡บ๏ผšๅฎƒๅฏไปฅ็›ดๆŽฅๆŽฅๆ”ถๅ›พ็‰‡ใ€่ง†้ข‘ๆตๆˆ–ๅฎžๆ—ถ่ฏญ้Ÿณ๏ผŒๅนถ็”Ÿๆˆๅฏนๅบ”็š„ๅคšๅช’ไฝ“ๅ†…ๅฎนๆˆ–ๆ‰ง่กŒๅ…ทไฝ“็š„ๅŠจไฝœใ€‚
  • ่ทจๆจกๆ€ๆทฑๅบฆๆŽจ็†๏ผšไพ‹ๅฆ‚๏ผŒๅฎƒ่ƒฝ็ป“ๅˆๅ›พๅƒ็ป†่Š‚ไธŽๆ–‡ๆœฌ้€ป่พ‘๏ผŒ่ฏ†ๅˆซๅ‡บๅคๆ‚็š„ๅฏน่ฑกๅ…ณ่”ๆˆ–ๅผ‚ๅธธ็Šถๆ€ใ€‚

ๅ…ธๅž‹ๅบ”็”จๅœบๆ™ฏ๏ผš

ๆƒณ่ฑกไธ€ไธช"่‡ชๅŠจๅŒ– QA ๆต‹่ฏ• Agent"๏ผšไฝ ๅช้œ€็ป™ๅฎƒไธ€ๆฎตๆ‰‹ๆœบๅฑๅน•ๅฝ•ๅฑ๏ผŒๅฎƒ่ƒฝ่‡ชๅŠจ่ฏ†ๅˆซๅ‡บ UI ็•Œ้ขไธŠๅฏผ่‡ดๅดฉๆบƒ็š„ Bug ๆŒ‰้’ฎไฝ็ฝฎ๏ผŒ็ฒพๅ‡†ๆˆชๅ–ๅ…ณ้”ฎๅธง๏ผŒๅนถ่‡ชๅŠจๅœจ Jira ็ณป็ปŸไธญๆไบคไธ€ไธชๅŒ…ๅซโ€œๆ“ไฝœๆญฅ้ชคใ€ๅผ‚ๅธธๆˆชๅ›พใ€้ข„ๆœŸๆ•ˆๆžœโ€็š„ไธ“ไธšๆŠ€ๆœฏๅทฅๅ•ใ€‚

่ฟ™็ง่ƒฝ"่ƒฝ็œ‹ใ€่ƒฝๅฌใ€่ƒฝ่ฏด"็š„็‰นๆ€ง๏ผŒ่ฎฉ Agent ๅฝปๅบ•่ตฐๅ‡บไบ†็บฏๆ–‡ๅญ—็š„ๆธฉๅฎค๏ผŒๅผ€ๅง‹ๅœจ UI ่‡ชๅŠจๅŒ–ๆต‹่ฏ•ใ€ๅทฅไธšๅทกๆฃ€ใ€ๆ™บ่ƒฝๅฎถๅฑ…็ญ‰็Žฐๅฎžไบคไบ’ๅœบๆ™ฏไธญๅคงๆ”พๅผ‚ๅฝฉใ€‚

5.5 ่ฟˆๅ‘้ซ˜ๅบฆ่‡ชไธป๏ผšOpenClaw ไธŽ"ๆ•ฐๅญ—ๅ‘˜ๅทฅ" โ€‹

้€š็”จๅž‹ Agent ่™ฝ็„ถๅœจ้€ป่พ‘ๆŽจ็†ไธŽๅทฅๅ…ท่ฐƒ็”จๆ–น้ขๅ–ๅพ—ไบ†้•ฟ่ถณ่ฟ›ๆญฅ๏ผŒไฝ†ๅœจๅฎž้™…่ฝๅœฐๅœบๆ™ฏไธญไป้ขไธดๆ˜พ่‘—้™ๅˆถใ€‚ๅคงๅคšๆ•ฐ็ณป็ปŸๆœฌ่ดจไธŠๆ˜ฏๅๅบ”ๆ€ง็š„๏ผŒไพ่ต–ไบบ็ฑปๆŒ็ปญ็š„ๆŒ‡ไปค่พ“ๅ…ฅ๏ผŒ้šพไปฅๅœจๆฒกๆœ‰ไบบๅทฅๅนฒ้ข„็š„ๆƒ…ๅ†ตไธ‹็‹ฌ็ซ‹ๅฎŒๆˆ่ทจ่ถŠๆ•ฐๆ—ฅ็š„้•ฟๆ—ถ่ฟ่กŒไปปๅŠก๏ผˆLong-Running Tasks๏ผ‰ใ€‚ไบบไปฌๅฏนไธ€ไธช 7 ๅคฉ 24 ๅฐๆ—ถไธ้—ดๆ–ญๅทฅไฝœ็š„ๆ•ฐๅญ—ๅ‘˜ๅทฅ็š„ๆ„ฟๆ™ฏ๏ผŒๅ‚ฌ็”Ÿไบ†ๅฏนๅŸบ็ก€ๆžถๆž„็š„้‡ๆ–ฐๅฎก่ง†ใ€‚

ๅœจ่ฟ™็ง่ƒŒๆ™ฏไธ‹๏ผŒOpenClaw ่„ฑ้ข–่€Œๅ‡บ๏ผŒๆˆไธบ่งฃๅ†ณ้•ฟๆ—ถ่ฟ่กŒใ€่‡ชไธป่ง„ๅˆ’ไธŽๆŒไน…ๅŒ–็Šถๆ€็ฎก็†็ญ‰ๆ ธๅฟƒๆŠ€ๆœฏๆŒ‘ๆˆ˜็š„ๅ…ธๅž‹ไปฃ่กจใ€‚ๅฎƒไธไป…ๆ˜ฏไธ€ไธช Agent ๆก†ๆžถ๏ผŒๆ›ดๅƒๆ˜ฏไธ€ไธชๅˆๆญฅๆˆๅฝข็š„ โ€œAgent OS๏ผˆๆ™บ่ƒฝไฝ“ๆ“ไฝœ็ณป็ปŸ๏ผ‰โ€ใ€‚ๅ…ถๆžถๆž„่ฎพ่ฎกๅนถ้ž็ฎ€ๅ•็š„ API ๅฐ่ฃ…๏ผŒ่€Œๆ˜ฏไธ€ไธชๅŠกๅฎž็š„ๅˆ†ๅธƒๅผๆŽงๅˆถๅนณ้ขใ€‚ๅ…ถๆœ€ๆ˜พ่‘—็š„็‰นๅพๆ˜ฏๅฎž็Žฐไบ†ๆŽงๅˆถ้€ป่พ‘๏ผˆControl Plane๏ผ‰ไธŽๆŽจ็†ๆ‰ง่กŒ๏ผˆRuntime๏ผ‰็š„ๆทฑๅบฆ่งฃ่€ฆใ€‚่ฟ™ไธ€่ฎพ่ฎกไฝฟๅพ— OpenClaw ่ƒฝๅคŸไฝœไธบๆœบๅ™จไธŠ็š„้•ฟไน…ๅฎˆๆŠค่ฟ›็จ‹่ฟ่กŒ๏ผŒไฟๆŒๅฏนๅ„็ง้€š่ฎฏ้ข‘้“็š„็›‘ๅฌ๏ผŒๅŒๆ—ถๅค„็†ๅคๆ‚็š„ๅŽๅฐไปปๅŠกใ€‚

ๅฆๅค–๏ผŒ้€š่ฟ‡ๅฐ†็ฝ‘ๅ…ณๆŽงๅˆถๅนณ้ขใ€ๆ–‡ไปถไผ˜ๅ…ˆ็š„่ฎฐๅฟ†็ณป็ปŸไธŽๅฟƒ่ทณ่งฆๅ‘็š„่ขซๅŠจๅ”ค้†’ๆœบๅˆถ็›ธ็ป“ๅˆ๏ผŒOpenClaw ๆˆๅŠŸๆž„ๅปบไบ†ไธ€ไธชๆ”ฏๆŒ้•ฟๆ•ˆ่ฟ่กŒ็š„ๅŸบ็ก€่ฎพๆ–ฝใ€‚ๅฎƒ่ฏๆ˜Žไบ†่‡ชไธปๆ™บ่ƒฝไฝ“็š„็œŸๆญฃๅŠ›้‡ไธๅœจไบŽๆจกๅž‹ๆœ‰ๅคšๅคง๏ผŒ่€ŒๅœจไบŽๅ…ถไธŽ็‰ฉ็†็Žฏๅขƒใ€ๆ–‡ไปถ็ณป็ปŸๅŠไบบ็ฑป็Žฐๆœ‰้€š่ฎฏๅทฅๅ…ท็š„ๆทฑๅบฆ้›†ๆˆ็จ‹ๅบฆใ€‚้š็€ IronClaw ็ญ‰ๅฎ‰ๅ…จๅขžๅผบ็‰ˆๆœฌ็š„ๆˆ็†Ÿ๏ผŒไปฅๅŠ OpenClaw-RL ๅธฆๆฅ็š„ๆŒ็ปญ่ฟ›ๅŒ–่ƒฝๅŠ›๏ผŒ่ฟ™็ง 24/7 ไธ้—ดๆ–ญๅทฅไฝœ็š„"ๆ•ฐๅญ—ๅ‘˜ๅทฅ"ๅฐ†ไปŽๅผ€ๅ‘่€…็š„็Žฉๅ…ท๏ผŒ้€ๆญฅๆผ”ๅ˜ไธบไผไธšๅ’Œไธชไบบไธๅฏๆˆ–็ผบ็š„ๆ ธๅฟƒ็”ŸไบงๅŠ›ๅŸบ็ก€่ฎพๆ–ฝใ€‚

ๅœจไธไน…็š„ๅฐ†ๆฅ๏ผŒๆ™บ่ƒฝไฝ“็š„็ซžไบ‰็„ฆ็‚นๅฐ†ไปŽๅ•็บฏ็š„ๆŽจ็†้€Ÿๅบฆ่ฝฌๅ‘"่ฟ่ฅๅฏ้ ๆ€ง"๏ผŒ้‚ฃไบ›ๅ…ทๅค‡่‡ชๆˆ‘ไฟฎๅค่ƒฝๅŠ›ใ€ๅนถๅœจไธฅๆ ผๅฎ‰ๅ…จ็บฆๆŸไธ‹ๆ‰ง่กŒ้ซ˜ๅบฆ่‡ชไธปไปปๅŠก็š„็ณป็ปŸ๏ผŒๅฐ†ๆœ€็ปˆๅฎšไน‰ AI ๆ—ถไปฃ็š„ๆ•ฐๅญ—ๅŒ–ๅทฅไฝœ่Œƒๅผใ€‚OpenClaw ๅทฒ็ปไธบ่ฟ™ไธ€ๆœชๆฅ้“บๅนณไบ†้“่ทฏ๏ผŒๅนถๅปบ็ซ‹ไบ†ไธ€ไธชๅบžๅคง็š„ใ€ๅŽปไธญๅฟƒๅŒ–็š„ๆŠ€่ƒฝไธŽ็Ÿฅ่ฏ†ๅบ“๏ผŒ่ฎฉไบบไปฌ้ƒฝ่ƒฝ้€š่ฟ‡็ฎ€ๅ•็š„ Markdown ้…็ฝฎ๏ผŒๅฎšๅˆถๅฑžไบŽ่‡ชๅทฑ็š„ใ€ๅ…ทๅค‡้ซ˜ๅบฆ่‡ชไธปๆƒ็š„ๆ™บ่ƒฝไฝ“ๅŠฉๆ‰‹ใ€‚

6. ็ป“่ฏญ๏ผšไปŽโ€œๅฏน่ฏโ€ๅˆฐโ€œๅๅŒโ€็š„่Œƒๅผ้ฉๅ‘ฝ โ€‹

ไปŽๆœ€ๅˆๅชไผšๅŸ่ฏ—ไฝœๅฏน็š„"่Šๅคฉๆœบๅ™จไบบ"๏ผŒๅˆฐๅฆ‚ไปŠ่ƒฝๅคŸ็‹ฌ็ซ‹ๆ€่€ƒใ€่ฐƒ็”จๅทฅๅ…ทใ€ๅๅŒไฝœๆˆ˜็š„"ๆ•ฐๅญ—ๅ‘˜ๅทฅ"๏ผŒAI Agent ็š„ๆผ”่ฟ›ๆญฃไปฅๅ‰ๆ‰€ๆœชๆœ‰็š„้€Ÿๅบฆ้‡ๅก‘็€ไบบ็ฑป็š„ๅŠณๅŠจ่Œƒๅผใ€‚

ๆˆ‘ไปฌๆญฃๅœจ็ปๅކไธ€ๅœบๆทฑๅˆป็š„ๅ˜้ฉ๏ผš่ฝฏไปถ็š„ๅฝขๆ€ๆญฃๅœจไปŽ"ๆญปๆฟ็š„ๅทฅๅ…ท"่ฝฌๅ˜ไธบ"ๆœ‰่ƒฝๅŠจๆ€ง็š„ๅฎžไฝ“"ใ€‚ๅฏนไบŽๅผ€ๅ‘่€…่€Œ่จ€๏ผŒๆœชๆฅ็š„ๆ ธๅฟƒ็ซžไบ‰ๅŠ›ๅฐ†ไธๅ†ไป…ไป…ๆ˜ฏ็ผ–ๅ†™ไบ†ๅคšๅฐ‘่กŒไปฃ็ ๏ผŒ่€Œๆ˜ฏ่ƒฝๅฆๆž„ๅปบๅ‡บๆทฑ่ฐ™ไธšๅŠก้€ป่พ‘ใ€่ƒฝๅคŸ่‡ชไธป่ฐƒๅบฆ่ต„ๆบๅนถไบคไป˜็ป“ๆžœ็š„ Agent ็ณป็ปŸใ€‚

Agent ไธๆ˜ฏ่ฆๅ–ไปฃไบบ็ฑป็š„ๆ™บๆ…ง๏ผŒ่€Œๆ˜ฏ่ฆๅฐ†ๆˆ‘ไปฌไปŽ็น็็š„ใ€้‡ๅคๆ€ง็š„ๆ•ฐๅญ—ๅŠณไฝœไธญ่งฃๆ”พๅ‡บๆฅ๏ผŒๅŽปๅ…ณๆณจๆ›ดๅ…ทๅˆ›้€ ๅŠ›็š„ๅ†ณ็ญ–ใ€‚ๅœจ่ฟ™ไธช AI ้ฉฑๅŠจ็š„ๆ–ฐ็บชๅ…ƒ้‡Œ๏ผŒๆฏไธชไบบ้ƒฝๅฐ†ๆ‹ฅๆœ‰ไธ€ๆ”ฏๅฑžไบŽ่‡ชๅทฑ็š„ๆ•ฐๅญ—ๅ›ข้˜Ÿใ€‚ๆœชๆฅๅทฒๆฅ๏ผŒ่€Œ Agent ๆญฃๆ˜ฏ้‚ฃๆŠŠๅผ€ๅฏ่ง„ๆจกๅŒ–ไธชๆ€งๅŒ–็”Ÿไบงๅคง้—จ็š„้’ฅๅŒ™ใ€‚

',83)])])}const p=e(a,[["render",r]]);export{A as __pageData,p as default}; +import{_ as e,g as n,h as l,U as o}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const A=JSON.parse('{"title":"ไปŽๆ็คบ่ฏๅˆฐๆ•ฐๅญ—ๅ‘˜ๅทฅ๏ผšAI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐ","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšAI ็š„่ฟ›ๅŒ–ๆญฃ็ปๅކไปŽโ€œๅฏน่ฏๆก†โ€ๅ‘โ€œๆ•ฐๅญ—ๅ‘˜ๅทฅโ€็š„ๆ นๆœฌๆ€ง่ทจ่ถŠใ€‚ๆœฌๆ–‡ๆ˜ฏไธ€็ฏ‡ๅ…ณไบŽ AI Agent ็š„ๅ…จๆ™ฏๆทฑๅบฆ็ปผ่ฟฐ๏ผŒๆ—จๅœจ่งฃๆž„ๆ™บ่ƒฝไฝ“ๅฆ‚ไฝ•ไปŽ็ฎ€ๅ•็š„ Prompt ๅ“ๅบ”่€…๏ผŒๆผ”ๅ˜ไธบๅ…ทๅค‡่‡ชไธป็›ฎๆ ‡ๆ‹†่งฃใ€้•ฟ็ŸญๆœŸ่ฎฐๅฟ†ไธŽๅคๆ‚็Žฏๅขƒไบคไบ’่ƒฝๅŠ›็š„โ€œๆ‰ง่กŒ่€…โ€ใ€‚ๆˆ‘ไปฌๅฐ†ๆทฑๅบฆๆ‹†่งฃ Agent ็š„ๅ››ๅคงๆŠ€ๆœฏๅŸบ็Ÿณ๏ผˆ่ง„ๅˆ’ใ€่ฎฐๅฟ†ใ€ๅทฅๅ…ทใ€่กŒๅŠจ๏ผ‰๏ผŒๅนถ่ฏฆ็ป†ๅ‰–ๆžไปŽ้€š็”จๅž‹ Agent ๅˆฐๅคšๆ™บ่ƒฝไฝ“ๅไฝœ๏ผˆMAS๏ผ‰ใ€ๅ†ๅˆฐ่ฟˆๅ‘ Agent OS ๆ—ถไปฃ็š„ OpenClaw ็ญ‰ไบ”ๅคงๆผ”่ฟ›ๅฝขๆ€ใ€‚ไธไป…ๆŽข่ฎจไบ†ๆŠ€ๆœฏๆžถๆž„็š„ๅฎž็Žฐ๏ผŒๆ›ดๆญ็คบไบ†่ฝฏไปถๅทฅ็จ‹ไปŽโ€œไปฅไบบไธบไธญๅฟƒโ€ๅ‘โ€œไปฅ AI ไธบไธญๅฟƒโ€็š„่Œƒๅผ้ฉๅ‘ฝโ€”โ€”ๅœจ Agent ้ฉฑๅŠจ็š„ๆ–ฐ็บชๅ…ƒ๏ผŒๆ ธๅฟƒ็ซžไบ‰ๅŠ›ๅฐ†ไธๅ†ๆ˜ฏไปฃ็ ้‡๏ผŒ่€Œๆ˜ฏ่ฐƒๅบฆ AI ้—ญ็Žฏ่งฃๅ†ณไธšๅŠก้—ฎ้ข˜็š„่ƒฝๅŠ›ใ€‚","frontmatter":{"date":"2026-02-12T22:31:00.000Z","title":"ไปŽๆ็คบ่ฏๅˆฐๆ•ฐๅญ—ๅ‘˜ๅทฅ๏ผšAI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐ","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšAI ็š„่ฟ›ๅŒ–ๆญฃ็ปๅކไปŽโ€œๅฏน่ฏๆก†โ€ๅ‘โ€œๆ•ฐๅญ—ๅ‘˜ๅทฅโ€็š„ๆ นๆœฌๆ€ง่ทจ่ถŠใ€‚ๆœฌๆ–‡ๆ˜ฏไธ€็ฏ‡ๅ…ณไบŽ AI Agent ็š„ๅ…จๆ™ฏๆทฑๅบฆ็ปผ่ฟฐ๏ผŒๆ—จๅœจ่งฃๆž„ๆ™บ่ƒฝไฝ“ๅฆ‚ไฝ•ไปŽ็ฎ€ๅ•็š„ Prompt ๅ“ๅบ”่€…๏ผŒๆผ”ๅ˜ไธบๅ…ทๅค‡่‡ชไธป็›ฎๆ ‡ๆ‹†่งฃใ€้•ฟ็ŸญๆœŸ่ฎฐๅฟ†ไธŽๅคๆ‚็Žฏๅขƒไบคไบ’่ƒฝๅŠ›็š„โ€œๆ‰ง่กŒ่€…โ€ใ€‚ๆˆ‘ไปฌๅฐ†ๆทฑๅบฆๆ‹†่งฃ Agent ็š„ๅ››ๅคงๆŠ€ๆœฏๅŸบ็Ÿณ๏ผˆ่ง„ๅˆ’ใ€่ฎฐๅฟ†ใ€ๅทฅๅ…ทใ€่กŒๅŠจ๏ผ‰๏ผŒๅนถ่ฏฆ็ป†ๅ‰–ๆžไปŽ้€š็”จๅž‹ Agent ๅˆฐๅคšๆ™บ่ƒฝไฝ“ๅไฝœ๏ผˆMAS๏ผ‰ใ€ๅ†ๅˆฐ่ฟˆๅ‘ Agent OS ๆ—ถไปฃ็š„ OpenClaw ็ญ‰ไบ”ๅคงๆผ”่ฟ›ๅฝขๆ€ใ€‚ไธไป…ๆŽข่ฎจไบ†ๆŠ€ๆœฏๆžถๆž„็š„ๅฎž็Žฐ๏ผŒๆ›ดๆญ็คบไบ†่ฝฏไปถๅทฅ็จ‹ไปŽโ€œไปฅไบบไธบไธญๅฟƒโ€ๅ‘โ€œไปฅ AI ไธบไธญๅฟƒโ€็š„่Œƒๅผ้ฉๅ‘ฝโ€”โ€”ๅœจ Agent ้ฉฑๅŠจ็š„ๆ–ฐ็บชๅ…ƒ๏ผŒๆ ธๅฟƒ็ซžไบ‰ๅŠ›ๅฐ†ไธๅ†ๆ˜ฏไปฃ็ ้‡๏ผŒ่€Œๆ˜ฏ่ฐƒๅบฆ AI ้—ญ็Žฏ่งฃๅ†ณไธšๅŠก้—ฎ้ข˜็š„่ƒฝๅŠ›ใ€‚","coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/llm_learning_bg_1.png","permalink":"/ai-agent/overview","top":true,"categories":["ai-practice"],"tags":["AI Agent","Agent"]},"headers":[],"relativePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/01.Agentๆฆ‚่งˆไธŽ็ปผ่ฟฐ.md","filePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/01.Agentๆฆ‚่งˆไธŽ็ปผ่ฟฐ.md"}'),a={name:"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/01.Agentๆฆ‚่งˆไธŽ็ปผ่ฟฐ.md"};function r(g,t,s,i,d,u){return l(),n("div",null,[...t[0]||(t[0]=[o('

ไปŽๆ็คบ่ฏๅˆฐๆ•ฐๅญ—ๅ‘˜ๅทฅ๏ผšAI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐ โ€‹

ๆ‘˜่ฆๆ€ป็ป“๏ผšAI ็š„่ฟ›ๅŒ–ๆญฃ็ปๅކไปŽโ€œๅฏน่ฏๆก†โ€ๅ‘โ€œๆ•ฐๅญ—ๅ‘˜ๅทฅโ€็š„ๆ นๆœฌๆ€ง่ทจ่ถŠใ€‚ๆœฌๆ–‡ๆ˜ฏไธ€็ฏ‡ๅ…ณไบŽ AI Agent ็š„ๅ…จๆ™ฏๆทฑๅบฆ็ปผ่ฟฐ๏ผŒๆ—จๅœจ่งฃๆž„ๆ™บ่ƒฝไฝ“ๅฆ‚ไฝ•ไปŽ็ฎ€ๅ•็š„ Prompt ๅ“ๅบ”่€…๏ผŒๆผ”ๅ˜ไธบๅ…ทๅค‡่‡ชไธป็›ฎๆ ‡ๆ‹†่งฃใ€้•ฟ็ŸญๆœŸ่ฎฐๅฟ†ไธŽๅคๆ‚็Žฏๅขƒไบคไบ’่ƒฝๅŠ›็š„โ€œๆ‰ง่กŒ่€…โ€ใ€‚ๆˆ‘ไปฌๅฐ†ๆทฑๅบฆๆ‹†่งฃ Agent ็š„ๅ››ๅคงๆŠ€ๆœฏๅŸบ็Ÿณ๏ผˆ่ง„ๅˆ’ใ€่ฎฐๅฟ†ใ€ๅทฅๅ…ทใ€่กŒๅŠจ๏ผ‰๏ผŒๅนถ่ฏฆ็ป†ๅ‰–ๆžไปŽ้€š็”จๅž‹ Agent ๅˆฐๅคšๆ™บ่ƒฝไฝ“ๅไฝœ๏ผˆMAS๏ผ‰ใ€ๅ†ๅˆฐ่ฟˆๅ‘ Agent OS ๆ—ถไปฃ็š„ OpenClaw ็ญ‰ไบ”ๅคงๆผ”่ฟ›ๅฝขๆ€ใ€‚ไธไป…ๆŽข่ฎจไบ†ๆŠ€ๆœฏๆžถๆž„็š„ๅฎž็Žฐ๏ผŒๆ›ดๆญ็คบไบ†่ฝฏไปถๅทฅ็จ‹ไปŽ"ไปฅไบบไธบไธญๅฟƒ"ๅ‘"ไปฅ AI ไธบไธญๅฟƒ"็š„่Œƒๅผ้ฉๅ‘ฝโ€”โ€”ๅœจ Agent ้ฉฑๅŠจ็š„ๆ–ฐ็บชๅ…ƒ๏ผŒๆ ธๅฟƒ็ซžไบ‰ๅŠ›ๅฐ†ไธๅ†ๆ˜ฏไปฃ็ ้‡๏ผŒ่€Œๆ˜ฏ่ฐƒๅบฆ AI ้—ญ็Žฏ่งฃๅ†ณไธšๅŠก้—ฎ้ข˜็š„่ƒฝๅŠ›ใ€‚

1. ไป€ไนˆๆ˜ฏ Agent๏ผŸโ€”โ€”ไปŽโ€œๅทฅๅ…ทโ€ๅˆฐโ€œๅฎžไฝ“โ€็š„่ฟ›ๅŒ– โ€‹

ๆ ธๅฟƒ้€ป่พ‘๏ผš็Žฐไปฃ Agent ็š„ๆœฌ่ดจๆ˜ฏ "LLM (ๅคง่„‘) + ่ง„ๅˆ’ไธŽ่ฎฐๅฟ† (ๅฐ่„‘) + ๅทฅๅ…ท่ฐƒ็”จ (ๆ‰‹่„š)"ใ€‚LLM ็š„ๆตท้‡็Ÿฅ่ฏ†ๅ‚จๅค‡่ฎฉ Agent ่ƒฝๅคŸ็ฒพๅ‡†็†่งฃๅคๆ‚ๆŒ‡ไปค๏ผŒๅนถๅฐ†ๅ…ถ่ฝฌๅŒ–ไธบๅฎž้™…่กŒๅŠจใ€‚

ๅœจ AI ้ข†ๅŸŸ๏ผŒAgent๏ผˆๆ™บ่ƒฝไฝ“๏ผ‰ ๅนถ้žไธ€ไธชๆ–ฐๆฆ‚ๅฟต๏ผŒไฝ† LLM๏ผˆๅคง่ฏญ่จ€ๆจกๅž‹๏ผ‰็š„็ˆ†ๅ‘่ต‹ไบˆไบ†ๅฎƒ็œŸๆญฃ็š„โ€œ็ต้ญ‚โ€ใ€‚็ฎ€ๅ•ๆฅ่ฏด๏ผŒAgent ๆ˜ฏไธ€็ง่ƒฝๅคŸๆ„Ÿ็Ÿฅ็Žฏๅขƒใ€่‡ชไธปๅ†ณ็ญ–ๅนถๆ‰ง่กŒไปปๅŠก็š„ๆ™บ่ƒฝๅฎžไฝ“ใ€‚

ๅฆ‚ๆžœ่ฏดไผ ็ปŸ็š„ AI ๆ˜ฏไธ€ไธชโ€œ้—ฎ็ญ”ๆœบโ€๏ผŒ้‚ฃไนˆ Agent ๅฐฑๆ˜ฏไธ€ไธชโ€œๆ‰ง่กŒ่€…โ€ใ€‚ๅฎƒๅ…ทๅค‡ไปฅไธ‹ๅ››ๅคงๆ ธๅฟƒ็‰น่ดจ๏ผš

  • ่‡ชไธปๆ€ง (Autonomy)๏ผš ๆ— ้กปๆ—ถๅˆป็›ฏ็€๏ผŒ่ฎพๅฎš็›ฎๆ ‡ๅŽๅฎƒ่ƒฝ่‡ชๅทฑๆƒณๅŠžๆณ•ๅฎŒๆˆใ€‚

  • ้€‚ๅบ”ๆ€ง (Adaptability)๏ผš ็Žฏๅขƒๅ˜ไบ†๏ผˆๆฏ”ๅฆ‚็ฝ‘้กตๆ”น็‰ˆๆˆ– API ๆŠฅ้”™๏ผ‰๏ผŒๅฎƒ่ƒฝๅฎžๆ—ถ่ฐƒๆ•ด็ญ–็•ฅใ€‚

  • ไธปๅŠจๆ€ง (Proactivity)๏ผš ไธๅชๆ˜ฏ่ขซๅŠจๅ“ๅบ”ๆŒ‡ไปค๏ผŒๅฎƒไผšไธปๅŠจๆ‹†่งฃ็›ฎๆ ‡ๅนถๅฏปๆ‰พ่ทฏๅพ„ใ€‚

  • ็คพไผšๆ€ง (Sociality)๏ผš ๅฎƒ่ƒฝๅƒไบบไธ€ๆ ท๏ผŒไธŽๅ…ถไป– Agent ๆˆ–ไบบ็ฑป่ฟ›่กŒๅไฝœใ€‚

2. ๆ ธๅฟƒไปทๅ€ผ๏ผš่‡ชๅŠจๅŒ–็จ‹ๅบฆ็š„้˜ถๆขฏๅผ่ทจ่ถŠ โ€‹

ๆˆ‘ไปฌๅฏน Agent ็š„่ฟฝๆฑ‚๏ผŒๆœฌ่ดจไธŠๆ˜ฏไปŽโ€œๅ†™ๅฅฝๆ็คบ่ฏ๏ผˆPrompt๏ผ‰โ€่ฝฌๅ‘โ€œๆž„ๅปบ่‡ชไธปๅทฅไฝœๆต๏ผˆWorkflow๏ผ‰โ€ใ€‚ไธบไบ†ๆ›ด็›ด่ง‚ๅœฐ่กก้‡ Agent ็š„่ƒฝๅŠ›๏ผŒๆˆ‘ไปฌๅฏไปฅๅฐ†ๅ…ถ่‡ชๅŠจๅŒ–็จ‹ๅบฆๅˆ†ไธบไธ‰ไธชๆกฃๆฌก๏ผš

่‡ชๅŠจๅŒ–็ญ‰็บงๆ ธๅฟƒ็‰นๅพๅ…ธๅž‹ไปฃ่กจ
L1๏ผšไปปๅŠกๆ‰ง่กŒ่€…ๅค„็†ๅ•ไธ€ๆจกๆ€ใ€็ฎ€ๅ•ๆ•ฐๆฎ๏ผ›่ฐƒ็”จๅฐ‘้‡ๆ ‡ๅ‡†ๅทฅๅ…ท๏ผ›ๆ‰ง่กŒ้ข„ๅฎšไน‰็š„้™ๆ€ไปปๅŠกใ€‚็ฟป่ฏ‘่„šๆœฌใ€็ฎ€ๅ• SQL ็”Ÿๆˆๅ™จ
L2๏ผšๆต็จ‹็ผ–ๆŽ’่€…ๅคšๆจกๆ€ๆ„Ÿ็Ÿฅ๏ผ›ๅ…ทๅค‡้•ฟ็ŸญๆœŸ่ฎฐๅฟ†๏ผ›่ƒฝ็ผ–ๆŽ’ๅคๆ‚ใ€้•ฟๅฐพ็š„ไปปๅŠกๆตใ€‚Dify, Coze, n8n
L3๏ผš่‡ชไธป่ฟ›ๅŒ–่€…ๆžๅฐ‘ไบบๅทฅๅนฒ้ข„๏ผ›่‡ชไธปๆดžๅฏŸ็Žฏๅขƒๅ˜ๅŒ–๏ผ›ๅฎž็ŽฐไธšๅŠกๆต็จ‹็š„่‡ช้€‚ๅบ”็ผ–ๆŽ’ใ€‚Claude Code, Manus, OpenClaw

้š็€ Agent ่ƒฝๅŠ›็š„"้€ๆขฏ่ทจ่ถŠ"๏ผŒ่ฟ‡ๅพ€็š„ๅทฅไฝœ่Œƒๅผๅฏ่ƒฝ่ขซ้ข ่ฆ†๏ผŒๅฎž็ŽฐไปŽ"้ขๅ‘่ฟ‡็จ‹"ๅˆฐ"้ขๅ‘็›ฎๆ ‡"็š„ๆ นๆœฌๆ€ง้ข ่ฆ†ใ€‚ๅฏนไบŽ่ฝฏไปถ็ณป็ปŸๅผ€ๅ‘ไบบๅ‘˜่€Œ่จ€๏ผŒไผ ็ปŸ็š„่ฝฏไปถๅทฅ็จ‹ๆ€่ทฏไปฅไบบไธบไธญๅฟƒ๏ผŒAI ๅชๆ˜ฏ่พ…ๅŠฉๅทฅๅ…ท๏ผŒ้€š่ฟ‡้‡‡็”จๅ›บๅฎšๅฝขๆ€็š„ไบคไบ’็•Œ้ขๅ’Œ้ข„ๅฎšไน‰ๆœ‰้™ๅŸŸ็š„ไปปๅŠก๏ผŒๅฎž็Žฐ่ง„ๆจกๅŒ–็š„็”Ÿไบงๆ–นๅผใ€‚่€Œ Agent ๅทฅ็จ‹ๅˆ™ๆ˜ฏไปฅ AI ไธบไธญๅฟƒ๏ผŒไบบ็ฑป่ฝฌๅž‹ไธบ็›‘็ฃ่€…ๅ’Œ่ต„ๆบๆไพ›่€…๏ผŒ้‡‡็”จๅŠจๆ€ไบบๆœบไบคไบ’็•Œ้ขๅ’Œๆ— ้ข„ๅˆถๆœ‰้™ๅŸŸ็š„ไปปๅŠก๏ผŒๅฎŒๆˆ่ง„ๆจกๅŒ–็š„ไธชๆ€งๅŒ–็”Ÿไบงใ€‚

3. ๅบ”็”จๅœบๆ™ฏ๏ผš่ฐไผš่ขซๆ›ฟไปฃ๏ผŒ่ฐไผš่ขซๅขžๅผบ๏ผŸ โ€‹

3.1 ๆทฑๅบฆๆ›ฟไปฃไธŽๅ˜้ฉๅž‹ โ€‹

ๅœจ่ฟ™็ฑปๅœบๆ™ฏไธญ๏ผŒAI ๅทฒ็ป่ƒฝๅคŸ้—ญ็ŽฏๅฎŒๆˆ 80% ไปฅไธŠ็š„ๅทฅไฝœ๏ผŒๅœจๆ˜พ่‘—้‡ๆž„ๅทฅไฝœๆจกๅผๅŽ๏ผŒ้ƒจๅˆ†ๅฒ—ไฝๅฏ่ƒฝ่ขซๆ›ฟไปฃ๏ผš

  • ๅŸบ็ก€็ผ–็จ‹๏ผšAI ไปฃ็ ๅŠฉๆ‰‹่‡ชๅŠจ็”Ÿๆˆๆ ทๆฟไปฃ็ ใ€ๆŽ’ๆŸฅ Bug๏ผŒๅˆ็บง Coders ๅฟ…้กปๅ‘ๆžถๆž„ๅ’Œๅคๆ‚้€ป่พ‘่ฝฌๅž‹ใ€‚

  • ๅŸบ็ก€ๅญฆไน ๏ผˆ็Ÿฅ่ฏ†็‚น / ๆŠ€่ƒฝ๏ผ‰๏ผš้ข˜ๅบ“ๅˆท้ข˜ใ€ๅŸบ็ก€็ญ”็–‘ใ€็Ÿฅ่ฏ†็‚นๆฃ€็ดขใ€‚AI ๅฏ็›ดๆŽฅๆ›ฟไปฃไบบๅทฅ็ญ”็–‘ / ่พ…ๅฏผ๏ผŒ่ฆ†็›– 80% ๅŸบ็ก€ๅญฆไน ้œ€ๆฑ‚ใ€‚

  • ๆ ‡ๅ‡†ๅŒ–ๅฎขๆœ๏ผšๅค„็† 90% ็š„ๅ”ฎๅŽๅ’จ่ฏขไธŽๆŸฅ่ฏข๏ผŒไบบๅทฅไป…่ดŸ่ดฃๅค„็†ๆž็ซฏๅคๆ‚็š„ๆƒ…ๆ„Ÿ่ฏ‰ๆฑ‚ใ€‚

3.2 ่พ…ๅŠฉๅขžๅผบๅž‹๏ผˆๅ‡็บงๅทฅไฝœไปทๅ€ผ๏ผ‰ โ€‹

AI ไฝœไธบๆ•ˆ็އๅทฅๅ…ท๏ผŒไธๆ›ฟไปฃๆ ธๅฟƒๅฒ—ไฝ๏ผŒ่€Œๆ˜ฏ่ดŸ่ดฃ่„ๆดป็ดฏๆดปใ€ๅ‡็บงๅทฅไฝœไปทๅ€ผ๏ผŒไบบ็ฑป่ดŸ่ดฃๅ†ณ็ญ–ไธŽๅฎก็พŽ๏ผš

  • ้ซ˜็บงๅ’จ่ฏข๏ผšAgent ๅฏ่‡ชๅŠจๆ•ด็†่กŒไธšๆ•ฐๆฎใ€็”Ÿๆˆๅˆ†ๆžๆŠฅๅ‘Šๅˆ็จฟ๏ผŒๅ’จ่ฏขๅธˆไปŽ"ไฟกๆฏๆ”ถ้›†"ไธญ่งฃๆ”พๅ‡บๆฅ๏ผŒๆ›ด่š็„ฆ็ญ–็•ฅๆดžๅฏŸใ€ๅฎขๆˆทๆฒŸ้€š็ญ‰้ซ˜ไปทๅ€ผ็Žฏ่Š‚ใ€‚
  • ๆทฑๅบฆ็ ”็ฉถ๏ผˆๅญฆๆœฏ / ่กŒไธš๏ผ‰๏ผšAgent ่‡ชๅŠจๅฎŒๆˆๆ–‡็Œฎๆฃ€็ดขใ€ๆ•ฐๆฎๆธ…ๆด—ไธŽๆŠฅๅ‘Šๆก†ๆžถๆญๅปบ๏ผŒ็ ”็ฉถ่€…ๅพ—ไปฅไธ“ๆณจไบŽๆ ธๅฟƒๅˆ›ๆ–ฐ็ป“่ฎบใ€ๆทฑๅบฆๆดžๅฏŸไธŽ็ ”็ฉถ่ฎพ่ฎก๏ผŒๅฎž็ŽฐไปŽ"่ต„ๆ–™ๆ•ด็†"ๅˆฐ"ๆ€ๆƒณๅˆ›้€ "็š„ไปทๅ€ผ่ทƒ่ฟใ€‚
  • ้ซ˜็บงๅญฆไน ๏ผˆ็ ”็ฉถๆ€ง / ๆŠ€่ƒฝ๏ผ‰๏ผšAgent ่พ…ๅŠฉๅฎŒๆˆ็Ÿฅ่ฏ†ไฝ“็ณปๆญๅปบใ€ๅคๆ‚ๆŠ€่ƒฝๆ‹†่งฃไธŽ่ฟ›้˜ถ่ทฏๅพ„่ง„ๅˆ’๏ผŒๅญฆไน ่€…ๅฐ†็ฒพๅŠ›ๆŠ•ๅ…ฅ็†่งฃๅ†…ๅŒ–ใ€ๅฎž่ทตๆŽข็ดขไธŽ่‡ชไธปๅˆ›ๆ–ฐ๏ผŒๅฎŒๆˆไปŽ"็Ÿฅ่ฏ†่Žทๅ–"ๅˆฐ"่ƒฝๅŠ›ๅปบๆž„"็š„่Œƒๅผ่ฝฌๅ˜ใ€‚

3.3 ็”ŸๆดปไธŽๅž‚็›ด้ข†ๅŸŸ๏ผˆ้•ฟๅฐพ่ฆ†็›–๏ผ‰ โ€‹

  • ๅฅๅบทๅŒปๆŠค๏ผš่™šๆ‹ŸๅฅๅบทๅŠฉๆ‰‹ๅŸบไบŽๅฏ็ฉฟๆˆด่ฎพๅค‡ๆ•ฐๆฎๆไพ› 24h ็›‘ๆŠค๏ผŒๅนถๅœจๅผ‚ๅธธๆ—ถไธปๅŠจ้ข„่ญฆใ€‚
  • ไธชๆ€งๅŒ–ๆ•™่‚ฒ๏ผšAgent ๅฐฑๅƒไธ€ไธช 1 ๅฏน 1 ๅŠฉๆ•™๏ผŒๆ นๆฎไฝ ็š„้”™้ข˜้€ป่พ‘ๅฎžๆ—ถ่ฐƒๆ•ดๆ•™ๅญฆๅคง็บฒ๏ผŒ่€Œ้žๆญป่ฎฐ็กฌ่ƒŒใ€‚
  • ไธชไบบ่ดขๅŠก๏ผš่‡ชๅŠจ่ฟฝ่ธช่ดฆๅ•ใ€ไผ˜ๅŒ–้ข„็ฎ—๏ผŒๅนถๆ นๆฎๅธ‚ๅœบๅŠจๆ€ๆไพ›ๅˆๆญฅๆŠ•่ต„ๅปบ่ฎฎใ€‚

4. ๆŠ€ๆœฏๆ‹†่งฃ๏ผšAgent ๆ ธๅฟƒ่ฆ็ด ไธŽๅ…ณ้”ฎๆŠ€ๆœฏ โ€‹

Agent = LLM (ๅคง่„‘) + ๅทฅๅ…ท (ๆ‰‹่„š) + ๆŒ‡ไปค (่กŒไธบๅ‡†ๅˆ™) + ่‡ชไธปๅทฅไฝœๆตๆ‰ง่กŒใ€‚

ไธ€ไธชๆˆ็†Ÿ็š„ Agent ็ณป็ปŸ้€šๅธธ็”ฑ่ง„ๅˆ’๏ผˆPlanning๏ผ‰โ€‹ใ€่ฎฐๅฟ†๏ผˆMemory๏ผ‰โ€‹ใ€ๅทฅๅ…ท๏ผˆTools๏ผ‰ๅ’Œ่กŒๅŠจ๏ผˆAction๏ผ‰ๅ››ๅคงๆ ธๅฟƒๆจกๅ—ๆž„ๆˆ๏ผš

about site background
  • ่ง„ๅˆ’๏ผˆPlanning๏ผ‰โ€‹๏ผš่งฃๅ†ณ"ๆ€Žไนˆๅš"
    • ไปปๅŠกๅˆ†่งฃ๏ผšๅฐ†โ€œๅธฎๆˆ‘ๅ†™ไธ€ไธช็”ตๅ•† Appโ€ๆ‹†่งฃไธบ UI ่ฎพ่ฎกใ€ๅŽ็ซฏๆžถๆž„ใ€ๆ•ฐๆฎๅบ“ๅปบๆจก็ญ‰ๅญ็›ฎๆ ‡ใ€‚
    • ๅๆ€ไธŽ่ฏ„ไปท๏ผšๅœจๆ‰ง่กŒ่ฟ‡็จ‹ไธญไธๆ–ญโ€œ่‡ชๆˆ‘ๆ‰น่ฏ„โ€๏ผŒๅ‘็Žฐ่ตฐไธ้€šๆ—ถๅŠๆ—ถๆމๅคดใ€‚
  • ่ฎฐๅฟ†๏ผˆMemory๏ผ‰โ€‹๏ผš่งฃๅ†ณ"ๆˆ‘ๆ˜ฏ่ฐ๏ผŒๆˆ‘ๅš่ฟ‡ไป€ไนˆ"
    • ็ŸญๆœŸ่ฎฐๅฟ†๏ผšไธŽไธŠไธ‹ๆ–‡ๅญฆไน ๆœ‰ๅ…ณ๏ผŒๅญ˜ๅ‚จๅฝ“ๅ‰็š„ๅฏน่ฏๆต๏ผŒ่ฎฐๅฝ•ๆœ€่ฟ‘็š„ไบคไบ’ๅކๅฒ๏ผŒๅฆ‚็”จๆˆทๆŒ‡ไปคใ€็ณป็ปŸๅ“ๅบ”็ญ‰ใ€‚
    • ้•ฟๆœŸ่ฎฐๅฟ†๏ผšๆถ‰ๅŠไฟกๆฏ็š„้•ฟๆ—ถ้—ดไฟ็•™ๅ’Œๆฃ€็ดข๏ผŒๅญ˜ๅ‚จ้•ฟๆœŸ็š„็Ÿฅ่ฏ†ๅบ“๏ผŒๅฆ‚็”จๆˆทไธชไบบไฟกๆฏใ€ไปปๅŠกๅކๅฒ็ญ‰๏ผŒ้€šๅธธ้€š่ฟ‡ๅˆฉ็”จๅค–้ƒจๅ‘้‡ๅญ˜ๅ‚จไธŽๅฟซ้€Ÿๆฃ€็ดขๆฅๅฎž็Žฐใ€‚
  • ๅทฅๅ…ท (Tools)๏ผš่งฃๅ†ณ"่ƒฝๅŠ›่พน็•Œ"ใ€‚LLM ่™ฝ็„ถๅšๅญฆ๏ผŒไฝ†ไธไผš็ฎ—้ซ˜้šพๅบฆๆ•ฐๅญฆ๏ผŒไนŸไธ็Ÿฅ้“ๆ˜จๅคฉ็š„ๅคฉๆฐ”๏ผŒๅทฅๅ…ทๅฐฑๆ˜ฏๅฎƒ็š„โ€œๅค–ๆŒ‚โ€ใ€‚
  • ่กŒๅŠจ๏ผˆAction๏ผ‰โ€‹๏ผš่งฃๅ†ณ"่ฝๅœฐๆ‰ง่กŒ"๏ผŒๅฐ†่ง„ๅˆ’ๅฅฝ็š„้€ป่พ‘่ฝฌๅŒ–ไธบๅ…ทไฝ“็š„ API ่ฐƒ็”จๆˆ–ไปฃ็ ๆ‰ง่กŒ๏ผŒๅนถๆŽฅๆ”ถ็Žฏๅขƒๅ้ฆˆ๏ผŒๅฝขๆˆ้—ญ็Žฏใ€‚

4.1 ่ง„ๅˆ’ โ€‹

Agent็š„่ง„ๅˆ’ๆ ธๅฟƒๅŒ…ๅซไปปๅŠกๅˆ†่งฃไธŽ่‡ชๆˆ‘ๅๆ€ไธค้ƒจๅˆ†๏ผšไปปๅŠกๅˆ†่งฃๆ˜ฏๅฐ†ๅคๆ‚็›ฎๆ ‡ๆ‹†่งฃไธบๆ˜“ๆ‰ง่กŒ็š„ๅญไปปๅŠก๏ผŒไธป่ฆๆœ‰ๅ…ˆๅˆ†่งฃๅŽ่ง„ๅˆ’ใ€่พนๅˆ†่งฃ่พน่ง„ๅˆ’ๅŠๅŸบไบŽ่ฏญ่จ€ๆจกๅž‹็š„ๅˆ†่งฃไธ‰็ฑปๆ–นๆณ•๏ผ›่‡ชๆˆ‘ๅๆ€ๅˆ™้€š่ฟ‡โ€œ็”Ÿๆˆ-ๅๆ€โ€ๅพช็Žฏ๏ผŒ็ป“ๅˆ็›ธๅ…ณๆก†ๆžถไธŽๆจกๅผไผ˜ๅŒ–ๆ‰ง่กŒ็ป“ๆžœใ€ๆๅ‡่ฟ่กŒ่ดจ้‡ใ€‚

่‹ฅ้œ€่ฟ›ไธ€ๆญฅไบ†่งฃ่ฏฆ็ป†็š„่ง„ๅˆ’ๆœบๅˆถ๏ผŒๅฏๆ‰“ๅผ€๏ผšAgent่ง„ๅˆ’ๆจกๅ—

4.2 ่ฎฐๅฟ† โ€‹

Agent็š„่ฎฐๅฟ†ๆ˜ฏๅ…ถๆ ธๅฟƒๆจกๅ—๏ผŒๅ€Ÿ้‰ดไบบ็ฑป่ฎฐๅฟ†ๅˆ†ไธบๆ„Ÿ่ง‰ใ€็ŸญๆœŸใ€้•ฟๆœŸไธ‰็ฑป๏ผŒ็ป“ๅˆๅ†…้ƒจใ€่ทจไปปๅŠกๅŠๅค–้ƒจ็Ÿฅ่ฏ†็งฏ็ดฏ๏ผŒๅบ”็”จไธญ้œ€้€‚้…ๅœบๆ™ฏ้€‰ๆ‹ฉๅญ˜ๅ‚จๆฃ€็ดขๆ–นๅผใ€‚

่ฎฐๅฟ†็ฑปๅž‹่ฏดๆ˜Ž
ๆ„Ÿๅฎ˜่ฎฐๅฟ†่ฟ™ๆ˜ฏๆœ€ๅŸบ็ก€็š„้˜ถๆฎต๏ผŒๆŒ‡ๆ™บ่ƒฝไฝ“ๆŽฅๆ”ถๅค–้ƒจ่พ“ๅ…ฅ๏ผˆๆ–‡ๆœฌใ€ๅ›พๅƒใ€่ฏญ้Ÿณ๏ผ‰็š„็žฌๆ—ถๆ„Ÿ็Ÿฅใ€‚ๅœจ LLM ไบคไบ’ไธญ๏ผŒ่ฟ™่กจ็Žฐไธบๆจกๅž‹ๅฏนๅฝ“ๅ‰ Prompt ็š„ๅŽŸๅง‹่งฃๆžใ€‚
็ŸญๆœŸ่ฎฐๅฟ†ไธป่ฆๆŒ‡ไธŠไธ‹ๆ–‡ๅญฆไน ๏ผˆIn-Context Learning๏ผ‰๏ผŒๅฎƒๅ—้™ไบŽ LLM ็š„ไธŠไธ‹ๆ–‡็ช—ๅฃ๏ผˆContext Window๏ผ‰๏ผŒๅญ˜ๅ‚จ็š„ๅชๆ˜ฏๆœ‰้™่ฝฎๆฌก็š„ๅฏน่ฏๅކๅฒ๏ผŒๅฆ‚็”จๆˆทๆŒ‡ไปคใ€็ณป็ปŸๅ“ๅบ”็ญ‰ใ€‚
โ€ข ๆ ธๅฟƒๅŠŸ่ƒฝ๏ผšๅญ˜ๅ‚จๅฝ“ๅ‰ๅฏน่ฏๆต๏ผŒ่ฎฐๅฝ•ๆœ€่ฟ‘ๅ‡ ่ฝฎ็š„ไบคไบ’ๅކๅฒ๏ผˆๆŒ‡ไปคใ€็ณป็ปŸๅ“ๅบ”ใ€ไธญ้—ดๆ€่€ƒ่ฟ‡็จ‹๏ผ‰ใ€‚
โ€ข ๆŠ€ๆœฏๅฎž็Žฐ๏ผš้€š่ฟ‡ๅฐ†ๅކๅฒๅฏน่ฏๆ‹ผๆŽฅๅœจๅฝ“ๅ‰็š„ Prompt ไธญๅฎž็Žฐใ€‚
้•ฟๆœŸ่ฎฐๅฟ†ๆถ‰ๅŠไฟกๆฏ็š„้•ฟๆ—ถ้—ดไฟ็•™ๅ’Œๅœจ้œ€่ฆๆ—ถ็š„็ฒพๅ‡†ๆฃ€็ดข๏ผŒ่ฟ™ๆ˜ฏ Agent ่ฟˆๅ‘้ซ˜ๅบฆ่‡ชไธป็š„ๅ…ณ้”ฎใ€‚
โ€ข ๆ ธๅฟƒๅŠŸ่ƒฝ๏ผšๅญ˜ๅ‚จ็”จๆˆท็š„ไธชไบบๅๅฅฝใ€้•ฟๆœŸ็š„้กน็›ฎ่ƒŒๆ™ฏใ€ๅކๅฒไปปๅŠก็š„ๆˆๅŠŸ็ป้ชŒๆˆ–ๅคฑ่ดฅๆ•™่ฎญใ€‚
โ€ข ๆŠ€ๆœฏๅฎž็Žฐ๏ผš้€šๅธธๅˆฉ็”จๅค–้ƒจๅ‘้‡ๆ•ฐๆฎๅบ“๏ผˆVector DB๏ผ‰ๅฎž็Žฐ๏ผŒ้€š่ฟ‡"ๅตŒๅ…ฅ๏ผˆEmbedding๏ผ‰+ ๅ‘้‡ๆฃ€็ดข"ๅœจๆ•ฐ็™พไธ‡ๆก่ฎฐๅฝ•ไธญๅฟซ้€Ÿๅฎšไฝ็›ธๅ…ณไฟกๆฏใ€‚

ๅฆ‚ๆžœ่ง„ๅˆ’ๆจกๅ—่ต‹ไบˆไบ† Agent โ€œ้€ป่พ‘โ€๏ผŒ้‚ฃไนˆ่ฎฐๅฟ†ๆจกๅ—ๅˆ™่ต‹ไบˆไบ†ๅฎƒโ€œ็ต้ญ‚โ€ๅ’Œโ€œ่ฟž็ปญๆ€งโ€ใ€‚้š็€้•ฟๆ–‡ๆœฌๆŠ€ๆœฏ๏ผˆLong Context๏ผ‰ๅ’Œๅ‘้‡ๆœ็ดข็ฎ—ๆณ•็š„ไธๆ–ญๆผ”่ฟ›๏ผŒAgent ็š„่ฎฐๅฟ†ๅฐ†ๅ˜ๅพ—่ถŠๆฅ่ถŠๆทฑ้‚ƒไธ”็ฒพๅ‡†ใ€‚

ๅฏนไบŽๅผ€ๅ‘่€…่€Œ่จ€๏ผŒ่ฎพ่ฎกไผ˜็ง€็š„่ฎฐๅฟ†ๆท˜ๆฑฐไธŽๆฃ€็ดข็ฎ—ๆณ•๏ผŒๆฏ”ๅ•็บฏ่ฟฝๆฑ‚ๅคงๆจกๅž‹็š„ๅ‚ๆ•ฐ่ง„ๆจกๆ›ดไธบ้‡่ฆใ€‚ๅชๆœ‰ๅฝ“ Agent ่ƒฝๅคŸโ€œ่ฎฐไฝโ€ไธšๅŠก็ป†่Š‚ๅนถโ€œๅฟ˜่ฎฐโ€ๆ— ๅ…ณๅ™ช้Ÿณๆ—ถ๏ผŒๅฎƒๆ‰็œŸๆญฃๅ…ทๅค‡ไบ†ไปŽโ€œๅฏน่ฏๅทฅๅ…ทโ€่ฟ›ๅŒ–ไธบโ€œๆ•ฐๅญ—ๅˆไผ™ไบบโ€็š„็ด ่ดจใ€‚

4.3 ๅทฅๅ…ท โ€‹

ๅ…ธๅž‹ๆกˆไพ‹๏ผšClaude Code ้›†ๆˆไบ†ๆ–‡ไปถ่ฏปๅ†™ใ€ๆŸฅๆ‰พใ€Bash ็ญ‰ไธ€็ณปๅˆ—้€š็”จๅทฅๅ…ท๏ผŒไฝฟๅ…ถๆˆไธบไธ€ไธช่ƒฝๅคŸ่‡ชไธปๅ†™ไปฃ็ ็š„"ๆ•ฐๅญ—ๅทฅ็จ‹ๅธˆ"ใ€‚

LLM ๆœฌ่บซๅœจๅค„็†ๅฎžๆ—ถไฟกๆฏ๏ผˆๅฆ‚ๅคฉๆฐ”๏ผ‰ใ€็ฒพ็กฎ่ฎก็ฎ—๏ผˆๅฆ‚้ซ˜้˜ถๆ•ฐๅญฆ๏ผ‰ๆˆ–็‰นๅฎš็งๅŸŸๆ•ฐๆฎ๏ผˆๅฆ‚ๅ…ฌๅธ่ดขๅŠกๆŠฅ่กจ๏ผ‰ๆ—ถๅญ˜ๅœจๅคฉ็„ถๅฑ€้™๏ผŒ่€Œๅทฅๅ…ท่ต‹ไบˆไบ† Agent ่ถ…่ถŠๆจกๅž‹ๅ†…ๆ ธ็š„่ƒฝๅŠ›ใ€‚ๆˆ‘ไปฌๅฏไปฅไปŽๅŠŸ่ƒฝๅฑžๆ€งๅ’Œๅฎž็Žฐๆ–นๅผไธคไธช็ปดๅบฆๆฅ็†่งฃ Agent ็š„ๅทฅๅ…ท็ฎฑ๏ผš

1ใ€ๆŒ‰ๅŠŸ่ƒฝๅฑžๆ€งๅˆ†็ฑป๏ผšAgent ่ƒฝๅšไป€ไนˆ๏ผŸ

็ฑปๅˆซๅŠŸ่ƒฝๅฎšไฝๆ ธๅฟƒ่ƒฝๅŠ›
ๆ•ฐๆฎ็ฑป (Data)่งฃๅ†ณ"ไฟกๆฏๅทฎ"้€š่ฟ‡ๆฃ€็ดขๅทฅๅ…ท๏ผˆRetrieval๏ผ‰ไปŽๆœ็ดขๅผ•ๆ“Žใ€ๆ•ฐๆฎๅบ“ๆˆ– PDF ๆ–‡ๆกฃไธญ่Žทๅ–ๆœ€ๆ–ฐไธŠไธ‹ๆ–‡ใ€‚
่กŒๅŠจ็ฑป (Action)่งฃๅ†ณ"ๆ‰ง่กŒๅŠ›"้€š่ฟ‡ API ่ฐƒ็”จๅœจๅค–้ƒจ็ณป็ปŸไธญไบง็”Ÿๅฝฑๅ“๏ผŒไพ‹ๅฆ‚ๅ‘้€้‚ฎไปถใ€ไฟฎๆ”น CRM ่ฎฐๅฝ•ๆˆ–ๆไบค่ฎขๅ•ใ€‚
็ผ–ๆŽ’็ฑป (Orchestration)่งฃๅ†ณ"ๅคๆ‚ๆ€ง"ๅฐ†ๅคšไธชๅญไปปๅŠก็ป„ๅˆๆˆไธ€ไธชๆ›ดๅคง็š„ไปปๅŠกใ€‚ไธ€ไธช Agent ไนŸๅฏไปฅ่ขซๅฐ่ฃ…ๆˆๅทฅๅ…ท๏ผŒไพ›ๅฆไธ€ไธชๆ›ด้ซ˜็บง็š„ Agent ่ฐƒ็”จ๏ผŒๅฎž็Žฐๅคšๆ™บไฝ“ๅไฝœใ€‚

2ใ€ๆŒ‰ๅฎž็Žฐๆ–นๅผๅˆ†็ฑป๏ผšAgent ๆ€Žไนˆ่ฐƒ็”จ๏ผŸ

ๅฎž็Žฐๆ–นๅผ่ฏดๆ˜Ž
ๅ‡ฝๆ•ฐ่ฐƒ็”จ (Function Calling)ๆจกๅž‹็”Ÿๆˆ็ป“ๆž„ๅŒ–ๆŒ‡ไปค๏ผŒ็”ฑๅฎขๆˆท็ซฏๅœจๆœฌๅœฐๆ‰ง่กŒ๏ผˆๅฆ‚ๆ“ไฝœๆœฌๅœฐๆ–‡ไปถๆˆ–ๅ†…็ฝ‘ๆ•ฐๆฎๅบ“๏ผ‰๏ผŒๅ…ผ้กพๅฎ‰ๅ…จๆ€งไธŽ็ตๆดปๆ€งใ€‚
ๆ ‡ๅ‡†ๆ‰ฉๅฑ• (Extensions)้€š่ฟ‡ๆ ‡ๅ‡†ๅŒ–็š„ๅ่ฎฎ๏ผˆๅฆ‚ OpenAPI๏ผ‰็›ดๆŽฅ่ฟžๆŽฅๅค–้ƒจๆœๅŠก๏ผŒไฝฟ Agent ่ƒฝๅคŸๅƒไน้ซ˜็งฏๆœจไธ€ๆ ทๆ— ็ผๅฏนๆŽฅๅ„็งไบ‘็ซฏ APIใ€‚
่ฎก็ฎ—ๆœบไฝฟ็”จ (Computer Use)ๅฏนไบŽๆฒกๆœ‰ API ็š„้™ˆๆ—ง็ณป็ปŸ๏ผŒAgent ๅฏไปฅ้€š่ฟ‡่ง†่ง‰่ฏ†ๅˆซๅ’Œๆจกๆ‹Ÿ้ผ ๆ ‡้”ฎ็›˜๏ผŒๅƒไบบ็ฑปไธ€ๆ ท็›ดๆŽฅๆ“ไฝœ่ฝฏไปถ็•Œ้ขใ€‚

4.4 ่กŒๅŠจ โ€‹

่กŒๅŠจ๏ผˆAction๏ผ‰ๆจกๅ—ๆ˜ฏ Agent ็š„ๆ‰ง่กŒๆœบๆž„๏ผŒๅฎƒ็š„่Œ่ดฃๆ˜ฏๅฐ†่ง„ๅˆ’้˜ถๆฎต็”Ÿๆˆ็š„"่“ๅ›พ"่ฝฌๅŒ–ไธบ็‰ฉ็†ไธ–็•Œๆˆ–ๆ•ฐๅญ—็ณป็ปŸไธญ็š„"ๅŠจไฝœ"ใ€‚ๅฎƒไธไป…ๆ˜ฏๆŒ‡ไปค็š„่พ“ๅ‡บ่€…๏ผŒๆ›ดๆ˜ฏ็Žฏๅขƒๅ้ฆˆ็š„ๆŽฅๆ”ถ่€…ใ€‚

่กŒๅŠจๆจกๅ—็š„ๆ ธๅฟƒๅœจไบŽๅฎŒๆˆไปฅไธ‹ไธ‰ไธชๅฑ‚้ข็š„้€ป่พ‘้—ญ็Žฏ๏ผš

ๆจกๅ—่ฏดๆ˜Ž็คบไพ‹
ๅŠจไฝœ็”Ÿๆˆ (Action Generation)ๅฐ†ๅคๆ‚็š„ๅญ็›ฎๆ ‡่ฝฌๅŒ–ไธบๅ…ทไฝ“็š„ๆญฅ้ชค่ง„ๅˆ’ๆ˜ฏ"่ฐƒๆŸฅๅธ‚ๅœบ่ถ‹ๅŠฟ"๏ผŒ่กŒๅŠจๅˆ™ๆ˜ฏๅ…ˆ"ๆœ็ดขๅ…ณ้”ฎ่ฏ"๏ผŒๅ†"ๆๅ–็ฝ‘้กตๅ†…ๅฎน"๏ผŒๆœ€ๅŽ"็”Ÿๆˆๆ‘˜่ฆ"
ๅŠจๆ€่ฐƒๆ•ด (Dynamic Adaptation)่กŒๅŠจๅนถ้žๆญปๆฟ็š„ๆ‰ง่กŒ่„šๆœฌ๏ผŒAgent ไผšๆ นๆฎๅทฅๅ…ท่ฟ”ๅ›ž็š„็ป“ๆžœ๏ผˆๅ้ฆˆ๏ผ‰ๅฎžๆ—ถ่ฐƒๆ•ด็ญ–็•ฅๅฆ‚ๆžœไธ€ๆฌกๆœ็ดขๆฒกๆœ‰ๆ‰พๅˆฐ็ญ”ๆกˆ๏ผŒ่กŒๅŠจๆจกๅ—ไผšๅ†ณๅฎšๅฐ่ฏ•ไธๅŒ็š„ๅ…ณ้”ฎ่ฏๆˆ–ๅˆ‡ๆขๅทฅๅ…ท
็Žฏๅขƒไบคไบ’ (Interaction)ๆ˜Ž็กฎ่กŒๅŠจ็š„่Œƒๅ›ด๏ผŒๅŒ…ๆ‹ฌๅ†…้ƒจ่กŒๅŠจไธŽๅค–้ƒจๅทฅๅ…ท่ฐƒ็”จๅˆฉ็”จ LLM ็š„ๅ†…ๅœจ่ƒฝๅŠ›๏ผˆๅฆ‚ๆŽจ็†ใ€ๆ€ป็ป“๏ผ‰่ฟ›่กŒๅ†…้ƒจ่กŒๅŠจ๏ผŒไปฅๅŠ้€š่ฟ‡่ฐƒ็”จๅค–้ƒจๅทฅๅ…ท๏ผˆๅฆ‚ APIใ€ๆ•ฐๆฎๅบ“๏ผ‰ๆ‰ฉๅฑ•่กŒๅŠจ่พน็•Œ๏ผŒๆœ€็ปˆ่พพๆˆ้ข„่ฎพ็š„่กŒๅŠจ็›ฎๆ ‡

ๆ•ดไฝ“ๆฅ่ฎฒ๏ผŒ่กŒๅŠจๆจกๅ—็กฎไฟไบ† Agent ็š„"่จ€่กŒไธ€่‡ด"๏ผšๅฎƒๅŸบไบŽ่ฎฐๅฟ†ๆฅๅ†ณ็ญ–๏ผŒๅˆฉ็”จๅทฅๅ…ทๆฅๆ–ฝๅฑ•๏ผŒๆœ€็ปˆ้€š่ฟ‡ไธๆ–ญไธŽ็Žฏๅขƒไบ’ๅŠจ๏ผŒๅฐ†ๆŠฝ่ฑก็š„็›ฎๆ ‡ๅ˜ไธบ็œŸๅฎž็š„็ป“ๆžœใ€‚

5. Agent ็š„ๅˆ†็ฑปไธŽๆœชๆฅ โ€‹

็›ฎๅ‰ Agent ้ข†ๅŸŸๅฐšๆ— ็ปŸไธ€ๆ ‡ๅ‡†๏ผŒไฝ†ๆˆ‘ไปฌๅฏไปฅๆŒ‰ๅ…ถไธšๅŠกๆทฑๅบฆไธŽๅไฝœ่Œƒๅผๅฐ†ๅ…ถๅฝ’็บณไธบไบ”ๅคงๅฝขๆ€ใ€‚ไปŽๅ•ๅ…ตไฝœๆˆ˜็š„โ€œๅ…จ่ƒฝๅคง่„‘โ€ๅˆฐๆˆ็พค็ป“้˜Ÿ็š„โ€œๆ•ฐๅญ—ๅ›ข้˜Ÿโ€๏ผŒๅฎƒไปฌๆญฃไปฅไธๅŒ็š„่ฟ›ๅŒ–่ทฏๅพ„ๆธ—้€่ฟ›ๅ„็งๅคๆ‚็š„็”Ÿไบงๅœบๆ™ฏใ€‚ๆŽฅไธ‹ๆฅ๏ผŒๆˆ‘ไปฌๅฐ†้€ไธ€ๆ‹†่งฃ่ฟ™ไบ”็ง้‡ๅก‘็”ŸไบงๅŠ›็š„ๆ ธๅฟƒ็ฑปๅˆซใ€‚

5.1 ้€š็”จ Agent โ€‹

้š็€ๆŠ€ๆœฏ็š„ๆผ”่ฟ›๏ผŒไธš็•Œๅฏนๆ™บ่ƒฝไฝ“็š„่ฎค็ŸฅไนŸๅ‘็”Ÿไบ†ๅ˜ๅŒ–๏ผš็œŸๆญฃ็š„ Agent ไธๅบ”ๅชๆ˜ฏ่ขซๅŠจๅ“ๅบ”ไบบ็ฑปๆŒ‡ไปค็š„"่Šๅคฉๆ’ไปถ"๏ผŒ่€Œๆ˜ฏไธ€ไธช่‡ชไธป็š„็›ฎๆ ‡ๆ‰ง่กŒ่€…ใ€‚

ๅœจ่ฟ™็ง่ƒŒๆ™ฏไธ‹๏ผŒ้€š็”จ Agent (General Agent) ่„ฑ้ข–่€Œๅ‡บใ€‚ๅฎƒๅนถ้žไธบ็‰นๅฎšๅ•ไธ€ไปปๅŠก๏ผˆๅฆ‚โ€œๅ†™ไธ€ๆฎตไปฃ็ โ€๏ผ‰่€Œ็”Ÿ๏ผŒ่€Œๆ˜ฏไธ€ไธชๆ‹ฅๆœ‰ๅนฟๆณ›่ƒฝๅŠ›่พน็•Œใ€่ƒฝๅคŸ่งฃๅ†ณๅผ€ๆ”พๅผ้—ฎ้ข˜็š„ๆ™บ่ƒฝ็ณป็ปŸใ€‚ๅ…ถ่ฟไฝœ้€ป่พ‘ๅฏไปฅ็ฒพ็‚ผไธบโ€œๆ€่€ƒ๏ผˆThink๏ผ‰ใ€่กŒๅŠจ๏ผˆAct๏ผ‰ใ€ๅญฆไน ๏ผˆLearn๏ผ‰โ€็š„้—ญ็Žฏ๏ผš

้˜ถๆฎตๆ ธๅฟƒๅŠŸ่ƒฝ่ฏฆ็ป†่ฏดๆ˜Ž
ๆ€่€ƒไปปๅŠกๆ‹†่งฃไธŽ่ทฏๅพ„่ง„ๅˆ’ๆ™บ่ƒฝไฝ“ๆŽฅๆ”ถๅˆฐๆจก็ณŠ็›ฎๆ ‡๏ผˆๅฆ‚"ๅธฎๆˆ‘่ฐƒ็ ”ๅนถๆญๅปบไธ€ไธชๆŠ€ๆœฏๅšๅฎข"๏ผ‰ๅŽ๏ผŒไผš่ฟ›่กŒไปปๅŠกๆ‹†่งฃไธŽ่ทฏๅพ„่ง„ๅˆ’๏ผŒๅนถๅœจๆ‰ง่กŒ่ฟ‡็จ‹ไธญไธๆ–ญๅๆ€"ๅฝ“ๅ‰ๆ–นๆกˆๆ˜ฏๅฆๆœ€ไผ˜๏ผŸๆ˜ฏๅฆ้œ€่ฆ่ฐƒๆ•ด๏ผŸ"
่กŒๅŠจ่ฐƒ็”จ้ซ˜ๅบฆ่‡ชๅŠจๅŒ–็š„ๅŽŸๅญ่ƒฝๅŠ›ๅŸบไบŽๆ€่€ƒ็ป“ๆžœ๏ผŒ่ฐƒ็”จ้ซ˜ๅบฆ่‡ชๅŠจๅŒ–็š„ๅŽŸๅญ่ƒฝๅŠ›ใ€‚้™คไบ†่ฏปๅ†™ๆ–‡ไปถใ€็ฝ‘้กตๆต่งˆใ€่ฟ่กŒ็ปˆ็ซฏๅ‘ฝไปคๆˆ–่ฎฟ้—ฎๆ•ฐๆฎๅบ“ๅค–๏ผŒๅธธ่ง็š„ๅŽŸๅญ่ƒฝๅŠ›่ฟ˜ๅŒ…ๆ‹ฌ๏ผš
โ€ข ็ŽฏๅขƒๆŽขๆต‹๏ผš่‡ชๅŠจ่ฏ†ๅˆซๅฝ“ๅ‰ๆ“ไฝœ็ณป็ปŸ็Žฏๅขƒใ€ๅฎ‰่ฃ…็ผบๅคฑ็š„ไพ่ต–ๅŒ…ใ€‚
โ€ข ่ง†่ง‰ไบคไบ’๏ผšๅœจๆฒกๆœ‰ API ็š„ๆƒ…ๅ†ตไธ‹๏ผŒ้€š่ฟ‡ๅฑๅน•ๆˆชๅ›พ่ฏ†ๅˆซ UI ๅ…ƒ็ด ๅนถๆจกๆ‹Ÿ็‚นๅ‡ปใ€‚
โ€ข ่ต„ๆบ่ฐƒๅบฆ๏ผš่‡ชๅŠจ็”ณ่ฏท API Keyใ€้…็ฝฎไบ‘็ซฏๆœๅŠกๆˆ–่งฆๅ‘ GitHub Actions ๅทฅไฝœๆตใ€‚
โ€ข ่ทจๅบ”็”จ็ผ–ๆŽ’๏ผšๅฐ† A ๅบ”็”จ็š„่พ“ๅ‡บๅค„็†ๅŽ๏ผŒ็ฒพๅ‡†ๅกซๅ……ๅˆฐ B ๅบ”็”จ็š„่กจๅ•ไธญใ€‚
ๅญฆไน ไธชไบบๅๅฅฝๆฒ‰ๆท€ไธŽ็ป้ชŒ็งฏ็ดฏ่ฟ™ๆ˜ฏ้€š็”จ Agent ่ฟ›้˜ถ็š„ๅ…ณ้”ฎใ€‚ๅฎƒ่ƒฝไปŽไบคไบ’ไธญ่ฎฐไฝไฝ ็š„ไธชไบบๅๅฅฝ๏ผˆไพ‹ๅฆ‚๏ผšๆŠฅๅ‘Šๅๅฅฝ PDF ๆ ผๅผใ€ไปฃ็ ้ฃŽๆ ผๅ€พๅ‘ไบŽ TypeScript๏ผ‰๏ผŒๅนถๅฐ†ๅ…ถๆฒ‰ๆท€ไธบ"็ป้ชŒ"๏ผŒไฝฟไธ‹ไธ€ๆฌกๅ†ณ็ญ–ๆ›ด็ฌฆๅˆ้ข„ๆœŸใ€‚

ไธบไบ†ๅบ”ๅฏนไธๅŒๅคๆ‚็จ‹ๅบฆ็š„ไปปๅŠก๏ผŒไธš็•Œๆผ”ๅŒ–ๅ‡บไบ†ไธค็งไธปๆต็š„ๅฎž็Žฐ่Œƒๅผ๏ผš

  • ReAct ๅƒๆ˜ฏไธ€ไธชๅๅบ”ๆ•ๆท็š„**โ€œ็Žฐๅœบๅ่ฐƒๅ‘˜โ€๏ผŒๆ“…้•ฟ้šๆœบๅบ”ๅ˜ใ€‚
  • Plan-and-Execute ๅˆ™ๆ›ดๅƒไธ€ไฝ็ป้ชŒไธฐๅฏŒ็š„โ€œ้กน็›ฎ็ป็†โ€**๏ผŒไปฅๅ…จๅฑ€่ง„ๅˆ’่ง้•ฟใ€‚
่Œƒๅผ็ฑปๅž‹ๆ ธๅฟƒ้€ป่พ‘ไผ˜ๅŠฟ้€‚็”จๅœบๆ™ฏ
ReAct Agent้‡‡็”จ"ๆ€่€ƒ-่กŒๅŠจ-่ง‚ๆต‹"ๅฐๆญฅๅฟซ่ท‘ๆจกๅผใ€‚ๆจกๅž‹่ตฐไธ€ๆญฅ็œ‹ไธ€ๆญฅ๏ผŒๆ นๆฎ็Žฏๅขƒ็š„ๅณๆ—ถๅ้ฆˆ่ฐƒๆ•ดไธ‹ไธ€ๆญฅๅŠจไฝœใ€‚ๅฎžๆ—ถๆ€งๅผบใ€ไบคไบ’่‡ช็„ถใ€้€ป่พ‘้“พ่ทฏ้€ๆ˜Žใ€‚่พƒไธบ็ฎ€ๅ•็š„ไปปๅŠกใ€ๅฏนๆˆๆœฌๆ•ๆ„Ÿ็š„่ฝป้‡็บงๅœบๆ™ฏใ€‚
Plan-and-Execute Agentๅ…ˆ็”ฑไธ€ไธช"ๅคง่„‘"ๅฐ†ๅคๆ‚็›ฎๆ ‡ๆ‹†่งฃไธบๅฎŒๆ•ด็š„ๆญฅ้ชคๅˆ—่กจ๏ผˆTodo List๏ผ‰๏ผŒๅ†็”ฑๅฆไธ€ๅช "ๆ‰‹" ่ดŸ่ดฃ้€ไธ€้ซ˜ๆ•ˆๆ‰ง่กŒใ€‚ๅ‡†็กฎ็އๆž้ซ˜๏ผŒ่ƒฝๅคŸๅค„็†ๅ…ทๅค‡ๆทฑๅบฆไพ่ต–ๅ…ณ็ณป็š„ๅคๆ‚ๅทฅ็จ‹ใ€‚้œ€่ฆ้•ฟ็จ‹ๆŽจ็†็š„ไปปๅŠกใ€่ฝฏไปถๅผ€ๅ‘ใ€ๆทฑๅบฆ่กŒไธš่ฐƒ็ ”ใ€‚

5.2 ๅคšๆ™บ่ƒฝไฝ“็ณป็ปŸ (Multi-Agent System) โ€‹

ๅคšๆ™บ่ƒฝไฝ“็ณป็ปŸ้€š่ฟ‡ โ€œไธ“ๆณจๅญไปปๅŠกใ€ไธŠไธ‹ๆ–‡่งฃ่€ฆใ€ๅนถ่กŒๆŽจ่ฟ›โ€ ็š„้€ป่พ‘๏ผŒ่ฎฉ AI ไปŽไธ€ไธชไบบ็š„็‹ฌ่ง’ๆˆ๏ผŒๆผ”ๅ˜ๆˆไบ†ๆŒ‡ๆŒฅ่‹ฅๅฎš็š„ไบคๅ“ไนใ€‚ๅฎƒไธไป…ๆ้ซ˜ไบ†ไปปๅŠก็š„ๅฎŒๆˆไธŠ้™๏ผŒๆ›ด่ฎฉ AI ็š„ๅทฅไฝœๅ˜ๅพ—ๅฏ้ข„ๆต‹ใ€ๅฏ็ฎก็†ใ€‚

ๅฝ“้ขๅฏน่พƒๅคๆ‚็š„ๅทฅ็จ‹ไปปๅŠกๆ—ถ๏ผŒๅ•ไธช Agent ๅพ€ๅพ€ไผšๅ› ไธบไปปๅŠก้“พไฟกๆฏ้‡ๅคชๅคง่€Œไฟกๆฏ้‡ๅคชๅคง่€Œ้™ทๅ…ฅ"ๆททไนฑ"ๆˆ–ๅ‡บ้”™ใ€‚ๅคšๆ™บ่ƒฝไฝ“็ณป็ปŸ (Multi-Agent System) ็š„ๅ‡บ็Žฐ๏ผŒๆœฌ่ดจไธŠๆ˜ฏ่ฎฉ AI ็š„ๅทฅไฝœๆจกๅผไปŽ"ๅ•ๆ‰“็‹ฌๆ–—"่ฝฌๅ‘"ๅ›ข้˜Ÿๅไฝœ"ใ€‚

ๅœจ MAS ๆžถๆž„ไธญ๏ผŒไธปๆ™บ่ƒฝไฝ“๏ผˆLead Agent๏ผ‰ๅฏไปฅๆ นๆฎ้œ€ๆฑ‚็”Ÿๆˆๅคšไธช็‹ฌ็ซ‹็š„ๅญๆ™บ่ƒฝไฝ“๏ผˆSubagent๏ผ‰ใ€‚่ฟ™ไบ›ๅญๆ™บ่ƒฝไฝ“ๅƒๆ˜ฏไธ€็พคไธ“ๆณจ็š„ไธ“ๅฎถ๏ผŒๅ„่‡ชๅค„็†็‰นๅฎš็š„ๅญไปปๅŠก๏ผŒไปŽ่€Œๅธฆๆฅไบ†ๅ››ไธช็ปดๅบฆ็š„ๆ ธๅฟƒไผ˜ๅŠฟ๏ผš

็ปดๅบฆ่ฏฆ็ป†่ฏดๆ˜Ž
ไธŠไธ‹ๆ–‡็š„็ฒพ็ป†้š”็ฆป่ฟ™ๆ˜ฏๅคšๆ™บ่ƒฝไฝ“ๆœ€ๅผบๆ‚็š„ๅœฐๆ–นใ€‚ๆฏไธชๅญๆ™บ่ƒฝไฝ“ๆ‹ฅๆœ‰็‹ฌ็ซ‹็š„่ฎฐๅฟ†็ฉบ้—ด๏ผŒ็กฎไฟ็ป†็ขŽ็š„ไธญ้—ดไปปๅŠกไธไผš"ๆฑกๆŸ“"ไธปๅฏน่ฏ็Žฏๅขƒใ€‚ไพ‹ๅฆ‚๏ผŒ่ดŸ่ดฃๆœ้›†ๆตท้‡ๅŽŸๅง‹ๆ•ฐๆฎ็š„ Subagent๏ผŒๅ…ถ็นๆ‚็š„ๆœ็ดข่ฎฐๅฝ•ไผš่ขซ้š”็ฆปๅœจ่‡ชๅทฑ็š„ไธŠไธ‹ๆ–‡ไธญ๏ผŒๅชๆŠŠๆœ€็ปˆๆ็‚ผ็š„็ป“่ฎบๆฑ‡ๆŠฅ็ป™ไธปๆ™บ่ƒฝไฝ“๏ผŒ่ฎฉไธป่„‘ๅง‹็ปˆไฟๆŒๆธ…้†’็š„ๅคงๅฑ€่ง‚ใ€‚
ๆž่‡ด็š„ๅนถ่กŒๅŒ–ๆ•ˆ็އๅœจๅ• Agent ๆจกๅผไธ‹๏ผŒไปปๅŠกๅช่ƒฝไธ€ไปถๆŽฅไธ€ไปถๅœฐๅš๏ผ›่€Œๅœจ MAS ไธญ๏ผŒๅคšไธชๅญๆ™บ่ƒฝไฝ“ๅฏไปฅๅนถ่กŒ่ฟ่กŒใ€‚ๅฐฑๅƒไธ€ไธช่ฐƒ็ ”้กน็›ฎ๏ผŒๅคšไธช็ ”็ฉถๅ‘˜ๅฏไปฅๅŒๆ—ถๅœจไธๅŒ้ข†ๅŸŸๆœ้›†ๆ•ฐๆฎ๏ผŒๆ˜พ่‘—ๅŠ ๅฟซไบ†ๅคๆ‚ๅทฅไฝœๆต็š„ไบคไป˜้€Ÿๅบฆใ€‚
ไธ“ไธšๆŒ‡ไปค็š„ๆทฑๅบฆๅฎšๅˆถๆˆ‘ไปฌๅฏไปฅไธบไธๅŒ็š„ Subagent ๆณจๅ…ฅไธๅŒ็š„"็ต้ญ‚"ใ€‚่ดŸ่ดฃ"ไปฃ็ ๅฎก่ฎก"็š„ๆ‹ฅๆœ‰ๆœ€ไธฅ่‹›็š„ๅฎ‰ๅ…จ่ง„่Œƒ๏ผŒ่ดŸ่ดฃ"ๆ–‡ๆกˆๆถฆ่‰ฒ"็š„ๆ‹ฅๆœ‰็ป†่…ป็š„ๅ“็‰Œ่ฐƒๆ€งใ€‚่ฟ™็งๆŒ‡ไปค้š”็ฆป้ฟๅ…ไบ†ๅœจๅŒไธ€ไธชๆ็คบ่ฏ๏ผˆPrompt๏ผ‰ไธญๅ †็ Œๅคชๅคš่ฆๆฑ‚่€Œๅฏผ่‡ด็š„ๆŒ‡ไปคๅคฑๆ•ˆใ€‚
ๅทฅๅ…ท่ฐƒ็”จ็š„ๅฎ‰ๅ…จ่พน็•Œๆˆ‘ไปฌๅฏไปฅ็ฒพๅ‡†้™ๅˆถๆฏไธชๅญๆ™บ่ƒฝไฝ“็š„ๆƒ้™ใ€‚ไพ‹ๅฆ‚๏ผŒๆŸฅ่ฏขๆ•ฐๆฎ็š„ Subagent ๅชๆœ‰"ๅช่ฏป"ๆƒ้™๏ผŒ่€Œ"ๅ‘้€้‚ฎไปถ"ๆˆ–"ไฟฎๆ”นๆ•ฐๆฎๅบ“"ๆƒ้™่ขซไธฅๆ ผ้™ๅˆถๅœจ็‰นๅฎš็š„ Subagent ๆ‰‹ไธญ๏ผŒๆžๅคง้™ไฝŽไบ† AI ไบง็”Ÿๆ„ๅค–่กŒไธบ็š„้ฃŽ้™ฉใ€‚

ๅ…ธๅž‹ๆกˆไพ‹๏ผšDeep Research ๆทฑๅบฆ่ฐƒ็ ”็ณป็ปŸ โ€‹

ไปฅไธ€ไธชๅคๆ‚็š„่ฐƒ็ ”ๆต็จ‹ไธบไพ‹๏ผŒ็ณป็ปŸไผš้€š่ฟ‡ Lead Agent + Subagent ็š„ๅˆ†ๅฑ‚ๆžถๆž„ๅฎŒ็พŽ้—ญ็Žฏ๏ผš

  • Lead Agent (ๅ่ฐƒๅ‘˜)๏ผš่ดŸ่ดฃโ€œ่„‘ๅŠ›ๆ‹†่งฃโ€๏ผŒๅฐ†ไธป้ข˜ๅˆ†่งฃไธบ่‹ฅๅนฒๅญ่ฏพ้ข˜๏ผŒๅนถๅง”ๆดพไปปๅŠก๏ผŒๅฎƒไปŽไธไบฒ่‡ชๆŸฅ่ต„ๆ–™๏ผŒไฟๆŒ็ปๅฏน็š„็ฎ€ๆ•ˆใ€‚
  • Researcher (็ ”็ฉถๅ‘˜)๏ผšๅคšไธชๅฎžไพ‹ๅนถ่กŒๅ‡บๅ‘๏ผŒๆฏไธชไธ“ๆณจไบŽไธ€ไธชๅญไธป้ข˜๏ผŒๆœ้›†่‡ณๅฐ‘ 10-15 ไธช็กฌๆ ธๆ•ฐๆฎ็‚นใ€‚
  • Data Analyst (ๆ•ฐๆฎๅˆ†ๆžๅธˆ)๏ผšไป…่ดŸ่ดฃ่ฏปๅ–็ ”็ฉถ็ฌ”่ฎฐ๏ผŒๅˆฉ็”จ Python ็”Ÿๆˆ็›ด่ง‚็š„ๅ›พ่กจใ€‚
  • Report Writer (ๆŠฅๅ‘Šๆ’ฐๅ†™ๅ‘˜)๏ผš ๆฑ‡ๆ€ปๆ‰€ๆœ‰็ ”็ฉถๆˆๆžœ๏ผŒๆœ€็ปˆ่ฐƒ็”จๅทฅๅ…ท็”Ÿๆˆไธ€ไปฝไธ“ไธš็š„ PDF ๆŠฅๅ‘Šใ€‚

5.3 ็Ÿฅ่ฏ†ๅž‹ Agent โ€‹

ๅฆ‚ๆžœ่ฏด้€š็”จ Agent ๆ“…้•ฟ้€ป่พ‘ๆŽจ็†๏ผŒ้‚ฃไนˆๅคšๆ™บ่ƒฝไฝ“ๆ“…้•ฟๆต็จ‹ๅไฝœ๏ผŒ็Ÿฅ่ฏ†ๅž‹ Agent ็š„ๆ ธๅฟƒไฝฟๅ‘ฝๅˆ™ๆ˜ฏ"็†่งฃๅนถ่ฝฌๅŒ–ๆตท้‡้ž็ป“ๆž„ๅŒ–ๆ•ฐๆฎ"ใ€‚ๅฎƒไธไป…ไป…ๆ˜ฏไธ€ไธช็ฎ€ๅ•็š„ๆœ็ดขๅทฅๅ…ท๏ผŒ่€Œๆ˜ฏไธ€ไธช่ƒฝๅคŸๆทฑๅบฆ็†่งฃ็งๅŸŸ็Ÿฅ่ฏ†ๅนถๅŸบไบŽๆญค่ฟ›่กŒๅคๆ‚ๅ†ณ็ญ–็š„ๆ™บ่ƒฝๅฎžไฝ“ใ€‚

ๅœจไผไธš็บงๅบ”็”จไธญ๏ผŒๆ•ฐๆฎๅพ€ๅพ€ๆ•ฃ่ฝๅœจ็‰ฉ็†ๆ–‡ๆกฃใ€ไปฃ็ ไป“ๅบ“ใ€Slack ่Šๅคฉ่ฎฐๅฝ•ๆˆ–ๅ…ณ็ณปๅž‹ๆ•ฐๆฎๅบ“ไธญใ€‚็Ÿฅ่ฏ†ๅž‹ Agent ็š„ๆ ธๅฟƒ่ฏ‰ๆฑ‚ๅœจไบŽ๏ผš

  • "ๅ…จๅฑ€็†่งฃไธŽ่ทจๅบ“ๅ…ณ่”"๏ผšๅฎƒ่ƒฝ่ทจ่ถŠไธๅŒ็š„ๆ–‡ๆกฃๆ ผๅผไธŽๅญ˜ๅ‚จไป‹่ดจ๏ผŒๅปบ็ซ‹่ตท็Ÿฅ่ฏ†้—ด็š„้€ป่พ‘่”็ณปใ€‚

  • "ๅŠจๆ€ๆ›ดๆ–ฐไธŽๅฎžๆ—ถๅŒๆญฅ"๏ผšๅฎƒ่ƒฝๆ„Ÿ็Ÿฅ็Žฏๅขƒๅ้ฆˆ๏ผŒ้š็€้กน็›ฎ่ฟ›ๅฑ•่‡ชๅŠจๅŒๆญฅๆœ€ๆ–ฐ็š„ไผš่ฎฎ็บช่ฆๆˆ–ๆŠ€ๆœฏๆ–นๆกˆใ€‚

  • "ๆทฑๅบฆ็š„็Ÿฅ่ฏ†ๆŽจ็†"๏ผš ไธๆญขๆ˜ฏ"ๆฃ€็ดข"๏ผŒๆ›ดๆ˜ฏ"ๆ€่€ƒ"ใ€‚

ๅบ”็”จๅœบๆ™ฏ็คบไพ‹๏ผš

ๆƒณ่ฑกไฝ ้œ€่ฆๅค็›˜ไธ€ไธชๅคๆ‚้กน็›ฎ็š„่ฟ›ๅบฆใ€‚็Ÿฅ่ฏ†ๅž‹ Agent ๅฏไปฅ็žฌ้—ดๆ‰ซๆ่ฟ‡ๅŽปไธ‰ไธชๆœˆ็š„ๆ‰€ๆœ‰้กน็›ฎไผš่ฎฎ็บช่ฆใ€Slack ่ฎจ่ฎบ่ฎฐๅฝ•ๅ’ŒๆŠ€ๆœฏๆ–‡ๆกฃ๏ผŒๆœ€็ปˆไธบไฝ ๆ€ป็ป“ๅ‡บ๏ผš"ๅฏผ่‡ด X ้กน็›ฎๅปถๆœŸ็š„ๆ ธๅฟƒๅŽŸๅ› ไธป่ฆ้›†ไธญๅœจ A ๆŽฅๅฃ็š„ๆƒ้™ๅ˜ๅŠจ๏ผŒไปฅๅŠ B ๅ›ข้˜Ÿๅœจ็ฌฌไบŒๅ‘จ็š„ไบบๅŠ›็ผบๅฃใ€‚"

่ฟ™็ง Agent ็š„ๆ ธๅฟƒไปทๅ€ผๅœจไบŽ๏ผŒๅฎƒๅฐ†ๅŽŸๆœฌ"ๆญป"็š„่ต„ๆ–™ๅบ“ๅ˜ๆˆไบ†"ๆดป"็š„็”ŸไบงๅŠ›ๅทฅๅ…ทใ€‚ๆ— ่ฎบๆ˜ฏๅŸบไบŽๅ…จๅฑ€ๆ–‡ๆกฃๅ›ž็ญ”ๅคๆ‚้—ฎ้ข˜๏ผŒ่ฟ˜ๆ˜ฏ็ป“ๅˆๅค–้ƒจ้ž็Ÿฅ่ฏ†ๅทฅๅ…ท๏ผˆๅฆ‚่‡ชๅŠจๅ‘้‚ฎไปถ้€š็Ÿฅ็›ธๅ…ณ่ดฃไปปไบบ๏ผ‰๏ผŒ็Ÿฅ่ฏ†ๅž‹ Agent ้ƒฝๆ˜ฏๆž„ๅปบ็Ÿฅ่ฏ†ๅฏ†้›†ๅž‹ๅบ”็”จ็š„ๅ…ณ้”ฎใ€‚

5.4 ๅคšๆจกๆ€ Agent โ€‹

ๅคšๆจกๆ€ Agent ๆ˜ฏไธ€็ง่ƒฝๅคŸๅค„็†ๅคš็งๆจกๆ€ๆ•ฐๆฎ๏ผˆๅฆ‚ๆ–‡ๆœฌใ€ๅ›พๅƒใ€่ง†้ข‘็ญ‰๏ผ‰็š„ Agent ็ฑปๅž‹ใ€‚ๅ…ถๆ ธๅฟƒไปทๅ€ผๅœจไบŽๅ…ถๆ„Ÿ็ŸฅไธŽๆŽจ็†็š„ๆทฑๅบฆ่žๅˆ๏ผšๅฎƒไธไป…่ƒฝ"่ฏป"ๆŒ‡ไปค๏ผŒๆ›ด่ƒฝ"็œ‹"็Žฏๅขƒ๏ผŒๅนถๆฎๆญค็”Ÿๆˆๅคš็ปดๅบฆ็š„ๅ้ฆˆใ€‚

  • ๅ…จๆ„Ÿๅฎ˜่พ“ๅ…ฅไธŽ่พ“ๅ‡บ๏ผšๅฎƒๅฏไปฅ็›ดๆŽฅๆŽฅๆ”ถๅ›พ็‰‡ใ€่ง†้ข‘ๆตๆˆ–ๅฎžๆ—ถ่ฏญ้Ÿณ๏ผŒๅนถ็”Ÿๆˆๅฏนๅบ”็š„ๅคšๅช’ไฝ“ๅ†…ๅฎนๆˆ–ๆ‰ง่กŒๅ…ทไฝ“็š„ๅŠจไฝœใ€‚
  • ่ทจๆจกๆ€ๆทฑๅบฆๆŽจ็†๏ผšไพ‹ๅฆ‚๏ผŒๅฎƒ่ƒฝ็ป“ๅˆๅ›พๅƒ็ป†่Š‚ไธŽๆ–‡ๆœฌ้€ป่พ‘๏ผŒ่ฏ†ๅˆซๅ‡บๅคๆ‚็š„ๅฏน่ฑกๅ…ณ่”ๆˆ–ๅผ‚ๅธธ็Šถๆ€ใ€‚

ๅ…ธๅž‹ๅบ”็”จๅœบๆ™ฏ๏ผš

ๆƒณ่ฑกไธ€ไธช"่‡ชๅŠจๅŒ– QA ๆต‹่ฏ• Agent"๏ผšไฝ ๅช้œ€็ป™ๅฎƒไธ€ๆฎตๆ‰‹ๆœบๅฑๅน•ๅฝ•ๅฑ๏ผŒๅฎƒ่ƒฝ่‡ชๅŠจ่ฏ†ๅˆซๅ‡บ UI ็•Œ้ขไธŠๅฏผ่‡ดๅดฉๆบƒ็š„ Bug ๆŒ‰้’ฎไฝ็ฝฎ๏ผŒ็ฒพๅ‡†ๆˆชๅ–ๅ…ณ้”ฎๅธง๏ผŒๅนถ่‡ชๅŠจๅœจ Jira ็ณป็ปŸไธญๆไบคไธ€ไธชๅŒ…ๅซโ€œๆ“ไฝœๆญฅ้ชคใ€ๅผ‚ๅธธๆˆชๅ›พใ€้ข„ๆœŸๆ•ˆๆžœโ€็š„ไธ“ไธšๆŠ€ๆœฏๅทฅๅ•ใ€‚

่ฟ™็ง่ƒฝ"่ƒฝ็œ‹ใ€่ƒฝๅฌใ€่ƒฝ่ฏด"็š„็‰นๆ€ง๏ผŒ่ฎฉ Agent ๅฝปๅบ•่ตฐๅ‡บไบ†็บฏๆ–‡ๅญ—็š„ๆธฉๅฎค๏ผŒๅผ€ๅง‹ๅœจ UI ่‡ชๅŠจๅŒ–ๆต‹่ฏ•ใ€ๅทฅไธšๅทกๆฃ€ใ€ๆ™บ่ƒฝๅฎถๅฑ…็ญ‰็Žฐๅฎžไบคไบ’ๅœบๆ™ฏไธญๅคงๆ”พๅผ‚ๅฝฉใ€‚

5.5 ่ฟˆๅ‘้ซ˜ๅบฆ่‡ชไธป๏ผšOpenClaw ไธŽ"ๆ•ฐๅญ—ๅ‘˜ๅทฅ" โ€‹

้€š็”จๅž‹ Agent ่™ฝ็„ถๅœจ้€ป่พ‘ๆŽจ็†ไธŽๅทฅๅ…ท่ฐƒ็”จๆ–น้ขๅ–ๅพ—ไบ†้•ฟ่ถณ่ฟ›ๆญฅ๏ผŒไฝ†ๅœจๅฎž้™…่ฝๅœฐๅœบๆ™ฏไธญไป้ขไธดๆ˜พ่‘—้™ๅˆถใ€‚ๅคงๅคšๆ•ฐ็ณป็ปŸๆœฌ่ดจไธŠๆ˜ฏๅๅบ”ๆ€ง็š„๏ผŒไพ่ต–ไบบ็ฑปๆŒ็ปญ็š„ๆŒ‡ไปค่พ“ๅ…ฅ๏ผŒ้šพไปฅๅœจๆฒกๆœ‰ไบบๅทฅๅนฒ้ข„็š„ๆƒ…ๅ†ตไธ‹็‹ฌ็ซ‹ๅฎŒๆˆ่ทจ่ถŠๆ•ฐๆ—ฅ็š„้•ฟๆ—ถ่ฟ่กŒไปปๅŠก๏ผˆLong-Running Tasks๏ผ‰ใ€‚ไบบไปฌๅฏนไธ€ไธช 7 ๅคฉ 24 ๅฐๆ—ถไธ้—ดๆ–ญๅทฅไฝœ็š„ๆ•ฐๅญ—ๅ‘˜ๅทฅ็š„ๆ„ฟๆ™ฏ๏ผŒๅ‚ฌ็”Ÿไบ†ๅฏนๅŸบ็ก€ๆžถๆž„็š„้‡ๆ–ฐๅฎก่ง†ใ€‚

ๅœจ่ฟ™็ง่ƒŒๆ™ฏไธ‹๏ผŒOpenClaw ่„ฑ้ข–่€Œๅ‡บ๏ผŒๆˆไธบ่งฃๅ†ณ้•ฟๆ—ถ่ฟ่กŒใ€่‡ชไธป่ง„ๅˆ’ไธŽๆŒไน…ๅŒ–็Šถๆ€็ฎก็†็ญ‰ๆ ธๅฟƒๆŠ€ๆœฏๆŒ‘ๆˆ˜็š„ๅ…ธๅž‹ไปฃ่กจใ€‚ๅฎƒไธไป…ๆ˜ฏไธ€ไธช Agent ๆก†ๆžถ๏ผŒๆ›ดๅƒๆ˜ฏไธ€ไธชๅˆๆญฅๆˆๅฝข็š„ โ€œAgent OS๏ผˆๆ™บ่ƒฝไฝ“ๆ“ไฝœ็ณป็ปŸ๏ผ‰โ€ใ€‚ๅ…ถๆžถๆž„่ฎพ่ฎกๅนถ้ž็ฎ€ๅ•็š„ API ๅฐ่ฃ…๏ผŒ่€Œๆ˜ฏไธ€ไธชๅŠกๅฎž็š„ๅˆ†ๅธƒๅผๆŽงๅˆถๅนณ้ขใ€‚ๅ…ถๆœ€ๆ˜พ่‘—็š„็‰นๅพๆ˜ฏๅฎž็Žฐไบ†ๆŽงๅˆถ้€ป่พ‘๏ผˆControl Plane๏ผ‰ไธŽๆŽจ็†ๆ‰ง่กŒ๏ผˆRuntime๏ผ‰็š„ๆทฑๅบฆ่งฃ่€ฆใ€‚่ฟ™ไธ€่ฎพ่ฎกไฝฟๅพ— OpenClaw ่ƒฝๅคŸไฝœไธบๆœบๅ™จไธŠ็š„้•ฟไน…ๅฎˆๆŠค่ฟ›็จ‹่ฟ่กŒ๏ผŒไฟๆŒๅฏนๅ„็ง้€š่ฎฏ้ข‘้“็š„็›‘ๅฌ๏ผŒๅŒๆ—ถๅค„็†ๅคๆ‚็š„ๅŽๅฐไปปๅŠกใ€‚

ๅฆๅค–๏ผŒ้€š่ฟ‡ๅฐ†็ฝ‘ๅ…ณๆŽงๅˆถๅนณ้ขใ€ๆ–‡ไปถไผ˜ๅ…ˆ็š„่ฎฐๅฟ†็ณป็ปŸไธŽๅฟƒ่ทณ่งฆๅ‘็š„่ขซๅŠจๅ”ค้†’ๆœบๅˆถ็›ธ็ป“ๅˆ๏ผŒOpenClaw ๆˆๅŠŸๆž„ๅปบไบ†ไธ€ไธชๆ”ฏๆŒ้•ฟๆ•ˆ่ฟ่กŒ็š„ๅŸบ็ก€่ฎพๆ–ฝใ€‚ๅฎƒ่ฏๆ˜Žไบ†่‡ชไธปๆ™บ่ƒฝไฝ“็š„็œŸๆญฃๅŠ›้‡ไธๅœจไบŽๆจกๅž‹ๆœ‰ๅคšๅคง๏ผŒ่€ŒๅœจไบŽๅ…ถไธŽ็‰ฉ็†็Žฏๅขƒใ€ๆ–‡ไปถ็ณป็ปŸๅŠไบบ็ฑป็Žฐๆœ‰้€š่ฎฏๅทฅๅ…ท็š„ๆทฑๅบฆ้›†ๆˆ็จ‹ๅบฆใ€‚้š็€ IronClaw ็ญ‰ๅฎ‰ๅ…จๅขžๅผบ็‰ˆๆœฌ็š„ๆˆ็†Ÿ๏ผŒไปฅๅŠ OpenClaw-RL ๅธฆๆฅ็š„ๆŒ็ปญ่ฟ›ๅŒ–่ƒฝๅŠ›๏ผŒ่ฟ™็ง 24/7 ไธ้—ดๆ–ญๅทฅไฝœ็š„"ๆ•ฐๅญ—ๅ‘˜ๅทฅ"ๅฐ†ไปŽๅผ€ๅ‘่€…็š„็Žฉๅ…ท๏ผŒ้€ๆญฅๆผ”ๅ˜ไธบไผไธšๅ’Œไธชไบบไธๅฏๆˆ–็ผบ็š„ๆ ธๅฟƒ็”ŸไบงๅŠ›ๅŸบ็ก€่ฎพๆ–ฝใ€‚

ๅœจไธไน…็š„ๅฐ†ๆฅ๏ผŒๆ™บ่ƒฝไฝ“็š„็ซžไบ‰็„ฆ็‚นๅฐ†ไปŽๅ•็บฏ็š„ๆŽจ็†้€Ÿๅบฆ่ฝฌๅ‘"่ฟ่ฅๅฏ้ ๆ€ง"๏ผŒ้‚ฃไบ›ๅ…ทๅค‡่‡ชๆˆ‘ไฟฎๅค่ƒฝๅŠ›ใ€ๅนถๅœจไธฅๆ ผๅฎ‰ๅ…จ็บฆๆŸไธ‹ๆ‰ง่กŒ้ซ˜ๅบฆ่‡ชไธปไปปๅŠก็š„็ณป็ปŸ๏ผŒๅฐ†ๆœ€็ปˆๅฎšไน‰ AI ๆ—ถไปฃ็š„ๆ•ฐๅญ—ๅŒ–ๅทฅไฝœ่Œƒๅผใ€‚OpenClaw ๅทฒ็ปไธบ่ฟ™ไธ€ๆœชๆฅ้“บๅนณไบ†้“่ทฏ๏ผŒๅนถๅปบ็ซ‹ไบ†ไธ€ไธชๅบžๅคง็š„ใ€ๅŽปไธญๅฟƒๅŒ–็š„ๆŠ€่ƒฝไธŽ็Ÿฅ่ฏ†ๅบ“๏ผŒ่ฎฉไบบไปฌ้ƒฝ่ƒฝ้€š่ฟ‡็ฎ€ๅ•็š„ Markdown ้…็ฝฎ๏ผŒๅฎšๅˆถๅฑžไบŽ่‡ชๅทฑ็š„ใ€ๅ…ทๅค‡้ซ˜ๅบฆ่‡ชไธปๆƒ็š„ๆ™บ่ƒฝไฝ“ๅŠฉๆ‰‹ใ€‚

6. ็ป“่ฏญ๏ผšไปŽโ€œๅฏน่ฏโ€ๅˆฐโ€œๅๅŒโ€็š„่Œƒๅผ้ฉๅ‘ฝ โ€‹

ไปŽๆœ€ๅˆๅชไผšๅŸ่ฏ—ไฝœๅฏน็š„"่Šๅคฉๆœบๅ™จไบบ"๏ผŒๅˆฐๅฆ‚ไปŠ่ƒฝๅคŸ็‹ฌ็ซ‹ๆ€่€ƒใ€่ฐƒ็”จๅทฅๅ…ทใ€ๅๅŒไฝœๆˆ˜็š„"ๆ•ฐๅญ—ๅ‘˜ๅทฅ"๏ผŒAI Agent ็š„ๆผ”่ฟ›ๆญฃไปฅๅ‰ๆ‰€ๆœชๆœ‰็š„้€Ÿๅบฆ้‡ๅก‘็€ไบบ็ฑป็š„ๅŠณๅŠจ่Œƒๅผใ€‚

ๆˆ‘ไปฌๆญฃๅœจ็ปๅކไธ€ๅœบๆทฑๅˆป็š„ๅ˜้ฉ๏ผš่ฝฏไปถ็š„ๅฝขๆ€ๆญฃๅœจไปŽ"ๆญปๆฟ็š„ๅทฅๅ…ท"่ฝฌๅ˜ไธบ"ๆœ‰่ƒฝๅŠจๆ€ง็š„ๅฎžไฝ“"ใ€‚ๅฏนไบŽๅผ€ๅ‘่€…่€Œ่จ€๏ผŒๆœชๆฅ็š„ๆ ธๅฟƒ็ซžไบ‰ๅŠ›ๅฐ†ไธๅ†ไป…ไป…ๆ˜ฏ็ผ–ๅ†™ไบ†ๅคšๅฐ‘่กŒไปฃ็ ๏ผŒ่€Œๆ˜ฏ่ƒฝๅฆๆž„ๅปบๅ‡บๆทฑ่ฐ™ไธšๅŠก้€ป่พ‘ใ€่ƒฝๅคŸ่‡ชไธป่ฐƒๅบฆ่ต„ๆบๅนถไบคไป˜็ป“ๆžœ็š„ Agent ็ณป็ปŸใ€‚

Agent ไธๆ˜ฏ่ฆๅ–ไปฃไบบ็ฑป็š„ๆ™บๆ…ง๏ผŒ่€Œๆ˜ฏ่ฆๅฐ†ๆˆ‘ไปฌไปŽ็น็็š„ใ€้‡ๅคๆ€ง็š„ๆ•ฐๅญ—ๅŠณไฝœไธญ่งฃๆ”พๅ‡บๆฅ๏ผŒๅŽปๅ…ณๆณจๆ›ดๅ…ทๅˆ›้€ ๅŠ›็š„ๅ†ณ็ญ–ใ€‚ๅœจ่ฟ™ไธช AI ้ฉฑๅŠจ็š„ๆ–ฐ็บชๅ…ƒ้‡Œ๏ผŒๆฏไธชไบบ้ƒฝๅฐ†ๆ‹ฅๆœ‰ไธ€ๆ”ฏๅฑžไบŽ่‡ชๅทฑ็š„ๆ•ฐๅญ—ๅ›ข้˜Ÿใ€‚ๆœชๆฅๅทฒๆฅ๏ผŒ่€Œ Agent ๆญฃๆ˜ฏ้‚ฃๆŠŠๅผ€ๅฏ่ง„ๆจกๅŒ–ไธชๆ€งๅŒ–็”Ÿไบงๅคง้—จ็š„้’ฅๅŒ™ใ€‚

',83)])])}const p=e(a,[["render",r]]);export{A as __pageData,p as default}; diff --git "a/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_02.Agent \347\263\273\345\210\227_01.Agent\346\246\202\350\247\210\344\270\216\347\273\274\350\277\260.md.BIpWVkHy.lean.js" "b/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_02.Agent \347\263\273\345\210\227_01.Agent\346\246\202\350\247\210\344\270\216\347\273\274\350\277\260.md.DMvs5K_Q.lean.js" similarity index 97% rename from "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_02.Agent \347\263\273\345\210\227_01.Agent\346\246\202\350\247\210\344\270\216\347\273\274\350\277\260.md.BIpWVkHy.lean.js" rename to "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_02.Agent \347\263\273\345\210\227_01.Agent\346\246\202\350\247\210\344\270\216\347\273\274\350\277\260.md.DMvs5K_Q.lean.js" index e1aa64e3..1fd30c8e 100644 --- "a/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_02.Agent \347\263\273\345\210\227_01.Agent\346\246\202\350\247\210\344\270\216\347\273\274\350\277\260.md.BIpWVkHy.lean.js" +++ "b/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_02.Agent \347\263\273\345\210\227_01.Agent\346\246\202\350\247\210\344\270\216\347\273\274\350\277\260.md.DMvs5K_Q.lean.js" @@ -1 +1 @@ -import{_ as e,g as n,h as l,U as o}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const A=JSON.parse('{"title":"ไปŽๆ็คบ่ฏๅˆฐๆ•ฐๅญ—ๅ‘˜ๅทฅ๏ผšAI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐ","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšAI ็š„่ฟ›ๅŒ–ๆญฃ็ปๅކไปŽโ€œๅฏน่ฏๆก†โ€ๅ‘โ€œๆ•ฐๅญ—ๅ‘˜ๅทฅโ€็š„ๆ นๆœฌๆ€ง่ทจ่ถŠใ€‚ๆœฌๆ–‡ๆ˜ฏไธ€็ฏ‡ๅ…ณไบŽ AI Agent ็š„ๅ…จๆ™ฏๆทฑๅบฆ็ปผ่ฟฐ๏ผŒๆ—จๅœจ่งฃๆž„ๆ™บ่ƒฝไฝ“ๅฆ‚ไฝ•ไปŽ็ฎ€ๅ•็š„ Prompt ๅ“ๅบ”่€…๏ผŒๆผ”ๅ˜ไธบๅ…ทๅค‡่‡ชไธป็›ฎๆ ‡ๆ‹†่งฃใ€้•ฟ็ŸญๆœŸ่ฎฐๅฟ†ไธŽๅคๆ‚็Žฏๅขƒไบคไบ’่ƒฝๅŠ›็š„โ€œๆ‰ง่กŒ่€…โ€ใ€‚ๆˆ‘ไปฌๅฐ†ๆทฑๅบฆๆ‹†่งฃ Agent ็š„ๅ››ๅคงๆŠ€ๆœฏๅŸบ็Ÿณ๏ผˆ่ง„ๅˆ’ใ€่ฎฐๅฟ†ใ€ๅทฅๅ…ทใ€่กŒๅŠจ๏ผ‰๏ผŒๅนถ่ฏฆ็ป†ๅ‰–ๆžไปŽ้€š็”จๅž‹ Agent ๅˆฐๅคšๆ™บ่ƒฝไฝ“ๅไฝœ๏ผˆMAS๏ผ‰ใ€ๅ†ๅˆฐ่ฟˆๅ‘ Agent OS ๆ—ถไปฃ็š„ OpenClaw ็ญ‰ไบ”ๅคงๆผ”่ฟ›ๅฝขๆ€ใ€‚ไธไป…ๆŽข่ฎจไบ†ๆŠ€ๆœฏๆžถๆž„็š„ๅฎž็Žฐ๏ผŒๆ›ดๆญ็คบไบ†่ฝฏไปถๅทฅ็จ‹ไปŽโ€œไปฅไบบไธบไธญๅฟƒโ€ๅ‘โ€œไปฅ AI ไธบไธญๅฟƒโ€็š„่Œƒๅผ้ฉๅ‘ฝโ€”โ€”ๅœจ Agent ้ฉฑๅŠจ็š„ๆ–ฐ็บชๅ…ƒ๏ผŒๆ ธๅฟƒ็ซžไบ‰ๅŠ›ๅฐ†ไธๅ†ๆ˜ฏไปฃ็ ้‡๏ผŒ่€Œๆ˜ฏ่ฐƒๅบฆ AI ้—ญ็Žฏ่งฃๅ†ณไธšๅŠก้—ฎ้ข˜็š„่ƒฝๅŠ›ใ€‚","frontmatter":{"date":"2026-02-12T22:31:00.000Z","title":"ไปŽๆ็คบ่ฏๅˆฐๆ•ฐๅญ—ๅ‘˜ๅทฅ๏ผšAI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐ","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšAI ็š„่ฟ›ๅŒ–ๆญฃ็ปๅކไปŽโ€œๅฏน่ฏๆก†โ€ๅ‘โ€œๆ•ฐๅญ—ๅ‘˜ๅทฅโ€็š„ๆ นๆœฌๆ€ง่ทจ่ถŠใ€‚ๆœฌๆ–‡ๆ˜ฏไธ€็ฏ‡ๅ…ณไบŽ AI Agent ็š„ๅ…จๆ™ฏๆทฑๅบฆ็ปผ่ฟฐ๏ผŒๆ—จๅœจ่งฃๆž„ๆ™บ่ƒฝไฝ“ๅฆ‚ไฝ•ไปŽ็ฎ€ๅ•็š„ Prompt ๅ“ๅบ”่€…๏ผŒๆผ”ๅ˜ไธบๅ…ทๅค‡่‡ชไธป็›ฎๆ ‡ๆ‹†่งฃใ€้•ฟ็ŸญๆœŸ่ฎฐๅฟ†ไธŽๅคๆ‚็Žฏๅขƒไบคไบ’่ƒฝๅŠ›็š„โ€œๆ‰ง่กŒ่€…โ€ใ€‚ๆˆ‘ไปฌๅฐ†ๆทฑๅบฆๆ‹†่งฃ Agent ็š„ๅ››ๅคงๆŠ€ๆœฏๅŸบ็Ÿณ๏ผˆ่ง„ๅˆ’ใ€่ฎฐๅฟ†ใ€ๅทฅๅ…ทใ€่กŒๅŠจ๏ผ‰๏ผŒๅนถ่ฏฆ็ป†ๅ‰–ๆžไปŽ้€š็”จๅž‹ Agent ๅˆฐๅคšๆ™บ่ƒฝไฝ“ๅไฝœ๏ผˆMAS๏ผ‰ใ€ๅ†ๅˆฐ่ฟˆๅ‘ Agent OS ๆ—ถไปฃ็š„ OpenClaw ็ญ‰ไบ”ๅคงๆผ”่ฟ›ๅฝขๆ€ใ€‚ไธไป…ๆŽข่ฎจไบ†ๆŠ€ๆœฏๆžถๆž„็š„ๅฎž็Žฐ๏ผŒๆ›ดๆญ็คบไบ†่ฝฏไปถๅทฅ็จ‹ไปŽโ€œไปฅไบบไธบไธญๅฟƒโ€ๅ‘โ€œไปฅ AI ไธบไธญๅฟƒโ€็š„่Œƒๅผ้ฉๅ‘ฝโ€”โ€”ๅœจ Agent ้ฉฑๅŠจ็š„ๆ–ฐ็บชๅ…ƒ๏ผŒๆ ธๅฟƒ็ซžไบ‰ๅŠ›ๅฐ†ไธๅ†ๆ˜ฏไปฃ็ ้‡๏ผŒ่€Œๆ˜ฏ่ฐƒๅบฆ AI ้—ญ็Žฏ่งฃๅ†ณไธšๅŠก้—ฎ้ข˜็š„่ƒฝๅŠ›ใ€‚","coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/llm_learning_bg_1.png","permalink":"/ai-agent/overview","top":true,"categories":["ai-practice"],"tags":["AI Agent","Agent"]},"headers":[],"relativePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/01.Agentๆฆ‚่งˆไธŽ็ปผ่ฟฐ.md","filePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/01.Agentๆฆ‚่งˆไธŽ็ปผ่ฟฐ.md"}'),a={name:"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/01.Agentๆฆ‚่งˆไธŽ็ปผ่ฟฐ.md"};function r(g,t,s,i,d,u){return l(),n("div",null,[...t[0]||(t[0]=[o("",83)])])}const p=e(a,[["render",r]]);export{A as __pageData,p as default}; +import{_ as e,g as n,h as l,U as o}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const A=JSON.parse('{"title":"ไปŽๆ็คบ่ฏๅˆฐๆ•ฐๅญ—ๅ‘˜ๅทฅ๏ผšAI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐ","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšAI ็š„่ฟ›ๅŒ–ๆญฃ็ปๅކไปŽโ€œๅฏน่ฏๆก†โ€ๅ‘โ€œๆ•ฐๅญ—ๅ‘˜ๅทฅโ€็š„ๆ นๆœฌๆ€ง่ทจ่ถŠใ€‚ๆœฌๆ–‡ๆ˜ฏไธ€็ฏ‡ๅ…ณไบŽ AI Agent ็š„ๅ…จๆ™ฏๆทฑๅบฆ็ปผ่ฟฐ๏ผŒๆ—จๅœจ่งฃๆž„ๆ™บ่ƒฝไฝ“ๅฆ‚ไฝ•ไปŽ็ฎ€ๅ•็š„ Prompt ๅ“ๅบ”่€…๏ผŒๆผ”ๅ˜ไธบๅ…ทๅค‡่‡ชไธป็›ฎๆ ‡ๆ‹†่งฃใ€้•ฟ็ŸญๆœŸ่ฎฐๅฟ†ไธŽๅคๆ‚็Žฏๅขƒไบคไบ’่ƒฝๅŠ›็š„โ€œๆ‰ง่กŒ่€…โ€ใ€‚ๆˆ‘ไปฌๅฐ†ๆทฑๅบฆๆ‹†่งฃ Agent ็š„ๅ››ๅคงๆŠ€ๆœฏๅŸบ็Ÿณ๏ผˆ่ง„ๅˆ’ใ€่ฎฐๅฟ†ใ€ๅทฅๅ…ทใ€่กŒๅŠจ๏ผ‰๏ผŒๅนถ่ฏฆ็ป†ๅ‰–ๆžไปŽ้€š็”จๅž‹ Agent ๅˆฐๅคšๆ™บ่ƒฝไฝ“ๅไฝœ๏ผˆMAS๏ผ‰ใ€ๅ†ๅˆฐ่ฟˆๅ‘ Agent OS ๆ—ถไปฃ็š„ OpenClaw ็ญ‰ไบ”ๅคงๆผ”่ฟ›ๅฝขๆ€ใ€‚ไธไป…ๆŽข่ฎจไบ†ๆŠ€ๆœฏๆžถๆž„็š„ๅฎž็Žฐ๏ผŒๆ›ดๆญ็คบไบ†่ฝฏไปถๅทฅ็จ‹ไปŽโ€œไปฅไบบไธบไธญๅฟƒโ€ๅ‘โ€œไปฅ AI ไธบไธญๅฟƒโ€็š„่Œƒๅผ้ฉๅ‘ฝโ€”โ€”ๅœจ Agent ้ฉฑๅŠจ็š„ๆ–ฐ็บชๅ…ƒ๏ผŒๆ ธๅฟƒ็ซžไบ‰ๅŠ›ๅฐ†ไธๅ†ๆ˜ฏไปฃ็ ้‡๏ผŒ่€Œๆ˜ฏ่ฐƒๅบฆ AI ้—ญ็Žฏ่งฃๅ†ณไธšๅŠก้—ฎ้ข˜็š„่ƒฝๅŠ›ใ€‚","frontmatter":{"date":"2026-02-12T22:31:00.000Z","title":"ไปŽๆ็คบ่ฏๅˆฐๆ•ฐๅญ—ๅ‘˜ๅทฅ๏ผšAI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐ","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšAI ็š„่ฟ›ๅŒ–ๆญฃ็ปๅކไปŽโ€œๅฏน่ฏๆก†โ€ๅ‘โ€œๆ•ฐๅญ—ๅ‘˜ๅทฅโ€็š„ๆ นๆœฌๆ€ง่ทจ่ถŠใ€‚ๆœฌๆ–‡ๆ˜ฏไธ€็ฏ‡ๅ…ณไบŽ AI Agent ็š„ๅ…จๆ™ฏๆทฑๅบฆ็ปผ่ฟฐ๏ผŒๆ—จๅœจ่งฃๆž„ๆ™บ่ƒฝไฝ“ๅฆ‚ไฝ•ไปŽ็ฎ€ๅ•็š„ Prompt ๅ“ๅบ”่€…๏ผŒๆผ”ๅ˜ไธบๅ…ทๅค‡่‡ชไธป็›ฎๆ ‡ๆ‹†่งฃใ€้•ฟ็ŸญๆœŸ่ฎฐๅฟ†ไธŽๅคๆ‚็Žฏๅขƒไบคไบ’่ƒฝๅŠ›็š„โ€œๆ‰ง่กŒ่€…โ€ใ€‚ๆˆ‘ไปฌๅฐ†ๆทฑๅบฆๆ‹†่งฃ Agent ็š„ๅ››ๅคงๆŠ€ๆœฏๅŸบ็Ÿณ๏ผˆ่ง„ๅˆ’ใ€่ฎฐๅฟ†ใ€ๅทฅๅ…ทใ€่กŒๅŠจ๏ผ‰๏ผŒๅนถ่ฏฆ็ป†ๅ‰–ๆžไปŽ้€š็”จๅž‹ Agent ๅˆฐๅคšๆ™บ่ƒฝไฝ“ๅไฝœ๏ผˆMAS๏ผ‰ใ€ๅ†ๅˆฐ่ฟˆๅ‘ Agent OS ๆ—ถไปฃ็š„ OpenClaw ็ญ‰ไบ”ๅคงๆผ”่ฟ›ๅฝขๆ€ใ€‚ไธไป…ๆŽข่ฎจไบ†ๆŠ€ๆœฏๆžถๆž„็š„ๅฎž็Žฐ๏ผŒๆ›ดๆญ็คบไบ†่ฝฏไปถๅทฅ็จ‹ไปŽโ€œไปฅไบบไธบไธญๅฟƒโ€ๅ‘โ€œไปฅ AI ไธบไธญๅฟƒโ€็š„่Œƒๅผ้ฉๅ‘ฝโ€”โ€”ๅœจ Agent ้ฉฑๅŠจ็š„ๆ–ฐ็บชๅ…ƒ๏ผŒๆ ธๅฟƒ็ซžไบ‰ๅŠ›ๅฐ†ไธๅ†ๆ˜ฏไปฃ็ ้‡๏ผŒ่€Œๆ˜ฏ่ฐƒๅบฆ AI ้—ญ็Žฏ่งฃๅ†ณไธšๅŠก้—ฎ้ข˜็š„่ƒฝๅŠ›ใ€‚","coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/llm_learning_bg_1.png","permalink":"/ai-agent/overview","top":true,"categories":["ai-practice"],"tags":["AI Agent","Agent"]},"headers":[],"relativePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/01.Agentๆฆ‚่งˆไธŽ็ปผ่ฟฐ.md","filePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/01.Agentๆฆ‚่งˆไธŽ็ปผ่ฟฐ.md"}'),a={name:"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/01.Agentๆฆ‚่งˆไธŽ็ปผ่ฟฐ.md"};function r(g,t,s,i,d,u){return l(),n("div",null,[...t[0]||(t[0]=[o("",83)])])}const p=e(a,[["render",r]]);export{A as __pageData,p as default}; diff --git "a/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_02.Agent \347\263\273\345\210\227_02.Agent \350\247\204\345\210\222\346\250\241\345\235\227.md.BEUNtIDI.js" "b/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_02.Agent \347\263\273\345\210\227_02.Agent \350\247\204\345\210\222\346\250\241\345\235\227.md.C3XAsz_e.js" similarity index 99% rename from "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_02.Agent \347\263\273\345\210\227_02.Agent \350\247\204\345\210\222\346\250\241\345\235\227.md.BEUNtIDI.js" rename to "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_02.Agent \347\263\273\345\210\227_02.Agent \350\247\204\345\210\222\346\250\241\345\235\227.md.C3XAsz_e.js" index df850dee..d1db5543 100644 --- "a/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_02.Agent \347\263\273\345\210\227_02.Agent \350\247\204\345\210\222\346\250\241\345\235\227.md.BEUNtIDI.js" +++ "b/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_02.Agent \347\263\273\345\210\227_02.Agent \350\247\204\345\210\222\346\250\241\345\235\227.md.C3XAsz_e.js" @@ -1 +1 @@ -import{_ as e,g as n,h as a,U as r}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const c=JSON.parse('{"title":"ๆŽขๅฏป Agent ๅ†ณ็ญ–ไธญๆžข๏ผš่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„่ง„ๅˆ’่Œƒๅผ","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฆ‚ๆžœ่ฏด LLM ๆ˜ฏ Agent ็š„ๅคง่„‘๏ผŒ่ง„ๅˆ’ๆจกๅ—ๅˆ™ๆ˜ฏๅ…ถ่ดŸ่ดฃๅคๆ‚ๅ†ณ็ญ–็š„โ€œๅ‰้ขๅถโ€ใ€‚ๆœฌๆ–‡ๆทฑๅบฆ่งฃๆž„ไบ† Agent ่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„ๆ ธๅฟƒ่ทฏๅพ„๏ผšไปŽไปปๅŠกๅˆ†่งฃ็š„้™ไฝŽ็†ตๅ€ผ๏ผŒๅˆฐ่‡ชๆˆ‘ๅๆ€็š„้—ญ็ŽฏๆŽงๅˆถใ€‚้€š่ฟ‡ๅฏนๆฏ”โ€œ่พน่ตฐ่พน็œ‹โ€็š„ ReAct ๅŠจๆ€ๅ“ๅบ”ๆจกๅผไธŽโ€œ่ฐ‹ๅฎšๅŽๅŠจโ€็š„ Plan-and-Execute ้ข„็ผ–ๆŽ’ๆจกๅผ๏ผŒๆœฌๆ–‡ๆญ็คบไบ†ๅฆ‚ไฝ•้’ˆๅฏน้•ฟ้“พ่ทฏๅทฅ็จ‹ไปปๅŠกๆž„ๅปบ็จณๅฅ็š„ๅ†ณ็ญ–่Œƒๅผ๏ผŒๅŠฉไฝ ๅฎŒๆˆไปŽโ€œ็ฎ€ๅ•ๆ็คบ่ฏโ€ๅˆฐโ€œๅคๆ‚ๆžถๆž„่ฎพ่ฎกโ€็š„่ฎค็Ÿฅ่ทƒ่ฟใ€‚","frontmatter":{"date":"2026-02-24T20:52:37.000Z","title":"ๆŽขๅฏป Agent ๅ†ณ็ญ–ไธญๆžข๏ผš่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„่ง„ๅˆ’่Œƒๅผ","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฆ‚ๆžœ่ฏด LLM ๆ˜ฏ Agent ็š„ๅคง่„‘๏ผŒ่ง„ๅˆ’ๆจกๅ—ๅˆ™ๆ˜ฏๅ…ถ่ดŸ่ดฃๅคๆ‚ๅ†ณ็ญ–็š„โ€œๅ‰้ขๅถโ€ใ€‚ๆœฌๆ–‡ๆทฑๅบฆ่งฃๆž„ไบ† Agent ่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„ๆ ธๅฟƒ่ทฏๅพ„๏ผšไปŽไปปๅŠกๅˆ†่งฃ็š„้™ไฝŽ็†ตๅ€ผ๏ผŒๅˆฐ่‡ชๆˆ‘ๅๆ€็š„้—ญ็ŽฏๆŽงๅˆถใ€‚้€š่ฟ‡ๅฏนๆฏ”โ€œ่พน่ตฐ่พน็œ‹โ€็š„ ReAct ๅŠจๆ€ๅ“ๅบ”ๆจกๅผไธŽโ€œ่ฐ‹ๅฎšๅŽๅŠจโ€็š„ Plan-and-Execute ้ข„็ผ–ๆŽ’ๆจกๅผ๏ผŒๆœฌๆ–‡ๆญ็คบไบ†ๅฆ‚ไฝ•้’ˆๅฏน้•ฟ้“พ่ทฏๅทฅ็จ‹ไปปๅŠกๆž„ๅปบ็จณๅฅ็š„ๅ†ณ็ญ–่Œƒๅผ๏ผŒๅŠฉไฝ ๅฎŒๆˆไปŽโ€œ็ฎ€ๅ•ๆ็คบ่ฏโ€ๅˆฐโ€œๅคๆ‚ๆžถๆž„่ฎพ่ฎกโ€็š„่ฎค็Ÿฅ่ทƒ่ฟใ€‚","permalink":"/ai-agent/planning-module","sticky":1,"top":true,"categories":["AI ๅญฆไน ไธŽๅฎž่ทต"]},"headers":[],"relativePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/02.Agent ่ง„ๅˆ’ๆจกๅ—.md","filePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/02.Agent ่ง„ๅˆ’ๆจกๅ—.md"}'),l={name:"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/02.Agent ่ง„ๅˆ’ๆจกๅ—.md"};function i(o,t,g,s,d,p){return a(),n("div",null,[...t[0]||(t[0]=[r('

ๆŽขๅฏป Agent ๅ†ณ็ญ–ไธญๆžข๏ผš่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„่ง„ๅˆ’่Œƒๅผ โ€‹

ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฆ‚ๆžœ่ฏด LLM ๆ˜ฏ Agent ็š„ๅคง่„‘๏ผŒ่ง„ๅˆ’ๆจกๅ—ๅˆ™ๆ˜ฏๅ…ถ่ดŸ่ดฃๅคๆ‚ๅ†ณ็ญ–็š„โ€œๅ‰้ขๅถโ€ใ€‚ๆœฌๆ–‡ๆทฑๅบฆ่งฃๆž„ไบ† Agent ่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„ๆ ธๅฟƒ่ทฏๅพ„๏ผšไปŽไปปๅŠกๅˆ†่งฃ็š„้™ไฝŽ็†ตๅ€ผ๏ผŒๅˆฐ่‡ชๆˆ‘ๅๆ€็š„้—ญ็ŽฏๆŽงๅˆถใ€‚้€š่ฟ‡ๅฏนๆฏ”โ€œ่พน่ตฐ่พน็œ‹โ€็š„ ReAct ๅŠจๆ€ๅ“ๅบ”ๆจกๅผไธŽโ€œ่ฐ‹ๅฎšๅŽๅŠจโ€็š„ Plan-and-Execute ้ข„็ผ–ๆŽ’ๆจกๅผ๏ผŒๆœฌๆ–‡ๆญ็คบไบ†ๅฆ‚ไฝ•้’ˆๅฏน้•ฟ้“พ่ทฏๅทฅ็จ‹ไปปๅŠกๆž„ๅปบ็จณๅฅ็š„ๅ†ณ็ญ–่Œƒๅผ๏ผŒๅŠฉไฝ ๅฎŒๆˆไปŽโ€œ็ฎ€ๅ•ๆ็คบ่ฏโ€ๅˆฐโ€œๅคๆ‚ๆžถๆž„่ฎพ่ฎกโ€็š„่ฎค็Ÿฅ่ทƒ่ฟใ€‚

1. ๅผ•่จ€ โ€‹

ๅœจไบบ็ฑปๅคง่„‘ไธญ๏ผŒๅ‰้ขๅถ็šฎๅฑ‚่ดŸ่ดฃๅคๆ‚็š„่ฎค็Ÿฅ่ง„ๅˆ’ใ€ๅ†ณ็ญ–ๅ’Œ็คพไบค่กจ็Žฐใ€‚ๅฏนไบŽไธ€ไธช Agent ่€Œ่จ€๏ผŒ่ง„ๅˆ’ๆจกๅ—ๆญฃๆ˜ฏๅฎƒ็š„โ€œๅ‰้ขๅถโ€โ€”โ€”ๅฎƒๅ†ณๅฎšไบ† Agent ๆ˜ฏๅชไผšๆœบๆขฐๅ“ๅบ”ๆŒ‡ไปค็š„โ€œๆœจๅถโ€๏ผŒ่ฟ˜ๆ˜ฏ่ƒฝ็‹ฌ็ซ‹ๆ‹†่งฃ็›ฎๆ ‡ใ€ๅœจๅคๆ‚็Žฏๅขƒไธญๅฏปๆ‰พๆœ€ไผ˜่ทฏๅพ„็š„โ€œๆ•ฐๅญ—ๅ‘˜ๅทฅโ€ใ€‚

Agent ็š„่ง„ๅˆ’่ƒฝๅŠ›ไธป่ฆ็”ฑไธค้ƒจๅˆ†ๅๅŒ้ฉฑๅŠจ๏ผšไปปๅŠกๅˆ†่งฃไธŽ่‡ชๆˆ‘ๅๆ€ใ€‚

2. ไปปๅŠกๅˆ†่งฃ๏ผšๅŒ–็นไธบ็ฎ€็š„็ญ–็•ฅ โ€‹

ไปปๅŠกๅˆ†่งฃๆ˜ฏๆŒ‡ๅฐ†ไธ€ไธชๅคๆ‚็š„็›ฎๆ ‡ๆˆ–ไปปๅŠกๆ‹†่งฃไธบๅคšไธชๅ…ทไฝ“ใ€ๅฏๆ“ไฝœ็š„็š„ๅญไปปๅŠก๏ผŒไปฅไพฟ Agent ่ƒฝๅคŸๆ›ด้ซ˜ๆ•ˆๅœฐๆ‰ง่กŒๅ’Œ็ฎก็†ใ€‚ๅ…ถๆœฌ่ดจๆ˜ฏ้™ไฝŽ้—ฎ้ข˜็š„็†ตๅ€ผ๏ผŒ่ฎฉ Agent ่ƒฝๅคŸ่š็„ฆไบŽๆฏไธ€ไธช็ป†ๅฐ็š„็กฎๅฎšๆ€งๆญฅ้ชค๏ผŒไปŽ่€Œ้€ๆญฅ่งฃๅ†ณ้—ฎ้ข˜๏ผŒๆ้ซ˜่ง„ๅˆ’็š„ๅฏ่กŒๆ€งๅ’Œๆ‰ง่กŒๆ•ˆ็އใ€‚

ๆ นๆฎโ€œ่ง„ๅˆ’โ€ไธŽโ€œๆ‰ง่กŒโ€ๅ‘็”Ÿ็š„ๆ—ถ้—ด่Š‚็‚น๏ผŒไธš็•Œๅฝขๆˆไบ†ไธ‰็ฑปไธปๆตๆ–นๆณ•ใ€‚

2.1 ๅ…ˆๅˆ†่งฃๅŽ่ง„ๅˆ’ โ€‹

่ฟ™็งๆจกๅผ็ฑปไผผไบŽโ€œๅปบ็ญ‘ๅ›พ็บธๅˆถโ€๏ผŒๅ…ˆๅฐ†ๅคๆ‚ไปปๅŠกๆ‹†่งฃไธบๅคšไธชๅญไปปๅŠก๏ผŒ็„ถๅŽๅ†ไธบๆฏไธชๅญไปปๅŠกๅˆถ่ฎข่ฏฆ็ป†็š„ๆ‰ง่กŒ่ฎกๅˆ’๏ผŒ็กฎไฟAgent ๅœจๅŠจๆ‰‹ไน‹ๅ‰๏ผŒๅฟ…้กปไบงๅ‡บๅฎŒๆ•ด็š„ๆญฅ้ชคๆธ…ๅ•ใ€‚ๅ…ถๆ ธๅฟƒ้€ป่พ‘ๆ˜ฏๅ…ˆๅฐ†ไปปๅŠก็ป†ๅŒ–ไธบๅญไปปๅŠก๏ผŒๅนถๆ˜Ž็กฎไพ่ต–ๅ…ณ็ณปใ€‚

ๅ…ˆๅˆ†่งฃๅŽ่ง„ๅˆ’็š„ไผ˜ๅŠฟๅœจไบŽไปปๅŠกไธŽๅŽŸไปปๅŠก่”็ณป็ดงๅฏ†๏ผŒ่ƒฝๆœ‰ๆ•ˆ้™ไฝŽไปปๅŠก้—ๆผๅ’Œๅนป่ง‰้ฃŽ้™ฉใ€‚ๅฎƒ็š„ไธ่ถณๅœจไบŽ็ผบไน็ตๆดปๆ€ง๏ผŒไธ€ๆ—ฆๅˆๅง‹่ฎกๅˆ’ไธญ็š„ๆŸไธ€ๆญฅๅœจๆ‰ง่กŒๆ—ถๅ—้˜ป๏ผŒ็”ฑไบŽ่ฎกๅˆ’ๅทฒๅ›บๅฎš๏ผŒๆ•ดไธชๆต็จ‹ๅฎนๆ˜“้™ทๅ…ฅๆญปๅพช็Žฏๆˆ–ๅฝปๅบ•ๅคฑ่ดฅใ€‚ๅ› ๆญค๏ผŒๅœจๅทฅ็จ‹ๅฎž่ทตไธญ๏ผŒๆˆ‘ไปฌๅฟ…้กปๆทฑๅ…ฅๆ€่€ƒๅฆ‚ไฝ•่ฎพ่ฎกๅŠจๆ€่ฐƒๆ•ด็ญ–็•ฅๆˆ–ๅผ•ๅ…ฅไบบๅทฅๅนฒ้ข„่Š‚็‚น๏ผŒไปฅ่ง„้ฟ้—ฎ้ข˜ใ€‚

2.2 ่พนๅˆ†่งฃ่พน่ง„ๅˆ’ โ€‹

่ฟ™็งๆจกๅผ็ฑปไผผไบŽ"ๆ‘ธ็€็Ÿณๅคด่ฟ‡ๆฒณ"๏ผŒ่ฎฉๆŽจ็†ไธŽ่กŒๅŠจไบคๆ›ฟ่ฟ›่กŒใ€‚Agent ไธ้ข„่ฎพๅ›บๅฎš็š„ๆ‰ง่กŒ่ทฏๅพ„๏ผŒ่€Œๆ˜ฏๆ นๆฎๆฏไธ€ๆญฅ็š„ๅ้ฆˆๅŠจๆ€่ฐƒๆ•ด๏ผŒๅœจๅˆ†่งฃไปปๅŠก็š„ๅŒๆ—ถ่ฟ›่กŒ่ง„ๅˆ’๏ผŒๅฎžๆ—ถไผ˜ๅŒ–ๅญไปปๅŠก็š„ๆ‰ง่กŒ้กบๅบๅ’Œ็ญ–็•ฅใ€‚

ๅˆ†่งฃ่พน่ง„ๅˆ’็š„็ญ–็•ฅ่ƒฝๅฎžๆ—ถๅ“ๅบ”็Žฏๅขƒๅ้ฆˆ๏ผŒๆ นๆฎ็Žฏๅขƒๅ้ฆˆ่ฐƒๆ•ดๅˆ†่งฃ็ญ–็•ฅ๏ผŒๅฎน้”™็އ้ซ˜๏ผŒๅ…ทๆœ‰่พƒๅฅฝ็š„็ตๆดปๆ€งๅ’Œ้€‚ๅบ”ๆ€งใ€‚ไฝ†ๆ˜ฏ๏ผŒๅœจๅค„็†ๅคๆ‚ไปปๅŠกๆ—ถ๏ผŒๅฆ‚ๆžœๆ•ดไธช่ง„ๅˆ’่ฟ‡็จ‹่ฟ‡้•ฟ๏ผŒๅฏ่ƒฝไผšๅ› ไธบ LLM ไธŠไธ‹ๆ–‡่ฟ‡้•ฟ่€Œไบง็”Ÿโ€œๅนป่ง‰โ€๏ผŒๅฏผ่‡ดๅŽ็ปญ็š„ไปปๅŠกไธŽ่ง„ๅˆ’ๅ็ฆปๅˆๅง‹็›ฎๆ ‡ใ€‚

2.3 ๅŸบไบŽ่ฏญ่จ€ๆจกๅž‹็š„่‡ชไธปๅˆ†่งฃ โ€‹

่ฟ™ๆ˜ฏไธ€็งๆ›ด็บฏ็ฒน็š„ๆจกๅผ๏ผŒๅˆฉ็”จ LLM ๅผบๅคง็š„่ฏญไน‰็†่งฃ่ƒฝๅŠ›๏ผŒ็›ดๆŽฅ้€š่ฟ‡ Prompt ๅผ•ๅฏผๅ…ถ็”Ÿๆˆ็ฎก็†ๅญไปปๅŠก็š„ๆŒ‡ไปค๏ผŒๅฐ†่‡ช็„ถ่ฏญ่จ€็›ฎๆ ‡่ฝฌๅŒ–ไธบๆœบๅ™จๅฏ็†่งฃ็š„ๆญฅ้ชคๆ ‘ใ€‚

ๅฎƒ็š„ๆ ธๅฟƒ้€ป่พ‘ๆ˜ฏ็›ดๆŽฅๅฐ†่‡ช็„ถไปปๅŠก็ป†ๅŒ–ไธบๅญไปปๅŠก๏ผŒๆ— ้œ€้ข„่ฎพ่ฎกๅˆ’ใ€‚่ฟ™็งๆจกๅผ่™ฝ็„ถ็ฎ€ๅ•๏ผŒไฝ†ๆ˜ฏ้œ€่ฆ LLM ๅ…ทๅค‡ๅผบๅคง็š„่ฏญไน‰็†่งฃ่ƒฝๅŠ›๏ผŒๆ‰่ƒฝๅ‡†็กฎๅœฐๅฐ†่‡ช็„ถ่ฏญ่จ€็›ฎๆ ‡่ฝฌๆขไธบๅญไปปๅŠกใ€‚ๅŒๆ—ถ๏ผŒ็”ฑไบŽ LLM ็”Ÿๆˆ็š„ๅญไปปๅŠกๆ˜ฏๅŸบไบŽๅฝ“ๅ‰็Žฏๅขƒๅ้ฆˆ็š„๏ผŒๅ› ๆญคๅœจๅค„็†ๅคๆ‚ไปปๅŠกๆ—ถ๏ผŒๅฏ่ƒฝไผšๅ› ไธบ็Žฏๅขƒๅ˜ๅŒ–่€Œไบง็”Ÿโ€œๅนป่ง‰โ€๏ผŒๅฏผ่‡ดๅŽ็ปญ่ง„ๅˆ’้€ๆธๅ็ฆปๅˆๅง‹็›ฎๆ ‡ใ€‚

3. ่‡ชๆˆ‘ๅๆ€๏ผš้—ญ็ŽฏๆŽงๅˆถ็š„่‰บๆœฏ โ€‹

ๅœจ Agent ่ง„ๅˆ’ๆจกๅ—ไธญ๏ผŒๅๆ€๏ผˆReflection๏ผ‰ๆ˜ฏไธ€ไธช้‡่ฆ็š„ๆฆ‚ๅฟต๏ผŒๅฆ‚ๆžœ่ฏดไปปๅŠกๅˆ†่งฃๆ˜ฏโ€œ่ฟ›ๆ”ปโ€๏ผŒ้‚ฃไนˆ่‡ชๆˆ‘ๅๆ€ๅฐฑๆ˜ฏโ€œ้˜ฒๅฎˆโ€ไธŽโ€œไฟฎๆญฃโ€ใ€‚ๅฎƒๆ˜ฏไธ€็งๆๅ‡ Agent ่ฟ่กŒๆˆๅŠŸ็އ็š„ๆ ธๅฟƒๆ็คบ็ญ–็•ฅ๏ผŒ้€š่ฟ‡ๆจกๅž‹็š„่‡ชๆˆ‘ๅฎกๆŸฅๆฅๆ”น่ฟ›ๅˆๆญฅๆˆๆžœใ€‚

ๅๆ€็š„ๅŸบๆœฌๅŽŸ็†ๆ˜ฏ้€š่ฟ‡ๆจกๅž‹็š„่‡ชๆˆ‘ๅฎกๆŸฅๅ’Œ่‡ชๆˆ‘ๅ้ฆˆๆฅๆ”น่ฟ›ๅˆๆญฅ็”Ÿๆˆ็š„ๅ†…ๅฎน๏ผŒๅๆ€ๆœบๅˆถไนŸ้€šๅธธ้ตๅพชไธ€ไธชโ€œ็”Ÿๆˆ-่ฏ„ไผฐ-ไฟฎๆญฃโ€็š„ๅพช็Žฏ๏ผš

  • ็”Ÿๆˆ้˜ถๆฎต๏ผšๆจกๅž‹ไบงๅ‡บๅˆๆญฅ็š„่งฃๅ†ณๆ–นๆกˆ๏ผˆๅฆ‚ไธ€ๆฎตไปฃ็ ๆˆ–ไธ€ไปฝๅคง็บฒ๏ผ‰ใ€‚

  • ๅๆ€้˜ถๆฎต๏ผšๆจกๅž‹ๅˆ‡ๆขไธบโ€œๅฎก่ฎกๅ‘˜โ€่ง’่‰ฒ๏ผŒๅฏน็…ง็”จๆˆท้œ€ๆฑ‚ๅ’Œๅฎข่ง‚็บฆๆŸ๏ผŒๆ‰พๅ‡บๅˆๆญฅ็ป“ๆžœไธญ็š„ไธ่ถณใ€้€ป่พ‘ๆผๆดžๆˆ–้”™่ฏฏใ€‚

  • ไฟฎๆญฃ้˜ถๆฎต๏ผšๅŸบไบŽๅๆ€ๅปบ่ฎฎ๏ผŒ้‡ๆ–ฐ็ป„็ป‡็ป“ๆž„ๆˆ–่ฐƒๆ•ด็ป†่Š‚๏ผŒไบงๅ‡บๆ›ด้ซ˜่ดจ้‡็š„ๆœ€็ปˆ็‰ˆๆœฌใ€‚

ๅœจๆฏไธ€่ฝฎๅๆ€ไธญ๏ผŒAI ๆจกๅž‹ไผšๅ›ž้กพ็”Ÿๆˆ็š„ๅ†…ๅฎน๏ผŒ่ฏ„ไผฐๅ…ถ่ดจ้‡๏ผŒๅนถๆๅ‡บไฟฎๆ”นๅปบ่ฎฎใ€‚่ฟ™ไบ›ไฟฎๆ”นๅปบ่ฎฎๅฏไปฅๆ˜ฏ็ป†่Š‚ไธŠ็š„่ฐƒๆ•ด๏ผŒไนŸๅฏไปฅๆ˜ฏๅฏน็”Ÿๆˆ็ป“ๆž„็š„้‡ๆ–ฐ็ป„็ป‡๏ผŒ็›ฎ็š„ๆ˜ฏๆๅ‡ๅ†…ๅฎน็š„่ฟž่ดฏๆ€งใ€้€ป่พ‘ๆ€งใ€่กจ่พพๆธ…ๆ™ฐๅบฆๆˆ–ๅขžๅผบๅฏน็”จๆˆท้œ€ๆฑ‚็š„้€‚ๅบ”ๆ€งใ€‚

ไธบไบ†่ฎฉ่ฟ™็งโ€œ่‡ชๆˆ‘็บ ้”™โ€่ƒฝๅŠ›่ง„ๆจกๅŒ–๏ผŒไธš็•ŒไนŸๆผ”ๅŒ–ๅ‡บไบ†ๅ‡ ็งๆˆ็†Ÿๆก†ๆžถ๏ผš

  • Reflexion๏ผš่ต‹ไบˆ Agent ๅŠจๆ€่ฎฐๅฟ†่ƒฝๅŠ›๏ผŒ้€š่ฟ‡ๅ›ž้กพ่ฟ‡ๅŽป็š„ๅคฑ่ดฅ็ป้ชŒๆฅไผ˜ๅŒ–ๅฝ“ไธ‹็š„ๅ†ณ็ญ–ใ€‚

  • CoH (Chain of Hindsight)๏ผšๅ‘ๆจกๅž‹ๅฑ•็คบๅธฆๆœ‰ๆญฃ้ขๅ’Œ่ดŸ้ขๅ้ฆˆ็š„ๅކๅฒ่พ“ๅ‡บ๏ผŒ้€š่ฟ‡ๅฏนๆฏ”ๅญฆไน ๏ผŒ้ผ“ๅŠฑๆจกๅž‹ๅœจๅฝ“ๅ‰ไปปๅŠกไธญโ€œ่ถ‹ๅˆฉ้ฟๅฎณโ€ใ€‚

4. ๅŠจๆ€ๅ“ๅบ”ๆจกๅผ๏ผšๅŸบไบŽ ReAct ็œ‹่ง„ๅˆ’้—ญ็Žฏ โ€‹

ๅœจไผ—ๅคš Agent ่ฎพ่ฎกๆจกๅผไธญ๏ผŒReAct (Reasoning + Acting) ๆ˜ฏ็›ฎๅ‰ๅบ”็”จๆœ€ๅนฟใ€็›ด่ง‚ๆ€งๆœ€ๅผบ็š„ๆจกๅผใ€‚ๅฎƒๅฎŒ็พŽไฝ“็Žฐไบ†ๅ‰ๆ–‡ๆๅˆฐ็š„โ€œ่พนๅˆ†่งฃ่พน่ง„ๅˆ’โ€็ญ–็•ฅ๏ผŒ้€š่ฟ‡ๅฐ†ๆŽจ็†๏ผˆReasoning๏ผ‰ไธŽ่กŒๅŠจ๏ผˆActing๏ผ‰ๆทฑๅบฆ่€ฆๅˆ๏ผŒ่ฎฉ Agent ๅ…ทๅค‡ไบ†ๅœจๅคๆ‚็Žฏๅขƒไธญโ€œๅฐๆญฅๅฟซ่ท‘โ€็š„่ƒฝๅŠ›ใ€‚

about site background
  • ๆŽจ็†๏ผˆReason๏ผ‰๏ผš่ฟ™ๆ˜ฏๆ€่€ƒ็Žฏ่Š‚๏ผŒAgent ๆ นๆฎๅฝ“ๅ‰็Šถๆ€่ฏ„ไผฐๅฝขๅŠฟ๏ผŒๅˆ†ๆžๅฏ่ƒฝ็š„่กŒๅŠจๆ–นๆกˆ๏ผŒไธบไธ‹ไธ€ๆญฅๅ†ณ็ญ–ๆไพ›ไพๆฎใ€‚
  • ่กŒๅŠจ๏ผˆAction๏ผ‰๏ผšๆ นๆฎๆŽจ็†็ป“ๆžœ๏ผŒAgent ้€‰ๆ‹ฉๅนถๆ‰ง่กŒๅ…ทไฝ“็š„ๆ“ไฝœ๏ผŒๅฐ†ๆ€่€ƒ่ฝฌๅŒ–ไธบๅฎž้™…ๅŠจไฝœใ€‚
  • ่ง‚ๆต‹๏ผˆObservation๏ผ‰๏ผš่ฟ™ๆ˜ฏ้—ญ็Žฏไธญๆœ€ๅ…ณ้”ฎ็š„ไธ€ๆญฅ๏ผŒๆ˜ฏๅ…ณ้”ฎ็š„ๅ้ฆˆๅธๆ”ถ้˜ถๆฎตใ€‚่กŒๅŠจๆ‰ง่กŒๅŽ๏ผŒAgent ๆ”ถ้›†็Žฏๅขƒๅ้ฆˆ๏ผŒ่ฏ„ไผฐๆ‰ง่กŒๆ•ˆๆžœ๏ผŒๅนถๅฐ†็ป“ๆžœไฝœไธบไธ‹ไธ€่ฝฎๆŽจ็†็š„่พ“ๅ…ฅ๏ผŒๅฝขๆˆ้—ญ็Žฏใ€‚

ไผ ็ปŸ็š„ LLM ๅฎนๆ˜“ๅœจ้•ฟ่ทฏๅพ„ไปปๅŠกไธญ่ฟทๅคฑๆ–นๅ‘๏ผŒ่€Œ ReAct ็š„ๆ ธๅฟƒๅœจไบŽๆž„ๅปบไบ†ไธ€ไธชไธๆ–ญ่‡ชไฟฎๆญฃ็š„้€ป่พ‘้—ญ็Žฏ๏ผŒๅผ•ๅ…ฅไบ†โ€œๅŠจๆ€้‡ๅˆคๆ–ญโ€ๆœบๅˆถ๏ผš

  • ๅฎน้”™ๆ€ง๏ผšๅฆ‚ๆžœ Action ็š„็ป“ๆžœๆŠฅ้”™๏ผˆObservation๏ผ‰๏ผŒAgent ไผšๅœจไธ‹ไธ€่ฝฎ Thought ไธญๆ„่ฏ†ๅˆฐ้”™่ฏฏ๏ผŒๅนถไธปๅŠจ่ฐƒๆ•ด็ญ–็•ฅใ€‚

  • ้€ๆ˜Žๆ€ง๏ผšไบบ็ฑปๅฏไปฅๆธ…ๆ™ฐๅœฐ็œ‹ๅˆฐ Agent ็š„โ€œๅ†…ๅฟƒ็‹ฌ็™ฝโ€๏ผŒ็†่งฃๅฎƒๆ˜ฏๅฆ‚ไฝ•ไปŽๅˆๅง‹็›ฎๆ ‡ไธ€ๆญฅๆญฅ้€ผ่ฟ‘ๆœ€็ปˆ็ญ”ๆกˆ็š„ใ€‚

  • ็ปˆๆญขๅˆคๆ–ญ๏ผšๅฝ“ Observation ็š„็ป“ๆžœๅทฒ็ป่ถณไปฅๅ›ž็ญ”้—ฎ้ข˜ๆ—ถ๏ผŒAgent ไผšๅšๅ‡บโ€œๆ— ้œ€ๅ†่ฐƒ็”จๅทฅๅ…ทโ€็š„ๅ†ณ็ญ–๏ผŒ็›ดๆŽฅ่พ“ๅ‡บ Final Answer๏ผŒไผ˜้›…ๅœฐ็ป“ๆŸ่ง„ๅˆ’ใ€‚

่ฟ™็งโ€œๆŽจ็†-่กŒๅŠจ-่ง‚ๆต‹โ€็š„ๅพช็Žฏ๏ผŒๅฐ†ๅŽŸๆœฌๆญปๆฟ็š„้€ป่พ‘้“พ่ทฏ่ฝฌๅŒ–ไธบไบ†ๅ…ทๆœ‰็”Ÿๅ‘ฝๅŠ›็š„ใ€ๅฏ่ฟ›ๅŒ–็š„ๅทฅไฝœๆตใ€‚

5. ้ข„็ผ–ๆŽ’ๆจกๅผ๏ผšPlan-and-Execute ไธ‹็š„่‡ชๅŠจๅŒ–ๅทฅ็จ‹ โ€‹

ๅœจๅˆ†ๆžๅฎŒไพง้‡โ€œ่พน่ตฐ่พน็œ‹โ€็š„ ReAct ๆจกๅผๅŽ๏ผŒๆˆ‘ไปฌๅฟ…้กป่ฎจ่ฎบๅฆไธ€็งๅœจๅค„็†้ซ˜ๅคๆ‚ๅบฆใ€้•ฟ้“พ่ทฏใ€ๅผบไพ่ต–ไปปๅŠกๆ—ถ่กจ็Žฐๆ›ด็จณๅฅ็š„่Œƒๅผ๏ผšPlan-and-Execute๏ผˆ่ง„ๅˆ’ไธŽๆ‰ง่กŒๅˆ†็ฆป๏ผ‰ใ€‚

5.1 ๆ ธๅฟƒ่ฟ่กŒๆœบๅˆถ โ€‹

Plan and Execute Workflow

ไธŽ ReAct ๅฐ†ๆŽจ็†ไธŽ่กŒๅŠจๆททๅˆๅœจๆฏไธ€่ฝฎๅพช็ŽฏไธญไธๅŒ๏ผŒ่ฏฅๆจกๅผ้€š่ฟ‡ไธ€ไธชๆ˜พๅผ็š„โ€œ่ฎกๅˆ’ๆธ…ๅ•โ€ไฝœไธบไธญ่ฝฌ็ซ™๏ผŒๅฎž็Žฐไบ†ๅ†ณ็ญ–ไธŽๆ‰ง่กŒ็š„่งฃ่€ฆ๏ผš

  • ่ง„ๅˆ’ๅ™จ๏ผšๅปบ็ซ‹ๅ…จๅฑ€่ˆชๅ‘๏ผŒๅฝ“็”จๆˆทๆไบคไธ€ไธชๅฎ่ง‚ไปปๅŠก๏ผˆๅฆ‚โ€œไปŽ้›ถๅผ€ๅ‘ไธ€ไธช NestJS ่ฎค่ฏๆจกๅ—โ€๏ผ‰ๆ—ถ๏ผŒ่ง„ๅˆ’ๅ™จ้ฆ–ๅ…ˆไป‹ๅ…ฅใ€‚ๅฎƒๅˆฉ็”จๆœ€ๅผบๆจกๅž‹็š„้€ป่พ‘่ƒฝๅŠ›๏ผŒๅฐ†ๆจก็ณŠ็š„็›ฎๆ ‡ๆ‹†่งฃไธบไธ€็ณปๅˆ—็ป“ๆž„ๅŒ–็š„ Task Listใ€‚่ฟ™ไธ€ๆญฅๆ˜ฏโ€œ่ฐ‹ๅฎšโ€็š„่ฟ‡็จ‹ใ€‚

  • ๆ‰ง่กŒๅ™จ๏ผšไธ“ๆณจๅŽŸๅญๆ“ไฝœ๏ผŒๆ‰ง่กŒๅ™จๅนถไธๅ…ณๅฟƒๆœ€็ปˆ็›ฎๆ ‡ๆœ‰ๅคšๅฎ่ง‚๏ผŒๅฎƒๅช่ดŸ่ดฃๆŒ‰็…งๆธ…ๅ•้€ไธ€ๆ‰ง่กŒใ€‚่ฟ™็ง่ฎพ่ฎกๅ…่ฎธๆ‰ง่กŒๅ™จๅ†…้ƒจ่ฟ›่กŒ่‡ชๅพช็Žฏ๏ผˆInternal Loop๏ผ‰๏ผŒไปฅๆœ€็บฏ็ฒน็š„ๆ–นๅผๅˆฉ็”จๅทฅๅ…ทๅฎŒๆˆ็‰นๅฎš็š„ๅญไปปๅŠกใ€‚

  • ้‡่ง„ๅˆ’๏ผšๅŠจๆ€้—ญ็Žฏ็š„ๅ…ณ้”ฎ๏ผŒๆฏๅฎŒๆˆไธ€ไธชๅญไปปๅŠก๏ผŒ็ณป็ปŸไผšๅธฆ็€ๆ‰ง่กŒ็ป“ๆžœ๏ผˆObservation๏ผ‰่ฟ›ๅ…ฅ้‡่ง„ๅˆ’็Žฏ่Š‚ใ€‚ๆญคๆ—ถ๏ผŒAgent ไผš้ขไธดไธ€ไธชๅ…ณ้”ฎๅˆคๅฎš๏ผš

    • ้œ€่ฆ็ปง็ปญ๏ผšๅฆ‚ๆžœๅฝ“ๅ‰็ป“ๆžœๆ˜ฏไธญ้—ดไบง็‰ฉ๏ผŒๅˆ™ไฟฎๆ”น่ฎกๅˆ’ๆธ…ๅ•๏ผŒ่ฟ›ๅ…ฅไธ‹ไธ€็Žฏใ€‚

    • ไธ้œ€่ฆ็ปง็ปญ๏ผšๅฆ‚ๆžœ็›ฎๆ ‡ๅทฒ่พพๆˆ๏ผŒๅˆ™้€š็Ÿฅ็”จๆˆทไปปๅŠกๅฎŒๆˆใ€‚

5.2 ไธบไป€ไนˆๅœจๅคๆ‚ๅœบๆ™ฏไธญ่ฟ™็งๆจกๅผๆ›ดๅ…ทไผ˜ๅŠฟ๏ผŸ โ€‹

  • ๅ‡ๅฐ‘โ€œๆŽจ็†ๆผ‚็งปโ€๏ผšๅœจ ReAct ๆจกๅผไธ‹๏ผŒๆจกๅž‹ๅฎนๆ˜“ๅ› ไธบๆฏไธ€ๆญฅ้ƒฝ่ฆๆ€่€ƒ่€Œ้€ๆธๅฟ˜่ฎฐโ€œๅˆๅฟƒโ€ใ€‚Plan-and-Execute ้€š่ฟ‡ไธ€ไปฝๅ…จๅฑ€ๅฏ่ง็š„ไปปๅŠกๆธ…ๅ•๏ผŒ้”šๅฎšไบ†้•ฟๆœŸ็›ฎๆ ‡ใ€‚

  • ไธŠไธ‹ๆ–‡่งฃ่€ฆ๏ผšExecutor ๅœจๆ‰ง่กŒ็ฌฌ 5 ไธชไปปๅŠกๆ—ถ๏ผŒไธ้œ€่ฆๅ…ณๆณจ็ฌฌ 1 ไธชไปปๅŠก็š„่ฏฆ็ป†ๆŽจ็†่ฟ‡็จ‹๏ผŒๅช้œ€่ฆๅ…ณๆณจ็ฌฌ 4 ไธชไปปๅŠก็š„่พ“ๅ‡บใ€‚่ฟ™ๆžๅคง่Š‚็œไบ†ไธŠไธ‹ๆ–‡็ฉบ้—ด๏ผŒๅ‡ๅฐ‘ไบ†ๅ› ไฟกๆฏ่ฟ‡่ฝฝๅฏผ่‡ด็š„ๅนป่ง‰ใ€‚

  • ้ซ˜ๆ•ˆ้‡่ฏ•๏ผšๅฝ“ไปปๅŠกๆ‰ง่กŒๅคฑ่ดฅๆ—ถ๏ผŒ็ณป็ปŸๅช้œ€่ฆๅฎšไฝๅˆฐๆธ…ๅ•ไธญ็š„็‰นๅฎš็ดขๅผ•่ฟ›่กŒ้‡่ฏ•ๆˆ–ๅฑ€้ƒจไฟฎๆญฃ๏ผŒ่€Œไธ้œ€่ฆไปŽๅคดๅผ€ๅง‹ๆ•ดไธชๆŽจ็†้“พๆกใ€‚

5.3 ๅฐ็ป“ โ€‹

ๆ€ป็š„ๆฅ่ฏด๏ผŒPlan-and-Execute ๆจกๅผๅนถ้žๆŽ’ๆ–ฅโ€œ่พน่ตฐ่พน็œ‹โ€๏ผŒ่€Œๆ˜ฏ้€š่ฟ‡ๆžถๆž„ไธŠ็š„่งฃ่€ฆ๏ผŒไธบ Agent ๆณจๅ…ฅไบ†โ€œๅทฅ็จ‹ๅธˆๆ€็ปดโ€๏ผšๅ…ˆๅ‡บๆ–นๆกˆใ€้€้กน่ฝๅฎžใ€่Š‚็‚นๅค็›˜ใ€‚

่ฟ™ไธ€ๆจกๅผ็š„็ฒพ้ซ“ๅœจไบŽๅผ•ๅ…ฅไบ†้‡่ง„ๅˆ’๏ผˆRePlan๏ผ‰ๅ›ž่ทฏใ€‚ๆญฃๅฆ‚ๆต็จ‹ๅ›พๆ‰€็คบ๏ผŒๅฎƒๅนถไธๆ˜ฏๅœจๆ‰ง่กŒๆญปๆฟ็š„่„šๆœฌ๏ผŒ่€Œๆ˜ฏๅœจๆฏไธ€ไธชๅ…ณ้”ฎๆญฅ้ชคๅŽ้ƒฝ่ฟ›่กŒไธ€ๆฌกโ€œๅˆคๅฎšๆ˜ฏๅฆ็ปง็ปญโ€็š„ๅ…ƒ่ฎค็Ÿฅๆฃ€ๆŸฅใ€‚่ฟ™็งๆœบๅˆถๆœ‰ๆ•ˆๅœฐๅฏนๆŠ—ไบ† LLM ็š„โ€œ็žฌๆ—ถ่ฎฐๅฟ†้—ๅฟ˜โ€๏ผŒ่ฎฉ Agent ๅœจ้ขๅฏน้œ€่ฆ่ทจ่ถŠๆ•ฐๅไธชๆญฅ้ชค็š„่‡ชๅŠจๅŒ–ๅทฅ็จ‹ไปปๅŠกๆ—ถ๏ผŒไพ็„ถ่ƒฝไฟๆŒ่ˆชๅ‘็š„็ฒพๅ‡†ใ€‚

6. ่Œƒๅผ้€‰ๆ‹ฉ๏ผšๅฆ‚ไฝ•ไธบไฝ ็š„ Agent ้…็ฝฎโ€œๅฐ่„‘โ€๏ผŸ โ€‹

ๅœจ็†่งฃไบ† ReAct ไธŽ Plan-and-Execute ๅŽ๏ผŒๅผ€ๅ‘่€…้ขไธด็š„ๆ ธๅฟƒๆŒ‘ๆˆ˜ๆ˜ฏๅฆ‚ไฝ•ๅœจๅฎž้™…ไธšๅŠกไธญ่ฟ›่กŒ้€‰ๅž‹ใ€‚ไธ‹่กจไปŽๅทฅ็จ‹ๅฎž่ทต่ง’ๅบฆๅฏนไธค่€…่ฟ›่กŒไบ†ๅฏนๆฏ”ๆ€ป็ป“๏ผš

็ปดๅบฆReActPlan-and-Execute
่ง„ๅˆ’ๆ—ถๆœบๆ‰ง่กŒ่ฟ‡็จ‹ไธญๅฎžๆ—ถๆŽจ็†ๆ‰ง่กŒๅ‰่ฟ›่กŒๅ…จๅฑ€ๆ‹†่งฃ
้”™่ฏฏๅค„็†ไพ่ต–ไธ‹ไธ€่ฝฎ Thought ไฟฎๆญฃไพ่ต– RePlan ๆœบๅˆถ้‡ไฟฎๆธ…ๅ•
้€‚็”จๅนฟๅบฆๅผ€ๆ”พๅŸŸไบคไบ’ใ€ๅทฅๅ…ท่ฐƒ็”จๅฐ‘ๅž‚็›ดๅŸŸๅทฅ็จ‹ใ€้•ฟ้“พ่ทฏใ€ๅผบไพ่ต–
็ณป็ปŸ็†ตๅ€ผ่พƒ้ซ˜๏ผˆ็Šถๆ€้šไบคไบ’ๅฎžๆ—ถๅ˜ๅŒ–๏ผ‰่พƒไฝŽ๏ผˆ็Šถๆ€้”šๅฎšๅœจไปปๅŠกๆธ…ๅ•๏ผ‰

7. ็ป“่ฏญ๏ผš่ง„ๅˆ’ๆ˜ฏ Agent ่ฟˆๅ‘โ€œ็กฎๅฎšๆ€งโ€็š„ๅฎš็›˜ๆ˜Ÿ โ€‹

่‡ณๆญค๏ผŒๆˆ‘ไปฌๆทฑๅบฆๆ‹†่งฃไบ† Agent ่ง„ๅˆ’ๆจกๅ—็š„ไธคๅคงๆ”ฏๆŸฑ๏ผšไปปๅŠกๅˆ†่งฃไธŽ่‡ชๆˆ‘ๅๆ€ใ€‚่ง„ๅˆ’ๆจกๅ—่ต‹ไบˆไบ† Agent โ€œ้€ป่พ‘โ€๏ผŒไฝ†่ฟ™ไป…ไป…ๆ˜ฏๆž„ๅปบโ€œๆ•ฐๅญ—ๅ‘˜ๅทฅโ€็š„็ฌฌไธ€ๆญฅใ€‚ไธ€ไธช่ƒฝๅœจๅคๆ‚ไธšๅŠกไธญๆŒไน…็”Ÿๅญ˜็š„ๆ™บ่ƒฝไฝ“๏ผŒ้™คไบ†่ฆๆ‡‚ๅพ—โ€œๅฆ‚ไฝ•ๆ€่€ƒโ€๏ผŒ่ฟ˜้œ€่ฆ่งฃๅ†ณโ€œๆˆ‘ๆ˜ฏ่ฐใ€ๆˆ‘ๅš่ฟ‡ไป€ไนˆใ€ๆˆ‘ไปŽๅ“ช่Žทๅ–็Ÿฅ่ฏ†โ€็š„้—ฎ้ข˜ใ€‚ๅœจๆž„ๅปบ Agent ๆ—ถ๏ผŒๅนถๆฒกๆœ‰็ปๅฏน็š„ไผ˜ๅŠฃไน‹ๅˆ†ใ€‚ๆˆ็†Ÿ็š„็ณป็ปŸๅพ€ๅพ€้‡‡็”จๆททๅˆๆจกๅผ๏ผšๅœจๅคง็›ฎๆ ‡ไธŠไฝฟ็”จ Plan-and-Execute ไฟ่ฏๆ–นๅ‘ไธๅ๏ผŒๅœจๅ…ทไฝ“็š„ๅญไปปๅŠกๆ‰ง่กŒไธญๅผ€ๅฏ ReActใ€‚

ๆœฌ็ฏ‡ๆ–‡็ซ ๅˆฐๆญค็ป“ๆŸ๏ผŒๅปบ่ฎฎ็ป“ๅˆๅ‰ๆ–‡ ใ€ŠAI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐใ€‹ ไธ€่ตท้˜…่ฏป๏ผŒๆž„ๅปบๆ›ดๅฎŒๆ•ด็š„่ฎค็Ÿฅ้—ญ็Žฏใ€‚

',49)])])}const A=e(l,[["render",i]]);export{c as __pageData,A as default}; +import{_ as e,g as n,h as a,U as r}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const c=JSON.parse('{"title":"ๆŽขๅฏป Agent ๅ†ณ็ญ–ไธญๆžข๏ผš่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„่ง„ๅˆ’่Œƒๅผ","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฆ‚ๆžœ่ฏด LLM ๆ˜ฏ Agent ็š„ๅคง่„‘๏ผŒ่ง„ๅˆ’ๆจกๅ—ๅˆ™ๆ˜ฏๅ…ถ่ดŸ่ดฃๅคๆ‚ๅ†ณ็ญ–็š„โ€œๅ‰้ขๅถโ€ใ€‚ๆœฌๆ–‡ๆทฑๅบฆ่งฃๆž„ไบ† Agent ่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„ๆ ธๅฟƒ่ทฏๅพ„๏ผšไปŽไปปๅŠกๅˆ†่งฃ็š„้™ไฝŽ็†ตๅ€ผ๏ผŒๅˆฐ่‡ชๆˆ‘ๅๆ€็š„้—ญ็ŽฏๆŽงๅˆถใ€‚้€š่ฟ‡ๅฏนๆฏ”โ€œ่พน่ตฐ่พน็œ‹โ€็š„ ReAct ๅŠจๆ€ๅ“ๅบ”ๆจกๅผไธŽโ€œ่ฐ‹ๅฎšๅŽๅŠจโ€็š„ Plan-and-Execute ้ข„็ผ–ๆŽ’ๆจกๅผ๏ผŒๆœฌๆ–‡ๆญ็คบไบ†ๅฆ‚ไฝ•้’ˆๅฏน้•ฟ้“พ่ทฏๅทฅ็จ‹ไปปๅŠกๆž„ๅปบ็จณๅฅ็š„ๅ†ณ็ญ–่Œƒๅผ๏ผŒๅŠฉไฝ ๅฎŒๆˆไปŽโ€œ็ฎ€ๅ•ๆ็คบ่ฏโ€ๅˆฐโ€œๅคๆ‚ๆžถๆž„่ฎพ่ฎกโ€็š„่ฎค็Ÿฅ่ทƒ่ฟใ€‚","frontmatter":{"date":"2026-02-24T20:52:37.000Z","title":"ๆŽขๅฏป Agent ๅ†ณ็ญ–ไธญๆžข๏ผš่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„่ง„ๅˆ’่Œƒๅผ","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฆ‚ๆžœ่ฏด LLM ๆ˜ฏ Agent ็š„ๅคง่„‘๏ผŒ่ง„ๅˆ’ๆจกๅ—ๅˆ™ๆ˜ฏๅ…ถ่ดŸ่ดฃๅคๆ‚ๅ†ณ็ญ–็š„โ€œๅ‰้ขๅถโ€ใ€‚ๆœฌๆ–‡ๆทฑๅบฆ่งฃๆž„ไบ† Agent ่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„ๆ ธๅฟƒ่ทฏๅพ„๏ผšไปŽไปปๅŠกๅˆ†่งฃ็š„้™ไฝŽ็†ตๅ€ผ๏ผŒๅˆฐ่‡ชๆˆ‘ๅๆ€็š„้—ญ็ŽฏๆŽงๅˆถใ€‚้€š่ฟ‡ๅฏนๆฏ”โ€œ่พน่ตฐ่พน็œ‹โ€็š„ ReAct ๅŠจๆ€ๅ“ๅบ”ๆจกๅผไธŽโ€œ่ฐ‹ๅฎšๅŽๅŠจโ€็š„ Plan-and-Execute ้ข„็ผ–ๆŽ’ๆจกๅผ๏ผŒๆœฌๆ–‡ๆญ็คบไบ†ๅฆ‚ไฝ•้’ˆๅฏน้•ฟ้“พ่ทฏๅทฅ็จ‹ไปปๅŠกๆž„ๅปบ็จณๅฅ็š„ๅ†ณ็ญ–่Œƒๅผ๏ผŒๅŠฉไฝ ๅฎŒๆˆไปŽโ€œ็ฎ€ๅ•ๆ็คบ่ฏโ€ๅˆฐโ€œๅคๆ‚ๆžถๆž„่ฎพ่ฎกโ€็š„่ฎค็Ÿฅ่ทƒ่ฟใ€‚","permalink":"/ai-agent/planning-module","sticky":1,"top":true,"categories":["AI ๅญฆไน ไธŽๅฎž่ทต"]},"headers":[],"relativePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/02.Agent ่ง„ๅˆ’ๆจกๅ—.md","filePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/02.Agent ่ง„ๅˆ’ๆจกๅ—.md"}'),l={name:"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/02.Agent ่ง„ๅˆ’ๆจกๅ—.md"};function i(o,t,g,s,d,p){return a(),n("div",null,[...t[0]||(t[0]=[r('

ๆŽขๅฏป Agent ๅ†ณ็ญ–ไธญๆžข๏ผš่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„่ง„ๅˆ’่Œƒๅผ โ€‹

ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฆ‚ๆžœ่ฏด LLM ๆ˜ฏ Agent ็š„ๅคง่„‘๏ผŒ่ง„ๅˆ’ๆจกๅ—ๅˆ™ๆ˜ฏๅ…ถ่ดŸ่ดฃๅคๆ‚ๅ†ณ็ญ–็š„โ€œๅ‰้ขๅถโ€ใ€‚ๆœฌๆ–‡ๆทฑๅบฆ่งฃๆž„ไบ† Agent ่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„ๆ ธๅฟƒ่ทฏๅพ„๏ผšไปŽไปปๅŠกๅˆ†่งฃ็š„้™ไฝŽ็†ตๅ€ผ๏ผŒๅˆฐ่‡ชๆˆ‘ๅๆ€็š„้—ญ็ŽฏๆŽงๅˆถใ€‚้€š่ฟ‡ๅฏนๆฏ”โ€œ่พน่ตฐ่พน็œ‹โ€็š„ ReAct ๅŠจๆ€ๅ“ๅบ”ๆจกๅผไธŽโ€œ่ฐ‹ๅฎšๅŽๅŠจโ€็š„ Plan-and-Execute ้ข„็ผ–ๆŽ’ๆจกๅผ๏ผŒๆœฌๆ–‡ๆญ็คบไบ†ๅฆ‚ไฝ•้’ˆๅฏน้•ฟ้“พ่ทฏๅทฅ็จ‹ไปปๅŠกๆž„ๅปบ็จณๅฅ็š„ๅ†ณ็ญ–่Œƒๅผ๏ผŒๅŠฉไฝ ๅฎŒๆˆไปŽโ€œ็ฎ€ๅ•ๆ็คบ่ฏโ€ๅˆฐโ€œๅคๆ‚ๆžถๆž„่ฎพ่ฎกโ€็š„่ฎค็Ÿฅ่ทƒ่ฟใ€‚

1. ๅผ•่จ€ โ€‹

ๅœจไบบ็ฑปๅคง่„‘ไธญ๏ผŒๅ‰้ขๅถ็šฎๅฑ‚่ดŸ่ดฃๅคๆ‚็š„่ฎค็Ÿฅ่ง„ๅˆ’ใ€ๅ†ณ็ญ–ๅ’Œ็คพไบค่กจ็Žฐใ€‚ๅฏนไบŽไธ€ไธช Agent ่€Œ่จ€๏ผŒ่ง„ๅˆ’ๆจกๅ—ๆญฃๆ˜ฏๅฎƒ็š„โ€œๅ‰้ขๅถโ€โ€”โ€”ๅฎƒๅ†ณๅฎšไบ† Agent ๆ˜ฏๅชไผšๆœบๆขฐๅ“ๅบ”ๆŒ‡ไปค็š„โ€œๆœจๅถโ€๏ผŒ่ฟ˜ๆ˜ฏ่ƒฝ็‹ฌ็ซ‹ๆ‹†่งฃ็›ฎๆ ‡ใ€ๅœจๅคๆ‚็Žฏๅขƒไธญๅฏปๆ‰พๆœ€ไผ˜่ทฏๅพ„็š„โ€œๆ•ฐๅญ—ๅ‘˜ๅทฅโ€ใ€‚

Agent ็š„่ง„ๅˆ’่ƒฝๅŠ›ไธป่ฆ็”ฑไธค้ƒจๅˆ†ๅๅŒ้ฉฑๅŠจ๏ผšไปปๅŠกๅˆ†่งฃไธŽ่‡ชๆˆ‘ๅๆ€ใ€‚

2. ไปปๅŠกๅˆ†่งฃ๏ผšๅŒ–็นไธบ็ฎ€็š„็ญ–็•ฅ โ€‹

ไปปๅŠกๅˆ†่งฃๆ˜ฏๆŒ‡ๅฐ†ไธ€ไธชๅคๆ‚็š„็›ฎๆ ‡ๆˆ–ไปปๅŠกๆ‹†่งฃไธบๅคšไธชๅ…ทไฝ“ใ€ๅฏๆ“ไฝœ็š„็š„ๅญไปปๅŠก๏ผŒไปฅไพฟ Agent ่ƒฝๅคŸๆ›ด้ซ˜ๆ•ˆๅœฐๆ‰ง่กŒๅ’Œ็ฎก็†ใ€‚ๅ…ถๆœฌ่ดจๆ˜ฏ้™ไฝŽ้—ฎ้ข˜็š„็†ตๅ€ผ๏ผŒ่ฎฉ Agent ่ƒฝๅคŸ่š็„ฆไบŽๆฏไธ€ไธช็ป†ๅฐ็š„็กฎๅฎšๆ€งๆญฅ้ชค๏ผŒไปŽ่€Œ้€ๆญฅ่งฃๅ†ณ้—ฎ้ข˜๏ผŒๆ้ซ˜่ง„ๅˆ’็š„ๅฏ่กŒๆ€งๅ’Œๆ‰ง่กŒๆ•ˆ็އใ€‚

ๆ นๆฎโ€œ่ง„ๅˆ’โ€ไธŽโ€œๆ‰ง่กŒโ€ๅ‘็”Ÿ็š„ๆ—ถ้—ด่Š‚็‚น๏ผŒไธš็•Œๅฝขๆˆไบ†ไธ‰็ฑปไธปๆตๆ–นๆณ•ใ€‚

2.1 ๅ…ˆๅˆ†่งฃๅŽ่ง„ๅˆ’ โ€‹

่ฟ™็งๆจกๅผ็ฑปไผผไบŽโ€œๅปบ็ญ‘ๅ›พ็บธๅˆถโ€๏ผŒๅ…ˆๅฐ†ๅคๆ‚ไปปๅŠกๆ‹†่งฃไธบๅคšไธชๅญไปปๅŠก๏ผŒ็„ถๅŽๅ†ไธบๆฏไธชๅญไปปๅŠกๅˆถ่ฎข่ฏฆ็ป†็š„ๆ‰ง่กŒ่ฎกๅˆ’๏ผŒ็กฎไฟAgent ๅœจๅŠจๆ‰‹ไน‹ๅ‰๏ผŒๅฟ…้กปไบงๅ‡บๅฎŒๆ•ด็š„ๆญฅ้ชคๆธ…ๅ•ใ€‚ๅ…ถๆ ธๅฟƒ้€ป่พ‘ๆ˜ฏๅ…ˆๅฐ†ไปปๅŠก็ป†ๅŒ–ไธบๅญไปปๅŠก๏ผŒๅนถๆ˜Ž็กฎไพ่ต–ๅ…ณ็ณปใ€‚

ๅ…ˆๅˆ†่งฃๅŽ่ง„ๅˆ’็š„ไผ˜ๅŠฟๅœจไบŽไปปๅŠกไธŽๅŽŸไปปๅŠก่”็ณป็ดงๅฏ†๏ผŒ่ƒฝๆœ‰ๆ•ˆ้™ไฝŽไปปๅŠก้—ๆผๅ’Œๅนป่ง‰้ฃŽ้™ฉใ€‚ๅฎƒ็š„ไธ่ถณๅœจไบŽ็ผบไน็ตๆดปๆ€ง๏ผŒไธ€ๆ—ฆๅˆๅง‹่ฎกๅˆ’ไธญ็š„ๆŸไธ€ๆญฅๅœจๆ‰ง่กŒๆ—ถๅ—้˜ป๏ผŒ็”ฑไบŽ่ฎกๅˆ’ๅทฒๅ›บๅฎš๏ผŒๆ•ดไธชๆต็จ‹ๅฎนๆ˜“้™ทๅ…ฅๆญปๅพช็Žฏๆˆ–ๅฝปๅบ•ๅคฑ่ดฅใ€‚ๅ› ๆญค๏ผŒๅœจๅทฅ็จ‹ๅฎž่ทตไธญ๏ผŒๆˆ‘ไปฌๅฟ…้กปๆทฑๅ…ฅๆ€่€ƒๅฆ‚ไฝ•่ฎพ่ฎกๅŠจๆ€่ฐƒๆ•ด็ญ–็•ฅๆˆ–ๅผ•ๅ…ฅไบบๅทฅๅนฒ้ข„่Š‚็‚น๏ผŒไปฅ่ง„้ฟ้—ฎ้ข˜ใ€‚

2.2 ่พนๅˆ†่งฃ่พน่ง„ๅˆ’ โ€‹

่ฟ™็งๆจกๅผ็ฑปไผผไบŽ"ๆ‘ธ็€็Ÿณๅคด่ฟ‡ๆฒณ"๏ผŒ่ฎฉๆŽจ็†ไธŽ่กŒๅŠจไบคๆ›ฟ่ฟ›่กŒใ€‚Agent ไธ้ข„่ฎพๅ›บๅฎš็š„ๆ‰ง่กŒ่ทฏๅพ„๏ผŒ่€Œๆ˜ฏๆ นๆฎๆฏไธ€ๆญฅ็š„ๅ้ฆˆๅŠจๆ€่ฐƒๆ•ด๏ผŒๅœจๅˆ†่งฃไปปๅŠก็š„ๅŒๆ—ถ่ฟ›่กŒ่ง„ๅˆ’๏ผŒๅฎžๆ—ถไผ˜ๅŒ–ๅญไปปๅŠก็š„ๆ‰ง่กŒ้กบๅบๅ’Œ็ญ–็•ฅใ€‚

ๅˆ†่งฃ่พน่ง„ๅˆ’็š„็ญ–็•ฅ่ƒฝๅฎžๆ—ถๅ“ๅบ”็Žฏๅขƒๅ้ฆˆ๏ผŒๆ นๆฎ็Žฏๅขƒๅ้ฆˆ่ฐƒๆ•ดๅˆ†่งฃ็ญ–็•ฅ๏ผŒๅฎน้”™็އ้ซ˜๏ผŒๅ…ทๆœ‰่พƒๅฅฝ็š„็ตๆดปๆ€งๅ’Œ้€‚ๅบ”ๆ€งใ€‚ไฝ†ๆ˜ฏ๏ผŒๅœจๅค„็†ๅคๆ‚ไปปๅŠกๆ—ถ๏ผŒๅฆ‚ๆžœๆ•ดไธช่ง„ๅˆ’่ฟ‡็จ‹่ฟ‡้•ฟ๏ผŒๅฏ่ƒฝไผšๅ› ไธบ LLM ไธŠไธ‹ๆ–‡่ฟ‡้•ฟ่€Œไบง็”Ÿโ€œๅนป่ง‰โ€๏ผŒๅฏผ่‡ดๅŽ็ปญ็š„ไปปๅŠกไธŽ่ง„ๅˆ’ๅ็ฆปๅˆๅง‹็›ฎๆ ‡ใ€‚

2.3 ๅŸบไบŽ่ฏญ่จ€ๆจกๅž‹็š„่‡ชไธปๅˆ†่งฃ โ€‹

่ฟ™ๆ˜ฏไธ€็งๆ›ด็บฏ็ฒน็š„ๆจกๅผ๏ผŒๅˆฉ็”จ LLM ๅผบๅคง็š„่ฏญไน‰็†่งฃ่ƒฝๅŠ›๏ผŒ็›ดๆŽฅ้€š่ฟ‡ Prompt ๅผ•ๅฏผๅ…ถ็”Ÿๆˆ็ฎก็†ๅญไปปๅŠก็š„ๆŒ‡ไปค๏ผŒๅฐ†่‡ช็„ถ่ฏญ่จ€็›ฎๆ ‡่ฝฌๅŒ–ไธบๆœบๅ™จๅฏ็†่งฃ็š„ๆญฅ้ชคๆ ‘ใ€‚

ๅฎƒ็š„ๆ ธๅฟƒ้€ป่พ‘ๆ˜ฏ็›ดๆŽฅๅฐ†่‡ช็„ถไปปๅŠก็ป†ๅŒ–ไธบๅญไปปๅŠก๏ผŒๆ— ้œ€้ข„่ฎพ่ฎกๅˆ’ใ€‚่ฟ™็งๆจกๅผ่™ฝ็„ถ็ฎ€ๅ•๏ผŒไฝ†ๆ˜ฏ้œ€่ฆ LLM ๅ…ทๅค‡ๅผบๅคง็š„่ฏญไน‰็†่งฃ่ƒฝๅŠ›๏ผŒๆ‰่ƒฝๅ‡†็กฎๅœฐๅฐ†่‡ช็„ถ่ฏญ่จ€็›ฎๆ ‡่ฝฌๆขไธบๅญไปปๅŠกใ€‚ๅŒๆ—ถ๏ผŒ็”ฑไบŽ LLM ็”Ÿๆˆ็š„ๅญไปปๅŠกๆ˜ฏๅŸบไบŽๅฝ“ๅ‰็Žฏๅขƒๅ้ฆˆ็š„๏ผŒๅ› ๆญคๅœจๅค„็†ๅคๆ‚ไปปๅŠกๆ—ถ๏ผŒๅฏ่ƒฝไผšๅ› ไธบ็Žฏๅขƒๅ˜ๅŒ–่€Œไบง็”Ÿโ€œๅนป่ง‰โ€๏ผŒๅฏผ่‡ดๅŽ็ปญ่ง„ๅˆ’้€ๆธๅ็ฆปๅˆๅง‹็›ฎๆ ‡ใ€‚

3. ่‡ชๆˆ‘ๅๆ€๏ผš้—ญ็ŽฏๆŽงๅˆถ็š„่‰บๆœฏ โ€‹

ๅœจ Agent ่ง„ๅˆ’ๆจกๅ—ไธญ๏ผŒๅๆ€๏ผˆReflection๏ผ‰ๆ˜ฏไธ€ไธช้‡่ฆ็š„ๆฆ‚ๅฟต๏ผŒๅฆ‚ๆžœ่ฏดไปปๅŠกๅˆ†่งฃๆ˜ฏโ€œ่ฟ›ๆ”ปโ€๏ผŒ้‚ฃไนˆ่‡ชๆˆ‘ๅๆ€ๅฐฑๆ˜ฏโ€œ้˜ฒๅฎˆโ€ไธŽโ€œไฟฎๆญฃโ€ใ€‚ๅฎƒๆ˜ฏไธ€็งๆๅ‡ Agent ่ฟ่กŒๆˆๅŠŸ็އ็š„ๆ ธๅฟƒๆ็คบ็ญ–็•ฅ๏ผŒ้€š่ฟ‡ๆจกๅž‹็š„่‡ชๆˆ‘ๅฎกๆŸฅๆฅๆ”น่ฟ›ๅˆๆญฅๆˆๆžœใ€‚

ๅๆ€็š„ๅŸบๆœฌๅŽŸ็†ๆ˜ฏ้€š่ฟ‡ๆจกๅž‹็š„่‡ชๆˆ‘ๅฎกๆŸฅๅ’Œ่‡ชๆˆ‘ๅ้ฆˆๆฅๆ”น่ฟ›ๅˆๆญฅ็”Ÿๆˆ็š„ๅ†…ๅฎน๏ผŒๅๆ€ๆœบๅˆถไนŸ้€šๅธธ้ตๅพชไธ€ไธชโ€œ็”Ÿๆˆ-่ฏ„ไผฐ-ไฟฎๆญฃโ€็š„ๅพช็Žฏ๏ผš

  • ็”Ÿๆˆ้˜ถๆฎต๏ผšๆจกๅž‹ไบงๅ‡บๅˆๆญฅ็š„่งฃๅ†ณๆ–นๆกˆ๏ผˆๅฆ‚ไธ€ๆฎตไปฃ็ ๆˆ–ไธ€ไปฝๅคง็บฒ๏ผ‰ใ€‚

  • ๅๆ€้˜ถๆฎต๏ผšๆจกๅž‹ๅˆ‡ๆขไธบโ€œๅฎก่ฎกๅ‘˜โ€่ง’่‰ฒ๏ผŒๅฏน็…ง็”จๆˆท้œ€ๆฑ‚ๅ’Œๅฎข่ง‚็บฆๆŸ๏ผŒๆ‰พๅ‡บๅˆๆญฅ็ป“ๆžœไธญ็š„ไธ่ถณใ€้€ป่พ‘ๆผๆดžๆˆ–้”™่ฏฏใ€‚

  • ไฟฎๆญฃ้˜ถๆฎต๏ผšๅŸบไบŽๅๆ€ๅปบ่ฎฎ๏ผŒ้‡ๆ–ฐ็ป„็ป‡็ป“ๆž„ๆˆ–่ฐƒๆ•ด็ป†่Š‚๏ผŒไบงๅ‡บๆ›ด้ซ˜่ดจ้‡็š„ๆœ€็ปˆ็‰ˆๆœฌใ€‚

ๅœจๆฏไธ€่ฝฎๅๆ€ไธญ๏ผŒAI ๆจกๅž‹ไผšๅ›ž้กพ็”Ÿๆˆ็š„ๅ†…ๅฎน๏ผŒ่ฏ„ไผฐๅ…ถ่ดจ้‡๏ผŒๅนถๆๅ‡บไฟฎๆ”นๅปบ่ฎฎใ€‚่ฟ™ไบ›ไฟฎๆ”นๅปบ่ฎฎๅฏไปฅๆ˜ฏ็ป†่Š‚ไธŠ็š„่ฐƒๆ•ด๏ผŒไนŸๅฏไปฅๆ˜ฏๅฏน็”Ÿๆˆ็ป“ๆž„็š„้‡ๆ–ฐ็ป„็ป‡๏ผŒ็›ฎ็š„ๆ˜ฏๆๅ‡ๅ†…ๅฎน็š„่ฟž่ดฏๆ€งใ€้€ป่พ‘ๆ€งใ€่กจ่พพๆธ…ๆ™ฐๅบฆๆˆ–ๅขžๅผบๅฏน็”จๆˆท้œ€ๆฑ‚็š„้€‚ๅบ”ๆ€งใ€‚

ไธบไบ†่ฎฉ่ฟ™็งโ€œ่‡ชๆˆ‘็บ ้”™โ€่ƒฝๅŠ›่ง„ๆจกๅŒ–๏ผŒไธš็•ŒไนŸๆผ”ๅŒ–ๅ‡บไบ†ๅ‡ ็งๆˆ็†Ÿๆก†ๆžถ๏ผš

  • Reflexion๏ผš่ต‹ไบˆ Agent ๅŠจๆ€่ฎฐๅฟ†่ƒฝๅŠ›๏ผŒ้€š่ฟ‡ๅ›ž้กพ่ฟ‡ๅŽป็š„ๅคฑ่ดฅ็ป้ชŒๆฅไผ˜ๅŒ–ๅฝ“ไธ‹็š„ๅ†ณ็ญ–ใ€‚

  • CoH (Chain of Hindsight)๏ผšๅ‘ๆจกๅž‹ๅฑ•็คบๅธฆๆœ‰ๆญฃ้ขๅ’Œ่ดŸ้ขๅ้ฆˆ็š„ๅކๅฒ่พ“ๅ‡บ๏ผŒ้€š่ฟ‡ๅฏนๆฏ”ๅญฆไน ๏ผŒ้ผ“ๅŠฑๆจกๅž‹ๅœจๅฝ“ๅ‰ไปปๅŠกไธญโ€œ่ถ‹ๅˆฉ้ฟๅฎณโ€ใ€‚

4. ๅŠจๆ€ๅ“ๅบ”ๆจกๅผ๏ผšๅŸบไบŽ ReAct ็œ‹่ง„ๅˆ’้—ญ็Žฏ โ€‹

ๅœจไผ—ๅคš Agent ่ฎพ่ฎกๆจกๅผไธญ๏ผŒReAct (Reasoning + Acting) ๆ˜ฏ็›ฎๅ‰ๅบ”็”จๆœ€ๅนฟใ€็›ด่ง‚ๆ€งๆœ€ๅผบ็š„ๆจกๅผใ€‚ๅฎƒๅฎŒ็พŽไฝ“็Žฐไบ†ๅ‰ๆ–‡ๆๅˆฐ็š„โ€œ่พนๅˆ†่งฃ่พน่ง„ๅˆ’โ€็ญ–็•ฅ๏ผŒ้€š่ฟ‡ๅฐ†ๆŽจ็†๏ผˆReasoning๏ผ‰ไธŽ่กŒๅŠจ๏ผˆActing๏ผ‰ๆทฑๅบฆ่€ฆๅˆ๏ผŒ่ฎฉ Agent ๅ…ทๅค‡ไบ†ๅœจๅคๆ‚็Žฏๅขƒไธญโ€œๅฐๆญฅๅฟซ่ท‘โ€็š„่ƒฝๅŠ›ใ€‚

about site background
  • ๆŽจ็†๏ผˆReason๏ผ‰๏ผš่ฟ™ๆ˜ฏๆ€่€ƒ็Žฏ่Š‚๏ผŒAgent ๆ นๆฎๅฝ“ๅ‰็Šถๆ€่ฏ„ไผฐๅฝขๅŠฟ๏ผŒๅˆ†ๆžๅฏ่ƒฝ็š„่กŒๅŠจๆ–นๆกˆ๏ผŒไธบไธ‹ไธ€ๆญฅๅ†ณ็ญ–ๆไพ›ไพๆฎใ€‚
  • ่กŒๅŠจ๏ผˆAction๏ผ‰๏ผšๆ นๆฎๆŽจ็†็ป“ๆžœ๏ผŒAgent ้€‰ๆ‹ฉๅนถๆ‰ง่กŒๅ…ทไฝ“็š„ๆ“ไฝœ๏ผŒๅฐ†ๆ€่€ƒ่ฝฌๅŒ–ไธบๅฎž้™…ๅŠจไฝœใ€‚
  • ่ง‚ๆต‹๏ผˆObservation๏ผ‰๏ผš่ฟ™ๆ˜ฏ้—ญ็Žฏไธญๆœ€ๅ…ณ้”ฎ็š„ไธ€ๆญฅ๏ผŒๆ˜ฏๅ…ณ้”ฎ็š„ๅ้ฆˆๅธๆ”ถ้˜ถๆฎตใ€‚่กŒๅŠจๆ‰ง่กŒๅŽ๏ผŒAgent ๆ”ถ้›†็Žฏๅขƒๅ้ฆˆ๏ผŒ่ฏ„ไผฐๆ‰ง่กŒๆ•ˆๆžœ๏ผŒๅนถๅฐ†็ป“ๆžœไฝœไธบไธ‹ไธ€่ฝฎๆŽจ็†็š„่พ“ๅ…ฅ๏ผŒๅฝขๆˆ้—ญ็Žฏใ€‚

ไผ ็ปŸ็š„ LLM ๅฎนๆ˜“ๅœจ้•ฟ่ทฏๅพ„ไปปๅŠกไธญ่ฟทๅคฑๆ–นๅ‘๏ผŒ่€Œ ReAct ็š„ๆ ธๅฟƒๅœจไบŽๆž„ๅปบไบ†ไธ€ไธชไธๆ–ญ่‡ชไฟฎๆญฃ็š„้€ป่พ‘้—ญ็Žฏ๏ผŒๅผ•ๅ…ฅไบ†โ€œๅŠจๆ€้‡ๅˆคๆ–ญโ€ๆœบๅˆถ๏ผš

  • ๅฎน้”™ๆ€ง๏ผšๅฆ‚ๆžœ Action ็š„็ป“ๆžœๆŠฅ้”™๏ผˆObservation๏ผ‰๏ผŒAgent ไผšๅœจไธ‹ไธ€่ฝฎ Thought ไธญๆ„่ฏ†ๅˆฐ้”™่ฏฏ๏ผŒๅนถไธปๅŠจ่ฐƒๆ•ด็ญ–็•ฅใ€‚

  • ้€ๆ˜Žๆ€ง๏ผšไบบ็ฑปๅฏไปฅๆธ…ๆ™ฐๅœฐ็œ‹ๅˆฐ Agent ็š„โ€œๅ†…ๅฟƒ็‹ฌ็™ฝโ€๏ผŒ็†่งฃๅฎƒๆ˜ฏๅฆ‚ไฝ•ไปŽๅˆๅง‹็›ฎๆ ‡ไธ€ๆญฅๆญฅ้€ผ่ฟ‘ๆœ€็ปˆ็ญ”ๆกˆ็š„ใ€‚

  • ็ปˆๆญขๅˆคๆ–ญ๏ผšๅฝ“ Observation ็š„็ป“ๆžœๅทฒ็ป่ถณไปฅๅ›ž็ญ”้—ฎ้ข˜ๆ—ถ๏ผŒAgent ไผšๅšๅ‡บโ€œๆ— ้œ€ๅ†่ฐƒ็”จๅทฅๅ…ทโ€็š„ๅ†ณ็ญ–๏ผŒ็›ดๆŽฅ่พ“ๅ‡บ Final Answer๏ผŒไผ˜้›…ๅœฐ็ป“ๆŸ่ง„ๅˆ’ใ€‚

่ฟ™็งโ€œๆŽจ็†-่กŒๅŠจ-่ง‚ๆต‹โ€็š„ๅพช็Žฏ๏ผŒๅฐ†ๅŽŸๆœฌๆญปๆฟ็š„้€ป่พ‘้“พ่ทฏ่ฝฌๅŒ–ไธบไบ†ๅ…ทๆœ‰็”Ÿๅ‘ฝๅŠ›็š„ใ€ๅฏ่ฟ›ๅŒ–็š„ๅทฅไฝœๆตใ€‚

5. ้ข„็ผ–ๆŽ’ๆจกๅผ๏ผšPlan-and-Execute ไธ‹็š„่‡ชๅŠจๅŒ–ๅทฅ็จ‹ โ€‹

ๅœจๅˆ†ๆžๅฎŒไพง้‡โ€œ่พน่ตฐ่พน็œ‹โ€็š„ ReAct ๆจกๅผๅŽ๏ผŒๆˆ‘ไปฌๅฟ…้กป่ฎจ่ฎบๅฆไธ€็งๅœจๅค„็†้ซ˜ๅคๆ‚ๅบฆใ€้•ฟ้“พ่ทฏใ€ๅผบไพ่ต–ไปปๅŠกๆ—ถ่กจ็Žฐๆ›ด็จณๅฅ็š„่Œƒๅผ๏ผšPlan-and-Execute๏ผˆ่ง„ๅˆ’ไธŽๆ‰ง่กŒๅˆ†็ฆป๏ผ‰ใ€‚

5.1 ๆ ธๅฟƒ่ฟ่กŒๆœบๅˆถ โ€‹

Plan and Execute Workflow

ไธŽ ReAct ๅฐ†ๆŽจ็†ไธŽ่กŒๅŠจๆททๅˆๅœจๆฏไธ€่ฝฎๅพช็ŽฏไธญไธๅŒ๏ผŒ่ฏฅๆจกๅผ้€š่ฟ‡ไธ€ไธชๆ˜พๅผ็š„โ€œ่ฎกๅˆ’ๆธ…ๅ•โ€ไฝœไธบไธญ่ฝฌ็ซ™๏ผŒๅฎž็Žฐไบ†ๅ†ณ็ญ–ไธŽๆ‰ง่กŒ็š„่งฃ่€ฆ๏ผš

  • ่ง„ๅˆ’ๅ™จ๏ผšๅปบ็ซ‹ๅ…จๅฑ€่ˆชๅ‘๏ผŒๅฝ“็”จๆˆทๆไบคไธ€ไธชๅฎ่ง‚ไปปๅŠก๏ผˆๅฆ‚โ€œไปŽ้›ถๅผ€ๅ‘ไธ€ไธช NestJS ่ฎค่ฏๆจกๅ—โ€๏ผ‰ๆ—ถ๏ผŒ่ง„ๅˆ’ๅ™จ้ฆ–ๅ…ˆไป‹ๅ…ฅใ€‚ๅฎƒๅˆฉ็”จๆœ€ๅผบๆจกๅž‹็š„้€ป่พ‘่ƒฝๅŠ›๏ผŒๅฐ†ๆจก็ณŠ็š„็›ฎๆ ‡ๆ‹†่งฃไธบไธ€็ณปๅˆ—็ป“ๆž„ๅŒ–็š„ Task Listใ€‚่ฟ™ไธ€ๆญฅๆ˜ฏโ€œ่ฐ‹ๅฎšโ€็š„่ฟ‡็จ‹ใ€‚

  • ๆ‰ง่กŒๅ™จ๏ผšไธ“ๆณจๅŽŸๅญๆ“ไฝœ๏ผŒๆ‰ง่กŒๅ™จๅนถไธๅ…ณๅฟƒๆœ€็ปˆ็›ฎๆ ‡ๆœ‰ๅคšๅฎ่ง‚๏ผŒๅฎƒๅช่ดŸ่ดฃๆŒ‰็…งๆธ…ๅ•้€ไธ€ๆ‰ง่กŒใ€‚่ฟ™็ง่ฎพ่ฎกๅ…่ฎธๆ‰ง่กŒๅ™จๅ†…้ƒจ่ฟ›่กŒ่‡ชๅพช็Žฏ๏ผˆInternal Loop๏ผ‰๏ผŒไปฅๆœ€็บฏ็ฒน็š„ๆ–นๅผๅˆฉ็”จๅทฅๅ…ทๅฎŒๆˆ็‰นๅฎš็š„ๅญไปปๅŠกใ€‚

  • ้‡่ง„ๅˆ’๏ผšๅŠจๆ€้—ญ็Žฏ็š„ๅ…ณ้”ฎ๏ผŒๆฏๅฎŒๆˆไธ€ไธชๅญไปปๅŠก๏ผŒ็ณป็ปŸไผšๅธฆ็€ๆ‰ง่กŒ็ป“ๆžœ๏ผˆObservation๏ผ‰่ฟ›ๅ…ฅ้‡่ง„ๅˆ’็Žฏ่Š‚ใ€‚ๆญคๆ—ถ๏ผŒAgent ไผš้ขไธดไธ€ไธชๅ…ณ้”ฎๅˆคๅฎš๏ผš

    • ้œ€่ฆ็ปง็ปญ๏ผšๅฆ‚ๆžœๅฝ“ๅ‰็ป“ๆžœๆ˜ฏไธญ้—ดไบง็‰ฉ๏ผŒๅˆ™ไฟฎๆ”น่ฎกๅˆ’ๆธ…ๅ•๏ผŒ่ฟ›ๅ…ฅไธ‹ไธ€็Žฏใ€‚

    • ไธ้œ€่ฆ็ปง็ปญ๏ผšๅฆ‚ๆžœ็›ฎๆ ‡ๅทฒ่พพๆˆ๏ผŒๅˆ™้€š็Ÿฅ็”จๆˆทไปปๅŠกๅฎŒๆˆใ€‚

5.2 ไธบไป€ไนˆๅœจๅคๆ‚ๅœบๆ™ฏไธญ่ฟ™็งๆจกๅผๆ›ดๅ…ทไผ˜ๅŠฟ๏ผŸ โ€‹

  • ๅ‡ๅฐ‘โ€œๆŽจ็†ๆผ‚็งปโ€๏ผšๅœจ ReAct ๆจกๅผไธ‹๏ผŒๆจกๅž‹ๅฎนๆ˜“ๅ› ไธบๆฏไธ€ๆญฅ้ƒฝ่ฆๆ€่€ƒ่€Œ้€ๆธๅฟ˜่ฎฐโ€œๅˆๅฟƒโ€ใ€‚Plan-and-Execute ้€š่ฟ‡ไธ€ไปฝๅ…จๅฑ€ๅฏ่ง็š„ไปปๅŠกๆธ…ๅ•๏ผŒ้”šๅฎšไบ†้•ฟๆœŸ็›ฎๆ ‡ใ€‚

  • ไธŠไธ‹ๆ–‡่งฃ่€ฆ๏ผšExecutor ๅœจๆ‰ง่กŒ็ฌฌ 5 ไธชไปปๅŠกๆ—ถ๏ผŒไธ้œ€่ฆๅ…ณๆณจ็ฌฌ 1 ไธชไปปๅŠก็š„่ฏฆ็ป†ๆŽจ็†่ฟ‡็จ‹๏ผŒๅช้œ€่ฆๅ…ณๆณจ็ฌฌ 4 ไธชไปปๅŠก็š„่พ“ๅ‡บใ€‚่ฟ™ๆžๅคง่Š‚็œไบ†ไธŠไธ‹ๆ–‡็ฉบ้—ด๏ผŒๅ‡ๅฐ‘ไบ†ๅ› ไฟกๆฏ่ฟ‡่ฝฝๅฏผ่‡ด็š„ๅนป่ง‰ใ€‚

  • ้ซ˜ๆ•ˆ้‡่ฏ•๏ผšๅฝ“ไปปๅŠกๆ‰ง่กŒๅคฑ่ดฅๆ—ถ๏ผŒ็ณป็ปŸๅช้œ€่ฆๅฎšไฝๅˆฐๆธ…ๅ•ไธญ็š„็‰นๅฎš็ดขๅผ•่ฟ›่กŒ้‡่ฏ•ๆˆ–ๅฑ€้ƒจไฟฎๆญฃ๏ผŒ่€Œไธ้œ€่ฆไปŽๅคดๅผ€ๅง‹ๆ•ดไธชๆŽจ็†้“พๆกใ€‚

5.3 ๅฐ็ป“ โ€‹

ๆ€ป็š„ๆฅ่ฏด๏ผŒPlan-and-Execute ๆจกๅผๅนถ้žๆŽ’ๆ–ฅโ€œ่พน่ตฐ่พน็œ‹โ€๏ผŒ่€Œๆ˜ฏ้€š่ฟ‡ๆžถๆž„ไธŠ็š„่งฃ่€ฆ๏ผŒไธบ Agent ๆณจๅ…ฅไบ†โ€œๅทฅ็จ‹ๅธˆๆ€็ปดโ€๏ผšๅ…ˆๅ‡บๆ–นๆกˆใ€้€้กน่ฝๅฎžใ€่Š‚็‚นๅค็›˜ใ€‚

่ฟ™ไธ€ๆจกๅผ็š„็ฒพ้ซ“ๅœจไบŽๅผ•ๅ…ฅไบ†้‡่ง„ๅˆ’๏ผˆRePlan๏ผ‰ๅ›ž่ทฏใ€‚ๆญฃๅฆ‚ๆต็จ‹ๅ›พๆ‰€็คบ๏ผŒๅฎƒๅนถไธๆ˜ฏๅœจๆ‰ง่กŒๆญปๆฟ็š„่„šๆœฌ๏ผŒ่€Œๆ˜ฏๅœจๆฏไธ€ไธชๅ…ณ้”ฎๆญฅ้ชคๅŽ้ƒฝ่ฟ›่กŒไธ€ๆฌกโ€œๅˆคๅฎšๆ˜ฏๅฆ็ปง็ปญโ€็š„ๅ…ƒ่ฎค็Ÿฅๆฃ€ๆŸฅใ€‚่ฟ™็งๆœบๅˆถๆœ‰ๆ•ˆๅœฐๅฏนๆŠ—ไบ† LLM ็š„โ€œ็žฌๆ—ถ่ฎฐๅฟ†้—ๅฟ˜โ€๏ผŒ่ฎฉ Agent ๅœจ้ขๅฏน้œ€่ฆ่ทจ่ถŠๆ•ฐๅไธชๆญฅ้ชค็š„่‡ชๅŠจๅŒ–ๅทฅ็จ‹ไปปๅŠกๆ—ถ๏ผŒไพ็„ถ่ƒฝไฟๆŒ่ˆชๅ‘็š„็ฒพๅ‡†ใ€‚

6. ่Œƒๅผ้€‰ๆ‹ฉ๏ผšๅฆ‚ไฝ•ไธบไฝ ็š„ Agent ้…็ฝฎโ€œๅฐ่„‘โ€๏ผŸ โ€‹

ๅœจ็†่งฃไบ† ReAct ไธŽ Plan-and-Execute ๅŽ๏ผŒๅผ€ๅ‘่€…้ขไธด็š„ๆ ธๅฟƒๆŒ‘ๆˆ˜ๆ˜ฏๅฆ‚ไฝ•ๅœจๅฎž้™…ไธšๅŠกไธญ่ฟ›่กŒ้€‰ๅž‹ใ€‚ไธ‹่กจไปŽๅทฅ็จ‹ๅฎž่ทต่ง’ๅบฆๅฏนไธค่€…่ฟ›่กŒไบ†ๅฏนๆฏ”ๆ€ป็ป“๏ผš

็ปดๅบฆReActPlan-and-Execute
่ง„ๅˆ’ๆ—ถๆœบๆ‰ง่กŒ่ฟ‡็จ‹ไธญๅฎžๆ—ถๆŽจ็†ๆ‰ง่กŒๅ‰่ฟ›่กŒๅ…จๅฑ€ๆ‹†่งฃ
้”™่ฏฏๅค„็†ไพ่ต–ไธ‹ไธ€่ฝฎ Thought ไฟฎๆญฃไพ่ต– RePlan ๆœบๅˆถ้‡ไฟฎๆธ…ๅ•
้€‚็”จๅนฟๅบฆๅผ€ๆ”พๅŸŸไบคไบ’ใ€ๅทฅๅ…ท่ฐƒ็”จๅฐ‘ๅž‚็›ดๅŸŸๅทฅ็จ‹ใ€้•ฟ้“พ่ทฏใ€ๅผบไพ่ต–
็ณป็ปŸ็†ตๅ€ผ่พƒ้ซ˜๏ผˆ็Šถๆ€้šไบคไบ’ๅฎžๆ—ถๅ˜ๅŒ–๏ผ‰่พƒไฝŽ๏ผˆ็Šถๆ€้”šๅฎšๅœจไปปๅŠกๆธ…ๅ•๏ผ‰

7. ็ป“่ฏญ๏ผš่ง„ๅˆ’ๆ˜ฏ Agent ่ฟˆๅ‘โ€œ็กฎๅฎšๆ€งโ€็š„ๅฎš็›˜ๆ˜Ÿ โ€‹

่‡ณๆญค๏ผŒๆˆ‘ไปฌๆทฑๅบฆๆ‹†่งฃไบ† Agent ่ง„ๅˆ’ๆจกๅ—็š„ไธคๅคงๆ”ฏๆŸฑ๏ผšไปปๅŠกๅˆ†่งฃไธŽ่‡ชๆˆ‘ๅๆ€ใ€‚่ง„ๅˆ’ๆจกๅ—่ต‹ไบˆไบ† Agent โ€œ้€ป่พ‘โ€๏ผŒไฝ†่ฟ™ไป…ไป…ๆ˜ฏๆž„ๅปบโ€œๆ•ฐๅญ—ๅ‘˜ๅทฅโ€็š„็ฌฌไธ€ๆญฅใ€‚ไธ€ไธช่ƒฝๅœจๅคๆ‚ไธšๅŠกไธญๆŒไน…็”Ÿๅญ˜็š„ๆ™บ่ƒฝไฝ“๏ผŒ้™คไบ†่ฆๆ‡‚ๅพ—โ€œๅฆ‚ไฝ•ๆ€่€ƒโ€๏ผŒ่ฟ˜้œ€่ฆ่งฃๅ†ณโ€œๆˆ‘ๆ˜ฏ่ฐใ€ๆˆ‘ๅš่ฟ‡ไป€ไนˆใ€ๆˆ‘ไปŽๅ“ช่Žทๅ–็Ÿฅ่ฏ†โ€็š„้—ฎ้ข˜ใ€‚ๅœจๆž„ๅปบ Agent ๆ—ถ๏ผŒๅนถๆฒกๆœ‰็ปๅฏน็š„ไผ˜ๅŠฃไน‹ๅˆ†ใ€‚ๆˆ็†Ÿ็š„็ณป็ปŸๅพ€ๅพ€้‡‡็”จๆททๅˆๆจกๅผ๏ผšๅœจๅคง็›ฎๆ ‡ไธŠไฝฟ็”จ Plan-and-Execute ไฟ่ฏๆ–นๅ‘ไธๅ๏ผŒๅœจๅ…ทไฝ“็š„ๅญไปปๅŠกๆ‰ง่กŒไธญๅผ€ๅฏ ReActใ€‚

ๆœฌ็ฏ‡ๆ–‡็ซ ๅˆฐๆญค็ป“ๆŸ๏ผŒๅปบ่ฎฎ็ป“ๅˆๅ‰ๆ–‡ ใ€ŠAI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐใ€‹ ไธ€่ตท้˜…่ฏป๏ผŒๆž„ๅปบๆ›ดๅฎŒๆ•ด็š„่ฎค็Ÿฅ้—ญ็Žฏใ€‚

',49)])])}const A=e(l,[["render",i]]);export{c as __pageData,A as default}; diff --git "a/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_02.Agent \347\263\273\345\210\227_02.Agent \350\247\204\345\210\222\346\250\241\345\235\227.md.BEUNtIDI.lean.js" "b/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_02.Agent \347\263\273\345\210\227_02.Agent \350\247\204\345\210\222\346\250\241\345\235\227.md.C3XAsz_e.lean.js" similarity index 96% rename from "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_02.Agent \347\263\273\345\210\227_02.Agent \350\247\204\345\210\222\346\250\241\345\235\227.md.BEUNtIDI.lean.js" rename to "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_02.Agent \347\263\273\345\210\227_02.Agent \350\247\204\345\210\222\346\250\241\345\235\227.md.C3XAsz_e.lean.js" index ca84a09b..9ae0bc33 100644 --- "a/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_02.Agent \347\263\273\345\210\227_02.Agent \350\247\204\345\210\222\346\250\241\345\235\227.md.BEUNtIDI.lean.js" +++ "b/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_02.Agent \347\263\273\345\210\227_02.Agent \350\247\204\345\210\222\346\250\241\345\235\227.md.C3XAsz_e.lean.js" @@ -1 +1 @@ -import{_ as e,g as n,h as a,U as r}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const c=JSON.parse('{"title":"ๆŽขๅฏป Agent ๅ†ณ็ญ–ไธญๆžข๏ผš่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„่ง„ๅˆ’่Œƒๅผ","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฆ‚ๆžœ่ฏด LLM ๆ˜ฏ Agent ็š„ๅคง่„‘๏ผŒ่ง„ๅˆ’ๆจกๅ—ๅˆ™ๆ˜ฏๅ…ถ่ดŸ่ดฃๅคๆ‚ๅ†ณ็ญ–็š„โ€œๅ‰้ขๅถโ€ใ€‚ๆœฌๆ–‡ๆทฑๅบฆ่งฃๆž„ไบ† Agent ่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„ๆ ธๅฟƒ่ทฏๅพ„๏ผšไปŽไปปๅŠกๅˆ†่งฃ็š„้™ไฝŽ็†ตๅ€ผ๏ผŒๅˆฐ่‡ชๆˆ‘ๅๆ€็š„้—ญ็ŽฏๆŽงๅˆถใ€‚้€š่ฟ‡ๅฏนๆฏ”โ€œ่พน่ตฐ่พน็œ‹โ€็š„ ReAct ๅŠจๆ€ๅ“ๅบ”ๆจกๅผไธŽโ€œ่ฐ‹ๅฎšๅŽๅŠจโ€็š„ Plan-and-Execute ้ข„็ผ–ๆŽ’ๆจกๅผ๏ผŒๆœฌๆ–‡ๆญ็คบไบ†ๅฆ‚ไฝ•้’ˆๅฏน้•ฟ้“พ่ทฏๅทฅ็จ‹ไปปๅŠกๆž„ๅปบ็จณๅฅ็š„ๅ†ณ็ญ–่Œƒๅผ๏ผŒๅŠฉไฝ ๅฎŒๆˆไปŽโ€œ็ฎ€ๅ•ๆ็คบ่ฏโ€ๅˆฐโ€œๅคๆ‚ๆžถๆž„่ฎพ่ฎกโ€็š„่ฎค็Ÿฅ่ทƒ่ฟใ€‚","frontmatter":{"date":"2026-02-24T20:52:37.000Z","title":"ๆŽขๅฏป Agent ๅ†ณ็ญ–ไธญๆžข๏ผš่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„่ง„ๅˆ’่Œƒๅผ","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฆ‚ๆžœ่ฏด LLM ๆ˜ฏ Agent ็š„ๅคง่„‘๏ผŒ่ง„ๅˆ’ๆจกๅ—ๅˆ™ๆ˜ฏๅ…ถ่ดŸ่ดฃๅคๆ‚ๅ†ณ็ญ–็š„โ€œๅ‰้ขๅถโ€ใ€‚ๆœฌๆ–‡ๆทฑๅบฆ่งฃๆž„ไบ† Agent ่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„ๆ ธๅฟƒ่ทฏๅพ„๏ผšไปŽไปปๅŠกๅˆ†่งฃ็š„้™ไฝŽ็†ตๅ€ผ๏ผŒๅˆฐ่‡ชๆˆ‘ๅๆ€็š„้—ญ็ŽฏๆŽงๅˆถใ€‚้€š่ฟ‡ๅฏนๆฏ”โ€œ่พน่ตฐ่พน็œ‹โ€็š„ ReAct ๅŠจๆ€ๅ“ๅบ”ๆจกๅผไธŽโ€œ่ฐ‹ๅฎšๅŽๅŠจโ€็š„ Plan-and-Execute ้ข„็ผ–ๆŽ’ๆจกๅผ๏ผŒๆœฌๆ–‡ๆญ็คบไบ†ๅฆ‚ไฝ•้’ˆๅฏน้•ฟ้“พ่ทฏๅทฅ็จ‹ไปปๅŠกๆž„ๅปบ็จณๅฅ็š„ๅ†ณ็ญ–่Œƒๅผ๏ผŒๅŠฉไฝ ๅฎŒๆˆไปŽโ€œ็ฎ€ๅ•ๆ็คบ่ฏโ€ๅˆฐโ€œๅคๆ‚ๆžถๆž„่ฎพ่ฎกโ€็š„่ฎค็Ÿฅ่ทƒ่ฟใ€‚","permalink":"/ai-agent/planning-module","sticky":1,"top":true,"categories":["AI ๅญฆไน ไธŽๅฎž่ทต"]},"headers":[],"relativePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/02.Agent ่ง„ๅˆ’ๆจกๅ—.md","filePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/02.Agent ่ง„ๅˆ’ๆจกๅ—.md"}'),l={name:"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/02.Agent ่ง„ๅˆ’ๆจกๅ—.md"};function i(o,t,g,s,d,p){return a(),n("div",null,[...t[0]||(t[0]=[r("",49)])])}const A=e(l,[["render",i]]);export{c as __pageData,A as default}; +import{_ as e,g as n,h as a,U as r}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const c=JSON.parse('{"title":"ๆŽขๅฏป Agent ๅ†ณ็ญ–ไธญๆžข๏ผš่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„่ง„ๅˆ’่Œƒๅผ","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฆ‚ๆžœ่ฏด LLM ๆ˜ฏ Agent ็š„ๅคง่„‘๏ผŒ่ง„ๅˆ’ๆจกๅ—ๅˆ™ๆ˜ฏๅ…ถ่ดŸ่ดฃๅคๆ‚ๅ†ณ็ญ–็š„โ€œๅ‰้ขๅถโ€ใ€‚ๆœฌๆ–‡ๆทฑๅบฆ่งฃๆž„ไบ† Agent ่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„ๆ ธๅฟƒ่ทฏๅพ„๏ผšไปŽไปปๅŠกๅˆ†่งฃ็š„้™ไฝŽ็†ตๅ€ผ๏ผŒๅˆฐ่‡ชๆˆ‘ๅๆ€็š„้—ญ็ŽฏๆŽงๅˆถใ€‚้€š่ฟ‡ๅฏนๆฏ”โ€œ่พน่ตฐ่พน็œ‹โ€็š„ ReAct ๅŠจๆ€ๅ“ๅบ”ๆจกๅผไธŽโ€œ่ฐ‹ๅฎšๅŽๅŠจโ€็š„ Plan-and-Execute ้ข„็ผ–ๆŽ’ๆจกๅผ๏ผŒๆœฌๆ–‡ๆญ็คบไบ†ๅฆ‚ไฝ•้’ˆๅฏน้•ฟ้“พ่ทฏๅทฅ็จ‹ไปปๅŠกๆž„ๅปบ็จณๅฅ็š„ๅ†ณ็ญ–่Œƒๅผ๏ผŒๅŠฉไฝ ๅฎŒๆˆไปŽโ€œ็ฎ€ๅ•ๆ็คบ่ฏโ€ๅˆฐโ€œๅคๆ‚ๆžถๆž„่ฎพ่ฎกโ€็š„่ฎค็Ÿฅ่ทƒ่ฟใ€‚","frontmatter":{"date":"2026-02-24T20:52:37.000Z","title":"ๆŽขๅฏป Agent ๅ†ณ็ญ–ไธญๆžข๏ผš่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„่ง„ๅˆ’่Œƒๅผ","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฆ‚ๆžœ่ฏด LLM ๆ˜ฏ Agent ็š„ๅคง่„‘๏ผŒ่ง„ๅˆ’ๆจกๅ—ๅˆ™ๆ˜ฏๅ…ถ่ดŸ่ดฃๅคๆ‚ๅ†ณ็ญ–็š„โ€œๅ‰้ขๅถโ€ใ€‚ๆœฌๆ–‡ๆทฑๅบฆ่งฃๆž„ไบ† Agent ่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„ๆ ธๅฟƒ่ทฏๅพ„๏ผšไปŽไปปๅŠกๅˆ†่งฃ็š„้™ไฝŽ็†ตๅ€ผ๏ผŒๅˆฐ่‡ชๆˆ‘ๅๆ€็š„้—ญ็ŽฏๆŽงๅˆถใ€‚้€š่ฟ‡ๅฏนๆฏ”โ€œ่พน่ตฐ่พน็œ‹โ€็š„ ReAct ๅŠจๆ€ๅ“ๅบ”ๆจกๅผไธŽโ€œ่ฐ‹ๅฎšๅŽๅŠจโ€็š„ Plan-and-Execute ้ข„็ผ–ๆŽ’ๆจกๅผ๏ผŒๆœฌๆ–‡ๆญ็คบไบ†ๅฆ‚ไฝ•้’ˆๅฏน้•ฟ้“พ่ทฏๅทฅ็จ‹ไปปๅŠกๆž„ๅปบ็จณๅฅ็š„ๅ†ณ็ญ–่Œƒๅผ๏ผŒๅŠฉไฝ ๅฎŒๆˆไปŽโ€œ็ฎ€ๅ•ๆ็คบ่ฏโ€ๅˆฐโ€œๅคๆ‚ๆžถๆž„่ฎพ่ฎกโ€็š„่ฎค็Ÿฅ่ทƒ่ฟใ€‚","permalink":"/ai-agent/planning-module","sticky":1,"top":true,"categories":["AI ๅญฆไน ไธŽๅฎž่ทต"]},"headers":[],"relativePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/02.Agent ่ง„ๅˆ’ๆจกๅ—.md","filePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/02.Agent ่ง„ๅˆ’ๆจกๅ—.md"}'),l={name:"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/02.Agent ่ง„ๅˆ’ๆจกๅ—.md"};function i(o,t,g,s,d,p){return a(),n("div",null,[...t[0]||(t[0]=[r("",49)])])}const A=e(l,[["render",i]]);export{c as __pageData,A as default}; diff --git "a/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_02.Agent \347\263\273\345\210\227_03.\346\236\204\345\273\272 Agentic \347\224\237\346\200\201\357\274\232\345\260\206\351\233\266\346\225\243\347\273\204\344\273\266\345\214\226\344\270\272\345\217\257\346\214\201\347\273\255\347\232\204\345\267\245\344\275\234\346\265\201.md.Bgi-7Dm_.js" "b/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_02.Agent \347\263\273\345\210\227_03.\346\236\204\345\273\272 Agentic \347\224\237\346\200\201\357\274\232\345\260\206\351\233\266\346\225\243\347\273\204\344\273\266\345\214\226\344\270\272\345\217\257\346\214\201\347\273\255\347\232\204\345\267\245\344\275\234\346\265\201.md.Dzka5_K9.js" similarity index 99% rename from "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_02.Agent \347\263\273\345\210\227_03.\346\236\204\345\273\272 Agentic \347\224\237\346\200\201\357\274\232\345\260\206\351\233\266\346\225\243\347\273\204\344\273\266\345\214\226\344\270\272\345\217\257\346\214\201\347\273\255\347\232\204\345\267\245\344\275\234\346\265\201.md.Bgi-7Dm_.js" rename to "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_02.Agent \347\263\273\345\210\227_03.\346\236\204\345\273\272 Agentic \347\224\237\346\200\201\357\274\232\345\260\206\351\233\266\346\225\243\347\273\204\344\273\266\345\214\226\344\270\272\345\217\257\346\214\201\347\273\255\347\232\204\345\267\245\344\275\234\346\265\201.md.Dzka5_K9.js" index fbb0e379..0b62c1dd 100644 --- "a/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_02.Agent \347\263\273\345\210\227_03.\346\236\204\345\273\272 Agentic \347\224\237\346\200\201\357\274\232\345\260\206\351\233\266\346\225\243\347\273\204\344\273\266\345\214\226\344\270\272\345\217\257\346\214\201\347\273\255\347\232\204\345\267\245\344\275\234\346\265\201.md.Bgi-7Dm_.js" +++ "b/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_02.Agent \347\263\273\345\210\227_03.\346\236\204\345\273\272 Agentic \347\224\237\346\200\201\357\274\232\345\260\206\351\233\266\346\225\243\347\273\204\344\273\266\345\214\226\344\270\272\345\217\257\346\214\201\347\273\255\347\232\204\345\267\245\344\275\234\346\265\201.md.Dzka5_K9.js" @@ -1 +1 @@ -import{_ as o,g as r,h as s,U as e}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const h=JSON.parse('{"title":"ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผš้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผš้ขๅฏนๅฑ‚ๅ‡บไธ็ฉท็š„ Promptใ€MCPใ€Skills ๅ’Œ Subagents๏ผŒๅพˆๅคšๅผ€ๅ‘่€…ๅ’Œไบงๅ“็ป็†ๅธธๆ„Ÿๅˆฐๅ›ฐๆƒ‘๏ผš่ฟ™ไบ›็ป„ไปถ็ฉถ็ซŸๆ˜ฏ้‡ๅค้€ ่ฝฎๅญ๏ผŒ่ฟ˜ๆ˜ฏๅ„ๅธๅ…ถ่Œ็š„็งฏๆœจ๏ผŸๆœฌๆ–‡ๅฐ†ๆทฑๅบฆๆ‹†่งฃ Agentic ็”Ÿๆ€็š„ไบ”ๅคงๆ ธๅฟƒๆ”ฏๆŸฑ๏ผŒๆญ็คบๅฆ‚ไฝ•้€š่ฟ‡ไผ˜้›…็š„ๆžถๆž„่ฎพ่ฎกๅฎž็ŽฐๅๅŒ้—ญ็Žฏ๏ผŒๅฐ†้›ถๆ•ฃ็š„ AI ็ป„ไปถๆ‹ผ่ฃ…ๆˆไธ€ๅฅ—ๅฏๆŒ็ปญ่ฟ›ๅŒ–็š„ AI ๅŽŸ็”Ÿๆ“ไฝœ็ณป็ปŸ๏ผŒๆŠŠ็ขŽ็‰‡ๅŒ–็š„ AI ่ƒฝๅŠ›่ฝฌๅŒ–ไธบ้ซ˜ๅฏ็”จ็š„็”ŸไบงๅŠ›ๆตใ€‚","frontmatter":{"date":"2026-02-06T15:48:23.000Z","title":"ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผš้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผš้ขๅฏนๅฑ‚ๅ‡บไธ็ฉท็š„ Promptใ€MCPใ€Skills ๅ’Œ Subagents๏ผŒๅพˆๅคšๅผ€ๅ‘่€…ๅ’Œไบงๅ“็ป็†ๅธธๆ„Ÿๅˆฐๅ›ฐๆƒ‘๏ผš่ฟ™ไบ›็ป„ไปถ็ฉถ็ซŸๆ˜ฏ้‡ๅค้€ ่ฝฎๅญ๏ผŒ่ฟ˜ๆ˜ฏๅ„ๅธๅ…ถ่Œ็š„็งฏๆœจ๏ผŸๆœฌๆ–‡ๅฐ†ๆทฑๅบฆๆ‹†่งฃ Agentic ็”Ÿๆ€็š„ไบ”ๅคงๆ ธๅฟƒๆ”ฏๆŸฑ๏ผŒๆญ็คบๅฆ‚ไฝ•้€š่ฟ‡ไผ˜้›…็š„ๆžถๆž„่ฎพ่ฎกๅฎž็ŽฐๅๅŒ้—ญ็Žฏ๏ผŒๅฐ†้›ถๆ•ฃ็š„ AI ็ป„ไปถๆ‹ผ่ฃ…ๆˆไธ€ๅฅ—ๅฏๆŒ็ปญ่ฟ›ๅŒ–็š„ AI ๅŽŸ็”Ÿๆ“ไฝœ็ณป็ปŸ๏ผŒๆŠŠ็ขŽ็‰‡ๅŒ–็š„ AI ่ƒฝๅŠ›่ฝฌๅŒ–ไธบ้ซ˜ๅฏ็”จ็š„็”ŸไบงๅŠ›ๆตใ€‚","coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/ai-practice/agent_components_zh.png","permalink":"/ai-agent/composition-ai-components","sticky":1,"top":true,"categories":["AI ๅญฆไน ไธŽๅฎž่ทต"],"tags":["Agent","AI"]},"headers":[],"relativePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/03.ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผšๅฐ†้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต.md","filePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/03.ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผšๅฐ†้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต.md"}'),n={name:"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/03.ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผšๅฐ†้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต.md"};function a(d,t,i,l,g,p){return s(),r("div",null,[...t[0]||(t[0]=[e('

ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผš้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต โ€‹

ๆ‘˜่ฆๆ€ป็ป“๏ผš้ขๅฏนๅฑ‚ๅ‡บไธ็ฉท็š„ Promptใ€MCPใ€Skills ๅ’Œ Subagents๏ผŒๅพˆๅคšๅผ€ๅ‘่€…ๅ’Œไบงๅ“็ป็†ๅธธๆ„Ÿๅˆฐๅ›ฐๆƒ‘๏ผš่ฟ™ไบ›็ป„ไปถ็ฉถ็ซŸๆ˜ฏ้‡ๅค้€ ่ฝฎๅญ๏ผŒ่ฟ˜ๆ˜ฏๅ„ๅธๅ…ถ่Œ็š„็งฏๆœจ๏ผŸๆœฌๆ–‡ๅฐ†ๆทฑๅบฆๆ‹†่งฃ Agentic ็”Ÿๆ€็š„ไบ”ๅคงๆ ธๅฟƒๆ”ฏๆŸฑ๏ผŒๆญ็คบๅฆ‚ไฝ•้€š่ฟ‡ไผ˜้›…็š„ๆžถๆž„่ฎพ่ฎกๅฎž็ŽฐๅๅŒ้—ญ็Žฏ๏ผŒๅฐ†้›ถๆ•ฃ็š„ AI ็ป„ไปถๆ‹ผ่ฃ…ๆˆไธ€ๅฅ—ๅฏๆŒ็ปญ่ฟ›ๅŒ–็š„ AI ๅŽŸ็”Ÿๆ“ไฝœ็ณป็ปŸ๏ผŒๆŠŠ็ขŽ็‰‡ๅŒ–็š„ AI ่ƒฝๅŠ›่ฝฌๅŒ–ไธบ้ซ˜ๅฏ็”จ็š„็”ŸไบงๅŠ›ๆตใ€‚

about site background

1. ๅผ•่จ€ โ€‹

้—ฎ้ข˜๏ผšๅœจๆ™บ่ƒฝไฝ“็”Ÿๆ€้‡Œ๏ผŒๅ„ไธช็ป„ไปถๅˆฐๅบ•ๆ˜ฏๆ€ŽไนˆๅๅŒๅทฅไฝœ็š„๏ผŸ

ๅฝ“ๅ‰๏ผŒAgent๏ผˆๆ™บ่ƒฝไฝ“๏ผ‰ๆŠ€ๆœฏๅ‘ๅฑ•่ฟ…็Œ›๏ผŒๅ„็ง่ฎพ่ฎกๆจกๅผใ€ๆ ธๅฟƒ็ป„ไปถไธŽๅทฅไฝœๆœบๅˆถๅฑ‚ๅ‡บไธ็ฉทใ€‚้ขๅฏน็นๆ‚็š„ๆ™บ่ƒฝไฝ“็”Ÿๆ€๏ผŒไธ€ไธชๆœ€ๆ ธๅฟƒ็š„้—ฎ้ข˜ๅพ€ๅพ€่ฆ็ป•ๅœจๅผ€ๅ‘่€…ๅ’Œ็”จๆˆท็š„่„‘ๆตทไธญ๏ผšๅœจ่ฟ™ไธช็”Ÿๆ€้‡Œ๏ผŒๅ„ไธช็ป„ไปถ็ฉถ็ซŸๆ˜ฏๅฆ‚ไฝ•ๅๅŒๅทฅไฝœ็š„๏ผŸ

ไบ‹ๅฎžไธŠ๏ผŒไธ€ไธชๆˆ็†Ÿ็š„ Agentic ็”Ÿๆ€็ณป็ปŸ๏ผŒๅ…ถๆœฌ่ดจๆ˜ฏ้€š่ฟ‡ไผ˜้›…ๅœฐๆ•ดๅˆ Promptsใ€Skillsใ€Projectsใ€Subagents ไปฅๅŠ MCP ็ญ‰ๆ ธๅฟƒ็ป„ไปถ๏ผŒๅฐ†ๅŽŸๆœฌ้›ถๆ•ฃ็š„ AI ่ƒฝๅŠ›๏ผŒ็ผ–็ป‡ๆˆไธ€ๆกๅฏๆŒ็ปญใ€้ซ˜ๅฏ็”จ็š„ๅทฅไฝœๆตใ€‚่ฟ™ไธไป…ๅคงๅน…ๆๅ‡ไบ†ไบบๆœบๅไฝœ็š„ๆ•ˆ็އ๏ผŒๆ›ดไธบ็ณป็ปŸ่ฟ่กŒ็š„็จณๅฎšๆ€งๆไพ›ไบ†ๅšๅฎžไฟ้šœใ€‚

ๆŽฅไธ‹ๆฅ๏ผŒๆˆ‘ไปฌๅฐ†้€ไธ€ๆ‹†่งฃ่ฟ™ไบ›ๆ ธๅฟƒ็ป„ไปถ๏ผŒ็œ‹็œ‹ๅฎƒไปฌๆ˜ฏๅฆ‚ไฝ•ๅ„ๅธๅ…ถ่Œ็š„ใ€‚

2. Prompts๏ผšๅณๆ—ถ็ตๆดป็š„ๅฏน่ฏๆŒ‡ไปค โ€‹

่ง’่‰ฒๅฎšไฝ

้šๅซ้šๅˆฐ็š„โ€œๅณๆ—ถๅฃๅคดๆŒ‡ไปคโ€

Prompts ๆ˜ฏ็”Ÿๆ€ไธญๆœ€ๅŸบ็ก€็š„ไบคไบ’ๅ•ๅ…ƒ๏ผŒๅฆ‚ๅŒๆˆ‘ไปฌๅœจๆ—ฅๅธธๅฏน่ฏไธญไธ‹่พพ็š„ๅณๆ—ถๆŒ‡ไปคใ€‚ไฝ ้€š่ฟ‡่‡ช็„ถ่ฏญ่จ€้ฉฑๅŠจ AI๏ผŒๅฎƒ้šๅซ้šๅˆฐ๏ผŒๅ“ๅบ”่ฟ…้€Ÿใ€‚

โš ๏ธ ๆณจๆ„ไบ‹้กน๏ผšPrompts ไธๅ…ทๅค‡ๆŒไน…ๆ€ง๏ผŒไธไผš่ทจๅฏน่ฏ่‡ชๅŠจไฟ็•™๏ผŒๅ…ณ้—ญๅฏน่ฏๅŽไธŠไธ‹ๆ–‡ๅณๅˆปๅคฑๆ•ˆใ€‚ๅ› ๆญค๏ผŒๅฏนไบŽ้‡ๅคๆ€งๅทฅไฝœๆˆ–ๆถ‰ๅŠๆทฑๅŽšไธ“ไธš็Ÿฅ่ฏ†็š„ไปปๅŠก๏ผŒๅผบ็ƒˆๅปบ่ฎฎๅฐ†ๅ…ถๆฒ‰ๆท€ไธบ Skills ๆˆ– Projectsใ€‚

้€‚็”จๅœบๆ™ฏ๏ผš

ๅœบๆ™ฏ็ฑปๅž‹ๅ…ทไฝ“่ฏดๆ˜Ž
ไธ€ๆฌกๆ€ง้œ€ๆฑ‚ๅฟซ้€Ÿ่ฟ›่กŒๆ–‡็ซ ๆ€ป็ป“ใ€็Ÿญๅฅ็ฟป่ฏ‘็ญ‰
ๅฏน่ฏไธญ็š„่ฟญไปฃไผ˜ๅŒ–ไธดๆ—ถไฟฎๆ”นๆ–‡ๆกˆ่ฏญๆฐ”ใ€่ฐƒๆ•ด่กจ่ฟฐ้€ป่พ‘
ไธดๆ—ถๆ•ฐๆฎๅค„็†่พ“ๅ…ฅไธ€ๆฎตไธดๆ—ถไธŠไธ‹ๆ–‡๏ผŒ่ฟ›่กŒๅณๆ—ถ็š„ๆ•ฐๆฎๅˆ†ๆžๆˆ–ๅ†…ๅฎน่งฃ่ฏป
ๆŒ‡ๅฎš่พ“ๅ‡บๆ ผๅผไพ‹ๅฆ‚่ฆๆฑ‚ AI "ๆŒ‰้กน็›ฎ็ฌฆๅทๅˆ—่กจ่พ“ๅ‡บ" ๆˆ– "่พ“ๅ‡บไธบ JSON ๆ ผๅผ"

3. Skills๏ผšๅฏๅค็”จ็š„ไธ“ๅฑž่ƒฝๅŠ›ๅŒ…๏ผˆๆŠŠ้ซ˜้ข‘ๆ–นๆณ•ๅ˜ๆˆๅฏๅค็”จ่ƒฝๅŠ›๏ผ‰ โ€‹

่ง’่‰ฒๅฎšไฝ

ๆ ‡ๅ‡†ๅŒ–็š„โ€œๆ“ไฝœๆ‰‹ๅ†Œ + ่ต„ๆบๅŒ…โ€

ๅฆ‚ๆžœ่ฏด Prompts ๆ˜ฏ้šๅฃไบคไปฃ็š„ไปปๅŠก๏ผŒ้‚ฃไนˆ Skills ๅฐฑๆ˜ฏๆ ‡ๅ‡†ๅŒ–็š„โ€œๆ“ไฝœๆ‰‹ๅ†Œ + ่ต„ๆบๅŒ…โ€ใ€‚ๅฎƒๅฐ†้ซ˜้ข‘ไฝฟ็”จ็š„ๆ–นๆณ•ๅ›บๅŒ–ไธ‹ๆฅ๏ผŒ็กฎไฟ AI ่ƒฝๅคŸ็จณๅฎšใ€ไธ“ไธšๅœฐๆŒ‰็…งๅŒไธ€ๅฅ—ๆ ‡ๅ‡†โ€œๅšไบ‹โ€ใ€‚

Skills ๆ˜ฏไธ€ไธชๅŒ…ๅซๅฎŒๆ•ดๆŒ‡ไปค่ฏดๆ˜Žใ€้…ๅฅ—่„šๆœฌๅ’Œ่ต„ๆบๆ–‡ไปถ็š„่ƒฝๅŠ›ๆ–‡ไปถๅคนใ€‚ๅฎƒ้‡‡็”จๆธ่ฟ›ๅผๅŠ ่ฝฝๆœบๅˆถ๏ผˆๅ…ˆๅŠ ่ฝฝๅ…ƒไฟกๆฏ๏ผŒๅ†ๆŒ‰้œ€ๅŠ ่ฝฝๅฎŒๆ•ด่ฏดๆ˜Ž๏ผ‰๏ผŒๅœจๅค„็†ไปปๅŠกๆ—ถๆŒ‰้œ€ๅ‘็Žฐใ€ๅŠจๆ€ๅŠ ่ฝฝ๏ผŒๅฎž็Žฐ็‰นๅฎš้ข†ๅŸŸ็š„็จณๅฎšใ€ไธ“ไธšๆ‰ง่กŒใ€‚

้€‚็”จๅœบๆ™ฏ๏ผš

็ฑปๅž‹่ฏดๆ˜Ž็คบไพ‹
็ป„็ป‡็บงๅทฅไฝœๆตๆ ‡ๅ‡†ๅŒ–ๆต็จ‹๏ผŒๅ›บๅŒ–ไผไธšๅ†…้ƒจ็š„็ปŸไธ€่ง„่Œƒๅ“็‰Œไฝฟ็”จๆŒ‡ๅ—ใ€ๅˆ่ง„ๅฎกๆ‰นๆต็จ‹ใ€ๅธธ็”จๆ–‡ๆกฃๆจกๆฟ
้ข†ๅŸŸๅž‹่ƒฝๅŠ›ไธ“ไธšไปปๅŠก่ƒฝๅŠ›๏ผŒๆฒ‰ๆท€็‰นๅฎš้ข†ๅŸŸ็š„ๆ“ไฝœๆœ€ไฝณๅฎž่ทตExcel ๅคๆ‚ๅปบๆจกใ€PDF ๆทฑๅบฆ่งฃๆžใ€ๆ•ฐๆฎๆธ…ๆด—่ง„ๅˆ™
ไธชไบบๅๅฅฝไธชๆ€งๅŒ–ๅทฅไฝœๆ–นๅผ๏ผŒๅ›บๅŒ–ไธชไบบ็š„ๅทฅไฝœไน ๆƒฏ็‰นๅฎš็š„็ฌ”่ฎฐ็ป“ๆž„ใ€ไปฃ็ ้ฃŽๆ ผใ€ไฟกๆฏ่ฐƒ็ ”ๆต็จ‹

ไธ€ไบ›ๅ…ธๅž‹็š„ๅบ”็”จๅœบๆ™ฏ๏ผš ่ฏปๅ†™ๆœฌๅœฐๆ–‡ไปถใ€ๅค„็† PDF/Word/Excelใ€่ฟ่กŒไปฃ็ ๅˆ†ๆžใ€ๆ‰ง่กŒ Git ๆ“ไฝœใ€็”Ÿๆˆๅ›พ่กจๅ’Œๅฏ่ง†ๅŒ–ใ€ไผ˜ๅŒ–่‡ชๅทฑๆˆ–ๅ›ข้˜Ÿ็š„ๅทฅไฝœๆตใ€‚

4. Projects๏ผš้•ฟๆœŸไธ“ๅฑžๅทฅไฝœ็ฉบ้—ด โ€‹

่ง’่‰ฒๅฎšไฝ

ๆฒ‰ๆท€ๆŒไน…ไธŠไธ‹ๆ–‡็š„โ€œ็‹ฌ็ซ‹ๅทฅไฝœๅฎคโ€

Projects ๆ˜ฏ้ขๅ‘็‰นๅฎšๅทฅไฝœไธป้ข˜็š„โ€œ็‹ฌ็ซ‹ๅทฅไฝœๅฎคโ€ใ€‚ๅฎƒๆ˜ฏไธ€ไธช่‡ชๅŒ…ๅซ็š„ๅทฅไฝœ็ฉบ้—ด๏ผŒๆ—จๅœจไธบ AI ๆไพ›ๆŒ็ปญ็งฏ็ดฏ็š„็Ÿฅ่ฏ†ไธŽๅฏน่ฏไธŠไธ‹ๆ–‡ใ€‚ๅ› ๆญค๏ผŒProjects ๆœฌ่ดจไธŠๅฐฑๆ˜ฏ Agent ๆ ธๅฟƒ็ป„ไปถไธญ็š„่ฎฐๅฟ†ๆจกๅ—็š„ไธ€็งๅ…ทไฝ“ๅฎž็Žฐโ€”โ€”ๅฎƒไปฅๆ–‡ไปถๅคน็š„ๅฝขๅผ๏ผŒไธบ็‰นๅฎšไธป้ข˜ๆไพ›ๆŒไน…ๅŒ–็š„ไธŠไธ‹ๆ–‡ๅญ˜ๅ‚จใ€‚ๅฝ“็„ถ๏ผŒ่ฎฐๅฟ†็š„ๅฎž็Žฐๆ–นๅผไธๆญข่ฟ™ไธ€็ง๏ผŒไฝ†่ฟ™็ง"้กน็›ฎๅผ"็š„็ป„็ป‡ๆ–นๅผๅœจๅฎž้™…ไฝฟ็”จไธญๅฐคไธบไพฟๆท็›ด่ง‚ใ€‚

ๆฏไธช Project ้ƒฝ้…ๅค‡็‹ฌ็ซ‹็š„่Šๅคฉ่ฎฐๅฝ•ๅ’Œ้ซ˜่พพ 200K ็š„ไธŠไธ‹ๆ–‡็ช—ๅฃ๏ผŒๆ”ฏๆŒไธŠไผ ่ƒŒๆ™ฏ่ต„ๆ–™ใ€่กฅๅ……้ข†ๅŸŸ็Ÿฅ่ฏ†๏ผŒๅนถๅฏ้…็ฝฎ้กน็›ฎ็บง็š„ๅ…จๅฑ€่‡ชๅฎšไน‰ๆŒ‡ไปคใ€‚

ๆ ธๅฟƒ่พจๆž๏ผšProjects vs. Skills

  • Projects ่งฃๅ†ณ็š„ๆ˜ฏโ€œ่ƒŒๆ™ฏไธŠไธ‹ๆ–‡โ€้—ฎ้ข˜๏ผˆไพ‹ๅฆ‚๏ผšๅญ˜ๆ”พๆŸไธชไบงๅ“ๅ‘ๅธƒ็š„ๆ‰€ๆœ‰่ƒŒๆ™ฏๆๆ–™ใ€ๅ…ฌๅธไปฃ็ ๅบ“ๆˆ–้•ฟๆœŸๅฎขๆˆทไฟกๆฏ๏ผ‰ใ€‚
  • Skills ่งฃๅ†ณ็š„ๆ˜ฏโ€œๅ…ทไฝ“ๆ€Žไนˆๅšโ€้—ฎ้ข˜๏ผˆไพ‹ๅฆ‚๏ผšๆฒ‰ๆท€ๅ›ข้˜Ÿ็š„ไปฃ็ ่ฏ„ๅฎกๆต็จ‹๏ผ‰ใ€‚ ๆœ€ไฝณๅฎž่ทต๏ผš ๅฆ‚ๆžœไฝ ๅ‘็Žฐๅœจๅคšไธช Projects ไน‹้—ด้œ€่ฆๅๅคๅคๅˆถๅŒไธ€ๅฅ—ๆŒ‡ไปค๏ผŒ่ฏทๅฐ†่ฟ™ไบ›้€š็”จ่ง„ๅˆ™ๆŠฝ็ฆปๅ‡บๆฅ๏ผŒๅฐ่ฃ…ๆˆไธ€ไธช Skillใ€‚

้€‚็”จๅœบๆ™ฏ๏ผš ๅฝ“้œ€่ฆไปฅไธ‹่ƒฝๅŠ›ๆ—ถ๏ผŒไผ˜ๅ…ˆ้€‰ๆ‹ฉ Projects๏ผš

ๅœบๆ™ฏ็ฑปๅž‹ๅ…ทไฝ“่ฏดๆ˜Ž
ๆŒไน…ไธŠไธ‹ๆ–‡้œ€่ฆ่ฎฉๅŒไธ€ๆ‰น่ƒŒๆ™ฏ็Ÿฅ่ฏ†ๆŒ็ปญไฝœ็”จไบŽๆฏไธ€่ฝฎๅฏน่ฏ็š„้•ฟๆœŸไปปๅŠกใ€‚
ๅทฅไฝœ็ฉบ้—ด้š”็ฆป่ง„ๆ•ดๅทฅไฝœๅฐ๏ผŒๅฐ†ไธๅŒ้กน็›ฎใ€ไธๅŒๅทฅไฝœ่ฎกๅˆ’็š„ไธŠไธ‹ๆ–‡็‰ฉ็†้š”็ฆป๏ผŒ้ฟๅ…ไฟกๆฏๆททๆท†ใ€‚
ๅ›ข้˜Ÿๅไฝœๅœจ Team/Enterprise ็Žฏๅขƒไธ‹ๅ…ฑไบซ็Ÿฅ่ฏ†ๅบ“ไธŽๅฏน่ฏๅކๅฒใ€‚
่ง’่‰ฒๆ‰ฎๆผ”ไธบ็‰นๅฎš็š„ไธ“้กน้กน็›ฎ่ฎพ็ฝฎไธ“ๅฑž็š„่ฏญๆฐ”ใ€่ง†่ง’ๆˆ–ๅทฅไฝœๆ–นๅผใ€‚

5. Subagents๏ผšๅˆ†ๅทฅๆ˜Ž็กฎ็š„ไธ“้กนๅŠฉๆ‰‹ โ€‹

่ง’่‰ฒๅฎšไฝ

ๅˆ†ๅทฅๆ˜Ž็กฎใ€้™ๅˆถ้š”็ฆป็š„โ€œไธ“่Œๆ‰“ๅทฅไบบโ€

ๆญฃๅฆ‚็ปผ่ฟฐไธญๆ‰€ๆ่ฟฐ็š„๏ผŒๅคšๆ™บ่ƒฝไฝ“็ณป็ปŸ (Multi-Agent System) ็š„ๅ‡บ็Žฐ๏ผŒๆœฌ่ดจไธŠๆ˜ฏ่ฎฉ AI ็š„ๅทฅไฝœๆจกๅผไปŽ"ๅ•ๆ‰“็‹ฌๆ–—"่ฝฌๅ‘"ๅ›ข้˜Ÿๅไฝœ"๏ผŒ้€š่ฟ‡ โ€œไธ“ๆณจๅญไปปๅŠกใ€ไธŠไธ‹ๆ–‡่งฃ่€ฆใ€ๅนถ่กŒๆŽจ่ฟ›โ€ ็š„้€ป่พ‘๏ผŒไธไป…ๆ้ซ˜ไบ†ไปปๅŠก็š„ๅฎŒๆˆไธŠ้™๏ผŒๆ›ด่ฎฉ AI ็š„ๅทฅไฝœๅ˜ๅพ—ๅฏ้ข„ๆต‹ใ€ๅฏ็ฎก็†ใ€‚

Subagents ๆ˜ฏ็ณป็ปŸไธญ็š„โ€œ็‹ฌ็ซ‹ๆ‰ง่กŒๅ•ๅ…ƒโ€ๆˆ–โ€œไธ“่Œๆ‰“ๅทฅไบบโ€,ๅฎƒไปฌๆ˜ฏไธ“ๆ”ป็‰นๅฎš็ป†ๅˆ†ไปปๅŠก็š„ AI ๅŠฉๆ‰‹๏ผŒๆ‹ฅๆœ‰็‹ฌ็ซ‹็š„ไธŠไธ‹ๆ–‡็ช—ๅฃๅ’Œไธฅๆ ผ้™ๅฎš็š„ๅทฅๅ…ทๆƒ้™ใ€‚

้€š่ฟ‡่‡ชๅŠจๅง”ๆดพๆˆ–ๆ‰‹ๅŠจ่ฐƒ็”จ๏ผŒSubagents ๅฏไปฅ็‹ฌ็ซ‹ๅค„็†็ฆปๆ•ฃไปปๅŠก๏ผŒๅนถๅฐ†็ป“ๆžœๅ›žไผ ็ป™ไธปไปฃ็†๏ผŒไปŽ่€Œๅฎž็Žฐๅคๆ‚ไปปๅŠก็š„่งฃ่€ฆไธŽๅนถ่กŒๅทฅไฝœใ€‚

ๆ ธๅฟƒ่พจๆž๏ผšSubagents vs. Skills ็”จ Skills๏ผšๆŠŠโ€œๆ€Žไนˆๅšโ€็š„้€š็”จๆ–นๆณ•่ฎบๆ•™็ป™ๆ‰€ๆœ‰ไปฃ็†๏ผŒ่ฎฉๅคงๅฎถ้ƒฝ่ƒฝ็”จใ€‚ ็”จ Subagents๏ผšๅฝ“้œ€่ฆ็‹ฌ็ซ‹ๆ‰ง่กŒใ€ๆƒ้™้š”็ฆปใ€ไธŠไธ‹ๆ–‡้š”็ฆป๏ผŒๅนถไธ”ๅธŒๆœ›ๆŒ‰่ง’่‰ฒๅˆ†ๅทฅๅฎŒๆˆไปปๅŠกๆ—ถใ€‚ๅฆ‚ๆžœๅธŒๆœ›ๅคšไธชไปฃ็†ๅค็”จๅŒไธ€ๅฅ—ๅฎ‰ๅ…จๅฎกๆŸฅๆต็จ‹๏ผŒๅบ”่ฏฅๅ†™ๆˆ Skill๏ผŒ่€Œไธๆ˜ฏๅ†™ๆญปๅœจๆŸไธช Subagent ้‡Œใ€‚

้€‚็”จๅœบๆ™ฏ๏ผš

ๅœบๆ™ฏ็ฑปๅž‹ๅ…ทไฝ“่ฏดๆ˜Ž
ไธ“็ฒพ็ฑปไปปๅŠก่‡ชๅŠจ่ฟ›่กŒไปฃ็ ๅฎกๆŸฅใ€ๆต‹่ฏ•็”จไพ‹็”Ÿๆˆใ€ๅฎ‰ๅ…จๅฎก่ฎก็ญ‰้—ญ็Žฏๅทฅไฝœใ€‚
ไธŠไธ‹ๆ–‡็ฎก็†ๅฐ†ไธ“ไธšไธ”็ป†็ขŽ็š„่„ๆดป็ดฏๆดปไธ‹ๆ”พ็ป™ๅญไปฃ็†๏ผŒไฟๆŒไธปๅฏน่ฏไธŠไธ‹ๆ–‡็š„ๆธ…ๆ™ฐไธŽ่š็„ฆใ€‚
ๅนถ่กŒๅค„็†ๅคšไธช Subagent ๅŒๆ—ถๅค„็†ไธๅŒ็ปดๅบฆ็š„ไปปๅŠก๏ผŒๅฎž็ŽฐๅคšไปปๅŠกๅนถ่กŒๅค„็†๏ผŒๆๅ‡ๆ•ดไฝ“ๅžๅ้‡ใ€‚
้š”็ฆปไธŽ้™ๅˆถๅฐ†็‰นๅฎš Subagent ้™ๅˆถๅœจๆ›ดๅฎ‰ๅ…จ็š„่พน็•Œๅ†…๏ผˆไพ‹ๅฆ‚ไป…ๆŽˆไบˆๆ•ฐๆฎๅบ“็š„ๅช่ฏปๆƒ้™๏ผ‰ใ€‚

6. MCP๏ผšๆจกๅž‹ไธŠไธ‹ๆ–‡ๅ่ฎฎ๏ผˆๅค–้ƒจ่ฟžๆŽฅ้€š็”จๅ่ฎฎ๏ผ‰ โ€‹

่ง’่‰ฒๅฎšไฝ

่งฃๅ†ณโ€œๆ•ฐๆฎๅœจๅ“ชๅ„ฟโ€็š„โ€œๅค–้ƒจๆกฅๆขไธŽ USB ๅ่ฎฎโ€

ๆœ€ๅŽๆ˜ฏ MCP๏ผˆModel Context Protocol๏ผŒๆจกๅž‹ไธŠไธ‹ๆ–‡ๅ่ฎฎ๏ผ‰ใ€‚ๅฆ‚ๆžœๅ‰้ขๅ››ไธช็ป„ไปถ้ƒฝๅœจ่งฃๅ†ณ AI ๅคง่„‘ๅ†…้ƒจ็š„็ป„็ป‡้—ฎ้ข˜๏ผŒ้‚ฃไนˆ MCP ่งฃๅ†ณ็š„ๅฐฑๆ˜ฏโ€œๆ•ฐๆฎๅœจๅ“ชๅ„ฟโ€็š„ๅค–้ƒจๆกฅๆข้—ฎ้ข˜ใ€‚

MCP ๆ˜ฏไธ€ๅฅ—ๅผ€ๆ”พๆ ‡ๅ‡†็š„่ฟžๆŽฅๅฑ‚ๅ่ฎฎ๏ผŒไธ“้—จ็”จไบŽๅฐ† AI ๅŠฉๆ‰‹ๆ— ็ผๆŽฅๅ…ฅๅ„็ฑปๅค–้ƒจ็ณป็ปŸใ€ๅทฅๅ…ทไธŽๆ•ฐๆฎๆบ๏ผŒๅฝปๅบ•ๆ‰“็ ดๆ•ฐๆฎๅญคๅฒ›ใ€‚ๅฎƒๅˆ†ไธบ MCP ๆœๅŠก็ซฏ๏ผˆๆšด้œฒๅค–้ƒจๆ•ฐๆฎไธŽ่ƒฝๅŠ›๏ผ‰ๅ’Œ MCP ๅฎขๆˆท็ซฏ๏ผˆAI ๅบ”็”จๅ‘่ตท่ฐƒ็”จ๏ผ‰ใ€‚

ๆ ธๅฟƒ่พจๆž๏ผš MPC vs. Skills๏ผŒๅฆ‚ๆžœ AI Agent ๆ˜ฏๆ“ไฝœ็ณป็ปŸ๏ผŒMCP ๅฐฑๆ˜ฏ USB ๅ่ฎฎ๏ผŒSkills ๅฐฑๆ˜ฏๅบ”็”จ็จ‹ๅบใ€‚

้š็€ Skills ็š„ๆ™ฎๅŠ๏ผŒMCP ็š„้œ€ๆฑ‚ไผšๅคงๅน…ๅ‡ๅฐ‘๏ผŒAnthropic ็š„ๅทฅ็จ‹ๅšๅฎขๆๅˆฐ๏ผšไป–ไปฌ็”จ"ไปฃ็ ๆ‰ง่กŒ + MCP"็š„ๆ–นๆณ•๏ผŒๆŠŠไธ€ไธช 150,000 token ็š„ๅทฅไฝœๆตๅŽ‹็ผฉๅˆฐไบ† 2,000 tokensใ€‚ไป–ไปฌ็š„ๆ ธๅฟƒๆ€่ทฏๆ˜ฏ่ฎฉ AI ๅ†™ไปฃ็ ่ฐƒ็”จๅทฅๅ…ท๏ผŒ่€Œไธๆ˜ฏ้ข„ๅŠ ่ฝฝๆ‰€ๆœ‰ๅทฅๅ…ทๅฎšไน‰ใ€‚่ฟ™ๆญฃๆ˜ฏ Skills ็š„่ฎพ่ฎกๆ–นๅ‘๏ผš็”จ่„šๆœฌๅฐ่ฃ…่ƒฝๅŠ›๏ผŒ็”จๆธ่ฟ›ๅผๆŠซ้œฒ็ฎก็†็Ÿฅ่ฏ†๏ผŒๆœ€ๅคง้™ๅบฆๅ‡ๅฐ‘ไธŠไธ‹ๆ–‡ๆถˆ่€—ใ€‚

้€‚็”จๅœบๆ™ฏ๏ผš

ๅœบๆ™ฏ็ฑปๅž‹ๅ…ทไฝ“่ฏดๆ˜Ž
่ฎฟ้—ฎๅค–้ƒจๅ…ฌๅ…ฑๆ•ฐๆฎ่ฐƒ็”จ็ฌฌไธ‰ๆ–น SaaS API๏ผŒๆกฅๆŽฅ Google Driveใ€Slackใ€GitHub ๆˆ–ๅ„็ฑปไบ‘็ซฏๆ•ฐๆฎๅบ“ใ€‚
่ฐƒ็”จๅธธ่ง„ไธšๅŠก็ณป็ปŸๅฏนๆŽฅไผไธš็š„ CRM ็ณป็ปŸใ€ERP ่ฝฏไปถๆˆ–้กน็›ฎ็ฎก็†ๅนณๅฐใ€‚
่ฎฟ้—ฎ้œ€่ฆ่ฎค่ฏ็š„ๅค–้ƒจๆœๅŠก่ฎฟ้—ฎ้œ€่ฆ API ๅฏ†้’ฅๆˆ–ไปค็‰Œ็š„ๅค–้ƒจๆœๅŠก๏ผŒๅฆ‚ๆ”ฏไป˜็ฝ‘ๅ…ณใ€ๆ•ฐๆฎไป“ๅบ“็ญ‰ใ€‚
ๅฏนๆŽฅไผไธš่‡ช็ ”็ณป็ปŸไธบๅ†…้ƒจไธ“ๅฑžไธšๅŠกๅทฅๅ…ทๆไพ›ๆ ‡ๅ‡†ๅŒ–็š„ AI ๆŽฅๅ…ฅๆ–นๆกˆใ€‚

7. ็ป“ๆŸ่ฏญ โ€‹

ไธ€ไธชๅผบๅคง็š„ Agentic ็”Ÿๆ€๏ผŒ็ป้žๆ–ฐๅฅ‡ๆŠ€ๆœฏ็ป„ไปถ็š„ๆ— ๅบๅ †็ Œ๏ผŒ่€Œๆ˜ฏไธ€ๅœบๅ…ณไนŽ็ณป็ปŸๆžถๆž„ไธŽไบงๅ“ๆ€็ปด็š„ๆทฑๅˆป้‡ๅก‘ใ€‚

ๅฝ“ๆˆ‘ไปฌ็”จ MCP ไฝœไธบๅบ•ๅฑ‚็š„โ€œ้€š็”จๆŽฅๅฃโ€ๅŽป่ฟžๆŽฅ็œŸๅฎž็š„ๅค–้ƒจๆ•ฐๆฎ๏ผŒ็”จ Projects ๆž„็ญ‘่ตทๆŒไน…็š„้ข†ๅŸŸ็Ÿฅ่ฏ†ไธŠไธ‹ๆ–‡๏ผŒ็”จ Skills ๅฐ†ไธ“ๅฎถ็š„ๅทฅ็จ‹่ง„่ŒƒไธŽๆœ€ไฝณๅฎž่ทตๅ›บๅŒ–ไธบๅฏๆ‰ง่กŒ่„šๆœฌ๏ผŒ็”จ Subagents ไผ˜้›…ๅœฐๆ‹†่งฃๅนถๅนถ่กŒๅŒ–ๅคๆ‚็š„ไธšๅŠก้€ป่พ‘๏ผŒๆœ€ๅŽ้€š่ฟ‡ Prompts ่ฟ›่กŒๆ•ๆท็š„ๆ„ๅ›พ่ฐƒๅบฆๆ—ถโ€”โ€”ๆˆ‘ไปฌๅฎž้™…ไธŠๆ˜ฏๅœจๆž„ๅปบไธ€ไธช้ซ˜ๅบฆ่‡ชๆฒปใ€ๅฏๆŒ็ปญ่ฟ่ฝฌ็š„ AI ๅŽŸ็”Ÿๆ“ไฝœ็ณป็ปŸใ€‚

ๅœจ่ฟ™ไธช่Œƒๅผไธ‹๏ผŒๆˆ‘ไปฌ้ขๅฏน็š„ไธๅ†ๆ˜ฏๅ†ทๅ†ฐๅ†ฐ็š„ไปฃ็ ๆˆ–็ขŽ็‰‡ๅŒ–็š„ๅฏน่ฏๆก†ใ€‚้€š่ฟ‡่ง„่Œƒ้ฉฑๅŠจ๏ผˆSpecification-Driven๏ผ‰็š„็ป„ไปถ็ผ–ๆŽ’๏ผŒๆˆ‘ไปฌๆญฃๅœจไปฅๅ‰ๆ‰€ๆœชๆœ‰็š„ๆ•ˆ็އ๏ผŒๅฐ†้›ถๆ•ฃ็š„ AI ่ƒฝๅŠ›็ผ–็ป‡ๆˆ้ซ˜ๅžๅ้‡็š„ๅทฅไฝœๆต๏ผŒ่ฟ™ไธไป…ๆ˜ฏๆœบๅ™จ่ƒฝๅŠ›็š„ๅ€ๅขž๏ผŒๆ›ดๆ˜ฏไบบ็ฑปๅˆ›้€ ๅŠ›็š„่งฃๆ”พใ€‚

ๆŽŒๆกไบ†่ฟ™ๅฅ—็”Ÿๆ€็š„ๅๅŒๆœบๅˆถ๏ผŒๆˆ‘ไปฌไพฟ่ƒฝ็œŸๆญฃไปฅไธ€ไธช AI ่ต‹่ƒฝๆž„ๅปบ่€…๏ผˆAI-Augmented Builder๏ผ‰็š„่ง†่ง’๏ผŒ่ฎฉๅ‰ๆฒฟๆŠ€ๆœฏ็ฒพๅ‡†่ฝๅœฐ๏ผŒๆŒ็ปญไธบไบงๅ“ไธŽไธšๅŠกๅˆ›้€ ไธๅฏๆ›ฟไปฃ็š„ไปทๅ€ผใ€‚

',49)])])}const b=o(n,[["render",a]]);export{h as __pageData,b as default}; +import{_ as o,g as r,h as s,U as e}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const h=JSON.parse('{"title":"ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผš้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผš้ขๅฏนๅฑ‚ๅ‡บไธ็ฉท็š„ Promptใ€MCPใ€Skills ๅ’Œ Subagents๏ผŒๅพˆๅคšๅผ€ๅ‘่€…ๅ’Œไบงๅ“็ป็†ๅธธๆ„Ÿๅˆฐๅ›ฐๆƒ‘๏ผš่ฟ™ไบ›็ป„ไปถ็ฉถ็ซŸๆ˜ฏ้‡ๅค้€ ่ฝฎๅญ๏ผŒ่ฟ˜ๆ˜ฏๅ„ๅธๅ…ถ่Œ็š„็งฏๆœจ๏ผŸๆœฌๆ–‡ๅฐ†ๆทฑๅบฆๆ‹†่งฃ Agentic ็”Ÿๆ€็š„ไบ”ๅคงๆ ธๅฟƒๆ”ฏๆŸฑ๏ผŒๆญ็คบๅฆ‚ไฝ•้€š่ฟ‡ไผ˜้›…็š„ๆžถๆž„่ฎพ่ฎกๅฎž็ŽฐๅๅŒ้—ญ็Žฏ๏ผŒๅฐ†้›ถๆ•ฃ็š„ AI ็ป„ไปถๆ‹ผ่ฃ…ๆˆไธ€ๅฅ—ๅฏๆŒ็ปญ่ฟ›ๅŒ–็š„ AI ๅŽŸ็”Ÿๆ“ไฝœ็ณป็ปŸ๏ผŒๆŠŠ็ขŽ็‰‡ๅŒ–็š„ AI ่ƒฝๅŠ›่ฝฌๅŒ–ไธบ้ซ˜ๅฏ็”จ็š„็”ŸไบงๅŠ›ๆตใ€‚","frontmatter":{"date":"2026-02-06T15:48:23.000Z","title":"ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผš้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผš้ขๅฏนๅฑ‚ๅ‡บไธ็ฉท็š„ Promptใ€MCPใ€Skills ๅ’Œ Subagents๏ผŒๅพˆๅคšๅผ€ๅ‘่€…ๅ’Œไบงๅ“็ป็†ๅธธๆ„Ÿๅˆฐๅ›ฐๆƒ‘๏ผš่ฟ™ไบ›็ป„ไปถ็ฉถ็ซŸๆ˜ฏ้‡ๅค้€ ่ฝฎๅญ๏ผŒ่ฟ˜ๆ˜ฏๅ„ๅธๅ…ถ่Œ็š„็งฏๆœจ๏ผŸๆœฌๆ–‡ๅฐ†ๆทฑๅบฆๆ‹†่งฃ Agentic ็”Ÿๆ€็š„ไบ”ๅคงๆ ธๅฟƒๆ”ฏๆŸฑ๏ผŒๆญ็คบๅฆ‚ไฝ•้€š่ฟ‡ไผ˜้›…็š„ๆžถๆž„่ฎพ่ฎกๅฎž็ŽฐๅๅŒ้—ญ็Žฏ๏ผŒๅฐ†้›ถๆ•ฃ็š„ AI ็ป„ไปถๆ‹ผ่ฃ…ๆˆไธ€ๅฅ—ๅฏๆŒ็ปญ่ฟ›ๅŒ–็š„ AI ๅŽŸ็”Ÿๆ“ไฝœ็ณป็ปŸ๏ผŒๆŠŠ็ขŽ็‰‡ๅŒ–็š„ AI ่ƒฝๅŠ›่ฝฌๅŒ–ไธบ้ซ˜ๅฏ็”จ็š„็”ŸไบงๅŠ›ๆตใ€‚","coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/ai-practice/agent_components_zh.png","permalink":"/ai-agent/composition-ai-components","sticky":1,"top":true,"categories":["AI ๅญฆไน ไธŽๅฎž่ทต"],"tags":["Agent","AI"]},"headers":[],"relativePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/03.ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผšๅฐ†้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต.md","filePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/03.ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผšๅฐ†้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต.md"}'),n={name:"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/03.ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผšๅฐ†้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต.md"};function a(d,t,i,l,g,p){return s(),r("div",null,[...t[0]||(t[0]=[e('

ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผš้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต โ€‹

ๆ‘˜่ฆๆ€ป็ป“๏ผš้ขๅฏนๅฑ‚ๅ‡บไธ็ฉท็š„ Promptใ€MCPใ€Skills ๅ’Œ Subagents๏ผŒๅพˆๅคšๅผ€ๅ‘่€…ๅ’Œไบงๅ“็ป็†ๅธธๆ„Ÿๅˆฐๅ›ฐๆƒ‘๏ผš่ฟ™ไบ›็ป„ไปถ็ฉถ็ซŸๆ˜ฏ้‡ๅค้€ ่ฝฎๅญ๏ผŒ่ฟ˜ๆ˜ฏๅ„ๅธๅ…ถ่Œ็š„็งฏๆœจ๏ผŸๆœฌๆ–‡ๅฐ†ๆทฑๅบฆๆ‹†่งฃ Agentic ็”Ÿๆ€็š„ไบ”ๅคงๆ ธๅฟƒๆ”ฏๆŸฑ๏ผŒๆญ็คบๅฆ‚ไฝ•้€š่ฟ‡ไผ˜้›…็š„ๆžถๆž„่ฎพ่ฎกๅฎž็ŽฐๅๅŒ้—ญ็Žฏ๏ผŒๅฐ†้›ถๆ•ฃ็š„ AI ็ป„ไปถๆ‹ผ่ฃ…ๆˆไธ€ๅฅ—ๅฏๆŒ็ปญ่ฟ›ๅŒ–็š„ AI ๅŽŸ็”Ÿๆ“ไฝœ็ณป็ปŸ๏ผŒๆŠŠ็ขŽ็‰‡ๅŒ–็š„ AI ่ƒฝๅŠ›่ฝฌๅŒ–ไธบ้ซ˜ๅฏ็”จ็š„็”ŸไบงๅŠ›ๆตใ€‚

about site background

1. ๅผ•่จ€ โ€‹

้—ฎ้ข˜๏ผšๅœจๆ™บ่ƒฝไฝ“็”Ÿๆ€้‡Œ๏ผŒๅ„ไธช็ป„ไปถๅˆฐๅบ•ๆ˜ฏๆ€ŽไนˆๅๅŒๅทฅไฝœ็š„๏ผŸ

ๅฝ“ๅ‰๏ผŒAgent๏ผˆๆ™บ่ƒฝไฝ“๏ผ‰ๆŠ€ๆœฏๅ‘ๅฑ•่ฟ…็Œ›๏ผŒๅ„็ง่ฎพ่ฎกๆจกๅผใ€ๆ ธๅฟƒ็ป„ไปถไธŽๅทฅไฝœๆœบๅˆถๅฑ‚ๅ‡บไธ็ฉทใ€‚้ขๅฏน็นๆ‚็š„ๆ™บ่ƒฝไฝ“็”Ÿๆ€๏ผŒไธ€ไธชๆœ€ๆ ธๅฟƒ็š„้—ฎ้ข˜ๅพ€ๅพ€่ฆ็ป•ๅœจๅผ€ๅ‘่€…ๅ’Œ็”จๆˆท็š„่„‘ๆตทไธญ๏ผšๅœจ่ฟ™ไธช็”Ÿๆ€้‡Œ๏ผŒๅ„ไธช็ป„ไปถ็ฉถ็ซŸๆ˜ฏๅฆ‚ไฝ•ๅๅŒๅทฅไฝœ็š„๏ผŸ

ไบ‹ๅฎžไธŠ๏ผŒไธ€ไธชๆˆ็†Ÿ็š„ Agentic ็”Ÿๆ€็ณป็ปŸ๏ผŒๅ…ถๆœฌ่ดจๆ˜ฏ้€š่ฟ‡ไผ˜้›…ๅœฐๆ•ดๅˆ Promptsใ€Skillsใ€Projectsใ€Subagents ไปฅๅŠ MCP ็ญ‰ๆ ธๅฟƒ็ป„ไปถ๏ผŒๅฐ†ๅŽŸๆœฌ้›ถๆ•ฃ็š„ AI ่ƒฝๅŠ›๏ผŒ็ผ–็ป‡ๆˆไธ€ๆกๅฏๆŒ็ปญใ€้ซ˜ๅฏ็”จ็š„ๅทฅไฝœๆตใ€‚่ฟ™ไธไป…ๅคงๅน…ๆๅ‡ไบ†ไบบๆœบๅไฝœ็š„ๆ•ˆ็އ๏ผŒๆ›ดไธบ็ณป็ปŸ่ฟ่กŒ็š„็จณๅฎšๆ€งๆไพ›ไบ†ๅšๅฎžไฟ้šœใ€‚

ๆŽฅไธ‹ๆฅ๏ผŒๆˆ‘ไปฌๅฐ†้€ไธ€ๆ‹†่งฃ่ฟ™ไบ›ๆ ธๅฟƒ็ป„ไปถ๏ผŒ็œ‹็œ‹ๅฎƒไปฌๆ˜ฏๅฆ‚ไฝ•ๅ„ๅธๅ…ถ่Œ็š„ใ€‚

2. Prompts๏ผšๅณๆ—ถ็ตๆดป็š„ๅฏน่ฏๆŒ‡ไปค โ€‹

่ง’่‰ฒๅฎšไฝ

้šๅซ้šๅˆฐ็š„โ€œๅณๆ—ถๅฃๅคดๆŒ‡ไปคโ€

Prompts ๆ˜ฏ็”Ÿๆ€ไธญๆœ€ๅŸบ็ก€็š„ไบคไบ’ๅ•ๅ…ƒ๏ผŒๅฆ‚ๅŒๆˆ‘ไปฌๅœจๆ—ฅๅธธๅฏน่ฏไธญไธ‹่พพ็š„ๅณๆ—ถๆŒ‡ไปคใ€‚ไฝ ้€š่ฟ‡่‡ช็„ถ่ฏญ่จ€้ฉฑๅŠจ AI๏ผŒๅฎƒ้šๅซ้šๅˆฐ๏ผŒๅ“ๅบ”่ฟ…้€Ÿใ€‚

โš ๏ธ ๆณจๆ„ไบ‹้กน๏ผšPrompts ไธๅ…ทๅค‡ๆŒไน…ๆ€ง๏ผŒไธไผš่ทจๅฏน่ฏ่‡ชๅŠจไฟ็•™๏ผŒๅ…ณ้—ญๅฏน่ฏๅŽไธŠไธ‹ๆ–‡ๅณๅˆปๅคฑๆ•ˆใ€‚ๅ› ๆญค๏ผŒๅฏนไบŽ้‡ๅคๆ€งๅทฅไฝœๆˆ–ๆถ‰ๅŠๆทฑๅŽšไธ“ไธš็Ÿฅ่ฏ†็š„ไปปๅŠก๏ผŒๅผบ็ƒˆๅปบ่ฎฎๅฐ†ๅ…ถๆฒ‰ๆท€ไธบ Skills ๆˆ– Projectsใ€‚

้€‚็”จๅœบๆ™ฏ๏ผš

ๅœบๆ™ฏ็ฑปๅž‹ๅ…ทไฝ“่ฏดๆ˜Ž
ไธ€ๆฌกๆ€ง้œ€ๆฑ‚ๅฟซ้€Ÿ่ฟ›่กŒๆ–‡็ซ ๆ€ป็ป“ใ€็Ÿญๅฅ็ฟป่ฏ‘็ญ‰
ๅฏน่ฏไธญ็š„่ฟญไปฃไผ˜ๅŒ–ไธดๆ—ถไฟฎๆ”นๆ–‡ๆกˆ่ฏญๆฐ”ใ€่ฐƒๆ•ด่กจ่ฟฐ้€ป่พ‘
ไธดๆ—ถๆ•ฐๆฎๅค„็†่พ“ๅ…ฅไธ€ๆฎตไธดๆ—ถไธŠไธ‹ๆ–‡๏ผŒ่ฟ›่กŒๅณๆ—ถ็š„ๆ•ฐๆฎๅˆ†ๆžๆˆ–ๅ†…ๅฎน่งฃ่ฏป
ๆŒ‡ๅฎš่พ“ๅ‡บๆ ผๅผไพ‹ๅฆ‚่ฆๆฑ‚ AI "ๆŒ‰้กน็›ฎ็ฌฆๅทๅˆ—่กจ่พ“ๅ‡บ" ๆˆ– "่พ“ๅ‡บไธบ JSON ๆ ผๅผ"

3. Skills๏ผšๅฏๅค็”จ็š„ไธ“ๅฑž่ƒฝๅŠ›ๅŒ…๏ผˆๆŠŠ้ซ˜้ข‘ๆ–นๆณ•ๅ˜ๆˆๅฏๅค็”จ่ƒฝๅŠ›๏ผ‰ โ€‹

่ง’่‰ฒๅฎšไฝ

ๆ ‡ๅ‡†ๅŒ–็š„โ€œๆ“ไฝœๆ‰‹ๅ†Œ + ่ต„ๆบๅŒ…โ€

ๅฆ‚ๆžœ่ฏด Prompts ๆ˜ฏ้šๅฃไบคไปฃ็š„ไปปๅŠก๏ผŒ้‚ฃไนˆ Skills ๅฐฑๆ˜ฏๆ ‡ๅ‡†ๅŒ–็š„โ€œๆ“ไฝœๆ‰‹ๅ†Œ + ่ต„ๆบๅŒ…โ€ใ€‚ๅฎƒๅฐ†้ซ˜้ข‘ไฝฟ็”จ็š„ๆ–นๆณ•ๅ›บๅŒ–ไธ‹ๆฅ๏ผŒ็กฎไฟ AI ่ƒฝๅคŸ็จณๅฎšใ€ไธ“ไธšๅœฐๆŒ‰็…งๅŒไธ€ๅฅ—ๆ ‡ๅ‡†โ€œๅšไบ‹โ€ใ€‚

Skills ๆ˜ฏไธ€ไธชๅŒ…ๅซๅฎŒๆ•ดๆŒ‡ไปค่ฏดๆ˜Žใ€้…ๅฅ—่„šๆœฌๅ’Œ่ต„ๆบๆ–‡ไปถ็š„่ƒฝๅŠ›ๆ–‡ไปถๅคนใ€‚ๅฎƒ้‡‡็”จๆธ่ฟ›ๅผๅŠ ่ฝฝๆœบๅˆถ๏ผˆๅ…ˆๅŠ ่ฝฝๅ…ƒไฟกๆฏ๏ผŒๅ†ๆŒ‰้œ€ๅŠ ่ฝฝๅฎŒๆ•ด่ฏดๆ˜Ž๏ผ‰๏ผŒๅœจๅค„็†ไปปๅŠกๆ—ถๆŒ‰้œ€ๅ‘็Žฐใ€ๅŠจๆ€ๅŠ ่ฝฝ๏ผŒๅฎž็Žฐ็‰นๅฎš้ข†ๅŸŸ็š„็จณๅฎšใ€ไธ“ไธšๆ‰ง่กŒใ€‚

้€‚็”จๅœบๆ™ฏ๏ผš

็ฑปๅž‹่ฏดๆ˜Ž็คบไพ‹
็ป„็ป‡็บงๅทฅไฝœๆตๆ ‡ๅ‡†ๅŒ–ๆต็จ‹๏ผŒๅ›บๅŒ–ไผไธšๅ†…้ƒจ็š„็ปŸไธ€่ง„่Œƒๅ“็‰Œไฝฟ็”จๆŒ‡ๅ—ใ€ๅˆ่ง„ๅฎกๆ‰นๆต็จ‹ใ€ๅธธ็”จๆ–‡ๆกฃๆจกๆฟ
้ข†ๅŸŸๅž‹่ƒฝๅŠ›ไธ“ไธšไปปๅŠก่ƒฝๅŠ›๏ผŒๆฒ‰ๆท€็‰นๅฎš้ข†ๅŸŸ็š„ๆ“ไฝœๆœ€ไฝณๅฎž่ทตExcel ๅคๆ‚ๅปบๆจกใ€PDF ๆทฑๅบฆ่งฃๆžใ€ๆ•ฐๆฎๆธ…ๆด—่ง„ๅˆ™
ไธชไบบๅๅฅฝไธชๆ€งๅŒ–ๅทฅไฝœๆ–นๅผ๏ผŒๅ›บๅŒ–ไธชไบบ็š„ๅทฅไฝœไน ๆƒฏ็‰นๅฎš็š„็ฌ”่ฎฐ็ป“ๆž„ใ€ไปฃ็ ้ฃŽๆ ผใ€ไฟกๆฏ่ฐƒ็ ”ๆต็จ‹

ไธ€ไบ›ๅ…ธๅž‹็š„ๅบ”็”จๅœบๆ™ฏ๏ผš ่ฏปๅ†™ๆœฌๅœฐๆ–‡ไปถใ€ๅค„็† PDF/Word/Excelใ€่ฟ่กŒไปฃ็ ๅˆ†ๆžใ€ๆ‰ง่กŒ Git ๆ“ไฝœใ€็”Ÿๆˆๅ›พ่กจๅ’Œๅฏ่ง†ๅŒ–ใ€ไผ˜ๅŒ–่‡ชๅทฑๆˆ–ๅ›ข้˜Ÿ็š„ๅทฅไฝœๆตใ€‚

4. Projects๏ผš้•ฟๆœŸไธ“ๅฑžๅทฅไฝœ็ฉบ้—ด โ€‹

่ง’่‰ฒๅฎšไฝ

ๆฒ‰ๆท€ๆŒไน…ไธŠไธ‹ๆ–‡็š„โ€œ็‹ฌ็ซ‹ๅทฅไฝœๅฎคโ€

Projects ๆ˜ฏ้ขๅ‘็‰นๅฎšๅทฅไฝœไธป้ข˜็š„โ€œ็‹ฌ็ซ‹ๅทฅไฝœๅฎคโ€ใ€‚ๅฎƒๆ˜ฏไธ€ไธช่‡ชๅŒ…ๅซ็š„ๅทฅไฝœ็ฉบ้—ด๏ผŒๆ—จๅœจไธบ AI ๆไพ›ๆŒ็ปญ็งฏ็ดฏ็š„็Ÿฅ่ฏ†ไธŽๅฏน่ฏไธŠไธ‹ๆ–‡ใ€‚ๅ› ๆญค๏ผŒProjects ๆœฌ่ดจไธŠๅฐฑๆ˜ฏ Agent ๆ ธๅฟƒ็ป„ไปถไธญ็š„่ฎฐๅฟ†ๆจกๅ—็š„ไธ€็งๅ…ทไฝ“ๅฎž็Žฐโ€”โ€”ๅฎƒไปฅๆ–‡ไปถๅคน็š„ๅฝขๅผ๏ผŒไธบ็‰นๅฎšไธป้ข˜ๆไพ›ๆŒไน…ๅŒ–็š„ไธŠไธ‹ๆ–‡ๅญ˜ๅ‚จใ€‚ๅฝ“็„ถ๏ผŒ่ฎฐๅฟ†็š„ๅฎž็Žฐๆ–นๅผไธๆญข่ฟ™ไธ€็ง๏ผŒไฝ†่ฟ™็ง"้กน็›ฎๅผ"็š„็ป„็ป‡ๆ–นๅผๅœจๅฎž้™…ไฝฟ็”จไธญๅฐคไธบไพฟๆท็›ด่ง‚ใ€‚

ๆฏไธช Project ้ƒฝ้…ๅค‡็‹ฌ็ซ‹็š„่Šๅคฉ่ฎฐๅฝ•ๅ’Œ้ซ˜่พพ 200K ็š„ไธŠไธ‹ๆ–‡็ช—ๅฃ๏ผŒๆ”ฏๆŒไธŠไผ ่ƒŒๆ™ฏ่ต„ๆ–™ใ€่กฅๅ……้ข†ๅŸŸ็Ÿฅ่ฏ†๏ผŒๅนถๅฏ้…็ฝฎ้กน็›ฎ็บง็š„ๅ…จๅฑ€่‡ชๅฎšไน‰ๆŒ‡ไปคใ€‚

ๆ ธๅฟƒ่พจๆž๏ผšProjects vs. Skills

  • Projects ่งฃๅ†ณ็š„ๆ˜ฏโ€œ่ƒŒๆ™ฏไธŠไธ‹ๆ–‡โ€้—ฎ้ข˜๏ผˆไพ‹ๅฆ‚๏ผšๅญ˜ๆ”พๆŸไธชไบงๅ“ๅ‘ๅธƒ็š„ๆ‰€ๆœ‰่ƒŒๆ™ฏๆๆ–™ใ€ๅ…ฌๅธไปฃ็ ๅบ“ๆˆ–้•ฟๆœŸๅฎขๆˆทไฟกๆฏ๏ผ‰ใ€‚
  • Skills ่งฃๅ†ณ็š„ๆ˜ฏโ€œๅ…ทไฝ“ๆ€Žไนˆๅšโ€้—ฎ้ข˜๏ผˆไพ‹ๅฆ‚๏ผšๆฒ‰ๆท€ๅ›ข้˜Ÿ็š„ไปฃ็ ่ฏ„ๅฎกๆต็จ‹๏ผ‰ใ€‚ ๆœ€ไฝณๅฎž่ทต๏ผš ๅฆ‚ๆžœไฝ ๅ‘็Žฐๅœจๅคšไธช Projects ไน‹้—ด้œ€่ฆๅๅคๅคๅˆถๅŒไธ€ๅฅ—ๆŒ‡ไปค๏ผŒ่ฏทๅฐ†่ฟ™ไบ›้€š็”จ่ง„ๅˆ™ๆŠฝ็ฆปๅ‡บๆฅ๏ผŒๅฐ่ฃ…ๆˆไธ€ไธช Skillใ€‚

้€‚็”จๅœบๆ™ฏ๏ผš ๅฝ“้œ€่ฆไปฅไธ‹่ƒฝๅŠ›ๆ—ถ๏ผŒไผ˜ๅ…ˆ้€‰ๆ‹ฉ Projects๏ผš

ๅœบๆ™ฏ็ฑปๅž‹ๅ…ทไฝ“่ฏดๆ˜Ž
ๆŒไน…ไธŠไธ‹ๆ–‡้œ€่ฆ่ฎฉๅŒไธ€ๆ‰น่ƒŒๆ™ฏ็Ÿฅ่ฏ†ๆŒ็ปญไฝœ็”จไบŽๆฏไธ€่ฝฎๅฏน่ฏ็š„้•ฟๆœŸไปปๅŠกใ€‚
ๅทฅไฝœ็ฉบ้—ด้š”็ฆป่ง„ๆ•ดๅทฅไฝœๅฐ๏ผŒๅฐ†ไธๅŒ้กน็›ฎใ€ไธๅŒๅทฅไฝœ่ฎกๅˆ’็š„ไธŠไธ‹ๆ–‡็‰ฉ็†้š”็ฆป๏ผŒ้ฟๅ…ไฟกๆฏๆททๆท†ใ€‚
ๅ›ข้˜Ÿๅไฝœๅœจ Team/Enterprise ็Žฏๅขƒไธ‹ๅ…ฑไบซ็Ÿฅ่ฏ†ๅบ“ไธŽๅฏน่ฏๅކๅฒใ€‚
่ง’่‰ฒๆ‰ฎๆผ”ไธบ็‰นๅฎš็š„ไธ“้กน้กน็›ฎ่ฎพ็ฝฎไธ“ๅฑž็š„่ฏญๆฐ”ใ€่ง†่ง’ๆˆ–ๅทฅไฝœๆ–นๅผใ€‚

5. Subagents๏ผšๅˆ†ๅทฅๆ˜Ž็กฎ็š„ไธ“้กนๅŠฉๆ‰‹ โ€‹

่ง’่‰ฒๅฎšไฝ

ๅˆ†ๅทฅๆ˜Ž็กฎใ€้™ๅˆถ้š”็ฆป็š„โ€œไธ“่Œๆ‰“ๅทฅไบบโ€

ๆญฃๅฆ‚็ปผ่ฟฐไธญๆ‰€ๆ่ฟฐ็š„๏ผŒๅคšๆ™บ่ƒฝไฝ“็ณป็ปŸ (Multi-Agent System) ็š„ๅ‡บ็Žฐ๏ผŒๆœฌ่ดจไธŠๆ˜ฏ่ฎฉ AI ็š„ๅทฅไฝœๆจกๅผไปŽ"ๅ•ๆ‰“็‹ฌๆ–—"่ฝฌๅ‘"ๅ›ข้˜Ÿๅไฝœ"๏ผŒ้€š่ฟ‡ โ€œไธ“ๆณจๅญไปปๅŠกใ€ไธŠไธ‹ๆ–‡่งฃ่€ฆใ€ๅนถ่กŒๆŽจ่ฟ›โ€ ็š„้€ป่พ‘๏ผŒไธไป…ๆ้ซ˜ไบ†ไปปๅŠก็š„ๅฎŒๆˆไธŠ้™๏ผŒๆ›ด่ฎฉ AI ็š„ๅทฅไฝœๅ˜ๅพ—ๅฏ้ข„ๆต‹ใ€ๅฏ็ฎก็†ใ€‚

Subagents ๆ˜ฏ็ณป็ปŸไธญ็š„โ€œ็‹ฌ็ซ‹ๆ‰ง่กŒๅ•ๅ…ƒโ€ๆˆ–โ€œไธ“่Œๆ‰“ๅทฅไบบโ€,ๅฎƒไปฌๆ˜ฏไธ“ๆ”ป็‰นๅฎš็ป†ๅˆ†ไปปๅŠก็š„ AI ๅŠฉๆ‰‹๏ผŒๆ‹ฅๆœ‰็‹ฌ็ซ‹็š„ไธŠไธ‹ๆ–‡็ช—ๅฃๅ’Œไธฅๆ ผ้™ๅฎš็š„ๅทฅๅ…ทๆƒ้™ใ€‚

้€š่ฟ‡่‡ชๅŠจๅง”ๆดพๆˆ–ๆ‰‹ๅŠจ่ฐƒ็”จ๏ผŒSubagents ๅฏไปฅ็‹ฌ็ซ‹ๅค„็†็ฆปๆ•ฃไปปๅŠก๏ผŒๅนถๅฐ†็ป“ๆžœๅ›žไผ ็ป™ไธปไปฃ็†๏ผŒไปŽ่€Œๅฎž็Žฐๅคๆ‚ไปปๅŠก็š„่งฃ่€ฆไธŽๅนถ่กŒๅทฅไฝœใ€‚

ๆ ธๅฟƒ่พจๆž๏ผšSubagents vs. Skills ็”จ Skills๏ผšๆŠŠโ€œๆ€Žไนˆๅšโ€็š„้€š็”จๆ–นๆณ•่ฎบๆ•™็ป™ๆ‰€ๆœ‰ไปฃ็†๏ผŒ่ฎฉๅคงๅฎถ้ƒฝ่ƒฝ็”จใ€‚ ็”จ Subagents๏ผšๅฝ“้œ€่ฆ็‹ฌ็ซ‹ๆ‰ง่กŒใ€ๆƒ้™้š”็ฆปใ€ไธŠไธ‹ๆ–‡้š”็ฆป๏ผŒๅนถไธ”ๅธŒๆœ›ๆŒ‰่ง’่‰ฒๅˆ†ๅทฅๅฎŒๆˆไปปๅŠกๆ—ถใ€‚ๅฆ‚ๆžœๅธŒๆœ›ๅคšไธชไปฃ็†ๅค็”จๅŒไธ€ๅฅ—ๅฎ‰ๅ…จๅฎกๆŸฅๆต็จ‹๏ผŒๅบ”่ฏฅๅ†™ๆˆ Skill๏ผŒ่€Œไธๆ˜ฏๅ†™ๆญปๅœจๆŸไธช Subagent ้‡Œใ€‚

้€‚็”จๅœบๆ™ฏ๏ผš

ๅœบๆ™ฏ็ฑปๅž‹ๅ…ทไฝ“่ฏดๆ˜Ž
ไธ“็ฒพ็ฑปไปปๅŠก่‡ชๅŠจ่ฟ›่กŒไปฃ็ ๅฎกๆŸฅใ€ๆต‹่ฏ•็”จไพ‹็”Ÿๆˆใ€ๅฎ‰ๅ…จๅฎก่ฎก็ญ‰้—ญ็Žฏๅทฅไฝœใ€‚
ไธŠไธ‹ๆ–‡็ฎก็†ๅฐ†ไธ“ไธšไธ”็ป†็ขŽ็š„่„ๆดป็ดฏๆดปไธ‹ๆ”พ็ป™ๅญไปฃ็†๏ผŒไฟๆŒไธปๅฏน่ฏไธŠไธ‹ๆ–‡็š„ๆธ…ๆ™ฐไธŽ่š็„ฆใ€‚
ๅนถ่กŒๅค„็†ๅคšไธช Subagent ๅŒๆ—ถๅค„็†ไธๅŒ็ปดๅบฆ็š„ไปปๅŠก๏ผŒๅฎž็ŽฐๅคšไปปๅŠกๅนถ่กŒๅค„็†๏ผŒๆๅ‡ๆ•ดไฝ“ๅžๅ้‡ใ€‚
้š”็ฆปไธŽ้™ๅˆถๅฐ†็‰นๅฎš Subagent ้™ๅˆถๅœจๆ›ดๅฎ‰ๅ…จ็š„่พน็•Œๅ†…๏ผˆไพ‹ๅฆ‚ไป…ๆŽˆไบˆๆ•ฐๆฎๅบ“็š„ๅช่ฏปๆƒ้™๏ผ‰ใ€‚

6. MCP๏ผšๆจกๅž‹ไธŠไธ‹ๆ–‡ๅ่ฎฎ๏ผˆๅค–้ƒจ่ฟžๆŽฅ้€š็”จๅ่ฎฎ๏ผ‰ โ€‹

่ง’่‰ฒๅฎšไฝ

่งฃๅ†ณโ€œๆ•ฐๆฎๅœจๅ“ชๅ„ฟโ€็š„โ€œๅค–้ƒจๆกฅๆขไธŽ USB ๅ่ฎฎโ€

ๆœ€ๅŽๆ˜ฏ MCP๏ผˆModel Context Protocol๏ผŒๆจกๅž‹ไธŠไธ‹ๆ–‡ๅ่ฎฎ๏ผ‰ใ€‚ๅฆ‚ๆžœๅ‰้ขๅ››ไธช็ป„ไปถ้ƒฝๅœจ่งฃๅ†ณ AI ๅคง่„‘ๅ†…้ƒจ็š„็ป„็ป‡้—ฎ้ข˜๏ผŒ้‚ฃไนˆ MCP ่งฃๅ†ณ็š„ๅฐฑๆ˜ฏโ€œๆ•ฐๆฎๅœจๅ“ชๅ„ฟโ€็š„ๅค–้ƒจๆกฅๆข้—ฎ้ข˜ใ€‚

MCP ๆ˜ฏไธ€ๅฅ—ๅผ€ๆ”พๆ ‡ๅ‡†็š„่ฟžๆŽฅๅฑ‚ๅ่ฎฎ๏ผŒไธ“้—จ็”จไบŽๅฐ† AI ๅŠฉๆ‰‹ๆ— ็ผๆŽฅๅ…ฅๅ„็ฑปๅค–้ƒจ็ณป็ปŸใ€ๅทฅๅ…ทไธŽๆ•ฐๆฎๆบ๏ผŒๅฝปๅบ•ๆ‰“็ ดๆ•ฐๆฎๅญคๅฒ›ใ€‚ๅฎƒๅˆ†ไธบ MCP ๆœๅŠก็ซฏ๏ผˆๆšด้œฒๅค–้ƒจๆ•ฐๆฎไธŽ่ƒฝๅŠ›๏ผ‰ๅ’Œ MCP ๅฎขๆˆท็ซฏ๏ผˆAI ๅบ”็”จๅ‘่ตท่ฐƒ็”จ๏ผ‰ใ€‚

ๆ ธๅฟƒ่พจๆž๏ผš MPC vs. Skills๏ผŒๅฆ‚ๆžœ AI Agent ๆ˜ฏๆ“ไฝœ็ณป็ปŸ๏ผŒMCP ๅฐฑๆ˜ฏ USB ๅ่ฎฎ๏ผŒSkills ๅฐฑๆ˜ฏๅบ”็”จ็จ‹ๅบใ€‚

้š็€ Skills ็š„ๆ™ฎๅŠ๏ผŒMCP ็š„้œ€ๆฑ‚ไผšๅคงๅน…ๅ‡ๅฐ‘๏ผŒAnthropic ็š„ๅทฅ็จ‹ๅšๅฎขๆๅˆฐ๏ผšไป–ไปฌ็”จ"ไปฃ็ ๆ‰ง่กŒ + MCP"็š„ๆ–นๆณ•๏ผŒๆŠŠไธ€ไธช 150,000 token ็š„ๅทฅไฝœๆตๅŽ‹็ผฉๅˆฐไบ† 2,000 tokensใ€‚ไป–ไปฌ็š„ๆ ธๅฟƒๆ€่ทฏๆ˜ฏ่ฎฉ AI ๅ†™ไปฃ็ ่ฐƒ็”จๅทฅๅ…ท๏ผŒ่€Œไธๆ˜ฏ้ข„ๅŠ ่ฝฝๆ‰€ๆœ‰ๅทฅๅ…ทๅฎšไน‰ใ€‚่ฟ™ๆญฃๆ˜ฏ Skills ็š„่ฎพ่ฎกๆ–นๅ‘๏ผš็”จ่„šๆœฌๅฐ่ฃ…่ƒฝๅŠ›๏ผŒ็”จๆธ่ฟ›ๅผๆŠซ้œฒ็ฎก็†็Ÿฅ่ฏ†๏ผŒๆœ€ๅคง้™ๅบฆๅ‡ๅฐ‘ไธŠไธ‹ๆ–‡ๆถˆ่€—ใ€‚

้€‚็”จๅœบๆ™ฏ๏ผš

ๅœบๆ™ฏ็ฑปๅž‹ๅ…ทไฝ“่ฏดๆ˜Ž
่ฎฟ้—ฎๅค–้ƒจๅ…ฌๅ…ฑๆ•ฐๆฎ่ฐƒ็”จ็ฌฌไธ‰ๆ–น SaaS API๏ผŒๆกฅๆŽฅ Google Driveใ€Slackใ€GitHub ๆˆ–ๅ„็ฑปไบ‘็ซฏๆ•ฐๆฎๅบ“ใ€‚
่ฐƒ็”จๅธธ่ง„ไธšๅŠก็ณป็ปŸๅฏนๆŽฅไผไธš็š„ CRM ็ณป็ปŸใ€ERP ่ฝฏไปถๆˆ–้กน็›ฎ็ฎก็†ๅนณๅฐใ€‚
่ฎฟ้—ฎ้œ€่ฆ่ฎค่ฏ็š„ๅค–้ƒจๆœๅŠก่ฎฟ้—ฎ้œ€่ฆ API ๅฏ†้’ฅๆˆ–ไปค็‰Œ็š„ๅค–้ƒจๆœๅŠก๏ผŒๅฆ‚ๆ”ฏไป˜็ฝ‘ๅ…ณใ€ๆ•ฐๆฎไป“ๅบ“็ญ‰ใ€‚
ๅฏนๆŽฅไผไธš่‡ช็ ”็ณป็ปŸไธบๅ†…้ƒจไธ“ๅฑžไธšๅŠกๅทฅๅ…ทๆไพ›ๆ ‡ๅ‡†ๅŒ–็š„ AI ๆŽฅๅ…ฅๆ–นๆกˆใ€‚

7. ็ป“ๆŸ่ฏญ โ€‹

ไธ€ไธชๅผบๅคง็š„ Agentic ็”Ÿๆ€๏ผŒ็ป้žๆ–ฐๅฅ‡ๆŠ€ๆœฏ็ป„ไปถ็š„ๆ— ๅบๅ †็ Œ๏ผŒ่€Œๆ˜ฏไธ€ๅœบๅ…ณไนŽ็ณป็ปŸๆžถๆž„ไธŽไบงๅ“ๆ€็ปด็š„ๆทฑๅˆป้‡ๅก‘ใ€‚

ๅฝ“ๆˆ‘ไปฌ็”จ MCP ไฝœไธบๅบ•ๅฑ‚็š„โ€œ้€š็”จๆŽฅๅฃโ€ๅŽป่ฟžๆŽฅ็œŸๅฎž็š„ๅค–้ƒจๆ•ฐๆฎ๏ผŒ็”จ Projects ๆž„็ญ‘่ตทๆŒไน…็š„้ข†ๅŸŸ็Ÿฅ่ฏ†ไธŠไธ‹ๆ–‡๏ผŒ็”จ Skills ๅฐ†ไธ“ๅฎถ็š„ๅทฅ็จ‹่ง„่ŒƒไธŽๆœ€ไฝณๅฎž่ทตๅ›บๅŒ–ไธบๅฏๆ‰ง่กŒ่„šๆœฌ๏ผŒ็”จ Subagents ไผ˜้›…ๅœฐๆ‹†่งฃๅนถๅนถ่กŒๅŒ–ๅคๆ‚็š„ไธšๅŠก้€ป่พ‘๏ผŒๆœ€ๅŽ้€š่ฟ‡ Prompts ่ฟ›่กŒๆ•ๆท็š„ๆ„ๅ›พ่ฐƒๅบฆๆ—ถโ€”โ€”ๆˆ‘ไปฌๅฎž้™…ไธŠๆ˜ฏๅœจๆž„ๅปบไธ€ไธช้ซ˜ๅบฆ่‡ชๆฒปใ€ๅฏๆŒ็ปญ่ฟ่ฝฌ็š„ AI ๅŽŸ็”Ÿๆ“ไฝœ็ณป็ปŸใ€‚

ๅœจ่ฟ™ไธช่Œƒๅผไธ‹๏ผŒๆˆ‘ไปฌ้ขๅฏน็š„ไธๅ†ๆ˜ฏๅ†ทๅ†ฐๅ†ฐ็š„ไปฃ็ ๆˆ–็ขŽ็‰‡ๅŒ–็š„ๅฏน่ฏๆก†ใ€‚้€š่ฟ‡่ง„่Œƒ้ฉฑๅŠจ๏ผˆSpecification-Driven๏ผ‰็š„็ป„ไปถ็ผ–ๆŽ’๏ผŒๆˆ‘ไปฌๆญฃๅœจไปฅๅ‰ๆ‰€ๆœชๆœ‰็š„ๆ•ˆ็އ๏ผŒๅฐ†้›ถๆ•ฃ็š„ AI ่ƒฝๅŠ›็ผ–็ป‡ๆˆ้ซ˜ๅžๅ้‡็š„ๅทฅไฝœๆต๏ผŒ่ฟ™ไธไป…ๆ˜ฏๆœบๅ™จ่ƒฝๅŠ›็š„ๅ€ๅขž๏ผŒๆ›ดๆ˜ฏไบบ็ฑปๅˆ›้€ ๅŠ›็š„่งฃๆ”พใ€‚

ๆŽŒๆกไบ†่ฟ™ๅฅ—็”Ÿๆ€็š„ๅๅŒๆœบๅˆถ๏ผŒๆˆ‘ไปฌไพฟ่ƒฝ็œŸๆญฃไปฅไธ€ไธช AI ่ต‹่ƒฝๆž„ๅปบ่€…๏ผˆAI-Augmented Builder๏ผ‰็š„่ง†่ง’๏ผŒ่ฎฉๅ‰ๆฒฟๆŠ€ๆœฏ็ฒพๅ‡†่ฝๅœฐ๏ผŒๆŒ็ปญไธบไบงๅ“ไธŽไธšๅŠกๅˆ›้€ ไธๅฏๆ›ฟไปฃ็š„ไปทๅ€ผใ€‚

',49)])])}const b=o(n,[["render",a]]);export{h as __pageData,b as default}; diff --git "a/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_02.Agent \347\263\273\345\210\227_03.\346\236\204\345\273\272 Agentic \347\224\237\346\200\201\357\274\232\345\260\206\351\233\266\346\225\243\347\273\204\344\273\266\345\214\226\344\270\272\345\217\257\346\214\201\347\273\255\347\232\204\345\267\245\344\275\234\346\265\201.md.Bgi-7Dm_.lean.js" "b/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_02.Agent \347\263\273\345\210\227_03.\346\236\204\345\273\272 Agentic \347\224\237\346\200\201\357\274\232\345\260\206\351\233\266\346\225\243\347\273\204\344\273\266\345\214\226\344\270\272\345\217\257\346\214\201\347\273\255\347\232\204\345\267\245\344\275\234\346\265\201.md.Dzka5_K9.lean.js" similarity index 96% rename from "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_02.Agent \347\263\273\345\210\227_03.\346\236\204\345\273\272 Agentic \347\224\237\346\200\201\357\274\232\345\260\206\351\233\266\346\225\243\347\273\204\344\273\266\345\214\226\344\270\272\345\217\257\346\214\201\347\273\255\347\232\204\345\267\245\344\275\234\346\265\201.md.Bgi-7Dm_.lean.js" rename to "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_02.Agent \347\263\273\345\210\227_03.\346\236\204\345\273\272 Agentic \347\224\237\346\200\201\357\274\232\345\260\206\351\233\266\346\225\243\347\273\204\344\273\266\345\214\226\344\270\272\345\217\257\346\214\201\347\273\255\347\232\204\345\267\245\344\275\234\346\265\201.md.Dzka5_K9.lean.js" index 147f8b73..e1650ade 100644 --- "a/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_02.Agent \347\263\273\345\210\227_03.\346\236\204\345\273\272 Agentic \347\224\237\346\200\201\357\274\232\345\260\206\351\233\266\346\225\243\347\273\204\344\273\266\345\214\226\344\270\272\345\217\257\346\214\201\347\273\255\347\232\204\345\267\245\344\275\234\346\265\201.md.Bgi-7Dm_.lean.js" +++ "b/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_02.Agent \347\263\273\345\210\227_03.\346\236\204\345\273\272 Agentic \347\224\237\346\200\201\357\274\232\345\260\206\351\233\266\346\225\243\347\273\204\344\273\266\345\214\226\344\270\272\345\217\257\346\214\201\347\273\255\347\232\204\345\267\245\344\275\234\346\265\201.md.Dzka5_K9.lean.js" @@ -1 +1 @@ -import{_ as o,g as r,h as s,U as e}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const h=JSON.parse('{"title":"ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผš้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผš้ขๅฏนๅฑ‚ๅ‡บไธ็ฉท็š„ Promptใ€MCPใ€Skills ๅ’Œ Subagents๏ผŒๅพˆๅคšๅผ€ๅ‘่€…ๅ’Œไบงๅ“็ป็†ๅธธๆ„Ÿๅˆฐๅ›ฐๆƒ‘๏ผš่ฟ™ไบ›็ป„ไปถ็ฉถ็ซŸๆ˜ฏ้‡ๅค้€ ่ฝฎๅญ๏ผŒ่ฟ˜ๆ˜ฏๅ„ๅธๅ…ถ่Œ็š„็งฏๆœจ๏ผŸๆœฌๆ–‡ๅฐ†ๆทฑๅบฆๆ‹†่งฃ Agentic ็”Ÿๆ€็š„ไบ”ๅคงๆ ธๅฟƒๆ”ฏๆŸฑ๏ผŒๆญ็คบๅฆ‚ไฝ•้€š่ฟ‡ไผ˜้›…็š„ๆžถๆž„่ฎพ่ฎกๅฎž็ŽฐๅๅŒ้—ญ็Žฏ๏ผŒๅฐ†้›ถๆ•ฃ็š„ AI ็ป„ไปถๆ‹ผ่ฃ…ๆˆไธ€ๅฅ—ๅฏๆŒ็ปญ่ฟ›ๅŒ–็š„ AI ๅŽŸ็”Ÿๆ“ไฝœ็ณป็ปŸ๏ผŒๆŠŠ็ขŽ็‰‡ๅŒ–็š„ AI ่ƒฝๅŠ›่ฝฌๅŒ–ไธบ้ซ˜ๅฏ็”จ็š„็”ŸไบงๅŠ›ๆตใ€‚","frontmatter":{"date":"2026-02-06T15:48:23.000Z","title":"ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผš้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผš้ขๅฏนๅฑ‚ๅ‡บไธ็ฉท็š„ Promptใ€MCPใ€Skills ๅ’Œ Subagents๏ผŒๅพˆๅคšๅผ€ๅ‘่€…ๅ’Œไบงๅ“็ป็†ๅธธๆ„Ÿๅˆฐๅ›ฐๆƒ‘๏ผš่ฟ™ไบ›็ป„ไปถ็ฉถ็ซŸๆ˜ฏ้‡ๅค้€ ่ฝฎๅญ๏ผŒ่ฟ˜ๆ˜ฏๅ„ๅธๅ…ถ่Œ็š„็งฏๆœจ๏ผŸๆœฌๆ–‡ๅฐ†ๆทฑๅบฆๆ‹†่งฃ Agentic ็”Ÿๆ€็š„ไบ”ๅคงๆ ธๅฟƒๆ”ฏๆŸฑ๏ผŒๆญ็คบๅฆ‚ไฝ•้€š่ฟ‡ไผ˜้›…็š„ๆžถๆž„่ฎพ่ฎกๅฎž็ŽฐๅๅŒ้—ญ็Žฏ๏ผŒๅฐ†้›ถๆ•ฃ็š„ AI ็ป„ไปถๆ‹ผ่ฃ…ๆˆไธ€ๅฅ—ๅฏๆŒ็ปญ่ฟ›ๅŒ–็š„ AI ๅŽŸ็”Ÿๆ“ไฝœ็ณป็ปŸ๏ผŒๆŠŠ็ขŽ็‰‡ๅŒ–็š„ AI ่ƒฝๅŠ›่ฝฌๅŒ–ไธบ้ซ˜ๅฏ็”จ็š„็”ŸไบงๅŠ›ๆตใ€‚","coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/ai-practice/agent_components_zh.png","permalink":"/ai-agent/composition-ai-components","sticky":1,"top":true,"categories":["AI ๅญฆไน ไธŽๅฎž่ทต"],"tags":["Agent","AI"]},"headers":[],"relativePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/03.ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผšๅฐ†้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต.md","filePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/03.ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผšๅฐ†้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต.md"}'),n={name:"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/03.ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผšๅฐ†้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต.md"};function a(d,t,i,l,g,p){return s(),r("div",null,[...t[0]||(t[0]=[e("",49)])])}const b=o(n,[["render",a]]);export{h as __pageData,b as default}; +import{_ as o,g as r,h as s,U as e}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const h=JSON.parse('{"title":"ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผš้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผš้ขๅฏนๅฑ‚ๅ‡บไธ็ฉท็š„ Promptใ€MCPใ€Skills ๅ’Œ Subagents๏ผŒๅพˆๅคšๅผ€ๅ‘่€…ๅ’Œไบงๅ“็ป็†ๅธธๆ„Ÿๅˆฐๅ›ฐๆƒ‘๏ผš่ฟ™ไบ›็ป„ไปถ็ฉถ็ซŸๆ˜ฏ้‡ๅค้€ ่ฝฎๅญ๏ผŒ่ฟ˜ๆ˜ฏๅ„ๅธๅ…ถ่Œ็š„็งฏๆœจ๏ผŸๆœฌๆ–‡ๅฐ†ๆทฑๅบฆๆ‹†่งฃ Agentic ็”Ÿๆ€็š„ไบ”ๅคงๆ ธๅฟƒๆ”ฏๆŸฑ๏ผŒๆญ็คบๅฆ‚ไฝ•้€š่ฟ‡ไผ˜้›…็š„ๆžถๆž„่ฎพ่ฎกๅฎž็ŽฐๅๅŒ้—ญ็Žฏ๏ผŒๅฐ†้›ถๆ•ฃ็š„ AI ็ป„ไปถๆ‹ผ่ฃ…ๆˆไธ€ๅฅ—ๅฏๆŒ็ปญ่ฟ›ๅŒ–็š„ AI ๅŽŸ็”Ÿๆ“ไฝœ็ณป็ปŸ๏ผŒๆŠŠ็ขŽ็‰‡ๅŒ–็š„ AI ่ƒฝๅŠ›่ฝฌๅŒ–ไธบ้ซ˜ๅฏ็”จ็š„็”ŸไบงๅŠ›ๆตใ€‚","frontmatter":{"date":"2026-02-06T15:48:23.000Z","title":"ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผš้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผš้ขๅฏนๅฑ‚ๅ‡บไธ็ฉท็š„ Promptใ€MCPใ€Skills ๅ’Œ Subagents๏ผŒๅพˆๅคšๅผ€ๅ‘่€…ๅ’Œไบงๅ“็ป็†ๅธธๆ„Ÿๅˆฐๅ›ฐๆƒ‘๏ผš่ฟ™ไบ›็ป„ไปถ็ฉถ็ซŸๆ˜ฏ้‡ๅค้€ ่ฝฎๅญ๏ผŒ่ฟ˜ๆ˜ฏๅ„ๅธๅ…ถ่Œ็š„็งฏๆœจ๏ผŸๆœฌๆ–‡ๅฐ†ๆทฑๅบฆๆ‹†่งฃ Agentic ็”Ÿๆ€็š„ไบ”ๅคงๆ ธๅฟƒๆ”ฏๆŸฑ๏ผŒๆญ็คบๅฆ‚ไฝ•้€š่ฟ‡ไผ˜้›…็š„ๆžถๆž„่ฎพ่ฎกๅฎž็ŽฐๅๅŒ้—ญ็Žฏ๏ผŒๅฐ†้›ถๆ•ฃ็š„ AI ็ป„ไปถๆ‹ผ่ฃ…ๆˆไธ€ๅฅ—ๅฏๆŒ็ปญ่ฟ›ๅŒ–็š„ AI ๅŽŸ็”Ÿๆ“ไฝœ็ณป็ปŸ๏ผŒๆŠŠ็ขŽ็‰‡ๅŒ–็š„ AI ่ƒฝๅŠ›่ฝฌๅŒ–ไธบ้ซ˜ๅฏ็”จ็š„็”ŸไบงๅŠ›ๆตใ€‚","coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/ai-practice/agent_components_zh.png","permalink":"/ai-agent/composition-ai-components","sticky":1,"top":true,"categories":["AI ๅญฆไน ไธŽๅฎž่ทต"],"tags":["Agent","AI"]},"headers":[],"relativePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/03.ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผšๅฐ†้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต.md","filePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/03.ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผšๅฐ†้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต.md"}'),n={name:"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/03.ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผšๅฐ†้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต.md"};function a(d,t,i,l,g,p){return s(),r("div",null,[...t[0]||(t[0]=[e("",49)])])}const b=o(n,[["render",a]]);export{h as __pageData,b as default}; diff --git "a/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_02.Agent \347\263\273\345\210\227_10.Agent SKills.md.DFSiQA8t.js" "b/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_02.Agent \347\263\273\345\210\227_10.Agent SKills.md.BYP2Q09s.js" similarity index 99% rename from "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_02.Agent \347\263\273\345\210\227_10.Agent SKills.md.DFSiQA8t.js" rename to "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_02.Agent \347\263\273\345\210\227_10.Agent SKills.md.BYP2Q09s.js" index 3069511d..3ad82905 100644 --- "a/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_02.Agent \347\263\273\345\210\227_10.Agent SKills.md.DFSiQA8t.js" +++ "b/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_02.Agent \347\263\273\345\210\227_10.Agent SKills.md.BYP2Q09s.js" @@ -1,4 +1,4 @@ -import{T as a}from"./chunks/TwoColumnImage.C5EZ0-fZ.js";import{g as i,h as l,U as n,z as e}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const d=JSON.parse('{"title":"ๅฆ‚ไฝ•็ผ–ๅ†™ไธ€ไธช้ซ˜ๅฏ็”จ็š„ Agent Skill๏ผŸไปŽๆœบๅˆถๆ‹†่งฃๅˆฐ็”Ÿไบงๅฎž่ทตๆŒ‡ๅ—","description":"ๅคง่ฏญ่จ€ๆจกๅž‹ๅœจ็‰นๅฎšๅทฅ็จ‹้ข†ๅŸŸๅธธ้ขไธดโ€œ็Ÿฅ่€Œไธ่กŒโ€็š„ๅ›ฐๅขƒใ€‚ๆœฌๆ–‡ๆทฑๅบฆๆ‹†่งฃ Anthropic ๆœ€ๆ–ฐๆŽจๅ‡บ็š„ Agent Skills ่ง„่Œƒ๏ผŒๆญ็ง˜ๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆธ่ฟ›ๅผๆŠซ้œฒไธŽไธ‰็บงๅŠ ่ฝฝๆœบๅˆถ๏ผŒๅœจๆŽงๅˆถ Token ๆˆๆœฌ็š„ๅŒๆ—ถๆ˜พ่‘—ๆๅ‡ Agent ็š„ไปปๅŠกๆ‰ง่กŒ็ฒพๅบฆใ€‚ๆ–‡็ซ ๆถต็›–ไบ†ไปŽๆ–‡ไปถๅคนๆžถๆž„่ฎพ่ฎกๅˆฐๅฎžๆˆ˜ git-workflow ็ผ–ๅ†™็š„ๅ…จๆต็จ‹ๆŒ‡ๅ—๏ผŒๅŠฉไฝ ๅฐ†้›ถๆ•ฃ็š„ Prompt ่ฝฌๅŒ–ไธบๆ ‡ๅ‡†ๅŒ–็š„ๆ•ฐๅญ—่ต„ไบงใ€‚","frontmatter":{"date":"2026-03-05T23:11:25.000Z","title":"ๅฆ‚ไฝ•็ผ–ๅ†™ไธ€ไธช้ซ˜ๅฏ็”จ็š„ Agent Skill๏ผŸไปŽๆœบๅˆถๆ‹†่งฃๅˆฐ็”Ÿไบงๅฎž่ทตๆŒ‡ๅ—","description":"ๅคง่ฏญ่จ€ๆจกๅž‹ๅœจ็‰นๅฎšๅทฅ็จ‹้ข†ๅŸŸๅธธ้ขไธดโ€œ็Ÿฅ่€Œไธ่กŒโ€็š„ๅ›ฐๅขƒใ€‚ๆœฌๆ–‡ๆทฑๅบฆๆ‹†่งฃ Anthropic ๆœ€ๆ–ฐๆŽจๅ‡บ็š„ Agent Skills ่ง„่Œƒ๏ผŒๆญ็ง˜ๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆธ่ฟ›ๅผๆŠซ้œฒไธŽไธ‰็บงๅŠ ่ฝฝๆœบๅˆถ๏ผŒๅœจๆŽงๅˆถ Token ๆˆๆœฌ็š„ๅŒๆ—ถๆ˜พ่‘—ๆๅ‡ Agent ็š„ไปปๅŠกๆ‰ง่กŒ็ฒพๅบฆใ€‚ๆ–‡็ซ ๆถต็›–ไบ†ไปŽๆ–‡ไปถๅคนๆžถๆž„่ฎพ่ฎกๅˆฐๅฎžๆˆ˜ git-workflow ็ผ–ๅ†™็š„ๅ…จๆต็จ‹ๆŒ‡ๅ—๏ผŒๅŠฉไฝ ๅฐ†้›ถๆ•ฃ็š„ Prompt ่ฝฌๅŒ–ไธบๆ ‡ๅ‡†ๅŒ–็š„ๆ•ฐๅญ—่ต„ไบงใ€‚","permalink":"/ai-agent/skills-practice-summary","sticky":1,"top":true,"categories":["AI ๅญฆไน ไธŽๅฎž่ทต","Agent ็ณปๅˆ—"],"tags":["Agent Skills","Agent","AI"]},"headers":[],"relativePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/10.Agent SKills.md","filePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/10.Agent SKills.md"}'),t={name:"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/10.Agent SKills.md"},o=Object.assign(t,{setup(p){return(r,s)=>(l(),i("div",null,[s[0]||(s[0]=n(`

ๅฆ‚ไฝ•็ผ–ๅ†™ไธ€ไธช้ซ˜ๅฏ็”จ็š„ Agent Skill๏ผŸไปŽๆœบๅˆถๆ‹†่งฃๅˆฐ็”Ÿไบงๅฎž่ทตๆŒ‡ๅ— โ€‹

ๆ‘˜่ฆๆ€ป็ป“๏ผšๅคง่ฏญ่จ€ๆจกๅž‹ๅœจ็‰นๅฎšๅทฅ็จ‹้ข†ๅŸŸๅธธ้ขไธดโ€œ็Ÿฅ่€Œไธ่กŒโ€็š„ๅ›ฐๅขƒใ€‚ๆœฌๆ–‡ๆทฑๅบฆๆ‹†่งฃ Anthropic ๆœ€ๆ–ฐๆŽจๅ‡บ็š„ Agent Skills ่ง„่Œƒ๏ผŒๆญ็ง˜ๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆธ่ฟ›ๅผๆŠซ้œฒไธŽไธ‰็บงๅŠ ่ฝฝๆœบๅˆถ๏ผŒๅœจๆŽงๅˆถ Token ๆˆๆœฌ็š„ๅŒๆ—ถๆ˜พ่‘—ๆๅ‡ Agent ็š„ไปปๅŠกๆ‰ง่กŒ็ฒพๅบฆใ€‚ๆ–‡็ซ ๆถต็›–ไบ†ไปŽๆ–‡ไปถๅคนๆžถๆž„่ฎพ่ฎกๅˆฐๅฎžๆˆ˜ git-workflow ็ผ–ๅ†™็š„ๅ…จๆต็จ‹ๆŒ‡ๅ—๏ผŒๅŠฉไฝ ๅฐ†้›ถๆ•ฃ็š„ Prompt ่ฝฌๅŒ–ไธบๆ ‡ๅ‡†ๅŒ–็š„ๆ•ฐๅญ—่ต„ไบงใ€‚

1. ๅผ•่จ€๏ผšAgent Skills ๆ˜ฏไป€ไนˆ๏ผŸ โ€‹

ๅœจๅคง่ฏญ่จ€ๆจกๅž‹๏ผˆLLM๏ผ‰็š„่ฝๅœฐๅฎž่ทตไธญ๏ผŒๅผ€ๅ‘่€…็ปๅธธ้ขไธดไธ€ไธชๅ…ฑๆ€งๆŒ‘ๆˆ˜๏ผšๆจกๅž‹ๅœจ็‰นๅฎš็ป†ๅˆ†้ข†ๅŸŸๅพ€ๅพ€ๅค„ไบŽโ€œ็Ÿฅ่€Œไธ่กŒโ€็š„็Šถๆ€โ€”โ€”่™ฝ็„ถๆ‹ฅๆœ‰ๅšๆ‚็š„็Ÿฅ่ฏ†๏ผŒๅด็ผบไนๆ‰ง่กŒๅคๆ‚ไปปๅŠก็š„ไธ“ไธš่ทฏๅพ„ใ€‚

ไธบไบ†่งฃๅ†ณ่ฟ™ไธ€็—›็‚น๏ผŒAnthropic ๅœจๅ…ถๆ——่ˆฐๆจกๅž‹ Claude 3.7 ็ณปๅˆ—ไธญๆญฃๅผๆŽจๅ‡บไบ† Claude Skillsใ€‚่ฟ™ไธ€ๅŠŸ่ƒฝๅฐ† LLM ็š„่ƒฝๅŠ›ๅฐ่ฃ…ไธบ็›ด่ง‚็š„โ€œ่ƒฝๅŠ›ๆ–‡ไปถๅคนโ€๏ผŒๆžๅคงๆๅ‡ไบ†ๆ™บ่ƒฝไฝ“็š„ๅฎž็”จๆ€ง๏ผŒๅนถ่ฟ…้€Ÿๅœจๅผ€ๅ‘่€…็คพๅŒบๅผ•ๅ‘็ƒญ่ฎฎใ€‚2025 ๅนด 12 ๆœˆ๏ผŒ้š็€ Anthropic ่”ๅˆ็”Ÿๆ€ไผ™ไผดๆญฃๅผๅผ€ๆบ Agent Skills ่ง„่Œƒ๏ผŒAgent Skills ็š„ๆ ‡ๅ‡†ๅŒ–ไนŸๆญฃๅผๅผ€ๅฏ๏ผˆ่€Œ่ฟ™ไธ€่ƒฝๅŠ›ๆœ€็›ดๆŽฅใ€ๆœ€็กฌๆ ธ็š„่ฝๅœฐ่ฝฝไฝ“๏ผŒไพฟๆ˜ฏๅ…ถ้…ๅฅ—็š„ๅ‘ฝไปค่กŒๅทฅๅ…ท Claude Code๏ผ‰ใ€‚

ๆˆ‘ไปฌๅฏไปฅไปŽไธคไธช็ปดๅบฆๆฅ็†่งฃ Agent Skills ๆ˜ฏไป€ไนˆ๏ผš

็ปดๅบฆ่ฏดๆ˜Ž
ๅทฅ็จ‹ๆžถๆž„็ปดๅบฆAgent Skills ๆ˜ฏไธ€็งๆจกๅ—ๅŒ–็š„่ƒฝๅŠ›็ป„ไปถ๏ผŒ็”จไบŽๆ›ดไผ˜้›…ๅœฐๆ‰ฉๅฑ• AI ๆ™บ่ƒฝไฝ“๏ผˆAgent๏ผ‰็š„ๅŠŸ่ƒฝ๏ผŒ่ฎฉ Agent ่ƒฝๅคŸๅœจๆ›ดๅคๆ‚็š„ๅœบๆ™ฏไธ‹ๆ‰ง่กŒๆ›ดไธ“ไธš็š„ไปปๅŠกใ€‚
ๅฎž็Žฐ็ปดๅบฆๅฎƒๆ˜ฏไธ€ไธชๅŒ…ๅซๅฎŒๆ•ดๆŒ‡ไปค่ฏดๆ˜Žใ€้…ๅฅ—่„šๆœฌๅ’Œ่ต„ๆบๆ–‡ไปถ็š„่ƒฝๅŠ›ๆ–‡ไปถๅคน๏ผŒ้›†ๆˆไบ†ๅฎŒๅค‡็š„ๆŒ‡ไปค่ฏดๆ˜Ž๏ผˆPrompts๏ผ‰ใ€้…ๅฅ—่„šๆœฌ๏ผˆScripts๏ผ‰ๅŠ็›ธๅ…ณ่ต„ๆบๆ–‡ไปถ๏ผŒๅ…ถๆ ธๅฟƒ็ฒพ้ซ“ๅœจไบŽ๏ผšๆธ่ฟ›ๅผๆŠซ้œฒใ€ๅŠจๆ€ๅ‘็ŽฐไธŽๆŒ‰้œ€ๆ‰ง่กŒ๏ผŒไปŽ่€Œๅœจๆ‰ฉๅฑ•่ƒฝๅŠ›็š„ๅŒๆ—ถ๏ผŒไธฅๆ ผๆŽงๅˆถไธŠไธ‹ๆ–‡็ช—ๅฃ็š„ Token ๆถˆ่€—ๅ’Œ่ฎค็Ÿฅ่ฟ‡่ฝฝใ€‚

ๅœจ ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผš้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต ไธ€ๆ–‡ไธญ๏ผŒๆˆ‘ไปฌ็กฎ็ซ‹ไบ†ไธ€ไบ› โ€œๅฏๆŒ็ปญๅทฅไฝœๆตโ€ ็š„ๅ…ฑ่ฏ†ใ€‚ๆŽฅไธ‹ๆฅ๏ผŒๆˆ‘ไปฌๅฐ†้€š่ฟ‡็ป†่Š‚่งฃๆžไธŽๅทฅ็จ‹ๅฎž่ทต๏ผŒๆญๅผ€ Agent Skills ็š„้ข็บฑใ€‚

2. ๆ–‡ไปถๅคน็ป“ๆž„ๆ‹†่งฃ๏ผšๆ ‡ๅ‡†ๅŒ–็š„ๆ“ไฝœๆ‰‹ๅ†Œ โ€‹

ไปŽๆœฌ่ดจไธŠๆฅ่ฎฒ๏ผŒAgent Skills ๆ˜ฏๆไพ›็ป™ AI ็š„โ€œๆ“ไฝœๆ‰‹ๅ†Œ + ่ต„ๆบๅŒ…โ€๏ผŒๅ…ถๆ ‡ๅ‡†ๅŒ–็š„็›ฎๅฝ•ๆ ‘ๅฆ‚ไธ‹๏ผš

ไธฅๆ ผ็š„ๅทฅ็จ‹่ง„่Œƒ๏ผš

  • ไธปๆ–‡ไปถๅฟ…้กปๅ‘ฝๅไธบย SKILL.md๏ผˆๅŒบๅˆ†ๅคงๅฐๅ†™๏ผŒไธ่ƒฝๆœ‰ๅ…ถไป–ๅ˜ไฝ“๏ผ‰ใ€‚
  • ๆ–‡ไปถๅคนๅ็งฐๅฟ…้กปไฝฟ็”จ kebab-case๏ผˆๅฆ‚ย my-skill-name๏ผŒไธ่ƒฝๅ†™ๆˆย My Skill Name๏ผ‰ใ€‚
skill-name/ 
+import{T as a}from"./chunks/TwoColumnImage.BAUswlD7.js";import{g as i,h as l,U as n,z as e}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const d=JSON.parse('{"title":"ๅฆ‚ไฝ•็ผ–ๅ†™ไธ€ไธช้ซ˜ๅฏ็”จ็š„ Agent Skill๏ผŸไปŽๆœบๅˆถๆ‹†่งฃๅˆฐ็”Ÿไบงๅฎž่ทตๆŒ‡ๅ—","description":"ๅคง่ฏญ่จ€ๆจกๅž‹ๅœจ็‰นๅฎšๅทฅ็จ‹้ข†ๅŸŸๅธธ้ขไธดโ€œ็Ÿฅ่€Œไธ่กŒโ€็š„ๅ›ฐๅขƒใ€‚ๆœฌๆ–‡ๆทฑๅบฆๆ‹†่งฃ Anthropic ๆœ€ๆ–ฐๆŽจๅ‡บ็š„ Agent Skills ่ง„่Œƒ๏ผŒๆญ็ง˜ๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆธ่ฟ›ๅผๆŠซ้œฒไธŽไธ‰็บงๅŠ ่ฝฝๆœบๅˆถ๏ผŒๅœจๆŽงๅˆถ Token ๆˆๆœฌ็š„ๅŒๆ—ถๆ˜พ่‘—ๆๅ‡ Agent ็š„ไปปๅŠกๆ‰ง่กŒ็ฒพๅบฆใ€‚ๆ–‡็ซ ๆถต็›–ไบ†ไปŽๆ–‡ไปถๅคนๆžถๆž„่ฎพ่ฎกๅˆฐๅฎžๆˆ˜ git-workflow ็ผ–ๅ†™็š„ๅ…จๆต็จ‹ๆŒ‡ๅ—๏ผŒๅŠฉไฝ ๅฐ†้›ถๆ•ฃ็š„ Prompt ่ฝฌๅŒ–ไธบๆ ‡ๅ‡†ๅŒ–็š„ๆ•ฐๅญ—่ต„ไบงใ€‚","frontmatter":{"date":"2026-03-05T23:11:25.000Z","title":"ๅฆ‚ไฝ•็ผ–ๅ†™ไธ€ไธช้ซ˜ๅฏ็”จ็š„ Agent Skill๏ผŸไปŽๆœบๅˆถๆ‹†่งฃๅˆฐ็”Ÿไบงๅฎž่ทตๆŒ‡ๅ—","description":"ๅคง่ฏญ่จ€ๆจกๅž‹ๅœจ็‰นๅฎšๅทฅ็จ‹้ข†ๅŸŸๅธธ้ขไธดโ€œ็Ÿฅ่€Œไธ่กŒโ€็š„ๅ›ฐๅขƒใ€‚ๆœฌๆ–‡ๆทฑๅบฆๆ‹†่งฃ Anthropic ๆœ€ๆ–ฐๆŽจๅ‡บ็š„ Agent Skills ่ง„่Œƒ๏ผŒๆญ็ง˜ๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆธ่ฟ›ๅผๆŠซ้œฒไธŽไธ‰็บงๅŠ ่ฝฝๆœบๅˆถ๏ผŒๅœจๆŽงๅˆถ Token ๆˆๆœฌ็š„ๅŒๆ—ถๆ˜พ่‘—ๆๅ‡ Agent ็š„ไปปๅŠกๆ‰ง่กŒ็ฒพๅบฆใ€‚ๆ–‡็ซ ๆถต็›–ไบ†ไปŽๆ–‡ไปถๅคนๆžถๆž„่ฎพ่ฎกๅˆฐๅฎžๆˆ˜ git-workflow ็ผ–ๅ†™็š„ๅ…จๆต็จ‹ๆŒ‡ๅ—๏ผŒๅŠฉไฝ ๅฐ†้›ถๆ•ฃ็š„ Prompt ่ฝฌๅŒ–ไธบๆ ‡ๅ‡†ๅŒ–็š„ๆ•ฐๅญ—่ต„ไบงใ€‚","permalink":"/ai-agent/skills-practice-summary","sticky":1,"top":true,"categories":["AI ๅญฆไน ไธŽๅฎž่ทต","Agent ็ณปๅˆ—"],"tags":["Agent Skills","Agent","AI"]},"headers":[],"relativePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/10.Agent SKills.md","filePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/10.Agent SKills.md"}'),t={name:"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/10.Agent SKills.md"},o=Object.assign(t,{setup(p){return(r,s)=>(l(),i("div",null,[s[0]||(s[0]=n(`

ๅฆ‚ไฝ•็ผ–ๅ†™ไธ€ไธช้ซ˜ๅฏ็”จ็š„ Agent Skill๏ผŸไปŽๆœบๅˆถๆ‹†่งฃๅˆฐ็”Ÿไบงๅฎž่ทตๆŒ‡ๅ— โ€‹

ๆ‘˜่ฆๆ€ป็ป“๏ผšๅคง่ฏญ่จ€ๆจกๅž‹ๅœจ็‰นๅฎšๅทฅ็จ‹้ข†ๅŸŸๅธธ้ขไธดโ€œ็Ÿฅ่€Œไธ่กŒโ€็š„ๅ›ฐๅขƒใ€‚ๆœฌๆ–‡ๆทฑๅบฆๆ‹†่งฃ Anthropic ๆœ€ๆ–ฐๆŽจๅ‡บ็š„ Agent Skills ่ง„่Œƒ๏ผŒๆญ็ง˜ๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆธ่ฟ›ๅผๆŠซ้œฒไธŽไธ‰็บงๅŠ ่ฝฝๆœบๅˆถ๏ผŒๅœจๆŽงๅˆถ Token ๆˆๆœฌ็š„ๅŒๆ—ถๆ˜พ่‘—ๆๅ‡ Agent ็š„ไปปๅŠกๆ‰ง่กŒ็ฒพๅบฆใ€‚ๆ–‡็ซ ๆถต็›–ไบ†ไปŽๆ–‡ไปถๅคนๆžถๆž„่ฎพ่ฎกๅˆฐๅฎžๆˆ˜ git-workflow ็ผ–ๅ†™็š„ๅ…จๆต็จ‹ๆŒ‡ๅ—๏ผŒๅŠฉไฝ ๅฐ†้›ถๆ•ฃ็š„ Prompt ่ฝฌๅŒ–ไธบๆ ‡ๅ‡†ๅŒ–็š„ๆ•ฐๅญ—่ต„ไบงใ€‚

1. ๅผ•่จ€๏ผšAgent Skills ๆ˜ฏไป€ไนˆ๏ผŸ โ€‹

ๅœจๅคง่ฏญ่จ€ๆจกๅž‹๏ผˆLLM๏ผ‰็š„่ฝๅœฐๅฎž่ทตไธญ๏ผŒๅผ€ๅ‘่€…็ปๅธธ้ขไธดไธ€ไธชๅ…ฑๆ€งๆŒ‘ๆˆ˜๏ผšๆจกๅž‹ๅœจ็‰นๅฎš็ป†ๅˆ†้ข†ๅŸŸๅพ€ๅพ€ๅค„ไบŽโ€œ็Ÿฅ่€Œไธ่กŒโ€็š„็Šถๆ€โ€”โ€”่™ฝ็„ถๆ‹ฅๆœ‰ๅšๆ‚็š„็Ÿฅ่ฏ†๏ผŒๅด็ผบไนๆ‰ง่กŒๅคๆ‚ไปปๅŠก็š„ไธ“ไธš่ทฏๅพ„ใ€‚

ไธบไบ†่งฃๅ†ณ่ฟ™ไธ€็—›็‚น๏ผŒAnthropic ๅœจๅ…ถๆ——่ˆฐๆจกๅž‹ Claude 3.7 ็ณปๅˆ—ไธญๆญฃๅผๆŽจๅ‡บไบ† Claude Skillsใ€‚่ฟ™ไธ€ๅŠŸ่ƒฝๅฐ† LLM ็š„่ƒฝๅŠ›ๅฐ่ฃ…ไธบ็›ด่ง‚็š„โ€œ่ƒฝๅŠ›ๆ–‡ไปถๅคนโ€๏ผŒๆžๅคงๆๅ‡ไบ†ๆ™บ่ƒฝไฝ“็š„ๅฎž็”จๆ€ง๏ผŒๅนถ่ฟ…้€Ÿๅœจๅผ€ๅ‘่€…็คพๅŒบๅผ•ๅ‘็ƒญ่ฎฎใ€‚2025 ๅนด 12 ๆœˆ๏ผŒ้š็€ Anthropic ่”ๅˆ็”Ÿๆ€ไผ™ไผดๆญฃๅผๅผ€ๆบ Agent Skills ่ง„่Œƒ๏ผŒAgent Skills ็š„ๆ ‡ๅ‡†ๅŒ–ไนŸๆญฃๅผๅผ€ๅฏ๏ผˆ่€Œ่ฟ™ไธ€่ƒฝๅŠ›ๆœ€็›ดๆŽฅใ€ๆœ€็กฌๆ ธ็š„่ฝๅœฐ่ฝฝไฝ“๏ผŒไพฟๆ˜ฏๅ…ถ้…ๅฅ—็š„ๅ‘ฝไปค่กŒๅทฅๅ…ท Claude Code๏ผ‰ใ€‚

ๆˆ‘ไปฌๅฏไปฅไปŽไธคไธช็ปดๅบฆๆฅ็†่งฃ Agent Skills ๆ˜ฏไป€ไนˆ๏ผš

็ปดๅบฆ่ฏดๆ˜Ž
ๅทฅ็จ‹ๆžถๆž„็ปดๅบฆAgent Skills ๆ˜ฏไธ€็งๆจกๅ—ๅŒ–็š„่ƒฝๅŠ›็ป„ไปถ๏ผŒ็”จไบŽๆ›ดไผ˜้›…ๅœฐๆ‰ฉๅฑ• AI ๆ™บ่ƒฝไฝ“๏ผˆAgent๏ผ‰็š„ๅŠŸ่ƒฝ๏ผŒ่ฎฉ Agent ่ƒฝๅคŸๅœจๆ›ดๅคๆ‚็š„ๅœบๆ™ฏไธ‹ๆ‰ง่กŒๆ›ดไธ“ไธš็š„ไปปๅŠกใ€‚
ๅฎž็Žฐ็ปดๅบฆๅฎƒๆ˜ฏไธ€ไธชๅŒ…ๅซๅฎŒๆ•ดๆŒ‡ไปค่ฏดๆ˜Žใ€้…ๅฅ—่„šๆœฌๅ’Œ่ต„ๆบๆ–‡ไปถ็š„่ƒฝๅŠ›ๆ–‡ไปถๅคน๏ผŒ้›†ๆˆไบ†ๅฎŒๅค‡็š„ๆŒ‡ไปค่ฏดๆ˜Ž๏ผˆPrompts๏ผ‰ใ€้…ๅฅ—่„šๆœฌ๏ผˆScripts๏ผ‰ๅŠ็›ธๅ…ณ่ต„ๆบๆ–‡ไปถ๏ผŒๅ…ถๆ ธๅฟƒ็ฒพ้ซ“ๅœจไบŽ๏ผšๆธ่ฟ›ๅผๆŠซ้œฒใ€ๅŠจๆ€ๅ‘็ŽฐไธŽๆŒ‰้œ€ๆ‰ง่กŒ๏ผŒไปŽ่€Œๅœจๆ‰ฉๅฑ•่ƒฝๅŠ›็š„ๅŒๆ—ถ๏ผŒไธฅๆ ผๆŽงๅˆถไธŠไธ‹ๆ–‡็ช—ๅฃ็š„ Token ๆถˆ่€—ๅ’Œ่ฎค็Ÿฅ่ฟ‡่ฝฝใ€‚

ๅœจ ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผš้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต ไธ€ๆ–‡ไธญ๏ผŒๆˆ‘ไปฌ็กฎ็ซ‹ไบ†ไธ€ไบ› โ€œๅฏๆŒ็ปญๅทฅไฝœๆตโ€ ็š„ๅ…ฑ่ฏ†ใ€‚ๆŽฅไธ‹ๆฅ๏ผŒๆˆ‘ไปฌๅฐ†้€š่ฟ‡็ป†่Š‚่งฃๆžไธŽๅทฅ็จ‹ๅฎž่ทต๏ผŒๆญๅผ€ Agent Skills ็š„้ข็บฑใ€‚

2. ๆ–‡ไปถๅคน็ป“ๆž„ๆ‹†่งฃ๏ผšๆ ‡ๅ‡†ๅŒ–็š„ๆ“ไฝœๆ‰‹ๅ†Œ โ€‹

ไปŽๆœฌ่ดจไธŠๆฅ่ฎฒ๏ผŒAgent Skills ๆ˜ฏๆไพ›็ป™ AI ็š„โ€œๆ“ไฝœๆ‰‹ๅ†Œ + ่ต„ๆบๅŒ…โ€๏ผŒๅ…ถๆ ‡ๅ‡†ๅŒ–็š„็›ฎๅฝ•ๆ ‘ๅฆ‚ไธ‹๏ผš

ไธฅๆ ผ็š„ๅทฅ็จ‹่ง„่Œƒ๏ผš

  • ไธปๆ–‡ไปถๅฟ…้กปๅ‘ฝๅไธบย SKILL.md๏ผˆๅŒบๅˆ†ๅคงๅฐๅ†™๏ผŒไธ่ƒฝๆœ‰ๅ…ถไป–ๅ˜ไฝ“๏ผ‰ใ€‚
  • ๆ–‡ไปถๅคนๅ็งฐๅฟ…้กปไฝฟ็”จ kebab-case๏ผˆๅฆ‚ย my-skill-name๏ผŒไธ่ƒฝๅ†™ๆˆย My Skill Name๏ผ‰ใ€‚
skill-name/ 
 โ”œโ”€โ”€ SKILL.md โ† ไธปๆ–‡ไปถ๏ผˆๅฟ…้œ€๏ผ‰๏ผšSKILLๆ่ฟฐใ€้€ป่พ‘็ผ–ๆŽ’ใ€ๆ ธๅฟƒๆŒ‡ไปค๏ผŒๆ˜ฏๆŠ€่ƒฝๆ ธๅฟƒๅ†…ๅฎนใ€‚ 
 โ”œโ”€โ”€ scripts/ โ† ่„šๆœฌ๏ผˆๅฏ้€‰๏ผ‰๏ผšPythonใ€Bash ็ญ‰่„šๆœฌ๏ผŒ ๆ˜ฏๅฏๆ‰ง่กŒไปฃ็ ใ€‚ 
 โ”œโ”€โ”€ references/ โ† ๅ‚่€ƒ่ต„ๆบ๏ผˆๅฏ้€‰๏ผ‰๏ผš่ง„ๅˆ™ใ€่ง„่Œƒใ€ๅ‚่€ƒๆŒ‡ๅ—ใ€็คบไพ‹็ญ‰ใ€‚ 
diff --git "a/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_02.Agent \347\263\273\345\210\227_10.Agent SKills.md.DFSiQA8t.lean.js" "b/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_02.Agent \347\263\273\345\210\227_10.Agent SKills.md.BYP2Q09s.lean.js"
similarity index 91%
rename from "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_02.Agent \347\263\273\345\210\227_10.Agent SKills.md.DFSiQA8t.lean.js"
rename to "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_02.Agent \347\263\273\345\210\227_10.Agent SKills.md.BYP2Q09s.lean.js"
index a5583ffe..ae3b4823 100644
--- "a/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_02.Agent \347\263\273\345\210\227_10.Agent SKills.md.DFSiQA8t.lean.js"	
+++ "b/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_02.Agent \347\263\273\345\210\227_10.Agent SKills.md.BYP2Q09s.lean.js"	
@@ -1 +1 @@
-import{T as a}from"./chunks/TwoColumnImage.C5EZ0-fZ.js";import{g as i,h as l,U as n,z as e}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const d=JSON.parse('{"title":"ๅฆ‚ไฝ•็ผ–ๅ†™ไธ€ไธช้ซ˜ๅฏ็”จ็š„ Agent Skill๏ผŸไปŽๆœบๅˆถๆ‹†่งฃๅˆฐ็”Ÿไบงๅฎž่ทตๆŒ‡ๅ—","description":"ๅคง่ฏญ่จ€ๆจกๅž‹ๅœจ็‰นๅฎšๅทฅ็จ‹้ข†ๅŸŸๅธธ้ขไธดโ€œ็Ÿฅ่€Œไธ่กŒโ€็š„ๅ›ฐๅขƒใ€‚ๆœฌๆ–‡ๆทฑๅบฆๆ‹†่งฃ Anthropic ๆœ€ๆ–ฐๆŽจๅ‡บ็š„ Agent Skills ่ง„่Œƒ๏ผŒๆญ็ง˜ๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆธ่ฟ›ๅผๆŠซ้œฒไธŽไธ‰็บงๅŠ ่ฝฝๆœบๅˆถ๏ผŒๅœจๆŽงๅˆถ Token ๆˆๆœฌ็š„ๅŒๆ—ถๆ˜พ่‘—ๆๅ‡ Agent ็š„ไปปๅŠกๆ‰ง่กŒ็ฒพๅบฆใ€‚ๆ–‡็ซ ๆถต็›–ไบ†ไปŽๆ–‡ไปถๅคนๆžถๆž„่ฎพ่ฎกๅˆฐๅฎžๆˆ˜ git-workflow ็ผ–ๅ†™็š„ๅ…จๆต็จ‹ๆŒ‡ๅ—๏ผŒๅŠฉไฝ ๅฐ†้›ถๆ•ฃ็š„ Prompt ่ฝฌๅŒ–ไธบๆ ‡ๅ‡†ๅŒ–็š„ๆ•ฐๅญ—่ต„ไบงใ€‚","frontmatter":{"date":"2026-03-05T23:11:25.000Z","title":"ๅฆ‚ไฝ•็ผ–ๅ†™ไธ€ไธช้ซ˜ๅฏ็”จ็š„ Agent Skill๏ผŸไปŽๆœบๅˆถๆ‹†่งฃๅˆฐ็”Ÿไบงๅฎž่ทตๆŒ‡ๅ—","description":"ๅคง่ฏญ่จ€ๆจกๅž‹ๅœจ็‰นๅฎšๅทฅ็จ‹้ข†ๅŸŸๅธธ้ขไธดโ€œ็Ÿฅ่€Œไธ่กŒโ€็š„ๅ›ฐๅขƒใ€‚ๆœฌๆ–‡ๆทฑๅบฆๆ‹†่งฃ Anthropic ๆœ€ๆ–ฐๆŽจๅ‡บ็š„ Agent Skills ่ง„่Œƒ๏ผŒๆญ็ง˜ๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆธ่ฟ›ๅผๆŠซ้œฒไธŽไธ‰็บงๅŠ ่ฝฝๆœบๅˆถ๏ผŒๅœจๆŽงๅˆถ Token ๆˆๆœฌ็š„ๅŒๆ—ถๆ˜พ่‘—ๆๅ‡ Agent ็š„ไปปๅŠกๆ‰ง่กŒ็ฒพๅบฆใ€‚ๆ–‡็ซ ๆถต็›–ไบ†ไปŽๆ–‡ไปถๅคนๆžถๆž„่ฎพ่ฎกๅˆฐๅฎžๆˆ˜ git-workflow ็ผ–ๅ†™็š„ๅ…จๆต็จ‹ๆŒ‡ๅ—๏ผŒๅŠฉไฝ ๅฐ†้›ถๆ•ฃ็š„ Prompt ่ฝฌๅŒ–ไธบๆ ‡ๅ‡†ๅŒ–็š„ๆ•ฐๅญ—่ต„ไบงใ€‚","permalink":"/ai-agent/skills-practice-summary","sticky":1,"top":true,"categories":["AI ๅญฆไน ไธŽๅฎž่ทต","Agent ็ณปๅˆ—"],"tags":["Agent Skills","Agent","AI"]},"headers":[],"relativePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/10.Agent SKills.md","filePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/10.Agent SKills.md"}'),t={name:"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/10.Agent SKills.md"},o=Object.assign(t,{setup(p){return(r,s)=>(l(),i("div",null,[s[0]||(s[0]=n("",16)),e(a,{"left-image":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/ai-practice/agent_skill_md.png","right-image":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/ai-practice/agent_use_skill_md.png",leftCaption:"ๅ›พ 1๏ผšๆฅ่‡ช Anthropic ๅฎ˜ๆ–นๆ–‡ๆกฃ",rightCaption:"ๅ›พ 2๏ผšๆ ธๅฟƒๅทฅไฝœๆœบๅˆถ็คบๆ„"}),s[1]||(s[1]=n("",46))]))}});export{d as __pageData,o as default};
+import{T as a}from"./chunks/TwoColumnImage.BAUswlD7.js";import{g as i,h as l,U as n,z as e}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const d=JSON.parse('{"title":"ๅฆ‚ไฝ•็ผ–ๅ†™ไธ€ไธช้ซ˜ๅฏ็”จ็š„ Agent Skill๏ผŸไปŽๆœบๅˆถๆ‹†่งฃๅˆฐ็”Ÿไบงๅฎž่ทตๆŒ‡ๅ—","description":"ๅคง่ฏญ่จ€ๆจกๅž‹ๅœจ็‰นๅฎšๅทฅ็จ‹้ข†ๅŸŸๅธธ้ขไธดโ€œ็Ÿฅ่€Œไธ่กŒโ€็š„ๅ›ฐๅขƒใ€‚ๆœฌๆ–‡ๆทฑๅบฆๆ‹†่งฃ Anthropic ๆœ€ๆ–ฐๆŽจๅ‡บ็š„ Agent Skills ่ง„่Œƒ๏ผŒๆญ็ง˜ๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆธ่ฟ›ๅผๆŠซ้œฒไธŽไธ‰็บงๅŠ ่ฝฝๆœบๅˆถ๏ผŒๅœจๆŽงๅˆถ Token ๆˆๆœฌ็š„ๅŒๆ—ถๆ˜พ่‘—ๆๅ‡ Agent ็š„ไปปๅŠกๆ‰ง่กŒ็ฒพๅบฆใ€‚ๆ–‡็ซ ๆถต็›–ไบ†ไปŽๆ–‡ไปถๅคนๆžถๆž„่ฎพ่ฎกๅˆฐๅฎžๆˆ˜ git-workflow ็ผ–ๅ†™็š„ๅ…จๆต็จ‹ๆŒ‡ๅ—๏ผŒๅŠฉไฝ ๅฐ†้›ถๆ•ฃ็š„ Prompt ่ฝฌๅŒ–ไธบๆ ‡ๅ‡†ๅŒ–็š„ๆ•ฐๅญ—่ต„ไบงใ€‚","frontmatter":{"date":"2026-03-05T23:11:25.000Z","title":"ๅฆ‚ไฝ•็ผ–ๅ†™ไธ€ไธช้ซ˜ๅฏ็”จ็š„ Agent Skill๏ผŸไปŽๆœบๅˆถๆ‹†่งฃๅˆฐ็”Ÿไบงๅฎž่ทตๆŒ‡ๅ—","description":"ๅคง่ฏญ่จ€ๆจกๅž‹ๅœจ็‰นๅฎšๅทฅ็จ‹้ข†ๅŸŸๅธธ้ขไธดโ€œ็Ÿฅ่€Œไธ่กŒโ€็š„ๅ›ฐๅขƒใ€‚ๆœฌๆ–‡ๆทฑๅบฆๆ‹†่งฃ Anthropic ๆœ€ๆ–ฐๆŽจๅ‡บ็š„ Agent Skills ่ง„่Œƒ๏ผŒๆญ็ง˜ๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆธ่ฟ›ๅผๆŠซ้œฒไธŽไธ‰็บงๅŠ ่ฝฝๆœบๅˆถ๏ผŒๅœจๆŽงๅˆถ Token ๆˆๆœฌ็š„ๅŒๆ—ถๆ˜พ่‘—ๆๅ‡ Agent ็š„ไปปๅŠกๆ‰ง่กŒ็ฒพๅบฆใ€‚ๆ–‡็ซ ๆถต็›–ไบ†ไปŽๆ–‡ไปถๅคนๆžถๆž„่ฎพ่ฎกๅˆฐๅฎžๆˆ˜ git-workflow ็ผ–ๅ†™็š„ๅ…จๆต็จ‹ๆŒ‡ๅ—๏ผŒๅŠฉไฝ ๅฐ†้›ถๆ•ฃ็š„ Prompt ่ฝฌๅŒ–ไธบๆ ‡ๅ‡†ๅŒ–็š„ๆ•ฐๅญ—่ต„ไบงใ€‚","permalink":"/ai-agent/skills-practice-summary","sticky":1,"top":true,"categories":["AI ๅญฆไน ไธŽๅฎž่ทต","Agent ็ณปๅˆ—"],"tags":["Agent Skills","Agent","AI"]},"headers":[],"relativePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/10.Agent SKills.md","filePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/10.Agent SKills.md"}'),t={name:"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/10.Agent SKills.md"},o=Object.assign(t,{setup(p){return(r,s)=>(l(),i("div",null,[s[0]||(s[0]=n("",16)),e(a,{"left-image":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/ai-practice/agent_skill_md.png","right-image":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/ai-practice/agent_use_skill_md.png",leftCaption:"ๅ›พ 1๏ผšๆฅ่‡ช Anthropic ๅฎ˜ๆ–นๆ–‡ๆกฃ",rightCaption:"ๅ›พ 2๏ผšๆ ธๅฟƒๅทฅไฝœๆœบๅˆถ็คบๆ„"}),s[1]||(s[1]=n("",46))]))}});export{d as __pageData,o as default};
diff --git "a/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_04.\347\244\276\345\214\272\346\264\273\345\212\250\344\270\216\345\256\236\350\267\265\345\260\217\351\241\271\347\233\256_10.\345\237\272\344\272\216 Claude Agent SDK \346\220\255\345\273\272 Deep Research Agent.md.DOONNKFw.js" "b/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_04.\347\244\276\345\214\272\346\264\273\345\212\250\344\270\216\345\256\236\350\267\265\345\260\217\351\241\271\347\233\256_10.\345\237\272\344\272\216 Claude Agent SDK \346\220\255\345\273\272 Deep Research Agent.md.DtQSvR-M.js"
similarity index 99%
rename from "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_04.\347\244\276\345\214\272\346\264\273\345\212\250\344\270\216\345\256\236\350\267\265\345\260\217\351\241\271\347\233\256_10.\345\237\272\344\272\216 Claude Agent SDK \346\220\255\345\273\272 Deep Research Agent.md.DOONNKFw.js"
rename to "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_04.\347\244\276\345\214\272\346\264\273\345\212\250\344\270\216\345\256\236\350\267\265\345\260\217\351\241\271\347\233\256_10.\345\237\272\344\272\216 Claude Agent SDK \346\220\255\345\273\272 Deep Research Agent.md.DtQSvR-M.js"
index 29806d17..bfbc1fc9 100644
--- "a/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_04.\347\244\276\345\214\272\346\264\273\345\212\250\344\270\216\345\256\236\350\267\265\345\260\217\351\241\271\347\233\256_10.\345\237\272\344\272\216 Claude Agent SDK \346\220\255\345\273\272 Deep Research Agent.md.DOONNKFw.js"	
+++ "b/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_04.\347\244\276\345\214\272\346\264\273\345\212\250\344\270\216\345\256\236\350\267\265\345\260\217\351\241\271\347\233\256_10.\345\237\272\344\272\216 Claude Agent SDK \346\220\255\345\273\272 Deep Research Agent.md.DtQSvR-M.js"	
@@ -1,4 +1,4 @@
-import{T as e}from"./chunks/TwoColumnImage.C5EZ0-fZ.js";import{g as t,h as r,U as s,z as n}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const c=JSON.parse('{"title":"ๅฃฐๆ˜Žๅผๅคšๆ™บ่ƒฝไฝ“ๅๅŒ๏ผšๅŸบไบŽ Claude Agent SDK ๆž„ๅปบๆทฑๅบฆ็ ”็ฉถ็ณป็ปŸ","description":"ๅฏนๅคๆ‚็ ”็ฉถไปปๅŠกๆ—ถ๏ผŒๅ•ๆ™บ่ƒฝไฝ“๏ผˆSingle-Agent๏ผ‰ๅธธๅ› ไธŠไธ‹ๆ–‡็จ€้‡Šๅ’Œ้€ป่พ‘็–ฒๅŠณๅฏผ่‡ดไบงๅ‡บ่ดจ้‡ไธ‹้™ใ€‚ๆœฌๆ–‡ๅŸบไบŽ Claude Agent SDK ๆŽข่ฎจไบ†ๅคšๆ™บ่ƒฝไฝ“็ณป็ปŸ๏ผˆMAS๏ผ‰็š„ๅทฅ็จ‹ๅŒ–่ฝๅœฐใ€‚้€š่ฟ‡โ€œLead + Subagentโ€็š„ๅฃฐๆ˜Žๅผๆžถๆž„๏ผŒๆˆ‘ไปฌๅฐ†ๆทฑๅบฆ็ ”็ฉถๆ‹†่งฃไธบๆœ็ดขใ€้‡ๅŒ–ๅˆ†ๆžใ€ๅฏ่ง†ๅŒ–็ป˜ๅ›พไธŽ็ป“ๆž„ๅŒ–ๅ†™ไฝœๅ››ไธช็‹ฌ็ซ‹็Žฏ่Š‚ใ€‚","frontmatter":{"date":"2026-04-02T00:38:37.000Z","title":"ๅฃฐๆ˜Žๅผๅคšๆ™บ่ƒฝไฝ“ๅๅŒ๏ผšๅŸบไบŽ Claude Agent SDK ๆž„ๅปบๆทฑๅบฆ็ ”็ฉถ็ณป็ปŸ","description":"ๅฏนๅคๆ‚็ ”็ฉถไปปๅŠกๆ—ถ๏ผŒๅ•ๆ™บ่ƒฝไฝ“๏ผˆSingle-Agent๏ผ‰ๅธธๅ› ไธŠไธ‹ๆ–‡็จ€้‡Šๅ’Œ้€ป่พ‘็–ฒๅŠณๅฏผ่‡ดไบงๅ‡บ่ดจ้‡ไธ‹้™ใ€‚ๆœฌๆ–‡ๅŸบไบŽ Claude Agent SDK ๆŽข่ฎจไบ†ๅคšๆ™บ่ƒฝไฝ“็ณป็ปŸ๏ผˆMAS๏ผ‰็š„ๅทฅ็จ‹ๅŒ–่ฝๅœฐใ€‚้€š่ฟ‡โ€œLead + Subagentโ€็š„ๅฃฐๆ˜Žๅผๆžถๆž„๏ผŒๆˆ‘ไปฌๅฐ†ๆทฑๅบฆ็ ”็ฉถๆ‹†่งฃไธบๆœ็ดขใ€้‡ๅŒ–ๅˆ†ๆžใ€ๅฏ่ง†ๅŒ–็ป˜ๅ›พไธŽ็ป“ๆž„ๅŒ–ๅ†™ไฝœๅ››ไธช็‹ฌ็ซ‹็Žฏ่Š‚ใ€‚","permalink":"/ai-agent/deepresearch-agent","sticky":1,"top":true,"categories":["AI ๅญฆไน ไธŽๅฎž่ทต"],"tags":["Agent SDK","Multi-Agent"]},"headers":[],"relativePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/10.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Deep Research Agent.md","filePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/10.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Deep Research Agent.md"}'),p={name:"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/10.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Deep Research Agent.md"},h=Object.assign(p,{setup(l){return(d,a)=>(r(),t("div",null,[a[0]||(a[0]=s(`

ๅฃฐๆ˜Žๅผๅคšๆ™บ่ƒฝไฝ“ๅๅŒ๏ผšๅŸบไบŽ Claude Agent SDK ๆž„ๅปบๆทฑๅบฆ็ ”็ฉถ็ณป็ปŸ โ€‹

ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฏนๅคๆ‚็ ”็ฉถไปปๅŠกๆ—ถ๏ผŒๅ•ๆ™บ่ƒฝไฝ“๏ผˆSingle-Agent๏ผ‰ๅธธๅ› ไธŠไธ‹ๆ–‡็จ€้‡Šๅ’Œ้€ป่พ‘็–ฒๅŠณๅฏผ่‡ดไบงๅ‡บ่ดจ้‡ไธ‹้™ใ€‚ๆœฌๆ–‡ๅŸบไบŽ Claude Agent SDK ๆŽข่ฎจไบ†ๅคšๆ™บ่ƒฝไฝ“็ณป็ปŸ๏ผˆMAS๏ผ‰็š„ๅทฅ็จ‹ๅŒ–่ฝๅœฐใ€‚้€š่ฟ‡ โ€œLead + Subagentโ€ ็š„ๅฃฐๆ˜Žๅผๆžถๆž„๏ผŒๆˆ‘ไปฌๅฐ†ๆทฑๅบฆ็ ”็ฉถๆ‹†่งฃไธบๆœ็ดขใ€้‡ๅŒ–ๅˆ†ๆžใ€ๅฏ่ง†ๅŒ–็ป˜ๅ›พไธŽ็ป“ๆž„ๅŒ–ๅ†™ไฝœๅ››ไธช็‹ฌ็ซ‹็Žฏ่Š‚ใ€‚ ๅฎž่ทต่ฏๆ˜Ž๏ผŒ้€š่ฟ‡ไธฅๆ ผ็š„่Œ่ดฃ้š”็ฆป๏ผˆๅฆ‚ Lead Agent ไป…่ดŸ่ดฃ่ฐƒๅบฆ๏ผ‰ไธŽๅทฅ็จ‹่พน็•Œ็บฆๆŸ๏ผˆๅฆ‚ Researcher ๅผบๅˆถๆๅ–้‡ๅŒ–ๆŒ‡ๆ ‡๏ผ‰๏ผŒMAS ่ƒฝๅคŸ็”Ÿๆˆๅ…ทๅค‡ไธ“ไธšๆ•ฐๆฎๅ›พ่กจๆ”ฏๆ’‘็š„ๆทฑๅบฆๆŠฅๅ‘Šใ€‚ๆœฌๆ–‡ๅฐ†ไปŽๆžถๆž„่ฎพ่ฎกใ€ๅทฅไฝœๆต็ผ–ๆŽ’ๅˆฐ PDF ่‡ชๅŠจ็”Ÿๆˆ๏ผŒๅฎŒๆ•ด่ฟ˜ๅŽŸ่ฟ™ไธ€โ€œAI ้ฉฑๅŠจ่ฐƒ็ ”ๆตๆฐด็บฟโ€็š„ๆž„ๅปบ่ฟ‡็จ‹๏ผŒๅนถๅฑ•็คบๅ…ถๅœจๆ•™่‚ฒ็ ”็ฉถๆกˆไพ‹ไธญ็š„ๅฎžๆˆ˜ๆ•ˆๆžœใ€‚

1. ๅผ•่จ€ โ€‹

ๅœจ AI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐไธ€ๆ–‡ไธญ๏ผŒๆˆ‘ไปฌๆŽข่ฎจไบ†ๅคšๆ™บ่ƒฝไฝ“็ณป็ปŸ๏ผˆMulti-Agent Systems, MAS๏ผ‰็š„็†่ฎบไผ˜ๅŠฟใ€‚ไปŽ็†่ฎบๅฑ‚้ข็œ‹๏ผŒ่ฟ™็ฑป็ณป็ปŸ้€š่ฟ‡ไปปๅŠกๅˆ†่งฃใ€่Œ่ดฃ้š”็ฆปไธŽๅนถ่กŒๅไฝœๆœบๅˆถ๏ผŒๆœ‰ๆ•ˆ็ช็ ดไบ†ๅ•ๆ™บ่ƒฝไฝ“ๅœจๅคๆ‚ไปปๅŠกไธญ็š„่ƒฝๅŠ›็“ถ้ขˆโ€”โ€”ไธไป…ๆ˜พ่‘—ๆๅ‡ไบ†ไปปๅŠกๅค„็†็š„ๅคฉ่Šฑๆฟ๏ผŒๆ›ด้€š่ฟ‡ๆจกๅ—ๅŒ–็š„่ฎพ่ฎกๅขžๅผบไบ†็ณป็ปŸ็š„ๅฏ่งฃ้‡Šๆ€งไธŽๅฏๆŽงๆ€งใ€‚

ไฝ†ๅœจๅฎž้™…ๅทฅ็จ‹่ฝๅœฐไธญ๏ผŒๅผ€ๅ‘่€…ๅพ€ๅพ€ไผš้ขไธดไธ€ไธชๅฐดๅฐฌ็š„็Žฐๅฎž๏ผš็ฎ€ๅ•็š„ไปปๅŠกๅ•ๆ™บ่ƒฝไฝ“ๅฐฑ่ƒฝๆžๅฎš๏ผŒๅคๆ‚็š„ไปปๅŠก็ป™ๅ•ๆ™บ่ƒฝไฝ“ๅŠ ๅ†ๅคš Prompt ไนŸไผš้™ทๅ…ฅโ€œ้€ป่พ‘็–ฒๅŠณโ€ๆˆ–โ€œไธŠไธ‹ๆ–‡่ฟทๅคฑโ€ใ€‚ๆทฑๅบฆ็ ”็ฉถ๏ผˆDeep Research๏ผ‰ๆญฃๆ˜ฏ่ฟ™็ฑปๅคๆ‚ไปปๅŠก็š„ๅ…ธๅž‹ไปฃ่กจใ€‚ๅฎƒ่ฆๆฑ‚็ณป็ปŸๅœจ้•ฟไธŠไธ‹ๆ–‡็Žฏๅขƒไธ‹๏ผŒๅŒๆ—ถๅ…ทๅค‡้ซ˜ๆ•ˆ็š„ไฟกๆฏๆฃ€็ดขใ€ไธฅ่ฐจ็š„ๆ•ฐๆฎๆŽจ็†ๅ’Œไธ“ไธš็š„ๆ–‡ๆกฃ่พ“ๅ‡บ่ƒฝๅŠ›ใ€‚

ๆœฌๆ–‡ๅฐ†ๅˆ†ไบซๆˆ‘ๅŸบไบŽ Claude Agent SDK๏ผˆTypeScript ็‰ˆ๏ผ‰ๆž„ๅปบ Deep Research Agent ็š„ๅฎž่ทต่ฟ‡็จ‹ใ€‚ๆˆ‘ไปฌๅฐ†ๆŽข่ฎจๅฆ‚ไฝ•้€š่ฟ‡ๅฃฐๆ˜Žๅผๆžถๆž„ๅฎž็Žฐๅคš Agent ็š„่Œ่ดฃ้š”็ฆป๏ผŒๅนถๅฑ•็คบ่ฟ™็งๆจกๅผๅฆ‚ไฝ•้€š่ฟ‡ๆจกๅ—ๅŒ–่ฎพ่ฎกๆ˜พ่‘—ๆๅ‡็ ”็ฉถๆŠฅๅ‘Š็š„ไธ“ไธšๅบฆใ€‚

่ฏดๆ˜Ž๏ผš

  • ๆœฌ้กน็›ฎๅŸบไบŽ Anthropic ๅฎ˜ๆ–น็คบไพ‹่ฟ›่กŒไบ† TypeScript ้‡ๆž„ไธŽๆต็จ‹ไผ˜ๅŒ–ใ€‚ๅฎŒๆ•ดไปฃ็ ๅทฒๅผ€ๆบ่‡ณ GitHub๏ผŒๆ‰˜็ฎกๅœจๆˆ‘ไธŽๅ‡ ไฝๅฅฝๅ‹ๅ…ฑๅŒๅˆ›ๅปบ็š„ full-stack-workspace ็ป„็ป‡ไธ‹็š„ agent-playground ไป“ๅบ“ไธญ๏ผŒๅ…ทไฝ“่ทฏๅพ„ไธบ๏ผš@agent-playground/deepresearch-agentใ€‚
  • ๅฆ‚ๆžœไฝ ๅธŒๆœ›ไบ†่งฃ Python ็‰ˆๆœฌ็š„ๅฎž็Žฐ๏ผŒๅปบ่ฎฎ็›ดๆŽฅๆŸฅ้˜…ๅฎ˜ๆ–น็คบไพ‹ไป“ๅบ“๏ผšclaude-agent-sdk-demos

2. ไธบไป€ไนˆๆทฑๅบฆ็ ”็ฉถ้œ€่ฆ Multi-Agent ๆžถๆž„ๆจกๅผ๏ผŸ โ€‹

ๅ›ž้กพๆˆ‘ไปฌ่‡ชๅทฑๅœจๆŸไธช้ข†ๅŸŸๆˆ–ไธ“้ข˜่ฟ›่กŒๆทฑๅบฆ็ ”็ฉถ็š„็ปๅކ๏ผŒไธ้šพๅ‘็Žฐ๏ผšๆทฑๅบฆ็ ”็ฉถๅนถ้žๅ•ไธ€็š„ๅ†™ไฝœไปปๅŠก๏ผŒ่€Œๆ˜ฏไธ€ไธชๅคšๅทฅ็งๆตๆฐด็บฟใ€‚่ฟ™ๅ…ถๅฎžๆ˜ฏไธ€ไธชๅ…ธๅž‹็š„ๅคš้˜ถๆฎตไปปๅŠก๏ผŒๆฏไธช้˜ถๆฎต้ƒฝ้œ€่ฆไธๅŒ็š„ไธ“ไธš่ƒฝๅŠ›๏ผš

้˜ถๆฎตๆ่ฟฐ
ๆœ็ดข้˜ถๆฎตไธ“ๆณจไบŽไฟกๆฏๆฃ€็ดขไธŽๆ”ถ้›†๏ผŒๅธฎๅŠฉๅปบ็ซ‹ๅฏน่ฏฅ้ข†ๅŸŸ็š„ๅˆๆญฅ่ฎค็Ÿฅ
ๅˆ†ๆž้˜ถๆฎตๅฏนๆ”ถ้›†ๅˆฐ็š„ไฟกๆฏ่ฟ›่กŒๆทฑๅบฆๅˆ†ๆžไธŽๅฝ’็บณ๏ผŒๆๅ–ๅ…ณ้”ฎๆดžๅฏŸ๏ผŒๅนถๆฎๆญค็กฎๅฎš็ ”็ฉถๆ–นๅ‘ไธŽ้‡็‚น
ๅ†™ไฝœ้˜ถๆฎตๅฐ†ๅˆ†ๆžๆˆๆžœ่ฝฌๅŒ–ไธบ็ป“ๆž„ๅŒ–็š„ๆ–‡ๅญ—ๅ†…ๅฎน๏ผŒๅฆ‚็ ”็ฉถ่ฎบๆ–‡ใ€ๆŠ€ๆœฏๆŠฅๅ‘Š็ญ‰
ๅฏ่ง†ๅŒ–้˜ถๆฎต้€š่ฟ‡ๆ•ฐๆฎๅ›พ่กจใ€ไฟกๆฏๅ›พ็ญ‰ๅฝขๅผ็›ด่ง‚ๅ‘ˆ็Žฐๅˆ†ๆž็ป“ๆžœ๏ผŒๆๅ‡ไฟกๆฏไผ ่พพๆ•ˆ็އ

่ฟ™็ง้˜ถๆฎตๅŒ–็š„ไธ“ไธšๅˆ†ๅทฅ๏ผŒไธŽไบบ็ฑป็ ”็ฉถๅ›ข้˜Ÿไธญ็š„ๅไฝœๆจกๅผ้ซ˜ๅบฆๅฅ‘ๅˆใ€‚ๆญคๅค–๏ผŒๆทฑๅบฆ็ ”็ฉถไปปๅŠกๅพ€ๅพ€ๆถ‰ๅŠๅพˆๅคšไฟกๆฏๆ•ดๅˆ๏ผŒๅ…ทๆœ‰่พƒ้ซ˜็š„ๅคๆ‚ๅบฆใ€‚่‹ฅ้‡‡็”จๅ•ๆ™บ่ƒฝไฝ“ๆžถๆž„๏ผŒ้€šๅธธไผš้ขไธด Context Window ้™ๅˆถใ€ๆ—ฉๆœŸไฟกๆฏ่ขซ็จ€้‡Šใ€ๆŽจ็†่ดจ้‡้šไปปๅŠกๆŽจ่ฟ›่€Œไธ‹้™็ญ‰ๆŒ‘ๆˆ˜ใ€‚

Multi-Agent ๆจกๅผๅˆ™้€š่ฟ‡ไปปๅŠกๅˆ†่งฃใ€่Œ่ดฃ้š”็ฆปไธŽๅนถ่กŒๅไฝœๆœบๅˆถ๏ผŒๆœ‰ๆ•ˆ็ช็ ดไบ†ๅ•ๆ™บ่ƒฝไฝ“ๅœจๅคๆ‚ไปปๅŠกไธญ็š„่ƒฝๅŠ›็“ถ้ขˆโ€”โ€”ไธไป…่ƒฝๆ˜พ่‘—ๆๅ‡ไปปๅŠกๅค„็†็š„ไธŠ้™๏ผŒๆ›ด้€š่ฟ‡ๆจกๅ—ๅŒ–่ฎพ่ฎกๅขžๅผบไบ†็ณป็ปŸ็š„ๅฏ่งฃ้‡Šๆ€งไธŽๅฏๆŽงๆ€งใ€‚

3. ็ณป็ปŸๆžถๆž„ โ€‹

3.1 ๆ ธๅฟƒ่ฎพ่ฎกไธŽ่Œ่ดฃๅˆ†้… โ€‹

DeepResearch Agent ้€š่ฟ‡ๆœ็ดขใ€ๆ”ถ้›†ใ€ๅˆ†ๆžๅ„็งๆฅๆบ็š„ไฟกๆฏ๏ผŒๅฐ†่ฟ™ไบ›ไฟกๆฏๆ•ดๅˆไธบๅธฆๆœ‰ๅฏ่ง†ๅŒ–ๅ›พ่กจ็š„ๆทฑๅบฆ็ ”็ฉถๆŠฅๅ‘Š๏ผŒไปฅๆ”ฏๆŒๅคๆ‚็š„็ ”็ฉถๅ’Œๅ†ณ็ญ–ไปปๅŠกใ€‚ๅ…ถๆžถๆž„้‡‡็”จ Lead Agent + Subagent็š„่ฎพ่ฎกๆ€่ทฏ๏ผš

  • Lead Agent ็š„ๆ ธๅฟƒ่ง„ๅˆ™ๆ˜ฏโ€œๅชๅš็ฎก็†๏ผŒไธๅšๆ‰ง่กŒโ€ใ€‚ๅฎƒ็š„ allowedTools ่ขซไธฅๆ ผ้™ๅˆถไธบ Task ๅทฅๅ…ทใ€‚่ฟ™็ง่ฎพ่ฎก่ƒฝๆœ‰ๆ•ˆ้˜ฒๆญข Lead Agent ๅ› ไธบ่ฟ‡ๅบฆๅค„็†็ป†่Š‚่€Œๅฏผ่‡ด็š„้€ป่พ‘ๅ‘ๆ•ฃใ€‚
  • Researcher ้กปๆ‰พๅˆฐ 10-15+ ไธชๅ…ทไฝ“ๆ•ฐๆฎ็‚น๏ผˆ็™พๅˆ†ๆฏ”ใ€ๅธ‚ๅœบ่ง„ๆจกใ€ๅขž้•ฟ็އ็ญ‰๏ผ‰ไพ› Data Analyst ๅฏ่ง†ๅŒ–
  • Report Writer ไฝฟ็”จ Python + reportlab ้€š่ฟ‡ Bash ๅทฅๅ…ท็”Ÿๆˆ PDF ๆŠฅๅ‘Š๏ผŒ็กฎไฟๆŠฅๅ‘Šๆ ผๅผไธ“ไธšใ€ๅ†…ๅฎน
ๆ™บ่ƒฝไฝ“่Œ่ดฃๅทฅๅ…ท
Lead Agentๅ่ฐƒ็ ”็ฉถ๏ผŒๅนถๅฐ†ไปปๅŠกๅง”ๆดพ็ป™ๅญๆ™บ่ƒฝไฝ“ใ€‚ไปปๅŠกๅˆ†่งฃใ€ๅ่ฐƒ่ฐƒๅบฆ๏ผˆไป…ไฝฟ็”จ Task ๅทฅๅ…ทๅง”ๆ‰˜ไปปๅŠก๏ผ‰Task
Researcherๅนถ่กŒ็ฝ‘็ปœๆœ็ดข๏ผŒๆ”ถ้›†้‡ๅŒ–ๆ•ฐๆฎ๏ผˆๆฏไธช็ ”็ฉถๅ‘˜ไธ“ๆณจไธ€ไธชๅญไธป้ข˜๏ผ‰WebSearch, Write
Data Analyst่ฏปๅ–็ ”็ฉถ็ฌ”่ฎฐ๏ผŒๆๅ–ๆŒ‡ๆ ‡๏ผŒ็”Ÿๆˆ Python/matplotlib ๅ›พ่กจGlob, Read, Grep, Bash, Write, Edit
Report Writer่ฏปๅ–็ ”็ฉถ็ฌ”่ฎฐๅ’Œๅ›พ่กจ๏ผŒ็”Ÿๆˆ reportlab PDF ๆŠฅๅ‘ŠSkill, Write, Glob, Read, Bash

Claude Agent SDK ่ตทๆบไบŽ Anthropic ็š„ Claude Code ้กน็›ฎ๏ผŒ้‡‡็”จไบ†ไธŽ Claude Code ็›ธๅŒ็š„ๅฃฐๆ˜Žๅผ่ฎพ่ฎก๏ผŒๆ”ฏๆŒ่‡ชๅฎšไน‰ๆŠ€่ƒฝๅ’Œๅ‘ฝไปค๏ผŒ้’ˆๅฏน DeepResearch Agent ็š„ๅ…ทไฝ“ไปปๅŠก๏ผŒๆˆ‘ไปฌๅฏไปฅๅˆฉ็”จๅ…ถๅฃฐๆ˜Žๅผๅ’Œๆจกๅ—ๅŒ–่ฎพ่ฎก๏ผŒๆทปๅŠ ไธ€ไบ›็›ธๅ…ณ็š„่‡ชๅฎšไน‰ Agent Skills ๅ’Œ Commands ๅ‘ฝไปค๏ผš

deepresearch-agent/
+import{T as e}from"./chunks/TwoColumnImage.BAUswlD7.js";import{g as t,h as r,U as s,z as n}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const c=JSON.parse('{"title":"ๅฃฐๆ˜Žๅผๅคšๆ™บ่ƒฝไฝ“ๅๅŒ๏ผšๅŸบไบŽ Claude Agent SDK ๆž„ๅปบๆทฑๅบฆ็ ”็ฉถ็ณป็ปŸ","description":"ๅฏนๅคๆ‚็ ”็ฉถไปปๅŠกๆ—ถ๏ผŒๅ•ๆ™บ่ƒฝไฝ“๏ผˆSingle-Agent๏ผ‰ๅธธๅ› ไธŠไธ‹ๆ–‡็จ€้‡Šๅ’Œ้€ป่พ‘็–ฒๅŠณๅฏผ่‡ดไบงๅ‡บ่ดจ้‡ไธ‹้™ใ€‚ๆœฌๆ–‡ๅŸบไบŽ Claude Agent SDK ๆŽข่ฎจไบ†ๅคšๆ™บ่ƒฝไฝ“็ณป็ปŸ๏ผˆMAS๏ผ‰็š„ๅทฅ็จ‹ๅŒ–่ฝๅœฐใ€‚้€š่ฟ‡โ€œLead + Subagentโ€็š„ๅฃฐๆ˜Žๅผๆžถๆž„๏ผŒๆˆ‘ไปฌๅฐ†ๆทฑๅบฆ็ ”็ฉถๆ‹†่งฃไธบๆœ็ดขใ€้‡ๅŒ–ๅˆ†ๆžใ€ๅฏ่ง†ๅŒ–็ป˜ๅ›พไธŽ็ป“ๆž„ๅŒ–ๅ†™ไฝœๅ››ไธช็‹ฌ็ซ‹็Žฏ่Š‚ใ€‚","frontmatter":{"date":"2026-04-02T00:38:37.000Z","title":"ๅฃฐๆ˜Žๅผๅคšๆ™บ่ƒฝไฝ“ๅๅŒ๏ผšๅŸบไบŽ Claude Agent SDK ๆž„ๅปบๆทฑๅบฆ็ ”็ฉถ็ณป็ปŸ","description":"ๅฏนๅคๆ‚็ ”็ฉถไปปๅŠกๆ—ถ๏ผŒๅ•ๆ™บ่ƒฝไฝ“๏ผˆSingle-Agent๏ผ‰ๅธธๅ› ไธŠไธ‹ๆ–‡็จ€้‡Šๅ’Œ้€ป่พ‘็–ฒๅŠณๅฏผ่‡ดไบงๅ‡บ่ดจ้‡ไธ‹้™ใ€‚ๆœฌๆ–‡ๅŸบไบŽ Claude Agent SDK ๆŽข่ฎจไบ†ๅคšๆ™บ่ƒฝไฝ“็ณป็ปŸ๏ผˆMAS๏ผ‰็š„ๅทฅ็จ‹ๅŒ–่ฝๅœฐใ€‚้€š่ฟ‡โ€œLead + Subagentโ€็š„ๅฃฐๆ˜Žๅผๆžถๆž„๏ผŒๆˆ‘ไปฌๅฐ†ๆทฑๅบฆ็ ”็ฉถๆ‹†่งฃไธบๆœ็ดขใ€้‡ๅŒ–ๅˆ†ๆžใ€ๅฏ่ง†ๅŒ–็ป˜ๅ›พไธŽ็ป“ๆž„ๅŒ–ๅ†™ไฝœๅ››ไธช็‹ฌ็ซ‹็Žฏ่Š‚ใ€‚","permalink":"/ai-agent/deepresearch-agent","sticky":1,"top":true,"categories":["AI ๅญฆไน ไธŽๅฎž่ทต"],"tags":["Agent SDK","Multi-Agent"]},"headers":[],"relativePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/10.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Deep Research Agent.md","filePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/10.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Deep Research Agent.md"}'),p={name:"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/10.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Deep Research Agent.md"},h=Object.assign(p,{setup(l){return(d,a)=>(r(),t("div",null,[a[0]||(a[0]=s(`

ๅฃฐๆ˜Žๅผๅคšๆ™บ่ƒฝไฝ“ๅๅŒ๏ผšๅŸบไบŽ Claude Agent SDK ๆž„ๅปบๆทฑๅบฆ็ ”็ฉถ็ณป็ปŸ โ€‹

ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฏนๅคๆ‚็ ”็ฉถไปปๅŠกๆ—ถ๏ผŒๅ•ๆ™บ่ƒฝไฝ“๏ผˆSingle-Agent๏ผ‰ๅธธๅ› ไธŠไธ‹ๆ–‡็จ€้‡Šๅ’Œ้€ป่พ‘็–ฒๅŠณๅฏผ่‡ดไบงๅ‡บ่ดจ้‡ไธ‹้™ใ€‚ๆœฌๆ–‡ๅŸบไบŽ Claude Agent SDK ๆŽข่ฎจไบ†ๅคšๆ™บ่ƒฝไฝ“็ณป็ปŸ๏ผˆMAS๏ผ‰็š„ๅทฅ็จ‹ๅŒ–่ฝๅœฐใ€‚้€š่ฟ‡ โ€œLead + Subagentโ€ ็š„ๅฃฐๆ˜Žๅผๆžถๆž„๏ผŒๆˆ‘ไปฌๅฐ†ๆทฑๅบฆ็ ”็ฉถๆ‹†่งฃไธบๆœ็ดขใ€้‡ๅŒ–ๅˆ†ๆžใ€ๅฏ่ง†ๅŒ–็ป˜ๅ›พไธŽ็ป“ๆž„ๅŒ–ๅ†™ไฝœๅ››ไธช็‹ฌ็ซ‹็Žฏ่Š‚ใ€‚ ๅฎž่ทต่ฏๆ˜Ž๏ผŒ้€š่ฟ‡ไธฅๆ ผ็š„่Œ่ดฃ้š”็ฆป๏ผˆๅฆ‚ Lead Agent ไป…่ดŸ่ดฃ่ฐƒๅบฆ๏ผ‰ไธŽๅทฅ็จ‹่พน็•Œ็บฆๆŸ๏ผˆๅฆ‚ Researcher ๅผบๅˆถๆๅ–้‡ๅŒ–ๆŒ‡ๆ ‡๏ผ‰๏ผŒMAS ่ƒฝๅคŸ็”Ÿๆˆๅ…ทๅค‡ไธ“ไธšๆ•ฐๆฎๅ›พ่กจๆ”ฏๆ’‘็š„ๆทฑๅบฆๆŠฅๅ‘Šใ€‚ๆœฌๆ–‡ๅฐ†ไปŽๆžถๆž„่ฎพ่ฎกใ€ๅทฅไฝœๆต็ผ–ๆŽ’ๅˆฐ PDF ่‡ชๅŠจ็”Ÿๆˆ๏ผŒๅฎŒๆ•ด่ฟ˜ๅŽŸ่ฟ™ไธ€โ€œAI ้ฉฑๅŠจ่ฐƒ็ ”ๆตๆฐด็บฟโ€็š„ๆž„ๅปบ่ฟ‡็จ‹๏ผŒๅนถๅฑ•็คบๅ…ถๅœจๆ•™่‚ฒ็ ”็ฉถๆกˆไพ‹ไธญ็š„ๅฎžๆˆ˜ๆ•ˆๆžœใ€‚

1. ๅผ•่จ€ โ€‹

ๅœจ AI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐไธ€ๆ–‡ไธญ๏ผŒๆˆ‘ไปฌๆŽข่ฎจไบ†ๅคšๆ™บ่ƒฝไฝ“็ณป็ปŸ๏ผˆMulti-Agent Systems, MAS๏ผ‰็š„็†่ฎบไผ˜ๅŠฟใ€‚ไปŽ็†่ฎบๅฑ‚้ข็œ‹๏ผŒ่ฟ™็ฑป็ณป็ปŸ้€š่ฟ‡ไปปๅŠกๅˆ†่งฃใ€่Œ่ดฃ้š”็ฆปไธŽๅนถ่กŒๅไฝœๆœบๅˆถ๏ผŒๆœ‰ๆ•ˆ็ช็ ดไบ†ๅ•ๆ™บ่ƒฝไฝ“ๅœจๅคๆ‚ไปปๅŠกไธญ็š„่ƒฝๅŠ›็“ถ้ขˆโ€”โ€”ไธไป…ๆ˜พ่‘—ๆๅ‡ไบ†ไปปๅŠกๅค„็†็š„ๅคฉ่Šฑๆฟ๏ผŒๆ›ด้€š่ฟ‡ๆจกๅ—ๅŒ–็š„่ฎพ่ฎกๅขžๅผบไบ†็ณป็ปŸ็š„ๅฏ่งฃ้‡Šๆ€งไธŽๅฏๆŽงๆ€งใ€‚

ไฝ†ๅœจๅฎž้™…ๅทฅ็จ‹่ฝๅœฐไธญ๏ผŒๅผ€ๅ‘่€…ๅพ€ๅพ€ไผš้ขไธดไธ€ไธชๅฐดๅฐฌ็š„็Žฐๅฎž๏ผš็ฎ€ๅ•็š„ไปปๅŠกๅ•ๆ™บ่ƒฝไฝ“ๅฐฑ่ƒฝๆžๅฎš๏ผŒๅคๆ‚็š„ไปปๅŠก็ป™ๅ•ๆ™บ่ƒฝไฝ“ๅŠ ๅ†ๅคš Prompt ไนŸไผš้™ทๅ…ฅโ€œ้€ป่พ‘็–ฒๅŠณโ€ๆˆ–โ€œไธŠไธ‹ๆ–‡่ฟทๅคฑโ€ใ€‚ๆทฑๅบฆ็ ”็ฉถ๏ผˆDeep Research๏ผ‰ๆญฃๆ˜ฏ่ฟ™็ฑปๅคๆ‚ไปปๅŠก็š„ๅ…ธๅž‹ไปฃ่กจใ€‚ๅฎƒ่ฆๆฑ‚็ณป็ปŸๅœจ้•ฟไธŠไธ‹ๆ–‡็Žฏๅขƒไธ‹๏ผŒๅŒๆ—ถๅ…ทๅค‡้ซ˜ๆ•ˆ็š„ไฟกๆฏๆฃ€็ดขใ€ไธฅ่ฐจ็š„ๆ•ฐๆฎๆŽจ็†ๅ’Œไธ“ไธš็š„ๆ–‡ๆกฃ่พ“ๅ‡บ่ƒฝๅŠ›ใ€‚

ๆœฌๆ–‡ๅฐ†ๅˆ†ไบซๆˆ‘ๅŸบไบŽ Claude Agent SDK๏ผˆTypeScript ็‰ˆ๏ผ‰ๆž„ๅปบ Deep Research Agent ็š„ๅฎž่ทต่ฟ‡็จ‹ใ€‚ๆˆ‘ไปฌๅฐ†ๆŽข่ฎจๅฆ‚ไฝ•้€š่ฟ‡ๅฃฐๆ˜Žๅผๆžถๆž„ๅฎž็Žฐๅคš Agent ็š„่Œ่ดฃ้š”็ฆป๏ผŒๅนถๅฑ•็คบ่ฟ™็งๆจกๅผๅฆ‚ไฝ•้€š่ฟ‡ๆจกๅ—ๅŒ–่ฎพ่ฎกๆ˜พ่‘—ๆๅ‡็ ”็ฉถๆŠฅๅ‘Š็š„ไธ“ไธšๅบฆใ€‚

่ฏดๆ˜Ž๏ผš

  • ๆœฌ้กน็›ฎๅŸบไบŽ Anthropic ๅฎ˜ๆ–น็คบไพ‹่ฟ›่กŒไบ† TypeScript ้‡ๆž„ไธŽๆต็จ‹ไผ˜ๅŒ–ใ€‚ๅฎŒๆ•ดไปฃ็ ๅทฒๅผ€ๆบ่‡ณ GitHub๏ผŒๆ‰˜็ฎกๅœจๆˆ‘ไธŽๅ‡ ไฝๅฅฝๅ‹ๅ…ฑๅŒๅˆ›ๅปบ็š„ full-stack-workspace ็ป„็ป‡ไธ‹็š„ agent-playground ไป“ๅบ“ไธญ๏ผŒๅ…ทไฝ“่ทฏๅพ„ไธบ๏ผš@agent-playground/deepresearch-agentใ€‚
  • ๅฆ‚ๆžœไฝ ๅธŒๆœ›ไบ†่งฃ Python ็‰ˆๆœฌ็š„ๅฎž็Žฐ๏ผŒๅปบ่ฎฎ็›ดๆŽฅๆŸฅ้˜…ๅฎ˜ๆ–น็คบไพ‹ไป“ๅบ“๏ผšclaude-agent-sdk-demos

2. ไธบไป€ไนˆๆทฑๅบฆ็ ”็ฉถ้œ€่ฆ Multi-Agent ๆžถๆž„ๆจกๅผ๏ผŸ โ€‹

ๅ›ž้กพๆˆ‘ไปฌ่‡ชๅทฑๅœจๆŸไธช้ข†ๅŸŸๆˆ–ไธ“้ข˜่ฟ›่กŒๆทฑๅบฆ็ ”็ฉถ็š„็ปๅކ๏ผŒไธ้šพๅ‘็Žฐ๏ผšๆทฑๅบฆ็ ”็ฉถๅนถ้žๅ•ไธ€็š„ๅ†™ไฝœไปปๅŠก๏ผŒ่€Œๆ˜ฏไธ€ไธชๅคšๅทฅ็งๆตๆฐด็บฟใ€‚่ฟ™ๅ…ถๅฎžๆ˜ฏไธ€ไธชๅ…ธๅž‹็š„ๅคš้˜ถๆฎตไปปๅŠก๏ผŒๆฏไธช้˜ถๆฎต้ƒฝ้œ€่ฆไธๅŒ็š„ไธ“ไธš่ƒฝๅŠ›๏ผš

้˜ถๆฎตๆ่ฟฐ
ๆœ็ดข้˜ถๆฎตไธ“ๆณจไบŽไฟกๆฏๆฃ€็ดขไธŽๆ”ถ้›†๏ผŒๅธฎๅŠฉๅปบ็ซ‹ๅฏน่ฏฅ้ข†ๅŸŸ็š„ๅˆๆญฅ่ฎค็Ÿฅ
ๅˆ†ๆž้˜ถๆฎตๅฏนๆ”ถ้›†ๅˆฐ็š„ไฟกๆฏ่ฟ›่กŒๆทฑๅบฆๅˆ†ๆžไธŽๅฝ’็บณ๏ผŒๆๅ–ๅ…ณ้”ฎๆดžๅฏŸ๏ผŒๅนถๆฎๆญค็กฎๅฎš็ ”็ฉถๆ–นๅ‘ไธŽ้‡็‚น
ๅ†™ไฝœ้˜ถๆฎตๅฐ†ๅˆ†ๆžๆˆๆžœ่ฝฌๅŒ–ไธบ็ป“ๆž„ๅŒ–็š„ๆ–‡ๅญ—ๅ†…ๅฎน๏ผŒๅฆ‚็ ”็ฉถ่ฎบๆ–‡ใ€ๆŠ€ๆœฏๆŠฅๅ‘Š็ญ‰
ๅฏ่ง†ๅŒ–้˜ถๆฎต้€š่ฟ‡ๆ•ฐๆฎๅ›พ่กจใ€ไฟกๆฏๅ›พ็ญ‰ๅฝขๅผ็›ด่ง‚ๅ‘ˆ็Žฐๅˆ†ๆž็ป“ๆžœ๏ผŒๆๅ‡ไฟกๆฏไผ ่พพๆ•ˆ็އ

่ฟ™็ง้˜ถๆฎตๅŒ–็š„ไธ“ไธšๅˆ†ๅทฅ๏ผŒไธŽไบบ็ฑป็ ”็ฉถๅ›ข้˜Ÿไธญ็š„ๅไฝœๆจกๅผ้ซ˜ๅบฆๅฅ‘ๅˆใ€‚ๆญคๅค–๏ผŒๆทฑๅบฆ็ ”็ฉถไปปๅŠกๅพ€ๅพ€ๆถ‰ๅŠๅพˆๅคšไฟกๆฏๆ•ดๅˆ๏ผŒๅ…ทๆœ‰่พƒ้ซ˜็š„ๅคๆ‚ๅบฆใ€‚่‹ฅ้‡‡็”จๅ•ๆ™บ่ƒฝไฝ“ๆžถๆž„๏ผŒ้€šๅธธไผš้ขไธด Context Window ้™ๅˆถใ€ๆ—ฉๆœŸไฟกๆฏ่ขซ็จ€้‡Šใ€ๆŽจ็†่ดจ้‡้šไปปๅŠกๆŽจ่ฟ›่€Œไธ‹้™็ญ‰ๆŒ‘ๆˆ˜ใ€‚

Multi-Agent ๆจกๅผๅˆ™้€š่ฟ‡ไปปๅŠกๅˆ†่งฃใ€่Œ่ดฃ้š”็ฆปไธŽๅนถ่กŒๅไฝœๆœบๅˆถ๏ผŒๆœ‰ๆ•ˆ็ช็ ดไบ†ๅ•ๆ™บ่ƒฝไฝ“ๅœจๅคๆ‚ไปปๅŠกไธญ็š„่ƒฝๅŠ›็“ถ้ขˆโ€”โ€”ไธไป…่ƒฝๆ˜พ่‘—ๆๅ‡ไปปๅŠกๅค„็†็š„ไธŠ้™๏ผŒๆ›ด้€š่ฟ‡ๆจกๅ—ๅŒ–่ฎพ่ฎกๅขžๅผบไบ†็ณป็ปŸ็š„ๅฏ่งฃ้‡Šๆ€งไธŽๅฏๆŽงๆ€งใ€‚

3. ็ณป็ปŸๆžถๆž„ โ€‹

3.1 ๆ ธๅฟƒ่ฎพ่ฎกไธŽ่Œ่ดฃๅˆ†้… โ€‹

DeepResearch Agent ้€š่ฟ‡ๆœ็ดขใ€ๆ”ถ้›†ใ€ๅˆ†ๆžๅ„็งๆฅๆบ็š„ไฟกๆฏ๏ผŒๅฐ†่ฟ™ไบ›ไฟกๆฏๆ•ดๅˆไธบๅธฆๆœ‰ๅฏ่ง†ๅŒ–ๅ›พ่กจ็š„ๆทฑๅบฆ็ ”็ฉถๆŠฅๅ‘Š๏ผŒไปฅๆ”ฏๆŒๅคๆ‚็š„็ ”็ฉถๅ’Œๅ†ณ็ญ–ไปปๅŠกใ€‚ๅ…ถๆžถๆž„้‡‡็”จ Lead Agent + Subagent็š„่ฎพ่ฎกๆ€่ทฏ๏ผš

  • Lead Agent ็š„ๆ ธๅฟƒ่ง„ๅˆ™ๆ˜ฏโ€œๅชๅš็ฎก็†๏ผŒไธๅšๆ‰ง่กŒโ€ใ€‚ๅฎƒ็š„ allowedTools ่ขซไธฅๆ ผ้™ๅˆถไธบ Task ๅทฅๅ…ทใ€‚่ฟ™็ง่ฎพ่ฎก่ƒฝๆœ‰ๆ•ˆ้˜ฒๆญข Lead Agent ๅ› ไธบ่ฟ‡ๅบฆๅค„็†็ป†่Š‚่€Œๅฏผ่‡ด็š„้€ป่พ‘ๅ‘ๆ•ฃใ€‚
  • Researcher ้กปๆ‰พๅˆฐ 10-15+ ไธชๅ…ทไฝ“ๆ•ฐๆฎ็‚น๏ผˆ็™พๅˆ†ๆฏ”ใ€ๅธ‚ๅœบ่ง„ๆจกใ€ๅขž้•ฟ็އ็ญ‰๏ผ‰ไพ› Data Analyst ๅฏ่ง†ๅŒ–
  • Report Writer ไฝฟ็”จ Python + reportlab ้€š่ฟ‡ Bash ๅทฅๅ…ท็”Ÿๆˆ PDF ๆŠฅๅ‘Š๏ผŒ็กฎไฟๆŠฅๅ‘Šๆ ผๅผไธ“ไธšใ€ๅ†…ๅฎน
ๆ™บ่ƒฝไฝ“่Œ่ดฃๅทฅๅ…ท
Lead Agentๅ่ฐƒ็ ”็ฉถ๏ผŒๅนถๅฐ†ไปปๅŠกๅง”ๆดพ็ป™ๅญๆ™บ่ƒฝไฝ“ใ€‚ไปปๅŠกๅˆ†่งฃใ€ๅ่ฐƒ่ฐƒๅบฆ๏ผˆไป…ไฝฟ็”จ Task ๅทฅๅ…ทๅง”ๆ‰˜ไปปๅŠก๏ผ‰Task
Researcherๅนถ่กŒ็ฝ‘็ปœๆœ็ดข๏ผŒๆ”ถ้›†้‡ๅŒ–ๆ•ฐๆฎ๏ผˆๆฏไธช็ ”็ฉถๅ‘˜ไธ“ๆณจไธ€ไธชๅญไธป้ข˜๏ผ‰WebSearch, Write
Data Analyst่ฏปๅ–็ ”็ฉถ็ฌ”่ฎฐ๏ผŒๆๅ–ๆŒ‡ๆ ‡๏ผŒ็”Ÿๆˆ Python/matplotlib ๅ›พ่กจGlob, Read, Grep, Bash, Write, Edit
Report Writer่ฏปๅ–็ ”็ฉถ็ฌ”่ฎฐๅ’Œๅ›พ่กจ๏ผŒ็”Ÿๆˆ reportlab PDF ๆŠฅๅ‘ŠSkill, Write, Glob, Read, Bash

Claude Agent SDK ่ตทๆบไบŽ Anthropic ็š„ Claude Code ้กน็›ฎ๏ผŒ้‡‡็”จไบ†ไธŽ Claude Code ็›ธๅŒ็š„ๅฃฐๆ˜Žๅผ่ฎพ่ฎก๏ผŒๆ”ฏๆŒ่‡ชๅฎšไน‰ๆŠ€่ƒฝๅ’Œๅ‘ฝไปค๏ผŒ้’ˆๅฏน DeepResearch Agent ็š„ๅ…ทไฝ“ไปปๅŠก๏ผŒๆˆ‘ไปฌๅฏไปฅๅˆฉ็”จๅ…ถๅฃฐๆ˜Žๅผๅ’Œๆจกๅ—ๅŒ–่ฎพ่ฎก๏ผŒๆทปๅŠ ไธ€ไบ›็›ธๅ…ณ็š„่‡ชๅฎšไน‰ Agent Skills ๅ’Œ Commands ๅ‘ฝไปค๏ผš

deepresearch-agent/
 โ”œโ”€โ”€ .claude/
 โ”‚ย ย  โ”œโ”€โ”€ skills/            # ๅฏไฝฟ็”จ็š„ Agent Skills ๆŠ€่ƒฝ็›ฎๅฝ•
 โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ pdf/           # ็”Ÿๆˆ PDF ๆŠฅๅ‘Š็š„ๆŠ€่ƒฝ
diff --git "a/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_04.\347\244\276\345\214\272\346\264\273\345\212\250\344\270\216\345\256\236\350\267\265\345\260\217\351\241\271\347\233\256_10.\345\237\272\344\272\216 Claude Agent SDK \346\220\255\345\273\272 Deep Research Agent.md.DOONNKFw.lean.js" "b/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_04.\347\244\276\345\214\272\346\264\273\345\212\250\344\270\216\345\256\236\350\267\265\345\260\217\351\241\271\347\233\256_10.\345\237\272\344\272\216 Claude Agent SDK \346\220\255\345\273\272 Deep Research Agent.md.DtQSvR-M.lean.js"
similarity index 92%
rename from "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_04.\347\244\276\345\214\272\346\264\273\345\212\250\344\270\216\345\256\236\350\267\265\345\260\217\351\241\271\347\233\256_10.\345\237\272\344\272\216 Claude Agent SDK \346\220\255\345\273\272 Deep Research Agent.md.DOONNKFw.lean.js"
rename to "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_04.\347\244\276\345\214\272\346\264\273\345\212\250\344\270\216\345\256\236\350\267\265\345\260\217\351\241\271\347\233\256_10.\345\237\272\344\272\216 Claude Agent SDK \346\220\255\345\273\272 Deep Research Agent.md.DtQSvR-M.lean.js"
index bd51e657..3155f87b 100644
--- "a/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_04.\347\244\276\345\214\272\346\264\273\345\212\250\344\270\216\345\256\236\350\267\265\345\260\217\351\241\271\347\233\256_10.\345\237\272\344\272\216 Claude Agent SDK \346\220\255\345\273\272 Deep Research Agent.md.DOONNKFw.lean.js"	
+++ "b/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_04.\347\244\276\345\214\272\346\264\273\345\212\250\344\270\216\345\256\236\350\267\265\345\260\217\351\241\271\347\233\256_10.\345\237\272\344\272\216 Claude Agent SDK \346\220\255\345\273\272 Deep Research Agent.md.DtQSvR-M.lean.js"	
@@ -1 +1 @@
-import{T as e}from"./chunks/TwoColumnImage.C5EZ0-fZ.js";import{g as t,h as r,U as s,z as n}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const c=JSON.parse('{"title":"ๅฃฐๆ˜Žๅผๅคšๆ™บ่ƒฝไฝ“ๅๅŒ๏ผšๅŸบไบŽ Claude Agent SDK ๆž„ๅปบๆทฑๅบฆ็ ”็ฉถ็ณป็ปŸ","description":"ๅฏนๅคๆ‚็ ”็ฉถไปปๅŠกๆ—ถ๏ผŒๅ•ๆ™บ่ƒฝไฝ“๏ผˆSingle-Agent๏ผ‰ๅธธๅ› ไธŠไธ‹ๆ–‡็จ€้‡Šๅ’Œ้€ป่พ‘็–ฒๅŠณๅฏผ่‡ดไบงๅ‡บ่ดจ้‡ไธ‹้™ใ€‚ๆœฌๆ–‡ๅŸบไบŽ Claude Agent SDK ๆŽข่ฎจไบ†ๅคšๆ™บ่ƒฝไฝ“็ณป็ปŸ๏ผˆMAS๏ผ‰็š„ๅทฅ็จ‹ๅŒ–่ฝๅœฐใ€‚้€š่ฟ‡โ€œLead + Subagentโ€็š„ๅฃฐๆ˜Žๅผๆžถๆž„๏ผŒๆˆ‘ไปฌๅฐ†ๆทฑๅบฆ็ ”็ฉถๆ‹†่งฃไธบๆœ็ดขใ€้‡ๅŒ–ๅˆ†ๆžใ€ๅฏ่ง†ๅŒ–็ป˜ๅ›พไธŽ็ป“ๆž„ๅŒ–ๅ†™ไฝœๅ››ไธช็‹ฌ็ซ‹็Žฏ่Š‚ใ€‚","frontmatter":{"date":"2026-04-02T00:38:37.000Z","title":"ๅฃฐๆ˜Žๅผๅคšๆ™บ่ƒฝไฝ“ๅๅŒ๏ผšๅŸบไบŽ Claude Agent SDK ๆž„ๅปบๆทฑๅบฆ็ ”็ฉถ็ณป็ปŸ","description":"ๅฏนๅคๆ‚็ ”็ฉถไปปๅŠกๆ—ถ๏ผŒๅ•ๆ™บ่ƒฝไฝ“๏ผˆSingle-Agent๏ผ‰ๅธธๅ› ไธŠไธ‹ๆ–‡็จ€้‡Šๅ’Œ้€ป่พ‘็–ฒๅŠณๅฏผ่‡ดไบงๅ‡บ่ดจ้‡ไธ‹้™ใ€‚ๆœฌๆ–‡ๅŸบไบŽ Claude Agent SDK ๆŽข่ฎจไบ†ๅคšๆ™บ่ƒฝไฝ“็ณป็ปŸ๏ผˆMAS๏ผ‰็š„ๅทฅ็จ‹ๅŒ–่ฝๅœฐใ€‚้€š่ฟ‡โ€œLead + Subagentโ€็š„ๅฃฐๆ˜Žๅผๆžถๆž„๏ผŒๆˆ‘ไปฌๅฐ†ๆทฑๅบฆ็ ”็ฉถๆ‹†่งฃไธบๆœ็ดขใ€้‡ๅŒ–ๅˆ†ๆžใ€ๅฏ่ง†ๅŒ–็ป˜ๅ›พไธŽ็ป“ๆž„ๅŒ–ๅ†™ไฝœๅ››ไธช็‹ฌ็ซ‹็Žฏ่Š‚ใ€‚","permalink":"/ai-agent/deepresearch-agent","sticky":1,"top":true,"categories":["AI ๅญฆไน ไธŽๅฎž่ทต"],"tags":["Agent SDK","Multi-Agent"]},"headers":[],"relativePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/10.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Deep Research Agent.md","filePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/10.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Deep Research Agent.md"}'),p={name:"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/10.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Deep Research Agent.md"},h=Object.assign(p,{setup(l){return(d,a)=>(r(),t("div",null,[a[0]||(a[0]=s("",39)),n(e,{"left-image":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/ai-practice/mas_output_3.jpg","right-image":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/ai-practice/mas_output_2.jpg",leftCaption:"ๅ›พ 1๏ผšๅˆไธญ็”Ÿๆ•ฐๅญฆๆˆ็ปฉไธ‹้™ๅŽŸๅ› ๅˆ†ๆž",rightCaption:"ๅ›พ 2๏ผšไธๅŒๅญฆไน ๆ–นๆณ•ไธ‹็š„ๆ•ฐๅญฆๆˆ็ปฉไผ˜็ง€็އๅฏนๆฏ”"}),n(e,{"left-image":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/ai-practice/mas_output_math_module.jpg","right-image":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/ai-practice/mas_output_4.jpg",leftCaption:"ๅ›พ 3๏ผšๅˆไธญๆ•ฐๅญฆๅ„ๆจกๅ—ๅˆ†ๅ€ผๅ ๆฏ”ๅˆ†ๅธƒ็คบๆ„",rightCaption:"ๅ›พ 4๏ผšไบบ็š„่ฎฐๅฟ†ไฟๆŒ้šๆ—ถ้—ดๅ˜ๅŒ–่ถ‹ๅŠฟๆ›ฒ็บฟ"}),a[1]||(a[1]=s("",5))]))}});export{c as __pageData,h as default};
+import{T as e}from"./chunks/TwoColumnImage.BAUswlD7.js";import{g as t,h as r,U as s,z as n}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const c=JSON.parse('{"title":"ๅฃฐๆ˜Žๅผๅคšๆ™บ่ƒฝไฝ“ๅๅŒ๏ผšๅŸบไบŽ Claude Agent SDK ๆž„ๅปบๆทฑๅบฆ็ ”็ฉถ็ณป็ปŸ","description":"ๅฏนๅคๆ‚็ ”็ฉถไปปๅŠกๆ—ถ๏ผŒๅ•ๆ™บ่ƒฝไฝ“๏ผˆSingle-Agent๏ผ‰ๅธธๅ› ไธŠไธ‹ๆ–‡็จ€้‡Šๅ’Œ้€ป่พ‘็–ฒๅŠณๅฏผ่‡ดไบงๅ‡บ่ดจ้‡ไธ‹้™ใ€‚ๆœฌๆ–‡ๅŸบไบŽ Claude Agent SDK ๆŽข่ฎจไบ†ๅคšๆ™บ่ƒฝไฝ“็ณป็ปŸ๏ผˆMAS๏ผ‰็š„ๅทฅ็จ‹ๅŒ–่ฝๅœฐใ€‚้€š่ฟ‡โ€œLead + Subagentโ€็š„ๅฃฐๆ˜Žๅผๆžถๆž„๏ผŒๆˆ‘ไปฌๅฐ†ๆทฑๅบฆ็ ”็ฉถๆ‹†่งฃไธบๆœ็ดขใ€้‡ๅŒ–ๅˆ†ๆžใ€ๅฏ่ง†ๅŒ–็ป˜ๅ›พไธŽ็ป“ๆž„ๅŒ–ๅ†™ไฝœๅ››ไธช็‹ฌ็ซ‹็Žฏ่Š‚ใ€‚","frontmatter":{"date":"2026-04-02T00:38:37.000Z","title":"ๅฃฐๆ˜Žๅผๅคšๆ™บ่ƒฝไฝ“ๅๅŒ๏ผšๅŸบไบŽ Claude Agent SDK ๆž„ๅปบๆทฑๅบฆ็ ”็ฉถ็ณป็ปŸ","description":"ๅฏนๅคๆ‚็ ”็ฉถไปปๅŠกๆ—ถ๏ผŒๅ•ๆ™บ่ƒฝไฝ“๏ผˆSingle-Agent๏ผ‰ๅธธๅ› ไธŠไธ‹ๆ–‡็จ€้‡Šๅ’Œ้€ป่พ‘็–ฒๅŠณๅฏผ่‡ดไบงๅ‡บ่ดจ้‡ไธ‹้™ใ€‚ๆœฌๆ–‡ๅŸบไบŽ Claude Agent SDK ๆŽข่ฎจไบ†ๅคšๆ™บ่ƒฝไฝ“็ณป็ปŸ๏ผˆMAS๏ผ‰็š„ๅทฅ็จ‹ๅŒ–่ฝๅœฐใ€‚้€š่ฟ‡โ€œLead + Subagentโ€็š„ๅฃฐๆ˜Žๅผๆžถๆž„๏ผŒๆˆ‘ไปฌๅฐ†ๆทฑๅบฆ็ ”็ฉถๆ‹†่งฃไธบๆœ็ดขใ€้‡ๅŒ–ๅˆ†ๆžใ€ๅฏ่ง†ๅŒ–็ป˜ๅ›พไธŽ็ป“ๆž„ๅŒ–ๅ†™ไฝœๅ››ไธช็‹ฌ็ซ‹็Žฏ่Š‚ใ€‚","permalink":"/ai-agent/deepresearch-agent","sticky":1,"top":true,"categories":["AI ๅญฆไน ไธŽๅฎž่ทต"],"tags":["Agent SDK","Multi-Agent"]},"headers":[],"relativePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/10.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Deep Research Agent.md","filePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/10.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Deep Research Agent.md"}'),p={name:"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/10.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Deep Research Agent.md"},h=Object.assign(p,{setup(l){return(d,a)=>(r(),t("div",null,[a[0]||(a[0]=s("",39)),n(e,{"left-image":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/ai-practice/mas_output_3.jpg","right-image":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/ai-practice/mas_output_2.jpg",leftCaption:"ๅ›พ 1๏ผšๅˆไธญ็”Ÿๆ•ฐๅญฆๆˆ็ปฉไธ‹้™ๅŽŸๅ› ๅˆ†ๆž",rightCaption:"ๅ›พ 2๏ผšไธๅŒๅญฆไน ๆ–นๆณ•ไธ‹็š„ๆ•ฐๅญฆๆˆ็ปฉไผ˜็ง€็އๅฏนๆฏ”"}),n(e,{"left-image":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/ai-practice/mas_output_math_module.jpg","right-image":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/ai-practice/mas_output_4.jpg",leftCaption:"ๅ›พ 3๏ผšๅˆไธญๆ•ฐๅญฆๅ„ๆจกๅ—ๅˆ†ๅ€ผๅ ๆฏ”ๅˆ†ๅธƒ็คบๆ„",rightCaption:"ๅ›พ 4๏ผšไบบ็š„่ฎฐๅฟ†ไฟๆŒ้šๆ—ถ้—ดๅ˜ๅŒ–่ถ‹ๅŠฟๆ›ฒ็บฟ"}),a[1]||(a[1]=s("",5))]))}});export{c as __pageData,h as default};
diff --git "a/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_04.\347\244\276\345\214\272\346\264\273\345\212\250\344\270\216\345\256\236\350\267\265\345\260\217\351\241\271\347\233\256_20.\345\237\272\344\272\216 Claude Agent SDK \346\220\255\345\273\272 Agent.md.CWhLwl8r.js" "b/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_04.\347\244\276\345\214\272\346\264\273\345\212\250\344\270\216\345\256\236\350\267\265\345\260\217\351\241\271\347\233\256_20.\345\237\272\344\272\216 Claude Agent SDK \346\220\255\345\273\272 Agent.md.CAQEdrbh.js"
similarity index 99%
rename from "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_04.\347\244\276\345\214\272\346\264\273\345\212\250\344\270\216\345\256\236\350\267\265\345\260\217\351\241\271\347\233\256_20.\345\237\272\344\272\216 Claude Agent SDK \346\220\255\345\273\272 Agent.md.CWhLwl8r.js"
rename to "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_04.\347\244\276\345\214\272\346\264\273\345\212\250\344\270\216\345\256\236\350\267\265\345\260\217\351\241\271\347\233\256_20.\345\237\272\344\272\216 Claude Agent SDK \346\220\255\345\273\272 Agent.md.CAQEdrbh.js"
index e7c630e8..e89bc7f7 100644
--- "a/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_04.\347\244\276\345\214\272\346\264\273\345\212\250\344\270\216\345\256\236\350\267\265\345\260\217\351\241\271\347\233\256_20.\345\237\272\344\272\216 Claude Agent SDK \346\220\255\345\273\272 Agent.md.CWhLwl8r.js"	
+++ "b/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_04.\347\244\276\345\214\272\346\264\273\345\212\250\344\270\216\345\256\236\350\267\265\345\260\217\351\241\271\347\233\256_20.\345\237\272\344\272\216 Claude Agent SDK \346\220\255\345\273\272 Agent.md.CAQEdrbh.js"	
@@ -1,4 +1,4 @@
-import{T as n}from"./chunks/TwoColumnImage.C5EZ0-fZ.js";import{g as l,h as p,U as e,z as h,i,S as a}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const g=JSON.parse('{"title":"ๅ‘Šๅˆซๆ‰‹ๅŠจ Loop๏ผšๅ€ŸๅŠฉ Claude Agent SDK ๅฎž็Žฐ Agent ็š„ๅทฅ็จ‹ๅŒ–้—ญ็Žฏ","description":"ๅœจ Agent ๆŠ€ๆœฏๅฟซ้€Ÿ่ตฐๅ‘ๆˆ็†Ÿ็š„ไปŠๅคฉ๏ผŒๅฆ‚ไฝ•ไฝŽๆˆๆœฌๆž„ๅปบๅ…ทๅค‡โ€œ่‡ชไธปๆดžๅฏŸโ€่ƒฝๅŠ›็š„ๆ™บ่ƒฝไฝ“๏ผŸๆœฌๆ–‡ๆทฑๅบฆๆ‹†่งฃ Anthropic ๅฎ˜ๆ–นๆŽจๅ‡บ็š„ Claude Agent SDK๏ผŒ่งฃๆžๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆ‰˜็ฎก Agent Loop ๅ’Œไผš่ฏๆŒไน…ๅŒ–ๆœบๅˆถ๏ผŒ่งฃๅ†ณ Agent ๅผ€ๅ‘ไธญ็š„็Šถๆ€็ฎก็†้šพ้ข˜ใ€‚ๆ–‡็ซ ้€š่ฟ‡ไปŽๆ— ็Šถๆ€ไบคไบ’ๅˆฐๅ…ทๅค‡ๆตๅผ่พ“ๅ‡บ่ƒฝๅŠ›็š„ TUI ่‡ชๅŠจๅŒ–ๅทฅๅ…ท่ฟ›้˜ถๅฎžๆˆ˜๏ผŒๅฑ•็คบไบ†ๆž„ๅปบไฝŽๆˆๆœฌใ€้ซ˜ๅฏ็”จ AI ๅŽŸ็”Ÿๅบ”็”จ็š„ๅฎŒๆ•ด่ทฏๅพ„ใ€‚","frontmatter":{"date":"2026-03-06T00:37:58.000Z","title":"ๅ‘Šๅˆซๆ‰‹ๅŠจ Loop๏ผšๅ€ŸๅŠฉ Claude Agent SDK ๅฎž็Žฐ Agent ็š„ๅทฅ็จ‹ๅŒ–้—ญ็Žฏ","description":"ๅœจ Agent ๆŠ€ๆœฏๅฟซ้€Ÿ่ตฐๅ‘ๆˆ็†Ÿ็š„ไปŠๅคฉ๏ผŒๅฆ‚ไฝ•ไฝŽๆˆๆœฌๆž„ๅปบๅ…ทๅค‡โ€œ่‡ชไธปๆดžๅฏŸโ€่ƒฝๅŠ›็š„ๆ™บ่ƒฝไฝ“๏ผŸๆœฌๆ–‡ๆทฑๅบฆๆ‹†่งฃ Anthropic ๅฎ˜ๆ–นๆŽจๅ‡บ็š„ Claude Agent SDK๏ผŒ่งฃๆžๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆ‰˜็ฎก Agent Loop ๅ’Œไผš่ฏๆŒไน…ๅŒ–ๆœบๅˆถ๏ผŒ่งฃๅ†ณ Agent ๅผ€ๅ‘ไธญ็š„็Šถๆ€็ฎก็†้šพ้ข˜ใ€‚ๆ–‡็ซ ้€š่ฟ‡ไปŽๆ— ็Šถๆ€ไบคไบ’ๅˆฐๅ…ทๅค‡ๆตๅผ่พ“ๅ‡บ่ƒฝๅŠ›็š„ TUI ่‡ชๅŠจๅŒ–ๅทฅๅ…ท่ฟ›้˜ถๅฎžๆˆ˜๏ผŒๅฑ•็คบไบ†ๆž„ๅปบไฝŽๆˆๆœฌใ€้ซ˜ๅฏ็”จ AI ๅŽŸ็”Ÿๅบ”็”จ็š„ๅฎŒๆ•ด่ทฏๅพ„ใ€‚","permalink":"/ai-practice/claude-agent-sdk-basic-build","top":true,"categories":["AI ๅญฆไน ไธŽๅฎž่ทต"],"tags":["Agent","Agent SDK"]},"headers":[],"relativePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/20.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Agent.md","filePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/20.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Agent.md"}'),t={name:"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/20.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Agent.md"},c=Object.assign(t,{setup(k){return(r,s)=>(p(),l("div",null,[s[0]||(s[0]=e(`

ๅ‘Šๅˆซๆ‰‹ๅŠจ Loop๏ผšๅ€ŸๅŠฉ Claude Agent SDK ๅฎž็Žฐ Agent ็š„ๅทฅ็จ‹ๅŒ–้—ญ็Žฏ โ€‹

ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจ Agent ๆŠ€ๆœฏๅฟซ้€Ÿ่ตฐๅ‘ๆˆ็†Ÿ็š„ไปŠๅคฉ๏ผŒๅฆ‚ไฝ•ไฝŽๆˆๆœฌๆž„ๅปบๅ…ทๅค‡โ€œ่‡ชไธปๆดžๅฏŸโ€่ƒฝๅŠ›็š„ๆ™บ่ƒฝไฝ“๏ผŸๆœฌๆ–‡ๆ‹†่งฃ Anthropic ๅฎ˜ๆ–นๆŽจๅ‡บ็š„ Claude Agent SDK๏ผŒ่งฃๆžๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆ‰˜็ฎก Agent Loopใ€ไผš่ฏๆŒไน…ๅŒ–็ญ‰ๆœบๅˆถ๏ผŒ่งฃๅ†ณ Agent ๅผ€ๅ‘ไธญ็š„็Šถๆ€็ฎก็†้šพ้ข˜ใ€‚ๆ–‡็ซ ้€š่ฟ‡ไปŽๆ— ็Šถๆ€ไบคไบ’ๅˆฐๅ…ทๅค‡ๆตๅผ่พ“ๅ‡บ่ƒฝๅŠ›็š„ TUI ่‡ชๅŠจๅŒ–ๅทฅๅ…ท่ฟ›้˜ถๅฎžๆˆ˜๏ผŒๅฑ•็คบไบ†ๆž„ๅปบไฝŽๆˆๆœฌใ€้ซ˜ๅฏ็”จ AI ๅŽŸ็”Ÿๅบ”็”จ็š„ๅฎŒๆ•ด่ทฏๅพ„ใ€‚

1. ๅผ•่จ€ โ€‹

ๅฝ“ๅ‰๏ผŒAI Agent ็š„ๆผ”่ฟ›ๅทฒ่ฟ›ๅ…ฅไธ€ไธชๅดญๆ–ฐ็š„้˜ถๆฎตโ€”โ€”ไปŽ้œ€่ฆ้ข‘็นไบบๅทฅๅนฒ้ข„็š„"ๅŠ่‡ชๅŠจ"ๆจกๅผ๏ผŒ่ฟ›ๅŒ–ไธบ่ƒฝๅคŸ่‡ชไธปๆดžๅฏŸ็Žฏๅขƒๅ˜ๅŒ–ใ€ๅŠจๆ€่ฐƒๆ•ดๆ‰ง่กŒ็ญ–็•ฅใ€ๅฎž็ŽฐไธšๅŠกๆต็จ‹่‡ช้€‚ๅบ”็ผ–ๆŽ’็š„ๆ™บ่ƒฝๅŒ–็ณป็ปŸใ€‚Claude Codeใ€Manusใ€OpenClaw ็ญ‰ไปฃ่กจๆ€งไบงๅ“ๅฑ‚ๅ‡บไธ็ฉท๏ผŒไนŸๆ ‡ๅฟ—็€ Agent ๆŠ€ๆœฏๆญฃๅœจๅฟซ้€Ÿ่ตฐๅ‘ๆˆ็†ŸไธŽๆ™ฎๅŠใ€‚

่ฟ‘ๆœŸ๏ผŒ็ฌ”่€…ๅœจไธบไธชไบบๅšๅฎขๅผ•ๅ…ฅๆ™บ่ƒฝๅŒ–่ฟ่ฅ่ƒฝๅŠ›๏ผˆๅฆ‚ๅ†…ๅฎน่‡ชๅŠจๆ กๅฏนใ€ๅฎก็จฟไธŽๅ‘ๅธƒ๏ผ‰๏ผŒๆทฑๅ…ฅ็ ”็ฉถไบ†ๅคšๆฌพ Agent ๅผ€ๅ‘ๆก†ๆžถ๏ผŒๅฆ‚ Claude Agent SDKใ€Langchainใ€LangGraph ็ญ‰ใ€‚ๅœจ็ป่ฟ‡ๅˆๆญฅ็š„็ ”็ฉถๅฏนๆฏ”ๅˆ†ๆžๅŽ๏ผŒClaude Agent SDK ๆˆไธบไบ†ไฝŽๆˆๆœฌๆž„ๅปบ้ซ˜ๅฏ็”จ Agent ็š„้ฆ–้€‰ใ€‚

ๆœฌๆ–‡ๅฐ†ๅŸบไบŽ Claude Agent SDK๏ผŒๅˆ†ไบซไธ€ไธชไปŽ 0 ๅˆฐ 1 ๆž„ๅปบ็ฎ€ๅ• Agent ็š„ๅฎž่ทต็ป้ชŒใ€‚็›ธๅ…ณๆบไปฃ็ ๅทฒๅผ€ๆบ่‡ณ GitHub๏ผŒๆ‰˜็ฎกๅœจๆˆ‘ไธŽๅ‡ ไธชๅฅฝๅ‹ๅ…ฑๅŒๅˆ›ๅปบ็š„็ป„็ป‡ full-stack-workspace ๆ——ไธ‹็š„ agent-playground ไป“ๅบ“ไธญ๏ผŒๅฏนๅบ”็คบไพ‹้กน็›ฎไธบ๏ผš@agent-playground/basic-example

2. ไธบไป€ไนˆ้€‰ๆ‹ฉ Claude Agent SDK๏ผŸ โ€‹

Claude Agent SDK๏ผˆๅ‰่บซไธบ Claude Code SDK๏ผ‰ๆ˜ฏ Anthropic ๅฎ˜ๆ–นๆŽจๅ‡บ็š„ๅผ€ๆบๆก†ๆžถใ€‚ๅฎƒ็š„ๆ ธๅฟƒไปทๅ€ผๅœจไบŽๅฐ†ๅคๆ‚็š„โ€œ่ง„ๅˆ’-ๆ‰ง่กŒ-่ง‚ๅฏŸโ€ๅพช็Žฏ๏ผˆAgent Loop๏ผ‰่ฟ›่กŒไบ†้ซ˜ๅบฆๅทฅ็จ‹ๅŒ–ๅฐ่ฃ…๏ผŒๆไพ›็ฎ€ๆด็š„ API ็”จไบŽๆž„ๅปบๅ…ทๆœ‰ๅทฅๅ…ทไฝฟ็”จ่ƒฝๅŠ›็š„ AI Agent๏ผŒ่ฎฉๅผ€ๅ‘่€…ไธ“ๆณจไบŽไธšๅŠก้€ป่พ‘ๅ’Œๆ™บ่ƒฝไฝ“่กŒไธบ็š„่ฎพ่ฎกใ€‚

ๅฏนไบŽๅผ€ๅ‘่€…่€Œ่จ€๏ผŒๅฎƒ่งฃๅ†ณไบ†ไปฅไธ‹ๆ ธๅฟƒ็—›็‚น๏ผš

็‰นๆ€ง่ฏดๆ˜Ž
Agent LoopSDK ๅ†…้ƒจ่‡ชๅŠจ็ฎก็†ๅคš่ฝฎไบคไบ’ใ€่ง„ๅˆ’ๅ†ณ็ญ–ๅ’Œๅทฅๅ…ท่ฐƒ็”จ๏ผŒๅผ€ๅ‘่€…ๆ— ้œ€ๅ†ๆ‰‹ๅ†™ๅคๆ‚็š„้€’ๅฝ’ๆˆ–ๅพช็Žฏ้€ป่พ‘ใ€‚
ๅผ€็ฎฑๅณ็”จ็š„ๅŽŸ็”ŸๆŠ€่ƒฝ้ข„็ฝฎไบ†็ป่ฟ‡ Anthropic ๆทฑๅบฆไผ˜ๅŒ–็š„ๅทฅๅ…ท๏ผŒๅฆ‚ๆ–‡ไปถ็ณป็ปŸๆ“ไฝœ๏ผˆRead/Write/Edit๏ผ‰ใ€็ปˆ็ซฏๅ‘ฝไปคๆ‰ง่กŒ๏ผˆBash๏ผ‰ไปฅๅŠ็ฝ‘็ปœ่ฎฟ้—ฎใ€‚
ๆธ่ฟ›ๅผๆƒ้™ๆŽงๅˆถๆไพ›ๅคš็บง PermissionMode๏ผˆๅฆ‚ acceptEditsใ€dontAsk ็ญ‰๏ผ‰๏ผŒๅœจๅฎ‰ๅ…จไธŽๆ•ˆ็އไน‹้—ดๅ–ๅพ—ไบ†ๆžไฝณๅนณ่กกใ€‚
ไธŠไธ‹ๆ–‡"่ฎฐๅฟ†"็ฎก็†้€š่ฟ‡ไผš่ฏ ID ่‡ชๅŠจๅค„็†ๅฏน่ฏๅކๅฒๅ’Œๅทฅไฝœ็Šถๆ€๏ผŒๆ”ฏๆŒๅคๆ‚็š„้•ฟไธŠไธ‹ๆ–‡็†่งฃใ€‚

ๆ›ดๅคšไบ†่งฃๅฏๅ‚่€ƒ๏ผšClaude Agent SDK ๆ–‡ๆกฃ

3.ๅฟซ้€ŸไธŠๆ‰‹๏ผš็Žฏๅขƒ้…็ฝฎไธŽๅˆๅง‹ๅŒ– โ€‹

3.1 ๅฎ‰่ฃ…ไพ่ต– โ€‹

็”ฑไบŽๆœฌ้กน็›ฎๅŸบไบŽ Node.js ไธŽ TypeScript๏ผŒ้ฆ–ๅ…ˆ้œ€่ฆๅผ•ๅ…ฅๆ ธๅฟƒๅŒ…๏ผš

bash
pnpm install @anthropic-ai/claude-agent-sdk

3.2 ็Žฏๅขƒๅ˜้‡็š„โ€œ้™ท้˜ฑโ€ไธŽ้…็ฝฎ โ€‹

SDK ้ป˜่ฎคไธไผšไธปๅŠจๆ‰ซๆ .env ๆ–‡ไปถใ€‚ไธบไบ†็กฎไฟ API Key ๅ’Œ่‡ชๅฎšไน‰ๆจกๅž‹ๅ‚ๆ•ฐ็”Ÿๆ•ˆ๏ผŒๆˆ‘ไปฌ้œ€่ฆๅœจๅ…ฅๅฃๅค„ๆ˜พๅผๅŠ ่ฝฝ๏ผš

typescript
// ้กน็›ฎๅ…ฅๅฃๆ–‡ไปถ index.ts
+import{T as n}from"./chunks/TwoColumnImage.BAUswlD7.js";import{g as l,h as p,U as e,z as h,i,S as a}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const g=JSON.parse('{"title":"ๅ‘Šๅˆซๆ‰‹ๅŠจ Loop๏ผšๅ€ŸๅŠฉ Claude Agent SDK ๅฎž็Žฐ Agent ็š„ๅทฅ็จ‹ๅŒ–้—ญ็Žฏ","description":"ๅœจ Agent ๆŠ€ๆœฏๅฟซ้€Ÿ่ตฐๅ‘ๆˆ็†Ÿ็š„ไปŠๅคฉ๏ผŒๅฆ‚ไฝ•ไฝŽๆˆๆœฌๆž„ๅปบๅ…ทๅค‡โ€œ่‡ชไธปๆดžๅฏŸโ€่ƒฝๅŠ›็š„ๆ™บ่ƒฝไฝ“๏ผŸๆœฌๆ–‡ๆทฑๅบฆๆ‹†่งฃ Anthropic ๅฎ˜ๆ–นๆŽจๅ‡บ็š„ Claude Agent SDK๏ผŒ่งฃๆžๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆ‰˜็ฎก Agent Loop ๅ’Œไผš่ฏๆŒไน…ๅŒ–ๆœบๅˆถ๏ผŒ่งฃๅ†ณ Agent ๅผ€ๅ‘ไธญ็š„็Šถๆ€็ฎก็†้šพ้ข˜ใ€‚ๆ–‡็ซ ้€š่ฟ‡ไปŽๆ— ็Šถๆ€ไบคไบ’ๅˆฐๅ…ทๅค‡ๆตๅผ่พ“ๅ‡บ่ƒฝๅŠ›็š„ TUI ่‡ชๅŠจๅŒ–ๅทฅๅ…ท่ฟ›้˜ถๅฎžๆˆ˜๏ผŒๅฑ•็คบไบ†ๆž„ๅปบไฝŽๆˆๆœฌใ€้ซ˜ๅฏ็”จ AI ๅŽŸ็”Ÿๅบ”็”จ็š„ๅฎŒๆ•ด่ทฏๅพ„ใ€‚","frontmatter":{"date":"2026-03-06T00:37:58.000Z","title":"ๅ‘Šๅˆซๆ‰‹ๅŠจ Loop๏ผšๅ€ŸๅŠฉ Claude Agent SDK ๅฎž็Žฐ Agent ็š„ๅทฅ็จ‹ๅŒ–้—ญ็Žฏ","description":"ๅœจ Agent ๆŠ€ๆœฏๅฟซ้€Ÿ่ตฐๅ‘ๆˆ็†Ÿ็š„ไปŠๅคฉ๏ผŒๅฆ‚ไฝ•ไฝŽๆˆๆœฌๆž„ๅปบๅ…ทๅค‡โ€œ่‡ชไธปๆดžๅฏŸโ€่ƒฝๅŠ›็š„ๆ™บ่ƒฝไฝ“๏ผŸๆœฌๆ–‡ๆทฑๅบฆๆ‹†่งฃ Anthropic ๅฎ˜ๆ–นๆŽจๅ‡บ็š„ Claude Agent SDK๏ผŒ่งฃๆžๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆ‰˜็ฎก Agent Loop ๅ’Œไผš่ฏๆŒไน…ๅŒ–ๆœบๅˆถ๏ผŒ่งฃๅ†ณ Agent ๅผ€ๅ‘ไธญ็š„็Šถๆ€็ฎก็†้šพ้ข˜ใ€‚ๆ–‡็ซ ้€š่ฟ‡ไปŽๆ— ็Šถๆ€ไบคไบ’ๅˆฐๅ…ทๅค‡ๆตๅผ่พ“ๅ‡บ่ƒฝๅŠ›็š„ TUI ่‡ชๅŠจๅŒ–ๅทฅๅ…ท่ฟ›้˜ถๅฎžๆˆ˜๏ผŒๅฑ•็คบไบ†ๆž„ๅปบไฝŽๆˆๆœฌใ€้ซ˜ๅฏ็”จ AI ๅŽŸ็”Ÿๅบ”็”จ็š„ๅฎŒๆ•ด่ทฏๅพ„ใ€‚","permalink":"/ai-practice/claude-agent-sdk-basic-build","top":true,"categories":["AI ๅญฆไน ไธŽๅฎž่ทต"],"tags":["Agent","Agent SDK"]},"headers":[],"relativePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/20.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Agent.md","filePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/20.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Agent.md"}'),t={name:"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/20.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Agent.md"},c=Object.assign(t,{setup(k){return(r,s)=>(p(),l("div",null,[s[0]||(s[0]=e(`

ๅ‘Šๅˆซๆ‰‹ๅŠจ Loop๏ผšๅ€ŸๅŠฉ Claude Agent SDK ๅฎž็Žฐ Agent ็š„ๅทฅ็จ‹ๅŒ–้—ญ็Žฏ โ€‹

ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจ Agent ๆŠ€ๆœฏๅฟซ้€Ÿ่ตฐๅ‘ๆˆ็†Ÿ็š„ไปŠๅคฉ๏ผŒๅฆ‚ไฝ•ไฝŽๆˆๆœฌๆž„ๅปบๅ…ทๅค‡โ€œ่‡ชไธปๆดžๅฏŸโ€่ƒฝๅŠ›็š„ๆ™บ่ƒฝไฝ“๏ผŸๆœฌๆ–‡ๆ‹†่งฃ Anthropic ๅฎ˜ๆ–นๆŽจๅ‡บ็š„ Claude Agent SDK๏ผŒ่งฃๆžๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆ‰˜็ฎก Agent Loopใ€ไผš่ฏๆŒไน…ๅŒ–็ญ‰ๆœบๅˆถ๏ผŒ่งฃๅ†ณ Agent ๅผ€ๅ‘ไธญ็š„็Šถๆ€็ฎก็†้šพ้ข˜ใ€‚ๆ–‡็ซ ้€š่ฟ‡ไปŽๆ— ็Šถๆ€ไบคไบ’ๅˆฐๅ…ทๅค‡ๆตๅผ่พ“ๅ‡บ่ƒฝๅŠ›็š„ TUI ่‡ชๅŠจๅŒ–ๅทฅๅ…ท่ฟ›้˜ถๅฎžๆˆ˜๏ผŒๅฑ•็คบไบ†ๆž„ๅปบไฝŽๆˆๆœฌใ€้ซ˜ๅฏ็”จ AI ๅŽŸ็”Ÿๅบ”็”จ็š„ๅฎŒๆ•ด่ทฏๅพ„ใ€‚

1. ๅผ•่จ€ โ€‹

ๅฝ“ๅ‰๏ผŒAI Agent ็š„ๆผ”่ฟ›ๅทฒ่ฟ›ๅ…ฅไธ€ไธชๅดญๆ–ฐ็š„้˜ถๆฎตโ€”โ€”ไปŽ้œ€่ฆ้ข‘็นไบบๅทฅๅนฒ้ข„็š„"ๅŠ่‡ชๅŠจ"ๆจกๅผ๏ผŒ่ฟ›ๅŒ–ไธบ่ƒฝๅคŸ่‡ชไธปๆดžๅฏŸ็Žฏๅขƒๅ˜ๅŒ–ใ€ๅŠจๆ€่ฐƒๆ•ดๆ‰ง่กŒ็ญ–็•ฅใ€ๅฎž็ŽฐไธšๅŠกๆต็จ‹่‡ช้€‚ๅบ”็ผ–ๆŽ’็š„ๆ™บ่ƒฝๅŒ–็ณป็ปŸใ€‚Claude Codeใ€Manusใ€OpenClaw ็ญ‰ไปฃ่กจๆ€งไบงๅ“ๅฑ‚ๅ‡บไธ็ฉท๏ผŒไนŸๆ ‡ๅฟ—็€ Agent ๆŠ€ๆœฏๆญฃๅœจๅฟซ้€Ÿ่ตฐๅ‘ๆˆ็†ŸไธŽๆ™ฎๅŠใ€‚

่ฟ‘ๆœŸ๏ผŒ็ฌ”่€…ๅœจไธบไธชไบบๅšๅฎขๅผ•ๅ…ฅๆ™บ่ƒฝๅŒ–่ฟ่ฅ่ƒฝๅŠ›๏ผˆๅฆ‚ๅ†…ๅฎน่‡ชๅŠจๆ กๅฏนใ€ๅฎก็จฟไธŽๅ‘ๅธƒ๏ผ‰๏ผŒๆทฑๅ…ฅ็ ”็ฉถไบ†ๅคšๆฌพ Agent ๅผ€ๅ‘ๆก†ๆžถ๏ผŒๅฆ‚ Claude Agent SDKใ€Langchainใ€LangGraph ็ญ‰ใ€‚ๅœจ็ป่ฟ‡ๅˆๆญฅ็š„็ ”็ฉถๅฏนๆฏ”ๅˆ†ๆžๅŽ๏ผŒClaude Agent SDK ๆˆไธบไบ†ไฝŽๆˆๆœฌๆž„ๅปบ้ซ˜ๅฏ็”จ Agent ็š„้ฆ–้€‰ใ€‚

ๆœฌๆ–‡ๅฐ†ๅŸบไบŽ Claude Agent SDK๏ผŒๅˆ†ไบซไธ€ไธชไปŽ 0 ๅˆฐ 1 ๆž„ๅปบ็ฎ€ๅ• Agent ็š„ๅฎž่ทต็ป้ชŒใ€‚็›ธๅ…ณๆบไปฃ็ ๅทฒๅผ€ๆบ่‡ณ GitHub๏ผŒๆ‰˜็ฎกๅœจๆˆ‘ไธŽๅ‡ ไธชๅฅฝๅ‹ๅ…ฑๅŒๅˆ›ๅปบ็š„็ป„็ป‡ full-stack-workspace ๆ——ไธ‹็š„ agent-playground ไป“ๅบ“ไธญ๏ผŒๅฏนๅบ”็คบไพ‹้กน็›ฎไธบ๏ผš@agent-playground/basic-example

2. ไธบไป€ไนˆ้€‰ๆ‹ฉ Claude Agent SDK๏ผŸ โ€‹

Claude Agent SDK๏ผˆๅ‰่บซไธบ Claude Code SDK๏ผ‰ๆ˜ฏ Anthropic ๅฎ˜ๆ–นๆŽจๅ‡บ็š„ๅผ€ๆบๆก†ๆžถใ€‚ๅฎƒ็š„ๆ ธๅฟƒไปทๅ€ผๅœจไบŽๅฐ†ๅคๆ‚็š„โ€œ่ง„ๅˆ’-ๆ‰ง่กŒ-่ง‚ๅฏŸโ€ๅพช็Žฏ๏ผˆAgent Loop๏ผ‰่ฟ›่กŒไบ†้ซ˜ๅบฆๅทฅ็จ‹ๅŒ–ๅฐ่ฃ…๏ผŒๆไพ›็ฎ€ๆด็š„ API ็”จไบŽๆž„ๅปบๅ…ทๆœ‰ๅทฅๅ…ทไฝฟ็”จ่ƒฝๅŠ›็š„ AI Agent๏ผŒ่ฎฉๅผ€ๅ‘่€…ไธ“ๆณจไบŽไธšๅŠก้€ป่พ‘ๅ’Œๆ™บ่ƒฝไฝ“่กŒไธบ็š„่ฎพ่ฎกใ€‚

ๅฏนไบŽๅผ€ๅ‘่€…่€Œ่จ€๏ผŒๅฎƒ่งฃๅ†ณไบ†ไปฅไธ‹ๆ ธๅฟƒ็—›็‚น๏ผš

็‰นๆ€ง่ฏดๆ˜Ž
Agent LoopSDK ๅ†…้ƒจ่‡ชๅŠจ็ฎก็†ๅคš่ฝฎไบคไบ’ใ€่ง„ๅˆ’ๅ†ณ็ญ–ๅ’Œๅทฅๅ…ท่ฐƒ็”จ๏ผŒๅผ€ๅ‘่€…ๆ— ้œ€ๅ†ๆ‰‹ๅ†™ๅคๆ‚็š„้€’ๅฝ’ๆˆ–ๅพช็Žฏ้€ป่พ‘ใ€‚
ๅผ€็ฎฑๅณ็”จ็š„ๅŽŸ็”ŸๆŠ€่ƒฝ้ข„็ฝฎไบ†็ป่ฟ‡ Anthropic ๆทฑๅบฆไผ˜ๅŒ–็š„ๅทฅๅ…ท๏ผŒๅฆ‚ๆ–‡ไปถ็ณป็ปŸๆ“ไฝœ๏ผˆRead/Write/Edit๏ผ‰ใ€็ปˆ็ซฏๅ‘ฝไปคๆ‰ง่กŒ๏ผˆBash๏ผ‰ไปฅๅŠ็ฝ‘็ปœ่ฎฟ้—ฎใ€‚
ๆธ่ฟ›ๅผๆƒ้™ๆŽงๅˆถๆไพ›ๅคš็บง PermissionMode๏ผˆๅฆ‚ acceptEditsใ€dontAsk ็ญ‰๏ผ‰๏ผŒๅœจๅฎ‰ๅ…จไธŽๆ•ˆ็އไน‹้—ดๅ–ๅพ—ไบ†ๆžไฝณๅนณ่กกใ€‚
ไธŠไธ‹ๆ–‡"่ฎฐๅฟ†"็ฎก็†้€š่ฟ‡ไผš่ฏ ID ่‡ชๅŠจๅค„็†ๅฏน่ฏๅކๅฒๅ’Œๅทฅไฝœ็Šถๆ€๏ผŒๆ”ฏๆŒๅคๆ‚็š„้•ฟไธŠไธ‹ๆ–‡็†่งฃใ€‚

ๆ›ดๅคšไบ†่งฃๅฏๅ‚่€ƒ๏ผšClaude Agent SDK ๆ–‡ๆกฃ

3.ๅฟซ้€ŸไธŠๆ‰‹๏ผš็Žฏๅขƒ้…็ฝฎไธŽๅˆๅง‹ๅŒ– โ€‹

3.1 ๅฎ‰่ฃ…ไพ่ต– โ€‹

็”ฑไบŽๆœฌ้กน็›ฎๅŸบไบŽ Node.js ไธŽ TypeScript๏ผŒ้ฆ–ๅ…ˆ้œ€่ฆๅผ•ๅ…ฅๆ ธๅฟƒๅŒ…๏ผš

bash
pnpm install @anthropic-ai/claude-agent-sdk

3.2 ็Žฏๅขƒๅ˜้‡็š„โ€œ้™ท้˜ฑโ€ไธŽ้…็ฝฎ โ€‹

SDK ้ป˜่ฎคไธไผšไธปๅŠจๆ‰ซๆ .env ๆ–‡ไปถใ€‚ไธบไบ†็กฎไฟ API Key ๅ’Œ่‡ชๅฎšไน‰ๆจกๅž‹ๅ‚ๆ•ฐ็”Ÿๆ•ˆ๏ผŒๆˆ‘ไปฌ้œ€่ฆๅœจๅ…ฅๅฃๅค„ๆ˜พๅผๅŠ ่ฝฝ๏ผš

typescript
// ้กน็›ฎๅ…ฅๅฃๆ–‡ไปถ index.ts
 // ๆ˜พๅผๅฐ† .env ๆ–‡ไปถไธญ็š„ๅ†…ๅฎนๅŠ ่ฝฝๅˆฐ็Žฏๅขƒๅ˜้‡ไธญ
 import 'dotenv/config';

.env ๆ–‡ไปถ้…็ฝฎๅปบ่ฎฎ๏ผšๅœจๆต‹่ฏ•้˜ถๆฎต๏ผŒๅปบ่ฎฎ้…็ฝฎ ANTHROPIC_DEFAULT_HAIKU_MODEL ๅค„็†็ฎ€ๅ•้€ป่พ‘๏ผŒไฝฟ็”จ SONNET ๅค„็†ๅคๆ‚่ง„ๅˆ’๏ผŒไปฅๅนณ่กกๅ“ๅบ”้€ŸๅบฆไธŽๆˆๆœฌใ€‚

bash
# .env
 ANTHROPIC_BASE_URL=your_custom_model_api_base_url
diff --git "a/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_04.\347\244\276\345\214\272\346\264\273\345\212\250\344\270\216\345\256\236\350\267\265\345\260\217\351\241\271\347\233\256_20.\345\237\272\344\272\216 Claude Agent SDK \346\220\255\345\273\272 Agent.md.CWhLwl8r.lean.js" "b/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_04.\347\244\276\345\214\272\346\264\273\345\212\250\344\270\216\345\256\236\350\267\265\345\260\217\351\241\271\347\233\256_20.\345\237\272\344\272\216 Claude Agent SDK \346\220\255\345\273\272 Agent.md.CAQEdrbh.lean.js"
similarity index 96%
rename from "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_04.\347\244\276\345\214\272\346\264\273\345\212\250\344\270\216\345\256\236\350\267\265\345\260\217\351\241\271\347\233\256_20.\345\237\272\344\272\216 Claude Agent SDK \346\220\255\345\273\272 Agent.md.CWhLwl8r.lean.js"
rename to "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_04.\347\244\276\345\214\272\346\264\273\345\212\250\344\270\216\345\256\236\350\267\265\345\260\217\351\241\271\347\233\256_20.\345\237\272\344\272\216 Claude Agent SDK \346\220\255\345\273\272 Agent.md.CAQEdrbh.lean.js"
index f3a1e1e0..c8cc39a3 100644
--- "a/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_04.\347\244\276\345\214\272\346\264\273\345\212\250\344\270\216\345\256\236\350\267\265\345\260\217\351\241\271\347\233\256_20.\345\237\272\344\272\216 Claude Agent SDK \346\220\255\345\273\272 Agent.md.CWhLwl8r.lean.js"	
+++ "b/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_04.\347\244\276\345\214\272\346\264\273\345\212\250\344\270\216\345\256\236\350\267\265\345\260\217\351\241\271\347\233\256_20.\345\237\272\344\272\216 Claude Agent SDK \346\220\255\345\273\272 Agent.md.CAQEdrbh.lean.js"	
@@ -1 +1 @@
-import{T as n}from"./chunks/TwoColumnImage.C5EZ0-fZ.js";import{g as l,h as p,U as e,z as h,i,S as a}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const g=JSON.parse('{"title":"ๅ‘Šๅˆซๆ‰‹ๅŠจ Loop๏ผšๅ€ŸๅŠฉ Claude Agent SDK ๅฎž็Žฐ Agent ็š„ๅทฅ็จ‹ๅŒ–้—ญ็Žฏ","description":"ๅœจ Agent ๆŠ€ๆœฏๅฟซ้€Ÿ่ตฐๅ‘ๆˆ็†Ÿ็š„ไปŠๅคฉ๏ผŒๅฆ‚ไฝ•ไฝŽๆˆๆœฌๆž„ๅปบๅ…ทๅค‡โ€œ่‡ชไธปๆดžๅฏŸโ€่ƒฝๅŠ›็š„ๆ™บ่ƒฝไฝ“๏ผŸๆœฌๆ–‡ๆทฑๅบฆๆ‹†่งฃ Anthropic ๅฎ˜ๆ–นๆŽจๅ‡บ็š„ Claude Agent SDK๏ผŒ่งฃๆžๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆ‰˜็ฎก Agent Loop ๅ’Œไผš่ฏๆŒไน…ๅŒ–ๆœบๅˆถ๏ผŒ่งฃๅ†ณ Agent ๅผ€ๅ‘ไธญ็š„็Šถๆ€็ฎก็†้šพ้ข˜ใ€‚ๆ–‡็ซ ้€š่ฟ‡ไปŽๆ— ็Šถๆ€ไบคไบ’ๅˆฐๅ…ทๅค‡ๆตๅผ่พ“ๅ‡บ่ƒฝๅŠ›็š„ TUI ่‡ชๅŠจๅŒ–ๅทฅๅ…ท่ฟ›้˜ถๅฎžๆˆ˜๏ผŒๅฑ•็คบไบ†ๆž„ๅปบไฝŽๆˆๆœฌใ€้ซ˜ๅฏ็”จ AI ๅŽŸ็”Ÿๅบ”็”จ็š„ๅฎŒๆ•ด่ทฏๅพ„ใ€‚","frontmatter":{"date":"2026-03-06T00:37:58.000Z","title":"ๅ‘Šๅˆซๆ‰‹ๅŠจ Loop๏ผšๅ€ŸๅŠฉ Claude Agent SDK ๅฎž็Žฐ Agent ็š„ๅทฅ็จ‹ๅŒ–้—ญ็Žฏ","description":"ๅœจ Agent ๆŠ€ๆœฏๅฟซ้€Ÿ่ตฐๅ‘ๆˆ็†Ÿ็š„ไปŠๅคฉ๏ผŒๅฆ‚ไฝ•ไฝŽๆˆๆœฌๆž„ๅปบๅ…ทๅค‡โ€œ่‡ชไธปๆดžๅฏŸโ€่ƒฝๅŠ›็š„ๆ™บ่ƒฝไฝ“๏ผŸๆœฌๆ–‡ๆทฑๅบฆๆ‹†่งฃ Anthropic ๅฎ˜ๆ–นๆŽจๅ‡บ็š„ Claude Agent SDK๏ผŒ่งฃๆžๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆ‰˜็ฎก Agent Loop ๅ’Œไผš่ฏๆŒไน…ๅŒ–ๆœบๅˆถ๏ผŒ่งฃๅ†ณ Agent ๅผ€ๅ‘ไธญ็š„็Šถๆ€็ฎก็†้šพ้ข˜ใ€‚ๆ–‡็ซ ้€š่ฟ‡ไปŽๆ— ็Šถๆ€ไบคไบ’ๅˆฐๅ…ทๅค‡ๆตๅผ่พ“ๅ‡บ่ƒฝๅŠ›็š„ TUI ่‡ชๅŠจๅŒ–ๅทฅๅ…ท่ฟ›้˜ถๅฎžๆˆ˜๏ผŒๅฑ•็คบไบ†ๆž„ๅปบไฝŽๆˆๆœฌใ€้ซ˜ๅฏ็”จ AI ๅŽŸ็”Ÿๅบ”็”จ็š„ๅฎŒๆ•ด่ทฏๅพ„ใ€‚","permalink":"/ai-practice/claude-agent-sdk-basic-build","top":true,"categories":["AI ๅญฆไน ไธŽๅฎž่ทต"],"tags":["Agent","Agent SDK"]},"headers":[],"relativePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/20.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Agent.md","filePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/20.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Agent.md"}'),t={name:"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/20.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Agent.md"},c=Object.assign(t,{setup(k){return(r,s)=>(p(),l("div",null,[s[0]||(s[0]=e("",52)),h(n,{"left-image":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/ai-practice/tui_chat_1.png","right-image":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/ai-practice/tui_chat_2.png",leftCaption:"",rightCaption:""}),s[1]||(s[1]=i("h2",{id:"_7-็ป“ๆŸ่ฏญ",tabindex:"-1"},[a("7. ็ป“ๆŸ่ฏญ "),i("a",{class:"header-anchor",href:"#_7-็ป“ๆŸ่ฏญ","aria-label":"Permalink to โ€œ7. ็ป“ๆŸ่ฏญโ€"},"โ€‹")],-1)),s[2]||(s[2]=i("blockquote",null,[i("p",null,[i("strong",null,"ไปŽโ€œ่ฐƒๅŒ…ไพ โ€ๅˆฐโ€œAI ๆžถๆž„ๅธˆโ€๏ผŒ่ฟˆๅ‘ๆ›ดๅคๆ‚็š„ไธšๅŠก็ผ–ๆŽ’ใ€‚")])],-1)),s[3]||(s[3]=i("p",null,[a("้€š่ฟ‡ Claude Agent SDK ๏ผŒๆˆ‘ไปฌไป…้œ€ๅฐ‘้‡ไปฃ็ ๅฐฑ่ƒฝๆž„ๅปบๅ‡บๅ…ทๅค‡่‡ชไธปๆ‰ง่กŒ่ƒฝๅŠ›็š„ Agent๏ผŒๅ…ถ่ƒŒๅŽ็š„่ฎพ่ฎกๆ€ๆƒณ๏ผš"),i("strong",null,"้€š่ฟ‡ๆ ‡ๅ‡†ๅŒ– Skill ๅ’Œไผš่ฏ็ฎก็†"),a("๏ผŒๅฐ†ๅคๆ‚็š„ AI ไบคไบ’้€ป่พ‘่ฝฌๅŒ–ไธบๅฏ้ข„ๆต‹็š„่ฝฏไปถๅทฅ็จ‹ๅฎž่ทตใ€‚")],-1)),s[4]||(s[4]=i("p",null,"ๆทฑๅบฆไฝ“้ชŒๅŽ๏ผŒๆˆ‘ๆœ€ๅคง็š„ๆ„Ÿ่งฆๆ˜ฏ๏ผš๏ผŒAgent ็š„ๅผ€ๅ‘้‡ๅฟƒไนŸๆญฃๅœจ่ฝฌๅ‘โ€œๅฆ‚ไฝ•ๆž„ๅปบๅฏ้ ็š„ๅทฅ็จ‹้—ญ็Žฏโ€ใ€‚้€š่ฟ‡ SDK ๆไพ›็š„ Agent Loopใ€ไผš่ฏ็ฎก็†ๅ’Œๆ ‡ๅ‡†ๅŒ–็š„ๅทฅๅ…ทใ€Skill ๅ’Œ MCP ็ญ‰ๆ‰ฉๅฑ•๏ผŒๆˆ‘ไปฌๅฎž้™…ไธŠๆ˜ฏๅœจไธบ AI ๆญๅปบไธ€ๅฅ—ไธ“ๅฑž็š„โ€œๆ“ไฝœ็ณป็ปŸโ€ใ€‚ๅฎƒ่ฎฉ AI ็š„่กŒไธบๅ˜ๅพ—ๅฏ่ง‚ๆต‹๏ผˆ้€š่ฟ‡ๆตๅผๆ—ฅๅฟ—๏ผ‰ใ€ๅฏ่ฟฝๆบฏ๏ผˆ้€š่ฟ‡ไผš่ฏ ID๏ผ‰ไธ”ๅฏๆ‰ฉๅฑ•๏ผˆ้€š่ฟ‡่‡ชๅฎšไน‰ๅทฅๅ…ท๏ผ‰ใ€‚",-1)),s[5]||(s[5]=i("p",null,"่ฟ™็ง่ฝฌๅ˜ๆ ‡ๅฟ—็€็œŸๆญฃ็š„ AI Native ่ฝฏไปถๅทฅ็จ‹็š„ๆญฃๅผๅˆฐๆฅใ€‚ๆŽŒๆก่ฟ™็ฑป SDK๏ผŒๆœฌ่ดจไธŠๆ˜ฏๅœจๅญฆไน ๅฆ‚ไฝ•ๅˆฉ็”จ AI ่ฟ™ไธชโ€œ้ซ˜้˜ถๆ ๆ†โ€ๅŽป็ผ–ๆŽ’ๅคๆ‚็š„ไธšๅŠกๆตใ€‚",-1)),s[6]||(s[6]=i("p",null,'็›ฎๅ‰๏ผŒๆˆ‘ๆญฃๅœจๅฐ่ฏ•ๅฐ†่ฟ™ๅฅ—็†ๅฟต่žๅ…ฅๆˆ‘็š„ๅšๅฎขๅ†…ๅฎนๅทฅไฝœๆต๏ผŒๅฎž็ŽฐไปŽ"ๅคš็ปดไฟกๆบๆŠ“ๅ–"ๅˆฐ"้ฃŽๆ ผๅŒ–ๆถฆ่‰ฒ"็š„ๅ…จๆต็จ‹่‡ชๅŠจๅŒ–ใ€‚ๅฆ‚ๆžœไฝ ๅฏน Agent ๅœจ็œŸๅฎžไธšๅŠกๅœบๆ™ฏไธญๅฏ่ƒฝ้ขไธด็š„"ๅทฅ็จ‹่…ๅŒ–"้—ฎ้ข˜๏ผŒๆˆ–ๆ˜ฏๅ…ถ"ๆ•ˆ็އ่พน็•Œ"็š„ๆŽข็ดขๆ„Ÿๅ…ด่ถฃ๏ผŒๆฌข่ฟŽๆŒ็ปญๅ…ณๆณจๆœฌ็ณปๅˆ—็š„ๅŽ็ปญๆ›ดๆ–ฐใ€‚',-1))]))}});export{g as __pageData,c as default};
+import{T as n}from"./chunks/TwoColumnImage.BAUswlD7.js";import{g as l,h as p,U as e,z as h,i,S as a}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const g=JSON.parse('{"title":"ๅ‘Šๅˆซๆ‰‹ๅŠจ Loop๏ผšๅ€ŸๅŠฉ Claude Agent SDK ๅฎž็Žฐ Agent ็š„ๅทฅ็จ‹ๅŒ–้—ญ็Žฏ","description":"ๅœจ Agent ๆŠ€ๆœฏๅฟซ้€Ÿ่ตฐๅ‘ๆˆ็†Ÿ็š„ไปŠๅคฉ๏ผŒๅฆ‚ไฝ•ไฝŽๆˆๆœฌๆž„ๅปบๅ…ทๅค‡โ€œ่‡ชไธปๆดžๅฏŸโ€่ƒฝๅŠ›็š„ๆ™บ่ƒฝไฝ“๏ผŸๆœฌๆ–‡ๆทฑๅบฆๆ‹†่งฃ Anthropic ๅฎ˜ๆ–นๆŽจๅ‡บ็š„ Claude Agent SDK๏ผŒ่งฃๆžๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆ‰˜็ฎก Agent Loop ๅ’Œไผš่ฏๆŒไน…ๅŒ–ๆœบๅˆถ๏ผŒ่งฃๅ†ณ Agent ๅผ€ๅ‘ไธญ็š„็Šถๆ€็ฎก็†้šพ้ข˜ใ€‚ๆ–‡็ซ ้€š่ฟ‡ไปŽๆ— ็Šถๆ€ไบคไบ’ๅˆฐๅ…ทๅค‡ๆตๅผ่พ“ๅ‡บ่ƒฝๅŠ›็š„ TUI ่‡ชๅŠจๅŒ–ๅทฅๅ…ท่ฟ›้˜ถๅฎžๆˆ˜๏ผŒๅฑ•็คบไบ†ๆž„ๅปบไฝŽๆˆๆœฌใ€้ซ˜ๅฏ็”จ AI ๅŽŸ็”Ÿๅบ”็”จ็š„ๅฎŒๆ•ด่ทฏๅพ„ใ€‚","frontmatter":{"date":"2026-03-06T00:37:58.000Z","title":"ๅ‘Šๅˆซๆ‰‹ๅŠจ Loop๏ผšๅ€ŸๅŠฉ Claude Agent SDK ๅฎž็Žฐ Agent ็š„ๅทฅ็จ‹ๅŒ–้—ญ็Žฏ","description":"ๅœจ Agent ๆŠ€ๆœฏๅฟซ้€Ÿ่ตฐๅ‘ๆˆ็†Ÿ็š„ไปŠๅคฉ๏ผŒๅฆ‚ไฝ•ไฝŽๆˆๆœฌๆž„ๅปบๅ…ทๅค‡โ€œ่‡ชไธปๆดžๅฏŸโ€่ƒฝๅŠ›็š„ๆ™บ่ƒฝไฝ“๏ผŸๆœฌๆ–‡ๆทฑๅบฆๆ‹†่งฃ Anthropic ๅฎ˜ๆ–นๆŽจๅ‡บ็š„ Claude Agent SDK๏ผŒ่งฃๆžๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆ‰˜็ฎก Agent Loop ๅ’Œไผš่ฏๆŒไน…ๅŒ–ๆœบๅˆถ๏ผŒ่งฃๅ†ณ Agent ๅผ€ๅ‘ไธญ็š„็Šถๆ€็ฎก็†้šพ้ข˜ใ€‚ๆ–‡็ซ ้€š่ฟ‡ไปŽๆ— ็Šถๆ€ไบคไบ’ๅˆฐๅ…ทๅค‡ๆตๅผ่พ“ๅ‡บ่ƒฝๅŠ›็š„ TUI ่‡ชๅŠจๅŒ–ๅทฅๅ…ท่ฟ›้˜ถๅฎžๆˆ˜๏ผŒๅฑ•็คบไบ†ๆž„ๅปบไฝŽๆˆๆœฌใ€้ซ˜ๅฏ็”จ AI ๅŽŸ็”Ÿๅบ”็”จ็š„ๅฎŒๆ•ด่ทฏๅพ„ใ€‚","permalink":"/ai-practice/claude-agent-sdk-basic-build","top":true,"categories":["AI ๅญฆไน ไธŽๅฎž่ทต"],"tags":["Agent","Agent SDK"]},"headers":[],"relativePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/20.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Agent.md","filePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/20.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Agent.md"}'),t={name:"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/20.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Agent.md"},c=Object.assign(t,{setup(k){return(r,s)=>(p(),l("div",null,[s[0]||(s[0]=e("",52)),h(n,{"left-image":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/ai-practice/tui_chat_1.png","right-image":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/ai-practice/tui_chat_2.png",leftCaption:"",rightCaption:""}),s[1]||(s[1]=i("h2",{id:"_7-็ป“ๆŸ่ฏญ",tabindex:"-1"},[a("7. ็ป“ๆŸ่ฏญ "),i("a",{class:"header-anchor",href:"#_7-็ป“ๆŸ่ฏญ","aria-label":"Permalink to โ€œ7. ็ป“ๆŸ่ฏญโ€"},"โ€‹")],-1)),s[2]||(s[2]=i("blockquote",null,[i("p",null,[i("strong",null,"ไปŽโ€œ่ฐƒๅŒ…ไพ โ€ๅˆฐโ€œAI ๆžถๆž„ๅธˆโ€๏ผŒ่ฟˆๅ‘ๆ›ดๅคๆ‚็š„ไธšๅŠก็ผ–ๆŽ’ใ€‚")])],-1)),s[3]||(s[3]=i("p",null,[a("้€š่ฟ‡ Claude Agent SDK ๏ผŒๆˆ‘ไปฌไป…้œ€ๅฐ‘้‡ไปฃ็ ๅฐฑ่ƒฝๆž„ๅปบๅ‡บๅ…ทๅค‡่‡ชไธปๆ‰ง่กŒ่ƒฝๅŠ›็š„ Agent๏ผŒๅ…ถ่ƒŒๅŽ็š„่ฎพ่ฎกๆ€ๆƒณ๏ผš"),i("strong",null,"้€š่ฟ‡ๆ ‡ๅ‡†ๅŒ– Skill ๅ’Œไผš่ฏ็ฎก็†"),a("๏ผŒๅฐ†ๅคๆ‚็š„ AI ไบคไบ’้€ป่พ‘่ฝฌๅŒ–ไธบๅฏ้ข„ๆต‹็š„่ฝฏไปถๅทฅ็จ‹ๅฎž่ทตใ€‚")],-1)),s[4]||(s[4]=i("p",null,"ๆทฑๅบฆไฝ“้ชŒๅŽ๏ผŒๆˆ‘ๆœ€ๅคง็š„ๆ„Ÿ่งฆๆ˜ฏ๏ผš๏ผŒAgent ็š„ๅผ€ๅ‘้‡ๅฟƒไนŸๆญฃๅœจ่ฝฌๅ‘โ€œๅฆ‚ไฝ•ๆž„ๅปบๅฏ้ ็š„ๅทฅ็จ‹้—ญ็Žฏโ€ใ€‚้€š่ฟ‡ SDK ๆไพ›็š„ Agent Loopใ€ไผš่ฏ็ฎก็†ๅ’Œๆ ‡ๅ‡†ๅŒ–็š„ๅทฅๅ…ทใ€Skill ๅ’Œ MCP ็ญ‰ๆ‰ฉๅฑ•๏ผŒๆˆ‘ไปฌๅฎž้™…ไธŠๆ˜ฏๅœจไธบ AI ๆญๅปบไธ€ๅฅ—ไธ“ๅฑž็š„โ€œๆ“ไฝœ็ณป็ปŸโ€ใ€‚ๅฎƒ่ฎฉ AI ็š„่กŒไธบๅ˜ๅพ—ๅฏ่ง‚ๆต‹๏ผˆ้€š่ฟ‡ๆตๅผๆ—ฅๅฟ—๏ผ‰ใ€ๅฏ่ฟฝๆบฏ๏ผˆ้€š่ฟ‡ไผš่ฏ ID๏ผ‰ไธ”ๅฏๆ‰ฉๅฑ•๏ผˆ้€š่ฟ‡่‡ชๅฎšไน‰ๅทฅๅ…ท๏ผ‰ใ€‚",-1)),s[5]||(s[5]=i("p",null,"่ฟ™็ง่ฝฌๅ˜ๆ ‡ๅฟ—็€็œŸๆญฃ็š„ AI Native ่ฝฏไปถๅทฅ็จ‹็š„ๆญฃๅผๅˆฐๆฅใ€‚ๆŽŒๆก่ฟ™็ฑป SDK๏ผŒๆœฌ่ดจไธŠๆ˜ฏๅœจๅญฆไน ๅฆ‚ไฝ•ๅˆฉ็”จ AI ่ฟ™ไธชโ€œ้ซ˜้˜ถๆ ๆ†โ€ๅŽป็ผ–ๆŽ’ๅคๆ‚็š„ไธšๅŠกๆตใ€‚",-1)),s[6]||(s[6]=i("p",null,'็›ฎๅ‰๏ผŒๆˆ‘ๆญฃๅœจๅฐ่ฏ•ๅฐ†่ฟ™ๅฅ—็†ๅฟต่žๅ…ฅๆˆ‘็š„ๅšๅฎขๅ†…ๅฎนๅทฅไฝœๆต๏ผŒๅฎž็ŽฐไปŽ"ๅคš็ปดไฟกๆบๆŠ“ๅ–"ๅˆฐ"้ฃŽๆ ผๅŒ–ๆถฆ่‰ฒ"็š„ๅ…จๆต็จ‹่‡ชๅŠจๅŒ–ใ€‚ๅฆ‚ๆžœไฝ ๅฏน Agent ๅœจ็œŸๅฎžไธšๅŠกๅœบๆ™ฏไธญๅฏ่ƒฝ้ขไธด็š„"ๅทฅ็จ‹่…ๅŒ–"้—ฎ้ข˜๏ผŒๆˆ–ๆ˜ฏๅ…ถ"ๆ•ˆ็އ่พน็•Œ"็š„ๆŽข็ดขๆ„Ÿๅ…ด่ถฃ๏ผŒๆฌข่ฟŽๆŒ็ปญๅ…ณๆณจๆœฌ็ณปๅˆ—็š„ๅŽ็ปญๆ›ดๆ–ฐใ€‚',-1))]))}});export{g as __pageData,c as default};
diff --git "a/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_04.\347\244\276\345\214\272\346\264\273\345\212\250\344\270\216\345\256\236\350\267\265\345\260\217\351\241\271\347\233\256_60.\346\225\260\345\255\246\345\260\217\345\212\251\346\211\213.md.DXM5G5Ag.js" "b/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_04.\347\244\276\345\214\272\346\264\273\345\212\250\344\270\216\345\256\236\350\267\265\345\260\217\351\241\271\347\233\256_60.\346\225\260\345\255\246\345\260\217\345\212\251\346\211\213.md.BVW8ytPR.js"
similarity index 99%
rename from "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_04.\347\244\276\345\214\272\346\264\273\345\212\250\344\270\216\345\256\236\350\267\265\345\260\217\351\241\271\347\233\256_60.\346\225\260\345\255\246\345\260\217\345\212\251\346\211\213.md.DXM5G5Ag.js"
rename to "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_04.\347\244\276\345\214\272\346\264\273\345\212\250\344\270\216\345\256\236\350\267\265\345\260\217\351\241\271\347\233\256_60.\346\225\260\345\255\246\345\260\217\345\212\251\346\211\213.md.BVW8ytPR.js"
index 7247f36a..ebfbff4f 100644
--- "a/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_04.\347\244\276\345\214\272\346\264\273\345\212\250\344\270\216\345\256\236\350\267\265\345\260\217\351\241\271\347\233\256_60.\346\225\260\345\255\246\345\260\217\345\212\251\346\211\213.md.DXM5G5Ag.js"	
+++ "b/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_04.\347\244\276\345\214\272\346\264\273\345\212\250\344\270\216\345\256\236\350\267\265\345\260\217\351\241\271\347\233\256_60.\346\225\260\345\255\246\345\260\217\345\212\251\346\211\213.md.BVW8ytPR.js"	
@@ -1,4 +1,4 @@
-import{_ as n,g as a,h as i,U as e}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const g=JSON.parse('{"title":"ไธ€ๆฌก็”ฑ Product Sense ้ฉฑๅŠจ็š„ Agent ๆž้™ๅฎž่ทต","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšAI ๆ—ถไปฃ๏ผŒๅ†™ๅฅฝไปฃ็ ๅชๆ˜ฏๅŠๆ ผ็บฟใ€‚ๅœจไธ€ๆฌกๆž้™ๆŒ‘ๆˆ˜่ต›ไธญ๏ผŒๆˆ‘ไปฌ้€š่ฟ‡ๅฏน K12 ่ต›้“็”จๆˆท็—›็‚น็š„็ฒพๅ‡†โ€œ่ง†่ง’ๅˆ‡ๆขโ€๏ผŒๆ‰“้€ ๅ‡บไธ€ๆฌพๆŽˆไบบไปฅๆธ”็š„โ€œๆ•ฐๅญฆ่พ…ๅฏผๅฏผๅธˆโ€ๅนถๆ–ฉ่Žทๅคงๅฅ–ใ€‚ๆœฌๆ–‡ๅค็›˜ไบ† Agent ๆญๅปบ่ƒŒๅŽ็š„ๆ ธๅฟƒ SOP ่ฎพ่ฎก้€ป่พ‘๏ผšๆŠ€ๆœฏ็ปˆ็ฉถ่ฆๅ›žๅฝ’ๅฏน็œŸๅฎžไบบๆ€ง็š„ไฝ“ๅฏŸไธŽๅ…ณๆ€€ใ€‚","frontmatter":{"date":"2024-06-14T22:00:00.000Z","title":"ไธ€ๆฌก็”ฑ Product Sense ้ฉฑๅŠจ็š„ Agent ๆž้™ๅฎž่ทต","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšAI ๆ—ถไปฃ๏ผŒๅ†™ๅฅฝไปฃ็ ๅชๆ˜ฏๅŠๆ ผ็บฟใ€‚ๅœจไธ€ๆฌกๆž้™ๆŒ‘ๆˆ˜่ต›ไธญ๏ผŒๆˆ‘ไปฌ้€š่ฟ‡ๅฏน K12 ่ต›้“็”จๆˆท็—›็‚น็š„็ฒพๅ‡†โ€œ่ง†่ง’ๅˆ‡ๆขโ€๏ผŒๆ‰“้€ ๅ‡บไธ€ๆฌพๆŽˆไบบไปฅๆธ”็š„โ€œๆ•ฐๅญฆ่พ…ๅฏผๅฏผๅธˆโ€ๅนถๆ–ฉ่Žทๅคงๅฅ–ใ€‚ๆœฌๆ–‡ๅค็›˜ไบ† Agent ๆญๅปบ่ƒŒๅŽ็š„ๆ ธๅฟƒ SOP ่ฎพ่ฎก้€ป่พ‘๏ผšๆŠ€ๆœฏ็ปˆ็ฉถ่ฆๅ›žๅฝ’ๅฏน็œŸๅฎžไบบๆ€ง็š„ไฝ“ๅฏŸไธŽๅ…ณๆ€€ใ€‚","coverImg":"/img/cover/llm_learning_bg_2.png","permalink":"/ai-practice/math-bot","categories":["ai-practice"],"tags":["Agent","ไบงๅ“ Sense"]},"headers":[],"relativePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/60.ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹.md","filePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/60.ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹.md"}'),p={name:"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/60.ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹.md"};function l(t,s,r,h,k,o){return i(),a("div",null,[...s[0]||(s[0]=[e(`

ไธ€ๆฌก็”ฑ Product Sense ้ฉฑๅŠจ็š„ Agent ๆž้™ๅฎž่ทต โ€‹

ๆ‘˜่ฆๆ€ป็ป“๏ผšAI ๆ—ถไปฃ๏ผŒๅ†™ๅฅฝไปฃ็ ๅชๆ˜ฏๅŠๆ ผ็บฟใ€‚ๅœจไธ€ๆฌกๆž้™ๆŒ‘ๆˆ˜่ต›ไธญ๏ผŒๆˆ‘ไปฌ้€š่ฟ‡ๅฏน K12 ่ต›้“็”จๆˆท็—›็‚น็š„็ฒพๅ‡†โ€œ่ง†่ง’ๅˆ‡ๆขโ€๏ผŒๆ‰“้€ ๅ‡บไธ€ๆฌพๆŽˆไบบไปฅๆธ”็š„โ€œๆ•ฐๅญฆ่พ…ๅฏผๅฏผๅธˆโ€ๅนถๆ–ฉ่Žทๅคงๅฅ–ใ€‚ๆœฌๆ–‡ๅค็›˜ไบ† Agent ๆญๅปบ่ƒŒๅŽ็š„ๆ ธๅฟƒ SOP ่ฎพ่ฎก้€ป่พ‘๏ผšๆŠ€ๆœฏ็ปˆ็ฉถ่ฆๅ›žๅฝ’ๅฏน็œŸๅฎžไบบๆ€ง็š„ไฝ“ๅฏŸไธŽๅ…ณๆ€€ใ€‚

ๅœจๅˆšๅˆš่ฟ‡ๅŽป็š„ๅ‘จๆœซ๏ผŒๆˆ‘ๅ’Œๅฅฝๅ‹ๅ‚ๅŠ ไบ†ไธ€ๅœบ็”ฑๅƒๅธ† Agent ไธพๅŠž็š„็บฟไธ‹็คพๅŒบๆดปๅŠจใ€‚่ฟ™ๆ˜ฏไธ€ๅœบๅ……ๆปกๆžๅฎข็ฒพ็ฅž็š„โ€œๆž้™ๆŒ‘ๆˆ˜โ€โ€”โ€”ๆˆ‘ไปฌ้œ€่ฆๅœจๆžๅ…ถๆœ‰้™็š„ๆ—ถ้—ดๅ†…๏ผŒไปŽ้›ถๅผ€ๅง‹ๆž„ๆ€ใ€ๆญๅปบๅนถ็Žฐๅœบๅฑ•็คบไธ€ไธชๅฎŒๆ•ด็š„ Agent ๅบ”็”จใ€‚

ไปคไบบๆƒŠๅ–œ็š„ๆ˜ฏ๏ผŒๆˆ‘ไปฌไธไป…้กบๅˆฉๅฎŒๆˆไบ†ๆž้™ๅผ€ๅ‘๏ผŒๆœ€็ปˆ่ฟ˜ๆ–ฉ่Žทไบ†ๅ…จๅœบ็š„ใ€Œๆœ€ไฝณๅบ”็”จๅฅ–ใ€ใ€‚

ๅค็›˜่ฟ™ๆฌก็Ÿญๆš‚ๅด้ซ˜ๅฏ†ๅบฆ็š„ๅผ€ๅ‘ไฝ“้ชŒ๏ผŒๆœ€ๅคง็š„ๆ„Ÿ่งฆๆ˜ฏ๏ผšๅœจ AI ๆ—ถไปฃ๏ผŒๅ•็บฏ็š„ๅทฅ็จ‹ๅฎž็Žฐๅทฒ็ปไธๅ†ๆ˜ฏๅ”ฏไธ€็š„ๅฃๅž’๏ผŒ็œŸๆญฃ่ฎฉๅบ”็”จ่„ฑ้ข–่€Œๅ‡บ็š„๏ผŒๆ˜ฏๅฏน็œŸๅฎžไธšๅŠกๅœบๆ™ฏ็š„ๆดžๅฏŸๅŠ›ใ€‚ๅฝ“ (Engineering + Product) ร— AI ็š„้ฃž่ฝฎๅผ€ๅง‹่ฝฌๅŠจๆ—ถ๏ผŒๆŠ€ๆœฏๆ‰่ƒฝ็œŸๆญฃ่ฝฌๅŒ–ไธบ่งฃๅ†ณ้—ฎ้ข˜็š„ๅˆฉๅ™จใ€‚

ไปฅไธ‹ๆ˜ฏๅ…ณไบŽ่ฟ™ๆฌกโ€œK12 ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹โ€ Agent ๆญๅปบ็š„ๅฎž่ทตๆ€ป็ป“ไธŽๆ€่€ƒใ€‚

1. ็ ดๅฑ€็‚น๏ผš้ขๅฏน K12 ่ต›้“๏ผŒ่ฐๆ‰ๆ˜ฏ็œŸๆญฃ็š„็”จๆˆท๏ผŸ โ€‹

ๆดปๅŠจ็ป™ๅฎš็š„ๅ‘ฝ้ข˜ๆ˜ฏโ€œK12 ๆ•™่‚ฒโ€ใ€‚ๅœจๆž้™ๅผ€ๅ‘็š„ๆ—ถ้—ดๅŽ‹ๅŠ›ไธ‹๏ผŒๆœ€ๅฎนๆ˜“้™ทๅ…ฅ็š„ๆ€็ปด้™ท้˜ฑๅฐฑๆ˜ฏโ€œ็›ด็บฟๆ€่€ƒโ€โ€”โ€”ๆ—ข็„ถๆ˜ฏ K12๏ผŒ้‚ฃๅฐฑ็›ดๆŽฅๅšไธ€ไธช็ป™ๅญฆ็”Ÿ็”จ็š„่งฃ้ข˜ๆœบๅ™จไบบใ€‚

ไฝ†่ฟ™ๆฐๆฐ่ฟ่ƒŒไบ†ไบงๅ“็š„ๆ ธๅฟƒ้€ป่พ‘ใ€‚ไปŽๅ—ไผ—่ง’ๅบฆๆฅ็œ‹๏ผŒ็›ดๆŽฅ้ขๅ‘ๅฟƒๆ™บๅฐšๆœชๆˆ็†Ÿ็š„ K12 ๅญฆ็”Ÿๆไพ›ไธ€ไธชโ€œ็ญ”ๆกˆ็”Ÿๆˆๅ™จโ€๏ผŒๆžๆ˜“ๆฒฆไธบๅบ”ไป˜ไฝœไธš็š„ไฝœๅผŠๅทฅๅ…ท๏ผŒๆ—ขๅพ—ไธๅˆฐๅญฆๆ ก็š„่ฎคๅฏ๏ผŒไนŸไผšๅผ•ๅ‘ๅฎถ้•ฟ็š„ๆ‹…ๅฟงใ€‚

ๅ› ๆญค๏ผŒๅœจ้€‰้ข˜้˜ถๆฎต๏ผŒๆˆ‘ไปฌ่ฟ›่กŒไบ†ไธ€ๆฌกๅ…ณ้”ฎ็š„่ง†่ง’ๅˆ‡ๆข๏ผšๅฐ†็›ฎๆ ‡็”จๆˆทไปŽโ€œๅญฆ็”Ÿโ€่ฝฌ็งปๅˆฐไบ†โ€œๅฎถ้•ฟๅ’Œ่€ๅธˆโ€ใ€‚

ๅฝ“ไปฃๅฎถ้•ฟๅœจ่พ…ๅฏผๅญฉๅญๅฐคๅ…ถๆ˜ฏๆ•ฐๅญฆไฝœไธšๆ—ถ๏ผŒๆœ€ๅคง็š„็—›็‚นๅพ€ๅพ€ไธๆ˜ฏโ€œไธ็Ÿฅ้“็ญ”ๆกˆโ€๏ผŒ่€Œๆ˜ฏโ€œไธ็Ÿฅ้“ๅฆ‚ไฝ•็ง‘ๅญฆๅœฐ็ป™ๅญฉๅญ่ฎฒ่งฃโ€ใ€‚ๅŸบไบŽ่ฟ™ไธช Product Sense๏ผŒๆˆ‘ไปฌ็กฎๅฎšไบ† Agent ็š„ๆ ธๅฟƒๅฎšไฝโ€”โ€”ๅฎƒไธๆ˜ฏไธ€ไธชๅ†ทๅ†ฐๅ†ฐ็š„่งฃ้ข˜ๆœบ๏ผŒ่€Œๆ˜ฏไธ€ไฝๅธฎๅŠฉๅฎถ้•ฟๆŽŒๆก็ง‘ๅญฆ่พ…ๅฏผๆ–นๆณ•็š„โ€œๅน•ๅŽๅฏผๅธˆโ€ใ€‚

2. ไธบไป€ไนˆ้€‰ๆ‹ฉโ€œๆ•ฐๅญฆโ€๏ผŸโ€”โ€” ๆŠ€ๆœฏ่พน็•ŒไธŽๅœบๆ™ฏ็š„ๅฎŒ็พŽๅฅ‘ๅˆ โ€‹

ๅœจไผ—ๅคš็š„ K12 ๅญฆ็ง‘ไธญ๏ผŒๆˆ‘ไปฌๆœ€็ปˆ้”ๅฎšไบ†โ€œๆ•ฐๅญฆโ€๏ผŒ่ฟ™ๅนถ้žๅถ็„ถ๏ผŒ่€Œๆ˜ฏๅŸบไบŽๅฏนๅคง่ฏญ่จ€ๆจกๅž‹๏ผˆLLM๏ผ‰่ƒฝๅŠ›่พน็•Œ็š„ๆธ…ๆ™ฐ่ฎค็Ÿฅ๏ผš

  • ่ง„้ฟโ€œๅนป่ง‰โ€็š„ๅทฅ็จ‹่งฃๆณ•๏ผšไผ—ๆ‰€ๅ‘จ็Ÿฅ๏ผŒ็บฏๆ–‡ๆœฌๅคงๆจกๅž‹ๅœจ่ฟ›่กŒไธฅ่ฐจ็š„้€ป่พ‘ๆŽจๆผ”ๅ’Œๆ•ฐๅญฆ่ฎก็ฎ—ๆ—ถ๏ผŒๆžๆ˜“ไบง็”Ÿโ€œๅนป่ง‰โ€ใ€‚ไฝ†่‡ชๅฎšไน‰ Agent ๆ‹ฅๆœ‰่ฐƒ็”จๅค–้ƒจๅทฅๅ…ท๏ผˆๅฐคๅ…ถๆ˜ฏไปฃ็ ่งฃ้‡Šๅ™จ Code Interpreter๏ผ‰็š„่ƒฝๅŠ›ใ€‚่ฟ™ๆ„ๅ‘ณ็€ๆˆ‘ไปฌๅฏไปฅ่ฎฉ Agent ้€š่ฟ‡็ผ–ๅ†™ๅ’Œๆ‰ง่กŒไปฃ็ ๆฅๅค„็†ๅคๆ‚็š„ๆ•ฐๅญฆ่ฎก็ฎ—๏ผŒไปŽ่€Œๅœจๆžถๆž„ๅฑ‚้ขไฟ่ฏไบ†็ป“ๆžœ็š„ๅ‡†็กฎๆ€งใ€‚

  • ๆปก่ถณโ€œ่งฃ้ข˜โ€ไธŽโ€œ่งฃ้‡Šโ€็š„ๅŒ้‡้œ€ๆฑ‚๏ผšๆ•ฐๅญฆไธไป…ไป…ๆ˜ฏๅพ—ๅ‡บๆญฃ็กฎ็ญ”ๆกˆ๏ผŒๆ›ด้‡่ฆ็š„ๆ˜ฏๆŽจๅฏผ่ฟ‡็จ‹ใ€‚Agent ๅฏไปฅๅนถๅ‘ๅค„็†ๅŒ้‡ไปปๅŠกโ€”โ€”ไธ€ๆ–น้ขๅœจๅŽๅฐ็ฒพๅ‡†่ฎก็ฎ—๏ผŒๅฆไธ€ๆ–น้ขๅœจๅ‰ๅฐ็”จ่‡ช็„ถ่ฏญ่จ€ๅฐ†่งฃ้ข˜ๆ€่ทฏๆ‹†่งฃไธบ้€šไฟ—ๆ˜“ๆ‡‚็š„โ€œไบบ่ฏโ€๏ผŒๆไพ›ๅ…จ้ข็š„ๆ•™ๅญฆ่พ…ๅŠฉใ€‚

3. Agent ๆ ธๅฟƒ่ฎพ่ฎก๏ผš็ป“ๆž„ๅŒ–็š„ Prompt ่ง„่Œƒ โ€‹

็กฎๅฎšไบ†ไบงๅ“ๆ–นๅ‘ๅŽ๏ผŒๆŽฅไธ‹ๆฅ็š„้‡็‚นๅฐฑๆ˜ฏโ€œ่ง„่Œƒ้ฉฑๅŠจโ€ Prompt ่ฎพ่ฎกใ€‚ไธบไบ†่ฎฉ Agent ็จณๅฎš่พ“ๅ‡บ้ซ˜่ดจ้‡็š„ๅ†…ๅฎน๏ผŒๆˆ‘ไปฌๅฏนๅ…ถ่ง’่‰ฒใ€ๅทฅไฝœๆตใ€ๅทฅๅ…ท้“พๅ’Œ้™ๅˆถๆกไปถ่ฟ›่กŒไบ†ไธฅๆ ผ็š„ๅฎšไน‰ใ€‚ไปฅไธ‹ๆ˜ฏๆˆ‘ไปฌๅœจๆฏ”่ต›ไธญไฝฟ็”จ็š„ๆ ธๅฟƒ Prompt ่ฎพ่ฎก๏ผš

markdown
# ่ง’่‰ฒไปปๅŠก
+import{_ as n,g as a,h as i,U as e}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const g=JSON.parse('{"title":"ไธ€ๆฌก็”ฑ Product Sense ้ฉฑๅŠจ็š„ Agent ๆž้™ๅฎž่ทต","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšAI ๆ—ถไปฃ๏ผŒๅ†™ๅฅฝไปฃ็ ๅชๆ˜ฏๅŠๆ ผ็บฟใ€‚ๅœจไธ€ๆฌกๆž้™ๆŒ‘ๆˆ˜่ต›ไธญ๏ผŒๆˆ‘ไปฌ้€š่ฟ‡ๅฏน K12 ่ต›้“็”จๆˆท็—›็‚น็š„็ฒพๅ‡†โ€œ่ง†่ง’ๅˆ‡ๆขโ€๏ผŒๆ‰“้€ ๅ‡บไธ€ๆฌพๆŽˆไบบไปฅๆธ”็š„โ€œๆ•ฐๅญฆ่พ…ๅฏผๅฏผๅธˆโ€ๅนถๆ–ฉ่Žทๅคงๅฅ–ใ€‚ๆœฌๆ–‡ๅค็›˜ไบ† Agent ๆญๅปบ่ƒŒๅŽ็š„ๆ ธๅฟƒ SOP ่ฎพ่ฎก้€ป่พ‘๏ผšๆŠ€ๆœฏ็ปˆ็ฉถ่ฆๅ›žๅฝ’ๅฏน็œŸๅฎžไบบๆ€ง็š„ไฝ“ๅฏŸไธŽๅ…ณๆ€€ใ€‚","frontmatter":{"date":"2024-06-14T22:00:00.000Z","title":"ไธ€ๆฌก็”ฑ Product Sense ้ฉฑๅŠจ็š„ Agent ๆž้™ๅฎž่ทต","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšAI ๆ—ถไปฃ๏ผŒๅ†™ๅฅฝไปฃ็ ๅชๆ˜ฏๅŠๆ ผ็บฟใ€‚ๅœจไธ€ๆฌกๆž้™ๆŒ‘ๆˆ˜่ต›ไธญ๏ผŒๆˆ‘ไปฌ้€š่ฟ‡ๅฏน K12 ่ต›้“็”จๆˆท็—›็‚น็š„็ฒพๅ‡†โ€œ่ง†่ง’ๅˆ‡ๆขโ€๏ผŒๆ‰“้€ ๅ‡บไธ€ๆฌพๆŽˆไบบไปฅๆธ”็š„โ€œๆ•ฐๅญฆ่พ…ๅฏผๅฏผๅธˆโ€ๅนถๆ–ฉ่Žทๅคงๅฅ–ใ€‚ๆœฌๆ–‡ๅค็›˜ไบ† Agent ๆญๅปบ่ƒŒๅŽ็š„ๆ ธๅฟƒ SOP ่ฎพ่ฎก้€ป่พ‘๏ผšๆŠ€ๆœฏ็ปˆ็ฉถ่ฆๅ›žๅฝ’ๅฏน็œŸๅฎžไบบๆ€ง็š„ไฝ“ๅฏŸไธŽๅ…ณๆ€€ใ€‚","coverImg":"/img/cover/llm_learning_bg_2.png","permalink":"/ai-practice/math-bot","categories":["ai-practice"],"tags":["Agent","ไบงๅ“ Sense"]},"headers":[],"relativePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/60.ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹.md","filePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/60.ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹.md"}'),p={name:"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/60.ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹.md"};function l(t,s,r,h,k,o){return i(),a("div",null,[...s[0]||(s[0]=[e(`

ไธ€ๆฌก็”ฑ Product Sense ้ฉฑๅŠจ็š„ Agent ๆž้™ๅฎž่ทต โ€‹

ๆ‘˜่ฆๆ€ป็ป“๏ผšAI ๆ—ถไปฃ๏ผŒๅ†™ๅฅฝไปฃ็ ๅชๆ˜ฏๅŠๆ ผ็บฟใ€‚ๅœจไธ€ๆฌกๆž้™ๆŒ‘ๆˆ˜่ต›ไธญ๏ผŒๆˆ‘ไปฌ้€š่ฟ‡ๅฏน K12 ่ต›้“็”จๆˆท็—›็‚น็š„็ฒพๅ‡†โ€œ่ง†่ง’ๅˆ‡ๆขโ€๏ผŒๆ‰“้€ ๅ‡บไธ€ๆฌพๆŽˆไบบไปฅๆธ”็š„โ€œๆ•ฐๅญฆ่พ…ๅฏผๅฏผๅธˆโ€ๅนถๆ–ฉ่Žทๅคงๅฅ–ใ€‚ๆœฌๆ–‡ๅค็›˜ไบ† Agent ๆญๅปบ่ƒŒๅŽ็š„ๆ ธๅฟƒ SOP ่ฎพ่ฎก้€ป่พ‘๏ผšๆŠ€ๆœฏ็ปˆ็ฉถ่ฆๅ›žๅฝ’ๅฏน็œŸๅฎžไบบๆ€ง็š„ไฝ“ๅฏŸไธŽๅ…ณๆ€€ใ€‚

ๅœจๅˆšๅˆš่ฟ‡ๅŽป็š„ๅ‘จๆœซ๏ผŒๆˆ‘ๅ’Œๅฅฝๅ‹ๅ‚ๅŠ ไบ†ไธ€ๅœบ็”ฑๅƒๅธ† Agent ไธพๅŠž็š„็บฟไธ‹็คพๅŒบๆดปๅŠจใ€‚่ฟ™ๆ˜ฏไธ€ๅœบๅ……ๆปกๆžๅฎข็ฒพ็ฅž็š„โ€œๆž้™ๆŒ‘ๆˆ˜โ€โ€”โ€”ๆˆ‘ไปฌ้œ€่ฆๅœจๆžๅ…ถๆœ‰้™็š„ๆ—ถ้—ดๅ†…๏ผŒไปŽ้›ถๅผ€ๅง‹ๆž„ๆ€ใ€ๆญๅปบๅนถ็Žฐๅœบๅฑ•็คบไธ€ไธชๅฎŒๆ•ด็š„ Agent ๅบ”็”จใ€‚

ไปคไบบๆƒŠๅ–œ็š„ๆ˜ฏ๏ผŒๆˆ‘ไปฌไธไป…้กบๅˆฉๅฎŒๆˆไบ†ๆž้™ๅผ€ๅ‘๏ผŒๆœ€็ปˆ่ฟ˜ๆ–ฉ่Žทไบ†ๅ…จๅœบ็š„ใ€Œๆœ€ไฝณๅบ”็”จๅฅ–ใ€ใ€‚

ๅค็›˜่ฟ™ๆฌก็Ÿญๆš‚ๅด้ซ˜ๅฏ†ๅบฆ็š„ๅผ€ๅ‘ไฝ“้ชŒ๏ผŒๆœ€ๅคง็š„ๆ„Ÿ่งฆๆ˜ฏ๏ผšๅœจ AI ๆ—ถไปฃ๏ผŒๅ•็บฏ็š„ๅทฅ็จ‹ๅฎž็Žฐๅทฒ็ปไธๅ†ๆ˜ฏๅ”ฏไธ€็š„ๅฃๅž’๏ผŒ็œŸๆญฃ่ฎฉๅบ”็”จ่„ฑ้ข–่€Œๅ‡บ็š„๏ผŒๆ˜ฏๅฏน็œŸๅฎžไธšๅŠกๅœบๆ™ฏ็š„ๆดžๅฏŸๅŠ›ใ€‚ๅฝ“ (Engineering + Product) ร— AI ็š„้ฃž่ฝฎๅผ€ๅง‹่ฝฌๅŠจๆ—ถ๏ผŒๆŠ€ๆœฏๆ‰่ƒฝ็œŸๆญฃ่ฝฌๅŒ–ไธบ่งฃๅ†ณ้—ฎ้ข˜็š„ๅˆฉๅ™จใ€‚

ไปฅไธ‹ๆ˜ฏๅ…ณไบŽ่ฟ™ๆฌกโ€œK12 ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹โ€ Agent ๆญๅปบ็š„ๅฎž่ทตๆ€ป็ป“ไธŽๆ€่€ƒใ€‚

1. ็ ดๅฑ€็‚น๏ผš้ขๅฏน K12 ่ต›้“๏ผŒ่ฐๆ‰ๆ˜ฏ็œŸๆญฃ็š„็”จๆˆท๏ผŸ โ€‹

ๆดปๅŠจ็ป™ๅฎš็š„ๅ‘ฝ้ข˜ๆ˜ฏโ€œK12 ๆ•™่‚ฒโ€ใ€‚ๅœจๆž้™ๅผ€ๅ‘็š„ๆ—ถ้—ดๅŽ‹ๅŠ›ไธ‹๏ผŒๆœ€ๅฎนๆ˜“้™ทๅ…ฅ็š„ๆ€็ปด้™ท้˜ฑๅฐฑๆ˜ฏโ€œ็›ด็บฟๆ€่€ƒโ€โ€”โ€”ๆ—ข็„ถๆ˜ฏ K12๏ผŒ้‚ฃๅฐฑ็›ดๆŽฅๅšไธ€ไธช็ป™ๅญฆ็”Ÿ็”จ็š„่งฃ้ข˜ๆœบๅ™จไบบใ€‚

ไฝ†่ฟ™ๆฐๆฐ่ฟ่ƒŒไบ†ไบงๅ“็š„ๆ ธๅฟƒ้€ป่พ‘ใ€‚ไปŽๅ—ไผ—่ง’ๅบฆๆฅ็œ‹๏ผŒ็›ดๆŽฅ้ขๅ‘ๅฟƒๆ™บๅฐšๆœชๆˆ็†Ÿ็š„ K12 ๅญฆ็”Ÿๆไพ›ไธ€ไธชโ€œ็ญ”ๆกˆ็”Ÿๆˆๅ™จโ€๏ผŒๆžๆ˜“ๆฒฆไธบๅบ”ไป˜ไฝœไธš็š„ไฝœๅผŠๅทฅๅ…ท๏ผŒๆ—ขๅพ—ไธๅˆฐๅญฆๆ ก็š„่ฎคๅฏ๏ผŒไนŸไผšๅผ•ๅ‘ๅฎถ้•ฟ็š„ๆ‹…ๅฟงใ€‚

ๅ› ๆญค๏ผŒๅœจ้€‰้ข˜้˜ถๆฎต๏ผŒๆˆ‘ไปฌ่ฟ›่กŒไบ†ไธ€ๆฌกๅ…ณ้”ฎ็š„่ง†่ง’ๅˆ‡ๆข๏ผšๅฐ†็›ฎๆ ‡็”จๆˆทไปŽโ€œๅญฆ็”Ÿโ€่ฝฌ็งปๅˆฐไบ†โ€œๅฎถ้•ฟๅ’Œ่€ๅธˆโ€ใ€‚

ๅฝ“ไปฃๅฎถ้•ฟๅœจ่พ…ๅฏผๅญฉๅญๅฐคๅ…ถๆ˜ฏๆ•ฐๅญฆไฝœไธšๆ—ถ๏ผŒๆœ€ๅคง็š„็—›็‚นๅพ€ๅพ€ไธๆ˜ฏโ€œไธ็Ÿฅ้“็ญ”ๆกˆโ€๏ผŒ่€Œๆ˜ฏโ€œไธ็Ÿฅ้“ๅฆ‚ไฝ•็ง‘ๅญฆๅœฐ็ป™ๅญฉๅญ่ฎฒ่งฃโ€ใ€‚ๅŸบไบŽ่ฟ™ไธช Product Sense๏ผŒๆˆ‘ไปฌ็กฎๅฎšไบ† Agent ็š„ๆ ธๅฟƒๅฎšไฝโ€”โ€”ๅฎƒไธๆ˜ฏไธ€ไธชๅ†ทๅ†ฐๅ†ฐ็š„่งฃ้ข˜ๆœบ๏ผŒ่€Œๆ˜ฏไธ€ไฝๅธฎๅŠฉๅฎถ้•ฟๆŽŒๆก็ง‘ๅญฆ่พ…ๅฏผๆ–นๆณ•็š„โ€œๅน•ๅŽๅฏผๅธˆโ€ใ€‚

2. ไธบไป€ไนˆ้€‰ๆ‹ฉโ€œๆ•ฐๅญฆโ€๏ผŸโ€”โ€” ๆŠ€ๆœฏ่พน็•ŒไธŽๅœบๆ™ฏ็š„ๅฎŒ็พŽๅฅ‘ๅˆ โ€‹

ๅœจไผ—ๅคš็š„ K12 ๅญฆ็ง‘ไธญ๏ผŒๆˆ‘ไปฌๆœ€็ปˆ้”ๅฎšไบ†โ€œๆ•ฐๅญฆโ€๏ผŒ่ฟ™ๅนถ้žๅถ็„ถ๏ผŒ่€Œๆ˜ฏๅŸบไบŽๅฏนๅคง่ฏญ่จ€ๆจกๅž‹๏ผˆLLM๏ผ‰่ƒฝๅŠ›่พน็•Œ็š„ๆธ…ๆ™ฐ่ฎค็Ÿฅ๏ผš

  • ่ง„้ฟโ€œๅนป่ง‰โ€็š„ๅทฅ็จ‹่งฃๆณ•๏ผšไผ—ๆ‰€ๅ‘จ็Ÿฅ๏ผŒ็บฏๆ–‡ๆœฌๅคงๆจกๅž‹ๅœจ่ฟ›่กŒไธฅ่ฐจ็š„้€ป่พ‘ๆŽจๆผ”ๅ’Œๆ•ฐๅญฆ่ฎก็ฎ—ๆ—ถ๏ผŒๆžๆ˜“ไบง็”Ÿโ€œๅนป่ง‰โ€ใ€‚ไฝ†่‡ชๅฎšไน‰ Agent ๆ‹ฅๆœ‰่ฐƒ็”จๅค–้ƒจๅทฅๅ…ท๏ผˆๅฐคๅ…ถๆ˜ฏไปฃ็ ่งฃ้‡Šๅ™จ Code Interpreter๏ผ‰็š„่ƒฝๅŠ›ใ€‚่ฟ™ๆ„ๅ‘ณ็€ๆˆ‘ไปฌๅฏไปฅ่ฎฉ Agent ้€š่ฟ‡็ผ–ๅ†™ๅ’Œๆ‰ง่กŒไปฃ็ ๆฅๅค„็†ๅคๆ‚็š„ๆ•ฐๅญฆ่ฎก็ฎ—๏ผŒไปŽ่€Œๅœจๆžถๆž„ๅฑ‚้ขไฟ่ฏไบ†็ป“ๆžœ็š„ๅ‡†็กฎๆ€งใ€‚

  • ๆปก่ถณโ€œ่งฃ้ข˜โ€ไธŽโ€œ่งฃ้‡Šโ€็š„ๅŒ้‡้œ€ๆฑ‚๏ผšๆ•ฐๅญฆไธไป…ไป…ๆ˜ฏๅพ—ๅ‡บๆญฃ็กฎ็ญ”ๆกˆ๏ผŒๆ›ด้‡่ฆ็š„ๆ˜ฏๆŽจๅฏผ่ฟ‡็จ‹ใ€‚Agent ๅฏไปฅๅนถๅ‘ๅค„็†ๅŒ้‡ไปปๅŠกโ€”โ€”ไธ€ๆ–น้ขๅœจๅŽๅฐ็ฒพๅ‡†่ฎก็ฎ—๏ผŒๅฆไธ€ๆ–น้ขๅœจๅ‰ๅฐ็”จ่‡ช็„ถ่ฏญ่จ€ๅฐ†่งฃ้ข˜ๆ€่ทฏๆ‹†่งฃไธบ้€šไฟ—ๆ˜“ๆ‡‚็š„โ€œไบบ่ฏโ€๏ผŒๆไพ›ๅ…จ้ข็š„ๆ•™ๅญฆ่พ…ๅŠฉใ€‚

3. Agent ๆ ธๅฟƒ่ฎพ่ฎก๏ผš็ป“ๆž„ๅŒ–็š„ Prompt ่ง„่Œƒ โ€‹

็กฎๅฎšไบ†ไบงๅ“ๆ–นๅ‘ๅŽ๏ผŒๆŽฅไธ‹ๆฅ็š„้‡็‚นๅฐฑๆ˜ฏโ€œ่ง„่Œƒ้ฉฑๅŠจโ€ Prompt ่ฎพ่ฎกใ€‚ไธบไบ†่ฎฉ Agent ็จณๅฎš่พ“ๅ‡บ้ซ˜่ดจ้‡็š„ๅ†…ๅฎน๏ผŒๆˆ‘ไปฌๅฏนๅ…ถ่ง’่‰ฒใ€ๅทฅไฝœๆตใ€ๅทฅๅ…ท้“พๅ’Œ้™ๅˆถๆกไปถ่ฟ›่กŒไบ†ไธฅๆ ผ็š„ๅฎšไน‰ใ€‚ไปฅไธ‹ๆ˜ฏๆˆ‘ไปฌๅœจๆฏ”่ต›ไธญไฝฟ็”จ็š„ๆ ธๅฟƒ Prompt ่ฎพ่ฎก๏ผš

markdown
# ่ง’่‰ฒไปปๅŠก
 ไฝ ๆ˜ฏไธ€ไฝ็ป้ชŒไธฐๅฏŒ็š„ๅฐๅญฆๆ•ฐๅญฆๆ•™ๅธˆ๏ผŒไธ“ๆณจไบŽๅธฎๅŠฉๅฎถ้•ฟๆŽŒๆก็ง‘ๅญฆ็š„ๆ•ฐๅญฆ่พ…ๅฏผๆ–นๆณ•ใ€‚ไฝ ็š„ๆ ธๅฟƒ็›ฎๆ ‡ๆ˜ฏๅผ•ๅฏผๅฎถ้•ฟ็†่งฃ้—ฎ้ข˜่ƒŒๅŽ็š„ๆ€็ปด้€ป่พ‘๏ผŒๆๅ‡ไป–ไปฌๅๅŠฉๅญฉๅญๅˆ†ๆžไธŽ่งฃๅ†ณ้—ฎ้ข˜็š„่ƒฝๅŠ›๏ผŒ็œŸๆญฃๅšๅˆฐโ€œๆŽˆไบบไปฅๆธ”โ€๏ผŒๅŒๆ—ถ่ฟ˜่ƒฝๅคŸไธพไธ€ๅไธ‰ใ€‚
 
 ๅœจๅ›žๅบ”ๅฎถ้•ฟๆ้—ฎๆ—ถ๏ผŒ่ฏทไธฅๆ ผ้ตๅพชไปฅไธ‹ไธ‰ๆญฅๆต็จ‹๏ผš
diff --git "a/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_04.\347\244\276\345\214\272\346\264\273\345\212\250\344\270\216\345\256\236\350\267\265\345\260\217\351\241\271\347\233\256_60.\346\225\260\345\255\246\345\260\217\345\212\251\346\211\213.md.DXM5G5Ag.lean.js" "b/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_04.\347\244\276\345\214\272\346\264\273\345\212\250\344\270\216\345\256\236\350\267\265\345\260\217\351\241\271\347\233\256_60.\346\225\260\345\255\246\345\260\217\345\212\251\346\211\213.md.BVW8ytPR.lean.js"
similarity index 95%
rename from "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_04.\347\244\276\345\214\272\346\264\273\345\212\250\344\270\216\345\256\236\350\267\265\345\260\217\351\241\271\347\233\256_60.\346\225\260\345\255\246\345\260\217\345\212\251\346\211\213.md.DXM5G5Ag.lean.js"
rename to "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_04.\347\244\276\345\214\272\346\264\273\345\212\250\344\270\216\345\256\236\350\267\265\345\260\217\351\241\271\347\233\256_60.\346\225\260\345\255\246\345\260\217\345\212\251\346\211\213.md.BVW8ytPR.lean.js"
index 05ea85e4..62d61db3 100644
--- "a/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_04.\347\244\276\345\214\272\346\264\273\345\212\250\344\270\216\345\256\236\350\267\265\345\260\217\351\241\271\347\233\256_60.\346\225\260\345\255\246\345\260\217\345\212\251\346\211\213.md.DXM5G5Ag.lean.js"	
+++ "b/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_04.\347\244\276\345\214\272\346\264\273\345\212\250\344\270\216\345\256\236\350\267\265\345\260\217\351\241\271\347\233\256_60.\346\225\260\345\255\246\345\260\217\345\212\251\346\211\213.md.BVW8ytPR.lean.js"	
@@ -1 +1 @@
-import{_ as n,g as a,h as i,U as e}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const g=JSON.parse('{"title":"ไธ€ๆฌก็”ฑ Product Sense ้ฉฑๅŠจ็š„ Agent ๆž้™ๅฎž่ทต","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšAI ๆ—ถไปฃ๏ผŒๅ†™ๅฅฝไปฃ็ ๅชๆ˜ฏๅŠๆ ผ็บฟใ€‚ๅœจไธ€ๆฌกๆž้™ๆŒ‘ๆˆ˜่ต›ไธญ๏ผŒๆˆ‘ไปฌ้€š่ฟ‡ๅฏน K12 ่ต›้“็”จๆˆท็—›็‚น็š„็ฒพๅ‡†โ€œ่ง†่ง’ๅˆ‡ๆขโ€๏ผŒๆ‰“้€ ๅ‡บไธ€ๆฌพๆŽˆไบบไปฅๆธ”็š„โ€œๆ•ฐๅญฆ่พ…ๅฏผๅฏผๅธˆโ€ๅนถๆ–ฉ่Žทๅคงๅฅ–ใ€‚ๆœฌๆ–‡ๅค็›˜ไบ† Agent ๆญๅปบ่ƒŒๅŽ็š„ๆ ธๅฟƒ SOP ่ฎพ่ฎก้€ป่พ‘๏ผšๆŠ€ๆœฏ็ปˆ็ฉถ่ฆๅ›žๅฝ’ๅฏน็œŸๅฎžไบบๆ€ง็š„ไฝ“ๅฏŸไธŽๅ…ณๆ€€ใ€‚","frontmatter":{"date":"2024-06-14T22:00:00.000Z","title":"ไธ€ๆฌก็”ฑ Product Sense ้ฉฑๅŠจ็š„ Agent ๆž้™ๅฎž่ทต","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšAI ๆ—ถไปฃ๏ผŒๅ†™ๅฅฝไปฃ็ ๅชๆ˜ฏๅŠๆ ผ็บฟใ€‚ๅœจไธ€ๆฌกๆž้™ๆŒ‘ๆˆ˜่ต›ไธญ๏ผŒๆˆ‘ไปฌ้€š่ฟ‡ๅฏน K12 ่ต›้“็”จๆˆท็—›็‚น็š„็ฒพๅ‡†โ€œ่ง†่ง’ๅˆ‡ๆขโ€๏ผŒๆ‰“้€ ๅ‡บไธ€ๆฌพๆŽˆไบบไปฅๆธ”็š„โ€œๆ•ฐๅญฆ่พ…ๅฏผๅฏผๅธˆโ€ๅนถๆ–ฉ่Žทๅคงๅฅ–ใ€‚ๆœฌๆ–‡ๅค็›˜ไบ† Agent ๆญๅปบ่ƒŒๅŽ็š„ๆ ธๅฟƒ SOP ่ฎพ่ฎก้€ป่พ‘๏ผšๆŠ€ๆœฏ็ปˆ็ฉถ่ฆๅ›žๅฝ’ๅฏน็œŸๅฎžไบบๆ€ง็š„ไฝ“ๅฏŸไธŽๅ…ณๆ€€ใ€‚","coverImg":"/img/cover/llm_learning_bg_2.png","permalink":"/ai-practice/math-bot","categories":["ai-practice"],"tags":["Agent","ไบงๅ“ Sense"]},"headers":[],"relativePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/60.ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹.md","filePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/60.ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹.md"}'),p={name:"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/60.ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹.md"};function l(t,s,r,h,k,o){return i(),a("div",null,[...s[0]||(s[0]=[e("",25)])])}const c=n(p,[["render",l]]);export{g as __pageData,c as default};
+import{_ as n,g as a,h as i,U as e}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const g=JSON.parse('{"title":"ไธ€ๆฌก็”ฑ Product Sense ้ฉฑๅŠจ็š„ Agent ๆž้™ๅฎž่ทต","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšAI ๆ—ถไปฃ๏ผŒๅ†™ๅฅฝไปฃ็ ๅชๆ˜ฏๅŠๆ ผ็บฟใ€‚ๅœจไธ€ๆฌกๆž้™ๆŒ‘ๆˆ˜่ต›ไธญ๏ผŒๆˆ‘ไปฌ้€š่ฟ‡ๅฏน K12 ่ต›้“็”จๆˆท็—›็‚น็š„็ฒพๅ‡†โ€œ่ง†่ง’ๅˆ‡ๆขโ€๏ผŒๆ‰“้€ ๅ‡บไธ€ๆฌพๆŽˆไบบไปฅๆธ”็š„โ€œๆ•ฐๅญฆ่พ…ๅฏผๅฏผๅธˆโ€ๅนถๆ–ฉ่Žทๅคงๅฅ–ใ€‚ๆœฌๆ–‡ๅค็›˜ไบ† Agent ๆญๅปบ่ƒŒๅŽ็š„ๆ ธๅฟƒ SOP ่ฎพ่ฎก้€ป่พ‘๏ผšๆŠ€ๆœฏ็ปˆ็ฉถ่ฆๅ›žๅฝ’ๅฏน็œŸๅฎžไบบๆ€ง็š„ไฝ“ๅฏŸไธŽๅ…ณๆ€€ใ€‚","frontmatter":{"date":"2024-06-14T22:00:00.000Z","title":"ไธ€ๆฌก็”ฑ Product Sense ้ฉฑๅŠจ็š„ Agent ๆž้™ๅฎž่ทต","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšAI ๆ—ถไปฃ๏ผŒๅ†™ๅฅฝไปฃ็ ๅชๆ˜ฏๅŠๆ ผ็บฟใ€‚ๅœจไธ€ๆฌกๆž้™ๆŒ‘ๆˆ˜่ต›ไธญ๏ผŒๆˆ‘ไปฌ้€š่ฟ‡ๅฏน K12 ่ต›้“็”จๆˆท็—›็‚น็š„็ฒพๅ‡†โ€œ่ง†่ง’ๅˆ‡ๆขโ€๏ผŒๆ‰“้€ ๅ‡บไธ€ๆฌพๆŽˆไบบไปฅๆธ”็š„โ€œๆ•ฐๅญฆ่พ…ๅฏผๅฏผๅธˆโ€ๅนถๆ–ฉ่Žทๅคงๅฅ–ใ€‚ๆœฌๆ–‡ๅค็›˜ไบ† Agent ๆญๅปบ่ƒŒๅŽ็š„ๆ ธๅฟƒ SOP ่ฎพ่ฎก้€ป่พ‘๏ผšๆŠ€ๆœฏ็ปˆ็ฉถ่ฆๅ›žๅฝ’ๅฏน็œŸๅฎžไบบๆ€ง็š„ไฝ“ๅฏŸไธŽๅ…ณๆ€€ใ€‚","coverImg":"/img/cover/llm_learning_bg_2.png","permalink":"/ai-practice/math-bot","categories":["ai-practice"],"tags":["Agent","ไบงๅ“ Sense"]},"headers":[],"relativePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/60.ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹.md","filePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/60.ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹.md"}'),p={name:"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/60.ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹.md"};function l(t,s,r,h,k,o){return i(),a("div",null,[...s[0]||(s[0]=[e("",25)])])}const c=n(p,[["render",l]]);export{g as __pageData,c as default};
diff --git "a/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_04.\347\244\276\345\214\272\346\264\273\345\212\250\344\270\216\345\256\236\350\267\265\345\260\217\351\241\271\347\233\256_70.\350\257\227\346\255\214\345\260\217\347\262\276\347\201\265.md.j6xnTKI4.js" "b/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_04.\347\244\276\345\214\272\346\264\273\345\212\250\344\270\216\345\256\236\350\267\265\345\260\217\351\241\271\347\233\256_70.\350\257\227\346\255\214\345\260\217\347\262\276\347\201\265.md.C1VKntBb.js"
similarity index 99%
rename from "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_04.\347\244\276\345\214\272\346\264\273\345\212\250\344\270\216\345\256\236\350\267\265\345\260\217\351\241\271\347\233\256_70.\350\257\227\346\255\214\345\260\217\347\262\276\347\201\265.md.j6xnTKI4.js"
rename to "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_04.\347\244\276\345\214\272\346\264\273\345\212\250\344\270\216\345\256\236\350\267\265\345\260\217\351\241\271\347\233\256_70.\350\257\227\346\255\214\345\260\217\347\262\276\347\201\265.md.C1VKntBb.js"
index 8ea74159..d3791fa2 100644
--- "a/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_04.\347\244\276\345\214\272\346\264\273\345\212\250\344\270\216\345\256\236\350\267\265\345\260\217\351\241\271\347\233\256_70.\350\257\227\346\255\214\345\260\217\347\262\276\347\201\265.md.j6xnTKI4.js"	
+++ "b/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_04.\347\244\276\345\214\272\346\264\273\345\212\250\344\270\216\345\256\236\350\267\265\345\260\217\351\241\271\347\233\256_70.\350\257\227\346\255\214\345\260\217\347\262\276\347\201\265.md.C1VKntBb.js"	
@@ -1,4 +1,4 @@
-import{_ as n,g as i,h as a,U as l}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const g=JSON.parse('{"title":"้›ถไปฃ็ ไธ็ญ‰ไบŽ้›ถ้€ป่พ‘๏ผš็ป“ๆž„ๅŒ– Prompt ้ฉฑๅŠจไธ‹็š„ Agent ๆญๅปบๅฎžๆˆ˜","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจ Agent ๆฆ‚ๅฟตๆปกๅคฉ้ฃž็š„ๅฝ“ไธ‹๏ผŒๅ†ณๅฎšๅคงๆจกๅž‹ๅฎž้™…่กจ็Žฐ็š„ๅพ€ๅพ€ๆ˜ฏๆœ€ๅบ•ๅฑ‚็š„ System Prompt ่ฎพ่ฎกใ€‚ๆœฌๆ–‡่ฎฐๅฝ•ไบ†ๅ‘จๆœซๅˆฉ็”จๆ–‡ๅฟƒๆ™บ่ƒฝไฝ“ๅนณๅฐๆญๅปบโ€œ่ฏ—ๆญŒๅฐ็ฒพ็ตโ€็š„ๅฎŒๆ•ดๅฎž่ทตใ€‚้€š่ฟ‡ๅฏนๆฏ”โ€œไผ ็ปŸๅคงๆฎตๆ–‡ๆœฌโ€ไธŽโ€œLangGPT ็ป“ๆž„ๅŒ–โ€ไธค็ง Prompt ็š„ๅฎž้™…่พ“ๅ‡บ๏ผŒๆทฑๅบฆๆ‹†่งฃไบ†็ป“ๆž„ๅŒ– Prompt ๅฆ‚ไฝ•ๅƒโ€œๅ†™ไปฃ็ โ€ไธ€ๆ ท่ง„่Œƒ AI ็š„ๆ€่€ƒๅทฅไฝœๆต๏ผŒๆœ‰ๆ•ˆ่งฃๅ†ณๆŒ‡ไปคๆผ‚็งปไธŽๅนป่ง‰้—ฎ้ข˜ใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ๆฌก Prompt ่ฐƒไผ˜ๅฎž้ชŒ๏ผŒๆ›ดๆ˜ฏไธ€ๅœบๅ…ณไบŽ AI ไบงๅ“ Sense ไธŽๆœชๆฅไบคไบ’ๅฝขๆ€็š„ๆŽข็ดขใ€‚","frontmatter":{"date":"2024-04-19T22:15:38.000Z","title":"้›ถไปฃ็ ไธ็ญ‰ไบŽ้›ถ้€ป่พ‘๏ผš็ป“ๆž„ๅŒ– Prompt ้ฉฑๅŠจไธ‹็š„ Agent ๆญๅปบๅฎžๆˆ˜","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจ Agent ๆฆ‚ๅฟตๆปกๅคฉ้ฃž็š„ๅฝ“ไธ‹๏ผŒๅ†ณๅฎšๅคงๆจกๅž‹ๅฎž้™…่กจ็Žฐ็š„ๅพ€ๅพ€ๆ˜ฏๆœ€ๅบ•ๅฑ‚็š„ System Prompt ่ฎพ่ฎกใ€‚ๆœฌๆ–‡่ฎฐๅฝ•ไบ†ๅ‘จๆœซๅˆฉ็”จๆ–‡ๅฟƒๆ™บ่ƒฝไฝ“ๅนณๅฐๆญๅปบโ€œ่ฏ—ๆญŒๅฐ็ฒพ็ตโ€็š„ๅฎŒๆ•ดๅฎž่ทตใ€‚้€š่ฟ‡ๅฏนๆฏ”โ€œไผ ็ปŸๅคงๆฎตๆ–‡ๆœฌโ€ไธŽโ€œLangGPT ็ป“ๆž„ๅŒ–โ€ไธค็ง Prompt ็š„ๅฎž้™…่พ“ๅ‡บ๏ผŒๆทฑๅบฆๆ‹†่งฃไบ†็ป“ๆž„ๅŒ– Prompt ๅฆ‚ไฝ•ๅƒโ€œๅ†™ไปฃ็ โ€ไธ€ๆ ท่ง„่Œƒ AI ็š„ๆ€่€ƒๅทฅไฝœๆต๏ผŒๆœ‰ๆ•ˆ่งฃๅ†ณๆŒ‡ไปคๆผ‚็งปไธŽๅนป่ง‰้—ฎ้ข˜ใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ๆฌก Prompt ่ฐƒไผ˜ๅฎž้ชŒ๏ผŒๆ›ดๆ˜ฏไธ€ๅœบๅ…ณไบŽ AI ไบงๅ“ Sense ไธŽๆœชๆฅไบคไบ’ๅฝขๆ€็š„ๆŽข็ดขใ€‚","coverImg":"/img/cover/llm_learning_bg_2.png","categories":["ai-practice"],"permalink":"/ai-practice/poetry-bot","tags":["Agent","AI"]},"headers":[],"relativePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/70.่ฏ—ๆญŒๅฐ็ฒพ็ต.md","filePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/70.่ฏ—ๆญŒๅฐ็ฒพ็ต.md"}'),p={name:"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/70.่ฏ—ๆญŒๅฐ็ฒพ็ต.md"};function e(t,s,h,r,k,E){return a(),i("div",null,[...s[0]||(s[0]=[l(`

้›ถไปฃ็ ไธ็ญ‰ไบŽ้›ถ้€ป่พ‘๏ผš็ป“ๆž„ๅŒ– Prompt ้ฉฑๅŠจไธ‹็š„ Agent ๆญๅปบๅฎžๆˆ˜ โ€‹

ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจ Agent ๆฆ‚ๅฟตๆปกๅคฉ้ฃž็š„ๅฝ“ไธ‹๏ผŒๅ†ณๅฎšๅคงๆจกๅž‹ๅฎž้™…่กจ็Žฐ็š„ๅพ€ๅพ€ๆ˜ฏๆœ€ๅบ•ๅฑ‚็š„ System Prompt ่ฎพ่ฎกใ€‚ๆœฌๆ–‡่ฎฐๅฝ•ไบ†ๅ‘จๆœซๅˆฉ็”จๆ–‡ๅฟƒๆ™บ่ƒฝไฝ“ๅนณๅฐๆญๅปบโ€œ่ฏ—ๆญŒๅฐ็ฒพ็ตโ€็š„ๅฎŒๆ•ดๅฎž่ทตใ€‚้€š่ฟ‡ๅฏนๆฏ”โ€œไผ ็ปŸๅคงๆฎตๆ–‡ๆœฌโ€ไธŽโ€œLangGPT ็ป“ๆž„ๅŒ–โ€ไธค็ง Prompt ็š„ๅฎž้™…่พ“ๅ‡บ๏ผŒๆทฑๅบฆๆ‹†่งฃไบ†็ป“ๆž„ๅŒ– Prompt ๅฆ‚ไฝ•ๅƒโ€œๅ†™ไปฃ็ โ€ไธ€ๆ ท่ง„่Œƒ AI ็š„ๆ€่€ƒๅทฅไฝœๆต๏ผŒๆœ‰ๆ•ˆ่งฃๅ†ณๆŒ‡ไปคๆผ‚็งปไธŽๅนป่ง‰้—ฎ้ข˜ใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ๆฌก Prompt ่ฐƒไผ˜ๅฎž้ชŒ๏ผŒๆ›ดๆ˜ฏไธ€ๅœบๅ…ณไบŽ AI ไบงๅ“ Sense ไธŽๆœชๆฅไบคไบ’ๅฝขๆ€็š„ๆŽข็ดขใ€‚

1. ๅฎž่ทต่ƒŒๆ™ฏ โ€‹

ๅ‘จๆœซๅœจ็คพๅŒบๆดปๅŠจไธญๅ†ๆฌกๅฌๅˆฐไบ† LangGPT ไฝœ่€…ไบ‘ไธญๆฑŸๆ ‘ๅ…ณไบŽโ€œ็ป“ๆž„ๅŒ–ๆ็คบ่ฏโ€็š„ๅˆ†ไบซ๏ผŒ่ฎฉไบบๆ„Ÿ่งฆ้ข‡ๆทฑใ€‚่™ฝ็„ถๅฝ“ๅ‰ Agent ๆฆ‚ๅฟต็ซ็ƒญ๏ผŒๅฑ‚ๅ‡บไธ็ฉท็š„ๆก†ๆžถ่ฎฉไบบ็œผ่Šฑ็ผญไนฑ๏ผŒไฝ†ๅ›žๅฝ’ๆœฌ่ดจๆˆ‘ไปฌๅฐฑไผšๅ‘็Žฐ๏ผšSystem Prompt ็š„ๅบ•ๅฑ‚่ฎพ่ฎกใ€ไธŠไธ‹ๆ–‡ๅทฅ็จ‹ไปฅๅŠๆŒ‡ไปค้ตๅพชๆœบๅˆถ๏ผŒๆ‰ๆ˜ฏๅ†ณๅฎšไธ€ไธช Agent ็ต้ญ‚็š„ๅ…ณ้”ฎใ€‚

ๆญฃๅทงๅคงๅ›ข้˜Ÿ่‡ช็ ”็š„้›ถไปฃ็  Agent ๅนณๅฐ่ฟ‘ๆœŸๅ‘ๅธƒไบ†ๆ–ฐ็‰ˆๆœฌ๏ผŒไธบไบ†ไบฒๆต‹ๅนณๅฐๆ€ง่ƒฝๅนถๅฎžๆˆ˜ๆผ”็ปƒ็ป“ๆž„ๅŒ– Prompt ็š„็ผ–ๅ†™ๆŠ€ๅทง๏ผŒๆˆ‘ๅ†ณๅฎšๅˆ›ๅปบไธ€ไธชโ€œ่ฏ—ๆญŒๅฐ็ฒพ็ตโ€ Agentใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ไธช่ถฃๅ‘ณๅฎž้ชŒ๏ผŒๆ›ดๆ˜ฏไธบไบ†ๆŽข็ดข AI ๅœจๆ–‡ๅญฆๅˆ›ไฝœ่ฟ™็งโ€œๆ„Ÿๆ€ง้ข†ๅŸŸโ€ไธญ๏ผŒๅฆ‚ไฝ•้€š่ฟ‡โ€œ็†ๆ€ง็š„็ป“ๆž„็บฆๆŸโ€่พพๅˆฐๆ›ด้ซ˜็š„่พ“ๅ‡บไธŠ้™ใ€‚

2. ๅนณๅฐไธŽ Agent ๅŸบๆœฌไบบ่ฎพ โ€‹

2.1 ๅนณๅฐ้€‰ๆ‹ฉ โ€‹

ๅŸบไบŽ้›ถไปฃ็ ๅนณๅฐๆญๅปบ็š„้œ€ๆฑ‚๏ผŒๅฏ้€‰ Cozeใ€Dify ๅ’Œๆ–‡ๅฟƒๆ™บ่ƒฝไฝ“็ญ‰ๅนณๅฐ๏ผŒไฝ†่€ƒ่™‘ๅˆฐไฝ“้ชŒ่‡ชๅฎถ่ฟ‘ๆœŸๆ›ดๆ–ฐ็š„่ƒฝๅŠ›๏ผŒๆœฌๆฌกๅฎž่ทต้€‰ๆ‹ฉๅœจๆ–‡ๅฟƒๆ™บ่ƒฝไฝ“ๅนณๅฐไธŠ่ฟ›่กŒใ€‚

2.2 ่ง’่‰ฒ่ฎพๅฎšไธŽ็‰ฉๆ–™็”Ÿๆˆ โ€‹

ๅœจ AI ๆ—ถไปฃ๏ผŒๅˆ›ๅปบไธ€ไธช Agent ็š„โ€œ้—จ้ขโ€่‡ช็„ถไนŸ่ฆ็”จ AI ๆฅๅฎŒๆˆใ€‚

  1. Icon ็”Ÿๆˆ๏ผš ๅนณๅฐ่‡ชๅธฆ็š„ๅ›พ็‰‡็”Ÿๆˆ่ƒฝๅŠ›่กจ็Žฐไธ้”™๏ผŒ็”Ÿๆˆ็š„ Icon ็ฌฆๅˆ้ข„ๆœŸใ€‚
  2. ๅ็งฐไธŽๆ่ฟฐ๏ผš ๅนณๅฐ่‡ชๅธฆ็š„ๆ–‡ๆœฌ็”Ÿๆˆ็ป“ๆžœ่พƒไธบ็”Ÿ็กฌ๏ผŒ็ผบไนโ€œไบบๅ‘ณโ€ใ€‚ๅ› ๆญค๏ผŒๆˆ‘่ฝฌ่€Œไฝฟ็”จๆ›ด้ซ˜้˜ถ็š„ๆจกๅž‹๏ผˆChatGPT๏ผ‰๏ผŒ็ป่ฟ‡ไธค่ฝฎๅฏน่ฏๅฏน้ฝไบ†่ฐƒๆ€ง๏ผŒๆœ€็ปˆ็กฎๅฎšไบ†ๆปกๆ„็š„่ฎพๅฎš๏ผš
    • ๆ™บ่ƒฝไฝ“ๅ็งฐ๏ผš ่ฏ—ๆญŒๅฐ็ฒพ็ต
    • ๆ่ฟฐ๏ผš ไธ€ไธชๆ“…้•ฟๅˆ›ไฝœ่ฏ—ๆญŒใ€ไฟ็šฎๅˆ็ตๅŠจ็š„ๅฐ็ฒพ็ต

3. ๅทฅไฝœๆจกๅผไธŽๅทฅๅ…ท้›†้…็ฝฎ โ€‹

3.1 ๅทฅๅ…ท/ๆ’ไปถ้…็ฝฎ โ€‹

ๅฅฝ็š„่ฏ—ๆญŒๅˆ›ไฝœ้œ€่ฆ่ƒฝ็ปผๅˆ่€ƒ่™‘ๅคšไธชๅ› ็ด ๏ผŒๅ› ๆญคๅฏไฝฟ็”จ่”็ฝ‘ๆœ็ดข่ƒฝๅŠ›ใ€่ฏ—่ฏๆœ็ดข่ƒฝๅŠ›็ญ‰ๅทฅๅ…ท๏ผŒๆฅ่Žทๅ–็›ธๅ…ณ็š„่ƒŒๆ™ฏไฟกๆฏใ€ๅˆ›ไฝœ็ตๆ„Ÿ็ญ‰๏ผš

  • โœ… ่”็ฝ‘ๆœ็ดข่ƒฝๅŠ›๏ผš็”จไบŽ่Žทๅ–็›ธๅ…ณ่ƒŒๆ™ฏไฟกๆฏใ€‚
  • โœ… ่ฏ—่ฏๆœ็ดข่ƒฝๅŠ›๏ผš็”จไบŽๆฃ€็ดขๅค่ฏ—่ฏๅ…ธๆ•…ไธŽๅˆ›ไฝœ็ตๆ„Ÿใ€‚

3.2 ๅทฅไฝœๆจกๅผ่ฎพๅฎš โ€‹

ไธบ็กฎไฟ Agent ๅœจๅˆ›ไฝœ่ฟ‡็จ‹ไธญๆ—ข่ƒฝ่ฐƒ็”จๅทฅๅ…ท๏ผŒๅˆ่ƒฝ่ฟ›่กŒๆทฑๅบฆๆ€่€ƒไธŽ้€ป่พ‘็ป„็ป‡๏ผŒๆˆ‘ๆŽ’้™คไบ†ๅ•ไธ€็š„โ€œๅฟซ้€Ÿๅฏน่ฏโ€ๆˆ–็บฏโ€œๅทฅๅ…ท่ฐƒ็”จโ€๏ผŒๆœ€็ปˆ้€‰ๆ‹ฉไบ† ๅทฅๅ…ท่ฐƒ็”จ + ๆŽจ็†๏ผˆๆทฑๅบฆๆ€่€ƒ๏ผ‰ ็š„็ปผๅˆๆจกๅผใ€‚

  • โœ… ๅทฅๅ…ท่ฐƒ็”จ + ๆŽจ็†
  • โŒ ๅฟซ้€Ÿๅฏน่ฏ
  • โŒ ๆทฑๅบฆๆ€่€ƒ
  • โŒ ๅทฅๅ…ท่ฐƒ็”จ

3. Prompt ๆผ”่ฟ›๏ผšไปŽๅธธ่ง„ Prompt ๅˆฐ็ป“ๆž„ๅŒ– Prompt โ€‹

> ๆ็คบ่ฏๆผ”่ฟ›๏ผšไปŽโ€œไธ€ๆฎตๆœ‰้€ป่พ‘็š„่ฏโ€ๅˆฐโ€œไธ€ๅฅ—้€ป่พ‘โ€ใ€‚ๆœฌๆฌกๅฎž่ทตไธญๆœ€ๆ ธๅฟƒ็š„็›ฎๆ ‡๏ผš้€š่ฟ‡ๅฏนๆฏ”่ฏ•้ชŒ๏ผŒๅˆ†ๆž็ป“ๆž„ๅŒ– Prompt ๅˆฐๅบ•ๆฏ”ๆ™ฎ้€š Prompt ๅฅฝๅœจๅ“ช้‡Œใ€‚

System Prompt ็š„่ดจ้‡็›ดๆŽฅๅ†ณๅฎšไบ† Agent ็š„่พ“ๅ‡บไธ‹้™ไธŽไธŠ้™ใ€‚ๆœฌๆฌกๅฎž่ทต็š„ๆ ธๅฟƒ๏ผŒๅฐฑๆ˜ฏๅฏนๆฏ”ไผ ็ปŸ Prompt ๆก†ๆžถไธŽ็ป“ๆž„ๅŒ– Prompt ็š„ๅฎž้™…่กจ็Žฐใ€‚

3.1 ้˜ถๆฎตไธ€๏ผš้ž็ป“ๆž„ๅŒ– System Prompt๏ผˆๅŸบ็บฟๆต‹่ฏ•๏ผ‰ โ€‹

ๆ€่ทฏ๏ผš ๅ›ด็ป•ๅธ‚้ขไธŠๅธธ็”จ็š„ Prompt ๆก†ๆžถไธŽๆจกๆฟ๏ผŒ็ผ–ๅ†™ไบ†ไธ€ไธช่พƒไธบ่ง„่Œƒ็š„ Promptใ€‚ไฝ†่ฟ™ไป…ไป…ๆ˜ฏไธ€ไธชโ€œ้•ฟๆ–‡ๆœฌโ€ๆŒ‡ไปค๏ผŒๅœจๅŽ็ปญ็š„ๆ‰ฉๅฑ•ๅ’Œๅพฎ่ฐƒไธŠ็ผบไน็ตๆดปๆ€งใ€‚

markdown
# ่ง’่‰ฒ่ง„่Œƒ
+import{_ as n,g as i,h as a,U as l}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const g=JSON.parse('{"title":"้›ถไปฃ็ ไธ็ญ‰ไบŽ้›ถ้€ป่พ‘๏ผš็ป“ๆž„ๅŒ– Prompt ้ฉฑๅŠจไธ‹็š„ Agent ๆญๅปบๅฎžๆˆ˜","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจ Agent ๆฆ‚ๅฟตๆปกๅคฉ้ฃž็š„ๅฝ“ไธ‹๏ผŒๅ†ณๅฎšๅคงๆจกๅž‹ๅฎž้™…่กจ็Žฐ็š„ๅพ€ๅพ€ๆ˜ฏๆœ€ๅบ•ๅฑ‚็š„ System Prompt ่ฎพ่ฎกใ€‚ๆœฌๆ–‡่ฎฐๅฝ•ไบ†ๅ‘จๆœซๅˆฉ็”จๆ–‡ๅฟƒๆ™บ่ƒฝไฝ“ๅนณๅฐๆญๅปบโ€œ่ฏ—ๆญŒๅฐ็ฒพ็ตโ€็š„ๅฎŒๆ•ดๅฎž่ทตใ€‚้€š่ฟ‡ๅฏนๆฏ”โ€œไผ ็ปŸๅคงๆฎตๆ–‡ๆœฌโ€ไธŽโ€œLangGPT ็ป“ๆž„ๅŒ–โ€ไธค็ง Prompt ็š„ๅฎž้™…่พ“ๅ‡บ๏ผŒๆทฑๅบฆๆ‹†่งฃไบ†็ป“ๆž„ๅŒ– Prompt ๅฆ‚ไฝ•ๅƒโ€œๅ†™ไปฃ็ โ€ไธ€ๆ ท่ง„่Œƒ AI ็š„ๆ€่€ƒๅทฅไฝœๆต๏ผŒๆœ‰ๆ•ˆ่งฃๅ†ณๆŒ‡ไปคๆผ‚็งปไธŽๅนป่ง‰้—ฎ้ข˜ใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ๆฌก Prompt ่ฐƒไผ˜ๅฎž้ชŒ๏ผŒๆ›ดๆ˜ฏไธ€ๅœบๅ…ณไบŽ AI ไบงๅ“ Sense ไธŽๆœชๆฅไบคไบ’ๅฝขๆ€็š„ๆŽข็ดขใ€‚","frontmatter":{"date":"2024-04-19T22:15:38.000Z","title":"้›ถไปฃ็ ไธ็ญ‰ไบŽ้›ถ้€ป่พ‘๏ผš็ป“ๆž„ๅŒ– Prompt ้ฉฑๅŠจไธ‹็š„ Agent ๆญๅปบๅฎžๆˆ˜","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจ Agent ๆฆ‚ๅฟตๆปกๅคฉ้ฃž็š„ๅฝ“ไธ‹๏ผŒๅ†ณๅฎšๅคงๆจกๅž‹ๅฎž้™…่กจ็Žฐ็š„ๅพ€ๅพ€ๆ˜ฏๆœ€ๅบ•ๅฑ‚็š„ System Prompt ่ฎพ่ฎกใ€‚ๆœฌๆ–‡่ฎฐๅฝ•ไบ†ๅ‘จๆœซๅˆฉ็”จๆ–‡ๅฟƒๆ™บ่ƒฝไฝ“ๅนณๅฐๆญๅปบโ€œ่ฏ—ๆญŒๅฐ็ฒพ็ตโ€็š„ๅฎŒๆ•ดๅฎž่ทตใ€‚้€š่ฟ‡ๅฏนๆฏ”โ€œไผ ็ปŸๅคงๆฎตๆ–‡ๆœฌโ€ไธŽโ€œLangGPT ็ป“ๆž„ๅŒ–โ€ไธค็ง Prompt ็š„ๅฎž้™…่พ“ๅ‡บ๏ผŒๆทฑๅบฆๆ‹†่งฃไบ†็ป“ๆž„ๅŒ– Prompt ๅฆ‚ไฝ•ๅƒโ€œๅ†™ไปฃ็ โ€ไธ€ๆ ท่ง„่Œƒ AI ็š„ๆ€่€ƒๅทฅไฝœๆต๏ผŒๆœ‰ๆ•ˆ่งฃๅ†ณๆŒ‡ไปคๆผ‚็งปไธŽๅนป่ง‰้—ฎ้ข˜ใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ๆฌก Prompt ่ฐƒไผ˜ๅฎž้ชŒ๏ผŒๆ›ดๆ˜ฏไธ€ๅœบๅ…ณไบŽ AI ไบงๅ“ Sense ไธŽๆœชๆฅไบคไบ’ๅฝขๆ€็š„ๆŽข็ดขใ€‚","coverImg":"/img/cover/llm_learning_bg_2.png","categories":["ai-practice"],"permalink":"/ai-practice/poetry-bot","tags":["Agent","AI"]},"headers":[],"relativePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/70.่ฏ—ๆญŒๅฐ็ฒพ็ต.md","filePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/70.่ฏ—ๆญŒๅฐ็ฒพ็ต.md"}'),p={name:"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/70.่ฏ—ๆญŒๅฐ็ฒพ็ต.md"};function e(t,s,h,r,k,E){return a(),i("div",null,[...s[0]||(s[0]=[l(`

้›ถไปฃ็ ไธ็ญ‰ไบŽ้›ถ้€ป่พ‘๏ผš็ป“ๆž„ๅŒ– Prompt ้ฉฑๅŠจไธ‹็š„ Agent ๆญๅปบๅฎžๆˆ˜ โ€‹

ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจ Agent ๆฆ‚ๅฟตๆปกๅคฉ้ฃž็š„ๅฝ“ไธ‹๏ผŒๅ†ณๅฎšๅคงๆจกๅž‹ๅฎž้™…่กจ็Žฐ็š„ๅพ€ๅพ€ๆ˜ฏๆœ€ๅบ•ๅฑ‚็š„ System Prompt ่ฎพ่ฎกใ€‚ๆœฌๆ–‡่ฎฐๅฝ•ไบ†ๅ‘จๆœซๅˆฉ็”จๆ–‡ๅฟƒๆ™บ่ƒฝไฝ“ๅนณๅฐๆญๅปบโ€œ่ฏ—ๆญŒๅฐ็ฒพ็ตโ€็š„ๅฎŒๆ•ดๅฎž่ทตใ€‚้€š่ฟ‡ๅฏนๆฏ”โ€œไผ ็ปŸๅคงๆฎตๆ–‡ๆœฌโ€ไธŽโ€œLangGPT ็ป“ๆž„ๅŒ–โ€ไธค็ง Prompt ็š„ๅฎž้™…่พ“ๅ‡บ๏ผŒๆทฑๅบฆๆ‹†่งฃไบ†็ป“ๆž„ๅŒ– Prompt ๅฆ‚ไฝ•ๅƒโ€œๅ†™ไปฃ็ โ€ไธ€ๆ ท่ง„่Œƒ AI ็š„ๆ€่€ƒๅทฅไฝœๆต๏ผŒๆœ‰ๆ•ˆ่งฃๅ†ณๆŒ‡ไปคๆผ‚็งปไธŽๅนป่ง‰้—ฎ้ข˜ใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ๆฌก Prompt ่ฐƒไผ˜ๅฎž้ชŒ๏ผŒๆ›ดๆ˜ฏไธ€ๅœบๅ…ณไบŽ AI ไบงๅ“ Sense ไธŽๆœชๆฅไบคไบ’ๅฝขๆ€็š„ๆŽข็ดขใ€‚

1. ๅฎž่ทต่ƒŒๆ™ฏ โ€‹

ๅ‘จๆœซๅœจ็คพๅŒบๆดปๅŠจไธญๅ†ๆฌกๅฌๅˆฐไบ† LangGPT ไฝœ่€…ไบ‘ไธญๆฑŸๆ ‘ๅ…ณไบŽโ€œ็ป“ๆž„ๅŒ–ๆ็คบ่ฏโ€็š„ๅˆ†ไบซ๏ผŒ่ฎฉไบบๆ„Ÿ่งฆ้ข‡ๆทฑใ€‚่™ฝ็„ถๅฝ“ๅ‰ Agent ๆฆ‚ๅฟต็ซ็ƒญ๏ผŒๅฑ‚ๅ‡บไธ็ฉท็š„ๆก†ๆžถ่ฎฉไบบ็œผ่Šฑ็ผญไนฑ๏ผŒไฝ†ๅ›žๅฝ’ๆœฌ่ดจๆˆ‘ไปฌๅฐฑไผšๅ‘็Žฐ๏ผšSystem Prompt ็š„ๅบ•ๅฑ‚่ฎพ่ฎกใ€ไธŠไธ‹ๆ–‡ๅทฅ็จ‹ไปฅๅŠๆŒ‡ไปค้ตๅพชๆœบๅˆถ๏ผŒๆ‰ๆ˜ฏๅ†ณๅฎšไธ€ไธช Agent ็ต้ญ‚็š„ๅ…ณ้”ฎใ€‚

ๆญฃๅทงๅคงๅ›ข้˜Ÿ่‡ช็ ”็š„้›ถไปฃ็  Agent ๅนณๅฐ่ฟ‘ๆœŸๅ‘ๅธƒไบ†ๆ–ฐ็‰ˆๆœฌ๏ผŒไธบไบ†ไบฒๆต‹ๅนณๅฐๆ€ง่ƒฝๅนถๅฎžๆˆ˜ๆผ”็ปƒ็ป“ๆž„ๅŒ– Prompt ็š„็ผ–ๅ†™ๆŠ€ๅทง๏ผŒๆˆ‘ๅ†ณๅฎšๅˆ›ๅปบไธ€ไธชโ€œ่ฏ—ๆญŒๅฐ็ฒพ็ตโ€ Agentใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ไธช่ถฃๅ‘ณๅฎž้ชŒ๏ผŒๆ›ดๆ˜ฏไธบไบ†ๆŽข็ดข AI ๅœจๆ–‡ๅญฆๅˆ›ไฝœ่ฟ™็งโ€œๆ„Ÿๆ€ง้ข†ๅŸŸโ€ไธญ๏ผŒๅฆ‚ไฝ•้€š่ฟ‡โ€œ็†ๆ€ง็š„็ป“ๆž„็บฆๆŸโ€่พพๅˆฐๆ›ด้ซ˜็š„่พ“ๅ‡บไธŠ้™ใ€‚

2. ๅนณๅฐไธŽ Agent ๅŸบๆœฌไบบ่ฎพ โ€‹

2.1 ๅนณๅฐ้€‰ๆ‹ฉ โ€‹

ๅŸบไบŽ้›ถไปฃ็ ๅนณๅฐๆญๅปบ็š„้œ€ๆฑ‚๏ผŒๅฏ้€‰ Cozeใ€Dify ๅ’Œๆ–‡ๅฟƒๆ™บ่ƒฝไฝ“็ญ‰ๅนณๅฐ๏ผŒไฝ†่€ƒ่™‘ๅˆฐไฝ“้ชŒ่‡ชๅฎถ่ฟ‘ๆœŸๆ›ดๆ–ฐ็š„่ƒฝๅŠ›๏ผŒๆœฌๆฌกๅฎž่ทต้€‰ๆ‹ฉๅœจๆ–‡ๅฟƒๆ™บ่ƒฝไฝ“ๅนณๅฐไธŠ่ฟ›่กŒใ€‚

2.2 ่ง’่‰ฒ่ฎพๅฎšไธŽ็‰ฉๆ–™็”Ÿๆˆ โ€‹

ๅœจ AI ๆ—ถไปฃ๏ผŒๅˆ›ๅปบไธ€ไธช Agent ็š„โ€œ้—จ้ขโ€่‡ช็„ถไนŸ่ฆ็”จ AI ๆฅๅฎŒๆˆใ€‚

  1. Icon ็”Ÿๆˆ๏ผš ๅนณๅฐ่‡ชๅธฆ็š„ๅ›พ็‰‡็”Ÿๆˆ่ƒฝๅŠ›่กจ็Žฐไธ้”™๏ผŒ็”Ÿๆˆ็š„ Icon ็ฌฆๅˆ้ข„ๆœŸใ€‚
  2. ๅ็งฐไธŽๆ่ฟฐ๏ผš ๅนณๅฐ่‡ชๅธฆ็š„ๆ–‡ๆœฌ็”Ÿๆˆ็ป“ๆžœ่พƒไธบ็”Ÿ็กฌ๏ผŒ็ผบไนโ€œไบบๅ‘ณโ€ใ€‚ๅ› ๆญค๏ผŒๆˆ‘่ฝฌ่€Œไฝฟ็”จๆ›ด้ซ˜้˜ถ็š„ๆจกๅž‹๏ผˆChatGPT๏ผ‰๏ผŒ็ป่ฟ‡ไธค่ฝฎๅฏน่ฏๅฏน้ฝไบ†่ฐƒๆ€ง๏ผŒๆœ€็ปˆ็กฎๅฎšไบ†ๆปกๆ„็š„่ฎพๅฎš๏ผš
    • ๆ™บ่ƒฝไฝ“ๅ็งฐ๏ผš ่ฏ—ๆญŒๅฐ็ฒพ็ต
    • ๆ่ฟฐ๏ผš ไธ€ไธชๆ“…้•ฟๅˆ›ไฝœ่ฏ—ๆญŒใ€ไฟ็šฎๅˆ็ตๅŠจ็š„ๅฐ็ฒพ็ต

3. ๅทฅไฝœๆจกๅผไธŽๅทฅๅ…ท้›†้…็ฝฎ โ€‹

3.1 ๅทฅๅ…ท/ๆ’ไปถ้…็ฝฎ โ€‹

ๅฅฝ็š„่ฏ—ๆญŒๅˆ›ไฝœ้œ€่ฆ่ƒฝ็ปผๅˆ่€ƒ่™‘ๅคšไธชๅ› ็ด ๏ผŒๅ› ๆญคๅฏไฝฟ็”จ่”็ฝ‘ๆœ็ดข่ƒฝๅŠ›ใ€่ฏ—่ฏๆœ็ดข่ƒฝๅŠ›็ญ‰ๅทฅๅ…ท๏ผŒๆฅ่Žทๅ–็›ธๅ…ณ็š„่ƒŒๆ™ฏไฟกๆฏใ€ๅˆ›ไฝœ็ตๆ„Ÿ็ญ‰๏ผš

  • โœ… ่”็ฝ‘ๆœ็ดข่ƒฝๅŠ›๏ผš็”จไบŽ่Žทๅ–็›ธๅ…ณ่ƒŒๆ™ฏไฟกๆฏใ€‚
  • โœ… ่ฏ—่ฏๆœ็ดข่ƒฝๅŠ›๏ผš็”จไบŽๆฃ€็ดขๅค่ฏ—่ฏๅ…ธๆ•…ไธŽๅˆ›ไฝœ็ตๆ„Ÿใ€‚

3.2 ๅทฅไฝœๆจกๅผ่ฎพๅฎš โ€‹

ไธบ็กฎไฟ Agent ๅœจๅˆ›ไฝœ่ฟ‡็จ‹ไธญๆ—ข่ƒฝ่ฐƒ็”จๅทฅๅ…ท๏ผŒๅˆ่ƒฝ่ฟ›่กŒๆทฑๅบฆๆ€่€ƒไธŽ้€ป่พ‘็ป„็ป‡๏ผŒๆˆ‘ๆŽ’้™คไบ†ๅ•ไธ€็š„โ€œๅฟซ้€Ÿๅฏน่ฏโ€ๆˆ–็บฏโ€œๅทฅๅ…ท่ฐƒ็”จโ€๏ผŒๆœ€็ปˆ้€‰ๆ‹ฉไบ† ๅทฅๅ…ท่ฐƒ็”จ + ๆŽจ็†๏ผˆๆทฑๅบฆๆ€่€ƒ๏ผ‰ ็š„็ปผๅˆๆจกๅผใ€‚

  • โœ… ๅทฅๅ…ท่ฐƒ็”จ + ๆŽจ็†
  • โŒ ๅฟซ้€Ÿๅฏน่ฏ
  • โŒ ๆทฑๅบฆๆ€่€ƒ
  • โŒ ๅทฅๅ…ท่ฐƒ็”จ

3. Prompt ๆผ”่ฟ›๏ผšไปŽๅธธ่ง„ Prompt ๅˆฐ็ป“ๆž„ๅŒ– Prompt โ€‹

> ๆ็คบ่ฏๆผ”่ฟ›๏ผšไปŽโ€œไธ€ๆฎตๆœ‰้€ป่พ‘็š„่ฏโ€ๅˆฐโ€œไธ€ๅฅ—้€ป่พ‘โ€ใ€‚ๆœฌๆฌกๅฎž่ทตไธญๆœ€ๆ ธๅฟƒ็š„็›ฎๆ ‡๏ผš้€š่ฟ‡ๅฏนๆฏ”่ฏ•้ชŒ๏ผŒๅˆ†ๆž็ป“ๆž„ๅŒ– Prompt ๅˆฐๅบ•ๆฏ”ๆ™ฎ้€š Prompt ๅฅฝๅœจๅ“ช้‡Œใ€‚

System Prompt ็š„่ดจ้‡็›ดๆŽฅๅ†ณๅฎšไบ† Agent ็š„่พ“ๅ‡บไธ‹้™ไธŽไธŠ้™ใ€‚ๆœฌๆฌกๅฎž่ทต็š„ๆ ธๅฟƒ๏ผŒๅฐฑๆ˜ฏๅฏนๆฏ”ไผ ็ปŸ Prompt ๆก†ๆžถไธŽ็ป“ๆž„ๅŒ– Prompt ็š„ๅฎž้™…่กจ็Žฐใ€‚

3.1 ้˜ถๆฎตไธ€๏ผš้ž็ป“ๆž„ๅŒ– System Prompt๏ผˆๅŸบ็บฟๆต‹่ฏ•๏ผ‰ โ€‹

ๆ€่ทฏ๏ผš ๅ›ด็ป•ๅธ‚้ขไธŠๅธธ็”จ็š„ Prompt ๆก†ๆžถไธŽๆจกๆฟ๏ผŒ็ผ–ๅ†™ไบ†ไธ€ไธช่พƒไธบ่ง„่Œƒ็š„ Promptใ€‚ไฝ†่ฟ™ไป…ไป…ๆ˜ฏไธ€ไธชโ€œ้•ฟๆ–‡ๆœฌโ€ๆŒ‡ไปค๏ผŒๅœจๅŽ็ปญ็š„ๆ‰ฉๅฑ•ๅ’Œๅพฎ่ฐƒไธŠ็ผบไน็ตๆดปๆ€งใ€‚

markdown
# ่ง’่‰ฒ่ง„่Œƒ
 ไฝ ๆ˜ฏไธ€ไฝไธ“ไธš็š„่ฏ—ไบบ๏ผŒๆ“…้•ฟๅˆ›ไฝœ็Žฐไปฃ่ฏ—ใ€ไธƒ่จ€ๅพ‹่ฏ—ๅ’Œไบ”่จ€่ฏ—ใ€‚ไฝ ็š„ไปปๅŠกๆ˜ฏๅธฎๅŠฉ็”จๆˆท้€š่ฟ‡่ฏ—ๆญŒ่กจ่พพๆƒ…ๆ„Ÿใ€ๆ็ป˜ๆ™ฏ่ฑกๆˆ–่ฎฒ่ฟฐๆ•…ไบ‹ใ€‚ๅฝ“็”จๆˆทๆไพ›่ฏ—ๆญŒๅฝขๅผๅ’Œไธป้ข˜ๅŽ๏ผŒไฝ ๅฐ†ๅˆ›ไฝœ็›ธๅบ”็š„่ฏ—ๆญŒ๏ผŒๅนถ้™„ไธŠ่งฃ่ฏปใ€ๅˆ›ไฝœๆ€่ทฏๅ’Œ็ตๆ„Ÿ่ฏดๆ˜Ž๏ผŒๆœ€ๅŽ้€š่ฟ‡็ฒพ็ตๅฏ„่ฏญๆฟ€ๅ‘็”จๆˆท็š„่ฏ—ๆญŒๅˆ›ไฝœ็ƒญๆƒ…ใ€‚
 
 # ๆ€่€ƒ่ง„่Œƒ
diff --git "a/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_04.\347\244\276\345\214\272\346\264\273\345\212\250\344\270\216\345\256\236\350\267\265\345\260\217\351\241\271\347\233\256_70.\350\257\227\346\255\214\345\260\217\347\262\276\347\201\265.md.j6xnTKI4.lean.js" "b/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_04.\347\244\276\345\214\272\346\264\273\345\212\250\344\270\216\345\256\236\350\267\265\345\260\217\351\241\271\347\233\256_70.\350\257\227\346\255\214\345\260\217\347\262\276\347\201\265.md.C1VKntBb.lean.js"
similarity index 96%
rename from "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_04.\347\244\276\345\214\272\346\264\273\345\212\250\344\270\216\345\256\236\350\267\265\345\260\217\351\241\271\347\233\256_70.\350\257\227\346\255\214\345\260\217\347\262\276\347\201\265.md.j6xnTKI4.lean.js"
rename to "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_04.\347\244\276\345\214\272\346\264\273\345\212\250\344\270\216\345\256\236\350\267\265\345\260\217\351\241\271\347\233\256_70.\350\257\227\346\255\214\345\260\217\347\262\276\347\201\265.md.C1VKntBb.lean.js"
index 8d7e4492..1c7b2ac9 100644
--- "a/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_04.\347\244\276\345\214\272\346\264\273\345\212\250\344\270\216\345\256\236\350\267\265\345\260\217\351\241\271\347\233\256_70.\350\257\227\346\255\214\345\260\217\347\262\276\347\201\265.md.j6xnTKI4.lean.js"	
+++ "b/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_04.\347\244\276\345\214\272\346\264\273\345\212\250\344\270\216\345\256\236\350\267\265\345\260\217\351\241\271\347\233\256_70.\350\257\227\346\255\214\345\260\217\347\262\276\347\201\265.md.C1VKntBb.lean.js"	
@@ -1 +1 @@
-import{_ as n,g as i,h as a,U as l}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const g=JSON.parse('{"title":"้›ถไปฃ็ ไธ็ญ‰ไบŽ้›ถ้€ป่พ‘๏ผš็ป“ๆž„ๅŒ– Prompt ้ฉฑๅŠจไธ‹็š„ Agent ๆญๅปบๅฎžๆˆ˜","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจ Agent ๆฆ‚ๅฟตๆปกๅคฉ้ฃž็š„ๅฝ“ไธ‹๏ผŒๅ†ณๅฎšๅคงๆจกๅž‹ๅฎž้™…่กจ็Žฐ็š„ๅพ€ๅพ€ๆ˜ฏๆœ€ๅบ•ๅฑ‚็š„ System Prompt ่ฎพ่ฎกใ€‚ๆœฌๆ–‡่ฎฐๅฝ•ไบ†ๅ‘จๆœซๅˆฉ็”จๆ–‡ๅฟƒๆ™บ่ƒฝไฝ“ๅนณๅฐๆญๅปบโ€œ่ฏ—ๆญŒๅฐ็ฒพ็ตโ€็š„ๅฎŒๆ•ดๅฎž่ทตใ€‚้€š่ฟ‡ๅฏนๆฏ”โ€œไผ ็ปŸๅคงๆฎตๆ–‡ๆœฌโ€ไธŽโ€œLangGPT ็ป“ๆž„ๅŒ–โ€ไธค็ง Prompt ็š„ๅฎž้™…่พ“ๅ‡บ๏ผŒๆทฑๅบฆๆ‹†่งฃไบ†็ป“ๆž„ๅŒ– Prompt ๅฆ‚ไฝ•ๅƒโ€œๅ†™ไปฃ็ โ€ไธ€ๆ ท่ง„่Œƒ AI ็š„ๆ€่€ƒๅทฅไฝœๆต๏ผŒๆœ‰ๆ•ˆ่งฃๅ†ณๆŒ‡ไปคๆผ‚็งปไธŽๅนป่ง‰้—ฎ้ข˜ใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ๆฌก Prompt ่ฐƒไผ˜ๅฎž้ชŒ๏ผŒๆ›ดๆ˜ฏไธ€ๅœบๅ…ณไบŽ AI ไบงๅ“ Sense ไธŽๆœชๆฅไบคไบ’ๅฝขๆ€็š„ๆŽข็ดขใ€‚","frontmatter":{"date":"2024-04-19T22:15:38.000Z","title":"้›ถไปฃ็ ไธ็ญ‰ไบŽ้›ถ้€ป่พ‘๏ผš็ป“ๆž„ๅŒ– Prompt ้ฉฑๅŠจไธ‹็š„ Agent ๆญๅปบๅฎžๆˆ˜","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจ Agent ๆฆ‚ๅฟตๆปกๅคฉ้ฃž็š„ๅฝ“ไธ‹๏ผŒๅ†ณๅฎšๅคงๆจกๅž‹ๅฎž้™…่กจ็Žฐ็š„ๅพ€ๅพ€ๆ˜ฏๆœ€ๅบ•ๅฑ‚็š„ System Prompt ่ฎพ่ฎกใ€‚ๆœฌๆ–‡่ฎฐๅฝ•ไบ†ๅ‘จๆœซๅˆฉ็”จๆ–‡ๅฟƒๆ™บ่ƒฝไฝ“ๅนณๅฐๆญๅปบโ€œ่ฏ—ๆญŒๅฐ็ฒพ็ตโ€็š„ๅฎŒๆ•ดๅฎž่ทตใ€‚้€š่ฟ‡ๅฏนๆฏ”โ€œไผ ็ปŸๅคงๆฎตๆ–‡ๆœฌโ€ไธŽโ€œLangGPT ็ป“ๆž„ๅŒ–โ€ไธค็ง Prompt ็š„ๅฎž้™…่พ“ๅ‡บ๏ผŒๆทฑๅบฆๆ‹†่งฃไบ†็ป“ๆž„ๅŒ– Prompt ๅฆ‚ไฝ•ๅƒโ€œๅ†™ไปฃ็ โ€ไธ€ๆ ท่ง„่Œƒ AI ็š„ๆ€่€ƒๅทฅไฝœๆต๏ผŒๆœ‰ๆ•ˆ่งฃๅ†ณๆŒ‡ไปคๆผ‚็งปไธŽๅนป่ง‰้—ฎ้ข˜ใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ๆฌก Prompt ่ฐƒไผ˜ๅฎž้ชŒ๏ผŒๆ›ดๆ˜ฏไธ€ๅœบๅ…ณไบŽ AI ไบงๅ“ Sense ไธŽๆœชๆฅไบคไบ’ๅฝขๆ€็š„ๆŽข็ดขใ€‚","coverImg":"/img/cover/llm_learning_bg_2.png","categories":["ai-practice"],"permalink":"/ai-practice/poetry-bot","tags":["Agent","AI"]},"headers":[],"relativePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/70.่ฏ—ๆญŒๅฐ็ฒพ็ต.md","filePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/70.่ฏ—ๆญŒๅฐ็ฒพ็ต.md"}'),p={name:"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/70.่ฏ—ๆญŒๅฐ็ฒพ็ต.md"};function e(t,s,h,r,k,E){return a(),i("div",null,[...s[0]||(s[0]=[l("",45)])])}const b=n(p,[["render",e]]);export{g as __pageData,b as default};
+import{_ as n,g as i,h as a,U as l}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const g=JSON.parse('{"title":"้›ถไปฃ็ ไธ็ญ‰ไบŽ้›ถ้€ป่พ‘๏ผš็ป“ๆž„ๅŒ– Prompt ้ฉฑๅŠจไธ‹็š„ Agent ๆญๅปบๅฎžๆˆ˜","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจ Agent ๆฆ‚ๅฟตๆปกๅคฉ้ฃž็š„ๅฝ“ไธ‹๏ผŒๅ†ณๅฎšๅคงๆจกๅž‹ๅฎž้™…่กจ็Žฐ็š„ๅพ€ๅพ€ๆ˜ฏๆœ€ๅบ•ๅฑ‚็š„ System Prompt ่ฎพ่ฎกใ€‚ๆœฌๆ–‡่ฎฐๅฝ•ไบ†ๅ‘จๆœซๅˆฉ็”จๆ–‡ๅฟƒๆ™บ่ƒฝไฝ“ๅนณๅฐๆญๅปบโ€œ่ฏ—ๆญŒๅฐ็ฒพ็ตโ€็š„ๅฎŒๆ•ดๅฎž่ทตใ€‚้€š่ฟ‡ๅฏนๆฏ”โ€œไผ ็ปŸๅคงๆฎตๆ–‡ๆœฌโ€ไธŽโ€œLangGPT ็ป“ๆž„ๅŒ–โ€ไธค็ง Prompt ็š„ๅฎž้™…่พ“ๅ‡บ๏ผŒๆทฑๅบฆๆ‹†่งฃไบ†็ป“ๆž„ๅŒ– Prompt ๅฆ‚ไฝ•ๅƒโ€œๅ†™ไปฃ็ โ€ไธ€ๆ ท่ง„่Œƒ AI ็š„ๆ€่€ƒๅทฅไฝœๆต๏ผŒๆœ‰ๆ•ˆ่งฃๅ†ณๆŒ‡ไปคๆผ‚็งปไธŽๅนป่ง‰้—ฎ้ข˜ใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ๆฌก Prompt ่ฐƒไผ˜ๅฎž้ชŒ๏ผŒๆ›ดๆ˜ฏไธ€ๅœบๅ…ณไบŽ AI ไบงๅ“ Sense ไธŽๆœชๆฅไบคไบ’ๅฝขๆ€็š„ๆŽข็ดขใ€‚","frontmatter":{"date":"2024-04-19T22:15:38.000Z","title":"้›ถไปฃ็ ไธ็ญ‰ไบŽ้›ถ้€ป่พ‘๏ผš็ป“ๆž„ๅŒ– Prompt ้ฉฑๅŠจไธ‹็š„ Agent ๆญๅปบๅฎžๆˆ˜","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจ Agent ๆฆ‚ๅฟตๆปกๅคฉ้ฃž็š„ๅฝ“ไธ‹๏ผŒๅ†ณๅฎšๅคงๆจกๅž‹ๅฎž้™…่กจ็Žฐ็š„ๅพ€ๅพ€ๆ˜ฏๆœ€ๅบ•ๅฑ‚็š„ System Prompt ่ฎพ่ฎกใ€‚ๆœฌๆ–‡่ฎฐๅฝ•ไบ†ๅ‘จๆœซๅˆฉ็”จๆ–‡ๅฟƒๆ™บ่ƒฝไฝ“ๅนณๅฐๆญๅปบโ€œ่ฏ—ๆญŒๅฐ็ฒพ็ตโ€็š„ๅฎŒๆ•ดๅฎž่ทตใ€‚้€š่ฟ‡ๅฏนๆฏ”โ€œไผ ็ปŸๅคงๆฎตๆ–‡ๆœฌโ€ไธŽโ€œLangGPT ็ป“ๆž„ๅŒ–โ€ไธค็ง Prompt ็š„ๅฎž้™…่พ“ๅ‡บ๏ผŒๆทฑๅบฆๆ‹†่งฃไบ†็ป“ๆž„ๅŒ– Prompt ๅฆ‚ไฝ•ๅƒโ€œๅ†™ไปฃ็ โ€ไธ€ๆ ท่ง„่Œƒ AI ็š„ๆ€่€ƒๅทฅไฝœๆต๏ผŒๆœ‰ๆ•ˆ่งฃๅ†ณๆŒ‡ไปคๆผ‚็งปไธŽๅนป่ง‰้—ฎ้ข˜ใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ๆฌก Prompt ่ฐƒไผ˜ๅฎž้ชŒ๏ผŒๆ›ดๆ˜ฏไธ€ๅœบๅ…ณไบŽ AI ไบงๅ“ Sense ไธŽๆœชๆฅไบคไบ’ๅฝขๆ€็š„ๆŽข็ดขใ€‚","coverImg":"/img/cover/llm_learning_bg_2.png","categories":["ai-practice"],"permalink":"/ai-practice/poetry-bot","tags":["Agent","AI"]},"headers":[],"relativePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/70.่ฏ—ๆญŒๅฐ็ฒพ็ต.md","filePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/70.่ฏ—ๆญŒๅฐ็ฒพ็ต.md"}'),p={name:"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/70.่ฏ—ๆญŒๅฐ็ฒพ็ต.md"};function e(t,s,h,r,k,E){return a(),i("div",null,[...s[0]||(s[0]=[l("",45)])])}const b=n(p,[["render",e]]);export{g as __pageData,b as default};
diff --git "a/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_90.\350\265\204\346\272\220\344\270\216\345\267\245\345\205\267\346\216\250\350\215\220_01.\345\245\275\347\224\250\347\232\204 AI \345\212\251\346\211\213\344\270\216\345\267\245\344\275\234\347\253\231\346\216\250\350\215\220.md.vaSWKpLD.js" "b/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_90.\350\265\204\346\272\220\344\270\216\345\267\245\345\205\267\346\216\250\350\215\220_01.\345\245\275\347\224\250\347\232\204 AI \345\212\251\346\211\213\344\270\216\345\267\245\344\275\234\347\253\231\346\216\250\350\215\220.md.DT78Ux7f.js"
similarity index 99%
rename from "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_90.\350\265\204\346\272\220\344\270\216\345\267\245\345\205\267\346\216\250\350\215\220_01.\345\245\275\347\224\250\347\232\204 AI \345\212\251\346\211\213\344\270\216\345\267\245\344\275\234\347\253\231\346\216\250\350\215\220.md.vaSWKpLD.js"
rename to "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_90.\350\265\204\346\272\220\344\270\216\345\267\245\345\205\267\346\216\250\350\215\220_01.\345\245\275\347\224\250\347\232\204 AI \345\212\251\346\211\213\344\270\216\345\267\245\344\275\234\347\253\231\346\216\250\350\215\220.md.DT78Ux7f.js"
index f3f8e628..e1d0741d 100644
--- "a/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_90.\350\265\204\346\272\220\344\270\216\345\267\245\345\205\267\346\216\250\350\215\220_01.\345\245\275\347\224\250\347\232\204 AI \345\212\251\346\211\213\344\270\216\345\267\245\344\275\234\347\253\231\346\216\250\350\215\220.md.vaSWKpLD.js"	
+++ "b/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_90.\350\265\204\346\272\220\344\270\216\345\267\245\345\205\267\346\216\250\350\215\220_01.\345\245\275\347\224\250\347\232\204 AI \345\212\251\346\211\213\344\270\216\345\267\245\344\275\234\347\253\231\346\216\250\350\215\220.md.DT78Ux7f.js"	
@@ -1 +1 @@
-import{_ as s,g as l,h as n,U as e,i as t}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const p=JSON.parse('{"title":"ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšไธบไพฟไบŽ้ซ˜ๆ•ˆๅˆฉ็”จ AI ๅทฅๅ…ทๆๅ‡ๅญฆไน ใ€ๆœ็ดขๅ’Œๅˆ›ไฝœๆ•ˆ็އ๏ผŒๆœฌๆ–‡็ณป็ปŸๆ•ด็†ไบ†ไธปๆต็š„ AI ๅŠฉๆ‰‹ไธŽๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐ็›ธๅ…ณ่ต„ๆบใ€‚ๅ†…ๅฎนๅˆ†ไธบโ€œAI ๅŠฉๆ‰‹โ€๏ผˆๅฆ‚ ChatGPTใ€Claudeใ€Gemini ็ญ‰ๅฏน่ฏๅผๅŠฉๆ‰‹๏ผ‰ๅ’Œโ€œๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐโ€๏ผˆๅฆ‚ๅ†™ไฝœใ€็ป˜็”ป็ญ‰้ข†ๅŸŸ็š„ AI ๅทฅๅ…ทไธŽๅนณๅฐ๏ผ‰๏ผŒไธ”ๆ ‡ๆณจไบ†ๅ…ถๆ ธๅฟƒ่ƒฝๅŠ›ใ€้€‚ๅˆๅœบๆ™ฏ๏ผŒไปฅๅŠ็‰น่‰ฒไผ˜ๅŠฟใ€‚","frontmatter":{"date":"2025-11-25T00:52:28.000Z","title":"ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšไธบไพฟไบŽ้ซ˜ๆ•ˆๅˆฉ็”จ AI ๅทฅๅ…ทๆๅ‡ๅญฆไน ใ€ๆœ็ดขๅ’Œๅˆ›ไฝœๆ•ˆ็އ๏ผŒๆœฌๆ–‡็ณป็ปŸๆ•ด็†ไบ†ไธปๆต็š„ AI ๅŠฉๆ‰‹ไธŽๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐ็›ธๅ…ณ่ต„ๆบใ€‚ๅ†…ๅฎนๅˆ†ไธบโ€œAI ๅŠฉๆ‰‹โ€๏ผˆๅฆ‚ ChatGPTใ€Claudeใ€Gemini ็ญ‰ๅฏน่ฏๅผๅŠฉๆ‰‹๏ผ‰ๅ’Œโ€œๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐโ€๏ผˆๅฆ‚ๅ†™ไฝœใ€็ป˜็”ป็ญ‰้ข†ๅŸŸ็š„ AI ๅทฅๅ…ทไธŽๅนณๅฐ๏ผ‰๏ผŒไธ”ๆ ‡ๆณจไบ†ๅ…ถๆ ธๅฟƒ่ƒฝๅŠ›ใ€้€‚ๅˆๅœบๆ™ฏ๏ผŒไปฅๅŠ็‰น่‰ฒไผ˜ๅŠฟใ€‚","permalink":"/ai-learning/tools-assistant","coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/source_sites_bg.png","categories":["่ต„ๆบๆŽจ่"],"tags":["่ต„ๆบๆŽจ่","AI","AI ๅŠฉๆ‰‹","AI ๆœ็ดข"]},"headers":[],"relativePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่.md","filePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่.md"}'),i={name:"20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่.md"};function d(o,a,r,c,g,_){return n(),l("div",null,[...a[0]||(a[0]=[e('

ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่ โ€‹

ๆ‘˜่ฆๆ€ป็ป“๏ผšไธบไพฟไบŽ้ซ˜ๆ•ˆๅˆฉ็”จ AI ๅทฅๅ…ทๆๅ‡ๅญฆไน ใ€ๆœ็ดขๅ’Œๅˆ›ไฝœๆ•ˆ็އ๏ผŒๆœฌๆ–‡็ณป็ปŸๆ•ด็†ไบ†ไธปๆต็š„ AI ๅŠฉๆ‰‹ไธŽๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐ็›ธๅ…ณ่ต„ๆบใ€‚ๅ†…ๅฎนๅˆ†ไธบโ€œAI ๅŠฉๆ‰‹โ€๏ผˆๅฆ‚ ChatGPTใ€Claudeใ€Gemini ็ญ‰ๅฏน่ฏๅผๅŠฉๆ‰‹๏ผ‰ๅ’Œโ€œๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐโ€๏ผˆๅฆ‚ๅ†™ไฝœใ€็ป˜็”ป็ญ‰้ข†ๅŸŸ็š„ AI ๅทฅๅ…ทไธŽๅนณๅฐ๏ผ‰๏ผŒไธ”ๆ ‡ๆณจไบ†ๅ…ถๆ ธๅฟƒ่ƒฝๅŠ›ใ€้€‚ๅˆๅœบๆ™ฏ๏ผŒไปฅๅŠ็‰น่‰ฒไผ˜ๅŠฟใ€‚

1. AI ๅŠฉๆ‰‹ โ€‹

้€‰ๆ‹ฉๅปบ่ฎฎ๏ผš ่‹ฑๆ–‡ไธบไธป โ†’ ไผ˜ๅ…ˆ ChatGPT / Claude / Gemini๏ผ›ไธญๆ–‡ไธบไธป โ†’ ไผ˜ๅ…ˆ Kimi / DeepSeek / ้€šไน‰ๅƒ้—ฎ๏ผ›้œ€่ฆ่”็ฝ‘ๅฎžๆ—ถไฟกๆฏ โ†’ Gemini / Grok๏ผ›้œ€่ฆๅˆ†ๆž้•ฟๆ–‡ๆกฃ โ†’ Claude / Kimi๏ผ›่ฟฝๆฑ‚ไฝŽๆˆๆœฌๅผ€ๆบ้ƒจ็ฝฒ โ†’ DeepSeekใ€‚

ๆณจ๏ผš็›ฎๅ‰ๅ›ฝๅค–ๆจกๅž‹๏ผˆๅฆ‚ ChatGPTใ€Claudeใ€Gemini ็ญ‰๏ผ‰ๅœจ่‹ฑๆ–‡ๅค„็†ใ€ๅคšๆจกๆ€่ƒฝๅŠ›ใ€ๆ’ไปถ็”Ÿๆ€ๅ’Œ API ไธฐๅฏŒๆ€ง็ญ‰ๆ–น้ข๏ผŒๆ•ดไฝ“ไธŠไพ็„ถไผ˜ไบŽๅ›ฝๅ†…ๆจกๅž‹๏ผŒ้€‚ๅˆๅฏน่‹ฑๆ–‡ๅˆ›ไฝœใ€ๅคš่ฏญ่จ€ๆฒŸ้€šใ€ๅคๆ‚ๆŽจ็†ใ€ไปฃ็ ๅŠฉๆ‰‹็ญ‰ๅœบๆ™ฏๆœ‰ๆ›ด้ซ˜่ฆๆฑ‚็š„็”จๆˆทใ€‚ไธ่ฟ‡๏ผŒๅ›ฝๅ†…ๆจกๅž‹ๅœจไธญๆ–‡็†่งฃใ€ๆœฌๅœฐๅŒ–ใ€ๅˆ่ง„ๆ€งๅ’Œ้ƒจๅˆ†ๅฎšๅˆถๅŒ–ๅœบๆ™ฏไธ‹ๆ›ดๅ…ทไผ˜ๅŠฟ๏ผŒไธ”่ฎฟ้—ฎๆ›ดไธบไพฟๆท๏ผŒ้€‚ๅˆๆ—ฅๅธธไฝฟ็”จๅ’Œๆœฌๅœฐ้œ€ๆฑ‚ใ€‚

1.1. ๅ›ฝๅค– โ€‹

',6),t("div",{class:"container nav-card-container"},[t("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[t("a",{href:"https://gemini.google.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://www.gstatic.com/lamda/images/gemini_sparkle_aurora_33f86dc0c0257da337c63.svg",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Gemini")]),t("p",{class:"desc"},"Gemini ๆ˜ฏ Google ๆ——ไธ‹็š„ๆ——่ˆฐ็บง AI ๅŠฉๆ‰‹๏ผŒๅŸบไบŽๅ…ˆ่ฟ›็š„ Gemini ๅคงๆจกๅž‹๏ผŒ่žๅˆๆ™บ่ƒฝ้—ฎ็ญ”ใ€ไปฃ็ ๅˆ›ไฝœใ€ๆ–‡ๆกฃๅˆ†ๆžใ€็ฝ‘้กต็†่งฃ็ญ‰ๅคš็ง่ƒฝๅŠ›๏ผŒๆ”ฏๆŒๅคš่ฝฎๅฏน่ฏใ€ๅ›พๅƒ/ๆ–‡ไปถ่พ“ๅ…ฅ๏ผŒๅ…ทๅค‡ๅผบๅคง็š„ๆŽจ็†ไธŽๆœ็ดขๅขžๅผบๅŠŸ่ƒฝใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅคšๆจกๆ€")]),t("a",{href:"https://claude.ai/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://claude.ai/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Claude")]),t("p",{class:"desc"},"Claude ๆ˜ฏ Anthropic ๆŽจๅ‡บ็š„ AI ๅŠฉๆ‰‹๏ผŒไปฅๅฎ‰ๅ…จใ€่ฏšๅฎžใ€ๆ— ๅฎณไธบๆ ธๅฟƒ็†ๅฟต๏ผŒๆ“…้•ฟ้•ฟๆ–‡ๆœฌ็†่งฃใ€ไปฃ็ ็ผ–ๅ†™ไธŽๅคๆ‚ๆŽจ็†ไปปๅŠก"),t("span",{class:"VPBadge tip badge"},"้€ป่พ‘ไธฅ่ฐจ")]),t("a",{href:"https://chat.openai.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://chatgpt.com/cdn/assets/favicon-l4nq08hd.svg",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"ChatGPT")]),t("p",{class:"desc"},"OpenAI ๆ˜ฏๅ…จ็ƒ้ข†ๅ…ˆ็š„ไบบๅทฅๆ™บ่ƒฝๅ…ฌๅธ๏ผŒๅ…ถ ChatGPT ๆ˜ฏๆœ€็Ÿฅๅ็š„ๅฏน่ฏๅผ AI๏ผŒๅฏ็”จไบŽๅˆ›ไฝœใ€ไปฃ็ ใ€็ญ”็–‘ใ€ๅ†™ไฝœ็ญ‰ๅคš็งๅœบๆ™ฏ"),t("span",{class:"VPBadge tip badge"},"ๅ…จ่ƒฝๅŠฉๆ‰‹")]),t("a",{href:"https://grok.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://grok.com/images/favicon.svg",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Grok (xAI)")]),t("p",{class:"desc"},"Grok ๆ˜ฏ็”ฑ Elon ็š„ xAI ๅ›ข้˜Ÿๆ‰“้€ ็š„ๆ——่ˆฐ AI ๅŠฉๆ‰‹๏ผŒๆ‹ฅๆœ‰ๅฎžๆ—ถ่”็ฝ‘ใ€ๅนฝ้ป˜ๅฏน่ฏ้ฃŽๆ ผๅ’Œๅผบๅคง็Ÿฅ่ฏ†ๆŽจ็†่ƒฝๅŠ›๏ผŒๆ”ฏๆŒๅคš่ฝฎๅฏน่ฏใ€็Ÿฅ่ฏ†้—ฎ็ญ”๏ผŒๅนถไธ”ๅฏๆ— ็ผ้›†ๆˆ่‡ณ X๏ผˆๅŽŸ Twitter๏ผ‰๏ผŒไพ›็”จๆˆทไพฟๆท่ฐƒ็”จใ€‚"),t("span",{class:"VPBadge tip badge"},"ๆ— ็ผ้›†ๆˆ X")])])],-1),e('
ๅŠฉๆ‰‹๐Ÿ”‘ ๆ ธๅฟƒ่ƒฝๅŠ›ๆ ‡็ญพ๐Ÿ’ก ๅ…ธๅž‹ไฝฟ็”จๅœบๆ™ฏ
ChatGPT็ปผๅˆ่ƒฝๅŠ›ๆœ€ๅ…จ้ข๏ผ›GPT-4o ๅŽŸ็”Ÿๅคšๆจกๆ€๏ผˆๅ›พ/ๆ–‡/้Ÿณ/่ง†้ข‘๏ผ‰๏ผ›o1 / o3 ็ณปๅˆ—ๆทฑๅบฆๆŽจ็†้“พ๏ผ›GPTs ๅทฅๅ…ทๆ’ไปถ็”Ÿๆ€ๆœ€ไธฐๅฏŒๅ†™ไฝœไธŽๅ†…ๅฎนๅˆ›ไฝœ ไปฃ็ ็”ŸๆˆไธŽ่ฐƒ่ฏ• ๅคๆ‚ๅคšๆญฅๆŽจ็† ๅคšๆจกๆ€ๅ†…ๅฎนๅˆ†ๆž
Claude200K ้•ฟไธŠไธ‹ๆ–‡๏ผŒๆŒ‡ไปค้ตๅพช็ฒพๅ‡†๏ผ›่พ“ๅ‡บ้€ป่พ‘ไธฅ่ฐจใ€็ป“ๆž„ๆธ…ๆ™ฐ๏ผŒๆžๅฐ‘ๅนป่ง‰๏ผ›ไปฃ็ ไธŽๆ–‡ๆกฃ่ดจ้‡้ซ˜้•ฟๆ–‡ๆกฃ็ฒพ่ฏปไธŽๆ‘˜่ฆ ๅคๆ‚ไปปๅŠก่ง„ๅˆ’ ้ซ˜่ดจ้‡ไปฃ็ ๅฎกๆŸฅ AI Agent ๆŽจ็†ๅŽ็ซฏ
Gemini100 ไธ‡ Token ่ถ…้•ฟไธŠไธ‹ๆ–‡๏ผ›ๅŽŸ็”Ÿๅคšๆจกๆ€๏ผˆๅ›พ/้Ÿณ้ข‘/่ง†้ข‘๏ผ‰๏ผ›ไธŽ Google Searchใ€Workspace ็”Ÿๆ€ๆทฑๅบฆๆ•ดๅˆๅฎžๆ—ถไฟกๆฏๆฃ€็ดข ยท ่ทจๆจกๆ€ๅ†…ๅฎน็†่งฃ ยท ็ ”็ฉถ่พ…ๅŠฉ ยท Google ๅŠžๅ…ฌๅœบๆ™ฏ
Grokๅฎžๆ—ถๆŽฅๅ…ฅ X๏ผˆTwitter๏ผ‰ๆ•ฐๆฎๆต๏ผŒๆ—ถไบ‹ๆ„Ÿ็Ÿฅๆœ€ๆ–ฐ๏ผ›ๆŽจ็†่ƒฝๅŠ›ๅผบ๏ผ›ๅฏน่ฏ้ฃŽๆ ผๅผ€ๆ”พ๏ผŒ้™ๅˆถๅฐ‘ๆ—ถไบ‹็ƒญ็‚นไธŽ่ˆ†ๆƒ…่ฟฝ่ธช ยท ๅผ€ๆ”พๆ€ง่ฏ้ข˜่ฎจ่ฎบ ยท ็คพๅช’ๅ†…ๅฎนๅˆ†ๆž

1.2. ๅ›ฝๅ†… โ€‹

',2),t("div",{class:"container nav-card-container"},[t("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[t("a",{href:"https://www.minimaxi.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://www.minimaxi.com/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"miniMax")]),t("p",{class:"desc"},"miniMax ๆ˜ฏๅ›ฝๅ†…้ข†ๅ…ˆ็š„ AI ๅŠฉๆ‰‹ๅนณๅฐ๏ผŒๆ‹ฅๆœ‰ๅคšๆจกๆ€ๅคงๆจกๅž‹่ƒฝๅŠ›๏ผŒๆ”ฏๆŒๅฏน่ฏ้—ฎ็ญ”ใ€ไปฃ็ ็”Ÿๆˆใ€ๆ–‡ๆกฃๅค„็†ใ€็Ÿฅ่ฏ†ๆฃ€็ดข็ญ‰ไธฐๅฏŒๅœบๆ™ฏ๏ผŒ่š็„ฆ่‡ช็„ถ่ฏญ่จ€็†่งฃไธŽๆ™บ่ƒฝๅˆ›ไฝœใ€‚็•Œ้ขไฝ“้ชŒไผ˜็ง€๏ผŒ็”Ÿๆ€ๅผ€ๆ”พ๏ผŒ้€‚ๅˆไฝœไธบ้€š็”จ AI ่พ…ๅŠฉๅทฅๅ…ทไฝฟ็”จใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅคšๆจกๆ€")]),t("a",{href:"https://chatglm.cn/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://chatglm.cn/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"ๆ™บ่ฐฑๆธ…่จ€")]),t("p",{class:"desc"},"ๆ™บ่ฐฑๆธ…่จ€ๆ˜ฏ็”ฑๆ™บ่ฐฑAIๆŽจๅ‡บ็š„ๅ›ฝไบงๅคงๆจกๅž‹ๅบ”็”จๅนณๅฐ๏ผŒๅŸบไบŽGLM็ณปๅˆ—ๅคงๆจกๅž‹๏ผŒๆ”ฏๆŒๅฏน่ฏ้—ฎ็ญ”ใ€็Ÿฅ่ฏ†ๆฃ€็ดขใ€ไปฃ็ ็”Ÿๆˆใ€ไผไธš็Ÿฅ่ฏ†ๅบ“็ญ‰ๅคšๅœบๆ™ฏ๏ผŒๆ–‡ๆœฌ็†่งฃไธŽๆŽจ็†่ƒฝๅŠ›ไผ˜็ง€๏ผŒ็•Œ้ข็ฎ€ๆดๆ˜“็”จใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅ†…")]),t("a",{href:"https://kimi.moonshot.cn/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://kimi.moonshot.cn/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Kimi")]),t("p",{class:"desc"},"Kimi ๆ˜ฏๆœˆไน‹ๆš—้ข๏ผˆMoonshot AI๏ผ‰ๆŽจๅ‡บ็š„ๆ™บ่ƒฝๅŠฉๆ‰‹๏ผŒๆ”ฏๆŒ่ถ…้•ฟไธŠไธ‹ๆ–‡ๅฏน่ฏใ€ๆ–‡ไปถๅˆ†ๆžใ€ๆ™บ่ƒฝ้—ฎ็ญ”ใ€ไปฃ็ ็”Ÿๆˆ็ญ‰ๅคš็ง่ƒฝๅŠ›๏ผŒๅ…ทๅค‡ๅผบๅคง็š„ไธญๆ–‡่ฏญ่จ€็†่งฃๅ’ŒๆŽจ็†่ƒฝๅŠ›๏ผŒ็•Œ้ขๅ‹ๅฅฝ๏ผŒ้€‚ๅˆๅคšๅœบๆ™ฏไฝฟ็”จใ€‚"),t("span",{class:"VPBadge tip badge"},"้•ฟไธŠไธ‹ๆ–‡")]),t("a",{href:"https://www.deepseek.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://www.deepseek.com/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"deepseek")]),t("p",{class:"desc"},"DeepSeek ๆ˜ฏๅ›ฝๅ†…ๆŠ€ๆœฏ้ข†ๅ…ˆ็š„ๅคงๆจกๅž‹ๅนณๅฐ๏ผŒๆไพ›้€š็”จๅฏน่ฏใ€AI ไปฃ็ ๅŠฉๆ‰‹ใ€ๆ–‡ๆกฃๅค„็†ใ€็Ÿฅ่ฏ†ๆฃ€็ดข็ญ‰ๆœๅŠก๏ผŒๆ“…้•ฟไปฃ็ ็”Ÿๆˆใ€ๆ•ฐๅญฆไธŽ้€ป่พ‘ๆŽจ็†๏ผŒๆ”ฏๆŒๆœฌๅœฐ้ƒจ็ฝฒไธŽไผไธš็บงๅบ”็”จ๏ผŒๆ€งไปทๆฏ”้ซ˜ใ€็ ”ๅ‘ๆดป่ทƒใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅ†…")]),t("a",{href:"https://www.doubao.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://lf-flow-web-cdn.doubao.com/obj/flow-doubao/doubao/chat/favicon.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"่ฑ†ๅŒ… (Doubao)")]),t("p",{class:"desc"},"ๅญ—่Š‚่ทณๅŠจๆŽจๅ‡บ็š„ๆ–ฐไธ€ไปฃๅคงๆจกๅž‹โ€œ่ฑ†ๅŒ…โ€๏ผŒไธปๆ‰“่ฝป้‡้ซ˜ๆ•ˆ๏ผŒไธ“ๆณจๆ™บ่ƒฝ้—ฎ็ญ”ใ€ๅ†™ไฝœๅŠฉๆ‰‹ใ€ๅ†…ๅฎนๆ€ป็ป“ใ€ไปฃ็ ็”Ÿๆˆ็ญ‰ๅœบๆ™ฏ๏ผŒ็•Œ้ขๆธ…็ˆฝไฝ“้ชŒๅ‹ๅฅฝ๏ผŒๅนถไธๆ–ญๅผ€ๆ”พไฝฟ็”จไธŽ API ่ƒฝๅŠ›ใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅ†…")]),t("a",{href:"https://www.qianwen.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://img.alicdn.com/imgextra/i4/O1CN01uar8u91DHWktnF2fl_!!6000000000191-2-tps-110-110.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"้€šไน‰ๅƒ้—ฎ (Qwen)")]),t("p",{class:"desc"},"้˜ฟ้‡Œไบ‘ๆŽจๅ‡บ็š„้€šไน‰ๅƒ้—ฎๅคงๆจกๅž‹๏ผˆQwen๏ผ‰๏ผŒๅœจไธญๆ–‡็†่งฃไธŽ็”Ÿๆˆใ€ไปฃ็ ๅ’Œๅคšๆจกๆ€็ญ‰ๆ–น้ข่กจ็Žฐๅ‡บ่‰ฒ๏ผŒ้€‚ๅˆๅ†…ๅฎนๅˆ›ไฝœใ€ๅฏน่ฏๅŠฉๆ‰‹ใ€ไผไธš็Ÿฅ่ฏ†ๅบ“็ญ‰ๅคšๆ ทไธšๅŠกๅœบๆ™ฏ๏ผŒๆ”ฏๆŒ่ถ…้•ฟไธŠไธ‹ๆ–‡ๅ’Œๆ’ไปถ็”Ÿๆ€ใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅ†…")]),t("a",{href:"https://yiyan.baidu.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://eb-static.cdn.bcebos.com/logo/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"ๆ–‡ๅฟƒไธ€่จ€ (ERNIE Bot)")]),t("p",{class:"desc"},"็™พๅบฆๆŽจๅ‡บ็š„ๆ–‡ๅฟƒไธ€่จ€๏ผˆERNIE Bot๏ผ‰ๅคงๆจกๅž‹๏ผŒๅ…ทๅค‡ๅผบๅคง็š„ไธญๆ–‡่ฏญไน‰็†่งฃใ€ไฟกๆฏๆฃ€็ดขใ€ๅคš่ฝฎๅฏน่ฏไธŽไปฃ็ ่ƒฝๅŠ›๏ผŒ้€‚็”จไบŽๆœ็ดข้—ฎ็ญ”ใ€ๆ™บ่ƒฝๅˆ›ไฝœใ€ไผไธšๆŽฅๅ…ฅ็ญ‰ๅœบๆ™ฏ๏ผŒๆ‹ฅๆœ‰ไธฐๅฏŒ็š„ API ไธŽ็”Ÿๆ€ๆ”ฏๆŒใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅ†…")]),t("a",{href:"https://yuanbao.tencent.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://static.yuanbao.tencent.com/m/yuanbao-web/favicon@32.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"ๅ…ƒๅฎ (Hunyuan)")]),t("p",{class:"desc"},"่…พ่ฎฏๆŽจๅ‡บ็š„ๅ…ƒๅฎ๏ผˆHunyuan๏ผ‰ๅคงๆจกๅž‹ๅŠฉๆ‰‹๏ผŒไธ“ๆณจไบŽไธญๆ–‡็†่งฃไธŽ็”Ÿๆˆ๏ผŒๆ”ฏๆŒๅฏน่ฏ้—ฎ็ญ”ใ€ๅ†…ๅฎนๅˆ›ไฝœใ€ไปฃ็ ใ€ๆœ็ดขใ€ๆ•ฐๆฎๅˆ†ๆž็ญ‰ๅคšๅœบๆ™ฏ๏ผŒ็•Œ้ข็ฎ€ๆดๅŠŸ่ƒฝไธฐๅฏŒ๏ผŒๅ…ทๅค‡ไผไธš็บงๆŽฅๅ…ฅ่ƒฝๅŠ›ใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅ†…")])])],-1),e('
ๅŠฉๆ‰‹๐Ÿ”‘ ๆ ธๅฟƒ่ƒฝๅŠ›ๆ ‡็ญพ๐Ÿ’ก ๅ…ธๅž‹ไฝฟ็”จๅœบๆ™ฏ
miniMax100 ไธ‡ Token ่ถ…้•ฟไธŠไธ‹ๆ–‡๏ผˆๅ›ฝๅ†…้ข†ๅ…ˆ๏ผ‰๏ผ›ๆ–‡ๆœฌ / ่ฏญ้Ÿณ / ่ง†้ข‘ๅคšๆจกๆ€ๅ…จ่ฆ†็›–๏ผ›Hailuo AI ่ง†้ข‘็”Ÿๆˆใ€Talkie ่ง’่‰ฒๅฏน่ฏๅ‡บๆตท็ซžไบ‰ๅŠ›ๅผบ๏ผ›API ๅผ€ๆ”พๅบฆ้ซ˜่ถ…้•ฟๆ–‡ๆกฃ็†่งฃ ยท AI ่ง†้ข‘็”Ÿๆˆ ยท ่ฏญ้ŸณๅˆๆˆไธŽๅ…‹้š† ยท ่ง’่‰ฒๆ‰ฎๆผ” / AI ้™ชไผด ยท ๅคšๆจกๆ€ๅบ”็”จๅผ€ๅ‘
Kimi100 ไธ‡ Token ไธญๆ–‡้•ฟไธŠไธ‹ๆ–‡๏ผ›ๅคšๆ ผๅผๆ–‡ไปถ่งฃๆž๏ผˆPDF / Word / ไปฃ็ ๏ผ‰๏ผ›ๅ†…็ฝฎ่”็ฝ‘ๆฃ€็ดขไธŽๆทฑๅบฆ็ ”็ฉถ๏ผˆResearch๏ผ‰ๆจกๅผ้•ฟๆ–‡ๆกฃ้˜…่ฏปไธŽ็ป“ๆž„ๅŒ–ๆ็‚ผ ยท ๅญฆๆœฏ่ฎบๆ–‡ / ๆณ•ๅพ‹ๅˆๅŒๅˆ†ๆž ยท ๅคšๆ–‡ไปถๅฏนๆฏ” ยท ๆทฑๅบฆ็ ”็ฉถๆŠฅๅ‘Š
ๆ™บ่ฐฑๆธ…่จ€ (GLM)GLM-4 ๆ•ฐๅญฆไธŽไปฃ็ ๆŽจ็†็ชๅ‡บ๏ผ›ๆ”ฏๆŒ Function Call ๅทฅๅ…ท่ฐƒ็”จ๏ผ›ๅคšๆจกๆ€๏ผˆGLM-4V๏ผ‰๏ผ›ไผไธš RAG / Agent ็”Ÿๆ€ๅฎŒๅ–„ไผไธš็Ÿฅ่ฏ†ๅบ“้—ฎ็ญ”ไธŽ RAG ยท ไปฃ็ ไธŽๆ•ฐๅญฆๆŽจ็† ยท Agent ๅทฅๅ…ท้“พๅผ€ๅ‘ ยท ๅ›พๆ–‡ๅคšๆจกๆ€็†่งฃ
DeepSeekๅ…จ้‡ๆƒ้‡ๅผ€ๆบๅฏๆœฌๅœฐ้ƒจ็ฝฒ๏ผ›R1 ๅ…ทๅค‡็ฑป o1 ๆ…ขๆ€่€ƒๆŽจ็†้“พ๏ผŒๆ•ฐๅญฆไธŽ้€ป่พ‘่ƒฝๅŠ›้กถๅฐ–๏ผ›API ไปทๆ ผๆžไฝŽๆ€งไปทๆฏ”้ซ˜ไปฃ็ ็”ŸๆˆไธŽ่ฐƒ่ฏ• ยท ๆ•ฐๅญฆ / ้€ป่พ‘ๆŽจ็† ยท ๅญฆๆœฏ็ ”็ฉถ ยท ไฝŽๆˆๆœฌ็งๆœ‰ๅŒ–้ƒจ็ฝฒ
้€šไน‰ๅƒ้—ฎ (Qwen)Qwen2.5 ๆถต็›–ๆ–‡ๆœฌ / ไปฃ็ ๏ผˆQwen-Coder๏ผ‰/ ๆ•ฐๅญฆ / ๅคšๆจกๆ€๏ผˆQwen-VL๏ผ‰ๅญๆจกๅž‹๏ผ›ไธŽ้’‰้’‰ใ€้˜ฟ้‡Œไบ‘ๅทฅๅ…ท้“พๆทฑๅบฆ้›†ๆˆ๏ผ›้ƒจๅˆ†ๅผ€ๆบไธญๆ–‡ๅ†…ๅฎนๅˆ›ไฝœ ยท ไปฃ็ ไธŽๆ•ฐๅญฆ ยท ้’‰้’‰ / ้˜ฟ้‡Œไบ‘็”Ÿๆ€้›†ๆˆ ยท ๅคšๆจกๆ€ๅ›พๆ–‡็”Ÿๆˆ
่ฑ†ๅŒ… (Doubao)ๅ“ๅบ”้€Ÿๅบฆๅฟซ๏ผŒๆ—ฅๅธธไฝ“้ชŒๆต็•…๏ผ›ไธŽๆŠ–้Ÿณ / ้ฃžไนฆ / ๅ‰ชๆ˜ ็”Ÿๆ€ๆ‰“้€š๏ผ›ๅ…ทๅค‡่”็ฝ‘ๆœ็ดขไธŽๅ›พๅƒ็†่งฃ๏ผ›API ไปทๆ ผๅ‹ๅฅฝๆ—ฅๅธธ้—ฎ็ญ”ไธŽๅ†…ๅฎนๆ‘˜่ฆ ยท ๅˆ›ๆ„ๅ†™ไฝœ่พ…ๅŠฉ ยท ็Ÿญ่ง†้ข‘ๅ†…ๅฎน็ญ–ๅˆ’ ยท ้ฃžไนฆ / ๆŠ–้Ÿณๅœบๆ™ฏ้›†ๆˆ
ๆ–‡ๅฟƒไธ€่จ€ (ERNIE)ไธŽ็™พๅบฆๆœ็ดขๆทฑๅบฆ่žๅˆ๏ผŒ่”็ฝ‘ๅฎžๆ—ถๆ€งๅผบ๏ผ›ๅƒๅธ†ๅนณๅฐๆ”ฏๆŒ Fine-tuning ไธŽ็งๆœ‰ๅŒ–้ƒจ็ฝฒ๏ผ›ไธญๆ–‡็Ÿฅ่ฏ†ๅ›พ่ฐฑ็งฏ็ดฏๆทฑๅŽšๆœ็ดขๅขžๅผบๅฎžๆ—ถ้—ฎ็ญ” ยท ไธญๆ–‡ไธ“ไธšๅ†…ๅฎน็”Ÿๆˆ ยท ไผไธš็Ÿฅ่ฏ†ๅบ“ ยท Fine-tuning ๅฎšๅˆถไธšๅŠกๆจกๅž‹
่…พ่ฎฏๅ…ƒๅฎ (Hunyuan)่žๅˆ่…พ่ฎฏๆœ็ดขไธŽ็Ÿฅ่ฏ†ๅ›พ่ฐฑ๏ผ›ๆ— ็ผๅฏนๆŽฅๅพฎไฟก / ไผไธšๅพฎไฟก / ่…พ่ฎฏๆ–‡ๆกฃ๏ผ›ๅคš่ฝฎๅฏน่ฏไธŽๆ–‡ๆกฃๅˆ†ๆž็จณๅฎš๏ผ›ไผไธšๅˆ่ง„ๆœ‰ไฟ้šœไผไธšๅพฎไฟกๅฎขๆœ / ๆ™บ่ƒฝๅŠฉ็† ยท ๅŠžๅ…ฌๅไฝœๅœบๆ™ฏ ยท ๆ–‡ๆกฃๅˆ†ๆž ยท ่…พ่ฎฏ็”Ÿๆ€้›†ๆˆ

2. AI ๅญฆไน ไธŽๅ†…ๅฎนๅˆ›ไฝœๅทฅไฝœ็ซ™ โ€‹

2.1 ๅ…ณ้”ฎ็‚น่ฏดๆ˜Ž โ€‹

่ฟ™็ฑปๅทฅๅ…ท็š„ๆœฌ่ดจๆ˜ฏๅฐ† AI ๅตŒๅ…ฅใ€Œๅญฆไน  โ€” ๆ•ด็† โ€” ๅˆ›ไฝœใ€ๅ…จๆต็จ‹๏ผŒๆˆ‘ไปฌๅœจ้€‰ๆ‹ฉๆ—ถ้œ€่ฆๅ…ณๆณจไธ‰ไธช็ปดๅบฆ๏ผš

  • ่พ“ๅ…ฅ่ƒฝๅŠ›๏ผš ่ƒฝๅฆๅฏผๅ…ฅ PDF / ็ฝ‘้กต / ้Ÿณ่ง†้ข‘็ญ‰ๅคš็ง่ต„ๆ–™
  • ็Ÿฅ่ฏ†ๅ…ณ่”๏ผš AI ่ƒฝๅฆ่ทจๆ–‡ๆกฃๅปบ็ซ‹่”็ณปใ€่‡ชๅŠจๆ ‡็ญพไธŽๅฝ’็บณ
  • ่พ“ๅ‡บ่ดจ้‡๏ผš ๆ€ป็ป“ / ๆ้—ฎ / ๅคง็บฒ / ๆผ”็คบๆ–‡็จฟ็š„ๅฎž็”จๆ€ง

2.2 ้€‰ๆ‹ฉๅปบ่ฎฎ โ€‹

้€‰ๆ‹ฉๅปบ่ฎฎ๏ผšๆทฑๅบฆๅญฆไน ไธŽ็Ÿฅ่ฏ†ๆ•ดๅˆ โ†’ ๅผบ็ƒˆๆŽจ่ NotebookLM / YouMind๏ผˆๅคšๆบ่ต„ๆ–™ๅฏผๅ…ฅ + AI ๆ€ป็ป“ + ้Ÿณ้ข‘ๆฆ‚่ฟฐ๏ผŒๅญฆไน ็ฅžๅ™จ๏ผ‰๏ผ›ไธชไบบ็ฌ”่ฎฐไธŽ็Ÿฅ่ฏ†ๅบ“ โ†’ Notion AI๏ผ›ๅ›ข้˜ŸๅŠžๅ…ฌๅไฝœ โ†’ ้ฃžไนฆๆ™บ่ƒฝๅˆ›ไฝœ / ้ฃžไนฆๅฆ™่ฎฐ๏ผ›้œ€่ฆๅˆถไฝœๆผ”็คบๆ–‡็จฟ โ†’ Gamma๏ผ›ไธญๆ–‡่ฝป้‡็Ÿฅ่ฏ†็ฎก็† โ†’ FlowUs๏ผ›ๆต็จ‹ๆ–‡ๆกฃไธŽ่กจๆ ผ่‡ชๅŠจๅŒ– โ†’ Coda AIใ€‚

',7),t("div",{class:"container nav-card-container"},[t("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[t("a",{href:"https://notebooklm.google/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://notebooklm.google/_/static/branding/v4/light_mode/favicon/favicon.svg",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"NotebookLM")]),t("p",{class:"desc"},'Google ๅ‡บๅ“็š„ AI ๅญฆไน ๅˆฉๅ™จ๏ผŒๅฏๅฏผๅ…ฅ PDFใ€็ฝ‘้กตใ€YouTube ่ง†้ข‘ใ€้Ÿณ้ข‘ใ€Google Docs ็ญ‰ๅคš็ง่ต„ๆ–™๏ผŒAI ๅŸบไบŽ Gemini ่‡ชๅŠจ็”Ÿๆˆๆ‘˜่ฆใ€FAQใ€ๅญฆไน ๆŒ‡ๅ—ใ€ๆ—ถ้—ด็บฟๅ’Œๆ€็ปดๅฏผๅ›พใ€‚็‹ฌๆœ‰็š„ Audio Overview๏ผˆ้Ÿณ้ข‘ๆฆ‚่ฟฐ๏ผ‰ๅŠŸ่ƒฝๅฏๅฐ†ไปปๆ„่ต„ๆ–™่ฝฌไธบไธคไบบๆ’ญๅฎขๅผๅฏน่ฏ๏ผŒๅฎž็Žฐ"ๅฌ็€ๅญฆ"ใ€‚ๅ ช็งฐๅฝ“ไธ‹ๆœ€ๅผบ็š„ไธชไบบๅญฆไน ไธŽ็Ÿฅ่ฏ†ๆ•ดๅˆๅทฅๅ…ท๏ผŒๅฎŒๅ…จๅ…่ดนใ€‚'),t("span",{class:"VPBadge tip badge"},"ๅผบๅŠ›ๆŽจ่")]),t("a",{href:"https://youmind.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://marketing-assets.youmind.com/logo-512.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"YouMind")]),t("p",{class:"desc"},"ไธชๆ€งๅŒ– AI ๅญฆไน ไธŽๅˆ›ไฝœๆ™บ่ƒฝไฝ“๏ผŒ็”ฑๅ›ฝๅ†…ๅ‰็ซฏ้ข†ๅŸŸ็Ÿฅๅๅผ€ๅ‘่€…ๅˆ›ไธšๆ‰“้€ ใ€‚ๅ†…็ฝฎๆต่งˆๅ™จๆ’ไปถๅฏไธ€้”ฎๆŠ“ๅ–็ฝ‘้กตใ€ๆ–‡็ซ ๅ’Œ่ง†้ข‘ๅ†…ๅฎน๏ผŒAI ่‡ชๅŠจๆ•ด็†็”Ÿๆˆ็Ÿฅ่ฏ†ๅก็‰‡ไธŽๅ›พ่ฐฑใ€‚ๆ”ฏๆŒๅคšๆจกๅž‹ๅˆ‡ๆข๏ผŒๅ…ผ้กพ็ขŽ็‰‡ไฟกๆฏๆ”ถ้›†ไธŽๆทฑๅบฆๅˆ›ไฝœ๏ผŒไธชไบบ็Ÿฅ่ฏ†็ฎก็†็š„ๅพ—ๅŠ›ๅŠฉๆ‰‹ใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅญฆไน +ๅˆ›ไฝœ")]),t("a",{href:"https://www.feishu.cn/product/feishuai",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://p1-hera.feishucdn.com/tos-cn-i-jbbdkfciu3/1ec7129d900e442d8501d810efdaa369~tplv-jbbdkfciu3-image:0:0.image",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"้ฃžไนฆๆ™บ่ƒฝๅˆ›ไฝœ")]),t("p",{class:"desc"},"้ฃžไนฆ Docs ๅ†…็ฝฎ AI ๅ†™ไฝœๅŠฉๆ‰‹๏ผŒๆ”ฏๆŒๆ–‡ๆกฃ่‡ชๅŠจ็”Ÿๆˆใ€ไผš่ฎฎ็บช่ฆๆ™บ่ƒฝๆ•ด็†ใ€ๅคง็บฒ็”ŸๆˆไธŽๅคด่„‘้ฃŽๆšด๏ผŒไธŽ้ฃžไนฆๆ—ฅๅކใ€ไปปๅŠกๅ’Œ้กน็›ฎๆทฑๅบฆ่”ๅŠจ๏ผŒๆ˜ฏไผไธš/ๅ›ข้˜Ÿๅ†…ๅฎนๅไฝœใ€ไผš่ฎฎ็Ÿฅ่ฏ†ๆ€ป็ป“ไธŽ้กน็›ฎๆ–‡ๆกฃ็ผ–ๅ†™็š„้ฆ–้€‰ๅทฅๅ…ทใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ข้˜Ÿๅไฝœ")]),t("a",{href:"https://www.notion.com/product/ai",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("span",{class:"name"},"Notion AI")]),t("p",{class:"desc"},"ๅ…จ็ƒๆœ€ๅ—ๆฌข่ฟŽ็š„็ฌ”่ฎฐไธŽๅไฝœๅนณๅฐๅ†…็ฝฎ AI ๅŠฉๆ‰‹๏ผŒๆ”ฏๆŒๆ–‡ๆกฃ่‡ชๅŠจ็”Ÿๆˆใ€ๅ†…ๅฎนๆ€ป็ป“ใ€ๅคš่ฏญ่จ€็ฟป่ฏ‘ไธŽๆถฆ่‰ฒใ€ๅคด่„‘้ฃŽๆšดๅ’Œ่‡ชๅŠจๅˆ†็ฑปๅฝ’ๆกฃ๏ผŒๅนถไธŽ Notion ๆ•ฐๆฎๅบ“ใ€็œ‹ๆฟใ€Wiki ๆ— ็ผ่”ๅŠจ๏ผŒ้€‚ๅˆไธชไบบ็Ÿฅ่ฏ†ๅบ“ไธŽๅ›ข้˜Ÿ้กน็›ฎ็ฎก็†ไธญ็š„ๅ†…ๅฎนๆ•ด็†ไธŽไบŒๆฌกๅˆ›ไฝœใ€‚"),t("span",{class:"VPBadge tip badge"},"็ฌ”่ฎฐ+ๅไฝœ")]),t("a",{href:"https://gamma.app/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://gamma.app/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Gamma")]),t("p",{class:"desc"},"ๆ–ฐไธ€ไปฃ AI ๆผ”็คบๆ–‡็จฟไธŽๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐ๏ผŒ่พ“ๅ…ฅไธ€ๅฅ่ฏไธป้ข˜ๆˆ–ๅฏผๅ…ฅ็ฌ”่ฎฐ/ๅคง็บฒๅณๅฏ่‡ชๅŠจ็”Ÿๆˆ็ฒพ็พŽ PPTใ€็ฝ‘้กตๆˆ–ๆ–‡ๆกฃ๏ผŒAI ่ดŸ่ดฃๆŽ’็‰ˆใ€้…ๅ›พไธŽๅŠจๆ•ˆ๏ผŒๆ”ฏๆŒๅฎžๆ—ถๅไฝœๅ’ŒๅตŒๅ…ฅๅผๅˆ†ไบซใ€‚ไปŽ็Ÿฅ่ฏ†่พ“ๅ‡บๅˆฐ่ง†่ง‰ๅ‘ˆ็Žฐ๏ผŒไธ€ๆญฅๅˆฐไฝใ€‚"),t("span",{class:"VPBadge tip badge"},"AI ๆผ”็คบ")]),t("a",{href:"https://flowus.cn/ai",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://cdn2.flowus.cn/assets/_next/static/media/favicon.0c45c594.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"FlowUs")]),t("p",{class:"desc"},"ๅ›ฝๅ†…ๆ–ฐไธ€ไปฃ็Ÿฅ่ฏ†็ฎก็†ไธŽๅไฝœๅนณๅฐ๏ผŒ็ฑป Notion ไฝ“้ชŒไฝ†ไธญๆ–‡ๆœฌๅœฐๅŒ–ๆ›ดไผ˜๏ผŒๅ†…็ฝฎ AI ่พ…ๅŠฉๅ†™ไฝœ / ๆ€ป็ป“ / ็ฟป่ฏ‘ๅŠŸ่ƒฝ๏ผŒๆ”ฏๆŒๅคš็ปด่กจๆ ผใ€็œ‹ๆฟๅ’Œๆ–‡ๆกฃๅไฝœ๏ผŒๆ™บ่ƒฝๅŒ–่งฃๅ†ณๅทฅไฝœใ€ๅญฆไน ใ€็”Ÿๆดปไธญ็š„ๅ„้กนไปปๅŠกใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅ†…็Ÿฅ่ฏ†ๅบ“")]),t("a",{href:"https://coda.io/product/ai",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("span",{class:"name"},"Coda AI")]),t("p",{class:"desc"},'ไธ€ไฝ“ๅŒ–ๆ™บ่ƒฝๆ–‡ๆกฃๅนณๅฐ๏ผŒ่žๅˆ AI ๆ–‡ๆกฃ็”Ÿๆˆใ€่กจๆ ผๅˆ†ๆžใ€ๅ†…ๅฎน่‡ชๅŠจๅกซๅ†™ไธŽๆ€ป็ป“๏ผŒๅผบๅคง็š„ๅ…ฌๅผๅผ•ๆ“ŽไธŽ่‡ชๅŠจๅŒ–ๅทฅไฝœๆตๅผ•ๆ“Ž่ฎฉๅ†…ๅฎน็œŸๆญฃ"ๆดป"่ตทๆฅ๏ผŒ้€‚ๅˆๆต็จ‹ๆขณ็†ใ€ๆ•ฐๆฎ้ฉฑๅŠจๅž‹ๅ›ข้˜ŸๅไฝœไธŽ็Ÿฅ่ฏ†็ฎก็†ๅœบๆ™ฏใ€‚'),t("span",{class:"VPBadge tip badge"},"ๅ†…ๅฎน่‡ชๅŠจๅŒ–")]),t("a",{href:"https://www.feishu.cn/minutes",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("span",{class:"name"},"้ฃžไนฆๅฆ™่ฎฐ")]),t("p",{class:"desc"},"้ฃžไนฆๆ——ไธ‹ไผš่ฎฎๆ™บ่ƒฝ่ฝฌๅฝ•ไธŽๆ€ป็ป“ๆœๅŠก๏ผŒๆ”ฏๆŒไธญ่‹ฑๅŒ่ฏญๅฎžๆ—ถ่ฏญ้Ÿณ่ฝฌๅฝ•ใ€AI ่‡ชๅŠจๆ‘˜่ฆไธŽ็Ÿฅ่ฏ†็‚นๆŠฝๅ–๏ผŒๅฏ็›ดๆŽฅ็”Ÿๆˆ็ป“ๆž„ๅŒ–็ฌ”่ฎฐไธŽไปปๅŠกๆธ…ๅ•๏ผŒ้€‚ๅˆๅœจ็บฟๅญฆไน ใ€่ฏพ็จ‹ๅคไน ใ€ไผš่ฎฎๅฎžๆ—ถ่ฎฐๅฝ•ไธŽๅŸน่ฎญๅ†…ๅฎนๅฝ’ๆกฃใ€‚"),t("span",{class:"VPBadge note badge"},"่ฏญ้Ÿณ่ฝฌๅฝ•")])])],-1),e('
ๅทฅๅ…ทๆ ธๅฟƒ่ƒฝๅŠ›ๆ ‡็ญพๅ…ธๅž‹ไฝฟ็”จๅœบๆ™ฏๅคšๆบๅฏผๅ…ฅAI ๆ€ป็ป“ๅคšไบบๅไฝœ
NotebookLMๅคšๆบ็Ÿฅ่ฏ†่žๅˆ๏ผ›AI ่‡ชๅŠจๆ€ป็ป“ / FAQ / ๅญฆไน ๆŒ‡ๅ— / ๆ—ถ้—ด็บฟ / ๆ€็ปดๅฏผๅ›พ๏ผ›Audio Overview ้Ÿณ้ข‘ๆฆ‚่ฟฐ๏ผˆๅฏๅฐ†่ต„ๆ–™่ฝฌไธบๆ’ญๅฎขๅผๅฏน่ฏ๏ผ‰๏ผ›Gemini3 ๆจกๅž‹้ฉฑๅŠจ่ฎบๆ–‡็ฒพ่ฏป ยท ่ฏพ็จ‹็ฌ”่ฎฐ ยท ่ฐƒ็ ”่ต„ๆ–™ๆฑ‡ๆ€ป ยท ๆ’ญๅฎขๅผๅคไน  ยท ็Ÿฅ่ฏ†ๅก็‰‡็ฎก็†โœ…โœ…โŒ
YouMindAI ๅญฆไน ไธŽๅˆ›ไฝœๆ™บ่ƒฝไฝ“๏ผ›ๆต่งˆๅ™จๆ’ไปถไธ€้”ฎๆŠ“ๅ–๏ผ›่‡ชๅŠจๆ•ด็†ไธŽ็Ÿฅ่ฏ†ๅ›พ่ฐฑ๏ผ›ๅคšๆจกๅž‹ๅฏ้€‰็ขŽ็‰‡ไฟกๆฏๆ”ถ้›† ยท ไธชไบบ็Ÿฅ่ฏ†ๅบ“ ยท ็ตๆ„Ÿๆ•ๆ‰ ยท ๅ†…ๅฎนๅˆ›ไฝœ่พ…ๅŠฉโœ…โœ…โŒ
Notion AI็ฌ”่ฎฐๅ†…ๅตŒ AI ๅŠฉๆ‰‹๏ผ›ๆ–‡ๆกฃ็”Ÿๆˆ / ๆ€ป็ป“ / ็ฟป่ฏ‘ / ๆถฆ่‰ฒ๏ผ›ๆ•ฐๆฎๅบ“ + ็œ‹ๆฟ + Wiki ไธ€ไฝ“ๅŒ–๏ผ›ๆจกๆฟ็”Ÿๆ€ไธฐๅฏŒไธชไบบ็Ÿฅ่ฏ†ๅบ“ ยท ๅ›ข้˜Ÿ้กน็›ฎ็ฎก็† ยท ๅ†…ๅฎนๆ•ด็†ไธŽไบŒๆฌกๅˆ›ไฝœ ยท Wiki ๆ–‡ๆกฃๅไฝœโœ…โœ…โœ…
้ฃžไนฆๆ™บ่ƒฝๅˆ›ไฝœ้ฃžไนฆ Docs ๅ†…็ฝฎ AI ๅ†™ไฝœ๏ผ›ไผš่ฎฎ็บช่ฆ่‡ชๅŠจๆ•ด็†๏ผ›ๅคด่„‘้ฃŽๆšดไธŽๅคง็บฒ็”Ÿๆˆ๏ผ›ไธŽ้ฃžไนฆๆ—ฅๅކ / ไปปๅŠกๆทฑๅบฆ่”ๅŠจไผไธšๆ–‡ๆกฃ็ผ–ๅ†™ ยท ไผš่ฎฎ็Ÿฅ่ฏ†ๆ€ป็ป“ ยท ๅ›ข้˜Ÿๅคด่„‘้ฃŽๆšด ยท OKR / ๅ‘จๆŠฅโœ…โœ…โœ…
Gammaไธ€ๅฅ่ฏ็”Ÿๆˆ็ฒพ็พŽๆผ”็คบๆ–‡็จฟ / ็ฝ‘้กต / ๆ–‡ๆกฃ๏ผ›่‡ชๅŠจๆŽ’็‰ˆไธŽ้…ๅ›พ๏ผ›ๆ”ฏๆŒๅฏผๅ…ฅๅคง็บฒๆˆ–็ฌ”่ฎฐไธ€้”ฎ่ฝฌ PPT้กน็›ฎๆฑ‡ๆŠฅ ยท ๆ•™ๅญฆ่ฏพไปถ ยท ไบงๅ“ๆผ”็คบ ยท ็Ÿฅ่ฏ†ๅˆ†ไบซโœ…โœ…โœ…
FlowUsไธญๆ–‡ๅ‹ๅฅฝ็š„ Notion ๆ›ฟไปฃๅ“๏ผ›AI ่พ…ๅŠฉๅ†™ไฝœ / ๆ€ป็ป“ / ็ฟป่ฏ‘๏ผ›ๆ”ฏๆŒๅคš็ปด่กจๆ ผไธŽ็œ‹ๆฟไธชไบบ็ฌ”่ฎฐ ยท ๅ›ข้˜Ÿ็Ÿฅ่ฏ†ๅบ“ ยท ้กน็›ฎ็ฎก็† ยท ไธญๆ–‡ๅ†…ๅฎนๅไฝœโœ…โœ…โœ…
Coda AIๆ–‡ๆกฃ + ่กจๆ ผ + ่‡ชๅŠจๅŒ–ไธ‰ๅˆไธ€๏ผ›AI ่‡ชๅŠจๅกซๅ†™ไธŽๅ†…ๅฎนๆ€ป็ป“๏ผ›ๅผบๅคง็š„ๅ…ฌๅผไธŽๆต็จ‹ๅผ•ๆ“Žๆต็จ‹ๆขณ็† ยท ๆ•ฐๆฎ้ฉฑๅŠจๆ–‡ๆกฃ ยท ๅ›ข้˜Ÿ็Ÿฅ่ฏ†็ฎก็† ยท ๅ†…ๅฎน่‡ชๅŠจๅŒ–โœ…โœ…โœ…
้ฃžไนฆๅฆ™่ฎฐไธญ่‹ฑๅŒ่ฏญๅฎžๆ—ถ่ฏญ้Ÿณ่ฝฌๅฝ•๏ผ›AI ่‡ชๅŠจๆ‘˜่ฆไธŽ็Ÿฅ่ฏ†็‚นๆๅ–๏ผ›็”Ÿๆˆ็ฌ”่ฎฐไธŽไปปๅŠกๆธ…ๅ•ไผš่ฎฎๅฎžๆ—ถ่ฎฐๅฝ• ยท ๅœจ็บฟ่ฏพ็จ‹ๅคไน  ยท ๆ’ญๅฎข่ฝฌๆ–‡ๅญ— ยท ๅŸน่ฎญๅ†…ๅฎนๅฝ’ๆกฃโŒโœ…โœ…

๐Ÿ“Œ ไธŠๆ‰‹ๆŒ‡ๅผ•

  1. ็ฌฌไธ€ๆญฅ่ฏ• NotebookLM๏ผšๆ‰“ๅผ€ notebooklm.google๏ผŒๅˆ›ๅปบไธ€ไธช็ฌ”่ฎฐๆœฌ๏ผŒๅฏผๅ…ฅไฝ ๆ‰‹ๅคด็š„ PDF / ็ฝ‘้กต้“พๆŽฅ / YouTube ่ง†้ข‘๏ผŒๅ‡ ็ง’้’Ÿๅณๅฏ่Žทๅพ— AI ๆ€ป็ป“ใ€FAQ ๅ’Œๅญฆไน ๆŒ‡ๅ—ใ€‚ๅˆซๅฟ˜ไบ†็‚น Audio Overview ็”Ÿๆˆ"ๆ’ญๅฎขๅผ"้Ÿณ้ข‘โ€”โ€”้€šๅ‹ค่ทฏไธŠๅฌ็Ÿฅ่ฏ†๏ผŒๆ•ˆ็އ็ฟปๅ€ใ€‚
  2. ็ขŽ็‰‡็Ÿฅ่ฏ†ๆ”ถ้›†๏ผš่ฃ…ๅฅฝ YouMind ๆต่งˆๅ™จๆ’ไปถ๏ผŒๆ—ฅๅธธๅˆทๅˆฐๅฅฝๆ–‡็ซ /ๅธ–ๅญไธ€้”ฎไฟๅญ˜๏ผŒAI ่‡ชๅŠจๆ‰“ๆ ‡็ญพๅปบๅ›พ่ฐฑ๏ผŒๅ‘Šๅˆซ"ๆ”ถ่—ๅคนๅƒ็ฐ"ใ€‚
  3. ็Ÿฅ่ฏ†ไฝ“็ณปๆญๅปบ๏ผš็”จ Notion AI ๆˆ– FlowUs ๅปบไธชไบบ Wiki๏ผŒๆŠŠ NotebookLM ็š„ๆ€ป็ป“ใ€YouMind ็š„็ขŽ็‰‡ใ€่‡ชๅทฑ็š„ๆ€่€ƒๆฒ‰ๆท€ๅˆฐ็ปŸไธ€็Ÿฅ่ฏ†ๅบ“๏ผŒAI ่พ…ๅŠฉๆถฆ่‰ฒไธŽไบŒๆฌกๅŠ ๅทฅใ€‚
  4. ๅ›ข้˜Ÿๅไฝœๅœบๆ™ฏ๏ผšไผš่ฎฎ็”จ ้ฃžไนฆๅฆ™่ฎฐ ๅฎžๆ—ถ่ฝฌๅฝ• โ†’ ้ฃžไนฆๆ™บ่ƒฝๅˆ›ไฝœ็”Ÿๆˆ็บช่ฆ โ†’ Notion / ้ฃžไนฆ Docs ๅฝ’ๆกฃ๏ผŒๅฝขๆˆๅ›ข้˜Ÿ็Ÿฅ่ฏ†ๆตๆฐด็บฟใ€‚
  5. ็Ÿฅ่ฏ†่พ“ๅ‡บไธŽๅˆ†ไบซ๏ผš้œ€่ฆๅšๆฑ‡ๆŠฅๆˆ–ๅˆ†ไบซๆ—ถ๏ผŒๆŠŠ็ฌ”่ฎฐไธข่ฟ› Gamma๏ผŒไธ€้”ฎ็”Ÿๆˆ็ฒพ็พŽๆผ”็คบๆ–‡็จฟ๏ผŒ็œๅŽปๆŽ’็‰ˆ็ƒฆๆผใ€‚

3. AI ๆœ็ดข โ€‹

3.1 ๅ…ณ้”ฎ็‚น่ฏดๆ˜Ž โ€‹

AI ๆœ็ดข โ‰  ๆ™ฎ้€šๆœ็ดข๏ผŒๅฎƒไผšๅ…ˆ็”จๅคงๆจกๅž‹็†่งฃๆ„ๅ›พใ€ๅฎžๆ—ถๆŠ“ๅ–ๅคšไธช็ฝ‘้กต๏ผŒๅ†็ปผๅˆๅฝ’็บณๆˆ"ๅธฆๅผ•็”จ็š„็ญ”ๆกˆ"๏ผŒ็œๅŽปไฝ ้€ๆก็‚น้“พๆŽฅ็š„่ฟ‡็จ‹ใ€‚ๅˆคๆ–ญไธ€ๆฌพ AI ๆœ็ดขๅทฅๅ…ท็š„ๅ…ณ้”ฎ็ปดๅบฆ๏ผš

  • ๅผ•็”จๅฏๆบฏๆบๆ€ง๏ผš็ญ”ๆกˆๆ˜ฏๅฆ้™„ๆœ‰ๆฅๆบ้“พๆŽฅ
  • ๅฎžๆ—ถๆ€ง๏ผš่ƒฝๅฆๆฃ€็ดขไปŠๆ—ฅๆ–ฐ้—ป
  • ๆทฑๅบฆ็ ”็ฉถ่ƒฝๅŠ›๏ผšๆ˜ฏๅฆๆ”ฏๆŒๅคš่ฝฎ่ฟฝ้—ฎไธŽ่‡ชๅŠจๆŠฅๅ‘Š็”Ÿๆˆ

3.2 ้€‰ๆ‹ฉๅปบ่ฎฎ โ€‹

้€‰ๆ‹ฉๅปบ่ฎฎ๏ผš้œ€่ฆๅฎžๆ—ถใ€ๅธฆๅผ•็”จ็š„่‹ฑๆ–‡ๅญฆๆœฏ/ๆŠ€ๆœฏๆฃ€็ดข โ†’ ไผ˜ๅ…ˆ Perplexity๏ผ›ๆ—ฅๅธธไธญๆ–‡ๆœ็ดขๆƒณ่ฆ็›ดๆŽฅ็ญ”ๆกˆ โ†’ ็ง˜ๅก”ๆœ็ดข / ๅคธๅ…‹๏ผ›้œ€่ฆๆทฑๅบฆไธ“้ข˜ๆŠฅๅ‘Š โ†’ Perplexity Deep Research / ็ง˜ๅก”ๆทฑๅบฆ็ ”็ฉถใ€‚

',8),t("div",{class:"container nav-card-container"},[t("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[t("a",{href:"https://www.perplexity.ai/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("span",{class:"name"},"Perplexity")]),t("p",{class:"desc"},"็›ฎๅ‰ๆœ€ๅ—็ ”็ฉถ่€…ๅ’Œๅผ€ๅ‘่€…้’็็š„ AI ๆœ็ดขๅผ•ๆ“Ž๏ผŒๆฏๆก็ญ”ๆกˆๅ‡้™„ๅธฆๆฅๆบ้“พๆŽฅ๏ผŒๆ”ฏๆŒๅญฆๆœฏใ€ๆ–ฐ้—ปใ€ไปฃ็ ็ญ‰ๅž‚็›ดๆœ็ดขๆจกๅผ๏ผ›Pro ็‰ˆๆไพ› Deep Research๏ผˆๆทฑๅบฆ็ ”็ฉถๆŠฅๅ‘Š๏ผ‰่ƒฝๅŠ›๏ผŒๅฏ่‡ชๅŠจ่ง„ๅˆ’ๅคš่ฝฎๆฃ€็ดขๅนถ็”Ÿๆˆ็ป“ๆž„ๅŒ–ๆŠฅๅ‘Š๏ผŒๆ˜ฏๆ›ฟไปฃไผ ็ปŸๆœ็ดขๅผ•ๆ“Ž็š„้ฆ–้€‰ๅทฅๅ…ทใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅค–")]),t("a",{href:"https://google.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://google.com/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Google AI Overviews (SGE)")]),t("p",{class:"desc"},"Google ๅœจๆœ็ดข็ป“ๆžœ้กถ้ƒจๅตŒๅ…ฅ็š„ AI ๆ‘˜่ฆๅŒบๅŸŸ๏ผˆSearch Generative Experience๏ผ‰๏ผŒ็”ฑ Gemini ้ฉฑๅŠจ๏ผŒๅœจไฟ็•™ไผ ็ปŸ่“้“พ็š„ๅŒๆ—ถๆไพ›็ปผๅˆ็ญ”ๆกˆ๏ผŒๆ— ้œ€ๅˆ‡ๆขไบงๅ“ๅณๅฏไฝ“้ชŒ AI ๆœ็ดข๏ผŒๅทฒๅœจ Google Search ไธป็ซ™ๅ…จ้‡ไธŠ็บฟใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅค–")]),t("a",{href:"https://metaso.cn/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://metaso.cn/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"็ง˜ๅก”ๆœ็ดข (Metaso)")]),t("p",{class:"desc"},'ๅ›ฝๅ†… AI ๆœ็ดขไฝ“้ชŒๆœ€ไฝณไน‹ไธ€๏ผŒ็•Œ้ข้›ถๅนฟๅ‘Š๏ผŒ็ญ”ๆกˆไปฅ"ๅคง็บฒ + ๆฅๆบๅผ•็”จ"็ป“ๆž„ๅ‘ˆ็Žฐ๏ผŒๆ”ฏๆŒ็ฎ€ๆด/ๆทฑๅ…ฅ/็ ”็ฉถไธ‰็งๆฃ€็ดขๆทฑๅบฆ๏ผ›"ๆทฑๅบฆ็ ”็ฉถ"ๆจกๅผๅฏ่‡ชๅŠจ็”Ÿๆˆๅคš็ซ ่Š‚ไธ“้ข˜ๆŠฅๅ‘Š๏ผŒ้€‚ๅˆๅญฆๆœฏ่ฐƒ็ ”ใ€็ซžๅ“ๅˆ†ๆžใ€่กŒไธšๆดžๅฏŸ็ญ‰ๅœบๆ™ฏใ€‚'),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅ†…")]),t("a",{href:"https://www.baidu.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://www.baidu.com/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"็™พๅบฆ AI ๆœ็ดข")]),t("p",{class:"desc"},"็™พๅบฆๅœจไผ ็ปŸๆœ็ดขๅŸบ็ก€ไธŠๆŽฅๅ…ฅๆ–‡ๅฟƒๅคงๆจกๅž‹๏ผŒๆไพ› AI ็”Ÿๆˆๆ‘˜่ฆ็ญ”ๆกˆ๏ผŒๅŒๆ—ถไฟ็•™ๅŽŸๆœ‰ๆœ็ดข็ป“ๆžœๅ…œๅบ•๏ผŒไธŽ็™พๅบฆๅœฐๅ›พใ€็™พๅบฆ็™พ็ง‘ใ€็™พๅบฆๆ–‡ๅบ“ๆทฑๅบฆ่”ๅŠจ๏ผŒๆ˜ฏๅ›ฝๅ†…ไบ’่”็ฝ‘่ต„ๆบ่ฆ†็›–ๆœ€ๅนฟ็š„ AI ๆœ็ดขๅ…ฅๅฃ๏ผŒ้€‚ๅˆไธญๆ–‡ๆ—ฅๅธธๆœ็ดข้œ€ๆฑ‚ใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅ†…")]),t("a",{href:"https://ai.quark.cn/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://quark.sm.cn/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"ๅคธๅ…‹ AI ๆœ็ดข")]),t("p",{class:"desc"},"้˜ฟ้‡Œๆ——ไธ‹ๅคธๅ…‹ๆต่งˆๅ™จๅ†…็ฝฎ็š„ AI ๆœ็ดข๏ผŒ่žๅˆ้€šไน‰ๅƒ้—ฎๅคงๆจกๅž‹๏ผŒๆ”ฏๆŒ็›ดๆŽฅ้—ฎ็ญ”ใ€ๆ–‡ไปถ่งฃๆžใ€ๅ›พ็‰‡่ฏ†ๅˆซๅ’Œ็ฝ‘็›˜่ต„ๆบๆฃ€็ดข๏ผ›็งปๅŠจ็ซฏไฝ“้ชŒๆต็•…๏ผŒๆ˜ฏๅ›ฝๅ†…ๆ—ฅๅธธไฝฟ็”จๅœบๆ™ฏไธ‹็ปผๅˆไฝ“้ชŒ่พƒๅฅฝ็š„ AI ๆœ็ดข Appใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅ†…")])])],-1),e('
ๅทฅๅ…ทๆ ธๅฟƒ่ƒฝๅŠ›ๆ ‡็ญพๅ…ธๅž‹ไฝฟ็”จๅœบๆ™ฏ
Perplexity AIAI ็ญ”ๆกˆๅผ•็”จ้€ๆ˜Ž๏ผ›ๅญฆๆœฏ/ๆ–ฐ้—ป/ไปฃ็ ๅž‚็›ดๆœ็ดข๏ผ›Deep Research ่‡ชๅŠจๅคš่ฝฎๆŠฅๅ‘Šใ€‚่‹ฑๆ–‡ๆŠ€ๆœฏๆ–‡ๆกฃๆฃ€็ดข ยท ๅญฆๆœฏ่ฐƒ็ ” ยท ็ซžๅ“้€Ÿ่งˆ ยท ๆทฑๅบฆไธ“้ข˜ๆŠฅๅ‘Š
Google AI OverviewsๅตŒๅ…ฅ Google ไธปๆœ็ดข้กต๏ผ›Gemini ้ฉฑๅŠจ๏ผ›ไฟ็•™่“้“พๅ…œๅบ•๏ผ›่ฆ†็›–่Œƒๅ›ดๆœ€ๅนฟใ€‚
ๆทฑๅ…ฅ่งฃ่ฏปๅ‚่€ƒ๏ผšComplete Guide to AI Overview Optimization 2025
ๆ— ้œ€ๅˆ‡ๆขไบงๅ“็š„ๆ—ฅๅธธๆœ็ดข ยท ๅฟซ้€Ÿไบ‹ๅฎžๆ ธๆŸฅ ยท ๆฆ‚ๅฟต่งฃ้‡Š
็ง˜ๅก”ๆœ็ดข้›ถๅนฟๅ‘Š๏ผ›ๅคง็บฒ็ป“ๆž„็ญ”ๆกˆ๏ผ›ๆทฑๅบฆ็ ”็ฉถๆŠฅๅ‘Š๏ผ›็ฎ€ๆด/ๆทฑๅ…ฅ/็ ”็ฉถไธ‰ๆกฃใ€‚ไธญๆ–‡ๅญฆๆœฏ่ฐƒ็ ” ยท ่กŒไธšๆดžๅฏŸๆŠฅๅ‘Š ยท ๆ”ฟ็ญ–/ๆณ•่ง„ๆฃ€็ดข ยท ๆ— ๅนฒๆ‰ฐไฟกๆฏ่Žทๅ–
็™พๅบฆ AI ๆœ็ดขๆ–‡ๅฟƒๅคงๆจกๅž‹๏ผ›ไธญๆ–‡่ต„ๆบ่ฆ†็›–ๆœ€ๅนฟ๏ผ›็™พ็ง‘/ๅœฐๅ›พ/ๆ–‡ๅบ“่”ๅŠจ๏ผ›ไผ ็ปŸๆœ็ดขๅ…œๅบ•ไธญๆ–‡ๆ—ฅๅธธๆœ็ดข ยท ๆœฌๅœฐ็”ŸๆดปๆœๅŠก ยท ็™พ็ง‘็Ÿฅ่ฏ†ๆŸฅ่ฏข ยท ๅ›ฝๅ†…ๆ”ฟ็ญ–ๆณ•่ง„
ๅคธๅ…‹ AI ๆœ็ดข้€šไน‰ๅƒ้—ฎ้ฉฑๅŠจ๏ผ›ๆ–‡ไปถ/ๅ›พ็‰‡่งฃๆž๏ผ›็ฝ‘็›˜่ต„ๆบๆฃ€็ดข๏ผ›็งปๅŠจ็ซฏไฝ“้ชŒไฝณๆ‰‹ๆœบ็ซฏๆ—ฅๅธธ้—ฎ็ญ” ยท ๆ–‡ไปถๅฟซ้€Ÿ่งฃๆž ยท ็ฝ‘็›˜่ต„ๆบๆŸฅๆ‰พ ยท ้˜ฟ้‡Œ็”Ÿๆ€่”ๅŠจ

๐Ÿ“Œ ไธŠๆ‰‹ๆŒ‡ๅผ•

  1. ๆ–ฐๆ‰‹ๅ…ฅ้—จ๏ผšๅ…ˆ็”จ ็ง˜ๅก”ๆœ็ดข ๆˆ– Perplexity๏ผŒ็›ดๆŽฅๆŠŠไฝ ไปฅๅ‰็”จๆœ็ดขๅผ•ๆ“Žๆœ็š„้—ฎ้ข˜ๅŽŸๆ–‡็ฒ˜่ฟ›ๅŽป๏ผŒๅฏนๆฏ”ไธ€ไธ‹็ญ”ๆกˆ่ดจ้‡ไธŽๆฅๆบๅผ•็”จใ€‚
  2. ่ฟฝ้—ฎๆŠ€ๅทง๏ผšAI ๆœ็ดขๆ”ฏๆŒๅคš่ฝฎๅฏน่ฏ๏ผŒๆœๅˆฐๅˆๆญฅ็ญ”ๆกˆๅŽ๏ผŒ่ฟฝ้—ฎใ€Œ่ƒฝๅฑ•ๅผ€่ฏด่ฏด X ้ƒจๅˆ†ๅ—๏ผŸใ€ใ€Œๆœ‰ๆฒกๆœ‰ๅ้ขๆกˆไพ‹๏ผŸใ€ๆ•ˆๆžœ่ฟœๅฅฝไบŽๆ–ฐๅผ€ไธ€ๆฌกๆœ็ดขใ€‚
  3. ๆทฑๅบฆ็ ”็ฉถ๏ผš้‡ๅˆฐ้œ€่ฆๅ†™ๆŠฅๅ‘Šๆˆ–ๅš่ฐƒ็ ”็š„ๅœบๆ™ฏ๏ผŒไผ˜ๅ…ˆ็”จ Perplexity Deep Research๏ผˆ่‹ฑๆ–‡๏ผ‰ๆˆ– ็ง˜ๅก”ๆทฑๅบฆ็ ”็ฉถ๏ผˆไธญๆ–‡๏ผ‰๏ผŒ่พ“ๅ…ฅไธ€ๅฅ่ฏไธป้ข˜ๅณๅฏ่‡ชๅŠจ็”Ÿๆˆๅธฆๅผ•็”จ็š„ๅคš็ซ ่Š‚ๆŠฅๅ‘Šใ€‚
  4. ๅผ•็”จๆ ธๆŸฅ๏ผšAI ๆœ็ดขไผšๆœ‰"ๅนป่ง‰"้ฃŽ้™ฉ๏ผŒๅ…ปๆˆ็‚นๅ‡ป็ญ”ๆกˆไธญ็š„ๆฅๆบ้“พๆŽฅๆ ธๅฎžๅ…ณ้”ฎๆ•ฐๆฎ็š„ไน ๆƒฏ๏ผŒๅฐคๅ…ถๆ˜ฏๆ•ฐๅญ—ใ€ๆ—ถ้—ดใ€ไบบๅ็ญ‰ๅ…ณ้”ฎไบ‹ๅฎžใ€‚
  5. ๅœบๆ™ฏๅŒน้…๏ผšๆŠ€ๆœฏๆ–‡ๆกฃ/ไปฃ็  โ†’ Perplexity๏ผˆๅญฆๆœฏๆจกๅผ๏ผ‰๏ผ›ไธญๆ–‡ๆ— ๅนฟๅ‘Šไฟกๆฏ่Žทๅ– โ†’ ็ง˜ๅก”๏ผ›ๆ‰‹ๆœบ็ซฏๅฟซๆท โ†’ ๅคธๅ…‹ใ€‚
',2)])])}const h=s(i,[["render",d]]);export{p as __pageData,h as default}; +import{_ as s,g as l,h as n,U as e,i as t}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const p=JSON.parse('{"title":"ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšไธบไพฟไบŽ้ซ˜ๆ•ˆๅˆฉ็”จ AI ๅทฅๅ…ทๆๅ‡ๅญฆไน ใ€ๆœ็ดขๅ’Œๅˆ›ไฝœๆ•ˆ็އ๏ผŒๆœฌๆ–‡็ณป็ปŸๆ•ด็†ไบ†ไธปๆต็š„ AI ๅŠฉๆ‰‹ไธŽๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐ็›ธๅ…ณ่ต„ๆบใ€‚ๅ†…ๅฎนๅˆ†ไธบโ€œAI ๅŠฉๆ‰‹โ€๏ผˆๅฆ‚ ChatGPTใ€Claudeใ€Gemini ็ญ‰ๅฏน่ฏๅผๅŠฉๆ‰‹๏ผ‰ๅ’Œโ€œๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐโ€๏ผˆๅฆ‚ๅ†™ไฝœใ€็ป˜็”ป็ญ‰้ข†ๅŸŸ็š„ AI ๅทฅๅ…ทไธŽๅนณๅฐ๏ผ‰๏ผŒไธ”ๆ ‡ๆณจไบ†ๅ…ถๆ ธๅฟƒ่ƒฝๅŠ›ใ€้€‚ๅˆๅœบๆ™ฏ๏ผŒไปฅๅŠ็‰น่‰ฒไผ˜ๅŠฟใ€‚","frontmatter":{"date":"2025-11-25T00:52:28.000Z","title":"ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšไธบไพฟไบŽ้ซ˜ๆ•ˆๅˆฉ็”จ AI ๅทฅๅ…ทๆๅ‡ๅญฆไน ใ€ๆœ็ดขๅ’Œๅˆ›ไฝœๆ•ˆ็އ๏ผŒๆœฌๆ–‡็ณป็ปŸๆ•ด็†ไบ†ไธปๆต็š„ AI ๅŠฉๆ‰‹ไธŽๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐ็›ธๅ…ณ่ต„ๆบใ€‚ๅ†…ๅฎนๅˆ†ไธบโ€œAI ๅŠฉๆ‰‹โ€๏ผˆๅฆ‚ ChatGPTใ€Claudeใ€Gemini ็ญ‰ๅฏน่ฏๅผๅŠฉๆ‰‹๏ผ‰ๅ’Œโ€œๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐโ€๏ผˆๅฆ‚ๅ†™ไฝœใ€็ป˜็”ป็ญ‰้ข†ๅŸŸ็š„ AI ๅทฅๅ…ทไธŽๅนณๅฐ๏ผ‰๏ผŒไธ”ๆ ‡ๆณจไบ†ๅ…ถๆ ธๅฟƒ่ƒฝๅŠ›ใ€้€‚ๅˆๅœบๆ™ฏ๏ผŒไปฅๅŠ็‰น่‰ฒไผ˜ๅŠฟใ€‚","permalink":"/ai-learning/tools-assistant","coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/source_sites_bg.png","categories":["่ต„ๆบๆŽจ่"],"tags":["่ต„ๆบๆŽจ่","AI","AI ๅŠฉๆ‰‹","AI ๆœ็ดข"]},"headers":[],"relativePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่.md","filePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่.md"}'),i={name:"20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่.md"};function d(o,a,r,c,g,_){return n(),l("div",null,[...a[0]||(a[0]=[e('

ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่ โ€‹

ๆ‘˜่ฆๆ€ป็ป“๏ผšไธบไพฟไบŽ้ซ˜ๆ•ˆๅˆฉ็”จ AI ๅทฅๅ…ทๆๅ‡ๅญฆไน ใ€ๆœ็ดขๅ’Œๅˆ›ไฝœๆ•ˆ็އ๏ผŒๆœฌๆ–‡็ณป็ปŸๆ•ด็†ไบ†ไธปๆต็š„ AI ๅŠฉๆ‰‹ไธŽๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐ็›ธๅ…ณ่ต„ๆบใ€‚ๅ†…ๅฎนๅˆ†ไธบโ€œAI ๅŠฉๆ‰‹โ€๏ผˆๅฆ‚ ChatGPTใ€Claudeใ€Gemini ็ญ‰ๅฏน่ฏๅผๅŠฉๆ‰‹๏ผ‰ๅ’Œโ€œๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐโ€๏ผˆๅฆ‚ๅ†™ไฝœใ€็ป˜็”ป็ญ‰้ข†ๅŸŸ็š„ AI ๅทฅๅ…ทไธŽๅนณๅฐ๏ผ‰๏ผŒไธ”ๆ ‡ๆณจไบ†ๅ…ถๆ ธๅฟƒ่ƒฝๅŠ›ใ€้€‚ๅˆๅœบๆ™ฏ๏ผŒไปฅๅŠ็‰น่‰ฒไผ˜ๅŠฟใ€‚

1. AI ๅŠฉๆ‰‹ โ€‹

้€‰ๆ‹ฉๅปบ่ฎฎ๏ผš ่‹ฑๆ–‡ไธบไธป โ†’ ไผ˜ๅ…ˆ ChatGPT / Claude / Gemini๏ผ›ไธญๆ–‡ไธบไธป โ†’ ไผ˜ๅ…ˆ Kimi / DeepSeek / ้€šไน‰ๅƒ้—ฎ๏ผ›้œ€่ฆ่”็ฝ‘ๅฎžๆ—ถไฟกๆฏ โ†’ Gemini / Grok๏ผ›้œ€่ฆๅˆ†ๆž้•ฟๆ–‡ๆกฃ โ†’ Claude / Kimi๏ผ›่ฟฝๆฑ‚ไฝŽๆˆๆœฌๅผ€ๆบ้ƒจ็ฝฒ โ†’ DeepSeekใ€‚

ๆณจ๏ผš็›ฎๅ‰ๅ›ฝๅค–ๆจกๅž‹๏ผˆๅฆ‚ ChatGPTใ€Claudeใ€Gemini ็ญ‰๏ผ‰ๅœจ่‹ฑๆ–‡ๅค„็†ใ€ๅคšๆจกๆ€่ƒฝๅŠ›ใ€ๆ’ไปถ็”Ÿๆ€ๅ’Œ API ไธฐๅฏŒๆ€ง็ญ‰ๆ–น้ข๏ผŒๆ•ดไฝ“ไธŠไพ็„ถไผ˜ไบŽๅ›ฝๅ†…ๆจกๅž‹๏ผŒ้€‚ๅˆๅฏน่‹ฑๆ–‡ๅˆ›ไฝœใ€ๅคš่ฏญ่จ€ๆฒŸ้€šใ€ๅคๆ‚ๆŽจ็†ใ€ไปฃ็ ๅŠฉๆ‰‹็ญ‰ๅœบๆ™ฏๆœ‰ๆ›ด้ซ˜่ฆๆฑ‚็š„็”จๆˆทใ€‚ไธ่ฟ‡๏ผŒๅ›ฝๅ†…ๆจกๅž‹ๅœจไธญๆ–‡็†่งฃใ€ๆœฌๅœฐๅŒ–ใ€ๅˆ่ง„ๆ€งๅ’Œ้ƒจๅˆ†ๅฎšๅˆถๅŒ–ๅœบๆ™ฏไธ‹ๆ›ดๅ…ทไผ˜ๅŠฟ๏ผŒไธ”่ฎฟ้—ฎๆ›ดไธบไพฟๆท๏ผŒ้€‚ๅˆๆ—ฅๅธธไฝฟ็”จๅ’Œๆœฌๅœฐ้œ€ๆฑ‚ใ€‚

1.1. ๅ›ฝๅค– โ€‹

',6),t("div",{class:"container nav-card-container"},[t("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[t("a",{href:"https://gemini.google.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://www.gstatic.com/lamda/images/gemini_sparkle_aurora_33f86dc0c0257da337c63.svg",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Gemini")]),t("p",{class:"desc"},"Gemini ๆ˜ฏ Google ๆ——ไธ‹็š„ๆ——่ˆฐ็บง AI ๅŠฉๆ‰‹๏ผŒๅŸบไบŽๅ…ˆ่ฟ›็š„ Gemini ๅคงๆจกๅž‹๏ผŒ่žๅˆๆ™บ่ƒฝ้—ฎ็ญ”ใ€ไปฃ็ ๅˆ›ไฝœใ€ๆ–‡ๆกฃๅˆ†ๆžใ€็ฝ‘้กต็†่งฃ็ญ‰ๅคš็ง่ƒฝๅŠ›๏ผŒๆ”ฏๆŒๅคš่ฝฎๅฏน่ฏใ€ๅ›พๅƒ/ๆ–‡ไปถ่พ“ๅ…ฅ๏ผŒๅ…ทๅค‡ๅผบๅคง็š„ๆŽจ็†ไธŽๆœ็ดขๅขžๅผบๅŠŸ่ƒฝใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅคšๆจกๆ€")]),t("a",{href:"https://claude.ai/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://claude.ai/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Claude")]),t("p",{class:"desc"},"Claude ๆ˜ฏ Anthropic ๆŽจๅ‡บ็š„ AI ๅŠฉๆ‰‹๏ผŒไปฅๅฎ‰ๅ…จใ€่ฏšๅฎžใ€ๆ— ๅฎณไธบๆ ธๅฟƒ็†ๅฟต๏ผŒๆ“…้•ฟ้•ฟๆ–‡ๆœฌ็†่งฃใ€ไปฃ็ ็ผ–ๅ†™ไธŽๅคๆ‚ๆŽจ็†ไปปๅŠก"),t("span",{class:"VPBadge tip badge"},"้€ป่พ‘ไธฅ่ฐจ")]),t("a",{href:"https://chat.openai.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://chatgpt.com/cdn/assets/favicon-l4nq08hd.svg",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"ChatGPT")]),t("p",{class:"desc"},"OpenAI ๆ˜ฏๅ…จ็ƒ้ข†ๅ…ˆ็š„ไบบๅทฅๆ™บ่ƒฝๅ…ฌๅธ๏ผŒๅ…ถ ChatGPT ๆ˜ฏๆœ€็Ÿฅๅ็š„ๅฏน่ฏๅผ AI๏ผŒๅฏ็”จไบŽๅˆ›ไฝœใ€ไปฃ็ ใ€็ญ”็–‘ใ€ๅ†™ไฝœ็ญ‰ๅคš็งๅœบๆ™ฏ"),t("span",{class:"VPBadge tip badge"},"ๅ…จ่ƒฝๅŠฉๆ‰‹")]),t("a",{href:"https://grok.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://grok.com/images/favicon.svg",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Grok (xAI)")]),t("p",{class:"desc"},"Grok ๆ˜ฏ็”ฑ Elon ็š„ xAI ๅ›ข้˜Ÿๆ‰“้€ ็š„ๆ——่ˆฐ AI ๅŠฉๆ‰‹๏ผŒๆ‹ฅๆœ‰ๅฎžๆ—ถ่”็ฝ‘ใ€ๅนฝ้ป˜ๅฏน่ฏ้ฃŽๆ ผๅ’Œๅผบๅคง็Ÿฅ่ฏ†ๆŽจ็†่ƒฝๅŠ›๏ผŒๆ”ฏๆŒๅคš่ฝฎๅฏน่ฏใ€็Ÿฅ่ฏ†้—ฎ็ญ”๏ผŒๅนถไธ”ๅฏๆ— ็ผ้›†ๆˆ่‡ณ X๏ผˆๅŽŸ Twitter๏ผ‰๏ผŒไพ›็”จๆˆทไพฟๆท่ฐƒ็”จใ€‚"),t("span",{class:"VPBadge tip badge"},"ๆ— ็ผ้›†ๆˆ X")])])],-1),e('
ๅŠฉๆ‰‹๐Ÿ”‘ ๆ ธๅฟƒ่ƒฝๅŠ›ๆ ‡็ญพ๐Ÿ’ก ๅ…ธๅž‹ไฝฟ็”จๅœบๆ™ฏ
ChatGPT็ปผๅˆ่ƒฝๅŠ›ๆœ€ๅ…จ้ข๏ผ›GPT-4o ๅŽŸ็”Ÿๅคšๆจกๆ€๏ผˆๅ›พ/ๆ–‡/้Ÿณ/่ง†้ข‘๏ผ‰๏ผ›o1 / o3 ็ณปๅˆ—ๆทฑๅบฆๆŽจ็†้“พ๏ผ›GPTs ๅทฅๅ…ทๆ’ไปถ็”Ÿๆ€ๆœ€ไธฐๅฏŒๅ†™ไฝœไธŽๅ†…ๅฎนๅˆ›ไฝœ ไปฃ็ ็”ŸๆˆไธŽ่ฐƒ่ฏ• ๅคๆ‚ๅคšๆญฅๆŽจ็† ๅคšๆจกๆ€ๅ†…ๅฎนๅˆ†ๆž
Claude200K ้•ฟไธŠไธ‹ๆ–‡๏ผŒๆŒ‡ไปค้ตๅพช็ฒพๅ‡†๏ผ›่พ“ๅ‡บ้€ป่พ‘ไธฅ่ฐจใ€็ป“ๆž„ๆธ…ๆ™ฐ๏ผŒๆžๅฐ‘ๅนป่ง‰๏ผ›ไปฃ็ ไธŽๆ–‡ๆกฃ่ดจ้‡้ซ˜้•ฟๆ–‡ๆกฃ็ฒพ่ฏปไธŽๆ‘˜่ฆ ๅคๆ‚ไปปๅŠก่ง„ๅˆ’ ้ซ˜่ดจ้‡ไปฃ็ ๅฎกๆŸฅ AI Agent ๆŽจ็†ๅŽ็ซฏ
Gemini100 ไธ‡ Token ่ถ…้•ฟไธŠไธ‹ๆ–‡๏ผ›ๅŽŸ็”Ÿๅคšๆจกๆ€๏ผˆๅ›พ/้Ÿณ้ข‘/่ง†้ข‘๏ผ‰๏ผ›ไธŽ Google Searchใ€Workspace ็”Ÿๆ€ๆทฑๅบฆๆ•ดๅˆๅฎžๆ—ถไฟกๆฏๆฃ€็ดข ยท ่ทจๆจกๆ€ๅ†…ๅฎน็†่งฃ ยท ็ ”็ฉถ่พ…ๅŠฉ ยท Google ๅŠžๅ…ฌๅœบๆ™ฏ
Grokๅฎžๆ—ถๆŽฅๅ…ฅ X๏ผˆTwitter๏ผ‰ๆ•ฐๆฎๆต๏ผŒๆ—ถไบ‹ๆ„Ÿ็Ÿฅๆœ€ๆ–ฐ๏ผ›ๆŽจ็†่ƒฝๅŠ›ๅผบ๏ผ›ๅฏน่ฏ้ฃŽๆ ผๅผ€ๆ”พ๏ผŒ้™ๅˆถๅฐ‘ๆ—ถไบ‹็ƒญ็‚นไธŽ่ˆ†ๆƒ…่ฟฝ่ธช ยท ๅผ€ๆ”พๆ€ง่ฏ้ข˜่ฎจ่ฎบ ยท ็คพๅช’ๅ†…ๅฎนๅˆ†ๆž

1.2. ๅ›ฝๅ†… โ€‹

',2),t("div",{class:"container nav-card-container"},[t("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[t("a",{href:"https://www.minimaxi.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://www.minimaxi.com/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"miniMax")]),t("p",{class:"desc"},"miniMax ๆ˜ฏๅ›ฝๅ†…้ข†ๅ…ˆ็š„ AI ๅŠฉๆ‰‹ๅนณๅฐ๏ผŒๆ‹ฅๆœ‰ๅคšๆจกๆ€ๅคงๆจกๅž‹่ƒฝๅŠ›๏ผŒๆ”ฏๆŒๅฏน่ฏ้—ฎ็ญ”ใ€ไปฃ็ ็”Ÿๆˆใ€ๆ–‡ๆกฃๅค„็†ใ€็Ÿฅ่ฏ†ๆฃ€็ดข็ญ‰ไธฐๅฏŒๅœบๆ™ฏ๏ผŒ่š็„ฆ่‡ช็„ถ่ฏญ่จ€็†่งฃไธŽๆ™บ่ƒฝๅˆ›ไฝœใ€‚็•Œ้ขไฝ“้ชŒไผ˜็ง€๏ผŒ็”Ÿๆ€ๅผ€ๆ”พ๏ผŒ้€‚ๅˆไฝœไธบ้€š็”จ AI ่พ…ๅŠฉๅทฅๅ…ทไฝฟ็”จใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅคšๆจกๆ€")]),t("a",{href:"https://chatglm.cn/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://chatglm.cn/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"ๆ™บ่ฐฑๆธ…่จ€")]),t("p",{class:"desc"},"ๆ™บ่ฐฑๆธ…่จ€ๆ˜ฏ็”ฑๆ™บ่ฐฑAIๆŽจๅ‡บ็š„ๅ›ฝไบงๅคงๆจกๅž‹ๅบ”็”จๅนณๅฐ๏ผŒๅŸบไบŽGLM็ณปๅˆ—ๅคงๆจกๅž‹๏ผŒๆ”ฏๆŒๅฏน่ฏ้—ฎ็ญ”ใ€็Ÿฅ่ฏ†ๆฃ€็ดขใ€ไปฃ็ ็”Ÿๆˆใ€ไผไธš็Ÿฅ่ฏ†ๅบ“็ญ‰ๅคšๅœบๆ™ฏ๏ผŒๆ–‡ๆœฌ็†่งฃไธŽๆŽจ็†่ƒฝๅŠ›ไผ˜็ง€๏ผŒ็•Œ้ข็ฎ€ๆดๆ˜“็”จใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅ†…")]),t("a",{href:"https://kimi.moonshot.cn/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://kimi.moonshot.cn/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Kimi")]),t("p",{class:"desc"},"Kimi ๆ˜ฏๆœˆไน‹ๆš—้ข๏ผˆMoonshot AI๏ผ‰ๆŽจๅ‡บ็š„ๆ™บ่ƒฝๅŠฉๆ‰‹๏ผŒๆ”ฏๆŒ่ถ…้•ฟไธŠไธ‹ๆ–‡ๅฏน่ฏใ€ๆ–‡ไปถๅˆ†ๆžใ€ๆ™บ่ƒฝ้—ฎ็ญ”ใ€ไปฃ็ ็”Ÿๆˆ็ญ‰ๅคš็ง่ƒฝๅŠ›๏ผŒๅ…ทๅค‡ๅผบๅคง็š„ไธญๆ–‡่ฏญ่จ€็†่งฃๅ’ŒๆŽจ็†่ƒฝๅŠ›๏ผŒ็•Œ้ขๅ‹ๅฅฝ๏ผŒ้€‚ๅˆๅคšๅœบๆ™ฏไฝฟ็”จใ€‚"),t("span",{class:"VPBadge tip badge"},"้•ฟไธŠไธ‹ๆ–‡")]),t("a",{href:"https://www.deepseek.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://www.deepseek.com/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"deepseek")]),t("p",{class:"desc"},"DeepSeek ๆ˜ฏๅ›ฝๅ†…ๆŠ€ๆœฏ้ข†ๅ…ˆ็š„ๅคงๆจกๅž‹ๅนณๅฐ๏ผŒๆไพ›้€š็”จๅฏน่ฏใ€AI ไปฃ็ ๅŠฉๆ‰‹ใ€ๆ–‡ๆกฃๅค„็†ใ€็Ÿฅ่ฏ†ๆฃ€็ดข็ญ‰ๆœๅŠก๏ผŒๆ“…้•ฟไปฃ็ ็”Ÿๆˆใ€ๆ•ฐๅญฆไธŽ้€ป่พ‘ๆŽจ็†๏ผŒๆ”ฏๆŒๆœฌๅœฐ้ƒจ็ฝฒไธŽไผไธš็บงๅบ”็”จ๏ผŒๆ€งไปทๆฏ”้ซ˜ใ€็ ”ๅ‘ๆดป่ทƒใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅ†…")]),t("a",{href:"https://www.doubao.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://lf-flow-web-cdn.doubao.com/obj/flow-doubao/doubao/chat/favicon.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"่ฑ†ๅŒ… (Doubao)")]),t("p",{class:"desc"},"ๅญ—่Š‚่ทณๅŠจๆŽจๅ‡บ็š„ๆ–ฐไธ€ไปฃๅคงๆจกๅž‹โ€œ่ฑ†ๅŒ…โ€๏ผŒไธปๆ‰“่ฝป้‡้ซ˜ๆ•ˆ๏ผŒไธ“ๆณจๆ™บ่ƒฝ้—ฎ็ญ”ใ€ๅ†™ไฝœๅŠฉๆ‰‹ใ€ๅ†…ๅฎนๆ€ป็ป“ใ€ไปฃ็ ็”Ÿๆˆ็ญ‰ๅœบๆ™ฏ๏ผŒ็•Œ้ขๆธ…็ˆฝไฝ“้ชŒๅ‹ๅฅฝ๏ผŒๅนถไธๆ–ญๅผ€ๆ”พไฝฟ็”จไธŽ API ่ƒฝๅŠ›ใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅ†…")]),t("a",{href:"https://www.qianwen.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://img.alicdn.com/imgextra/i4/O1CN01uar8u91DHWktnF2fl_!!6000000000191-2-tps-110-110.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"้€šไน‰ๅƒ้—ฎ (Qwen)")]),t("p",{class:"desc"},"้˜ฟ้‡Œไบ‘ๆŽจๅ‡บ็š„้€šไน‰ๅƒ้—ฎๅคงๆจกๅž‹๏ผˆQwen๏ผ‰๏ผŒๅœจไธญๆ–‡็†่งฃไธŽ็”Ÿๆˆใ€ไปฃ็ ๅ’Œๅคšๆจกๆ€็ญ‰ๆ–น้ข่กจ็Žฐๅ‡บ่‰ฒ๏ผŒ้€‚ๅˆๅ†…ๅฎนๅˆ›ไฝœใ€ๅฏน่ฏๅŠฉๆ‰‹ใ€ไผไธš็Ÿฅ่ฏ†ๅบ“็ญ‰ๅคšๆ ทไธšๅŠกๅœบๆ™ฏ๏ผŒๆ”ฏๆŒ่ถ…้•ฟไธŠไธ‹ๆ–‡ๅ’Œๆ’ไปถ็”Ÿๆ€ใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅ†…")]),t("a",{href:"https://yiyan.baidu.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://eb-static.cdn.bcebos.com/logo/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"ๆ–‡ๅฟƒไธ€่จ€ (ERNIE Bot)")]),t("p",{class:"desc"},"็™พๅบฆๆŽจๅ‡บ็š„ๆ–‡ๅฟƒไธ€่จ€๏ผˆERNIE Bot๏ผ‰ๅคงๆจกๅž‹๏ผŒๅ…ทๅค‡ๅผบๅคง็š„ไธญๆ–‡่ฏญไน‰็†่งฃใ€ไฟกๆฏๆฃ€็ดขใ€ๅคš่ฝฎๅฏน่ฏไธŽไปฃ็ ่ƒฝๅŠ›๏ผŒ้€‚็”จไบŽๆœ็ดข้—ฎ็ญ”ใ€ๆ™บ่ƒฝๅˆ›ไฝœใ€ไผไธšๆŽฅๅ…ฅ็ญ‰ๅœบๆ™ฏ๏ผŒๆ‹ฅๆœ‰ไธฐๅฏŒ็š„ API ไธŽ็”Ÿๆ€ๆ”ฏๆŒใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅ†…")]),t("a",{href:"https://yuanbao.tencent.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://static.yuanbao.tencent.com/m/yuanbao-web/favicon@32.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"ๅ…ƒๅฎ (Hunyuan)")]),t("p",{class:"desc"},"่…พ่ฎฏๆŽจๅ‡บ็š„ๅ…ƒๅฎ๏ผˆHunyuan๏ผ‰ๅคงๆจกๅž‹ๅŠฉๆ‰‹๏ผŒไธ“ๆณจไบŽไธญๆ–‡็†่งฃไธŽ็”Ÿๆˆ๏ผŒๆ”ฏๆŒๅฏน่ฏ้—ฎ็ญ”ใ€ๅ†…ๅฎนๅˆ›ไฝœใ€ไปฃ็ ใ€ๆœ็ดขใ€ๆ•ฐๆฎๅˆ†ๆž็ญ‰ๅคšๅœบๆ™ฏ๏ผŒ็•Œ้ข็ฎ€ๆดๅŠŸ่ƒฝไธฐๅฏŒ๏ผŒๅ…ทๅค‡ไผไธš็บงๆŽฅๅ…ฅ่ƒฝๅŠ›ใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅ†…")])])],-1),e('
ๅŠฉๆ‰‹๐Ÿ”‘ ๆ ธๅฟƒ่ƒฝๅŠ›ๆ ‡็ญพ๐Ÿ’ก ๅ…ธๅž‹ไฝฟ็”จๅœบๆ™ฏ
miniMax100 ไธ‡ Token ่ถ…้•ฟไธŠไธ‹ๆ–‡๏ผˆๅ›ฝๅ†…้ข†ๅ…ˆ๏ผ‰๏ผ›ๆ–‡ๆœฌ / ่ฏญ้Ÿณ / ่ง†้ข‘ๅคšๆจกๆ€ๅ…จ่ฆ†็›–๏ผ›Hailuo AI ่ง†้ข‘็”Ÿๆˆใ€Talkie ่ง’่‰ฒๅฏน่ฏๅ‡บๆตท็ซžไบ‰ๅŠ›ๅผบ๏ผ›API ๅผ€ๆ”พๅบฆ้ซ˜่ถ…้•ฟๆ–‡ๆกฃ็†่งฃ ยท AI ่ง†้ข‘็”Ÿๆˆ ยท ่ฏญ้ŸณๅˆๆˆไธŽๅ…‹้š† ยท ่ง’่‰ฒๆ‰ฎๆผ” / AI ้™ชไผด ยท ๅคšๆจกๆ€ๅบ”็”จๅผ€ๅ‘
Kimi100 ไธ‡ Token ไธญๆ–‡้•ฟไธŠไธ‹ๆ–‡๏ผ›ๅคšๆ ผๅผๆ–‡ไปถ่งฃๆž๏ผˆPDF / Word / ไปฃ็ ๏ผ‰๏ผ›ๅ†…็ฝฎ่”็ฝ‘ๆฃ€็ดขไธŽๆทฑๅบฆ็ ”็ฉถ๏ผˆResearch๏ผ‰ๆจกๅผ้•ฟๆ–‡ๆกฃ้˜…่ฏปไธŽ็ป“ๆž„ๅŒ–ๆ็‚ผ ยท ๅญฆๆœฏ่ฎบๆ–‡ / ๆณ•ๅพ‹ๅˆๅŒๅˆ†ๆž ยท ๅคšๆ–‡ไปถๅฏนๆฏ” ยท ๆทฑๅบฆ็ ”็ฉถๆŠฅๅ‘Š
ๆ™บ่ฐฑๆธ…่จ€ (GLM)GLM-4 ๆ•ฐๅญฆไธŽไปฃ็ ๆŽจ็†็ชๅ‡บ๏ผ›ๆ”ฏๆŒ Function Call ๅทฅๅ…ท่ฐƒ็”จ๏ผ›ๅคšๆจกๆ€๏ผˆGLM-4V๏ผ‰๏ผ›ไผไธš RAG / Agent ็”Ÿๆ€ๅฎŒๅ–„ไผไธš็Ÿฅ่ฏ†ๅบ“้—ฎ็ญ”ไธŽ RAG ยท ไปฃ็ ไธŽๆ•ฐๅญฆๆŽจ็† ยท Agent ๅทฅๅ…ท้“พๅผ€ๅ‘ ยท ๅ›พๆ–‡ๅคšๆจกๆ€็†่งฃ
DeepSeekๅ…จ้‡ๆƒ้‡ๅผ€ๆบๅฏๆœฌๅœฐ้ƒจ็ฝฒ๏ผ›R1 ๅ…ทๅค‡็ฑป o1 ๆ…ขๆ€่€ƒๆŽจ็†้“พ๏ผŒๆ•ฐๅญฆไธŽ้€ป่พ‘่ƒฝๅŠ›้กถๅฐ–๏ผ›API ไปทๆ ผๆžไฝŽๆ€งไปทๆฏ”้ซ˜ไปฃ็ ็”ŸๆˆไธŽ่ฐƒ่ฏ• ยท ๆ•ฐๅญฆ / ้€ป่พ‘ๆŽจ็† ยท ๅญฆๆœฏ็ ”็ฉถ ยท ไฝŽๆˆๆœฌ็งๆœ‰ๅŒ–้ƒจ็ฝฒ
้€šไน‰ๅƒ้—ฎ (Qwen)Qwen2.5 ๆถต็›–ๆ–‡ๆœฌ / ไปฃ็ ๏ผˆQwen-Coder๏ผ‰/ ๆ•ฐๅญฆ / ๅคšๆจกๆ€๏ผˆQwen-VL๏ผ‰ๅญๆจกๅž‹๏ผ›ไธŽ้’‰้’‰ใ€้˜ฟ้‡Œไบ‘ๅทฅๅ…ท้“พๆทฑๅบฆ้›†ๆˆ๏ผ›้ƒจๅˆ†ๅผ€ๆบไธญๆ–‡ๅ†…ๅฎนๅˆ›ไฝœ ยท ไปฃ็ ไธŽๆ•ฐๅญฆ ยท ้’‰้’‰ / ้˜ฟ้‡Œไบ‘็”Ÿๆ€้›†ๆˆ ยท ๅคšๆจกๆ€ๅ›พๆ–‡็”Ÿๆˆ
่ฑ†ๅŒ… (Doubao)ๅ“ๅบ”้€Ÿๅบฆๅฟซ๏ผŒๆ—ฅๅธธไฝ“้ชŒๆต็•…๏ผ›ไธŽๆŠ–้Ÿณ / ้ฃžไนฆ / ๅ‰ชๆ˜ ็”Ÿๆ€ๆ‰“้€š๏ผ›ๅ…ทๅค‡่”็ฝ‘ๆœ็ดขไธŽๅ›พๅƒ็†่งฃ๏ผ›API ไปทๆ ผๅ‹ๅฅฝๆ—ฅๅธธ้—ฎ็ญ”ไธŽๅ†…ๅฎนๆ‘˜่ฆ ยท ๅˆ›ๆ„ๅ†™ไฝœ่พ…ๅŠฉ ยท ็Ÿญ่ง†้ข‘ๅ†…ๅฎน็ญ–ๅˆ’ ยท ้ฃžไนฆ / ๆŠ–้Ÿณๅœบๆ™ฏ้›†ๆˆ
ๆ–‡ๅฟƒไธ€่จ€ (ERNIE)ไธŽ็™พๅบฆๆœ็ดขๆทฑๅบฆ่žๅˆ๏ผŒ่”็ฝ‘ๅฎžๆ—ถๆ€งๅผบ๏ผ›ๅƒๅธ†ๅนณๅฐๆ”ฏๆŒ Fine-tuning ไธŽ็งๆœ‰ๅŒ–้ƒจ็ฝฒ๏ผ›ไธญๆ–‡็Ÿฅ่ฏ†ๅ›พ่ฐฑ็งฏ็ดฏๆทฑๅŽšๆœ็ดขๅขžๅผบๅฎžๆ—ถ้—ฎ็ญ” ยท ไธญๆ–‡ไธ“ไธšๅ†…ๅฎน็”Ÿๆˆ ยท ไผไธš็Ÿฅ่ฏ†ๅบ“ ยท Fine-tuning ๅฎšๅˆถไธšๅŠกๆจกๅž‹
่…พ่ฎฏๅ…ƒๅฎ (Hunyuan)่žๅˆ่…พ่ฎฏๆœ็ดขไธŽ็Ÿฅ่ฏ†ๅ›พ่ฐฑ๏ผ›ๆ— ็ผๅฏนๆŽฅๅพฎไฟก / ไผไธšๅพฎไฟก / ่…พ่ฎฏๆ–‡ๆกฃ๏ผ›ๅคš่ฝฎๅฏน่ฏไธŽๆ–‡ๆกฃๅˆ†ๆž็จณๅฎš๏ผ›ไผไธšๅˆ่ง„ๆœ‰ไฟ้šœไผไธšๅพฎไฟกๅฎขๆœ / ๆ™บ่ƒฝๅŠฉ็† ยท ๅŠžๅ…ฌๅไฝœๅœบๆ™ฏ ยท ๆ–‡ๆกฃๅˆ†ๆž ยท ่…พ่ฎฏ็”Ÿๆ€้›†ๆˆ

2. AI ๅญฆไน ไธŽๅ†…ๅฎนๅˆ›ไฝœๅทฅไฝœ็ซ™ โ€‹

2.1 ๅ…ณ้”ฎ็‚น่ฏดๆ˜Ž โ€‹

่ฟ™็ฑปๅทฅๅ…ท็š„ๆœฌ่ดจๆ˜ฏๅฐ† AI ๅตŒๅ…ฅใ€Œๅญฆไน  โ€” ๆ•ด็† โ€” ๅˆ›ไฝœใ€ๅ…จๆต็จ‹๏ผŒๆˆ‘ไปฌๅœจ้€‰ๆ‹ฉๆ—ถ้œ€่ฆๅ…ณๆณจไธ‰ไธช็ปดๅบฆ๏ผš

  • ่พ“ๅ…ฅ่ƒฝๅŠ›๏ผš ่ƒฝๅฆๅฏผๅ…ฅ PDF / ็ฝ‘้กต / ้Ÿณ่ง†้ข‘็ญ‰ๅคš็ง่ต„ๆ–™
  • ็Ÿฅ่ฏ†ๅ…ณ่”๏ผš AI ่ƒฝๅฆ่ทจๆ–‡ๆกฃๅปบ็ซ‹่”็ณปใ€่‡ชๅŠจๆ ‡็ญพไธŽๅฝ’็บณ
  • ่พ“ๅ‡บ่ดจ้‡๏ผš ๆ€ป็ป“ / ๆ้—ฎ / ๅคง็บฒ / ๆผ”็คบๆ–‡็จฟ็š„ๅฎž็”จๆ€ง

2.2 ้€‰ๆ‹ฉๅปบ่ฎฎ โ€‹

้€‰ๆ‹ฉๅปบ่ฎฎ๏ผšๆทฑๅบฆๅญฆไน ไธŽ็Ÿฅ่ฏ†ๆ•ดๅˆ โ†’ ๅผบ็ƒˆๆŽจ่ NotebookLM / YouMind๏ผˆๅคšๆบ่ต„ๆ–™ๅฏผๅ…ฅ + AI ๆ€ป็ป“ + ้Ÿณ้ข‘ๆฆ‚่ฟฐ๏ผŒๅญฆไน ็ฅžๅ™จ๏ผ‰๏ผ›ไธชไบบ็ฌ”่ฎฐไธŽ็Ÿฅ่ฏ†ๅบ“ โ†’ Notion AI๏ผ›ๅ›ข้˜ŸๅŠžๅ…ฌๅไฝœ โ†’ ้ฃžไนฆๆ™บ่ƒฝๅˆ›ไฝœ / ้ฃžไนฆๅฆ™่ฎฐ๏ผ›้œ€่ฆๅˆถไฝœๆผ”็คบๆ–‡็จฟ โ†’ Gamma๏ผ›ไธญๆ–‡่ฝป้‡็Ÿฅ่ฏ†็ฎก็† โ†’ FlowUs๏ผ›ๆต็จ‹ๆ–‡ๆกฃไธŽ่กจๆ ผ่‡ชๅŠจๅŒ– โ†’ Coda AIใ€‚

',7),t("div",{class:"container nav-card-container"},[t("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[t("a",{href:"https://notebooklm.google/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://notebooklm.google/_/static/branding/v4/light_mode/favicon/favicon.svg",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"NotebookLM")]),t("p",{class:"desc"},'Google ๅ‡บๅ“็š„ AI ๅญฆไน ๅˆฉๅ™จ๏ผŒๅฏๅฏผๅ…ฅ PDFใ€็ฝ‘้กตใ€YouTube ่ง†้ข‘ใ€้Ÿณ้ข‘ใ€Google Docs ็ญ‰ๅคš็ง่ต„ๆ–™๏ผŒAI ๅŸบไบŽ Gemini ่‡ชๅŠจ็”Ÿๆˆๆ‘˜่ฆใ€FAQใ€ๅญฆไน ๆŒ‡ๅ—ใ€ๆ—ถ้—ด็บฟๅ’Œๆ€็ปดๅฏผๅ›พใ€‚็‹ฌๆœ‰็š„ Audio Overview๏ผˆ้Ÿณ้ข‘ๆฆ‚่ฟฐ๏ผ‰ๅŠŸ่ƒฝๅฏๅฐ†ไปปๆ„่ต„ๆ–™่ฝฌไธบไธคไบบๆ’ญๅฎขๅผๅฏน่ฏ๏ผŒๅฎž็Žฐ"ๅฌ็€ๅญฆ"ใ€‚ๅ ช็งฐๅฝ“ไธ‹ๆœ€ๅผบ็š„ไธชไบบๅญฆไน ไธŽ็Ÿฅ่ฏ†ๆ•ดๅˆๅทฅๅ…ท๏ผŒๅฎŒๅ…จๅ…่ดนใ€‚'),t("span",{class:"VPBadge tip badge"},"ๅผบๅŠ›ๆŽจ่")]),t("a",{href:"https://youmind.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://marketing-assets.youmind.com/logo-512.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"YouMind")]),t("p",{class:"desc"},"ไธชๆ€งๅŒ– AI ๅญฆไน ไธŽๅˆ›ไฝœๆ™บ่ƒฝไฝ“๏ผŒ็”ฑๅ›ฝๅ†…ๅ‰็ซฏ้ข†ๅŸŸ็Ÿฅๅๅผ€ๅ‘่€…ๅˆ›ไธšๆ‰“้€ ใ€‚ๅ†…็ฝฎๆต่งˆๅ™จๆ’ไปถๅฏไธ€้”ฎๆŠ“ๅ–็ฝ‘้กตใ€ๆ–‡็ซ ๅ’Œ่ง†้ข‘ๅ†…ๅฎน๏ผŒAI ่‡ชๅŠจๆ•ด็†็”Ÿๆˆ็Ÿฅ่ฏ†ๅก็‰‡ไธŽๅ›พ่ฐฑใ€‚ๆ”ฏๆŒๅคšๆจกๅž‹ๅˆ‡ๆข๏ผŒๅ…ผ้กพ็ขŽ็‰‡ไฟกๆฏๆ”ถ้›†ไธŽๆทฑๅบฆๅˆ›ไฝœ๏ผŒไธชไบบ็Ÿฅ่ฏ†็ฎก็†็š„ๅพ—ๅŠ›ๅŠฉๆ‰‹ใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅญฆไน +ๅˆ›ไฝœ")]),t("a",{href:"https://www.feishu.cn/product/feishuai",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://p1-hera.feishucdn.com/tos-cn-i-jbbdkfciu3/1ec7129d900e442d8501d810efdaa369~tplv-jbbdkfciu3-image:0:0.image",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"้ฃžไนฆๆ™บ่ƒฝๅˆ›ไฝœ")]),t("p",{class:"desc"},"้ฃžไนฆ Docs ๅ†…็ฝฎ AI ๅ†™ไฝœๅŠฉๆ‰‹๏ผŒๆ”ฏๆŒๆ–‡ๆกฃ่‡ชๅŠจ็”Ÿๆˆใ€ไผš่ฎฎ็บช่ฆๆ™บ่ƒฝๆ•ด็†ใ€ๅคง็บฒ็”ŸๆˆไธŽๅคด่„‘้ฃŽๆšด๏ผŒไธŽ้ฃžไนฆๆ—ฅๅކใ€ไปปๅŠกๅ’Œ้กน็›ฎๆทฑๅบฆ่”ๅŠจ๏ผŒๆ˜ฏไผไธš/ๅ›ข้˜Ÿๅ†…ๅฎนๅไฝœใ€ไผš่ฎฎ็Ÿฅ่ฏ†ๆ€ป็ป“ไธŽ้กน็›ฎๆ–‡ๆกฃ็ผ–ๅ†™็š„้ฆ–้€‰ๅทฅๅ…ทใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ข้˜Ÿๅไฝœ")]),t("a",{href:"https://www.notion.com/product/ai",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("span",{class:"name"},"Notion AI")]),t("p",{class:"desc"},"ๅ…จ็ƒๆœ€ๅ—ๆฌข่ฟŽ็š„็ฌ”่ฎฐไธŽๅไฝœๅนณๅฐๅ†…็ฝฎ AI ๅŠฉๆ‰‹๏ผŒๆ”ฏๆŒๆ–‡ๆกฃ่‡ชๅŠจ็”Ÿๆˆใ€ๅ†…ๅฎนๆ€ป็ป“ใ€ๅคš่ฏญ่จ€็ฟป่ฏ‘ไธŽๆถฆ่‰ฒใ€ๅคด่„‘้ฃŽๆšดๅ’Œ่‡ชๅŠจๅˆ†็ฑปๅฝ’ๆกฃ๏ผŒๅนถไธŽ Notion ๆ•ฐๆฎๅบ“ใ€็œ‹ๆฟใ€Wiki ๆ— ็ผ่”ๅŠจ๏ผŒ้€‚ๅˆไธชไบบ็Ÿฅ่ฏ†ๅบ“ไธŽๅ›ข้˜Ÿ้กน็›ฎ็ฎก็†ไธญ็š„ๅ†…ๅฎนๆ•ด็†ไธŽไบŒๆฌกๅˆ›ไฝœใ€‚"),t("span",{class:"VPBadge tip badge"},"็ฌ”่ฎฐ+ๅไฝœ")]),t("a",{href:"https://gamma.app/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://gamma.app/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Gamma")]),t("p",{class:"desc"},"ๆ–ฐไธ€ไปฃ AI ๆผ”็คบๆ–‡็จฟไธŽๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐ๏ผŒ่พ“ๅ…ฅไธ€ๅฅ่ฏไธป้ข˜ๆˆ–ๅฏผๅ…ฅ็ฌ”่ฎฐ/ๅคง็บฒๅณๅฏ่‡ชๅŠจ็”Ÿๆˆ็ฒพ็พŽ PPTใ€็ฝ‘้กตๆˆ–ๆ–‡ๆกฃ๏ผŒAI ่ดŸ่ดฃๆŽ’็‰ˆใ€้…ๅ›พไธŽๅŠจๆ•ˆ๏ผŒๆ”ฏๆŒๅฎžๆ—ถๅไฝœๅ’ŒๅตŒๅ…ฅๅผๅˆ†ไบซใ€‚ไปŽ็Ÿฅ่ฏ†่พ“ๅ‡บๅˆฐ่ง†่ง‰ๅ‘ˆ็Žฐ๏ผŒไธ€ๆญฅๅˆฐไฝใ€‚"),t("span",{class:"VPBadge tip badge"},"AI ๆผ”็คบ")]),t("a",{href:"https://flowus.cn/ai",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://cdn2.flowus.cn/assets/_next/static/media/favicon.0c45c594.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"FlowUs")]),t("p",{class:"desc"},"ๅ›ฝๅ†…ๆ–ฐไธ€ไปฃ็Ÿฅ่ฏ†็ฎก็†ไธŽๅไฝœๅนณๅฐ๏ผŒ็ฑป Notion ไฝ“้ชŒไฝ†ไธญๆ–‡ๆœฌๅœฐๅŒ–ๆ›ดไผ˜๏ผŒๅ†…็ฝฎ AI ่พ…ๅŠฉๅ†™ไฝœ / ๆ€ป็ป“ / ็ฟป่ฏ‘ๅŠŸ่ƒฝ๏ผŒๆ”ฏๆŒๅคš็ปด่กจๆ ผใ€็œ‹ๆฟๅ’Œๆ–‡ๆกฃๅไฝœ๏ผŒๆ™บ่ƒฝๅŒ–่งฃๅ†ณๅทฅไฝœใ€ๅญฆไน ใ€็”Ÿๆดปไธญ็š„ๅ„้กนไปปๅŠกใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅ†…็Ÿฅ่ฏ†ๅบ“")]),t("a",{href:"https://coda.io/product/ai",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("span",{class:"name"},"Coda AI")]),t("p",{class:"desc"},'ไธ€ไฝ“ๅŒ–ๆ™บ่ƒฝๆ–‡ๆกฃๅนณๅฐ๏ผŒ่žๅˆ AI ๆ–‡ๆกฃ็”Ÿๆˆใ€่กจๆ ผๅˆ†ๆžใ€ๅ†…ๅฎน่‡ชๅŠจๅกซๅ†™ไธŽๆ€ป็ป“๏ผŒๅผบๅคง็š„ๅ…ฌๅผๅผ•ๆ“ŽไธŽ่‡ชๅŠจๅŒ–ๅทฅไฝœๆตๅผ•ๆ“Ž่ฎฉๅ†…ๅฎน็œŸๆญฃ"ๆดป"่ตทๆฅ๏ผŒ้€‚ๅˆๆต็จ‹ๆขณ็†ใ€ๆ•ฐๆฎ้ฉฑๅŠจๅž‹ๅ›ข้˜ŸๅไฝœไธŽ็Ÿฅ่ฏ†็ฎก็†ๅœบๆ™ฏใ€‚'),t("span",{class:"VPBadge tip badge"},"ๅ†…ๅฎน่‡ชๅŠจๅŒ–")]),t("a",{href:"https://www.feishu.cn/minutes",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("span",{class:"name"},"้ฃžไนฆๅฆ™่ฎฐ")]),t("p",{class:"desc"},"้ฃžไนฆๆ——ไธ‹ไผš่ฎฎๆ™บ่ƒฝ่ฝฌๅฝ•ไธŽๆ€ป็ป“ๆœๅŠก๏ผŒๆ”ฏๆŒไธญ่‹ฑๅŒ่ฏญๅฎžๆ—ถ่ฏญ้Ÿณ่ฝฌๅฝ•ใ€AI ่‡ชๅŠจๆ‘˜่ฆไธŽ็Ÿฅ่ฏ†็‚นๆŠฝๅ–๏ผŒๅฏ็›ดๆŽฅ็”Ÿๆˆ็ป“ๆž„ๅŒ–็ฌ”่ฎฐไธŽไปปๅŠกๆธ…ๅ•๏ผŒ้€‚ๅˆๅœจ็บฟๅญฆไน ใ€่ฏพ็จ‹ๅคไน ใ€ไผš่ฎฎๅฎžๆ—ถ่ฎฐๅฝ•ไธŽๅŸน่ฎญๅ†…ๅฎนๅฝ’ๆกฃใ€‚"),t("span",{class:"VPBadge note badge"},"่ฏญ้Ÿณ่ฝฌๅฝ•")])])],-1),e('
ๅทฅๅ…ทๆ ธๅฟƒ่ƒฝๅŠ›ๆ ‡็ญพๅ…ธๅž‹ไฝฟ็”จๅœบๆ™ฏๅคšๆบๅฏผๅ…ฅAI ๆ€ป็ป“ๅคšไบบๅไฝœ
NotebookLMๅคšๆบ็Ÿฅ่ฏ†่žๅˆ๏ผ›AI ่‡ชๅŠจๆ€ป็ป“ / FAQ / ๅญฆไน ๆŒ‡ๅ— / ๆ—ถ้—ด็บฟ / ๆ€็ปดๅฏผๅ›พ๏ผ›Audio Overview ้Ÿณ้ข‘ๆฆ‚่ฟฐ๏ผˆๅฏๅฐ†่ต„ๆ–™่ฝฌไธบๆ’ญๅฎขๅผๅฏน่ฏ๏ผ‰๏ผ›Gemini3 ๆจกๅž‹้ฉฑๅŠจ่ฎบๆ–‡็ฒพ่ฏป ยท ่ฏพ็จ‹็ฌ”่ฎฐ ยท ่ฐƒ็ ”่ต„ๆ–™ๆฑ‡ๆ€ป ยท ๆ’ญๅฎขๅผๅคไน  ยท ็Ÿฅ่ฏ†ๅก็‰‡็ฎก็†โœ…โœ…โŒ
YouMindAI ๅญฆไน ไธŽๅˆ›ไฝœๆ™บ่ƒฝไฝ“๏ผ›ๆต่งˆๅ™จๆ’ไปถไธ€้”ฎๆŠ“ๅ–๏ผ›่‡ชๅŠจๆ•ด็†ไธŽ็Ÿฅ่ฏ†ๅ›พ่ฐฑ๏ผ›ๅคšๆจกๅž‹ๅฏ้€‰็ขŽ็‰‡ไฟกๆฏๆ”ถ้›† ยท ไธชไบบ็Ÿฅ่ฏ†ๅบ“ ยท ็ตๆ„Ÿๆ•ๆ‰ ยท ๅ†…ๅฎนๅˆ›ไฝœ่พ…ๅŠฉโœ…โœ…โŒ
Notion AI็ฌ”่ฎฐๅ†…ๅตŒ AI ๅŠฉๆ‰‹๏ผ›ๆ–‡ๆกฃ็”Ÿๆˆ / ๆ€ป็ป“ / ็ฟป่ฏ‘ / ๆถฆ่‰ฒ๏ผ›ๆ•ฐๆฎๅบ“ + ็œ‹ๆฟ + Wiki ไธ€ไฝ“ๅŒ–๏ผ›ๆจกๆฟ็”Ÿๆ€ไธฐๅฏŒไธชไบบ็Ÿฅ่ฏ†ๅบ“ ยท ๅ›ข้˜Ÿ้กน็›ฎ็ฎก็† ยท ๅ†…ๅฎนๆ•ด็†ไธŽไบŒๆฌกๅˆ›ไฝœ ยท Wiki ๆ–‡ๆกฃๅไฝœโœ…โœ…โœ…
้ฃžไนฆๆ™บ่ƒฝๅˆ›ไฝœ้ฃžไนฆ Docs ๅ†…็ฝฎ AI ๅ†™ไฝœ๏ผ›ไผš่ฎฎ็บช่ฆ่‡ชๅŠจๆ•ด็†๏ผ›ๅคด่„‘้ฃŽๆšดไธŽๅคง็บฒ็”Ÿๆˆ๏ผ›ไธŽ้ฃžไนฆๆ—ฅๅކ / ไปปๅŠกๆทฑๅบฆ่”ๅŠจไผไธšๆ–‡ๆกฃ็ผ–ๅ†™ ยท ไผš่ฎฎ็Ÿฅ่ฏ†ๆ€ป็ป“ ยท ๅ›ข้˜Ÿๅคด่„‘้ฃŽๆšด ยท OKR / ๅ‘จๆŠฅโœ…โœ…โœ…
Gammaไธ€ๅฅ่ฏ็”Ÿๆˆ็ฒพ็พŽๆผ”็คบๆ–‡็จฟ / ็ฝ‘้กต / ๆ–‡ๆกฃ๏ผ›่‡ชๅŠจๆŽ’็‰ˆไธŽ้…ๅ›พ๏ผ›ๆ”ฏๆŒๅฏผๅ…ฅๅคง็บฒๆˆ–็ฌ”่ฎฐไธ€้”ฎ่ฝฌ PPT้กน็›ฎๆฑ‡ๆŠฅ ยท ๆ•™ๅญฆ่ฏพไปถ ยท ไบงๅ“ๆผ”็คบ ยท ็Ÿฅ่ฏ†ๅˆ†ไบซโœ…โœ…โœ…
FlowUsไธญๆ–‡ๅ‹ๅฅฝ็š„ Notion ๆ›ฟไปฃๅ“๏ผ›AI ่พ…ๅŠฉๅ†™ไฝœ / ๆ€ป็ป“ / ็ฟป่ฏ‘๏ผ›ๆ”ฏๆŒๅคš็ปด่กจๆ ผไธŽ็œ‹ๆฟไธชไบบ็ฌ”่ฎฐ ยท ๅ›ข้˜Ÿ็Ÿฅ่ฏ†ๅบ“ ยท ้กน็›ฎ็ฎก็† ยท ไธญๆ–‡ๅ†…ๅฎนๅไฝœโœ…โœ…โœ…
Coda AIๆ–‡ๆกฃ + ่กจๆ ผ + ่‡ชๅŠจๅŒ–ไธ‰ๅˆไธ€๏ผ›AI ่‡ชๅŠจๅกซๅ†™ไธŽๅ†…ๅฎนๆ€ป็ป“๏ผ›ๅผบๅคง็š„ๅ…ฌๅผไธŽๆต็จ‹ๅผ•ๆ“Žๆต็จ‹ๆขณ็† ยท ๆ•ฐๆฎ้ฉฑๅŠจๆ–‡ๆกฃ ยท ๅ›ข้˜Ÿ็Ÿฅ่ฏ†็ฎก็† ยท ๅ†…ๅฎน่‡ชๅŠจๅŒ–โœ…โœ…โœ…
้ฃžไนฆๅฆ™่ฎฐไธญ่‹ฑๅŒ่ฏญๅฎžๆ—ถ่ฏญ้Ÿณ่ฝฌๅฝ•๏ผ›AI ่‡ชๅŠจๆ‘˜่ฆไธŽ็Ÿฅ่ฏ†็‚นๆๅ–๏ผ›็”Ÿๆˆ็ฌ”่ฎฐไธŽไปปๅŠกๆธ…ๅ•ไผš่ฎฎๅฎžๆ—ถ่ฎฐๅฝ• ยท ๅœจ็บฟ่ฏพ็จ‹ๅคไน  ยท ๆ’ญๅฎข่ฝฌๆ–‡ๅญ— ยท ๅŸน่ฎญๅ†…ๅฎนๅฝ’ๆกฃโŒโœ…โœ…

๐Ÿ“Œ ไธŠๆ‰‹ๆŒ‡ๅผ•

  1. ็ฌฌไธ€ๆญฅ่ฏ• NotebookLM๏ผšๆ‰“ๅผ€ notebooklm.google๏ผŒๅˆ›ๅปบไธ€ไธช็ฌ”่ฎฐๆœฌ๏ผŒๅฏผๅ…ฅไฝ ๆ‰‹ๅคด็š„ PDF / ็ฝ‘้กต้“พๆŽฅ / YouTube ่ง†้ข‘๏ผŒๅ‡ ็ง’้’Ÿๅณๅฏ่Žทๅพ— AI ๆ€ป็ป“ใ€FAQ ๅ’Œๅญฆไน ๆŒ‡ๅ—ใ€‚ๅˆซๅฟ˜ไบ†็‚น Audio Overview ็”Ÿๆˆ"ๆ’ญๅฎขๅผ"้Ÿณ้ข‘โ€”โ€”้€šๅ‹ค่ทฏไธŠๅฌ็Ÿฅ่ฏ†๏ผŒๆ•ˆ็އ็ฟปๅ€ใ€‚
  2. ็ขŽ็‰‡็Ÿฅ่ฏ†ๆ”ถ้›†๏ผš่ฃ…ๅฅฝ YouMind ๆต่งˆๅ™จๆ’ไปถ๏ผŒๆ—ฅๅธธๅˆทๅˆฐๅฅฝๆ–‡็ซ /ๅธ–ๅญไธ€้”ฎไฟๅญ˜๏ผŒAI ่‡ชๅŠจๆ‰“ๆ ‡็ญพๅปบๅ›พ่ฐฑ๏ผŒๅ‘Šๅˆซ"ๆ”ถ่—ๅคนๅƒ็ฐ"ใ€‚
  3. ็Ÿฅ่ฏ†ไฝ“็ณปๆญๅปบ๏ผš็”จ Notion AI ๆˆ– FlowUs ๅปบไธชไบบ Wiki๏ผŒๆŠŠ NotebookLM ็š„ๆ€ป็ป“ใ€YouMind ็š„็ขŽ็‰‡ใ€่‡ชๅทฑ็š„ๆ€่€ƒๆฒ‰ๆท€ๅˆฐ็ปŸไธ€็Ÿฅ่ฏ†ๅบ“๏ผŒAI ่พ…ๅŠฉๆถฆ่‰ฒไธŽไบŒๆฌกๅŠ ๅทฅใ€‚
  4. ๅ›ข้˜Ÿๅไฝœๅœบๆ™ฏ๏ผšไผš่ฎฎ็”จ ้ฃžไนฆๅฆ™่ฎฐ ๅฎžๆ—ถ่ฝฌๅฝ• โ†’ ้ฃžไนฆๆ™บ่ƒฝๅˆ›ไฝœ็”Ÿๆˆ็บช่ฆ โ†’ Notion / ้ฃžไนฆ Docs ๅฝ’ๆกฃ๏ผŒๅฝขๆˆๅ›ข้˜Ÿ็Ÿฅ่ฏ†ๆตๆฐด็บฟใ€‚
  5. ็Ÿฅ่ฏ†่พ“ๅ‡บไธŽๅˆ†ไบซ๏ผš้œ€่ฆๅšๆฑ‡ๆŠฅๆˆ–ๅˆ†ไบซๆ—ถ๏ผŒๆŠŠ็ฌ”่ฎฐไธข่ฟ› Gamma๏ผŒไธ€้”ฎ็”Ÿๆˆ็ฒพ็พŽๆผ”็คบๆ–‡็จฟ๏ผŒ็œๅŽปๆŽ’็‰ˆ็ƒฆๆผใ€‚

3. AI ๆœ็ดข โ€‹

3.1 ๅ…ณ้”ฎ็‚น่ฏดๆ˜Ž โ€‹

AI ๆœ็ดข โ‰  ๆ™ฎ้€šๆœ็ดข๏ผŒๅฎƒไผšๅ…ˆ็”จๅคงๆจกๅž‹็†่งฃๆ„ๅ›พใ€ๅฎžๆ—ถๆŠ“ๅ–ๅคšไธช็ฝ‘้กต๏ผŒๅ†็ปผๅˆๅฝ’็บณๆˆ"ๅธฆๅผ•็”จ็š„็ญ”ๆกˆ"๏ผŒ็œๅŽปไฝ ้€ๆก็‚น้“พๆŽฅ็š„่ฟ‡็จ‹ใ€‚ๅˆคๆ–ญไธ€ๆฌพ AI ๆœ็ดขๅทฅๅ…ท็š„ๅ…ณ้”ฎ็ปดๅบฆ๏ผš

  • ๅผ•็”จๅฏๆบฏๆบๆ€ง๏ผš็ญ”ๆกˆๆ˜ฏๅฆ้™„ๆœ‰ๆฅๆบ้“พๆŽฅ
  • ๅฎžๆ—ถๆ€ง๏ผš่ƒฝๅฆๆฃ€็ดขไปŠๆ—ฅๆ–ฐ้—ป
  • ๆทฑๅบฆ็ ”็ฉถ่ƒฝๅŠ›๏ผšๆ˜ฏๅฆๆ”ฏๆŒๅคš่ฝฎ่ฟฝ้—ฎไธŽ่‡ชๅŠจๆŠฅๅ‘Š็”Ÿๆˆ

3.2 ้€‰ๆ‹ฉๅปบ่ฎฎ โ€‹

้€‰ๆ‹ฉๅปบ่ฎฎ๏ผš้œ€่ฆๅฎžๆ—ถใ€ๅธฆๅผ•็”จ็š„่‹ฑๆ–‡ๅญฆๆœฏ/ๆŠ€ๆœฏๆฃ€็ดข โ†’ ไผ˜ๅ…ˆ Perplexity๏ผ›ๆ—ฅๅธธไธญๆ–‡ๆœ็ดขๆƒณ่ฆ็›ดๆŽฅ็ญ”ๆกˆ โ†’ ็ง˜ๅก”ๆœ็ดข / ๅคธๅ…‹๏ผ›้œ€่ฆๆทฑๅบฆไธ“้ข˜ๆŠฅๅ‘Š โ†’ Perplexity Deep Research / ็ง˜ๅก”ๆทฑๅบฆ็ ”็ฉถใ€‚

',8),t("div",{class:"container nav-card-container"},[t("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[t("a",{href:"https://www.perplexity.ai/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("span",{class:"name"},"Perplexity")]),t("p",{class:"desc"},"็›ฎๅ‰ๆœ€ๅ—็ ”็ฉถ่€…ๅ’Œๅผ€ๅ‘่€…้’็็š„ AI ๆœ็ดขๅผ•ๆ“Ž๏ผŒๆฏๆก็ญ”ๆกˆๅ‡้™„ๅธฆๆฅๆบ้“พๆŽฅ๏ผŒๆ”ฏๆŒๅญฆๆœฏใ€ๆ–ฐ้—ปใ€ไปฃ็ ็ญ‰ๅž‚็›ดๆœ็ดขๆจกๅผ๏ผ›Pro ็‰ˆๆไพ› Deep Research๏ผˆๆทฑๅบฆ็ ”็ฉถๆŠฅๅ‘Š๏ผ‰่ƒฝๅŠ›๏ผŒๅฏ่‡ชๅŠจ่ง„ๅˆ’ๅคš่ฝฎๆฃ€็ดขๅนถ็”Ÿๆˆ็ป“ๆž„ๅŒ–ๆŠฅๅ‘Š๏ผŒๆ˜ฏๆ›ฟไปฃไผ ็ปŸๆœ็ดขๅผ•ๆ“Ž็š„้ฆ–้€‰ๅทฅๅ…ทใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅค–")]),t("a",{href:"https://google.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://google.com/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Google AI Overviews (SGE)")]),t("p",{class:"desc"},"Google ๅœจๆœ็ดข็ป“ๆžœ้กถ้ƒจๅตŒๅ…ฅ็š„ AI ๆ‘˜่ฆๅŒบๅŸŸ๏ผˆSearch Generative Experience๏ผ‰๏ผŒ็”ฑ Gemini ้ฉฑๅŠจ๏ผŒๅœจไฟ็•™ไผ ็ปŸ่“้“พ็š„ๅŒๆ—ถๆไพ›็ปผๅˆ็ญ”ๆกˆ๏ผŒๆ— ้œ€ๅˆ‡ๆขไบงๅ“ๅณๅฏไฝ“้ชŒ AI ๆœ็ดข๏ผŒๅทฒๅœจ Google Search ไธป็ซ™ๅ…จ้‡ไธŠ็บฟใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅค–")]),t("a",{href:"https://metaso.cn/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://metaso.cn/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"็ง˜ๅก”ๆœ็ดข (Metaso)")]),t("p",{class:"desc"},'ๅ›ฝๅ†… AI ๆœ็ดขไฝ“้ชŒๆœ€ไฝณไน‹ไธ€๏ผŒ็•Œ้ข้›ถๅนฟๅ‘Š๏ผŒ็ญ”ๆกˆไปฅ"ๅคง็บฒ + ๆฅๆบๅผ•็”จ"็ป“ๆž„ๅ‘ˆ็Žฐ๏ผŒๆ”ฏๆŒ็ฎ€ๆด/ๆทฑๅ…ฅ/็ ”็ฉถไธ‰็งๆฃ€็ดขๆทฑๅบฆ๏ผ›"ๆทฑๅบฆ็ ”็ฉถ"ๆจกๅผๅฏ่‡ชๅŠจ็”Ÿๆˆๅคš็ซ ่Š‚ไธ“้ข˜ๆŠฅๅ‘Š๏ผŒ้€‚ๅˆๅญฆๆœฏ่ฐƒ็ ”ใ€็ซžๅ“ๅˆ†ๆžใ€่กŒไธšๆดžๅฏŸ็ญ‰ๅœบๆ™ฏใ€‚'),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅ†…")]),t("a",{href:"https://www.baidu.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://www.baidu.com/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"็™พๅบฆ AI ๆœ็ดข")]),t("p",{class:"desc"},"็™พๅบฆๅœจไผ ็ปŸๆœ็ดขๅŸบ็ก€ไธŠๆŽฅๅ…ฅๆ–‡ๅฟƒๅคงๆจกๅž‹๏ผŒๆไพ› AI ็”Ÿๆˆๆ‘˜่ฆ็ญ”ๆกˆ๏ผŒๅŒๆ—ถไฟ็•™ๅŽŸๆœ‰ๆœ็ดข็ป“ๆžœๅ…œๅบ•๏ผŒไธŽ็™พๅบฆๅœฐๅ›พใ€็™พๅบฆ็™พ็ง‘ใ€็™พๅบฆๆ–‡ๅบ“ๆทฑๅบฆ่”ๅŠจ๏ผŒๆ˜ฏๅ›ฝๅ†…ไบ’่”็ฝ‘่ต„ๆบ่ฆ†็›–ๆœ€ๅนฟ็š„ AI ๆœ็ดขๅ…ฅๅฃ๏ผŒ้€‚ๅˆไธญๆ–‡ๆ—ฅๅธธๆœ็ดข้œ€ๆฑ‚ใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅ†…")]),t("a",{href:"https://ai.quark.cn/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://quark.sm.cn/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"ๅคธๅ…‹ AI ๆœ็ดข")]),t("p",{class:"desc"},"้˜ฟ้‡Œๆ——ไธ‹ๅคธๅ…‹ๆต่งˆๅ™จๅ†…็ฝฎ็š„ AI ๆœ็ดข๏ผŒ่žๅˆ้€šไน‰ๅƒ้—ฎๅคงๆจกๅž‹๏ผŒๆ”ฏๆŒ็›ดๆŽฅ้—ฎ็ญ”ใ€ๆ–‡ไปถ่งฃๆžใ€ๅ›พ็‰‡่ฏ†ๅˆซๅ’Œ็ฝ‘็›˜่ต„ๆบๆฃ€็ดข๏ผ›็งปๅŠจ็ซฏไฝ“้ชŒๆต็•…๏ผŒๆ˜ฏๅ›ฝๅ†…ๆ—ฅๅธธไฝฟ็”จๅœบๆ™ฏไธ‹็ปผๅˆไฝ“้ชŒ่พƒๅฅฝ็š„ AI ๆœ็ดข Appใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅ†…")])])],-1),e('
ๅทฅๅ…ทๆ ธๅฟƒ่ƒฝๅŠ›ๆ ‡็ญพๅ…ธๅž‹ไฝฟ็”จๅœบๆ™ฏ
Perplexity AIAI ็ญ”ๆกˆๅผ•็”จ้€ๆ˜Ž๏ผ›ๅญฆๆœฏ/ๆ–ฐ้—ป/ไปฃ็ ๅž‚็›ดๆœ็ดข๏ผ›Deep Research ่‡ชๅŠจๅคš่ฝฎๆŠฅๅ‘Šใ€‚่‹ฑๆ–‡ๆŠ€ๆœฏๆ–‡ๆกฃๆฃ€็ดข ยท ๅญฆๆœฏ่ฐƒ็ ” ยท ็ซžๅ“้€Ÿ่งˆ ยท ๆทฑๅบฆไธ“้ข˜ๆŠฅๅ‘Š
Google AI OverviewsๅตŒๅ…ฅ Google ไธปๆœ็ดข้กต๏ผ›Gemini ้ฉฑๅŠจ๏ผ›ไฟ็•™่“้“พๅ…œๅบ•๏ผ›่ฆ†็›–่Œƒๅ›ดๆœ€ๅนฟใ€‚
ๆทฑๅ…ฅ่งฃ่ฏปๅ‚่€ƒ๏ผšComplete Guide to AI Overview Optimization 2025
ๆ— ้œ€ๅˆ‡ๆขไบงๅ“็š„ๆ—ฅๅธธๆœ็ดข ยท ๅฟซ้€Ÿไบ‹ๅฎžๆ ธๆŸฅ ยท ๆฆ‚ๅฟต่งฃ้‡Š
็ง˜ๅก”ๆœ็ดข้›ถๅนฟๅ‘Š๏ผ›ๅคง็บฒ็ป“ๆž„็ญ”ๆกˆ๏ผ›ๆทฑๅบฆ็ ”็ฉถๆŠฅๅ‘Š๏ผ›็ฎ€ๆด/ๆทฑๅ…ฅ/็ ”็ฉถไธ‰ๆกฃใ€‚ไธญๆ–‡ๅญฆๆœฏ่ฐƒ็ ” ยท ่กŒไธšๆดžๅฏŸๆŠฅๅ‘Š ยท ๆ”ฟ็ญ–/ๆณ•่ง„ๆฃ€็ดข ยท ๆ— ๅนฒๆ‰ฐไฟกๆฏ่Žทๅ–
็™พๅบฆ AI ๆœ็ดขๆ–‡ๅฟƒๅคงๆจกๅž‹๏ผ›ไธญๆ–‡่ต„ๆบ่ฆ†็›–ๆœ€ๅนฟ๏ผ›็™พ็ง‘/ๅœฐๅ›พ/ๆ–‡ๅบ“่”ๅŠจ๏ผ›ไผ ็ปŸๆœ็ดขๅ…œๅบ•ไธญๆ–‡ๆ—ฅๅธธๆœ็ดข ยท ๆœฌๅœฐ็”ŸๆดปๆœๅŠก ยท ็™พ็ง‘็Ÿฅ่ฏ†ๆŸฅ่ฏข ยท ๅ›ฝๅ†…ๆ”ฟ็ญ–ๆณ•่ง„
ๅคธๅ…‹ AI ๆœ็ดข้€šไน‰ๅƒ้—ฎ้ฉฑๅŠจ๏ผ›ๆ–‡ไปถ/ๅ›พ็‰‡่งฃๆž๏ผ›็ฝ‘็›˜่ต„ๆบๆฃ€็ดข๏ผ›็งปๅŠจ็ซฏไฝ“้ชŒไฝณๆ‰‹ๆœบ็ซฏๆ—ฅๅธธ้—ฎ็ญ” ยท ๆ–‡ไปถๅฟซ้€Ÿ่งฃๆž ยท ็ฝ‘็›˜่ต„ๆบๆŸฅๆ‰พ ยท ้˜ฟ้‡Œ็”Ÿๆ€่”ๅŠจ

๐Ÿ“Œ ไธŠๆ‰‹ๆŒ‡ๅผ•

  1. ๆ–ฐๆ‰‹ๅ…ฅ้—จ๏ผšๅ…ˆ็”จ ็ง˜ๅก”ๆœ็ดข ๆˆ– Perplexity๏ผŒ็›ดๆŽฅๆŠŠไฝ ไปฅๅ‰็”จๆœ็ดขๅผ•ๆ“Žๆœ็š„้—ฎ้ข˜ๅŽŸๆ–‡็ฒ˜่ฟ›ๅŽป๏ผŒๅฏนๆฏ”ไธ€ไธ‹็ญ”ๆกˆ่ดจ้‡ไธŽๆฅๆบๅผ•็”จใ€‚
  2. ่ฟฝ้—ฎๆŠ€ๅทง๏ผšAI ๆœ็ดขๆ”ฏๆŒๅคš่ฝฎๅฏน่ฏ๏ผŒๆœๅˆฐๅˆๆญฅ็ญ”ๆกˆๅŽ๏ผŒ่ฟฝ้—ฎใ€Œ่ƒฝๅฑ•ๅผ€่ฏด่ฏด X ้ƒจๅˆ†ๅ—๏ผŸใ€ใ€Œๆœ‰ๆฒกๆœ‰ๅ้ขๆกˆไพ‹๏ผŸใ€ๆ•ˆๆžœ่ฟœๅฅฝไบŽๆ–ฐๅผ€ไธ€ๆฌกๆœ็ดขใ€‚
  3. ๆทฑๅบฆ็ ”็ฉถ๏ผš้‡ๅˆฐ้œ€่ฆๅ†™ๆŠฅๅ‘Šๆˆ–ๅš่ฐƒ็ ”็š„ๅœบๆ™ฏ๏ผŒไผ˜ๅ…ˆ็”จ Perplexity Deep Research๏ผˆ่‹ฑๆ–‡๏ผ‰ๆˆ– ็ง˜ๅก”ๆทฑๅบฆ็ ”็ฉถ๏ผˆไธญๆ–‡๏ผ‰๏ผŒ่พ“ๅ…ฅไธ€ๅฅ่ฏไธป้ข˜ๅณๅฏ่‡ชๅŠจ็”Ÿๆˆๅธฆๅผ•็”จ็š„ๅคš็ซ ่Š‚ๆŠฅๅ‘Šใ€‚
  4. ๅผ•็”จๆ ธๆŸฅ๏ผšAI ๆœ็ดขไผšๆœ‰"ๅนป่ง‰"้ฃŽ้™ฉ๏ผŒๅ…ปๆˆ็‚นๅ‡ป็ญ”ๆกˆไธญ็š„ๆฅๆบ้“พๆŽฅๆ ธๅฎžๅ…ณ้”ฎๆ•ฐๆฎ็š„ไน ๆƒฏ๏ผŒๅฐคๅ…ถๆ˜ฏๆ•ฐๅญ—ใ€ๆ—ถ้—ดใ€ไบบๅ็ญ‰ๅ…ณ้”ฎไบ‹ๅฎžใ€‚
  5. ๅœบๆ™ฏๅŒน้…๏ผšๆŠ€ๆœฏๆ–‡ๆกฃ/ไปฃ็  โ†’ Perplexity๏ผˆๅญฆๆœฏๆจกๅผ๏ผ‰๏ผ›ไธญๆ–‡ๆ— ๅนฟๅ‘Šไฟกๆฏ่Žทๅ– โ†’ ็ง˜ๅก”๏ผ›ๆ‰‹ๆœบ็ซฏๅฟซๆท โ†’ ๅคธๅ…‹ใ€‚
',2)])])}const h=s(i,[["render",d]]);export{p as __pageData,h as default}; diff --git "a/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_90.\350\265\204\346\272\220\344\270\216\345\267\245\345\205\267\346\216\250\350\215\220_01.\345\245\275\347\224\250\347\232\204 AI \345\212\251\346\211\213\344\270\216\345\267\245\344\275\234\347\253\231\346\216\250\350\215\220.md.vaSWKpLD.lean.js" "b/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_90.\350\265\204\346\272\220\344\270\216\345\267\245\345\205\267\346\216\250\350\215\220_01.\345\245\275\347\224\250\347\232\204 AI \345\212\251\346\211\213\344\270\216\345\267\245\344\275\234\347\253\231\346\216\250\350\215\220.md.DT78Ux7f.lean.js" similarity index 99% rename from "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_90.\350\265\204\346\272\220\344\270\216\345\267\245\345\205\267\346\216\250\350\215\220_01.\345\245\275\347\224\250\347\232\204 AI \345\212\251\346\211\213\344\270\216\345\267\245\344\275\234\347\253\231\346\216\250\350\215\220.md.vaSWKpLD.lean.js" rename to "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_90.\350\265\204\346\272\220\344\270\216\345\267\245\345\205\267\346\216\250\350\215\220_01.\345\245\275\347\224\250\347\232\204 AI \345\212\251\346\211\213\344\270\216\345\267\245\344\275\234\347\253\231\346\216\250\350\215\220.md.DT78Ux7f.lean.js" index 4a0309dc..bc4a07d3 100644 --- "a/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_90.\350\265\204\346\272\220\344\270\216\345\267\245\345\205\267\346\216\250\350\215\220_01.\345\245\275\347\224\250\347\232\204 AI \345\212\251\346\211\213\344\270\216\345\267\245\344\275\234\347\253\231\346\216\250\350\215\220.md.vaSWKpLD.lean.js" +++ "b/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_90.\350\265\204\346\272\220\344\270\216\345\267\245\345\205\267\346\216\250\350\215\220_01.\345\245\275\347\224\250\347\232\204 AI \345\212\251\346\211\213\344\270\216\345\267\245\344\275\234\347\253\231\346\216\250\350\215\220.md.DT78Ux7f.lean.js" @@ -1 +1 @@ -import{_ as s,g as l,h as n,U as e,i as t}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const p=JSON.parse('{"title":"ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšไธบไพฟไบŽ้ซ˜ๆ•ˆๅˆฉ็”จ AI ๅทฅๅ…ทๆๅ‡ๅญฆไน ใ€ๆœ็ดขๅ’Œๅˆ›ไฝœๆ•ˆ็އ๏ผŒๆœฌๆ–‡็ณป็ปŸๆ•ด็†ไบ†ไธปๆต็š„ AI ๅŠฉๆ‰‹ไธŽๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐ็›ธๅ…ณ่ต„ๆบใ€‚ๅ†…ๅฎนๅˆ†ไธบโ€œAI ๅŠฉๆ‰‹โ€๏ผˆๅฆ‚ ChatGPTใ€Claudeใ€Gemini ็ญ‰ๅฏน่ฏๅผๅŠฉๆ‰‹๏ผ‰ๅ’Œโ€œๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐโ€๏ผˆๅฆ‚ๅ†™ไฝœใ€็ป˜็”ป็ญ‰้ข†ๅŸŸ็š„ AI ๅทฅๅ…ทไธŽๅนณๅฐ๏ผ‰๏ผŒไธ”ๆ ‡ๆณจไบ†ๅ…ถๆ ธๅฟƒ่ƒฝๅŠ›ใ€้€‚ๅˆๅœบๆ™ฏ๏ผŒไปฅๅŠ็‰น่‰ฒไผ˜ๅŠฟใ€‚","frontmatter":{"date":"2025-11-25T00:52:28.000Z","title":"ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšไธบไพฟไบŽ้ซ˜ๆ•ˆๅˆฉ็”จ AI ๅทฅๅ…ทๆๅ‡ๅญฆไน ใ€ๆœ็ดขๅ’Œๅˆ›ไฝœๆ•ˆ็އ๏ผŒๆœฌๆ–‡็ณป็ปŸๆ•ด็†ไบ†ไธปๆต็š„ AI ๅŠฉๆ‰‹ไธŽๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐ็›ธๅ…ณ่ต„ๆบใ€‚ๅ†…ๅฎนๅˆ†ไธบโ€œAI ๅŠฉๆ‰‹โ€๏ผˆๅฆ‚ ChatGPTใ€Claudeใ€Gemini ็ญ‰ๅฏน่ฏๅผๅŠฉๆ‰‹๏ผ‰ๅ’Œโ€œๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐโ€๏ผˆๅฆ‚ๅ†™ไฝœใ€็ป˜็”ป็ญ‰้ข†ๅŸŸ็š„ AI ๅทฅๅ…ทไธŽๅนณๅฐ๏ผ‰๏ผŒไธ”ๆ ‡ๆณจไบ†ๅ…ถๆ ธๅฟƒ่ƒฝๅŠ›ใ€้€‚ๅˆๅœบๆ™ฏ๏ผŒไปฅๅŠ็‰น่‰ฒไผ˜ๅŠฟใ€‚","permalink":"/ai-learning/tools-assistant","coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/source_sites_bg.png","categories":["่ต„ๆบๆŽจ่"],"tags":["่ต„ๆบๆŽจ่","AI","AI ๅŠฉๆ‰‹","AI ๆœ็ดข"]},"headers":[],"relativePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่.md","filePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่.md"}'),i={name:"20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่.md"};function d(o,a,r,c,g,_){return n(),l("div",null,[...a[0]||(a[0]=[e("",6),t("div",{class:"container nav-card-container"},[t("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[t("a",{href:"https://gemini.google.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://www.gstatic.com/lamda/images/gemini_sparkle_aurora_33f86dc0c0257da337c63.svg",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Gemini")]),t("p",{class:"desc"},"Gemini ๆ˜ฏ Google ๆ——ไธ‹็š„ๆ——่ˆฐ็บง AI ๅŠฉๆ‰‹๏ผŒๅŸบไบŽๅ…ˆ่ฟ›็š„ Gemini ๅคงๆจกๅž‹๏ผŒ่žๅˆๆ™บ่ƒฝ้—ฎ็ญ”ใ€ไปฃ็ ๅˆ›ไฝœใ€ๆ–‡ๆกฃๅˆ†ๆžใ€็ฝ‘้กต็†่งฃ็ญ‰ๅคš็ง่ƒฝๅŠ›๏ผŒๆ”ฏๆŒๅคš่ฝฎๅฏน่ฏใ€ๅ›พๅƒ/ๆ–‡ไปถ่พ“ๅ…ฅ๏ผŒๅ…ทๅค‡ๅผบๅคง็š„ๆŽจ็†ไธŽๆœ็ดขๅขžๅผบๅŠŸ่ƒฝใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅคšๆจกๆ€")]),t("a",{href:"https://claude.ai/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://claude.ai/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Claude")]),t("p",{class:"desc"},"Claude ๆ˜ฏ Anthropic ๆŽจๅ‡บ็š„ AI ๅŠฉๆ‰‹๏ผŒไปฅๅฎ‰ๅ…จใ€่ฏšๅฎžใ€ๆ— ๅฎณไธบๆ ธๅฟƒ็†ๅฟต๏ผŒๆ“…้•ฟ้•ฟๆ–‡ๆœฌ็†่งฃใ€ไปฃ็ ็ผ–ๅ†™ไธŽๅคๆ‚ๆŽจ็†ไปปๅŠก"),t("span",{class:"VPBadge tip badge"},"้€ป่พ‘ไธฅ่ฐจ")]),t("a",{href:"https://chat.openai.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://chatgpt.com/cdn/assets/favicon-l4nq08hd.svg",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"ChatGPT")]),t("p",{class:"desc"},"OpenAI ๆ˜ฏๅ…จ็ƒ้ข†ๅ…ˆ็š„ไบบๅทฅๆ™บ่ƒฝๅ…ฌๅธ๏ผŒๅ…ถ ChatGPT ๆ˜ฏๆœ€็Ÿฅๅ็š„ๅฏน่ฏๅผ AI๏ผŒๅฏ็”จไบŽๅˆ›ไฝœใ€ไปฃ็ ใ€็ญ”็–‘ใ€ๅ†™ไฝœ็ญ‰ๅคš็งๅœบๆ™ฏ"),t("span",{class:"VPBadge tip badge"},"ๅ…จ่ƒฝๅŠฉๆ‰‹")]),t("a",{href:"https://grok.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://grok.com/images/favicon.svg",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Grok (xAI)")]),t("p",{class:"desc"},"Grok ๆ˜ฏ็”ฑ Elon ็š„ xAI ๅ›ข้˜Ÿๆ‰“้€ ็š„ๆ——่ˆฐ AI ๅŠฉๆ‰‹๏ผŒๆ‹ฅๆœ‰ๅฎžๆ—ถ่”็ฝ‘ใ€ๅนฝ้ป˜ๅฏน่ฏ้ฃŽๆ ผๅ’Œๅผบๅคง็Ÿฅ่ฏ†ๆŽจ็†่ƒฝๅŠ›๏ผŒๆ”ฏๆŒๅคš่ฝฎๅฏน่ฏใ€็Ÿฅ่ฏ†้—ฎ็ญ”๏ผŒๅนถไธ”ๅฏๆ— ็ผ้›†ๆˆ่‡ณ X๏ผˆๅŽŸ Twitter๏ผ‰๏ผŒไพ›็”จๆˆทไพฟๆท่ฐƒ็”จใ€‚"),t("span",{class:"VPBadge tip badge"},"ๆ— ็ผ้›†ๆˆ X")])])],-1),e("",2),t("div",{class:"container nav-card-container"},[t("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[t("a",{href:"https://www.minimaxi.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://www.minimaxi.com/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"miniMax")]),t("p",{class:"desc"},"miniMax ๆ˜ฏๅ›ฝๅ†…้ข†ๅ…ˆ็š„ AI ๅŠฉๆ‰‹ๅนณๅฐ๏ผŒๆ‹ฅๆœ‰ๅคšๆจกๆ€ๅคงๆจกๅž‹่ƒฝๅŠ›๏ผŒๆ”ฏๆŒๅฏน่ฏ้—ฎ็ญ”ใ€ไปฃ็ ็”Ÿๆˆใ€ๆ–‡ๆกฃๅค„็†ใ€็Ÿฅ่ฏ†ๆฃ€็ดข็ญ‰ไธฐๅฏŒๅœบๆ™ฏ๏ผŒ่š็„ฆ่‡ช็„ถ่ฏญ่จ€็†่งฃไธŽๆ™บ่ƒฝๅˆ›ไฝœใ€‚็•Œ้ขไฝ“้ชŒไผ˜็ง€๏ผŒ็”Ÿๆ€ๅผ€ๆ”พ๏ผŒ้€‚ๅˆไฝœไธบ้€š็”จ AI ่พ…ๅŠฉๅทฅๅ…ทไฝฟ็”จใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅคšๆจกๆ€")]),t("a",{href:"https://chatglm.cn/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://chatglm.cn/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"ๆ™บ่ฐฑๆธ…่จ€")]),t("p",{class:"desc"},"ๆ™บ่ฐฑๆธ…่จ€ๆ˜ฏ็”ฑๆ™บ่ฐฑAIๆŽจๅ‡บ็š„ๅ›ฝไบงๅคงๆจกๅž‹ๅบ”็”จๅนณๅฐ๏ผŒๅŸบไบŽGLM็ณปๅˆ—ๅคงๆจกๅž‹๏ผŒๆ”ฏๆŒๅฏน่ฏ้—ฎ็ญ”ใ€็Ÿฅ่ฏ†ๆฃ€็ดขใ€ไปฃ็ ็”Ÿๆˆใ€ไผไธš็Ÿฅ่ฏ†ๅบ“็ญ‰ๅคšๅœบๆ™ฏ๏ผŒๆ–‡ๆœฌ็†่งฃไธŽๆŽจ็†่ƒฝๅŠ›ไผ˜็ง€๏ผŒ็•Œ้ข็ฎ€ๆดๆ˜“็”จใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅ†…")]),t("a",{href:"https://kimi.moonshot.cn/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://kimi.moonshot.cn/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Kimi")]),t("p",{class:"desc"},"Kimi ๆ˜ฏๆœˆไน‹ๆš—้ข๏ผˆMoonshot AI๏ผ‰ๆŽจๅ‡บ็š„ๆ™บ่ƒฝๅŠฉๆ‰‹๏ผŒๆ”ฏๆŒ่ถ…้•ฟไธŠไธ‹ๆ–‡ๅฏน่ฏใ€ๆ–‡ไปถๅˆ†ๆžใ€ๆ™บ่ƒฝ้—ฎ็ญ”ใ€ไปฃ็ ็”Ÿๆˆ็ญ‰ๅคš็ง่ƒฝๅŠ›๏ผŒๅ…ทๅค‡ๅผบๅคง็š„ไธญๆ–‡่ฏญ่จ€็†่งฃๅ’ŒๆŽจ็†่ƒฝๅŠ›๏ผŒ็•Œ้ขๅ‹ๅฅฝ๏ผŒ้€‚ๅˆๅคšๅœบๆ™ฏไฝฟ็”จใ€‚"),t("span",{class:"VPBadge tip badge"},"้•ฟไธŠไธ‹ๆ–‡")]),t("a",{href:"https://www.deepseek.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://www.deepseek.com/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"deepseek")]),t("p",{class:"desc"},"DeepSeek ๆ˜ฏๅ›ฝๅ†…ๆŠ€ๆœฏ้ข†ๅ…ˆ็š„ๅคงๆจกๅž‹ๅนณๅฐ๏ผŒๆไพ›้€š็”จๅฏน่ฏใ€AI ไปฃ็ ๅŠฉๆ‰‹ใ€ๆ–‡ๆกฃๅค„็†ใ€็Ÿฅ่ฏ†ๆฃ€็ดข็ญ‰ๆœๅŠก๏ผŒๆ“…้•ฟไปฃ็ ็”Ÿๆˆใ€ๆ•ฐๅญฆไธŽ้€ป่พ‘ๆŽจ็†๏ผŒๆ”ฏๆŒๆœฌๅœฐ้ƒจ็ฝฒไธŽไผไธš็บงๅบ”็”จ๏ผŒๆ€งไปทๆฏ”้ซ˜ใ€็ ”ๅ‘ๆดป่ทƒใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅ†…")]),t("a",{href:"https://www.doubao.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://lf-flow-web-cdn.doubao.com/obj/flow-doubao/doubao/chat/favicon.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"่ฑ†ๅŒ… (Doubao)")]),t("p",{class:"desc"},"ๅญ—่Š‚่ทณๅŠจๆŽจๅ‡บ็š„ๆ–ฐไธ€ไปฃๅคงๆจกๅž‹โ€œ่ฑ†ๅŒ…โ€๏ผŒไธปๆ‰“่ฝป้‡้ซ˜ๆ•ˆ๏ผŒไธ“ๆณจๆ™บ่ƒฝ้—ฎ็ญ”ใ€ๅ†™ไฝœๅŠฉๆ‰‹ใ€ๅ†…ๅฎนๆ€ป็ป“ใ€ไปฃ็ ็”Ÿๆˆ็ญ‰ๅœบๆ™ฏ๏ผŒ็•Œ้ขๆธ…็ˆฝไฝ“้ชŒๅ‹ๅฅฝ๏ผŒๅนถไธๆ–ญๅผ€ๆ”พไฝฟ็”จไธŽ API ่ƒฝๅŠ›ใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅ†…")]),t("a",{href:"https://www.qianwen.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://img.alicdn.com/imgextra/i4/O1CN01uar8u91DHWktnF2fl_!!6000000000191-2-tps-110-110.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"้€šไน‰ๅƒ้—ฎ (Qwen)")]),t("p",{class:"desc"},"้˜ฟ้‡Œไบ‘ๆŽจๅ‡บ็š„้€šไน‰ๅƒ้—ฎๅคงๆจกๅž‹๏ผˆQwen๏ผ‰๏ผŒๅœจไธญๆ–‡็†่งฃไธŽ็”Ÿๆˆใ€ไปฃ็ ๅ’Œๅคšๆจกๆ€็ญ‰ๆ–น้ข่กจ็Žฐๅ‡บ่‰ฒ๏ผŒ้€‚ๅˆๅ†…ๅฎนๅˆ›ไฝœใ€ๅฏน่ฏๅŠฉๆ‰‹ใ€ไผไธš็Ÿฅ่ฏ†ๅบ“็ญ‰ๅคšๆ ทไธšๅŠกๅœบๆ™ฏ๏ผŒๆ”ฏๆŒ่ถ…้•ฟไธŠไธ‹ๆ–‡ๅ’Œๆ’ไปถ็”Ÿๆ€ใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅ†…")]),t("a",{href:"https://yiyan.baidu.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://eb-static.cdn.bcebos.com/logo/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"ๆ–‡ๅฟƒไธ€่จ€ (ERNIE Bot)")]),t("p",{class:"desc"},"็™พๅบฆๆŽจๅ‡บ็š„ๆ–‡ๅฟƒไธ€่จ€๏ผˆERNIE Bot๏ผ‰ๅคงๆจกๅž‹๏ผŒๅ…ทๅค‡ๅผบๅคง็š„ไธญๆ–‡่ฏญไน‰็†่งฃใ€ไฟกๆฏๆฃ€็ดขใ€ๅคš่ฝฎๅฏน่ฏไธŽไปฃ็ ่ƒฝๅŠ›๏ผŒ้€‚็”จไบŽๆœ็ดข้—ฎ็ญ”ใ€ๆ™บ่ƒฝๅˆ›ไฝœใ€ไผไธšๆŽฅๅ…ฅ็ญ‰ๅœบๆ™ฏ๏ผŒๆ‹ฅๆœ‰ไธฐๅฏŒ็š„ API ไธŽ็”Ÿๆ€ๆ”ฏๆŒใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅ†…")]),t("a",{href:"https://yuanbao.tencent.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://static.yuanbao.tencent.com/m/yuanbao-web/favicon@32.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"ๅ…ƒๅฎ (Hunyuan)")]),t("p",{class:"desc"},"่…พ่ฎฏๆŽจๅ‡บ็š„ๅ…ƒๅฎ๏ผˆHunyuan๏ผ‰ๅคงๆจกๅž‹ๅŠฉๆ‰‹๏ผŒไธ“ๆณจไบŽไธญๆ–‡็†่งฃไธŽ็”Ÿๆˆ๏ผŒๆ”ฏๆŒๅฏน่ฏ้—ฎ็ญ”ใ€ๅ†…ๅฎนๅˆ›ไฝœใ€ไปฃ็ ใ€ๆœ็ดขใ€ๆ•ฐๆฎๅˆ†ๆž็ญ‰ๅคšๅœบๆ™ฏ๏ผŒ็•Œ้ข็ฎ€ๆดๅŠŸ่ƒฝไธฐๅฏŒ๏ผŒๅ…ทๅค‡ไผไธš็บงๆŽฅๅ…ฅ่ƒฝๅŠ›ใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅ†…")])])],-1),e("",7),t("div",{class:"container nav-card-container"},[t("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[t("a",{href:"https://notebooklm.google/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://notebooklm.google/_/static/branding/v4/light_mode/favicon/favicon.svg",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"NotebookLM")]),t("p",{class:"desc"},'Google ๅ‡บๅ“็š„ AI ๅญฆไน ๅˆฉๅ™จ๏ผŒๅฏๅฏผๅ…ฅ PDFใ€็ฝ‘้กตใ€YouTube ่ง†้ข‘ใ€้Ÿณ้ข‘ใ€Google Docs ็ญ‰ๅคš็ง่ต„ๆ–™๏ผŒAI ๅŸบไบŽ Gemini ่‡ชๅŠจ็”Ÿๆˆๆ‘˜่ฆใ€FAQใ€ๅญฆไน ๆŒ‡ๅ—ใ€ๆ—ถ้—ด็บฟๅ’Œๆ€็ปดๅฏผๅ›พใ€‚็‹ฌๆœ‰็š„ Audio Overview๏ผˆ้Ÿณ้ข‘ๆฆ‚่ฟฐ๏ผ‰ๅŠŸ่ƒฝๅฏๅฐ†ไปปๆ„่ต„ๆ–™่ฝฌไธบไธคไบบๆ’ญๅฎขๅผๅฏน่ฏ๏ผŒๅฎž็Žฐ"ๅฌ็€ๅญฆ"ใ€‚ๅ ช็งฐๅฝ“ไธ‹ๆœ€ๅผบ็š„ไธชไบบๅญฆไน ไธŽ็Ÿฅ่ฏ†ๆ•ดๅˆๅทฅๅ…ท๏ผŒๅฎŒๅ…จๅ…่ดนใ€‚'),t("span",{class:"VPBadge tip badge"},"ๅผบๅŠ›ๆŽจ่")]),t("a",{href:"https://youmind.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://marketing-assets.youmind.com/logo-512.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"YouMind")]),t("p",{class:"desc"},"ไธชๆ€งๅŒ– AI ๅญฆไน ไธŽๅˆ›ไฝœๆ™บ่ƒฝไฝ“๏ผŒ็”ฑๅ›ฝๅ†…ๅ‰็ซฏ้ข†ๅŸŸ็Ÿฅๅๅผ€ๅ‘่€…ๅˆ›ไธšๆ‰“้€ ใ€‚ๅ†…็ฝฎๆต่งˆๅ™จๆ’ไปถๅฏไธ€้”ฎๆŠ“ๅ–็ฝ‘้กตใ€ๆ–‡็ซ ๅ’Œ่ง†้ข‘ๅ†…ๅฎน๏ผŒAI ่‡ชๅŠจๆ•ด็†็”Ÿๆˆ็Ÿฅ่ฏ†ๅก็‰‡ไธŽๅ›พ่ฐฑใ€‚ๆ”ฏๆŒๅคšๆจกๅž‹ๅˆ‡ๆข๏ผŒๅ…ผ้กพ็ขŽ็‰‡ไฟกๆฏๆ”ถ้›†ไธŽๆทฑๅบฆๅˆ›ไฝœ๏ผŒไธชไบบ็Ÿฅ่ฏ†็ฎก็†็š„ๅพ—ๅŠ›ๅŠฉๆ‰‹ใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅญฆไน +ๅˆ›ไฝœ")]),t("a",{href:"https://www.feishu.cn/product/feishuai",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://p1-hera.feishucdn.com/tos-cn-i-jbbdkfciu3/1ec7129d900e442d8501d810efdaa369~tplv-jbbdkfciu3-image:0:0.image",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"้ฃžไนฆๆ™บ่ƒฝๅˆ›ไฝœ")]),t("p",{class:"desc"},"้ฃžไนฆ Docs ๅ†…็ฝฎ AI ๅ†™ไฝœๅŠฉๆ‰‹๏ผŒๆ”ฏๆŒๆ–‡ๆกฃ่‡ชๅŠจ็”Ÿๆˆใ€ไผš่ฎฎ็บช่ฆๆ™บ่ƒฝๆ•ด็†ใ€ๅคง็บฒ็”ŸๆˆไธŽๅคด่„‘้ฃŽๆšด๏ผŒไธŽ้ฃžไนฆๆ—ฅๅކใ€ไปปๅŠกๅ’Œ้กน็›ฎๆทฑๅบฆ่”ๅŠจ๏ผŒๆ˜ฏไผไธš/ๅ›ข้˜Ÿๅ†…ๅฎนๅไฝœใ€ไผš่ฎฎ็Ÿฅ่ฏ†ๆ€ป็ป“ไธŽ้กน็›ฎๆ–‡ๆกฃ็ผ–ๅ†™็š„้ฆ–้€‰ๅทฅๅ…ทใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ข้˜Ÿๅไฝœ")]),t("a",{href:"https://www.notion.com/product/ai",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("span",{class:"name"},"Notion AI")]),t("p",{class:"desc"},"ๅ…จ็ƒๆœ€ๅ—ๆฌข่ฟŽ็š„็ฌ”่ฎฐไธŽๅไฝœๅนณๅฐๅ†…็ฝฎ AI ๅŠฉๆ‰‹๏ผŒๆ”ฏๆŒๆ–‡ๆกฃ่‡ชๅŠจ็”Ÿๆˆใ€ๅ†…ๅฎนๆ€ป็ป“ใ€ๅคš่ฏญ่จ€็ฟป่ฏ‘ไธŽๆถฆ่‰ฒใ€ๅคด่„‘้ฃŽๆšดๅ’Œ่‡ชๅŠจๅˆ†็ฑปๅฝ’ๆกฃ๏ผŒๅนถไธŽ Notion ๆ•ฐๆฎๅบ“ใ€็œ‹ๆฟใ€Wiki ๆ— ็ผ่”ๅŠจ๏ผŒ้€‚ๅˆไธชไบบ็Ÿฅ่ฏ†ๅบ“ไธŽๅ›ข้˜Ÿ้กน็›ฎ็ฎก็†ไธญ็š„ๅ†…ๅฎนๆ•ด็†ไธŽไบŒๆฌกๅˆ›ไฝœใ€‚"),t("span",{class:"VPBadge tip badge"},"็ฌ”่ฎฐ+ๅไฝœ")]),t("a",{href:"https://gamma.app/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://gamma.app/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Gamma")]),t("p",{class:"desc"},"ๆ–ฐไธ€ไปฃ AI ๆผ”็คบๆ–‡็จฟไธŽๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐ๏ผŒ่พ“ๅ…ฅไธ€ๅฅ่ฏไธป้ข˜ๆˆ–ๅฏผๅ…ฅ็ฌ”่ฎฐ/ๅคง็บฒๅณๅฏ่‡ชๅŠจ็”Ÿๆˆ็ฒพ็พŽ PPTใ€็ฝ‘้กตๆˆ–ๆ–‡ๆกฃ๏ผŒAI ่ดŸ่ดฃๆŽ’็‰ˆใ€้…ๅ›พไธŽๅŠจๆ•ˆ๏ผŒๆ”ฏๆŒๅฎžๆ—ถๅไฝœๅ’ŒๅตŒๅ…ฅๅผๅˆ†ไบซใ€‚ไปŽ็Ÿฅ่ฏ†่พ“ๅ‡บๅˆฐ่ง†่ง‰ๅ‘ˆ็Žฐ๏ผŒไธ€ๆญฅๅˆฐไฝใ€‚"),t("span",{class:"VPBadge tip badge"},"AI ๆผ”็คบ")]),t("a",{href:"https://flowus.cn/ai",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://cdn2.flowus.cn/assets/_next/static/media/favicon.0c45c594.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"FlowUs")]),t("p",{class:"desc"},"ๅ›ฝๅ†…ๆ–ฐไธ€ไปฃ็Ÿฅ่ฏ†็ฎก็†ไธŽๅไฝœๅนณๅฐ๏ผŒ็ฑป Notion ไฝ“้ชŒไฝ†ไธญๆ–‡ๆœฌๅœฐๅŒ–ๆ›ดไผ˜๏ผŒๅ†…็ฝฎ AI ่พ…ๅŠฉๅ†™ไฝœ / ๆ€ป็ป“ / ็ฟป่ฏ‘ๅŠŸ่ƒฝ๏ผŒๆ”ฏๆŒๅคš็ปด่กจๆ ผใ€็œ‹ๆฟๅ’Œๆ–‡ๆกฃๅไฝœ๏ผŒๆ™บ่ƒฝๅŒ–่งฃๅ†ณๅทฅไฝœใ€ๅญฆไน ใ€็”Ÿๆดปไธญ็š„ๅ„้กนไปปๅŠกใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅ†…็Ÿฅ่ฏ†ๅบ“")]),t("a",{href:"https://coda.io/product/ai",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("span",{class:"name"},"Coda AI")]),t("p",{class:"desc"},'ไธ€ไฝ“ๅŒ–ๆ™บ่ƒฝๆ–‡ๆกฃๅนณๅฐ๏ผŒ่žๅˆ AI ๆ–‡ๆกฃ็”Ÿๆˆใ€่กจๆ ผๅˆ†ๆžใ€ๅ†…ๅฎน่‡ชๅŠจๅกซๅ†™ไธŽๆ€ป็ป“๏ผŒๅผบๅคง็š„ๅ…ฌๅผๅผ•ๆ“ŽไธŽ่‡ชๅŠจๅŒ–ๅทฅไฝœๆตๅผ•ๆ“Ž่ฎฉๅ†…ๅฎน็œŸๆญฃ"ๆดป"่ตทๆฅ๏ผŒ้€‚ๅˆๆต็จ‹ๆขณ็†ใ€ๆ•ฐๆฎ้ฉฑๅŠจๅž‹ๅ›ข้˜ŸๅไฝœไธŽ็Ÿฅ่ฏ†็ฎก็†ๅœบๆ™ฏใ€‚'),t("span",{class:"VPBadge tip badge"},"ๅ†…ๅฎน่‡ชๅŠจๅŒ–")]),t("a",{href:"https://www.feishu.cn/minutes",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("span",{class:"name"},"้ฃžไนฆๅฆ™่ฎฐ")]),t("p",{class:"desc"},"้ฃžไนฆๆ——ไธ‹ไผš่ฎฎๆ™บ่ƒฝ่ฝฌๅฝ•ไธŽๆ€ป็ป“ๆœๅŠก๏ผŒๆ”ฏๆŒไธญ่‹ฑๅŒ่ฏญๅฎžๆ—ถ่ฏญ้Ÿณ่ฝฌๅฝ•ใ€AI ่‡ชๅŠจๆ‘˜่ฆไธŽ็Ÿฅ่ฏ†็‚นๆŠฝๅ–๏ผŒๅฏ็›ดๆŽฅ็”Ÿๆˆ็ป“ๆž„ๅŒ–็ฌ”่ฎฐไธŽไปปๅŠกๆธ…ๅ•๏ผŒ้€‚ๅˆๅœจ็บฟๅญฆไน ใ€่ฏพ็จ‹ๅคไน ใ€ไผš่ฎฎๅฎžๆ—ถ่ฎฐๅฝ•ไธŽๅŸน่ฎญๅ†…ๅฎนๅฝ’ๆกฃใ€‚"),t("span",{class:"VPBadge note badge"},"่ฏญ้Ÿณ่ฝฌๅฝ•")])])],-1),e("",8),t("div",{class:"container nav-card-container"},[t("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[t("a",{href:"https://www.perplexity.ai/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("span",{class:"name"},"Perplexity")]),t("p",{class:"desc"},"็›ฎๅ‰ๆœ€ๅ—็ ”็ฉถ่€…ๅ’Œๅผ€ๅ‘่€…้’็็š„ AI ๆœ็ดขๅผ•ๆ“Ž๏ผŒๆฏๆก็ญ”ๆกˆๅ‡้™„ๅธฆๆฅๆบ้“พๆŽฅ๏ผŒๆ”ฏๆŒๅญฆๆœฏใ€ๆ–ฐ้—ปใ€ไปฃ็ ็ญ‰ๅž‚็›ดๆœ็ดขๆจกๅผ๏ผ›Pro ็‰ˆๆไพ› Deep Research๏ผˆๆทฑๅบฆ็ ”็ฉถๆŠฅๅ‘Š๏ผ‰่ƒฝๅŠ›๏ผŒๅฏ่‡ชๅŠจ่ง„ๅˆ’ๅคš่ฝฎๆฃ€็ดขๅนถ็”Ÿๆˆ็ป“ๆž„ๅŒ–ๆŠฅๅ‘Š๏ผŒๆ˜ฏๆ›ฟไปฃไผ ็ปŸๆœ็ดขๅผ•ๆ“Ž็š„้ฆ–้€‰ๅทฅๅ…ทใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅค–")]),t("a",{href:"https://google.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://google.com/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Google AI Overviews (SGE)")]),t("p",{class:"desc"},"Google ๅœจๆœ็ดข็ป“ๆžœ้กถ้ƒจๅตŒๅ…ฅ็š„ AI ๆ‘˜่ฆๅŒบๅŸŸ๏ผˆSearch Generative Experience๏ผ‰๏ผŒ็”ฑ Gemini ้ฉฑๅŠจ๏ผŒๅœจไฟ็•™ไผ ็ปŸ่“้“พ็š„ๅŒๆ—ถๆไพ›็ปผๅˆ็ญ”ๆกˆ๏ผŒๆ— ้œ€ๅˆ‡ๆขไบงๅ“ๅณๅฏไฝ“้ชŒ AI ๆœ็ดข๏ผŒๅทฒๅœจ Google Search ไธป็ซ™ๅ…จ้‡ไธŠ็บฟใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅค–")]),t("a",{href:"https://metaso.cn/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://metaso.cn/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"็ง˜ๅก”ๆœ็ดข (Metaso)")]),t("p",{class:"desc"},'ๅ›ฝๅ†… AI ๆœ็ดขไฝ“้ชŒๆœ€ไฝณไน‹ไธ€๏ผŒ็•Œ้ข้›ถๅนฟๅ‘Š๏ผŒ็ญ”ๆกˆไปฅ"ๅคง็บฒ + ๆฅๆบๅผ•็”จ"็ป“ๆž„ๅ‘ˆ็Žฐ๏ผŒๆ”ฏๆŒ็ฎ€ๆด/ๆทฑๅ…ฅ/็ ”็ฉถไธ‰็งๆฃ€็ดขๆทฑๅบฆ๏ผ›"ๆทฑๅบฆ็ ”็ฉถ"ๆจกๅผๅฏ่‡ชๅŠจ็”Ÿๆˆๅคš็ซ ่Š‚ไธ“้ข˜ๆŠฅๅ‘Š๏ผŒ้€‚ๅˆๅญฆๆœฏ่ฐƒ็ ”ใ€็ซžๅ“ๅˆ†ๆžใ€่กŒไธšๆดžๅฏŸ็ญ‰ๅœบๆ™ฏใ€‚'),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅ†…")]),t("a",{href:"https://www.baidu.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://www.baidu.com/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"็™พๅบฆ AI ๆœ็ดข")]),t("p",{class:"desc"},"็™พๅบฆๅœจไผ ็ปŸๆœ็ดขๅŸบ็ก€ไธŠๆŽฅๅ…ฅๆ–‡ๅฟƒๅคงๆจกๅž‹๏ผŒๆไพ› AI ็”Ÿๆˆๆ‘˜่ฆ็ญ”ๆกˆ๏ผŒๅŒๆ—ถไฟ็•™ๅŽŸๆœ‰ๆœ็ดข็ป“ๆžœๅ…œๅบ•๏ผŒไธŽ็™พๅบฆๅœฐๅ›พใ€็™พๅบฆ็™พ็ง‘ใ€็™พๅบฆๆ–‡ๅบ“ๆทฑๅบฆ่”ๅŠจ๏ผŒๆ˜ฏๅ›ฝๅ†…ไบ’่”็ฝ‘่ต„ๆบ่ฆ†็›–ๆœ€ๅนฟ็š„ AI ๆœ็ดขๅ…ฅๅฃ๏ผŒ้€‚ๅˆไธญๆ–‡ๆ—ฅๅธธๆœ็ดข้œ€ๆฑ‚ใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅ†…")]),t("a",{href:"https://ai.quark.cn/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://quark.sm.cn/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"ๅคธๅ…‹ AI ๆœ็ดข")]),t("p",{class:"desc"},"้˜ฟ้‡Œๆ——ไธ‹ๅคธๅ…‹ๆต่งˆๅ™จๅ†…็ฝฎ็š„ AI ๆœ็ดข๏ผŒ่žๅˆ้€šไน‰ๅƒ้—ฎๅคงๆจกๅž‹๏ผŒๆ”ฏๆŒ็›ดๆŽฅ้—ฎ็ญ”ใ€ๆ–‡ไปถ่งฃๆžใ€ๅ›พ็‰‡่ฏ†ๅˆซๅ’Œ็ฝ‘็›˜่ต„ๆบๆฃ€็ดข๏ผ›็งปๅŠจ็ซฏไฝ“้ชŒๆต็•…๏ผŒๆ˜ฏๅ›ฝๅ†…ๆ—ฅๅธธไฝฟ็”จๅœบๆ™ฏไธ‹็ปผๅˆไฝ“้ชŒ่พƒๅฅฝ็š„ AI ๆœ็ดข Appใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅ†…")])])],-1),e("",2)])])}const h=s(i,[["render",d]]);export{p as __pageData,h as default}; +import{_ as s,g as l,h as n,U as e,i as t}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const p=JSON.parse('{"title":"ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšไธบไพฟไบŽ้ซ˜ๆ•ˆๅˆฉ็”จ AI ๅทฅๅ…ทๆๅ‡ๅญฆไน ใ€ๆœ็ดขๅ’Œๅˆ›ไฝœๆ•ˆ็އ๏ผŒๆœฌๆ–‡็ณป็ปŸๆ•ด็†ไบ†ไธปๆต็š„ AI ๅŠฉๆ‰‹ไธŽๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐ็›ธๅ…ณ่ต„ๆบใ€‚ๅ†…ๅฎนๅˆ†ไธบโ€œAI ๅŠฉๆ‰‹โ€๏ผˆๅฆ‚ ChatGPTใ€Claudeใ€Gemini ็ญ‰ๅฏน่ฏๅผๅŠฉๆ‰‹๏ผ‰ๅ’Œโ€œๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐโ€๏ผˆๅฆ‚ๅ†™ไฝœใ€็ป˜็”ป็ญ‰้ข†ๅŸŸ็š„ AI ๅทฅๅ…ทไธŽๅนณๅฐ๏ผ‰๏ผŒไธ”ๆ ‡ๆณจไบ†ๅ…ถๆ ธๅฟƒ่ƒฝๅŠ›ใ€้€‚ๅˆๅœบๆ™ฏ๏ผŒไปฅๅŠ็‰น่‰ฒไผ˜ๅŠฟใ€‚","frontmatter":{"date":"2025-11-25T00:52:28.000Z","title":"ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšไธบไพฟไบŽ้ซ˜ๆ•ˆๅˆฉ็”จ AI ๅทฅๅ…ทๆๅ‡ๅญฆไน ใ€ๆœ็ดขๅ’Œๅˆ›ไฝœๆ•ˆ็އ๏ผŒๆœฌๆ–‡็ณป็ปŸๆ•ด็†ไบ†ไธปๆต็š„ AI ๅŠฉๆ‰‹ไธŽๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐ็›ธๅ…ณ่ต„ๆบใ€‚ๅ†…ๅฎนๅˆ†ไธบโ€œAI ๅŠฉๆ‰‹โ€๏ผˆๅฆ‚ ChatGPTใ€Claudeใ€Gemini ็ญ‰ๅฏน่ฏๅผๅŠฉๆ‰‹๏ผ‰ๅ’Œโ€œๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐโ€๏ผˆๅฆ‚ๅ†™ไฝœใ€็ป˜็”ป็ญ‰้ข†ๅŸŸ็š„ AI ๅทฅๅ…ทไธŽๅนณๅฐ๏ผ‰๏ผŒไธ”ๆ ‡ๆณจไบ†ๅ…ถๆ ธๅฟƒ่ƒฝๅŠ›ใ€้€‚ๅˆๅœบๆ™ฏ๏ผŒไปฅๅŠ็‰น่‰ฒไผ˜ๅŠฟใ€‚","permalink":"/ai-learning/tools-assistant","coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/source_sites_bg.png","categories":["่ต„ๆบๆŽจ่"],"tags":["่ต„ๆบๆŽจ่","AI","AI ๅŠฉๆ‰‹","AI ๆœ็ดข"]},"headers":[],"relativePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่.md","filePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่.md"}'),i={name:"20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่.md"};function d(o,a,r,c,g,_){return n(),l("div",null,[...a[0]||(a[0]=[e("",6),t("div",{class:"container nav-card-container"},[t("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[t("a",{href:"https://gemini.google.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://www.gstatic.com/lamda/images/gemini_sparkle_aurora_33f86dc0c0257da337c63.svg",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Gemini")]),t("p",{class:"desc"},"Gemini ๆ˜ฏ Google ๆ——ไธ‹็š„ๆ——่ˆฐ็บง AI ๅŠฉๆ‰‹๏ผŒๅŸบไบŽๅ…ˆ่ฟ›็š„ Gemini ๅคงๆจกๅž‹๏ผŒ่žๅˆๆ™บ่ƒฝ้—ฎ็ญ”ใ€ไปฃ็ ๅˆ›ไฝœใ€ๆ–‡ๆกฃๅˆ†ๆžใ€็ฝ‘้กต็†่งฃ็ญ‰ๅคš็ง่ƒฝๅŠ›๏ผŒๆ”ฏๆŒๅคš่ฝฎๅฏน่ฏใ€ๅ›พๅƒ/ๆ–‡ไปถ่พ“ๅ…ฅ๏ผŒๅ…ทๅค‡ๅผบๅคง็š„ๆŽจ็†ไธŽๆœ็ดขๅขžๅผบๅŠŸ่ƒฝใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅคšๆจกๆ€")]),t("a",{href:"https://claude.ai/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://claude.ai/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Claude")]),t("p",{class:"desc"},"Claude ๆ˜ฏ Anthropic ๆŽจๅ‡บ็š„ AI ๅŠฉๆ‰‹๏ผŒไปฅๅฎ‰ๅ…จใ€่ฏšๅฎžใ€ๆ— ๅฎณไธบๆ ธๅฟƒ็†ๅฟต๏ผŒๆ“…้•ฟ้•ฟๆ–‡ๆœฌ็†่งฃใ€ไปฃ็ ็ผ–ๅ†™ไธŽๅคๆ‚ๆŽจ็†ไปปๅŠก"),t("span",{class:"VPBadge tip badge"},"้€ป่พ‘ไธฅ่ฐจ")]),t("a",{href:"https://chat.openai.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://chatgpt.com/cdn/assets/favicon-l4nq08hd.svg",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"ChatGPT")]),t("p",{class:"desc"},"OpenAI ๆ˜ฏๅ…จ็ƒ้ข†ๅ…ˆ็š„ไบบๅทฅๆ™บ่ƒฝๅ…ฌๅธ๏ผŒๅ…ถ ChatGPT ๆ˜ฏๆœ€็Ÿฅๅ็š„ๅฏน่ฏๅผ AI๏ผŒๅฏ็”จไบŽๅˆ›ไฝœใ€ไปฃ็ ใ€็ญ”็–‘ใ€ๅ†™ไฝœ็ญ‰ๅคš็งๅœบๆ™ฏ"),t("span",{class:"VPBadge tip badge"},"ๅ…จ่ƒฝๅŠฉๆ‰‹")]),t("a",{href:"https://grok.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://grok.com/images/favicon.svg",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Grok (xAI)")]),t("p",{class:"desc"},"Grok ๆ˜ฏ็”ฑ Elon ็š„ xAI ๅ›ข้˜Ÿๆ‰“้€ ็š„ๆ——่ˆฐ AI ๅŠฉๆ‰‹๏ผŒๆ‹ฅๆœ‰ๅฎžๆ—ถ่”็ฝ‘ใ€ๅนฝ้ป˜ๅฏน่ฏ้ฃŽๆ ผๅ’Œๅผบๅคง็Ÿฅ่ฏ†ๆŽจ็†่ƒฝๅŠ›๏ผŒๆ”ฏๆŒๅคš่ฝฎๅฏน่ฏใ€็Ÿฅ่ฏ†้—ฎ็ญ”๏ผŒๅนถไธ”ๅฏๆ— ็ผ้›†ๆˆ่‡ณ X๏ผˆๅŽŸ Twitter๏ผ‰๏ผŒไพ›็”จๆˆทไพฟๆท่ฐƒ็”จใ€‚"),t("span",{class:"VPBadge tip badge"},"ๆ— ็ผ้›†ๆˆ X")])])],-1),e("",2),t("div",{class:"container nav-card-container"},[t("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[t("a",{href:"https://www.minimaxi.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://www.minimaxi.com/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"miniMax")]),t("p",{class:"desc"},"miniMax ๆ˜ฏๅ›ฝๅ†…้ข†ๅ…ˆ็š„ AI ๅŠฉๆ‰‹ๅนณๅฐ๏ผŒๆ‹ฅๆœ‰ๅคšๆจกๆ€ๅคงๆจกๅž‹่ƒฝๅŠ›๏ผŒๆ”ฏๆŒๅฏน่ฏ้—ฎ็ญ”ใ€ไปฃ็ ็”Ÿๆˆใ€ๆ–‡ๆกฃๅค„็†ใ€็Ÿฅ่ฏ†ๆฃ€็ดข็ญ‰ไธฐๅฏŒๅœบๆ™ฏ๏ผŒ่š็„ฆ่‡ช็„ถ่ฏญ่จ€็†่งฃไธŽๆ™บ่ƒฝๅˆ›ไฝœใ€‚็•Œ้ขไฝ“้ชŒไผ˜็ง€๏ผŒ็”Ÿๆ€ๅผ€ๆ”พ๏ผŒ้€‚ๅˆไฝœไธบ้€š็”จ AI ่พ…ๅŠฉๅทฅๅ…ทไฝฟ็”จใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅคšๆจกๆ€")]),t("a",{href:"https://chatglm.cn/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://chatglm.cn/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"ๆ™บ่ฐฑๆธ…่จ€")]),t("p",{class:"desc"},"ๆ™บ่ฐฑๆธ…่จ€ๆ˜ฏ็”ฑๆ™บ่ฐฑAIๆŽจๅ‡บ็š„ๅ›ฝไบงๅคงๆจกๅž‹ๅบ”็”จๅนณๅฐ๏ผŒๅŸบไบŽGLM็ณปๅˆ—ๅคงๆจกๅž‹๏ผŒๆ”ฏๆŒๅฏน่ฏ้—ฎ็ญ”ใ€็Ÿฅ่ฏ†ๆฃ€็ดขใ€ไปฃ็ ็”Ÿๆˆใ€ไผไธš็Ÿฅ่ฏ†ๅบ“็ญ‰ๅคšๅœบๆ™ฏ๏ผŒๆ–‡ๆœฌ็†่งฃไธŽๆŽจ็†่ƒฝๅŠ›ไผ˜็ง€๏ผŒ็•Œ้ข็ฎ€ๆดๆ˜“็”จใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅ†…")]),t("a",{href:"https://kimi.moonshot.cn/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://kimi.moonshot.cn/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Kimi")]),t("p",{class:"desc"},"Kimi ๆ˜ฏๆœˆไน‹ๆš—้ข๏ผˆMoonshot AI๏ผ‰ๆŽจๅ‡บ็š„ๆ™บ่ƒฝๅŠฉๆ‰‹๏ผŒๆ”ฏๆŒ่ถ…้•ฟไธŠไธ‹ๆ–‡ๅฏน่ฏใ€ๆ–‡ไปถๅˆ†ๆžใ€ๆ™บ่ƒฝ้—ฎ็ญ”ใ€ไปฃ็ ็”Ÿๆˆ็ญ‰ๅคš็ง่ƒฝๅŠ›๏ผŒๅ…ทๅค‡ๅผบๅคง็š„ไธญๆ–‡่ฏญ่จ€็†่งฃๅ’ŒๆŽจ็†่ƒฝๅŠ›๏ผŒ็•Œ้ขๅ‹ๅฅฝ๏ผŒ้€‚ๅˆๅคšๅœบๆ™ฏไฝฟ็”จใ€‚"),t("span",{class:"VPBadge tip badge"},"้•ฟไธŠไธ‹ๆ–‡")]),t("a",{href:"https://www.deepseek.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://www.deepseek.com/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"deepseek")]),t("p",{class:"desc"},"DeepSeek ๆ˜ฏๅ›ฝๅ†…ๆŠ€ๆœฏ้ข†ๅ…ˆ็š„ๅคงๆจกๅž‹ๅนณๅฐ๏ผŒๆไพ›้€š็”จๅฏน่ฏใ€AI ไปฃ็ ๅŠฉๆ‰‹ใ€ๆ–‡ๆกฃๅค„็†ใ€็Ÿฅ่ฏ†ๆฃ€็ดข็ญ‰ๆœๅŠก๏ผŒๆ“…้•ฟไปฃ็ ็”Ÿๆˆใ€ๆ•ฐๅญฆไธŽ้€ป่พ‘ๆŽจ็†๏ผŒๆ”ฏๆŒๆœฌๅœฐ้ƒจ็ฝฒไธŽไผไธš็บงๅบ”็”จ๏ผŒๆ€งไปทๆฏ”้ซ˜ใ€็ ”ๅ‘ๆดป่ทƒใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅ†…")]),t("a",{href:"https://www.doubao.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://lf-flow-web-cdn.doubao.com/obj/flow-doubao/doubao/chat/favicon.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"่ฑ†ๅŒ… (Doubao)")]),t("p",{class:"desc"},"ๅญ—่Š‚่ทณๅŠจๆŽจๅ‡บ็š„ๆ–ฐไธ€ไปฃๅคงๆจกๅž‹โ€œ่ฑ†ๅŒ…โ€๏ผŒไธปๆ‰“่ฝป้‡้ซ˜ๆ•ˆ๏ผŒไธ“ๆณจๆ™บ่ƒฝ้—ฎ็ญ”ใ€ๅ†™ไฝœๅŠฉๆ‰‹ใ€ๅ†…ๅฎนๆ€ป็ป“ใ€ไปฃ็ ็”Ÿๆˆ็ญ‰ๅœบๆ™ฏ๏ผŒ็•Œ้ขๆธ…็ˆฝไฝ“้ชŒๅ‹ๅฅฝ๏ผŒๅนถไธๆ–ญๅผ€ๆ”พไฝฟ็”จไธŽ API ่ƒฝๅŠ›ใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅ†…")]),t("a",{href:"https://www.qianwen.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://img.alicdn.com/imgextra/i4/O1CN01uar8u91DHWktnF2fl_!!6000000000191-2-tps-110-110.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"้€šไน‰ๅƒ้—ฎ (Qwen)")]),t("p",{class:"desc"},"้˜ฟ้‡Œไบ‘ๆŽจๅ‡บ็š„้€šไน‰ๅƒ้—ฎๅคงๆจกๅž‹๏ผˆQwen๏ผ‰๏ผŒๅœจไธญๆ–‡็†่งฃไธŽ็”Ÿๆˆใ€ไปฃ็ ๅ’Œๅคšๆจกๆ€็ญ‰ๆ–น้ข่กจ็Žฐๅ‡บ่‰ฒ๏ผŒ้€‚ๅˆๅ†…ๅฎนๅˆ›ไฝœใ€ๅฏน่ฏๅŠฉๆ‰‹ใ€ไผไธš็Ÿฅ่ฏ†ๅบ“็ญ‰ๅคšๆ ทไธšๅŠกๅœบๆ™ฏ๏ผŒๆ”ฏๆŒ่ถ…้•ฟไธŠไธ‹ๆ–‡ๅ’Œๆ’ไปถ็”Ÿๆ€ใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅ†…")]),t("a",{href:"https://yiyan.baidu.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://eb-static.cdn.bcebos.com/logo/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"ๆ–‡ๅฟƒไธ€่จ€ (ERNIE Bot)")]),t("p",{class:"desc"},"็™พๅบฆๆŽจๅ‡บ็š„ๆ–‡ๅฟƒไธ€่จ€๏ผˆERNIE Bot๏ผ‰ๅคงๆจกๅž‹๏ผŒๅ…ทๅค‡ๅผบๅคง็š„ไธญๆ–‡่ฏญไน‰็†่งฃใ€ไฟกๆฏๆฃ€็ดขใ€ๅคš่ฝฎๅฏน่ฏไธŽไปฃ็ ่ƒฝๅŠ›๏ผŒ้€‚็”จไบŽๆœ็ดข้—ฎ็ญ”ใ€ๆ™บ่ƒฝๅˆ›ไฝœใ€ไผไธšๆŽฅๅ…ฅ็ญ‰ๅœบๆ™ฏ๏ผŒๆ‹ฅๆœ‰ไธฐๅฏŒ็š„ API ไธŽ็”Ÿๆ€ๆ”ฏๆŒใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅ†…")]),t("a",{href:"https://yuanbao.tencent.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://static.yuanbao.tencent.com/m/yuanbao-web/favicon@32.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"ๅ…ƒๅฎ (Hunyuan)")]),t("p",{class:"desc"},"่…พ่ฎฏๆŽจๅ‡บ็š„ๅ…ƒๅฎ๏ผˆHunyuan๏ผ‰ๅคงๆจกๅž‹ๅŠฉๆ‰‹๏ผŒไธ“ๆณจไบŽไธญๆ–‡็†่งฃไธŽ็”Ÿๆˆ๏ผŒๆ”ฏๆŒๅฏน่ฏ้—ฎ็ญ”ใ€ๅ†…ๅฎนๅˆ›ไฝœใ€ไปฃ็ ใ€ๆœ็ดขใ€ๆ•ฐๆฎๅˆ†ๆž็ญ‰ๅคšๅœบๆ™ฏ๏ผŒ็•Œ้ข็ฎ€ๆดๅŠŸ่ƒฝไธฐๅฏŒ๏ผŒๅ…ทๅค‡ไผไธš็บงๆŽฅๅ…ฅ่ƒฝๅŠ›ใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅ†…")])])],-1),e("",7),t("div",{class:"container nav-card-container"},[t("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[t("a",{href:"https://notebooklm.google/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://notebooklm.google/_/static/branding/v4/light_mode/favicon/favicon.svg",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"NotebookLM")]),t("p",{class:"desc"},'Google ๅ‡บๅ“็š„ AI ๅญฆไน ๅˆฉๅ™จ๏ผŒๅฏๅฏผๅ…ฅ PDFใ€็ฝ‘้กตใ€YouTube ่ง†้ข‘ใ€้Ÿณ้ข‘ใ€Google Docs ็ญ‰ๅคš็ง่ต„ๆ–™๏ผŒAI ๅŸบไบŽ Gemini ่‡ชๅŠจ็”Ÿๆˆๆ‘˜่ฆใ€FAQใ€ๅญฆไน ๆŒ‡ๅ—ใ€ๆ—ถ้—ด็บฟๅ’Œๆ€็ปดๅฏผๅ›พใ€‚็‹ฌๆœ‰็š„ Audio Overview๏ผˆ้Ÿณ้ข‘ๆฆ‚่ฟฐ๏ผ‰ๅŠŸ่ƒฝๅฏๅฐ†ไปปๆ„่ต„ๆ–™่ฝฌไธบไธคไบบๆ’ญๅฎขๅผๅฏน่ฏ๏ผŒๅฎž็Žฐ"ๅฌ็€ๅญฆ"ใ€‚ๅ ช็งฐๅฝ“ไธ‹ๆœ€ๅผบ็š„ไธชไบบๅญฆไน ไธŽ็Ÿฅ่ฏ†ๆ•ดๅˆๅทฅๅ…ท๏ผŒๅฎŒๅ…จๅ…่ดนใ€‚'),t("span",{class:"VPBadge tip badge"},"ๅผบๅŠ›ๆŽจ่")]),t("a",{href:"https://youmind.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://marketing-assets.youmind.com/logo-512.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"YouMind")]),t("p",{class:"desc"},"ไธชๆ€งๅŒ– AI ๅญฆไน ไธŽๅˆ›ไฝœๆ™บ่ƒฝไฝ“๏ผŒ็”ฑๅ›ฝๅ†…ๅ‰็ซฏ้ข†ๅŸŸ็Ÿฅๅๅผ€ๅ‘่€…ๅˆ›ไธšๆ‰“้€ ใ€‚ๅ†…็ฝฎๆต่งˆๅ™จๆ’ไปถๅฏไธ€้”ฎๆŠ“ๅ–็ฝ‘้กตใ€ๆ–‡็ซ ๅ’Œ่ง†้ข‘ๅ†…ๅฎน๏ผŒAI ่‡ชๅŠจๆ•ด็†็”Ÿๆˆ็Ÿฅ่ฏ†ๅก็‰‡ไธŽๅ›พ่ฐฑใ€‚ๆ”ฏๆŒๅคšๆจกๅž‹ๅˆ‡ๆข๏ผŒๅ…ผ้กพ็ขŽ็‰‡ไฟกๆฏๆ”ถ้›†ไธŽๆทฑๅบฆๅˆ›ไฝœ๏ผŒไธชไบบ็Ÿฅ่ฏ†็ฎก็†็š„ๅพ—ๅŠ›ๅŠฉๆ‰‹ใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅญฆไน +ๅˆ›ไฝœ")]),t("a",{href:"https://www.feishu.cn/product/feishuai",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://p1-hera.feishucdn.com/tos-cn-i-jbbdkfciu3/1ec7129d900e442d8501d810efdaa369~tplv-jbbdkfciu3-image:0:0.image",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"้ฃžไนฆๆ™บ่ƒฝๅˆ›ไฝœ")]),t("p",{class:"desc"},"้ฃžไนฆ Docs ๅ†…็ฝฎ AI ๅ†™ไฝœๅŠฉๆ‰‹๏ผŒๆ”ฏๆŒๆ–‡ๆกฃ่‡ชๅŠจ็”Ÿๆˆใ€ไผš่ฎฎ็บช่ฆๆ™บ่ƒฝๆ•ด็†ใ€ๅคง็บฒ็”ŸๆˆไธŽๅคด่„‘้ฃŽๆšด๏ผŒไธŽ้ฃžไนฆๆ—ฅๅކใ€ไปปๅŠกๅ’Œ้กน็›ฎๆทฑๅบฆ่”ๅŠจ๏ผŒๆ˜ฏไผไธš/ๅ›ข้˜Ÿๅ†…ๅฎนๅไฝœใ€ไผš่ฎฎ็Ÿฅ่ฏ†ๆ€ป็ป“ไธŽ้กน็›ฎๆ–‡ๆกฃ็ผ–ๅ†™็š„้ฆ–้€‰ๅทฅๅ…ทใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ข้˜Ÿๅไฝœ")]),t("a",{href:"https://www.notion.com/product/ai",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("span",{class:"name"},"Notion AI")]),t("p",{class:"desc"},"ๅ…จ็ƒๆœ€ๅ—ๆฌข่ฟŽ็š„็ฌ”่ฎฐไธŽๅไฝœๅนณๅฐๅ†…็ฝฎ AI ๅŠฉๆ‰‹๏ผŒๆ”ฏๆŒๆ–‡ๆกฃ่‡ชๅŠจ็”Ÿๆˆใ€ๅ†…ๅฎนๆ€ป็ป“ใ€ๅคš่ฏญ่จ€็ฟป่ฏ‘ไธŽๆถฆ่‰ฒใ€ๅคด่„‘้ฃŽๆšดๅ’Œ่‡ชๅŠจๅˆ†็ฑปๅฝ’ๆกฃ๏ผŒๅนถไธŽ Notion ๆ•ฐๆฎๅบ“ใ€็œ‹ๆฟใ€Wiki ๆ— ็ผ่”ๅŠจ๏ผŒ้€‚ๅˆไธชไบบ็Ÿฅ่ฏ†ๅบ“ไธŽๅ›ข้˜Ÿ้กน็›ฎ็ฎก็†ไธญ็š„ๅ†…ๅฎนๆ•ด็†ไธŽไบŒๆฌกๅˆ›ไฝœใ€‚"),t("span",{class:"VPBadge tip badge"},"็ฌ”่ฎฐ+ๅไฝœ")]),t("a",{href:"https://gamma.app/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://gamma.app/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Gamma")]),t("p",{class:"desc"},"ๆ–ฐไธ€ไปฃ AI ๆผ”็คบๆ–‡็จฟไธŽๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐ๏ผŒ่พ“ๅ…ฅไธ€ๅฅ่ฏไธป้ข˜ๆˆ–ๅฏผๅ…ฅ็ฌ”่ฎฐ/ๅคง็บฒๅณๅฏ่‡ชๅŠจ็”Ÿๆˆ็ฒพ็พŽ PPTใ€็ฝ‘้กตๆˆ–ๆ–‡ๆกฃ๏ผŒAI ่ดŸ่ดฃๆŽ’็‰ˆใ€้…ๅ›พไธŽๅŠจๆ•ˆ๏ผŒๆ”ฏๆŒๅฎžๆ—ถๅไฝœๅ’ŒๅตŒๅ…ฅๅผๅˆ†ไบซใ€‚ไปŽ็Ÿฅ่ฏ†่พ“ๅ‡บๅˆฐ่ง†่ง‰ๅ‘ˆ็Žฐ๏ผŒไธ€ๆญฅๅˆฐไฝใ€‚"),t("span",{class:"VPBadge tip badge"},"AI ๆผ”็คบ")]),t("a",{href:"https://flowus.cn/ai",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://cdn2.flowus.cn/assets/_next/static/media/favicon.0c45c594.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"FlowUs")]),t("p",{class:"desc"},"ๅ›ฝๅ†…ๆ–ฐไธ€ไปฃ็Ÿฅ่ฏ†็ฎก็†ไธŽๅไฝœๅนณๅฐ๏ผŒ็ฑป Notion ไฝ“้ชŒไฝ†ไธญๆ–‡ๆœฌๅœฐๅŒ–ๆ›ดไผ˜๏ผŒๅ†…็ฝฎ AI ่พ…ๅŠฉๅ†™ไฝœ / ๆ€ป็ป“ / ็ฟป่ฏ‘ๅŠŸ่ƒฝ๏ผŒๆ”ฏๆŒๅคš็ปด่กจๆ ผใ€็œ‹ๆฟๅ’Œๆ–‡ๆกฃๅไฝœ๏ผŒๆ™บ่ƒฝๅŒ–่งฃๅ†ณๅทฅไฝœใ€ๅญฆไน ใ€็”Ÿๆดปไธญ็š„ๅ„้กนไปปๅŠกใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅ†…็Ÿฅ่ฏ†ๅบ“")]),t("a",{href:"https://coda.io/product/ai",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("span",{class:"name"},"Coda AI")]),t("p",{class:"desc"},'ไธ€ไฝ“ๅŒ–ๆ™บ่ƒฝๆ–‡ๆกฃๅนณๅฐ๏ผŒ่žๅˆ AI ๆ–‡ๆกฃ็”Ÿๆˆใ€่กจๆ ผๅˆ†ๆžใ€ๅ†…ๅฎน่‡ชๅŠจๅกซๅ†™ไธŽๆ€ป็ป“๏ผŒๅผบๅคง็š„ๅ…ฌๅผๅผ•ๆ“ŽไธŽ่‡ชๅŠจๅŒ–ๅทฅไฝœๆตๅผ•ๆ“Ž่ฎฉๅ†…ๅฎน็œŸๆญฃ"ๆดป"่ตทๆฅ๏ผŒ้€‚ๅˆๆต็จ‹ๆขณ็†ใ€ๆ•ฐๆฎ้ฉฑๅŠจๅž‹ๅ›ข้˜ŸๅไฝœไธŽ็Ÿฅ่ฏ†็ฎก็†ๅœบๆ™ฏใ€‚'),t("span",{class:"VPBadge tip badge"},"ๅ†…ๅฎน่‡ชๅŠจๅŒ–")]),t("a",{href:"https://www.feishu.cn/minutes",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("span",{class:"name"},"้ฃžไนฆๅฆ™่ฎฐ")]),t("p",{class:"desc"},"้ฃžไนฆๆ——ไธ‹ไผš่ฎฎๆ™บ่ƒฝ่ฝฌๅฝ•ไธŽๆ€ป็ป“ๆœๅŠก๏ผŒๆ”ฏๆŒไธญ่‹ฑๅŒ่ฏญๅฎžๆ—ถ่ฏญ้Ÿณ่ฝฌๅฝ•ใ€AI ่‡ชๅŠจๆ‘˜่ฆไธŽ็Ÿฅ่ฏ†็‚นๆŠฝๅ–๏ผŒๅฏ็›ดๆŽฅ็”Ÿๆˆ็ป“ๆž„ๅŒ–็ฌ”่ฎฐไธŽไปปๅŠกๆธ…ๅ•๏ผŒ้€‚ๅˆๅœจ็บฟๅญฆไน ใ€่ฏพ็จ‹ๅคไน ใ€ไผš่ฎฎๅฎžๆ—ถ่ฎฐๅฝ•ไธŽๅŸน่ฎญๅ†…ๅฎนๅฝ’ๆกฃใ€‚"),t("span",{class:"VPBadge note badge"},"่ฏญ้Ÿณ่ฝฌๅฝ•")])])],-1),e("",8),t("div",{class:"container nav-card-container"},[t("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[t("a",{href:"https://www.perplexity.ai/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("span",{class:"name"},"Perplexity")]),t("p",{class:"desc"},"็›ฎๅ‰ๆœ€ๅ—็ ”็ฉถ่€…ๅ’Œๅผ€ๅ‘่€…้’็็š„ AI ๆœ็ดขๅผ•ๆ“Ž๏ผŒๆฏๆก็ญ”ๆกˆๅ‡้™„ๅธฆๆฅๆบ้“พๆŽฅ๏ผŒๆ”ฏๆŒๅญฆๆœฏใ€ๆ–ฐ้—ปใ€ไปฃ็ ็ญ‰ๅž‚็›ดๆœ็ดขๆจกๅผ๏ผ›Pro ็‰ˆๆไพ› Deep Research๏ผˆๆทฑๅบฆ็ ”็ฉถๆŠฅๅ‘Š๏ผ‰่ƒฝๅŠ›๏ผŒๅฏ่‡ชๅŠจ่ง„ๅˆ’ๅคš่ฝฎๆฃ€็ดขๅนถ็”Ÿๆˆ็ป“ๆž„ๅŒ–ๆŠฅๅ‘Š๏ผŒๆ˜ฏๆ›ฟไปฃไผ ็ปŸๆœ็ดขๅผ•ๆ“Ž็š„้ฆ–้€‰ๅทฅๅ…ทใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅค–")]),t("a",{href:"https://google.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://google.com/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Google AI Overviews (SGE)")]),t("p",{class:"desc"},"Google ๅœจๆœ็ดข็ป“ๆžœ้กถ้ƒจๅตŒๅ…ฅ็š„ AI ๆ‘˜่ฆๅŒบๅŸŸ๏ผˆSearch Generative Experience๏ผ‰๏ผŒ็”ฑ Gemini ้ฉฑๅŠจ๏ผŒๅœจไฟ็•™ไผ ็ปŸ่“้“พ็š„ๅŒๆ—ถๆไพ›็ปผๅˆ็ญ”ๆกˆ๏ผŒๆ— ้œ€ๅˆ‡ๆขไบงๅ“ๅณๅฏไฝ“้ชŒ AI ๆœ็ดข๏ผŒๅทฒๅœจ Google Search ไธป็ซ™ๅ…จ้‡ไธŠ็บฟใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅค–")]),t("a",{href:"https://metaso.cn/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://metaso.cn/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"็ง˜ๅก”ๆœ็ดข (Metaso)")]),t("p",{class:"desc"},'ๅ›ฝๅ†… AI ๆœ็ดขไฝ“้ชŒๆœ€ไฝณไน‹ไธ€๏ผŒ็•Œ้ข้›ถๅนฟๅ‘Š๏ผŒ็ญ”ๆกˆไปฅ"ๅคง็บฒ + ๆฅๆบๅผ•็”จ"็ป“ๆž„ๅ‘ˆ็Žฐ๏ผŒๆ”ฏๆŒ็ฎ€ๆด/ๆทฑๅ…ฅ/็ ”็ฉถไธ‰็งๆฃ€็ดขๆทฑๅบฆ๏ผ›"ๆทฑๅบฆ็ ”็ฉถ"ๆจกๅผๅฏ่‡ชๅŠจ็”Ÿๆˆๅคš็ซ ่Š‚ไธ“้ข˜ๆŠฅๅ‘Š๏ผŒ้€‚ๅˆๅญฆๆœฏ่ฐƒ็ ”ใ€็ซžๅ“ๅˆ†ๆžใ€่กŒไธšๆดžๅฏŸ็ญ‰ๅœบๆ™ฏใ€‚'),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅ†…")]),t("a",{href:"https://www.baidu.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://www.baidu.com/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"็™พๅบฆ AI ๆœ็ดข")]),t("p",{class:"desc"},"็™พๅบฆๅœจไผ ็ปŸๆœ็ดขๅŸบ็ก€ไธŠๆŽฅๅ…ฅๆ–‡ๅฟƒๅคงๆจกๅž‹๏ผŒๆไพ› AI ็”Ÿๆˆๆ‘˜่ฆ็ญ”ๆกˆ๏ผŒๅŒๆ—ถไฟ็•™ๅŽŸๆœ‰ๆœ็ดข็ป“ๆžœๅ…œๅบ•๏ผŒไธŽ็™พๅบฆๅœฐๅ›พใ€็™พๅบฆ็™พ็ง‘ใ€็™พๅบฆๆ–‡ๅบ“ๆทฑๅบฆ่”ๅŠจ๏ผŒๆ˜ฏๅ›ฝๅ†…ไบ’่”็ฝ‘่ต„ๆบ่ฆ†็›–ๆœ€ๅนฟ็š„ AI ๆœ็ดขๅ…ฅๅฃ๏ผŒ้€‚ๅˆไธญๆ–‡ๆ—ฅๅธธๆœ็ดข้œ€ๆฑ‚ใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅ†…")]),t("a",{href:"https://ai.quark.cn/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://quark.sm.cn/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"ๅคธๅ…‹ AI ๆœ็ดข")]),t("p",{class:"desc"},"้˜ฟ้‡Œๆ——ไธ‹ๅคธๅ…‹ๆต่งˆๅ™จๅ†…็ฝฎ็š„ AI ๆœ็ดข๏ผŒ่žๅˆ้€šไน‰ๅƒ้—ฎๅคงๆจกๅž‹๏ผŒๆ”ฏๆŒ็›ดๆŽฅ้—ฎ็ญ”ใ€ๆ–‡ไปถ่งฃๆžใ€ๅ›พ็‰‡่ฏ†ๅˆซๅ’Œ็ฝ‘็›˜่ต„ๆบๆฃ€็ดข๏ผ›็งปๅŠจ็ซฏไฝ“้ชŒๆต็•…๏ผŒๆ˜ฏๅ›ฝๅ†…ๆ—ฅๅธธไฝฟ็”จๅœบๆ™ฏไธ‹็ปผๅˆไฝ“้ชŒ่พƒๅฅฝ็š„ AI ๆœ็ดข Appใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅ†…")])])],-1),e("",2)])])}const h=s(i,[["render",d]]);export{p as __pageData,h as default}; diff --git "a/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_90.\350\265\204\346\272\220\344\270\216\345\267\245\345\205\267\346\216\250\350\215\220_11. LLM API \345\271\263\345\217\260\346\216\250\350\215\220\344\270\216\351\200\211\345\236\213\346\214\207\345\215\227.md.Pr48zsHZ.js" "b/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_90.\350\265\204\346\272\220\344\270\216\345\267\245\345\205\267\346\216\250\350\215\220_11. LLM API \345\271\263\345\217\260\346\216\250\350\215\220\344\270\216\351\200\211\345\236\213\346\214\207\345\215\227.md.qaanG5K2.js" similarity index 99% rename from "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_90.\350\265\204\346\272\220\344\270\216\345\267\245\345\205\267\346\216\250\350\215\220_11. LLM API \345\271\263\345\217\260\346\216\250\350\215\220\344\270\216\351\200\211\345\236\213\346\214\207\345\215\227.md.Pr48zsHZ.js" rename to "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_90.\350\265\204\346\272\220\344\270\216\345\267\245\345\205\267\346\216\250\350\215\220_11. LLM API \345\271\263\345\217\260\346\216\250\350\215\220\344\270\216\351\200\211\345\236\213\346\214\207\345\215\227.md.qaanG5K2.js" index abb7fb08..be00ff2f 100644 --- "a/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_90.\350\265\204\346\272\220\344\270\216\345\267\245\345\205\267\346\216\250\350\215\220_11. LLM API \345\271\263\345\217\260\346\216\250\350\215\220\344\270\216\351\200\211\345\236\213\346\214\207\345\215\227.md.Pr48zsHZ.js" +++ "b/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_90.\350\265\204\346\272\220\344\270\216\345\267\245\345\205\267\346\216\250\350\215\220_11. LLM API \345\271\263\345\217\260\346\216\250\350\215\220\344\270\216\351\200\211\345\236\213\346\214\207\345\215\227.md.qaanG5K2.js" @@ -1 +1 @@ -import{_ as s,g as l,h as n,U as e,i as t}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const m=JSON.parse('{"title":"LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆˆช่‡ณ 2026 ๅนด๏ผŒLLM API ๆœๅŠกๅทฒๅฝขๆˆ\\"ๅฎ˜ๆ–น็›ด่ฟž + ็ฌฌไธ‰ๆ–น่šๅˆ\\"็š„ๅŒ่ฝจๆ ผๅฑ€๏ผŒๆจกๅž‹่ƒฝๅŠ›ใ€ๅฎšไปทใ€ๅˆ่ง„ๆ€งไธŽๆŽฅๅ…ฅไพฟๅˆฉๆ€งๅทฎๅผ‚ๆ˜พ่‘—ใ€‚ๆœฌๆ–‡ไปŽ้€‰ๅž‹ๅ‰ๆ้—ฎๅ‡บๅ‘๏ผŒ็ณป็ปŸๆขณ็†ๅ›ฝ้™…ไธŽๅ›ฝๅ†…ไธปๆตๅฎ˜ๆ–น API ๅนณๅฐ๏ผŒไปฅๅŠ OpenRouterใ€็ก…ๅŸบๆตๅŠจ็ญ‰็ฌฌไธ‰ๆ–น่šๅˆๅนณๅฐ็š„ๆ ธๅฟƒ็‰น็‚น๏ผŒๅนถๆไพ›ๅŸบไบŽๅœบๆ™ฏ็š„ๅ†ณ็ญ–ๆก†ๆžถ๏ผŒๅธฎๅŠฉๅผ€ๅ‘่€…ๅ’Œไบงๅ“ๅ›ข้˜Ÿๅฟซ้€Ÿ้”ๅฎšๆœ€้€‚ๅˆ่‡ชๅทฑ็š„ๆ–นๆกˆใ€‚","frontmatter":{"date":"2026-01-06T15:58:53.000Z","title":"LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆˆช่‡ณ 2026 ๅนด๏ผŒLLM API ๆœๅŠกๅทฒๅฝขๆˆ\\"ๅฎ˜ๆ–น็›ด่ฟž + ็ฌฌไธ‰ๆ–น่šๅˆ\\"็š„ๅŒ่ฝจๆ ผๅฑ€๏ผŒๆจกๅž‹่ƒฝๅŠ›ใ€ๅฎšไปทใ€ๅˆ่ง„ๆ€งไธŽๆŽฅๅ…ฅไพฟๅˆฉๆ€งๅทฎๅผ‚ๆ˜พ่‘—ใ€‚ๆœฌๆ–‡ไปŽ้€‰ๅž‹ๅ‰ๆ้—ฎๅ‡บๅ‘๏ผŒ็ณป็ปŸๆขณ็†ๅ›ฝ้™…ไธŽๅ›ฝๅ†…ไธปๆตๅฎ˜ๆ–น API ๅนณๅฐ๏ผŒไปฅๅŠ OpenRouterใ€็ก…ๅŸบๆตๅŠจ็ญ‰็ฌฌไธ‰ๆ–น่šๅˆๅนณๅฐ็š„ๆ ธๅฟƒ็‰น็‚น๏ผŒๅนถๆไพ›ๅŸบไบŽๅœบๆ™ฏ็š„ๅ†ณ็ญ–ๆก†ๆžถ๏ผŒๅธฎๅŠฉๅผ€ๅ‘่€…ๅ’Œไบงๅ“ๅ›ข้˜Ÿๅฟซ้€Ÿ้”ๅฎšๆœ€้€‚ๅˆ่‡ชๅทฑ็š„ๆ–นๆกˆใ€‚","permalink":"/ai-learning/llm-api-resources","categories":["่ต„ๆบๆŽจ่"],"tags":["่ต„ๆบๆŽจ่","AI","LLM API"]},"headers":[],"relativePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/11. LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—.md","filePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/11. LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—.md"}'),i={name:"20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/11. LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—.md"};function d(o,a,r,c,g,p){return n(),l("div",null,[...a[0]||(a[0]=[e('

LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ— โ€‹

ๆ‘˜่ฆๆ€ป็ป“๏ผšๆˆช่‡ณ 2026 ๅนด๏ผŒLLM API ๆœๅŠกๅทฒๅฝขๆˆ"ๅฎ˜ๆ–น็›ด่ฟž + ็ฌฌไธ‰ๆ–น่šๅˆ"็š„ๅŒ่ฝจๆ ผๅฑ€๏ผŒๆจกๅž‹่ƒฝๅŠ›ใ€ๅฎšไปทใ€ๅˆ่ง„ๆ€งไธŽๆŽฅๅ…ฅไพฟๅˆฉๆ€งๅทฎๅผ‚ๆ˜พ่‘—ใ€‚ๆœฌๆ–‡ไปŽ้€‰ๅž‹ๅ‰ๆ้—ฎๅ‡บๅ‘๏ผŒ็ณป็ปŸๆขณ็†ๅ›ฝ้™…ไธŽๅ›ฝๅ†…ไธปๆตๅฎ˜ๆ–น API ๅนณๅฐ๏ผŒไปฅๅŠ OpenRouterใ€็ก…ๅŸบๆตๅŠจ็ญ‰็ฌฌไธ‰ๆ–น่šๅˆๅนณๅฐ็š„ๆ ธๅฟƒ็‰น็‚น๏ผŒๅนถๆไพ›ๅŸบไบŽๅœบๆ™ฏ็š„ๅ†ณ็ญ–ๆก†ๆžถ๏ผŒๅธฎๅŠฉๅผ€ๅ‘่€…ๅ’Œไบงๅ“ๅ›ข้˜Ÿๅฟซ้€Ÿ้”ๅฎšๆœ€้€‚ๅˆ่‡ชๅทฑ็š„ๆ–นๆกˆใ€‚

1. ้€‰ๆจกๅž‹ๅ‰๏ผŒๅ…ˆๆƒณๆธ…ๆฅš่ฟ™ๅ‡ ไปถไบ‹ โ€‹

ๅœจๅฏนๆฏ”ๅ…ทไฝ“ๅนณๅฐไน‹ๅ‰๏ผŒๅฏไปŽไปฅไธ‹ๅ››ไธช็ปดๅบฆๆขณ็†่‡ช่บซ่ฏ‰ๆฑ‚๏ผŒ้ฟๅ…"็œผ่Šฑ็ผญไนฑๅŽ้šไพฟ้€‰ไธ€ไธช"๏ผš

็ปดๅบฆๅ…ณ้”ฎ้—ฎ้ข˜ๅฝฑๅ“ๅ†ณ็ญ–
ไปปๅŠก็ฑปๅž‹ๆ˜ฏ้€š็”จๅฏน่ฏใ€ไปฃ็ ็”Ÿๆˆใ€้•ฟๆ–‡ๆกฃๅˆ†ๆž๏ผŒ่ฟ˜ๆ˜ฏๅคšๆจกๆ€็†่งฃ๏ผŸไธๅŒๆจกๅž‹ๅœจๅž‚็›ด่ƒฝๅŠ›ไธŠๅทฎ่ทๆ‚ฌๆฎŠ
ๆˆๆœฌ้ข„็ฎ—ๆฏๆœˆ่ฐƒ็”จ้‡็บง๏ผŸ่ƒฝๅฆๆŽฅๅ—ๆตทๅค–็ป“็ฎ—ไธŽๆฑ‡็އ้ฃŽ้™ฉ๏ผŸๅ›ฝไบงๆจกๅž‹ Token ไปทๆ ผ้€šๅธธไฝŽ 3๏ฝž10 ๅ€
ๅˆ่ง„ไธŽ้ƒจ็ฝฒๆ•ฐๆฎ่ƒฝๅฆๅ‡บๅขƒ๏ผŸ่ƒฝๅฆไฝฟ็”จๆตทๅค–ๆœๅŠก๏ผŸๆ˜ฏๅฆ้œ€่ฆ็งๆœ‰ๅŒ–้ƒจ็ฝฒ๏ผŸๆถ‰ๅŠๆ”ฟๅŠก/้‡‘่ž/ๅŒป็–—ๅœบๆ™ฏๅฟ…้กป่€ƒ่™‘
็ฝ‘็ปœ็Žฏๅขƒๅผ€ๅ‘/้ƒจ็ฝฒ็Žฏๅขƒ่ƒฝๅฆ็จณๅฎš่ฎฟ้—ฎๆตทๅค– API๏ผŸๅ†ณๅฎšๆ˜ฏๅฆ้œ€่ฆไธญ่ฝฌๆˆ–ๅ›ฝๅ†…่šๅˆๅนณๅฐ

ไธ‰็ฑปๆจกๅž‹ๆœๅŠก็š„ๆ ธๅฟƒๅทฎๅผ‚๏ผš

  • ๅ›ฝ้™…้กถๅฐ–ๆจกๅž‹๏ผˆClaude / ChatGPT / Gemini๏ผ‰๏ผš็ปผๅˆ่ƒฝๅŠ›ๆœ€ๅผบ๏ผŒ่‹ฑๆ–‡ๅค„็†ใ€ไปฃ็ ็”Ÿๆˆใ€ๅคๆ‚ๆŽจ็†ๅ‡ๅฑ…ๅ‰ๅˆ—๏ผŒๅคšๆจกๆ€ๆ”ฏๆŒๅฎŒๅ–„๏ผŒไฝ†ไปทๆ ผ่พƒ้ซ˜๏ผŒๅ›ฝๅ†…่ฎฟ้—ฎ้œ€่ฆ็‰นๆฎŠ็ฝ‘็ปœ๏ผ›
  • ๅ›ฝไบงไผ˜็ง€ๆจกๅž‹๏ผˆDeepSeek / Kimi / GLM / MiniMax / Doubao ็ญ‰๏ผ‰๏ผšไธญๆ–‡็†่งฃไธŽๅˆ่ง„ๆ€งไผ˜ๅŠฟ็ชๅ‡บ๏ผŒToken ไปทๆ ผๆžๅ…ท็ซžไบ‰ๅŠ›๏ผŒ้ƒจๅˆ†ๆจกๅž‹ๆŽจ็†่ƒฝๅŠ›ๅทฒ้€ผ่ฟ‘ๅ›ฝ้™…้กถๅฐ–๏ผŒๆ˜ฏๅ›ฝๅ†…ๅผ€ๅ‘่€…็š„ๆ€งไปทๆฏ”้ฆ–้€‰๏ผ›
  • ๅผ€ๆบๆจกๅž‹๏ผˆQwen / LLaMA / Mixtral ็ญ‰๏ผ‰๏ผšๆ”ฏๆŒๆœฌๅœฐๆˆ–็งๆœ‰ๅŒ–้ƒจ็ฝฒ๏ผŒๆ— ๆ•ฐๆฎๅ‡บๅขƒ้ฃŽ้™ฉ๏ผŒๅฏ้€š่ฟ‡ Ollama / vLLM / ็ก…ๅŸบๆตๅŠจ็ญ‰้ƒจ็ฝฒๆˆ–่ฐƒ็”จ๏ผŒ้€‚ๅˆๅฏนๆ•ฐๆฎ้š็งๆˆ–ๆˆๆœฌๆžๅบฆๆ•ๆ„Ÿ็š„ๅœบๆ™ฏใ€‚

2. ๅฎ˜ๆ–น API ๅนณๅฐ โ€‹

ๅฎ˜ๆ–นๅนณๅฐๅณๆจกๅž‹็ ”ๅ‘ๆ–น็›ดๆŽฅๅผ€ๆ”พ็š„ API ๆœๅŠก๏ผŒไผ˜ๅŠฟๆ˜ฏๆœ€ๆ–ฐๆจกๅž‹็ฌฌไธ€ๆ—ถ้—ดๅฏ็”จใ€ๆ–‡ๆกฃๆƒๅจใ€SLA ๆœ‰ไฟ้šœ๏ผŒ็ผบ็‚นๆ˜ฏ้œ€่ฆ้€ไธ€ๆณจๅ†Œ่ดฆๅทใ€็ฎก็†ๅคšไธช Keyใ€‚

2.1 ๅ›ฝ้™…้กถๅฐ–ๆจกๅž‹ โ€‹

',11),t("div",{class:"container nav-card-container"},[t("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[t("a",{href:"https://platform.openai.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://openai.com/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"OpenAI Platform")]),t("p",{class:"desc"},"OpenAI ๅฎ˜ๆ–น API ๅนณๅฐ๏ผŒๆไพ› GPT-4oใ€o1ใ€o3ใ€GPT-3.5 ็ญ‰ๅ…จ็ณปๅˆ—ๆจกๅž‹่ฐƒ็”จใ€‚GPT-4o ๅŽŸ็”Ÿๆ”ฏๆŒๆ–‡ๆœฌ/ๅ›พๅƒ/้Ÿณ้ข‘/่ง†้ข‘ๅคšๆจกๆ€่พ“ๅ…ฅ๏ผŒo1/o3 ็ณปๅˆ—ๅ…ทๅค‡ๆทฑๅบฆๆŽจ็†้“พ่ƒฝๅŠ›๏ผŒ้€‚ๅˆๅ†™ไฝœใ€ไปฃ็ ็”Ÿๆˆใ€ๅคๆ‚ๆŽจ็†็ญ‰้ซ˜่ฆๆฑ‚ๅœบๆ™ฏใ€‚ๆ”ฏๆŒ Function Callingใ€ๆตๅผ่พ“ๅ‡บใ€Fine-tuning๏ผŒๆ–‡ๆกฃๅ’Œ็”Ÿๆ€ๆœ€ไธบๆˆ็†Ÿใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅค–")]),t("a",{href:"https://www.anthropic.com/api",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://claude.ai/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Anthropic Claude API")]),t("p",{class:"desc"},"Anthropic ๅฎ˜ๆ–น API๏ผŒๆไพ› Claude 4.6 Sonnet / Haiku / Opus ็ญ‰ๅคš็‰ˆๆœฌๆจกๅž‹๏ผŒ่ถ…้•ฟไธŠไธ‹ๆ–‡ไธš็•Œ้ข†ๅ…ˆ๏ผŒๆŒ‡ไปค้ตๅพช็ฒพๅ‡†ใ€ๅนป่ง‰็އไฝŽใ€่พ“ๅ‡บ็ป“ๆž„ๆธ…ๆ™ฐ๏ผŒๅœจ้•ฟๆ–‡ๆกฃๅˆ†ๆžใ€ๅคๆ‚ไปฃ็ ๅฎกๆŸฅไธŽ AI Agent ๅผ€ๅ‘ๅœบๆ™ฏไธญ่กจ็Žฐๅฐคไธบ็ชๅ‡บใ€‚Haiku ็‰ˆไปทๆ ผ่พƒไฝŽ๏ผŒ้€‚ๅˆ้ซ˜ๅนถๅ‘่ฝป้‡ๅœบๆ™ฏใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅค–")]),t("a",{href:"https://ai.google.dev/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://www.gstatic.com/images/branding/searchlogo/ico/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Gemini API")]),t("p",{class:"desc"},"Google ๅฎ˜ๆ–น Gemini ๆจกๅž‹ API ๅนณๅฐ๏ผŒๆ”ฏๆŒ Gemini 3.0 Pro ไธŽ Gemini 3.0 Flash๏ผˆ้ซ˜้€ŸไฝŽๆˆๆœฌ๏ผ‰็ญ‰็‰ˆๆœฌ๏ผŒๅŽŸ็”Ÿๅคšๆจกๆ€๏ผˆๆ–‡ๆœฌ/ๅ›พ็‰‡/้Ÿณ้ข‘/่ง†้ข‘/ไปฃ็ ๏ผ‰๏ผŒๅ…่ดนๅฅ—้ค้ขๅบฆๆ…ทๆ…จ๏ผŒไธŽ Google Workspaceใ€Vertex AI ๆทฑๅบฆ้›†ๆˆ๏ผŒ้€‚ๅˆ็ ”็ฉถ่พ…ๅŠฉไธŽๅคšๆจกๆ€ๅบ”็”จๅผ€ๅ‘ใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅค–")])])],-1),e('
ๆจกๅž‹ / ๅนณๅฐๆ ธๅฟƒไผ˜ๅŠฟๆœ€้€‚ๅœบๆ™ฏไปทๆ ผๆกฃไฝ
OpenAI GPT็ปผๅˆ่ƒฝๅŠ›ๆœ€ๅ…จ้ข๏ผ›ๅŽŸ็”Ÿๅคšๆจกๆ€๏ผˆๅ›พ/ๆ–‡/้Ÿณ/่ง†้ข‘๏ผ‰๏ผ›o ็ณปๅˆ—ๆœ‰ๆทฑๅบฆๆŽจ็†้“พๅ†™ไฝœไธŽๅ†…ๅฎนๅˆ›ไฝœ ยท ไปฃ็ ็”ŸๆˆไธŽ่ฐƒ่ฏ• ยท ๅคšๆจกๆ€ๅˆ†ๆž ยท ๅคๆ‚ๆŽจ็†้ซ˜
Anthropic ClaudeๆŒ‡ไปค้ตๅพช็ฒพๅ‡†๏ผ›่พ“ๅ‡บ็ป“ๆž„ๆธ…ๆ™ฐ๏ผ›้•ฟๆ–‡ๆกฃ็†่งฃๆœ€ๅผบ๏ผ›ไปฃ็ ไธŽๆ–‡ๆกฃ่ดจ้‡้ซ˜๏ผ›ๅนป่ง‰็އไฝŽ้•ฟๆ–‡ๆกฃ็ฒพ่ฏป/ๆ‘˜่ฆ ยท ๅคๆ‚ไปปๅŠก่ง„ๅˆ’ ยท ้ซ˜่ดจ้‡ไปฃ็ ๅฎกๆŸฅ ยท Agent ๆŽจ็†ๅŽ็ซฏ้ซ˜๏ผˆHaiku ็‰ˆ่พƒไฝŽ๏ผ‰
Google Gemini่ถ…้•ฟไธŠไธ‹ๆ–‡ใ€ๅŽŸ็”Ÿๅคšๆจกๆ€๏ผ›ไธŽ Google Search / Workspace ๆทฑๅบฆๆ•ดๅˆ๏ผ›ๅ…่ดน้ขๅบฆๆ…ทๆ…จ่ถ…้•ฟ่ต„ๆ–™็†่งฃ ยท ่ง†้ข‘/้Ÿณ้ข‘ๅˆ†ๆž ยท ็ ”็ฉถ่พ…ๅŠฉ ยท Google ็”Ÿๆ€้›†ๆˆไธญ
ๅ…่ดน้ขๅบฆๅคง

2.2 ๅ›ฝๅ†…ไผ˜็ง€ๆจกๅž‹ โ€‹

',2),t("div",{class:"container nav-card-container"},[t("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[t("a",{href:"https://platform.deepseek.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://www.deepseek.com/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"DeepSeek API")]),t("p",{class:"desc"},"DeepSeek ๅฎ˜ๆ–น API ๅนณๅฐ๏ผŒๆไพ› DeepSeek-V3๏ผˆ้€š็”จๅฏน่ฏ๏ผ‰ไธŽ DeepSeek-R1๏ผˆๆทฑๅบฆๆŽจ็†๏ผ‰็ญ‰ๆจกๅž‹ใ€‚R1 ็š„ๆ•ฐๅญฆใ€ไปฃ็ ไธŽ้€ป่พ‘ๆŽจ็†่ƒฝๅŠ›ๅทฒ้€ผ่ฟ‘ OpenAI o1๏ผŒไธ”ๆจกๅž‹ๅฎŒๅ…จๅผ€ๆบๆ”ฏๆŒๆœฌๅœฐ้ƒจ็ฝฒใ€‚API ๅฎšไปทไธšๅ†…ๆžไฝŽ๏ผŒๆ˜ฏๆ€งไปทๆฏ”ๆœ€็ชๅ‡บ็š„ๅ›ฝไบงๆจกๅž‹๏ผŒๅฐคๅ…ถๆŽจ่ไปฃ็ ็”ŸๆˆไธŽๆ•ฐๅญฆๆŽจ็†ๅœบๆ™ฏใ€‚"),t("span",{class:"VPBadge tip badge"},"ๆžไฝŽไปท")]),t("a",{href:"https://console.volcengine.com/ark",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://lf-flow-web-cdn.doubao.com/obj/flow-doubao/doubao/chat/favicon.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Doubao API")]),t("p",{class:"desc"},"ๅญ—่Š‚่ทณๅŠจๆ——ไธ‹่ฑ†ๅŒ…ๅคงๆจกๅž‹ๅผ€ๆ”พๅนณๅฐ๏ผŒๆไพ› Doubao-pro / lite ็ญ‰็ณปๅˆ—ๆจกๅž‹ API๏ผŒๅ“ๅบ”้€Ÿๅบฆไธšๅ†…้ข†ๅ…ˆ๏ผŒAPI ๅฎšไปทๆžไฝŽ๏ผˆToken ๅ•ไปทไธบๅ›ฝ้™…้กถๅฐ–ๆจกๅž‹็š„ 1/10 ไปฅไธ‹๏ผ‰๏ผŒๆ–‡ๆกฃๅฎŒๅ–„๏ผŒๆ”ฏๆŒๅ…่ดน้ขๅบฆไธŽไผไธšๆŽฅๅ…ฅ๏ผŒ้€‚ๅˆ้ซ˜ๅนถๅ‘่ฝป้‡ๅฏน่ฏไธŽๅ†…ๅฎนๆ‘˜่ฆๅœบๆ™ฏใ€‚"),t("span",{class:"VPBadge tip badge"},"ๆžไฝŽไปท")]),t("a",{href:"https://platform.moonshot.cn/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://kimi.moonshot.cn/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Kimi API")]),t("p",{class:"desc"},"ๆœˆไน‹ๆš—้ขๅฎ˜ๆ–น API ๅนณๅฐ๏ผŒไธปๆ‰“่ถ…้•ฟไธญๆ–‡ไธŠไธ‹ๆ–‡๏ผˆๆœ€้ซ˜ 128K๏ฝž1M Token๏ผ‰๏ผŒๆ”ฏๆŒ PDF / Word / ไปฃ็ ็ญ‰ๅคšๆ ผๅผๆ–‡ไปถ่งฃๆžไธŽๆทฑๅบฆ็ ”็ฉถๆจกๅผ๏ผŒไธญๆ–‡้•ฟๆ–‡ๆกฃ็†่งฃ่ƒฝๅŠ›ๅ›ฝๅ†…้ข†ๅ…ˆใ€‚้€‚ๅˆๆณ•ๅพ‹ๅˆๅŒๅˆ†ๆžใ€ๅญฆๆœฏ่ฎบๆ–‡็ฒพ่ฏปใ€ๅคšๆ–‡ไปถๅฏนๆฏ”ๆ‘˜่ฆ็ญ‰้‡ๅบฆ้˜…่ฏปๅœบๆ™ฏใ€‚"),t("span",{class:"VPBadge tip badge"},"้•ฟไธŠไธ‹ๆ–‡")]),t("a",{href:"https://www.minimaxi.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://www.minimaxi.com/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"miniMax API")]),t("p",{class:"desc"},"miniMax ๅฎ˜ๆ–นๅผ€ๆ”พๅนณๅฐ๏ผŒๆไพ› MiniMax-Text๏ผˆ100 ไธ‡ Token ้•ฟไธŠไธ‹ๆ–‡๏ผ‰ใ€่ฏญ้Ÿณๅˆๆˆ๏ผˆTTS๏ผ‰ใ€Hailuo AI ่ง†้ข‘็”Ÿๆˆ็ญ‰ๅคšๆจกๆ€ APIใ€‚ๆ–‡ๆœฌ/่ฏญ้Ÿณ/่ง†้ข‘่ƒฝๅŠ›ๅ‡ๅค„ไบŽๅ›ฝๅ†…ๅ‰ๅˆ—๏ผŒ้€‚ๅˆ้œ€่ฆๅคšๆจกๆ€่พ“ๅ‡บใ€่ฏญ้Ÿณๅ…‹้š†ไธŽ AI ่ง†้ข‘็”Ÿๆˆ็š„ๅผ€ๅ‘่€…ใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅคšๆจกๆ€")]),t("a",{href:"https://bailian.console.aliyun.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://img.alicdn.com/imgextra/i4/O1CN01uar8u91DHWktnF2fl_!!6000000000191-2-tps-110-110.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Qwen API")]),t("p",{class:"desc"},"้˜ฟ้‡Œไบ‘ Qwen ็ณปๅˆ—ๆจกๅž‹ๅฎ˜ๆ–น API ๅนณๅฐ๏ผˆ็™พ็‚ผ๏ผ‰๏ผŒๆถต็›– Qwen-Long๏ผˆ้•ฟไธŠไธ‹ๆ–‡๏ผ‰ใ€Qwen-Coder๏ผˆไปฃ็ ๏ผ‰ใ€Qwen-Math๏ผˆๆ•ฐๅญฆ๏ผ‰ใ€Qwen-VL๏ผˆๅคšๆจกๆ€่ง†่ง‰๏ผ‰็ญ‰ไธ“้กนๅญๆจกๅž‹๏ผŒไธŽ้˜ฟ้‡Œไบ‘ใ€้’‰้’‰็”Ÿๆ€ๆทฑๅบฆ้›†ๆˆ๏ผŒ้ƒจๅˆ†ๆจกๅž‹ๅผ€ๆบ๏ผŒๆ–‡ๆกฃๅฎŒๅ–„๏ผŒๆ–ฐ็”จๆˆทๆœ‰่พƒๅคงๅ…่ดน Token ้ขๅบฆใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅ†…")]),t("a",{href:"https://open.bigmodel.cn/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://open.bigmodel.cn/img/icons/favicon-32x32.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"ๆ™บ่ฐฑ AI (GLM)")]),t("p",{class:"desc"},"ๆ™บ่ฐฑ AI ๅฎ˜ๆ–นๅผ€ๆ”พๅนณๅฐ๏ผŒๆไพ› GLM-4 / GLM-4V๏ผˆๅคšๆจกๆ€๏ผ‰/ CodeGeeX๏ผˆไปฃ็ ๏ผ‰็ญ‰็ณปๅˆ—ๆจกๅž‹ API๏ผŒๆ•ฐๅญฆไธŽไปฃ็ ๆŽจ็†่ƒฝๅŠ›็ชๅ‡บ๏ผŒFunction Call ไธŽๅทฅๅ…ท่ฐƒ็”จๅฎŒๅ–„๏ผŒไผไธš RAG / Agent ็”Ÿๆ€ๆˆ็†Ÿ๏ผŒ้€‚ๅˆๅผ€ๅ‘็Ÿฅ่ฏ†ๅบ“้—ฎ็ญ”ใ€Agent ๅทฅๅ…ท้“พไธŽๅ›พๆ–‡ๅคšๆจกๆ€็†่งฃๅบ”็”จใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅ†…")])])],-1),e('
ๆจกๅž‹ / ๅนณๅฐๆ ธๅฟƒไผ˜ๅŠฟๆœ€้€‚ๅœบๆ™ฏไปทๆ ผๆกฃไฝ
DeepSeekR1 ๆŽจ็†่ƒฝๅŠ›้€ผ่ฟ‘ o1๏ผ›ๆ•ฐๅญฆ/ไปฃ็ /้€ป่พ‘้กถๅฐ–๏ผ›ๅฎŒๅ…จๅผ€ๆบๅฏๆœฌๅœฐ้ƒจ็ฝฒ๏ผ›API ไปทๆ ผๆžไฝŽไปฃ็ ็”ŸๆˆไธŽ่ฐƒ่ฏ• ยท ๆ•ฐๅญฆ/้€ป่พ‘ๆŽจ็† ยท ๅญฆๆœฏ็ ”็ฉถ ยท ็งๆœ‰ๅŒ–้ƒจ็ฝฒๆžไฝŽ โญ
Moonshot (Kimi)ไธญๆ–‡้•ฟไธŠไธ‹ๆ–‡ๆœ€ๅผบ๏ผ›ๅคšๆ ผๅผๆ–‡ไปถ่งฃๆž๏ผˆPDF/Word/ไปฃ็ ๏ผ‰๏ผ›ๅ†…็ฝฎๆทฑๅบฆ็ ”็ฉถๆจกๅผ้•ฟๆ–‡ๆกฃ้˜…่ฏปไธŽ็ป“ๆž„ๅŒ–ๆ็‚ผ ยท ๆณ•ๅพ‹/ๅˆๅŒๅˆ†ๆž ยท ๅคšๆ–‡ไปถๅฏนๆฏ”ไฝŽ
miniMax100 ไธ‡ Token ้•ฟไธŠไธ‹ๆ–‡๏ผ›ๆ–‡ๆœฌ/่ฏญ้Ÿณ/่ง†้ข‘ๅคšๆจกๆ€๏ผ›่ฏญ้ŸณๅˆๆˆไธŽ่ง†้ข‘็”Ÿๆˆ่ƒฝๅŠ›ๅผบ่ถ…้•ฟๆ–‡ๆกฃ็†่งฃ ยท AI ่ง†้ข‘/่ฏญ้Ÿณ็”Ÿๆˆ ยท ่ง’่‰ฒๆ‰ฎๆผ”/AI ้™ชไผดไฝŽ
่ฑ†ๅŒ… (Doubao)ๅ“ๅบ”้€Ÿๅบฆๆžๅฟซ๏ผ›API ไปทๆ ผๆœ€ไฝŽ๏ผ›ไธŽๅญ—่Š‚่ทณๅŠจ็”Ÿๆ€ๆ‰“้€š้ซ˜ๅนถๅ‘่ฝป้‡ๅฏน่ฏ ยท ๅ†…ๅฎนๆ‘˜่ฆ ยท ็Ÿญ่ง†้ข‘ๅ†…ๅฎน็ญ–ๅˆ’ๆžไฝŽ โญ
้€šไน‰ๅƒ้—ฎ (Qwen)ๅญๆจกๅž‹ไธฐๅฏŒ๏ผˆCoder/Math/VL๏ผ‰๏ผ›้˜ฟ้‡Œไบ‘็”Ÿๆ€้›†ๆˆ๏ผ›้ƒจๅˆ†ๅผ€ๆบไธญๆ–‡ๅ†…ๅฎนๅˆ›ไฝœ ยท ไปฃ็ /ๆ•ฐๅญฆ ยท ้’‰้’‰/้˜ฟ้‡Œไบ‘ๅœบๆ™ฏไฝŽ
ๆ™บ่ฐฑ GLMๆ•ฐๅญฆไธŽไปฃ็ ๆŽจ็†็ชๅ‡บ๏ผ›Function Call ๅทฅๅ…ท่ฐƒ็”จๅฎŒๅ–„๏ผ›ไผไธš RAG ็”Ÿๆ€ๆˆ็†Ÿไผไธš็Ÿฅ่ฏ†ๅบ“้—ฎ็ญ” ยท Agent ๅทฅๅ…ท้“พ ยท ๅ›พๆ–‡ๅคšๆจกๆ€็†่งฃไฝŽ

3. ็ฌฌไธ‰ๆ–น่šๅˆๅนณๅฐ โ€‹

็ฌฌไธ‰ๆ–นๅนณๅฐๅฐ†ๅคšๅฎถไธปๆตๆจกๅž‹่šๅˆไธบ็ปŸไธ€ API ๅ…ฅๅฃ๏ผŒๅผ€ๅ‘่€…ๆ— ้œ€้€ไธ€็”ณ่ฏทๅ„ๅŽ‚ๅ•† Key๏ผŒๅฏไธ€็ซ™่ฎฟ้—ฎ GPTใ€Claudeใ€Geminiใ€ MininMaxใ€DeepSeek ็ญ‰ๆ•ฐ็™พไธชๆจกๅž‹๏ผŒๆŒ‰้‡่ฎก่ดนใ€ๅ…ผๅฎน OpenAI SDK๏ผŒๅคงๅน…้™ไฝŽๆŽฅๅ…ฅไธŽๅˆ‡ๆขๆˆๆœฌใ€‚ๅ›ฝ้™…ๅผ€ๅ‘่€…้ฆ–้€‰ OpenRouter๏ผŒๅ›ฝๅ†…ๅผ€ๅ‘่€…้ฆ–้€‰็ก…ๅŸบๆตๅŠจใ€‚

',3),t("div",{class:"container nav-card-container"},[t("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[t("a",{href:"https://openrouter.ai/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://openrouter.ai/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"OpenRouter")]),t("p",{class:"desc"},"็›ฎๅ‰ๆœ€ๅ—ๅผ€ๅ‘่€…ๆฌข่ฟŽ็š„ LLM API ่šๅˆๅนณๅฐ๏ผŒ็ปŸไธ€ OpenAI ๅ…ผๅฎนๆŽฅๅฃๅฏ่ทฏ็”ฑ่‡ณ 300+ ๆจกๅž‹๏ผˆGPT-4o / Claude 3.5 / Gemini / LLaMA / DeepSeek ็ญ‰๏ผ‰๏ผŒๆ”ฏๆŒๆŒ‰้‡ไป˜่ดนใ€่‡ชๅŠจ้™็บง Fallbackใ€ๆตๅผ่พ“ๅ‡บไธŽ Function Call๏ผŒๆ˜ฏๅˆ‡ๆข/ๅฏนๆฏ”ๅคšๅฎถๆจกๅž‹็š„้ฆ–้€‰ใ€‚ๆ— ้œ€็ฎก็†ๅคšไธช Key๏ผŒไธ€ไธช่ดฆๅท่งฃๅ†ณๆ‰€ๆœ‰ๆจกๅž‹ๆŽฅๅ…ฅใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅผบ็ƒˆๆŽจ่")]),t("a",{href:"https://cloud.siliconflow.cn/me/models",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("span",{class:"name"},"SiliconFlow")]),t("p",{class:"desc"},"ๅ›ฝๅ†…ๆœ€ๅ—ๅผ€ๅ‘่€…ๆฌข่ฟŽ็š„ LLM API ่šๅˆไธŽๆŽจ็†ๅŠ ้€Ÿๅนณๅฐ๏ผŒๆไพ› DeepSeek / Qwen / GLM / MiniMax ็ญ‰ไธปๆตๆจกๅž‹็š„็ปŸไธ€ API๏ผŒๅ…ผๅฎน OpenAI ๆŽฅๅฃๆ ผๅผ๏ผŒไปทๆ ผไธšๅ†…ๆžไฝŽ๏ผˆ้ƒจๅˆ†ๆจกๅž‹ๅ…่ดน๏ผ‰๏ผŒๅ›ฝๅ†…็›ด่ฟž็จณๅฎš๏ผŒๆณจๅ†Œๅณๅฏๅฟซ้€ŸๆŽฅๅ…ฅ๏ผŒๆ˜ฏๅ›ฝๅ†…ๅผ€ๅ‘่€…ไฝฟ็”จ็ฌฌไธ‰ๆ–น API ็š„้ฆ–้€‰ใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅ†…้ฆ–้€‰")]),t("a",{href:"https://huggingface.co/inference-api",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://huggingface.co/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Hugging Face")]),t("p",{class:"desc"},"ๅ…จ็ƒๆœ€ๅคงๅผ€ๆบ AI ็คพๅŒบ Hugging Face ๆไพ›็š„ๆŽจ็† API๏ผŒๅฏ็›ดๆŽฅ่ฐƒ็”จๅนณๅฐไธŠๆ•ฐๅไธ‡ไธชๅผ€ๆบๆจกๅž‹๏ผˆๆ–‡ๆœฌ/ๅ›พๅƒ/้Ÿณ้ข‘/ๅคšๆจกๆ€๏ผ‰๏ผŒๆ”ฏๆŒ Serverless ๆŒ‰้œ€ๆŽจ็†ไธŽ Dedicated Endpoints ไธ“ๅฑž้ƒจ็ฝฒ๏ผŒๆ˜ฏๅผ€ๆบๆจกๅž‹็”Ÿๆ€็š„ไบ‹ๅฎžๆ ‡ๅ‡†ๅ…ฅๅฃใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅผ€ๆบ็”Ÿๆ€")]),t("a",{href:"https://console.groq.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://groq.com/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Groq")]),t("p",{class:"desc"},"ๅŸบไบŽ่‡ช็ ” LPU๏ผˆLanguage Processing Unit๏ผ‰่Šฏ็‰‡็š„่ถ…้ซ˜้€ŸๆŽจ็†ๅนณๅฐ๏ผŒๅผ€ๆบๆจกๅž‹๏ผˆLLaMA 3 / Mixtral / Gemma / DeepSeek ็ญ‰๏ผ‰ๆŽจ็†้€Ÿๅบฆๅฏ่พพๆ™ฎ้€š GPU ็š„ๆ•ฐๅๅ€๏ผŒๅ…่ดนๅฅ—้คๆ…ทๆ…จ๏ผŒๆŽฅๅฃๅฎŒๅ…จๅ…ผๅฎน OpenAI SDK๏ผŒ้€‚ๅˆๅฏนๅ“ๅบ”ๅปถ่ฟŸๆžๆ•ๆ„Ÿ็š„ๅฎžๆ—ถๅฏน่ฏใ€่ฏญ้ŸณๅŠฉๆ‰‹็ญ‰ๅœบๆ™ฏใ€‚"),t("span",{class:"VPBadge tip badge"},"ๆž้€ŸๆŽจ็†")]),t("a",{href:"https://www.together.ai/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("span",{class:"name"},"Together AI")]),t("p",{class:"desc"},"ไธ“ๆณจๅผ€ๆบๅคงๆจกๅž‹็š„้ซ˜ๆ€ง่ƒฝๆŽจ็†ไธŽๅพฎ่ฐƒๅนณๅฐ๏ผŒๆ”ฏๆŒ LLaMA 3 / Mixtral / Qwen / DBRX ็ญ‰ 100+ ๅผ€ๆบๆจกๅž‹ API ่ฐƒ็”จ๏ผŒๆไพ› Fine-tuning ่ฎญ็ปƒ่ƒฝๅŠ›๏ผŒไปทๆ ผๆžๅ…ท็ซžไบ‰ๅŠ›๏ผŒOpenAI ๅ…ผๅฎนๆŽฅๅฃ๏ผŒ้€‚ๅˆๅผ€ๆบๆจกๅž‹็ ”ๅ‘ไธŽไผไธš็งๆœ‰ๅŒ–ๅพฎ่ฐƒๅœบๆ™ฏใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅผ€ๆบ+ๅพฎ่ฐƒ")]),t("a",{href:"https://replicate.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("span",{class:"name"},"Replicate")]),t("p",{class:"desc"},'ไปฅ"ๆจกๅž‹ๅธ‚ๅœบ"ๅฝขๆ€่ฟ่ฅ็š„ AI API ๅนณๅฐ๏ผŒๆ‰˜็ฎกๆ•ฐๅƒไธชๅผ€ๆบๅ›พๅƒใ€่ฏญ้Ÿณใ€ๆ–‡ๆœฌๆจกๅž‹๏ผˆStable Diffusion / LLaMA / Whisper ็ญ‰๏ผ‰๏ผŒๆฏไธชๆจกๅž‹ๆœ‰็‹ฌ็ซ‹ API ็ซฏ็‚น๏ผŒๆŒ‰ GPU ่ฎก็ฎ—็ง’ๆ•ฐ่ฎก่ดน๏ผŒๆ— ้œ€ๆญๅปบๆŽจ็†ๅŸบ็ก€่ฎพๆ–ฝ๏ผŒ้€‚ๅˆๅฟซ้€Ÿ่ฐƒ็”จๅคšๆจกๆ€ๅผ€ๆบๆจกๅž‹ๅšๅŽŸๅž‹้ชŒ่ฏใ€‚'),t("span",{class:"VPBadge tip badge"},"ๆจกๅž‹ๅธ‚ๅœบ")]),t("a",{href:"https://302.ai/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("span",{class:"name"},"302.AI")]),t("p",{class:"desc"},"ๅ›ฝๅ†…็Ÿฅๅ็š„ AI API ไธญ่ฝฌไธŽ่šๅˆๅนณๅฐ๏ผŒๆ•ดๅˆ OpenAI / Claude / Gemini ็ญ‰ๅ›ฝ้™…ไธปๆตๆจกๅž‹๏ผŒๆไพ›็ปŸไธ€ OpenAI ๅ…ผๅฎน API๏ผŒๆ”ฏๆŒๅ›ฝๅ†…็›ด่ฟžๆ— ้œ€็ง‘ๅญฆไธŠ็ฝ‘๏ผŒๆŒ‰้‡ๅ……ๅ€ผไฝฟ็”จ๏ผŒๅนถ้™„ๅธฆ Web ไฝ“้ชŒ้กต้ข๏ผŒ้€‚ๅˆไธชไบบๅผ€ๅ‘่€…ๅฟซ้€Ÿ่ฐƒ็”จๆตทๅค–ๆจกๅž‹ใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅ†…ไธญ่ฝฌ")]),t("a",{href:"https://api2d.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("span",{class:"name"},"API2D")]),t("p",{class:"desc"},"ไธ“ๆณจ OpenAI ็ณปๅˆ—ๆจกๅž‹ๅ›ฝๅ†…ไธญ่ฝฌ็š„ API ไปฃ็†ๅนณๅฐ๏ผŒๅฎŒๅ…จๅ…ผๅฎน OpenAI SDK๏ผŒๆ”ฏๆŒ GPT / Claude / DALLยทE / Whisper ็ญ‰ๅ…จ็ณปๆจกๅž‹๏ผŒๅ›ฝๅ†…็›ด่ฟž่ฎฟ้—ฎ็จณๅฎš๏ผŒๆŒ‰ Tokens ๆถˆ่€—่ฎก่ดน๏ผŒๆ˜ฏ้œ€่ฆๅœจๅ›ฝๅ†…็จณๅฎšไฝฟ็”จ OpenAI API ็š„ๅผ€ๅ‘่€…็š„ๅธธ็”จ้€‰ๆ‹ฉใ€‚"),t("span",{class:"VPBadge tip badge"},"OpenAI ไธญ่ฝฌ")])])],-1),e('
ๅนณๅฐๆ ธๅฟƒๅฎšไฝ่ฎก่ดนๆ–นๅผๅ›ฝๅ†…ๅฏ็”จ
OpenRouterๅคšๆจกๅž‹่šๅˆ่ทฏ็”ฑ๏ผŒ300+ ๆจกๅž‹็ปŸไธ€ๅ…ฅๅฃๆŒ‰ Tokens๏ผŒ้š็”จ้šไป˜โŒ
้œ€็ง‘ๅญฆไธŠ็ฝ‘
็ก…ๅŸบๆตๅŠจๅ›ฝๅ†…่šๅˆๆŽจ็†๏ผŒไปทๆ ผๆœ€ไฝŽๆŒ‰ Tokens๏ผŒ้ƒจๅˆ†ๅ…่ดนโœ…
GroqLPU ่ถ…้ซ˜้€ŸๆŽจ็†๏ผŒๅปถ่ฟŸๆžไฝŽๅ…่ดน้ขๅบฆ + ๆŒ‰้‡ไป˜่ดนโŒ
้œ€็ง‘ๅญฆไธŠ็ฝ‘
Hugging Faceๅผ€ๆบ็”Ÿๆ€ๆ ‡ๅ‡†ๅ…ฅๅฃ๏ผŒๆจกๅž‹ๆœ€ๅ…จๆ•ฐๅไธ‡ๅผ€ๆบๆจกๅž‹๏ผˆๆ–‡ๆœฌ/ๅ›พๅƒ/้Ÿณ้ข‘/ๅคšๆจกๆ€๏ผ‰Serverless ๅ…่ดน + Dedicated ๆŒ‰้‡
Together AIๅผ€ๆบๆจกๅž‹ๆŽจ็† + Fine-tuningๆŒ‰ Tokens + ่ฎญ็ปƒๆ—ถ้•ฟโŒ
้œ€็ง‘ๅญฆไธŠ็ฝ‘
Replicateๅผ€ๆบๆจกๅž‹ๅธ‚ๅœบ๏ผŒๅคšๆจกๆ€่ฆ†็›–ๅนฟๆŒ‰ GPU ่ฎก็ฎ—็ง’ๆ•ฐโŒ
้œ€็ง‘ๅญฆไธŠ็ฝ‘
302.AIๅ›ฝๅ†…็›ด่ฟžๆตทๅค–ๆจกๅž‹ไธญ่ฝฌๅ……ๅ€ผๆŒ‰้‡ๆถˆ่€—โœ…
API2DOpenAI ็ณปๅˆ—ๅ›ฝๅ†…็จณๅฎšไปฃ็†ๆŒ‰ Tokens ๆถˆ่€—โœ…

้ข„็ฎ—ๆžๆœ‰้™๏ผˆไธชไบบๅผ€ๅ‘่€… / ๅŽŸๅž‹้˜ถๆฎต๏ผ‰๏ผš

  • ๅ›ฝๅ†…็›ด่ฟž โ†’ ็ก…ๅŸบๆตๅŠจ๏ผˆDeepSeek / Qwen ้ƒจๅˆ†ๆจกๅž‹ๅ…่ดน๏ผ‰
  • ๆœ‰ๆตทๅค–็ฝ‘็ปœ โ†’ OpenRouter ๅ…่ดนๆจกๅž‹ ๆˆ– Groq ๅ…่ดน้ขๅบฆ
  • ้œ€่ฆ GPT-4o / Claude ไฝ†ๆ— ๆณ•็›ด่ฟž โ†’ 302.AI / API2D ๆŒ‰้‡ๅ……ๅ€ผ

ๆˆๆœฌๆ•ๆ„Ÿไฝ†ๆœ‰ไธ€ๅฎš้ข„็ฎ—๏ผˆๅˆๅˆ›ไบงๅ“ / ๅฐๅ›ข้˜Ÿ๏ผ‰๏ผš

  • DeepSeek API๏ผˆๅฎ˜ๆ–น็›ด่ฟž๏ผ‰ๆˆ– ็ก…ๅŸบๆตๅŠจ ่ท‘ DeepSeek / Qwen ็ณปๅˆ—
  • ๅฏน่ดจ้‡่ฆๆฑ‚้ซ˜็š„ๆ ธๅฟƒๅœบๆ™ฏ๏ผš็”จ Claude Haiku๏ผˆไฝŽไปท้ซ˜่ดจ้‡๏ผ‰ๆˆ– Gemini 3.0 Flash

ไผไธš็บง / ไธ่ฎก่พƒๆˆๆœฌไผ˜ๅ…ˆ่ดจ้‡๏ผš

  • ่‹ฑๆ–‡ไธบไธป โ†’ OpenAI GPT + Claude 4.6 Sonnet ๅŒไฟ้™ฉ
  • ไธญๆ–‡ไธบไธปไธ”้œ€ๅˆ่ง„ โ†’ ็™พๅบฆๅƒๅธ†๏ผˆๆ”ฏๆŒ Fine-tuning + ็งๆœ‰ๅŒ–๏ผ‰/ ้˜ฟ้‡Œไบ‘็™พ็‚ผ

๐Ÿ“Œ ๅฎžๆˆ˜ๅปบ่ฎฎ

  1. ไปŽ็ก…ๅŸบๆตๅŠจ่ตทๆญฅ๏ผšๅ›ฝๅ†…ๅผ€ๅ‘่€…ๅผบ็ƒˆๅปบ่ฎฎๅ…ˆๆณจๅ†Œ ็ก…ๅŸบๆตๅŠจ๏ผŒ็”จๅ…่ดน้ขๅบฆๆŠŠ DeepSeek-V3 / Qwen ่ท‘่ตทๆฅ๏ผŒๅฏนๆฏ”ๆ•ˆๆžœๅ†ๅ†ณๅฎšๆ˜ฏๅฆๅ‡็บงใ€‚
  2. ไฟๆŒๆŽฅๅฃๅ…ผๅฎนๆ€ง๏ผšๆ— ่ฎบ้€‰ๅ“ชๅฎถ๏ผŒไผ˜ๅ…ˆไฝฟ็”จ OpenAI ๅ…ผๅฎนๆ ผๅผ๏ผˆ/v1/chat/completions๏ผ‰๏ผŒ่ฟ™ๆ ทๆขๆจกๅž‹/ๆขๅนณๅฐๅช้œ€ๆ”นไธ€่กŒ base_url๏ผŒไธ็”จ้‡ๅ†™ไปฃ็ ใ€‚
  3. ไธ่ฆๅช็”จไธ€ไธชๆจกๅž‹๏ผšๆŽจ่"ไธปๅŠ›ๆจกๅž‹ + ้™็บงๅค‡็”จ"็ป„ๅˆโ€”โ€”ไธปๅŠ›่ตฐ่ดจ้‡ไผ˜ๅ…ˆ็š„ๆจกๅž‹๏ผŒๅค‡็”จ่ตฐไฝŽๆˆๆœฌๆจกๅž‹๏ผŒๅœจ OpenRouter / ็ก…ๅŸบๆตๅŠจไธŠ้…็ฝฎ Fallback ่‡ชๅŠจๅˆ‡ๆขใ€‚
  4. ๆณจๆ„ Token ็”จ้‡้™ท้˜ฑ๏ผš้•ฟไธŠไธ‹ๆ–‡ๆจกๅž‹๏ผˆๅฆ‚ Kimi 1M๏ผ‰ๅ•ๆฌก่พ“ๅ…ฅๆˆๆœฌ้š Token ๆ•ฐ็บฟๆ€งๅขž้•ฟ๏ผŒๅฎž้™…ไฝฟ็”จไธญ่ฆๅšๅฅฝๆˆชๆ–ญ็ญ–็•ฅ๏ผŒ้ฟๅ…่ดฆๅ•่ถ…ๅ‡บ้ข„ๆœŸใ€‚
  5. ไผไธšๅœบๆ™ฏๅฟ…็œ‹ๅˆ่ง„๏ผšๆถ‰ๅŠ็”จๆˆท้š็งใ€้‡‘่žใ€ๅŒป็–—็ญ‰ๆ•ฐๆฎๆ—ถ๏ผŒไผ˜ๅ…ˆ้€‰ๆ‹ฉๆ”ฏๆŒ็งๆœ‰ๅŒ–้ƒจ็ฝฒๆˆ–ๆ•ฐๆฎไธๅ‡บๅขƒๆ‰ฟ่ฏบ็š„ๆœๅŠก๏ผˆ็™พๅบฆๅƒๅธ†ใ€้˜ฟ้‡Œไบ‘็™พ็‚ผใ€ๆœฌๅœฐ้ƒจ็ฝฒ DeepSeek ็ญ‰๏ผ‰ใ€‚
',8)])])}const h=s(i,[["render",d]]);export{m as __pageData,h as default}; +import{_ as s,g as l,h as n,U as e,i as t}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const m=JSON.parse('{"title":"LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆˆช่‡ณ 2026 ๅนด๏ผŒLLM API ๆœๅŠกๅทฒๅฝขๆˆ\\"ๅฎ˜ๆ–น็›ด่ฟž + ็ฌฌไธ‰ๆ–น่šๅˆ\\"็š„ๅŒ่ฝจๆ ผๅฑ€๏ผŒๆจกๅž‹่ƒฝๅŠ›ใ€ๅฎšไปทใ€ๅˆ่ง„ๆ€งไธŽๆŽฅๅ…ฅไพฟๅˆฉๆ€งๅทฎๅผ‚ๆ˜พ่‘—ใ€‚ๆœฌๆ–‡ไปŽ้€‰ๅž‹ๅ‰ๆ้—ฎๅ‡บๅ‘๏ผŒ็ณป็ปŸๆขณ็†ๅ›ฝ้™…ไธŽๅ›ฝๅ†…ไธปๆตๅฎ˜ๆ–น API ๅนณๅฐ๏ผŒไปฅๅŠ OpenRouterใ€็ก…ๅŸบๆตๅŠจ็ญ‰็ฌฌไธ‰ๆ–น่šๅˆๅนณๅฐ็š„ๆ ธๅฟƒ็‰น็‚น๏ผŒๅนถๆไพ›ๅŸบไบŽๅœบๆ™ฏ็š„ๅ†ณ็ญ–ๆก†ๆžถ๏ผŒๅธฎๅŠฉๅผ€ๅ‘่€…ๅ’Œไบงๅ“ๅ›ข้˜Ÿๅฟซ้€Ÿ้”ๅฎšๆœ€้€‚ๅˆ่‡ชๅทฑ็š„ๆ–นๆกˆใ€‚","frontmatter":{"date":"2026-01-06T15:58:53.000Z","title":"LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆˆช่‡ณ 2026 ๅนด๏ผŒLLM API ๆœๅŠกๅทฒๅฝขๆˆ\\"ๅฎ˜ๆ–น็›ด่ฟž + ็ฌฌไธ‰ๆ–น่šๅˆ\\"็š„ๅŒ่ฝจๆ ผๅฑ€๏ผŒๆจกๅž‹่ƒฝๅŠ›ใ€ๅฎšไปทใ€ๅˆ่ง„ๆ€งไธŽๆŽฅๅ…ฅไพฟๅˆฉๆ€งๅทฎๅผ‚ๆ˜พ่‘—ใ€‚ๆœฌๆ–‡ไปŽ้€‰ๅž‹ๅ‰ๆ้—ฎๅ‡บๅ‘๏ผŒ็ณป็ปŸๆขณ็†ๅ›ฝ้™…ไธŽๅ›ฝๅ†…ไธปๆตๅฎ˜ๆ–น API ๅนณๅฐ๏ผŒไปฅๅŠ OpenRouterใ€็ก…ๅŸบๆตๅŠจ็ญ‰็ฌฌไธ‰ๆ–น่šๅˆๅนณๅฐ็š„ๆ ธๅฟƒ็‰น็‚น๏ผŒๅนถๆไพ›ๅŸบไบŽๅœบๆ™ฏ็š„ๅ†ณ็ญ–ๆก†ๆžถ๏ผŒๅธฎๅŠฉๅผ€ๅ‘่€…ๅ’Œไบงๅ“ๅ›ข้˜Ÿๅฟซ้€Ÿ้”ๅฎšๆœ€้€‚ๅˆ่‡ชๅทฑ็š„ๆ–นๆกˆใ€‚","permalink":"/ai-learning/llm-api-resources","categories":["่ต„ๆบๆŽจ่"],"tags":["่ต„ๆบๆŽจ่","AI","LLM API"]},"headers":[],"relativePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/11. LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—.md","filePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/11. LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—.md"}'),i={name:"20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/11. LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—.md"};function d(o,a,r,c,g,p){return n(),l("div",null,[...a[0]||(a[0]=[e('

LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ— โ€‹

ๆ‘˜่ฆๆ€ป็ป“๏ผšๆˆช่‡ณ 2026 ๅนด๏ผŒLLM API ๆœๅŠกๅทฒๅฝขๆˆ"ๅฎ˜ๆ–น็›ด่ฟž + ็ฌฌไธ‰ๆ–น่šๅˆ"็š„ๅŒ่ฝจๆ ผๅฑ€๏ผŒๆจกๅž‹่ƒฝๅŠ›ใ€ๅฎšไปทใ€ๅˆ่ง„ๆ€งไธŽๆŽฅๅ…ฅไพฟๅˆฉๆ€งๅทฎๅผ‚ๆ˜พ่‘—ใ€‚ๆœฌๆ–‡ไปŽ้€‰ๅž‹ๅ‰ๆ้—ฎๅ‡บๅ‘๏ผŒ็ณป็ปŸๆขณ็†ๅ›ฝ้™…ไธŽๅ›ฝๅ†…ไธปๆตๅฎ˜ๆ–น API ๅนณๅฐ๏ผŒไปฅๅŠ OpenRouterใ€็ก…ๅŸบๆตๅŠจ็ญ‰็ฌฌไธ‰ๆ–น่šๅˆๅนณๅฐ็š„ๆ ธๅฟƒ็‰น็‚น๏ผŒๅนถๆไพ›ๅŸบไบŽๅœบๆ™ฏ็š„ๅ†ณ็ญ–ๆก†ๆžถ๏ผŒๅธฎๅŠฉๅผ€ๅ‘่€…ๅ’Œไบงๅ“ๅ›ข้˜Ÿๅฟซ้€Ÿ้”ๅฎšๆœ€้€‚ๅˆ่‡ชๅทฑ็š„ๆ–นๆกˆใ€‚

1. ้€‰ๆจกๅž‹ๅ‰๏ผŒๅ…ˆๆƒณๆธ…ๆฅš่ฟ™ๅ‡ ไปถไบ‹ โ€‹

ๅœจๅฏนๆฏ”ๅ…ทไฝ“ๅนณๅฐไน‹ๅ‰๏ผŒๅฏไปŽไปฅไธ‹ๅ››ไธช็ปดๅบฆๆขณ็†่‡ช่บซ่ฏ‰ๆฑ‚๏ผŒ้ฟๅ…"็œผ่Šฑ็ผญไนฑๅŽ้šไพฟ้€‰ไธ€ไธช"๏ผš

็ปดๅบฆๅ…ณ้”ฎ้—ฎ้ข˜ๅฝฑๅ“ๅ†ณ็ญ–
ไปปๅŠก็ฑปๅž‹ๆ˜ฏ้€š็”จๅฏน่ฏใ€ไปฃ็ ็”Ÿๆˆใ€้•ฟๆ–‡ๆกฃๅˆ†ๆž๏ผŒ่ฟ˜ๆ˜ฏๅคšๆจกๆ€็†่งฃ๏ผŸไธๅŒๆจกๅž‹ๅœจๅž‚็›ด่ƒฝๅŠ›ไธŠๅทฎ่ทๆ‚ฌๆฎŠ
ๆˆๆœฌ้ข„็ฎ—ๆฏๆœˆ่ฐƒ็”จ้‡็บง๏ผŸ่ƒฝๅฆๆŽฅๅ—ๆตทๅค–็ป“็ฎ—ไธŽๆฑ‡็އ้ฃŽ้™ฉ๏ผŸๅ›ฝไบงๆจกๅž‹ Token ไปทๆ ผ้€šๅธธไฝŽ 3๏ฝž10 ๅ€
ๅˆ่ง„ไธŽ้ƒจ็ฝฒๆ•ฐๆฎ่ƒฝๅฆๅ‡บๅขƒ๏ผŸ่ƒฝๅฆไฝฟ็”จๆตทๅค–ๆœๅŠก๏ผŸๆ˜ฏๅฆ้œ€่ฆ็งๆœ‰ๅŒ–้ƒจ็ฝฒ๏ผŸๆถ‰ๅŠๆ”ฟๅŠก/้‡‘่ž/ๅŒป็–—ๅœบๆ™ฏๅฟ…้กป่€ƒ่™‘
็ฝ‘็ปœ็Žฏๅขƒๅผ€ๅ‘/้ƒจ็ฝฒ็Žฏๅขƒ่ƒฝๅฆ็จณๅฎš่ฎฟ้—ฎๆตทๅค– API๏ผŸๅ†ณๅฎšๆ˜ฏๅฆ้œ€่ฆไธญ่ฝฌๆˆ–ๅ›ฝๅ†…่šๅˆๅนณๅฐ

ไธ‰็ฑปๆจกๅž‹ๆœๅŠก็š„ๆ ธๅฟƒๅทฎๅผ‚๏ผš

  • ๅ›ฝ้™…้กถๅฐ–ๆจกๅž‹๏ผˆClaude / ChatGPT / Gemini๏ผ‰๏ผš็ปผๅˆ่ƒฝๅŠ›ๆœ€ๅผบ๏ผŒ่‹ฑๆ–‡ๅค„็†ใ€ไปฃ็ ็”Ÿๆˆใ€ๅคๆ‚ๆŽจ็†ๅ‡ๅฑ…ๅ‰ๅˆ—๏ผŒๅคšๆจกๆ€ๆ”ฏๆŒๅฎŒๅ–„๏ผŒไฝ†ไปทๆ ผ่พƒ้ซ˜๏ผŒๅ›ฝๅ†…่ฎฟ้—ฎ้œ€่ฆ็‰นๆฎŠ็ฝ‘็ปœ๏ผ›
  • ๅ›ฝไบงไผ˜็ง€ๆจกๅž‹๏ผˆDeepSeek / Kimi / GLM / MiniMax / Doubao ็ญ‰๏ผ‰๏ผšไธญๆ–‡็†่งฃไธŽๅˆ่ง„ๆ€งไผ˜ๅŠฟ็ชๅ‡บ๏ผŒToken ไปทๆ ผๆžๅ…ท็ซžไบ‰ๅŠ›๏ผŒ้ƒจๅˆ†ๆจกๅž‹ๆŽจ็†่ƒฝๅŠ›ๅทฒ้€ผ่ฟ‘ๅ›ฝ้™…้กถๅฐ–๏ผŒๆ˜ฏๅ›ฝๅ†…ๅผ€ๅ‘่€…็š„ๆ€งไปทๆฏ”้ฆ–้€‰๏ผ›
  • ๅผ€ๆบๆจกๅž‹๏ผˆQwen / LLaMA / Mixtral ็ญ‰๏ผ‰๏ผšๆ”ฏๆŒๆœฌๅœฐๆˆ–็งๆœ‰ๅŒ–้ƒจ็ฝฒ๏ผŒๆ— ๆ•ฐๆฎๅ‡บๅขƒ้ฃŽ้™ฉ๏ผŒๅฏ้€š่ฟ‡ Ollama / vLLM / ็ก…ๅŸบๆตๅŠจ็ญ‰้ƒจ็ฝฒๆˆ–่ฐƒ็”จ๏ผŒ้€‚ๅˆๅฏนๆ•ฐๆฎ้š็งๆˆ–ๆˆๆœฌๆžๅบฆๆ•ๆ„Ÿ็š„ๅœบๆ™ฏใ€‚

2. ๅฎ˜ๆ–น API ๅนณๅฐ โ€‹

ๅฎ˜ๆ–นๅนณๅฐๅณๆจกๅž‹็ ”ๅ‘ๆ–น็›ดๆŽฅๅผ€ๆ”พ็š„ API ๆœๅŠก๏ผŒไผ˜ๅŠฟๆ˜ฏๆœ€ๆ–ฐๆจกๅž‹็ฌฌไธ€ๆ—ถ้—ดๅฏ็”จใ€ๆ–‡ๆกฃๆƒๅจใ€SLA ๆœ‰ไฟ้šœ๏ผŒ็ผบ็‚นๆ˜ฏ้œ€่ฆ้€ไธ€ๆณจๅ†Œ่ดฆๅทใ€็ฎก็†ๅคšไธช Keyใ€‚

2.1 ๅ›ฝ้™…้กถๅฐ–ๆจกๅž‹ โ€‹

',11),t("div",{class:"container nav-card-container"},[t("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[t("a",{href:"https://platform.openai.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://openai.com/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"OpenAI Platform")]),t("p",{class:"desc"},"OpenAI ๅฎ˜ๆ–น API ๅนณๅฐ๏ผŒๆไพ› GPT-4oใ€o1ใ€o3ใ€GPT-3.5 ็ญ‰ๅ…จ็ณปๅˆ—ๆจกๅž‹่ฐƒ็”จใ€‚GPT-4o ๅŽŸ็”Ÿๆ”ฏๆŒๆ–‡ๆœฌ/ๅ›พๅƒ/้Ÿณ้ข‘/่ง†้ข‘ๅคšๆจกๆ€่พ“ๅ…ฅ๏ผŒo1/o3 ็ณปๅˆ—ๅ…ทๅค‡ๆทฑๅบฆๆŽจ็†้“พ่ƒฝๅŠ›๏ผŒ้€‚ๅˆๅ†™ไฝœใ€ไปฃ็ ็”Ÿๆˆใ€ๅคๆ‚ๆŽจ็†็ญ‰้ซ˜่ฆๆฑ‚ๅœบๆ™ฏใ€‚ๆ”ฏๆŒ Function Callingใ€ๆตๅผ่พ“ๅ‡บใ€Fine-tuning๏ผŒๆ–‡ๆกฃๅ’Œ็”Ÿๆ€ๆœ€ไธบๆˆ็†Ÿใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅค–")]),t("a",{href:"https://www.anthropic.com/api",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://claude.ai/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Anthropic Claude API")]),t("p",{class:"desc"},"Anthropic ๅฎ˜ๆ–น API๏ผŒๆไพ› Claude 4.6 Sonnet / Haiku / Opus ็ญ‰ๅคš็‰ˆๆœฌๆจกๅž‹๏ผŒ่ถ…้•ฟไธŠไธ‹ๆ–‡ไธš็•Œ้ข†ๅ…ˆ๏ผŒๆŒ‡ไปค้ตๅพช็ฒพๅ‡†ใ€ๅนป่ง‰็އไฝŽใ€่พ“ๅ‡บ็ป“ๆž„ๆธ…ๆ™ฐ๏ผŒๅœจ้•ฟๆ–‡ๆกฃๅˆ†ๆžใ€ๅคๆ‚ไปฃ็ ๅฎกๆŸฅไธŽ AI Agent ๅผ€ๅ‘ๅœบๆ™ฏไธญ่กจ็Žฐๅฐคไธบ็ชๅ‡บใ€‚Haiku ็‰ˆไปทๆ ผ่พƒไฝŽ๏ผŒ้€‚ๅˆ้ซ˜ๅนถๅ‘่ฝป้‡ๅœบๆ™ฏใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅค–")]),t("a",{href:"https://ai.google.dev/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://www.gstatic.com/images/branding/searchlogo/ico/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Gemini API")]),t("p",{class:"desc"},"Google ๅฎ˜ๆ–น Gemini ๆจกๅž‹ API ๅนณๅฐ๏ผŒๆ”ฏๆŒ Gemini 3.0 Pro ไธŽ Gemini 3.0 Flash๏ผˆ้ซ˜้€ŸไฝŽๆˆๆœฌ๏ผ‰็ญ‰็‰ˆๆœฌ๏ผŒๅŽŸ็”Ÿๅคšๆจกๆ€๏ผˆๆ–‡ๆœฌ/ๅ›พ็‰‡/้Ÿณ้ข‘/่ง†้ข‘/ไปฃ็ ๏ผ‰๏ผŒๅ…่ดนๅฅ—้ค้ขๅบฆๆ…ทๆ…จ๏ผŒไธŽ Google Workspaceใ€Vertex AI ๆทฑๅบฆ้›†ๆˆ๏ผŒ้€‚ๅˆ็ ”็ฉถ่พ…ๅŠฉไธŽๅคšๆจกๆ€ๅบ”็”จๅผ€ๅ‘ใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅค–")])])],-1),e('
ๆจกๅž‹ / ๅนณๅฐๆ ธๅฟƒไผ˜ๅŠฟๆœ€้€‚ๅœบๆ™ฏไปทๆ ผๆกฃไฝ
OpenAI GPT็ปผๅˆ่ƒฝๅŠ›ๆœ€ๅ…จ้ข๏ผ›ๅŽŸ็”Ÿๅคšๆจกๆ€๏ผˆๅ›พ/ๆ–‡/้Ÿณ/่ง†้ข‘๏ผ‰๏ผ›o ็ณปๅˆ—ๆœ‰ๆทฑๅบฆๆŽจ็†้“พๅ†™ไฝœไธŽๅ†…ๅฎนๅˆ›ไฝœ ยท ไปฃ็ ็”ŸๆˆไธŽ่ฐƒ่ฏ• ยท ๅคšๆจกๆ€ๅˆ†ๆž ยท ๅคๆ‚ๆŽจ็†้ซ˜
Anthropic ClaudeๆŒ‡ไปค้ตๅพช็ฒพๅ‡†๏ผ›่พ“ๅ‡บ็ป“ๆž„ๆธ…ๆ™ฐ๏ผ›้•ฟๆ–‡ๆกฃ็†่งฃๆœ€ๅผบ๏ผ›ไปฃ็ ไธŽๆ–‡ๆกฃ่ดจ้‡้ซ˜๏ผ›ๅนป่ง‰็އไฝŽ้•ฟๆ–‡ๆกฃ็ฒพ่ฏป/ๆ‘˜่ฆ ยท ๅคๆ‚ไปปๅŠก่ง„ๅˆ’ ยท ้ซ˜่ดจ้‡ไปฃ็ ๅฎกๆŸฅ ยท Agent ๆŽจ็†ๅŽ็ซฏ้ซ˜๏ผˆHaiku ็‰ˆ่พƒไฝŽ๏ผ‰
Google Gemini่ถ…้•ฟไธŠไธ‹ๆ–‡ใ€ๅŽŸ็”Ÿๅคšๆจกๆ€๏ผ›ไธŽ Google Search / Workspace ๆทฑๅบฆๆ•ดๅˆ๏ผ›ๅ…่ดน้ขๅบฆๆ…ทๆ…จ่ถ…้•ฟ่ต„ๆ–™็†่งฃ ยท ่ง†้ข‘/้Ÿณ้ข‘ๅˆ†ๆž ยท ็ ”็ฉถ่พ…ๅŠฉ ยท Google ็”Ÿๆ€้›†ๆˆไธญ
ๅ…่ดน้ขๅบฆๅคง

2.2 ๅ›ฝๅ†…ไผ˜็ง€ๆจกๅž‹ โ€‹

',2),t("div",{class:"container nav-card-container"},[t("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[t("a",{href:"https://platform.deepseek.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://www.deepseek.com/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"DeepSeek API")]),t("p",{class:"desc"},"DeepSeek ๅฎ˜ๆ–น API ๅนณๅฐ๏ผŒๆไพ› DeepSeek-V3๏ผˆ้€š็”จๅฏน่ฏ๏ผ‰ไธŽ DeepSeek-R1๏ผˆๆทฑๅบฆๆŽจ็†๏ผ‰็ญ‰ๆจกๅž‹ใ€‚R1 ็š„ๆ•ฐๅญฆใ€ไปฃ็ ไธŽ้€ป่พ‘ๆŽจ็†่ƒฝๅŠ›ๅทฒ้€ผ่ฟ‘ OpenAI o1๏ผŒไธ”ๆจกๅž‹ๅฎŒๅ…จๅผ€ๆบๆ”ฏๆŒๆœฌๅœฐ้ƒจ็ฝฒใ€‚API ๅฎšไปทไธšๅ†…ๆžไฝŽ๏ผŒๆ˜ฏๆ€งไปทๆฏ”ๆœ€็ชๅ‡บ็š„ๅ›ฝไบงๆจกๅž‹๏ผŒๅฐคๅ…ถๆŽจ่ไปฃ็ ็”ŸๆˆไธŽๆ•ฐๅญฆๆŽจ็†ๅœบๆ™ฏใ€‚"),t("span",{class:"VPBadge tip badge"},"ๆžไฝŽไปท")]),t("a",{href:"https://console.volcengine.com/ark",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://lf-flow-web-cdn.doubao.com/obj/flow-doubao/doubao/chat/favicon.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Doubao API")]),t("p",{class:"desc"},"ๅญ—่Š‚่ทณๅŠจๆ——ไธ‹่ฑ†ๅŒ…ๅคงๆจกๅž‹ๅผ€ๆ”พๅนณๅฐ๏ผŒๆไพ› Doubao-pro / lite ็ญ‰็ณปๅˆ—ๆจกๅž‹ API๏ผŒๅ“ๅบ”้€Ÿๅบฆไธšๅ†…้ข†ๅ…ˆ๏ผŒAPI ๅฎšไปทๆžไฝŽ๏ผˆToken ๅ•ไปทไธบๅ›ฝ้™…้กถๅฐ–ๆจกๅž‹็š„ 1/10 ไปฅไธ‹๏ผ‰๏ผŒๆ–‡ๆกฃๅฎŒๅ–„๏ผŒๆ”ฏๆŒๅ…่ดน้ขๅบฆไธŽไผไธšๆŽฅๅ…ฅ๏ผŒ้€‚ๅˆ้ซ˜ๅนถๅ‘่ฝป้‡ๅฏน่ฏไธŽๅ†…ๅฎนๆ‘˜่ฆๅœบๆ™ฏใ€‚"),t("span",{class:"VPBadge tip badge"},"ๆžไฝŽไปท")]),t("a",{href:"https://platform.moonshot.cn/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://kimi.moonshot.cn/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Kimi API")]),t("p",{class:"desc"},"ๆœˆไน‹ๆš—้ขๅฎ˜ๆ–น API ๅนณๅฐ๏ผŒไธปๆ‰“่ถ…้•ฟไธญๆ–‡ไธŠไธ‹ๆ–‡๏ผˆๆœ€้ซ˜ 128K๏ฝž1M Token๏ผ‰๏ผŒๆ”ฏๆŒ PDF / Word / ไปฃ็ ็ญ‰ๅคšๆ ผๅผๆ–‡ไปถ่งฃๆžไธŽๆทฑๅบฆ็ ”็ฉถๆจกๅผ๏ผŒไธญๆ–‡้•ฟๆ–‡ๆกฃ็†่งฃ่ƒฝๅŠ›ๅ›ฝๅ†…้ข†ๅ…ˆใ€‚้€‚ๅˆๆณ•ๅพ‹ๅˆๅŒๅˆ†ๆžใ€ๅญฆๆœฏ่ฎบๆ–‡็ฒพ่ฏปใ€ๅคšๆ–‡ไปถๅฏนๆฏ”ๆ‘˜่ฆ็ญ‰้‡ๅบฆ้˜…่ฏปๅœบๆ™ฏใ€‚"),t("span",{class:"VPBadge tip badge"},"้•ฟไธŠไธ‹ๆ–‡")]),t("a",{href:"https://www.minimaxi.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://www.minimaxi.com/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"miniMax API")]),t("p",{class:"desc"},"miniMax ๅฎ˜ๆ–นๅผ€ๆ”พๅนณๅฐ๏ผŒๆไพ› MiniMax-Text๏ผˆ100 ไธ‡ Token ้•ฟไธŠไธ‹ๆ–‡๏ผ‰ใ€่ฏญ้Ÿณๅˆๆˆ๏ผˆTTS๏ผ‰ใ€Hailuo AI ่ง†้ข‘็”Ÿๆˆ็ญ‰ๅคšๆจกๆ€ APIใ€‚ๆ–‡ๆœฌ/่ฏญ้Ÿณ/่ง†้ข‘่ƒฝๅŠ›ๅ‡ๅค„ไบŽๅ›ฝๅ†…ๅ‰ๅˆ—๏ผŒ้€‚ๅˆ้œ€่ฆๅคšๆจกๆ€่พ“ๅ‡บใ€่ฏญ้Ÿณๅ…‹้š†ไธŽ AI ่ง†้ข‘็”Ÿๆˆ็š„ๅผ€ๅ‘่€…ใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅคšๆจกๆ€")]),t("a",{href:"https://bailian.console.aliyun.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://img.alicdn.com/imgextra/i4/O1CN01uar8u91DHWktnF2fl_!!6000000000191-2-tps-110-110.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Qwen API")]),t("p",{class:"desc"},"้˜ฟ้‡Œไบ‘ Qwen ็ณปๅˆ—ๆจกๅž‹ๅฎ˜ๆ–น API ๅนณๅฐ๏ผˆ็™พ็‚ผ๏ผ‰๏ผŒๆถต็›– Qwen-Long๏ผˆ้•ฟไธŠไธ‹ๆ–‡๏ผ‰ใ€Qwen-Coder๏ผˆไปฃ็ ๏ผ‰ใ€Qwen-Math๏ผˆๆ•ฐๅญฆ๏ผ‰ใ€Qwen-VL๏ผˆๅคšๆจกๆ€่ง†่ง‰๏ผ‰็ญ‰ไธ“้กนๅญๆจกๅž‹๏ผŒไธŽ้˜ฟ้‡Œไบ‘ใ€้’‰้’‰็”Ÿๆ€ๆทฑๅบฆ้›†ๆˆ๏ผŒ้ƒจๅˆ†ๆจกๅž‹ๅผ€ๆบ๏ผŒๆ–‡ๆกฃๅฎŒๅ–„๏ผŒๆ–ฐ็”จๆˆทๆœ‰่พƒๅคงๅ…่ดน Token ้ขๅบฆใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅ†…")]),t("a",{href:"https://open.bigmodel.cn/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://open.bigmodel.cn/img/icons/favicon-32x32.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"ๆ™บ่ฐฑ AI (GLM)")]),t("p",{class:"desc"},"ๆ™บ่ฐฑ AI ๅฎ˜ๆ–นๅผ€ๆ”พๅนณๅฐ๏ผŒๆไพ› GLM-4 / GLM-4V๏ผˆๅคšๆจกๆ€๏ผ‰/ CodeGeeX๏ผˆไปฃ็ ๏ผ‰็ญ‰็ณปๅˆ—ๆจกๅž‹ API๏ผŒๆ•ฐๅญฆไธŽไปฃ็ ๆŽจ็†่ƒฝๅŠ›็ชๅ‡บ๏ผŒFunction Call ไธŽๅทฅๅ…ท่ฐƒ็”จๅฎŒๅ–„๏ผŒไผไธš RAG / Agent ็”Ÿๆ€ๆˆ็†Ÿ๏ผŒ้€‚ๅˆๅผ€ๅ‘็Ÿฅ่ฏ†ๅบ“้—ฎ็ญ”ใ€Agent ๅทฅๅ…ท้“พไธŽๅ›พๆ–‡ๅคšๆจกๆ€็†่งฃๅบ”็”จใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅ†…")])])],-1),e('
ๆจกๅž‹ / ๅนณๅฐๆ ธๅฟƒไผ˜ๅŠฟๆœ€้€‚ๅœบๆ™ฏไปทๆ ผๆกฃไฝ
DeepSeekR1 ๆŽจ็†่ƒฝๅŠ›้€ผ่ฟ‘ o1๏ผ›ๆ•ฐๅญฆ/ไปฃ็ /้€ป่พ‘้กถๅฐ–๏ผ›ๅฎŒๅ…จๅผ€ๆบๅฏๆœฌๅœฐ้ƒจ็ฝฒ๏ผ›API ไปทๆ ผๆžไฝŽไปฃ็ ็”ŸๆˆไธŽ่ฐƒ่ฏ• ยท ๆ•ฐๅญฆ/้€ป่พ‘ๆŽจ็† ยท ๅญฆๆœฏ็ ”็ฉถ ยท ็งๆœ‰ๅŒ–้ƒจ็ฝฒๆžไฝŽ โญ
Moonshot (Kimi)ไธญๆ–‡้•ฟไธŠไธ‹ๆ–‡ๆœ€ๅผบ๏ผ›ๅคšๆ ผๅผๆ–‡ไปถ่งฃๆž๏ผˆPDF/Word/ไปฃ็ ๏ผ‰๏ผ›ๅ†…็ฝฎๆทฑๅบฆ็ ”็ฉถๆจกๅผ้•ฟๆ–‡ๆกฃ้˜…่ฏปไธŽ็ป“ๆž„ๅŒ–ๆ็‚ผ ยท ๆณ•ๅพ‹/ๅˆๅŒๅˆ†ๆž ยท ๅคšๆ–‡ไปถๅฏนๆฏ”ไฝŽ
miniMax100 ไธ‡ Token ้•ฟไธŠไธ‹ๆ–‡๏ผ›ๆ–‡ๆœฌ/่ฏญ้Ÿณ/่ง†้ข‘ๅคšๆจกๆ€๏ผ›่ฏญ้ŸณๅˆๆˆไธŽ่ง†้ข‘็”Ÿๆˆ่ƒฝๅŠ›ๅผบ่ถ…้•ฟๆ–‡ๆกฃ็†่งฃ ยท AI ่ง†้ข‘/่ฏญ้Ÿณ็”Ÿๆˆ ยท ่ง’่‰ฒๆ‰ฎๆผ”/AI ้™ชไผดไฝŽ
่ฑ†ๅŒ… (Doubao)ๅ“ๅบ”้€Ÿๅบฆๆžๅฟซ๏ผ›API ไปทๆ ผๆœ€ไฝŽ๏ผ›ไธŽๅญ—่Š‚่ทณๅŠจ็”Ÿๆ€ๆ‰“้€š้ซ˜ๅนถๅ‘่ฝป้‡ๅฏน่ฏ ยท ๅ†…ๅฎนๆ‘˜่ฆ ยท ็Ÿญ่ง†้ข‘ๅ†…ๅฎน็ญ–ๅˆ’ๆžไฝŽ โญ
้€šไน‰ๅƒ้—ฎ (Qwen)ๅญๆจกๅž‹ไธฐๅฏŒ๏ผˆCoder/Math/VL๏ผ‰๏ผ›้˜ฟ้‡Œไบ‘็”Ÿๆ€้›†ๆˆ๏ผ›้ƒจๅˆ†ๅผ€ๆบไธญๆ–‡ๅ†…ๅฎนๅˆ›ไฝœ ยท ไปฃ็ /ๆ•ฐๅญฆ ยท ้’‰้’‰/้˜ฟ้‡Œไบ‘ๅœบๆ™ฏไฝŽ
ๆ™บ่ฐฑ GLMๆ•ฐๅญฆไธŽไปฃ็ ๆŽจ็†็ชๅ‡บ๏ผ›Function Call ๅทฅๅ…ท่ฐƒ็”จๅฎŒๅ–„๏ผ›ไผไธš RAG ็”Ÿๆ€ๆˆ็†Ÿไผไธš็Ÿฅ่ฏ†ๅบ“้—ฎ็ญ” ยท Agent ๅทฅๅ…ท้“พ ยท ๅ›พๆ–‡ๅคšๆจกๆ€็†่งฃไฝŽ

3. ็ฌฌไธ‰ๆ–น่šๅˆๅนณๅฐ โ€‹

็ฌฌไธ‰ๆ–นๅนณๅฐๅฐ†ๅคšๅฎถไธปๆตๆจกๅž‹่šๅˆไธบ็ปŸไธ€ API ๅ…ฅๅฃ๏ผŒๅผ€ๅ‘่€…ๆ— ้œ€้€ไธ€็”ณ่ฏทๅ„ๅŽ‚ๅ•† Key๏ผŒๅฏไธ€็ซ™่ฎฟ้—ฎ GPTใ€Claudeใ€Geminiใ€ MininMaxใ€DeepSeek ็ญ‰ๆ•ฐ็™พไธชๆจกๅž‹๏ผŒๆŒ‰้‡่ฎก่ดนใ€ๅ…ผๅฎน OpenAI SDK๏ผŒๅคงๅน…้™ไฝŽๆŽฅๅ…ฅไธŽๅˆ‡ๆขๆˆๆœฌใ€‚ๅ›ฝ้™…ๅผ€ๅ‘่€…้ฆ–้€‰ OpenRouter๏ผŒๅ›ฝๅ†…ๅผ€ๅ‘่€…้ฆ–้€‰็ก…ๅŸบๆตๅŠจใ€‚

',3),t("div",{class:"container nav-card-container"},[t("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[t("a",{href:"https://openrouter.ai/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://openrouter.ai/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"OpenRouter")]),t("p",{class:"desc"},"็›ฎๅ‰ๆœ€ๅ—ๅผ€ๅ‘่€…ๆฌข่ฟŽ็š„ LLM API ่šๅˆๅนณๅฐ๏ผŒ็ปŸไธ€ OpenAI ๅ…ผๅฎนๆŽฅๅฃๅฏ่ทฏ็”ฑ่‡ณ 300+ ๆจกๅž‹๏ผˆGPT-4o / Claude 3.5 / Gemini / LLaMA / DeepSeek ็ญ‰๏ผ‰๏ผŒๆ”ฏๆŒๆŒ‰้‡ไป˜่ดนใ€่‡ชๅŠจ้™็บง Fallbackใ€ๆตๅผ่พ“ๅ‡บไธŽ Function Call๏ผŒๆ˜ฏๅˆ‡ๆข/ๅฏนๆฏ”ๅคšๅฎถๆจกๅž‹็š„้ฆ–้€‰ใ€‚ๆ— ้œ€็ฎก็†ๅคšไธช Key๏ผŒไธ€ไธช่ดฆๅท่งฃๅ†ณๆ‰€ๆœ‰ๆจกๅž‹ๆŽฅๅ…ฅใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅผบ็ƒˆๆŽจ่")]),t("a",{href:"https://cloud.siliconflow.cn/me/models",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("span",{class:"name"},"SiliconFlow")]),t("p",{class:"desc"},"ๅ›ฝๅ†…ๆœ€ๅ—ๅผ€ๅ‘่€…ๆฌข่ฟŽ็š„ LLM API ่šๅˆไธŽๆŽจ็†ๅŠ ้€Ÿๅนณๅฐ๏ผŒๆไพ› DeepSeek / Qwen / GLM / MiniMax ็ญ‰ไธปๆตๆจกๅž‹็š„็ปŸไธ€ API๏ผŒๅ…ผๅฎน OpenAI ๆŽฅๅฃๆ ผๅผ๏ผŒไปทๆ ผไธšๅ†…ๆžไฝŽ๏ผˆ้ƒจๅˆ†ๆจกๅž‹ๅ…่ดน๏ผ‰๏ผŒๅ›ฝๅ†…็›ด่ฟž็จณๅฎš๏ผŒๆณจๅ†Œๅณๅฏๅฟซ้€ŸๆŽฅๅ…ฅ๏ผŒๆ˜ฏๅ›ฝๅ†…ๅผ€ๅ‘่€…ไฝฟ็”จ็ฌฌไธ‰ๆ–น API ็š„้ฆ–้€‰ใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅ†…้ฆ–้€‰")]),t("a",{href:"https://huggingface.co/inference-api",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://huggingface.co/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Hugging Face")]),t("p",{class:"desc"},"ๅ…จ็ƒๆœ€ๅคงๅผ€ๆบ AI ็คพๅŒบ Hugging Face ๆไพ›็š„ๆŽจ็† API๏ผŒๅฏ็›ดๆŽฅ่ฐƒ็”จๅนณๅฐไธŠๆ•ฐๅไธ‡ไธชๅผ€ๆบๆจกๅž‹๏ผˆๆ–‡ๆœฌ/ๅ›พๅƒ/้Ÿณ้ข‘/ๅคšๆจกๆ€๏ผ‰๏ผŒๆ”ฏๆŒ Serverless ๆŒ‰้œ€ๆŽจ็†ไธŽ Dedicated Endpoints ไธ“ๅฑž้ƒจ็ฝฒ๏ผŒๆ˜ฏๅผ€ๆบๆจกๅž‹็”Ÿๆ€็š„ไบ‹ๅฎžๆ ‡ๅ‡†ๅ…ฅๅฃใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅผ€ๆบ็”Ÿๆ€")]),t("a",{href:"https://console.groq.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://groq.com/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Groq")]),t("p",{class:"desc"},"ๅŸบไบŽ่‡ช็ ” LPU๏ผˆLanguage Processing Unit๏ผ‰่Šฏ็‰‡็š„่ถ…้ซ˜้€ŸๆŽจ็†ๅนณๅฐ๏ผŒๅผ€ๆบๆจกๅž‹๏ผˆLLaMA 3 / Mixtral / Gemma / DeepSeek ็ญ‰๏ผ‰ๆŽจ็†้€Ÿๅบฆๅฏ่พพๆ™ฎ้€š GPU ็š„ๆ•ฐๅๅ€๏ผŒๅ…่ดนๅฅ—้คๆ…ทๆ…จ๏ผŒๆŽฅๅฃๅฎŒๅ…จๅ…ผๅฎน OpenAI SDK๏ผŒ้€‚ๅˆๅฏนๅ“ๅบ”ๅปถ่ฟŸๆžๆ•ๆ„Ÿ็š„ๅฎžๆ—ถๅฏน่ฏใ€่ฏญ้ŸณๅŠฉๆ‰‹็ญ‰ๅœบๆ™ฏใ€‚"),t("span",{class:"VPBadge tip badge"},"ๆž้€ŸๆŽจ็†")]),t("a",{href:"https://www.together.ai/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("span",{class:"name"},"Together AI")]),t("p",{class:"desc"},"ไธ“ๆณจๅผ€ๆบๅคงๆจกๅž‹็š„้ซ˜ๆ€ง่ƒฝๆŽจ็†ไธŽๅพฎ่ฐƒๅนณๅฐ๏ผŒๆ”ฏๆŒ LLaMA 3 / Mixtral / Qwen / DBRX ็ญ‰ 100+ ๅผ€ๆบๆจกๅž‹ API ่ฐƒ็”จ๏ผŒๆไพ› Fine-tuning ่ฎญ็ปƒ่ƒฝๅŠ›๏ผŒไปทๆ ผๆžๅ…ท็ซžไบ‰ๅŠ›๏ผŒOpenAI ๅ…ผๅฎนๆŽฅๅฃ๏ผŒ้€‚ๅˆๅผ€ๆบๆจกๅž‹็ ”ๅ‘ไธŽไผไธš็งๆœ‰ๅŒ–ๅพฎ่ฐƒๅœบๆ™ฏใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅผ€ๆบ+ๅพฎ่ฐƒ")]),t("a",{href:"https://replicate.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("span",{class:"name"},"Replicate")]),t("p",{class:"desc"},'ไปฅ"ๆจกๅž‹ๅธ‚ๅœบ"ๅฝขๆ€่ฟ่ฅ็š„ AI API ๅนณๅฐ๏ผŒๆ‰˜็ฎกๆ•ฐๅƒไธชๅผ€ๆบๅ›พๅƒใ€่ฏญ้Ÿณใ€ๆ–‡ๆœฌๆจกๅž‹๏ผˆStable Diffusion / LLaMA / Whisper ็ญ‰๏ผ‰๏ผŒๆฏไธชๆจกๅž‹ๆœ‰็‹ฌ็ซ‹ API ็ซฏ็‚น๏ผŒๆŒ‰ GPU ่ฎก็ฎ—็ง’ๆ•ฐ่ฎก่ดน๏ผŒๆ— ้œ€ๆญๅปบๆŽจ็†ๅŸบ็ก€่ฎพๆ–ฝ๏ผŒ้€‚ๅˆๅฟซ้€Ÿ่ฐƒ็”จๅคšๆจกๆ€ๅผ€ๆบๆจกๅž‹ๅšๅŽŸๅž‹้ชŒ่ฏใ€‚'),t("span",{class:"VPBadge tip badge"},"ๆจกๅž‹ๅธ‚ๅœบ")]),t("a",{href:"https://302.ai/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("span",{class:"name"},"302.AI")]),t("p",{class:"desc"},"ๅ›ฝๅ†…็Ÿฅๅ็š„ AI API ไธญ่ฝฌไธŽ่šๅˆๅนณๅฐ๏ผŒๆ•ดๅˆ OpenAI / Claude / Gemini ็ญ‰ๅ›ฝ้™…ไธปๆตๆจกๅž‹๏ผŒๆไพ›็ปŸไธ€ OpenAI ๅ…ผๅฎน API๏ผŒๆ”ฏๆŒๅ›ฝๅ†…็›ด่ฟžๆ— ้œ€็ง‘ๅญฆไธŠ็ฝ‘๏ผŒๆŒ‰้‡ๅ……ๅ€ผไฝฟ็”จ๏ผŒๅนถ้™„ๅธฆ Web ไฝ“้ชŒ้กต้ข๏ผŒ้€‚ๅˆไธชไบบๅผ€ๅ‘่€…ๅฟซ้€Ÿ่ฐƒ็”จๆตทๅค–ๆจกๅž‹ใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅ†…ไธญ่ฝฌ")]),t("a",{href:"https://api2d.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("span",{class:"name"},"API2D")]),t("p",{class:"desc"},"ไธ“ๆณจ OpenAI ็ณปๅˆ—ๆจกๅž‹ๅ›ฝๅ†…ไธญ่ฝฌ็š„ API ไปฃ็†ๅนณๅฐ๏ผŒๅฎŒๅ…จๅ…ผๅฎน OpenAI SDK๏ผŒๆ”ฏๆŒ GPT / Claude / DALLยทE / Whisper ็ญ‰ๅ…จ็ณปๆจกๅž‹๏ผŒๅ›ฝๅ†…็›ด่ฟž่ฎฟ้—ฎ็จณๅฎš๏ผŒๆŒ‰ Tokens ๆถˆ่€—่ฎก่ดน๏ผŒๆ˜ฏ้œ€่ฆๅœจๅ›ฝๅ†…็จณๅฎšไฝฟ็”จ OpenAI API ็š„ๅผ€ๅ‘่€…็š„ๅธธ็”จ้€‰ๆ‹ฉใ€‚"),t("span",{class:"VPBadge tip badge"},"OpenAI ไธญ่ฝฌ")])])],-1),e('
ๅนณๅฐๆ ธๅฟƒๅฎšไฝ่ฎก่ดนๆ–นๅผๅ›ฝๅ†…ๅฏ็”จ
OpenRouterๅคšๆจกๅž‹่šๅˆ่ทฏ็”ฑ๏ผŒ300+ ๆจกๅž‹็ปŸไธ€ๅ…ฅๅฃๆŒ‰ Tokens๏ผŒ้š็”จ้šไป˜โŒ
้œ€็ง‘ๅญฆไธŠ็ฝ‘
็ก…ๅŸบๆตๅŠจๅ›ฝๅ†…่šๅˆๆŽจ็†๏ผŒไปทๆ ผๆœ€ไฝŽๆŒ‰ Tokens๏ผŒ้ƒจๅˆ†ๅ…่ดนโœ…
GroqLPU ่ถ…้ซ˜้€ŸๆŽจ็†๏ผŒๅปถ่ฟŸๆžไฝŽๅ…่ดน้ขๅบฆ + ๆŒ‰้‡ไป˜่ดนโŒ
้œ€็ง‘ๅญฆไธŠ็ฝ‘
Hugging Faceๅผ€ๆบ็”Ÿๆ€ๆ ‡ๅ‡†ๅ…ฅๅฃ๏ผŒๆจกๅž‹ๆœ€ๅ…จๆ•ฐๅไธ‡ๅผ€ๆบๆจกๅž‹๏ผˆๆ–‡ๆœฌ/ๅ›พๅƒ/้Ÿณ้ข‘/ๅคšๆจกๆ€๏ผ‰Serverless ๅ…่ดน + Dedicated ๆŒ‰้‡
Together AIๅผ€ๆบๆจกๅž‹ๆŽจ็† + Fine-tuningๆŒ‰ Tokens + ่ฎญ็ปƒๆ—ถ้•ฟโŒ
้œ€็ง‘ๅญฆไธŠ็ฝ‘
Replicateๅผ€ๆบๆจกๅž‹ๅธ‚ๅœบ๏ผŒๅคšๆจกๆ€่ฆ†็›–ๅนฟๆŒ‰ GPU ่ฎก็ฎ—็ง’ๆ•ฐโŒ
้œ€็ง‘ๅญฆไธŠ็ฝ‘
302.AIๅ›ฝๅ†…็›ด่ฟžๆตทๅค–ๆจกๅž‹ไธญ่ฝฌๅ……ๅ€ผๆŒ‰้‡ๆถˆ่€—โœ…
API2DOpenAI ็ณปๅˆ—ๅ›ฝๅ†…็จณๅฎšไปฃ็†ๆŒ‰ Tokens ๆถˆ่€—โœ…

้ข„็ฎ—ๆžๆœ‰้™๏ผˆไธชไบบๅผ€ๅ‘่€… / ๅŽŸๅž‹้˜ถๆฎต๏ผ‰๏ผš

  • ๅ›ฝๅ†…็›ด่ฟž โ†’ ็ก…ๅŸบๆตๅŠจ๏ผˆDeepSeek / Qwen ้ƒจๅˆ†ๆจกๅž‹ๅ…่ดน๏ผ‰
  • ๆœ‰ๆตทๅค–็ฝ‘็ปœ โ†’ OpenRouter ๅ…่ดนๆจกๅž‹ ๆˆ– Groq ๅ…่ดน้ขๅบฆ
  • ้œ€่ฆ GPT-4o / Claude ไฝ†ๆ— ๆณ•็›ด่ฟž โ†’ 302.AI / API2D ๆŒ‰้‡ๅ……ๅ€ผ

ๆˆๆœฌๆ•ๆ„Ÿไฝ†ๆœ‰ไธ€ๅฎš้ข„็ฎ—๏ผˆๅˆๅˆ›ไบงๅ“ / ๅฐๅ›ข้˜Ÿ๏ผ‰๏ผš

  • DeepSeek API๏ผˆๅฎ˜ๆ–น็›ด่ฟž๏ผ‰ๆˆ– ็ก…ๅŸบๆตๅŠจ ่ท‘ DeepSeek / Qwen ็ณปๅˆ—
  • ๅฏน่ดจ้‡่ฆๆฑ‚้ซ˜็š„ๆ ธๅฟƒๅœบๆ™ฏ๏ผš็”จ Claude Haiku๏ผˆไฝŽไปท้ซ˜่ดจ้‡๏ผ‰ๆˆ– Gemini 3.0 Flash

ไผไธš็บง / ไธ่ฎก่พƒๆˆๆœฌไผ˜ๅ…ˆ่ดจ้‡๏ผš

  • ่‹ฑๆ–‡ไธบไธป โ†’ OpenAI GPT + Claude 4.6 Sonnet ๅŒไฟ้™ฉ
  • ไธญๆ–‡ไธบไธปไธ”้œ€ๅˆ่ง„ โ†’ ็™พๅบฆๅƒๅธ†๏ผˆๆ”ฏๆŒ Fine-tuning + ็งๆœ‰ๅŒ–๏ผ‰/ ้˜ฟ้‡Œไบ‘็™พ็‚ผ

๐Ÿ“Œ ๅฎžๆˆ˜ๅปบ่ฎฎ

  1. ไปŽ็ก…ๅŸบๆตๅŠจ่ตทๆญฅ๏ผšๅ›ฝๅ†…ๅผ€ๅ‘่€…ๅผบ็ƒˆๅปบ่ฎฎๅ…ˆๆณจๅ†Œ ็ก…ๅŸบๆตๅŠจ๏ผŒ็”จๅ…่ดน้ขๅบฆๆŠŠ DeepSeek-V3 / Qwen ่ท‘่ตทๆฅ๏ผŒๅฏนๆฏ”ๆ•ˆๆžœๅ†ๅ†ณๅฎšๆ˜ฏๅฆๅ‡็บงใ€‚
  2. ไฟๆŒๆŽฅๅฃๅ…ผๅฎนๆ€ง๏ผšๆ— ่ฎบ้€‰ๅ“ชๅฎถ๏ผŒไผ˜ๅ…ˆไฝฟ็”จ OpenAI ๅ…ผๅฎนๆ ผๅผ๏ผˆ/v1/chat/completions๏ผ‰๏ผŒ่ฟ™ๆ ทๆขๆจกๅž‹/ๆขๅนณๅฐๅช้œ€ๆ”นไธ€่กŒ base_url๏ผŒไธ็”จ้‡ๅ†™ไปฃ็ ใ€‚
  3. ไธ่ฆๅช็”จไธ€ไธชๆจกๅž‹๏ผšๆŽจ่"ไธปๅŠ›ๆจกๅž‹ + ้™็บงๅค‡็”จ"็ป„ๅˆโ€”โ€”ไธปๅŠ›่ตฐ่ดจ้‡ไผ˜ๅ…ˆ็š„ๆจกๅž‹๏ผŒๅค‡็”จ่ตฐไฝŽๆˆๆœฌๆจกๅž‹๏ผŒๅœจ OpenRouter / ็ก…ๅŸบๆตๅŠจไธŠ้…็ฝฎ Fallback ่‡ชๅŠจๅˆ‡ๆขใ€‚
  4. ๆณจๆ„ Token ็”จ้‡้™ท้˜ฑ๏ผš้•ฟไธŠไธ‹ๆ–‡ๆจกๅž‹๏ผˆๅฆ‚ Kimi 1M๏ผ‰ๅ•ๆฌก่พ“ๅ…ฅๆˆๆœฌ้š Token ๆ•ฐ็บฟๆ€งๅขž้•ฟ๏ผŒๅฎž้™…ไฝฟ็”จไธญ่ฆๅšๅฅฝๆˆชๆ–ญ็ญ–็•ฅ๏ผŒ้ฟๅ…่ดฆๅ•่ถ…ๅ‡บ้ข„ๆœŸใ€‚
  5. ไผไธšๅœบๆ™ฏๅฟ…็œ‹ๅˆ่ง„๏ผšๆถ‰ๅŠ็”จๆˆท้š็งใ€้‡‘่žใ€ๅŒป็–—็ญ‰ๆ•ฐๆฎๆ—ถ๏ผŒไผ˜ๅ…ˆ้€‰ๆ‹ฉๆ”ฏๆŒ็งๆœ‰ๅŒ–้ƒจ็ฝฒๆˆ–ๆ•ฐๆฎไธๅ‡บๅขƒๆ‰ฟ่ฏบ็š„ๆœๅŠก๏ผˆ็™พๅบฆๅƒๅธ†ใ€้˜ฟ้‡Œไบ‘็™พ็‚ผใ€ๆœฌๅœฐ้ƒจ็ฝฒ DeepSeek ็ญ‰๏ผ‰ใ€‚
',8)])])}const h=s(i,[["render",d]]);export{m as __pageData,h as default}; diff --git "a/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_90.\350\265\204\346\272\220\344\270\216\345\267\245\345\205\267\346\216\250\350\215\220_11. LLM API \345\271\263\345\217\260\346\216\250\350\215\220\344\270\216\351\200\211\345\236\213\346\214\207\345\215\227.md.Pr48zsHZ.lean.js" "b/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_90.\350\265\204\346\272\220\344\270\216\345\267\245\345\205\267\346\216\250\350\215\220_11. LLM API \345\271\263\345\217\260\346\216\250\350\215\220\344\270\216\351\200\211\345\236\213\346\214\207\345\215\227.md.qaanG5K2.lean.js" similarity index 99% rename from "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_90.\350\265\204\346\272\220\344\270\216\345\267\245\345\205\267\346\216\250\350\215\220_11. LLM API \345\271\263\345\217\260\346\216\250\350\215\220\344\270\216\351\200\211\345\236\213\346\214\207\345\215\227.md.Pr48zsHZ.lean.js" rename to "assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_90.\350\265\204\346\272\220\344\270\216\345\267\245\345\205\267\346\216\250\350\215\220_11. LLM API \345\271\263\345\217\260\346\216\250\350\215\220\344\270\216\351\200\211\345\236\213\346\214\207\345\215\227.md.qaanG5K2.lean.js" index c8157d2c..db35091d 100644 --- "a/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_90.\350\265\204\346\272\220\344\270\216\345\267\245\345\205\267\346\216\250\350\215\220_11. LLM API \345\271\263\345\217\260\346\216\250\350\215\220\344\270\216\351\200\211\345\236\213\346\214\207\345\215\227.md.Pr48zsHZ.lean.js" +++ "b/assets/20.AI \345\255\246\344\271\240\344\270\216\345\256\236\350\267\265_90.\350\265\204\346\272\220\344\270\216\345\267\245\345\205\267\346\216\250\350\215\220_11. LLM API \345\271\263\345\217\260\346\216\250\350\215\220\344\270\216\351\200\211\345\236\213\346\214\207\345\215\227.md.qaanG5K2.lean.js" @@ -1 +1 @@ -import{_ as s,g as l,h as n,U as e,i as t}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const m=JSON.parse('{"title":"LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆˆช่‡ณ 2026 ๅนด๏ผŒLLM API ๆœๅŠกๅทฒๅฝขๆˆ\\"ๅฎ˜ๆ–น็›ด่ฟž + ็ฌฌไธ‰ๆ–น่šๅˆ\\"็š„ๅŒ่ฝจๆ ผๅฑ€๏ผŒๆจกๅž‹่ƒฝๅŠ›ใ€ๅฎšไปทใ€ๅˆ่ง„ๆ€งไธŽๆŽฅๅ…ฅไพฟๅˆฉๆ€งๅทฎๅผ‚ๆ˜พ่‘—ใ€‚ๆœฌๆ–‡ไปŽ้€‰ๅž‹ๅ‰ๆ้—ฎๅ‡บๅ‘๏ผŒ็ณป็ปŸๆขณ็†ๅ›ฝ้™…ไธŽๅ›ฝๅ†…ไธปๆตๅฎ˜ๆ–น API ๅนณๅฐ๏ผŒไปฅๅŠ OpenRouterใ€็ก…ๅŸบๆตๅŠจ็ญ‰็ฌฌไธ‰ๆ–น่šๅˆๅนณๅฐ็š„ๆ ธๅฟƒ็‰น็‚น๏ผŒๅนถๆไพ›ๅŸบไบŽๅœบๆ™ฏ็š„ๅ†ณ็ญ–ๆก†ๆžถ๏ผŒๅธฎๅŠฉๅผ€ๅ‘่€…ๅ’Œไบงๅ“ๅ›ข้˜Ÿๅฟซ้€Ÿ้”ๅฎšๆœ€้€‚ๅˆ่‡ชๅทฑ็š„ๆ–นๆกˆใ€‚","frontmatter":{"date":"2026-01-06T15:58:53.000Z","title":"LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆˆช่‡ณ 2026 ๅนด๏ผŒLLM API ๆœๅŠกๅทฒๅฝขๆˆ\\"ๅฎ˜ๆ–น็›ด่ฟž + ็ฌฌไธ‰ๆ–น่šๅˆ\\"็š„ๅŒ่ฝจๆ ผๅฑ€๏ผŒๆจกๅž‹่ƒฝๅŠ›ใ€ๅฎšไปทใ€ๅˆ่ง„ๆ€งไธŽๆŽฅๅ…ฅไพฟๅˆฉๆ€งๅทฎๅผ‚ๆ˜พ่‘—ใ€‚ๆœฌๆ–‡ไปŽ้€‰ๅž‹ๅ‰ๆ้—ฎๅ‡บๅ‘๏ผŒ็ณป็ปŸๆขณ็†ๅ›ฝ้™…ไธŽๅ›ฝๅ†…ไธปๆตๅฎ˜ๆ–น API ๅนณๅฐ๏ผŒไปฅๅŠ OpenRouterใ€็ก…ๅŸบๆตๅŠจ็ญ‰็ฌฌไธ‰ๆ–น่šๅˆๅนณๅฐ็š„ๆ ธๅฟƒ็‰น็‚น๏ผŒๅนถๆไพ›ๅŸบไบŽๅœบๆ™ฏ็š„ๅ†ณ็ญ–ๆก†ๆžถ๏ผŒๅธฎๅŠฉๅผ€ๅ‘่€…ๅ’Œไบงๅ“ๅ›ข้˜Ÿๅฟซ้€Ÿ้”ๅฎšๆœ€้€‚ๅˆ่‡ชๅทฑ็š„ๆ–นๆกˆใ€‚","permalink":"/ai-learning/llm-api-resources","categories":["่ต„ๆบๆŽจ่"],"tags":["่ต„ๆบๆŽจ่","AI","LLM API"]},"headers":[],"relativePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/11. LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—.md","filePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/11. LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—.md"}'),i={name:"20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/11. LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—.md"};function d(o,a,r,c,g,p){return n(),l("div",null,[...a[0]||(a[0]=[e("",11),t("div",{class:"container nav-card-container"},[t("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[t("a",{href:"https://platform.openai.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://openai.com/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"OpenAI Platform")]),t("p",{class:"desc"},"OpenAI ๅฎ˜ๆ–น API ๅนณๅฐ๏ผŒๆไพ› GPT-4oใ€o1ใ€o3ใ€GPT-3.5 ็ญ‰ๅ…จ็ณปๅˆ—ๆจกๅž‹่ฐƒ็”จใ€‚GPT-4o ๅŽŸ็”Ÿๆ”ฏๆŒๆ–‡ๆœฌ/ๅ›พๅƒ/้Ÿณ้ข‘/่ง†้ข‘ๅคšๆจกๆ€่พ“ๅ…ฅ๏ผŒo1/o3 ็ณปๅˆ—ๅ…ทๅค‡ๆทฑๅบฆๆŽจ็†้“พ่ƒฝๅŠ›๏ผŒ้€‚ๅˆๅ†™ไฝœใ€ไปฃ็ ็”Ÿๆˆใ€ๅคๆ‚ๆŽจ็†็ญ‰้ซ˜่ฆๆฑ‚ๅœบๆ™ฏใ€‚ๆ”ฏๆŒ Function Callingใ€ๆตๅผ่พ“ๅ‡บใ€Fine-tuning๏ผŒๆ–‡ๆกฃๅ’Œ็”Ÿๆ€ๆœ€ไธบๆˆ็†Ÿใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅค–")]),t("a",{href:"https://www.anthropic.com/api",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://claude.ai/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Anthropic Claude API")]),t("p",{class:"desc"},"Anthropic ๅฎ˜ๆ–น API๏ผŒๆไพ› Claude 4.6 Sonnet / Haiku / Opus ็ญ‰ๅคš็‰ˆๆœฌๆจกๅž‹๏ผŒ่ถ…้•ฟไธŠไธ‹ๆ–‡ไธš็•Œ้ข†ๅ…ˆ๏ผŒๆŒ‡ไปค้ตๅพช็ฒพๅ‡†ใ€ๅนป่ง‰็އไฝŽใ€่พ“ๅ‡บ็ป“ๆž„ๆธ…ๆ™ฐ๏ผŒๅœจ้•ฟๆ–‡ๆกฃๅˆ†ๆžใ€ๅคๆ‚ไปฃ็ ๅฎกๆŸฅไธŽ AI Agent ๅผ€ๅ‘ๅœบๆ™ฏไธญ่กจ็Žฐๅฐคไธบ็ชๅ‡บใ€‚Haiku ็‰ˆไปทๆ ผ่พƒไฝŽ๏ผŒ้€‚ๅˆ้ซ˜ๅนถๅ‘่ฝป้‡ๅœบๆ™ฏใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅค–")]),t("a",{href:"https://ai.google.dev/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://www.gstatic.com/images/branding/searchlogo/ico/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Gemini API")]),t("p",{class:"desc"},"Google ๅฎ˜ๆ–น Gemini ๆจกๅž‹ API ๅนณๅฐ๏ผŒๆ”ฏๆŒ Gemini 3.0 Pro ไธŽ Gemini 3.0 Flash๏ผˆ้ซ˜้€ŸไฝŽๆˆๆœฌ๏ผ‰็ญ‰็‰ˆๆœฌ๏ผŒๅŽŸ็”Ÿๅคšๆจกๆ€๏ผˆๆ–‡ๆœฌ/ๅ›พ็‰‡/้Ÿณ้ข‘/่ง†้ข‘/ไปฃ็ ๏ผ‰๏ผŒๅ…่ดนๅฅ—้ค้ขๅบฆๆ…ทๆ…จ๏ผŒไธŽ Google Workspaceใ€Vertex AI ๆทฑๅบฆ้›†ๆˆ๏ผŒ้€‚ๅˆ็ ”็ฉถ่พ…ๅŠฉไธŽๅคšๆจกๆ€ๅบ”็”จๅผ€ๅ‘ใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅค–")])])],-1),e("",2),t("div",{class:"container nav-card-container"},[t("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[t("a",{href:"https://platform.deepseek.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://www.deepseek.com/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"DeepSeek API")]),t("p",{class:"desc"},"DeepSeek ๅฎ˜ๆ–น API ๅนณๅฐ๏ผŒๆไพ› DeepSeek-V3๏ผˆ้€š็”จๅฏน่ฏ๏ผ‰ไธŽ DeepSeek-R1๏ผˆๆทฑๅบฆๆŽจ็†๏ผ‰็ญ‰ๆจกๅž‹ใ€‚R1 ็š„ๆ•ฐๅญฆใ€ไปฃ็ ไธŽ้€ป่พ‘ๆŽจ็†่ƒฝๅŠ›ๅทฒ้€ผ่ฟ‘ OpenAI o1๏ผŒไธ”ๆจกๅž‹ๅฎŒๅ…จๅผ€ๆบๆ”ฏๆŒๆœฌๅœฐ้ƒจ็ฝฒใ€‚API ๅฎšไปทไธšๅ†…ๆžไฝŽ๏ผŒๆ˜ฏๆ€งไปทๆฏ”ๆœ€็ชๅ‡บ็š„ๅ›ฝไบงๆจกๅž‹๏ผŒๅฐคๅ…ถๆŽจ่ไปฃ็ ็”ŸๆˆไธŽๆ•ฐๅญฆๆŽจ็†ๅœบๆ™ฏใ€‚"),t("span",{class:"VPBadge tip badge"},"ๆžไฝŽไปท")]),t("a",{href:"https://console.volcengine.com/ark",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://lf-flow-web-cdn.doubao.com/obj/flow-doubao/doubao/chat/favicon.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Doubao API")]),t("p",{class:"desc"},"ๅญ—่Š‚่ทณๅŠจๆ——ไธ‹่ฑ†ๅŒ…ๅคงๆจกๅž‹ๅผ€ๆ”พๅนณๅฐ๏ผŒๆไพ› Doubao-pro / lite ็ญ‰็ณปๅˆ—ๆจกๅž‹ API๏ผŒๅ“ๅบ”้€Ÿๅบฆไธšๅ†…้ข†ๅ…ˆ๏ผŒAPI ๅฎšไปทๆžไฝŽ๏ผˆToken ๅ•ไปทไธบๅ›ฝ้™…้กถๅฐ–ๆจกๅž‹็š„ 1/10 ไปฅไธ‹๏ผ‰๏ผŒๆ–‡ๆกฃๅฎŒๅ–„๏ผŒๆ”ฏๆŒๅ…่ดน้ขๅบฆไธŽไผไธšๆŽฅๅ…ฅ๏ผŒ้€‚ๅˆ้ซ˜ๅนถๅ‘่ฝป้‡ๅฏน่ฏไธŽๅ†…ๅฎนๆ‘˜่ฆๅœบๆ™ฏใ€‚"),t("span",{class:"VPBadge tip badge"},"ๆžไฝŽไปท")]),t("a",{href:"https://platform.moonshot.cn/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://kimi.moonshot.cn/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Kimi API")]),t("p",{class:"desc"},"ๆœˆไน‹ๆš—้ขๅฎ˜ๆ–น API ๅนณๅฐ๏ผŒไธปๆ‰“่ถ…้•ฟไธญๆ–‡ไธŠไธ‹ๆ–‡๏ผˆๆœ€้ซ˜ 128K๏ฝž1M Token๏ผ‰๏ผŒๆ”ฏๆŒ PDF / Word / ไปฃ็ ็ญ‰ๅคšๆ ผๅผๆ–‡ไปถ่งฃๆžไธŽๆทฑๅบฆ็ ”็ฉถๆจกๅผ๏ผŒไธญๆ–‡้•ฟๆ–‡ๆกฃ็†่งฃ่ƒฝๅŠ›ๅ›ฝๅ†…้ข†ๅ…ˆใ€‚้€‚ๅˆๆณ•ๅพ‹ๅˆๅŒๅˆ†ๆžใ€ๅญฆๆœฏ่ฎบๆ–‡็ฒพ่ฏปใ€ๅคšๆ–‡ไปถๅฏนๆฏ”ๆ‘˜่ฆ็ญ‰้‡ๅบฆ้˜…่ฏปๅœบๆ™ฏใ€‚"),t("span",{class:"VPBadge tip badge"},"้•ฟไธŠไธ‹ๆ–‡")]),t("a",{href:"https://www.minimaxi.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://www.minimaxi.com/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"miniMax API")]),t("p",{class:"desc"},"miniMax ๅฎ˜ๆ–นๅผ€ๆ”พๅนณๅฐ๏ผŒๆไพ› MiniMax-Text๏ผˆ100 ไธ‡ Token ้•ฟไธŠไธ‹ๆ–‡๏ผ‰ใ€่ฏญ้Ÿณๅˆๆˆ๏ผˆTTS๏ผ‰ใ€Hailuo AI ่ง†้ข‘็”Ÿๆˆ็ญ‰ๅคšๆจกๆ€ APIใ€‚ๆ–‡ๆœฌ/่ฏญ้Ÿณ/่ง†้ข‘่ƒฝๅŠ›ๅ‡ๅค„ไบŽๅ›ฝๅ†…ๅ‰ๅˆ—๏ผŒ้€‚ๅˆ้œ€่ฆๅคšๆจกๆ€่พ“ๅ‡บใ€่ฏญ้Ÿณๅ…‹้š†ไธŽ AI ่ง†้ข‘็”Ÿๆˆ็š„ๅผ€ๅ‘่€…ใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅคšๆจกๆ€")]),t("a",{href:"https://bailian.console.aliyun.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://img.alicdn.com/imgextra/i4/O1CN01uar8u91DHWktnF2fl_!!6000000000191-2-tps-110-110.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Qwen API")]),t("p",{class:"desc"},"้˜ฟ้‡Œไบ‘ Qwen ็ณปๅˆ—ๆจกๅž‹ๅฎ˜ๆ–น API ๅนณๅฐ๏ผˆ็™พ็‚ผ๏ผ‰๏ผŒๆถต็›– Qwen-Long๏ผˆ้•ฟไธŠไธ‹ๆ–‡๏ผ‰ใ€Qwen-Coder๏ผˆไปฃ็ ๏ผ‰ใ€Qwen-Math๏ผˆๆ•ฐๅญฆ๏ผ‰ใ€Qwen-VL๏ผˆๅคšๆจกๆ€่ง†่ง‰๏ผ‰็ญ‰ไธ“้กนๅญๆจกๅž‹๏ผŒไธŽ้˜ฟ้‡Œไบ‘ใ€้’‰้’‰็”Ÿๆ€ๆทฑๅบฆ้›†ๆˆ๏ผŒ้ƒจๅˆ†ๆจกๅž‹ๅผ€ๆบ๏ผŒๆ–‡ๆกฃๅฎŒๅ–„๏ผŒๆ–ฐ็”จๆˆทๆœ‰่พƒๅคงๅ…่ดน Token ้ขๅบฆใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅ†…")]),t("a",{href:"https://open.bigmodel.cn/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://open.bigmodel.cn/img/icons/favicon-32x32.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"ๆ™บ่ฐฑ AI (GLM)")]),t("p",{class:"desc"},"ๆ™บ่ฐฑ AI ๅฎ˜ๆ–นๅผ€ๆ”พๅนณๅฐ๏ผŒๆไพ› GLM-4 / GLM-4V๏ผˆๅคšๆจกๆ€๏ผ‰/ CodeGeeX๏ผˆไปฃ็ ๏ผ‰็ญ‰็ณปๅˆ—ๆจกๅž‹ API๏ผŒๆ•ฐๅญฆไธŽไปฃ็ ๆŽจ็†่ƒฝๅŠ›็ชๅ‡บ๏ผŒFunction Call ไธŽๅทฅๅ…ท่ฐƒ็”จๅฎŒๅ–„๏ผŒไผไธš RAG / Agent ็”Ÿๆ€ๆˆ็†Ÿ๏ผŒ้€‚ๅˆๅผ€ๅ‘็Ÿฅ่ฏ†ๅบ“้—ฎ็ญ”ใ€Agent ๅทฅๅ…ท้“พไธŽๅ›พๆ–‡ๅคšๆจกๆ€็†่งฃๅบ”็”จใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅ†…")])])],-1),e("",3),t("div",{class:"container nav-card-container"},[t("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[t("a",{href:"https://openrouter.ai/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://openrouter.ai/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"OpenRouter")]),t("p",{class:"desc"},"็›ฎๅ‰ๆœ€ๅ—ๅผ€ๅ‘่€…ๆฌข่ฟŽ็š„ LLM API ่šๅˆๅนณๅฐ๏ผŒ็ปŸไธ€ OpenAI ๅ…ผๅฎนๆŽฅๅฃๅฏ่ทฏ็”ฑ่‡ณ 300+ ๆจกๅž‹๏ผˆGPT-4o / Claude 3.5 / Gemini / LLaMA / DeepSeek ็ญ‰๏ผ‰๏ผŒๆ”ฏๆŒๆŒ‰้‡ไป˜่ดนใ€่‡ชๅŠจ้™็บง Fallbackใ€ๆตๅผ่พ“ๅ‡บไธŽ Function Call๏ผŒๆ˜ฏๅˆ‡ๆข/ๅฏนๆฏ”ๅคšๅฎถๆจกๅž‹็š„้ฆ–้€‰ใ€‚ๆ— ้œ€็ฎก็†ๅคšไธช Key๏ผŒไธ€ไธช่ดฆๅท่งฃๅ†ณๆ‰€ๆœ‰ๆจกๅž‹ๆŽฅๅ…ฅใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅผบ็ƒˆๆŽจ่")]),t("a",{href:"https://cloud.siliconflow.cn/me/models",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("span",{class:"name"},"SiliconFlow")]),t("p",{class:"desc"},"ๅ›ฝๅ†…ๆœ€ๅ—ๅผ€ๅ‘่€…ๆฌข่ฟŽ็š„ LLM API ่šๅˆไธŽๆŽจ็†ๅŠ ้€Ÿๅนณๅฐ๏ผŒๆไพ› DeepSeek / Qwen / GLM / MiniMax ็ญ‰ไธปๆตๆจกๅž‹็š„็ปŸไธ€ API๏ผŒๅ…ผๅฎน OpenAI ๆŽฅๅฃๆ ผๅผ๏ผŒไปทๆ ผไธšๅ†…ๆžไฝŽ๏ผˆ้ƒจๅˆ†ๆจกๅž‹ๅ…่ดน๏ผ‰๏ผŒๅ›ฝๅ†…็›ด่ฟž็จณๅฎš๏ผŒๆณจๅ†Œๅณๅฏๅฟซ้€ŸๆŽฅๅ…ฅ๏ผŒๆ˜ฏๅ›ฝๅ†…ๅผ€ๅ‘่€…ไฝฟ็”จ็ฌฌไธ‰ๆ–น API ็š„้ฆ–้€‰ใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅ†…้ฆ–้€‰")]),t("a",{href:"https://huggingface.co/inference-api",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://huggingface.co/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Hugging Face")]),t("p",{class:"desc"},"ๅ…จ็ƒๆœ€ๅคงๅผ€ๆบ AI ็คพๅŒบ Hugging Face ๆไพ›็š„ๆŽจ็† API๏ผŒๅฏ็›ดๆŽฅ่ฐƒ็”จๅนณๅฐไธŠๆ•ฐๅไธ‡ไธชๅผ€ๆบๆจกๅž‹๏ผˆๆ–‡ๆœฌ/ๅ›พๅƒ/้Ÿณ้ข‘/ๅคšๆจกๆ€๏ผ‰๏ผŒๆ”ฏๆŒ Serverless ๆŒ‰้œ€ๆŽจ็†ไธŽ Dedicated Endpoints ไธ“ๅฑž้ƒจ็ฝฒ๏ผŒๆ˜ฏๅผ€ๆบๆจกๅž‹็”Ÿๆ€็š„ไบ‹ๅฎžๆ ‡ๅ‡†ๅ…ฅๅฃใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅผ€ๆบ็”Ÿๆ€")]),t("a",{href:"https://console.groq.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://groq.com/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Groq")]),t("p",{class:"desc"},"ๅŸบไบŽ่‡ช็ ” LPU๏ผˆLanguage Processing Unit๏ผ‰่Šฏ็‰‡็š„่ถ…้ซ˜้€ŸๆŽจ็†ๅนณๅฐ๏ผŒๅผ€ๆบๆจกๅž‹๏ผˆLLaMA 3 / Mixtral / Gemma / DeepSeek ็ญ‰๏ผ‰ๆŽจ็†้€Ÿๅบฆๅฏ่พพๆ™ฎ้€š GPU ็š„ๆ•ฐๅๅ€๏ผŒๅ…่ดนๅฅ—้คๆ…ทๆ…จ๏ผŒๆŽฅๅฃๅฎŒๅ…จๅ…ผๅฎน OpenAI SDK๏ผŒ้€‚ๅˆๅฏนๅ“ๅบ”ๅปถ่ฟŸๆžๆ•ๆ„Ÿ็š„ๅฎžๆ—ถๅฏน่ฏใ€่ฏญ้ŸณๅŠฉๆ‰‹็ญ‰ๅœบๆ™ฏใ€‚"),t("span",{class:"VPBadge tip badge"},"ๆž้€ŸๆŽจ็†")]),t("a",{href:"https://www.together.ai/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("span",{class:"name"},"Together AI")]),t("p",{class:"desc"},"ไธ“ๆณจๅผ€ๆบๅคงๆจกๅž‹็š„้ซ˜ๆ€ง่ƒฝๆŽจ็†ไธŽๅพฎ่ฐƒๅนณๅฐ๏ผŒๆ”ฏๆŒ LLaMA 3 / Mixtral / Qwen / DBRX ็ญ‰ 100+ ๅผ€ๆบๆจกๅž‹ API ่ฐƒ็”จ๏ผŒๆไพ› Fine-tuning ่ฎญ็ปƒ่ƒฝๅŠ›๏ผŒไปทๆ ผๆžๅ…ท็ซžไบ‰ๅŠ›๏ผŒOpenAI ๅ…ผๅฎนๆŽฅๅฃ๏ผŒ้€‚ๅˆๅผ€ๆบๆจกๅž‹็ ”ๅ‘ไธŽไผไธš็งๆœ‰ๅŒ–ๅพฎ่ฐƒๅœบๆ™ฏใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅผ€ๆบ+ๅพฎ่ฐƒ")]),t("a",{href:"https://replicate.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("span",{class:"name"},"Replicate")]),t("p",{class:"desc"},'ไปฅ"ๆจกๅž‹ๅธ‚ๅœบ"ๅฝขๆ€่ฟ่ฅ็š„ AI API ๅนณๅฐ๏ผŒๆ‰˜็ฎกๆ•ฐๅƒไธชๅผ€ๆบๅ›พๅƒใ€่ฏญ้Ÿณใ€ๆ–‡ๆœฌๆจกๅž‹๏ผˆStable Diffusion / LLaMA / Whisper ็ญ‰๏ผ‰๏ผŒๆฏไธชๆจกๅž‹ๆœ‰็‹ฌ็ซ‹ API ็ซฏ็‚น๏ผŒๆŒ‰ GPU ่ฎก็ฎ—็ง’ๆ•ฐ่ฎก่ดน๏ผŒๆ— ้œ€ๆญๅปบๆŽจ็†ๅŸบ็ก€่ฎพๆ–ฝ๏ผŒ้€‚ๅˆๅฟซ้€Ÿ่ฐƒ็”จๅคšๆจกๆ€ๅผ€ๆบๆจกๅž‹ๅšๅŽŸๅž‹้ชŒ่ฏใ€‚'),t("span",{class:"VPBadge tip badge"},"ๆจกๅž‹ๅธ‚ๅœบ")]),t("a",{href:"https://302.ai/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("span",{class:"name"},"302.AI")]),t("p",{class:"desc"},"ๅ›ฝๅ†…็Ÿฅๅ็š„ AI API ไธญ่ฝฌไธŽ่šๅˆๅนณๅฐ๏ผŒๆ•ดๅˆ OpenAI / Claude / Gemini ็ญ‰ๅ›ฝ้™…ไธปๆตๆจกๅž‹๏ผŒๆไพ›็ปŸไธ€ OpenAI ๅ…ผๅฎน API๏ผŒๆ”ฏๆŒๅ›ฝๅ†…็›ด่ฟžๆ— ้œ€็ง‘ๅญฆไธŠ็ฝ‘๏ผŒๆŒ‰้‡ๅ……ๅ€ผไฝฟ็”จ๏ผŒๅนถ้™„ๅธฆ Web ไฝ“้ชŒ้กต้ข๏ผŒ้€‚ๅˆไธชไบบๅผ€ๅ‘่€…ๅฟซ้€Ÿ่ฐƒ็”จๆตทๅค–ๆจกๅž‹ใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅ†…ไธญ่ฝฌ")]),t("a",{href:"https://api2d.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("span",{class:"name"},"API2D")]),t("p",{class:"desc"},"ไธ“ๆณจ OpenAI ็ณปๅˆ—ๆจกๅž‹ๅ›ฝๅ†…ไธญ่ฝฌ็š„ API ไปฃ็†ๅนณๅฐ๏ผŒๅฎŒๅ…จๅ…ผๅฎน OpenAI SDK๏ผŒๆ”ฏๆŒ GPT / Claude / DALLยทE / Whisper ็ญ‰ๅ…จ็ณปๆจกๅž‹๏ผŒๅ›ฝๅ†…็›ด่ฟž่ฎฟ้—ฎ็จณๅฎš๏ผŒๆŒ‰ Tokens ๆถˆ่€—่ฎก่ดน๏ผŒๆ˜ฏ้œ€่ฆๅœจๅ›ฝๅ†…็จณๅฎšไฝฟ็”จ OpenAI API ็š„ๅผ€ๅ‘่€…็š„ๅธธ็”จ้€‰ๆ‹ฉใ€‚"),t("span",{class:"VPBadge tip badge"},"OpenAI ไธญ่ฝฌ")])])],-1),e("",8)])])}const h=s(i,[["render",d]]);export{m as __pageData,h as default}; +import{_ as s,g as l,h as n,U as e,i as t}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const m=JSON.parse('{"title":"LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆˆช่‡ณ 2026 ๅนด๏ผŒLLM API ๆœๅŠกๅทฒๅฝขๆˆ\\"ๅฎ˜ๆ–น็›ด่ฟž + ็ฌฌไธ‰ๆ–น่šๅˆ\\"็š„ๅŒ่ฝจๆ ผๅฑ€๏ผŒๆจกๅž‹่ƒฝๅŠ›ใ€ๅฎšไปทใ€ๅˆ่ง„ๆ€งไธŽๆŽฅๅ…ฅไพฟๅˆฉๆ€งๅทฎๅผ‚ๆ˜พ่‘—ใ€‚ๆœฌๆ–‡ไปŽ้€‰ๅž‹ๅ‰ๆ้—ฎๅ‡บๅ‘๏ผŒ็ณป็ปŸๆขณ็†ๅ›ฝ้™…ไธŽๅ›ฝๅ†…ไธปๆตๅฎ˜ๆ–น API ๅนณๅฐ๏ผŒไปฅๅŠ OpenRouterใ€็ก…ๅŸบๆตๅŠจ็ญ‰็ฌฌไธ‰ๆ–น่šๅˆๅนณๅฐ็š„ๆ ธๅฟƒ็‰น็‚น๏ผŒๅนถๆไพ›ๅŸบไบŽๅœบๆ™ฏ็š„ๅ†ณ็ญ–ๆก†ๆžถ๏ผŒๅธฎๅŠฉๅผ€ๅ‘่€…ๅ’Œไบงๅ“ๅ›ข้˜Ÿๅฟซ้€Ÿ้”ๅฎšๆœ€้€‚ๅˆ่‡ชๅทฑ็š„ๆ–นๆกˆใ€‚","frontmatter":{"date":"2026-01-06T15:58:53.000Z","title":"LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆˆช่‡ณ 2026 ๅนด๏ผŒLLM API ๆœๅŠกๅทฒๅฝขๆˆ\\"ๅฎ˜ๆ–น็›ด่ฟž + ็ฌฌไธ‰ๆ–น่šๅˆ\\"็š„ๅŒ่ฝจๆ ผๅฑ€๏ผŒๆจกๅž‹่ƒฝๅŠ›ใ€ๅฎšไปทใ€ๅˆ่ง„ๆ€งไธŽๆŽฅๅ…ฅไพฟๅˆฉๆ€งๅทฎๅผ‚ๆ˜พ่‘—ใ€‚ๆœฌๆ–‡ไปŽ้€‰ๅž‹ๅ‰ๆ้—ฎๅ‡บๅ‘๏ผŒ็ณป็ปŸๆขณ็†ๅ›ฝ้™…ไธŽๅ›ฝๅ†…ไธปๆตๅฎ˜ๆ–น API ๅนณๅฐ๏ผŒไปฅๅŠ OpenRouterใ€็ก…ๅŸบๆตๅŠจ็ญ‰็ฌฌไธ‰ๆ–น่šๅˆๅนณๅฐ็š„ๆ ธๅฟƒ็‰น็‚น๏ผŒๅนถๆไพ›ๅŸบไบŽๅœบๆ™ฏ็š„ๅ†ณ็ญ–ๆก†ๆžถ๏ผŒๅธฎๅŠฉๅผ€ๅ‘่€…ๅ’Œไบงๅ“ๅ›ข้˜Ÿๅฟซ้€Ÿ้”ๅฎšๆœ€้€‚ๅˆ่‡ชๅทฑ็š„ๆ–นๆกˆใ€‚","permalink":"/ai-learning/llm-api-resources","categories":["่ต„ๆบๆŽจ่"],"tags":["่ต„ๆบๆŽจ่","AI","LLM API"]},"headers":[],"relativePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/11. LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—.md","filePath":"20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/11. LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—.md"}'),i={name:"20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/11. LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—.md"};function d(o,a,r,c,g,p){return n(),l("div",null,[...a[0]||(a[0]=[e("",11),t("div",{class:"container nav-card-container"},[t("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[t("a",{href:"https://platform.openai.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://openai.com/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"OpenAI Platform")]),t("p",{class:"desc"},"OpenAI ๅฎ˜ๆ–น API ๅนณๅฐ๏ผŒๆไพ› GPT-4oใ€o1ใ€o3ใ€GPT-3.5 ็ญ‰ๅ…จ็ณปๅˆ—ๆจกๅž‹่ฐƒ็”จใ€‚GPT-4o ๅŽŸ็”Ÿๆ”ฏๆŒๆ–‡ๆœฌ/ๅ›พๅƒ/้Ÿณ้ข‘/่ง†้ข‘ๅคšๆจกๆ€่พ“ๅ…ฅ๏ผŒo1/o3 ็ณปๅˆ—ๅ…ทๅค‡ๆทฑๅบฆๆŽจ็†้“พ่ƒฝๅŠ›๏ผŒ้€‚ๅˆๅ†™ไฝœใ€ไปฃ็ ็”Ÿๆˆใ€ๅคๆ‚ๆŽจ็†็ญ‰้ซ˜่ฆๆฑ‚ๅœบๆ™ฏใ€‚ๆ”ฏๆŒ Function Callingใ€ๆตๅผ่พ“ๅ‡บใ€Fine-tuning๏ผŒๆ–‡ๆกฃๅ’Œ็”Ÿๆ€ๆœ€ไธบๆˆ็†Ÿใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅค–")]),t("a",{href:"https://www.anthropic.com/api",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://claude.ai/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Anthropic Claude API")]),t("p",{class:"desc"},"Anthropic ๅฎ˜ๆ–น API๏ผŒๆไพ› Claude 4.6 Sonnet / Haiku / Opus ็ญ‰ๅคš็‰ˆๆœฌๆจกๅž‹๏ผŒ่ถ…้•ฟไธŠไธ‹ๆ–‡ไธš็•Œ้ข†ๅ…ˆ๏ผŒๆŒ‡ไปค้ตๅพช็ฒพๅ‡†ใ€ๅนป่ง‰็އไฝŽใ€่พ“ๅ‡บ็ป“ๆž„ๆธ…ๆ™ฐ๏ผŒๅœจ้•ฟๆ–‡ๆกฃๅˆ†ๆžใ€ๅคๆ‚ไปฃ็ ๅฎกๆŸฅไธŽ AI Agent ๅผ€ๅ‘ๅœบๆ™ฏไธญ่กจ็Žฐๅฐคไธบ็ชๅ‡บใ€‚Haiku ็‰ˆไปทๆ ผ่พƒไฝŽ๏ผŒ้€‚ๅˆ้ซ˜ๅนถๅ‘่ฝป้‡ๅœบๆ™ฏใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅค–")]),t("a",{href:"https://ai.google.dev/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://www.gstatic.com/images/branding/searchlogo/ico/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Gemini API")]),t("p",{class:"desc"},"Google ๅฎ˜ๆ–น Gemini ๆจกๅž‹ API ๅนณๅฐ๏ผŒๆ”ฏๆŒ Gemini 3.0 Pro ไธŽ Gemini 3.0 Flash๏ผˆ้ซ˜้€ŸไฝŽๆˆๆœฌ๏ผ‰็ญ‰็‰ˆๆœฌ๏ผŒๅŽŸ็”Ÿๅคšๆจกๆ€๏ผˆๆ–‡ๆœฌ/ๅ›พ็‰‡/้Ÿณ้ข‘/่ง†้ข‘/ไปฃ็ ๏ผ‰๏ผŒๅ…่ดนๅฅ—้ค้ขๅบฆๆ…ทๆ…จ๏ผŒไธŽ Google Workspaceใ€Vertex AI ๆทฑๅบฆ้›†ๆˆ๏ผŒ้€‚ๅˆ็ ”็ฉถ่พ…ๅŠฉไธŽๅคšๆจกๆ€ๅบ”็”จๅผ€ๅ‘ใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅค–")])])],-1),e("",2),t("div",{class:"container nav-card-container"},[t("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[t("a",{href:"https://platform.deepseek.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://www.deepseek.com/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"DeepSeek API")]),t("p",{class:"desc"},"DeepSeek ๅฎ˜ๆ–น API ๅนณๅฐ๏ผŒๆไพ› DeepSeek-V3๏ผˆ้€š็”จๅฏน่ฏ๏ผ‰ไธŽ DeepSeek-R1๏ผˆๆทฑๅบฆๆŽจ็†๏ผ‰็ญ‰ๆจกๅž‹ใ€‚R1 ็š„ๆ•ฐๅญฆใ€ไปฃ็ ไธŽ้€ป่พ‘ๆŽจ็†่ƒฝๅŠ›ๅทฒ้€ผ่ฟ‘ OpenAI o1๏ผŒไธ”ๆจกๅž‹ๅฎŒๅ…จๅผ€ๆบๆ”ฏๆŒๆœฌๅœฐ้ƒจ็ฝฒใ€‚API ๅฎšไปทไธšๅ†…ๆžไฝŽ๏ผŒๆ˜ฏๆ€งไปทๆฏ”ๆœ€็ชๅ‡บ็š„ๅ›ฝไบงๆจกๅž‹๏ผŒๅฐคๅ…ถๆŽจ่ไปฃ็ ็”ŸๆˆไธŽๆ•ฐๅญฆๆŽจ็†ๅœบๆ™ฏใ€‚"),t("span",{class:"VPBadge tip badge"},"ๆžไฝŽไปท")]),t("a",{href:"https://console.volcengine.com/ark",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://lf-flow-web-cdn.doubao.com/obj/flow-doubao/doubao/chat/favicon.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Doubao API")]),t("p",{class:"desc"},"ๅญ—่Š‚่ทณๅŠจๆ——ไธ‹่ฑ†ๅŒ…ๅคงๆจกๅž‹ๅผ€ๆ”พๅนณๅฐ๏ผŒๆไพ› Doubao-pro / lite ็ญ‰็ณปๅˆ—ๆจกๅž‹ API๏ผŒๅ“ๅบ”้€Ÿๅบฆไธšๅ†…้ข†ๅ…ˆ๏ผŒAPI ๅฎšไปทๆžไฝŽ๏ผˆToken ๅ•ไปทไธบๅ›ฝ้™…้กถๅฐ–ๆจกๅž‹็š„ 1/10 ไปฅไธ‹๏ผ‰๏ผŒๆ–‡ๆกฃๅฎŒๅ–„๏ผŒๆ”ฏๆŒๅ…่ดน้ขๅบฆไธŽไผไธšๆŽฅๅ…ฅ๏ผŒ้€‚ๅˆ้ซ˜ๅนถๅ‘่ฝป้‡ๅฏน่ฏไธŽๅ†…ๅฎนๆ‘˜่ฆๅœบๆ™ฏใ€‚"),t("span",{class:"VPBadge tip badge"},"ๆžไฝŽไปท")]),t("a",{href:"https://platform.moonshot.cn/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://kimi.moonshot.cn/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Kimi API")]),t("p",{class:"desc"},"ๆœˆไน‹ๆš—้ขๅฎ˜ๆ–น API ๅนณๅฐ๏ผŒไธปๆ‰“่ถ…้•ฟไธญๆ–‡ไธŠไธ‹ๆ–‡๏ผˆๆœ€้ซ˜ 128K๏ฝž1M Token๏ผ‰๏ผŒๆ”ฏๆŒ PDF / Word / ไปฃ็ ็ญ‰ๅคšๆ ผๅผๆ–‡ไปถ่งฃๆžไธŽๆทฑๅบฆ็ ”็ฉถๆจกๅผ๏ผŒไธญๆ–‡้•ฟๆ–‡ๆกฃ็†่งฃ่ƒฝๅŠ›ๅ›ฝๅ†…้ข†ๅ…ˆใ€‚้€‚ๅˆๆณ•ๅพ‹ๅˆๅŒๅˆ†ๆžใ€ๅญฆๆœฏ่ฎบๆ–‡็ฒพ่ฏปใ€ๅคšๆ–‡ไปถๅฏนๆฏ”ๆ‘˜่ฆ็ญ‰้‡ๅบฆ้˜…่ฏปๅœบๆ™ฏใ€‚"),t("span",{class:"VPBadge tip badge"},"้•ฟไธŠไธ‹ๆ–‡")]),t("a",{href:"https://www.minimaxi.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://www.minimaxi.com/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"miniMax API")]),t("p",{class:"desc"},"miniMax ๅฎ˜ๆ–นๅผ€ๆ”พๅนณๅฐ๏ผŒๆไพ› MiniMax-Text๏ผˆ100 ไธ‡ Token ้•ฟไธŠไธ‹ๆ–‡๏ผ‰ใ€่ฏญ้Ÿณๅˆๆˆ๏ผˆTTS๏ผ‰ใ€Hailuo AI ่ง†้ข‘็”Ÿๆˆ็ญ‰ๅคšๆจกๆ€ APIใ€‚ๆ–‡ๆœฌ/่ฏญ้Ÿณ/่ง†้ข‘่ƒฝๅŠ›ๅ‡ๅค„ไบŽๅ›ฝๅ†…ๅ‰ๅˆ—๏ผŒ้€‚ๅˆ้œ€่ฆๅคšๆจกๆ€่พ“ๅ‡บใ€่ฏญ้Ÿณๅ…‹้š†ไธŽ AI ่ง†้ข‘็”Ÿๆˆ็š„ๅผ€ๅ‘่€…ใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅคšๆจกๆ€")]),t("a",{href:"https://bailian.console.aliyun.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://img.alicdn.com/imgextra/i4/O1CN01uar8u91DHWktnF2fl_!!6000000000191-2-tps-110-110.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Qwen API")]),t("p",{class:"desc"},"้˜ฟ้‡Œไบ‘ Qwen ็ณปๅˆ—ๆจกๅž‹ๅฎ˜ๆ–น API ๅนณๅฐ๏ผˆ็™พ็‚ผ๏ผ‰๏ผŒๆถต็›– Qwen-Long๏ผˆ้•ฟไธŠไธ‹ๆ–‡๏ผ‰ใ€Qwen-Coder๏ผˆไปฃ็ ๏ผ‰ใ€Qwen-Math๏ผˆๆ•ฐๅญฆ๏ผ‰ใ€Qwen-VL๏ผˆๅคšๆจกๆ€่ง†่ง‰๏ผ‰็ญ‰ไธ“้กนๅญๆจกๅž‹๏ผŒไธŽ้˜ฟ้‡Œไบ‘ใ€้’‰้’‰็”Ÿๆ€ๆทฑๅบฆ้›†ๆˆ๏ผŒ้ƒจๅˆ†ๆจกๅž‹ๅผ€ๆบ๏ผŒๆ–‡ๆกฃๅฎŒๅ–„๏ผŒๆ–ฐ็”จๆˆทๆœ‰่พƒๅคงๅ…่ดน Token ้ขๅบฆใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅ†…")]),t("a",{href:"https://open.bigmodel.cn/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://open.bigmodel.cn/img/icons/favicon-32x32.png",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"ๆ™บ่ฐฑ AI (GLM)")]),t("p",{class:"desc"},"ๆ™บ่ฐฑ AI ๅฎ˜ๆ–นๅผ€ๆ”พๅนณๅฐ๏ผŒๆไพ› GLM-4 / GLM-4V๏ผˆๅคšๆจกๆ€๏ผ‰/ CodeGeeX๏ผˆไปฃ็ ๏ผ‰็ญ‰็ณปๅˆ—ๆจกๅž‹ API๏ผŒๆ•ฐๅญฆไธŽไปฃ็ ๆŽจ็†่ƒฝๅŠ›็ชๅ‡บ๏ผŒFunction Call ไธŽๅทฅๅ…ท่ฐƒ็”จๅฎŒๅ–„๏ผŒไผไธš RAG / Agent ็”Ÿๆ€ๆˆ็†Ÿ๏ผŒ้€‚ๅˆๅผ€ๅ‘็Ÿฅ่ฏ†ๅบ“้—ฎ็ญ”ใ€Agent ๅทฅๅ…ท้“พไธŽๅ›พๆ–‡ๅคšๆจกๆ€็†่งฃๅบ”็”จใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅ†…")])])],-1),e("",3),t("div",{class:"container nav-card-container"},[t("div",{class:"nav-card index-auto",style:{"--row-gap":"20px","--column-gap":"20px","--column-min-width":"calc(100% / 4 - 60px)"}},[t("a",{href:"https://openrouter.ai/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://openrouter.ai/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"OpenRouter")]),t("p",{class:"desc"},"็›ฎๅ‰ๆœ€ๅ—ๅผ€ๅ‘่€…ๆฌข่ฟŽ็š„ LLM API ่šๅˆๅนณๅฐ๏ผŒ็ปŸไธ€ OpenAI ๅ…ผๅฎนๆŽฅๅฃๅฏ่ทฏ็”ฑ่‡ณ 300+ ๆจกๅž‹๏ผˆGPT-4o / Claude 3.5 / Gemini / LLaMA / DeepSeek ็ญ‰๏ผ‰๏ผŒๆ”ฏๆŒๆŒ‰้‡ไป˜่ดนใ€่‡ชๅŠจ้™็บง Fallbackใ€ๆตๅผ่พ“ๅ‡บไธŽ Function Call๏ผŒๆ˜ฏๅˆ‡ๆข/ๅฏนๆฏ”ๅคšๅฎถๆจกๅž‹็š„้ฆ–้€‰ใ€‚ๆ— ้œ€็ฎก็†ๅคšไธช Key๏ผŒไธ€ไธช่ดฆๅท่งฃๅ†ณๆ‰€ๆœ‰ๆจกๅž‹ๆŽฅๅ…ฅใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅผบ็ƒˆๆŽจ่")]),t("a",{href:"https://cloud.siliconflow.cn/me/models",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("span",{class:"name"},"SiliconFlow")]),t("p",{class:"desc"},"ๅ›ฝๅ†…ๆœ€ๅ—ๅผ€ๅ‘่€…ๆฌข่ฟŽ็š„ LLM API ่šๅˆไธŽๆŽจ็†ๅŠ ้€Ÿๅนณๅฐ๏ผŒๆไพ› DeepSeek / Qwen / GLM / MiniMax ็ญ‰ไธปๆตๆจกๅž‹็š„็ปŸไธ€ API๏ผŒๅ…ผๅฎน OpenAI ๆŽฅๅฃๆ ผๅผ๏ผŒไปทๆ ผไธšๅ†…ๆžไฝŽ๏ผˆ้ƒจๅˆ†ๆจกๅž‹ๅ…่ดน๏ผ‰๏ผŒๅ›ฝๅ†…็›ด่ฟž็จณๅฎš๏ผŒๆณจๅ†Œๅณๅฏๅฟซ้€ŸๆŽฅๅ…ฅ๏ผŒๆ˜ฏๅ›ฝๅ†…ๅผ€ๅ‘่€…ไฝฟ็”จ็ฌฌไธ‰ๆ–น API ็š„้ฆ–้€‰ใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅ†…้ฆ–้€‰")]),t("a",{href:"https://huggingface.co/inference-api",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://huggingface.co/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Hugging Face")]),t("p",{class:"desc"},"ๅ…จ็ƒๆœ€ๅคงๅผ€ๆบ AI ็คพๅŒบ Hugging Face ๆไพ›็š„ๆŽจ็† API๏ผŒๅฏ็›ดๆŽฅ่ฐƒ็”จๅนณๅฐไธŠๆ•ฐๅไธ‡ไธชๅผ€ๆบๆจกๅž‹๏ผˆๆ–‡ๆœฌ/ๅ›พๅƒ/้Ÿณ้ข‘/ๅคšๆจกๆ€๏ผ‰๏ผŒๆ”ฏๆŒ Serverless ๆŒ‰้œ€ๆŽจ็†ไธŽ Dedicated Endpoints ไธ“ๅฑž้ƒจ็ฝฒ๏ผŒๆ˜ฏๅผ€ๆบๆจกๅž‹็”Ÿๆ€็š„ไบ‹ๅฎžๆ ‡ๅ‡†ๅ…ฅๅฃใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅผ€ๆบ็”Ÿๆ€")]),t("a",{href:"https://console.groq.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("div",{class:"nav-card__item__img skeleton-image"},[t("img",{src:"https://groq.com/favicon.ico",class:"no-preview",onload:"this.classList.add('loaded')",onerror:"this.classList.add('loaded')"})]),t("span",{class:"name"},"Groq")]),t("p",{class:"desc"},"ๅŸบไบŽ่‡ช็ ” LPU๏ผˆLanguage Processing Unit๏ผ‰่Šฏ็‰‡็š„่ถ…้ซ˜้€ŸๆŽจ็†ๅนณๅฐ๏ผŒๅผ€ๆบๆจกๅž‹๏ผˆLLaMA 3 / Mixtral / Gemma / DeepSeek ็ญ‰๏ผ‰ๆŽจ็†้€Ÿๅบฆๅฏ่พพๆ™ฎ้€š GPU ็š„ๆ•ฐๅๅ€๏ผŒๅ…่ดนๅฅ—้คๆ…ทๆ…จ๏ผŒๆŽฅๅฃๅฎŒๅ…จๅ…ผๅฎน OpenAI SDK๏ผŒ้€‚ๅˆๅฏนๅ“ๅบ”ๅปถ่ฟŸๆžๆ•ๆ„Ÿ็š„ๅฎžๆ—ถๅฏน่ฏใ€่ฏญ้ŸณๅŠฉๆ‰‹็ญ‰ๅœบๆ™ฏใ€‚"),t("span",{class:"VPBadge tip badge"},"ๆž้€ŸๆŽจ็†")]),t("a",{href:"https://www.together.ai/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("span",{class:"name"},"Together AI")]),t("p",{class:"desc"},"ไธ“ๆณจๅผ€ๆบๅคงๆจกๅž‹็š„้ซ˜ๆ€ง่ƒฝๆŽจ็†ไธŽๅพฎ่ฐƒๅนณๅฐ๏ผŒๆ”ฏๆŒ LLaMA 3 / Mixtral / Qwen / DBRX ็ญ‰ 100+ ๅผ€ๆบๆจกๅž‹ API ่ฐƒ็”จ๏ผŒๆไพ› Fine-tuning ่ฎญ็ปƒ่ƒฝๅŠ›๏ผŒไปทๆ ผๆžๅ…ท็ซžไบ‰ๅŠ›๏ผŒOpenAI ๅ…ผๅฎนๆŽฅๅฃ๏ผŒ้€‚ๅˆๅผ€ๆบๆจกๅž‹็ ”ๅ‘ไธŽไผไธš็งๆœ‰ๅŒ–ๅพฎ่ฐƒๅœบๆ™ฏใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅผ€ๆบ+ๅพฎ่ฐƒ")]),t("a",{href:"https://replicate.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("span",{class:"name"},"Replicate")]),t("p",{class:"desc"},'ไปฅ"ๆจกๅž‹ๅธ‚ๅœบ"ๅฝขๆ€่ฟ่ฅ็š„ AI API ๅนณๅฐ๏ผŒๆ‰˜็ฎกๆ•ฐๅƒไธชๅผ€ๆบๅ›พๅƒใ€่ฏญ้Ÿณใ€ๆ–‡ๆœฌๆจกๅž‹๏ผˆStable Diffusion / LLaMA / Whisper ็ญ‰๏ผ‰๏ผŒๆฏไธชๆจกๅž‹ๆœ‰็‹ฌ็ซ‹ API ็ซฏ็‚น๏ผŒๆŒ‰ GPU ่ฎก็ฎ—็ง’ๆ•ฐ่ฎก่ดน๏ผŒๆ— ้œ€ๆญๅปบๆŽจ็†ๅŸบ็ก€่ฎพๆ–ฝ๏ผŒ้€‚ๅˆๅฟซ้€Ÿ่ฐƒ็”จๅคšๆจกๆ€ๅผ€ๆบๆจกๅž‹ๅšๅŽŸๅž‹้ชŒ่ฏใ€‚'),t("span",{class:"VPBadge tip badge"},"ๆจกๅž‹ๅธ‚ๅœบ")]),t("a",{href:"https://302.ai/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("span",{class:"name"},"302.AI")]),t("p",{class:"desc"},"ๅ›ฝๅ†…็Ÿฅๅ็š„ AI API ไธญ่ฝฌไธŽ่šๅˆๅนณๅฐ๏ผŒๆ•ดๅˆ OpenAI / Claude / Gemini ็ญ‰ๅ›ฝ้™…ไธปๆตๆจกๅž‹๏ผŒๆไพ›็ปŸไธ€ OpenAI ๅ…ผๅฎน API๏ผŒๆ”ฏๆŒๅ›ฝๅ†…็›ด่ฟžๆ— ้œ€็ง‘ๅญฆไธŠ็ฝ‘๏ผŒๆŒ‰้‡ๅ……ๅ€ผไฝฟ็”จ๏ผŒๅนถ้™„ๅธฆ Web ไฝ“้ชŒ้กต้ข๏ผŒ้€‚ๅˆไธชไบบๅผ€ๅ‘่€…ๅฟซ้€Ÿ่ฐƒ็”จๆตทๅค–ๆจกๅž‹ใ€‚"),t("span",{class:"VPBadge tip badge"},"ๅ›ฝๅ†…ไธญ่ฝฌ")]),t("a",{href:"https://api2d.com/",target:"_blank",class:"nav-card__item row-4",style:{"--desc-line-clamp":"2"}},[t("div",{class:"nav-card__item__info"},[t("span",{class:"name"},"API2D")]),t("p",{class:"desc"},"ไธ“ๆณจ OpenAI ็ณปๅˆ—ๆจกๅž‹ๅ›ฝๅ†…ไธญ่ฝฌ็š„ API ไปฃ็†ๅนณๅฐ๏ผŒๅฎŒๅ…จๅ…ผๅฎน OpenAI SDK๏ผŒๆ”ฏๆŒ GPT / Claude / DALLยทE / Whisper ็ญ‰ๅ…จ็ณปๆจกๅž‹๏ผŒๅ›ฝๅ†…็›ด่ฟž่ฎฟ้—ฎ็จณๅฎš๏ผŒๆŒ‰ Tokens ๆถˆ่€—่ฎก่ดน๏ผŒๆ˜ฏ้œ€่ฆๅœจๅ›ฝๅ†…็จณๅฎšไฝฟ็”จ OpenAI API ็š„ๅผ€ๅ‘่€…็š„ๅธธ็”จ้€‰ๆ‹ฉใ€‚"),t("span",{class:"VPBadge tip badge"},"OpenAI ไธญ่ฝฌ")])])],-1),e("",8)])])}const h=s(i,[["render",d]]);export{m as __pageData,h as default}; diff --git "a/assets/30.\346\202\246\350\257\273\346\227\266\345\205\211_01.\345\245\275\344\271\246\346\216\250\350\215\220.md.BVzgXE8N.js" "b/assets/30.\346\202\246\350\257\273\346\227\266\345\205\211_01.\345\245\275\344\271\246\346\216\250\350\215\220.md.lGftAF4x.js" similarity index 99% rename from "assets/30.\346\202\246\350\257\273\346\227\266\345\205\211_01.\345\245\275\344\271\246\346\216\250\350\215\220.md.BVzgXE8N.js" rename to "assets/30.\346\202\246\350\257\273\346\227\266\345\205\211_01.\345\245\275\344\271\246\346\216\250\350\215\220.md.lGftAF4x.js" index f8edf5c2..23539f17 100644 --- "a/assets/30.\346\202\246\350\257\273\346\227\266\345\205\211_01.\345\245\275\344\271\246\346\216\250\350\215\220.md.BVzgXE8N.js" +++ "b/assets/30.\346\202\246\350\257\273\346\227\266\345\205\211_01.\345\245\275\344\271\246\346\216\250\350\215\220.md.lGftAF4x.js" @@ -1 +1 @@ -import{d as A,p as B,h as a,z as h,Y as I,s as W,g as l,y as _,v as P,i as e,W as v,x as c,F as p,t as f,S as n,T as Y,_ as C,r as j,c as T,k as M,U as x,l as g}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const $="/img/cover/health_bg.png",N={class:"book-panel__drawer"},V={class:"book-panel__header-meta"},G={class:"book-panel__title"},D={class:"book-panel__author"},F={class:"book-panel__body"},R={class:"book-panel__top-bar"},Z={class:"book-panel__top-left"},H={class:"book-panel__tags"},J={key:0,class:"book-panel__rating"},O={class:"stars"},E={key:0,viewBox:"0 0 24 24",fill:"currentColor"},K={key:1,viewBox:"0 0 24 24",class:"half-star"},Q=["id"],X=["clip-path"],U={key:2,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.5"},ee={class:"rating-text"},te={class:"book-panel__links"},oe=["href"],ae={width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",style:{"flex-shrink":"0"}},le=["href"],re={width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",style:{"flex-shrink":"0"}},ne={class:"book-panel__section"},se={class:"book-panel__desc"},ie={key:0,class:"book-panel__section"},de={class:"book-panel__highlights"},ce=A({__name:"BookDetailPanel",props:{book:{},open:{type:Boolean},heroColor:{},tagColors:{}},emits:["close"],setup(r,{emit:b}){const t=b;return(w,o)=>(a(),B(Y,{to:"body"},[h(I,{name:"panel-slide"},{default:W(()=>[r.open&&r.book?(a(),l("div",{key:0,class:"book-panel",onClick:o[2]||(o[2]=P(i=>t("close"),["self"]))},[e("div",{class:"book-panel__overlay",onClick:o[0]||(o[0]=i=>t("close"))}),e("div",N,[e("div",{class:"book-panel__header",style:v({background:r.heroColor})},[e("button",{class:"book-panel__close",title:"ๅ…ณ้—ญ",onClick:o[1]||(o[1]=i=>t("close"))},[...o[3]||(o[3]=[e("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none"},[e("path",{d:"M12 4L4 12M4 4l8 8",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)])]),e("div",V,[e("h2",G,c(r.book.title),1),e("p",D,c(r.book.author),1)])],4),e("div",F,[e("div",R,[e("div",Z,[e("div",H,[(a(!0),l(p,null,f(r.book.tags,(i,m)=>(a(),l("span",{key:i,class:"book-panel__tag",style:v({background:r.tagColors[m%r.tagColors.length].bg,color:r.tagColors[m%r.tagColors.length].text})},c(i),5))),128))]),r.book.rating!=null?(a(),l("div",J,[o[8]||(o[8]=e("span",{class:"rating-label"},"ๆŽจ่ๆŒ‡ๆ•ฐ:",-1)),e("div",O,[(a(),l(p,null,f(5,i=>e("span",{key:i,class:"star"},[i<=Math.floor(r.book.rating)?(a(),l("svg",E,[...o[4]||(o[4]=[e("path",{d:"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z"},null,-1)])])):i===Math.ceil(r.book.rating)&&r.book.rating%1!==0?(a(),l("svg",K,[e("defs",null,[e("clipPath",{id:"clip-"+r.book.id},[...o[5]||(o[5]=[e("rect",{x:"0",y:"0",width:"12",height:"24"},null,-1)])],8,Q)]),o[6]||(o[6]=e("path",{class:"star-empty",d:"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z",fill:"none",stroke:"currentColor","stroke-width":"1.5"},null,-1)),e("path",{class:"star-filled",d:"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z",fill:"currentColor","clip-path":"url(#clip-"+r.book.id+")"},null,8,X)])):(a(),l("svg",U,[...o[7]||(o[7]=[e("path",{d:"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z"},null,-1)])]))])),64))]),e("span",ee,c(r.book.rating.toFixed(1)),1)])):_("",!0)]),e("div",te,[e("a",{href:r.book.link,target:"_blank",rel:"noopener",class:"book-panel__link-btn"},[(a(),l("svg",ae,[...o[9]||(o[9]=[e("path",{d:"M18 13v6a2 2 0 01-2 2H5a2 2 0 01-2-2V8a2 2 0 012-2h6M15 3h6v6M10 14L21 3",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},null,-1)])])),o[10]||(o[10]=n(" ่ฑ†็“ฃ ",-1))],8,oe),r.book.wereadLink?(a(),l("a",{key:0,href:r.book.wereadLink,target:"_blank",rel:"noopener",class:"book-panel__link-btn"},[(a(),l("svg",re,[...o[11]||(o[11]=[e("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z",fill:"currentColor"},null,-1)])])),o[12]||(o[12]=n(" ๅพฎไฟก่ฏปไนฆ ",-1))],8,le)):_("",!0)])]),o[15]||(o[15]=e("div",{class:"book-panel__divider"},null,-1)),e("section",ne,[o[13]||(o[13]=e("h3",{class:"book-panel__section-title"},[e("span",{class:"book-panel__section-icon"},"๐Ÿ“–"),n(" ๅ†…ๅฎน็ฎ€ไป‹ ")],-1)),e("p",se,c(r.book.desc),1)]),r.book.highlights&&r.book.highlights.length>0?(a(),l("section",ie,[o[14]||(o[14]=e("h3",{class:"book-panel__section-title"},[e("span",{class:"book-panel__section-icon"},"โœจ"),n(" ไนฆ็ฑไบฎ็‚น ")],-1)),e("ul",de,[(a(!0),l(p,null,f(r.book.highlights,(i,m)=>(a(),l("li",{key:m,class:"book-panel__highlight-item"},c(i),1))),128))])])):_("",!0)])])])):_("",!0)]),_:1})]))}}),he=C(ce,[["__scopeId","data-v-1ddfc013"]]),be={class:"book-list"},ue=["onClick"],ge=["src","alt"],ke={class:"book-cover__overlay"},pe={key:0,class:"book-cover__hint"},we=["href"],me={class:"book-info"},_e={class:"book-info__title"},fe={class:"book-info__author"},qe={key:0,class:"book-info__rating"},ve={class:"stars"},je={key:0,viewBox:"0 0 24 24",fill:"currentColor"},Le={key:1,viewBox:"0 0 24 24",class:"half-star"},ye=["id"],Se=["clip-path"],xe={key:2,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.5"},Ae={class:"rating-text"},Pe={class:"book-info__tags"},Ce={class:"book-info__desc"},ze=A({__name:"BookRecommend",props:{books:{}},setup(r){const b=["linear-gradient(135deg, #e8f0fe 0%, #c7d9fd 100%)","linear-gradient(135deg, #e6f4ea 0%, #b7dfc4 100%)","linear-gradient(135deg, #fff3e0 0%, #ffd9a0 100%)","linear-gradient(135deg, #fce4ec 0%, #f8b4c8 100%)","linear-gradient(135deg, #ede7f6 0%, #cdb8ee 100%)","linear-gradient(135deg, #e0f7fa 0%, #9ee8f0 100%)"],t=[{bg:"#e8f0fe",text:"#3b5bdb"},{bg:"#e6f4ea",text:"#2e7d32"},{bg:"#fff3e0",text:"#e65100"},{bg:"#fce4ec",text:"#c2185b"},{bg:"#ede7f6",text:"#6a1b9a"},{bg:"#e0f7fa",text:"#00838f"}],w=j(null),o=j(0),i=j(!1),m=T(()=>b[o.value%b.length]);function z(q,d){q.withPanel!==!1&&(w.value?.id===q.id&&i.value?L():(w.value=q,o.value=d,i.value=!0))}function L(){i.value=!1,setTimeout(()=>{w.value=null},300)}return(q,d)=>(a(),l(p,null,[e("div",be,[(a(!0),l(p,null,f(r.books,(s,y)=>(a(),l("div",{key:s.id,class:M(["book-card",{"book-card--active":w.value?.id===s.id&&i.value}]),onClick:u=>z(s,y)},[e("div",{class:"book-cover",style:v({background:b[y%b.length]})},[s.cover?(a(),l("img",{key:0,src:s.cover,alt:s.title,class:"book-cover__img"},null,8,ge)):_("",!0),e("div",ke,[s.withPanel!==!1?(a(),l("span",pe,"็‚นๅ‡ปๆŸฅ็œ‹่ฏฆๆƒ…")):(a(),l("a",{key:1,href:s.link,target:"_blank",rel:"noopener",class:"book-cover__hint",onClick:d[0]||(d[0]=P(()=>{},["stop"]))},"ๆŸฅ็œ‹่ฑ†็“ฃ",8,we))])],4),e("div",me,[e("div",_e,"ใ€Š"+c(s.title)+"ใ€‹",1),e("div",fe,c(s.author),1),s.rating!=null?(a(),l("div",qe,[e("div",ve,[(a(),l(p,null,f(5,u=>e("span",{key:u,class:"star"},[u<=Math.floor(s.rating)?(a(),l("svg",je,[...d[1]||(d[1]=[e("path",{d:"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z"},null,-1)])])):u===Math.ceil(s.rating)&&s.rating%1!==0?(a(),l("svg",Le,[e("defs",null,[e("clipPath",{id:"card-clip-"+s.id},[...d[2]||(d[2]=[e("rect",{x:"0",y:"0",width:"12",height:"24"},null,-1)])],8,ye)]),d[3]||(d[3]=e("path",{class:"star-empty",d:"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z",fill:"none",stroke:"currentColor","stroke-width":"1.5"},null,-1)),e("path",{class:"star-filled",d:"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z",fill:"currentColor","clip-path":"url(#card-clip-"+s.id+")"},null,8,Se)])):(a(),l("svg",xe,[...d[4]||(d[4]=[e("path",{d:"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z"},null,-1)])]))])),64))]),e("span",Ae,c(s.rating.toFixed(1)),1)])):_("",!0),e("div",Pe,[(a(!0),l(p,null,f(s.tags,(u,S)=>(a(),l("span",{key:u,class:"tag",style:v({background:t[S%t.length].bg,color:t[S%t.length].text})},c(u),5))),128))]),e("p",Ce,c(s.desc),1)])],10,ue))),128))]),h(he,{book:w.value,open:i.value,"hero-color":m.value,"tag-colors":t,onClose:L},null,8,["book","open","hero-color"])],64))}}),k=C(ze,[["__scopeId","data-v-fd79cd55"]]),Be=[{id:"book-001",title:"ๅฟƒไธญๆœ‰ๆ•ฐ๏ผš็”Ÿๆดปไธญ็š„ๆ•ฐๅญฆๆ€็ปด",author:"ๅˆ˜้›ชๅณฐ",cover:"https://cdn.weread.qq.com/weread/cover/39/3300018939/t6_3300018939.jpg",wereadLink:"https://weread.qq.com/web/reader/df6323a0813ab6de5g019a31#outline?noScroll=1",link:"https://book.douban.com/subject/35749693/",tags:["ๆ•ฐๅญฆๆ€็ปด","็ง‘ๆ™ฎ","ๅ†ณ็ญ–"],desc:"ๆœฌไนฆ้€š่ฟ‡ๅคง้‡่ดด่ฟ‘ๆ—ฅๅธธ็š„ไพ‹ๅญ๏ผŒๅฑ•็คบๆ•ฐๅญฆๆ€็ปดๅฆ‚ไฝ•ไผ˜ๅŒ–ๆˆ‘ไปฌ็š„็”Ÿๆดปๅ†ณ็ญ–ใ€‚ไฝœ่€…็”จๆฆ‚็އใ€็ปŸ่ฎกใ€ๆœ€ไผ˜ๅŒ–็ญ‰ๆ•ฐๅญฆๅทฅๅ…ท๏ผŒไธบ็”Ÿๆดปใ€่Œๅœบใ€ไบบ้™…ไบคๅพ€ไธญ็š„ๆƒ่กก้—ฎ้ข˜ๆไพ›ๅˆ†ๆžๆก†ๆžถ๏ผŒๅธฎๅŠฉ่ฏป่€…ๅœจ้ขๅฏนไธ็กฎๅฎšๆ€งๆ—ถๅƒ่ฎก็ฎ—ๆœบไธ€ๆ ทๆ‰พๅˆฐโ€œๆœ€ไผ˜่งฃโ€ใ€‚",rating:4.9,highlights:["ๅฐ†ๅคงๆ•ฐๅฎšๅพ‹ใ€ๆœ€ๅฐไบŒไน˜ๆณ•็ญ‰็กฌๆ ธๆ•ฐๅญฆๆฆ‚ๅฟตไธŽๆ—ฅๅธธ็”Ÿๆดปๅทงๅฆ™็ป“ๅˆ","ๆไพ›ๅบ”ๅฏนไธ็กฎๅฎšๆ€งๅ’Œๅคš็›ฎๆ ‡ๆЉๆ‹ฉ็š„็ง‘ๅญฆๅ†ณ็ญ–ๆก†ๆžถ","ๅผบ่ฐƒๆ•ฐๅญฆไธไป…ๆ˜ฏๅ…ฌๅผ่ฎก็ฎ—๏ผŒๆ›ดๆ˜ฏ็œ‹ไธ–็•Œใ€ไผ˜ๅŒ–ไบบ็”Ÿ็š„้ซ˜ๆ•ˆๆ€็ปดๅทฅๅ…ท"]},{id:"book-0020",title:"ๆ™บๆ…ง็š„็–†็•Œ๏ผšไปŽๅ›พ็ตๆœบๅˆฐไบบๅทฅๆ™บ่ƒฝ",author:"ๅ‘จๅฟ—ๆ˜Ž",cover:"https://cdn.weread.qq.com/weread/cover/92/YueWen_23637052/t6_YueWen_23637052.jpg",wereadLink:"https://weread.qq.com/web/reader/b9732f007168ac3cb976eca#outline?noScroll=1",link:"https://book.douban.com/subject/30379536/",tags:["ไบบๅทฅๆ™บ่ƒฝ","็ง‘ๆŠ€ๅฒ","้€š่ฏ†่ฏป็‰ฉ"],desc:"ๆœฌไนฆๆ˜ฏไธ€้ƒจ้ขๅ‘ๅคงไผ—็š„ไบบๅทฅๆ™บ่ƒฝ้€š่ฏ†่ฏป็‰ฉใ€‚ไฝœ่€…ๅ‘จๆ˜Žไปฅๆ—ถ้—ดไธบไธป็บฟ๏ผŒๅฐ†ไบบๅทฅๆ™บ่ƒฝ็š„ๅ‘ๅฑ•ๅކ็จ‹ใ€ๅ…ณ้”ฎไบบ็‰ฉไธŽ้‡Œ็จ‹็ข‘ไบ‹ไปถไธฒ่”่ตทๆฅ๏ผŒไปŽไบ”ไธช็ปดๅบฆๅฑ•ๅผ€๏ผšๅญฆๆœฏ็†่ฎบใ€ๅކๅฒๆฒฟ้ฉใ€ๆŠ€ๆœฏๅบ”็”จใ€็ ”็ฉถๆˆๆžœไปฅๅŠ้ขไธด็š„ๅ›ฐ้šพไธŽๆœชๆฅๆŒ‘ๆˆ˜ใ€‚ๅ…จไนฆๆ—จๅœจ็”จ้€šไฟ—็š„่ฏญ่จ€ๅ’Œๅทงๅฆ™็š„็ป“ๆž„๏ผŒๆŠŠไบบๅทฅๆ™บ่ƒฝไปŽโ€œ้˜ณๆ˜ฅ็™ฝ้›ชโ€็š„ๅญฆๆœฏๆฎฟๅ ‚ๅธฆๅˆฐๅ…ฌไผ—่ง†้‡Ž๏ผŒๅธฎๅŠฉ่ฏป่€…็†่งฃ AI ่ƒฝๅšไป€ไนˆใ€ๅšไธๅˆฐไป€ไนˆ๏ผŒไปฅๅŠ่ƒŒๅŽ็š„ๆŠ€ๆœฏไธŽๆ€ๆƒณๆ นๆบใ€‚",rating:5,highlights:["ไปฅๆ—ถ้—ดไธบไธป็บฟ๏ผŒๆธ…ๆ™ฐๆขณ็†ไบบๅทฅๆ™บ่ƒฝ็š„ๅ‘ๅฑ•่„‰็ปœไธŽ้‡Œ็จ‹็ข‘","ๆทฑๅ…ฅๆต…ๅ‡บ๏ผŒ็”จ้€šไฟ—่ฏญ่จ€ๅฐ†ๅคๆ‚็š„ๅญฆๆœฏ็†่ฎบๅธฆๅ…ฅๅ…ฌไผ—่ง†้‡Ž","ๅฎข่ง‚ๅ‰–ๆž๏ผŒๅธฎๅŠฉ่ฏป่€…ๅ‡†็กฎ็•ŒๅฎšAIโ€œ่ƒฝๅšไป€ไนˆโ€ไธŽโ€œๅšไธๅˆฐไป€ไนˆโ€"]},{id:"book-004",title:"ไธบไป€ไนˆไผŸๅคงไธ่ƒฝ่ขซ่ฎกๅˆ’",author:"่‚ฏๅฐผๆ–ฏยทๆ–ฏๅฆๅˆฉ / ไน”ๅฐ”ยท้›ทๆ›ผ",cover:"https://cdn.weread.qq.com/weread/cover/22/cpplatform_wfdzhk1dx7ig9aep4gagof/t6_cpplatform_wfdzhk1dx7ig9aep4gagof1686304376.jpg",wereadLink:"https://weread.qq.com/web/reader/0bf32020813ab7e6bg016510#outline?noScroll=1",link:"https://book.douban.com/subject/36357804/",tags:["ไบบๅทฅๆ™บ่ƒฝ","ๅˆ›ๆ–ฐๆ€็ปด","่ฎค็Ÿฅ็ง‘ๅญฆ"],desc:"ๆœฌไนฆ็”ฑไธคไฝๅ‰ๆฒฟAI็ง‘ๅญฆๅฎถๅˆ่‘—๏ผŒๆๅ‡บไบ†้ข ่ฆ†ไผ ็ปŸโ€œ็›ฎๆ ‡-่ฎกๅˆ’โ€ๆ€็ปด็š„ๅ…จๆ–ฐ่ง†่ง’ใ€‚็ป“ๅˆAI็ ”็ฉถๅฎž่ทต๏ผŒไนฆไธญ่ฎบ่ฏไบ†ไผŸๅคงๆˆๅฐฑๅพ€ๅพ€ๅนถ้žๅ‡บ่‡ช็ฒพๅฟƒ่ฎพ่ฎก็š„่“ๅ›พ๏ผŒ่€Œๆ˜ฏๆบไบŽๅฏนๆœช็Ÿฅ็š„ๅฅฝๅฅ‡ใ€้šๆœบๆŽข็ดขไธŽไธๆ–ญ่ฏ•้”™ใ€‚้€š่ฟ‡โ€œๅฏปๅฎ่€…ๆ€็ปดโ€ๅ’Œโ€œ่ธ่„š็Ÿณๆจกๅž‹โ€็ญ‰ๆ–นๆณ•๏ผŒไธบ่ฏป่€…ๅœจ้ซ˜ๅบฆไธ็กฎๅฎš็š„็Žฏๅขƒไธญๆฟ€ๅ‘็ช็ ดๆ€งๅˆ›ๆ–ฐๆไพ›ไบ†ๅ…ทไฝ“็š„่กŒๅŠจๆก†ๆžถใ€‚",rating:4.5,highlights:["้ข ่ฆ†ไผ ็ปŸ็š„โ€œ็›ฎๆ ‡่ฎบโ€๏ผŒ่ฎบ่ฏไผŸๅคงๆˆๅฐฑๆบ่‡ชๅฏนๆœช็Ÿฅ็š„ๅฅฝๅฅ‡ไธŽๆ— ่พน็•Œ็š„ๆŽข็ดข","ๆไพ›โ€œๅฏปๅฎ่€…ๆ€็ปดโ€โ€œ่ธ่„š็Ÿณๆจกๅž‹โ€โ€œๆ–ฐๅฅ‡ๆ€งๆŽข็ดขโ€ไธ‰ๅคงๅฏๆ“ไฝœ็š„่ฎค็ŸฅไธŽๅฎž่ทตๅทฅๅ…ท","ๆ‰Žๆ นOpenAI็ญ‰ๅ‰ๆฒฟๆœบๆž„็š„ๅฎž่ฏ่ƒŒๆ™ฏ๏ผŒๅ…ถๅฏๅ‘ๆ„ไน‰่ทจๅญฆ็ง‘้€‚็”จไบŽ็ง‘็ ”ใ€ๅ•†ไธšๅŠไบบ็”Ÿ่ง„ๅˆ’"]},{id:"book-003",title:"่ฟ™ๅฐฑๆ˜ฏChatGPT",author:"ๆ–ฏ่’‚่Šฌยทๆฒƒๅฐ”ๅผ—ๆ‹‰ๅง†",cover:"https://cdn.weread.qq.com/weread/cover/24/cpplatform_4cn8w4tmgzntjobg9ffeny/t6_cpplatform_4cn8w4tmgzntjobg9ffeny1703648785.jpg",wereadLink:"https://weread.qq.com/web/reader/74332a90813ab86c4g019d98#outline?noScroll=1",link:"https://book.douban.com/subject/36449803/",tags:["ไบบๅทฅๆ™บ่ƒฝ","ๅคงๆจกๅž‹","ChatGPT"],desc:"ๆœฌไนฆ็”ฑ่‘—ๅ็ง‘ๅญฆๅฎถๆ–ฏ่’‚่Šฌยทๆฒƒๅฐ”ๅผ—ๆ‹‰ๅง†ๆ’ฐๅ†™๏ผŒๅ…จๆ™ฏๅผๆ‹†่งฃไบ†ChatGPT็š„ๅ†…้ƒจๅทฅไฝœๆœบๅˆถใ€‚ไฝœ่€…็”จ้€šไฟ—่ฏญ่จ€่งฃ้‡Šไบ†็ฅž็ป็ฝ‘็ปœๅ’Œ่‡ชๅ›žๅฝ’ๆžถๆž„็ญ‰ๆ ธๅฟƒๆŠ€ๆœฏ๏ผŒๆŽข่ฎจไบ†็ฎ€ๅ•็š„่ฎก็ฎ—่ง„ๅˆ™ๅฆ‚ไฝ•ๆถŒ็Žฐๅ‡บไปคไบบๆƒŠๅน็š„ๆ™บ่ƒฝ๏ผŒๅธฎๅŠฉ่ฏป่€…ๆทฑๅˆป็†่งฃๅคง่ฏญ่จ€ๆจกๅž‹ไธบไฝ•่ƒฝ็”Ÿๆˆ้ซ˜่ดจ้‡็š„ไบบ็ฑปๆฐดๅนณๆ–‡ๆœฌใ€‚",rating:4.3,highlights:["ๅ…จๆ™ฏๆ‹†่งฃๆ ธๅฟƒๆŠ€ๆœฏ๏ผšๆทฑๅ…ฅๆต…ๅ‡บๅœฐ่ฎฒๆธ…ChatGPT่ƒŒๅŽ็š„็ฅž็ป็ฝ‘็ปœไธŽ่‡ชๅ›žๅฝ’ๆžถๆž„","็‹ฌ็‰น็š„ๅคงๅธˆ่ง†่ง’๏ผšๅฐ†ๅคงๆจกๅž‹่ง†ไธบโ€œ็ฎ€ๅ•็š„่ฎก็ฎ—่ง„ๅˆ™โ€ๆถŒ็Žฐๅคๆ‚ๆ™บ่ƒฝ็š„็ปไฝณ่Œƒไพ‹","ๅ…ผ้กพๆŠ€ๆœฏไธŽๅ•†ไธšๅฝฑๅ“๏ผš็ป“ๅˆ็ฎ—ๅŠ›่ง„ๆจกไธŽ่กŒไธšๅ†ฒๅ‡ป๏ผŒๅ…จ้ขๆŽข่ฎจAIๆ—ถไปฃ็š„ๆœบ้‡ไธŽๆŒ‘ๆˆ˜"]},{id:"book-0030",title:"ไบบๅทฅๆ™บ่ƒฝ๏ผš็Žฐไปฃๆ–นๆณ•๏ผˆ็ฌฌ4็‰ˆ๏ผ‰๏ผˆไธŠไธ‹ๅ†Œ๏ผ‰",author:"[็พŽ]ๆ–ฏๅ›พๅฐ”็‰นยท็ฝ—็ด (Stuart Russell) / [็พŽ]ๅฝผๅพ—ยท่ฏบ็ปดๆ ผ(Peter Norvig)",cover:"https://cdn.weread.qq.com/weread/cover/33/cpplatform_8rthznqfhsjuz5fswwn6kx/t6_cpplatform_8rthznqfhsjuz5fswwn6kx1675928213.jpg",wereadLink:"https://weread.qq.com/web/reader/fc332020813ab7942g0102ad#outline?noScroll=1",link:"https://book.douban.com/subject/36152133",tags:["ไบบๅทฅๆ™บ่ƒฝ","ๆ•™ๆ","็†่ฎบๅฎž่ทต็ป“ๅˆ","็ปๅ…ธ่‘—ไฝœ","่ฎก็ฎ—ๆœบ็ง‘ๅญฆ"],desc:"ๆœฌไนฆๆ˜ฏไบบๅทฅๆ™บ่ƒฝ้ข†ๅŸŸ็š„็ปๅ…ธๆƒๅจๆ•™ๆ๏ผŒ็ณป็ปŸใ€ๆทฑๅ…ฅๅœฐๆŽข่ฎจAI้ข†ๅŸŸ็š„็†่ฎบไธŽๅฎž่ทต๏ผŒไปฅ็ปŸไธ€้ฃŽๆ ผ่žๅˆๅฝ“ไปŠๆต่กŒ็š„AIๆ€ๆƒณไธŽๆœฏ่ฏญๅˆฐๅ‰ๆฒฟๅบ”็”จไธญ๏ผŒ็œŸๆญฃๅฎž็Žฐ็†่ฎบไธŽๅฎž่ทต็›ธ็ป“ๅˆใ€‚ๅ…จไนฆๅˆ†7ไธช้ƒจๅˆ†ๅ…ฑ28็ซ ๏ผŒ็†่ฎบ้ƒจๅˆ†ๆถต็›–้€ป่พ‘ใ€ๆฆ‚็އใ€่ฟž็ปญๆ•ฐๅญฆใ€ๆ„Ÿ็Ÿฅใ€ๆŽจ็†ใ€ๅญฆไน ใ€่กŒๅŠจๅŠๅ…ฌๅนณใ€ไฟกไปปใ€็คพไผšๅ…ฌ็›Šๅ’Œๅฎ‰ๅ…จ็ญ‰็คพไผš่ฎฎ้ข˜๏ผ›ๅฎž่ทต้ƒจๅˆ†้€‰ๅ–ๅพฎ็”ตๅญ่ฎพๅค‡ใ€ๆœบๅ™จไบบ่กŒๆ˜ŸๆŽขๆต‹ๅ™จใ€ๅœจ็บฟๆœๅŠกใ€AlphaZeroใ€ไบบๅฝขๆœบๅ™จไบบใ€่‡ชๅŠจ้ฉพ้ฉถใ€AI่พ…ๅŠฉๅŒป็–—็ญ‰็ƒญ้—จๅœบๆ™ฏใ€‚็”ฑๅŠ ๅทžๅคงๅญฆไผฏๅ…‹ๅˆฉๅˆ†ๆ กๆ•™ๆŽˆๆ–ฏๅ›พๅฐ”็‰นยท็ฝ—็ด ไธŽๅ‰่ฐทๆญŒ็ ”็ฉถๆ€ป็›‘ๅฝผๅพ—ยท่ฏบ็ปดๆ ผ่”ๅˆๆ’ฐๅ†™๏ผŒ่ขซๅ…จ็ƒ1500ๅคšๆ‰€้ซ˜ๆ ก้‡‡็”จ๏ผŒ้€‚ๅˆไฝœไธบAI็›ธๅ…ณไธ“ไธšๆœฌ็ง‘็”Ÿๅ’Œ็ ”็ฉถ็”Ÿๆ•™ๆ๏ผŒไนŸๅฏไฝœไธบไธ“ไธšไบบๅ‘˜็š„ๅ‚่€ƒไนฆใ€‚",rating:5,highlights:["ไฝ“็ณปๅฎŒๆ•ด่ฆ†็›–้ขๅนฟ๏ผŒ7ไธช้ƒจๅˆ†28็ซ ๆž„ๆˆ่‡ชๆดฝ็š„AI็†่ฎบไธป็บฟ๏ผŒๆถต็›–ๆ ธๅฟƒ็†่ฎบไธŽๅ‰ๆฒฟ่ฎฎ้ข˜","็†่ฎบไธŽๅฎž่ทตๅนถ้‡๏ผŒๆ—ข้˜่ฟฐๆ ธๅฟƒ็ฎ—ๆณ•ไธŽๆจกๅž‹๏ผŒๅˆๅฑ•็คบๅœจ็ƒญ้—จๅœบๆ™ฏไธญ็š„่ฝๅœฐๅฎžไพ‹๏ผŒไพฟไบŽ็Ÿฅ่ฏ†่ฟ็งป","็ดง่ทŸๅ‰ๆฒฟๅ…ณๆณจ็คพไผš่ฎฎ้ข˜๏ผŒไธ“้—จ่ฎจ่ฎบAIไผฆ็†ไธŽๅฎ‰ๅ…จ๏ผŒๅผ•ๅฏผๆ€่€ƒๆŠ€ๆœฏไธŽ็คพไผš็š„ไบคไบ’่ดฃไปป","ไธ€็ซ™ๅผๆƒๅจๅ‚่€ƒ๏ผŒๅ…ผๅ…ทๆ•™ๆๅฑžๆ€งไธŽไธ“ไธšๅ‚่€ƒไปทๅ€ผ๏ผŒ้€‚้…้ซ˜ๆ กๆ•™ๅญฆไธŽไบงไธšๅฎž่ทตๅŒ้‡้œ€ๆฑ‚","็Žฐไปฃ็†ๅฟต่ดฏ็ฉฟๅง‹็ปˆ๏ผŒ้€š่ฟ‡ๆœ€ๆ–ฐๆกˆไพ‹ไฝ“็ŽฐAI่ฟ›ๅฑ•ไธŽ่กŒไธš่ถ‹ๅŠฟ๏ผŒๅ‘ˆ็Žฐโ€œๆดปโ€็š„AI็”Ÿๆ€"]},{id:"book-0031",title:"ๆจกๅž‹ๆ€็ปด๏ผš็ฎ€ๅŒ–ไธ–็•Œ็š„ไบบๅทฅๆ™บ่ƒฝๆจกๅž‹",author:"้พšๆ‰ๆ˜ฅ",cover:"https://cdn.weread.qq.com/weread/cover/26/YueWen_38601826/t6_YueWen_38601826.jpg",wereadLink:"https://weread.qq.com/web/reader/5a8326e0724d04625a8e740#outline?noScroll=1",link:"https://book.douban.com/subject/35488925/",tags:["ๆจกๅž‹ๆ€็ปด","ไบบๅทฅๆ™บ่ƒฝ","็ฎ—ๆณ•ๆจกๅž‹","ๆœบๅ™จๅญฆไน ","ๅ…ฅ้—จๅฎž่ทต"],desc:"ๆœฌไนฆ่š็„ฆโ€œๅฆ‚ไฝ•็”จๆจกๅž‹็ฎ€ๅŒ–ไธ–็•Œโ€็š„ๆ ธๅฟƒไธป้ข˜๏ผŒๅฐ†ไบบๅทฅๆ™บ่ƒฝๅœจ็ŽฐๅฎžไธšๅŠกไธญ้ขไธด็š„้šพ้ข˜ๅฝ’็บณไธบๆƒ้‡ใ€็Šถๆ€ใ€ๅบๅˆ—ใ€่กจ็คบใ€็›ธไผผใ€ๅˆ†็ฑปๅ…ญๅคง้—ฎ้ข˜๏ผŒๅนถๅ›ด็ป•่ฏฅๆก†ๆžถ่ฎฒ่งฃๅฏนๅบ”ๆจกๅž‹ๆ€่ทฏไธŽ็ฎ—ๆณ•ใ€‚ไนฆไธญๅผฑๅŒ–ๅคๆ‚ๆ•ฐๅญฆๅ…ฌๅผ๏ผŒไปฅๅคง้‡็”ŸๆดปๅŒ–ใ€ไธšๅŠกๅŒ–ๆกˆไพ‹้˜้‡Šๆจกๅž‹็†่ฎบไธŽ่ฝๅœฐๅœบๆ™ฏ๏ผŒๅธฎๅŠฉ่ฏป่€…ๅปบ็ซ‹โ€œๆจกๅž‹โ€”ๅœบๆ™ฏโ€ๆ˜ ๅฐ„ๅ…ณ็ณป๏ผŒ้™ไฝŽAIๆจกๅž‹ๅญฆไน ้—จๆง›๏ผŒๆ—ขๆ˜ฏไบบๅทฅๆ™บ่ƒฝๅˆๅญฆ่€…็š„ๅ…ฅ้—จ่ฏป็‰ฉ๏ผŒไนŸๅฏไธบไผไธšๅทฅ็จ‹ๅธˆใ€็ง‘็ ”ไบบๅ‘˜ๆไพ›ๅฎž่ทตๅ‚่€ƒ๏ผŒ้€‚ๅˆๅ„็ฑป่ฏป่€…ๅญฆไน ๅนถๅฐ†ๆจกๅž‹ๆ€็ปดๅบ”็”จๅˆฐ็”ŸๆดปไธŽๅทฅไฝœไธญใ€‚",rating:4.8,highlights:["ไปฅโ€œๅ…ญๅคง้—ฎ้ข˜โ€ๆก†ๆžถไธฒ่”AIๆจกๅž‹๏ผŒๅฏๆŒ‰ๅœบๆ™ฏๅฟซ้€Ÿๆฃ€็ดข้€‚้…็š„ๆจกๅž‹ๆ€่ทฏ","ไพง้‡่ฝๅœฐๅฎž่ทต๏ผŒๆญ้…ๅคง้‡็”ŸๆดปๅŒ–ไธŽไธšๅŠกๆกˆไพ‹๏ผŒๅŠฉๅŠ›ๅปบ็ซ‹โ€œๆจกๅž‹โ€”ๅœบๆ™ฏโ€ๆ˜ ๅฐ„","้™ไฝŽๅญฆไน ้—จๆง›๏ผŒๅฐ‘ๆ•ฐๅญฆๅ…ฌๅผใ€ๅคš็›ด่ง‚ๆกˆไพ‹๏ผŒๅ…ผ้กพๅˆๅญฆ่€…ไธŽๅทฅ็จ‹่ฝๅœฐ้œ€ๆฑ‚","ๅ—ไผ—็พคไฝ“ๅนฟๆณ›๏ผŒ้€‚้…ๅทฅ็จ‹ๅธˆใ€็ง‘็ ”ไบบๅ‘˜ๅŠๆ™ฎ้€š่ฏป่€…๏ผŒๅฏ่ฟ็งปๆจกๅž‹ๆ€็ปด่‡ณๅฎž้™…ๅœบๆ™ฏ"]},{id:"book-005",title:"ไฝ ็œ‹่ตทๆฅๅฅฝๅƒโ€ฆโ€ฆๆˆ‘็ˆฑไฝ ๏ผšAI็š„ๅทฅไฝœๅŽŸ็†ไปฅๅŠๅฎƒไธบ่ฟ™ไธชไธ–็•Œๅธฆๆฅ็š„็จ€ๅฅ‡ๅคๆ€ช",author:"่ดพๅ†…ๅฐ”ยทๆฒ™ๅ†…",cover:"https://wfqqreader-1252317822.image.myqcloud.com/cover/970/39481970/t6_39481970.jpg",wereadLink:"https://weread.qq.com/book-detail?type=1&senderVid=40710128&v=f9a32c10725a7272f9a14f9&wtheme=white&wfrom=app&wvid=40710128&scene=bottomSheetShare",link:"https://book.douban.com/subject/35407136/",tags:["ไบบๅทฅๆ™บ่ƒฝ","่ถฃๅ‘ณ็ง‘ๆ™ฎ","ๆผซ็”ป็ฎ—ๆณ•"],desc:"่ฟ™ๆ˜ฏไธ€้ƒจๅ†™็ป™ๆ™ฎ้€š่ฏป่€…็š„ไบบๅทฅๆ™บ่ƒฝ่ถฃๅ‘ณ็ง‘ๆ™ฎ่ฏป็‰ฉใ€‚ไฝœ่€…่ดพๅ†…ๅฐ”ยทๆฒ™ๅ†…็ป“ๅˆ็”ŸๆดปๅŒ–็š„ๆฏ”ๅ–ปๅ’Œ่ถ…็บงๅฏ็ˆฑ็š„ๆผซ็”ป๏ผŒๆทฑๅ…ฅๆต…ๅ‡บๅœฐ่ฎฒ่งฃไบ†AI็š„ๅŸบๆœฌๅทฅไฝœๅŽŸ็†ใ€ๅฎž้™…ๅบ”็”จๅŠๅ…ถๅฑ€้™ๆ€งใ€‚ไนฆไธญ้€š่ฟ‡ๅคง้‡ๅนฝ้ป˜็š„AIๅฎž้ชŒไธŽโ€œ็ฟป่ฝฆโ€ๆกˆไพ‹๏ผŒๅธฆ้ข†่ฏป่€…ๅœจ่ฝปๆพๆง่…น็š„ๆฐ›ๅ›ดไธญ๏ผŒๅ‡†็กฎ็†่งฃ็ฎ—ๆณ•่ƒฝๅšไป€ไนˆใ€ไธ่ƒฝๅšไป€ไนˆใ€‚",rating:4.2,highlights:["ๅนฝ้ป˜ๅฏ็ˆฑ็š„ๆผซ็”ปๅฏผ่งˆ๏ผš็”จๆ’ๅ›พๅ’Œ้€šไฟ—่ฏญ่จ€ๅฐ†โ€œๆทฑๅบฆๅญฆไน โ€โ€œ็ฅž็ป็ฝ‘็ปœโ€็ญ‰ๆŠฝ่ฑกๆฆ‚ๅฟตๅฏ่ง†ๅŒ–","ไธฐๅฏŒ็š„่ถฃๅ‘ณๅฎž้ชŒๆกˆไพ‹๏ผš้€š่ฟ‡็ฒพ้€‰็š„AIโ€œ็ฟป่ฝฆโ€ๆ•…ไบ‹๏ผŒ็›ด่ง‚ๆญ็คบ็ฎ—ๆณ•่ƒŒๅŽ็š„้€ป่พ‘ไธŽๆฝœๅœจๅๅทฎ","ๅฎข่ง‚ๅปบ็ซ‹AI่ฎค็Ÿฅ๏ผšๅœจๅฑ•็คบAIๅผบๅคง่ƒฝๅŠ›็š„ๅŒๆ—ถ๏ผŒๆ˜Ž็กฎๆŒ‡ๅ‡บๅ…ถๅœจ่ฏญๅขƒ็†่งฃๅ’Œๅค„็†ๆจก็ณŠไฟกๆฏๆ—ถ็š„็Ÿญๆฟ"]},{id:"book-006",title:"AI็ปๆตŽ๏ผšๆœบๅ™จไบบๆ—ถไปฃ็š„ๅทฅไฝœใ€่ดขๅฏŒๅ’Œ็คพไผš็ฆๅˆฉ",author:"็ฝ—ๆฐยทๅธƒ็‰นๅฐ”",cover:"https://cdn.weread.qq.com/weread/cover/30/YueWen_38229387/t6_YueWen_38229387.jpg",wereadLink:"https://weread.qq.com/web/reader/653320207247558b65332f5#outline?noScroll=1",link:"https://book.douban.com/subject/35433060/",tags:["ไบบๅทฅๆ™บ่ƒฝ","็ปๆตŽๅญฆ","็คพไผšๅญฆ","ๆœชๆฅ่ถ‹ๅŠฟ"],desc:"ๆœฌไนฆ็”ฑ็Ÿฅๅ็ปๆตŽๅญฆๅฎถ็ฝ—ๆฐยทๅธƒ็‰นๅฐ”ๆ’ฐๅ†™๏ผŒ่š็„ฆAIไธŽๆœบๅ™จไบบๆŠ€ๆœฏๅฏน็ปๆตŽๅ’Œ็คพไผš็š„ๆทฑ่ฟœๅฝฑๅ“ใ€‚ไฝœ่€…ๆ‹จๅผ€่‰ฐๆถฉ็š„็ง‘ๆŠ€ๆœฏ่ฏญ๏ผŒไปŽ็ปๆตŽๅขž้•ฟใ€้€š่ดง่†จ่ƒ€ๅŠ่ดขๅฏŒๅˆ†้…็ญ‰ๅฎ่ง‚่ง†่ง’๏ผŒ็†ๆ€งๅ‰–ๆžAI้ฉๅ‘ฝๅฐ†ๅฆ‚ไฝ•้‡ๅก‘ๆˆ‘ไปฌ็š„ๅทฅไฝœใ€ๆ•™่‚ฒไธŽไผ‘้—ฒๆ–นๅผ๏ผŒไปฅไน่ง‚็š„ๅงฟๆ€ไธบ่ฟŽๆŽฅๆœชๆฅ็š„็คพไผšๅ˜้ฉๆŒ‡ๆ˜Ž่ทฏๅพ„ใ€‚",rating:4.1,highlights:["ๅฎ่ง‚็ปๆตŽ่ง†่ง’่งฃๆž๏ผšๆทฑๅ…ฅๆŽข่ฎจAIๅฏน็ปๆตŽๅขž้•ฟใ€้€š่ดง่†จ่ƒ€ใ€่ดขๅฏŒไธŽๆƒๅŠ›ๅˆ†้…็š„็œŸๅฎžๅฝฑๅ“","ๅ…จๆ™ฏๅผ็คพไผšๆดžๅฏŸ๏ผšๅ…จ้ขๆฃ€่ง†ๆœบๅ™จไบบๆ—ถไปฃไธ‹๏ผŒไบบ็ฑปๆ•™่‚ฒไฝ“็ณปใ€ๅทฅไฝœๆจกๅผไธŽไผ‘้—ฒๅฝขๆ€็š„ๆทฑๅˆปๅ˜้ฉ","็†ๆ€งไน่ง‚็š„ๆœชๆฅๆŒ‡ๅ—๏ผšๆ‹’็ปๆŠ€ๆœฏๆๆ…Œ๏ผŒไธบไธชไบบไธŽ็คพไผšๅœจๅ˜่ฟ็š„ไธ–็•Œไธญๆไพ›ๆธ…ๆ™ฐๅฏ่กŒ็š„ๅบ”ๅฏน่ฎกๅˆ’"]}],Ie=[{id:"book-007",title:"ๅšๅฏนไบงๅ“",author:"้˜ฟๅฐ”่ดๆ‰˜ยท็ดข็ปดไบš",cover:"https://cdn.weread.qq.com/weread/cover/53/YueWen_40877841/t6_YueWen_40877841.jpg",wereadLink:"https://weread.qq.com/web/reader/254322a0726fbf1125472c9#outline?noScroll=1",link:"https://book.douban.com/subject/35607961/",tags:["ไบงๅ“ๆ€็ปด","ๅˆ›ไธš","ๅ•†ไธšๆ–นๆณ•่ฎบ"],slogan:"ไธบไป€ไนˆๆœ‰ไบ›ไบงๅ“ๆณจๅฎšๅคฑ่ดฅ๏ผŒๆœ‰ไบ›ไบงๅ“ๅด่ƒฝๅคง่ŽทๆˆๅŠŸ๏ผŸๆฅ่‡ช่ฐทๆญŒไธŽๆ–ฏๅฆ็ฆ็š„ไบงๅ“ๅทฅๅ…ทๅ’Œไบงๅ“ๆˆ˜ๆœฏใ€‚",desc:"่ฐทๆญŒ้ฆ–ไปปไบงๅ“ๆ€ป็›‘้˜ฟๅฐ”่ดๆ‰˜ยท็ดข็ปดไบš็ป“ๅˆๅœจ่ฐทๆญŒใ€ๆ–ฏๅฆ็ฆ็š„ๅฎžๆˆ˜็ป้ชŒไธŽ่‡ช่บซไปฃไปท้ซ˜ๆ˜‚็š„ๅˆ›ไธšๅคฑ่ดฅ็ปๅކ๏ผŒๆ€ป็ป“ๅ‡บ็š„ไธ€ๅฅ—้˜ฒ่ดฅๆ‰‹ๅ†Œใ€‚ไนฆไธญๆญ็คบไบ†ๆ–ฐไบงๅ“้ซ˜่พพ90%็š„โ€œๅธ‚ๅœบๅคฑ่ดฅๅพ‹โ€๏ผŒๅนถๅˆ›ๆ–ฐๆ€งๅœฐๆๅ‡บไบ†โ€œ้ข„ๅž‹โ€๏ผˆPreๅž‹๏ผ‰็†ๅฟต๏ผŒๆŒ‡ๅฏผๅ›ข้˜Ÿๅœจๆญฃๅผๅผ€ๅ‘ๅ‰๏ผŒไปฅๆžไฝŽ็š„ๆˆๆœฌๅ’Œ็œŸๅฎžๆ•ฐๆฎๅฟซ้€Ÿ้ชŒ่ฏๅ…ณ้”ฎๅ‡่ฎพ๏ผŒ็กฎไฟๆŠŠๅˆ›ๆ„ๆ‰“็ฃจๆˆโ€œๆญฃ็กฎ็š„ๅฎƒโ€ใ€‚",rating:4.8,highlights:["ๆญ็คบๆฎ‹้…ท็š„ๅธ‚ๅœบๅคฑ่ดฅๅพ‹๏ผšๆญฃ่ง†90%ๆ–ฐไบงๅ“ๅฟ…็„ถๅคฑ่ดฅ็š„ๅ•†ไธšๅธธๆ€๏ผŒๅนถไปฅๆญคๅ€’ๆŽจ็ ดๅฑ€็š„ๅฎžๆˆ˜ๆ–นๆณ•่ฎบ","้ฆ–ๅˆ›โ€œ้ข„ๅž‹โ€๏ผˆPreๅž‹๏ผ‰ๆฆ‚ๅฟต๏ผšๆไพ›8ๅคงๆต‹่ฏ•ๅทฅๅ…ท๏ผŒไธปๅผ ็”จๆžไฝŽๆˆๆœฌๅ’Œๅฐ่ง„ๆจก่ฏ•้”™ๅฟซ้€Ÿ้€ผ่ฟ‘ๆญฃ็กฎ็š„ไบงๅ“ๅฝขๆ€","ๅผบ่ฐƒ็œŸๅฎžๆ•ฐๆฎ้ฉฑๅŠจๅ†ณ็ญ–๏ผš่พ…ไปฅ็‰นๆ–ฏๆ‹‰ใ€่ฐทๆญŒ็ญ‰ๅฎŒๆ•ดๆกˆไพ‹ๅ›žๆบฏ๏ผŒๆ•™ๅฏผๅ›ข้˜Ÿๅฐ†ๅ†ณ็ญ–ๅปบ็ซ‹ๅœจๅฎข่ง‚่ฏๆฎ่€Œ้žไธป่ง‚็›ด่ง‰ไน‹ไธŠ"]},{id:"book-009",title:"ไฟžๅ†›ไบงๅ“ๆ–นๆณ•่ฎบ",author:"ไฟžๅ†›",cover:"https://cdn.weread.qq.com/weread/cover/47/YueWen_28165041/t6_YueWen_28165041.jpg",wereadLink:"https://weread.qq.com/web/reader/1cc3252071adc3b11cc0162#outline?noScroll=1",link:"https://book.douban.com/subject/34907971/",tags:["ไบงๅ“ๆ€็ปด","ไบงๅ“็ป็†","ไบ’่”็ฝ‘","ๆ–นๆณ•่ฎบ"],desc:"โ€œ็™พๅบฆ่ดดๅงไน‹็ˆถโ€ไฟžๅ†›ไบŒๅไฝ™ๅนดไบงๅ“ๅฎž่ทตไธŽๆ€่€ƒ็š„็ณป็ปŸๆ€ป็ป“ใ€‚ๆœฌไนฆๅฐ†ไบงๅ“็ป็†ๅฎšไน‰ไธบโ€œไปฅ็ง‘ๅญฆๆ–นๆณ•็ ”็ฉถไบบๆ€งๅนถ่ฝฌๅŒ–ไธบๅ•†ไธšๆ–นๆกˆโ€็š„ไบคๅ‰ๅญฆ็ง‘๏ผŒๆทฑๅ…ฅ่งฃๆžไบ†็”จๆˆทๆจกๅž‹ใ€ไบคๆ˜“ๆจกๅž‹ๅ’Œๅ†ณ็ญ–ๆจกๅž‹ไธ‰ๅคงๆ ธๅฟƒๆก†ๆžถ๏ผŒไธบไบงๅ“ไบบๆไพ›ไบ†ไธ€ๅฅ—ๅœจไธ็กฎๅฎš็Žฏๅขƒไธญๆƒ่กกๅคšๆ–นๅˆฉ็›Š็š„ๅฎžๆˆ˜ๆŒ‡ๅ—ใ€‚",rating:4.4,highlights:["ๆฒ‰ๆท€ไบŒๅๅนด่กŒไธš็ป้ชŒ๏ผšไปŽๅนฟไธบๆตไผ ็š„โ€œPM12ๆกโ€ๅˆฐ็ณป็ปŸๅŒ–็š„ไบงๅ“ๅ“ฒๅญฆ๏ผŒๅฑ•็Žฐ้กถๅฐ–ไบงๅ“็ป็†็š„่ฎค็Ÿฅ่ฟญไปฃๅฒ","ไธ‰ๅคงๆ ธๅฟƒๆจกๅž‹ๆ‹†่งฃ๏ผšๆทฑๅบฆๅ‰–ๆž็”จๆˆทๆจกๅž‹ไธŽไบคๆ˜“ๆจกๅž‹๏ผŒๆŒ‡ๅฏผๅฆ‚ไฝ•้€š่ฟ‡่ฎฉไบคๆ˜“ๅ‘็”Ÿๆฅๅˆ›้€ โ€œๆœ‰ๅˆฉๅฏๅ›พโ€็š„็œŸๅฎž็”จๆˆทไปทๅ€ผ","ๅ…ผ้กพ็ง‘ๅญฆไธŽไบบๆ–‡่ง†่ง’๏ผšๅผบ่ฐƒๆ‰นๅˆคๆ€งๆ€็ปด็š„่ฟ็”จ๏ผŒๅนถๆธ…ๆ™ฐๆขณ็†ไบ†ไปŽๆ–ฐไบบๅˆฐ้กถๅฐ–ๅคง็‰›็š„่ƒฝๅŠ›่ฟ›้˜ถ่ทฏๅพ„"]},{id:"book-016",title:"็ญ–็•ฅไบงๅ“็ป็†๏ผšๆจกๅž‹ไธŽๆ–นๆณ•่ฎบ",author:"้’ๅไบ”",cover:"https://cdn.weread.qq.com/weread/cover/31/cpplatform_gheeqe7hjb2czyzthzf5nm/t6_cpplatform_gheeqe7hjb2czyzthzf5nm1735654872.jpg",wereadLink:"https://weread.qq.com/web/reader/4de32800813ab98d5g01286b#outline?noScroll=1",link:"https://book.douban.com/subject/35218721/",tags:["ไบงๅ“็ป็†","็ญ–็•ฅไบงๅ“","็ฎ—ๆณ•ๆ€็ปด"],desc:"ๆœฌไนฆๅ›ด็ป•โ€œ็ญ–็•ฅไบงๅ“็ป็†โ€่ฟ™ไธ€ๅคๅˆ่ง’่‰ฒ๏ผŒ็ณป็ปŸๆ€งๅœฐๆž„ๅปบไบ†ไปŽ็†ๅฟตๅˆฐๅฎž่ทต็š„ๅฎŒๆ•ด็Ÿฅ่ฏ†ๆก†ๆžถใ€‚ไฝœ่€…ไปŽๆœบๅ™จๅญฆไน ็†่ฎบไธŽ็ปๆตŽๅญฆ่ง†่ง’ๅ‡บๅ‘๏ผŒ็ป“ๅˆๆŽจ่ใ€ๆœ็ดขใ€ๅนฟๅ‘Šใ€้ฃŽๆŽง็ญ‰ๆ ธๅฟƒไธšๅŠกๅœบๆ™ฏ๏ผŒๆทฑๅ…ฅๆต…ๅ‡บๅœฐ่ฎฒ่งฃไบ†ๅ‡ฝๆ•ฐๅปบๆจกไธŽ็ญ–็•ฅๅบ”็”จ๏ผŒๅนถๅฏน็ญ–็•ฅไบงๅ“็ป็†็š„ๆ ธๅฟƒ่ƒฝๅŠ›ไธŽๅ›ข้˜Ÿๅปบ่ฎพ็ป™ๅ‡บไบ†่ฏฆๅฐฝๆŒ‡ๅฏผใ€‚",rating:3.9,highlights:["็ณป็ปŸๅŒ–็š„่ง’่‰ฒ่ฎค็Ÿฅๅปบๆž„๏ผšๆธ…ๆ™ฐ็•Œๅฎš็ญ–็•ฅไบงๅ“็ป็†็š„ๆ—ถไปฃ่ƒŒๆ™ฏใ€่Œ่ดฃ่พน็•ŒไธŽๅทฅไฝœๅ†…ๅฎน๏ผŒไธบไปŽไธš่€…ๅคฏๅฎžๆฆ‚ๅฟตๅŸบ็ก€","่ทจๅญฆ็ง‘็š„ๆจกๅž‹ไธŽไธšๅŠก็ป“ๅˆ๏ผšๅˆฉ็”จๆœบๅ™จๅญฆไน ็š„ๅ‡ฝๆ•ฐๆ–นๆณ•่ฎบไธŽ็ปๆตŽๅญฆ็†่ฎบ๏ผŒๆทฑๅบฆๅ‰–ๆžๆŽจ่ใ€ๆœ็ดขใ€ๅนฟๅ‘Šใ€้ฃŽๆŽงๅŠๅฎšไปท็ญ‰็œŸๅฎžไธšๅŠกๅœบๆ™ฏ็š„่งฃๆณ•","็กฌๆ ธ็ฎ—ๆณ•็š„้€šไฟ—ๅŒ–่งฃๆž๏ผšๆทฑๅ…ฅๆต…ๅ‡บๅœฐๆ‹†่งฃๆœบๅ™จๅญฆไน ๆœฌ่ดจใ€ๅธธ่ง็ฎ—ๆณ•ๅŠๆทฑๅบฆๅญฆไน ๅ‰ๆฒฟๆŠ€ๆœฏ๏ผŒๅธฎๅŠฉไบงๅ“็ป็†็œŸๆญฃ็†่งฃ็ญ–็•ฅ่ƒŒๅŽ็š„ๆŠ€ๆœฏๆ”ฏๆ’‘","ๅฏ่ฝๅœฐ็š„ๅ›ข้˜Ÿๅปบ่ฎพๆŒ‡ๅ—๏ผšๅ…จ้ขๆ‹†่งฃๆ•ฐๆฎๅˆ†ๆžใ€ๆฒŸ้€šไธŽ้กน็›ฎ็ฎก็†็ญ‰ๆ ธๅฟƒ่ƒฝๅŠ›้กน๏ผŒๅนถ้’ˆๅฏนไธๅŒไบงๅ“็”Ÿๅ‘ฝๅ‘จๆœŸๆไพ›็ญ–็•ฅๅ›ข้˜Ÿ็š„็ป„ๅปบๆ€่ทฏ"]},{id:"book-008",title:"ๅˆ›้€ ๏ผš็”จ้žไผ ็ปŸๆ–นๅผๅšๆœ‰ไปทๅ€ผ็š„ไบ‹",author:"ๆ‰˜ๅฐผยทๆณ•ๅพทๅฐ”",cover:"https://cdn.weread.qq.com/weread/cover/53/cpPlatform_tzdqT27m3vyaHnX5o8Vbwk/t6_cpPlatform_tzdqT27m3vyaHnX5o8Vbwk.jpg",wereadLink:"https://weread.qq.com/web/reader/13832ac0813ab725fg018645#outline?noScroll=1",link:"https://book.douban.com/subject/36071759/",tags:["ไบงๅ“ๆ€็ปด","็ฎก็†ๅญฆ","ๅˆ›ไธš"],desc:"ๆœฌไนฆๆ˜ฏiPodใ€iPhoneใ€Nest็ญ‰็ˆ†ๆฌพไบงๅ“ๅน•ๅŽๆŽจๆ‰‹ๆ‰˜ๅฐผยทๆณ•ๅพทๅฐ”30ไฝ™ๅนด่Œไธš็ปๅކ็š„ๆ™บๆ…ง็ป“ๆ™ถใ€‚ไฝœ่€…ๆฏซๆ— ไฟ็•™ๅœฐๅˆ†ไบซไบ†ไป–ๅœจไบงๅ“่ฎพ่ฎกใ€ๅ›ข้˜Ÿ็ฎก็†ใ€่Œไธš้€‰ๆ‹ฉๅ’Œๅ…ฌๅธ็ป่ฅ็ญ‰ๆ–น้ข็š„โ€œ้žไผ ็ปŸโ€ๆ–นๆณ•่ฎบ๏ผŒๅธฎๅŠฉ่ฏป่€…ๅœจๅ„่‡ช็š„้ข†ๅŸŸๅ†…ๅˆปๆ„็ปƒไน ๅˆ›้€ ๅŠ›๏ผŒๅš็œŸๆญฃๆœ‰ไปทๅ€ผ็š„ไบ‹ใ€‚",rating:4.9,highlights:["ๆบ่‡ช้กถ็บงๅˆ›ๆ–ฐ่€…็š„ๅฎžๆˆ˜็ป้ชŒ๏ผš่ฟž็ปญๆ‰“้€ iPodใ€iPhone็ญ‰ๅˆ’ๆ—ถไปฃไบงๅ“็š„ไบฒๅކๅค็›˜ไธŽ็œŸๅฎžๅ้ขๆ•™่ฎญ","่ฆ†็›–ไปŽไธชไบบๅˆฐๅ…ฌๅธ็š„ๅฎŒๆ•ด่ทฏๅพ„๏ผš็ณป็ปŸ่งฃ็ญ”่Œไธš้€‰ๆ‹ฉใ€ไบงๅ“่ฎพ่ฎกใ€ๅ›ข้˜Ÿ็ฎก็†ไธŽไผไธš็ป่ฅ็ญ‰ๆ ธๅฟƒ้—ฎ้ข˜","ๆไพ›ๅฏๅคๅˆถ็š„โ€œ้žไผ ็ปŸโ€ๆ–นๆณ•่ฎบ๏ผšๅผบ่ฐƒโ€œไบฎ็‚นๆ€็ปดโ€ไธŽๆŒ็ปญๅค็›˜๏ผŒๆ•™ๅฏผ่ฏป่€…ไปฅๅๅธธ่ง„็š„่ง†่ง’ๅˆปๆ„็ปƒไน ๅˆ›้€ ๅŠ›"]},{id:"book-010",title:"ไบงๅ“ๆ€็ปด",author:"ๅˆ˜้ฃž",cover:"https://cdn.weread.qq.com/weread/cover/56/YueWen_25568738/t6_YueWen_25568738.jpg",wereadLink:"https://weread.qq.com/web/reader/38332ce0718625e23831fe7#outline?noScroll=1",link:"https://book.douban.com/subject/33456375/",tags:["ไบงๅ“ๆ€็ปด","ไบงๅ“็ป็†","ไธชไบบๆˆ้•ฟ","ไบ’่”็ฝ‘"],desc:"ๅฎžๆˆ˜ๆดพไบงๅ“็ป็†ๅˆ˜้ฃž็ป“ๅˆๅœจไธ€็บฟๅคงๅŽ‚็š„ไธฐๅฏŒ็ป้ชŒ๏ผŒๅ›ด็ป•ไบงๅ“ไบบๅฆ‚ไฝ•ๅฎž็Žฐ่ƒฝๅŠ›่ทƒ่ฟๅฑ•ๅผ€็š„ๅบ•ๅฑ‚่ƒฝๅŠ›ๆŒ‡ๅ—ใ€‚ๅ…จไนฆๆŽฐๅผ€ๆ‰็ขŽๅœฐ่ฎฒ่งฃไบ†่ฎค็Ÿฅ็›ฒ็‚นไธŽๅฎž่ทต็—›็‚น๏ผŒ้€š่ฟ‡โ€œ่ฎค็Ÿฅ็”จๆˆทโ€โ€œๅˆ›้€ ไปทๅ€ผโ€ๅ’Œโ€œไบงๅ“่ฝๅœฐโ€ไธ‰ๅคงๆ ธๅฟƒๆฟๅ—๏ผŒ็ณป็ปŸๆ‹†่งฃไบ†ไปŽๅปบ็ซ‹็”จๆˆทๆจกๅž‹ใ€้ซ˜่ดจ้‡ๅ†ณ็ญ–ๅˆฐๅฟซ้€Ÿ่ฟญไปฃ้ชŒ่ฏ็š„ๅฎŒๆ•ดไบงๅ“ๆ–นๆณ•่ฎบใ€‚",rating:4.2,highlights:["ไธ‰ๅคงๆ ธๅฟƒๆฟๅ—็ณป็ปŸๆ‹†่งฃ๏ผšๅฎŒๆ•ด่ฆ†็›–โ€œ่ฎค็Ÿฅ็”จๆˆทโ€โ€œๅˆ›้€ ไปทๅ€ผโ€ไธŽโ€œไบงๅ“่ฝๅœฐโ€็š„ไบงๅ“้—ญ็Žฏ","็›ดๅ‡ป็—›็‚น็š„ไธ€็บฟๅฎžๆˆ˜็ป้ชŒ๏ผšๆฏซๆ— ไฟ็•™ๅœฐๅˆ†ไบซๅฎžๆˆ˜ไธญๆ–ฐๆ‰‹่ฟซๅˆ‡้œ€่ฆๅด้šพไปฅ่Žทๅ–็š„้šๆ€ง็Ÿฅ่ฏ†","่š็„ฆๅบ•ๅฑ‚่ƒฝๅŠ›ไธŽๆ€็ปดๅ‡็ปด๏ผšไธไป…ๆ•™ๆŽˆ่ฝๅœฐๆ–นๆณ•๏ผŒๆ›ดๆณจ้‡ๅ†ณ็ญ–่ดจ้‡ไธŽๆ€็ปดๆจกๅผ็š„่ทƒ่ฟ"]},{id:"book-011",title:"ไบงๅ“ๆ€็ปด๏ผšๅˆ›ๆ–ฐ่ฎพ่ฎก็š„ๅ…ญๆกๆณ•ๅˆ™๏ผˆๅ…จๅฝฉ๏ผ‰",author:"ๅผ ๅฐๅธ…",cover:"https://wfqqreader-1252317822.image.myqcloud.com/cover/253/26687253/t6_26687253.jpg",wereadLink:"https://weread.qq.com/web/reader/a823297071973715a8202b0#outline?noScroll=1",link:"https://book.douban.com/subject/34859540/",tags:["ไบงๅ“่ฎพ่ฎก","ๅˆ›ๆ–ฐๆ€็ปด","ๆ–นๆณ•่ฎบ","่ฎพ่ฎก็ตๆ„Ÿ"],desc:"ๆœฌไนฆๅ›ด็ป•ไฝœ่€…ๅผ ๅฐๅธ…ๅคšๅนดไบงๅ“่ฎพ่ฎกๅฎž่ทตๆ€ป็ป“ๅ‡บ็š„6ๆกๅˆ›ๆ„ๅ…ฌๅผๅฑ•ๅผ€๏ผŒๆ—จๅœจๅธฎๅŠฉ่ฏป่€…็ณป็ปŸๅŒ–ๅœฐ่Žทๅ–่ฎพ่ฎก็ตๆ„Ÿๅนถ่งฃๅ†ณๅˆ›ๆ–ฐ้šพ้ข˜ใ€‚ๅ…จไนฆ้€š่ฟ‡ๅคง้‡็ปๅ…ธๆกˆไพ‹๏ผŒ่ฏฆ็ป†่งฃๆžไบ†ไปŽๅ‘ๆ•ฃๆ€่€ƒๅˆฐ้‡็ป„ๅˆ›ๆ–ฐ็š„ๅ…จ่ฟ‡็จ‹๏ผŒๅนถๅœจๆœ€ๅŽๆไพ›ไบ†ไปŽ้œ€ๆฑ‚ๅˆฐ่‰ๅ›พๅ†ๅˆฐๆœ€็ปˆๆ–นๆกˆ็š„ๅฎŒๆ•ด้กน็›ฎ่ฝๅœฐๆผ”็คบใ€‚",rating:4,highlights:["ๆ็‚ผ6ๆกๅฎž็”จ็š„ๅˆ›ๆ–ฐ่ฎพ่ฎกๅ…ฌๅผ๏ผšๅฐ†ๅ‘ๆ•ฃๆ€่€ƒไธŽ้‡็ป„ๅˆ›ๆ–ฐ็ณป็ปŸๅŒ–๏ผŒๆ‰“้€ ๅฏๅค็”จ็š„่ฎพ่ฎก็ตๆ„Ÿๅบ“","ไธฐๅฏŒ็š„็ปๅ…ธ่ฎพ่ฎกๆกˆไพ‹่งฃๆž๏ผš่ฏฆ็ป†ๅฑ•็คบโ€œ้—ฎ้ข˜+ๆ–นๆณ•โ€ใ€โ€œ1+1>2โ€็ญ‰ๆณ•ๅˆ™ๅœจ็œŸๅฎžไบงๅ“่ฎพ่ฎกไธญ็š„ๅบ”็”จ","ๅ‘ˆ็ŽฐไปŽ้œ€ๆฑ‚ๅˆฐๆ–นๆกˆ็š„่ฝๅœฐๅ…จๆต็จ‹๏ผš้€š่ฟ‡็ปผๅˆๆกˆไพ‹ๆผ”็คบๆฆ‚ๅฟตๆ‰“็ฃจไธŽ่‰ๅ›พ่ฎพ่ฎก็š„ๅฎžๆˆ˜่ฟ‡็จ‹"]}],We=[{id:"book-012",title:"ๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™",author:"่จๅธŒๅฐ”ยทๆ‹‰ๆ–‡ๅ‰ไบš",cover:"https://cdn.weread.qq.com/weread/cover/91/cpplatform_vl4abrrrqgxnry833gcrtt/t6_cpplatform_vl4abrrrqgxnry833gcrtt1677578056.jpg",wereadLink:"https://weread.qq.com/web/reader/02932980813ab7a43g012e77#outline?noScroll=1",link:"https://book.douban.com/subject/36280425/",tags:["ๅˆ›ไธš","ๅ•†ไธšๆจกๅผ","ๆž็ฎ€ไธปไน‰"],desc:"ๆœฌไนฆๆ‰“็ ดไบ†็ก…่ฐท็›ฒ็›ฎ่ฟฝๆฑ‚โ€œ็‹ฌ่ง’ๅ…ฝโ€็š„ๆ‰ฉๅผ ่ฟทๆ€๏ผŒ่š็„ฆไบŽโ€œ่ง„ๆจกไธๆ˜ฏๅ”ฏไธ€ๅ‡บ่ทฏโ€็š„ๅ•†ไธš็Žฐๅฎžใ€‚ไฝœ่€…็ป“ๅˆๅˆ›็ซ‹Gumroad็š„ไบฒ่บซ็ปๅކ๏ผŒๆๅ‡บไบ†โ€œๆž็ฎ€ๅˆ›ไธš็ป่ฅโ€็†ๅฟตใ€‚ๅ…จไนฆๆŒ‡ๅฏผๅˆ›ไธš่€…ไธŽ็ฎก็†่€…ๅฆ‚ไฝ•้€š่ฟ‡ไปŽ็คพๅŒบๅˆ‡ๅ…ฅใ€่š็„ฆๆ ธๅฟƒ่ƒฝๅŠ›ใ€็ฒพ็ฎ€ๅ›ข้˜Ÿ็ญ‰ๆ–นๅผ๏ผŒ็”จๆœ€ๅฐ‘็š„่ต„ๆบๆ‰“้€ ๅ‡บไธไป…่ƒฝๆดปไธ‹ๅŽป๏ผŒ่€Œไธ”่ฟ˜่ƒฝๆŒ็ปญ็›ˆๅˆฉ็š„โ€œๆ…ขๅ…ฌๅธโ€ใ€‚",rating:5,highlights:["้ข ่ฆ†ไผ ็ปŸ็š„ๆ‰ฉๅผ ่ฟทๆ€๏ผšๆๅ‡บ็›ˆๅˆฉ่‡ณไธŠ่€Œ้ž่ง„ๆจก่‡ณไธŠ๏ผŒๅฐ†ๆŒ็ปญ่ตš้’ฑๅ’Œๅฎž้™…ๅˆฉๆถฆไฝœไธบ่กก้‡ไผไธšๆˆๅŠŸ็š„ๆ ธๅฟƒๆ ‡ๅ‡†","ๅฏ่ฝๅœฐ็š„ๆž็ฎ€ๆณ•ๅˆ™๏ผšๆ€ป็ป“ๅ‡บโ€œ่ถŠๅฐ‘่ถŠๅฅฝโ€โ€œ็ž„ๅ‡†ๅ‰100ไธชๅฎขๆˆทโ€็ญ‰7ๆกๅˆ›ไธšๆธ…ๅ•๏ผŒๆž„ๅปบไปŽๅฎšไฝใ€ไบงๅ“ๅˆฐ้”€ๅ”ฎ็š„ๅฎŒๆ•ด้—ญ็Žฏ","็คพๅŒบ้ฉฑๅŠจ็š„ๅ•†ไธš้€ป่พ‘๏ผšๆๅ€กไปŽ่™šๆ‹Ÿ็คพๅŒบๅ…ฅๆ‰‹๏ผŒไปฅโ€œ่ดก็Œฎ-ๅˆ›ไฝœ-ๆ•™ๅญฆโ€็š„ๆ–นๅผไฝŽๆˆๆœฌ้ชŒ่ฏไบงๅ“ๅฝขๆ€ๅนถ่Žทๅ–ๆ—ฉๆœŸไฟกไปป","ๆ‰“้€ ้ซ˜้Ÿงๆ€ง็š„โ€œๆ…ขๅ…ฌๅธโ€๏ผš็ป“ๅˆ็–ซๆƒ…ไธŽ่ฟœ็จ‹ๅŠžๅ…ฌ่ƒŒๆ™ฏ๏ผŒๅฑ•็คบๅฆ‚ไฝ•้€š่ฟ‡็ฒพ็ฎ€็ป„็ป‡ๅ’Œๅˆ†ๅธƒๅผๅไฝœ๏ผŒๅœจไธ็กฎๅฎš็š„ๆ—ถไปฃไฟๆŒ็จณๅฎš็š„็Žฐ้‡‘ๆต"]},{id:"book-013",title:"ๅš้šพ่€Œๆญฃ็กฎ็š„ไบ‹๏ผš่ฟ›ๆญฅๆœ€ๅฟซ็š„ๆ–นๅผ",author:"ๅฐค้‡Œยท่Žฑๆ–‡",cover:"https://cdn.weread.qq.com/weread/cover/53/cpplatform_bunxjyygj8m9stnwcgwqqk/t6_cpplatform_bunxjyygj8m9stnwcgwqqk1728876401.jpg",wereadLink:"https://weread.qq.com/web/reader/aa032fb0813ab9461g018406#outline?noScroll=1",link:"https://book.douban.com/subject/37054102/",tags:["ๅˆ›ไธš","ไบงๅ“ๆ€็ปด","ๅ•†ไธš็ฎก็†"],desc:"Waze่”ๅˆๅˆ›ๅง‹ไบบๅฐค้‡Œยท่Žฑๆ–‡ๅ†™็ป™ๅˆ›ไธš่€…ๅ’Œ็ฎก็†่€…็š„่กŒๅŠจๆŒ‡ๅ—ใ€‚ไฝœ่€…็ป“ๅˆ่ฟž็ปญๆ‰“้€ ไธคๅฎถไผฐๅ€ผ่ถ…10ไบฟ็พŽๅ…ƒๅ…ฌๅธ็š„ๅฎžๆˆ˜็ป้ชŒ๏ผŒๆๅ‡บโ€œๅ…ˆๅš้šพไบ‹ใ€ๅ†ๅšๆญฃ็กฎไบ‹โ€็š„ๆ ธๅฟƒๅ“ฒๅญฆใ€‚ๅ…จไนฆ้€š่ฟ‡13ไธช้˜ถๆฎต็š„็ณป็ปŸๆ‹†่งฃ๏ผŒๆŒ‡ๅฏผ่ฏป่€…ๅฆ‚ไฝ•ๅฏปๆ‰พ็œŸๆญฃ็š„็”จๆˆท็—›็‚นใ€ๆž„ๅปบ้ซ˜ไปทๅ€ผไบงๅ“๏ผŒๅนถๅœจไธ็กฎๅฎš็š„็Žฏๅขƒไธญ้€š่ฟ‡ไธๆ–ญๅค็›˜ๅฎž็Žฐ่ทจ่ถŠๅผๆˆ้•ฟใ€‚",rating:4.9,highlights:["ไธ–็•Œ็บงๅˆ›ไธš่€…็š„ๅฎžๆˆ˜ๅค็›˜๏ผš่ฟž็ปญๆ‰“้€ ไธคๅฎถ็‹ฌ่ง’ๅ…ฝๅ…ฌๅธ็š„ๅˆ›ๅง‹ไบบไบฒๆŽˆ๏ผŒๆไพ›ๆžๅ…ทๅฏไฟกๅบฆ็š„็ฌฌไธ€ๆ‰‹ๅ•†ไธšๆดžๅฏŸไธŽ่ฝๅœฐ็ป้ชŒ","่ทต่กŒโ€œ้šพ่€Œๆญฃ็กฎโ€็š„ๆ ธๅฟƒๅ“ฒๅญฆ๏ผšๅผบ่ฐƒไธ่ฟฝ้€็ŸญๆœŸ็ƒญ็‚น๏ผŒ่€Œๆ˜ฏๅŽป่งฃๅ†ณๆ•ˆ็އๆžไฝŽๅด่ขซๅฟฝ่ง†็š„็—›็‚น๏ผŒไปฅๆญคๅปบ็ซ‹ๅšๅฎž็š„ๅ•†ไธšๆŠคๅŸŽๆฒณ","่ฆ†็›–ไปŽ0ๅˆฐ1็š„ๅ…จๅ‘จๆœŸๆŒ‡ๅ—๏ผš็ณป็ปŸๆ‹†่งฃไปŽๅฏปๆ‰พ็—›็‚นใ€ไบงๅ“ๆž„ๅปบใ€่ž่ต„่ฟไฝœๅˆฐๅ›ข้˜Ÿ็ฎก็†็š„13ไธชๅ…ณ้”ฎ้˜ถๆฎต๏ผŒๆไพ›ๅฏๆ“ไฝœ็š„่กŒๅŠจๆธ…ๅ•","็›ด้ขๅคฑ่ดฅ็š„ๅฟƒ็†้Ÿงๆ€งๅปบ่ฎพ๏ผšไธๅ›ž้ฟๆŒซๆŠ˜๏ผŒๅฐ†โ€œไปŽ้”™่ฏฏไธญๅญฆไน โ€ๆ็‚ผไธบๆ ธๅฟƒๆ–นๆณ•๏ผŒไธบ่บซๅค„้ซ˜ๅŽ‹็Žฏๅขƒ็š„่ฏป่€…ๆไพ›ๆƒ…ๆ„Ÿๅ…ฑ้ธฃไธŽๅฟƒ็†ๆ”ฏๆŒ","ๅนฟๆณ›็š„่ทจๅœบๆ™ฏๅบ”็”จไปทๅ€ผ๏ผšไนฆไธญ็ป™ๅ‡บ็š„ๅ†ณ็ญ–ๅทฅๅ…ทไธไป…้€‚็”จไบŽๅˆๅˆ›ๅ›ข้˜Ÿ๏ผŒๅŒๆ ท่ƒฝไธบๅคงๅ…ฌๅธๅ†…้ƒจๅˆ›ๆ–ฐๅŠไธชไบบ่Œไธš่ฎค็Ÿฅๅ‡็บงๆไพ›ๆŒ‡ๅฏผ"]},{id:"book-015",title:"ๅˆ›ๆ–ฐๅ…ฌๅธ๏ผš็šฎๅ…‹ๆ–ฏ็š„ๅฏ็คบ",author:"่‰พๅพทยทๅก็‰นๅง†",cover:"https://cdn.weread.qq.com/weread/cover/20/YueWen_814380/t6_YueWen_814380.jpg",wereadLink:"https://weread.qq.com/web/reader/2ef329605c6d2c2efeeb70d#outline?noScroll=1",link:"https://book.douban.com/subject/26314955/",tags:["ๅˆ›ๆ–ฐๆ€็ปด","็ป„็ป‡ๆ–‡ๅŒ–","ไผไธš็ฎก็†"],desc:"็šฎๅ…‹ๆ–ฏ่”ๅˆๅˆ›ๅง‹ไบบ่‰พๅพทยทๅก็‰นๅง†็ป“ๅˆใ€Š็Žฉๅ…ทๆ€ปๅŠจๅ‘˜ใ€‹ใ€Šๆœบๅ™จไบบ็“ฆๅŠ›ใ€‹็ญ‰็ปๅ…ธๅŠจ็”ป็š„ๅน•ๅŽๅˆถไฝœๆ•…ไบ‹๏ผŒๆทฑๅบฆๆญ็คบไบ†็šฎๅ…‹ๆ–ฏๅฆ‚ไฝ•้•ฟๆœŸไฟๆŒๅˆ›ๆ„้ข†ๅ…ˆ็š„็ง˜ๅฏ†ใ€‚ๆœฌไนฆไธไป…่ฏฆ่ฟฐไบ†็šฎๅ…‹ๆ–ฏไปŽๅˆๅˆ›ๅˆฐๅฃฎๅคง็š„ๅކ็จ‹๏ผŒๆ›ดๆŠฝไธๅ‰ฅ่Œงๅœฐ่งฃๆžไบ†ๅ…ถๅœจๅ›ข้˜Ÿๆ–‡ๅŒ–ใ€่ทจ้ƒจ้—จๅไฝœใ€ไบบๆ‰ๅŸนๅ…ปๅ’Œๅ…่ฎธๅคฑ่ดฅ็ญ‰ๆ–น้ข็š„็‹ฌ็‰นๅˆ›ๆ„็ฎก็†ๆœบๅˆถ๏ผŒไธบๅ„็ฑป็ป„็ป‡ๆไพ›ไบ†ๅฏๅคๅˆถ็š„ๅˆ›ๆ–ฐๆŒ‡ๅ—ใ€‚",rating:4.5,highlights:["ๆญ็ง˜โ€œ็šฎๅ…‹ๆ–ฏๅฅ‡่ฟนโ€่ƒŒๅŽ็š„็ฎก็†ๅ“ฒๅญฆ๏ผš้€š่ฟ‡14้ƒจ็ปๅ…ธๅŠจ็”ป็š„็œŸๅฎžๅน•ๅŽๆ•…ไบ‹๏ผŒๅฑ•็คบๅˆ›ๆ„ไปŽๆ— ๅˆฐๆœ‰ใ€ๅ†ๅˆฐ็ฅจๆˆฟๅฃ็ข‘ๅŒ่ตข็š„ๅ…จ่ฟ‡็จ‹","ๆทฑๅบฆ่งฃๆžๅˆ›ๆ–ฐๅœŸๅฃค็š„ๆญๅปบ๏ผš้˜่ฟฐๅฆ‚ไฝ•้€š่ฟ‡ๅ…่ฎธๅคฑ่ดฅ็š„ๆ–‡ๅŒ–ใ€ๆต็จ‹่ฎพ่ฎกๅ’Œๆฟ€ๅŠฑๆœบๅˆถ๏ผŒๅฐ†โ€œไธๆ–ญๆŽจๅŠจๅˆ›ๆ–ฐโ€ๅฝปๅบ•่žๅ…ฅๅ…ฌๅธDNA","ๆไพ›่ทจ่กŒไธšๅฏๅค็”จ็š„็ฎก็†ๅทฅๅ…ท๏ผšๆ€ป็ป“้กน็›ฎ็ซ‹้กนใ€่ทจ้ƒจ้—จๅไฝœไธŽ้ฃŽ้™ฉๆŽงๅˆถ็š„ๅ…ทไฝ“ๅšๆณ•๏ผŒไธบไธๅŒ่ง„ๆจกๅ’Œ่กŒไธš็š„ไผไธšๆไพ›่ฝๅœฐ็š„ๅฎžๆˆ˜ๆจกๆฟ"]},{id:"book-017",title:"้‡ๆฅ๏ผšๆ›ดไธบ็ฎ€ๅ•็š„ๅ•†ไธšๆ€็ปด",author:"่ดพๆฃฎยทๅผ—้‡Œๅพท / ๆˆด็ปดยทๆตทๆถ…่ฟˆๅฐ”ยทๆฑ‰ๆฃฎ",cover:"https://cdn.weread.qq.com/weread/cover/1/YueWen_635904/t6_YueWen_635904.jpg",wereadLink:"https://weread.qq.com/web/reader/0363228059b4000363b29e9#outline?noScroll=1",link:"https://book.douban.com/subject/5320866/",tags:["ๅ•†ไธšๆ€็ปด","ๅˆ›ไธš","ไผไธš็ฎก็†","ๆž็ฎ€ไธปไน‰"],desc:"37signals่”ๅˆๅˆ›ๅง‹ไบบๅŸบไบŽๅๅนดๅˆ›ไธšๅฎžๆˆ˜็ป้ชŒ๏ผŒๅ†™็ป™่ŒๅœบไบบไธŽๅˆ›ไธš่€…็š„ๆž็ฎ€ๅ•†ไธšๆณ•ๅˆ™ใ€‚ๆœฌไนฆๆ‘’ๅผƒไบ†ไผ ็ปŸ็š„MBAๆœฏ่ฏญไธŽๅคๆ‚็š„ๅ•†ไธšๆ•™ๆก๏ผŒไปฅโ€œ่พ›่พฃใ€็›ดๆŽฅใ€้ ่ฐฑโ€็š„่ฏญ่จ€๏ผŒ้ข ่ฆ†ไบ†ๅ…ณไบŽ้กน็›ฎ็ฎก็†ใ€ไบบๆ‰ๆ‹›่˜ใ€ไบงๅ“่ฎพ่ฎกไธŽไผไธšๆ–‡ๅŒ–็š„ๅธธ่ง„่ฎค็Ÿฅ๏ผŒๆ•™ๅฏผ่ฏป่€…ๅฆ‚ไฝ•ๅœจ็œŸๅฎž็š„ๅ•†ไธšไธ–็•Œไธญโ€œๅšๆ›ดๅฐ‘๏ผŒไฝ†ๅˆ›้€ ๆ›ดๅคšไปทๅ€ผโ€ใ€‚",rating:4.3,highlights:["้ข ่ฆ†ไผ ็ปŸ็š„ๆž็ฎ€ๅ•†ไธšๅ“ฒๅญฆ๏ผšๅๅ›ๅคๆ‚็š„ๅ•†ไธšๆ•™ๆก๏ผŒไธปๅผ โ€œๅšๆ›ดๅฐ‘๏ผŒๅˆ›้€ ๆ›ดๅคšโ€๏ผŒ้€š่ฟ‡ๆœ€ๅฐๅฏ่กŒๆญฅ้ชค้™ไฝŽ่ฏ•้”™ๆˆๆœฌๅนถๅฟซ้€Ÿ่ฟญไปฃ","ๆบ่‡ช37signals็š„ๅๅนดๅฎžๆˆ˜็ฒพ้ซ“๏ผš่ฆ†็›–ไปŽ้กน็›ฎ็ฎก็†ใ€ไบงๅ“่ฎพ่ฎกๅˆฐๅธ‚ๅœบ่ฅ้”€็š„ๅฎŒๆ•ด้“พๆก๏ผŒๆไพ›ไธ่ฎฒๅบŸ่ฏใ€ๆ‹ฟๆฅๅณ็”จ็š„่กŒๅŠจๆŒ‡ๅ—","้‡ๅก‘่ŒๅœบไธŽๅ›ข้˜Ÿ็ฎก็†็š„่ฎค็Ÿฅ๏ผšๆๅ‡บ่ฏธๅคšๅŠกๅฎžไธ”ๅๅธธ่ง„็š„่ง‚็‚น๏ผˆๅฆ‚ไธฅ่‹›็š„็ฎ€ๅކ็ญ›้€‰ๆ ‡ๅ‡†๏ผ‰๏ผŒๆ‰“้€ ๅŸบไบŽไฟกไปปไธŽ็ป“ๆžœๅฏผๅ‘็š„้ซ˜ๆ•ˆๅ›ข้˜Ÿ","้€‚็”จ้ขๆžๅนฟ็š„ๅฎžๆ“ๆ‰‹ๅ†Œ๏ผšๆ— ่ฎบๆ˜ฏๅฏปๆฑ‚็ช็ ด็š„็ฒพ่‹ฑไผไธšๅฎถใ€ๅฐๅ›ข้˜Ÿๅˆ›ไธš่€…๏ผŒ่ฟ˜ๆ˜ฏๆธดๆœ›ๆๅ‡ๅทฅไฝœๆ•ˆ็އ็š„ๆ™ฎ้€š่Œๅœบไบบ๏ผŒ้ƒฝ่ƒฝ็›ดๆŽฅๅฏน็…ง่ฝๅœฐ"]},{id:"book-018",title:"้‡ๆฅ2๏ผšๆ›ดไธบ็ฎ€ๅ•้ซ˜ๆ•ˆ็š„่ฟœ็จ‹ๅทฅไฝœๆ–นๅผ",author:"่ดพๆฃฎยทๅผ—้‡Œๅพท / ๆˆด็ปดยทๆตทๆถ…่ฟˆๅฐ”ยทๆฑ‰ๆฃฎ",cover:"https://cdn.weread.qq.com/weread/cover/38/YueWen_635721/t6_YueWen_635721.jpg",wereadLink:"https://weread.qq.com/web/reader/46b3220059b34946b517012#outline?noScroll=1",link:"https://book.douban.com/subject/25861795/",tags:["ไผไธš็ฎก็†","่ฟœ็จ‹ๅทฅไฝœ","ๅทฅไฝœๆ–นๅผ","ๅ›ข้˜Ÿๅไฝœ"],desc:"Basecamp๏ผˆๅŽŸ37signals๏ผ‰ๅˆ›ๅง‹ไบบๅŸบไบŽ่‡ช่บซๅ›ข้˜Ÿๅคšๅนด็š„ๅ…จ็ƒๅˆ†ๅธƒๅผๅไฝœ็ป้ชŒ๏ผŒไธบไผไธšๅ’Œไธชไบบๆไพ›็š„ไธ€ๅฅ—่ฟœ็จ‹ๅทฅไฝœโ€œๆ€ๆƒณๅ‡็บงๅŒ…โ€ใ€‚ๆœฌไนฆ็›ด้ข่กŒไธšไบ‰่ฎฎ๏ผŒ็ ด่งฃไบ†โ€œๅˆ›ๆ–ฐๅช่ƒฝ้ขๅฏน้ขโ€ๅŠโ€œๆ–‡ๅŒ–ไผšๆทกๅŒ–โ€็ญ‰ๅธธ่ง่ฏฏๅŒบ๏ผŒๅนถ็ณป็ปŸๆไพ›ไบ†ๅ€ŸๅŠฉๅผ‚ๆญฅๆฒŸ้€šใ€ๅไฝœๅทฅๅ…ทไธŽๆต็จ‹่ฎพ่ฎกๆฅๆ‰“้€ ้ซ˜ๆ•ˆใ€ไบบๆ€งๅŒ–่ฟœ็จ‹ๅ›ข้˜Ÿ็š„ๅฎžๆˆ˜ๆŒ‡ๅ—ใ€‚",rating:4.1,highlights:["ๆไพ›ๆ€ๆƒณๅฑ‚้ข็š„โ€œๅ‡็บงๅŒ…โ€๏ผš็›ดๅ‡ปไผ ็ปŸๅŠžๅ…ฌๅฎค็—›็‚น๏ผŒ็”จ็œŸๅฎžๆ•ฐๆฎไธŽๅไพ‹ๆ‰“็ ดๅ…ณไบŽ่ฟœ็จ‹ๅŠžๅ…ฌ็š„ๅ›บๆœ‰่ฎค็Ÿฅ่ฏฏๅŒบ","็ฌฌไธ€ๆ‰‹็š„ๅˆ†ๅธƒๅผๅ›ข้˜Ÿ็ฎก็†็ป้ชŒ๏ผšBasecampๅˆ›ๅง‹ไบบไบฒๆŽˆ๏ผŒๅฑ•็คบๅฆ‚ไฝ•็ช็ ดๅœฐๅŸŸ้™ๅˆถๆ‹›ๅ‹Ÿ้กถๅฐ–ไบบๆ‰๏ผŒๅนถไฟๆŒๅฅๅบทใ€้ซ˜ๆ•ˆ็š„ๅทฅไฝœ่Š‚ๅฅ","็ณป็ปŸๅฏ่ฝๅœฐ็š„ๅทฅๅ…ทไธŽๆต็จ‹ๆ–นๆณ•๏ผš่ฏฆ่ฟฐๅฆ‚ไฝ•ๅˆฉ็”จๅไฝœๅทฅๅ…ท้™ไฝŽ็ฎก็†ๆˆๆœฌ๏ผŒ่ฎฉ่ฟœ็จ‹ๅทฅไฝœไปŽโ€œ็‰นๆฎŠ็ฆๅˆฉโ€็œŸๆญฃ่ฝฌๅ˜ไธบๅฏๆŒ็ปญ็š„ไธปๆต็ป„็ป‡ๆจกๅผ"]},{id:"book-019",title:"้‡ๆฅ3๏ผšๅšๅพ—ๆ›ดๅฐ‘๏ผŒไฝ†่ตšๅพ—ๆ›ดๅคš",author:"่ดพๆฃฎยทๅผ—้‡Œๅพท / ๆˆด็ปดยทๆตทๆถ…่ฟˆๅฐ”ยทๆฑ‰ๆฃฎ",cover:"https://cdn.weread.qq.com/weread/cover/62/cpplatform_tqth8pnlq8h9ing5uciwhi/t6_cpplatform_tqth8pnlq8h9ing5uciwhi1748502715.jpg",wereadLink:"https://weread.qq.com/web/reader/b6a32ed0813ab9fb5g015181#outline?noScroll=1",link:"https://book.douban.com/subject/37367276/",tags:["ๅทฅไฝœๆ–นๅผ","ๅๅ†…ๅท","ไผไธšๆ–‡ๅŒ–"],desc:"Basecampๅˆ›ๅง‹ไบบๅธฆๆฅ็š„โ€œๅๅ†…ๅทโ€ไธŽโ€œๅ่ฟ‡ๅบฆๅฟ™็ขŒโ€็š„็ฎก็†ๆŒ‡ๅ—ใ€‚ไฝœ่€…ๅŸบไบŽ่ฟ‘20ๅนดๅธฆ้ข†54ไบบๅ›ข้˜ŸๆœๅŠกๅ…จ็ƒ10ไธ‡ๅฎถไผไธš็š„ๆˆๅŠŸ็ป้ชŒ๏ผŒ็›ดๅ‡ป็Žฐไปฃไผไธš็›ฒ็›ฎๆ‰ฉๅผ ใ€ๆ— ๆ•ˆๅŠ ็ญ็ญ‰ๅ…ซๅคง็—‡็ป“ใ€‚ๅ…จไนฆไธปๅผ ไปฅโ€œๅ†ท้™โ€้ข ่ฆ†โ€œๅฟ™็ขŒโ€ๆ–‡ๅŒ–๏ผŒๆŒ‡ๅฏผไผไธšๅ’Œไธชไบบ้€š่ฟ‡40ๅฐๆ—ถๅทฅไฝœๅˆถใ€ๆ‹’็ปKPIๅ’Œๅผ‚ๆญฅๆฒŸ้€š็ญ‰ๆž็ฎ€ๆ–นๅผ๏ผŒๅœจไธ็‰บ็‰ฒ็”Ÿๆดป่ดจ้‡็š„ๅ‰ๆไธ‹ๅฎž็Žฐๅฅๅบทๅ‘ๅฑ•ไธŽๆŒ็ปญ็›ˆๅˆฉใ€‚",rating:4.2,highlights:["ไปฅโ€œๅ†ท้™โ€้ข ่ฆ†โ€œๅฟ™็ขŒโ€ๆ–‡ๅŒ–๏ผšๅ€กๅฏผ้ซ˜ๆ•ˆๆฏ”้ซ˜ไบงๆ›ด้‡่ฆ๏ผŒ็”จ็จณๅฎš็š„่Š‚ๅฅๆ›ฟไปฃ็–ฏ็‹‚ๅŠ ็ญ็š„ๅ†…ๅทๅธธๆ€","็›ดๅ‡ป็Žฐไปฃไผไธšๅ…ซๅคง็—‡็ป“๏ผšๆทฑๅบฆ่ฏŠๆ–ญๅฟซ้€Ÿๆ‰ฉๅผ ใ€ๆ— ๆ•ˆๅŠ ็ญใ€ไผš่ฎฎๆณ›ๆปฅไธŽ็›ฎๆ ‡็ป‘ๆžถ็ญ‰็—›็‚น๏ผŒๆไพ›ๅฏน็—‡ไธ‹่ฏ็š„ๆ€่ทฏ","ๆไพ›ๅ››ๅคงๅฏ่ฝๅœฐ็š„็ฎก็†ๅทฅๅ…ท๏ผšๅผ•ๅ…ฅ40ๅฐๆ—ถๅทฅไฝœๅˆถใ€ๆ‹’็ป็กฌๆ€งKPIใ€ๆŽจ่กŒ้žๅฎžๆ—ถๆฒŸ้€š๏ผŒๅšๆŒๅˆฉๆถฆไผ˜ๅ…ˆไบŽ่ง„ๆจก","ๆบ่‡ชBasecamp็š„็œŸๅฎžๅๅ‘ๆกˆไพ‹๏ผšๅฑ•็คบโ€œๅฐ่€Œ็พŽโ€ๅ›ข้˜Ÿๅฆ‚ไฝ•้€š่ฟ‡โ€œๅฐ‘ๅšไฝ†ๅšๅฅฝโ€็š„็ญ–็•ฅ๏ผŒ่ท‘่ตขๆ–ฐ็ปๆตŽๅนถไฟๆŒ้ซ˜ๅˆฉๆถฆ"]}],Ye=[{id:"book-024",title:"่ฆไบ‹็ฌฌไธ€",author:"ๅฒ่’‚่ŠฌยทๆŸฏ็ปด / ็ฝ—ๆฐยทๆข…้‡Œๅฐ” / ไธฝ่ดๅกยทๆข…้‡Œๅฐ”",cover:"https://cdn.weread.qq.com/weread/cover/57/yuewen_33091834/t6_yuewen_330918341686208943.jpg",wereadLink:"https://weread.qq.com/web/reader/f523268071f8f0faf52b806#outline?noScroll=1",link:"https://book.douban.com/subject/1028372/",tags:["ๆ—ถ้—ด็ฎก็†","่‡ชๆˆ‘็ฎก็†","็ปๅ…ธๆ€็ปด"],desc:"ไฝœไธบใ€Š้ซ˜ๆ•ˆ่ƒฝไบบๅฃซ็š„ไธƒไธชไน ๆƒฏใ€‹็š„ๅปถไผธไธŽๅŠ ๅผบ็‰ˆ๏ผŒๆœฌไนฆๆๅ‡บไบ†้ข ่ฆ†ไผ ็ปŸ็š„โ€œ็ฌฌๅ››ไปฃๆ—ถ้—ด็ฎก็†โ€ๆ–นๆณ•ใ€‚ไฝœ่€…ๅผบ่ฐƒ๏ผŒๆฏ”ๆๅ‡ๅšไบ‹้€Ÿๅบฆ๏ผˆๆ—ถ้’Ÿ๏ผ‰ๆ›ด้‡่ฆ็š„ๆ˜ฏๆ‰พๅ‡†ไบบ็”Ÿ็š„ๆ–นๅ‘๏ผˆ็ฝ—็›˜๏ผ‰ใ€‚ๅ…จไนฆๆŒ‡ๅฏผ่ฏป่€…้€š่ฟ‡่‡ชๆˆ‘ๆ„่ฏ†็š„่ง‰้†’๏ผŒไปฅๅŽŸๅˆ™ๅ’Œไปทๅ€ผ่ง‚ไธบไธญๅฟƒ๏ผŒๅฐ†็ฒพๅŠ›่š็„ฆไบŽโ€œ้‡่ฆ่€Œไธ็ดงๆ€ฅโ€็š„้•ฟๆœŸ็›ฎๆ ‡ไธŠ๏ผŒไปŽ่€Œๅœจ็นๅฟ™็š„็Žฐไปฃ็”Ÿๆดปไธญ็œŸๆญฃๅšๅˆฐโ€œ่ฆไบ‹็ฌฌไธ€โ€ใ€‚",rating:4.5,highlights:["ไปŽโ€œๆ—ถ้’Ÿโ€ๅˆฐโ€œ็ฝ—็›˜โ€็š„ๆ€็ปด่ทจ่ถŠ๏ผšๆ‰“็ ดไธ€ๅ‘ณ่ฟฝๆฑ‚โ€œๆ›ดๅฟซใ€ๆ›ดๅŠชๅŠ›โ€็š„ไผ ็ปŸๆ•ˆ็އ่ฟทๆ€๏ผŒ็กฎ็ซ‹ไบบ็”Ÿๆ–นๅ‘ไผ˜ๅ…ˆ็š„ๅ“ฒๅญฆ","็ปๅ…ธ็š„ๅ››่ฑก้™ๆ—ถ้—ด็ฎก็†็Ÿฉ้˜ต๏ผšๅผ•ๅฏผ่ฏป่€…่ทณๅ‡บ็ดงๆ€ฅไบ‹ๅŠก็š„โ€œๆ•‘็ซๅœˆโ€๏ผŒๅฐ†ๆ ธๅฟƒ็ฒพๅŠ›ๅ€พๆณจไบŽ็ฌฌไบŒ่ฑก้™๏ผˆ้‡่ฆไฝ†ไธ็ดงๆ€ฅ๏ผ‰็š„้ซ˜ไปทๅ€ผไบ‹ๅŠกไธญ","็”ŸๅŠจ็š„โ€œๅคง็Ÿณๅ—โ€ไผ˜ๅ…ˆๆณ•ๅˆ™๏ผš้€š่ฟ‡โ€œๅ…ˆๆ”พ็Ÿณๅคดๅ†ๅ€’ๆฐดโ€็š„็›ด่ง‚ๆฏ”ๅ–ป๏ผŒ็กฎไฟๅ…ณ้”ฎ็›ฎๆ ‡ไธŽๆ ธๅฟƒไฝฟๅ‘ฝๅœจ็ขŽ็‰‡ๅŒ–ๆ—ฅ็จ‹ไธญๅพ—ๅˆฐ็ปๅฏน็š„ไผ˜ๅ…ˆ่ฝๅฎž","ไปฅๅŽŸๅˆ™ไธบไธญๅฟƒ็š„่‡ชๆˆ‘้ฉฑๅŠจๆก†ๆžถ๏ผšไธไป…ๆไพ›ๆ—ฅ็จ‹ๅฎ‰ๆŽ’ๅทฅๅ…ท๏ผŒๆ›ด้€š่ฟ‡ๅ”ค้†’่‰ฏ็Ÿฅ๏ผŒๅธฎๅŠฉ่ฏป่€…ๅœจๅทฅไฝœใ€ๅฎถๅบญ็ญ‰ๅคšๅ…ƒ่ง’่‰ฒไธญๅฎž็Žฐ็œŸๆญฃ็š„ๅนณ่กกไธŽ็ปŸๅˆ็ปผๆ•ˆ"]},{id:"book-025",title:"ๆธ…ๅ•้ฉๅ‘ฝ",author:"้˜ฟๅ›พยท่‘›ๆ–‡ๅพท",cover:"https://cdn.weread.qq.com/weread/cover/12/cpPlatform_rudGZN3LDW5m9FBYr7rMBA/t6_cpPlatform_rudGZN3LDW5m9FBYr7rMBA.jpg",wereadLink:"https://weread.qq.com/web/reader/18332f80813ab7292g010065#outline?noScroll=1",link:"https://book.douban.com/subject/27168564/",tags:["็ฎก็†ๅญฆ","่ฎค็Ÿฅ็ง‘ๅญฆ","ๅทฅไฝœๆ•ˆ็އ"],desc:"่ฟ™ๆ˜ฏไธ€้ƒจ้’ˆๅฏน็Žฐไปฃๅคๆ‚ไธ–็•Œๆ‰€ๆ’ฐๅ†™็š„โ€œ่ฎค็Ÿฅ้˜ฒๆŠคๆ‰‹ๅ†Œโ€ใ€‚ไฝœ่€…้˜ฟๅ›พยท่‘›ๆ–‡ๅพท้€š่ฟ‡ๅŒป็–—ใ€ๅปบ็ญ‘ใ€ๆŠ•่ต„็ญ‰้ซ˜้ฃŽ้™ฉ้ข†ๅŸŸ็š„็œŸๅฎžๆกˆไพ‹๏ผŒๆญ็คบไบ†ไบบ็ฑปๅœจๆตท้‡ไฟกๆฏไธŽ้ซ˜ๅŽ‹็Žฏๅขƒไธ‹ๆžๆ˜“ๅ‡บ็Žฐ็š„ๅˆคๆ–ญ็–ๅฟฝใ€‚ไนฆไธญๆๅ‡บไบ†โ€œๆƒๅŠ›ไธ‹ๆ”พใ€็ฎ€ๅ•่‡ณไธŠใ€ไบบไธบๆ นๆœฌใ€ๆŒ็ปญๆ”นๅ–„โ€ๅ››ๅคงๅŽŸๅˆ™๏ผŒๆŒ‡ๅฏผ่ฏป่€…ๅฐ†ๆœ€ไฝณๅฎž่ทตๅค–ๅŒ–ไธบๅฏๆ“ไฝœ็š„ๆธ…ๅ•๏ผŒไปŽ่€Œๅœจๅคๆ‚็ณป็ปŸไธญๆž„ๅปบไธ€้“ไฝŽๆˆๆœฌใ€้ซ˜ๅ›žๆŠฅ็š„ๅฎ‰ๅ…จ้˜ฒ็บฟใ€‚",rating:4.6,highlights:["็›ด้ขๅคๆ‚ๆ—ถไปฃ็š„่ฎค็Ÿฅ็“ถ้ขˆ๏ผšๆญ็คบๅœจๆตท้‡ไฟกๆฏๆตไธญ๏ผŒๆธ…ๅ•ๅฆ‚ไฝ•ไฝœไธบโ€œ่ฎค็Ÿฅ้˜ฒๆŠค็ฝ‘โ€ๅผฅ่กฅไบบ็ฑป่ฎฐๅฟ†ๅŠ›ไธŽๆณจๆ„ๅŠ›ๅˆ†้…็š„ๅ…ˆๅคฉไธ่ถณ","ๆไพ›ๅ…ผๅ…ท็†ๅฟตไธŽ่ฝๅœฐ็š„ๅ››ๅคงๅŽŸๅˆ™๏ผš้€š่ฟ‡โ€œๆƒๅŠ›ไธ‹ๆ”พใ€็ฎ€ๅ•่‡ณไธŠใ€ไบบไธบๆ นๆœฌใ€ๆŒ็ปญๆ”นๅ–„โ€๏ผŒๆž„ๅปบไธ€ๅฅ—ๅฏๅค็”จ็š„ๆธ…ๅ•่ฎพ่ฎกๅ“ฒๅญฆ","ๆ‰Žๅฎž็š„ๅŒปๅญฆๅฎž่ฏ่ƒŒไนฆ๏ผšไปฅๆ‰‹ๆœฏๆ„ŸๆŸ“็އ้ชค้™็ญ‰็œŸๅฎžไธดๅบŠๆ•ฐๆฎไธบๆ”ฏๆ’‘๏ผŒ่ฏๆ˜Žๆธ…ๅ•ๆ€็ปดๅœจๅŒป็–—ใ€ๅปบ็ญ‘ใ€ๆŠ•่ต„็ญ‰้ซ˜้ฃŽ้™ฉ้ข†ๅŸŸ็š„่ทจ่กŒไธšๆ™ฎ้€‚ๆ€ง","็ฎ€ๆด่€Œๅ…ทๅŠ›้‡็š„ๆต็จ‹ๅˆ›ๆ–ฐ๏ผšๅผบ่ฐƒๆธ…ๅ•ๆœๅŠกไบŽไบบ่€Œ้žๅ–ไปฃไบบ๏ผŒๆ˜ฏๅธฎๅŠฉไธ“ไธšไบบๅฃซๅœจ้ซ˜ๅŽ‹็Žฏๅขƒไธ‹ๅฐ†ๅคๆ‚็Žฏ่Š‚ๆ˜พๆ€งๅŒ–ใ€ๆต็จ‹ๅŒ–็š„ๅฟ…ๅค‡ๅทฅๅ…ท"]},{id:"book-020",title:"ๅˆซ่ฎฉ็Œดๅญ่ทณๅ›ž่ƒŒไธŠ",author:"ๅจๅป‰ยทๅฎ‰่‚ฏไธ‰ไธ–",cover:"https://cdn.weread.qq.com/weread/cover/69/cpPlatform_7fFoBQ7dtqgABGSTskpJSN/t6_cpPlatform_7fFoBQ7dtqgABGSTskpJSN.jpg",wereadLink:"https://weread.qq.com/web/reader/9fc32010813ab7291g0196bd#outline?noScroll=1",link:"https://book.douban.com/subject/36103994/",tags:["ๆ—ถ้—ด็ฎก็†","้ข†ๅฏผๅŠ›","้กน็›ฎ็ฎก็†"],desc:"่ฟ™ๆ˜ฏไธ€้ƒจไปฅโ€œ็Œดๅญโ€็”ŸๅŠจ้šๅ–ปไปปๅŠกไธŽ่ดฃไปป็š„็ปๅ…ธ็ฎก็†ๅญฆ่‘—ไฝœใ€‚ไฝœ่€…ๅจๅป‰ยทๅฎ‰่‚ฏไธ‰ไธ–ๆทฑๅˆปๅ‰–ๆžไบ†็ฎก็†่€…ๅธธ่ขซ็ไบ‹ๆทนๆฒก็š„ๆ—ถ้—ดๅ›ฐๅขƒ๏ผŒๅนถๆๅ‡บ็ณป็ปŸๅŒ–็š„โ€œ็Œดๅญ็ฎก็†ๆณ•โ€ใ€‚้€š่ฟ‡ๆ˜Ž็กฎไปปๅŠกๅฝ’ๅฑžใ€่ดฃไปป้€’ๅ‡ไธŽๆœ‰ๆ•ˆๆŽˆๆƒ๏ผŒๆŒ‡ๅฏผ็ฎก็†่€…ๅฆ‚ไฝ•ๆŠŠไธๅฑžไบŽ่‡ชๅทฑ็š„โ€œ็Œดๅญโ€ไบคๅ‡บๅŽป๏ผŒไปŽ่€Œ้‡Šๆ”พ็ฒพๅŠ›ไธ“ๆณจไบŽๆœ€้ซ˜ไปทๅ€ผ็š„ๆˆ˜็•ฅๆ€่€ƒ๏ผŒๅฎž็Žฐๅ›ข้˜ŸไธŽไธชไบบ็š„ๅ…ฑๅŒๆˆ้•ฟใ€‚",rating:4.3,highlights:["็”ŸๅŠจๆœ‰่ถฃ็š„โ€œ็Œดๅญโ€้šๅ–ป๏ผšๅฐ†ๆžฏ็‡ฅ็š„่ดฃไปปๅˆ’ๅˆ†ไธŽไปปๅŠกๆต่ฝฌๅ…ท่ฑกๅŒ–๏ผŒ็›ดๅ‡ป่Œๅœบไธญโ€œๅฟ™็ขŒๅดไฝŽๆ•ˆโ€็š„็—›็‚น","ๅฎž็”จ้ซ˜ๆ•ˆ็š„โ€œไธ‰ๆญฅไบคๆŽฅโ€ๆณ•ๅˆ™๏ผš้€š่ฟ‡ๆ˜Ž็กฎๆœŸๆœ›ใ€ๆŽˆไบˆ่ต„ๆบไธŽ็บฆๅฎšๆฃ€ๆŸฅ็‚น๏ผŒๅฝปๅบ•้ฟๅ…ไธ‹ๅฑž็š„ๅพ…ๅŠžไปปๅŠก้‡ๆ–ฐ่ทณๅ›ž่‡ชๅทฑ่ƒŒไธŠ","้‡ๅก‘ๆ—ถ้—ด็ฎก็†ไธŽไบบๆ‰ๅŸนๅ…ปไฝ“็ณป๏ผšๆŒ‡ๅฏผ้ซ˜ๅฑ‚ๆ”พๆƒใ€ไธญๅฑ‚่พ…ๅฏผใ€ๅŸบๅฑ‚่‡ชๅ‘๏ผŒๅฐ†ไผไธš็š„ๆˆๅŠŸ็œŸๆญฃๅปบ็ซ‹ๅœจๅ‘˜ๅทฅ่‡ชไธปๆ€ง็š„ๆๅ‡ไน‹ไธŠ"]}],Te=[{id:"book-022",title:"ๅญฆไผšๆ้—ฎ๏ผˆๅŽŸไนฆ็ฌฌ12็‰ˆ๏ผ‰",author:"ๅฐผๅฐ”ยทๅธƒๆœ— / ๆ–ฏๅ›พๅฐ”็‰นยทๅŸบๅˆฉ",cover:"https://cdn.weread.qq.com/weread/cover/68/YueWen_39980443/t6_YueWen_39980443.jpg",wereadLink:"https://weread.qq.com/web/reader/e6832d3072620d9be68aabf#outline?noScroll=1",link:"https://book.douban.com/subject/35513147/",tags:["ๆ‰นๅˆคๆ€งๆ€็ปด","้€ป่พ‘ๅญฆ","่ฎค็Ÿฅ็ง‘ๅญฆ","็ปๅ…ธไนฆ"],desc:"่ฟ™ๆ˜ฏไธ€้ƒจๅŸนๅ…ปๆ‰นๅˆคๆ€งๆ€็ปด็š„็ปๅ…ธๅฎžๆˆ˜ๆŒ‡ๅ—ใ€‚ไฝœ่€…ๅฐผๅฐ”ยทๅธƒๆœ—ไธŽๆ–ฏๅ›พๅฐ”็‰นยทๅŸบๅˆฉ็ป“ๅˆ้•ฟๆœŸ็š„ๆ•™ๅญฆไธŽ็ ”็ฉถๅฎž่ทต๏ผŒๆไพ›ไบ†ไธ€ๅฅ—็ณป็ปŸๅŒ–ใ€ๅฏๆ“ไฝœ็š„ๆ้—ฎๆต็จ‹ใ€‚ๅ…จไนฆ้€š่ฟ‡ๅคง้‡็œŸๅฎžๆƒ…ๅขƒๆกˆไพ‹๏ผŒๆ•™ๅฏผ่ฏป่€…ๅฆ‚ไฝ•ๅœจไฟกๆฏๆณ›ๆปฅ็š„ๆ—ถไปฃ่ฏ†ๅˆซ้šๅซๅ‡่ฎพใ€ๅŒบๅˆ†ไบ‹ๅฎžไธŽ่ง‚็‚น๏ผŒ็”จ้ซ˜่ดจ้‡็š„โ€œๅˆคๆ–ญๆ€ง้—ฎ้ข˜โ€็œ‹้€ไบ‹็‰ฉๆœฌ่ดจ๏ผŒไปŽ่€Œๅšๅ‡บๆ›ด็†ๆ€ง็š„ๅ†ณ็ญ–ใ€‚",rating:5,highlights:["่š็„ฆๆ‰นๅˆคๆ€งๆ€่€ƒ็š„ๆ ธๅฟƒ่ƒฝๅŠ›๏ผš็ณป็ปŸๆ‹†่งฃโ€œๅฆ‚ไฝ•ๆๅ‡บๅฅฝ้—ฎ้ข˜โ€็š„ๆ€็ปด่ฟ‡็จ‹๏ผŒๅธฎๅŠฉ่ฏป่€…ๅœจๅคๆ‚ไฟกๆฏไธญ่ฟ…้€ŸๆŠ“ไฝๆœฌ่ดจ","ๆไพ›ๅฏ่ฝๅœฐ็š„ๆ้—ฎไธŽ่ฏ„ไผฐๆก†ๆžถ๏ผšไปŽ่ƒŒๆ™ฏไฟกๆฏใ€ๅ…ณ้”ฎๆฆ‚ๅฟตๅˆฐ้€ป่พ‘ๆŽจ็†๏ผŒๆž„ๅปบไธ€ๆกๅฎŒๆ•ด็š„ๅˆคๆ–ญๆ€ง้—ฎ้ข˜้“พๆก","ไธฐๅฏŒ็š„็œŸๅฎžๅœบๆ™ฏๅบ”็”จ็คบ่Œƒ๏ผš็ป“ๅˆ่ฏพๅ ‚่ฎจ่ฎบใ€ๅ†™ไฝœใ€ๆ—ฅๅธธๆฒŸ้€šไธŽ่Œๅœบๅ†ณ็ญ–็ญ‰ๅคšๅ…ƒๅœบๆ™ฏ๏ผŒ่ฎฉ็†่ฎบ่ƒฝโ€œ็ซ‹ๅณไธŠๆ‰‹โ€","ๆ‰“้€ ๅฎž็”จ็š„ๆ€่€ƒๆฃ€ๆŸฅๅ•๏ผšไธไป…่ฎฒ้€โ€œๆ้—ฎ็š„ไปทๅ€ผโ€๏ผŒๆ›ดๆไพ›ๅฏ็›ดๆŽฅ่ฝฌๅŒ–ไธบๆ—ฅๅธธไน ๆƒฏ็š„ๆ€็ปดๆฃ€ๆŸฅ่กจ๏ผŒๅŠฉไฝ ๆœ‰ๆ•ˆ้ฟๅผ€่ฎค็Ÿฅ้™ท้˜ฑ"]},{id:"book-026",title:"ๅฆ‚ไฝ•้˜…่ฏปไธ€ๆœฌไนฆ",author:"่Žซๆ้ป˜ยทJ. ่‰พๅพทๅ‹’ / ๆŸฅๅฐ”ๆ–ฏยท่Œƒๅคšไผฆ",cover:"https://wfqqreader-1252317822.image.myqcloud.com/cover/810/23723810/t6_23723810.jpg",wereadLink:"https://weread.qq.com/book-detail?type=1&senderVid=40710128&v=272326407169ff22272934f&wtheme=white&wfrom=app&wvid=40710128&scene=bottomSheetShare",link:"https://book.douban.com/subject/1013208/",tags:["้˜…่ฏปๆ–นๆณ•","ๆ€็ปด่ฎญ็ปƒ","็ปๅ…ธ"],desc:"้˜…่ฏป้ข†ๅŸŸ็š„โ€œๅ…ƒๆ–นๆณ•โ€ๆŒ‡ๅ—ใ€‚ไฝœ่€…่‰พๅพทๅ‹’ไธŽ่Œƒๅคšไผฆๅฐ†้˜…่ฏปๅˆ’ๅˆ†ไธบๅŸบ็ก€้˜…่ฏปใ€ๆฃ€่ง†้˜…่ฏปใ€ๅˆ†ๆž้˜…่ฏปไธŽไธป้ข˜้˜…่ฏปๅ››ไธช่ฟ›้˜ถๅฑ‚ๆฌก๏ผŒๅนถๅผบ่ฐƒ้˜…่ฏปๆ˜ฏไธ€้กนไธปๅŠจ็š„ๆ€่€ƒๆดปๅŠจใ€‚ๆœฌไนฆไธไป…ๆไพ›ไบ†ไปŽโ€œๅฟซ้€Ÿ็•ฅ่ฏปโ€ๅˆฐโ€œ็ณป็ปŸๆ‹†่งฃ่ฎบ็‚นโ€็š„ๅฎžๆ“ๆŠ€ๅทง๏ผŒๆ›ด่‡ดๅŠ›ไบŽ้€š่ฟ‡ๆ้—ฎใ€ๅฝ’็บณไธŽๆ‰นๅˆค๏ผŒๅฐ†้˜…่ฏป่ฝฌๅŒ–ไธบ่ฎญ็ปƒ็†่งฃๅŠ›ใ€ๆ‰นๅˆคๅŠ›ไธŽ็ปˆ่บซๅญฆไน ็š„็ปˆๆžๅทฅๅ…ทใ€‚",rating:5,highlights:["ๆž„ๅปบ็ณป็ปŸ็š„ๅ››็บง้˜…่ฏปๆก†ๆžถ๏ผšไปŽๆฃ€่ง†้˜…่ฏปๅˆฐๅˆ†ๆž้˜…่ฏปๅ†ๅˆฐไธป้ข˜้˜…่ฏป๏ผŒไธบ่ฏป่€…ๆไพ›ไบ†ไธ€ๅฅ—ไปŽๅ…ฅ้—จๅˆฐ็ฒพ้€š็š„่ฟ›้˜ถ่ทฏๅพ„","ๅผบ่ฐƒโ€œไธปๅŠจไธŽๆ‰นๅˆคโ€็š„้˜…่ฏป่ง‚๏ผšๆ‹’็ป่ขซๅŠจๆŽฅๆ”ถ๏ผŒๆ•™ๅฏผ่ฏป่€…ๅฆ‚ไฝ•้€š่ฟ‡ๆ้—ฎใ€ๅฝ’็บณไธŽๅๆ€๏ผŒ็œŸๆญฃๅฐ†ไฝœ่€…็š„ๆดž่ง่ฝฌๅŒ–ไธบ่‡ชๅทฑ็š„่ฎค็Ÿฅ","้ซ˜ๆ•ˆ็š„ๆฃ€่ง†้˜…่ฏปๆŠ€ๅทง๏ผšๆไพ›ๅฆ‚ไฝ•ๅœจๆœ‰้™ๆ—ถ้—ดๅ†…้€š่ฟ‡็œ‹็›ฎๅฝ•ใ€ๆŒ‘้‡็‚น็ญ‰ๆ–นๅผ๏ผŒๅฟซ้€Ÿ็ญ›้€‰ๅนถๅˆคๆ–ญไนฆ็›ฎไปทๅ€ผ็š„ๆ ธๅฟƒ่ƒฝๅŠ›","่ทจๆ—ถไปฃ็š„็ปๅ…ธๆ•ˆ่ƒฝ๏ผš่‡ช1940ๅนด้—ฎไธ–ไปฅๆฅ้•ฟ็››ไธ่กฐ๏ผŒๅ…ถๅฏน้€ป่พ‘ๆ‹†่งฃไธŽๆทฑๅบฆๆ€่€ƒ็š„ๆŒ‡ๅฏผ๏ผŒๆ˜ฏๆๅ‡ๆ‰€ๆœ‰็Ÿฅ่ฏ†ๅธๆ”ถๆ•ˆ็އ็š„โ€œๆ€ปๅผ€ๅ…ณโ€"]},{id:"book-023",title:"ๆฃ€็ดขๅŠ›๏ผšๆ‰“็ ดไฟกๆฏๅทฎ็š„็ง‘ๅญฆๆ–นๆณ•",author:"้พš่Š™่“‰",cover:"https://cdn.weread.qq.com/weread/cover/58/cpplatform_feaxemubry47bnkzylqzwv/t6_cpplatform_feaxemubry47bnkzylqzwv1716796541.jpg",wereadLink:"https://weread.qq.com/web/reader/9de32810813ab8e00g018130#outline?noScroll=1",link:"https://book.douban.com/subject/36899979/",tags:["ไฟกๆฏ็ด ๅ…ป","ๆฃ€็ดข่ƒฝๅŠ›","ๆ€็ปด่ฎค็Ÿฅ"],desc:"ๆœฌไนฆ่š็„ฆโ€œๆฃ€็ดขๅŠ›โ€่ฟ™ไธ€ๆ ธๅฟƒๆŠ€่ƒฝ๏ผŒๆ—จๅœจๅธฎๅŠฉ่ฏป่€…ๅœจไฟกๆฏ่ฟ‡่ฝฝ็š„ๆ—ถไปฃไธปๅŠจๆŽŒๆกโ€œ้€†้ฃŽ่€Œ่กŒโ€็š„ๆœ็ดข่ƒฝๅŠ›ใ€‚ไฝœ่€…้พš่Š™่“‰็ป“ๅˆไบŒๅไฝ™ๅนดๅฎž่ทต็ป้ชŒ๏ผŒ็”จ็”ŸๅŠจ็š„ไบบๆ–‡ไธŽ่ฏบ่ดๅฐ”ๅฅ–็บง็ง‘ๅญฆๆกˆไพ‹๏ผŒๅฐ†ๆžฏ็‡ฅ็š„ๆฃ€็ดขๅทฅๅ…ทๅŒ–ไธบๆœ‰่ถฃ็š„ๆ•…ไบ‹ใ€‚ไธไป…ๆ•™ๆŽˆ้ž็บฟๆ€งใ€่ฟญไปฃๅผ็š„ๆœ็ดขๆŠ€ๅทง๏ผŒๆ›ด่‡ดๅŠ›ไบŽ้‡ๅก‘่ฏป่€…็š„ๆŽข็ฉถ็ฒพ็ฅž๏ผŒ่ต‹ไบˆๅ…ถ่ตฐๅ‡บโ€œไฟกๆฏ่Œงๆˆฟโ€็š„ๅ‹‡ๆฐ”ใ€‚",rating:4.2,highlights:["ไธฐๅฏŒ็š„่ทจๅญฆ็ง‘่ถฃๅ‘ณๆกˆไพ‹้ฉฑๅŠจ๏ผš็”จโ€œๅผ ๅ† ๆŽๆˆด็š„้ฉฌๅ…‹ๆ€ๅ่จ€โ€็ญ‰็”ŸๅŠจๆ•…ไบ‹๏ผŒๅฐ†ๆžฏ็‡ฅ็น็็š„ๆฃ€็ดขๆญฅ้ชค่ฝฌๅŒ–ไธบ่ฝปๆพ็š„ๆŽข็ดขไน‹ๆ—…","้‡ๅก‘้ž็บฟๆ€งไธŽ่ฟญไปฃ็š„ๆœ็ดขๆ€็ปด๏ผšๆ‰“็ ดๆŒ‰้ƒจๅฐฑ็ญ็š„็บฟๆ€งๆต็จ‹่ฏฏๅŒบ๏ผŒๅปบ็ซ‹ไปฅ่€ๅฟƒไธŽ็ƒญๆƒ…้ฉฑๅŠจ็š„ๅคš่ฝฎ่ฟญไปฃๆœ็ดขๅฟƒๆ€","็›ดๅ‡ป็ง‘็ ”ไธŽ่Œๅœบ็š„ๅฎž็”จ็—›็‚น๏ผšๆไพ›ๅฏๅฟซ้€Ÿ่ฝๅœฐ็š„ๅฎžๆ“ๆŒ‡ๅ—๏ผŒๅธฎๅŠฉ่ฏป่€…ๅˆ‡ๅฎž็ผฉ็Ÿญ็ง‘็ ”ๅ‘จๆœŸใ€ๅคงๅน…ๆๅ‡ๅทฅไฝœๆ•ˆ็އ","ๅ…ผ้กพๆŠ€่ƒฝ่ฎญ็ปƒไธŽไบบๆ–‡ๅบ•่‰ฒ๏ผšๅœจๆ•™ๆŽˆๅฆ‚ไฝ•ๅˆฉ็”จๅ’Œๅˆ›้€ ไฟกๆฏ็š„ๅŒๆ—ถ๏ผŒๆณจ้‡ๅŸนๅ…ป่ฏป่€…็š„ไฟกๆฏ็ด ๅ…ปไธŽๆ‰“็ ดไฟกๆฏๅทฎ็š„่ฎค็Ÿฅๅ‹‡ๆฐ”"]},{id:"book-027",title:"ๅŽŸๅˆ™",author:"็‘žยท่พพๅˆฉๆฌง",cover:"https://cdn.weread.qq.com/weread/cover/23/YueWen_921568/t6_YueWen_921568.jpg",wereadLink:"https://weread.qq.com/web/reader/848324405e0fe08483ab6a4#outline?noScroll=1",link:"https://book.douban.com/subject/27608239/",tags:["ๆŠ•่ต„","ๆ–นๆณ•่ฎบ","่‡ชๆˆ‘็ฎก็†"],desc:"ๆกฅๆฐดๅŸบ้‡‘ๅˆ›ๅง‹ไบบ็‘žยท่พพๅˆฉๆฌงๆ€ป็ป“ๅ››ๅไฝ™ๅนดๆŠ•่ต„ใ€็ฎก็†ไธŽไบบ็”Ÿ็ป้ชŒ็š„้›†ๅคงๆˆไน‹ไฝœใ€‚ไฝœ่€…ๆๅ‡บๅฐ†็”Ÿๆดปๅ’Œๅทฅไฝœๅƒๆœบๅ™จไธ€ๆ ท็ณป็ปŸๅŒ–๏ผŒ็กฎ็ซ‹ไบ†โ€œๆžๅบฆๆฑ‚็œŸโ€ไธŽโ€œๆžๅบฆ้€ๆ˜Žโ€ไธคๅคงๅŸบ็Ÿณ๏ผŒๅนถ้€š่ฟ‡โ€œๅˆ›ๆ„ๆ‹ฉไผ˜โ€ไธŽโ€œๅŸบไบŽๅฏไฟกๅบฆ็š„ๅ†ณ็ญ–ๆœบๅˆถโ€ๆฅ่ฟญไปฃๆ€็ปดใ€‚ไนฆไธญๅŒ…ๅซ500ๅคšๆกๅฏๆ“ไฝœๅŽŸๅˆ™๏ผŒๆ—จๅœจๅธฎๅŠฉ่ฏป่€…ๅœจๅคๆ‚ไธ–็•ŒไธญไฟๆŒๅผ€ๆ”พๅฟƒๆ€ใ€็œ‹ๆธ…็Žฐๅฎž๏ผŒๅนถๅšๅ‡บๆœ€ไผ˜ๅ†ณ็ญ–ใ€‚",rating:4.8,highlights:["โ€œๆžๅบฆๆฑ‚็œŸโ€ไธŽโ€œๆžๅบฆ้€ๆ˜Žโ€็š„ๅŸบ็Ÿณ๏ผšไธปๅผ ่ฏšๅฎž้ขๅฏน็Žฐๅฎž๏ผŒ้€š่ฟ‡ๅ…ฌๅผ€ๅ†ณ็ญ–่ฟ‡็จ‹ๆฅ่Žทๅ–ๅค–้ƒจๅ้ฆˆ๏ผŒ่พพๆˆ้ซ˜ๆ•ˆๅไฝœ","ๅˆ›ๆ„ๆ‹ฉไผ˜ไธŽๅฏไฟกๅบฆๅŠ ๆƒๆœบๅˆถ๏ผšๆ‘’ๅผƒไธชไบบๆƒๅจ๏ผŒๅˆฉ็”จๆ•ฐๆฎ้ฉฑๅŠจ็š„่ฎจ่ฎบไธŽๅฏไฟกๅบฆๆƒ้‡๏ผŒๅœจๅ›ข้˜Ÿไธญ้€‰ๅ‡บๆœ€ไผ˜ๆ–นๆกˆ","500ไฝ™ๆกๅฏ่ฝๅœฐ็š„ๅŽŸๅˆ™ๆธ…ๅ•๏ผšๆถต็›–่‡ชๆˆ‘่ฎค็Ÿฅใ€ๆŠ•่ต„ๅ†ณ็ญ–ใ€ๅ›ข้˜Ÿๆฒป็†็ญ‰ๅœบๆ™ฏ๏ผŒๆž„ๅปบๅ‡บไธ€ๅฅ—้šๆ—ถๅฏๆŸฅ็š„่กŒๅŠจๆŒ‡ๅ—","็ณป็ปŸๅŒ–็š„โ€œๆœบๅ™จโ€ๆ€็ปด๏ผšๅฐ†็”ŸๆดปไธŽ็ป„็ป‡็ฎก็†ๆ‹†่งฃไธบๅฏ็ปดๆŠคใ€ๅฏ่ฟญไปฃ็š„็ณป็ปŸ๏ผŒๆœ‰ๆ•ˆ่ง„้ฟๆƒ…็ปชๅŒ–ๅนฒๆ‰ฐ"]},{id:"book-031",title:"ไปทๅ€ผ",author:"ๅผ ็ฃŠ",cover:"https://wfqqreader-1252317822.image.myqcloud.com/cover/958/33577958/t6_33577958.jpg",wereadLink:"https://weread.qq.com/web/reader/5be32a3072005be65bef195#outline?noScroll=1",link:"https://book.douban.com/subject/35188914/",tags:["ไปทๅ€ผๆŠ•่ต„","ๅ•†ไธšๆ€็ปด","ๅˆ›ไธš"],desc:"้ซ˜็“ด่ต„ๆœฌๅˆ›ๅง‹ไบบๅผ ็ฃŠ้ฆ–้ƒจไธชไบบๅŠๆŠ•่ต„ๆ€ๆƒณ่‘—ไฝœใ€‚ๅ…จไนฆ้€š่ฟ‡ๅ›ž้กพไฝœ่€…็š„ไธชไบบๆฑ‚ๅญฆไธŽๅˆ›ไธšๅކ็จ‹๏ผŒ็ณป็ปŸ้˜้‡Šไบ†โ€œ้•ฟๆœŸไธปไน‰โ€ไธŽโ€œ้‡ไป“ไธญๅ›ฝโ€็š„ๆ ธๅฟƒๆŠ•่ต„็†ๅฟต๏ผŒๅนถ้ฆ–ๆฌกๆŠซ้œฒไบ†้ซ˜็“ดๆŠ•่ต„็š„ไธƒๅคงๅ…ฌๅผใ€‚ไฝœ่€…ๅฐ†ๅไฝ™ไธชๅ…ธๅž‹ๆŠ•่ต„ๆกˆไพ‹ไธŽไธชไบบไปทๅ€ผไฟฎๅ…ป็›ธ็ป“ๅˆ๏ผŒๆญ็คบไบ†ๅฆ‚ไฝ•ๅœจไธ็กฎๅฎš็š„ๅ•†ไธš็Žฏๅขƒไธญ๏ผŒ้€š่ฟ‡ๅšๆŒๅŽŸๅˆ™ใ€ๆ•ฌ็•่ง„ๅˆ™ไธŽๆŒ็ปญๅˆ›ๆ–ฐ๏ผŒๅˆ›้€ ้•ฟไน…ใ€็œŸๅฎž็š„ไปทๅ€ผใ€‚",rating:4.6,highlights:["็ณป็ปŸๆž„ๅปบ้•ฟๆœŸไธปไน‰ๅ“ฒๅญฆ๏ผš้ฆ–ๆฌก็ณป็ปŸๅŒ–ๆขณ็†โ€œ้ซ˜็“ดไธƒๅคงๅ…ฌๅผโ€๏ผŒไธบ่ฏป่€…ๆไพ›ไปŽ่ฎค็Ÿฅใ€ๅ†ณ็ญ–ๅˆฐๆ‰ง่กŒ็š„ไปทๅ€ผๆŠ•่ต„ๅฎžๆˆ˜ๆจกๅž‹","ๆทฑๅบฆๅค็›˜็ปๅ…ธๅฎžๆˆ˜ๆกˆไพ‹๏ผš้€š่ฟ‡่…พ่ฎฏใ€่ดงๆ‹‰ๆ‹‰็ญ‰็œŸๅฎžๅ•†ไธšๆกˆไพ‹๏ผŒๆ‹†่งฃๅฆ‚ไฝ•ๅœจๅคๆ‚ๅธ‚ๅœบไธญ่ฏ†ๅˆซไผไธšๆŠคๅŸŽๆฒณไธŽๆ ธๅฟƒไปทๅ€ผ","ๆŠ•่ต„ไน‹ๅค–็š„ไบบๆ–‡ๆ€่€ƒ๏ผšๅปถไผธ่‡ณๆ•™่‚ฒใ€ไบบๆ‰ไธŽ็ง‘ๅญฆ่ง‚๏ผŒๅฑ•็Žฐไฝœ่€…ไฝœไธบ้กถๅฐ–ๆŠ•่ต„่€…ๅฏน็คพไผš่ดฃไปปไธŽ้•ฟๆœŸไปทๅ€ผๅˆ›้€ ็š„ๆทฑๅบฆๆ€่€ƒ","ๅฏ่ง†ๅŒ–็š„้˜…่ฏปไฝ“้ชŒ๏ผš็ฒพ้€‰ๅคšๅน…ๆ‰‹็ป˜ๅฝฉๆ’ไธŽๅކๅฒๅฝฑๅƒ๏ผŒๅฐ†ๆทฑๅˆป็š„ๆŠ•่ต„้€ป่พ‘ไธŽไผไธšๆˆ้•ฟๅ™ไบ‹ๅ˜ๅพ—ๆ›ดๅŠ ็”ŸๅŠจใ€็›ด่ง‚"]},{id:"book-032",title:"็บณ็“ฆๅฐ”ๅฎๅ…ธ",author:"ๅŸƒ้‡Œๅ…‹ยทไน”ๆ นๆฃฎ / ็บณ็“ฆๅฐ”ยทๆ‹‰็ปดๅŽ็‰น",cover:"https://cdn.weread.qq.com/weread/cover/89/YueWen_44026191/t6_YueWen_44026191.jpg",wereadLink:"https://weread.qq.com/web/reader/e1e32b00729fc94fe1e824d#outline?noScroll=1",link:"https://book.douban.com/subject/35876121/",tags:["่ดขๅฏŒ็ฎก็†","ไธชไบบๆˆ้•ฟ","ๅนธ็ฆๅ“ฒๅญฆ","ๆ€็ปด่ฎค็Ÿฅ"],desc:"่ฟ™ๆ˜ฏไธ€้ƒจๆฑ‡้›†็ก…่ฐท่‘—ๅๆŠ•่ต„ไบบ็บณ็“ฆๅฐ”ยทๆ‹‰็ปดๅŽ็‰น่ฟ‡ๅŽปๅๅนดๅ…ณไบŽ่ดขๅฏŒไธŽๅนธ็ฆๆ€่€ƒ็š„่กŒๅŠจๆŒ‡ๅ—ใ€‚ๅ…จไนฆๆ‘’ๅผƒไบ†โ€œ่‡ดๅฏŒ้ ่ฟๆฐ”โ€็š„ไผ ็ปŸ่ง‚ๅฟต๏ผŒๆๅ‡บ็งฏ็ดฏ่ดขๅฏŒไธŽๅนธ็ฆ็”Ÿๆดปๆ˜ฏๅฏไปฅ้€š่ฟ‡ๅญฆไน ๆŽŒๆก็š„ๆŠ€่ƒฝใ€‚้€š่ฟ‡็ณป็ปŸๆ•ด็†ๆŽจ็‰นใ€ๆ’ญๅฎขไธŽ่ฎฟ่ฐˆไธญ็š„ๆ™บๆ…ง๏ผŒๆœฌไนฆไธบ่ฏป่€…ๆไพ›ไบ†ๅฆ‚ไฝ•ๅœจๅฟซ้€Ÿๅ˜ๅŒ–็š„็ง‘ๆŠ€ไธŽ็ปๆตŽ็Žฏๅขƒไธญ๏ผŒๅˆฉ็”จๆ ๆ†ใ€ๅ‘ๆŒฅไธชไบบ็‹ฌ็‰นๆ€ง๏ผŒ่ฟ›่€Œๅฎž็Žฐ่ดขๅŠก่‡ช็”ฑๅนถ่Žทๅพ—ๆŒไน…ๅ†…ๅฟƒๆปก่ถณ็š„ๆ–นๆณ•่ฎบใ€‚",rating:4.7,highlights:["ๅฐ†่ดขๅฏŒไธŽๅนธ็ฆ่ง†ไธบๅฏไน ๅพ—็š„ๆŠ€่ƒฝ๏ผšๆ‰“็ ด่ฟๆฐ”่ฎบ๏ผŒๅผบ่ฐƒ้€š่ฟ‡ๅปบ็ซ‹ๆ ๆ†ใ€ๅ‘ๆŒฅไธชไบบ็‹ฌ็‰นๆ€งๆฅ่Žทๅ–้ž็บฟๆ€ง็š„ๅ›žๆŠฅ","ๅๅนดๆ€ๆƒณ็š„็ณป็ปŸๅŒ–็ผ–็บ‚๏ผšๅฐ†็ขŽ็‰‡ๅŒ–็š„ไบ’่”็ฝ‘ๆ™บๆ…งๆ็‚ผไธบๆˆไฝ“็ณป็š„ๆ–นๆณ•่ฎบ๏ผŒๆ‰“้€ ไบ†ๆ•ฐๅญ—ๆ—ถไปฃไธชไบบ็š„โ€œ่กŒๅŠจๆŒ‡ๅ—โ€","ๅ…ผ้กพ่ดขๅฏŒ็งฏ็ดฏไธŽๅ†…ๅฟƒๆปก่ถณ๏ผšไธไป…ๆ•™ๅฏผๅฆ‚ไฝ•้ซ˜ๆ•ˆ่ตš้’ฑ๏ผŒๆ›ดๆทฑๅ…ฅๆŽข่ฎจๅฆ‚ไฝ•้€š่ฟ‡้˜…่ฏปใ€ๅ†ฅๆƒณไธŽ้•ฟๆœŸไธปไน‰๏ผŒๅœจ่ŒๅœบๆˆๅŠŸไธญๅฏปๆ‰พๅ†…ๅฟƒ็š„ๅฎ้™","ๆžๅ…ทๅฎžๆ“ๆ€ง็š„ๅทฅๅ…ท็ฎฑ๏ผšๆไพ›ๅฆ‚ๆทฑๅบฆๆ€่€ƒใ€ๅˆปๆ„็ปƒไน ใ€ๆž„ๅปบไธชไบบๅ“็‰Œ็ญ‰ๅ…ทไฝ“่ทฏๅพ„๏ผŒๅธฎๅŠฉ่ฏป่€…ๅœจ็ขŽ็‰‡ๅŒ–ๆ—ถไปฃๅฟซ้€Ÿๅฎž็Žฐ่‡ชๆˆ‘่ฟญไปฃ"]},{id:"book-028",title:"ไผ˜็ง€็š„็ปต็พŠ",author:"ๅจๅป‰ยทๅพท้›ท่ฐข็ปดๅฅ‡",cover:"https://cdn.weread.qq.com/weread/cover/78/cpplatform_3ncoeekcuaectlzj9hf5nr/t6_cpplatform_3ncoeekcuaectlzj9hf5nr1744626569.jpg",wereadLink:"https://weread.qq.com/web/reader/1c0324c0813ab9d91g010aba#outline?noScroll=1",link:"https://book.douban.com/subject/26747208/",tags:["ๅš้›…ๆ•™่‚ฒ","็คพไผšๅญฆ","ไธชไบบๆˆ้•ฟ"],desc:"่€ถ้ฒๅคงๅญฆๅ‰ๆ•™ๆŽˆๅจๅป‰ยทๅพท้›ท่ฐข็ปดๅฅ‡ๅฏน็พŽๅ›ฝๅธธๆ˜ฅ่—ค็ฒพ่‹ฑๆ•™่‚ฒไฝ“ๅˆถ็š„ๅฐ–้”ๆ‰นๅˆคไน‹ไฝœใ€‚ไฝœ่€…้€š่ฟ‡ไบŒๅไฝ™ๅนด็š„ๆ•™ๅญฆ่ง‚ๅฏŸ๏ผŒๆŒ‡ๅ‡บ้กถๅฐ–ๅญฆๅบœๅŸนๅ…ปๅ‡บไธ€็พค่™ฝ็„ถ่ชๆ˜Žใ€ไผ˜็ง€๏ผŒไฝ†ๆ™ฎ้็„ฆ่™‘ใ€็ผบไน็›ฎๆ ‡ๆ„Ÿไธ”ๅ”ฏๅ‘ฝๆ˜ฏไปŽ็š„โ€œไผ˜็ง€็ปต็พŠโ€ใ€‚ๆœฌไนฆๅ‘ผๅ็คพไผš้‡ๆ–ฐๅฎก่ง†ๆ•™่‚ฒ็š„ๆœฌ่ดจ๏ผŒๆ‘†่„ฑๅฏนๅๆ กไธŽ้ซ˜่–ช็š„็›ฒ็›ฎๅด‡ๆ‹œ๏ผŒๅ›žๅฝ’ๅš้›…ๆ•™่‚ฒ๏ผŒ้ผ“ๅŠฑๅญฆ็”ŸๆŽข็ดขๅ†…ๅœจ้ฉฑๅŠจๅŠ›ไธŽ่‡ชๆˆ‘ไปทๅ€ผใ€‚",rating:4.2,highlights:["็Š€ๅˆฉๅ‰–ๆž็ฒพ่‹ฑๆ•™่‚ฒๅผŠ็ซฏ๏ผš็›ดๅ‡ปๅธธๆ˜ฅ่—คไฝ“ๅˆถๅŸนๅ…ปๅ‡บโ€œ่ชๆ˜Žไฝ†ๆฒกๆœ‰็ต้ญ‚โ€็š„ๅญฆ็”Ÿ็š„็Žฐๅฎž๏ผŒๅๆ€ๅ”ฏๅๆ กไธŽๆˆ็ปฉ่ฎบ็š„ๅ•ไธ€่ฏ„ไปทไฝ“็ณป","ๅ›žๅฝ’ๅš้›…ๆ•™่‚ฒ็š„ๆ ธๅฟƒไปทๅ€ผ๏ผšๆ‰นๅˆคๅบ”่ฏ•ๅŒ–ๅ€พๅ‘๏ผŒๆๅ€ก็ป™ไบˆๅญฆ็”Ÿๆ›ดๅคšๆŽข็ดขใ€ๅคฑ่ดฅไธŽ้‡ๅก‘่‡ชๆˆ‘็š„็ฉบ้—ด๏ผŒๅผบ่ฐƒๆ•™่‚ฒ็š„ๆœฌ่ดจๅœจไบŽๅธฎๅŠฉไธชไฝ“ๆ‰พๅˆฐ่‡ชๆˆ‘","ๆไพ›ๆŒฃ่„ฑๅค–้ƒจๆœŸๅพ…็š„่ฎค็Ÿฅๆก†ๆžถ๏ผšๆ—ขไธบ่ฟท่Œซ็š„ๅนด่ฝปไบบๆŒ‡ๆ˜Žๅฆ‚ไฝ•้‡ๅปบๅ†…ๅœจๅŠจๅŠ›๏ผŒไนŸ็ป™ๅฎถ้•ฟๅ’Œๆ•™่‚ฒ่€…ๆ•ฒๅ“ไบ†ๅ…ณไบŽโ€œๆˆๅŠŸๅฎšไน‰โ€็š„่ญฆ้’Ÿ","่ทจๆ–‡ๅŒ–่ƒŒๆ™ฏไธ‹็š„ๆ•™่‚ฒๅ…ฑ้ธฃ๏ผšๅฐฝ็ฎกไปฅ็พŽๅ›ฝ็ฒพ่‹ฑๆ•™่‚ฒไธบไพ‹๏ผŒๅ…ถๅฏนโ€œๆ•™่‚ฒๅ†…ๅทโ€ไธŽโ€œ็ผบไน็›ฎๆ ‡ๆ„Ÿโ€็š„ๆ‰นๅˆค๏ผŒๅผ•ๅ‘ไบ†ๅ…จ็ƒ้ซ˜ๅŽ‹ๆ•™่‚ฒ็Žฏๅขƒไธ‹็š„ๆทฑๅฑ‚ๅ…ฑ้ธฃ"]},{id:"book-029",title:"ๆŠŠ่‡ชๅทฑๅ˜ๆˆ็จ€็ผบ่ต„ไบง",author:"ไฝ•ๆ€ๅนณ",cover:"https://cdn.weread.qq.com/weread/cover/98/cpplatform_ncqzerh3wdywn9mlc9cjna/t6_cpplatform_ncqzerh3wdywn9mlc9cjna1694085413.jpg",wereadLink:"https://weread.qq.com/web/reader/2fe326f0813ab821fg0146df#outline?noScroll=1",link:"https://book.douban.com/subject/36513648/",tags:["ไธชไบบๆˆ้•ฟ","ๆ€็ปด่ฎค็Ÿฅ","่‡ชๆˆ‘็ฎก็†","ๆŠ•่ต„็†่ดข"],desc:"่ฟ™ๆ˜ฏไธ€ไธชๅฐ†โ€œไบบ็”Ÿโ€่ง†ไฝœโ€œๅ…ฌๅธโ€ๆฅ็ป่ฅ็š„ๅฎžๆˆ˜ๆŒ‡ๅ—ใ€‚ไฝœ่€…ไฝ•ๆ€ๅนณ็ป“ๅˆ่‡ช่บซไปŽไธฅ้‡ๅฃๅƒๅˆฐๆผ”่ฎฒๅ† ๅ†›ใ€ๅ†ๅˆฐ่ฟž็ปญๅˆ›ไธšๆˆๅŠŸ็š„่ทจ่ถŠๅผ็ปๅކ๏ผŒๆๅ‡บไบ†โ€œไบบ็”Ÿๆœ‰้™ๅ…ฌๅธโ€็š„็ป่ฅๅ“ฒๅญฆใ€‚ๅ…จไนฆ้€š่ฟ‡โ€œ็”Ÿๅ‘ฝ็ซ‹ๆ–นไฝ“โ€ๆจกๅž‹๏ผŒไปŽ่ฎค็Ÿฅใ€ๅฎž่ทตใ€็ฒพๅŠ›็ฎก็†ไธ‰ไธช็ปดๅบฆๆ‹†่งฃไบ†ๅฆ‚ไฝ•้€š่ฟ‡ๆŒ็ปญ่พ“ๅ‡บไธŽ่ทจ็•Œๅญฆไน ๏ผŒๅฐ†่‡ชๅทฑๆ‰“้€ ไธบๅ…ทๆœ‰้ซ˜ๅฃๅž’ใ€ไธๅฏๆ›ฟไปฃ็š„โ€œ็จ€็ผบ่ต„ไบงโ€ใ€‚",rating:4.2,highlights:["ๆๅ‡บโ€œไบบ็”Ÿๆœ‰้™ๅ…ฌๅธโ€็ป่ฅๅ“ฒๅญฆ๏ผšๅ€กๅฏผๅฐ†่‡ชๅทฑ่ง†ไฝœๆœ€ๅ€ผๅพ—ๆŠ•่ต„็š„ไธŠๅธ‚ๅ…ฌๅธ๏ผŒ้€š่ฟ‡ไธๆ–ญๆๅ‡่ฎค็ŸฅไธŽ่ƒฝๅŠ›ๅฃๅž’๏ผŒๆŠŠโ€œไบบ็”Ÿโ€็ป่ฅๆˆ็จ€็ผบ่ต„ไบง","็ณป็ปŸๅŒ–็š„โ€œ็”Ÿๅ‘ฝ็ซ‹ๆ–นไฝ“โ€ๆจกๅž‹๏ผšไปŽ่ฎค็Ÿฅใ€ๅฎž่ทตใ€็ฒพๅŠ›็ฎก็†ไธ‰ไธช็ปดๅบฆๆž„ๅปบไธชไบบๆˆ้•ฟ้—ญ็Žฏ๏ผŒ่งฃๅ†ณๆˆ้•ฟไธญ็š„ๆ— ๅบๆ„ŸไธŽ็ขŽ็‰‡ๅŒ–้šพ้ข˜","่š็„ฆไธชไบบๆ ธๅฟƒ็ซžไบ‰ๅŠ›๏ผšๆทฑๅบฆๆ‹†่งฃ่ฎค็ŸฅๅŠ›ใ€ๅญฆไน ๅŠ›ไธŽๅ…ฑๆƒ…ๅŠ›็ญ‰็จ€็ผบ่ƒฝๅŠ›็š„่Žทๅ–่ทฏๅพ„๏ผŒๆ•™ๅฏผ่ฏป่€…ๅœจไธๅŒๅœบๆ™ฏไธญ้€š่ฟ‡ๅฎžๆˆ˜้ชŒ่ฏ่‡ชๆˆ‘ไปทๅ€ผ","้ซ˜ๅบฆๅฏๆ“ไฝœ็š„ๅทฅๅ…ทๆธ…ๅ•๏ผšๆ‘’ๅผƒ้ธกๆฑคๅผ่ฏดๆ•™๏ผŒๅฐ†่‡ชๆˆ‘ๆˆ้•ฟๆ‹†่งฃไธบๅ…ทไฝ“็š„ไน ๆƒฏๆ”น้€ ไธŽๅค็›˜ๆธ…ๅ•๏ผŒๅธฎๅŠฉ่ฏป่€…ๅœจ็—›็‚นไธŽ้ซ˜ๅ…‰ๆ—ถๅˆป้ƒฝ่ƒฝ้€š่ฟ‡ๅ้ฆˆๆœบๅˆถๅฎž็Žฐ่‡ชๆˆ‘่ฟญไปฃ"]},{id:"book-030",title:"ๆˆ้•ฟ็ฌฌไบŒๆ›ฒ็บฟ๏ผš่ทจ่ถŠSๅž‹ๆŒ็ปญๆˆ้•ฟ",author:"ๆŸฅๅฐ”ๆ–ฏยทๆฑ‰่ฟช",cover:"https://cdn.weread.qq.com/weread/cover/65/YueWen_39427437/t6_YueWen_39427437.jpg",wereadLink:"https://weread.qq.com/web/reader/15d32ed072599d6d15daa86#outline?noScroll=1",link:"https://book.douban.com/subject/35531368/",tags:["็ฎก็†ๅญฆ","ไธชไบบๆˆ้•ฟ","ไบบ็”Ÿๅ“ฒๅญฆ","ๆœชๆฅ่ถ‹ๅŠฟ"],desc:"็ฎก็†ๅคงๅธˆๆŸฅๅฐ”ๆ–ฏยทๆฑ‰่ฟช็š„โ€œไบบ็”Ÿ้•ฟ่ท‘ๆŒ‡ๅ—โ€ใ€‚ๆœฌไนฆ้€š่ฟ‡ไนฆไฟกไฝ“ๅฝขๅผ๏ผŒๆทฑๅบฆๆŽข่ฎจไบ†ๅœจๆ•ฐๅญ—ๆ—ถไปฃ่ƒŒๆ™ฏไธ‹ไธชไบบๅฆ‚ไฝ•่ฏ†ๅˆซๅนถ่ทจ่ถŠโ€œ็ฌฌไบŒๆ›ฒ็บฟโ€ใ€‚ๆฑ‰่ฟชๆŒ‡ๅ‡บ๏ผŒๆ— ่ฎบ็ป„็ป‡่ฟ˜ๆ˜ฏไธชไบบ๏ผŒ้ƒฝๅ—ๅˆถไบŽSๅž‹ๅขž้•ฟๆ›ฒ็บฟ๏ผŒๅชๆœ‰ๅœจ็ฌฌไธ€ๆ›ฒ็บฟ่กฐ้€€ๅ‰ไธปๅŠจๅธƒๅฑ€ๆ–ฐ็š„ๅขž้•ฟ็‚น๏ผŒๅนถไฟๆŒๅ†…ๅœจไปทๅ€ผ็š„็‹ฌ็ซ‹ไธŽ่ฟ›ๅŒ–๏ผŒๆ‰่ƒฝๅœจไธๆ–ญๅ˜ๅŒ–็š„็Žฏๅขƒไธญ่Žทๅพ—ๆŒ็ปญไธ”ๆœ‰ๆ„ไน‰็š„ๆˆ้•ฟใ€‚",rating:4.5,highlights:["็™พๅฒ็ฎก็†ๅคงๅธˆ็š„ไบบ็”Ÿไฝ“ๆ‚Ÿ๏ผšไปฅไนฆไฟกไฝ“ๆต“็ผฉไธ€็”Ÿ็ฎก็†็ ”็ฉถไธŽไธชไบบ็ป้ชŒ๏ผŒๆไพ›ไบ†ไปŽๆ—ถ้—ด็ปดๅบฆๅฎก่ง†ๅทฅไฝœใ€ๅญฆไน ไธŽ็”Ÿๆดป็š„ๅ…จๆ™ฏ่ง†่ง’","โ€œ็ฌฌไบŒๆ›ฒ็บฟโ€็†่ฎบ็š„ๅ…จ้ข่ฟ›้˜ถ๏ผšๆทฑๅˆปๆญ็คบ็ป„็ป‡ไธŽไธชไบบ็š„ๅ…ด่กฐ่ง„ๅพ‹๏ผŒๆ•™ๅฏผ่ฏป่€…ๅฆ‚ไฝ•ๅœจ็ฌฌไธ€ๆ›ฒ็บฟ็š„ๅท…ๅณฐๅ‰ๅฐฑไธปๅŠจๅธƒๅฑ€ๆ–ฐ็š„ๅขž้•ฟๅผ•ๆ“Ž","ๅ…จๅœบๆ™ฏไธ‹็š„ๆŒ็ปญ่ฟ›ๅŒ–ๆ–นๆกˆ๏ผšๅฐ†็ฌฌไบŒๆ›ฒ็บฟๆ€็ปด่ทจ็•Œๅบ”็”จไบŽๆ•™่‚ฒใ€่Œไธš่ง„ๅˆ’ใ€ๅฉšๅงปไธŽๅฎถๅบญไธญ๏ผŒๅผบ่ฐƒโ€œๅ˜ๅŒ–ๆ‰ๆ˜ฏๅธธๆ€โ€๏ผŒ้ผ“ๅŠฑๆŒ็ปญ่‡ชๆˆ‘้‡ๅก‘","้ขๅ‘Zไธ–ไปฃ็š„ๆธ…้†’ๅค„ๆ–น๏ผšๅœจ็ง‘ๆŠ€้ซ˜ๆญŒ็Œ›่ฟ›็š„ๆ•ฐๅญ—ๆ—ถไปฃ๏ผŒๆ้†’ๅŽไบบ้‡่ง†่ฏšไฟกใ€ๅไฝœ็ญ‰่ฝฏๅฎžๅŠ›๏ผŒไฟๆŒ็‹ฌ็ซ‹ๅˆคๆ–ญ๏ผŒ้ฟๅ…ๅœจ็ฎ—ๆณ•ไธŽ็„ฆ่™‘ไธญ่ฟทๅคฑ่‡ชๆˆ‘"]}],Me=[{id:"book-033",title:"ๆžช็‚ฎใ€็—…่ŒไธŽ้’ข้“",author:"่ดพ้›ทๅพทยทๆˆด่’™ๅพท",cover:"https://cdn.weread.qq.com/weread/cover/99/YueWen_42766048/t6_YueWen_42766048.jpg",wereadLink:"https://weread.qq.com/web/reader/843329f0728c8ee08434fb1#outline?noScroll=1",link:"https://book.douban.com/subject/1813841/",tags:["ไบบ็ฑปๅކๅฒ","ๅœฐ็†ๅ†ณๅฎš่ฎบ","็คพไผšๅญฆ","่ทจๅญฆ็ง‘"],desc:"ไธ€้ƒจ้‡ๆ–ฐๅฎšไน‰ไบบ็ฑปๅކๅฒๅ‘ๅฑ•็š„ๅฎๅคง่‘—ไฝœใ€‚ไฝœ่€…่ดพ้›ทๅพทยทๆˆด่’™ๅพท้€š่ฟ‡็”Ÿ็‰ฉๅญฆใ€ๅœฐ็†ๅญฆใ€ไบบ็ฑปๅญฆ็ญ‰ๅคšๅญฆ็ง‘ไบคๅ‰่ง†่ง’๏ผŒๅผบๆœ‰ๅŠ›ๅœฐๅ้ฉณไบ†โ€œ็งๆ—ๅ†ณๅฎš่ฎบโ€ๅ’Œโ€œ่ฅฟๆ–นๆ–‡ๆ˜Žไผ˜่ถŠ่ฎบโ€ใ€‚ไป–ๆๅ‡บ๏ผŒๅ†ณๅฎšๆ–‡ๆ˜Žๅ…ด่กฐ็š„ๅ…ณ้”ฎๅนถ้ž็งๆ—๏ผŒ่€Œๆ˜ฏ็Žฏๅขƒๅ› ็ด ใ€ๅœฐ็†ๆ ผๅฑ€ไปฅๅŠๅŠจๆค็‰ฉ้ฉฏๅŒ–็š„ๅทฎๅผ‚๏ผŒ่ฟ™ไบ›่‡ช็„ถๆกไปถ็š„ๅถ็„ถๆ€งๆœ€็ปˆๅฏผ่‡ดไบ†ๆŠ€ๆœฏใ€ๅ…็–ซๅŠ›ๅ’ŒๆƒๅŠ›็ป“ๆž„็š„ๅทฎๅผ‚๏ผŒไปŽ่€Œ้‡ๅก‘ไบ†็Žฐไปฃไธ–็•Œ็š„ๅ…จ็ƒ็‰ˆๅ›พใ€‚",rating:4.8,highlights:["้ข ่ฆ†ๆ€ง็š„ๅކๅฒ่ง‚๏ผšไปฅ็ŽฏๅขƒไธŽๅœฐ็†ๅทฎๅผ‚่งฃ้‡Šๆ–‡ๆ˜Žๅ…ด่กฐ๏ผŒๆœ‰ๅŠ›ๅ†ฒๅ‡ปไบ†้•ฟๆœŸๆต่กŒ็š„่ฅฟๆ–นๆ–‡ๆ˜Žไผ˜่ถŠ่ฎบ๏ผŒๆไพ›ไบ†็†่งฃไบบ็ฑปๅކๅฒ็š„ๅ…จๆ–ฐ่ง†่ง’","่ทจๅญฆ็ง‘็š„็ปผๅˆ็ ”็ฉถๆก†ๆžถ๏ผšๅทงๅฆ™่žๅˆ็”Ÿ็‰ฉๅญฆใ€ๅœฐ็†ๅญฆใ€ๅކๅฒๅญฆใ€็คพไผšๅญฆ็ญ‰ๅคšๅญฆ็ง‘็Ÿฅ่ฏ†๏ผŒ้‡ๅปบไบบ็ฑปๆ–‡ๆ˜Žๆผ”่ฟ›็š„้€ป่พ‘่ทฏๅพ„","็ณป็ปŸๆญ็คบๅކๅฒๆผ”ๅ˜็š„ๆœบๅˆถ๏ผšๆทฑๅ…ฅๅ‰–ๆžๅ†œไธšใ€็—…่Œไผ ๆ’ญไธŽๆŠ€ๆœฏๆƒๅŠ›ๅฆ‚ไฝ•ๅฝขๆˆ็›ธไบ’ๅผบๅŒ–็š„ๅพช็Žฏ๏ผŒๅฑ•็คบไบ†ๆ–‡ๆ˜Žๅ‘ๅฑ•่ƒŒๅŽๅคๆ‚็š„่ต„ๆบไบ’ๅŠจ","ๅ…ทๅค‡ๅ…ฌๅ…ฑๆ€ๆƒณ่€…็š„ๅฎ่ง‚่ง†้‡Ž๏ผšๅฐ†ไธฅ่ฐจ็š„็ง‘ๅญฆ็ ”็ฉถ่ฝฌๅŒ–ไธบๅฏนไบบ็ฑปๅ‘ฝ่ฟไธŽ็คพไผšๅ‘ๅฑ•็š„ๆทฑๅˆปๅๆ€๏ผŒไธบ็Žฐไปฃไบบ็†่งฃ่‡ช่บซๅœจๅކๅฒ้•ฟๆฒณไธญ็š„ไฝ็ฝฎๆไพ›ไบ†็ปไฝณๅ‚็…ง"]},{id:"book-034",title:"ไธญๅ›ฝ็คพไผšๅ„้˜ถๅฑ‚ๅˆ†ๆž",author:"ๆขๆ™“ๅฃฐ",cover:"https://cdn.weread.qq.com/weread/cover/0/yuewen_42682684/t6_yuewen_426826841728383400.jpg",wereadLink:"https://weread.qq.com/web/reader/085326e0728b493c085ade1#outline?noScroll=1",link:"https://book.douban.com/subject/35485315/",tags:["็คพไผš่ง‚ๅฏŸ","้˜ถๅฑ‚็ ”็ฉถ","็Žฐๅฎžไธปไน‰"],desc:"่Œ…็›พๆ–‡ๅญฆๅฅ–ๅพ—ไธปๆขๆ™“ๅฃฐๅŸบไบŽๅคšๅนด็คพไผš่ง‚ๅฏŸ็š„็Žฐๅฎž้ข˜ๆๅŠ›ไฝœใ€‚ไฝœ่€…ๅฐ†ๅฟซ้€Ÿๅ˜่ฟ็š„ไธญๅ›ฝ็คพไผšๅˆ’ๅˆ†ไธบไธๅŒ้˜ถๅฑ‚๏ผŒไปฅๅนณๆฐ‘่ง†่ง’็ป†่…ปๆๆ‘นๅ„็พคไฝ“็š„็”Ÿๅญ˜็Šถๆ€ใ€ๅฟƒ็†ๅ›ฐๅขƒไธŽ้˜ถๅฑ‚็„ฆ่™‘ใ€‚ๅ…จไนฆไธ่ฟฝๆฑ‚็บฏๅญฆๆœฏ็š„ๆžฏ็‡ฅๅˆ†ๆž๏ผŒ่€Œๆ˜ฏ้€š่ฟ‡ๆ–‡ๅญฆๅŒ–็š„็คพไผš่ง‚ๅฏŸ๏ผŒๅ‹พๅ‹’ๅ‡บไธ€ๅน…ๅฝ“ไปฃไธญๅ›ฝ็คพไผš็š„โ€œๆตฎไธ–็ป˜โ€๏ผŒๅผ•ๅฏผ่ฏป่€…ๅœจๆ—ถไปฃๅๆ ‡ไธญๆ‰พๅ‡†ๅฎšไฝ๏ผŒ็†่งฃ็คพไผšๅ˜่ฟ่ƒŒๅŽ็š„็ป“ๆž„ๆ€ง้€ป่พ‘ใ€‚",rating:4.3,highlights:["ๅนณๆฐ‘่ง†่ง’ไธ‹็š„็คพไผšโ€œๆตฎไธ–็ป˜โ€๏ผš้€š่ฟ‡็ป†่…ป็š„็ฌ”่งฆๅ‹พๅ‹’ๅ„้˜ถๅฑ‚็š„็”Ÿๅญ˜้€ป่พ‘ไธŽๅฟƒ็†็”ปๅƒ๏ผŒๅธฎๅŠฉ่ฏป่€…็›ด่ง‚็†่งฃๅฎ่ง‚็คพไผš็ป“ๆž„","ๅ…ผๅ…ท็Žฐๅฎž็—›็‚นไธŽ็ฒพ็ฅžๆทฑๅบฆ๏ผšไธไป…ๅ‘ˆ็Žฐ็‰ฉ่ดจ็”Ÿๆดป็š„ๅทฎๅผ‚๏ผŒๆ›ดๆทฑๅˆปๅ‰–ๆž้˜ถๅฑ‚็„ฆ่™‘่ƒŒๅŽ็š„ไปทๅ€ผๅ›ฐๅขƒ๏ผŒไธบ็†่งฃๅฝ“ไปฃ็คพไผšๆไพ›ไบบๆ–‡ๅ‚็…ง","ๆ—ถไปฃ่„‰็ปœไธญ็š„ๅ‘ฝ่ฟไนฆๅ†™๏ผšๅฐ†ไธชไฝ“ๅ‘ฝ่ฟ็ฝฎไบŽๅކๅฒไบ‹ไปถ็š„ๅฎ่ง‚่ƒŒๆ™ฏไธญ่€ƒๅฏŸ๏ผŒๅฑ•็Žฐไบ†ๅŠไธชไธ–็บชไปฅๆฅ็คพไผšๅ˜่ฟ็š„ๆทฑๅฑ‚่„‰็ปœ","ๆ–‡ๅญฆ็ฌ”่งฆไธ‹็š„็คพไผšๅ…ณๆ€€๏ผšไฝœไธบ่Œ…็›พๆ–‡ๅญฆๅฅ–ๅพ—ไธป๏ผŒไฝœ่€…้€š่ฟ‡ๅฏŒๆœ‰ๆ•…ไบ‹ๆ€ง็š„ๅ™ไบ‹๏ผŒๆ—ขไฟ็•™ไบ†ๆ‰นๅˆคๆ€ง๏ผŒๅˆ่ฎฉๆ–‡ๆœฌๅ……ๆปกไบ†ๆธฉๆš–็š„ไบบๆ–‡ๆธฉๅบฆ"]},{id:"book-021",title:"ๆŠŠ่‡ชๅทฑไฝœไธบๆ–นๆณ•",author:"้กน้ฃ™ / ๅด็ฆ",cover:"https://cdn.weread.qq.com/weread/cover/81/cpPlatform_3300003962/t6_cpPlatform_3300003962.jpg",wereadLink:"https://weread.qq.com/web/reader/d7532f80813ab680cg012708#outline?noScroll=1",link:"https://book.douban.com/subject/35092383/",tags:["็คพไผšๅญฆ","่ฎฟ่ฐˆๅฝ•","ๆ€ๆƒณๆ–นๆณ•"],desc:"ไธคไปฃๅญฆไบบ้กน้ฃ™ไธŽๅด็ฆๅކๆ—ถไธ‰ๅนดใ€่ทจ่ถŠไบ”ๅœฐ็š„ๆทฑๅบฆๅฏน่ฏๅฎžๅฝ•ใ€‚ๆœฌไนฆไปŽ้กน้ฃ™็š„ไธชไบบ็ป้ชŒๅˆ‡ๅ…ฅ๏ผŒๆŽข่ฎจไบ†ไธญๅ›ฝ็คพไผš่ฟ‘ๅŠไธชไธ–็บช็š„ๅ˜่ฟใ€ๅ…จ็ƒๅŒ–ไธŽๆฐ‘็ฒนไธปไน‰็ญ‰ๅฎๅคง่ฎฎ้ข˜ใ€‚ๅœจ่‡ชๆˆ‘ๆณ›ๆปฅไธŽๆ€ๆƒณๅ—ๅ›ฐ็š„ๆ—ถไปฃ๏ผŒไฝœ่€…ๆๅ‡บโ€œๆŠŠ่‡ชๅทฑไฝœไธบๆ–นๆณ•โ€๏ผŒๆŒ‡ๅฏผ่ฏป่€…ๅฆ‚ไฝ•ๅœจๅ…จ็ƒๅŒ–ๅนดไปฃ้‡ๆ–ฐๅฎšไฝ่‡ชๆˆ‘ใ€้‡ๅปบโ€œ้™„่ฟ‘โ€๏ผŒๅนถๅœจไธชไบบไฝ“้ชŒไธŽๅฎ่ง‚ๅ™ไบ‹ไน‹้—ดๆญๅปบ่ตทๆ€่€ƒไธŽ่กŒๅŠจ็š„ๆกฅๆขใ€‚",rating:4.6,highlights:["ไปฅโ€œ่‡ชๆˆ‘โ€ๅˆ‡ๅ…ฅๅ›žๅบ”ๅฎๅคง่ฎฎ้ข˜๏ผš็คบ่Œƒๅฆ‚ไฝ•ๅœจไธชไบบ็œŸๅฎžไฝ“้ชŒไธŽๅ…จ็ƒๅŒ–ใ€็คพไผšๅ˜่ฟ็ญ‰ๅฎ่ง‚ๅ™ไบ‹ไน‹้—ดๆญๅปบ่ฎค็Ÿฅ็š„ๆกฅๆข","ๆไพ›้‡ๅปบโ€œ้™„่ฟ‘โ€็š„่กŒๅŠจๆŒ‡ๅ—๏ผšๅœจ่‡ชๆˆ‘ๆณ›ๆปฅ็š„ๆฝฎๆตไธญ๏ผŒๆŒ‡ๅฏผ่ฏป่€…ๅฆ‚ไฝ•ๅฎก่ง†็Žฐๅฎž๏ผŒๅˆ›้€ ๆ€งๅœฐๅปบ่ฎพ่บซ่พน็š„ๅฐไธ–็•Œ","ๅ…ผๅ…ทๅญฆๆœฏๆทฑๅบฆไธŽๆž้ซ˜ๅฏ่ฏปๆ€ง๏ผšๅฐ†ไบบ็ฑปๅญฆใ€็คพไผšๅญฆ็š„ๆทฑๅˆป็†่ฎบๆดžๅฏŸ๏ผŒๅทงๅฆ™่žๅ…ฅ็”ŸๅŠจ็š„็”ฐ้‡Žๆ•…ไบ‹ไธŽๅŒไบบ็”ŸๆดปๅŒ–ๅฏน่ฐˆไธญ","่ทจ่ถŠไธ‰ๅนด็š„ๆ€ๆƒณ็ขฐๆ’ž๏ผšๅކๆ—ถไธ‰ๅนดใ€่ทจ่ถŠไบ”ๅœฐ็š„ๆŒ็ปญๅฏน่ฏ็ป“้›†๏ผŒๅๆ€็Ÿฅ่ฏ†็”ŸไบงไธŽๅ…ฌๅ…ฑ่ฎจ่ฎบ็š„็œŸๅฎžๅค„ๅขƒ"]}],$e=[{id:"book-035",title:"็™พๅฒไบบ็”Ÿ๏ผš้•ฟๅฏฟๆ—ถไปฃ็š„็”Ÿๆดปๅ’Œๅทฅไฝœ",author:"็ณ่พพยทๆ ผๆ‹‰้กฟ / ๅฎ‰ๅพท้ฒยทๆ–ฏ็ง‘็‰น",cover:"https://wfqqreader-1252317822.image.myqcloud.com/cover/860/22902860/t6_22902860.jpg",wereadLink:"https://weread.qq.com/web/reader/30c323e0715d784c30c1e1b#outline?noScroll=1",link:"https://book.douban.com/subject/30245089/",tags:["ไบบ็”Ÿ่ง„ๅˆ’","้•ฟๅฏฟๆ—ถไปฃ","็คพไผšๅญฆ"],desc:"ๅŸบไบŽไผฆๆ•ฆๅ•†ๅญฆ้™ข็š„็ปๅ…ธ่ฏพ็จ‹๏ผŒไฝœ่€…็ณ่พพยทๆ ผๆ‹‰้กฟไธŽๅฎ‰ๅพท้ฒยทๆ–ฏ็ง‘็‰นๆๅ‡บ๏ผŒ้ขๅฏนไธ€ๅŠๆฆ‚็އๆดปๅˆฐ100ๅฒ็š„้•ฟๅฏฟๆ—ถไปฃ๏ผŒไผ ็ปŸ็š„โ€œๅญฆไน -ๅทฅไฝœ-้€€ไผ‘โ€ไธ‰ๆฎตๅผไบบ็”Ÿๆจกๅผๅทฒๅฝปๅบ•ๅคฑๆ•ˆใ€‚ๆœฌไนฆๆŒ‡ๅฏผ่ฏป่€…ๅฆ‚ไฝ•้‡ๆ–ฐ่ฎพ่ฎกไบบ็”Ÿ๏ผŒ้€š่ฟ‡ๆ‹ฅๆŠฑๅคš้˜ถๆฎตไบบ็”Ÿๆจกๅž‹๏ผŒๅœจๆ›ด้•ฟ็š„็”Ÿๅ‘ฝๅ‘จๆœŸไธญๅนณ่กกๅทฅไฝœใ€ๅญฆไน ไธŽไผ‘้—ฒ๏ผŒๅนถๅผบ่ฐƒๅœจ่ดขๅŠก่ต„ไบงไน‹ๅค–๏ผŒๆ›ด่ฆๆณจ้‡ๅฅๅบทใ€ๅ‹่ฐŠไธŽ็Ÿฅ่ฏ†็ญ‰โ€œๆ— ๅฝข่ต„ไบงโ€็š„ๆŒ็ปญๆŠ•ๅ…ฅไธŽๅขžๅ€ผใ€‚",rating:4.3,highlights:["้‡ๆž„ไบบ็”Ÿๆจกๅผ๏ผšๆ‰“็ ดไผ ็ปŸ็š„โ€œไธ‰ๆฎตๅผโ€็”Ÿๆดป่Œƒๅผ๏ผŒๆๅ‡บๅ……ๆปกๅผนๆ€ง็š„โ€œๅคš้˜ถๆฎตไบบ็”Ÿโ€ๆจกๅž‹๏ผŒ่ฎฉๅทฅไฝœไธŽๅญฆไน ไธๅ†ๆ˜ฏ็บฟๆ€ง็š„้‡ๅค","ไปŽๅ…ณๆณจ่ดขๅŠกๅˆฐโ€œๆ— ๅฝข่ต„ไบงโ€๏ผš้™คไบ†ๅ…ป่€้‡‘๏ผŒๅผบ่ฐƒๅฅๅบทใ€ๅ‹่ฐŠใ€็คพไบค็ฝ‘็ปœไธŽๅฟƒ็†้Ÿงๆ€ง็ญ‰โ€œๆ— ๅฝข่ต„ไบงโ€ๆ‰ๆ˜ฏ็ปดๆŒ้•ฟๅฏฟ็”Ÿๆดป่ดจ้‡็š„ๆ ธๅฟƒๅŠจๅŠ›","่ŒๅœบไธŽ่ฝฌๅž‹็š„็ณป็ปŸ่ง„ๅˆ’๏ผšๆไพ›้’ˆๅฏน้•ฟๅฏฟๆ—ถไปฃ็š„่Œไธš่ฎพ่ฎกๆ€่ทฏ๏ผŒๆถต็›–ไฝ•ๆ—ถ่ฝฌๅž‹ใ€ๅฆ‚ไฝ•ๆŠ•่ต„่‡ช่บซใ€ๆ€Žๆ ทๅบ”ๅฏนไธ็กฎๅฎšๆ€ง็ญ‰ๅฎžๆˆ˜ๆก†ๆžถ","็คพไผšไธŽๅˆถๅบฆ็š„ๆทฑๅบฆๆดžๅฏŸ๏ผšๆŽข่ฎจ้•ฟๅฏฟๅฆ‚ไฝ•ๅ†ฒๅ‡ปๅ…ป่€้‡‘ไฝ“็ณปใ€ๅŠณๅŠจๅŠ›ๅธ‚ๅœบไธŽไผไธšๆจกๅผ๏ผŒๅธฎๅŠฉไธชไบบๅœจๅฎ่ง‚ๅ˜้ฉไธญๆŠŠๆกไธปๅŠจๆƒ"]},{id:"book-00043",title:"้‡ๅฏๅง๏ผๆˆ‘็š„ๅฅๅบทไบบ็”Ÿ",author:"ๅ…ฐๆ นยทๆŸฅ็‰นๅ‰",cover:"https://cdn.weread.qq.com/weread/cover/80/cpplatform_kbrswv3bm7cix2zlyo6wtx/t6_cpplatform_kbrswv3bm7cix2zlyo6wtx1716362285.jpg",wereadLink:"https://weread.qq.com/web/reader/e8a32e80813ab8de4g0191c2#outline?noScroll=1",link:"https://book.douban.com/subject/36899697/",tags:["็”Ÿๆดปๆ–นๅผ","้ข„้˜ฒๅŒปๅญฆ","่บซๅฟƒๅฅๅบท","่‡ชๆˆ‘็ฎก็†"],desc:"่‹ฑๅ›ฝไธดๅบŠๅŒป็”ŸๅŸบไบŽ20ๅคšๅนด่กŒๅŒป็ป้ชŒๅ†™ๅฐฑใ€‚ๆœฌไนฆไธปๅผ โ€œ็”Ÿๆดปๆ–นๅผๅณ่‰ฏ่ฏโ€๏ผŒๅ›ด็ป•ไผ‘ๆฏใ€้ฅฎ้ฃŸใ€่ฟๅŠจๅ’Œ็ก็œ ๅ››ไธช้ข†ๅŸŸ่ฎพ่ฎกไบ†20ไธชๅพฎๅฐ่กŒๅŠจ่ฎกๅˆ’๏ผŒๅธฎๅŠฉ็Žฐไปฃไบบ้€š่ฟ‡ไฝŽๆˆๆœฌ็š„ไน ๆƒฏๆ”นๅ˜้€†่ฝฌๆ…ขๆ€ง้—ฎ้ข˜ใ€‚",rating:4.6,highlights:["ๆๅ‡บ99%็š„ๅฅๅบทๅ–ๅ†ณไบŽๆ—ฅๅธธไน ๆƒฏ่€Œ้žๅŒปๅญฆๆฒป็–—๏ผŒๅผบ่ฐƒๆ•ดไฝ“ๅนฒ้ข„","ๆž„ๅปบโ€œ4ร—5โ€ๅพฎ่กŒๅŠจๆก†ๆžถ๏ผŒๆถต็›–ไผ‘ๆฏใ€้ฅฎ้ฃŸใ€่ฟๅŠจใ€็ก็œ ๅ››ไธช็ปดๅบฆ็š„20ไธชๅฐๆ”นๅ˜","ๅ…ผ้กพ็ง‘ๅญฆๆทฑๅบฆไธŽๆž็ฎ€ๅฎžๆ“๏ผŒๅฆ‚โ€œ12ๅฐๆ—ถ่ฟ›้ฃŸ็ช—ๅฃโ€ใ€โ€œ10ๅˆ†้’Ÿ้ซ˜ๅผบๅบฆ่ฟๅŠจโ€","ๅ…ณๆณจ็Žฐไปฃ่Œๅœบไบบ็—›็‚น๏ผŒๆไพ›โ€œๅฐๆŠ•ๅ…ฅใ€ๅคงๅ›žๆŠฅโ€็š„ๅฏๅ ๅŠ ่บซๅฟƒๅฅๅบทๆŠ•่ต„็ญ–็•ฅ"]},{id:"book-00040",title:"ไฝ ๆ˜ฏไฝ ๅƒๅ‡บๆฅ็š„๏ผšๅƒๅฏนๅฐ‘็”Ÿ็—…๏ผŒ็—…ไบ†่ฟ™ๆ ทๅƒ",author:"ๅค่Œ",cover:"https://cdn.weread.qq.com/weread/cover/86/YueWen_920661/t6_YueWen_920661.jpg",wereadLink:"https://weread.qq.com/web/reader/7bb32c305e0c557bbdeab81#outline?noScroll=1",link:"https://book.douban.com/subject/27590675/",tags:["้ฅฎ้ฃŸ็ง‘ๆ™ฎ","่ฅๅ…ปๅญฆ","ๅฅๅบท็ฎก็†"],desc:"ๅ‰ๅฎ‰่ดžๅŒป้™ข่ฅๅ…ป็ง‘ไธปไปปๅค่Œ็ป“ๅˆๅไฝ™ๅนดไธดๅบŠ็ป้ชŒๅ†™ๆˆใ€‚ๆœฌไนฆ้ข ่ฆ†โ€œไฝŽๆฒนไฝŽ่„‚โ€่ฏฏๅŒบ๏ผŒๆๅ‡บๅ›žๅฝ’่ฟ›ๅŒ–็š„โ€œ65%ๆค็‰ฉ+35%ๅŠจ็‰ฉโ€่†ณ้ฃŸ้…ๆฏ”๏ผŒๅนถ้’ˆๅฏน14็งๅธธ่งๆ…ข็—…็ป™ๅ‡บโ€œๅ››ๅˆ†ๆณ•โ€้ฅฎ้ฃŸๅนฒ้ข„ๆ–นๆกˆ๏ผŒๅธฎๅŠฉ่ฏป่€…้‡ๅปบๅฅๅบท้ฅฎ้ฃŸ่ง‚ใ€‚",rating:5,highlights:["ๆŒ‡ๅ‡บๅคšๆ•ฐๆ…ข็—…ๆบไบŽโ€œ่›‹็™ฝ่ดจ็ผบไนๅผ่ฅๅ…ปไธ่‰ฏโ€๏ผŒๆ‰“็ ดๅธธ่ง„ไฝŽๆฒนไฝŽ่„‚่ฟทๆ€","ๆๅ‡บๆธ…ๆ™ฐ้‡ๅŒ–็š„โ€œ65%ๆค็‰ฉ็ฑป+35%ๅŠจ็‰ฉ็ฑปโ€็ง‘ๅญฆ้ฅฎ้ฃŸ็ป“ๆž„","้’ˆๅฏนๅ† ๅฟƒ็—…ใ€้ซ˜่ก€ๅŽ‹็ญ‰14็งๅธธ่งๆ…ข็—…ๆไพ›ๅฎžๆ“ๆ€งๆžๅผบ็š„โ€œๅ››ๅˆ†ๆณ•โ€่œๅ•","ๆบไบŽๅไธ‡+็œŸๅฎžไธดๅบŠ็—…ไพ‹๏ผŒๅผบ่ฐƒโ€œไธ€ๆ—ฅไธ‰้คๆ‰ๆ˜ฏ็œŸๆญฃ็š„ไฟๅฅๅ“โ€"]},{id:"book-00041",title:"ไฝ ๆ˜ฏไฝ ๅƒๅ‡บๆฅ็š„2",author:"ๅค่Œ",cover:"https://wfqqreader-1252317822.image.myqcloud.com/cover/883/35905883/t6_35905883.jpg",wereadLink:"https://weread.qq.com/web/reader/40532d007223e15b4052fae#outline?noScroll=1",link:"https://book.douban.com/subject/35340053/",tags:["้ฅฎ้ฃŸๆŒ‡ๅฏผ","็ง‘ๆ™ฎ","็–พ็—…้˜ฒๆฒป"],desc:"่š็„ฆ้ซ˜่ก€ๅŽ‹ใ€้ซ˜่„‚่ก€็—‡ใ€็ณ–ๅฐฟ็—…็ญ‰7ๅคงๅธธ่งๆ…ข็—…๏ผŒไปŽไธดๅบŠ่ฅๅ…ปๅŒปๅญฆ่ง’ๅบฆ้€ไธ€็ ด้™ค่ฏธๅฆ‚โ€œ่ก€ๅŽ‹้ซ˜ไธ่ƒฝๅƒ่‚‰โ€็ญ‰้ฅฎ้ฃŸ่ฏฏๅŒบ๏ผŒๆไพ›็ณป็ปŸ็š„โ€œไธŠๆธธ-ไธญๆธธ-ไธ‹ๆธธโ€็–พ็—…้˜ฒๆŽงๆ€่ทฏไธŽไธชไฝ“ๅŒ–่ฅๅ…ปๅค„ๆ–นใ€‚",rating:4.6,highlights:["ไธ“ๆ”ป7ๅคงๅธธ่งๆ…ขๆ€ง็—…๏ผŒไธบๆ‚ฃ่€…ๆไพ›้’ˆๅฏนๆ€ง็š„โ€œ็”Ÿ็—…ไบ†ๆ€Žไนˆๅƒโ€ไธชไฝ“ๅŒ–ๆŒ‡ๅฏผ","็ง‘ๅญฆ่พŸ่ฐฃ๏ผŒ็ ด้™คโ€œ่ก€ๅŽ‹้ซ˜ไธ่ƒฝๅƒ่‚‰โ€ใ€โ€œ่ƒ†ๅ›บ้†‡้ซ˜ไธ่ƒฝๅƒ้ธก่›‹โ€็ญ‰ๅธธ่ง่ฏฏๅŒบ","ๆขณ็†็–พ็—…ๅ‘็”Ÿๅ› ๆžœ้“พๆก๏ผŒๅธฎๅŠฉ่ฏป่€…ไปŽๆบๅคดๆ‰พๅˆฐๅฅๅบทๅนฒ้ข„็š„็€ๅŠ›็‚น","ๆไพ›ไปŽไธ€ๆ—ฅไธ‰้คใ€่ฟๅŠจๅˆฐๅฟƒๆ€่ฐƒๅ…ป็š„ๅ…ทไฝ“ๅฏๆ“ไฝœ็”Ÿๆดปๆ–นๅผๆธ…ๅ•"]}],Ge=JSON.parse('{"title":"ๅฅฝไนฆๆŽจ่","description":"่ฏปไนฆๅฟƒๅพ—ใ€ๆŽจ่ไนฆ็ฑๅ’Œ้˜…่ฏปๆŠ€ๅทง","frontmatter":{"title":"ๅฅฝไนฆๆŽจ่","date":"2024-01-01T16:00:00.000Z","description":"่ฏปไนฆๅฟƒๅพ—ใ€ๆŽจ่ไนฆ็ฑๅ’Œ้˜…่ฏปๆŠ€ๅทง","categories":["growth"],"coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/books_reading_bg.png","permalink":"/growth/books","tags":["ๆ‚ฆ่ฏปๆ—ถๅ…‰","่ต„ๆบๆŽจ่"]},"headers":[],"relativePath":"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/01.ๅฅฝไนฆๆŽจ่.md","filePath":"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/01.ๅฅฝไนฆๆŽจ่.md"}'),Ne={name:"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/01.ๅฅฝไนฆๆŽจ่.md"},De=Object.assign(Ne,{setup(r){return(b,t)=>(a(),l("div",null,[t[0]||(t[0]=x('

ๅฅฝไนฆๆŽจ่ โ€‹

1. AI ไธŽๆ•ฐๅญฆๆ€็ปด โ€‹

ๅœจๅคงๆจกๅž‹ๅ‘ๅฑ•ๆ—ฅๆ–ฐๆœˆๅผ‚็š„ไปŠๅคฉ๏ผŒ็†่งฃ AI ๆœฌ่ดจไธŠๆ˜ฏๅœจๅ‡็บงๆˆ‘ไปฌ่ต„ๆทฑ็š„โ€œ่ฎค็Ÿฅๆ“ไฝœ็ณป็ปŸโ€๏ผŒ ็†่งฃ AI๏ผŒๆœฌ่ดจไธŠๆ˜ฏ็†่งฃๆ•ฐๆฎใ€ๆ•ฐๅญฆไธŽ้€ป่พ‘ๅฆ‚ไฝ•้‡ๆž„่ฟ™ไธชไธ–็•Œใ€‚

่ฟ™ๅฅ—ไนฆๅ•ไปŽๆ•ฐๅญฆๆ€็ปด็š„ๅบ•ๅฑ‚้€ป่พ‘ๅ‡บๅ‘๏ผŒ่ฎฉๆˆ‘ไปฌ็†่งฃ ChatGPT ็ญ‰ๅคงๆจกๅž‹่ƒŒๅŽ็š„่ฎก็ฎ—ๆœบๅˆถ๏ผŒๅฐ†็กฌๆ ธ็š„็ฅž็ป็ฝ‘็ปœไธŽๆฆ‚็އ็ปŸ่ฎก่ฝฌๅŒ–ไธบไผ˜ๅŒ–็”Ÿๆดป็š„ๅ†ณ็ญ–ๅทฅๅ…ทใ€‚ๅฎƒไธไป…่ƒฝ็•Œๅฎšๆœบๅ™จๆ™บ่ƒฝ็š„่พน็•Œ๏ผŒๆ›ด้ข ่ฆ†ไบ†ไผ ็ปŸ็š„โ€œ็›ฎๆ ‡่ฎบโ€๏ผŒๅ€กๅฏผๅœจไธ็กฎๅฎšๆ€งไธญ้€š่ฟ‡โ€œ่ธ่„š็Ÿณโ€ๆ€็ปดๅฏปๆ‰พ็ช็ ดๆ€งๅˆ›ๆ–ฐ็š„ๅฏ่ƒฝใ€‚AI ็š„็ ”็ฉถๅฎž่ทตๅ‘Š่ฏ‰ๆˆ‘ไปฌ๏ผŒไผŸๅคง็š„็ช็ ดๅพ€ๅพ€ๆ— ๆณ•่ขซ้ข„่ฎพ๏ผŒๅ”ฏๆœ‰ๆ‹ฅๆŠฑโ€œๅฏปๅฎ่€…ๆ€็ปดโ€ๆ‰่ƒฝๅœจๆœช็Ÿฅไธญๅถ้‡ๅฅ‡่ฟน๏ผŒๆˆ‘ไปฌ้œ€่ฆ้ข ่ฆ†ไผ ็ปŸ็š„ๅˆ›ๆ–ฐ่Œƒๅผใ€‚

',4)),h(k,{books:g(Be)},null,8,["books"]),t[1]||(t[1]=x('

2. ไบงๅ“ไธŽๅ•†ไธš โ€‹

about site background

2.1 ไบงๅ“ Sense ไธŽๅˆ›้€  โ€‹

ๅœจไบงๅ“ๆˆๅŠŸ็އไธ่ถณ 10% ็š„ๆฎ‹้…ทๅธ‚ๅœบไธญ๏ผŒๅฅฝ็š„ๅˆ›้€ ็ป้žๆบไบŽ็›ฒ็›ฎ็š„็ตๆ„Ÿ๏ผŒ่€Œๆ˜ฏๅปบ็ซ‹ๅœจๆž่‡ด็š„้ฃŽ้™ฉ้ชŒ่ฏไธŽๆทฑๅˆป็š„ไบบๆ€งๆดžๅฏŸไน‹ไธŠใ€‚

ๅ“่ถŠ็š„ไบงๅ“ๅŠ›ไธไป…ๅ…ณไนŽๅŠŸ่ƒฝ่ฎพ่ฎก๏ผŒๆ›ดๆ˜ฏไธ€ๅœบๅ…ณไบŽ็ญ–็•ฅไธŽๅˆ›้€ ๅŠ›็š„ๅˆปๆ„็ปƒไน ๏ผšๆˆ‘ไปฌ้œ€่ฆ้€š่ฟ‡โ€œ้ข„ๅž‹โ€ๆ€็ปดไปฅๆžไฝŽๆˆๆœฌ่ฟ›่กŒ็œŸๅฎžๆ•ฐๆฎ้ชŒ่ฏ๏ผŒ็กฎไฟๆˆ‘ไปฌๅœจๆŠ•ๅ…ฅๅผ€ๅ‘ๅ‰ๆ˜ฏๅœจโ€œๅšๅฏนไบงๅ“โ€๏ผ›ๅนถๅˆฉ็”จ็”จๆˆทๆจกๅž‹ใ€ไบคๆ˜“ๆจกๅž‹็ญ‰ๅบ•ๅฑ‚ๆก†ๆžถ๏ผŒๅฐ†้›ถๆ•ฃ็š„้œ€ๆฑ‚่ฝฌๅŒ–ไธบๅฏ่Žทๅˆฉ็š„ๅ•†ไธšๆ–นๆกˆใ€‚

',4)),h(k,{books:g(Ie)},null,8,["books"]),t[2]||(t[2]=e("h3",{id:"_2-2-ๅ•†ไธšๅŒ–",tabindex:"-1"},[n("2.2 ๅ•†ไธšๅŒ– "),e("a",{class:"header-anchor",href:"#_2-2-ๅ•†ไธšๅŒ–","aria-label":"Permalink to โ€œ2.2 ๅ•†ไธšๅŒ–โ€"},"โ€‹")],-1)),t[3]||(t[3]=e("blockquote",null,[e("p",null,[n("ๅœจ่ฟฝ้€โ€œ็‹ฌ่ง’ๅ…ฝโ€ๅ’Œ่ง„ๆจกๆ‰ฉๅผ ็š„็‹‚็ƒญ่ฟทๆ€ไน‹ๅŽ๏ผŒ็œŸๆญฃ็š„ๅ•†ไธš้ซ˜ๆ‰‹ๆญฃๅœจ้‡ๆ–ฐๅ›žๅฝ’ๆœฌ่ดจ๏ผš"),e("strong",null,"็›ˆๅˆฉๆ‰ๆ˜ฏไผไธš็š„ๆ ธๅฟƒๆŠคๅŸŽๆฒณใ€‚"),n(" ่ฟ™ๅฅ—ไนฆๅ•ไธบๆˆ‘ไปฌๆญ็คบไบ†ไธ€็ง"),e("strong",null,"ๆ›ดๅ…ท้Ÿงๆ€ง็š„ๅ•†ไธš่ทฏๅพ„โ€”โ€”โ€œๅฐ่€Œ็พŽโ€็š„ๆž็ฎ€็ป่ฅ"),n("ใ€‚ๅฎƒๆ•™ๅฏผๆˆ‘ไปฌๅฆ‚ไฝ•ๆ‹’็ปไฝŽๆ•ˆ็š„ๅ†…ๅทไธŽๅฟ™็ขŒ๏ผŒ้€š่ฟ‡โ€œๅšๆ›ดๅฐ‘ไฝ†ๅˆ›้€ ๆ›ดๅคšไปทๅ€ผโ€็š„ๆ€็ปด๏ผŒๆ‰“้€ ๅœจไธ็กฎๅฎšๆ—ถไปฃไธ‹ไพ็„ถ่ƒฝไฟๆŒ็จณๅฎš็Žฐ้‡‘ๆต็š„โ€œๆ…ขๅ…ฌๅธโ€ใ€‚")]),e("p",null,[e("strong",null,"ๅ•†ไธš็š„ๆˆๅŠŸ๏ผŒๅพ€ๅพ€ๆบไบŽๆ•ขไบŽๆŒ‘ๆˆ˜โ€œ้šพ่€Œๆญฃ็กฎโ€็š„ไบ‹"),n("ใ€‚ไปŽ็šฎๅ…‹ๆ–ฏๅฆ‚ไฝ•ๅปบ็ซ‹ๅ…่ฎธๅคฑ่ดฅ็š„ๅˆ›ๆ„ๅœŸๅฃค๏ผŒๅˆฐ Waze ๅฆ‚ไฝ•้€š่ฟ‡่งฃๅ†ณ่ขซๅฟฝ่ง†็š„็—›็‚นๅฎž็Žฐ่ทจ่ถŠๅผๆˆ้•ฟ๏ผŒ่ฟ™ไบ›ไธ–็•Œ็บงๆกˆไพ‹่ฏๆ˜Žไบ†๏ผšๅ“่ถŠ็š„็ป„็ป‡ไธไป…้œ€่ฆๆž็ฎ€็š„ๆต็จ‹ไธŽ้ซ˜ๆ•ˆ็š„ๅˆ†ๅธƒๅผๅไฝœ๏ผˆ่ฟœ็จ‹ๅŠžๅ…ฌ๏ผ‰๏ผŒๆ›ด้œ€่ฆไธ€็งโ€œๅ†ท้™โ€็š„ๆ–‡ๅŒ–๏ผŒๅฐ†ๅˆฉๆถฆ็ฝฎไบŽ่ง„ๆจกไน‹ไธŠใ€‚")])],-1)),h(k,{books:g(We)},null,8,["books"]),t[4]||(t[4]=e("h2",{id:"_3-ๆ•ˆ็އไธŽๆ•ˆ่ƒฝ",tabindex:"-1"},[n("3. ๆ•ˆ็އไธŽๆ•ˆ่ƒฝ "),e("a",{class:"header-anchor",href:"#_3-ๆ•ˆ็އไธŽๆ•ˆ่ƒฝ","aria-label":"Permalink to โ€œ3. ๆ•ˆ็އไธŽๆ•ˆ่ƒฝโ€"},"โ€‹")],-1)),t[5]||(t[5]=e("blockquote",null,[e("p",null,[n("ๅœจไฟกๆฏ่ฟ‡่ฝฝไธŽ้ซ˜ๅŽ‹็ซžไบ‰็š„็Žฐไปฃ็Žฏๅขƒไธญ๏ผŒๅนณๅบธไธŽๅ“่ถŠ็š„ๅˆ†ๆฐดๅฒญไธๅ†ๆ˜ฏๅšไบ‹็š„้€Ÿๅบฆ๏ผŒ่€Œๆ˜ฏ"),e("strong",null,"ๅ†ณ็ญ–็š„็ฒพๅบฆไธŽ่ดฃไปป็š„่พน็•Œ"),n("ใ€‚่ฟ™ๅฅ—ไนฆๅ•ไธบๆˆ‘ไปฌๆไพ›ไบ†ไธ€ๅฅ—ไปŽไธชไบบ่ฎค็Ÿฅๅˆฐ็ป„็ป‡ๅไฝœ็š„โ€œๆ•ˆ่ƒฝ้˜ฒ็บฟโ€๏ผš้ฆ–ๅ…ˆ๏ผŒๅฎƒ"),e("strong",null,"ๅผ•ๅฏผๆˆ‘ไปฌๅฎŒๆˆไปŽโ€œๆ—ถ้’Ÿโ€ๅˆฐโ€œ็ฝ—็›˜โ€็š„ๆ€็ปด่ทจ่ถŠ๏ผŒๆ‰“็ ด็›ฒ็›ฎ่ฟฝๆฑ‚้€Ÿๅบฆ็š„่ฟทๆ€๏ผŒ็กฎไฟๅฐ†ๆ ธๅฟƒ็ฒพๅŠ›ๅ€พๆณจๅœจ็œŸๆญฃไบง็”Ÿ้•ฟ่ฟœๅคๅˆฉ็š„โ€œ้‡่ฆ้ž็ดงๆ€ฅโ€ไบ‹ๅŠกไน‹ไธŠ"),n("ใ€‚ ็œŸๆญฃ็š„ๆ•ˆ่ƒฝๆบไบŽๅฏนๅคๆ‚ๆ€ง็š„็ง‘ๅญฆ้ฉพ้ฉญ๏ผš")]),e("ul",null,[e("li",null,"้€š่ฟ‡โ€œๆธ…ๅ•้ฉๅ‘ฝโ€ๅผ็š„่ฎค็Ÿฅ้˜ฒๆŠค๏ผŒๆˆ‘ไปฌๅฐ†ๆœ€ไฝณๅฎž่ทตๅค–ๅŒ–ไธบๅฏ้ ็š„้˜ฒ้”™็ณป็ปŸ๏ผŒๅผฅ่กฅไบบ็ฑปๅœจๆž็ซฏ็Žฏๅขƒไธ‹็š„่ฎค็Ÿฅๅฑ€้™๏ผ›"),e("li",null,"โ€œ็Œดๅญ็ฎก็†ๆณ•โ€ๅˆ™ไปฅ็”ŸๅŠจ็š„่ง†่ง’้‡ๅก‘ไบ†่Œๅœบๅไฝœ็š„่ดฃไปป้€ป่พ‘๏ผŒๆ•™ๆˆ‘ไปฌ้€š่ฟ‡ๆœ‰ๆ•ˆๆŽˆๆƒๆ‹’็ปๆ— ่ฐ“็š„ๅนฒๆ‰ฐ๏ผŒ้‡Šๆ”พๆˆ˜็•ฅๆ€่€ƒ็š„็ฒพๅŠ›๏ผ›")])],-1)),h(k,{books:g(Ye)},null,8,["books"]),t[6]||(t[6]=e("h2",{id:"_4-ๅญฆไน ไธŽๆˆ้•ฟ",tabindex:"-1"},[n("4. ๅญฆไน ไธŽๆˆ้•ฟ "),e("a",{class:"header-anchor",href:"#_4-ๅญฆไน ไธŽๆˆ้•ฟ","aria-label":"Permalink to โ€œ4. ๅญฆไน ไธŽๆˆ้•ฟโ€"},"โ€‹")],-1)),t[7]||(t[7]=e("blockquote",null,[e("p",null,[n("ๅœจไฟกๆฏ็ˆ†็‚ธไธŽๅฟซ้€Ÿๅ˜้ฉ็š„ๆ—ถไปฃ๏ผŒ"),e("strong",null,"็œŸๆญฃ็š„ๆˆ้•ฟไธๅ†ๆ˜ฏ็Ÿฅ่ฏ†็š„่ขซๅŠจๅ †็ Œ๏ผŒ่€Œๆ˜ฏ่ฎค็Ÿฅ็ณป็ปŸ็š„ๅฝปๅบ•่ฟญไปฃ"),n("ใ€‚่ฟ™ๅฅ—ไนฆๅ•ไธบๆˆ‘ไปฌๆž„ๅปบไบ†ไธ€ไธชไปŽๅบ•ๅฑ‚ๆ€็ปดๅˆฐไบบ็”Ÿ็ป่ฅ็š„้—ญ็Žฏ๏ผš")]),e("ul",null,[e("li",null,"้ฆ–ๅ…ˆ๏ผŒ้€š่ฟ‡ๆ‰นๅˆคๆ€งๆ€็ปดไธŽๆทฑๅบฆ้˜…่ฏปๅคฏๅฎžโ€œๅ…ƒ่ƒฝๅŠ›โ€๏ผŒๅœจๆณ›ๆปฅ็š„ไฟกๆฏไธญ่ฏ†ๅˆซๆœฌ่ดจ๏ผŒๅฐ†ไป–ไบบ็š„ๆดž่ง่ฝฌๅŒ–ไธบ่‡ชๅทฑ็š„่ก€่‚‰๏ผ›"),e("li",null,"ๅ…ถๆฌก๏ผŒๅˆฉ็”จโ€œๆฃ€็ดขๅŠ›โ€ๆ‰“็ ดไฟกๆฏๅทฎ๏ผŒ็กฎไฟ่‡ชๅทฑๅœจไปปไฝ•้ข†ๅŸŸ้ƒฝ่ƒฝๅฟซ้€Ÿ่Žทๅ–้ซ˜่ดจ้‡่ต„ๆบ๏ผŒๆŽŒๆก้€†้ฃŽ่€Œ่กŒ็š„ไธปๅŠจๆƒใ€‚")]),e("p",null,[e("strong",null,"ไบบ็”Ÿไธๆ˜ฏไธ€ๅœบ็›ฒ็›ฎ็š„้•ฟ่ท‘๏ผŒ่€Œๆ˜ฏไธ€ๅœบๅŸบไบŽโ€œๅŽŸๅˆ™โ€็š„็ฒพๅฏ†็ป่ฅ"),n("ใ€‚ไปŽ่พพๅˆฉๆฌง็š„็ณป็ปŸๅŒ–ๅ†ณ็ญ–๏ผŒๅˆฐ็บณ็“ฆๅฐ”็š„่ดขๅฏŒไธŽๅนธ็ฆ้€ป่พ‘๏ผŒ่ฟ™ไบ›ๆ™บ่€…ๆ•™ๅฏผๆˆ‘ไปฌๅฆ‚ไฝ•ๅˆฉ็”จๆ ๆ†ใ€ๅšๆŒ้•ฟๆœŸไธปไน‰๏ผŒๅฐ†่‡ชๅทฑ่ง†ไฝœไธ€ๅฎถโ€œไบบ็”Ÿๆœ‰้™ๅ…ฌๅธโ€ๆฅ็ป่ฅใ€‚ๆˆ‘ไปฌ้œ€่ฆๆ‘†่„ฑโ€œไผ˜็ง€็ปต็พŠโ€ๅผ็š„่ขซๅŠจ้ฉฑๅŠจ๏ผŒ้€š่ฟ‡่ฏ†ๅˆซๆˆ้•ฟ็š„โ€œ็ฌฌไบŒๆ›ฒ็บฟโ€๏ผŒๅœจๅท…ๅณฐๆ—ถๅˆปไธปๅŠจๅฏปๆฑ‚็ช็ ด๏ผŒๅฐ†่‡ชๅทฑๆ‰“้€ ๆˆไธๅฏๆ›ฟไปฃ็š„็จ€็ผบ่ต„ไบงใ€‚้˜…่ฏป่ฟ™ไบ›็ปๅ…ธ๏ผŒไธไป…ๆ˜ฏไธบไบ†ไน ๅพ—ๆŠ€่ƒฝ๏ผŒๆ›ดๆ˜ฏไธบไบ†ๅœจ็ฎ—ๆณ•ไธŽ็„ฆ่™‘็š„ๅคนๅ‡ปไธญ๏ผŒ้‡ๅก‘ๅ†…ๅฟƒ็š„ๅฎ้™ไธŽ็‹ฌ็ซ‹ๅˆคๆ–ญ็š„ๅ‹‡ๆฐ”ใ€‚")])],-1)),h(k,{books:g(Te)},null,8,["books"]),t[8]||(t[8]=e("h2",{id:"_5-ไบบๆ–‡็คพ็ง‘",tabindex:"-1"},[n("5. ไบบๆ–‡็คพ็ง‘ "),e("a",{class:"header-anchor",href:"#_5-ไบบๆ–‡็คพ็ง‘","aria-label":"Permalink to โ€œ5. ไบบๆ–‡็คพ็ง‘โ€"},"โ€‹")],-1)),t[9]||(t[9]=e("blockquote",null,[e("p",null,"ๅœจๅฎ่ง‚ๅކๅฒไธŽๅพฎ่ง‚็Žฐๅฎž้—ดๆž„ๅปบ่ฎค็Ÿฅ๏ผšๅœจ็ขŽ็‰‡ๅŒ–ไธŽไธ็กฎๅฎšๆ€งๅนถๅญ˜็š„ๆ—ถไปฃ๏ผŒ็ฉฟ้€่กจ่ฑกใ€็›ด่พพๆœฌ่ดจ็š„ๆดžๅฏŸๅŠ›ๆˆไธบๅฟ…้œ€ใ€‚่ฟ™ๅฅ—ๅ•ไธบๆˆ‘ไปฌๅผ€ๅฏไบ†ไธคๆ‰‡็ช—๏ผš"),e("ul",null,[e("li",null,"ไธ€ๆ‰‡ๆœ›ๅ‘ไธ‡ๅนดๆ–‡ๆ˜Ž็š„ๅฎๅคงๅๆ ‡๏ผŒ้€š่ฟ‡ใ€Šๆžช็‚ฎใ€็—…่ŒไธŽ้’ข้“ใ€‹็š„่ทจๅญฆ็ง‘่ง†้‡Ž๏ผŒๆ‹†่งฃๅœฐ็†็Žฏๅขƒๅฆ‚ไฝ•ๅ†ท้…ท่€Œๅถ็„ถๅœฐ้‡ๅก‘ๅ…จ็ƒ็‰ˆๅ›พ๏ผŒๅฝปๅบ•้ข ่ฆ†โ€œๆ–‡ๆ˜Žไผ˜่ถŠ่ฎบโ€็š„ๅ‚ฒๆ…ข๏ผ›"),e("li",null,"ๅฆไธ€ๆ‰‡ๅˆ™็…งๅ‘ๅฝ“ไธ‹็คพไผš็š„็œŸๅฎž่‚Œ็†๏ผŒๅœจๆขๆ™“ๅฃฐๅฏนๅ„้˜ถๅฑ‚็”Ÿๅญ˜ๅ›ฐๅขƒ็š„็ป†่…ปๆๆ‘นไธญ๏ผŒ่ฏปๆ‡‚ๅคงๆ—ถไปฃๅ˜้ฉ่ƒŒๅŽ้š็ง˜็š„็ป“ๆž„ๆ€ง้€ป่พ‘ไธŽ้˜ถๅฑ‚็„ฆ่™‘ใ€‚")]),e("p",null,[e("strong",null,"ไบบๆ–‡ๆ€่€ƒ็š„็ปˆๆžไปทๅ€ผ๏ผŒๅœจไบŽๅฆ‚ไฝ•ๅฐ†ๅฎๅคงๅ™ไบ‹่ฝฌๅŒ–ไธบไธชไบบ็š„่กŒๅŠจๅŠ›้‡"),n("ใ€‚ๆญฃๅฆ‚้กน้ฃ™ๆ‰€ๅ€กๅฏผ็š„โ€œๆŠŠ่‡ชๅทฑไฝœไธบๆ–นๆณ•โ€๏ผŒ่ฟ™ไบ›่‘—ไฝœไธไป…ๆ˜ฏ็Ÿฅ่ฏ†็š„ไผ ้€’๏ผŒๆ›ดๆ˜ฏๆ€็ปด็š„ๆพ็ป‘ใ€‚ๅฎƒไปฌๆ•™ๅฏผๆˆ‘ไปฌไธๅ†ๅšๆ—ถไปฃ็š„่ขซๅŠจๆ—่ง‚่€…๏ผŒ่€Œๆ˜ฏๅญฆไผšๅœจไธชไบบไฝ“้ชŒไธŽๅฎ่ง‚ไธ–็•Œไน‹้—ดๆญๅปบๆกฅๆข๏ผŒ้€š่ฟ‡้‡ๅปบโ€œ้™„่ฟ‘โ€็š„ๅฐไธ–็•Œ๏ผŒๅœจๅ–งๅšฃไธญๆ‰พๅ‡†่‡ชๆˆ‘็š„ๅฎšไฝใ€‚")])],-1)),h(k,{books:g(Me)},null,8,["books"]),t[10]||(t[10]=e("h2",{id:"_6-ๅฅๅบท็”Ÿๆดป",tabindex:"-1"},[n("6. ๅฅๅบท็”Ÿๆดป "),e("a",{class:"header-anchor",href:"#_6-ๅฅๅบท็”Ÿๆดป","aria-label":"Permalink to โ€œ6. ๅฅๅบท็”Ÿๆดปโ€"},"โ€‹")],-1)),t[11]||(t[11]=e("img",{src:$,style:{width:"100%","border-radius":"8px","margin-bottom":"20px"},alt:"about site background"},null,-1)),t[12]||(t[12]=e("blockquote",null,[e("p",null,[n("ๅœจ้ขไธดๅคงๆฆ‚็އๆดปๅˆฐ100ๅฒ็š„โ€œ้•ฟๅฏฟๆ—ถไปฃโ€๏ผŒไผ ็ปŸ็š„็บฟๆ€งไบบ็”Ÿๆจกๅผๆญฃๅœจๅคฑๆ•ˆใ€‚ๆˆ‘ไปฌ้œ€่ฆๅฏนโ€œๅฅๅบทโ€่ฟ›่กŒไธ€ๆฌกๅฝปๅบ•็š„่ฎค็Ÿฅ้‡ๆž„๏ผš"),e("strong",null,"ๅฅๅบทไธๅ†ไป…ไป…ๆ˜ฏโ€œๆฒกๆœ‰็–พ็—…โ€๏ผŒ่€Œๆ˜ฏๆ”ฏๆ’‘ๆˆ‘ไปฌ่ทจ่ถŠๆผซ้•ฟ็”Ÿๅ‘ฝๅ‘จๆœŸใ€ๅบ”ๅฏนๅคš้˜ถๆฎตไบบ็”ŸๆŒ‘ๆˆ˜็š„ๆœ€ๆ ธๅฟƒโ€œๆ— ๅฝข่ต„ไบงโ€"),n("ใ€‚ๆƒณ่ฆ่ฎฉ่ฟ™ๅฅ—็”Ÿๅ‘ฝ็ณป็ปŸ้•ฟๆœŸๅนณ็จณ่ฟ่กŒ๏ผŒ็œŸๆญฃ็š„่งฃๆณ•ๅนถไธๅœจๅŒป้™ข็š„ๅค„ๆ–น็ฌบ้‡Œ๏ผŒ่€Œๆ˜ฏ้š่—ๅœจๆˆ‘ไปฌๆฏๅคฉ็š„ๆ—ฅๅธธ้€‰ๆ‹ฉไธญใ€‚")]),e("p",null,[n("ๅ†ณๅฎšๆˆ‘ไปฌ้•ฟๆœŸๅฅๅบท็Šถๆ€็š„๏ผŒๆœ‰ 99 %ๅ–ๅ†ณไบŽๆ—ฅๅธธไน ๆƒฏใ€‚ๆˆ‘ไปฌ้œ€่ฆ"),e("strong",null,"ๅœจไผ‘ๆฏใ€้ฅฎ้ฃŸใ€่ฟๅŠจใ€็ก็œ ่ฟ™ๅ››ไธช้ซ˜้ข‘็”Ÿๆดป็ปดๅบฆไธญ๏ผŒๆคๅ…ฅๅพฎๅฐไฝ†ๆ ๆ†็އๆž้ซ˜็š„ๆ”นๅ˜"),n("๏ผˆไพ‹ๅฆ‚12ๅฐๆ—ถ่ฟ›้ฃŸ็ช—ๅฃใ€10ๅˆ†้’Ÿ้ซ˜ๅผบๅบฆ่ฟๅŠจใ€็กๅ‰ๅฑ่”ฝๆ•ฐๅญ—้€š็Ÿฅ็ญ‰๏ผ‰ใ€‚็”จๆœ€ไฝŽ็š„ๆ‰ง่กŒๆˆๆœฌ๏ผŒ็ฝฎๆข่บซๅฟƒ็Šถๆ€็š„ๅทจๅคงๅ›žๆŠฅใ€‚")])],-1)),h(k,{books:g($e)},null,8,["books"])]))}});export{Ge as __pageData,De as default}; +import{d as A,p as B,h as a,z as h,Y as I,s as W,g as l,y as _,v as P,i as e,W as v,x as c,F as p,t as f,S as n,T as Y,_ as C,r as j,c as T,k as M,U as x,l as g}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const $="/img/cover/health_bg.png",N={class:"book-panel__drawer"},V={class:"book-panel__header-meta"},G={class:"book-panel__title"},D={class:"book-panel__author"},F={class:"book-panel__body"},R={class:"book-panel__top-bar"},Z={class:"book-panel__top-left"},H={class:"book-panel__tags"},J={key:0,class:"book-panel__rating"},O={class:"stars"},E={key:0,viewBox:"0 0 24 24",fill:"currentColor"},K={key:1,viewBox:"0 0 24 24",class:"half-star"},Q=["id"],X=["clip-path"],U={key:2,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.5"},ee={class:"rating-text"},te={class:"book-panel__links"},oe=["href"],ae={width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",style:{"flex-shrink":"0"}},le=["href"],re={width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",style:{"flex-shrink":"0"}},ne={class:"book-panel__section"},se={class:"book-panel__desc"},ie={key:0,class:"book-panel__section"},de={class:"book-panel__highlights"},ce=A({__name:"BookDetailPanel",props:{book:{},open:{type:Boolean},heroColor:{},tagColors:{}},emits:["close"],setup(r,{emit:b}){const t=b;return(w,o)=>(a(),B(Y,{to:"body"},[h(I,{name:"panel-slide"},{default:W(()=>[r.open&&r.book?(a(),l("div",{key:0,class:"book-panel",onClick:o[2]||(o[2]=P(i=>t("close"),["self"]))},[e("div",{class:"book-panel__overlay",onClick:o[0]||(o[0]=i=>t("close"))}),e("div",N,[e("div",{class:"book-panel__header",style:v({background:r.heroColor})},[e("button",{class:"book-panel__close",title:"ๅ…ณ้—ญ",onClick:o[1]||(o[1]=i=>t("close"))},[...o[3]||(o[3]=[e("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none"},[e("path",{d:"M12 4L4 12M4 4l8 8",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)])]),e("div",V,[e("h2",G,c(r.book.title),1),e("p",D,c(r.book.author),1)])],4),e("div",F,[e("div",R,[e("div",Z,[e("div",H,[(a(!0),l(p,null,f(r.book.tags,(i,m)=>(a(),l("span",{key:i,class:"book-panel__tag",style:v({background:r.tagColors[m%r.tagColors.length].bg,color:r.tagColors[m%r.tagColors.length].text})},c(i),5))),128))]),r.book.rating!=null?(a(),l("div",J,[o[8]||(o[8]=e("span",{class:"rating-label"},"ๆŽจ่ๆŒ‡ๆ•ฐ:",-1)),e("div",O,[(a(),l(p,null,f(5,i=>e("span",{key:i,class:"star"},[i<=Math.floor(r.book.rating)?(a(),l("svg",E,[...o[4]||(o[4]=[e("path",{d:"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z"},null,-1)])])):i===Math.ceil(r.book.rating)&&r.book.rating%1!==0?(a(),l("svg",K,[e("defs",null,[e("clipPath",{id:"clip-"+r.book.id},[...o[5]||(o[5]=[e("rect",{x:"0",y:"0",width:"12",height:"24"},null,-1)])],8,Q)]),o[6]||(o[6]=e("path",{class:"star-empty",d:"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z",fill:"none",stroke:"currentColor","stroke-width":"1.5"},null,-1)),e("path",{class:"star-filled",d:"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z",fill:"currentColor","clip-path":"url(#clip-"+r.book.id+")"},null,8,X)])):(a(),l("svg",U,[...o[7]||(o[7]=[e("path",{d:"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z"},null,-1)])]))])),64))]),e("span",ee,c(r.book.rating.toFixed(1)),1)])):_("",!0)]),e("div",te,[e("a",{href:r.book.link,target:"_blank",rel:"noopener",class:"book-panel__link-btn"},[(a(),l("svg",ae,[...o[9]||(o[9]=[e("path",{d:"M18 13v6a2 2 0 01-2 2H5a2 2 0 01-2-2V8a2 2 0 012-2h6M15 3h6v6M10 14L21 3",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},null,-1)])])),o[10]||(o[10]=n(" ่ฑ†็“ฃ ",-1))],8,oe),r.book.wereadLink?(a(),l("a",{key:0,href:r.book.wereadLink,target:"_blank",rel:"noopener",class:"book-panel__link-btn"},[(a(),l("svg",re,[...o[11]||(o[11]=[e("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z",fill:"currentColor"},null,-1)])])),o[12]||(o[12]=n(" ๅพฎไฟก่ฏปไนฆ ",-1))],8,le)):_("",!0)])]),o[15]||(o[15]=e("div",{class:"book-panel__divider"},null,-1)),e("section",ne,[o[13]||(o[13]=e("h3",{class:"book-panel__section-title"},[e("span",{class:"book-panel__section-icon"},"๐Ÿ“–"),n(" ๅ†…ๅฎน็ฎ€ไป‹ ")],-1)),e("p",se,c(r.book.desc),1)]),r.book.highlights&&r.book.highlights.length>0?(a(),l("section",ie,[o[14]||(o[14]=e("h3",{class:"book-panel__section-title"},[e("span",{class:"book-panel__section-icon"},"โœจ"),n(" ไนฆ็ฑไบฎ็‚น ")],-1)),e("ul",de,[(a(!0),l(p,null,f(r.book.highlights,(i,m)=>(a(),l("li",{key:m,class:"book-panel__highlight-item"},c(i),1))),128))])])):_("",!0)])])])):_("",!0)]),_:1})]))}}),he=C(ce,[["__scopeId","data-v-1ddfc013"]]),be={class:"book-list"},ue=["onClick"],ge=["src","alt"],ke={class:"book-cover__overlay"},pe={key:0,class:"book-cover__hint"},we=["href"],me={class:"book-info"},_e={class:"book-info__title"},fe={class:"book-info__author"},qe={key:0,class:"book-info__rating"},ve={class:"stars"},je={key:0,viewBox:"0 0 24 24",fill:"currentColor"},Le={key:1,viewBox:"0 0 24 24",class:"half-star"},ye=["id"],Se=["clip-path"],xe={key:2,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.5"},Ae={class:"rating-text"},Pe={class:"book-info__tags"},Ce={class:"book-info__desc"},ze=A({__name:"BookRecommend",props:{books:{}},setup(r){const b=["linear-gradient(135deg, #e8f0fe 0%, #c7d9fd 100%)","linear-gradient(135deg, #e6f4ea 0%, #b7dfc4 100%)","linear-gradient(135deg, #fff3e0 0%, #ffd9a0 100%)","linear-gradient(135deg, #fce4ec 0%, #f8b4c8 100%)","linear-gradient(135deg, #ede7f6 0%, #cdb8ee 100%)","linear-gradient(135deg, #e0f7fa 0%, #9ee8f0 100%)"],t=[{bg:"#e8f0fe",text:"#3b5bdb"},{bg:"#e6f4ea",text:"#2e7d32"},{bg:"#fff3e0",text:"#e65100"},{bg:"#fce4ec",text:"#c2185b"},{bg:"#ede7f6",text:"#6a1b9a"},{bg:"#e0f7fa",text:"#00838f"}],w=j(null),o=j(0),i=j(!1),m=T(()=>b[o.value%b.length]);function z(q,d){q.withPanel!==!1&&(w.value?.id===q.id&&i.value?L():(w.value=q,o.value=d,i.value=!0))}function L(){i.value=!1,setTimeout(()=>{w.value=null},300)}return(q,d)=>(a(),l(p,null,[e("div",be,[(a(!0),l(p,null,f(r.books,(s,y)=>(a(),l("div",{key:s.id,class:M(["book-card",{"book-card--active":w.value?.id===s.id&&i.value}]),onClick:u=>z(s,y)},[e("div",{class:"book-cover",style:v({background:b[y%b.length]})},[s.cover?(a(),l("img",{key:0,src:s.cover,alt:s.title,class:"book-cover__img"},null,8,ge)):_("",!0),e("div",ke,[s.withPanel!==!1?(a(),l("span",pe,"็‚นๅ‡ปๆŸฅ็œ‹่ฏฆๆƒ…")):(a(),l("a",{key:1,href:s.link,target:"_blank",rel:"noopener",class:"book-cover__hint",onClick:d[0]||(d[0]=P(()=>{},["stop"]))},"ๆŸฅ็œ‹่ฑ†็“ฃ",8,we))])],4),e("div",me,[e("div",_e,"ใ€Š"+c(s.title)+"ใ€‹",1),e("div",fe,c(s.author),1),s.rating!=null?(a(),l("div",qe,[e("div",ve,[(a(),l(p,null,f(5,u=>e("span",{key:u,class:"star"},[u<=Math.floor(s.rating)?(a(),l("svg",je,[...d[1]||(d[1]=[e("path",{d:"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z"},null,-1)])])):u===Math.ceil(s.rating)&&s.rating%1!==0?(a(),l("svg",Le,[e("defs",null,[e("clipPath",{id:"card-clip-"+s.id},[...d[2]||(d[2]=[e("rect",{x:"0",y:"0",width:"12",height:"24"},null,-1)])],8,ye)]),d[3]||(d[3]=e("path",{class:"star-empty",d:"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z",fill:"none",stroke:"currentColor","stroke-width":"1.5"},null,-1)),e("path",{class:"star-filled",d:"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z",fill:"currentColor","clip-path":"url(#card-clip-"+s.id+")"},null,8,Se)])):(a(),l("svg",xe,[...d[4]||(d[4]=[e("path",{d:"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z"},null,-1)])]))])),64))]),e("span",Ae,c(s.rating.toFixed(1)),1)])):_("",!0),e("div",Pe,[(a(!0),l(p,null,f(s.tags,(u,S)=>(a(),l("span",{key:u,class:"tag",style:v({background:t[S%t.length].bg,color:t[S%t.length].text})},c(u),5))),128))]),e("p",Ce,c(s.desc),1)])],10,ue))),128))]),h(he,{book:w.value,open:i.value,"hero-color":m.value,"tag-colors":t,onClose:L},null,8,["book","open","hero-color"])],64))}}),k=C(ze,[["__scopeId","data-v-fd79cd55"]]),Be=[{id:"book-001",title:"ๅฟƒไธญๆœ‰ๆ•ฐ๏ผš็”Ÿๆดปไธญ็š„ๆ•ฐๅญฆๆ€็ปด",author:"ๅˆ˜้›ชๅณฐ",cover:"https://cdn.weread.qq.com/weread/cover/39/3300018939/t6_3300018939.jpg",wereadLink:"https://weread.qq.com/web/reader/df6323a0813ab6de5g019a31#outline?noScroll=1",link:"https://book.douban.com/subject/35749693/",tags:["ๆ•ฐๅญฆๆ€็ปด","็ง‘ๆ™ฎ","ๅ†ณ็ญ–"],desc:"ๆœฌไนฆ้€š่ฟ‡ๅคง้‡่ดด่ฟ‘ๆ—ฅๅธธ็š„ไพ‹ๅญ๏ผŒๅฑ•็คบๆ•ฐๅญฆๆ€็ปดๅฆ‚ไฝ•ไผ˜ๅŒ–ๆˆ‘ไปฌ็š„็”Ÿๆดปๅ†ณ็ญ–ใ€‚ไฝœ่€…็”จๆฆ‚็އใ€็ปŸ่ฎกใ€ๆœ€ไผ˜ๅŒ–็ญ‰ๆ•ฐๅญฆๅทฅๅ…ท๏ผŒไธบ็”Ÿๆดปใ€่Œๅœบใ€ไบบ้™…ไบคๅพ€ไธญ็š„ๆƒ่กก้—ฎ้ข˜ๆไพ›ๅˆ†ๆžๆก†ๆžถ๏ผŒๅธฎๅŠฉ่ฏป่€…ๅœจ้ขๅฏนไธ็กฎๅฎšๆ€งๆ—ถๅƒ่ฎก็ฎ—ๆœบไธ€ๆ ทๆ‰พๅˆฐโ€œๆœ€ไผ˜่งฃโ€ใ€‚",rating:4.9,highlights:["ๅฐ†ๅคงๆ•ฐๅฎšๅพ‹ใ€ๆœ€ๅฐไบŒไน˜ๆณ•็ญ‰็กฌๆ ธๆ•ฐๅญฆๆฆ‚ๅฟตไธŽๆ—ฅๅธธ็”Ÿๆดปๅทงๅฆ™็ป“ๅˆ","ๆไพ›ๅบ”ๅฏนไธ็กฎๅฎšๆ€งๅ’Œๅคš็›ฎๆ ‡ๆЉๆ‹ฉ็š„็ง‘ๅญฆๅ†ณ็ญ–ๆก†ๆžถ","ๅผบ่ฐƒๆ•ฐๅญฆไธไป…ๆ˜ฏๅ…ฌๅผ่ฎก็ฎ—๏ผŒๆ›ดๆ˜ฏ็œ‹ไธ–็•Œใ€ไผ˜ๅŒ–ไบบ็”Ÿ็š„้ซ˜ๆ•ˆๆ€็ปดๅทฅๅ…ท"]},{id:"book-0020",title:"ๆ™บๆ…ง็š„็–†็•Œ๏ผšไปŽๅ›พ็ตๆœบๅˆฐไบบๅทฅๆ™บ่ƒฝ",author:"ๅ‘จๅฟ—ๆ˜Ž",cover:"https://cdn.weread.qq.com/weread/cover/92/YueWen_23637052/t6_YueWen_23637052.jpg",wereadLink:"https://weread.qq.com/web/reader/b9732f007168ac3cb976eca#outline?noScroll=1",link:"https://book.douban.com/subject/30379536/",tags:["ไบบๅทฅๆ™บ่ƒฝ","็ง‘ๆŠ€ๅฒ","้€š่ฏ†่ฏป็‰ฉ"],desc:"ๆœฌไนฆๆ˜ฏไธ€้ƒจ้ขๅ‘ๅคงไผ—็š„ไบบๅทฅๆ™บ่ƒฝ้€š่ฏ†่ฏป็‰ฉใ€‚ไฝœ่€…ๅ‘จๆ˜Žไปฅๆ—ถ้—ดไธบไธป็บฟ๏ผŒๅฐ†ไบบๅทฅๆ™บ่ƒฝ็š„ๅ‘ๅฑ•ๅކ็จ‹ใ€ๅ…ณ้”ฎไบบ็‰ฉไธŽ้‡Œ็จ‹็ข‘ไบ‹ไปถไธฒ่”่ตทๆฅ๏ผŒไปŽไบ”ไธช็ปดๅบฆๅฑ•ๅผ€๏ผšๅญฆๆœฏ็†่ฎบใ€ๅކๅฒๆฒฟ้ฉใ€ๆŠ€ๆœฏๅบ”็”จใ€็ ”็ฉถๆˆๆžœไปฅๅŠ้ขไธด็š„ๅ›ฐ้šพไธŽๆœชๆฅๆŒ‘ๆˆ˜ใ€‚ๅ…จไนฆๆ—จๅœจ็”จ้€šไฟ—็š„่ฏญ่จ€ๅ’Œๅทงๅฆ™็š„็ป“ๆž„๏ผŒๆŠŠไบบๅทฅๆ™บ่ƒฝไปŽโ€œ้˜ณๆ˜ฅ็™ฝ้›ชโ€็š„ๅญฆๆœฏๆฎฟๅ ‚ๅธฆๅˆฐๅ…ฌไผ—่ง†้‡Ž๏ผŒๅธฎๅŠฉ่ฏป่€…็†่งฃ AI ่ƒฝๅšไป€ไนˆใ€ๅšไธๅˆฐไป€ไนˆ๏ผŒไปฅๅŠ่ƒŒๅŽ็š„ๆŠ€ๆœฏไธŽๆ€ๆƒณๆ นๆบใ€‚",rating:5,highlights:["ไปฅๆ—ถ้—ดไธบไธป็บฟ๏ผŒๆธ…ๆ™ฐๆขณ็†ไบบๅทฅๆ™บ่ƒฝ็š„ๅ‘ๅฑ•่„‰็ปœไธŽ้‡Œ็จ‹็ข‘","ๆทฑๅ…ฅๆต…ๅ‡บ๏ผŒ็”จ้€šไฟ—่ฏญ่จ€ๅฐ†ๅคๆ‚็š„ๅญฆๆœฏ็†่ฎบๅธฆๅ…ฅๅ…ฌไผ—่ง†้‡Ž","ๅฎข่ง‚ๅ‰–ๆž๏ผŒๅธฎๅŠฉ่ฏป่€…ๅ‡†็กฎ็•ŒๅฎšAIโ€œ่ƒฝๅšไป€ไนˆโ€ไธŽโ€œๅšไธๅˆฐไป€ไนˆโ€"]},{id:"book-004",title:"ไธบไป€ไนˆไผŸๅคงไธ่ƒฝ่ขซ่ฎกๅˆ’",author:"่‚ฏๅฐผๆ–ฏยทๆ–ฏๅฆๅˆฉ / ไน”ๅฐ”ยท้›ทๆ›ผ",cover:"https://cdn.weread.qq.com/weread/cover/22/cpplatform_wfdzhk1dx7ig9aep4gagof/t6_cpplatform_wfdzhk1dx7ig9aep4gagof1686304376.jpg",wereadLink:"https://weread.qq.com/web/reader/0bf32020813ab7e6bg016510#outline?noScroll=1",link:"https://book.douban.com/subject/36357804/",tags:["ไบบๅทฅๆ™บ่ƒฝ","ๅˆ›ๆ–ฐๆ€็ปด","่ฎค็Ÿฅ็ง‘ๅญฆ"],desc:"ๆœฌไนฆ็”ฑไธคไฝๅ‰ๆฒฟAI็ง‘ๅญฆๅฎถๅˆ่‘—๏ผŒๆๅ‡บไบ†้ข ่ฆ†ไผ ็ปŸโ€œ็›ฎๆ ‡-่ฎกๅˆ’โ€ๆ€็ปด็š„ๅ…จๆ–ฐ่ง†่ง’ใ€‚็ป“ๅˆAI็ ”็ฉถๅฎž่ทต๏ผŒไนฆไธญ่ฎบ่ฏไบ†ไผŸๅคงๆˆๅฐฑๅพ€ๅพ€ๅนถ้žๅ‡บ่‡ช็ฒพๅฟƒ่ฎพ่ฎก็š„่“ๅ›พ๏ผŒ่€Œๆ˜ฏๆบไบŽๅฏนๆœช็Ÿฅ็š„ๅฅฝๅฅ‡ใ€้šๆœบๆŽข็ดขไธŽไธๆ–ญ่ฏ•้”™ใ€‚้€š่ฟ‡โ€œๅฏปๅฎ่€…ๆ€็ปดโ€ๅ’Œโ€œ่ธ่„š็Ÿณๆจกๅž‹โ€็ญ‰ๆ–นๆณ•๏ผŒไธบ่ฏป่€…ๅœจ้ซ˜ๅบฆไธ็กฎๅฎš็š„็Žฏๅขƒไธญๆฟ€ๅ‘็ช็ ดๆ€งๅˆ›ๆ–ฐๆไพ›ไบ†ๅ…ทไฝ“็š„่กŒๅŠจๆก†ๆžถใ€‚",rating:4.5,highlights:["้ข ่ฆ†ไผ ็ปŸ็š„โ€œ็›ฎๆ ‡่ฎบโ€๏ผŒ่ฎบ่ฏไผŸๅคงๆˆๅฐฑๆบ่‡ชๅฏนๆœช็Ÿฅ็š„ๅฅฝๅฅ‡ไธŽๆ— ่พน็•Œ็š„ๆŽข็ดข","ๆไพ›โ€œๅฏปๅฎ่€…ๆ€็ปดโ€โ€œ่ธ่„š็Ÿณๆจกๅž‹โ€โ€œๆ–ฐๅฅ‡ๆ€งๆŽข็ดขโ€ไธ‰ๅคงๅฏๆ“ไฝœ็š„่ฎค็ŸฅไธŽๅฎž่ทตๅทฅๅ…ท","ๆ‰Žๆ นOpenAI็ญ‰ๅ‰ๆฒฟๆœบๆž„็š„ๅฎž่ฏ่ƒŒๆ™ฏ๏ผŒๅ…ถๅฏๅ‘ๆ„ไน‰่ทจๅญฆ็ง‘้€‚็”จไบŽ็ง‘็ ”ใ€ๅ•†ไธšๅŠไบบ็”Ÿ่ง„ๅˆ’"]},{id:"book-003",title:"่ฟ™ๅฐฑๆ˜ฏChatGPT",author:"ๆ–ฏ่’‚่Šฌยทๆฒƒๅฐ”ๅผ—ๆ‹‰ๅง†",cover:"https://cdn.weread.qq.com/weread/cover/24/cpplatform_4cn8w4tmgzntjobg9ffeny/t6_cpplatform_4cn8w4tmgzntjobg9ffeny1703648785.jpg",wereadLink:"https://weread.qq.com/web/reader/74332a90813ab86c4g019d98#outline?noScroll=1",link:"https://book.douban.com/subject/36449803/",tags:["ไบบๅทฅๆ™บ่ƒฝ","ๅคงๆจกๅž‹","ChatGPT"],desc:"ๆœฌไนฆ็”ฑ่‘—ๅ็ง‘ๅญฆๅฎถๆ–ฏ่’‚่Šฌยทๆฒƒๅฐ”ๅผ—ๆ‹‰ๅง†ๆ’ฐๅ†™๏ผŒๅ…จๆ™ฏๅผๆ‹†่งฃไบ†ChatGPT็š„ๅ†…้ƒจๅทฅไฝœๆœบๅˆถใ€‚ไฝœ่€…็”จ้€šไฟ—่ฏญ่จ€่งฃ้‡Šไบ†็ฅž็ป็ฝ‘็ปœๅ’Œ่‡ชๅ›žๅฝ’ๆžถๆž„็ญ‰ๆ ธๅฟƒๆŠ€ๆœฏ๏ผŒๆŽข่ฎจไบ†็ฎ€ๅ•็š„่ฎก็ฎ—่ง„ๅˆ™ๅฆ‚ไฝ•ๆถŒ็Žฐๅ‡บไปคไบบๆƒŠๅน็š„ๆ™บ่ƒฝ๏ผŒๅธฎๅŠฉ่ฏป่€…ๆทฑๅˆป็†่งฃๅคง่ฏญ่จ€ๆจกๅž‹ไธบไฝ•่ƒฝ็”Ÿๆˆ้ซ˜่ดจ้‡็š„ไบบ็ฑปๆฐดๅนณๆ–‡ๆœฌใ€‚",rating:4.3,highlights:["ๅ…จๆ™ฏๆ‹†่งฃๆ ธๅฟƒๆŠ€ๆœฏ๏ผšๆทฑๅ…ฅๆต…ๅ‡บๅœฐ่ฎฒๆธ…ChatGPT่ƒŒๅŽ็š„็ฅž็ป็ฝ‘็ปœไธŽ่‡ชๅ›žๅฝ’ๆžถๆž„","็‹ฌ็‰น็š„ๅคงๅธˆ่ง†่ง’๏ผšๅฐ†ๅคงๆจกๅž‹่ง†ไธบโ€œ็ฎ€ๅ•็š„่ฎก็ฎ—่ง„ๅˆ™โ€ๆถŒ็Žฐๅคๆ‚ๆ™บ่ƒฝ็š„็ปไฝณ่Œƒไพ‹","ๅ…ผ้กพๆŠ€ๆœฏไธŽๅ•†ไธšๅฝฑๅ“๏ผš็ป“ๅˆ็ฎ—ๅŠ›่ง„ๆจกไธŽ่กŒไธšๅ†ฒๅ‡ป๏ผŒๅ…จ้ขๆŽข่ฎจAIๆ—ถไปฃ็š„ๆœบ้‡ไธŽๆŒ‘ๆˆ˜"]},{id:"book-0030",title:"ไบบๅทฅๆ™บ่ƒฝ๏ผš็Žฐไปฃๆ–นๆณ•๏ผˆ็ฌฌ4็‰ˆ๏ผ‰๏ผˆไธŠไธ‹ๅ†Œ๏ผ‰",author:"[็พŽ]ๆ–ฏๅ›พๅฐ”็‰นยท็ฝ—็ด (Stuart Russell) / [็พŽ]ๅฝผๅพ—ยท่ฏบ็ปดๆ ผ(Peter Norvig)",cover:"https://cdn.weread.qq.com/weread/cover/33/cpplatform_8rthznqfhsjuz5fswwn6kx/t6_cpplatform_8rthznqfhsjuz5fswwn6kx1675928213.jpg",wereadLink:"https://weread.qq.com/web/reader/fc332020813ab7942g0102ad#outline?noScroll=1",link:"https://book.douban.com/subject/36152133",tags:["ไบบๅทฅๆ™บ่ƒฝ","ๆ•™ๆ","็†่ฎบๅฎž่ทต็ป“ๅˆ","็ปๅ…ธ่‘—ไฝœ","่ฎก็ฎ—ๆœบ็ง‘ๅญฆ"],desc:"ๆœฌไนฆๆ˜ฏไบบๅทฅๆ™บ่ƒฝ้ข†ๅŸŸ็š„็ปๅ…ธๆƒๅจๆ•™ๆ๏ผŒ็ณป็ปŸใ€ๆทฑๅ…ฅๅœฐๆŽข่ฎจAI้ข†ๅŸŸ็š„็†่ฎบไธŽๅฎž่ทต๏ผŒไปฅ็ปŸไธ€้ฃŽๆ ผ่žๅˆๅฝ“ไปŠๆต่กŒ็š„AIๆ€ๆƒณไธŽๆœฏ่ฏญๅˆฐๅ‰ๆฒฟๅบ”็”จไธญ๏ผŒ็œŸๆญฃๅฎž็Žฐ็†่ฎบไธŽๅฎž่ทต็›ธ็ป“ๅˆใ€‚ๅ…จไนฆๅˆ†7ไธช้ƒจๅˆ†ๅ…ฑ28็ซ ๏ผŒ็†่ฎบ้ƒจๅˆ†ๆถต็›–้€ป่พ‘ใ€ๆฆ‚็އใ€่ฟž็ปญๆ•ฐๅญฆใ€ๆ„Ÿ็Ÿฅใ€ๆŽจ็†ใ€ๅญฆไน ใ€่กŒๅŠจๅŠๅ…ฌๅนณใ€ไฟกไปปใ€็คพไผšๅ…ฌ็›Šๅ’Œๅฎ‰ๅ…จ็ญ‰็คพไผš่ฎฎ้ข˜๏ผ›ๅฎž่ทต้ƒจๅˆ†้€‰ๅ–ๅพฎ็”ตๅญ่ฎพๅค‡ใ€ๆœบๅ™จไบบ่กŒๆ˜ŸๆŽขๆต‹ๅ™จใ€ๅœจ็บฟๆœๅŠกใ€AlphaZeroใ€ไบบๅฝขๆœบๅ™จไบบใ€่‡ชๅŠจ้ฉพ้ฉถใ€AI่พ…ๅŠฉๅŒป็–—็ญ‰็ƒญ้—จๅœบๆ™ฏใ€‚็”ฑๅŠ ๅทžๅคงๅญฆไผฏๅ…‹ๅˆฉๅˆ†ๆ กๆ•™ๆŽˆๆ–ฏๅ›พๅฐ”็‰นยท็ฝ—็ด ไธŽๅ‰่ฐทๆญŒ็ ”็ฉถๆ€ป็›‘ๅฝผๅพ—ยท่ฏบ็ปดๆ ผ่”ๅˆๆ’ฐๅ†™๏ผŒ่ขซๅ…จ็ƒ1500ๅคšๆ‰€้ซ˜ๆ ก้‡‡็”จ๏ผŒ้€‚ๅˆไฝœไธบAI็›ธๅ…ณไธ“ไธšๆœฌ็ง‘็”Ÿๅ’Œ็ ”็ฉถ็”Ÿๆ•™ๆ๏ผŒไนŸๅฏไฝœไธบไธ“ไธšไบบๅ‘˜็š„ๅ‚่€ƒไนฆใ€‚",rating:5,highlights:["ไฝ“็ณปๅฎŒๆ•ด่ฆ†็›–้ขๅนฟ๏ผŒ7ไธช้ƒจๅˆ†28็ซ ๆž„ๆˆ่‡ชๆดฝ็š„AI็†่ฎบไธป็บฟ๏ผŒๆถต็›–ๆ ธๅฟƒ็†่ฎบไธŽๅ‰ๆฒฟ่ฎฎ้ข˜","็†่ฎบไธŽๅฎž่ทตๅนถ้‡๏ผŒๆ—ข้˜่ฟฐๆ ธๅฟƒ็ฎ—ๆณ•ไธŽๆจกๅž‹๏ผŒๅˆๅฑ•็คบๅœจ็ƒญ้—จๅœบๆ™ฏไธญ็š„่ฝๅœฐๅฎžไพ‹๏ผŒไพฟไบŽ็Ÿฅ่ฏ†่ฟ็งป","็ดง่ทŸๅ‰ๆฒฟๅ…ณๆณจ็คพไผš่ฎฎ้ข˜๏ผŒไธ“้—จ่ฎจ่ฎบAIไผฆ็†ไธŽๅฎ‰ๅ…จ๏ผŒๅผ•ๅฏผๆ€่€ƒๆŠ€ๆœฏไธŽ็คพไผš็š„ไบคไบ’่ดฃไปป","ไธ€็ซ™ๅผๆƒๅจๅ‚่€ƒ๏ผŒๅ…ผๅ…ทๆ•™ๆๅฑžๆ€งไธŽไธ“ไธšๅ‚่€ƒไปทๅ€ผ๏ผŒ้€‚้…้ซ˜ๆ กๆ•™ๅญฆไธŽไบงไธšๅฎž่ทตๅŒ้‡้œ€ๆฑ‚","็Žฐไปฃ็†ๅฟต่ดฏ็ฉฟๅง‹็ปˆ๏ผŒ้€š่ฟ‡ๆœ€ๆ–ฐๆกˆไพ‹ไฝ“็ŽฐAI่ฟ›ๅฑ•ไธŽ่กŒไธš่ถ‹ๅŠฟ๏ผŒๅ‘ˆ็Žฐโ€œๆดปโ€็š„AI็”Ÿๆ€"]},{id:"book-0031",title:"ๆจกๅž‹ๆ€็ปด๏ผš็ฎ€ๅŒ–ไธ–็•Œ็š„ไบบๅทฅๆ™บ่ƒฝๆจกๅž‹",author:"้พšๆ‰ๆ˜ฅ",cover:"https://cdn.weread.qq.com/weread/cover/26/YueWen_38601826/t6_YueWen_38601826.jpg",wereadLink:"https://weread.qq.com/web/reader/5a8326e0724d04625a8e740#outline?noScroll=1",link:"https://book.douban.com/subject/35488925/",tags:["ๆจกๅž‹ๆ€็ปด","ไบบๅทฅๆ™บ่ƒฝ","็ฎ—ๆณ•ๆจกๅž‹","ๆœบๅ™จๅญฆไน ","ๅ…ฅ้—จๅฎž่ทต"],desc:"ๆœฌไนฆ่š็„ฆโ€œๅฆ‚ไฝ•็”จๆจกๅž‹็ฎ€ๅŒ–ไธ–็•Œโ€็š„ๆ ธๅฟƒไธป้ข˜๏ผŒๅฐ†ไบบๅทฅๆ™บ่ƒฝๅœจ็ŽฐๅฎžไธšๅŠกไธญ้ขไธด็š„้šพ้ข˜ๅฝ’็บณไธบๆƒ้‡ใ€็Šถๆ€ใ€ๅบๅˆ—ใ€่กจ็คบใ€็›ธไผผใ€ๅˆ†็ฑปๅ…ญๅคง้—ฎ้ข˜๏ผŒๅนถๅ›ด็ป•่ฏฅๆก†ๆžถ่ฎฒ่งฃๅฏนๅบ”ๆจกๅž‹ๆ€่ทฏไธŽ็ฎ—ๆณ•ใ€‚ไนฆไธญๅผฑๅŒ–ๅคๆ‚ๆ•ฐๅญฆๅ…ฌๅผ๏ผŒไปฅๅคง้‡็”ŸๆดปๅŒ–ใ€ไธšๅŠกๅŒ–ๆกˆไพ‹้˜้‡Šๆจกๅž‹็†่ฎบไธŽ่ฝๅœฐๅœบๆ™ฏ๏ผŒๅธฎๅŠฉ่ฏป่€…ๅปบ็ซ‹โ€œๆจกๅž‹โ€”ๅœบๆ™ฏโ€ๆ˜ ๅฐ„ๅ…ณ็ณป๏ผŒ้™ไฝŽAIๆจกๅž‹ๅญฆไน ้—จๆง›๏ผŒๆ—ขๆ˜ฏไบบๅทฅๆ™บ่ƒฝๅˆๅญฆ่€…็š„ๅ…ฅ้—จ่ฏป็‰ฉ๏ผŒไนŸๅฏไธบไผไธšๅทฅ็จ‹ๅธˆใ€็ง‘็ ”ไบบๅ‘˜ๆไพ›ๅฎž่ทตๅ‚่€ƒ๏ผŒ้€‚ๅˆๅ„็ฑป่ฏป่€…ๅญฆไน ๅนถๅฐ†ๆจกๅž‹ๆ€็ปดๅบ”็”จๅˆฐ็”ŸๆดปไธŽๅทฅไฝœไธญใ€‚",rating:4.8,highlights:["ไปฅโ€œๅ…ญๅคง้—ฎ้ข˜โ€ๆก†ๆžถไธฒ่”AIๆจกๅž‹๏ผŒๅฏๆŒ‰ๅœบๆ™ฏๅฟซ้€Ÿๆฃ€็ดข้€‚้…็š„ๆจกๅž‹ๆ€่ทฏ","ไพง้‡่ฝๅœฐๅฎž่ทต๏ผŒๆญ้…ๅคง้‡็”ŸๆดปๅŒ–ไธŽไธšๅŠกๆกˆไพ‹๏ผŒๅŠฉๅŠ›ๅปบ็ซ‹โ€œๆจกๅž‹โ€”ๅœบๆ™ฏโ€ๆ˜ ๅฐ„","้™ไฝŽๅญฆไน ้—จๆง›๏ผŒๅฐ‘ๆ•ฐๅญฆๅ…ฌๅผใ€ๅคš็›ด่ง‚ๆกˆไพ‹๏ผŒๅ…ผ้กพๅˆๅญฆ่€…ไธŽๅทฅ็จ‹่ฝๅœฐ้œ€ๆฑ‚","ๅ—ไผ—็พคไฝ“ๅนฟๆณ›๏ผŒ้€‚้…ๅทฅ็จ‹ๅธˆใ€็ง‘็ ”ไบบๅ‘˜ๅŠๆ™ฎ้€š่ฏป่€…๏ผŒๅฏ่ฟ็งปๆจกๅž‹ๆ€็ปด่‡ณๅฎž้™…ๅœบๆ™ฏ"]},{id:"book-005",title:"ไฝ ็œ‹่ตทๆฅๅฅฝๅƒโ€ฆโ€ฆๆˆ‘็ˆฑไฝ ๏ผšAI็š„ๅทฅไฝœๅŽŸ็†ไปฅๅŠๅฎƒไธบ่ฟ™ไธชไธ–็•Œๅธฆๆฅ็š„็จ€ๅฅ‡ๅคๆ€ช",author:"่ดพๅ†…ๅฐ”ยทๆฒ™ๅ†…",cover:"https://wfqqreader-1252317822.image.myqcloud.com/cover/970/39481970/t6_39481970.jpg",wereadLink:"https://weread.qq.com/book-detail?type=1&senderVid=40710128&v=f9a32c10725a7272f9a14f9&wtheme=white&wfrom=app&wvid=40710128&scene=bottomSheetShare",link:"https://book.douban.com/subject/35407136/",tags:["ไบบๅทฅๆ™บ่ƒฝ","่ถฃๅ‘ณ็ง‘ๆ™ฎ","ๆผซ็”ป็ฎ—ๆณ•"],desc:"่ฟ™ๆ˜ฏไธ€้ƒจๅ†™็ป™ๆ™ฎ้€š่ฏป่€…็š„ไบบๅทฅๆ™บ่ƒฝ่ถฃๅ‘ณ็ง‘ๆ™ฎ่ฏป็‰ฉใ€‚ไฝœ่€…่ดพๅ†…ๅฐ”ยทๆฒ™ๅ†…็ป“ๅˆ็”ŸๆดปๅŒ–็š„ๆฏ”ๅ–ปๅ’Œ่ถ…็บงๅฏ็ˆฑ็š„ๆผซ็”ป๏ผŒๆทฑๅ…ฅๆต…ๅ‡บๅœฐ่ฎฒ่งฃไบ†AI็š„ๅŸบๆœฌๅทฅไฝœๅŽŸ็†ใ€ๅฎž้™…ๅบ”็”จๅŠๅ…ถๅฑ€้™ๆ€งใ€‚ไนฆไธญ้€š่ฟ‡ๅคง้‡ๅนฝ้ป˜็š„AIๅฎž้ชŒไธŽโ€œ็ฟป่ฝฆโ€ๆกˆไพ‹๏ผŒๅธฆ้ข†่ฏป่€…ๅœจ่ฝปๆพๆง่…น็š„ๆฐ›ๅ›ดไธญ๏ผŒๅ‡†็กฎ็†่งฃ็ฎ—ๆณ•่ƒฝๅšไป€ไนˆใ€ไธ่ƒฝๅšไป€ไนˆใ€‚",rating:4.2,highlights:["ๅนฝ้ป˜ๅฏ็ˆฑ็š„ๆผซ็”ปๅฏผ่งˆ๏ผš็”จๆ’ๅ›พๅ’Œ้€šไฟ—่ฏญ่จ€ๅฐ†โ€œๆทฑๅบฆๅญฆไน โ€โ€œ็ฅž็ป็ฝ‘็ปœโ€็ญ‰ๆŠฝ่ฑกๆฆ‚ๅฟตๅฏ่ง†ๅŒ–","ไธฐๅฏŒ็š„่ถฃๅ‘ณๅฎž้ชŒๆกˆไพ‹๏ผš้€š่ฟ‡็ฒพ้€‰็š„AIโ€œ็ฟป่ฝฆโ€ๆ•…ไบ‹๏ผŒ็›ด่ง‚ๆญ็คบ็ฎ—ๆณ•่ƒŒๅŽ็š„้€ป่พ‘ไธŽๆฝœๅœจๅๅทฎ","ๅฎข่ง‚ๅปบ็ซ‹AI่ฎค็Ÿฅ๏ผšๅœจๅฑ•็คบAIๅผบๅคง่ƒฝๅŠ›็š„ๅŒๆ—ถ๏ผŒๆ˜Ž็กฎๆŒ‡ๅ‡บๅ…ถๅœจ่ฏญๅขƒ็†่งฃๅ’Œๅค„็†ๆจก็ณŠไฟกๆฏๆ—ถ็š„็Ÿญๆฟ"]},{id:"book-006",title:"AI็ปๆตŽ๏ผšๆœบๅ™จไบบๆ—ถไปฃ็š„ๅทฅไฝœใ€่ดขๅฏŒๅ’Œ็คพไผš็ฆๅˆฉ",author:"็ฝ—ๆฐยทๅธƒ็‰นๅฐ”",cover:"https://cdn.weread.qq.com/weread/cover/30/YueWen_38229387/t6_YueWen_38229387.jpg",wereadLink:"https://weread.qq.com/web/reader/653320207247558b65332f5#outline?noScroll=1",link:"https://book.douban.com/subject/35433060/",tags:["ไบบๅทฅๆ™บ่ƒฝ","็ปๆตŽๅญฆ","็คพไผšๅญฆ","ๆœชๆฅ่ถ‹ๅŠฟ"],desc:"ๆœฌไนฆ็”ฑ็Ÿฅๅ็ปๆตŽๅญฆๅฎถ็ฝ—ๆฐยทๅธƒ็‰นๅฐ”ๆ’ฐๅ†™๏ผŒ่š็„ฆAIไธŽๆœบๅ™จไบบๆŠ€ๆœฏๅฏน็ปๆตŽๅ’Œ็คพไผš็š„ๆทฑ่ฟœๅฝฑๅ“ใ€‚ไฝœ่€…ๆ‹จๅผ€่‰ฐๆถฉ็š„็ง‘ๆŠ€ๆœฏ่ฏญ๏ผŒไปŽ็ปๆตŽๅขž้•ฟใ€้€š่ดง่†จ่ƒ€ๅŠ่ดขๅฏŒๅˆ†้…็ญ‰ๅฎ่ง‚่ง†่ง’๏ผŒ็†ๆ€งๅ‰–ๆžAI้ฉๅ‘ฝๅฐ†ๅฆ‚ไฝ•้‡ๅก‘ๆˆ‘ไปฌ็š„ๅทฅไฝœใ€ๆ•™่‚ฒไธŽไผ‘้—ฒๆ–นๅผ๏ผŒไปฅไน่ง‚็š„ๅงฟๆ€ไธบ่ฟŽๆŽฅๆœชๆฅ็š„็คพไผšๅ˜้ฉๆŒ‡ๆ˜Ž่ทฏๅพ„ใ€‚",rating:4.1,highlights:["ๅฎ่ง‚็ปๆตŽ่ง†่ง’่งฃๆž๏ผšๆทฑๅ…ฅๆŽข่ฎจAIๅฏน็ปๆตŽๅขž้•ฟใ€้€š่ดง่†จ่ƒ€ใ€่ดขๅฏŒไธŽๆƒๅŠ›ๅˆ†้…็š„็œŸๅฎžๅฝฑๅ“","ๅ…จๆ™ฏๅผ็คพไผšๆดžๅฏŸ๏ผšๅ…จ้ขๆฃ€่ง†ๆœบๅ™จไบบๆ—ถไปฃไธ‹๏ผŒไบบ็ฑปๆ•™่‚ฒไฝ“็ณปใ€ๅทฅไฝœๆจกๅผไธŽไผ‘้—ฒๅฝขๆ€็š„ๆทฑๅˆปๅ˜้ฉ","็†ๆ€งไน่ง‚็š„ๆœชๆฅๆŒ‡ๅ—๏ผšๆ‹’็ปๆŠ€ๆœฏๆๆ…Œ๏ผŒไธบไธชไบบไธŽ็คพไผšๅœจๅ˜่ฟ็š„ไธ–็•Œไธญๆไพ›ๆธ…ๆ™ฐๅฏ่กŒ็š„ๅบ”ๅฏน่ฎกๅˆ’"]}],Ie=[{id:"book-007",title:"ๅšๅฏนไบงๅ“",author:"้˜ฟๅฐ”่ดๆ‰˜ยท็ดข็ปดไบš",cover:"https://cdn.weread.qq.com/weread/cover/53/YueWen_40877841/t6_YueWen_40877841.jpg",wereadLink:"https://weread.qq.com/web/reader/254322a0726fbf1125472c9#outline?noScroll=1",link:"https://book.douban.com/subject/35607961/",tags:["ไบงๅ“ๆ€็ปด","ๅˆ›ไธš","ๅ•†ไธšๆ–นๆณ•่ฎบ"],slogan:"ไธบไป€ไนˆๆœ‰ไบ›ไบงๅ“ๆณจๅฎšๅคฑ่ดฅ๏ผŒๆœ‰ไบ›ไบงๅ“ๅด่ƒฝๅคง่ŽทๆˆๅŠŸ๏ผŸๆฅ่‡ช่ฐทๆญŒไธŽๆ–ฏๅฆ็ฆ็š„ไบงๅ“ๅทฅๅ…ทๅ’Œไบงๅ“ๆˆ˜ๆœฏใ€‚",desc:"่ฐทๆญŒ้ฆ–ไปปไบงๅ“ๆ€ป็›‘้˜ฟๅฐ”่ดๆ‰˜ยท็ดข็ปดไบš็ป“ๅˆๅœจ่ฐทๆญŒใ€ๆ–ฏๅฆ็ฆ็š„ๅฎžๆˆ˜็ป้ชŒไธŽ่‡ช่บซไปฃไปท้ซ˜ๆ˜‚็š„ๅˆ›ไธšๅคฑ่ดฅ็ปๅކ๏ผŒๆ€ป็ป“ๅ‡บ็š„ไธ€ๅฅ—้˜ฒ่ดฅๆ‰‹ๅ†Œใ€‚ไนฆไธญๆญ็คบไบ†ๆ–ฐไบงๅ“้ซ˜่พพ90%็š„โ€œๅธ‚ๅœบๅคฑ่ดฅๅพ‹โ€๏ผŒๅนถๅˆ›ๆ–ฐๆ€งๅœฐๆๅ‡บไบ†โ€œ้ข„ๅž‹โ€๏ผˆPreๅž‹๏ผ‰็†ๅฟต๏ผŒๆŒ‡ๅฏผๅ›ข้˜Ÿๅœจๆญฃๅผๅผ€ๅ‘ๅ‰๏ผŒไปฅๆžไฝŽ็š„ๆˆๆœฌๅ’Œ็œŸๅฎžๆ•ฐๆฎๅฟซ้€Ÿ้ชŒ่ฏๅ…ณ้”ฎๅ‡่ฎพ๏ผŒ็กฎไฟๆŠŠๅˆ›ๆ„ๆ‰“็ฃจๆˆโ€œๆญฃ็กฎ็š„ๅฎƒโ€ใ€‚",rating:4.8,highlights:["ๆญ็คบๆฎ‹้…ท็š„ๅธ‚ๅœบๅคฑ่ดฅๅพ‹๏ผšๆญฃ่ง†90%ๆ–ฐไบงๅ“ๅฟ…็„ถๅคฑ่ดฅ็š„ๅ•†ไธšๅธธๆ€๏ผŒๅนถไปฅๆญคๅ€’ๆŽจ็ ดๅฑ€็š„ๅฎžๆˆ˜ๆ–นๆณ•่ฎบ","้ฆ–ๅˆ›โ€œ้ข„ๅž‹โ€๏ผˆPreๅž‹๏ผ‰ๆฆ‚ๅฟต๏ผšๆไพ›8ๅคงๆต‹่ฏ•ๅทฅๅ…ท๏ผŒไธปๅผ ็”จๆžไฝŽๆˆๆœฌๅ’Œๅฐ่ง„ๆจก่ฏ•้”™ๅฟซ้€Ÿ้€ผ่ฟ‘ๆญฃ็กฎ็š„ไบงๅ“ๅฝขๆ€","ๅผบ่ฐƒ็œŸๅฎžๆ•ฐๆฎ้ฉฑๅŠจๅ†ณ็ญ–๏ผš่พ…ไปฅ็‰นๆ–ฏๆ‹‰ใ€่ฐทๆญŒ็ญ‰ๅฎŒๆ•ดๆกˆไพ‹ๅ›žๆบฏ๏ผŒๆ•™ๅฏผๅ›ข้˜Ÿๅฐ†ๅ†ณ็ญ–ๅปบ็ซ‹ๅœจๅฎข่ง‚่ฏๆฎ่€Œ้žไธป่ง‚็›ด่ง‰ไน‹ไธŠ"]},{id:"book-009",title:"ไฟžๅ†›ไบงๅ“ๆ–นๆณ•่ฎบ",author:"ไฟžๅ†›",cover:"https://cdn.weread.qq.com/weread/cover/47/YueWen_28165041/t6_YueWen_28165041.jpg",wereadLink:"https://weread.qq.com/web/reader/1cc3252071adc3b11cc0162#outline?noScroll=1",link:"https://book.douban.com/subject/34907971/",tags:["ไบงๅ“ๆ€็ปด","ไบงๅ“็ป็†","ไบ’่”็ฝ‘","ๆ–นๆณ•่ฎบ"],desc:"โ€œ็™พๅบฆ่ดดๅงไน‹็ˆถโ€ไฟžๅ†›ไบŒๅไฝ™ๅนดไบงๅ“ๅฎž่ทตไธŽๆ€่€ƒ็š„็ณป็ปŸๆ€ป็ป“ใ€‚ๆœฌไนฆๅฐ†ไบงๅ“็ป็†ๅฎšไน‰ไธบโ€œไปฅ็ง‘ๅญฆๆ–นๆณ•็ ”็ฉถไบบๆ€งๅนถ่ฝฌๅŒ–ไธบๅ•†ไธšๆ–นๆกˆโ€็š„ไบคๅ‰ๅญฆ็ง‘๏ผŒๆทฑๅ…ฅ่งฃๆžไบ†็”จๆˆทๆจกๅž‹ใ€ไบคๆ˜“ๆจกๅž‹ๅ’Œๅ†ณ็ญ–ๆจกๅž‹ไธ‰ๅคงๆ ธๅฟƒๆก†ๆžถ๏ผŒไธบไบงๅ“ไบบๆไพ›ไบ†ไธ€ๅฅ—ๅœจไธ็กฎๅฎš็Žฏๅขƒไธญๆƒ่กกๅคšๆ–นๅˆฉ็›Š็š„ๅฎžๆˆ˜ๆŒ‡ๅ—ใ€‚",rating:4.4,highlights:["ๆฒ‰ๆท€ไบŒๅๅนด่กŒไธš็ป้ชŒ๏ผšไปŽๅนฟไธบๆตไผ ็š„โ€œPM12ๆกโ€ๅˆฐ็ณป็ปŸๅŒ–็š„ไบงๅ“ๅ“ฒๅญฆ๏ผŒๅฑ•็Žฐ้กถๅฐ–ไบงๅ“็ป็†็š„่ฎค็Ÿฅ่ฟญไปฃๅฒ","ไธ‰ๅคงๆ ธๅฟƒๆจกๅž‹ๆ‹†่งฃ๏ผšๆทฑๅบฆๅ‰–ๆž็”จๆˆทๆจกๅž‹ไธŽไบคๆ˜“ๆจกๅž‹๏ผŒๆŒ‡ๅฏผๅฆ‚ไฝ•้€š่ฟ‡่ฎฉไบคๆ˜“ๅ‘็”Ÿๆฅๅˆ›้€ โ€œๆœ‰ๅˆฉๅฏๅ›พโ€็š„็œŸๅฎž็”จๆˆทไปทๅ€ผ","ๅ…ผ้กพ็ง‘ๅญฆไธŽไบบๆ–‡่ง†่ง’๏ผšๅผบ่ฐƒๆ‰นๅˆคๆ€งๆ€็ปด็š„่ฟ็”จ๏ผŒๅนถๆธ…ๆ™ฐๆขณ็†ไบ†ไปŽๆ–ฐไบบๅˆฐ้กถๅฐ–ๅคง็‰›็š„่ƒฝๅŠ›่ฟ›้˜ถ่ทฏๅพ„"]},{id:"book-016",title:"็ญ–็•ฅไบงๅ“็ป็†๏ผšๆจกๅž‹ไธŽๆ–นๆณ•่ฎบ",author:"้’ๅไบ”",cover:"https://cdn.weread.qq.com/weread/cover/31/cpplatform_gheeqe7hjb2czyzthzf5nm/t6_cpplatform_gheeqe7hjb2czyzthzf5nm1735654872.jpg",wereadLink:"https://weread.qq.com/web/reader/4de32800813ab98d5g01286b#outline?noScroll=1",link:"https://book.douban.com/subject/35218721/",tags:["ไบงๅ“็ป็†","็ญ–็•ฅไบงๅ“","็ฎ—ๆณ•ๆ€็ปด"],desc:"ๆœฌไนฆๅ›ด็ป•โ€œ็ญ–็•ฅไบงๅ“็ป็†โ€่ฟ™ไธ€ๅคๅˆ่ง’่‰ฒ๏ผŒ็ณป็ปŸๆ€งๅœฐๆž„ๅปบไบ†ไปŽ็†ๅฟตๅˆฐๅฎž่ทต็š„ๅฎŒๆ•ด็Ÿฅ่ฏ†ๆก†ๆžถใ€‚ไฝœ่€…ไปŽๆœบๅ™จๅญฆไน ็†่ฎบไธŽ็ปๆตŽๅญฆ่ง†่ง’ๅ‡บๅ‘๏ผŒ็ป“ๅˆๆŽจ่ใ€ๆœ็ดขใ€ๅนฟๅ‘Šใ€้ฃŽๆŽง็ญ‰ๆ ธๅฟƒไธšๅŠกๅœบๆ™ฏ๏ผŒๆทฑๅ…ฅๆต…ๅ‡บๅœฐ่ฎฒ่งฃไบ†ๅ‡ฝๆ•ฐๅปบๆจกไธŽ็ญ–็•ฅๅบ”็”จ๏ผŒๅนถๅฏน็ญ–็•ฅไบงๅ“็ป็†็š„ๆ ธๅฟƒ่ƒฝๅŠ›ไธŽๅ›ข้˜Ÿๅปบ่ฎพ็ป™ๅ‡บไบ†่ฏฆๅฐฝๆŒ‡ๅฏผใ€‚",rating:3.9,highlights:["็ณป็ปŸๅŒ–็š„่ง’่‰ฒ่ฎค็Ÿฅๅปบๆž„๏ผšๆธ…ๆ™ฐ็•Œๅฎš็ญ–็•ฅไบงๅ“็ป็†็š„ๆ—ถไปฃ่ƒŒๆ™ฏใ€่Œ่ดฃ่พน็•ŒไธŽๅทฅไฝœๅ†…ๅฎน๏ผŒไธบไปŽไธš่€…ๅคฏๅฎžๆฆ‚ๅฟตๅŸบ็ก€","่ทจๅญฆ็ง‘็š„ๆจกๅž‹ไธŽไธšๅŠก็ป“ๅˆ๏ผšๅˆฉ็”จๆœบๅ™จๅญฆไน ็š„ๅ‡ฝๆ•ฐๆ–นๆณ•่ฎบไธŽ็ปๆตŽๅญฆ็†่ฎบ๏ผŒๆทฑๅบฆๅ‰–ๆžๆŽจ่ใ€ๆœ็ดขใ€ๅนฟๅ‘Šใ€้ฃŽๆŽงๅŠๅฎšไปท็ญ‰็œŸๅฎžไธšๅŠกๅœบๆ™ฏ็š„่งฃๆณ•","็กฌๆ ธ็ฎ—ๆณ•็š„้€šไฟ—ๅŒ–่งฃๆž๏ผšๆทฑๅ…ฅๆต…ๅ‡บๅœฐๆ‹†่งฃๆœบๅ™จๅญฆไน ๆœฌ่ดจใ€ๅธธ่ง็ฎ—ๆณ•ๅŠๆทฑๅบฆๅญฆไน ๅ‰ๆฒฟๆŠ€ๆœฏ๏ผŒๅธฎๅŠฉไบงๅ“็ป็†็œŸๆญฃ็†่งฃ็ญ–็•ฅ่ƒŒๅŽ็š„ๆŠ€ๆœฏๆ”ฏๆ’‘","ๅฏ่ฝๅœฐ็š„ๅ›ข้˜Ÿๅปบ่ฎพๆŒ‡ๅ—๏ผšๅ…จ้ขๆ‹†่งฃๆ•ฐๆฎๅˆ†ๆžใ€ๆฒŸ้€šไธŽ้กน็›ฎ็ฎก็†็ญ‰ๆ ธๅฟƒ่ƒฝๅŠ›้กน๏ผŒๅนถ้’ˆๅฏนไธๅŒไบงๅ“็”Ÿๅ‘ฝๅ‘จๆœŸๆไพ›็ญ–็•ฅๅ›ข้˜Ÿ็š„็ป„ๅปบๆ€่ทฏ"]},{id:"book-008",title:"ๅˆ›้€ ๏ผš็”จ้žไผ ็ปŸๆ–นๅผๅšๆœ‰ไปทๅ€ผ็š„ไบ‹",author:"ๆ‰˜ๅฐผยทๆณ•ๅพทๅฐ”",cover:"https://cdn.weread.qq.com/weread/cover/53/cpPlatform_tzdqT27m3vyaHnX5o8Vbwk/t6_cpPlatform_tzdqT27m3vyaHnX5o8Vbwk.jpg",wereadLink:"https://weread.qq.com/web/reader/13832ac0813ab725fg018645#outline?noScroll=1",link:"https://book.douban.com/subject/36071759/",tags:["ไบงๅ“ๆ€็ปด","็ฎก็†ๅญฆ","ๅˆ›ไธš"],desc:"ๆœฌไนฆๆ˜ฏiPodใ€iPhoneใ€Nest็ญ‰็ˆ†ๆฌพไบงๅ“ๅน•ๅŽๆŽจๆ‰‹ๆ‰˜ๅฐผยทๆณ•ๅพทๅฐ”30ไฝ™ๅนด่Œไธš็ปๅކ็š„ๆ™บๆ…ง็ป“ๆ™ถใ€‚ไฝœ่€…ๆฏซๆ— ไฟ็•™ๅœฐๅˆ†ไบซไบ†ไป–ๅœจไบงๅ“่ฎพ่ฎกใ€ๅ›ข้˜Ÿ็ฎก็†ใ€่Œไธš้€‰ๆ‹ฉๅ’Œๅ…ฌๅธ็ป่ฅ็ญ‰ๆ–น้ข็š„โ€œ้žไผ ็ปŸโ€ๆ–นๆณ•่ฎบ๏ผŒๅธฎๅŠฉ่ฏป่€…ๅœจๅ„่‡ช็š„้ข†ๅŸŸๅ†…ๅˆปๆ„็ปƒไน ๅˆ›้€ ๅŠ›๏ผŒๅš็œŸๆญฃๆœ‰ไปทๅ€ผ็š„ไบ‹ใ€‚",rating:4.9,highlights:["ๆบ่‡ช้กถ็บงๅˆ›ๆ–ฐ่€…็š„ๅฎžๆˆ˜็ป้ชŒ๏ผš่ฟž็ปญๆ‰“้€ iPodใ€iPhone็ญ‰ๅˆ’ๆ—ถไปฃไบงๅ“็š„ไบฒๅކๅค็›˜ไธŽ็œŸๅฎžๅ้ขๆ•™่ฎญ","่ฆ†็›–ไปŽไธชไบบๅˆฐๅ…ฌๅธ็š„ๅฎŒๆ•ด่ทฏๅพ„๏ผš็ณป็ปŸ่งฃ็ญ”่Œไธš้€‰ๆ‹ฉใ€ไบงๅ“่ฎพ่ฎกใ€ๅ›ข้˜Ÿ็ฎก็†ไธŽไผไธš็ป่ฅ็ญ‰ๆ ธๅฟƒ้—ฎ้ข˜","ๆไพ›ๅฏๅคๅˆถ็š„โ€œ้žไผ ็ปŸโ€ๆ–นๆณ•่ฎบ๏ผšๅผบ่ฐƒโ€œไบฎ็‚นๆ€็ปดโ€ไธŽๆŒ็ปญๅค็›˜๏ผŒๆ•™ๅฏผ่ฏป่€…ไปฅๅๅธธ่ง„็š„่ง†่ง’ๅˆปๆ„็ปƒไน ๅˆ›้€ ๅŠ›"]},{id:"book-010",title:"ไบงๅ“ๆ€็ปด",author:"ๅˆ˜้ฃž",cover:"https://cdn.weread.qq.com/weread/cover/56/YueWen_25568738/t6_YueWen_25568738.jpg",wereadLink:"https://weread.qq.com/web/reader/38332ce0718625e23831fe7#outline?noScroll=1",link:"https://book.douban.com/subject/33456375/",tags:["ไบงๅ“ๆ€็ปด","ไบงๅ“็ป็†","ไธชไบบๆˆ้•ฟ","ไบ’่”็ฝ‘"],desc:"ๅฎžๆˆ˜ๆดพไบงๅ“็ป็†ๅˆ˜้ฃž็ป“ๅˆๅœจไธ€็บฟๅคงๅŽ‚็š„ไธฐๅฏŒ็ป้ชŒ๏ผŒๅ›ด็ป•ไบงๅ“ไบบๅฆ‚ไฝ•ๅฎž็Žฐ่ƒฝๅŠ›่ทƒ่ฟๅฑ•ๅผ€็š„ๅบ•ๅฑ‚่ƒฝๅŠ›ๆŒ‡ๅ—ใ€‚ๅ…จไนฆๆŽฐๅผ€ๆ‰็ขŽๅœฐ่ฎฒ่งฃไบ†่ฎค็Ÿฅ็›ฒ็‚นไธŽๅฎž่ทต็—›็‚น๏ผŒ้€š่ฟ‡โ€œ่ฎค็Ÿฅ็”จๆˆทโ€โ€œๅˆ›้€ ไปทๅ€ผโ€ๅ’Œโ€œไบงๅ“่ฝๅœฐโ€ไธ‰ๅคงๆ ธๅฟƒๆฟๅ—๏ผŒ็ณป็ปŸๆ‹†่งฃไบ†ไปŽๅปบ็ซ‹็”จๆˆทๆจกๅž‹ใ€้ซ˜่ดจ้‡ๅ†ณ็ญ–ๅˆฐๅฟซ้€Ÿ่ฟญไปฃ้ชŒ่ฏ็š„ๅฎŒๆ•ดไบงๅ“ๆ–นๆณ•่ฎบใ€‚",rating:4.2,highlights:["ไธ‰ๅคงๆ ธๅฟƒๆฟๅ—็ณป็ปŸๆ‹†่งฃ๏ผšๅฎŒๆ•ด่ฆ†็›–โ€œ่ฎค็Ÿฅ็”จๆˆทโ€โ€œๅˆ›้€ ไปทๅ€ผโ€ไธŽโ€œไบงๅ“่ฝๅœฐโ€็š„ไบงๅ“้—ญ็Žฏ","็›ดๅ‡ป็—›็‚น็š„ไธ€็บฟๅฎžๆˆ˜็ป้ชŒ๏ผšๆฏซๆ— ไฟ็•™ๅœฐๅˆ†ไบซๅฎžๆˆ˜ไธญๆ–ฐๆ‰‹่ฟซๅˆ‡้œ€่ฆๅด้šพไปฅ่Žทๅ–็š„้šๆ€ง็Ÿฅ่ฏ†","่š็„ฆๅบ•ๅฑ‚่ƒฝๅŠ›ไธŽๆ€็ปดๅ‡็ปด๏ผšไธไป…ๆ•™ๆŽˆ่ฝๅœฐๆ–นๆณ•๏ผŒๆ›ดๆณจ้‡ๅ†ณ็ญ–่ดจ้‡ไธŽๆ€็ปดๆจกๅผ็š„่ทƒ่ฟ"]},{id:"book-011",title:"ไบงๅ“ๆ€็ปด๏ผšๅˆ›ๆ–ฐ่ฎพ่ฎก็š„ๅ…ญๆกๆณ•ๅˆ™๏ผˆๅ…จๅฝฉ๏ผ‰",author:"ๅผ ๅฐๅธ…",cover:"https://wfqqreader-1252317822.image.myqcloud.com/cover/253/26687253/t6_26687253.jpg",wereadLink:"https://weread.qq.com/web/reader/a823297071973715a8202b0#outline?noScroll=1",link:"https://book.douban.com/subject/34859540/",tags:["ไบงๅ“่ฎพ่ฎก","ๅˆ›ๆ–ฐๆ€็ปด","ๆ–นๆณ•่ฎบ","่ฎพ่ฎก็ตๆ„Ÿ"],desc:"ๆœฌไนฆๅ›ด็ป•ไฝœ่€…ๅผ ๅฐๅธ…ๅคšๅนดไบงๅ“่ฎพ่ฎกๅฎž่ทตๆ€ป็ป“ๅ‡บ็š„6ๆกๅˆ›ๆ„ๅ…ฌๅผๅฑ•ๅผ€๏ผŒๆ—จๅœจๅธฎๅŠฉ่ฏป่€…็ณป็ปŸๅŒ–ๅœฐ่Žทๅ–่ฎพ่ฎก็ตๆ„Ÿๅนถ่งฃๅ†ณๅˆ›ๆ–ฐ้šพ้ข˜ใ€‚ๅ…จไนฆ้€š่ฟ‡ๅคง้‡็ปๅ…ธๆกˆไพ‹๏ผŒ่ฏฆ็ป†่งฃๆžไบ†ไปŽๅ‘ๆ•ฃๆ€่€ƒๅˆฐ้‡็ป„ๅˆ›ๆ–ฐ็š„ๅ…จ่ฟ‡็จ‹๏ผŒๅนถๅœจๆœ€ๅŽๆไพ›ไบ†ไปŽ้œ€ๆฑ‚ๅˆฐ่‰ๅ›พๅ†ๅˆฐๆœ€็ปˆๆ–นๆกˆ็š„ๅฎŒๆ•ด้กน็›ฎ่ฝๅœฐๆผ”็คบใ€‚",rating:4,highlights:["ๆ็‚ผ6ๆกๅฎž็”จ็š„ๅˆ›ๆ–ฐ่ฎพ่ฎกๅ…ฌๅผ๏ผšๅฐ†ๅ‘ๆ•ฃๆ€่€ƒไธŽ้‡็ป„ๅˆ›ๆ–ฐ็ณป็ปŸๅŒ–๏ผŒๆ‰“้€ ๅฏๅค็”จ็š„่ฎพ่ฎก็ตๆ„Ÿๅบ“","ไธฐๅฏŒ็š„็ปๅ…ธ่ฎพ่ฎกๆกˆไพ‹่งฃๆž๏ผš่ฏฆ็ป†ๅฑ•็คบโ€œ้—ฎ้ข˜+ๆ–นๆณ•โ€ใ€โ€œ1+1>2โ€็ญ‰ๆณ•ๅˆ™ๅœจ็œŸๅฎžไบงๅ“่ฎพ่ฎกไธญ็š„ๅบ”็”จ","ๅ‘ˆ็ŽฐไปŽ้œ€ๆฑ‚ๅˆฐๆ–นๆกˆ็š„่ฝๅœฐๅ…จๆต็จ‹๏ผš้€š่ฟ‡็ปผๅˆๆกˆไพ‹ๆผ”็คบๆฆ‚ๅฟตๆ‰“็ฃจไธŽ่‰ๅ›พ่ฎพ่ฎก็š„ๅฎžๆˆ˜่ฟ‡็จ‹"]}],We=[{id:"book-012",title:"ๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™",author:"่จๅธŒๅฐ”ยทๆ‹‰ๆ–‡ๅ‰ไบš",cover:"https://cdn.weread.qq.com/weread/cover/91/cpplatform_vl4abrrrqgxnry833gcrtt/t6_cpplatform_vl4abrrrqgxnry833gcrtt1677578056.jpg",wereadLink:"https://weread.qq.com/web/reader/02932980813ab7a43g012e77#outline?noScroll=1",link:"https://book.douban.com/subject/36280425/",tags:["ๅˆ›ไธš","ๅ•†ไธšๆจกๅผ","ๆž็ฎ€ไธปไน‰"],desc:"ๆœฌไนฆๆ‰“็ ดไบ†็ก…่ฐท็›ฒ็›ฎ่ฟฝๆฑ‚โ€œ็‹ฌ่ง’ๅ…ฝโ€็š„ๆ‰ฉๅผ ่ฟทๆ€๏ผŒ่š็„ฆไบŽโ€œ่ง„ๆจกไธๆ˜ฏๅ”ฏไธ€ๅ‡บ่ทฏโ€็š„ๅ•†ไธš็Žฐๅฎžใ€‚ไฝœ่€…็ป“ๅˆๅˆ›็ซ‹Gumroad็š„ไบฒ่บซ็ปๅކ๏ผŒๆๅ‡บไบ†โ€œๆž็ฎ€ๅˆ›ไธš็ป่ฅโ€็†ๅฟตใ€‚ๅ…จไนฆๆŒ‡ๅฏผๅˆ›ไธš่€…ไธŽ็ฎก็†่€…ๅฆ‚ไฝ•้€š่ฟ‡ไปŽ็คพๅŒบๅˆ‡ๅ…ฅใ€่š็„ฆๆ ธๅฟƒ่ƒฝๅŠ›ใ€็ฒพ็ฎ€ๅ›ข้˜Ÿ็ญ‰ๆ–นๅผ๏ผŒ็”จๆœ€ๅฐ‘็š„่ต„ๆบๆ‰“้€ ๅ‡บไธไป…่ƒฝๆดปไธ‹ๅŽป๏ผŒ่€Œไธ”่ฟ˜่ƒฝๆŒ็ปญ็›ˆๅˆฉ็š„โ€œๆ…ขๅ…ฌๅธโ€ใ€‚",rating:5,highlights:["้ข ่ฆ†ไผ ็ปŸ็š„ๆ‰ฉๅผ ่ฟทๆ€๏ผšๆๅ‡บ็›ˆๅˆฉ่‡ณไธŠ่€Œ้ž่ง„ๆจก่‡ณไธŠ๏ผŒๅฐ†ๆŒ็ปญ่ตš้’ฑๅ’Œๅฎž้™…ๅˆฉๆถฆไฝœไธบ่กก้‡ไผไธšๆˆๅŠŸ็š„ๆ ธๅฟƒๆ ‡ๅ‡†","ๅฏ่ฝๅœฐ็š„ๆž็ฎ€ๆณ•ๅˆ™๏ผšๆ€ป็ป“ๅ‡บโ€œ่ถŠๅฐ‘่ถŠๅฅฝโ€โ€œ็ž„ๅ‡†ๅ‰100ไธชๅฎขๆˆทโ€็ญ‰7ๆกๅˆ›ไธšๆธ…ๅ•๏ผŒๆž„ๅปบไปŽๅฎšไฝใ€ไบงๅ“ๅˆฐ้”€ๅ”ฎ็š„ๅฎŒๆ•ด้—ญ็Žฏ","็คพๅŒบ้ฉฑๅŠจ็š„ๅ•†ไธš้€ป่พ‘๏ผšๆๅ€กไปŽ่™šๆ‹Ÿ็คพๅŒบๅ…ฅๆ‰‹๏ผŒไปฅโ€œ่ดก็Œฎ-ๅˆ›ไฝœ-ๆ•™ๅญฆโ€็š„ๆ–นๅผไฝŽๆˆๆœฌ้ชŒ่ฏไบงๅ“ๅฝขๆ€ๅนถ่Žทๅ–ๆ—ฉๆœŸไฟกไปป","ๆ‰“้€ ้ซ˜้Ÿงๆ€ง็š„โ€œๆ…ขๅ…ฌๅธโ€๏ผš็ป“ๅˆ็–ซๆƒ…ไธŽ่ฟœ็จ‹ๅŠžๅ…ฌ่ƒŒๆ™ฏ๏ผŒๅฑ•็คบๅฆ‚ไฝ•้€š่ฟ‡็ฒพ็ฎ€็ป„็ป‡ๅ’Œๅˆ†ๅธƒๅผๅไฝœ๏ผŒๅœจไธ็กฎๅฎš็š„ๆ—ถไปฃไฟๆŒ็จณๅฎš็š„็Žฐ้‡‘ๆต"]},{id:"book-013",title:"ๅš้šพ่€Œๆญฃ็กฎ็š„ไบ‹๏ผš่ฟ›ๆญฅๆœ€ๅฟซ็š„ๆ–นๅผ",author:"ๅฐค้‡Œยท่Žฑๆ–‡",cover:"https://cdn.weread.qq.com/weread/cover/53/cpplatform_bunxjyygj8m9stnwcgwqqk/t6_cpplatform_bunxjyygj8m9stnwcgwqqk1728876401.jpg",wereadLink:"https://weread.qq.com/web/reader/aa032fb0813ab9461g018406#outline?noScroll=1",link:"https://book.douban.com/subject/37054102/",tags:["ๅˆ›ไธš","ไบงๅ“ๆ€็ปด","ๅ•†ไธš็ฎก็†"],desc:"Waze่”ๅˆๅˆ›ๅง‹ไบบๅฐค้‡Œยท่Žฑๆ–‡ๅ†™็ป™ๅˆ›ไธš่€…ๅ’Œ็ฎก็†่€…็š„่กŒๅŠจๆŒ‡ๅ—ใ€‚ไฝœ่€…็ป“ๅˆ่ฟž็ปญๆ‰“้€ ไธคๅฎถไผฐๅ€ผ่ถ…10ไบฟ็พŽๅ…ƒๅ…ฌๅธ็š„ๅฎžๆˆ˜็ป้ชŒ๏ผŒๆๅ‡บโ€œๅ…ˆๅš้šพไบ‹ใ€ๅ†ๅšๆญฃ็กฎไบ‹โ€็š„ๆ ธๅฟƒๅ“ฒๅญฆใ€‚ๅ…จไนฆ้€š่ฟ‡13ไธช้˜ถๆฎต็š„็ณป็ปŸๆ‹†่งฃ๏ผŒๆŒ‡ๅฏผ่ฏป่€…ๅฆ‚ไฝ•ๅฏปๆ‰พ็œŸๆญฃ็š„็”จๆˆท็—›็‚นใ€ๆž„ๅปบ้ซ˜ไปทๅ€ผไบงๅ“๏ผŒๅนถๅœจไธ็กฎๅฎš็š„็Žฏๅขƒไธญ้€š่ฟ‡ไธๆ–ญๅค็›˜ๅฎž็Žฐ่ทจ่ถŠๅผๆˆ้•ฟใ€‚",rating:4.9,highlights:["ไธ–็•Œ็บงๅˆ›ไธš่€…็š„ๅฎžๆˆ˜ๅค็›˜๏ผš่ฟž็ปญๆ‰“้€ ไธคๅฎถ็‹ฌ่ง’ๅ…ฝๅ…ฌๅธ็š„ๅˆ›ๅง‹ไบบไบฒๆŽˆ๏ผŒๆไพ›ๆžๅ…ทๅฏไฟกๅบฆ็š„็ฌฌไธ€ๆ‰‹ๅ•†ไธšๆดžๅฏŸไธŽ่ฝๅœฐ็ป้ชŒ","่ทต่กŒโ€œ้šพ่€Œๆญฃ็กฎโ€็š„ๆ ธๅฟƒๅ“ฒๅญฆ๏ผšๅผบ่ฐƒไธ่ฟฝ้€็ŸญๆœŸ็ƒญ็‚น๏ผŒ่€Œๆ˜ฏๅŽป่งฃๅ†ณๆ•ˆ็އๆžไฝŽๅด่ขซๅฟฝ่ง†็š„็—›็‚น๏ผŒไปฅๆญคๅปบ็ซ‹ๅšๅฎž็š„ๅ•†ไธšๆŠคๅŸŽๆฒณ","่ฆ†็›–ไปŽ0ๅˆฐ1็š„ๅ…จๅ‘จๆœŸๆŒ‡ๅ—๏ผš็ณป็ปŸๆ‹†่งฃไปŽๅฏปๆ‰พ็—›็‚นใ€ไบงๅ“ๆž„ๅปบใ€่ž่ต„่ฟไฝœๅˆฐๅ›ข้˜Ÿ็ฎก็†็š„13ไธชๅ…ณ้”ฎ้˜ถๆฎต๏ผŒๆไพ›ๅฏๆ“ไฝœ็š„่กŒๅŠจๆธ…ๅ•","็›ด้ขๅคฑ่ดฅ็š„ๅฟƒ็†้Ÿงๆ€งๅปบ่ฎพ๏ผšไธๅ›ž้ฟๆŒซๆŠ˜๏ผŒๅฐ†โ€œไปŽ้”™่ฏฏไธญๅญฆไน โ€ๆ็‚ผไธบๆ ธๅฟƒๆ–นๆณ•๏ผŒไธบ่บซๅค„้ซ˜ๅŽ‹็Žฏๅขƒ็š„่ฏป่€…ๆไพ›ๆƒ…ๆ„Ÿๅ…ฑ้ธฃไธŽๅฟƒ็†ๆ”ฏๆŒ","ๅนฟๆณ›็š„่ทจๅœบๆ™ฏๅบ”็”จไปทๅ€ผ๏ผšไนฆไธญ็ป™ๅ‡บ็š„ๅ†ณ็ญ–ๅทฅๅ…ทไธไป…้€‚็”จไบŽๅˆๅˆ›ๅ›ข้˜Ÿ๏ผŒๅŒๆ ท่ƒฝไธบๅคงๅ…ฌๅธๅ†…้ƒจๅˆ›ๆ–ฐๅŠไธชไบบ่Œไธš่ฎค็Ÿฅๅ‡็บงๆไพ›ๆŒ‡ๅฏผ"]},{id:"book-015",title:"ๅˆ›ๆ–ฐๅ…ฌๅธ๏ผš็šฎๅ…‹ๆ–ฏ็š„ๅฏ็คบ",author:"่‰พๅพทยทๅก็‰นๅง†",cover:"https://cdn.weread.qq.com/weread/cover/20/YueWen_814380/t6_YueWen_814380.jpg",wereadLink:"https://weread.qq.com/web/reader/2ef329605c6d2c2efeeb70d#outline?noScroll=1",link:"https://book.douban.com/subject/26314955/",tags:["ๅˆ›ๆ–ฐๆ€็ปด","็ป„็ป‡ๆ–‡ๅŒ–","ไผไธš็ฎก็†"],desc:"็šฎๅ…‹ๆ–ฏ่”ๅˆๅˆ›ๅง‹ไบบ่‰พๅพทยทๅก็‰นๅง†็ป“ๅˆใ€Š็Žฉๅ…ทๆ€ปๅŠจๅ‘˜ใ€‹ใ€Šๆœบๅ™จไบบ็“ฆๅŠ›ใ€‹็ญ‰็ปๅ…ธๅŠจ็”ป็š„ๅน•ๅŽๅˆถไฝœๆ•…ไบ‹๏ผŒๆทฑๅบฆๆญ็คบไบ†็šฎๅ…‹ๆ–ฏๅฆ‚ไฝ•้•ฟๆœŸไฟๆŒๅˆ›ๆ„้ข†ๅ…ˆ็š„็ง˜ๅฏ†ใ€‚ๆœฌไนฆไธไป…่ฏฆ่ฟฐไบ†็šฎๅ…‹ๆ–ฏไปŽๅˆๅˆ›ๅˆฐๅฃฎๅคง็š„ๅކ็จ‹๏ผŒๆ›ดๆŠฝไธๅ‰ฅ่Œงๅœฐ่งฃๆžไบ†ๅ…ถๅœจๅ›ข้˜Ÿๆ–‡ๅŒ–ใ€่ทจ้ƒจ้—จๅไฝœใ€ไบบๆ‰ๅŸนๅ…ปๅ’Œๅ…่ฎธๅคฑ่ดฅ็ญ‰ๆ–น้ข็š„็‹ฌ็‰นๅˆ›ๆ„็ฎก็†ๆœบๅˆถ๏ผŒไธบๅ„็ฑป็ป„็ป‡ๆไพ›ไบ†ๅฏๅคๅˆถ็š„ๅˆ›ๆ–ฐๆŒ‡ๅ—ใ€‚",rating:4.5,highlights:["ๆญ็ง˜โ€œ็šฎๅ…‹ๆ–ฏๅฅ‡่ฟนโ€่ƒŒๅŽ็š„็ฎก็†ๅ“ฒๅญฆ๏ผš้€š่ฟ‡14้ƒจ็ปๅ…ธๅŠจ็”ป็š„็œŸๅฎžๅน•ๅŽๆ•…ไบ‹๏ผŒๅฑ•็คบๅˆ›ๆ„ไปŽๆ— ๅˆฐๆœ‰ใ€ๅ†ๅˆฐ็ฅจๆˆฟๅฃ็ข‘ๅŒ่ตข็š„ๅ…จ่ฟ‡็จ‹","ๆทฑๅบฆ่งฃๆžๅˆ›ๆ–ฐๅœŸๅฃค็š„ๆญๅปบ๏ผš้˜่ฟฐๅฆ‚ไฝ•้€š่ฟ‡ๅ…่ฎธๅคฑ่ดฅ็š„ๆ–‡ๅŒ–ใ€ๆต็จ‹่ฎพ่ฎกๅ’Œๆฟ€ๅŠฑๆœบๅˆถ๏ผŒๅฐ†โ€œไธๆ–ญๆŽจๅŠจๅˆ›ๆ–ฐโ€ๅฝปๅบ•่žๅ…ฅๅ…ฌๅธDNA","ๆไพ›่ทจ่กŒไธšๅฏๅค็”จ็š„็ฎก็†ๅทฅๅ…ท๏ผšๆ€ป็ป“้กน็›ฎ็ซ‹้กนใ€่ทจ้ƒจ้—จๅไฝœไธŽ้ฃŽ้™ฉๆŽงๅˆถ็š„ๅ…ทไฝ“ๅšๆณ•๏ผŒไธบไธๅŒ่ง„ๆจกๅ’Œ่กŒไธš็š„ไผไธšๆไพ›่ฝๅœฐ็š„ๅฎžๆˆ˜ๆจกๆฟ"]},{id:"book-017",title:"้‡ๆฅ๏ผšๆ›ดไธบ็ฎ€ๅ•็š„ๅ•†ไธšๆ€็ปด",author:"่ดพๆฃฎยทๅผ—้‡Œๅพท / ๆˆด็ปดยทๆตทๆถ…่ฟˆๅฐ”ยทๆฑ‰ๆฃฎ",cover:"https://cdn.weread.qq.com/weread/cover/1/YueWen_635904/t6_YueWen_635904.jpg",wereadLink:"https://weread.qq.com/web/reader/0363228059b4000363b29e9#outline?noScroll=1",link:"https://book.douban.com/subject/5320866/",tags:["ๅ•†ไธšๆ€็ปด","ๅˆ›ไธš","ไผไธš็ฎก็†","ๆž็ฎ€ไธปไน‰"],desc:"37signals่”ๅˆๅˆ›ๅง‹ไบบๅŸบไบŽๅๅนดๅˆ›ไธšๅฎžๆˆ˜็ป้ชŒ๏ผŒๅ†™็ป™่ŒๅœบไบบไธŽๅˆ›ไธš่€…็š„ๆž็ฎ€ๅ•†ไธšๆณ•ๅˆ™ใ€‚ๆœฌไนฆๆ‘’ๅผƒไบ†ไผ ็ปŸ็š„MBAๆœฏ่ฏญไธŽๅคๆ‚็š„ๅ•†ไธšๆ•™ๆก๏ผŒไปฅโ€œ่พ›่พฃใ€็›ดๆŽฅใ€้ ่ฐฑโ€็š„่ฏญ่จ€๏ผŒ้ข ่ฆ†ไบ†ๅ…ณไบŽ้กน็›ฎ็ฎก็†ใ€ไบบๆ‰ๆ‹›่˜ใ€ไบงๅ“่ฎพ่ฎกไธŽไผไธšๆ–‡ๅŒ–็š„ๅธธ่ง„่ฎค็Ÿฅ๏ผŒๆ•™ๅฏผ่ฏป่€…ๅฆ‚ไฝ•ๅœจ็œŸๅฎž็š„ๅ•†ไธšไธ–็•Œไธญโ€œๅšๆ›ดๅฐ‘๏ผŒไฝ†ๅˆ›้€ ๆ›ดๅคšไปทๅ€ผโ€ใ€‚",rating:4.3,highlights:["้ข ่ฆ†ไผ ็ปŸ็š„ๆž็ฎ€ๅ•†ไธšๅ“ฒๅญฆ๏ผšๅๅ›ๅคๆ‚็š„ๅ•†ไธšๆ•™ๆก๏ผŒไธปๅผ โ€œๅšๆ›ดๅฐ‘๏ผŒๅˆ›้€ ๆ›ดๅคšโ€๏ผŒ้€š่ฟ‡ๆœ€ๅฐๅฏ่กŒๆญฅ้ชค้™ไฝŽ่ฏ•้”™ๆˆๆœฌๅนถๅฟซ้€Ÿ่ฟญไปฃ","ๆบ่‡ช37signals็š„ๅๅนดๅฎžๆˆ˜็ฒพ้ซ“๏ผš่ฆ†็›–ไปŽ้กน็›ฎ็ฎก็†ใ€ไบงๅ“่ฎพ่ฎกๅˆฐๅธ‚ๅœบ่ฅ้”€็š„ๅฎŒๆ•ด้“พๆก๏ผŒๆไพ›ไธ่ฎฒๅบŸ่ฏใ€ๆ‹ฟๆฅๅณ็”จ็š„่กŒๅŠจๆŒ‡ๅ—","้‡ๅก‘่ŒๅœบไธŽๅ›ข้˜Ÿ็ฎก็†็š„่ฎค็Ÿฅ๏ผšๆๅ‡บ่ฏธๅคšๅŠกๅฎžไธ”ๅๅธธ่ง„็š„่ง‚็‚น๏ผˆๅฆ‚ไธฅ่‹›็š„็ฎ€ๅކ็ญ›้€‰ๆ ‡ๅ‡†๏ผ‰๏ผŒๆ‰“้€ ๅŸบไบŽไฟกไปปไธŽ็ป“ๆžœๅฏผๅ‘็š„้ซ˜ๆ•ˆๅ›ข้˜Ÿ","้€‚็”จ้ขๆžๅนฟ็š„ๅฎžๆ“ๆ‰‹ๅ†Œ๏ผšๆ— ่ฎบๆ˜ฏๅฏปๆฑ‚็ช็ ด็š„็ฒพ่‹ฑไผไธšๅฎถใ€ๅฐๅ›ข้˜Ÿๅˆ›ไธš่€…๏ผŒ่ฟ˜ๆ˜ฏๆธดๆœ›ๆๅ‡ๅทฅไฝœๆ•ˆ็އ็š„ๆ™ฎ้€š่Œๅœบไบบ๏ผŒ้ƒฝ่ƒฝ็›ดๆŽฅๅฏน็…ง่ฝๅœฐ"]},{id:"book-018",title:"้‡ๆฅ2๏ผšๆ›ดไธบ็ฎ€ๅ•้ซ˜ๆ•ˆ็š„่ฟœ็จ‹ๅทฅไฝœๆ–นๅผ",author:"่ดพๆฃฎยทๅผ—้‡Œๅพท / ๆˆด็ปดยทๆตทๆถ…่ฟˆๅฐ”ยทๆฑ‰ๆฃฎ",cover:"https://cdn.weread.qq.com/weread/cover/38/YueWen_635721/t6_YueWen_635721.jpg",wereadLink:"https://weread.qq.com/web/reader/46b3220059b34946b517012#outline?noScroll=1",link:"https://book.douban.com/subject/25861795/",tags:["ไผไธš็ฎก็†","่ฟœ็จ‹ๅทฅไฝœ","ๅทฅไฝœๆ–นๅผ","ๅ›ข้˜Ÿๅไฝœ"],desc:"Basecamp๏ผˆๅŽŸ37signals๏ผ‰ๅˆ›ๅง‹ไบบๅŸบไบŽ่‡ช่บซๅ›ข้˜Ÿๅคšๅนด็š„ๅ…จ็ƒๅˆ†ๅธƒๅผๅไฝœ็ป้ชŒ๏ผŒไธบไผไธšๅ’Œไธชไบบๆไพ›็š„ไธ€ๅฅ—่ฟœ็จ‹ๅทฅไฝœโ€œๆ€ๆƒณๅ‡็บงๅŒ…โ€ใ€‚ๆœฌไนฆ็›ด้ข่กŒไธšไบ‰่ฎฎ๏ผŒ็ ด่งฃไบ†โ€œๅˆ›ๆ–ฐๅช่ƒฝ้ขๅฏน้ขโ€ๅŠโ€œๆ–‡ๅŒ–ไผšๆทกๅŒ–โ€็ญ‰ๅธธ่ง่ฏฏๅŒบ๏ผŒๅนถ็ณป็ปŸๆไพ›ไบ†ๅ€ŸๅŠฉๅผ‚ๆญฅๆฒŸ้€šใ€ๅไฝœๅทฅๅ…ทไธŽๆต็จ‹่ฎพ่ฎกๆฅๆ‰“้€ ้ซ˜ๆ•ˆใ€ไบบๆ€งๅŒ–่ฟœ็จ‹ๅ›ข้˜Ÿ็š„ๅฎžๆˆ˜ๆŒ‡ๅ—ใ€‚",rating:4.1,highlights:["ๆไพ›ๆ€ๆƒณๅฑ‚้ข็š„โ€œๅ‡็บงๅŒ…โ€๏ผš็›ดๅ‡ปไผ ็ปŸๅŠžๅ…ฌๅฎค็—›็‚น๏ผŒ็”จ็œŸๅฎžๆ•ฐๆฎไธŽๅไพ‹ๆ‰“็ ดๅ…ณไบŽ่ฟœ็จ‹ๅŠžๅ…ฌ็š„ๅ›บๆœ‰่ฎค็Ÿฅ่ฏฏๅŒบ","็ฌฌไธ€ๆ‰‹็š„ๅˆ†ๅธƒๅผๅ›ข้˜Ÿ็ฎก็†็ป้ชŒ๏ผšBasecampๅˆ›ๅง‹ไบบไบฒๆŽˆ๏ผŒๅฑ•็คบๅฆ‚ไฝ•็ช็ ดๅœฐๅŸŸ้™ๅˆถๆ‹›ๅ‹Ÿ้กถๅฐ–ไบบๆ‰๏ผŒๅนถไฟๆŒๅฅๅบทใ€้ซ˜ๆ•ˆ็š„ๅทฅไฝœ่Š‚ๅฅ","็ณป็ปŸๅฏ่ฝๅœฐ็š„ๅทฅๅ…ทไธŽๆต็จ‹ๆ–นๆณ•๏ผš่ฏฆ่ฟฐๅฆ‚ไฝ•ๅˆฉ็”จๅไฝœๅทฅๅ…ท้™ไฝŽ็ฎก็†ๆˆๆœฌ๏ผŒ่ฎฉ่ฟœ็จ‹ๅทฅไฝœไปŽโ€œ็‰นๆฎŠ็ฆๅˆฉโ€็œŸๆญฃ่ฝฌๅ˜ไธบๅฏๆŒ็ปญ็š„ไธปๆต็ป„็ป‡ๆจกๅผ"]},{id:"book-019",title:"้‡ๆฅ3๏ผšๅšๅพ—ๆ›ดๅฐ‘๏ผŒไฝ†่ตšๅพ—ๆ›ดๅคš",author:"่ดพๆฃฎยทๅผ—้‡Œๅพท / ๆˆด็ปดยทๆตทๆถ…่ฟˆๅฐ”ยทๆฑ‰ๆฃฎ",cover:"https://cdn.weread.qq.com/weread/cover/62/cpplatform_tqth8pnlq8h9ing5uciwhi/t6_cpplatform_tqth8pnlq8h9ing5uciwhi1748502715.jpg",wereadLink:"https://weread.qq.com/web/reader/b6a32ed0813ab9fb5g015181#outline?noScroll=1",link:"https://book.douban.com/subject/37367276/",tags:["ๅทฅไฝœๆ–นๅผ","ๅๅ†…ๅท","ไผไธšๆ–‡ๅŒ–"],desc:"Basecampๅˆ›ๅง‹ไบบๅธฆๆฅ็š„โ€œๅๅ†…ๅทโ€ไธŽโ€œๅ่ฟ‡ๅบฆๅฟ™็ขŒโ€็š„็ฎก็†ๆŒ‡ๅ—ใ€‚ไฝœ่€…ๅŸบไบŽ่ฟ‘20ๅนดๅธฆ้ข†54ไบบๅ›ข้˜ŸๆœๅŠกๅ…จ็ƒ10ไธ‡ๅฎถไผไธš็š„ๆˆๅŠŸ็ป้ชŒ๏ผŒ็›ดๅ‡ป็Žฐไปฃไผไธš็›ฒ็›ฎๆ‰ฉๅผ ใ€ๆ— ๆ•ˆๅŠ ็ญ็ญ‰ๅ…ซๅคง็—‡็ป“ใ€‚ๅ…จไนฆไธปๅผ ไปฅโ€œๅ†ท้™โ€้ข ่ฆ†โ€œๅฟ™็ขŒโ€ๆ–‡ๅŒ–๏ผŒๆŒ‡ๅฏผไผไธšๅ’Œไธชไบบ้€š่ฟ‡40ๅฐๆ—ถๅทฅไฝœๅˆถใ€ๆ‹’็ปKPIๅ’Œๅผ‚ๆญฅๆฒŸ้€š็ญ‰ๆž็ฎ€ๆ–นๅผ๏ผŒๅœจไธ็‰บ็‰ฒ็”Ÿๆดป่ดจ้‡็š„ๅ‰ๆไธ‹ๅฎž็Žฐๅฅๅบทๅ‘ๅฑ•ไธŽๆŒ็ปญ็›ˆๅˆฉใ€‚",rating:4.2,highlights:["ไปฅโ€œๅ†ท้™โ€้ข ่ฆ†โ€œๅฟ™็ขŒโ€ๆ–‡ๅŒ–๏ผšๅ€กๅฏผ้ซ˜ๆ•ˆๆฏ”้ซ˜ไบงๆ›ด้‡่ฆ๏ผŒ็”จ็จณๅฎš็š„่Š‚ๅฅๆ›ฟไปฃ็–ฏ็‹‚ๅŠ ็ญ็š„ๅ†…ๅทๅธธๆ€","็›ดๅ‡ป็Žฐไปฃไผไธšๅ…ซๅคง็—‡็ป“๏ผšๆทฑๅบฆ่ฏŠๆ–ญๅฟซ้€Ÿๆ‰ฉๅผ ใ€ๆ— ๆ•ˆๅŠ ็ญใ€ไผš่ฎฎๆณ›ๆปฅไธŽ็›ฎๆ ‡็ป‘ๆžถ็ญ‰็—›็‚น๏ผŒๆไพ›ๅฏน็—‡ไธ‹่ฏ็š„ๆ€่ทฏ","ๆไพ›ๅ››ๅคงๅฏ่ฝๅœฐ็š„็ฎก็†ๅทฅๅ…ท๏ผšๅผ•ๅ…ฅ40ๅฐๆ—ถๅทฅไฝœๅˆถใ€ๆ‹’็ป็กฌๆ€งKPIใ€ๆŽจ่กŒ้žๅฎžๆ—ถๆฒŸ้€š๏ผŒๅšๆŒๅˆฉๆถฆไผ˜ๅ…ˆไบŽ่ง„ๆจก","ๆบ่‡ชBasecamp็š„็œŸๅฎžๅๅ‘ๆกˆไพ‹๏ผšๅฑ•็คบโ€œๅฐ่€Œ็พŽโ€ๅ›ข้˜Ÿๅฆ‚ไฝ•้€š่ฟ‡โ€œๅฐ‘ๅšไฝ†ๅšๅฅฝโ€็š„็ญ–็•ฅ๏ผŒ่ท‘่ตขๆ–ฐ็ปๆตŽๅนถไฟๆŒ้ซ˜ๅˆฉๆถฆ"]}],Ye=[{id:"book-024",title:"่ฆไบ‹็ฌฌไธ€",author:"ๅฒ่’‚่ŠฌยทๆŸฏ็ปด / ็ฝ—ๆฐยทๆข…้‡Œๅฐ” / ไธฝ่ดๅกยทๆข…้‡Œๅฐ”",cover:"https://cdn.weread.qq.com/weread/cover/57/yuewen_33091834/t6_yuewen_330918341686208943.jpg",wereadLink:"https://weread.qq.com/web/reader/f523268071f8f0faf52b806#outline?noScroll=1",link:"https://book.douban.com/subject/1028372/",tags:["ๆ—ถ้—ด็ฎก็†","่‡ชๆˆ‘็ฎก็†","็ปๅ…ธๆ€็ปด"],desc:"ไฝœไธบใ€Š้ซ˜ๆ•ˆ่ƒฝไบบๅฃซ็š„ไธƒไธชไน ๆƒฏใ€‹็š„ๅปถไผธไธŽๅŠ ๅผบ็‰ˆ๏ผŒๆœฌไนฆๆๅ‡บไบ†้ข ่ฆ†ไผ ็ปŸ็š„โ€œ็ฌฌๅ››ไปฃๆ—ถ้—ด็ฎก็†โ€ๆ–นๆณ•ใ€‚ไฝœ่€…ๅผบ่ฐƒ๏ผŒๆฏ”ๆๅ‡ๅšไบ‹้€Ÿๅบฆ๏ผˆๆ—ถ้’Ÿ๏ผ‰ๆ›ด้‡่ฆ็š„ๆ˜ฏๆ‰พๅ‡†ไบบ็”Ÿ็š„ๆ–นๅ‘๏ผˆ็ฝ—็›˜๏ผ‰ใ€‚ๅ…จไนฆๆŒ‡ๅฏผ่ฏป่€…้€š่ฟ‡่‡ชๆˆ‘ๆ„่ฏ†็š„่ง‰้†’๏ผŒไปฅๅŽŸๅˆ™ๅ’Œไปทๅ€ผ่ง‚ไธบไธญๅฟƒ๏ผŒๅฐ†็ฒพๅŠ›่š็„ฆไบŽโ€œ้‡่ฆ่€Œไธ็ดงๆ€ฅโ€็š„้•ฟๆœŸ็›ฎๆ ‡ไธŠ๏ผŒไปŽ่€Œๅœจ็นๅฟ™็š„็Žฐไปฃ็”Ÿๆดปไธญ็œŸๆญฃๅšๅˆฐโ€œ่ฆไบ‹็ฌฌไธ€โ€ใ€‚",rating:4.5,highlights:["ไปŽโ€œๆ—ถ้’Ÿโ€ๅˆฐโ€œ็ฝ—็›˜โ€็š„ๆ€็ปด่ทจ่ถŠ๏ผšๆ‰“็ ดไธ€ๅ‘ณ่ฟฝๆฑ‚โ€œๆ›ดๅฟซใ€ๆ›ดๅŠชๅŠ›โ€็š„ไผ ็ปŸๆ•ˆ็އ่ฟทๆ€๏ผŒ็กฎ็ซ‹ไบบ็”Ÿๆ–นๅ‘ไผ˜ๅ…ˆ็š„ๅ“ฒๅญฆ","็ปๅ…ธ็š„ๅ››่ฑก้™ๆ—ถ้—ด็ฎก็†็Ÿฉ้˜ต๏ผšๅผ•ๅฏผ่ฏป่€…่ทณๅ‡บ็ดงๆ€ฅไบ‹ๅŠก็š„โ€œๆ•‘็ซๅœˆโ€๏ผŒๅฐ†ๆ ธๅฟƒ็ฒพๅŠ›ๅ€พๆณจไบŽ็ฌฌไบŒ่ฑก้™๏ผˆ้‡่ฆไฝ†ไธ็ดงๆ€ฅ๏ผ‰็š„้ซ˜ไปทๅ€ผไบ‹ๅŠกไธญ","็”ŸๅŠจ็š„โ€œๅคง็Ÿณๅ—โ€ไผ˜ๅ…ˆๆณ•ๅˆ™๏ผš้€š่ฟ‡โ€œๅ…ˆๆ”พ็Ÿณๅคดๅ†ๅ€’ๆฐดโ€็š„็›ด่ง‚ๆฏ”ๅ–ป๏ผŒ็กฎไฟๅ…ณ้”ฎ็›ฎๆ ‡ไธŽๆ ธๅฟƒไฝฟๅ‘ฝๅœจ็ขŽ็‰‡ๅŒ–ๆ—ฅ็จ‹ไธญๅพ—ๅˆฐ็ปๅฏน็š„ไผ˜ๅ…ˆ่ฝๅฎž","ไปฅๅŽŸๅˆ™ไธบไธญๅฟƒ็š„่‡ชๆˆ‘้ฉฑๅŠจๆก†ๆžถ๏ผšไธไป…ๆไพ›ๆ—ฅ็จ‹ๅฎ‰ๆŽ’ๅทฅๅ…ท๏ผŒๆ›ด้€š่ฟ‡ๅ”ค้†’่‰ฏ็Ÿฅ๏ผŒๅธฎๅŠฉ่ฏป่€…ๅœจๅทฅไฝœใ€ๅฎถๅบญ็ญ‰ๅคšๅ…ƒ่ง’่‰ฒไธญๅฎž็Žฐ็œŸๆญฃ็š„ๅนณ่กกไธŽ็ปŸๅˆ็ปผๆ•ˆ"]},{id:"book-025",title:"ๆธ…ๅ•้ฉๅ‘ฝ",author:"้˜ฟๅ›พยท่‘›ๆ–‡ๅพท",cover:"https://cdn.weread.qq.com/weread/cover/12/cpPlatform_rudGZN3LDW5m9FBYr7rMBA/t6_cpPlatform_rudGZN3LDW5m9FBYr7rMBA.jpg",wereadLink:"https://weread.qq.com/web/reader/18332f80813ab7292g010065#outline?noScroll=1",link:"https://book.douban.com/subject/27168564/",tags:["็ฎก็†ๅญฆ","่ฎค็Ÿฅ็ง‘ๅญฆ","ๅทฅไฝœๆ•ˆ็އ"],desc:"่ฟ™ๆ˜ฏไธ€้ƒจ้’ˆๅฏน็Žฐไปฃๅคๆ‚ไธ–็•Œๆ‰€ๆ’ฐๅ†™็š„โ€œ่ฎค็Ÿฅ้˜ฒๆŠคๆ‰‹ๅ†Œโ€ใ€‚ไฝœ่€…้˜ฟๅ›พยท่‘›ๆ–‡ๅพท้€š่ฟ‡ๅŒป็–—ใ€ๅปบ็ญ‘ใ€ๆŠ•่ต„็ญ‰้ซ˜้ฃŽ้™ฉ้ข†ๅŸŸ็š„็œŸๅฎžๆกˆไพ‹๏ผŒๆญ็คบไบ†ไบบ็ฑปๅœจๆตท้‡ไฟกๆฏไธŽ้ซ˜ๅŽ‹็Žฏๅขƒไธ‹ๆžๆ˜“ๅ‡บ็Žฐ็š„ๅˆคๆ–ญ็–ๅฟฝใ€‚ไนฆไธญๆๅ‡บไบ†โ€œๆƒๅŠ›ไธ‹ๆ”พใ€็ฎ€ๅ•่‡ณไธŠใ€ไบบไธบๆ นๆœฌใ€ๆŒ็ปญๆ”นๅ–„โ€ๅ››ๅคงๅŽŸๅˆ™๏ผŒๆŒ‡ๅฏผ่ฏป่€…ๅฐ†ๆœ€ไฝณๅฎž่ทตๅค–ๅŒ–ไธบๅฏๆ“ไฝœ็š„ๆธ…ๅ•๏ผŒไปŽ่€Œๅœจๅคๆ‚็ณป็ปŸไธญๆž„ๅปบไธ€้“ไฝŽๆˆๆœฌใ€้ซ˜ๅ›žๆŠฅ็š„ๅฎ‰ๅ…จ้˜ฒ็บฟใ€‚",rating:4.6,highlights:["็›ด้ขๅคๆ‚ๆ—ถไปฃ็š„่ฎค็Ÿฅ็“ถ้ขˆ๏ผšๆญ็คบๅœจๆตท้‡ไฟกๆฏๆตไธญ๏ผŒๆธ…ๅ•ๅฆ‚ไฝ•ไฝœไธบโ€œ่ฎค็Ÿฅ้˜ฒๆŠค็ฝ‘โ€ๅผฅ่กฅไบบ็ฑป่ฎฐๅฟ†ๅŠ›ไธŽๆณจๆ„ๅŠ›ๅˆ†้…็š„ๅ…ˆๅคฉไธ่ถณ","ๆไพ›ๅ…ผๅ…ท็†ๅฟตไธŽ่ฝๅœฐ็š„ๅ››ๅคงๅŽŸๅˆ™๏ผš้€š่ฟ‡โ€œๆƒๅŠ›ไธ‹ๆ”พใ€็ฎ€ๅ•่‡ณไธŠใ€ไบบไธบๆ นๆœฌใ€ๆŒ็ปญๆ”นๅ–„โ€๏ผŒๆž„ๅปบไธ€ๅฅ—ๅฏๅค็”จ็š„ๆธ…ๅ•่ฎพ่ฎกๅ“ฒๅญฆ","ๆ‰Žๅฎž็š„ๅŒปๅญฆๅฎž่ฏ่ƒŒไนฆ๏ผšไปฅๆ‰‹ๆœฏๆ„ŸๆŸ“็އ้ชค้™็ญ‰็œŸๅฎžไธดๅบŠๆ•ฐๆฎไธบๆ”ฏๆ’‘๏ผŒ่ฏๆ˜Žๆธ…ๅ•ๆ€็ปดๅœจๅŒป็–—ใ€ๅปบ็ญ‘ใ€ๆŠ•่ต„็ญ‰้ซ˜้ฃŽ้™ฉ้ข†ๅŸŸ็š„่ทจ่กŒไธšๆ™ฎ้€‚ๆ€ง","็ฎ€ๆด่€Œๅ…ทๅŠ›้‡็š„ๆต็จ‹ๅˆ›ๆ–ฐ๏ผšๅผบ่ฐƒๆธ…ๅ•ๆœๅŠกไบŽไบบ่€Œ้žๅ–ไปฃไบบ๏ผŒๆ˜ฏๅธฎๅŠฉไธ“ไธšไบบๅฃซๅœจ้ซ˜ๅŽ‹็Žฏๅขƒไธ‹ๅฐ†ๅคๆ‚็Žฏ่Š‚ๆ˜พๆ€งๅŒ–ใ€ๆต็จ‹ๅŒ–็š„ๅฟ…ๅค‡ๅทฅๅ…ท"]},{id:"book-020",title:"ๅˆซ่ฎฉ็Œดๅญ่ทณๅ›ž่ƒŒไธŠ",author:"ๅจๅป‰ยทๅฎ‰่‚ฏไธ‰ไธ–",cover:"https://cdn.weread.qq.com/weread/cover/69/cpPlatform_7fFoBQ7dtqgABGSTskpJSN/t6_cpPlatform_7fFoBQ7dtqgABGSTskpJSN.jpg",wereadLink:"https://weread.qq.com/web/reader/9fc32010813ab7291g0196bd#outline?noScroll=1",link:"https://book.douban.com/subject/36103994/",tags:["ๆ—ถ้—ด็ฎก็†","้ข†ๅฏผๅŠ›","้กน็›ฎ็ฎก็†"],desc:"่ฟ™ๆ˜ฏไธ€้ƒจไปฅโ€œ็Œดๅญโ€็”ŸๅŠจ้šๅ–ปไปปๅŠกไธŽ่ดฃไปป็š„็ปๅ…ธ็ฎก็†ๅญฆ่‘—ไฝœใ€‚ไฝœ่€…ๅจๅป‰ยทๅฎ‰่‚ฏไธ‰ไธ–ๆทฑๅˆปๅ‰–ๆžไบ†็ฎก็†่€…ๅธธ่ขซ็ไบ‹ๆทนๆฒก็š„ๆ—ถ้—ดๅ›ฐๅขƒ๏ผŒๅนถๆๅ‡บ็ณป็ปŸๅŒ–็š„โ€œ็Œดๅญ็ฎก็†ๆณ•โ€ใ€‚้€š่ฟ‡ๆ˜Ž็กฎไปปๅŠกๅฝ’ๅฑžใ€่ดฃไปป้€’ๅ‡ไธŽๆœ‰ๆ•ˆๆŽˆๆƒ๏ผŒๆŒ‡ๅฏผ็ฎก็†่€…ๅฆ‚ไฝ•ๆŠŠไธๅฑžไบŽ่‡ชๅทฑ็š„โ€œ็Œดๅญโ€ไบคๅ‡บๅŽป๏ผŒไปŽ่€Œ้‡Šๆ”พ็ฒพๅŠ›ไธ“ๆณจไบŽๆœ€้ซ˜ไปทๅ€ผ็š„ๆˆ˜็•ฅๆ€่€ƒ๏ผŒๅฎž็Žฐๅ›ข้˜ŸไธŽไธชไบบ็š„ๅ…ฑๅŒๆˆ้•ฟใ€‚",rating:4.3,highlights:["็”ŸๅŠจๆœ‰่ถฃ็š„โ€œ็Œดๅญโ€้šๅ–ป๏ผšๅฐ†ๆžฏ็‡ฅ็š„่ดฃไปปๅˆ’ๅˆ†ไธŽไปปๅŠกๆต่ฝฌๅ…ท่ฑกๅŒ–๏ผŒ็›ดๅ‡ป่Œๅœบไธญโ€œๅฟ™็ขŒๅดไฝŽๆ•ˆโ€็š„็—›็‚น","ๅฎž็”จ้ซ˜ๆ•ˆ็š„โ€œไธ‰ๆญฅไบคๆŽฅโ€ๆณ•ๅˆ™๏ผš้€š่ฟ‡ๆ˜Ž็กฎๆœŸๆœ›ใ€ๆŽˆไบˆ่ต„ๆบไธŽ็บฆๅฎšๆฃ€ๆŸฅ็‚น๏ผŒๅฝปๅบ•้ฟๅ…ไธ‹ๅฑž็š„ๅพ…ๅŠžไปปๅŠก้‡ๆ–ฐ่ทณๅ›ž่‡ชๅทฑ่ƒŒไธŠ","้‡ๅก‘ๆ—ถ้—ด็ฎก็†ไธŽไบบๆ‰ๅŸนๅ…ปไฝ“็ณป๏ผšๆŒ‡ๅฏผ้ซ˜ๅฑ‚ๆ”พๆƒใ€ไธญๅฑ‚่พ…ๅฏผใ€ๅŸบๅฑ‚่‡ชๅ‘๏ผŒๅฐ†ไผไธš็š„ๆˆๅŠŸ็œŸๆญฃๅปบ็ซ‹ๅœจๅ‘˜ๅทฅ่‡ชไธปๆ€ง็š„ๆๅ‡ไน‹ไธŠ"]}],Te=[{id:"book-022",title:"ๅญฆไผšๆ้—ฎ๏ผˆๅŽŸไนฆ็ฌฌ12็‰ˆ๏ผ‰",author:"ๅฐผๅฐ”ยทๅธƒๆœ— / ๆ–ฏๅ›พๅฐ”็‰นยทๅŸบๅˆฉ",cover:"https://cdn.weread.qq.com/weread/cover/68/YueWen_39980443/t6_YueWen_39980443.jpg",wereadLink:"https://weread.qq.com/web/reader/e6832d3072620d9be68aabf#outline?noScroll=1",link:"https://book.douban.com/subject/35513147/",tags:["ๆ‰นๅˆคๆ€งๆ€็ปด","้€ป่พ‘ๅญฆ","่ฎค็Ÿฅ็ง‘ๅญฆ","็ปๅ…ธไนฆ"],desc:"่ฟ™ๆ˜ฏไธ€้ƒจๅŸนๅ…ปๆ‰นๅˆคๆ€งๆ€็ปด็š„็ปๅ…ธๅฎžๆˆ˜ๆŒ‡ๅ—ใ€‚ไฝœ่€…ๅฐผๅฐ”ยทๅธƒๆœ—ไธŽๆ–ฏๅ›พๅฐ”็‰นยทๅŸบๅˆฉ็ป“ๅˆ้•ฟๆœŸ็š„ๆ•™ๅญฆไธŽ็ ”็ฉถๅฎž่ทต๏ผŒๆไพ›ไบ†ไธ€ๅฅ—็ณป็ปŸๅŒ–ใ€ๅฏๆ“ไฝœ็š„ๆ้—ฎๆต็จ‹ใ€‚ๅ…จไนฆ้€š่ฟ‡ๅคง้‡็œŸๅฎžๆƒ…ๅขƒๆกˆไพ‹๏ผŒๆ•™ๅฏผ่ฏป่€…ๅฆ‚ไฝ•ๅœจไฟกๆฏๆณ›ๆปฅ็š„ๆ—ถไปฃ่ฏ†ๅˆซ้šๅซๅ‡่ฎพใ€ๅŒบๅˆ†ไบ‹ๅฎžไธŽ่ง‚็‚น๏ผŒ็”จ้ซ˜่ดจ้‡็š„โ€œๅˆคๆ–ญๆ€ง้—ฎ้ข˜โ€็œ‹้€ไบ‹็‰ฉๆœฌ่ดจ๏ผŒไปŽ่€Œๅšๅ‡บๆ›ด็†ๆ€ง็š„ๅ†ณ็ญ–ใ€‚",rating:5,highlights:["่š็„ฆๆ‰นๅˆคๆ€งๆ€่€ƒ็š„ๆ ธๅฟƒ่ƒฝๅŠ›๏ผš็ณป็ปŸๆ‹†่งฃโ€œๅฆ‚ไฝ•ๆๅ‡บๅฅฝ้—ฎ้ข˜โ€็š„ๆ€็ปด่ฟ‡็จ‹๏ผŒๅธฎๅŠฉ่ฏป่€…ๅœจๅคๆ‚ไฟกๆฏไธญ่ฟ…้€ŸๆŠ“ไฝๆœฌ่ดจ","ๆไพ›ๅฏ่ฝๅœฐ็š„ๆ้—ฎไธŽ่ฏ„ไผฐๆก†ๆžถ๏ผšไปŽ่ƒŒๆ™ฏไฟกๆฏใ€ๅ…ณ้”ฎๆฆ‚ๅฟตๅˆฐ้€ป่พ‘ๆŽจ็†๏ผŒๆž„ๅปบไธ€ๆกๅฎŒๆ•ด็š„ๅˆคๆ–ญๆ€ง้—ฎ้ข˜้“พๆก","ไธฐๅฏŒ็š„็œŸๅฎžๅœบๆ™ฏๅบ”็”จ็คบ่Œƒ๏ผš็ป“ๅˆ่ฏพๅ ‚่ฎจ่ฎบใ€ๅ†™ไฝœใ€ๆ—ฅๅธธๆฒŸ้€šไธŽ่Œๅœบๅ†ณ็ญ–็ญ‰ๅคšๅ…ƒๅœบๆ™ฏ๏ผŒ่ฎฉ็†่ฎบ่ƒฝโ€œ็ซ‹ๅณไธŠๆ‰‹โ€","ๆ‰“้€ ๅฎž็”จ็š„ๆ€่€ƒๆฃ€ๆŸฅๅ•๏ผšไธไป…่ฎฒ้€โ€œๆ้—ฎ็š„ไปทๅ€ผโ€๏ผŒๆ›ดๆไพ›ๅฏ็›ดๆŽฅ่ฝฌๅŒ–ไธบๆ—ฅๅธธไน ๆƒฏ็š„ๆ€็ปดๆฃ€ๆŸฅ่กจ๏ผŒๅŠฉไฝ ๆœ‰ๆ•ˆ้ฟๅผ€่ฎค็Ÿฅ้™ท้˜ฑ"]},{id:"book-026",title:"ๅฆ‚ไฝ•้˜…่ฏปไธ€ๆœฌไนฆ",author:"่Žซๆ้ป˜ยทJ. ่‰พๅพทๅ‹’ / ๆŸฅๅฐ”ๆ–ฏยท่Œƒๅคšไผฆ",cover:"https://wfqqreader-1252317822.image.myqcloud.com/cover/810/23723810/t6_23723810.jpg",wereadLink:"https://weread.qq.com/book-detail?type=1&senderVid=40710128&v=272326407169ff22272934f&wtheme=white&wfrom=app&wvid=40710128&scene=bottomSheetShare",link:"https://book.douban.com/subject/1013208/",tags:["้˜…่ฏปๆ–นๆณ•","ๆ€็ปด่ฎญ็ปƒ","็ปๅ…ธ"],desc:"้˜…่ฏป้ข†ๅŸŸ็š„โ€œๅ…ƒๆ–นๆณ•โ€ๆŒ‡ๅ—ใ€‚ไฝœ่€…่‰พๅพทๅ‹’ไธŽ่Œƒๅคšไผฆๅฐ†้˜…่ฏปๅˆ’ๅˆ†ไธบๅŸบ็ก€้˜…่ฏปใ€ๆฃ€่ง†้˜…่ฏปใ€ๅˆ†ๆž้˜…่ฏปไธŽไธป้ข˜้˜…่ฏปๅ››ไธช่ฟ›้˜ถๅฑ‚ๆฌก๏ผŒๅนถๅผบ่ฐƒ้˜…่ฏปๆ˜ฏไธ€้กนไธปๅŠจ็š„ๆ€่€ƒๆดปๅŠจใ€‚ๆœฌไนฆไธไป…ๆไพ›ไบ†ไปŽโ€œๅฟซ้€Ÿ็•ฅ่ฏปโ€ๅˆฐโ€œ็ณป็ปŸๆ‹†่งฃ่ฎบ็‚นโ€็š„ๅฎžๆ“ๆŠ€ๅทง๏ผŒๆ›ด่‡ดๅŠ›ไบŽ้€š่ฟ‡ๆ้—ฎใ€ๅฝ’็บณไธŽๆ‰นๅˆค๏ผŒๅฐ†้˜…่ฏป่ฝฌๅŒ–ไธบ่ฎญ็ปƒ็†่งฃๅŠ›ใ€ๆ‰นๅˆคๅŠ›ไธŽ็ปˆ่บซๅญฆไน ็š„็ปˆๆžๅทฅๅ…ทใ€‚",rating:5,highlights:["ๆž„ๅปบ็ณป็ปŸ็š„ๅ››็บง้˜…่ฏปๆก†ๆžถ๏ผšไปŽๆฃ€่ง†้˜…่ฏปๅˆฐๅˆ†ๆž้˜…่ฏปๅ†ๅˆฐไธป้ข˜้˜…่ฏป๏ผŒไธบ่ฏป่€…ๆไพ›ไบ†ไธ€ๅฅ—ไปŽๅ…ฅ้—จๅˆฐ็ฒพ้€š็š„่ฟ›้˜ถ่ทฏๅพ„","ๅผบ่ฐƒโ€œไธปๅŠจไธŽๆ‰นๅˆคโ€็š„้˜…่ฏป่ง‚๏ผšๆ‹’็ป่ขซๅŠจๆŽฅๆ”ถ๏ผŒๆ•™ๅฏผ่ฏป่€…ๅฆ‚ไฝ•้€š่ฟ‡ๆ้—ฎใ€ๅฝ’็บณไธŽๅๆ€๏ผŒ็œŸๆญฃๅฐ†ไฝœ่€…็š„ๆดž่ง่ฝฌๅŒ–ไธบ่‡ชๅทฑ็š„่ฎค็Ÿฅ","้ซ˜ๆ•ˆ็š„ๆฃ€่ง†้˜…่ฏปๆŠ€ๅทง๏ผšๆไพ›ๅฆ‚ไฝ•ๅœจๆœ‰้™ๆ—ถ้—ดๅ†…้€š่ฟ‡็œ‹็›ฎๅฝ•ใ€ๆŒ‘้‡็‚น็ญ‰ๆ–นๅผ๏ผŒๅฟซ้€Ÿ็ญ›้€‰ๅนถๅˆคๆ–ญไนฆ็›ฎไปทๅ€ผ็š„ๆ ธๅฟƒ่ƒฝๅŠ›","่ทจๆ—ถไปฃ็š„็ปๅ…ธๆ•ˆ่ƒฝ๏ผš่‡ช1940ๅนด้—ฎไธ–ไปฅๆฅ้•ฟ็››ไธ่กฐ๏ผŒๅ…ถๅฏน้€ป่พ‘ๆ‹†่งฃไธŽๆทฑๅบฆๆ€่€ƒ็š„ๆŒ‡ๅฏผ๏ผŒๆ˜ฏๆๅ‡ๆ‰€ๆœ‰็Ÿฅ่ฏ†ๅธๆ”ถๆ•ˆ็އ็š„โ€œๆ€ปๅผ€ๅ…ณโ€"]},{id:"book-023",title:"ๆฃ€็ดขๅŠ›๏ผšๆ‰“็ ดไฟกๆฏๅทฎ็š„็ง‘ๅญฆๆ–นๆณ•",author:"้พš่Š™่“‰",cover:"https://cdn.weread.qq.com/weread/cover/58/cpplatform_feaxemubry47bnkzylqzwv/t6_cpplatform_feaxemubry47bnkzylqzwv1716796541.jpg",wereadLink:"https://weread.qq.com/web/reader/9de32810813ab8e00g018130#outline?noScroll=1",link:"https://book.douban.com/subject/36899979/",tags:["ไฟกๆฏ็ด ๅ…ป","ๆฃ€็ดข่ƒฝๅŠ›","ๆ€็ปด่ฎค็Ÿฅ"],desc:"ๆœฌไนฆ่š็„ฆโ€œๆฃ€็ดขๅŠ›โ€่ฟ™ไธ€ๆ ธๅฟƒๆŠ€่ƒฝ๏ผŒๆ—จๅœจๅธฎๅŠฉ่ฏป่€…ๅœจไฟกๆฏ่ฟ‡่ฝฝ็š„ๆ—ถไปฃไธปๅŠจๆŽŒๆกโ€œ้€†้ฃŽ่€Œ่กŒโ€็š„ๆœ็ดข่ƒฝๅŠ›ใ€‚ไฝœ่€…้พš่Š™่“‰็ป“ๅˆไบŒๅไฝ™ๅนดๅฎž่ทต็ป้ชŒ๏ผŒ็”จ็”ŸๅŠจ็š„ไบบๆ–‡ไธŽ่ฏบ่ดๅฐ”ๅฅ–็บง็ง‘ๅญฆๆกˆไพ‹๏ผŒๅฐ†ๆžฏ็‡ฅ็š„ๆฃ€็ดขๅทฅๅ…ทๅŒ–ไธบๆœ‰่ถฃ็š„ๆ•…ไบ‹ใ€‚ไธไป…ๆ•™ๆŽˆ้ž็บฟๆ€งใ€่ฟญไปฃๅผ็š„ๆœ็ดขๆŠ€ๅทง๏ผŒๆ›ด่‡ดๅŠ›ไบŽ้‡ๅก‘่ฏป่€…็š„ๆŽข็ฉถ็ฒพ็ฅž๏ผŒ่ต‹ไบˆๅ…ถ่ตฐๅ‡บโ€œไฟกๆฏ่Œงๆˆฟโ€็š„ๅ‹‡ๆฐ”ใ€‚",rating:4.2,highlights:["ไธฐๅฏŒ็š„่ทจๅญฆ็ง‘่ถฃๅ‘ณๆกˆไพ‹้ฉฑๅŠจ๏ผš็”จโ€œๅผ ๅ† ๆŽๆˆด็š„้ฉฌๅ…‹ๆ€ๅ่จ€โ€็ญ‰็”ŸๅŠจๆ•…ไบ‹๏ผŒๅฐ†ๆžฏ็‡ฅ็น็็š„ๆฃ€็ดขๆญฅ้ชค่ฝฌๅŒ–ไธบ่ฝปๆพ็š„ๆŽข็ดขไน‹ๆ—…","้‡ๅก‘้ž็บฟๆ€งไธŽ่ฟญไปฃ็š„ๆœ็ดขๆ€็ปด๏ผšๆ‰“็ ดๆŒ‰้ƒจๅฐฑ็ญ็š„็บฟๆ€งๆต็จ‹่ฏฏๅŒบ๏ผŒๅปบ็ซ‹ไปฅ่€ๅฟƒไธŽ็ƒญๆƒ…้ฉฑๅŠจ็š„ๅคš่ฝฎ่ฟญไปฃๆœ็ดขๅฟƒๆ€","็›ดๅ‡ป็ง‘็ ”ไธŽ่Œๅœบ็š„ๅฎž็”จ็—›็‚น๏ผšๆไพ›ๅฏๅฟซ้€Ÿ่ฝๅœฐ็š„ๅฎžๆ“ๆŒ‡ๅ—๏ผŒๅธฎๅŠฉ่ฏป่€…ๅˆ‡ๅฎž็ผฉ็Ÿญ็ง‘็ ”ๅ‘จๆœŸใ€ๅคงๅน…ๆๅ‡ๅทฅไฝœๆ•ˆ็އ","ๅ…ผ้กพๆŠ€่ƒฝ่ฎญ็ปƒไธŽไบบๆ–‡ๅบ•่‰ฒ๏ผšๅœจๆ•™ๆŽˆๅฆ‚ไฝ•ๅˆฉ็”จๅ’Œๅˆ›้€ ไฟกๆฏ็š„ๅŒๆ—ถ๏ผŒๆณจ้‡ๅŸนๅ…ป่ฏป่€…็š„ไฟกๆฏ็ด ๅ…ปไธŽๆ‰“็ ดไฟกๆฏๅทฎ็š„่ฎค็Ÿฅๅ‹‡ๆฐ”"]},{id:"book-027",title:"ๅŽŸๅˆ™",author:"็‘žยท่พพๅˆฉๆฌง",cover:"https://cdn.weread.qq.com/weread/cover/23/YueWen_921568/t6_YueWen_921568.jpg",wereadLink:"https://weread.qq.com/web/reader/848324405e0fe08483ab6a4#outline?noScroll=1",link:"https://book.douban.com/subject/27608239/",tags:["ๆŠ•่ต„","ๆ–นๆณ•่ฎบ","่‡ชๆˆ‘็ฎก็†"],desc:"ๆกฅๆฐดๅŸบ้‡‘ๅˆ›ๅง‹ไบบ็‘žยท่พพๅˆฉๆฌงๆ€ป็ป“ๅ››ๅไฝ™ๅนดๆŠ•่ต„ใ€็ฎก็†ไธŽไบบ็”Ÿ็ป้ชŒ็š„้›†ๅคงๆˆไน‹ไฝœใ€‚ไฝœ่€…ๆๅ‡บๅฐ†็”Ÿๆดปๅ’Œๅทฅไฝœๅƒๆœบๅ™จไธ€ๆ ท็ณป็ปŸๅŒ–๏ผŒ็กฎ็ซ‹ไบ†โ€œๆžๅบฆๆฑ‚็œŸโ€ไธŽโ€œๆžๅบฆ้€ๆ˜Žโ€ไธคๅคงๅŸบ็Ÿณ๏ผŒๅนถ้€š่ฟ‡โ€œๅˆ›ๆ„ๆ‹ฉไผ˜โ€ไธŽโ€œๅŸบไบŽๅฏไฟกๅบฆ็š„ๅ†ณ็ญ–ๆœบๅˆถโ€ๆฅ่ฟญไปฃๆ€็ปดใ€‚ไนฆไธญๅŒ…ๅซ500ๅคšๆกๅฏๆ“ไฝœๅŽŸๅˆ™๏ผŒๆ—จๅœจๅธฎๅŠฉ่ฏป่€…ๅœจๅคๆ‚ไธ–็•ŒไธญไฟๆŒๅผ€ๆ”พๅฟƒๆ€ใ€็œ‹ๆธ…็Žฐๅฎž๏ผŒๅนถๅšๅ‡บๆœ€ไผ˜ๅ†ณ็ญ–ใ€‚",rating:4.8,highlights:["โ€œๆžๅบฆๆฑ‚็œŸโ€ไธŽโ€œๆžๅบฆ้€ๆ˜Žโ€็š„ๅŸบ็Ÿณ๏ผšไธปๅผ ่ฏšๅฎž้ขๅฏน็Žฐๅฎž๏ผŒ้€š่ฟ‡ๅ…ฌๅผ€ๅ†ณ็ญ–่ฟ‡็จ‹ๆฅ่Žทๅ–ๅค–้ƒจๅ้ฆˆ๏ผŒ่พพๆˆ้ซ˜ๆ•ˆๅไฝœ","ๅˆ›ๆ„ๆ‹ฉไผ˜ไธŽๅฏไฟกๅบฆๅŠ ๆƒๆœบๅˆถ๏ผšๆ‘’ๅผƒไธชไบบๆƒๅจ๏ผŒๅˆฉ็”จๆ•ฐๆฎ้ฉฑๅŠจ็š„่ฎจ่ฎบไธŽๅฏไฟกๅบฆๆƒ้‡๏ผŒๅœจๅ›ข้˜Ÿไธญ้€‰ๅ‡บๆœ€ไผ˜ๆ–นๆกˆ","500ไฝ™ๆกๅฏ่ฝๅœฐ็š„ๅŽŸๅˆ™ๆธ…ๅ•๏ผšๆถต็›–่‡ชๆˆ‘่ฎค็Ÿฅใ€ๆŠ•่ต„ๅ†ณ็ญ–ใ€ๅ›ข้˜Ÿๆฒป็†็ญ‰ๅœบๆ™ฏ๏ผŒๆž„ๅปบๅ‡บไธ€ๅฅ—้šๆ—ถๅฏๆŸฅ็š„่กŒๅŠจๆŒ‡ๅ—","็ณป็ปŸๅŒ–็š„โ€œๆœบๅ™จโ€ๆ€็ปด๏ผšๅฐ†็”ŸๆดปไธŽ็ป„็ป‡็ฎก็†ๆ‹†่งฃไธบๅฏ็ปดๆŠคใ€ๅฏ่ฟญไปฃ็š„็ณป็ปŸ๏ผŒๆœ‰ๆ•ˆ่ง„้ฟๆƒ…็ปชๅŒ–ๅนฒๆ‰ฐ"]},{id:"book-031",title:"ไปทๅ€ผ",author:"ๅผ ็ฃŠ",cover:"https://wfqqreader-1252317822.image.myqcloud.com/cover/958/33577958/t6_33577958.jpg",wereadLink:"https://weread.qq.com/web/reader/5be32a3072005be65bef195#outline?noScroll=1",link:"https://book.douban.com/subject/35188914/",tags:["ไปทๅ€ผๆŠ•่ต„","ๅ•†ไธšๆ€็ปด","ๅˆ›ไธš"],desc:"้ซ˜็“ด่ต„ๆœฌๅˆ›ๅง‹ไบบๅผ ็ฃŠ้ฆ–้ƒจไธชไบบๅŠๆŠ•่ต„ๆ€ๆƒณ่‘—ไฝœใ€‚ๅ…จไนฆ้€š่ฟ‡ๅ›ž้กพไฝœ่€…็š„ไธชไบบๆฑ‚ๅญฆไธŽๅˆ›ไธšๅކ็จ‹๏ผŒ็ณป็ปŸ้˜้‡Šไบ†โ€œ้•ฟๆœŸไธปไน‰โ€ไธŽโ€œ้‡ไป“ไธญๅ›ฝโ€็š„ๆ ธๅฟƒๆŠ•่ต„็†ๅฟต๏ผŒๅนถ้ฆ–ๆฌกๆŠซ้œฒไบ†้ซ˜็“ดๆŠ•่ต„็š„ไธƒๅคงๅ…ฌๅผใ€‚ไฝœ่€…ๅฐ†ๅไฝ™ไธชๅ…ธๅž‹ๆŠ•่ต„ๆกˆไพ‹ไธŽไธชไบบไปทๅ€ผไฟฎๅ…ป็›ธ็ป“ๅˆ๏ผŒๆญ็คบไบ†ๅฆ‚ไฝ•ๅœจไธ็กฎๅฎš็š„ๅ•†ไธš็Žฏๅขƒไธญ๏ผŒ้€š่ฟ‡ๅšๆŒๅŽŸๅˆ™ใ€ๆ•ฌ็•่ง„ๅˆ™ไธŽๆŒ็ปญๅˆ›ๆ–ฐ๏ผŒๅˆ›้€ ้•ฟไน…ใ€็œŸๅฎž็š„ไปทๅ€ผใ€‚",rating:4.6,highlights:["็ณป็ปŸๆž„ๅปบ้•ฟๆœŸไธปไน‰ๅ“ฒๅญฆ๏ผš้ฆ–ๆฌก็ณป็ปŸๅŒ–ๆขณ็†โ€œ้ซ˜็“ดไธƒๅคงๅ…ฌๅผโ€๏ผŒไธบ่ฏป่€…ๆไพ›ไปŽ่ฎค็Ÿฅใ€ๅ†ณ็ญ–ๅˆฐๆ‰ง่กŒ็š„ไปทๅ€ผๆŠ•่ต„ๅฎžๆˆ˜ๆจกๅž‹","ๆทฑๅบฆๅค็›˜็ปๅ…ธๅฎžๆˆ˜ๆกˆไพ‹๏ผš้€š่ฟ‡่…พ่ฎฏใ€่ดงๆ‹‰ๆ‹‰็ญ‰็œŸๅฎžๅ•†ไธšๆกˆไพ‹๏ผŒๆ‹†่งฃๅฆ‚ไฝ•ๅœจๅคๆ‚ๅธ‚ๅœบไธญ่ฏ†ๅˆซไผไธšๆŠคๅŸŽๆฒณไธŽๆ ธๅฟƒไปทๅ€ผ","ๆŠ•่ต„ไน‹ๅค–็š„ไบบๆ–‡ๆ€่€ƒ๏ผšๅปถไผธ่‡ณๆ•™่‚ฒใ€ไบบๆ‰ไธŽ็ง‘ๅญฆ่ง‚๏ผŒๅฑ•็Žฐไฝœ่€…ไฝœไธบ้กถๅฐ–ๆŠ•่ต„่€…ๅฏน็คพไผš่ดฃไปปไธŽ้•ฟๆœŸไปทๅ€ผๅˆ›้€ ็š„ๆทฑๅบฆๆ€่€ƒ","ๅฏ่ง†ๅŒ–็š„้˜…่ฏปไฝ“้ชŒ๏ผš็ฒพ้€‰ๅคšๅน…ๆ‰‹็ป˜ๅฝฉๆ’ไธŽๅކๅฒๅฝฑๅƒ๏ผŒๅฐ†ๆทฑๅˆป็š„ๆŠ•่ต„้€ป่พ‘ไธŽไผไธšๆˆ้•ฟๅ™ไบ‹ๅ˜ๅพ—ๆ›ดๅŠ ็”ŸๅŠจใ€็›ด่ง‚"]},{id:"book-032",title:"็บณ็“ฆๅฐ”ๅฎๅ…ธ",author:"ๅŸƒ้‡Œๅ…‹ยทไน”ๆ นๆฃฎ / ็บณ็“ฆๅฐ”ยทๆ‹‰็ปดๅŽ็‰น",cover:"https://cdn.weread.qq.com/weread/cover/89/YueWen_44026191/t6_YueWen_44026191.jpg",wereadLink:"https://weread.qq.com/web/reader/e1e32b00729fc94fe1e824d#outline?noScroll=1",link:"https://book.douban.com/subject/35876121/",tags:["่ดขๅฏŒ็ฎก็†","ไธชไบบๆˆ้•ฟ","ๅนธ็ฆๅ“ฒๅญฆ","ๆ€็ปด่ฎค็Ÿฅ"],desc:"่ฟ™ๆ˜ฏไธ€้ƒจๆฑ‡้›†็ก…่ฐท่‘—ๅๆŠ•่ต„ไบบ็บณ็“ฆๅฐ”ยทๆ‹‰็ปดๅŽ็‰น่ฟ‡ๅŽปๅๅนดๅ…ณไบŽ่ดขๅฏŒไธŽๅนธ็ฆๆ€่€ƒ็š„่กŒๅŠจๆŒ‡ๅ—ใ€‚ๅ…จไนฆๆ‘’ๅผƒไบ†โ€œ่‡ดๅฏŒ้ ่ฟๆฐ”โ€็š„ไผ ็ปŸ่ง‚ๅฟต๏ผŒๆๅ‡บ็งฏ็ดฏ่ดขๅฏŒไธŽๅนธ็ฆ็”Ÿๆดปๆ˜ฏๅฏไปฅ้€š่ฟ‡ๅญฆไน ๆŽŒๆก็š„ๆŠ€่ƒฝใ€‚้€š่ฟ‡็ณป็ปŸๆ•ด็†ๆŽจ็‰นใ€ๆ’ญๅฎขไธŽ่ฎฟ่ฐˆไธญ็š„ๆ™บๆ…ง๏ผŒๆœฌไนฆไธบ่ฏป่€…ๆไพ›ไบ†ๅฆ‚ไฝ•ๅœจๅฟซ้€Ÿๅ˜ๅŒ–็š„็ง‘ๆŠ€ไธŽ็ปๆตŽ็Žฏๅขƒไธญ๏ผŒๅˆฉ็”จๆ ๆ†ใ€ๅ‘ๆŒฅไธชไบบ็‹ฌ็‰นๆ€ง๏ผŒ่ฟ›่€Œๅฎž็Žฐ่ดขๅŠก่‡ช็”ฑๅนถ่Žทๅพ—ๆŒไน…ๅ†…ๅฟƒๆปก่ถณ็š„ๆ–นๆณ•่ฎบใ€‚",rating:4.7,highlights:["ๅฐ†่ดขๅฏŒไธŽๅนธ็ฆ่ง†ไธบๅฏไน ๅพ—็š„ๆŠ€่ƒฝ๏ผšๆ‰“็ ด่ฟๆฐ”่ฎบ๏ผŒๅผบ่ฐƒ้€š่ฟ‡ๅปบ็ซ‹ๆ ๆ†ใ€ๅ‘ๆŒฅไธชไบบ็‹ฌ็‰นๆ€งๆฅ่Žทๅ–้ž็บฟๆ€ง็š„ๅ›žๆŠฅ","ๅๅนดๆ€ๆƒณ็š„็ณป็ปŸๅŒ–็ผ–็บ‚๏ผšๅฐ†็ขŽ็‰‡ๅŒ–็š„ไบ’่”็ฝ‘ๆ™บๆ…งๆ็‚ผไธบๆˆไฝ“็ณป็š„ๆ–นๆณ•่ฎบ๏ผŒๆ‰“้€ ไบ†ๆ•ฐๅญ—ๆ—ถไปฃไธชไบบ็š„โ€œ่กŒๅŠจๆŒ‡ๅ—โ€","ๅ…ผ้กพ่ดขๅฏŒ็งฏ็ดฏไธŽๅ†…ๅฟƒๆปก่ถณ๏ผšไธไป…ๆ•™ๅฏผๅฆ‚ไฝ•้ซ˜ๆ•ˆ่ตš้’ฑ๏ผŒๆ›ดๆทฑๅ…ฅๆŽข่ฎจๅฆ‚ไฝ•้€š่ฟ‡้˜…่ฏปใ€ๅ†ฅๆƒณไธŽ้•ฟๆœŸไธปไน‰๏ผŒๅœจ่ŒๅœบๆˆๅŠŸไธญๅฏปๆ‰พๅ†…ๅฟƒ็š„ๅฎ้™","ๆžๅ…ทๅฎžๆ“ๆ€ง็š„ๅทฅๅ…ท็ฎฑ๏ผšๆไพ›ๅฆ‚ๆทฑๅบฆๆ€่€ƒใ€ๅˆปๆ„็ปƒไน ใ€ๆž„ๅปบไธชไบบๅ“็‰Œ็ญ‰ๅ…ทไฝ“่ทฏๅพ„๏ผŒๅธฎๅŠฉ่ฏป่€…ๅœจ็ขŽ็‰‡ๅŒ–ๆ—ถไปฃๅฟซ้€Ÿๅฎž็Žฐ่‡ชๆˆ‘่ฟญไปฃ"]},{id:"book-028",title:"ไผ˜็ง€็š„็ปต็พŠ",author:"ๅจๅป‰ยทๅพท้›ท่ฐข็ปดๅฅ‡",cover:"https://cdn.weread.qq.com/weread/cover/78/cpplatform_3ncoeekcuaectlzj9hf5nr/t6_cpplatform_3ncoeekcuaectlzj9hf5nr1744626569.jpg",wereadLink:"https://weread.qq.com/web/reader/1c0324c0813ab9d91g010aba#outline?noScroll=1",link:"https://book.douban.com/subject/26747208/",tags:["ๅš้›…ๆ•™่‚ฒ","็คพไผšๅญฆ","ไธชไบบๆˆ้•ฟ"],desc:"่€ถ้ฒๅคงๅญฆๅ‰ๆ•™ๆŽˆๅจๅป‰ยทๅพท้›ท่ฐข็ปดๅฅ‡ๅฏน็พŽๅ›ฝๅธธๆ˜ฅ่—ค็ฒพ่‹ฑๆ•™่‚ฒไฝ“ๅˆถ็š„ๅฐ–้”ๆ‰นๅˆคไน‹ไฝœใ€‚ไฝœ่€…้€š่ฟ‡ไบŒๅไฝ™ๅนด็š„ๆ•™ๅญฆ่ง‚ๅฏŸ๏ผŒๆŒ‡ๅ‡บ้กถๅฐ–ๅญฆๅบœๅŸนๅ…ปๅ‡บไธ€็พค่™ฝ็„ถ่ชๆ˜Žใ€ไผ˜็ง€๏ผŒไฝ†ๆ™ฎ้็„ฆ่™‘ใ€็ผบไน็›ฎๆ ‡ๆ„Ÿไธ”ๅ”ฏๅ‘ฝๆ˜ฏไปŽ็š„โ€œไผ˜็ง€็ปต็พŠโ€ใ€‚ๆœฌไนฆๅ‘ผๅ็คพไผš้‡ๆ–ฐๅฎก่ง†ๆ•™่‚ฒ็š„ๆœฌ่ดจ๏ผŒๆ‘†่„ฑๅฏนๅๆ กไธŽ้ซ˜่–ช็š„็›ฒ็›ฎๅด‡ๆ‹œ๏ผŒๅ›žๅฝ’ๅš้›…ๆ•™่‚ฒ๏ผŒ้ผ“ๅŠฑๅญฆ็”ŸๆŽข็ดขๅ†…ๅœจ้ฉฑๅŠจๅŠ›ไธŽ่‡ชๆˆ‘ไปทๅ€ผใ€‚",rating:4.2,highlights:["็Š€ๅˆฉๅ‰–ๆž็ฒพ่‹ฑๆ•™่‚ฒๅผŠ็ซฏ๏ผš็›ดๅ‡ปๅธธๆ˜ฅ่—คไฝ“ๅˆถๅŸนๅ…ปๅ‡บโ€œ่ชๆ˜Žไฝ†ๆฒกๆœ‰็ต้ญ‚โ€็š„ๅญฆ็”Ÿ็š„็Žฐๅฎž๏ผŒๅๆ€ๅ”ฏๅๆ กไธŽๆˆ็ปฉ่ฎบ็š„ๅ•ไธ€่ฏ„ไปทไฝ“็ณป","ๅ›žๅฝ’ๅš้›…ๆ•™่‚ฒ็š„ๆ ธๅฟƒไปทๅ€ผ๏ผšๆ‰นๅˆคๅบ”่ฏ•ๅŒ–ๅ€พๅ‘๏ผŒๆๅ€ก็ป™ไบˆๅญฆ็”Ÿๆ›ดๅคšๆŽข็ดขใ€ๅคฑ่ดฅไธŽ้‡ๅก‘่‡ชๆˆ‘็š„็ฉบ้—ด๏ผŒๅผบ่ฐƒๆ•™่‚ฒ็š„ๆœฌ่ดจๅœจไบŽๅธฎๅŠฉไธชไฝ“ๆ‰พๅˆฐ่‡ชๆˆ‘","ๆไพ›ๆŒฃ่„ฑๅค–้ƒจๆœŸๅพ…็š„่ฎค็Ÿฅๆก†ๆžถ๏ผšๆ—ขไธบ่ฟท่Œซ็š„ๅนด่ฝปไบบๆŒ‡ๆ˜Žๅฆ‚ไฝ•้‡ๅปบๅ†…ๅœจๅŠจๅŠ›๏ผŒไนŸ็ป™ๅฎถ้•ฟๅ’Œๆ•™่‚ฒ่€…ๆ•ฒๅ“ไบ†ๅ…ณไบŽโ€œๆˆๅŠŸๅฎšไน‰โ€็š„่ญฆ้’Ÿ","่ทจๆ–‡ๅŒ–่ƒŒๆ™ฏไธ‹็š„ๆ•™่‚ฒๅ…ฑ้ธฃ๏ผšๅฐฝ็ฎกไปฅ็พŽๅ›ฝ็ฒพ่‹ฑๆ•™่‚ฒไธบไพ‹๏ผŒๅ…ถๅฏนโ€œๆ•™่‚ฒๅ†…ๅทโ€ไธŽโ€œ็ผบไน็›ฎๆ ‡ๆ„Ÿโ€็š„ๆ‰นๅˆค๏ผŒๅผ•ๅ‘ไบ†ๅ…จ็ƒ้ซ˜ๅŽ‹ๆ•™่‚ฒ็Žฏๅขƒไธ‹็š„ๆทฑๅฑ‚ๅ…ฑ้ธฃ"]},{id:"book-029",title:"ๆŠŠ่‡ชๅทฑๅ˜ๆˆ็จ€็ผบ่ต„ไบง",author:"ไฝ•ๆ€ๅนณ",cover:"https://cdn.weread.qq.com/weread/cover/98/cpplatform_ncqzerh3wdywn9mlc9cjna/t6_cpplatform_ncqzerh3wdywn9mlc9cjna1694085413.jpg",wereadLink:"https://weread.qq.com/web/reader/2fe326f0813ab821fg0146df#outline?noScroll=1",link:"https://book.douban.com/subject/36513648/",tags:["ไธชไบบๆˆ้•ฟ","ๆ€็ปด่ฎค็Ÿฅ","่‡ชๆˆ‘็ฎก็†","ๆŠ•่ต„็†่ดข"],desc:"่ฟ™ๆ˜ฏไธ€ไธชๅฐ†โ€œไบบ็”Ÿโ€่ง†ไฝœโ€œๅ…ฌๅธโ€ๆฅ็ป่ฅ็š„ๅฎžๆˆ˜ๆŒ‡ๅ—ใ€‚ไฝœ่€…ไฝ•ๆ€ๅนณ็ป“ๅˆ่‡ช่บซไปŽไธฅ้‡ๅฃๅƒๅˆฐๆผ”่ฎฒๅ† ๅ†›ใ€ๅ†ๅˆฐ่ฟž็ปญๅˆ›ไธšๆˆๅŠŸ็š„่ทจ่ถŠๅผ็ปๅކ๏ผŒๆๅ‡บไบ†โ€œไบบ็”Ÿๆœ‰้™ๅ…ฌๅธโ€็š„็ป่ฅๅ“ฒๅญฆใ€‚ๅ…จไนฆ้€š่ฟ‡โ€œ็”Ÿๅ‘ฝ็ซ‹ๆ–นไฝ“โ€ๆจกๅž‹๏ผŒไปŽ่ฎค็Ÿฅใ€ๅฎž่ทตใ€็ฒพๅŠ›็ฎก็†ไธ‰ไธช็ปดๅบฆๆ‹†่งฃไบ†ๅฆ‚ไฝ•้€š่ฟ‡ๆŒ็ปญ่พ“ๅ‡บไธŽ่ทจ็•Œๅญฆไน ๏ผŒๅฐ†่‡ชๅทฑๆ‰“้€ ไธบๅ…ทๆœ‰้ซ˜ๅฃๅž’ใ€ไธๅฏๆ›ฟไปฃ็š„โ€œ็จ€็ผบ่ต„ไบงโ€ใ€‚",rating:4.2,highlights:["ๆๅ‡บโ€œไบบ็”Ÿๆœ‰้™ๅ…ฌๅธโ€็ป่ฅๅ“ฒๅญฆ๏ผšๅ€กๅฏผๅฐ†่‡ชๅทฑ่ง†ไฝœๆœ€ๅ€ผๅพ—ๆŠ•่ต„็š„ไธŠๅธ‚ๅ…ฌๅธ๏ผŒ้€š่ฟ‡ไธๆ–ญๆๅ‡่ฎค็ŸฅไธŽ่ƒฝๅŠ›ๅฃๅž’๏ผŒๆŠŠโ€œไบบ็”Ÿโ€็ป่ฅๆˆ็จ€็ผบ่ต„ไบง","็ณป็ปŸๅŒ–็š„โ€œ็”Ÿๅ‘ฝ็ซ‹ๆ–นไฝ“โ€ๆจกๅž‹๏ผšไปŽ่ฎค็Ÿฅใ€ๅฎž่ทตใ€็ฒพๅŠ›็ฎก็†ไธ‰ไธช็ปดๅบฆๆž„ๅปบไธชไบบๆˆ้•ฟ้—ญ็Žฏ๏ผŒ่งฃๅ†ณๆˆ้•ฟไธญ็š„ๆ— ๅบๆ„ŸไธŽ็ขŽ็‰‡ๅŒ–้šพ้ข˜","่š็„ฆไธชไบบๆ ธๅฟƒ็ซžไบ‰ๅŠ›๏ผšๆทฑๅบฆๆ‹†่งฃ่ฎค็ŸฅๅŠ›ใ€ๅญฆไน ๅŠ›ไธŽๅ…ฑๆƒ…ๅŠ›็ญ‰็จ€็ผบ่ƒฝๅŠ›็š„่Žทๅ–่ทฏๅพ„๏ผŒๆ•™ๅฏผ่ฏป่€…ๅœจไธๅŒๅœบๆ™ฏไธญ้€š่ฟ‡ๅฎžๆˆ˜้ชŒ่ฏ่‡ชๆˆ‘ไปทๅ€ผ","้ซ˜ๅบฆๅฏๆ“ไฝœ็š„ๅทฅๅ…ทๆธ…ๅ•๏ผšๆ‘’ๅผƒ้ธกๆฑคๅผ่ฏดๆ•™๏ผŒๅฐ†่‡ชๆˆ‘ๆˆ้•ฟๆ‹†่งฃไธบๅ…ทไฝ“็š„ไน ๆƒฏๆ”น้€ ไธŽๅค็›˜ๆธ…ๅ•๏ผŒๅธฎๅŠฉ่ฏป่€…ๅœจ็—›็‚นไธŽ้ซ˜ๅ…‰ๆ—ถๅˆป้ƒฝ่ƒฝ้€š่ฟ‡ๅ้ฆˆๆœบๅˆถๅฎž็Žฐ่‡ชๆˆ‘่ฟญไปฃ"]},{id:"book-030",title:"ๆˆ้•ฟ็ฌฌไบŒๆ›ฒ็บฟ๏ผš่ทจ่ถŠSๅž‹ๆŒ็ปญๆˆ้•ฟ",author:"ๆŸฅๅฐ”ๆ–ฏยทๆฑ‰่ฟช",cover:"https://cdn.weread.qq.com/weread/cover/65/YueWen_39427437/t6_YueWen_39427437.jpg",wereadLink:"https://weread.qq.com/web/reader/15d32ed072599d6d15daa86#outline?noScroll=1",link:"https://book.douban.com/subject/35531368/",tags:["็ฎก็†ๅญฆ","ไธชไบบๆˆ้•ฟ","ไบบ็”Ÿๅ“ฒๅญฆ","ๆœชๆฅ่ถ‹ๅŠฟ"],desc:"็ฎก็†ๅคงๅธˆๆŸฅๅฐ”ๆ–ฏยทๆฑ‰่ฟช็š„โ€œไบบ็”Ÿ้•ฟ่ท‘ๆŒ‡ๅ—โ€ใ€‚ๆœฌไนฆ้€š่ฟ‡ไนฆไฟกไฝ“ๅฝขๅผ๏ผŒๆทฑๅบฆๆŽข่ฎจไบ†ๅœจๆ•ฐๅญ—ๆ—ถไปฃ่ƒŒๆ™ฏไธ‹ไธชไบบๅฆ‚ไฝ•่ฏ†ๅˆซๅนถ่ทจ่ถŠโ€œ็ฌฌไบŒๆ›ฒ็บฟโ€ใ€‚ๆฑ‰่ฟชๆŒ‡ๅ‡บ๏ผŒๆ— ่ฎบ็ป„็ป‡่ฟ˜ๆ˜ฏไธชไบบ๏ผŒ้ƒฝๅ—ๅˆถไบŽSๅž‹ๅขž้•ฟๆ›ฒ็บฟ๏ผŒๅชๆœ‰ๅœจ็ฌฌไธ€ๆ›ฒ็บฟ่กฐ้€€ๅ‰ไธปๅŠจๅธƒๅฑ€ๆ–ฐ็š„ๅขž้•ฟ็‚น๏ผŒๅนถไฟๆŒๅ†…ๅœจไปทๅ€ผ็š„็‹ฌ็ซ‹ไธŽ่ฟ›ๅŒ–๏ผŒๆ‰่ƒฝๅœจไธๆ–ญๅ˜ๅŒ–็š„็Žฏๅขƒไธญ่Žทๅพ—ๆŒ็ปญไธ”ๆœ‰ๆ„ไน‰็š„ๆˆ้•ฟใ€‚",rating:4.5,highlights:["็™พๅฒ็ฎก็†ๅคงๅธˆ็š„ไบบ็”Ÿไฝ“ๆ‚Ÿ๏ผšไปฅไนฆไฟกไฝ“ๆต“็ผฉไธ€็”Ÿ็ฎก็†็ ”็ฉถไธŽไธชไบบ็ป้ชŒ๏ผŒๆไพ›ไบ†ไปŽๆ—ถ้—ด็ปดๅบฆๅฎก่ง†ๅทฅไฝœใ€ๅญฆไน ไธŽ็”Ÿๆดป็š„ๅ…จๆ™ฏ่ง†่ง’","โ€œ็ฌฌไบŒๆ›ฒ็บฟโ€็†่ฎบ็š„ๅ…จ้ข่ฟ›้˜ถ๏ผšๆทฑๅˆปๆญ็คบ็ป„็ป‡ไธŽไธชไบบ็š„ๅ…ด่กฐ่ง„ๅพ‹๏ผŒๆ•™ๅฏผ่ฏป่€…ๅฆ‚ไฝ•ๅœจ็ฌฌไธ€ๆ›ฒ็บฟ็š„ๅท…ๅณฐๅ‰ๅฐฑไธปๅŠจๅธƒๅฑ€ๆ–ฐ็š„ๅขž้•ฟๅผ•ๆ“Ž","ๅ…จๅœบๆ™ฏไธ‹็š„ๆŒ็ปญ่ฟ›ๅŒ–ๆ–นๆกˆ๏ผšๅฐ†็ฌฌไบŒๆ›ฒ็บฟๆ€็ปด่ทจ็•Œๅบ”็”จไบŽๆ•™่‚ฒใ€่Œไธš่ง„ๅˆ’ใ€ๅฉšๅงปไธŽๅฎถๅบญไธญ๏ผŒๅผบ่ฐƒโ€œๅ˜ๅŒ–ๆ‰ๆ˜ฏๅธธๆ€โ€๏ผŒ้ผ“ๅŠฑๆŒ็ปญ่‡ชๆˆ‘้‡ๅก‘","้ขๅ‘Zไธ–ไปฃ็š„ๆธ…้†’ๅค„ๆ–น๏ผšๅœจ็ง‘ๆŠ€้ซ˜ๆญŒ็Œ›่ฟ›็š„ๆ•ฐๅญ—ๆ—ถไปฃ๏ผŒๆ้†’ๅŽไบบ้‡่ง†่ฏšไฟกใ€ๅไฝœ็ญ‰่ฝฏๅฎžๅŠ›๏ผŒไฟๆŒ็‹ฌ็ซ‹ๅˆคๆ–ญ๏ผŒ้ฟๅ…ๅœจ็ฎ—ๆณ•ไธŽ็„ฆ่™‘ไธญ่ฟทๅคฑ่‡ชๆˆ‘"]}],Me=[{id:"book-033",title:"ๆžช็‚ฎใ€็—…่ŒไธŽ้’ข้“",author:"่ดพ้›ทๅพทยทๆˆด่’™ๅพท",cover:"https://cdn.weread.qq.com/weread/cover/99/YueWen_42766048/t6_YueWen_42766048.jpg",wereadLink:"https://weread.qq.com/web/reader/843329f0728c8ee08434fb1#outline?noScroll=1",link:"https://book.douban.com/subject/1813841/",tags:["ไบบ็ฑปๅކๅฒ","ๅœฐ็†ๅ†ณๅฎš่ฎบ","็คพไผšๅญฆ","่ทจๅญฆ็ง‘"],desc:"ไธ€้ƒจ้‡ๆ–ฐๅฎšไน‰ไบบ็ฑปๅކๅฒๅ‘ๅฑ•็š„ๅฎๅคง่‘—ไฝœใ€‚ไฝœ่€…่ดพ้›ทๅพทยทๆˆด่’™ๅพท้€š่ฟ‡็”Ÿ็‰ฉๅญฆใ€ๅœฐ็†ๅญฆใ€ไบบ็ฑปๅญฆ็ญ‰ๅคšๅญฆ็ง‘ไบคๅ‰่ง†่ง’๏ผŒๅผบๆœ‰ๅŠ›ๅœฐๅ้ฉณไบ†โ€œ็งๆ—ๅ†ณๅฎš่ฎบโ€ๅ’Œโ€œ่ฅฟๆ–นๆ–‡ๆ˜Žไผ˜่ถŠ่ฎบโ€ใ€‚ไป–ๆๅ‡บ๏ผŒๅ†ณๅฎšๆ–‡ๆ˜Žๅ…ด่กฐ็š„ๅ…ณ้”ฎๅนถ้ž็งๆ—๏ผŒ่€Œๆ˜ฏ็Žฏๅขƒๅ› ็ด ใ€ๅœฐ็†ๆ ผๅฑ€ไปฅๅŠๅŠจๆค็‰ฉ้ฉฏๅŒ–็š„ๅทฎๅผ‚๏ผŒ่ฟ™ไบ›่‡ช็„ถๆกไปถ็š„ๅถ็„ถๆ€งๆœ€็ปˆๅฏผ่‡ดไบ†ๆŠ€ๆœฏใ€ๅ…็–ซๅŠ›ๅ’ŒๆƒๅŠ›็ป“ๆž„็š„ๅทฎๅผ‚๏ผŒไปŽ่€Œ้‡ๅก‘ไบ†็Žฐไปฃไธ–็•Œ็š„ๅ…จ็ƒ็‰ˆๅ›พใ€‚",rating:4.8,highlights:["้ข ่ฆ†ๆ€ง็š„ๅކๅฒ่ง‚๏ผšไปฅ็ŽฏๅขƒไธŽๅœฐ็†ๅทฎๅผ‚่งฃ้‡Šๆ–‡ๆ˜Žๅ…ด่กฐ๏ผŒๆœ‰ๅŠ›ๅ†ฒๅ‡ปไบ†้•ฟๆœŸๆต่กŒ็š„่ฅฟๆ–นๆ–‡ๆ˜Žไผ˜่ถŠ่ฎบ๏ผŒๆไพ›ไบ†็†่งฃไบบ็ฑปๅކๅฒ็š„ๅ…จๆ–ฐ่ง†่ง’","่ทจๅญฆ็ง‘็š„็ปผๅˆ็ ”็ฉถๆก†ๆžถ๏ผšๅทงๅฆ™่žๅˆ็”Ÿ็‰ฉๅญฆใ€ๅœฐ็†ๅญฆใ€ๅކๅฒๅญฆใ€็คพไผšๅญฆ็ญ‰ๅคšๅญฆ็ง‘็Ÿฅ่ฏ†๏ผŒ้‡ๅปบไบบ็ฑปๆ–‡ๆ˜Žๆผ”่ฟ›็š„้€ป่พ‘่ทฏๅพ„","็ณป็ปŸๆญ็คบๅކๅฒๆผ”ๅ˜็š„ๆœบๅˆถ๏ผšๆทฑๅ…ฅๅ‰–ๆžๅ†œไธšใ€็—…่Œไผ ๆ’ญไธŽๆŠ€ๆœฏๆƒๅŠ›ๅฆ‚ไฝ•ๅฝขๆˆ็›ธไบ’ๅผบๅŒ–็š„ๅพช็Žฏ๏ผŒๅฑ•็คบไบ†ๆ–‡ๆ˜Žๅ‘ๅฑ•่ƒŒๅŽๅคๆ‚็š„่ต„ๆบไบ’ๅŠจ","ๅ…ทๅค‡ๅ…ฌๅ…ฑๆ€ๆƒณ่€…็š„ๅฎ่ง‚่ง†้‡Ž๏ผšๅฐ†ไธฅ่ฐจ็š„็ง‘ๅญฆ็ ”็ฉถ่ฝฌๅŒ–ไธบๅฏนไบบ็ฑปๅ‘ฝ่ฟไธŽ็คพไผšๅ‘ๅฑ•็š„ๆทฑๅˆปๅๆ€๏ผŒไธบ็Žฐไปฃไบบ็†่งฃ่‡ช่บซๅœจๅކๅฒ้•ฟๆฒณไธญ็š„ไฝ็ฝฎๆไพ›ไบ†็ปไฝณๅ‚็…ง"]},{id:"book-034",title:"ไธญๅ›ฝ็คพไผšๅ„้˜ถๅฑ‚ๅˆ†ๆž",author:"ๆขๆ™“ๅฃฐ",cover:"https://cdn.weread.qq.com/weread/cover/0/yuewen_42682684/t6_yuewen_426826841728383400.jpg",wereadLink:"https://weread.qq.com/web/reader/085326e0728b493c085ade1#outline?noScroll=1",link:"https://book.douban.com/subject/35485315/",tags:["็คพไผš่ง‚ๅฏŸ","้˜ถๅฑ‚็ ”็ฉถ","็Žฐๅฎžไธปไน‰"],desc:"่Œ…็›พๆ–‡ๅญฆๅฅ–ๅพ—ไธปๆขๆ™“ๅฃฐๅŸบไบŽๅคšๅนด็คพไผš่ง‚ๅฏŸ็š„็Žฐๅฎž้ข˜ๆๅŠ›ไฝœใ€‚ไฝœ่€…ๅฐ†ๅฟซ้€Ÿๅ˜่ฟ็š„ไธญๅ›ฝ็คพไผšๅˆ’ๅˆ†ไธบไธๅŒ้˜ถๅฑ‚๏ผŒไปฅๅนณๆฐ‘่ง†่ง’็ป†่…ปๆๆ‘นๅ„็พคไฝ“็š„็”Ÿๅญ˜็Šถๆ€ใ€ๅฟƒ็†ๅ›ฐๅขƒไธŽ้˜ถๅฑ‚็„ฆ่™‘ใ€‚ๅ…จไนฆไธ่ฟฝๆฑ‚็บฏๅญฆๆœฏ็š„ๆžฏ็‡ฅๅˆ†ๆž๏ผŒ่€Œๆ˜ฏ้€š่ฟ‡ๆ–‡ๅญฆๅŒ–็š„็คพไผš่ง‚ๅฏŸ๏ผŒๅ‹พๅ‹’ๅ‡บไธ€ๅน…ๅฝ“ไปฃไธญๅ›ฝ็คพไผš็š„โ€œๆตฎไธ–็ป˜โ€๏ผŒๅผ•ๅฏผ่ฏป่€…ๅœจๆ—ถไปฃๅๆ ‡ไธญๆ‰พๅ‡†ๅฎšไฝ๏ผŒ็†่งฃ็คพไผšๅ˜่ฟ่ƒŒๅŽ็š„็ป“ๆž„ๆ€ง้€ป่พ‘ใ€‚",rating:4.3,highlights:["ๅนณๆฐ‘่ง†่ง’ไธ‹็š„็คพไผšโ€œๆตฎไธ–็ป˜โ€๏ผš้€š่ฟ‡็ป†่…ป็š„็ฌ”่งฆๅ‹พๅ‹’ๅ„้˜ถๅฑ‚็š„็”Ÿๅญ˜้€ป่พ‘ไธŽๅฟƒ็†็”ปๅƒ๏ผŒๅธฎๅŠฉ่ฏป่€…็›ด่ง‚็†่งฃๅฎ่ง‚็คพไผš็ป“ๆž„","ๅ…ผๅ…ท็Žฐๅฎž็—›็‚นไธŽ็ฒพ็ฅžๆทฑๅบฆ๏ผšไธไป…ๅ‘ˆ็Žฐ็‰ฉ่ดจ็”Ÿๆดป็š„ๅทฎๅผ‚๏ผŒๆ›ดๆทฑๅˆปๅ‰–ๆž้˜ถๅฑ‚็„ฆ่™‘่ƒŒๅŽ็š„ไปทๅ€ผๅ›ฐๅขƒ๏ผŒไธบ็†่งฃๅฝ“ไปฃ็คพไผšๆไพ›ไบบๆ–‡ๅ‚็…ง","ๆ—ถไปฃ่„‰็ปœไธญ็š„ๅ‘ฝ่ฟไนฆๅ†™๏ผšๅฐ†ไธชไฝ“ๅ‘ฝ่ฟ็ฝฎไบŽๅކๅฒไบ‹ไปถ็š„ๅฎ่ง‚่ƒŒๆ™ฏไธญ่€ƒๅฏŸ๏ผŒๅฑ•็Žฐไบ†ๅŠไธชไธ–็บชไปฅๆฅ็คพไผšๅ˜่ฟ็š„ๆทฑๅฑ‚่„‰็ปœ","ๆ–‡ๅญฆ็ฌ”่งฆไธ‹็š„็คพไผšๅ…ณๆ€€๏ผšไฝœไธบ่Œ…็›พๆ–‡ๅญฆๅฅ–ๅพ—ไธป๏ผŒไฝœ่€…้€š่ฟ‡ๅฏŒๆœ‰ๆ•…ไบ‹ๆ€ง็š„ๅ™ไบ‹๏ผŒๆ—ขไฟ็•™ไบ†ๆ‰นๅˆคๆ€ง๏ผŒๅˆ่ฎฉๆ–‡ๆœฌๅ……ๆปกไบ†ๆธฉๆš–็š„ไบบๆ–‡ๆธฉๅบฆ"]},{id:"book-021",title:"ๆŠŠ่‡ชๅทฑไฝœไธบๆ–นๆณ•",author:"้กน้ฃ™ / ๅด็ฆ",cover:"https://cdn.weread.qq.com/weread/cover/81/cpPlatform_3300003962/t6_cpPlatform_3300003962.jpg",wereadLink:"https://weread.qq.com/web/reader/d7532f80813ab680cg012708#outline?noScroll=1",link:"https://book.douban.com/subject/35092383/",tags:["็คพไผšๅญฆ","่ฎฟ่ฐˆๅฝ•","ๆ€ๆƒณๆ–นๆณ•"],desc:"ไธคไปฃๅญฆไบบ้กน้ฃ™ไธŽๅด็ฆๅކๆ—ถไธ‰ๅนดใ€่ทจ่ถŠไบ”ๅœฐ็š„ๆทฑๅบฆๅฏน่ฏๅฎžๅฝ•ใ€‚ๆœฌไนฆไปŽ้กน้ฃ™็š„ไธชไบบ็ป้ชŒๅˆ‡ๅ…ฅ๏ผŒๆŽข่ฎจไบ†ไธญๅ›ฝ็คพไผš่ฟ‘ๅŠไธชไธ–็บช็š„ๅ˜่ฟใ€ๅ…จ็ƒๅŒ–ไธŽๆฐ‘็ฒนไธปไน‰็ญ‰ๅฎๅคง่ฎฎ้ข˜ใ€‚ๅœจ่‡ชๆˆ‘ๆณ›ๆปฅไธŽๆ€ๆƒณๅ—ๅ›ฐ็š„ๆ—ถไปฃ๏ผŒไฝœ่€…ๆๅ‡บโ€œๆŠŠ่‡ชๅทฑไฝœไธบๆ–นๆณ•โ€๏ผŒๆŒ‡ๅฏผ่ฏป่€…ๅฆ‚ไฝ•ๅœจๅ…จ็ƒๅŒ–ๅนดไปฃ้‡ๆ–ฐๅฎšไฝ่‡ชๆˆ‘ใ€้‡ๅปบโ€œ้™„่ฟ‘โ€๏ผŒๅนถๅœจไธชไบบไฝ“้ชŒไธŽๅฎ่ง‚ๅ™ไบ‹ไน‹้—ดๆญๅปบ่ตทๆ€่€ƒไธŽ่กŒๅŠจ็š„ๆกฅๆขใ€‚",rating:4.6,highlights:["ไปฅโ€œ่‡ชๆˆ‘โ€ๅˆ‡ๅ…ฅๅ›žๅบ”ๅฎๅคง่ฎฎ้ข˜๏ผš็คบ่Œƒๅฆ‚ไฝ•ๅœจไธชไบบ็œŸๅฎžไฝ“้ชŒไธŽๅ…จ็ƒๅŒ–ใ€็คพไผšๅ˜่ฟ็ญ‰ๅฎ่ง‚ๅ™ไบ‹ไน‹้—ดๆญๅปบ่ฎค็Ÿฅ็š„ๆกฅๆข","ๆไพ›้‡ๅปบโ€œ้™„่ฟ‘โ€็š„่กŒๅŠจๆŒ‡ๅ—๏ผšๅœจ่‡ชๆˆ‘ๆณ›ๆปฅ็š„ๆฝฎๆตไธญ๏ผŒๆŒ‡ๅฏผ่ฏป่€…ๅฆ‚ไฝ•ๅฎก่ง†็Žฐๅฎž๏ผŒๅˆ›้€ ๆ€งๅœฐๅปบ่ฎพ่บซ่พน็š„ๅฐไธ–็•Œ","ๅ…ผๅ…ทๅญฆๆœฏๆทฑๅบฆไธŽๆž้ซ˜ๅฏ่ฏปๆ€ง๏ผšๅฐ†ไบบ็ฑปๅญฆใ€็คพไผšๅญฆ็š„ๆทฑๅˆป็†่ฎบๆดžๅฏŸ๏ผŒๅทงๅฆ™่žๅ…ฅ็”ŸๅŠจ็š„็”ฐ้‡Žๆ•…ไบ‹ไธŽๅŒไบบ็”ŸๆดปๅŒ–ๅฏน่ฐˆไธญ","่ทจ่ถŠไธ‰ๅนด็š„ๆ€ๆƒณ็ขฐๆ’ž๏ผšๅކๆ—ถไธ‰ๅนดใ€่ทจ่ถŠไบ”ๅœฐ็š„ๆŒ็ปญๅฏน่ฏ็ป“้›†๏ผŒๅๆ€็Ÿฅ่ฏ†็”ŸไบงไธŽๅ…ฌๅ…ฑ่ฎจ่ฎบ็š„็œŸๅฎžๅค„ๅขƒ"]}],$e=[{id:"book-035",title:"็™พๅฒไบบ็”Ÿ๏ผš้•ฟๅฏฟๆ—ถไปฃ็š„็”Ÿๆดปๅ’Œๅทฅไฝœ",author:"็ณ่พพยทๆ ผๆ‹‰้กฟ / ๅฎ‰ๅพท้ฒยทๆ–ฏ็ง‘็‰น",cover:"https://wfqqreader-1252317822.image.myqcloud.com/cover/860/22902860/t6_22902860.jpg",wereadLink:"https://weread.qq.com/web/reader/30c323e0715d784c30c1e1b#outline?noScroll=1",link:"https://book.douban.com/subject/30245089/",tags:["ไบบ็”Ÿ่ง„ๅˆ’","้•ฟๅฏฟๆ—ถไปฃ","็คพไผšๅญฆ"],desc:"ๅŸบไบŽไผฆๆ•ฆๅ•†ๅญฆ้™ข็š„็ปๅ…ธ่ฏพ็จ‹๏ผŒไฝœ่€…็ณ่พพยทๆ ผๆ‹‰้กฟไธŽๅฎ‰ๅพท้ฒยทๆ–ฏ็ง‘็‰นๆๅ‡บ๏ผŒ้ขๅฏนไธ€ๅŠๆฆ‚็އๆดปๅˆฐ100ๅฒ็š„้•ฟๅฏฟๆ—ถไปฃ๏ผŒไผ ็ปŸ็š„โ€œๅญฆไน -ๅทฅไฝœ-้€€ไผ‘โ€ไธ‰ๆฎตๅผไบบ็”Ÿๆจกๅผๅทฒๅฝปๅบ•ๅคฑๆ•ˆใ€‚ๆœฌไนฆๆŒ‡ๅฏผ่ฏป่€…ๅฆ‚ไฝ•้‡ๆ–ฐ่ฎพ่ฎกไบบ็”Ÿ๏ผŒ้€š่ฟ‡ๆ‹ฅๆŠฑๅคš้˜ถๆฎตไบบ็”Ÿๆจกๅž‹๏ผŒๅœจๆ›ด้•ฟ็š„็”Ÿๅ‘ฝๅ‘จๆœŸไธญๅนณ่กกๅทฅไฝœใ€ๅญฆไน ไธŽไผ‘้—ฒ๏ผŒๅนถๅผบ่ฐƒๅœจ่ดขๅŠก่ต„ไบงไน‹ๅค–๏ผŒๆ›ด่ฆๆณจ้‡ๅฅๅบทใ€ๅ‹่ฐŠไธŽ็Ÿฅ่ฏ†็ญ‰โ€œๆ— ๅฝข่ต„ไบงโ€็š„ๆŒ็ปญๆŠ•ๅ…ฅไธŽๅขžๅ€ผใ€‚",rating:4.3,highlights:["้‡ๆž„ไบบ็”Ÿๆจกๅผ๏ผšๆ‰“็ ดไผ ็ปŸ็š„โ€œไธ‰ๆฎตๅผโ€็”Ÿๆดป่Œƒๅผ๏ผŒๆๅ‡บๅ……ๆปกๅผนๆ€ง็š„โ€œๅคš้˜ถๆฎตไบบ็”Ÿโ€ๆจกๅž‹๏ผŒ่ฎฉๅทฅไฝœไธŽๅญฆไน ไธๅ†ๆ˜ฏ็บฟๆ€ง็š„้‡ๅค","ไปŽๅ…ณๆณจ่ดขๅŠกๅˆฐโ€œๆ— ๅฝข่ต„ไบงโ€๏ผš้™คไบ†ๅ…ป่€้‡‘๏ผŒๅผบ่ฐƒๅฅๅบทใ€ๅ‹่ฐŠใ€็คพไบค็ฝ‘็ปœไธŽๅฟƒ็†้Ÿงๆ€ง็ญ‰โ€œๆ— ๅฝข่ต„ไบงโ€ๆ‰ๆ˜ฏ็ปดๆŒ้•ฟๅฏฟ็”Ÿๆดป่ดจ้‡็š„ๆ ธๅฟƒๅŠจๅŠ›","่ŒๅœบไธŽ่ฝฌๅž‹็š„็ณป็ปŸ่ง„ๅˆ’๏ผšๆไพ›้’ˆๅฏน้•ฟๅฏฟๆ—ถไปฃ็š„่Œไธš่ฎพ่ฎกๆ€่ทฏ๏ผŒๆถต็›–ไฝ•ๆ—ถ่ฝฌๅž‹ใ€ๅฆ‚ไฝ•ๆŠ•่ต„่‡ช่บซใ€ๆ€Žๆ ทๅบ”ๅฏนไธ็กฎๅฎšๆ€ง็ญ‰ๅฎžๆˆ˜ๆก†ๆžถ","็คพไผšไธŽๅˆถๅบฆ็š„ๆทฑๅบฆๆดžๅฏŸ๏ผšๆŽข่ฎจ้•ฟๅฏฟๅฆ‚ไฝ•ๅ†ฒๅ‡ปๅ…ป่€้‡‘ไฝ“็ณปใ€ๅŠณๅŠจๅŠ›ๅธ‚ๅœบไธŽไผไธšๆจกๅผ๏ผŒๅธฎๅŠฉไธชไบบๅœจๅฎ่ง‚ๅ˜้ฉไธญๆŠŠๆกไธปๅŠจๆƒ"]},{id:"book-00043",title:"้‡ๅฏๅง๏ผๆˆ‘็š„ๅฅๅบทไบบ็”Ÿ",author:"ๅ…ฐๆ นยทๆŸฅ็‰นๅ‰",cover:"https://cdn.weread.qq.com/weread/cover/80/cpplatform_kbrswv3bm7cix2zlyo6wtx/t6_cpplatform_kbrswv3bm7cix2zlyo6wtx1716362285.jpg",wereadLink:"https://weread.qq.com/web/reader/e8a32e80813ab8de4g0191c2#outline?noScroll=1",link:"https://book.douban.com/subject/36899697/",tags:["็”Ÿๆดปๆ–นๅผ","้ข„้˜ฒๅŒปๅญฆ","่บซๅฟƒๅฅๅบท","่‡ชๆˆ‘็ฎก็†"],desc:"่‹ฑๅ›ฝไธดๅบŠๅŒป็”ŸๅŸบไบŽ20ๅคšๅนด่กŒๅŒป็ป้ชŒๅ†™ๅฐฑใ€‚ๆœฌไนฆไธปๅผ โ€œ็”Ÿๆดปๆ–นๅผๅณ่‰ฏ่ฏโ€๏ผŒๅ›ด็ป•ไผ‘ๆฏใ€้ฅฎ้ฃŸใ€่ฟๅŠจๅ’Œ็ก็œ ๅ››ไธช้ข†ๅŸŸ่ฎพ่ฎกไบ†20ไธชๅพฎๅฐ่กŒๅŠจ่ฎกๅˆ’๏ผŒๅธฎๅŠฉ็Žฐไปฃไบบ้€š่ฟ‡ไฝŽๆˆๆœฌ็š„ไน ๆƒฏๆ”นๅ˜้€†่ฝฌๆ…ขๆ€ง้—ฎ้ข˜ใ€‚",rating:4.6,highlights:["ๆๅ‡บ99%็š„ๅฅๅบทๅ–ๅ†ณไบŽๆ—ฅๅธธไน ๆƒฏ่€Œ้žๅŒปๅญฆๆฒป็–—๏ผŒๅผบ่ฐƒๆ•ดไฝ“ๅนฒ้ข„","ๆž„ๅปบโ€œ4ร—5โ€ๅพฎ่กŒๅŠจๆก†ๆžถ๏ผŒๆถต็›–ไผ‘ๆฏใ€้ฅฎ้ฃŸใ€่ฟๅŠจใ€็ก็œ ๅ››ไธช็ปดๅบฆ็š„20ไธชๅฐๆ”นๅ˜","ๅ…ผ้กพ็ง‘ๅญฆๆทฑๅบฆไธŽๆž็ฎ€ๅฎžๆ“๏ผŒๅฆ‚โ€œ12ๅฐๆ—ถ่ฟ›้ฃŸ็ช—ๅฃโ€ใ€โ€œ10ๅˆ†้’Ÿ้ซ˜ๅผบๅบฆ่ฟๅŠจโ€","ๅ…ณๆณจ็Žฐไปฃ่Œๅœบไบบ็—›็‚น๏ผŒๆไพ›โ€œๅฐๆŠ•ๅ…ฅใ€ๅคงๅ›žๆŠฅโ€็š„ๅฏๅ ๅŠ ่บซๅฟƒๅฅๅบทๆŠ•่ต„็ญ–็•ฅ"]},{id:"book-00040",title:"ไฝ ๆ˜ฏไฝ ๅƒๅ‡บๆฅ็š„๏ผšๅƒๅฏนๅฐ‘็”Ÿ็—…๏ผŒ็—…ไบ†่ฟ™ๆ ทๅƒ",author:"ๅค่Œ",cover:"https://cdn.weread.qq.com/weread/cover/86/YueWen_920661/t6_YueWen_920661.jpg",wereadLink:"https://weread.qq.com/web/reader/7bb32c305e0c557bbdeab81#outline?noScroll=1",link:"https://book.douban.com/subject/27590675/",tags:["้ฅฎ้ฃŸ็ง‘ๆ™ฎ","่ฅๅ…ปๅญฆ","ๅฅๅบท็ฎก็†"],desc:"ๅ‰ๅฎ‰่ดžๅŒป้™ข่ฅๅ…ป็ง‘ไธปไปปๅค่Œ็ป“ๅˆๅไฝ™ๅนดไธดๅบŠ็ป้ชŒๅ†™ๆˆใ€‚ๆœฌไนฆ้ข ่ฆ†โ€œไฝŽๆฒนไฝŽ่„‚โ€่ฏฏๅŒบ๏ผŒๆๅ‡บๅ›žๅฝ’่ฟ›ๅŒ–็š„โ€œ65%ๆค็‰ฉ+35%ๅŠจ็‰ฉโ€่†ณ้ฃŸ้…ๆฏ”๏ผŒๅนถ้’ˆๅฏน14็งๅธธ่งๆ…ข็—…็ป™ๅ‡บโ€œๅ››ๅˆ†ๆณ•โ€้ฅฎ้ฃŸๅนฒ้ข„ๆ–นๆกˆ๏ผŒๅธฎๅŠฉ่ฏป่€…้‡ๅปบๅฅๅบท้ฅฎ้ฃŸ่ง‚ใ€‚",rating:5,highlights:["ๆŒ‡ๅ‡บๅคšๆ•ฐๆ…ข็—…ๆบไบŽโ€œ่›‹็™ฝ่ดจ็ผบไนๅผ่ฅๅ…ปไธ่‰ฏโ€๏ผŒๆ‰“็ ดๅธธ่ง„ไฝŽๆฒนไฝŽ่„‚่ฟทๆ€","ๆๅ‡บๆธ…ๆ™ฐ้‡ๅŒ–็š„โ€œ65%ๆค็‰ฉ็ฑป+35%ๅŠจ็‰ฉ็ฑปโ€็ง‘ๅญฆ้ฅฎ้ฃŸ็ป“ๆž„","้’ˆๅฏนๅ† ๅฟƒ็—…ใ€้ซ˜่ก€ๅŽ‹็ญ‰14็งๅธธ่งๆ…ข็—…ๆไพ›ๅฎžๆ“ๆ€งๆžๅผบ็š„โ€œๅ››ๅˆ†ๆณ•โ€่œๅ•","ๆบไบŽๅไธ‡+็œŸๅฎžไธดๅบŠ็—…ไพ‹๏ผŒๅผบ่ฐƒโ€œไธ€ๆ—ฅไธ‰้คๆ‰ๆ˜ฏ็œŸๆญฃ็š„ไฟๅฅๅ“โ€"]},{id:"book-00041",title:"ไฝ ๆ˜ฏไฝ ๅƒๅ‡บๆฅ็š„2",author:"ๅค่Œ",cover:"https://wfqqreader-1252317822.image.myqcloud.com/cover/883/35905883/t6_35905883.jpg",wereadLink:"https://weread.qq.com/web/reader/40532d007223e15b4052fae#outline?noScroll=1",link:"https://book.douban.com/subject/35340053/",tags:["้ฅฎ้ฃŸๆŒ‡ๅฏผ","็ง‘ๆ™ฎ","็–พ็—…้˜ฒๆฒป"],desc:"่š็„ฆ้ซ˜่ก€ๅŽ‹ใ€้ซ˜่„‚่ก€็—‡ใ€็ณ–ๅฐฟ็—…็ญ‰7ๅคงๅธธ่งๆ…ข็—…๏ผŒไปŽไธดๅบŠ่ฅๅ…ปๅŒปๅญฆ่ง’ๅบฆ้€ไธ€็ ด้™ค่ฏธๅฆ‚โ€œ่ก€ๅŽ‹้ซ˜ไธ่ƒฝๅƒ่‚‰โ€็ญ‰้ฅฎ้ฃŸ่ฏฏๅŒบ๏ผŒๆไพ›็ณป็ปŸ็š„โ€œไธŠๆธธ-ไธญๆธธ-ไธ‹ๆธธโ€็–พ็—…้˜ฒๆŽงๆ€่ทฏไธŽไธชไฝ“ๅŒ–่ฅๅ…ปๅค„ๆ–นใ€‚",rating:4.6,highlights:["ไธ“ๆ”ป7ๅคงๅธธ่งๆ…ขๆ€ง็—…๏ผŒไธบๆ‚ฃ่€…ๆไพ›้’ˆๅฏนๆ€ง็š„โ€œ็”Ÿ็—…ไบ†ๆ€Žไนˆๅƒโ€ไธชไฝ“ๅŒ–ๆŒ‡ๅฏผ","็ง‘ๅญฆ่พŸ่ฐฃ๏ผŒ็ ด้™คโ€œ่ก€ๅŽ‹้ซ˜ไธ่ƒฝๅƒ่‚‰โ€ใ€โ€œ่ƒ†ๅ›บ้†‡้ซ˜ไธ่ƒฝๅƒ้ธก่›‹โ€็ญ‰ๅธธ่ง่ฏฏๅŒบ","ๆขณ็†็–พ็—…ๅ‘็”Ÿๅ› ๆžœ้“พๆก๏ผŒๅธฎๅŠฉ่ฏป่€…ไปŽๆบๅคดๆ‰พๅˆฐๅฅๅบทๅนฒ้ข„็š„็€ๅŠ›็‚น","ๆไพ›ไปŽไธ€ๆ—ฅไธ‰้คใ€่ฟๅŠจๅˆฐๅฟƒๆ€่ฐƒๅ…ป็š„ๅ…ทไฝ“ๅฏๆ“ไฝœ็”Ÿๆดปๆ–นๅผๆธ…ๅ•"]}],Ge=JSON.parse('{"title":"ๅฅฝไนฆๆŽจ่","description":"่ฏปไนฆๅฟƒๅพ—ใ€ๆŽจ่ไนฆ็ฑๅ’Œ้˜…่ฏปๆŠ€ๅทง","frontmatter":{"title":"ๅฅฝไนฆๆŽจ่","date":"2024-01-01T16:00:00.000Z","description":"่ฏปไนฆๅฟƒๅพ—ใ€ๆŽจ่ไนฆ็ฑๅ’Œ้˜…่ฏปๆŠ€ๅทง","categories":["growth"],"coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/books_reading_bg.png","permalink":"/growth/books","tags":["ๆ‚ฆ่ฏปๆ—ถๅ…‰","่ต„ๆบๆŽจ่"]},"headers":[],"relativePath":"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/01.ๅฅฝไนฆๆŽจ่.md","filePath":"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/01.ๅฅฝไนฆๆŽจ่.md"}'),Ne={name:"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/01.ๅฅฝไนฆๆŽจ่.md"},De=Object.assign(Ne,{setup(r){return(b,t)=>(a(),l("div",null,[t[0]||(t[0]=x('

ๅฅฝไนฆๆŽจ่ โ€‹

1. AI ไธŽๆ•ฐๅญฆๆ€็ปด โ€‹

ๅœจๅคงๆจกๅž‹ๅ‘ๅฑ•ๆ—ฅๆ–ฐๆœˆๅผ‚็š„ไปŠๅคฉ๏ผŒ็†่งฃ AI ๆœฌ่ดจไธŠๆ˜ฏๅœจๅ‡็บงๆˆ‘ไปฌ่ต„ๆทฑ็š„โ€œ่ฎค็Ÿฅๆ“ไฝœ็ณป็ปŸโ€๏ผŒ ็†่งฃ AI๏ผŒๆœฌ่ดจไธŠๆ˜ฏ็†่งฃๆ•ฐๆฎใ€ๆ•ฐๅญฆไธŽ้€ป่พ‘ๅฆ‚ไฝ•้‡ๆž„่ฟ™ไธชไธ–็•Œใ€‚

่ฟ™ๅฅ—ไนฆๅ•ไปŽๆ•ฐๅญฆๆ€็ปด็š„ๅบ•ๅฑ‚้€ป่พ‘ๅ‡บๅ‘๏ผŒ่ฎฉๆˆ‘ไปฌ็†่งฃ ChatGPT ็ญ‰ๅคงๆจกๅž‹่ƒŒๅŽ็š„่ฎก็ฎ—ๆœบๅˆถ๏ผŒๅฐ†็กฌๆ ธ็š„็ฅž็ป็ฝ‘็ปœไธŽๆฆ‚็އ็ปŸ่ฎก่ฝฌๅŒ–ไธบไผ˜ๅŒ–็”Ÿๆดป็š„ๅ†ณ็ญ–ๅทฅๅ…ทใ€‚ๅฎƒไธไป…่ƒฝ็•Œๅฎšๆœบๅ™จๆ™บ่ƒฝ็š„่พน็•Œ๏ผŒๆ›ด้ข ่ฆ†ไบ†ไผ ็ปŸ็š„โ€œ็›ฎๆ ‡่ฎบโ€๏ผŒๅ€กๅฏผๅœจไธ็กฎๅฎšๆ€งไธญ้€š่ฟ‡โ€œ่ธ่„š็Ÿณโ€ๆ€็ปดๅฏปๆ‰พ็ช็ ดๆ€งๅˆ›ๆ–ฐ็š„ๅฏ่ƒฝใ€‚AI ็š„็ ”็ฉถๅฎž่ทตๅ‘Š่ฏ‰ๆˆ‘ไปฌ๏ผŒไผŸๅคง็š„็ช็ ดๅพ€ๅพ€ๆ— ๆณ•่ขซ้ข„่ฎพ๏ผŒๅ”ฏๆœ‰ๆ‹ฅๆŠฑโ€œๅฏปๅฎ่€…ๆ€็ปดโ€ๆ‰่ƒฝๅœจๆœช็Ÿฅไธญๅถ้‡ๅฅ‡่ฟน๏ผŒๆˆ‘ไปฌ้œ€่ฆ้ข ่ฆ†ไผ ็ปŸ็š„ๅˆ›ๆ–ฐ่Œƒๅผใ€‚

',4)),h(k,{books:g(Be)},null,8,["books"]),t[1]||(t[1]=x('

2. ไบงๅ“ไธŽๅ•†ไธš โ€‹

about site background

2.1 ไบงๅ“ Sense ไธŽๅˆ›้€  โ€‹

ๅœจไบงๅ“ๆˆๅŠŸ็އไธ่ถณ 10% ็š„ๆฎ‹้…ทๅธ‚ๅœบไธญ๏ผŒๅฅฝ็š„ๅˆ›้€ ็ป้žๆบไบŽ็›ฒ็›ฎ็š„็ตๆ„Ÿ๏ผŒ่€Œๆ˜ฏๅปบ็ซ‹ๅœจๆž่‡ด็š„้ฃŽ้™ฉ้ชŒ่ฏไธŽๆทฑๅˆป็š„ไบบๆ€งๆดžๅฏŸไน‹ไธŠใ€‚

ๅ“่ถŠ็š„ไบงๅ“ๅŠ›ไธไป…ๅ…ณไนŽๅŠŸ่ƒฝ่ฎพ่ฎก๏ผŒๆ›ดๆ˜ฏไธ€ๅœบๅ…ณไบŽ็ญ–็•ฅไธŽๅˆ›้€ ๅŠ›็š„ๅˆปๆ„็ปƒไน ๏ผšๆˆ‘ไปฌ้œ€่ฆ้€š่ฟ‡โ€œ้ข„ๅž‹โ€ๆ€็ปดไปฅๆžไฝŽๆˆๆœฌ่ฟ›่กŒ็œŸๅฎžๆ•ฐๆฎ้ชŒ่ฏ๏ผŒ็กฎไฟๆˆ‘ไปฌๅœจๆŠ•ๅ…ฅๅผ€ๅ‘ๅ‰ๆ˜ฏๅœจโ€œๅšๅฏนไบงๅ“โ€๏ผ›ๅนถๅˆฉ็”จ็”จๆˆทๆจกๅž‹ใ€ไบคๆ˜“ๆจกๅž‹็ญ‰ๅบ•ๅฑ‚ๆก†ๆžถ๏ผŒๅฐ†้›ถๆ•ฃ็š„้œ€ๆฑ‚่ฝฌๅŒ–ไธบๅฏ่Žทๅˆฉ็š„ๅ•†ไธšๆ–นๆกˆใ€‚

',4)),h(k,{books:g(Ie)},null,8,["books"]),t[2]||(t[2]=e("h3",{id:"_2-2-ๅ•†ไธšๅŒ–",tabindex:"-1"},[n("2.2 ๅ•†ไธšๅŒ– "),e("a",{class:"header-anchor",href:"#_2-2-ๅ•†ไธšๅŒ–","aria-label":"Permalink to โ€œ2.2 ๅ•†ไธšๅŒ–โ€"},"โ€‹")],-1)),t[3]||(t[3]=e("blockquote",null,[e("p",null,[n("ๅœจ่ฟฝ้€โ€œ็‹ฌ่ง’ๅ…ฝโ€ๅ’Œ่ง„ๆจกๆ‰ฉๅผ ็š„็‹‚็ƒญ่ฟทๆ€ไน‹ๅŽ๏ผŒ็œŸๆญฃ็š„ๅ•†ไธš้ซ˜ๆ‰‹ๆญฃๅœจ้‡ๆ–ฐๅ›žๅฝ’ๆœฌ่ดจ๏ผš"),e("strong",null,"็›ˆๅˆฉๆ‰ๆ˜ฏไผไธš็š„ๆ ธๅฟƒๆŠคๅŸŽๆฒณใ€‚"),n(" ่ฟ™ๅฅ—ไนฆๅ•ไธบๆˆ‘ไปฌๆญ็คบไบ†ไธ€็ง"),e("strong",null,"ๆ›ดๅ…ท้Ÿงๆ€ง็š„ๅ•†ไธš่ทฏๅพ„โ€”โ€”โ€œๅฐ่€Œ็พŽโ€็š„ๆž็ฎ€็ป่ฅ"),n("ใ€‚ๅฎƒๆ•™ๅฏผๆˆ‘ไปฌๅฆ‚ไฝ•ๆ‹’็ปไฝŽๆ•ˆ็š„ๅ†…ๅทไธŽๅฟ™็ขŒ๏ผŒ้€š่ฟ‡โ€œๅšๆ›ดๅฐ‘ไฝ†ๅˆ›้€ ๆ›ดๅคšไปทๅ€ผโ€็š„ๆ€็ปด๏ผŒๆ‰“้€ ๅœจไธ็กฎๅฎšๆ—ถไปฃไธ‹ไพ็„ถ่ƒฝไฟๆŒ็จณๅฎš็Žฐ้‡‘ๆต็š„โ€œๆ…ขๅ…ฌๅธโ€ใ€‚")]),e("p",null,[e("strong",null,"ๅ•†ไธš็š„ๆˆๅŠŸ๏ผŒๅพ€ๅพ€ๆบไบŽๆ•ขไบŽๆŒ‘ๆˆ˜โ€œ้šพ่€Œๆญฃ็กฎโ€็š„ไบ‹"),n("ใ€‚ไปŽ็šฎๅ…‹ๆ–ฏๅฆ‚ไฝ•ๅปบ็ซ‹ๅ…่ฎธๅคฑ่ดฅ็š„ๅˆ›ๆ„ๅœŸๅฃค๏ผŒๅˆฐ Waze ๅฆ‚ไฝ•้€š่ฟ‡่งฃๅ†ณ่ขซๅฟฝ่ง†็š„็—›็‚นๅฎž็Žฐ่ทจ่ถŠๅผๆˆ้•ฟ๏ผŒ่ฟ™ไบ›ไธ–็•Œ็บงๆกˆไพ‹่ฏๆ˜Žไบ†๏ผšๅ“่ถŠ็š„็ป„็ป‡ไธไป…้œ€่ฆๆž็ฎ€็š„ๆต็จ‹ไธŽ้ซ˜ๆ•ˆ็š„ๅˆ†ๅธƒๅผๅไฝœ๏ผˆ่ฟœ็จ‹ๅŠžๅ…ฌ๏ผ‰๏ผŒๆ›ด้œ€่ฆไธ€็งโ€œๅ†ท้™โ€็š„ๆ–‡ๅŒ–๏ผŒๅฐ†ๅˆฉๆถฆ็ฝฎไบŽ่ง„ๆจกไน‹ไธŠใ€‚")])],-1)),h(k,{books:g(We)},null,8,["books"]),t[4]||(t[4]=e("h2",{id:"_3-ๆ•ˆ็އไธŽๆ•ˆ่ƒฝ",tabindex:"-1"},[n("3. ๆ•ˆ็އไธŽๆ•ˆ่ƒฝ "),e("a",{class:"header-anchor",href:"#_3-ๆ•ˆ็އไธŽๆ•ˆ่ƒฝ","aria-label":"Permalink to โ€œ3. ๆ•ˆ็އไธŽๆ•ˆ่ƒฝโ€"},"โ€‹")],-1)),t[5]||(t[5]=e("blockquote",null,[e("p",null,[n("ๅœจไฟกๆฏ่ฟ‡่ฝฝไธŽ้ซ˜ๅŽ‹็ซžไบ‰็š„็Žฐไปฃ็Žฏๅขƒไธญ๏ผŒๅนณๅบธไธŽๅ“่ถŠ็š„ๅˆ†ๆฐดๅฒญไธๅ†ๆ˜ฏๅšไบ‹็š„้€Ÿๅบฆ๏ผŒ่€Œๆ˜ฏ"),e("strong",null,"ๅ†ณ็ญ–็š„็ฒพๅบฆไธŽ่ดฃไปป็š„่พน็•Œ"),n("ใ€‚่ฟ™ๅฅ—ไนฆๅ•ไธบๆˆ‘ไปฌๆไพ›ไบ†ไธ€ๅฅ—ไปŽไธชไบบ่ฎค็Ÿฅๅˆฐ็ป„็ป‡ๅไฝœ็š„โ€œๆ•ˆ่ƒฝ้˜ฒ็บฟโ€๏ผš้ฆ–ๅ…ˆ๏ผŒๅฎƒ"),e("strong",null,"ๅผ•ๅฏผๆˆ‘ไปฌๅฎŒๆˆไปŽโ€œๆ—ถ้’Ÿโ€ๅˆฐโ€œ็ฝ—็›˜โ€็š„ๆ€็ปด่ทจ่ถŠ๏ผŒๆ‰“็ ด็›ฒ็›ฎ่ฟฝๆฑ‚้€Ÿๅบฆ็š„่ฟทๆ€๏ผŒ็กฎไฟๅฐ†ๆ ธๅฟƒ็ฒพๅŠ›ๅ€พๆณจๅœจ็œŸๆญฃไบง็”Ÿ้•ฟ่ฟœๅคๅˆฉ็š„โ€œ้‡่ฆ้ž็ดงๆ€ฅโ€ไบ‹ๅŠกไน‹ไธŠ"),n("ใ€‚ ็œŸๆญฃ็š„ๆ•ˆ่ƒฝๆบไบŽๅฏนๅคๆ‚ๆ€ง็š„็ง‘ๅญฆ้ฉพ้ฉญ๏ผš")]),e("ul",null,[e("li",null,"้€š่ฟ‡โ€œๆธ…ๅ•้ฉๅ‘ฝโ€ๅผ็š„่ฎค็Ÿฅ้˜ฒๆŠค๏ผŒๆˆ‘ไปฌๅฐ†ๆœ€ไฝณๅฎž่ทตๅค–ๅŒ–ไธบๅฏ้ ็š„้˜ฒ้”™็ณป็ปŸ๏ผŒๅผฅ่กฅไบบ็ฑปๅœจๆž็ซฏ็Žฏๅขƒไธ‹็š„่ฎค็Ÿฅๅฑ€้™๏ผ›"),e("li",null,"โ€œ็Œดๅญ็ฎก็†ๆณ•โ€ๅˆ™ไปฅ็”ŸๅŠจ็š„่ง†่ง’้‡ๅก‘ไบ†่Œๅœบๅไฝœ็š„่ดฃไปป้€ป่พ‘๏ผŒๆ•™ๆˆ‘ไปฌ้€š่ฟ‡ๆœ‰ๆ•ˆๆŽˆๆƒๆ‹’็ปๆ— ่ฐ“็š„ๅนฒๆ‰ฐ๏ผŒ้‡Šๆ”พๆˆ˜็•ฅๆ€่€ƒ็š„็ฒพๅŠ›๏ผ›")])],-1)),h(k,{books:g(Ye)},null,8,["books"]),t[6]||(t[6]=e("h2",{id:"_4-ๅญฆไน ไธŽๆˆ้•ฟ",tabindex:"-1"},[n("4. ๅญฆไน ไธŽๆˆ้•ฟ "),e("a",{class:"header-anchor",href:"#_4-ๅญฆไน ไธŽๆˆ้•ฟ","aria-label":"Permalink to โ€œ4. ๅญฆไน ไธŽๆˆ้•ฟโ€"},"โ€‹")],-1)),t[7]||(t[7]=e("blockquote",null,[e("p",null,[n("ๅœจไฟกๆฏ็ˆ†็‚ธไธŽๅฟซ้€Ÿๅ˜้ฉ็š„ๆ—ถไปฃ๏ผŒ"),e("strong",null,"็œŸๆญฃ็š„ๆˆ้•ฟไธๅ†ๆ˜ฏ็Ÿฅ่ฏ†็š„่ขซๅŠจๅ †็ Œ๏ผŒ่€Œๆ˜ฏ่ฎค็Ÿฅ็ณป็ปŸ็š„ๅฝปๅบ•่ฟญไปฃ"),n("ใ€‚่ฟ™ๅฅ—ไนฆๅ•ไธบๆˆ‘ไปฌๆž„ๅปบไบ†ไธ€ไธชไปŽๅบ•ๅฑ‚ๆ€็ปดๅˆฐไบบ็”Ÿ็ป่ฅ็š„้—ญ็Žฏ๏ผš")]),e("ul",null,[e("li",null,"้ฆ–ๅ…ˆ๏ผŒ้€š่ฟ‡ๆ‰นๅˆคๆ€งๆ€็ปดไธŽๆทฑๅบฆ้˜…่ฏปๅคฏๅฎžโ€œๅ…ƒ่ƒฝๅŠ›โ€๏ผŒๅœจๆณ›ๆปฅ็š„ไฟกๆฏไธญ่ฏ†ๅˆซๆœฌ่ดจ๏ผŒๅฐ†ไป–ไบบ็š„ๆดž่ง่ฝฌๅŒ–ไธบ่‡ชๅทฑ็š„่ก€่‚‰๏ผ›"),e("li",null,"ๅ…ถๆฌก๏ผŒๅˆฉ็”จโ€œๆฃ€็ดขๅŠ›โ€ๆ‰“็ ดไฟกๆฏๅทฎ๏ผŒ็กฎไฟ่‡ชๅทฑๅœจไปปไฝ•้ข†ๅŸŸ้ƒฝ่ƒฝๅฟซ้€Ÿ่Žทๅ–้ซ˜่ดจ้‡่ต„ๆบ๏ผŒๆŽŒๆก้€†้ฃŽ่€Œ่กŒ็š„ไธปๅŠจๆƒใ€‚")]),e("p",null,[e("strong",null,"ไบบ็”Ÿไธๆ˜ฏไธ€ๅœบ็›ฒ็›ฎ็š„้•ฟ่ท‘๏ผŒ่€Œๆ˜ฏไธ€ๅœบๅŸบไบŽโ€œๅŽŸๅˆ™โ€็š„็ฒพๅฏ†็ป่ฅ"),n("ใ€‚ไปŽ่พพๅˆฉๆฌง็š„็ณป็ปŸๅŒ–ๅ†ณ็ญ–๏ผŒๅˆฐ็บณ็“ฆๅฐ”็š„่ดขๅฏŒไธŽๅนธ็ฆ้€ป่พ‘๏ผŒ่ฟ™ไบ›ๆ™บ่€…ๆ•™ๅฏผๆˆ‘ไปฌๅฆ‚ไฝ•ๅˆฉ็”จๆ ๆ†ใ€ๅšๆŒ้•ฟๆœŸไธปไน‰๏ผŒๅฐ†่‡ชๅทฑ่ง†ไฝœไธ€ๅฎถโ€œไบบ็”Ÿๆœ‰้™ๅ…ฌๅธโ€ๆฅ็ป่ฅใ€‚ๆˆ‘ไปฌ้œ€่ฆๆ‘†่„ฑโ€œไผ˜็ง€็ปต็พŠโ€ๅผ็š„่ขซๅŠจ้ฉฑๅŠจ๏ผŒ้€š่ฟ‡่ฏ†ๅˆซๆˆ้•ฟ็š„โ€œ็ฌฌไบŒๆ›ฒ็บฟโ€๏ผŒๅœจๅท…ๅณฐๆ—ถๅˆปไธปๅŠจๅฏปๆฑ‚็ช็ ด๏ผŒๅฐ†่‡ชๅทฑๆ‰“้€ ๆˆไธๅฏๆ›ฟไปฃ็š„็จ€็ผบ่ต„ไบงใ€‚้˜…่ฏป่ฟ™ไบ›็ปๅ…ธ๏ผŒไธไป…ๆ˜ฏไธบไบ†ไน ๅพ—ๆŠ€่ƒฝ๏ผŒๆ›ดๆ˜ฏไธบไบ†ๅœจ็ฎ—ๆณ•ไธŽ็„ฆ่™‘็š„ๅคนๅ‡ปไธญ๏ผŒ้‡ๅก‘ๅ†…ๅฟƒ็š„ๅฎ้™ไธŽ็‹ฌ็ซ‹ๅˆคๆ–ญ็š„ๅ‹‡ๆฐ”ใ€‚")])],-1)),h(k,{books:g(Te)},null,8,["books"]),t[8]||(t[8]=e("h2",{id:"_5-ไบบๆ–‡็คพ็ง‘",tabindex:"-1"},[n("5. ไบบๆ–‡็คพ็ง‘ "),e("a",{class:"header-anchor",href:"#_5-ไบบๆ–‡็คพ็ง‘","aria-label":"Permalink to โ€œ5. ไบบๆ–‡็คพ็ง‘โ€"},"โ€‹")],-1)),t[9]||(t[9]=e("blockquote",null,[e("p",null,"ๅœจๅฎ่ง‚ๅކๅฒไธŽๅพฎ่ง‚็Žฐๅฎž้—ดๆž„ๅปบ่ฎค็Ÿฅ๏ผšๅœจ็ขŽ็‰‡ๅŒ–ไธŽไธ็กฎๅฎšๆ€งๅนถๅญ˜็š„ๆ—ถไปฃ๏ผŒ็ฉฟ้€่กจ่ฑกใ€็›ด่พพๆœฌ่ดจ็š„ๆดžๅฏŸๅŠ›ๆˆไธบๅฟ…้œ€ใ€‚่ฟ™ๅฅ—ๅ•ไธบๆˆ‘ไปฌๅผ€ๅฏไบ†ไธคๆ‰‡็ช—๏ผš"),e("ul",null,[e("li",null,"ไธ€ๆ‰‡ๆœ›ๅ‘ไธ‡ๅนดๆ–‡ๆ˜Ž็š„ๅฎๅคงๅๆ ‡๏ผŒ้€š่ฟ‡ใ€Šๆžช็‚ฎใ€็—…่ŒไธŽ้’ข้“ใ€‹็š„่ทจๅญฆ็ง‘่ง†้‡Ž๏ผŒๆ‹†่งฃๅœฐ็†็Žฏๅขƒๅฆ‚ไฝ•ๅ†ท้…ท่€Œๅถ็„ถๅœฐ้‡ๅก‘ๅ…จ็ƒ็‰ˆๅ›พ๏ผŒๅฝปๅบ•้ข ่ฆ†โ€œๆ–‡ๆ˜Žไผ˜่ถŠ่ฎบโ€็š„ๅ‚ฒๆ…ข๏ผ›"),e("li",null,"ๅฆไธ€ๆ‰‡ๅˆ™็…งๅ‘ๅฝ“ไธ‹็คพไผš็š„็œŸๅฎž่‚Œ็†๏ผŒๅœจๆขๆ™“ๅฃฐๅฏนๅ„้˜ถๅฑ‚็”Ÿๅญ˜ๅ›ฐๅขƒ็š„็ป†่…ปๆๆ‘นไธญ๏ผŒ่ฏปๆ‡‚ๅคงๆ—ถไปฃๅ˜้ฉ่ƒŒๅŽ้š็ง˜็š„็ป“ๆž„ๆ€ง้€ป่พ‘ไธŽ้˜ถๅฑ‚็„ฆ่™‘ใ€‚")]),e("p",null,[e("strong",null,"ไบบๆ–‡ๆ€่€ƒ็š„็ปˆๆžไปทๅ€ผ๏ผŒๅœจไบŽๅฆ‚ไฝ•ๅฐ†ๅฎๅคงๅ™ไบ‹่ฝฌๅŒ–ไธบไธชไบบ็š„่กŒๅŠจๅŠ›้‡"),n("ใ€‚ๆญฃๅฆ‚้กน้ฃ™ๆ‰€ๅ€กๅฏผ็š„โ€œๆŠŠ่‡ชๅทฑไฝœไธบๆ–นๆณ•โ€๏ผŒ่ฟ™ไบ›่‘—ไฝœไธไป…ๆ˜ฏ็Ÿฅ่ฏ†็š„ไผ ้€’๏ผŒๆ›ดๆ˜ฏๆ€็ปด็š„ๆพ็ป‘ใ€‚ๅฎƒไปฌๆ•™ๅฏผๆˆ‘ไปฌไธๅ†ๅšๆ—ถไปฃ็š„่ขซๅŠจๆ—่ง‚่€…๏ผŒ่€Œๆ˜ฏๅญฆไผšๅœจไธชไบบไฝ“้ชŒไธŽๅฎ่ง‚ไธ–็•Œไน‹้—ดๆญๅปบๆกฅๆข๏ผŒ้€š่ฟ‡้‡ๅปบโ€œ้™„่ฟ‘โ€็š„ๅฐไธ–็•Œ๏ผŒๅœจๅ–งๅšฃไธญๆ‰พๅ‡†่‡ชๆˆ‘็š„ๅฎšไฝใ€‚")])],-1)),h(k,{books:g(Me)},null,8,["books"]),t[10]||(t[10]=e("h2",{id:"_6-ๅฅๅบท็”Ÿๆดป",tabindex:"-1"},[n("6. ๅฅๅบท็”Ÿๆดป "),e("a",{class:"header-anchor",href:"#_6-ๅฅๅบท็”Ÿๆดป","aria-label":"Permalink to โ€œ6. ๅฅๅบท็”Ÿๆดปโ€"},"โ€‹")],-1)),t[11]||(t[11]=e("img",{src:$,style:{width:"100%","border-radius":"8px","margin-bottom":"20px"},alt:"about site background"},null,-1)),t[12]||(t[12]=e("blockquote",null,[e("p",null,[n("ๅœจ้ขไธดๅคงๆฆ‚็އๆดปๅˆฐ100ๅฒ็š„โ€œ้•ฟๅฏฟๆ—ถไปฃโ€๏ผŒไผ ็ปŸ็š„็บฟๆ€งไบบ็”Ÿๆจกๅผๆญฃๅœจๅคฑๆ•ˆใ€‚ๆˆ‘ไปฌ้œ€่ฆๅฏนโ€œๅฅๅบทโ€่ฟ›่กŒไธ€ๆฌกๅฝปๅบ•็š„่ฎค็Ÿฅ้‡ๆž„๏ผš"),e("strong",null,"ๅฅๅบทไธๅ†ไป…ไป…ๆ˜ฏโ€œๆฒกๆœ‰็–พ็—…โ€๏ผŒ่€Œๆ˜ฏๆ”ฏๆ’‘ๆˆ‘ไปฌ่ทจ่ถŠๆผซ้•ฟ็”Ÿๅ‘ฝๅ‘จๆœŸใ€ๅบ”ๅฏนๅคš้˜ถๆฎตไบบ็”ŸๆŒ‘ๆˆ˜็š„ๆœ€ๆ ธๅฟƒโ€œๆ— ๅฝข่ต„ไบงโ€"),n("ใ€‚ๆƒณ่ฆ่ฎฉ่ฟ™ๅฅ—็”Ÿๅ‘ฝ็ณป็ปŸ้•ฟๆœŸๅนณ็จณ่ฟ่กŒ๏ผŒ็œŸๆญฃ็š„่งฃๆณ•ๅนถไธๅœจๅŒป้™ข็š„ๅค„ๆ–น็ฌบ้‡Œ๏ผŒ่€Œๆ˜ฏ้š่—ๅœจๆˆ‘ไปฌๆฏๅคฉ็š„ๆ—ฅๅธธ้€‰ๆ‹ฉไธญใ€‚")]),e("p",null,[n("ๅ†ณๅฎšๆˆ‘ไปฌ้•ฟๆœŸๅฅๅบท็Šถๆ€็š„๏ผŒๆœ‰ 99 %ๅ–ๅ†ณไบŽๆ—ฅๅธธไน ๆƒฏใ€‚ๆˆ‘ไปฌ้œ€่ฆ"),e("strong",null,"ๅœจไผ‘ๆฏใ€้ฅฎ้ฃŸใ€่ฟๅŠจใ€็ก็œ ่ฟ™ๅ››ไธช้ซ˜้ข‘็”Ÿๆดป็ปดๅบฆไธญ๏ผŒๆคๅ…ฅๅพฎๅฐไฝ†ๆ ๆ†็އๆž้ซ˜็š„ๆ”นๅ˜"),n("๏ผˆไพ‹ๅฆ‚12ๅฐๆ—ถ่ฟ›้ฃŸ็ช—ๅฃใ€10ๅˆ†้’Ÿ้ซ˜ๅผบๅบฆ่ฟๅŠจใ€็กๅ‰ๅฑ่”ฝๆ•ฐๅญ—้€š็Ÿฅ็ญ‰๏ผ‰ใ€‚็”จๆœ€ไฝŽ็š„ๆ‰ง่กŒๆˆๆœฌ๏ผŒ็ฝฎๆข่บซๅฟƒ็Šถๆ€็š„ๅทจๅคงๅ›žๆŠฅใ€‚")])],-1)),h(k,{books:g($e)},null,8,["books"])]))}});export{Ge as __pageData,De as default}; diff --git "a/assets/30.\346\202\246\350\257\273\346\227\266\345\205\211_01.\345\245\275\344\271\246\346\216\250\350\215\220.md.BVzgXE8N.lean.js" "b/assets/30.\346\202\246\350\257\273\346\227\266\345\205\211_01.\345\245\275\344\271\246\346\216\250\350\215\220.md.lGftAF4x.lean.js" similarity index 99% rename from "assets/30.\346\202\246\350\257\273\346\227\266\345\205\211_01.\345\245\275\344\271\246\346\216\250\350\215\220.md.BVzgXE8N.lean.js" rename to "assets/30.\346\202\246\350\257\273\346\227\266\345\205\211_01.\345\245\275\344\271\246\346\216\250\350\215\220.md.lGftAF4x.lean.js" index c3de1095..0b444bff 100644 --- "a/assets/30.\346\202\246\350\257\273\346\227\266\345\205\211_01.\345\245\275\344\271\246\346\216\250\350\215\220.md.BVzgXE8N.lean.js" +++ "b/assets/30.\346\202\246\350\257\273\346\227\266\345\205\211_01.\345\245\275\344\271\246\346\216\250\350\215\220.md.lGftAF4x.lean.js" @@ -1 +1 @@ -import{d as A,p as B,h as a,z as h,Y as I,s as W,g as l,y as _,v as P,i as e,W as v,x as c,F as p,t as f,S as n,T as Y,_ as C,r as j,c as T,k as M,U as x,l as g}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const $="/img/cover/health_bg.png",N={class:"book-panel__drawer"},V={class:"book-panel__header-meta"},G={class:"book-panel__title"},D={class:"book-panel__author"},F={class:"book-panel__body"},R={class:"book-panel__top-bar"},Z={class:"book-panel__top-left"},H={class:"book-panel__tags"},J={key:0,class:"book-panel__rating"},O={class:"stars"},E={key:0,viewBox:"0 0 24 24",fill:"currentColor"},K={key:1,viewBox:"0 0 24 24",class:"half-star"},Q=["id"],X=["clip-path"],U={key:2,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.5"},ee={class:"rating-text"},te={class:"book-panel__links"},oe=["href"],ae={width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",style:{"flex-shrink":"0"}},le=["href"],re={width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",style:{"flex-shrink":"0"}},ne={class:"book-panel__section"},se={class:"book-panel__desc"},ie={key:0,class:"book-panel__section"},de={class:"book-panel__highlights"},ce=A({__name:"BookDetailPanel",props:{book:{},open:{type:Boolean},heroColor:{},tagColors:{}},emits:["close"],setup(r,{emit:b}){const t=b;return(w,o)=>(a(),B(Y,{to:"body"},[h(I,{name:"panel-slide"},{default:W(()=>[r.open&&r.book?(a(),l("div",{key:0,class:"book-panel",onClick:o[2]||(o[2]=P(i=>t("close"),["self"]))},[e("div",{class:"book-panel__overlay",onClick:o[0]||(o[0]=i=>t("close"))}),e("div",N,[e("div",{class:"book-panel__header",style:v({background:r.heroColor})},[e("button",{class:"book-panel__close",title:"ๅ…ณ้—ญ",onClick:o[1]||(o[1]=i=>t("close"))},[...o[3]||(o[3]=[e("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none"},[e("path",{d:"M12 4L4 12M4 4l8 8",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)])]),e("div",V,[e("h2",G,c(r.book.title),1),e("p",D,c(r.book.author),1)])],4),e("div",F,[e("div",R,[e("div",Z,[e("div",H,[(a(!0),l(p,null,f(r.book.tags,(i,m)=>(a(),l("span",{key:i,class:"book-panel__tag",style:v({background:r.tagColors[m%r.tagColors.length].bg,color:r.tagColors[m%r.tagColors.length].text})},c(i),5))),128))]),r.book.rating!=null?(a(),l("div",J,[o[8]||(o[8]=e("span",{class:"rating-label"},"ๆŽจ่ๆŒ‡ๆ•ฐ:",-1)),e("div",O,[(a(),l(p,null,f(5,i=>e("span",{key:i,class:"star"},[i<=Math.floor(r.book.rating)?(a(),l("svg",E,[...o[4]||(o[4]=[e("path",{d:"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z"},null,-1)])])):i===Math.ceil(r.book.rating)&&r.book.rating%1!==0?(a(),l("svg",K,[e("defs",null,[e("clipPath",{id:"clip-"+r.book.id},[...o[5]||(o[5]=[e("rect",{x:"0",y:"0",width:"12",height:"24"},null,-1)])],8,Q)]),o[6]||(o[6]=e("path",{class:"star-empty",d:"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z",fill:"none",stroke:"currentColor","stroke-width":"1.5"},null,-1)),e("path",{class:"star-filled",d:"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z",fill:"currentColor","clip-path":"url(#clip-"+r.book.id+")"},null,8,X)])):(a(),l("svg",U,[...o[7]||(o[7]=[e("path",{d:"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z"},null,-1)])]))])),64))]),e("span",ee,c(r.book.rating.toFixed(1)),1)])):_("",!0)]),e("div",te,[e("a",{href:r.book.link,target:"_blank",rel:"noopener",class:"book-panel__link-btn"},[(a(),l("svg",ae,[...o[9]||(o[9]=[e("path",{d:"M18 13v6a2 2 0 01-2 2H5a2 2 0 01-2-2V8a2 2 0 012-2h6M15 3h6v6M10 14L21 3",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},null,-1)])])),o[10]||(o[10]=n(" ่ฑ†็“ฃ ",-1))],8,oe),r.book.wereadLink?(a(),l("a",{key:0,href:r.book.wereadLink,target:"_blank",rel:"noopener",class:"book-panel__link-btn"},[(a(),l("svg",re,[...o[11]||(o[11]=[e("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z",fill:"currentColor"},null,-1)])])),o[12]||(o[12]=n(" ๅพฎไฟก่ฏปไนฆ ",-1))],8,le)):_("",!0)])]),o[15]||(o[15]=e("div",{class:"book-panel__divider"},null,-1)),e("section",ne,[o[13]||(o[13]=e("h3",{class:"book-panel__section-title"},[e("span",{class:"book-panel__section-icon"},"๐Ÿ“–"),n(" ๅ†…ๅฎน็ฎ€ไป‹ ")],-1)),e("p",se,c(r.book.desc),1)]),r.book.highlights&&r.book.highlights.length>0?(a(),l("section",ie,[o[14]||(o[14]=e("h3",{class:"book-panel__section-title"},[e("span",{class:"book-panel__section-icon"},"โœจ"),n(" ไนฆ็ฑไบฎ็‚น ")],-1)),e("ul",de,[(a(!0),l(p,null,f(r.book.highlights,(i,m)=>(a(),l("li",{key:m,class:"book-panel__highlight-item"},c(i),1))),128))])])):_("",!0)])])])):_("",!0)]),_:1})]))}}),he=C(ce,[["__scopeId","data-v-1ddfc013"]]),be={class:"book-list"},ue=["onClick"],ge=["src","alt"],ke={class:"book-cover__overlay"},pe={key:0,class:"book-cover__hint"},we=["href"],me={class:"book-info"},_e={class:"book-info__title"},fe={class:"book-info__author"},qe={key:0,class:"book-info__rating"},ve={class:"stars"},je={key:0,viewBox:"0 0 24 24",fill:"currentColor"},Le={key:1,viewBox:"0 0 24 24",class:"half-star"},ye=["id"],Se=["clip-path"],xe={key:2,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.5"},Ae={class:"rating-text"},Pe={class:"book-info__tags"},Ce={class:"book-info__desc"},ze=A({__name:"BookRecommend",props:{books:{}},setup(r){const b=["linear-gradient(135deg, #e8f0fe 0%, #c7d9fd 100%)","linear-gradient(135deg, #e6f4ea 0%, #b7dfc4 100%)","linear-gradient(135deg, #fff3e0 0%, #ffd9a0 100%)","linear-gradient(135deg, #fce4ec 0%, #f8b4c8 100%)","linear-gradient(135deg, #ede7f6 0%, #cdb8ee 100%)","linear-gradient(135deg, #e0f7fa 0%, #9ee8f0 100%)"],t=[{bg:"#e8f0fe",text:"#3b5bdb"},{bg:"#e6f4ea",text:"#2e7d32"},{bg:"#fff3e0",text:"#e65100"},{bg:"#fce4ec",text:"#c2185b"},{bg:"#ede7f6",text:"#6a1b9a"},{bg:"#e0f7fa",text:"#00838f"}],w=j(null),o=j(0),i=j(!1),m=T(()=>b[o.value%b.length]);function z(q,d){q.withPanel!==!1&&(w.value?.id===q.id&&i.value?L():(w.value=q,o.value=d,i.value=!0))}function L(){i.value=!1,setTimeout(()=>{w.value=null},300)}return(q,d)=>(a(),l(p,null,[e("div",be,[(a(!0),l(p,null,f(r.books,(s,y)=>(a(),l("div",{key:s.id,class:M(["book-card",{"book-card--active":w.value?.id===s.id&&i.value}]),onClick:u=>z(s,y)},[e("div",{class:"book-cover",style:v({background:b[y%b.length]})},[s.cover?(a(),l("img",{key:0,src:s.cover,alt:s.title,class:"book-cover__img"},null,8,ge)):_("",!0),e("div",ke,[s.withPanel!==!1?(a(),l("span",pe,"็‚นๅ‡ปๆŸฅ็œ‹่ฏฆๆƒ…")):(a(),l("a",{key:1,href:s.link,target:"_blank",rel:"noopener",class:"book-cover__hint",onClick:d[0]||(d[0]=P(()=>{},["stop"]))},"ๆŸฅ็œ‹่ฑ†็“ฃ",8,we))])],4),e("div",me,[e("div",_e,"ใ€Š"+c(s.title)+"ใ€‹",1),e("div",fe,c(s.author),1),s.rating!=null?(a(),l("div",qe,[e("div",ve,[(a(),l(p,null,f(5,u=>e("span",{key:u,class:"star"},[u<=Math.floor(s.rating)?(a(),l("svg",je,[...d[1]||(d[1]=[e("path",{d:"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z"},null,-1)])])):u===Math.ceil(s.rating)&&s.rating%1!==0?(a(),l("svg",Le,[e("defs",null,[e("clipPath",{id:"card-clip-"+s.id},[...d[2]||(d[2]=[e("rect",{x:"0",y:"0",width:"12",height:"24"},null,-1)])],8,ye)]),d[3]||(d[3]=e("path",{class:"star-empty",d:"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z",fill:"none",stroke:"currentColor","stroke-width":"1.5"},null,-1)),e("path",{class:"star-filled",d:"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z",fill:"currentColor","clip-path":"url(#card-clip-"+s.id+")"},null,8,Se)])):(a(),l("svg",xe,[...d[4]||(d[4]=[e("path",{d:"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z"},null,-1)])]))])),64))]),e("span",Ae,c(s.rating.toFixed(1)),1)])):_("",!0),e("div",Pe,[(a(!0),l(p,null,f(s.tags,(u,S)=>(a(),l("span",{key:u,class:"tag",style:v({background:t[S%t.length].bg,color:t[S%t.length].text})},c(u),5))),128))]),e("p",Ce,c(s.desc),1)])],10,ue))),128))]),h(he,{book:w.value,open:i.value,"hero-color":m.value,"tag-colors":t,onClose:L},null,8,["book","open","hero-color"])],64))}}),k=C(ze,[["__scopeId","data-v-fd79cd55"]]),Be=[{id:"book-001",title:"ๅฟƒไธญๆœ‰ๆ•ฐ๏ผš็”Ÿๆดปไธญ็š„ๆ•ฐๅญฆๆ€็ปด",author:"ๅˆ˜้›ชๅณฐ",cover:"https://cdn.weread.qq.com/weread/cover/39/3300018939/t6_3300018939.jpg",wereadLink:"https://weread.qq.com/web/reader/df6323a0813ab6de5g019a31#outline?noScroll=1",link:"https://book.douban.com/subject/35749693/",tags:["ๆ•ฐๅญฆๆ€็ปด","็ง‘ๆ™ฎ","ๅ†ณ็ญ–"],desc:"ๆœฌไนฆ้€š่ฟ‡ๅคง้‡่ดด่ฟ‘ๆ—ฅๅธธ็š„ไพ‹ๅญ๏ผŒๅฑ•็คบๆ•ฐๅญฆๆ€็ปดๅฆ‚ไฝ•ไผ˜ๅŒ–ๆˆ‘ไปฌ็š„็”Ÿๆดปๅ†ณ็ญ–ใ€‚ไฝœ่€…็”จๆฆ‚็އใ€็ปŸ่ฎกใ€ๆœ€ไผ˜ๅŒ–็ญ‰ๆ•ฐๅญฆๅทฅๅ…ท๏ผŒไธบ็”Ÿๆดปใ€่Œๅœบใ€ไบบ้™…ไบคๅพ€ไธญ็š„ๆƒ่กก้—ฎ้ข˜ๆไพ›ๅˆ†ๆžๆก†ๆžถ๏ผŒๅธฎๅŠฉ่ฏป่€…ๅœจ้ขๅฏนไธ็กฎๅฎšๆ€งๆ—ถๅƒ่ฎก็ฎ—ๆœบไธ€ๆ ทๆ‰พๅˆฐโ€œๆœ€ไผ˜่งฃโ€ใ€‚",rating:4.9,highlights:["ๅฐ†ๅคงๆ•ฐๅฎšๅพ‹ใ€ๆœ€ๅฐไบŒไน˜ๆณ•็ญ‰็กฌๆ ธๆ•ฐๅญฆๆฆ‚ๅฟตไธŽๆ—ฅๅธธ็”Ÿๆดปๅทงๅฆ™็ป“ๅˆ","ๆไพ›ๅบ”ๅฏนไธ็กฎๅฎšๆ€งๅ’Œๅคš็›ฎๆ ‡ๆЉๆ‹ฉ็š„็ง‘ๅญฆๅ†ณ็ญ–ๆก†ๆžถ","ๅผบ่ฐƒๆ•ฐๅญฆไธไป…ๆ˜ฏๅ…ฌๅผ่ฎก็ฎ—๏ผŒๆ›ดๆ˜ฏ็œ‹ไธ–็•Œใ€ไผ˜ๅŒ–ไบบ็”Ÿ็š„้ซ˜ๆ•ˆๆ€็ปดๅทฅๅ…ท"]},{id:"book-0020",title:"ๆ™บๆ…ง็š„็–†็•Œ๏ผšไปŽๅ›พ็ตๆœบๅˆฐไบบๅทฅๆ™บ่ƒฝ",author:"ๅ‘จๅฟ—ๆ˜Ž",cover:"https://cdn.weread.qq.com/weread/cover/92/YueWen_23637052/t6_YueWen_23637052.jpg",wereadLink:"https://weread.qq.com/web/reader/b9732f007168ac3cb976eca#outline?noScroll=1",link:"https://book.douban.com/subject/30379536/",tags:["ไบบๅทฅๆ™บ่ƒฝ","็ง‘ๆŠ€ๅฒ","้€š่ฏ†่ฏป็‰ฉ"],desc:"ๆœฌไนฆๆ˜ฏไธ€้ƒจ้ขๅ‘ๅคงไผ—็š„ไบบๅทฅๆ™บ่ƒฝ้€š่ฏ†่ฏป็‰ฉใ€‚ไฝœ่€…ๅ‘จๆ˜Žไปฅๆ—ถ้—ดไธบไธป็บฟ๏ผŒๅฐ†ไบบๅทฅๆ™บ่ƒฝ็š„ๅ‘ๅฑ•ๅކ็จ‹ใ€ๅ…ณ้”ฎไบบ็‰ฉไธŽ้‡Œ็จ‹็ข‘ไบ‹ไปถไธฒ่”่ตทๆฅ๏ผŒไปŽไบ”ไธช็ปดๅบฆๅฑ•ๅผ€๏ผšๅญฆๆœฏ็†่ฎบใ€ๅކๅฒๆฒฟ้ฉใ€ๆŠ€ๆœฏๅบ”็”จใ€็ ”็ฉถๆˆๆžœไปฅๅŠ้ขไธด็š„ๅ›ฐ้šพไธŽๆœชๆฅๆŒ‘ๆˆ˜ใ€‚ๅ…จไนฆๆ—จๅœจ็”จ้€šไฟ—็š„่ฏญ่จ€ๅ’Œๅทงๅฆ™็š„็ป“ๆž„๏ผŒๆŠŠไบบๅทฅๆ™บ่ƒฝไปŽโ€œ้˜ณๆ˜ฅ็™ฝ้›ชโ€็š„ๅญฆๆœฏๆฎฟๅ ‚ๅธฆๅˆฐๅ…ฌไผ—่ง†้‡Ž๏ผŒๅธฎๅŠฉ่ฏป่€…็†่งฃ AI ่ƒฝๅšไป€ไนˆใ€ๅšไธๅˆฐไป€ไนˆ๏ผŒไปฅๅŠ่ƒŒๅŽ็š„ๆŠ€ๆœฏไธŽๆ€ๆƒณๆ นๆบใ€‚",rating:5,highlights:["ไปฅๆ—ถ้—ดไธบไธป็บฟ๏ผŒๆธ…ๆ™ฐๆขณ็†ไบบๅทฅๆ™บ่ƒฝ็š„ๅ‘ๅฑ•่„‰็ปœไธŽ้‡Œ็จ‹็ข‘","ๆทฑๅ…ฅๆต…ๅ‡บ๏ผŒ็”จ้€šไฟ—่ฏญ่จ€ๅฐ†ๅคๆ‚็š„ๅญฆๆœฏ็†่ฎบๅธฆๅ…ฅๅ…ฌไผ—่ง†้‡Ž","ๅฎข่ง‚ๅ‰–ๆž๏ผŒๅธฎๅŠฉ่ฏป่€…ๅ‡†็กฎ็•ŒๅฎšAIโ€œ่ƒฝๅšไป€ไนˆโ€ไธŽโ€œๅšไธๅˆฐไป€ไนˆโ€"]},{id:"book-004",title:"ไธบไป€ไนˆไผŸๅคงไธ่ƒฝ่ขซ่ฎกๅˆ’",author:"่‚ฏๅฐผๆ–ฏยทๆ–ฏๅฆๅˆฉ / ไน”ๅฐ”ยท้›ทๆ›ผ",cover:"https://cdn.weread.qq.com/weread/cover/22/cpplatform_wfdzhk1dx7ig9aep4gagof/t6_cpplatform_wfdzhk1dx7ig9aep4gagof1686304376.jpg",wereadLink:"https://weread.qq.com/web/reader/0bf32020813ab7e6bg016510#outline?noScroll=1",link:"https://book.douban.com/subject/36357804/",tags:["ไบบๅทฅๆ™บ่ƒฝ","ๅˆ›ๆ–ฐๆ€็ปด","่ฎค็Ÿฅ็ง‘ๅญฆ"],desc:"ๆœฌไนฆ็”ฑไธคไฝๅ‰ๆฒฟAI็ง‘ๅญฆๅฎถๅˆ่‘—๏ผŒๆๅ‡บไบ†้ข ่ฆ†ไผ ็ปŸโ€œ็›ฎๆ ‡-่ฎกๅˆ’โ€ๆ€็ปด็š„ๅ…จๆ–ฐ่ง†่ง’ใ€‚็ป“ๅˆAI็ ”็ฉถๅฎž่ทต๏ผŒไนฆไธญ่ฎบ่ฏไบ†ไผŸๅคงๆˆๅฐฑๅพ€ๅพ€ๅนถ้žๅ‡บ่‡ช็ฒพๅฟƒ่ฎพ่ฎก็š„่“ๅ›พ๏ผŒ่€Œๆ˜ฏๆบไบŽๅฏนๆœช็Ÿฅ็š„ๅฅฝๅฅ‡ใ€้šๆœบๆŽข็ดขไธŽไธๆ–ญ่ฏ•้”™ใ€‚้€š่ฟ‡โ€œๅฏปๅฎ่€…ๆ€็ปดโ€ๅ’Œโ€œ่ธ่„š็Ÿณๆจกๅž‹โ€็ญ‰ๆ–นๆณ•๏ผŒไธบ่ฏป่€…ๅœจ้ซ˜ๅบฆไธ็กฎๅฎš็š„็Žฏๅขƒไธญๆฟ€ๅ‘็ช็ ดๆ€งๅˆ›ๆ–ฐๆไพ›ไบ†ๅ…ทไฝ“็š„่กŒๅŠจๆก†ๆžถใ€‚",rating:4.5,highlights:["้ข ่ฆ†ไผ ็ปŸ็š„โ€œ็›ฎๆ ‡่ฎบโ€๏ผŒ่ฎบ่ฏไผŸๅคงๆˆๅฐฑๆบ่‡ชๅฏนๆœช็Ÿฅ็š„ๅฅฝๅฅ‡ไธŽๆ— ่พน็•Œ็š„ๆŽข็ดข","ๆไพ›โ€œๅฏปๅฎ่€…ๆ€็ปดโ€โ€œ่ธ่„š็Ÿณๆจกๅž‹โ€โ€œๆ–ฐๅฅ‡ๆ€งๆŽข็ดขโ€ไธ‰ๅคงๅฏๆ“ไฝœ็š„่ฎค็ŸฅไธŽๅฎž่ทตๅทฅๅ…ท","ๆ‰Žๆ นOpenAI็ญ‰ๅ‰ๆฒฟๆœบๆž„็š„ๅฎž่ฏ่ƒŒๆ™ฏ๏ผŒๅ…ถๅฏๅ‘ๆ„ไน‰่ทจๅญฆ็ง‘้€‚็”จไบŽ็ง‘็ ”ใ€ๅ•†ไธšๅŠไบบ็”Ÿ่ง„ๅˆ’"]},{id:"book-003",title:"่ฟ™ๅฐฑๆ˜ฏChatGPT",author:"ๆ–ฏ่’‚่Šฌยทๆฒƒๅฐ”ๅผ—ๆ‹‰ๅง†",cover:"https://cdn.weread.qq.com/weread/cover/24/cpplatform_4cn8w4tmgzntjobg9ffeny/t6_cpplatform_4cn8w4tmgzntjobg9ffeny1703648785.jpg",wereadLink:"https://weread.qq.com/web/reader/74332a90813ab86c4g019d98#outline?noScroll=1",link:"https://book.douban.com/subject/36449803/",tags:["ไบบๅทฅๆ™บ่ƒฝ","ๅคงๆจกๅž‹","ChatGPT"],desc:"ๆœฌไนฆ็”ฑ่‘—ๅ็ง‘ๅญฆๅฎถๆ–ฏ่’‚่Šฌยทๆฒƒๅฐ”ๅผ—ๆ‹‰ๅง†ๆ’ฐๅ†™๏ผŒๅ…จๆ™ฏๅผๆ‹†่งฃไบ†ChatGPT็š„ๅ†…้ƒจๅทฅไฝœๆœบๅˆถใ€‚ไฝœ่€…็”จ้€šไฟ—่ฏญ่จ€่งฃ้‡Šไบ†็ฅž็ป็ฝ‘็ปœๅ’Œ่‡ชๅ›žๅฝ’ๆžถๆž„็ญ‰ๆ ธๅฟƒๆŠ€ๆœฏ๏ผŒๆŽข่ฎจไบ†็ฎ€ๅ•็š„่ฎก็ฎ—่ง„ๅˆ™ๅฆ‚ไฝ•ๆถŒ็Žฐๅ‡บไปคไบบๆƒŠๅน็š„ๆ™บ่ƒฝ๏ผŒๅธฎๅŠฉ่ฏป่€…ๆทฑๅˆป็†่งฃๅคง่ฏญ่จ€ๆจกๅž‹ไธบไฝ•่ƒฝ็”Ÿๆˆ้ซ˜่ดจ้‡็š„ไบบ็ฑปๆฐดๅนณๆ–‡ๆœฌใ€‚",rating:4.3,highlights:["ๅ…จๆ™ฏๆ‹†่งฃๆ ธๅฟƒๆŠ€ๆœฏ๏ผšๆทฑๅ…ฅๆต…ๅ‡บๅœฐ่ฎฒๆธ…ChatGPT่ƒŒๅŽ็š„็ฅž็ป็ฝ‘็ปœไธŽ่‡ชๅ›žๅฝ’ๆžถๆž„","็‹ฌ็‰น็š„ๅคงๅธˆ่ง†่ง’๏ผšๅฐ†ๅคงๆจกๅž‹่ง†ไธบโ€œ็ฎ€ๅ•็š„่ฎก็ฎ—่ง„ๅˆ™โ€ๆถŒ็Žฐๅคๆ‚ๆ™บ่ƒฝ็š„็ปไฝณ่Œƒไพ‹","ๅ…ผ้กพๆŠ€ๆœฏไธŽๅ•†ไธšๅฝฑๅ“๏ผš็ป“ๅˆ็ฎ—ๅŠ›่ง„ๆจกไธŽ่กŒไธšๅ†ฒๅ‡ป๏ผŒๅ…จ้ขๆŽข่ฎจAIๆ—ถไปฃ็š„ๆœบ้‡ไธŽๆŒ‘ๆˆ˜"]},{id:"book-0030",title:"ไบบๅทฅๆ™บ่ƒฝ๏ผš็Žฐไปฃๆ–นๆณ•๏ผˆ็ฌฌ4็‰ˆ๏ผ‰๏ผˆไธŠไธ‹ๅ†Œ๏ผ‰",author:"[็พŽ]ๆ–ฏๅ›พๅฐ”็‰นยท็ฝ—็ด (Stuart Russell) / [็พŽ]ๅฝผๅพ—ยท่ฏบ็ปดๆ ผ(Peter Norvig)",cover:"https://cdn.weread.qq.com/weread/cover/33/cpplatform_8rthznqfhsjuz5fswwn6kx/t6_cpplatform_8rthznqfhsjuz5fswwn6kx1675928213.jpg",wereadLink:"https://weread.qq.com/web/reader/fc332020813ab7942g0102ad#outline?noScroll=1",link:"https://book.douban.com/subject/36152133",tags:["ไบบๅทฅๆ™บ่ƒฝ","ๆ•™ๆ","็†่ฎบๅฎž่ทต็ป“ๅˆ","็ปๅ…ธ่‘—ไฝœ","่ฎก็ฎ—ๆœบ็ง‘ๅญฆ"],desc:"ๆœฌไนฆๆ˜ฏไบบๅทฅๆ™บ่ƒฝ้ข†ๅŸŸ็š„็ปๅ…ธๆƒๅจๆ•™ๆ๏ผŒ็ณป็ปŸใ€ๆทฑๅ…ฅๅœฐๆŽข่ฎจAI้ข†ๅŸŸ็š„็†่ฎบไธŽๅฎž่ทต๏ผŒไปฅ็ปŸไธ€้ฃŽๆ ผ่žๅˆๅฝ“ไปŠๆต่กŒ็š„AIๆ€ๆƒณไธŽๆœฏ่ฏญๅˆฐๅ‰ๆฒฟๅบ”็”จไธญ๏ผŒ็œŸๆญฃๅฎž็Žฐ็†่ฎบไธŽๅฎž่ทต็›ธ็ป“ๅˆใ€‚ๅ…จไนฆๅˆ†7ไธช้ƒจๅˆ†ๅ…ฑ28็ซ ๏ผŒ็†่ฎบ้ƒจๅˆ†ๆถต็›–้€ป่พ‘ใ€ๆฆ‚็އใ€่ฟž็ปญๆ•ฐๅญฆใ€ๆ„Ÿ็Ÿฅใ€ๆŽจ็†ใ€ๅญฆไน ใ€่กŒๅŠจๅŠๅ…ฌๅนณใ€ไฟกไปปใ€็คพไผšๅ…ฌ็›Šๅ’Œๅฎ‰ๅ…จ็ญ‰็คพไผš่ฎฎ้ข˜๏ผ›ๅฎž่ทต้ƒจๅˆ†้€‰ๅ–ๅพฎ็”ตๅญ่ฎพๅค‡ใ€ๆœบๅ™จไบบ่กŒๆ˜ŸๆŽขๆต‹ๅ™จใ€ๅœจ็บฟๆœๅŠกใ€AlphaZeroใ€ไบบๅฝขๆœบๅ™จไบบใ€่‡ชๅŠจ้ฉพ้ฉถใ€AI่พ…ๅŠฉๅŒป็–—็ญ‰็ƒญ้—จๅœบๆ™ฏใ€‚็”ฑๅŠ ๅทžๅคงๅญฆไผฏๅ…‹ๅˆฉๅˆ†ๆ กๆ•™ๆŽˆๆ–ฏๅ›พๅฐ”็‰นยท็ฝ—็ด ไธŽๅ‰่ฐทๆญŒ็ ”็ฉถๆ€ป็›‘ๅฝผๅพ—ยท่ฏบ็ปดๆ ผ่”ๅˆๆ’ฐๅ†™๏ผŒ่ขซๅ…จ็ƒ1500ๅคšๆ‰€้ซ˜ๆ ก้‡‡็”จ๏ผŒ้€‚ๅˆไฝœไธบAI็›ธๅ…ณไธ“ไธšๆœฌ็ง‘็”Ÿๅ’Œ็ ”็ฉถ็”Ÿๆ•™ๆ๏ผŒไนŸๅฏไฝœไธบไธ“ไธšไบบๅ‘˜็š„ๅ‚่€ƒไนฆใ€‚",rating:5,highlights:["ไฝ“็ณปๅฎŒๆ•ด่ฆ†็›–้ขๅนฟ๏ผŒ7ไธช้ƒจๅˆ†28็ซ ๆž„ๆˆ่‡ชๆดฝ็š„AI็†่ฎบไธป็บฟ๏ผŒๆถต็›–ๆ ธๅฟƒ็†่ฎบไธŽๅ‰ๆฒฟ่ฎฎ้ข˜","็†่ฎบไธŽๅฎž่ทตๅนถ้‡๏ผŒๆ—ข้˜่ฟฐๆ ธๅฟƒ็ฎ—ๆณ•ไธŽๆจกๅž‹๏ผŒๅˆๅฑ•็คบๅœจ็ƒญ้—จๅœบๆ™ฏไธญ็š„่ฝๅœฐๅฎžไพ‹๏ผŒไพฟไบŽ็Ÿฅ่ฏ†่ฟ็งป","็ดง่ทŸๅ‰ๆฒฟๅ…ณๆณจ็คพไผš่ฎฎ้ข˜๏ผŒไธ“้—จ่ฎจ่ฎบAIไผฆ็†ไธŽๅฎ‰ๅ…จ๏ผŒๅผ•ๅฏผๆ€่€ƒๆŠ€ๆœฏไธŽ็คพไผš็š„ไบคไบ’่ดฃไปป","ไธ€็ซ™ๅผๆƒๅจๅ‚่€ƒ๏ผŒๅ…ผๅ…ทๆ•™ๆๅฑžๆ€งไธŽไธ“ไธšๅ‚่€ƒไปทๅ€ผ๏ผŒ้€‚้…้ซ˜ๆ กๆ•™ๅญฆไธŽไบงไธšๅฎž่ทตๅŒ้‡้œ€ๆฑ‚","็Žฐไปฃ็†ๅฟต่ดฏ็ฉฟๅง‹็ปˆ๏ผŒ้€š่ฟ‡ๆœ€ๆ–ฐๆกˆไพ‹ไฝ“็ŽฐAI่ฟ›ๅฑ•ไธŽ่กŒไธš่ถ‹ๅŠฟ๏ผŒๅ‘ˆ็Žฐโ€œๆดปโ€็š„AI็”Ÿๆ€"]},{id:"book-0031",title:"ๆจกๅž‹ๆ€็ปด๏ผš็ฎ€ๅŒ–ไธ–็•Œ็š„ไบบๅทฅๆ™บ่ƒฝๆจกๅž‹",author:"้พšๆ‰ๆ˜ฅ",cover:"https://cdn.weread.qq.com/weread/cover/26/YueWen_38601826/t6_YueWen_38601826.jpg",wereadLink:"https://weread.qq.com/web/reader/5a8326e0724d04625a8e740#outline?noScroll=1",link:"https://book.douban.com/subject/35488925/",tags:["ๆจกๅž‹ๆ€็ปด","ไบบๅทฅๆ™บ่ƒฝ","็ฎ—ๆณ•ๆจกๅž‹","ๆœบๅ™จๅญฆไน ","ๅ…ฅ้—จๅฎž่ทต"],desc:"ๆœฌไนฆ่š็„ฆโ€œๅฆ‚ไฝ•็”จๆจกๅž‹็ฎ€ๅŒ–ไธ–็•Œโ€็š„ๆ ธๅฟƒไธป้ข˜๏ผŒๅฐ†ไบบๅทฅๆ™บ่ƒฝๅœจ็ŽฐๅฎžไธšๅŠกไธญ้ขไธด็š„้šพ้ข˜ๅฝ’็บณไธบๆƒ้‡ใ€็Šถๆ€ใ€ๅบๅˆ—ใ€่กจ็คบใ€็›ธไผผใ€ๅˆ†็ฑปๅ…ญๅคง้—ฎ้ข˜๏ผŒๅนถๅ›ด็ป•่ฏฅๆก†ๆžถ่ฎฒ่งฃๅฏนๅบ”ๆจกๅž‹ๆ€่ทฏไธŽ็ฎ—ๆณ•ใ€‚ไนฆไธญๅผฑๅŒ–ๅคๆ‚ๆ•ฐๅญฆๅ…ฌๅผ๏ผŒไปฅๅคง้‡็”ŸๆดปๅŒ–ใ€ไธšๅŠกๅŒ–ๆกˆไพ‹้˜้‡Šๆจกๅž‹็†่ฎบไธŽ่ฝๅœฐๅœบๆ™ฏ๏ผŒๅธฎๅŠฉ่ฏป่€…ๅปบ็ซ‹โ€œๆจกๅž‹โ€”ๅœบๆ™ฏโ€ๆ˜ ๅฐ„ๅ…ณ็ณป๏ผŒ้™ไฝŽAIๆจกๅž‹ๅญฆไน ้—จๆง›๏ผŒๆ—ขๆ˜ฏไบบๅทฅๆ™บ่ƒฝๅˆๅญฆ่€…็š„ๅ…ฅ้—จ่ฏป็‰ฉ๏ผŒไนŸๅฏไธบไผไธšๅทฅ็จ‹ๅธˆใ€็ง‘็ ”ไบบๅ‘˜ๆไพ›ๅฎž่ทตๅ‚่€ƒ๏ผŒ้€‚ๅˆๅ„็ฑป่ฏป่€…ๅญฆไน ๅนถๅฐ†ๆจกๅž‹ๆ€็ปดๅบ”็”จๅˆฐ็”ŸๆดปไธŽๅทฅไฝœไธญใ€‚",rating:4.8,highlights:["ไปฅโ€œๅ…ญๅคง้—ฎ้ข˜โ€ๆก†ๆžถไธฒ่”AIๆจกๅž‹๏ผŒๅฏๆŒ‰ๅœบๆ™ฏๅฟซ้€Ÿๆฃ€็ดข้€‚้…็š„ๆจกๅž‹ๆ€่ทฏ","ไพง้‡่ฝๅœฐๅฎž่ทต๏ผŒๆญ้…ๅคง้‡็”ŸๆดปๅŒ–ไธŽไธšๅŠกๆกˆไพ‹๏ผŒๅŠฉๅŠ›ๅปบ็ซ‹โ€œๆจกๅž‹โ€”ๅœบๆ™ฏโ€ๆ˜ ๅฐ„","้™ไฝŽๅญฆไน ้—จๆง›๏ผŒๅฐ‘ๆ•ฐๅญฆๅ…ฌๅผใ€ๅคš็›ด่ง‚ๆกˆไพ‹๏ผŒๅ…ผ้กพๅˆๅญฆ่€…ไธŽๅทฅ็จ‹่ฝๅœฐ้œ€ๆฑ‚","ๅ—ไผ—็พคไฝ“ๅนฟๆณ›๏ผŒ้€‚้…ๅทฅ็จ‹ๅธˆใ€็ง‘็ ”ไบบๅ‘˜ๅŠๆ™ฎ้€š่ฏป่€…๏ผŒๅฏ่ฟ็งปๆจกๅž‹ๆ€็ปด่‡ณๅฎž้™…ๅœบๆ™ฏ"]},{id:"book-005",title:"ไฝ ็œ‹่ตทๆฅๅฅฝๅƒโ€ฆโ€ฆๆˆ‘็ˆฑไฝ ๏ผšAI็š„ๅทฅไฝœๅŽŸ็†ไปฅๅŠๅฎƒไธบ่ฟ™ไธชไธ–็•Œๅธฆๆฅ็š„็จ€ๅฅ‡ๅคๆ€ช",author:"่ดพๅ†…ๅฐ”ยทๆฒ™ๅ†…",cover:"https://wfqqreader-1252317822.image.myqcloud.com/cover/970/39481970/t6_39481970.jpg",wereadLink:"https://weread.qq.com/book-detail?type=1&senderVid=40710128&v=f9a32c10725a7272f9a14f9&wtheme=white&wfrom=app&wvid=40710128&scene=bottomSheetShare",link:"https://book.douban.com/subject/35407136/",tags:["ไบบๅทฅๆ™บ่ƒฝ","่ถฃๅ‘ณ็ง‘ๆ™ฎ","ๆผซ็”ป็ฎ—ๆณ•"],desc:"่ฟ™ๆ˜ฏไธ€้ƒจๅ†™็ป™ๆ™ฎ้€š่ฏป่€…็š„ไบบๅทฅๆ™บ่ƒฝ่ถฃๅ‘ณ็ง‘ๆ™ฎ่ฏป็‰ฉใ€‚ไฝœ่€…่ดพๅ†…ๅฐ”ยทๆฒ™ๅ†…็ป“ๅˆ็”ŸๆดปๅŒ–็š„ๆฏ”ๅ–ปๅ’Œ่ถ…็บงๅฏ็ˆฑ็š„ๆผซ็”ป๏ผŒๆทฑๅ…ฅๆต…ๅ‡บๅœฐ่ฎฒ่งฃไบ†AI็š„ๅŸบๆœฌๅทฅไฝœๅŽŸ็†ใ€ๅฎž้™…ๅบ”็”จๅŠๅ…ถๅฑ€้™ๆ€งใ€‚ไนฆไธญ้€š่ฟ‡ๅคง้‡ๅนฝ้ป˜็š„AIๅฎž้ชŒไธŽโ€œ็ฟป่ฝฆโ€ๆกˆไพ‹๏ผŒๅธฆ้ข†่ฏป่€…ๅœจ่ฝปๆพๆง่…น็š„ๆฐ›ๅ›ดไธญ๏ผŒๅ‡†็กฎ็†่งฃ็ฎ—ๆณ•่ƒฝๅšไป€ไนˆใ€ไธ่ƒฝๅšไป€ไนˆใ€‚",rating:4.2,highlights:["ๅนฝ้ป˜ๅฏ็ˆฑ็š„ๆผซ็”ปๅฏผ่งˆ๏ผš็”จๆ’ๅ›พๅ’Œ้€šไฟ—่ฏญ่จ€ๅฐ†โ€œๆทฑๅบฆๅญฆไน โ€โ€œ็ฅž็ป็ฝ‘็ปœโ€็ญ‰ๆŠฝ่ฑกๆฆ‚ๅฟตๅฏ่ง†ๅŒ–","ไธฐๅฏŒ็š„่ถฃๅ‘ณๅฎž้ชŒๆกˆไพ‹๏ผš้€š่ฟ‡็ฒพ้€‰็š„AIโ€œ็ฟป่ฝฆโ€ๆ•…ไบ‹๏ผŒ็›ด่ง‚ๆญ็คบ็ฎ—ๆณ•่ƒŒๅŽ็š„้€ป่พ‘ไธŽๆฝœๅœจๅๅทฎ","ๅฎข่ง‚ๅปบ็ซ‹AI่ฎค็Ÿฅ๏ผšๅœจๅฑ•็คบAIๅผบๅคง่ƒฝๅŠ›็š„ๅŒๆ—ถ๏ผŒๆ˜Ž็กฎๆŒ‡ๅ‡บๅ…ถๅœจ่ฏญๅขƒ็†่งฃๅ’Œๅค„็†ๆจก็ณŠไฟกๆฏๆ—ถ็š„็Ÿญๆฟ"]},{id:"book-006",title:"AI็ปๆตŽ๏ผšๆœบๅ™จไบบๆ—ถไปฃ็š„ๅทฅไฝœใ€่ดขๅฏŒๅ’Œ็คพไผš็ฆๅˆฉ",author:"็ฝ—ๆฐยทๅธƒ็‰นๅฐ”",cover:"https://cdn.weread.qq.com/weread/cover/30/YueWen_38229387/t6_YueWen_38229387.jpg",wereadLink:"https://weread.qq.com/web/reader/653320207247558b65332f5#outline?noScroll=1",link:"https://book.douban.com/subject/35433060/",tags:["ไบบๅทฅๆ™บ่ƒฝ","็ปๆตŽๅญฆ","็คพไผšๅญฆ","ๆœชๆฅ่ถ‹ๅŠฟ"],desc:"ๆœฌไนฆ็”ฑ็Ÿฅๅ็ปๆตŽๅญฆๅฎถ็ฝ—ๆฐยทๅธƒ็‰นๅฐ”ๆ’ฐๅ†™๏ผŒ่š็„ฆAIไธŽๆœบๅ™จไบบๆŠ€ๆœฏๅฏน็ปๆตŽๅ’Œ็คพไผš็š„ๆทฑ่ฟœๅฝฑๅ“ใ€‚ไฝœ่€…ๆ‹จๅผ€่‰ฐๆถฉ็š„็ง‘ๆŠ€ๆœฏ่ฏญ๏ผŒไปŽ็ปๆตŽๅขž้•ฟใ€้€š่ดง่†จ่ƒ€ๅŠ่ดขๅฏŒๅˆ†้…็ญ‰ๅฎ่ง‚่ง†่ง’๏ผŒ็†ๆ€งๅ‰–ๆžAI้ฉๅ‘ฝๅฐ†ๅฆ‚ไฝ•้‡ๅก‘ๆˆ‘ไปฌ็š„ๅทฅไฝœใ€ๆ•™่‚ฒไธŽไผ‘้—ฒๆ–นๅผ๏ผŒไปฅไน่ง‚็š„ๅงฟๆ€ไธบ่ฟŽๆŽฅๆœชๆฅ็š„็คพไผšๅ˜้ฉๆŒ‡ๆ˜Ž่ทฏๅพ„ใ€‚",rating:4.1,highlights:["ๅฎ่ง‚็ปๆตŽ่ง†่ง’่งฃๆž๏ผšๆทฑๅ…ฅๆŽข่ฎจAIๅฏน็ปๆตŽๅขž้•ฟใ€้€š่ดง่†จ่ƒ€ใ€่ดขๅฏŒไธŽๆƒๅŠ›ๅˆ†้…็š„็œŸๅฎžๅฝฑๅ“","ๅ…จๆ™ฏๅผ็คพไผšๆดžๅฏŸ๏ผšๅ…จ้ขๆฃ€่ง†ๆœบๅ™จไบบๆ—ถไปฃไธ‹๏ผŒไบบ็ฑปๆ•™่‚ฒไฝ“็ณปใ€ๅทฅไฝœๆจกๅผไธŽไผ‘้—ฒๅฝขๆ€็š„ๆทฑๅˆปๅ˜้ฉ","็†ๆ€งไน่ง‚็š„ๆœชๆฅๆŒ‡ๅ—๏ผšๆ‹’็ปๆŠ€ๆœฏๆๆ…Œ๏ผŒไธบไธชไบบไธŽ็คพไผšๅœจๅ˜่ฟ็š„ไธ–็•Œไธญๆไพ›ๆธ…ๆ™ฐๅฏ่กŒ็š„ๅบ”ๅฏน่ฎกๅˆ’"]}],Ie=[{id:"book-007",title:"ๅšๅฏนไบงๅ“",author:"้˜ฟๅฐ”่ดๆ‰˜ยท็ดข็ปดไบš",cover:"https://cdn.weread.qq.com/weread/cover/53/YueWen_40877841/t6_YueWen_40877841.jpg",wereadLink:"https://weread.qq.com/web/reader/254322a0726fbf1125472c9#outline?noScroll=1",link:"https://book.douban.com/subject/35607961/",tags:["ไบงๅ“ๆ€็ปด","ๅˆ›ไธš","ๅ•†ไธšๆ–นๆณ•่ฎบ"],slogan:"ไธบไป€ไนˆๆœ‰ไบ›ไบงๅ“ๆณจๅฎšๅคฑ่ดฅ๏ผŒๆœ‰ไบ›ไบงๅ“ๅด่ƒฝๅคง่ŽทๆˆๅŠŸ๏ผŸๆฅ่‡ช่ฐทๆญŒไธŽๆ–ฏๅฆ็ฆ็š„ไบงๅ“ๅทฅๅ…ทๅ’Œไบงๅ“ๆˆ˜ๆœฏใ€‚",desc:"่ฐทๆญŒ้ฆ–ไปปไบงๅ“ๆ€ป็›‘้˜ฟๅฐ”่ดๆ‰˜ยท็ดข็ปดไบš็ป“ๅˆๅœจ่ฐทๆญŒใ€ๆ–ฏๅฆ็ฆ็š„ๅฎžๆˆ˜็ป้ชŒไธŽ่‡ช่บซไปฃไปท้ซ˜ๆ˜‚็š„ๅˆ›ไธšๅคฑ่ดฅ็ปๅކ๏ผŒๆ€ป็ป“ๅ‡บ็š„ไธ€ๅฅ—้˜ฒ่ดฅๆ‰‹ๅ†Œใ€‚ไนฆไธญๆญ็คบไบ†ๆ–ฐไบงๅ“้ซ˜่พพ90%็š„โ€œๅธ‚ๅœบๅคฑ่ดฅๅพ‹โ€๏ผŒๅนถๅˆ›ๆ–ฐๆ€งๅœฐๆๅ‡บไบ†โ€œ้ข„ๅž‹โ€๏ผˆPreๅž‹๏ผ‰็†ๅฟต๏ผŒๆŒ‡ๅฏผๅ›ข้˜Ÿๅœจๆญฃๅผๅผ€ๅ‘ๅ‰๏ผŒไปฅๆžไฝŽ็š„ๆˆๆœฌๅ’Œ็œŸๅฎžๆ•ฐๆฎๅฟซ้€Ÿ้ชŒ่ฏๅ…ณ้”ฎๅ‡่ฎพ๏ผŒ็กฎไฟๆŠŠๅˆ›ๆ„ๆ‰“็ฃจๆˆโ€œๆญฃ็กฎ็š„ๅฎƒโ€ใ€‚",rating:4.8,highlights:["ๆญ็คบๆฎ‹้…ท็š„ๅธ‚ๅœบๅคฑ่ดฅๅพ‹๏ผšๆญฃ่ง†90%ๆ–ฐไบงๅ“ๅฟ…็„ถๅคฑ่ดฅ็š„ๅ•†ไธšๅธธๆ€๏ผŒๅนถไปฅๆญคๅ€’ๆŽจ็ ดๅฑ€็š„ๅฎžๆˆ˜ๆ–นๆณ•่ฎบ","้ฆ–ๅˆ›โ€œ้ข„ๅž‹โ€๏ผˆPreๅž‹๏ผ‰ๆฆ‚ๅฟต๏ผšๆไพ›8ๅคงๆต‹่ฏ•ๅทฅๅ…ท๏ผŒไธปๅผ ็”จๆžไฝŽๆˆๆœฌๅ’Œๅฐ่ง„ๆจก่ฏ•้”™ๅฟซ้€Ÿ้€ผ่ฟ‘ๆญฃ็กฎ็š„ไบงๅ“ๅฝขๆ€","ๅผบ่ฐƒ็œŸๅฎžๆ•ฐๆฎ้ฉฑๅŠจๅ†ณ็ญ–๏ผš่พ…ไปฅ็‰นๆ–ฏๆ‹‰ใ€่ฐทๆญŒ็ญ‰ๅฎŒๆ•ดๆกˆไพ‹ๅ›žๆบฏ๏ผŒๆ•™ๅฏผๅ›ข้˜Ÿๅฐ†ๅ†ณ็ญ–ๅปบ็ซ‹ๅœจๅฎข่ง‚่ฏๆฎ่€Œ้žไธป่ง‚็›ด่ง‰ไน‹ไธŠ"]},{id:"book-009",title:"ไฟžๅ†›ไบงๅ“ๆ–นๆณ•่ฎบ",author:"ไฟžๅ†›",cover:"https://cdn.weread.qq.com/weread/cover/47/YueWen_28165041/t6_YueWen_28165041.jpg",wereadLink:"https://weread.qq.com/web/reader/1cc3252071adc3b11cc0162#outline?noScroll=1",link:"https://book.douban.com/subject/34907971/",tags:["ไบงๅ“ๆ€็ปด","ไบงๅ“็ป็†","ไบ’่”็ฝ‘","ๆ–นๆณ•่ฎบ"],desc:"โ€œ็™พๅบฆ่ดดๅงไน‹็ˆถโ€ไฟžๅ†›ไบŒๅไฝ™ๅนดไบงๅ“ๅฎž่ทตไธŽๆ€่€ƒ็š„็ณป็ปŸๆ€ป็ป“ใ€‚ๆœฌไนฆๅฐ†ไบงๅ“็ป็†ๅฎšไน‰ไธบโ€œไปฅ็ง‘ๅญฆๆ–นๆณ•็ ”็ฉถไบบๆ€งๅนถ่ฝฌๅŒ–ไธบๅ•†ไธšๆ–นๆกˆโ€็š„ไบคๅ‰ๅญฆ็ง‘๏ผŒๆทฑๅ…ฅ่งฃๆžไบ†็”จๆˆทๆจกๅž‹ใ€ไบคๆ˜“ๆจกๅž‹ๅ’Œๅ†ณ็ญ–ๆจกๅž‹ไธ‰ๅคงๆ ธๅฟƒๆก†ๆžถ๏ผŒไธบไบงๅ“ไบบๆไพ›ไบ†ไธ€ๅฅ—ๅœจไธ็กฎๅฎš็Žฏๅขƒไธญๆƒ่กกๅคšๆ–นๅˆฉ็›Š็š„ๅฎžๆˆ˜ๆŒ‡ๅ—ใ€‚",rating:4.4,highlights:["ๆฒ‰ๆท€ไบŒๅๅนด่กŒไธš็ป้ชŒ๏ผšไปŽๅนฟไธบๆตไผ ็š„โ€œPM12ๆกโ€ๅˆฐ็ณป็ปŸๅŒ–็š„ไบงๅ“ๅ“ฒๅญฆ๏ผŒๅฑ•็Žฐ้กถๅฐ–ไบงๅ“็ป็†็š„่ฎค็Ÿฅ่ฟญไปฃๅฒ","ไธ‰ๅคงๆ ธๅฟƒๆจกๅž‹ๆ‹†่งฃ๏ผšๆทฑๅบฆๅ‰–ๆž็”จๆˆทๆจกๅž‹ไธŽไบคๆ˜“ๆจกๅž‹๏ผŒๆŒ‡ๅฏผๅฆ‚ไฝ•้€š่ฟ‡่ฎฉไบคๆ˜“ๅ‘็”Ÿๆฅๅˆ›้€ โ€œๆœ‰ๅˆฉๅฏๅ›พโ€็š„็œŸๅฎž็”จๆˆทไปทๅ€ผ","ๅ…ผ้กพ็ง‘ๅญฆไธŽไบบๆ–‡่ง†่ง’๏ผšๅผบ่ฐƒๆ‰นๅˆคๆ€งๆ€็ปด็š„่ฟ็”จ๏ผŒๅนถๆธ…ๆ™ฐๆขณ็†ไบ†ไปŽๆ–ฐไบบๅˆฐ้กถๅฐ–ๅคง็‰›็š„่ƒฝๅŠ›่ฟ›้˜ถ่ทฏๅพ„"]},{id:"book-016",title:"็ญ–็•ฅไบงๅ“็ป็†๏ผšๆจกๅž‹ไธŽๆ–นๆณ•่ฎบ",author:"้’ๅไบ”",cover:"https://cdn.weread.qq.com/weread/cover/31/cpplatform_gheeqe7hjb2czyzthzf5nm/t6_cpplatform_gheeqe7hjb2czyzthzf5nm1735654872.jpg",wereadLink:"https://weread.qq.com/web/reader/4de32800813ab98d5g01286b#outline?noScroll=1",link:"https://book.douban.com/subject/35218721/",tags:["ไบงๅ“็ป็†","็ญ–็•ฅไบงๅ“","็ฎ—ๆณ•ๆ€็ปด"],desc:"ๆœฌไนฆๅ›ด็ป•โ€œ็ญ–็•ฅไบงๅ“็ป็†โ€่ฟ™ไธ€ๅคๅˆ่ง’่‰ฒ๏ผŒ็ณป็ปŸๆ€งๅœฐๆž„ๅปบไบ†ไปŽ็†ๅฟตๅˆฐๅฎž่ทต็š„ๅฎŒๆ•ด็Ÿฅ่ฏ†ๆก†ๆžถใ€‚ไฝœ่€…ไปŽๆœบๅ™จๅญฆไน ็†่ฎบไธŽ็ปๆตŽๅญฆ่ง†่ง’ๅ‡บๅ‘๏ผŒ็ป“ๅˆๆŽจ่ใ€ๆœ็ดขใ€ๅนฟๅ‘Šใ€้ฃŽๆŽง็ญ‰ๆ ธๅฟƒไธšๅŠกๅœบๆ™ฏ๏ผŒๆทฑๅ…ฅๆต…ๅ‡บๅœฐ่ฎฒ่งฃไบ†ๅ‡ฝๆ•ฐๅปบๆจกไธŽ็ญ–็•ฅๅบ”็”จ๏ผŒๅนถๅฏน็ญ–็•ฅไบงๅ“็ป็†็š„ๆ ธๅฟƒ่ƒฝๅŠ›ไธŽๅ›ข้˜Ÿๅปบ่ฎพ็ป™ๅ‡บไบ†่ฏฆๅฐฝๆŒ‡ๅฏผใ€‚",rating:3.9,highlights:["็ณป็ปŸๅŒ–็š„่ง’่‰ฒ่ฎค็Ÿฅๅปบๆž„๏ผšๆธ…ๆ™ฐ็•Œๅฎš็ญ–็•ฅไบงๅ“็ป็†็š„ๆ—ถไปฃ่ƒŒๆ™ฏใ€่Œ่ดฃ่พน็•ŒไธŽๅทฅไฝœๅ†…ๅฎน๏ผŒไธบไปŽไธš่€…ๅคฏๅฎžๆฆ‚ๅฟตๅŸบ็ก€","่ทจๅญฆ็ง‘็š„ๆจกๅž‹ไธŽไธšๅŠก็ป“ๅˆ๏ผšๅˆฉ็”จๆœบๅ™จๅญฆไน ็š„ๅ‡ฝๆ•ฐๆ–นๆณ•่ฎบไธŽ็ปๆตŽๅญฆ็†่ฎบ๏ผŒๆทฑๅบฆๅ‰–ๆžๆŽจ่ใ€ๆœ็ดขใ€ๅนฟๅ‘Šใ€้ฃŽๆŽงๅŠๅฎšไปท็ญ‰็œŸๅฎžไธšๅŠกๅœบๆ™ฏ็š„่งฃๆณ•","็กฌๆ ธ็ฎ—ๆณ•็š„้€šไฟ—ๅŒ–่งฃๆž๏ผšๆทฑๅ…ฅๆต…ๅ‡บๅœฐๆ‹†่งฃๆœบๅ™จๅญฆไน ๆœฌ่ดจใ€ๅธธ่ง็ฎ—ๆณ•ๅŠๆทฑๅบฆๅญฆไน ๅ‰ๆฒฟๆŠ€ๆœฏ๏ผŒๅธฎๅŠฉไบงๅ“็ป็†็œŸๆญฃ็†่งฃ็ญ–็•ฅ่ƒŒๅŽ็š„ๆŠ€ๆœฏๆ”ฏๆ’‘","ๅฏ่ฝๅœฐ็š„ๅ›ข้˜Ÿๅปบ่ฎพๆŒ‡ๅ—๏ผšๅ…จ้ขๆ‹†่งฃๆ•ฐๆฎๅˆ†ๆžใ€ๆฒŸ้€šไธŽ้กน็›ฎ็ฎก็†็ญ‰ๆ ธๅฟƒ่ƒฝๅŠ›้กน๏ผŒๅนถ้’ˆๅฏนไธๅŒไบงๅ“็”Ÿๅ‘ฝๅ‘จๆœŸๆไพ›็ญ–็•ฅๅ›ข้˜Ÿ็š„็ป„ๅปบๆ€่ทฏ"]},{id:"book-008",title:"ๅˆ›้€ ๏ผš็”จ้žไผ ็ปŸๆ–นๅผๅšๆœ‰ไปทๅ€ผ็š„ไบ‹",author:"ๆ‰˜ๅฐผยทๆณ•ๅพทๅฐ”",cover:"https://cdn.weread.qq.com/weread/cover/53/cpPlatform_tzdqT27m3vyaHnX5o8Vbwk/t6_cpPlatform_tzdqT27m3vyaHnX5o8Vbwk.jpg",wereadLink:"https://weread.qq.com/web/reader/13832ac0813ab725fg018645#outline?noScroll=1",link:"https://book.douban.com/subject/36071759/",tags:["ไบงๅ“ๆ€็ปด","็ฎก็†ๅญฆ","ๅˆ›ไธš"],desc:"ๆœฌไนฆๆ˜ฏiPodใ€iPhoneใ€Nest็ญ‰็ˆ†ๆฌพไบงๅ“ๅน•ๅŽๆŽจๆ‰‹ๆ‰˜ๅฐผยทๆณ•ๅพทๅฐ”30ไฝ™ๅนด่Œไธš็ปๅކ็š„ๆ™บๆ…ง็ป“ๆ™ถใ€‚ไฝœ่€…ๆฏซๆ— ไฟ็•™ๅœฐๅˆ†ไบซไบ†ไป–ๅœจไบงๅ“่ฎพ่ฎกใ€ๅ›ข้˜Ÿ็ฎก็†ใ€่Œไธš้€‰ๆ‹ฉๅ’Œๅ…ฌๅธ็ป่ฅ็ญ‰ๆ–น้ข็š„โ€œ้žไผ ็ปŸโ€ๆ–นๆณ•่ฎบ๏ผŒๅธฎๅŠฉ่ฏป่€…ๅœจๅ„่‡ช็š„้ข†ๅŸŸๅ†…ๅˆปๆ„็ปƒไน ๅˆ›้€ ๅŠ›๏ผŒๅš็œŸๆญฃๆœ‰ไปทๅ€ผ็š„ไบ‹ใ€‚",rating:4.9,highlights:["ๆบ่‡ช้กถ็บงๅˆ›ๆ–ฐ่€…็š„ๅฎžๆˆ˜็ป้ชŒ๏ผš่ฟž็ปญๆ‰“้€ iPodใ€iPhone็ญ‰ๅˆ’ๆ—ถไปฃไบงๅ“็š„ไบฒๅކๅค็›˜ไธŽ็œŸๅฎžๅ้ขๆ•™่ฎญ","่ฆ†็›–ไปŽไธชไบบๅˆฐๅ…ฌๅธ็š„ๅฎŒๆ•ด่ทฏๅพ„๏ผš็ณป็ปŸ่งฃ็ญ”่Œไธš้€‰ๆ‹ฉใ€ไบงๅ“่ฎพ่ฎกใ€ๅ›ข้˜Ÿ็ฎก็†ไธŽไผไธš็ป่ฅ็ญ‰ๆ ธๅฟƒ้—ฎ้ข˜","ๆไพ›ๅฏๅคๅˆถ็š„โ€œ้žไผ ็ปŸโ€ๆ–นๆณ•่ฎบ๏ผšๅผบ่ฐƒโ€œไบฎ็‚นๆ€็ปดโ€ไธŽๆŒ็ปญๅค็›˜๏ผŒๆ•™ๅฏผ่ฏป่€…ไปฅๅๅธธ่ง„็š„่ง†่ง’ๅˆปๆ„็ปƒไน ๅˆ›้€ ๅŠ›"]},{id:"book-010",title:"ไบงๅ“ๆ€็ปด",author:"ๅˆ˜้ฃž",cover:"https://cdn.weread.qq.com/weread/cover/56/YueWen_25568738/t6_YueWen_25568738.jpg",wereadLink:"https://weread.qq.com/web/reader/38332ce0718625e23831fe7#outline?noScroll=1",link:"https://book.douban.com/subject/33456375/",tags:["ไบงๅ“ๆ€็ปด","ไบงๅ“็ป็†","ไธชไบบๆˆ้•ฟ","ไบ’่”็ฝ‘"],desc:"ๅฎžๆˆ˜ๆดพไบงๅ“็ป็†ๅˆ˜้ฃž็ป“ๅˆๅœจไธ€็บฟๅคงๅŽ‚็š„ไธฐๅฏŒ็ป้ชŒ๏ผŒๅ›ด็ป•ไบงๅ“ไบบๅฆ‚ไฝ•ๅฎž็Žฐ่ƒฝๅŠ›่ทƒ่ฟๅฑ•ๅผ€็š„ๅบ•ๅฑ‚่ƒฝๅŠ›ๆŒ‡ๅ—ใ€‚ๅ…จไนฆๆŽฐๅผ€ๆ‰็ขŽๅœฐ่ฎฒ่งฃไบ†่ฎค็Ÿฅ็›ฒ็‚นไธŽๅฎž่ทต็—›็‚น๏ผŒ้€š่ฟ‡โ€œ่ฎค็Ÿฅ็”จๆˆทโ€โ€œๅˆ›้€ ไปทๅ€ผโ€ๅ’Œโ€œไบงๅ“่ฝๅœฐโ€ไธ‰ๅคงๆ ธๅฟƒๆฟๅ—๏ผŒ็ณป็ปŸๆ‹†่งฃไบ†ไปŽๅปบ็ซ‹็”จๆˆทๆจกๅž‹ใ€้ซ˜่ดจ้‡ๅ†ณ็ญ–ๅˆฐๅฟซ้€Ÿ่ฟญไปฃ้ชŒ่ฏ็š„ๅฎŒๆ•ดไบงๅ“ๆ–นๆณ•่ฎบใ€‚",rating:4.2,highlights:["ไธ‰ๅคงๆ ธๅฟƒๆฟๅ—็ณป็ปŸๆ‹†่งฃ๏ผšๅฎŒๆ•ด่ฆ†็›–โ€œ่ฎค็Ÿฅ็”จๆˆทโ€โ€œๅˆ›้€ ไปทๅ€ผโ€ไธŽโ€œไบงๅ“่ฝๅœฐโ€็š„ไบงๅ“้—ญ็Žฏ","็›ดๅ‡ป็—›็‚น็š„ไธ€็บฟๅฎžๆˆ˜็ป้ชŒ๏ผšๆฏซๆ— ไฟ็•™ๅœฐๅˆ†ไบซๅฎžๆˆ˜ไธญๆ–ฐๆ‰‹่ฟซๅˆ‡้œ€่ฆๅด้šพไปฅ่Žทๅ–็š„้šๆ€ง็Ÿฅ่ฏ†","่š็„ฆๅบ•ๅฑ‚่ƒฝๅŠ›ไธŽๆ€็ปดๅ‡็ปด๏ผšไธไป…ๆ•™ๆŽˆ่ฝๅœฐๆ–นๆณ•๏ผŒๆ›ดๆณจ้‡ๅ†ณ็ญ–่ดจ้‡ไธŽๆ€็ปดๆจกๅผ็š„่ทƒ่ฟ"]},{id:"book-011",title:"ไบงๅ“ๆ€็ปด๏ผšๅˆ›ๆ–ฐ่ฎพ่ฎก็š„ๅ…ญๆกๆณ•ๅˆ™๏ผˆๅ…จๅฝฉ๏ผ‰",author:"ๅผ ๅฐๅธ…",cover:"https://wfqqreader-1252317822.image.myqcloud.com/cover/253/26687253/t6_26687253.jpg",wereadLink:"https://weread.qq.com/web/reader/a823297071973715a8202b0#outline?noScroll=1",link:"https://book.douban.com/subject/34859540/",tags:["ไบงๅ“่ฎพ่ฎก","ๅˆ›ๆ–ฐๆ€็ปด","ๆ–นๆณ•่ฎบ","่ฎพ่ฎก็ตๆ„Ÿ"],desc:"ๆœฌไนฆๅ›ด็ป•ไฝœ่€…ๅผ ๅฐๅธ…ๅคšๅนดไบงๅ“่ฎพ่ฎกๅฎž่ทตๆ€ป็ป“ๅ‡บ็š„6ๆกๅˆ›ๆ„ๅ…ฌๅผๅฑ•ๅผ€๏ผŒๆ—จๅœจๅธฎๅŠฉ่ฏป่€…็ณป็ปŸๅŒ–ๅœฐ่Žทๅ–่ฎพ่ฎก็ตๆ„Ÿๅนถ่งฃๅ†ณๅˆ›ๆ–ฐ้šพ้ข˜ใ€‚ๅ…จไนฆ้€š่ฟ‡ๅคง้‡็ปๅ…ธๆกˆไพ‹๏ผŒ่ฏฆ็ป†่งฃๆžไบ†ไปŽๅ‘ๆ•ฃๆ€่€ƒๅˆฐ้‡็ป„ๅˆ›ๆ–ฐ็š„ๅ…จ่ฟ‡็จ‹๏ผŒๅนถๅœจๆœ€ๅŽๆไพ›ไบ†ไปŽ้œ€ๆฑ‚ๅˆฐ่‰ๅ›พๅ†ๅˆฐๆœ€็ปˆๆ–นๆกˆ็š„ๅฎŒๆ•ด้กน็›ฎ่ฝๅœฐๆผ”็คบใ€‚",rating:4,highlights:["ๆ็‚ผ6ๆกๅฎž็”จ็š„ๅˆ›ๆ–ฐ่ฎพ่ฎกๅ…ฌๅผ๏ผšๅฐ†ๅ‘ๆ•ฃๆ€่€ƒไธŽ้‡็ป„ๅˆ›ๆ–ฐ็ณป็ปŸๅŒ–๏ผŒๆ‰“้€ ๅฏๅค็”จ็š„่ฎพ่ฎก็ตๆ„Ÿๅบ“","ไธฐๅฏŒ็š„็ปๅ…ธ่ฎพ่ฎกๆกˆไพ‹่งฃๆž๏ผš่ฏฆ็ป†ๅฑ•็คบโ€œ้—ฎ้ข˜+ๆ–นๆณ•โ€ใ€โ€œ1+1>2โ€็ญ‰ๆณ•ๅˆ™ๅœจ็œŸๅฎžไบงๅ“่ฎพ่ฎกไธญ็š„ๅบ”็”จ","ๅ‘ˆ็ŽฐไปŽ้œ€ๆฑ‚ๅˆฐๆ–นๆกˆ็š„่ฝๅœฐๅ…จๆต็จ‹๏ผš้€š่ฟ‡็ปผๅˆๆกˆไพ‹ๆผ”็คบๆฆ‚ๅฟตๆ‰“็ฃจไธŽ่‰ๅ›พ่ฎพ่ฎก็š„ๅฎžๆˆ˜่ฟ‡็จ‹"]}],We=[{id:"book-012",title:"ๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™",author:"่จๅธŒๅฐ”ยทๆ‹‰ๆ–‡ๅ‰ไบš",cover:"https://cdn.weread.qq.com/weread/cover/91/cpplatform_vl4abrrrqgxnry833gcrtt/t6_cpplatform_vl4abrrrqgxnry833gcrtt1677578056.jpg",wereadLink:"https://weread.qq.com/web/reader/02932980813ab7a43g012e77#outline?noScroll=1",link:"https://book.douban.com/subject/36280425/",tags:["ๅˆ›ไธš","ๅ•†ไธšๆจกๅผ","ๆž็ฎ€ไธปไน‰"],desc:"ๆœฌไนฆๆ‰“็ ดไบ†็ก…่ฐท็›ฒ็›ฎ่ฟฝๆฑ‚โ€œ็‹ฌ่ง’ๅ…ฝโ€็š„ๆ‰ฉๅผ ่ฟทๆ€๏ผŒ่š็„ฆไบŽโ€œ่ง„ๆจกไธๆ˜ฏๅ”ฏไธ€ๅ‡บ่ทฏโ€็š„ๅ•†ไธš็Žฐๅฎžใ€‚ไฝœ่€…็ป“ๅˆๅˆ›็ซ‹Gumroad็š„ไบฒ่บซ็ปๅކ๏ผŒๆๅ‡บไบ†โ€œๆž็ฎ€ๅˆ›ไธš็ป่ฅโ€็†ๅฟตใ€‚ๅ…จไนฆๆŒ‡ๅฏผๅˆ›ไธš่€…ไธŽ็ฎก็†่€…ๅฆ‚ไฝ•้€š่ฟ‡ไปŽ็คพๅŒบๅˆ‡ๅ…ฅใ€่š็„ฆๆ ธๅฟƒ่ƒฝๅŠ›ใ€็ฒพ็ฎ€ๅ›ข้˜Ÿ็ญ‰ๆ–นๅผ๏ผŒ็”จๆœ€ๅฐ‘็š„่ต„ๆบๆ‰“้€ ๅ‡บไธไป…่ƒฝๆดปไธ‹ๅŽป๏ผŒ่€Œไธ”่ฟ˜่ƒฝๆŒ็ปญ็›ˆๅˆฉ็š„โ€œๆ…ขๅ…ฌๅธโ€ใ€‚",rating:5,highlights:["้ข ่ฆ†ไผ ็ปŸ็š„ๆ‰ฉๅผ ่ฟทๆ€๏ผšๆๅ‡บ็›ˆๅˆฉ่‡ณไธŠ่€Œ้ž่ง„ๆจก่‡ณไธŠ๏ผŒๅฐ†ๆŒ็ปญ่ตš้’ฑๅ’Œๅฎž้™…ๅˆฉๆถฆไฝœไธบ่กก้‡ไผไธšๆˆๅŠŸ็š„ๆ ธๅฟƒๆ ‡ๅ‡†","ๅฏ่ฝๅœฐ็š„ๆž็ฎ€ๆณ•ๅˆ™๏ผšๆ€ป็ป“ๅ‡บโ€œ่ถŠๅฐ‘่ถŠๅฅฝโ€โ€œ็ž„ๅ‡†ๅ‰100ไธชๅฎขๆˆทโ€็ญ‰7ๆกๅˆ›ไธšๆธ…ๅ•๏ผŒๆž„ๅปบไปŽๅฎšไฝใ€ไบงๅ“ๅˆฐ้”€ๅ”ฎ็š„ๅฎŒๆ•ด้—ญ็Žฏ","็คพๅŒบ้ฉฑๅŠจ็š„ๅ•†ไธš้€ป่พ‘๏ผšๆๅ€กไปŽ่™šๆ‹Ÿ็คพๅŒบๅ…ฅๆ‰‹๏ผŒไปฅโ€œ่ดก็Œฎ-ๅˆ›ไฝœ-ๆ•™ๅญฆโ€็š„ๆ–นๅผไฝŽๆˆๆœฌ้ชŒ่ฏไบงๅ“ๅฝขๆ€ๅนถ่Žทๅ–ๆ—ฉๆœŸไฟกไปป","ๆ‰“้€ ้ซ˜้Ÿงๆ€ง็š„โ€œๆ…ขๅ…ฌๅธโ€๏ผš็ป“ๅˆ็–ซๆƒ…ไธŽ่ฟœ็จ‹ๅŠžๅ…ฌ่ƒŒๆ™ฏ๏ผŒๅฑ•็คบๅฆ‚ไฝ•้€š่ฟ‡็ฒพ็ฎ€็ป„็ป‡ๅ’Œๅˆ†ๅธƒๅผๅไฝœ๏ผŒๅœจไธ็กฎๅฎš็š„ๆ—ถไปฃไฟๆŒ็จณๅฎš็š„็Žฐ้‡‘ๆต"]},{id:"book-013",title:"ๅš้šพ่€Œๆญฃ็กฎ็š„ไบ‹๏ผš่ฟ›ๆญฅๆœ€ๅฟซ็š„ๆ–นๅผ",author:"ๅฐค้‡Œยท่Žฑๆ–‡",cover:"https://cdn.weread.qq.com/weread/cover/53/cpplatform_bunxjyygj8m9stnwcgwqqk/t6_cpplatform_bunxjyygj8m9stnwcgwqqk1728876401.jpg",wereadLink:"https://weread.qq.com/web/reader/aa032fb0813ab9461g018406#outline?noScroll=1",link:"https://book.douban.com/subject/37054102/",tags:["ๅˆ›ไธš","ไบงๅ“ๆ€็ปด","ๅ•†ไธš็ฎก็†"],desc:"Waze่”ๅˆๅˆ›ๅง‹ไบบๅฐค้‡Œยท่Žฑๆ–‡ๅ†™็ป™ๅˆ›ไธš่€…ๅ’Œ็ฎก็†่€…็š„่กŒๅŠจๆŒ‡ๅ—ใ€‚ไฝœ่€…็ป“ๅˆ่ฟž็ปญๆ‰“้€ ไธคๅฎถไผฐๅ€ผ่ถ…10ไบฟ็พŽๅ…ƒๅ…ฌๅธ็š„ๅฎžๆˆ˜็ป้ชŒ๏ผŒๆๅ‡บโ€œๅ…ˆๅš้šพไบ‹ใ€ๅ†ๅšๆญฃ็กฎไบ‹โ€็š„ๆ ธๅฟƒๅ“ฒๅญฆใ€‚ๅ…จไนฆ้€š่ฟ‡13ไธช้˜ถๆฎต็š„็ณป็ปŸๆ‹†่งฃ๏ผŒๆŒ‡ๅฏผ่ฏป่€…ๅฆ‚ไฝ•ๅฏปๆ‰พ็œŸๆญฃ็š„็”จๆˆท็—›็‚นใ€ๆž„ๅปบ้ซ˜ไปทๅ€ผไบงๅ“๏ผŒๅนถๅœจไธ็กฎๅฎš็š„็Žฏๅขƒไธญ้€š่ฟ‡ไธๆ–ญๅค็›˜ๅฎž็Žฐ่ทจ่ถŠๅผๆˆ้•ฟใ€‚",rating:4.9,highlights:["ไธ–็•Œ็บงๅˆ›ไธš่€…็š„ๅฎžๆˆ˜ๅค็›˜๏ผš่ฟž็ปญๆ‰“้€ ไธคๅฎถ็‹ฌ่ง’ๅ…ฝๅ…ฌๅธ็š„ๅˆ›ๅง‹ไบบไบฒๆŽˆ๏ผŒๆไพ›ๆžๅ…ทๅฏไฟกๅบฆ็š„็ฌฌไธ€ๆ‰‹ๅ•†ไธšๆดžๅฏŸไธŽ่ฝๅœฐ็ป้ชŒ","่ทต่กŒโ€œ้šพ่€Œๆญฃ็กฎโ€็š„ๆ ธๅฟƒๅ“ฒๅญฆ๏ผšๅผบ่ฐƒไธ่ฟฝ้€็ŸญๆœŸ็ƒญ็‚น๏ผŒ่€Œๆ˜ฏๅŽป่งฃๅ†ณๆ•ˆ็އๆžไฝŽๅด่ขซๅฟฝ่ง†็š„็—›็‚น๏ผŒไปฅๆญคๅปบ็ซ‹ๅšๅฎž็š„ๅ•†ไธšๆŠคๅŸŽๆฒณ","่ฆ†็›–ไปŽ0ๅˆฐ1็š„ๅ…จๅ‘จๆœŸๆŒ‡ๅ—๏ผš็ณป็ปŸๆ‹†่งฃไปŽๅฏปๆ‰พ็—›็‚นใ€ไบงๅ“ๆž„ๅปบใ€่ž่ต„่ฟไฝœๅˆฐๅ›ข้˜Ÿ็ฎก็†็š„13ไธชๅ…ณ้”ฎ้˜ถๆฎต๏ผŒๆไพ›ๅฏๆ“ไฝœ็š„่กŒๅŠจๆธ…ๅ•","็›ด้ขๅคฑ่ดฅ็š„ๅฟƒ็†้Ÿงๆ€งๅปบ่ฎพ๏ผšไธๅ›ž้ฟๆŒซๆŠ˜๏ผŒๅฐ†โ€œไปŽ้”™่ฏฏไธญๅญฆไน โ€ๆ็‚ผไธบๆ ธๅฟƒๆ–นๆณ•๏ผŒไธบ่บซๅค„้ซ˜ๅŽ‹็Žฏๅขƒ็š„่ฏป่€…ๆไพ›ๆƒ…ๆ„Ÿๅ…ฑ้ธฃไธŽๅฟƒ็†ๆ”ฏๆŒ","ๅนฟๆณ›็š„่ทจๅœบๆ™ฏๅบ”็”จไปทๅ€ผ๏ผšไนฆไธญ็ป™ๅ‡บ็š„ๅ†ณ็ญ–ๅทฅๅ…ทไธไป…้€‚็”จไบŽๅˆๅˆ›ๅ›ข้˜Ÿ๏ผŒๅŒๆ ท่ƒฝไธบๅคงๅ…ฌๅธๅ†…้ƒจๅˆ›ๆ–ฐๅŠไธชไบบ่Œไธš่ฎค็Ÿฅๅ‡็บงๆไพ›ๆŒ‡ๅฏผ"]},{id:"book-015",title:"ๅˆ›ๆ–ฐๅ…ฌๅธ๏ผš็šฎๅ…‹ๆ–ฏ็š„ๅฏ็คบ",author:"่‰พๅพทยทๅก็‰นๅง†",cover:"https://cdn.weread.qq.com/weread/cover/20/YueWen_814380/t6_YueWen_814380.jpg",wereadLink:"https://weread.qq.com/web/reader/2ef329605c6d2c2efeeb70d#outline?noScroll=1",link:"https://book.douban.com/subject/26314955/",tags:["ๅˆ›ๆ–ฐๆ€็ปด","็ป„็ป‡ๆ–‡ๅŒ–","ไผไธš็ฎก็†"],desc:"็šฎๅ…‹ๆ–ฏ่”ๅˆๅˆ›ๅง‹ไบบ่‰พๅพทยทๅก็‰นๅง†็ป“ๅˆใ€Š็Žฉๅ…ทๆ€ปๅŠจๅ‘˜ใ€‹ใ€Šๆœบๅ™จไบบ็“ฆๅŠ›ใ€‹็ญ‰็ปๅ…ธๅŠจ็”ป็š„ๅน•ๅŽๅˆถไฝœๆ•…ไบ‹๏ผŒๆทฑๅบฆๆญ็คบไบ†็šฎๅ…‹ๆ–ฏๅฆ‚ไฝ•้•ฟๆœŸไฟๆŒๅˆ›ๆ„้ข†ๅ…ˆ็š„็ง˜ๅฏ†ใ€‚ๆœฌไนฆไธไป…่ฏฆ่ฟฐไบ†็šฎๅ…‹ๆ–ฏไปŽๅˆๅˆ›ๅˆฐๅฃฎๅคง็š„ๅކ็จ‹๏ผŒๆ›ดๆŠฝไธๅ‰ฅ่Œงๅœฐ่งฃๆžไบ†ๅ…ถๅœจๅ›ข้˜Ÿๆ–‡ๅŒ–ใ€่ทจ้ƒจ้—จๅไฝœใ€ไบบๆ‰ๅŸนๅ…ปๅ’Œๅ…่ฎธๅคฑ่ดฅ็ญ‰ๆ–น้ข็š„็‹ฌ็‰นๅˆ›ๆ„็ฎก็†ๆœบๅˆถ๏ผŒไธบๅ„็ฑป็ป„็ป‡ๆไพ›ไบ†ๅฏๅคๅˆถ็š„ๅˆ›ๆ–ฐๆŒ‡ๅ—ใ€‚",rating:4.5,highlights:["ๆญ็ง˜โ€œ็šฎๅ…‹ๆ–ฏๅฅ‡่ฟนโ€่ƒŒๅŽ็š„็ฎก็†ๅ“ฒๅญฆ๏ผš้€š่ฟ‡14้ƒจ็ปๅ…ธๅŠจ็”ป็š„็œŸๅฎžๅน•ๅŽๆ•…ไบ‹๏ผŒๅฑ•็คบๅˆ›ๆ„ไปŽๆ— ๅˆฐๆœ‰ใ€ๅ†ๅˆฐ็ฅจๆˆฟๅฃ็ข‘ๅŒ่ตข็š„ๅ…จ่ฟ‡็จ‹","ๆทฑๅบฆ่งฃๆžๅˆ›ๆ–ฐๅœŸๅฃค็š„ๆญๅปบ๏ผš้˜่ฟฐๅฆ‚ไฝ•้€š่ฟ‡ๅ…่ฎธๅคฑ่ดฅ็š„ๆ–‡ๅŒ–ใ€ๆต็จ‹่ฎพ่ฎกๅ’Œๆฟ€ๅŠฑๆœบๅˆถ๏ผŒๅฐ†โ€œไธๆ–ญๆŽจๅŠจๅˆ›ๆ–ฐโ€ๅฝปๅบ•่žๅ…ฅๅ…ฌๅธDNA","ๆไพ›่ทจ่กŒไธšๅฏๅค็”จ็š„็ฎก็†ๅทฅๅ…ท๏ผšๆ€ป็ป“้กน็›ฎ็ซ‹้กนใ€่ทจ้ƒจ้—จๅไฝœไธŽ้ฃŽ้™ฉๆŽงๅˆถ็š„ๅ…ทไฝ“ๅšๆณ•๏ผŒไธบไธๅŒ่ง„ๆจกๅ’Œ่กŒไธš็š„ไผไธšๆไพ›่ฝๅœฐ็š„ๅฎžๆˆ˜ๆจกๆฟ"]},{id:"book-017",title:"้‡ๆฅ๏ผšๆ›ดไธบ็ฎ€ๅ•็š„ๅ•†ไธšๆ€็ปด",author:"่ดพๆฃฎยทๅผ—้‡Œๅพท / ๆˆด็ปดยทๆตทๆถ…่ฟˆๅฐ”ยทๆฑ‰ๆฃฎ",cover:"https://cdn.weread.qq.com/weread/cover/1/YueWen_635904/t6_YueWen_635904.jpg",wereadLink:"https://weread.qq.com/web/reader/0363228059b4000363b29e9#outline?noScroll=1",link:"https://book.douban.com/subject/5320866/",tags:["ๅ•†ไธšๆ€็ปด","ๅˆ›ไธš","ไผไธš็ฎก็†","ๆž็ฎ€ไธปไน‰"],desc:"37signals่”ๅˆๅˆ›ๅง‹ไบบๅŸบไบŽๅๅนดๅˆ›ไธšๅฎžๆˆ˜็ป้ชŒ๏ผŒๅ†™็ป™่ŒๅœบไบบไธŽๅˆ›ไธš่€…็š„ๆž็ฎ€ๅ•†ไธšๆณ•ๅˆ™ใ€‚ๆœฌไนฆๆ‘’ๅผƒไบ†ไผ ็ปŸ็š„MBAๆœฏ่ฏญไธŽๅคๆ‚็š„ๅ•†ไธšๆ•™ๆก๏ผŒไปฅโ€œ่พ›่พฃใ€็›ดๆŽฅใ€้ ่ฐฑโ€็š„่ฏญ่จ€๏ผŒ้ข ่ฆ†ไบ†ๅ…ณไบŽ้กน็›ฎ็ฎก็†ใ€ไบบๆ‰ๆ‹›่˜ใ€ไบงๅ“่ฎพ่ฎกไธŽไผไธšๆ–‡ๅŒ–็š„ๅธธ่ง„่ฎค็Ÿฅ๏ผŒๆ•™ๅฏผ่ฏป่€…ๅฆ‚ไฝ•ๅœจ็œŸๅฎž็š„ๅ•†ไธšไธ–็•Œไธญโ€œๅšๆ›ดๅฐ‘๏ผŒไฝ†ๅˆ›้€ ๆ›ดๅคšไปทๅ€ผโ€ใ€‚",rating:4.3,highlights:["้ข ่ฆ†ไผ ็ปŸ็š„ๆž็ฎ€ๅ•†ไธšๅ“ฒๅญฆ๏ผšๅๅ›ๅคๆ‚็š„ๅ•†ไธšๆ•™ๆก๏ผŒไธปๅผ โ€œๅšๆ›ดๅฐ‘๏ผŒๅˆ›้€ ๆ›ดๅคšโ€๏ผŒ้€š่ฟ‡ๆœ€ๅฐๅฏ่กŒๆญฅ้ชค้™ไฝŽ่ฏ•้”™ๆˆๆœฌๅนถๅฟซ้€Ÿ่ฟญไปฃ","ๆบ่‡ช37signals็š„ๅๅนดๅฎžๆˆ˜็ฒพ้ซ“๏ผš่ฆ†็›–ไปŽ้กน็›ฎ็ฎก็†ใ€ไบงๅ“่ฎพ่ฎกๅˆฐๅธ‚ๅœบ่ฅ้”€็š„ๅฎŒๆ•ด้“พๆก๏ผŒๆไพ›ไธ่ฎฒๅบŸ่ฏใ€ๆ‹ฟๆฅๅณ็”จ็š„่กŒๅŠจๆŒ‡ๅ—","้‡ๅก‘่ŒๅœบไธŽๅ›ข้˜Ÿ็ฎก็†็š„่ฎค็Ÿฅ๏ผšๆๅ‡บ่ฏธๅคšๅŠกๅฎžไธ”ๅๅธธ่ง„็š„่ง‚็‚น๏ผˆๅฆ‚ไธฅ่‹›็š„็ฎ€ๅކ็ญ›้€‰ๆ ‡ๅ‡†๏ผ‰๏ผŒๆ‰“้€ ๅŸบไบŽไฟกไปปไธŽ็ป“ๆžœๅฏผๅ‘็š„้ซ˜ๆ•ˆๅ›ข้˜Ÿ","้€‚็”จ้ขๆžๅนฟ็š„ๅฎžๆ“ๆ‰‹ๅ†Œ๏ผšๆ— ่ฎบๆ˜ฏๅฏปๆฑ‚็ช็ ด็š„็ฒพ่‹ฑไผไธšๅฎถใ€ๅฐๅ›ข้˜Ÿๅˆ›ไธš่€…๏ผŒ่ฟ˜ๆ˜ฏๆธดๆœ›ๆๅ‡ๅทฅไฝœๆ•ˆ็އ็š„ๆ™ฎ้€š่Œๅœบไบบ๏ผŒ้ƒฝ่ƒฝ็›ดๆŽฅๅฏน็…ง่ฝๅœฐ"]},{id:"book-018",title:"้‡ๆฅ2๏ผšๆ›ดไธบ็ฎ€ๅ•้ซ˜ๆ•ˆ็š„่ฟœ็จ‹ๅทฅไฝœๆ–นๅผ",author:"่ดพๆฃฎยทๅผ—้‡Œๅพท / ๆˆด็ปดยทๆตทๆถ…่ฟˆๅฐ”ยทๆฑ‰ๆฃฎ",cover:"https://cdn.weread.qq.com/weread/cover/38/YueWen_635721/t6_YueWen_635721.jpg",wereadLink:"https://weread.qq.com/web/reader/46b3220059b34946b517012#outline?noScroll=1",link:"https://book.douban.com/subject/25861795/",tags:["ไผไธš็ฎก็†","่ฟœ็จ‹ๅทฅไฝœ","ๅทฅไฝœๆ–นๅผ","ๅ›ข้˜Ÿๅไฝœ"],desc:"Basecamp๏ผˆๅŽŸ37signals๏ผ‰ๅˆ›ๅง‹ไบบๅŸบไบŽ่‡ช่บซๅ›ข้˜Ÿๅคšๅนด็š„ๅ…จ็ƒๅˆ†ๅธƒๅผๅไฝœ็ป้ชŒ๏ผŒไธบไผไธšๅ’Œไธชไบบๆไพ›็š„ไธ€ๅฅ—่ฟœ็จ‹ๅทฅไฝœโ€œๆ€ๆƒณๅ‡็บงๅŒ…โ€ใ€‚ๆœฌไนฆ็›ด้ข่กŒไธšไบ‰่ฎฎ๏ผŒ็ ด่งฃไบ†โ€œๅˆ›ๆ–ฐๅช่ƒฝ้ขๅฏน้ขโ€ๅŠโ€œๆ–‡ๅŒ–ไผšๆทกๅŒ–โ€็ญ‰ๅธธ่ง่ฏฏๅŒบ๏ผŒๅนถ็ณป็ปŸๆไพ›ไบ†ๅ€ŸๅŠฉๅผ‚ๆญฅๆฒŸ้€šใ€ๅไฝœๅทฅๅ…ทไธŽๆต็จ‹่ฎพ่ฎกๆฅๆ‰“้€ ้ซ˜ๆ•ˆใ€ไบบๆ€งๅŒ–่ฟœ็จ‹ๅ›ข้˜Ÿ็š„ๅฎžๆˆ˜ๆŒ‡ๅ—ใ€‚",rating:4.1,highlights:["ๆไพ›ๆ€ๆƒณๅฑ‚้ข็š„โ€œๅ‡็บงๅŒ…โ€๏ผš็›ดๅ‡ปไผ ็ปŸๅŠžๅ…ฌๅฎค็—›็‚น๏ผŒ็”จ็œŸๅฎžๆ•ฐๆฎไธŽๅไพ‹ๆ‰“็ ดๅ…ณไบŽ่ฟœ็จ‹ๅŠžๅ…ฌ็š„ๅ›บๆœ‰่ฎค็Ÿฅ่ฏฏๅŒบ","็ฌฌไธ€ๆ‰‹็š„ๅˆ†ๅธƒๅผๅ›ข้˜Ÿ็ฎก็†็ป้ชŒ๏ผšBasecampๅˆ›ๅง‹ไบบไบฒๆŽˆ๏ผŒๅฑ•็คบๅฆ‚ไฝ•็ช็ ดๅœฐๅŸŸ้™ๅˆถๆ‹›ๅ‹Ÿ้กถๅฐ–ไบบๆ‰๏ผŒๅนถไฟๆŒๅฅๅบทใ€้ซ˜ๆ•ˆ็š„ๅทฅไฝœ่Š‚ๅฅ","็ณป็ปŸๅฏ่ฝๅœฐ็š„ๅทฅๅ…ทไธŽๆต็จ‹ๆ–นๆณ•๏ผš่ฏฆ่ฟฐๅฆ‚ไฝ•ๅˆฉ็”จๅไฝœๅทฅๅ…ท้™ไฝŽ็ฎก็†ๆˆๆœฌ๏ผŒ่ฎฉ่ฟœ็จ‹ๅทฅไฝœไปŽโ€œ็‰นๆฎŠ็ฆๅˆฉโ€็œŸๆญฃ่ฝฌๅ˜ไธบๅฏๆŒ็ปญ็š„ไธปๆต็ป„็ป‡ๆจกๅผ"]},{id:"book-019",title:"้‡ๆฅ3๏ผšๅšๅพ—ๆ›ดๅฐ‘๏ผŒไฝ†่ตšๅพ—ๆ›ดๅคš",author:"่ดพๆฃฎยทๅผ—้‡Œๅพท / ๆˆด็ปดยทๆตทๆถ…่ฟˆๅฐ”ยทๆฑ‰ๆฃฎ",cover:"https://cdn.weread.qq.com/weread/cover/62/cpplatform_tqth8pnlq8h9ing5uciwhi/t6_cpplatform_tqth8pnlq8h9ing5uciwhi1748502715.jpg",wereadLink:"https://weread.qq.com/web/reader/b6a32ed0813ab9fb5g015181#outline?noScroll=1",link:"https://book.douban.com/subject/37367276/",tags:["ๅทฅไฝœๆ–นๅผ","ๅๅ†…ๅท","ไผไธšๆ–‡ๅŒ–"],desc:"Basecampๅˆ›ๅง‹ไบบๅธฆๆฅ็š„โ€œๅๅ†…ๅทโ€ไธŽโ€œๅ่ฟ‡ๅบฆๅฟ™็ขŒโ€็š„็ฎก็†ๆŒ‡ๅ—ใ€‚ไฝœ่€…ๅŸบไบŽ่ฟ‘20ๅนดๅธฆ้ข†54ไบบๅ›ข้˜ŸๆœๅŠกๅ…จ็ƒ10ไธ‡ๅฎถไผไธš็š„ๆˆๅŠŸ็ป้ชŒ๏ผŒ็›ดๅ‡ป็Žฐไปฃไผไธš็›ฒ็›ฎๆ‰ฉๅผ ใ€ๆ— ๆ•ˆๅŠ ็ญ็ญ‰ๅ…ซๅคง็—‡็ป“ใ€‚ๅ…จไนฆไธปๅผ ไปฅโ€œๅ†ท้™โ€้ข ่ฆ†โ€œๅฟ™็ขŒโ€ๆ–‡ๅŒ–๏ผŒๆŒ‡ๅฏผไผไธšๅ’Œไธชไบบ้€š่ฟ‡40ๅฐๆ—ถๅทฅไฝœๅˆถใ€ๆ‹’็ปKPIๅ’Œๅผ‚ๆญฅๆฒŸ้€š็ญ‰ๆž็ฎ€ๆ–นๅผ๏ผŒๅœจไธ็‰บ็‰ฒ็”Ÿๆดป่ดจ้‡็š„ๅ‰ๆไธ‹ๅฎž็Žฐๅฅๅบทๅ‘ๅฑ•ไธŽๆŒ็ปญ็›ˆๅˆฉใ€‚",rating:4.2,highlights:["ไปฅโ€œๅ†ท้™โ€้ข ่ฆ†โ€œๅฟ™็ขŒโ€ๆ–‡ๅŒ–๏ผšๅ€กๅฏผ้ซ˜ๆ•ˆๆฏ”้ซ˜ไบงๆ›ด้‡่ฆ๏ผŒ็”จ็จณๅฎš็š„่Š‚ๅฅๆ›ฟไปฃ็–ฏ็‹‚ๅŠ ็ญ็š„ๅ†…ๅทๅธธๆ€","็›ดๅ‡ป็Žฐไปฃไผไธšๅ…ซๅคง็—‡็ป“๏ผšๆทฑๅบฆ่ฏŠๆ–ญๅฟซ้€Ÿๆ‰ฉๅผ ใ€ๆ— ๆ•ˆๅŠ ็ญใ€ไผš่ฎฎๆณ›ๆปฅไธŽ็›ฎๆ ‡็ป‘ๆžถ็ญ‰็—›็‚น๏ผŒๆไพ›ๅฏน็—‡ไธ‹่ฏ็š„ๆ€่ทฏ","ๆไพ›ๅ››ๅคงๅฏ่ฝๅœฐ็š„็ฎก็†ๅทฅๅ…ท๏ผšๅผ•ๅ…ฅ40ๅฐๆ—ถๅทฅไฝœๅˆถใ€ๆ‹’็ป็กฌๆ€งKPIใ€ๆŽจ่กŒ้žๅฎžๆ—ถๆฒŸ้€š๏ผŒๅšๆŒๅˆฉๆถฆไผ˜ๅ…ˆไบŽ่ง„ๆจก","ๆบ่‡ชBasecamp็š„็œŸๅฎžๅๅ‘ๆกˆไพ‹๏ผšๅฑ•็คบโ€œๅฐ่€Œ็พŽโ€ๅ›ข้˜Ÿๅฆ‚ไฝ•้€š่ฟ‡โ€œๅฐ‘ๅšไฝ†ๅšๅฅฝโ€็š„็ญ–็•ฅ๏ผŒ่ท‘่ตขๆ–ฐ็ปๆตŽๅนถไฟๆŒ้ซ˜ๅˆฉๆถฆ"]}],Ye=[{id:"book-024",title:"่ฆไบ‹็ฌฌไธ€",author:"ๅฒ่’‚่ŠฌยทๆŸฏ็ปด / ็ฝ—ๆฐยทๆข…้‡Œๅฐ” / ไธฝ่ดๅกยทๆข…้‡Œๅฐ”",cover:"https://cdn.weread.qq.com/weread/cover/57/yuewen_33091834/t6_yuewen_330918341686208943.jpg",wereadLink:"https://weread.qq.com/web/reader/f523268071f8f0faf52b806#outline?noScroll=1",link:"https://book.douban.com/subject/1028372/",tags:["ๆ—ถ้—ด็ฎก็†","่‡ชๆˆ‘็ฎก็†","็ปๅ…ธๆ€็ปด"],desc:"ไฝœไธบใ€Š้ซ˜ๆ•ˆ่ƒฝไบบๅฃซ็š„ไธƒไธชไน ๆƒฏใ€‹็š„ๅปถไผธไธŽๅŠ ๅผบ็‰ˆ๏ผŒๆœฌไนฆๆๅ‡บไบ†้ข ่ฆ†ไผ ็ปŸ็š„โ€œ็ฌฌๅ››ไปฃๆ—ถ้—ด็ฎก็†โ€ๆ–นๆณ•ใ€‚ไฝœ่€…ๅผบ่ฐƒ๏ผŒๆฏ”ๆๅ‡ๅšไบ‹้€Ÿๅบฆ๏ผˆๆ—ถ้’Ÿ๏ผ‰ๆ›ด้‡่ฆ็š„ๆ˜ฏๆ‰พๅ‡†ไบบ็”Ÿ็š„ๆ–นๅ‘๏ผˆ็ฝ—็›˜๏ผ‰ใ€‚ๅ…จไนฆๆŒ‡ๅฏผ่ฏป่€…้€š่ฟ‡่‡ชๆˆ‘ๆ„่ฏ†็š„่ง‰้†’๏ผŒไปฅๅŽŸๅˆ™ๅ’Œไปทๅ€ผ่ง‚ไธบไธญๅฟƒ๏ผŒๅฐ†็ฒพๅŠ›่š็„ฆไบŽโ€œ้‡่ฆ่€Œไธ็ดงๆ€ฅโ€็š„้•ฟๆœŸ็›ฎๆ ‡ไธŠ๏ผŒไปŽ่€Œๅœจ็นๅฟ™็š„็Žฐไปฃ็”Ÿๆดปไธญ็œŸๆญฃๅšๅˆฐโ€œ่ฆไบ‹็ฌฌไธ€โ€ใ€‚",rating:4.5,highlights:["ไปŽโ€œๆ—ถ้’Ÿโ€ๅˆฐโ€œ็ฝ—็›˜โ€็š„ๆ€็ปด่ทจ่ถŠ๏ผšๆ‰“็ ดไธ€ๅ‘ณ่ฟฝๆฑ‚โ€œๆ›ดๅฟซใ€ๆ›ดๅŠชๅŠ›โ€็š„ไผ ็ปŸๆ•ˆ็އ่ฟทๆ€๏ผŒ็กฎ็ซ‹ไบบ็”Ÿๆ–นๅ‘ไผ˜ๅ…ˆ็š„ๅ“ฒๅญฆ","็ปๅ…ธ็š„ๅ››่ฑก้™ๆ—ถ้—ด็ฎก็†็Ÿฉ้˜ต๏ผšๅผ•ๅฏผ่ฏป่€…่ทณๅ‡บ็ดงๆ€ฅไบ‹ๅŠก็š„โ€œๆ•‘็ซๅœˆโ€๏ผŒๅฐ†ๆ ธๅฟƒ็ฒพๅŠ›ๅ€พๆณจไบŽ็ฌฌไบŒ่ฑก้™๏ผˆ้‡่ฆไฝ†ไธ็ดงๆ€ฅ๏ผ‰็š„้ซ˜ไปทๅ€ผไบ‹ๅŠกไธญ","็”ŸๅŠจ็š„โ€œๅคง็Ÿณๅ—โ€ไผ˜ๅ…ˆๆณ•ๅˆ™๏ผš้€š่ฟ‡โ€œๅ…ˆๆ”พ็Ÿณๅคดๅ†ๅ€’ๆฐดโ€็š„็›ด่ง‚ๆฏ”ๅ–ป๏ผŒ็กฎไฟๅ…ณ้”ฎ็›ฎๆ ‡ไธŽๆ ธๅฟƒไฝฟๅ‘ฝๅœจ็ขŽ็‰‡ๅŒ–ๆ—ฅ็จ‹ไธญๅพ—ๅˆฐ็ปๅฏน็š„ไผ˜ๅ…ˆ่ฝๅฎž","ไปฅๅŽŸๅˆ™ไธบไธญๅฟƒ็š„่‡ชๆˆ‘้ฉฑๅŠจๆก†ๆžถ๏ผšไธไป…ๆไพ›ๆ—ฅ็จ‹ๅฎ‰ๆŽ’ๅทฅๅ…ท๏ผŒๆ›ด้€š่ฟ‡ๅ”ค้†’่‰ฏ็Ÿฅ๏ผŒๅธฎๅŠฉ่ฏป่€…ๅœจๅทฅไฝœใ€ๅฎถๅบญ็ญ‰ๅคšๅ…ƒ่ง’่‰ฒไธญๅฎž็Žฐ็œŸๆญฃ็š„ๅนณ่กกไธŽ็ปŸๅˆ็ปผๆ•ˆ"]},{id:"book-025",title:"ๆธ…ๅ•้ฉๅ‘ฝ",author:"้˜ฟๅ›พยท่‘›ๆ–‡ๅพท",cover:"https://cdn.weread.qq.com/weread/cover/12/cpPlatform_rudGZN3LDW5m9FBYr7rMBA/t6_cpPlatform_rudGZN3LDW5m9FBYr7rMBA.jpg",wereadLink:"https://weread.qq.com/web/reader/18332f80813ab7292g010065#outline?noScroll=1",link:"https://book.douban.com/subject/27168564/",tags:["็ฎก็†ๅญฆ","่ฎค็Ÿฅ็ง‘ๅญฆ","ๅทฅไฝœๆ•ˆ็އ"],desc:"่ฟ™ๆ˜ฏไธ€้ƒจ้’ˆๅฏน็Žฐไปฃๅคๆ‚ไธ–็•Œๆ‰€ๆ’ฐๅ†™็š„โ€œ่ฎค็Ÿฅ้˜ฒๆŠคๆ‰‹ๅ†Œโ€ใ€‚ไฝœ่€…้˜ฟๅ›พยท่‘›ๆ–‡ๅพท้€š่ฟ‡ๅŒป็–—ใ€ๅปบ็ญ‘ใ€ๆŠ•่ต„็ญ‰้ซ˜้ฃŽ้™ฉ้ข†ๅŸŸ็š„็œŸๅฎžๆกˆไพ‹๏ผŒๆญ็คบไบ†ไบบ็ฑปๅœจๆตท้‡ไฟกๆฏไธŽ้ซ˜ๅŽ‹็Žฏๅขƒไธ‹ๆžๆ˜“ๅ‡บ็Žฐ็š„ๅˆคๆ–ญ็–ๅฟฝใ€‚ไนฆไธญๆๅ‡บไบ†โ€œๆƒๅŠ›ไธ‹ๆ”พใ€็ฎ€ๅ•่‡ณไธŠใ€ไบบไธบๆ นๆœฌใ€ๆŒ็ปญๆ”นๅ–„โ€ๅ››ๅคงๅŽŸๅˆ™๏ผŒๆŒ‡ๅฏผ่ฏป่€…ๅฐ†ๆœ€ไฝณๅฎž่ทตๅค–ๅŒ–ไธบๅฏๆ“ไฝœ็š„ๆธ…ๅ•๏ผŒไปŽ่€Œๅœจๅคๆ‚็ณป็ปŸไธญๆž„ๅปบไธ€้“ไฝŽๆˆๆœฌใ€้ซ˜ๅ›žๆŠฅ็š„ๅฎ‰ๅ…จ้˜ฒ็บฟใ€‚",rating:4.6,highlights:["็›ด้ขๅคๆ‚ๆ—ถไปฃ็š„่ฎค็Ÿฅ็“ถ้ขˆ๏ผšๆญ็คบๅœจๆตท้‡ไฟกๆฏๆตไธญ๏ผŒๆธ…ๅ•ๅฆ‚ไฝ•ไฝœไธบโ€œ่ฎค็Ÿฅ้˜ฒๆŠค็ฝ‘โ€ๅผฅ่กฅไบบ็ฑป่ฎฐๅฟ†ๅŠ›ไธŽๆณจๆ„ๅŠ›ๅˆ†้…็š„ๅ…ˆๅคฉไธ่ถณ","ๆไพ›ๅ…ผๅ…ท็†ๅฟตไธŽ่ฝๅœฐ็š„ๅ››ๅคงๅŽŸๅˆ™๏ผš้€š่ฟ‡โ€œๆƒๅŠ›ไธ‹ๆ”พใ€็ฎ€ๅ•่‡ณไธŠใ€ไบบไธบๆ นๆœฌใ€ๆŒ็ปญๆ”นๅ–„โ€๏ผŒๆž„ๅปบไธ€ๅฅ—ๅฏๅค็”จ็š„ๆธ…ๅ•่ฎพ่ฎกๅ“ฒๅญฆ","ๆ‰Žๅฎž็š„ๅŒปๅญฆๅฎž่ฏ่ƒŒไนฆ๏ผšไปฅๆ‰‹ๆœฏๆ„ŸๆŸ“็އ้ชค้™็ญ‰็œŸๅฎžไธดๅบŠๆ•ฐๆฎไธบๆ”ฏๆ’‘๏ผŒ่ฏๆ˜Žๆธ…ๅ•ๆ€็ปดๅœจๅŒป็–—ใ€ๅปบ็ญ‘ใ€ๆŠ•่ต„็ญ‰้ซ˜้ฃŽ้™ฉ้ข†ๅŸŸ็š„่ทจ่กŒไธšๆ™ฎ้€‚ๆ€ง","็ฎ€ๆด่€Œๅ…ทๅŠ›้‡็š„ๆต็จ‹ๅˆ›ๆ–ฐ๏ผšๅผบ่ฐƒๆธ…ๅ•ๆœๅŠกไบŽไบบ่€Œ้žๅ–ไปฃไบบ๏ผŒๆ˜ฏๅธฎๅŠฉไธ“ไธšไบบๅฃซๅœจ้ซ˜ๅŽ‹็Žฏๅขƒไธ‹ๅฐ†ๅคๆ‚็Žฏ่Š‚ๆ˜พๆ€งๅŒ–ใ€ๆต็จ‹ๅŒ–็š„ๅฟ…ๅค‡ๅทฅๅ…ท"]},{id:"book-020",title:"ๅˆซ่ฎฉ็Œดๅญ่ทณๅ›ž่ƒŒไธŠ",author:"ๅจๅป‰ยทๅฎ‰่‚ฏไธ‰ไธ–",cover:"https://cdn.weread.qq.com/weread/cover/69/cpPlatform_7fFoBQ7dtqgABGSTskpJSN/t6_cpPlatform_7fFoBQ7dtqgABGSTskpJSN.jpg",wereadLink:"https://weread.qq.com/web/reader/9fc32010813ab7291g0196bd#outline?noScroll=1",link:"https://book.douban.com/subject/36103994/",tags:["ๆ—ถ้—ด็ฎก็†","้ข†ๅฏผๅŠ›","้กน็›ฎ็ฎก็†"],desc:"่ฟ™ๆ˜ฏไธ€้ƒจไปฅโ€œ็Œดๅญโ€็”ŸๅŠจ้šๅ–ปไปปๅŠกไธŽ่ดฃไปป็š„็ปๅ…ธ็ฎก็†ๅญฆ่‘—ไฝœใ€‚ไฝœ่€…ๅจๅป‰ยทๅฎ‰่‚ฏไธ‰ไธ–ๆทฑๅˆปๅ‰–ๆžไบ†็ฎก็†่€…ๅธธ่ขซ็ไบ‹ๆทนๆฒก็š„ๆ—ถ้—ดๅ›ฐๅขƒ๏ผŒๅนถๆๅ‡บ็ณป็ปŸๅŒ–็š„โ€œ็Œดๅญ็ฎก็†ๆณ•โ€ใ€‚้€š่ฟ‡ๆ˜Ž็กฎไปปๅŠกๅฝ’ๅฑžใ€่ดฃไปป้€’ๅ‡ไธŽๆœ‰ๆ•ˆๆŽˆๆƒ๏ผŒๆŒ‡ๅฏผ็ฎก็†่€…ๅฆ‚ไฝ•ๆŠŠไธๅฑžไบŽ่‡ชๅทฑ็š„โ€œ็Œดๅญโ€ไบคๅ‡บๅŽป๏ผŒไปŽ่€Œ้‡Šๆ”พ็ฒพๅŠ›ไธ“ๆณจไบŽๆœ€้ซ˜ไปทๅ€ผ็š„ๆˆ˜็•ฅๆ€่€ƒ๏ผŒๅฎž็Žฐๅ›ข้˜ŸไธŽไธชไบบ็š„ๅ…ฑๅŒๆˆ้•ฟใ€‚",rating:4.3,highlights:["็”ŸๅŠจๆœ‰่ถฃ็š„โ€œ็Œดๅญโ€้šๅ–ป๏ผšๅฐ†ๆžฏ็‡ฅ็š„่ดฃไปปๅˆ’ๅˆ†ไธŽไปปๅŠกๆต่ฝฌๅ…ท่ฑกๅŒ–๏ผŒ็›ดๅ‡ป่Œๅœบไธญโ€œๅฟ™็ขŒๅดไฝŽๆ•ˆโ€็š„็—›็‚น","ๅฎž็”จ้ซ˜ๆ•ˆ็š„โ€œไธ‰ๆญฅไบคๆŽฅโ€ๆณ•ๅˆ™๏ผš้€š่ฟ‡ๆ˜Ž็กฎๆœŸๆœ›ใ€ๆŽˆไบˆ่ต„ๆบไธŽ็บฆๅฎšๆฃ€ๆŸฅ็‚น๏ผŒๅฝปๅบ•้ฟๅ…ไธ‹ๅฑž็š„ๅพ…ๅŠžไปปๅŠก้‡ๆ–ฐ่ทณๅ›ž่‡ชๅทฑ่ƒŒไธŠ","้‡ๅก‘ๆ—ถ้—ด็ฎก็†ไธŽไบบๆ‰ๅŸนๅ…ปไฝ“็ณป๏ผšๆŒ‡ๅฏผ้ซ˜ๅฑ‚ๆ”พๆƒใ€ไธญๅฑ‚่พ…ๅฏผใ€ๅŸบๅฑ‚่‡ชๅ‘๏ผŒๅฐ†ไผไธš็š„ๆˆๅŠŸ็œŸๆญฃๅปบ็ซ‹ๅœจๅ‘˜ๅทฅ่‡ชไธปๆ€ง็š„ๆๅ‡ไน‹ไธŠ"]}],Te=[{id:"book-022",title:"ๅญฆไผšๆ้—ฎ๏ผˆๅŽŸไนฆ็ฌฌ12็‰ˆ๏ผ‰",author:"ๅฐผๅฐ”ยทๅธƒๆœ— / ๆ–ฏๅ›พๅฐ”็‰นยทๅŸบๅˆฉ",cover:"https://cdn.weread.qq.com/weread/cover/68/YueWen_39980443/t6_YueWen_39980443.jpg",wereadLink:"https://weread.qq.com/web/reader/e6832d3072620d9be68aabf#outline?noScroll=1",link:"https://book.douban.com/subject/35513147/",tags:["ๆ‰นๅˆคๆ€งๆ€็ปด","้€ป่พ‘ๅญฆ","่ฎค็Ÿฅ็ง‘ๅญฆ","็ปๅ…ธไนฆ"],desc:"่ฟ™ๆ˜ฏไธ€้ƒจๅŸนๅ…ปๆ‰นๅˆคๆ€งๆ€็ปด็š„็ปๅ…ธๅฎžๆˆ˜ๆŒ‡ๅ—ใ€‚ไฝœ่€…ๅฐผๅฐ”ยทๅธƒๆœ—ไธŽๆ–ฏๅ›พๅฐ”็‰นยทๅŸบๅˆฉ็ป“ๅˆ้•ฟๆœŸ็š„ๆ•™ๅญฆไธŽ็ ”็ฉถๅฎž่ทต๏ผŒๆไพ›ไบ†ไธ€ๅฅ—็ณป็ปŸๅŒ–ใ€ๅฏๆ“ไฝœ็š„ๆ้—ฎๆต็จ‹ใ€‚ๅ…จไนฆ้€š่ฟ‡ๅคง้‡็œŸๅฎžๆƒ…ๅขƒๆกˆไพ‹๏ผŒๆ•™ๅฏผ่ฏป่€…ๅฆ‚ไฝ•ๅœจไฟกๆฏๆณ›ๆปฅ็š„ๆ—ถไปฃ่ฏ†ๅˆซ้šๅซๅ‡่ฎพใ€ๅŒบๅˆ†ไบ‹ๅฎžไธŽ่ง‚็‚น๏ผŒ็”จ้ซ˜่ดจ้‡็š„โ€œๅˆคๆ–ญๆ€ง้—ฎ้ข˜โ€็œ‹้€ไบ‹็‰ฉๆœฌ่ดจ๏ผŒไปŽ่€Œๅšๅ‡บๆ›ด็†ๆ€ง็š„ๅ†ณ็ญ–ใ€‚",rating:5,highlights:["่š็„ฆๆ‰นๅˆคๆ€งๆ€่€ƒ็š„ๆ ธๅฟƒ่ƒฝๅŠ›๏ผš็ณป็ปŸๆ‹†่งฃโ€œๅฆ‚ไฝ•ๆๅ‡บๅฅฝ้—ฎ้ข˜โ€็š„ๆ€็ปด่ฟ‡็จ‹๏ผŒๅธฎๅŠฉ่ฏป่€…ๅœจๅคๆ‚ไฟกๆฏไธญ่ฟ…้€ŸๆŠ“ไฝๆœฌ่ดจ","ๆไพ›ๅฏ่ฝๅœฐ็š„ๆ้—ฎไธŽ่ฏ„ไผฐๆก†ๆžถ๏ผšไปŽ่ƒŒๆ™ฏไฟกๆฏใ€ๅ…ณ้”ฎๆฆ‚ๅฟตๅˆฐ้€ป่พ‘ๆŽจ็†๏ผŒๆž„ๅปบไธ€ๆกๅฎŒๆ•ด็š„ๅˆคๆ–ญๆ€ง้—ฎ้ข˜้“พๆก","ไธฐๅฏŒ็š„็œŸๅฎžๅœบๆ™ฏๅบ”็”จ็คบ่Œƒ๏ผš็ป“ๅˆ่ฏพๅ ‚่ฎจ่ฎบใ€ๅ†™ไฝœใ€ๆ—ฅๅธธๆฒŸ้€šไธŽ่Œๅœบๅ†ณ็ญ–็ญ‰ๅคšๅ…ƒๅœบๆ™ฏ๏ผŒ่ฎฉ็†่ฎบ่ƒฝโ€œ็ซ‹ๅณไธŠๆ‰‹โ€","ๆ‰“้€ ๅฎž็”จ็š„ๆ€่€ƒๆฃ€ๆŸฅๅ•๏ผšไธไป…่ฎฒ้€โ€œๆ้—ฎ็š„ไปทๅ€ผโ€๏ผŒๆ›ดๆไพ›ๅฏ็›ดๆŽฅ่ฝฌๅŒ–ไธบๆ—ฅๅธธไน ๆƒฏ็š„ๆ€็ปดๆฃ€ๆŸฅ่กจ๏ผŒๅŠฉไฝ ๆœ‰ๆ•ˆ้ฟๅผ€่ฎค็Ÿฅ้™ท้˜ฑ"]},{id:"book-026",title:"ๅฆ‚ไฝ•้˜…่ฏปไธ€ๆœฌไนฆ",author:"่Žซๆ้ป˜ยทJ. ่‰พๅพทๅ‹’ / ๆŸฅๅฐ”ๆ–ฏยท่Œƒๅคšไผฆ",cover:"https://wfqqreader-1252317822.image.myqcloud.com/cover/810/23723810/t6_23723810.jpg",wereadLink:"https://weread.qq.com/book-detail?type=1&senderVid=40710128&v=272326407169ff22272934f&wtheme=white&wfrom=app&wvid=40710128&scene=bottomSheetShare",link:"https://book.douban.com/subject/1013208/",tags:["้˜…่ฏปๆ–นๆณ•","ๆ€็ปด่ฎญ็ปƒ","็ปๅ…ธ"],desc:"้˜…่ฏป้ข†ๅŸŸ็š„โ€œๅ…ƒๆ–นๆณ•โ€ๆŒ‡ๅ—ใ€‚ไฝœ่€…่‰พๅพทๅ‹’ไธŽ่Œƒๅคšไผฆๅฐ†้˜…่ฏปๅˆ’ๅˆ†ไธบๅŸบ็ก€้˜…่ฏปใ€ๆฃ€่ง†้˜…่ฏปใ€ๅˆ†ๆž้˜…่ฏปไธŽไธป้ข˜้˜…่ฏปๅ››ไธช่ฟ›้˜ถๅฑ‚ๆฌก๏ผŒๅนถๅผบ่ฐƒ้˜…่ฏปๆ˜ฏไธ€้กนไธปๅŠจ็š„ๆ€่€ƒๆดปๅŠจใ€‚ๆœฌไนฆไธไป…ๆไพ›ไบ†ไปŽโ€œๅฟซ้€Ÿ็•ฅ่ฏปโ€ๅˆฐโ€œ็ณป็ปŸๆ‹†่งฃ่ฎบ็‚นโ€็š„ๅฎžๆ“ๆŠ€ๅทง๏ผŒๆ›ด่‡ดๅŠ›ไบŽ้€š่ฟ‡ๆ้—ฎใ€ๅฝ’็บณไธŽๆ‰นๅˆค๏ผŒๅฐ†้˜…่ฏป่ฝฌๅŒ–ไธบ่ฎญ็ปƒ็†่งฃๅŠ›ใ€ๆ‰นๅˆคๅŠ›ไธŽ็ปˆ่บซๅญฆไน ็š„็ปˆๆžๅทฅๅ…ทใ€‚",rating:5,highlights:["ๆž„ๅปบ็ณป็ปŸ็š„ๅ››็บง้˜…่ฏปๆก†ๆžถ๏ผšไปŽๆฃ€่ง†้˜…่ฏปๅˆฐๅˆ†ๆž้˜…่ฏปๅ†ๅˆฐไธป้ข˜้˜…่ฏป๏ผŒไธบ่ฏป่€…ๆไพ›ไบ†ไธ€ๅฅ—ไปŽๅ…ฅ้—จๅˆฐ็ฒพ้€š็š„่ฟ›้˜ถ่ทฏๅพ„","ๅผบ่ฐƒโ€œไธปๅŠจไธŽๆ‰นๅˆคโ€็š„้˜…่ฏป่ง‚๏ผšๆ‹’็ป่ขซๅŠจๆŽฅๆ”ถ๏ผŒๆ•™ๅฏผ่ฏป่€…ๅฆ‚ไฝ•้€š่ฟ‡ๆ้—ฎใ€ๅฝ’็บณไธŽๅๆ€๏ผŒ็œŸๆญฃๅฐ†ไฝœ่€…็š„ๆดž่ง่ฝฌๅŒ–ไธบ่‡ชๅทฑ็š„่ฎค็Ÿฅ","้ซ˜ๆ•ˆ็š„ๆฃ€่ง†้˜…่ฏปๆŠ€ๅทง๏ผšๆไพ›ๅฆ‚ไฝ•ๅœจๆœ‰้™ๆ—ถ้—ดๅ†…้€š่ฟ‡็œ‹็›ฎๅฝ•ใ€ๆŒ‘้‡็‚น็ญ‰ๆ–นๅผ๏ผŒๅฟซ้€Ÿ็ญ›้€‰ๅนถๅˆคๆ–ญไนฆ็›ฎไปทๅ€ผ็š„ๆ ธๅฟƒ่ƒฝๅŠ›","่ทจๆ—ถไปฃ็š„็ปๅ…ธๆ•ˆ่ƒฝ๏ผš่‡ช1940ๅนด้—ฎไธ–ไปฅๆฅ้•ฟ็››ไธ่กฐ๏ผŒๅ…ถๅฏน้€ป่พ‘ๆ‹†่งฃไธŽๆทฑๅบฆๆ€่€ƒ็š„ๆŒ‡ๅฏผ๏ผŒๆ˜ฏๆๅ‡ๆ‰€ๆœ‰็Ÿฅ่ฏ†ๅธๆ”ถๆ•ˆ็އ็š„โ€œๆ€ปๅผ€ๅ…ณโ€"]},{id:"book-023",title:"ๆฃ€็ดขๅŠ›๏ผšๆ‰“็ ดไฟกๆฏๅทฎ็š„็ง‘ๅญฆๆ–นๆณ•",author:"้พš่Š™่“‰",cover:"https://cdn.weread.qq.com/weread/cover/58/cpplatform_feaxemubry47bnkzylqzwv/t6_cpplatform_feaxemubry47bnkzylqzwv1716796541.jpg",wereadLink:"https://weread.qq.com/web/reader/9de32810813ab8e00g018130#outline?noScroll=1",link:"https://book.douban.com/subject/36899979/",tags:["ไฟกๆฏ็ด ๅ…ป","ๆฃ€็ดข่ƒฝๅŠ›","ๆ€็ปด่ฎค็Ÿฅ"],desc:"ๆœฌไนฆ่š็„ฆโ€œๆฃ€็ดขๅŠ›โ€่ฟ™ไธ€ๆ ธๅฟƒๆŠ€่ƒฝ๏ผŒๆ—จๅœจๅธฎๅŠฉ่ฏป่€…ๅœจไฟกๆฏ่ฟ‡่ฝฝ็š„ๆ—ถไปฃไธปๅŠจๆŽŒๆกโ€œ้€†้ฃŽ่€Œ่กŒโ€็š„ๆœ็ดข่ƒฝๅŠ›ใ€‚ไฝœ่€…้พš่Š™่“‰็ป“ๅˆไบŒๅไฝ™ๅนดๅฎž่ทต็ป้ชŒ๏ผŒ็”จ็”ŸๅŠจ็š„ไบบๆ–‡ไธŽ่ฏบ่ดๅฐ”ๅฅ–็บง็ง‘ๅญฆๆกˆไพ‹๏ผŒๅฐ†ๆžฏ็‡ฅ็š„ๆฃ€็ดขๅทฅๅ…ทๅŒ–ไธบๆœ‰่ถฃ็š„ๆ•…ไบ‹ใ€‚ไธไป…ๆ•™ๆŽˆ้ž็บฟๆ€งใ€่ฟญไปฃๅผ็š„ๆœ็ดขๆŠ€ๅทง๏ผŒๆ›ด่‡ดๅŠ›ไบŽ้‡ๅก‘่ฏป่€…็š„ๆŽข็ฉถ็ฒพ็ฅž๏ผŒ่ต‹ไบˆๅ…ถ่ตฐๅ‡บโ€œไฟกๆฏ่Œงๆˆฟโ€็š„ๅ‹‡ๆฐ”ใ€‚",rating:4.2,highlights:["ไธฐๅฏŒ็š„่ทจๅญฆ็ง‘่ถฃๅ‘ณๆกˆไพ‹้ฉฑๅŠจ๏ผš็”จโ€œๅผ ๅ† ๆŽๆˆด็š„้ฉฌๅ…‹ๆ€ๅ่จ€โ€็ญ‰็”ŸๅŠจๆ•…ไบ‹๏ผŒๅฐ†ๆžฏ็‡ฅ็น็็š„ๆฃ€็ดขๆญฅ้ชค่ฝฌๅŒ–ไธบ่ฝปๆพ็š„ๆŽข็ดขไน‹ๆ—…","้‡ๅก‘้ž็บฟๆ€งไธŽ่ฟญไปฃ็š„ๆœ็ดขๆ€็ปด๏ผšๆ‰“็ ดๆŒ‰้ƒจๅฐฑ็ญ็š„็บฟๆ€งๆต็จ‹่ฏฏๅŒบ๏ผŒๅปบ็ซ‹ไปฅ่€ๅฟƒไธŽ็ƒญๆƒ…้ฉฑๅŠจ็š„ๅคš่ฝฎ่ฟญไปฃๆœ็ดขๅฟƒๆ€","็›ดๅ‡ป็ง‘็ ”ไธŽ่Œๅœบ็š„ๅฎž็”จ็—›็‚น๏ผšๆไพ›ๅฏๅฟซ้€Ÿ่ฝๅœฐ็š„ๅฎžๆ“ๆŒ‡ๅ—๏ผŒๅธฎๅŠฉ่ฏป่€…ๅˆ‡ๅฎž็ผฉ็Ÿญ็ง‘็ ”ๅ‘จๆœŸใ€ๅคงๅน…ๆๅ‡ๅทฅไฝœๆ•ˆ็އ","ๅ…ผ้กพๆŠ€่ƒฝ่ฎญ็ปƒไธŽไบบๆ–‡ๅบ•่‰ฒ๏ผšๅœจๆ•™ๆŽˆๅฆ‚ไฝ•ๅˆฉ็”จๅ’Œๅˆ›้€ ไฟกๆฏ็š„ๅŒๆ—ถ๏ผŒๆณจ้‡ๅŸนๅ…ป่ฏป่€…็š„ไฟกๆฏ็ด ๅ…ปไธŽๆ‰“็ ดไฟกๆฏๅทฎ็š„่ฎค็Ÿฅๅ‹‡ๆฐ”"]},{id:"book-027",title:"ๅŽŸๅˆ™",author:"็‘žยท่พพๅˆฉๆฌง",cover:"https://cdn.weread.qq.com/weread/cover/23/YueWen_921568/t6_YueWen_921568.jpg",wereadLink:"https://weread.qq.com/web/reader/848324405e0fe08483ab6a4#outline?noScroll=1",link:"https://book.douban.com/subject/27608239/",tags:["ๆŠ•่ต„","ๆ–นๆณ•่ฎบ","่‡ชๆˆ‘็ฎก็†"],desc:"ๆกฅๆฐดๅŸบ้‡‘ๅˆ›ๅง‹ไบบ็‘žยท่พพๅˆฉๆฌงๆ€ป็ป“ๅ››ๅไฝ™ๅนดๆŠ•่ต„ใ€็ฎก็†ไธŽไบบ็”Ÿ็ป้ชŒ็š„้›†ๅคงๆˆไน‹ไฝœใ€‚ไฝœ่€…ๆๅ‡บๅฐ†็”Ÿๆดปๅ’Œๅทฅไฝœๅƒๆœบๅ™จไธ€ๆ ท็ณป็ปŸๅŒ–๏ผŒ็กฎ็ซ‹ไบ†โ€œๆžๅบฆๆฑ‚็œŸโ€ไธŽโ€œๆžๅบฆ้€ๆ˜Žโ€ไธคๅคงๅŸบ็Ÿณ๏ผŒๅนถ้€š่ฟ‡โ€œๅˆ›ๆ„ๆ‹ฉไผ˜โ€ไธŽโ€œๅŸบไบŽๅฏไฟกๅบฆ็š„ๅ†ณ็ญ–ๆœบๅˆถโ€ๆฅ่ฟญไปฃๆ€็ปดใ€‚ไนฆไธญๅŒ…ๅซ500ๅคšๆกๅฏๆ“ไฝœๅŽŸๅˆ™๏ผŒๆ—จๅœจๅธฎๅŠฉ่ฏป่€…ๅœจๅคๆ‚ไธ–็•ŒไธญไฟๆŒๅผ€ๆ”พๅฟƒๆ€ใ€็œ‹ๆธ…็Žฐๅฎž๏ผŒๅนถๅšๅ‡บๆœ€ไผ˜ๅ†ณ็ญ–ใ€‚",rating:4.8,highlights:["โ€œๆžๅบฆๆฑ‚็œŸโ€ไธŽโ€œๆžๅบฆ้€ๆ˜Žโ€็š„ๅŸบ็Ÿณ๏ผšไธปๅผ ่ฏšๅฎž้ขๅฏน็Žฐๅฎž๏ผŒ้€š่ฟ‡ๅ…ฌๅผ€ๅ†ณ็ญ–่ฟ‡็จ‹ๆฅ่Žทๅ–ๅค–้ƒจๅ้ฆˆ๏ผŒ่พพๆˆ้ซ˜ๆ•ˆๅไฝœ","ๅˆ›ๆ„ๆ‹ฉไผ˜ไธŽๅฏไฟกๅบฆๅŠ ๆƒๆœบๅˆถ๏ผšๆ‘’ๅผƒไธชไบบๆƒๅจ๏ผŒๅˆฉ็”จๆ•ฐๆฎ้ฉฑๅŠจ็š„่ฎจ่ฎบไธŽๅฏไฟกๅบฆๆƒ้‡๏ผŒๅœจๅ›ข้˜Ÿไธญ้€‰ๅ‡บๆœ€ไผ˜ๆ–นๆกˆ","500ไฝ™ๆกๅฏ่ฝๅœฐ็š„ๅŽŸๅˆ™ๆธ…ๅ•๏ผšๆถต็›–่‡ชๆˆ‘่ฎค็Ÿฅใ€ๆŠ•่ต„ๅ†ณ็ญ–ใ€ๅ›ข้˜Ÿๆฒป็†็ญ‰ๅœบๆ™ฏ๏ผŒๆž„ๅปบๅ‡บไธ€ๅฅ—้šๆ—ถๅฏๆŸฅ็š„่กŒๅŠจๆŒ‡ๅ—","็ณป็ปŸๅŒ–็š„โ€œๆœบๅ™จโ€ๆ€็ปด๏ผšๅฐ†็”ŸๆดปไธŽ็ป„็ป‡็ฎก็†ๆ‹†่งฃไธบๅฏ็ปดๆŠคใ€ๅฏ่ฟญไปฃ็š„็ณป็ปŸ๏ผŒๆœ‰ๆ•ˆ่ง„้ฟๆƒ…็ปชๅŒ–ๅนฒๆ‰ฐ"]},{id:"book-031",title:"ไปทๅ€ผ",author:"ๅผ ็ฃŠ",cover:"https://wfqqreader-1252317822.image.myqcloud.com/cover/958/33577958/t6_33577958.jpg",wereadLink:"https://weread.qq.com/web/reader/5be32a3072005be65bef195#outline?noScroll=1",link:"https://book.douban.com/subject/35188914/",tags:["ไปทๅ€ผๆŠ•่ต„","ๅ•†ไธšๆ€็ปด","ๅˆ›ไธš"],desc:"้ซ˜็“ด่ต„ๆœฌๅˆ›ๅง‹ไบบๅผ ็ฃŠ้ฆ–้ƒจไธชไบบๅŠๆŠ•่ต„ๆ€ๆƒณ่‘—ไฝœใ€‚ๅ…จไนฆ้€š่ฟ‡ๅ›ž้กพไฝœ่€…็š„ไธชไบบๆฑ‚ๅญฆไธŽๅˆ›ไธšๅކ็จ‹๏ผŒ็ณป็ปŸ้˜้‡Šไบ†โ€œ้•ฟๆœŸไธปไน‰โ€ไธŽโ€œ้‡ไป“ไธญๅ›ฝโ€็š„ๆ ธๅฟƒๆŠ•่ต„็†ๅฟต๏ผŒๅนถ้ฆ–ๆฌกๆŠซ้œฒไบ†้ซ˜็“ดๆŠ•่ต„็š„ไธƒๅคงๅ…ฌๅผใ€‚ไฝœ่€…ๅฐ†ๅไฝ™ไธชๅ…ธๅž‹ๆŠ•่ต„ๆกˆไพ‹ไธŽไธชไบบไปทๅ€ผไฟฎๅ…ป็›ธ็ป“ๅˆ๏ผŒๆญ็คบไบ†ๅฆ‚ไฝ•ๅœจไธ็กฎๅฎš็š„ๅ•†ไธš็Žฏๅขƒไธญ๏ผŒ้€š่ฟ‡ๅšๆŒๅŽŸๅˆ™ใ€ๆ•ฌ็•่ง„ๅˆ™ไธŽๆŒ็ปญๅˆ›ๆ–ฐ๏ผŒๅˆ›้€ ้•ฟไน…ใ€็œŸๅฎž็š„ไปทๅ€ผใ€‚",rating:4.6,highlights:["็ณป็ปŸๆž„ๅปบ้•ฟๆœŸไธปไน‰ๅ“ฒๅญฆ๏ผš้ฆ–ๆฌก็ณป็ปŸๅŒ–ๆขณ็†โ€œ้ซ˜็“ดไธƒๅคงๅ…ฌๅผโ€๏ผŒไธบ่ฏป่€…ๆไพ›ไปŽ่ฎค็Ÿฅใ€ๅ†ณ็ญ–ๅˆฐๆ‰ง่กŒ็š„ไปทๅ€ผๆŠ•่ต„ๅฎžๆˆ˜ๆจกๅž‹","ๆทฑๅบฆๅค็›˜็ปๅ…ธๅฎžๆˆ˜ๆกˆไพ‹๏ผš้€š่ฟ‡่…พ่ฎฏใ€่ดงๆ‹‰ๆ‹‰็ญ‰็œŸๅฎžๅ•†ไธšๆกˆไพ‹๏ผŒๆ‹†่งฃๅฆ‚ไฝ•ๅœจๅคๆ‚ๅธ‚ๅœบไธญ่ฏ†ๅˆซไผไธšๆŠคๅŸŽๆฒณไธŽๆ ธๅฟƒไปทๅ€ผ","ๆŠ•่ต„ไน‹ๅค–็š„ไบบๆ–‡ๆ€่€ƒ๏ผšๅปถไผธ่‡ณๆ•™่‚ฒใ€ไบบๆ‰ไธŽ็ง‘ๅญฆ่ง‚๏ผŒๅฑ•็Žฐไฝœ่€…ไฝœไธบ้กถๅฐ–ๆŠ•่ต„่€…ๅฏน็คพไผš่ดฃไปปไธŽ้•ฟๆœŸไปทๅ€ผๅˆ›้€ ็š„ๆทฑๅบฆๆ€่€ƒ","ๅฏ่ง†ๅŒ–็š„้˜…่ฏปไฝ“้ชŒ๏ผš็ฒพ้€‰ๅคšๅน…ๆ‰‹็ป˜ๅฝฉๆ’ไธŽๅކๅฒๅฝฑๅƒ๏ผŒๅฐ†ๆทฑๅˆป็š„ๆŠ•่ต„้€ป่พ‘ไธŽไผไธšๆˆ้•ฟๅ™ไบ‹ๅ˜ๅพ—ๆ›ดๅŠ ็”ŸๅŠจใ€็›ด่ง‚"]},{id:"book-032",title:"็บณ็“ฆๅฐ”ๅฎๅ…ธ",author:"ๅŸƒ้‡Œๅ…‹ยทไน”ๆ นๆฃฎ / ็บณ็“ฆๅฐ”ยทๆ‹‰็ปดๅŽ็‰น",cover:"https://cdn.weread.qq.com/weread/cover/89/YueWen_44026191/t6_YueWen_44026191.jpg",wereadLink:"https://weread.qq.com/web/reader/e1e32b00729fc94fe1e824d#outline?noScroll=1",link:"https://book.douban.com/subject/35876121/",tags:["่ดขๅฏŒ็ฎก็†","ไธชไบบๆˆ้•ฟ","ๅนธ็ฆๅ“ฒๅญฆ","ๆ€็ปด่ฎค็Ÿฅ"],desc:"่ฟ™ๆ˜ฏไธ€้ƒจๆฑ‡้›†็ก…่ฐท่‘—ๅๆŠ•่ต„ไบบ็บณ็“ฆๅฐ”ยทๆ‹‰็ปดๅŽ็‰น่ฟ‡ๅŽปๅๅนดๅ…ณไบŽ่ดขๅฏŒไธŽๅนธ็ฆๆ€่€ƒ็š„่กŒๅŠจๆŒ‡ๅ—ใ€‚ๅ…จไนฆๆ‘’ๅผƒไบ†โ€œ่‡ดๅฏŒ้ ่ฟๆฐ”โ€็š„ไผ ็ปŸ่ง‚ๅฟต๏ผŒๆๅ‡บ็งฏ็ดฏ่ดขๅฏŒไธŽๅนธ็ฆ็”Ÿๆดปๆ˜ฏๅฏไปฅ้€š่ฟ‡ๅญฆไน ๆŽŒๆก็š„ๆŠ€่ƒฝใ€‚้€š่ฟ‡็ณป็ปŸๆ•ด็†ๆŽจ็‰นใ€ๆ’ญๅฎขไธŽ่ฎฟ่ฐˆไธญ็š„ๆ™บๆ…ง๏ผŒๆœฌไนฆไธบ่ฏป่€…ๆไพ›ไบ†ๅฆ‚ไฝ•ๅœจๅฟซ้€Ÿๅ˜ๅŒ–็š„็ง‘ๆŠ€ไธŽ็ปๆตŽ็Žฏๅขƒไธญ๏ผŒๅˆฉ็”จๆ ๆ†ใ€ๅ‘ๆŒฅไธชไบบ็‹ฌ็‰นๆ€ง๏ผŒ่ฟ›่€Œๅฎž็Žฐ่ดขๅŠก่‡ช็”ฑๅนถ่Žทๅพ—ๆŒไน…ๅ†…ๅฟƒๆปก่ถณ็š„ๆ–นๆณ•่ฎบใ€‚",rating:4.7,highlights:["ๅฐ†่ดขๅฏŒไธŽๅนธ็ฆ่ง†ไธบๅฏไน ๅพ—็š„ๆŠ€่ƒฝ๏ผšๆ‰“็ ด่ฟๆฐ”่ฎบ๏ผŒๅผบ่ฐƒ้€š่ฟ‡ๅปบ็ซ‹ๆ ๆ†ใ€ๅ‘ๆŒฅไธชไบบ็‹ฌ็‰นๆ€งๆฅ่Žทๅ–้ž็บฟๆ€ง็š„ๅ›žๆŠฅ","ๅๅนดๆ€ๆƒณ็š„็ณป็ปŸๅŒ–็ผ–็บ‚๏ผšๅฐ†็ขŽ็‰‡ๅŒ–็š„ไบ’่”็ฝ‘ๆ™บๆ…งๆ็‚ผไธบๆˆไฝ“็ณป็š„ๆ–นๆณ•่ฎบ๏ผŒๆ‰“้€ ไบ†ๆ•ฐๅญ—ๆ—ถไปฃไธชไบบ็š„โ€œ่กŒๅŠจๆŒ‡ๅ—โ€","ๅ…ผ้กพ่ดขๅฏŒ็งฏ็ดฏไธŽๅ†…ๅฟƒๆปก่ถณ๏ผšไธไป…ๆ•™ๅฏผๅฆ‚ไฝ•้ซ˜ๆ•ˆ่ตš้’ฑ๏ผŒๆ›ดๆทฑๅ…ฅๆŽข่ฎจๅฆ‚ไฝ•้€š่ฟ‡้˜…่ฏปใ€ๅ†ฅๆƒณไธŽ้•ฟๆœŸไธปไน‰๏ผŒๅœจ่ŒๅœบๆˆๅŠŸไธญๅฏปๆ‰พๅ†…ๅฟƒ็š„ๅฎ้™","ๆžๅ…ทๅฎžๆ“ๆ€ง็š„ๅทฅๅ…ท็ฎฑ๏ผšๆไพ›ๅฆ‚ๆทฑๅบฆๆ€่€ƒใ€ๅˆปๆ„็ปƒไน ใ€ๆž„ๅปบไธชไบบๅ“็‰Œ็ญ‰ๅ…ทไฝ“่ทฏๅพ„๏ผŒๅธฎๅŠฉ่ฏป่€…ๅœจ็ขŽ็‰‡ๅŒ–ๆ—ถไปฃๅฟซ้€Ÿๅฎž็Žฐ่‡ชๆˆ‘่ฟญไปฃ"]},{id:"book-028",title:"ไผ˜็ง€็š„็ปต็พŠ",author:"ๅจๅป‰ยทๅพท้›ท่ฐข็ปดๅฅ‡",cover:"https://cdn.weread.qq.com/weread/cover/78/cpplatform_3ncoeekcuaectlzj9hf5nr/t6_cpplatform_3ncoeekcuaectlzj9hf5nr1744626569.jpg",wereadLink:"https://weread.qq.com/web/reader/1c0324c0813ab9d91g010aba#outline?noScroll=1",link:"https://book.douban.com/subject/26747208/",tags:["ๅš้›…ๆ•™่‚ฒ","็คพไผšๅญฆ","ไธชไบบๆˆ้•ฟ"],desc:"่€ถ้ฒๅคงๅญฆๅ‰ๆ•™ๆŽˆๅจๅป‰ยทๅพท้›ท่ฐข็ปดๅฅ‡ๅฏน็พŽๅ›ฝๅธธๆ˜ฅ่—ค็ฒพ่‹ฑๆ•™่‚ฒไฝ“ๅˆถ็š„ๅฐ–้”ๆ‰นๅˆคไน‹ไฝœใ€‚ไฝœ่€…้€š่ฟ‡ไบŒๅไฝ™ๅนด็š„ๆ•™ๅญฆ่ง‚ๅฏŸ๏ผŒๆŒ‡ๅ‡บ้กถๅฐ–ๅญฆๅบœๅŸนๅ…ปๅ‡บไธ€็พค่™ฝ็„ถ่ชๆ˜Žใ€ไผ˜็ง€๏ผŒไฝ†ๆ™ฎ้็„ฆ่™‘ใ€็ผบไน็›ฎๆ ‡ๆ„Ÿไธ”ๅ”ฏๅ‘ฝๆ˜ฏไปŽ็š„โ€œไผ˜็ง€็ปต็พŠโ€ใ€‚ๆœฌไนฆๅ‘ผๅ็คพไผš้‡ๆ–ฐๅฎก่ง†ๆ•™่‚ฒ็š„ๆœฌ่ดจ๏ผŒๆ‘†่„ฑๅฏนๅๆ กไธŽ้ซ˜่–ช็š„็›ฒ็›ฎๅด‡ๆ‹œ๏ผŒๅ›žๅฝ’ๅš้›…ๆ•™่‚ฒ๏ผŒ้ผ“ๅŠฑๅญฆ็”ŸๆŽข็ดขๅ†…ๅœจ้ฉฑๅŠจๅŠ›ไธŽ่‡ชๆˆ‘ไปทๅ€ผใ€‚",rating:4.2,highlights:["็Š€ๅˆฉๅ‰–ๆž็ฒพ่‹ฑๆ•™่‚ฒๅผŠ็ซฏ๏ผš็›ดๅ‡ปๅธธๆ˜ฅ่—คไฝ“ๅˆถๅŸนๅ…ปๅ‡บโ€œ่ชๆ˜Žไฝ†ๆฒกๆœ‰็ต้ญ‚โ€็š„ๅญฆ็”Ÿ็š„็Žฐๅฎž๏ผŒๅๆ€ๅ”ฏๅๆ กไธŽๆˆ็ปฉ่ฎบ็š„ๅ•ไธ€่ฏ„ไปทไฝ“็ณป","ๅ›žๅฝ’ๅš้›…ๆ•™่‚ฒ็š„ๆ ธๅฟƒไปทๅ€ผ๏ผšๆ‰นๅˆคๅบ”่ฏ•ๅŒ–ๅ€พๅ‘๏ผŒๆๅ€ก็ป™ไบˆๅญฆ็”Ÿๆ›ดๅคšๆŽข็ดขใ€ๅคฑ่ดฅไธŽ้‡ๅก‘่‡ชๆˆ‘็š„็ฉบ้—ด๏ผŒๅผบ่ฐƒๆ•™่‚ฒ็š„ๆœฌ่ดจๅœจไบŽๅธฎๅŠฉไธชไฝ“ๆ‰พๅˆฐ่‡ชๆˆ‘","ๆไพ›ๆŒฃ่„ฑๅค–้ƒจๆœŸๅพ…็š„่ฎค็Ÿฅๆก†ๆžถ๏ผšๆ—ขไธบ่ฟท่Œซ็š„ๅนด่ฝปไบบๆŒ‡ๆ˜Žๅฆ‚ไฝ•้‡ๅปบๅ†…ๅœจๅŠจๅŠ›๏ผŒไนŸ็ป™ๅฎถ้•ฟๅ’Œๆ•™่‚ฒ่€…ๆ•ฒๅ“ไบ†ๅ…ณไบŽโ€œๆˆๅŠŸๅฎšไน‰โ€็š„่ญฆ้’Ÿ","่ทจๆ–‡ๅŒ–่ƒŒๆ™ฏไธ‹็š„ๆ•™่‚ฒๅ…ฑ้ธฃ๏ผšๅฐฝ็ฎกไปฅ็พŽๅ›ฝ็ฒพ่‹ฑๆ•™่‚ฒไธบไพ‹๏ผŒๅ…ถๅฏนโ€œๆ•™่‚ฒๅ†…ๅทโ€ไธŽโ€œ็ผบไน็›ฎๆ ‡ๆ„Ÿโ€็š„ๆ‰นๅˆค๏ผŒๅผ•ๅ‘ไบ†ๅ…จ็ƒ้ซ˜ๅŽ‹ๆ•™่‚ฒ็Žฏๅขƒไธ‹็š„ๆทฑๅฑ‚ๅ…ฑ้ธฃ"]},{id:"book-029",title:"ๆŠŠ่‡ชๅทฑๅ˜ๆˆ็จ€็ผบ่ต„ไบง",author:"ไฝ•ๆ€ๅนณ",cover:"https://cdn.weread.qq.com/weread/cover/98/cpplatform_ncqzerh3wdywn9mlc9cjna/t6_cpplatform_ncqzerh3wdywn9mlc9cjna1694085413.jpg",wereadLink:"https://weread.qq.com/web/reader/2fe326f0813ab821fg0146df#outline?noScroll=1",link:"https://book.douban.com/subject/36513648/",tags:["ไธชไบบๆˆ้•ฟ","ๆ€็ปด่ฎค็Ÿฅ","่‡ชๆˆ‘็ฎก็†","ๆŠ•่ต„็†่ดข"],desc:"่ฟ™ๆ˜ฏไธ€ไธชๅฐ†โ€œไบบ็”Ÿโ€่ง†ไฝœโ€œๅ…ฌๅธโ€ๆฅ็ป่ฅ็š„ๅฎžๆˆ˜ๆŒ‡ๅ—ใ€‚ไฝœ่€…ไฝ•ๆ€ๅนณ็ป“ๅˆ่‡ช่บซไปŽไธฅ้‡ๅฃๅƒๅˆฐๆผ”่ฎฒๅ† ๅ†›ใ€ๅ†ๅˆฐ่ฟž็ปญๅˆ›ไธšๆˆๅŠŸ็š„่ทจ่ถŠๅผ็ปๅކ๏ผŒๆๅ‡บไบ†โ€œไบบ็”Ÿๆœ‰้™ๅ…ฌๅธโ€็š„็ป่ฅๅ“ฒๅญฆใ€‚ๅ…จไนฆ้€š่ฟ‡โ€œ็”Ÿๅ‘ฝ็ซ‹ๆ–นไฝ“โ€ๆจกๅž‹๏ผŒไปŽ่ฎค็Ÿฅใ€ๅฎž่ทตใ€็ฒพๅŠ›็ฎก็†ไธ‰ไธช็ปดๅบฆๆ‹†่งฃไบ†ๅฆ‚ไฝ•้€š่ฟ‡ๆŒ็ปญ่พ“ๅ‡บไธŽ่ทจ็•Œๅญฆไน ๏ผŒๅฐ†่‡ชๅทฑๆ‰“้€ ไธบๅ…ทๆœ‰้ซ˜ๅฃๅž’ใ€ไธๅฏๆ›ฟไปฃ็š„โ€œ็จ€็ผบ่ต„ไบงโ€ใ€‚",rating:4.2,highlights:["ๆๅ‡บโ€œไบบ็”Ÿๆœ‰้™ๅ…ฌๅธโ€็ป่ฅๅ“ฒๅญฆ๏ผšๅ€กๅฏผๅฐ†่‡ชๅทฑ่ง†ไฝœๆœ€ๅ€ผๅพ—ๆŠ•่ต„็š„ไธŠๅธ‚ๅ…ฌๅธ๏ผŒ้€š่ฟ‡ไธๆ–ญๆๅ‡่ฎค็ŸฅไธŽ่ƒฝๅŠ›ๅฃๅž’๏ผŒๆŠŠโ€œไบบ็”Ÿโ€็ป่ฅๆˆ็จ€็ผบ่ต„ไบง","็ณป็ปŸๅŒ–็š„โ€œ็”Ÿๅ‘ฝ็ซ‹ๆ–นไฝ“โ€ๆจกๅž‹๏ผšไปŽ่ฎค็Ÿฅใ€ๅฎž่ทตใ€็ฒพๅŠ›็ฎก็†ไธ‰ไธช็ปดๅบฆๆž„ๅปบไธชไบบๆˆ้•ฟ้—ญ็Žฏ๏ผŒ่งฃๅ†ณๆˆ้•ฟไธญ็š„ๆ— ๅบๆ„ŸไธŽ็ขŽ็‰‡ๅŒ–้šพ้ข˜","่š็„ฆไธชไบบๆ ธๅฟƒ็ซžไบ‰ๅŠ›๏ผšๆทฑๅบฆๆ‹†่งฃ่ฎค็ŸฅๅŠ›ใ€ๅญฆไน ๅŠ›ไธŽๅ…ฑๆƒ…ๅŠ›็ญ‰็จ€็ผบ่ƒฝๅŠ›็š„่Žทๅ–่ทฏๅพ„๏ผŒๆ•™ๅฏผ่ฏป่€…ๅœจไธๅŒๅœบๆ™ฏไธญ้€š่ฟ‡ๅฎžๆˆ˜้ชŒ่ฏ่‡ชๆˆ‘ไปทๅ€ผ","้ซ˜ๅบฆๅฏๆ“ไฝœ็š„ๅทฅๅ…ทๆธ…ๅ•๏ผšๆ‘’ๅผƒ้ธกๆฑคๅผ่ฏดๆ•™๏ผŒๅฐ†่‡ชๆˆ‘ๆˆ้•ฟๆ‹†่งฃไธบๅ…ทไฝ“็š„ไน ๆƒฏๆ”น้€ ไธŽๅค็›˜ๆธ…ๅ•๏ผŒๅธฎๅŠฉ่ฏป่€…ๅœจ็—›็‚นไธŽ้ซ˜ๅ…‰ๆ—ถๅˆป้ƒฝ่ƒฝ้€š่ฟ‡ๅ้ฆˆๆœบๅˆถๅฎž็Žฐ่‡ชๆˆ‘่ฟญไปฃ"]},{id:"book-030",title:"ๆˆ้•ฟ็ฌฌไบŒๆ›ฒ็บฟ๏ผš่ทจ่ถŠSๅž‹ๆŒ็ปญๆˆ้•ฟ",author:"ๆŸฅๅฐ”ๆ–ฏยทๆฑ‰่ฟช",cover:"https://cdn.weread.qq.com/weread/cover/65/YueWen_39427437/t6_YueWen_39427437.jpg",wereadLink:"https://weread.qq.com/web/reader/15d32ed072599d6d15daa86#outline?noScroll=1",link:"https://book.douban.com/subject/35531368/",tags:["็ฎก็†ๅญฆ","ไธชไบบๆˆ้•ฟ","ไบบ็”Ÿๅ“ฒๅญฆ","ๆœชๆฅ่ถ‹ๅŠฟ"],desc:"็ฎก็†ๅคงๅธˆๆŸฅๅฐ”ๆ–ฏยทๆฑ‰่ฟช็š„โ€œไบบ็”Ÿ้•ฟ่ท‘ๆŒ‡ๅ—โ€ใ€‚ๆœฌไนฆ้€š่ฟ‡ไนฆไฟกไฝ“ๅฝขๅผ๏ผŒๆทฑๅบฆๆŽข่ฎจไบ†ๅœจๆ•ฐๅญ—ๆ—ถไปฃ่ƒŒๆ™ฏไธ‹ไธชไบบๅฆ‚ไฝ•่ฏ†ๅˆซๅนถ่ทจ่ถŠโ€œ็ฌฌไบŒๆ›ฒ็บฟโ€ใ€‚ๆฑ‰่ฟชๆŒ‡ๅ‡บ๏ผŒๆ— ่ฎบ็ป„็ป‡่ฟ˜ๆ˜ฏไธชไบบ๏ผŒ้ƒฝๅ—ๅˆถไบŽSๅž‹ๅขž้•ฟๆ›ฒ็บฟ๏ผŒๅชๆœ‰ๅœจ็ฌฌไธ€ๆ›ฒ็บฟ่กฐ้€€ๅ‰ไธปๅŠจๅธƒๅฑ€ๆ–ฐ็š„ๅขž้•ฟ็‚น๏ผŒๅนถไฟๆŒๅ†…ๅœจไปทๅ€ผ็š„็‹ฌ็ซ‹ไธŽ่ฟ›ๅŒ–๏ผŒๆ‰่ƒฝๅœจไธๆ–ญๅ˜ๅŒ–็š„็Žฏๅขƒไธญ่Žทๅพ—ๆŒ็ปญไธ”ๆœ‰ๆ„ไน‰็š„ๆˆ้•ฟใ€‚",rating:4.5,highlights:["็™พๅฒ็ฎก็†ๅคงๅธˆ็š„ไบบ็”Ÿไฝ“ๆ‚Ÿ๏ผšไปฅไนฆไฟกไฝ“ๆต“็ผฉไธ€็”Ÿ็ฎก็†็ ”็ฉถไธŽไธชไบบ็ป้ชŒ๏ผŒๆไพ›ไบ†ไปŽๆ—ถ้—ด็ปดๅบฆๅฎก่ง†ๅทฅไฝœใ€ๅญฆไน ไธŽ็”Ÿๆดป็š„ๅ…จๆ™ฏ่ง†่ง’","โ€œ็ฌฌไบŒๆ›ฒ็บฟโ€็†่ฎบ็š„ๅ…จ้ข่ฟ›้˜ถ๏ผšๆทฑๅˆปๆญ็คบ็ป„็ป‡ไธŽไธชไบบ็š„ๅ…ด่กฐ่ง„ๅพ‹๏ผŒๆ•™ๅฏผ่ฏป่€…ๅฆ‚ไฝ•ๅœจ็ฌฌไธ€ๆ›ฒ็บฟ็š„ๅท…ๅณฐๅ‰ๅฐฑไธปๅŠจๅธƒๅฑ€ๆ–ฐ็š„ๅขž้•ฟๅผ•ๆ“Ž","ๅ…จๅœบๆ™ฏไธ‹็š„ๆŒ็ปญ่ฟ›ๅŒ–ๆ–นๆกˆ๏ผšๅฐ†็ฌฌไบŒๆ›ฒ็บฟๆ€็ปด่ทจ็•Œๅบ”็”จไบŽๆ•™่‚ฒใ€่Œไธš่ง„ๅˆ’ใ€ๅฉšๅงปไธŽๅฎถๅบญไธญ๏ผŒๅผบ่ฐƒโ€œๅ˜ๅŒ–ๆ‰ๆ˜ฏๅธธๆ€โ€๏ผŒ้ผ“ๅŠฑๆŒ็ปญ่‡ชๆˆ‘้‡ๅก‘","้ขๅ‘Zไธ–ไปฃ็š„ๆธ…้†’ๅค„ๆ–น๏ผšๅœจ็ง‘ๆŠ€้ซ˜ๆญŒ็Œ›่ฟ›็š„ๆ•ฐๅญ—ๆ—ถไปฃ๏ผŒๆ้†’ๅŽไบบ้‡่ง†่ฏšไฟกใ€ๅไฝœ็ญ‰่ฝฏๅฎžๅŠ›๏ผŒไฟๆŒ็‹ฌ็ซ‹ๅˆคๆ–ญ๏ผŒ้ฟๅ…ๅœจ็ฎ—ๆณ•ไธŽ็„ฆ่™‘ไธญ่ฟทๅคฑ่‡ชๆˆ‘"]}],Me=[{id:"book-033",title:"ๆžช็‚ฎใ€็—…่ŒไธŽ้’ข้“",author:"่ดพ้›ทๅพทยทๆˆด่’™ๅพท",cover:"https://cdn.weread.qq.com/weread/cover/99/YueWen_42766048/t6_YueWen_42766048.jpg",wereadLink:"https://weread.qq.com/web/reader/843329f0728c8ee08434fb1#outline?noScroll=1",link:"https://book.douban.com/subject/1813841/",tags:["ไบบ็ฑปๅކๅฒ","ๅœฐ็†ๅ†ณๅฎš่ฎบ","็คพไผšๅญฆ","่ทจๅญฆ็ง‘"],desc:"ไธ€้ƒจ้‡ๆ–ฐๅฎšไน‰ไบบ็ฑปๅކๅฒๅ‘ๅฑ•็š„ๅฎๅคง่‘—ไฝœใ€‚ไฝœ่€…่ดพ้›ทๅพทยทๆˆด่’™ๅพท้€š่ฟ‡็”Ÿ็‰ฉๅญฆใ€ๅœฐ็†ๅญฆใ€ไบบ็ฑปๅญฆ็ญ‰ๅคšๅญฆ็ง‘ไบคๅ‰่ง†่ง’๏ผŒๅผบๆœ‰ๅŠ›ๅœฐๅ้ฉณไบ†โ€œ็งๆ—ๅ†ณๅฎš่ฎบโ€ๅ’Œโ€œ่ฅฟๆ–นๆ–‡ๆ˜Žไผ˜่ถŠ่ฎบโ€ใ€‚ไป–ๆๅ‡บ๏ผŒๅ†ณๅฎšๆ–‡ๆ˜Žๅ…ด่กฐ็š„ๅ…ณ้”ฎๅนถ้ž็งๆ—๏ผŒ่€Œๆ˜ฏ็Žฏๅขƒๅ› ็ด ใ€ๅœฐ็†ๆ ผๅฑ€ไปฅๅŠๅŠจๆค็‰ฉ้ฉฏๅŒ–็š„ๅทฎๅผ‚๏ผŒ่ฟ™ไบ›่‡ช็„ถๆกไปถ็š„ๅถ็„ถๆ€งๆœ€็ปˆๅฏผ่‡ดไบ†ๆŠ€ๆœฏใ€ๅ…็–ซๅŠ›ๅ’ŒๆƒๅŠ›็ป“ๆž„็š„ๅทฎๅผ‚๏ผŒไปŽ่€Œ้‡ๅก‘ไบ†็Žฐไปฃไธ–็•Œ็š„ๅ…จ็ƒ็‰ˆๅ›พใ€‚",rating:4.8,highlights:["้ข ่ฆ†ๆ€ง็š„ๅކๅฒ่ง‚๏ผšไปฅ็ŽฏๅขƒไธŽๅœฐ็†ๅทฎๅผ‚่งฃ้‡Šๆ–‡ๆ˜Žๅ…ด่กฐ๏ผŒๆœ‰ๅŠ›ๅ†ฒๅ‡ปไบ†้•ฟๆœŸๆต่กŒ็š„่ฅฟๆ–นๆ–‡ๆ˜Žไผ˜่ถŠ่ฎบ๏ผŒๆไพ›ไบ†็†่งฃไบบ็ฑปๅކๅฒ็š„ๅ…จๆ–ฐ่ง†่ง’","่ทจๅญฆ็ง‘็š„็ปผๅˆ็ ”็ฉถๆก†ๆžถ๏ผšๅทงๅฆ™่žๅˆ็”Ÿ็‰ฉๅญฆใ€ๅœฐ็†ๅญฆใ€ๅކๅฒๅญฆใ€็คพไผšๅญฆ็ญ‰ๅคšๅญฆ็ง‘็Ÿฅ่ฏ†๏ผŒ้‡ๅปบไบบ็ฑปๆ–‡ๆ˜Žๆผ”่ฟ›็š„้€ป่พ‘่ทฏๅพ„","็ณป็ปŸๆญ็คบๅކๅฒๆผ”ๅ˜็š„ๆœบๅˆถ๏ผšๆทฑๅ…ฅๅ‰–ๆžๅ†œไธšใ€็—…่Œไผ ๆ’ญไธŽๆŠ€ๆœฏๆƒๅŠ›ๅฆ‚ไฝ•ๅฝขๆˆ็›ธไบ’ๅผบๅŒ–็š„ๅพช็Žฏ๏ผŒๅฑ•็คบไบ†ๆ–‡ๆ˜Žๅ‘ๅฑ•่ƒŒๅŽๅคๆ‚็š„่ต„ๆบไบ’ๅŠจ","ๅ…ทๅค‡ๅ…ฌๅ…ฑๆ€ๆƒณ่€…็š„ๅฎ่ง‚่ง†้‡Ž๏ผšๅฐ†ไธฅ่ฐจ็š„็ง‘ๅญฆ็ ”็ฉถ่ฝฌๅŒ–ไธบๅฏนไบบ็ฑปๅ‘ฝ่ฟไธŽ็คพไผšๅ‘ๅฑ•็š„ๆทฑๅˆปๅๆ€๏ผŒไธบ็Žฐไปฃไบบ็†่งฃ่‡ช่บซๅœจๅކๅฒ้•ฟๆฒณไธญ็š„ไฝ็ฝฎๆไพ›ไบ†็ปไฝณๅ‚็…ง"]},{id:"book-034",title:"ไธญๅ›ฝ็คพไผšๅ„้˜ถๅฑ‚ๅˆ†ๆž",author:"ๆขๆ™“ๅฃฐ",cover:"https://cdn.weread.qq.com/weread/cover/0/yuewen_42682684/t6_yuewen_426826841728383400.jpg",wereadLink:"https://weread.qq.com/web/reader/085326e0728b493c085ade1#outline?noScroll=1",link:"https://book.douban.com/subject/35485315/",tags:["็คพไผš่ง‚ๅฏŸ","้˜ถๅฑ‚็ ”็ฉถ","็Žฐๅฎžไธปไน‰"],desc:"่Œ…็›พๆ–‡ๅญฆๅฅ–ๅพ—ไธปๆขๆ™“ๅฃฐๅŸบไบŽๅคšๅนด็คพไผš่ง‚ๅฏŸ็š„็Žฐๅฎž้ข˜ๆๅŠ›ไฝœใ€‚ไฝœ่€…ๅฐ†ๅฟซ้€Ÿๅ˜่ฟ็š„ไธญๅ›ฝ็คพไผšๅˆ’ๅˆ†ไธบไธๅŒ้˜ถๅฑ‚๏ผŒไปฅๅนณๆฐ‘่ง†่ง’็ป†่…ปๆๆ‘นๅ„็พคไฝ“็š„็”Ÿๅญ˜็Šถๆ€ใ€ๅฟƒ็†ๅ›ฐๅขƒไธŽ้˜ถๅฑ‚็„ฆ่™‘ใ€‚ๅ…จไนฆไธ่ฟฝๆฑ‚็บฏๅญฆๆœฏ็š„ๆžฏ็‡ฅๅˆ†ๆž๏ผŒ่€Œๆ˜ฏ้€š่ฟ‡ๆ–‡ๅญฆๅŒ–็š„็คพไผš่ง‚ๅฏŸ๏ผŒๅ‹พๅ‹’ๅ‡บไธ€ๅน…ๅฝ“ไปฃไธญๅ›ฝ็คพไผš็š„โ€œๆตฎไธ–็ป˜โ€๏ผŒๅผ•ๅฏผ่ฏป่€…ๅœจๆ—ถไปฃๅๆ ‡ไธญๆ‰พๅ‡†ๅฎšไฝ๏ผŒ็†่งฃ็คพไผšๅ˜่ฟ่ƒŒๅŽ็š„็ป“ๆž„ๆ€ง้€ป่พ‘ใ€‚",rating:4.3,highlights:["ๅนณๆฐ‘่ง†่ง’ไธ‹็š„็คพไผšโ€œๆตฎไธ–็ป˜โ€๏ผš้€š่ฟ‡็ป†่…ป็š„็ฌ”่งฆๅ‹พๅ‹’ๅ„้˜ถๅฑ‚็š„็”Ÿๅญ˜้€ป่พ‘ไธŽๅฟƒ็†็”ปๅƒ๏ผŒๅธฎๅŠฉ่ฏป่€…็›ด่ง‚็†่งฃๅฎ่ง‚็คพไผš็ป“ๆž„","ๅ…ผๅ…ท็Žฐๅฎž็—›็‚นไธŽ็ฒพ็ฅžๆทฑๅบฆ๏ผšไธไป…ๅ‘ˆ็Žฐ็‰ฉ่ดจ็”Ÿๆดป็š„ๅทฎๅผ‚๏ผŒๆ›ดๆทฑๅˆปๅ‰–ๆž้˜ถๅฑ‚็„ฆ่™‘่ƒŒๅŽ็š„ไปทๅ€ผๅ›ฐๅขƒ๏ผŒไธบ็†่งฃๅฝ“ไปฃ็คพไผšๆไพ›ไบบๆ–‡ๅ‚็…ง","ๆ—ถไปฃ่„‰็ปœไธญ็š„ๅ‘ฝ่ฟไนฆๅ†™๏ผšๅฐ†ไธชไฝ“ๅ‘ฝ่ฟ็ฝฎไบŽๅކๅฒไบ‹ไปถ็š„ๅฎ่ง‚่ƒŒๆ™ฏไธญ่€ƒๅฏŸ๏ผŒๅฑ•็Žฐไบ†ๅŠไธชไธ–็บชไปฅๆฅ็คพไผšๅ˜่ฟ็š„ๆทฑๅฑ‚่„‰็ปœ","ๆ–‡ๅญฆ็ฌ”่งฆไธ‹็š„็คพไผšๅ…ณๆ€€๏ผšไฝœไธบ่Œ…็›พๆ–‡ๅญฆๅฅ–ๅพ—ไธป๏ผŒไฝœ่€…้€š่ฟ‡ๅฏŒๆœ‰ๆ•…ไบ‹ๆ€ง็š„ๅ™ไบ‹๏ผŒๆ—ขไฟ็•™ไบ†ๆ‰นๅˆคๆ€ง๏ผŒๅˆ่ฎฉๆ–‡ๆœฌๅ……ๆปกไบ†ๆธฉๆš–็š„ไบบๆ–‡ๆธฉๅบฆ"]},{id:"book-021",title:"ๆŠŠ่‡ชๅทฑไฝœไธบๆ–นๆณ•",author:"้กน้ฃ™ / ๅด็ฆ",cover:"https://cdn.weread.qq.com/weread/cover/81/cpPlatform_3300003962/t6_cpPlatform_3300003962.jpg",wereadLink:"https://weread.qq.com/web/reader/d7532f80813ab680cg012708#outline?noScroll=1",link:"https://book.douban.com/subject/35092383/",tags:["็คพไผšๅญฆ","่ฎฟ่ฐˆๅฝ•","ๆ€ๆƒณๆ–นๆณ•"],desc:"ไธคไปฃๅญฆไบบ้กน้ฃ™ไธŽๅด็ฆๅކๆ—ถไธ‰ๅนดใ€่ทจ่ถŠไบ”ๅœฐ็š„ๆทฑๅบฆๅฏน่ฏๅฎžๅฝ•ใ€‚ๆœฌไนฆไปŽ้กน้ฃ™็š„ไธชไบบ็ป้ชŒๅˆ‡ๅ…ฅ๏ผŒๆŽข่ฎจไบ†ไธญๅ›ฝ็คพไผš่ฟ‘ๅŠไธชไธ–็บช็š„ๅ˜่ฟใ€ๅ…จ็ƒๅŒ–ไธŽๆฐ‘็ฒนไธปไน‰็ญ‰ๅฎๅคง่ฎฎ้ข˜ใ€‚ๅœจ่‡ชๆˆ‘ๆณ›ๆปฅไธŽๆ€ๆƒณๅ—ๅ›ฐ็š„ๆ—ถไปฃ๏ผŒไฝœ่€…ๆๅ‡บโ€œๆŠŠ่‡ชๅทฑไฝœไธบๆ–นๆณ•โ€๏ผŒๆŒ‡ๅฏผ่ฏป่€…ๅฆ‚ไฝ•ๅœจๅ…จ็ƒๅŒ–ๅนดไปฃ้‡ๆ–ฐๅฎšไฝ่‡ชๆˆ‘ใ€้‡ๅปบโ€œ้™„่ฟ‘โ€๏ผŒๅนถๅœจไธชไบบไฝ“้ชŒไธŽๅฎ่ง‚ๅ™ไบ‹ไน‹้—ดๆญๅปบ่ตทๆ€่€ƒไธŽ่กŒๅŠจ็š„ๆกฅๆขใ€‚",rating:4.6,highlights:["ไปฅโ€œ่‡ชๆˆ‘โ€ๅˆ‡ๅ…ฅๅ›žๅบ”ๅฎๅคง่ฎฎ้ข˜๏ผš็คบ่Œƒๅฆ‚ไฝ•ๅœจไธชไบบ็œŸๅฎžไฝ“้ชŒไธŽๅ…จ็ƒๅŒ–ใ€็คพไผšๅ˜่ฟ็ญ‰ๅฎ่ง‚ๅ™ไบ‹ไน‹้—ดๆญๅปบ่ฎค็Ÿฅ็š„ๆกฅๆข","ๆไพ›้‡ๅปบโ€œ้™„่ฟ‘โ€็š„่กŒๅŠจๆŒ‡ๅ—๏ผšๅœจ่‡ชๆˆ‘ๆณ›ๆปฅ็š„ๆฝฎๆตไธญ๏ผŒๆŒ‡ๅฏผ่ฏป่€…ๅฆ‚ไฝ•ๅฎก่ง†็Žฐๅฎž๏ผŒๅˆ›้€ ๆ€งๅœฐๅปบ่ฎพ่บซ่พน็š„ๅฐไธ–็•Œ","ๅ…ผๅ…ทๅญฆๆœฏๆทฑๅบฆไธŽๆž้ซ˜ๅฏ่ฏปๆ€ง๏ผšๅฐ†ไบบ็ฑปๅญฆใ€็คพไผšๅญฆ็š„ๆทฑๅˆป็†่ฎบๆดžๅฏŸ๏ผŒๅทงๅฆ™่žๅ…ฅ็”ŸๅŠจ็š„็”ฐ้‡Žๆ•…ไบ‹ไธŽๅŒไบบ็”ŸๆดปๅŒ–ๅฏน่ฐˆไธญ","่ทจ่ถŠไธ‰ๅนด็š„ๆ€ๆƒณ็ขฐๆ’ž๏ผšๅކๆ—ถไธ‰ๅนดใ€่ทจ่ถŠไบ”ๅœฐ็š„ๆŒ็ปญๅฏน่ฏ็ป“้›†๏ผŒๅๆ€็Ÿฅ่ฏ†็”ŸไบงไธŽๅ…ฌๅ…ฑ่ฎจ่ฎบ็š„็œŸๅฎžๅค„ๅขƒ"]}],$e=[{id:"book-035",title:"็™พๅฒไบบ็”Ÿ๏ผš้•ฟๅฏฟๆ—ถไปฃ็š„็”Ÿๆดปๅ’Œๅทฅไฝœ",author:"็ณ่พพยทๆ ผๆ‹‰้กฟ / ๅฎ‰ๅพท้ฒยทๆ–ฏ็ง‘็‰น",cover:"https://wfqqreader-1252317822.image.myqcloud.com/cover/860/22902860/t6_22902860.jpg",wereadLink:"https://weread.qq.com/web/reader/30c323e0715d784c30c1e1b#outline?noScroll=1",link:"https://book.douban.com/subject/30245089/",tags:["ไบบ็”Ÿ่ง„ๅˆ’","้•ฟๅฏฟๆ—ถไปฃ","็คพไผšๅญฆ"],desc:"ๅŸบไบŽไผฆๆ•ฆๅ•†ๅญฆ้™ข็š„็ปๅ…ธ่ฏพ็จ‹๏ผŒไฝœ่€…็ณ่พพยทๆ ผๆ‹‰้กฟไธŽๅฎ‰ๅพท้ฒยทๆ–ฏ็ง‘็‰นๆๅ‡บ๏ผŒ้ขๅฏนไธ€ๅŠๆฆ‚็އๆดปๅˆฐ100ๅฒ็š„้•ฟๅฏฟๆ—ถไปฃ๏ผŒไผ ็ปŸ็š„โ€œๅญฆไน -ๅทฅไฝœ-้€€ไผ‘โ€ไธ‰ๆฎตๅผไบบ็”Ÿๆจกๅผๅทฒๅฝปๅบ•ๅคฑๆ•ˆใ€‚ๆœฌไนฆๆŒ‡ๅฏผ่ฏป่€…ๅฆ‚ไฝ•้‡ๆ–ฐ่ฎพ่ฎกไบบ็”Ÿ๏ผŒ้€š่ฟ‡ๆ‹ฅๆŠฑๅคš้˜ถๆฎตไบบ็”Ÿๆจกๅž‹๏ผŒๅœจๆ›ด้•ฟ็š„็”Ÿๅ‘ฝๅ‘จๆœŸไธญๅนณ่กกๅทฅไฝœใ€ๅญฆไน ไธŽไผ‘้—ฒ๏ผŒๅนถๅผบ่ฐƒๅœจ่ดขๅŠก่ต„ไบงไน‹ๅค–๏ผŒๆ›ด่ฆๆณจ้‡ๅฅๅบทใ€ๅ‹่ฐŠไธŽ็Ÿฅ่ฏ†็ญ‰โ€œๆ— ๅฝข่ต„ไบงโ€็š„ๆŒ็ปญๆŠ•ๅ…ฅไธŽๅขžๅ€ผใ€‚",rating:4.3,highlights:["้‡ๆž„ไบบ็”Ÿๆจกๅผ๏ผšๆ‰“็ ดไผ ็ปŸ็š„โ€œไธ‰ๆฎตๅผโ€็”Ÿๆดป่Œƒๅผ๏ผŒๆๅ‡บๅ……ๆปกๅผนๆ€ง็š„โ€œๅคš้˜ถๆฎตไบบ็”Ÿโ€ๆจกๅž‹๏ผŒ่ฎฉๅทฅไฝœไธŽๅญฆไน ไธๅ†ๆ˜ฏ็บฟๆ€ง็š„้‡ๅค","ไปŽๅ…ณๆณจ่ดขๅŠกๅˆฐโ€œๆ— ๅฝข่ต„ไบงโ€๏ผš้™คไบ†ๅ…ป่€้‡‘๏ผŒๅผบ่ฐƒๅฅๅบทใ€ๅ‹่ฐŠใ€็คพไบค็ฝ‘็ปœไธŽๅฟƒ็†้Ÿงๆ€ง็ญ‰โ€œๆ— ๅฝข่ต„ไบงโ€ๆ‰ๆ˜ฏ็ปดๆŒ้•ฟๅฏฟ็”Ÿๆดป่ดจ้‡็š„ๆ ธๅฟƒๅŠจๅŠ›","่ŒๅœบไธŽ่ฝฌๅž‹็š„็ณป็ปŸ่ง„ๅˆ’๏ผšๆไพ›้’ˆๅฏน้•ฟๅฏฟๆ—ถไปฃ็š„่Œไธš่ฎพ่ฎกๆ€่ทฏ๏ผŒๆถต็›–ไฝ•ๆ—ถ่ฝฌๅž‹ใ€ๅฆ‚ไฝ•ๆŠ•่ต„่‡ช่บซใ€ๆ€Žๆ ทๅบ”ๅฏนไธ็กฎๅฎšๆ€ง็ญ‰ๅฎžๆˆ˜ๆก†ๆžถ","็คพไผšไธŽๅˆถๅบฆ็š„ๆทฑๅบฆๆดžๅฏŸ๏ผšๆŽข่ฎจ้•ฟๅฏฟๅฆ‚ไฝ•ๅ†ฒๅ‡ปๅ…ป่€้‡‘ไฝ“็ณปใ€ๅŠณๅŠจๅŠ›ๅธ‚ๅœบไธŽไผไธšๆจกๅผ๏ผŒๅธฎๅŠฉไธชไบบๅœจๅฎ่ง‚ๅ˜้ฉไธญๆŠŠๆกไธปๅŠจๆƒ"]},{id:"book-00043",title:"้‡ๅฏๅง๏ผๆˆ‘็š„ๅฅๅบทไบบ็”Ÿ",author:"ๅ…ฐๆ นยทๆŸฅ็‰นๅ‰",cover:"https://cdn.weread.qq.com/weread/cover/80/cpplatform_kbrswv3bm7cix2zlyo6wtx/t6_cpplatform_kbrswv3bm7cix2zlyo6wtx1716362285.jpg",wereadLink:"https://weread.qq.com/web/reader/e8a32e80813ab8de4g0191c2#outline?noScroll=1",link:"https://book.douban.com/subject/36899697/",tags:["็”Ÿๆดปๆ–นๅผ","้ข„้˜ฒๅŒปๅญฆ","่บซๅฟƒๅฅๅบท","่‡ชๆˆ‘็ฎก็†"],desc:"่‹ฑๅ›ฝไธดๅบŠๅŒป็”ŸๅŸบไบŽ20ๅคšๅนด่กŒๅŒป็ป้ชŒๅ†™ๅฐฑใ€‚ๆœฌไนฆไธปๅผ โ€œ็”Ÿๆดปๆ–นๅผๅณ่‰ฏ่ฏโ€๏ผŒๅ›ด็ป•ไผ‘ๆฏใ€้ฅฎ้ฃŸใ€่ฟๅŠจๅ’Œ็ก็œ ๅ››ไธช้ข†ๅŸŸ่ฎพ่ฎกไบ†20ไธชๅพฎๅฐ่กŒๅŠจ่ฎกๅˆ’๏ผŒๅธฎๅŠฉ็Žฐไปฃไบบ้€š่ฟ‡ไฝŽๆˆๆœฌ็š„ไน ๆƒฏๆ”นๅ˜้€†่ฝฌๆ…ขๆ€ง้—ฎ้ข˜ใ€‚",rating:4.6,highlights:["ๆๅ‡บ99%็š„ๅฅๅบทๅ–ๅ†ณไบŽๆ—ฅๅธธไน ๆƒฏ่€Œ้žๅŒปๅญฆๆฒป็–—๏ผŒๅผบ่ฐƒๆ•ดไฝ“ๅนฒ้ข„","ๆž„ๅปบโ€œ4ร—5โ€ๅพฎ่กŒๅŠจๆก†ๆžถ๏ผŒๆถต็›–ไผ‘ๆฏใ€้ฅฎ้ฃŸใ€่ฟๅŠจใ€็ก็œ ๅ››ไธช็ปดๅบฆ็š„20ไธชๅฐๆ”นๅ˜","ๅ…ผ้กพ็ง‘ๅญฆๆทฑๅบฆไธŽๆž็ฎ€ๅฎžๆ“๏ผŒๅฆ‚โ€œ12ๅฐๆ—ถ่ฟ›้ฃŸ็ช—ๅฃโ€ใ€โ€œ10ๅˆ†้’Ÿ้ซ˜ๅผบๅบฆ่ฟๅŠจโ€","ๅ…ณๆณจ็Žฐไปฃ่Œๅœบไบบ็—›็‚น๏ผŒๆไพ›โ€œๅฐๆŠ•ๅ…ฅใ€ๅคงๅ›žๆŠฅโ€็š„ๅฏๅ ๅŠ ่บซๅฟƒๅฅๅบทๆŠ•่ต„็ญ–็•ฅ"]},{id:"book-00040",title:"ไฝ ๆ˜ฏไฝ ๅƒๅ‡บๆฅ็š„๏ผšๅƒๅฏนๅฐ‘็”Ÿ็—…๏ผŒ็—…ไบ†่ฟ™ๆ ทๅƒ",author:"ๅค่Œ",cover:"https://cdn.weread.qq.com/weread/cover/86/YueWen_920661/t6_YueWen_920661.jpg",wereadLink:"https://weread.qq.com/web/reader/7bb32c305e0c557bbdeab81#outline?noScroll=1",link:"https://book.douban.com/subject/27590675/",tags:["้ฅฎ้ฃŸ็ง‘ๆ™ฎ","่ฅๅ…ปๅญฆ","ๅฅๅบท็ฎก็†"],desc:"ๅ‰ๅฎ‰่ดžๅŒป้™ข่ฅๅ…ป็ง‘ไธปไปปๅค่Œ็ป“ๅˆๅไฝ™ๅนดไธดๅบŠ็ป้ชŒๅ†™ๆˆใ€‚ๆœฌไนฆ้ข ่ฆ†โ€œไฝŽๆฒนไฝŽ่„‚โ€่ฏฏๅŒบ๏ผŒๆๅ‡บๅ›žๅฝ’่ฟ›ๅŒ–็š„โ€œ65%ๆค็‰ฉ+35%ๅŠจ็‰ฉโ€่†ณ้ฃŸ้…ๆฏ”๏ผŒๅนถ้’ˆๅฏน14็งๅธธ่งๆ…ข็—…็ป™ๅ‡บโ€œๅ››ๅˆ†ๆณ•โ€้ฅฎ้ฃŸๅนฒ้ข„ๆ–นๆกˆ๏ผŒๅธฎๅŠฉ่ฏป่€…้‡ๅปบๅฅๅบท้ฅฎ้ฃŸ่ง‚ใ€‚",rating:5,highlights:["ๆŒ‡ๅ‡บๅคšๆ•ฐๆ…ข็—…ๆบไบŽโ€œ่›‹็™ฝ่ดจ็ผบไนๅผ่ฅๅ…ปไธ่‰ฏโ€๏ผŒๆ‰“็ ดๅธธ่ง„ไฝŽๆฒนไฝŽ่„‚่ฟทๆ€","ๆๅ‡บๆธ…ๆ™ฐ้‡ๅŒ–็š„โ€œ65%ๆค็‰ฉ็ฑป+35%ๅŠจ็‰ฉ็ฑปโ€็ง‘ๅญฆ้ฅฎ้ฃŸ็ป“ๆž„","้’ˆๅฏนๅ† ๅฟƒ็—…ใ€้ซ˜่ก€ๅŽ‹็ญ‰14็งๅธธ่งๆ…ข็—…ๆไพ›ๅฎžๆ“ๆ€งๆžๅผบ็š„โ€œๅ››ๅˆ†ๆณ•โ€่œๅ•","ๆบไบŽๅไธ‡+็œŸๅฎžไธดๅบŠ็—…ไพ‹๏ผŒๅผบ่ฐƒโ€œไธ€ๆ—ฅไธ‰้คๆ‰ๆ˜ฏ็œŸๆญฃ็š„ไฟๅฅๅ“โ€"]},{id:"book-00041",title:"ไฝ ๆ˜ฏไฝ ๅƒๅ‡บๆฅ็š„2",author:"ๅค่Œ",cover:"https://wfqqreader-1252317822.image.myqcloud.com/cover/883/35905883/t6_35905883.jpg",wereadLink:"https://weread.qq.com/web/reader/40532d007223e15b4052fae#outline?noScroll=1",link:"https://book.douban.com/subject/35340053/",tags:["้ฅฎ้ฃŸๆŒ‡ๅฏผ","็ง‘ๆ™ฎ","็–พ็—…้˜ฒๆฒป"],desc:"่š็„ฆ้ซ˜่ก€ๅŽ‹ใ€้ซ˜่„‚่ก€็—‡ใ€็ณ–ๅฐฟ็—…็ญ‰7ๅคงๅธธ่งๆ…ข็—…๏ผŒไปŽไธดๅบŠ่ฅๅ…ปๅŒปๅญฆ่ง’ๅบฆ้€ไธ€็ ด้™ค่ฏธๅฆ‚โ€œ่ก€ๅŽ‹้ซ˜ไธ่ƒฝๅƒ่‚‰โ€็ญ‰้ฅฎ้ฃŸ่ฏฏๅŒบ๏ผŒๆไพ›็ณป็ปŸ็š„โ€œไธŠๆธธ-ไธญๆธธ-ไธ‹ๆธธโ€็–พ็—…้˜ฒๆŽงๆ€่ทฏไธŽไธชไฝ“ๅŒ–่ฅๅ…ปๅค„ๆ–นใ€‚",rating:4.6,highlights:["ไธ“ๆ”ป7ๅคงๅธธ่งๆ…ขๆ€ง็—…๏ผŒไธบๆ‚ฃ่€…ๆไพ›้’ˆๅฏนๆ€ง็š„โ€œ็”Ÿ็—…ไบ†ๆ€Žไนˆๅƒโ€ไธชไฝ“ๅŒ–ๆŒ‡ๅฏผ","็ง‘ๅญฆ่พŸ่ฐฃ๏ผŒ็ ด้™คโ€œ่ก€ๅŽ‹้ซ˜ไธ่ƒฝๅƒ่‚‰โ€ใ€โ€œ่ƒ†ๅ›บ้†‡้ซ˜ไธ่ƒฝๅƒ้ธก่›‹โ€็ญ‰ๅธธ่ง่ฏฏๅŒบ","ๆขณ็†็–พ็—…ๅ‘็”Ÿๅ› ๆžœ้“พๆก๏ผŒๅธฎๅŠฉ่ฏป่€…ไปŽๆบๅคดๆ‰พๅˆฐๅฅๅบทๅนฒ้ข„็š„็€ๅŠ›็‚น","ๆไพ›ไปŽไธ€ๆ—ฅไธ‰้คใ€่ฟๅŠจๅˆฐๅฟƒๆ€่ฐƒๅ…ป็š„ๅ…ทไฝ“ๅฏๆ“ไฝœ็”Ÿๆดปๆ–นๅผๆธ…ๅ•"]}],Ge=JSON.parse('{"title":"ๅฅฝไนฆๆŽจ่","description":"่ฏปไนฆๅฟƒๅพ—ใ€ๆŽจ่ไนฆ็ฑๅ’Œ้˜…่ฏปๆŠ€ๅทง","frontmatter":{"title":"ๅฅฝไนฆๆŽจ่","date":"2024-01-01T16:00:00.000Z","description":"่ฏปไนฆๅฟƒๅพ—ใ€ๆŽจ่ไนฆ็ฑๅ’Œ้˜…่ฏปๆŠ€ๅทง","categories":["growth"],"coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/books_reading_bg.png","permalink":"/growth/books","tags":["ๆ‚ฆ่ฏปๆ—ถๅ…‰","่ต„ๆบๆŽจ่"]},"headers":[],"relativePath":"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/01.ๅฅฝไนฆๆŽจ่.md","filePath":"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/01.ๅฅฝไนฆๆŽจ่.md"}'),Ne={name:"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/01.ๅฅฝไนฆๆŽจ่.md"},De=Object.assign(Ne,{setup(r){return(b,t)=>(a(),l("div",null,[t[0]||(t[0]=x("",4)),h(k,{books:g(Be)},null,8,["books"]),t[1]||(t[1]=x("",4)),h(k,{books:g(Ie)},null,8,["books"]),t[2]||(t[2]=e("h3",{id:"_2-2-ๅ•†ไธšๅŒ–",tabindex:"-1"},[n("2.2 ๅ•†ไธšๅŒ– "),e("a",{class:"header-anchor",href:"#_2-2-ๅ•†ไธšๅŒ–","aria-label":"Permalink to โ€œ2.2 ๅ•†ไธšๅŒ–โ€"},"โ€‹")],-1)),t[3]||(t[3]=e("blockquote",null,[e("p",null,[n("ๅœจ่ฟฝ้€โ€œ็‹ฌ่ง’ๅ…ฝโ€ๅ’Œ่ง„ๆจกๆ‰ฉๅผ ็š„็‹‚็ƒญ่ฟทๆ€ไน‹ๅŽ๏ผŒ็œŸๆญฃ็š„ๅ•†ไธš้ซ˜ๆ‰‹ๆญฃๅœจ้‡ๆ–ฐๅ›žๅฝ’ๆœฌ่ดจ๏ผš"),e("strong",null,"็›ˆๅˆฉๆ‰ๆ˜ฏไผไธš็š„ๆ ธๅฟƒๆŠคๅŸŽๆฒณใ€‚"),n(" ่ฟ™ๅฅ—ไนฆๅ•ไธบๆˆ‘ไปฌๆญ็คบไบ†ไธ€็ง"),e("strong",null,"ๆ›ดๅ…ท้Ÿงๆ€ง็š„ๅ•†ไธš่ทฏๅพ„โ€”โ€”โ€œๅฐ่€Œ็พŽโ€็š„ๆž็ฎ€็ป่ฅ"),n("ใ€‚ๅฎƒๆ•™ๅฏผๆˆ‘ไปฌๅฆ‚ไฝ•ๆ‹’็ปไฝŽๆ•ˆ็š„ๅ†…ๅทไธŽๅฟ™็ขŒ๏ผŒ้€š่ฟ‡โ€œๅšๆ›ดๅฐ‘ไฝ†ๅˆ›้€ ๆ›ดๅคšไปทๅ€ผโ€็š„ๆ€็ปด๏ผŒๆ‰“้€ ๅœจไธ็กฎๅฎšๆ—ถไปฃไธ‹ไพ็„ถ่ƒฝไฟๆŒ็จณๅฎš็Žฐ้‡‘ๆต็š„โ€œๆ…ขๅ…ฌๅธโ€ใ€‚")]),e("p",null,[e("strong",null,"ๅ•†ไธš็š„ๆˆๅŠŸ๏ผŒๅพ€ๅพ€ๆบไบŽๆ•ขไบŽๆŒ‘ๆˆ˜โ€œ้šพ่€Œๆญฃ็กฎโ€็š„ไบ‹"),n("ใ€‚ไปŽ็šฎๅ…‹ๆ–ฏๅฆ‚ไฝ•ๅปบ็ซ‹ๅ…่ฎธๅคฑ่ดฅ็š„ๅˆ›ๆ„ๅœŸๅฃค๏ผŒๅˆฐ Waze ๅฆ‚ไฝ•้€š่ฟ‡่งฃๅ†ณ่ขซๅฟฝ่ง†็š„็—›็‚นๅฎž็Žฐ่ทจ่ถŠๅผๆˆ้•ฟ๏ผŒ่ฟ™ไบ›ไธ–็•Œ็บงๆกˆไพ‹่ฏๆ˜Žไบ†๏ผšๅ“่ถŠ็š„็ป„็ป‡ไธไป…้œ€่ฆๆž็ฎ€็š„ๆต็จ‹ไธŽ้ซ˜ๆ•ˆ็š„ๅˆ†ๅธƒๅผๅไฝœ๏ผˆ่ฟœ็จ‹ๅŠžๅ…ฌ๏ผ‰๏ผŒๆ›ด้œ€่ฆไธ€็งโ€œๅ†ท้™โ€็š„ๆ–‡ๅŒ–๏ผŒๅฐ†ๅˆฉๆถฆ็ฝฎไบŽ่ง„ๆจกไน‹ไธŠใ€‚")])],-1)),h(k,{books:g(We)},null,8,["books"]),t[4]||(t[4]=e("h2",{id:"_3-ๆ•ˆ็އไธŽๆ•ˆ่ƒฝ",tabindex:"-1"},[n("3. ๆ•ˆ็އไธŽๆ•ˆ่ƒฝ "),e("a",{class:"header-anchor",href:"#_3-ๆ•ˆ็އไธŽๆ•ˆ่ƒฝ","aria-label":"Permalink to โ€œ3. ๆ•ˆ็އไธŽๆ•ˆ่ƒฝโ€"},"โ€‹")],-1)),t[5]||(t[5]=e("blockquote",null,[e("p",null,[n("ๅœจไฟกๆฏ่ฟ‡่ฝฝไธŽ้ซ˜ๅŽ‹็ซžไบ‰็š„็Žฐไปฃ็Žฏๅขƒไธญ๏ผŒๅนณๅบธไธŽๅ“่ถŠ็š„ๅˆ†ๆฐดๅฒญไธๅ†ๆ˜ฏๅšไบ‹็š„้€Ÿๅบฆ๏ผŒ่€Œๆ˜ฏ"),e("strong",null,"ๅ†ณ็ญ–็š„็ฒพๅบฆไธŽ่ดฃไปป็š„่พน็•Œ"),n("ใ€‚่ฟ™ๅฅ—ไนฆๅ•ไธบๆˆ‘ไปฌๆไพ›ไบ†ไธ€ๅฅ—ไปŽไธชไบบ่ฎค็Ÿฅๅˆฐ็ป„็ป‡ๅไฝœ็š„โ€œๆ•ˆ่ƒฝ้˜ฒ็บฟโ€๏ผš้ฆ–ๅ…ˆ๏ผŒๅฎƒ"),e("strong",null,"ๅผ•ๅฏผๆˆ‘ไปฌๅฎŒๆˆไปŽโ€œๆ—ถ้’Ÿโ€ๅˆฐโ€œ็ฝ—็›˜โ€็š„ๆ€็ปด่ทจ่ถŠ๏ผŒๆ‰“็ ด็›ฒ็›ฎ่ฟฝๆฑ‚้€Ÿๅบฆ็š„่ฟทๆ€๏ผŒ็กฎไฟๅฐ†ๆ ธๅฟƒ็ฒพๅŠ›ๅ€พๆณจๅœจ็œŸๆญฃไบง็”Ÿ้•ฟ่ฟœๅคๅˆฉ็š„โ€œ้‡่ฆ้ž็ดงๆ€ฅโ€ไบ‹ๅŠกไน‹ไธŠ"),n("ใ€‚ ็œŸๆญฃ็š„ๆ•ˆ่ƒฝๆบไบŽๅฏนๅคๆ‚ๆ€ง็š„็ง‘ๅญฆ้ฉพ้ฉญ๏ผš")]),e("ul",null,[e("li",null,"้€š่ฟ‡โ€œๆธ…ๅ•้ฉๅ‘ฝโ€ๅผ็š„่ฎค็Ÿฅ้˜ฒๆŠค๏ผŒๆˆ‘ไปฌๅฐ†ๆœ€ไฝณๅฎž่ทตๅค–ๅŒ–ไธบๅฏ้ ็š„้˜ฒ้”™็ณป็ปŸ๏ผŒๅผฅ่กฅไบบ็ฑปๅœจๆž็ซฏ็Žฏๅขƒไธ‹็š„่ฎค็Ÿฅๅฑ€้™๏ผ›"),e("li",null,"โ€œ็Œดๅญ็ฎก็†ๆณ•โ€ๅˆ™ไปฅ็”ŸๅŠจ็š„่ง†่ง’้‡ๅก‘ไบ†่Œๅœบๅไฝœ็š„่ดฃไปป้€ป่พ‘๏ผŒๆ•™ๆˆ‘ไปฌ้€š่ฟ‡ๆœ‰ๆ•ˆๆŽˆๆƒๆ‹’็ปๆ— ่ฐ“็š„ๅนฒๆ‰ฐ๏ผŒ้‡Šๆ”พๆˆ˜็•ฅๆ€่€ƒ็š„็ฒพๅŠ›๏ผ›")])],-1)),h(k,{books:g(Ye)},null,8,["books"]),t[6]||(t[6]=e("h2",{id:"_4-ๅญฆไน ไธŽๆˆ้•ฟ",tabindex:"-1"},[n("4. ๅญฆไน ไธŽๆˆ้•ฟ "),e("a",{class:"header-anchor",href:"#_4-ๅญฆไน ไธŽๆˆ้•ฟ","aria-label":"Permalink to โ€œ4. ๅญฆไน ไธŽๆˆ้•ฟโ€"},"โ€‹")],-1)),t[7]||(t[7]=e("blockquote",null,[e("p",null,[n("ๅœจไฟกๆฏ็ˆ†็‚ธไธŽๅฟซ้€Ÿๅ˜้ฉ็š„ๆ—ถไปฃ๏ผŒ"),e("strong",null,"็œŸๆญฃ็š„ๆˆ้•ฟไธๅ†ๆ˜ฏ็Ÿฅ่ฏ†็š„่ขซๅŠจๅ †็ Œ๏ผŒ่€Œๆ˜ฏ่ฎค็Ÿฅ็ณป็ปŸ็š„ๅฝปๅบ•่ฟญไปฃ"),n("ใ€‚่ฟ™ๅฅ—ไนฆๅ•ไธบๆˆ‘ไปฌๆž„ๅปบไบ†ไธ€ไธชไปŽๅบ•ๅฑ‚ๆ€็ปดๅˆฐไบบ็”Ÿ็ป่ฅ็š„้—ญ็Žฏ๏ผš")]),e("ul",null,[e("li",null,"้ฆ–ๅ…ˆ๏ผŒ้€š่ฟ‡ๆ‰นๅˆคๆ€งๆ€็ปดไธŽๆทฑๅบฆ้˜…่ฏปๅคฏๅฎžโ€œๅ…ƒ่ƒฝๅŠ›โ€๏ผŒๅœจๆณ›ๆปฅ็š„ไฟกๆฏไธญ่ฏ†ๅˆซๆœฌ่ดจ๏ผŒๅฐ†ไป–ไบบ็š„ๆดž่ง่ฝฌๅŒ–ไธบ่‡ชๅทฑ็š„่ก€่‚‰๏ผ›"),e("li",null,"ๅ…ถๆฌก๏ผŒๅˆฉ็”จโ€œๆฃ€็ดขๅŠ›โ€ๆ‰“็ ดไฟกๆฏๅทฎ๏ผŒ็กฎไฟ่‡ชๅทฑๅœจไปปไฝ•้ข†ๅŸŸ้ƒฝ่ƒฝๅฟซ้€Ÿ่Žทๅ–้ซ˜่ดจ้‡่ต„ๆบ๏ผŒๆŽŒๆก้€†้ฃŽ่€Œ่กŒ็š„ไธปๅŠจๆƒใ€‚")]),e("p",null,[e("strong",null,"ไบบ็”Ÿไธๆ˜ฏไธ€ๅœบ็›ฒ็›ฎ็š„้•ฟ่ท‘๏ผŒ่€Œๆ˜ฏไธ€ๅœบๅŸบไบŽโ€œๅŽŸๅˆ™โ€็š„็ฒพๅฏ†็ป่ฅ"),n("ใ€‚ไปŽ่พพๅˆฉๆฌง็š„็ณป็ปŸๅŒ–ๅ†ณ็ญ–๏ผŒๅˆฐ็บณ็“ฆๅฐ”็š„่ดขๅฏŒไธŽๅนธ็ฆ้€ป่พ‘๏ผŒ่ฟ™ไบ›ๆ™บ่€…ๆ•™ๅฏผๆˆ‘ไปฌๅฆ‚ไฝ•ๅˆฉ็”จๆ ๆ†ใ€ๅšๆŒ้•ฟๆœŸไธปไน‰๏ผŒๅฐ†่‡ชๅทฑ่ง†ไฝœไธ€ๅฎถโ€œไบบ็”Ÿๆœ‰้™ๅ…ฌๅธโ€ๆฅ็ป่ฅใ€‚ๆˆ‘ไปฌ้œ€่ฆๆ‘†่„ฑโ€œไผ˜็ง€็ปต็พŠโ€ๅผ็š„่ขซๅŠจ้ฉฑๅŠจ๏ผŒ้€š่ฟ‡่ฏ†ๅˆซๆˆ้•ฟ็š„โ€œ็ฌฌไบŒๆ›ฒ็บฟโ€๏ผŒๅœจๅท…ๅณฐๆ—ถๅˆปไธปๅŠจๅฏปๆฑ‚็ช็ ด๏ผŒๅฐ†่‡ชๅทฑๆ‰“้€ ๆˆไธๅฏๆ›ฟไปฃ็š„็จ€็ผบ่ต„ไบงใ€‚้˜…่ฏป่ฟ™ไบ›็ปๅ…ธ๏ผŒไธไป…ๆ˜ฏไธบไบ†ไน ๅพ—ๆŠ€่ƒฝ๏ผŒๆ›ดๆ˜ฏไธบไบ†ๅœจ็ฎ—ๆณ•ไธŽ็„ฆ่™‘็š„ๅคนๅ‡ปไธญ๏ผŒ้‡ๅก‘ๅ†…ๅฟƒ็š„ๅฎ้™ไธŽ็‹ฌ็ซ‹ๅˆคๆ–ญ็š„ๅ‹‡ๆฐ”ใ€‚")])],-1)),h(k,{books:g(Te)},null,8,["books"]),t[8]||(t[8]=e("h2",{id:"_5-ไบบๆ–‡็คพ็ง‘",tabindex:"-1"},[n("5. ไบบๆ–‡็คพ็ง‘ "),e("a",{class:"header-anchor",href:"#_5-ไบบๆ–‡็คพ็ง‘","aria-label":"Permalink to โ€œ5. ไบบๆ–‡็คพ็ง‘โ€"},"โ€‹")],-1)),t[9]||(t[9]=e("blockquote",null,[e("p",null,"ๅœจๅฎ่ง‚ๅކๅฒไธŽๅพฎ่ง‚็Žฐๅฎž้—ดๆž„ๅปบ่ฎค็Ÿฅ๏ผšๅœจ็ขŽ็‰‡ๅŒ–ไธŽไธ็กฎๅฎšๆ€งๅนถๅญ˜็š„ๆ—ถไปฃ๏ผŒ็ฉฟ้€่กจ่ฑกใ€็›ด่พพๆœฌ่ดจ็š„ๆดžๅฏŸๅŠ›ๆˆไธบๅฟ…้œ€ใ€‚่ฟ™ๅฅ—ๅ•ไธบๆˆ‘ไปฌๅผ€ๅฏไบ†ไธคๆ‰‡็ช—๏ผš"),e("ul",null,[e("li",null,"ไธ€ๆ‰‡ๆœ›ๅ‘ไธ‡ๅนดๆ–‡ๆ˜Ž็š„ๅฎๅคงๅๆ ‡๏ผŒ้€š่ฟ‡ใ€Šๆžช็‚ฎใ€็—…่ŒไธŽ้’ข้“ใ€‹็š„่ทจๅญฆ็ง‘่ง†้‡Ž๏ผŒๆ‹†่งฃๅœฐ็†็Žฏๅขƒๅฆ‚ไฝ•ๅ†ท้…ท่€Œๅถ็„ถๅœฐ้‡ๅก‘ๅ…จ็ƒ็‰ˆๅ›พ๏ผŒๅฝปๅบ•้ข ่ฆ†โ€œๆ–‡ๆ˜Žไผ˜่ถŠ่ฎบโ€็š„ๅ‚ฒๆ…ข๏ผ›"),e("li",null,"ๅฆไธ€ๆ‰‡ๅˆ™็…งๅ‘ๅฝ“ไธ‹็คพไผš็š„็œŸๅฎž่‚Œ็†๏ผŒๅœจๆขๆ™“ๅฃฐๅฏนๅ„้˜ถๅฑ‚็”Ÿๅญ˜ๅ›ฐๅขƒ็š„็ป†่…ปๆๆ‘นไธญ๏ผŒ่ฏปๆ‡‚ๅคงๆ—ถไปฃๅ˜้ฉ่ƒŒๅŽ้š็ง˜็š„็ป“ๆž„ๆ€ง้€ป่พ‘ไธŽ้˜ถๅฑ‚็„ฆ่™‘ใ€‚")]),e("p",null,[e("strong",null,"ไบบๆ–‡ๆ€่€ƒ็š„็ปˆๆžไปทๅ€ผ๏ผŒๅœจไบŽๅฆ‚ไฝ•ๅฐ†ๅฎๅคงๅ™ไบ‹่ฝฌๅŒ–ไธบไธชไบบ็š„่กŒๅŠจๅŠ›้‡"),n("ใ€‚ๆญฃๅฆ‚้กน้ฃ™ๆ‰€ๅ€กๅฏผ็š„โ€œๆŠŠ่‡ชๅทฑไฝœไธบๆ–นๆณ•โ€๏ผŒ่ฟ™ไบ›่‘—ไฝœไธไป…ๆ˜ฏ็Ÿฅ่ฏ†็š„ไผ ้€’๏ผŒๆ›ดๆ˜ฏๆ€็ปด็š„ๆพ็ป‘ใ€‚ๅฎƒไปฌๆ•™ๅฏผๆˆ‘ไปฌไธๅ†ๅšๆ—ถไปฃ็š„่ขซๅŠจๆ—่ง‚่€…๏ผŒ่€Œๆ˜ฏๅญฆไผšๅœจไธชไบบไฝ“้ชŒไธŽๅฎ่ง‚ไธ–็•Œไน‹้—ดๆญๅปบๆกฅๆข๏ผŒ้€š่ฟ‡้‡ๅปบโ€œ้™„่ฟ‘โ€็š„ๅฐไธ–็•Œ๏ผŒๅœจๅ–งๅšฃไธญๆ‰พๅ‡†่‡ชๆˆ‘็š„ๅฎšไฝใ€‚")])],-1)),h(k,{books:g(Me)},null,8,["books"]),t[10]||(t[10]=e("h2",{id:"_6-ๅฅๅบท็”Ÿๆดป",tabindex:"-1"},[n("6. ๅฅๅบท็”Ÿๆดป "),e("a",{class:"header-anchor",href:"#_6-ๅฅๅบท็”Ÿๆดป","aria-label":"Permalink to โ€œ6. ๅฅๅบท็”Ÿๆดปโ€"},"โ€‹")],-1)),t[11]||(t[11]=e("img",{src:$,style:{width:"100%","border-radius":"8px","margin-bottom":"20px"},alt:"about site background"},null,-1)),t[12]||(t[12]=e("blockquote",null,[e("p",null,[n("ๅœจ้ขไธดๅคงๆฆ‚็އๆดปๅˆฐ100ๅฒ็š„โ€œ้•ฟๅฏฟๆ—ถไปฃโ€๏ผŒไผ ็ปŸ็š„็บฟๆ€งไบบ็”Ÿๆจกๅผๆญฃๅœจๅคฑๆ•ˆใ€‚ๆˆ‘ไปฌ้œ€่ฆๅฏนโ€œๅฅๅบทโ€่ฟ›่กŒไธ€ๆฌกๅฝปๅบ•็š„่ฎค็Ÿฅ้‡ๆž„๏ผš"),e("strong",null,"ๅฅๅบทไธๅ†ไป…ไป…ๆ˜ฏโ€œๆฒกๆœ‰็–พ็—…โ€๏ผŒ่€Œๆ˜ฏๆ”ฏๆ’‘ๆˆ‘ไปฌ่ทจ่ถŠๆผซ้•ฟ็”Ÿๅ‘ฝๅ‘จๆœŸใ€ๅบ”ๅฏนๅคš้˜ถๆฎตไบบ็”ŸๆŒ‘ๆˆ˜็š„ๆœ€ๆ ธๅฟƒโ€œๆ— ๅฝข่ต„ไบงโ€"),n("ใ€‚ๆƒณ่ฆ่ฎฉ่ฟ™ๅฅ—็”Ÿๅ‘ฝ็ณป็ปŸ้•ฟๆœŸๅนณ็จณ่ฟ่กŒ๏ผŒ็œŸๆญฃ็š„่งฃๆณ•ๅนถไธๅœจๅŒป้™ข็š„ๅค„ๆ–น็ฌบ้‡Œ๏ผŒ่€Œๆ˜ฏ้š่—ๅœจๆˆ‘ไปฌๆฏๅคฉ็š„ๆ—ฅๅธธ้€‰ๆ‹ฉไธญใ€‚")]),e("p",null,[n("ๅ†ณๅฎšๆˆ‘ไปฌ้•ฟๆœŸๅฅๅบท็Šถๆ€็š„๏ผŒๆœ‰ 99 %ๅ–ๅ†ณไบŽๆ—ฅๅธธไน ๆƒฏใ€‚ๆˆ‘ไปฌ้œ€่ฆ"),e("strong",null,"ๅœจไผ‘ๆฏใ€้ฅฎ้ฃŸใ€่ฟๅŠจใ€็ก็œ ่ฟ™ๅ››ไธช้ซ˜้ข‘็”Ÿๆดป็ปดๅบฆไธญ๏ผŒๆคๅ…ฅๅพฎๅฐไฝ†ๆ ๆ†็އๆž้ซ˜็š„ๆ”นๅ˜"),n("๏ผˆไพ‹ๅฆ‚12ๅฐๆ—ถ่ฟ›้ฃŸ็ช—ๅฃใ€10ๅˆ†้’Ÿ้ซ˜ๅผบๅบฆ่ฟๅŠจใ€็กๅ‰ๅฑ่”ฝๆ•ฐๅญ—้€š็Ÿฅ็ญ‰๏ผ‰ใ€‚็”จๆœ€ไฝŽ็š„ๆ‰ง่กŒๆˆๆœฌ๏ผŒ็ฝฎๆข่บซๅฟƒ็Šถๆ€็š„ๅทจๅคงๅ›žๆŠฅใ€‚")])],-1)),h(k,{books:g($e)},null,8,["books"])]))}});export{Ge as __pageData,De as default}; +import{d as A,p as B,h as a,z as h,Y as I,s as W,g as l,y as _,v as P,i as e,W as v,x as c,F as p,t as f,S as n,T as Y,_ as C,r as j,c as T,k as M,U as x,l as g}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const $="/img/cover/health_bg.png",N={class:"book-panel__drawer"},V={class:"book-panel__header-meta"},G={class:"book-panel__title"},D={class:"book-panel__author"},F={class:"book-panel__body"},R={class:"book-panel__top-bar"},Z={class:"book-panel__top-left"},H={class:"book-panel__tags"},J={key:0,class:"book-panel__rating"},O={class:"stars"},E={key:0,viewBox:"0 0 24 24",fill:"currentColor"},K={key:1,viewBox:"0 0 24 24",class:"half-star"},Q=["id"],X=["clip-path"],U={key:2,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.5"},ee={class:"rating-text"},te={class:"book-panel__links"},oe=["href"],ae={width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",style:{"flex-shrink":"0"}},le=["href"],re={width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",style:{"flex-shrink":"0"}},ne={class:"book-panel__section"},se={class:"book-panel__desc"},ie={key:0,class:"book-panel__section"},de={class:"book-panel__highlights"},ce=A({__name:"BookDetailPanel",props:{book:{},open:{type:Boolean},heroColor:{},tagColors:{}},emits:["close"],setup(r,{emit:b}){const t=b;return(w,o)=>(a(),B(Y,{to:"body"},[h(I,{name:"panel-slide"},{default:W(()=>[r.open&&r.book?(a(),l("div",{key:0,class:"book-panel",onClick:o[2]||(o[2]=P(i=>t("close"),["self"]))},[e("div",{class:"book-panel__overlay",onClick:o[0]||(o[0]=i=>t("close"))}),e("div",N,[e("div",{class:"book-panel__header",style:v({background:r.heroColor})},[e("button",{class:"book-panel__close",title:"ๅ…ณ้—ญ",onClick:o[1]||(o[1]=i=>t("close"))},[...o[3]||(o[3]=[e("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none"},[e("path",{d:"M12 4L4 12M4 4l8 8",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)])]),e("div",V,[e("h2",G,c(r.book.title),1),e("p",D,c(r.book.author),1)])],4),e("div",F,[e("div",R,[e("div",Z,[e("div",H,[(a(!0),l(p,null,f(r.book.tags,(i,m)=>(a(),l("span",{key:i,class:"book-panel__tag",style:v({background:r.tagColors[m%r.tagColors.length].bg,color:r.tagColors[m%r.tagColors.length].text})},c(i),5))),128))]),r.book.rating!=null?(a(),l("div",J,[o[8]||(o[8]=e("span",{class:"rating-label"},"ๆŽจ่ๆŒ‡ๆ•ฐ:",-1)),e("div",O,[(a(),l(p,null,f(5,i=>e("span",{key:i,class:"star"},[i<=Math.floor(r.book.rating)?(a(),l("svg",E,[...o[4]||(o[4]=[e("path",{d:"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z"},null,-1)])])):i===Math.ceil(r.book.rating)&&r.book.rating%1!==0?(a(),l("svg",K,[e("defs",null,[e("clipPath",{id:"clip-"+r.book.id},[...o[5]||(o[5]=[e("rect",{x:"0",y:"0",width:"12",height:"24"},null,-1)])],8,Q)]),o[6]||(o[6]=e("path",{class:"star-empty",d:"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z",fill:"none",stroke:"currentColor","stroke-width":"1.5"},null,-1)),e("path",{class:"star-filled",d:"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z",fill:"currentColor","clip-path":"url(#clip-"+r.book.id+")"},null,8,X)])):(a(),l("svg",U,[...o[7]||(o[7]=[e("path",{d:"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z"},null,-1)])]))])),64))]),e("span",ee,c(r.book.rating.toFixed(1)),1)])):_("",!0)]),e("div",te,[e("a",{href:r.book.link,target:"_blank",rel:"noopener",class:"book-panel__link-btn"},[(a(),l("svg",ae,[...o[9]||(o[9]=[e("path",{d:"M18 13v6a2 2 0 01-2 2H5a2 2 0 01-2-2V8a2 2 0 012-2h6M15 3h6v6M10 14L21 3",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},null,-1)])])),o[10]||(o[10]=n(" ่ฑ†็“ฃ ",-1))],8,oe),r.book.wereadLink?(a(),l("a",{key:0,href:r.book.wereadLink,target:"_blank",rel:"noopener",class:"book-panel__link-btn"},[(a(),l("svg",re,[...o[11]||(o[11]=[e("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z",fill:"currentColor"},null,-1)])])),o[12]||(o[12]=n(" ๅพฎไฟก่ฏปไนฆ ",-1))],8,le)):_("",!0)])]),o[15]||(o[15]=e("div",{class:"book-panel__divider"},null,-1)),e("section",ne,[o[13]||(o[13]=e("h3",{class:"book-panel__section-title"},[e("span",{class:"book-panel__section-icon"},"๐Ÿ“–"),n(" ๅ†…ๅฎน็ฎ€ไป‹ ")],-1)),e("p",se,c(r.book.desc),1)]),r.book.highlights&&r.book.highlights.length>0?(a(),l("section",ie,[o[14]||(o[14]=e("h3",{class:"book-panel__section-title"},[e("span",{class:"book-panel__section-icon"},"โœจ"),n(" ไนฆ็ฑไบฎ็‚น ")],-1)),e("ul",de,[(a(!0),l(p,null,f(r.book.highlights,(i,m)=>(a(),l("li",{key:m,class:"book-panel__highlight-item"},c(i),1))),128))])])):_("",!0)])])])):_("",!0)]),_:1})]))}}),he=C(ce,[["__scopeId","data-v-1ddfc013"]]),be={class:"book-list"},ue=["onClick"],ge=["src","alt"],ke={class:"book-cover__overlay"},pe={key:0,class:"book-cover__hint"},we=["href"],me={class:"book-info"},_e={class:"book-info__title"},fe={class:"book-info__author"},qe={key:0,class:"book-info__rating"},ve={class:"stars"},je={key:0,viewBox:"0 0 24 24",fill:"currentColor"},Le={key:1,viewBox:"0 0 24 24",class:"half-star"},ye=["id"],Se=["clip-path"],xe={key:2,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.5"},Ae={class:"rating-text"},Pe={class:"book-info__tags"},Ce={class:"book-info__desc"},ze=A({__name:"BookRecommend",props:{books:{}},setup(r){const b=["linear-gradient(135deg, #e8f0fe 0%, #c7d9fd 100%)","linear-gradient(135deg, #e6f4ea 0%, #b7dfc4 100%)","linear-gradient(135deg, #fff3e0 0%, #ffd9a0 100%)","linear-gradient(135deg, #fce4ec 0%, #f8b4c8 100%)","linear-gradient(135deg, #ede7f6 0%, #cdb8ee 100%)","linear-gradient(135deg, #e0f7fa 0%, #9ee8f0 100%)"],t=[{bg:"#e8f0fe",text:"#3b5bdb"},{bg:"#e6f4ea",text:"#2e7d32"},{bg:"#fff3e0",text:"#e65100"},{bg:"#fce4ec",text:"#c2185b"},{bg:"#ede7f6",text:"#6a1b9a"},{bg:"#e0f7fa",text:"#00838f"}],w=j(null),o=j(0),i=j(!1),m=T(()=>b[o.value%b.length]);function z(q,d){q.withPanel!==!1&&(w.value?.id===q.id&&i.value?L():(w.value=q,o.value=d,i.value=!0))}function L(){i.value=!1,setTimeout(()=>{w.value=null},300)}return(q,d)=>(a(),l(p,null,[e("div",be,[(a(!0),l(p,null,f(r.books,(s,y)=>(a(),l("div",{key:s.id,class:M(["book-card",{"book-card--active":w.value?.id===s.id&&i.value}]),onClick:u=>z(s,y)},[e("div",{class:"book-cover",style:v({background:b[y%b.length]})},[s.cover?(a(),l("img",{key:0,src:s.cover,alt:s.title,class:"book-cover__img"},null,8,ge)):_("",!0),e("div",ke,[s.withPanel!==!1?(a(),l("span",pe,"็‚นๅ‡ปๆŸฅ็œ‹่ฏฆๆƒ…")):(a(),l("a",{key:1,href:s.link,target:"_blank",rel:"noopener",class:"book-cover__hint",onClick:d[0]||(d[0]=P(()=>{},["stop"]))},"ๆŸฅ็œ‹่ฑ†็“ฃ",8,we))])],4),e("div",me,[e("div",_e,"ใ€Š"+c(s.title)+"ใ€‹",1),e("div",fe,c(s.author),1),s.rating!=null?(a(),l("div",qe,[e("div",ve,[(a(),l(p,null,f(5,u=>e("span",{key:u,class:"star"},[u<=Math.floor(s.rating)?(a(),l("svg",je,[...d[1]||(d[1]=[e("path",{d:"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z"},null,-1)])])):u===Math.ceil(s.rating)&&s.rating%1!==0?(a(),l("svg",Le,[e("defs",null,[e("clipPath",{id:"card-clip-"+s.id},[...d[2]||(d[2]=[e("rect",{x:"0",y:"0",width:"12",height:"24"},null,-1)])],8,ye)]),d[3]||(d[3]=e("path",{class:"star-empty",d:"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z",fill:"none",stroke:"currentColor","stroke-width":"1.5"},null,-1)),e("path",{class:"star-filled",d:"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z",fill:"currentColor","clip-path":"url(#card-clip-"+s.id+")"},null,8,Se)])):(a(),l("svg",xe,[...d[4]||(d[4]=[e("path",{d:"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z"},null,-1)])]))])),64))]),e("span",Ae,c(s.rating.toFixed(1)),1)])):_("",!0),e("div",Pe,[(a(!0),l(p,null,f(s.tags,(u,S)=>(a(),l("span",{key:u,class:"tag",style:v({background:t[S%t.length].bg,color:t[S%t.length].text})},c(u),5))),128))]),e("p",Ce,c(s.desc),1)])],10,ue))),128))]),h(he,{book:w.value,open:i.value,"hero-color":m.value,"tag-colors":t,onClose:L},null,8,["book","open","hero-color"])],64))}}),k=C(ze,[["__scopeId","data-v-fd79cd55"]]),Be=[{id:"book-001",title:"ๅฟƒไธญๆœ‰ๆ•ฐ๏ผš็”Ÿๆดปไธญ็š„ๆ•ฐๅญฆๆ€็ปด",author:"ๅˆ˜้›ชๅณฐ",cover:"https://cdn.weread.qq.com/weread/cover/39/3300018939/t6_3300018939.jpg",wereadLink:"https://weread.qq.com/web/reader/df6323a0813ab6de5g019a31#outline?noScroll=1",link:"https://book.douban.com/subject/35749693/",tags:["ๆ•ฐๅญฆๆ€็ปด","็ง‘ๆ™ฎ","ๅ†ณ็ญ–"],desc:"ๆœฌไนฆ้€š่ฟ‡ๅคง้‡่ดด่ฟ‘ๆ—ฅๅธธ็š„ไพ‹ๅญ๏ผŒๅฑ•็คบๆ•ฐๅญฆๆ€็ปดๅฆ‚ไฝ•ไผ˜ๅŒ–ๆˆ‘ไปฌ็š„็”Ÿๆดปๅ†ณ็ญ–ใ€‚ไฝœ่€…็”จๆฆ‚็އใ€็ปŸ่ฎกใ€ๆœ€ไผ˜ๅŒ–็ญ‰ๆ•ฐๅญฆๅทฅๅ…ท๏ผŒไธบ็”Ÿๆดปใ€่Œๅœบใ€ไบบ้™…ไบคๅพ€ไธญ็š„ๆƒ่กก้—ฎ้ข˜ๆไพ›ๅˆ†ๆžๆก†ๆžถ๏ผŒๅธฎๅŠฉ่ฏป่€…ๅœจ้ขๅฏนไธ็กฎๅฎšๆ€งๆ—ถๅƒ่ฎก็ฎ—ๆœบไธ€ๆ ทๆ‰พๅˆฐโ€œๆœ€ไผ˜่งฃโ€ใ€‚",rating:4.9,highlights:["ๅฐ†ๅคงๆ•ฐๅฎšๅพ‹ใ€ๆœ€ๅฐไบŒไน˜ๆณ•็ญ‰็กฌๆ ธๆ•ฐๅญฆๆฆ‚ๅฟตไธŽๆ—ฅๅธธ็”Ÿๆดปๅทงๅฆ™็ป“ๅˆ","ๆไพ›ๅบ”ๅฏนไธ็กฎๅฎšๆ€งๅ’Œๅคš็›ฎๆ ‡ๆЉๆ‹ฉ็š„็ง‘ๅญฆๅ†ณ็ญ–ๆก†ๆžถ","ๅผบ่ฐƒๆ•ฐๅญฆไธไป…ๆ˜ฏๅ…ฌๅผ่ฎก็ฎ—๏ผŒๆ›ดๆ˜ฏ็œ‹ไธ–็•Œใ€ไผ˜ๅŒ–ไบบ็”Ÿ็š„้ซ˜ๆ•ˆๆ€็ปดๅทฅๅ…ท"]},{id:"book-0020",title:"ๆ™บๆ…ง็š„็–†็•Œ๏ผšไปŽๅ›พ็ตๆœบๅˆฐไบบๅทฅๆ™บ่ƒฝ",author:"ๅ‘จๅฟ—ๆ˜Ž",cover:"https://cdn.weread.qq.com/weread/cover/92/YueWen_23637052/t6_YueWen_23637052.jpg",wereadLink:"https://weread.qq.com/web/reader/b9732f007168ac3cb976eca#outline?noScroll=1",link:"https://book.douban.com/subject/30379536/",tags:["ไบบๅทฅๆ™บ่ƒฝ","็ง‘ๆŠ€ๅฒ","้€š่ฏ†่ฏป็‰ฉ"],desc:"ๆœฌไนฆๆ˜ฏไธ€้ƒจ้ขๅ‘ๅคงไผ—็š„ไบบๅทฅๆ™บ่ƒฝ้€š่ฏ†่ฏป็‰ฉใ€‚ไฝœ่€…ๅ‘จๆ˜Žไปฅๆ—ถ้—ดไธบไธป็บฟ๏ผŒๅฐ†ไบบๅทฅๆ™บ่ƒฝ็š„ๅ‘ๅฑ•ๅކ็จ‹ใ€ๅ…ณ้”ฎไบบ็‰ฉไธŽ้‡Œ็จ‹็ข‘ไบ‹ไปถไธฒ่”่ตทๆฅ๏ผŒไปŽไบ”ไธช็ปดๅบฆๅฑ•ๅผ€๏ผšๅญฆๆœฏ็†่ฎบใ€ๅކๅฒๆฒฟ้ฉใ€ๆŠ€ๆœฏๅบ”็”จใ€็ ”็ฉถๆˆๆžœไปฅๅŠ้ขไธด็š„ๅ›ฐ้šพไธŽๆœชๆฅๆŒ‘ๆˆ˜ใ€‚ๅ…จไนฆๆ—จๅœจ็”จ้€šไฟ—็š„่ฏญ่จ€ๅ’Œๅทงๅฆ™็š„็ป“ๆž„๏ผŒๆŠŠไบบๅทฅๆ™บ่ƒฝไปŽโ€œ้˜ณๆ˜ฅ็™ฝ้›ชโ€็š„ๅญฆๆœฏๆฎฟๅ ‚ๅธฆๅˆฐๅ…ฌไผ—่ง†้‡Ž๏ผŒๅธฎๅŠฉ่ฏป่€…็†่งฃ AI ่ƒฝๅšไป€ไนˆใ€ๅšไธๅˆฐไป€ไนˆ๏ผŒไปฅๅŠ่ƒŒๅŽ็š„ๆŠ€ๆœฏไธŽๆ€ๆƒณๆ นๆบใ€‚",rating:5,highlights:["ไปฅๆ—ถ้—ดไธบไธป็บฟ๏ผŒๆธ…ๆ™ฐๆขณ็†ไบบๅทฅๆ™บ่ƒฝ็š„ๅ‘ๅฑ•่„‰็ปœไธŽ้‡Œ็จ‹็ข‘","ๆทฑๅ…ฅๆต…ๅ‡บ๏ผŒ็”จ้€šไฟ—่ฏญ่จ€ๅฐ†ๅคๆ‚็š„ๅญฆๆœฏ็†่ฎบๅธฆๅ…ฅๅ…ฌไผ—่ง†้‡Ž","ๅฎข่ง‚ๅ‰–ๆž๏ผŒๅธฎๅŠฉ่ฏป่€…ๅ‡†็กฎ็•ŒๅฎšAIโ€œ่ƒฝๅšไป€ไนˆโ€ไธŽโ€œๅšไธๅˆฐไป€ไนˆโ€"]},{id:"book-004",title:"ไธบไป€ไนˆไผŸๅคงไธ่ƒฝ่ขซ่ฎกๅˆ’",author:"่‚ฏๅฐผๆ–ฏยทๆ–ฏๅฆๅˆฉ / ไน”ๅฐ”ยท้›ทๆ›ผ",cover:"https://cdn.weread.qq.com/weread/cover/22/cpplatform_wfdzhk1dx7ig9aep4gagof/t6_cpplatform_wfdzhk1dx7ig9aep4gagof1686304376.jpg",wereadLink:"https://weread.qq.com/web/reader/0bf32020813ab7e6bg016510#outline?noScroll=1",link:"https://book.douban.com/subject/36357804/",tags:["ไบบๅทฅๆ™บ่ƒฝ","ๅˆ›ๆ–ฐๆ€็ปด","่ฎค็Ÿฅ็ง‘ๅญฆ"],desc:"ๆœฌไนฆ็”ฑไธคไฝๅ‰ๆฒฟAI็ง‘ๅญฆๅฎถๅˆ่‘—๏ผŒๆๅ‡บไบ†้ข ่ฆ†ไผ ็ปŸโ€œ็›ฎๆ ‡-่ฎกๅˆ’โ€ๆ€็ปด็š„ๅ…จๆ–ฐ่ง†่ง’ใ€‚็ป“ๅˆAI็ ”็ฉถๅฎž่ทต๏ผŒไนฆไธญ่ฎบ่ฏไบ†ไผŸๅคงๆˆๅฐฑๅพ€ๅพ€ๅนถ้žๅ‡บ่‡ช็ฒพๅฟƒ่ฎพ่ฎก็š„่“ๅ›พ๏ผŒ่€Œๆ˜ฏๆบไบŽๅฏนๆœช็Ÿฅ็š„ๅฅฝๅฅ‡ใ€้šๆœบๆŽข็ดขไธŽไธๆ–ญ่ฏ•้”™ใ€‚้€š่ฟ‡โ€œๅฏปๅฎ่€…ๆ€็ปดโ€ๅ’Œโ€œ่ธ่„š็Ÿณๆจกๅž‹โ€็ญ‰ๆ–นๆณ•๏ผŒไธบ่ฏป่€…ๅœจ้ซ˜ๅบฆไธ็กฎๅฎš็š„็Žฏๅขƒไธญๆฟ€ๅ‘็ช็ ดๆ€งๅˆ›ๆ–ฐๆไพ›ไบ†ๅ…ทไฝ“็š„่กŒๅŠจๆก†ๆžถใ€‚",rating:4.5,highlights:["้ข ่ฆ†ไผ ็ปŸ็š„โ€œ็›ฎๆ ‡่ฎบโ€๏ผŒ่ฎบ่ฏไผŸๅคงๆˆๅฐฑๆบ่‡ชๅฏนๆœช็Ÿฅ็š„ๅฅฝๅฅ‡ไธŽๆ— ่พน็•Œ็š„ๆŽข็ดข","ๆไพ›โ€œๅฏปๅฎ่€…ๆ€็ปดโ€โ€œ่ธ่„š็Ÿณๆจกๅž‹โ€โ€œๆ–ฐๅฅ‡ๆ€งๆŽข็ดขโ€ไธ‰ๅคงๅฏๆ“ไฝœ็š„่ฎค็ŸฅไธŽๅฎž่ทตๅทฅๅ…ท","ๆ‰Žๆ นOpenAI็ญ‰ๅ‰ๆฒฟๆœบๆž„็š„ๅฎž่ฏ่ƒŒๆ™ฏ๏ผŒๅ…ถๅฏๅ‘ๆ„ไน‰่ทจๅญฆ็ง‘้€‚็”จไบŽ็ง‘็ ”ใ€ๅ•†ไธšๅŠไบบ็”Ÿ่ง„ๅˆ’"]},{id:"book-003",title:"่ฟ™ๅฐฑๆ˜ฏChatGPT",author:"ๆ–ฏ่’‚่Šฌยทๆฒƒๅฐ”ๅผ—ๆ‹‰ๅง†",cover:"https://cdn.weread.qq.com/weread/cover/24/cpplatform_4cn8w4tmgzntjobg9ffeny/t6_cpplatform_4cn8w4tmgzntjobg9ffeny1703648785.jpg",wereadLink:"https://weread.qq.com/web/reader/74332a90813ab86c4g019d98#outline?noScroll=1",link:"https://book.douban.com/subject/36449803/",tags:["ไบบๅทฅๆ™บ่ƒฝ","ๅคงๆจกๅž‹","ChatGPT"],desc:"ๆœฌไนฆ็”ฑ่‘—ๅ็ง‘ๅญฆๅฎถๆ–ฏ่’‚่Šฌยทๆฒƒๅฐ”ๅผ—ๆ‹‰ๅง†ๆ’ฐๅ†™๏ผŒๅ…จๆ™ฏๅผๆ‹†่งฃไบ†ChatGPT็š„ๅ†…้ƒจๅทฅไฝœๆœบๅˆถใ€‚ไฝœ่€…็”จ้€šไฟ—่ฏญ่จ€่งฃ้‡Šไบ†็ฅž็ป็ฝ‘็ปœๅ’Œ่‡ชๅ›žๅฝ’ๆžถๆž„็ญ‰ๆ ธๅฟƒๆŠ€ๆœฏ๏ผŒๆŽข่ฎจไบ†็ฎ€ๅ•็š„่ฎก็ฎ—่ง„ๅˆ™ๅฆ‚ไฝ•ๆถŒ็Žฐๅ‡บไปคไบบๆƒŠๅน็š„ๆ™บ่ƒฝ๏ผŒๅธฎๅŠฉ่ฏป่€…ๆทฑๅˆป็†่งฃๅคง่ฏญ่จ€ๆจกๅž‹ไธบไฝ•่ƒฝ็”Ÿๆˆ้ซ˜่ดจ้‡็š„ไบบ็ฑปๆฐดๅนณๆ–‡ๆœฌใ€‚",rating:4.3,highlights:["ๅ…จๆ™ฏๆ‹†่งฃๆ ธๅฟƒๆŠ€ๆœฏ๏ผšๆทฑๅ…ฅๆต…ๅ‡บๅœฐ่ฎฒๆธ…ChatGPT่ƒŒๅŽ็š„็ฅž็ป็ฝ‘็ปœไธŽ่‡ชๅ›žๅฝ’ๆžถๆž„","็‹ฌ็‰น็š„ๅคงๅธˆ่ง†่ง’๏ผšๅฐ†ๅคงๆจกๅž‹่ง†ไธบโ€œ็ฎ€ๅ•็š„่ฎก็ฎ—่ง„ๅˆ™โ€ๆถŒ็Žฐๅคๆ‚ๆ™บ่ƒฝ็š„็ปไฝณ่Œƒไพ‹","ๅ…ผ้กพๆŠ€ๆœฏไธŽๅ•†ไธšๅฝฑๅ“๏ผš็ป“ๅˆ็ฎ—ๅŠ›่ง„ๆจกไธŽ่กŒไธšๅ†ฒๅ‡ป๏ผŒๅ…จ้ขๆŽข่ฎจAIๆ—ถไปฃ็š„ๆœบ้‡ไธŽๆŒ‘ๆˆ˜"]},{id:"book-0030",title:"ไบบๅทฅๆ™บ่ƒฝ๏ผš็Žฐไปฃๆ–นๆณ•๏ผˆ็ฌฌ4็‰ˆ๏ผ‰๏ผˆไธŠไธ‹ๅ†Œ๏ผ‰",author:"[็พŽ]ๆ–ฏๅ›พๅฐ”็‰นยท็ฝ—็ด (Stuart Russell) / [็พŽ]ๅฝผๅพ—ยท่ฏบ็ปดๆ ผ(Peter Norvig)",cover:"https://cdn.weread.qq.com/weread/cover/33/cpplatform_8rthznqfhsjuz5fswwn6kx/t6_cpplatform_8rthznqfhsjuz5fswwn6kx1675928213.jpg",wereadLink:"https://weread.qq.com/web/reader/fc332020813ab7942g0102ad#outline?noScroll=1",link:"https://book.douban.com/subject/36152133",tags:["ไบบๅทฅๆ™บ่ƒฝ","ๆ•™ๆ","็†่ฎบๅฎž่ทต็ป“ๅˆ","็ปๅ…ธ่‘—ไฝœ","่ฎก็ฎ—ๆœบ็ง‘ๅญฆ"],desc:"ๆœฌไนฆๆ˜ฏไบบๅทฅๆ™บ่ƒฝ้ข†ๅŸŸ็š„็ปๅ…ธๆƒๅจๆ•™ๆ๏ผŒ็ณป็ปŸใ€ๆทฑๅ…ฅๅœฐๆŽข่ฎจAI้ข†ๅŸŸ็š„็†่ฎบไธŽๅฎž่ทต๏ผŒไปฅ็ปŸไธ€้ฃŽๆ ผ่žๅˆๅฝ“ไปŠๆต่กŒ็š„AIๆ€ๆƒณไธŽๆœฏ่ฏญๅˆฐๅ‰ๆฒฟๅบ”็”จไธญ๏ผŒ็œŸๆญฃๅฎž็Žฐ็†่ฎบไธŽๅฎž่ทต็›ธ็ป“ๅˆใ€‚ๅ…จไนฆๅˆ†7ไธช้ƒจๅˆ†ๅ…ฑ28็ซ ๏ผŒ็†่ฎบ้ƒจๅˆ†ๆถต็›–้€ป่พ‘ใ€ๆฆ‚็އใ€่ฟž็ปญๆ•ฐๅญฆใ€ๆ„Ÿ็Ÿฅใ€ๆŽจ็†ใ€ๅญฆไน ใ€่กŒๅŠจๅŠๅ…ฌๅนณใ€ไฟกไปปใ€็คพไผšๅ…ฌ็›Šๅ’Œๅฎ‰ๅ…จ็ญ‰็คพไผš่ฎฎ้ข˜๏ผ›ๅฎž่ทต้ƒจๅˆ†้€‰ๅ–ๅพฎ็”ตๅญ่ฎพๅค‡ใ€ๆœบๅ™จไบบ่กŒๆ˜ŸๆŽขๆต‹ๅ™จใ€ๅœจ็บฟๆœๅŠกใ€AlphaZeroใ€ไบบๅฝขๆœบๅ™จไบบใ€่‡ชๅŠจ้ฉพ้ฉถใ€AI่พ…ๅŠฉๅŒป็–—็ญ‰็ƒญ้—จๅœบๆ™ฏใ€‚็”ฑๅŠ ๅทžๅคงๅญฆไผฏๅ…‹ๅˆฉๅˆ†ๆ กๆ•™ๆŽˆๆ–ฏๅ›พๅฐ”็‰นยท็ฝ—็ด ไธŽๅ‰่ฐทๆญŒ็ ”็ฉถๆ€ป็›‘ๅฝผๅพ—ยท่ฏบ็ปดๆ ผ่”ๅˆๆ’ฐๅ†™๏ผŒ่ขซๅ…จ็ƒ1500ๅคšๆ‰€้ซ˜ๆ ก้‡‡็”จ๏ผŒ้€‚ๅˆไฝœไธบAI็›ธๅ…ณไธ“ไธšๆœฌ็ง‘็”Ÿๅ’Œ็ ”็ฉถ็”Ÿๆ•™ๆ๏ผŒไนŸๅฏไฝœไธบไธ“ไธšไบบๅ‘˜็š„ๅ‚่€ƒไนฆใ€‚",rating:5,highlights:["ไฝ“็ณปๅฎŒๆ•ด่ฆ†็›–้ขๅนฟ๏ผŒ7ไธช้ƒจๅˆ†28็ซ ๆž„ๆˆ่‡ชๆดฝ็š„AI็†่ฎบไธป็บฟ๏ผŒๆถต็›–ๆ ธๅฟƒ็†่ฎบไธŽๅ‰ๆฒฟ่ฎฎ้ข˜","็†่ฎบไธŽๅฎž่ทตๅนถ้‡๏ผŒๆ—ข้˜่ฟฐๆ ธๅฟƒ็ฎ—ๆณ•ไธŽๆจกๅž‹๏ผŒๅˆๅฑ•็คบๅœจ็ƒญ้—จๅœบๆ™ฏไธญ็š„่ฝๅœฐๅฎžไพ‹๏ผŒไพฟไบŽ็Ÿฅ่ฏ†่ฟ็งป","็ดง่ทŸๅ‰ๆฒฟๅ…ณๆณจ็คพไผš่ฎฎ้ข˜๏ผŒไธ“้—จ่ฎจ่ฎบAIไผฆ็†ไธŽๅฎ‰ๅ…จ๏ผŒๅผ•ๅฏผๆ€่€ƒๆŠ€ๆœฏไธŽ็คพไผš็š„ไบคไบ’่ดฃไปป","ไธ€็ซ™ๅผๆƒๅจๅ‚่€ƒ๏ผŒๅ…ผๅ…ทๆ•™ๆๅฑžๆ€งไธŽไธ“ไธšๅ‚่€ƒไปทๅ€ผ๏ผŒ้€‚้…้ซ˜ๆ กๆ•™ๅญฆไธŽไบงไธšๅฎž่ทตๅŒ้‡้œ€ๆฑ‚","็Žฐไปฃ็†ๅฟต่ดฏ็ฉฟๅง‹็ปˆ๏ผŒ้€š่ฟ‡ๆœ€ๆ–ฐๆกˆไพ‹ไฝ“็ŽฐAI่ฟ›ๅฑ•ไธŽ่กŒไธš่ถ‹ๅŠฟ๏ผŒๅ‘ˆ็Žฐโ€œๆดปโ€็š„AI็”Ÿๆ€"]},{id:"book-0031",title:"ๆจกๅž‹ๆ€็ปด๏ผš็ฎ€ๅŒ–ไธ–็•Œ็š„ไบบๅทฅๆ™บ่ƒฝๆจกๅž‹",author:"้พšๆ‰ๆ˜ฅ",cover:"https://cdn.weread.qq.com/weread/cover/26/YueWen_38601826/t6_YueWen_38601826.jpg",wereadLink:"https://weread.qq.com/web/reader/5a8326e0724d04625a8e740#outline?noScroll=1",link:"https://book.douban.com/subject/35488925/",tags:["ๆจกๅž‹ๆ€็ปด","ไบบๅทฅๆ™บ่ƒฝ","็ฎ—ๆณ•ๆจกๅž‹","ๆœบๅ™จๅญฆไน ","ๅ…ฅ้—จๅฎž่ทต"],desc:"ๆœฌไนฆ่š็„ฆโ€œๅฆ‚ไฝ•็”จๆจกๅž‹็ฎ€ๅŒ–ไธ–็•Œโ€็š„ๆ ธๅฟƒไธป้ข˜๏ผŒๅฐ†ไบบๅทฅๆ™บ่ƒฝๅœจ็ŽฐๅฎžไธšๅŠกไธญ้ขไธด็š„้šพ้ข˜ๅฝ’็บณไธบๆƒ้‡ใ€็Šถๆ€ใ€ๅบๅˆ—ใ€่กจ็คบใ€็›ธไผผใ€ๅˆ†็ฑปๅ…ญๅคง้—ฎ้ข˜๏ผŒๅนถๅ›ด็ป•่ฏฅๆก†ๆžถ่ฎฒ่งฃๅฏนๅบ”ๆจกๅž‹ๆ€่ทฏไธŽ็ฎ—ๆณ•ใ€‚ไนฆไธญๅผฑๅŒ–ๅคๆ‚ๆ•ฐๅญฆๅ…ฌๅผ๏ผŒไปฅๅคง้‡็”ŸๆดปๅŒ–ใ€ไธšๅŠกๅŒ–ๆกˆไพ‹้˜้‡Šๆจกๅž‹็†่ฎบไธŽ่ฝๅœฐๅœบๆ™ฏ๏ผŒๅธฎๅŠฉ่ฏป่€…ๅปบ็ซ‹โ€œๆจกๅž‹โ€”ๅœบๆ™ฏโ€ๆ˜ ๅฐ„ๅ…ณ็ณป๏ผŒ้™ไฝŽAIๆจกๅž‹ๅญฆไน ้—จๆง›๏ผŒๆ—ขๆ˜ฏไบบๅทฅๆ™บ่ƒฝๅˆๅญฆ่€…็š„ๅ…ฅ้—จ่ฏป็‰ฉ๏ผŒไนŸๅฏไธบไผไธšๅทฅ็จ‹ๅธˆใ€็ง‘็ ”ไบบๅ‘˜ๆไพ›ๅฎž่ทตๅ‚่€ƒ๏ผŒ้€‚ๅˆๅ„็ฑป่ฏป่€…ๅญฆไน ๅนถๅฐ†ๆจกๅž‹ๆ€็ปดๅบ”็”จๅˆฐ็”ŸๆดปไธŽๅทฅไฝœไธญใ€‚",rating:4.8,highlights:["ไปฅโ€œๅ…ญๅคง้—ฎ้ข˜โ€ๆก†ๆžถไธฒ่”AIๆจกๅž‹๏ผŒๅฏๆŒ‰ๅœบๆ™ฏๅฟซ้€Ÿๆฃ€็ดข้€‚้…็š„ๆจกๅž‹ๆ€่ทฏ","ไพง้‡่ฝๅœฐๅฎž่ทต๏ผŒๆญ้…ๅคง้‡็”ŸๆดปๅŒ–ไธŽไธšๅŠกๆกˆไพ‹๏ผŒๅŠฉๅŠ›ๅปบ็ซ‹โ€œๆจกๅž‹โ€”ๅœบๆ™ฏโ€ๆ˜ ๅฐ„","้™ไฝŽๅญฆไน ้—จๆง›๏ผŒๅฐ‘ๆ•ฐๅญฆๅ…ฌๅผใ€ๅคš็›ด่ง‚ๆกˆไพ‹๏ผŒๅ…ผ้กพๅˆๅญฆ่€…ไธŽๅทฅ็จ‹่ฝๅœฐ้œ€ๆฑ‚","ๅ—ไผ—็พคไฝ“ๅนฟๆณ›๏ผŒ้€‚้…ๅทฅ็จ‹ๅธˆใ€็ง‘็ ”ไบบๅ‘˜ๅŠๆ™ฎ้€š่ฏป่€…๏ผŒๅฏ่ฟ็งปๆจกๅž‹ๆ€็ปด่‡ณๅฎž้™…ๅœบๆ™ฏ"]},{id:"book-005",title:"ไฝ ็œ‹่ตทๆฅๅฅฝๅƒโ€ฆโ€ฆๆˆ‘็ˆฑไฝ ๏ผšAI็š„ๅทฅไฝœๅŽŸ็†ไปฅๅŠๅฎƒไธบ่ฟ™ไธชไธ–็•Œๅธฆๆฅ็š„็จ€ๅฅ‡ๅคๆ€ช",author:"่ดพๅ†…ๅฐ”ยทๆฒ™ๅ†…",cover:"https://wfqqreader-1252317822.image.myqcloud.com/cover/970/39481970/t6_39481970.jpg",wereadLink:"https://weread.qq.com/book-detail?type=1&senderVid=40710128&v=f9a32c10725a7272f9a14f9&wtheme=white&wfrom=app&wvid=40710128&scene=bottomSheetShare",link:"https://book.douban.com/subject/35407136/",tags:["ไบบๅทฅๆ™บ่ƒฝ","่ถฃๅ‘ณ็ง‘ๆ™ฎ","ๆผซ็”ป็ฎ—ๆณ•"],desc:"่ฟ™ๆ˜ฏไธ€้ƒจๅ†™็ป™ๆ™ฎ้€š่ฏป่€…็š„ไบบๅทฅๆ™บ่ƒฝ่ถฃๅ‘ณ็ง‘ๆ™ฎ่ฏป็‰ฉใ€‚ไฝœ่€…่ดพๅ†…ๅฐ”ยทๆฒ™ๅ†…็ป“ๅˆ็”ŸๆดปๅŒ–็š„ๆฏ”ๅ–ปๅ’Œ่ถ…็บงๅฏ็ˆฑ็š„ๆผซ็”ป๏ผŒๆทฑๅ…ฅๆต…ๅ‡บๅœฐ่ฎฒ่งฃไบ†AI็š„ๅŸบๆœฌๅทฅไฝœๅŽŸ็†ใ€ๅฎž้™…ๅบ”็”จๅŠๅ…ถๅฑ€้™ๆ€งใ€‚ไนฆไธญ้€š่ฟ‡ๅคง้‡ๅนฝ้ป˜็š„AIๅฎž้ชŒไธŽโ€œ็ฟป่ฝฆโ€ๆกˆไพ‹๏ผŒๅธฆ้ข†่ฏป่€…ๅœจ่ฝปๆพๆง่…น็š„ๆฐ›ๅ›ดไธญ๏ผŒๅ‡†็กฎ็†่งฃ็ฎ—ๆณ•่ƒฝๅšไป€ไนˆใ€ไธ่ƒฝๅšไป€ไนˆใ€‚",rating:4.2,highlights:["ๅนฝ้ป˜ๅฏ็ˆฑ็š„ๆผซ็”ปๅฏผ่งˆ๏ผš็”จๆ’ๅ›พๅ’Œ้€šไฟ—่ฏญ่จ€ๅฐ†โ€œๆทฑๅบฆๅญฆไน โ€โ€œ็ฅž็ป็ฝ‘็ปœโ€็ญ‰ๆŠฝ่ฑกๆฆ‚ๅฟตๅฏ่ง†ๅŒ–","ไธฐๅฏŒ็š„่ถฃๅ‘ณๅฎž้ชŒๆกˆไพ‹๏ผš้€š่ฟ‡็ฒพ้€‰็š„AIโ€œ็ฟป่ฝฆโ€ๆ•…ไบ‹๏ผŒ็›ด่ง‚ๆญ็คบ็ฎ—ๆณ•่ƒŒๅŽ็š„้€ป่พ‘ไธŽๆฝœๅœจๅๅทฎ","ๅฎข่ง‚ๅปบ็ซ‹AI่ฎค็Ÿฅ๏ผšๅœจๅฑ•็คบAIๅผบๅคง่ƒฝๅŠ›็š„ๅŒๆ—ถ๏ผŒๆ˜Ž็กฎๆŒ‡ๅ‡บๅ…ถๅœจ่ฏญๅขƒ็†่งฃๅ’Œๅค„็†ๆจก็ณŠไฟกๆฏๆ—ถ็š„็Ÿญๆฟ"]},{id:"book-006",title:"AI็ปๆตŽ๏ผšๆœบๅ™จไบบๆ—ถไปฃ็š„ๅทฅไฝœใ€่ดขๅฏŒๅ’Œ็คพไผš็ฆๅˆฉ",author:"็ฝ—ๆฐยทๅธƒ็‰นๅฐ”",cover:"https://cdn.weread.qq.com/weread/cover/30/YueWen_38229387/t6_YueWen_38229387.jpg",wereadLink:"https://weread.qq.com/web/reader/653320207247558b65332f5#outline?noScroll=1",link:"https://book.douban.com/subject/35433060/",tags:["ไบบๅทฅๆ™บ่ƒฝ","็ปๆตŽๅญฆ","็คพไผšๅญฆ","ๆœชๆฅ่ถ‹ๅŠฟ"],desc:"ๆœฌไนฆ็”ฑ็Ÿฅๅ็ปๆตŽๅญฆๅฎถ็ฝ—ๆฐยทๅธƒ็‰นๅฐ”ๆ’ฐๅ†™๏ผŒ่š็„ฆAIไธŽๆœบๅ™จไบบๆŠ€ๆœฏๅฏน็ปๆตŽๅ’Œ็คพไผš็š„ๆทฑ่ฟœๅฝฑๅ“ใ€‚ไฝœ่€…ๆ‹จๅผ€่‰ฐๆถฉ็š„็ง‘ๆŠ€ๆœฏ่ฏญ๏ผŒไปŽ็ปๆตŽๅขž้•ฟใ€้€š่ดง่†จ่ƒ€ๅŠ่ดขๅฏŒๅˆ†้…็ญ‰ๅฎ่ง‚่ง†่ง’๏ผŒ็†ๆ€งๅ‰–ๆžAI้ฉๅ‘ฝๅฐ†ๅฆ‚ไฝ•้‡ๅก‘ๆˆ‘ไปฌ็š„ๅทฅไฝœใ€ๆ•™่‚ฒไธŽไผ‘้—ฒๆ–นๅผ๏ผŒไปฅไน่ง‚็š„ๅงฟๆ€ไธบ่ฟŽๆŽฅๆœชๆฅ็š„็คพไผšๅ˜้ฉๆŒ‡ๆ˜Ž่ทฏๅพ„ใ€‚",rating:4.1,highlights:["ๅฎ่ง‚็ปๆตŽ่ง†่ง’่งฃๆž๏ผšๆทฑๅ…ฅๆŽข่ฎจAIๅฏน็ปๆตŽๅขž้•ฟใ€้€š่ดง่†จ่ƒ€ใ€่ดขๅฏŒไธŽๆƒๅŠ›ๅˆ†้…็š„็œŸๅฎžๅฝฑๅ“","ๅ…จๆ™ฏๅผ็คพไผšๆดžๅฏŸ๏ผšๅ…จ้ขๆฃ€่ง†ๆœบๅ™จไบบๆ—ถไปฃไธ‹๏ผŒไบบ็ฑปๆ•™่‚ฒไฝ“็ณปใ€ๅทฅไฝœๆจกๅผไธŽไผ‘้—ฒๅฝขๆ€็š„ๆทฑๅˆปๅ˜้ฉ","็†ๆ€งไน่ง‚็š„ๆœชๆฅๆŒ‡ๅ—๏ผšๆ‹’็ปๆŠ€ๆœฏๆๆ…Œ๏ผŒไธบไธชไบบไธŽ็คพไผšๅœจๅ˜่ฟ็š„ไธ–็•Œไธญๆไพ›ๆธ…ๆ™ฐๅฏ่กŒ็š„ๅบ”ๅฏน่ฎกๅˆ’"]}],Ie=[{id:"book-007",title:"ๅšๅฏนไบงๅ“",author:"้˜ฟๅฐ”่ดๆ‰˜ยท็ดข็ปดไบš",cover:"https://cdn.weread.qq.com/weread/cover/53/YueWen_40877841/t6_YueWen_40877841.jpg",wereadLink:"https://weread.qq.com/web/reader/254322a0726fbf1125472c9#outline?noScroll=1",link:"https://book.douban.com/subject/35607961/",tags:["ไบงๅ“ๆ€็ปด","ๅˆ›ไธš","ๅ•†ไธšๆ–นๆณ•่ฎบ"],slogan:"ไธบไป€ไนˆๆœ‰ไบ›ไบงๅ“ๆณจๅฎšๅคฑ่ดฅ๏ผŒๆœ‰ไบ›ไบงๅ“ๅด่ƒฝๅคง่ŽทๆˆๅŠŸ๏ผŸๆฅ่‡ช่ฐทๆญŒไธŽๆ–ฏๅฆ็ฆ็š„ไบงๅ“ๅทฅๅ…ทๅ’Œไบงๅ“ๆˆ˜ๆœฏใ€‚",desc:"่ฐทๆญŒ้ฆ–ไปปไบงๅ“ๆ€ป็›‘้˜ฟๅฐ”่ดๆ‰˜ยท็ดข็ปดไบš็ป“ๅˆๅœจ่ฐทๆญŒใ€ๆ–ฏๅฆ็ฆ็š„ๅฎžๆˆ˜็ป้ชŒไธŽ่‡ช่บซไปฃไปท้ซ˜ๆ˜‚็š„ๅˆ›ไธšๅคฑ่ดฅ็ปๅކ๏ผŒๆ€ป็ป“ๅ‡บ็š„ไธ€ๅฅ—้˜ฒ่ดฅๆ‰‹ๅ†Œใ€‚ไนฆไธญๆญ็คบไบ†ๆ–ฐไบงๅ“้ซ˜่พพ90%็š„โ€œๅธ‚ๅœบๅคฑ่ดฅๅพ‹โ€๏ผŒๅนถๅˆ›ๆ–ฐๆ€งๅœฐๆๅ‡บไบ†โ€œ้ข„ๅž‹โ€๏ผˆPreๅž‹๏ผ‰็†ๅฟต๏ผŒๆŒ‡ๅฏผๅ›ข้˜Ÿๅœจๆญฃๅผๅผ€ๅ‘ๅ‰๏ผŒไปฅๆžไฝŽ็š„ๆˆๆœฌๅ’Œ็œŸๅฎžๆ•ฐๆฎๅฟซ้€Ÿ้ชŒ่ฏๅ…ณ้”ฎๅ‡่ฎพ๏ผŒ็กฎไฟๆŠŠๅˆ›ๆ„ๆ‰“็ฃจๆˆโ€œๆญฃ็กฎ็š„ๅฎƒโ€ใ€‚",rating:4.8,highlights:["ๆญ็คบๆฎ‹้…ท็š„ๅธ‚ๅœบๅคฑ่ดฅๅพ‹๏ผšๆญฃ่ง†90%ๆ–ฐไบงๅ“ๅฟ…็„ถๅคฑ่ดฅ็š„ๅ•†ไธšๅธธๆ€๏ผŒๅนถไปฅๆญคๅ€’ๆŽจ็ ดๅฑ€็š„ๅฎžๆˆ˜ๆ–นๆณ•่ฎบ","้ฆ–ๅˆ›โ€œ้ข„ๅž‹โ€๏ผˆPreๅž‹๏ผ‰ๆฆ‚ๅฟต๏ผšๆไพ›8ๅคงๆต‹่ฏ•ๅทฅๅ…ท๏ผŒไธปๅผ ็”จๆžไฝŽๆˆๆœฌๅ’Œๅฐ่ง„ๆจก่ฏ•้”™ๅฟซ้€Ÿ้€ผ่ฟ‘ๆญฃ็กฎ็š„ไบงๅ“ๅฝขๆ€","ๅผบ่ฐƒ็œŸๅฎžๆ•ฐๆฎ้ฉฑๅŠจๅ†ณ็ญ–๏ผš่พ…ไปฅ็‰นๆ–ฏๆ‹‰ใ€่ฐทๆญŒ็ญ‰ๅฎŒๆ•ดๆกˆไพ‹ๅ›žๆบฏ๏ผŒๆ•™ๅฏผๅ›ข้˜Ÿๅฐ†ๅ†ณ็ญ–ๅปบ็ซ‹ๅœจๅฎข่ง‚่ฏๆฎ่€Œ้žไธป่ง‚็›ด่ง‰ไน‹ไธŠ"]},{id:"book-009",title:"ไฟžๅ†›ไบงๅ“ๆ–นๆณ•่ฎบ",author:"ไฟžๅ†›",cover:"https://cdn.weread.qq.com/weread/cover/47/YueWen_28165041/t6_YueWen_28165041.jpg",wereadLink:"https://weread.qq.com/web/reader/1cc3252071adc3b11cc0162#outline?noScroll=1",link:"https://book.douban.com/subject/34907971/",tags:["ไบงๅ“ๆ€็ปด","ไบงๅ“็ป็†","ไบ’่”็ฝ‘","ๆ–นๆณ•่ฎบ"],desc:"โ€œ็™พๅบฆ่ดดๅงไน‹็ˆถโ€ไฟžๅ†›ไบŒๅไฝ™ๅนดไบงๅ“ๅฎž่ทตไธŽๆ€่€ƒ็š„็ณป็ปŸๆ€ป็ป“ใ€‚ๆœฌไนฆๅฐ†ไบงๅ“็ป็†ๅฎšไน‰ไธบโ€œไปฅ็ง‘ๅญฆๆ–นๆณ•็ ”็ฉถไบบๆ€งๅนถ่ฝฌๅŒ–ไธบๅ•†ไธšๆ–นๆกˆโ€็š„ไบคๅ‰ๅญฆ็ง‘๏ผŒๆทฑๅ…ฅ่งฃๆžไบ†็”จๆˆทๆจกๅž‹ใ€ไบคๆ˜“ๆจกๅž‹ๅ’Œๅ†ณ็ญ–ๆจกๅž‹ไธ‰ๅคงๆ ธๅฟƒๆก†ๆžถ๏ผŒไธบไบงๅ“ไบบๆไพ›ไบ†ไธ€ๅฅ—ๅœจไธ็กฎๅฎš็Žฏๅขƒไธญๆƒ่กกๅคšๆ–นๅˆฉ็›Š็š„ๅฎžๆˆ˜ๆŒ‡ๅ—ใ€‚",rating:4.4,highlights:["ๆฒ‰ๆท€ไบŒๅๅนด่กŒไธš็ป้ชŒ๏ผšไปŽๅนฟไธบๆตไผ ็š„โ€œPM12ๆกโ€ๅˆฐ็ณป็ปŸๅŒ–็š„ไบงๅ“ๅ“ฒๅญฆ๏ผŒๅฑ•็Žฐ้กถๅฐ–ไบงๅ“็ป็†็š„่ฎค็Ÿฅ่ฟญไปฃๅฒ","ไธ‰ๅคงๆ ธๅฟƒๆจกๅž‹ๆ‹†่งฃ๏ผšๆทฑๅบฆๅ‰–ๆž็”จๆˆทๆจกๅž‹ไธŽไบคๆ˜“ๆจกๅž‹๏ผŒๆŒ‡ๅฏผๅฆ‚ไฝ•้€š่ฟ‡่ฎฉไบคๆ˜“ๅ‘็”Ÿๆฅๅˆ›้€ โ€œๆœ‰ๅˆฉๅฏๅ›พโ€็š„็œŸๅฎž็”จๆˆทไปทๅ€ผ","ๅ…ผ้กพ็ง‘ๅญฆไธŽไบบๆ–‡่ง†่ง’๏ผšๅผบ่ฐƒๆ‰นๅˆคๆ€งๆ€็ปด็š„่ฟ็”จ๏ผŒๅนถๆธ…ๆ™ฐๆขณ็†ไบ†ไปŽๆ–ฐไบบๅˆฐ้กถๅฐ–ๅคง็‰›็š„่ƒฝๅŠ›่ฟ›้˜ถ่ทฏๅพ„"]},{id:"book-016",title:"็ญ–็•ฅไบงๅ“็ป็†๏ผšๆจกๅž‹ไธŽๆ–นๆณ•่ฎบ",author:"้’ๅไบ”",cover:"https://cdn.weread.qq.com/weread/cover/31/cpplatform_gheeqe7hjb2czyzthzf5nm/t6_cpplatform_gheeqe7hjb2czyzthzf5nm1735654872.jpg",wereadLink:"https://weread.qq.com/web/reader/4de32800813ab98d5g01286b#outline?noScroll=1",link:"https://book.douban.com/subject/35218721/",tags:["ไบงๅ“็ป็†","็ญ–็•ฅไบงๅ“","็ฎ—ๆณ•ๆ€็ปด"],desc:"ๆœฌไนฆๅ›ด็ป•โ€œ็ญ–็•ฅไบงๅ“็ป็†โ€่ฟ™ไธ€ๅคๅˆ่ง’่‰ฒ๏ผŒ็ณป็ปŸๆ€งๅœฐๆž„ๅปบไบ†ไปŽ็†ๅฟตๅˆฐๅฎž่ทต็š„ๅฎŒๆ•ด็Ÿฅ่ฏ†ๆก†ๆžถใ€‚ไฝœ่€…ไปŽๆœบๅ™จๅญฆไน ็†่ฎบไธŽ็ปๆตŽๅญฆ่ง†่ง’ๅ‡บๅ‘๏ผŒ็ป“ๅˆๆŽจ่ใ€ๆœ็ดขใ€ๅนฟๅ‘Šใ€้ฃŽๆŽง็ญ‰ๆ ธๅฟƒไธšๅŠกๅœบๆ™ฏ๏ผŒๆทฑๅ…ฅๆต…ๅ‡บๅœฐ่ฎฒ่งฃไบ†ๅ‡ฝๆ•ฐๅปบๆจกไธŽ็ญ–็•ฅๅบ”็”จ๏ผŒๅนถๅฏน็ญ–็•ฅไบงๅ“็ป็†็š„ๆ ธๅฟƒ่ƒฝๅŠ›ไธŽๅ›ข้˜Ÿๅปบ่ฎพ็ป™ๅ‡บไบ†่ฏฆๅฐฝๆŒ‡ๅฏผใ€‚",rating:3.9,highlights:["็ณป็ปŸๅŒ–็š„่ง’่‰ฒ่ฎค็Ÿฅๅปบๆž„๏ผšๆธ…ๆ™ฐ็•Œๅฎš็ญ–็•ฅไบงๅ“็ป็†็š„ๆ—ถไปฃ่ƒŒๆ™ฏใ€่Œ่ดฃ่พน็•ŒไธŽๅทฅไฝœๅ†…ๅฎน๏ผŒไธบไปŽไธš่€…ๅคฏๅฎžๆฆ‚ๅฟตๅŸบ็ก€","่ทจๅญฆ็ง‘็š„ๆจกๅž‹ไธŽไธšๅŠก็ป“ๅˆ๏ผšๅˆฉ็”จๆœบๅ™จๅญฆไน ็š„ๅ‡ฝๆ•ฐๆ–นๆณ•่ฎบไธŽ็ปๆตŽๅญฆ็†่ฎบ๏ผŒๆทฑๅบฆๅ‰–ๆžๆŽจ่ใ€ๆœ็ดขใ€ๅนฟๅ‘Šใ€้ฃŽๆŽงๅŠๅฎšไปท็ญ‰็œŸๅฎžไธšๅŠกๅœบๆ™ฏ็š„่งฃๆณ•","็กฌๆ ธ็ฎ—ๆณ•็š„้€šไฟ—ๅŒ–่งฃๆž๏ผšๆทฑๅ…ฅๆต…ๅ‡บๅœฐๆ‹†่งฃๆœบๅ™จๅญฆไน ๆœฌ่ดจใ€ๅธธ่ง็ฎ—ๆณ•ๅŠๆทฑๅบฆๅญฆไน ๅ‰ๆฒฟๆŠ€ๆœฏ๏ผŒๅธฎๅŠฉไบงๅ“็ป็†็œŸๆญฃ็†่งฃ็ญ–็•ฅ่ƒŒๅŽ็š„ๆŠ€ๆœฏๆ”ฏๆ’‘","ๅฏ่ฝๅœฐ็š„ๅ›ข้˜Ÿๅปบ่ฎพๆŒ‡ๅ—๏ผšๅ…จ้ขๆ‹†่งฃๆ•ฐๆฎๅˆ†ๆžใ€ๆฒŸ้€šไธŽ้กน็›ฎ็ฎก็†็ญ‰ๆ ธๅฟƒ่ƒฝๅŠ›้กน๏ผŒๅนถ้’ˆๅฏนไธๅŒไบงๅ“็”Ÿๅ‘ฝๅ‘จๆœŸๆไพ›็ญ–็•ฅๅ›ข้˜Ÿ็š„็ป„ๅปบๆ€่ทฏ"]},{id:"book-008",title:"ๅˆ›้€ ๏ผš็”จ้žไผ ็ปŸๆ–นๅผๅšๆœ‰ไปทๅ€ผ็š„ไบ‹",author:"ๆ‰˜ๅฐผยทๆณ•ๅพทๅฐ”",cover:"https://cdn.weread.qq.com/weread/cover/53/cpPlatform_tzdqT27m3vyaHnX5o8Vbwk/t6_cpPlatform_tzdqT27m3vyaHnX5o8Vbwk.jpg",wereadLink:"https://weread.qq.com/web/reader/13832ac0813ab725fg018645#outline?noScroll=1",link:"https://book.douban.com/subject/36071759/",tags:["ไบงๅ“ๆ€็ปด","็ฎก็†ๅญฆ","ๅˆ›ไธš"],desc:"ๆœฌไนฆๆ˜ฏiPodใ€iPhoneใ€Nest็ญ‰็ˆ†ๆฌพไบงๅ“ๅน•ๅŽๆŽจๆ‰‹ๆ‰˜ๅฐผยทๆณ•ๅพทๅฐ”30ไฝ™ๅนด่Œไธš็ปๅކ็š„ๆ™บๆ…ง็ป“ๆ™ถใ€‚ไฝœ่€…ๆฏซๆ— ไฟ็•™ๅœฐๅˆ†ไบซไบ†ไป–ๅœจไบงๅ“่ฎพ่ฎกใ€ๅ›ข้˜Ÿ็ฎก็†ใ€่Œไธš้€‰ๆ‹ฉๅ’Œๅ…ฌๅธ็ป่ฅ็ญ‰ๆ–น้ข็š„โ€œ้žไผ ็ปŸโ€ๆ–นๆณ•่ฎบ๏ผŒๅธฎๅŠฉ่ฏป่€…ๅœจๅ„่‡ช็š„้ข†ๅŸŸๅ†…ๅˆปๆ„็ปƒไน ๅˆ›้€ ๅŠ›๏ผŒๅš็œŸๆญฃๆœ‰ไปทๅ€ผ็š„ไบ‹ใ€‚",rating:4.9,highlights:["ๆบ่‡ช้กถ็บงๅˆ›ๆ–ฐ่€…็š„ๅฎžๆˆ˜็ป้ชŒ๏ผš่ฟž็ปญๆ‰“้€ iPodใ€iPhone็ญ‰ๅˆ’ๆ—ถไปฃไบงๅ“็š„ไบฒๅކๅค็›˜ไธŽ็œŸๅฎžๅ้ขๆ•™่ฎญ","่ฆ†็›–ไปŽไธชไบบๅˆฐๅ…ฌๅธ็š„ๅฎŒๆ•ด่ทฏๅพ„๏ผš็ณป็ปŸ่งฃ็ญ”่Œไธš้€‰ๆ‹ฉใ€ไบงๅ“่ฎพ่ฎกใ€ๅ›ข้˜Ÿ็ฎก็†ไธŽไผไธš็ป่ฅ็ญ‰ๆ ธๅฟƒ้—ฎ้ข˜","ๆไพ›ๅฏๅคๅˆถ็š„โ€œ้žไผ ็ปŸโ€ๆ–นๆณ•่ฎบ๏ผšๅผบ่ฐƒโ€œไบฎ็‚นๆ€็ปดโ€ไธŽๆŒ็ปญๅค็›˜๏ผŒๆ•™ๅฏผ่ฏป่€…ไปฅๅๅธธ่ง„็š„่ง†่ง’ๅˆปๆ„็ปƒไน ๅˆ›้€ ๅŠ›"]},{id:"book-010",title:"ไบงๅ“ๆ€็ปด",author:"ๅˆ˜้ฃž",cover:"https://cdn.weread.qq.com/weread/cover/56/YueWen_25568738/t6_YueWen_25568738.jpg",wereadLink:"https://weread.qq.com/web/reader/38332ce0718625e23831fe7#outline?noScroll=1",link:"https://book.douban.com/subject/33456375/",tags:["ไบงๅ“ๆ€็ปด","ไบงๅ“็ป็†","ไธชไบบๆˆ้•ฟ","ไบ’่”็ฝ‘"],desc:"ๅฎžๆˆ˜ๆดพไบงๅ“็ป็†ๅˆ˜้ฃž็ป“ๅˆๅœจไธ€็บฟๅคงๅŽ‚็š„ไธฐๅฏŒ็ป้ชŒ๏ผŒๅ›ด็ป•ไบงๅ“ไบบๅฆ‚ไฝ•ๅฎž็Žฐ่ƒฝๅŠ›่ทƒ่ฟๅฑ•ๅผ€็š„ๅบ•ๅฑ‚่ƒฝๅŠ›ๆŒ‡ๅ—ใ€‚ๅ…จไนฆๆŽฐๅผ€ๆ‰็ขŽๅœฐ่ฎฒ่งฃไบ†่ฎค็Ÿฅ็›ฒ็‚นไธŽๅฎž่ทต็—›็‚น๏ผŒ้€š่ฟ‡โ€œ่ฎค็Ÿฅ็”จๆˆทโ€โ€œๅˆ›้€ ไปทๅ€ผโ€ๅ’Œโ€œไบงๅ“่ฝๅœฐโ€ไธ‰ๅคงๆ ธๅฟƒๆฟๅ—๏ผŒ็ณป็ปŸๆ‹†่งฃไบ†ไปŽๅปบ็ซ‹็”จๆˆทๆจกๅž‹ใ€้ซ˜่ดจ้‡ๅ†ณ็ญ–ๅˆฐๅฟซ้€Ÿ่ฟญไปฃ้ชŒ่ฏ็š„ๅฎŒๆ•ดไบงๅ“ๆ–นๆณ•่ฎบใ€‚",rating:4.2,highlights:["ไธ‰ๅคงๆ ธๅฟƒๆฟๅ—็ณป็ปŸๆ‹†่งฃ๏ผšๅฎŒๆ•ด่ฆ†็›–โ€œ่ฎค็Ÿฅ็”จๆˆทโ€โ€œๅˆ›้€ ไปทๅ€ผโ€ไธŽโ€œไบงๅ“่ฝๅœฐโ€็š„ไบงๅ“้—ญ็Žฏ","็›ดๅ‡ป็—›็‚น็š„ไธ€็บฟๅฎžๆˆ˜็ป้ชŒ๏ผšๆฏซๆ— ไฟ็•™ๅœฐๅˆ†ไบซๅฎžๆˆ˜ไธญๆ–ฐๆ‰‹่ฟซๅˆ‡้œ€่ฆๅด้šพไปฅ่Žทๅ–็š„้šๆ€ง็Ÿฅ่ฏ†","่š็„ฆๅบ•ๅฑ‚่ƒฝๅŠ›ไธŽๆ€็ปดๅ‡็ปด๏ผšไธไป…ๆ•™ๆŽˆ่ฝๅœฐๆ–นๆณ•๏ผŒๆ›ดๆณจ้‡ๅ†ณ็ญ–่ดจ้‡ไธŽๆ€็ปดๆจกๅผ็š„่ทƒ่ฟ"]},{id:"book-011",title:"ไบงๅ“ๆ€็ปด๏ผšๅˆ›ๆ–ฐ่ฎพ่ฎก็š„ๅ…ญๆกๆณ•ๅˆ™๏ผˆๅ…จๅฝฉ๏ผ‰",author:"ๅผ ๅฐๅธ…",cover:"https://wfqqreader-1252317822.image.myqcloud.com/cover/253/26687253/t6_26687253.jpg",wereadLink:"https://weread.qq.com/web/reader/a823297071973715a8202b0#outline?noScroll=1",link:"https://book.douban.com/subject/34859540/",tags:["ไบงๅ“่ฎพ่ฎก","ๅˆ›ๆ–ฐๆ€็ปด","ๆ–นๆณ•่ฎบ","่ฎพ่ฎก็ตๆ„Ÿ"],desc:"ๆœฌไนฆๅ›ด็ป•ไฝœ่€…ๅผ ๅฐๅธ…ๅคšๅนดไบงๅ“่ฎพ่ฎกๅฎž่ทตๆ€ป็ป“ๅ‡บ็š„6ๆกๅˆ›ๆ„ๅ…ฌๅผๅฑ•ๅผ€๏ผŒๆ—จๅœจๅธฎๅŠฉ่ฏป่€…็ณป็ปŸๅŒ–ๅœฐ่Žทๅ–่ฎพ่ฎก็ตๆ„Ÿๅนถ่งฃๅ†ณๅˆ›ๆ–ฐ้šพ้ข˜ใ€‚ๅ…จไนฆ้€š่ฟ‡ๅคง้‡็ปๅ…ธๆกˆไพ‹๏ผŒ่ฏฆ็ป†่งฃๆžไบ†ไปŽๅ‘ๆ•ฃๆ€่€ƒๅˆฐ้‡็ป„ๅˆ›ๆ–ฐ็š„ๅ…จ่ฟ‡็จ‹๏ผŒๅนถๅœจๆœ€ๅŽๆไพ›ไบ†ไปŽ้œ€ๆฑ‚ๅˆฐ่‰ๅ›พๅ†ๅˆฐๆœ€็ปˆๆ–นๆกˆ็š„ๅฎŒๆ•ด้กน็›ฎ่ฝๅœฐๆผ”็คบใ€‚",rating:4,highlights:["ๆ็‚ผ6ๆกๅฎž็”จ็š„ๅˆ›ๆ–ฐ่ฎพ่ฎกๅ…ฌๅผ๏ผšๅฐ†ๅ‘ๆ•ฃๆ€่€ƒไธŽ้‡็ป„ๅˆ›ๆ–ฐ็ณป็ปŸๅŒ–๏ผŒๆ‰“้€ ๅฏๅค็”จ็š„่ฎพ่ฎก็ตๆ„Ÿๅบ“","ไธฐๅฏŒ็š„็ปๅ…ธ่ฎพ่ฎกๆกˆไพ‹่งฃๆž๏ผš่ฏฆ็ป†ๅฑ•็คบโ€œ้—ฎ้ข˜+ๆ–นๆณ•โ€ใ€โ€œ1+1>2โ€็ญ‰ๆณ•ๅˆ™ๅœจ็œŸๅฎžไบงๅ“่ฎพ่ฎกไธญ็š„ๅบ”็”จ","ๅ‘ˆ็ŽฐไปŽ้œ€ๆฑ‚ๅˆฐๆ–นๆกˆ็š„่ฝๅœฐๅ…จๆต็จ‹๏ผš้€š่ฟ‡็ปผๅˆๆกˆไพ‹ๆผ”็คบๆฆ‚ๅฟตๆ‰“็ฃจไธŽ่‰ๅ›พ่ฎพ่ฎก็š„ๅฎžๆˆ˜่ฟ‡็จ‹"]}],We=[{id:"book-012",title:"ๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™",author:"่จๅธŒๅฐ”ยทๆ‹‰ๆ–‡ๅ‰ไบš",cover:"https://cdn.weread.qq.com/weread/cover/91/cpplatform_vl4abrrrqgxnry833gcrtt/t6_cpplatform_vl4abrrrqgxnry833gcrtt1677578056.jpg",wereadLink:"https://weread.qq.com/web/reader/02932980813ab7a43g012e77#outline?noScroll=1",link:"https://book.douban.com/subject/36280425/",tags:["ๅˆ›ไธš","ๅ•†ไธšๆจกๅผ","ๆž็ฎ€ไธปไน‰"],desc:"ๆœฌไนฆๆ‰“็ ดไบ†็ก…่ฐท็›ฒ็›ฎ่ฟฝๆฑ‚โ€œ็‹ฌ่ง’ๅ…ฝโ€็š„ๆ‰ฉๅผ ่ฟทๆ€๏ผŒ่š็„ฆไบŽโ€œ่ง„ๆจกไธๆ˜ฏๅ”ฏไธ€ๅ‡บ่ทฏโ€็š„ๅ•†ไธš็Žฐๅฎžใ€‚ไฝœ่€…็ป“ๅˆๅˆ›็ซ‹Gumroad็š„ไบฒ่บซ็ปๅކ๏ผŒๆๅ‡บไบ†โ€œๆž็ฎ€ๅˆ›ไธš็ป่ฅโ€็†ๅฟตใ€‚ๅ…จไนฆๆŒ‡ๅฏผๅˆ›ไธš่€…ไธŽ็ฎก็†่€…ๅฆ‚ไฝ•้€š่ฟ‡ไปŽ็คพๅŒบๅˆ‡ๅ…ฅใ€่š็„ฆๆ ธๅฟƒ่ƒฝๅŠ›ใ€็ฒพ็ฎ€ๅ›ข้˜Ÿ็ญ‰ๆ–นๅผ๏ผŒ็”จๆœ€ๅฐ‘็š„่ต„ๆบๆ‰“้€ ๅ‡บไธไป…่ƒฝๆดปไธ‹ๅŽป๏ผŒ่€Œไธ”่ฟ˜่ƒฝๆŒ็ปญ็›ˆๅˆฉ็š„โ€œๆ…ขๅ…ฌๅธโ€ใ€‚",rating:5,highlights:["้ข ่ฆ†ไผ ็ปŸ็š„ๆ‰ฉๅผ ่ฟทๆ€๏ผšๆๅ‡บ็›ˆๅˆฉ่‡ณไธŠ่€Œ้ž่ง„ๆจก่‡ณไธŠ๏ผŒๅฐ†ๆŒ็ปญ่ตš้’ฑๅ’Œๅฎž้™…ๅˆฉๆถฆไฝœไธบ่กก้‡ไผไธšๆˆๅŠŸ็š„ๆ ธๅฟƒๆ ‡ๅ‡†","ๅฏ่ฝๅœฐ็š„ๆž็ฎ€ๆณ•ๅˆ™๏ผšๆ€ป็ป“ๅ‡บโ€œ่ถŠๅฐ‘่ถŠๅฅฝโ€โ€œ็ž„ๅ‡†ๅ‰100ไธชๅฎขๆˆทโ€็ญ‰7ๆกๅˆ›ไธšๆธ…ๅ•๏ผŒๆž„ๅปบไปŽๅฎšไฝใ€ไบงๅ“ๅˆฐ้”€ๅ”ฎ็š„ๅฎŒๆ•ด้—ญ็Žฏ","็คพๅŒบ้ฉฑๅŠจ็š„ๅ•†ไธš้€ป่พ‘๏ผšๆๅ€กไปŽ่™šๆ‹Ÿ็คพๅŒบๅ…ฅๆ‰‹๏ผŒไปฅโ€œ่ดก็Œฎ-ๅˆ›ไฝœ-ๆ•™ๅญฆโ€็š„ๆ–นๅผไฝŽๆˆๆœฌ้ชŒ่ฏไบงๅ“ๅฝขๆ€ๅนถ่Žทๅ–ๆ—ฉๆœŸไฟกไปป","ๆ‰“้€ ้ซ˜้Ÿงๆ€ง็š„โ€œๆ…ขๅ…ฌๅธโ€๏ผš็ป“ๅˆ็–ซๆƒ…ไธŽ่ฟœ็จ‹ๅŠžๅ…ฌ่ƒŒๆ™ฏ๏ผŒๅฑ•็คบๅฆ‚ไฝ•้€š่ฟ‡็ฒพ็ฎ€็ป„็ป‡ๅ’Œๅˆ†ๅธƒๅผๅไฝœ๏ผŒๅœจไธ็กฎๅฎš็š„ๆ—ถไปฃไฟๆŒ็จณๅฎš็š„็Žฐ้‡‘ๆต"]},{id:"book-013",title:"ๅš้šพ่€Œๆญฃ็กฎ็š„ไบ‹๏ผš่ฟ›ๆญฅๆœ€ๅฟซ็š„ๆ–นๅผ",author:"ๅฐค้‡Œยท่Žฑๆ–‡",cover:"https://cdn.weread.qq.com/weread/cover/53/cpplatform_bunxjyygj8m9stnwcgwqqk/t6_cpplatform_bunxjyygj8m9stnwcgwqqk1728876401.jpg",wereadLink:"https://weread.qq.com/web/reader/aa032fb0813ab9461g018406#outline?noScroll=1",link:"https://book.douban.com/subject/37054102/",tags:["ๅˆ›ไธš","ไบงๅ“ๆ€็ปด","ๅ•†ไธš็ฎก็†"],desc:"Waze่”ๅˆๅˆ›ๅง‹ไบบๅฐค้‡Œยท่Žฑๆ–‡ๅ†™็ป™ๅˆ›ไธš่€…ๅ’Œ็ฎก็†่€…็š„่กŒๅŠจๆŒ‡ๅ—ใ€‚ไฝœ่€…็ป“ๅˆ่ฟž็ปญๆ‰“้€ ไธคๅฎถไผฐๅ€ผ่ถ…10ไบฟ็พŽๅ…ƒๅ…ฌๅธ็š„ๅฎžๆˆ˜็ป้ชŒ๏ผŒๆๅ‡บโ€œๅ…ˆๅš้šพไบ‹ใ€ๅ†ๅšๆญฃ็กฎไบ‹โ€็š„ๆ ธๅฟƒๅ“ฒๅญฆใ€‚ๅ…จไนฆ้€š่ฟ‡13ไธช้˜ถๆฎต็š„็ณป็ปŸๆ‹†่งฃ๏ผŒๆŒ‡ๅฏผ่ฏป่€…ๅฆ‚ไฝ•ๅฏปๆ‰พ็œŸๆญฃ็š„็”จๆˆท็—›็‚นใ€ๆž„ๅปบ้ซ˜ไปทๅ€ผไบงๅ“๏ผŒๅนถๅœจไธ็กฎๅฎš็š„็Žฏๅขƒไธญ้€š่ฟ‡ไธๆ–ญๅค็›˜ๅฎž็Žฐ่ทจ่ถŠๅผๆˆ้•ฟใ€‚",rating:4.9,highlights:["ไธ–็•Œ็บงๅˆ›ไธš่€…็š„ๅฎžๆˆ˜ๅค็›˜๏ผš่ฟž็ปญๆ‰“้€ ไธคๅฎถ็‹ฌ่ง’ๅ…ฝๅ…ฌๅธ็š„ๅˆ›ๅง‹ไบบไบฒๆŽˆ๏ผŒๆไพ›ๆžๅ…ทๅฏไฟกๅบฆ็š„็ฌฌไธ€ๆ‰‹ๅ•†ไธšๆดžๅฏŸไธŽ่ฝๅœฐ็ป้ชŒ","่ทต่กŒโ€œ้šพ่€Œๆญฃ็กฎโ€็š„ๆ ธๅฟƒๅ“ฒๅญฆ๏ผšๅผบ่ฐƒไธ่ฟฝ้€็ŸญๆœŸ็ƒญ็‚น๏ผŒ่€Œๆ˜ฏๅŽป่งฃๅ†ณๆ•ˆ็އๆžไฝŽๅด่ขซๅฟฝ่ง†็š„็—›็‚น๏ผŒไปฅๆญคๅปบ็ซ‹ๅšๅฎž็š„ๅ•†ไธšๆŠคๅŸŽๆฒณ","่ฆ†็›–ไปŽ0ๅˆฐ1็š„ๅ…จๅ‘จๆœŸๆŒ‡ๅ—๏ผš็ณป็ปŸๆ‹†่งฃไปŽๅฏปๆ‰พ็—›็‚นใ€ไบงๅ“ๆž„ๅปบใ€่ž่ต„่ฟไฝœๅˆฐๅ›ข้˜Ÿ็ฎก็†็š„13ไธชๅ…ณ้”ฎ้˜ถๆฎต๏ผŒๆไพ›ๅฏๆ“ไฝœ็š„่กŒๅŠจๆธ…ๅ•","็›ด้ขๅคฑ่ดฅ็š„ๅฟƒ็†้Ÿงๆ€งๅปบ่ฎพ๏ผšไธๅ›ž้ฟๆŒซๆŠ˜๏ผŒๅฐ†โ€œไปŽ้”™่ฏฏไธญๅญฆไน โ€ๆ็‚ผไธบๆ ธๅฟƒๆ–นๆณ•๏ผŒไธบ่บซๅค„้ซ˜ๅŽ‹็Žฏๅขƒ็š„่ฏป่€…ๆไพ›ๆƒ…ๆ„Ÿๅ…ฑ้ธฃไธŽๅฟƒ็†ๆ”ฏๆŒ","ๅนฟๆณ›็š„่ทจๅœบๆ™ฏๅบ”็”จไปทๅ€ผ๏ผšไนฆไธญ็ป™ๅ‡บ็š„ๅ†ณ็ญ–ๅทฅๅ…ทไธไป…้€‚็”จไบŽๅˆๅˆ›ๅ›ข้˜Ÿ๏ผŒๅŒๆ ท่ƒฝไธบๅคงๅ…ฌๅธๅ†…้ƒจๅˆ›ๆ–ฐๅŠไธชไบบ่Œไธš่ฎค็Ÿฅๅ‡็บงๆไพ›ๆŒ‡ๅฏผ"]},{id:"book-015",title:"ๅˆ›ๆ–ฐๅ…ฌๅธ๏ผš็šฎๅ…‹ๆ–ฏ็š„ๅฏ็คบ",author:"่‰พๅพทยทๅก็‰นๅง†",cover:"https://cdn.weread.qq.com/weread/cover/20/YueWen_814380/t6_YueWen_814380.jpg",wereadLink:"https://weread.qq.com/web/reader/2ef329605c6d2c2efeeb70d#outline?noScroll=1",link:"https://book.douban.com/subject/26314955/",tags:["ๅˆ›ๆ–ฐๆ€็ปด","็ป„็ป‡ๆ–‡ๅŒ–","ไผไธš็ฎก็†"],desc:"็šฎๅ…‹ๆ–ฏ่”ๅˆๅˆ›ๅง‹ไบบ่‰พๅพทยทๅก็‰นๅง†็ป“ๅˆใ€Š็Žฉๅ…ทๆ€ปๅŠจๅ‘˜ใ€‹ใ€Šๆœบๅ™จไบบ็“ฆๅŠ›ใ€‹็ญ‰็ปๅ…ธๅŠจ็”ป็š„ๅน•ๅŽๅˆถไฝœๆ•…ไบ‹๏ผŒๆทฑๅบฆๆญ็คบไบ†็šฎๅ…‹ๆ–ฏๅฆ‚ไฝ•้•ฟๆœŸไฟๆŒๅˆ›ๆ„้ข†ๅ…ˆ็š„็ง˜ๅฏ†ใ€‚ๆœฌไนฆไธไป…่ฏฆ่ฟฐไบ†็šฎๅ…‹ๆ–ฏไปŽๅˆๅˆ›ๅˆฐๅฃฎๅคง็š„ๅކ็จ‹๏ผŒๆ›ดๆŠฝไธๅ‰ฅ่Œงๅœฐ่งฃๆžไบ†ๅ…ถๅœจๅ›ข้˜Ÿๆ–‡ๅŒ–ใ€่ทจ้ƒจ้—จๅไฝœใ€ไบบๆ‰ๅŸนๅ…ปๅ’Œๅ…่ฎธๅคฑ่ดฅ็ญ‰ๆ–น้ข็š„็‹ฌ็‰นๅˆ›ๆ„็ฎก็†ๆœบๅˆถ๏ผŒไธบๅ„็ฑป็ป„็ป‡ๆไพ›ไบ†ๅฏๅคๅˆถ็š„ๅˆ›ๆ–ฐๆŒ‡ๅ—ใ€‚",rating:4.5,highlights:["ๆญ็ง˜โ€œ็šฎๅ…‹ๆ–ฏๅฅ‡่ฟนโ€่ƒŒๅŽ็š„็ฎก็†ๅ“ฒๅญฆ๏ผš้€š่ฟ‡14้ƒจ็ปๅ…ธๅŠจ็”ป็š„็œŸๅฎžๅน•ๅŽๆ•…ไบ‹๏ผŒๅฑ•็คบๅˆ›ๆ„ไปŽๆ— ๅˆฐๆœ‰ใ€ๅ†ๅˆฐ็ฅจๆˆฟๅฃ็ข‘ๅŒ่ตข็š„ๅ…จ่ฟ‡็จ‹","ๆทฑๅบฆ่งฃๆžๅˆ›ๆ–ฐๅœŸๅฃค็š„ๆญๅปบ๏ผš้˜่ฟฐๅฆ‚ไฝ•้€š่ฟ‡ๅ…่ฎธๅคฑ่ดฅ็š„ๆ–‡ๅŒ–ใ€ๆต็จ‹่ฎพ่ฎกๅ’Œๆฟ€ๅŠฑๆœบๅˆถ๏ผŒๅฐ†โ€œไธๆ–ญๆŽจๅŠจๅˆ›ๆ–ฐโ€ๅฝปๅบ•่žๅ…ฅๅ…ฌๅธDNA","ๆไพ›่ทจ่กŒไธšๅฏๅค็”จ็š„็ฎก็†ๅทฅๅ…ท๏ผšๆ€ป็ป“้กน็›ฎ็ซ‹้กนใ€่ทจ้ƒจ้—จๅไฝœไธŽ้ฃŽ้™ฉๆŽงๅˆถ็š„ๅ…ทไฝ“ๅšๆณ•๏ผŒไธบไธๅŒ่ง„ๆจกๅ’Œ่กŒไธš็š„ไผไธšๆไพ›่ฝๅœฐ็š„ๅฎžๆˆ˜ๆจกๆฟ"]},{id:"book-017",title:"้‡ๆฅ๏ผšๆ›ดไธบ็ฎ€ๅ•็š„ๅ•†ไธšๆ€็ปด",author:"่ดพๆฃฎยทๅผ—้‡Œๅพท / ๆˆด็ปดยทๆตทๆถ…่ฟˆๅฐ”ยทๆฑ‰ๆฃฎ",cover:"https://cdn.weread.qq.com/weread/cover/1/YueWen_635904/t6_YueWen_635904.jpg",wereadLink:"https://weread.qq.com/web/reader/0363228059b4000363b29e9#outline?noScroll=1",link:"https://book.douban.com/subject/5320866/",tags:["ๅ•†ไธšๆ€็ปด","ๅˆ›ไธš","ไผไธš็ฎก็†","ๆž็ฎ€ไธปไน‰"],desc:"37signals่”ๅˆๅˆ›ๅง‹ไบบๅŸบไบŽๅๅนดๅˆ›ไธšๅฎžๆˆ˜็ป้ชŒ๏ผŒๅ†™็ป™่ŒๅœบไบบไธŽๅˆ›ไธš่€…็š„ๆž็ฎ€ๅ•†ไธšๆณ•ๅˆ™ใ€‚ๆœฌไนฆๆ‘’ๅผƒไบ†ไผ ็ปŸ็š„MBAๆœฏ่ฏญไธŽๅคๆ‚็š„ๅ•†ไธšๆ•™ๆก๏ผŒไปฅโ€œ่พ›่พฃใ€็›ดๆŽฅใ€้ ่ฐฑโ€็š„่ฏญ่จ€๏ผŒ้ข ่ฆ†ไบ†ๅ…ณไบŽ้กน็›ฎ็ฎก็†ใ€ไบบๆ‰ๆ‹›่˜ใ€ไบงๅ“่ฎพ่ฎกไธŽไผไธšๆ–‡ๅŒ–็š„ๅธธ่ง„่ฎค็Ÿฅ๏ผŒๆ•™ๅฏผ่ฏป่€…ๅฆ‚ไฝ•ๅœจ็œŸๅฎž็š„ๅ•†ไธšไธ–็•Œไธญโ€œๅšๆ›ดๅฐ‘๏ผŒไฝ†ๅˆ›้€ ๆ›ดๅคšไปทๅ€ผโ€ใ€‚",rating:4.3,highlights:["้ข ่ฆ†ไผ ็ปŸ็š„ๆž็ฎ€ๅ•†ไธšๅ“ฒๅญฆ๏ผšๅๅ›ๅคๆ‚็š„ๅ•†ไธšๆ•™ๆก๏ผŒไธปๅผ โ€œๅšๆ›ดๅฐ‘๏ผŒๅˆ›้€ ๆ›ดๅคšโ€๏ผŒ้€š่ฟ‡ๆœ€ๅฐๅฏ่กŒๆญฅ้ชค้™ไฝŽ่ฏ•้”™ๆˆๆœฌๅนถๅฟซ้€Ÿ่ฟญไปฃ","ๆบ่‡ช37signals็š„ๅๅนดๅฎžๆˆ˜็ฒพ้ซ“๏ผš่ฆ†็›–ไปŽ้กน็›ฎ็ฎก็†ใ€ไบงๅ“่ฎพ่ฎกๅˆฐๅธ‚ๅœบ่ฅ้”€็š„ๅฎŒๆ•ด้“พๆก๏ผŒๆไพ›ไธ่ฎฒๅบŸ่ฏใ€ๆ‹ฟๆฅๅณ็”จ็š„่กŒๅŠจๆŒ‡ๅ—","้‡ๅก‘่ŒๅœบไธŽๅ›ข้˜Ÿ็ฎก็†็š„่ฎค็Ÿฅ๏ผšๆๅ‡บ่ฏธๅคšๅŠกๅฎžไธ”ๅๅธธ่ง„็š„่ง‚็‚น๏ผˆๅฆ‚ไธฅ่‹›็š„็ฎ€ๅކ็ญ›้€‰ๆ ‡ๅ‡†๏ผ‰๏ผŒๆ‰“้€ ๅŸบไบŽไฟกไปปไธŽ็ป“ๆžœๅฏผๅ‘็š„้ซ˜ๆ•ˆๅ›ข้˜Ÿ","้€‚็”จ้ขๆžๅนฟ็š„ๅฎžๆ“ๆ‰‹ๅ†Œ๏ผšๆ— ่ฎบๆ˜ฏๅฏปๆฑ‚็ช็ ด็š„็ฒพ่‹ฑไผไธšๅฎถใ€ๅฐๅ›ข้˜Ÿๅˆ›ไธš่€…๏ผŒ่ฟ˜ๆ˜ฏๆธดๆœ›ๆๅ‡ๅทฅไฝœๆ•ˆ็އ็š„ๆ™ฎ้€š่Œๅœบไบบ๏ผŒ้ƒฝ่ƒฝ็›ดๆŽฅๅฏน็…ง่ฝๅœฐ"]},{id:"book-018",title:"้‡ๆฅ2๏ผšๆ›ดไธบ็ฎ€ๅ•้ซ˜ๆ•ˆ็š„่ฟœ็จ‹ๅทฅไฝœๆ–นๅผ",author:"่ดพๆฃฎยทๅผ—้‡Œๅพท / ๆˆด็ปดยทๆตทๆถ…่ฟˆๅฐ”ยทๆฑ‰ๆฃฎ",cover:"https://cdn.weread.qq.com/weread/cover/38/YueWen_635721/t6_YueWen_635721.jpg",wereadLink:"https://weread.qq.com/web/reader/46b3220059b34946b517012#outline?noScroll=1",link:"https://book.douban.com/subject/25861795/",tags:["ไผไธš็ฎก็†","่ฟœ็จ‹ๅทฅไฝœ","ๅทฅไฝœๆ–นๅผ","ๅ›ข้˜Ÿๅไฝœ"],desc:"Basecamp๏ผˆๅŽŸ37signals๏ผ‰ๅˆ›ๅง‹ไบบๅŸบไบŽ่‡ช่บซๅ›ข้˜Ÿๅคšๅนด็š„ๅ…จ็ƒๅˆ†ๅธƒๅผๅไฝœ็ป้ชŒ๏ผŒไธบไผไธšๅ’Œไธชไบบๆไพ›็š„ไธ€ๅฅ—่ฟœ็จ‹ๅทฅไฝœโ€œๆ€ๆƒณๅ‡็บงๅŒ…โ€ใ€‚ๆœฌไนฆ็›ด้ข่กŒไธšไบ‰่ฎฎ๏ผŒ็ ด่งฃไบ†โ€œๅˆ›ๆ–ฐๅช่ƒฝ้ขๅฏน้ขโ€ๅŠโ€œๆ–‡ๅŒ–ไผšๆทกๅŒ–โ€็ญ‰ๅธธ่ง่ฏฏๅŒบ๏ผŒๅนถ็ณป็ปŸๆไพ›ไบ†ๅ€ŸๅŠฉๅผ‚ๆญฅๆฒŸ้€šใ€ๅไฝœๅทฅๅ…ทไธŽๆต็จ‹่ฎพ่ฎกๆฅๆ‰“้€ ้ซ˜ๆ•ˆใ€ไบบๆ€งๅŒ–่ฟœ็จ‹ๅ›ข้˜Ÿ็š„ๅฎžๆˆ˜ๆŒ‡ๅ—ใ€‚",rating:4.1,highlights:["ๆไพ›ๆ€ๆƒณๅฑ‚้ข็š„โ€œๅ‡็บงๅŒ…โ€๏ผš็›ดๅ‡ปไผ ็ปŸๅŠžๅ…ฌๅฎค็—›็‚น๏ผŒ็”จ็œŸๅฎžๆ•ฐๆฎไธŽๅไพ‹ๆ‰“็ ดๅ…ณไบŽ่ฟœ็จ‹ๅŠžๅ…ฌ็š„ๅ›บๆœ‰่ฎค็Ÿฅ่ฏฏๅŒบ","็ฌฌไธ€ๆ‰‹็š„ๅˆ†ๅธƒๅผๅ›ข้˜Ÿ็ฎก็†็ป้ชŒ๏ผšBasecampๅˆ›ๅง‹ไบบไบฒๆŽˆ๏ผŒๅฑ•็คบๅฆ‚ไฝ•็ช็ ดๅœฐๅŸŸ้™ๅˆถๆ‹›ๅ‹Ÿ้กถๅฐ–ไบบๆ‰๏ผŒๅนถไฟๆŒๅฅๅบทใ€้ซ˜ๆ•ˆ็š„ๅทฅไฝœ่Š‚ๅฅ","็ณป็ปŸๅฏ่ฝๅœฐ็š„ๅทฅๅ…ทไธŽๆต็จ‹ๆ–นๆณ•๏ผš่ฏฆ่ฟฐๅฆ‚ไฝ•ๅˆฉ็”จๅไฝœๅทฅๅ…ท้™ไฝŽ็ฎก็†ๆˆๆœฌ๏ผŒ่ฎฉ่ฟœ็จ‹ๅทฅไฝœไปŽโ€œ็‰นๆฎŠ็ฆๅˆฉโ€็œŸๆญฃ่ฝฌๅ˜ไธบๅฏๆŒ็ปญ็š„ไธปๆต็ป„็ป‡ๆจกๅผ"]},{id:"book-019",title:"้‡ๆฅ3๏ผšๅšๅพ—ๆ›ดๅฐ‘๏ผŒไฝ†่ตšๅพ—ๆ›ดๅคš",author:"่ดพๆฃฎยทๅผ—้‡Œๅพท / ๆˆด็ปดยทๆตทๆถ…่ฟˆๅฐ”ยทๆฑ‰ๆฃฎ",cover:"https://cdn.weread.qq.com/weread/cover/62/cpplatform_tqth8pnlq8h9ing5uciwhi/t6_cpplatform_tqth8pnlq8h9ing5uciwhi1748502715.jpg",wereadLink:"https://weread.qq.com/web/reader/b6a32ed0813ab9fb5g015181#outline?noScroll=1",link:"https://book.douban.com/subject/37367276/",tags:["ๅทฅไฝœๆ–นๅผ","ๅๅ†…ๅท","ไผไธšๆ–‡ๅŒ–"],desc:"Basecampๅˆ›ๅง‹ไบบๅธฆๆฅ็š„โ€œๅๅ†…ๅทโ€ไธŽโ€œๅ่ฟ‡ๅบฆๅฟ™็ขŒโ€็š„็ฎก็†ๆŒ‡ๅ—ใ€‚ไฝœ่€…ๅŸบไบŽ่ฟ‘20ๅนดๅธฆ้ข†54ไบบๅ›ข้˜ŸๆœๅŠกๅ…จ็ƒ10ไธ‡ๅฎถไผไธš็š„ๆˆๅŠŸ็ป้ชŒ๏ผŒ็›ดๅ‡ป็Žฐไปฃไผไธš็›ฒ็›ฎๆ‰ฉๅผ ใ€ๆ— ๆ•ˆๅŠ ็ญ็ญ‰ๅ…ซๅคง็—‡็ป“ใ€‚ๅ…จไนฆไธปๅผ ไปฅโ€œๅ†ท้™โ€้ข ่ฆ†โ€œๅฟ™็ขŒโ€ๆ–‡ๅŒ–๏ผŒๆŒ‡ๅฏผไผไธšๅ’Œไธชไบบ้€š่ฟ‡40ๅฐๆ—ถๅทฅไฝœๅˆถใ€ๆ‹’็ปKPIๅ’Œๅผ‚ๆญฅๆฒŸ้€š็ญ‰ๆž็ฎ€ๆ–นๅผ๏ผŒๅœจไธ็‰บ็‰ฒ็”Ÿๆดป่ดจ้‡็š„ๅ‰ๆไธ‹ๅฎž็Žฐๅฅๅบทๅ‘ๅฑ•ไธŽๆŒ็ปญ็›ˆๅˆฉใ€‚",rating:4.2,highlights:["ไปฅโ€œๅ†ท้™โ€้ข ่ฆ†โ€œๅฟ™็ขŒโ€ๆ–‡ๅŒ–๏ผšๅ€กๅฏผ้ซ˜ๆ•ˆๆฏ”้ซ˜ไบงๆ›ด้‡่ฆ๏ผŒ็”จ็จณๅฎš็š„่Š‚ๅฅๆ›ฟไปฃ็–ฏ็‹‚ๅŠ ็ญ็š„ๅ†…ๅทๅธธๆ€","็›ดๅ‡ป็Žฐไปฃไผไธšๅ…ซๅคง็—‡็ป“๏ผšๆทฑๅบฆ่ฏŠๆ–ญๅฟซ้€Ÿๆ‰ฉๅผ ใ€ๆ— ๆ•ˆๅŠ ็ญใ€ไผš่ฎฎๆณ›ๆปฅไธŽ็›ฎๆ ‡็ป‘ๆžถ็ญ‰็—›็‚น๏ผŒๆไพ›ๅฏน็—‡ไธ‹่ฏ็š„ๆ€่ทฏ","ๆไพ›ๅ››ๅคงๅฏ่ฝๅœฐ็š„็ฎก็†ๅทฅๅ…ท๏ผšๅผ•ๅ…ฅ40ๅฐๆ—ถๅทฅไฝœๅˆถใ€ๆ‹’็ป็กฌๆ€งKPIใ€ๆŽจ่กŒ้žๅฎžๆ—ถๆฒŸ้€š๏ผŒๅšๆŒๅˆฉๆถฆไผ˜ๅ…ˆไบŽ่ง„ๆจก","ๆบ่‡ชBasecamp็š„็œŸๅฎžๅๅ‘ๆกˆไพ‹๏ผšๅฑ•็คบโ€œๅฐ่€Œ็พŽโ€ๅ›ข้˜Ÿๅฆ‚ไฝ•้€š่ฟ‡โ€œๅฐ‘ๅšไฝ†ๅšๅฅฝโ€็š„็ญ–็•ฅ๏ผŒ่ท‘่ตขๆ–ฐ็ปๆตŽๅนถไฟๆŒ้ซ˜ๅˆฉๆถฆ"]}],Ye=[{id:"book-024",title:"่ฆไบ‹็ฌฌไธ€",author:"ๅฒ่’‚่ŠฌยทๆŸฏ็ปด / ็ฝ—ๆฐยทๆข…้‡Œๅฐ” / ไธฝ่ดๅกยทๆข…้‡Œๅฐ”",cover:"https://cdn.weread.qq.com/weread/cover/57/yuewen_33091834/t6_yuewen_330918341686208943.jpg",wereadLink:"https://weread.qq.com/web/reader/f523268071f8f0faf52b806#outline?noScroll=1",link:"https://book.douban.com/subject/1028372/",tags:["ๆ—ถ้—ด็ฎก็†","่‡ชๆˆ‘็ฎก็†","็ปๅ…ธๆ€็ปด"],desc:"ไฝœไธบใ€Š้ซ˜ๆ•ˆ่ƒฝไบบๅฃซ็š„ไธƒไธชไน ๆƒฏใ€‹็š„ๅปถไผธไธŽๅŠ ๅผบ็‰ˆ๏ผŒๆœฌไนฆๆๅ‡บไบ†้ข ่ฆ†ไผ ็ปŸ็š„โ€œ็ฌฌๅ››ไปฃๆ—ถ้—ด็ฎก็†โ€ๆ–นๆณ•ใ€‚ไฝœ่€…ๅผบ่ฐƒ๏ผŒๆฏ”ๆๅ‡ๅšไบ‹้€Ÿๅบฆ๏ผˆๆ—ถ้’Ÿ๏ผ‰ๆ›ด้‡่ฆ็š„ๆ˜ฏๆ‰พๅ‡†ไบบ็”Ÿ็š„ๆ–นๅ‘๏ผˆ็ฝ—็›˜๏ผ‰ใ€‚ๅ…จไนฆๆŒ‡ๅฏผ่ฏป่€…้€š่ฟ‡่‡ชๆˆ‘ๆ„่ฏ†็š„่ง‰้†’๏ผŒไปฅๅŽŸๅˆ™ๅ’Œไปทๅ€ผ่ง‚ไธบไธญๅฟƒ๏ผŒๅฐ†็ฒพๅŠ›่š็„ฆไบŽโ€œ้‡่ฆ่€Œไธ็ดงๆ€ฅโ€็š„้•ฟๆœŸ็›ฎๆ ‡ไธŠ๏ผŒไปŽ่€Œๅœจ็นๅฟ™็š„็Žฐไปฃ็”Ÿๆดปไธญ็œŸๆญฃๅšๅˆฐโ€œ่ฆไบ‹็ฌฌไธ€โ€ใ€‚",rating:4.5,highlights:["ไปŽโ€œๆ—ถ้’Ÿโ€ๅˆฐโ€œ็ฝ—็›˜โ€็š„ๆ€็ปด่ทจ่ถŠ๏ผšๆ‰“็ ดไธ€ๅ‘ณ่ฟฝๆฑ‚โ€œๆ›ดๅฟซใ€ๆ›ดๅŠชๅŠ›โ€็š„ไผ ็ปŸๆ•ˆ็އ่ฟทๆ€๏ผŒ็กฎ็ซ‹ไบบ็”Ÿๆ–นๅ‘ไผ˜ๅ…ˆ็š„ๅ“ฒๅญฆ","็ปๅ…ธ็š„ๅ››่ฑก้™ๆ—ถ้—ด็ฎก็†็Ÿฉ้˜ต๏ผšๅผ•ๅฏผ่ฏป่€…่ทณๅ‡บ็ดงๆ€ฅไบ‹ๅŠก็š„โ€œๆ•‘็ซๅœˆโ€๏ผŒๅฐ†ๆ ธๅฟƒ็ฒพๅŠ›ๅ€พๆณจไบŽ็ฌฌไบŒ่ฑก้™๏ผˆ้‡่ฆไฝ†ไธ็ดงๆ€ฅ๏ผ‰็š„้ซ˜ไปทๅ€ผไบ‹ๅŠกไธญ","็”ŸๅŠจ็š„โ€œๅคง็Ÿณๅ—โ€ไผ˜ๅ…ˆๆณ•ๅˆ™๏ผš้€š่ฟ‡โ€œๅ…ˆๆ”พ็Ÿณๅคดๅ†ๅ€’ๆฐดโ€็š„็›ด่ง‚ๆฏ”ๅ–ป๏ผŒ็กฎไฟๅ…ณ้”ฎ็›ฎๆ ‡ไธŽๆ ธๅฟƒไฝฟๅ‘ฝๅœจ็ขŽ็‰‡ๅŒ–ๆ—ฅ็จ‹ไธญๅพ—ๅˆฐ็ปๅฏน็š„ไผ˜ๅ…ˆ่ฝๅฎž","ไปฅๅŽŸๅˆ™ไธบไธญๅฟƒ็š„่‡ชๆˆ‘้ฉฑๅŠจๆก†ๆžถ๏ผšไธไป…ๆไพ›ๆ—ฅ็จ‹ๅฎ‰ๆŽ’ๅทฅๅ…ท๏ผŒๆ›ด้€š่ฟ‡ๅ”ค้†’่‰ฏ็Ÿฅ๏ผŒๅธฎๅŠฉ่ฏป่€…ๅœจๅทฅไฝœใ€ๅฎถๅบญ็ญ‰ๅคšๅ…ƒ่ง’่‰ฒไธญๅฎž็Žฐ็œŸๆญฃ็š„ๅนณ่กกไธŽ็ปŸๅˆ็ปผๆ•ˆ"]},{id:"book-025",title:"ๆธ…ๅ•้ฉๅ‘ฝ",author:"้˜ฟๅ›พยท่‘›ๆ–‡ๅพท",cover:"https://cdn.weread.qq.com/weread/cover/12/cpPlatform_rudGZN3LDW5m9FBYr7rMBA/t6_cpPlatform_rudGZN3LDW5m9FBYr7rMBA.jpg",wereadLink:"https://weread.qq.com/web/reader/18332f80813ab7292g010065#outline?noScroll=1",link:"https://book.douban.com/subject/27168564/",tags:["็ฎก็†ๅญฆ","่ฎค็Ÿฅ็ง‘ๅญฆ","ๅทฅไฝœๆ•ˆ็އ"],desc:"่ฟ™ๆ˜ฏไธ€้ƒจ้’ˆๅฏน็Žฐไปฃๅคๆ‚ไธ–็•Œๆ‰€ๆ’ฐๅ†™็š„โ€œ่ฎค็Ÿฅ้˜ฒๆŠคๆ‰‹ๅ†Œโ€ใ€‚ไฝœ่€…้˜ฟๅ›พยท่‘›ๆ–‡ๅพท้€š่ฟ‡ๅŒป็–—ใ€ๅปบ็ญ‘ใ€ๆŠ•่ต„็ญ‰้ซ˜้ฃŽ้™ฉ้ข†ๅŸŸ็š„็œŸๅฎžๆกˆไพ‹๏ผŒๆญ็คบไบ†ไบบ็ฑปๅœจๆตท้‡ไฟกๆฏไธŽ้ซ˜ๅŽ‹็Žฏๅขƒไธ‹ๆžๆ˜“ๅ‡บ็Žฐ็š„ๅˆคๆ–ญ็–ๅฟฝใ€‚ไนฆไธญๆๅ‡บไบ†โ€œๆƒๅŠ›ไธ‹ๆ”พใ€็ฎ€ๅ•่‡ณไธŠใ€ไบบไธบๆ นๆœฌใ€ๆŒ็ปญๆ”นๅ–„โ€ๅ››ๅคงๅŽŸๅˆ™๏ผŒๆŒ‡ๅฏผ่ฏป่€…ๅฐ†ๆœ€ไฝณๅฎž่ทตๅค–ๅŒ–ไธบๅฏๆ“ไฝœ็š„ๆธ…ๅ•๏ผŒไปŽ่€Œๅœจๅคๆ‚็ณป็ปŸไธญๆž„ๅปบไธ€้“ไฝŽๆˆๆœฌใ€้ซ˜ๅ›žๆŠฅ็š„ๅฎ‰ๅ…จ้˜ฒ็บฟใ€‚",rating:4.6,highlights:["็›ด้ขๅคๆ‚ๆ—ถไปฃ็š„่ฎค็Ÿฅ็“ถ้ขˆ๏ผšๆญ็คบๅœจๆตท้‡ไฟกๆฏๆตไธญ๏ผŒๆธ…ๅ•ๅฆ‚ไฝ•ไฝœไธบโ€œ่ฎค็Ÿฅ้˜ฒๆŠค็ฝ‘โ€ๅผฅ่กฅไบบ็ฑป่ฎฐๅฟ†ๅŠ›ไธŽๆณจๆ„ๅŠ›ๅˆ†้…็š„ๅ…ˆๅคฉไธ่ถณ","ๆไพ›ๅ…ผๅ…ท็†ๅฟตไธŽ่ฝๅœฐ็š„ๅ››ๅคงๅŽŸๅˆ™๏ผš้€š่ฟ‡โ€œๆƒๅŠ›ไธ‹ๆ”พใ€็ฎ€ๅ•่‡ณไธŠใ€ไบบไธบๆ นๆœฌใ€ๆŒ็ปญๆ”นๅ–„โ€๏ผŒๆž„ๅปบไธ€ๅฅ—ๅฏๅค็”จ็š„ๆธ…ๅ•่ฎพ่ฎกๅ“ฒๅญฆ","ๆ‰Žๅฎž็š„ๅŒปๅญฆๅฎž่ฏ่ƒŒไนฆ๏ผšไปฅๆ‰‹ๆœฏๆ„ŸๆŸ“็އ้ชค้™็ญ‰็œŸๅฎžไธดๅบŠๆ•ฐๆฎไธบๆ”ฏๆ’‘๏ผŒ่ฏๆ˜Žๆธ…ๅ•ๆ€็ปดๅœจๅŒป็–—ใ€ๅปบ็ญ‘ใ€ๆŠ•่ต„็ญ‰้ซ˜้ฃŽ้™ฉ้ข†ๅŸŸ็š„่ทจ่กŒไธšๆ™ฎ้€‚ๆ€ง","็ฎ€ๆด่€Œๅ…ทๅŠ›้‡็š„ๆต็จ‹ๅˆ›ๆ–ฐ๏ผšๅผบ่ฐƒๆธ…ๅ•ๆœๅŠกไบŽไบบ่€Œ้žๅ–ไปฃไบบ๏ผŒๆ˜ฏๅธฎๅŠฉไธ“ไธšไบบๅฃซๅœจ้ซ˜ๅŽ‹็Žฏๅขƒไธ‹ๅฐ†ๅคๆ‚็Žฏ่Š‚ๆ˜พๆ€งๅŒ–ใ€ๆต็จ‹ๅŒ–็š„ๅฟ…ๅค‡ๅทฅๅ…ท"]},{id:"book-020",title:"ๅˆซ่ฎฉ็Œดๅญ่ทณๅ›ž่ƒŒไธŠ",author:"ๅจๅป‰ยทๅฎ‰่‚ฏไธ‰ไธ–",cover:"https://cdn.weread.qq.com/weread/cover/69/cpPlatform_7fFoBQ7dtqgABGSTskpJSN/t6_cpPlatform_7fFoBQ7dtqgABGSTskpJSN.jpg",wereadLink:"https://weread.qq.com/web/reader/9fc32010813ab7291g0196bd#outline?noScroll=1",link:"https://book.douban.com/subject/36103994/",tags:["ๆ—ถ้—ด็ฎก็†","้ข†ๅฏผๅŠ›","้กน็›ฎ็ฎก็†"],desc:"่ฟ™ๆ˜ฏไธ€้ƒจไปฅโ€œ็Œดๅญโ€็”ŸๅŠจ้šๅ–ปไปปๅŠกไธŽ่ดฃไปป็š„็ปๅ…ธ็ฎก็†ๅญฆ่‘—ไฝœใ€‚ไฝœ่€…ๅจๅป‰ยทๅฎ‰่‚ฏไธ‰ไธ–ๆทฑๅˆปๅ‰–ๆžไบ†็ฎก็†่€…ๅธธ่ขซ็ไบ‹ๆทนๆฒก็š„ๆ—ถ้—ดๅ›ฐๅขƒ๏ผŒๅนถๆๅ‡บ็ณป็ปŸๅŒ–็š„โ€œ็Œดๅญ็ฎก็†ๆณ•โ€ใ€‚้€š่ฟ‡ๆ˜Ž็กฎไปปๅŠกๅฝ’ๅฑžใ€่ดฃไปป้€’ๅ‡ไธŽๆœ‰ๆ•ˆๆŽˆๆƒ๏ผŒๆŒ‡ๅฏผ็ฎก็†่€…ๅฆ‚ไฝ•ๆŠŠไธๅฑžไบŽ่‡ชๅทฑ็š„โ€œ็Œดๅญโ€ไบคๅ‡บๅŽป๏ผŒไปŽ่€Œ้‡Šๆ”พ็ฒพๅŠ›ไธ“ๆณจไบŽๆœ€้ซ˜ไปทๅ€ผ็š„ๆˆ˜็•ฅๆ€่€ƒ๏ผŒๅฎž็Žฐๅ›ข้˜ŸไธŽไธชไบบ็š„ๅ…ฑๅŒๆˆ้•ฟใ€‚",rating:4.3,highlights:["็”ŸๅŠจๆœ‰่ถฃ็š„โ€œ็Œดๅญโ€้šๅ–ป๏ผšๅฐ†ๆžฏ็‡ฅ็š„่ดฃไปปๅˆ’ๅˆ†ไธŽไปปๅŠกๆต่ฝฌๅ…ท่ฑกๅŒ–๏ผŒ็›ดๅ‡ป่Œๅœบไธญโ€œๅฟ™็ขŒๅดไฝŽๆ•ˆโ€็š„็—›็‚น","ๅฎž็”จ้ซ˜ๆ•ˆ็š„โ€œไธ‰ๆญฅไบคๆŽฅโ€ๆณ•ๅˆ™๏ผš้€š่ฟ‡ๆ˜Ž็กฎๆœŸๆœ›ใ€ๆŽˆไบˆ่ต„ๆบไธŽ็บฆๅฎšๆฃ€ๆŸฅ็‚น๏ผŒๅฝปๅบ•้ฟๅ…ไธ‹ๅฑž็š„ๅพ…ๅŠžไปปๅŠก้‡ๆ–ฐ่ทณๅ›ž่‡ชๅทฑ่ƒŒไธŠ","้‡ๅก‘ๆ—ถ้—ด็ฎก็†ไธŽไบบๆ‰ๅŸนๅ…ปไฝ“็ณป๏ผšๆŒ‡ๅฏผ้ซ˜ๅฑ‚ๆ”พๆƒใ€ไธญๅฑ‚่พ…ๅฏผใ€ๅŸบๅฑ‚่‡ชๅ‘๏ผŒๅฐ†ไผไธš็š„ๆˆๅŠŸ็œŸๆญฃๅปบ็ซ‹ๅœจๅ‘˜ๅทฅ่‡ชไธปๆ€ง็š„ๆๅ‡ไน‹ไธŠ"]}],Te=[{id:"book-022",title:"ๅญฆไผšๆ้—ฎ๏ผˆๅŽŸไนฆ็ฌฌ12็‰ˆ๏ผ‰",author:"ๅฐผๅฐ”ยทๅธƒๆœ— / ๆ–ฏๅ›พๅฐ”็‰นยทๅŸบๅˆฉ",cover:"https://cdn.weread.qq.com/weread/cover/68/YueWen_39980443/t6_YueWen_39980443.jpg",wereadLink:"https://weread.qq.com/web/reader/e6832d3072620d9be68aabf#outline?noScroll=1",link:"https://book.douban.com/subject/35513147/",tags:["ๆ‰นๅˆคๆ€งๆ€็ปด","้€ป่พ‘ๅญฆ","่ฎค็Ÿฅ็ง‘ๅญฆ","็ปๅ…ธไนฆ"],desc:"่ฟ™ๆ˜ฏไธ€้ƒจๅŸนๅ…ปๆ‰นๅˆคๆ€งๆ€็ปด็š„็ปๅ…ธๅฎžๆˆ˜ๆŒ‡ๅ—ใ€‚ไฝœ่€…ๅฐผๅฐ”ยทๅธƒๆœ—ไธŽๆ–ฏๅ›พๅฐ”็‰นยทๅŸบๅˆฉ็ป“ๅˆ้•ฟๆœŸ็š„ๆ•™ๅญฆไธŽ็ ”็ฉถๅฎž่ทต๏ผŒๆไพ›ไบ†ไธ€ๅฅ—็ณป็ปŸๅŒ–ใ€ๅฏๆ“ไฝœ็š„ๆ้—ฎๆต็จ‹ใ€‚ๅ…จไนฆ้€š่ฟ‡ๅคง้‡็œŸๅฎžๆƒ…ๅขƒๆกˆไพ‹๏ผŒๆ•™ๅฏผ่ฏป่€…ๅฆ‚ไฝ•ๅœจไฟกๆฏๆณ›ๆปฅ็š„ๆ—ถไปฃ่ฏ†ๅˆซ้šๅซๅ‡่ฎพใ€ๅŒบๅˆ†ไบ‹ๅฎžไธŽ่ง‚็‚น๏ผŒ็”จ้ซ˜่ดจ้‡็š„โ€œๅˆคๆ–ญๆ€ง้—ฎ้ข˜โ€็œ‹้€ไบ‹็‰ฉๆœฌ่ดจ๏ผŒไปŽ่€Œๅšๅ‡บๆ›ด็†ๆ€ง็š„ๅ†ณ็ญ–ใ€‚",rating:5,highlights:["่š็„ฆๆ‰นๅˆคๆ€งๆ€่€ƒ็š„ๆ ธๅฟƒ่ƒฝๅŠ›๏ผš็ณป็ปŸๆ‹†่งฃโ€œๅฆ‚ไฝ•ๆๅ‡บๅฅฝ้—ฎ้ข˜โ€็š„ๆ€็ปด่ฟ‡็จ‹๏ผŒๅธฎๅŠฉ่ฏป่€…ๅœจๅคๆ‚ไฟกๆฏไธญ่ฟ…้€ŸๆŠ“ไฝๆœฌ่ดจ","ๆไพ›ๅฏ่ฝๅœฐ็š„ๆ้—ฎไธŽ่ฏ„ไผฐๆก†ๆžถ๏ผšไปŽ่ƒŒๆ™ฏไฟกๆฏใ€ๅ…ณ้”ฎๆฆ‚ๅฟตๅˆฐ้€ป่พ‘ๆŽจ็†๏ผŒๆž„ๅปบไธ€ๆกๅฎŒๆ•ด็š„ๅˆคๆ–ญๆ€ง้—ฎ้ข˜้“พๆก","ไธฐๅฏŒ็š„็œŸๅฎžๅœบๆ™ฏๅบ”็”จ็คบ่Œƒ๏ผš็ป“ๅˆ่ฏพๅ ‚่ฎจ่ฎบใ€ๅ†™ไฝœใ€ๆ—ฅๅธธๆฒŸ้€šไธŽ่Œๅœบๅ†ณ็ญ–็ญ‰ๅคšๅ…ƒๅœบๆ™ฏ๏ผŒ่ฎฉ็†่ฎบ่ƒฝโ€œ็ซ‹ๅณไธŠๆ‰‹โ€","ๆ‰“้€ ๅฎž็”จ็š„ๆ€่€ƒๆฃ€ๆŸฅๅ•๏ผšไธไป…่ฎฒ้€โ€œๆ้—ฎ็š„ไปทๅ€ผโ€๏ผŒๆ›ดๆไพ›ๅฏ็›ดๆŽฅ่ฝฌๅŒ–ไธบๆ—ฅๅธธไน ๆƒฏ็š„ๆ€็ปดๆฃ€ๆŸฅ่กจ๏ผŒๅŠฉไฝ ๆœ‰ๆ•ˆ้ฟๅผ€่ฎค็Ÿฅ้™ท้˜ฑ"]},{id:"book-026",title:"ๅฆ‚ไฝ•้˜…่ฏปไธ€ๆœฌไนฆ",author:"่Žซๆ้ป˜ยทJ. ่‰พๅพทๅ‹’ / ๆŸฅๅฐ”ๆ–ฏยท่Œƒๅคšไผฆ",cover:"https://wfqqreader-1252317822.image.myqcloud.com/cover/810/23723810/t6_23723810.jpg",wereadLink:"https://weread.qq.com/book-detail?type=1&senderVid=40710128&v=272326407169ff22272934f&wtheme=white&wfrom=app&wvid=40710128&scene=bottomSheetShare",link:"https://book.douban.com/subject/1013208/",tags:["้˜…่ฏปๆ–นๆณ•","ๆ€็ปด่ฎญ็ปƒ","็ปๅ…ธ"],desc:"้˜…่ฏป้ข†ๅŸŸ็š„โ€œๅ…ƒๆ–นๆณ•โ€ๆŒ‡ๅ—ใ€‚ไฝœ่€…่‰พๅพทๅ‹’ไธŽ่Œƒๅคšไผฆๅฐ†้˜…่ฏปๅˆ’ๅˆ†ไธบๅŸบ็ก€้˜…่ฏปใ€ๆฃ€่ง†้˜…่ฏปใ€ๅˆ†ๆž้˜…่ฏปไธŽไธป้ข˜้˜…่ฏปๅ››ไธช่ฟ›้˜ถๅฑ‚ๆฌก๏ผŒๅนถๅผบ่ฐƒ้˜…่ฏปๆ˜ฏไธ€้กนไธปๅŠจ็š„ๆ€่€ƒๆดปๅŠจใ€‚ๆœฌไนฆไธไป…ๆไพ›ไบ†ไปŽโ€œๅฟซ้€Ÿ็•ฅ่ฏปโ€ๅˆฐโ€œ็ณป็ปŸๆ‹†่งฃ่ฎบ็‚นโ€็š„ๅฎžๆ“ๆŠ€ๅทง๏ผŒๆ›ด่‡ดๅŠ›ไบŽ้€š่ฟ‡ๆ้—ฎใ€ๅฝ’็บณไธŽๆ‰นๅˆค๏ผŒๅฐ†้˜…่ฏป่ฝฌๅŒ–ไธบ่ฎญ็ปƒ็†่งฃๅŠ›ใ€ๆ‰นๅˆคๅŠ›ไธŽ็ปˆ่บซๅญฆไน ็š„็ปˆๆžๅทฅๅ…ทใ€‚",rating:5,highlights:["ๆž„ๅปบ็ณป็ปŸ็š„ๅ››็บง้˜…่ฏปๆก†ๆžถ๏ผšไปŽๆฃ€่ง†้˜…่ฏปๅˆฐๅˆ†ๆž้˜…่ฏปๅ†ๅˆฐไธป้ข˜้˜…่ฏป๏ผŒไธบ่ฏป่€…ๆไพ›ไบ†ไธ€ๅฅ—ไปŽๅ…ฅ้—จๅˆฐ็ฒพ้€š็š„่ฟ›้˜ถ่ทฏๅพ„","ๅผบ่ฐƒโ€œไธปๅŠจไธŽๆ‰นๅˆคโ€็š„้˜…่ฏป่ง‚๏ผšๆ‹’็ป่ขซๅŠจๆŽฅๆ”ถ๏ผŒๆ•™ๅฏผ่ฏป่€…ๅฆ‚ไฝ•้€š่ฟ‡ๆ้—ฎใ€ๅฝ’็บณไธŽๅๆ€๏ผŒ็œŸๆญฃๅฐ†ไฝœ่€…็š„ๆดž่ง่ฝฌๅŒ–ไธบ่‡ชๅทฑ็š„่ฎค็Ÿฅ","้ซ˜ๆ•ˆ็š„ๆฃ€่ง†้˜…่ฏปๆŠ€ๅทง๏ผšๆไพ›ๅฆ‚ไฝ•ๅœจๆœ‰้™ๆ—ถ้—ดๅ†…้€š่ฟ‡็œ‹็›ฎๅฝ•ใ€ๆŒ‘้‡็‚น็ญ‰ๆ–นๅผ๏ผŒๅฟซ้€Ÿ็ญ›้€‰ๅนถๅˆคๆ–ญไนฆ็›ฎไปทๅ€ผ็š„ๆ ธๅฟƒ่ƒฝๅŠ›","่ทจๆ—ถไปฃ็š„็ปๅ…ธๆ•ˆ่ƒฝ๏ผš่‡ช1940ๅนด้—ฎไธ–ไปฅๆฅ้•ฟ็››ไธ่กฐ๏ผŒๅ…ถๅฏน้€ป่พ‘ๆ‹†่งฃไธŽๆทฑๅบฆๆ€่€ƒ็š„ๆŒ‡ๅฏผ๏ผŒๆ˜ฏๆๅ‡ๆ‰€ๆœ‰็Ÿฅ่ฏ†ๅธๆ”ถๆ•ˆ็އ็š„โ€œๆ€ปๅผ€ๅ…ณโ€"]},{id:"book-023",title:"ๆฃ€็ดขๅŠ›๏ผšๆ‰“็ ดไฟกๆฏๅทฎ็š„็ง‘ๅญฆๆ–นๆณ•",author:"้พš่Š™่“‰",cover:"https://cdn.weread.qq.com/weread/cover/58/cpplatform_feaxemubry47bnkzylqzwv/t6_cpplatform_feaxemubry47bnkzylqzwv1716796541.jpg",wereadLink:"https://weread.qq.com/web/reader/9de32810813ab8e00g018130#outline?noScroll=1",link:"https://book.douban.com/subject/36899979/",tags:["ไฟกๆฏ็ด ๅ…ป","ๆฃ€็ดข่ƒฝๅŠ›","ๆ€็ปด่ฎค็Ÿฅ"],desc:"ๆœฌไนฆ่š็„ฆโ€œๆฃ€็ดขๅŠ›โ€่ฟ™ไธ€ๆ ธๅฟƒๆŠ€่ƒฝ๏ผŒๆ—จๅœจๅธฎๅŠฉ่ฏป่€…ๅœจไฟกๆฏ่ฟ‡่ฝฝ็š„ๆ—ถไปฃไธปๅŠจๆŽŒๆกโ€œ้€†้ฃŽ่€Œ่กŒโ€็š„ๆœ็ดข่ƒฝๅŠ›ใ€‚ไฝœ่€…้พš่Š™่“‰็ป“ๅˆไบŒๅไฝ™ๅนดๅฎž่ทต็ป้ชŒ๏ผŒ็”จ็”ŸๅŠจ็š„ไบบๆ–‡ไธŽ่ฏบ่ดๅฐ”ๅฅ–็บง็ง‘ๅญฆๆกˆไพ‹๏ผŒๅฐ†ๆžฏ็‡ฅ็š„ๆฃ€็ดขๅทฅๅ…ทๅŒ–ไธบๆœ‰่ถฃ็š„ๆ•…ไบ‹ใ€‚ไธไป…ๆ•™ๆŽˆ้ž็บฟๆ€งใ€่ฟญไปฃๅผ็š„ๆœ็ดขๆŠ€ๅทง๏ผŒๆ›ด่‡ดๅŠ›ไบŽ้‡ๅก‘่ฏป่€…็š„ๆŽข็ฉถ็ฒพ็ฅž๏ผŒ่ต‹ไบˆๅ…ถ่ตฐๅ‡บโ€œไฟกๆฏ่Œงๆˆฟโ€็š„ๅ‹‡ๆฐ”ใ€‚",rating:4.2,highlights:["ไธฐๅฏŒ็š„่ทจๅญฆ็ง‘่ถฃๅ‘ณๆกˆไพ‹้ฉฑๅŠจ๏ผš็”จโ€œๅผ ๅ† ๆŽๆˆด็š„้ฉฌๅ…‹ๆ€ๅ่จ€โ€็ญ‰็”ŸๅŠจๆ•…ไบ‹๏ผŒๅฐ†ๆžฏ็‡ฅ็น็็š„ๆฃ€็ดขๆญฅ้ชค่ฝฌๅŒ–ไธบ่ฝปๆพ็š„ๆŽข็ดขไน‹ๆ—…","้‡ๅก‘้ž็บฟๆ€งไธŽ่ฟญไปฃ็š„ๆœ็ดขๆ€็ปด๏ผšๆ‰“็ ดๆŒ‰้ƒจๅฐฑ็ญ็š„็บฟๆ€งๆต็จ‹่ฏฏๅŒบ๏ผŒๅปบ็ซ‹ไปฅ่€ๅฟƒไธŽ็ƒญๆƒ…้ฉฑๅŠจ็š„ๅคš่ฝฎ่ฟญไปฃๆœ็ดขๅฟƒๆ€","็›ดๅ‡ป็ง‘็ ”ไธŽ่Œๅœบ็š„ๅฎž็”จ็—›็‚น๏ผšๆไพ›ๅฏๅฟซ้€Ÿ่ฝๅœฐ็š„ๅฎžๆ“ๆŒ‡ๅ—๏ผŒๅธฎๅŠฉ่ฏป่€…ๅˆ‡ๅฎž็ผฉ็Ÿญ็ง‘็ ”ๅ‘จๆœŸใ€ๅคงๅน…ๆๅ‡ๅทฅไฝœๆ•ˆ็އ","ๅ…ผ้กพๆŠ€่ƒฝ่ฎญ็ปƒไธŽไบบๆ–‡ๅบ•่‰ฒ๏ผšๅœจๆ•™ๆŽˆๅฆ‚ไฝ•ๅˆฉ็”จๅ’Œๅˆ›้€ ไฟกๆฏ็š„ๅŒๆ—ถ๏ผŒๆณจ้‡ๅŸนๅ…ป่ฏป่€…็š„ไฟกๆฏ็ด ๅ…ปไธŽๆ‰“็ ดไฟกๆฏๅทฎ็š„่ฎค็Ÿฅๅ‹‡ๆฐ”"]},{id:"book-027",title:"ๅŽŸๅˆ™",author:"็‘žยท่พพๅˆฉๆฌง",cover:"https://cdn.weread.qq.com/weread/cover/23/YueWen_921568/t6_YueWen_921568.jpg",wereadLink:"https://weread.qq.com/web/reader/848324405e0fe08483ab6a4#outline?noScroll=1",link:"https://book.douban.com/subject/27608239/",tags:["ๆŠ•่ต„","ๆ–นๆณ•่ฎบ","่‡ชๆˆ‘็ฎก็†"],desc:"ๆกฅๆฐดๅŸบ้‡‘ๅˆ›ๅง‹ไบบ็‘žยท่พพๅˆฉๆฌงๆ€ป็ป“ๅ››ๅไฝ™ๅนดๆŠ•่ต„ใ€็ฎก็†ไธŽไบบ็”Ÿ็ป้ชŒ็š„้›†ๅคงๆˆไน‹ไฝœใ€‚ไฝœ่€…ๆๅ‡บๅฐ†็”Ÿๆดปๅ’Œๅทฅไฝœๅƒๆœบๅ™จไธ€ๆ ท็ณป็ปŸๅŒ–๏ผŒ็กฎ็ซ‹ไบ†โ€œๆžๅบฆๆฑ‚็œŸโ€ไธŽโ€œๆžๅบฆ้€ๆ˜Žโ€ไธคๅคงๅŸบ็Ÿณ๏ผŒๅนถ้€š่ฟ‡โ€œๅˆ›ๆ„ๆ‹ฉไผ˜โ€ไธŽโ€œๅŸบไบŽๅฏไฟกๅบฆ็š„ๅ†ณ็ญ–ๆœบๅˆถโ€ๆฅ่ฟญไปฃๆ€็ปดใ€‚ไนฆไธญๅŒ…ๅซ500ๅคšๆกๅฏๆ“ไฝœๅŽŸๅˆ™๏ผŒๆ—จๅœจๅธฎๅŠฉ่ฏป่€…ๅœจๅคๆ‚ไธ–็•ŒไธญไฟๆŒๅผ€ๆ”พๅฟƒๆ€ใ€็œ‹ๆธ…็Žฐๅฎž๏ผŒๅนถๅšๅ‡บๆœ€ไผ˜ๅ†ณ็ญ–ใ€‚",rating:4.8,highlights:["โ€œๆžๅบฆๆฑ‚็œŸโ€ไธŽโ€œๆžๅบฆ้€ๆ˜Žโ€็š„ๅŸบ็Ÿณ๏ผšไธปๅผ ่ฏšๅฎž้ขๅฏน็Žฐๅฎž๏ผŒ้€š่ฟ‡ๅ…ฌๅผ€ๅ†ณ็ญ–่ฟ‡็จ‹ๆฅ่Žทๅ–ๅค–้ƒจๅ้ฆˆ๏ผŒ่พพๆˆ้ซ˜ๆ•ˆๅไฝœ","ๅˆ›ๆ„ๆ‹ฉไผ˜ไธŽๅฏไฟกๅบฆๅŠ ๆƒๆœบๅˆถ๏ผšๆ‘’ๅผƒไธชไบบๆƒๅจ๏ผŒๅˆฉ็”จๆ•ฐๆฎ้ฉฑๅŠจ็š„่ฎจ่ฎบไธŽๅฏไฟกๅบฆๆƒ้‡๏ผŒๅœจๅ›ข้˜Ÿไธญ้€‰ๅ‡บๆœ€ไผ˜ๆ–นๆกˆ","500ไฝ™ๆกๅฏ่ฝๅœฐ็š„ๅŽŸๅˆ™ๆธ…ๅ•๏ผšๆถต็›–่‡ชๆˆ‘่ฎค็Ÿฅใ€ๆŠ•่ต„ๅ†ณ็ญ–ใ€ๅ›ข้˜Ÿๆฒป็†็ญ‰ๅœบๆ™ฏ๏ผŒๆž„ๅปบๅ‡บไธ€ๅฅ—้šๆ—ถๅฏๆŸฅ็š„่กŒๅŠจๆŒ‡ๅ—","็ณป็ปŸๅŒ–็š„โ€œๆœบๅ™จโ€ๆ€็ปด๏ผšๅฐ†็”ŸๆดปไธŽ็ป„็ป‡็ฎก็†ๆ‹†่งฃไธบๅฏ็ปดๆŠคใ€ๅฏ่ฟญไปฃ็š„็ณป็ปŸ๏ผŒๆœ‰ๆ•ˆ่ง„้ฟๆƒ…็ปชๅŒ–ๅนฒๆ‰ฐ"]},{id:"book-031",title:"ไปทๅ€ผ",author:"ๅผ ็ฃŠ",cover:"https://wfqqreader-1252317822.image.myqcloud.com/cover/958/33577958/t6_33577958.jpg",wereadLink:"https://weread.qq.com/web/reader/5be32a3072005be65bef195#outline?noScroll=1",link:"https://book.douban.com/subject/35188914/",tags:["ไปทๅ€ผๆŠ•่ต„","ๅ•†ไธšๆ€็ปด","ๅˆ›ไธš"],desc:"้ซ˜็“ด่ต„ๆœฌๅˆ›ๅง‹ไบบๅผ ็ฃŠ้ฆ–้ƒจไธชไบบๅŠๆŠ•่ต„ๆ€ๆƒณ่‘—ไฝœใ€‚ๅ…จไนฆ้€š่ฟ‡ๅ›ž้กพไฝœ่€…็š„ไธชไบบๆฑ‚ๅญฆไธŽๅˆ›ไธšๅކ็จ‹๏ผŒ็ณป็ปŸ้˜้‡Šไบ†โ€œ้•ฟๆœŸไธปไน‰โ€ไธŽโ€œ้‡ไป“ไธญๅ›ฝโ€็š„ๆ ธๅฟƒๆŠ•่ต„็†ๅฟต๏ผŒๅนถ้ฆ–ๆฌกๆŠซ้œฒไบ†้ซ˜็“ดๆŠ•่ต„็š„ไธƒๅคงๅ…ฌๅผใ€‚ไฝœ่€…ๅฐ†ๅไฝ™ไธชๅ…ธๅž‹ๆŠ•่ต„ๆกˆไพ‹ไธŽไธชไบบไปทๅ€ผไฟฎๅ…ป็›ธ็ป“ๅˆ๏ผŒๆญ็คบไบ†ๅฆ‚ไฝ•ๅœจไธ็กฎๅฎš็š„ๅ•†ไธš็Žฏๅขƒไธญ๏ผŒ้€š่ฟ‡ๅšๆŒๅŽŸๅˆ™ใ€ๆ•ฌ็•่ง„ๅˆ™ไธŽๆŒ็ปญๅˆ›ๆ–ฐ๏ผŒๅˆ›้€ ้•ฟไน…ใ€็œŸๅฎž็š„ไปทๅ€ผใ€‚",rating:4.6,highlights:["็ณป็ปŸๆž„ๅปบ้•ฟๆœŸไธปไน‰ๅ“ฒๅญฆ๏ผš้ฆ–ๆฌก็ณป็ปŸๅŒ–ๆขณ็†โ€œ้ซ˜็“ดไธƒๅคงๅ…ฌๅผโ€๏ผŒไธบ่ฏป่€…ๆไพ›ไปŽ่ฎค็Ÿฅใ€ๅ†ณ็ญ–ๅˆฐๆ‰ง่กŒ็š„ไปทๅ€ผๆŠ•่ต„ๅฎžๆˆ˜ๆจกๅž‹","ๆทฑๅบฆๅค็›˜็ปๅ…ธๅฎžๆˆ˜ๆกˆไพ‹๏ผš้€š่ฟ‡่…พ่ฎฏใ€่ดงๆ‹‰ๆ‹‰็ญ‰็œŸๅฎžๅ•†ไธšๆกˆไพ‹๏ผŒๆ‹†่งฃๅฆ‚ไฝ•ๅœจๅคๆ‚ๅธ‚ๅœบไธญ่ฏ†ๅˆซไผไธšๆŠคๅŸŽๆฒณไธŽๆ ธๅฟƒไปทๅ€ผ","ๆŠ•่ต„ไน‹ๅค–็š„ไบบๆ–‡ๆ€่€ƒ๏ผšๅปถไผธ่‡ณๆ•™่‚ฒใ€ไบบๆ‰ไธŽ็ง‘ๅญฆ่ง‚๏ผŒๅฑ•็Žฐไฝœ่€…ไฝœไธบ้กถๅฐ–ๆŠ•่ต„่€…ๅฏน็คพไผš่ดฃไปปไธŽ้•ฟๆœŸไปทๅ€ผๅˆ›้€ ็š„ๆทฑๅบฆๆ€่€ƒ","ๅฏ่ง†ๅŒ–็š„้˜…่ฏปไฝ“้ชŒ๏ผš็ฒพ้€‰ๅคšๅน…ๆ‰‹็ป˜ๅฝฉๆ’ไธŽๅކๅฒๅฝฑๅƒ๏ผŒๅฐ†ๆทฑๅˆป็š„ๆŠ•่ต„้€ป่พ‘ไธŽไผไธšๆˆ้•ฟๅ™ไบ‹ๅ˜ๅพ—ๆ›ดๅŠ ็”ŸๅŠจใ€็›ด่ง‚"]},{id:"book-032",title:"็บณ็“ฆๅฐ”ๅฎๅ…ธ",author:"ๅŸƒ้‡Œๅ…‹ยทไน”ๆ นๆฃฎ / ็บณ็“ฆๅฐ”ยทๆ‹‰็ปดๅŽ็‰น",cover:"https://cdn.weread.qq.com/weread/cover/89/YueWen_44026191/t6_YueWen_44026191.jpg",wereadLink:"https://weread.qq.com/web/reader/e1e32b00729fc94fe1e824d#outline?noScroll=1",link:"https://book.douban.com/subject/35876121/",tags:["่ดขๅฏŒ็ฎก็†","ไธชไบบๆˆ้•ฟ","ๅนธ็ฆๅ“ฒๅญฆ","ๆ€็ปด่ฎค็Ÿฅ"],desc:"่ฟ™ๆ˜ฏไธ€้ƒจๆฑ‡้›†็ก…่ฐท่‘—ๅๆŠ•่ต„ไบบ็บณ็“ฆๅฐ”ยทๆ‹‰็ปดๅŽ็‰น่ฟ‡ๅŽปๅๅนดๅ…ณไบŽ่ดขๅฏŒไธŽๅนธ็ฆๆ€่€ƒ็š„่กŒๅŠจๆŒ‡ๅ—ใ€‚ๅ…จไนฆๆ‘’ๅผƒไบ†โ€œ่‡ดๅฏŒ้ ่ฟๆฐ”โ€็š„ไผ ็ปŸ่ง‚ๅฟต๏ผŒๆๅ‡บ็งฏ็ดฏ่ดขๅฏŒไธŽๅนธ็ฆ็”Ÿๆดปๆ˜ฏๅฏไปฅ้€š่ฟ‡ๅญฆไน ๆŽŒๆก็š„ๆŠ€่ƒฝใ€‚้€š่ฟ‡็ณป็ปŸๆ•ด็†ๆŽจ็‰นใ€ๆ’ญๅฎขไธŽ่ฎฟ่ฐˆไธญ็š„ๆ™บๆ…ง๏ผŒๆœฌไนฆไธบ่ฏป่€…ๆไพ›ไบ†ๅฆ‚ไฝ•ๅœจๅฟซ้€Ÿๅ˜ๅŒ–็š„็ง‘ๆŠ€ไธŽ็ปๆตŽ็Žฏๅขƒไธญ๏ผŒๅˆฉ็”จๆ ๆ†ใ€ๅ‘ๆŒฅไธชไบบ็‹ฌ็‰นๆ€ง๏ผŒ่ฟ›่€Œๅฎž็Žฐ่ดขๅŠก่‡ช็”ฑๅนถ่Žทๅพ—ๆŒไน…ๅ†…ๅฟƒๆปก่ถณ็š„ๆ–นๆณ•่ฎบใ€‚",rating:4.7,highlights:["ๅฐ†่ดขๅฏŒไธŽๅนธ็ฆ่ง†ไธบๅฏไน ๅพ—็š„ๆŠ€่ƒฝ๏ผšๆ‰“็ ด่ฟๆฐ”่ฎบ๏ผŒๅผบ่ฐƒ้€š่ฟ‡ๅปบ็ซ‹ๆ ๆ†ใ€ๅ‘ๆŒฅไธชไบบ็‹ฌ็‰นๆ€งๆฅ่Žทๅ–้ž็บฟๆ€ง็š„ๅ›žๆŠฅ","ๅๅนดๆ€ๆƒณ็š„็ณป็ปŸๅŒ–็ผ–็บ‚๏ผšๅฐ†็ขŽ็‰‡ๅŒ–็š„ไบ’่”็ฝ‘ๆ™บๆ…งๆ็‚ผไธบๆˆไฝ“็ณป็š„ๆ–นๆณ•่ฎบ๏ผŒๆ‰“้€ ไบ†ๆ•ฐๅญ—ๆ—ถไปฃไธชไบบ็š„โ€œ่กŒๅŠจๆŒ‡ๅ—โ€","ๅ…ผ้กพ่ดขๅฏŒ็งฏ็ดฏไธŽๅ†…ๅฟƒๆปก่ถณ๏ผšไธไป…ๆ•™ๅฏผๅฆ‚ไฝ•้ซ˜ๆ•ˆ่ตš้’ฑ๏ผŒๆ›ดๆทฑๅ…ฅๆŽข่ฎจๅฆ‚ไฝ•้€š่ฟ‡้˜…่ฏปใ€ๅ†ฅๆƒณไธŽ้•ฟๆœŸไธปไน‰๏ผŒๅœจ่ŒๅœบๆˆๅŠŸไธญๅฏปๆ‰พๅ†…ๅฟƒ็š„ๅฎ้™","ๆžๅ…ทๅฎžๆ“ๆ€ง็š„ๅทฅๅ…ท็ฎฑ๏ผšๆไพ›ๅฆ‚ๆทฑๅบฆๆ€่€ƒใ€ๅˆปๆ„็ปƒไน ใ€ๆž„ๅปบไธชไบบๅ“็‰Œ็ญ‰ๅ…ทไฝ“่ทฏๅพ„๏ผŒๅธฎๅŠฉ่ฏป่€…ๅœจ็ขŽ็‰‡ๅŒ–ๆ—ถไปฃๅฟซ้€Ÿๅฎž็Žฐ่‡ชๆˆ‘่ฟญไปฃ"]},{id:"book-028",title:"ไผ˜็ง€็š„็ปต็พŠ",author:"ๅจๅป‰ยทๅพท้›ท่ฐข็ปดๅฅ‡",cover:"https://cdn.weread.qq.com/weread/cover/78/cpplatform_3ncoeekcuaectlzj9hf5nr/t6_cpplatform_3ncoeekcuaectlzj9hf5nr1744626569.jpg",wereadLink:"https://weread.qq.com/web/reader/1c0324c0813ab9d91g010aba#outline?noScroll=1",link:"https://book.douban.com/subject/26747208/",tags:["ๅš้›…ๆ•™่‚ฒ","็คพไผšๅญฆ","ไธชไบบๆˆ้•ฟ"],desc:"่€ถ้ฒๅคงๅญฆๅ‰ๆ•™ๆŽˆๅจๅป‰ยทๅพท้›ท่ฐข็ปดๅฅ‡ๅฏน็พŽๅ›ฝๅธธๆ˜ฅ่—ค็ฒพ่‹ฑๆ•™่‚ฒไฝ“ๅˆถ็š„ๅฐ–้”ๆ‰นๅˆคไน‹ไฝœใ€‚ไฝœ่€…้€š่ฟ‡ไบŒๅไฝ™ๅนด็š„ๆ•™ๅญฆ่ง‚ๅฏŸ๏ผŒๆŒ‡ๅ‡บ้กถๅฐ–ๅญฆๅบœๅŸนๅ…ปๅ‡บไธ€็พค่™ฝ็„ถ่ชๆ˜Žใ€ไผ˜็ง€๏ผŒไฝ†ๆ™ฎ้็„ฆ่™‘ใ€็ผบไน็›ฎๆ ‡ๆ„Ÿไธ”ๅ”ฏๅ‘ฝๆ˜ฏไปŽ็š„โ€œไผ˜็ง€็ปต็พŠโ€ใ€‚ๆœฌไนฆๅ‘ผๅ็คพไผš้‡ๆ–ฐๅฎก่ง†ๆ•™่‚ฒ็š„ๆœฌ่ดจ๏ผŒๆ‘†่„ฑๅฏนๅๆ กไธŽ้ซ˜่–ช็š„็›ฒ็›ฎๅด‡ๆ‹œ๏ผŒๅ›žๅฝ’ๅš้›…ๆ•™่‚ฒ๏ผŒ้ผ“ๅŠฑๅญฆ็”ŸๆŽข็ดขๅ†…ๅœจ้ฉฑๅŠจๅŠ›ไธŽ่‡ชๆˆ‘ไปทๅ€ผใ€‚",rating:4.2,highlights:["็Š€ๅˆฉๅ‰–ๆž็ฒพ่‹ฑๆ•™่‚ฒๅผŠ็ซฏ๏ผš็›ดๅ‡ปๅธธๆ˜ฅ่—คไฝ“ๅˆถๅŸนๅ…ปๅ‡บโ€œ่ชๆ˜Žไฝ†ๆฒกๆœ‰็ต้ญ‚โ€็š„ๅญฆ็”Ÿ็š„็Žฐๅฎž๏ผŒๅๆ€ๅ”ฏๅๆ กไธŽๆˆ็ปฉ่ฎบ็š„ๅ•ไธ€่ฏ„ไปทไฝ“็ณป","ๅ›žๅฝ’ๅš้›…ๆ•™่‚ฒ็š„ๆ ธๅฟƒไปทๅ€ผ๏ผšๆ‰นๅˆคๅบ”่ฏ•ๅŒ–ๅ€พๅ‘๏ผŒๆๅ€ก็ป™ไบˆๅญฆ็”Ÿๆ›ดๅคšๆŽข็ดขใ€ๅคฑ่ดฅไธŽ้‡ๅก‘่‡ชๆˆ‘็š„็ฉบ้—ด๏ผŒๅผบ่ฐƒๆ•™่‚ฒ็š„ๆœฌ่ดจๅœจไบŽๅธฎๅŠฉไธชไฝ“ๆ‰พๅˆฐ่‡ชๆˆ‘","ๆไพ›ๆŒฃ่„ฑๅค–้ƒจๆœŸๅพ…็š„่ฎค็Ÿฅๆก†ๆžถ๏ผšๆ—ขไธบ่ฟท่Œซ็š„ๅนด่ฝปไบบๆŒ‡ๆ˜Žๅฆ‚ไฝ•้‡ๅปบๅ†…ๅœจๅŠจๅŠ›๏ผŒไนŸ็ป™ๅฎถ้•ฟๅ’Œๆ•™่‚ฒ่€…ๆ•ฒๅ“ไบ†ๅ…ณไบŽโ€œๆˆๅŠŸๅฎšไน‰โ€็š„่ญฆ้’Ÿ","่ทจๆ–‡ๅŒ–่ƒŒๆ™ฏไธ‹็š„ๆ•™่‚ฒๅ…ฑ้ธฃ๏ผšๅฐฝ็ฎกไปฅ็พŽๅ›ฝ็ฒพ่‹ฑๆ•™่‚ฒไธบไพ‹๏ผŒๅ…ถๅฏนโ€œๆ•™่‚ฒๅ†…ๅทโ€ไธŽโ€œ็ผบไน็›ฎๆ ‡ๆ„Ÿโ€็š„ๆ‰นๅˆค๏ผŒๅผ•ๅ‘ไบ†ๅ…จ็ƒ้ซ˜ๅŽ‹ๆ•™่‚ฒ็Žฏๅขƒไธ‹็š„ๆทฑๅฑ‚ๅ…ฑ้ธฃ"]},{id:"book-029",title:"ๆŠŠ่‡ชๅทฑๅ˜ๆˆ็จ€็ผบ่ต„ไบง",author:"ไฝ•ๆ€ๅนณ",cover:"https://cdn.weread.qq.com/weread/cover/98/cpplatform_ncqzerh3wdywn9mlc9cjna/t6_cpplatform_ncqzerh3wdywn9mlc9cjna1694085413.jpg",wereadLink:"https://weread.qq.com/web/reader/2fe326f0813ab821fg0146df#outline?noScroll=1",link:"https://book.douban.com/subject/36513648/",tags:["ไธชไบบๆˆ้•ฟ","ๆ€็ปด่ฎค็Ÿฅ","่‡ชๆˆ‘็ฎก็†","ๆŠ•่ต„็†่ดข"],desc:"่ฟ™ๆ˜ฏไธ€ไธชๅฐ†โ€œไบบ็”Ÿโ€่ง†ไฝœโ€œๅ…ฌๅธโ€ๆฅ็ป่ฅ็š„ๅฎžๆˆ˜ๆŒ‡ๅ—ใ€‚ไฝœ่€…ไฝ•ๆ€ๅนณ็ป“ๅˆ่‡ช่บซไปŽไธฅ้‡ๅฃๅƒๅˆฐๆผ”่ฎฒๅ† ๅ†›ใ€ๅ†ๅˆฐ่ฟž็ปญๅˆ›ไธšๆˆๅŠŸ็š„่ทจ่ถŠๅผ็ปๅކ๏ผŒๆๅ‡บไบ†โ€œไบบ็”Ÿๆœ‰้™ๅ…ฌๅธโ€็š„็ป่ฅๅ“ฒๅญฆใ€‚ๅ…จไนฆ้€š่ฟ‡โ€œ็”Ÿๅ‘ฝ็ซ‹ๆ–นไฝ“โ€ๆจกๅž‹๏ผŒไปŽ่ฎค็Ÿฅใ€ๅฎž่ทตใ€็ฒพๅŠ›็ฎก็†ไธ‰ไธช็ปดๅบฆๆ‹†่งฃไบ†ๅฆ‚ไฝ•้€š่ฟ‡ๆŒ็ปญ่พ“ๅ‡บไธŽ่ทจ็•Œๅญฆไน ๏ผŒๅฐ†่‡ชๅทฑๆ‰“้€ ไธบๅ…ทๆœ‰้ซ˜ๅฃๅž’ใ€ไธๅฏๆ›ฟไปฃ็š„โ€œ็จ€็ผบ่ต„ไบงโ€ใ€‚",rating:4.2,highlights:["ๆๅ‡บโ€œไบบ็”Ÿๆœ‰้™ๅ…ฌๅธโ€็ป่ฅๅ“ฒๅญฆ๏ผšๅ€กๅฏผๅฐ†่‡ชๅทฑ่ง†ไฝœๆœ€ๅ€ผๅพ—ๆŠ•่ต„็š„ไธŠๅธ‚ๅ…ฌๅธ๏ผŒ้€š่ฟ‡ไธๆ–ญๆๅ‡่ฎค็ŸฅไธŽ่ƒฝๅŠ›ๅฃๅž’๏ผŒๆŠŠโ€œไบบ็”Ÿโ€็ป่ฅๆˆ็จ€็ผบ่ต„ไบง","็ณป็ปŸๅŒ–็š„โ€œ็”Ÿๅ‘ฝ็ซ‹ๆ–นไฝ“โ€ๆจกๅž‹๏ผšไปŽ่ฎค็Ÿฅใ€ๅฎž่ทตใ€็ฒพๅŠ›็ฎก็†ไธ‰ไธช็ปดๅบฆๆž„ๅปบไธชไบบๆˆ้•ฟ้—ญ็Žฏ๏ผŒ่งฃๅ†ณๆˆ้•ฟไธญ็š„ๆ— ๅบๆ„ŸไธŽ็ขŽ็‰‡ๅŒ–้šพ้ข˜","่š็„ฆไธชไบบๆ ธๅฟƒ็ซžไบ‰ๅŠ›๏ผšๆทฑๅบฆๆ‹†่งฃ่ฎค็ŸฅๅŠ›ใ€ๅญฆไน ๅŠ›ไธŽๅ…ฑๆƒ…ๅŠ›็ญ‰็จ€็ผบ่ƒฝๅŠ›็š„่Žทๅ–่ทฏๅพ„๏ผŒๆ•™ๅฏผ่ฏป่€…ๅœจไธๅŒๅœบๆ™ฏไธญ้€š่ฟ‡ๅฎžๆˆ˜้ชŒ่ฏ่‡ชๆˆ‘ไปทๅ€ผ","้ซ˜ๅบฆๅฏๆ“ไฝœ็š„ๅทฅๅ…ทๆธ…ๅ•๏ผšๆ‘’ๅผƒ้ธกๆฑคๅผ่ฏดๆ•™๏ผŒๅฐ†่‡ชๆˆ‘ๆˆ้•ฟๆ‹†่งฃไธบๅ…ทไฝ“็š„ไน ๆƒฏๆ”น้€ ไธŽๅค็›˜ๆธ…ๅ•๏ผŒๅธฎๅŠฉ่ฏป่€…ๅœจ็—›็‚นไธŽ้ซ˜ๅ…‰ๆ—ถๅˆป้ƒฝ่ƒฝ้€š่ฟ‡ๅ้ฆˆๆœบๅˆถๅฎž็Žฐ่‡ชๆˆ‘่ฟญไปฃ"]},{id:"book-030",title:"ๆˆ้•ฟ็ฌฌไบŒๆ›ฒ็บฟ๏ผš่ทจ่ถŠSๅž‹ๆŒ็ปญๆˆ้•ฟ",author:"ๆŸฅๅฐ”ๆ–ฏยทๆฑ‰่ฟช",cover:"https://cdn.weread.qq.com/weread/cover/65/YueWen_39427437/t6_YueWen_39427437.jpg",wereadLink:"https://weread.qq.com/web/reader/15d32ed072599d6d15daa86#outline?noScroll=1",link:"https://book.douban.com/subject/35531368/",tags:["็ฎก็†ๅญฆ","ไธชไบบๆˆ้•ฟ","ไบบ็”Ÿๅ“ฒๅญฆ","ๆœชๆฅ่ถ‹ๅŠฟ"],desc:"็ฎก็†ๅคงๅธˆๆŸฅๅฐ”ๆ–ฏยทๆฑ‰่ฟช็š„โ€œไบบ็”Ÿ้•ฟ่ท‘ๆŒ‡ๅ—โ€ใ€‚ๆœฌไนฆ้€š่ฟ‡ไนฆไฟกไฝ“ๅฝขๅผ๏ผŒๆทฑๅบฆๆŽข่ฎจไบ†ๅœจๆ•ฐๅญ—ๆ—ถไปฃ่ƒŒๆ™ฏไธ‹ไธชไบบๅฆ‚ไฝ•่ฏ†ๅˆซๅนถ่ทจ่ถŠโ€œ็ฌฌไบŒๆ›ฒ็บฟโ€ใ€‚ๆฑ‰่ฟชๆŒ‡ๅ‡บ๏ผŒๆ— ่ฎบ็ป„็ป‡่ฟ˜ๆ˜ฏไธชไบบ๏ผŒ้ƒฝๅ—ๅˆถไบŽSๅž‹ๅขž้•ฟๆ›ฒ็บฟ๏ผŒๅชๆœ‰ๅœจ็ฌฌไธ€ๆ›ฒ็บฟ่กฐ้€€ๅ‰ไธปๅŠจๅธƒๅฑ€ๆ–ฐ็š„ๅขž้•ฟ็‚น๏ผŒๅนถไฟๆŒๅ†…ๅœจไปทๅ€ผ็š„็‹ฌ็ซ‹ไธŽ่ฟ›ๅŒ–๏ผŒๆ‰่ƒฝๅœจไธๆ–ญๅ˜ๅŒ–็š„็Žฏๅขƒไธญ่Žทๅพ—ๆŒ็ปญไธ”ๆœ‰ๆ„ไน‰็š„ๆˆ้•ฟใ€‚",rating:4.5,highlights:["็™พๅฒ็ฎก็†ๅคงๅธˆ็š„ไบบ็”Ÿไฝ“ๆ‚Ÿ๏ผšไปฅไนฆไฟกไฝ“ๆต“็ผฉไธ€็”Ÿ็ฎก็†็ ”็ฉถไธŽไธชไบบ็ป้ชŒ๏ผŒๆไพ›ไบ†ไปŽๆ—ถ้—ด็ปดๅบฆๅฎก่ง†ๅทฅไฝœใ€ๅญฆไน ไธŽ็”Ÿๆดป็š„ๅ…จๆ™ฏ่ง†่ง’","โ€œ็ฌฌไบŒๆ›ฒ็บฟโ€็†่ฎบ็š„ๅ…จ้ข่ฟ›้˜ถ๏ผšๆทฑๅˆปๆญ็คบ็ป„็ป‡ไธŽไธชไบบ็š„ๅ…ด่กฐ่ง„ๅพ‹๏ผŒๆ•™ๅฏผ่ฏป่€…ๅฆ‚ไฝ•ๅœจ็ฌฌไธ€ๆ›ฒ็บฟ็š„ๅท…ๅณฐๅ‰ๅฐฑไธปๅŠจๅธƒๅฑ€ๆ–ฐ็š„ๅขž้•ฟๅผ•ๆ“Ž","ๅ…จๅœบๆ™ฏไธ‹็š„ๆŒ็ปญ่ฟ›ๅŒ–ๆ–นๆกˆ๏ผšๅฐ†็ฌฌไบŒๆ›ฒ็บฟๆ€็ปด่ทจ็•Œๅบ”็”จไบŽๆ•™่‚ฒใ€่Œไธš่ง„ๅˆ’ใ€ๅฉšๅงปไธŽๅฎถๅบญไธญ๏ผŒๅผบ่ฐƒโ€œๅ˜ๅŒ–ๆ‰ๆ˜ฏๅธธๆ€โ€๏ผŒ้ผ“ๅŠฑๆŒ็ปญ่‡ชๆˆ‘้‡ๅก‘","้ขๅ‘Zไธ–ไปฃ็š„ๆธ…้†’ๅค„ๆ–น๏ผšๅœจ็ง‘ๆŠ€้ซ˜ๆญŒ็Œ›่ฟ›็š„ๆ•ฐๅญ—ๆ—ถไปฃ๏ผŒๆ้†’ๅŽไบบ้‡่ง†่ฏšไฟกใ€ๅไฝœ็ญ‰่ฝฏๅฎžๅŠ›๏ผŒไฟๆŒ็‹ฌ็ซ‹ๅˆคๆ–ญ๏ผŒ้ฟๅ…ๅœจ็ฎ—ๆณ•ไธŽ็„ฆ่™‘ไธญ่ฟทๅคฑ่‡ชๆˆ‘"]}],Me=[{id:"book-033",title:"ๆžช็‚ฎใ€็—…่ŒไธŽ้’ข้“",author:"่ดพ้›ทๅพทยทๆˆด่’™ๅพท",cover:"https://cdn.weread.qq.com/weread/cover/99/YueWen_42766048/t6_YueWen_42766048.jpg",wereadLink:"https://weread.qq.com/web/reader/843329f0728c8ee08434fb1#outline?noScroll=1",link:"https://book.douban.com/subject/1813841/",tags:["ไบบ็ฑปๅކๅฒ","ๅœฐ็†ๅ†ณๅฎš่ฎบ","็คพไผšๅญฆ","่ทจๅญฆ็ง‘"],desc:"ไธ€้ƒจ้‡ๆ–ฐๅฎšไน‰ไบบ็ฑปๅކๅฒๅ‘ๅฑ•็š„ๅฎๅคง่‘—ไฝœใ€‚ไฝœ่€…่ดพ้›ทๅพทยทๆˆด่’™ๅพท้€š่ฟ‡็”Ÿ็‰ฉๅญฆใ€ๅœฐ็†ๅญฆใ€ไบบ็ฑปๅญฆ็ญ‰ๅคšๅญฆ็ง‘ไบคๅ‰่ง†่ง’๏ผŒๅผบๆœ‰ๅŠ›ๅœฐๅ้ฉณไบ†โ€œ็งๆ—ๅ†ณๅฎš่ฎบโ€ๅ’Œโ€œ่ฅฟๆ–นๆ–‡ๆ˜Žไผ˜่ถŠ่ฎบโ€ใ€‚ไป–ๆๅ‡บ๏ผŒๅ†ณๅฎšๆ–‡ๆ˜Žๅ…ด่กฐ็š„ๅ…ณ้”ฎๅนถ้ž็งๆ—๏ผŒ่€Œๆ˜ฏ็Žฏๅขƒๅ› ็ด ใ€ๅœฐ็†ๆ ผๅฑ€ไปฅๅŠๅŠจๆค็‰ฉ้ฉฏๅŒ–็š„ๅทฎๅผ‚๏ผŒ่ฟ™ไบ›่‡ช็„ถๆกไปถ็š„ๅถ็„ถๆ€งๆœ€็ปˆๅฏผ่‡ดไบ†ๆŠ€ๆœฏใ€ๅ…็–ซๅŠ›ๅ’ŒๆƒๅŠ›็ป“ๆž„็š„ๅทฎๅผ‚๏ผŒไปŽ่€Œ้‡ๅก‘ไบ†็Žฐไปฃไธ–็•Œ็š„ๅ…จ็ƒ็‰ˆๅ›พใ€‚",rating:4.8,highlights:["้ข ่ฆ†ๆ€ง็š„ๅކๅฒ่ง‚๏ผšไปฅ็ŽฏๅขƒไธŽๅœฐ็†ๅทฎๅผ‚่งฃ้‡Šๆ–‡ๆ˜Žๅ…ด่กฐ๏ผŒๆœ‰ๅŠ›ๅ†ฒๅ‡ปไบ†้•ฟๆœŸๆต่กŒ็š„่ฅฟๆ–นๆ–‡ๆ˜Žไผ˜่ถŠ่ฎบ๏ผŒๆไพ›ไบ†็†่งฃไบบ็ฑปๅކๅฒ็š„ๅ…จๆ–ฐ่ง†่ง’","่ทจๅญฆ็ง‘็š„็ปผๅˆ็ ”็ฉถๆก†ๆžถ๏ผšๅทงๅฆ™่žๅˆ็”Ÿ็‰ฉๅญฆใ€ๅœฐ็†ๅญฆใ€ๅކๅฒๅญฆใ€็คพไผšๅญฆ็ญ‰ๅคšๅญฆ็ง‘็Ÿฅ่ฏ†๏ผŒ้‡ๅปบไบบ็ฑปๆ–‡ๆ˜Žๆผ”่ฟ›็š„้€ป่พ‘่ทฏๅพ„","็ณป็ปŸๆญ็คบๅކๅฒๆผ”ๅ˜็š„ๆœบๅˆถ๏ผšๆทฑๅ…ฅๅ‰–ๆžๅ†œไธšใ€็—…่Œไผ ๆ’ญไธŽๆŠ€ๆœฏๆƒๅŠ›ๅฆ‚ไฝ•ๅฝขๆˆ็›ธไบ’ๅผบๅŒ–็š„ๅพช็Žฏ๏ผŒๅฑ•็คบไบ†ๆ–‡ๆ˜Žๅ‘ๅฑ•่ƒŒๅŽๅคๆ‚็š„่ต„ๆบไบ’ๅŠจ","ๅ…ทๅค‡ๅ…ฌๅ…ฑๆ€ๆƒณ่€…็š„ๅฎ่ง‚่ง†้‡Ž๏ผšๅฐ†ไธฅ่ฐจ็š„็ง‘ๅญฆ็ ”็ฉถ่ฝฌๅŒ–ไธบๅฏนไบบ็ฑปๅ‘ฝ่ฟไธŽ็คพไผšๅ‘ๅฑ•็š„ๆทฑๅˆปๅๆ€๏ผŒไธบ็Žฐไปฃไบบ็†่งฃ่‡ช่บซๅœจๅކๅฒ้•ฟๆฒณไธญ็š„ไฝ็ฝฎๆไพ›ไบ†็ปไฝณๅ‚็…ง"]},{id:"book-034",title:"ไธญๅ›ฝ็คพไผšๅ„้˜ถๅฑ‚ๅˆ†ๆž",author:"ๆขๆ™“ๅฃฐ",cover:"https://cdn.weread.qq.com/weread/cover/0/yuewen_42682684/t6_yuewen_426826841728383400.jpg",wereadLink:"https://weread.qq.com/web/reader/085326e0728b493c085ade1#outline?noScroll=1",link:"https://book.douban.com/subject/35485315/",tags:["็คพไผš่ง‚ๅฏŸ","้˜ถๅฑ‚็ ”็ฉถ","็Žฐๅฎžไธปไน‰"],desc:"่Œ…็›พๆ–‡ๅญฆๅฅ–ๅพ—ไธปๆขๆ™“ๅฃฐๅŸบไบŽๅคšๅนด็คพไผš่ง‚ๅฏŸ็š„็Žฐๅฎž้ข˜ๆๅŠ›ไฝœใ€‚ไฝœ่€…ๅฐ†ๅฟซ้€Ÿๅ˜่ฟ็š„ไธญๅ›ฝ็คพไผšๅˆ’ๅˆ†ไธบไธๅŒ้˜ถๅฑ‚๏ผŒไปฅๅนณๆฐ‘่ง†่ง’็ป†่…ปๆๆ‘นๅ„็พคไฝ“็š„็”Ÿๅญ˜็Šถๆ€ใ€ๅฟƒ็†ๅ›ฐๅขƒไธŽ้˜ถๅฑ‚็„ฆ่™‘ใ€‚ๅ…จไนฆไธ่ฟฝๆฑ‚็บฏๅญฆๆœฏ็š„ๆžฏ็‡ฅๅˆ†ๆž๏ผŒ่€Œๆ˜ฏ้€š่ฟ‡ๆ–‡ๅญฆๅŒ–็š„็คพไผš่ง‚ๅฏŸ๏ผŒๅ‹พๅ‹’ๅ‡บไธ€ๅน…ๅฝ“ไปฃไธญๅ›ฝ็คพไผš็š„โ€œๆตฎไธ–็ป˜โ€๏ผŒๅผ•ๅฏผ่ฏป่€…ๅœจๆ—ถไปฃๅๆ ‡ไธญๆ‰พๅ‡†ๅฎšไฝ๏ผŒ็†่งฃ็คพไผšๅ˜่ฟ่ƒŒๅŽ็š„็ป“ๆž„ๆ€ง้€ป่พ‘ใ€‚",rating:4.3,highlights:["ๅนณๆฐ‘่ง†่ง’ไธ‹็š„็คพไผšโ€œๆตฎไธ–็ป˜โ€๏ผš้€š่ฟ‡็ป†่…ป็š„็ฌ”่งฆๅ‹พๅ‹’ๅ„้˜ถๅฑ‚็š„็”Ÿๅญ˜้€ป่พ‘ไธŽๅฟƒ็†็”ปๅƒ๏ผŒๅธฎๅŠฉ่ฏป่€…็›ด่ง‚็†่งฃๅฎ่ง‚็คพไผš็ป“ๆž„","ๅ…ผๅ…ท็Žฐๅฎž็—›็‚นไธŽ็ฒพ็ฅžๆทฑๅบฆ๏ผšไธไป…ๅ‘ˆ็Žฐ็‰ฉ่ดจ็”Ÿๆดป็š„ๅทฎๅผ‚๏ผŒๆ›ดๆทฑๅˆปๅ‰–ๆž้˜ถๅฑ‚็„ฆ่™‘่ƒŒๅŽ็š„ไปทๅ€ผๅ›ฐๅขƒ๏ผŒไธบ็†่งฃๅฝ“ไปฃ็คพไผšๆไพ›ไบบๆ–‡ๅ‚็…ง","ๆ—ถไปฃ่„‰็ปœไธญ็š„ๅ‘ฝ่ฟไนฆๅ†™๏ผšๅฐ†ไธชไฝ“ๅ‘ฝ่ฟ็ฝฎไบŽๅކๅฒไบ‹ไปถ็š„ๅฎ่ง‚่ƒŒๆ™ฏไธญ่€ƒๅฏŸ๏ผŒๅฑ•็Žฐไบ†ๅŠไธชไธ–็บชไปฅๆฅ็คพไผšๅ˜่ฟ็š„ๆทฑๅฑ‚่„‰็ปœ","ๆ–‡ๅญฆ็ฌ”่งฆไธ‹็š„็คพไผšๅ…ณๆ€€๏ผšไฝœไธบ่Œ…็›พๆ–‡ๅญฆๅฅ–ๅพ—ไธป๏ผŒไฝœ่€…้€š่ฟ‡ๅฏŒๆœ‰ๆ•…ไบ‹ๆ€ง็š„ๅ™ไบ‹๏ผŒๆ—ขไฟ็•™ไบ†ๆ‰นๅˆคๆ€ง๏ผŒๅˆ่ฎฉๆ–‡ๆœฌๅ……ๆปกไบ†ๆธฉๆš–็š„ไบบๆ–‡ๆธฉๅบฆ"]},{id:"book-021",title:"ๆŠŠ่‡ชๅทฑไฝœไธบๆ–นๆณ•",author:"้กน้ฃ™ / ๅด็ฆ",cover:"https://cdn.weread.qq.com/weread/cover/81/cpPlatform_3300003962/t6_cpPlatform_3300003962.jpg",wereadLink:"https://weread.qq.com/web/reader/d7532f80813ab680cg012708#outline?noScroll=1",link:"https://book.douban.com/subject/35092383/",tags:["็คพไผšๅญฆ","่ฎฟ่ฐˆๅฝ•","ๆ€ๆƒณๆ–นๆณ•"],desc:"ไธคไปฃๅญฆไบบ้กน้ฃ™ไธŽๅด็ฆๅކๆ—ถไธ‰ๅนดใ€่ทจ่ถŠไบ”ๅœฐ็š„ๆทฑๅบฆๅฏน่ฏๅฎžๅฝ•ใ€‚ๆœฌไนฆไปŽ้กน้ฃ™็š„ไธชไบบ็ป้ชŒๅˆ‡ๅ…ฅ๏ผŒๆŽข่ฎจไบ†ไธญๅ›ฝ็คพไผš่ฟ‘ๅŠไธชไธ–็บช็š„ๅ˜่ฟใ€ๅ…จ็ƒๅŒ–ไธŽๆฐ‘็ฒนไธปไน‰็ญ‰ๅฎๅคง่ฎฎ้ข˜ใ€‚ๅœจ่‡ชๆˆ‘ๆณ›ๆปฅไธŽๆ€ๆƒณๅ—ๅ›ฐ็š„ๆ—ถไปฃ๏ผŒไฝœ่€…ๆๅ‡บโ€œๆŠŠ่‡ชๅทฑไฝœไธบๆ–นๆณ•โ€๏ผŒๆŒ‡ๅฏผ่ฏป่€…ๅฆ‚ไฝ•ๅœจๅ…จ็ƒๅŒ–ๅนดไปฃ้‡ๆ–ฐๅฎšไฝ่‡ชๆˆ‘ใ€้‡ๅปบโ€œ้™„่ฟ‘โ€๏ผŒๅนถๅœจไธชไบบไฝ“้ชŒไธŽๅฎ่ง‚ๅ™ไบ‹ไน‹้—ดๆญๅปบ่ตทๆ€่€ƒไธŽ่กŒๅŠจ็š„ๆกฅๆขใ€‚",rating:4.6,highlights:["ไปฅโ€œ่‡ชๆˆ‘โ€ๅˆ‡ๅ…ฅๅ›žๅบ”ๅฎๅคง่ฎฎ้ข˜๏ผš็คบ่Œƒๅฆ‚ไฝ•ๅœจไธชไบบ็œŸๅฎžไฝ“้ชŒไธŽๅ…จ็ƒๅŒ–ใ€็คพไผšๅ˜่ฟ็ญ‰ๅฎ่ง‚ๅ™ไบ‹ไน‹้—ดๆญๅปบ่ฎค็Ÿฅ็š„ๆกฅๆข","ๆไพ›้‡ๅปบโ€œ้™„่ฟ‘โ€็š„่กŒๅŠจๆŒ‡ๅ—๏ผšๅœจ่‡ชๆˆ‘ๆณ›ๆปฅ็š„ๆฝฎๆตไธญ๏ผŒๆŒ‡ๅฏผ่ฏป่€…ๅฆ‚ไฝ•ๅฎก่ง†็Žฐๅฎž๏ผŒๅˆ›้€ ๆ€งๅœฐๅปบ่ฎพ่บซ่พน็š„ๅฐไธ–็•Œ","ๅ…ผๅ…ทๅญฆๆœฏๆทฑๅบฆไธŽๆž้ซ˜ๅฏ่ฏปๆ€ง๏ผšๅฐ†ไบบ็ฑปๅญฆใ€็คพไผšๅญฆ็š„ๆทฑๅˆป็†่ฎบๆดžๅฏŸ๏ผŒๅทงๅฆ™่žๅ…ฅ็”ŸๅŠจ็š„็”ฐ้‡Žๆ•…ไบ‹ไธŽๅŒไบบ็”ŸๆดปๅŒ–ๅฏน่ฐˆไธญ","่ทจ่ถŠไธ‰ๅนด็š„ๆ€ๆƒณ็ขฐๆ’ž๏ผšๅކๆ—ถไธ‰ๅนดใ€่ทจ่ถŠไบ”ๅœฐ็š„ๆŒ็ปญๅฏน่ฏ็ป“้›†๏ผŒๅๆ€็Ÿฅ่ฏ†็”ŸไบงไธŽๅ…ฌๅ…ฑ่ฎจ่ฎบ็š„็œŸๅฎžๅค„ๅขƒ"]}],$e=[{id:"book-035",title:"็™พๅฒไบบ็”Ÿ๏ผš้•ฟๅฏฟๆ—ถไปฃ็š„็”Ÿๆดปๅ’Œๅทฅไฝœ",author:"็ณ่พพยทๆ ผๆ‹‰้กฟ / ๅฎ‰ๅพท้ฒยทๆ–ฏ็ง‘็‰น",cover:"https://wfqqreader-1252317822.image.myqcloud.com/cover/860/22902860/t6_22902860.jpg",wereadLink:"https://weread.qq.com/web/reader/30c323e0715d784c30c1e1b#outline?noScroll=1",link:"https://book.douban.com/subject/30245089/",tags:["ไบบ็”Ÿ่ง„ๅˆ’","้•ฟๅฏฟๆ—ถไปฃ","็คพไผšๅญฆ"],desc:"ๅŸบไบŽไผฆๆ•ฆๅ•†ๅญฆ้™ข็š„็ปๅ…ธ่ฏพ็จ‹๏ผŒไฝœ่€…็ณ่พพยทๆ ผๆ‹‰้กฟไธŽๅฎ‰ๅพท้ฒยทๆ–ฏ็ง‘็‰นๆๅ‡บ๏ผŒ้ขๅฏนไธ€ๅŠๆฆ‚็އๆดปๅˆฐ100ๅฒ็š„้•ฟๅฏฟๆ—ถไปฃ๏ผŒไผ ็ปŸ็š„โ€œๅญฆไน -ๅทฅไฝœ-้€€ไผ‘โ€ไธ‰ๆฎตๅผไบบ็”Ÿๆจกๅผๅทฒๅฝปๅบ•ๅคฑๆ•ˆใ€‚ๆœฌไนฆๆŒ‡ๅฏผ่ฏป่€…ๅฆ‚ไฝ•้‡ๆ–ฐ่ฎพ่ฎกไบบ็”Ÿ๏ผŒ้€š่ฟ‡ๆ‹ฅๆŠฑๅคš้˜ถๆฎตไบบ็”Ÿๆจกๅž‹๏ผŒๅœจๆ›ด้•ฟ็š„็”Ÿๅ‘ฝๅ‘จๆœŸไธญๅนณ่กกๅทฅไฝœใ€ๅญฆไน ไธŽไผ‘้—ฒ๏ผŒๅนถๅผบ่ฐƒๅœจ่ดขๅŠก่ต„ไบงไน‹ๅค–๏ผŒๆ›ด่ฆๆณจ้‡ๅฅๅบทใ€ๅ‹่ฐŠไธŽ็Ÿฅ่ฏ†็ญ‰โ€œๆ— ๅฝข่ต„ไบงโ€็š„ๆŒ็ปญๆŠ•ๅ…ฅไธŽๅขžๅ€ผใ€‚",rating:4.3,highlights:["้‡ๆž„ไบบ็”Ÿๆจกๅผ๏ผšๆ‰“็ ดไผ ็ปŸ็š„โ€œไธ‰ๆฎตๅผโ€็”Ÿๆดป่Œƒๅผ๏ผŒๆๅ‡บๅ……ๆปกๅผนๆ€ง็š„โ€œๅคš้˜ถๆฎตไบบ็”Ÿโ€ๆจกๅž‹๏ผŒ่ฎฉๅทฅไฝœไธŽๅญฆไน ไธๅ†ๆ˜ฏ็บฟๆ€ง็š„้‡ๅค","ไปŽๅ…ณๆณจ่ดขๅŠกๅˆฐโ€œๆ— ๅฝข่ต„ไบงโ€๏ผš้™คไบ†ๅ…ป่€้‡‘๏ผŒๅผบ่ฐƒๅฅๅบทใ€ๅ‹่ฐŠใ€็คพไบค็ฝ‘็ปœไธŽๅฟƒ็†้Ÿงๆ€ง็ญ‰โ€œๆ— ๅฝข่ต„ไบงโ€ๆ‰ๆ˜ฏ็ปดๆŒ้•ฟๅฏฟ็”Ÿๆดป่ดจ้‡็š„ๆ ธๅฟƒๅŠจๅŠ›","่ŒๅœบไธŽ่ฝฌๅž‹็š„็ณป็ปŸ่ง„ๅˆ’๏ผšๆไพ›้’ˆๅฏน้•ฟๅฏฟๆ—ถไปฃ็š„่Œไธš่ฎพ่ฎกๆ€่ทฏ๏ผŒๆถต็›–ไฝ•ๆ—ถ่ฝฌๅž‹ใ€ๅฆ‚ไฝ•ๆŠ•่ต„่‡ช่บซใ€ๆ€Žๆ ทๅบ”ๅฏนไธ็กฎๅฎšๆ€ง็ญ‰ๅฎžๆˆ˜ๆก†ๆžถ","็คพไผšไธŽๅˆถๅบฆ็š„ๆทฑๅบฆๆดžๅฏŸ๏ผšๆŽข่ฎจ้•ฟๅฏฟๅฆ‚ไฝ•ๅ†ฒๅ‡ปๅ…ป่€้‡‘ไฝ“็ณปใ€ๅŠณๅŠจๅŠ›ๅธ‚ๅœบไธŽไผไธšๆจกๅผ๏ผŒๅธฎๅŠฉไธชไบบๅœจๅฎ่ง‚ๅ˜้ฉไธญๆŠŠๆกไธปๅŠจๆƒ"]},{id:"book-00043",title:"้‡ๅฏๅง๏ผๆˆ‘็š„ๅฅๅบทไบบ็”Ÿ",author:"ๅ…ฐๆ นยทๆŸฅ็‰นๅ‰",cover:"https://cdn.weread.qq.com/weread/cover/80/cpplatform_kbrswv3bm7cix2zlyo6wtx/t6_cpplatform_kbrswv3bm7cix2zlyo6wtx1716362285.jpg",wereadLink:"https://weread.qq.com/web/reader/e8a32e80813ab8de4g0191c2#outline?noScroll=1",link:"https://book.douban.com/subject/36899697/",tags:["็”Ÿๆดปๆ–นๅผ","้ข„้˜ฒๅŒปๅญฆ","่บซๅฟƒๅฅๅบท","่‡ชๆˆ‘็ฎก็†"],desc:"่‹ฑๅ›ฝไธดๅบŠๅŒป็”ŸๅŸบไบŽ20ๅคšๅนด่กŒๅŒป็ป้ชŒๅ†™ๅฐฑใ€‚ๆœฌไนฆไธปๅผ โ€œ็”Ÿๆดปๆ–นๅผๅณ่‰ฏ่ฏโ€๏ผŒๅ›ด็ป•ไผ‘ๆฏใ€้ฅฎ้ฃŸใ€่ฟๅŠจๅ’Œ็ก็œ ๅ››ไธช้ข†ๅŸŸ่ฎพ่ฎกไบ†20ไธชๅพฎๅฐ่กŒๅŠจ่ฎกๅˆ’๏ผŒๅธฎๅŠฉ็Žฐไปฃไบบ้€š่ฟ‡ไฝŽๆˆๆœฌ็š„ไน ๆƒฏๆ”นๅ˜้€†่ฝฌๆ…ขๆ€ง้—ฎ้ข˜ใ€‚",rating:4.6,highlights:["ๆๅ‡บ99%็š„ๅฅๅบทๅ–ๅ†ณไบŽๆ—ฅๅธธไน ๆƒฏ่€Œ้žๅŒปๅญฆๆฒป็–—๏ผŒๅผบ่ฐƒๆ•ดไฝ“ๅนฒ้ข„","ๆž„ๅปบโ€œ4ร—5โ€ๅพฎ่กŒๅŠจๆก†ๆžถ๏ผŒๆถต็›–ไผ‘ๆฏใ€้ฅฎ้ฃŸใ€่ฟๅŠจใ€็ก็œ ๅ››ไธช็ปดๅบฆ็š„20ไธชๅฐๆ”นๅ˜","ๅ…ผ้กพ็ง‘ๅญฆๆทฑๅบฆไธŽๆž็ฎ€ๅฎžๆ“๏ผŒๅฆ‚โ€œ12ๅฐๆ—ถ่ฟ›้ฃŸ็ช—ๅฃโ€ใ€โ€œ10ๅˆ†้’Ÿ้ซ˜ๅผบๅบฆ่ฟๅŠจโ€","ๅ…ณๆณจ็Žฐไปฃ่Œๅœบไบบ็—›็‚น๏ผŒๆไพ›โ€œๅฐๆŠ•ๅ…ฅใ€ๅคงๅ›žๆŠฅโ€็š„ๅฏๅ ๅŠ ่บซๅฟƒๅฅๅบทๆŠ•่ต„็ญ–็•ฅ"]},{id:"book-00040",title:"ไฝ ๆ˜ฏไฝ ๅƒๅ‡บๆฅ็š„๏ผšๅƒๅฏนๅฐ‘็”Ÿ็—…๏ผŒ็—…ไบ†่ฟ™ๆ ทๅƒ",author:"ๅค่Œ",cover:"https://cdn.weread.qq.com/weread/cover/86/YueWen_920661/t6_YueWen_920661.jpg",wereadLink:"https://weread.qq.com/web/reader/7bb32c305e0c557bbdeab81#outline?noScroll=1",link:"https://book.douban.com/subject/27590675/",tags:["้ฅฎ้ฃŸ็ง‘ๆ™ฎ","่ฅๅ…ปๅญฆ","ๅฅๅบท็ฎก็†"],desc:"ๅ‰ๅฎ‰่ดžๅŒป้™ข่ฅๅ…ป็ง‘ไธปไปปๅค่Œ็ป“ๅˆๅไฝ™ๅนดไธดๅบŠ็ป้ชŒๅ†™ๆˆใ€‚ๆœฌไนฆ้ข ่ฆ†โ€œไฝŽๆฒนไฝŽ่„‚โ€่ฏฏๅŒบ๏ผŒๆๅ‡บๅ›žๅฝ’่ฟ›ๅŒ–็š„โ€œ65%ๆค็‰ฉ+35%ๅŠจ็‰ฉโ€่†ณ้ฃŸ้…ๆฏ”๏ผŒๅนถ้’ˆๅฏน14็งๅธธ่งๆ…ข็—…็ป™ๅ‡บโ€œๅ››ๅˆ†ๆณ•โ€้ฅฎ้ฃŸๅนฒ้ข„ๆ–นๆกˆ๏ผŒๅธฎๅŠฉ่ฏป่€…้‡ๅปบๅฅๅบท้ฅฎ้ฃŸ่ง‚ใ€‚",rating:5,highlights:["ๆŒ‡ๅ‡บๅคšๆ•ฐๆ…ข็—…ๆบไบŽโ€œ่›‹็™ฝ่ดจ็ผบไนๅผ่ฅๅ…ปไธ่‰ฏโ€๏ผŒๆ‰“็ ดๅธธ่ง„ไฝŽๆฒนไฝŽ่„‚่ฟทๆ€","ๆๅ‡บๆธ…ๆ™ฐ้‡ๅŒ–็š„โ€œ65%ๆค็‰ฉ็ฑป+35%ๅŠจ็‰ฉ็ฑปโ€็ง‘ๅญฆ้ฅฎ้ฃŸ็ป“ๆž„","้’ˆๅฏนๅ† ๅฟƒ็—…ใ€้ซ˜่ก€ๅŽ‹็ญ‰14็งๅธธ่งๆ…ข็—…ๆไพ›ๅฎžๆ“ๆ€งๆžๅผบ็š„โ€œๅ››ๅˆ†ๆณ•โ€่œๅ•","ๆบไบŽๅไธ‡+็œŸๅฎžไธดๅบŠ็—…ไพ‹๏ผŒๅผบ่ฐƒโ€œไธ€ๆ—ฅไธ‰้คๆ‰ๆ˜ฏ็œŸๆญฃ็š„ไฟๅฅๅ“โ€"]},{id:"book-00041",title:"ไฝ ๆ˜ฏไฝ ๅƒๅ‡บๆฅ็š„2",author:"ๅค่Œ",cover:"https://wfqqreader-1252317822.image.myqcloud.com/cover/883/35905883/t6_35905883.jpg",wereadLink:"https://weread.qq.com/web/reader/40532d007223e15b4052fae#outline?noScroll=1",link:"https://book.douban.com/subject/35340053/",tags:["้ฅฎ้ฃŸๆŒ‡ๅฏผ","็ง‘ๆ™ฎ","็–พ็—…้˜ฒๆฒป"],desc:"่š็„ฆ้ซ˜่ก€ๅŽ‹ใ€้ซ˜่„‚่ก€็—‡ใ€็ณ–ๅฐฟ็—…็ญ‰7ๅคงๅธธ่งๆ…ข็—…๏ผŒไปŽไธดๅบŠ่ฅๅ…ปๅŒปๅญฆ่ง’ๅบฆ้€ไธ€็ ด้™ค่ฏธๅฆ‚โ€œ่ก€ๅŽ‹้ซ˜ไธ่ƒฝๅƒ่‚‰โ€็ญ‰้ฅฎ้ฃŸ่ฏฏๅŒบ๏ผŒๆไพ›็ณป็ปŸ็š„โ€œไธŠๆธธ-ไธญๆธธ-ไธ‹ๆธธโ€็–พ็—…้˜ฒๆŽงๆ€่ทฏไธŽไธชไฝ“ๅŒ–่ฅๅ…ปๅค„ๆ–นใ€‚",rating:4.6,highlights:["ไธ“ๆ”ป7ๅคงๅธธ่งๆ…ขๆ€ง็—…๏ผŒไธบๆ‚ฃ่€…ๆไพ›้’ˆๅฏนๆ€ง็š„โ€œ็”Ÿ็—…ไบ†ๆ€Žไนˆๅƒโ€ไธชไฝ“ๅŒ–ๆŒ‡ๅฏผ","็ง‘ๅญฆ่พŸ่ฐฃ๏ผŒ็ ด้™คโ€œ่ก€ๅŽ‹้ซ˜ไธ่ƒฝๅƒ่‚‰โ€ใ€โ€œ่ƒ†ๅ›บ้†‡้ซ˜ไธ่ƒฝๅƒ้ธก่›‹โ€็ญ‰ๅธธ่ง่ฏฏๅŒบ","ๆขณ็†็–พ็—…ๅ‘็”Ÿๅ› ๆžœ้“พๆก๏ผŒๅธฎๅŠฉ่ฏป่€…ไปŽๆบๅคดๆ‰พๅˆฐๅฅๅบทๅนฒ้ข„็š„็€ๅŠ›็‚น","ๆไพ›ไปŽไธ€ๆ—ฅไธ‰้คใ€่ฟๅŠจๅˆฐๅฟƒๆ€่ฐƒๅ…ป็š„ๅ…ทไฝ“ๅฏๆ“ไฝœ็”Ÿๆดปๆ–นๅผๆธ…ๅ•"]}],Ge=JSON.parse('{"title":"ๅฅฝไนฆๆŽจ่","description":"่ฏปไนฆๅฟƒๅพ—ใ€ๆŽจ่ไนฆ็ฑๅ’Œ้˜…่ฏปๆŠ€ๅทง","frontmatter":{"title":"ๅฅฝไนฆๆŽจ่","date":"2024-01-01T16:00:00.000Z","description":"่ฏปไนฆๅฟƒๅพ—ใ€ๆŽจ่ไนฆ็ฑๅ’Œ้˜…่ฏปๆŠ€ๅทง","categories":["growth"],"coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/books_reading_bg.png","permalink":"/growth/books","tags":["ๆ‚ฆ่ฏปๆ—ถๅ…‰","่ต„ๆบๆŽจ่"]},"headers":[],"relativePath":"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/01.ๅฅฝไนฆๆŽจ่.md","filePath":"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/01.ๅฅฝไนฆๆŽจ่.md"}'),Ne={name:"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/01.ๅฅฝไนฆๆŽจ่.md"},De=Object.assign(Ne,{setup(r){return(b,t)=>(a(),l("div",null,[t[0]||(t[0]=x("",4)),h(k,{books:g(Be)},null,8,["books"]),t[1]||(t[1]=x("",4)),h(k,{books:g(Ie)},null,8,["books"]),t[2]||(t[2]=e("h3",{id:"_2-2-ๅ•†ไธšๅŒ–",tabindex:"-1"},[n("2.2 ๅ•†ไธšๅŒ– "),e("a",{class:"header-anchor",href:"#_2-2-ๅ•†ไธšๅŒ–","aria-label":"Permalink to โ€œ2.2 ๅ•†ไธšๅŒ–โ€"},"โ€‹")],-1)),t[3]||(t[3]=e("blockquote",null,[e("p",null,[n("ๅœจ่ฟฝ้€โ€œ็‹ฌ่ง’ๅ…ฝโ€ๅ’Œ่ง„ๆจกๆ‰ฉๅผ ็š„็‹‚็ƒญ่ฟทๆ€ไน‹ๅŽ๏ผŒ็œŸๆญฃ็š„ๅ•†ไธš้ซ˜ๆ‰‹ๆญฃๅœจ้‡ๆ–ฐๅ›žๅฝ’ๆœฌ่ดจ๏ผš"),e("strong",null,"็›ˆๅˆฉๆ‰ๆ˜ฏไผไธš็š„ๆ ธๅฟƒๆŠคๅŸŽๆฒณใ€‚"),n(" ่ฟ™ๅฅ—ไนฆๅ•ไธบๆˆ‘ไปฌๆญ็คบไบ†ไธ€็ง"),e("strong",null,"ๆ›ดๅ…ท้Ÿงๆ€ง็š„ๅ•†ไธš่ทฏๅพ„โ€”โ€”โ€œๅฐ่€Œ็พŽโ€็š„ๆž็ฎ€็ป่ฅ"),n("ใ€‚ๅฎƒๆ•™ๅฏผๆˆ‘ไปฌๅฆ‚ไฝ•ๆ‹’็ปไฝŽๆ•ˆ็š„ๅ†…ๅทไธŽๅฟ™็ขŒ๏ผŒ้€š่ฟ‡โ€œๅšๆ›ดๅฐ‘ไฝ†ๅˆ›้€ ๆ›ดๅคšไปทๅ€ผโ€็š„ๆ€็ปด๏ผŒๆ‰“้€ ๅœจไธ็กฎๅฎšๆ—ถไปฃไธ‹ไพ็„ถ่ƒฝไฟๆŒ็จณๅฎš็Žฐ้‡‘ๆต็š„โ€œๆ…ขๅ…ฌๅธโ€ใ€‚")]),e("p",null,[e("strong",null,"ๅ•†ไธš็š„ๆˆๅŠŸ๏ผŒๅพ€ๅพ€ๆบไบŽๆ•ขไบŽๆŒ‘ๆˆ˜โ€œ้šพ่€Œๆญฃ็กฎโ€็š„ไบ‹"),n("ใ€‚ไปŽ็šฎๅ…‹ๆ–ฏๅฆ‚ไฝ•ๅปบ็ซ‹ๅ…่ฎธๅคฑ่ดฅ็š„ๅˆ›ๆ„ๅœŸๅฃค๏ผŒๅˆฐ Waze ๅฆ‚ไฝ•้€š่ฟ‡่งฃๅ†ณ่ขซๅฟฝ่ง†็š„็—›็‚นๅฎž็Žฐ่ทจ่ถŠๅผๆˆ้•ฟ๏ผŒ่ฟ™ไบ›ไธ–็•Œ็บงๆกˆไพ‹่ฏๆ˜Žไบ†๏ผšๅ“่ถŠ็š„็ป„็ป‡ไธไป…้œ€่ฆๆž็ฎ€็š„ๆต็จ‹ไธŽ้ซ˜ๆ•ˆ็š„ๅˆ†ๅธƒๅผๅไฝœ๏ผˆ่ฟœ็จ‹ๅŠžๅ…ฌ๏ผ‰๏ผŒๆ›ด้œ€่ฆไธ€็งโ€œๅ†ท้™โ€็š„ๆ–‡ๅŒ–๏ผŒๅฐ†ๅˆฉๆถฆ็ฝฎไบŽ่ง„ๆจกไน‹ไธŠใ€‚")])],-1)),h(k,{books:g(We)},null,8,["books"]),t[4]||(t[4]=e("h2",{id:"_3-ๆ•ˆ็އไธŽๆ•ˆ่ƒฝ",tabindex:"-1"},[n("3. ๆ•ˆ็އไธŽๆ•ˆ่ƒฝ "),e("a",{class:"header-anchor",href:"#_3-ๆ•ˆ็އไธŽๆ•ˆ่ƒฝ","aria-label":"Permalink to โ€œ3. ๆ•ˆ็އไธŽๆ•ˆ่ƒฝโ€"},"โ€‹")],-1)),t[5]||(t[5]=e("blockquote",null,[e("p",null,[n("ๅœจไฟกๆฏ่ฟ‡่ฝฝไธŽ้ซ˜ๅŽ‹็ซžไบ‰็š„็Žฐไปฃ็Žฏๅขƒไธญ๏ผŒๅนณๅบธไธŽๅ“่ถŠ็š„ๅˆ†ๆฐดๅฒญไธๅ†ๆ˜ฏๅšไบ‹็š„้€Ÿๅบฆ๏ผŒ่€Œๆ˜ฏ"),e("strong",null,"ๅ†ณ็ญ–็š„็ฒพๅบฆไธŽ่ดฃไปป็š„่พน็•Œ"),n("ใ€‚่ฟ™ๅฅ—ไนฆๅ•ไธบๆˆ‘ไปฌๆไพ›ไบ†ไธ€ๅฅ—ไปŽไธชไบบ่ฎค็Ÿฅๅˆฐ็ป„็ป‡ๅไฝœ็š„โ€œๆ•ˆ่ƒฝ้˜ฒ็บฟโ€๏ผš้ฆ–ๅ…ˆ๏ผŒๅฎƒ"),e("strong",null,"ๅผ•ๅฏผๆˆ‘ไปฌๅฎŒๆˆไปŽโ€œๆ—ถ้’Ÿโ€ๅˆฐโ€œ็ฝ—็›˜โ€็š„ๆ€็ปด่ทจ่ถŠ๏ผŒๆ‰“็ ด็›ฒ็›ฎ่ฟฝๆฑ‚้€Ÿๅบฆ็š„่ฟทๆ€๏ผŒ็กฎไฟๅฐ†ๆ ธๅฟƒ็ฒพๅŠ›ๅ€พๆณจๅœจ็œŸๆญฃไบง็”Ÿ้•ฟ่ฟœๅคๅˆฉ็š„โ€œ้‡่ฆ้ž็ดงๆ€ฅโ€ไบ‹ๅŠกไน‹ไธŠ"),n("ใ€‚ ็œŸๆญฃ็š„ๆ•ˆ่ƒฝๆบไบŽๅฏนๅคๆ‚ๆ€ง็š„็ง‘ๅญฆ้ฉพ้ฉญ๏ผš")]),e("ul",null,[e("li",null,"้€š่ฟ‡โ€œๆธ…ๅ•้ฉๅ‘ฝโ€ๅผ็š„่ฎค็Ÿฅ้˜ฒๆŠค๏ผŒๆˆ‘ไปฌๅฐ†ๆœ€ไฝณๅฎž่ทตๅค–ๅŒ–ไธบๅฏ้ ็š„้˜ฒ้”™็ณป็ปŸ๏ผŒๅผฅ่กฅไบบ็ฑปๅœจๆž็ซฏ็Žฏๅขƒไธ‹็š„่ฎค็Ÿฅๅฑ€้™๏ผ›"),e("li",null,"โ€œ็Œดๅญ็ฎก็†ๆณ•โ€ๅˆ™ไปฅ็”ŸๅŠจ็š„่ง†่ง’้‡ๅก‘ไบ†่Œๅœบๅไฝœ็š„่ดฃไปป้€ป่พ‘๏ผŒๆ•™ๆˆ‘ไปฌ้€š่ฟ‡ๆœ‰ๆ•ˆๆŽˆๆƒๆ‹’็ปๆ— ่ฐ“็š„ๅนฒๆ‰ฐ๏ผŒ้‡Šๆ”พๆˆ˜็•ฅๆ€่€ƒ็š„็ฒพๅŠ›๏ผ›")])],-1)),h(k,{books:g(Ye)},null,8,["books"]),t[6]||(t[6]=e("h2",{id:"_4-ๅญฆไน ไธŽๆˆ้•ฟ",tabindex:"-1"},[n("4. ๅญฆไน ไธŽๆˆ้•ฟ "),e("a",{class:"header-anchor",href:"#_4-ๅญฆไน ไธŽๆˆ้•ฟ","aria-label":"Permalink to โ€œ4. ๅญฆไน ไธŽๆˆ้•ฟโ€"},"โ€‹")],-1)),t[7]||(t[7]=e("blockquote",null,[e("p",null,[n("ๅœจไฟกๆฏ็ˆ†็‚ธไธŽๅฟซ้€Ÿๅ˜้ฉ็š„ๆ—ถไปฃ๏ผŒ"),e("strong",null,"็œŸๆญฃ็š„ๆˆ้•ฟไธๅ†ๆ˜ฏ็Ÿฅ่ฏ†็š„่ขซๅŠจๅ †็ Œ๏ผŒ่€Œๆ˜ฏ่ฎค็Ÿฅ็ณป็ปŸ็š„ๅฝปๅบ•่ฟญไปฃ"),n("ใ€‚่ฟ™ๅฅ—ไนฆๅ•ไธบๆˆ‘ไปฌๆž„ๅปบไบ†ไธ€ไธชไปŽๅบ•ๅฑ‚ๆ€็ปดๅˆฐไบบ็”Ÿ็ป่ฅ็š„้—ญ็Žฏ๏ผš")]),e("ul",null,[e("li",null,"้ฆ–ๅ…ˆ๏ผŒ้€š่ฟ‡ๆ‰นๅˆคๆ€งๆ€็ปดไธŽๆทฑๅบฆ้˜…่ฏปๅคฏๅฎžโ€œๅ…ƒ่ƒฝๅŠ›โ€๏ผŒๅœจๆณ›ๆปฅ็š„ไฟกๆฏไธญ่ฏ†ๅˆซๆœฌ่ดจ๏ผŒๅฐ†ไป–ไบบ็š„ๆดž่ง่ฝฌๅŒ–ไธบ่‡ชๅทฑ็š„่ก€่‚‰๏ผ›"),e("li",null,"ๅ…ถๆฌก๏ผŒๅˆฉ็”จโ€œๆฃ€็ดขๅŠ›โ€ๆ‰“็ ดไฟกๆฏๅทฎ๏ผŒ็กฎไฟ่‡ชๅทฑๅœจไปปไฝ•้ข†ๅŸŸ้ƒฝ่ƒฝๅฟซ้€Ÿ่Žทๅ–้ซ˜่ดจ้‡่ต„ๆบ๏ผŒๆŽŒๆก้€†้ฃŽ่€Œ่กŒ็š„ไธปๅŠจๆƒใ€‚")]),e("p",null,[e("strong",null,"ไบบ็”Ÿไธๆ˜ฏไธ€ๅœบ็›ฒ็›ฎ็š„้•ฟ่ท‘๏ผŒ่€Œๆ˜ฏไธ€ๅœบๅŸบไบŽโ€œๅŽŸๅˆ™โ€็š„็ฒพๅฏ†็ป่ฅ"),n("ใ€‚ไปŽ่พพๅˆฉๆฌง็š„็ณป็ปŸๅŒ–ๅ†ณ็ญ–๏ผŒๅˆฐ็บณ็“ฆๅฐ”็š„่ดขๅฏŒไธŽๅนธ็ฆ้€ป่พ‘๏ผŒ่ฟ™ไบ›ๆ™บ่€…ๆ•™ๅฏผๆˆ‘ไปฌๅฆ‚ไฝ•ๅˆฉ็”จๆ ๆ†ใ€ๅšๆŒ้•ฟๆœŸไธปไน‰๏ผŒๅฐ†่‡ชๅทฑ่ง†ไฝœไธ€ๅฎถโ€œไบบ็”Ÿๆœ‰้™ๅ…ฌๅธโ€ๆฅ็ป่ฅใ€‚ๆˆ‘ไปฌ้œ€่ฆๆ‘†่„ฑโ€œไผ˜็ง€็ปต็พŠโ€ๅผ็š„่ขซๅŠจ้ฉฑๅŠจ๏ผŒ้€š่ฟ‡่ฏ†ๅˆซๆˆ้•ฟ็š„โ€œ็ฌฌไบŒๆ›ฒ็บฟโ€๏ผŒๅœจๅท…ๅณฐๆ—ถๅˆปไธปๅŠจๅฏปๆฑ‚็ช็ ด๏ผŒๅฐ†่‡ชๅทฑๆ‰“้€ ๆˆไธๅฏๆ›ฟไปฃ็š„็จ€็ผบ่ต„ไบงใ€‚้˜…่ฏป่ฟ™ไบ›็ปๅ…ธ๏ผŒไธไป…ๆ˜ฏไธบไบ†ไน ๅพ—ๆŠ€่ƒฝ๏ผŒๆ›ดๆ˜ฏไธบไบ†ๅœจ็ฎ—ๆณ•ไธŽ็„ฆ่™‘็š„ๅคนๅ‡ปไธญ๏ผŒ้‡ๅก‘ๅ†…ๅฟƒ็š„ๅฎ้™ไธŽ็‹ฌ็ซ‹ๅˆคๆ–ญ็š„ๅ‹‡ๆฐ”ใ€‚")])],-1)),h(k,{books:g(Te)},null,8,["books"]),t[8]||(t[8]=e("h2",{id:"_5-ไบบๆ–‡็คพ็ง‘",tabindex:"-1"},[n("5. ไบบๆ–‡็คพ็ง‘ "),e("a",{class:"header-anchor",href:"#_5-ไบบๆ–‡็คพ็ง‘","aria-label":"Permalink to โ€œ5. ไบบๆ–‡็คพ็ง‘โ€"},"โ€‹")],-1)),t[9]||(t[9]=e("blockquote",null,[e("p",null,"ๅœจๅฎ่ง‚ๅކๅฒไธŽๅพฎ่ง‚็Žฐๅฎž้—ดๆž„ๅปบ่ฎค็Ÿฅ๏ผšๅœจ็ขŽ็‰‡ๅŒ–ไธŽไธ็กฎๅฎšๆ€งๅนถๅญ˜็š„ๆ—ถไปฃ๏ผŒ็ฉฟ้€่กจ่ฑกใ€็›ด่พพๆœฌ่ดจ็š„ๆดžๅฏŸๅŠ›ๆˆไธบๅฟ…้œ€ใ€‚่ฟ™ๅฅ—ๅ•ไธบๆˆ‘ไปฌๅผ€ๅฏไบ†ไธคๆ‰‡็ช—๏ผš"),e("ul",null,[e("li",null,"ไธ€ๆ‰‡ๆœ›ๅ‘ไธ‡ๅนดๆ–‡ๆ˜Ž็š„ๅฎๅคงๅๆ ‡๏ผŒ้€š่ฟ‡ใ€Šๆžช็‚ฎใ€็—…่ŒไธŽ้’ข้“ใ€‹็š„่ทจๅญฆ็ง‘่ง†้‡Ž๏ผŒๆ‹†่งฃๅœฐ็†็Žฏๅขƒๅฆ‚ไฝ•ๅ†ท้…ท่€Œๅถ็„ถๅœฐ้‡ๅก‘ๅ…จ็ƒ็‰ˆๅ›พ๏ผŒๅฝปๅบ•้ข ่ฆ†โ€œๆ–‡ๆ˜Žไผ˜่ถŠ่ฎบโ€็š„ๅ‚ฒๆ…ข๏ผ›"),e("li",null,"ๅฆไธ€ๆ‰‡ๅˆ™็…งๅ‘ๅฝ“ไธ‹็คพไผš็š„็œŸๅฎž่‚Œ็†๏ผŒๅœจๆขๆ™“ๅฃฐๅฏนๅ„้˜ถๅฑ‚็”Ÿๅญ˜ๅ›ฐๅขƒ็š„็ป†่…ปๆๆ‘นไธญ๏ผŒ่ฏปๆ‡‚ๅคงๆ—ถไปฃๅ˜้ฉ่ƒŒๅŽ้š็ง˜็š„็ป“ๆž„ๆ€ง้€ป่พ‘ไธŽ้˜ถๅฑ‚็„ฆ่™‘ใ€‚")]),e("p",null,[e("strong",null,"ไบบๆ–‡ๆ€่€ƒ็š„็ปˆๆžไปทๅ€ผ๏ผŒๅœจไบŽๅฆ‚ไฝ•ๅฐ†ๅฎๅคงๅ™ไบ‹่ฝฌๅŒ–ไธบไธชไบบ็š„่กŒๅŠจๅŠ›้‡"),n("ใ€‚ๆญฃๅฆ‚้กน้ฃ™ๆ‰€ๅ€กๅฏผ็š„โ€œๆŠŠ่‡ชๅทฑไฝœไธบๆ–นๆณ•โ€๏ผŒ่ฟ™ไบ›่‘—ไฝœไธไป…ๆ˜ฏ็Ÿฅ่ฏ†็š„ไผ ้€’๏ผŒๆ›ดๆ˜ฏๆ€็ปด็š„ๆพ็ป‘ใ€‚ๅฎƒไปฌๆ•™ๅฏผๆˆ‘ไปฌไธๅ†ๅšๆ—ถไปฃ็š„่ขซๅŠจๆ—่ง‚่€…๏ผŒ่€Œๆ˜ฏๅญฆไผšๅœจไธชไบบไฝ“้ชŒไธŽๅฎ่ง‚ไธ–็•Œไน‹้—ดๆญๅปบๆกฅๆข๏ผŒ้€š่ฟ‡้‡ๅปบโ€œ้™„่ฟ‘โ€็š„ๅฐไธ–็•Œ๏ผŒๅœจๅ–งๅšฃไธญๆ‰พๅ‡†่‡ชๆˆ‘็š„ๅฎšไฝใ€‚")])],-1)),h(k,{books:g(Me)},null,8,["books"]),t[10]||(t[10]=e("h2",{id:"_6-ๅฅๅบท็”Ÿๆดป",tabindex:"-1"},[n("6. ๅฅๅบท็”Ÿๆดป "),e("a",{class:"header-anchor",href:"#_6-ๅฅๅบท็”Ÿๆดป","aria-label":"Permalink to โ€œ6. ๅฅๅบท็”Ÿๆดปโ€"},"โ€‹")],-1)),t[11]||(t[11]=e("img",{src:$,style:{width:"100%","border-radius":"8px","margin-bottom":"20px"},alt:"about site background"},null,-1)),t[12]||(t[12]=e("blockquote",null,[e("p",null,[n("ๅœจ้ขไธดๅคงๆฆ‚็އๆดปๅˆฐ100ๅฒ็š„โ€œ้•ฟๅฏฟๆ—ถไปฃโ€๏ผŒไผ ็ปŸ็š„็บฟๆ€งไบบ็”Ÿๆจกๅผๆญฃๅœจๅคฑๆ•ˆใ€‚ๆˆ‘ไปฌ้œ€่ฆๅฏนโ€œๅฅๅบทโ€่ฟ›่กŒไธ€ๆฌกๅฝปๅบ•็š„่ฎค็Ÿฅ้‡ๆž„๏ผš"),e("strong",null,"ๅฅๅบทไธๅ†ไป…ไป…ๆ˜ฏโ€œๆฒกๆœ‰็–พ็—…โ€๏ผŒ่€Œๆ˜ฏๆ”ฏๆ’‘ๆˆ‘ไปฌ่ทจ่ถŠๆผซ้•ฟ็”Ÿๅ‘ฝๅ‘จๆœŸใ€ๅบ”ๅฏนๅคš้˜ถๆฎตไบบ็”ŸๆŒ‘ๆˆ˜็š„ๆœ€ๆ ธๅฟƒโ€œๆ— ๅฝข่ต„ไบงโ€"),n("ใ€‚ๆƒณ่ฆ่ฎฉ่ฟ™ๅฅ—็”Ÿๅ‘ฝ็ณป็ปŸ้•ฟๆœŸๅนณ็จณ่ฟ่กŒ๏ผŒ็œŸๆญฃ็š„่งฃๆณ•ๅนถไธๅœจๅŒป้™ข็š„ๅค„ๆ–น็ฌบ้‡Œ๏ผŒ่€Œๆ˜ฏ้š่—ๅœจๆˆ‘ไปฌๆฏๅคฉ็š„ๆ—ฅๅธธ้€‰ๆ‹ฉไธญใ€‚")]),e("p",null,[n("ๅ†ณๅฎšๆˆ‘ไปฌ้•ฟๆœŸๅฅๅบท็Šถๆ€็š„๏ผŒๆœ‰ 99 %ๅ–ๅ†ณไบŽๆ—ฅๅธธไน ๆƒฏใ€‚ๆˆ‘ไปฌ้œ€่ฆ"),e("strong",null,"ๅœจไผ‘ๆฏใ€้ฅฎ้ฃŸใ€่ฟๅŠจใ€็ก็œ ่ฟ™ๅ››ไธช้ซ˜้ข‘็”Ÿๆดป็ปดๅบฆไธญ๏ผŒๆคๅ…ฅๅพฎๅฐไฝ†ๆ ๆ†็އๆž้ซ˜็š„ๆ”นๅ˜"),n("๏ผˆไพ‹ๅฆ‚12ๅฐๆ—ถ่ฟ›้ฃŸ็ช—ๅฃใ€10ๅˆ†้’Ÿ้ซ˜ๅผบๅบฆ่ฟๅŠจใ€็กๅ‰ๅฑ่”ฝๆ•ฐๅญ—้€š็Ÿฅ็ญ‰๏ผ‰ใ€‚็”จๆœ€ไฝŽ็š„ๆ‰ง่กŒๆˆๆœฌ๏ผŒ็ฝฎๆข่บซๅฟƒ็Šถๆ€็š„ๅทจๅคงๅ›žๆŠฅใ€‚")])],-1)),h(k,{books:g($e)},null,8,["books"])]))}});export{Ge as __pageData,De as default}; diff --git "a/assets/30.\346\202\246\350\257\273\346\227\266\345\205\211_10.\350\257\273\344\271\246\344\270\211\350\246\201\344\270\211\344\270\215\350\246\201.md.DaAm_LXA.js" "b/assets/30.\346\202\246\350\257\273\346\227\266\345\205\211_10.\350\257\273\344\271\246\344\270\211\350\246\201\344\270\211\344\270\215\350\246\201.md.BQj2m1KY.js" similarity index 99% rename from "assets/30.\346\202\246\350\257\273\346\227\266\345\205\211_10.\350\257\273\344\271\246\344\270\211\350\246\201\344\270\211\344\270\215\350\246\201.md.DaAm_LXA.js" rename to "assets/30.\346\202\246\350\257\273\346\227\266\345\205\211_10.\350\257\273\344\271\246\344\270\211\350\246\201\344\270\211\344\270\215\350\246\201.md.BQj2m1KY.js" index 4eb9de55..c93d6a92 100644 --- "a/assets/30.\346\202\246\350\257\273\346\227\266\345\205\211_10.\350\257\273\344\271\246\344\270\211\350\246\201\344\270\211\344\270\215\350\246\201.md.DaAm_LXA.js" +++ "b/assets/30.\346\202\246\350\257\273\346\227\266\345\205\211_10.\350\257\273\344\271\246\344\270\211\350\246\201\344\270\211\344\270\215\350\246\201.md.BQj2m1KY.js" @@ -1 +1 @@ -import{_ as o,g as a,h as r,U as e}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const c=JSON.parse('{"title":"่ฏปไนฆโ€œไธ‰่ฆโ€ๅ’Œโ€œไธ‰ไธ่ฆโ€","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจไฟกๆฏ็ˆ†็‚ธ็š„ๆ—ถไปฃ๏ผŒ่ฏปไนฆไพ็„ถๆ˜ฏ่Žทๅ–ๆทฑๅบฆ็Ÿฅ่ฏ†ๆœ€้ซ˜ๆ•ˆ็š„ๆ–นๅผไน‹ไธ€ใ€‚ไฝ†โ€œๆง่ตทไนฆโ€ๅนถไธ็ญ‰ไบŽโ€œๆœ‰ๆ”ถ่Žทโ€๏ผŒๆ€Žไนˆ่ฏปๅพ€ๅพ€ๆฏ”่ฏปไป€ไนˆๆ›ด้‡่ฆใ€‚ๆœฌๆ–‡ๆ€ป็ป“ไบ†้ซ˜ๆ•ˆ้˜…่ฏป็š„โ€œไธ‰่ฆโ€ไธŽโ€œไธ‰ไธ่ฆโ€๏ผšไปŽๅฎŒๆ•ด้˜…่ฏป่ง‚ๆ‘ฉๅคงๅธˆๆ€็ปดใ€ๅธฆ็€้—ฎ้ข˜ๆž„ๅปบ็Ÿฅ่ฏ†ๆ ‘๏ผŒๅˆฐ้€š่ฟ‡่ฎจ่ฎบๆฃ€้ชŒ็†่งฃ๏ผ›ๅŒๆ—ถๆ้†’้˜…่ฏป่€…่ญฆๆƒ•ๅ“€ๆ€จๅฟƒๆ€ๅฏน้˜…่ฏปๅˆ่กท็š„ๅผ‚ๅŒ–ใ€้ฟๅ…้™ทๅ…ฅๅฏน็‰ฉ็†ๅช’ไป‹็š„โ€œ็Žฉ็‰ฉไธงๅฟ—โ€๏ผŒไปฅๅŠๅˆ‡ๅฟŒ่„ฑ็ฆป็Žฐๅฎž็š„โ€œ็œŸ็ฉบโ€้˜…่ฏปใ€‚้˜…่ฏปไธไป…ๆ˜ฏๅ‘ๅ†…ๆŽข็ดข็š„็ฒพ็ฅžไน‹ๆ—…๏ผŒๆ›ดๆ˜ฏๅ‘ๅค–็†่งฃ็œŸๅฎžไธ–็•Œใ€ๅˆ›้€ ็คพไผšไปทๅ€ผ็š„ๅฎž็”จๅทฅๅ…ทใ€‚","frontmatter":{"date":"2025-03-06T11:42:20.000Z","title":"่ฏปไนฆโ€œไธ‰่ฆโ€ๅ’Œโ€œไธ‰ไธ่ฆโ€","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจไฟกๆฏ็ˆ†็‚ธ็š„ๆ—ถไปฃ๏ผŒ่ฏปไนฆไพ็„ถๆ˜ฏ่Žทๅ–ๆทฑๅบฆ็Ÿฅ่ฏ†ๆœ€้ซ˜ๆ•ˆ็š„ๆ–นๅผไน‹ไธ€ใ€‚ไฝ†โ€œๆง่ตทไนฆโ€ๅนถไธ็ญ‰ไบŽโ€œๆœ‰ๆ”ถ่Žทโ€๏ผŒๆ€Žไนˆ่ฏปๅพ€ๅพ€ๆฏ”่ฏปไป€ไนˆๆ›ด้‡่ฆใ€‚ๆœฌๆ–‡ๆ€ป็ป“ไบ†้ซ˜ๆ•ˆ้˜…่ฏป็š„โ€œไธ‰่ฆโ€ไธŽโ€œไธ‰ไธ่ฆโ€๏ผšไปŽๅฎŒๆ•ด้˜…่ฏป่ง‚ๆ‘ฉๅคงๅธˆๆ€็ปดใ€ๅธฆ็€้—ฎ้ข˜ๆž„ๅปบ็Ÿฅ่ฏ†ๆ ‘๏ผŒๅˆฐ้€š่ฟ‡่ฎจ่ฎบๆฃ€้ชŒ็†่งฃ๏ผ›ๅŒๆ—ถๆ้†’้˜…่ฏป่€…่ญฆๆƒ•ๅ“€ๆ€จๅฟƒๆ€ๅฏน้˜…่ฏปๅˆ่กท็š„ๅผ‚ๅŒ–ใ€้ฟๅ…้™ทๅ…ฅๅฏน็‰ฉ็†ๅช’ไป‹็š„โ€œ็Žฉ็‰ฉไธงๅฟ—โ€๏ผŒไปฅๅŠๅˆ‡ๅฟŒ่„ฑ็ฆป็Žฐๅฎž็š„โ€œ็œŸ็ฉบโ€้˜…่ฏปใ€‚้˜…่ฏปไธไป…ๆ˜ฏๅ‘ๅ†…ๆŽข็ดข็š„็ฒพ็ฅžไน‹ๆ—…๏ผŒๆ›ดๆ˜ฏๅ‘ๅค–็†่งฃ็œŸๅฎžไธ–็•Œใ€ๅˆ›้€ ็คพไผšไปทๅ€ผ็š„ๅฎž็”จๅทฅๅ…ทใ€‚","coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/reading_need.png","permalink":"/pages/growth/reading-tips","sticky":1,"top":true,"categories":["ๆ‚ฆ่ฏปๆ—ถๅ…‰"],"tags":["ๆ‚ฆ่ฏปๆ—ถๅ…‰"]},"headers":[],"relativePath":"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/10.่ฏปไนฆไธ‰่ฆไธ‰ไธ่ฆ.md","filePath":"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/10.่ฏปไนฆไธ‰่ฆไธ‰ไธ่ฆ.md"}'),i={name:"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/10.่ฏปไนฆไธ‰่ฆไธ‰ไธ่ฆ.md"};function l(n,t,s,p,g,h){return r(),a("div",null,[...t[0]||(t[0]=[e('

่ฏปไนฆโ€œไธ‰่ฆโ€ๅ’Œโ€œไธ‰ไธ่ฆโ€ โ€‹

ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจไฟกๆฏ็ˆ†็‚ธ็š„ๆ—ถไปฃ๏ผŒ่ฏปไนฆไพ็„ถๆ˜ฏ่Žทๅ–ๆทฑๅบฆ็Ÿฅ่ฏ†ๆœ€้ซ˜ๆ•ˆ็š„ๆ–นๅผไน‹ไธ€ใ€‚ไฝ†โ€œๆง่ตทไนฆโ€ๅนถไธ็ญ‰ไบŽโ€œๆœ‰ๆ”ถ่Žทโ€๏ผŒๆ€Žไนˆ่ฏปๅพ€ๅพ€ๆฏ”่ฏปไป€ไนˆๆ›ด้‡่ฆใ€‚ๆœฌๆ–‡ๆ€ป็ป“ไบ†่ฏปไนฆ็š„โ€œไธ‰่ฆโ€ไธŽโ€œไธ‰ไธ่ฆโ€๏ผšไปŽๅฎŒๆ•ด้˜…่ฏป่ง‚ๆ‘ฉๅคงๅธˆๆ€็ปดใ€ๅธฆ็€้—ฎ้ข˜ๆž„ๅปบ็Ÿฅ่ฏ†ๆ ‘๏ผŒๅˆฐ้€š่ฟ‡่ฎจ่ฎบๆฃ€้ชŒ็†่งฃ๏ผ›ๅŒๆ—ถๆ้†’้˜…่ฏป่€…่ญฆๆƒ•ๅ“€ๆ€จๅฟƒๆ€ๅฏน้˜…่ฏปๅˆ่กท็š„ๅผ‚ๅŒ–ใ€้ฟๅ…้™ทๅ…ฅๅฏน็‰ฉ็†ๅช’ไป‹็š„โ€œ็Žฉ็‰ฉไธงๅฟ—โ€๏ผŒไปฅๅŠๅˆ‡ๅฟŒ่„ฑ็ฆป็Žฐๅฎž็š„โ€œ็œŸ็ฉบโ€้˜…่ฏปใ€‚้˜…่ฏปไธไป…ๆ˜ฏๅ‘ๅ†…ๆŽข็ดข็š„็ฒพ็ฅžไน‹ๆ—…๏ผŒๆ›ดๆ˜ฏๅ‘ๅค–็†่งฃ็œŸๅฎžไธ–็•Œใ€ๅˆ›้€ ็คพไผšไปทๅ€ผ็š„ๅฎž็”จๅทฅๅ…ทใ€‚

about site background

1. ๆˆ‘ไปฌไธบไป€ไนˆ้œ€่ฆ่ฏปไนฆ๏ผŸ โ€‹

่ฏปไนฆๆ˜ฏไปŽๅค–็•ŒๆŽฅๅ—ไฟกๆฏ็š„ไธ€็งๆ–นๅผ๏ผŒไธŽ่Šๅคฉใ€ๆต่งˆ็ฝ‘้กตใ€ๅฌๆ’ญๅฎขใ€็œ‹็”ต่ง†ๅนถๆ— ๆœฌ่ดจๅŒบๅˆซใ€‚ไฝ†ไนฆ่ฟ™็งๅช’ไป‹ไธŽๅ…ถไป–ไฟกๆฏๅช’ไป‹็›ธๆฏ”๏ผŒๆœ‰ๅ…ถ็‹ฌๆœ‰็š„ไผ˜ๅŠฟ๏ผš

  • ๆทฑๅบฆไธŽไธฅ่ฐจ๏ผšไนฆ็ฑๅพ€ๅพ€ๆ˜ฏๅˆ›ไฝœ่€…ๅคšๅนดๆ€่€ƒใ€้•ฟๆœŸๅ†™ไฝœ็š„ไบง็‰ฉ๏ผŒ็ป่ฟ‡ไธ“ไธš็ผ–่พ‘ๅๅคไฟฎๆ”นๆ กๅฏน๏ผŒ็Ÿฅ่ฏ†ๅฏ†ๅบฆ่ฟœ้ซ˜ไบŽๆ—ฅๅธธ่ฐˆ่ฏๆˆ–็ขŽ็‰‡ๅ†…ๅฎนใ€‚
  • ไธ“ๆณจไธŽๅๅˆ๏ผš่ฏปไนฆๅ…่ฎธ่ฏป่€…ไธ“ๆณจๅ…ถไธญ๏ผŒไนฆไธญ็š„ไฟกๆฏๅ› ๆญคๅพ€ๅพ€ๆก็†ๆธ…ๆ™ฐใ€้€ป่พ‘ไธฅๅฏ†๏ผŒ่ฏญ่จ€ไนŸๆ›ดไธบ็ฒพ็ปƒ็ดงๅ‡‘ใ€‚่ฏป่€…ๅฏไปฅ้šๆ—ถๅœไธ‹็ฟปๅ›žๅๅค็ข็ฃจใ€ๆŽจๆ•ฒใ€‚็›ธๆฏ”ไน‹ไธ‹๏ผŒ็”ต่ง†็”ป้ขไธ€้—ช่€Œ่ฟ‡๏ผŒๅพˆ้šพ่ฟ›่กŒๅฑ‚ๅฑ‚้€’่ฟ›็š„ๆทฑๅ…ฅๅˆ†ๆžใ€‚
  • ็Ÿฅ่ฏ†ๅฏ†ๅบฆ้ซ˜๏ผšๆฒ‰ๆท€ๅœจไนฆไธญ็š„ไฟกๆฏ๏ผŒๅพ€ๅพ€้€ป่พ‘ๆ€งๅผบใ€่ฏญ่จ€็ฒพ็ปƒ็ดงๅ‡‘๏ผˆๅณๆ‰€่ฐ“็š„โ€œไนฆ้ข่ฏญโ€๏ผ‰๏ผŒ็Ÿฅ่ฏ†ๅซ้‡่ฟœ่ถ…ๆ—ฅๅธธ็ขŽ็‰‡ๅŒ–ไฟกๆฏใ€‚่ฎค็œŸ่ฏปๅฎŒไธ€ๆœฌๅฅฝไนฆ๏ผŒ่Žทๅพ—็š„็Ÿฅ่ฏ†ไธŽๆ€่€ƒๆทฑๅบฆ๏ผŒๅพ€ๅพ€่ถ…่ฟ‡็œ‹ๅ‡ ้ƒจๅ‰งใ€ๅˆทๅ‡ ๅฐๆ—ถ็Ÿญ่ง†้ข‘๏ผŒ็”š่‡ณ่Šๅ‡ ไธชๅฐๆ—ถๅคฉ็š„ๆ€ปๅ’Œใ€‚

่ฎค็œŸ่ฏปไธ€ๆœฌๅฅฝไนฆ๏ผŒๅพ€ๅพ€ๆฏ”็œ‹ไธ€้ƒจ็”ต่ง†ๅ‰งๆˆ–ๆผซๆ— ็›ฎ็š„ๅœฐๆต่งˆ็ฝ‘้กต่ƒฝ่Žทๅพ—ๆ›ดๅคš็Ÿฅ่ฏ†ใ€‚ไฝ†่ฟ™ๅนถไธๆ„ๅ‘ณ็€โ€œๅช่ฆๆง่ตทไนฆๅฐฑไธ€ๅฎšๆœ‰ๆ”ถ่Žทโ€๏ผŒๅ…ณ้”ฎๅœจไบŽๆ€Žไนˆ่ฏปใ€‚

2. ่ฏปไนฆ"ไธ‰่ฆ" โ€‹

็ฌฌไธ€โ€œ่ฆโ€๏ผšๅฎŒๆ•ดๅœฐ่ฏป๏ผŒๆ•ดๆœฌๅœฐ่ฏป โ€‹

ๅฏนไบŽๅฅฝไนฆ๏ผŒ่ฆๅฎŒๆ•ดๅœฐ่ฏปใ€ๆ•ดๆœฌๅœฐ่ฏป๏ผŒไธ่ฆๅชๆก็ป“่ฎบใ€‚

ๅพˆๅคšไบบไน ๆƒฏ็›ดๆŽฅ็œ‹็ป“่ฎบๅ’Œ่ง‚็‚น๏ผŒ่ง‰ๅพ—่ฟ™ๆ ทๆ•ˆ็އ้ซ˜ใ€‚ไฝ†่ฟ™ๆ ทๅšๆœ‰ไธ€ไธชๆ นๆœฌ็ผบ้™ท๏ผšไฝ ๅชๅพ—ๅˆฐไบ†็ญ”ๆกˆ๏ผŒๅด้”™่ฟ‡ไบ†ๆ€่€ƒๆ–นๆณ•ๆœฌ่บซใ€‚

ๆŽŒๆกๆ€่€ƒๆ–นๆณ•็š„ๅ”ฏไธ€้€”ๅพ„๏ผŒๆ˜ฏ้€š่ฟ‡ๅฎŒๆ•ดๅœฐ้˜…่ฏปๆฅ่ง‚ๆ‘ฉไผ˜็ง€็š„ๅคงๅธˆๆ˜ฏๅฆ‚ไฝ•ๆ€่€ƒ็š„โ€”โ€”ไป–ไปฌๅฆ‚ไฝ•ไธ€ๆญฅๆญฅๆŽจๅฏผๅ‡บ็ป“่ฎบ๏ผŒๅฆ‚ไฝ•ๅˆ†ๆžๅ’Œๆ‰นๅˆคไธๅŒ็š„่ง‚็‚น๏ผŒ้‡ๅˆฐๅ›ฐ้šพๆ—ถๅˆๅฆ‚ไฝ•่ฝฌๆข่ง†่ง’ใ€‚็œ‹ๅพ—ๅคšไบ†๏ผŒ่‡ช็„ถ่ƒฝๆธๆธ็ชฅ่ง้—จ้“๏ผŒๅ†่พ…ไปฅๅ‹คๆณ็š„ๆ€่€ƒ่ฎญ็ปƒ๏ผŒๆ‰่ƒฝ็œŸๆญฃๅฐ†ๆ€็ปดๆ–นๆณ•ๅ†…ๅŒ–ใ€‚

็›ธๅ๏ผŒๅช็Ÿฅ้“่ง‚็‚นใ€ไธๆŽŒๆกๆ–นๆณ•็š„ๅŽๆžœ๏ผŒๆ˜ฏ"ๅˆป่ˆŸๆฑ‚ๅ‰‘"๏ผš

  • ็†่ฎบ็š„้€‚็”จๆกไปถๅช่ฆ็จๆœ‰ไบ›ๅ˜ๅŒ–๏ผŒไพฟๆ— ๆ‰€้€‚ไปŽ๏ผŒๅชไผšๆŠŠ้‚ฃๅ‡ ๆก่ง‚็‚นๅๅค่ƒŒ่ฏตๅฅ—็”จใ€‚
  • ็ปๅ…ธ่‘—ไฝœๅพ€ๅพ€ๅ…ทๆœ‰ๅคๆ‚ๆ€ง๏ผŒ่ฏป่ตทๆฅๅฟ…้กปๅŠจ่„‘็ญ‹ใ€‚ๅช่ƒŒ่ฏต็ป“่ฎบไธๆ˜ฏไผ ๆŽˆๅญฆ้—ฎ็š„ๆ–นๆณ•๏ผŒ่€Œๆ˜ฏๅŸนๅ…ป็›ฒไปŽไฟกๅพ’็š„ๆ–นๆณ•๏ผŒ่€Œไธๆ˜ฏๅšๅญฆ้—ฎ็š„่ทฏๅพ„ใ€‚

็ฌฌไบŒโ€œ่ฆโ€๏ผšๅธฆ็€้—ฎ้ข˜ๅŽป่ฏป๏ผŒๆž„ๅปบ็Ÿฅ่ฏ†ๆ ‘ โ€‹

่ฆๅธฆ็€้—ฎ้ข˜ๅŽป่ฏปไนฆ๏ผŒๅฐ†ๆ•ฃไนฑ็š„ไฟกๆฏๆž„ๅปบๆˆๆธ…ๆ™ฐ็š„็Ÿฅ่ฏ†ๆ ‘ใ€‚

ๆฏไธ€ๆœฌ็Ÿฅ่ฏ†ๆ€งไนฆ็ฑ๏ผŒ่ƒŒๅŽ้ƒฝๆœ‰ไธ€ไธช๏ผˆๆˆ–ไธ€็ป„๏ผ‰ๆ ธๅฟƒ้—ฎ้ข˜ใ€‚็Ÿฅ่ฏ†ๆ€งไนฆ็ฑ็š„่ฏž็”Ÿ๏ผŒๅพ€ๅพ€ๆ˜ฏไธบไบ†่งฃ็ญ”ใ€ๆ‰น้ฉณๆˆ–่ตžๅŒๆŸไธช็‰นๅฎš็š„่ง‚็‚น๏ผŒๅฅฝ็š„ไฝœ่€…ไผšๅ…ˆๆŠŠไป–่ฆๅ›ž็ญ”็š„้—ฎ้ข˜ไบคไปฃๆธ…ๆฅš๏ผŒๅ†ๅฑ•ๅผ€่ฎบ่ฟฐใ€‚

  • ่ฟ˜ๅŽŸโ€œ้—ฎ้ข˜ๆƒ…ๅขƒโ€๏ผšๅพˆๅคšๆตไผ ่‡ณไปŠ็š„ๅ่‘—๏ผŒ็Žฐไปฃไบบไน‹ๆ‰€ไปฅ่ฏปไธ่ฟ›ๅŽป๏ผŒๆ˜ฏๅ› ไธบๅฏนๅฝ“ๆ—ถ็š„โ€œ้—ฎ้ข˜ๆƒ…ๅขƒโ€ไธ€ๆ— ๆ‰€็Ÿฅใ€‚่ฎธๅคš็ปๅ…ธๅœจๅฝ“ๅนด้ƒฝๆ˜ฏ้”‹่Š’ๆฏ•้œฒใ€้’ˆ้”‹็›ธๅฏน็š„่ฎบ่พฉๆ€งไฝœๅ“๏ผŒๆ˜ฏไธบไบ†่งฃๅ†ณๅฝ“ๆ—ถ็š„็—›็‚น่€Œ็”Ÿใ€‚ไธ€ๆ—ฆไฝ ไบ†่งฃไบ†่ฟ™ไบ›่ƒŒๆ™ฏ๏ผŒไบ‹ๅ…ˆ็Ÿฅ้“ไบ†่ฟ™ๆœฌไนฆๅœจๅญฆ็ง‘่ฐฑ็ณปไธญ็š„ไฝ็ฝฎ๏ผŒ้˜…่ฏปๅฐฑไผšๅ˜ๅพ—ๅƒ่ฟฝ่ธชไธ€ๅœบ็ฒพๅฝฉ็š„่พฉ่ฎบไธ€ๆ ทๆœ‰่ถฃใ€‚

  • ่ฟž็‚นๆˆๆ ‘๏ผšๅธฆ็€ไบŸๅพ…ๅ›ž็ญ”็š„้—ฎ้ข˜ๅŽป่ฏปไนฆ๏ผŒไธไฝ†ไธไผš่ง‰ๅพ—ๆžฏ็‡ฅ๏ผŒๅ่€Œ่ƒฝๅ……ๅˆ†ไบซๅ—ๆ–ฐ็Ÿฅ็š„ไน่ถฃใ€‚่ฟ™ๆ ทๅธๆ”ถ่ฟ›ๆฅ็š„็Ÿฅ่ฏ†ไธๅ†ๆ˜ฏๆ— ๆ„ไน‰็š„ๅ †็งฏ็‰ฉ๏ผŒ่€Œๆ˜ฏๆฒฟ็€โ€œๆ‰นๅˆคโ€”ๅๆ‰นๅˆคโ€”ๅ†ๆ‰นๅˆคโ€็บฟ็ดข็”Ÿ้•ฟๅ‡บๆฅ็š„ใ€ๆธ…ๆ™ฐ็š„็Ÿฅ่ฏ†ๆ ‘ใ€‚ๆœ‰ไบ†็Ÿฅ่ฏ†ๆ ‘๏ผŒๆ‰่ƒฝ็œŸๆญฃๅฝขๆˆ่‡ชๅทฑ็š„ๆ€ๆƒณ่ง‚ๅฟต๏ผŒๆ‰่ƒฝๆก็†ๆธ…ๆ™ฐๅœฐ็†่งฃไธ–็•Œใ€‚

  • ๅ–„็”จๆŒ‡ๅผ•๏ผš่€ๅธˆๆˆ–ๅฏผ่ฏปๆ— ๆณ•ไปฃๆ›ฟไฝ ่ฏปไนฆ๏ผŒไฝ†ๅฏไปฅๅธฎไฝ ่งฃ้‡Š้—ฎ้ข˜ๆƒ…ๅขƒใ€ๆŒ‡ๆ˜Ž็Ÿฅ่ฏ†้—จๅพ„ใ€ไบคไปฃ่ฏญๅขƒ๏ผˆๆ‰€่ฐ“โ€œๅธˆๅ‚…้ข†่ฟ›้—จ๏ผŒไฟฎ่กŒๅœจไธชไบบโ€๏ผ‰๏ผŒๅคงๅคงๆ้ซ˜ไฝ ็š„้˜…่ฏปๆ•ˆ็އๅ’Œ็†่งฃๆทฑๅบฆใ€‚

็ฌฌไธ‰โ€œ่ฆโ€๏ผšไธŽไบบ๏ผˆๆˆ–AI๏ผ‰่ฎจ่ฎบ๏ผŒๆฃ€้ชŒ็†่งฃ็š„่ฏ•้‡‘็Ÿณ โ€‹

่ฏปๅฎŒไธ€ๆœฌไนฆ๏ผŒ่ฆๆ‰พไบบ่ฎจ่ฎบ๏ผˆไนŸๅฏไปฅไธŽ่ƒฝๅŠ›่พƒๅผบ็š„ AI ๅทฅๅ…ทๆทฑๅบฆๅฏน่ฏ๏ผ‰๏ผŒ่ฎจ่ฎบๆ˜ฏๆฃ€้ชŒ็†่งฃ็š„่ฏ•้‡‘็Ÿณใ€‚

็‹ฌ่‡ช้˜…่ฏปๅธธๅฝขๆˆๆจก็ณŠ็š„็†่งฃ้“พๆก๏ผŒๅฎนๆ˜“ไบง็”Ÿโ€œๆˆ‘ๆ‡‚ไบ†โ€็š„ๅนป่ง‰๏ผŒๅ”ฏๆœ‰่ƒฝ็”จ่‡ชๅทฑ็š„่ฏญ่จ€่ฎฉๅˆซไบบๅฌๆ‡‚๏ผŒๆ‰็ฎ—็œŸๆญฃ็†่งฃใ€‚

็œŸๆญฃ็š„็†่งฃๆœ‰ไธ€ไธชๆ›ด้ซ˜็š„ๆ ‡ๅ‡†๏ผšๆŠŠไนฆไธญ็š„่ง‚็‚น็”จ่‡ชๅทฑ็š„่ฏ่ฎฒ็ป™ๅˆซไบบๅฌ๏ผŒ่ฎฉๅฏนๆ–นไนŸ่ƒฝๅฌๆ‡‚ใ€‚"็œ‹ๆ‡‚"ๅ’Œ"่ฎฒๆธ…ๆฅš"ไน‹้—ด๏ผŒๅทฎ็€ๅไธ‡ๅ…ซๅƒ้‡Œใ€‚ๅพˆๅคšๆ—ถๅ€™๏ผŒๆ‰€่ฐ“"็œ‹ๆ‡‚"๏ผŒไธ่ฟ‡ๆ˜ฏๅœจ่„‘ไธญๅฝขๆˆไบ†ไธ€ๆกๆจก็ณŠใ€ไธ่ฟž่ดฏ็š„"็†่งฃ้“พ"ใ€‚ๅชๆœ‰ๅฝ“ไฝ ๅฟ…้กป็”จ่‡ชๅทฑ็š„่ฏญ่จ€ๅ‘ๅˆซไบบๅค่ฟฐ๏ผŒๅนถไธ”่ฆๅšๅˆฐ่จ€ไน‹ๆˆ็†ใ€่‡ชๅœ†ๅ…ถ่ฏดๆ—ถ๏ผŒ้‚ฃไบ›่–„ๅผฑใ€็ผบๅคฑ็š„็Žฏ่Š‚ๆ‰ไผš็ซ‹ๅˆปๆšด้œฒๅ‡บๆฅ๏ผˆๅซ็ณŠ็š„ๅœฐๆ–นไฝ ไผš็›ดๆŽฅๅกๅฃณ๏ผ‰ใ€‚

ๅœจโ€œๅˆ้šพโ€ไธญๆŸฅๆผ่กฅ็ผบ๏ผŒ่ฎฒ่ฟฐ็š„่ฟ‡็จ‹ไผšๅ€’้€ผไฝ ๏ผš

  1. ๆŠŠ้€ป่พ‘็†ๆธ…ๆฅš๏ผŒ็กฎไฟ"ๅ› ไธบ"ๅ’Œ"ๆ‰€ไปฅ"ไน‹้—ด็œŸ็š„ๆˆ็ซ‹๏ผ›
  2. ๅ‘็Žฐ่‡ชๅทฑ่ฟ˜ๆฒกๆžๆ‡‚็š„ๅœฐๆ–น๏ผŒๅธฆ็€ๆ–ฐ้—ฎ้ข˜ๅ›žๅŽปๅ†่ฏป๏ผ›
  3. ๅœจไป–ไบบ็š„่ฟฝ้—ฎๅ’Œ่ดจ็–‘ไธญ๏ผŒไธๆ–ญๆทฑๅŒ–็†่งฃใ€‚

ๆˆ‘ๆ›พๅฐ่ฏ•ๅฐ†ๅ‡ ๆœฌไนฆ็š„ๅ†…ๅฎน่ฎฒ็ป™ๆฒกๆ—ถ้—ด้˜…่ฏป็š„ๆœ‹ๅ‹ๅฌใ€‚ไป–ไปฌๅฏไธไผšๆŠŠๆˆ‘ๅฝ“โ€œ่€ๅธˆโ€ๆฅๅฐŠๆ•ฌ๏ผŒ้‡ๅˆฐ็–‘้—ฎๆˆ–ไธๅŒๆ„่งๅฐฑไผš้šๆ—ถๆ‰“ๆ–ญ๏ผŒ็”š่‡ณไปฅๆŠŠๆˆ‘โ€œ้—ฎๅ€’โ€ไธบไนใ€‚็ป“ๆžœๆ˜ฏ๏ผŒๆˆ‘ๅŽŸไปฅไธบๅฎŒๅ…จ็œ‹ๆ‡‚็š„ไนฆ๏ผŒ่ขซไป–ไปฌไธ€้€šโ€œ่ƒกๆ…่›ฎ็ผ โ€ๅŽ๏ผŒๅ‘็Žฐ็ซŸ็„ถ่ฟ˜ๆœ‰้‚ฃไนˆๅคšๆฒกๅƒ้€็š„ๅœฐๆ–น๏ผŒๅช่ƒฝๅ›žๅŽป้‡่ฏปใ€‚ไธ‹ไธ€ๆฌก่ง้ขๆ—ถ๏ผŒๆˆ‘ๅฟ…้กปๆŠŠไป–ไปฌ็š„่ดจ็–‘่งฃ้‡Šๆธ…ๆฅšใ€‚ไฝ†ไนŸๆญฃๅ› ๅฆ‚ๆญค๏ผŒ้‚ฃๅ‡ ๆœฌไนฆๆˆไบ†ๆˆ‘ไนฆๆžถไธŠ็†่งฃๆœ€้€ๅฝปใ€ๆ”ถ่Žทๆœ€ๅคง็š„ไนฆใ€‚

่ฟ™้‡Œ็š„่ฎฒ่ฟฐไธๆ˜ฏๅ•ๆ–น้ข็š„่ฏพๅ ‚ๅฎฃ่ฎฒ๏ผŒ่€Œๆ˜ฏ้ขๅฏน้ข็š„ๅนณ็ญ‰่ฎจ่ฎบใ€ๅฏปๆ‰พ้ซ˜่ดจ้‡็š„ๅฏน่ฏใ€‚ๅฆ‚ๆžœๅฏน่ฏ่€…ๆฐดๅนณ้ซ˜ใ€่ฎจ่ฎบๆทฑๅ…ฅ๏ผŒๆ•ˆๆžœๆžไฝณใ€‚ๅœจๅฆ‚ไปŠ๏ผŒไฝ ็”š่‡ณๅฏไปฅๆŠŠ้€ป่พ‘ๆŽจ็†่ƒฝๅŠ›่พƒๅผบ็š„ AI ๅทฅๅ…ทๅฝ“ไฝœไฝ ็š„โ€œ่ฎจ่ฎบๆญๅญโ€๏ผŒ่ฎฉๅฎƒๅฏนไฝ ็š„่ง‚็‚น่ฟ›่กŒๆ้—ฎๅ’Œๅ้ฉณ๏ผŒไปฅๆญคๆฅ่ฟซไฝฟ่‡ชๅทฑ็œŸๆญฃ้€ๅฝปๅœฐๆŽŒๆก็Ÿฅ่ฏ†ใ€‚

3. ่ฏปไนฆ"ไธ‰ไธ่ฆ" โ€‹

็ฌฌไธ€โ€œไธ่ฆโ€๏ผšไธ่ฆๆ€€ๆฃๅ“€ๆ€จๅฟƒๆ€๏ผŒ้ฟๅ…่ฏปไนฆ็›ฎ็š„่ขซๅผ‚ๅŒ– โ€‹

ไธ่ฆๆœ‰ๅ“€ๆ€จๅฟƒๆ€๏ผŒ่ขซๅ“€ๆ€จๆƒ…็ปชๆŽงๅˆถ๏ผŒๅฐฑๅคฑๅŽปไบ†่ฏปไนฆ็š„ๅนณๅธธๅฟƒๅ’Œๅฎข่ง‚็†่งฃๅŠ›ใ€‚

่ฏปไนฆๅคšไธ็ญ‰ไบŽไบบๆ‰๏ผŒๆœชๆไพ›็คพไผšไปทๅ€ผๅˆ™้šพ่‡ดๅฏŒใ€‚่‹ฅๅ› ๆญคๆ€จๅคฉๅฐคไบบ๏ผŒ่ฏปไนฆๅฐ†ๅผ‚ๅŒ–ไธบๆŽ’่งฃๆƒ…็ปชไธŽๅšๅ–ๅ…ณๆณจ็š„ๅทฅๅ…ทใ€‚

ไธ€ไธชไบบไธ€ๆ—ฆ่ขซๅ“€ๆ€จๆƒ…็ปชๆŽงๅˆถ๏ผŒๅฐฑไผšๅฝปๅบ•ๅคฑๅŽป่ฏปไนฆ็š„ๅนณๅธธๅฟƒๅ’Œๅฎข่ง‚็†่งฃๅŠ›ใ€‚

  • ่ญฆๆƒ•โ€œไปทๅ€ผ่ฝฌๅŒ–โ€็š„ๅนป่ง‰๏ผšๆœ‰ไบ›ไบบ็กฎๅฎž่ฏปไบ†ไธๅฐ‘ไนฆ๏ผŒ่ฏด่ตท่ฏๆฅๅคดๅคดๆ˜ฏ้“๏ผŒไนŸๆ—ถๅธธ่ƒฝๅพ—ๅˆฐไป–ไบบ็š„่ตž่ฎธใ€‚่ฟ™ๅฎนๆ˜“่ฎฉไบบไบง็”Ÿไธ€็งๅนป่ง‰๏ผŒ่‡ช่ฎคๆ˜ฏไธชโ€œ่ขซๅŸ‹ๆฒก็š„ไบบๆ‰โ€ใ€‚ไฝ†ๅฎž้™…ไธŠ๏ผŒ่ฏปไนฆๅคšไธ็ญ‰ไบŽไบบๆ‰๏ผŒ็œŸๆญฃ็š„่ดขๅฏŒๆฅๆบไบŽไฝ ่ƒฝๅฆไธบๅˆซไบบๆไพ›ๆœ‰ไปทๅ€ผ็š„ๅ•†ๅ“ๆˆ–ๆœๅŠกใ€‚ๅพ—ๅˆฐๅˆซไบบ็š„ๅฃๅคด่ตž่ฎธ๏ผŒไธŽ่ฎฉๅˆซไบบๆŽ้’ฑไนฐไฝ ็š„ๆœๅŠกไน‹้—ด๏ผŒๆœ‰็€ๅทจๅคง็š„้ธฟๆฒŸใ€‚

  • ่ญฆๆƒ•ๅฟƒๆ€ๅคฑ่กกไธŽๆ€จๅคฉๅฐคไบบ๏ผšๅฝ“่‡ช่ฏฉไธบโ€œไบบๆ‰โ€ๅด่ฟŸ่ฟŸๆœช่ƒฝๅ‘ๅฎถ่‡ดๅฏŒๆ—ถ๏ผŒๅพˆๅคšไบบไธไผšๅๆ€่‡ชๅทฑๆ˜ฏๅฆๅˆ›้€ ไบ†็œŸๆญฃ็š„็คพไผšไปทๅ€ผ๏ผŒ่€Œๆ˜ฏๅฐ†ๅŽŸๅ› ๅฝ’ๅ’ŽไบŽๅค–็•Œ๏ผŒ้™็ญ‰็€โ€œไผฏไนโ€ๆฅๅ‘ๆŽ˜ใ€‚ๅฝ“็œ‹ๅˆฐ่บซ่พนไธ่ฏปไนฆ็š„ไบบ็บท็บทไนฐ่ฝฆไนฐๆˆฟๆ—ถ๏ผŒ่ฟ™็ง็€ๆ€ฅๅฐฑไผšๆผ”ๅ˜ๆˆๆฐ”ๆ€ฅ่ดฅๅใ€้„™ๅคทไธŽๅ“€ๆ€จ๏ผŒ็”š่‡ณ่ง‰ๅพ—โ€œ็คพไผšๅคชไธๅ…ฌๅนณโ€ใ€‚

  • ้˜ฒๆญข้˜…่ฏปๅˆ่กท็š„ๅผ‚ๅŒ–๏ผš่ฟ™ๆ˜ฏๆœ€่‡ดๅ‘ฝ็š„ไธ€็‚นใ€‚ๅฝ“ๆ€จๆฐ”ๅ ๆฎๅคง่„‘๏ผŒ่ฏปไนฆๅฏนไบŽ่ฟ™็ฑปไบบๆฅ่ฏด๏ผŒๅฐฑไธๅ†ๆ˜ฏๅฎข่ง‚ๆŽฅๅ—ไฟกๆฏใ€็†่งฃไธ–็•Œ็š„ๆ–นๅผไบ†,่€Œๆ˜ฏๆฒฆไธบไบ†ไธ€็งๆŽ’่งฃ้ƒ้—ทใ€ๆ‰“ๅ‘ๆ—ถ้—ด็š„ๆถˆๆžๆ‰‹ๆฎตใ€‚ไป–ไปฌ็š„ๅ…ณๆณจ็‚นไผšไปŽไนฆๆœฌๅ†…ๅฎนๅฝปๅบ•่ฝฌ็งปๅˆฐๅˆซไบบ็š„็œผๅ…‰ไธŠ๏ผŒๅ†…ๅฟƒ็š„ๆฝœๅฐ่ฏๅ˜ๆˆไบ†่กจๆผ”๏ผšโ€œไฝ ไปฌ่ฟ˜ๆฒก็œ‹ๅˆฐๆˆ‘ๅˆป่‹ฆ่ฏปไนฆ็š„่บซๅงฟๅ—๏ผŸ่ฟ˜ไธๆ‰ฟ่ฎคๆˆ‘ๆ˜ฏไธชไบบๆ‰ๅ—๏ผŸ่ฟ˜ไธๆ้ซ˜ๆˆ‘็š„ๆ”ถๅ…ฅๅ—๏ผŸโ€

็ฌฌไบŒโ€œไธ่ฆโ€๏ผšไธ่ฆ็Žฉ็‰ฉไธงๅฟ—๏ผŒ้™ทๅ…ฅๅฏน็‰ฉ็†ๅช’ไป‹็š„่ฟ‡ๅบฆ่ฟทๆ‹ โ€‹

ไธ่ฆ็Žฉ็‰ฉไธงๅฟ—๏ผŒ่ฟ‡ๅบฆๆฒ‰ๆบบไนฆ็ฑ็ป†่Š‚ไธŽ้™„ๅฑžๅ“ไผšๅฏผ่‡ดโ€œ็Žฉ็‰ฉไธงๅฟ—โ€ใ€‚่‹ฅ่ฏปไนฆ่„ฑ็ฆป่Žทๅ–ไฟกๆฏ็š„็›ฎ็š„๏ผŒๅˆ™้šพไปฅๅœจ็Ÿฅ่ฏ†ๅญฆ้—ฎไธŠๆœ‰ๆ‰€ๆˆๅฐฑใ€‚

  • ๅ›žๅฝ’้˜…่ฏป็š„ๆœฌ่ดจ๏ผš่ฏปไนฆ็š„ๆ ธๅฟƒ็›ฎ็š„ๆ˜ฏไธบไบ†่Žทๅ–ไฟกๆฏใ€ๆฑฒๅ–็Ÿฅ่ฏ†๏ผŒ่€Œไธๆ˜ฏไธบไบ†ๆŠŠ็Žฉ้‚ฃไธ€ๆŸ่ฃ…่ฎข่ตทๆฅ็š„็บธๅผ ใ€‚้š็€้˜…่ฏป็š„ๆทฑๅ…ฅ๏ผŒๅพˆๅคšไบบๅฎนๆ˜“ๆฒ‰ๆบบไบŽไนฆ็ฑๅธฆๆฅ็š„้™„ๅŠ ไฝ“้ชŒ๏ผˆๅฆ‚็บธๅผ ็š„ๆ‰‹ๆ„Ÿใ€ๆฒนๅขจ็š„้ฆ™ๆฐ”ใ€็‰ˆๆœฌ็š„่€ƒ็ฉถ๏ผ‰ใ€‚่ฟ™็งๅฏน็‰ฉ็†ๅฝขๆ€็š„ๅๅฅฝๅฏไปฅ็†่งฃ๏ผŒไฝ†ๅฟ…้กปๆœ‰ๆ‰€่Š‚ๅˆถ๏ผŒไธ€ๆ—ฆๅ–งๅฎพๅคบไธป๏ผŒ็”š่‡ณๅ› ๆญคๆ‹’็ปๆ›ด้ซ˜ๆ•ˆ็š„ๅช’ไป‹๏ผŒๅฐฑๆ˜ฏๅ—่พ•ๅŒ—่พ™ไบ†ใ€‚

  • ้กบๅบ”ๅช’ไป‹ๆผ”่ฟ›็š„ๆ•ˆ็އ่ถ‹ๅŠฟ๏ผŒๆ—ถไปฃ่ถ‹ๅŠฟไธๅฏ้€†๏ผš็บต่ง‚ๅކๅฒ๏ผŒไปŽไธ็ปธใ€็ซน็ฎ€ๅˆฐ็บธๅผ ๏ผŒๅ†ๅˆฐๅฆ‚ไปŠ็š„็”ตๅญไนฆ๏ผŒไฟกๆฏๅช’ไป‹็š„ๆผ”่ฟ›ๅง‹็ปˆๆœ็€โ€œๆ›ดไฝŽๆˆๆœฌใ€ๆ›ด้ซ˜ๆ•ˆ็އโ€็š„ๆ–นๅ‘ๅ‘ๅฑ•ใ€‚ๅœจไฟกๆฏๆ—ถไปฃ๏ผŒ็”ตๅญไนฆๅœจไพฟๆบๆ€งใ€ๆ˜“ๅ‚จๆ€งใ€ๅ†…ๅฎนๅฏๆฃ€็ดขๆ€ง๏ผˆๅฆ‚ไธ€้”ฎๅ…จๆ–‡ๆœ็ดข๏ผ‰ไปฅๅŠ็Ÿฅ่ฏ†ๅ…ฑไบซๆ–น้ข๏ผŒๆ‹ฅๆœ‰็บธ่ดจไนฆๆ— ๆณ•ๆฏ”ๆ‹Ÿ็š„ไผ˜ๅŠฟ๏ผŒ่ฟ™ๅฏนไบŽๅฟซ้€Ÿๅฎšไฝๅ…ณ้”ฎไฟกๆฏใ€ๆž„ๅปบไธชไบบ็Ÿฅ่ฏ†ๆ ‘่€Œ่จ€ๆ˜ฏๆžๅคง็š„ๅŠฉๅŠ›ใ€‚

  • ่ญฆๆƒ•่ขซโ€œๆ—งไน ๆƒฏโ€็ป‘ๆžถ๏ผšๅพˆๅคšๆŠ—ๆ‹’็”ตๅญไนฆ็š„ไบบ๏ผŒๅผบ่ฐƒ็š„็ง็ง็†็”ฑๅ…ถๅฎžไธŽโ€œ่ฏปไนฆโ€ๆœฌ่บซๅ…ณ็ณปไธๅคง๏ผŒๆ›ดๅคšๆ˜ฏไธๆ„ฟๆ”นๅ˜ๆ—งๆœ‰็š„้˜…่ฏปไน ๆƒฏ๏ผŒไธๆ„ฟๆ”พๅผƒ่ฏปไนฆไปฅๅค–็š„ๆŠŠ็Žฉไน่ถฃใ€‚ไธบไบ†ๅšๆŒ่ฟ™็งๆ—งไน ๆƒฏ๏ผŒ่€Œไธๆƒœ็‰บ็‰ฒไฟกๆฏๆต่ฝฌๅ’Œ่Žทๅ–็š„ๆ•ˆ็އ๏ผŒ่ฟ™ๅœจไฟกๆฏ็ˆ†็‚ธ็š„ๆ—ถไปฃๆ˜ฏๅพ—ไธๅฟๅคฑ็š„ใ€‚

  • ็งฏๆžๆ‹ฅๆŠฑๆ–ฐๅช’ไป‹็š„็บขๅˆฉ๏ผš็œŸๆญฃไปฅๆฑ‚็Ÿฅไธบ็›ฎ็š„็š„ไบบ๏ผŒไปŽๆฅ้ƒฝไผš็งฏๆžๆ‹ฅๆŠฑๆ–ฐ็š„ไผ ๆ’ญๅทฅๅ…ทใ€‚ๅœจ่ฟ™ไธชๆ—ถไปฃ๏ผŒๅ›บๅฎˆไผ ็ปŸๅช’ไป‹็š„ไบบ่Žทๅ–็Ÿฅ่ฏ†็š„ๆˆๆœฌไผš่ถŠๆฅ่ถŠ้ซ˜ใ€ๆ•ˆ็އ่ถŠๆฅ่ถŠไฝŽ๏ผ›่€Œๆ„ฟๆ„ๆŽฅ็บณๆ–ฐๅช’ไป‹็š„้˜…่ฏป่€…๏ผŒๅˆ™่ƒฝไปฅๆ›ด่ฝปๆพใ€ๆ„‰ๅฟซ็š„ๆ–นๅผ๏ผŒ่Žทๅ–ๆœ€ไธฐๆฒ›็š„็Ÿฅ่ฏ†ใ€‚

็ฌฌไธ‰โ€œไธ่ฆโ€๏ผšไธ่ฆๅช่ฏปไนฆไธ็Ÿฅ็Žฐๅฎž๏ผŒ้ฟๅ…็Ÿฅ่ฏ†็ป“ๆž„้™ทๅ…ฅโ€œ็œŸ็ฉบโ€ โ€‹

ไนฆ็ฑไป…ๆ‰ฟ่ฝฝๆžๅฐ‘็Ÿฅ่ฏ†๏ผŒๅคง้‡้šๆ€ง็Ÿฅ่ฏ†ๅญ˜ไบŽ็Žฐๅฎž็คพไผšใ€‚ๅช่ฏปไนฆไผšๅฏผ่‡ด็Ÿฅ่ฏ†็ป“ๆž„็ผบ้™ท๏ผŒ้šพไปฅๅบ”ๅฏนๅฎžๅŠก๏ผŒๆ•…ไธๅฏ่„ฑ็ฆป็Žฐๅฎžใ€‚

ไนฆๆœฌ็Ÿฅ่ฏ†ๅชๆ˜ฏ่ฎค่ฏ†ไธ–็•Œ็š„ไธ€ๅฐ้ƒจๅˆ†๏ผŒ่„ฑ็ฆป็Žฐๅฎž็š„็บฏ็ฒน้˜…่ฏป๏ผŒไผšๅฏผ่‡ด็Ÿฅ่ฏ†็ป“ๆž„็š„ไธฅ้‡ๆ‰ญๆ›ฒใ€‚

  • ่ฎคๆธ…ไนฆ็ฑ็š„ๅฑ€้™ๆ€ง๏ผš็Ÿฅ่ฏ†ไปฅๅ„็งๆ–นๅผๅญ˜ๅœจไบŽ็คพไผš็š„ๅ„ไธช่ง’่ฝ๏ผŒไนฆ็ฑๆ‰€ๆ‰ฟ่ฝฝ็š„ไป…ไป…ๆ˜ฏไธ–็•Œ็Ÿฅ่ฏ†ๆ€ป้‡ไธญๆžๅฐ็š„ไธ€้ƒจๅˆ†ใ€‚็”ฑไบŽไนฆ็ฑ่ฆๆฑ‚ไนฆ้ขๅŒ–ใ€็ณป็ปŸไธ”่ฟž่ดฏ๏ผŒๅฎƒๅฟ…็„ถๆ— ๆณ•่ฎฐๅฝ•ไธ‹ๅคง้‡ไธ็จณๅฎšใ€่ฝฌ็žฌๅณ้€ใ€็ขŽ็‰‡ๅŒ–ๆˆ–้šพไปฅ็”จ่ฏญ่จ€ๆ˜Ž็กฎ่กจ่พพ็š„็Ÿฅ่ฏ†ใ€‚

  • ้‡่ง†ๅบžๅคง็š„โ€œ้šๆ€ง็Ÿฅ่ฏ†โ€๏ผšๅœจ็Žฐๅฎž็คพไผšไธญ๏ผŒๅญ˜ๅœจ็€่ฏธๅฆ‚่ฐˆ่ฏไบคๆตใ€ไธชไบบ็ป้ชŒใ€่กŒไธบๆ–นๅผใ€ๅ•†ไธšๆจกๅผๅŠไบบ้™…ๅ…ณ็ณป็ญ‰ๆตท้‡็š„้žไนฆๆœฌ็Ÿฅ่ฏ†ใ€‚ๅฆ‚ๆžœไธ€ไธชไบบๅชๆ˜ฏไธ€ๅ‘ณ่ฏปไนฆ่€Œๆžๅฐ‘ๅ‚ไธŽ็คพไผšๅฎž่ทต๏ผŒๅฐฑไผšๅฎŒๅ…จ้”™ๅคฑ่ฟ™้ƒจๅˆ†ๅœจๆ•ฐ้‡ไธŠๆ›ดไธบๅบžๅคง็š„็Ÿฅ่ฏ†ๅฎๅบ“๏ผŒๅฏผ่‡ด็Ÿฅ่ฏ†็ป“ๆž„ๅ‡บ็Žฐ้‡ๅคง็ผบ้™ทใ€‚

  • ่ญฆๆƒ•่„ฑ็ฆป็Žฐๅฎž็š„โ€œๆ‰ญๆ›ฒ่ฎค็Ÿฅโ€๏ผšๅฆ‚ๆžœๅช่ฏปไนฆ่€Œไธๅ‚ไธŽ็คพไผšๅฎž่ทต๏ผŒไผšๅฏผ่‡ด็Ÿฅ่ฏ†็ป“ๆž„ๅญ˜ๅœจ้‡ๅคง็ผบ้™ท๏ผŒๅœจๅค„็†็Žฐๅฎžไบ‹ๅŠกๆ—ถไผšๆšด้œฒๆ— ้—ใ€‚ๅœจๆ•ฐๅญฆใ€่ฎก็ฎ—ๆœบๆˆ–ๆฃ‹็ฑป็ญ‰้ซ˜ๅบฆๆŠฝ่ฑกใ€ๆ— ้œ€ๅคชๅคš็คพไผš็ป้ชŒ็š„้ข†ๅŸŸ๏ผŒไป…ๅ‡ญ้€ป่พ‘ๆŽจๆผ”็กฎๅฎžๅฏไปฅๆˆๅฐฑโ€œๅฐ‘ๅนดๅคฉๆ‰โ€ใ€‚ไฝ†็œŸๅฎžไธ–็•Œ็š„็ปๅคงๅคšๆ•ฐ้ข†ๅŸŸ๏ผˆๅฆ‚ๆณ•ๅพ‹ใ€ๅ•†ไธšใ€ๆœๅŠกไธš็ญ‰๏ผ‰ๆžๅบฆไพ่ต–ไปŽไธš่€…็š„็คพไผš็ป้ชŒๅ’Œ็Žฐๅฎžๆ„Ÿใ€‚ๅช่ฏปไนฆไธไป…ไผš้€ ๆˆๅค„็†ๅฎž้™…ไบ‹ๅŠกๆ—ถ่ƒฝๅŠ›ไฝŽไธ‹๏ผŒๆ›ดไผšไปฅไธ€ๅฐ้ƒจๅˆ†ๅ–ไปฃๆ•ดไฝ“๏ผŒๅฝขๆˆๅฏน็œŸๅฎžไธ–็•Œ็š„ๆ‰ญๆ›ฒ่ฎค็Ÿฅใ€‚ไป…้ ๆŠฝ่ฑก้€ป่พ‘ๆ˜ฏๆ— ๆณ•่งฃๅ†ณๅคๆ‚็Žฐๅฎž้—ฎ้ข˜็š„๏ผŒ่ฟ™ไนŸๆ˜ฏไธบไป€ไนˆไธ–็•ŒไธŠไผšๆœ‰15ๅฒ็š„้ป‘ๅฎข๏ผŒๅด็ปไธไผšๆœ‰15ๅฒ็š„ไบบไบ‹็ป็†ๆˆ–ๆณ•ๅฎ˜ใ€‚

4. ่ฎฉไนฆ็ฑๆˆไธบ่ฟžๆŽฅ่‡ชๆˆ‘ไธŽ็Žฐๅฎž็š„ๆกฅๆข โ€‹

่ฏปไนฆไปŽๆฅไธๆ˜ฏไธบไบ†ๆŠŠ่‡ชๅทฑๅ˜ๆˆไธ€ไธช่ฃ…ๆปกๅ„็ฑป่ง‚็‚น็š„โ€œไธค่„šไนฆๆฉฑโ€๏ผŒ่€Œๆ˜ฏไธบไบ†ๅ‡็บงๆˆ‘ไปฌๆ€่€ƒ็Žฐๅฎžใ€่งฃๅ†ณ้—ฎ้ข˜็š„โ€œๅบ•ๅฑ‚ๆ“ไฝœ็ณป็ปŸโ€ใ€‚

ๆ— ่ฎบๆ˜ฏๅšๆŒโ€œไธ‰่ฆโ€๏ผˆๆŽŒๆกๆ–นๆณ•ใ€ๆž„ๅปบไฝ“็ณปใ€ๆฃ€้ชŒ็œŸ็Ÿฅ๏ผ‰๏ผŒ่ฟ˜ๆ˜ฏ่ญฆๆƒ•โ€œไธ‰ไธ่ฆโ€๏ผˆๆ‹’็ปๅผ‚ๅŒ–ใ€ๆ‹ฅๆŠฑ้ซ˜ๆ•ˆใ€ๆ‰Žๆ น็Žฐๅฎž๏ผ‰๏ผŒๆœ€็ปˆ็š„ๆŒ‡ๅ‘้ƒฝๆ˜ฏๅŒไธ€ไธช๏ผšๆ‰“็ ดไนฆๆœฌไธŽ็Žฐๅฎž็š„ๅฃๅž’๏ผŒ่ฎฉ็Ÿฅ่ฏ†็œŸๆญฃไธบไฝ ๆ‰€็”จใ€‚ ๅœจ่Žทๅ–ไฟกๆฏ้—จๆง›่ถŠๆฅ่ถŠไฝŽ็š„ไปŠๅคฉ๏ผŒ็‹ฌ็ซ‹ๆ€่€ƒๅ’Œๅฐ†็Ÿฅ่ฏ†่ฝฌๅŒ–ไธบๅฎž้™…ไปทๅ€ผ็š„่ƒฝๅŠ›ๆ„ˆๅ‘็่ดตใ€‚

ๆ„ฟๆˆ‘ไปฌ้ƒฝ่ƒฝๅธฆ็€ๅนณๅธธๅฟƒๅŽป้˜…่ฏป๏ผŒๅœจไนฆไธญ่ง‚ๆ‘ฉๅคงๅธˆ็š„ๆ™บๆ…ง๏ผŒๅœจ็Žฐๅฎžไธญๅˆ›้€ ็œŸๅฎž็š„ไปทๅ€ผ๏ผŒไบซๅ—็บฏ็ฒน่€Œๅ……ๅฎž็š„ๆ‚ฆ่ฏปๆ—ถๅ…‰ใ€‚

',43)])])}const u=o(i,[["render",l]]);export{c as __pageData,u as default}; +import{_ as o,g as a,h as r,U as e}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const c=JSON.parse('{"title":"่ฏปไนฆโ€œไธ‰่ฆโ€ๅ’Œโ€œไธ‰ไธ่ฆโ€","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจไฟกๆฏ็ˆ†็‚ธ็š„ๆ—ถไปฃ๏ผŒ่ฏปไนฆไพ็„ถๆ˜ฏ่Žทๅ–ๆทฑๅบฆ็Ÿฅ่ฏ†ๆœ€้ซ˜ๆ•ˆ็š„ๆ–นๅผไน‹ไธ€ใ€‚ไฝ†โ€œๆง่ตทไนฆโ€ๅนถไธ็ญ‰ไบŽโ€œๆœ‰ๆ”ถ่Žทโ€๏ผŒๆ€Žไนˆ่ฏปๅพ€ๅพ€ๆฏ”่ฏปไป€ไนˆๆ›ด้‡่ฆใ€‚ๆœฌๆ–‡ๆ€ป็ป“ไบ†้ซ˜ๆ•ˆ้˜…่ฏป็š„โ€œไธ‰่ฆโ€ไธŽโ€œไธ‰ไธ่ฆโ€๏ผšไปŽๅฎŒๆ•ด้˜…่ฏป่ง‚ๆ‘ฉๅคงๅธˆๆ€็ปดใ€ๅธฆ็€้—ฎ้ข˜ๆž„ๅปบ็Ÿฅ่ฏ†ๆ ‘๏ผŒๅˆฐ้€š่ฟ‡่ฎจ่ฎบๆฃ€้ชŒ็†่งฃ๏ผ›ๅŒๆ—ถๆ้†’้˜…่ฏป่€…่ญฆๆƒ•ๅ“€ๆ€จๅฟƒๆ€ๅฏน้˜…่ฏปๅˆ่กท็š„ๅผ‚ๅŒ–ใ€้ฟๅ…้™ทๅ…ฅๅฏน็‰ฉ็†ๅช’ไป‹็š„โ€œ็Žฉ็‰ฉไธงๅฟ—โ€๏ผŒไปฅๅŠๅˆ‡ๅฟŒ่„ฑ็ฆป็Žฐๅฎž็š„โ€œ็œŸ็ฉบโ€้˜…่ฏปใ€‚้˜…่ฏปไธไป…ๆ˜ฏๅ‘ๅ†…ๆŽข็ดข็š„็ฒพ็ฅžไน‹ๆ—…๏ผŒๆ›ดๆ˜ฏๅ‘ๅค–็†่งฃ็œŸๅฎžไธ–็•Œใ€ๅˆ›้€ ็คพไผšไปทๅ€ผ็š„ๅฎž็”จๅทฅๅ…ทใ€‚","frontmatter":{"date":"2025-03-06T11:42:20.000Z","title":"่ฏปไนฆโ€œไธ‰่ฆโ€ๅ’Œโ€œไธ‰ไธ่ฆโ€","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจไฟกๆฏ็ˆ†็‚ธ็š„ๆ—ถไปฃ๏ผŒ่ฏปไนฆไพ็„ถๆ˜ฏ่Žทๅ–ๆทฑๅบฆ็Ÿฅ่ฏ†ๆœ€้ซ˜ๆ•ˆ็š„ๆ–นๅผไน‹ไธ€ใ€‚ไฝ†โ€œๆง่ตทไนฆโ€ๅนถไธ็ญ‰ไบŽโ€œๆœ‰ๆ”ถ่Žทโ€๏ผŒๆ€Žไนˆ่ฏปๅพ€ๅพ€ๆฏ”่ฏปไป€ไนˆๆ›ด้‡่ฆใ€‚ๆœฌๆ–‡ๆ€ป็ป“ไบ†้ซ˜ๆ•ˆ้˜…่ฏป็š„โ€œไธ‰่ฆโ€ไธŽโ€œไธ‰ไธ่ฆโ€๏ผšไปŽๅฎŒๆ•ด้˜…่ฏป่ง‚ๆ‘ฉๅคงๅธˆๆ€็ปดใ€ๅธฆ็€้—ฎ้ข˜ๆž„ๅปบ็Ÿฅ่ฏ†ๆ ‘๏ผŒๅˆฐ้€š่ฟ‡่ฎจ่ฎบๆฃ€้ชŒ็†่งฃ๏ผ›ๅŒๆ—ถๆ้†’้˜…่ฏป่€…่ญฆๆƒ•ๅ“€ๆ€จๅฟƒๆ€ๅฏน้˜…่ฏปๅˆ่กท็š„ๅผ‚ๅŒ–ใ€้ฟๅ…้™ทๅ…ฅๅฏน็‰ฉ็†ๅช’ไป‹็š„โ€œ็Žฉ็‰ฉไธงๅฟ—โ€๏ผŒไปฅๅŠๅˆ‡ๅฟŒ่„ฑ็ฆป็Žฐๅฎž็š„โ€œ็œŸ็ฉบโ€้˜…่ฏปใ€‚้˜…่ฏปไธไป…ๆ˜ฏๅ‘ๅ†…ๆŽข็ดข็š„็ฒพ็ฅžไน‹ๆ—…๏ผŒๆ›ดๆ˜ฏๅ‘ๅค–็†่งฃ็œŸๅฎžไธ–็•Œใ€ๅˆ›้€ ็คพไผšไปทๅ€ผ็š„ๅฎž็”จๅทฅๅ…ทใ€‚","coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/reading_need.png","permalink":"/pages/growth/reading-tips","sticky":1,"top":true,"categories":["ๆ‚ฆ่ฏปๆ—ถๅ…‰"],"tags":["ๆ‚ฆ่ฏปๆ—ถๅ…‰"]},"headers":[],"relativePath":"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/10.่ฏปไนฆไธ‰่ฆไธ‰ไธ่ฆ.md","filePath":"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/10.่ฏปไนฆไธ‰่ฆไธ‰ไธ่ฆ.md"}'),i={name:"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/10.่ฏปไนฆไธ‰่ฆไธ‰ไธ่ฆ.md"};function l(n,t,s,p,g,h){return r(),a("div",null,[...t[0]||(t[0]=[e('

่ฏปไนฆโ€œไธ‰่ฆโ€ๅ’Œโ€œไธ‰ไธ่ฆโ€ โ€‹

ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจไฟกๆฏ็ˆ†็‚ธ็š„ๆ—ถไปฃ๏ผŒ่ฏปไนฆไพ็„ถๆ˜ฏ่Žทๅ–ๆทฑๅบฆ็Ÿฅ่ฏ†ๆœ€้ซ˜ๆ•ˆ็š„ๆ–นๅผไน‹ไธ€ใ€‚ไฝ†โ€œๆง่ตทไนฆโ€ๅนถไธ็ญ‰ไบŽโ€œๆœ‰ๆ”ถ่Žทโ€๏ผŒๆ€Žไนˆ่ฏปๅพ€ๅพ€ๆฏ”่ฏปไป€ไนˆๆ›ด้‡่ฆใ€‚ๆœฌๆ–‡ๆ€ป็ป“ไบ†่ฏปไนฆ็š„โ€œไธ‰่ฆโ€ไธŽโ€œไธ‰ไธ่ฆโ€๏ผšไปŽๅฎŒๆ•ด้˜…่ฏป่ง‚ๆ‘ฉๅคงๅธˆๆ€็ปดใ€ๅธฆ็€้—ฎ้ข˜ๆž„ๅปบ็Ÿฅ่ฏ†ๆ ‘๏ผŒๅˆฐ้€š่ฟ‡่ฎจ่ฎบๆฃ€้ชŒ็†่งฃ๏ผ›ๅŒๆ—ถๆ้†’้˜…่ฏป่€…่ญฆๆƒ•ๅ“€ๆ€จๅฟƒๆ€ๅฏน้˜…่ฏปๅˆ่กท็š„ๅผ‚ๅŒ–ใ€้ฟๅ…้™ทๅ…ฅๅฏน็‰ฉ็†ๅช’ไป‹็š„โ€œ็Žฉ็‰ฉไธงๅฟ—โ€๏ผŒไปฅๅŠๅˆ‡ๅฟŒ่„ฑ็ฆป็Žฐๅฎž็š„โ€œ็œŸ็ฉบโ€้˜…่ฏปใ€‚้˜…่ฏปไธไป…ๆ˜ฏๅ‘ๅ†…ๆŽข็ดข็š„็ฒพ็ฅžไน‹ๆ—…๏ผŒๆ›ดๆ˜ฏๅ‘ๅค–็†่งฃ็œŸๅฎžไธ–็•Œใ€ๅˆ›้€ ็คพไผšไปทๅ€ผ็š„ๅฎž็”จๅทฅๅ…ทใ€‚

about site background

1. ๆˆ‘ไปฌไธบไป€ไนˆ้œ€่ฆ่ฏปไนฆ๏ผŸ โ€‹

่ฏปไนฆๆ˜ฏไปŽๅค–็•ŒๆŽฅๅ—ไฟกๆฏ็š„ไธ€็งๆ–นๅผ๏ผŒไธŽ่Šๅคฉใ€ๆต่งˆ็ฝ‘้กตใ€ๅฌๆ’ญๅฎขใ€็œ‹็”ต่ง†ๅนถๆ— ๆœฌ่ดจๅŒบๅˆซใ€‚ไฝ†ไนฆ่ฟ™็งๅช’ไป‹ไธŽๅ…ถไป–ไฟกๆฏๅช’ไป‹็›ธๆฏ”๏ผŒๆœ‰ๅ…ถ็‹ฌๆœ‰็š„ไผ˜ๅŠฟ๏ผš

  • ๆทฑๅบฆไธŽไธฅ่ฐจ๏ผšไนฆ็ฑๅพ€ๅพ€ๆ˜ฏๅˆ›ไฝœ่€…ๅคšๅนดๆ€่€ƒใ€้•ฟๆœŸๅ†™ไฝœ็š„ไบง็‰ฉ๏ผŒ็ป่ฟ‡ไธ“ไธš็ผ–่พ‘ๅๅคไฟฎๆ”นๆ กๅฏน๏ผŒ็Ÿฅ่ฏ†ๅฏ†ๅบฆ่ฟœ้ซ˜ไบŽๆ—ฅๅธธ่ฐˆ่ฏๆˆ–็ขŽ็‰‡ๅ†…ๅฎนใ€‚
  • ไธ“ๆณจไธŽๅๅˆ๏ผš่ฏปไนฆๅ…่ฎธ่ฏป่€…ไธ“ๆณจๅ…ถไธญ๏ผŒไนฆไธญ็š„ไฟกๆฏๅ› ๆญคๅพ€ๅพ€ๆก็†ๆธ…ๆ™ฐใ€้€ป่พ‘ไธฅๅฏ†๏ผŒ่ฏญ่จ€ไนŸๆ›ดไธบ็ฒพ็ปƒ็ดงๅ‡‘ใ€‚่ฏป่€…ๅฏไปฅ้šๆ—ถๅœไธ‹็ฟปๅ›žๅๅค็ข็ฃจใ€ๆŽจๆ•ฒใ€‚็›ธๆฏ”ไน‹ไธ‹๏ผŒ็”ต่ง†็”ป้ขไธ€้—ช่€Œ่ฟ‡๏ผŒๅพˆ้šพ่ฟ›่กŒๅฑ‚ๅฑ‚้€’่ฟ›็š„ๆทฑๅ…ฅๅˆ†ๆžใ€‚
  • ็Ÿฅ่ฏ†ๅฏ†ๅบฆ้ซ˜๏ผšๆฒ‰ๆท€ๅœจไนฆไธญ็š„ไฟกๆฏ๏ผŒๅพ€ๅพ€้€ป่พ‘ๆ€งๅผบใ€่ฏญ่จ€็ฒพ็ปƒ็ดงๅ‡‘๏ผˆๅณๆ‰€่ฐ“็š„โ€œไนฆ้ข่ฏญโ€๏ผ‰๏ผŒ็Ÿฅ่ฏ†ๅซ้‡่ฟœ่ถ…ๆ—ฅๅธธ็ขŽ็‰‡ๅŒ–ไฟกๆฏใ€‚่ฎค็œŸ่ฏปๅฎŒไธ€ๆœฌๅฅฝไนฆ๏ผŒ่Žทๅพ—็š„็Ÿฅ่ฏ†ไธŽๆ€่€ƒๆทฑๅบฆ๏ผŒๅพ€ๅพ€่ถ…่ฟ‡็œ‹ๅ‡ ้ƒจๅ‰งใ€ๅˆทๅ‡ ๅฐๆ—ถ็Ÿญ่ง†้ข‘๏ผŒ็”š่‡ณ่Šๅ‡ ไธชๅฐๆ—ถๅคฉ็š„ๆ€ปๅ’Œใ€‚

่ฎค็œŸ่ฏปไธ€ๆœฌๅฅฝไนฆ๏ผŒๅพ€ๅพ€ๆฏ”็œ‹ไธ€้ƒจ็”ต่ง†ๅ‰งๆˆ–ๆผซๆ— ็›ฎ็š„ๅœฐๆต่งˆ็ฝ‘้กต่ƒฝ่Žทๅพ—ๆ›ดๅคš็Ÿฅ่ฏ†ใ€‚ไฝ†่ฟ™ๅนถไธๆ„ๅ‘ณ็€โ€œๅช่ฆๆง่ตทไนฆๅฐฑไธ€ๅฎšๆœ‰ๆ”ถ่Žทโ€๏ผŒๅ…ณ้”ฎๅœจไบŽๆ€Žไนˆ่ฏปใ€‚

2. ่ฏปไนฆ"ไธ‰่ฆ" โ€‹

็ฌฌไธ€โ€œ่ฆโ€๏ผšๅฎŒๆ•ดๅœฐ่ฏป๏ผŒๆ•ดๆœฌๅœฐ่ฏป โ€‹

ๅฏนไบŽๅฅฝไนฆ๏ผŒ่ฆๅฎŒๆ•ดๅœฐ่ฏปใ€ๆ•ดๆœฌๅœฐ่ฏป๏ผŒไธ่ฆๅชๆก็ป“่ฎบใ€‚

ๅพˆๅคšไบบไน ๆƒฏ็›ดๆŽฅ็œ‹็ป“่ฎบๅ’Œ่ง‚็‚น๏ผŒ่ง‰ๅพ—่ฟ™ๆ ทๆ•ˆ็އ้ซ˜ใ€‚ไฝ†่ฟ™ๆ ทๅšๆœ‰ไธ€ไธชๆ นๆœฌ็ผบ้™ท๏ผšไฝ ๅชๅพ—ๅˆฐไบ†็ญ”ๆกˆ๏ผŒๅด้”™่ฟ‡ไบ†ๆ€่€ƒๆ–นๆณ•ๆœฌ่บซใ€‚

ๆŽŒๆกๆ€่€ƒๆ–นๆณ•็š„ๅ”ฏไธ€้€”ๅพ„๏ผŒๆ˜ฏ้€š่ฟ‡ๅฎŒๆ•ดๅœฐ้˜…่ฏปๆฅ่ง‚ๆ‘ฉไผ˜็ง€็š„ๅคงๅธˆๆ˜ฏๅฆ‚ไฝ•ๆ€่€ƒ็š„โ€”โ€”ไป–ไปฌๅฆ‚ไฝ•ไธ€ๆญฅๆญฅๆŽจๅฏผๅ‡บ็ป“่ฎบ๏ผŒๅฆ‚ไฝ•ๅˆ†ๆžๅ’Œๆ‰นๅˆคไธๅŒ็š„่ง‚็‚น๏ผŒ้‡ๅˆฐๅ›ฐ้šพๆ—ถๅˆๅฆ‚ไฝ•่ฝฌๆข่ง†่ง’ใ€‚็œ‹ๅพ—ๅคšไบ†๏ผŒ่‡ช็„ถ่ƒฝๆธๆธ็ชฅ่ง้—จ้“๏ผŒๅ†่พ…ไปฅๅ‹คๆณ็š„ๆ€่€ƒ่ฎญ็ปƒ๏ผŒๆ‰่ƒฝ็œŸๆญฃๅฐ†ๆ€็ปดๆ–นๆณ•ๅ†…ๅŒ–ใ€‚

็›ธๅ๏ผŒๅช็Ÿฅ้“่ง‚็‚นใ€ไธๆŽŒๆกๆ–นๆณ•็š„ๅŽๆžœ๏ผŒๆ˜ฏ"ๅˆป่ˆŸๆฑ‚ๅ‰‘"๏ผš

  • ็†่ฎบ็š„้€‚็”จๆกไปถๅช่ฆ็จๆœ‰ไบ›ๅ˜ๅŒ–๏ผŒไพฟๆ— ๆ‰€้€‚ไปŽ๏ผŒๅชไผšๆŠŠ้‚ฃๅ‡ ๆก่ง‚็‚นๅๅค่ƒŒ่ฏตๅฅ—็”จใ€‚
  • ็ปๅ…ธ่‘—ไฝœๅพ€ๅพ€ๅ…ทๆœ‰ๅคๆ‚ๆ€ง๏ผŒ่ฏป่ตทๆฅๅฟ…้กปๅŠจ่„‘็ญ‹ใ€‚ๅช่ƒŒ่ฏต็ป“่ฎบไธๆ˜ฏไผ ๆŽˆๅญฆ้—ฎ็š„ๆ–นๆณ•๏ผŒ่€Œๆ˜ฏๅŸนๅ…ป็›ฒไปŽไฟกๅพ’็š„ๆ–นๆณ•๏ผŒ่€Œไธๆ˜ฏๅšๅญฆ้—ฎ็š„่ทฏๅพ„ใ€‚

็ฌฌไบŒโ€œ่ฆโ€๏ผšๅธฆ็€้—ฎ้ข˜ๅŽป่ฏป๏ผŒๆž„ๅปบ็Ÿฅ่ฏ†ๆ ‘ โ€‹

่ฆๅธฆ็€้—ฎ้ข˜ๅŽป่ฏปไนฆ๏ผŒๅฐ†ๆ•ฃไนฑ็š„ไฟกๆฏๆž„ๅปบๆˆๆธ…ๆ™ฐ็š„็Ÿฅ่ฏ†ๆ ‘ใ€‚

ๆฏไธ€ๆœฌ็Ÿฅ่ฏ†ๆ€งไนฆ็ฑ๏ผŒ่ƒŒๅŽ้ƒฝๆœ‰ไธ€ไธช๏ผˆๆˆ–ไธ€็ป„๏ผ‰ๆ ธๅฟƒ้—ฎ้ข˜ใ€‚็Ÿฅ่ฏ†ๆ€งไนฆ็ฑ็š„่ฏž็”Ÿ๏ผŒๅพ€ๅพ€ๆ˜ฏไธบไบ†่งฃ็ญ”ใ€ๆ‰น้ฉณๆˆ–่ตžๅŒๆŸไธช็‰นๅฎš็š„่ง‚็‚น๏ผŒๅฅฝ็š„ไฝœ่€…ไผšๅ…ˆๆŠŠไป–่ฆๅ›ž็ญ”็š„้—ฎ้ข˜ไบคไปฃๆธ…ๆฅš๏ผŒๅ†ๅฑ•ๅผ€่ฎบ่ฟฐใ€‚

  • ่ฟ˜ๅŽŸโ€œ้—ฎ้ข˜ๆƒ…ๅขƒโ€๏ผšๅพˆๅคšๆตไผ ่‡ณไปŠ็š„ๅ่‘—๏ผŒ็Žฐไปฃไบบไน‹ๆ‰€ไปฅ่ฏปไธ่ฟ›ๅŽป๏ผŒๆ˜ฏๅ› ไธบๅฏนๅฝ“ๆ—ถ็š„โ€œ้—ฎ้ข˜ๆƒ…ๅขƒโ€ไธ€ๆ— ๆ‰€็Ÿฅใ€‚่ฎธๅคš็ปๅ…ธๅœจๅฝ“ๅนด้ƒฝๆ˜ฏ้”‹่Š’ๆฏ•้œฒใ€้’ˆ้”‹็›ธๅฏน็š„่ฎบ่พฉๆ€งไฝœๅ“๏ผŒๆ˜ฏไธบไบ†่งฃๅ†ณๅฝ“ๆ—ถ็š„็—›็‚น่€Œ็”Ÿใ€‚ไธ€ๆ—ฆไฝ ไบ†่งฃไบ†่ฟ™ไบ›่ƒŒๆ™ฏ๏ผŒไบ‹ๅ…ˆ็Ÿฅ้“ไบ†่ฟ™ๆœฌไนฆๅœจๅญฆ็ง‘่ฐฑ็ณปไธญ็š„ไฝ็ฝฎ๏ผŒ้˜…่ฏปๅฐฑไผšๅ˜ๅพ—ๅƒ่ฟฝ่ธชไธ€ๅœบ็ฒพๅฝฉ็š„่พฉ่ฎบไธ€ๆ ทๆœ‰่ถฃใ€‚

  • ่ฟž็‚นๆˆๆ ‘๏ผšๅธฆ็€ไบŸๅพ…ๅ›ž็ญ”็š„้—ฎ้ข˜ๅŽป่ฏปไนฆ๏ผŒไธไฝ†ไธไผš่ง‰ๅพ—ๆžฏ็‡ฅ๏ผŒๅ่€Œ่ƒฝๅ……ๅˆ†ไบซๅ—ๆ–ฐ็Ÿฅ็š„ไน่ถฃใ€‚่ฟ™ๆ ทๅธๆ”ถ่ฟ›ๆฅ็š„็Ÿฅ่ฏ†ไธๅ†ๆ˜ฏๆ— ๆ„ไน‰็š„ๅ †็งฏ็‰ฉ๏ผŒ่€Œๆ˜ฏๆฒฟ็€โ€œๆ‰นๅˆคโ€”ๅๆ‰นๅˆคโ€”ๅ†ๆ‰นๅˆคโ€็บฟ็ดข็”Ÿ้•ฟๅ‡บๆฅ็š„ใ€ๆธ…ๆ™ฐ็š„็Ÿฅ่ฏ†ๆ ‘ใ€‚ๆœ‰ไบ†็Ÿฅ่ฏ†ๆ ‘๏ผŒๆ‰่ƒฝ็œŸๆญฃๅฝขๆˆ่‡ชๅทฑ็š„ๆ€ๆƒณ่ง‚ๅฟต๏ผŒๆ‰่ƒฝๆก็†ๆธ…ๆ™ฐๅœฐ็†่งฃไธ–็•Œใ€‚

  • ๅ–„็”จๆŒ‡ๅผ•๏ผš่€ๅธˆๆˆ–ๅฏผ่ฏปๆ— ๆณ•ไปฃๆ›ฟไฝ ่ฏปไนฆ๏ผŒไฝ†ๅฏไปฅๅธฎไฝ ่งฃ้‡Š้—ฎ้ข˜ๆƒ…ๅขƒใ€ๆŒ‡ๆ˜Ž็Ÿฅ่ฏ†้—จๅพ„ใ€ไบคไปฃ่ฏญๅขƒ๏ผˆๆ‰€่ฐ“โ€œๅธˆๅ‚…้ข†่ฟ›้—จ๏ผŒไฟฎ่กŒๅœจไธชไบบโ€๏ผ‰๏ผŒๅคงๅคงๆ้ซ˜ไฝ ็š„้˜…่ฏปๆ•ˆ็އๅ’Œ็†่งฃๆทฑๅบฆใ€‚

็ฌฌไธ‰โ€œ่ฆโ€๏ผšไธŽไบบ๏ผˆๆˆ–AI๏ผ‰่ฎจ่ฎบ๏ผŒๆฃ€้ชŒ็†่งฃ็š„่ฏ•้‡‘็Ÿณ โ€‹

่ฏปๅฎŒไธ€ๆœฌไนฆ๏ผŒ่ฆๆ‰พไบบ่ฎจ่ฎบ๏ผˆไนŸๅฏไปฅไธŽ่ƒฝๅŠ›่พƒๅผบ็š„ AI ๅทฅๅ…ทๆทฑๅบฆๅฏน่ฏ๏ผ‰๏ผŒ่ฎจ่ฎบๆ˜ฏๆฃ€้ชŒ็†่งฃ็š„่ฏ•้‡‘็Ÿณใ€‚

็‹ฌ่‡ช้˜…่ฏปๅธธๅฝขๆˆๆจก็ณŠ็š„็†่งฃ้“พๆก๏ผŒๅฎนๆ˜“ไบง็”Ÿโ€œๆˆ‘ๆ‡‚ไบ†โ€็š„ๅนป่ง‰๏ผŒๅ”ฏๆœ‰่ƒฝ็”จ่‡ชๅทฑ็š„่ฏญ่จ€่ฎฉๅˆซไบบๅฌๆ‡‚๏ผŒๆ‰็ฎ—็œŸๆญฃ็†่งฃใ€‚

็œŸๆญฃ็š„็†่งฃๆœ‰ไธ€ไธชๆ›ด้ซ˜็š„ๆ ‡ๅ‡†๏ผšๆŠŠไนฆไธญ็š„่ง‚็‚น็”จ่‡ชๅทฑ็š„่ฏ่ฎฒ็ป™ๅˆซไบบๅฌ๏ผŒ่ฎฉๅฏนๆ–นไนŸ่ƒฝๅฌๆ‡‚ใ€‚"็œ‹ๆ‡‚"ๅ’Œ"่ฎฒๆธ…ๆฅš"ไน‹้—ด๏ผŒๅทฎ็€ๅไธ‡ๅ…ซๅƒ้‡Œใ€‚ๅพˆๅคšๆ—ถๅ€™๏ผŒๆ‰€่ฐ“"็œ‹ๆ‡‚"๏ผŒไธ่ฟ‡ๆ˜ฏๅœจ่„‘ไธญๅฝขๆˆไบ†ไธ€ๆกๆจก็ณŠใ€ไธ่ฟž่ดฏ็š„"็†่งฃ้“พ"ใ€‚ๅชๆœ‰ๅฝ“ไฝ ๅฟ…้กป็”จ่‡ชๅทฑ็š„่ฏญ่จ€ๅ‘ๅˆซไบบๅค่ฟฐ๏ผŒๅนถไธ”่ฆๅšๅˆฐ่จ€ไน‹ๆˆ็†ใ€่‡ชๅœ†ๅ…ถ่ฏดๆ—ถ๏ผŒ้‚ฃไบ›่–„ๅผฑใ€็ผบๅคฑ็š„็Žฏ่Š‚ๆ‰ไผš็ซ‹ๅˆปๆšด้œฒๅ‡บๆฅ๏ผˆๅซ็ณŠ็š„ๅœฐๆ–นไฝ ไผš็›ดๆŽฅๅกๅฃณ๏ผ‰ใ€‚

ๅœจโ€œๅˆ้šพโ€ไธญๆŸฅๆผ่กฅ็ผบ๏ผŒ่ฎฒ่ฟฐ็š„่ฟ‡็จ‹ไผšๅ€’้€ผไฝ ๏ผš

  1. ๆŠŠ้€ป่พ‘็†ๆธ…ๆฅš๏ผŒ็กฎไฟ"ๅ› ไธบ"ๅ’Œ"ๆ‰€ไปฅ"ไน‹้—ด็œŸ็š„ๆˆ็ซ‹๏ผ›
  2. ๅ‘็Žฐ่‡ชๅทฑ่ฟ˜ๆฒกๆžๆ‡‚็š„ๅœฐๆ–น๏ผŒๅธฆ็€ๆ–ฐ้—ฎ้ข˜ๅ›žๅŽปๅ†่ฏป๏ผ›
  3. ๅœจไป–ไบบ็š„่ฟฝ้—ฎๅ’Œ่ดจ็–‘ไธญ๏ผŒไธๆ–ญๆทฑๅŒ–็†่งฃใ€‚

ๆˆ‘ๆ›พๅฐ่ฏ•ๅฐ†ๅ‡ ๆœฌไนฆ็š„ๅ†…ๅฎน่ฎฒ็ป™ๆฒกๆ—ถ้—ด้˜…่ฏป็š„ๆœ‹ๅ‹ๅฌใ€‚ไป–ไปฌๅฏไธไผšๆŠŠๆˆ‘ๅฝ“โ€œ่€ๅธˆโ€ๆฅๅฐŠๆ•ฌ๏ผŒ้‡ๅˆฐ็–‘้—ฎๆˆ–ไธๅŒๆ„่งๅฐฑไผš้šๆ—ถๆ‰“ๆ–ญ๏ผŒ็”š่‡ณไปฅๆŠŠๆˆ‘โ€œ้—ฎๅ€’โ€ไธบไนใ€‚็ป“ๆžœๆ˜ฏ๏ผŒๆˆ‘ๅŽŸไปฅไธบๅฎŒๅ…จ็œ‹ๆ‡‚็š„ไนฆ๏ผŒ่ขซไป–ไปฌไธ€้€šโ€œ่ƒกๆ…่›ฎ็ผ โ€ๅŽ๏ผŒๅ‘็Žฐ็ซŸ็„ถ่ฟ˜ๆœ‰้‚ฃไนˆๅคšๆฒกๅƒ้€็š„ๅœฐๆ–น๏ผŒๅช่ƒฝๅ›žๅŽป้‡่ฏปใ€‚ไธ‹ไธ€ๆฌก่ง้ขๆ—ถ๏ผŒๆˆ‘ๅฟ…้กปๆŠŠไป–ไปฌ็š„่ดจ็–‘่งฃ้‡Šๆธ…ๆฅšใ€‚ไฝ†ไนŸๆญฃๅ› ๅฆ‚ๆญค๏ผŒ้‚ฃๅ‡ ๆœฌไนฆๆˆไบ†ๆˆ‘ไนฆๆžถไธŠ็†่งฃๆœ€้€ๅฝปใ€ๆ”ถ่Žทๆœ€ๅคง็š„ไนฆใ€‚

่ฟ™้‡Œ็š„่ฎฒ่ฟฐไธๆ˜ฏๅ•ๆ–น้ข็š„่ฏพๅ ‚ๅฎฃ่ฎฒ๏ผŒ่€Œๆ˜ฏ้ขๅฏน้ข็š„ๅนณ็ญ‰่ฎจ่ฎบใ€ๅฏปๆ‰พ้ซ˜่ดจ้‡็š„ๅฏน่ฏใ€‚ๅฆ‚ๆžœๅฏน่ฏ่€…ๆฐดๅนณ้ซ˜ใ€่ฎจ่ฎบๆทฑๅ…ฅ๏ผŒๆ•ˆๆžœๆžไฝณใ€‚ๅœจๅฆ‚ไปŠ๏ผŒไฝ ็”š่‡ณๅฏไปฅๆŠŠ้€ป่พ‘ๆŽจ็†่ƒฝๅŠ›่พƒๅผบ็š„ AI ๅทฅๅ…ทๅฝ“ไฝœไฝ ็š„โ€œ่ฎจ่ฎบๆญๅญโ€๏ผŒ่ฎฉๅฎƒๅฏนไฝ ็š„่ง‚็‚น่ฟ›่กŒๆ้—ฎๅ’Œๅ้ฉณ๏ผŒไปฅๆญคๆฅ่ฟซไฝฟ่‡ชๅทฑ็œŸๆญฃ้€ๅฝปๅœฐๆŽŒๆก็Ÿฅ่ฏ†ใ€‚

3. ่ฏปไนฆ"ไธ‰ไธ่ฆ" โ€‹

็ฌฌไธ€โ€œไธ่ฆโ€๏ผšไธ่ฆๆ€€ๆฃๅ“€ๆ€จๅฟƒๆ€๏ผŒ้ฟๅ…่ฏปไนฆ็›ฎ็š„่ขซๅผ‚ๅŒ– โ€‹

ไธ่ฆๆœ‰ๅ“€ๆ€จๅฟƒๆ€๏ผŒ่ขซๅ“€ๆ€จๆƒ…็ปชๆŽงๅˆถ๏ผŒๅฐฑๅคฑๅŽปไบ†่ฏปไนฆ็š„ๅนณๅธธๅฟƒๅ’Œๅฎข่ง‚็†่งฃๅŠ›ใ€‚

่ฏปไนฆๅคšไธ็ญ‰ไบŽไบบๆ‰๏ผŒๆœชๆไพ›็คพไผšไปทๅ€ผๅˆ™้šพ่‡ดๅฏŒใ€‚่‹ฅๅ› ๆญคๆ€จๅคฉๅฐคไบบ๏ผŒ่ฏปไนฆๅฐ†ๅผ‚ๅŒ–ไธบๆŽ’่งฃๆƒ…็ปชไธŽๅšๅ–ๅ…ณๆณจ็š„ๅทฅๅ…ทใ€‚

ไธ€ไธชไบบไธ€ๆ—ฆ่ขซๅ“€ๆ€จๆƒ…็ปชๆŽงๅˆถ๏ผŒๅฐฑไผšๅฝปๅบ•ๅคฑๅŽป่ฏปไนฆ็š„ๅนณๅธธๅฟƒๅ’Œๅฎข่ง‚็†่งฃๅŠ›ใ€‚

  • ่ญฆๆƒ•โ€œไปทๅ€ผ่ฝฌๅŒ–โ€็š„ๅนป่ง‰๏ผšๆœ‰ไบ›ไบบ็กฎๅฎž่ฏปไบ†ไธๅฐ‘ไนฆ๏ผŒ่ฏด่ตท่ฏๆฅๅคดๅคดๆ˜ฏ้“๏ผŒไนŸๆ—ถๅธธ่ƒฝๅพ—ๅˆฐไป–ไบบ็š„่ตž่ฎธใ€‚่ฟ™ๅฎนๆ˜“่ฎฉไบบไบง็”Ÿไธ€็งๅนป่ง‰๏ผŒ่‡ช่ฎคๆ˜ฏไธชโ€œ่ขซๅŸ‹ๆฒก็š„ไบบๆ‰โ€ใ€‚ไฝ†ๅฎž้™…ไธŠ๏ผŒ่ฏปไนฆๅคšไธ็ญ‰ไบŽไบบๆ‰๏ผŒ็œŸๆญฃ็š„่ดขๅฏŒๆฅๆบไบŽไฝ ่ƒฝๅฆไธบๅˆซไบบๆไพ›ๆœ‰ไปทๅ€ผ็š„ๅ•†ๅ“ๆˆ–ๆœๅŠกใ€‚ๅพ—ๅˆฐๅˆซไบบ็š„ๅฃๅคด่ตž่ฎธ๏ผŒไธŽ่ฎฉๅˆซไบบๆŽ้’ฑไนฐไฝ ็š„ๆœๅŠกไน‹้—ด๏ผŒๆœ‰็€ๅทจๅคง็š„้ธฟๆฒŸใ€‚

  • ่ญฆๆƒ•ๅฟƒๆ€ๅคฑ่กกไธŽๆ€จๅคฉๅฐคไบบ๏ผšๅฝ“่‡ช่ฏฉไธบโ€œไบบๆ‰โ€ๅด่ฟŸ่ฟŸๆœช่ƒฝๅ‘ๅฎถ่‡ดๅฏŒๆ—ถ๏ผŒๅพˆๅคšไบบไธไผšๅๆ€่‡ชๅทฑๆ˜ฏๅฆๅˆ›้€ ไบ†็œŸๆญฃ็š„็คพไผšไปทๅ€ผ๏ผŒ่€Œๆ˜ฏๅฐ†ๅŽŸๅ› ๅฝ’ๅ’ŽไบŽๅค–็•Œ๏ผŒ้™็ญ‰็€โ€œไผฏไนโ€ๆฅๅ‘ๆŽ˜ใ€‚ๅฝ“็œ‹ๅˆฐ่บซ่พนไธ่ฏปไนฆ็š„ไบบ็บท็บทไนฐ่ฝฆไนฐๆˆฟๆ—ถ๏ผŒ่ฟ™็ง็€ๆ€ฅๅฐฑไผšๆผ”ๅ˜ๆˆๆฐ”ๆ€ฅ่ดฅๅใ€้„™ๅคทไธŽๅ“€ๆ€จ๏ผŒ็”š่‡ณ่ง‰ๅพ—โ€œ็คพไผšๅคชไธๅ…ฌๅนณโ€ใ€‚

  • ้˜ฒๆญข้˜…่ฏปๅˆ่กท็š„ๅผ‚ๅŒ–๏ผš่ฟ™ๆ˜ฏๆœ€่‡ดๅ‘ฝ็š„ไธ€็‚นใ€‚ๅฝ“ๆ€จๆฐ”ๅ ๆฎๅคง่„‘๏ผŒ่ฏปไนฆๅฏนไบŽ่ฟ™็ฑปไบบๆฅ่ฏด๏ผŒๅฐฑไธๅ†ๆ˜ฏๅฎข่ง‚ๆŽฅๅ—ไฟกๆฏใ€็†่งฃไธ–็•Œ็š„ๆ–นๅผไบ†,่€Œๆ˜ฏๆฒฆไธบไบ†ไธ€็งๆŽ’่งฃ้ƒ้—ทใ€ๆ‰“ๅ‘ๆ—ถ้—ด็š„ๆถˆๆžๆ‰‹ๆฎตใ€‚ไป–ไปฌ็š„ๅ…ณๆณจ็‚นไผšไปŽไนฆๆœฌๅ†…ๅฎนๅฝปๅบ•่ฝฌ็งปๅˆฐๅˆซไบบ็š„็œผๅ…‰ไธŠ๏ผŒๅ†…ๅฟƒ็š„ๆฝœๅฐ่ฏๅ˜ๆˆไบ†่กจๆผ”๏ผšโ€œไฝ ไปฌ่ฟ˜ๆฒก็œ‹ๅˆฐๆˆ‘ๅˆป่‹ฆ่ฏปไนฆ็š„่บซๅงฟๅ—๏ผŸ่ฟ˜ไธๆ‰ฟ่ฎคๆˆ‘ๆ˜ฏไธชไบบๆ‰ๅ—๏ผŸ่ฟ˜ไธๆ้ซ˜ๆˆ‘็š„ๆ”ถๅ…ฅๅ—๏ผŸโ€

็ฌฌไบŒโ€œไธ่ฆโ€๏ผšไธ่ฆ็Žฉ็‰ฉไธงๅฟ—๏ผŒ้™ทๅ…ฅๅฏน็‰ฉ็†ๅช’ไป‹็š„่ฟ‡ๅบฆ่ฟทๆ‹ โ€‹

ไธ่ฆ็Žฉ็‰ฉไธงๅฟ—๏ผŒ่ฟ‡ๅบฆๆฒ‰ๆบบไนฆ็ฑ็ป†่Š‚ไธŽ้™„ๅฑžๅ“ไผšๅฏผ่‡ดโ€œ็Žฉ็‰ฉไธงๅฟ—โ€ใ€‚่‹ฅ่ฏปไนฆ่„ฑ็ฆป่Žทๅ–ไฟกๆฏ็š„็›ฎ็š„๏ผŒๅˆ™้šพไปฅๅœจ็Ÿฅ่ฏ†ๅญฆ้—ฎไธŠๆœ‰ๆ‰€ๆˆๅฐฑใ€‚

  • ๅ›žๅฝ’้˜…่ฏป็š„ๆœฌ่ดจ๏ผš่ฏปไนฆ็š„ๆ ธๅฟƒ็›ฎ็š„ๆ˜ฏไธบไบ†่Žทๅ–ไฟกๆฏใ€ๆฑฒๅ–็Ÿฅ่ฏ†๏ผŒ่€Œไธๆ˜ฏไธบไบ†ๆŠŠ็Žฉ้‚ฃไธ€ๆŸ่ฃ…่ฎข่ตทๆฅ็š„็บธๅผ ใ€‚้š็€้˜…่ฏป็š„ๆทฑๅ…ฅ๏ผŒๅพˆๅคšไบบๅฎนๆ˜“ๆฒ‰ๆบบไบŽไนฆ็ฑๅธฆๆฅ็š„้™„ๅŠ ไฝ“้ชŒ๏ผˆๅฆ‚็บธๅผ ็š„ๆ‰‹ๆ„Ÿใ€ๆฒนๅขจ็š„้ฆ™ๆฐ”ใ€็‰ˆๆœฌ็š„่€ƒ็ฉถ๏ผ‰ใ€‚่ฟ™็งๅฏน็‰ฉ็†ๅฝขๆ€็š„ๅๅฅฝๅฏไปฅ็†่งฃ๏ผŒไฝ†ๅฟ…้กปๆœ‰ๆ‰€่Š‚ๅˆถ๏ผŒไธ€ๆ—ฆๅ–งๅฎพๅคบไธป๏ผŒ็”š่‡ณๅ› ๆญคๆ‹’็ปๆ›ด้ซ˜ๆ•ˆ็š„ๅช’ไป‹๏ผŒๅฐฑๆ˜ฏๅ—่พ•ๅŒ—่พ™ไบ†ใ€‚

  • ้กบๅบ”ๅช’ไป‹ๆผ”่ฟ›็š„ๆ•ˆ็އ่ถ‹ๅŠฟ๏ผŒๆ—ถไปฃ่ถ‹ๅŠฟไธๅฏ้€†๏ผš็บต่ง‚ๅކๅฒ๏ผŒไปŽไธ็ปธใ€็ซน็ฎ€ๅˆฐ็บธๅผ ๏ผŒๅ†ๅˆฐๅฆ‚ไปŠ็š„็”ตๅญไนฆ๏ผŒไฟกๆฏๅช’ไป‹็š„ๆผ”่ฟ›ๅง‹็ปˆๆœ็€โ€œๆ›ดไฝŽๆˆๆœฌใ€ๆ›ด้ซ˜ๆ•ˆ็އโ€็š„ๆ–นๅ‘ๅ‘ๅฑ•ใ€‚ๅœจไฟกๆฏๆ—ถไปฃ๏ผŒ็”ตๅญไนฆๅœจไพฟๆบๆ€งใ€ๆ˜“ๅ‚จๆ€งใ€ๅ†…ๅฎนๅฏๆฃ€็ดขๆ€ง๏ผˆๅฆ‚ไธ€้”ฎๅ…จๆ–‡ๆœ็ดข๏ผ‰ไปฅๅŠ็Ÿฅ่ฏ†ๅ…ฑไบซๆ–น้ข๏ผŒๆ‹ฅๆœ‰็บธ่ดจไนฆๆ— ๆณ•ๆฏ”ๆ‹Ÿ็š„ไผ˜ๅŠฟ๏ผŒ่ฟ™ๅฏนไบŽๅฟซ้€Ÿๅฎšไฝๅ…ณ้”ฎไฟกๆฏใ€ๆž„ๅปบไธชไบบ็Ÿฅ่ฏ†ๆ ‘่€Œ่จ€ๆ˜ฏๆžๅคง็š„ๅŠฉๅŠ›ใ€‚

  • ่ญฆๆƒ•่ขซโ€œๆ—งไน ๆƒฏโ€็ป‘ๆžถ๏ผšๅพˆๅคšๆŠ—ๆ‹’็”ตๅญไนฆ็š„ไบบ๏ผŒๅผบ่ฐƒ็š„็ง็ง็†็”ฑๅ…ถๅฎžไธŽโ€œ่ฏปไนฆโ€ๆœฌ่บซๅ…ณ็ณปไธๅคง๏ผŒๆ›ดๅคšๆ˜ฏไธๆ„ฟๆ”นๅ˜ๆ—งๆœ‰็š„้˜…่ฏปไน ๆƒฏ๏ผŒไธๆ„ฟๆ”พๅผƒ่ฏปไนฆไปฅๅค–็š„ๆŠŠ็Žฉไน่ถฃใ€‚ไธบไบ†ๅšๆŒ่ฟ™็งๆ—งไน ๆƒฏ๏ผŒ่€Œไธๆƒœ็‰บ็‰ฒไฟกๆฏๆต่ฝฌๅ’Œ่Žทๅ–็š„ๆ•ˆ็އ๏ผŒ่ฟ™ๅœจไฟกๆฏ็ˆ†็‚ธ็š„ๆ—ถไปฃๆ˜ฏๅพ—ไธๅฟๅคฑ็š„ใ€‚

  • ็งฏๆžๆ‹ฅๆŠฑๆ–ฐๅช’ไป‹็š„็บขๅˆฉ๏ผš็œŸๆญฃไปฅๆฑ‚็Ÿฅไธบ็›ฎ็š„็š„ไบบ๏ผŒไปŽๆฅ้ƒฝไผš็งฏๆžๆ‹ฅๆŠฑๆ–ฐ็š„ไผ ๆ’ญๅทฅๅ…ทใ€‚ๅœจ่ฟ™ไธชๆ—ถไปฃ๏ผŒๅ›บๅฎˆไผ ็ปŸๅช’ไป‹็š„ไบบ่Žทๅ–็Ÿฅ่ฏ†็š„ๆˆๆœฌไผš่ถŠๆฅ่ถŠ้ซ˜ใ€ๆ•ˆ็އ่ถŠๆฅ่ถŠไฝŽ๏ผ›่€Œๆ„ฟๆ„ๆŽฅ็บณๆ–ฐๅช’ไป‹็š„้˜…่ฏป่€…๏ผŒๅˆ™่ƒฝไปฅๆ›ด่ฝปๆพใ€ๆ„‰ๅฟซ็š„ๆ–นๅผ๏ผŒ่Žทๅ–ๆœ€ไธฐๆฒ›็š„็Ÿฅ่ฏ†ใ€‚

็ฌฌไธ‰โ€œไธ่ฆโ€๏ผšไธ่ฆๅช่ฏปไนฆไธ็Ÿฅ็Žฐๅฎž๏ผŒ้ฟๅ…็Ÿฅ่ฏ†็ป“ๆž„้™ทๅ…ฅโ€œ็œŸ็ฉบโ€ โ€‹

ไนฆ็ฑไป…ๆ‰ฟ่ฝฝๆžๅฐ‘็Ÿฅ่ฏ†๏ผŒๅคง้‡้šๆ€ง็Ÿฅ่ฏ†ๅญ˜ไบŽ็Žฐๅฎž็คพไผšใ€‚ๅช่ฏปไนฆไผšๅฏผ่‡ด็Ÿฅ่ฏ†็ป“ๆž„็ผบ้™ท๏ผŒ้šพไปฅๅบ”ๅฏนๅฎžๅŠก๏ผŒๆ•…ไธๅฏ่„ฑ็ฆป็Žฐๅฎžใ€‚

ไนฆๆœฌ็Ÿฅ่ฏ†ๅชๆ˜ฏ่ฎค่ฏ†ไธ–็•Œ็š„ไธ€ๅฐ้ƒจๅˆ†๏ผŒ่„ฑ็ฆป็Žฐๅฎž็š„็บฏ็ฒน้˜…่ฏป๏ผŒไผšๅฏผ่‡ด็Ÿฅ่ฏ†็ป“ๆž„็š„ไธฅ้‡ๆ‰ญๆ›ฒใ€‚

  • ่ฎคๆธ…ไนฆ็ฑ็š„ๅฑ€้™ๆ€ง๏ผš็Ÿฅ่ฏ†ไปฅๅ„็งๆ–นๅผๅญ˜ๅœจไบŽ็คพไผš็š„ๅ„ไธช่ง’่ฝ๏ผŒไนฆ็ฑๆ‰€ๆ‰ฟ่ฝฝ็š„ไป…ไป…ๆ˜ฏไธ–็•Œ็Ÿฅ่ฏ†ๆ€ป้‡ไธญๆžๅฐ็š„ไธ€้ƒจๅˆ†ใ€‚็”ฑไบŽไนฆ็ฑ่ฆๆฑ‚ไนฆ้ขๅŒ–ใ€็ณป็ปŸไธ”่ฟž่ดฏ๏ผŒๅฎƒๅฟ…็„ถๆ— ๆณ•่ฎฐๅฝ•ไธ‹ๅคง้‡ไธ็จณๅฎšใ€่ฝฌ็žฌๅณ้€ใ€็ขŽ็‰‡ๅŒ–ๆˆ–้šพไปฅ็”จ่ฏญ่จ€ๆ˜Ž็กฎ่กจ่พพ็š„็Ÿฅ่ฏ†ใ€‚

  • ้‡่ง†ๅบžๅคง็š„โ€œ้šๆ€ง็Ÿฅ่ฏ†โ€๏ผšๅœจ็Žฐๅฎž็คพไผšไธญ๏ผŒๅญ˜ๅœจ็€่ฏธๅฆ‚่ฐˆ่ฏไบคๆตใ€ไธชไบบ็ป้ชŒใ€่กŒไธบๆ–นๅผใ€ๅ•†ไธšๆจกๅผๅŠไบบ้™…ๅ…ณ็ณป็ญ‰ๆตท้‡็š„้žไนฆๆœฌ็Ÿฅ่ฏ†ใ€‚ๅฆ‚ๆžœไธ€ไธชไบบๅชๆ˜ฏไธ€ๅ‘ณ่ฏปไนฆ่€Œๆžๅฐ‘ๅ‚ไธŽ็คพไผšๅฎž่ทต๏ผŒๅฐฑไผšๅฎŒๅ…จ้”™ๅคฑ่ฟ™้ƒจๅˆ†ๅœจๆ•ฐ้‡ไธŠๆ›ดไธบๅบžๅคง็š„็Ÿฅ่ฏ†ๅฎๅบ“๏ผŒๅฏผ่‡ด็Ÿฅ่ฏ†็ป“ๆž„ๅ‡บ็Žฐ้‡ๅคง็ผบ้™ทใ€‚

  • ่ญฆๆƒ•่„ฑ็ฆป็Žฐๅฎž็š„โ€œๆ‰ญๆ›ฒ่ฎค็Ÿฅโ€๏ผšๅฆ‚ๆžœๅช่ฏปไนฆ่€Œไธๅ‚ไธŽ็คพไผšๅฎž่ทต๏ผŒไผšๅฏผ่‡ด็Ÿฅ่ฏ†็ป“ๆž„ๅญ˜ๅœจ้‡ๅคง็ผบ้™ท๏ผŒๅœจๅค„็†็Žฐๅฎžไบ‹ๅŠกๆ—ถไผšๆšด้œฒๆ— ้—ใ€‚ๅœจๆ•ฐๅญฆใ€่ฎก็ฎ—ๆœบๆˆ–ๆฃ‹็ฑป็ญ‰้ซ˜ๅบฆๆŠฝ่ฑกใ€ๆ— ้œ€ๅคชๅคš็คพไผš็ป้ชŒ็š„้ข†ๅŸŸ๏ผŒไป…ๅ‡ญ้€ป่พ‘ๆŽจๆผ”็กฎๅฎžๅฏไปฅๆˆๅฐฑโ€œๅฐ‘ๅนดๅคฉๆ‰โ€ใ€‚ไฝ†็œŸๅฎžไธ–็•Œ็š„็ปๅคงๅคšๆ•ฐ้ข†ๅŸŸ๏ผˆๅฆ‚ๆณ•ๅพ‹ใ€ๅ•†ไธšใ€ๆœๅŠกไธš็ญ‰๏ผ‰ๆžๅบฆไพ่ต–ไปŽไธš่€…็š„็คพไผš็ป้ชŒๅ’Œ็Žฐๅฎžๆ„Ÿใ€‚ๅช่ฏปไนฆไธไป…ไผš้€ ๆˆๅค„็†ๅฎž้™…ไบ‹ๅŠกๆ—ถ่ƒฝๅŠ›ไฝŽไธ‹๏ผŒๆ›ดไผšไปฅไธ€ๅฐ้ƒจๅˆ†ๅ–ไปฃๆ•ดไฝ“๏ผŒๅฝขๆˆๅฏน็œŸๅฎžไธ–็•Œ็š„ๆ‰ญๆ›ฒ่ฎค็Ÿฅใ€‚ไป…้ ๆŠฝ่ฑก้€ป่พ‘ๆ˜ฏๆ— ๆณ•่งฃๅ†ณๅคๆ‚็Žฐๅฎž้—ฎ้ข˜็š„๏ผŒ่ฟ™ไนŸๆ˜ฏไธบไป€ไนˆไธ–็•ŒไธŠไผšๆœ‰15ๅฒ็š„้ป‘ๅฎข๏ผŒๅด็ปไธไผšๆœ‰15ๅฒ็š„ไบบไบ‹็ป็†ๆˆ–ๆณ•ๅฎ˜ใ€‚

4. ่ฎฉไนฆ็ฑๆˆไธบ่ฟžๆŽฅ่‡ชๆˆ‘ไธŽ็Žฐๅฎž็š„ๆกฅๆข โ€‹

่ฏปไนฆไปŽๆฅไธๆ˜ฏไธบไบ†ๆŠŠ่‡ชๅทฑๅ˜ๆˆไธ€ไธช่ฃ…ๆปกๅ„็ฑป่ง‚็‚น็š„โ€œไธค่„šไนฆๆฉฑโ€๏ผŒ่€Œๆ˜ฏไธบไบ†ๅ‡็บงๆˆ‘ไปฌๆ€่€ƒ็Žฐๅฎžใ€่งฃๅ†ณ้—ฎ้ข˜็š„โ€œๅบ•ๅฑ‚ๆ“ไฝœ็ณป็ปŸโ€ใ€‚

ๆ— ่ฎบๆ˜ฏๅšๆŒโ€œไธ‰่ฆโ€๏ผˆๆŽŒๆกๆ–นๆณ•ใ€ๆž„ๅปบไฝ“็ณปใ€ๆฃ€้ชŒ็œŸ็Ÿฅ๏ผ‰๏ผŒ่ฟ˜ๆ˜ฏ่ญฆๆƒ•โ€œไธ‰ไธ่ฆโ€๏ผˆๆ‹’็ปๅผ‚ๅŒ–ใ€ๆ‹ฅๆŠฑ้ซ˜ๆ•ˆใ€ๆ‰Žๆ น็Žฐๅฎž๏ผ‰๏ผŒๆœ€็ปˆ็š„ๆŒ‡ๅ‘้ƒฝๆ˜ฏๅŒไธ€ไธช๏ผšๆ‰“็ ดไนฆๆœฌไธŽ็Žฐๅฎž็š„ๅฃๅž’๏ผŒ่ฎฉ็Ÿฅ่ฏ†็œŸๆญฃไธบไฝ ๆ‰€็”จใ€‚ ๅœจ่Žทๅ–ไฟกๆฏ้—จๆง›่ถŠๆฅ่ถŠไฝŽ็š„ไปŠๅคฉ๏ผŒ็‹ฌ็ซ‹ๆ€่€ƒๅ’Œๅฐ†็Ÿฅ่ฏ†่ฝฌๅŒ–ไธบๅฎž้™…ไปทๅ€ผ็š„่ƒฝๅŠ›ๆ„ˆๅ‘็่ดตใ€‚

ๆ„ฟๆˆ‘ไปฌ้ƒฝ่ƒฝๅธฆ็€ๅนณๅธธๅฟƒๅŽป้˜…่ฏป๏ผŒๅœจไนฆไธญ่ง‚ๆ‘ฉๅคงๅธˆ็š„ๆ™บๆ…ง๏ผŒๅœจ็Žฐๅฎžไธญๅˆ›้€ ็œŸๅฎž็š„ไปทๅ€ผ๏ผŒไบซๅ—็บฏ็ฒน่€Œๅ……ๅฎž็š„ๆ‚ฆ่ฏปๆ—ถๅ…‰ใ€‚

',43)])])}const u=o(i,[["render",l]]);export{c as __pageData,u as default}; diff --git "a/assets/30.\346\202\246\350\257\273\346\227\266\345\205\211_10.\350\257\273\344\271\246\344\270\211\350\246\201\344\270\211\344\270\215\350\246\201.md.DaAm_LXA.lean.js" "b/assets/30.\346\202\246\350\257\273\346\227\266\345\205\211_10.\350\257\273\344\271\246\344\270\211\350\246\201\344\270\211\344\270\215\350\246\201.md.BQj2m1KY.lean.js" similarity index 96% rename from "assets/30.\346\202\246\350\257\273\346\227\266\345\205\211_10.\350\257\273\344\271\246\344\270\211\350\246\201\344\270\211\344\270\215\350\246\201.md.DaAm_LXA.lean.js" rename to "assets/30.\346\202\246\350\257\273\346\227\266\345\205\211_10.\350\257\273\344\271\246\344\270\211\350\246\201\344\270\211\344\270\215\350\246\201.md.BQj2m1KY.lean.js" index 7bfb6091..beedd845 100644 --- "a/assets/30.\346\202\246\350\257\273\346\227\266\345\205\211_10.\350\257\273\344\271\246\344\270\211\350\246\201\344\270\211\344\270\215\350\246\201.md.DaAm_LXA.lean.js" +++ "b/assets/30.\346\202\246\350\257\273\346\227\266\345\205\211_10.\350\257\273\344\271\246\344\270\211\350\246\201\344\270\211\344\270\215\350\246\201.md.BQj2m1KY.lean.js" @@ -1 +1 @@ -import{_ as o,g as a,h as r,U as e}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const c=JSON.parse('{"title":"่ฏปไนฆโ€œไธ‰่ฆโ€ๅ’Œโ€œไธ‰ไธ่ฆโ€","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจไฟกๆฏ็ˆ†็‚ธ็š„ๆ—ถไปฃ๏ผŒ่ฏปไนฆไพ็„ถๆ˜ฏ่Žทๅ–ๆทฑๅบฆ็Ÿฅ่ฏ†ๆœ€้ซ˜ๆ•ˆ็š„ๆ–นๅผไน‹ไธ€ใ€‚ไฝ†โ€œๆง่ตทไนฆโ€ๅนถไธ็ญ‰ไบŽโ€œๆœ‰ๆ”ถ่Žทโ€๏ผŒๆ€Žไนˆ่ฏปๅพ€ๅพ€ๆฏ”่ฏปไป€ไนˆๆ›ด้‡่ฆใ€‚ๆœฌๆ–‡ๆ€ป็ป“ไบ†้ซ˜ๆ•ˆ้˜…่ฏป็š„โ€œไธ‰่ฆโ€ไธŽโ€œไธ‰ไธ่ฆโ€๏ผšไปŽๅฎŒๆ•ด้˜…่ฏป่ง‚ๆ‘ฉๅคงๅธˆๆ€็ปดใ€ๅธฆ็€้—ฎ้ข˜ๆž„ๅปบ็Ÿฅ่ฏ†ๆ ‘๏ผŒๅˆฐ้€š่ฟ‡่ฎจ่ฎบๆฃ€้ชŒ็†่งฃ๏ผ›ๅŒๆ—ถๆ้†’้˜…่ฏป่€…่ญฆๆƒ•ๅ“€ๆ€จๅฟƒๆ€ๅฏน้˜…่ฏปๅˆ่กท็š„ๅผ‚ๅŒ–ใ€้ฟๅ…้™ทๅ…ฅๅฏน็‰ฉ็†ๅช’ไป‹็š„โ€œ็Žฉ็‰ฉไธงๅฟ—โ€๏ผŒไปฅๅŠๅˆ‡ๅฟŒ่„ฑ็ฆป็Žฐๅฎž็š„โ€œ็œŸ็ฉบโ€้˜…่ฏปใ€‚้˜…่ฏปไธไป…ๆ˜ฏๅ‘ๅ†…ๆŽข็ดข็š„็ฒพ็ฅžไน‹ๆ—…๏ผŒๆ›ดๆ˜ฏๅ‘ๅค–็†่งฃ็œŸๅฎžไธ–็•Œใ€ๅˆ›้€ ็คพไผšไปทๅ€ผ็š„ๅฎž็”จๅทฅๅ…ทใ€‚","frontmatter":{"date":"2025-03-06T11:42:20.000Z","title":"่ฏปไนฆโ€œไธ‰่ฆโ€ๅ’Œโ€œไธ‰ไธ่ฆโ€","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจไฟกๆฏ็ˆ†็‚ธ็š„ๆ—ถไปฃ๏ผŒ่ฏปไนฆไพ็„ถๆ˜ฏ่Žทๅ–ๆทฑๅบฆ็Ÿฅ่ฏ†ๆœ€้ซ˜ๆ•ˆ็š„ๆ–นๅผไน‹ไธ€ใ€‚ไฝ†โ€œๆง่ตทไนฆโ€ๅนถไธ็ญ‰ไบŽโ€œๆœ‰ๆ”ถ่Žทโ€๏ผŒๆ€Žไนˆ่ฏปๅพ€ๅพ€ๆฏ”่ฏปไป€ไนˆๆ›ด้‡่ฆใ€‚ๆœฌๆ–‡ๆ€ป็ป“ไบ†้ซ˜ๆ•ˆ้˜…่ฏป็š„โ€œไธ‰่ฆโ€ไธŽโ€œไธ‰ไธ่ฆโ€๏ผšไปŽๅฎŒๆ•ด้˜…่ฏป่ง‚ๆ‘ฉๅคงๅธˆๆ€็ปดใ€ๅธฆ็€้—ฎ้ข˜ๆž„ๅปบ็Ÿฅ่ฏ†ๆ ‘๏ผŒๅˆฐ้€š่ฟ‡่ฎจ่ฎบๆฃ€้ชŒ็†่งฃ๏ผ›ๅŒๆ—ถๆ้†’้˜…่ฏป่€…่ญฆๆƒ•ๅ“€ๆ€จๅฟƒๆ€ๅฏน้˜…่ฏปๅˆ่กท็š„ๅผ‚ๅŒ–ใ€้ฟๅ…้™ทๅ…ฅๅฏน็‰ฉ็†ๅช’ไป‹็š„โ€œ็Žฉ็‰ฉไธงๅฟ—โ€๏ผŒไปฅๅŠๅˆ‡ๅฟŒ่„ฑ็ฆป็Žฐๅฎž็š„โ€œ็œŸ็ฉบโ€้˜…่ฏปใ€‚้˜…่ฏปไธไป…ๆ˜ฏๅ‘ๅ†…ๆŽข็ดข็š„็ฒพ็ฅžไน‹ๆ—…๏ผŒๆ›ดๆ˜ฏๅ‘ๅค–็†่งฃ็œŸๅฎžไธ–็•Œใ€ๅˆ›้€ ็คพไผšไปทๅ€ผ็š„ๅฎž็”จๅทฅๅ…ทใ€‚","coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/reading_need.png","permalink":"/pages/growth/reading-tips","sticky":1,"top":true,"categories":["ๆ‚ฆ่ฏปๆ—ถๅ…‰"],"tags":["ๆ‚ฆ่ฏปๆ—ถๅ…‰"]},"headers":[],"relativePath":"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/10.่ฏปไนฆไธ‰่ฆไธ‰ไธ่ฆ.md","filePath":"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/10.่ฏปไนฆไธ‰่ฆไธ‰ไธ่ฆ.md"}'),i={name:"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/10.่ฏปไนฆไธ‰่ฆไธ‰ไธ่ฆ.md"};function l(n,t,s,p,g,h){return r(),a("div",null,[...t[0]||(t[0]=[e("",43)])])}const u=o(i,[["render",l]]);export{c as __pageData,u as default}; +import{_ as o,g as a,h as r,U as e}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const c=JSON.parse('{"title":"่ฏปไนฆโ€œไธ‰่ฆโ€ๅ’Œโ€œไธ‰ไธ่ฆโ€","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจไฟกๆฏ็ˆ†็‚ธ็š„ๆ—ถไปฃ๏ผŒ่ฏปไนฆไพ็„ถๆ˜ฏ่Žทๅ–ๆทฑๅบฆ็Ÿฅ่ฏ†ๆœ€้ซ˜ๆ•ˆ็š„ๆ–นๅผไน‹ไธ€ใ€‚ไฝ†โ€œๆง่ตทไนฆโ€ๅนถไธ็ญ‰ไบŽโ€œๆœ‰ๆ”ถ่Žทโ€๏ผŒๆ€Žไนˆ่ฏปๅพ€ๅพ€ๆฏ”่ฏปไป€ไนˆๆ›ด้‡่ฆใ€‚ๆœฌๆ–‡ๆ€ป็ป“ไบ†้ซ˜ๆ•ˆ้˜…่ฏป็š„โ€œไธ‰่ฆโ€ไธŽโ€œไธ‰ไธ่ฆโ€๏ผšไปŽๅฎŒๆ•ด้˜…่ฏป่ง‚ๆ‘ฉๅคงๅธˆๆ€็ปดใ€ๅธฆ็€้—ฎ้ข˜ๆž„ๅปบ็Ÿฅ่ฏ†ๆ ‘๏ผŒๅˆฐ้€š่ฟ‡่ฎจ่ฎบๆฃ€้ชŒ็†่งฃ๏ผ›ๅŒๆ—ถๆ้†’้˜…่ฏป่€…่ญฆๆƒ•ๅ“€ๆ€จๅฟƒๆ€ๅฏน้˜…่ฏปๅˆ่กท็š„ๅผ‚ๅŒ–ใ€้ฟๅ…้™ทๅ…ฅๅฏน็‰ฉ็†ๅช’ไป‹็š„โ€œ็Žฉ็‰ฉไธงๅฟ—โ€๏ผŒไปฅๅŠๅˆ‡ๅฟŒ่„ฑ็ฆป็Žฐๅฎž็š„โ€œ็œŸ็ฉบโ€้˜…่ฏปใ€‚้˜…่ฏปไธไป…ๆ˜ฏๅ‘ๅ†…ๆŽข็ดข็š„็ฒพ็ฅžไน‹ๆ—…๏ผŒๆ›ดๆ˜ฏๅ‘ๅค–็†่งฃ็œŸๅฎžไธ–็•Œใ€ๅˆ›้€ ็คพไผšไปทๅ€ผ็š„ๅฎž็”จๅทฅๅ…ทใ€‚","frontmatter":{"date":"2025-03-06T11:42:20.000Z","title":"่ฏปไนฆโ€œไธ‰่ฆโ€ๅ’Œโ€œไธ‰ไธ่ฆโ€","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจไฟกๆฏ็ˆ†็‚ธ็š„ๆ—ถไปฃ๏ผŒ่ฏปไนฆไพ็„ถๆ˜ฏ่Žทๅ–ๆทฑๅบฆ็Ÿฅ่ฏ†ๆœ€้ซ˜ๆ•ˆ็š„ๆ–นๅผไน‹ไธ€ใ€‚ไฝ†โ€œๆง่ตทไนฆโ€ๅนถไธ็ญ‰ไบŽโ€œๆœ‰ๆ”ถ่Žทโ€๏ผŒๆ€Žไนˆ่ฏปๅพ€ๅพ€ๆฏ”่ฏปไป€ไนˆๆ›ด้‡่ฆใ€‚ๆœฌๆ–‡ๆ€ป็ป“ไบ†้ซ˜ๆ•ˆ้˜…่ฏป็š„โ€œไธ‰่ฆโ€ไธŽโ€œไธ‰ไธ่ฆโ€๏ผšไปŽๅฎŒๆ•ด้˜…่ฏป่ง‚ๆ‘ฉๅคงๅธˆๆ€็ปดใ€ๅธฆ็€้—ฎ้ข˜ๆž„ๅปบ็Ÿฅ่ฏ†ๆ ‘๏ผŒๅˆฐ้€š่ฟ‡่ฎจ่ฎบๆฃ€้ชŒ็†่งฃ๏ผ›ๅŒๆ—ถๆ้†’้˜…่ฏป่€…่ญฆๆƒ•ๅ“€ๆ€จๅฟƒๆ€ๅฏน้˜…่ฏปๅˆ่กท็š„ๅผ‚ๅŒ–ใ€้ฟๅ…้™ทๅ…ฅๅฏน็‰ฉ็†ๅช’ไป‹็š„โ€œ็Žฉ็‰ฉไธงๅฟ—โ€๏ผŒไปฅๅŠๅˆ‡ๅฟŒ่„ฑ็ฆป็Žฐๅฎž็š„โ€œ็œŸ็ฉบโ€้˜…่ฏปใ€‚้˜…่ฏปไธไป…ๆ˜ฏๅ‘ๅ†…ๆŽข็ดข็š„็ฒพ็ฅžไน‹ๆ—…๏ผŒๆ›ดๆ˜ฏๅ‘ๅค–็†่งฃ็œŸๅฎžไธ–็•Œใ€ๅˆ›้€ ็คพไผšไปทๅ€ผ็š„ๅฎž็”จๅทฅๅ…ทใ€‚","coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/reading_need.png","permalink":"/pages/growth/reading-tips","sticky":1,"top":true,"categories":["ๆ‚ฆ่ฏปๆ—ถๅ…‰"],"tags":["ๆ‚ฆ่ฏปๆ—ถๅ…‰"]},"headers":[],"relativePath":"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/10.่ฏปไนฆไธ‰่ฆไธ‰ไธ่ฆ.md","filePath":"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/10.่ฏปไนฆไธ‰่ฆไธ‰ไธ่ฆ.md"}'),i={name:"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/10.่ฏปไนฆไธ‰่ฆไธ‰ไธ่ฆ.md"};function l(n,t,s,p,g,h){return r(),a("div",null,[...t[0]||(t[0]=[e("",43)])])}const u=o(i,[["render",l]]);export{c as __pageData,u as default}; diff --git "a/assets/30.\346\202\246\350\257\273\346\227\266\345\205\211_21.\345\246\202\344\275\225\347\224\204\345\210\253\347\234\237\346\255\243\346\234\211\347\224\250\347\232\204\344\277\241\346\201\257.md.Be9IJNun.js" "b/assets/30.\346\202\246\350\257\273\346\227\266\345\205\211_21.\345\246\202\344\275\225\347\224\204\345\210\253\347\234\237\346\255\243\346\234\211\347\224\250\347\232\204\344\277\241\346\201\257.md.C7EJFVmA.js" similarity index 99% rename from "assets/30.\346\202\246\350\257\273\346\227\266\345\205\211_21.\345\246\202\344\275\225\347\224\204\345\210\253\347\234\237\346\255\243\346\234\211\347\224\250\347\232\204\344\277\241\346\201\257.md.Be9IJNun.js" rename to "assets/30.\346\202\246\350\257\273\346\227\266\345\205\211_21.\345\246\202\344\275\225\347\224\204\345\210\253\347\234\237\346\255\243\346\234\211\347\224\250\347\232\204\344\277\241\346\201\257.md.C7EJFVmA.js" index 10430b78..cefcd210 100644 --- "a/assets/30.\346\202\246\350\257\273\346\227\266\345\205\211_21.\345\246\202\344\275\225\347\224\204\345\210\253\347\234\237\346\255\243\346\234\211\347\224\250\347\232\204\344\277\241\346\201\257.md.Be9IJNun.js" +++ "b/assets/30.\346\202\246\350\257\273\346\227\266\345\205\211_21.\345\246\202\344\275\225\347\224\204\345\210\253\347\234\237\346\255\243\346\234\211\347\224\250\347\232\204\344\277\241\346\201\257.md.C7EJFVmA.js" @@ -1 +1 @@ -import{_ as e,g as r,h as t,U as i}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const c=JSON.parse('{"title":"ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจไฟกๆฏ้ซ˜ๅบฆ้€ๆ˜Ž็š„ๆ—ถไปฃ๏ผŒๆต…ๅฑ‚ไฟกๆฏๅทฎๅทฒ่ขซๅฝปๅบ•ๆŠนๅนณ๏ผŒไฟกๆฏๆœฌ่บซ็š„ไปทๅ€ผไธๆ–ญ็จ€้‡Šใ€‚ไบบไธŽไบบ็š„ๆ ธๅฟƒๅทฎ่ทไธๅ†ๆ˜ฏ่Žทๅ–ไฟกๆฏ็š„ๆธ ้“๏ผŒ่€Œๆ˜ฏ้ซ˜ไฟกๅ™ชๆฏ”ไฟกๆฏ็š„็”„ๅˆซ่ƒฝๅŠ›ใ€ๆทฑๅบฆๆ€่€ƒ่ƒฝๅŠ›ไธŽ่ฝๅœฐๆ‰ง่กŒๅŠ›๏ผŒๅ”ฏๆœ‰ไปฅๆ€่€ƒๆ ก้ชŒไฟกๆฏใ€ไปฅๆ‰ง่กŒ้ชŒ่ฏไปทๅ€ผ๏ผŒๅฝขๆˆโ€œไฟกๆฏ-ๅˆคๆ–ญ-ๅฎž่ทต-ๅ้ฆˆโ€็š„ๆ€่€ƒไธŽๆ‰ง่กŒ้—ญ็Žฏ๏ผŒๆ‰่ƒฝ็ช็ ดไฟกๆฏๅฃๅž’ใ€ๅˆ›้€ ็œŸๆญฃไปทๅ€ผใ€‚","frontmatter":{"date":"2025-11-10T12:52:28.000Z","title":"ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจไฟกๆฏ้ซ˜ๅบฆ้€ๆ˜Ž็š„ๆ—ถไปฃ๏ผŒๆต…ๅฑ‚ไฟกๆฏๅทฎๅทฒ่ขซๅฝปๅบ•ๆŠนๅนณ๏ผŒไฟกๆฏๆœฌ่บซ็š„ไปทๅ€ผไธๆ–ญ็จ€้‡Šใ€‚ไบบไธŽไบบ็š„ๆ ธๅฟƒๅทฎ่ทไธๅ†ๆ˜ฏ่Žทๅ–ไฟกๆฏ็š„ๆธ ้“๏ผŒ่€Œๆ˜ฏ้ซ˜ไฟกๅ™ชๆฏ”ไฟกๆฏ็š„็”„ๅˆซ่ƒฝๅŠ›ใ€ๆทฑๅบฆๆ€่€ƒ่ƒฝๅŠ›ไธŽ่ฝๅœฐๆ‰ง่กŒๅŠ›๏ผŒๅ”ฏๆœ‰ไปฅๆ€่€ƒๆ ก้ชŒไฟกๆฏใ€ไปฅๆ‰ง่กŒ้ชŒ่ฏไปทๅ€ผ๏ผŒๅฝขๆˆโ€œไฟกๆฏ-ๅˆคๆ–ญ-ๅฎž่ทต-ๅ้ฆˆโ€็š„ๆ€่€ƒไธŽๆ‰ง่กŒ้—ญ็Žฏ๏ผŒๆ‰่ƒฝ็ช็ ดไฟกๆฏๅฃๅž’ใ€ๅˆ›้€ ็œŸๆญฃไปทๅ€ผใ€‚","permalink":"/growth/distinguish-useful-information","categories":["่ต„ๆบๆŽจ่"],"tags":["ไฟกๆฏ็ญ›้€‰","ไธชไบบๆˆ้•ฟ"]},"headers":[],"relativePath":"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/21.ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ.md","filePath":"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/21.ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ.md"}'),l={name:"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/21.ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ.md"};function o(n,a,s,h,d,_){return t(),r("div",null,[...a[0]||(a[0]=[i('

ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ โ€‹

ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจไฟกๆฏ้ซ˜ๅบฆ้€ๆ˜Ž็š„ๆ—ถไปฃ๏ผŒๆต…ๅฑ‚ไฟกๆฏๅทฎๅทฒ่ขซๅฝปๅบ•ๆŠนๅนณ๏ผŒไฟกๆฏๆœฌ่บซ็š„ไปทๅ€ผไธๆ–ญ็จ€้‡Šใ€‚ไบบไธŽไบบ็š„ๆ ธๅฟƒๅทฎ่ทไธๅ†ๆ˜ฏ่Žทๅ–ไฟกๆฏ็š„ๆธ ้“๏ผŒ่€Œๆ˜ฏ้ซ˜ไฟกๅ™ชๆฏ”ไฟกๆฏ็š„็”„ๅˆซ่ƒฝๅŠ›ใ€ๆทฑๅบฆๆ€่€ƒ่ƒฝๅŠ›ไธŽ่ฝๅœฐๆ‰ง่กŒๅŠ›๏ผŒๅ”ฏๆœ‰ไปฅๆ€่€ƒๆ ก้ชŒไฟกๆฏใ€ไปฅๆ‰ง่กŒ้ชŒ่ฏไปทๅ€ผ๏ผŒๅฝขๆˆโ€œไฟกๆฏ-ๅˆคๆ–ญ-ๅฎž่ทต-ๅ้ฆˆโ€็š„ๆ€่€ƒไธŽๆ‰ง่กŒ้—ญ็Žฏ๏ผŒๆ‰่ƒฝ็ช็ ดไฟกๆฏๅฃๅž’ใ€ๅˆ›้€ ็œŸๆญฃไปทๅ€ผใ€‚

ๅœจไบ’่”็ฝ‘ๆŠ€ๆœฏๆ™ฎๅŠ็š„ๅฝ“ไธ‹๏ผŒไฟกๆฏๅทฒไปŽโ€œ็จ€็ผบ่ต„ๆบโ€่ฝฌๅ˜ไธบโ€œๆณ›ๆปฅ่ต„ๆบโ€ใ€‚่ฟ‡ๅŽปไพ่ต–ๅœฐๅŸŸๅทฎใ€็จ€็ผบๆ€ง็š„ๆต…่กจๅฑ‚ไฟกๆฏๅทฎ้€ๆธ่ขซๆŠนๅนณ๏ผŒๅผ€ๅ‘่€…้€š่ฟ‡็ฝ‘็ปœๅฏ่ฝปๆพ่Žทๅ–ๅ„็ฑปๆŠ€ๆœฏๆ–‡ๆกฃใ€่กŒไธšๅŠจๆ€ใ€่ตš้’ฑๆจกๅผ๏ผŒไฝ†็œŸๆญฃ่ƒฝๅฐ†ไฟกๆฏ่ฝฌๅŒ–ไธบไปทๅ€ผ็š„ไปๆ˜ฏๅฐ‘ๆ•ฐไบบใ€‚ๆ ธๅฟƒ็Ÿ›็›พๅทฒไปŽโ€œ่Žทๅ–ไฟกๆฏโ€่ฝฌๅ˜ไธบโ€œ้ฉพ้ฉญไฟกๆฏโ€โ€”โ€”ไฟกๆฏๆœฌ่บซ็š„ไปทๅ€ผๅผฑๅŒ–๏ผŒ่€Œไฟกๆฏ่งฃ่ฏป่ƒฝๅŠ›ใ€่กŒๅŠจๆ‰ง่กŒๅŠ›ใ€็ญ›้€‰็”„ๅˆซๅŠ›ๆˆไธบๆ‹‰ๅผ€ๅทฎ่ท็š„ๅ…ณ้”ฎใ€‚

1. ๆ‰“็ ดโ€œไฟกๆฏๅทฎโ€็š„็ณป็ปŸๆ€ง้”™่ง‰ โ€‹

่ฟ‡ๅŽป๏ผŒ็”ฑไบŽๅœฐๅŸŸ้™ๅˆถๅ’Œไผ ๆ’ญไป‹่ดจ็š„็จ€็ผบ๏ผŒ่ตš้’ฑๆˆ–ๆˆๅŠŸ็š„ๆจกๅผๅพ€ๅพ€ๆ˜ฏ็ฒ—ๆ”พ็š„๏ผŒๅปบ็ซ‹ๅœจๆต…่กจๅฑ‚็š„โ€œไฟกๆฏไธๅฏน็งฐโ€ไธŠ๏ผŒไฝ†้š็€ๆŠ€ๆœฏ็š„ๆผ”่ฟ›๏ผŒ่ฟ™็งไฝŽ็ปดๅบฆ็š„ไฟกๆฏๅทฎๆญฃๅœจ่ขซ่ฟ…้€ŸๆŠนๅนณใ€‚ไบบไปฌ็ปๅธธ้™ทๅ…ฅโ€œ่ตšไธๅˆฐ้’ฑ/ๆŠ“ไธไฝๆœบไผšๆ˜ฏๅ› ไธบ็ผบๅฐ‘ไฟกๆฏๅทฎโ€็š„่ฎค็Ÿฅๅๅทฎ๏ผŒไฝ†ๆœฌ่ดจ้—ฎ้ข˜ๅœจไบŽโ€œไบบๆœฌ่บซ็š„ๅทฎ่ทโ€๏ผŒๅ…ทไฝ“ไฝ“็Žฐๅœจไธ‰ไธชๅฑ‚้ข๏ผš

1.1 ่กจ้ขๆ˜ฏไฝ ๅœจ็ญ›้€‰ไฟกๆฏ๏ผŒๅฎž้™…ๆ˜ฏไฟกๆฏๅœจ็ญ›้€‰ไบบ โ€‹

ไธพไธชๆœ€ๅธธ่ง็š„ไพ‹ๅญ๏ผšๅคงๅฎถ้ƒฝ็Ÿฅ้“ๅšๆŠ€ๆœฏ่พ“ๅ‡บใ€ๅ†™็‹ฌ็ซ‹ๅšๅฎขๆˆ–ๅšไธชไบบไบงๅ“่ƒฝๅธฆๆฅ้•ฟๆœŸ็š„ๅคๅˆฉ๏ผŒไฝ†ไธบไป€ไนˆ็œŸๆญฃ่ท‘้€šๅ…จๆ ˆๅนถๆฒ‰ๆท€ไธ‹ๆฅ็š„ไบบๅ‡คๆฏ›้บŸ่ง’๏ผŸ

้˜ป็ขๅคšๆ•ฐไบบ็š„ๅŽŸๅ› ้€šๅธธๆœ‰ไธ‰ไธช๏ผš

  • ็ผบไนๆŒไน…ๅŒ–ๆœบๅˆถใ€ๆ‰ง่กŒๆ–ญๅฑ‚๏ผšๆ— ๆณ•ๅœจ็ŸญๆœŸๅ†…็œ‹ๅˆฐๆญฃๅ‘ๅ้ฆˆ๏ผˆROI๏ผ‰๏ผŒๅฏผ่‡ด่ฟ›็จ‹ไธญ้€”ไธญๆ–ญ๏ผŒ็ผบไนๆŒ็ปญ่พ“ๅ‡บ็š„ๆ‰ง่กŒๅŠ›๏ผˆๅฆ‚ๆŠ€ๆœฏๆ–‡็ซ ๆ›ดๆ–ฐใ€็”จๆˆท่ฟ่ฅ๏ผ‰ใ€‚
  • ็ผบไนๆทฑๅบฆ่ฎก็ฎ—๏ผšๅชๆ˜ฏๆตฎไบŽ่กจ้ข็š„ๆฌ่ฟ๏ผŒๆฒกๆœ‰ๆฒ‰ไธ‹ๅฟƒๆฅๅฏนๆŠ€ๆœฏๆˆ–ไธšๅŠก่ฟ›่กŒๆทฑๅบฆ่งฃๆžไธŽๆžถๆž„ๆ€่€ƒใ€‚
  • ๅฏนไธ็กฎๅฎšๆ€ง๏ผˆUncertainty๏ผ‰็š„ๆๆƒง๏ผš็œ‹ไธๅˆฐ็กฎๅฎšๆ€ง็š„ๅ›žๆŠฅ๏ผŒๅฏนๆŠ•ๅ…ฅไบงๅ‡บๆฏ”ไบง็”ŸๅŠจๆ‘‡๏ผŒๅฏผ่‡ด้•ฟๆœŸๆŠ•ๅ…ฅ็š„ๅ†ณ็ญ–่ขซๅ–ๆถˆใ€‚

้ขๅฏน่ฟ™ไบ›ๅ…ฌๅผ€็š„โ€œ่ตš้’ฑ/ๆˆ้•ฟ่ทฏๅพ„โ€๏ผŒ็œ‹ไผผๆ˜ฏๆˆ‘ไปฌๅœจ่ฏ„ไผฐๅฎƒ๏ผŒๅฎž้™…ไธŠๆ˜ฏ่ฟ™ไบ›้ซ˜้—จๆง›็š„่ทฏๅพ„ๅœจๅคฉ็„ถๅœฐ็ญ›้€‰ๆމ้‚ฃไบ›็ผบไนๅฎšๅŠ›ๅ’Œ้•ฟ่ฟœไบงๅ“ๅ—…่ง‰็š„ไบบใ€‚

1.2 ่ญฆๆƒ•็ฎ—ๆณ•ๆž„ๅปบ็š„โ€œไฟกๆฏ่Œงๆˆฟโ€ โ€‹

ๅœจ็ฝ‘็ปœๆŽจ่็ฎ—ๆณ•ๅ’ŒๅŒๆธฉๅฑ‚็Žฏๅขƒ็š„ๅŒ้‡ไฝœ็”จไธ‹๏ผŒๆˆ‘ไปฌๆฏๅคฉๆŽฅๆ”ถ็š„่พ“ๅ…ฅๅพ€ๅพ€ๅธฆๆœ‰ไธฅ้‡็š„ๅ็ฝฎใ€‚่ฟ™็งไธๅคŸๅฎข่ง‚็š„็Žฏๅขƒ๏ผŒๅฎนๆ˜“ๅฏผ่‡ดๆˆ‘ไปฌๅœจ้‡ๅˆฐ็œŸๆญฃๆœ‰ไปทๅ€ผใ€ไฝ†ไธŽๆ—ขๆœ‰่ฎค็Ÿฅๅ†ฒ็ช็š„ๅฎข่ง‚่ง‚็‚นๆ—ถ๏ผŒไบง็”Ÿๆœฌ่ƒฝ็š„้˜ฒๅพกๅ’ŒๆŠต่งฆใ€‚

ๅฏนไบŽๅผ€ๅ‘่€…ๅ’Œๅ†…ๅฎนๅˆ›ไฝœ่€…่€Œ่จ€๏ผŒๆ‰“็ ด่ฎค็Ÿฅ่Œงๆˆฟๆœฌ่บซๅฐฑๆ˜ฏไธ€็งๅทจๅคง็š„ไฟกๆฏๅทฎใ€‚ไปปไฝ•ๆŠ€ๆœฏๆ ˆๆˆ–ๅ•†ไธšๆจกๅผ๏ผŒ้ƒฝ้œ€่ฆๅš้‡‡ไผ—้•ฟใ€‚ไธ่ฆๅฏน้žๆœฌ้ข†ๅŸŸ็š„่ง‚็‚นไธ€ๅ‘ณๆŠ›ๅ‡บๅผ‚ๅธธ๏ผŒ่€Œๆ˜ฏ่ฆๅปบ็ซ‹่พฉ่ฏ็š„โ€œไธญ้—ดไปถโ€ๆฅ่ฟ‡ๆปคๅ’Œๅธๆ”ถ๏ผŒๅšๅฅฝไฟกๆฏ็š„็”„ๅˆซไธŽ็ญ›้€‰ใ€‚

2. ไฟกๆฏๆณ›ๆปฅไธŽ่„‘ๅŠ›ๅธฆๅฎฝ็š„ๆถˆ่€— โ€‹

ไฟกๆฏๅณๆƒๅŠ›๏ผŒๆŽŒๆก้ซ˜็ปดไฟกๆฏ็š„ไบบ็กฎๅฎžๆ‹ฅๆœ‰ๆ›ดๅผบ็š„่ต„ๆบ่ฐƒ้…่ƒฝๅŠ›ใ€‚ไฝ†ๅ…ณ้”ฎๅœจไบŽ๏ผŒๆฒกๆœ‰ไบบๆœ‰ไน‰ๅŠกๆŠŠๅคๆ‚็š„ๅบ•ๅฑ‚้€ป่พ‘ๆ‹†่งฃๆˆ็Žฐๆˆ็š„ๆ–นๆณ•่ฎบ๏ผŒๆ‰‹ๆŠŠๆ‰‹ๆ•™ๅˆฐๅฎŒๅ…จ็†่งฃไธบๆญขใ€‚็œŸๆญฃ้€ ๆˆไบบไธŽไบบไน‹้—ดๅทฎ่ท็š„๏ผŒๆ˜ฏ่งฃๆžๅ’Œ็ผ–่ฏ‘ไฟกๆฏ็š„่ƒฝๅŠ›โ€”โ€”ๅŒๆ ท็š„ไฟกๆฏ๏ผŒไธๅŒ็š„ไบบ่ƒฝๆ็‚ผๅ‡บๅฎŒๅ…จไธๅŒ็š„ไปทๅ€ผใ€‚

2.1 ไปŽโ€œ่ฟฝๆฑ‚ๅทฎโ€ๅˆฐโ€œๅฏนๆŠ—ๆณ›ๆปฅโ€ โ€‹

ๅฆ‚ไปŠ็š„้—ฎ้ข˜ๆ—ฉๅทฒไธๆ˜ฏไฟกๆฏๅŒฎไน๏ผŒ่€Œๆ˜ฏไฟกๆฏ็†ตๅขžไธŽๆณ›ๆปฅใ€‚่ฟ™ไธไป…ๅธฆๆฅไบ†ๆžๅบฆๅ†…ๅท็š„็ซžไบ‰๏ผŒ่ฟ˜ไผด้š็€ไผ ๆ’ญ่ฟ‡็จ‹ไธญ็š„ไฟกๆฏๅคฑ็œŸใ€‚ๅธ‚้ขไธŠๅพˆๅคš่ขซๅคง่‚†ๅฎฃๆ‰ฌ็š„โ€œ้ฃŽๅฃโ€๏ผŒไป”็ป†ๆ‰’ๅผ€ๆบ็ ๅฐฑไผšๅ‘็Žฐ๏ผšไฝ ๆ‰€็œ‹ๅˆฐ็š„๏ผŒๅ…ถๅฎž้ƒฝๆ˜ฏๅˆซไบบ็ฒพๅฟƒ่ฎพ่ฎกๅฅฝ่ฎฉไฝ ็œ‹ๅˆฐ็š„ใ€‚

ๅฝ“ไธ€ไธช่ต›้“ไบบไบบ้ƒฝไบ‰ๅ…ˆๆๅŽๆ—ถ๏ผŒๅฆ‚ๆžœไฝ ็œŸๆƒณๅˆ›้€ ไปทๅ€ผ๏ผŒไธๅฆ‚โ€œๅ่€…้“ไน‹ๅŠจโ€๏ผŒ้™่ง‚ๅ…ถๅ˜๏ผŒ็ญ‰ๅพ…็ณป็ปŸ้‡ๆž„็š„ๆ–ฐๆœบไผšใ€‚ๆ‹ฅๆŒค็š„่ต›้“ๆœ€็ปˆๅฟ…็„ถ่ตฐๅ‘ๅทๅˆฉๆถฆใ€ๅทไปทๆ ผ็š„โ€œๅŠฃๅธ้ฉฑ้€่‰ฏๅธโ€ๆญปๅพช็Žฏใ€‚

2.2 ๆ— ๆ•ˆไฟกๆฏๆ˜ฏๅฏน็ฎ—ๅŠ›็š„ๆžๅคงๆถˆ่€— โ€‹

ๅพˆๅคšไบบๆŠŠ่ตšไธๅˆฐ้’ฑใ€ๅšไธๆˆไบ‹ๅฝ’็ป“ไบŽโ€œไฟกๆฏ็งฏ็ดฏไธๅคŸโ€๏ผŒไบŽๆ˜ฏ็–ฏ็‹‚ๅœฐๅ›ค็งฏ่ต„ๆ–™ใ€ๆ‹ผๅ‘ฝๅœฐ่ฎข้˜…ๅ„็งๅนฒ่ดง๏ผŒ่ฏ•ๅ›พ้€š่ฟ‡ๆ‰ฉๅคงไฟกๆฏๆ‘„ๅ…ฅ้‡ๆฅ่ถ…่ถŠๅˆซไบบใ€‚ ่ฟ™ๆ˜ฏไธ€ไธชๆžๅ…ถๅฑ้™ฉ็š„่ฐฌ่ฎบใ€‚่Žทๅ–ๅ’Œๅค„็†ไฟกๆฏ๏ผŒๆœฌ่ดจไธŠๆ˜ฏไธ€ไปถๆžๅ…ถๆถˆ่€—็ณป็ปŸ่ต„ๆบ๏ผˆ็ฒพๅŠ›ๅ’Œ่ƒฝ้‡๏ผ‰็š„ไบ‹ๆƒ…ใ€‚

ๅฆ‚ๆžœไธ€ไธชไบบๅ•ๅ‡ญๆ‹ผๅ‡‘ไฟกๆฏๅฐฑ่ƒฝๆˆ˜่ƒœๅธ‚ๅœบ๏ผŒ้‚ฃๅคงๅฎถ้ƒฝไธ้œ€่ฆๅŸ‹ๅคด็ฒพ่€•็ป†ไฝœไบ†ใ€‚ไบบ็š„่„‘ๅฎน้‡ๅ’Œ่ฎค็Ÿฅๅธฆๅฎฝๆ˜ฏๆœ‰้™็š„๏ผŒไธ€ๆ—ฆ็ผ“ๅญ˜๏ผˆCache๏ผ‰่ขซๅคง้‡ไฝŽ่ดจใ€ๆ— ็”จ็š„ๅ™ช้Ÿณๅ ๆปก๏ผŒ็œŸๆญฃ้ซ˜ไปทๅ€ผ็š„ไฟกๅทๅฐฑๆ— ๆณ•่ฟ›ๅ…ฅ๏ผŒๆƒณๅพ—ๅคชๅคšใ€ๅšๅพ—ๅคชๅฐ‘๏ผŒๅชไผšๅผ•ๅ‘ไธฅ้‡็š„ๅ†…่€—ใ€‚

3. ไปทๅ€ผๅˆ›้€ ็š„ๆ ธๅฟƒ๏ผšๆ€่€ƒ+ๆ‰ง่กŒ๏ผŒ็ช็ ดไฟกๆฏๅฃๅž’ โ€‹

ไฟกๆฏๆœฌ่ดจๆ˜ฏๅทฅๅ…ท๏ผŒ่€Œ้ž็›ฎ็š„๏ผŒไบบ็š„ๆ ธๅฟƒ็ซžไบ‰ๅŠ›ๆฐธ่ฟœๆ˜ฏโ€œๆ€่€ƒ+ๆ‰ง่กŒโ€๏ผŒไบŒ่€…ๅฝขๆˆ็š„่ƒฝๅŠ›ๅฃๅž’๏ผŒ่ฟœ้ซ˜ไบŽๅ•็บฏ็š„ไฟกๆฏๅฃๅž’๏ผšๆ€่€ƒ + ๆ‰ง่กŒ > ็บฏๆ‰ง่กŒ + ไธๆ€่€ƒ > ็บฏๆ€่€ƒ + ไธๆ‰ง่กŒ > ไธๆ€่€ƒ + ไธๆ‰ง่กŒ

  • ๆ€่€ƒ+ๆ‰ง่กŒ๏ผš้€š่ฟ‡ๆ€่€ƒๅˆคๆ–ญไฟกๆฏไปทๅ€ผ๏ผŒ้€š่ฟ‡ๆ‰ง่กŒ้ชŒ่ฏ้€‰ๆ‹ฉ๏ผŒๅฝขๆˆโ€œไฟกๆฏ-ๅˆคๆ–ญ-ๅฎž่ทต-ๅ้ฆˆโ€็š„้—ญ็Žฏใ€‚
  • ๆ‰ง่กŒ+ไธๆ€่€ƒ๏ผšๆœบๆขฐ่ฝๅœฐไฝ†็ผบไนๆ–นๅ‘๏ผŒๆ•ˆ็އไฝŽไธ‹ไฝ†ๅฏ่ƒฝๅถ็„ถ่ธฉไธญๆœบไผšใ€‚
  • ๆ€่€ƒ+ไธๆ‰ง่กŒ๏ผšไป…ๅœ็•™ๅœจโ€œ็Ÿฅ้“โ€้˜ถๆฎต๏ผŒไฟกๆฏๆ— ๆณ•่ฝฌๅŒ–ไธบไปปไฝ•ไปทๅ€ผใ€‚
  • ไธๆ€่€ƒ+ไธๆ‰ง่กŒ๏ผšๅฎŒๅ…จ่ขซๅŠจๆŽฅๆ”ถไฟกๆฏ๏ผŒไธŽๆœบไผš็ป็ผ˜ใ€‚

โ€œๆ€่€ƒ+ๆ‰ง่กŒโ€ไน‹ๆ‰€ไปฅ้‡่ฆ๏ผŒๆ˜ฏๅ› ไธบๅฎƒไปฌๆž„ๆˆไบ†ๅ้ฆˆ้—ญ็Žฏ๏ผšๆ€่€ƒๆ˜ฏไธบไบ†ๅฏน่พ“ๅ…ฅ็š„ไฟกๆฏ่ฟ›่กŒๆ ก้ชŒๅ’Œ้€ป่พ‘ๅˆคๆ–ญ๏ผŒๆ‰ง่กŒๆ˜ฏไธบไบ†ๅฐ†ๅ‡่ฎพๆ”พๅ…ฅ็œŸๅฎž็Žฏๅขƒไธญ่ท‘้€šๆต‹่ฏ•๏ผŒไปŽ่€Œๅ‘็›ฎๆ ‡้€ผ่ฟ‘ใ€‚

ไฟกๆฏไธๅฏน็งฐ็š„ๆ นๆบ๏ผŒๅ…ถๅฎžๆ˜ฏโ€œๅ†…้ƒจ่ƒฝๅŠ›ไธๅฏน็งฐโ€ใ€‚ๅฐ†็›ธๅŒ็š„ๆŠ€ๆœฏ่ถ‹ๅŠฟใ€้กน็›ฎๆœบไผšๆ”พๅœจไธคไฝๅผ€ๅ‘่€…้ขๅ‰๏ผšๅ‰่€…่ƒฝ้€š่ฟ‡ๆ€่€ƒๆ‹†่งฃ่ฝๅœฐ่ทฏๅพ„ใ€้€š่ฟ‡ๆ‰ง่กŒ้ชŒ่ฏๅฏ่กŒๆ€ง๏ผ›ๅŽ่€…ไป…ๅœ็•™ๅœจโ€œไบ†่งฃโ€ๅฑ‚้ข๏ผŒๅทฎ่ทไพฟ็”ฑๆญคไบง็”Ÿใ€‚ไบบไปฌๆœ€็ปˆ่ƒฝ่Žทๅพ—็š„ไปทๅ€ผ๏ผŒๅ–ๅ†ณไบŽ่‡ช่บซ็š„ๆ€่€ƒๆทฑๅบฆใ€ๆ‰ง่กŒๅŠ›ๅบฆใ€่ฎค็Ÿฅ้ซ˜ๅบฆโ€”โ€”ๆƒณ่ฆ่Žทๅพ—ๆ›ดๅคš๏ผŒๅ”ฏไธ€่ทฏๅพ„ๆ˜ฏโ€œ็ฒพ่ฟ›่‡ช่บซโ€๏ผŒ่ฎฉ่ƒฝๅŠ›ๅŒน้…็›ฎๆ ‡ใ€‚

็œŸๆญฃๆœ‰ไปทๅ€ผ็š„ไฟกๆฏ๏ผŒๅฆ‚ๆžœไผ ่พพ็ป™ไธ€ไธชๆฒกๆœ‰ๆ‰ง่กŒๅŠ›็š„ไบบ๏ผŒๅฐฑๆฐธ่ฟœๅœ็•™ๅœจโ€œๅทฒ็Ÿฅโ€็š„ๅ†…ๅญ˜ๆ€๏ผŒๆ— ๆณ•่ฝ็›˜๏ผŒๅธๆ”ถใ€่ฟ็”จๅ’Œไบง็”Ÿไปทๅ€ผ็š„ไปปไฝ•ไธ€ไธช็Žฏ่Š‚้ƒฝไธไผšๅ‘็”Ÿใ€‚

ๆˆ‘ไปฌ้€šๅธธไปฅไธบ่‡ชๅทฑๆฒกๆˆไบ‹ๆ˜ฏๅ› ไธบ็ผบๅฐ‘ๆŸไธชๅ…ณ้”ฎ็š„โ€œไฟกๆฏๅทฎโ€๏ผŒๅฎž้™…ไธŠ่ฟž่ฟ™ไธชโ€œไปฅไธบโ€็š„่ฏŠๆ–ญ้ƒฝ้”™ไบ†ใ€‚็œŸๆญฃ็š„ๅŽŸๅ› ๏ผŒๅพ€ๅพ€ๆ˜ฏๆ€่€ƒ็š„ๆทฑๅบฆๅ’Œๆ‰ง่กŒ็š„้ข—็ฒ’ๅบฆไธๅˆฐไฝ๏ผŒๅฏผ่‡ดๆœบไผšๆตๅคฑใ€‚ไบบ็ปˆๅฝ’ๅช่ƒฝ่ตšๅˆฐ่‡ชๅทฑ็ณป็ปŸๆžถๆž„ๆ”ฏๆ’‘ๅพ—่ตท็š„้‚ฃ้ƒจๅˆ†ๆ”ถ็›Š๏ผŒๆƒณ่ฆ่Žทๅพ—ๆ›ดๅคš๏ผŒๅ”ฏไธ€็š„่ทฏๅพ„ๆ˜ฏ้‡ๆž„ๅ’Œ็ฒพ่ฟ›่‡ชๅทฑใ€‚

4. ่กŒๅŠจๆŒ‡ๅ— โ€‹

4.1 ไฟกๆฏ็ญ›้€‰๏ผšๆžœๆ–ญๅšๅ‡ๆณ•๏ผŒ้”šๅฎšๆ ธๅฟƒ็›ฎๆ ‡ โ€‹

  • ๅœๆญขๆŠฑๆ€จๅค–็•Œไฟกๆฏ็š„็œŸไผช๏ผŒไธปๅŠจๅปบ็ซ‹ไธชไบบ่ฟ‡ๆปคๆœบๅˆถ๏ผŒๆ‹’็ป"ไฟกๆฏ็„ฆ่™‘"๏ผŒๅฎšๆœŸๆธ…็†ๆ— ๆ•ˆไฟกๆฏๆบ๏ผˆๅฆ‚ไฝŽไปทๅ€ผๆŠ€ๆœฏ็คพ็พคใ€้‡ๅค่ต„่ฎฏๆŽจ้€๏ผ‰ใ€‚
  • ๆ˜Ž็กฎ่‡ช่บซ้˜ถๆฎต็›ฎๆ ‡๏ผˆๅฆ‚โ€œ3ไธชๆœˆๆŽŒๆกๆŸๆก†ๆžถ่ฝๅœฐโ€โ€œๅŠๅนดๅฎž็Žฐๅ‰ฏไธšๅ˜็Žฐโ€๏ผ‰๏ผŒไป…็ญ›้€‰ไธŽ็›ฎๆ ‡ๅผบ็›ธๅ…ณ็š„ไฟกๆฏ๏ผŒๆŠŠๆœ‰้™็š„็ฎ—ๅŠ›็•™็ป™ๆœ€้ซ˜ไผ˜็š„ไปปๅŠกใ€‚

4.2 ไฟกๆฏ่งฃ่ฏป๏ผš็ฉฟ้€่กจ่ฑก๏ผŒๆดžๅฏŸๆœช่จ€ไน‹ๆ„ โ€‹

  • ๆŽฅๆ”ถไฟกๆฏๆ—ถ๏ผˆๅฆ‚ๆŠ€ๆœฏๆ–‡็ซ ใ€่กŒไธšๅˆ†ไบซ๏ผ‰๏ผŒไธไป…่ฆๅ…ณๆณจ"่ฏดไบ†ไป€ไนˆ"๏ผŒๆ›ด่ฆๆดžๅฏŸ"ๆฒก่ฏดไป€ไนˆ"๏ผˆๅฆ‚ๆŠ€ๆœฏ็š„้€‚็”จๅœบๆ™ฏใ€ๆฝœๅœจๅ‘็‚นใ€ๅ˜็Žฐ้€ป่พ‘็š„้š่—็Žฏ่Š‚๏ผ‰ใ€‚
  • ไผ˜ๅ…ˆไธŽ้ซ˜ไฟกๅ™ชๆฏ”ไบบ็พคๆทฑๅบฆไบคๆต๏ผˆๅฆ‚่ต„ๆทฑๅผ€ๅ‘่€…ใ€่ฝๅœฐๅž‹ๅˆ›ไธš่€…ใ€้ข†ๅŸŸไธ“ๅฎถ๏ผ‰๏ผŒ่ฟ™็ฑปๆฒŸ้€šๅพ€ๅพ€็›ดๅ‡ปๆœฌ่ดจใ€ๅ‡ๅฐ‘ๅ†—ไฝ™๏ผŒ่ƒฝๅฟซ้€Ÿ่งฆ่พพๆ ธๅฟƒไฟกๆฏไธŽ้šๆ€ง็ป้ชŒ๏ผŒๅŒๆ—ถๅๅ‘ๅ€’้€ผ่‡ช่บซๆ€่€ƒ่ดจ้‡็š„ๆๅ‡ใ€‚

4.3 ๅทฎๅผ‚็ ดๅฑ€๏ผšๅ‘ๅ†…ๆฑ‚็ดข๏ผŒๅผบๅŒ–โ€œๆ€่€ƒ+ๆ‰ง่กŒโ€ โ€‹

ไธŽๅ…ถ่ฏดไธ–็•ŒไธŠๅญ˜ๅœจไฟกๆฏๅทฎ๏ผŒไธๅฆ‚่ฏดๆ˜ฏ"ไบบๅทฎ"ใ€‚ๅฐ†ๅŒๆ ท็š„ๆ–‡ๆกฃๅ’Œๆบ็ ็ฝฎไบŽไธคไบบ้ขๅ‰๏ผŒ็”ฑไบŽ"ๅบ•ๅฑ‚็ผ–่ฏ‘ๅ™จ"๏ผˆ่ฎค็Ÿฅๆก†ๆžถไธŽๆ‰ง่กŒ็ณป็ปŸ๏ผ‰็š„ๅทฎๅผ‚๏ผŒๅ‰่€…็š„ๆดžๅฏŸไธŽๅŽ่€…็š„ไบงๅ‡บๅฟ…็„ถๅˆค่‹ฅไบ‘ๆณฅใ€‚ไธ€ๅˆ‡ไฟกๆฏไธๅฏน็งฐ็š„่กจ่ฑกไน‹ไธ‹๏ผŒ็œŸๆญฃๅˆ†้‡Ž็š„ๆฐธ่ฟœๆ˜ฏๅ†…ๅœจ็š„่ฎค็ŸฅๆทฑๅบฆไธŽๆ‰ง่กŒๅฏ†ๅบฆใ€‚ๆˆ‘ไปฌๅชๆœ‰้€š่ฟ‡ๆŒ็ปญ็š„ๆ€่€ƒๅ’Œๆ‰ง่กŒๆๅ‡่‡ชๅทฑ็š„่ƒฝๅŠ›๏ผŒๆ‰่ƒฝๅœจไฟกๆฏๆ—ถไปฃไธญ่Žทๅพ—ไปทๅ€ผใ€‚

  • ๅœๆญขๆŠฑๆ€จ"ไฟกๆฏไธ็œŸๅฎž"่ฟ™็ฑปๅค–้ƒจๅฝ’ๅ› ๏ผŒๆŠŠ็ฒพๅŠ›ๆ”พๅœจ่‡ชๅทฑ่ƒฝๆŽŒๆŽง็š„ไบ‹ๆƒ…ไธŠโ€”โ€”ๆๅ‡ๆ€่€ƒๆทฑๅบฆๅ’Œๆ‰ง่กŒๆ•ˆ็އใ€‚
  • ๅปบ็ซ‹"ไฟกๆฏ่ฝๅœฐๆธ…ๅ•"๏ผšๆฏๅฝ“่Žทๅพ—ๆœ‰ไปทๅ€ผ็š„ไฟกๆฏ๏ผŒ็ซ‹ๅˆปๆ‹†่งฃๆˆไธ‰ไธช้ƒจๅˆ†โ€”โ€”ๆ€่€ƒ่ฆ็‚น๏ผˆๆฏ”ๅฆ‚ๆ˜ฏๅฆ้€‚ๅˆ่‡ชๅทฑ๏ผ‰ใ€ๆ‰ง่กŒๆญฅ้ชค๏ผˆๆฏ”ๅฆ‚ๆœฌๅ‘จ้ชŒ่ฏไป€ไนˆ๏ผ‰ใ€ๅ้ฆˆ่Š‚็‚น๏ผˆๆฏ”ๅฆ‚ไธคๅ‘จๅŽๅค็›˜ๆ•ˆๆžœ๏ผ‰๏ผŒๅˆซ่ฎฉไฟกๆฏ่บบๅœจ้‚ฃ้‡Œๅƒ็ฐใ€‚
',37)])])}const u=e(l,[["render",o]]);export{c as __pageData,u as default}; +import{_ as e,g as r,h as t,U as i}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const c=JSON.parse('{"title":"ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจไฟกๆฏ้ซ˜ๅบฆ้€ๆ˜Ž็š„ๆ—ถไปฃ๏ผŒๆต…ๅฑ‚ไฟกๆฏๅทฎๅทฒ่ขซๅฝปๅบ•ๆŠนๅนณ๏ผŒไฟกๆฏๆœฌ่บซ็š„ไปทๅ€ผไธๆ–ญ็จ€้‡Šใ€‚ไบบไธŽไบบ็š„ๆ ธๅฟƒๅทฎ่ทไธๅ†ๆ˜ฏ่Žทๅ–ไฟกๆฏ็š„ๆธ ้“๏ผŒ่€Œๆ˜ฏ้ซ˜ไฟกๅ™ชๆฏ”ไฟกๆฏ็š„็”„ๅˆซ่ƒฝๅŠ›ใ€ๆทฑๅบฆๆ€่€ƒ่ƒฝๅŠ›ไธŽ่ฝๅœฐๆ‰ง่กŒๅŠ›๏ผŒๅ”ฏๆœ‰ไปฅๆ€่€ƒๆ ก้ชŒไฟกๆฏใ€ไปฅๆ‰ง่กŒ้ชŒ่ฏไปทๅ€ผ๏ผŒๅฝขๆˆโ€œไฟกๆฏ-ๅˆคๆ–ญ-ๅฎž่ทต-ๅ้ฆˆโ€็š„ๆ€่€ƒไธŽๆ‰ง่กŒ้—ญ็Žฏ๏ผŒๆ‰่ƒฝ็ช็ ดไฟกๆฏๅฃๅž’ใ€ๅˆ›้€ ็œŸๆญฃไปทๅ€ผใ€‚","frontmatter":{"date":"2025-11-10T12:52:28.000Z","title":"ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจไฟกๆฏ้ซ˜ๅบฆ้€ๆ˜Ž็š„ๆ—ถไปฃ๏ผŒๆต…ๅฑ‚ไฟกๆฏๅทฎๅทฒ่ขซๅฝปๅบ•ๆŠนๅนณ๏ผŒไฟกๆฏๆœฌ่บซ็š„ไปทๅ€ผไธๆ–ญ็จ€้‡Šใ€‚ไบบไธŽไบบ็š„ๆ ธๅฟƒๅทฎ่ทไธๅ†ๆ˜ฏ่Žทๅ–ไฟกๆฏ็š„ๆธ ้“๏ผŒ่€Œๆ˜ฏ้ซ˜ไฟกๅ™ชๆฏ”ไฟกๆฏ็š„็”„ๅˆซ่ƒฝๅŠ›ใ€ๆทฑๅบฆๆ€่€ƒ่ƒฝๅŠ›ไธŽ่ฝๅœฐๆ‰ง่กŒๅŠ›๏ผŒๅ”ฏๆœ‰ไปฅๆ€่€ƒๆ ก้ชŒไฟกๆฏใ€ไปฅๆ‰ง่กŒ้ชŒ่ฏไปทๅ€ผ๏ผŒๅฝขๆˆโ€œไฟกๆฏ-ๅˆคๆ–ญ-ๅฎž่ทต-ๅ้ฆˆโ€็š„ๆ€่€ƒไธŽๆ‰ง่กŒ้—ญ็Žฏ๏ผŒๆ‰่ƒฝ็ช็ ดไฟกๆฏๅฃๅž’ใ€ๅˆ›้€ ็œŸๆญฃไปทๅ€ผใ€‚","permalink":"/growth/distinguish-useful-information","categories":["่ต„ๆบๆŽจ่"],"tags":["ไฟกๆฏ็ญ›้€‰","ไธชไบบๆˆ้•ฟ"]},"headers":[],"relativePath":"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/21.ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ.md","filePath":"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/21.ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ.md"}'),l={name:"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/21.ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ.md"};function o(n,a,s,h,d,_){return t(),r("div",null,[...a[0]||(a[0]=[i('

ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ โ€‹

ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจไฟกๆฏ้ซ˜ๅบฆ้€ๆ˜Ž็š„ๆ—ถไปฃ๏ผŒๆต…ๅฑ‚ไฟกๆฏๅทฎๅทฒ่ขซๅฝปๅบ•ๆŠนๅนณ๏ผŒไฟกๆฏๆœฌ่บซ็š„ไปทๅ€ผไธๆ–ญ็จ€้‡Šใ€‚ไบบไธŽไบบ็š„ๆ ธๅฟƒๅทฎ่ทไธๅ†ๆ˜ฏ่Žทๅ–ไฟกๆฏ็š„ๆธ ้“๏ผŒ่€Œๆ˜ฏ้ซ˜ไฟกๅ™ชๆฏ”ไฟกๆฏ็š„็”„ๅˆซ่ƒฝๅŠ›ใ€ๆทฑๅบฆๆ€่€ƒ่ƒฝๅŠ›ไธŽ่ฝๅœฐๆ‰ง่กŒๅŠ›๏ผŒๅ”ฏๆœ‰ไปฅๆ€่€ƒๆ ก้ชŒไฟกๆฏใ€ไปฅๆ‰ง่กŒ้ชŒ่ฏไปทๅ€ผ๏ผŒๅฝขๆˆโ€œไฟกๆฏ-ๅˆคๆ–ญ-ๅฎž่ทต-ๅ้ฆˆโ€็š„ๆ€่€ƒไธŽๆ‰ง่กŒ้—ญ็Žฏ๏ผŒๆ‰่ƒฝ็ช็ ดไฟกๆฏๅฃๅž’ใ€ๅˆ›้€ ็œŸๆญฃไปทๅ€ผใ€‚

ๅœจไบ’่”็ฝ‘ๆŠ€ๆœฏๆ™ฎๅŠ็š„ๅฝ“ไธ‹๏ผŒไฟกๆฏๅทฒไปŽโ€œ็จ€็ผบ่ต„ๆบโ€่ฝฌๅ˜ไธบโ€œๆณ›ๆปฅ่ต„ๆบโ€ใ€‚่ฟ‡ๅŽปไพ่ต–ๅœฐๅŸŸๅทฎใ€็จ€็ผบๆ€ง็š„ๆต…่กจๅฑ‚ไฟกๆฏๅทฎ้€ๆธ่ขซๆŠนๅนณ๏ผŒๅผ€ๅ‘่€…้€š่ฟ‡็ฝ‘็ปœๅฏ่ฝปๆพ่Žทๅ–ๅ„็ฑปๆŠ€ๆœฏๆ–‡ๆกฃใ€่กŒไธšๅŠจๆ€ใ€่ตš้’ฑๆจกๅผ๏ผŒไฝ†็œŸๆญฃ่ƒฝๅฐ†ไฟกๆฏ่ฝฌๅŒ–ไธบไปทๅ€ผ็š„ไปๆ˜ฏๅฐ‘ๆ•ฐไบบใ€‚ๆ ธๅฟƒ็Ÿ›็›พๅทฒไปŽโ€œ่Žทๅ–ไฟกๆฏโ€่ฝฌๅ˜ไธบโ€œ้ฉพ้ฉญไฟกๆฏโ€โ€”โ€”ไฟกๆฏๆœฌ่บซ็š„ไปทๅ€ผๅผฑๅŒ–๏ผŒ่€Œไฟกๆฏ่งฃ่ฏป่ƒฝๅŠ›ใ€่กŒๅŠจๆ‰ง่กŒๅŠ›ใ€็ญ›้€‰็”„ๅˆซๅŠ›ๆˆไธบๆ‹‰ๅผ€ๅทฎ่ท็š„ๅ…ณ้”ฎใ€‚

1. ๆ‰“็ ดโ€œไฟกๆฏๅทฎโ€็š„็ณป็ปŸๆ€ง้”™่ง‰ โ€‹

่ฟ‡ๅŽป๏ผŒ็”ฑไบŽๅœฐๅŸŸ้™ๅˆถๅ’Œไผ ๆ’ญไป‹่ดจ็š„็จ€็ผบ๏ผŒ่ตš้’ฑๆˆ–ๆˆๅŠŸ็š„ๆจกๅผๅพ€ๅพ€ๆ˜ฏ็ฒ—ๆ”พ็š„๏ผŒๅปบ็ซ‹ๅœจๆต…่กจๅฑ‚็š„โ€œไฟกๆฏไธๅฏน็งฐโ€ไธŠ๏ผŒไฝ†้š็€ๆŠ€ๆœฏ็š„ๆผ”่ฟ›๏ผŒ่ฟ™็งไฝŽ็ปดๅบฆ็š„ไฟกๆฏๅทฎๆญฃๅœจ่ขซ่ฟ…้€ŸๆŠนๅนณใ€‚ไบบไปฌ็ปๅธธ้™ทๅ…ฅโ€œ่ตšไธๅˆฐ้’ฑ/ๆŠ“ไธไฝๆœบไผšๆ˜ฏๅ› ไธบ็ผบๅฐ‘ไฟกๆฏๅทฎโ€็š„่ฎค็Ÿฅๅๅทฎ๏ผŒไฝ†ๆœฌ่ดจ้—ฎ้ข˜ๅœจไบŽโ€œไบบๆœฌ่บซ็š„ๅทฎ่ทโ€๏ผŒๅ…ทไฝ“ไฝ“็Žฐๅœจไธ‰ไธชๅฑ‚้ข๏ผš

1.1 ่กจ้ขๆ˜ฏไฝ ๅœจ็ญ›้€‰ไฟกๆฏ๏ผŒๅฎž้™…ๆ˜ฏไฟกๆฏๅœจ็ญ›้€‰ไบบ โ€‹

ไธพไธชๆœ€ๅธธ่ง็š„ไพ‹ๅญ๏ผšๅคงๅฎถ้ƒฝ็Ÿฅ้“ๅšๆŠ€ๆœฏ่พ“ๅ‡บใ€ๅ†™็‹ฌ็ซ‹ๅšๅฎขๆˆ–ๅšไธชไบบไบงๅ“่ƒฝๅธฆๆฅ้•ฟๆœŸ็š„ๅคๅˆฉ๏ผŒไฝ†ไธบไป€ไนˆ็œŸๆญฃ่ท‘้€šๅ…จๆ ˆๅนถๆฒ‰ๆท€ไธ‹ๆฅ็š„ไบบๅ‡คๆฏ›้บŸ่ง’๏ผŸ

้˜ป็ขๅคšๆ•ฐไบบ็š„ๅŽŸๅ› ้€šๅธธๆœ‰ไธ‰ไธช๏ผš

  • ็ผบไนๆŒไน…ๅŒ–ๆœบๅˆถใ€ๆ‰ง่กŒๆ–ญๅฑ‚๏ผšๆ— ๆณ•ๅœจ็ŸญๆœŸๅ†…็œ‹ๅˆฐๆญฃๅ‘ๅ้ฆˆ๏ผˆROI๏ผ‰๏ผŒๅฏผ่‡ด่ฟ›็จ‹ไธญ้€”ไธญๆ–ญ๏ผŒ็ผบไนๆŒ็ปญ่พ“ๅ‡บ็š„ๆ‰ง่กŒๅŠ›๏ผˆๅฆ‚ๆŠ€ๆœฏๆ–‡็ซ ๆ›ดๆ–ฐใ€็”จๆˆท่ฟ่ฅ๏ผ‰ใ€‚
  • ็ผบไนๆทฑๅบฆ่ฎก็ฎ—๏ผšๅชๆ˜ฏๆตฎไบŽ่กจ้ข็š„ๆฌ่ฟ๏ผŒๆฒกๆœ‰ๆฒ‰ไธ‹ๅฟƒๆฅๅฏนๆŠ€ๆœฏๆˆ–ไธšๅŠก่ฟ›่กŒๆทฑๅบฆ่งฃๆžไธŽๆžถๆž„ๆ€่€ƒใ€‚
  • ๅฏนไธ็กฎๅฎšๆ€ง๏ผˆUncertainty๏ผ‰็š„ๆๆƒง๏ผš็œ‹ไธๅˆฐ็กฎๅฎšๆ€ง็š„ๅ›žๆŠฅ๏ผŒๅฏนๆŠ•ๅ…ฅไบงๅ‡บๆฏ”ไบง็”ŸๅŠจๆ‘‡๏ผŒๅฏผ่‡ด้•ฟๆœŸๆŠ•ๅ…ฅ็š„ๅ†ณ็ญ–่ขซๅ–ๆถˆใ€‚

้ขๅฏน่ฟ™ไบ›ๅ…ฌๅผ€็š„โ€œ่ตš้’ฑ/ๆˆ้•ฟ่ทฏๅพ„โ€๏ผŒ็œ‹ไผผๆ˜ฏๆˆ‘ไปฌๅœจ่ฏ„ไผฐๅฎƒ๏ผŒๅฎž้™…ไธŠๆ˜ฏ่ฟ™ไบ›้ซ˜้—จๆง›็š„่ทฏๅพ„ๅœจๅคฉ็„ถๅœฐ็ญ›้€‰ๆމ้‚ฃไบ›็ผบไนๅฎšๅŠ›ๅ’Œ้•ฟ่ฟœไบงๅ“ๅ—…่ง‰็š„ไบบใ€‚

1.2 ่ญฆๆƒ•็ฎ—ๆณ•ๆž„ๅปบ็š„โ€œไฟกๆฏ่Œงๆˆฟโ€ โ€‹

ๅœจ็ฝ‘็ปœๆŽจ่็ฎ—ๆณ•ๅ’ŒๅŒๆธฉๅฑ‚็Žฏๅขƒ็š„ๅŒ้‡ไฝœ็”จไธ‹๏ผŒๆˆ‘ไปฌๆฏๅคฉๆŽฅๆ”ถ็š„่พ“ๅ…ฅๅพ€ๅพ€ๅธฆๆœ‰ไธฅ้‡็š„ๅ็ฝฎใ€‚่ฟ™็งไธๅคŸๅฎข่ง‚็š„็Žฏๅขƒ๏ผŒๅฎนๆ˜“ๅฏผ่‡ดๆˆ‘ไปฌๅœจ้‡ๅˆฐ็œŸๆญฃๆœ‰ไปทๅ€ผใ€ไฝ†ไธŽๆ—ขๆœ‰่ฎค็Ÿฅๅ†ฒ็ช็š„ๅฎข่ง‚่ง‚็‚นๆ—ถ๏ผŒไบง็”Ÿๆœฌ่ƒฝ็š„้˜ฒๅพกๅ’ŒๆŠต่งฆใ€‚

ๅฏนไบŽๅผ€ๅ‘่€…ๅ’Œๅ†…ๅฎนๅˆ›ไฝœ่€…่€Œ่จ€๏ผŒๆ‰“็ ด่ฎค็Ÿฅ่Œงๆˆฟๆœฌ่บซๅฐฑๆ˜ฏไธ€็งๅทจๅคง็š„ไฟกๆฏๅทฎใ€‚ไปปไฝ•ๆŠ€ๆœฏๆ ˆๆˆ–ๅ•†ไธšๆจกๅผ๏ผŒ้ƒฝ้œ€่ฆๅš้‡‡ไผ—้•ฟใ€‚ไธ่ฆๅฏน้žๆœฌ้ข†ๅŸŸ็š„่ง‚็‚นไธ€ๅ‘ณๆŠ›ๅ‡บๅผ‚ๅธธ๏ผŒ่€Œๆ˜ฏ่ฆๅปบ็ซ‹่พฉ่ฏ็š„โ€œไธญ้—ดไปถโ€ๆฅ่ฟ‡ๆปคๅ’Œๅธๆ”ถ๏ผŒๅšๅฅฝไฟกๆฏ็š„็”„ๅˆซไธŽ็ญ›้€‰ใ€‚

2. ไฟกๆฏๆณ›ๆปฅไธŽ่„‘ๅŠ›ๅธฆๅฎฝ็š„ๆถˆ่€— โ€‹

ไฟกๆฏๅณๆƒๅŠ›๏ผŒๆŽŒๆก้ซ˜็ปดไฟกๆฏ็š„ไบบ็กฎๅฎžๆ‹ฅๆœ‰ๆ›ดๅผบ็š„่ต„ๆบ่ฐƒ้…่ƒฝๅŠ›ใ€‚ไฝ†ๅ…ณ้”ฎๅœจไบŽ๏ผŒๆฒกๆœ‰ไบบๆœ‰ไน‰ๅŠกๆŠŠๅคๆ‚็š„ๅบ•ๅฑ‚้€ป่พ‘ๆ‹†่งฃๆˆ็Žฐๆˆ็š„ๆ–นๆณ•่ฎบ๏ผŒๆ‰‹ๆŠŠๆ‰‹ๆ•™ๅˆฐๅฎŒๅ…จ็†่งฃไธบๆญขใ€‚็œŸๆญฃ้€ ๆˆไบบไธŽไบบไน‹้—ดๅทฎ่ท็š„๏ผŒๆ˜ฏ่งฃๆžๅ’Œ็ผ–่ฏ‘ไฟกๆฏ็š„่ƒฝๅŠ›โ€”โ€”ๅŒๆ ท็š„ไฟกๆฏ๏ผŒไธๅŒ็š„ไบบ่ƒฝๆ็‚ผๅ‡บๅฎŒๅ…จไธๅŒ็š„ไปทๅ€ผใ€‚

2.1 ไปŽโ€œ่ฟฝๆฑ‚ๅทฎโ€ๅˆฐโ€œๅฏนๆŠ—ๆณ›ๆปฅโ€ โ€‹

ๅฆ‚ไปŠ็š„้—ฎ้ข˜ๆ—ฉๅทฒไธๆ˜ฏไฟกๆฏๅŒฎไน๏ผŒ่€Œๆ˜ฏไฟกๆฏ็†ตๅขžไธŽๆณ›ๆปฅใ€‚่ฟ™ไธไป…ๅธฆๆฅไบ†ๆžๅบฆๅ†…ๅท็š„็ซžไบ‰๏ผŒ่ฟ˜ไผด้š็€ไผ ๆ’ญ่ฟ‡็จ‹ไธญ็š„ไฟกๆฏๅคฑ็œŸใ€‚ๅธ‚้ขไธŠๅพˆๅคš่ขซๅคง่‚†ๅฎฃๆ‰ฌ็š„โ€œ้ฃŽๅฃโ€๏ผŒไป”็ป†ๆ‰’ๅผ€ๆบ็ ๅฐฑไผšๅ‘็Žฐ๏ผšไฝ ๆ‰€็œ‹ๅˆฐ็š„๏ผŒๅ…ถๅฎž้ƒฝๆ˜ฏๅˆซไบบ็ฒพๅฟƒ่ฎพ่ฎกๅฅฝ่ฎฉไฝ ็œ‹ๅˆฐ็š„ใ€‚

ๅฝ“ไธ€ไธช่ต›้“ไบบไบบ้ƒฝไบ‰ๅ…ˆๆๅŽๆ—ถ๏ผŒๅฆ‚ๆžœไฝ ็œŸๆƒณๅˆ›้€ ไปทๅ€ผ๏ผŒไธๅฆ‚โ€œๅ่€…้“ไน‹ๅŠจโ€๏ผŒ้™่ง‚ๅ…ถๅ˜๏ผŒ็ญ‰ๅพ…็ณป็ปŸ้‡ๆž„็š„ๆ–ฐๆœบไผšใ€‚ๆ‹ฅๆŒค็š„่ต›้“ๆœ€็ปˆๅฟ…็„ถ่ตฐๅ‘ๅทๅˆฉๆถฆใ€ๅทไปทๆ ผ็š„โ€œๅŠฃๅธ้ฉฑ้€่‰ฏๅธโ€ๆญปๅพช็Žฏใ€‚

2.2 ๆ— ๆ•ˆไฟกๆฏๆ˜ฏๅฏน็ฎ—ๅŠ›็š„ๆžๅคงๆถˆ่€— โ€‹

ๅพˆๅคšไบบๆŠŠ่ตšไธๅˆฐ้’ฑใ€ๅšไธๆˆไบ‹ๅฝ’็ป“ไบŽโ€œไฟกๆฏ็งฏ็ดฏไธๅคŸโ€๏ผŒไบŽๆ˜ฏ็–ฏ็‹‚ๅœฐๅ›ค็งฏ่ต„ๆ–™ใ€ๆ‹ผๅ‘ฝๅœฐ่ฎข้˜…ๅ„็งๅนฒ่ดง๏ผŒ่ฏ•ๅ›พ้€š่ฟ‡ๆ‰ฉๅคงไฟกๆฏๆ‘„ๅ…ฅ้‡ๆฅ่ถ…่ถŠๅˆซไบบใ€‚ ่ฟ™ๆ˜ฏไธ€ไธชๆžๅ…ถๅฑ้™ฉ็š„่ฐฌ่ฎบใ€‚่Žทๅ–ๅ’Œๅค„็†ไฟกๆฏ๏ผŒๆœฌ่ดจไธŠๆ˜ฏไธ€ไปถๆžๅ…ถๆถˆ่€—็ณป็ปŸ่ต„ๆบ๏ผˆ็ฒพๅŠ›ๅ’Œ่ƒฝ้‡๏ผ‰็š„ไบ‹ๆƒ…ใ€‚

ๅฆ‚ๆžœไธ€ไธชไบบๅ•ๅ‡ญๆ‹ผๅ‡‘ไฟกๆฏๅฐฑ่ƒฝๆˆ˜่ƒœๅธ‚ๅœบ๏ผŒ้‚ฃๅคงๅฎถ้ƒฝไธ้œ€่ฆๅŸ‹ๅคด็ฒพ่€•็ป†ไฝœไบ†ใ€‚ไบบ็š„่„‘ๅฎน้‡ๅ’Œ่ฎค็Ÿฅๅธฆๅฎฝๆ˜ฏๆœ‰้™็š„๏ผŒไธ€ๆ—ฆ็ผ“ๅญ˜๏ผˆCache๏ผ‰่ขซๅคง้‡ไฝŽ่ดจใ€ๆ— ็”จ็š„ๅ™ช้Ÿณๅ ๆปก๏ผŒ็œŸๆญฃ้ซ˜ไปทๅ€ผ็š„ไฟกๅทๅฐฑๆ— ๆณ•่ฟ›ๅ…ฅ๏ผŒๆƒณๅพ—ๅคชๅคšใ€ๅšๅพ—ๅคชๅฐ‘๏ผŒๅชไผšๅผ•ๅ‘ไธฅ้‡็š„ๅ†…่€—ใ€‚

3. ไปทๅ€ผๅˆ›้€ ็š„ๆ ธๅฟƒ๏ผšๆ€่€ƒ+ๆ‰ง่กŒ๏ผŒ็ช็ ดไฟกๆฏๅฃๅž’ โ€‹

ไฟกๆฏๆœฌ่ดจๆ˜ฏๅทฅๅ…ท๏ผŒ่€Œ้ž็›ฎ็š„๏ผŒไบบ็š„ๆ ธๅฟƒ็ซžไบ‰ๅŠ›ๆฐธ่ฟœๆ˜ฏโ€œๆ€่€ƒ+ๆ‰ง่กŒโ€๏ผŒไบŒ่€…ๅฝขๆˆ็š„่ƒฝๅŠ›ๅฃๅž’๏ผŒ่ฟœ้ซ˜ไบŽๅ•็บฏ็š„ไฟกๆฏๅฃๅž’๏ผšๆ€่€ƒ + ๆ‰ง่กŒ > ็บฏๆ‰ง่กŒ + ไธๆ€่€ƒ > ็บฏๆ€่€ƒ + ไธๆ‰ง่กŒ > ไธๆ€่€ƒ + ไธๆ‰ง่กŒ

  • ๆ€่€ƒ+ๆ‰ง่กŒ๏ผš้€š่ฟ‡ๆ€่€ƒๅˆคๆ–ญไฟกๆฏไปทๅ€ผ๏ผŒ้€š่ฟ‡ๆ‰ง่กŒ้ชŒ่ฏ้€‰ๆ‹ฉ๏ผŒๅฝขๆˆโ€œไฟกๆฏ-ๅˆคๆ–ญ-ๅฎž่ทต-ๅ้ฆˆโ€็š„้—ญ็Žฏใ€‚
  • ๆ‰ง่กŒ+ไธๆ€่€ƒ๏ผšๆœบๆขฐ่ฝๅœฐไฝ†็ผบไนๆ–นๅ‘๏ผŒๆ•ˆ็އไฝŽไธ‹ไฝ†ๅฏ่ƒฝๅถ็„ถ่ธฉไธญๆœบไผšใ€‚
  • ๆ€่€ƒ+ไธๆ‰ง่กŒ๏ผšไป…ๅœ็•™ๅœจโ€œ็Ÿฅ้“โ€้˜ถๆฎต๏ผŒไฟกๆฏๆ— ๆณ•่ฝฌๅŒ–ไธบไปปไฝ•ไปทๅ€ผใ€‚
  • ไธๆ€่€ƒ+ไธๆ‰ง่กŒ๏ผšๅฎŒๅ…จ่ขซๅŠจๆŽฅๆ”ถไฟกๆฏ๏ผŒไธŽๆœบไผš็ป็ผ˜ใ€‚

โ€œๆ€่€ƒ+ๆ‰ง่กŒโ€ไน‹ๆ‰€ไปฅ้‡่ฆ๏ผŒๆ˜ฏๅ› ไธบๅฎƒไปฌๆž„ๆˆไบ†ๅ้ฆˆ้—ญ็Žฏ๏ผšๆ€่€ƒๆ˜ฏไธบไบ†ๅฏน่พ“ๅ…ฅ็š„ไฟกๆฏ่ฟ›่กŒๆ ก้ชŒๅ’Œ้€ป่พ‘ๅˆคๆ–ญ๏ผŒๆ‰ง่กŒๆ˜ฏไธบไบ†ๅฐ†ๅ‡่ฎพๆ”พๅ…ฅ็œŸๅฎž็Žฏๅขƒไธญ่ท‘้€šๆต‹่ฏ•๏ผŒไปŽ่€Œๅ‘็›ฎๆ ‡้€ผ่ฟ‘ใ€‚

ไฟกๆฏไธๅฏน็งฐ็š„ๆ นๆบ๏ผŒๅ…ถๅฎžๆ˜ฏโ€œๅ†…้ƒจ่ƒฝๅŠ›ไธๅฏน็งฐโ€ใ€‚ๅฐ†็›ธๅŒ็š„ๆŠ€ๆœฏ่ถ‹ๅŠฟใ€้กน็›ฎๆœบไผšๆ”พๅœจไธคไฝๅผ€ๅ‘่€…้ขๅ‰๏ผšๅ‰่€…่ƒฝ้€š่ฟ‡ๆ€่€ƒๆ‹†่งฃ่ฝๅœฐ่ทฏๅพ„ใ€้€š่ฟ‡ๆ‰ง่กŒ้ชŒ่ฏๅฏ่กŒๆ€ง๏ผ›ๅŽ่€…ไป…ๅœ็•™ๅœจโ€œไบ†่งฃโ€ๅฑ‚้ข๏ผŒๅทฎ่ทไพฟ็”ฑๆญคไบง็”Ÿใ€‚ไบบไปฌๆœ€็ปˆ่ƒฝ่Žทๅพ—็š„ไปทๅ€ผ๏ผŒๅ–ๅ†ณไบŽ่‡ช่บซ็š„ๆ€่€ƒๆทฑๅบฆใ€ๆ‰ง่กŒๅŠ›ๅบฆใ€่ฎค็Ÿฅ้ซ˜ๅบฆโ€”โ€”ๆƒณ่ฆ่Žทๅพ—ๆ›ดๅคš๏ผŒๅ”ฏไธ€่ทฏๅพ„ๆ˜ฏโ€œ็ฒพ่ฟ›่‡ช่บซโ€๏ผŒ่ฎฉ่ƒฝๅŠ›ๅŒน้…็›ฎๆ ‡ใ€‚

็œŸๆญฃๆœ‰ไปทๅ€ผ็š„ไฟกๆฏ๏ผŒๅฆ‚ๆžœไผ ่พพ็ป™ไธ€ไธชๆฒกๆœ‰ๆ‰ง่กŒๅŠ›็š„ไบบ๏ผŒๅฐฑๆฐธ่ฟœๅœ็•™ๅœจโ€œๅทฒ็Ÿฅโ€็š„ๅ†…ๅญ˜ๆ€๏ผŒๆ— ๆณ•่ฝ็›˜๏ผŒๅธๆ”ถใ€่ฟ็”จๅ’Œไบง็”Ÿไปทๅ€ผ็š„ไปปไฝ•ไธ€ไธช็Žฏ่Š‚้ƒฝไธไผšๅ‘็”Ÿใ€‚

ๆˆ‘ไปฌ้€šๅธธไปฅไธบ่‡ชๅทฑๆฒกๆˆไบ‹ๆ˜ฏๅ› ไธบ็ผบๅฐ‘ๆŸไธชๅ…ณ้”ฎ็š„โ€œไฟกๆฏๅทฎโ€๏ผŒๅฎž้™…ไธŠ่ฟž่ฟ™ไธชโ€œไปฅไธบโ€็š„่ฏŠๆ–ญ้ƒฝ้”™ไบ†ใ€‚็œŸๆญฃ็š„ๅŽŸๅ› ๏ผŒๅพ€ๅพ€ๆ˜ฏๆ€่€ƒ็š„ๆทฑๅบฆๅ’Œๆ‰ง่กŒ็š„้ข—็ฒ’ๅบฆไธๅˆฐไฝ๏ผŒๅฏผ่‡ดๆœบไผšๆตๅคฑใ€‚ไบบ็ปˆๅฝ’ๅช่ƒฝ่ตšๅˆฐ่‡ชๅทฑ็ณป็ปŸๆžถๆž„ๆ”ฏๆ’‘ๅพ—่ตท็š„้‚ฃ้ƒจๅˆ†ๆ”ถ็›Š๏ผŒๆƒณ่ฆ่Žทๅพ—ๆ›ดๅคš๏ผŒๅ”ฏไธ€็š„่ทฏๅพ„ๆ˜ฏ้‡ๆž„ๅ’Œ็ฒพ่ฟ›่‡ชๅทฑใ€‚

4. ่กŒๅŠจๆŒ‡ๅ— โ€‹

4.1 ไฟกๆฏ็ญ›้€‰๏ผšๆžœๆ–ญๅšๅ‡ๆณ•๏ผŒ้”šๅฎšๆ ธๅฟƒ็›ฎๆ ‡ โ€‹

  • ๅœๆญขๆŠฑๆ€จๅค–็•Œไฟกๆฏ็š„็œŸไผช๏ผŒไธปๅŠจๅปบ็ซ‹ไธชไบบ่ฟ‡ๆปคๆœบๅˆถ๏ผŒๆ‹’็ป"ไฟกๆฏ็„ฆ่™‘"๏ผŒๅฎšๆœŸๆธ…็†ๆ— ๆ•ˆไฟกๆฏๆบ๏ผˆๅฆ‚ไฝŽไปทๅ€ผๆŠ€ๆœฏ็คพ็พคใ€้‡ๅค่ต„่ฎฏๆŽจ้€๏ผ‰ใ€‚
  • ๆ˜Ž็กฎ่‡ช่บซ้˜ถๆฎต็›ฎๆ ‡๏ผˆๅฆ‚โ€œ3ไธชๆœˆๆŽŒๆกๆŸๆก†ๆžถ่ฝๅœฐโ€โ€œๅŠๅนดๅฎž็Žฐๅ‰ฏไธšๅ˜็Žฐโ€๏ผ‰๏ผŒไป…็ญ›้€‰ไธŽ็›ฎๆ ‡ๅผบ็›ธๅ…ณ็š„ไฟกๆฏ๏ผŒๆŠŠๆœ‰้™็š„็ฎ—ๅŠ›็•™็ป™ๆœ€้ซ˜ไผ˜็š„ไปปๅŠกใ€‚

4.2 ไฟกๆฏ่งฃ่ฏป๏ผš็ฉฟ้€่กจ่ฑก๏ผŒๆดžๅฏŸๆœช่จ€ไน‹ๆ„ โ€‹

  • ๆŽฅๆ”ถไฟกๆฏๆ—ถ๏ผˆๅฆ‚ๆŠ€ๆœฏๆ–‡็ซ ใ€่กŒไธšๅˆ†ไบซ๏ผ‰๏ผŒไธไป…่ฆๅ…ณๆณจ"่ฏดไบ†ไป€ไนˆ"๏ผŒๆ›ด่ฆๆดžๅฏŸ"ๆฒก่ฏดไป€ไนˆ"๏ผˆๅฆ‚ๆŠ€ๆœฏ็š„้€‚็”จๅœบๆ™ฏใ€ๆฝœๅœจๅ‘็‚นใ€ๅ˜็Žฐ้€ป่พ‘็š„้š่—็Žฏ่Š‚๏ผ‰ใ€‚
  • ไผ˜ๅ…ˆไธŽ้ซ˜ไฟกๅ™ชๆฏ”ไบบ็พคๆทฑๅบฆไบคๆต๏ผˆๅฆ‚่ต„ๆทฑๅผ€ๅ‘่€…ใ€่ฝๅœฐๅž‹ๅˆ›ไธš่€…ใ€้ข†ๅŸŸไธ“ๅฎถ๏ผ‰๏ผŒ่ฟ™็ฑปๆฒŸ้€šๅพ€ๅพ€็›ดๅ‡ปๆœฌ่ดจใ€ๅ‡ๅฐ‘ๅ†—ไฝ™๏ผŒ่ƒฝๅฟซ้€Ÿ่งฆ่พพๆ ธๅฟƒไฟกๆฏไธŽ้šๆ€ง็ป้ชŒ๏ผŒๅŒๆ—ถๅๅ‘ๅ€’้€ผ่‡ช่บซๆ€่€ƒ่ดจ้‡็š„ๆๅ‡ใ€‚

4.3 ๅทฎๅผ‚็ ดๅฑ€๏ผšๅ‘ๅ†…ๆฑ‚็ดข๏ผŒๅผบๅŒ–โ€œๆ€่€ƒ+ๆ‰ง่กŒโ€ โ€‹

ไธŽๅ…ถ่ฏดไธ–็•ŒไธŠๅญ˜ๅœจไฟกๆฏๅทฎ๏ผŒไธๅฆ‚่ฏดๆ˜ฏ"ไบบๅทฎ"ใ€‚ๅฐ†ๅŒๆ ท็š„ๆ–‡ๆกฃๅ’Œๆบ็ ็ฝฎไบŽไธคไบบ้ขๅ‰๏ผŒ็”ฑไบŽ"ๅบ•ๅฑ‚็ผ–่ฏ‘ๅ™จ"๏ผˆ่ฎค็Ÿฅๆก†ๆžถไธŽๆ‰ง่กŒ็ณป็ปŸ๏ผ‰็š„ๅทฎๅผ‚๏ผŒๅ‰่€…็š„ๆดžๅฏŸไธŽๅŽ่€…็š„ไบงๅ‡บๅฟ…็„ถๅˆค่‹ฅไบ‘ๆณฅใ€‚ไธ€ๅˆ‡ไฟกๆฏไธๅฏน็งฐ็š„่กจ่ฑกไน‹ไธ‹๏ผŒ็œŸๆญฃๅˆ†้‡Ž็š„ๆฐธ่ฟœๆ˜ฏๅ†…ๅœจ็š„่ฎค็ŸฅๆทฑๅบฆไธŽๆ‰ง่กŒๅฏ†ๅบฆใ€‚ๆˆ‘ไปฌๅชๆœ‰้€š่ฟ‡ๆŒ็ปญ็š„ๆ€่€ƒๅ’Œๆ‰ง่กŒๆๅ‡่‡ชๅทฑ็š„่ƒฝๅŠ›๏ผŒๆ‰่ƒฝๅœจไฟกๆฏๆ—ถไปฃไธญ่Žทๅพ—ไปทๅ€ผใ€‚

  • ๅœๆญขๆŠฑๆ€จ"ไฟกๆฏไธ็œŸๅฎž"่ฟ™็ฑปๅค–้ƒจๅฝ’ๅ› ๏ผŒๆŠŠ็ฒพๅŠ›ๆ”พๅœจ่‡ชๅทฑ่ƒฝๆŽŒๆŽง็š„ไบ‹ๆƒ…ไธŠโ€”โ€”ๆๅ‡ๆ€่€ƒๆทฑๅบฆๅ’Œๆ‰ง่กŒๆ•ˆ็އใ€‚
  • ๅปบ็ซ‹"ไฟกๆฏ่ฝๅœฐๆธ…ๅ•"๏ผšๆฏๅฝ“่Žทๅพ—ๆœ‰ไปทๅ€ผ็š„ไฟกๆฏ๏ผŒ็ซ‹ๅˆปๆ‹†่งฃๆˆไธ‰ไธช้ƒจๅˆ†โ€”โ€”ๆ€่€ƒ่ฆ็‚น๏ผˆๆฏ”ๅฆ‚ๆ˜ฏๅฆ้€‚ๅˆ่‡ชๅทฑ๏ผ‰ใ€ๆ‰ง่กŒๆญฅ้ชค๏ผˆๆฏ”ๅฆ‚ๆœฌๅ‘จ้ชŒ่ฏไป€ไนˆ๏ผ‰ใ€ๅ้ฆˆ่Š‚็‚น๏ผˆๆฏ”ๅฆ‚ไธคๅ‘จๅŽๅค็›˜ๆ•ˆๆžœ๏ผ‰๏ผŒๅˆซ่ฎฉไฟกๆฏ่บบๅœจ้‚ฃ้‡Œๅƒ็ฐใ€‚
',37)])])}const u=e(l,[["render",o]]);export{c as __pageData,u as default}; diff --git "a/assets/30.\346\202\246\350\257\273\346\227\266\345\205\211_21.\345\246\202\344\275\225\347\224\204\345\210\253\347\234\237\346\255\243\346\234\211\347\224\250\347\232\204\344\277\241\346\201\257.md.Be9IJNun.lean.js" "b/assets/30.\346\202\246\350\257\273\346\227\266\345\205\211_21.\345\246\202\344\275\225\347\224\204\345\210\253\347\234\237\346\255\243\346\234\211\347\224\250\347\232\204\344\277\241\346\201\257.md.C7EJFVmA.lean.js" similarity index 96% rename from "assets/30.\346\202\246\350\257\273\346\227\266\345\205\211_21.\345\246\202\344\275\225\347\224\204\345\210\253\347\234\237\346\255\243\346\234\211\347\224\250\347\232\204\344\277\241\346\201\257.md.Be9IJNun.lean.js" rename to "assets/30.\346\202\246\350\257\273\346\227\266\345\205\211_21.\345\246\202\344\275\225\347\224\204\345\210\253\347\234\237\346\255\243\346\234\211\347\224\250\347\232\204\344\277\241\346\201\257.md.C7EJFVmA.lean.js" index 85faf95c..6fa6e791 100644 --- "a/assets/30.\346\202\246\350\257\273\346\227\266\345\205\211_21.\345\246\202\344\275\225\347\224\204\345\210\253\347\234\237\346\255\243\346\234\211\347\224\250\347\232\204\344\277\241\346\201\257.md.Be9IJNun.lean.js" +++ "b/assets/30.\346\202\246\350\257\273\346\227\266\345\205\211_21.\345\246\202\344\275\225\347\224\204\345\210\253\347\234\237\346\255\243\346\234\211\347\224\250\347\232\204\344\277\241\346\201\257.md.C7EJFVmA.lean.js" @@ -1 +1 @@ -import{_ as e,g as r,h as t,U as i}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const c=JSON.parse('{"title":"ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจไฟกๆฏ้ซ˜ๅบฆ้€ๆ˜Ž็š„ๆ—ถไปฃ๏ผŒๆต…ๅฑ‚ไฟกๆฏๅทฎๅทฒ่ขซๅฝปๅบ•ๆŠนๅนณ๏ผŒไฟกๆฏๆœฌ่บซ็š„ไปทๅ€ผไธๆ–ญ็จ€้‡Šใ€‚ไบบไธŽไบบ็š„ๆ ธๅฟƒๅทฎ่ทไธๅ†ๆ˜ฏ่Žทๅ–ไฟกๆฏ็š„ๆธ ้“๏ผŒ่€Œๆ˜ฏ้ซ˜ไฟกๅ™ชๆฏ”ไฟกๆฏ็š„็”„ๅˆซ่ƒฝๅŠ›ใ€ๆทฑๅบฆๆ€่€ƒ่ƒฝๅŠ›ไธŽ่ฝๅœฐๆ‰ง่กŒๅŠ›๏ผŒๅ”ฏๆœ‰ไปฅๆ€่€ƒๆ ก้ชŒไฟกๆฏใ€ไปฅๆ‰ง่กŒ้ชŒ่ฏไปทๅ€ผ๏ผŒๅฝขๆˆโ€œไฟกๆฏ-ๅˆคๆ–ญ-ๅฎž่ทต-ๅ้ฆˆโ€็š„ๆ€่€ƒไธŽๆ‰ง่กŒ้—ญ็Žฏ๏ผŒๆ‰่ƒฝ็ช็ ดไฟกๆฏๅฃๅž’ใ€ๅˆ›้€ ็œŸๆญฃไปทๅ€ผใ€‚","frontmatter":{"date":"2025-11-10T12:52:28.000Z","title":"ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจไฟกๆฏ้ซ˜ๅบฆ้€ๆ˜Ž็š„ๆ—ถไปฃ๏ผŒๆต…ๅฑ‚ไฟกๆฏๅทฎๅทฒ่ขซๅฝปๅบ•ๆŠนๅนณ๏ผŒไฟกๆฏๆœฌ่บซ็š„ไปทๅ€ผไธๆ–ญ็จ€้‡Šใ€‚ไบบไธŽไบบ็š„ๆ ธๅฟƒๅทฎ่ทไธๅ†ๆ˜ฏ่Žทๅ–ไฟกๆฏ็š„ๆธ ้“๏ผŒ่€Œๆ˜ฏ้ซ˜ไฟกๅ™ชๆฏ”ไฟกๆฏ็š„็”„ๅˆซ่ƒฝๅŠ›ใ€ๆทฑๅบฆๆ€่€ƒ่ƒฝๅŠ›ไธŽ่ฝๅœฐๆ‰ง่กŒๅŠ›๏ผŒๅ”ฏๆœ‰ไปฅๆ€่€ƒๆ ก้ชŒไฟกๆฏใ€ไปฅๆ‰ง่กŒ้ชŒ่ฏไปทๅ€ผ๏ผŒๅฝขๆˆโ€œไฟกๆฏ-ๅˆคๆ–ญ-ๅฎž่ทต-ๅ้ฆˆโ€็š„ๆ€่€ƒไธŽๆ‰ง่กŒ้—ญ็Žฏ๏ผŒๆ‰่ƒฝ็ช็ ดไฟกๆฏๅฃๅž’ใ€ๅˆ›้€ ็œŸๆญฃไปทๅ€ผใ€‚","permalink":"/growth/distinguish-useful-information","categories":["่ต„ๆบๆŽจ่"],"tags":["ไฟกๆฏ็ญ›้€‰","ไธชไบบๆˆ้•ฟ"]},"headers":[],"relativePath":"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/21.ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ.md","filePath":"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/21.ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ.md"}'),l={name:"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/21.ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ.md"};function o(n,a,s,h,d,_){return t(),r("div",null,[...a[0]||(a[0]=[i("",37)])])}const u=e(l,[["render",o]]);export{c as __pageData,u as default}; +import{_ as e,g as r,h as t,U as i}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const c=JSON.parse('{"title":"ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจไฟกๆฏ้ซ˜ๅบฆ้€ๆ˜Ž็š„ๆ—ถไปฃ๏ผŒๆต…ๅฑ‚ไฟกๆฏๅทฎๅทฒ่ขซๅฝปๅบ•ๆŠนๅนณ๏ผŒไฟกๆฏๆœฌ่บซ็š„ไปทๅ€ผไธๆ–ญ็จ€้‡Šใ€‚ไบบไธŽไบบ็š„ๆ ธๅฟƒๅทฎ่ทไธๅ†ๆ˜ฏ่Žทๅ–ไฟกๆฏ็š„ๆธ ้“๏ผŒ่€Œๆ˜ฏ้ซ˜ไฟกๅ™ชๆฏ”ไฟกๆฏ็š„็”„ๅˆซ่ƒฝๅŠ›ใ€ๆทฑๅบฆๆ€่€ƒ่ƒฝๅŠ›ไธŽ่ฝๅœฐๆ‰ง่กŒๅŠ›๏ผŒๅ”ฏๆœ‰ไปฅๆ€่€ƒๆ ก้ชŒไฟกๆฏใ€ไปฅๆ‰ง่กŒ้ชŒ่ฏไปทๅ€ผ๏ผŒๅฝขๆˆโ€œไฟกๆฏ-ๅˆคๆ–ญ-ๅฎž่ทต-ๅ้ฆˆโ€็š„ๆ€่€ƒไธŽๆ‰ง่กŒ้—ญ็Žฏ๏ผŒๆ‰่ƒฝ็ช็ ดไฟกๆฏๅฃๅž’ใ€ๅˆ›้€ ็œŸๆญฃไปทๅ€ผใ€‚","frontmatter":{"date":"2025-11-10T12:52:28.000Z","title":"ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจไฟกๆฏ้ซ˜ๅบฆ้€ๆ˜Ž็š„ๆ—ถไปฃ๏ผŒๆต…ๅฑ‚ไฟกๆฏๅทฎๅทฒ่ขซๅฝปๅบ•ๆŠนๅนณ๏ผŒไฟกๆฏๆœฌ่บซ็š„ไปทๅ€ผไธๆ–ญ็จ€้‡Šใ€‚ไบบไธŽไบบ็š„ๆ ธๅฟƒๅทฎ่ทไธๅ†ๆ˜ฏ่Žทๅ–ไฟกๆฏ็š„ๆธ ้“๏ผŒ่€Œๆ˜ฏ้ซ˜ไฟกๅ™ชๆฏ”ไฟกๆฏ็š„็”„ๅˆซ่ƒฝๅŠ›ใ€ๆทฑๅบฆๆ€่€ƒ่ƒฝๅŠ›ไธŽ่ฝๅœฐๆ‰ง่กŒๅŠ›๏ผŒๅ”ฏๆœ‰ไปฅๆ€่€ƒๆ ก้ชŒไฟกๆฏใ€ไปฅๆ‰ง่กŒ้ชŒ่ฏไปทๅ€ผ๏ผŒๅฝขๆˆโ€œไฟกๆฏ-ๅˆคๆ–ญ-ๅฎž่ทต-ๅ้ฆˆโ€็š„ๆ€่€ƒไธŽๆ‰ง่กŒ้—ญ็Žฏ๏ผŒๆ‰่ƒฝ็ช็ ดไฟกๆฏๅฃๅž’ใ€ๅˆ›้€ ็œŸๆญฃไปทๅ€ผใ€‚","permalink":"/growth/distinguish-useful-information","categories":["่ต„ๆบๆŽจ่"],"tags":["ไฟกๆฏ็ญ›้€‰","ไธชไบบๆˆ้•ฟ"]},"headers":[],"relativePath":"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/21.ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ.md","filePath":"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/21.ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ.md"}'),l={name:"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/21.ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ.md"};function o(n,a,s,h,d,_){return t(),r("div",null,[...a[0]||(a[0]=[i("",37)])])}const u=e(l,[["render",o]]);export{c as __pageData,u as default}; diff --git "a/assets/31.\345\274\200\346\272\220\346\264\236\345\257\237_00.overview.md.DsfCImvx.js" "b/assets/31.\345\274\200\346\272\220\346\264\236\345\257\237_00.overview.md.DsfCImvx.js" new file mode 100644 index 00000000..1bb84288 --- /dev/null +++ "b/assets/31.\345\274\200\346\272\220\346\264\236\345\257\237_00.overview.md.DsfCImvx.js" @@ -0,0 +1 @@ +import{_ as e,g as r,h as i,U as a}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const p=JSON.parse('{"title":"ๅผ€ๆบๆดžๅฏŸ","description":"","frontmatter":{"date":"2026-04-10T14:52:34.000Z","title":"ๅผ€ๆบๆดžๅฏŸ","permalink":"/repo-insight/overview","categories":["ๅผ€ๆบๆดžๅฏŸ"]},"headers":[],"relativePath":"31.ๅผ€ๆบๆดžๅฏŸ/00.overview.md","filePath":"31.ๅผ€ๆบๆดžๅฏŸ/00.overview.md"}'),o={name:"31.ๅผ€ๆบๆดžๅฏŸ/00.overview.md"};function n(s,t,l,d,h,c){return i(),r("div",null,[...t[0]||(t[0]=[a('

ๅผ€ๆบๆดžๅฏŸ โ€‹

่ฏดๆ˜Ž๏ผš

ๆœฌไธ“ๆ ๆ‰€ๆœ‰ๆบ็ ่งฃ่ฏปๆ–‡็ซ ๏ผŒๅ‡ๅ€ŸๅŠฉไบ†ๆœฌไบบๅผ€ๆบ็š„ repo-insight Agent Skill ๆฅ่พ…ๅŠฉ็”Ÿๆˆใ€‚

repo-insight ๆ˜ฏไธ€ๆฌพไธ“ๆณจไบŽไผ˜็ง€ๅผ€ๆบ้กน็›ฎไปฃ็ ๅบ“่งฃ่ฏป็š„ๆ™บ่ƒฝๅŠฉๆ‰‹๏ผŒๆไพ› GitHub URL ๆˆ–ๆœฌๅœฐ็›ฎๅฝ•็š„ไธ€้”ฎๆทฑๅบฆๅˆ†ๆž่ƒฝๅŠ›ใ€‚

  • ไธ€้”ฎๅˆ†ๆž - ๆ”ฏๆŒ GitHub URL ๆˆ–ๆœฌๅœฐ็›ฎๅฝ•ๅˆ†ๆž
  • ๆทฑๅบฆๆŠฅๅ‘Š - ็”Ÿๆˆ้กน็›ฎๆฆ‚่ฟฐใ€ๆžถๆž„ๅˆ†ๆžใ€ๆ ธๅฟƒๆจกๅ—่งฃ่ฏป
  • ไธญๆ–‡ๆ”ฏๆŒ - ่‡ชๅŠจ็ฟป่ฏ‘ READMEใ€็”Ÿๆˆไธญๆ–‡ไปฃ็ ๆณจ้‡Š
  • ๅ…จ่‡ชๅŠจๆ‰ง่กŒ - ่ฐƒ็”จๅŽๆ— ้œ€ไธญ้—ดไบคไบ’

ไธคไธช Skill ๅ‡ๅ…ทๅค‡ไปฅไธŠ่ƒฝๅŠ›๏ผŒๅฏๆ นๆฎ้œ€ๆฑ‚้€‰ๆ‹ฉไฝฟ็”จใ€‚

ๅผ€ๆบ้กน็›ฎ่งฃ่ฏป โ€‹

้กน็›ฎ็ฎ€ไป‹
fetch-event-sourceๅพฎ่ฝฏๅผ€ๆบ็š„ๅŸบไบŽ Fetch API ็š„ SSE ๅฎขๆˆท็ซฏๅบ“๏ผŒ็”จไบŽ็ฎ€ๅŒ–ไธŽๆœๅŠกๅ™จ็š„ๅฎžๆ—ถ้€šไฟกใ€‚
่งฃ่ฏปๅ…จๆ–‡ โ†’
',5)])])}const _=e(o,[["render",n]]);export{p as __pageData,_ as default}; diff --git "a/assets/31.\345\274\200\346\272\220\346\264\236\345\257\237_00.overview.md.DsfCImvx.lean.js" "b/assets/31.\345\274\200\346\272\220\346\264\236\345\257\237_00.overview.md.DsfCImvx.lean.js" new file mode 100644 index 00000000..67dae3e4 --- /dev/null +++ "b/assets/31.\345\274\200\346\272\220\346\264\236\345\257\237_00.overview.md.DsfCImvx.lean.js" @@ -0,0 +1 @@ +import{_ as e,g as r,h as i,U as a}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const p=JSON.parse('{"title":"ๅผ€ๆบๆดžๅฏŸ","description":"","frontmatter":{"date":"2026-04-10T14:52:34.000Z","title":"ๅผ€ๆบๆดžๅฏŸ","permalink":"/repo-insight/overview","categories":["ๅผ€ๆบๆดžๅฏŸ"]},"headers":[],"relativePath":"31.ๅผ€ๆบๆดžๅฏŸ/00.overview.md","filePath":"31.ๅผ€ๆบๆดžๅฏŸ/00.overview.md"}'),o={name:"31.ๅผ€ๆบๆดžๅฏŸ/00.overview.md"};function n(s,t,l,d,h,c){return i(),r("div",null,[...t[0]||(t[0]=[a("",5)])])}const _=e(o,[["render",n]]);export{p as __pageData,_ as default}; diff --git "a/assets/31.\345\274\200\346\272\220\346\264\236\345\257\237_01.fetch-event-source \346\272\220\347\240\201\350\247\243\350\257\273.md.BP_UYyAh.js" "b/assets/31.\345\274\200\346\272\220\346\264\236\345\257\237_01.fetch-event-source \346\272\220\347\240\201\350\247\243\350\257\273.md.BP_UYyAh.js" new file mode 100644 index 00000000..6a6ffee8 --- /dev/null +++ "b/assets/31.\345\274\200\346\272\220\346\264\236\345\257\237_01.fetch-event-source \346\272\220\347\240\201\350\247\243\350\257\273.md.BP_UYyAh.js" @@ -0,0 +1,427 @@ +import{_ as a,g as n,h as i,U as p}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const E=JSON.parse('{"title":"fetch-event-source ๆบ็ ่งฃ่ฏป","description":"","frontmatter":{"date":"2026-04-10T14:43:09.000Z","title":"fetch-event-source ๆบ็ ่งฃ่ฏป","categories":["ๅผ€ๆบๆดžๅฏŸ"],"permalink":"/repo-insight/fetch-event-source"},"headers":[],"relativePath":"31.ๅผ€ๆบๆดžๅฏŸ/01.fetch-event-source ๆบ็ ่งฃ่ฏป.md","filePath":"31.ๅผ€ๆบๆดžๅฏŸ/01.fetch-event-source ๆบ็ ่งฃ่ฏป.md"}'),l={name:"31.ๅผ€ๆบๆดžๅฏŸ/01.fetch-event-source ๆบ็ ่งฃ่ฏป.md"};function e(t,s,h,r,k,d){return i(),n("div",null,[...s[0]||(s[0]=[p(`

fetch-event-source ๆบ็ ่งฃ่ฏป โ€‹

็ฌฌไธ€้ƒจๅˆ†: ไธšๅŠกไปทๅ€ผ็ฏ‡ โ€‹

้กน็›ฎๅฎšไฝ โ€‹

@microsoft/fetch-event-source ๆ˜ฏๅพฎ่ฝฏๅผ€ๆบ็š„ไธ€ไธชๅŸบไบŽ Fetch API ็š„ Server-Sent Events (SSE) ๅฎขๆˆท็ซฏๅบ“,ไธบๆต่งˆๅ™จๆไพ›ไบ†ๆ›ดๅผบๅคงใ€ๆ›ด็ตๆดป็š„ๆœๅŠกๅ™จๆŽจ้€ไบ‹ไปถๆŽฅๆ”ถ่ƒฝๅŠ›ใ€‚

่งฃๅ†ณ็š„ๆ ธๅฟƒ็—›็‚น โ€‹

ๅŽŸ็”Ÿๆต่งˆๅ™จ็š„ EventSource API ๅญ˜ๅœจไปฅไธ‹้™ๅˆถ:

้™ๅˆถ่ฏดๆ˜Ž
ไป…ๆ”ฏๆŒ GET ่ฏทๆฑ‚ๆ— ๆณ•ไฝฟ็”จ POSTใ€PUT ็ญ‰ๅ…ถไป– HTTP ๆ–นๆณ•
ๆ— ๆณ•่‡ชๅฎšไน‰่ฏทๆฑ‚ๅคดๆ— ๆณ•ไผ ้€’่ฎค่ฏไปค็‰Œใ€ๅ†…ๅฎน็ฑปๅž‹็ญ‰่‡ชๅฎšไน‰ๅคด้ƒจ
ๆ— ๆณ•ๅ‘้€่ฏทๆฑ‚ไฝ“ๆ‰€ๆœ‰ๅ‚ๆ•ฐๅฟ…้กป็ผ–็ ๅœจ URL ไธญ,ๅ—้™ไบŽๆต่งˆๅ™จ URL ้•ฟๅบฆ้™ๅˆถ(้€šๅธธ 2000 ๅญ—็ฌฆ)
้‡่ฏ•็ญ–็•ฅไธๅฏๆŽง่ฟžๆŽฅๆ–ญๅผ€ๆ—ถๆต่งˆๅ™จ่‡ชๅŠจ้‡่ฏ•ไฝ†ๆ— ๆณ•่‡ชๅฎšไน‰้‡่ฏ•้€ป่พ‘
้”™่ฏฏๅค„็†่ƒฝๅŠ›ๆœ‰้™ๆ— ๆณ•ไผ˜้›…ๅค„็† API ็ฝ‘ๅ…ณ่ฟ”ๅ›ž็š„้”™่ฏฏๅ“ๅบ”

ๆŠ€ๆœฏไบฎ็‚น โ€‹

ๆŠ€ๆœฏไบฎ็‚น่ฏดๆ˜Ž
ๅŸบไบŽ Fetch APIๅ……ๅˆ†ๅˆฉ็”จ Fetch API ็š„ๆ‰€ๆœ‰็‰นๆ€ง(่‡ชๅฎšไน‰ๆ–นๆณ•ใ€ๅคด้ƒจใ€่ฏทๆฑ‚ไฝ“็ญ‰)
ๅฎŒๅ…จๅ…ผๅฎน SSE ๆ ผๅผไธŽๆ ‡ๅ‡† Event Stream ๆ ผๅผ 100% ๅ…ผๅฎน
็ตๆดป็š„้‡่ฏ•็ญ–็•ฅๅฎŒๅ…จๆŽŒๆŽง่ฟžๆŽฅๆ–ญๅผ€ๆ—ถ็š„้‡่ฏ•้€ป่พ‘
้กต้ขๅฏ่งๆ€ง้›†ๆˆ่‡ชๅŠจๅœจ้กต้ข้š่—ๆ—ถๆ–ญๅผ€่ฟžๆŽฅใ€ๆ˜พ็คบๆ—ถ้‡่ฟž,ๅ‡ๅฐ‘ๆœๅŠกๅ™จ่ดŸ่ฝฝ
ๅฏๆ›ฟๆข็š„ fetch ๅฎž็Žฐๆ”ฏๆŒๆณจๅ…ฅ่‡ชๅฎšไน‰ fetch ๅ‡ฝๆ•ฐ
TypeScript ๅŽŸ็”Ÿๆ”ฏๆŒๅฎŒๆ•ด็š„็ฑปๅž‹ๅฎšไน‰

้€‚็”จๅœบๆ™ฏ โ€‹

ๅœบๆ™ฏ่ฏดๆ˜Ž
ๅฎžๆ—ถๆ•ฐๆฎๆŽจ้€่‚ก็ฅจ่กŒๆƒ…ใ€ๅฎžๆ—ถๆ–ฐ้—ปใ€ๅณๆ—ถๆถˆๆฏ
่ฟ›ๅบฆๆ›ดๆ–ฐ้•ฟๆ—ถ้—ด่ฟ่กŒไปปๅŠก็š„่ฟ›ๅบฆ่ฟฝ่ธช
ๆ—ฅๅฟ—ๆตๅฎžๆ—ถๆ—ฅๅฟ—ๆŸฅ็œ‹ๅ’Œ็›‘ๆŽง
ๅไฝœๅบ”็”จๅคšไบบๅไฝœๆ—ถ็š„ๅฎžๆ—ถ็Šถๆ€ๅŒๆญฅ
AI ๅบ”็”จๅคง่ฏญ่จ€ๆจกๅž‹็š„ๆตๅผๅ“ๅบ”่พ“ๅ‡บ

ๅ…ธๅž‹ไฝฟ็”จ Case โ€‹

Case 1: ๅŸบ็ก€ SSE ่ฟžๆŽฅ โ€‹

typescript
import { fetchEventSource } from '@microsoft/fetch-event-source';
+
+await fetchEventSource('/api/sse', {
+    onmessage(ev) {
+        console.log(ev.data);
+    }
+});

Case 2: ๅธฆ่ฎค่ฏๅ’Œ่‡ชๅฎšไน‰่ฏทๆฑ‚ โ€‹

typescript
const ctrl = new AbortController();
+fetchEventSource('/api/sse', {
+    method: 'POST',
+    headers: {
+        'Content-Type': 'application/json',
+        'Authorization': 'Bearer token123'
+    },
+    body: JSON.stringify({ query: 'data' }),
+    signal: ctrl.signal,
+    onmessage(msg) {
+        // ๅค„็†ๆถˆๆฏ
+    }
+});

Case 3: ่‡ชๅฎšไน‰้”™่ฏฏๅค„็†ๅ’Œ้‡่ฏ• โ€‹

typescript
class RetriableError extends Error { }
+class FatalError extends Error { }
+
+fetchEventSource('/api/sse', {
+    async onopen(response) {
+        if (response.ok && response.headers.get('content-type') === 'text/event-stream') {
+            return;
+        } else if (response.status >= 400 && response.status < 500 && response.status !== 429) {
+            throw new FatalError();
+        } else {
+            throw new RetriableError();
+        }
+    },
+    onerror(err) {
+        if (err instanceof FatalError) {
+            throw err; // ๅœๆญขๆ“ไฝœ
+        }
+        // ่ฟ”ๅ›ž้‡่ฏ•้—ด้š”(ๆฏซ็ง’),undefined ไฝฟ็”จ้ป˜่ฎค 1 ็ง’
+        return 2000;
+    }
+});

ๆŠ€ๆœฏๆ ˆๅˆ†ๆž โ€‹

ๆŠ€ๆœฏ็‰ˆๆœฌ็”จ้€”
TypeScript^4.2.4ๅผ€ๅ‘่ฏญ่จ€
Jasmine^4.3.1ๆต‹่ฏ•ๆก†ๆžถ
ES2017-็›ฎๆ ‡ ECMAScript ็‰ˆๆœฌ

้€‰ๅž‹ๅ†ณ็ญ–ๅˆ†ๆž โ€‹

1ใ€ไธบไป€ไนˆ้€‰ๆ‹ฉ TypeScript?

  • ็ฑปๅž‹ๅฎ‰ๅ…จ: ไธบ API ๆไพ›ๅฎŒๆ•ด็š„็ฑปๅž‹ๅฎšไน‰,ๆๅ‡ๅผ€ๅ‘ไฝ“้ชŒ
  • ็”Ÿๆ€ๅ‹ๅฅฝ: TypeScript ๅœจๅ‰็ซฏ็”Ÿๆ€ไธญๅทฒๆˆไธบไธปๆต
  • ็ปดๆŠคๆ€ง: ็ฑปๅž‹็ณป็ปŸๆœ‰ๅŠฉไบŽ้•ฟๆœŸ็ปดๆŠคๅ’Œ้‡ๆž„

2ใ€ไธบไป€ไนˆๅŸบไบŽ Fetch API ่€Œ้ž XMLHttpRequest?

  • ็Žฐไปฃๆ ‡ๅ‡†: Fetch API ๆ˜ฏ็Žฐไปฃๆต่งˆๅ™จ็š„ๆ ‡ๅ‡† API
  • Promise ๆ”ฏๆŒ: ๆ›ดไผ˜้›…็š„ๅผ‚ๆญฅๅค„็†ๆ–นๅผ
  • ๅฏๆ‰ฉๅฑ•ๆ€ง: Request/Response ๅฏน่ฑก่ฎพ่ฎกๆ›ด็ตๆดป
  • ๆตๅผๅค„็†: ๅŽŸ็”Ÿๆ”ฏๆŒ ReadableStream

3ใ€ไธบไป€ไนˆไธ็›ดๆŽฅไฝฟ็”จ WebSocket?

  • SSE ๅ…ผๅฎนๆ€ง: ็Žฐๆœ‰ SSE ๆœๅŠกๅ™จๆ— ้œ€ไฟฎๆ”นๅณๅฏไฝฟ็”จ
  • ๅ•ๅ‘้€šไฟก: ๅฏนไบŽไป…้œ€ๆœๅŠกๅ™จๆŽจ้€็š„ๅœบๆ™ฏ,SSE ๆ›ด่ฝป้‡
  • HTTP ๅ‹ๅฅฝ: ไฝฟ็”จๆ ‡ๅ‡† HTTP,ๆ›ดๅฎนๆ˜“้€š่ฟ‡้˜ฒ็ซๅข™ๅ’Œไปฃ็†
  • ่‡ชๅŠจ้‡่ฟž: SSE ๆœฌ่บซๅฐฑๆœ‰้‡่ฟžๆœบๅˆถ,ๆญคๅบ“่ฟ›ไธ€ๆญฅๅขžๅผบ

้กน็›ฎ็ป“ๆž„ๅˆ่งˆ โ€‹

shell
src/
+โ”œโ”€โ”€ fetch.ts        # ๆ ธๅฟƒๅฎž็Žฐ: fetchEventSource ๅ‡ฝๆ•ฐ
+โ”œโ”€โ”€ parse.ts        # ่งฃๆžๅ™จ: SSE ๆ ผๅผ่งฃๆž
+โ”œโ”€โ”€ index.ts        # ๅ…ฅๅฃ: ๅฏผๅ‡บๅ…ฌๅ…ฑ API
+โ””โ”€โ”€ parse.spec.ts   # ๆต‹่ฏ•: ่งฃๆžๅ™จๅ•ๅ…ƒๆต‹่ฏ•

ๅฎŒๆ•ด็›ฎๅฝ•ๆ ‘๏ผš

shell
fetch-event-source/
+โ”œโ”€โ”€ .github/                    # GitHub ้…็ฝฎ็›ฎๅฝ•
+โ”‚   โ””โ”€โ”€ workflows/              # GitHub Actions ๅทฅไฝœๆต
+โ”‚       โ””โ”€โ”€ node.js.yml         # Node.js CI ้…็ฝฎ
+โ”œโ”€โ”€ src/                        # ๆบไปฃ็ ไธป็›ฎๅฝ•
+โ”‚   โ”œโ”€โ”€ fetch.ts                # fetchEventSource ไธปๅฎž็Žฐ - ่ฟžๆŽฅ็ฎก็†ใ€้‡่ฏ•ใ€้กต้ขๅฏ่งๆ€ง
+โ”‚   โ”œโ”€โ”€ index.ts                # ๆจกๅ—ๅ…ฅๅฃๆ–‡ไปถ - ็ปŸไธ€ๅฏผๅ‡บๅ…ฌๅ…ฑ API
+โ”‚   โ”œโ”€โ”€ parse.spec.ts           # ่งฃๆžๅ™จๅ•ๅ…ƒๆต‹่ฏ•
+โ”‚   โ””โ”€โ”€ parse.ts                # ไบ‹ไปถๆต่งฃๆžๅ™จ - SSE ๆ ผๅผ่งฃๆžๆตๆฐด็บฟ
+โ”œโ”€โ”€ .gitignore                  # Git ๅฟฝ็•ฅๆ–‡ไปถ
+โ”œโ”€โ”€ .npmignore                  # NPM ๅ‘ๅธƒๅฟฝ็•ฅๆ–‡ไปถ
+โ”œโ”€โ”€ .nycrc                      # ๆต‹่ฏ•่ฆ†็›–็އ้…็ฝฎ
+โ”œโ”€โ”€ CHANGELOG.md                # ๅ˜ๆ›ดๆ—ฅๅฟ—
+โ”œโ”€โ”€ CODE_OF_CONDUCT.md          # ่กŒไธบๅ‡†ๅˆ™  
+โ”œโ”€โ”€ CONTRIBUTING.md             # ่ดก็ŒฎๆŒ‡ๅ—
+โ”œโ”€โ”€ LICENSE                     # MIT ่ฎธๅฏ่ฏ
+โ”œโ”€โ”€ README.md                   # ้กน็›ฎ่ฏดๆ˜Žๆ–‡ๆกฃ(่‹ฑๆ–‡)
+โ”œโ”€โ”€ SECURITY.md                 # ๅฎ‰ๅ…จๆ”ฟ็ญ–
+โ”œโ”€โ”€ jasmine.json                # Jasmine ๆต‹่ฏ•ๆก†ๆžถ้…็ฝฎ
+โ”œโ”€โ”€ package-lock.json           # NPM ไพ่ต–้”ๅฎšๆ–‡ไปถ
+โ”œโ”€โ”€ package.json                # NPM ้กน็›ฎ้…็ฝฎ - dual-package (CJS+ESM)
+โ”œโ”€โ”€ tsconfig.esm.json           # TypeScript ESM ๆž„ๅปบ้…็ฝฎ
+โ””โ”€โ”€ tsconfig.json               # TypeScript ไธป้…็ฝฎ - strict ๆจกๅผ

ๆ ธๅฟƒๆจกๅ—่Œ่ดฃ โ€‹

ๆจกๅ—่Œ่ดฃ
fetch.tsไธป API ๅฎž็Žฐ,่ฟžๆŽฅ็ฎก็†ใ€้‡่ฏ•้€ป่พ‘ใ€้กต้ขๅฏ่งๆ€งๅค„็†
parse.tsSSE ๅ่ฎฎ่งฃๆž,ๅญ—่Š‚ๆต โ†’ ่กŒ โ†’ ๆถˆๆฏ็š„่ฝฌๆข
index.tsๆจกๅ—ๅ…ฅๅฃ,็ปŸไธ€ๅฏผๅ‡บ

ไพ่ต–ๅ…ณ็ณป โ€‹

ๅค–้ƒจไพ่ต– โ€‹

  • ๆ— ่ฟ่กŒๆ—ถไพ่ต–: ่ฟ™ๆ˜ฏไธ€ไธช้›ถไพ่ต–็š„่ฝป้‡็บงๅบ“
  • ไป…ๅผ€ๅ‘ไพ่ต–: TypeScriptใ€Jasmineใ€rimrafใ€source-map-support

ๅ†…้ƒจไพ่ต– โ€‹

shell
index.ts โ†’ fetch.ts โ†’ parse.ts
+       โ†˜
+         parse.ts (็›ดๆŽฅๅฏผๅ‡บ็ฑปๅž‹)

ๆž„ๅปบ่พ“ๅ‡บ โ€‹

  • CJS: CommonJS ๆ ผๅผ (lib/cjs/index.js)
  • ESM: ES Module ๆ ผๅผ (lib/esm/index.js)
  • ็ฑปๅž‹: TypeScript ็ฑปๅž‹ๅฎšไน‰ (lib/cjs/index.d.ts)

ๆ”ฏๆŒ dual-package ๅ‘ๅธƒ,ๅŒๆ—ถๅ…ผๅฎน CommonJS ๅ’Œ ES Moduleใ€‚

็ฌฌไบŒ้ƒจๅˆ†: ๆžถๆž„่ฎพ่ฎก็ฏ‡ โ€‹

็ณป็ปŸๆ•ดไฝ“ๆžถๆž„ โ€‹

markdown
                        โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
+                        โ”‚                    fetchEventSource API                     โ”‚
+                        โ”‚                     (ๅ…ฅๅฃ: src/index.ts)                     โ”‚
+                        โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
+                                                     โ”‚
+                                                     โ–ผ
+                        โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
+                        โ”‚                   ๆ ธๅฟƒๆŽงๅˆถๅ™จ (src/fetch.ts)                 โ”‚
+                        โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
+                        โ”‚  โ”‚  create()           - ๅˆ›ๅปบ/้‡่ฏ•่ฟžๆŽฅ็š„ไธปๅพช็Žฏ            โ”‚  โ”‚
+                        โ”‚  โ”‚  dispose()          - ๆธ…็†่ต„ๆบ                          โ”‚  โ”‚
+                        โ”‚  โ”‚  onVisibilityChange() - ้กต้ขๅฏ่งๆ€งๅ˜ๅŒ–ๅค„็†              โ”‚  โ”‚
+                        โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
+                        โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
+                                                             โ”‚
+              โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
+              โ”‚                                      โ”‚                                      โ”‚
+              โ–ผ                                      โ–ผ                                      โ–ผ
+โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”        โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”        โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
+โ”‚   ้กต้ขๅฏ่งๆ€ง็›‘ๅฌ        โ”‚        โ”‚   Fetch ่ฏทๆฑ‚ๅค„็†          โ”‚        โ”‚   ้‡่ฏ•็ญ–็•ฅๆŽงๅˆถ          โ”‚
+โ”‚  - visibilitychange     โ”‚        โ”‚  - ่‡ชๅฎšไน‰ๆ–นๆณ•/ๅคด้ƒจ/ไฝ“    โ”‚        โ”‚  - ๅฏ้…็ฝฎ้‡่ฏ•้—ด้š”       โ”‚
+โ”‚  - ่‡ชๅŠจๆ–ญๅผ€/้‡่ฟž        โ”‚        โ”‚  - Last-Event-ID ๅคด้ƒจ     โ”‚        โ”‚  - ้”™่ฏฏๅˆ†็ฑปๅค„็†         โ”‚
+โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜        โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜        โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
+              โ”‚                                      โ”‚                                      โ”‚
+              โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
+                                                             โ”‚
+                                                             โ–ผ
+                        โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
+                        โ”‚                  ไบ‹ไปถๆต่งฃๆžๅ™จ (src/parse.ts)                 โ”‚
+                        โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
+                        โ”‚  โ”‚  getBytes()    - ่ฏปๅ–ๅญ—่Š‚ๆต                           โ”‚  โ”‚
+                        โ”‚  โ”‚  getLines()    - ่งฃๆž่กŒ็ผ“ๅ†ฒ                           โ”‚  โ”‚
+                        โ”‚  โ”‚  getMessages() - ็ป„่ฃ…ๅฎŒๆ•ดๆถˆๆฏ                          โ”‚  โ”‚
+                        โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
+                        โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
+                                                             โ”‚
+                                                             โ–ผ
+                        โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
+                        โ”‚                    ็”จๆˆทๅ›ž่ฐƒๅ‡ฝๆ•ฐ                              โ”‚
+                        โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
+                        โ”‚  โ”‚ onopen   โ”‚ โ”‚ onmessageโ”‚ โ”‚ onclose  โ”‚ โ”‚ onerror  โ”‚  โ”‚
+                        โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
+                        โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

ๆ ธๅฟƒๆจกๅ—่ฎพ่ฎก โ€‹

1. fetch.ts - ไธปๆŽงๅˆถๅ™จๆจกๅ— โ€‹

่Œ่ดฃ:

  • ๆไพ› fetchEventSource ไธป API ๅ‡ฝๆ•ฐ
  • ็ฎก็†่ฟžๆŽฅ็”Ÿๅ‘ฝๅ‘จๆœŸ
  • ๅค„็†้‡่ฏ•้€ป่พ‘
  • ้›†ๆˆ้กต้ขๅฏ่งๆ€ง API
  • ๅ่ฐƒ่ฏทๆฑ‚/ๅ“ๅบ”ๅค„็†

ๆ ธๅฟƒๆ•ฐๆฎ็ป“ๆž„:

typescript
interface FetchEventSourceInit extends RequestInit {
+    headers?: Record<string, string>;
+    onopen?: (response: Response) => Promise<void>;
+    onmessage?: (ev: EventSourceMessage) => void;
+    onclose?: () => void;
+    onerror?: (err: any) => number | null | undefined | void;
+    openWhenHidden?: boolean;
+    fetch?: typeof fetch;
+}

ๅ…ณ้”ฎๅ‡ฝๆ•ฐๆต็จ‹:

text
                    fetchEventSource() ๅ…ฅๅฃ
+                            โ”‚
+                            โ–ผ
+โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
+โ”‚  ๅˆๅง‹ๅŒ–้˜ถๆฎต:                                             โ”‚
+โ”‚  1. ๅคๅˆถๅนถ่ฎพ็ฝฎ้ป˜่ฎค่ฏทๆฑ‚ๅคด (Accept: text/event-stream)    โ”‚
+โ”‚  2. ่ฎพ็ฝฎ้กต้ขๅฏ่งๆ€ง็›‘ๅฌๅ™จ (ๅฆ‚ๆžœ openWhenHidden=false)    โ”‚
+โ”‚  3. ๅˆๅง‹ๅŒ–้‡่ฏ•้—ด้š” (้ป˜่ฎค 1000ms)                       โ”‚
+โ”‚  4. ็›‘ๅฌ่พ“ๅ…ฅ AbortSignal                                 โ”‚
+โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
+                             โ”‚
+                             โ–ผ
+                    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
+                    โ”‚  create() ๅ‡ฝๆ•ฐ โ”‚ โ†โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
+                    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜          โ”‚
+                            โ”‚                    โ”‚
+        โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
+        โ”‚                   โ”‚                   โ”‚
+        โ–ผ                   โ–ผ                   โ–ผ
+โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
+โ”‚  ๅ‘่ตท่ฏทๆฑ‚    โ”‚   โ”‚  ้ชŒ่ฏๅ“ๅบ”     โ”‚   โ”‚  ่งฃๆžไบ‹ไปถๆต   โ”‚
+โ”‚  fetch()     โ”‚   โ”‚  onopen()     โ”‚   โ”‚  getBytes()  โ”‚
+โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
+       โ”‚                   โ”‚                   โ”‚
+       โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
+                           โ”‚
+                           โ–ผ
+                โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
+                โ”‚  ๆˆๅŠŸ/้”™่ฏฏๅค„็†   โ”‚
+                โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
+                         โ”‚
+              โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
+              โ”‚                     โ”‚
+              โ–ผ                     โ–ผ
+        ๆญฃๅธธๅฎŒๆˆ              ๅผ‚ๅธธๅค„็†
+        (resolve)         (onerror ๅ†ณๅฎšๆ˜ฏๅฆ้‡่ฏ•)
+                             โ”‚
+                             โ–ผ
+                    ้œ€่ฆ้‡่ฏ•? โ”€โ”€ๆ˜ฏโ”€โ”€โ†’ ้‡่ฏ• create()
+                             โ”‚
+                             ๅฆ
+                             โ–ผ
+                        ็ปˆๆญข (reject)

2. parse.ts - ไบ‹ไปถๆต่งฃๆžๆจกๅ— โ€‹

่Œ่ดฃ:

  • ่งฃๆž SSE ๆ ผๅผ็š„ๅญ—่Š‚ๆต
  • ๅค„็†ๅˆ†ๅ—ไผ ่พ“็ผ–็ 
  • ็ป„่ฃ…ๅฎŒๆ•ด็š„ EventSourceMessage ๅฏน่ฑก

่งฃๆžๆตๆฐด็บฟ:

text
  ReadableStream<Uint8Array>
+            โ”‚
+            โ–ผ
+    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
+    โ”‚   getBytes()  โ”‚  - ไปŽๆตไธญ่ฏปๅ–ๅญ—่Š‚ๅ—
+    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
+            โ”‚
+            โ–ผ
+    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
+    โ”‚   getLines()  โ”‚  - ่งฃๆž่กŒ็ผ“ๅ†ฒ,ๅค„็† \\r, \\n, \\r\\n
+    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  - ่ฏ†ๅˆซๅญ—ๆฎตๅไฝ็ฝฎ (็ฌฌไธ€ไธชๅ†’ๅท)
+            โ”‚
+            โ–ผ
+    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
+    โ”‚ getMessages() โ”‚  - ็ป„่ฃ…ๅฎŒๆ•ดๆถˆๆฏ
+    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  - ๅค„็†ๅคšๅญ—ๆฎต: id, event, data, retry
+            โ”‚          - ็ฉบ่กŒ่งฆๅ‘ๆถˆๆฏๅ›ž่ฐƒ
+            โ–ผ
+  EventSourceMessage

ๆ ธๅฟƒๆ•ฐๆฎ็ป“ๆž„:

typescript
interface EventSourceMessage {
+    id: string;           // ไบ‹ไปถ ID
+    event: string;        // ไบ‹ไปถ็ฑปๅž‹
+    data: string;         // ไบ‹ไปถๆ•ฐๆฎ
+    retry?: number;       // ้‡่ฏ•้—ด้š”(ๆฏซ็ง’)
+}

่กŒ่งฃๆž็Šถๆ€ๆœบ:

text
    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
+    โ”‚                    getLines() ็Šถๆ€ๆœบ                             โ”‚
+    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
+
+            ๅˆๅง‹็Šถๆ€: buffer=undefined, position=0, fieldLength=-1
+
+                โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
+                โ”‚ ๆ–ฐๅญ—่Š‚ๅ—  โ”‚
+                โ””โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”˜
+                      โ”‚
+                โ”Œโ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
+                โ”‚ buffer ๅญ˜ๅœจ?                            โ”‚
+                โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
+                โ”‚   ๅฆ      โ”‚           ๆ˜ฏ               โ”‚
+                โ–ผ           โ–ผ                           โ”‚
+            buffer = arr  buffer = concat(buffer, arr)  โ”‚
+            position = 0                                 โ”‚
+            fieldLength = -1                             โ”‚
+                โ”‚                                        โ”‚
+                โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
+                            โ”‚
+                โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
+                โ”‚  while position < bufLength:           โ”‚
+                โ”‚                                         โ”‚
+                โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚
+                โ”‚  โ”‚ ๅค„็† discardTrailingNewline      โ”‚ โ”‚
+                โ”‚  โ”‚ (่ทณ่ฟ‡ๅ‰ไธ€ไธช \\r ๅŽ้ข็š„ \\n)        โ”‚ โ”‚
+                โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚
+                โ”‚                 โ”‚                       โ”‚
+                โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚
+                โ”‚  โ”‚ ๆŸฅๆ‰พ่กŒๅฐพ (\\r ๆˆ– \\n)               โ”‚ โ”‚
+                โ”‚  โ”‚ ๅŒๆ—ถ่ฎฐๅฝ•็ฌฌไธ€ไธชๅ†’ๅทไฝ็ฝฎ (fieldLength)โ”‚ โ”‚
+                โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚
+                โ”‚                 โ”‚                       โ”‚
+                โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚
+                โ”‚  โ”‚  ๆ‰พๅˆฐ่กŒๅฐพ?                         โ”‚ โ”‚
+                โ”‚  โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค โ”‚
+                โ”‚  โ”‚   ๅฆ      โ”‚           ๆ˜ฏ           โ”‚ โ”‚
+                โ”‚  โ–ผ           โ–ผ                       โ”‚ โ”‚
+                โ”‚  break       onLine(line, fieldLength)โ”‚ โ”‚
+                โ”‚  (็ญ‰ๅพ…ไธ‹ไธ€ๅ—) lineStart = position    โ”‚ โ”‚
+                โ”‚               fieldLength = -1        โ”‚ โ”‚
+                โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚
+                โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
+                                โ”‚
+                โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
+                โ”‚  ๅค„็†ๅ‰ฉไฝ™ buffer:                       โ”‚
+                โ”‚  - ๅ…จ้ƒจๅค„็†ๅฎŒ: buffer = undefined      โ”‚
+                โ”‚  - ้ƒจๅˆ†ๅค„็†: buffer = subarray(lineStart)โ”‚
+                โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

ๆ ธๅฟƒๆ•ฐๆฎๆต่ฝฌๆ—ถๅบ โ€‹

ๆญฃๅธธๆถˆๆฏๆŽฅๆ”ถๆต็จ‹ โ€‹

mermaid
sequenceDiagram
+    participant U as ็”จๆˆทไปฃ็ 
+    participant F as fetchEventSource
+    participant R as Response
+    participant B as getBytes
+    participant L as getLines
+    participant M as getMessages
+    participant C as ็”จๆˆทๅ›ž่ฐƒ
+
+    U->>F: fetchEventSource(url, options)
+    F->>F: create()
+    F->>R: fetch(input, init)
+    R-->>F: Response
+    F->>C: onopen(response)
+    C-->>F: void
+    F->>B: getBytes(response.body, onChunk)
+    loop ๅญ—่Š‚ๆตๅพช็Žฏ
+        B->>B: reader.read()
+        B-->>L: onChunk(arr)
+        loop ่กŒ่งฃๆžๅพช็Žฏ
+            L-->>M: onLine(line, fieldLength)
+            alt ้ž็ฉบ่กŒ
+                M->>M: ่งฃๆžๅญ—ๆฎต (id/event/data/retry)
+            else ็ฉบ่กŒ
+                M-->>C: onmessage(msg)
+                M->>M: ๅˆ›ๅปบๆ–ฐๆถˆๆฏ
+            end
+        end
+    end
+    B-->>F: ๆตๅ…ณ้—ญ
+    F->>C: onclose()
+    F->>F: dispose()
+    F-->>U: resolve()

้‡่ฏ•ๆต็จ‹ โ€‹

mermaid
sequenceDiagram
+    participant U as ็”จๆˆทไปฃ็ 
+    participant F as fetchEventSource
+    participant R as Response
+    participant C as ็”จๆˆทๅ›ž่ฐƒ
+
+    U->>F: fetchEventSource(...)
+    F->>F: create()
+    F->>R: fetch(...)
+
+    alt ่ฏทๆฑ‚ๅคฑ่ดฅ
+        R-->>F: Error
+        F->>C: onerror(err)
+        alt ้œ€่ฆ้‡่ฏ•
+            C-->>F: ่ฟ”ๅ›ž้‡่ฏ•้—ด้š”
+            F->>F: setTimeout(create, interval)
+            Note over F: ็ญ‰ๅพ…ๆŒ‡ๅฎšๆ—ถ้—ดๅŽ้‡่ฏ•
+            F->>F: create()
+            F->>R: fetch(..., Last-Event-ID: id)
+        else ่‡ดๅ‘ฝ้”™่ฏฏ
+            C-->>F: ๆŠ›ๅ‡บๅผ‚ๅธธ
+            F->>F: dispose()
+            F-->>U: reject(err)
+        end
+    else ๅ“ๅบ”ๆˆๅŠŸไฝ†่ฟžๆŽฅๆ–ญๅผ€
+        R-->>F: Response
+        F->>C: onopen()
+        F->>F: ่งฃๆžไบ‹ไปถๆต...
+        F->>C: onclose()
+        F->>C: onerror(undefined)
+        alt ้œ€่ฆ้‡่ฏ•
+            C-->>F: ่ฟ”ๅ›ž้‡่ฏ•้—ด้š”
+            F->>F: setTimeout(create, interval)
+        else ๅœๆญข
+            C-->>F: ๆŠ›ๅ‡บๅผ‚ๅธธ
+            F->>F: dispose()
+            F-->>U: reject()
+        end
+    end

้กต้ขๅฏ่งๆ€งๅ˜ๅŒ–ๆต็จ‹ โ€‹

mermaid
sequenceDiagram
+    participant D as Document
+    participant F as fetchEventSource
+    participant R as Request
+
+    Note over F: openWhenHidden = false (้ป˜่ฎค)
+    F->>D: addEventListener('visibilitychange')
+
+    D->>F: visibilitychange (hidden)
+    F->>F: curRequestController.abort()
+    F->>R: ๅ–ๆถˆ่ฏทๆฑ‚
+
+    D->>F: visibilitychange (visible)
+    F->>F: create()
+    F->>R: fetch(..., Last-Event-ID: id)

ๆŽฅๅฃๅฅ‘็บฆๅฎšไน‰ โ€‹

ๅ…ฌๅ…ฑ API โ€‹

typescript
/**
+ * ๅ‘่ตทไธ€ไธช Server-Sent Events (SSE) ่ฏทๆฑ‚
+ * @param input ่ฏทๆฑ‚ URL ๆˆ– Request ๅฏน่ฑก
+ * @param init ้…็ฝฎ้€‰้กน
+ * @returns Promise,ๅœจ่ฟžๆŽฅๆญฃๅธธๅ…ณ้—ญๆ—ถ resolve,ๅ‡บ้”™ๆ—ถ reject
+ */
+export function fetchEventSource(
+    input: RequestInfo,
+    init: FetchEventSourceInit
+): Promise<void>;
+
+/**
+ * SSE ๅ“ๅบ”็š„ Content-Type
+ */
+export const EventStreamContentType = 'text/event-stream';
+
+/**
+ * ้…็ฝฎ้€‰้กนๆŽฅๅฃ,็ปงๆ‰ฟ่‡ช RequestInit
+ */
+export interface FetchEventSourceInit extends RequestInit {
+    /**
+     * ่ฏทๆฑ‚ๅคด,ไป…ๆ”ฏๆŒ Record<string, string> ๆ ผๅผ
+     */
+    headers?: Record<string, string>;
+
+    /**
+     * ๆ”ถๅˆฐๅ“ๅบ”ๆ—ถ่ฐƒ็”จ,็”จไบŽ้ชŒ่ฏๅ“ๅบ”ๆ˜ฏๅฆ็ฌฆๅˆ้ข„ๆœŸ
+     * ๅฆ‚ๆžœๆœชๆไพ›,้ป˜่ฎค้ชŒ่ฏ content-type ไธบ text/event-stream
+     * @throws ๅฆ‚ๆžœๅ“ๅบ”ไธ็ฌฆๅˆ้ข„ๆœŸ,ๆŠ›ๅ‡บๅผ‚ๅธธ
+     */
+    onopen?: (response: Response) => Promise<void>;
+
+    /**
+     * ๆ”ถๅˆฐๆถˆๆฏๆ—ถ่ฐƒ็”จ
+     * ๆณจๆ„:ไธŽ้ป˜่ฎค EventSource.onmessage ไธๅŒ,ๆญคๅ›ž่ฐƒไผš่ขซๆ‰€ๆœ‰ไบ‹ไปถ่ฐƒ็”จ,
+     * ๅŒ…ๆ‹ฌๅธฆๆœ‰่‡ชๅฎšไน‰ event ๅญ—ๆฎต็š„ไบ‹ไปถ
+     */
+    onmessage?: (ev: EventSourceMessage) => void;
+
+    /**
+     * ๅ“ๅบ”็ป“ๆŸๆ—ถ่ฐƒ็”จ
+     * ๅฆ‚ๆžœไธๆœŸๆœ›ๆœๅŠกๅ™จๅ…ณ้—ญ่ฟžๆŽฅ,ๅฏไปฅๅœจ่ฟ™้‡ŒๆŠ›ๅ‡บๅผ‚ๅธธๅนถ้€š่ฟ‡ onerror ้‡่ฏ•
+     */
+    onclose?: () => void;
+
+    /**
+     * ๅ‘็”Ÿไปปไฝ•้”™่ฏฏๆ—ถ่ฐƒ็”จ(่ฏทๆฑ‚/ๅค„็†ๆถˆๆฏ/ๅ›ž่ฐƒ็ญ‰)
+     * ็”จไบŽๆŽงๅˆถ้‡่ฏ•็ญ–็•ฅ:
+     * - ๅฆ‚ๆžœ้”™่ฏฏๆ˜ฏ่‡ดๅ‘ฝ็š„,ๅœจๅ›ž่ฐƒๅ†…้‡ๆ–ฐๆŠ›ๅ‡บ้”™่ฏฏไปฅๅœๆญขๆ•ดไธชๆ“ไฝœ
+     * - ๅฆๅˆ™,ๅฏไปฅ่ฟ”ๅ›žไธ€ไธช้—ด้š”(ๆฏซ็ง’),่ฏทๆฑ‚ๅฐ†ๅœจ่ฏฅ้—ด้š”ๅŽ่‡ชๅŠจ้‡่ฏ•
+     * - ๅฆ‚ๆžœๆœชๆŒ‡ๅฎšๆญคๅ›ž่ฐƒๆˆ–่ฟ”ๅ›ž undefined,ๆ‰€ๆœ‰้”™่ฏฏ้ƒฝ่ขซ่ง†ไธบๅฏ้‡่ฏ•,1็ง’ๅŽ้‡่ฏ•
+     */
+    onerror?: (err: any) => number | null | undefined | void;
+
+    /**
+     * ๅฆ‚ๆžœไธบ true,ๅณไฝฟๆ–‡ๆกฃ้š่—ไนŸไฟๆŒ่ฏทๆฑ‚ๆ‰“ๅผ€
+     * ้ป˜่ฎคๆƒ…ๅ†ตไธ‹,fetchEventSource ไผšๅœจๆ–‡ๆกฃ้š่—ๆ—ถๅ…ณ้—ญ่ฏทๆฑ‚,
+     * ๅนถๅœจๆ–‡ๆกฃๅ†ๆฌกๅฏ่งๆ—ถ่‡ชๅŠจ้‡ๆ–ฐๆ‰“ๅผ€
+     */
+    openWhenHidden?: boolean;
+
+    /**
+     * ไฝฟ็”จ็š„ Fetch ๅ‡ฝๆ•ฐ,้ป˜่ฎคไธบ window.fetch
+     */
+    fetch?: typeof fetch;
+}
+
+/**
+ * ่กจ็คบไบ‹ไปถๆตไธญ็š„ไธ€ๆกๆถˆๆฏ
+ * https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events#Event_stream_format
+ */
+export interface EventSourceMessage {
+    /** ่ฆ่ฎพ็ฝฎๅˆฐ EventSource ๅฏน่ฑก็š„ๆœ€ๅŽไบ‹ไปถ ID ๅ€ผ็š„ไบ‹ไปถ ID */
+    id: string;
+    /** ๆ ‡่ฏ†ๆ‰€ๆ่ฟฐไบ‹ไปถ็ฑปๅž‹็š„ๅญ—็ฌฆไธฒ */
+    event: string;
+    /** ไบ‹ไปถๆ•ฐๆฎ */
+    data: string;
+    /** ้‡่ฏ•่ฟžๆŽฅๅ‰็ญ‰ๅพ…็š„้‡่ฟž้—ด้š”(ๆฏซ็ง’) */
+    retry?: number;
+}

ๅ†…้ƒจ่งฃๆž API โ€‹

typescript
/**
+ * ๅฐ† ReadableStream ่ฝฌๆขไธบๅ›ž่ฐƒๆจกๅผ
+ * @param stream ่พ“ๅ…ฅ ReadableStream
+ * @param onChunk ๅฏนๆฏไธชๆ–ฐๅญ—่Š‚ๅ—่ฐƒ็”จ็š„ๅ‡ฝๆ•ฐ
+ * @returns Promise,ๅœจๆตๅ…ณ้—ญๆ—ถ resolve
+ */
+export async function getBytes(
+    stream: ReadableStream<Uint8Array>,
+    onChunk: (arr: Uint8Array) => void
+): Promise<void>;
+
+/**
+ * ่งฃๆžไปปๆ„ๅญ—่Š‚ๅ—ไธบ EventSource ่กŒ็ผ“ๅ†ฒ
+ * ๆฏ่กŒๆ ผๅผๅบ”ไธบ "field: value",ไปฅ \\rใ€\\n ๆˆ– \\r\\n ็ป“ๅฐพ
+ * @param onLine ๅฏนๆฏไธชๆ–ฐ EventSource ่กŒ่ฐƒ็”จ็š„ๅ‡ฝๆ•ฐ
+ * @returns ๅบ”่ฏฅๅฏนๆฏไธช่พ“ๅ…ฅๅญ—่Š‚ๅ—่ฐƒ็”จ็š„ๅ‡ฝๆ•ฐ
+ */
+export function getLines(
+    onLine: (line: Uint8Array, fieldLength: number) => void
+): (arr: Uint8Array) => void;
+
+/**
+ * ่งฃๆž่กŒ็ผ“ๅ†ฒไธบ EventSourceMessages
+ * @param onId ๅฏนๆฏไธช id ๅญ—ๆฎต่ฐƒ็”จ็š„ๅ‡ฝๆ•ฐ
+ * @param onRetry ๅฏนๆฏไธช retry ๅญ—ๆฎต่ฐƒ็”จ็š„ๅ‡ฝๆ•ฐ
+ * @param onMessage ๅฏนๆฏๆกๆถˆๆฏ่ฐƒ็”จ็š„ๅ‡ฝๆ•ฐ
+ * @returns ๅบ”่ฏฅๅฏนๆฏไธช่พ“ๅ…ฅ่กŒ็ผ“ๅ†ฒ่ฐƒ็”จ็š„ๅ‡ฝๆ•ฐ
+ */
+export function getMessages(
+    onId: (id: string) => void,
+    onRetry: (retry: number) => void,
+    onMessage?: (msg: EventSourceMessage) => void
+): (line: Uint8Array, fieldLength: number) => void;
`,74)])])}const g=a(l,[["render",e]]);export{E as __pageData,g as default}; diff --git "a/assets/31.\345\274\200\346\272\220\346\264\236\345\257\237_01.fetch-event-source \346\272\220\347\240\201\350\247\243\350\257\273.md.BP_UYyAh.lean.js" "b/assets/31.\345\274\200\346\272\220\346\264\236\345\257\237_01.fetch-event-source \346\272\220\347\240\201\350\247\243\350\257\273.md.BP_UYyAh.lean.js" new file mode 100644 index 00000000..5e7b47b6 --- /dev/null +++ "b/assets/31.\345\274\200\346\272\220\346\264\236\345\257\237_01.fetch-event-source \346\272\220\347\240\201\350\247\243\350\257\273.md.BP_UYyAh.lean.js" @@ -0,0 +1 @@ +import{_ as a,g as n,h as i,U as p}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const E=JSON.parse('{"title":"fetch-event-source ๆบ็ ่งฃ่ฏป","description":"","frontmatter":{"date":"2026-04-10T14:43:09.000Z","title":"fetch-event-source ๆบ็ ่งฃ่ฏป","categories":["ๅผ€ๆบๆดžๅฏŸ"],"permalink":"/repo-insight/fetch-event-source"},"headers":[],"relativePath":"31.ๅผ€ๆบๆดžๅฏŸ/01.fetch-event-source ๆบ็ ่งฃ่ฏป.md","filePath":"31.ๅผ€ๆบๆดžๅฏŸ/01.fetch-event-source ๆบ็ ่งฃ่ฏป.md"}'),l={name:"31.ๅผ€ๆบๆดžๅฏŸ/01.fetch-event-source ๆบ็ ่งฃ่ฏป.md"};function e(t,s,h,r,k,d){return i(),n("div",null,[...s[0]||(s[0]=[p("",74)])])}const g=a(l,[["render",e]]);export{E as __pageData,g as default}; diff --git "a/assets/40.\345\205\263\344\272\216_01.\345\205\263\344\272\216\346\210\221.md.BzNDwyw3.js" "b/assets/40.\345\205\263\344\272\216_01.\345\205\263\344\272\216\346\210\221.md.CkzMieuF.js" similarity index 99% rename from "assets/40.\345\205\263\344\272\216_01.\345\205\263\344\272\216\346\210\221.md.BzNDwyw3.js" rename to "assets/40.\345\205\263\344\272\216_01.\345\205\263\344\272\216\346\210\221.md.CkzMieuF.js" index 4fa1e118..f26dbc1a 100644 --- "a/assets/40.\345\205\263\344\272\216_01.\345\205\263\344\272\216\346\210\221.md.BzNDwyw3.js" +++ "b/assets/40.\345\205\263\344\272\216_01.\345\205\263\344\272\216\346\210\221.md.CkzMieuF.js" @@ -1 +1 @@ -import{_ as t,g as s,h as n,U as o}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const e="/img/cover/about_site_bg.png",g=JSON.parse('{"title":"ๅ…ณไบŽๆˆ‘","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšไปŽ Tech Stack ๅˆฐ Insight Stack๏ผŒๅฝ“ AI ๆŽฅ็ฎกไบ†ๅฎž็Žฐ๏ผŒๆˆ‘ๆ›ดๅ…ณๆณจๆžถๆž„็š„ๆƒ่กกไธŽไบงๅ“็š„ไปทๅ€ผ๏ผŒไธ“ๆณจ๏ผšๅทฅ็จ‹ๅŒ– Spec ไธŽ AI ็ผ–็จ‹็ฃจๅˆ็š„ๅฎž่ทต | Agent ่ฝๅœฐ | ็‹ฌ็ซ‹ไบงๅ“ใ€‚","frontmatter":{"date":"2025-08-29T09:40:53.000Z","title":"ๅ…ณไบŽๆˆ‘","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšไปŽ Tech Stack ๅˆฐ Insight Stack๏ผŒๅฝ“ AI ๆŽฅ็ฎกไบ†ๅฎž็Žฐ๏ผŒๆˆ‘ๆ›ดๅ…ณๆณจๆžถๆž„็š„ๆƒ่กกไธŽไบงๅ“็š„ไปทๅ€ผ๏ผŒไธ“ๆณจ๏ผšๅทฅ็จ‹ๅŒ– Spec ไธŽ AI ็ผ–็จ‹็ฃจๅˆ็š„ๅฎž่ทต | Agent ่ฝๅœฐ | ็‹ฌ็ซ‹ไบงๅ“ใ€‚","coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/about_me_chinese.png","permalink":"/about/me","categories":["ๅ…ณไบŽ"]},"headers":[],"relativePath":"40.ๅ…ณไบŽ/01.ๅ…ณไบŽๆˆ‘.md","filePath":"40.ๅ…ณไบŽ/01.ๅ…ณไบŽๆˆ‘.md"}'),r={name:"40.ๅ…ณไบŽ/01.ๅ…ณไบŽๆˆ‘.md"};function m(i,a,l,p,c,d){return n(),s("div",null,[...a[0]||(a[0]=[o('

ๅ…ณไบŽๆˆ‘ โ€‹

ๆˆ‘ๆ˜ฏ่ฐ โ€‹

ๆˆ‘ๆ˜ฏไธ€ๅๆ‹ฅๆœ‰ๅ…จๆ ˆ่ƒŒๆ™ฏ็š„ๅผ€ๅ‘่€…, ๆŠ€ๆœฏๅบ•่‰ฒๆบไบŽๅทฅไฝœๅ‡ ๅนดๅŽ็งฏ็ดฏไบ†่พƒไธบๆ‰Žๅฎž็š„ๅทฅ็จ‹ๅŒ–ๅฎž่ทตโ€”โ€”ไปŽๅŸบ็ก€็š„ Web ๅ‰็ซฏๅˆฐๅคๆ‚็š„่ทจๅนณๅฐๅฐ็จ‹ๅบๅŸบ็ก€ๆก†ๆžถ็š„ๆžถๆž„ๅ‡็บง๏ผŒๅ†ๅˆฐๅŸบไบŽ NodeJS ็š„ๆœๅŠก็ซฏๅผ€ๅ‘๏ผŒ่ฟ™ไบ›็ปๅކ้”ป็‚ผไบ†ๆˆ‘ๅฏน็ณป็ปŸๅคๆ‚ๅบฆ็š„ๆŽŒๆŽงๅŠ›ใ€ๅทฅ็จ‹ๅŒ–่ƒฝๅŠ›ไปฅๅŠ้กน็›ฎๆŽจๅŠจไธŽๅ›ข้˜Ÿๅˆไฝœ็š„่ƒฝๅŠ›ใ€‚

่‡ช 2023 ๅนด LLM ๆตชๆฝฎๆถŒ็Žฐไปฅๆฅ๏ผŒๆˆ‘ๆทฑๅบฆๆŠ•่บซไบŽ AI ็›ธๅ…ณ็š„ๆŠ€ๆœฏๆŽข็ดขใ€‚ๅœจๅทฅไฝœไธŽไธšไฝ™้กน็›ฎไธญ๏ผŒไธปๅฏผๆˆ–ๅ‚ไธŽไบ†ๅคšไธชๅŸบไบŽๅคงๆจกๅž‹็š„ๅบ”็”จ่ฝๅœฐ๏ผŒ็งฏ็ดฏไบ†ไปŽ Prompt ่ฐƒไผ˜ๅˆฐ Agentic Workflow ็ผ–ๆŽ’็š„ไธ€็บฟ็ป้ชŒ๏ผŒไนŸๅคšๆฌกๅ‚ๅŠ ไบ†ๅ›ฝๅ†… AI ็คพๅŒบ็›ธๅ…ณ็š„ๆŠ€ๆœฏๅˆ†ไบซไธŽไบคๆตๆดปๅŠจ๏ผŒไบ†่งฃไบ† AI ้ข†ๅŸŸๆœ€ๆ–ฐ็š„ๆŠ€ๆœฏ่ถ‹ๅŠฟไธŽๅฎž่ทตใ€‚

Insight Stack = Engineering Logic ร— Product Sense ร— AI Force

็›ฎๅ‰๏ผŒๆˆ‘ไธป่ฆๅœจๆŠ˜่…พๅ’Œๅฎž่ทตไปฅไธ‹ๅ‡ ไธชๆ–นๅ‘๏ผš

  • ๅทฅ็จ‹ๅŒ– Spec ไธŽ AI ็ผ–็จ‹็ฃจๅˆ็š„ๅฎž่ทต๏ผšๆ‘ธ็ดข Vibe Coding ๅœจๅคๆ‚ไธšๅŠกไธญ็š„่พน็•Œ๏ผŒ้’ˆๅฏน AI ็”Ÿๆˆไปฃ็ "ๆ˜“่…็ƒ‚ใ€่‡ƒ่‚ฟ"ไธ”"่ฐƒ่ฏ•้šพๅบฆๅ€’ๆŒ‚"็š„็—›็‚น๏ผŒๅฐ่ฏ•ๅฐ†SDD (่ง„่Œƒ้ฉฑๅŠจๅผ€ๅ‘)่Œƒๅผๆณจๅ…ฅๅˆฐ็”Ÿๆˆๆตใ€‚ๅˆฉ็”จ OpenSpec ็ญ‰ๅทฅๅ…ท็กฎ็ซ‹ๅทฅ็จ‹็บฆๆŸ๏ผŒๆฅ่งฃๅ†ณ็”Ÿๆˆไปฃ็ ็š„ๅฏ็ปดๆŠคๆ€ง้šพ้ข˜๏ผŒไปŽ่€Œ่ทจ่ถŠ"ไปŽ Demo ๅˆฐ็”Ÿไบง็บง็ณป็ปŸ"็š„้ธฟๆฒŸใ€‚
  • Agentic Workflow ๅฎž่ทต๏ผšไธ่ฟฝๆฑ‚ๅคๆ‚็š„็†่ฎบ๏ผŒ่€Œๆ˜ฏๅœจๅฎž้™…ๅœบๆ™ฏไธญๆต‹่ฏ•ๆ™บ่ƒฝไฝ“ๅทฅไฝœๆต็š„่พน็•Œ๏ผŒ็œ‹็œ‹ๅฆ‚ไฝ•ๆŠŠ AI ็œŸๆญฃ่žๅ…ฅๅˆฐไปฃ็ ็ผ–ๅ†™ใ€ๅ†…ๅฎนๅˆ›ไฝœ็ญ‰ๆต็จ‹ไธญๅŽปใ€‚
  • ๅˆ›ๆ„่ฝๅœฐไธŽๅฐไบงๅ“ๅผ€ๅ‘๏ผšไปฅๅ…จๆ ˆๆŠ€ๆœฏไธบๆ‰‹ๆฎต๏ผŒๅฐ่ฏ•ๅฐ†่‡ชๅทฑ็š„ๆƒณๆณ•่ฝฌๅŒ–ไธบ"ๅฐ่€Œ็พŽ"็š„็‹ฌ็ซ‹ไฝœๅ“๏ผŒๅœจๅฎž่ทตไธญๆ‰“็ฃจไบงๅ“ๆ€็ปด๏ผˆProduct Sense๏ผ‰ใ€‚

ๆˆ‘็š„่ฎค็Ÿฅ่ฟญไปฃ โ€‹

ๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒๆˆ‘ๅ’Œๅคงๅคšๆ•ฐๅผ€ๅ‘่€…ไธ€ๆ ท๏ผŒ่ฎคไธบ"ๅ…จๆ ˆ"ๅฐฑๆ˜ฏๆ”ถ้›†ๆ›ดๅคš็š„ๆŠ€ๆœฏๅพฝ็ซ ๏ผšไปŽ React ๅˆฐ NestJS๏ผŒไปŽ Python ๅˆฐ Rustใ€‚ๆˆ‘ๆ›พไปฅไธบๆŠ€ๆœฏ็š„ๅนฟๅบฆใ€ๆ‰Žๅฎž็š„ๅทฅ็จ‹ๅŒ–่ƒฝๅŠ›ๅฐฑๆ˜ฏๆŠคๅŸŽๆฒณใ€‚

ไฝ†ๅœจ AI ้‡ๆž„ไปฃ็ ็”Ÿไบงๆ–นๅผไธŽ็ผ–็จ‹่Œƒๅผ็š„ไปŠๅคฉ๏ผŒๆˆ‘ๆ„่ฏ†ๅˆฐ่ง„ๅˆ™ๅ˜ไบ†ใ€‚็Žฐๅœจ็š„ๆˆ‘๏ผŒไธๅ†ๆ‰ง็€ไบŽๆ‰‹้‡Œๆœ‰ๅคšๅฐ‘ๆŠŠ้”คๅญ๏ผŒ่€Œๆ›ดๅ…ณๆณจ่ƒฝๆž„ๅปบๅ‡บๆ€Žๆ ท็š„ๅปบ็ญ‘๏ผŒไนŸๆ›ดๆ„ฟๆ„ๅฐ†่‡ชๅทฑๅฎšไน‰ไธบไธ€ไธช "Product Engineer" (ไบงๅ“ๅž‹ๅทฅ็จ‹ๅธˆ) ๅ’Œ "AI-Augmented Builder" (AI ๅขžๅผบๅž‹ๆž„ๅปบ่€…)ใ€‚

ๅœจ่ฟ™ไธชๅšๅฎข Insight Stack ไธญ๏ผŒ่ฎฐๅฝ•ไบ†ๆˆ‘ๅฏนๆŠ€ๆœฏ่ง’่‰ฒ็š„้‡ๆ–ฐๆ€่€ƒ๏ผŒๆˆ‘็›ธไฟกๆœชๆฅ็š„ๅ…จๆ ˆไธๅ†ๆ˜ฏ็บฟๆ€ง็š„ๆŠ€่ƒฝๅ †ๅ ๏ผŒ่€Œๆ˜ฏไธ€ไธชๆ–ฐ็š„ๅ…จๆ ˆไปทๅ€ผๅ…ฌๅผ๏ผš

Fullย Stack=(Engineering+Product)ร—AI\\mathbf{Full\\ Stack} \\; = \\; (\\mathbf{Engineering} \\; + \\; \\mathbf{Product}) \\; \\times \\; \\mathbf{AI}

  • Engineering (ๅทฅ็จ‹ๅŠ›)โ€”โ€”ๅšๅฎž็š„ๅŸบ็Ÿณ๏ผšๅทฅ็จ‹ๅŠ›ไปŽ"ไปฃ็ ่ฎพ่ฎกไธŽๅฎž็Žฐ (How)"่ฟ็งป่‡ณ "ๆžถๆž„ไบคไป˜ (What & Why)"ใ€‚ๅฝ“ AI ๆŽฅ็ฎกไบ†ๆ ทๆฟไปฃ็ ๏ผŒๅทฅ็จ‹ๅธˆ็š„ไปทๅ€ผไฝ“็Žฐไธบๆžถๆž„ๅ†ณ็ญ–็š„ๆƒ่กกใ€ๅคๆ‚้€ป่พ‘็š„ๅฎก่ฎกไธŽ้ชŒๆ”ถ๏ผŒไปฅๅŠๆž„ๅปบไปŽ Localhost ๅˆฐ Production ็š„่‡ชๅŠจๅŒ–ไบคไป˜ไฝ“็ณปใ€‚
  • Product (ไบงๅ“ๅŠ›)โ€”โ€”ไปทๅ€ผ็š„ๆŒ‡ๅผ•๏ผšไบงๅ“ๅŠ›ไฝœไธบๅทฅ็จ‹ๅŠ›็š„ๆ–นๅ‘็›˜๏ผŒๅ…ทๅค‡ "ๅŒ็†ๅฟƒ" ไธŽ "MVP ๆ€็ปด"ใ€‚่ฟ™ๆ„ๅ‘ณ็€่ทณๅ‡บๆŠ€ๆœฏ่‡ชๅ—จ๏ผŒ็ฒพๅ‡†ๆ•ๆ‰็”จๆˆท็š„็œŸๅฎž็—›็‚น๏ผŒ่ฎก็ฎ—ไฝ“้ชŒ ROI๏ผŒๆ•้”ๅœฐ่ฏ†ๅˆซๅนถๅฎž็Žฐ้‚ฃไบ› "ไฝŽๆˆๆœฌ้ซ˜ไปทๅ€ผ" ็š„ๅ…ณ้”ฎ็‰นๆ€ง๏ผŒๆ‹’็ป็›ฒ็›ฎ็š„่ฟ‡ๅบฆ่ฎพ่ฎกใ€‚
  • AI (AI ๆ ๆ†)โ€”โ€”ๆŒ‡ๆ•ฐ็บงๅ€ๅขžๅ™จ๏ผšAI ไธไป…ไป…ๆ˜ฏๅทฅๅ…ท๏ผŒๆ›ดๆ˜ฏ่ฎฉไธชไบบ่ƒฝๅŠ›ไบง็”Ÿ็ˆ†็‚ธๅผๅขž้•ฟ็š„ ไน˜ๆ•ฐใ€‚ๅฎƒ้€š่ฟ‡ Context Engineering ๆŠนๅนณไบ†ๅ‰ๅŽ็ซฏ็š„ๆŠ€ๆœฏ้—จๆง›๏ผˆๆŠ€่ƒฝ่กฅๅ…จ๏ผ‰๏ผŒๅนถๅฐ†ไปŽ Idea ๅˆฐ Demo ็š„ๅ‘จๆœŸไปŽๆ•ฐๅ‘จๅŽ‹็ผฉ่‡ณๆ•ฐๅฐๆ—ถ๏ผˆๆ—ถ้—ดๅŽ‹็ผฉ๏ผ‰๏ผŒ่ฎฉ "่ถ…็บงไธชไฝ“" ๆˆไธบๅฏ่ƒฝใ€‚

ๅฆ‚ๆžœไฝ ๅฏน่ฟ™ไบ›ๆ€่€ƒๆ„Ÿๅ…ด่ถฃ๏ผŒๆŽจ่้˜…่ฏปๆˆ‘็š„ไธค็ฏ‡ๆ ธๅฟƒๆ–‡็ซ ๏ผš

ๅ…ณไบŽๆœฌ็ซ™ โ€‹

Insight Stack ๆ˜ฏๆˆ‘็š„ๆ•ฐๅญ—่Šฑๅ›ญ๏ผŒไนŸๆ˜ฏๆˆ‘่ทต่กŒไธŠ่ฟฐ็†ๅฟต็š„ๅฎž้ชŒๅœบไน‹ไธ€ใ€‚ๆˆ‘ๆŠŠๅฎƒๅฎšไน‰ไธบ "ไธ€ไธชๆŽข็ดขๅ…จๆ ˆๅทฅ็จ‹ใ€ไบงๅ“ๆ€็ปดไธŽ LLM ไบคๅ‰้ข†ๅŸŸ็š„ๆ•ฐๅญ—่Šฑๅ›ญ"ใ€‚

่ฟ™้‡Œ็š„ Stack ๆœ‰ไธคๅฑ‚ๅซไน‰๏ผš

  • Tech Stack๏ผš็กฌๆ ธ็š„ๆŠ€ๆœฏ็งฏ็ดฏไธŽๅทฅ็จ‹ๅฎž่ทตใ€‚
  • Insight Stack๏ผš่ฝฏๆ€ง็š„ๆ€็ปดๆจกๅž‹ไธŽไบงๅ“ๆดžๅฏŸใ€‚

ๆˆ‘ไธๅธŒๆœ›่ฟ™้‡Œๅชๆ˜ฏๆžฏ็‡ฅ็š„ไปฃ็ ็‰‡ๆฎตๆˆ–็ฎ€ๅ•็š„ๆŠ€ๆœฏๅˆ†ไบซไธŽๆ€ป็ป“๏ผŒๆˆ‘ๅธŒๆœ›ไฝ ็œ‹ๅˆฐ็š„ๆ˜ฏไธ€ไธชๅทฅ็จ‹ๅธˆๅฏน LLM ่ฝๅœฐ่ทฏๅพ„็š„็œŸๅฎžๆŽข็ดข๏ผŒๅฏน ไบงๅ“ Sense ่ฟ™ไธ€ๆ ธๅฟƒ่ƒฝๅŠ›็š„ๆทฑๅบฆๅค็›˜๏ผŒไปฅๅŠไธชไบบๅœจๆŠ€ๆœฏๆตชๆฝฎไธญ็š„ๆˆ้•ฟ่ฎฐๅฝ•ใ€‚

ๅ€ผๅพ—ไธ€ๆ็š„ๆ˜ฏ๏ผŒๆœฌ็ซ™ไนŸๆ˜ฏไบบๆœบๅไฝœ๏ผˆHuman-AI Collaboration๏ผ‰็š„ไบง็‰ฉใ€‚ ๅœจๆ–‡็ซ ็š„ๆž„ๆ€ไธŽๆถฆ่‰ฒ่ฟ‡็จ‹ไธญ๏ผŒๆˆ‘ๆทฑๅบฆไฝฟ็”จไบ† Gemini/Claude ็ญ‰ๆจกๅž‹ไฝœไธบ"ไธป่ฆ้…่ง’"ใ€‚ๆˆ‘็ปๅธธไธŽๅฎƒไปฌๅ‘่ตทๆฟ€็ƒˆ็š„"่พฉ่ฎบ"๏ผŒๅˆฉ็”จ AI ๆฅๆ‰“็ ดๆ€็ปด็›ฒๅŒบใ€‚ๆˆ‘่ฎคไธบ๏ผŒ่ƒฝๅคŸ็†Ÿ็ปƒๅœฐไธŽ AI ๅ…ฑ่ˆž๏ผŒๅฐ†ๆ˜ฏๆ–ฐไธ€ไปฃๅทฅ็จ‹ๅธˆๆœ€ๆ ธๅฟƒ็š„ๅ…ƒ่ƒฝๅŠ›ใ€‚

ๅฝ“็„ถ๏ผŒไธ€ไบ›ๆ–‡็ซ ๅœจๆ’ฐๅ†™่ฟ‡็จ‹ไธญ๏ผŒๆˆ‘ไนŸๅบ”็”จไบ† AI๏ผŒ็”š่‡ณ็”จ Gemini3 Pro/Claude ๆฅ่พ…ๅŠฉๆˆ‘ๅˆ›ไฝœ๏ผŒๅนถๅ‘่ตท่ฟ‡ไธๅฐ‘"ไบบๆœบ่พฉ่ฎบ"ใ€‚ๅ› ไธบๆˆ‘่ฎคไธบ๏ผŒAI ๅฏไปฅๅธฎๅŠฉๆˆ‘ไปฌๆ›ดๅฟซใ€ๆ›ดๅ‡†็กฎๅœฐ่กจ่พพ่‡ชๅทฑ็š„ๆ€ๆƒณ๏ผŒไนŸๅฏไปฅๅธฎๅŠฉๆˆ‘ไปฌๅ‘็Žฐๆ–ฐ็š„่ง’ๅบฆใ€ๆ–ฐ็š„่งฃๅ†ณๆ–นๆกˆใ€‚

โค๏ธ ่‡ด่ฐข โ€‹

Insight Stack Blog ๅšๅฎข็ซ™็‚นไธป่ฆๅŸบไบŽ VitePress ๅ’Œ vitepress-theme-teek ๆญๅปบ่€Œๆˆใ€‚

about site background

็‰นๅˆซๆ„Ÿ่ฐขๅผ€ๆบ็คพๅŒบ่ต‹ไบˆๆˆ‘ไปฌๅฆ‚ๆญคๅผบๅคง็š„ๅทฅๅ…ท๏ผŒ่ฎฉๆˆ‘่ƒฝๅฐ†็ฒพๅŠ›่š็„ฆไบŽๅ†…ๅฎน็š„ๅˆ›ไฝœ๏ผŒ่€Œ้ž้‡ๅค้€ ่ฝฎๅญใ€‚ๆœฌ็ซ™็š„ๆ ธๅฟƒๆžถๆž„ๅŸบไบŽไปฅไธ‹ไผ˜็ง€้กน็›ฎๆž„ๅปบ๏ผš

  • Core: VitePress๏ผŒ็”ฑ Vite & Vue ้ฉฑๅŠจ็š„ๆž้€Ÿ้™ๆ€็ฝ‘็ซ™็”Ÿๆˆๅ™จ๏ผŒๆไพ›ไบ†ๅ“่ถŠ็š„ๅผ€ๅ‘่€…ไฝ“้ชŒ (DX) ๅ’Œๆž่‡ด็š„ๆ€ง่ƒฝใ€‚
  • Theme: vitepress-theme-teek๏ผŒไธ€ไธชไธ“ๆณจไบŽ้˜…่ฏปไฝ“้ชŒ็š„ VitePress ่‡ชๅฎšไน‰ไธป้ข˜๏ผŒๅ…ถ็ฎ€็บฆ็š„่ฎพ่ฎก็†ๅฟตไธŽๆœฌ็ซ™"ๆณจ้‡ๅ†…ๅฎน"็š„ๅˆ่กทไธ่ฐ‹่€Œๅˆใ€‚

่ฟžๆŽฅไธŽไบคๆต โ€‹

ๆœ€ๅฅฝ็š„ๅญฆไน ๆ˜ฏๅ…ฌๅผ€ๅˆ†ไบซ๏ผŒๆœ€ๅฟซ็š„ๆˆ้•ฟๆ˜ฏไธŽไผ˜็ง€่€…ๅŒ่กŒใ€‚ๆ— ่ฎบๆ˜ฏๆŽข่ฎจๅ…จๆ ˆใ€AI ็ผ–็จ‹ไธŽๅบ”็”จใ€Agent ่ฝๅœฐ๏ผŒ่ฟ˜ๆ˜ฏไบคๆตไบงๅ“ๅฟƒๅพ—๏ผŒ้ƒฝ้žๅธธๆฌข่ฟŽไฝ ่”็ณปๆˆ‘~

NOTE

่”็ณปๆ–นๅผ

  • ๐Ÿ’ฌ ๅพฎไฟก๏ผšhfutsqliang (่ฏทๅค‡ๆณจ๏ผšInsight Stack ๅ’Œไฝ ็š„ๅง“ๅ)
  • ๐Ÿ“ฎ ้‚ฎ็ฎฑ๏ผš
    • hfutsqliang@qq.com
    • hfutsqliang@gmail.com
  • ๐Ÿ”— Github๏ผšhttps://github.com/sqliang
',31)])])}const u=t(r,[["render",m]]);export{g as __pageData,u as default}; +import{_ as t,g as s,h as n,U as o}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const e="/img/cover/about_site_bg.png",g=JSON.parse('{"title":"ๅ…ณไบŽๆˆ‘","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšไปŽ Tech Stack ๅˆฐ Insight Stack๏ผŒๅฝ“ AI ๆŽฅ็ฎกไบ†ๅฎž็Žฐ๏ผŒๆˆ‘ๆ›ดๅ…ณๆณจๆžถๆž„็š„ๆƒ่กกไธŽไบงๅ“็š„ไปทๅ€ผ๏ผŒไธ“ๆณจ๏ผšๅทฅ็จ‹ๅŒ– Spec ไธŽ AI ็ผ–็จ‹็ฃจๅˆ็š„ๅฎž่ทต | Agent ่ฝๅœฐ | ็‹ฌ็ซ‹ไบงๅ“ใ€‚","frontmatter":{"date":"2025-08-29T09:40:53.000Z","title":"ๅ…ณไบŽๆˆ‘","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšไปŽ Tech Stack ๅˆฐ Insight Stack๏ผŒๅฝ“ AI ๆŽฅ็ฎกไบ†ๅฎž็Žฐ๏ผŒๆˆ‘ๆ›ดๅ…ณๆณจๆžถๆž„็š„ๆƒ่กกไธŽไบงๅ“็š„ไปทๅ€ผ๏ผŒไธ“ๆณจ๏ผšๅทฅ็จ‹ๅŒ– Spec ไธŽ AI ็ผ–็จ‹็ฃจๅˆ็š„ๅฎž่ทต | Agent ่ฝๅœฐ | ็‹ฌ็ซ‹ไบงๅ“ใ€‚","coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/about_me_chinese.png","permalink":"/about/me","categories":["ๅ…ณไบŽ"]},"headers":[],"relativePath":"40.ๅ…ณไบŽ/01.ๅ…ณไบŽๆˆ‘.md","filePath":"40.ๅ…ณไบŽ/01.ๅ…ณไบŽๆˆ‘.md"}'),r={name:"40.ๅ…ณไบŽ/01.ๅ…ณไบŽๆˆ‘.md"};function m(i,a,l,p,c,d){return n(),s("div",null,[...a[0]||(a[0]=[o('

ๅ…ณไบŽๆˆ‘ โ€‹

ๆˆ‘ๆ˜ฏ่ฐ โ€‹

ๆˆ‘ๆ˜ฏไธ€ๅๆ‹ฅๆœ‰ๅ…จๆ ˆ่ƒŒๆ™ฏ็š„ๅผ€ๅ‘่€…, ๆŠ€ๆœฏๅบ•่‰ฒๆบไบŽๅทฅไฝœๅ‡ ๅนดๅŽ็งฏ็ดฏไบ†่พƒไธบๆ‰Žๅฎž็š„ๅทฅ็จ‹ๅŒ–ๅฎž่ทตโ€”โ€”ไปŽๅŸบ็ก€็š„ Web ๅ‰็ซฏๅˆฐๅคๆ‚็š„่ทจๅนณๅฐๅฐ็จ‹ๅบๅŸบ็ก€ๆก†ๆžถ็š„ๆžถๆž„ๅ‡็บง๏ผŒๅ†ๅˆฐๅŸบไบŽ NodeJS ็š„ๆœๅŠก็ซฏๅผ€ๅ‘๏ผŒ่ฟ™ไบ›็ปๅކ้”ป็‚ผไบ†ๆˆ‘ๅฏน็ณป็ปŸๅคๆ‚ๅบฆ็š„ๆŽŒๆŽงๅŠ›ใ€ๅทฅ็จ‹ๅŒ–่ƒฝๅŠ›ไปฅๅŠ้กน็›ฎๆŽจๅŠจไธŽๅ›ข้˜Ÿๅˆไฝœ็š„่ƒฝๅŠ›ใ€‚

่‡ช 2023 ๅนด LLM ๆตชๆฝฎๆถŒ็Žฐไปฅๆฅ๏ผŒๆˆ‘ๆทฑๅบฆๆŠ•่บซไบŽ AI ็›ธๅ…ณ็š„ๆŠ€ๆœฏๆŽข็ดขใ€‚ๅœจๅทฅไฝœไธŽไธšไฝ™้กน็›ฎไธญ๏ผŒไธปๅฏผๆˆ–ๅ‚ไธŽไบ†ๅคšไธชๅŸบไบŽๅคงๆจกๅž‹็š„ๅบ”็”จ่ฝๅœฐ๏ผŒ็งฏ็ดฏไบ†ไปŽ Prompt ่ฐƒไผ˜ๅˆฐ Agentic Workflow ็ผ–ๆŽ’็š„ไธ€็บฟ็ป้ชŒ๏ผŒไนŸๅคšๆฌกๅ‚ๅŠ ไบ†ๅ›ฝๅ†… AI ็คพๅŒบ็›ธๅ…ณ็š„ๆŠ€ๆœฏๅˆ†ไบซไธŽไบคๆตๆดปๅŠจ๏ผŒไบ†่งฃไบ† AI ้ข†ๅŸŸๆœ€ๆ–ฐ็š„ๆŠ€ๆœฏ่ถ‹ๅŠฟไธŽๅฎž่ทตใ€‚

Insight Stack = Engineering Logic ร— Product Sense ร— AI Force

็›ฎๅ‰๏ผŒๆˆ‘ไธป่ฆๅœจๆŠ˜่…พๅ’Œๅฎž่ทตไปฅไธ‹ๅ‡ ไธชๆ–นๅ‘๏ผš

  • ๅทฅ็จ‹ๅŒ– Spec ไธŽ AI ็ผ–็จ‹็ฃจๅˆ็š„ๅฎž่ทต๏ผšๆ‘ธ็ดข Vibe Coding ๅœจๅคๆ‚ไธšๅŠกไธญ็š„่พน็•Œ๏ผŒ้’ˆๅฏน AI ็”Ÿๆˆไปฃ็ "ๆ˜“่…็ƒ‚ใ€่‡ƒ่‚ฟ"ไธ”"่ฐƒ่ฏ•้šพๅบฆๅ€’ๆŒ‚"็š„็—›็‚น๏ผŒๅฐ่ฏ•ๅฐ†SDD (่ง„่Œƒ้ฉฑๅŠจๅผ€ๅ‘)่Œƒๅผๆณจๅ…ฅๅˆฐ็”Ÿๆˆๆตใ€‚ๅˆฉ็”จ OpenSpec ็ญ‰ๅทฅๅ…ท็กฎ็ซ‹ๅทฅ็จ‹็บฆๆŸ๏ผŒๆฅ่งฃๅ†ณ็”Ÿๆˆไปฃ็ ็š„ๅฏ็ปดๆŠคๆ€ง้šพ้ข˜๏ผŒไปŽ่€Œ่ทจ่ถŠ"ไปŽ Demo ๅˆฐ็”Ÿไบง็บง็ณป็ปŸ"็š„้ธฟๆฒŸใ€‚
  • Agentic Workflow ๅฎž่ทต๏ผšไธ่ฟฝๆฑ‚ๅคๆ‚็š„็†่ฎบ๏ผŒ่€Œๆ˜ฏๅœจๅฎž้™…ๅœบๆ™ฏไธญๆต‹่ฏ•ๆ™บ่ƒฝไฝ“ๅทฅไฝœๆต็š„่พน็•Œ๏ผŒ็œ‹็œ‹ๅฆ‚ไฝ•ๆŠŠ AI ็œŸๆญฃ่žๅ…ฅๅˆฐไปฃ็ ็ผ–ๅ†™ใ€ๅ†…ๅฎนๅˆ›ไฝœ็ญ‰ๆต็จ‹ไธญๅŽปใ€‚
  • ๅˆ›ๆ„่ฝๅœฐไธŽๅฐไบงๅ“ๅผ€ๅ‘๏ผšไปฅๅ…จๆ ˆๆŠ€ๆœฏไธบๆ‰‹ๆฎต๏ผŒๅฐ่ฏ•ๅฐ†่‡ชๅทฑ็š„ๆƒณๆณ•่ฝฌๅŒ–ไธบ"ๅฐ่€Œ็พŽ"็š„็‹ฌ็ซ‹ไฝœๅ“๏ผŒๅœจๅฎž่ทตไธญๆ‰“็ฃจไบงๅ“ๆ€็ปด๏ผˆProduct Sense๏ผ‰ใ€‚

ๆˆ‘็š„่ฎค็Ÿฅ่ฟญไปฃ โ€‹

ๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒๆˆ‘ๅ’Œๅคงๅคšๆ•ฐๅผ€ๅ‘่€…ไธ€ๆ ท๏ผŒ่ฎคไธบ"ๅ…จๆ ˆ"ๅฐฑๆ˜ฏๆ”ถ้›†ๆ›ดๅคš็š„ๆŠ€ๆœฏๅพฝ็ซ ๏ผšไปŽ React ๅˆฐ NestJS๏ผŒไปŽ Python ๅˆฐ Rustใ€‚ๆˆ‘ๆ›พไปฅไธบๆŠ€ๆœฏ็š„ๅนฟๅบฆใ€ๆ‰Žๅฎž็š„ๅทฅ็จ‹ๅŒ–่ƒฝๅŠ›ๅฐฑๆ˜ฏๆŠคๅŸŽๆฒณใ€‚

ไฝ†ๅœจ AI ้‡ๆž„ไปฃ็ ็”Ÿไบงๆ–นๅผไธŽ็ผ–็จ‹่Œƒๅผ็š„ไปŠๅคฉ๏ผŒๆˆ‘ๆ„่ฏ†ๅˆฐ่ง„ๅˆ™ๅ˜ไบ†ใ€‚็Žฐๅœจ็š„ๆˆ‘๏ผŒไธๅ†ๆ‰ง็€ไบŽๆ‰‹้‡Œๆœ‰ๅคšๅฐ‘ๆŠŠ้”คๅญ๏ผŒ่€Œๆ›ดๅ…ณๆณจ่ƒฝๆž„ๅปบๅ‡บๆ€Žๆ ท็š„ๅปบ็ญ‘๏ผŒไนŸๆ›ดๆ„ฟๆ„ๅฐ†่‡ชๅทฑๅฎšไน‰ไธบไธ€ไธช "Product Engineer" (ไบงๅ“ๅž‹ๅทฅ็จ‹ๅธˆ) ๅ’Œ "AI-Augmented Builder" (AI ๅขžๅผบๅž‹ๆž„ๅปบ่€…)ใ€‚

ๅœจ่ฟ™ไธชๅšๅฎข Insight Stack ไธญ๏ผŒ่ฎฐๅฝ•ไบ†ๆˆ‘ๅฏนๆŠ€ๆœฏ่ง’่‰ฒ็š„้‡ๆ–ฐๆ€่€ƒ๏ผŒๆˆ‘็›ธไฟกๆœชๆฅ็š„ๅ…จๆ ˆไธๅ†ๆ˜ฏ็บฟๆ€ง็š„ๆŠ€่ƒฝๅ †ๅ ๏ผŒ่€Œๆ˜ฏไธ€ไธชๆ–ฐ็š„ๅ…จๆ ˆไปทๅ€ผๅ…ฌๅผ๏ผš

Fullย Stack=(Engineering+Product)ร—AI\\mathbf{Full\\ Stack} \\; = \\; (\\mathbf{Engineering} \\; + \\; \\mathbf{Product}) \\; \\times \\; \\mathbf{AI}

  • Engineering (ๅทฅ็จ‹ๅŠ›)โ€”โ€”ๅšๅฎž็š„ๅŸบ็Ÿณ๏ผšๅทฅ็จ‹ๅŠ›ไปŽ"ไปฃ็ ่ฎพ่ฎกไธŽๅฎž็Žฐ (How)"่ฟ็งป่‡ณ "ๆžถๆž„ไบคไป˜ (What & Why)"ใ€‚ๅฝ“ AI ๆŽฅ็ฎกไบ†ๆ ทๆฟไปฃ็ ๏ผŒๅทฅ็จ‹ๅธˆ็š„ไปทๅ€ผไฝ“็Žฐไธบๆžถๆž„ๅ†ณ็ญ–็š„ๆƒ่กกใ€ๅคๆ‚้€ป่พ‘็š„ๅฎก่ฎกไธŽ้ชŒๆ”ถ๏ผŒไปฅๅŠๆž„ๅปบไปŽ Localhost ๅˆฐ Production ็š„่‡ชๅŠจๅŒ–ไบคไป˜ไฝ“็ณปใ€‚
  • Product (ไบงๅ“ๅŠ›)โ€”โ€”ไปทๅ€ผ็š„ๆŒ‡ๅผ•๏ผšไบงๅ“ๅŠ›ไฝœไธบๅทฅ็จ‹ๅŠ›็š„ๆ–นๅ‘็›˜๏ผŒๅ…ทๅค‡ "ๅŒ็†ๅฟƒ" ไธŽ "MVP ๆ€็ปด"ใ€‚่ฟ™ๆ„ๅ‘ณ็€่ทณๅ‡บๆŠ€ๆœฏ่‡ชๅ—จ๏ผŒ็ฒพๅ‡†ๆ•ๆ‰็”จๆˆท็š„็œŸๅฎž็—›็‚น๏ผŒ่ฎก็ฎ—ไฝ“้ชŒ ROI๏ผŒๆ•้”ๅœฐ่ฏ†ๅˆซๅนถๅฎž็Žฐ้‚ฃไบ› "ไฝŽๆˆๆœฌ้ซ˜ไปทๅ€ผ" ็š„ๅ…ณ้”ฎ็‰นๆ€ง๏ผŒๆ‹’็ป็›ฒ็›ฎ็š„่ฟ‡ๅบฆ่ฎพ่ฎกใ€‚
  • AI (AI ๆ ๆ†)โ€”โ€”ๆŒ‡ๆ•ฐ็บงๅ€ๅขžๅ™จ๏ผšAI ไธไป…ไป…ๆ˜ฏๅทฅๅ…ท๏ผŒๆ›ดๆ˜ฏ่ฎฉไธชไบบ่ƒฝๅŠ›ไบง็”Ÿ็ˆ†็‚ธๅผๅขž้•ฟ็š„ ไน˜ๆ•ฐใ€‚ๅฎƒ้€š่ฟ‡ Context Engineering ๆŠนๅนณไบ†ๅ‰ๅŽ็ซฏ็š„ๆŠ€ๆœฏ้—จๆง›๏ผˆๆŠ€่ƒฝ่กฅๅ…จ๏ผ‰๏ผŒๅนถๅฐ†ไปŽ Idea ๅˆฐ Demo ็š„ๅ‘จๆœŸไปŽๆ•ฐๅ‘จๅŽ‹็ผฉ่‡ณๆ•ฐๅฐๆ—ถ๏ผˆๆ—ถ้—ดๅŽ‹็ผฉ๏ผ‰๏ผŒ่ฎฉ "่ถ…็บงไธชไฝ“" ๆˆไธบๅฏ่ƒฝใ€‚

ๅฆ‚ๆžœไฝ ๅฏน่ฟ™ไบ›ๆ€่€ƒๆ„Ÿๅ…ด่ถฃ๏ผŒๆŽจ่้˜…่ฏปๆˆ‘็š„ไธค็ฏ‡ๆ ธๅฟƒๆ–‡็ซ ๏ผš

ๅ…ณไบŽๆœฌ็ซ™ โ€‹

Insight Stack ๆ˜ฏๆˆ‘็š„ๆ•ฐๅญ—่Šฑๅ›ญ๏ผŒไนŸๆ˜ฏๆˆ‘่ทต่กŒไธŠ่ฟฐ็†ๅฟต็š„ๅฎž้ชŒๅœบไน‹ไธ€ใ€‚ๆˆ‘ๆŠŠๅฎƒๅฎšไน‰ไธบ "ไธ€ไธชๆŽข็ดขๅ…จๆ ˆๅทฅ็จ‹ใ€ไบงๅ“ๆ€็ปดไธŽ LLM ไบคๅ‰้ข†ๅŸŸ็š„ๆ•ฐๅญ—่Šฑๅ›ญ"ใ€‚

่ฟ™้‡Œ็š„ Stack ๆœ‰ไธคๅฑ‚ๅซไน‰๏ผš

  • Tech Stack๏ผš็กฌๆ ธ็š„ๆŠ€ๆœฏ็งฏ็ดฏไธŽๅทฅ็จ‹ๅฎž่ทตใ€‚
  • Insight Stack๏ผš่ฝฏๆ€ง็š„ๆ€็ปดๆจกๅž‹ไธŽไบงๅ“ๆดžๅฏŸใ€‚

ๆˆ‘ไธๅธŒๆœ›่ฟ™้‡Œๅชๆ˜ฏๆžฏ็‡ฅ็š„ไปฃ็ ็‰‡ๆฎตๆˆ–็ฎ€ๅ•็š„ๆŠ€ๆœฏๅˆ†ไบซไธŽๆ€ป็ป“๏ผŒๆˆ‘ๅธŒๆœ›ไฝ ็œ‹ๅˆฐ็š„ๆ˜ฏไธ€ไธชๅทฅ็จ‹ๅธˆๅฏน LLM ่ฝๅœฐ่ทฏๅพ„็š„็œŸๅฎžๆŽข็ดข๏ผŒๅฏน ไบงๅ“ Sense ่ฟ™ไธ€ๆ ธๅฟƒ่ƒฝๅŠ›็š„ๆทฑๅบฆๅค็›˜๏ผŒไปฅๅŠไธชไบบๅœจๆŠ€ๆœฏๆตชๆฝฎไธญ็š„ๆˆ้•ฟ่ฎฐๅฝ•ใ€‚

ๅ€ผๅพ—ไธ€ๆ็š„ๆ˜ฏ๏ผŒๆœฌ็ซ™ไนŸๆ˜ฏไบบๆœบๅไฝœ๏ผˆHuman-AI Collaboration๏ผ‰็š„ไบง็‰ฉใ€‚ ๅœจๆ–‡็ซ ็š„ๆž„ๆ€ไธŽๆถฆ่‰ฒ่ฟ‡็จ‹ไธญ๏ผŒๆˆ‘ๆทฑๅบฆไฝฟ็”จไบ† Gemini/Claude ็ญ‰ๆจกๅž‹ไฝœไธบ"ไธป่ฆ้…่ง’"ใ€‚ๆˆ‘็ปๅธธไธŽๅฎƒไปฌๅ‘่ตทๆฟ€็ƒˆ็š„"่พฉ่ฎบ"๏ผŒๅˆฉ็”จ AI ๆฅๆ‰“็ ดๆ€็ปด็›ฒๅŒบใ€‚ๆˆ‘่ฎคไธบ๏ผŒ่ƒฝๅคŸ็†Ÿ็ปƒๅœฐไธŽ AI ๅ…ฑ่ˆž๏ผŒๅฐ†ๆ˜ฏๆ–ฐไธ€ไปฃๅทฅ็จ‹ๅธˆๆœ€ๆ ธๅฟƒ็š„ๅ…ƒ่ƒฝๅŠ›ใ€‚

ๅฝ“็„ถ๏ผŒไธ€ไบ›ๆ–‡็ซ ๅœจๆ’ฐๅ†™่ฟ‡็จ‹ไธญ๏ผŒๆˆ‘ไนŸๅบ”็”จไบ† AI๏ผŒ็”š่‡ณ็”จ Gemini3 Pro/Claude ๆฅ่พ…ๅŠฉๆˆ‘ๅˆ›ไฝœ๏ผŒๅนถๅ‘่ตท่ฟ‡ไธๅฐ‘"ไบบๆœบ่พฉ่ฎบ"ใ€‚ๅ› ไธบๆˆ‘่ฎคไธบ๏ผŒAI ๅฏไปฅๅธฎๅŠฉๆˆ‘ไปฌๆ›ดๅฟซใ€ๆ›ดๅ‡†็กฎๅœฐ่กจ่พพ่‡ชๅทฑ็š„ๆ€ๆƒณ๏ผŒไนŸๅฏไปฅๅธฎๅŠฉๆˆ‘ไปฌๅ‘็Žฐๆ–ฐ็š„่ง’ๅบฆใ€ๆ–ฐ็š„่งฃๅ†ณๆ–นๆกˆใ€‚

โค๏ธ ่‡ด่ฐข โ€‹

Insight Stack Blog ๅšๅฎข็ซ™็‚นไธป่ฆๅŸบไบŽ VitePress ๅ’Œ vitepress-theme-teek ๆญๅปบ่€Œๆˆใ€‚

about site background

็‰นๅˆซๆ„Ÿ่ฐขๅผ€ๆบ็คพๅŒบ่ต‹ไบˆๆˆ‘ไปฌๅฆ‚ๆญคๅผบๅคง็š„ๅทฅๅ…ท๏ผŒ่ฎฉๆˆ‘่ƒฝๅฐ†็ฒพๅŠ›่š็„ฆไบŽๅ†…ๅฎน็š„ๅˆ›ไฝœ๏ผŒ่€Œ้ž้‡ๅค้€ ่ฝฎๅญใ€‚ๆœฌ็ซ™็š„ๆ ธๅฟƒๆžถๆž„ๅŸบไบŽไปฅไธ‹ไผ˜็ง€้กน็›ฎๆž„ๅปบ๏ผš

  • Core: VitePress๏ผŒ็”ฑ Vite & Vue ้ฉฑๅŠจ็š„ๆž้€Ÿ้™ๆ€็ฝ‘็ซ™็”Ÿๆˆๅ™จ๏ผŒๆไพ›ไบ†ๅ“่ถŠ็š„ๅผ€ๅ‘่€…ไฝ“้ชŒ (DX) ๅ’Œๆž่‡ด็š„ๆ€ง่ƒฝใ€‚
  • Theme: vitepress-theme-teek๏ผŒไธ€ไธชไธ“ๆณจไบŽ้˜…่ฏปไฝ“้ชŒ็š„ VitePress ่‡ชๅฎšไน‰ไธป้ข˜๏ผŒๅ…ถ็ฎ€็บฆ็š„่ฎพ่ฎก็†ๅฟตไธŽๆœฌ็ซ™"ๆณจ้‡ๅ†…ๅฎน"็š„ๅˆ่กทไธ่ฐ‹่€Œๅˆใ€‚

่ฟžๆŽฅไธŽไบคๆต โ€‹

ๆœ€ๅฅฝ็š„ๅญฆไน ๆ˜ฏๅ…ฌๅผ€ๅˆ†ไบซ๏ผŒๆœ€ๅฟซ็š„ๆˆ้•ฟๆ˜ฏไธŽไผ˜็ง€่€…ๅŒ่กŒใ€‚ๆ— ่ฎบๆ˜ฏๆŽข่ฎจๅ…จๆ ˆใ€AI ็ผ–็จ‹ไธŽๅบ”็”จใ€Agent ่ฝๅœฐ๏ผŒ่ฟ˜ๆ˜ฏไบคๆตไบงๅ“ๅฟƒๅพ—๏ผŒ้ƒฝ้žๅธธๆฌข่ฟŽไฝ ่”็ณปๆˆ‘~

NOTE

่”็ณปๆ–นๅผ

  • ๐Ÿ’ฌ ๅพฎไฟก๏ผšhfutsqliang (่ฏทๅค‡ๆณจ๏ผšInsight Stack ๅ’Œไฝ ็š„ๅง“ๅ)
  • ๐Ÿ“ฎ ้‚ฎ็ฎฑ๏ผš
    • hfutsqliang@qq.com
    • hfutsqliang@gmail.com
  • ๐Ÿ”— Github๏ผšhttps://github.com/sqliang
',31)])])}const u=t(r,[["render",m]]);export{g as __pageData,u as default}; diff --git "a/assets/40.\345\205\263\344\272\216_01.\345\205\263\344\272\216\346\210\221.md.BzNDwyw3.lean.js" "b/assets/40.\345\205\263\344\272\216_01.\345\205\263\344\272\216\346\210\221.md.CkzMieuF.lean.js" similarity index 94% rename from "assets/40.\345\205\263\344\272\216_01.\345\205\263\344\272\216\346\210\221.md.BzNDwyw3.lean.js" rename to "assets/40.\345\205\263\344\272\216_01.\345\205\263\344\272\216\346\210\221.md.CkzMieuF.lean.js" index 018ff689..804437be 100644 --- "a/assets/40.\345\205\263\344\272\216_01.\345\205\263\344\272\216\346\210\221.md.BzNDwyw3.lean.js" +++ "b/assets/40.\345\205\263\344\272\216_01.\345\205\263\344\272\216\346\210\221.md.CkzMieuF.lean.js" @@ -1 +1 @@ -import{_ as t,g as s,h as n,U as o}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const e="/img/cover/about_site_bg.png",g=JSON.parse('{"title":"ๅ…ณไบŽๆˆ‘","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšไปŽ Tech Stack ๅˆฐ Insight Stack๏ผŒๅฝ“ AI ๆŽฅ็ฎกไบ†ๅฎž็Žฐ๏ผŒๆˆ‘ๆ›ดๅ…ณๆณจๆžถๆž„็š„ๆƒ่กกไธŽไบงๅ“็š„ไปทๅ€ผ๏ผŒไธ“ๆณจ๏ผšๅทฅ็จ‹ๅŒ– Spec ไธŽ AI ็ผ–็จ‹็ฃจๅˆ็š„ๅฎž่ทต | Agent ่ฝๅœฐ | ็‹ฌ็ซ‹ไบงๅ“ใ€‚","frontmatter":{"date":"2025-08-29T09:40:53.000Z","title":"ๅ…ณไบŽๆˆ‘","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšไปŽ Tech Stack ๅˆฐ Insight Stack๏ผŒๅฝ“ AI ๆŽฅ็ฎกไบ†ๅฎž็Žฐ๏ผŒๆˆ‘ๆ›ดๅ…ณๆณจๆžถๆž„็š„ๆƒ่กกไธŽไบงๅ“็š„ไปทๅ€ผ๏ผŒไธ“ๆณจ๏ผšๅทฅ็จ‹ๅŒ– Spec ไธŽ AI ็ผ–็จ‹็ฃจๅˆ็š„ๅฎž่ทต | Agent ่ฝๅœฐ | ็‹ฌ็ซ‹ไบงๅ“ใ€‚","coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/about_me_chinese.png","permalink":"/about/me","categories":["ๅ…ณไบŽ"]},"headers":[],"relativePath":"40.ๅ…ณไบŽ/01.ๅ…ณไบŽๆˆ‘.md","filePath":"40.ๅ…ณไบŽ/01.ๅ…ณไบŽๆˆ‘.md"}'),r={name:"40.ๅ…ณไบŽ/01.ๅ…ณไบŽๆˆ‘.md"};function m(i,a,l,p,c,d){return n(),s("div",null,[...a[0]||(a[0]=[o("",31)])])}const u=t(r,[["render",m]]);export{g as __pageData,u as default}; +import{_ as t,g as s,h as n,U as o}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const e="/img/cover/about_site_bg.png",g=JSON.parse('{"title":"ๅ…ณไบŽๆˆ‘","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšไปŽ Tech Stack ๅˆฐ Insight Stack๏ผŒๅฝ“ AI ๆŽฅ็ฎกไบ†ๅฎž็Žฐ๏ผŒๆˆ‘ๆ›ดๅ…ณๆณจๆžถๆž„็š„ๆƒ่กกไธŽไบงๅ“็š„ไปทๅ€ผ๏ผŒไธ“ๆณจ๏ผšๅทฅ็จ‹ๅŒ– Spec ไธŽ AI ็ผ–็จ‹็ฃจๅˆ็š„ๅฎž่ทต | Agent ่ฝๅœฐ | ็‹ฌ็ซ‹ไบงๅ“ใ€‚","frontmatter":{"date":"2025-08-29T09:40:53.000Z","title":"ๅ…ณไบŽๆˆ‘","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšไปŽ Tech Stack ๅˆฐ Insight Stack๏ผŒๅฝ“ AI ๆŽฅ็ฎกไบ†ๅฎž็Žฐ๏ผŒๆˆ‘ๆ›ดๅ…ณๆณจๆžถๆž„็š„ๆƒ่กกไธŽไบงๅ“็š„ไปทๅ€ผ๏ผŒไธ“ๆณจ๏ผšๅทฅ็จ‹ๅŒ– Spec ไธŽ AI ็ผ–็จ‹็ฃจๅˆ็š„ๅฎž่ทต | Agent ่ฝๅœฐ | ็‹ฌ็ซ‹ไบงๅ“ใ€‚","coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/about_me_chinese.png","permalink":"/about/me","categories":["ๅ…ณไบŽ"]},"headers":[],"relativePath":"40.ๅ…ณไบŽ/01.ๅ…ณไบŽๆˆ‘.md","filePath":"40.ๅ…ณไบŽ/01.ๅ…ณไบŽๆˆ‘.md"}'),r={name:"40.ๅ…ณไบŽ/01.ๅ…ณไบŽๆˆ‘.md"};function m(i,a,l,p,c,d){return n(),s("div",null,[...a[0]||(a[0]=[o("",31)])])}const u=t(r,[["render",m]]);export{g as __pageData,u as default}; diff --git "a/assets/40.\345\205\263\344\272\216_30.\346\210\220\351\225\277\351\232\217\347\254\224_01.\350\265\260\345\207\272\342\200\234\347\233\256\346\240\207\351\232\247\351\201\223\342\200\235\357\274\232\347\224\250\347\263\273\347\273\237\344\270\216\346\225\260\345\255\246\346\200\235\347\273\264\351\207\215\346\236\204\345\272\225\345\261\202\351\200\273\350\276\221.md.CJpPM59I.js" "b/assets/40.\345\205\263\344\272\216_30.\346\210\220\351\225\277\351\232\217\347\254\224_01.\350\265\260\345\207\272\342\200\234\347\233\256\346\240\207\351\232\247\351\201\223\342\200\235\357\274\232\347\224\250\347\263\273\347\273\237\344\270\216\346\225\260\345\255\246\346\200\235\347\273\264\351\207\215\346\236\204\345\272\225\345\261\202\351\200\273\350\276\221.md.DJ7lWg_C.js" similarity index 99% rename from "assets/40.\345\205\263\344\272\216_30.\346\210\220\351\225\277\351\232\217\347\254\224_01.\350\265\260\345\207\272\342\200\234\347\233\256\346\240\207\351\232\247\351\201\223\342\200\235\357\274\232\347\224\250\347\263\273\347\273\237\344\270\216\346\225\260\345\255\246\346\200\235\347\273\264\351\207\215\346\236\204\345\272\225\345\261\202\351\200\273\350\276\221.md.CJpPM59I.js" rename to "assets/40.\345\205\263\344\272\216_30.\346\210\220\351\225\277\351\232\217\347\254\224_01.\350\265\260\345\207\272\342\200\234\347\233\256\346\240\207\351\232\247\351\201\223\342\200\235\357\274\232\347\224\250\347\263\273\347\273\237\344\270\216\346\225\260\345\255\246\346\200\235\347\273\264\351\207\215\346\236\204\345\272\225\345\261\202\351\200\273\350\276\221.md.DJ7lWg_C.js" index d4eb65e9..facbbb1f 100644 --- "a/assets/40.\345\205\263\344\272\216_30.\346\210\220\351\225\277\351\232\217\347\254\224_01.\350\265\260\345\207\272\342\200\234\347\233\256\346\240\207\351\232\247\351\201\223\342\200\235\357\274\232\347\224\250\347\263\273\347\273\237\344\270\216\346\225\260\345\255\246\346\200\235\347\273\264\351\207\215\346\236\204\345\272\225\345\261\202\351\200\273\350\276\221.md.CJpPM59I.js" +++ "b/assets/40.\345\205\263\344\272\216_30.\346\210\220\351\225\277\351\232\217\347\254\224_01.\350\265\260\345\207\272\342\200\234\347\233\256\346\240\207\351\232\247\351\201\223\342\200\235\357\274\232\347\224\250\347\263\273\347\273\237\344\270\216\346\225\260\345\255\246\346\200\235\347\273\264\351\207\215\346\236\204\345\272\225\345\261\202\351\200\273\350\276\221.md.DJ7lWg_C.js" @@ -1 +1 @@ -import{_ as i,g as s,h as r,U as a}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const d=JSON.parse('{"title":"่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšไนฆๆŽฅไธŠๆ–‡ใ€Šๅ‘ๅ†…ๆ€ๅ˜ใ€‹๏ผŒๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ๅœจๅŽ็–ซๆƒ…ๆ—ถไปฃไปŽโ€œ้—ญๅ…ณโ€่ตฐๅ‘โ€œๅ‘ๅค–ไฝ“้ชŒโ€็š„ๅฐ่ฏ•ไธŽๅฟƒๅพ—ใ€‚้ขๅฏนๆœบๆขฐๆ‰ง่กŒๅธฆๆฅ็š„โ€œ็›ฎๆ ‡้šง้“โ€ๆ•ˆๅบ”๏ผŒ็ฌ”่€…ๅฐ่ฏ•่ทณๅ‡บๅ•ไธ€็š„็บฟๆ€ง่ง„ๅˆ’๏ผŒ่ฝฌ่€Œๅฏปๆฑ‚ๆ›ดๅบ•ๅฑ‚็š„่ฎค็Ÿฅ้€ป่พ‘ใ€‚ๆ–‡็ซ ้€š่ฟ‡้‡่ฏปใ€Š่ฆไบ‹็ฌฌไธ€ใ€‹ๅปบ็ซ‹ๅนณ่กก่ง‚๏ผŒๅˆฉ็”จ็ณป็ปŸๆ€็ปด๏ผˆๅขžๅผบ/่ฐƒ่Š‚ๅ›ž่ทฏ๏ผ‰ๆž„ๅปบๆดžๅฏŸๅŠ›๏ผŒๅนถ้‡ๆ–ฐๆ‹พ่ตทๆ•ฐๅญฆๆ€็ปด๏ผˆๆฆ‚็އใ€็จ€็–ๆ€งใ€ๅคšๆ ทๆ€ง๏ผ‰ไธŽ AI ่ง†่ง’ใ€‚่ฟ™ๆ˜ฏไธ€ๆฌกๅ…ณไบŽๅฆ‚ไฝ•็”จ็ง‘ๅญฆๆจกๅž‹ๆ›ฟไปฃๆœบๆขฐๆ‰ง่กŒ๏ผŒไปŽๆœฌ่ดจไธŠ้‡ๆž„ไธชไบบ่ฎค็Ÿฅไฝ“็ณป็š„ๆทฑๅบฆๅค็›˜ใ€‚","frontmatter":{"date":"2024-01-15T22:16:00.000Z","title":"่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšไนฆๆŽฅไธŠๆ–‡ใ€Šๅ‘ๅ†…ๆ€ๅ˜ใ€‹๏ผŒๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ๅœจๅŽ็–ซๆƒ…ๆ—ถไปฃไปŽโ€œ้—ญๅ…ณโ€่ตฐๅ‘โ€œๅ‘ๅค–ไฝ“้ชŒโ€็š„ๅฐ่ฏ•ไธŽๅฟƒๅพ—ใ€‚้ขๅฏนๆœบๆขฐๆ‰ง่กŒๅธฆๆฅ็š„โ€œ็›ฎๆ ‡้šง้“โ€ๆ•ˆๅบ”๏ผŒ็ฌ”่€…ๅฐ่ฏ•่ทณๅ‡บๅ•ไธ€็š„็บฟๆ€ง่ง„ๅˆ’๏ผŒ่ฝฌ่€Œๅฏปๆฑ‚ๆ›ดๅบ•ๅฑ‚็š„่ฎค็Ÿฅ้€ป่พ‘ใ€‚ๆ–‡็ซ ้€š่ฟ‡้‡่ฏปใ€Š่ฆไบ‹็ฌฌไธ€ใ€‹ๅปบ็ซ‹ๅนณ่กก่ง‚๏ผŒๅˆฉ็”จ็ณป็ปŸๆ€็ปด๏ผˆๅขžๅผบ/่ฐƒ่Š‚ๅ›ž่ทฏ๏ผ‰ๆž„ๅปบๆดžๅฏŸๅŠ›๏ผŒๅนถ้‡ๆ–ฐๆ‹พ่ตทๆ•ฐๅญฆๆ€็ปด๏ผˆๆฆ‚็އใ€็จ€็–ๆ€งใ€ๅคšๆ ทๆ€ง๏ผ‰ไธŽ AI ่ง†่ง’ใ€‚่ฟ™ๆ˜ฏไธ€ๆฌกๅ…ณไบŽๅฆ‚ไฝ•็”จ็ง‘ๅญฆๆจกๅž‹ๆ›ฟไปฃๆœบๆขฐๆ‰ง่กŒ๏ผŒไปŽๆœฌ่ดจไธŠ้‡ๆž„ไธชไบบ่ฎค็Ÿฅไฝ“็ณป็š„ๆทฑๅบฆๅค็›˜ใ€‚","permalink":"/growth/outer-experience","coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/outer_experience_bg.png","sticky":1,"top":true,"tags":["็ณป็ปŸๆ€็ปด","ๆ•ฐๅญฆๆ€็ปด","ๆจกๅž‹ๆ€็ปด","AI","็–ซๆƒ…"],"categories":["ไธชไบบๆˆ้•ฟ"]},"headers":[],"relativePath":"40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘.md","filePath":"40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘.md"}'),o={name:"40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘.md"};function e(n,t,p,l,g,h){return r(),s("div",null,[...t[0]||(t[0]=[a('

่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘ โ€‹

ๆ‘˜่ฆๆ€ป็ป“๏ผšไนฆๆŽฅไธŠๆ–‡ใ€Šๅ‘ๅ†…ๆ€ๅ˜ใ€‹๏ผŒๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ๅœจๅŽ็–ซๆƒ…ๆ—ถไปฃไปŽโ€œ้—ญๅ…ณโ€่ตฐๅ‘โ€œๅ‘ๅค–ไฝ“้ชŒโ€็š„ๅฐ่ฏ•ไธŽๅฟƒๅพ—ใ€‚้ขๅฏนๆœบๆขฐๆ‰ง่กŒๅธฆๆฅ็š„โ€œ็›ฎๆ ‡้šง้“โ€ๆ•ˆๅบ”๏ผŒ็ฌ”่€…ๅฐ่ฏ•่ทณๅ‡บๅ•ไธ€็š„็บฟๆ€ง่ง„ๅˆ’๏ผŒ่ฝฌ่€Œๅฏปๆฑ‚ๆ›ดๅบ•ๅฑ‚็š„่ฎค็Ÿฅ้€ป่พ‘ใ€‚ๆ–‡็ซ ้€š่ฟ‡้‡่ฏปใ€Š่ฆไบ‹็ฌฌไธ€ใ€‹ๅปบ็ซ‹ๅนณ่กก่ง‚๏ผŒๅˆฉ็”จ็ณป็ปŸๆ€็ปด๏ผˆๅขžๅผบ/่ฐƒ่Š‚ๅ›ž่ทฏ๏ผ‰ๆž„ๅปบๆดžๅฏŸๅŠ›๏ผŒๅนถ้‡ๆ–ฐๆ‹พ่ตทๆ•ฐๅญฆๆ€็ปด๏ผˆๆฆ‚็އใ€็จ€็–ๆ€งใ€ๅคšๆ ทๆ€ง๏ผ‰ไธŽ AI ่ง†่ง’ใ€‚่ฟ™ๆ˜ฏไธ€ๆฌกๅ…ณไบŽๅฆ‚ไฝ•็”จ็ง‘ๅญฆๆจกๅž‹ๆ›ฟไปฃๆœบๆขฐๆ‰ง่กŒ๏ผŒไปŽๆœฌ่ดจไธŠ้‡ๆž„ไธชไบบ่ฎค็Ÿฅไฝ“็ณป็š„ๆทฑๅบฆๅค็›˜ใ€‚

1. ๅ†™ๅœจๅ‰้ข โ€‹

ๆ—ถๅ…‰่่‹’๏ผŒ็–ซๆƒ…ๅทฒ็ป็”ฑๆ”พๅผ€็Šถๆ€็ปง็ปญๆผ”ๅ˜ไธบ่ฟ‡ๅŽปๅผ็Šถๆ€๏ผŒๆˆ‘ไปฌไบบ็ฑปไนŸไปŽใ€Ž้—ญๅ…ณใ€่ตฐๅ‘ไบ†ใ€Ž่‡ช็”ฑใ€็š„็คพไผš็”Ÿๆดป็Šถๆ€ใ€‚็ฌ”่€…ไฝœไธบ็คพไผšไธญ็š„ๆ™ฎ้€šไธ€ๅ‘˜๏ผŒ่‡ช็„ถไนŸไธ็ฆปๅค–๏ผŒๅœจ 2023 ๅนดๅˆๆด‹ๆด‹ๆด’ๆด’ๅ†™ไบ†ไธ€็ฏ‡ๅœจๅฅๅบทใ€่ฏปไนฆไธŽๅญฆไน ใ€ๆ—ถ้—ด็ฎก็†ๅ’Œๆททๅˆๅทฅไฝœๅˆถๅ‡ ไธชๆ–น้ข็š„ๅฎž่ทตไธŽ็†่งฃ๏ผˆๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ๏ผ‰๏ผŒๅฐฑๅผ€ๅผ€ๅฟƒๅฟƒๅœฐๅ‘ๅ‰็œ‹๏ผŒๅญฆ็€ๅ‘ๅค–ไฝ“้ชŒไบ†ใ€‚

้‚ฃไนˆ้—ฎ้ข˜ๆฅไบ†๏ผŒ็›ธๆฏ”ไน‹ๅ‰ๅ†™ๅ‡บ้•ฟๆ–‡๏ผŒ็ฌ”่€…ๅˆๆ˜ฏ่ฟ‘ไธ€ๅนดๆฒกๆœ‰ๅ‘ๅค–่พ“ๅ‡บ่ฝฏๆ–‡ไบ†ใ€‚ๅ› ๆญค๏ผŒไนฆๆŽฅไธŠๆ–‡๏ผŒๆœฌๆฌก็ปง็ปญๆ–ฐๅขžไธ€็ฏ‡ไธญ็Ÿญๆ–‡๏ผŒๆผซ่ฐˆไธ€ไธ‹็–ซๆƒ…ๅŽ็š„ๅ‘ๅค–ไฝ“้ชŒใ€‚

ๅœจๅ€’้€ผ่‡ชๅทฑๅ…ณๆณจ่บซไฝ“ๅฅๅบทๅ’Œๆ—ถ้—ด็ฎก็†ๅŽ๏ผŒ่™ฝ็„ถๅœจไฝ“้‡ๅ’Œๆ•ˆ็އไธคไธชๆ–น้ขๆœ‰ไธ€ๅฎš็š„ๆญฃๅ‘ๆ•ˆๆžœ๏ผŒไฝ†็ฌ”่€…ๅœจ่ฟž็ปญๅšๆŒ่ฝๅœฐๆ‹†่งฃๅ‡บๆฅ็š„็›ฎๆ ‡่ฟ‡็จ‹ไธญ๏ผŒๆœ‰ๆ—ถไผš่ง‰ๅพ—ๅพˆ็ดฏใ€‚่‡ช OpenAI ่ฟ™ๅฎถๅ…ฌๅธๅๅฃฐๅคงๅ™ชไธ” LLM๏ผˆๅคง่ฏญ่จ€ๆจกๅž‹๏ผ‰่ขซๅ„่กŒๅ„ไธš็š„ไบบไปฌ็Ÿฅๆ™“ๅŽ๏ผŒ็ฌ”่€…ๅผ€ๅง‹่ดจ็–‘่ตทไบ†ใ€Ž็›ฎๆ ‡ใ€๏ผŒๅฐคๅ…ถๅœจ็œ‹่ฟ‡ OpenAI ็ ”็ฉถๅ‘˜ๅ†™็š„ใ€Šไธบไป€ไนˆไผŸๅคงไธ่ƒฝ่ขซ่ฎกๅˆ’ใ€‹ไธ”ๅ‘ไธ€ไบ›ๅคงไฝฌๅ’จ่ฏข่ฏทๆ•™ๅŽ๏ผŒๆ›ด่ง‰ๅพ—็›ฎๆ ‡ๆ˜ฏไธ€ๆŠŠๅŒๅˆƒๅ‰‘๏ผš

  • ๅฏนไบŽๆฒกๆœ‰ๅ…ปๆˆ่‰ฏๅฅฝไน ๆƒฏ็š„ไบบๆฅ่ฏด๏ผŒๆž„ๅปบๅˆ‡ๅฎžๅฏ่กŒ็š„็›ฎๆ ‡๏ผŒไธ€ๆ—ฆไธฅๆ ผๆ‰ง่กŒ่ฝๅœฐ๏ผŒๅœจๆ—ถ้—ด็š„็ดฏๅŠ ๆ•ˆๅบ”ๅŠ ๆŒไธ‹๏ผŒๅคงๆฆ‚็އๆ˜ฏ่ƒฝๅ–ๅพ—้ข„ๆœŸ็ป“ๆžœ็š„ใ€‚
  • ๅฏนไบŽๆƒณ่ฆไบงๅ‡บไธ€ไบ›ๅˆ›้€ ๅŠ›ๆˆ–่ถ…้ข„ๆœŸๆ•ˆๆžœ็š„ไบบๆฅ่ฎฒ๏ผŒ็›ฎๆ ‡ๆˆ–่ฎธๅผŠๅคงไบŽๅˆฉใ€‚ไปŽ็ฌ”่€…็š„ๅฎž่ทตๆฅ็œ‹๏ผŒๅพˆๅฎนๆ˜“่ฟ›ๅ…ฅใ€Ž็›ฎๆ ‡้šง้“ใ€ๅŽปๅท๏ผŒๆ›ดๅฎนๆ˜“้”™่ฟ‡ใ€ๆดžๅฏŸๆ›ดไผ˜่ทฏๅพ„็š„ๆ—ถๆœบ๏ผˆไธป่ฆ่ฟ˜ๆ˜ฏ็คพไผšๅ˜ๅŒ–่ฟ‡ๅฟซ๏ผŒๆ‰“ๅทฅไบบๅคชๅฟ™๏ผ‰ใ€‚

ๅœจ็›ฎๆ ‡ๅˆถๅฎšใ€ๆ‰ง่กŒๅ’Œ่ฐƒๆ•ดไน‹ๅค–๏ผŒๆˆ–่ฎธๅญ˜ๅœจๆ›ด้€š็”จ็š„ๆ–นๆณ•่ฎบ๏ผŒๅฎƒๆ—ขๅŒ…ๆ‹ฌไธ€ไบ›ๆˆ้•ฟไนฆไธญๆ‰€่ฐ“็š„ไฝฟๅ‘ฝๆ„Ÿ๏ผŒไนŸๅŒ…ๆ‹ฌไธชไบบๆ™บๆ…งไธŽ็ป้ชŒ็ญ‰ๅ› ็ด ใ€‚ๅ› ๆญค๏ผŒ็ฌ”่€…ๅœจ็œ‹ไนฆใ€ๅญฆไน ๆ•ฐๅญฆๅŸบ็ก€็Ÿฅ่ฏ†ไธŽๆ€็ปดใ€ๅท AI ๅคงๆจกๅž‹็š„่ฟ‡็จ‹ไธญ๏ผŒๅฐ่ฏ•ๅŽปๅฏปๆ‰พ็ญ”ๆกˆ๏ผŒๅคงๆฆ‚็އๆ‰พไธๅˆฐๆœ€ๅฅฝ็ญ”ๆกˆ๏ผŒไฝ†ๆˆ–ๅคšๆˆ–ๅฐ‘่ƒฝๆ‰พๅ‡บไผ˜ไบŽๅฝ“ๅ‰็Šถๆ€็š„่ทฏๅพ„ๆˆ–็ญ”ๆกˆใ€‚

2. ้‡่ฏปใ€Š่ฆไบ‹็ฌฌไธ€ใ€‹ โ€‹

ๅŽŸๅˆ™ใ€ไฝฟๅ‘ฝไธŽ่ง’่‰ฒ็คบๆ„ๆ ‘

ๅ›พ1๏ผšๅŽŸๅˆ™ใ€ไฝฟๅ‘ฝไธŽ่ง’่‰ฒ็คบๆ„ๆ ‘

ๅ››ไธช็ปดๅบฆๅœˆ็คบๆ„ๅ›พ

ๅ›พ2๏ผšๅ››ไธช็ปดๅบฆๅœˆ็คบๆ„ๅ›พ

ๅœจ้‡่ฏปใ€Š่ฆไบ‹็ฌฌไธ€ใ€‹ๅŽ๏ผŒ็ฌ”่€…่ฒŒไผผๆ‰พๅˆฐไบ†ไธ€้ƒจๅˆ†็ญ”ๆกˆใ€‚ๆˆ‘ไปฌ็ปๅธธๅฌๅˆฐ "ไบบ่ฆ็‹ฌ็ซ‹๏ผŒ่ฆๆœ‰่‡ชๅทฑ็š„ๆƒณๆณ•"๏ผŒไฝ†ๆˆ‘ไปฌ็กฎๅฎž็”Ÿๆดปๅœจไธ€ไธช็›ธไบ’ไพ่ต–็š„็คพไผš๏ผŒ็‹ฌ็ซ‹ไธŽ็›ธไบ’ไพ่ต–่ฟ™ไธคไธช็œ‹ไผผ็Ÿ›็›พ็š„็‚นๆ˜ฏๆˆ‘ไปฌ้œ€่ฆๅญฆ็€ๅนณ่กก็š„๏ผš

  • ็”Ÿๆดป่ดจ้‡ๆœฌ่ดจไธŠๅ–ๅ†ณไบŽ็›ธไบ’ไพ่ต–๏ผŒๆˆ‘ไปฌ็š„่ง’่‰ฒๆ˜ฏ็›ธไบ’ไพ่ต–็š„๏ผŒๅ‡ ไนŽๆฏไธช่ง’่‰ฒๅฎž้™…ไธŠ้ƒฝ่‡ณๅฐ‘้€š่ฟ‡ๅฆๅค–ๆŸไธ€ไธชไบบๅ‘็”Ÿไบบ้™…ๅ…ณ็ณป๏ผ›
  • ็‹ฌ็ซ‹ๆœฌ่บซๅนถไธๆ˜ฏ็›ฎ็š„๏ผŒ็œŸๆญฃ็š„็‹ฌ็ซ‹ๅ‡บ็Žฐๅœจ่กŒไน‹ๆœ‰ๆ•ˆ็š„็›ธไบ’ไพ่ต–ไน‹ๅ‰๏ผŒๅŒๆ—ถไฝฟๆˆ‘ไปฌ่‡ชๅทฑไธบ่กŒไน‹ๆœ‰ๆ•ˆ็š„็›ธไบ’ไพ่ต–ๅšๅฅฝๅ‡†ๅค‡ใ€‚ไนŸๅฐฑๆ˜ฏ่ฏด๏ผš็‹ฌ็ซ‹ๆ˜ฏไธ€ไธชไบบๅ€ผๅพ—ไฟก่ต–๏ผŒๅนถไธ”ไฝฟไฟก่ต–ๆˆไธบๅฏ่ƒฝใ€‚
  • ๅนณ่กกๆ€็ปดๆ˜ฏๆˆ‘ไปฌ็š„ๅฟ…ไฟฎ่ฏพ๏ผŒๆˆ‘ไปฌๅœจไธๅŒไธญ้•ฟๆœŸๆ—ถ้—ดๆฎต้œ€่ฆ้’ˆๅฏน่‡ช่บซๆ‹†่งฃๅ‡บๅ‡ ไธช้‡่ฆๅ› ็ด ๏ผŒ็„ถๅŽๅ€ŸๅŠฉๅนณ่กกๆ€็ปดๅˆถๅฎšๅˆ็†็š„ๅคš็›ฎๆ ‡ๅŽปๅคšๆ–น้ขๆŽจๅŠจใ€‚ๆŒ‰็…ง่ฟ™็งๆ–นๅผ๏ผŒๅœจไธ€ๅฎš็จ‹ๅบฆไธŠๆ˜ฏๅฏไปฅ้ฟๅ…่ฟ›ๅ…ฅใ€Ž็›ฎๆ ‡้šง้“ใ€็š„๏ผŒๅณไฝฟ่ฟ›ๅ…ฅไบ†้šง้“๏ผŒไนŸไธไผšๆœ‰ๅคง็š„ๆŸๅคฑๅ’ŒๆŒซ่ดฅ๏ผŒๅนณ่กกๆ€็ปดไธ‹็š„ๅคš็ปดๅบฆ่ง†่ง’ๅ’Œไบ’็›ธไพ่ต–็š„็คพไผš็‰นๅพไผš็ป™ๆˆ‘ไปฌไธ€ไบ›ๅฏๅ‘ๆฅ่ฐƒๆ•ด็š„ใ€‚
  • ๅœจๅนณ่กกๆ€็ปดไธ‹๏ผŒ็›ฎๆ ‡ไน‹ไธŠ่ฟ˜ๆœ‰ๅŽŸๅˆ™ใ€ไฝฟๅ‘ฝๅ’Œ่ง’่‰ฒ่ฟ™ไธ‰ๆ ทไธœ่ฅฟ๏ผšๅŽŸๅˆ™่ฎฉๆˆ‘ไปฌๅฐŠ้‡ๅฎข่ง‚่ง„ๅพ‹๏ผŒไฝฟๅ‘ฝ่ฎฉๆˆ‘ไปฌๆŒ‰็…ง่‡ชๅทฑ็š„ๅฟƒๆ„๏ผŒ่ง’่‰ฒ่ฎฉๆˆ‘ไปฌๅ…ณๆณจ่บซไฝ“ใ€็คพไผš/ๆƒ…ๆ„Ÿใ€ๆ™บๅŠ›ใ€็ฒพ็ฅžใ€่‡ชๆˆ‘ๆ›ดๆ–ฐ็ญ‰ๅคšไธชๆ–น้ขใ€‚

ๅœจๅนณ่กกๆ€็ปดไธŽๅคš็ปดๅบฆ่ง†่ง’็š„ๅŸบ็ก€ไธŠ๏ผŒๆˆ‘ไปฌๅพˆ่‡ช็„ถๅœฐไบงๅ‡บ้•ฟ๏ผˆๆฏ”ๅฆ‚ๅนด๏ผ‰ใ€ไธญ๏ผˆๆฏ”ๅฆ‚ๅญฃๅบฆ๏ผ‰ใ€็Ÿญ๏ผˆๆฏ”ๅฆ‚ๅ‘จ๏ผ‰ไธ‰ไธชๆ–น้ข็š„ๆ–นๅ‘ๆˆ–็›ฎๆ ‡๏ผŒ่€Œไธๆ˜ฏๆŠŠ่‡ชๅทฑๅ˜ๆˆไธ€ไธชๅทฅๅ…ทๆˆ–ๅ‘ๆกๅŽปๅทใ€‚่‡ช็„ถไนŸ่ƒฝๅฐ่ฏ•ไฝฟ็”จใ€Š่ฆไบ‹็ฌฌไธ€ใ€‹ไฝœ่€…ๆŽจๅ‡บ็š„็ฌฌๅ››ไปฃๆ—ถ้—ด็ฎก็†ๆจกๅผ๏ผšๆ›ด็œ‹้‡ใ€Žไบบใ€็š„่Œƒ็•ด๏ผŒๆ‰€ๅ…ณๆณจ็š„็„ฆ็‚น่ถ…่ถŠไบ†ๅฆ‚ไฝ•ๅฏนไบ‹ๅŠก่ฟ›่กŒๆœ‰ๆ•ˆ่€Œๆœบๆขฐ็š„็ฎก็†๏ผŒๆ›ด้‡่ง†ๅŒๅˆซไบบ่ฟ›่กŒๆœ‰ๆ•ˆ็š„ไบ’ๅŠจๅˆไฝœใ€‚ไปฅไบบไธบๆœฌ็š„ๆจกๅผๅฏนไบŽๅœจๅฎถๅบญใ€็ป„็ป‡ๅ’Œๅ…ถไป–ๅฝขๅผ็š„ๅ›ขไฝ“ไธญ่Žทๅพ—ๆˆๅŠŸ้ƒฝๆ˜ฏ่‡ณๅ…ณ้‡่ฆ็š„ใ€‚

้‰ดไบŽ็ฌ”่€…ไธชไบบ็š„่ง†่ง’ไนŸๆœ‰ไธ€ๅฎš็š„ๅฑ€้™ๆ€ง๏ผŒๅฏน่ฟ™้ƒจๅˆ†็ญ”ๆกˆๆ„Ÿๅ…ด่ถฃ็š„่ฏป่€…๏ผŒๅฏไปฅๅŽป้˜…่ฏปๅŽŸ่‘—๏ผŒๆฅๅธฎๅŠฉๆ‰พๅ‡บไธ€ไบ›้€‚ๅˆ่‡ชๅทฑๅฎž่ทต็š„็ญ”ๆกˆใ€‚

3. ๅŸบไบŽ็ณป็ปŸไธŽๆจกๅž‹ๆ€็ปดๆž„ๅปบๆดžๅฏŸๅŠ›ๆจกๅž‹ โ€‹

ไผ—ๆ‰€ๅ‘จ็Ÿฅ๏ผŒๅœจๆ•ฐๅญ—ๅŒ–ๆ—ถไปฃ๏ผŒๆˆ‘ไปฌๆฏๅคฉ้ƒฝๅœจไธŽๅ„็งๅ„ๆ ท็š„็ณป็ปŸไบคไบ’๏ผŒๆฏไธ€ไธช่กจ่ฑก่ƒŒๅŽ้ƒฝๆœ‰ไธ€ไธช้ป‘็›’ๅญ๏ผŒ้ป‘็›’ๅญๆ‰ๆ˜ฏ่ง„ๅพ‹ไบง็”Ÿ็š„ๅŽŸๅ› ๏ผŒ่ฟ™ไธช้ป‘็›’ๅญไนŸๅฐฑๆ˜ฏ็ณป็ปŸใ€‚

ๅฝ“็ณป็ปŸ่ฟ่ฝฌๆญฃๅธธ็š„ๆ—ถๅ€™๏ผŒๆˆ‘ไปฌๅœจ้ตๅพช็€่กจ่ฑก็š„่ง„ๅพ‹ๅšไบ‹๏ผŒๅฏไธ€ๆ—ฆ็ณป็ปŸๅ‡บไบ†้—ฎ้ข˜๏ผŒ่ฟ™ไบ›่ง„ๅพ‹ๅฐ†ไผšๅคฑๆ•ˆใ€‚ๅฆ‚ๆžœๆˆ‘ไปฌๆ— ๆณ•ๆดžๅฏŸ่กจ่ฑก่ƒŒๅŽ็š„็ณป็ปŸ๏ผŒๅฐฑไธๅฏ่ƒฝ็Ÿฅ้“้—ฎ้ข˜ๅ‡บๅœจๅ“ช้‡Œ๏ผŒๆ›ดไธ็Ÿฅ้“ๅฆ‚ไฝ•่งฃๅ†ณใ€‚็ฌ”่€…ๅœจๅนด่ฝปๆ—ถไนŸไธๆ™“ๅพ—่ฟ™ไธช้“็†๏ผŒๆ‰€ไปฅ็ปๅธธไผšๅ›บๆ‰งๅšๅฎˆ้”™่ฏฏ็š„่ฎค็Ÿฅ๏ผŒๆญคๅŽ่ขซ็คพไผšๆ‰“็ฃจๅพ—ๅคšไบ†๏ผŒไนŸๅฐฑๅผ€ๅง‹็ข็ฃจ็ณป็ปŸ่ฟ่กŒๅŽŸ็†ใ€้”ป็‚ผ่‡ชๅทฑ็š„ๆดžๅฏŸๅŠ›ไบ†ใ€‚

ๆดžๅฏŸๅŠ›ๆจกๅž‹ๅฐฑๆ˜ฏ๏ผš็†่งฃใ€Ž่กจ่ฑกใ€่ƒŒๅŽ็š„ใ€Ž้ป‘็›’ๅญใ€โ€”โ€”็ณป็ปŸ๏ผŒไปŽ่€Œ็œŸๆญฃไปŽๆœฌ่ดจไธŠ่งฃๅ†ณ้—ฎ้ข˜ใ€‚ๅœจ็Žฐๅฎžไธ–็•Œไธญ๏ผŒ้‡ๅˆฐ้—ฎ้ข˜๏ผŒๅฏไปฅๅฐ่ฏ•ๆ‘ธ็ดข๏ผŒไฝ†ไธ่ฆๅœ็•™ๅœจไธ€ไบ›ไผผๆ˜ฏ่€Œ้ž็š„ๆฆ‚ๅฟตไธ–็•Œ้‡Œใ€‚ๅœจ็Ÿฅ่ฏ†ไป˜่ดนๆ—ถไปฃ๏ผŒไบบไปฌๆ›ดๅฎนๆ˜“้™ทๅ…ฅๆฆ‚ๅฟตไธ–็•Œ็š„่ฟท้šœ๏ผŒๆˆ‘ไปฌๅบ”่ฏฅ็ปง็ปญๅฐ่ฏ•่ตฐ่ฟ›็ง‘ๅญฆใ€็Ÿฅ่ฏ†็š„ไธ–็•Œ๏ผŒ็”š่‡ณๆ˜ฏๆ™บๆ…งไธ–็•ŒๆฅๆŠฝ่ฑกๅˆ†ๆž๏ผŒ็„ถๅŽ็ป“ๅˆๅฎž้™…ๆƒ…ๅ†ต้™็ปดๆ‰“ๅ‡ปๅ…ท่ฑกไธ–็•Œ๏ผˆ็–ซๆƒ…ๆœŸ้—ดไปŽ B ็ซ™ๆž—่ถ…ๆ‰€้•ฟ่ง†้ข‘ไธญๅญฆๅˆฐ็š„ๆ€ป็ป“๏ผŒๆœ‰ๅ…ด่ถฃ็š„ๅฏ่‡ชๅทฑ็œ‹ๅŽŸๅˆ›่ง†้ข‘๏ผ‰๏ผš

็ณป็ปŸไธŽๆจกๅž‹ๆ€็ปดๆž„ๅปบๆดžๅฏŸๅŠ›ๆจกๅž‹

็ณป็ปŸๆ˜ฏไธ€็ป„็›ธไบ’ๅ…ณ่”็š„่ฆ็ด ๏ผŒๅณ๏ผš็ณป็ปŸ = ่ฆ็ด  x ่ฟžๆŽฅๅ…ณ็ณปใ€‚ๅœจๆ—ฅๅธธๅทฅไฝœไธŽ็”Ÿๆดปไธญ๏ผŒ่ฆ็ด ๆ˜ฏๆ˜“่ฏ†ๅˆซ๏ผŒ่ฆ็ด ็š„ๅ…ณ่”ๅ…ณ็ณปๅฎนๆ˜“่ขซๅฟฝ็•ฅ๏ผŒไฝ†้—ฎ้ข˜็š„่งฃๅ†ณๆ–นๆกˆ๏ผŒๅธธๅธธๅฐฑ่—ๅœจ่ฟ™ไบ›ใ€Ž่ฟžๆŽฅๅ…ณ็ณปใ€้‡Œใ€‚

ๅ› ๆญค๏ผŒๆˆ‘ไปฌๅฏๅŸบไบŽๆ‹†่งฃไธŽๅ…ณ่”็š„ๆ€่ทฏๆŒ‰็…งไปฅไธ‹ๆญฅ้ชค่ฟ›่กŒ๏ผš

1. ๅฏปๆ‰พๅ› ๆžœๅ…ณ็ณป๏ผŒไบบไธŽไบ‹ใ€ไบบไธŽ็‰ฉใ€ไบบไธŽไบบไน‹้—ดๅ‡ๆ˜ฏๅฆ‚ๆญคใ€‚่‹ฅๆดžๅฏŸไธไบ†ๅ…ณ่”ใ€ๅ› ๆžœๅ…ณ็ณป๏ผŒๅฐฑไธ€ไธชๅญ—ใ€Žไนฑใ€๏ผŒไฟกๆฏ็†ต่ถŠๆฅ่ถŠๅคง๏ผŒๅ™ชๅฃฐไฟกๆฏ่ถŠๆฅ่ถŠๅคšใ€‚ๅ› ๆญค๏ผŒๆˆ‘ไปฌๅฏไปฅไธๆ–ญๆ‹ฟ่ตทไธคไธชๅฏ่ƒฝๆœ‰ๅ…ณ็ณป็š„ๅ˜้‡๏ผŒ้—ฎ่‡ชๅทฑ๏ผšไป–ไปฌไน‹้—ดๆœ‰ๅขžๅผบๅ…ณ็ณปๅ—๏ผŒๆœ‰ๅ‡ๅผฑๅ…ณ็ณปๅ—๏ผŸ

2. ๅฏปๆ‰พๅขžๅผบๅ›ž่ทฏ๏ผŒๅ› ๆžœๅ…ณ็ณปๅชๆ˜ฏๅ•ๅ‘็บฟๆฎต๏ผŒๆœ‰ๅคดๆœ‰ๅฐพ๏ผŒไฝœ็”จๆ•ˆๆžœไปŽๅคดไผ ๅˆฐๅฐพๅฐฑ็ป“ๆŸไบ†ใ€‚ๅ› ๆญค๏ผŒๆˆ‘ไปฌ้œ€่ฆ็ปง็ปญๆ€่€ƒๆ˜ฏๅฆ่ƒฝๆŠŠ็ป“ๅฐพไธŽๅผ€ๅคดไนŸ็”จไธ€ๆก็บฟๆฎต่ฟžๆŽฅ่ตทๆฅๅฝขๆˆไธ€ไธชๅขžๅผบๅ›ž่ทฏใ€‚็”Ÿๆดปไธญๆœ‰ๅพˆๅคšๅขžๅผบๅ›ž่ทฏ็š„็คบไพ‹๏ผš

  • ไบบ่ถŠๆ˜ฏ็งฏ็ดฏไบ†็Ÿฅ่ฏ†๏ผŒ็งฏ็ดฏๆ–ฐ็Ÿฅ่ฏ†็š„่ƒฝๅŠ›ๅฐฑ่ถŠๅผบ๏ผ›็งฏ็ดฏๆ–ฐ็Ÿฅ่ฏ†็š„่ƒฝๅŠ›่ถŠๅผบ๏ผŒ็„ถๅŽๅฐฑๆ›ด่ƒฝ็†่งฃๆ–ฐ็Ÿฅ่ฏ†.
  • ไบบ่ถŠๆœ‰ไฟก็”จ๏ผŒๅˆซไบบ่ถŠๆ„ฟๆ„ๅ’Œไฝ ๅˆไฝœใ€‚ๅˆซไบบ่ถŠๆ„ฟๆ„ๅ’Œไฝ ๅˆไฝœ๏ผŒไฝ ๅฐฑ่ƒฝ็งฏ็ดฏๆ›ดๅคš็š„ไฟก็”จ๏ผŒๅฐฑ่ถŠๆœ‰ไบบๅ’Œไฝ ๅˆไฝœ๏ผŒๅฆ‚ๆญคไธๆ–ญๅขžๅผบ๏ผ›

3. ๅพˆๅคšๆ—ถๅ€™๏ผŒๆˆ‘ไปฌ็š„ๆ”นๅ–„ๅนถไธ้œ€่ฆไธ€็›ด็Œ›่ธฉๆฒน้—จ๏ผŒๆœ‰ๆ—ถๅช่ฆๆพๅผ€ๅˆน่ฝฆๅฐฑๅฅฝ๏ผŒๅœจๅขžๅผบๅ›ž่ทฏ็š„ๆˆๆ•ˆ่ถŠๆฅ่ถŠไฝŽๆ—ถ๏ผŒๅพˆ้šพๅ†ๆœ‰็ช็ ด๏ผŒ่ฐƒ่Š‚ๅ›ž่ทฏๆœ‰ๅŠฉไบŽๆ”นๅ–„ๅขžๅผบๅ›ž่ทฏๅธฆๆฅ็š„้—ฎ้ข˜ใ€‚

ไธ‰ไธชๅ›ž่ทฏ็คบๆ„ๅ›พ

3.1. ๅขžๅผบๅ›ž่ทฏๅฐไพ‹ๅญ ๐ŸŒฐ โ€‹

้•ฟไน…ไปฅๆฅ๏ผŒไบบไปฌ็ป™ๅขžๅผบๅ›ž่ทฏๅฏผ่‡ด็š„ๅคง่ตทๅคง่ฝ็Žฐ่ฑก๏ผŒ่ตทไบ†ๆ— ๆ•ฐ็š„ๅๅญ—๏ผŒๅธธ่ง็š„ๆœ‰๏ผš้ฉฌๅคชๆ•ˆๅบ”ใ€็ปๆตŽๅญฆๅฎถๅฃไธญ็š„่ตขๅฎถ้€šๅƒใ€้‡‘่žๅญฆไธญ็š„ๅคๅˆฉๆ•ˆๅบ”ใ€ไบ’่”็ฝ‘ๅ…ฌๅธ็š„ๆŒ‡ๆ•ฐๅž‹ๅขž้•ฟใ€‚

ๅฐไบ‹ๆƒ…ๆŽจๅŠจ้ ่ชๆ˜Žๆ‰ๆ™บ๏ผŒๆฏ”่พƒ้•ฟ่ฟœ็š„ไบ‹ๆƒ…่ฆ้ ๅปบ็ซ‹ๆญฃๅ‘็š„ๅขžๅผบๅ›ž่ทฏใ€‚2022 ๅนดๅบ•ๅˆฐ2023 ๅนดๆœซ๏ผŒๅคงๆจกๅž‹็›ธๅฝ“็ซ็ˆ†๏ผŒๅ…ถ่ƒŒๅŽ็š„ OpenAI ๆ›ดๆ˜ฏๆˆไธบๅฝฑๅ“ๅŠ›ๅพˆๅคง็š„ๅ…ฌๅธ๏ผŒๆˆ‘ไปฌๅฏๆœ‰ๅ…ณๆณจไป–ไปฌๅœจๅ†…้ƒจๅไฝœ็š„ๅขžๅผบๅ›ž่ทฏๅ‘ข๏ผŸ

OpenAI ไบงๅ“ๆŽจๅŠจ็š„ๆ€่ทฏๆ˜ฏ๏ผš The model is the product๏ผŒๅฐ†ๆจกๅž‹็š„ๆ–ฐๅŠŸ่ƒฝ่žๅ…ฅไบงๅ“๏ผŒๅœจ่ฎพ่ฎกไบงๅ“่ฟ‡็จ‹ไธญไธŽ็ ”็ฉถๅ›ข้˜Ÿไธ“ๆณจ่ฎพ่ฎกๆจกๅž‹่กŒไธบ๏ผš

OpenAI ไบงๅ“ๆŽจๅŠจ็š„ๆ€่ทฏ

็ฌ”่€…ๆ˜ฏไธ€ไธชๆฏ”่พƒๅ–œๆฌข้˜…่ฏป็š„ไบบ๏ผŒ้š็€้˜…่ฏปๆ—ถ้—ด็š„็ดฏๅŠ ๏ผŒไนŸๅœจ้€ๆญฅๆ€่€ƒๆ€Žไนˆๆ‰่ƒฝๅฐ†่‡ชๅทฑ่Žทๅพ—็š„ใ€Ž่พ“ๅ…ฅไฟกๆฏใ€ๅ˜ๆˆๆœ‰ไธ€ๅฎš่ดจ้‡ไธŽๆญฃๅ‘ๆ•ˆๆžœ็š„ใ€Ž่พ“ๅ‡บใ€๏ผŸ

่ตทๅˆ๏ผŒๅชๆƒณๅˆฐไบ†ไธ€ไบ›ๅธธ็”จ็š„ Push ๆ–นๆณ•๏ผšๅคš่ฏปไนฆ๏ผŒๅคšไธŽๅˆซไบบๆฒŸ้€šใ€่ฏทๆ•™๏ผŒ็„ถๅŽๅฐ่ฏ•ๅŽปๆ”นๅ–„ใ€Ž่พ“ๅ‡บใ€ใ€‚

ๅŽๆฅ๏ผŒไนŸไธ็Ÿฅๅ“ชๅคฉ็ชๅ‘ๅฅ‡ๆƒณ๏ผŒๆƒณ่ตทไบ†ๅคงๅญฆ่€ๅธˆๆ›พ็ปๅœจๆŸ่Š‚่ฏพๅ ‚ไธŠ๏ผˆๅนธไบๅฝ“ๆ—ถๆฒกๆœ‰ๅœจ่ฏพไธŠ็ก่ง‰๏ผ‰ๆๅˆฐ็š„ไธ€ไธชๅธธ่ง็š„ๅ•†ไธš็ฎก็†ๆจกๅผ๏ผšๆŽจๆ‹‰ๆจกๅผ๏ผˆPush/Pull๏ผ‰ใ€‚ไบŽๆ˜ฏๅฐฑๅฐ†ใ€Ž่พ“ๅ…ฅใ€ไธŽใ€Ž่พ“ๅ‡บใ€็ฎ€ๅŒ–ไธบ๏ผšๅฌใ€่ฏดใ€่ฏปใ€ๅ†™่ฟ™ๅ››ไธชๅ› ็ด ๏ผŒไปŽ Push ไธŽ Pull ไธคไธชๆ–น้ขๆฅ็ผ–ๆŽ’่ฟ™ๅ››ไธชๅ› ็ด ๏ผŒๅฐฑ่ƒฝ็ป„ๆˆ่พ“ๅ…ฅไธŽ่พ“ๅ‡บไน‹้—ด็š„ๅขžๅผบๅ›ž่ทฏ๏ผš

ๆŽจๆ‹‰ๆจกๅผ
  • ๆ‰€่ฐ“ Push๏ผŒๅฐฑๆ˜ฏ็ปง็ปญไฟๆŒไน‹ๅ‰็š„ไน ๆƒฏ๏ผšๅคšๅฌใ€ๅคš่ฏปใ€ๅคšๆ€่€ƒใ€‚
  • ๆ‰€่ฐ“ Pull๏ผŒๅฐฑๆ˜ฏๅผบ่ฐƒใ€Ž่พ“ๅ‡บใ€๏ผŒๅคš่ฏดใ€ๅคšๅ†™ใ€ๅคšๅผบ่ฐƒไบงๅ‡บใ€‚

่ฎฉไธค่€…ๅฝขๆˆไธ€ไธชๅขžๅผบๅ›ž่ทฏ๏ผŒๅ˜ๆˆไธ€ไธช่‡ชๅŠจ่ฟ่กŒ็š„ๅทๅŠจๆœบ๏ผŒๆ•ˆๆžœๅฐฑไผšๆฏ”ๅ•็‹ฌ Push ๆˆ– Pull ๆ›ดๅฅฝใ€‚

3.2. ่ฐƒ่Š‚ๅ›ž่ทฏ โ€‹

ๅฆ‚ๆžœ่ฏดๅขžๅผบๅ›ž่ทฏ็š„ๅญ˜ๅœจ๏ผŒๆ˜ฏ่ฎฉ่ฟ™ไธชไธ–็•Œ่ตฐๅ‘ๆž็ซฏ๏ผŒ้‚ฃไนˆ่ฐƒ่Š‚ๅ›ž่ทฏ็š„ๅญ˜ๅœจ๏ผŒๅฐฑๆ˜ฏ่ฎฉ่ฟ™ไธชไธ–็•Œๅ›žๅฝ’ๅนณ่กกใ€‚ๅ› ไธบๅขžๅผบๅ›ž่ทฏๅฐฑๆ˜ฏใ€Ž็‹‚ๅทใ€๏ผŒ่ฟฝๆฑ‚ๆž็ซฏ๏ผŒๅพˆๅฎนๆ˜“้™ทๅ…ฅใ€Ž็›ฎๆ ‡้šง้“ใ€๏ผŒ่€Œ่ฐƒ่Š‚ๅ›ž่ทฏ๏ผŒ่ฎฉไบบๅ›žๅฝ’ๅนณ่กกใ€่‡ช็„ถ๏ผŒๅœจๅพ—ๅˆฐไผ‘ๆฏ็š„ๅŒๆ—ถๅขžๆทปไน่ถฃใ€‚

ๅ› ๆญค๏ผŒๆˆ‘ไปฌๅœจๆ‰พๅˆฐ่‡ชๅทฑ็š„ๅขžๅผบๅ›ž่ทฏๅŽไนŸ้œ€่ฆๅ€ŸๅŠฉ่ฐƒ่Š‚ๅ›ž่ทฏ๏ผŒไปฅๅŠไธŠ่ฟฐๆๅˆฐ็š„ๅนณ่กกๆ€็ปดๆฅ่ฝๅœฐ่ฐƒ่Š‚ๅ›ž่ทฏ๏ผŒ็ฌ”่€…่ฟ™้‡Œๅฐฑไธๅš่ฟ‡ๅคš่ต˜่ฟฐใ€‚

ๅฝ“็„ถ๏ผŒๆจกๅž‹ๆ€็ปดๅ›บ็„ถ่ƒฝๅธฎๅŠฉๆˆ‘ไปฌๅพˆๅฅฝๅœฐๅฎž่ทต๏ผŒ่ฎฉ่‡ชๅทฑๅ˜ๅพ—็ฎ€ๆดใ€ๆธ…ๆ™ฐใ€้€ๅฝป๏ผŒไฝ†ไนŸๆœ‰ๅ…ถๅฑ€้™ๆ€งใ€‚ๅœจๆจกๅž‹ๅŸบๆœฌ็กฎๅฎš็š„ๆƒ…ๅ†ตไธ‹๏ผŒๅ…ถ่ƒฝๅŠ›็š„ใ€Žๅคฉ่Šฑๆฟใ€ไนŸ้šไน‹็กฎๅฎš๏ผŒๅคฉ่Šฑๆฟ็š„็ช็ ด้œ€่ฆๆˆ‘ไปฌๆ นๆฎๅฎž้™…ๆƒ…ๅ†ตๆฅๆŒ็ปญไธฐๅฏŒใ€ๅ‡็บง่‡ชๅทฑ็š„ๅฟƒๆ™บๆจกๅž‹ใ€‚

4. ้‡่ฏปๆ•ฐๅญฆ็š„ไน่ถฃ โ€‹

NOTE

่กŒๆ–‡่‡ณๆญค๏ผŒๅŸบๆœฌๅˆฐไบ†ๆœ€ๅŽไธ€ไธชไธ“้ข˜๏ผšๆ•ฐๅญฆใ€‚้‰ดไบŽ่ฎธๅคšไบบๅฏนๆ•ฐๅญฆๆœ‰็€ๅˆ็ˆฑๅˆๆจ็š„ๆๆƒงๅฟƒ็†๏ผŒ็ฌ”่€…ๅœจ่ฟ™้‡Œไฟ่ฏไธไผšๅผ•ๅ…ฅไธ€ไบ›ๅคๆ‚็š„ๅ…ฌๅผ๏ผŒ่€Œๆ˜ฏ้‡ๅœจๅผบ่ฐƒๆ•ฐๅญฆๆ€็ปด็œŸ็š„ๅˆๅบ•ๅฑ‚ๅˆๆœ‰็”จ๏ผŒๆ›ด่ดด่ฟ‘ไบบไปฌๅธธ่ฏด็š„ใ€Ž็ฌฌไธ€ๆ€งๅŽŸ็†ใ€ใ€‚

4.1. ๆ€Žไนˆ็ช็„ถๅˆๅญฆ่ตทๆ•ฐๅญฆไบ†๏ผŸ โ€‹

็›ธไฟกๅพˆๅคšไบบ้ƒฝๅฌ่ฏด่ฟ‡ๅˆ†่งฃใ€ๅˆ†็ฑปใ€ๆŽ’ๅˆ—ใ€็ป„ๅˆใ€ๅ››่ฑก้™ใ€ๆต็จ‹็ญ‰ๆฏ”่พƒ็ƒญ้—จ็š„่ฏ่ฏญ๏ผŒ้‚ฃไนˆ้—ฎ้ข˜ๆฅไบ†๏ผŒๆˆ‘ไปฌๆ˜ฏๅฆๆขณ็†ๆ€ป็ป“่ฟ‡่‡ชๅทฑ็œŸๆญฃๅฎž่ทตใ€ๅบ”็”จไบ†ๅคšๅฐ‘ๅ‘ข๏ผŸ็ฌ”่€…่ฟ˜็œŸ็š„ๅˆปๆ„ๆขณ็†่ฟ‡๏ผš

็ป„ๅˆ็คบๆ„ๅ›พ

ๅœจๅŸบ็ก€้€ป่พ‘ไธŽ่กŒๅŠจๆŒ‡ๅฏผใ€ไบงๅ‡บ่กจ่ฟฐไธŽๅ†™ไฝœ่ฎญ็ปƒ้˜ถๆฎต๏ผŒๅช่ฆ่‚ฏ่Šฑๆ—ถ้—ดๅŽปๅญฆไน ้ข†ๆ‚Ÿ๏ผŒๅนถๅˆปๆ„่ฎญ็ปƒ๏ผŒๆˆ‘ไปฌๅŸบๆœฌ้ƒฝ่ƒฝ่Žทๅพ—ไธ้”™็š„ๆ•ˆๆžœใ€‚้š็€ๆ—ถ้—ด็š„็งฏ็ดฏ๏ผŒ็ฌ”่€…้€ๆธๅ‘็Žฐ่‡ชๅทฑๅœจๅบ•ๅฑ‚ๅŽŸ็†ๆ–น้ข็š„ๆŠฝ่ฑก็†่งฃ่ƒฝๅŠ›ไธๆ˜ฏไธ€่ˆฌ็š„่–„ๅผฑ๏ผš

  • ๅœจๅ‡ฝๆ•ฐใ€ๅคๅˆฉใ€ๆŽ’ๅˆ—็ป„ๅˆๆ–น้ขไนŸๅฐšๅฏ๏ผŒไฝ†ๅพˆ้šพๅฐ†ๅ†ณ็ญ–ๆ ‘ใ€่ดๅถๆ–ฏ็ญ‰ๆฆ‚็އ็†่ฎบๅบ”็”จๅˆฐๆ—ฅๅธธๅทฅไฝœไธŽ็”Ÿๆดปไธญ๏ผŒๅŽๆฅ็ฌ”่€…ไนŸ่ง‚ๅฏŸๅˆฐ่บซ่พนๅคง้ƒจๅˆ†ไบบไนŸๆ˜ฏๆฒก่ƒฝๅฐ†่ฟ™ไบ›็†่ฎบๅบ”็”จๅˆฐๅฎž้™…ๅทฅไฝœไธญใ€‚
  • ้š็€ๅฏนๆจกๅž‹ๆ€็ปดใ€้‡ๅŒ–ๅˆ†ๆž็ญ‰ๅ…ด่ถฃ็š„ๅŠ ๅผบ๏ผŒไปฅๅŠ AI ๅคงๆจกๅž‹ๅ…ด่ตท๏ผˆๆˆไธบไบ† ChatGPT ้ ๅ‰ไธ€ๆ‰น็š„ๆณจๅ†Œ่€…๏ผ‰๏ผŒๆ•ฐๅญฆๆ–น้ข็š„็Ÿญๆฟๆ›ดๆ˜ฏๅ‡ธๆ˜พใ€‚

ๅ› ๆญค๏ผŒๅŸบไบŽๅคšๆ–น้ข้‡ๅˆฐ็š„้—ฎ้ข˜๏ผŒ็ฌ”่€…ๅฐฑ้‡ๆ–ฐๅญฆ่ตทไบ†ๆ•ฐๅญฆ๏ผš

  • ่ตทๅˆไผš็œ‹ไธ€ไบ›ๆ•ฐๅญฆๅ‘ๅฑ•ๅฒใ€ๆ•ฐๅญฆๅฎถ็š„ๆ•…ไบ‹ใ€ๆ—ฅๅธธๅทฅไฝœไธŽ็”Ÿๆดปไธญๅธธ็”จ็š„ๆ•ฐๅญฆ็Ÿฅ่ฏ†ใ€‚
  • ๅœจ 2023 ๅนดๆ›ดๆ˜ฏๅฏๅŠจไบ†ๆ•ฐๅญฆ้€š่ฏ†ๅŸบ็ก€็Ÿฅ่ฏ†ใ€ๆฆ‚็އ่ฎบ็ญ‰ๅŸบ็ก€็Ÿฅ่ฏ†็š„ๅญฆไน ไธŽ็†่งฃใ€‚ๅœจๅคงๆจกๅž‹่ถŠๆฅ่ถŠ่ขซๅคงๅฎถ็†Ÿ็ŸฅๅŽ๏ผŒๆ›ดๅœจๆ•ฐๅญฆๅŸบ็ก€็Ÿฅ่ฏ†็š„ๅŸบ็ก€ไธŠไพง้‡่กฅๅ……ไบ†ไธ€ไบ›ๆœบๅ™จๅญฆไน ใ€็ฅž็ป็ฝ‘็ปœ็ญ‰ๆจกๅž‹ไธŽ็ฎ—ๆณ•ไพ่ต–็š„ๆ•ฐๅญฆ็Ÿฅ่ฏ†๏ผˆ่ฟ™ไบ›็Ÿฅ่ฏ†ๅœจๅคงๅญฆ้˜ถๆฎต่™ฝ็„ถไนŸๅญฆ่ฟ‡๏ผŒไฝ†ๆฏ•ไธš่ตฐๅ‘ๅทฅไฝœๅฒ—ไฝๅŽ๏ผŒๅพˆๅฐ‘ๆœ‰ๆœบไผšๅฐ†ๅ…ถๅบ”็”จๅˆฐๅฎž้™…ๅทฅไฝœไธญ๏ผ‰ใ€‚

4.2. ้‡ๆ–ฐๅ‘็Žฐไบ†ๆœ‰่ถฃ็š„ๆ•ฐๅญฆๆ€็ปด โ€‹

ๅˆ†่งฃไธŽๅˆ†็ฑปใ€ๆŽ’ๅˆ—ไธŽ็ป„ๅˆ โ€‹

็›ธไฟกไธๅฐ‘ไบบๅทฒ็ปๆฏ”่พƒ็†Ÿๆ‚‰ใ€ŽๅŒ–็นไธบ็ฎ€ใ€๏ผŒใ€Ž่ง็ผๆ’้’ˆใ€ๅผไบ‹ๅŠก็ฎก็†ใ€‚็ฌ”่€…่ฟ™้‡Œไพๆ—งๆŠŠใ€Žๅˆ†่งฃไธŽๅˆ†็ฑปใ€ๆŽ’ๅˆ—ไธŽ็ป„ๅˆใ€ๆ”พๅœจ็ฌฌไธ€ไฝ๏ผŒๆˆ‘ไปฌๅœจๆŽฅๆ”ถไนๅนดไน‰ๅŠกๆ•™่‚ฒๆ—ถๅฐฑๅผ€ๅง‹ๅญฆไน ่ฟ™ไบ›๏ผŒไฝ†ๅพˆๅฐ‘ๆœ‰ไบบ่ƒฝ็”จ่ฟ™ไบ›ๆฏ”่พƒ็ฎ€ๅ•็š„ๆ•ฐๅญฆๆ€็ปด็ฎก็†่‡ชๅทฑ็š„ๆ—ถ้—ดไธŽไบ‹ๅŠกใ€‚

็ฌ”่€…่ฟ™้‡Œๅชๆไธ€ไธชไบบ๏ผš้›ทๅ†›๏ผŒๅˆจ้™คๅŽๆฅ็š„ๅ…‰็Žฏไธ่ฎฒ๏ผŒไป–ๅฝ“ๅนดๅœจๆญฆๆฑ‰ๅคงๅญฆ่ฏปไนฆๆ—ถ็œŸ็š„ๅฐ†่ฟ™ไบ›ๅบ”็”จๅพ—ๆท‹ๆผ“ๅฐฝ่‡ด๏ผŒๅŽๆฅไนŸๅœจไธๅฐ‘ๅœบๅˆไปฅ็ปๅކๅ›ž้กพ็š„ๆ–นๅผไผ ๆŽˆ็ป™ๅพˆๅคšๅนด่ฝปไบบ๏ผˆๆ„Ÿๅ…ด่ถฃ็š„ๅฏๅœจ็ฝ‘ไธŠๆœไธ€ไบ›ๆ›ด่ฏฆ็ป†็š„่ต„ๆ–™๏ผ‰ใ€‚ๆ‰€ไปฅ๏ผŒ็ฌ”่€…ไนŸ่ฎคไธบ๏ผšไธ€ไธชไบบ่ถŠๆ—ฉๅญฆไผšๅฐ†ใ€Žๅˆ†่งฃไธŽๅˆ†็ฑปใ€ๆŽ’ๅˆ—ไธŽ็ป„ๅˆใ€ๅบ”็”จๅˆฐๅทฅไฝœไธŽ็”Ÿๆดปไธญ่ถŠๅฅฝ๏ผŒๅธฆๆฅ็š„ๆญฃๅ‘ๆ•ˆๆžœ็‰นๅˆซๅคš๏ผŒๆดปๅพ—ไธ็ณŠ้‡Œ็ณŠๆถ‚๏ผŒๆœ‰่‡ชๅทฑ็š„่Š‚ๅฅๆ„Ÿใ€‚

ๅคšๆ ทๆ€ง็บขๅˆฉ โ€‹

ๅ‡่ฎพไธ€ไธชๆ–น็จ‹ไปฃ่กจไปŽไธ€ไธช่ง’ๅบฆ่ง‚ๅฏŸๅพ—ๅˆฐ็š„็ป“ๆžœ๏ผŒ้‚ฃไนˆ๏ผŒๅฆ‚ๆžœๆˆ‘ไปฌไปŽๅคšไธช่ง’ๅบฆ่ง‚ๅฏŸ๏ผŒๅฐฑไผšๅพ—ๅˆฐๆ–น็จ‹็ป„๏ผŒๆฑ‚่งฃๆ–น็จ‹็ป„็š„่ฟ‡็จ‹ๅฐฑๆ˜ฏๆ•ดๅˆๅคšไธช่ง’ๅบฆ็š„่ง‚ๅฏŸ็ป“ๆžœ๏ผŒๆ‰พๅˆฐๆœ€ๆŽฅ่ฟ‘็œŸ็›ธ็š„็ญ”ๆกˆ๏ผš

็—…ๆ€ๆ–น็จ‹็ป„็คบๆ„

ๅ›พ1๏ผš็—…ๆ€ๆ–น็จ‹็ป„๏ผšไธคๆก็บฟ็‰นๅพ่ฟ‘ไผผ๏ผŒ็จๅพฎๅ‘็”Ÿๅ˜ๅŒ–ๅฐฑๅธฆๆฅ่พƒๅคง่ฏฏๅทฎ

ๅ…ผ้กพๅคšๆ ทๆ€ง็š„ๆ–น็จ‹็ป„็คบๆ„

ๅ›พ2๏ผšๅ…ผ้กพๅคšๆ ทๆ€ง็š„ๆ–น็จ‹็ป„

ๅฆ‚ๆžœๆˆ‘ไปฌๆ€ปๆ˜ฏๅŸบไบŽๆ–œ็އ้žๅธธๆŽฅ่ฟ‘็š„็›ด็บฟๅปบ็ซ‹ๆ–น็จ‹็ป„๏ผŒๆŸๆก็›ด็บฟๅช่ฆ็จๅพฎๅ˜ๅŒ–ไธ€็‚น๏ผŒๆœ€็ปˆ็š„็ญ”ๆกˆๅฐฑไผšๆœ‰ๅพˆๅคงๅ˜ๅŒ–ใ€‚้€š่ฟ‡็—…ๆ€ๆ–น็จ‹็ป„๏ผŒๆˆ‘ไปฌๅฏไปฅๆ›ดๅฅฝๅœฐ็œ‹ๆธ…ไธบไป€ไนˆๅคšๆ ทๆ€ง็‰นๅˆซ้‡่ฆ๏ผŒๅคšๆ ทๆ€งๅทฒ็ปๆ˜ฏไธ€ไธชๅ…ฌ่ฎค็š„ไผ˜ๅŠฟ๏ผŒไปปไฝ•ไบบ้ƒฝไผšๆœ‰่ฎค็Ÿฅ็›ฒ็‚น๏ผŒ็ซ™ๅœจไธๅŒ่ง’ๅบฆ็š„ไบบๅœจไธ€่ตท่ฎจ่ฎบๅŽ่พพๆˆ็š„ๅ…ฑ่ฏ†ๅพ€ๅพ€ๆœ€ๆŽฅ่ฟ‘็œŸ็›ธใ€‚

ๅ› ๆญค๏ผŒๆˆ‘ไปฌๅœจๆ—ฅๅธธๅทฅไฝœ็”Ÿๆดปไธญ่ฆ่ฏ•็€ๅนณ่กก๏ผŒ่ฟ็”จๅคšๆ ทๆ€ง็บขๅˆฉ๏ผŒไธๅบ”่ฏฅใ€Ž่ฟ‡ๅทใ€่ฟ‡ๆ‹Ÿๅˆใ€๏ผŒๅฆๅˆ™ๅฎนๆ˜“ๅฏผ่‡ด้€‚ๅบ”ๆ€งไธ‹้™๏ผŒ็ขฐๅˆฐๆ–ฐ็Žฏๅขƒๅฐฑไผšๅ„็งไธ้€‚ๅบ”ใ€‚

่ฟ™ไธชไธ–็•Œๆ˜ฏ็จ€็–็š„ โ€‹

ๅ‚…็ซ‹ๅถๅœจ 1807 ๅนดๆไบคไบ†ไธ€็ฏ‡่ฎบๆ–‡๏ผŒ้˜่ฟฐไบ†ไธ€ไธช็ป“่ฎบ๏ผšไปปไฝ•ไธ€ไธช่ฟž็ปญ็š„ๅ‘จๆœŸไฟกๅท๏ผŒ้ƒฝๅฏไปฅ้€š่ฟ‡ไธๅŒ้ข‘็އ็š„ๆญฃๅผฆๆณขๅ ๅŠ ๅพ—ๅ‡บ๏ผŒ่ฟ™ไบ›ๆญฃๅผฆๆณขๅ‰้ข็š„็ณปๆ•ฐๅคง้ƒจๅˆ†ไธบ้›ถ๏ผŒๅชๆœ‰ๅฐ‘้ƒจๅˆ†็ณปๆ•ฐๆ่ฟฐไบ†ๆ›ฒ็บฟ็š„ๆ ธๅฟƒ็‰นๅพ๏ผš

ๅ‚…็ซ‹ๅถ็บงๆ•ฐ็คบๆ„

ๅ›พ1๏ผšๅ›พ็‰‡ๆฅ่‡ชใ€Šๅฟƒไธญๆœ‰ๆ•ฐ๏ผŒ็”Ÿๆดปไธญ็š„ๆ•ฐๅญฆๆ€็ปดใ€‹

ๅ‚…็ซ‹ๅถ็บงๆ•ฐ็ณปๆ•ฐ็คบๆ„

ๅ›พ2๏ผšๅ›พ็‰‡ๆฅ่‡ชใ€Šๅฟƒไธญๆœ‰ๆ•ฐ๏ผŒ็”Ÿๆดปไธญ็š„ๆ•ฐๅญฆๆ€็ปดใ€‹

็†Ÿๆ‚‰ๆ•ฐๆฎๅŽ‹็ผฉ็š„่ฏป่€…ๅบ”่ฏฅ็Ÿฅ้“่ฟ™ไธชๅŽŸ็†๏ผŒๆˆ‘ไปฌๅช้œ€ๆŠŠๅฐ‘้‡ๆฏ”่พƒๅคง็š„็ณปๆ•ฐๅฏนๅบ”็š„็ฎ€ๅ•ๅ›พๅƒๅ’Œๅฏนๅบ”็š„็ณปๆ•ฐไธ€่ตทๅญ˜่ตทๆฅ๏ผŒๅฐฑๅฏไปฅๆขๅคๅŽŸๅง‹ๅ›พๅƒ๏ผŒไธ”ๅคงๅคงๅŽ‹็ผฉไบ†ๅญ˜ๅ‚จ็ฉบ้—ด๏ผš

ๆ•ฐๆฎๅŽ‹็ผฉ็คบๆ„

ๅ›พ็‰‡ๆฅ่‡ชใ€Šๅฟƒไธญๆœ‰ๆ•ฐ๏ผŒ็”Ÿๆดปไธญ็š„ๆ•ฐๅญฆๆ€็ปดใ€‹

ๅ› ๆญค๏ผŒๆˆ‘ไปฌๅœจ้‡ๅˆฐๆฏ”่พƒๅคๆ‚็š„้—ฎ้ข˜ๆ—ถ๏ผŒไธ้œ€่ฆๅฎณๆ€•๏ผŒๅ› ไธบ็Žฐๅฎžไธ–็•Œไธญ็š„ไบ‹็‰ฉ็œ‹ไผผๅคๆ‚๏ผŒไธ€ๆ—ฆ่ฝฌๆขไธบๅ…ถไป–็š„่กจ็คบๆ–นๆณ•ๅŽ๏ผŒ้€šๅธธๆ˜ฏ็จ€็–็š„ใ€‚ๆˆ‘ไปฌๅช้œ€่ฆๆ‹†่งฃๅนถๅ…ณๆณจๅฐ‘้ƒจๅˆ†ๆ ธๅฟƒ่ฆ็ด ๏ผŒไปฅๅŠๅฎƒไปฌไน‹้—ด็š„ๅ…ณ่”ๅณๅฏใ€‚็จ€็–ๆ— ๅค„ไธๅœจ๏ผŒๅพˆๅคš็œ‹่ตทๆฅๅคๆ‚็š„็Žฐ่ฑก่ƒŒๅŽๆ‰€ๅŒ…ๅซ็š„่ง„ๅพ‹๏ผŒๅพ€ๅพ€้ƒฝๆ˜ฏ็จ€็–ไธ”็ฎ€ๅ•็š„ใ€‚

ๆฆ‚็އ็š„ไธ–็•Œ่ง‚ โ€‹

็ฌ”่€…ๅœจ 2023 ๅนดไบ”ไธ€ๅ‡ๆœŸๅŽปใ€Žๆญๅทžๅฎ‹ๅŸŽใ€ๆธธ็Žฉไบ†ไธ€ไธ‹๏ผŒๅฟซ็ป“ๆŸๆ—ถ้‡ๅˆฐไบ†ไธ€ไธช็‰นๅˆซๆœ‰ๆ„ๆ€็š„ๅจฑไนๆดปๅŠจ๏ผš"่ตŒ้’ฑ"ใ€‚่ฟ™้‡Œ็š„ "่ตŒ้’ฑ"ๆดปๅŠจๆ˜ฏๆธธๅฎขๆ‹ฟ็€ๅœจๅฎ‹ๅŸŽ้’ฑๅบ„้‡Œๅ…‘ๆข็š„ใ€ไธ”ๆถˆ่ดนไธ€ๅคฉๅŽ่ฟ˜ๅ‰ฉไฝ™็š„้›ถ้’ฑ้“œๆฟๅŽป่ตŒไธ€ๆŠŠ๏ผŒ็ขฐ็ขฐ่ฟๆฐ”๏ผŒไฝ“้ชŒไธ‹ๅฎ‹ๆœ็š„่ตŒๅœบใ€‚

่ง„ๅˆ™ๅพˆ็ฎ€ๅ•๏ผšๆ‹ฟ็€ๆ‰‹้‡Œ็š„้“œๆฟ้€‰ๆ‹ฉๆŠผๅคงๆˆ–ๆŠผๅฐ๏ผŒ็พŽไธฝ็š„่ฅฟๅญๅง‘ๅจ˜็›ดๆŽฅๆŽท้ชฐๅญ๏ผŒ้กพๅฎข่ตขไบ†ๅฐฑ็ป™ๅŒๆ ท็š„ไธ‹ๆณจ้“œๆฟ๏ผŒๅบ„ๅฎถ่ตขไบ†ๅฐฑ็›ดๆŽฅ่ตข่ตฐไธ‹ๆณจ็š„้“œๆฟใ€‚็œ‹ไผผ็ฎ€ๅ•ๅˆ็ฒ—ๆšด็š„่ง„ๅˆ™๏ผŒไธ€ๆฎตๆ—ถ้—ดไธ‹ๆฅ๏ผŒๅคง้ƒจๅˆ†ๆธธๅฎขๅŸบๆœฌ้ƒฝๆŠŠไป…ๅ‰ฉ็š„้“œๆฟ็•™ๅœจไบ†ๅฎ‹ๅŸŽ๏ผŒๅพˆๅฐ‘ๆœ‰้กพๅฎข่ƒฝ่ตขใ€‚ๅฝ“็„ถ๏ผŒ็ฌ”่€…ๅ’Œๆœ‹ๅ‹ไนŸไธไพ‹ๅค–๏ผŒไธ่ฟ‡่ฟ˜ๆ˜ฏ้‡‡็”จไบ†ไธ€ไธช็ญ–็•ฅๅŽปๅๆŠ—ไบ†ไธ‹๏ผŒ่ฎฉๆธธๆˆๆ—ถ้—ดๅปถ้•ฟไธ€็‚น๏ผšไธ‰ไธชไบบ็บฆๅฎšๅˆ†ๅทฅ๏ผŒไธ€ไบบๅช่ƒฝๆŠผๅคง๏ผŒๅฆไธ€ไบบๅช่ƒฝๆŠผๅฐ๏ผŒๆœ€ๅŽไธ€ไบบๆ‹ฟ็€ๅ‰ฉไฝ™็š„้“œๆฟ่‡ช็”ฑ่ฐƒๅบฆ้€‰ๆ‹ฉๆŠผๅคงๆŠผๅฐใ€‚ๅฏ็ปˆ็ฉถๆฒกๆœ‰ๆ”นๅ˜ๆœ€็ปˆ็š„็ป“ๆžœ๏ผŒ็›ธไฟก็†Ÿๆ‚‰ "ๅคงๆ•ฐๅฎšๅพ‹"็š„ไบบๅทฒ็ป็Ÿฅ้“ไธบไป€ไนˆไบ†๏ผšๅช่ฆไธ€ไปถไบ‹ๆƒ…ๅ‘็”Ÿ็š„ๆฌกๆ•ฐ่ถณๅคŸๅคš๏ผŒๅฎƒๅ‡บ็ŽฐๆŸไธ€ไธช็ป“ๆžœ็š„้ข‘็އๅฐฑ็ญ‰ไบŽๅ…ถๆฆ‚็އใ€‚

ๅฎ‹ๅŸŽ่ฟ™ไธชๅคงๅบ„ๅฎถๆ˜ฏๆดปๅŠจไธพๅŠžๆ–น๏ผŒไธ€็›ดๆœ‰่Œๅ‘˜ๅœจ็Žฉ๏ผŒๅŸบๆœฌๅฏไปฅ็œ‹ๆˆๆœ‰ 1/6 ็š„ๆฆ‚็އ็จณ่ตข๏ผŒๅนฟๅคงๆธธๅฎขๆฅๅฎ‹ๅŸŽ็š„็›ฎ็š„ๆ˜ฏๆธธ็Žฉ๏ผŒไธๆ˜ฏใ€Ž่ตŒ้’ฑใ€๏ผŒ็Žฉๅพ—ๆฌกๆ•ฐ็›ธๅฏนๅฐ‘ๅคชๅคš๏ผŒ่ตข็š„ๆฆ‚็އ่ฟœ่ฟœๆฏ”ๅบ„ๅฎถๅฐ‘ใ€‚็ฌ”่€…้˜่ฟฐ่ฟ™ไธชใ€Žๅคงๆ•ฐๅฎšๅพ‹ใ€็š„ๅฐไพ‹ๅญ๏ผŒไธป่ฆๆ˜ฏๆƒณๅผ•ๅ‡บไธ€ไบ›ๅฏๅ‘๏ผŒ่ง‰ๅพ—ๆˆ‘ไปฌ้œ€่ฆๅปบ็ซ‹่ตทๆฆ‚็އ็š„ไธ–็•Œ่ง‚๏ผš

  • ๅŸบ็ก€ๆฆ‚็އๆ˜ฏๆ ธๅฟƒ๏ผŒๆ˜ฏ่พพๆˆ็›ฎๆ ‡็š„ๅ…ณ้”ฎๅ› ็ด ๏ผŒๆˆ‘ไปฌ็š„ๆ ธๅฟƒๆ˜ฏ๏ผšๅŠชๅŠ›ๆ้ซ˜่‡ช่บซ็š„ๅŸบ็ก€ๆฆ‚็އใ€‚
  • ๅฆ‚ๆžœๆˆ‘ไปฌๅšๆˆๆŸไปถไบ‹็š„ๅŸบ็ก€ๆฆ‚็އๆฏ”่พƒๅคง๏ผŒ้‡ๅค็š„ๆฌกๆ•ฐๅฐฑๆ˜ฏๆœ€ๅฅฝ็š„ๅˆฉๅ™จ๏ผŒๅฏไปฅๅŽปๅคšๆฌก้‡ๅค๏ผ›
  • ๅฆ‚ๆžœๆˆ‘ไปฌ็š„ๅŸบ็ก€ๆฆ‚็އๆฏ”็ซžไบ‰ๅฏนๆ‰‹ไฝŽ๏ผŒ้œ€่ฆๅ…ˆ็œ‹็œ‹่ƒฝไธ่ƒฝๆ้ซ˜ๅŸบ็ก€ๆฆ‚็އ๏ผŒ่‹ฅไธ่ƒฝๆ้ซ˜ๅŸบ็ก€ๆฆ‚็އ๏ผŒๆœ€ๅฅฝ็š„้€‰ๆ‹ฉๆ˜ฏไธๅ‚ไธŽ๏ผŒ่€Œๆ˜ฏ่ทณๅˆฐๅฆไธ€ไธชไปŽๆฆ‚็އไธŠๅฏน่‡ชๅทฑๆœ‰ๅˆฉ็š„ๅฑ€้‡Œใ€‚

AI ๆ•™ไผšไบ†ๆˆ‘ไปฌๅ“ชไบ›๏ผŸ โ€‹

ๆ—ฉๅœจๅ‡ ๅนดๅ‰๏ผŒไผ ็ปŸ็š„ๆœบๅ™จๅญฆไน ้ƒฝๆ˜ฏ้€š่ฟ‡ใ€ŽๆŠ•ๅ–‚ใ€็‰นๅฎš็š„่ฎญ็ปƒๆ•ฐๆฎ็ป™ๆŸไธชๅ•ไธ€ๆจกๅž‹๏ผŒ่ฎญ็ปƒๅฎŒๆˆๅŽๆจกๅž‹่ƒฝๅคŸๅฎŒๆˆไธ€ไบ›็‰นๅฎš็š„ไปปๅŠก๏ผŒไฝ†ๅฝ“ๆˆ‘ไปฌ่ฎฉๆจกๅž‹ๅŽปๅฎŒๆˆไธ€ไบ›ๅˆซ็š„ไปปๅŠกๆ—ถ๏ผŒๅ…ถ่กจ็Žฐๅฐฑ็›ธๅฝ“ๅทฎใ€‚ ๆˆ‘ไปฌๅฏไปฅๅ‘็Žฐ๏ผŒใ€Žๅ•ไปปๅŠกๅญฆไน ใ€็œ‹่ตทๆฅๆ˜ฏ้›†ไธญ็ฒพๅŠ›ๅšไธ€ไปถไบ‹๏ผŒไฝ†่š็„ฆไบŽๆŸไธ€็‰นๅฎšไปปๅŠกๅนถไธๆ˜ฏๆœ€ๅฅฝ็š„ๆ–นๅผ๏ผŒๅ› ไธบ็‰นๅˆซๅฎนๆ˜“ๅฟฝ็•ฅไปปๅŠกไน‹้—ด็š„ๅ…ณ่”ใ€‚ๅฆ‚ๆžœๆˆ‘ไปฌๆŠŠไธๅŒไปปๅŠกๆ”พๅœจไธ€่ตท่ฎญ็ปƒ๏ผŒๅ……ๅˆ†ๅˆฉ็”จไปปๅŠกไน‹้—ด็š„ๅ…ณ็ณป๏ผŒๅฐฑๅพˆๅฏ่ƒฝ่ฎฉๆœ€ๅŽ่ฎญ็ปƒๅ‡บๆฅ็š„ๆจกๅž‹ๆฏ”ๅ•็‹ฌ่ฎญ็ปƒๅ‡บๆฅ็š„ๆจกๅž‹่กจ็Žฐๅพ—ๆ›ดๅฅฝใ€‚็›ธไฟกๅฏนๅคงๆจกๅž‹ๆœ‰ไธ€ๅฎšไบ†่งฃ็š„่ฏป่€…ๅบ”่ฏฅๅทฒ็ปๅ‘็Žฐ๏ผŒ่ฟ™่ทŸๅคง่ฏญ่จ€ๆจกๅž‹็š„ๆ€่ทฏๅพˆๅƒ๏ผŒ้š็€่ฎญ็ปƒๆ•ฐๆฎ็š„ๅŠ ๅคง๏ผŒๅคง่ฏญ่จ€ๆจกๅž‹็š„่กจ็Žฐ่ถŠๆฅ่ถŠ่ฎฉไบบๆƒŠ่‰ณ๏ผŒๅฐคๅ…ถๆ˜ฏ่‡ช็„ถ่ฏญ่จ€็†่งฃๆ–น้ขใ€‚

่ฟ™ไนŸๅผ•ๅ‡บไบ†ไธ€ไบ›ๅฅฝ็š„ๅญฆไน ๆ–นๆณ•่ฎบ๏ผš้€š่ฏ†ๆ•™่‚ฒๆ˜ฏ็›ธๅฝ“้‡่ฆ็š„๏ผŒไธ€ไธชไบบๅœจๅญฆไน ๆ—ถๆ‰€ไฝฟ็”จ็š„ๆ–นๅผใ€ๆ€็ปดๆจกๅž‹ๅ’Œ็ซ ๆณ•ไนŸๆ˜ฏ็›ธๅฝ“้‡่ฆ็š„ใ€‚โ€œๆŠ€่ƒฝโ€้€šๅธธๆ˜ฏ้’ˆๅฏนๆŸไธช็‰นๅฎš็š„ไปปๅŠก่€Œ่จ€็š„๏ผŒ่€Œโ€œๅญฆไน ๆ–นๆณ•่ฎบโ€ๅˆ™ๅฏไปฅๅบ”็”จไบŽๅคšไธชไธๅŒ็š„ไปปๅŠกใ€‚้‚ฃไบ›็ปผๅˆ่กจ็Žฐๅฅฝ็š„ไบบ๏ผŒไธ€่ˆฌ้ƒฝๆŽŒๆกไบ†ๅฅฝ็š„ๅญฆไน ๆ–นๆณ•่ฎบ๏ผŒๅ€ŸๅŠฉ่ฟ™ไบ›ๅญฆไน ๆ–นๆณ•่ฎบ๏ผŒๅฏไปฅ็ป่ฟ‡็Ÿญๆ—ถ้—ด็š„ๅญฆไน ๅฐฑ่ƒฝ่พƒๅฅฝๅœฐๅฎŒๆˆๅคšไธชไธๅŒ็š„ไปปๅŠกใ€‚

5. ๅ†™ๅœจๆœ€ๅŽ โ€‹

่กŒๆ–‡่‡ณๆญค๏ผŒ"็–ซๆƒ…ๅŽ็š„็ฌฌไธ€ๅนดๅ‘ๅค–ไฝ“้ชŒ" ไนŸๅŸบๆœฌๆขณ็†ๅฎŒๆˆไบ†.ๅœจๆ–‡็ซ ็š„ๆœ€ๅŽ๏ผŒ้กบไพฟไบคไปฃไธ‹๏ผš่ฟ™ๆ˜ฏ็ฌ”่€…็ฌฌไธ€ๆฌกๅœจๆ–‡็ซ ไธญๅคง็ฏ‡ๅน…ๅฐ่ฏ•ๅผ•ๅ…ฅๆ•ฐๅญฆ็›ธๅ…ณ็š„็Ÿฅ่ฏ†๏ผŒ้‰ดไบŽๆ•ฐๅญฆๅŠŸๅบ•ๆœ‰้™๏ผŒ่‚ฏๅฎšๅญ˜ๅœจไธ่ถณไน‹ๅค„๏ผŒๆœ‰ๅ…ด่ถฃ็š„ๅฏ้˜…่ฏปไธ€ไบ›ๆ›ดไธ“ไธš็š„ไนฆ็ฑใ€‚

่™ฝ็„ถไธๅฐ‘ไบบ่ง‰ๅพ—ๅคงๆจกๅž‹ไผšๆˆไธบๆ–ฐ็š„ๆณกๆฒซ๏ผŒ็ฌ”่€…่ฟ™้‡ŒไนŸไธๅฅฝ่ฏด็œ‹ๆณ•ๆ˜ฏๅฆๅฏน๏ผŒไฝ†็ฌ”่€…ๆ›พ้˜…่ฏป่ฟ‡ OpenAI ้ฆ–ๅธญ็ง‘ๅญฆๅฎถ๏ผŒไปฅๅŠไธ€ไบ›็ ”็ฉถๅ‘˜ๆ—ฉๅนดๅ†™็š„ๅšๅฎข๏ผŒๆœ‰ไธ€ไธชๆฏ”่พƒๅ…ฑๅŒ็š„็‰น็‚นๅ€ผๅพ—ๆ•ฌไฝฉ๏ผšๅณไฝฟๆœ‰ๅพˆๅคšไบบๅœจ่ฏ„่ฎบๅŒบ่ดจ็–‘ไป–ไปฌๆ่ฟฐ็š„ AGI๏ผŒไฝ†ไป–ไปฌๅคงๅคšๅšไฟก่‡ชๅทฑ่ƒฝๆžๅ‡บๆฅ้€š็”จไบบๅทฅๆ™บ่ƒฝ๏ผŒ่ฟ™ไบ›ๅนดไนŸๅœจ็”จๅฎž่ทตๆŽจๅŠจ็€ AI ็š„ๅ‘ๅฑ•ใ€‚

้š็€ๅคงๆจกๅž‹่ขซๅนฟๆณ›็†Ÿ็Ÿฅ๏ผŒAI ๅบ”็”จไธŽๅ˜้ฉ็š„่ทฏๆ‰ๅˆšๅˆšๅผ€ๅง‹๏ผŒๅธŒๆœ›ๆ›ดๅคš็š„ไบบ่ƒฝไธปๅŠจๆ€ๅ˜๏ผŒๆ‹ฅๆŠฑ AIใ€‚็ฌ”่€…ไนŸไผšๅŠชๅŠ›็ปง็ปญๆทฑๅ…ฅๅญฆไน  AI๏ผŒ่‡ชไปŽๅ†ๆฌกๆทฑๅ…ฅๅญฆไน  AI ็Ÿฅ่ฏ†ๅŽ๏ผŒไฝœไธบๅทฅไฝœๅ‡ ๅนดๅŽ็š„ๆ‰“ๅทฅไบบ๏ผŒๆœ‰็‚น่ง‰ๅพ—่‡ชๅทฑ็š„ๅฟƒๆ€ๅ˜ๅพ—ๅนด่ฝปใ€ๆœ‰่ถฃไบ†ใ€‚

',78)])])}const m=i(o,[["render",e]]);export{d as __pageData,m as default}; +import{_ as i,g as s,h as r,U as a}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const d=JSON.parse('{"title":"่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšไนฆๆŽฅไธŠๆ–‡ใ€Šๅ‘ๅ†…ๆ€ๅ˜ใ€‹๏ผŒๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ๅœจๅŽ็–ซๆƒ…ๆ—ถไปฃไปŽโ€œ้—ญๅ…ณโ€่ตฐๅ‘โ€œๅ‘ๅค–ไฝ“้ชŒโ€็š„ๅฐ่ฏ•ไธŽๅฟƒๅพ—ใ€‚้ขๅฏนๆœบๆขฐๆ‰ง่กŒๅธฆๆฅ็š„โ€œ็›ฎๆ ‡้šง้“โ€ๆ•ˆๅบ”๏ผŒ็ฌ”่€…ๅฐ่ฏ•่ทณๅ‡บๅ•ไธ€็š„็บฟๆ€ง่ง„ๅˆ’๏ผŒ่ฝฌ่€Œๅฏปๆฑ‚ๆ›ดๅบ•ๅฑ‚็š„่ฎค็Ÿฅ้€ป่พ‘ใ€‚ๆ–‡็ซ ้€š่ฟ‡้‡่ฏปใ€Š่ฆไบ‹็ฌฌไธ€ใ€‹ๅปบ็ซ‹ๅนณ่กก่ง‚๏ผŒๅˆฉ็”จ็ณป็ปŸๆ€็ปด๏ผˆๅขžๅผบ/่ฐƒ่Š‚ๅ›ž่ทฏ๏ผ‰ๆž„ๅปบๆดžๅฏŸๅŠ›๏ผŒๅนถ้‡ๆ–ฐๆ‹พ่ตทๆ•ฐๅญฆๆ€็ปด๏ผˆๆฆ‚็އใ€็จ€็–ๆ€งใ€ๅคšๆ ทๆ€ง๏ผ‰ไธŽ AI ่ง†่ง’ใ€‚่ฟ™ๆ˜ฏไธ€ๆฌกๅ…ณไบŽๅฆ‚ไฝ•็”จ็ง‘ๅญฆๆจกๅž‹ๆ›ฟไปฃๆœบๆขฐๆ‰ง่กŒ๏ผŒไปŽๆœฌ่ดจไธŠ้‡ๆž„ไธชไบบ่ฎค็Ÿฅไฝ“็ณป็š„ๆทฑๅบฆๅค็›˜ใ€‚","frontmatter":{"date":"2024-01-15T22:16:00.000Z","title":"่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšไนฆๆŽฅไธŠๆ–‡ใ€Šๅ‘ๅ†…ๆ€ๅ˜ใ€‹๏ผŒๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ๅœจๅŽ็–ซๆƒ…ๆ—ถไปฃไปŽโ€œ้—ญๅ…ณโ€่ตฐๅ‘โ€œๅ‘ๅค–ไฝ“้ชŒโ€็š„ๅฐ่ฏ•ไธŽๅฟƒๅพ—ใ€‚้ขๅฏนๆœบๆขฐๆ‰ง่กŒๅธฆๆฅ็š„โ€œ็›ฎๆ ‡้šง้“โ€ๆ•ˆๅบ”๏ผŒ็ฌ”่€…ๅฐ่ฏ•่ทณๅ‡บๅ•ไธ€็š„็บฟๆ€ง่ง„ๅˆ’๏ผŒ่ฝฌ่€Œๅฏปๆฑ‚ๆ›ดๅบ•ๅฑ‚็š„่ฎค็Ÿฅ้€ป่พ‘ใ€‚ๆ–‡็ซ ้€š่ฟ‡้‡่ฏปใ€Š่ฆไบ‹็ฌฌไธ€ใ€‹ๅปบ็ซ‹ๅนณ่กก่ง‚๏ผŒๅˆฉ็”จ็ณป็ปŸๆ€็ปด๏ผˆๅขžๅผบ/่ฐƒ่Š‚ๅ›ž่ทฏ๏ผ‰ๆž„ๅปบๆดžๅฏŸๅŠ›๏ผŒๅนถ้‡ๆ–ฐๆ‹พ่ตทๆ•ฐๅญฆๆ€็ปด๏ผˆๆฆ‚็އใ€็จ€็–ๆ€งใ€ๅคšๆ ทๆ€ง๏ผ‰ไธŽ AI ่ง†่ง’ใ€‚่ฟ™ๆ˜ฏไธ€ๆฌกๅ…ณไบŽๅฆ‚ไฝ•็”จ็ง‘ๅญฆๆจกๅž‹ๆ›ฟไปฃๆœบๆขฐๆ‰ง่กŒ๏ผŒไปŽๆœฌ่ดจไธŠ้‡ๆž„ไธชไบบ่ฎค็Ÿฅไฝ“็ณป็š„ๆทฑๅบฆๅค็›˜ใ€‚","permalink":"/growth/outer-experience","coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/outer_experience_bg.png","sticky":1,"top":true,"tags":["็ณป็ปŸๆ€็ปด","ๆ•ฐๅญฆๆ€็ปด","ๆจกๅž‹ๆ€็ปด","AI","็–ซๆƒ…"],"categories":["ไธชไบบๆˆ้•ฟ"]},"headers":[],"relativePath":"40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘.md","filePath":"40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘.md"}'),o={name:"40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘.md"};function e(n,t,p,l,g,h){return r(),s("div",null,[...t[0]||(t[0]=[a('

่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘ โ€‹

ๆ‘˜่ฆๆ€ป็ป“๏ผšไนฆๆŽฅไธŠๆ–‡ใ€Šๅ‘ๅ†…ๆ€ๅ˜ใ€‹๏ผŒๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ๅœจๅŽ็–ซๆƒ…ๆ—ถไปฃไปŽโ€œ้—ญๅ…ณโ€่ตฐๅ‘โ€œๅ‘ๅค–ไฝ“้ชŒโ€็š„ๅฐ่ฏ•ไธŽๅฟƒๅพ—ใ€‚้ขๅฏนๆœบๆขฐๆ‰ง่กŒๅธฆๆฅ็š„โ€œ็›ฎๆ ‡้šง้“โ€ๆ•ˆๅบ”๏ผŒ็ฌ”่€…ๅฐ่ฏ•่ทณๅ‡บๅ•ไธ€็š„็บฟๆ€ง่ง„ๅˆ’๏ผŒ่ฝฌ่€Œๅฏปๆฑ‚ๆ›ดๅบ•ๅฑ‚็š„่ฎค็Ÿฅ้€ป่พ‘ใ€‚ๆ–‡็ซ ้€š่ฟ‡้‡่ฏปใ€Š่ฆไบ‹็ฌฌไธ€ใ€‹ๅปบ็ซ‹ๅนณ่กก่ง‚๏ผŒๅˆฉ็”จ็ณป็ปŸๆ€็ปด๏ผˆๅขžๅผบ/่ฐƒ่Š‚ๅ›ž่ทฏ๏ผ‰ๆž„ๅปบๆดžๅฏŸๅŠ›๏ผŒๅนถ้‡ๆ–ฐๆ‹พ่ตทๆ•ฐๅญฆๆ€็ปด๏ผˆๆฆ‚็އใ€็จ€็–ๆ€งใ€ๅคšๆ ทๆ€ง๏ผ‰ไธŽ AI ่ง†่ง’ใ€‚่ฟ™ๆ˜ฏไธ€ๆฌกๅ…ณไบŽๅฆ‚ไฝ•็”จ็ง‘ๅญฆๆจกๅž‹ๆ›ฟไปฃๆœบๆขฐๆ‰ง่กŒ๏ผŒไปŽๆœฌ่ดจไธŠ้‡ๆž„ไธชไบบ่ฎค็Ÿฅไฝ“็ณป็š„ๆทฑๅบฆๅค็›˜ใ€‚

1. ๅ†™ๅœจๅ‰้ข โ€‹

ๆ—ถๅ…‰่่‹’๏ผŒ็–ซๆƒ…ๅทฒ็ป็”ฑๆ”พๅผ€็Šถๆ€็ปง็ปญๆผ”ๅ˜ไธบ่ฟ‡ๅŽปๅผ็Šถๆ€๏ผŒๆˆ‘ไปฌไบบ็ฑปไนŸไปŽใ€Ž้—ญๅ…ณใ€่ตฐๅ‘ไบ†ใ€Ž่‡ช็”ฑใ€็š„็คพไผš็”Ÿๆดป็Šถๆ€ใ€‚็ฌ”่€…ไฝœไธบ็คพไผšไธญ็š„ๆ™ฎ้€šไธ€ๅ‘˜๏ผŒ่‡ช็„ถไนŸไธ็ฆปๅค–๏ผŒๅœจ 2023 ๅนดๅˆๆด‹ๆด‹ๆด’ๆด’ๅ†™ไบ†ไธ€็ฏ‡ๅœจๅฅๅบทใ€่ฏปไนฆไธŽๅญฆไน ใ€ๆ—ถ้—ด็ฎก็†ๅ’Œๆททๅˆๅทฅไฝœๅˆถๅ‡ ไธชๆ–น้ข็š„ๅฎž่ทตไธŽ็†่งฃ๏ผˆๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ๏ผ‰๏ผŒๅฐฑๅผ€ๅผ€ๅฟƒๅฟƒๅœฐๅ‘ๅ‰็œ‹๏ผŒๅญฆ็€ๅ‘ๅค–ไฝ“้ชŒไบ†ใ€‚

้‚ฃไนˆ้—ฎ้ข˜ๆฅไบ†๏ผŒ็›ธๆฏ”ไน‹ๅ‰ๅ†™ๅ‡บ้•ฟๆ–‡๏ผŒ็ฌ”่€…ๅˆๆ˜ฏ่ฟ‘ไธ€ๅนดๆฒกๆœ‰ๅ‘ๅค–่พ“ๅ‡บ่ฝฏๆ–‡ไบ†ใ€‚ๅ› ๆญค๏ผŒไนฆๆŽฅไธŠๆ–‡๏ผŒๆœฌๆฌก็ปง็ปญๆ–ฐๅขžไธ€็ฏ‡ไธญ็Ÿญๆ–‡๏ผŒๆผซ่ฐˆไธ€ไธ‹็–ซๆƒ…ๅŽ็š„ๅ‘ๅค–ไฝ“้ชŒใ€‚

ๅœจๅ€’้€ผ่‡ชๅทฑๅ…ณๆณจ่บซไฝ“ๅฅๅบทๅ’Œๆ—ถ้—ด็ฎก็†ๅŽ๏ผŒ่™ฝ็„ถๅœจไฝ“้‡ๅ’Œๆ•ˆ็އไธคไธชๆ–น้ขๆœ‰ไธ€ๅฎš็š„ๆญฃๅ‘ๆ•ˆๆžœ๏ผŒไฝ†็ฌ”่€…ๅœจ่ฟž็ปญๅšๆŒ่ฝๅœฐๆ‹†่งฃๅ‡บๆฅ็š„็›ฎๆ ‡่ฟ‡็จ‹ไธญ๏ผŒๆœ‰ๆ—ถไผš่ง‰ๅพ—ๅพˆ็ดฏใ€‚่‡ช OpenAI ่ฟ™ๅฎถๅ…ฌๅธๅๅฃฐๅคงๅ™ชไธ” LLM๏ผˆๅคง่ฏญ่จ€ๆจกๅž‹๏ผ‰่ขซๅ„่กŒๅ„ไธš็š„ไบบไปฌ็Ÿฅๆ™“ๅŽ๏ผŒ็ฌ”่€…ๅผ€ๅง‹่ดจ็–‘่ตทไบ†ใ€Ž็›ฎๆ ‡ใ€๏ผŒๅฐคๅ…ถๅœจ็œ‹่ฟ‡ OpenAI ็ ”็ฉถๅ‘˜ๅ†™็š„ใ€Šไธบไป€ไนˆไผŸๅคงไธ่ƒฝ่ขซ่ฎกๅˆ’ใ€‹ไธ”ๅ‘ไธ€ไบ›ๅคงไฝฌๅ’จ่ฏข่ฏทๆ•™ๅŽ๏ผŒๆ›ด่ง‰ๅพ—็›ฎๆ ‡ๆ˜ฏไธ€ๆŠŠๅŒๅˆƒๅ‰‘๏ผš

  • ๅฏนไบŽๆฒกๆœ‰ๅ…ปๆˆ่‰ฏๅฅฝไน ๆƒฏ็š„ไบบๆฅ่ฏด๏ผŒๆž„ๅปบๅˆ‡ๅฎžๅฏ่กŒ็š„็›ฎๆ ‡๏ผŒไธ€ๆ—ฆไธฅๆ ผๆ‰ง่กŒ่ฝๅœฐ๏ผŒๅœจๆ—ถ้—ด็š„็ดฏๅŠ ๆ•ˆๅบ”ๅŠ ๆŒไธ‹๏ผŒๅคงๆฆ‚็އๆ˜ฏ่ƒฝๅ–ๅพ—้ข„ๆœŸ็ป“ๆžœ็š„ใ€‚
  • ๅฏนไบŽๆƒณ่ฆไบงๅ‡บไธ€ไบ›ๅˆ›้€ ๅŠ›ๆˆ–่ถ…้ข„ๆœŸๆ•ˆๆžœ็š„ไบบๆฅ่ฎฒ๏ผŒ็›ฎๆ ‡ๆˆ–่ฎธๅผŠๅคงไบŽๅˆฉใ€‚ไปŽ็ฌ”่€…็š„ๅฎž่ทตๆฅ็œ‹๏ผŒๅพˆๅฎนๆ˜“่ฟ›ๅ…ฅใ€Ž็›ฎๆ ‡้šง้“ใ€ๅŽปๅท๏ผŒๆ›ดๅฎนๆ˜“้”™่ฟ‡ใ€ๆดžๅฏŸๆ›ดไผ˜่ทฏๅพ„็š„ๆ—ถๆœบ๏ผˆไธป่ฆ่ฟ˜ๆ˜ฏ็คพไผšๅ˜ๅŒ–่ฟ‡ๅฟซ๏ผŒๆ‰“ๅทฅไบบๅคชๅฟ™๏ผ‰ใ€‚

ๅœจ็›ฎๆ ‡ๅˆถๅฎšใ€ๆ‰ง่กŒๅ’Œ่ฐƒๆ•ดไน‹ๅค–๏ผŒๆˆ–่ฎธๅญ˜ๅœจๆ›ด้€š็”จ็š„ๆ–นๆณ•่ฎบ๏ผŒๅฎƒๆ—ขๅŒ…ๆ‹ฌไธ€ไบ›ๆˆ้•ฟไนฆไธญๆ‰€่ฐ“็š„ไฝฟๅ‘ฝๆ„Ÿ๏ผŒไนŸๅŒ…ๆ‹ฌไธชไบบๆ™บๆ…งไธŽ็ป้ชŒ็ญ‰ๅ› ็ด ใ€‚ๅ› ๆญค๏ผŒ็ฌ”่€…ๅœจ็œ‹ไนฆใ€ๅญฆไน ๆ•ฐๅญฆๅŸบ็ก€็Ÿฅ่ฏ†ไธŽๆ€็ปดใ€ๅท AI ๅคงๆจกๅž‹็š„่ฟ‡็จ‹ไธญ๏ผŒๅฐ่ฏ•ๅŽปๅฏปๆ‰พ็ญ”ๆกˆ๏ผŒๅคงๆฆ‚็އๆ‰พไธๅˆฐๆœ€ๅฅฝ็ญ”ๆกˆ๏ผŒไฝ†ๆˆ–ๅคšๆˆ–ๅฐ‘่ƒฝๆ‰พๅ‡บไผ˜ไบŽๅฝ“ๅ‰็Šถๆ€็š„่ทฏๅพ„ๆˆ–็ญ”ๆกˆใ€‚

2. ้‡่ฏปใ€Š่ฆไบ‹็ฌฌไธ€ใ€‹ โ€‹

ๅŽŸๅˆ™ใ€ไฝฟๅ‘ฝไธŽ่ง’่‰ฒ็คบๆ„ๆ ‘

ๅ›พ1๏ผšๅŽŸๅˆ™ใ€ไฝฟๅ‘ฝไธŽ่ง’่‰ฒ็คบๆ„ๆ ‘

ๅ››ไธช็ปดๅบฆๅœˆ็คบๆ„ๅ›พ

ๅ›พ2๏ผšๅ››ไธช็ปดๅบฆๅœˆ็คบๆ„ๅ›พ

ๅœจ้‡่ฏปใ€Š่ฆไบ‹็ฌฌไธ€ใ€‹ๅŽ๏ผŒ็ฌ”่€…่ฒŒไผผๆ‰พๅˆฐไบ†ไธ€้ƒจๅˆ†็ญ”ๆกˆใ€‚ๆˆ‘ไปฌ็ปๅธธๅฌๅˆฐ "ไบบ่ฆ็‹ฌ็ซ‹๏ผŒ่ฆๆœ‰่‡ชๅทฑ็š„ๆƒณๆณ•"๏ผŒไฝ†ๆˆ‘ไปฌ็กฎๅฎž็”Ÿๆดปๅœจไธ€ไธช็›ธไบ’ไพ่ต–็š„็คพไผš๏ผŒ็‹ฌ็ซ‹ไธŽ็›ธไบ’ไพ่ต–่ฟ™ไธคไธช็œ‹ไผผ็Ÿ›็›พ็š„็‚นๆ˜ฏๆˆ‘ไปฌ้œ€่ฆๅญฆ็€ๅนณ่กก็š„๏ผš

  • ็”Ÿๆดป่ดจ้‡ๆœฌ่ดจไธŠๅ–ๅ†ณไบŽ็›ธไบ’ไพ่ต–๏ผŒๆˆ‘ไปฌ็š„่ง’่‰ฒๆ˜ฏ็›ธไบ’ไพ่ต–็š„๏ผŒๅ‡ ไนŽๆฏไธช่ง’่‰ฒๅฎž้™…ไธŠ้ƒฝ่‡ณๅฐ‘้€š่ฟ‡ๅฆๅค–ๆŸไธ€ไธชไบบๅ‘็”Ÿไบบ้™…ๅ…ณ็ณป๏ผ›
  • ็‹ฌ็ซ‹ๆœฌ่บซๅนถไธๆ˜ฏ็›ฎ็š„๏ผŒ็œŸๆญฃ็š„็‹ฌ็ซ‹ๅ‡บ็Žฐๅœจ่กŒไน‹ๆœ‰ๆ•ˆ็š„็›ธไบ’ไพ่ต–ไน‹ๅ‰๏ผŒๅŒๆ—ถไฝฟๆˆ‘ไปฌ่‡ชๅทฑไธบ่กŒไน‹ๆœ‰ๆ•ˆ็š„็›ธไบ’ไพ่ต–ๅšๅฅฝๅ‡†ๅค‡ใ€‚ไนŸๅฐฑๆ˜ฏ่ฏด๏ผš็‹ฌ็ซ‹ๆ˜ฏไธ€ไธชไบบๅ€ผๅพ—ไฟก่ต–๏ผŒๅนถไธ”ไฝฟไฟก่ต–ๆˆไธบๅฏ่ƒฝใ€‚
  • ๅนณ่กกๆ€็ปดๆ˜ฏๆˆ‘ไปฌ็š„ๅฟ…ไฟฎ่ฏพ๏ผŒๆˆ‘ไปฌๅœจไธๅŒไธญ้•ฟๆœŸๆ—ถ้—ดๆฎต้œ€่ฆ้’ˆๅฏน่‡ช่บซๆ‹†่งฃๅ‡บๅ‡ ไธช้‡่ฆๅ› ็ด ๏ผŒ็„ถๅŽๅ€ŸๅŠฉๅนณ่กกๆ€็ปดๅˆถๅฎšๅˆ็†็š„ๅคš็›ฎๆ ‡ๅŽปๅคšๆ–น้ขๆŽจๅŠจใ€‚ๆŒ‰็…ง่ฟ™็งๆ–นๅผ๏ผŒๅœจไธ€ๅฎš็จ‹ๅบฆไธŠๆ˜ฏๅฏไปฅ้ฟๅ…่ฟ›ๅ…ฅใ€Ž็›ฎๆ ‡้šง้“ใ€็š„๏ผŒๅณไฝฟ่ฟ›ๅ…ฅไบ†้šง้“๏ผŒไนŸไธไผšๆœ‰ๅคง็š„ๆŸๅคฑๅ’ŒๆŒซ่ดฅ๏ผŒๅนณ่กกๆ€็ปดไธ‹็š„ๅคš็ปดๅบฆ่ง†่ง’ๅ’Œไบ’็›ธไพ่ต–็š„็คพไผš็‰นๅพไผš็ป™ๆˆ‘ไปฌไธ€ไบ›ๅฏๅ‘ๆฅ่ฐƒๆ•ด็š„ใ€‚
  • ๅœจๅนณ่กกๆ€็ปดไธ‹๏ผŒ็›ฎๆ ‡ไน‹ไธŠ่ฟ˜ๆœ‰ๅŽŸๅˆ™ใ€ไฝฟๅ‘ฝๅ’Œ่ง’่‰ฒ่ฟ™ไธ‰ๆ ทไธœ่ฅฟ๏ผšๅŽŸๅˆ™่ฎฉๆˆ‘ไปฌๅฐŠ้‡ๅฎข่ง‚่ง„ๅพ‹๏ผŒไฝฟๅ‘ฝ่ฎฉๆˆ‘ไปฌๆŒ‰็…ง่‡ชๅทฑ็š„ๅฟƒๆ„๏ผŒ่ง’่‰ฒ่ฎฉๆˆ‘ไปฌๅ…ณๆณจ่บซไฝ“ใ€็คพไผš/ๆƒ…ๆ„Ÿใ€ๆ™บๅŠ›ใ€็ฒพ็ฅžใ€่‡ชๆˆ‘ๆ›ดๆ–ฐ็ญ‰ๅคšไธชๆ–น้ขใ€‚

ๅœจๅนณ่กกๆ€็ปดไธŽๅคš็ปดๅบฆ่ง†่ง’็š„ๅŸบ็ก€ไธŠ๏ผŒๆˆ‘ไปฌๅพˆ่‡ช็„ถๅœฐไบงๅ‡บ้•ฟ๏ผˆๆฏ”ๅฆ‚ๅนด๏ผ‰ใ€ไธญ๏ผˆๆฏ”ๅฆ‚ๅญฃๅบฆ๏ผ‰ใ€็Ÿญ๏ผˆๆฏ”ๅฆ‚ๅ‘จ๏ผ‰ไธ‰ไธชๆ–น้ข็š„ๆ–นๅ‘ๆˆ–็›ฎๆ ‡๏ผŒ่€Œไธๆ˜ฏๆŠŠ่‡ชๅทฑๅ˜ๆˆไธ€ไธชๅทฅๅ…ทๆˆ–ๅ‘ๆกๅŽปๅทใ€‚่‡ช็„ถไนŸ่ƒฝๅฐ่ฏ•ไฝฟ็”จใ€Š่ฆไบ‹็ฌฌไธ€ใ€‹ไฝœ่€…ๆŽจๅ‡บ็š„็ฌฌๅ››ไปฃๆ—ถ้—ด็ฎก็†ๆจกๅผ๏ผšๆ›ด็œ‹้‡ใ€Žไบบใ€็š„่Œƒ็•ด๏ผŒๆ‰€ๅ…ณๆณจ็š„็„ฆ็‚น่ถ…่ถŠไบ†ๅฆ‚ไฝ•ๅฏนไบ‹ๅŠก่ฟ›่กŒๆœ‰ๆ•ˆ่€Œๆœบๆขฐ็š„็ฎก็†๏ผŒๆ›ด้‡่ง†ๅŒๅˆซไบบ่ฟ›่กŒๆœ‰ๆ•ˆ็š„ไบ’ๅŠจๅˆไฝœใ€‚ไปฅไบบไธบๆœฌ็š„ๆจกๅผๅฏนไบŽๅœจๅฎถๅบญใ€็ป„็ป‡ๅ’Œๅ…ถไป–ๅฝขๅผ็š„ๅ›ขไฝ“ไธญ่Žทๅพ—ๆˆๅŠŸ้ƒฝๆ˜ฏ่‡ณๅ…ณ้‡่ฆ็š„ใ€‚

้‰ดไบŽ็ฌ”่€…ไธชไบบ็š„่ง†่ง’ไนŸๆœ‰ไธ€ๅฎš็š„ๅฑ€้™ๆ€ง๏ผŒๅฏน่ฟ™้ƒจๅˆ†็ญ”ๆกˆๆ„Ÿๅ…ด่ถฃ็š„่ฏป่€…๏ผŒๅฏไปฅๅŽป้˜…่ฏปๅŽŸ่‘—๏ผŒๆฅๅธฎๅŠฉๆ‰พๅ‡บไธ€ไบ›้€‚ๅˆ่‡ชๅทฑๅฎž่ทต็š„็ญ”ๆกˆใ€‚

3. ๅŸบไบŽ็ณป็ปŸไธŽๆจกๅž‹ๆ€็ปดๆž„ๅปบๆดžๅฏŸๅŠ›ๆจกๅž‹ โ€‹

ไผ—ๆ‰€ๅ‘จ็Ÿฅ๏ผŒๅœจๆ•ฐๅญ—ๅŒ–ๆ—ถไปฃ๏ผŒๆˆ‘ไปฌๆฏๅคฉ้ƒฝๅœจไธŽๅ„็งๅ„ๆ ท็š„็ณป็ปŸไบคไบ’๏ผŒๆฏไธ€ไธช่กจ่ฑก่ƒŒๅŽ้ƒฝๆœ‰ไธ€ไธช้ป‘็›’ๅญ๏ผŒ้ป‘็›’ๅญๆ‰ๆ˜ฏ่ง„ๅพ‹ไบง็”Ÿ็š„ๅŽŸๅ› ๏ผŒ่ฟ™ไธช้ป‘็›’ๅญไนŸๅฐฑๆ˜ฏ็ณป็ปŸใ€‚

ๅฝ“็ณป็ปŸ่ฟ่ฝฌๆญฃๅธธ็š„ๆ—ถๅ€™๏ผŒๆˆ‘ไปฌๅœจ้ตๅพช็€่กจ่ฑก็š„่ง„ๅพ‹ๅšไบ‹๏ผŒๅฏไธ€ๆ—ฆ็ณป็ปŸๅ‡บไบ†้—ฎ้ข˜๏ผŒ่ฟ™ไบ›่ง„ๅพ‹ๅฐ†ไผšๅคฑๆ•ˆใ€‚ๅฆ‚ๆžœๆˆ‘ไปฌๆ— ๆณ•ๆดžๅฏŸ่กจ่ฑก่ƒŒๅŽ็š„็ณป็ปŸ๏ผŒๅฐฑไธๅฏ่ƒฝ็Ÿฅ้“้—ฎ้ข˜ๅ‡บๅœจๅ“ช้‡Œ๏ผŒๆ›ดไธ็Ÿฅ้“ๅฆ‚ไฝ•่งฃๅ†ณใ€‚็ฌ”่€…ๅœจๅนด่ฝปๆ—ถไนŸไธๆ™“ๅพ—่ฟ™ไธช้“็†๏ผŒๆ‰€ไปฅ็ปๅธธไผšๅ›บๆ‰งๅšๅฎˆ้”™่ฏฏ็š„่ฎค็Ÿฅ๏ผŒๆญคๅŽ่ขซ็คพไผšๆ‰“็ฃจๅพ—ๅคšไบ†๏ผŒไนŸๅฐฑๅผ€ๅง‹็ข็ฃจ็ณป็ปŸ่ฟ่กŒๅŽŸ็†ใ€้”ป็‚ผ่‡ชๅทฑ็š„ๆดžๅฏŸๅŠ›ไบ†ใ€‚

ๆดžๅฏŸๅŠ›ๆจกๅž‹ๅฐฑๆ˜ฏ๏ผš็†่งฃใ€Ž่กจ่ฑกใ€่ƒŒๅŽ็š„ใ€Ž้ป‘็›’ๅญใ€โ€”โ€”็ณป็ปŸ๏ผŒไปŽ่€Œ็œŸๆญฃไปŽๆœฌ่ดจไธŠ่งฃๅ†ณ้—ฎ้ข˜ใ€‚ๅœจ็Žฐๅฎžไธ–็•Œไธญ๏ผŒ้‡ๅˆฐ้—ฎ้ข˜๏ผŒๅฏไปฅๅฐ่ฏ•ๆ‘ธ็ดข๏ผŒไฝ†ไธ่ฆๅœ็•™ๅœจไธ€ไบ›ไผผๆ˜ฏ่€Œ้ž็š„ๆฆ‚ๅฟตไธ–็•Œ้‡Œใ€‚ๅœจ็Ÿฅ่ฏ†ไป˜่ดนๆ—ถไปฃ๏ผŒไบบไปฌๆ›ดๅฎนๆ˜“้™ทๅ…ฅๆฆ‚ๅฟตไธ–็•Œ็š„่ฟท้šœ๏ผŒๆˆ‘ไปฌๅบ”่ฏฅ็ปง็ปญๅฐ่ฏ•่ตฐ่ฟ›็ง‘ๅญฆใ€็Ÿฅ่ฏ†็š„ไธ–็•Œ๏ผŒ็”š่‡ณๆ˜ฏๆ™บๆ…งไธ–็•ŒๆฅๆŠฝ่ฑกๅˆ†ๆž๏ผŒ็„ถๅŽ็ป“ๅˆๅฎž้™…ๆƒ…ๅ†ต้™็ปดๆ‰“ๅ‡ปๅ…ท่ฑกไธ–็•Œ๏ผˆ็–ซๆƒ…ๆœŸ้—ดไปŽ B ็ซ™ๆž—่ถ…ๆ‰€้•ฟ่ง†้ข‘ไธญๅญฆๅˆฐ็š„ๆ€ป็ป“๏ผŒๆœ‰ๅ…ด่ถฃ็š„ๅฏ่‡ชๅทฑ็œ‹ๅŽŸๅˆ›่ง†้ข‘๏ผ‰๏ผš

็ณป็ปŸไธŽๆจกๅž‹ๆ€็ปดๆž„ๅปบๆดžๅฏŸๅŠ›ๆจกๅž‹

็ณป็ปŸๆ˜ฏไธ€็ป„็›ธไบ’ๅ…ณ่”็š„่ฆ็ด ๏ผŒๅณ๏ผš็ณป็ปŸ = ่ฆ็ด  x ่ฟžๆŽฅๅ…ณ็ณปใ€‚ๅœจๆ—ฅๅธธๅทฅไฝœไธŽ็”Ÿๆดปไธญ๏ผŒ่ฆ็ด ๆ˜ฏๆ˜“่ฏ†ๅˆซ๏ผŒ่ฆ็ด ็š„ๅ…ณ่”ๅ…ณ็ณปๅฎนๆ˜“่ขซๅฟฝ็•ฅ๏ผŒไฝ†้—ฎ้ข˜็š„่งฃๅ†ณๆ–นๆกˆ๏ผŒๅธธๅธธๅฐฑ่—ๅœจ่ฟ™ไบ›ใ€Ž่ฟžๆŽฅๅ…ณ็ณปใ€้‡Œใ€‚

ๅ› ๆญค๏ผŒๆˆ‘ไปฌๅฏๅŸบไบŽๆ‹†่งฃไธŽๅ…ณ่”็š„ๆ€่ทฏๆŒ‰็…งไปฅไธ‹ๆญฅ้ชค่ฟ›่กŒ๏ผš

1. ๅฏปๆ‰พๅ› ๆžœๅ…ณ็ณป๏ผŒไบบไธŽไบ‹ใ€ไบบไธŽ็‰ฉใ€ไบบไธŽไบบไน‹้—ดๅ‡ๆ˜ฏๅฆ‚ๆญคใ€‚่‹ฅๆดžๅฏŸไธไบ†ๅ…ณ่”ใ€ๅ› ๆžœๅ…ณ็ณป๏ผŒๅฐฑไธ€ไธชๅญ—ใ€Žไนฑใ€๏ผŒไฟกๆฏ็†ต่ถŠๆฅ่ถŠๅคง๏ผŒๅ™ชๅฃฐไฟกๆฏ่ถŠๆฅ่ถŠๅคšใ€‚ๅ› ๆญค๏ผŒๆˆ‘ไปฌๅฏไปฅไธๆ–ญๆ‹ฟ่ตทไธคไธชๅฏ่ƒฝๆœ‰ๅ…ณ็ณป็š„ๅ˜้‡๏ผŒ้—ฎ่‡ชๅทฑ๏ผšไป–ไปฌไน‹้—ดๆœ‰ๅขžๅผบๅ…ณ็ณปๅ—๏ผŒๆœ‰ๅ‡ๅผฑๅ…ณ็ณปๅ—๏ผŸ

2. ๅฏปๆ‰พๅขžๅผบๅ›ž่ทฏ๏ผŒๅ› ๆžœๅ…ณ็ณปๅชๆ˜ฏๅ•ๅ‘็บฟๆฎต๏ผŒๆœ‰ๅคดๆœ‰ๅฐพ๏ผŒไฝœ็”จๆ•ˆๆžœไปŽๅคดไผ ๅˆฐๅฐพๅฐฑ็ป“ๆŸไบ†ใ€‚ๅ› ๆญค๏ผŒๆˆ‘ไปฌ้œ€่ฆ็ปง็ปญๆ€่€ƒๆ˜ฏๅฆ่ƒฝๆŠŠ็ป“ๅฐพไธŽๅผ€ๅคดไนŸ็”จไธ€ๆก็บฟๆฎต่ฟžๆŽฅ่ตทๆฅๅฝขๆˆไธ€ไธชๅขžๅผบๅ›ž่ทฏใ€‚็”Ÿๆดปไธญๆœ‰ๅพˆๅคšๅขžๅผบๅ›ž่ทฏ็š„็คบไพ‹๏ผš

  • ไบบ่ถŠๆ˜ฏ็งฏ็ดฏไบ†็Ÿฅ่ฏ†๏ผŒ็งฏ็ดฏๆ–ฐ็Ÿฅ่ฏ†็š„่ƒฝๅŠ›ๅฐฑ่ถŠๅผบ๏ผ›็งฏ็ดฏๆ–ฐ็Ÿฅ่ฏ†็š„่ƒฝๅŠ›่ถŠๅผบ๏ผŒ็„ถๅŽๅฐฑๆ›ด่ƒฝ็†่งฃๆ–ฐ็Ÿฅ่ฏ†.
  • ไบบ่ถŠๆœ‰ไฟก็”จ๏ผŒๅˆซไบบ่ถŠๆ„ฟๆ„ๅ’Œไฝ ๅˆไฝœใ€‚ๅˆซไบบ่ถŠๆ„ฟๆ„ๅ’Œไฝ ๅˆไฝœ๏ผŒไฝ ๅฐฑ่ƒฝ็งฏ็ดฏๆ›ดๅคš็š„ไฟก็”จ๏ผŒๅฐฑ่ถŠๆœ‰ไบบๅ’Œไฝ ๅˆไฝœ๏ผŒๅฆ‚ๆญคไธๆ–ญๅขžๅผบ๏ผ›

3. ๅพˆๅคšๆ—ถๅ€™๏ผŒๆˆ‘ไปฌ็š„ๆ”นๅ–„ๅนถไธ้œ€่ฆไธ€็›ด็Œ›่ธฉๆฒน้—จ๏ผŒๆœ‰ๆ—ถๅช่ฆๆพๅผ€ๅˆน่ฝฆๅฐฑๅฅฝ๏ผŒๅœจๅขžๅผบๅ›ž่ทฏ็š„ๆˆๆ•ˆ่ถŠๆฅ่ถŠไฝŽๆ—ถ๏ผŒๅพˆ้šพๅ†ๆœ‰็ช็ ด๏ผŒ่ฐƒ่Š‚ๅ›ž่ทฏๆœ‰ๅŠฉไบŽๆ”นๅ–„ๅขžๅผบๅ›ž่ทฏๅธฆๆฅ็š„้—ฎ้ข˜ใ€‚

ไธ‰ไธชๅ›ž่ทฏ็คบๆ„ๅ›พ

3.1. ๅขžๅผบๅ›ž่ทฏๅฐไพ‹ๅญ ๐ŸŒฐ โ€‹

้•ฟไน…ไปฅๆฅ๏ผŒไบบไปฌ็ป™ๅขžๅผบๅ›ž่ทฏๅฏผ่‡ด็š„ๅคง่ตทๅคง่ฝ็Žฐ่ฑก๏ผŒ่ตทไบ†ๆ— ๆ•ฐ็š„ๅๅญ—๏ผŒๅธธ่ง็š„ๆœ‰๏ผš้ฉฌๅคชๆ•ˆๅบ”ใ€็ปๆตŽๅญฆๅฎถๅฃไธญ็š„่ตขๅฎถ้€šๅƒใ€้‡‘่žๅญฆไธญ็š„ๅคๅˆฉๆ•ˆๅบ”ใ€ไบ’่”็ฝ‘ๅ…ฌๅธ็š„ๆŒ‡ๆ•ฐๅž‹ๅขž้•ฟใ€‚

ๅฐไบ‹ๆƒ…ๆŽจๅŠจ้ ่ชๆ˜Žๆ‰ๆ™บ๏ผŒๆฏ”่พƒ้•ฟ่ฟœ็š„ไบ‹ๆƒ…่ฆ้ ๅปบ็ซ‹ๆญฃๅ‘็š„ๅขžๅผบๅ›ž่ทฏใ€‚2022 ๅนดๅบ•ๅˆฐ2023 ๅนดๆœซ๏ผŒๅคงๆจกๅž‹็›ธๅฝ“็ซ็ˆ†๏ผŒๅ…ถ่ƒŒๅŽ็š„ OpenAI ๆ›ดๆ˜ฏๆˆไธบๅฝฑๅ“ๅŠ›ๅพˆๅคง็š„ๅ…ฌๅธ๏ผŒๆˆ‘ไปฌๅฏๆœ‰ๅ…ณๆณจไป–ไปฌๅœจๅ†…้ƒจๅไฝœ็š„ๅขžๅผบๅ›ž่ทฏๅ‘ข๏ผŸ

OpenAI ไบงๅ“ๆŽจๅŠจ็š„ๆ€่ทฏๆ˜ฏ๏ผš The model is the product๏ผŒๅฐ†ๆจกๅž‹็š„ๆ–ฐๅŠŸ่ƒฝ่žๅ…ฅไบงๅ“๏ผŒๅœจ่ฎพ่ฎกไบงๅ“่ฟ‡็จ‹ไธญไธŽ็ ”็ฉถๅ›ข้˜Ÿไธ“ๆณจ่ฎพ่ฎกๆจกๅž‹่กŒไธบ๏ผš

OpenAI ไบงๅ“ๆŽจๅŠจ็š„ๆ€่ทฏ

็ฌ”่€…ๆ˜ฏไธ€ไธชๆฏ”่พƒๅ–œๆฌข้˜…่ฏป็š„ไบบ๏ผŒ้š็€้˜…่ฏปๆ—ถ้—ด็š„็ดฏๅŠ ๏ผŒไนŸๅœจ้€ๆญฅๆ€่€ƒๆ€Žไนˆๆ‰่ƒฝๅฐ†่‡ชๅทฑ่Žทๅพ—็š„ใ€Ž่พ“ๅ…ฅไฟกๆฏใ€ๅ˜ๆˆๆœ‰ไธ€ๅฎš่ดจ้‡ไธŽๆญฃๅ‘ๆ•ˆๆžœ็š„ใ€Ž่พ“ๅ‡บใ€๏ผŸ

่ตทๅˆ๏ผŒๅชๆƒณๅˆฐไบ†ไธ€ไบ›ๅธธ็”จ็š„ Push ๆ–นๆณ•๏ผšๅคš่ฏปไนฆ๏ผŒๅคšไธŽๅˆซไบบๆฒŸ้€šใ€่ฏทๆ•™๏ผŒ็„ถๅŽๅฐ่ฏ•ๅŽปๆ”นๅ–„ใ€Ž่พ“ๅ‡บใ€ใ€‚

ๅŽๆฅ๏ผŒไนŸไธ็Ÿฅๅ“ชๅคฉ็ชๅ‘ๅฅ‡ๆƒณ๏ผŒๆƒณ่ตทไบ†ๅคงๅญฆ่€ๅธˆๆ›พ็ปๅœจๆŸ่Š‚่ฏพๅ ‚ไธŠ๏ผˆๅนธไบๅฝ“ๆ—ถๆฒกๆœ‰ๅœจ่ฏพไธŠ็ก่ง‰๏ผ‰ๆๅˆฐ็š„ไธ€ไธชๅธธ่ง็š„ๅ•†ไธš็ฎก็†ๆจกๅผ๏ผšๆŽจๆ‹‰ๆจกๅผ๏ผˆPush/Pull๏ผ‰ใ€‚ไบŽๆ˜ฏๅฐฑๅฐ†ใ€Ž่พ“ๅ…ฅใ€ไธŽใ€Ž่พ“ๅ‡บใ€็ฎ€ๅŒ–ไธบ๏ผšๅฌใ€่ฏดใ€่ฏปใ€ๅ†™่ฟ™ๅ››ไธชๅ› ็ด ๏ผŒไปŽ Push ไธŽ Pull ไธคไธชๆ–น้ขๆฅ็ผ–ๆŽ’่ฟ™ๅ››ไธชๅ› ็ด ๏ผŒๅฐฑ่ƒฝ็ป„ๆˆ่พ“ๅ…ฅไธŽ่พ“ๅ‡บไน‹้—ด็š„ๅขžๅผบๅ›ž่ทฏ๏ผš

ๆŽจๆ‹‰ๆจกๅผ
  • ๆ‰€่ฐ“ Push๏ผŒๅฐฑๆ˜ฏ็ปง็ปญไฟๆŒไน‹ๅ‰็š„ไน ๆƒฏ๏ผšๅคšๅฌใ€ๅคš่ฏปใ€ๅคšๆ€่€ƒใ€‚
  • ๆ‰€่ฐ“ Pull๏ผŒๅฐฑๆ˜ฏๅผบ่ฐƒใ€Ž่พ“ๅ‡บใ€๏ผŒๅคš่ฏดใ€ๅคšๅ†™ใ€ๅคšๅผบ่ฐƒไบงๅ‡บใ€‚

่ฎฉไธค่€…ๅฝขๆˆไธ€ไธชๅขžๅผบๅ›ž่ทฏ๏ผŒๅ˜ๆˆไธ€ไธช่‡ชๅŠจ่ฟ่กŒ็š„ๅทๅŠจๆœบ๏ผŒๆ•ˆๆžœๅฐฑไผšๆฏ”ๅ•็‹ฌ Push ๆˆ– Pull ๆ›ดๅฅฝใ€‚

3.2. ่ฐƒ่Š‚ๅ›ž่ทฏ โ€‹

ๅฆ‚ๆžœ่ฏดๅขžๅผบๅ›ž่ทฏ็š„ๅญ˜ๅœจ๏ผŒๆ˜ฏ่ฎฉ่ฟ™ไธชไธ–็•Œ่ตฐๅ‘ๆž็ซฏ๏ผŒ้‚ฃไนˆ่ฐƒ่Š‚ๅ›ž่ทฏ็š„ๅญ˜ๅœจ๏ผŒๅฐฑๆ˜ฏ่ฎฉ่ฟ™ไธชไธ–็•Œๅ›žๅฝ’ๅนณ่กกใ€‚ๅ› ไธบๅขžๅผบๅ›ž่ทฏๅฐฑๆ˜ฏใ€Ž็‹‚ๅทใ€๏ผŒ่ฟฝๆฑ‚ๆž็ซฏ๏ผŒๅพˆๅฎนๆ˜“้™ทๅ…ฅใ€Ž็›ฎๆ ‡้šง้“ใ€๏ผŒ่€Œ่ฐƒ่Š‚ๅ›ž่ทฏ๏ผŒ่ฎฉไบบๅ›žๅฝ’ๅนณ่กกใ€่‡ช็„ถ๏ผŒๅœจๅพ—ๅˆฐไผ‘ๆฏ็š„ๅŒๆ—ถๅขžๆทปไน่ถฃใ€‚

ๅ› ๆญค๏ผŒๆˆ‘ไปฌๅœจๆ‰พๅˆฐ่‡ชๅทฑ็š„ๅขžๅผบๅ›ž่ทฏๅŽไนŸ้œ€่ฆๅ€ŸๅŠฉ่ฐƒ่Š‚ๅ›ž่ทฏ๏ผŒไปฅๅŠไธŠ่ฟฐๆๅˆฐ็š„ๅนณ่กกๆ€็ปดๆฅ่ฝๅœฐ่ฐƒ่Š‚ๅ›ž่ทฏ๏ผŒ็ฌ”่€…่ฟ™้‡Œๅฐฑไธๅš่ฟ‡ๅคš่ต˜่ฟฐใ€‚

ๅฝ“็„ถ๏ผŒๆจกๅž‹ๆ€็ปดๅ›บ็„ถ่ƒฝๅธฎๅŠฉๆˆ‘ไปฌๅพˆๅฅฝๅœฐๅฎž่ทต๏ผŒ่ฎฉ่‡ชๅทฑๅ˜ๅพ—็ฎ€ๆดใ€ๆธ…ๆ™ฐใ€้€ๅฝป๏ผŒไฝ†ไนŸๆœ‰ๅ…ถๅฑ€้™ๆ€งใ€‚ๅœจๆจกๅž‹ๅŸบๆœฌ็กฎๅฎš็š„ๆƒ…ๅ†ตไธ‹๏ผŒๅ…ถ่ƒฝๅŠ›็š„ใ€Žๅคฉ่Šฑๆฟใ€ไนŸ้šไน‹็กฎๅฎš๏ผŒๅคฉ่Šฑๆฟ็š„็ช็ ด้œ€่ฆๆˆ‘ไปฌๆ นๆฎๅฎž้™…ๆƒ…ๅ†ตๆฅๆŒ็ปญไธฐๅฏŒใ€ๅ‡็บง่‡ชๅทฑ็š„ๅฟƒๆ™บๆจกๅž‹ใ€‚

4. ้‡่ฏปๆ•ฐๅญฆ็š„ไน่ถฃ โ€‹

NOTE

่กŒๆ–‡่‡ณๆญค๏ผŒๅŸบๆœฌๅˆฐไบ†ๆœ€ๅŽไธ€ไธชไธ“้ข˜๏ผšๆ•ฐๅญฆใ€‚้‰ดไบŽ่ฎธๅคšไบบๅฏนๆ•ฐๅญฆๆœ‰็€ๅˆ็ˆฑๅˆๆจ็š„ๆๆƒงๅฟƒ็†๏ผŒ็ฌ”่€…ๅœจ่ฟ™้‡Œไฟ่ฏไธไผšๅผ•ๅ…ฅไธ€ไบ›ๅคๆ‚็š„ๅ…ฌๅผ๏ผŒ่€Œๆ˜ฏ้‡ๅœจๅผบ่ฐƒๆ•ฐๅญฆๆ€็ปด็œŸ็š„ๅˆๅบ•ๅฑ‚ๅˆๆœ‰็”จ๏ผŒๆ›ด่ดด่ฟ‘ไบบไปฌๅธธ่ฏด็š„ใ€Ž็ฌฌไธ€ๆ€งๅŽŸ็†ใ€ใ€‚

4.1. ๆ€Žไนˆ็ช็„ถๅˆๅญฆ่ตทๆ•ฐๅญฆไบ†๏ผŸ โ€‹

็›ธไฟกๅพˆๅคšไบบ้ƒฝๅฌ่ฏด่ฟ‡ๅˆ†่งฃใ€ๅˆ†็ฑปใ€ๆŽ’ๅˆ—ใ€็ป„ๅˆใ€ๅ››่ฑก้™ใ€ๆต็จ‹็ญ‰ๆฏ”่พƒ็ƒญ้—จ็š„่ฏ่ฏญ๏ผŒ้‚ฃไนˆ้—ฎ้ข˜ๆฅไบ†๏ผŒๆˆ‘ไปฌๆ˜ฏๅฆๆขณ็†ๆ€ป็ป“่ฟ‡่‡ชๅทฑ็œŸๆญฃๅฎž่ทตใ€ๅบ”็”จไบ†ๅคšๅฐ‘ๅ‘ข๏ผŸ็ฌ”่€…่ฟ˜็œŸ็š„ๅˆปๆ„ๆขณ็†่ฟ‡๏ผš

็ป„ๅˆ็คบๆ„ๅ›พ

ๅœจๅŸบ็ก€้€ป่พ‘ไธŽ่กŒๅŠจๆŒ‡ๅฏผใ€ไบงๅ‡บ่กจ่ฟฐไธŽๅ†™ไฝœ่ฎญ็ปƒ้˜ถๆฎต๏ผŒๅช่ฆ่‚ฏ่Šฑๆ—ถ้—ดๅŽปๅญฆไน ้ข†ๆ‚Ÿ๏ผŒๅนถๅˆปๆ„่ฎญ็ปƒ๏ผŒๆˆ‘ไปฌๅŸบๆœฌ้ƒฝ่ƒฝ่Žทๅพ—ไธ้”™็š„ๆ•ˆๆžœใ€‚้š็€ๆ—ถ้—ด็š„็งฏ็ดฏ๏ผŒ็ฌ”่€…้€ๆธๅ‘็Žฐ่‡ชๅทฑๅœจๅบ•ๅฑ‚ๅŽŸ็†ๆ–น้ข็š„ๆŠฝ่ฑก็†่งฃ่ƒฝๅŠ›ไธๆ˜ฏไธ€่ˆฌ็š„่–„ๅผฑ๏ผš

  • ๅœจๅ‡ฝๆ•ฐใ€ๅคๅˆฉใ€ๆŽ’ๅˆ—็ป„ๅˆๆ–น้ขไนŸๅฐšๅฏ๏ผŒไฝ†ๅพˆ้šพๅฐ†ๅ†ณ็ญ–ๆ ‘ใ€่ดๅถๆ–ฏ็ญ‰ๆฆ‚็އ็†่ฎบๅบ”็”จๅˆฐๆ—ฅๅธธๅทฅไฝœไธŽ็”Ÿๆดปไธญ๏ผŒๅŽๆฅ็ฌ”่€…ไนŸ่ง‚ๅฏŸๅˆฐ่บซ่พนๅคง้ƒจๅˆ†ไบบไนŸๆ˜ฏๆฒก่ƒฝๅฐ†่ฟ™ไบ›็†่ฎบๅบ”็”จๅˆฐๅฎž้™…ๅทฅไฝœไธญใ€‚
  • ้š็€ๅฏนๆจกๅž‹ๆ€็ปดใ€้‡ๅŒ–ๅˆ†ๆž็ญ‰ๅ…ด่ถฃ็š„ๅŠ ๅผบ๏ผŒไปฅๅŠ AI ๅคงๆจกๅž‹ๅ…ด่ตท๏ผˆๆˆไธบไบ† ChatGPT ้ ๅ‰ไธ€ๆ‰น็š„ๆณจๅ†Œ่€…๏ผ‰๏ผŒๆ•ฐๅญฆๆ–น้ข็š„็Ÿญๆฟๆ›ดๆ˜ฏๅ‡ธๆ˜พใ€‚

ๅ› ๆญค๏ผŒๅŸบไบŽๅคšๆ–น้ข้‡ๅˆฐ็š„้—ฎ้ข˜๏ผŒ็ฌ”่€…ๅฐฑ้‡ๆ–ฐๅญฆ่ตทไบ†ๆ•ฐๅญฆ๏ผš

  • ่ตทๅˆไผš็œ‹ไธ€ไบ›ๆ•ฐๅญฆๅ‘ๅฑ•ๅฒใ€ๆ•ฐๅญฆๅฎถ็š„ๆ•…ไบ‹ใ€ๆ—ฅๅธธๅทฅไฝœไธŽ็”Ÿๆดปไธญๅธธ็”จ็š„ๆ•ฐๅญฆ็Ÿฅ่ฏ†ใ€‚
  • ๅœจ 2023 ๅนดๆ›ดๆ˜ฏๅฏๅŠจไบ†ๆ•ฐๅญฆ้€š่ฏ†ๅŸบ็ก€็Ÿฅ่ฏ†ใ€ๆฆ‚็އ่ฎบ็ญ‰ๅŸบ็ก€็Ÿฅ่ฏ†็š„ๅญฆไน ไธŽ็†่งฃใ€‚ๅœจๅคงๆจกๅž‹่ถŠๆฅ่ถŠ่ขซๅคงๅฎถ็†Ÿ็ŸฅๅŽ๏ผŒๆ›ดๅœจๆ•ฐๅญฆๅŸบ็ก€็Ÿฅ่ฏ†็š„ๅŸบ็ก€ไธŠไพง้‡่กฅๅ……ไบ†ไธ€ไบ›ๆœบๅ™จๅญฆไน ใ€็ฅž็ป็ฝ‘็ปœ็ญ‰ๆจกๅž‹ไธŽ็ฎ—ๆณ•ไพ่ต–็š„ๆ•ฐๅญฆ็Ÿฅ่ฏ†๏ผˆ่ฟ™ไบ›็Ÿฅ่ฏ†ๅœจๅคงๅญฆ้˜ถๆฎต่™ฝ็„ถไนŸๅญฆ่ฟ‡๏ผŒไฝ†ๆฏ•ไธš่ตฐๅ‘ๅทฅไฝœๅฒ—ไฝๅŽ๏ผŒๅพˆๅฐ‘ๆœ‰ๆœบไผšๅฐ†ๅ…ถๅบ”็”จๅˆฐๅฎž้™…ๅทฅไฝœไธญ๏ผ‰ใ€‚

4.2. ้‡ๆ–ฐๅ‘็Žฐไบ†ๆœ‰่ถฃ็š„ๆ•ฐๅญฆๆ€็ปด โ€‹

ๅˆ†่งฃไธŽๅˆ†็ฑปใ€ๆŽ’ๅˆ—ไธŽ็ป„ๅˆ โ€‹

็›ธไฟกไธๅฐ‘ไบบๅทฒ็ปๆฏ”่พƒ็†Ÿๆ‚‰ใ€ŽๅŒ–็นไธบ็ฎ€ใ€๏ผŒใ€Ž่ง็ผๆ’้’ˆใ€ๅผไบ‹ๅŠก็ฎก็†ใ€‚็ฌ”่€…่ฟ™้‡Œไพๆ—งๆŠŠใ€Žๅˆ†่งฃไธŽๅˆ†็ฑปใ€ๆŽ’ๅˆ—ไธŽ็ป„ๅˆใ€ๆ”พๅœจ็ฌฌไธ€ไฝ๏ผŒๆˆ‘ไปฌๅœจๆŽฅๆ”ถไนๅนดไน‰ๅŠกๆ•™่‚ฒๆ—ถๅฐฑๅผ€ๅง‹ๅญฆไน ่ฟ™ไบ›๏ผŒไฝ†ๅพˆๅฐ‘ๆœ‰ไบบ่ƒฝ็”จ่ฟ™ไบ›ๆฏ”่พƒ็ฎ€ๅ•็š„ๆ•ฐๅญฆๆ€็ปด็ฎก็†่‡ชๅทฑ็š„ๆ—ถ้—ดไธŽไบ‹ๅŠกใ€‚

็ฌ”่€…่ฟ™้‡Œๅชๆไธ€ไธชไบบ๏ผš้›ทๅ†›๏ผŒๅˆจ้™คๅŽๆฅ็š„ๅ…‰็Žฏไธ่ฎฒ๏ผŒไป–ๅฝ“ๅนดๅœจๆญฆๆฑ‰ๅคงๅญฆ่ฏปไนฆๆ—ถ็œŸ็š„ๅฐ†่ฟ™ไบ›ๅบ”็”จๅพ—ๆท‹ๆผ“ๅฐฝ่‡ด๏ผŒๅŽๆฅไนŸๅœจไธๅฐ‘ๅœบๅˆไปฅ็ปๅކๅ›ž้กพ็š„ๆ–นๅผไผ ๆŽˆ็ป™ๅพˆๅคšๅนด่ฝปไบบ๏ผˆๆ„Ÿๅ…ด่ถฃ็š„ๅฏๅœจ็ฝ‘ไธŠๆœไธ€ไบ›ๆ›ด่ฏฆ็ป†็š„่ต„ๆ–™๏ผ‰ใ€‚ๆ‰€ไปฅ๏ผŒ็ฌ”่€…ไนŸ่ฎคไธบ๏ผšไธ€ไธชไบบ่ถŠๆ—ฉๅญฆไผšๅฐ†ใ€Žๅˆ†่งฃไธŽๅˆ†็ฑปใ€ๆŽ’ๅˆ—ไธŽ็ป„ๅˆใ€ๅบ”็”จๅˆฐๅทฅไฝœไธŽ็”Ÿๆดปไธญ่ถŠๅฅฝ๏ผŒๅธฆๆฅ็š„ๆญฃๅ‘ๆ•ˆๆžœ็‰นๅˆซๅคš๏ผŒๆดปๅพ—ไธ็ณŠ้‡Œ็ณŠๆถ‚๏ผŒๆœ‰่‡ชๅทฑ็š„่Š‚ๅฅๆ„Ÿใ€‚

ๅคšๆ ทๆ€ง็บขๅˆฉ โ€‹

ๅ‡่ฎพไธ€ไธชๆ–น็จ‹ไปฃ่กจไปŽไธ€ไธช่ง’ๅบฆ่ง‚ๅฏŸๅพ—ๅˆฐ็š„็ป“ๆžœ๏ผŒ้‚ฃไนˆ๏ผŒๅฆ‚ๆžœๆˆ‘ไปฌไปŽๅคšไธช่ง’ๅบฆ่ง‚ๅฏŸ๏ผŒๅฐฑไผšๅพ—ๅˆฐๆ–น็จ‹็ป„๏ผŒๆฑ‚่งฃๆ–น็จ‹็ป„็š„่ฟ‡็จ‹ๅฐฑๆ˜ฏๆ•ดๅˆๅคšไธช่ง’ๅบฆ็š„่ง‚ๅฏŸ็ป“ๆžœ๏ผŒๆ‰พๅˆฐๆœ€ๆŽฅ่ฟ‘็œŸ็›ธ็š„็ญ”ๆกˆ๏ผš

็—…ๆ€ๆ–น็จ‹็ป„็คบๆ„

ๅ›พ1๏ผš็—…ๆ€ๆ–น็จ‹็ป„๏ผšไธคๆก็บฟ็‰นๅพ่ฟ‘ไผผ๏ผŒ็จๅพฎๅ‘็”Ÿๅ˜ๅŒ–ๅฐฑๅธฆๆฅ่พƒๅคง่ฏฏๅทฎ

ๅ…ผ้กพๅคšๆ ทๆ€ง็š„ๆ–น็จ‹็ป„็คบๆ„

ๅ›พ2๏ผšๅ…ผ้กพๅคšๆ ทๆ€ง็š„ๆ–น็จ‹็ป„

ๅฆ‚ๆžœๆˆ‘ไปฌๆ€ปๆ˜ฏๅŸบไบŽๆ–œ็އ้žๅธธๆŽฅ่ฟ‘็š„็›ด็บฟๅปบ็ซ‹ๆ–น็จ‹็ป„๏ผŒๆŸๆก็›ด็บฟๅช่ฆ็จๅพฎๅ˜ๅŒ–ไธ€็‚น๏ผŒๆœ€็ปˆ็š„็ญ”ๆกˆๅฐฑไผšๆœ‰ๅพˆๅคงๅ˜ๅŒ–ใ€‚้€š่ฟ‡็—…ๆ€ๆ–น็จ‹็ป„๏ผŒๆˆ‘ไปฌๅฏไปฅๆ›ดๅฅฝๅœฐ็œ‹ๆธ…ไธบไป€ไนˆๅคšๆ ทๆ€ง็‰นๅˆซ้‡่ฆ๏ผŒๅคšๆ ทๆ€งๅทฒ็ปๆ˜ฏไธ€ไธชๅ…ฌ่ฎค็š„ไผ˜ๅŠฟ๏ผŒไปปไฝ•ไบบ้ƒฝไผšๆœ‰่ฎค็Ÿฅ็›ฒ็‚น๏ผŒ็ซ™ๅœจไธๅŒ่ง’ๅบฆ็š„ไบบๅœจไธ€่ตท่ฎจ่ฎบๅŽ่พพๆˆ็š„ๅ…ฑ่ฏ†ๅพ€ๅพ€ๆœ€ๆŽฅ่ฟ‘็œŸ็›ธใ€‚

ๅ› ๆญค๏ผŒๆˆ‘ไปฌๅœจๆ—ฅๅธธๅทฅไฝœ็”Ÿๆดปไธญ่ฆ่ฏ•็€ๅนณ่กก๏ผŒ่ฟ็”จๅคšๆ ทๆ€ง็บขๅˆฉ๏ผŒไธๅบ”่ฏฅใ€Ž่ฟ‡ๅทใ€่ฟ‡ๆ‹Ÿๅˆใ€๏ผŒๅฆๅˆ™ๅฎนๆ˜“ๅฏผ่‡ด้€‚ๅบ”ๆ€งไธ‹้™๏ผŒ็ขฐๅˆฐๆ–ฐ็Žฏๅขƒๅฐฑไผšๅ„็งไธ้€‚ๅบ”ใ€‚

่ฟ™ไธชไธ–็•Œๆ˜ฏ็จ€็–็š„ โ€‹

ๅ‚…็ซ‹ๅถๅœจ 1807 ๅนดๆไบคไบ†ไธ€็ฏ‡่ฎบๆ–‡๏ผŒ้˜่ฟฐไบ†ไธ€ไธช็ป“่ฎบ๏ผšไปปไฝ•ไธ€ไธช่ฟž็ปญ็š„ๅ‘จๆœŸไฟกๅท๏ผŒ้ƒฝๅฏไปฅ้€š่ฟ‡ไธๅŒ้ข‘็އ็š„ๆญฃๅผฆๆณขๅ ๅŠ ๅพ—ๅ‡บ๏ผŒ่ฟ™ไบ›ๆญฃๅผฆๆณขๅ‰้ข็š„็ณปๆ•ฐๅคง้ƒจๅˆ†ไธบ้›ถ๏ผŒๅชๆœ‰ๅฐ‘้ƒจๅˆ†็ณปๆ•ฐๆ่ฟฐไบ†ๆ›ฒ็บฟ็š„ๆ ธๅฟƒ็‰นๅพ๏ผš

ๅ‚…็ซ‹ๅถ็บงๆ•ฐ็คบๆ„

ๅ›พ1๏ผšๅ›พ็‰‡ๆฅ่‡ชใ€Šๅฟƒไธญๆœ‰ๆ•ฐ๏ผŒ็”Ÿๆดปไธญ็š„ๆ•ฐๅญฆๆ€็ปดใ€‹

ๅ‚…็ซ‹ๅถ็บงๆ•ฐ็ณปๆ•ฐ็คบๆ„

ๅ›พ2๏ผšๅ›พ็‰‡ๆฅ่‡ชใ€Šๅฟƒไธญๆœ‰ๆ•ฐ๏ผŒ็”Ÿๆดปไธญ็š„ๆ•ฐๅญฆๆ€็ปดใ€‹

็†Ÿๆ‚‰ๆ•ฐๆฎๅŽ‹็ผฉ็š„่ฏป่€…ๅบ”่ฏฅ็Ÿฅ้“่ฟ™ไธชๅŽŸ็†๏ผŒๆˆ‘ไปฌๅช้œ€ๆŠŠๅฐ‘้‡ๆฏ”่พƒๅคง็š„็ณปๆ•ฐๅฏนๅบ”็š„็ฎ€ๅ•ๅ›พๅƒๅ’Œๅฏนๅบ”็š„็ณปๆ•ฐไธ€่ตทๅญ˜่ตทๆฅ๏ผŒๅฐฑๅฏไปฅๆขๅคๅŽŸๅง‹ๅ›พๅƒ๏ผŒไธ”ๅคงๅคงๅŽ‹็ผฉไบ†ๅญ˜ๅ‚จ็ฉบ้—ด๏ผš

ๆ•ฐๆฎๅŽ‹็ผฉ็คบๆ„

ๅ›พ็‰‡ๆฅ่‡ชใ€Šๅฟƒไธญๆœ‰ๆ•ฐ๏ผŒ็”Ÿๆดปไธญ็š„ๆ•ฐๅญฆๆ€็ปดใ€‹

ๅ› ๆญค๏ผŒๆˆ‘ไปฌๅœจ้‡ๅˆฐๆฏ”่พƒๅคๆ‚็š„้—ฎ้ข˜ๆ—ถ๏ผŒไธ้œ€่ฆๅฎณๆ€•๏ผŒๅ› ไธบ็Žฐๅฎžไธ–็•Œไธญ็š„ไบ‹็‰ฉ็œ‹ไผผๅคๆ‚๏ผŒไธ€ๆ—ฆ่ฝฌๆขไธบๅ…ถไป–็š„่กจ็คบๆ–นๆณ•ๅŽ๏ผŒ้€šๅธธๆ˜ฏ็จ€็–็š„ใ€‚ๆˆ‘ไปฌๅช้œ€่ฆๆ‹†่งฃๅนถๅ…ณๆณจๅฐ‘้ƒจๅˆ†ๆ ธๅฟƒ่ฆ็ด ๏ผŒไปฅๅŠๅฎƒไปฌไน‹้—ด็š„ๅ…ณ่”ๅณๅฏใ€‚็จ€็–ๆ— ๅค„ไธๅœจ๏ผŒๅพˆๅคš็œ‹่ตทๆฅๅคๆ‚็š„็Žฐ่ฑก่ƒŒๅŽๆ‰€ๅŒ…ๅซ็š„่ง„ๅพ‹๏ผŒๅพ€ๅพ€้ƒฝๆ˜ฏ็จ€็–ไธ”็ฎ€ๅ•็š„ใ€‚

ๆฆ‚็އ็š„ไธ–็•Œ่ง‚ โ€‹

็ฌ”่€…ๅœจ 2023 ๅนดไบ”ไธ€ๅ‡ๆœŸๅŽปใ€Žๆญๅทžๅฎ‹ๅŸŽใ€ๆธธ็Žฉไบ†ไธ€ไธ‹๏ผŒๅฟซ็ป“ๆŸๆ—ถ้‡ๅˆฐไบ†ไธ€ไธช็‰นๅˆซๆœ‰ๆ„ๆ€็š„ๅจฑไนๆดปๅŠจ๏ผš"่ตŒ้’ฑ"ใ€‚่ฟ™้‡Œ็š„ "่ตŒ้’ฑ"ๆดปๅŠจๆ˜ฏๆธธๅฎขๆ‹ฟ็€ๅœจๅฎ‹ๅŸŽ้’ฑๅบ„้‡Œๅ…‘ๆข็š„ใ€ไธ”ๆถˆ่ดนไธ€ๅคฉๅŽ่ฟ˜ๅ‰ฉไฝ™็š„้›ถ้’ฑ้“œๆฟๅŽป่ตŒไธ€ๆŠŠ๏ผŒ็ขฐ็ขฐ่ฟๆฐ”๏ผŒไฝ“้ชŒไธ‹ๅฎ‹ๆœ็š„่ตŒๅœบใ€‚

่ง„ๅˆ™ๅพˆ็ฎ€ๅ•๏ผšๆ‹ฟ็€ๆ‰‹้‡Œ็š„้“œๆฟ้€‰ๆ‹ฉๆŠผๅคงๆˆ–ๆŠผๅฐ๏ผŒ็พŽไธฝ็š„่ฅฟๅญๅง‘ๅจ˜็›ดๆŽฅๆŽท้ชฐๅญ๏ผŒ้กพๅฎข่ตขไบ†ๅฐฑ็ป™ๅŒๆ ท็š„ไธ‹ๆณจ้“œๆฟ๏ผŒๅบ„ๅฎถ่ตขไบ†ๅฐฑ็›ดๆŽฅ่ตข่ตฐไธ‹ๆณจ็š„้“œๆฟใ€‚็œ‹ไผผ็ฎ€ๅ•ๅˆ็ฒ—ๆšด็š„่ง„ๅˆ™๏ผŒไธ€ๆฎตๆ—ถ้—ดไธ‹ๆฅ๏ผŒๅคง้ƒจๅˆ†ๆธธๅฎขๅŸบๆœฌ้ƒฝๆŠŠไป…ๅ‰ฉ็š„้“œๆฟ็•™ๅœจไบ†ๅฎ‹ๅŸŽ๏ผŒๅพˆๅฐ‘ๆœ‰้กพๅฎข่ƒฝ่ตขใ€‚ๅฝ“็„ถ๏ผŒ็ฌ”่€…ๅ’Œๆœ‹ๅ‹ไนŸไธไพ‹ๅค–๏ผŒไธ่ฟ‡่ฟ˜ๆ˜ฏ้‡‡็”จไบ†ไธ€ไธช็ญ–็•ฅๅŽปๅๆŠ—ไบ†ไธ‹๏ผŒ่ฎฉๆธธๆˆๆ—ถ้—ดๅปถ้•ฟไธ€็‚น๏ผšไธ‰ไธชไบบ็บฆๅฎšๅˆ†ๅทฅ๏ผŒไธ€ไบบๅช่ƒฝๆŠผๅคง๏ผŒๅฆไธ€ไบบๅช่ƒฝๆŠผๅฐ๏ผŒๆœ€ๅŽไธ€ไบบๆ‹ฟ็€ๅ‰ฉไฝ™็š„้“œๆฟ่‡ช็”ฑ่ฐƒๅบฆ้€‰ๆ‹ฉๆŠผๅคงๆŠผๅฐใ€‚ๅฏ็ปˆ็ฉถๆฒกๆœ‰ๆ”นๅ˜ๆœ€็ปˆ็š„็ป“ๆžœ๏ผŒ็›ธไฟก็†Ÿๆ‚‰ "ๅคงๆ•ฐๅฎšๅพ‹"็š„ไบบๅทฒ็ป็Ÿฅ้“ไธบไป€ไนˆไบ†๏ผšๅช่ฆไธ€ไปถไบ‹ๆƒ…ๅ‘็”Ÿ็š„ๆฌกๆ•ฐ่ถณๅคŸๅคš๏ผŒๅฎƒๅ‡บ็ŽฐๆŸไธ€ไธช็ป“ๆžœ็š„้ข‘็އๅฐฑ็ญ‰ไบŽๅ…ถๆฆ‚็އใ€‚

ๅฎ‹ๅŸŽ่ฟ™ไธชๅคงๅบ„ๅฎถๆ˜ฏๆดปๅŠจไธพๅŠžๆ–น๏ผŒไธ€็›ดๆœ‰่Œๅ‘˜ๅœจ็Žฉ๏ผŒๅŸบๆœฌๅฏไปฅ็œ‹ๆˆๆœ‰ 1/6 ็š„ๆฆ‚็އ็จณ่ตข๏ผŒๅนฟๅคงๆธธๅฎขๆฅๅฎ‹ๅŸŽ็š„็›ฎ็š„ๆ˜ฏๆธธ็Žฉ๏ผŒไธๆ˜ฏใ€Ž่ตŒ้’ฑใ€๏ผŒ็Žฉๅพ—ๆฌกๆ•ฐ็›ธๅฏนๅฐ‘ๅคชๅคš๏ผŒ่ตข็š„ๆฆ‚็އ่ฟœ่ฟœๆฏ”ๅบ„ๅฎถๅฐ‘ใ€‚็ฌ”่€…้˜่ฟฐ่ฟ™ไธชใ€Žๅคงๆ•ฐๅฎšๅพ‹ใ€็š„ๅฐไพ‹ๅญ๏ผŒไธป่ฆๆ˜ฏๆƒณๅผ•ๅ‡บไธ€ไบ›ๅฏๅ‘๏ผŒ่ง‰ๅพ—ๆˆ‘ไปฌ้œ€่ฆๅปบ็ซ‹่ตทๆฆ‚็އ็š„ไธ–็•Œ่ง‚๏ผš

  • ๅŸบ็ก€ๆฆ‚็އๆ˜ฏๆ ธๅฟƒ๏ผŒๆ˜ฏ่พพๆˆ็›ฎๆ ‡็š„ๅ…ณ้”ฎๅ› ็ด ๏ผŒๆˆ‘ไปฌ็š„ๆ ธๅฟƒๆ˜ฏ๏ผšๅŠชๅŠ›ๆ้ซ˜่‡ช่บซ็š„ๅŸบ็ก€ๆฆ‚็އใ€‚
  • ๅฆ‚ๆžœๆˆ‘ไปฌๅšๆˆๆŸไปถไบ‹็š„ๅŸบ็ก€ๆฆ‚็އๆฏ”่พƒๅคง๏ผŒ้‡ๅค็š„ๆฌกๆ•ฐๅฐฑๆ˜ฏๆœ€ๅฅฝ็š„ๅˆฉๅ™จ๏ผŒๅฏไปฅๅŽปๅคšๆฌก้‡ๅค๏ผ›
  • ๅฆ‚ๆžœๆˆ‘ไปฌ็š„ๅŸบ็ก€ๆฆ‚็އๆฏ”็ซžไบ‰ๅฏนๆ‰‹ไฝŽ๏ผŒ้œ€่ฆๅ…ˆ็œ‹็œ‹่ƒฝไธ่ƒฝๆ้ซ˜ๅŸบ็ก€ๆฆ‚็އ๏ผŒ่‹ฅไธ่ƒฝๆ้ซ˜ๅŸบ็ก€ๆฆ‚็އ๏ผŒๆœ€ๅฅฝ็š„้€‰ๆ‹ฉๆ˜ฏไธๅ‚ไธŽ๏ผŒ่€Œๆ˜ฏ่ทณๅˆฐๅฆไธ€ไธชไปŽๆฆ‚็އไธŠๅฏน่‡ชๅทฑๆœ‰ๅˆฉ็š„ๅฑ€้‡Œใ€‚

AI ๆ•™ไผšไบ†ๆˆ‘ไปฌๅ“ชไบ›๏ผŸ โ€‹

ๆ—ฉๅœจๅ‡ ๅนดๅ‰๏ผŒไผ ็ปŸ็š„ๆœบๅ™จๅญฆไน ้ƒฝๆ˜ฏ้€š่ฟ‡ใ€ŽๆŠ•ๅ–‚ใ€็‰นๅฎš็š„่ฎญ็ปƒๆ•ฐๆฎ็ป™ๆŸไธชๅ•ไธ€ๆจกๅž‹๏ผŒ่ฎญ็ปƒๅฎŒๆˆๅŽๆจกๅž‹่ƒฝๅคŸๅฎŒๆˆไธ€ไบ›็‰นๅฎš็š„ไปปๅŠก๏ผŒไฝ†ๅฝ“ๆˆ‘ไปฌ่ฎฉๆจกๅž‹ๅŽปๅฎŒๆˆไธ€ไบ›ๅˆซ็š„ไปปๅŠกๆ—ถ๏ผŒๅ…ถ่กจ็Žฐๅฐฑ็›ธๅฝ“ๅทฎใ€‚ ๆˆ‘ไปฌๅฏไปฅๅ‘็Žฐ๏ผŒใ€Žๅ•ไปปๅŠกๅญฆไน ใ€็œ‹่ตทๆฅๆ˜ฏ้›†ไธญ็ฒพๅŠ›ๅšไธ€ไปถไบ‹๏ผŒไฝ†่š็„ฆไบŽๆŸไธ€็‰นๅฎšไปปๅŠกๅนถไธๆ˜ฏๆœ€ๅฅฝ็š„ๆ–นๅผ๏ผŒๅ› ไธบ็‰นๅˆซๅฎนๆ˜“ๅฟฝ็•ฅไปปๅŠกไน‹้—ด็š„ๅ…ณ่”ใ€‚ๅฆ‚ๆžœๆˆ‘ไปฌๆŠŠไธๅŒไปปๅŠกๆ”พๅœจไธ€่ตท่ฎญ็ปƒ๏ผŒๅ……ๅˆ†ๅˆฉ็”จไปปๅŠกไน‹้—ด็š„ๅ…ณ็ณป๏ผŒๅฐฑๅพˆๅฏ่ƒฝ่ฎฉๆœ€ๅŽ่ฎญ็ปƒๅ‡บๆฅ็š„ๆจกๅž‹ๆฏ”ๅ•็‹ฌ่ฎญ็ปƒๅ‡บๆฅ็š„ๆจกๅž‹่กจ็Žฐๅพ—ๆ›ดๅฅฝใ€‚็›ธไฟกๅฏนๅคงๆจกๅž‹ๆœ‰ไธ€ๅฎšไบ†่งฃ็š„่ฏป่€…ๅบ”่ฏฅๅทฒ็ปๅ‘็Žฐ๏ผŒ่ฟ™่ทŸๅคง่ฏญ่จ€ๆจกๅž‹็š„ๆ€่ทฏๅพˆๅƒ๏ผŒ้š็€่ฎญ็ปƒๆ•ฐๆฎ็š„ๅŠ ๅคง๏ผŒๅคง่ฏญ่จ€ๆจกๅž‹็š„่กจ็Žฐ่ถŠๆฅ่ถŠ่ฎฉไบบๆƒŠ่‰ณ๏ผŒๅฐคๅ…ถๆ˜ฏ่‡ช็„ถ่ฏญ่จ€็†่งฃๆ–น้ขใ€‚

่ฟ™ไนŸๅผ•ๅ‡บไบ†ไธ€ไบ›ๅฅฝ็š„ๅญฆไน ๆ–นๆณ•่ฎบ๏ผš้€š่ฏ†ๆ•™่‚ฒๆ˜ฏ็›ธๅฝ“้‡่ฆ็š„๏ผŒไธ€ไธชไบบๅœจๅญฆไน ๆ—ถๆ‰€ไฝฟ็”จ็š„ๆ–นๅผใ€ๆ€็ปดๆจกๅž‹ๅ’Œ็ซ ๆณ•ไนŸๆ˜ฏ็›ธๅฝ“้‡่ฆ็š„ใ€‚โ€œๆŠ€่ƒฝโ€้€šๅธธๆ˜ฏ้’ˆๅฏนๆŸไธช็‰นๅฎš็š„ไปปๅŠก่€Œ่จ€็š„๏ผŒ่€Œโ€œๅญฆไน ๆ–นๆณ•่ฎบโ€ๅˆ™ๅฏไปฅๅบ”็”จไบŽๅคšไธชไธๅŒ็š„ไปปๅŠกใ€‚้‚ฃไบ›็ปผๅˆ่กจ็Žฐๅฅฝ็š„ไบบ๏ผŒไธ€่ˆฌ้ƒฝๆŽŒๆกไบ†ๅฅฝ็š„ๅญฆไน ๆ–นๆณ•่ฎบ๏ผŒๅ€ŸๅŠฉ่ฟ™ไบ›ๅญฆไน ๆ–นๆณ•่ฎบ๏ผŒๅฏไปฅ็ป่ฟ‡็Ÿญๆ—ถ้—ด็š„ๅญฆไน ๅฐฑ่ƒฝ่พƒๅฅฝๅœฐๅฎŒๆˆๅคšไธชไธๅŒ็š„ไปปๅŠกใ€‚

5. ๅ†™ๅœจๆœ€ๅŽ โ€‹

่กŒๆ–‡่‡ณๆญค๏ผŒ"็–ซๆƒ…ๅŽ็š„็ฌฌไธ€ๅนดๅ‘ๅค–ไฝ“้ชŒ" ไนŸๅŸบๆœฌๆขณ็†ๅฎŒๆˆไบ†.ๅœจๆ–‡็ซ ็š„ๆœ€ๅŽ๏ผŒ้กบไพฟไบคไปฃไธ‹๏ผš่ฟ™ๆ˜ฏ็ฌ”่€…็ฌฌไธ€ๆฌกๅœจๆ–‡็ซ ไธญๅคง็ฏ‡ๅน…ๅฐ่ฏ•ๅผ•ๅ…ฅๆ•ฐๅญฆ็›ธๅ…ณ็š„็Ÿฅ่ฏ†๏ผŒ้‰ดไบŽๆ•ฐๅญฆๅŠŸๅบ•ๆœ‰้™๏ผŒ่‚ฏๅฎšๅญ˜ๅœจไธ่ถณไน‹ๅค„๏ผŒๆœ‰ๅ…ด่ถฃ็š„ๅฏ้˜…่ฏปไธ€ไบ›ๆ›ดไธ“ไธš็š„ไนฆ็ฑใ€‚

่™ฝ็„ถไธๅฐ‘ไบบ่ง‰ๅพ—ๅคงๆจกๅž‹ไผšๆˆไธบๆ–ฐ็š„ๆณกๆฒซ๏ผŒ็ฌ”่€…่ฟ™้‡ŒไนŸไธๅฅฝ่ฏด็œ‹ๆณ•ๆ˜ฏๅฆๅฏน๏ผŒไฝ†็ฌ”่€…ๆ›พ้˜…่ฏป่ฟ‡ OpenAI ้ฆ–ๅธญ็ง‘ๅญฆๅฎถ๏ผŒไปฅๅŠไธ€ไบ›็ ”็ฉถๅ‘˜ๆ—ฉๅนดๅ†™็š„ๅšๅฎข๏ผŒๆœ‰ไธ€ไธชๆฏ”่พƒๅ…ฑๅŒ็š„็‰น็‚นๅ€ผๅพ—ๆ•ฌไฝฉ๏ผšๅณไฝฟๆœ‰ๅพˆๅคšไบบๅœจ่ฏ„่ฎบๅŒบ่ดจ็–‘ไป–ไปฌๆ่ฟฐ็š„ AGI๏ผŒไฝ†ไป–ไปฌๅคงๅคšๅšไฟก่‡ชๅทฑ่ƒฝๆžๅ‡บๆฅ้€š็”จไบบๅทฅๆ™บ่ƒฝ๏ผŒ่ฟ™ไบ›ๅนดไนŸๅœจ็”จๅฎž่ทตๆŽจๅŠจ็€ AI ็š„ๅ‘ๅฑ•ใ€‚

้š็€ๅคงๆจกๅž‹่ขซๅนฟๆณ›็†Ÿ็Ÿฅ๏ผŒAI ๅบ”็”จไธŽๅ˜้ฉ็š„่ทฏๆ‰ๅˆšๅˆšๅผ€ๅง‹๏ผŒๅธŒๆœ›ๆ›ดๅคš็š„ไบบ่ƒฝไธปๅŠจๆ€ๅ˜๏ผŒๆ‹ฅๆŠฑ AIใ€‚็ฌ”่€…ไนŸไผšๅŠชๅŠ›็ปง็ปญๆทฑๅ…ฅๅญฆไน  AI๏ผŒ่‡ชไปŽๅ†ๆฌกๆทฑๅ…ฅๅญฆไน  AI ็Ÿฅ่ฏ†ๅŽ๏ผŒไฝœไธบๅทฅไฝœๅ‡ ๅนดๅŽ็š„ๆ‰“ๅทฅไบบ๏ผŒๆœ‰็‚น่ง‰ๅพ—่‡ชๅทฑ็š„ๅฟƒๆ€ๅ˜ๅพ—ๅนด่ฝปใ€ๆœ‰่ถฃไบ†ใ€‚

',78)])])}const m=i(o,[["render",e]]);export{d as __pageData,m as default}; diff --git "a/assets/40.\345\205\263\344\272\216_30.\346\210\220\351\225\277\351\232\217\347\254\224_01.\350\265\260\345\207\272\342\200\234\347\233\256\346\240\207\351\232\247\351\201\223\342\200\235\357\274\232\347\224\250\347\263\273\347\273\237\344\270\216\346\225\260\345\255\246\346\200\235\347\273\264\351\207\215\346\236\204\345\272\225\345\261\202\351\200\273\350\276\221.md.CJpPM59I.lean.js" "b/assets/40.\345\205\263\344\272\216_30.\346\210\220\351\225\277\351\232\217\347\254\224_01.\350\265\260\345\207\272\342\200\234\347\233\256\346\240\207\351\232\247\351\201\223\342\200\235\357\274\232\347\224\250\347\263\273\347\273\237\344\270\216\346\225\260\345\255\246\346\200\235\347\273\264\351\207\215\346\236\204\345\272\225\345\261\202\351\200\273\350\276\221.md.DJ7lWg_C.lean.js" similarity index 97% rename from "assets/40.\345\205\263\344\272\216_30.\346\210\220\351\225\277\351\232\217\347\254\224_01.\350\265\260\345\207\272\342\200\234\347\233\256\346\240\207\351\232\247\351\201\223\342\200\235\357\274\232\347\224\250\347\263\273\347\273\237\344\270\216\346\225\260\345\255\246\346\200\235\347\273\264\351\207\215\346\236\204\345\272\225\345\261\202\351\200\273\350\276\221.md.CJpPM59I.lean.js" rename to "assets/40.\345\205\263\344\272\216_30.\346\210\220\351\225\277\351\232\217\347\254\224_01.\350\265\260\345\207\272\342\200\234\347\233\256\346\240\207\351\232\247\351\201\223\342\200\235\357\274\232\347\224\250\347\263\273\347\273\237\344\270\216\346\225\260\345\255\246\346\200\235\347\273\264\351\207\215\346\236\204\345\272\225\345\261\202\351\200\273\350\276\221.md.DJ7lWg_C.lean.js" index d4b7e2d1..6e8e0e58 100644 --- "a/assets/40.\345\205\263\344\272\216_30.\346\210\220\351\225\277\351\232\217\347\254\224_01.\350\265\260\345\207\272\342\200\234\347\233\256\346\240\207\351\232\247\351\201\223\342\200\235\357\274\232\347\224\250\347\263\273\347\273\237\344\270\216\346\225\260\345\255\246\346\200\235\347\273\264\351\207\215\346\236\204\345\272\225\345\261\202\351\200\273\350\276\221.md.CJpPM59I.lean.js" +++ "b/assets/40.\345\205\263\344\272\216_30.\346\210\220\351\225\277\351\232\217\347\254\224_01.\350\265\260\345\207\272\342\200\234\347\233\256\346\240\207\351\232\247\351\201\223\342\200\235\357\274\232\347\224\250\347\263\273\347\273\237\344\270\216\346\225\260\345\255\246\346\200\235\347\273\264\351\207\215\346\236\204\345\272\225\345\261\202\351\200\273\350\276\221.md.DJ7lWg_C.lean.js" @@ -1 +1 @@ -import{_ as i,g as s,h as r,U as a}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const d=JSON.parse('{"title":"่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšไนฆๆŽฅไธŠๆ–‡ใ€Šๅ‘ๅ†…ๆ€ๅ˜ใ€‹๏ผŒๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ๅœจๅŽ็–ซๆƒ…ๆ—ถไปฃไปŽโ€œ้—ญๅ…ณโ€่ตฐๅ‘โ€œๅ‘ๅค–ไฝ“้ชŒโ€็š„ๅฐ่ฏ•ไธŽๅฟƒๅพ—ใ€‚้ขๅฏนๆœบๆขฐๆ‰ง่กŒๅธฆๆฅ็š„โ€œ็›ฎๆ ‡้šง้“โ€ๆ•ˆๅบ”๏ผŒ็ฌ”่€…ๅฐ่ฏ•่ทณๅ‡บๅ•ไธ€็š„็บฟๆ€ง่ง„ๅˆ’๏ผŒ่ฝฌ่€Œๅฏปๆฑ‚ๆ›ดๅบ•ๅฑ‚็š„่ฎค็Ÿฅ้€ป่พ‘ใ€‚ๆ–‡็ซ ้€š่ฟ‡้‡่ฏปใ€Š่ฆไบ‹็ฌฌไธ€ใ€‹ๅปบ็ซ‹ๅนณ่กก่ง‚๏ผŒๅˆฉ็”จ็ณป็ปŸๆ€็ปด๏ผˆๅขžๅผบ/่ฐƒ่Š‚ๅ›ž่ทฏ๏ผ‰ๆž„ๅปบๆดžๅฏŸๅŠ›๏ผŒๅนถ้‡ๆ–ฐๆ‹พ่ตทๆ•ฐๅญฆๆ€็ปด๏ผˆๆฆ‚็އใ€็จ€็–ๆ€งใ€ๅคšๆ ทๆ€ง๏ผ‰ไธŽ AI ่ง†่ง’ใ€‚่ฟ™ๆ˜ฏไธ€ๆฌกๅ…ณไบŽๅฆ‚ไฝ•็”จ็ง‘ๅญฆๆจกๅž‹ๆ›ฟไปฃๆœบๆขฐๆ‰ง่กŒ๏ผŒไปŽๆœฌ่ดจไธŠ้‡ๆž„ไธชไบบ่ฎค็Ÿฅไฝ“็ณป็š„ๆทฑๅบฆๅค็›˜ใ€‚","frontmatter":{"date":"2024-01-15T22:16:00.000Z","title":"่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšไนฆๆŽฅไธŠๆ–‡ใ€Šๅ‘ๅ†…ๆ€ๅ˜ใ€‹๏ผŒๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ๅœจๅŽ็–ซๆƒ…ๆ—ถไปฃไปŽโ€œ้—ญๅ…ณโ€่ตฐๅ‘โ€œๅ‘ๅค–ไฝ“้ชŒโ€็š„ๅฐ่ฏ•ไธŽๅฟƒๅพ—ใ€‚้ขๅฏนๆœบๆขฐๆ‰ง่กŒๅธฆๆฅ็š„โ€œ็›ฎๆ ‡้šง้“โ€ๆ•ˆๅบ”๏ผŒ็ฌ”่€…ๅฐ่ฏ•่ทณๅ‡บๅ•ไธ€็š„็บฟๆ€ง่ง„ๅˆ’๏ผŒ่ฝฌ่€Œๅฏปๆฑ‚ๆ›ดๅบ•ๅฑ‚็š„่ฎค็Ÿฅ้€ป่พ‘ใ€‚ๆ–‡็ซ ้€š่ฟ‡้‡่ฏปใ€Š่ฆไบ‹็ฌฌไธ€ใ€‹ๅปบ็ซ‹ๅนณ่กก่ง‚๏ผŒๅˆฉ็”จ็ณป็ปŸๆ€็ปด๏ผˆๅขžๅผบ/่ฐƒ่Š‚ๅ›ž่ทฏ๏ผ‰ๆž„ๅปบๆดžๅฏŸๅŠ›๏ผŒๅนถ้‡ๆ–ฐๆ‹พ่ตทๆ•ฐๅญฆๆ€็ปด๏ผˆๆฆ‚็އใ€็จ€็–ๆ€งใ€ๅคšๆ ทๆ€ง๏ผ‰ไธŽ AI ่ง†่ง’ใ€‚่ฟ™ๆ˜ฏไธ€ๆฌกๅ…ณไบŽๅฆ‚ไฝ•็”จ็ง‘ๅญฆๆจกๅž‹ๆ›ฟไปฃๆœบๆขฐๆ‰ง่กŒ๏ผŒไปŽๆœฌ่ดจไธŠ้‡ๆž„ไธชไบบ่ฎค็Ÿฅไฝ“็ณป็š„ๆทฑๅบฆๅค็›˜ใ€‚","permalink":"/growth/outer-experience","coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/outer_experience_bg.png","sticky":1,"top":true,"tags":["็ณป็ปŸๆ€็ปด","ๆ•ฐๅญฆๆ€็ปด","ๆจกๅž‹ๆ€็ปด","AI","็–ซๆƒ…"],"categories":["ไธชไบบๆˆ้•ฟ"]},"headers":[],"relativePath":"40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘.md","filePath":"40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘.md"}'),o={name:"40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘.md"};function e(n,t,p,l,g,h){return r(),s("div",null,[...t[0]||(t[0]=[a("",78)])])}const m=i(o,[["render",e]]);export{d as __pageData,m as default}; +import{_ as i,g as s,h as r,U as a}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const d=JSON.parse('{"title":"่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšไนฆๆŽฅไธŠๆ–‡ใ€Šๅ‘ๅ†…ๆ€ๅ˜ใ€‹๏ผŒๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ๅœจๅŽ็–ซๆƒ…ๆ—ถไปฃไปŽโ€œ้—ญๅ…ณโ€่ตฐๅ‘โ€œๅ‘ๅค–ไฝ“้ชŒโ€็š„ๅฐ่ฏ•ไธŽๅฟƒๅพ—ใ€‚้ขๅฏนๆœบๆขฐๆ‰ง่กŒๅธฆๆฅ็š„โ€œ็›ฎๆ ‡้šง้“โ€ๆ•ˆๅบ”๏ผŒ็ฌ”่€…ๅฐ่ฏ•่ทณๅ‡บๅ•ไธ€็š„็บฟๆ€ง่ง„ๅˆ’๏ผŒ่ฝฌ่€Œๅฏปๆฑ‚ๆ›ดๅบ•ๅฑ‚็š„่ฎค็Ÿฅ้€ป่พ‘ใ€‚ๆ–‡็ซ ้€š่ฟ‡้‡่ฏปใ€Š่ฆไบ‹็ฌฌไธ€ใ€‹ๅปบ็ซ‹ๅนณ่กก่ง‚๏ผŒๅˆฉ็”จ็ณป็ปŸๆ€็ปด๏ผˆๅขžๅผบ/่ฐƒ่Š‚ๅ›ž่ทฏ๏ผ‰ๆž„ๅปบๆดžๅฏŸๅŠ›๏ผŒๅนถ้‡ๆ–ฐๆ‹พ่ตทๆ•ฐๅญฆๆ€็ปด๏ผˆๆฆ‚็އใ€็จ€็–ๆ€งใ€ๅคšๆ ทๆ€ง๏ผ‰ไธŽ AI ่ง†่ง’ใ€‚่ฟ™ๆ˜ฏไธ€ๆฌกๅ…ณไบŽๅฆ‚ไฝ•็”จ็ง‘ๅญฆๆจกๅž‹ๆ›ฟไปฃๆœบๆขฐๆ‰ง่กŒ๏ผŒไปŽๆœฌ่ดจไธŠ้‡ๆž„ไธชไบบ่ฎค็Ÿฅไฝ“็ณป็š„ๆทฑๅบฆๅค็›˜ใ€‚","frontmatter":{"date":"2024-01-15T22:16:00.000Z","title":"่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšไนฆๆŽฅไธŠๆ–‡ใ€Šๅ‘ๅ†…ๆ€ๅ˜ใ€‹๏ผŒๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ๅœจๅŽ็–ซๆƒ…ๆ—ถไปฃไปŽโ€œ้—ญๅ…ณโ€่ตฐๅ‘โ€œๅ‘ๅค–ไฝ“้ชŒโ€็š„ๅฐ่ฏ•ไธŽๅฟƒๅพ—ใ€‚้ขๅฏนๆœบๆขฐๆ‰ง่กŒๅธฆๆฅ็š„โ€œ็›ฎๆ ‡้šง้“โ€ๆ•ˆๅบ”๏ผŒ็ฌ”่€…ๅฐ่ฏ•่ทณๅ‡บๅ•ไธ€็š„็บฟๆ€ง่ง„ๅˆ’๏ผŒ่ฝฌ่€Œๅฏปๆฑ‚ๆ›ดๅบ•ๅฑ‚็š„่ฎค็Ÿฅ้€ป่พ‘ใ€‚ๆ–‡็ซ ้€š่ฟ‡้‡่ฏปใ€Š่ฆไบ‹็ฌฌไธ€ใ€‹ๅปบ็ซ‹ๅนณ่กก่ง‚๏ผŒๅˆฉ็”จ็ณป็ปŸๆ€็ปด๏ผˆๅขžๅผบ/่ฐƒ่Š‚ๅ›ž่ทฏ๏ผ‰ๆž„ๅปบๆดžๅฏŸๅŠ›๏ผŒๅนถ้‡ๆ–ฐๆ‹พ่ตทๆ•ฐๅญฆๆ€็ปด๏ผˆๆฆ‚็އใ€็จ€็–ๆ€งใ€ๅคšๆ ทๆ€ง๏ผ‰ไธŽ AI ่ง†่ง’ใ€‚่ฟ™ๆ˜ฏไธ€ๆฌกๅ…ณไบŽๅฆ‚ไฝ•็”จ็ง‘ๅญฆๆจกๅž‹ๆ›ฟไปฃๆœบๆขฐๆ‰ง่กŒ๏ผŒไปŽๆœฌ่ดจไธŠ้‡ๆž„ไธชไบบ่ฎค็Ÿฅไฝ“็ณป็š„ๆทฑๅบฆๅค็›˜ใ€‚","permalink":"/growth/outer-experience","coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/outer_experience_bg.png","sticky":1,"top":true,"tags":["็ณป็ปŸๆ€็ปด","ๆ•ฐๅญฆๆ€็ปด","ๆจกๅž‹ๆ€็ปด","AI","็–ซๆƒ…"],"categories":["ไธชไบบๆˆ้•ฟ"]},"headers":[],"relativePath":"40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘.md","filePath":"40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘.md"}'),o={name:"40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘.md"};function e(n,t,p,l,g,h){return r(),s("div",null,[...t[0]||(t[0]=[a("",78)])])}const m=i(o,[["render",e]]);export{d as __pageData,m as default}; diff --git "a/assets/40.\345\205\263\344\272\216_30.\346\210\220\351\225\277\351\232\217\347\254\224_10.\345\220\221\345\206\205\346\200\235\345\217\230\357\274\232\345\275\223\347\226\253\346\203\205\347\273\231\344\270\226\347\225\214\346\214\211\344\270\213\346\232\202\345\201\234\351\224\256\357\274\214\345\216\273\351\207\215\346\236\204\347\224\237\346\264\273\347\247\251\345\272\217.md.BIUhmRg0.js" "b/assets/40.\345\205\263\344\272\216_30.\346\210\220\351\225\277\351\232\217\347\254\224_10.\345\220\221\345\206\205\346\200\235\345\217\230\357\274\232\345\275\223\347\226\253\346\203\205\347\273\231\344\270\226\347\225\214\346\214\211\344\270\213\346\232\202\345\201\234\351\224\256\357\274\214\345\216\273\351\207\215\346\236\204\347\224\237\346\264\273\347\247\251\345\272\217.md.Cj12M61O.js" similarity index 99% rename from "assets/40.\345\205\263\344\272\216_30.\346\210\220\351\225\277\351\232\217\347\254\224_10.\345\220\221\345\206\205\346\200\235\345\217\230\357\274\232\345\275\223\347\226\253\346\203\205\347\273\231\344\270\226\347\225\214\346\214\211\344\270\213\346\232\202\345\201\234\351\224\256\357\274\214\345\216\273\351\207\215\346\236\204\347\224\237\346\264\273\347\247\251\345\272\217.md.BIUhmRg0.js" rename to "assets/40.\345\205\263\344\272\216_30.\346\210\220\351\225\277\351\232\217\347\254\224_10.\345\220\221\345\206\205\346\200\235\345\217\230\357\274\232\345\275\223\347\226\253\346\203\205\347\273\231\344\270\226\347\225\214\346\214\211\344\270\213\346\232\202\345\201\234\351\224\256\357\274\214\345\216\273\351\207\215\346\236\204\347\224\237\346\264\273\347\247\251\345\272\217.md.Cj12M61O.js" index 0c018e2d..43f01edb 100644 --- "a/assets/40.\345\205\263\344\272\216_30.\346\210\220\351\225\277\351\232\217\347\254\224_10.\345\220\221\345\206\205\346\200\235\345\217\230\357\274\232\345\275\223\347\226\253\346\203\205\347\273\231\344\270\226\347\225\214\346\214\211\344\270\213\346\232\202\345\201\234\351\224\256\357\274\214\345\216\273\351\207\215\346\236\204\347\224\237\346\264\273\347\247\251\345\272\217.md.BIUhmRg0.js" +++ "b/assets/40.\345\205\263\344\272\216_30.\346\210\220\351\225\277\351\232\217\347\254\224_10.\345\220\221\345\206\205\346\200\235\345\217\230\357\274\232\345\275\223\347\226\253\346\203\205\347\273\231\344\270\226\347\225\214\346\214\211\344\270\213\346\232\202\345\201\234\351\224\256\357\274\214\345\216\273\351\207\215\346\236\204\347\224\237\346\264\273\347\247\251\345\272\217.md.Cj12M61O.js" @@ -1 +1 @@ -import{_ as r,g as t,h as i,U as l}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const d=JSON.parse('{"title":"ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅฆ‚ไฝ•้ฟๅ…ๅ†…่€—๏ผŸๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ไธ‰ๅนด้—ด็š„โ€œ่‡ชๆˆ‘้‡ๆž„โ€ๅฎž้ชŒใ€‚ๆ–‡็ซ ๆ‘’ๅผƒไบ†ๅ•็บฏ็š„ๆƒ…็ปชๅฎฃๆณ„๏ผŒ่€Œๆ˜ฏๅˆฉ็”จๅˆ†่งฃๆณ•ใ€ๆธ่ฟ›ๆ˜Ž็ป†ๅ’Œ็ปŸ่ฎกๅˆ†ๆž็ญ‰ๅทฅ็จ‹ๆ€็ปด๏ผŒๅฏนๅฅๅบท้ฅฎ้ฃŸใ€็Ÿฅ่ฏ†ไฝ“็ณปใ€ๆ—ถ้—ดๅˆ†้…ๅŠ่ฟœ็จ‹ๅไฝœ่ฟ›่กŒไบ†็ณป็ปŸๅŒ–ๆ”น้€ ใ€‚่ฟ™ๆ˜ฏไธ€ไปฝๅ…ณไบŽๅฆ‚ไฝ•ๅœจๆ— ๅธธ็š„ๅค–้ƒจ็Žฏๅขƒไธญ๏ผŒๅปบ็ซ‹ๅ†…ๅœจ็กฎๅฎšๆ€ง็งฉๅบ็š„่กŒๅŠจๆŒ‡ๅ—ใ€‚","frontmatter":{"date":"2023-01-08T10:23:50.000Z","title":"ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅฆ‚ไฝ•้ฟๅ…ๅ†…่€—๏ผŸๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ไธ‰ๅนด้—ด็š„โ€œ่‡ชๆˆ‘้‡ๆž„โ€ๅฎž้ชŒใ€‚ๆ–‡็ซ ๆ‘’ๅผƒไบ†ๅ•็บฏ็š„ๆƒ…็ปชๅฎฃๆณ„๏ผŒ่€Œๆ˜ฏๅˆฉ็”จๅˆ†่งฃๆณ•ใ€ๆธ่ฟ›ๆ˜Ž็ป†ๅ’Œ็ปŸ่ฎกๅˆ†ๆž็ญ‰ๅทฅ็จ‹ๆ€็ปด๏ผŒๅฏนๅฅๅบท้ฅฎ้ฃŸใ€็Ÿฅ่ฏ†ไฝ“็ณปใ€ๆ—ถ้—ดๅˆ†้…ๅŠ่ฟœ็จ‹ๅไฝœ่ฟ›่กŒไบ†็ณป็ปŸๅŒ–ๆ”น้€ ใ€‚่ฟ™ๆ˜ฏไธ€ไปฝๅ…ณไบŽๅฆ‚ไฝ•ๅœจๆ— ๅธธ็š„ๅค–้ƒจ็Žฏๅขƒไธญ๏ผŒๅปบ็ซ‹ๅ†…ๅœจ็กฎๅฎšๆ€ง็งฉๅบ็š„่กŒๅŠจๆŒ‡ๅ—ใ€‚","permalink":"/growth/inner-experience","coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/refactor_life.png","sticky":1,"top":true,"categories":"ไธชไบบๆˆ้•ฟ","tags":["ๅฅๅบท","ๆ—ถ้—ด","ๆ‚ฆ่ฏปๆ—ถๅ…‰","่ฟœ็จ‹ๅไฝœ","็–ซๆƒ…"]},"headers":[],"relativePath":"40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ.md","filePath":"40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ.md"}'),o={name:"40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ.md"};function s(n,a,e,p,g,h){return i(),t("div",null,[...a[0]||(a[0]=[l('

ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ โ€‹

ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅฆ‚ไฝ•้ฟๅ…ๅ†…่€—๏ผŸๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ไธ‰ๅนด้—ด็š„โ€œ่‡ชๆˆ‘้‡ๆž„โ€ๅฎž้ชŒใ€‚ๆ–‡็ซ ๆ‘’ๅผƒไบ†ๅ•็บฏ็š„ๆƒ…็ปชๅฎฃๆณ„๏ผŒ่€Œๆ˜ฏๅˆฉ็”จๅˆ†่งฃๆณ•ใ€ๆธ่ฟ›ๆ˜Ž็ป†ๅ’Œ็ปŸ่ฎกๅˆ†ๆž็ญ‰ๅทฅ็จ‹ๆ€็ปด๏ผŒๅฏนๅฅๅบท้ฅฎ้ฃŸใ€็Ÿฅ่ฏ†ไฝ“็ณปใ€ๆ—ถ้—ดๅˆ†้…ๅŠ่ฟœ็จ‹ๅไฝœ่ฟ›่กŒไบ†็ณป็ปŸๅŒ–ๆ”น้€ ใ€‚่ฟ™ๆ˜ฏไธ€ไปฝๅ…ณไบŽๅฆ‚ไฝ•ๅœจๆ— ๅธธ็š„ๅค–้ƒจ็Žฏๅขƒไธญ๏ผŒๅปบ็ซ‹ๅ†…ๅœจ็กฎๅฎšๆ€ง็งฉๅบ็š„่กŒๅŠจๆŒ‡ๅ—ใ€‚

็›ฎๆ ‡ๅˆฐ่ทต่กŒๆ€็ปดๆต็จ‹็คบๆ„ๅ›พ

ๅ†™ๅœจๅ‰้ข โ€‹

่‡ชๅŽปๅนด 7 ๆœˆไปฝ่ฟ็งปๅ‡ ็ฏ‡ๆ—งๆ–‡ๅŽ๏ผŒ็ฌ”่€…ๅฐฑๆฒกๆœ‰็ปง็ปญๅ†™่ฝฏๆ–‡ไบ†๏ผŒๆƒณไธๅˆฐๅ†ๆฌกๅ†™ๆ–‡็ซ ๆ—ถ็–ซๆƒ…ๆ”ฟ็ญ–ๅทฒ็ป่ฐƒๆ•ด๏ผŒไธ”ๅˆๆญฅๅฎž็Žฐไบ†ๅผ€ๆ”พใ€‚้‚ฃไนˆ้—ฎ้ข˜ๆฅไบ†๏ผŒไธบไป€ไนˆ่ฆ็ปง็ปญๅ†™ๆ–‡็ซ ๅ‘ข๏ผŸๆฆ‚ๆ‹ฌๆฅ่ฎฒ๏ผŒๆœ‰ไธคไธชๆ–น้ข็š„ๅŽŸๅ› ๏ผš

  • ็›ดๆŽฅๅŽŸๅ› ๏ผš็–ซๆƒ…่ฟ™ไธ‰ๅนด๏ผŒๆฏไธชไบบ้ƒฝไฝ“้ชŒๅˆฐไบ†ไธๅŒไบŽไน‹ๅ‰็š„ โ€œ้šพโ€๏ผŒไนŸ้ƒฝๆœ‰ๅฑžไบŽ่‡ชๅทฑ็‹ฌไธ€ไปฝ็š„็ปๅކใ€‚็ฌ”่€…่ฟ™ไธ‰ๅนดไนŸๅœจ็–ซๆƒ…ๅฝฑๅ“็š„ๅŸบ็ก€ไธŠ๏ผŒ็ปๅކไบ†ไธ€ไบ›ไน‹ๅ‰ๆœชๆ›พ้‡ๅˆฐ่ฟ‡็š„ไบ‹ๆƒ…๏ผŒๅนธ่ฟ็š„ๆ˜ฏไปŽไธญไนŸๅญฆๅˆฐไบ†ไธ€ไบ›ไธœ่ฅฟ๏ผŒๅนถๅœจ็”Ÿๆดปๅฎž่ทตไธญๅŽปๅฐ่ฏ•ใ€ๅŽปๆ”นๅ˜ใ€‚ๅ› ๆญค๏ผŒๅœจ็–ซๆƒ…่ฟ›ๅ…ฅๅˆๆญฅๆ”พๅผ€็š„ๆ–ฐ้˜ถๆฎต๏ผŒไนŸๆƒณๅšไธ€ๆฌกๅค็›˜ๆ€ป็ป“ใ€‚
  • ้—ดๆŽฅๅŽŸๅ› ๏ผšๅค็›˜ๆ€ป็ป“็š„ๅฏ้€‰ๆ–นๅผๆœ‰ๅพˆๅคš็ง๏ผŒไฝ†ๅ†™ๆ–‡็ซ ๆ˜ฏ็ฌ”่€…่ง‰ๅพ—ๆŒบ้€‚ๅˆ่‡ชๅทฑ็š„ไธ€็งๆ–นๅผใ€‚ๆ‰€ไปฅ๏ผŒ็ฌ”่€…ๅ†ณๅฎšๅ€ŸๅŠฉๅผ€ๆ”พๅนณๅฐๆฅ็ปง็ปญๅฎŒๆˆไธ€็ฏ‡ๅค็›˜ๆ€ป็ป“ๆ–‡็ซ ใ€‚ๆ—ข้”ป็‚ผไธ‹่‡ชๅทฑ็š„ๅ†™ไฝœ่ƒฝๅŠ›๏ผŒไนŸ่ƒฝๅ€ŸๅŠฉๅผ€ๆ”พๅนณๅฐๆˆ–ๅคšๆˆ–ๅฐ‘ๆ”ถๅˆฐไธ€ไบ›ๅ้ฆˆไธŽๅปบ่ฎฎใ€‚้‰ดไบŽ็ฌ”่€…ๆฒกๆœ‰่ฟ‡ๅคšๆ€่€ƒ่ฆๆ€ป็ป“ๅ“ชไบ›ไธœ่ฅฟ๏ผŒๆ‰€ไปฅๆ ‡้ข˜ไนŸๅ‘ฝๅไธบ โ€œๆผซ่ฐˆ็–ซๆƒ…่ฟ™ไธ‰ๅนดๅ‘ๅ†…ๆ€ๅ˜โ€ใ€‚

็–ซๆƒ…ๆœŸ้—ด๏ผŒ็ฌ”่€…ๅŸบๆœฌๆฒกๆœ‰ๆ€Žไนˆๅ‡บ่ฟ‡่ฟœ้—จ๏ผŒ็”š่‡ณ้˜ดๅทฎ้˜ณ้”™ๅœฐ็ป™่‡ชๅทฑๅฎ‰ๆŽ’ไบ†ๆ›ดๅคš็š„็‹ฌๅค„ๆ—ถ้—ดใ€‚ๅ‘จๆœซไนŸๅ€’้€ผ่‡ชๅทฑๆŒ‰็…งๆฏ”่พƒไธฅๆ ผ็š„ไฝœๆฏๆŽจๅŠจไธšไฝ™ๅฎž่ทต๏ผŒๅฐ่ฏ•ๅ‘ๅ†…ๆŽข็ดขใ€‚ๅ› ๆญค๏ผŒๆ‰€่ฐ“ โ€œๅ‘ๅ†…ๆ€ๅ˜โ€๏ผŒ็”จๆ—ถ้ซฆ็š„่ฏดๆณ•ไนŸๅซ โ€œ้—ญๅ…ณโ€๏ผŒๆŽฅไธ‹ๆฅๅฐฑ้˜่ฟฐไธ‹่ฆๆผซ่ฐˆ็š„่ฏ้ข˜ใ€‚

ๆผซ่ฐˆ่ฏ้ข˜ โ€‹

ๅฅๅบท๏ผŒๆ‹ฅๆœ‰็š„ๆ—ถๅ€™็ปๅธธไธไผš่ขซ็ๆƒœ๏ผŒๅคฑๅŽป็š„ๆ—ถๅ€™ๅด่ฟฝๆ‚”่ŽซๅŠ๏ผŒไฝ†้‡ๆ–ฐๆ‰พๅ›žๅŽๅดๅพˆๅฎนๆ˜“ๅ†ๆฌกไธ่ขซ็ๆƒœ๏ผˆไธ้šพ็†่งฃ๏ผŒ่ฟ™ๅฐฑๆ˜ฏไบบๆ€ง๏ผ‰

่ฏปไนฆไธŽๅญฆไน ๏ผŒไธ€ไธช่ขซๅนฟไธบ็†Ÿ็Ÿฅ็š„่ฏ้ข˜๏ผŒไฝ†็ฌ”่€…ๅœจ่ฟ™ๆ–น้ขๆ˜ฏๆœ‰ไธ€ๅฎš่‡ชไฟก็š„๏ผŒๅ› ไธบๆœ‰่ฟ‡ๆฏ”่พƒๆญฃๅ‘็š„ๅฎž่ทต๏ผŒๅคšๅฐ‘ๆœ‰็‚นๅบ•ๆฐ”ใ€‚่‡ชๅคงๅญฆๆ—ถไปฃๅผ€ๅง‹๏ผŒ็ฌ”่€…ๅœจ่ฟ™ๆ–น้ขๆœ‰ไธ€ๅฎš็š„ๅ—œๅฅฝ๏ผŒไธ”็ณป็ปŸ่ทต่กŒไบ†ๆญคๅ—œๅฅฝ๏ผŒ่ฟ˜้€š่ฟ‡ๅ•ƒไธ€ไบ›่ทจไธ“ไธš็š„ไนฆๆฅๅญฆไน ๏ผŒ็›ด่‡ณๅฏไปฅๆŠ›ๅผƒๅŽŸๆฅ็š„ไธ“ไธš๏ผŒๅœจๆฏ•ไธšๆ—ถไนŸ็•™ไธ‹ไบ†ไธค็ฏ‡ๅ…ณไบŽ่ฟ™ๆ–น้ข็š„ๆ€ป็ป“ๆ–‡็ซ ใ€‚ๅฝ“็„ถ๏ผŒไปปไฝ•ๆ—ถๅ€™ใ€ไปปไฝ•ไบบ็š„็ปๅކ้ƒฝไปฃ่กจไธไบ†ๅฎžๅŠ›ใ€‚ๆœฌๆฌกๆผซ่ฐˆ็ฌ”่€…ไผš็ป“ๅˆ่‡ชๅทฑ็š„็ป้ชŒใ€ๆ€่€ƒไธŽๆ€ป็ป“ๆฅๆขณ็†๏ผŒๅฐฝๆœ€ๅคงๅŠชๅŠ›่ฎฉ่ฟ™ไธช่ฏ้ข˜่ตทๅˆฐๆŠ›็ –ๅผ•็މ็š„ไฝœ็”จ๏ผŒๆœ‰ๅ…ด่ถฃ็š„ๅฐไผ™ไผดๅœจไปฅๅŽ็š„ๆ—ฅๅญ้‡Œๅฏๅ…ฑๅŒ่ฟ›ๆญฅใ€‚

ๆ—ถ้—ด็ฎก็†๏ผŒ่ฟ™ไธช่ฏ้ข˜่™ฝ่ขซๅคงๅฎถ็†Ÿ็Ÿฅ๏ผŒๅดๅพˆๅฐ‘ๆœ‰ไบบ่ƒฝ่‡ชไฟกๅœฐ่ฏด โ€œ่‡ชๅทฑ่ƒฝๅพˆๅฅฝๅœฐ็ฎก็†ๆ—ถ้—ดโ€๏ผŒ็ฌ”่€…่‚ฏๅฎšไนŸไธไพ‹ๅค–ใ€‚ไฝ†ๆœฌๆฌกๆผซ่ฐˆไผšๆขณ็†ไธ‹็ฌ”่€…่‡ชๅทฑๅœจๅฎžๆ“ๆ–น้ข็š„ๅฐ่ฏ•๏ผŒๆ€่€ƒไธŽๆ€ป็ป“ใ€‚

ๆททๅˆๅทฅไฝœๅˆถ๏ผŒ่ฟ™ไธช่ฏ้ข˜ๅœจ็–ซๆƒ…ๅˆฐๆฅๅŽ่ขซๅคงๅฎถ็†Ÿ็Ÿฅ๏ผŒๆ‰€ไปฅ็ฌ”่€…่ฟ™้‡ŒไนŸๆœชๅฟ…่ƒฝๅˆ†ไบซๅ‡บๅคšไนˆ็จ€ๅฅ‡ๅคๆ€ช็š„่ง่งฃ๏ผŒไฝ†ๅŒๆ ทไผš็ป“ๅˆๅฎžๆ“็ป™ๅ‡บ่‡ชๅทฑ็š„ๆ€่€ƒไธŽๆ€ป็ป“ใ€‚

ๆผซ่ฐˆๅฅๅบท โ€‹

ๅฅๅบทๅฑๆœบ โ€‹

้‰ดไบŽ็ฌ”่€…ๅœจๅคงๅญฆ้˜ถๆฎต่‡ช็”ฑๅญฆไน ไธŽๆŽข็ดข็š„ๅ‹‡ๆฐ”ๅฏๅ˜‰๏ผŒๅ› ๆญคๅœจ็ปๅކไธคๆฌก โ€œๆ กๅ›ญไบ’่”็ฝ‘ๅฐไฝœๅŠโ€ ็š„้”ป็‚ผๅŽ๏ผŒๆฏ•ไธšๆ—ถ้€‰ๆ‹ฉ็š„ๅทฅไฝœ่‡ช็„ถ่€Œ็„ถๅœฐๆˆไธบไบ†ๅคงๅญฆๅ…ด่ถฃ็š„ๅปถ็ปญใ€‚ๅฝ“็„ถ๏ผŒไนŸๅปถ็ปญไบ†ๅพˆๅคšๅคงๅญฆ้˜ถๆฎตๅ…ปๆˆ็š„ๅฏนๅฅๅบทไธๅˆฉ็š„ไน ๆƒฏ๏ผŒไฝœๆฏๆ— ่ง„ๅพ‹๏ผŒไป—็€ๆ— ็ŸฅๆŒฅ้œ่บซไฝ“๏ผ›ๆ— ๅฅๅบทๆ„่ฏ†๏ผŒไธๆ€Žไนˆ้”ป็‚ผ่บซไฝ“๏ผŒๆฏ”ๅฆ‚๏ผš

  • ๅพˆๅฐ‘ๅƒๆ—ฉ้ฅญ๏ผŒ็ปๅธธๅƒๆ—ฉไธญ้ฅญๆˆ–่€…ๅˆ้ฅญใ€‚้™คไบ†ๅทฅไฝœใ€ๅญฆไน ๅ’Œๅจฑไนๅ‹คๅฟซ็‚น๏ผŒๅˆซ็š„ๆ–น้ขๆฏ”่พƒๆ‡’ใ€‚
  • ้•ฟๆœŸ็†ฌๅคœ๏ผŒไธšไฝ™ไนŸๅ–œๆฌขๅญฆ็‚นไธœ่ฅฟ๏ผŒๅ†™็‚นไปฃ็ ๏ผˆๅคงๆฆ‚็އๆ˜ฏ่ตฐๅ‡บๆ กๅ›ญๅŽ็œ‹ๅˆฐไบ†ไบบๅค–ๆœ‰ไบบ๏ผŒ้š็€ๅทฅไฝœ็š„ๆทฑๅ…ฅ๏ผŒๆ…ขๆ…ขๆ„่ฏ†่‡ช่บซไธ่ถณ๏ผŒๆƒณ่ฆๆๅ‡ไธ€ไบ›ๆŠ€่ƒฝ๏ผ‰ใ€‚

ไบบๆ— ไฝœๆฏ่ง„ๅพ‹ๅœฐ็†ฌไธ€ๅคฉไธ็ดฏ๏ผŒ็†ฌๅๅคฉๅฐฑ็ดฏไบ†๏ผŒ็†ฌๅ‡ ๅนดไนŸๅฐฑ่ฆๅไบ‹ไบ†ใ€‚ๅฐฑ่ฟ™ๆ ท็ป่ฟ‡้•ฟๅนด็ดฏๆœˆๅœฐๆด—็คผ๏ผŒๅฅๅบทไนŸๅœจ็–ซๆƒ…ๅˆฐๆฅ็š„็ฌฌไธ€ๅนดไบฎ่ตทไบ†ๅฐ็บข็ฏใ€‚ๅฝ“็„ถ๏ผŒ็ป่ฟ‡ๅŒป็”Ÿใ€ๅฎถไบบ็ญ‰ๅคšๆ–น็š„ๅๅŠ›ๅธฎๅŠฉ๏ผŒไปฅๅŠ่‡ชๅทฑ็š„ๅšๅฟ็กฌๆ‰›๏ผŒๆœ€็ปˆๅบทๅคไบ†ใ€‚ๆœŸ้—ด่™ฝ็„ถ็ปๅކไบ†ๆฏ”็–ซๆƒ…ๆ”พๅผ€ๅŽๅคง้ƒจไบบ่ฝฌ้˜ณ็—›่‹ฆไธ”ๅฐ่ฑกๆทฑๅˆปๅคšๅ€็š„ไบ‹ๆƒ…๏ผŒไฝ†ไธๆ˜ฏๆœฌๆ–‡็š„้‡็‚น๏ผŒ่ฟ™้‡Œๅช็•™ไธ‹็ฌ”่€…ไบ‹ๅŽๆทฑๅˆปๅๆ€็š„ๅ‡ ไธชๅฟƒๅพ—๏ผš

  • ไธๅฅฝ็š„ไบ‹ๆƒ…ๅฆ‚ๆžœๅทฒ็ปๅˆฐๆฅ๏ผŒๆ‡Šๆ‚”็ญ‰ๆ‚ฒ่ง‚ๆƒ…็ปช้ƒฝๆฒกๆœ‰ไปปไฝ•็”จๅค„๏ผŒๅช่ƒฝๆ˜ฏๆƒณๅฐฝไธ€ๅˆ‡ๅŠžๆณ• โ€œๅ…ˆๆฒป็—…ๆ•‘ๅ‘ฝ๏ผŒไผ‘ๅ…ปๅบทๅค๏ผŒ็„ถๅŽๅ†่ฐˆๅฅๅบทๅ…ป็”Ÿโ€ใ€‚
  • ็ŽฐไปฃๅŒป็–—่™ฝ่ƒฝๆ•‘ๆญปๆ‰ถไผค๏ผŒไฝ†็ปˆ็ฉถๅชๆ˜ฏๆœ€ๅŽ็š„ๆญขๆŸๆ–นๅผใ€‚ๆˆ‘ไปฌๅชๆœ‰ๅœจๆ—ฅๅธธๆณจ้‡้ข„้˜ฒไฟๅฅใ€ๅŸนๅ…ปๅฅๅบทๆ„่ฏ†๏ผŒๆณจ้‡ๅ…ป่บซไฟฎ่บซ๏ผŒๆ‰ๆœ‰ๅฏ่ƒฝๅœจ่ฟ™ไธช็คพไผšไธŠ่ตฐ็š„ๆ›ด่ฟœใ€‚
  • ้š็€็คพไผš็š„ๅ‘ๅฑ•๏ผŒไบบ่ขซๆŠ€ๆœฏๅœˆๅ’Œ็คพไผšๅœˆๅŒ…่ฃนไบ†่ตทๆฅ๏ผŒไบบไธŽ่‡ช็„ถไน‹้—ด็š„่ท็ฆปไนŸๅฐฑ่ถŠๆฅ่ถŠ่ฟœไบ†๏ผŒ่‡ช็„ถไบบไนŸๅฐฑๅ‘็”Ÿไบ†ๅผ‚ๅŒ–๏ผˆๆ”พ็œผๆœ›ๅŽป๏ผŒ่บซ่พนๅ……ๆปก็€ๅคชๅคš็ฑปไผผ็ฌ”่€…่ฟ™็งไธๅคŸๆณจ้‡่‡ช่บซๅฅๅบท็š„ไบบ๏ผ‰ใ€‚

ๅฅๅบท็Ÿฅ่ฏ†ๅญฆไน  โ€‹

ๆ—ข็„ถๅทฒ็ป็Ÿฅๆ™“่‡ช่บซ้—ฎ้ข˜ไธ”ๆš‚ๆ—ถๆญขๆŸไบ†๏ผŒ่‡ช็„ถ่ฆ็ปง็ปญๅฏปๆ‰พๆ›ด้•ฟ่ฟœ็š„่งฃๅ†ณๆ–นๆณ•ใ€‚ไฝ†ๆ–นๆณ•ไธไผšๅ‡ญ็ฉบไปŽๅคฉไธŠๆމไธ‹ๆฅ็š„๏ผŒๅฎƒ้œ€่ฆ่‡ชๅทฑๅŽปๅฏปๆ‰พใ€‚็ฌ”่€…ๅฏปๆ‰พๆ–นๆณ•็š„ไธป่ฆ้€”ๅพ„ๆ˜ฏ๏ผšๅ‘ไธ“ไธšๆˆ–ๆœ‰็ป้ชŒ็š„ไบบๅ’จ่ฏข๏ผŒๅ‘ไนฆๆœฌไธŠ็š„ๅฅๅบทๆ ‡ๅ‡†ๅ’Œ็Ÿฅ่ฏ†ๆ‰พใ€‚

1ใ€ๅ‘ๆœ‰ไธ“ไธšๆˆ–ๆœ‰็ป้ชŒ็š„ไบบๅ’จ่ฏข โ€‹

็”ฑไบŽ็ฌ”่€…ไป็„ถไฟๆŒ็€ๅคงๅญฆๆ—ถไปฃๅญฆไผš็š„โ€œๅ…่ดนโ€ๆ€็ปด๏ผŒๆ‰€ไปฅๅœจๆŽฅ่ฟ‘ๅบทๅคๅ‡บ้™ข็š„ๆ—ถๅ€™ๅฐฑๅผ€ๅง‹่ทŸๅŒป็”Ÿใ€ๅŒปๆŠคใ€็—…ๅ‹็ญ‰ไปฅ่Šๅคฉ็š„ๆ–นๅผๅ’จ่ฏขใ€‚ไผ—ๆ‰€ๅ‘จ็Ÿฅ๏ผŒๅŒป็”Ÿๆ˜ฏ็ปๅธธไผ ๆŽˆ็—…ไบบไธ€ไบ›ๅฅๅบท็Ÿฅ่ฏ†็š„ไธ“ไธšไบบๅ‘˜๏ผŒๅŒปๆŠคๆ˜ฏ้•ฟๅนด็ดฏๆœˆๅๅŠฉ็—…ไบบๅบทๅค่ฎญ็ปƒ็š„ไธ“ไธšไบบๅ‘˜๏ผŒ็—…ๅ‹ๆ˜ฏ้‚ฃไบ›ไธŽ่‡ช่บซๆœ‰็€็›ธๅŒๅคฑ่ฏฏ็š„ไบบ๏ผŒๅ‘่ฟ™ๅ‡ ๆณขไบบๅ’จ่ฏขๆ›ด่ƒฝไน ๅพ—ๆฏ”่พƒๆญฃๅ‘็š„ๅปบ่ฎฎๆˆ–ๅฐๆŠ€ๅทงใ€‚่ฟ™ไธ€้˜ถๆฎต็งฏ็ดฏไบ†ไธ€ไบ›็ขŽ็‰‡ๅŒ–็š„ๅฅๅบทๆ„่ฏ†๏ผŒๅบทๅค่ฎญ็ปƒๅฐๆŠ€ๅทง๏ผŒไปฅๅŠๆˆ’ๆމไธ่‰ฏ็”Ÿๆดปไน ๆƒฏ็š„ๆณจๆ„็‚น๏ผŒไนŸไธบๅŽ้ข็š„้˜ฒๆฒปๅฎœๆ—ฉใ€่ตทๅฑ…ๆœ‰ๅธธใ€้€‚้‡่ฟๅŠจ็ญ‰ๅŽŸๅˆ™ๅšไบ†้“บๅžซใ€‚

2ใ€ๅญฆไน ๅฅๅบทๆ ‡ๅ‡†ๅ’Œ็Ÿฅ่ฏ† โ€‹

ๅฅๅบทๅ…ถๅฎžๆ˜ฏๆœ‰ๆ ‡ๅ‡†ใ€ๆœ‰ไพๆฎ็š„๏ผš

*ใ€Š็š‡ๅธๅ†…็ปใ€‹ไธญ็š„ๆ ‡ๅ‡†๏ผšๅฝขไธŽ็ฅžไฟฑ๏ผŒ่€Œ็ปˆๅ…ถๅคฉๅนด๏ผŒๅบฆ็™พๅฒไนƒๅŽปใ€‚ *็Žฐไปฃ็š„ๅฅๅบทๆ ‡ๅ‡†๏ผš็”Ÿ็†ๅฅๅบทใ€ๅฟƒ็†ๅฅๅบทใ€็คพไผšๅŠ่‡ช็„ถ็Žฏๅขƒ้€‚ๅบ”่‰ฏๅฅฝ๏ผŒ้“ๅพท่‰ฏๅฅฝ๏ผŒๅนถ่พพๅˆฐไบบไน‹ๅคฉๅนดใ€‚

ๅฆ‚ไธŠๆ‰€่ฟฐ๏ผŒๅฅๅบทๆ ‡ๅ‡†็ฎ€ๅ•ไธ”ๆ˜“ๆ‡‚๏ผŒไฝ†ๅฎƒไธ่ถณไปฅๆŒ‡ๅฏผๅคง้ƒจไบบๅŽปๅฎž่ทต๏ผˆ้™ค้žๆ˜ฏไธไธ–ๅ‡บ็š„็ฝ•่งไบบๆ‰๏ผŒ็œ‹ๅˆฐๆ ‡ๅ‡†ๅŽๅฐฑ่ƒฝๆŽจๅฏผๅ‡บ็ฌฆๅˆๅฎž้™…็š„่งฃๆณ•๏ผ‰ใ€‚ๆ‰€ไปฅ็ฌ”่€…็ป“ๅˆ่‡ช่บซ็ปๅކๅ’Œๅฅๅบท็Ÿฅ่ฏ†๏ผŒ่ฟ›ไธ€ๆญฅ้‡‡็”จ โ€œๅˆ†่งฃโ€ ๅ’Œๆธ่ฟ›ๆ˜Ž็ป†็š„ๆ–นๅผ๏ผŒๅญฆ็€ๆขณ็†ๅ‡บไธ€ไบ›ๅฅๅบทๅŽŸๅˆ™๏ผš

  • ๅˆ็†้ฅฎ้ฃŸ๏ผŒๆ—ฅๅธธ้ฅฎ้ฃŸๆณจ้‡ๆ‚้ฃŸๅคšๆ ท๏ผŒ็กฎไฟ่ƒฝ้‡ใ€่ฅๅ…ปใ€ๆ€งๅ‘ณๅนณ่กกใ€‚
  • ่ตทๅฑ…ๆœ‰ๅธธ๏ผŒๅฐ่ฏ•ๆ”นๅ˜็”Ÿๆดปๆ–นๅผ๏ผŒๅฅๅบทๆœ‰ๅบ๏ผŒ้˜ฒๆˆ’ไธ่‰ฏ็”Ÿๆดปไน ๆƒฏใ€‚
  • ้€‚้‡่ฟๅŠจ๏ผŒๅ› ไบบๅ› ๆ—ถๅ› ๅœฐๅœฐๅˆถๅฎšๅ‡บไธ€ๅฅ—ๅฅ่บซ่ฟๅŠจ็š„้กน็›ฎ๏ผŒๅพชๅบๆธ่ฟ›ใ€ๆŒไน‹ไปฅๆ’ๅœฐๅšๆŒไธ‹ๅŽป๏ผŒไฟๆŒๅฅๅบทไธ€็‚น็š„ๅฝขไฝ“๏ผŒๆ้ซ˜ๅฏน็Žฏๅขƒ็š„้€‚ๅบ”่ƒฝๅŠ›
  • ้™ๅ…ปๅฟƒ็ฅž๏ผš
    • ็ป™่‡ชๅทฑ็š„็”Ÿๆดปๅšๅ‡ๆณ•๏ผŒๅฎๅฏไธๅˆ็พค๏ผŒไนŸ่ฆ้ฟๅ…ๆŽฅ่งฆไธ€ไบ›ๆฒกๆœ‰็”จ่ฟ˜ๅฎนๆ˜“ๅ†…่€—็š„ไบบๅ’Œไบ‹ใ€‚
    • ๅคš่ฏป็‚นไนฆ๏ผŒๅฐ่ฏ•ๅฐ†ไนฆไธญ็š„ไธ€ไบ›็Ÿฅ่ฏ†็”จๅˆฐๅทฅไฝœๅ’Œ็”Ÿๆดปไธญใ€‚
  • ้˜ฒๆฒปๅฎœๆ—ฉ๏ผŒๅธๅ–ๅŒป็”Ÿ็š„ๅปบ่ฎฎ๏ผŒๅฏนไบšๅฅๅบท็Šถๆ€ๅŠ็–พ็—…ๅšๆŒ้ข„้˜ฒไธบไธปใ€ๆ—ฉ้˜ฒๆ—ฉๆฒป

ๆœ€ๅŽ๏ผŒไธบไฟ่ฏ่‡ชๅทฑๅœจ็†่ฎบๆ„่ฏ†ไธŠๆ›ดๆณจ้‡่บซไฝ“ๅฅๅบท๏ผŒ็ฌ”่€…่ฟ˜ๆ‹œ่ฏปไบ†ๆฏ›ๆ•™ๅ‘˜ๅœจ้’ๅนดๆ—ถๆœŸๅ†™ไธ‹็š„ใ€Šไฝ“่‚ฒไน‹็ ”็ฉถใ€‹ใ€‚่ฏป่ฟ‡ๆ•™ๅ‘˜้žญ่พŸๅ…ฅ้‡Œ็š„ๆ–‡็ซ ๅŽ๏ผŒไนŸๆ›ดไปŽ็†่ฎบไธŠๆ˜Ž็™ฝไบ†๏ผšโ€œไฝ“่€…๏ผŒ่ฝฝ็Ÿฅ่ฏ†ไน‹่ฝฆ่€Œๅฏ“้“ๅพทไน‹่ˆไนŸใ€‚ไฝ“่‚ฒไธ€้“๏ผŒ้…ๅพท่‚ฒไธŽๆ™บ่‚ฒ๏ผŒ่€Œๅพทๆ™บ็š†ๅฏ„ไบŽไฝ“ใ€‚โ€

3ใ€ๅฅๅบทๅฎž่ทต โ€‹

็ป“ๅˆๆฒ‰ๆท€ไธ‹ๆฅ็š„ๅŽŸๅˆ™๏ผŒ็ฌ”่€…่Šฑ่ดนไบ† 1.5 ๅนด็š„ๆ—ถ้—ด๏ผŒ่ฟ›่กŒไบ†ไธคไธชๆ–น้ข็š„ๅฎž่ทต๏ผš

  • ๅทฅไฝœๆ—ฅๆ—ฉไธŠๅšๆŒๅšๆ—ฉ้ฅญ๏ผŒไธ‰้คๆ…ขๆ…ข้ ๅ‘ๅˆ็†ๅ‡่กกใ€‚ๅ‘จๆœซๅŸนๅ…ปไธ€ไบ›ๅš้ฅญ็š„ๆŠ€่ƒฝ๏ผŒๅ€ŸๅŠฉ็ƒŸ็ซๆฐ”ๆฅๅนณ่กกไธ‹ๅทฅไฝœไธŽ็”Ÿๆดปใ€‚
  • ่ฎพๅฎšๅ‡่‚ฅ็›ฎๆ ‡๏ผŒ้€š่ฟ‡ๆŽงๅˆถ้ฅฎ้ฃŸใ€ๅขžๅผบไฝ“่‚ฒ้”ป็‚ผๆดปๅŠจๆฅๅฎž็Žฐไฝ“้‡็š„ๅ‡ๅฐ‘๏ผŒๆๅ‡่‡ช่บซๅฅๅบทใ€‚

้š็€ๆ—ถ้—ด็š„ๆต้€๏ผŒ็ฌ”่€…็ŽฐๅœจไนŸ่ƒฝ่‡ชๅทฑๅšๅ‡บ 75 ๅˆ†็š„ๅฎถๅธธ่œไบ†๏ผˆ็‰นๅˆซๆ„Ÿ่ฐขๅพˆๅคšๅธˆๅ‚…ๆŒ‡ๅฏผ๏ผ‰๏ผŒไธ”ๅฐ†ไธ‹้ข่ฟ™ๅผ ๅ›พไฝœไธบ่‡ชๅทฑ็š„ๆ—ฅๅธธ้ฅฎ้ฃŸๅŽŸๅˆ™๏ผš

ๆ—ฅๅธธ้ฅฎ้ฃŸๅŽŸๅˆ™็คบๆ„ๅ›พ

ๅ…ณไบŽๅฅ่บซๅ‡่‚ฅๆ–น้ข็š„ๅฎž่ทต๏ผŒ็ฌ”่€…่ฟ™้‡Œๅช้˜่ฟฐไธ‹ไธป่ฆๅฎž่ทตๆ€่ทฏ๏ผŒๅฎž่ทต็ป†่Š‚ๅฏๅ‚่€ƒ็ฌ”่€…ไน‹ๅ‰ๅ†™็š„ไธ€็ฏ‡ๆ–‡็ซ ๏ผšๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹้˜ถๆฎต้š็ฌ”ๆฑ‡ๆ€ปใ€‚

ๅ…ณ้”ฎ็‚น 1๏ผš่ฆ่€ƒ่™‘ๆ‰“ๅทฅไบบๅทฅไฝœๆฏ”่พƒๅฟ™็ขŒ็š„ๅฎข่ง‚็Žฐๅฎž๏ผŒๅฐ†ๆ—ถ้—ดๅ‘จๆœŸๆ‹‰็š„้•ฟไธ€็‚น๏ผŒ็›ฎๆ ‡ๆ‹†่งฃ็š„็ป†ไธ€็‚น๏ผŒๅฏๅˆ†้˜ถๆฎตๆฅใ€‚ๆˆ‘ไปฌๅฏไปฅ็ป“ๅˆ่บซ่พน็š„ๅพˆๅคšไพ‹ๅญๆฅๅๆ€ไธ‹๏ผŒไธบไป€ไนˆ้‚ฃไนˆๅคšไบบๅ–Š็€ๅฅ่บซๅ’Œๅ‡่‚ฅ๏ผŒ็œŸๆญฃๆˆๅŠŸ็š„ๅดไธๅคšๅ‘ข๏ผŸๆ˜ฏ่€ๅŠ›ไธๅคŸ๏ผŒ่ฟ˜ๆ˜ฏๅฎข่ง‚็Žฏๅขƒไธๅ…่ฎธๅ‘ข๏ผŸ็ฌ”่€…่ง‰ๅพ—ไธคไธชๅŽŸๅ› ้ƒฝๆœ‰๏ผŒๅฆ‚ๆžœๆ—ถ้—ด่ถณๅคŸๅ……่ฃ•๏ผŒ็”จ่ฟ™ไนˆๅคš็ฉบ้—ฒๆ—ถ้—ดๆฅไธ“ๆณจๅœฐๅฎŒๆˆไธ€ไปถๆญฃ็กฎ็š„ไบ‹ๆƒ…ๆ˜ฏๆฒกๆœ‰ๅคง้—ฎ้ข˜็š„ใ€‚ๅฏ็Žฐๅฎž็”Ÿๆดปไธญๆ—ถ้—ดไธไผšๅคšไนˆๅ……่ฃ•๏ผŒๆญฃๆ˜ฏๅŸบไบŽๅฎข่ง‚่€ƒ่™‘๏ผŒ็ฌ”่€…ๆ‰่ฐƒๆ•ดไบ†ๅฎž่ทตๆ€่ทฏ๏ผš

  • ไธฅๆ ผ้˜ถๆฎต๏ผšๅŸบไบŽโ€œ็ฎกไฝๅ˜ด๏ผŒ่ฟˆๅผ€่…ฟโ€็š„ๅ‡†ๅˆ™๏ผŒๆฏๆœˆๅ‡ 5 ๆ–ค๏ผŒๅŠๅนดๅ‡ 30 ๆ–ค๏ผˆๅทฒๅฎŒๆˆๅฎž็Žฐ๏ผ‰
  • ๅทฉๅ›บ้˜ถๆฎต๏ผšๅœจ โ€œ็ฎกไฝๅ˜ดโ€ ็š„ๅŸบ็ก€ไธŠ๏ผŒ ไพง้‡ โ€œ่ฟˆๅผ€่…ฟโ€็š„ๅ‡†ๅˆ™๏ผŒๅŠ ๅคง่ฟๅŠจ้‡๏ผŒๆๅ‡่‡ช่บซ่บซไฝ“็ด ่ดจ๏ผˆ2022ๅนดๆ‰ง่กŒ่‰ฏๅฅฝ๏ผ‰
  • ๆŒ็ปญ้˜ถๆฎต๏ผšๅฐ†โ€œๆฏๅคฉ้”ป็‚ผไธ€ๅฐๆ—ถ๏ผŒๅฟซไนๅทฅไฝœไบ”ๅๅนดโ€ไฝœไธบไธ€ไธช้•ฟๆœŸไน ๆƒฏๆฅ่ดฏๅฝปไธ‹ๅŽป๏ผˆๅธŒๆœ› 2023 ๅนดๅŠไปฅๅŽ็š„ๆ—ฅๅญ้‡Œๅฏไปฅ็ปง็ปญๅšๅˆฐ๏ผ‰

ๅ…ณ้”ฎ็‚น 2๏ผšๅฎž่ทต่ฟ‡็จ‹ไธญๅ€ŸๅŠฉไฝ“่„‚็งค็š„ๆŒ‡ๆ ‡ๅ’Œๆ•ฐๆฎ็ปŸ่ฎก๏ผŒๆฅๅฎšๆœŸๅˆ†ๆž่‡ช่บซๆ•ฐๆฎ๏ผŒๅŠๆ—ถๅ‘็Žฐใ€็บ ๆญฃๅฎžๆ“่ฟ‡็จ‹ไธญ็š„้—ฎ้ข˜๏ผˆ่ฟ™ๆ˜ฏ็ฌ”่€…ๆ‰€ๅœจ่กŒไธš็š„ๆƒฏ็”จๅฅ—่ทฏ๏ผ‰ใ€‚ๆˆ‘ไปฌๅฏไปฅ็ปง็ปญ็ป“ๅˆ็”Ÿๆดปไธญ็š„ไพ‹ๅญๆฅ็œ‹ไธ‹๏ผŒ่‡ชๅทฑๅฏๆœ‰่Šฑไบ›ๆ—ถ้—ดๆฅๅๆ€ใ€ๅค็›˜่‡ช่บซๅญ˜ๅœจ็š„้—ฎ้ข˜๏ผŒ็„ถๅŽ่ฐƒๆ•ด่กŒๅŠจๅ‘ข๏ผŸๅคง้ƒจๅˆ†ๅบ”่ฏฅ้ƒฝๆฒกๆœ‰่ฟ™ไนˆๅšใ€‚ๅ…ถๅฎž๏ผŒ็ฌ”่€…ไน‹ๅ‰ๅœจ่ฟ™ๆ–น้ขๅš็š„ไนŸ็‰นๅˆซๅฐ‘๏ผŒๅŽๆฅ้š็€ๅทฅไฝœๅ’Œ็”Ÿๆดป้˜…ๅކ็š„ๅขžๅŠ ๏ผŒๆ…ขๆ…ขๆณจ้‡่ฟ™ๆ–น้ขไบ†ใ€‚

4ใ€ๅฅๅบทๅฐ็ป“ โ€‹

ๅฅๅบท่ฟ™ไธช่ฏ้ข˜่Š็š„ๅทฎไธๅคšไบ†๏ผŒ็ฌ”่€…ๅœจ่ฟ™ไธช่ฏ้ข˜็š„ๆœ€ๅŽ็ฎ€ๅ•ๅˆ†ไบซไธคไธช่‡ชๅทฑๅญฆๅˆฐ็š„ใ€ไธ”ๆ„Ÿ่ง‰ๆฏ”่พƒๅฎž็”จใ€ๅฏๅนฟๆณ›ๅบ”็”จ็š„่ฟญไปฃๅฎž่ทตๅฅ—่ทฏใ€‚ๆœ‰ๅ…ด่ถฃ็š„ๆœ‹ๅ‹ๅฏๅŽปๆทฑๅ…ฅๅญฆไน ๏ผŒๅฆ‚ๆžœ่ฟ˜่ƒฝๅœจๅทฅไฝœๅ’Œ็”Ÿๆดปไธญๅฐ่ฏ•่ตทๆฅ๏ผŒ็›ธไฟกไผšๅ–ๅพ—ๆ›ดๅฅฝ็š„ๆ•ˆๆžœใ€‚

(1) ็›ฎๆ ‡ -> ้—ฎ้ข˜ -> ่ฏŠๆ–ญ -> ๆ–นๆกˆ -> ่ทต่กŒ ๏ผˆๅฅ—่ทฏๆฅ่‡ชใ€ŠๅŽŸๅˆ™ใ€‹่ฟ™ๆœฌไนฆ๏ผŒ่ฏฅไนฆๅœจ็–ซๆƒ…ๅ‰่ขซ็ฌ”่€…็Ÿฅๆ™“ๅŽ้˜…่ฏป๏ผŒ็–ซๆƒ…ๅŽๅˆ็ฟปไบ†ไธ‹๏ผŒ่ทŸ่€ๆœ‹ๅ‹ไปฌไนŸๅผบ็ƒˆๆŽจ่่ฟ‡๏ผ‰

็›ฎๆ ‡ๅˆฐ่ทต่กŒๆ€็ปดๆต็จ‹็คบๆ„ๅ›พ

2ใ€ไธ€ไธชๅ…จ้ข่ดจ้‡็ฎก็†็š„ๆ€ๆƒณๅŸบ็ก€ๅ’Œๆ–นๆณ•ไพๆฎ๏ผŒๅพช็Žฏๅผๅ“่ดจ็ฎก็† PDCA๏ผŒๅˆ็งฐๆˆดๆ˜Ž็Žฏใ€‚็”ฑๆˆดๆ˜Žๆๅ‡บ๏ผŒๆฎ่ฏดไป–ๅๅˆ†็ƒญ็ˆฑ็ปŸ่ฎกๅญฆ๏ผŒไบŒๆˆ˜ๆ—ถๆ›พๅฐ†็ปŸ่ฎกๅญฆๅบ”็”จไบŽๅˆถ้€ ไธš๏ผŒๅŽๆฅๅœจๆ—ฅๆœฌไผ ๆŽˆ่ดจ้‡ๆŽงๅˆถ๏ผŒ้š็€ๆ—ฅๆœฌๅˆถ้€ ๆŠ€ๆœฏ็š„้€ๆธๅ‘่พพ๏ผŒๆˆดๆ˜ŽไนŸๆˆไธบไบ†ๆฏ”่พƒ่‘—ๅ็š„ไบบ็‰ฉใ€‚

ๆผซ่ฐˆ่ฏปไนฆไธŽๅญฆไน  โ€‹

1ใ€่ฏปไนฆ็š„็›ฎ็š„ โ€‹

่ฏปไนฆไธŽๅญฆไน ็š„ๅŒบๅˆซๆ˜ฏไป€ไนˆๅ‘ข๏ผŸ

ๅœจ็ฌ”่€…็œ‹ๆฅ๏ผŒ่ฏปไนฆไธŽๅญฆไน ๆ˜ฏไธค็ ไบ‹๏ผŒ่ฏปไนฆไธ็ญ‰ไบŽๅญฆไน ๏ผŒๆƒณ่ฆๅญฆไน ๆˆ้•ฟๅ€’ๆ˜ฏๅฏไปฅๅคš่ฏป็‚นไนฆใ€‚ๅฝ“็„ถ๏ผŒๆœ‰ไบ›ไบบไผšๆŠŠ่ฏปไนฆๅฝ“ๆˆไธ€็งไน ๆƒฏๅ’Œ็ˆฑๅฅฝ๏ผŒไฝ†็ฌ”่€…ๆƒณ็ปง็ปญ้—ฎ็š„ๆ˜ฏ๏ผšไน ๆƒฏๅ’Œ็ˆฑๅฅฝไธๆ˜ฏๅ‡ญ็ฉบๆฅ็š„๏ผŒ่ฟ™็งไน ๆƒฏๅ’Œ็ˆฑๅฅฝ่ƒŒๅŽ็š„ๆœฌ่ดจๅŽŸๅ› ๅ’ŒๅŠจๅŠ›ๅˆๆ˜ฏไป€ไนˆๅ‘ข๏ผŸๅฏ่ƒฝ็ญ”ๆกˆไธญๅคšๅฐ‘ไผšๆถต็›–็‚น โ€œๆƒณไปŽ่ฏปไนฆไธญๅญฆๅˆฐ็‚นไธœ่ฅฟโ€ๅงใ€‚

่บซๅค„ไธ€ไธช็Ÿฅ่ฏ†่ฟญไปฃ้€Ÿๅบฆๅ’Œ็”Ÿๆดป่Š‚ๅฅ้ƒฝๅœจๅŠ ๅฟซ็š„ๆ—ถไปฃ๏ผŒโ€œ็„ฆ่™‘โ€ไธŽโ€œ่ฟท่Œซโ€ไผšๆ—ถไธๆ—ถๆฅๆ•ฒ้—จใ€‚ๅ› ๆญค๏ผŒไธบๅบ”ๅฏน็คพไผš็”Ÿๆดปไธญ็š„็„ฆ่™‘ไธŽ่ฟท่Œซ๏ผŒไบบไปฌ้€‰ๆ‹ฉไบ†ๅ„็งๅ„ๆ ท็š„ๆ–นๅผ๏ผŒ่ฏปไนฆไธŽๅญฆไน ่‡ช็„ถไนŸๆˆไธบไบ†ไธ€็งๅธธ็”จ็š„ๆ–นๅผใ€‚็ฌ”่€…ไน‹ๅ‰ไธปๅŠจ่ทŸไบบไบคๆต็š„ๅŠจๅŠ›ไธๅคง๏ผŒๆ‰€ไปฅ่ฏปไนฆไธŽ่‡ชๆˆ‘่ง„ๅˆ’ๅญฆไน ไนŸๆ˜ฏ็ฌ”่€…็š„้€‰ๆ‹ฉใ€‚

ๅ› ๆญค๏ผŒๅฆ‚ๆžœๆœ‰ไบบ้—ฎ่ตท โ€œไฝ ่ฏปไนฆ็š„็›ฎ็š„ๆ˜ฏไป€ไนˆโ€๏ผŒ็ฌ”่€…ไผš็ป“ๅˆ่ฏป่ฟ‡็š„ใ€Š็บณ็“ฆๅฐ”ๅฎๅ…ธใ€‹่ฟ™ๆœฌไนฆ็ป™ๅ‡บ็Žฐๅœจ็š„็ญ”ๆกˆ๏ผšๆž„ๅปบ่‡ชๅทฑ็š„ๅฟƒๆ™บๆจกๅž‹ใ€‚ๅฝ“็„ถ๏ผŒๅฆ‚ๆžœๅœจๆœชๆฅ N ๅนดๅŽๆœ‰ไบบๅ†้—ฎ่ตท่ฟ™ไธช้—ฎ้ข˜๏ผŒ็ฌ”่€…ๅธŒๆœ›่‡ชๅทฑๅฏไปฅ็ป“ๅˆใ€Š็ฉทๆŸฅ็†ๅฎๅ…ธใ€‹่ฟ™ๆœฌไนฆๅ’ŒๆŸฅ็†่Š’ๆ ผ่ฟ™ไธชไบบ็ป™ๅ‡บๆฏ”ๅฝ“ๅ‰ๆ›ดๆทฑๅ…ฅๅ’Œ็ป†ๅŒ–็š„็ญ”ๆกˆ๏ผˆ็›ฎๅ‰ไธ่ƒฝ็ป™่ฟ™ไธช็ญ”ๆกˆ๏ผŒๅ› ไธบ็ฌ”่€…่‡ชๅทฑๆž„ๅปบ็š„ๅฟƒๆ™บๆจกๅž‹่ฟ˜ไธๅคŸๅฅฝ๏ผ‰ใ€‚

2ใ€่ฏปไนฆ็š„ๆ–นๅผ โ€‹

้š็€ๆ—ถ้—ด็š„ๆŽจ็งป๏ผŒ็ฌ”่€…ๅœจ่ฏปไนฆๆ–น้ขไฝ“้ชŒไบ†ไปฅไธ‹ไธ‰็งๆ–นๅผ๏ผš

  • ่‡ช็”ฑๅผ้˜…่ฏป๏ผŒไฝœไธบไธ€็งๅจฑไนๅ’Œ็ˆฑๅฅฝ๏ผŒๆฏ”ๅฆ‚้˜…่ฏปไธ€ไบ›ๅฐ่ฏดๆˆ–่‡ชๅทฑ่ง‰ๅพ—ๆœ‰่ถฃ็š„ไนฆใ€‚
  • ๅกซ้ธญๅผ้˜…่ฏป๏ผŒไธบ็Ÿญๆ—ถ้—ดๅญฆไน ใ€ไบ†่งฃๆŸไธชๆŠ€่ƒฝๆˆ–ไธœ่ฅฟ๏ผŒ่€Œ้€‰ๆ‹ฉ็š„็ฑปไผผๅบ”่ฏ•ๆ•™่‚ฒ็š„ๆ–นๅผใ€‚
  • ๆตท็ปตๅผ้˜…่ฏป๏ผŒ็ป“ๅˆ่‡ช่บซ้‡ๅˆฐ็š„้—ฎ้ข˜้€š่ฟ‡้˜…่ฏปๅญฆไน ๆฅๆ‰พ็ญ”ๆกˆ๏ผŒๆˆ–้˜…่ฏปๅญฆไน ็š„่ฟ‡็จ‹ๅŸบไบŽไนฆไธญ็š„้˜่ฟฐๆฅ็ป“ๅˆๅฎž้™…ๆ็‚ผๅ‡บๅฏๆŒ‡ๅฏผๅฎž่ทต็š„โ€œๅฅ—่ทฏโ€ใ€‚

ๆˆ‘ไปฌๅนถไธ้œ€่ฆๅƒ่พฉ่ฎบ่ต›้‚ฃๆ ทไบ‰่ฎบใ€PK ๅ‡บไธŠ่ฟฐๅ“ช็งๆ–นๅผๅฅฝ๏ผŒๅ“ช็งๆ–นๅผไธๅฅฝใ€‚ๅ› ไธบๆฏ็งๆ–นๅผ้ƒฝๆœ‰ๅฏ่ƒฝใ€ๆˆ–ๅคšๆˆ–ๅฐ‘ๅŠฉๅŠ›ๆˆ‘ไปฌๆˆ้•ฟใ€‚ไปŽๅฎž่ทตๆ•ˆๆžœๆฅ็œ‹๏ผŒๆˆ–่ฎธๆตท็ปตๅผ้˜…่ฏปๆ˜ฏๅคงๅคšๆ•ฐไบบ่ฎคๅฏ็š„ๆ–นๅผ๏ผŒไฝ†ๆœ‰ไบ›้‡‡็”จ่‡ช็”ฑๅผ้˜…่ฏป็š„ไบบ็œŸ็š„ๅœจๆŸไบ›ๆ–น้ขๆฏ”้‡‡็”จๆตท็ปตๅผ้˜…่ฏป็š„ไบบไผ˜็ง€๏ผ›ไปŽๆ—ถ้—ด็ปดๅบฆๆฅ็œ‹๏ผŒๆฒกๆœ‰่‡ช็”ฑๅผใ€ๅกซ้ธญๅผ็š„้˜…่ฏป๏ผŒไนŸๅพˆ้šพ็›ดๆŽฅ่ฝฌๅ˜ไธบๆตท็ปตๅผ้˜…่ฏปใ€‚

ๅœจ็ฌ”่€…็œ‹ๆฅ๏ผŒๆˆ‘ไปฌ่ฆๅ…ณๆณจ็š„ไธๆ˜ฏๅ•้€‰้ข˜๏ผŒๆ˜ฏโ€œๅ…จ้ƒฝ่ฆโ€๏ผŒ่ฆๅญฆไผšๅœจไธๅŒ็š„ๅœบๆ™ฏไธ‹ๅˆ‡ๆขๅˆฐไธๅŒ็š„้˜…่ฏปๆ–นๅผใ€‚ๅณไฝฟๆ˜ฏๅŒไธ€ไธชไบบ๏ผŒไนŸๅฏๆ นๆฎไธๅŒ็š„ๅœบๆ™ฏใ€ไธๅŒ็š„ๆ—ถ้—ดๆฅๅˆ‡ๆขๅˆฐไธๅŒ็š„้˜…่ฏปๆ–นๅผใ€‚ๆ‰€ไปฅ๏ผŒ่ฟ™้‡Œๅ†ๅšไธ€ไธชๅคง่ƒ†ๅˆ็‹‚ๅฆ„ๅœฐ็š„่ฎบๆ–ญ๏ผšไธบไป€ไนˆๅพˆๅคšไบบ่ฏปไบ†ๅพˆๅคš็š„ไนฆ๏ผŒๅดไพๆ—ง่ฟ‡ไธๅฅฝ่ฟ™ไธ€็”Ÿ๏ผŸๅ› ไธบ็บตไฝฟไธ€ไธชไบบๆปก่…น็ป็บถ๏ผŒไฝ† TA ๆฒกๆœ‰ๆธ…ๆ™ฐ็š„่ฎคๆธ…้—ฎ้ข˜ๆœฌ่ดจ๏ผŒๅšไธๅˆฐๅญฆไปฅ่‡ด็”จไธŽ็Ÿฅ่กŒๅˆไธ€๏ผˆไนฆ็”Ÿ่ฏฏๅ›ฝไนŸๆ˜ฏ่ฟ™ไธช้“็†๏ผ‰ใ€‚

3ใ€่ฏปไนฆๅทฅๅ…ท้€‰ๆ‹ฉไธŽๅฎž่ทต โ€‹

ๅคงๅญฆๆ—ถไปฃ๏ผŒ่‡ชๆŽฅ่งฆไบ’่”็ฝ‘ๅŽ๏ผŒ็ฌ”่€…ไพๆ—งไผšไนฐไธ€ไบ›็บธ่ดจไนฆๆฅ็œ‹๏ผŒไฝ†ไนŸๅšไฟกโ€œไฟกๆฏๅŒ–โ€ๆ˜ฏๅคงๅŠฟๆ‰€่ถ‹๏ผŒไธ€ไธชๅคงๅญฆ็”Ÿๅœจๅญฆๅฅฝๆ•ฐๅญฆ็ญ‰ๅŸบ็ก€ๅญฆ็ง‘็š„ๅŸบ็ก€ไธŠ๏ผŒๅบ”่ฏฅ่Šฑไบ›็ฒพๅŠ›ๆฅๅญฆไน ไบ†่งฃไธ‹่ฎก็ฎ—ๆœบๆŠ€ๆœฏใ€‚็ปๅކ็–ซๆƒ…่ฟ™ไธ‰ๅนดๅŽ๏ผŒ็ฌ”่€…ๅ†ๆฌกๅšไฟก โ€œๆ•ฐๅญ—ๅŒ–โ€ ๆ˜ฏ็ปง โ€œๅ…จ็ƒๅŒ–โ€ ไน‹ๅŽ็š„ๅคงๅŠฟๆ‰€่ถ‹ใ€‚

ๅœจ้˜…่ฏปๅทฅๅ…ท็š„้€‰ๆ‹ฉๆ–น้ข็ฌ”่€…็ปๅކไบ†ไปฅไธ‹ๅ‡ ไธช้˜ถๆฎต๏ผš

  • ็บธ่ดจไนฆ => ไบ’่”็ฝ‘ไฟกๆฏ
  • ็บธ่ดจไนฆ + ไบ’่”็ฝ‘ไฟกๆฏ + Kindle ็”ตๅญไนฆ
  • ็บธ่ดจไนฆ + ไบ’่”็ฝ‘ไฟกๆฏ + ๅ›ฝๅ†…้˜…่ฏปAPP๏ผˆๅพฎไฟก้˜…่ฏปใ€่œ—็‰›่ฏปไนฆ็ญ‰๏ผ‰

็›ฎๅ‰๏ผŒโ€œ็บธ่ดจไนฆ + ๅพฎไฟก้˜…่ฏป + ไบ’่”็ฝ‘ไฟกๆฏโ€ๆˆไธบไบ†็ฌ”่€…ๆœ€็ปˆ้€‰ๆ‹ฉ็š„็ป„ๅˆๅทฅๅ…ทใ€‚ๅœจ 2021 ๅนดๅบ•๏ผŒ็ฌ”่€…่ฎคไธบๅพฎไฟก่ฏปไนฆๆŽจๅ‡บ็š„ๅนดๅบฆๆŠฅๅ‘Šไบงๅ“ๅทฒไธ่ถณไปฅๆ€ป็ป“่‡ชๅทฑๅœจ้˜…่ฏปๆ–น้ข็š„ๅ…จ่ฒŒ๏ผŒ่€Œไธ”ๅœจ้—ฒๆš‡็š„ๆ—ถๅ€™่ง‰ๅพ—่‡ชๅทฑๅœจ้˜…่ฏปๆ–น้ขไธๅคŸ็ณป็ปŸๅŒ–ใ€‚ๅ› ๆญค๏ผŒๅฐฑๅˆ›ๅปบไบ†ไธ€ไธชโ€œ้˜…่ฏปๅ‡†ๅˆ™่กจๆ ผโ€๏ผŒ็”จไบŽๆŒ‡ๅฏผ่‡ชๅทฑ็š„้˜…่ฏปๅฎž่ทตใ€‚่กจๆ ผไพๆ—ง้‡‡็”จไบ†ๅˆ†่งฃไธŽๆธ่ฟ›ๆ˜Ž็ป†็š„ๆ€่ทฏ๏ผš

  • ๆ˜Ž็กฎ่‡ชๅทฑๅฝ“ๅ‰็š„ๅฎšไฝ๏ผŒๅˆ’ๅˆ†ๅ‡บๅ››ไธชโ€œๅฎšไฝๅœ†ๅœˆโ€๏ผŒๅฏนๆฏไธชๅœ†ๅœˆ่ฟ›ไธ€ๆญฅๅˆ†่งฃ๏ผŒไปŽ่€Œๅˆ’ๅˆ†ๅ‡บๅ‡ ไธชๅˆ†็ฑป๏ผš
    • ๅทฅไฝœๆŠ€่ƒฝๅœˆ๏ผŒๅŒ…ๆ‹ฌ็ผ–็จ‹ๆŠ€ๆœฏๅญฆไน ใ€่Œไธšๅ‘ๅฑ•ๅญฆไน ใ€ไบ’่”็ฝ‘่กŒไธšไธŽ็ง‘ๆŠ€ ไธ‰็ฑป
    • ็”Ÿๆดป็Ÿญๆฟ่กฅๅ……ๅœˆ๏ผŒ็›ฎๅ‰ๅชๅŒ…ๆ‹ฌ่บซไฝ“ๅฅๅบทไธŽๅฑ…ๅฎถ่ฟ™ไธ€ไธชๅคง็ฑป
    • ไธชไบบ่ƒฝๅŠ›่กฅๅ……ๅœˆ๏ผŒๅŒ…ๆ‹ฌ็ปŸ่ฎกไธŽๆ•ฐๅญฆใ€็ปๆตŽไธŽ่ดข็ป็Ÿฅ่ฏ†ๅญฆไน  ไธค็ฑป
    • ไบบๆ–‡ๅ“ฒๆ€่ฐƒๅ‰‚ๅœˆ๏ผŒๅŒ…ๆ‹ฌๅ“ฒๆ€ไบบ็”Ÿใ€ๅކๅฒ่ฏป็‰ฉใ€ๆ–‡ๅญฆไธŽๅฐ่ฏด ไธ‰็ฑป
  • ไธบๆฏไธ€ไธชๅˆ†็ฑป้…ๅค‡ๅฏนๅบ”็š„้˜…่ฏปๅทฅๅ…ทไธŽๅฎž่ทตๅŽŸๅˆ™
็›ฎๆ ‡ๅˆฐ่ทต่กŒๆ€็ปดๆต็จ‹็คบๆ„ๅ›พ

4ใ€ๅฐ็ป“ โ€‹

ๅœจไธŠ่ฟฐโ€œ้˜…่ฏปๅ‡†ๅˆ™่กจๆ ผโ€็š„ๅๅŠฉไธ‹๏ผŒ้˜…่ฏปไธŽๅญฆไน ่ฟ™ไปถๅฐไบ‹ๅœจ็–ซๆƒ…ๆœŸ้—ดไนŸๅ˜ๅพ—ๆฏ”ไน‹ๅ‰ๆ˜Žๆ™ฐ่ตทๆฅ๏ผŒไธ”็”ฑไบŽ 2022 ๅนด้ข‘็นๅฑ…ๅฎถ๏ผŒ่Š‚็œไธ‹ๆฅ็š„ๆ—ถ้—ดไนŸๅฐฑๅคšไบ†๏ผŒ็ฌ”่€…ๅธŒๆœ›่ƒฝ็ปง็ปญๅ‘็€โ€œๆž„ๅปบ่‡ชๅทฑ็š„ๅฟƒๆ™บๆจกๅž‹โ€่ฟ™ไธชๆ–นๅ‘ๅฎž่ทตไธ‹ๅŽปใ€‚

้˜…่ฏปไธŽๅญฆไน ่ฟ™ไธช่ฏ้ข˜ๅˆฐๆญคไนŸๅŸบๆœฌๆผซ่ฐˆๅฎŒไบ†๏ผŒๅฏน่ฟ™ไธช่ฏ้ข˜ๆˆ–้˜…่ฏปๅทฅๅ…ทๆ„Ÿๅ…ด่ถฃ็š„ๆœ‹ๅ‹ๅฏไปฅ็œ‹ไธ‹ๅ‡ฏๆ–‡ๅ‡ฏๅˆฉๅœจๅ‡ ๅนดๅ‰ๅ†™็š„ใ€Šๅฟ…็„ถใ€‹่ฟ™ๆœฌไนฆ๏ผˆ็ฌ”่€…ๅšไฟก๏ผŒๅพฎไฟก่ฏปไนฆ่ฟ™ไธชไบงๅ“ๅœจๅ‘ๅฑ•็š„่ฟ‡็จ‹ไธญ๏ผŒๅ…ถๅ›ข้˜Ÿไธญ่‚ฏๅฎšๆœ‰ไบบ่ฏป่ฟ‡่ฟ™ๆœฌไนฆ๏ผ‰ใ€‚ๅฝ“็„ถ๏ผŒๅฆ‚ๆžœไธ่ง‰ๅพ—็ฌ”่€…ๅœจๅšๅนฟๅ‘Š๏ผŒไนŸๅฏ็œ‹ไธ‹็ฌ”่€…ๆฏ•ไธšๅ‰็•™ไธ‹็š„ไธค็ฏ‡็›ธๅ…ณๆ–‡็ซ ๏ผš

ๆผซ่ฐˆๆ—ถ้—ด็ฎก็† โ€‹

1ใ€ๆ—ถ้—ดไธๅคŸ็”จ้—ฎ้ข˜ โ€‹

ๆ—ถ้—ดๆ˜ฏๆˆ‘ไปฌๅœจ่ฟ™ไธชไธ–็•ŒไธŠๆœ€ไผ˜่ดจๅ’Œๅ…ฌๅนณ็š„่ต„ไบง๏ผŒๅฏๅฎƒไนŸ่ƒฝๆ˜ฏ่ฎฉไบบๅœจๅ…ถ้ขๅ‰ๆœ€ๆ— ๅฅˆใ€‚ๅ› ๆญค๏ผŒๅฆ‚ไฝ•ๅˆฉ็”จใ€็ฎก็†่‡ชๅทฑ็š„ๆ—ถ้—ดไนŸๆˆไธบไบ†ๆฏไธชไบบ็š„ๅฟ…ไฟฎ่ฏพใ€‚

่บซๅค„ๆ—ถ้—ด็ขŽ็‰‡ๅŒ–ใ€่ง’่‰ฒๅคšๅ…ƒๅŒ–็š„็คพไผš๏ผŒๆˆ‘ไปฌ็š„ๆ—ถ้—ดๅ˜ๅพ—่ถŠๆฅ่ถŠ็ขŽ๏ผŒๆฏไธช่ง’่‰ฒ่ƒŒๅŽไนŸ้ƒฝๆœ‰ไธ€ๅ †็็ขŽ็š„ไบ‹ไธๆ–ญๆถŒ่ฟ›ๆฅใ€‚ๅพˆๅคšไบบ่ง‰ๅพ—ๆ—ถ้—ด็ฎก็†ใ€ๆ—ถ้—ดไธๅคŸ็”จๆ˜ฏ่€็”Ÿ้•ฟ่ฐˆ็š„่ฏ้ข˜๏ผŒ่บซ่พนๅ……ๆ–ฅ็€่ฎฒ่ฟ™ไธชๆ–น้ข็š„ไบบๅ’Œไนฆ๏ผŒไฝ†ๆฒกๆœ‰ๅคšๅฐ‘ๅฎž้™…็š„็”จๅค„ใ€‚็ฌ”่€…ๆ›พ่ฏ•ๅ›พๅˆ†ๆž่ฟ‡่ฟ™ไธช็Žฐ่ฑก๏ผŒๆœ€็ปˆๆ€ป็ป“ๅ‡บๆฅ็š„ไธป่ฆๅŽŸๅ› ๆœ‰ 3 ไธช๏ผš

  • ๅณไพฟ่ฏป้ๅ…จๅคฉไธ‹ๅ…ณไบŽๆ—ถ้—ด็š„ไนฆ๏ผŒ้่ฎฟไบ†ๅ…จๅคฉไธ‹ๆœ‰็›ธๅ…ณ็ป้ชŒ็š„ไบบใ€‚ๅช่ฆไธๅŽป่กŒๅŠจ๏ผŒๅฐฑๆ˜ฏ็™ฝ่ดนๅŠŸๅคซ๏ผŒไธŽๅ…ถ่ฟ™่ˆฌๅŠชๅŠ›๏ผŒไธๅฆ‚่บบๅนณใ€‚
  • ๆฏไธชไบบ้‡ๅˆฐ็š„้—ฎ้ข˜ๅ’Œ่ฎพๅฎš็š„็›ฎๆ ‡ไธๅŒ๏ผŒ้‡‡็”จ็š„ๅค„็†ๆ–นๅผ่‡ช็„ถไนŸไธๅŒ๏ผŒๆœ‰ไบ›ไบบ็š„ๆ€ป็ป“ๆœชๅฟ…้€‚ๅˆ่‡ชๅทฑ๏ผŒๆ‹ฟๆฅๅ€Ÿ้‰ดไนŸๆœชๅฟ…่ƒฝ่ตทๅˆฐๅคšๅฐ‘ๆ•ˆๆžœใ€‚
  • ่ฐƒๆ•ดๅŽ็š„ๆ•ˆๆžœ้œ€่ฆๆ—ถ้—ดๆฅ่ฏๆ˜Ž๏ผŒๅœจๆฒกๆœ‰็œ‹ๅˆฐๆ•ˆๆžœๅ‰ๅคงๅคšๆ•ฐไบบ้ƒฝๅฎนๆ˜“ๆ”พๅผƒใ€‚ๅณไฝฟ็œ‹ๅˆฐไบ†็ŸญๆœŸ็š„ๆ•ˆๆžœ๏ผŒๅช่ฆ่งฃๅ†ณไบ†ๅฝ“ๅ‰ๆฃ˜ๆ‰‹็š„้—ฎ้ข˜๏ผŒๅพˆๅฐ‘ๆœ‰ไบบไผš้€‰ๆ‹ฉ็ปง็ปญไฟๆŒใ€‚

ๅˆšๅฅฝๅœจ็–ซๆƒ…่ฟ™ไธ‰ๅนด๏ผŒ็ฌ”่€…ๆœ‰ๆœบไผšๅŸบไบŽ้‡ๅˆฐ็š„้—ฎ้ข˜๏ผŒๅœจ่ฟ™ๆ–น้ขๅฐ่ฏ•ๆ”นๅ–„ไบ†ไธ‹ใ€‚้‡ๆ–ฐๆ‹ฅๆœ‰ๅฅๅบท็š„่บซไฝ“ๅŽ๏ผŒๆœ‰ๅ‡ ไธช้šพ้ข˜ๆ‘†ๅœจไบ†็ฌ”่€…้ขๅ‰๏ผš

  • ้š็€ๅทฅไฝœๅนด้™ๅ’Œ้˜…ๅކ็š„ๅขžๅŠ ๏ผŒ้œ€่ฆไพ่ต–ๅ‘็Žฐใ€ๅˆ†ๆžๅŽๆ‰่ƒฝๆธ…ๆ™ฐ็š„้—ฎ้ข˜ๅ’Œไบ‹ๅŠก็›ธ่พƒไน‹ๅ‰ๅ ๆฏ”ๅคšไบ†๏ผŒๅŽ‹ๅŠ›ไนŸ้šไน‹ไธŠๅ‡๏ผŒๆ—ถ้—ดๅ˜ๅพ—ๆ˜Žๆ˜พไธๅคŸ็”จใ€‚
  • ๅˆ็†็š„้ฅฎ้ฃŸใ€ๅฅๅบท็š„่บซไฝ“ใ€ๆฏ”่พƒๆœ‰่ง„ๅพ‹็š„ไฝœๆฏ่ขซๅˆ—ไธบๅคด็ญ‰ๅคงไบ‹๏ผŒๆœ‰ไบ›ๅฎž่ทต้œ€่ฆๆ—ถ้—ด่ฝๅœฐ๏ผŒๆœ‰ไบ›ๆ”นๅ˜้œ€่ฆไพ่ต–ๆ—ถ้—ดๆ‰่ƒฝๆœ‰ๆ•ˆๆžœ
  • ้‡ๆ–ฐๆ‹ฅๆœ‰ๅฅๅบท็š„่บซไฝ“ๅŽ๏ผŒ็ฌ”่€…ไธไฝ†ๆƒณๅœจๅทฅไฝœๆ–น้ขๅคšๅšไบ›ๆญฃ็กฎ็š„ไบ‹๏ผŒ่ฟ˜ๆƒณๅœจไธบๆ•ฐไธๅคš็š„ไธšไฝ™ๆ—ถ้—ดๆŽจๅŠจโ€œ่ฏปไนฆไธŽๅญฆไน โ€่ฟ™ไปถๅฐไบ‹๏ผŒ้€š่ฟ‡ๆž„ๅปบ็จณๅฅ็š„ๅฟƒๆ™บๆจกๅž‹ๆฅๅบ”ๅฏนไธ็จณๅฎš็š„ๅคง็Žฏๅขƒใ€‚

็ฌ”่€…็›ธไฟก๏ผŒๆœ‰่ฟ‡็ฑปไผผ็ปๅކ็š„ไบบ่‚ฏๅฎš่ƒฝๆ›ดๆ˜Ž็™ฝๅ…ถไธญ็š„็Ÿ›็›พไธŽ้…ธๆฅš๏ผŒ้ขๅฏนๅพˆๅคšไปถๆŠขๅ ๆ—ถ้—ด่ต„ๆบ็š„ไบ‹ๅŠก๏ผŒๅˆไธๅพ—ไธ้€ผ็€่‡ชๅทฑๆƒณๆ–น่ฎพๆณ•ๆ‰พๅˆฐ่งฃๅ†ณๅŠžๆณ•๏ผŒ็œŸ็š„่›ฎๆœ‰ๅŽ‹ๅŠ›็š„ใ€‚ๅฝ“็„ถ๏ผŒ่บบๅนณๅ’Œๆ‘†็ƒ‚ๆ˜ฏไธ€็งๆ–นๅผ๏ผŒๅฏไบบ่บบไน…ไบ†ไนŸไผšไธ่‡ช่ง‰ๅœฐๆƒณ่ฆๅฐ่ฏ•็ช็ ดไธ€ไธ‹ๅฑ€้™๏ผŒไธŽๅ…ถ่ฎฉ้—ฎ้ข˜ไธŽ็Žฏๅขƒๅ€’้€ผ่‡ชๅทฑๆ”นๅ˜๏ผŒไธๅฆ‚่‡ชๅทฑๆ€ๅ˜ใ€‚

2ใ€ๅˆ†้˜ถๆฎต่ฐƒๆ•ดๆ—ถ้—ด็ฎก็† โ€‹

็ฌฌไธ€้˜ถๆฎต๏ผš็–ฏ็‹‚ๅšๅ‡ๆณ•๏ผŒไธ“ๆณจ้‡่ฆ็š„ไบ‹ โ€‹

ไธๆŽจ่็š„ไธฅๆ ผๆ—ถ้—ด่กจ๏ผŒๅฝขๅฆ‚ 7:20-7:50 ่ตทๅบŠใ€ๆด—ๆผฑ๏ผ›7:50-8:30 ้”ป็‚ผ่บซไฝ“๏ผ›8:20-8:50: ๅƒๆ—ฉ้ฅญ...... ่ฟ™ๆ ท็ฎ€ๅ•ๅœฐๆŠŠไธ€ๅคฉๆ—ถ้—ดๅˆ†ไธบ็บฟๆฎต็š„ไฝœๆฏๆ—ฅ็จ‹่กจ.

๏ผˆ1๏ผ‰ไธขๅผƒไธ้ ่ฐฑ็š„ไธฅๆ ผๆ—ถ้—ด่กจ๏ผŒไธบ่‡ชๅทฑๅ‡ๅŽ‹

  • ๆ™ฎ้€šไบบๅ‹คๅฅ‹ไบ›ๆ˜ฏๅฏน็š„๏ผŒไฝ†้€ผ็€่‡ชๅทฑๆ‰ง่กŒโ€œไธฅๆ ผๆ—ถ้—ด่กจโ€ๅชไผš่ฎฉ่‡ชๅทฑๅ˜ๅพ—ๆ›ดๅŠ ็„ฆ่™‘ใ€‚
  • ่ถŠๆ˜ฏๅŠชๅŠ›ๅœฐๆ‰ง่กŒไธฅๆ ผ็š„ๆ—ถ้—ด่กจ๏ผŒๅฐฑ่ถŠไฝ“ไผšๅˆฐๆŒซ่ดฅๆ„Ÿใ€็„ฆ่™‘ๆ„Ÿ๏ผŒๆˆ‘ไปฌไธ่ฏฅ็”จ็†ๆƒณๅŒ–็š„ๆ–นๆณ•่ฆๆฑ‚่‡ชๅทฑใ€‚

๏ผˆ2๏ผ‰้‡ๆ–ฐ็†่งฃไธŽๅบ”็”จโ€œๆ—ถ้—ดๅ››่ฑก้™โ€

  • ไฝฟ็”จๆธ…ๅ• List ๆฅ็ฎก็†ไบ‹ๅŠกใ€‚ๅŸบไบŽไบ‹ๅŠก็š„้‡่ฆ็จ‹ๅบฆ๏ผŒๅˆปๆ„ๅฟฝ็•ฅไธ้‡่ฆ็š„ไบ‹๏ผŒๅณ็ดงๆ€ฅไธ้‡่ฆๅ’Œไธ็ดงๆ€ฅไธ้‡่ฆ็š„ไบ‹ๅŠก๏ผˆๅนฒๆމ็ดงๆ€ฅไธ้‡่ฆ็š„ไบ‹ๅŠกๆœ‰็‚น่ฟ‡ไบŽๆšดๅŠ›๏ผŒไนŸๅฎนๆ˜“่ขซๅˆซไบบ่ฏฏ่งฃใ€‚ไฝ†็”ฑไบŽ็ฌ”่€…ๅœจ็ฌฌไธ€้˜ถๆฎต่ฟ˜ๅค„ไบŽๆ•‘็ซ้˜ถๆฎต๏ผŒไผšๆฏ”่พƒ็‹ ๏ผ‰
  • ้”™ๅผ€ๅคงไผ—ไธŠ็ญ้ซ˜ๅณฐๆ—ถ้—ด๏ผŒไธŠๅˆ็ป™่‡ชๅทฑ้ข„็•™ 2.5 ๅฐๆ—ถ็š„ๆ— ๅนฒๆ‰ฐๆ—ถ้—ดใ€‚ๅŠๅฐๆ—ถ็”จไบŽๅฅ่บซ๏ผŒ1.5 ๅฐๆ—ถ็”จไบŽๅค„็†้‡่ฆไธ็ดงๆ€ฅ็š„ไบ‹
  • ๆญฃๅธธๅทฅไฝœๆ—ถ้—ดๅค„็†้‡่ฆไธ”็ดงๆ€ฅ็š„ไบ‹๏ผŒๅฐฝๆœ€ๅคงๅŠชๅŠ›ๅฐ†้‡่ฆไธ”็ดงๆ€ฅ็š„ไบ‹ๅŠกๅฟซ้€Ÿๅนฒๆމ๏ผŒๅนถๅฐฝๆœ€ๅคงๅŠชๅŠ›้ฟๅ…้‡่ฆไธ็ดงๆ€ฅ็š„ไบ‹ๅŠกๆผ”ๅ˜ไธบ้‡่ฆไธ”็ดงๆ€ฅ็š„ไบ‹ๅŠก

๏ผˆ3๏ผ‰้‡ๆ–ฐ่ฐƒๆ•ดๅ‘จๆœซๆ—ถ้—ด

  • ๅ‘จๅ…ญๆ— ้‡่ฆไบ‹ไธ็บฆไธ้€›๏ผšๅ‘จๅ…ญไธŠๅˆ้ข„็•™็ฝ‘ไธŠๅ†ฒๆตชๅ’Œ้˜…่ฏปๆ–‡็ซ ๅ……็”ตๆ—ถ้—ด๏ผŒๅ‘จๅ…ญไธ‹ๅˆ้ข„็•™ๅฅ่บซๆ—ถ้—ด
  • ๅ‘จๆ—ฅไธŠๅˆ้šๆ„๏ผŒไธ‹ๅˆไธŽๆ™šไธŠ้ข„็•™ๅ‡บ้˜…่ฏปไธŽๅญฆไน ๆ—ถ้—ด

ๅœจ่ฟ™็งโ€œๅฟซๅˆ€ๆ–ฉไนฑ้บปโ€ๅผ็š„ๆ“ไฝœไธ‹๏ผŒ่ฟ‘ๅฐๅŠๅนดๅŽ็ฌ”่€…ๅ‘็Žฐ่‡ชๅทฑๅœจๅทฅไฝœๆ–น้ขไธ้‚ฃไนˆๅƒๅ››ๅค„็ญ็ซ็š„โ€œๆ‰ๆ€ฅ็Šถๆ€โ€ไบ†ใ€‚ๅฅๅบทใ€่ฏปไนฆไธŽๅญฆไน ไธคๆ–น้ข็š„ไน ๆƒฏๅพ—ไปฅไฟไฝ๏ผŒ่™ฝ็„ถไฝ“้‡ๅ˜ๅŒ–ๅญ˜ๅœจๅฐ่Œƒๅ›ดๆณขๅŠจ๏ผŒไฝ†ๅฅ่บซๅ‡่‚ฅ็š„่ƒœๅˆฉๆžœๅฎžไนŸ่ขซๅทฉๅ›บไฝไบ†ใ€‚

็ฌฌไบŒ้˜ถๆฎต๏ผšๅ‡็บงๆธ…ๅ•็ฎก็† โ€‹

ๅœจ่ฟ™ไธช้˜ถๆฎต๏ผŒ้‰ดไบŽ็ฌ”่€…็œ‹ไบ†ไธ€ไบ›ๆ—ถ้—ด็ฎก็†็›ธๅ…ณ็š„ไนฆ๏ผŒๆฏ”ๅฆ‚ใ€Šๅ“ˆไฝ›ๆ—ถ้—ด็ฎก็†่ฏพใ€‹ใ€ใ€Šๅ“ช้‡Œๆฒกๆœ‰ๆ—ถ้—ดใ€‹็ญ‰ไนฆใ€‚็ป“ๅˆ่‡ชๅทฑๅœจ็ฌฌไธ€้˜ถๆฎต็š„้—ฎ้ข˜๏ผŒๅ†ณๅฎšๅœจ็ฌฌไบŒ้˜ถๆฎตๅฏนๆธ…ๅ•่ฟ›่กŒๆ”นๅ–„ใ€‚ๆธ…ๅ•ๆ˜ฏไธชๅฅฝไธœ่ฅฟ๏ผŒ่ƒฝ็”จๆฅๆขณ็†ใ€ๅˆ†ๆž่‡ชๅทฑ็š„ๆ—ถ้—ดๅˆฉ็”จๆ˜ฏๅฆ็ฌฆๅˆ้ข„ๆœŸ๏ผŒๆœ‰ๅŠฉไบŽไฝฟ็”จ่€…ไธๆ–ญๆ€่€ƒๅฆ‚ไฝ•ๅฐ†ๆ—ฅๅธธไปปๅŠกๅš็š„ๆ›ดๅฅฝใ€‚ๅˆ—ๅ‡บๆฅๆธ…ๅ•ๅŽ่ƒฝ้™ไฝŽ็”š่‡ณ้ฟๅ…็„ฆ่™‘๏ผŒๅ› ไธบๅœจๆ‰ง่กŒๆ—ถไธๆ˜ฏไปŽๅคง่„‘ไธญๆๅ–๏ผŒ่€Œๆ˜ฏไปŽๆธ…ๅ•ไธญ่ฏปๅ–ใ€‚

ๅœจๅ‡็บงๆธ…ๅ•็ฎก็†ๅ‰๏ผŒ็ฌ”่€…ๅชๆœ‰ไธ€ไธชไธป่ฆ็”จๆฅ็ฎก็†ๅทฅไฝœ็›ธๅ…ณไบ‹ๅŠก็š„ๆธ…ๅ•๏ผŒไธšไฝ™ๆ—ถ้—ดๆ˜ฏๆฒกๆœ‰ๆธ…ๅ•็ฎก็†็š„ใ€‚ไฝ†้š็€ๅฅๅบทไธŽไธšไฝ™่‡ชๆˆ‘ๅ……็”ต็›ธๅ…ณ็š„ๆŠ•ๅ…ฅๅŠ ๅคง๏ผŒๅ‡็บงๆธ…ๅ•็ฎก็†ๆœ‰ไบ†ไธ€ๅฎš็š„ๅฟ…่ฆๆกไปถใ€‚ๅ‡็บงๆธ…ๅ•็ฎก็†็š„ไธป่ฆๆ€่ทฏไพๆ—ง่ฟ็”จไบ†ๅˆ†่งฃไธŽๆธ่ฟ›ๆ˜Ž็ป†๏ผŒๅฐ†ๆธ…ๅ•ๅˆ†ไธบ๏ผš็ขŽ็‰‡ๆธ…ๅ•ใ€ๅทฅไฝœๆ—ฅ-ๆ—ฅๅธธๆธ…ๅ•ใ€ๅ‘จๆœซ-ๆ—ฅๅธธๆธ…ๅ•ไธ‰็ฑป๏ผš

  • ็ขŽ็‰‡ๆธ…ๅ•๏ผš

  • ไฝœไธบๅคง่„‘็š„็ผ“ๅ†ฒๆฑ ่€Œๅญ˜ๅœจ๏ผŒๆ”ถ้›†ๅคง่„‘ๅŸบไบŽๅฎข่ง‚ๅ› ็ด ๆˆ–ไธป่ง‚ๆ€็ปช่€Œไบง็”Ÿ็š„ไบ‹ๅŠก๏ผˆไธๅŒบๅˆ†ไผ˜ๅ…ˆ็บง๏ผŒไธๅŒบๅˆ†ไบ‹ๅŠกๅคงๅฐ๏ผ‰ใ€‚ๆŠŠไบ‹ๅŠกไธข่ฟ›็ขŽ็‰‡ๆธ…ๅ•็š„็›ฎ็š„ๆ˜ฏ่ฆๅœจๅ…ถไป–ๅˆ้€‚็š„ๆ—ถ้—ดๅ†ๅŽปๆ€่€ƒๅฎƒใ€ๅค„็†ๅฎƒ๏ผŒๅŒๆ—ถไฟๆŒๅฝ“ไธ‹ๆ—ถ้—ด็š„ไธ“ๆณจใ€‚

  • ็ขŽ็‰‡ๆธ…ๅ•ๆ˜ฏๅฆๅค–ไธคไธชๆธ…ๅ•็š„ไธป่ฆ่พ“ๅ…ฅ๏ผŒๅปบ็ซ‹็ขŽ็‰‡ๆธ…ๅ•๏ผŒ้œ€่ฆๅ…ปๆˆๆฏๅคฉๆŠŠ็ขŽ็‰‡ๅŠๆ—ถ่ฃ…่ฟ›ๆ—ฅๅธธๆธ…ๅ•็š„ไน ๆƒฏ

  • ๅˆ ้™ค้•ฟๆ—ถ้—ดๆฒกๆœ‰่ขซ่ฟ็งปไธ”ๆธ่ฟ›ๆ˜Ž็ป†ๅˆฐๆ—ฅๅธธๆธ…ๅ•็š„ไบ‹ๅŠก

  • ๆ—ฅๅธธๆธ…ๅ•(ๅทฅไฝœๆ—ฅ)๏ผš

  • ็”จไบŽๆ”ถ้›†ๅทฅไฝœๆ—ฅ็š„ๆ—ฅๅธธไบ‹ๅŠก๏ผŒๅ…ถ่พ“ๅ…ฅไธป่ฆๆฅ่‡ช็ขŽ็‰‡ๆธ…ๅ•ๆˆ–ไธดๆ—ถๅŠ ่ฟ›ๆฅ็š„้‡่ฆไธ”็ดงๆ€ฅไบ‹ๅŠกใ€‚

  • ๆ—ฅๅธธๆธ…ๅ•ๆ”ถ้›†ไบ‹ๅŠกไธ่ƒฝ็…งๆฌ็ขŽ็‰‡ๆธ…ๅ•๏ผŒ่€Œๆ˜ฏ็ขŽ็‰‡ๆธ…ๅ•็š„ๅ†ๆฌกๅˆ†่งฃไธŽๆธ่ฟ›ๆ˜Ž็ป†ใ€‚่ฟ›ๅ…ฅๆ—ฅๅธธๆธ…ๅ•็š„ไปปๅŠกๅฟ…้กปๆœ‰ๅญไปปๅŠกๆˆ–ๅ…ณ้”ฎๆญฅ้ชค๏ผŒไธ”ๅŸบไบŽๅ†ๆฌกๅˆ†่งฃ็š„็ป“่ฎบๆ ‡ๅ‡บ้ข„ไผฐ่€—ๆ—ถใ€‚

  • ๆ—ฅๅธธๆธ…ๅ•(ๅ‘จๆœซ)๏ผš

  • ็”จไบŽๆ”ถ้›†ๅ‘จๆœซ็š„ๆ—ฅๅธธไบ‹ๅŠก๏ผŒๅ…ถ่พ“ๅ…ฅไธป่ฆๆฅ่‡ช็ขŽ็‰‡ๆธ…ๅ•๏ผŒไผ˜ๅ…ˆๅฏนๅฅๅบทใ€่ฏปไนฆไธŽๅญฆไน ็›ธๅ…ณ็š„ไบ‹ๅŠก๏ผ›ๆฌกไผ˜ๅ…ˆๆŽ’ๆ—ฅๅธธ่ตทๅฑ…ใ€่ดญ็‰ฉ็ญ‰ไบ‹ๅŠกใ€‚

  • ๆ—ฅๅธธๆธ…ๅ•ๆ”ถ้›†ไบ‹ๅŠกไพๆ—งไธ่ƒฝ็…งๆฌ็ขŽ็‰‡ๆธ…ๅ•๏ผŒ่€Œๆ˜ฏๅ†ๆฌกๅˆ†่งฃๅ’Œๆธ่ฟ›ๆ˜Ž็ป†็ขŽ็‰‡ๆธ…ๅ•ใ€‚่ฟ›ๅ…ฅๅ‘จๆœซๆ—ฅๅธธๆธ…ๅ•็š„ไปปๅŠกๅฟ…้กปๅŒ…ๅซๅญไปปๅŠกๅ’Œๅ…ณ้”ฎๆญฅ้ชค๏ผŒไธ”ๅŸบไบŽๅ†ๆฌกๅˆ†่งฃ็š„็ป“่ฎบๆ ‡ๅ‡บ้ข„ไผฐ่€—ๆ—ถใ€‚

ๅฐฑ่ฟ™ๆ ท๏ผŒๅ‡็บงๅŽ็š„ไธ‰ไธชๆธ…ๅ•่ฟ›ไธ€ๆญฅไผ˜ๅŒ–ไบ†็ฌ”่€…็š„ๆ—ถ้—ดใ€‚ๆŒ็ปญๅ‡ ไธชๆœˆๅŽ๏ผŒ็ฌ”่€…ไนŸๆ…ขๆ…ขๅ˜ๅพ—ๆ•ขไบŽๅ†ณๆ–ญ๏ผŒๅ“ชๆ€•ๅ†ณๆ–ญ้”™ไบ†ไนŸ่ฆๅนฒใ€‚ๅ› ไธบๆ”นๅ˜่ฏด่ตทๆฅๅฎนๆ˜“ๅš่ตทๆฅ้šพ๏ผŒๅฆ‚ๆžœๅœจๅš็š„่ฟ‡็จ‹ไธญ่ฟ˜ๆƒงๆ€•้”™ไบ†๏ผŒ้‚ฃๅช่ƒฝๆ˜ฏ่ขซๆŸ็ผšๅพ—ๅ„็งไธ้€‚๏ผŒๆ”นๅ˜ไนŸๅฐฑๅพˆๅฏ่ƒฝๅคญๆŠ˜ใ€‚

็ฌฌไธ‰้˜ถๆฎต๏ผšๅˆปๆ„็ปŸ่ฎกๅนถ่ฐƒๆ•ดๆ—ถ้—ด โ€‹

็ปๅކไบ†ๅ‰ไธคไธช้˜ถๆฎต็š„ๆ”นๅ˜๏ผŒๆŸๅคฉ๏ผŒ็ฌ”่€…ๅœจๅจฑไน็š„ๆ—ถๅ€™ๅˆšๅฅฝ็œ‹ๅˆฐๆœ‰ไธช UP ไธปๅœจ่ฎฒ โ€œ่ฟ›ๅ…ฅไบบๅทฅๆ™บ่ƒฝๆ—ถไปฃๅŽ๏ผŒไบบ่ฆๆ€Žไนˆๅšๆ‰่ƒฝๆ—ขไธๅคฑไธš๏ผŒ่ฟ˜่ƒฝๆดป็š„ไธ้”™โ€ใ€‚้‰ดไบŽ็ฌ”่€…็ปŸ่ฎกๅˆ†ๆž็š„ๆ„่ฏ†ๅทฒ็ปๅปบ็ซ‹่ตทๆฅ๏ผˆ็ปŸ่ฎกๅญฆไธŽๆ•ฐๅญฆ็Ÿฅ่ฏ†ๅบ”็”จไพๆ—งๅญ˜ๅœจ็Ÿญๆฟ๏ผ‰๏ผŒๆ‰€ไปฅ็ฌ”่€…ๅ†’ๅ‡บไบ†ไธ€ไธชๆƒณๆณ•๏ผšUP ไธปๅˆ—ๅ‡บ็š„่ฟ™ไธชไธœ่ฅฟๅฏ่ƒฝๅฐฑๆ˜ฏๅฝ“ไธ‹่‡ชๅทฑๆฒกๆœ‰ๆขณ็†่ฟ‡็š„ๆ—ถ้—ดๅˆ†้…ๅ‡†ๅˆ™ใ€‚

ๅบŸ่ฏไธๅคš่ฏด๏ผŒ่ฟ™้‡Œ็›ดๆŽฅ่ดดๅ‡บ UP ไธป็ป™ๅ‡บ็š„ๆ—ถ้—ดๆถˆ่€—ๅปบ่ฎฎ๏ผŒไนŸๆ˜ฏ็ฌ”่€…ๅœจ็ฌฌไธ‰้˜ถๆฎต็š„ๆ—ถ้—ด็ปŸ่ฎกไธŽ่ฐƒๆ•ดๅ‡†ๅˆ™๏ผŒๅ…ทไฝ“ๅฆ‚ไธ‹ๅ›พ๏ผš

ๅฝ“ๅ‰ๆ—ถ้—ดๆถˆ่€—็Žฐ็Šถๆ—ถ้—ด่ฐƒๆ•ดๅปบ่ฎฎ

ๅ› ๆญค๏ผŒ็ฌ”่€…็ป“ๅˆๅ‡†ๅˆ™ๅ’Œ่‡ชๅทฑๅœจ็ฌฌไธ€ใ€ไบŒ้˜ถๆฎตๆฒ‰ๆท€ไธ‹ๆฅ็š„ๆ—ถ้—ดๅˆ†้…ๆƒ…ๅ†ต๏ผŒๆ•ดๅ‡บไบ†ไธ€ไธช็ฒ—็ณ™็š„ๆ—ถ้—ด็ปŸ่ฎกใ€‚ๆ•ดไธชๆ—ถ้—ด็ปŸ่ฎก้‡‡็”จไบ†็”ฑๅฑ€้ƒจๅˆฐๆ•ดไฝ“็š„ๆ–นๅผ๏ผš

ไผ˜ๅ…ˆ็ปŸ่ฎกๅทฅไฝœๆ—ฅๆ—ฉไธŠ่‡ณๅˆไผ‘่ฟ™ๆฎตๆ—ถ้—ด็š„ๅˆ†้…๏ผŒๅŸบไบŽ็ปŸ่ฎกๆƒ…ๅ†ต่ฐƒๆ•ดๆ—ถ้—ด๏ผ›็„ถๅŽ็ปŸ่ฎกๅนถ่ฐƒๆ•ดๅˆไผ‘ใ€ไธ‹ๅˆๅ’Œๆ™šไธŠ็ญ‰ๆ—ถ้—ด็š„ๅˆ†้… ไปฅๆญค็ฑปๆŽจ๏ผŒๆฌกไผ˜็ปŸ่ฎกๅนถ่ฐƒๆ•ดๅ‘จๆœซๆ—ถ้—ด็š„ๅˆ†้…๏ผˆไธบ้ฟๅ…่‡ชๅทฑๅ˜ๆˆๆœ‰ๅผบ่ฟซ็—‡็š„ไบบ๏ผŒๅ‘จๆœซ่ฐƒๆ•ดๆฒกๆœ‰ๅทฅไฝœๆ—ฅๆ‹†่งฃ็š„็ป†๏ผŒไธบ่‡ชๅทฑ้ข„็•™ไธ€ไบ›ๆŒฅ้œ็š„่‡ช็”ฑ๏ผ‰ ็ฌ”่€…่ฟ™้‡Œ็ป™ๅ‡บ็ปŸ่ฎกไธŽ่ฐƒๆ•ด็คบๆ„ๅฆ‚ไธ‹๏ผš

ๅทฅไฝœๆ—ฅๆ—ฉไธŠ่‡ณไธŠ็ญๅ‰ๆ—ถ้—ด็ปŸ่ฎกไธŽ่ฐƒๆ•ดๅˆไผ‘ๆ—ถ้—ด็ปŸ่ฎกไธŽ่ฐƒๆ•ด

่‡ณๆญค๏ผŒๅˆปๆ„็ปŸ่ฎกไธŽ่ฐƒๆ•ด้˜ถๆฎต็š„้˜ถๆฎตไนŸๆผซ่ฐˆๅฎŒไบ†ใ€‚็ฌ”่€…ๅœจ่ฟ™ไธ€้˜ถๆฎต่ฟ˜ๆŒบ่ง‰ๅพ—ๆœ‰ๆˆๅฐฑๆ„Ÿ็š„๏ผŒๅ› ไธบ็ปˆไบŽๆœ‰ๆœบไผšๅœจๅทฅไฝœไน‹ๅค–ๅˆ็บงๅˆ็ฒ—็ณ™ๅœฐ่ฟ็”จไบ†็ปŸ่ฎกๅญฆๅˆ†ๆž๏ผŒๅพˆๅฅฝๅœฐ้ผ“ๅŠฑ่‡ชๅทฑๅœจ็ปŸ่ฎกๅญฆๅˆ†ๆžๆ–น้ข็ปง็ปญๅŠ ๅคงๆŠ•ๅ…ฅๅŠ›ๅบฆใ€‚

ๆผซ่ฐˆๆททๅˆๅทฅไฝœๅˆถ โ€‹

ไนฆๆŽฅไธŠๆ–‡๏ผŒๅฆ‚ๆžœ่ฏดๆ—ถ้—ด็ฎก็†ๅ…ถๅฎžๅฐฑๆ˜ฏๅฏนๆ—ถ้—ด่ฟ™ไธ€ไธช็ปดๅบฆ่ฟ›่กŒๅˆ‡ๅ‰ฒ๏ผŒ็„ถๅŽๆŠŠๅทฅไฝœไธŽ็”Ÿๆดปไธญ็š„ไบ‹ๅŠกๅกซๅ……่ฟ›ๅŽป๏ผŒ้‚ฃไนˆๆททๅˆๅทฅไฝœๅˆถๅฐฑๆ˜ฏๅŸบไบŽ็‰ฉ็†็ฉบ้—ดๅ’Œๆ—ถ้—ด่ฟ™ไธคไธช็ปดๅบฆๆฅๅˆ‡ๅ‰ฒๅนณ้ข๏ผŒ็„ถๅŽๆŠŠๅทฅไฝœไธŽ็”Ÿๆดปไธญ็š„ไบ‹ๅŠกๅกซๅ……่ฟ›ๅŽปใ€‚ๅ› ๆญค๏ผŒ็ฌ”่€…่ฆๆผซ่ฐˆ็š„ๆœ€ๅŽไธ€ไธช่ฏ้ข˜ๅฐฑๆ˜ฏๆททๅˆๅทฅไฝœๅˆถใ€‚

่ฟ™้‡Œๆ‰€่ฐ“็š„โ€œๆททๅˆๅทฅไฝœๅˆถโ€๏ผŒๅฏนๆ‰“ๅทฅไบบๆฅ่ฎฒๅ…ถๅฎžๅฐฑๆ˜ฏไธ€้ƒจๅˆ†ๆ—ถ้—ดๅœจๅŠžๅ…ฌๅฎคๅทฅไฝœ๏ผŒไธ€้ƒจๅˆ†ๆ—ถ้—ดๅฑ…ๅฎถ่ฟœ็จ‹ๅŠžๅ…ฌใ€‚ๅฆ‚ๆžœๆฒกๆœ‰็–ซๆƒ…๏ผŒ่ฟ™็งๆ–นๅผๅœจๅ›ฝๅ†…่ฟ˜ไธไผš่ขซๅคง่Œƒๅ›ด่ฟ็”จ๏ผŒ่™ฝ็„ถไบ’่”็ฝ‘่กŒไธšไธ€็›ดๆœ‰ๅผนๆ€งๅทฅไฝœๅˆถ๏ผŒไฝ†ๅ›ฝๅ†…ๅพˆๅฐ‘ๆœ‰ไผไธš่ฎฉๅ‘˜ๅทฅ่ƒฝๆŒ็ปญๅ‡ ๅคฉ็”š่‡ณไธ€ไธชๆœˆๅฑ…ๅฎถๅŠžๅ…ฌใ€‚็ฌ”่€…่ฎคไธบ๏ผŒ็–ซๆƒ…ๅชๆ˜ฏๆ›ดๆ˜พ่ฑกๅŒ–ไบ†่ฟ™็งๆ–นๅผ๏ผŒๅ› ไธบๅœจ็–ซๆƒ…ๅ‡บ็Žฐไน‹ๅ‰๏ผŒๅ›ฝๅค–็œŸ็š„ๆœ‰ๅ…ฌๅธๅœจๅฎž่ทต๏ผŒ่€Œไธ”ๅ›ฝๅค–็š„่‡ช็”ฑ่Œไธš่€…ๆ˜ฏๆฏ”ๅ›ฝๅ†…ๅคšๅ‡บๅพˆๅคš็š„ใ€‚

่ฟ™้‡Œไธๆ˜ฏ่ฆๅฑ•ๅผ€ไบ‰่ฎบ๏ผŒ่€Œๆ˜ฏๆƒณๆŠ›ๅ‡บ้—ฎ้ข˜๏ผšๆˆ‘ไปฌ่™ฝ็„ถๅœจ็–ซๆƒ…ๆœŸ้—ด็†Ÿๆ‚‰ไบ†่ฟ™็งๅทฅไฝœๆจกๅผ๏ผŒไฝ†ๆˆ‘ไปฌๅฏ่ง‰ๅพ—่‡ชๅทฑ่ƒฝๅพˆๅฅฝๅœฐๅค„็†่ฟ™็งๆจกๅผๅ‘ข๏ผŸ็–ซๆƒ…ๆ€ปไผš่ฟ‡ๅŽป็š„๏ผŒๅœจ็–ซๆƒ…ๅŽๆˆ‘ไปฌ่ฆไธ่ฆ็ปง็ปญๅฎž่ทตๆททๅˆๅทฅไฝœๅˆถๅ‘ข๏ผŸ

1ใ€้€‚ๅบ”ๆททๅˆๅทฅไฝœๅˆถ โ€‹

ๅฆ‚ไธŠๆ‰€่ฟฐ๏ผŒๆททๅˆๅทฅไฝœๅˆถๆ˜ฏๅŸบไบŽ็ฉบ้—ดไธŽๆ—ถ้—ดไธคไธช็ปดๅบฆๆฅๅฎ‰ๆŽ’่ฆๅค„็†็š„ไบ‹ๅŠก๏ผŒๆ‰€ไปฅ้€‚ๅบ”ๆททๅˆๅทฅไฝœๅˆถ๏ผŒๅฐฑๆ˜ฏๅŸบไบŽไบŒ็ปดๅนณ้ขๆฅๅฎ‰ๆŽ’ๅฅฝ่‡ชๅทฑ็š„ๅทฅไฝœไธŽ็”Ÿๆดป๏ผŒ่ฏ•็€ๆŠŠๆ—ฅๅญ่ฟ‡ๅพ—้กบ็•…ใ€‚

็ฌ”่€…ไธๆ•ข่ฏด่‡ชๅทฑๅœจ็–ซๆƒ…ๆœŸ้—ดๅพˆๅฅฝๅœฐ้€‚ๅบ”ไบ†ๆททๅˆๅทฅไฝœๅˆถ๏ผŒๅ› ไธบๅœจ็–ซๆƒ…ๆ—ฉๆœŸๅฑ…ๅฎถๅŠžๅ…ฌ็œŸ็š„ๅพˆ็ดฏ๏ผŒๅทฅไฝœไธŽ็”Ÿๆดปๆฒกๆœ‰ไบ†็•Œ้™๏ผŒๆœ‰ๆ—ถ่ง‰ๅพ—่‡ชๅทฑ้™คไบ†็ก่ง‰ๅฐฑไธ€็›ดๅœจๅทฅไฝœ๏ผŒๅ›žๅˆฐๅ…ฌๅธไธŠ็ญ็š„ๆ—ถๅ€™ๅฐฑ่ง‰ๅพ—็‰นๅˆซ็ˆฝใ€‚ไฝ†้š็€็–ซๆƒ…็š„ๅคšๆฌกๅๅค๏ผŒไนŸๅฐฑๆœ‰ไบ†ไธ€ๆฌกๆฌกๅœฐๅฐ่ฏ•ๆ”นๅ˜่‡ชๅทฑๆฅ้€‚ๅบ”ๅฑ…ๅฎถๅŠžๅ…ฌ๏ผŒๆ‹ฅๆŠฑๆททๅˆๅทฅไฝœๅˆถใ€‚ๅœจ่ฟ™็งๅฎข่ง‚ๆกไปถ็š„ๅ€’้€ผไธ‹๏ผŒ็ปˆ็ฉถ่ฟ˜ๆ˜ฏ้€‚ๅบ”ไบ†๏ผŒไนŸๅฎž็Žฐไบ†ๅ‘ๅ†…ๆ€ๅ˜ใ€‚

ๆททๅˆๅทฅไฝœๅˆถๆœ€ๅคง็š„็—›็‚นๆ˜ฏ่งฃๅ†ณๅฑ…ๅฎถๅŠžๅ…ฌ็š„่‹ฆๆผ๏ผŒๅ–„็”จๅฑ…ๅฎถๅŠžๅ…ฌ็š„ไผ˜ๅŠฟ๏ผŒ็”š่‡ณๆŠŠๅฑ…ๅฎถๅŠžๅ…ฌ็š„็ป้ชŒ้€‚ๅฝ“ๅœฐ็”จๅœจๅŠžๅ…ฌๅฎคๅทฅไฝœไธญ๏ผŒไปŽ่€Œๅฎž็Žฐ็œŸๆญฃ็š„ๆททๅˆๅทฅไฝœใ€‚ๅœจๅฑ…ๅฎถๅŠžๅ…ฌ็š„ๆ—ถๅ€™๏ผŒ็ฌ”่€…่ง‰ๅพ—ๆœ‰ไปฅไธ‹ๅ‡ ไธช่ฆ็‚น้œ€่ฆๆณจๆ„๏ผš

  • ๅฑ…ๅฎถๅŠžๅ…ฌๆ—ถ่ฆๅผบ่ฐƒๆ•ˆๆžœๅ’Œๆ•ˆ็އใ€‚ๆ•ˆๆžœๆบไบŽๅฏน้‡่ฆไธšๅŠกๆˆ–ไปปๅŠก็š„่ฏ†ๅˆซ๏ผŒๆ•ˆ็އๆบไบŽไธ“ๆณจๅœฐ่ฟ็”จๅทฅๅ…ทๅšๆญฃ็กฎ็š„ไบ‹
  • ๅˆ’ๅฎšๅ‡บไธ“้—จ็š„ๅŠžๅ…ฌ็ฉบ้—ด๏ผŒๆœ‰ๆ•ˆๅŒบๅˆ†่ตทๅฑ…็ฉบ้—ดไธŽๅŠžๅ…ฌๅŒบ้—ด
  • ๅŸบไบŽๅฏน้‡่ฆไธšๅŠกๅ’ŒไปปๅŠก็š„่ฏ†ๅˆซ๏ผŒไฝฟ็”จๆฏ”่พƒๆธ…ๆ™ฐ็š„ๆธ…ๅ•ๅ’Œๆ—ฅ็จ‹่กจๆฅๅๅŠฉ้‡่ฆไบ‹ๅŠก็š„ๆŽจๅŠจใ€‚็ฌ”่€…่ฟ™้‡Œไพๆ—งๆฒฟ็”จไบ†ๆ—ถ้—ด็ฎก็†ไธญๆๅˆฐ็š„ไธ‰ไธชๆธ…ๅ•๏ผš็ขŽ็‰‡ๆธ…ๅ•ใ€ๆ—ฅๅธธไปปๅŠกๆธ…ๅ•๏ผˆๅทฅไฝœๆ—ฅ๏ผ‰ใ€ๆ—ฅๅธธไปปๅŠกๆธ…ๅ•๏ผˆๅ‘จๆœซ๏ผ‰ใ€‚
  • ๅ–„็”จ่ฟœ็จ‹ๅŠžๅ…ฌๅทฅๅ…ท๏ผŒ็”ต่ฏไผš่ฎฎๅฎคไธ€็ง้‡่ฆ็š„ๆฒŸ้€šๅไฝœๆ–นๅผ๏ผŒๅผ€ๅฅฝ็”ต่ฏไผš่ฎฎ่ƒฝๆ›ดๆ˜Ž็กฎ้‡็‚น๏ผŒๆๅ‡ๆ•ˆ็އใ€‚

ๅฝ“ไปŽๅฑ…ๅฎถๅŠžๅ…ฌๅˆ‡ๆขๅˆฐๅŠžๅ…ฌๅฎคๅทฅไฝœ็Žฏๅขƒไธญ๏ผŒ้™คไบ†ไธ็”จๅˆ’ๅฎšไธ“้—จ็š„ๅŠžๅ…ฌ็ฉบ้—ด๏ผŒๅพˆๅคš็ป้ชŒ้ƒฝๆ˜ฏๅฏไปฅ็ปง็ปญๆฒฟ็”จ็š„ใ€‚ๅชๆœ‰ๅœจ็ขฐๅˆฐ็‰นๅˆซ้‡่ฆ็ดงๆ€ฅ็š„ไบ‹ๆƒ…ๆˆ–่€…ๅจฑไน็š„ไบ‹ๆƒ…ๆ‰้œ€่ฆไธŽๅŒไบ‹ๅฝ“้ขๆฒŸ้€šไบคๆต๏ผŒ่ฟ™ๅœจไธ€ๅฎš็จ‹ๅบฆไธŠๅฏไปฅๆๅ‡ไธชไบบๅทฅไฝœๆ•ˆ็އ๏ผŒๅŽปๅฐ่ฏ•ๆ‘†่„ฑโ€œๆ— ๅคด่‹่‡ๅผ็š„ๅฟ™็ขŒโ€ใ€‚

2ใ€ๅปถไผธๆ€่€ƒๆททๅˆๅทฅไฝœๅˆถ โ€‹

ไธ็Ÿฅ้“็ป†ๅฟƒ็š„ๆœ‹ๅ‹ๆœ‰ๆฒกๆœ‰ๅ‘็Žฐ๏ผŒๅœจ็–ซๆƒ…ๅˆฐๆฅไน‹ๅ‰๏ผŒๆˆ‘ไปฌๅคงๅคšๆŽฅ่งฆๅˆฐไธ€ไบ›ๅ…ทๆœ‰ๆ•ฐๅญ—ๅŒ–็‰นๆ€ง็š„ C ็ซฏๆถˆ่ดนๅ“๏ผˆๅฆ‚๏ผšไฝ“่„‚็งคๅ…ทๆœ‰็งฐ + APPๆ•ฐๆฎ็ปŸ่ฎก + ่™šๆ‹Ÿ็คพๅŒบ๏ผ›ๆ™บ่ƒฝๆ‰‹่กจๅ…ทๆœ‰ๆ‰‹่กจ+ๆ•ฐๆฎๆ”ถ้›†ไธŽๅˆ†ๆž๏ผ‰๏ผŒๅชๅœจๅŠžๅ…ฌๆ—ถ้—ดๆˆ–ไธšไฝ™้‡ๅˆฐ็ดงๆ€ฅ้—ฎ้ข˜ๆ—ถๆ‰ไฝฟ็”จ่ฟœ็จ‹ๅŠžๅ…ฌๅทฅๅ…ทๆฅๅไฝœ๏ผŒ่€Œ็–ซๆƒ…ๅˆฐๆฅๅŽๆˆ‘ไปฌๆ›ดๅŠ ไธปๅŠจๆ‹ฅๆŠฑใ€ไธปๅŠจ้€‚ๅบ”่ฟœ็จ‹ๅŠžๅ…ฌๅทฅๅ…ท็ญ‰ๆ•ฐๅญ—ๅŒ–ใ€่™šๆ‹ŸๅŒ–ไบงๅ“ไบ†ใ€‚่ฟ™ๅœจไธ€ๅฎš็จ‹ๅบฆไธŠไนŸ่กจๆ˜Žไบ†๏ผš

  • ๅคงๅฎถๅœจ็ดง้”ฃๅฏ†้ผ“ๅœฐๅˆ›้€ ไบงๅ“ๅ’ŒๆœๅŠก็š„ๆ•ฐๅญ—ๅฑžๆ€ง๏ผŒๅนถไปฅๆ–‡ๅŒ–ใ€็คพ็พค็š„ๆ–นๅผๅŠ ไปฅไฝ“็Žฐ๏ผŒๅ€ŸๅŠฉไบงๅ“็š„ๆ•ฐๅญ—ๅŒ–ๅฑžๆ€ง๏ผŒ็”š่‡ณๅฏไปฅๆŠŠ้œ€ๆฑ‚ๆ–น่ฟžๆˆ็ฝ‘็ปœ๏ผŒไปŽ่€ŒๅŸบไบŽ่™šๆ‹Ÿ็ฝ‘็ปœๆๅ‡ๆœๅŠกๅธ‚ๅœบ็š„ๆ•ˆ็އใ€‚
  • ่ทจๅŸŽๅธ‚ใ€่ทจๅœฐๅŸŸๅœฐๆฒŸ้€šๅไฝœๅทฒ็ปๆˆไธบไบ†ๅธธๆ€๏ผŒๅœฐๅŸŸๅŒ–็š„้—ฎ้ข˜ๅœจโ€œๆ•ฐๅญ—ๅŒ–โ€่ถ‹ๅŠฟไธ‹่ƒฝๅพ—ๅˆฐ็ผ“่งฃ๏ผŒ่ทจๅŸŽๅธ‚ใ€่ทจๅœฐๅŸŸๅœฐ้ซ˜ๆ•ˆๅไฝœๆ›ดๅฎนๆ˜“่ขซๆŽฅๅ—ไบ†ใ€‚

้‚ฃไนˆ้—ฎ้ข˜ๆฅไบ†๏ผŒไธ€ไธชๆ™ฎ้€š็š„ๆ‰“ๅทฅไบบๅŽปๅปถไผธๆ€่€ƒ่ฟ™ไบ›ไธœ่ฅฟๆœ‰ไป€ไนˆ็”จๅค„ๅ‘ข๏ผŸ่ฟ™ๆ˜ฏไธๆ˜ฏ็ฑปไผผๅˆšๅ…ฅ่Œ็š„ๅ‘˜ๅทฅๆ“็€ CEO ็š„ๅฟƒ๏ผŒๆˆ–่€…่ฏดไธ€ไธชๆ™ฎ้€š็™พๅง“๏ผŒไธšไฝ™้—ฒ็€ๆฒกไบ‹ๆ“็€ๆฒป็†ๅ›ฝๅฎถ็š„ๅฟƒๅ‘ข๏ผŸ็ฌ”่€…ไธชไบบ่ฎคไธบ๏ผš้ƒฝไธๆ˜ฏใ€‚่€Œๆ˜ฏๆƒณๅŸบไบŽไปฅไธŠๅปถไผธๆ€่€ƒๅผ•ๅ‡บไธ€ไธชๆ–ฐ็š„ไธšไฝ™ๅฐ่ฏ•๏ผšไธšไฝ™่ทจๅœฐๅŸŸๅไฝœใ€‚

่ฟ™ไนŸๅ…ณ็ณปๅˆฐ็–ซๆƒ…ๅŽ่ฆไธ่ฆ็ปง็ปญๅฎž่ทตๆททๅˆๅทฅไฝœๅˆถ๏ผŸไธๅœจๅ…ถไฝๅฐฑไธ่ฐ‹ๅ…ถๆ”ฟ๏ผŒ็ฌ”่€…่ฟ™้‡ŒไธๅŽป่ฐˆๅ›ฝๅฎถๆˆ–ๅ…ฌๅธไผšไธไผšๅœจ็–ซๆƒ…ๅŽ่ฝๅœฐๆททๅˆๅทฅไฝœๅˆถ๏ผŒๆฏ”ๅฆ‚โ€œ3+2โ€ๆˆ–โ€œ4+1โ€ๅทฅไฝœๅˆถ๏ผŒๅ› ไธบ็ฌ”่€…ๆƒณๅปถไผธๅœฐๆ˜ฏ๏ผšๅฆ‚ไฝ•ๅœจไธšไฝ™ๆ›ดๅคง่Œƒๅ›ดๅœฐๅฐ่ฏ•ใ€ๅฎž่ทตๆททๅˆๅทฅไฝœๅˆถใ€‚

้ฅๆƒณๅฝ“ๅนดๅญฆ็”Ÿๆ—ถไปฃ๏ผŒไธ€็พคๆฏ”่พƒๅˆๅพ—ๆฅ็š„ๅญฆ็”Ÿไป…ไป…ๅ‡ญๅ€Ÿๅ‡ ๆˆๅ‹‡ๆฐ”ๅฐฑๅœจไธšไฝ™ๆ—ถ้—ด้›†ไธญๅˆฐไธ€ไธช็‰ฉ็†็ฉบ้—ดๅ†…ๅŽปๆฃ้ผ“ไธ€ไบ›ไธœ่ฅฟ๏ผŒไนŸๅ› ไธบ่ฟ™ๆ ท็š„ๆŠ˜่…พ่ฎฉๆˆ‘ไปฌ้กบๅˆฉ่ตฐๅ‘ไบ†ๅทฅไฝœๅฒ—ไฝใ€‚่ตฐๅ‘ๅทฅไฝœๅฒ—ไฝๅŽ๏ผŒๆ—ถไธๆ—ถไผšๅœจ่™šๆ‹Ÿ็คพ็พคไธญไธ€่ตทไพƒๅคงๅฑฑ๏ผŒ่Š่ŠๅทฅไฝœไธŽ็”Ÿๆดป๏ผŒๅๆงฝไธ€ไธ‹่‡ชๅทฑ็š„ๆ”นๅ˜๏ผŒไฝ†ๆœ€็ปˆๆ”ถๅฐพ็š„ๆ—ถๅ€™ๅคšๅฐ‘้ƒฝ่ฟ˜ๆต้œฒๅ‡บๆƒณ่ฆๆžไบ›ๆœ‰็‚นๅˆ›้€ ๅŠ›ๆˆ–่€…ๆญฃ่ƒฝ้‡็š„ไบ‹ๆƒ…ใ€‚

ๆ‰€ไปฅ็ฌ”่€…่ฎคไธบ๏ผŒๅœจไธŠ่ฟฐๅปถไผธๆ€่€ƒไธ‹๏ผŒๅ…ถๅฎžไธšไฝ™ๆ˜ฏๅฏไปฅๅไฝœ็š„๏ผŒไธป่ฆๅŽŸๅ› ๆœ‰ไปฅไธ‹ไธ‰็‚น๏ผš

  • ๅŸบไบŽ่ฟœ็จ‹ๅทฅๅ…ทๅไฝœๅทฒ็ป่ขซ่ฟ็”จ๏ผŒไบบไปฌๅทฒๅœจ็–ซๆƒ…ไธญ้€‚ๅบ”ไบ†่ฟœ็จ‹ๅŠžๅ…ฌ๏ผŒ่ทจๅŸŽๅธ‚ใ€่ทจๅœฐๅŸŸ็š„้˜ป็ขๅ› ็ด ๅœจ้™ไฝŽใ€‚
  • ไบ‘ๆœๅŠกๅทฒ็ปๅ‘ๅฑ•ๅพ—่ถณๅคŸ็ฎ€ๅ•๏ผŒๅพˆๅคšๅŸบ็ก€่ฎพๆ–ฝๅทฒ่ถณๅคŸไพฟๆท๏ผˆไธๅ†ๆ˜ฏๅฝ“ๅนดๅœจๅฎž้ชŒๅฎคๆˆ–็ ”็ฉถๆ‰€้‡Œๆ‹ฟ็€่ฃธๆœบ่ฃ…่ฝฏไปถ็š„ๅนดไปฃไบ†๏ผ‰ใ€‚
  • ๆ•ฐๅญ—ๅŒ–ๆ˜ฏ่ถ‹ๅŠฟ๏ผŒ่ฝป้‡ใ€ๅฐ่€Œ็พŽใ€็ŸญๆœŸๅฏๅฎŒๆˆ็š„้กน็›ฎๆ˜ฏๅฏไปฅๅไฝœๅฎŒๆˆ็š„๏ผˆ่™ฝ็„ถ้›‡ไฝฃๅ…ณ็ณปๅœจไธ€ๅฎšๆ—ถๆœŸๅ†…ไป็„ถๆ˜ฏไธปๅฏผ๏ผŒไฝ†่‡ช็”ฑๅไฝœๅ…ณ็ณปไผš่ถŠๆฅ่ถŠๅคš๏ผ‰ใ€‚

ๅ…ถๅฎžๆœ€ไธป่ฆ็š„้—ฎ้ข˜่ฟ˜ๆ˜ฏๅœจไบŽๆœ‰ๆฒกๆœ‰ๅ…ฑๅŒ็š„่ฏ‰ๆฑ‚๏ผŒ่ƒฝไธ่ƒฝๆ‹ฟๅ‡บๆ—ถ้—ดๆฅๆฃ้ผ“๏ผŒๆœ‰ๆฒกๆœ‰ไบบ่ƒฝ็ป„็ป‡ไธ”็ฎก็†ๅฅฝ่ฟ™็ง่‡ช็”ฑ็š„่ฟœ็จ‹ๅไฝœๅ›ขไผ™๏ผŒๅนถๅˆ็†ๅˆ†้…้กน็›ฎๆ”ถ็›Š๏ผŒๅฎž็Žฐๅคงๅฎถ็š„ๅ…ฑๅŒ่ฏ‰ๆฑ‚ใ€‚ๅœจ็–ซๆƒ…ไธญๅŽๆœŸ๏ผŒ็ฌ”่€…ไธšไฝ™ๆ—ถ้—ดๆฒกๅฐ‘ๅœจ็”ฑๅ‡ ไธช่€ไผ™่ฎก็ป„ๆˆ็š„็คพ็พคไธญโ€œไผ ้”€โ€ไธŠ่ฟฐๅปถไผธๆ€่€ƒ๏ผŒ็–ซๆƒ…็ป“ๆŸๅŽไนŸๅฏ่ƒฝไผš็ปง็ปญๅฐ่ฏ•ไธ‹ๅŽปใ€‚

ๅ†™ๅœจๆœ€ๅŽ โ€‹

่กŒๆ–‡่‡ณๆญค๏ผŒ็–ซๆƒ…่ฟ™ไธ‰ๅนดๅ‘ๅ†…ๆ€ๅ˜็š„ๅค็›˜ๆ€ป็ป“ๅŸบๆœฌๆขณ็†ๅฎŒๆˆไบ†๏ผŒไธ็ฎกๆ–‡็ซ ๆœ€็ปˆ็š„ๆฐดๅนณๆ€Žไนˆๆ ท๏ผŒไพๆ—งๆŠŠ่‡ชๅทฑ็š„โ€œ้—ญๅ…ณโ€็ปๅކๆฒ‰ๆท€ไธ‹ๆฅไบ†ใ€‚

ๅœจๆ–‡็ซ ็š„ๆœ€ๅŽ๏ผŒ้กบไพฟ่Šไธ€่Šๆ€ๅ˜ใ€‚็ปๅކไบ†็–ซๆƒ…่ฟ™ไธ‰ๅนด๏ผŒ็ฌ”่€…่ฎคไธบๆ€ๅ˜ไธ่ƒฝๅชโ€œๆ‰“้ธก่ก€โ€ๆˆ–่€… โ€œ็ซ‹Flagโ€๏ผŒๆ€ๅ˜ๆ˜ฏ่ฆ็ป“ๅˆๅฎข่ง‚ไบ‹ๅฎžๅ’Œ่‡ช่บซ่ฏ‰ๆฑ‚ๆฅ่ฝๅœฐ็š„ใ€‚ๅฆ‚ๆžœๆˆ‘ไปฌๅฎฝๆณ›ๅœฐ่ฐˆๆ”นๅ˜๏ผŒ็„ถๅŽ้€ผ็€่‡ชๅทฑๅ˜๏ผŒๆŒบๅ†…่€—็š„ใ€‚ๅ› ไธบ่ฟ™็งๆ”นๅ˜ๅฎนๆ˜“ๅคฑ่ดฅ๏ผŒๅคฑ่ดฅๅŽๆˆ‘ไปฌๅˆไธๅคชๅฎนๆ˜“ๅŽŸ่ฐ…่‡ชๅทฑใ€‚ๅฏๅฆ‚ๆžœๆˆ‘ไปฌๆ…ขๆ…ขๅ›บๅŒ–ไบ†๏ผŒไธ€ๆ—ฆๅคง็Žฏๅขƒๅ‘็”Ÿๅ˜ๅŒ–๏ผŒๆˆ‘ไปฌๅˆๅช่ƒฝ่ขซๅŠจๅœฐไปป็”ฑ็คพไผšๆ•™่‚ฒใ€‚ๆ‰€ไปฅ๏ผŒๆ”นๅ˜ไน‹ๅ‰้œ€่ฆๅคšๆ€่€ƒ๏ผŒ้œ€่ฆๅญฆไน ไธ€ไบ›็Ÿฅ่ฏ†ๅฅ—่ทฏๅฐ่ฏ•็€ๅฎž่ทตใ€‚

็ฌ”่€…ๅœจ่ฝๅœฐไธŠ่ฟฐๅ‡ ไธช่ฏ้ข˜็š„ๆ”นๅ˜ๆ—ถ๏ผŒๆœ‰ไบ›ไพง้‡ๅฎž่ทตไธบไธป๏ผŒๅŸบไบŽ้‡ๅˆฐ็š„้—ฎ้ข˜ๅฏปๆ‰พ่งฃๅ†ณๆ–นๆณ•๏ผ›ๆœ‰ไบ›ๅˆ™ไปฅ่ฏปไนฆๅญฆไน ใ€ไธŽๅˆซไบบๆฒŸ้€šไบคๆต็š„ๆ–นๅผๆŽจๅŠจ๏ผ›่ฟ˜ๆœ‰ไบ›ไปฅไธšไฝ™ๅจฑไน็š„ๆ–นๅผ่ง‚ๅฏŸๅ‘็ŽฐๆฅๆŽจๅŠจ๏ผŒไฝ†ๆœ€็ปˆๅฎž่ทต็š„ๆ—ถๅ€™ๅ…ถๅฎž้ƒฝๅˆ็ชฅ้—จๅพ„ๅœฐ็”จๅˆฐไบ†ไธ€ไบ›้€š่ฏ†ไธ”ๆœ‰็‚นๅ“ฒๅญฆๅ‘ณ้“็š„โ€œๅฅ—่ทฏโ€๏ผš

  • ๅˆ†่งฃไธŽๆธ่ฟ›ๆ˜Ž็ป†๏ผŒ่ฅฟๆ–น่ฟ˜ๅŽŸ่ฎบ็š„้ƒจๅˆ†ๅบ”็”จ๏ผŒโ€œไธ‡็‰ฉ็š†ๆ•ฐโ€๏ผŒๅฏน่‡ช็„ถ่ฎค็Ÿฅไธๆ–ญ็ป†ๅŒ–๏ผŒๅฐ่ฏ•ๆ‹†่งฃๅˆ†ๆžๅ‡บๅฝฑๅ“ไบ‹็‰ฉ็š„ๆœฌ่ดจๅŽŸๅ› ใ€‚
  • ็ณป็ปŸ่ฎบ๏ผŒๅณๅ›ด็ป•ไบบๅ’Œ็คพไผš่‡ช่บซๆฅๆ”นๅ–„ๅคšไธชๅฝฑๅ“ๅ› ็ด ๏ผŒไปŽ่€Œไฝฟ่‡ชๅทฑๆ›ดๅฅฝๅœฐ้€‚ๅบ”็คพไผšใ€‚
  • ็Ÿฅ่กŒๅˆไธ€๏ผŒ็Ÿฅๆ˜ฏ่กŒ็š„ๅคด่„‘๏ผŒ่กŒๆ˜ฏ็Ÿฅ็š„่ฝๅฎž๏ผ›็Ÿฅๆ˜ฏ่กŒ็š„ๅผ€ๅง‹๏ผŒ่กŒๆ˜ฏ็Ÿฅ็š„ๅฎŒๆˆใ€‚

ๆœ€ๅŽ๏ผŒๅผ•็”จไธ€ไธ‹็ฌ”่€…ๆ—ฉๅนด็œ‹่ฟ‡็š„ๅฐ่ฏดไฝœไธบ็ป“ๆŸ๏ผŒๅ…ถไฝœ่€…่ง้ผŽ่€ๅธˆ่ฏด่ฟ‡โ€œๅฆ‚ๆžœๆฒกๆœ‰ๆ›พ็ป็š„ไธ€ๆฎต็ปๅކ๏ผŒ่‡ชๅทฑๅ†™ไธๅ‡บใ€Š่ฏ›ไป™ใ€‹่ฟ™ๆ ท็š„ไฝœๅ“โ€ใ€‚่™ฝ็„ถ็ฌ”่€…ไธŽ่ง้ผŽ่€ๅธˆ็›ธๅทฎ็”š่ฟœ๏ผŒไนŸๆƒณๅœจๆ–‡็ซ ็š„ๆœ€ๅŽ่ฏดไธ‹๏ผšโ€œๅฆ‚ๆžœๆฒกๆœ‰็–ซๆƒ…่ฟ™ไธ‰ๅนด็š„็ปๅކๅ’Œๅˆปๆ„็š„ๅ‘ๅ†…ๆ€ๅ˜๏ผŒ็ฌ”่€…ไนŸๅ†™ไธๅ‡บไธ€็ฏ‡ๅฐ†ๅคšไธช่ฏ้ข˜ไธฒ่”่ตทๆฅ็š„้•ฟๆ–‡โ€ใ€‚

ไน‹ๆ‰€ไปฅ่ฟ˜่ฎฐๅพ—ใ€Š่ฏ›ไป™ใ€‹่ฟ™ๆœฌๅฐ่ฏด๏ผŒๅ€’ไธๆ˜ฏๅ› ไธบๅฐ่ฏด้˜่ฟฐไบ†โ€œๅคฉๅœฐไธไป๏ผŒไปฅไธ‡็‰ฉไธบๅˆ็‹—โ€็š„ๆณ•ๅˆ™๏ผŒ่€Œๆ˜ฏๅ› ไธบๅฎƒไนŸ่ฎฒ่ฟฐไบ†ไธ€ไธช่ต„่ดจๆ™ฎ้€šๅˆๅนณๅ‡ก็š„ๅฐ‘ๅนด๏ผŒ่™ฝไธ้†‰ๅฟƒไบŽไฟฎ็œŸ๏ผŒไฝ†็œŸ็š„ๅ‡ญๅ€Ÿ็€ๅš้Ÿงใ€้˜…ๅކไธ€ๆญฅๆญฅ่บซๅ…ผโ€œไฝ›้“้ญ”โ€ไธ‰็งๅŠŸๆณ•๏ผŒ่ฟ™็ง็‰น่ดจๅœจ็ปๆตŽไธ‹่กŒ็š„ๅคง็Žฏๅขƒไธ‹ๅฏ่ƒฝๆ›ดๅ€ผๅพ—ๅญฆไน ใ€‚

',122)])])}const m=r(o,[["render",s]]);export{d as __pageData,m as default}; +import{_ as r,g as t,h as i,U as l}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const d=JSON.parse('{"title":"ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅฆ‚ไฝ•้ฟๅ…ๅ†…่€—๏ผŸๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ไธ‰ๅนด้—ด็š„โ€œ่‡ชๆˆ‘้‡ๆž„โ€ๅฎž้ชŒใ€‚ๆ–‡็ซ ๆ‘’ๅผƒไบ†ๅ•็บฏ็š„ๆƒ…็ปชๅฎฃๆณ„๏ผŒ่€Œๆ˜ฏๅˆฉ็”จๅˆ†่งฃๆณ•ใ€ๆธ่ฟ›ๆ˜Ž็ป†ๅ’Œ็ปŸ่ฎกๅˆ†ๆž็ญ‰ๅทฅ็จ‹ๆ€็ปด๏ผŒๅฏนๅฅๅบท้ฅฎ้ฃŸใ€็Ÿฅ่ฏ†ไฝ“็ณปใ€ๆ—ถ้—ดๅˆ†้…ๅŠ่ฟœ็จ‹ๅไฝœ่ฟ›่กŒไบ†็ณป็ปŸๅŒ–ๆ”น้€ ใ€‚่ฟ™ๆ˜ฏไธ€ไปฝๅ…ณไบŽๅฆ‚ไฝ•ๅœจๆ— ๅธธ็š„ๅค–้ƒจ็Žฏๅขƒไธญ๏ผŒๅปบ็ซ‹ๅ†…ๅœจ็กฎๅฎšๆ€ง็งฉๅบ็š„่กŒๅŠจๆŒ‡ๅ—ใ€‚","frontmatter":{"date":"2023-01-08T10:23:50.000Z","title":"ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅฆ‚ไฝ•้ฟๅ…ๅ†…่€—๏ผŸๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ไธ‰ๅนด้—ด็š„โ€œ่‡ชๆˆ‘้‡ๆž„โ€ๅฎž้ชŒใ€‚ๆ–‡็ซ ๆ‘’ๅผƒไบ†ๅ•็บฏ็š„ๆƒ…็ปชๅฎฃๆณ„๏ผŒ่€Œๆ˜ฏๅˆฉ็”จๅˆ†่งฃๆณ•ใ€ๆธ่ฟ›ๆ˜Ž็ป†ๅ’Œ็ปŸ่ฎกๅˆ†ๆž็ญ‰ๅทฅ็จ‹ๆ€็ปด๏ผŒๅฏนๅฅๅบท้ฅฎ้ฃŸใ€็Ÿฅ่ฏ†ไฝ“็ณปใ€ๆ—ถ้—ดๅˆ†้…ๅŠ่ฟœ็จ‹ๅไฝœ่ฟ›่กŒไบ†็ณป็ปŸๅŒ–ๆ”น้€ ใ€‚่ฟ™ๆ˜ฏไธ€ไปฝๅ…ณไบŽๅฆ‚ไฝ•ๅœจๆ— ๅธธ็š„ๅค–้ƒจ็Žฏๅขƒไธญ๏ผŒๅปบ็ซ‹ๅ†…ๅœจ็กฎๅฎšๆ€ง็งฉๅบ็š„่กŒๅŠจๆŒ‡ๅ—ใ€‚","permalink":"/growth/inner-experience","coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/refactor_life.png","sticky":1,"top":true,"categories":"ไธชไบบๆˆ้•ฟ","tags":["ๅฅๅบท","ๆ—ถ้—ด","ๆ‚ฆ่ฏปๆ—ถๅ…‰","่ฟœ็จ‹ๅไฝœ","็–ซๆƒ…"]},"headers":[],"relativePath":"40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ.md","filePath":"40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ.md"}'),o={name:"40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ.md"};function s(n,a,e,p,g,h){return i(),t("div",null,[...a[0]||(a[0]=[l('

ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ โ€‹

ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅฆ‚ไฝ•้ฟๅ…ๅ†…่€—๏ผŸๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ไธ‰ๅนด้—ด็š„โ€œ่‡ชๆˆ‘้‡ๆž„โ€ๅฎž้ชŒใ€‚ๆ–‡็ซ ๆ‘’ๅผƒไบ†ๅ•็บฏ็š„ๆƒ…็ปชๅฎฃๆณ„๏ผŒ่€Œๆ˜ฏๅˆฉ็”จๅˆ†่งฃๆณ•ใ€ๆธ่ฟ›ๆ˜Ž็ป†ๅ’Œ็ปŸ่ฎกๅˆ†ๆž็ญ‰ๅทฅ็จ‹ๆ€็ปด๏ผŒๅฏนๅฅๅบท้ฅฎ้ฃŸใ€็Ÿฅ่ฏ†ไฝ“็ณปใ€ๆ—ถ้—ดๅˆ†้…ๅŠ่ฟœ็จ‹ๅไฝœ่ฟ›่กŒไบ†็ณป็ปŸๅŒ–ๆ”น้€ ใ€‚่ฟ™ๆ˜ฏไธ€ไปฝๅ…ณไบŽๅฆ‚ไฝ•ๅœจๆ— ๅธธ็š„ๅค–้ƒจ็Žฏๅขƒไธญ๏ผŒๅปบ็ซ‹ๅ†…ๅœจ็กฎๅฎšๆ€ง็งฉๅบ็š„่กŒๅŠจๆŒ‡ๅ—ใ€‚

็›ฎๆ ‡ๅˆฐ่ทต่กŒๆ€็ปดๆต็จ‹็คบๆ„ๅ›พ

ๅ†™ๅœจๅ‰้ข โ€‹

่‡ชๅŽปๅนด 7 ๆœˆไปฝ่ฟ็งปๅ‡ ็ฏ‡ๆ—งๆ–‡ๅŽ๏ผŒ็ฌ”่€…ๅฐฑๆฒกๆœ‰็ปง็ปญๅ†™่ฝฏๆ–‡ไบ†๏ผŒๆƒณไธๅˆฐๅ†ๆฌกๅ†™ๆ–‡็ซ ๆ—ถ็–ซๆƒ…ๆ”ฟ็ญ–ๅทฒ็ป่ฐƒๆ•ด๏ผŒไธ”ๅˆๆญฅๅฎž็Žฐไบ†ๅผ€ๆ”พใ€‚้‚ฃไนˆ้—ฎ้ข˜ๆฅไบ†๏ผŒไธบไป€ไนˆ่ฆ็ปง็ปญๅ†™ๆ–‡็ซ ๅ‘ข๏ผŸๆฆ‚ๆ‹ฌๆฅ่ฎฒ๏ผŒๆœ‰ไธคไธชๆ–น้ข็š„ๅŽŸๅ› ๏ผš

  • ็›ดๆŽฅๅŽŸๅ› ๏ผš็–ซๆƒ…่ฟ™ไธ‰ๅนด๏ผŒๆฏไธชไบบ้ƒฝไฝ“้ชŒๅˆฐไบ†ไธๅŒไบŽไน‹ๅ‰็š„ โ€œ้šพโ€๏ผŒไนŸ้ƒฝๆœ‰ๅฑžไบŽ่‡ชๅทฑ็‹ฌไธ€ไปฝ็š„็ปๅކใ€‚็ฌ”่€…่ฟ™ไธ‰ๅนดไนŸๅœจ็–ซๆƒ…ๅฝฑๅ“็š„ๅŸบ็ก€ไธŠ๏ผŒ็ปๅކไบ†ไธ€ไบ›ไน‹ๅ‰ๆœชๆ›พ้‡ๅˆฐ่ฟ‡็š„ไบ‹ๆƒ…๏ผŒๅนธ่ฟ็š„ๆ˜ฏไปŽไธญไนŸๅญฆๅˆฐไบ†ไธ€ไบ›ไธœ่ฅฟ๏ผŒๅนถๅœจ็”Ÿๆดปๅฎž่ทตไธญๅŽปๅฐ่ฏ•ใ€ๅŽปๆ”นๅ˜ใ€‚ๅ› ๆญค๏ผŒๅœจ็–ซๆƒ…่ฟ›ๅ…ฅๅˆๆญฅๆ”พๅผ€็š„ๆ–ฐ้˜ถๆฎต๏ผŒไนŸๆƒณๅšไธ€ๆฌกๅค็›˜ๆ€ป็ป“ใ€‚
  • ้—ดๆŽฅๅŽŸๅ› ๏ผšๅค็›˜ๆ€ป็ป“็š„ๅฏ้€‰ๆ–นๅผๆœ‰ๅพˆๅคš็ง๏ผŒไฝ†ๅ†™ๆ–‡็ซ ๆ˜ฏ็ฌ”่€…่ง‰ๅพ—ๆŒบ้€‚ๅˆ่‡ชๅทฑ็š„ไธ€็งๆ–นๅผใ€‚ๆ‰€ไปฅ๏ผŒ็ฌ”่€…ๅ†ณๅฎšๅ€ŸๅŠฉๅผ€ๆ”พๅนณๅฐๆฅ็ปง็ปญๅฎŒๆˆไธ€็ฏ‡ๅค็›˜ๆ€ป็ป“ๆ–‡็ซ ใ€‚ๆ—ข้”ป็‚ผไธ‹่‡ชๅทฑ็š„ๅ†™ไฝœ่ƒฝๅŠ›๏ผŒไนŸ่ƒฝๅ€ŸๅŠฉๅผ€ๆ”พๅนณๅฐๆˆ–ๅคšๆˆ–ๅฐ‘ๆ”ถๅˆฐไธ€ไบ›ๅ้ฆˆไธŽๅปบ่ฎฎใ€‚้‰ดไบŽ็ฌ”่€…ๆฒกๆœ‰่ฟ‡ๅคšๆ€่€ƒ่ฆๆ€ป็ป“ๅ“ชไบ›ไธœ่ฅฟ๏ผŒๆ‰€ไปฅๆ ‡้ข˜ไนŸๅ‘ฝๅไธบ โ€œๆผซ่ฐˆ็–ซๆƒ…่ฟ™ไธ‰ๅนดๅ‘ๅ†…ๆ€ๅ˜โ€ใ€‚

็–ซๆƒ…ๆœŸ้—ด๏ผŒ็ฌ”่€…ๅŸบๆœฌๆฒกๆœ‰ๆ€Žไนˆๅ‡บ่ฟ‡่ฟœ้—จ๏ผŒ็”š่‡ณ้˜ดๅทฎ้˜ณ้”™ๅœฐ็ป™่‡ชๅทฑๅฎ‰ๆŽ’ไบ†ๆ›ดๅคš็š„็‹ฌๅค„ๆ—ถ้—ดใ€‚ๅ‘จๆœซไนŸๅ€’้€ผ่‡ชๅทฑๆŒ‰็…งๆฏ”่พƒไธฅๆ ผ็š„ไฝœๆฏๆŽจๅŠจไธšไฝ™ๅฎž่ทต๏ผŒๅฐ่ฏ•ๅ‘ๅ†…ๆŽข็ดขใ€‚ๅ› ๆญค๏ผŒๆ‰€่ฐ“ โ€œๅ‘ๅ†…ๆ€ๅ˜โ€๏ผŒ็”จๆ—ถ้ซฆ็š„่ฏดๆณ•ไนŸๅซ โ€œ้—ญๅ…ณโ€๏ผŒๆŽฅไธ‹ๆฅๅฐฑ้˜่ฟฐไธ‹่ฆๆผซ่ฐˆ็š„่ฏ้ข˜ใ€‚

ๆผซ่ฐˆ่ฏ้ข˜ โ€‹

ๅฅๅบท๏ผŒๆ‹ฅๆœ‰็š„ๆ—ถๅ€™็ปๅธธไธไผš่ขซ็ๆƒœ๏ผŒๅคฑๅŽป็š„ๆ—ถๅ€™ๅด่ฟฝๆ‚”่ŽซๅŠ๏ผŒไฝ†้‡ๆ–ฐๆ‰พๅ›žๅŽๅดๅพˆๅฎนๆ˜“ๅ†ๆฌกไธ่ขซ็ๆƒœ๏ผˆไธ้šพ็†่งฃ๏ผŒ่ฟ™ๅฐฑๆ˜ฏไบบๆ€ง๏ผ‰

่ฏปไนฆไธŽๅญฆไน ๏ผŒไธ€ไธช่ขซๅนฟไธบ็†Ÿ็Ÿฅ็š„่ฏ้ข˜๏ผŒไฝ†็ฌ”่€…ๅœจ่ฟ™ๆ–น้ขๆ˜ฏๆœ‰ไธ€ๅฎš่‡ชไฟก็š„๏ผŒๅ› ไธบๆœ‰่ฟ‡ๆฏ”่พƒๆญฃๅ‘็š„ๅฎž่ทต๏ผŒๅคšๅฐ‘ๆœ‰็‚นๅบ•ๆฐ”ใ€‚่‡ชๅคงๅญฆๆ—ถไปฃๅผ€ๅง‹๏ผŒ็ฌ”่€…ๅœจ่ฟ™ๆ–น้ขๆœ‰ไธ€ๅฎš็š„ๅ—œๅฅฝ๏ผŒไธ”็ณป็ปŸ่ทต่กŒไบ†ๆญคๅ—œๅฅฝ๏ผŒ่ฟ˜้€š่ฟ‡ๅ•ƒไธ€ไบ›่ทจไธ“ไธš็š„ไนฆๆฅๅญฆไน ๏ผŒ็›ด่‡ณๅฏไปฅๆŠ›ๅผƒๅŽŸๆฅ็š„ไธ“ไธš๏ผŒๅœจๆฏ•ไธšๆ—ถไนŸ็•™ไธ‹ไบ†ไธค็ฏ‡ๅ…ณไบŽ่ฟ™ๆ–น้ข็š„ๆ€ป็ป“ๆ–‡็ซ ใ€‚ๅฝ“็„ถ๏ผŒไปปไฝ•ๆ—ถๅ€™ใ€ไปปไฝ•ไบบ็š„็ปๅކ้ƒฝไปฃ่กจไธไบ†ๅฎžๅŠ›ใ€‚ๆœฌๆฌกๆผซ่ฐˆ็ฌ”่€…ไผš็ป“ๅˆ่‡ชๅทฑ็š„็ป้ชŒใ€ๆ€่€ƒไธŽๆ€ป็ป“ๆฅๆขณ็†๏ผŒๅฐฝๆœ€ๅคงๅŠชๅŠ›่ฎฉ่ฟ™ไธช่ฏ้ข˜่ตทๅˆฐๆŠ›็ –ๅผ•็މ็š„ไฝœ็”จ๏ผŒๆœ‰ๅ…ด่ถฃ็š„ๅฐไผ™ไผดๅœจไปฅๅŽ็š„ๆ—ฅๅญ้‡Œๅฏๅ…ฑๅŒ่ฟ›ๆญฅใ€‚

ๆ—ถ้—ด็ฎก็†๏ผŒ่ฟ™ไธช่ฏ้ข˜่™ฝ่ขซๅคงๅฎถ็†Ÿ็Ÿฅ๏ผŒๅดๅพˆๅฐ‘ๆœ‰ไบบ่ƒฝ่‡ชไฟกๅœฐ่ฏด โ€œ่‡ชๅทฑ่ƒฝๅพˆๅฅฝๅœฐ็ฎก็†ๆ—ถ้—ดโ€๏ผŒ็ฌ”่€…่‚ฏๅฎšไนŸไธไพ‹ๅค–ใ€‚ไฝ†ๆœฌๆฌกๆผซ่ฐˆไผšๆขณ็†ไธ‹็ฌ”่€…่‡ชๅทฑๅœจๅฎžๆ“ๆ–น้ข็š„ๅฐ่ฏ•๏ผŒๆ€่€ƒไธŽๆ€ป็ป“ใ€‚

ๆททๅˆๅทฅไฝœๅˆถ๏ผŒ่ฟ™ไธช่ฏ้ข˜ๅœจ็–ซๆƒ…ๅˆฐๆฅๅŽ่ขซๅคงๅฎถ็†Ÿ็Ÿฅ๏ผŒๆ‰€ไปฅ็ฌ”่€…่ฟ™้‡ŒไนŸๆœชๅฟ…่ƒฝๅˆ†ไบซๅ‡บๅคšไนˆ็จ€ๅฅ‡ๅคๆ€ช็š„่ง่งฃ๏ผŒไฝ†ๅŒๆ ทไผš็ป“ๅˆๅฎžๆ“็ป™ๅ‡บ่‡ชๅทฑ็š„ๆ€่€ƒไธŽๆ€ป็ป“ใ€‚

ๆผซ่ฐˆๅฅๅบท โ€‹

ๅฅๅบทๅฑๆœบ โ€‹

้‰ดไบŽ็ฌ”่€…ๅœจๅคงๅญฆ้˜ถๆฎต่‡ช็”ฑๅญฆไน ไธŽๆŽข็ดข็š„ๅ‹‡ๆฐ”ๅฏๅ˜‰๏ผŒๅ› ๆญคๅœจ็ปๅކไธคๆฌก โ€œๆ กๅ›ญไบ’่”็ฝ‘ๅฐไฝœๅŠโ€ ็š„้”ป็‚ผๅŽ๏ผŒๆฏ•ไธšๆ—ถ้€‰ๆ‹ฉ็š„ๅทฅไฝœ่‡ช็„ถ่€Œ็„ถๅœฐๆˆไธบไบ†ๅคงๅญฆๅ…ด่ถฃ็š„ๅปถ็ปญใ€‚ๅฝ“็„ถ๏ผŒไนŸๅปถ็ปญไบ†ๅพˆๅคšๅคงๅญฆ้˜ถๆฎตๅ…ปๆˆ็š„ๅฏนๅฅๅบทไธๅˆฉ็š„ไน ๆƒฏ๏ผŒไฝœๆฏๆ— ่ง„ๅพ‹๏ผŒไป—็€ๆ— ็ŸฅๆŒฅ้œ่บซไฝ“๏ผ›ๆ— ๅฅๅบทๆ„่ฏ†๏ผŒไธๆ€Žไนˆ้”ป็‚ผ่บซไฝ“๏ผŒๆฏ”ๅฆ‚๏ผš

  • ๅพˆๅฐ‘ๅƒๆ—ฉ้ฅญ๏ผŒ็ปๅธธๅƒๆ—ฉไธญ้ฅญๆˆ–่€…ๅˆ้ฅญใ€‚้™คไบ†ๅทฅไฝœใ€ๅญฆไน ๅ’Œๅจฑไนๅ‹คๅฟซ็‚น๏ผŒๅˆซ็š„ๆ–น้ขๆฏ”่พƒๆ‡’ใ€‚
  • ้•ฟๆœŸ็†ฌๅคœ๏ผŒไธšไฝ™ไนŸๅ–œๆฌขๅญฆ็‚นไธœ่ฅฟ๏ผŒๅ†™็‚นไปฃ็ ๏ผˆๅคงๆฆ‚็އๆ˜ฏ่ตฐๅ‡บๆ กๅ›ญๅŽ็œ‹ๅˆฐไบ†ไบบๅค–ๆœ‰ไบบ๏ผŒ้š็€ๅทฅไฝœ็š„ๆทฑๅ…ฅ๏ผŒๆ…ขๆ…ขๆ„่ฏ†่‡ช่บซไธ่ถณ๏ผŒๆƒณ่ฆๆๅ‡ไธ€ไบ›ๆŠ€่ƒฝ๏ผ‰ใ€‚

ไบบๆ— ไฝœๆฏ่ง„ๅพ‹ๅœฐ็†ฌไธ€ๅคฉไธ็ดฏ๏ผŒ็†ฌๅๅคฉๅฐฑ็ดฏไบ†๏ผŒ็†ฌๅ‡ ๅนดไนŸๅฐฑ่ฆๅไบ‹ไบ†ใ€‚ๅฐฑ่ฟ™ๆ ท็ป่ฟ‡้•ฟๅนด็ดฏๆœˆๅœฐๆด—็คผ๏ผŒๅฅๅบทไนŸๅœจ็–ซๆƒ…ๅˆฐๆฅ็š„็ฌฌไธ€ๅนดไบฎ่ตทไบ†ๅฐ็บข็ฏใ€‚ๅฝ“็„ถ๏ผŒ็ป่ฟ‡ๅŒป็”Ÿใ€ๅฎถไบบ็ญ‰ๅคšๆ–น็š„ๅๅŠ›ๅธฎๅŠฉ๏ผŒไปฅๅŠ่‡ชๅทฑ็š„ๅšๅฟ็กฌๆ‰›๏ผŒๆœ€็ปˆๅบทๅคไบ†ใ€‚ๆœŸ้—ด่™ฝ็„ถ็ปๅކไบ†ๆฏ”็–ซๆƒ…ๆ”พๅผ€ๅŽๅคง้ƒจไบบ่ฝฌ้˜ณ็—›่‹ฆไธ”ๅฐ่ฑกๆทฑๅˆปๅคšๅ€็š„ไบ‹ๆƒ…๏ผŒไฝ†ไธๆ˜ฏๆœฌๆ–‡็š„้‡็‚น๏ผŒ่ฟ™้‡Œๅช็•™ไธ‹็ฌ”่€…ไบ‹ๅŽๆทฑๅˆปๅๆ€็š„ๅ‡ ไธชๅฟƒๅพ—๏ผš

  • ไธๅฅฝ็š„ไบ‹ๆƒ…ๅฆ‚ๆžœๅทฒ็ปๅˆฐๆฅ๏ผŒๆ‡Šๆ‚”็ญ‰ๆ‚ฒ่ง‚ๆƒ…็ปช้ƒฝๆฒกๆœ‰ไปปไฝ•็”จๅค„๏ผŒๅช่ƒฝๆ˜ฏๆƒณๅฐฝไธ€ๅˆ‡ๅŠžๆณ• โ€œๅ…ˆๆฒป็—…ๆ•‘ๅ‘ฝ๏ผŒไผ‘ๅ…ปๅบทๅค๏ผŒ็„ถๅŽๅ†่ฐˆๅฅๅบทๅ…ป็”Ÿโ€ใ€‚
  • ็ŽฐไปฃๅŒป็–—่™ฝ่ƒฝๆ•‘ๆญปๆ‰ถไผค๏ผŒไฝ†็ปˆ็ฉถๅชๆ˜ฏๆœ€ๅŽ็š„ๆญขๆŸๆ–นๅผใ€‚ๆˆ‘ไปฌๅชๆœ‰ๅœจๆ—ฅๅธธๆณจ้‡้ข„้˜ฒไฟๅฅใ€ๅŸนๅ…ปๅฅๅบทๆ„่ฏ†๏ผŒๆณจ้‡ๅ…ป่บซไฟฎ่บซ๏ผŒๆ‰ๆœ‰ๅฏ่ƒฝๅœจ่ฟ™ไธช็คพไผšไธŠ่ตฐ็š„ๆ›ด่ฟœใ€‚
  • ้š็€็คพไผš็š„ๅ‘ๅฑ•๏ผŒไบบ่ขซๆŠ€ๆœฏๅœˆๅ’Œ็คพไผšๅœˆๅŒ…่ฃนไบ†่ตทๆฅ๏ผŒไบบไธŽ่‡ช็„ถไน‹้—ด็š„่ท็ฆปไนŸๅฐฑ่ถŠๆฅ่ถŠ่ฟœไบ†๏ผŒ่‡ช็„ถไบบไนŸๅฐฑๅ‘็”Ÿไบ†ๅผ‚ๅŒ–๏ผˆๆ”พ็œผๆœ›ๅŽป๏ผŒ่บซ่พนๅ……ๆปก็€ๅคชๅคš็ฑปไผผ็ฌ”่€…่ฟ™็งไธๅคŸๆณจ้‡่‡ช่บซๅฅๅบท็š„ไบบ๏ผ‰ใ€‚

ๅฅๅบท็Ÿฅ่ฏ†ๅญฆไน  โ€‹

ๆ—ข็„ถๅทฒ็ป็Ÿฅๆ™“่‡ช่บซ้—ฎ้ข˜ไธ”ๆš‚ๆ—ถๆญขๆŸไบ†๏ผŒ่‡ช็„ถ่ฆ็ปง็ปญๅฏปๆ‰พๆ›ด้•ฟ่ฟœ็š„่งฃๅ†ณๆ–นๆณ•ใ€‚ไฝ†ๆ–นๆณ•ไธไผšๅ‡ญ็ฉบไปŽๅคฉไธŠๆމไธ‹ๆฅ็š„๏ผŒๅฎƒ้œ€่ฆ่‡ชๅทฑๅŽปๅฏปๆ‰พใ€‚็ฌ”่€…ๅฏปๆ‰พๆ–นๆณ•็š„ไธป่ฆ้€”ๅพ„ๆ˜ฏ๏ผšๅ‘ไธ“ไธšๆˆ–ๆœ‰็ป้ชŒ็š„ไบบๅ’จ่ฏข๏ผŒๅ‘ไนฆๆœฌไธŠ็š„ๅฅๅบทๆ ‡ๅ‡†ๅ’Œ็Ÿฅ่ฏ†ๆ‰พใ€‚

1ใ€ๅ‘ๆœ‰ไธ“ไธšๆˆ–ๆœ‰็ป้ชŒ็š„ไบบๅ’จ่ฏข โ€‹

็”ฑไบŽ็ฌ”่€…ไป็„ถไฟๆŒ็€ๅคงๅญฆๆ—ถไปฃๅญฆไผš็š„โ€œๅ…่ดนโ€ๆ€็ปด๏ผŒๆ‰€ไปฅๅœจๆŽฅ่ฟ‘ๅบทๅคๅ‡บ้™ข็š„ๆ—ถๅ€™ๅฐฑๅผ€ๅง‹่ทŸๅŒป็”Ÿใ€ๅŒปๆŠคใ€็—…ๅ‹็ญ‰ไปฅ่Šๅคฉ็š„ๆ–นๅผๅ’จ่ฏขใ€‚ไผ—ๆ‰€ๅ‘จ็Ÿฅ๏ผŒๅŒป็”Ÿๆ˜ฏ็ปๅธธไผ ๆŽˆ็—…ไบบไธ€ไบ›ๅฅๅบท็Ÿฅ่ฏ†็š„ไธ“ไธšไบบๅ‘˜๏ผŒๅŒปๆŠคๆ˜ฏ้•ฟๅนด็ดฏๆœˆๅๅŠฉ็—…ไบบๅบทๅค่ฎญ็ปƒ็š„ไธ“ไธšไบบๅ‘˜๏ผŒ็—…ๅ‹ๆ˜ฏ้‚ฃไบ›ไธŽ่‡ช่บซๆœ‰็€็›ธๅŒๅคฑ่ฏฏ็š„ไบบ๏ผŒๅ‘่ฟ™ๅ‡ ๆณขไบบๅ’จ่ฏขๆ›ด่ƒฝไน ๅพ—ๆฏ”่พƒๆญฃๅ‘็š„ๅปบ่ฎฎๆˆ–ๅฐๆŠ€ๅทงใ€‚่ฟ™ไธ€้˜ถๆฎต็งฏ็ดฏไบ†ไธ€ไบ›็ขŽ็‰‡ๅŒ–็š„ๅฅๅบทๆ„่ฏ†๏ผŒๅบทๅค่ฎญ็ปƒๅฐๆŠ€ๅทง๏ผŒไปฅๅŠๆˆ’ๆމไธ่‰ฏ็”Ÿๆดปไน ๆƒฏ็š„ๆณจๆ„็‚น๏ผŒไนŸไธบๅŽ้ข็š„้˜ฒๆฒปๅฎœๆ—ฉใ€่ตทๅฑ…ๆœ‰ๅธธใ€้€‚้‡่ฟๅŠจ็ญ‰ๅŽŸๅˆ™ๅšไบ†้“บๅžซใ€‚

2ใ€ๅญฆไน ๅฅๅบทๆ ‡ๅ‡†ๅ’Œ็Ÿฅ่ฏ† โ€‹

ๅฅๅบทๅ…ถๅฎžๆ˜ฏๆœ‰ๆ ‡ๅ‡†ใ€ๆœ‰ไพๆฎ็š„๏ผš

*ใ€Š็š‡ๅธๅ†…็ปใ€‹ไธญ็š„ๆ ‡ๅ‡†๏ผšๅฝขไธŽ็ฅžไฟฑ๏ผŒ่€Œ็ปˆๅ…ถๅคฉๅนด๏ผŒๅบฆ็™พๅฒไนƒๅŽปใ€‚ *็Žฐไปฃ็š„ๅฅๅบทๆ ‡ๅ‡†๏ผš็”Ÿ็†ๅฅๅบทใ€ๅฟƒ็†ๅฅๅบทใ€็คพไผšๅŠ่‡ช็„ถ็Žฏๅขƒ้€‚ๅบ”่‰ฏๅฅฝ๏ผŒ้“ๅพท่‰ฏๅฅฝ๏ผŒๅนถ่พพๅˆฐไบบไน‹ๅคฉๅนดใ€‚

ๅฆ‚ไธŠๆ‰€่ฟฐ๏ผŒๅฅๅบทๆ ‡ๅ‡†็ฎ€ๅ•ไธ”ๆ˜“ๆ‡‚๏ผŒไฝ†ๅฎƒไธ่ถณไปฅๆŒ‡ๅฏผๅคง้ƒจไบบๅŽปๅฎž่ทต๏ผˆ้™ค้žๆ˜ฏไธไธ–ๅ‡บ็š„็ฝ•่งไบบๆ‰๏ผŒ็œ‹ๅˆฐๆ ‡ๅ‡†ๅŽๅฐฑ่ƒฝๆŽจๅฏผๅ‡บ็ฌฆๅˆๅฎž้™…็š„่งฃๆณ•๏ผ‰ใ€‚ๆ‰€ไปฅ็ฌ”่€…็ป“ๅˆ่‡ช่บซ็ปๅކๅ’Œๅฅๅบท็Ÿฅ่ฏ†๏ผŒ่ฟ›ไธ€ๆญฅ้‡‡็”จ โ€œๅˆ†่งฃโ€ ๅ’Œๆธ่ฟ›ๆ˜Ž็ป†็š„ๆ–นๅผ๏ผŒๅญฆ็€ๆขณ็†ๅ‡บไธ€ไบ›ๅฅๅบทๅŽŸๅˆ™๏ผš

  • ๅˆ็†้ฅฎ้ฃŸ๏ผŒๆ—ฅๅธธ้ฅฎ้ฃŸๆณจ้‡ๆ‚้ฃŸๅคšๆ ท๏ผŒ็กฎไฟ่ƒฝ้‡ใ€่ฅๅ…ปใ€ๆ€งๅ‘ณๅนณ่กกใ€‚
  • ่ตทๅฑ…ๆœ‰ๅธธ๏ผŒๅฐ่ฏ•ๆ”นๅ˜็”Ÿๆดปๆ–นๅผ๏ผŒๅฅๅบทๆœ‰ๅบ๏ผŒ้˜ฒๆˆ’ไธ่‰ฏ็”Ÿๆดปไน ๆƒฏใ€‚
  • ้€‚้‡่ฟๅŠจ๏ผŒๅ› ไบบๅ› ๆ—ถๅ› ๅœฐๅœฐๅˆถๅฎšๅ‡บไธ€ๅฅ—ๅฅ่บซ่ฟๅŠจ็š„้กน็›ฎ๏ผŒๅพชๅบๆธ่ฟ›ใ€ๆŒไน‹ไปฅๆ’ๅœฐๅšๆŒไธ‹ๅŽป๏ผŒไฟๆŒๅฅๅบทไธ€็‚น็š„ๅฝขไฝ“๏ผŒๆ้ซ˜ๅฏน็Žฏๅขƒ็š„้€‚ๅบ”่ƒฝๅŠ›
  • ้™ๅ…ปๅฟƒ็ฅž๏ผš
    • ็ป™่‡ชๅทฑ็š„็”Ÿๆดปๅšๅ‡ๆณ•๏ผŒๅฎๅฏไธๅˆ็พค๏ผŒไนŸ่ฆ้ฟๅ…ๆŽฅ่งฆไธ€ไบ›ๆฒกๆœ‰็”จ่ฟ˜ๅฎนๆ˜“ๅ†…่€—็š„ไบบๅ’Œไบ‹ใ€‚
    • ๅคš่ฏป็‚นไนฆ๏ผŒๅฐ่ฏ•ๅฐ†ไนฆไธญ็š„ไธ€ไบ›็Ÿฅ่ฏ†็”จๅˆฐๅทฅไฝœๅ’Œ็”Ÿๆดปไธญใ€‚
  • ้˜ฒๆฒปๅฎœๆ—ฉ๏ผŒๅธๅ–ๅŒป็”Ÿ็š„ๅปบ่ฎฎ๏ผŒๅฏนไบšๅฅๅบท็Šถๆ€ๅŠ็–พ็—…ๅšๆŒ้ข„้˜ฒไธบไธปใ€ๆ—ฉ้˜ฒๆ—ฉๆฒป

ๆœ€ๅŽ๏ผŒไธบไฟ่ฏ่‡ชๅทฑๅœจ็†่ฎบๆ„่ฏ†ไธŠๆ›ดๆณจ้‡่บซไฝ“ๅฅๅบท๏ผŒ็ฌ”่€…่ฟ˜ๆ‹œ่ฏปไบ†ๆฏ›ๆ•™ๅ‘˜ๅœจ้’ๅนดๆ—ถๆœŸๅ†™ไธ‹็š„ใ€Šไฝ“่‚ฒไน‹็ ”็ฉถใ€‹ใ€‚่ฏป่ฟ‡ๆ•™ๅ‘˜้žญ่พŸๅ…ฅ้‡Œ็š„ๆ–‡็ซ ๅŽ๏ผŒไนŸๆ›ดไปŽ็†่ฎบไธŠๆ˜Ž็™ฝไบ†๏ผšโ€œไฝ“่€…๏ผŒ่ฝฝ็Ÿฅ่ฏ†ไน‹่ฝฆ่€Œๅฏ“้“ๅพทไน‹่ˆไนŸใ€‚ไฝ“่‚ฒไธ€้“๏ผŒ้…ๅพท่‚ฒไธŽๆ™บ่‚ฒ๏ผŒ่€Œๅพทๆ™บ็š†ๅฏ„ไบŽไฝ“ใ€‚โ€

3ใ€ๅฅๅบทๅฎž่ทต โ€‹

็ป“ๅˆๆฒ‰ๆท€ไธ‹ๆฅ็š„ๅŽŸๅˆ™๏ผŒ็ฌ”่€…่Šฑ่ดนไบ† 1.5 ๅนด็š„ๆ—ถ้—ด๏ผŒ่ฟ›่กŒไบ†ไธคไธชๆ–น้ข็š„ๅฎž่ทต๏ผš

  • ๅทฅไฝœๆ—ฅๆ—ฉไธŠๅšๆŒๅšๆ—ฉ้ฅญ๏ผŒไธ‰้คๆ…ขๆ…ข้ ๅ‘ๅˆ็†ๅ‡่กกใ€‚ๅ‘จๆœซๅŸนๅ…ปไธ€ไบ›ๅš้ฅญ็š„ๆŠ€่ƒฝ๏ผŒๅ€ŸๅŠฉ็ƒŸ็ซๆฐ”ๆฅๅนณ่กกไธ‹ๅทฅไฝœไธŽ็”Ÿๆดปใ€‚
  • ่ฎพๅฎšๅ‡่‚ฅ็›ฎๆ ‡๏ผŒ้€š่ฟ‡ๆŽงๅˆถ้ฅฎ้ฃŸใ€ๅขžๅผบไฝ“่‚ฒ้”ป็‚ผๆดปๅŠจๆฅๅฎž็Žฐไฝ“้‡็š„ๅ‡ๅฐ‘๏ผŒๆๅ‡่‡ช่บซๅฅๅบทใ€‚

้š็€ๆ—ถ้—ด็š„ๆต้€๏ผŒ็ฌ”่€…็ŽฐๅœจไนŸ่ƒฝ่‡ชๅทฑๅšๅ‡บ 75 ๅˆ†็š„ๅฎถๅธธ่œไบ†๏ผˆ็‰นๅˆซๆ„Ÿ่ฐขๅพˆๅคšๅธˆๅ‚…ๆŒ‡ๅฏผ๏ผ‰๏ผŒไธ”ๅฐ†ไธ‹้ข่ฟ™ๅผ ๅ›พไฝœไธบ่‡ชๅทฑ็š„ๆ—ฅๅธธ้ฅฎ้ฃŸๅŽŸๅˆ™๏ผš

ๆ—ฅๅธธ้ฅฎ้ฃŸๅŽŸๅˆ™็คบๆ„ๅ›พ

ๅ…ณไบŽๅฅ่บซๅ‡่‚ฅๆ–น้ข็š„ๅฎž่ทต๏ผŒ็ฌ”่€…่ฟ™้‡Œๅช้˜่ฟฐไธ‹ไธป่ฆๅฎž่ทตๆ€่ทฏ๏ผŒๅฎž่ทต็ป†่Š‚ๅฏๅ‚่€ƒ็ฌ”่€…ไน‹ๅ‰ๅ†™็š„ไธ€็ฏ‡ๆ–‡็ซ ๏ผšๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹้˜ถๆฎต้š็ฌ”ๆฑ‡ๆ€ปใ€‚

ๅ…ณ้”ฎ็‚น 1๏ผš่ฆ่€ƒ่™‘ๆ‰“ๅทฅไบบๅทฅไฝœๆฏ”่พƒๅฟ™็ขŒ็š„ๅฎข่ง‚็Žฐๅฎž๏ผŒๅฐ†ๆ—ถ้—ดๅ‘จๆœŸๆ‹‰็š„้•ฟไธ€็‚น๏ผŒ็›ฎๆ ‡ๆ‹†่งฃ็š„็ป†ไธ€็‚น๏ผŒๅฏๅˆ†้˜ถๆฎตๆฅใ€‚ๆˆ‘ไปฌๅฏไปฅ็ป“ๅˆ่บซ่พน็š„ๅพˆๅคšไพ‹ๅญๆฅๅๆ€ไธ‹๏ผŒไธบไป€ไนˆ้‚ฃไนˆๅคšไบบๅ–Š็€ๅฅ่บซๅ’Œๅ‡่‚ฅ๏ผŒ็œŸๆญฃๆˆๅŠŸ็š„ๅดไธๅคšๅ‘ข๏ผŸๆ˜ฏ่€ๅŠ›ไธๅคŸ๏ผŒ่ฟ˜ๆ˜ฏๅฎข่ง‚็Žฏๅขƒไธๅ…่ฎธๅ‘ข๏ผŸ็ฌ”่€…่ง‰ๅพ—ไธคไธชๅŽŸๅ› ้ƒฝๆœ‰๏ผŒๅฆ‚ๆžœๆ—ถ้—ด่ถณๅคŸๅ……่ฃ•๏ผŒ็”จ่ฟ™ไนˆๅคš็ฉบ้—ฒๆ—ถ้—ดๆฅไธ“ๆณจๅœฐๅฎŒๆˆไธ€ไปถๆญฃ็กฎ็š„ไบ‹ๆƒ…ๆ˜ฏๆฒกๆœ‰ๅคง้—ฎ้ข˜็š„ใ€‚ๅฏ็Žฐๅฎž็”Ÿๆดปไธญๆ—ถ้—ดไธไผšๅคšไนˆๅ……่ฃ•๏ผŒๆญฃๆ˜ฏๅŸบไบŽๅฎข่ง‚่€ƒ่™‘๏ผŒ็ฌ”่€…ๆ‰่ฐƒๆ•ดไบ†ๅฎž่ทตๆ€่ทฏ๏ผš

  • ไธฅๆ ผ้˜ถๆฎต๏ผšๅŸบไบŽโ€œ็ฎกไฝๅ˜ด๏ผŒ่ฟˆๅผ€่…ฟโ€็š„ๅ‡†ๅˆ™๏ผŒๆฏๆœˆๅ‡ 5 ๆ–ค๏ผŒๅŠๅนดๅ‡ 30 ๆ–ค๏ผˆๅทฒๅฎŒๆˆๅฎž็Žฐ๏ผ‰
  • ๅทฉๅ›บ้˜ถๆฎต๏ผšๅœจ โ€œ็ฎกไฝๅ˜ดโ€ ็š„ๅŸบ็ก€ไธŠ๏ผŒ ไพง้‡ โ€œ่ฟˆๅผ€่…ฟโ€็š„ๅ‡†ๅˆ™๏ผŒๅŠ ๅคง่ฟๅŠจ้‡๏ผŒๆๅ‡่‡ช่บซ่บซไฝ“็ด ่ดจ๏ผˆ2022ๅนดๆ‰ง่กŒ่‰ฏๅฅฝ๏ผ‰
  • ๆŒ็ปญ้˜ถๆฎต๏ผšๅฐ†โ€œๆฏๅคฉ้”ป็‚ผไธ€ๅฐๆ—ถ๏ผŒๅฟซไนๅทฅไฝœไบ”ๅๅนดโ€ไฝœไธบไธ€ไธช้•ฟๆœŸไน ๆƒฏๆฅ่ดฏๅฝปไธ‹ๅŽป๏ผˆๅธŒๆœ› 2023 ๅนดๅŠไปฅๅŽ็š„ๆ—ฅๅญ้‡Œๅฏไปฅ็ปง็ปญๅšๅˆฐ๏ผ‰

ๅ…ณ้”ฎ็‚น 2๏ผšๅฎž่ทต่ฟ‡็จ‹ไธญๅ€ŸๅŠฉไฝ“่„‚็งค็š„ๆŒ‡ๆ ‡ๅ’Œๆ•ฐๆฎ็ปŸ่ฎก๏ผŒๆฅๅฎšๆœŸๅˆ†ๆž่‡ช่บซๆ•ฐๆฎ๏ผŒๅŠๆ—ถๅ‘็Žฐใ€็บ ๆญฃๅฎžๆ“่ฟ‡็จ‹ไธญ็š„้—ฎ้ข˜๏ผˆ่ฟ™ๆ˜ฏ็ฌ”่€…ๆ‰€ๅœจ่กŒไธš็š„ๆƒฏ็”จๅฅ—่ทฏ๏ผ‰ใ€‚ๆˆ‘ไปฌๅฏไปฅ็ปง็ปญ็ป“ๅˆ็”Ÿๆดปไธญ็š„ไพ‹ๅญๆฅ็œ‹ไธ‹๏ผŒ่‡ชๅทฑๅฏๆœ‰่Šฑไบ›ๆ—ถ้—ดๆฅๅๆ€ใ€ๅค็›˜่‡ช่บซๅญ˜ๅœจ็š„้—ฎ้ข˜๏ผŒ็„ถๅŽ่ฐƒๆ•ด่กŒๅŠจๅ‘ข๏ผŸๅคง้ƒจๅˆ†ๅบ”่ฏฅ้ƒฝๆฒกๆœ‰่ฟ™ไนˆๅšใ€‚ๅ…ถๅฎž๏ผŒ็ฌ”่€…ไน‹ๅ‰ๅœจ่ฟ™ๆ–น้ขๅš็š„ไนŸ็‰นๅˆซๅฐ‘๏ผŒๅŽๆฅ้š็€ๅทฅไฝœๅ’Œ็”Ÿๆดป้˜…ๅކ็š„ๅขžๅŠ ๏ผŒๆ…ขๆ…ขๆณจ้‡่ฟ™ๆ–น้ขไบ†ใ€‚

4ใ€ๅฅๅบทๅฐ็ป“ โ€‹

ๅฅๅบท่ฟ™ไธช่ฏ้ข˜่Š็š„ๅทฎไธๅคšไบ†๏ผŒ็ฌ”่€…ๅœจ่ฟ™ไธช่ฏ้ข˜็š„ๆœ€ๅŽ็ฎ€ๅ•ๅˆ†ไบซไธคไธช่‡ชๅทฑๅญฆๅˆฐ็š„ใ€ไธ”ๆ„Ÿ่ง‰ๆฏ”่พƒๅฎž็”จใ€ๅฏๅนฟๆณ›ๅบ”็”จ็š„่ฟญไปฃๅฎž่ทตๅฅ—่ทฏใ€‚ๆœ‰ๅ…ด่ถฃ็š„ๆœ‹ๅ‹ๅฏๅŽปๆทฑๅ…ฅๅญฆไน ๏ผŒๅฆ‚ๆžœ่ฟ˜่ƒฝๅœจๅทฅไฝœๅ’Œ็”Ÿๆดปไธญๅฐ่ฏ•่ตทๆฅ๏ผŒ็›ธไฟกไผšๅ–ๅพ—ๆ›ดๅฅฝ็š„ๆ•ˆๆžœใ€‚

(1) ็›ฎๆ ‡ -> ้—ฎ้ข˜ -> ่ฏŠๆ–ญ -> ๆ–นๆกˆ -> ่ทต่กŒ ๏ผˆๅฅ—่ทฏๆฅ่‡ชใ€ŠๅŽŸๅˆ™ใ€‹่ฟ™ๆœฌไนฆ๏ผŒ่ฏฅไนฆๅœจ็–ซๆƒ…ๅ‰่ขซ็ฌ”่€…็Ÿฅๆ™“ๅŽ้˜…่ฏป๏ผŒ็–ซๆƒ…ๅŽๅˆ็ฟปไบ†ไธ‹๏ผŒ่ทŸ่€ๆœ‹ๅ‹ไปฌไนŸๅผบ็ƒˆๆŽจ่่ฟ‡๏ผ‰

็›ฎๆ ‡ๅˆฐ่ทต่กŒๆ€็ปดๆต็จ‹็คบๆ„ๅ›พ

2ใ€ไธ€ไธชๅ…จ้ข่ดจ้‡็ฎก็†็š„ๆ€ๆƒณๅŸบ็ก€ๅ’Œๆ–นๆณ•ไพๆฎ๏ผŒๅพช็Žฏๅผๅ“่ดจ็ฎก็† PDCA๏ผŒๅˆ็งฐๆˆดๆ˜Ž็Žฏใ€‚็”ฑๆˆดๆ˜Žๆๅ‡บ๏ผŒๆฎ่ฏดไป–ๅๅˆ†็ƒญ็ˆฑ็ปŸ่ฎกๅญฆ๏ผŒไบŒๆˆ˜ๆ—ถๆ›พๅฐ†็ปŸ่ฎกๅญฆๅบ”็”จไบŽๅˆถ้€ ไธš๏ผŒๅŽๆฅๅœจๆ—ฅๆœฌไผ ๆŽˆ่ดจ้‡ๆŽงๅˆถ๏ผŒ้š็€ๆ—ฅๆœฌๅˆถ้€ ๆŠ€ๆœฏ็š„้€ๆธๅ‘่พพ๏ผŒๆˆดๆ˜ŽไนŸๆˆไธบไบ†ๆฏ”่พƒ่‘—ๅ็š„ไบบ็‰ฉใ€‚

ๆผซ่ฐˆ่ฏปไนฆไธŽๅญฆไน  โ€‹

1ใ€่ฏปไนฆ็š„็›ฎ็š„ โ€‹

่ฏปไนฆไธŽๅญฆไน ็š„ๅŒบๅˆซๆ˜ฏไป€ไนˆๅ‘ข๏ผŸ

ๅœจ็ฌ”่€…็œ‹ๆฅ๏ผŒ่ฏปไนฆไธŽๅญฆไน ๆ˜ฏไธค็ ไบ‹๏ผŒ่ฏปไนฆไธ็ญ‰ไบŽๅญฆไน ๏ผŒๆƒณ่ฆๅญฆไน ๆˆ้•ฟๅ€’ๆ˜ฏๅฏไปฅๅคš่ฏป็‚นไนฆใ€‚ๅฝ“็„ถ๏ผŒๆœ‰ไบ›ไบบไผšๆŠŠ่ฏปไนฆๅฝ“ๆˆไธ€็งไน ๆƒฏๅ’Œ็ˆฑๅฅฝ๏ผŒไฝ†็ฌ”่€…ๆƒณ็ปง็ปญ้—ฎ็š„ๆ˜ฏ๏ผšไน ๆƒฏๅ’Œ็ˆฑๅฅฝไธๆ˜ฏๅ‡ญ็ฉบๆฅ็š„๏ผŒ่ฟ™็งไน ๆƒฏๅ’Œ็ˆฑๅฅฝ่ƒŒๅŽ็š„ๆœฌ่ดจๅŽŸๅ› ๅ’ŒๅŠจๅŠ›ๅˆๆ˜ฏไป€ไนˆๅ‘ข๏ผŸๅฏ่ƒฝ็ญ”ๆกˆไธญๅคšๅฐ‘ไผšๆถต็›–็‚น โ€œๆƒณไปŽ่ฏปไนฆไธญๅญฆๅˆฐ็‚นไธœ่ฅฟโ€ๅงใ€‚

่บซๅค„ไธ€ไธช็Ÿฅ่ฏ†่ฟญไปฃ้€Ÿๅบฆๅ’Œ็”Ÿๆดป่Š‚ๅฅ้ƒฝๅœจๅŠ ๅฟซ็š„ๆ—ถไปฃ๏ผŒโ€œ็„ฆ่™‘โ€ไธŽโ€œ่ฟท่Œซโ€ไผšๆ—ถไธๆ—ถๆฅๆ•ฒ้—จใ€‚ๅ› ๆญค๏ผŒไธบๅบ”ๅฏน็คพไผš็”Ÿๆดปไธญ็š„็„ฆ่™‘ไธŽ่ฟท่Œซ๏ผŒไบบไปฌ้€‰ๆ‹ฉไบ†ๅ„็งๅ„ๆ ท็š„ๆ–นๅผ๏ผŒ่ฏปไนฆไธŽๅญฆไน ่‡ช็„ถไนŸๆˆไธบไบ†ไธ€็งๅธธ็”จ็š„ๆ–นๅผใ€‚็ฌ”่€…ไน‹ๅ‰ไธปๅŠจ่ทŸไบบไบคๆต็š„ๅŠจๅŠ›ไธๅคง๏ผŒๆ‰€ไปฅ่ฏปไนฆไธŽ่‡ชๆˆ‘่ง„ๅˆ’ๅญฆไน ไนŸๆ˜ฏ็ฌ”่€…็š„้€‰ๆ‹ฉใ€‚

ๅ› ๆญค๏ผŒๅฆ‚ๆžœๆœ‰ไบบ้—ฎ่ตท โ€œไฝ ่ฏปไนฆ็š„็›ฎ็š„ๆ˜ฏไป€ไนˆโ€๏ผŒ็ฌ”่€…ไผš็ป“ๅˆ่ฏป่ฟ‡็š„ใ€Š็บณ็“ฆๅฐ”ๅฎๅ…ธใ€‹่ฟ™ๆœฌไนฆ็ป™ๅ‡บ็Žฐๅœจ็š„็ญ”ๆกˆ๏ผšๆž„ๅปบ่‡ชๅทฑ็š„ๅฟƒๆ™บๆจกๅž‹ใ€‚ๅฝ“็„ถ๏ผŒๅฆ‚ๆžœๅœจๆœชๆฅ N ๅนดๅŽๆœ‰ไบบๅ†้—ฎ่ตท่ฟ™ไธช้—ฎ้ข˜๏ผŒ็ฌ”่€…ๅธŒๆœ›่‡ชๅทฑๅฏไปฅ็ป“ๅˆใ€Š็ฉทๆŸฅ็†ๅฎๅ…ธใ€‹่ฟ™ๆœฌไนฆๅ’ŒๆŸฅ็†่Š’ๆ ผ่ฟ™ไธชไบบ็ป™ๅ‡บๆฏ”ๅฝ“ๅ‰ๆ›ดๆทฑๅ…ฅๅ’Œ็ป†ๅŒ–็š„็ญ”ๆกˆ๏ผˆ็›ฎๅ‰ไธ่ƒฝ็ป™่ฟ™ไธช็ญ”ๆกˆ๏ผŒๅ› ไธบ็ฌ”่€…่‡ชๅทฑๆž„ๅปบ็š„ๅฟƒๆ™บๆจกๅž‹่ฟ˜ไธๅคŸๅฅฝ๏ผ‰ใ€‚

2ใ€่ฏปไนฆ็š„ๆ–นๅผ โ€‹

้š็€ๆ—ถ้—ด็š„ๆŽจ็งป๏ผŒ็ฌ”่€…ๅœจ่ฏปไนฆๆ–น้ขไฝ“้ชŒไบ†ไปฅไธ‹ไธ‰็งๆ–นๅผ๏ผš

  • ่‡ช็”ฑๅผ้˜…่ฏป๏ผŒไฝœไธบไธ€็งๅจฑไนๅ’Œ็ˆฑๅฅฝ๏ผŒๆฏ”ๅฆ‚้˜…่ฏปไธ€ไบ›ๅฐ่ฏดๆˆ–่‡ชๅทฑ่ง‰ๅพ—ๆœ‰่ถฃ็š„ไนฆใ€‚
  • ๅกซ้ธญๅผ้˜…่ฏป๏ผŒไธบ็Ÿญๆ—ถ้—ดๅญฆไน ใ€ไบ†่งฃๆŸไธชๆŠ€่ƒฝๆˆ–ไธœ่ฅฟ๏ผŒ่€Œ้€‰ๆ‹ฉ็š„็ฑปไผผๅบ”่ฏ•ๆ•™่‚ฒ็š„ๆ–นๅผใ€‚
  • ๆตท็ปตๅผ้˜…่ฏป๏ผŒ็ป“ๅˆ่‡ช่บซ้‡ๅˆฐ็š„้—ฎ้ข˜้€š่ฟ‡้˜…่ฏปๅญฆไน ๆฅๆ‰พ็ญ”ๆกˆ๏ผŒๆˆ–้˜…่ฏปๅญฆไน ็š„่ฟ‡็จ‹ๅŸบไบŽไนฆไธญ็š„้˜่ฟฐๆฅ็ป“ๅˆๅฎž้™…ๆ็‚ผๅ‡บๅฏๆŒ‡ๅฏผๅฎž่ทต็š„โ€œๅฅ—่ทฏโ€ใ€‚

ๆˆ‘ไปฌๅนถไธ้œ€่ฆๅƒ่พฉ่ฎบ่ต›้‚ฃๆ ทไบ‰่ฎบใ€PK ๅ‡บไธŠ่ฟฐๅ“ช็งๆ–นๅผๅฅฝ๏ผŒๅ“ช็งๆ–นๅผไธๅฅฝใ€‚ๅ› ไธบๆฏ็งๆ–นๅผ้ƒฝๆœ‰ๅฏ่ƒฝใ€ๆˆ–ๅคšๆˆ–ๅฐ‘ๅŠฉๅŠ›ๆˆ‘ไปฌๆˆ้•ฟใ€‚ไปŽๅฎž่ทตๆ•ˆๆžœๆฅ็œ‹๏ผŒๆˆ–่ฎธๆตท็ปตๅผ้˜…่ฏปๆ˜ฏๅคงๅคšๆ•ฐไบบ่ฎคๅฏ็š„ๆ–นๅผ๏ผŒไฝ†ๆœ‰ไบ›้‡‡็”จ่‡ช็”ฑๅผ้˜…่ฏป็š„ไบบ็œŸ็š„ๅœจๆŸไบ›ๆ–น้ขๆฏ”้‡‡็”จๆตท็ปตๅผ้˜…่ฏป็š„ไบบไผ˜็ง€๏ผ›ไปŽๆ—ถ้—ด็ปดๅบฆๆฅ็œ‹๏ผŒๆฒกๆœ‰่‡ช็”ฑๅผใ€ๅกซ้ธญๅผ็š„้˜…่ฏป๏ผŒไนŸๅพˆ้šพ็›ดๆŽฅ่ฝฌๅ˜ไธบๆตท็ปตๅผ้˜…่ฏปใ€‚

ๅœจ็ฌ”่€…็œ‹ๆฅ๏ผŒๆˆ‘ไปฌ่ฆๅ…ณๆณจ็š„ไธๆ˜ฏๅ•้€‰้ข˜๏ผŒๆ˜ฏโ€œๅ…จ้ƒฝ่ฆโ€๏ผŒ่ฆๅญฆไผšๅœจไธๅŒ็š„ๅœบๆ™ฏไธ‹ๅˆ‡ๆขๅˆฐไธๅŒ็š„้˜…่ฏปๆ–นๅผใ€‚ๅณไฝฟๆ˜ฏๅŒไธ€ไธชไบบ๏ผŒไนŸๅฏๆ นๆฎไธๅŒ็š„ๅœบๆ™ฏใ€ไธๅŒ็š„ๆ—ถ้—ดๆฅๅˆ‡ๆขๅˆฐไธๅŒ็š„้˜…่ฏปๆ–นๅผใ€‚ๆ‰€ไปฅ๏ผŒ่ฟ™้‡Œๅ†ๅšไธ€ไธชๅคง่ƒ†ๅˆ็‹‚ๅฆ„ๅœฐ็š„่ฎบๆ–ญ๏ผšไธบไป€ไนˆๅพˆๅคšไบบ่ฏปไบ†ๅพˆๅคš็š„ไนฆ๏ผŒๅดไพๆ—ง่ฟ‡ไธๅฅฝ่ฟ™ไธ€็”Ÿ๏ผŸๅ› ไธบ็บตไฝฟไธ€ไธชไบบๆปก่…น็ป็บถ๏ผŒไฝ† TA ๆฒกๆœ‰ๆธ…ๆ™ฐ็š„่ฎคๆธ…้—ฎ้ข˜ๆœฌ่ดจ๏ผŒๅšไธๅˆฐๅญฆไปฅ่‡ด็”จไธŽ็Ÿฅ่กŒๅˆไธ€๏ผˆไนฆ็”Ÿ่ฏฏๅ›ฝไนŸๆ˜ฏ่ฟ™ไธช้“็†๏ผ‰ใ€‚

3ใ€่ฏปไนฆๅทฅๅ…ท้€‰ๆ‹ฉไธŽๅฎž่ทต โ€‹

ๅคงๅญฆๆ—ถไปฃ๏ผŒ่‡ชๆŽฅ่งฆไบ’่”็ฝ‘ๅŽ๏ผŒ็ฌ”่€…ไพๆ—งไผšไนฐไธ€ไบ›็บธ่ดจไนฆๆฅ็œ‹๏ผŒไฝ†ไนŸๅšไฟกโ€œไฟกๆฏๅŒ–โ€ๆ˜ฏๅคงๅŠฟๆ‰€่ถ‹๏ผŒไธ€ไธชๅคงๅญฆ็”Ÿๅœจๅญฆๅฅฝๆ•ฐๅญฆ็ญ‰ๅŸบ็ก€ๅญฆ็ง‘็š„ๅŸบ็ก€ไธŠ๏ผŒๅบ”่ฏฅ่Šฑไบ›็ฒพๅŠ›ๆฅๅญฆไน ไบ†่งฃไธ‹่ฎก็ฎ—ๆœบๆŠ€ๆœฏใ€‚็ปๅކ็–ซๆƒ…่ฟ™ไธ‰ๅนดๅŽ๏ผŒ็ฌ”่€…ๅ†ๆฌกๅšไฟก โ€œๆ•ฐๅญ—ๅŒ–โ€ ๆ˜ฏ็ปง โ€œๅ…จ็ƒๅŒ–โ€ ไน‹ๅŽ็š„ๅคงๅŠฟๆ‰€่ถ‹ใ€‚

ๅœจ้˜…่ฏปๅทฅๅ…ท็š„้€‰ๆ‹ฉๆ–น้ข็ฌ”่€…็ปๅކไบ†ไปฅไธ‹ๅ‡ ไธช้˜ถๆฎต๏ผš

  • ็บธ่ดจไนฆ => ไบ’่”็ฝ‘ไฟกๆฏ
  • ็บธ่ดจไนฆ + ไบ’่”็ฝ‘ไฟกๆฏ + Kindle ็”ตๅญไนฆ
  • ็บธ่ดจไนฆ + ไบ’่”็ฝ‘ไฟกๆฏ + ๅ›ฝๅ†…้˜…่ฏปAPP๏ผˆๅพฎไฟก้˜…่ฏปใ€่œ—็‰›่ฏปไนฆ็ญ‰๏ผ‰

็›ฎๅ‰๏ผŒโ€œ็บธ่ดจไนฆ + ๅพฎไฟก้˜…่ฏป + ไบ’่”็ฝ‘ไฟกๆฏโ€ๆˆไธบไบ†็ฌ”่€…ๆœ€็ปˆ้€‰ๆ‹ฉ็š„็ป„ๅˆๅทฅๅ…ทใ€‚ๅœจ 2021 ๅนดๅบ•๏ผŒ็ฌ”่€…่ฎคไธบๅพฎไฟก่ฏปไนฆๆŽจๅ‡บ็š„ๅนดๅบฆๆŠฅๅ‘Šไบงๅ“ๅทฒไธ่ถณไปฅๆ€ป็ป“่‡ชๅทฑๅœจ้˜…่ฏปๆ–น้ข็š„ๅ…จ่ฒŒ๏ผŒ่€Œไธ”ๅœจ้—ฒๆš‡็š„ๆ—ถๅ€™่ง‰ๅพ—่‡ชๅทฑๅœจ้˜…่ฏปๆ–น้ขไธๅคŸ็ณป็ปŸๅŒ–ใ€‚ๅ› ๆญค๏ผŒๅฐฑๅˆ›ๅปบไบ†ไธ€ไธชโ€œ้˜…่ฏปๅ‡†ๅˆ™่กจๆ ผโ€๏ผŒ็”จไบŽๆŒ‡ๅฏผ่‡ชๅทฑ็š„้˜…่ฏปๅฎž่ทตใ€‚่กจๆ ผไพๆ—ง้‡‡็”จไบ†ๅˆ†่งฃไธŽๆธ่ฟ›ๆ˜Ž็ป†็š„ๆ€่ทฏ๏ผš

  • ๆ˜Ž็กฎ่‡ชๅทฑๅฝ“ๅ‰็š„ๅฎšไฝ๏ผŒๅˆ’ๅˆ†ๅ‡บๅ››ไธชโ€œๅฎšไฝๅœ†ๅœˆโ€๏ผŒๅฏนๆฏไธชๅœ†ๅœˆ่ฟ›ไธ€ๆญฅๅˆ†่งฃ๏ผŒไปŽ่€Œๅˆ’ๅˆ†ๅ‡บๅ‡ ไธชๅˆ†็ฑป๏ผš
    • ๅทฅไฝœๆŠ€่ƒฝๅœˆ๏ผŒๅŒ…ๆ‹ฌ็ผ–็จ‹ๆŠ€ๆœฏๅญฆไน ใ€่Œไธšๅ‘ๅฑ•ๅญฆไน ใ€ไบ’่”็ฝ‘่กŒไธšไธŽ็ง‘ๆŠ€ ไธ‰็ฑป
    • ็”Ÿๆดป็Ÿญๆฟ่กฅๅ……ๅœˆ๏ผŒ็›ฎๅ‰ๅชๅŒ…ๆ‹ฌ่บซไฝ“ๅฅๅบทไธŽๅฑ…ๅฎถ่ฟ™ไธ€ไธชๅคง็ฑป
    • ไธชไบบ่ƒฝๅŠ›่กฅๅ……ๅœˆ๏ผŒๅŒ…ๆ‹ฌ็ปŸ่ฎกไธŽๆ•ฐๅญฆใ€็ปๆตŽไธŽ่ดข็ป็Ÿฅ่ฏ†ๅญฆไน  ไธค็ฑป
    • ไบบๆ–‡ๅ“ฒๆ€่ฐƒๅ‰‚ๅœˆ๏ผŒๅŒ…ๆ‹ฌๅ“ฒๆ€ไบบ็”Ÿใ€ๅކๅฒ่ฏป็‰ฉใ€ๆ–‡ๅญฆไธŽๅฐ่ฏด ไธ‰็ฑป
  • ไธบๆฏไธ€ไธชๅˆ†็ฑป้…ๅค‡ๅฏนๅบ”็š„้˜…่ฏปๅทฅๅ…ทไธŽๅฎž่ทตๅŽŸๅˆ™
็›ฎๆ ‡ๅˆฐ่ทต่กŒๆ€็ปดๆต็จ‹็คบๆ„ๅ›พ

4ใ€ๅฐ็ป“ โ€‹

ๅœจไธŠ่ฟฐโ€œ้˜…่ฏปๅ‡†ๅˆ™่กจๆ ผโ€็š„ๅๅŠฉไธ‹๏ผŒ้˜…่ฏปไธŽๅญฆไน ่ฟ™ไปถๅฐไบ‹ๅœจ็–ซๆƒ…ๆœŸ้—ดไนŸๅ˜ๅพ—ๆฏ”ไน‹ๅ‰ๆ˜Žๆ™ฐ่ตทๆฅ๏ผŒไธ”็”ฑไบŽ 2022 ๅนด้ข‘็นๅฑ…ๅฎถ๏ผŒ่Š‚็œไธ‹ๆฅ็š„ๆ—ถ้—ดไนŸๅฐฑๅคšไบ†๏ผŒ็ฌ”่€…ๅธŒๆœ›่ƒฝ็ปง็ปญๅ‘็€โ€œๆž„ๅปบ่‡ชๅทฑ็š„ๅฟƒๆ™บๆจกๅž‹โ€่ฟ™ไธชๆ–นๅ‘ๅฎž่ทตไธ‹ๅŽปใ€‚

้˜…่ฏปไธŽๅญฆไน ่ฟ™ไธช่ฏ้ข˜ๅˆฐๆญคไนŸๅŸบๆœฌๆผซ่ฐˆๅฎŒไบ†๏ผŒๅฏน่ฟ™ไธช่ฏ้ข˜ๆˆ–้˜…่ฏปๅทฅๅ…ทๆ„Ÿๅ…ด่ถฃ็š„ๆœ‹ๅ‹ๅฏไปฅ็œ‹ไธ‹ๅ‡ฏๆ–‡ๅ‡ฏๅˆฉๅœจๅ‡ ๅนดๅ‰ๅ†™็š„ใ€Šๅฟ…็„ถใ€‹่ฟ™ๆœฌไนฆ๏ผˆ็ฌ”่€…ๅšไฟก๏ผŒๅพฎไฟก่ฏปไนฆ่ฟ™ไธชไบงๅ“ๅœจๅ‘ๅฑ•็š„่ฟ‡็จ‹ไธญ๏ผŒๅ…ถๅ›ข้˜Ÿไธญ่‚ฏๅฎšๆœ‰ไบบ่ฏป่ฟ‡่ฟ™ๆœฌไนฆ๏ผ‰ใ€‚ๅฝ“็„ถ๏ผŒๅฆ‚ๆžœไธ่ง‰ๅพ—็ฌ”่€…ๅœจๅšๅนฟๅ‘Š๏ผŒไนŸๅฏ็œ‹ไธ‹็ฌ”่€…ๆฏ•ไธšๅ‰็•™ไธ‹็š„ไธค็ฏ‡็›ธๅ…ณๆ–‡็ซ ๏ผš

ๆผซ่ฐˆๆ—ถ้—ด็ฎก็† โ€‹

1ใ€ๆ—ถ้—ดไธๅคŸ็”จ้—ฎ้ข˜ โ€‹

ๆ—ถ้—ดๆ˜ฏๆˆ‘ไปฌๅœจ่ฟ™ไธชไธ–็•ŒไธŠๆœ€ไผ˜่ดจๅ’Œๅ…ฌๅนณ็š„่ต„ไบง๏ผŒๅฏๅฎƒไนŸ่ƒฝๆ˜ฏ่ฎฉไบบๅœจๅ…ถ้ขๅ‰ๆœ€ๆ— ๅฅˆใ€‚ๅ› ๆญค๏ผŒๅฆ‚ไฝ•ๅˆฉ็”จใ€็ฎก็†่‡ชๅทฑ็š„ๆ—ถ้—ดไนŸๆˆไธบไบ†ๆฏไธชไบบ็š„ๅฟ…ไฟฎ่ฏพใ€‚

่บซๅค„ๆ—ถ้—ด็ขŽ็‰‡ๅŒ–ใ€่ง’่‰ฒๅคšๅ…ƒๅŒ–็š„็คพไผš๏ผŒๆˆ‘ไปฌ็š„ๆ—ถ้—ดๅ˜ๅพ—่ถŠๆฅ่ถŠ็ขŽ๏ผŒๆฏไธช่ง’่‰ฒ่ƒŒๅŽไนŸ้ƒฝๆœ‰ไธ€ๅ †็็ขŽ็š„ไบ‹ไธๆ–ญๆถŒ่ฟ›ๆฅใ€‚ๅพˆๅคšไบบ่ง‰ๅพ—ๆ—ถ้—ด็ฎก็†ใ€ๆ—ถ้—ดไธๅคŸ็”จๆ˜ฏ่€็”Ÿ้•ฟ่ฐˆ็š„่ฏ้ข˜๏ผŒ่บซ่พนๅ……ๆ–ฅ็€่ฎฒ่ฟ™ไธชๆ–น้ข็š„ไบบๅ’Œไนฆ๏ผŒไฝ†ๆฒกๆœ‰ๅคšๅฐ‘ๅฎž้™…็š„็”จๅค„ใ€‚็ฌ”่€…ๆ›พ่ฏ•ๅ›พๅˆ†ๆž่ฟ‡่ฟ™ไธช็Žฐ่ฑก๏ผŒๆœ€็ปˆๆ€ป็ป“ๅ‡บๆฅ็š„ไธป่ฆๅŽŸๅ› ๆœ‰ 3 ไธช๏ผš

  • ๅณไพฟ่ฏป้ๅ…จๅคฉไธ‹ๅ…ณไบŽๆ—ถ้—ด็š„ไนฆ๏ผŒ้่ฎฟไบ†ๅ…จๅคฉไธ‹ๆœ‰็›ธๅ…ณ็ป้ชŒ็š„ไบบใ€‚ๅช่ฆไธๅŽป่กŒๅŠจ๏ผŒๅฐฑๆ˜ฏ็™ฝ่ดนๅŠŸๅคซ๏ผŒไธŽๅ…ถ่ฟ™่ˆฌๅŠชๅŠ›๏ผŒไธๅฆ‚่บบๅนณใ€‚
  • ๆฏไธชไบบ้‡ๅˆฐ็š„้—ฎ้ข˜ๅ’Œ่ฎพๅฎš็š„็›ฎๆ ‡ไธๅŒ๏ผŒ้‡‡็”จ็š„ๅค„็†ๆ–นๅผ่‡ช็„ถไนŸไธๅŒ๏ผŒๆœ‰ไบ›ไบบ็š„ๆ€ป็ป“ๆœชๅฟ…้€‚ๅˆ่‡ชๅทฑ๏ผŒๆ‹ฟๆฅๅ€Ÿ้‰ดไนŸๆœชๅฟ…่ƒฝ่ตทๅˆฐๅคšๅฐ‘ๆ•ˆๆžœใ€‚
  • ่ฐƒๆ•ดๅŽ็š„ๆ•ˆๆžœ้œ€่ฆๆ—ถ้—ดๆฅ่ฏๆ˜Ž๏ผŒๅœจๆฒกๆœ‰็œ‹ๅˆฐๆ•ˆๆžœๅ‰ๅคงๅคšๆ•ฐไบบ้ƒฝๅฎนๆ˜“ๆ”พๅผƒใ€‚ๅณไฝฟ็œ‹ๅˆฐไบ†็ŸญๆœŸ็š„ๆ•ˆๆžœ๏ผŒๅช่ฆ่งฃๅ†ณไบ†ๅฝ“ๅ‰ๆฃ˜ๆ‰‹็š„้—ฎ้ข˜๏ผŒๅพˆๅฐ‘ๆœ‰ไบบไผš้€‰ๆ‹ฉ็ปง็ปญไฟๆŒใ€‚

ๅˆšๅฅฝๅœจ็–ซๆƒ…่ฟ™ไธ‰ๅนด๏ผŒ็ฌ”่€…ๆœ‰ๆœบไผšๅŸบไบŽ้‡ๅˆฐ็š„้—ฎ้ข˜๏ผŒๅœจ่ฟ™ๆ–น้ขๅฐ่ฏ•ๆ”นๅ–„ไบ†ไธ‹ใ€‚้‡ๆ–ฐๆ‹ฅๆœ‰ๅฅๅบท็š„่บซไฝ“ๅŽ๏ผŒๆœ‰ๅ‡ ไธช้šพ้ข˜ๆ‘†ๅœจไบ†็ฌ”่€…้ขๅ‰๏ผš

  • ้š็€ๅทฅไฝœๅนด้™ๅ’Œ้˜…ๅކ็š„ๅขžๅŠ ๏ผŒ้œ€่ฆไพ่ต–ๅ‘็Žฐใ€ๅˆ†ๆžๅŽๆ‰่ƒฝๆธ…ๆ™ฐ็š„้—ฎ้ข˜ๅ’Œไบ‹ๅŠก็›ธ่พƒไน‹ๅ‰ๅ ๆฏ”ๅคšไบ†๏ผŒๅŽ‹ๅŠ›ไนŸ้šไน‹ไธŠๅ‡๏ผŒๆ—ถ้—ดๅ˜ๅพ—ๆ˜Žๆ˜พไธๅคŸ็”จใ€‚
  • ๅˆ็†็š„้ฅฎ้ฃŸใ€ๅฅๅบท็š„่บซไฝ“ใ€ๆฏ”่พƒๆœ‰่ง„ๅพ‹็š„ไฝœๆฏ่ขซๅˆ—ไธบๅคด็ญ‰ๅคงไบ‹๏ผŒๆœ‰ไบ›ๅฎž่ทต้œ€่ฆๆ—ถ้—ด่ฝๅœฐ๏ผŒๆœ‰ไบ›ๆ”นๅ˜้œ€่ฆไพ่ต–ๆ—ถ้—ดๆ‰่ƒฝๆœ‰ๆ•ˆๆžœ
  • ้‡ๆ–ฐๆ‹ฅๆœ‰ๅฅๅบท็š„่บซไฝ“ๅŽ๏ผŒ็ฌ”่€…ไธไฝ†ๆƒณๅœจๅทฅไฝœๆ–น้ขๅคšๅšไบ›ๆญฃ็กฎ็š„ไบ‹๏ผŒ่ฟ˜ๆƒณๅœจไธบๆ•ฐไธๅคš็š„ไธšไฝ™ๆ—ถ้—ดๆŽจๅŠจโ€œ่ฏปไนฆไธŽๅญฆไน โ€่ฟ™ไปถๅฐไบ‹๏ผŒ้€š่ฟ‡ๆž„ๅปบ็จณๅฅ็š„ๅฟƒๆ™บๆจกๅž‹ๆฅๅบ”ๅฏนไธ็จณๅฎš็š„ๅคง็Žฏๅขƒใ€‚

็ฌ”่€…็›ธไฟก๏ผŒๆœ‰่ฟ‡็ฑปไผผ็ปๅކ็š„ไบบ่‚ฏๅฎš่ƒฝๆ›ดๆ˜Ž็™ฝๅ…ถไธญ็š„็Ÿ›็›พไธŽ้…ธๆฅš๏ผŒ้ขๅฏนๅพˆๅคšไปถๆŠขๅ ๆ—ถ้—ด่ต„ๆบ็š„ไบ‹ๅŠก๏ผŒๅˆไธๅพ—ไธ้€ผ็€่‡ชๅทฑๆƒณๆ–น่ฎพๆณ•ๆ‰พๅˆฐ่งฃๅ†ณๅŠžๆณ•๏ผŒ็œŸ็š„่›ฎๆœ‰ๅŽ‹ๅŠ›็š„ใ€‚ๅฝ“็„ถ๏ผŒ่บบๅนณๅ’Œๆ‘†็ƒ‚ๆ˜ฏไธ€็งๆ–นๅผ๏ผŒๅฏไบบ่บบไน…ไบ†ไนŸไผšไธ่‡ช่ง‰ๅœฐๆƒณ่ฆๅฐ่ฏ•็ช็ ดไธ€ไธ‹ๅฑ€้™๏ผŒไธŽๅ…ถ่ฎฉ้—ฎ้ข˜ไธŽ็Žฏๅขƒๅ€’้€ผ่‡ชๅทฑๆ”นๅ˜๏ผŒไธๅฆ‚่‡ชๅทฑๆ€ๅ˜ใ€‚

2ใ€ๅˆ†้˜ถๆฎต่ฐƒๆ•ดๆ—ถ้—ด็ฎก็† โ€‹

็ฌฌไธ€้˜ถๆฎต๏ผš็–ฏ็‹‚ๅšๅ‡ๆณ•๏ผŒไธ“ๆณจ้‡่ฆ็š„ไบ‹ โ€‹

ไธๆŽจ่็š„ไธฅๆ ผๆ—ถ้—ด่กจ๏ผŒๅฝขๅฆ‚ 7:20-7:50 ่ตทๅบŠใ€ๆด—ๆผฑ๏ผ›7:50-8:30 ้”ป็‚ผ่บซไฝ“๏ผ›8:20-8:50: ๅƒๆ—ฉ้ฅญ...... ่ฟ™ๆ ท็ฎ€ๅ•ๅœฐๆŠŠไธ€ๅคฉๆ—ถ้—ดๅˆ†ไธบ็บฟๆฎต็š„ไฝœๆฏๆ—ฅ็จ‹่กจ.

๏ผˆ1๏ผ‰ไธขๅผƒไธ้ ่ฐฑ็š„ไธฅๆ ผๆ—ถ้—ด่กจ๏ผŒไธบ่‡ชๅทฑๅ‡ๅŽ‹

  • ๆ™ฎ้€šไบบๅ‹คๅฅ‹ไบ›ๆ˜ฏๅฏน็š„๏ผŒไฝ†้€ผ็€่‡ชๅทฑๆ‰ง่กŒโ€œไธฅๆ ผๆ—ถ้—ด่กจโ€ๅชไผš่ฎฉ่‡ชๅทฑๅ˜ๅพ—ๆ›ดๅŠ ็„ฆ่™‘ใ€‚
  • ่ถŠๆ˜ฏๅŠชๅŠ›ๅœฐๆ‰ง่กŒไธฅๆ ผ็š„ๆ—ถ้—ด่กจ๏ผŒๅฐฑ่ถŠไฝ“ไผšๅˆฐๆŒซ่ดฅๆ„Ÿใ€็„ฆ่™‘ๆ„Ÿ๏ผŒๆˆ‘ไปฌไธ่ฏฅ็”จ็†ๆƒณๅŒ–็š„ๆ–นๆณ•่ฆๆฑ‚่‡ชๅทฑใ€‚

๏ผˆ2๏ผ‰้‡ๆ–ฐ็†่งฃไธŽๅบ”็”จโ€œๆ—ถ้—ดๅ››่ฑก้™โ€

  • ไฝฟ็”จๆธ…ๅ• List ๆฅ็ฎก็†ไบ‹ๅŠกใ€‚ๅŸบไบŽไบ‹ๅŠก็š„้‡่ฆ็จ‹ๅบฆ๏ผŒๅˆปๆ„ๅฟฝ็•ฅไธ้‡่ฆ็š„ไบ‹๏ผŒๅณ็ดงๆ€ฅไธ้‡่ฆๅ’Œไธ็ดงๆ€ฅไธ้‡่ฆ็š„ไบ‹ๅŠก๏ผˆๅนฒๆމ็ดงๆ€ฅไธ้‡่ฆ็š„ไบ‹ๅŠกๆœ‰็‚น่ฟ‡ไบŽๆšดๅŠ›๏ผŒไนŸๅฎนๆ˜“่ขซๅˆซไบบ่ฏฏ่งฃใ€‚ไฝ†็”ฑไบŽ็ฌ”่€…ๅœจ็ฌฌไธ€้˜ถๆฎต่ฟ˜ๅค„ไบŽๆ•‘็ซ้˜ถๆฎต๏ผŒไผšๆฏ”่พƒ็‹ ๏ผ‰
  • ้”™ๅผ€ๅคงไผ—ไธŠ็ญ้ซ˜ๅณฐๆ—ถ้—ด๏ผŒไธŠๅˆ็ป™่‡ชๅทฑ้ข„็•™ 2.5 ๅฐๆ—ถ็š„ๆ— ๅนฒๆ‰ฐๆ—ถ้—ดใ€‚ๅŠๅฐๆ—ถ็”จไบŽๅฅ่บซ๏ผŒ1.5 ๅฐๆ—ถ็”จไบŽๅค„็†้‡่ฆไธ็ดงๆ€ฅ็š„ไบ‹
  • ๆญฃๅธธๅทฅไฝœๆ—ถ้—ดๅค„็†้‡่ฆไธ”็ดงๆ€ฅ็š„ไบ‹๏ผŒๅฐฝๆœ€ๅคงๅŠชๅŠ›ๅฐ†้‡่ฆไธ”็ดงๆ€ฅ็š„ไบ‹ๅŠกๅฟซ้€Ÿๅนฒๆމ๏ผŒๅนถๅฐฝๆœ€ๅคงๅŠชๅŠ›้ฟๅ…้‡่ฆไธ็ดงๆ€ฅ็š„ไบ‹ๅŠกๆผ”ๅ˜ไธบ้‡่ฆไธ”็ดงๆ€ฅ็š„ไบ‹ๅŠก

๏ผˆ3๏ผ‰้‡ๆ–ฐ่ฐƒๆ•ดๅ‘จๆœซๆ—ถ้—ด

  • ๅ‘จๅ…ญๆ— ้‡่ฆไบ‹ไธ็บฆไธ้€›๏ผšๅ‘จๅ…ญไธŠๅˆ้ข„็•™็ฝ‘ไธŠๅ†ฒๆตชๅ’Œ้˜…่ฏปๆ–‡็ซ ๅ……็”ตๆ—ถ้—ด๏ผŒๅ‘จๅ…ญไธ‹ๅˆ้ข„็•™ๅฅ่บซๆ—ถ้—ด
  • ๅ‘จๆ—ฅไธŠๅˆ้šๆ„๏ผŒไธ‹ๅˆไธŽๆ™šไธŠ้ข„็•™ๅ‡บ้˜…่ฏปไธŽๅญฆไน ๆ—ถ้—ด

ๅœจ่ฟ™็งโ€œๅฟซๅˆ€ๆ–ฉไนฑ้บปโ€ๅผ็š„ๆ“ไฝœไธ‹๏ผŒ่ฟ‘ๅฐๅŠๅนดๅŽ็ฌ”่€…ๅ‘็Žฐ่‡ชๅทฑๅœจๅทฅไฝœๆ–น้ขไธ้‚ฃไนˆๅƒๅ››ๅค„็ญ็ซ็š„โ€œๆ‰ๆ€ฅ็Šถๆ€โ€ไบ†ใ€‚ๅฅๅบทใ€่ฏปไนฆไธŽๅญฆไน ไธคๆ–น้ข็š„ไน ๆƒฏๅพ—ไปฅไฟไฝ๏ผŒ่™ฝ็„ถไฝ“้‡ๅ˜ๅŒ–ๅญ˜ๅœจๅฐ่Œƒๅ›ดๆณขๅŠจ๏ผŒไฝ†ๅฅ่บซๅ‡่‚ฅ็š„่ƒœๅˆฉๆžœๅฎžไนŸ่ขซๅทฉๅ›บไฝไบ†ใ€‚

็ฌฌไบŒ้˜ถๆฎต๏ผšๅ‡็บงๆธ…ๅ•็ฎก็† โ€‹

ๅœจ่ฟ™ไธช้˜ถๆฎต๏ผŒ้‰ดไบŽ็ฌ”่€…็œ‹ไบ†ไธ€ไบ›ๆ—ถ้—ด็ฎก็†็›ธๅ…ณ็š„ไนฆ๏ผŒๆฏ”ๅฆ‚ใ€Šๅ“ˆไฝ›ๆ—ถ้—ด็ฎก็†่ฏพใ€‹ใ€ใ€Šๅ“ช้‡Œๆฒกๆœ‰ๆ—ถ้—ดใ€‹็ญ‰ไนฆใ€‚็ป“ๅˆ่‡ชๅทฑๅœจ็ฌฌไธ€้˜ถๆฎต็š„้—ฎ้ข˜๏ผŒๅ†ณๅฎšๅœจ็ฌฌไบŒ้˜ถๆฎตๅฏนๆธ…ๅ•่ฟ›่กŒๆ”นๅ–„ใ€‚ๆธ…ๅ•ๆ˜ฏไธชๅฅฝไธœ่ฅฟ๏ผŒ่ƒฝ็”จๆฅๆขณ็†ใ€ๅˆ†ๆž่‡ชๅทฑ็š„ๆ—ถ้—ดๅˆฉ็”จๆ˜ฏๅฆ็ฌฆๅˆ้ข„ๆœŸ๏ผŒๆœ‰ๅŠฉไบŽไฝฟ็”จ่€…ไธๆ–ญๆ€่€ƒๅฆ‚ไฝ•ๅฐ†ๆ—ฅๅธธไปปๅŠกๅš็š„ๆ›ดๅฅฝใ€‚ๅˆ—ๅ‡บๆฅๆธ…ๅ•ๅŽ่ƒฝ้™ไฝŽ็”š่‡ณ้ฟๅ…็„ฆ่™‘๏ผŒๅ› ไธบๅœจๆ‰ง่กŒๆ—ถไธๆ˜ฏไปŽๅคง่„‘ไธญๆๅ–๏ผŒ่€Œๆ˜ฏไปŽๆธ…ๅ•ไธญ่ฏปๅ–ใ€‚

ๅœจๅ‡็บงๆธ…ๅ•็ฎก็†ๅ‰๏ผŒ็ฌ”่€…ๅชๆœ‰ไธ€ไธชไธป่ฆ็”จๆฅ็ฎก็†ๅทฅไฝœ็›ธๅ…ณไบ‹ๅŠก็š„ๆธ…ๅ•๏ผŒไธšไฝ™ๆ—ถ้—ดๆ˜ฏๆฒกๆœ‰ๆธ…ๅ•็ฎก็†็š„ใ€‚ไฝ†้š็€ๅฅๅบทไธŽไธšไฝ™่‡ชๆˆ‘ๅ……็”ต็›ธๅ…ณ็š„ๆŠ•ๅ…ฅๅŠ ๅคง๏ผŒๅ‡็บงๆธ…ๅ•็ฎก็†ๆœ‰ไบ†ไธ€ๅฎš็š„ๅฟ…่ฆๆกไปถใ€‚ๅ‡็บงๆธ…ๅ•็ฎก็†็š„ไธป่ฆๆ€่ทฏไพๆ—ง่ฟ็”จไบ†ๅˆ†่งฃไธŽๆธ่ฟ›ๆ˜Ž็ป†๏ผŒๅฐ†ๆธ…ๅ•ๅˆ†ไธบ๏ผš็ขŽ็‰‡ๆธ…ๅ•ใ€ๅทฅไฝœๆ—ฅ-ๆ—ฅๅธธๆธ…ๅ•ใ€ๅ‘จๆœซ-ๆ—ฅๅธธๆธ…ๅ•ไธ‰็ฑป๏ผš

  • ็ขŽ็‰‡ๆธ…ๅ•๏ผš

  • ไฝœไธบๅคง่„‘็š„็ผ“ๅ†ฒๆฑ ่€Œๅญ˜ๅœจ๏ผŒๆ”ถ้›†ๅคง่„‘ๅŸบไบŽๅฎข่ง‚ๅ› ็ด ๆˆ–ไธป่ง‚ๆ€็ปช่€Œไบง็”Ÿ็š„ไบ‹ๅŠก๏ผˆไธๅŒบๅˆ†ไผ˜ๅ…ˆ็บง๏ผŒไธๅŒบๅˆ†ไบ‹ๅŠกๅคงๅฐ๏ผ‰ใ€‚ๆŠŠไบ‹ๅŠกไธข่ฟ›็ขŽ็‰‡ๆธ…ๅ•็š„็›ฎ็š„ๆ˜ฏ่ฆๅœจๅ…ถไป–ๅˆ้€‚็š„ๆ—ถ้—ดๅ†ๅŽปๆ€่€ƒๅฎƒใ€ๅค„็†ๅฎƒ๏ผŒๅŒๆ—ถไฟๆŒๅฝ“ไธ‹ๆ—ถ้—ด็š„ไธ“ๆณจใ€‚

  • ็ขŽ็‰‡ๆธ…ๅ•ๆ˜ฏๅฆๅค–ไธคไธชๆธ…ๅ•็š„ไธป่ฆ่พ“ๅ…ฅ๏ผŒๅปบ็ซ‹็ขŽ็‰‡ๆธ…ๅ•๏ผŒ้œ€่ฆๅ…ปๆˆๆฏๅคฉๆŠŠ็ขŽ็‰‡ๅŠๆ—ถ่ฃ…่ฟ›ๆ—ฅๅธธๆธ…ๅ•็š„ไน ๆƒฏ

  • ๅˆ ้™ค้•ฟๆ—ถ้—ดๆฒกๆœ‰่ขซ่ฟ็งปไธ”ๆธ่ฟ›ๆ˜Ž็ป†ๅˆฐๆ—ฅๅธธๆธ…ๅ•็š„ไบ‹ๅŠก

  • ๆ—ฅๅธธๆธ…ๅ•(ๅทฅไฝœๆ—ฅ)๏ผš

  • ็”จไบŽๆ”ถ้›†ๅทฅไฝœๆ—ฅ็š„ๆ—ฅๅธธไบ‹ๅŠก๏ผŒๅ…ถ่พ“ๅ…ฅไธป่ฆๆฅ่‡ช็ขŽ็‰‡ๆธ…ๅ•ๆˆ–ไธดๆ—ถๅŠ ่ฟ›ๆฅ็š„้‡่ฆไธ”็ดงๆ€ฅไบ‹ๅŠกใ€‚

  • ๆ—ฅๅธธๆธ…ๅ•ๆ”ถ้›†ไบ‹ๅŠกไธ่ƒฝ็…งๆฌ็ขŽ็‰‡ๆธ…ๅ•๏ผŒ่€Œๆ˜ฏ็ขŽ็‰‡ๆธ…ๅ•็š„ๅ†ๆฌกๅˆ†่งฃไธŽๆธ่ฟ›ๆ˜Ž็ป†ใ€‚่ฟ›ๅ…ฅๆ—ฅๅธธๆธ…ๅ•็š„ไปปๅŠกๅฟ…้กปๆœ‰ๅญไปปๅŠกๆˆ–ๅ…ณ้”ฎๆญฅ้ชค๏ผŒไธ”ๅŸบไบŽๅ†ๆฌกๅˆ†่งฃ็š„็ป“่ฎบๆ ‡ๅ‡บ้ข„ไผฐ่€—ๆ—ถใ€‚

  • ๆ—ฅๅธธๆธ…ๅ•(ๅ‘จๆœซ)๏ผš

  • ็”จไบŽๆ”ถ้›†ๅ‘จๆœซ็š„ๆ—ฅๅธธไบ‹ๅŠก๏ผŒๅ…ถ่พ“ๅ…ฅไธป่ฆๆฅ่‡ช็ขŽ็‰‡ๆธ…ๅ•๏ผŒไผ˜ๅ…ˆๅฏนๅฅๅบทใ€่ฏปไนฆไธŽๅญฆไน ็›ธๅ…ณ็š„ไบ‹ๅŠก๏ผ›ๆฌกไผ˜ๅ…ˆๆŽ’ๆ—ฅๅธธ่ตทๅฑ…ใ€่ดญ็‰ฉ็ญ‰ไบ‹ๅŠกใ€‚

  • ๆ—ฅๅธธๆธ…ๅ•ๆ”ถ้›†ไบ‹ๅŠกไพๆ—งไธ่ƒฝ็…งๆฌ็ขŽ็‰‡ๆธ…ๅ•๏ผŒ่€Œๆ˜ฏๅ†ๆฌกๅˆ†่งฃๅ’Œๆธ่ฟ›ๆ˜Ž็ป†็ขŽ็‰‡ๆธ…ๅ•ใ€‚่ฟ›ๅ…ฅๅ‘จๆœซๆ—ฅๅธธๆธ…ๅ•็š„ไปปๅŠกๅฟ…้กปๅŒ…ๅซๅญไปปๅŠกๅ’Œๅ…ณ้”ฎๆญฅ้ชค๏ผŒไธ”ๅŸบไบŽๅ†ๆฌกๅˆ†่งฃ็š„็ป“่ฎบๆ ‡ๅ‡บ้ข„ไผฐ่€—ๆ—ถใ€‚

ๅฐฑ่ฟ™ๆ ท๏ผŒๅ‡็บงๅŽ็š„ไธ‰ไธชๆธ…ๅ•่ฟ›ไธ€ๆญฅไผ˜ๅŒ–ไบ†็ฌ”่€…็š„ๆ—ถ้—ดใ€‚ๆŒ็ปญๅ‡ ไธชๆœˆๅŽ๏ผŒ็ฌ”่€…ไนŸๆ…ขๆ…ขๅ˜ๅพ—ๆ•ขไบŽๅ†ณๆ–ญ๏ผŒๅ“ชๆ€•ๅ†ณๆ–ญ้”™ไบ†ไนŸ่ฆๅนฒใ€‚ๅ› ไธบๆ”นๅ˜่ฏด่ตทๆฅๅฎนๆ˜“ๅš่ตทๆฅ้šพ๏ผŒๅฆ‚ๆžœๅœจๅš็š„่ฟ‡็จ‹ไธญ่ฟ˜ๆƒงๆ€•้”™ไบ†๏ผŒ้‚ฃๅช่ƒฝๆ˜ฏ่ขซๆŸ็ผšๅพ—ๅ„็งไธ้€‚๏ผŒๆ”นๅ˜ไนŸๅฐฑๅพˆๅฏ่ƒฝๅคญๆŠ˜ใ€‚

็ฌฌไธ‰้˜ถๆฎต๏ผšๅˆปๆ„็ปŸ่ฎกๅนถ่ฐƒๆ•ดๆ—ถ้—ด โ€‹

็ปๅކไบ†ๅ‰ไธคไธช้˜ถๆฎต็š„ๆ”นๅ˜๏ผŒๆŸๅคฉ๏ผŒ็ฌ”่€…ๅœจๅจฑไน็š„ๆ—ถๅ€™ๅˆšๅฅฝ็œ‹ๅˆฐๆœ‰ไธช UP ไธปๅœจ่ฎฒ โ€œ่ฟ›ๅ…ฅไบบๅทฅๆ™บ่ƒฝๆ—ถไปฃๅŽ๏ผŒไบบ่ฆๆ€Žไนˆๅšๆ‰่ƒฝๆ—ขไธๅคฑไธš๏ผŒ่ฟ˜่ƒฝๆดป็š„ไธ้”™โ€ใ€‚้‰ดไบŽ็ฌ”่€…็ปŸ่ฎกๅˆ†ๆž็š„ๆ„่ฏ†ๅทฒ็ปๅปบ็ซ‹่ตทๆฅ๏ผˆ็ปŸ่ฎกๅญฆไธŽๆ•ฐๅญฆ็Ÿฅ่ฏ†ๅบ”็”จไพๆ—งๅญ˜ๅœจ็Ÿญๆฟ๏ผ‰๏ผŒๆ‰€ไปฅ็ฌ”่€…ๅ†’ๅ‡บไบ†ไธ€ไธชๆƒณๆณ•๏ผšUP ไธปๅˆ—ๅ‡บ็š„่ฟ™ไธชไธœ่ฅฟๅฏ่ƒฝๅฐฑๆ˜ฏๅฝ“ไธ‹่‡ชๅทฑๆฒกๆœ‰ๆขณ็†่ฟ‡็š„ๆ—ถ้—ดๅˆ†้…ๅ‡†ๅˆ™ใ€‚

ๅบŸ่ฏไธๅคš่ฏด๏ผŒ่ฟ™้‡Œ็›ดๆŽฅ่ดดๅ‡บ UP ไธป็ป™ๅ‡บ็š„ๆ—ถ้—ดๆถˆ่€—ๅปบ่ฎฎ๏ผŒไนŸๆ˜ฏ็ฌ”่€…ๅœจ็ฌฌไธ‰้˜ถๆฎต็š„ๆ—ถ้—ด็ปŸ่ฎกไธŽ่ฐƒๆ•ดๅ‡†ๅˆ™๏ผŒๅ…ทไฝ“ๅฆ‚ไธ‹ๅ›พ๏ผš

ๅฝ“ๅ‰ๆ—ถ้—ดๆถˆ่€—็Žฐ็Šถๆ—ถ้—ด่ฐƒๆ•ดๅปบ่ฎฎ

ๅ› ๆญค๏ผŒ็ฌ”่€…็ป“ๅˆๅ‡†ๅˆ™ๅ’Œ่‡ชๅทฑๅœจ็ฌฌไธ€ใ€ไบŒ้˜ถๆฎตๆฒ‰ๆท€ไธ‹ๆฅ็š„ๆ—ถ้—ดๅˆ†้…ๆƒ…ๅ†ต๏ผŒๆ•ดๅ‡บไบ†ไธ€ไธช็ฒ—็ณ™็š„ๆ—ถ้—ด็ปŸ่ฎกใ€‚ๆ•ดไธชๆ—ถ้—ด็ปŸ่ฎก้‡‡็”จไบ†็”ฑๅฑ€้ƒจๅˆฐๆ•ดไฝ“็š„ๆ–นๅผ๏ผš

ไผ˜ๅ…ˆ็ปŸ่ฎกๅทฅไฝœๆ—ฅๆ—ฉไธŠ่‡ณๅˆไผ‘่ฟ™ๆฎตๆ—ถ้—ด็š„ๅˆ†้…๏ผŒๅŸบไบŽ็ปŸ่ฎกๆƒ…ๅ†ต่ฐƒๆ•ดๆ—ถ้—ด๏ผ›็„ถๅŽ็ปŸ่ฎกๅนถ่ฐƒๆ•ดๅˆไผ‘ใ€ไธ‹ๅˆๅ’Œๆ™šไธŠ็ญ‰ๆ—ถ้—ด็š„ๅˆ†้… ไปฅๆญค็ฑปๆŽจ๏ผŒๆฌกไผ˜็ปŸ่ฎกๅนถ่ฐƒๆ•ดๅ‘จๆœซๆ—ถ้—ด็š„ๅˆ†้…๏ผˆไธบ้ฟๅ…่‡ชๅทฑๅ˜ๆˆๆœ‰ๅผบ่ฟซ็—‡็š„ไบบ๏ผŒๅ‘จๆœซ่ฐƒๆ•ดๆฒกๆœ‰ๅทฅไฝœๆ—ฅๆ‹†่งฃ็š„็ป†๏ผŒไธบ่‡ชๅทฑ้ข„็•™ไธ€ไบ›ๆŒฅ้œ็š„่‡ช็”ฑ๏ผ‰ ็ฌ”่€…่ฟ™้‡Œ็ป™ๅ‡บ็ปŸ่ฎกไธŽ่ฐƒๆ•ด็คบๆ„ๅฆ‚ไธ‹๏ผš

ๅทฅไฝœๆ—ฅๆ—ฉไธŠ่‡ณไธŠ็ญๅ‰ๆ—ถ้—ด็ปŸ่ฎกไธŽ่ฐƒๆ•ดๅˆไผ‘ๆ—ถ้—ด็ปŸ่ฎกไธŽ่ฐƒๆ•ด

่‡ณๆญค๏ผŒๅˆปๆ„็ปŸ่ฎกไธŽ่ฐƒๆ•ด้˜ถๆฎต็š„้˜ถๆฎตไนŸๆผซ่ฐˆๅฎŒไบ†ใ€‚็ฌ”่€…ๅœจ่ฟ™ไธ€้˜ถๆฎต่ฟ˜ๆŒบ่ง‰ๅพ—ๆœ‰ๆˆๅฐฑๆ„Ÿ็š„๏ผŒๅ› ไธบ็ปˆไบŽๆœ‰ๆœบไผšๅœจๅทฅไฝœไน‹ๅค–ๅˆ็บงๅˆ็ฒ—็ณ™ๅœฐ่ฟ็”จไบ†็ปŸ่ฎกๅญฆๅˆ†ๆž๏ผŒๅพˆๅฅฝๅœฐ้ผ“ๅŠฑ่‡ชๅทฑๅœจ็ปŸ่ฎกๅญฆๅˆ†ๆžๆ–น้ข็ปง็ปญๅŠ ๅคงๆŠ•ๅ…ฅๅŠ›ๅบฆใ€‚

ๆผซ่ฐˆๆททๅˆๅทฅไฝœๅˆถ โ€‹

ไนฆๆŽฅไธŠๆ–‡๏ผŒๅฆ‚ๆžœ่ฏดๆ—ถ้—ด็ฎก็†ๅ…ถๅฎžๅฐฑๆ˜ฏๅฏนๆ—ถ้—ด่ฟ™ไธ€ไธช็ปดๅบฆ่ฟ›่กŒๅˆ‡ๅ‰ฒ๏ผŒ็„ถๅŽๆŠŠๅทฅไฝœไธŽ็”Ÿๆดปไธญ็š„ไบ‹ๅŠกๅกซๅ……่ฟ›ๅŽป๏ผŒ้‚ฃไนˆๆททๅˆๅทฅไฝœๅˆถๅฐฑๆ˜ฏๅŸบไบŽ็‰ฉ็†็ฉบ้—ดๅ’Œๆ—ถ้—ด่ฟ™ไธคไธช็ปดๅบฆๆฅๅˆ‡ๅ‰ฒๅนณ้ข๏ผŒ็„ถๅŽๆŠŠๅทฅไฝœไธŽ็”Ÿๆดปไธญ็š„ไบ‹ๅŠกๅกซๅ……่ฟ›ๅŽปใ€‚ๅ› ๆญค๏ผŒ็ฌ”่€…่ฆๆผซ่ฐˆ็š„ๆœ€ๅŽไธ€ไธช่ฏ้ข˜ๅฐฑๆ˜ฏๆททๅˆๅทฅไฝœๅˆถใ€‚

่ฟ™้‡Œๆ‰€่ฐ“็š„โ€œๆททๅˆๅทฅไฝœๅˆถโ€๏ผŒๅฏนๆ‰“ๅทฅไบบๆฅ่ฎฒๅ…ถๅฎžๅฐฑๆ˜ฏไธ€้ƒจๅˆ†ๆ—ถ้—ดๅœจๅŠžๅ…ฌๅฎคๅทฅไฝœ๏ผŒไธ€้ƒจๅˆ†ๆ—ถ้—ดๅฑ…ๅฎถ่ฟœ็จ‹ๅŠžๅ…ฌใ€‚ๅฆ‚ๆžœๆฒกๆœ‰็–ซๆƒ…๏ผŒ่ฟ™็งๆ–นๅผๅœจๅ›ฝๅ†…่ฟ˜ไธไผš่ขซๅคง่Œƒๅ›ด่ฟ็”จ๏ผŒ่™ฝ็„ถไบ’่”็ฝ‘่กŒไธšไธ€็›ดๆœ‰ๅผนๆ€งๅทฅไฝœๅˆถ๏ผŒไฝ†ๅ›ฝๅ†…ๅพˆๅฐ‘ๆœ‰ไผไธš่ฎฉๅ‘˜ๅทฅ่ƒฝๆŒ็ปญๅ‡ ๅคฉ็”š่‡ณไธ€ไธชๆœˆๅฑ…ๅฎถๅŠžๅ…ฌใ€‚็ฌ”่€…่ฎคไธบ๏ผŒ็–ซๆƒ…ๅชๆ˜ฏๆ›ดๆ˜พ่ฑกๅŒ–ไบ†่ฟ™็งๆ–นๅผ๏ผŒๅ› ไธบๅœจ็–ซๆƒ…ๅ‡บ็Žฐไน‹ๅ‰๏ผŒๅ›ฝๅค–็œŸ็š„ๆœ‰ๅ…ฌๅธๅœจๅฎž่ทต๏ผŒ่€Œไธ”ๅ›ฝๅค–็š„่‡ช็”ฑ่Œไธš่€…ๆ˜ฏๆฏ”ๅ›ฝๅ†…ๅคšๅ‡บๅพˆๅคš็š„ใ€‚

่ฟ™้‡Œไธๆ˜ฏ่ฆๅฑ•ๅผ€ไบ‰่ฎบ๏ผŒ่€Œๆ˜ฏๆƒณๆŠ›ๅ‡บ้—ฎ้ข˜๏ผšๆˆ‘ไปฌ่™ฝ็„ถๅœจ็–ซๆƒ…ๆœŸ้—ด็†Ÿๆ‚‰ไบ†่ฟ™็งๅทฅไฝœๆจกๅผ๏ผŒไฝ†ๆˆ‘ไปฌๅฏ่ง‰ๅพ—่‡ชๅทฑ่ƒฝๅพˆๅฅฝๅœฐๅค„็†่ฟ™็งๆจกๅผๅ‘ข๏ผŸ็–ซๆƒ…ๆ€ปไผš่ฟ‡ๅŽป็š„๏ผŒๅœจ็–ซๆƒ…ๅŽๆˆ‘ไปฌ่ฆไธ่ฆ็ปง็ปญๅฎž่ทตๆททๅˆๅทฅไฝœๅˆถๅ‘ข๏ผŸ

1ใ€้€‚ๅบ”ๆททๅˆๅทฅไฝœๅˆถ โ€‹

ๅฆ‚ไธŠๆ‰€่ฟฐ๏ผŒๆททๅˆๅทฅไฝœๅˆถๆ˜ฏๅŸบไบŽ็ฉบ้—ดไธŽๆ—ถ้—ดไธคไธช็ปดๅบฆๆฅๅฎ‰ๆŽ’่ฆๅค„็†็š„ไบ‹ๅŠก๏ผŒๆ‰€ไปฅ้€‚ๅบ”ๆททๅˆๅทฅไฝœๅˆถ๏ผŒๅฐฑๆ˜ฏๅŸบไบŽไบŒ็ปดๅนณ้ขๆฅๅฎ‰ๆŽ’ๅฅฝ่‡ชๅทฑ็š„ๅทฅไฝœไธŽ็”Ÿๆดป๏ผŒ่ฏ•็€ๆŠŠๆ—ฅๅญ่ฟ‡ๅพ—้กบ็•…ใ€‚

็ฌ”่€…ไธๆ•ข่ฏด่‡ชๅทฑๅœจ็–ซๆƒ…ๆœŸ้—ดๅพˆๅฅฝๅœฐ้€‚ๅบ”ไบ†ๆททๅˆๅทฅไฝœๅˆถ๏ผŒๅ› ไธบๅœจ็–ซๆƒ…ๆ—ฉๆœŸๅฑ…ๅฎถๅŠžๅ…ฌ็œŸ็š„ๅพˆ็ดฏ๏ผŒๅทฅไฝœไธŽ็”Ÿๆดปๆฒกๆœ‰ไบ†็•Œ้™๏ผŒๆœ‰ๆ—ถ่ง‰ๅพ—่‡ชๅทฑ้™คไบ†็ก่ง‰ๅฐฑไธ€็›ดๅœจๅทฅไฝœ๏ผŒๅ›žๅˆฐๅ…ฌๅธไธŠ็ญ็š„ๆ—ถๅ€™ๅฐฑ่ง‰ๅพ—็‰นๅˆซ็ˆฝใ€‚ไฝ†้š็€็–ซๆƒ…็š„ๅคšๆฌกๅๅค๏ผŒไนŸๅฐฑๆœ‰ไบ†ไธ€ๆฌกๆฌกๅœฐๅฐ่ฏ•ๆ”นๅ˜่‡ชๅทฑๆฅ้€‚ๅบ”ๅฑ…ๅฎถๅŠžๅ…ฌ๏ผŒๆ‹ฅๆŠฑๆททๅˆๅทฅไฝœๅˆถใ€‚ๅœจ่ฟ™็งๅฎข่ง‚ๆกไปถ็š„ๅ€’้€ผไธ‹๏ผŒ็ปˆ็ฉถ่ฟ˜ๆ˜ฏ้€‚ๅบ”ไบ†๏ผŒไนŸๅฎž็Žฐไบ†ๅ‘ๅ†…ๆ€ๅ˜ใ€‚

ๆททๅˆๅทฅไฝœๅˆถๆœ€ๅคง็š„็—›็‚นๆ˜ฏ่งฃๅ†ณๅฑ…ๅฎถๅŠžๅ…ฌ็š„่‹ฆๆผ๏ผŒๅ–„็”จๅฑ…ๅฎถๅŠžๅ…ฌ็š„ไผ˜ๅŠฟ๏ผŒ็”š่‡ณๆŠŠๅฑ…ๅฎถๅŠžๅ…ฌ็š„็ป้ชŒ้€‚ๅฝ“ๅœฐ็”จๅœจๅŠžๅ…ฌๅฎคๅทฅไฝœไธญ๏ผŒไปŽ่€Œๅฎž็Žฐ็œŸๆญฃ็š„ๆททๅˆๅทฅไฝœใ€‚ๅœจๅฑ…ๅฎถๅŠžๅ…ฌ็š„ๆ—ถๅ€™๏ผŒ็ฌ”่€…่ง‰ๅพ—ๆœ‰ไปฅไธ‹ๅ‡ ไธช่ฆ็‚น้œ€่ฆๆณจๆ„๏ผš

  • ๅฑ…ๅฎถๅŠžๅ…ฌๆ—ถ่ฆๅผบ่ฐƒๆ•ˆๆžœๅ’Œๆ•ˆ็އใ€‚ๆ•ˆๆžœๆบไบŽๅฏน้‡่ฆไธšๅŠกๆˆ–ไปปๅŠก็š„่ฏ†ๅˆซ๏ผŒๆ•ˆ็އๆบไบŽไธ“ๆณจๅœฐ่ฟ็”จๅทฅๅ…ทๅšๆญฃ็กฎ็š„ไบ‹
  • ๅˆ’ๅฎšๅ‡บไธ“้—จ็š„ๅŠžๅ…ฌ็ฉบ้—ด๏ผŒๆœ‰ๆ•ˆๅŒบๅˆ†่ตทๅฑ…็ฉบ้—ดไธŽๅŠžๅ…ฌๅŒบ้—ด
  • ๅŸบไบŽๅฏน้‡่ฆไธšๅŠกๅ’ŒไปปๅŠก็š„่ฏ†ๅˆซ๏ผŒไฝฟ็”จๆฏ”่พƒๆธ…ๆ™ฐ็š„ๆธ…ๅ•ๅ’Œๆ—ฅ็จ‹่กจๆฅๅๅŠฉ้‡่ฆไบ‹ๅŠก็š„ๆŽจๅŠจใ€‚็ฌ”่€…่ฟ™้‡Œไพๆ—งๆฒฟ็”จไบ†ๆ—ถ้—ด็ฎก็†ไธญๆๅˆฐ็š„ไธ‰ไธชๆธ…ๅ•๏ผš็ขŽ็‰‡ๆธ…ๅ•ใ€ๆ—ฅๅธธไปปๅŠกๆธ…ๅ•๏ผˆๅทฅไฝœๆ—ฅ๏ผ‰ใ€ๆ—ฅๅธธไปปๅŠกๆธ…ๅ•๏ผˆๅ‘จๆœซ๏ผ‰ใ€‚
  • ๅ–„็”จ่ฟœ็จ‹ๅŠžๅ…ฌๅทฅๅ…ท๏ผŒ็”ต่ฏไผš่ฎฎๅฎคไธ€็ง้‡่ฆ็š„ๆฒŸ้€šๅไฝœๆ–นๅผ๏ผŒๅผ€ๅฅฝ็”ต่ฏไผš่ฎฎ่ƒฝๆ›ดๆ˜Ž็กฎ้‡็‚น๏ผŒๆๅ‡ๆ•ˆ็އใ€‚

ๅฝ“ไปŽๅฑ…ๅฎถๅŠžๅ…ฌๅˆ‡ๆขๅˆฐๅŠžๅ…ฌๅฎคๅทฅไฝœ็Žฏๅขƒไธญ๏ผŒ้™คไบ†ไธ็”จๅˆ’ๅฎšไธ“้—จ็š„ๅŠžๅ…ฌ็ฉบ้—ด๏ผŒๅพˆๅคš็ป้ชŒ้ƒฝๆ˜ฏๅฏไปฅ็ปง็ปญๆฒฟ็”จ็š„ใ€‚ๅชๆœ‰ๅœจ็ขฐๅˆฐ็‰นๅˆซ้‡่ฆ็ดงๆ€ฅ็š„ไบ‹ๆƒ…ๆˆ–่€…ๅจฑไน็š„ไบ‹ๆƒ…ๆ‰้œ€่ฆไธŽๅŒไบ‹ๅฝ“้ขๆฒŸ้€šไบคๆต๏ผŒ่ฟ™ๅœจไธ€ๅฎš็จ‹ๅบฆไธŠๅฏไปฅๆๅ‡ไธชไบบๅทฅไฝœๆ•ˆ็އ๏ผŒๅŽปๅฐ่ฏ•ๆ‘†่„ฑโ€œๆ— ๅคด่‹่‡ๅผ็š„ๅฟ™็ขŒโ€ใ€‚

2ใ€ๅปถไผธๆ€่€ƒๆททๅˆๅทฅไฝœๅˆถ โ€‹

ไธ็Ÿฅ้“็ป†ๅฟƒ็š„ๆœ‹ๅ‹ๆœ‰ๆฒกๆœ‰ๅ‘็Žฐ๏ผŒๅœจ็–ซๆƒ…ๅˆฐๆฅไน‹ๅ‰๏ผŒๆˆ‘ไปฌๅคงๅคšๆŽฅ่งฆๅˆฐไธ€ไบ›ๅ…ทๆœ‰ๆ•ฐๅญ—ๅŒ–็‰นๆ€ง็š„ C ็ซฏๆถˆ่ดนๅ“๏ผˆๅฆ‚๏ผšไฝ“่„‚็งคๅ…ทๆœ‰็งฐ + APPๆ•ฐๆฎ็ปŸ่ฎก + ่™šๆ‹Ÿ็คพๅŒบ๏ผ›ๆ™บ่ƒฝๆ‰‹่กจๅ…ทๆœ‰ๆ‰‹่กจ+ๆ•ฐๆฎๆ”ถ้›†ไธŽๅˆ†ๆž๏ผ‰๏ผŒๅชๅœจๅŠžๅ…ฌๆ—ถ้—ดๆˆ–ไธšไฝ™้‡ๅˆฐ็ดงๆ€ฅ้—ฎ้ข˜ๆ—ถๆ‰ไฝฟ็”จ่ฟœ็จ‹ๅŠžๅ…ฌๅทฅๅ…ทๆฅๅไฝœ๏ผŒ่€Œ็–ซๆƒ…ๅˆฐๆฅๅŽๆˆ‘ไปฌๆ›ดๅŠ ไธปๅŠจๆ‹ฅๆŠฑใ€ไธปๅŠจ้€‚ๅบ”่ฟœ็จ‹ๅŠžๅ…ฌๅทฅๅ…ท็ญ‰ๆ•ฐๅญ—ๅŒ–ใ€่™šๆ‹ŸๅŒ–ไบงๅ“ไบ†ใ€‚่ฟ™ๅœจไธ€ๅฎš็จ‹ๅบฆไธŠไนŸ่กจๆ˜Žไบ†๏ผš

  • ๅคงๅฎถๅœจ็ดง้”ฃๅฏ†้ผ“ๅœฐๅˆ›้€ ไบงๅ“ๅ’ŒๆœๅŠก็š„ๆ•ฐๅญ—ๅฑžๆ€ง๏ผŒๅนถไปฅๆ–‡ๅŒ–ใ€็คพ็พค็š„ๆ–นๅผๅŠ ไปฅไฝ“็Žฐ๏ผŒๅ€ŸๅŠฉไบงๅ“็š„ๆ•ฐๅญ—ๅŒ–ๅฑžๆ€ง๏ผŒ็”š่‡ณๅฏไปฅๆŠŠ้œ€ๆฑ‚ๆ–น่ฟžๆˆ็ฝ‘็ปœ๏ผŒไปŽ่€ŒๅŸบไบŽ่™šๆ‹Ÿ็ฝ‘็ปœๆๅ‡ๆœๅŠกๅธ‚ๅœบ็š„ๆ•ˆ็އใ€‚
  • ่ทจๅŸŽๅธ‚ใ€่ทจๅœฐๅŸŸๅœฐๆฒŸ้€šๅไฝœๅทฒ็ปๆˆไธบไบ†ๅธธๆ€๏ผŒๅœฐๅŸŸๅŒ–็š„้—ฎ้ข˜ๅœจโ€œๆ•ฐๅญ—ๅŒ–โ€่ถ‹ๅŠฟไธ‹่ƒฝๅพ—ๅˆฐ็ผ“่งฃ๏ผŒ่ทจๅŸŽๅธ‚ใ€่ทจๅœฐๅŸŸๅœฐ้ซ˜ๆ•ˆๅไฝœๆ›ดๅฎนๆ˜“่ขซๆŽฅๅ—ไบ†ใ€‚

้‚ฃไนˆ้—ฎ้ข˜ๆฅไบ†๏ผŒไธ€ไธชๆ™ฎ้€š็š„ๆ‰“ๅทฅไบบๅŽปๅปถไผธๆ€่€ƒ่ฟ™ไบ›ไธœ่ฅฟๆœ‰ไป€ไนˆ็”จๅค„ๅ‘ข๏ผŸ่ฟ™ๆ˜ฏไธๆ˜ฏ็ฑปไผผๅˆšๅ…ฅ่Œ็š„ๅ‘˜ๅทฅๆ“็€ CEO ็š„ๅฟƒ๏ผŒๆˆ–่€…่ฏดไธ€ไธชๆ™ฎ้€š็™พๅง“๏ผŒไธšไฝ™้—ฒ็€ๆฒกไบ‹ๆ“็€ๆฒป็†ๅ›ฝๅฎถ็š„ๅฟƒๅ‘ข๏ผŸ็ฌ”่€…ไธชไบบ่ฎคไธบ๏ผš้ƒฝไธๆ˜ฏใ€‚่€Œๆ˜ฏๆƒณๅŸบไบŽไปฅไธŠๅปถไผธๆ€่€ƒๅผ•ๅ‡บไธ€ไธชๆ–ฐ็š„ไธšไฝ™ๅฐ่ฏ•๏ผšไธšไฝ™่ทจๅœฐๅŸŸๅไฝœใ€‚

่ฟ™ไนŸๅ…ณ็ณปๅˆฐ็–ซๆƒ…ๅŽ่ฆไธ่ฆ็ปง็ปญๅฎž่ทตๆททๅˆๅทฅไฝœๅˆถ๏ผŸไธๅœจๅ…ถไฝๅฐฑไธ่ฐ‹ๅ…ถๆ”ฟ๏ผŒ็ฌ”่€…่ฟ™้‡ŒไธๅŽป่ฐˆๅ›ฝๅฎถๆˆ–ๅ…ฌๅธไผšไธไผšๅœจ็–ซๆƒ…ๅŽ่ฝๅœฐๆททๅˆๅทฅไฝœๅˆถ๏ผŒๆฏ”ๅฆ‚โ€œ3+2โ€ๆˆ–โ€œ4+1โ€ๅทฅไฝœๅˆถ๏ผŒๅ› ไธบ็ฌ”่€…ๆƒณๅปถไผธๅœฐๆ˜ฏ๏ผšๅฆ‚ไฝ•ๅœจไธšไฝ™ๆ›ดๅคง่Œƒๅ›ดๅœฐๅฐ่ฏ•ใ€ๅฎž่ทตๆททๅˆๅทฅไฝœๅˆถใ€‚

้ฅๆƒณๅฝ“ๅนดๅญฆ็”Ÿๆ—ถไปฃ๏ผŒไธ€็พคๆฏ”่พƒๅˆๅพ—ๆฅ็š„ๅญฆ็”Ÿไป…ไป…ๅ‡ญๅ€Ÿๅ‡ ๆˆๅ‹‡ๆฐ”ๅฐฑๅœจไธšไฝ™ๆ—ถ้—ด้›†ไธญๅˆฐไธ€ไธช็‰ฉ็†็ฉบ้—ดๅ†…ๅŽปๆฃ้ผ“ไธ€ไบ›ไธœ่ฅฟ๏ผŒไนŸๅ› ไธบ่ฟ™ๆ ท็š„ๆŠ˜่…พ่ฎฉๆˆ‘ไปฌ้กบๅˆฉ่ตฐๅ‘ไบ†ๅทฅไฝœๅฒ—ไฝใ€‚่ตฐๅ‘ๅทฅไฝœๅฒ—ไฝๅŽ๏ผŒๆ—ถไธๆ—ถไผšๅœจ่™šๆ‹Ÿ็คพ็พคไธญไธ€่ตทไพƒๅคงๅฑฑ๏ผŒ่Š่ŠๅทฅไฝœไธŽ็”Ÿๆดป๏ผŒๅๆงฝไธ€ไธ‹่‡ชๅทฑ็š„ๆ”นๅ˜๏ผŒไฝ†ๆœ€็ปˆๆ”ถๅฐพ็š„ๆ—ถๅ€™ๅคšๅฐ‘้ƒฝ่ฟ˜ๆต้œฒๅ‡บๆƒณ่ฆๆžไบ›ๆœ‰็‚นๅˆ›้€ ๅŠ›ๆˆ–่€…ๆญฃ่ƒฝ้‡็š„ไบ‹ๆƒ…ใ€‚

ๆ‰€ไปฅ็ฌ”่€…่ฎคไธบ๏ผŒๅœจไธŠ่ฟฐๅปถไผธๆ€่€ƒไธ‹๏ผŒๅ…ถๅฎžไธšไฝ™ๆ˜ฏๅฏไปฅๅไฝœ็š„๏ผŒไธป่ฆๅŽŸๅ› ๆœ‰ไปฅไธ‹ไธ‰็‚น๏ผš

  • ๅŸบไบŽ่ฟœ็จ‹ๅทฅๅ…ทๅไฝœๅทฒ็ป่ขซ่ฟ็”จ๏ผŒไบบไปฌๅทฒๅœจ็–ซๆƒ…ไธญ้€‚ๅบ”ไบ†่ฟœ็จ‹ๅŠžๅ…ฌ๏ผŒ่ทจๅŸŽๅธ‚ใ€่ทจๅœฐๅŸŸ็š„้˜ป็ขๅ› ็ด ๅœจ้™ไฝŽใ€‚
  • ไบ‘ๆœๅŠกๅทฒ็ปๅ‘ๅฑ•ๅพ—่ถณๅคŸ็ฎ€ๅ•๏ผŒๅพˆๅคšๅŸบ็ก€่ฎพๆ–ฝๅทฒ่ถณๅคŸไพฟๆท๏ผˆไธๅ†ๆ˜ฏๅฝ“ๅนดๅœจๅฎž้ชŒๅฎคๆˆ–็ ”็ฉถๆ‰€้‡Œๆ‹ฟ็€่ฃธๆœบ่ฃ…่ฝฏไปถ็š„ๅนดไปฃไบ†๏ผ‰ใ€‚
  • ๆ•ฐๅญ—ๅŒ–ๆ˜ฏ่ถ‹ๅŠฟ๏ผŒ่ฝป้‡ใ€ๅฐ่€Œ็พŽใ€็ŸญๆœŸๅฏๅฎŒๆˆ็š„้กน็›ฎๆ˜ฏๅฏไปฅๅไฝœๅฎŒๆˆ็š„๏ผˆ่™ฝ็„ถ้›‡ไฝฃๅ…ณ็ณปๅœจไธ€ๅฎšๆ—ถๆœŸๅ†…ไป็„ถๆ˜ฏไธปๅฏผ๏ผŒไฝ†่‡ช็”ฑๅไฝœๅ…ณ็ณปไผš่ถŠๆฅ่ถŠๅคš๏ผ‰ใ€‚

ๅ…ถๅฎžๆœ€ไธป่ฆ็š„้—ฎ้ข˜่ฟ˜ๆ˜ฏๅœจไบŽๆœ‰ๆฒกๆœ‰ๅ…ฑๅŒ็š„่ฏ‰ๆฑ‚๏ผŒ่ƒฝไธ่ƒฝๆ‹ฟๅ‡บๆ—ถ้—ดๆฅๆฃ้ผ“๏ผŒๆœ‰ๆฒกๆœ‰ไบบ่ƒฝ็ป„็ป‡ไธ”็ฎก็†ๅฅฝ่ฟ™็ง่‡ช็”ฑ็š„่ฟœ็จ‹ๅไฝœๅ›ขไผ™๏ผŒๅนถๅˆ็†ๅˆ†้…้กน็›ฎๆ”ถ็›Š๏ผŒๅฎž็Žฐๅคงๅฎถ็š„ๅ…ฑๅŒ่ฏ‰ๆฑ‚ใ€‚ๅœจ็–ซๆƒ…ไธญๅŽๆœŸ๏ผŒ็ฌ”่€…ไธšไฝ™ๆ—ถ้—ดๆฒกๅฐ‘ๅœจ็”ฑๅ‡ ไธช่€ไผ™่ฎก็ป„ๆˆ็š„็คพ็พคไธญโ€œไผ ้”€โ€ไธŠ่ฟฐๅปถไผธๆ€่€ƒ๏ผŒ็–ซๆƒ…็ป“ๆŸๅŽไนŸๅฏ่ƒฝไผš็ปง็ปญๅฐ่ฏ•ไธ‹ๅŽปใ€‚

ๅ†™ๅœจๆœ€ๅŽ โ€‹

่กŒๆ–‡่‡ณๆญค๏ผŒ็–ซๆƒ…่ฟ™ไธ‰ๅนดๅ‘ๅ†…ๆ€ๅ˜็š„ๅค็›˜ๆ€ป็ป“ๅŸบๆœฌๆขณ็†ๅฎŒๆˆไบ†๏ผŒไธ็ฎกๆ–‡็ซ ๆœ€็ปˆ็š„ๆฐดๅนณๆ€Žไนˆๆ ท๏ผŒไพๆ—งๆŠŠ่‡ชๅทฑ็š„โ€œ้—ญๅ…ณโ€็ปๅކๆฒ‰ๆท€ไธ‹ๆฅไบ†ใ€‚

ๅœจๆ–‡็ซ ็š„ๆœ€ๅŽ๏ผŒ้กบไพฟ่Šไธ€่Šๆ€ๅ˜ใ€‚็ปๅކไบ†็–ซๆƒ…่ฟ™ไธ‰ๅนด๏ผŒ็ฌ”่€…่ฎคไธบๆ€ๅ˜ไธ่ƒฝๅชโ€œๆ‰“้ธก่ก€โ€ๆˆ–่€… โ€œ็ซ‹Flagโ€๏ผŒๆ€ๅ˜ๆ˜ฏ่ฆ็ป“ๅˆๅฎข่ง‚ไบ‹ๅฎžๅ’Œ่‡ช่บซ่ฏ‰ๆฑ‚ๆฅ่ฝๅœฐ็š„ใ€‚ๅฆ‚ๆžœๆˆ‘ไปฌๅฎฝๆณ›ๅœฐ่ฐˆๆ”นๅ˜๏ผŒ็„ถๅŽ้€ผ็€่‡ชๅทฑๅ˜๏ผŒๆŒบๅ†…่€—็š„ใ€‚ๅ› ไธบ่ฟ™็งๆ”นๅ˜ๅฎนๆ˜“ๅคฑ่ดฅ๏ผŒๅคฑ่ดฅๅŽๆˆ‘ไปฌๅˆไธๅคชๅฎนๆ˜“ๅŽŸ่ฐ…่‡ชๅทฑใ€‚ๅฏๅฆ‚ๆžœๆˆ‘ไปฌๆ…ขๆ…ขๅ›บๅŒ–ไบ†๏ผŒไธ€ๆ—ฆๅคง็Žฏๅขƒๅ‘็”Ÿๅ˜ๅŒ–๏ผŒๆˆ‘ไปฌๅˆๅช่ƒฝ่ขซๅŠจๅœฐไปป็”ฑ็คพไผšๆ•™่‚ฒใ€‚ๆ‰€ไปฅ๏ผŒๆ”นๅ˜ไน‹ๅ‰้œ€่ฆๅคšๆ€่€ƒ๏ผŒ้œ€่ฆๅญฆไน ไธ€ไบ›็Ÿฅ่ฏ†ๅฅ—่ทฏๅฐ่ฏ•็€ๅฎž่ทตใ€‚

็ฌ”่€…ๅœจ่ฝๅœฐไธŠ่ฟฐๅ‡ ไธช่ฏ้ข˜็š„ๆ”นๅ˜ๆ—ถ๏ผŒๆœ‰ไบ›ไพง้‡ๅฎž่ทตไธบไธป๏ผŒๅŸบไบŽ้‡ๅˆฐ็š„้—ฎ้ข˜ๅฏปๆ‰พ่งฃๅ†ณๆ–นๆณ•๏ผ›ๆœ‰ไบ›ๅˆ™ไปฅ่ฏปไนฆๅญฆไน ใ€ไธŽๅˆซไบบๆฒŸ้€šไบคๆต็š„ๆ–นๅผๆŽจๅŠจ๏ผ›่ฟ˜ๆœ‰ไบ›ไปฅไธšไฝ™ๅจฑไน็š„ๆ–นๅผ่ง‚ๅฏŸๅ‘็ŽฐๆฅๆŽจๅŠจ๏ผŒไฝ†ๆœ€็ปˆๅฎž่ทต็š„ๆ—ถๅ€™ๅ…ถๅฎž้ƒฝๅˆ็ชฅ้—จๅพ„ๅœฐ็”จๅˆฐไบ†ไธ€ไบ›้€š่ฏ†ไธ”ๆœ‰็‚นๅ“ฒๅญฆๅ‘ณ้“็š„โ€œๅฅ—่ทฏโ€๏ผš

  • ๅˆ†่งฃไธŽๆธ่ฟ›ๆ˜Ž็ป†๏ผŒ่ฅฟๆ–น่ฟ˜ๅŽŸ่ฎบ็š„้ƒจๅˆ†ๅบ”็”จ๏ผŒโ€œไธ‡็‰ฉ็š†ๆ•ฐโ€๏ผŒๅฏน่‡ช็„ถ่ฎค็Ÿฅไธๆ–ญ็ป†ๅŒ–๏ผŒๅฐ่ฏ•ๆ‹†่งฃๅˆ†ๆžๅ‡บๅฝฑๅ“ไบ‹็‰ฉ็š„ๆœฌ่ดจๅŽŸๅ› ใ€‚
  • ็ณป็ปŸ่ฎบ๏ผŒๅณๅ›ด็ป•ไบบๅ’Œ็คพไผš่‡ช่บซๆฅๆ”นๅ–„ๅคšไธชๅฝฑๅ“ๅ› ็ด ๏ผŒไปŽ่€Œไฝฟ่‡ชๅทฑๆ›ดๅฅฝๅœฐ้€‚ๅบ”็คพไผšใ€‚
  • ็Ÿฅ่กŒๅˆไธ€๏ผŒ็Ÿฅๆ˜ฏ่กŒ็š„ๅคด่„‘๏ผŒ่กŒๆ˜ฏ็Ÿฅ็š„่ฝๅฎž๏ผ›็Ÿฅๆ˜ฏ่กŒ็š„ๅผ€ๅง‹๏ผŒ่กŒๆ˜ฏ็Ÿฅ็š„ๅฎŒๆˆใ€‚

ๆœ€ๅŽ๏ผŒๅผ•็”จไธ€ไธ‹็ฌ”่€…ๆ—ฉๅนด็œ‹่ฟ‡็š„ๅฐ่ฏดไฝœไธบ็ป“ๆŸ๏ผŒๅ…ถไฝœ่€…่ง้ผŽ่€ๅธˆ่ฏด่ฟ‡โ€œๅฆ‚ๆžœๆฒกๆœ‰ๆ›พ็ป็š„ไธ€ๆฎต็ปๅކ๏ผŒ่‡ชๅทฑๅ†™ไธๅ‡บใ€Š่ฏ›ไป™ใ€‹่ฟ™ๆ ท็š„ไฝœๅ“โ€ใ€‚่™ฝ็„ถ็ฌ”่€…ไธŽ่ง้ผŽ่€ๅธˆ็›ธๅทฎ็”š่ฟœ๏ผŒไนŸๆƒณๅœจๆ–‡็ซ ็š„ๆœ€ๅŽ่ฏดไธ‹๏ผšโ€œๅฆ‚ๆžœๆฒกๆœ‰็–ซๆƒ…่ฟ™ไธ‰ๅนด็š„็ปๅކๅ’Œๅˆปๆ„็š„ๅ‘ๅ†…ๆ€ๅ˜๏ผŒ็ฌ”่€…ไนŸๅ†™ไธๅ‡บไธ€็ฏ‡ๅฐ†ๅคšไธช่ฏ้ข˜ไธฒ่”่ตทๆฅ็š„้•ฟๆ–‡โ€ใ€‚

ไน‹ๆ‰€ไปฅ่ฟ˜่ฎฐๅพ—ใ€Š่ฏ›ไป™ใ€‹่ฟ™ๆœฌๅฐ่ฏด๏ผŒๅ€’ไธๆ˜ฏๅ› ไธบๅฐ่ฏด้˜่ฟฐไบ†โ€œๅคฉๅœฐไธไป๏ผŒไปฅไธ‡็‰ฉไธบๅˆ็‹—โ€็š„ๆณ•ๅˆ™๏ผŒ่€Œๆ˜ฏๅ› ไธบๅฎƒไนŸ่ฎฒ่ฟฐไบ†ไธ€ไธช่ต„่ดจๆ™ฎ้€šๅˆๅนณๅ‡ก็š„ๅฐ‘ๅนด๏ผŒ่™ฝไธ้†‰ๅฟƒไบŽไฟฎ็œŸ๏ผŒไฝ†็œŸ็š„ๅ‡ญๅ€Ÿ็€ๅš้Ÿงใ€้˜…ๅކไธ€ๆญฅๆญฅ่บซๅ…ผโ€œไฝ›้“้ญ”โ€ไธ‰็งๅŠŸๆณ•๏ผŒ่ฟ™็ง็‰น่ดจๅœจ็ปๆตŽไธ‹่กŒ็š„ๅคง็Žฏๅขƒไธ‹ๅฏ่ƒฝๆ›ดๅ€ผๅพ—ๅญฆไน ใ€‚

',122)])])}const m=r(o,[["render",s]]);export{d as __pageData,m as default}; diff --git "a/assets/40.\345\205\263\344\272\216_30.\346\210\220\351\225\277\351\232\217\347\254\224_10.\345\220\221\345\206\205\346\200\235\345\217\230\357\274\232\345\275\223\347\226\253\346\203\205\347\273\231\344\270\226\347\225\214\346\214\211\344\270\213\346\232\202\345\201\234\351\224\256\357\274\214\345\216\273\351\207\215\346\236\204\347\224\237\346\264\273\347\247\251\345\272\217.md.BIUhmRg0.lean.js" "b/assets/40.\345\205\263\344\272\216_30.\346\210\220\351\225\277\351\232\217\347\254\224_10.\345\220\221\345\206\205\346\200\235\345\217\230\357\274\232\345\275\223\347\226\253\346\203\205\347\273\231\344\270\226\347\225\214\346\214\211\344\270\213\346\232\202\345\201\234\351\224\256\357\274\214\345\216\273\351\207\215\346\236\204\347\224\237\346\264\273\347\247\251\345\272\217.md.Cj12M61O.lean.js" similarity index 96% rename from "assets/40.\345\205\263\344\272\216_30.\346\210\220\351\225\277\351\232\217\347\254\224_10.\345\220\221\345\206\205\346\200\235\345\217\230\357\274\232\345\275\223\347\226\253\346\203\205\347\273\231\344\270\226\347\225\214\346\214\211\344\270\213\346\232\202\345\201\234\351\224\256\357\274\214\345\216\273\351\207\215\346\236\204\347\224\237\346\264\273\347\247\251\345\272\217.md.BIUhmRg0.lean.js" rename to "assets/40.\345\205\263\344\272\216_30.\346\210\220\351\225\277\351\232\217\347\254\224_10.\345\220\221\345\206\205\346\200\235\345\217\230\357\274\232\345\275\223\347\226\253\346\203\205\347\273\231\344\270\226\347\225\214\346\214\211\344\270\213\346\232\202\345\201\234\351\224\256\357\274\214\345\216\273\351\207\215\346\236\204\347\224\237\346\264\273\347\247\251\345\272\217.md.Cj12M61O.lean.js" index c60b3187..d84a910f 100644 --- "a/assets/40.\345\205\263\344\272\216_30.\346\210\220\351\225\277\351\232\217\347\254\224_10.\345\220\221\345\206\205\346\200\235\345\217\230\357\274\232\345\275\223\347\226\253\346\203\205\347\273\231\344\270\226\347\225\214\346\214\211\344\270\213\346\232\202\345\201\234\351\224\256\357\274\214\345\216\273\351\207\215\346\236\204\347\224\237\346\264\273\347\247\251\345\272\217.md.BIUhmRg0.lean.js" +++ "b/assets/40.\345\205\263\344\272\216_30.\346\210\220\351\225\277\351\232\217\347\254\224_10.\345\220\221\345\206\205\346\200\235\345\217\230\357\274\232\345\275\223\347\226\253\346\203\205\347\273\231\344\270\226\347\225\214\346\214\211\344\270\213\346\232\202\345\201\234\351\224\256\357\274\214\345\216\273\351\207\215\346\236\204\347\224\237\346\264\273\347\247\251\345\272\217.md.Cj12M61O.lean.js" @@ -1 +1 @@ -import{_ as r,g as t,h as i,U as l}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const d=JSON.parse('{"title":"ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅฆ‚ไฝ•้ฟๅ…ๅ†…่€—๏ผŸๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ไธ‰ๅนด้—ด็š„โ€œ่‡ชๆˆ‘้‡ๆž„โ€ๅฎž้ชŒใ€‚ๆ–‡็ซ ๆ‘’ๅผƒไบ†ๅ•็บฏ็š„ๆƒ…็ปชๅฎฃๆณ„๏ผŒ่€Œๆ˜ฏๅˆฉ็”จๅˆ†่งฃๆณ•ใ€ๆธ่ฟ›ๆ˜Ž็ป†ๅ’Œ็ปŸ่ฎกๅˆ†ๆž็ญ‰ๅทฅ็จ‹ๆ€็ปด๏ผŒๅฏนๅฅๅบท้ฅฎ้ฃŸใ€็Ÿฅ่ฏ†ไฝ“็ณปใ€ๆ—ถ้—ดๅˆ†้…ๅŠ่ฟœ็จ‹ๅไฝœ่ฟ›่กŒไบ†็ณป็ปŸๅŒ–ๆ”น้€ ใ€‚่ฟ™ๆ˜ฏไธ€ไปฝๅ…ณไบŽๅฆ‚ไฝ•ๅœจๆ— ๅธธ็š„ๅค–้ƒจ็Žฏๅขƒไธญ๏ผŒๅปบ็ซ‹ๅ†…ๅœจ็กฎๅฎšๆ€ง็งฉๅบ็š„่กŒๅŠจๆŒ‡ๅ—ใ€‚","frontmatter":{"date":"2023-01-08T10:23:50.000Z","title":"ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅฆ‚ไฝ•้ฟๅ…ๅ†…่€—๏ผŸๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ไธ‰ๅนด้—ด็š„โ€œ่‡ชๆˆ‘้‡ๆž„โ€ๅฎž้ชŒใ€‚ๆ–‡็ซ ๆ‘’ๅผƒไบ†ๅ•็บฏ็š„ๆƒ…็ปชๅฎฃๆณ„๏ผŒ่€Œๆ˜ฏๅˆฉ็”จๅˆ†่งฃๆณ•ใ€ๆธ่ฟ›ๆ˜Ž็ป†ๅ’Œ็ปŸ่ฎกๅˆ†ๆž็ญ‰ๅทฅ็จ‹ๆ€็ปด๏ผŒๅฏนๅฅๅบท้ฅฎ้ฃŸใ€็Ÿฅ่ฏ†ไฝ“็ณปใ€ๆ—ถ้—ดๅˆ†้…ๅŠ่ฟœ็จ‹ๅไฝœ่ฟ›่กŒไบ†็ณป็ปŸๅŒ–ๆ”น้€ ใ€‚่ฟ™ๆ˜ฏไธ€ไปฝๅ…ณไบŽๅฆ‚ไฝ•ๅœจๆ— ๅธธ็š„ๅค–้ƒจ็Žฏๅขƒไธญ๏ผŒๅปบ็ซ‹ๅ†…ๅœจ็กฎๅฎšๆ€ง็งฉๅบ็š„่กŒๅŠจๆŒ‡ๅ—ใ€‚","permalink":"/growth/inner-experience","coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/refactor_life.png","sticky":1,"top":true,"categories":"ไธชไบบๆˆ้•ฟ","tags":["ๅฅๅบท","ๆ—ถ้—ด","ๆ‚ฆ่ฏปๆ—ถๅ…‰","่ฟœ็จ‹ๅไฝœ","็–ซๆƒ…"]},"headers":[],"relativePath":"40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ.md","filePath":"40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ.md"}'),o={name:"40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ.md"};function s(n,a,e,p,g,h){return i(),t("div",null,[...a[0]||(a[0]=[l("",122)])])}const m=r(o,[["render",s]]);export{d as __pageData,m as default}; +import{_ as r,g as t,h as i,U as l}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const d=JSON.parse('{"title":"ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅฆ‚ไฝ•้ฟๅ…ๅ†…่€—๏ผŸๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ไธ‰ๅนด้—ด็š„โ€œ่‡ชๆˆ‘้‡ๆž„โ€ๅฎž้ชŒใ€‚ๆ–‡็ซ ๆ‘’ๅผƒไบ†ๅ•็บฏ็š„ๆƒ…็ปชๅฎฃๆณ„๏ผŒ่€Œๆ˜ฏๅˆฉ็”จๅˆ†่งฃๆณ•ใ€ๆธ่ฟ›ๆ˜Ž็ป†ๅ’Œ็ปŸ่ฎกๅˆ†ๆž็ญ‰ๅทฅ็จ‹ๆ€็ปด๏ผŒๅฏนๅฅๅบท้ฅฎ้ฃŸใ€็Ÿฅ่ฏ†ไฝ“็ณปใ€ๆ—ถ้—ดๅˆ†้…ๅŠ่ฟœ็จ‹ๅไฝœ่ฟ›่กŒไบ†็ณป็ปŸๅŒ–ๆ”น้€ ใ€‚่ฟ™ๆ˜ฏไธ€ไปฝๅ…ณไบŽๅฆ‚ไฝ•ๅœจๆ— ๅธธ็š„ๅค–้ƒจ็Žฏๅขƒไธญ๏ผŒๅปบ็ซ‹ๅ†…ๅœจ็กฎๅฎšๆ€ง็งฉๅบ็š„่กŒๅŠจๆŒ‡ๅ—ใ€‚","frontmatter":{"date":"2023-01-08T10:23:50.000Z","title":"ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅฆ‚ไฝ•้ฟๅ…ๅ†…่€—๏ผŸๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ไธ‰ๅนด้—ด็š„โ€œ่‡ชๆˆ‘้‡ๆž„โ€ๅฎž้ชŒใ€‚ๆ–‡็ซ ๆ‘’ๅผƒไบ†ๅ•็บฏ็š„ๆƒ…็ปชๅฎฃๆณ„๏ผŒ่€Œๆ˜ฏๅˆฉ็”จๅˆ†่งฃๆณ•ใ€ๆธ่ฟ›ๆ˜Ž็ป†ๅ’Œ็ปŸ่ฎกๅˆ†ๆž็ญ‰ๅทฅ็จ‹ๆ€็ปด๏ผŒๅฏนๅฅๅบท้ฅฎ้ฃŸใ€็Ÿฅ่ฏ†ไฝ“็ณปใ€ๆ—ถ้—ดๅˆ†้…ๅŠ่ฟœ็จ‹ๅไฝœ่ฟ›่กŒไบ†็ณป็ปŸๅŒ–ๆ”น้€ ใ€‚่ฟ™ๆ˜ฏไธ€ไปฝๅ…ณไบŽๅฆ‚ไฝ•ๅœจๆ— ๅธธ็š„ๅค–้ƒจ็Žฏๅขƒไธญ๏ผŒๅปบ็ซ‹ๅ†…ๅœจ็กฎๅฎšๆ€ง็งฉๅบ็š„่กŒๅŠจๆŒ‡ๅ—ใ€‚","permalink":"/growth/inner-experience","coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/refactor_life.png","sticky":1,"top":true,"categories":"ไธชไบบๆˆ้•ฟ","tags":["ๅฅๅบท","ๆ—ถ้—ด","ๆ‚ฆ่ฏปๆ—ถๅ…‰","่ฟœ็จ‹ๅไฝœ","็–ซๆƒ…"]},"headers":[],"relativePath":"40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ.md","filePath":"40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ.md"}'),o={name:"40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ.md"};function s(n,a,e,p,g,h){return i(),t("div",null,[...a[0]||(a[0]=[l("",122)])])}const m=r(o,[["render",s]]);export{d as __pageData,m as default}; diff --git "a/assets/40.\345\205\263\344\272\216_30.\346\210\220\351\225\277\351\232\217\347\254\224_20.\345\207\217\350\202\245\350\277\231\344\273\266\345\260\217\344\272\213\351\230\266\346\256\265\351\232\217\347\254\224\346\261\207\346\200\273.md.C1xoZ0dn.js" "b/assets/40.\345\205\263\344\272\216_30.\346\210\220\351\225\277\351\232\217\347\254\224_20.\345\207\217\350\202\245\350\277\231\344\273\266\345\260\217\344\272\213\351\230\266\346\256\265\351\232\217\347\254\224\346\261\207\346\200\273.md.DNHfVn0b.js" similarity index 99% rename from "assets/40.\345\205\263\344\272\216_30.\346\210\220\351\225\277\351\232\217\347\254\224_20.\345\207\217\350\202\245\350\277\231\344\273\266\345\260\217\344\272\213\351\230\266\346\256\265\351\232\217\347\254\224\346\261\207\346\200\273.md.C1xoZ0dn.js" rename to "assets/40.\345\205\263\344\272\216_30.\346\210\220\351\225\277\351\232\217\347\254\224_20.\345\207\217\350\202\245\350\277\231\344\273\266\345\260\217\344\272\213\351\230\266\346\256\265\351\232\217\347\254\224\346\261\207\346\200\273.md.DNHfVn0b.js" index d56ac8a3..774ee252 100644 --- "a/assets/40.\345\205\263\344\272\216_30.\346\210\220\351\225\277\351\232\217\347\254\224_20.\345\207\217\350\202\245\350\277\231\344\273\266\345\260\217\344\272\213\351\230\266\346\256\265\351\232\217\347\254\224\346\261\207\346\200\273.md.C1xoZ0dn.js" +++ "b/assets/40.\345\205\263\344\272\216_30.\346\210\220\351\225\277\351\232\217\347\254\224_20.\345\207\217\350\202\245\350\277\231\344\273\266\345\260\217\344\272\213\351\230\266\346\256\265\351\232\217\347\254\224\346\261\207\346\200\273.md.DNHfVn0b.js" @@ -1 +1 @@ -import{_ as l,g as r,h as o,U as i}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const c=JSON.parse('{"title":"็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ”นๅ–„็š„ๆ–นๅผๆŽจๅŠจๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšไปŽโ€œไนฆ็”Ÿๆ„ๆฐ”โ€ๅˆฐๅˆๅ…ฅ็คพไผš็š„โ€œไธญๅนดๆฒน่…ปโ€ๅฑๆœบ๏ผŒไธ€ๆฌกๅฅๅบท่ญฆๆŠฅ่ฎฉ็ฌ”่€…ๅผ€ๅฏไบ†่ฟ™ๅœบๆทฑๅˆป็š„่‡ชๆˆ‘ๅฏน่ฏไธŽ่กŒๅŠจใ€‚ๆœฌๆ–‡่ฏฆ็ป†ๅค็›˜ไบ†็ฌ”่€…ไปŽๅฅๅบทๅฑๆœบๅ‡บๅ‘๏ผŒ้€š่ฟ‡ๅ››ไธช้˜ถๆฎต็š„ๅพชๅบๆธ่ฟ›๏ผŒๆˆๅŠŸๅฎž็Žฐไฝ“้‡็ฎก็†็š„่ฟ‡็จ‹ใ€‚ๅŒบๅˆซไบŽ็›ฒ็›ฎ่ทŸ้ฃŽ๏ผŒ็ฌ”่€…ๅœจๅฎž่ทตไธญๅผ•ๅ…ฅไบ†็›ฎๆ ‡ๆ‹†่งฃใ€ๆ•ฐๆฎ็›‘ๆŽง๏ผˆไฝ“่„‚็งคๆŒ‡ๆ ‡๏ผ‰ใ€่ทจ้ข†ๅŸŸ็ป้ชŒ่ฟ็งป๏ผˆๅฆ‚้กน็›ฎ็ฎก็†ใ€ๆ—ถ้—ด็ฎก็†๏ผ‰ไปฅๅŠๅฏนไธๅŒ็ญ–็•ฅ๏ผˆๅฆ‚ๆŽงๅˆถ้ฅฎ้ฃŸใ€ๅŠ ๅคงๆ— ๆฐง่ฟๅŠจใ€ๅฐ่ฏ•ไธๅƒไธป้ฃŸ๏ผ‰็š„่พฉ่ฏ้‡‡็บณใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ไปฝๅ‡่‚ฅ่ฎฐๅฝ•๏ผŒๆ›ดๆ˜ฏไธ€ๆฌก็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ€็ปด้‡ๆž„็”Ÿๆดป็งฉๅบใ€ๅฎž็Žฐ่บซๅฟƒๅ‡็บง็š„ๅฎžๆ“ๆŒ‡ๅ—ใ€‚","frontmatter":{"date":"2022-09-12T08:16:00.000Z","title":"็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ”นๅ–„็š„ๆ–นๅผๆŽจๅŠจๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšไปŽโ€œไนฆ็”Ÿๆ„ๆฐ”โ€ๅˆฐๅˆๅ…ฅ็คพไผš็š„โ€œไธญๅนดๆฒน่…ปโ€ๅฑๆœบ๏ผŒไธ€ๆฌกๅฅๅบท่ญฆๆŠฅ่ฎฉ็ฌ”่€…ๅผ€ๅฏไบ†่ฟ™ๅœบๆทฑๅˆป็š„่‡ชๆˆ‘ๅฏน่ฏไธŽ่กŒๅŠจใ€‚ๆœฌๆ–‡่ฏฆ็ป†ๅค็›˜ไบ†็ฌ”่€…ไปŽๅฅๅบทๅฑๆœบๅ‡บๅ‘๏ผŒ้€š่ฟ‡ๅ››ไธช้˜ถๆฎต็š„ๅพชๅบๆธ่ฟ›๏ผŒๆˆๅŠŸๅฎž็Žฐไฝ“้‡็ฎก็†็š„่ฟ‡็จ‹ใ€‚ๅŒบๅˆซไบŽ็›ฒ็›ฎ่ทŸ้ฃŽ๏ผŒ็ฌ”่€…ๅœจๅฎž่ทตไธญๅผ•ๅ…ฅไบ†็›ฎๆ ‡ๆ‹†่งฃใ€ๆ•ฐๆฎ็›‘ๆŽง๏ผˆไฝ“่„‚็งคๆŒ‡ๆ ‡๏ผ‰ใ€่ทจ้ข†ๅŸŸ็ป้ชŒ่ฟ็งป๏ผˆๅฆ‚้กน็›ฎ็ฎก็†ใ€ๆ—ถ้—ด็ฎก็†๏ผ‰ไปฅๅŠๅฏนไธๅŒ็ญ–็•ฅ๏ผˆๅฆ‚ๆŽงๅˆถ้ฅฎ้ฃŸใ€ๅŠ ๅคงๆ— ๆฐง่ฟๅŠจใ€ๅฐ่ฏ•ไธๅƒไธป้ฃŸ๏ผ‰็š„่พฉ่ฏ้‡‡็บณใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ไปฝๅ‡่‚ฅ่ฎฐๅฝ•๏ผŒๆ›ดๆ˜ฏไธ€ๆฌก็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ€็ปด้‡ๆž„็”Ÿๆดป็งฉๅบใ€ๅฎž็Žฐ่บซๅฟƒๅ‡็บง็š„ๅฎžๆ“ๆŒ‡ๅ—ใ€‚","permalink":"/growth/weight-loss","coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/health_bg.png","top":true,"tags":["ๅฅๅบท","่ฟๅŠจ"],"categories":["ไธชไบบๆˆ้•ฟ"]},"headers":[],"relativePath":"40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/20.ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹้˜ถๆฎต้š็ฌ”ๆฑ‡ๆ€ป.md","filePath":"40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/20.ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹้˜ถๆฎต้š็ฌ”ๆฑ‡ๆ€ป.md"}'),n={name:"40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/20.ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹้˜ถๆฎต้š็ฌ”ๆฑ‡ๆ€ป.md"};function s(a,t,e,g,d,p){return o(),r("div",null,[...t[0]||(t[0]=[i('

็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ”นๅ–„็š„ๆ–นๅผๆŽจๅŠจๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹ โ€‹

ๆ‘˜่ฆๆ€ป็ป“๏ผšไปŽโ€œไนฆ็”Ÿๆ„ๆฐ”โ€ๅˆฐๅˆๅ…ฅ็คพไผš็š„โ€œไธญๅนดๆฒน่…ปโ€ๅฑๆœบ๏ผŒไธ€ๆฌกๅฅๅบท่ญฆๆŠฅ่ฎฉ็ฌ”่€…ๅผ€ๅฏไบ†่ฟ™ๅœบๆทฑๅˆป็š„่‡ชๆˆ‘ๅฏน่ฏไธŽ่กŒๅŠจใ€‚ๆœฌๆ–‡่ฏฆ็ป†ๅค็›˜ไบ†็ฌ”่€…ไปŽๅฅๅบทๅฑๆœบๅ‡บๅ‘๏ผŒ้€š่ฟ‡ๅ››ไธช้˜ถๆฎต็š„ๅพชๅบๆธ่ฟ›๏ผŒๆˆๅŠŸๅฎž็Žฐไฝ“้‡็ฎก็†็š„่ฟ‡็จ‹ใ€‚ๅŒบๅˆซไบŽ็›ฒ็›ฎ่ทŸ้ฃŽ๏ผŒ็ฌ”่€…ๅœจๅฎž่ทตไธญๅผ•ๅ…ฅไบ†็›ฎๆ ‡ๆ‹†่งฃใ€ๆ•ฐๆฎ็›‘ๆŽง๏ผˆไฝ“่„‚็งคๆŒ‡ๆ ‡๏ผ‰ใ€่ทจ้ข†ๅŸŸ็ป้ชŒ่ฟ็งป๏ผˆๅฆ‚้กน็›ฎ็ฎก็†ใ€ๆ—ถ้—ด็ฎก็†๏ผ‰ไปฅๅŠๅฏนไธๅŒ็ญ–็•ฅ๏ผˆๅฆ‚ๆŽงๅˆถ้ฅฎ้ฃŸใ€ๅŠ ๅคงๆ— ๆฐง่ฟๅŠจใ€ๅฐ่ฏ•ไธๅƒไธป้ฃŸ๏ผ‰็š„่พฉ่ฏ้‡‡็บณใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ไปฝๅ‡่‚ฅ่ฎฐๅฝ•๏ผŒๆ›ดๆ˜ฏไธ€ๆฌก็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ€็ปด้‡ๆž„็”Ÿๆดป็งฉๅบใ€ๅฎž็Žฐ่บซๅฟƒๅ‡็บง็š„ๅฎžๆ“ๆŒ‡ๅ—ใ€‚

ๅ†™ๅœจๅ‰้ข โ€‹

ๅœจ็ปๆตŽๅฟซ้€Ÿๅ‘ๅฑ•็š„ๅคง่ƒŒๆ™ฏไธ‹๏ผŒไธ€ๆ‰นๅˆไธ€ๆ‰น็š„ๅคงๅญฆ็”Ÿ้™†็ปญ่ตฐๅ‡บๆ ก้—จ่ฟ›ๅ…ฅ็คพไผšๅคง่ˆžๅฐใ€‚้š็€ๅนด้พ„ไธŽๅทฅไฝœๅนด้™็š„ๅขž้•ฟ๏ผŒไธ็Ÿฅ็ฝฎ่บซไบŽๅ…ถไธญ็š„ไฝ ๆ˜ฏๅฆๆ„Ÿๆ…จ่ฟ‡่‡ชๅทฑๅœจ้˜…ๅކไธŠไปŽโ€œไนฆ็”Ÿๆ„ๆฐ”โ€ๆธๆธๆผ”ๅ˜ไธบโ€œๅ››ๅนณๅ…ซ็จณ๏ผŒๆธธๅˆƒๆœ‰ไฝ™โ€๏ผ›ๅœจ่บซไฝ“ๅ…ปๆŠคๆ–น้ขไปŽโ€œ่บซๆๆ— ๆ•Œ๏ผŒๅนด้พ„ๆˆ่ฟท๏ผŒๅฎžๆ‰“ๅฎžไธ€ไธชไผ ๅฅ‡โ€ๆผ”ๅ˜ไธบโ€œไธญๅนดๆฒน่…ปโ€ใ€‚ๆฏไธชไบบๅคšๅฐ‘้ƒฝๆœ‰่‡ชๅทฑ็š„็ญ”ๆกˆ๏ผŒ็ฌ”่€…็š„็ญ”ๆกˆๆ˜ฏ๏ผš่ตฐๅ‡บๆ ก้—จ่ฟ›ๅ…ฅ็คพไผšๅŽ๏ผŒๅฝ“ๅˆๅฏน่บซ่พนไบบๆœ‰็‚น่‹›ๅˆป๏ผŒ้‡ไบ‹็ซๆ€ฅ็ซ็‡Ž็š„่‡ชๅทฑ้€ๆธๅพ—ๅˆฐไบ†ๆ”นๅ–„ใ€‚่บซไฝ“ๅดๅ› ๅŽŸๆœฌๅœจๅคงๅญฆๆ—ถๆฒกๆœ‰ๆ€Žไนˆๅœจๆ„๏ผŒ็ป่ฟ‡้•ฟๅนด็ดฏๆœˆๅœฐๆด—็คผไบฎไบ†ไธ€ๆฌกๅฐ็บข็ฏใ€‚ๅœจๅบทๅคๆœŸ้—ด๏ผŒไธๆญขไธ€ๆฌกๅๆ€่ฟ‡ไน‹ๅ‰็š„็”Ÿๆดปๆ–นๅผๅ’Œๅ…ฅไธ–ๆจกๅผ๏ผŒๆƒณไธ€ๆƒณ + ๅ››ๅค„็œ‹ไธ€็œ‹ๅŽ๏ผŒๆ…ขๆ…ขไนŸๅฐฑๅผ€ๆ‚Ÿไบ†๏ผŒ่‡ช็„ถ่ฆๅฏๅŠจไธ€ไบ›ๆ”นๅ˜ๅฐ่ฏ•ใ€‚

ๅ› ๆญค๏ผŒไนŸๅฐฑๆœ‰ไบ†่ฟ™็ฏ‡ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹้˜ถๆฎต้š็ฌ”ๆฑ‡ๆ€ปใ€‚ไธ€ๆ–น้ขๆฅๆ€ป็ป“ไธ‹ๅ‰ๅ‡ ไธช้˜ถๆฎต็š„ๆ“ไฝœ๏ผŒๅœจๆ“ไฝœ็š„่ฟ‡็จ‹ไธญไนŸๆœ‰่ทŸ่€ๅŒๅญฆใ€่€ๆœ‹ๅ‹ไบ’็›ธ่ฏทๆ•™่ฟ‡๏ผŒๅธŒๆœ›ๅ…ถไธญ็š„ไธ€ไบ›ๆ“ไฝœ่ƒฝๅฏน้œ€่ฆ็š„ไบบๆœ‰ไธ€ๅฎš็š„ๅธฎๅŠฉ๏ผ›ๅฆไธ€ๆ–น้ขไนŸๆƒณๅ€ŸๅŠฉ็ฝ‘็ปœๅนณๅฐ๏ผŒๆ”ถ้›†ไธ€ไบ›ๅปบ่ฎฎ๏ผŒๆฅๆ”นๅ–„ไธ่ถณ็š„ๅœฐๆ–นใ€‚

ไปŽๆ•ดไฝ“ๆฅ่ฎฒ๏ผŒๅ‡่‚ฅ็š„ๅŽŸๅ› ๆœ‰ไปฅไธ‹ๅ‡ ็‚น๏ผš

  • ใ€็›ดๆŽฅๅŽŸๅ› ใ€‘่บซไฝ“ๅบทๅคไบ†๏ผŒไนŸๆƒณ้€šไบ†ไธ€ไบ›ไบ‹ๆƒ…๏ผŒ่‡ช็„ถ่ฆๅ‘ๅ‰็œ‹๏ผŒๅŽปๅฐ่ฏ•ๆ”นๅ˜ใ€‚็ป“ๅˆ่‡ช่บซ็Žฐ็Šถๅˆ†ๆž๏ผŒไฝ“้‡้™ไธ‹ๅŽปๅฏนๅทฅไฝœใ€็”Ÿๆดปๅ’Œไธ€ไบ›ๅ‡บๆธธ้ƒฝไผšๅ‘ˆ็Žฐๅ‡บๆ˜ฏๅฎžๅฎžๅœจๅœจ็š„็›Šๅค„ใ€‚ๅ› ๆญค๏ผŒๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹ไนŸๅฐฑๆˆไบ†ๆ—ขๅ……ๅˆ†ไนŸๅพˆๆœ‰ๅฟ…่ฆ็š„ไบ‹ๆƒ…๏ผŒๅฏๅš
  • ใ€้”™่ฏฏ็บ ๆญฃใ€‘ไน‹ๅ‰็ฌ”่€…ๅ› ็›ธไฟก ใ€ๆ—ฉ้ฅญๅƒๅพ—ๅฅฝ๏ผŒๅˆ้ฅญๅฐ‘ๅƒ็‚น๏ผŒๆ™š้ฅญๆญฃๅธธๅƒใ€‘ๅฏไปฅ็ผ“่งฃไฝ“้‡ไธŠๅ‡่€Œ้€‰ๆ‹ฉๅคงๆ—ฉไธŠๅƒๅพˆๅคšๆ—ฉ้คใ€‚ไฝ†็”ฑไบŽๆ—ฉไธŠ 9 ็‚นๅทฆๅณๆ‰ๅƒๆ—ฉ้ฅญ๏ผŒไธ€ไธชๅคšๆœˆๅŽๆƒŠๅฅ‡ๅœฐๅ‘็Žฐๆถจไบ† 10 ๆ–คใ€‚ๅ› ๆญค๏ผŒๅ†ไธๆŽงๅˆถไธ‹ไฝ“้‡๏ผŒๆ”นๅ˜ไธ‹็”Ÿๆดปๆ–นๅผ๏ผŒๅพˆๅฟซๅˆ่ฆๅ›žๅˆฐไธ€ๅฟƒไธ€ๆ„ๆ•ฒ้”ฎ็›˜๏ผŒๅ†™็š„ๅŸบๆœฌ้ƒฝๆ˜ฏ bug ๏ผŒไธšไฝ™ๅฏน็€็”ต่„‘ๅฏไปฅๅๅŠๅคฉ็š„ๅ›บๆœ‰ๆจกๅผไบ†
  • ใ€ๆทฑๅฑ‚ๆฌกๅŽŸๅ› ใ€‘็ฌ”่€…ไธšไฝ™ไนŸ็ฎ—ๆ˜ฏ่ฏปไบ†ไธ€ๅฎš็š„ไนฆ๏ผŒๅˆšๅฅฝ่ฟ˜ๆœ‰ไธชๅฐ็ˆฑๅฅฝ๏ผšไผšๅ…ณๆณจๅ›ฝๅฎถๅคงไบ‹๏ผˆๆ–ฐๆ—ถไปฃๅ†œๆฐ‘ๅทฅไนŸ้œ€่ฆ้€š่ฟ‡ๅญฆไน ๆฅไบ†่งฃๅ›ฝๅฎถๅ‘ๅฑ•ๆ–นๅ‘๏ผ‰ใ€‚ๅœจ่ฏปไบ†่ฟ‘ไธ€ๅนดๅคš็š„ๆ–‡็ซ ๅ’ŒไนฆไปฅๅŽ๏ผŒ่ถŠๆฅ่ถŠ่ง‰ๅพ—๏ผšๅ›ฝๅฎถ้ƒฝ่ƒฝๅŸบไบŽ็Žฐ็Šถๅšๅ‡บ่ฟฝ่ตถๅ‘่พพๅ›ฝๅฎถๅˆฐๅ“ช็ง็จ‹ๅบฆ็š„่ง„ๅˆ’๏ผŒๅนถๅšๅ‡บไธ€็ณปๅˆ—่ฐƒๆ•ดๅŠจไฝœใ€‚่บซไธบๆ–ฐๆ—ถไปฃ็š„ๆ‰“ๅทฅไบบ๏ผŒไธบๅ•ฅๅฐฑไธ่ƒฝไธบ่‡ชๅทฑๅŽ้’ๆ˜ฅ็š„ไธ‹ๅŠๅœบๅŸบไบŽ็Žฐ็Šถๅผ„ไธ€ไธช่บซไฝ“ + ่ง่ฏ†ๅฏ่’™ + ๅฐ่ฏ•ๅฎž่ทต๏ผŒ5ๅˆฐ8ๅนดๅŽ่ฎฉไธชไบบๅ‘ๅฑ• + ไฟฎ่บซ + ้ฝๅฎถ่พพๅˆฐๆŸ็ง็จ‹ๅบฆ็š„ๅฐ่ฏ•ใ€‚่€Œ่ฟ™ไธ€ๅˆ‡็š„ๅ‰ๆๆ˜ฏๅพ—ๆœ‰ไธชๅฅ็ก•็š„่บซไฝ“ + ไธ“ไธš็ด ๅ…ปใ€‚ๅ› ๆญค๏ผŒๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹ไนŸ่ขซๆณจๅ…ฅไบ†ไธ€็‚น็‚นๅฐๆƒ…ๆ€€๏ผŒๆœ‰ไบ†ๆ›ด้ซ˜ๅฑ‚ๆฌก็š„่ฟฝๆฑ‚
  • ใ€ๆฆœๆ ท็š„ๅฝฑๅ“ใ€‘ไธ็ฎกๅˆซไบบๆ€Žไนˆ็œ‹ๅพ…โ€œไธ่ฟฝๆ˜Ÿใ€ๅŸบๆœฌไธๆ‰“ๆธธๆˆ๏ผŒๅฆ‚ๆžœไธๆ˜ฏๆœ‰็‰นๅˆซๆ„Ÿๅ…ด่ถฃ็š„่ฏ้ข˜ไนŸๅŸบๆœฌไธๆ‰ฏ้—ฒๆทกโ€็š„ๅฅ‡่‘ฉ๏ผŒไฝ†็ฌ”่€…็œŸ็š„ๆœ‰่ฟ™็งๅๅ‘ใ€‚็ฌ”่€…ไน‹ๅ‰ๅœจๅคงๅญฆๆ—ถ็œ‹่ฟ‡ไธ€ไบ›ๆฏ›็ˆท็ˆท็š„็›ธๅ…ณไนฆๅ’Œ็”ต่ง†ๅ‰งๅŽๅพˆ่†œๆ‹œ๏ผŒๆฏ›็ˆท็ˆท็š„ๆ€ๆƒณๅ’Œ้Ÿฌ็•ฅ็œŸ็š„่ถณๅคŸๅญฆใ€‚็ฌ”่€…็Ÿฅ้“่‡ชๅทฑไธๅฏ่ƒฝ่พพๅˆฐ้‚ฃ็ง้ซ˜ๅบฆ๏ผŒไฝ†ไผŸไบบ็š„ๅพˆๅคšไน ๆƒฏๅ’Œไผ˜็‚น้€‚ๅˆๅฝ“ไปฃๅนด่ฝปไบบๅญฆไน ๏ผŒๆฏ•ไธšๅญฃ่ฎฉๅณๅฐ†ๅ‡บๅ›ฝ็š„ๅฅณ็ฅžๅ†™ไบ†ไธ€ๅน…ๅญ—โ€”โ€” ใ€Šๆฒๅ›ญๆ˜ฅ.้›ชใ€‹๏ผŒ็„ถๅŽๅŒ—ไธŠๅธ้ƒฝใ€‚ๅฆๅค–๏ผŒๅ‰ๆฎตๆ—ถ้—ด็œ‹ไบ†ๆฏ›็ˆท็ˆทๅœจ้’ๅนดๆ—ถๆœŸๅ†™ไธ‹็š„ ใ€Šไฝ“่‚ฒไน‹็ ”็ฉถใ€‹ใ€‚ๅ› ๆญค๏ผŒๅœจ่ฏปไบ†ไผŸไบบ็š„ๆ–‡็ซ ๅŽ๏ผŒๆ›ดไปŽ็†่ฎบไธŠ็†่งฃไบ†่บซไฝ“ๆ˜ฏๆ นๆœฌ็š„้“็†๏ผŒๅณ๏ผšไฝ“่€…๏ผŒ่ฝฝ็Ÿฅ่ฏ†ไน‹่ฝฆ่€Œๅฏ“้“ๅพทไน‹่ˆไนŸใ€‚ไฝ“่‚ฒไธ€้“๏ผŒ้…ๅพท่‚ฒไธŽๆ™บ่‚ฒ๏ผŒ่€Œๅพทๆ™บ็š†ๅฏ„ไบŽไฝ“ใ€‚

็›ดๆŽฅๅŽŸๅ›  ใ€้”™่ฏฏ็บ ๆญฃใ€ๆทฑๅฑ‚ๆฌกๅŽŸๅ› ใ€ๆฆœๆ ท็š„ๅฝฑๅ“้ƒฝๆœ‰ไบ†๏ผŒไนŸๅฐฑ้œ€่ฆ่€ƒ่™‘ๅฆ‚ไฝ•็œŸ็œŸๆญฃๆญฃ็š„่ฟ›่กŒๅฐ่ฏ•ๅฎž่ทตไบ†ใ€‚

1ใ€ๅ‰ๆœŸๅ‡†ๅค‡ โ€‹

  • ไฝ“่„‚็งคไธ€ๅฐ๏ผŒ็”จไบŽๆต‹้‡ไฝ“้‡๏ผŒๅนถ็ฒ—็•ฅไบ†่งฃ BMIใ€่„‚่‚ชใ€่‚Œ่‚‰ใ€ไฝ“ๅž‹ใ€ๅŸบ็ก€ไปฃ่ฐข็އใ€่›‹็™ฝ่ดจ็ญ‰ๆŒ‡ๆ ‡๏ผŒไปฅๅŠๆญฃๅธธไฝ“้‡ๅบ”ไฝไบŽไป€ไนˆๅŒบ้—ดใ€‚
  • ไธŽไฝ“่„‚็งคๅฏนๅบ”็š„ๆ‰‹ๆœบ APP๏ผŒ็”จไบŽๅญ˜ๅ‚จ่ฎฐๅฝ•ไธ€ไบ›ๆŒ‡ๆ ‡ๆ•ฐๆฎใ€‚ๅœจ็งฏ็ดฏๅˆฐไธ€ๅฎšๆ•ฐๆฎ้‡ๅŽ๏ผŒๅฏไปฅไปŽๆ—ถ้—ด็ปดๅบฆไธŠๆฅไบ†่งฃไฝ“้‡่ตฐๅŠฟ๏ผŒ็ป“ๅˆๅฎž้™…ๆƒ…ๅ†ตๆ€ป็ป“็ป้ชŒใ€‚
  • ็‘œไผฝๅžซใ€ๅ“‘้“ƒใ€ไฟฏๅงๆ’‘ๆ”ฏๆžถใ€ๅท่…น็ญ‰ๅฅ่บซๅ™จๆ๏ผŒ็”จไบŽ้”ป็‚ผไธŠๅŠ่บซ๏ผŒๅšไธ€ไบ›้€‚ๅˆ็š„ๆ— ๆฐง่ฟๅŠจใ€‚

2ใ€็ฌฌไธ€้˜ถๆฎต โ€‹

NOTE

็ฌฌไธ€้˜ถๆฎตๆœ€้‡่ฆ็š„ๅ‡†ๅˆ™ๆ˜ฏ๏ผšโ€œ็ฎกไฝๅ˜ด๏ผŒ่ฟˆๅผ€่…ฟโ€ใ€‚

  1. ้ฅฎ้ฃŸ้™ๅˆถๆ—ถ้—ดๅ’Œ้ฅญ้‡

ๅ‘จๆœซ้ฅฎ้ฃŸไฟๆŒๆญฃๅธธ

  • ๆ—ฉ้ค๏ผš่‡ชๅทฑๅš๏ผŒไฟ่ฏ 8 ็‚นๅˆฐ 8 ็‚นๅŠๆœŸ้—ดๅƒๆ—ฉ้ฅญ๏ผšไธ€ไธชๅŒ…ๅญ + ้ธก่›‹ + ็‡•้บฆใ€‚
  • ๅˆ้ค๏ผšๅŠไปฝ็ฑณ้ฅญ + ็ด ่œ + ่ค่œ or ่ฝป้ฃŸไธ€ไปฝใ€‚
  • ๆ™š้ค๏ผš
    • ไธญๅˆ่‹ฅๅƒ่ฝป้ฃŸ๏ผŒๅˆ™ไธ‹ๅˆๆญฃๅธธๅƒ้ฅญ
    • ไธญๅˆ่‹ฅๆญฃๅธธๅƒ้ฅญ๏ผŒๅˆ™ไธ‹ๅˆๅƒ่ฝป้ฃŸ
  1. ่ฟๅŠจๅˆ™้€‰ๆ‹ฉๆฏๅ‘จ่‡ณๅฐ‘ไธ‰ๆฌกๅœจๅˆไผ‘ๆˆ–ๆ™šไผ‘ๆ—ถ้—ด่ตฐไธ€ๅฎš็š„่ทฏ๏ผŒไฟ่ฏๆฏๆ—ฅๆญฅๆ•ฐๅœจ5000 ่‡ณ 6000 ๆญฅใ€‚
  2. ๅฑ…ๅฎถๅฅ่บซๅ™จๆ้”ป็‚ผๆฏๅ‘จไธ€ๅˆฐไธคๆฌก๏ผŒไธๅš่ฟ‡ๅคš่ฆๆฑ‚ใ€‚

็ฌฌไธ€้˜ถๆฎต็š„ๆ—ถ้—ดๅคงๆฆ‚็ปดๆŒไบ†ไธ€ไธชๆœˆ๏ผŒไฝ“้‡่Žทๅพ—ไบ† 8 ๆ–คๅทฆๅณ็š„ไธ‹้™ใ€‚ๆœŸ้—ดๆœ€ๅคง็š„ๅ›ฐ้šพๆ˜ฏๆ–ฐไน ๆƒฏ็š„ๅปบ็ซ‹ๆฏ”่พƒ้šพ๏ผŒๅŽŸๆœ‰็š„็”Ÿๆดปไน ๆƒฏๆ—ถไธๆ—ถ่ฟ›ๅ…ฅๅคง่„‘๏ผŒๅช่ƒฝ็กฌ็€ๅคด็šฎๆŽงๅˆถ่‡ชๅทฑใ€‚็”ฑไบŽๅ‘จๆœซๆฒกๆœ‰ๅšๆฏ”่พƒๅคง็š„้™ๅˆถ๏ผŒไฝ“้‡ไนŸๅ› ไธบๅ‘จๆœซ้ฅฎ้ฃŸไธๅฝ“้™†็ปญๅ‡บ็Žฐๅๅผน๏ผŒๅœจไธ‹้™ 5 ๆ–ค ๅˆฐ 8 ๆ–คไน‹้—ด่ทณ่ทƒใ€‚ๆ‰€ไปฅ๏ผŒๅ‘จๅ…ญๅŠ ไบ†ไธ€ไธช้กน็›ฎ๏ผšไธ‹ๅˆๆ‹็ฏฎ็ƒ 1ไธชๅฐๆ—ถ + ้›ๅผฏ1ไธชๅฐๆ—ถ๏ผŒๅฆ‚ๆžœ่ฟ˜ๆœ‰ไฝ“ๅŠ›๏ผŒ้ช‘่กŒ 30 ๅˆ†้’Ÿๅˆฐ 1ไธชๅฐๆ—ถใ€‚่ฟ™ไธช้›ทๆ‰“ไธๅŠจ็š„้กน็›ฎๅผ•ๅ…ฅ๏ผŒไธไฝ†่งฃๅ†ณไบ†ๅ‘จๆœซ้ฅฎ้ฃŸ็š„ไธป่ฆ้—ฎ้ข˜๏ผŒๅฏนไน ๆƒฏ็š„ๅ…ปๆˆ่ตทๅˆฐไบ†ไธ€ๅฎš็š„ๆญฃๅ‘ไฝœ็”จใ€‚

3ใ€็ฌฌไบŒ้˜ถๆฎต โ€‹

ๆœฌ้˜ถๆฎตไธป่ฆๅธๆ”ถๆ›ดๅคšๅ‡่‚ฅๆ–น้ข็š„ๅธธ่ฏ†ๅ’Œไน ๆƒฏๆฅ่ฐƒๆ•ดๅ‡่‚ฅ็ญ–็•ฅ๏ผš

  • ๅœจไฟๆŒ็ฌฌไธ€้˜ถๆฎตๅปบ็ซ‹็š„ไน ๆƒฏๅŸบ็ก€ไธŠ๏ผŒๅŠ ๅคง้”ป็‚ผๅผบๅบฆ๏ผš
    • ๆฏๅ‘จๆ—ฉไธŠ่‡ณๅฐ‘ๆœ‰ไธ‰ๆฌกๅฑ…ๅฎถ 20 ๅˆ†้’Ÿ็š„ๅ™จๆ้”ป็‚ผ๏ผ›
    • ๅทฅไฝœๆ—ฅๆฏๅคฉๅฟ…้กปๅœจๅˆไผ‘ๅ’Œๆ™šไผ‘ๆ—ถ้—ด่ตฐไธ€ๅฎš็š„่ทฏ๏ผŒไฟ่ฏๆฏๆ—ฅๆญฅๆ•ฐๅœจ 5000 ่‡ณ 6000 ๆญฅ๏ผ›
    • ๅ‘จๅ…ญ้”ป็‚ผ็ปง็ปญไฟๆŒ๏ผŒๅ‘จๆ—ฅไธๅš่ฆๆฑ‚๏ผŒๆ นๆฎ็งฐ้‡ๆ•ฐๆฎ้€‚ๅฝ“ๅฅ–ๅŠฑ่‡ชๅทฑ๏ผ›
  • ้ฅฎ้ฃŸ่ฐƒๆ•ด
    • ๆ—ฉ้ค๏ผš็މ็ฑณ + ้ธก่›‹ + ็‡•้บฆ๏ผ›
    • ๅˆ้คๅ’Œๆ™š้คไธๅšๅคงๆ”นๅ˜๏ผŒ็ฑณ้ฅญๆ”นไธบๅ‡ๅŠ๏ผ›
  • ๅนณๆ—ถๆณจ้‡ๅคšไธŽๅŒไบ‹ใ€ๅŒๅญฆๅ’Œๆœ‹ๅ‹ๆฒŸ้€š๏ผŒๅ‘ไธ€ไบ›ๆœ‰็ป้ชŒ็š„ไบบ่ฏทๆ•™ๆ–นๆณ•๏ผ›

่ฟ™ไธช้˜ถๆฎตๆ›ดๆณจ้‡ๅผบๅŒ–ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹็š„็›ฎๆ ‡ๅˆ็†ๆ€ง๏ผŒไปฅๅŠๅ…ถๆ”ถ็›Šใ€‚็œ‹ไธ€ไบ›ๆฏ”่พƒๆญฃๅ‘็š„ๆ–‡็ซ ๏ผŒ้ฅฅ้ฅฟๆ—ถ่ฝฌ็งปๆณจๆ„ๅŠ›ใ€‚ไธšไฝ™่ทŸ่€ไผ™่ฎกไฟๆŒ่ดขๅ•†ไธŽๅ‡่‚ฅๆ–น้ข็š„ๅญฆไน ๆฒŸ้€š๏ผŒๅนถๅผบๅˆถๆฏไธคๅคฉๅ†…ๅฟ…้กปๅœจๆœ‹ๅ‹ๅœˆ่‡ณๅฐ‘ๆ‰“ๅกไธ€ๆฌกใ€‚

ๅฐฑ่ฟ™ๆ ท๏ผŒ็ฌฌไบŒ้˜ถๆฎต็š„ๆ—ถ้—ดไนŸๅคงๆฆ‚็ปดๆŒไบ†ไธ€ไธชๆœˆ๏ผŒไฝ“้‡ๅ†ๆฌก่Žทๅพ—ไบ† 5 ๆ–คไธ‹้™ใ€‚ๅœจ็ฌฌไบŒ้˜ถๆฎตๅฟซ็ป“ๆŸๆ—ถ้‡ๅˆฐไบ†ไฝ“้‡ๅŸบๆœฌไธๅ†ไธ‹้™๏ผŒ็”š่‡ณไธ€ๅ‘จๅŸบๆœฌไฟๆŒไธๅ˜็š„ๆƒ…ๅ†ต๏ผŒ็ป่ฟ‡ๅˆ†ๆžไฝ“้‡ๅค–็š„ๆŒ‡ๆ ‡ๅ‘็Žฐ๏ผš่‚Œ่‚‰ไธŽ่„‚่‚ชๆŒ‡ๆ ‡ๆ•ฐๆฎไธ็จณ๏ผŒไธค่€…ๅŸบๆœฌไฟๆŒๆญคๆถˆๅฝผ้•ฟ็š„็ซžไบ‰็Šถๆ€ใ€‚ๅŸบ็ก€ไปฃ่ฐข็އๆœ‰ๆ—ถ่พพๅˆฐๆ ‡ๅ‡†็Šถๆ€๏ผŒๆœ‰ๆ—ถไธ่พพๆ ‡ใ€‚

ๅ‡่‚ฅ่ฟ™ไปถไบ‹ๆƒ…ๅฏๅคงๅฏๅฐ๏ผŒ็ฌ”่€…ๅœจ็ฌฌไบŒ้˜ถๆฎตๆ—ถ่ฟ˜ๅฑžไบŽ่บซไฝ“็ฎก็†ๅฐ็™ฝ๏ผŒไฝ“้‡็ปดๆŒไธๅ˜ๅŽๅŸบๆœฌไธๆ™“ๅพ—ๆ€Žไนˆๆžไบ†ใ€‚ๅœจ่ฟ™ๆœŸ้—ด๏ผŒไปŽๅพฎไฟก่ฏปไนฆไธŠๆ‰พไบ†ๆœฌไนฆ๏ผŒไธšไฝ™็ฟปไบ†็ฟป๏ผŒๅ…ถไธญๅคง้ƒจๅˆ†็š„่ฎฒ่งฃๆˆ–่ฎธๅฏนๅพˆๅคšไบบๆœ‰ๅธฎๅŠฉ๏ผŒไฝ†ๅฏนไบŽ็ฌ”่€…ๅญ˜ๅœจๅพˆๅคšไธๅฏ่กŒไน‹ๅค„ใ€‚่ฟ™ไธชๆ—ถๅ€™ไนŸๆƒณ่ฟ‡ๅœจๅฅ่บซๆˆฟๆŠฅไธช็ญ๏ผŒๆฏๆฌกๆƒณๅŽปๅฅ่บซๆˆฟ็œ‹็œ‹ๆ—ถ๏ผŒๅฐฑไผšๆƒณๅˆฐๅœจๅญฆๆ กๆฏ•ไธšๅญฃๆ›พๅ› ้”ป็‚ผไธๅฝ“้”ป็‚ผๅŽ็–ผไบ†ๅพˆไน…๏ผŒๅŽๆฅๅฅ่บซๆˆฟไนŸๅฐฑๆˆไบ†ๅ‡ ไธชๅทฒ็ปๆ‰พๅˆฐๅทฅไฝœ็š„ๆ‡’ไบบ็š„ๆพกๅ ‚ๅญๅ•ฆใ€‚่ฟ™ไธ€ๆฌกๆฏ”่พƒๅนธ่ฟ๏ผŒๅ› ไธบไธ€ๆฌกๅถ็„ถ็š„ไบ‹ๆƒ…ๅ‡บ็ŽฐๅŽ๏ผŒไปŽๅคงไฝฌๅฃไธญๅพ—็Ÿฅไป–ๅœจๅ‡ไฝ“้‡ๆ—ถๅฐ่ฏ•่ฟ‡ไธๅƒไธป้ฃŸใ€‚

ไธๅƒไธป้ฃŸ่ฟ™ไธชไบ‹ๆƒ…็ฌ”่€…ไธชไบบไน‹ๅ‰ๆฒกๆœ‰ๅฐ่ฏ•่ฟ‡๏ผŒๅฌ่ตทๆฅๅœจไธ€ๅฎšๆ—ถ้—ดๅ†…ๆˆ–่ฎธไธไผšๆœ‰้—ฎ้ข˜๏ผŒไฝ†้•ฟๆœŸ็œ‹ๅฏน่บซไฝ“ๅฏ่ƒฝๅญ˜ๅœจๆŸไบ›ไธๅฅฝ็š„ๅœฐๆ–นใ€‚ๅœจๆŸฅ่ฟ‡ไธ€ไบ›่ต„ๆ–™ๆ–‡็ซ ๅŽ๏ผŒ็ฌ”่€…่ฟ˜ๆ˜ฏๅ†ณๅฎšๅœจ็ฌฌไธ‰้˜ถๆฎต่ฏ•่ฏ•ไธ€ๆฎตๆ—ถ้—ดใ€‚

4ใ€็ฌฌไธ‰้˜ถๆฎต โ€‹

็ฌฌไธ‰้˜ถๆฎตไธป่ฆ้€š่ฟ‡ไปฅไธ‹ๅ‡ ไธชๆ–น้ขๆฅ็ปง็ปญๆŠŠๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹ๆ‰ง่กŒไธ‹ๅŽป๏ผš

  1. ่ฟ›ไธ€ๆญฅๅผบๅŒ–ๆŠŠๆกๆœ€็ปˆ็›ฎๆ ‡๏ผŒๅผ•ๅ…ฅๅนณๆ—ถๅค„็†้กน็›ฎ็š„็ป้ชŒๆฅ็ฎก็†ใ€ๆ‹†่งฃ็›ฎๆ ‡๏ผšๅฐ†ๆ€ป็›ฎๆ ‡ๆ‹†่งฃไธบๆฏ 6 ๅคฉ่‡ณๅฐ‘ๅ‡้‡ 1 ๆ–ค๏ผŒๆฏๆœˆไฝ“้‡ไธ‹้™่‡ณๅฐ‘ 5 ๆ–คใ€‚ๅฆๅค–๏ผŒๆŠŠๆ—ฅๅธธ็œ‹็š„ๆ—ถ้—ด็ฎก็†็›ธๅ…ณไนฆ็ฑ๏ผŒไนŸๅฐ่ฏ•ๅบ”็”จไบŽๅทฅไฝœใ€็”Ÿๆดปๅ’Œๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹ไธŠใ€‚
  2. ๅœจไฟๆŒ็ฌฌไธ€ๅ’ŒไบŒ้˜ถๆฎตๅปบ็ซ‹็š„ไน ๆƒฏๅŸบ็ก€ไธŠ๏ผŒ็ปง็ปญๅŠ ๅคง่ฎญ็ปƒๅผบๅบฆ๏ผš
    • ๅทฅไฝœๆ—ฅๆฏๅคฉๆ—ฉไธŠๅœจๆ—ฉ้ฅญๅ‰๏ผŒ่ฟ›่กŒ 20-30ๅˆ†้’Ÿ็š„ๅ™จๆ้”ป็‚ผ๏ผ›
    • ๅทฅไฝœๆ—ฅๆฏๅคฉ่‡ณๅฐ‘ไธ‹ไธ€ๆฌกๆฅผๆขฏ๏ผŒไธไน˜ๅ็”ตๆขฏ๏ผ›
    • ๅทฅไฝœๆ—ฅๆฏๅคฉๅˆไผ‘ๅ’Œๆ™šไผ‘่ตฐไธ€ๅฎš็š„่ทฏ๏ผŒไฟ่ฏๆฏๅคฉๆญฅๆ•ฐๅœจ 6000 ๅˆฐ 8000 ๆญฅ๏ผ›
    • ๆฏๅ‘จไธคๆฌกไฝฟ็”จๅฐๅŒบๆˆ–ๅ…ฌๅธๅฅ่บซๆˆฟๅ™จๆ่ฟ›่กŒ 30 - 40 ๅˆ†้’Ÿ็š„ๆ— ๆฐง่ฟๅŠจ๏ผ›
    • ๅ‘จๅ…ญ้”ป็‚ผ็ปง็ปญไฟๆŒ๏ผŒๅ‘จๆ—ฅไธๅš่ฆๆฑ‚๏ผŒไฝ†ๆŽงๅˆถ้ฅฎ้ฃŸ๏ผŒๅคšๅƒไบ›่”ฌ่œๅ’Œๆฐดๆžœ๏ผ›
  3. ้ฅฎ้ฃŸ่ฐƒๆ•ด๏ผˆๅทฅไฝœๆ—ฅๅˆ้ฅญๅ’Œๆ™š้ฅญๆœ€ๅคšๅƒไธคๅคฉไธป้ฃŸ๏ผŒไธ”ไธป้ฃŸไธบๅŠไปฝ็ณ™็ฑณ้ฅญ๏ผ‰

๐Ÿฅ— ้ฅฎ้ฃŸ่กจ

ๆ—ถๆฎตๅฏ้€‰้กน
ๆ—ฉ้ค็މ็ฑณ/็บข่–ฏ + ้ธก่›‹ + ไฝŽ่„‚็‰›ๅฅถ็‡•้บฆ
็މ็ฑณ/็บข่–ฏ + ้ธก่›‹็พน + ไฝŽ่„‚็‰›ๅฅถ็‡•้บฆ
ๅ‘จๆœซๆ—ฉ้ฅญ็މ็ฑณ/็บข่–ฏ/่ฑ†่… + ้ธก่›‹็พน + ไฝŽ่„‚็‰›ๅฅถ็‡•้บฆ
ๅˆ้ค/ๆ™š้ค็ด ่œ + ๅฐไปฝ่ฝป้ฃŸ๏ผˆๅซๅฐ‘้ƒจๅˆ†ไธป้ฃŸ๏ผ‰
้ฑผ + ็ด ่œ๏ผˆไธๅƒไธป้ฃŸ/ๅŠไปฝ็ณ™็ฑณ้ฅญ๏ผ‰
่ฝป้ฃŸไธ€ไปฝ
ๅ‘จๆœซๅˆ้ค/ๆ™š้ฅญๅฐ่ฏ•ไฝฟ็”จ้ธก่ƒธ่‚‰ใ€ๆ‰‡่ด่‚‰ใ€่ƒก่ๅœใ€่ฅฟ่“่Šฑใ€็މ็ฑณ็ญ‰้ฃŸๆๆญ้…ๅšไธ€้“็ฎ€็‰ˆ่ฝป้ฃŸ + ็‡•้บฆ/ๅฐ‘้‡ๆฐด้ฅบ
ไฝฟ็”จไธ‰ๆ–‡้ฑผใ€ๅทดๆฒ™้ฑผ็‰‡ใ€่™พไป็ญ‰้ฃŸๆๅšไธ€้“่œๆˆ–ๆฑค + ็‡•้บฆ/ๅฐ‘้‡ๆฐด้ฅบ
ไฝฟ็”จ้’ๆค’ใ€้’่œใ€้ป„็“œใ€ๆœจ่€ณใ€้ธก่›‹็ญ‰้ฃŸๆๅšไธ€ๅˆฐไธค้“ๅฎถๅธธ่œ + ็‡•้บฆ/ๅฐ‘้‡ๆฐด้ฅบ

็ฌฌไธ‰้˜ถๆฎตไนŸๆ˜ฏๅคงๆฆ‚็ปดๆŒไบ†ไธ€ไธชๆœˆ๏ผŒไธ€็›ดๅˆฐ 8 ๆœˆๅบ•๏ผŒๅœจๅƒๆžๅฐ‘้‡ไธป้ฃŸๅ’ŒๅŠ ๅคง่ฟๅŠจ้‡็š„ๅšๆŒไธ‹๏ผŒไฝ“้‡ๅˆ่Žทๅพ—ไบ† 5โ€”6ๆ–ค็š„ไธ‹้™๏ผŒ่™ฝ็„ถไผšๅ‘ˆ็Žฐๅฐ‘้ƒจๅˆ†ๆณขๅŠจ๏ผŒไฝ†ๅŸบๆœฌ่ƒฝๅคŸๆŽงๅˆถไฝๆ•ดไฝ“็ปง็ปญไธ‹้™็š„่ถ‹ๅŠฟใ€‚่ฟ™ไธ€้˜ถๆฎต๏ผŒๅฏน็ฌ”่€…ๆฅ่ฏดๅ–ๅพ—ไบ†ไธ€ไบ›ๆฏ”่พƒๅคง็š„่ฟ›ๆญฅ๏ผŒ่ฟ™ไบ›่ฟ›ๆญฅไธๅฑ€้™ไบŽๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹ไธŠ๏ผš

  • ๅฐ่ฏ•ๆŠŠไธ€ไบ›ๅˆซ็š„้ข†ๅŸŸๆˆ–ไบ‹ๅŠก็š„็ป้ชŒ่ฟ็งปใ€ๅบ”็”จๅœจๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹ไธŠ๏ผŒๅผบๅŒ–ไบ†ไธ€็งไธ‡ๅ˜ไธ็ฆปๅ…ถๅฎ—๏ผŒไธ‡็‰ฉๆœ‰่ง„ๅˆ™ๅฏๅพช็š„ๆ€็ปดๆ–นๅผ๏ผ›
  • ๅญฆไผšๆŽฅๅ—ๅนถๅฐ่ฏ•ๅˆซไบบ็š„ๅปบ่ฎฎ๏ผŒไฝ†ไธไผšไธ€ๅ‘ณๆŒ‰็…งๅˆซไบบ็š„ๅปบ่ฎฎๆฅ๏ผŒ่ฆ็ป“ๅˆๅฎž้™…ๆƒ…ๅ†ตๅ…ทไฝ“ๅค„็†๏ผ›
  • ่‡ช่บซๅŽจ่‰บ่ฟ›ไธ€ๆญฅ่Žทๅพ—ไบ†ๆๅ‡ๆœบไผš๏ผŒๅฏนๅš้ฅญ่ฟ™ไปถๅฐไบ‹ไนŸ่ตทๅˆฐไบ†ไฟƒ่ฟ›ไฝœ็”จ๏ผŒๅœจๅš้ฅญ่Šฑๆ ทๅ’Œๅš้ฅญ่Šฑ่ดนๆ—ถ้—ดไธŠ็š„ๆŠŠๆกๆ›ดๅŠ ็ฒพ็กฎ๏ผ›

5ใ€็ฌฌๅ››้˜ถๆฎต๏ผˆ2021.09๏ผ‰ โ€‹

็ฌฌๅ››้˜ถๆฎต๏ผŒๅณ็Žฐ้˜ถๆฎต๏ผˆ9ๆœˆไปฝ๏ผ‰๏ผŒๆญฃๅœจ้€š่ฟ‡ไปฅไธ‹ๅ‡ ็งๆ–นๅผๆฅๅฐ†ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹็ปง็ปญ๏ผš

  1. ๅšๆŒๆ‰ง่กŒๆ‹†่งฃๅŽ็š„็›ฎๆ ‡๏ผšๆฏ 6 ๅคฉ่‡ณๅฐ‘ๅ‡้‡ 1 ๆ–ค๏ผŒๆฏๆœˆไฝ“้‡ไธ‹้™่‡ณๅฐ‘ 5 ๆ–คใ€‚
  2. ๅœจไฟๆŒ็ฌฌไธ€ใ€ไบŒใ€ไธ‰้˜ถๆฎตๅปบ็ซ‹็š„ไน ๆƒฏๅŸบ็ก€ไธŠ๏ผŒ็ปง็ปญๅŠ ๅคง่ฎญ็ปƒๅผบๅบฆ๏ผš
    • ๅทฅไฝœๆ—ฅๆฏๅคฉๆ—ฉไธŠๅœจๆ—ฉ้ฅญๅ‰๏ผŒ่ฟ›่กŒ 30 ๅˆ†้’Ÿ็š„ๅ™จๆ้”ป็‚ผ
    • ๅทฅไฝœๆ—ฅๆฏๅคฉ่‡ณๅฐ‘ไธ‹ไธ€ๆฌกๆฅผๆขฏ๏ผŒไธไน˜ๅ็”ตๆขฏ
    • ๅทฅไฝœๆ—ฅๆฏๅคฉๅˆไผ‘ๅ’Œๆ™šไผ‘่ตฐไธ€ๅฎš็š„่ทฏ๏ผŒไฟ่ฏๆฏๅคฉๆญฅๆ•ฐๅœจ 8000 ๆญฅไปฅไธŠใ€‚ๅ‘จๆœซไธๅš้™ๅˆถ๏ผŒๆญฅๆ•ฐๅฐฝ้‡ไธ่ฆ่ถ…่ฟ‡10000ใ€‚ๅš้™ๅˆถ็š„ๅŽŸๅ› ๏ผš่ตฐ่ทฏๅชๆ˜ฏ็ปดๆŒๆญฃๅธธ็š„ๆœ‰ๆฐง่ฟๅŠจ๏ผŒๅ…ถๆ”ถ็›Šไธไธ€ๅฎšๆฏ”ไธ€ๆฎตๆ—ถ้—ดๅผบๆœ‰ๅŠ›็š„ๆ— ๆฐง่ฟๅŠจๆœ‰ๆ•ˆๆžœ๏ผŒไธ”ๅฎนๆ˜“ๅฝฑๅ“่†็›–๏ผŒไธ่ƒฝ็ปง็ปญๅขžๅŠ ใ€‚
    • ๆฏๅ‘จไธคๅˆฐไธ‰ๆฌกไฝฟ็”จๅฐๅŒบๆˆ–ๅ…ฌๅธๅฅ่บซๆˆฟๅ™จๆ่ฟ›่กŒ 30 - 40 ๅˆ†้’Ÿ็š„ๆ— ๆฐง่ฟๅŠจ
    • ๅ‘จๅ…ญๆ‹็ฏฎ็ƒ็š„ๅœบๅœฐๅ’Œๆ—ถ้—ดไธๅ†็ปง็ปญๅš้™ๅˆถ๏ผŒๅ‘จๅ…ญๅ’Œๅ‘จๆ—ฅไพง้‡่ฟ›่กŒๅˆ†็ป„็š„ๆ— ๆฐง่ฟๅŠจๆฅๅŠ ๅผบ้”ป็‚ผ๏ผŒๅช่ฆไฟ่ฏๆถˆ่€— >= ๆ‘„ๅ…ฅ้‡ ๅณๅฏใ€‚
  3. ้ฅฎ้ฃŸๅพฎ่ฐƒ๏ผšๆ•ดไฝ“ไฟๆŒ็ฌฌไธ‰้˜ถๆฎต็š„ๆ‰ง่กŒ๏ผŒๅœจๅฐ่ฏ•ๅŽป่ง‚ๅฏŸๆ”นๅ–„
    • ๅทฅไฝœๆ—ฅ็ปง็ปญๅคšๅŽปไธๅŒ็š„้คๅŒบๅƒ้ฅญ๏ผŒ่ง‚ๅฏŸๅŒไบ‹ไปฌใ€ๅทฅๅ‹ๅƒไป€ไนˆ๏ผŒไปฅๅŠ้คๅŒบๅคงๆฆ‚้ƒฝๆ˜ฏๅšไป€ไนˆ้ฅญ่œ๏ผ›
    • ๅ‘จๆœซๅš้ฅญ๏ผŒๅฏๅŠจไฝฟ็”จๆฉ„ๆฆ„ๆฒน๏ผŒๆฉ„ๆฆ„ๆฒน็š„ๅ…ทไฝ“ๆ•ˆ็”จ่ฟ™้‡Œไธๅšไป‹็ป๏ผŒๆƒณๅฟ…ๅพˆๅคšไบบๅทฒ็ป็Ÿฅๆ™“๏ผŒ็กฎๅฎžๆœ‰็‚นๅฐ่ดต๏ผŒๅนธไบๅฝ“ๅˆๅญฆไน ๅŸนๅ…ป่ดขๅ•†๏ผŒๅ–ไธ€้ƒจๅˆ†ๅŸบ้‡‘่ฟ˜ๆ˜ฏๅฏไปฅๆถˆ่ดนๆฉ„ๆฆ„ๆฒน็š„๏ผ›
  4. ็ปง็ปญ็งฏ็ดฏๅธธ่ฏ†๏ผšไฟๆŒไธšไฝ™้€š่ฟ‡็œ‹ไนฆๆˆ–ๆ–‡็ซ ๏ผŒไธŽๅŒไบ‹ใ€ๅŒๅญฆๅ’Œๆœ‹ๅ‹ไบคๆต็ญ‰ๆ–นๅผไบ†่งฃไธ€ไบ›ๅฐๅธธ่ฏ†ใ€‚ๆฏๅ‘จ้˜…่ฏป1- 2็ฏ‡ไธ“ๅˆŠไผš APP ไธญๅ…ณไบŽ่ฟๅŠจๅฅๅบทๆ–น้ข็š„ๆ‚ๅฟ—ๆ–‡็ซ ๏ผŒไบ†่งฃไธ€ไบ›ๅธธ่ฏ†ใ€‚
  5. ๅ…ณๆณจๅนถไผ˜ๅŒ–ไฝ“้‡็งคๆ—ฅๅธธ็š„ ๆ€ปไฝ“้‡ใ€ๅŸบ็ก€ไปฃ่ฐข็އใ€่‚Œ่‚‰ใ€ๆฐดๅˆ†็ญ‰ๆŒ‡ๆ ‡๏ผš
    • ๆ€ปไฝ“้‡้œ€่ฆๅ‘ˆ็Žฐไธ‹้™็กฎๅฎž๏ผ›
    • ่‚Œ่‚‰ๅ ๆฏ”ใ€ๅŸบ็ก€ไปฃ่ฐข็އใ€ๆฐดๅˆ†ไธ‰ไธชๆŒ‡ๆ ‡ไผ˜ๅŒ–่‡ณ็จณๆญฅๅœ็•™ๅœจๆ ‡ๅ‡†่Œƒๅ›ดๅ†…๏ผ›

็Žฐ้˜ถๆฎตไนŸ้œ€่ฆ็ปดๆŒไธ€ไธชๆœˆ๏ผŒๅฆ‚ๆžœๅ‡บ็Žฐๅๅผนๆƒ…ๅ†ต๏ผŒ็”š่‡ณ้œ€่ฆ่Šฑ่ดนไธคไธชๆœˆใ€‚ๅฝ“ๅ‰็›ฎๆ ‡ใ€่ฟๅŠจใ€้ฅฎ้ฃŸ่ฐƒๆ•ดๅŸบๆœฌๆญฃๅธธๆ‰ง่กŒ๏ผŒๆŒ‡ๆ ‡ไธŽไธšไฝ™ๅญฆไน ๅ’ŒไบคๆตๅŽ็ปญๅธŒๆœ›ไปฅๅ‘จไธบๅ•ไฝๆŽจ่ฟ›ใ€‚

็ป“ๅฐพ โ€‹

ไปฅไธŠไป…ไป…ๆ˜ฏ็ป“ๅˆไธชไบบๅฎž่ทต็š„่ฎฐๅฝ•๏ผŒ่ฟ˜้œ€่ฆ่ฟ›ไธ€ๆญฅๅฎž้ชŒไธ‹ๅŽป๏ผŒไผฐ่ฎกๆœชๅฟ…้€‚ๅˆๆฏไธ€ไธชไบบใ€‚ๆˆ‘ไปฌ่ฟˆๅ…ฅ็คพไผšๅŽ๏ผŒ้šพๅ…ไผš็œ‹ๅˆฐ็คพไผš็”จๅ„็งๅฑžๆ€งๆฅ่ฏ„ๅˆคไธ€ไธชไบบใ€‚ๅœจ่ฟ™ๆ‰€ๆ›ดๅคง็š„ๅญฆๆ กไธญ๏ผŒ็ฌ”่€…ๆ„Ÿ่ง‰่‡ชๅทฑๅฑžไบŽ่ฝฌๅ˜ๆฏ”่พƒๆ…ข็š„ไธ€ๆ‰นไบบใ€‚

ไน‹ๅ‰ๅพˆๅคšๅŒๅญฆๅ’Œๆœ‹ๅ‹็”š่‡ณๆ—ฉๅทฒ่žๅ…ฅๅˆฐ็คพไผšไน‹ไธญ๏ผŒ่€Œ็ฌ”่€…ไธชไบบ่ง‰ๅพ—่‡ชๅทฑไปŽ 2020 ๅนดๆ‰่ฝฌๅ˜ไธบ็คพไผšไบบใ€‚ๅฟซไธŽๆ…ขๅชๆ˜ฏ่กจ่ฑก๏ผŒๅช่ฆ่ƒฝๆŠŠๆกไฝ่ง„ๅˆ™็š„่„‰ๆ๏ผŒ็ป“ๅˆ่‡ชๅทฑ็š„ไน ๆƒฏๅ’Œ่Š‚ๅฅไนŸๅฏไปฅๆ…ขๆ…ขไธŠ่ฝจ๏ผŒ็บต็„ถไธญ้—ดๆœ‰ไธ€ไบ›ๅๅทฎๆˆ–ๆŒซๆŠ˜๏ผŒไฝ†่งฆๅบ•ๅๅผน๏ผŒๅ็œ่‡ช่บซ็š„ไธ่ถณไผšๆœ‰ๆ–ฐ็š„้ข†ๆ‚Ÿๅขƒ็•Œใ€‚

',39)])])}const _=l(n,[["render",s]]);export{c as __pageData,_ as default}; +import{_ as l,g as r,h as o,U as i}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const c=JSON.parse('{"title":"็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ”นๅ–„็š„ๆ–นๅผๆŽจๅŠจๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšไปŽโ€œไนฆ็”Ÿๆ„ๆฐ”โ€ๅˆฐๅˆๅ…ฅ็คพไผš็š„โ€œไธญๅนดๆฒน่…ปโ€ๅฑๆœบ๏ผŒไธ€ๆฌกๅฅๅบท่ญฆๆŠฅ่ฎฉ็ฌ”่€…ๅผ€ๅฏไบ†่ฟ™ๅœบๆทฑๅˆป็š„่‡ชๆˆ‘ๅฏน่ฏไธŽ่กŒๅŠจใ€‚ๆœฌๆ–‡่ฏฆ็ป†ๅค็›˜ไบ†็ฌ”่€…ไปŽๅฅๅบทๅฑๆœบๅ‡บๅ‘๏ผŒ้€š่ฟ‡ๅ››ไธช้˜ถๆฎต็š„ๅพชๅบๆธ่ฟ›๏ผŒๆˆๅŠŸๅฎž็Žฐไฝ“้‡็ฎก็†็š„่ฟ‡็จ‹ใ€‚ๅŒบๅˆซไบŽ็›ฒ็›ฎ่ทŸ้ฃŽ๏ผŒ็ฌ”่€…ๅœจๅฎž่ทตไธญๅผ•ๅ…ฅไบ†็›ฎๆ ‡ๆ‹†่งฃใ€ๆ•ฐๆฎ็›‘ๆŽง๏ผˆไฝ“่„‚็งคๆŒ‡ๆ ‡๏ผ‰ใ€่ทจ้ข†ๅŸŸ็ป้ชŒ่ฟ็งป๏ผˆๅฆ‚้กน็›ฎ็ฎก็†ใ€ๆ—ถ้—ด็ฎก็†๏ผ‰ไปฅๅŠๅฏนไธๅŒ็ญ–็•ฅ๏ผˆๅฆ‚ๆŽงๅˆถ้ฅฎ้ฃŸใ€ๅŠ ๅคงๆ— ๆฐง่ฟๅŠจใ€ๅฐ่ฏ•ไธๅƒไธป้ฃŸ๏ผ‰็š„่พฉ่ฏ้‡‡็บณใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ไปฝๅ‡่‚ฅ่ฎฐๅฝ•๏ผŒๆ›ดๆ˜ฏไธ€ๆฌก็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ€็ปด้‡ๆž„็”Ÿๆดป็งฉๅบใ€ๅฎž็Žฐ่บซๅฟƒๅ‡็บง็š„ๅฎžๆ“ๆŒ‡ๅ—ใ€‚","frontmatter":{"date":"2022-09-12T08:16:00.000Z","title":"็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ”นๅ–„็š„ๆ–นๅผๆŽจๅŠจๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšไปŽโ€œไนฆ็”Ÿๆ„ๆฐ”โ€ๅˆฐๅˆๅ…ฅ็คพไผš็š„โ€œไธญๅนดๆฒน่…ปโ€ๅฑๆœบ๏ผŒไธ€ๆฌกๅฅๅบท่ญฆๆŠฅ่ฎฉ็ฌ”่€…ๅผ€ๅฏไบ†่ฟ™ๅœบๆทฑๅˆป็š„่‡ชๆˆ‘ๅฏน่ฏไธŽ่กŒๅŠจใ€‚ๆœฌๆ–‡่ฏฆ็ป†ๅค็›˜ไบ†็ฌ”่€…ไปŽๅฅๅบทๅฑๆœบๅ‡บๅ‘๏ผŒ้€š่ฟ‡ๅ››ไธช้˜ถๆฎต็š„ๅพชๅบๆธ่ฟ›๏ผŒๆˆๅŠŸๅฎž็Žฐไฝ“้‡็ฎก็†็š„่ฟ‡็จ‹ใ€‚ๅŒบๅˆซไบŽ็›ฒ็›ฎ่ทŸ้ฃŽ๏ผŒ็ฌ”่€…ๅœจๅฎž่ทตไธญๅผ•ๅ…ฅไบ†็›ฎๆ ‡ๆ‹†่งฃใ€ๆ•ฐๆฎ็›‘ๆŽง๏ผˆไฝ“่„‚็งคๆŒ‡ๆ ‡๏ผ‰ใ€่ทจ้ข†ๅŸŸ็ป้ชŒ่ฟ็งป๏ผˆๅฆ‚้กน็›ฎ็ฎก็†ใ€ๆ—ถ้—ด็ฎก็†๏ผ‰ไปฅๅŠๅฏนไธๅŒ็ญ–็•ฅ๏ผˆๅฆ‚ๆŽงๅˆถ้ฅฎ้ฃŸใ€ๅŠ ๅคงๆ— ๆฐง่ฟๅŠจใ€ๅฐ่ฏ•ไธๅƒไธป้ฃŸ๏ผ‰็š„่พฉ่ฏ้‡‡็บณใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ไปฝๅ‡่‚ฅ่ฎฐๅฝ•๏ผŒๆ›ดๆ˜ฏไธ€ๆฌก็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ€็ปด้‡ๆž„็”Ÿๆดป็งฉๅบใ€ๅฎž็Žฐ่บซๅฟƒๅ‡็บง็š„ๅฎžๆ“ๆŒ‡ๅ—ใ€‚","permalink":"/growth/weight-loss","coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/health_bg.png","top":true,"tags":["ๅฅๅบท","่ฟๅŠจ"],"categories":["ไธชไบบๆˆ้•ฟ"]},"headers":[],"relativePath":"40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/20.ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹้˜ถๆฎต้š็ฌ”ๆฑ‡ๆ€ป.md","filePath":"40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/20.ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹้˜ถๆฎต้š็ฌ”ๆฑ‡ๆ€ป.md"}'),n={name:"40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/20.ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹้˜ถๆฎต้š็ฌ”ๆฑ‡ๆ€ป.md"};function s(a,t,e,g,d,p){return o(),r("div",null,[...t[0]||(t[0]=[i('

็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ”นๅ–„็š„ๆ–นๅผๆŽจๅŠจๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹ โ€‹

ๆ‘˜่ฆๆ€ป็ป“๏ผšไปŽโ€œไนฆ็”Ÿๆ„ๆฐ”โ€ๅˆฐๅˆๅ…ฅ็คพไผš็š„โ€œไธญๅนดๆฒน่…ปโ€ๅฑๆœบ๏ผŒไธ€ๆฌกๅฅๅบท่ญฆๆŠฅ่ฎฉ็ฌ”่€…ๅผ€ๅฏไบ†่ฟ™ๅœบๆทฑๅˆป็š„่‡ชๆˆ‘ๅฏน่ฏไธŽ่กŒๅŠจใ€‚ๆœฌๆ–‡่ฏฆ็ป†ๅค็›˜ไบ†็ฌ”่€…ไปŽๅฅๅบทๅฑๆœบๅ‡บๅ‘๏ผŒ้€š่ฟ‡ๅ››ไธช้˜ถๆฎต็š„ๅพชๅบๆธ่ฟ›๏ผŒๆˆๅŠŸๅฎž็Žฐไฝ“้‡็ฎก็†็š„่ฟ‡็จ‹ใ€‚ๅŒบๅˆซไบŽ็›ฒ็›ฎ่ทŸ้ฃŽ๏ผŒ็ฌ”่€…ๅœจๅฎž่ทตไธญๅผ•ๅ…ฅไบ†็›ฎๆ ‡ๆ‹†่งฃใ€ๆ•ฐๆฎ็›‘ๆŽง๏ผˆไฝ“่„‚็งคๆŒ‡ๆ ‡๏ผ‰ใ€่ทจ้ข†ๅŸŸ็ป้ชŒ่ฟ็งป๏ผˆๅฆ‚้กน็›ฎ็ฎก็†ใ€ๆ—ถ้—ด็ฎก็†๏ผ‰ไปฅๅŠๅฏนไธๅŒ็ญ–็•ฅ๏ผˆๅฆ‚ๆŽงๅˆถ้ฅฎ้ฃŸใ€ๅŠ ๅคงๆ— ๆฐง่ฟๅŠจใ€ๅฐ่ฏ•ไธๅƒไธป้ฃŸ๏ผ‰็š„่พฉ่ฏ้‡‡็บณใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ไปฝๅ‡่‚ฅ่ฎฐๅฝ•๏ผŒๆ›ดๆ˜ฏไธ€ๆฌก็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ€็ปด้‡ๆž„็”Ÿๆดป็งฉๅบใ€ๅฎž็Žฐ่บซๅฟƒๅ‡็บง็š„ๅฎžๆ“ๆŒ‡ๅ—ใ€‚

ๅ†™ๅœจๅ‰้ข โ€‹

ๅœจ็ปๆตŽๅฟซ้€Ÿๅ‘ๅฑ•็š„ๅคง่ƒŒๆ™ฏไธ‹๏ผŒไธ€ๆ‰นๅˆไธ€ๆ‰น็š„ๅคงๅญฆ็”Ÿ้™†็ปญ่ตฐๅ‡บๆ ก้—จ่ฟ›ๅ…ฅ็คพไผšๅคง่ˆžๅฐใ€‚้š็€ๅนด้พ„ไธŽๅทฅไฝœๅนด้™็š„ๅขž้•ฟ๏ผŒไธ็Ÿฅ็ฝฎ่บซไบŽๅ…ถไธญ็š„ไฝ ๆ˜ฏๅฆๆ„Ÿๆ…จ่ฟ‡่‡ชๅทฑๅœจ้˜…ๅކไธŠไปŽโ€œไนฆ็”Ÿๆ„ๆฐ”โ€ๆธๆธๆผ”ๅ˜ไธบโ€œๅ››ๅนณๅ…ซ็จณ๏ผŒๆธธๅˆƒๆœ‰ไฝ™โ€๏ผ›ๅœจ่บซไฝ“ๅ…ปๆŠคๆ–น้ขไปŽโ€œ่บซๆๆ— ๆ•Œ๏ผŒๅนด้พ„ๆˆ่ฟท๏ผŒๅฎžๆ‰“ๅฎžไธ€ไธชไผ ๅฅ‡โ€ๆผ”ๅ˜ไธบโ€œไธญๅนดๆฒน่…ปโ€ใ€‚ๆฏไธชไบบๅคšๅฐ‘้ƒฝๆœ‰่‡ชๅทฑ็š„็ญ”ๆกˆ๏ผŒ็ฌ”่€…็š„็ญ”ๆกˆๆ˜ฏ๏ผš่ตฐๅ‡บๆ ก้—จ่ฟ›ๅ…ฅ็คพไผšๅŽ๏ผŒๅฝ“ๅˆๅฏน่บซ่พนไบบๆœ‰็‚น่‹›ๅˆป๏ผŒ้‡ไบ‹็ซๆ€ฅ็ซ็‡Ž็š„่‡ชๅทฑ้€ๆธๅพ—ๅˆฐไบ†ๆ”นๅ–„ใ€‚่บซไฝ“ๅดๅ› ๅŽŸๆœฌๅœจๅคงๅญฆๆ—ถๆฒกๆœ‰ๆ€Žไนˆๅœจๆ„๏ผŒ็ป่ฟ‡้•ฟๅนด็ดฏๆœˆๅœฐๆด—็คผไบฎไบ†ไธ€ๆฌกๅฐ็บข็ฏใ€‚ๅœจๅบทๅคๆœŸ้—ด๏ผŒไธๆญขไธ€ๆฌกๅๆ€่ฟ‡ไน‹ๅ‰็š„็”Ÿๆดปๆ–นๅผๅ’Œๅ…ฅไธ–ๆจกๅผ๏ผŒๆƒณไธ€ๆƒณ + ๅ››ๅค„็œ‹ไธ€็œ‹ๅŽ๏ผŒๆ…ขๆ…ขไนŸๅฐฑๅผ€ๆ‚Ÿไบ†๏ผŒ่‡ช็„ถ่ฆๅฏๅŠจไธ€ไบ›ๆ”นๅ˜ๅฐ่ฏ•ใ€‚

ๅ› ๆญค๏ผŒไนŸๅฐฑๆœ‰ไบ†่ฟ™็ฏ‡ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹้˜ถๆฎต้š็ฌ”ๆฑ‡ๆ€ปใ€‚ไธ€ๆ–น้ขๆฅๆ€ป็ป“ไธ‹ๅ‰ๅ‡ ไธช้˜ถๆฎต็š„ๆ“ไฝœ๏ผŒๅœจๆ“ไฝœ็š„่ฟ‡็จ‹ไธญไนŸๆœ‰่ทŸ่€ๅŒๅญฆใ€่€ๆœ‹ๅ‹ไบ’็›ธ่ฏทๆ•™่ฟ‡๏ผŒๅธŒๆœ›ๅ…ถไธญ็š„ไธ€ไบ›ๆ“ไฝœ่ƒฝๅฏน้œ€่ฆ็š„ไบบๆœ‰ไธ€ๅฎš็š„ๅธฎๅŠฉ๏ผ›ๅฆไธ€ๆ–น้ขไนŸๆƒณๅ€ŸๅŠฉ็ฝ‘็ปœๅนณๅฐ๏ผŒๆ”ถ้›†ไธ€ไบ›ๅปบ่ฎฎ๏ผŒๆฅๆ”นๅ–„ไธ่ถณ็š„ๅœฐๆ–นใ€‚

ไปŽๆ•ดไฝ“ๆฅ่ฎฒ๏ผŒๅ‡่‚ฅ็š„ๅŽŸๅ› ๆœ‰ไปฅไธ‹ๅ‡ ็‚น๏ผš

  • ใ€็›ดๆŽฅๅŽŸๅ› ใ€‘่บซไฝ“ๅบทๅคไบ†๏ผŒไนŸๆƒณ้€šไบ†ไธ€ไบ›ไบ‹ๆƒ…๏ผŒ่‡ช็„ถ่ฆๅ‘ๅ‰็œ‹๏ผŒๅŽปๅฐ่ฏ•ๆ”นๅ˜ใ€‚็ป“ๅˆ่‡ช่บซ็Žฐ็Šถๅˆ†ๆž๏ผŒไฝ“้‡้™ไธ‹ๅŽปๅฏนๅทฅไฝœใ€็”Ÿๆดปๅ’Œไธ€ไบ›ๅ‡บๆธธ้ƒฝไผšๅ‘ˆ็Žฐๅ‡บๆ˜ฏๅฎžๅฎžๅœจๅœจ็š„็›Šๅค„ใ€‚ๅ› ๆญค๏ผŒๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹ไนŸๅฐฑๆˆไบ†ๆ—ขๅ……ๅˆ†ไนŸๅพˆๆœ‰ๅฟ…่ฆ็š„ไบ‹ๆƒ…๏ผŒๅฏๅš
  • ใ€้”™่ฏฏ็บ ๆญฃใ€‘ไน‹ๅ‰็ฌ”่€…ๅ› ็›ธไฟก ใ€ๆ—ฉ้ฅญๅƒๅพ—ๅฅฝ๏ผŒๅˆ้ฅญๅฐ‘ๅƒ็‚น๏ผŒๆ™š้ฅญๆญฃๅธธๅƒใ€‘ๅฏไปฅ็ผ“่งฃไฝ“้‡ไธŠๅ‡่€Œ้€‰ๆ‹ฉๅคงๆ—ฉไธŠๅƒๅพˆๅคšๆ—ฉ้คใ€‚ไฝ†็”ฑไบŽๆ—ฉไธŠ 9 ็‚นๅทฆๅณๆ‰ๅƒๆ—ฉ้ฅญ๏ผŒไธ€ไธชๅคšๆœˆๅŽๆƒŠๅฅ‡ๅœฐๅ‘็Žฐๆถจไบ† 10 ๆ–คใ€‚ๅ› ๆญค๏ผŒๅ†ไธๆŽงๅˆถไธ‹ไฝ“้‡๏ผŒๆ”นๅ˜ไธ‹็”Ÿๆดปๆ–นๅผ๏ผŒๅพˆๅฟซๅˆ่ฆๅ›žๅˆฐไธ€ๅฟƒไธ€ๆ„ๆ•ฒ้”ฎ็›˜๏ผŒๅ†™็š„ๅŸบๆœฌ้ƒฝๆ˜ฏ bug ๏ผŒไธšไฝ™ๅฏน็€็”ต่„‘ๅฏไปฅๅๅŠๅคฉ็š„ๅ›บๆœ‰ๆจกๅผไบ†
  • ใ€ๆทฑๅฑ‚ๆฌกๅŽŸๅ› ใ€‘็ฌ”่€…ไธšไฝ™ไนŸ็ฎ—ๆ˜ฏ่ฏปไบ†ไธ€ๅฎš็š„ไนฆ๏ผŒๅˆšๅฅฝ่ฟ˜ๆœ‰ไธชๅฐ็ˆฑๅฅฝ๏ผšไผšๅ…ณๆณจๅ›ฝๅฎถๅคงไบ‹๏ผˆๆ–ฐๆ—ถไปฃๅ†œๆฐ‘ๅทฅไนŸ้œ€่ฆ้€š่ฟ‡ๅญฆไน ๆฅไบ†่งฃๅ›ฝๅฎถๅ‘ๅฑ•ๆ–นๅ‘๏ผ‰ใ€‚ๅœจ่ฏปไบ†่ฟ‘ไธ€ๅนดๅคš็š„ๆ–‡็ซ ๅ’ŒไนฆไปฅๅŽ๏ผŒ่ถŠๆฅ่ถŠ่ง‰ๅพ—๏ผšๅ›ฝๅฎถ้ƒฝ่ƒฝๅŸบไบŽ็Žฐ็Šถๅšๅ‡บ่ฟฝ่ตถๅ‘่พพๅ›ฝๅฎถๅˆฐๅ“ช็ง็จ‹ๅบฆ็š„่ง„ๅˆ’๏ผŒๅนถๅšๅ‡บไธ€็ณปๅˆ—่ฐƒๆ•ดๅŠจไฝœใ€‚่บซไธบๆ–ฐๆ—ถไปฃ็š„ๆ‰“ๅทฅไบบ๏ผŒไธบๅ•ฅๅฐฑไธ่ƒฝไธบ่‡ชๅทฑๅŽ้’ๆ˜ฅ็š„ไธ‹ๅŠๅœบๅŸบไบŽ็Žฐ็Šถๅผ„ไธ€ไธช่บซไฝ“ + ่ง่ฏ†ๅฏ่’™ + ๅฐ่ฏ•ๅฎž่ทต๏ผŒ5ๅˆฐ8ๅนดๅŽ่ฎฉไธชไบบๅ‘ๅฑ• + ไฟฎ่บซ + ้ฝๅฎถ่พพๅˆฐๆŸ็ง็จ‹ๅบฆ็š„ๅฐ่ฏ•ใ€‚่€Œ่ฟ™ไธ€ๅˆ‡็š„ๅ‰ๆๆ˜ฏๅพ—ๆœ‰ไธชๅฅ็ก•็š„่บซไฝ“ + ไธ“ไธš็ด ๅ…ปใ€‚ๅ› ๆญค๏ผŒๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹ไนŸ่ขซๆณจๅ…ฅไบ†ไธ€็‚น็‚นๅฐๆƒ…ๆ€€๏ผŒๆœ‰ไบ†ๆ›ด้ซ˜ๅฑ‚ๆฌก็š„่ฟฝๆฑ‚
  • ใ€ๆฆœๆ ท็š„ๅฝฑๅ“ใ€‘ไธ็ฎกๅˆซไบบๆ€Žไนˆ็œ‹ๅพ…โ€œไธ่ฟฝๆ˜Ÿใ€ๅŸบๆœฌไธๆ‰“ๆธธๆˆ๏ผŒๅฆ‚ๆžœไธๆ˜ฏๆœ‰็‰นๅˆซๆ„Ÿๅ…ด่ถฃ็š„่ฏ้ข˜ไนŸๅŸบๆœฌไธๆ‰ฏ้—ฒๆทกโ€็š„ๅฅ‡่‘ฉ๏ผŒไฝ†็ฌ”่€…็œŸ็š„ๆœ‰่ฟ™็งๅๅ‘ใ€‚็ฌ”่€…ไน‹ๅ‰ๅœจๅคงๅญฆๆ—ถ็œ‹่ฟ‡ไธ€ไบ›ๆฏ›็ˆท็ˆท็š„็›ธๅ…ณไนฆๅ’Œ็”ต่ง†ๅ‰งๅŽๅพˆ่†œๆ‹œ๏ผŒๆฏ›็ˆท็ˆท็š„ๆ€ๆƒณๅ’Œ้Ÿฌ็•ฅ็œŸ็š„่ถณๅคŸๅญฆใ€‚็ฌ”่€…็Ÿฅ้“่‡ชๅทฑไธๅฏ่ƒฝ่พพๅˆฐ้‚ฃ็ง้ซ˜ๅบฆ๏ผŒไฝ†ไผŸไบบ็š„ๅพˆๅคšไน ๆƒฏๅ’Œไผ˜็‚น้€‚ๅˆๅฝ“ไปฃๅนด่ฝปไบบๅญฆไน ๏ผŒๆฏ•ไธšๅญฃ่ฎฉๅณๅฐ†ๅ‡บๅ›ฝ็š„ๅฅณ็ฅžๅ†™ไบ†ไธ€ๅน…ๅญ—โ€”โ€” ใ€Šๆฒๅ›ญๆ˜ฅ.้›ชใ€‹๏ผŒ็„ถๅŽๅŒ—ไธŠๅธ้ƒฝใ€‚ๅฆๅค–๏ผŒๅ‰ๆฎตๆ—ถ้—ด็œ‹ไบ†ๆฏ›็ˆท็ˆทๅœจ้’ๅนดๆ—ถๆœŸๅ†™ไธ‹็š„ ใ€Šไฝ“่‚ฒไน‹็ ”็ฉถใ€‹ใ€‚ๅ› ๆญค๏ผŒๅœจ่ฏปไบ†ไผŸไบบ็š„ๆ–‡็ซ ๅŽ๏ผŒๆ›ดไปŽ็†่ฎบไธŠ็†่งฃไบ†่บซไฝ“ๆ˜ฏๆ นๆœฌ็š„้“็†๏ผŒๅณ๏ผšไฝ“่€…๏ผŒ่ฝฝ็Ÿฅ่ฏ†ไน‹่ฝฆ่€Œๅฏ“้“ๅพทไน‹่ˆไนŸใ€‚ไฝ“่‚ฒไธ€้“๏ผŒ้…ๅพท่‚ฒไธŽๆ™บ่‚ฒ๏ผŒ่€Œๅพทๆ™บ็š†ๅฏ„ไบŽไฝ“ใ€‚

็›ดๆŽฅๅŽŸๅ›  ใ€้”™่ฏฏ็บ ๆญฃใ€ๆทฑๅฑ‚ๆฌกๅŽŸๅ› ใ€ๆฆœๆ ท็š„ๅฝฑๅ“้ƒฝๆœ‰ไบ†๏ผŒไนŸๅฐฑ้œ€่ฆ่€ƒ่™‘ๅฆ‚ไฝ•็œŸ็œŸๆญฃๆญฃ็š„่ฟ›่กŒๅฐ่ฏ•ๅฎž่ทตไบ†ใ€‚

1ใ€ๅ‰ๆœŸๅ‡†ๅค‡ โ€‹

  • ไฝ“่„‚็งคไธ€ๅฐ๏ผŒ็”จไบŽๆต‹้‡ไฝ“้‡๏ผŒๅนถ็ฒ—็•ฅไบ†่งฃ BMIใ€่„‚่‚ชใ€่‚Œ่‚‰ใ€ไฝ“ๅž‹ใ€ๅŸบ็ก€ไปฃ่ฐข็އใ€่›‹็™ฝ่ดจ็ญ‰ๆŒ‡ๆ ‡๏ผŒไปฅๅŠๆญฃๅธธไฝ“้‡ๅบ”ไฝไบŽไป€ไนˆๅŒบ้—ดใ€‚
  • ไธŽไฝ“่„‚็งคๅฏนๅบ”็š„ๆ‰‹ๆœบ APP๏ผŒ็”จไบŽๅญ˜ๅ‚จ่ฎฐๅฝ•ไธ€ไบ›ๆŒ‡ๆ ‡ๆ•ฐๆฎใ€‚ๅœจ็งฏ็ดฏๅˆฐไธ€ๅฎšๆ•ฐๆฎ้‡ๅŽ๏ผŒๅฏไปฅไปŽๆ—ถ้—ด็ปดๅบฆไธŠๆฅไบ†่งฃไฝ“้‡่ตฐๅŠฟ๏ผŒ็ป“ๅˆๅฎž้™…ๆƒ…ๅ†ตๆ€ป็ป“็ป้ชŒใ€‚
  • ็‘œไผฝๅžซใ€ๅ“‘้“ƒใ€ไฟฏๅงๆ’‘ๆ”ฏๆžถใ€ๅท่…น็ญ‰ๅฅ่บซๅ™จๆ๏ผŒ็”จไบŽ้”ป็‚ผไธŠๅŠ่บซ๏ผŒๅšไธ€ไบ›้€‚ๅˆ็š„ๆ— ๆฐง่ฟๅŠจใ€‚

2ใ€็ฌฌไธ€้˜ถๆฎต โ€‹

NOTE

็ฌฌไธ€้˜ถๆฎตๆœ€้‡่ฆ็š„ๅ‡†ๅˆ™ๆ˜ฏ๏ผšโ€œ็ฎกไฝๅ˜ด๏ผŒ่ฟˆๅผ€่…ฟโ€ใ€‚

  1. ้ฅฎ้ฃŸ้™ๅˆถๆ—ถ้—ดๅ’Œ้ฅญ้‡

ๅ‘จๆœซ้ฅฎ้ฃŸไฟๆŒๆญฃๅธธ

  • ๆ—ฉ้ค๏ผš่‡ชๅทฑๅš๏ผŒไฟ่ฏ 8 ็‚นๅˆฐ 8 ็‚นๅŠๆœŸ้—ดๅƒๆ—ฉ้ฅญ๏ผšไธ€ไธชๅŒ…ๅญ + ้ธก่›‹ + ็‡•้บฆใ€‚
  • ๅˆ้ค๏ผšๅŠไปฝ็ฑณ้ฅญ + ็ด ่œ + ่ค่œ or ่ฝป้ฃŸไธ€ไปฝใ€‚
  • ๆ™š้ค๏ผš
    • ไธญๅˆ่‹ฅๅƒ่ฝป้ฃŸ๏ผŒๅˆ™ไธ‹ๅˆๆญฃๅธธๅƒ้ฅญ
    • ไธญๅˆ่‹ฅๆญฃๅธธๅƒ้ฅญ๏ผŒๅˆ™ไธ‹ๅˆๅƒ่ฝป้ฃŸ
  1. ่ฟๅŠจๅˆ™้€‰ๆ‹ฉๆฏๅ‘จ่‡ณๅฐ‘ไธ‰ๆฌกๅœจๅˆไผ‘ๆˆ–ๆ™šไผ‘ๆ—ถ้—ด่ตฐไธ€ๅฎš็š„่ทฏ๏ผŒไฟ่ฏๆฏๆ—ฅๆญฅๆ•ฐๅœจ5000 ่‡ณ 6000 ๆญฅใ€‚
  2. ๅฑ…ๅฎถๅฅ่บซๅ™จๆ้”ป็‚ผๆฏๅ‘จไธ€ๅˆฐไธคๆฌก๏ผŒไธๅš่ฟ‡ๅคš่ฆๆฑ‚ใ€‚

็ฌฌไธ€้˜ถๆฎต็š„ๆ—ถ้—ดๅคงๆฆ‚็ปดๆŒไบ†ไธ€ไธชๆœˆ๏ผŒไฝ“้‡่Žทๅพ—ไบ† 8 ๆ–คๅทฆๅณ็š„ไธ‹้™ใ€‚ๆœŸ้—ดๆœ€ๅคง็š„ๅ›ฐ้šพๆ˜ฏๆ–ฐไน ๆƒฏ็š„ๅปบ็ซ‹ๆฏ”่พƒ้šพ๏ผŒๅŽŸๆœ‰็š„็”Ÿๆดปไน ๆƒฏๆ—ถไธๆ—ถ่ฟ›ๅ…ฅๅคง่„‘๏ผŒๅช่ƒฝ็กฌ็€ๅคด็šฎๆŽงๅˆถ่‡ชๅทฑใ€‚็”ฑไบŽๅ‘จๆœซๆฒกๆœ‰ๅšๆฏ”่พƒๅคง็š„้™ๅˆถ๏ผŒไฝ“้‡ไนŸๅ› ไธบๅ‘จๆœซ้ฅฎ้ฃŸไธๅฝ“้™†็ปญๅ‡บ็Žฐๅๅผน๏ผŒๅœจไธ‹้™ 5 ๆ–ค ๅˆฐ 8 ๆ–คไน‹้—ด่ทณ่ทƒใ€‚ๆ‰€ไปฅ๏ผŒๅ‘จๅ…ญๅŠ ไบ†ไธ€ไธช้กน็›ฎ๏ผšไธ‹ๅˆๆ‹็ฏฎ็ƒ 1ไธชๅฐๆ—ถ + ้›ๅผฏ1ไธชๅฐๆ—ถ๏ผŒๅฆ‚ๆžœ่ฟ˜ๆœ‰ไฝ“ๅŠ›๏ผŒ้ช‘่กŒ 30 ๅˆ†้’Ÿๅˆฐ 1ไธชๅฐๆ—ถใ€‚่ฟ™ไธช้›ทๆ‰“ไธๅŠจ็š„้กน็›ฎๅผ•ๅ…ฅ๏ผŒไธไฝ†่งฃๅ†ณไบ†ๅ‘จๆœซ้ฅฎ้ฃŸ็š„ไธป่ฆ้—ฎ้ข˜๏ผŒๅฏนไน ๆƒฏ็š„ๅ…ปๆˆ่ตทๅˆฐไบ†ไธ€ๅฎš็š„ๆญฃๅ‘ไฝœ็”จใ€‚

3ใ€็ฌฌไบŒ้˜ถๆฎต โ€‹

ๆœฌ้˜ถๆฎตไธป่ฆๅธๆ”ถๆ›ดๅคšๅ‡่‚ฅๆ–น้ข็š„ๅธธ่ฏ†ๅ’Œไน ๆƒฏๆฅ่ฐƒๆ•ดๅ‡่‚ฅ็ญ–็•ฅ๏ผš

  • ๅœจไฟๆŒ็ฌฌไธ€้˜ถๆฎตๅปบ็ซ‹็š„ไน ๆƒฏๅŸบ็ก€ไธŠ๏ผŒๅŠ ๅคง้”ป็‚ผๅผบๅบฆ๏ผš
    • ๆฏๅ‘จๆ—ฉไธŠ่‡ณๅฐ‘ๆœ‰ไธ‰ๆฌกๅฑ…ๅฎถ 20 ๅˆ†้’Ÿ็š„ๅ™จๆ้”ป็‚ผ๏ผ›
    • ๅทฅไฝœๆ—ฅๆฏๅคฉๅฟ…้กปๅœจๅˆไผ‘ๅ’Œๆ™šไผ‘ๆ—ถ้—ด่ตฐไธ€ๅฎš็š„่ทฏ๏ผŒไฟ่ฏๆฏๆ—ฅๆญฅๆ•ฐๅœจ 5000 ่‡ณ 6000 ๆญฅ๏ผ›
    • ๅ‘จๅ…ญ้”ป็‚ผ็ปง็ปญไฟๆŒ๏ผŒๅ‘จๆ—ฅไธๅš่ฆๆฑ‚๏ผŒๆ นๆฎ็งฐ้‡ๆ•ฐๆฎ้€‚ๅฝ“ๅฅ–ๅŠฑ่‡ชๅทฑ๏ผ›
  • ้ฅฎ้ฃŸ่ฐƒๆ•ด
    • ๆ—ฉ้ค๏ผš็މ็ฑณ + ้ธก่›‹ + ็‡•้บฆ๏ผ›
    • ๅˆ้คๅ’Œๆ™š้คไธๅšๅคงๆ”นๅ˜๏ผŒ็ฑณ้ฅญๆ”นไธบๅ‡ๅŠ๏ผ›
  • ๅนณๆ—ถๆณจ้‡ๅคšไธŽๅŒไบ‹ใ€ๅŒๅญฆๅ’Œๆœ‹ๅ‹ๆฒŸ้€š๏ผŒๅ‘ไธ€ไบ›ๆœ‰็ป้ชŒ็š„ไบบ่ฏทๆ•™ๆ–นๆณ•๏ผ›

่ฟ™ไธช้˜ถๆฎตๆ›ดๆณจ้‡ๅผบๅŒ–ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹็š„็›ฎๆ ‡ๅˆ็†ๆ€ง๏ผŒไปฅๅŠๅ…ถๆ”ถ็›Šใ€‚็œ‹ไธ€ไบ›ๆฏ”่พƒๆญฃๅ‘็š„ๆ–‡็ซ ๏ผŒ้ฅฅ้ฅฟๆ—ถ่ฝฌ็งปๆณจๆ„ๅŠ›ใ€‚ไธšไฝ™่ทŸ่€ไผ™่ฎกไฟๆŒ่ดขๅ•†ไธŽๅ‡่‚ฅๆ–น้ข็š„ๅญฆไน ๆฒŸ้€š๏ผŒๅนถๅผบๅˆถๆฏไธคๅคฉๅ†…ๅฟ…้กปๅœจๆœ‹ๅ‹ๅœˆ่‡ณๅฐ‘ๆ‰“ๅกไธ€ๆฌกใ€‚

ๅฐฑ่ฟ™ๆ ท๏ผŒ็ฌฌไบŒ้˜ถๆฎต็š„ๆ—ถ้—ดไนŸๅคงๆฆ‚็ปดๆŒไบ†ไธ€ไธชๆœˆ๏ผŒไฝ“้‡ๅ†ๆฌก่Žทๅพ—ไบ† 5 ๆ–คไธ‹้™ใ€‚ๅœจ็ฌฌไบŒ้˜ถๆฎตๅฟซ็ป“ๆŸๆ—ถ้‡ๅˆฐไบ†ไฝ“้‡ๅŸบๆœฌไธๅ†ไธ‹้™๏ผŒ็”š่‡ณไธ€ๅ‘จๅŸบๆœฌไฟๆŒไธๅ˜็š„ๆƒ…ๅ†ต๏ผŒ็ป่ฟ‡ๅˆ†ๆžไฝ“้‡ๅค–็š„ๆŒ‡ๆ ‡ๅ‘็Žฐ๏ผš่‚Œ่‚‰ไธŽ่„‚่‚ชๆŒ‡ๆ ‡ๆ•ฐๆฎไธ็จณ๏ผŒไธค่€…ๅŸบๆœฌไฟๆŒๆญคๆถˆๅฝผ้•ฟ็š„็ซžไบ‰็Šถๆ€ใ€‚ๅŸบ็ก€ไปฃ่ฐข็އๆœ‰ๆ—ถ่พพๅˆฐๆ ‡ๅ‡†็Šถๆ€๏ผŒๆœ‰ๆ—ถไธ่พพๆ ‡ใ€‚

ๅ‡่‚ฅ่ฟ™ไปถไบ‹ๆƒ…ๅฏๅคงๅฏๅฐ๏ผŒ็ฌ”่€…ๅœจ็ฌฌไบŒ้˜ถๆฎตๆ—ถ่ฟ˜ๅฑžไบŽ่บซไฝ“็ฎก็†ๅฐ็™ฝ๏ผŒไฝ“้‡็ปดๆŒไธๅ˜ๅŽๅŸบๆœฌไธๆ™“ๅพ—ๆ€Žไนˆๆžไบ†ใ€‚ๅœจ่ฟ™ๆœŸ้—ด๏ผŒไปŽๅพฎไฟก่ฏปไนฆไธŠๆ‰พไบ†ๆœฌไนฆ๏ผŒไธšไฝ™็ฟปไบ†็ฟป๏ผŒๅ…ถไธญๅคง้ƒจๅˆ†็š„่ฎฒ่งฃๆˆ–่ฎธๅฏนๅพˆๅคšไบบๆœ‰ๅธฎๅŠฉ๏ผŒไฝ†ๅฏนไบŽ็ฌ”่€…ๅญ˜ๅœจๅพˆๅคšไธๅฏ่กŒไน‹ๅค„ใ€‚่ฟ™ไธชๆ—ถๅ€™ไนŸๆƒณ่ฟ‡ๅœจๅฅ่บซๆˆฟๆŠฅไธช็ญ๏ผŒๆฏๆฌกๆƒณๅŽปๅฅ่บซๆˆฟ็œ‹็œ‹ๆ—ถ๏ผŒๅฐฑไผšๆƒณๅˆฐๅœจๅญฆๆ กๆฏ•ไธšๅญฃๆ›พๅ› ้”ป็‚ผไธๅฝ“้”ป็‚ผๅŽ็–ผไบ†ๅพˆไน…๏ผŒๅŽๆฅๅฅ่บซๆˆฟไนŸๅฐฑๆˆไบ†ๅ‡ ไธชๅทฒ็ปๆ‰พๅˆฐๅทฅไฝœ็š„ๆ‡’ไบบ็š„ๆพกๅ ‚ๅญๅ•ฆใ€‚่ฟ™ไธ€ๆฌกๆฏ”่พƒๅนธ่ฟ๏ผŒๅ› ไธบไธ€ๆฌกๅถ็„ถ็š„ไบ‹ๆƒ…ๅ‡บ็ŽฐๅŽ๏ผŒไปŽๅคงไฝฌๅฃไธญๅพ—็Ÿฅไป–ๅœจๅ‡ไฝ“้‡ๆ—ถๅฐ่ฏ•่ฟ‡ไธๅƒไธป้ฃŸใ€‚

ไธๅƒไธป้ฃŸ่ฟ™ไธชไบ‹ๆƒ…็ฌ”่€…ไธชไบบไน‹ๅ‰ๆฒกๆœ‰ๅฐ่ฏ•่ฟ‡๏ผŒๅฌ่ตทๆฅๅœจไธ€ๅฎšๆ—ถ้—ดๅ†…ๆˆ–่ฎธไธไผšๆœ‰้—ฎ้ข˜๏ผŒไฝ†้•ฟๆœŸ็œ‹ๅฏน่บซไฝ“ๅฏ่ƒฝๅญ˜ๅœจๆŸไบ›ไธๅฅฝ็š„ๅœฐๆ–นใ€‚ๅœจๆŸฅ่ฟ‡ไธ€ไบ›่ต„ๆ–™ๆ–‡็ซ ๅŽ๏ผŒ็ฌ”่€…่ฟ˜ๆ˜ฏๅ†ณๅฎšๅœจ็ฌฌไธ‰้˜ถๆฎต่ฏ•่ฏ•ไธ€ๆฎตๆ—ถ้—ดใ€‚

4ใ€็ฌฌไธ‰้˜ถๆฎต โ€‹

็ฌฌไธ‰้˜ถๆฎตไธป่ฆ้€š่ฟ‡ไปฅไธ‹ๅ‡ ไธชๆ–น้ขๆฅ็ปง็ปญๆŠŠๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹ๆ‰ง่กŒไธ‹ๅŽป๏ผš

  1. ่ฟ›ไธ€ๆญฅๅผบๅŒ–ๆŠŠๆกๆœ€็ปˆ็›ฎๆ ‡๏ผŒๅผ•ๅ…ฅๅนณๆ—ถๅค„็†้กน็›ฎ็š„็ป้ชŒๆฅ็ฎก็†ใ€ๆ‹†่งฃ็›ฎๆ ‡๏ผšๅฐ†ๆ€ป็›ฎๆ ‡ๆ‹†่งฃไธบๆฏ 6 ๅคฉ่‡ณๅฐ‘ๅ‡้‡ 1 ๆ–ค๏ผŒๆฏๆœˆไฝ“้‡ไธ‹้™่‡ณๅฐ‘ 5 ๆ–คใ€‚ๅฆๅค–๏ผŒๆŠŠๆ—ฅๅธธ็œ‹็š„ๆ—ถ้—ด็ฎก็†็›ธๅ…ณไนฆ็ฑ๏ผŒไนŸๅฐ่ฏ•ๅบ”็”จไบŽๅทฅไฝœใ€็”Ÿๆดปๅ’Œๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹ไธŠใ€‚
  2. ๅœจไฟๆŒ็ฌฌไธ€ๅ’ŒไบŒ้˜ถๆฎตๅปบ็ซ‹็š„ไน ๆƒฏๅŸบ็ก€ไธŠ๏ผŒ็ปง็ปญๅŠ ๅคง่ฎญ็ปƒๅผบๅบฆ๏ผš
    • ๅทฅไฝœๆ—ฅๆฏๅคฉๆ—ฉไธŠๅœจๆ—ฉ้ฅญๅ‰๏ผŒ่ฟ›่กŒ 20-30ๅˆ†้’Ÿ็š„ๅ™จๆ้”ป็‚ผ๏ผ›
    • ๅทฅไฝœๆ—ฅๆฏๅคฉ่‡ณๅฐ‘ไธ‹ไธ€ๆฌกๆฅผๆขฏ๏ผŒไธไน˜ๅ็”ตๆขฏ๏ผ›
    • ๅทฅไฝœๆ—ฅๆฏๅคฉๅˆไผ‘ๅ’Œๆ™šไผ‘่ตฐไธ€ๅฎš็š„่ทฏ๏ผŒไฟ่ฏๆฏๅคฉๆญฅๆ•ฐๅœจ 6000 ๅˆฐ 8000 ๆญฅ๏ผ›
    • ๆฏๅ‘จไธคๆฌกไฝฟ็”จๅฐๅŒบๆˆ–ๅ…ฌๅธๅฅ่บซๆˆฟๅ™จๆ่ฟ›่กŒ 30 - 40 ๅˆ†้’Ÿ็š„ๆ— ๆฐง่ฟๅŠจ๏ผ›
    • ๅ‘จๅ…ญ้”ป็‚ผ็ปง็ปญไฟๆŒ๏ผŒๅ‘จๆ—ฅไธๅš่ฆๆฑ‚๏ผŒไฝ†ๆŽงๅˆถ้ฅฎ้ฃŸ๏ผŒๅคšๅƒไบ›่”ฌ่œๅ’Œๆฐดๆžœ๏ผ›
  3. ้ฅฎ้ฃŸ่ฐƒๆ•ด๏ผˆๅทฅไฝœๆ—ฅๅˆ้ฅญๅ’Œๆ™š้ฅญๆœ€ๅคšๅƒไธคๅคฉไธป้ฃŸ๏ผŒไธ”ไธป้ฃŸไธบๅŠไปฝ็ณ™็ฑณ้ฅญ๏ผ‰

๐Ÿฅ— ้ฅฎ้ฃŸ่กจ

ๆ—ถๆฎตๅฏ้€‰้กน
ๆ—ฉ้ค็މ็ฑณ/็บข่–ฏ + ้ธก่›‹ + ไฝŽ่„‚็‰›ๅฅถ็‡•้บฆ
็މ็ฑณ/็บข่–ฏ + ้ธก่›‹็พน + ไฝŽ่„‚็‰›ๅฅถ็‡•้บฆ
ๅ‘จๆœซๆ—ฉ้ฅญ็މ็ฑณ/็บข่–ฏ/่ฑ†่… + ้ธก่›‹็พน + ไฝŽ่„‚็‰›ๅฅถ็‡•้บฆ
ๅˆ้ค/ๆ™š้ค็ด ่œ + ๅฐไปฝ่ฝป้ฃŸ๏ผˆๅซๅฐ‘้ƒจๅˆ†ไธป้ฃŸ๏ผ‰
้ฑผ + ็ด ่œ๏ผˆไธๅƒไธป้ฃŸ/ๅŠไปฝ็ณ™็ฑณ้ฅญ๏ผ‰
่ฝป้ฃŸไธ€ไปฝ
ๅ‘จๆœซๅˆ้ค/ๆ™š้ฅญๅฐ่ฏ•ไฝฟ็”จ้ธก่ƒธ่‚‰ใ€ๆ‰‡่ด่‚‰ใ€่ƒก่ๅœใ€่ฅฟ่“่Šฑใ€็މ็ฑณ็ญ‰้ฃŸๆๆญ้…ๅšไธ€้“็ฎ€็‰ˆ่ฝป้ฃŸ + ็‡•้บฆ/ๅฐ‘้‡ๆฐด้ฅบ
ไฝฟ็”จไธ‰ๆ–‡้ฑผใ€ๅทดๆฒ™้ฑผ็‰‡ใ€่™พไป็ญ‰้ฃŸๆๅšไธ€้“่œๆˆ–ๆฑค + ็‡•้บฆ/ๅฐ‘้‡ๆฐด้ฅบ
ไฝฟ็”จ้’ๆค’ใ€้’่œใ€้ป„็“œใ€ๆœจ่€ณใ€้ธก่›‹็ญ‰้ฃŸๆๅšไธ€ๅˆฐไธค้“ๅฎถๅธธ่œ + ็‡•้บฆ/ๅฐ‘้‡ๆฐด้ฅบ

็ฌฌไธ‰้˜ถๆฎตไนŸๆ˜ฏๅคงๆฆ‚็ปดๆŒไบ†ไธ€ไธชๆœˆ๏ผŒไธ€็›ดๅˆฐ 8 ๆœˆๅบ•๏ผŒๅœจๅƒๆžๅฐ‘้‡ไธป้ฃŸๅ’ŒๅŠ ๅคง่ฟๅŠจ้‡็š„ๅšๆŒไธ‹๏ผŒไฝ“้‡ๅˆ่Žทๅพ—ไบ† 5โ€”6ๆ–ค็š„ไธ‹้™๏ผŒ่™ฝ็„ถไผšๅ‘ˆ็Žฐๅฐ‘้ƒจๅˆ†ๆณขๅŠจ๏ผŒไฝ†ๅŸบๆœฌ่ƒฝๅคŸๆŽงๅˆถไฝๆ•ดไฝ“็ปง็ปญไธ‹้™็š„่ถ‹ๅŠฟใ€‚่ฟ™ไธ€้˜ถๆฎต๏ผŒๅฏน็ฌ”่€…ๆฅ่ฏดๅ–ๅพ—ไบ†ไธ€ไบ›ๆฏ”่พƒๅคง็š„่ฟ›ๆญฅ๏ผŒ่ฟ™ไบ›่ฟ›ๆญฅไธๅฑ€้™ไบŽๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹ไธŠ๏ผš

  • ๅฐ่ฏ•ๆŠŠไธ€ไบ›ๅˆซ็š„้ข†ๅŸŸๆˆ–ไบ‹ๅŠก็š„็ป้ชŒ่ฟ็งปใ€ๅบ”็”จๅœจๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹ไธŠ๏ผŒๅผบๅŒ–ไบ†ไธ€็งไธ‡ๅ˜ไธ็ฆปๅ…ถๅฎ—๏ผŒไธ‡็‰ฉๆœ‰่ง„ๅˆ™ๅฏๅพช็š„ๆ€็ปดๆ–นๅผ๏ผ›
  • ๅญฆไผšๆŽฅๅ—ๅนถๅฐ่ฏ•ๅˆซไบบ็š„ๅปบ่ฎฎ๏ผŒไฝ†ไธไผšไธ€ๅ‘ณๆŒ‰็…งๅˆซไบบ็š„ๅปบ่ฎฎๆฅ๏ผŒ่ฆ็ป“ๅˆๅฎž้™…ๆƒ…ๅ†ตๅ…ทไฝ“ๅค„็†๏ผ›
  • ่‡ช่บซๅŽจ่‰บ่ฟ›ไธ€ๆญฅ่Žทๅพ—ไบ†ๆๅ‡ๆœบไผš๏ผŒๅฏนๅš้ฅญ่ฟ™ไปถๅฐไบ‹ไนŸ่ตทๅˆฐไบ†ไฟƒ่ฟ›ไฝœ็”จ๏ผŒๅœจๅš้ฅญ่Šฑๆ ทๅ’Œๅš้ฅญ่Šฑ่ดนๆ—ถ้—ดไธŠ็š„ๆŠŠๆกๆ›ดๅŠ ็ฒพ็กฎ๏ผ›

5ใ€็ฌฌๅ››้˜ถๆฎต๏ผˆ2021.09๏ผ‰ โ€‹

็ฌฌๅ››้˜ถๆฎต๏ผŒๅณ็Žฐ้˜ถๆฎต๏ผˆ9ๆœˆไปฝ๏ผ‰๏ผŒๆญฃๅœจ้€š่ฟ‡ไปฅไธ‹ๅ‡ ็งๆ–นๅผๆฅๅฐ†ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹็ปง็ปญ๏ผš

  1. ๅšๆŒๆ‰ง่กŒๆ‹†่งฃๅŽ็š„็›ฎๆ ‡๏ผšๆฏ 6 ๅคฉ่‡ณๅฐ‘ๅ‡้‡ 1 ๆ–ค๏ผŒๆฏๆœˆไฝ“้‡ไธ‹้™่‡ณๅฐ‘ 5 ๆ–คใ€‚
  2. ๅœจไฟๆŒ็ฌฌไธ€ใ€ไบŒใ€ไธ‰้˜ถๆฎตๅปบ็ซ‹็š„ไน ๆƒฏๅŸบ็ก€ไธŠ๏ผŒ็ปง็ปญๅŠ ๅคง่ฎญ็ปƒๅผบๅบฆ๏ผš
    • ๅทฅไฝœๆ—ฅๆฏๅคฉๆ—ฉไธŠๅœจๆ—ฉ้ฅญๅ‰๏ผŒ่ฟ›่กŒ 30 ๅˆ†้’Ÿ็š„ๅ™จๆ้”ป็‚ผ
    • ๅทฅไฝœๆ—ฅๆฏๅคฉ่‡ณๅฐ‘ไธ‹ไธ€ๆฌกๆฅผๆขฏ๏ผŒไธไน˜ๅ็”ตๆขฏ
    • ๅทฅไฝœๆ—ฅๆฏๅคฉๅˆไผ‘ๅ’Œๆ™šไผ‘่ตฐไธ€ๅฎš็š„่ทฏ๏ผŒไฟ่ฏๆฏๅคฉๆญฅๆ•ฐๅœจ 8000 ๆญฅไปฅไธŠใ€‚ๅ‘จๆœซไธๅš้™ๅˆถ๏ผŒๆญฅๆ•ฐๅฐฝ้‡ไธ่ฆ่ถ…่ฟ‡10000ใ€‚ๅš้™ๅˆถ็š„ๅŽŸๅ› ๏ผš่ตฐ่ทฏๅชๆ˜ฏ็ปดๆŒๆญฃๅธธ็š„ๆœ‰ๆฐง่ฟๅŠจ๏ผŒๅ…ถๆ”ถ็›Šไธไธ€ๅฎšๆฏ”ไธ€ๆฎตๆ—ถ้—ดๅผบๆœ‰ๅŠ›็š„ๆ— ๆฐง่ฟๅŠจๆœ‰ๆ•ˆๆžœ๏ผŒไธ”ๅฎนๆ˜“ๅฝฑๅ“่†็›–๏ผŒไธ่ƒฝ็ปง็ปญๅขžๅŠ ใ€‚
    • ๆฏๅ‘จไธคๅˆฐไธ‰ๆฌกไฝฟ็”จๅฐๅŒบๆˆ–ๅ…ฌๅธๅฅ่บซๆˆฟๅ™จๆ่ฟ›่กŒ 30 - 40 ๅˆ†้’Ÿ็š„ๆ— ๆฐง่ฟๅŠจ
    • ๅ‘จๅ…ญๆ‹็ฏฎ็ƒ็š„ๅœบๅœฐๅ’Œๆ—ถ้—ดไธๅ†็ปง็ปญๅš้™ๅˆถ๏ผŒๅ‘จๅ…ญๅ’Œๅ‘จๆ—ฅไพง้‡่ฟ›่กŒๅˆ†็ป„็š„ๆ— ๆฐง่ฟๅŠจๆฅๅŠ ๅผบ้”ป็‚ผ๏ผŒๅช่ฆไฟ่ฏๆถˆ่€— >= ๆ‘„ๅ…ฅ้‡ ๅณๅฏใ€‚
  3. ้ฅฎ้ฃŸๅพฎ่ฐƒ๏ผšๆ•ดไฝ“ไฟๆŒ็ฌฌไธ‰้˜ถๆฎต็š„ๆ‰ง่กŒ๏ผŒๅœจๅฐ่ฏ•ๅŽป่ง‚ๅฏŸๆ”นๅ–„
    • ๅทฅไฝœๆ—ฅ็ปง็ปญๅคšๅŽปไธๅŒ็š„้คๅŒบๅƒ้ฅญ๏ผŒ่ง‚ๅฏŸๅŒไบ‹ไปฌใ€ๅทฅๅ‹ๅƒไป€ไนˆ๏ผŒไปฅๅŠ้คๅŒบๅคงๆฆ‚้ƒฝๆ˜ฏๅšไป€ไนˆ้ฅญ่œ๏ผ›
    • ๅ‘จๆœซๅš้ฅญ๏ผŒๅฏๅŠจไฝฟ็”จๆฉ„ๆฆ„ๆฒน๏ผŒๆฉ„ๆฆ„ๆฒน็š„ๅ…ทไฝ“ๆ•ˆ็”จ่ฟ™้‡Œไธๅšไป‹็ป๏ผŒๆƒณๅฟ…ๅพˆๅคšไบบๅทฒ็ป็Ÿฅๆ™“๏ผŒ็กฎๅฎžๆœ‰็‚นๅฐ่ดต๏ผŒๅนธไบๅฝ“ๅˆๅญฆไน ๅŸนๅ…ป่ดขๅ•†๏ผŒๅ–ไธ€้ƒจๅˆ†ๅŸบ้‡‘่ฟ˜ๆ˜ฏๅฏไปฅๆถˆ่ดนๆฉ„ๆฆ„ๆฒน็š„๏ผ›
  4. ็ปง็ปญ็งฏ็ดฏๅธธ่ฏ†๏ผšไฟๆŒไธšไฝ™้€š่ฟ‡็œ‹ไนฆๆˆ–ๆ–‡็ซ ๏ผŒไธŽๅŒไบ‹ใ€ๅŒๅญฆๅ’Œๆœ‹ๅ‹ไบคๆต็ญ‰ๆ–นๅผไบ†่งฃไธ€ไบ›ๅฐๅธธ่ฏ†ใ€‚ๆฏๅ‘จ้˜…่ฏป1- 2็ฏ‡ไธ“ๅˆŠไผš APP ไธญๅ…ณไบŽ่ฟๅŠจๅฅๅบทๆ–น้ข็š„ๆ‚ๅฟ—ๆ–‡็ซ ๏ผŒไบ†่งฃไธ€ไบ›ๅธธ่ฏ†ใ€‚
  5. ๅ…ณๆณจๅนถไผ˜ๅŒ–ไฝ“้‡็งคๆ—ฅๅธธ็š„ ๆ€ปไฝ“้‡ใ€ๅŸบ็ก€ไปฃ่ฐข็އใ€่‚Œ่‚‰ใ€ๆฐดๅˆ†็ญ‰ๆŒ‡ๆ ‡๏ผš
    • ๆ€ปไฝ“้‡้œ€่ฆๅ‘ˆ็Žฐไธ‹้™็กฎๅฎž๏ผ›
    • ่‚Œ่‚‰ๅ ๆฏ”ใ€ๅŸบ็ก€ไปฃ่ฐข็އใ€ๆฐดๅˆ†ไธ‰ไธชๆŒ‡ๆ ‡ไผ˜ๅŒ–่‡ณ็จณๆญฅๅœ็•™ๅœจๆ ‡ๅ‡†่Œƒๅ›ดๅ†…๏ผ›

็Žฐ้˜ถๆฎตไนŸ้œ€่ฆ็ปดๆŒไธ€ไธชๆœˆ๏ผŒๅฆ‚ๆžœๅ‡บ็Žฐๅๅผนๆƒ…ๅ†ต๏ผŒ็”š่‡ณ้œ€่ฆ่Šฑ่ดนไธคไธชๆœˆใ€‚ๅฝ“ๅ‰็›ฎๆ ‡ใ€่ฟๅŠจใ€้ฅฎ้ฃŸ่ฐƒๆ•ดๅŸบๆœฌๆญฃๅธธๆ‰ง่กŒ๏ผŒๆŒ‡ๆ ‡ไธŽไธšไฝ™ๅญฆไน ๅ’ŒไบคๆตๅŽ็ปญๅธŒๆœ›ไปฅๅ‘จไธบๅ•ไฝๆŽจ่ฟ›ใ€‚

็ป“ๅฐพ โ€‹

ไปฅไธŠไป…ไป…ๆ˜ฏ็ป“ๅˆไธชไบบๅฎž่ทต็š„่ฎฐๅฝ•๏ผŒ่ฟ˜้œ€่ฆ่ฟ›ไธ€ๆญฅๅฎž้ชŒไธ‹ๅŽป๏ผŒไผฐ่ฎกๆœชๅฟ…้€‚ๅˆๆฏไธ€ไธชไบบใ€‚ๆˆ‘ไปฌ่ฟˆๅ…ฅ็คพไผšๅŽ๏ผŒ้šพๅ…ไผš็œ‹ๅˆฐ็คพไผš็”จๅ„็งๅฑžๆ€งๆฅ่ฏ„ๅˆคไธ€ไธชไบบใ€‚ๅœจ่ฟ™ๆ‰€ๆ›ดๅคง็š„ๅญฆๆ กไธญ๏ผŒ็ฌ”่€…ๆ„Ÿ่ง‰่‡ชๅทฑๅฑžไบŽ่ฝฌๅ˜ๆฏ”่พƒๆ…ข็š„ไธ€ๆ‰นไบบใ€‚

ไน‹ๅ‰ๅพˆๅคšๅŒๅญฆๅ’Œๆœ‹ๅ‹็”š่‡ณๆ—ฉๅทฒ่žๅ…ฅๅˆฐ็คพไผšไน‹ไธญ๏ผŒ่€Œ็ฌ”่€…ไธชไบบ่ง‰ๅพ—่‡ชๅทฑไปŽ 2020 ๅนดๆ‰่ฝฌๅ˜ไธบ็คพไผšไบบใ€‚ๅฟซไธŽๆ…ขๅชๆ˜ฏ่กจ่ฑก๏ผŒๅช่ฆ่ƒฝๆŠŠๆกไฝ่ง„ๅˆ™็š„่„‰ๆ๏ผŒ็ป“ๅˆ่‡ชๅทฑ็š„ไน ๆƒฏๅ’Œ่Š‚ๅฅไนŸๅฏไปฅๆ…ขๆ…ขไธŠ่ฝจ๏ผŒ็บต็„ถไธญ้—ดๆœ‰ไธ€ไบ›ๅๅทฎๆˆ–ๆŒซๆŠ˜๏ผŒไฝ†่งฆๅบ•ๅๅผน๏ผŒๅ็œ่‡ช่บซ็š„ไธ่ถณไผšๆœ‰ๆ–ฐ็š„้ข†ๆ‚Ÿๅขƒ็•Œใ€‚

',39)])])}const _=l(n,[["render",s]]);export{c as __pageData,_ as default}; diff --git "a/assets/40.\345\205\263\344\272\216_30.\346\210\220\351\225\277\351\232\217\347\254\224_20.\345\207\217\350\202\245\350\277\231\344\273\266\345\260\217\344\272\213\351\230\266\346\256\265\351\232\217\347\254\224\346\261\207\346\200\273.md.C1xoZ0dn.lean.js" "b/assets/40.\345\205\263\344\272\216_30.\346\210\220\351\225\277\351\232\217\347\254\224_20.\345\207\217\350\202\245\350\277\231\344\273\266\345\260\217\344\272\213\351\230\266\346\256\265\351\232\217\347\254\224\346\261\207\346\200\273.md.DNHfVn0b.lean.js" similarity index 97% rename from "assets/40.\345\205\263\344\272\216_30.\346\210\220\351\225\277\351\232\217\347\254\224_20.\345\207\217\350\202\245\350\277\231\344\273\266\345\260\217\344\272\213\351\230\266\346\256\265\351\232\217\347\254\224\346\261\207\346\200\273.md.C1xoZ0dn.lean.js" rename to "assets/40.\345\205\263\344\272\216_30.\346\210\220\351\225\277\351\232\217\347\254\224_20.\345\207\217\350\202\245\350\277\231\344\273\266\345\260\217\344\272\213\351\230\266\346\256\265\351\232\217\347\254\224\346\261\207\346\200\273.md.DNHfVn0b.lean.js" index 97c05778..06adc74a 100644 --- "a/assets/40.\345\205\263\344\272\216_30.\346\210\220\351\225\277\351\232\217\347\254\224_20.\345\207\217\350\202\245\350\277\231\344\273\266\345\260\217\344\272\213\351\230\266\346\256\265\351\232\217\347\254\224\346\261\207\346\200\273.md.C1xoZ0dn.lean.js" +++ "b/assets/40.\345\205\263\344\272\216_30.\346\210\220\351\225\277\351\232\217\347\254\224_20.\345\207\217\350\202\245\350\277\231\344\273\266\345\260\217\344\272\213\351\230\266\346\256\265\351\232\217\347\254\224\346\261\207\346\200\273.md.DNHfVn0b.lean.js" @@ -1 +1 @@ -import{_ as l,g as r,h as o,U as i}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const c=JSON.parse('{"title":"็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ”นๅ–„็š„ๆ–นๅผๆŽจๅŠจๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšไปŽโ€œไนฆ็”Ÿๆ„ๆฐ”โ€ๅˆฐๅˆๅ…ฅ็คพไผš็š„โ€œไธญๅนดๆฒน่…ปโ€ๅฑๆœบ๏ผŒไธ€ๆฌกๅฅๅบท่ญฆๆŠฅ่ฎฉ็ฌ”่€…ๅผ€ๅฏไบ†่ฟ™ๅœบๆทฑๅˆป็š„่‡ชๆˆ‘ๅฏน่ฏไธŽ่กŒๅŠจใ€‚ๆœฌๆ–‡่ฏฆ็ป†ๅค็›˜ไบ†็ฌ”่€…ไปŽๅฅๅบทๅฑๆœบๅ‡บๅ‘๏ผŒ้€š่ฟ‡ๅ››ไธช้˜ถๆฎต็š„ๅพชๅบๆธ่ฟ›๏ผŒๆˆๅŠŸๅฎž็Žฐไฝ“้‡็ฎก็†็š„่ฟ‡็จ‹ใ€‚ๅŒบๅˆซไบŽ็›ฒ็›ฎ่ทŸ้ฃŽ๏ผŒ็ฌ”่€…ๅœจๅฎž่ทตไธญๅผ•ๅ…ฅไบ†็›ฎๆ ‡ๆ‹†่งฃใ€ๆ•ฐๆฎ็›‘ๆŽง๏ผˆไฝ“่„‚็งคๆŒ‡ๆ ‡๏ผ‰ใ€่ทจ้ข†ๅŸŸ็ป้ชŒ่ฟ็งป๏ผˆๅฆ‚้กน็›ฎ็ฎก็†ใ€ๆ—ถ้—ด็ฎก็†๏ผ‰ไปฅๅŠๅฏนไธๅŒ็ญ–็•ฅ๏ผˆๅฆ‚ๆŽงๅˆถ้ฅฎ้ฃŸใ€ๅŠ ๅคงๆ— ๆฐง่ฟๅŠจใ€ๅฐ่ฏ•ไธๅƒไธป้ฃŸ๏ผ‰็š„่พฉ่ฏ้‡‡็บณใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ไปฝๅ‡่‚ฅ่ฎฐๅฝ•๏ผŒๆ›ดๆ˜ฏไธ€ๆฌก็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ€็ปด้‡ๆž„็”Ÿๆดป็งฉๅบใ€ๅฎž็Žฐ่บซๅฟƒๅ‡็บง็š„ๅฎžๆ“ๆŒ‡ๅ—ใ€‚","frontmatter":{"date":"2022-09-12T08:16:00.000Z","title":"็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ”นๅ–„็š„ๆ–นๅผๆŽจๅŠจๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšไปŽโ€œไนฆ็”Ÿๆ„ๆฐ”โ€ๅˆฐๅˆๅ…ฅ็คพไผš็š„โ€œไธญๅนดๆฒน่…ปโ€ๅฑๆœบ๏ผŒไธ€ๆฌกๅฅๅบท่ญฆๆŠฅ่ฎฉ็ฌ”่€…ๅผ€ๅฏไบ†่ฟ™ๅœบๆทฑๅˆป็š„่‡ชๆˆ‘ๅฏน่ฏไธŽ่กŒๅŠจใ€‚ๆœฌๆ–‡่ฏฆ็ป†ๅค็›˜ไบ†็ฌ”่€…ไปŽๅฅๅบทๅฑๆœบๅ‡บๅ‘๏ผŒ้€š่ฟ‡ๅ››ไธช้˜ถๆฎต็š„ๅพชๅบๆธ่ฟ›๏ผŒๆˆๅŠŸๅฎž็Žฐไฝ“้‡็ฎก็†็š„่ฟ‡็จ‹ใ€‚ๅŒบๅˆซไบŽ็›ฒ็›ฎ่ทŸ้ฃŽ๏ผŒ็ฌ”่€…ๅœจๅฎž่ทตไธญๅผ•ๅ…ฅไบ†็›ฎๆ ‡ๆ‹†่งฃใ€ๆ•ฐๆฎ็›‘ๆŽง๏ผˆไฝ“่„‚็งคๆŒ‡ๆ ‡๏ผ‰ใ€่ทจ้ข†ๅŸŸ็ป้ชŒ่ฟ็งป๏ผˆๅฆ‚้กน็›ฎ็ฎก็†ใ€ๆ—ถ้—ด็ฎก็†๏ผ‰ไปฅๅŠๅฏนไธๅŒ็ญ–็•ฅ๏ผˆๅฆ‚ๆŽงๅˆถ้ฅฎ้ฃŸใ€ๅŠ ๅคงๆ— ๆฐง่ฟๅŠจใ€ๅฐ่ฏ•ไธๅƒไธป้ฃŸ๏ผ‰็š„่พฉ่ฏ้‡‡็บณใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ไปฝๅ‡่‚ฅ่ฎฐๅฝ•๏ผŒๆ›ดๆ˜ฏไธ€ๆฌก็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ€็ปด้‡ๆž„็”Ÿๆดป็งฉๅบใ€ๅฎž็Žฐ่บซๅฟƒๅ‡็บง็š„ๅฎžๆ“ๆŒ‡ๅ—ใ€‚","permalink":"/growth/weight-loss","coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/health_bg.png","top":true,"tags":["ๅฅๅบท","่ฟๅŠจ"],"categories":["ไธชไบบๆˆ้•ฟ"]},"headers":[],"relativePath":"40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/20.ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹้˜ถๆฎต้š็ฌ”ๆฑ‡ๆ€ป.md","filePath":"40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/20.ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹้˜ถๆฎต้š็ฌ”ๆฑ‡ๆ€ป.md"}'),n={name:"40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/20.ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹้˜ถๆฎต้š็ฌ”ๆฑ‡ๆ€ป.md"};function s(a,t,e,g,d,p){return o(),r("div",null,[...t[0]||(t[0]=[i("",39)])])}const _=l(n,[["render",s]]);export{c as __pageData,_ as default}; +import{_ as l,g as r,h as o,U as i}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const c=JSON.parse('{"title":"็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ”นๅ–„็š„ๆ–นๅผๆŽจๅŠจๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšไปŽโ€œไนฆ็”Ÿๆ„ๆฐ”โ€ๅˆฐๅˆๅ…ฅ็คพไผš็š„โ€œไธญๅนดๆฒน่…ปโ€ๅฑๆœบ๏ผŒไธ€ๆฌกๅฅๅบท่ญฆๆŠฅ่ฎฉ็ฌ”่€…ๅผ€ๅฏไบ†่ฟ™ๅœบๆทฑๅˆป็š„่‡ชๆˆ‘ๅฏน่ฏไธŽ่กŒๅŠจใ€‚ๆœฌๆ–‡่ฏฆ็ป†ๅค็›˜ไบ†็ฌ”่€…ไปŽๅฅๅบทๅฑๆœบๅ‡บๅ‘๏ผŒ้€š่ฟ‡ๅ››ไธช้˜ถๆฎต็š„ๅพชๅบๆธ่ฟ›๏ผŒๆˆๅŠŸๅฎž็Žฐไฝ“้‡็ฎก็†็š„่ฟ‡็จ‹ใ€‚ๅŒบๅˆซไบŽ็›ฒ็›ฎ่ทŸ้ฃŽ๏ผŒ็ฌ”่€…ๅœจๅฎž่ทตไธญๅผ•ๅ…ฅไบ†็›ฎๆ ‡ๆ‹†่งฃใ€ๆ•ฐๆฎ็›‘ๆŽง๏ผˆไฝ“่„‚็งคๆŒ‡ๆ ‡๏ผ‰ใ€่ทจ้ข†ๅŸŸ็ป้ชŒ่ฟ็งป๏ผˆๅฆ‚้กน็›ฎ็ฎก็†ใ€ๆ—ถ้—ด็ฎก็†๏ผ‰ไปฅๅŠๅฏนไธๅŒ็ญ–็•ฅ๏ผˆๅฆ‚ๆŽงๅˆถ้ฅฎ้ฃŸใ€ๅŠ ๅคงๆ— ๆฐง่ฟๅŠจใ€ๅฐ่ฏ•ไธๅƒไธป้ฃŸ๏ผ‰็š„่พฉ่ฏ้‡‡็บณใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ไปฝๅ‡่‚ฅ่ฎฐๅฝ•๏ผŒๆ›ดๆ˜ฏไธ€ๆฌก็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ€็ปด้‡ๆž„็”Ÿๆดป็งฉๅบใ€ๅฎž็Žฐ่บซๅฟƒๅ‡็บง็š„ๅฎžๆ“ๆŒ‡ๅ—ใ€‚","frontmatter":{"date":"2022-09-12T08:16:00.000Z","title":"็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ”นๅ–„็š„ๆ–นๅผๆŽจๅŠจๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹","description":"ๆ‘˜่ฆๆ€ป็ป“๏ผšไปŽโ€œไนฆ็”Ÿๆ„ๆฐ”โ€ๅˆฐๅˆๅ…ฅ็คพไผš็š„โ€œไธญๅนดๆฒน่…ปโ€ๅฑๆœบ๏ผŒไธ€ๆฌกๅฅๅบท่ญฆๆŠฅ่ฎฉ็ฌ”่€…ๅผ€ๅฏไบ†่ฟ™ๅœบๆทฑๅˆป็š„่‡ชๆˆ‘ๅฏน่ฏไธŽ่กŒๅŠจใ€‚ๆœฌๆ–‡่ฏฆ็ป†ๅค็›˜ไบ†็ฌ”่€…ไปŽๅฅๅบทๅฑๆœบๅ‡บๅ‘๏ผŒ้€š่ฟ‡ๅ››ไธช้˜ถๆฎต็š„ๅพชๅบๆธ่ฟ›๏ผŒๆˆๅŠŸๅฎž็Žฐไฝ“้‡็ฎก็†็š„่ฟ‡็จ‹ใ€‚ๅŒบๅˆซไบŽ็›ฒ็›ฎ่ทŸ้ฃŽ๏ผŒ็ฌ”่€…ๅœจๅฎž่ทตไธญๅผ•ๅ…ฅไบ†็›ฎๆ ‡ๆ‹†่งฃใ€ๆ•ฐๆฎ็›‘ๆŽง๏ผˆไฝ“่„‚็งคๆŒ‡ๆ ‡๏ผ‰ใ€่ทจ้ข†ๅŸŸ็ป้ชŒ่ฟ็งป๏ผˆๅฆ‚้กน็›ฎ็ฎก็†ใ€ๆ—ถ้—ด็ฎก็†๏ผ‰ไปฅๅŠๅฏนไธๅŒ็ญ–็•ฅ๏ผˆๅฆ‚ๆŽงๅˆถ้ฅฎ้ฃŸใ€ๅŠ ๅคงๆ— ๆฐง่ฟๅŠจใ€ๅฐ่ฏ•ไธๅƒไธป้ฃŸ๏ผ‰็š„่พฉ่ฏ้‡‡็บณใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ไปฝๅ‡่‚ฅ่ฎฐๅฝ•๏ผŒๆ›ดๆ˜ฏไธ€ๆฌก็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ€็ปด้‡ๆž„็”Ÿๆดป็งฉๅบใ€ๅฎž็Žฐ่บซๅฟƒๅ‡็บง็š„ๅฎžๆ“ๆŒ‡ๅ—ใ€‚","permalink":"/growth/weight-loss","coverImg":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/health_bg.png","top":true,"tags":["ๅฅๅบท","่ฟๅŠจ"],"categories":["ไธชไบบๆˆ้•ฟ"]},"headers":[],"relativePath":"40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/20.ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹้˜ถๆฎต้š็ฌ”ๆฑ‡ๆ€ป.md","filePath":"40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/20.ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹้˜ถๆฎต้š็ฌ”ๆฑ‡ๆ€ป.md"}'),n={name:"40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/20.ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹้˜ถๆฎต้š็ฌ”ๆฑ‡ๆ€ป.md"};function s(a,t,e,g,d,p){return o(),r("div",null,[...t[0]||(t[0]=[i("",39)])])}const _=l(n,[["render",s]]);export{c as __pageData,_ as default}; diff --git a/assets/@pages_categoriesPage.md.Cnp1svtv.js b/assets/@pages_categoriesPage.md.DalPAP0h.js similarity index 91% rename from assets/@pages_categoriesPage.md.Cnp1svtv.js rename to assets/@pages_categoriesPage.md.DalPAP0h.js index 5b20d640..eedfc45f 100644 --- a/assets/@pages_categoriesPage.md.Cnp1svtv.js +++ b/assets/@pages_categoriesPage.md.DalPAP0h.js @@ -1 +1 @@ -import{_ as a,g as t,h as r,i as o}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const m=JSON.parse('{"title":"ๅˆ†็ฑป","description":"","frontmatter":{"title":"ๅˆ†็ฑป","categoriesPage":true,"permalink":"/categories","article":false,"layout":"home"},"headers":[],"relativePath":"@pages/categoriesPage.md","filePath":"@pages/categoriesPage.md"}'),s={name:"@pages/categoriesPage.md"};function i(n,e,d,c,g,p){return r(),t("div",null,[...e[0]||(e[0]=[o("div",{style:{display:"none"},hidden:"true","aria-hidden":"true"},"Are you an LLM? You can read better optimized documentation at /@pages/categoriesPage.md for this page in Markdown format",-1)])])}const u=a(s,[["render",i]]);export{m as __pageData,u as default}; +import{_ as a,g as t,h as r,i as o}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const m=JSON.parse('{"title":"ๅˆ†็ฑป","description":"","frontmatter":{"title":"ๅˆ†็ฑป","categoriesPage":true,"permalink":"/categories","article":false,"layout":"home"},"headers":[],"relativePath":"@pages/categoriesPage.md","filePath":"@pages/categoriesPage.md"}'),s={name:"@pages/categoriesPage.md"};function i(n,e,d,c,g,p){return r(),t("div",null,[...e[0]||(e[0]=[o("div",{style:{display:"none"},hidden:"true","aria-hidden":"true"},"Are you an LLM? You can read better optimized documentation at /@pages/categoriesPage.md for this page in Markdown format",-1)])])}const u=a(s,[["render",i]]);export{m as __pageData,u as default}; diff --git a/assets/@pages_categoriesPage.md.Cnp1svtv.lean.js b/assets/@pages_categoriesPage.md.DalPAP0h.lean.js similarity index 91% rename from assets/@pages_categoriesPage.md.Cnp1svtv.lean.js rename to assets/@pages_categoriesPage.md.DalPAP0h.lean.js index 5b20d640..eedfc45f 100644 --- a/assets/@pages_categoriesPage.md.Cnp1svtv.lean.js +++ b/assets/@pages_categoriesPage.md.DalPAP0h.lean.js @@ -1 +1 @@ -import{_ as a,g as t,h as r,i as o}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const m=JSON.parse('{"title":"ๅˆ†็ฑป","description":"","frontmatter":{"title":"ๅˆ†็ฑป","categoriesPage":true,"permalink":"/categories","article":false,"layout":"home"},"headers":[],"relativePath":"@pages/categoriesPage.md","filePath":"@pages/categoriesPage.md"}'),s={name:"@pages/categoriesPage.md"};function i(n,e,d,c,g,p){return r(),t("div",null,[...e[0]||(e[0]=[o("div",{style:{display:"none"},hidden:"true","aria-hidden":"true"},"Are you an LLM? You can read better optimized documentation at /@pages/categoriesPage.md for this page in Markdown format",-1)])])}const u=a(s,[["render",i]]);export{m as __pageData,u as default}; +import{_ as a,g as t,h as r,i as o}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const m=JSON.parse('{"title":"ๅˆ†็ฑป","description":"","frontmatter":{"title":"ๅˆ†็ฑป","categoriesPage":true,"permalink":"/categories","article":false,"layout":"home"},"headers":[],"relativePath":"@pages/categoriesPage.md","filePath":"@pages/categoriesPage.md"}'),s={name:"@pages/categoriesPage.md"};function i(n,e,d,c,g,p){return r(),t("div",null,[...e[0]||(e[0]=[o("div",{style:{display:"none"},hidden:"true","aria-hidden":"true"},"Are you an LLM? You can read better optimized documentation at /@pages/categoriesPage.md for this page in Markdown format",-1)])])}const u=a(s,[["render",i]]);export{m as __pageData,u as default}; diff --git a/assets/@pages_tagsPage.md.C5Ifm28k.js b/assets/@pages_tagsPage.md.nlt9sHhH.js similarity index 90% rename from assets/@pages_tagsPage.md.C5Ifm28k.js rename to assets/@pages_tagsPage.md.nlt9sHhH.js index 2b8189e7..54959e42 100644 --- a/assets/@pages_tagsPage.md.C5Ifm28k.js +++ b/assets/@pages_tagsPage.md.nlt9sHhH.js @@ -1 +1 @@ -import{_ as a,g as t,h as s,i as r}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const c=JSON.parse('{"title":"ๆ ‡็ญพ","description":"","frontmatter":{"title":"ๆ ‡็ญพ","permalink":"/tags","tagsPage":true,"article":false,"layout":"home"},"headers":[],"relativePath":"@pages/tagsPage.md","filePath":"@pages/tagsPage.md"}'),o={name:"@pages/tagsPage.md"};function n(i,e,d,g,p,l){return s(),t("div",null,[...e[0]||(e[0]=[r("div",{style:{display:"none"},hidden:"true","aria-hidden":"true"},"Are you an LLM? You can read better optimized documentation at /@pages/tagsPage.md for this page in Markdown format",-1)])])}const u=a(o,[["render",n]]);export{c as __pageData,u as default}; +import{_ as a,g as t,h as s,i as r}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const c=JSON.parse('{"title":"ๆ ‡็ญพ","description":"","frontmatter":{"title":"ๆ ‡็ญพ","permalink":"/tags","tagsPage":true,"article":false,"layout":"home"},"headers":[],"relativePath":"@pages/tagsPage.md","filePath":"@pages/tagsPage.md"}'),o={name:"@pages/tagsPage.md"};function n(i,e,d,g,p,l){return s(),t("div",null,[...e[0]||(e[0]=[r("div",{style:{display:"none"},hidden:"true","aria-hidden":"true"},"Are you an LLM? You can read better optimized documentation at /@pages/tagsPage.md for this page in Markdown format",-1)])])}const u=a(o,[["render",n]]);export{c as __pageData,u as default}; diff --git a/assets/@pages_tagsPage.md.C5Ifm28k.lean.js b/assets/@pages_tagsPage.md.nlt9sHhH.lean.js similarity index 90% rename from assets/@pages_tagsPage.md.C5Ifm28k.lean.js rename to assets/@pages_tagsPage.md.nlt9sHhH.lean.js index 2b8189e7..54959e42 100644 --- a/assets/@pages_tagsPage.md.C5Ifm28k.lean.js +++ b/assets/@pages_tagsPage.md.nlt9sHhH.lean.js @@ -1 +1 @@ -import{_ as a,g as t,h as s,i as r}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const c=JSON.parse('{"title":"ๆ ‡็ญพ","description":"","frontmatter":{"title":"ๆ ‡็ญพ","permalink":"/tags","tagsPage":true,"article":false,"layout":"home"},"headers":[],"relativePath":"@pages/tagsPage.md","filePath":"@pages/tagsPage.md"}'),o={name:"@pages/tagsPage.md"};function n(i,e,d,g,p,l){return s(),t("div",null,[...e[0]||(e[0]=[r("div",{style:{display:"none"},hidden:"true","aria-hidden":"true"},"Are you an LLM? You can read better optimized documentation at /@pages/tagsPage.md for this page in Markdown format",-1)])])}const u=a(o,[["render",n]]);export{c as __pageData,u as default}; +import{_ as a,g as t,h as s,i as r}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const c=JSON.parse('{"title":"ๆ ‡็ญพ","description":"","frontmatter":{"title":"ๆ ‡็ญพ","permalink":"/tags","tagsPage":true,"article":false,"layout":"home"},"headers":[],"relativePath":"@pages/tagsPage.md","filePath":"@pages/tagsPage.md"}'),o={name:"@pages/tagsPage.md"};function n(i,e,d,g,p,l){return s(),t("div",null,[...e[0]||(e[0]=[r("div",{style:{display:"none"},hidden:"true","aria-hidden":"true"},"Are you an LLM? You can read better optimized documentation at /@pages/tagsPage.md for this page in Markdown format",-1)])])}const u=a(o,[["render",n]]);export{c as __pageData,u as default}; diff --git a/assets/app.sgquq4kz.js b/assets/app.DBRhVQUD.js similarity index 99% rename from assets/app.sgquq4kz.js rename to assets/app.DBRhVQUD.js index e6c9996f..8ee2409d 100644 --- a/assets/app.sgquq4kz.js +++ b/assets/app.DBRhVQUD.js @@ -1,4 +1,4 @@ -import{d as go,u as Cw,a as pI,f as mm,c as dI,r as nf,b as gI,e as yI,w as mp,n as _m,o as rh,g as Yi,h as ta,i as Xt,j as mI,k as Ou,l as of,m as _I,_ as Dw,p as _p,q as SI,s as Nu,t as xI,v as Sm,x as bI,F as wI,T as TI,y as AI,z as Yh,A as Mw,B as ei,C as CI,D as Iw,E as DI,G as MI,H as II,I as LI,J as Lw,R as PI,K as RI,L as EI,M as kI,N as OI,O as NI,P as BI,Q as VI}from"./chunks/vitepress-theme-teek.CJu9alwu.js";var Sp=function(r,e){return Sp=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,a){t.__proto__=a}||function(t,a){for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(t[n]=a[n])},Sp(r,e)};function k(r,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");Sp(r,e);function t(){this.constructor=r}r.prototype=e===null?Object.create(e):(t.prototype=e.prototype,new t)}var zI=(function(){function r(){this.firefox=!1,this.ie=!1,this.edge=!1,this.newEdge=!1,this.weChat=!1}return r})(),GI=(function(){function r(){this.browser=new zI,this.node=!1,this.wxa=!1,this.worker=!1,this.svgSupported=!1,this.touchEventsSupported=!1,this.pointerEventsSupported=!1,this.domSupported=!1,this.transformSupported=!1,this.transform3dSupported=!1,this.hasGlobalWindow=typeof window<"u"}return r})(),yt=new GI;typeof wx=="object"&&typeof wx.getSystemInfoSync=="function"?(yt.wxa=!0,yt.touchEventsSupported=!0):typeof document>"u"&&typeof self<"u"?yt.worker=!0:!yt.hasGlobalWindow||"Deno"in window?(yt.node=!0,yt.svgSupported=!0):FI(navigator.userAgent,yt);function FI(r,e){var t=e.browser,a=r.match(/Firefox\/([\d.]+)/),n=r.match(/MSIE\s([\d.]+)/)||r.match(/Trident\/.+?rv:(([\d.]+))/),i=r.match(/Edge?\/([\d.]+)/),o=/micromessenger/i.test(r);a&&(t.firefox=!0,t.version=a[1]),n&&(t.ie=!0,t.version=n[1]),i&&(t.edge=!0,t.version=i[1],t.newEdge=+i[1].split(".")[0]>18),o&&(t.weChat=!0),e.svgSupported=typeof SVGRect<"u",e.touchEventsSupported="ontouchstart"in window&&!t.ie&&!t.edge,e.pointerEventsSupported="onpointerdown"in window&&(t.edge||t.ie&&+t.version>=11),e.domSupported=typeof document<"u";var s=document.documentElement.style;e.transform3dSupported=(t.ie&&"transition"in s||t.edge||"WebKitCSSMatrix"in window&&"m11"in new WebKitCSSMatrix||"MozPerspective"in s)&&!("OTransition"in s),e.transformSupported=e.transform3dSupported||t.ie&&+t.version>=9}var ug=12,Pw="sans-serif",$a=ug+"px "+Pw,HI=20,WI=100,UI="007LLmW'55;N0500LLLLLLLLLL00NNNLzWW\\\\WQb\\0FWLg\\bWb\\WQ\\WrWWQ000CL5LLFLL0LL**F*gLLLL5F0LF\\FFF5.5N";function YI(r){var e={};if(typeof JSON>"u")return e;for(var t=0;t=0)s=o*t.length;else for(var l=0;l>1)%2;s.cssText=["position: absolute","visibility: hidden","padding: 0","margin: 0","border-width: 0","user-select: none","width:0","height:0",a[l]+":0",n[u]+":0",a[1-l]+":auto",n[1-u]+":auto",""].join("!important;"),r.appendChild(o),t.push(o)}return t}function vL(r,e,t){for(var a=t?"invTrans":"trans",n=e[a],i=e.srcCoords,o=[],s=[],l=!0,u=0;u<4;u++){var f=r[u].getBoundingClientRect(),h=2*u,v=f.left,c=f.top;o.push(v,c),l=l&&i&&v===i[h]&&c===i[h+1],s.push(r[u].offsetLeft,r[u].offsetTop)}return l&&n?n:(e.srcCoords=o,e[a]=t?Tm(s,o):Tm(o,s))}function Vw(r){return r.nodeName.toUpperCase()==="CANVAS"}var cL=/([&<>"'])/g,pL={"&":"&","<":"<",">":">",'"':""","'":"'"};function Te(r){return r==null?"":(r+"").replace(cL,function(e,t){return pL[t]})}var dL=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Xh=[],gL=yt.browser.firefox&&+yt.browser.version.split(".")[0]<39;function Dp(r,e,t,a){return t=t||{},a?Cm(r,e,t):gL&&e.layerX!=null&&e.layerX!==e.offsetX?(t.zrX=e.layerX,t.zrY=e.layerY):e.offsetX!=null?(t.zrX=e.offsetX,t.zrY=e.offsetY):Cm(r,e,t),t}function Cm(r,e,t){if(yt.domSupported&&r.getBoundingClientRect){var a=e.clientX,n=e.clientY;if(Vw(r)){var i=r.getBoundingClientRect();t.zrX=a-i.left,t.zrY=n-i.top;return}else if(Cp(Xh,r,a,n)){t.zrX=Xh[0],t.zrY=Xh[1];return}}t.zrX=t.zrY=0}function gg(r){return r||window.event}function Qe(r,e,t){if(e=gg(e),e.zrX!=null)return e;var a=e.type,n=a&&a.indexOf("touch")>=0;if(n){var o=a!=="touchend"?e.targetTouches[0]:e.changedTouches[0];o&&Dp(r,o,e,t)}else{Dp(r,e,e,t);var i=yL(e);e.zrDelta=i?i/120:-(e.detail||0)/3}var s=e.button;return e.which==null&&s!==void 0&&dL.test(e.type)&&(e.which=s&1?1:s&2?3:s&4?2:0),e}function yL(r){var e=r.wheelDelta;if(e)return e;var t=r.deltaX,a=r.deltaY;if(t==null||a==null)return e;var n=Math.abs(a!==0?a:t),i=a>0?-1:a<0?1:t>0?-1:1;return 3*n*i}function Mp(r,e,t,a){r.addEventListener(e,t,a)}function mL(r,e,t,a){r.removeEventListener(e,t,a)}var la=function(r){r.preventDefault(),r.stopPropagation(),r.cancelBubble=!0};function Dm(r){return r.which===2||r.which===3}var _L=(function(){function r(){this._track=[]}return r.prototype.recognize=function(e,t,a){return this._doTrack(e,t,a),this._recognize(e)},r.prototype.clear=function(){return this._track.length=0,this},r.prototype._doTrack=function(e,t,a){var n=e.touches;if(n){for(var i={points:[],touches:[],target:t,event:e},o=0,s=n.length;o1&&a&&a.length>1){var i=Mm(a)/Mm(n);!isFinite(i)&&(i=1),e.pinchScale=i;var o=SL(a);return e.pinchX=o[0],e.pinchY=o[1],{type:"pinch",target:r[0].target,event:e}}}}};function We(){return[1,0,0,1,0,0]}function oh(r){return r[0]=1,r[1]=0,r[2]=0,r[3]=1,r[4]=0,r[5]=0,r}function yg(r,e){return r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r}function na(r,e,t){var a=e[0]*t[0]+e[2]*t[1],n=e[1]*t[0]+e[3]*t[1],i=e[0]*t[2]+e[2]*t[3],o=e[1]*t[2]+e[3]*t[3],s=e[0]*t[4]+e[2]*t[5]+e[4],l=e[1]*t[4]+e[3]*t[5]+e[5];return r[0]=a,r[1]=n,r[2]=i,r[3]=o,r[4]=s,r[5]=l,r}function Hr(r,e,t){return r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4]+t[0],r[5]=e[5]+t[1],r}function fi(r,e,t,a){a===void 0&&(a=[0,0]);var n=e[0],i=e[2],o=e[4],s=e[1],l=e[3],u=e[5],f=Math.sin(t),h=Math.cos(t);return r[0]=n*h+s*f,r[1]=-n*f+s*h,r[2]=i*h+l*f,r[3]=-i*f+h*l,r[4]=h*(o-a[0])+f*(u-a[1])+a[0],r[5]=h*(u-a[1])-f*(o-a[0])+a[1],r}function mg(r,e,t){var a=t[0],n=t[1];return r[0]=e[0]*a,r[1]=e[1]*n,r[2]=e[2]*a,r[3]=e[3]*n,r[4]=e[4]*a,r[5]=e[5]*n,r}function _o(r,e){var t=e[0],a=e[2],n=e[4],i=e[1],o=e[3],s=e[5],l=t*o-i*a;return l?(l=1/l,r[0]=o*l,r[1]=-i*l,r[2]=-a*l,r[3]=t*l,r[4]=(a*s-o*n)*l,r[5]=(i*n-t*s)*l,r):null}function xL(r){var e=We();return yg(e,r),e}var ft=(function(){function r(e,t){this.x=e||0,this.y=t||0}return r.prototype.copy=function(e){return this.x=e.x,this.y=e.y,this},r.prototype.clone=function(){return new r(this.x,this.y)},r.prototype.set=function(e,t){return this.x=e,this.y=t,this},r.prototype.equal=function(e){return e.x===this.x&&e.y===this.y},r.prototype.add=function(e){return this.x+=e.x,this.y+=e.y,this},r.prototype.scale=function(e){this.x*=e,this.y*=e},r.prototype.scaleAndAdd=function(e,t){this.x+=e.x*t,this.y+=e.y*t},r.prototype.sub=function(e){return this.x-=e.x,this.y-=e.y,this},r.prototype.dot=function(e){return this.x*e.x+this.y*e.y},r.prototype.len=function(){return Math.sqrt(this.x*this.x+this.y*this.y)},r.prototype.lenSquare=function(){return this.x*this.x+this.y*this.y},r.prototype.normalize=function(){var e=this.len();return this.x/=e,this.y/=e,this},r.prototype.distance=function(e){var t=this.x-e.x,a=this.y-e.y;return Math.sqrt(t*t+a*a)},r.prototype.distanceSquare=function(e){var t=this.x-e.x,a=this.y-e.y;return t*t+a*a},r.prototype.negate=function(){return this.x=-this.x,this.y=-this.y,this},r.prototype.transform=function(e){if(e){var t=this.x,a=this.y;return this.x=e[0]*t+e[2]*a+e[4],this.y=e[1]*t+e[3]*a+e[5],this}},r.prototype.toArray=function(e){return e[0]=this.x,e[1]=this.y,e},r.prototype.fromArray=function(e){this.x=e[0],this.y=e[1]},r.set=function(e,t,a){e.x=t,e.y=a},r.copy=function(e,t){e.x=t.x,e.y=t.y},r.len=function(e){return Math.sqrt(e.x*e.x+e.y*e.y)},r.lenSquare=function(e){return e.x*e.x+e.y*e.y},r.dot=function(e,t){return e.x*t.x+e.y*t.y},r.add=function(e,t,a){e.x=t.x+a.x,e.y=t.y+a.y},r.sub=function(e,t,a){e.x=t.x-a.x,e.y=t.y-a.y},r.scale=function(e,t,a){e.x=t.x*a,e.y=t.y*a},r.scaleAndAdd=function(e,t,a,n){e.x=t.x+a.x*n,e.y=t.y+a.y*n},r.lerp=function(e,t,a,n){var i=1-n;e.x=i*t.x+n*a.x,e.y=i*t.y+n*a.y},r})(),El=Math.min,kl=Math.max,an=new ft,nn=new ft,on=new ft,sn=new ft,Eo=new ft,ko=new ft,ht=(function(){function r(e,t,a,n){a<0&&(e=e+a,a=-a),n<0&&(t=t+n,n=-n),this.x=e,this.y=t,this.width=a,this.height=n}return r.prototype.union=function(e){var t=El(e.x,this.x),a=El(e.y,this.y);isFinite(this.x)&&isFinite(this.width)?this.width=kl(e.x+e.width,this.x+this.width)-t:this.width=e.width,isFinite(this.y)&&isFinite(this.height)?this.height=kl(e.y+e.height,this.y+this.height)-a:this.height=e.height,this.x=t,this.y=a},r.prototype.applyTransform=function(e){r.applyTransform(this,this,e)},r.prototype.calculateTransform=function(e){var t=this,a=e.width/t.width,n=e.height/t.height,i=We();return Hr(i,i,[-t.x,-t.y]),mg(i,i,[a,n]),Hr(i,i,[e.x,e.y]),i},r.prototype.intersect=function(e,t){if(!e)return!1;e instanceof r||(e=r.create(e));var a=this,n=a.x,i=a.x+a.width,o=a.y,s=a.y+a.height,l=e.x,u=e.x+e.width,f=e.y,h=e.y+e.height,v=!(ip&&(p=_,dp&&(p=S,y=a.x&&e<=a.x+a.width&&t>=a.y&&t<=a.y+a.height},r.prototype.clone=function(){return new r(this.x,this.y,this.width,this.height)},r.prototype.copy=function(e){r.copy(this,e)},r.prototype.plain=function(){return{x:this.x,y:this.y,width:this.width,height:this.height}},r.prototype.isFinite=function(){return isFinite(this.x)&&isFinite(this.y)&&isFinite(this.width)&&isFinite(this.height)},r.prototype.isZero=function(){return this.width===0||this.height===0},r.create=function(e){return new r(e.x,e.y,e.width,e.height)},r.copy=function(e,t){e.x=t.x,e.y=t.y,e.width=t.width,e.height=t.height},r.applyTransform=function(e,t,a){if(!a){e!==t&&r.copy(e,t);return}if(a[1]<1e-5&&a[1]>-1e-5&&a[2]<1e-5&&a[2]>-1e-5){var n=a[0],i=a[3],o=a[4],s=a[5];e.x=t.x*n+o,e.y=t.y*i+s,e.width=t.width*n,e.height=t.height*i,e.width<0&&(e.x+=e.width,e.width=-e.width),e.height<0&&(e.y+=e.height,e.height=-e.height);return}an.x=on.x=t.x,an.y=sn.y=t.y,nn.x=sn.x=t.x+t.width,nn.y=on.y=t.y+t.height,an.transform(a),sn.transform(a),nn.transform(a),on.transform(a),e.x=El(an.x,nn.x,on.x,sn.x),e.y=El(an.y,nn.y,on.y,sn.y);var l=kl(an.x,nn.x,on.x,sn.x),u=kl(an.y,nn.y,on.y,sn.y);e.width=l-e.x,e.height=u-e.y},r})(),zw="silent";function bL(r,e,t){return{type:r,event:t,target:e.target,topTarget:e.topTarget,cancelBubble:!1,offsetX:t.zrX,offsetY:t.zrY,gestureEvent:t.gestureEvent,pinchX:t.pinchX,pinchY:t.pinchY,pinchScale:t.pinchScale,wheelDelta:t.zrDelta,zrByTouch:t.zrByTouch,which:t.which,stop:wL}}function wL(){la(this.event)}var TL=(function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.handler=null,t}return e.prototype.dispose=function(){},e.prototype.setCursor=function(){},e})(lr),Oo=(function(){function r(e,t){this.x=e,this.y=t}return r})(),AL=["click","dblclick","mousewheel","mouseout","mouseup","mousedown","mousemove","contextmenu"],qh=new ht(0,0,0,0),Gw=(function(r){k(e,r);function e(t,a,n,i,o){var s=r.call(this)||this;return s._hovered=new Oo(0,0),s.storage=t,s.painter=a,s.painterRoot=i,s._pointerSize=o,n=n||new TL,s.proxy=null,s.setHandlerProxy(n),s._draggingMgr=new lL(s),s}return e.prototype.setHandlerProxy=function(t){this.proxy&&this.proxy.dispose(),t&&(D(AL,function(a){t.on&&t.on(a,this[a],this)},this),t.handler=this),this.proxy=t},e.prototype.mousemove=function(t){var a=t.zrX,n=t.zrY,i=Fw(this,a,n),o=this._hovered,s=o.target;s&&!s.__zr&&(o=this.findHover(o.x,o.y),s=o.target);var l=this._hovered=i?new Oo(a,n):this.findHover(a,n),u=l.target,f=this.proxy;f.setCursor&&f.setCursor(u?u.cursor:"default"),s&&u!==s&&this.dispatchToElement(o,"mouseout",t),this.dispatchToElement(l,"mousemove",t),u&&u!==s&&this.dispatchToElement(l,"mouseover",t)},e.prototype.mouseout=function(t){var a=t.zrEventControl;a!=="only_globalout"&&this.dispatchToElement(this._hovered,"mouseout",t),a!=="no_globalout"&&this.trigger("globalout",{type:"globalout",event:t})},e.prototype.resize=function(){this._hovered=new Oo(0,0)},e.prototype.dispatch=function(t,a){var n=this[t];n&&n.call(this,a)},e.prototype.dispose=function(){this.proxy.dispose(),this.storage=null,this.proxy=null,this.painter=null},e.prototype.setCursorStyle=function(t){var a=this.proxy;a.setCursor&&a.setCursor(t)},e.prototype.dispatchToElement=function(t,a,n){t=t||{};var i=t.target;if(!(i&&i.silent)){for(var o="on"+a,s=bL(a,t,n);i&&(i[o]&&(s.cancelBubble=!!i[o].call(i,s)),i.trigger(a,s),i=i.__hostTarget?i.__hostTarget:i.parent,!s.cancelBubble););s.cancelBubble||(this.trigger(a,s),this.painter&&this.painter.eachOtherLayer&&this.painter.eachOtherLayer(function(l){typeof l[o]=="function"&&l[o].call(l,s),l.trigger&&l.trigger(a,s)}))}},e.prototype.findHover=function(t,a,n){var i=this.storage.getDisplayList(),o=new Oo(t,a);if(Im(i,o,t,a,n),this._pointerSize&&!o.target){for(var s=[],l=this._pointerSize,u=l/2,f=new ht(t-u,a-u,l,l),h=i.length-1;h>=0;h--){var v=i[h];v!==n&&!v.ignore&&!v.ignoreCoarsePointer&&(!v.parent||!v.parent.ignoreCoarsePointer)&&(qh.copy(v.getBoundingRect()),v.transform&&qh.applyTransform(v.transform),qh.intersect(f)&&s.push(v))}if(s.length)for(var c=4,p=Math.PI/12,d=Math.PI*2,g=0;g4)return;this._downPoint=null}this.dispatchToElement(i,r,e)}});function CL(r,e,t){if(r[r.rectHover?"rectContain":"contain"](e,t)){for(var a=r,n=void 0,i=!1;a;){if(a.ignoreClip&&(i=!0),!i){var o=a.getClipPath();if(o&&!o.contain(e,t))return!1}a.silent&&(n=!0);var s=a.__hostTarget;a=s||a.parent}return n?zw:!0}return!1}function Im(r,e,t,a,n){for(var i=r.length-1;i>=0;i--){var o=r[i],s=void 0;if(o!==n&&!o.ignore&&(s=CL(o,t,a))&&(!e.topTarget&&(e.topTarget=o),s!==zw)){e.target=o;break}}}function Fw(r,e,t){var a=r.painter;return e<0||e>a.getWidth()||t<0||t>a.getHeight()}var Hw=32,No=7;function DL(r){for(var e=0;r>=Hw;)e|=r&1,r>>=1;return r+e}function Lm(r,e,t,a){var n=e+1;if(n===t)return 1;if(a(r[n++],r[e])<0){for(;n=0;)n++;return n-e}function ML(r,e,t){for(t--;e>>1,n(i,r[l])<0?s=l:o=l+1;var u=a-o;switch(u){case 3:r[o+3]=r[o+2];case 2:r[o+2]=r[o+1];case 1:r[o+1]=r[o];break;default:for(;u>0;)r[o+u]=r[o+u-1],u--}r[o]=i}}function Kh(r,e,t,a,n,i){var o=0,s=0,l=1;if(i(r,e[t+n])>0){for(s=a-n;l0;)o=l,l=(l<<1)+1,l<=0&&(l=s);l>s&&(l=s),o+=n,l+=n}else{for(s=n+1;ls&&(l=s);var u=o;o=n-l,l=n-u}for(o++;o>>1);i(r,e[t+f])>0?o=f+1:l=f}return l}function Qh(r,e,t,a,n,i){var o=0,s=0,l=1;if(i(r,e[t+n])<0){for(s=n+1;ls&&(l=s);var u=o;o=n-l,l=n-u}else{for(s=a-n;l=0;)o=l,l=(l<<1)+1,l<=0&&(l=s);l>s&&(l=s),o+=n,l+=n}for(o++;o>>1);i(r,e[t+f])<0?l=f:o=f+1}return l}function IL(r,e){var t=No,a,n,i=0,o=[];a=[],n=[];function s(c,p){a[i]=c,n[i]=p,i+=1}function l(){for(;i>1;){var c=i-2;if(c>=1&&n[c-1]<=n[c]+n[c+1]||c>=2&&n[c-2]<=n[c]+n[c-1])n[c-1]n[c+1])break;f(c)}}function u(){for(;i>1;){var c=i-2;c>0&&n[c-1]=No||w>=No);if(T)break;b<0&&(b=0),b+=2}if(t=b,t<1&&(t=1),p===1){for(y=0;y=0;y--)r[x+y]=r[b+y];r[S]=o[_];return}for(var w=t;;){var T=0,A=0,C=!1;do if(e(o[_],r[m])<0){if(r[S--]=r[m--],T++,A=0,--p===0){C=!0;break}}else if(r[S--]=o[_--],A++,T=0,--g===1){C=!0;break}while((T|A)=0;y--)r[x+y]=r[b+y];if(p===0){C=!0;break}}if(r[S--]=o[_--],--g===1){C=!0;break}if(A=g-Kh(r[m],o,0,g,g-1,e),A!==0){for(S-=A,_-=A,g-=A,x=S+1,b=_+1,y=0;y=No||A>=No);if(C)break;w<0&&(w=0),w+=2}if(t=w,t<1&&(t=1),g===1){for(S-=p,m-=p,x=S+1,b=m+1,y=p-1;y>=0;y--)r[x+y]=r[b+y];r[S]=o[_]}else{if(g===0)throw new Error;for(b=S-(g-1),y=0;ys&&(l=s),Pm(r,t,t+l,t+i,e),i=l}o.pushRun(t,i),o.mergeRuns(),n-=i,t+=i}while(n!==0);o.forceMergeRuns()}}var Fe=1,ls=2,Gi=4,Rm=!1;function Jh(){Rm||(Rm=!0,console.warn("z / z2 / zlevel of displayable is invalid, which may cause unexpected errors"))}function Em(r,e){return r.zlevel===e.zlevel?r.z===e.z?r.z2-e.z2:r.z-e.z:r.zlevel-e.zlevel}var LL=(function(){function r(){this._roots=[],this._displayList=[],this._displayListLen=0,this.displayableSortFunc=Em}return r.prototype.traverse=function(e,t){for(var a=0;a0&&(f.__clipPaths=[]),isNaN(f.z)&&(Jh(),f.z=0),isNaN(f.z2)&&(Jh(),f.z2=0),isNaN(f.zlevel)&&(Jh(),f.zlevel=0),this._displayList[this._displayListLen++]=f}var h=e.getDecalElement&&e.getDecalElement();h&&this._updateAndAddDisplayable(h,t,a);var v=e.getTextGuideLine();v&&this._updateAndAddDisplayable(v,t,a);var c=e.getTextContent();c&&this._updateAndAddDisplayable(c,t,a)}},r.prototype.addRoot=function(e){e.__zr&&e.__zr.storage===this||this._roots.push(e)},r.prototype.delRoot=function(e){if(e instanceof Array){for(var t=0,a=e.length;t=0&&this._roots.splice(n,1)},r.prototype.delAllRoots=function(){this._roots=[],this._displayList=[],this._displayListLen=0},r.prototype.getRoots=function(){return this._roots},r.prototype.dispose=function(){this._displayList=null,this._roots=null},r})(),lf;lf=yt.hasGlobalWindow&&(window.requestAnimationFrame&&window.requestAnimationFrame.bind(window)||window.msRequestAnimationFrame&&window.msRequestAnimationFrame.bind(window)||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame)||function(r){return setTimeout(r,16)};var xs={linear:function(r){return r},quadraticIn:function(r){return r*r},quadraticOut:function(r){return r*(2-r)},quadraticInOut:function(r){return(r*=2)<1?.5*r*r:-.5*(--r*(r-2)-1)},cubicIn:function(r){return r*r*r},cubicOut:function(r){return--r*r*r+1},cubicInOut:function(r){return(r*=2)<1?.5*r*r*r:.5*((r-=2)*r*r+2)},quarticIn:function(r){return r*r*r*r},quarticOut:function(r){return 1- --r*r*r*r},quarticInOut:function(r){return(r*=2)<1?.5*r*r*r*r:-.5*((r-=2)*r*r*r-2)},quinticIn:function(r){return r*r*r*r*r},quinticOut:function(r){return--r*r*r*r*r+1},quinticInOut:function(r){return(r*=2)<1?.5*r*r*r*r*r:.5*((r-=2)*r*r*r*r+2)},sinusoidalIn:function(r){return 1-Math.cos(r*Math.PI/2)},sinusoidalOut:function(r){return Math.sin(r*Math.PI/2)},sinusoidalInOut:function(r){return .5*(1-Math.cos(Math.PI*r))},exponentialIn:function(r){return r===0?0:Math.pow(1024,r-1)},exponentialOut:function(r){return r===1?1:1-Math.pow(2,-10*r)},exponentialInOut:function(r){return r===0?0:r===1?1:(r*=2)<1?.5*Math.pow(1024,r-1):.5*(-Math.pow(2,-10*(r-1))+2)},circularIn:function(r){return 1-Math.sqrt(1-r*r)},circularOut:function(r){return Math.sqrt(1- --r*r)},circularInOut:function(r){return(r*=2)<1?-.5*(Math.sqrt(1-r*r)-1):.5*(Math.sqrt(1-(r-=2)*r)+1)},elasticIn:function(r){var e,t=.1,a=.4;return r===0?0:r===1?1:(!t||t<1?(t=1,e=a/4):e=a*Math.asin(1/t)/(2*Math.PI),-(t*Math.pow(2,10*(r-=1))*Math.sin((r-e)*(2*Math.PI)/a)))},elasticOut:function(r){var e,t=.1,a=.4;return r===0?0:r===1?1:(!t||t<1?(t=1,e=a/4):e=a*Math.asin(1/t)/(2*Math.PI),t*Math.pow(2,-10*r)*Math.sin((r-e)*(2*Math.PI)/a)+1)},elasticInOut:function(r){var e,t=.1,a=.4;return r===0?0:r===1?1:(!t||t<1?(t=1,e=a/4):e=a*Math.asin(1/t)/(2*Math.PI),(r*=2)<1?-.5*(t*Math.pow(2,10*(r-=1))*Math.sin((r-e)*(2*Math.PI)/a)):t*Math.pow(2,-10*(r-=1))*Math.sin((r-e)*(2*Math.PI)/a)*.5+1)},backIn:function(r){var e=1.70158;return r*r*((e+1)*r-e)},backOut:function(r){var e=1.70158;return--r*r*((e+1)*r+e)+1},backInOut:function(r){var e=2.5949095;return(r*=2)<1?.5*(r*r*((e+1)*r-e)):.5*((r-=2)*r*((e+1)*r+e)+2)},bounceIn:function(r){return 1-xs.bounceOut(1-r)},bounceOut:function(r){return r<1/2.75?7.5625*r*r:r<2/2.75?7.5625*(r-=1.5/2.75)*r+.75:r<2.5/2.75?7.5625*(r-=2.25/2.75)*r+.9375:7.5625*(r-=2.625/2.75)*r+.984375},bounceInOut:function(r){return r<.5?xs.bounceIn(r*2)*.5:xs.bounceOut(r*2-1)*.5+.5}},Ol=Math.pow,Ha=Math.sqrt,uf=1e-8,Ww=1e-4,km=Ha(3),Nl=1/3,Er=ui(),er=ui(),Ki=ui();function Na(r){return r>-uf&&ruf||r<-uf}function ee(r,e,t,a,n){var i=1-n;return i*i*(i*r+3*n*e)+n*n*(n*a+3*i*t)}function Om(r,e,t,a,n){var i=1-n;return 3*(((e-r)*i+2*(t-e)*n)*i+(a-t)*n*n)}function ff(r,e,t,a,n,i){var o=a+3*(e-t)-r,s=3*(t-e*2+r),l=3*(e-r),u=r-n,f=s*s-3*o*l,h=s*l-9*o*u,v=l*l-3*s*u,c=0;if(Na(f)&&Na(h))if(Na(s))i[0]=0;else{var p=-l/s;p>=0&&p<=1&&(i[c++]=p)}else{var d=h*h-4*f*v;if(Na(d)){var g=h/f,p=-s/o+g,y=-g/2;p>=0&&p<=1&&(i[c++]=p),y>=0&&y<=1&&(i[c++]=y)}else if(d>0){var m=Ha(d),_=f*s+1.5*o*(-h+m),S=f*s+1.5*o*(-h-m);_<0?_=-Ol(-_,Nl):_=Ol(_,Nl),S<0?S=-Ol(-S,Nl):S=Ol(S,Nl);var p=(-s-(_+S))/(3*o);p>=0&&p<=1&&(i[c++]=p)}else{var b=(2*f*s-3*o*h)/(2*Ha(f*f*f)),x=Math.acos(b)/3,w=Ha(f),T=Math.cos(x),p=(-s-2*w*T)/(3*o),y=(-s+w*(T+km*Math.sin(x)))/(3*o),A=(-s+w*(T-km*Math.sin(x)))/(3*o);p>=0&&p<=1&&(i[c++]=p),y>=0&&y<=1&&(i[c++]=y),A>=0&&A<=1&&(i[c++]=A)}}return c}function Yw(r,e,t,a,n){var i=6*t-12*e+6*r,o=9*e+3*a-3*r-9*t,s=3*e-3*r,l=0;if(Na(o)){if(Uw(i)){var u=-s/i;u>=0&&u<=1&&(n[l++]=u)}}else{var f=i*i-4*o*s;if(Na(f))n[0]=-i/(2*o);else if(f>0){var h=Ha(f),u=(-i+h)/(2*o),v=(-i-h)/(2*o);u>=0&&u<=1&&(n[l++]=u),v>=0&&v<=1&&(n[l++]=v)}}return l}function Za(r,e,t,a,n,i){var o=(e-r)*n+r,s=(t-e)*n+e,l=(a-t)*n+t,u=(s-o)*n+o,f=(l-s)*n+s,h=(f-u)*n+u;i[0]=r,i[1]=o,i[2]=u,i[3]=h,i[4]=h,i[5]=f,i[6]=l,i[7]=a}function $w(r,e,t,a,n,i,o,s,l,u,f){var h,v=.005,c=1/0,p,d,g,y;Er[0]=l,Er[1]=u;for(var m=0;m<1;m+=.05)er[0]=ee(r,t,n,o,m),er[1]=ee(e,a,i,s,m),g=$n(Er,er),g=0&&g=0&&u<=1&&(n[l++]=u)}}else{var f=o*o-4*i*s;if(Na(f)){var u=-o/(2*i);u>=0&&u<=1&&(n[l++]=u)}else if(f>0){var h=Ha(f),u=(-o+h)/(2*i),v=(-o-h)/(2*i);u>=0&&u<=1&&(n[l++]=u),v>=0&&v<=1&&(n[l++]=v)}}return l}function Xw(r,e,t){var a=r+t-2*e;return a===0?.5:(r-e)/a}function Bs(r,e,t,a,n){var i=(e-r)*a+r,o=(t-e)*a+e,s=(o-i)*a+i;n[0]=r,n[1]=i,n[2]=s,n[3]=s,n[4]=o,n[5]=t}function Zw(r,e,t,a,n,i,o,s,l){var u,f=.005,h=1/0;Er[0]=o,Er[1]=s;for(var v=0;v<1;v+=.05){er[0]=se(r,t,n,v),er[1]=se(e,a,i,v);var c=$n(Er,er);c=0&&c=1?1:ff(0,a,i,1,l,s)&&ee(0,n,o,1,s[0])}}}var OL=(function(){function r(e){this._inited=!1,this._startTime=0,this._pausedTime=0,this._paused=!1,this._life=e.life||1e3,this._delay=e.delay||0,this.loop=e.loop||!1,this.onframe=e.onframe||$t,this.ondestroy=e.ondestroy||$t,this.onrestart=e.onrestart||$t,e.easing&&this.setEasing(e.easing)}return r.prototype.step=function(e,t){if(this._inited||(this._startTime=e+this._delay,this._inited=!0),this._paused){this._pausedTime+=t;return}var a=this._life,n=e-this._startTime-this._pausedTime,i=n/a;i<0&&(i=0),i=Math.min(i,1);var o=this.easingFunc,s=o?o(i):i;if(this.onframe(s),i===1)if(this.loop){var l=n%a;this._startTime=e-l,this._pausedTime=0,this.onrestart()}else return!0;return!1},r.prototype.pause=function(){this._paused=!0},r.prototype.resume=function(){this._paused=!1},r.prototype.setEasing=function(e){this.easing=e,this.easingFunc=Q(e)?e:xs[e]||_g(e)},r})(),qw=(function(){function r(e){this.value=e}return r})(),NL=(function(){function r(){this._len=0}return r.prototype.insert=function(e){var t=new qw(e);return this.insertEntry(t),t},r.prototype.insertEntry=function(e){this.head?(this.tail.next=e,e.prev=this.tail,e.next=null,this.tail=e):this.head=this.tail=e,this._len++},r.prototype.remove=function(e){var t=e.prev,a=e.next;t?t.next=a:this.head=a,a?a.prev=t:this.tail=t,e.next=e.prev=null,this._len--},r.prototype.len=function(){return this._len},r.prototype.clear=function(){this.head=this.tail=null,this._len=0},r})(),fl=(function(){function r(e){this._list=new NL,this._maxSize=10,this._map={},this._maxSize=e}return r.prototype.put=function(e,t){var a=this._list,n=this._map,i=null;if(n[e]==null){var o=a.len(),s=this._lastRemovedEntry;if(o>=this._maxSize&&o>0){var l=a.head;a.remove(l),delete n[l.key],i=l.value,this._lastRemovedEntry=l}s?s.value=t:s=new qw(t),s.key=e,a.insertEntry(s),n[e]=s}return i},r.prototype.get=function(e){var t=this._map[e],a=this._list;if(t!=null)return t!==a.tail&&(a.remove(t),a.insertEntry(t)),t.value},r.prototype.clear=function(){this._list.clear(),this._map={}},r.prototype.len=function(){return this._list.len()},r})(),Nm={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function _r(r){return r=Math.round(r),r<0?0:r>255?255:r}function BL(r){return r=Math.round(r),r<0?0:r>360?360:r}function Vs(r){return r<0?0:r>1?1:r}function jh(r){var e=r;return e.length&&e.charAt(e.length-1)==="%"?_r(parseFloat(e)/100*255):_r(parseInt(e,10))}function Xn(r){var e=r;return e.length&&e.charAt(e.length-1)==="%"?Vs(parseFloat(e)/100):Vs(parseFloat(e))}function tv(r,e,t){return t<0?t+=1:t>1&&(t-=1),t*6<1?r+(e-r)*t*6:t*2<1?e:t*3<2?r+(e-r)*(2/3-t)*6:r}function Ba(r,e,t){return r+(e-r)*t}function Ke(r,e,t,a,n){return r[0]=e,r[1]=t,r[2]=a,r[3]=n,r}function Lp(r,e){return r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r}var Kw=new fl(20),Bl=null;function _i(r,e){Bl&&Lp(Bl,e),Bl=Kw.put(r,Bl||e.slice())}function Ue(r,e){if(r){e=e||[];var t=Kw.get(r);if(t)return Lp(e,t);r=r+"";var a=r.replace(/ /g,"").toLowerCase();if(a in Nm)return Lp(e,Nm[a]),_i(r,e),e;var n=a.length;if(a.charAt(0)==="#"){if(n===4||n===5){var i=parseInt(a.slice(1,4),16);if(!(i>=0&&i<=4095)){Ke(e,0,0,0,1);return}return Ke(e,(i&3840)>>4|(i&3840)>>8,i&240|(i&240)>>4,i&15|(i&15)<<4,n===5?parseInt(a.slice(4),16)/15:1),_i(r,e),e}else if(n===7||n===9){var i=parseInt(a.slice(1,7),16);if(!(i>=0&&i<=16777215)){Ke(e,0,0,0,1);return}return Ke(e,(i&16711680)>>16,(i&65280)>>8,i&255,n===9?parseInt(a.slice(7),16)/255:1),_i(r,e),e}return}var o=a.indexOf("("),s=a.indexOf(")");if(o!==-1&&s+1===n){var l=a.substr(0,o),u=a.substr(o+1,s-(o+1)).split(","),f=1;switch(l){case"rgba":if(u.length!==4)return u.length===3?Ke(e,+u[0],+u[1],+u[2],1):Ke(e,0,0,0,1);f=Xn(u.pop());case"rgb":if(u.length>=3)return Ke(e,jh(u[0]),jh(u[1]),jh(u[2]),u.length===3?f:Xn(u[3])),_i(r,e),e;Ke(e,0,0,0,1);return;case"hsla":if(u.length!==4){Ke(e,0,0,0,1);return}return u[3]=Xn(u[3]),Pp(u,e),_i(r,e),e;case"hsl":if(u.length!==3){Ke(e,0,0,0,1);return}return Pp(u,e),_i(r,e),e;default:return}}Ke(e,0,0,0,1)}}function Pp(r,e){var t=(parseFloat(r[0])%360+360)%360/360,a=Xn(r[1]),n=Xn(r[2]),i=n<=.5?n*(a+1):n+a-n*a,o=n*2-i;return e=e||[],Ke(e,_r(tv(o,i,t+1/3)*255),_r(tv(o,i,t)*255),_r(tv(o,i,t-1/3)*255),1),r.length===4&&(e[3]=r[3]),e}function VL(r){if(r){var e=r[0]/255,t=r[1]/255,a=r[2]/255,n=Math.min(e,t,a),i=Math.max(e,t,a),o=i-n,s=(i+n)/2,l,u;if(o===0)l=0,u=0;else{s<.5?u=o/(i+n):u=o/(2-i-n);var f=((i-e)/6+o/2)/o,h=((i-t)/6+o/2)/o,v=((i-a)/6+o/2)/o;e===i?l=v-h:t===i?l=1/3+f-v:a===i&&(l=2/3+h-f),l<0&&(l+=1),l>1&&(l-=1)}var c=[l*360,u,s];return r[3]!=null&&c.push(r[3]),c}}function Rp(r,e){var t=Ue(r);if(t){for(var a=0;a<3;a++)e<0?t[a]=t[a]*(1-e)|0:t[a]=(255-t[a])*e+t[a]|0,t[a]>255?t[a]=255:t[a]<0&&(t[a]=0);return ia(t,t.length===4?"rgba":"rgb")}}function ev(r,e,t){if(!(!(e&&e.length)||!(r>=0&&r<=1))){t=t||[];var a=r*(e.length-1),n=Math.floor(a),i=Math.ceil(a),o=e[n],s=e[i],l=a-n;return t[0]=_r(Ba(o[0],s[0],l)),t[1]=_r(Ba(o[1],s[1],l)),t[2]=_r(Ba(o[2],s[2],l)),t[3]=Vs(Ba(o[3],s[3],l)),t}}function zL(r,e,t){if(!(!(e&&e.length)||!(r>=0&&r<=1))){var a=r*(e.length-1),n=Math.floor(a),i=Math.ceil(a),o=Ue(e[n]),s=Ue(e[i]),l=a-n,u=ia([_r(Ba(o[0],s[0],l)),_r(Ba(o[1],s[1],l)),_r(Ba(o[2],s[2],l)),Vs(Ba(o[3],s[3],l))],"rgba");return t?{color:u,leftIndex:n,rightIndex:i,value:a}:u}}function bs(r,e,t,a){var n=Ue(r);if(r)return n=VL(n),e!=null&&(n[0]=BL(e)),t!=null&&(n[1]=Xn(t)),a!=null&&(n[2]=Xn(a)),ia(Pp(n),"rgba")}function hf(r,e){var t=Ue(r);if(t&&e!=null)return t[3]=Vs(e),ia(t,"rgba")}function ia(r,e){if(!(!r||!r.length)){var t=r[0]+","+r[1]+","+r[2];return(e==="rgba"||e==="hsva"||e==="hsla")&&(t+=","+r[3]),e+"("+t+")"}}function vf(r,e){var t=Ue(r);return t?(.299*t[0]+.587*t[1]+.114*t[2])*t[3]/255+(1-t[3])*e:0}var Bm=new fl(100);function Ep(r){if(Y(r)){var e=Bm.get(r);return e||(e=Rp(r,-.1),Bm.put(r,e)),e}else if(nh(r)){var t=V({},r);return t.colorStops=G(r.colorStops,function(a){return{offset:a.offset,color:Rp(a.color,-.1)}}),t}return r}var cf=Math.round;function zs(r){var e;if(!r||r==="transparent")r="none";else if(typeof r=="string"&&r.indexOf("rgba")>-1){var t=Ue(r);t&&(r="rgb("+t[0]+","+t[1]+","+t[2]+")",e=t[3])}return{color:r,opacity:e??1}}var Vm=1e-4;function Va(r){return r-Vm}function Vl(r){return cf(r*1e3)/1e3}function kp(r){return cf(r*1e4)/1e4}function GL(r){return"matrix("+Vl(r[0])+","+Vl(r[1])+","+Vl(r[2])+","+Vl(r[3])+","+kp(r[4])+","+kp(r[5])+")"}var FL={left:"start",right:"end",center:"middle",middle:"middle"};function HL(r,e,t){return t==="top"?r+=e/2:t==="bottom"&&(r-=e/2),r}function WL(r){return r&&(r.shadowBlur||r.shadowOffsetX||r.shadowOffsetY)}function UL(r){var e=r.style,t=r.getGlobalScale();return[e.shadowColor,(e.shadowBlur||0).toFixed(2),(e.shadowOffsetX||0).toFixed(2),(e.shadowOffsetY||0).toFixed(2),t[0],t[1]].join(",")}function Qw(r){return r&&!!r.image}function YL(r){return r&&!!r.svgElement}function Sg(r){return Qw(r)||YL(r)}function Jw(r){return r.type==="linear"}function jw(r){return r.type==="radial"}function tT(r){return r&&(r.type==="linear"||r.type==="radial")}function sh(r){return"url(#"+r+")"}function eT(r){var e=r.getGlobalScale(),t=Math.max(e[0],e[1]);return Math.max(Math.ceil(Math.log(t)/Math.log(10)),1)}function rT(r){var e=r.x||0,t=r.y||0,a=(r.rotation||0)*Bu,n=st(r.scaleX,1),i=st(r.scaleY,1),o=r.skewX||0,s=r.skewY||0,l=[];return(e||t)&&l.push("translate("+e+"px,"+t+"px)"),a&&l.push("rotate("+a+")"),(n!==1||i!==1)&&l.push("scale("+n+","+i+")"),(o||s)&&l.push("skew("+cf(o*Bu)+"deg, "+cf(s*Bu)+"deg)"),l.join(" ")}var $L=(function(){return yt.hasGlobalWindow&&Q(window.btoa)?function(r){return window.btoa(unescape(encodeURIComponent(r)))}:typeof Buffer<"u"?function(r){return Buffer.from(r).toString("base64")}:function(r){return null}})(),Op=Array.prototype.slice;function Jr(r,e,t){return(e-r)*t+r}function rv(r,e,t,a){for(var n=e.length,i=0;ia?e:r,i=Math.min(t,a),o=n[i-1]||{color:[0,0,0,0],offset:0},s=i;so;if(s)a.length=o;else for(var l=i;l=1},r.prototype.getAdditiveTrack=function(){return this._additiveTrack},r.prototype.addKeyframe=function(e,t,a){this._needsSort=!0;var n=this.keyframes,i=n.length,o=!1,s=Gm,l=t;if(me(t)){var u=KL(t);s=u,(u===1&&!wt(t[0])||u===2&&!wt(t[0][0]))&&(o=!0)}else if(wt(t)&&!Os(t))s=Gl;else if(Y(t))if(!isNaN(+t))s=Gl;else{var f=Ue(t);f&&(l=f,s=us)}else if(nh(t)){var h=V({},l);h.colorStops=G(t.colorStops,function(c){return{offset:c.offset,color:Ue(c.color)}}),Jw(t)?s=Np:jw(t)&&(s=Bp),l=h}i===0?this.valType=s:(s!==this.valType||s===Gm)&&(o=!0),this.discrete=this.discrete||o;var v={time:e,value:l,rawValue:t,percent:0};return a&&(v.easing=a,v.easingFunc=Q(a)?a:xs[a]||_g(a)),n.push(v),v},r.prototype.prepare=function(e,t){var a=this.keyframes;this._needsSort&&a.sort(function(d,g){return d.time-g.time});for(var n=this.valType,i=a.length,o=a[i-1],s=this.discrete,l=Fl(n),u=Fm(n),f=0;f=0&&!(o[f].percent<=t);f--);f=v(f,s-2)}else{for(f=h;ft);f++);f=v(f-1,s-2)}p=o[f+1],c=o[f]}if(c&&p){this._lastFr=f,this._lastFrP=t;var g=p.percent-c.percent,y=g===0?1:v((t-c.percent)/g,1);p.easingFunc&&(y=p.easingFunc(y));var m=a?this._additiveValue:u?Bo:e[l];if((Fl(i)||u)&&!m&&(m=this._additiveValue=[]),this.discrete)e[l]=y<1?c.rawValue:p.rawValue;else if(Fl(i))i===Hu?rv(m,c[n],p[n],y):XL(m,c[n],p[n],y);else if(Fm(i)){var _=c[n],S=p[n],b=i===Np;e[l]={type:b?"linear":"radial",x:Jr(_.x,S.x,y),y:Jr(_.y,S.y,y),colorStops:G(_.colorStops,function(w,T){var A=S.colorStops[T];return{offset:Jr(w.offset,A.offset,y),color:Fu(rv([],w.color,A.color,y))}}),global:S.global},b?(e[l].x2=Jr(_.x2,S.x2,y),e[l].y2=Jr(_.y2,S.y2,y)):e[l].r=Jr(_.r,S.r,y)}else if(u)rv(m,c[n],p[n],y),a||(e[l]=Fu(m));else{var x=Jr(c[n],p[n],y);a?this._additiveValue=x:e[l]=x}a&&this._addToTarget(e)}}},r.prototype._addToTarget=function(e){var t=this.valType,a=this.propName,n=this._additiveValue;t===Gl?e[a]=e[a]+n:t===us?(Ue(e[a],Bo),zl(Bo,Bo,n,1),e[a]=Fu(Bo)):t===Hu?zl(e[a],e[a],n,1):t===aT&&zm(e[a],e[a],n,1)},r})(),xg=(function(){function r(e,t,a,n){if(this._tracks={},this._trackKeys=[],this._maxTime=0,this._started=0,this._clip=null,this._target=e,this._loop=t,t&&n){vg("Can' use additive animation on looped animation.");return}this._additiveAnimators=n,this._allowDiscrete=a}return r.prototype.getMaxTime=function(){return this._maxTime},r.prototype.getDelay=function(){return this._delay},r.prototype.getLoop=function(){return this._loop},r.prototype.getTarget=function(){return this._target},r.prototype.changeTarget=function(e){this._target=e},r.prototype.when=function(e,t,a){return this.whenWithKeys(e,t,_t(t),a)},r.prototype.whenWithKeys=function(e,t,a,n){for(var i=this._tracks,o=0;o0&&l.addKeyframe(0,ws(u),n),this._trackKeys.push(s)}l.addKeyframe(e,ws(t[s]),n)}return this._maxTime=Math.max(this._maxTime,e),this},r.prototype.pause=function(){this._clip.pause(),this._paused=!0},r.prototype.resume=function(){this._clip.resume(),this._paused=!1},r.prototype.isPaused=function(){return!!this._paused},r.prototype.duration=function(e){return this._maxTime=e,this._force=!0,this},r.prototype._doneCallback=function(){this._setTracksFinished(),this._clip=null;var e=this._doneCbs;if(e)for(var t=e.length,a=0;a0)){this._started=1;for(var t=this,a=[],n=this._maxTime||0,i=0;i1){var s=o.pop();i.addKeyframe(s.time,e[n]),i.prepare(this._maxTime,i.getAdditiveTrack())}}}},r})();function $i(){return new Date().getTime()}var JL=(function(r){k(e,r);function e(t){var a=r.call(this)||this;return a._running=!1,a._time=0,a._pausedTime=0,a._pauseStart=0,a._paused=!1,t=t||{},a.stage=t.stage||{},a}return e.prototype.addClip=function(t){t.animation&&this.removeClip(t),this._head?(this._tail.next=t,t.prev=this._tail,t.next=null,this._tail=t):this._head=this._tail=t,t.animation=this},e.prototype.addAnimator=function(t){t.animation=this;var a=t.getClip();a&&this.addClip(a)},e.prototype.removeClip=function(t){if(t.animation){var a=t.prev,n=t.next;a?a.next=n:this._head=n,n?n.prev=a:this._tail=a,t.next=t.prev=t.animation=null}},e.prototype.removeAnimator=function(t){var a=t.getClip();a&&this.removeClip(a),t.animation=null},e.prototype.update=function(t){for(var a=$i()-this._pausedTime,n=a-this._time,i=this._head;i;){var o=i.next,s=i.step(a,n);s&&(i.ondestroy(),this.removeClip(i)),i=o}this._time=a,t||(this.trigger("frame",n),this.stage.update&&this.stage.update())},e.prototype._startLoop=function(){var t=this;this._running=!0;function a(){t._running&&(lf(a),!t._paused&&t.update())}lf(a)},e.prototype.start=function(){this._running||(this._time=$i(),this._pausedTime=0,this._startLoop())},e.prototype.stop=function(){this._running=!1},e.prototype.pause=function(){this._paused||(this._pauseStart=$i(),this._paused=!0)},e.prototype.resume=function(){this._paused&&(this._pausedTime+=$i()-this._pauseStart,this._paused=!1)},e.prototype.clear=function(){for(var t=this._head;t;){var a=t.next;t.prev=t.next=t.animation=null,t=a}this._head=this._tail=null},e.prototype.isFinished=function(){return this._head==null},e.prototype.animate=function(t,a){a=a||{},this.start();var n=new xg(t,a.loop);return this.addAnimator(n),n},e})(lr),jL=300,av=yt.domSupported,nv=(function(){var r=["click","dblclick","mousewheel","wheel","mouseout","mouseup","mousedown","mousemove","contextmenu"],e=["touchstart","touchend","touchmove"],t={pointerdown:1,pointerup:1,pointermove:1,pointerout:1},a=G(r,function(n){var i=n.replace("mouse","pointer");return t.hasOwnProperty(i)?i:n});return{mouse:r,touch:e,pointer:a}})(),Hm={mouse:["mousemove","mouseup"],pointer:["pointermove","pointerup"]},Wm=!1;function Vp(r){var e=r.pointerType;return e==="pen"||e==="touch"}function tP(r){r.touching=!0,r.touchTimer!=null&&(clearTimeout(r.touchTimer),r.touchTimer=null),r.touchTimer=setTimeout(function(){r.touching=!1,r.touchTimer=null},700)}function iv(r){r&&(r.zrByTouch=!0)}function eP(r,e){return Qe(r.dom,new rP(r,e),!0)}function nT(r,e){for(var t=e,a=!1;t&&t.nodeType!==9&&!(a=t.domBelongToZr||t!==e&&t===r.painterRoot);)t=t.parentNode;return a}var rP=(function(){function r(e,t){this.stopPropagation=$t,this.stopImmediatePropagation=$t,this.preventDefault=$t,this.type=t.type,this.target=this.currentTarget=e.dom,this.pointerType=t.pointerType,this.clientX=t.clientX,this.clientY=t.clientY}return r})(),pr={mousedown:function(r){r=Qe(this.dom,r),this.__mayPointerCapture=[r.zrX,r.zrY],this.trigger("mousedown",r)},mousemove:function(r){r=Qe(this.dom,r);var e=this.__mayPointerCapture;e&&(r.zrX!==e[0]||r.zrY!==e[1])&&this.__togglePointerCapture(!0),this.trigger("mousemove",r)},mouseup:function(r){r=Qe(this.dom,r),this.__togglePointerCapture(!1),this.trigger("mouseup",r)},mouseout:function(r){r=Qe(this.dom,r);var e=r.toElement||r.relatedTarget;nT(this,e)||(this.__pointerCapturing&&(r.zrEventControl="no_globalout"),this.trigger("mouseout",r))},wheel:function(r){Wm=!0,r=Qe(this.dom,r),this.trigger("mousewheel",r)},mousewheel:function(r){Wm||(r=Qe(this.dom,r),this.trigger("mousewheel",r))},touchstart:function(r){r=Qe(this.dom,r),iv(r),this.__lastTouchMoment=new Date,this.handler.processGesture(r,"start"),pr.mousemove.call(this,r),pr.mousedown.call(this,r)},touchmove:function(r){r=Qe(this.dom,r),iv(r),this.handler.processGesture(r,"change"),pr.mousemove.call(this,r)},touchend:function(r){r=Qe(this.dom,r),iv(r),this.handler.processGesture(r,"end"),pr.mouseup.call(this,r),+new Date-+this.__lastTouchMoment$m||r<-$m}var un=[],Si=[],sv=We(),lv=Math.abs,ea=(function(){function r(){}return r.prototype.getLocalTransform=function(e){return r.getLocalTransform(this,e)},r.prototype.setPosition=function(e){this.x=e[0],this.y=e[1]},r.prototype.setScale=function(e){this.scaleX=e[0],this.scaleY=e[1]},r.prototype.setSkew=function(e){this.skewX=e[0],this.skewY=e[1]},r.prototype.setOrigin=function(e){this.originX=e[0],this.originY=e[1]},r.prototype.needLocalTransform=function(){return ln(this.rotation)||ln(this.x)||ln(this.y)||ln(this.scaleX-1)||ln(this.scaleY-1)||ln(this.skewX)||ln(this.skewY)},r.prototype.updateTransform=function(){var e=this.parent&&this.parent.transform,t=this.needLocalTransform(),a=this.transform;if(!(t||e)){a&&(Ym(a),this.invTransform=null);return}a=a||We(),t?this.getLocalTransform(a):Ym(a),e&&(t?na(a,e,a):yg(a,e)),this.transform=a,this._resolveGlobalScaleRatio(a)},r.prototype._resolveGlobalScaleRatio=function(e){var t=this.globalScaleRatio;if(t!=null&&t!==1){this.getGlobalScale(un);var a=un[0]<0?-1:1,n=un[1]<0?-1:1,i=((un[0]-a)*t+a)/un[0]||0,o=((un[1]-n)*t+n)/un[1]||0;e[0]*=i,e[1]*=i,e[2]*=o,e[3]*=o}this.invTransform=this.invTransform||We(),_o(this.invTransform,e)},r.prototype.getComputedTransform=function(){for(var e=this,t=[];e;)t.push(e),e=e.parent;for(;e=t.pop();)e.updateTransform();return this.transform},r.prototype.setLocalTransform=function(e){if(e){var t=e[0]*e[0]+e[1]*e[1],a=e[2]*e[2]+e[3]*e[3],n=Math.atan2(e[1],e[0]),i=Math.PI/2+n-Math.atan2(e[3],e[2]);a=Math.sqrt(a)*Math.cos(i),t=Math.sqrt(t),this.skewX=i,this.skewY=0,this.rotation=-n,this.x=+e[4],this.y=+e[5],this.scaleX=t,this.scaleY=a,this.originX=0,this.originY=0}},r.prototype.decomposeTransform=function(){if(this.transform){var e=this.parent,t=this.transform;e&&e.transform&&(e.invTransform=e.invTransform||We(),na(Si,e.invTransform,t),t=Si);var a=this.originX,n=this.originY;(a||n)&&(sv[4]=a,sv[5]=n,na(Si,t,sv),Si[4]-=a,Si[5]-=n,t=Si),this.setLocalTransform(t)}},r.prototype.getGlobalScale=function(e){var t=this.transform;return e=e||[],t?(e[0]=Math.sqrt(t[0]*t[0]+t[1]*t[1]),e[1]=Math.sqrt(t[2]*t[2]+t[3]*t[3]),t[0]<0&&(e[0]=-e[0]),t[3]<0&&(e[1]=-e[1]),e):(e[0]=1,e[1]=1,e)},r.prototype.transformCoordToLocal=function(e,t){var a=[e,t],n=this.invTransform;return n&&he(a,a,n),a},r.prototype.transformCoordToGlobal=function(e,t){var a=[e,t],n=this.transform;return n&&he(a,a,n),a},r.prototype.getLineScale=function(){var e=this.transform;return e&&lv(e[0]-1)>1e-10&&lv(e[3]-1)>1e-10?Math.sqrt(lv(e[0]*e[3]-e[2]*e[1])):1},r.prototype.copyTransform=function(e){oT(this,e)},r.getLocalTransform=function(e,t){t=t||[];var a=e.originX||0,n=e.originY||0,i=e.scaleX,o=e.scaleY,s=e.anchorX,l=e.anchorY,u=e.rotation||0,f=e.x,h=e.y,v=e.skewX?Math.tan(e.skewX):0,c=e.skewY?Math.tan(-e.skewY):0;if(a||n||s||l){var p=a+s,d=n+l;t[4]=-p*i-v*d*o,t[5]=-d*o-c*p*i}else t[4]=t[5]=0;return t[0]=i,t[3]=o,t[1]=c*i,t[2]=v*o,u&&fi(t,t,u),t[4]+=a+f,t[5]+=n+h,t},r.initDefaultProps=(function(){var e=r.prototype;e.scaleX=e.scaleY=e.globalScaleRatio=1,e.x=e.y=e.originX=e.originY=e.skewX=e.skewY=e.rotation=e.anchorX=e.anchorY=0})(),r})(),Wr=["x","y","originX","originY","anchorX","anchorY","rotation","scaleX","scaleY","skewX","skewY"];function oT(r,e){for(var t=0;t"u"&&typeof self<"u"?yt.worker=!0:!yt.hasGlobalWindow||"Deno"in window?(yt.node=!0,yt.svgSupported=!0):FI(navigator.userAgent,yt);function FI(r,e){var t=e.browser,a=r.match(/Firefox\/([\d.]+)/),n=r.match(/MSIE\s([\d.]+)/)||r.match(/Trident\/.+?rv:(([\d.]+))/),i=r.match(/Edge?\/([\d.]+)/),o=/micromessenger/i.test(r);a&&(t.firefox=!0,t.version=a[1]),n&&(t.ie=!0,t.version=n[1]),i&&(t.edge=!0,t.version=i[1],t.newEdge=+i[1].split(".")[0]>18),o&&(t.weChat=!0),e.svgSupported=typeof SVGRect<"u",e.touchEventsSupported="ontouchstart"in window&&!t.ie&&!t.edge,e.pointerEventsSupported="onpointerdown"in window&&(t.edge||t.ie&&+t.version>=11),e.domSupported=typeof document<"u";var s=document.documentElement.style;e.transform3dSupported=(t.ie&&"transition"in s||t.edge||"WebKitCSSMatrix"in window&&"m11"in new WebKitCSSMatrix||"MozPerspective"in s)&&!("OTransition"in s),e.transformSupported=e.transform3dSupported||t.ie&&+t.version>=9}var ug=12,Pw="sans-serif",$a=ug+"px "+Pw,HI=20,WI=100,UI="007LLmW'55;N0500LLLLLLLLLL00NNNLzWW\\\\WQb\\0FWLg\\bWb\\WQ\\WrWWQ000CL5LLFLL0LL**F*gLLLL5F0LF\\FFF5.5N";function YI(r){var e={};if(typeof JSON>"u")return e;for(var t=0;t=0)s=o*t.length;else for(var l=0;l>1)%2;s.cssText=["position: absolute","visibility: hidden","padding: 0","margin: 0","border-width: 0","user-select: none","width:0","height:0",a[l]+":0",n[u]+":0",a[1-l]+":auto",n[1-u]+":auto",""].join("!important;"),r.appendChild(o),t.push(o)}return t}function vL(r,e,t){for(var a=t?"invTrans":"trans",n=e[a],i=e.srcCoords,o=[],s=[],l=!0,u=0;u<4;u++){var f=r[u].getBoundingClientRect(),h=2*u,v=f.left,c=f.top;o.push(v,c),l=l&&i&&v===i[h]&&c===i[h+1],s.push(r[u].offsetLeft,r[u].offsetTop)}return l&&n?n:(e.srcCoords=o,e[a]=t?Tm(s,o):Tm(o,s))}function Vw(r){return r.nodeName.toUpperCase()==="CANVAS"}var cL=/([&<>"'])/g,pL={"&":"&","<":"<",">":">",'"':""","'":"'"};function Te(r){return r==null?"":(r+"").replace(cL,function(e,t){return pL[t]})}var dL=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Xh=[],gL=yt.browser.firefox&&+yt.browser.version.split(".")[0]<39;function Dp(r,e,t,a){return t=t||{},a?Cm(r,e,t):gL&&e.layerX!=null&&e.layerX!==e.offsetX?(t.zrX=e.layerX,t.zrY=e.layerY):e.offsetX!=null?(t.zrX=e.offsetX,t.zrY=e.offsetY):Cm(r,e,t),t}function Cm(r,e,t){if(yt.domSupported&&r.getBoundingClientRect){var a=e.clientX,n=e.clientY;if(Vw(r)){var i=r.getBoundingClientRect();t.zrX=a-i.left,t.zrY=n-i.top;return}else if(Cp(Xh,r,a,n)){t.zrX=Xh[0],t.zrY=Xh[1];return}}t.zrX=t.zrY=0}function gg(r){return r||window.event}function Qe(r,e,t){if(e=gg(e),e.zrX!=null)return e;var a=e.type,n=a&&a.indexOf("touch")>=0;if(n){var o=a!=="touchend"?e.targetTouches[0]:e.changedTouches[0];o&&Dp(r,o,e,t)}else{Dp(r,e,e,t);var i=yL(e);e.zrDelta=i?i/120:-(e.detail||0)/3}var s=e.button;return e.which==null&&s!==void 0&&dL.test(e.type)&&(e.which=s&1?1:s&2?3:s&4?2:0),e}function yL(r){var e=r.wheelDelta;if(e)return e;var t=r.deltaX,a=r.deltaY;if(t==null||a==null)return e;var n=Math.abs(a!==0?a:t),i=a>0?-1:a<0?1:t>0?-1:1;return 3*n*i}function Mp(r,e,t,a){r.addEventListener(e,t,a)}function mL(r,e,t,a){r.removeEventListener(e,t,a)}var la=function(r){r.preventDefault(),r.stopPropagation(),r.cancelBubble=!0};function Dm(r){return r.which===2||r.which===3}var _L=(function(){function r(){this._track=[]}return r.prototype.recognize=function(e,t,a){return this._doTrack(e,t,a),this._recognize(e)},r.prototype.clear=function(){return this._track.length=0,this},r.prototype._doTrack=function(e,t,a){var n=e.touches;if(n){for(var i={points:[],touches:[],target:t,event:e},o=0,s=n.length;o1&&a&&a.length>1){var i=Mm(a)/Mm(n);!isFinite(i)&&(i=1),e.pinchScale=i;var o=SL(a);return e.pinchX=o[0],e.pinchY=o[1],{type:"pinch",target:r[0].target,event:e}}}}};function We(){return[1,0,0,1,0,0]}function oh(r){return r[0]=1,r[1]=0,r[2]=0,r[3]=1,r[4]=0,r[5]=0,r}function yg(r,e){return r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r}function na(r,e,t){var a=e[0]*t[0]+e[2]*t[1],n=e[1]*t[0]+e[3]*t[1],i=e[0]*t[2]+e[2]*t[3],o=e[1]*t[2]+e[3]*t[3],s=e[0]*t[4]+e[2]*t[5]+e[4],l=e[1]*t[4]+e[3]*t[5]+e[5];return r[0]=a,r[1]=n,r[2]=i,r[3]=o,r[4]=s,r[5]=l,r}function Hr(r,e,t){return r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4]+t[0],r[5]=e[5]+t[1],r}function fi(r,e,t,a){a===void 0&&(a=[0,0]);var n=e[0],i=e[2],o=e[4],s=e[1],l=e[3],u=e[5],f=Math.sin(t),h=Math.cos(t);return r[0]=n*h+s*f,r[1]=-n*f+s*h,r[2]=i*h+l*f,r[3]=-i*f+h*l,r[4]=h*(o-a[0])+f*(u-a[1])+a[0],r[5]=h*(u-a[1])-f*(o-a[0])+a[1],r}function mg(r,e,t){var a=t[0],n=t[1];return r[0]=e[0]*a,r[1]=e[1]*n,r[2]=e[2]*a,r[3]=e[3]*n,r[4]=e[4]*a,r[5]=e[5]*n,r}function _o(r,e){var t=e[0],a=e[2],n=e[4],i=e[1],o=e[3],s=e[5],l=t*o-i*a;return l?(l=1/l,r[0]=o*l,r[1]=-i*l,r[2]=-a*l,r[3]=t*l,r[4]=(a*s-o*n)*l,r[5]=(i*n-t*s)*l,r):null}function xL(r){var e=We();return yg(e,r),e}var ft=(function(){function r(e,t){this.x=e||0,this.y=t||0}return r.prototype.copy=function(e){return this.x=e.x,this.y=e.y,this},r.prototype.clone=function(){return new r(this.x,this.y)},r.prototype.set=function(e,t){return this.x=e,this.y=t,this},r.prototype.equal=function(e){return e.x===this.x&&e.y===this.y},r.prototype.add=function(e){return this.x+=e.x,this.y+=e.y,this},r.prototype.scale=function(e){this.x*=e,this.y*=e},r.prototype.scaleAndAdd=function(e,t){this.x+=e.x*t,this.y+=e.y*t},r.prototype.sub=function(e){return this.x-=e.x,this.y-=e.y,this},r.prototype.dot=function(e){return this.x*e.x+this.y*e.y},r.prototype.len=function(){return Math.sqrt(this.x*this.x+this.y*this.y)},r.prototype.lenSquare=function(){return this.x*this.x+this.y*this.y},r.prototype.normalize=function(){var e=this.len();return this.x/=e,this.y/=e,this},r.prototype.distance=function(e){var t=this.x-e.x,a=this.y-e.y;return Math.sqrt(t*t+a*a)},r.prototype.distanceSquare=function(e){var t=this.x-e.x,a=this.y-e.y;return t*t+a*a},r.prototype.negate=function(){return this.x=-this.x,this.y=-this.y,this},r.prototype.transform=function(e){if(e){var t=this.x,a=this.y;return this.x=e[0]*t+e[2]*a+e[4],this.y=e[1]*t+e[3]*a+e[5],this}},r.prototype.toArray=function(e){return e[0]=this.x,e[1]=this.y,e},r.prototype.fromArray=function(e){this.x=e[0],this.y=e[1]},r.set=function(e,t,a){e.x=t,e.y=a},r.copy=function(e,t){e.x=t.x,e.y=t.y},r.len=function(e){return Math.sqrt(e.x*e.x+e.y*e.y)},r.lenSquare=function(e){return e.x*e.x+e.y*e.y},r.dot=function(e,t){return e.x*t.x+e.y*t.y},r.add=function(e,t,a){e.x=t.x+a.x,e.y=t.y+a.y},r.sub=function(e,t,a){e.x=t.x-a.x,e.y=t.y-a.y},r.scale=function(e,t,a){e.x=t.x*a,e.y=t.y*a},r.scaleAndAdd=function(e,t,a,n){e.x=t.x+a.x*n,e.y=t.y+a.y*n},r.lerp=function(e,t,a,n){var i=1-n;e.x=i*t.x+n*a.x,e.y=i*t.y+n*a.y},r})(),El=Math.min,kl=Math.max,an=new ft,nn=new ft,on=new ft,sn=new ft,Eo=new ft,ko=new ft,ht=(function(){function r(e,t,a,n){a<0&&(e=e+a,a=-a),n<0&&(t=t+n,n=-n),this.x=e,this.y=t,this.width=a,this.height=n}return r.prototype.union=function(e){var t=El(e.x,this.x),a=El(e.y,this.y);isFinite(this.x)&&isFinite(this.width)?this.width=kl(e.x+e.width,this.x+this.width)-t:this.width=e.width,isFinite(this.y)&&isFinite(this.height)?this.height=kl(e.y+e.height,this.y+this.height)-a:this.height=e.height,this.x=t,this.y=a},r.prototype.applyTransform=function(e){r.applyTransform(this,this,e)},r.prototype.calculateTransform=function(e){var t=this,a=e.width/t.width,n=e.height/t.height,i=We();return Hr(i,i,[-t.x,-t.y]),mg(i,i,[a,n]),Hr(i,i,[e.x,e.y]),i},r.prototype.intersect=function(e,t){if(!e)return!1;e instanceof r||(e=r.create(e));var a=this,n=a.x,i=a.x+a.width,o=a.y,s=a.y+a.height,l=e.x,u=e.x+e.width,f=e.y,h=e.y+e.height,v=!(ip&&(p=_,dp&&(p=S,y=a.x&&e<=a.x+a.width&&t>=a.y&&t<=a.y+a.height},r.prototype.clone=function(){return new r(this.x,this.y,this.width,this.height)},r.prototype.copy=function(e){r.copy(this,e)},r.prototype.plain=function(){return{x:this.x,y:this.y,width:this.width,height:this.height}},r.prototype.isFinite=function(){return isFinite(this.x)&&isFinite(this.y)&&isFinite(this.width)&&isFinite(this.height)},r.prototype.isZero=function(){return this.width===0||this.height===0},r.create=function(e){return new r(e.x,e.y,e.width,e.height)},r.copy=function(e,t){e.x=t.x,e.y=t.y,e.width=t.width,e.height=t.height},r.applyTransform=function(e,t,a){if(!a){e!==t&&r.copy(e,t);return}if(a[1]<1e-5&&a[1]>-1e-5&&a[2]<1e-5&&a[2]>-1e-5){var n=a[0],i=a[3],o=a[4],s=a[5];e.x=t.x*n+o,e.y=t.y*i+s,e.width=t.width*n,e.height=t.height*i,e.width<0&&(e.x+=e.width,e.width=-e.width),e.height<0&&(e.y+=e.height,e.height=-e.height);return}an.x=on.x=t.x,an.y=sn.y=t.y,nn.x=sn.x=t.x+t.width,nn.y=on.y=t.y+t.height,an.transform(a),sn.transform(a),nn.transform(a),on.transform(a),e.x=El(an.x,nn.x,on.x,sn.x),e.y=El(an.y,nn.y,on.y,sn.y);var l=kl(an.x,nn.x,on.x,sn.x),u=kl(an.y,nn.y,on.y,sn.y);e.width=l-e.x,e.height=u-e.y},r})(),zw="silent";function bL(r,e,t){return{type:r,event:t,target:e.target,topTarget:e.topTarget,cancelBubble:!1,offsetX:t.zrX,offsetY:t.zrY,gestureEvent:t.gestureEvent,pinchX:t.pinchX,pinchY:t.pinchY,pinchScale:t.pinchScale,wheelDelta:t.zrDelta,zrByTouch:t.zrByTouch,which:t.which,stop:wL}}function wL(){la(this.event)}var TL=(function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.handler=null,t}return e.prototype.dispose=function(){},e.prototype.setCursor=function(){},e})(lr),Oo=(function(){function r(e,t){this.x=e,this.y=t}return r})(),AL=["click","dblclick","mousewheel","mouseout","mouseup","mousedown","mousemove","contextmenu"],qh=new ht(0,0,0,0),Gw=(function(r){k(e,r);function e(t,a,n,i,o){var s=r.call(this)||this;return s._hovered=new Oo(0,0),s.storage=t,s.painter=a,s.painterRoot=i,s._pointerSize=o,n=n||new TL,s.proxy=null,s.setHandlerProxy(n),s._draggingMgr=new lL(s),s}return e.prototype.setHandlerProxy=function(t){this.proxy&&this.proxy.dispose(),t&&(D(AL,function(a){t.on&&t.on(a,this[a],this)},this),t.handler=this),this.proxy=t},e.prototype.mousemove=function(t){var a=t.zrX,n=t.zrY,i=Fw(this,a,n),o=this._hovered,s=o.target;s&&!s.__zr&&(o=this.findHover(o.x,o.y),s=o.target);var l=this._hovered=i?new Oo(a,n):this.findHover(a,n),u=l.target,f=this.proxy;f.setCursor&&f.setCursor(u?u.cursor:"default"),s&&u!==s&&this.dispatchToElement(o,"mouseout",t),this.dispatchToElement(l,"mousemove",t),u&&u!==s&&this.dispatchToElement(l,"mouseover",t)},e.prototype.mouseout=function(t){var a=t.zrEventControl;a!=="only_globalout"&&this.dispatchToElement(this._hovered,"mouseout",t),a!=="no_globalout"&&this.trigger("globalout",{type:"globalout",event:t})},e.prototype.resize=function(){this._hovered=new Oo(0,0)},e.prototype.dispatch=function(t,a){var n=this[t];n&&n.call(this,a)},e.prototype.dispose=function(){this.proxy.dispose(),this.storage=null,this.proxy=null,this.painter=null},e.prototype.setCursorStyle=function(t){var a=this.proxy;a.setCursor&&a.setCursor(t)},e.prototype.dispatchToElement=function(t,a,n){t=t||{};var i=t.target;if(!(i&&i.silent)){for(var o="on"+a,s=bL(a,t,n);i&&(i[o]&&(s.cancelBubble=!!i[o].call(i,s)),i.trigger(a,s),i=i.__hostTarget?i.__hostTarget:i.parent,!s.cancelBubble););s.cancelBubble||(this.trigger(a,s),this.painter&&this.painter.eachOtherLayer&&this.painter.eachOtherLayer(function(l){typeof l[o]=="function"&&l[o].call(l,s),l.trigger&&l.trigger(a,s)}))}},e.prototype.findHover=function(t,a,n){var i=this.storage.getDisplayList(),o=new Oo(t,a);if(Im(i,o,t,a,n),this._pointerSize&&!o.target){for(var s=[],l=this._pointerSize,u=l/2,f=new ht(t-u,a-u,l,l),h=i.length-1;h>=0;h--){var v=i[h];v!==n&&!v.ignore&&!v.ignoreCoarsePointer&&(!v.parent||!v.parent.ignoreCoarsePointer)&&(qh.copy(v.getBoundingRect()),v.transform&&qh.applyTransform(v.transform),qh.intersect(f)&&s.push(v))}if(s.length)for(var c=4,p=Math.PI/12,d=Math.PI*2,g=0;g4)return;this._downPoint=null}this.dispatchToElement(i,r,e)}});function CL(r,e,t){if(r[r.rectHover?"rectContain":"contain"](e,t)){for(var a=r,n=void 0,i=!1;a;){if(a.ignoreClip&&(i=!0),!i){var o=a.getClipPath();if(o&&!o.contain(e,t))return!1}a.silent&&(n=!0);var s=a.__hostTarget;a=s||a.parent}return n?zw:!0}return!1}function Im(r,e,t,a,n){for(var i=r.length-1;i>=0;i--){var o=r[i],s=void 0;if(o!==n&&!o.ignore&&(s=CL(o,t,a))&&(!e.topTarget&&(e.topTarget=o),s!==zw)){e.target=o;break}}}function Fw(r,e,t){var a=r.painter;return e<0||e>a.getWidth()||t<0||t>a.getHeight()}var Hw=32,No=7;function DL(r){for(var e=0;r>=Hw;)e|=r&1,r>>=1;return r+e}function Lm(r,e,t,a){var n=e+1;if(n===t)return 1;if(a(r[n++],r[e])<0){for(;n=0;)n++;return n-e}function ML(r,e,t){for(t--;e>>1,n(i,r[l])<0?s=l:o=l+1;var u=a-o;switch(u){case 3:r[o+3]=r[o+2];case 2:r[o+2]=r[o+1];case 1:r[o+1]=r[o];break;default:for(;u>0;)r[o+u]=r[o+u-1],u--}r[o]=i}}function Kh(r,e,t,a,n,i){var o=0,s=0,l=1;if(i(r,e[t+n])>0){for(s=a-n;l0;)o=l,l=(l<<1)+1,l<=0&&(l=s);l>s&&(l=s),o+=n,l+=n}else{for(s=n+1;ls&&(l=s);var u=o;o=n-l,l=n-u}for(o++;o>>1);i(r,e[t+f])>0?o=f+1:l=f}return l}function Qh(r,e,t,a,n,i){var o=0,s=0,l=1;if(i(r,e[t+n])<0){for(s=n+1;ls&&(l=s);var u=o;o=n-l,l=n-u}else{for(s=a-n;l=0;)o=l,l=(l<<1)+1,l<=0&&(l=s);l>s&&(l=s),o+=n,l+=n}for(o++;o>>1);i(r,e[t+f])<0?l=f:o=f+1}return l}function IL(r,e){var t=No,a,n,i=0,o=[];a=[],n=[];function s(c,p){a[i]=c,n[i]=p,i+=1}function l(){for(;i>1;){var c=i-2;if(c>=1&&n[c-1]<=n[c]+n[c+1]||c>=2&&n[c-2]<=n[c]+n[c-1])n[c-1]n[c+1])break;f(c)}}function u(){for(;i>1;){var c=i-2;c>0&&n[c-1]=No||w>=No);if(T)break;b<0&&(b=0),b+=2}if(t=b,t<1&&(t=1),p===1){for(y=0;y=0;y--)r[x+y]=r[b+y];r[S]=o[_];return}for(var w=t;;){var T=0,A=0,C=!1;do if(e(o[_],r[m])<0){if(r[S--]=r[m--],T++,A=0,--p===0){C=!0;break}}else if(r[S--]=o[_--],A++,T=0,--g===1){C=!0;break}while((T|A)=0;y--)r[x+y]=r[b+y];if(p===0){C=!0;break}}if(r[S--]=o[_--],--g===1){C=!0;break}if(A=g-Kh(r[m],o,0,g,g-1,e),A!==0){for(S-=A,_-=A,g-=A,x=S+1,b=_+1,y=0;y=No||A>=No);if(C)break;w<0&&(w=0),w+=2}if(t=w,t<1&&(t=1),g===1){for(S-=p,m-=p,x=S+1,b=m+1,y=p-1;y>=0;y--)r[x+y]=r[b+y];r[S]=o[_]}else{if(g===0)throw new Error;for(b=S-(g-1),y=0;ys&&(l=s),Pm(r,t,t+l,t+i,e),i=l}o.pushRun(t,i),o.mergeRuns(),n-=i,t+=i}while(n!==0);o.forceMergeRuns()}}var Fe=1,ls=2,Gi=4,Rm=!1;function Jh(){Rm||(Rm=!0,console.warn("z / z2 / zlevel of displayable is invalid, which may cause unexpected errors"))}function Em(r,e){return r.zlevel===e.zlevel?r.z===e.z?r.z2-e.z2:r.z-e.z:r.zlevel-e.zlevel}var LL=(function(){function r(){this._roots=[],this._displayList=[],this._displayListLen=0,this.displayableSortFunc=Em}return r.prototype.traverse=function(e,t){for(var a=0;a0&&(f.__clipPaths=[]),isNaN(f.z)&&(Jh(),f.z=0),isNaN(f.z2)&&(Jh(),f.z2=0),isNaN(f.zlevel)&&(Jh(),f.zlevel=0),this._displayList[this._displayListLen++]=f}var h=e.getDecalElement&&e.getDecalElement();h&&this._updateAndAddDisplayable(h,t,a);var v=e.getTextGuideLine();v&&this._updateAndAddDisplayable(v,t,a);var c=e.getTextContent();c&&this._updateAndAddDisplayable(c,t,a)}},r.prototype.addRoot=function(e){e.__zr&&e.__zr.storage===this||this._roots.push(e)},r.prototype.delRoot=function(e){if(e instanceof Array){for(var t=0,a=e.length;t=0&&this._roots.splice(n,1)},r.prototype.delAllRoots=function(){this._roots=[],this._displayList=[],this._displayListLen=0},r.prototype.getRoots=function(){return this._roots},r.prototype.dispose=function(){this._displayList=null,this._roots=null},r})(),lf;lf=yt.hasGlobalWindow&&(window.requestAnimationFrame&&window.requestAnimationFrame.bind(window)||window.msRequestAnimationFrame&&window.msRequestAnimationFrame.bind(window)||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame)||function(r){return setTimeout(r,16)};var xs={linear:function(r){return r},quadraticIn:function(r){return r*r},quadraticOut:function(r){return r*(2-r)},quadraticInOut:function(r){return(r*=2)<1?.5*r*r:-.5*(--r*(r-2)-1)},cubicIn:function(r){return r*r*r},cubicOut:function(r){return--r*r*r+1},cubicInOut:function(r){return(r*=2)<1?.5*r*r*r:.5*((r-=2)*r*r+2)},quarticIn:function(r){return r*r*r*r},quarticOut:function(r){return 1- --r*r*r*r},quarticInOut:function(r){return(r*=2)<1?.5*r*r*r*r:-.5*((r-=2)*r*r*r-2)},quinticIn:function(r){return r*r*r*r*r},quinticOut:function(r){return--r*r*r*r*r+1},quinticInOut:function(r){return(r*=2)<1?.5*r*r*r*r*r:.5*((r-=2)*r*r*r*r+2)},sinusoidalIn:function(r){return 1-Math.cos(r*Math.PI/2)},sinusoidalOut:function(r){return Math.sin(r*Math.PI/2)},sinusoidalInOut:function(r){return .5*(1-Math.cos(Math.PI*r))},exponentialIn:function(r){return r===0?0:Math.pow(1024,r-1)},exponentialOut:function(r){return r===1?1:1-Math.pow(2,-10*r)},exponentialInOut:function(r){return r===0?0:r===1?1:(r*=2)<1?.5*Math.pow(1024,r-1):.5*(-Math.pow(2,-10*(r-1))+2)},circularIn:function(r){return 1-Math.sqrt(1-r*r)},circularOut:function(r){return Math.sqrt(1- --r*r)},circularInOut:function(r){return(r*=2)<1?-.5*(Math.sqrt(1-r*r)-1):.5*(Math.sqrt(1-(r-=2)*r)+1)},elasticIn:function(r){var e,t=.1,a=.4;return r===0?0:r===1?1:(!t||t<1?(t=1,e=a/4):e=a*Math.asin(1/t)/(2*Math.PI),-(t*Math.pow(2,10*(r-=1))*Math.sin((r-e)*(2*Math.PI)/a)))},elasticOut:function(r){var e,t=.1,a=.4;return r===0?0:r===1?1:(!t||t<1?(t=1,e=a/4):e=a*Math.asin(1/t)/(2*Math.PI),t*Math.pow(2,-10*r)*Math.sin((r-e)*(2*Math.PI)/a)+1)},elasticInOut:function(r){var e,t=.1,a=.4;return r===0?0:r===1?1:(!t||t<1?(t=1,e=a/4):e=a*Math.asin(1/t)/(2*Math.PI),(r*=2)<1?-.5*(t*Math.pow(2,10*(r-=1))*Math.sin((r-e)*(2*Math.PI)/a)):t*Math.pow(2,-10*(r-=1))*Math.sin((r-e)*(2*Math.PI)/a)*.5+1)},backIn:function(r){var e=1.70158;return r*r*((e+1)*r-e)},backOut:function(r){var e=1.70158;return--r*r*((e+1)*r+e)+1},backInOut:function(r){var e=2.5949095;return(r*=2)<1?.5*(r*r*((e+1)*r-e)):.5*((r-=2)*r*((e+1)*r+e)+2)},bounceIn:function(r){return 1-xs.bounceOut(1-r)},bounceOut:function(r){return r<1/2.75?7.5625*r*r:r<2/2.75?7.5625*(r-=1.5/2.75)*r+.75:r<2.5/2.75?7.5625*(r-=2.25/2.75)*r+.9375:7.5625*(r-=2.625/2.75)*r+.984375},bounceInOut:function(r){return r<.5?xs.bounceIn(r*2)*.5:xs.bounceOut(r*2-1)*.5+.5}},Ol=Math.pow,Ha=Math.sqrt,uf=1e-8,Ww=1e-4,km=Ha(3),Nl=1/3,Er=ui(),er=ui(),Ki=ui();function Na(r){return r>-uf&&ruf||r<-uf}function ee(r,e,t,a,n){var i=1-n;return i*i*(i*r+3*n*e)+n*n*(n*a+3*i*t)}function Om(r,e,t,a,n){var i=1-n;return 3*(((e-r)*i+2*(t-e)*n)*i+(a-t)*n*n)}function ff(r,e,t,a,n,i){var o=a+3*(e-t)-r,s=3*(t-e*2+r),l=3*(e-r),u=r-n,f=s*s-3*o*l,h=s*l-9*o*u,v=l*l-3*s*u,c=0;if(Na(f)&&Na(h))if(Na(s))i[0]=0;else{var p=-l/s;p>=0&&p<=1&&(i[c++]=p)}else{var d=h*h-4*f*v;if(Na(d)){var g=h/f,p=-s/o+g,y=-g/2;p>=0&&p<=1&&(i[c++]=p),y>=0&&y<=1&&(i[c++]=y)}else if(d>0){var m=Ha(d),_=f*s+1.5*o*(-h+m),S=f*s+1.5*o*(-h-m);_<0?_=-Ol(-_,Nl):_=Ol(_,Nl),S<0?S=-Ol(-S,Nl):S=Ol(S,Nl);var p=(-s-(_+S))/(3*o);p>=0&&p<=1&&(i[c++]=p)}else{var b=(2*f*s-3*o*h)/(2*Ha(f*f*f)),x=Math.acos(b)/3,w=Ha(f),T=Math.cos(x),p=(-s-2*w*T)/(3*o),y=(-s+w*(T+km*Math.sin(x)))/(3*o),A=(-s+w*(T-km*Math.sin(x)))/(3*o);p>=0&&p<=1&&(i[c++]=p),y>=0&&y<=1&&(i[c++]=y),A>=0&&A<=1&&(i[c++]=A)}}return c}function Yw(r,e,t,a,n){var i=6*t-12*e+6*r,o=9*e+3*a-3*r-9*t,s=3*e-3*r,l=0;if(Na(o)){if(Uw(i)){var u=-s/i;u>=0&&u<=1&&(n[l++]=u)}}else{var f=i*i-4*o*s;if(Na(f))n[0]=-i/(2*o);else if(f>0){var h=Ha(f),u=(-i+h)/(2*o),v=(-i-h)/(2*o);u>=0&&u<=1&&(n[l++]=u),v>=0&&v<=1&&(n[l++]=v)}}return l}function Za(r,e,t,a,n,i){var o=(e-r)*n+r,s=(t-e)*n+e,l=(a-t)*n+t,u=(s-o)*n+o,f=(l-s)*n+s,h=(f-u)*n+u;i[0]=r,i[1]=o,i[2]=u,i[3]=h,i[4]=h,i[5]=f,i[6]=l,i[7]=a}function $w(r,e,t,a,n,i,o,s,l,u,f){var h,v=.005,c=1/0,p,d,g,y;Er[0]=l,Er[1]=u;for(var m=0;m<1;m+=.05)er[0]=ee(r,t,n,o,m),er[1]=ee(e,a,i,s,m),g=$n(Er,er),g=0&&g=0&&u<=1&&(n[l++]=u)}}else{var f=o*o-4*i*s;if(Na(f)){var u=-o/(2*i);u>=0&&u<=1&&(n[l++]=u)}else if(f>0){var h=Ha(f),u=(-o+h)/(2*i),v=(-o-h)/(2*i);u>=0&&u<=1&&(n[l++]=u),v>=0&&v<=1&&(n[l++]=v)}}return l}function Xw(r,e,t){var a=r+t-2*e;return a===0?.5:(r-e)/a}function Bs(r,e,t,a,n){var i=(e-r)*a+r,o=(t-e)*a+e,s=(o-i)*a+i;n[0]=r,n[1]=i,n[2]=s,n[3]=s,n[4]=o,n[5]=t}function Zw(r,e,t,a,n,i,o,s,l){var u,f=.005,h=1/0;Er[0]=o,Er[1]=s;for(var v=0;v<1;v+=.05){er[0]=se(r,t,n,v),er[1]=se(e,a,i,v);var c=$n(Er,er);c=0&&c=1?1:ff(0,a,i,1,l,s)&&ee(0,n,o,1,s[0])}}}var OL=(function(){function r(e){this._inited=!1,this._startTime=0,this._pausedTime=0,this._paused=!1,this._life=e.life||1e3,this._delay=e.delay||0,this.loop=e.loop||!1,this.onframe=e.onframe||$t,this.ondestroy=e.ondestroy||$t,this.onrestart=e.onrestart||$t,e.easing&&this.setEasing(e.easing)}return r.prototype.step=function(e,t){if(this._inited||(this._startTime=e+this._delay,this._inited=!0),this._paused){this._pausedTime+=t;return}var a=this._life,n=e-this._startTime-this._pausedTime,i=n/a;i<0&&(i=0),i=Math.min(i,1);var o=this.easingFunc,s=o?o(i):i;if(this.onframe(s),i===1)if(this.loop){var l=n%a;this._startTime=e-l,this._pausedTime=0,this.onrestart()}else return!0;return!1},r.prototype.pause=function(){this._paused=!0},r.prototype.resume=function(){this._paused=!1},r.prototype.setEasing=function(e){this.easing=e,this.easingFunc=Q(e)?e:xs[e]||_g(e)},r})(),qw=(function(){function r(e){this.value=e}return r})(),NL=(function(){function r(){this._len=0}return r.prototype.insert=function(e){var t=new qw(e);return this.insertEntry(t),t},r.prototype.insertEntry=function(e){this.head?(this.tail.next=e,e.prev=this.tail,e.next=null,this.tail=e):this.head=this.tail=e,this._len++},r.prototype.remove=function(e){var t=e.prev,a=e.next;t?t.next=a:this.head=a,a?a.prev=t:this.tail=t,e.next=e.prev=null,this._len--},r.prototype.len=function(){return this._len},r.prototype.clear=function(){this.head=this.tail=null,this._len=0},r})(),fl=(function(){function r(e){this._list=new NL,this._maxSize=10,this._map={},this._maxSize=e}return r.prototype.put=function(e,t){var a=this._list,n=this._map,i=null;if(n[e]==null){var o=a.len(),s=this._lastRemovedEntry;if(o>=this._maxSize&&o>0){var l=a.head;a.remove(l),delete n[l.key],i=l.value,this._lastRemovedEntry=l}s?s.value=t:s=new qw(t),s.key=e,a.insertEntry(s),n[e]=s}return i},r.prototype.get=function(e){var t=this._map[e],a=this._list;if(t!=null)return t!==a.tail&&(a.remove(t),a.insertEntry(t)),t.value},r.prototype.clear=function(){this._list.clear(),this._map={}},r.prototype.len=function(){return this._list.len()},r})(),Nm={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function _r(r){return r=Math.round(r),r<0?0:r>255?255:r}function BL(r){return r=Math.round(r),r<0?0:r>360?360:r}function Vs(r){return r<0?0:r>1?1:r}function jh(r){var e=r;return e.length&&e.charAt(e.length-1)==="%"?_r(parseFloat(e)/100*255):_r(parseInt(e,10))}function Xn(r){var e=r;return e.length&&e.charAt(e.length-1)==="%"?Vs(parseFloat(e)/100):Vs(parseFloat(e))}function tv(r,e,t){return t<0?t+=1:t>1&&(t-=1),t*6<1?r+(e-r)*t*6:t*2<1?e:t*3<2?r+(e-r)*(2/3-t)*6:r}function Ba(r,e,t){return r+(e-r)*t}function Ke(r,e,t,a,n){return r[0]=e,r[1]=t,r[2]=a,r[3]=n,r}function Lp(r,e){return r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r}var Kw=new fl(20),Bl=null;function _i(r,e){Bl&&Lp(Bl,e),Bl=Kw.put(r,Bl||e.slice())}function Ue(r,e){if(r){e=e||[];var t=Kw.get(r);if(t)return Lp(e,t);r=r+"";var a=r.replace(/ /g,"").toLowerCase();if(a in Nm)return Lp(e,Nm[a]),_i(r,e),e;var n=a.length;if(a.charAt(0)==="#"){if(n===4||n===5){var i=parseInt(a.slice(1,4),16);if(!(i>=0&&i<=4095)){Ke(e,0,0,0,1);return}return Ke(e,(i&3840)>>4|(i&3840)>>8,i&240|(i&240)>>4,i&15|(i&15)<<4,n===5?parseInt(a.slice(4),16)/15:1),_i(r,e),e}else if(n===7||n===9){var i=parseInt(a.slice(1,7),16);if(!(i>=0&&i<=16777215)){Ke(e,0,0,0,1);return}return Ke(e,(i&16711680)>>16,(i&65280)>>8,i&255,n===9?parseInt(a.slice(7),16)/255:1),_i(r,e),e}return}var o=a.indexOf("("),s=a.indexOf(")");if(o!==-1&&s+1===n){var l=a.substr(0,o),u=a.substr(o+1,s-(o+1)).split(","),f=1;switch(l){case"rgba":if(u.length!==4)return u.length===3?Ke(e,+u[0],+u[1],+u[2],1):Ke(e,0,0,0,1);f=Xn(u.pop());case"rgb":if(u.length>=3)return Ke(e,jh(u[0]),jh(u[1]),jh(u[2]),u.length===3?f:Xn(u[3])),_i(r,e),e;Ke(e,0,0,0,1);return;case"hsla":if(u.length!==4){Ke(e,0,0,0,1);return}return u[3]=Xn(u[3]),Pp(u,e),_i(r,e),e;case"hsl":if(u.length!==3){Ke(e,0,0,0,1);return}return Pp(u,e),_i(r,e),e;default:return}}Ke(e,0,0,0,1)}}function Pp(r,e){var t=(parseFloat(r[0])%360+360)%360/360,a=Xn(r[1]),n=Xn(r[2]),i=n<=.5?n*(a+1):n+a-n*a,o=n*2-i;return e=e||[],Ke(e,_r(tv(o,i,t+1/3)*255),_r(tv(o,i,t)*255),_r(tv(o,i,t-1/3)*255),1),r.length===4&&(e[3]=r[3]),e}function VL(r){if(r){var e=r[0]/255,t=r[1]/255,a=r[2]/255,n=Math.min(e,t,a),i=Math.max(e,t,a),o=i-n,s=(i+n)/2,l,u;if(o===0)l=0,u=0;else{s<.5?u=o/(i+n):u=o/(2-i-n);var f=((i-e)/6+o/2)/o,h=((i-t)/6+o/2)/o,v=((i-a)/6+o/2)/o;e===i?l=v-h:t===i?l=1/3+f-v:a===i&&(l=2/3+h-f),l<0&&(l+=1),l>1&&(l-=1)}var c=[l*360,u,s];return r[3]!=null&&c.push(r[3]),c}}function Rp(r,e){var t=Ue(r);if(t){for(var a=0;a<3;a++)e<0?t[a]=t[a]*(1-e)|0:t[a]=(255-t[a])*e+t[a]|0,t[a]>255?t[a]=255:t[a]<0&&(t[a]=0);return ia(t,t.length===4?"rgba":"rgb")}}function ev(r,e,t){if(!(!(e&&e.length)||!(r>=0&&r<=1))){t=t||[];var a=r*(e.length-1),n=Math.floor(a),i=Math.ceil(a),o=e[n],s=e[i],l=a-n;return t[0]=_r(Ba(o[0],s[0],l)),t[1]=_r(Ba(o[1],s[1],l)),t[2]=_r(Ba(o[2],s[2],l)),t[3]=Vs(Ba(o[3],s[3],l)),t}}function zL(r,e,t){if(!(!(e&&e.length)||!(r>=0&&r<=1))){var a=r*(e.length-1),n=Math.floor(a),i=Math.ceil(a),o=Ue(e[n]),s=Ue(e[i]),l=a-n,u=ia([_r(Ba(o[0],s[0],l)),_r(Ba(o[1],s[1],l)),_r(Ba(o[2],s[2],l)),Vs(Ba(o[3],s[3],l))],"rgba");return t?{color:u,leftIndex:n,rightIndex:i,value:a}:u}}function bs(r,e,t,a){var n=Ue(r);if(r)return n=VL(n),e!=null&&(n[0]=BL(e)),t!=null&&(n[1]=Xn(t)),a!=null&&(n[2]=Xn(a)),ia(Pp(n),"rgba")}function hf(r,e){var t=Ue(r);if(t&&e!=null)return t[3]=Vs(e),ia(t,"rgba")}function ia(r,e){if(!(!r||!r.length)){var t=r[0]+","+r[1]+","+r[2];return(e==="rgba"||e==="hsva"||e==="hsla")&&(t+=","+r[3]),e+"("+t+")"}}function vf(r,e){var t=Ue(r);return t?(.299*t[0]+.587*t[1]+.114*t[2])*t[3]/255+(1-t[3])*e:0}var Bm=new fl(100);function Ep(r){if(Y(r)){var e=Bm.get(r);return e||(e=Rp(r,-.1),Bm.put(r,e)),e}else if(nh(r)){var t=V({},r);return t.colorStops=G(r.colorStops,function(a){return{offset:a.offset,color:Rp(a.color,-.1)}}),t}return r}var cf=Math.round;function zs(r){var e;if(!r||r==="transparent")r="none";else if(typeof r=="string"&&r.indexOf("rgba")>-1){var t=Ue(r);t&&(r="rgb("+t[0]+","+t[1]+","+t[2]+")",e=t[3])}return{color:r,opacity:e??1}}var Vm=1e-4;function Va(r){return r-Vm}function Vl(r){return cf(r*1e3)/1e3}function kp(r){return cf(r*1e4)/1e4}function GL(r){return"matrix("+Vl(r[0])+","+Vl(r[1])+","+Vl(r[2])+","+Vl(r[3])+","+kp(r[4])+","+kp(r[5])+")"}var FL={left:"start",right:"end",center:"middle",middle:"middle"};function HL(r,e,t){return t==="top"?r+=e/2:t==="bottom"&&(r-=e/2),r}function WL(r){return r&&(r.shadowBlur||r.shadowOffsetX||r.shadowOffsetY)}function UL(r){var e=r.style,t=r.getGlobalScale();return[e.shadowColor,(e.shadowBlur||0).toFixed(2),(e.shadowOffsetX||0).toFixed(2),(e.shadowOffsetY||0).toFixed(2),t[0],t[1]].join(",")}function Qw(r){return r&&!!r.image}function YL(r){return r&&!!r.svgElement}function Sg(r){return Qw(r)||YL(r)}function Jw(r){return r.type==="linear"}function jw(r){return r.type==="radial"}function tT(r){return r&&(r.type==="linear"||r.type==="radial")}function sh(r){return"url(#"+r+")"}function eT(r){var e=r.getGlobalScale(),t=Math.max(e[0],e[1]);return Math.max(Math.ceil(Math.log(t)/Math.log(10)),1)}function rT(r){var e=r.x||0,t=r.y||0,a=(r.rotation||0)*Bu,n=st(r.scaleX,1),i=st(r.scaleY,1),o=r.skewX||0,s=r.skewY||0,l=[];return(e||t)&&l.push("translate("+e+"px,"+t+"px)"),a&&l.push("rotate("+a+")"),(n!==1||i!==1)&&l.push("scale("+n+","+i+")"),(o||s)&&l.push("skew("+cf(o*Bu)+"deg, "+cf(s*Bu)+"deg)"),l.join(" ")}var $L=(function(){return yt.hasGlobalWindow&&Q(window.btoa)?function(r){return window.btoa(unescape(encodeURIComponent(r)))}:typeof Buffer<"u"?function(r){return Buffer.from(r).toString("base64")}:function(r){return null}})(),Op=Array.prototype.slice;function Jr(r,e,t){return(e-r)*t+r}function rv(r,e,t,a){for(var n=e.length,i=0;ia?e:r,i=Math.min(t,a),o=n[i-1]||{color:[0,0,0,0],offset:0},s=i;so;if(s)a.length=o;else for(var l=i;l=1},r.prototype.getAdditiveTrack=function(){return this._additiveTrack},r.prototype.addKeyframe=function(e,t,a){this._needsSort=!0;var n=this.keyframes,i=n.length,o=!1,s=Gm,l=t;if(me(t)){var u=KL(t);s=u,(u===1&&!wt(t[0])||u===2&&!wt(t[0][0]))&&(o=!0)}else if(wt(t)&&!Os(t))s=Gl;else if(Y(t))if(!isNaN(+t))s=Gl;else{var f=Ue(t);f&&(l=f,s=us)}else if(nh(t)){var h=V({},l);h.colorStops=G(t.colorStops,function(c){return{offset:c.offset,color:Ue(c.color)}}),Jw(t)?s=Np:jw(t)&&(s=Bp),l=h}i===0?this.valType=s:(s!==this.valType||s===Gm)&&(o=!0),this.discrete=this.discrete||o;var v={time:e,value:l,rawValue:t,percent:0};return a&&(v.easing=a,v.easingFunc=Q(a)?a:xs[a]||_g(a)),n.push(v),v},r.prototype.prepare=function(e,t){var a=this.keyframes;this._needsSort&&a.sort(function(d,g){return d.time-g.time});for(var n=this.valType,i=a.length,o=a[i-1],s=this.discrete,l=Fl(n),u=Fm(n),f=0;f=0&&!(o[f].percent<=t);f--);f=v(f,s-2)}else{for(f=h;ft);f++);f=v(f-1,s-2)}p=o[f+1],c=o[f]}if(c&&p){this._lastFr=f,this._lastFrP=t;var g=p.percent-c.percent,y=g===0?1:v((t-c.percent)/g,1);p.easingFunc&&(y=p.easingFunc(y));var m=a?this._additiveValue:u?Bo:e[l];if((Fl(i)||u)&&!m&&(m=this._additiveValue=[]),this.discrete)e[l]=y<1?c.rawValue:p.rawValue;else if(Fl(i))i===Hu?rv(m,c[n],p[n],y):XL(m,c[n],p[n],y);else if(Fm(i)){var _=c[n],S=p[n],b=i===Np;e[l]={type:b?"linear":"radial",x:Jr(_.x,S.x,y),y:Jr(_.y,S.y,y),colorStops:G(_.colorStops,function(w,T){var A=S.colorStops[T];return{offset:Jr(w.offset,A.offset,y),color:Fu(rv([],w.color,A.color,y))}}),global:S.global},b?(e[l].x2=Jr(_.x2,S.x2,y),e[l].y2=Jr(_.y2,S.y2,y)):e[l].r=Jr(_.r,S.r,y)}else if(u)rv(m,c[n],p[n],y),a||(e[l]=Fu(m));else{var x=Jr(c[n],p[n],y);a?this._additiveValue=x:e[l]=x}a&&this._addToTarget(e)}}},r.prototype._addToTarget=function(e){var t=this.valType,a=this.propName,n=this._additiveValue;t===Gl?e[a]=e[a]+n:t===us?(Ue(e[a],Bo),zl(Bo,Bo,n,1),e[a]=Fu(Bo)):t===Hu?zl(e[a],e[a],n,1):t===aT&&zm(e[a],e[a],n,1)},r})(),xg=(function(){function r(e,t,a,n){if(this._tracks={},this._trackKeys=[],this._maxTime=0,this._started=0,this._clip=null,this._target=e,this._loop=t,t&&n){vg("Can' use additive animation on looped animation.");return}this._additiveAnimators=n,this._allowDiscrete=a}return r.prototype.getMaxTime=function(){return this._maxTime},r.prototype.getDelay=function(){return this._delay},r.prototype.getLoop=function(){return this._loop},r.prototype.getTarget=function(){return this._target},r.prototype.changeTarget=function(e){this._target=e},r.prototype.when=function(e,t,a){return this.whenWithKeys(e,t,_t(t),a)},r.prototype.whenWithKeys=function(e,t,a,n){for(var i=this._tracks,o=0;o0&&l.addKeyframe(0,ws(u),n),this._trackKeys.push(s)}l.addKeyframe(e,ws(t[s]),n)}return this._maxTime=Math.max(this._maxTime,e),this},r.prototype.pause=function(){this._clip.pause(),this._paused=!0},r.prototype.resume=function(){this._clip.resume(),this._paused=!1},r.prototype.isPaused=function(){return!!this._paused},r.prototype.duration=function(e){return this._maxTime=e,this._force=!0,this},r.prototype._doneCallback=function(){this._setTracksFinished(),this._clip=null;var e=this._doneCbs;if(e)for(var t=e.length,a=0;a0)){this._started=1;for(var t=this,a=[],n=this._maxTime||0,i=0;i1){var s=o.pop();i.addKeyframe(s.time,e[n]),i.prepare(this._maxTime,i.getAdditiveTrack())}}}},r})();function $i(){return new Date().getTime()}var JL=(function(r){k(e,r);function e(t){var a=r.call(this)||this;return a._running=!1,a._time=0,a._pausedTime=0,a._pauseStart=0,a._paused=!1,t=t||{},a.stage=t.stage||{},a}return e.prototype.addClip=function(t){t.animation&&this.removeClip(t),this._head?(this._tail.next=t,t.prev=this._tail,t.next=null,this._tail=t):this._head=this._tail=t,t.animation=this},e.prototype.addAnimator=function(t){t.animation=this;var a=t.getClip();a&&this.addClip(a)},e.prototype.removeClip=function(t){if(t.animation){var a=t.prev,n=t.next;a?a.next=n:this._head=n,n?n.prev=a:this._tail=a,t.next=t.prev=t.animation=null}},e.prototype.removeAnimator=function(t){var a=t.getClip();a&&this.removeClip(a),t.animation=null},e.prototype.update=function(t){for(var a=$i()-this._pausedTime,n=a-this._time,i=this._head;i;){var o=i.next,s=i.step(a,n);s&&(i.ondestroy(),this.removeClip(i)),i=o}this._time=a,t||(this.trigger("frame",n),this.stage.update&&this.stage.update())},e.prototype._startLoop=function(){var t=this;this._running=!0;function a(){t._running&&(lf(a),!t._paused&&t.update())}lf(a)},e.prototype.start=function(){this._running||(this._time=$i(),this._pausedTime=0,this._startLoop())},e.prototype.stop=function(){this._running=!1},e.prototype.pause=function(){this._paused||(this._pauseStart=$i(),this._paused=!0)},e.prototype.resume=function(){this._paused&&(this._pausedTime+=$i()-this._pauseStart,this._paused=!1)},e.prototype.clear=function(){for(var t=this._head;t;){var a=t.next;t.prev=t.next=t.animation=null,t=a}this._head=this._tail=null},e.prototype.isFinished=function(){return this._head==null},e.prototype.animate=function(t,a){a=a||{},this.start();var n=new xg(t,a.loop);return this.addAnimator(n),n},e})(lr),jL=300,av=yt.domSupported,nv=(function(){var r=["click","dblclick","mousewheel","wheel","mouseout","mouseup","mousedown","mousemove","contextmenu"],e=["touchstart","touchend","touchmove"],t={pointerdown:1,pointerup:1,pointermove:1,pointerout:1},a=G(r,function(n){var i=n.replace("mouse","pointer");return t.hasOwnProperty(i)?i:n});return{mouse:r,touch:e,pointer:a}})(),Hm={mouse:["mousemove","mouseup"],pointer:["pointermove","pointerup"]},Wm=!1;function Vp(r){var e=r.pointerType;return e==="pen"||e==="touch"}function tP(r){r.touching=!0,r.touchTimer!=null&&(clearTimeout(r.touchTimer),r.touchTimer=null),r.touchTimer=setTimeout(function(){r.touching=!1,r.touchTimer=null},700)}function iv(r){r&&(r.zrByTouch=!0)}function eP(r,e){return Qe(r.dom,new rP(r,e),!0)}function nT(r,e){for(var t=e,a=!1;t&&t.nodeType!==9&&!(a=t.domBelongToZr||t!==e&&t===r.painterRoot);)t=t.parentNode;return a}var rP=(function(){function r(e,t){this.stopPropagation=$t,this.stopImmediatePropagation=$t,this.preventDefault=$t,this.type=t.type,this.target=this.currentTarget=e.dom,this.pointerType=t.pointerType,this.clientX=t.clientX,this.clientY=t.clientY}return r})(),pr={mousedown:function(r){r=Qe(this.dom,r),this.__mayPointerCapture=[r.zrX,r.zrY],this.trigger("mousedown",r)},mousemove:function(r){r=Qe(this.dom,r);var e=this.__mayPointerCapture;e&&(r.zrX!==e[0]||r.zrY!==e[1])&&this.__togglePointerCapture(!0),this.trigger("mousemove",r)},mouseup:function(r){r=Qe(this.dom,r),this.__togglePointerCapture(!1),this.trigger("mouseup",r)},mouseout:function(r){r=Qe(this.dom,r);var e=r.toElement||r.relatedTarget;nT(this,e)||(this.__pointerCapturing&&(r.zrEventControl="no_globalout"),this.trigger("mouseout",r))},wheel:function(r){Wm=!0,r=Qe(this.dom,r),this.trigger("mousewheel",r)},mousewheel:function(r){Wm||(r=Qe(this.dom,r),this.trigger("mousewheel",r))},touchstart:function(r){r=Qe(this.dom,r),iv(r),this.__lastTouchMoment=new Date,this.handler.processGesture(r,"start"),pr.mousemove.call(this,r),pr.mousedown.call(this,r)},touchmove:function(r){r=Qe(this.dom,r),iv(r),this.handler.processGesture(r,"change"),pr.mousemove.call(this,r)},touchend:function(r){r=Qe(this.dom,r),iv(r),this.handler.processGesture(r,"end"),pr.mouseup.call(this,r),+new Date-+this.__lastTouchMoment$m||r<-$m}var un=[],Si=[],sv=We(),lv=Math.abs,ea=(function(){function r(){}return r.prototype.getLocalTransform=function(e){return r.getLocalTransform(this,e)},r.prototype.setPosition=function(e){this.x=e[0],this.y=e[1]},r.prototype.setScale=function(e){this.scaleX=e[0],this.scaleY=e[1]},r.prototype.setSkew=function(e){this.skewX=e[0],this.skewY=e[1]},r.prototype.setOrigin=function(e){this.originX=e[0],this.originY=e[1]},r.prototype.needLocalTransform=function(){return ln(this.rotation)||ln(this.x)||ln(this.y)||ln(this.scaleX-1)||ln(this.scaleY-1)||ln(this.skewX)||ln(this.skewY)},r.prototype.updateTransform=function(){var e=this.parent&&this.parent.transform,t=this.needLocalTransform(),a=this.transform;if(!(t||e)){a&&(Ym(a),this.invTransform=null);return}a=a||We(),t?this.getLocalTransform(a):Ym(a),e&&(t?na(a,e,a):yg(a,e)),this.transform=a,this._resolveGlobalScaleRatio(a)},r.prototype._resolveGlobalScaleRatio=function(e){var t=this.globalScaleRatio;if(t!=null&&t!==1){this.getGlobalScale(un);var a=un[0]<0?-1:1,n=un[1]<0?-1:1,i=((un[0]-a)*t+a)/un[0]||0,o=((un[1]-n)*t+n)/un[1]||0;e[0]*=i,e[1]*=i,e[2]*=o,e[3]*=o}this.invTransform=this.invTransform||We(),_o(this.invTransform,e)},r.prototype.getComputedTransform=function(){for(var e=this,t=[];e;)t.push(e),e=e.parent;for(;e=t.pop();)e.updateTransform();return this.transform},r.prototype.setLocalTransform=function(e){if(e){var t=e[0]*e[0]+e[1]*e[1],a=e[2]*e[2]+e[3]*e[3],n=Math.atan2(e[1],e[0]),i=Math.PI/2+n-Math.atan2(e[3],e[2]);a=Math.sqrt(a)*Math.cos(i),t=Math.sqrt(t),this.skewX=i,this.skewY=0,this.rotation=-n,this.x=+e[4],this.y=+e[5],this.scaleX=t,this.scaleY=a,this.originX=0,this.originY=0}},r.prototype.decomposeTransform=function(){if(this.transform){var e=this.parent,t=this.transform;e&&e.transform&&(e.invTransform=e.invTransform||We(),na(Si,e.invTransform,t),t=Si);var a=this.originX,n=this.originY;(a||n)&&(sv[4]=a,sv[5]=n,na(Si,t,sv),Si[4]-=a,Si[5]-=n,t=Si),this.setLocalTransform(t)}},r.prototype.getGlobalScale=function(e){var t=this.transform;return e=e||[],t?(e[0]=Math.sqrt(t[0]*t[0]+t[1]*t[1]),e[1]=Math.sqrt(t[2]*t[2]+t[3]*t[3]),t[0]<0&&(e[0]=-e[0]),t[3]<0&&(e[1]=-e[1]),e):(e[0]=1,e[1]=1,e)},r.prototype.transformCoordToLocal=function(e,t){var a=[e,t],n=this.invTransform;return n&&he(a,a,n),a},r.prototype.transformCoordToGlobal=function(e,t){var a=[e,t],n=this.transform;return n&&he(a,a,n),a},r.prototype.getLineScale=function(){var e=this.transform;return e&&lv(e[0]-1)>1e-10&&lv(e[3]-1)>1e-10?Math.sqrt(lv(e[0]*e[3]-e[2]*e[1])):1},r.prototype.copyTransform=function(e){oT(this,e)},r.getLocalTransform=function(e,t){t=t||[];var a=e.originX||0,n=e.originY||0,i=e.scaleX,o=e.scaleY,s=e.anchorX,l=e.anchorY,u=e.rotation||0,f=e.x,h=e.y,v=e.skewX?Math.tan(e.skewX):0,c=e.skewY?Math.tan(-e.skewY):0;if(a||n||s||l){var p=a+s,d=n+l;t[4]=-p*i-v*d*o,t[5]=-d*o-c*p*i}else t[4]=t[5]=0;return t[0]=i,t[3]=o,t[1]=c*i,t[2]=v*o,u&&fi(t,t,u),t[4]+=a+f,t[5]+=n+h,t},r.initDefaultProps=(function(){var e=r.prototype;e.scaleX=e.scaleY=e.globalScaleRatio=1,e.x=e.y=e.originX=e.originY=e.skewX=e.skewY=e.rotation=e.anchorX=e.anchorY=0})(),r})(),Wr=["x","y","originX","originY","anchorX","anchorY","rotation","scaleX","scaleY","skewX","skewY"];function oT(r,e){for(var t=0;t=0?parseFloat(r)/100*e:parseFloat(r):r}function df(r,e,t){var a=e.position||"inside",n=e.distance!=null?e.distance:5,i=t.height,o=t.width,s=i/2,l=t.x,u=t.y,f="left",h="top";if(a instanceof Array)l+=xr(a[0],t.width),u+=xr(a[1],t.height),f=null,h=null;else switch(a){case"left":l-=n,u+=s,f="right",h="middle";break;case"right":l+=n+o,u+=s,h="middle";break;case"top":l+=o/2,u-=n,f="center",h="bottom";break;case"bottom":l+=o/2,u+=i+n,f="center";break;case"inside":l+=o/2,u+=s,f="center",h="middle";break;case"insideLeft":l+=n,u+=s,h="middle";break;case"insideRight":l+=o-n,u+=s,f="right",h="middle";break;case"insideTop":l+=o/2,u+=n,f="center";break;case"insideBottom":l+=o/2,u+=i-n,f="center",h="bottom";break;case"insideTopLeft":l+=n,u+=n;break;case"insideTopRight":l+=o-n,u+=n,f="right";break;case"insideBottomLeft":l+=n,u+=i-n,h="bottom";break;case"insideBottomRight":l+=o-n,u+=i-n,f="right",h="bottom";break}return r=r||{},r.x=l,r.y=u,r.align=f,r.verticalAlign=h,r}var uv="__zr_normal__",fv=Wr.concat(["ignore"]),sP=Fr(Wr,function(r,e){return r[e]=!0,r},{ignore:!1}),xi={},lP=new ht(0,0,0,0),uh=(function(){function r(e){this.id=kw(),this.animators=[],this.currentStates=[],this.states={},this._init(e)}return r.prototype._init=function(e){this.attr(e)},r.prototype.drift=function(e,t,a){switch(this.draggable){case"horizontal":t=0;break;case"vertical":e=0;break}var n=this.transform;n||(n=this.transform=[1,0,0,1,0,0]),n[4]+=e,n[5]+=t,this.decomposeTransform(),this.markRedraw()},r.prototype.beforeUpdate=function(){},r.prototype.afterUpdate=function(){},r.prototype.update=function(){this.updateTransform(),this.__dirty&&this.updateInnerText()},r.prototype.updateInnerText=function(e){var t=this._textContent;if(t&&(!t.ignore||e)){this.textConfig||(this.textConfig={});var a=this.textConfig,n=a.local,i=t.innerTransformable,o=void 0,s=void 0,l=!1;i.parent=n?this:null;var u=!1;if(i.copyTransform(t),a.position!=null){var f=lP;a.layoutRect?f.copy(a.layoutRect):f.copy(this.getBoundingRect()),n||f.applyTransform(this.transform),this.calculateTextPosition?this.calculateTextPosition(xi,a,f):df(xi,a,f),i.x=xi.x,i.y=xi.y,o=xi.align,s=xi.verticalAlign;var h=a.origin;if(h&&a.rotation!=null){var v=void 0,c=void 0;h==="center"?(v=f.width*.5,c=f.height*.5):(v=xr(h[0],f.width),c=xr(h[1],f.height)),u=!0,i.originX=-i.x+v+(n?0:f.x),i.originY=-i.y+c+(n?0:f.y)}}a.rotation!=null&&(i.rotation=a.rotation);var p=a.offset;p&&(i.x+=p[0],i.y+=p[1],u||(i.originX=-p[0],i.originY=-p[1]));var d=a.inside==null?typeof a.position=="string"&&a.position.indexOf("inside")>=0:a.inside,g=this._innerTextDefaultStyle||(this._innerTextDefaultStyle={}),y=void 0,m=void 0,_=void 0;d&&this.canBeInsideText()?(y=a.insideFill,m=a.insideStroke,(y==null||y==="auto")&&(y=this.getInsideTextFill()),(m==null||m==="auto")&&(m=this.getInsideTextStroke(y),_=!0)):(y=a.outsideFill,m=a.outsideStroke,(y==null||y==="auto")&&(y=this.getOutsideFill()),(m==null||m==="auto")&&(m=this.getOutsideStroke(y),_=!0)),y=y||"#000",(y!==g.fill||m!==g.stroke||_!==g.autoStroke||o!==g.align||s!==g.verticalAlign)&&(l=!0,g.fill=y,g.stroke=m,g.autoStroke=_,g.align=o,g.verticalAlign=s,t.setDefaultTextStyle(g)),t.__dirty|=Fe,l&&t.dirtyStyle(!0)}},r.prototype.canBeInsideText=function(){return!0},r.prototype.getInsideTextFill=function(){return"#fff"},r.prototype.getInsideTextStroke=function(e){return"#000"},r.prototype.getOutsideFill=function(){return this.__zr&&this.__zr.isDarkMode()?Hp:Fp},r.prototype.getOutsideStroke=function(e){var t=this.__zr&&this.__zr.getBackgroundColor(),a=typeof t=="string"&&Ue(t);a||(a=[255,255,255,1]);for(var n=a[3],i=this.__zr.isDarkMode(),o=0;o<3;o++)a[o]=a[o]*n+(i?0:255)*(1-n);return a[3]=1,ia(a,"rgba")},r.prototype.traverse=function(e,t){},r.prototype.attrKV=function(e,t){e==="textConfig"?this.setTextConfig(t):e==="textContent"?this.setTextContent(t):e==="clipPath"?this.setClipPath(t):e==="extra"?(this.extra=this.extra||{},V(this.extra,t)):this[e]=t},r.prototype.hide=function(){this.ignore=!0,this.markRedraw()},r.prototype.show=function(){this.ignore=!1,this.markRedraw()},r.prototype.attr=function(e,t){if(typeof e=="string")this.attrKV(e,t);else if(et(e))for(var a=e,n=_t(a),i=0;i0},r.prototype.getState=function(e){return this.states[e]},r.prototype.ensureState=function(e){var t=this.states;return t[e]||(t[e]={}),t[e]},r.prototype.clearStates=function(e){this.useState(uv,!1,e)},r.prototype.useState=function(e,t,a,n){var i=e===uv,o=this.hasState();if(!(!o&&i)){var s=this.currentStates,l=this.stateTransition;if(!(ct(s,e)>=0&&(t||s.length===1))){var u;if(this.stateProxy&&!i&&(u=this.stateProxy(e)),u||(u=this.states&&this.states[e]),!u&&!i){vg("State "+e+" not exists.");return}i||this.saveCurrentToNormalState(u);var f=!!(u&&u.hoverLayer||n);f&&this._toggleHoverLayerFlag(!0),this._applyStateObj(e,u,this._normalState,t,!a&&!this.__inHover&&l&&l.duration>0,l);var h=this._textContent,v=this._textGuide;return h&&h.useState(e,t,a,f),v&&v.useState(e,t,a,f),i?(this.currentStates=[],this._normalState={}):t?this.currentStates.push(e):this.currentStates=[e],this._updateAnimationTargets(),this.markRedraw(),!f&&this.__inHover&&(this._toggleHoverLayerFlag(!1),this.__dirty&=~Fe),u}}},r.prototype.useStates=function(e,t,a){if(!e.length)this.clearStates();else{var n=[],i=this.currentStates,o=e.length,s=o===i.length;if(s){for(var l=0;l0,p);var d=this._textContent,g=this._textGuide;d&&d.useStates(e,t,v),g&&g.useStates(e,t,v),this._updateAnimationTargets(),this.currentStates=e.slice(),this.markRedraw(),!v&&this.__inHover&&(this._toggleHoverLayerFlag(!1),this.__dirty&=~Fe)}},r.prototype.isSilent=function(){for(var e=this.silent,t=this.parent;!e&&t;){if(t.silent){e=!0;break}t=t.parent}return e},r.prototype._updateAnimationTargets=function(){for(var e=0;e=0){var a=this.currentStates.slice();a.splice(t,1),this.useStates(a)}},r.prototype.replaceState=function(e,t,a){var n=this.currentStates.slice(),i=ct(n,e),o=ct(n,t)>=0;i>=0?o?n.splice(i,1):n[i]=t:a&&!o&&n.push(t),this.useStates(n)},r.prototype.toggleState=function(e,t){t?this.useState(e,!0):this.removeState(e)},r.prototype._mergeStates=function(e){for(var t={},a,n=0;n=0&&i.splice(o,1)}),this.animators.push(e),a&&a.animation.addAnimator(e),a&&a.wakeUp()},r.prototype.updateDuringAnimation=function(e){this.markRedraw()},r.prototype.stopAnimation=function(e,t){for(var a=this.animators,n=a.length,i=[],o=0;o0&&t.during&&i[0].during(function(p,d){t.during(d)});for(var v=0;v0||n.force&&!o.length){var T=void 0,A=void 0,C=void 0;if(s){A={},v&&(T={});for(var S=0;S<_;S++){var y=d[S];A[y]=t[y],v?T[y]=a[y]:t[y]=a[y]}}else if(v){C={};for(var S=0;S<_;S++){var y=d[S];C[y]=ws(t[y]),fP(t,a,y)}}var b=new xg(t,!1,!1,h?Ct(p,function(I){return I.targetName===e}):null);b.targetName=e,n.scope&&(b.scope=n.scope),v&&T&&b.whenWithKeys(0,T,d),C&&b.whenWithKeys(0,C,d),b.whenWithKeys(u??500,s?A:a,d).delay(f||0),r.addAnimator(b,e),o.push(b)}}var at=(function(r){k(e,r);function e(t){var a=r.call(this)||this;return a.isGroup=!0,a._children=[],a.attr(t),a}return e.prototype.childrenRef=function(){return this._children},e.prototype.children=function(){return this._children.slice()},e.prototype.childAt=function(t){return this._children[t]},e.prototype.childOfName=function(t){for(var a=this._children,n=0;n=0&&(n.splice(i,0,t),this._doAdd(t))}return this},e.prototype.replace=function(t,a){var n=ct(this._children,t);return n>=0&&this.replaceAt(a,n),this},e.prototype.replaceAt=function(t,a){var n=this._children,i=n[a];if(t&&t!==this&&t.parent!==this&&t!==i){n[a]=t,i.parent=null;var o=this.__zr;o&&i.removeSelfFromZr(o),this._doAdd(t)}return this},e.prototype._doAdd=function(t){t.parent&&t.parent.remove(t),t.parent=this;var a=this.__zr;a&&a!==t.__zr&&t.addSelfToZr(a),a&&a.refresh()},e.prototype.remove=function(t){var a=this.__zr,n=this._children,i=ct(n,t);return i<0?this:(n.splice(i,1),t.parent=null,a&&t.removeSelfFromZr(a),a&&a.refresh(),this)},e.prototype.removeAll=function(){for(var t=this._children,a=this.__zr,n=0;n0&&(this._stillFrameAccum++,this._stillFrameAccum>this._sleepAfterStill&&this.animation.stop())},r.prototype.setSleepAfterStill=function(e){this._sleepAfterStill=e},r.prototype.wakeUp=function(){this._disposed||(this.animation.start(),this._stillFrameAccum=0)},r.prototype.refreshHover=function(){this._needsRefreshHover=!0},r.prototype.refreshHoverImmediately=function(){this._disposed||(this._needsRefreshHover=!1,this.painter.refreshHover&&this.painter.getType()==="canvas"&&this.painter.refreshHover())},r.prototype.resize=function(e){this._disposed||(e=e||{},this.painter.resize(e.width,e.height),this.handler.resize())},r.prototype.clearAnimation=function(){this._disposed||this.animation.clear()},r.prototype.getWidth=function(){if(!this._disposed)return this.painter.getWidth()},r.prototype.getHeight=function(){if(!this._disposed)return this.painter.getHeight()},r.prototype.setCursorStyle=function(e){this._disposed||this.handler.setCursorStyle(e)},r.prototype.findHover=function(e,t){if(!this._disposed)return this.handler.findHover(e,t)},r.prototype.on=function(e,t,a){return this._disposed||this.handler.on(e,t,a),this},r.prototype.off=function(e,t){this._disposed||this.handler.off(e,t)},r.prototype.trigger=function(e,t){this._disposed||this.handler.trigger(e,t)},r.prototype.clear=function(){if(!this._disposed){for(var e=this.storage.getRoots(),t=0;t0){if(r<=n)return o;if(r>=i)return s}else{if(r>=n)return o;if(r<=i)return s}else{if(r===n)return o;if(r===i)return s}return(r-n)/l*u+o}function W(r,e){switch(r){case"center":case"middle":r="50%";break;case"left":case"top":r="0%";break;case"right":case"bottom":r="100%";break}return Y(r)?_P(r).match(/%$/)?parseFloat(r)/100*e:parseFloat(r):r==null?NaN:+r}function Ut(r,e,t){return e==null&&(e=10),e=Math.min(Math.max(0,e),uT),r=(+r).toFixed(e),t?r:+r}function ir(r){return r.sort(function(e,t){return e-t}),r}function Or(r){if(r=+r,isNaN(r))return 0;if(r>1e-14){for(var e=1,t=0;t<15;t++,e*=10)if(Math.round(r*e)/e===r)return t}return SP(r)}function SP(r){var e=r.toString().toLowerCase(),t=e.indexOf("e"),a=t>0?+e.slice(t+1):0,n=t>0?t:e.length,i=e.indexOf("."),o=i<0?0:n-1-i;return Math.max(0,o-a)}function fT(r,e){var t=Math.log,a=Math.LN10,n=Math.floor(t(r[1]-r[0])/a),i=Math.round(t(Math.abs(e[1]-e[0]))/a),o=Math.min(Math.max(-n+i,0),20);return isFinite(o)?o:20}function xP(r,e){var t=Fr(r,function(c,p){return c+(isNaN(p)?0:p)},0);if(t===0)return[];for(var a=Math.pow(10,e),n=G(r,function(c){return(isNaN(c)?0:c)/t*a*100}),i=a*100,o=G(n,function(c){return Math.floor(c)}),s=Fr(o,function(c,p){return c+p},0),l=G(n,function(c,p){return c-o[p]});su&&(u=l[h],f=h);++o[f],l[f]=0,++s}return G(o,function(c){return c/a})}function bP(r,e){var t=Math.max(Or(r),Or(e)),a=r+e;return t>uT?a:Ut(a,t)}var Qm=9007199254740991;function hT(r){var e=Math.PI*2;return(r%e+e)%e}function Gs(r){return r>-Km&&r=10&&e++,e}function vT(r,e){var t=bg(r),a=Math.pow(10,t),n=r/a,i;return n<1.5?i=1:n<2.5?i=2:n<4?i=3:n<7?i=5:i=10,r=i*a,t>=-20?+r.toFixed(t<0?-t:0):r}function cv(r,e){var t=(r.length-1)*e+1,a=Math.floor(t),n=+r[a-1],i=t-a;return i?n+i*(r[a]-n):n}function Jm(r){r.sort(function(l,u){return s(l,u,0)?-1:1});for(var e=-1/0,t=1,a=0;a=0||i&&ct(i,l)<0)){var u=a.getShallow(l,e);u!=null&&(o[r[s][0]]=u)}}return o}}var ZP=[["fill","color"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["opacity"],["shadowColor"]],qP=ni(ZP),KP=(function(){function r(){}return r.prototype.getAreaStyle=function(e,t){return qP(this,e,t)},r})(),Yp=new fl(50);function QP(r){if(typeof r=="string"){var e=Yp.get(r);return e&&e.image}else return r}function Cg(r,e,t,a,n){if(r)if(typeof r=="string"){if(e&&e.__zrImageSrc===r||!t)return e;var i=Yp.get(r),o={hostEl:t,cb:a,cbPayload:n};return i?(e=i.image,!hh(e)&&i.pending.push(o)):(e=Xa.loadImage(r,r0,r0),e.__zrImageSrc=r,Yp.put(r,e.__cachedImgObj={image:e,pending:[o]})),e}else return r;else return e}function r0(){var r=this.__cachedImgObj;this.onload=this.onerror=this.__cachedImgObj=null;for(var e=0;e=o;l++)s-=o;var u=Ye(t,e);return u>s&&(t="",u=0),s=r-u,n.ellipsis=t,n.ellipsisWidth=u,n.contentWidth=s,n.containerWidth=r,n}function AT(r,e,t){var a=t.containerWidth,n=t.font,i=t.contentWidth;if(!a){r.textLine="",r.isTruncated=!1;return}var o=Ye(e,n);if(o<=a){r.textLine=e,r.isTruncated=!1;return}for(var s=0;;s++){if(o<=i||s>=t.maxIterations){e+=t.ellipsis;break}var l=s===0?jP(e,i,t.ascCharWidth,t.cnCharWidth):o>0?Math.floor(e.length*i/o):0;e=e.substr(0,l),o=Ye(e,n)}e===""&&(e=t.placeholder),r.textLine=e,r.isTruncated=!0}function jP(r,e,t,a){for(var n=0,i=0,o=r.length;i(o(),e("div",g,[(o(!0),e(n,null,l(_.categories,(t,A)=>(o(),e("div",{key:t.title,class:"category-section"},[s("div",v,[s("div",{class:"category-icon-wrap",style:i({background:`linear-gradient(135deg, ${t.color}20, ${t.color}08)`})},[s("span",{class:"category-icon",style:i({color:t.color}),innerHTML:t.icon},null,12,k)],4),s("div",m,[s("h3",y,c(t.title),1)]),s("div",{class:"category-line",style:i({background:`linear-gradient(90deg, ${t.color}40, transparent)`})},null,4)]),s("div",f,[(o(!0),e(n,null,l(t.articles,(a,h)=>(o(),e("a",{key:a.url,href:a.url,class:"article-card"},[s("div",{class:"card-indicator",style:i({background:t.color})},null,4),s("div",C,[s("div",L,[s("span",{class:"article-index",style:i({color:t.color})},c(String(h+1).padStart(2,"0")),5),a.description?(o(),e("span",b,"ๆ–‡็ซ ")):d("",!0)]),s("h4",w,c(a.title),1),a.description?(o(),e("p",B,c(a.description),1)):d("",!0)]),r[0]||(r[0]=s("div",{class:"card-action"},[s("span",{class:"action-text"},"้˜…่ฏป"),s("svg",{class:"action-icon",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[s("path",{d:"M5 12h14M12 5l7 7-7 7"})])],-1))],8,x))),128))])]))),128))]))}}),F=u(M,[["__scopeId","data-v-d45a9e33"]]);export{F as A}; +import{d as p,g as e,h as o,F as n,t as l,i as s,W as i,x as c,y as d,_ as u}from"./vitepress-theme-teek.CqY1sKvl.js";const g={class:"article-card-list"},v={class:"category-header"},k=["innerHTML"],m={class:"category-info"},y={class:"category-title"},f={class:"article-grid"},x=["href"],C={class:"card-body"},L={class:"article-meta"},b={key:0,class:"article-tag"},w={class:"article-title"},B={key:0,class:"article-desc"},M=p({__name:"ArticleCardList",props:{categories:{}},setup(_){return(S,r)=>(o(),e("div",g,[(o(!0),e(n,null,l(_.categories,(t,A)=>(o(),e("div",{key:t.title,class:"category-section"},[s("div",v,[s("div",{class:"category-icon-wrap",style:i({background:`linear-gradient(135deg, ${t.color}20, ${t.color}08)`})},[s("span",{class:"category-icon",style:i({color:t.color}),innerHTML:t.icon},null,12,k)],4),s("div",m,[s("h3",y,c(t.title),1)]),s("div",{class:"category-line",style:i({background:`linear-gradient(90deg, ${t.color}40, transparent)`})},null,4)]),s("div",f,[(o(!0),e(n,null,l(t.articles,(a,h)=>(o(),e("a",{key:a.url,href:a.url,class:"article-card"},[s("div",{class:"card-indicator",style:i({background:t.color})},null,4),s("div",C,[s("div",L,[s("span",{class:"article-index",style:i({color:t.color})},c(String(h+1).padStart(2,"0")),5),a.description?(o(),e("span",b,"ๆ–‡็ซ ")):d("",!0)]),s("h4",w,c(a.title),1),a.description?(o(),e("p",B,c(a.description),1)):d("",!0)]),r[0]||(r[0]=s("div",{class:"card-action"},[s("span",{class:"action-text"},"้˜…่ฏป"),s("svg",{class:"action-icon",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[s("path",{d:"M5 12h14M12 5l7 7-7 7"})])],-1))],8,x))),128))])]))),128))]))}}),F=u(M,[["__scopeId","data-v-d45a9e33"]]);export{F as A}; diff --git a/assets/chunks/HighLightText.gRdAAF3C.js b/assets/chunks/HighLightText.BFsbuOsY.js similarity index 91% rename from assets/chunks/HighLightText.gRdAAF3C.js rename to assets/chunks/HighLightText.BFsbuOsY.js index 76a6603f..2f9de050 100644 --- a/assets/chunks/HighLightText.gRdAAF3C.js +++ b/assets/chunks/HighLightText.BFsbuOsY.js @@ -1 +1 @@ -import{d as r,c as e,p,h as d,s as c,V as i,W as u,k as g,X as h,_ as m}from"./vitepress-theme-teek.CJu9alwu.js";const x=r({__name:"HighLightText",props:{type:{default:"warning"},bold:{type:Boolean,default:!1},bgColor:{},textColor:{},padding:{default:"2px 6px"},borderRadius:{default:"3px"}},setup(o){const t=o,s=e(()=>t.bold?"strong":"span"),a=e(()=>["highlight-text",`highlight-text--${t.type}`]),l=e(()=>({"--hl-padding":t.padding,"--hl-border-radius":t.borderRadius,...t.type==="custom"?{"--hl-custom-bg":t.bgColor,"--hl-custom-text":t.textColor}:{}}));return(n,f)=>(d(),p(h(s.value),{class:g(a.value),style:u(l.value)},{default:c(()=>[i(n.$slots,"default",{},void 0,!0)]),_:3},8,["class","style"]))}}),b=m(x,[["__scopeId","data-v-f601581b"]]);export{b as H}; +import{d as r,c as e,p,h as d,s as c,V as i,W as u,k as g,X as h,_ as m}from"./vitepress-theme-teek.CqY1sKvl.js";const x=r({__name:"HighLightText",props:{type:{default:"warning"},bold:{type:Boolean,default:!1},bgColor:{},textColor:{},padding:{default:"2px 6px"},borderRadius:{default:"3px"}},setup(o){const t=o,s=e(()=>t.bold?"strong":"span"),a=e(()=>["highlight-text",`highlight-text--${t.type}`]),l=e(()=>({"--hl-padding":t.padding,"--hl-border-radius":t.borderRadius,...t.type==="custom"?{"--hl-custom-bg":t.bgColor,"--hl-custom-text":t.textColor}:{}}));return(n,f)=>(d(),p(h(s.value),{class:g(a.value),style:u(l.value)},{default:c(()=>[i(n.$slots,"default",{},void 0,!0)]),_:3},8,["class","style"]))}}),b=m(x,[["__scopeId","data-v-f601581b"]]);export{b as H}; diff --git a/assets/chunks/TwoColumnImage.C5EZ0-fZ.js b/assets/chunks/TwoColumnImage.BAUswlD7.js similarity index 91% rename from assets/chunks/TwoColumnImage.C5EZ0-fZ.js rename to assets/chunks/TwoColumnImage.BAUswlD7.js index 5a24e2ef..d36cfdd4 100644 --- a/assets/chunks/TwoColumnImage.C5EZ0-fZ.js +++ b/assets/chunks/TwoColumnImage.BAUswlD7.js @@ -1 +1 @@ -import{d as c,g as a,h as s,i as e,y as o,x as i,_ as l}from"./vitepress-theme-teek.CJu9alwu.js";const n={class:"two-column-image"},m={class:"image-column"},g=["src","alt"],r={key:0,class:"caption"},d={class:"image-column"},h=["src","alt"],f={key:0,class:"caption"},u=c({__name:"TwoColumnImage",props:{leftImage:{},rightImage:{},leftAlt:{},rightAlt:{},leftCaption:{},rightCaption:{}},setup(t){return(_,C)=>(s(),a("div",n,[e("div",m,[e("img",{src:t.leftImage,alt:t.leftAlt||"",class:"image"},null,8,g),t.leftCaption?(s(),a("p",r,i(t.leftCaption),1)):o("",!0)]),e("div",d,[e("img",{src:t.rightImage,alt:t.rightAlt||"",class:"image"},null,8,h),t.rightCaption?(s(),a("p",f,i(t.rightCaption),1)):o("",!0)])]))}}),p=l(u,[["__scopeId","data-v-1bf3bb09"]]);export{p as T}; +import{d as c,g as a,h as s,i as e,y as o,x as i,_ as l}from"./vitepress-theme-teek.CqY1sKvl.js";const n={class:"two-column-image"},m={class:"image-column"},g=["src","alt"],r={key:0,class:"caption"},d={class:"image-column"},h=["src","alt"],f={key:0,class:"caption"},u=c({__name:"TwoColumnImage",props:{leftImage:{},rightImage:{},leftAlt:{},rightAlt:{},leftCaption:{},rightCaption:{}},setup(t){return(_,C)=>(s(),a("div",n,[e("div",m,[e("img",{src:t.leftImage,alt:t.leftAlt||"",class:"image"},null,8,g),t.leftCaption?(s(),a("p",r,i(t.leftCaption),1)):o("",!0)]),e("div",d,[e("img",{src:t.rightImage,alt:t.rightAlt||"",class:"image"},null,8,h),t.rightCaption?(s(),a("p",f,i(t.rightCaption),1)):o("",!0)])]))}}),p=l(u,[["__scopeId","data-v-1bf3bb09"]]);export{p as T}; diff --git a/assets/chunks/VPLocalSearchBox.Dqu_3HXH.js b/assets/chunks/VPLocalSearchBox.WaTilTWb.js similarity index 99% rename from assets/chunks/VPLocalSearchBox.Dqu_3HXH.js rename to assets/chunks/VPLocalSearchBox.WaTilTWb.js index 6902bda2..df291505 100644 --- a/assets/chunks/VPLocalSearchBox.Dqu_3HXH.js +++ b/assets/chunks/VPLocalSearchBox.WaTilTWb.js @@ -1,2 +1,2 @@ -import{Z as xt,$ as X,w as Le,c as he,a0 as _t,a1 as qe,a2 as St,a3 as Et,a4 as Tt,d as It,a5 as kt,a6 as Ge,r as oe,a7 as Nt,a8 as Ft,D as Ot,a9 as Ct,o as Ne,n as le,aa as be,j as Rt,ab as At,ac as Mt,ad as Lt,B as Dt,ae as Pt,p as zt,h as W,i as _,v as Vt,af as $t,l as C,ag as jt,ah as Bt,g as J,y as ye,k as He,t as Qe,F as Ye,S as ce,x as ue,T as Wt,ai as Ze,aj as Kt,L as Jt,J as Ut,ak as qt,_ as Gt}from"./vitepress-theme-teek.CJu9alwu.js";const Ht={root:()=>xt(()=>import("./@localSearchIndexroot.BQjtOtV7.js"),[])};var lt=["input:not([inert])","select:not([inert])","textarea:not([inert])","a[href]:not([inert])","button:not([inert])","[tabindex]:not(slot):not([inert])","audio[controls]:not([inert])","video[controls]:not([inert])",'[contenteditable]:not([contenteditable="false"]):not([inert])',"details>summary:first-of-type:not([inert])","details:not([inert])"],Se=lt.join(","),ct=typeof Element>"u",Q=ct?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,Ee=!ct&&Element.prototype.getRootNode?function(a){var e;return a==null||(e=a.getRootNode)===null||e===void 0?void 0:e.call(a)}:function(a){return a?.ownerDocument},pe=function(e,t){var s;t===void 0&&(t=!0);var n=e==null||(s=e.getAttribute)===null||s===void 0?void 0:s.call(e,"inert"),r=n===""||n==="true",i=r||t&&e&&pe(e.parentNode);return i},Qt=function(e){var t,s=e==null||(t=e.getAttribute)===null||t===void 0?void 0:t.call(e,"contenteditable");return s===""||s==="true"},ut=function(e,t,s){if(pe(e))return[];var n=Array.prototype.slice.apply(e.querySelectorAll(Se));return t&&Q.call(e,Se)&&n.unshift(e),n=n.filter(s),n},Te=function(e,t,s){for(var n=[],r=Array.from(e);r.length;){var i=r.shift();if(!pe(i,!1))if(i.tagName==="SLOT"){var o=i.assignedElements(),l=o.length?o:i.children,c=Te(l,!0,s);s.flatten?n.push.apply(n,c):n.push({scopeParent:i,candidates:c})}else{var h=Q.call(i,Se);h&&s.filter(i)&&(t||!e.includes(i))&&n.push(i);var f=i.shadowRoot||typeof s.getShadowRoot=="function"&&s.getShadowRoot(i),p=!pe(f,!1)&&(!s.shadowRootFilter||s.shadowRootFilter(i));if(f&&p){var b=Te(f===!0?i.children:f.children,!0,s);s.flatten?n.push.apply(n,b):n.push({scopeParent:i,candidates:b})}else r.unshift.apply(r,i.children)}}return n},dt=function(e){return!isNaN(parseInt(e.getAttribute("tabindex"),10))},H=function(e){if(!e)throw new Error("No node provided");return e.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(e.tagName)||Qt(e))&&!dt(e)?0:e.tabIndex},Yt=function(e,t){var s=H(e);return s<0&&t&&!dt(e)?0:s},Zt=function(e,t){return e.tabIndex===t.tabIndex?e.documentOrder-t.documentOrder:e.tabIndex-t.tabIndex},ht=function(e){return e.tagName==="INPUT"},Xt=function(e){return ht(e)&&e.type==="hidden"},es=function(e){var t=e.tagName==="DETAILS"&&Array.prototype.slice.apply(e.children).some(function(s){return s.tagName==="SUMMARY"});return t},ts=function(e,t){for(var s=0;ssummary:first-of-type"),o=i?e.parentElement:e;if(Q.call(o,"details:not([open]) *"))return!0;if(!s||s==="full"||s==="full-native"||s==="legacy-full"){if(typeof n=="function"){for(var l=e;e;){var c=e.parentElement,h=Ee(e);if(c&&!c.shadowRoot&&n(c)===!0)return Xe(e);e.assignedSlot?e=e.assignedSlot:!c&&h!==e.ownerDocument?e=h.host:e=c}e=l}if(rs(e))return!e.getClientRects().length;if(s!=="legacy-full")return!0}else if(s==="non-zero-area")return Xe(e);return!1},os=function(e){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(e.tagName))for(var t=e.parentElement;t;){if(t.tagName==="FIELDSET"&&t.disabled){for(var s=0;s=0)},ft=function(e){var t=[],s=[];return e.forEach(function(n,r){var i=!!n.scopeParent,o=i?n.scopeParent:n,l=Yt(o,i),c=i?ft(n.candidates):o;l===0?i?t.push.apply(t,c):t.push(o):s.push({documentOrder:r,tabIndex:l,item:n,isScope:i,content:c})}),s.sort(Zt).reduce(function(n,r){return r.isScope?n.push.apply(n,r.content):n.push(r.content),n},[]).concat(t)},cs=function(e,t){t=t||{};var s;return t.getShadowRoot?s=Te([e],t.includeContainer,{filter:De.bind(null,t),flatten:!1,getShadowRoot:t.getShadowRoot,shadowRootFilter:ls}):s=ut(e,t.includeContainer,De.bind(null,t)),ft(s)},us=function(e,t){t=t||{};var s;return t.getShadowRoot?s=Te([e],t.includeContainer,{filter:Ie.bind(null,t),flatten:!0,getShadowRoot:t.getShadowRoot}):s=ut(e,t.includeContainer,Ie.bind(null,t)),s},Y=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return Q.call(e,Se)===!1?!1:De(t,e)},ds=lt.concat("iframe").join(","),Fe=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return Q.call(e,ds)===!1?!1:Ie(t,e)};function Pe(a,e){(e==null||e>a.length)&&(e=a.length);for(var t=0,s=Array(e);txt(()=>import("./@localSearchIndexroot.zGeIrmus.js"),[])};var lt=["input:not([inert])","select:not([inert])","textarea:not([inert])","a[href]:not([inert])","button:not([inert])","[tabindex]:not(slot):not([inert])","audio[controls]:not([inert])","video[controls]:not([inert])",'[contenteditable]:not([contenteditable="false"]):not([inert])',"details>summary:first-of-type:not([inert])","details:not([inert])"],Se=lt.join(","),ct=typeof Element>"u",Q=ct?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,Ee=!ct&&Element.prototype.getRootNode?function(a){var e;return a==null||(e=a.getRootNode)===null||e===void 0?void 0:e.call(a)}:function(a){return a?.ownerDocument},pe=function(e,t){var s;t===void 0&&(t=!0);var n=e==null||(s=e.getAttribute)===null||s===void 0?void 0:s.call(e,"inert"),r=n===""||n==="true",i=r||t&&e&&pe(e.parentNode);return i},Qt=function(e){var t,s=e==null||(t=e.getAttribute)===null||t===void 0?void 0:t.call(e,"contenteditable");return s===""||s==="true"},ut=function(e,t,s){if(pe(e))return[];var n=Array.prototype.slice.apply(e.querySelectorAll(Se));return t&&Q.call(e,Se)&&n.unshift(e),n=n.filter(s),n},Te=function(e,t,s){for(var n=[],r=Array.from(e);r.length;){var i=r.shift();if(!pe(i,!1))if(i.tagName==="SLOT"){var o=i.assignedElements(),l=o.length?o:i.children,c=Te(l,!0,s);s.flatten?n.push.apply(n,c):n.push({scopeParent:i,candidates:c})}else{var h=Q.call(i,Se);h&&s.filter(i)&&(t||!e.includes(i))&&n.push(i);var f=i.shadowRoot||typeof s.getShadowRoot=="function"&&s.getShadowRoot(i),p=!pe(f,!1)&&(!s.shadowRootFilter||s.shadowRootFilter(i));if(f&&p){var b=Te(f===!0?i.children:f.children,!0,s);s.flatten?n.push.apply(n,b):n.push({scopeParent:i,candidates:b})}else r.unshift.apply(r,i.children)}}return n},dt=function(e){return!isNaN(parseInt(e.getAttribute("tabindex"),10))},H=function(e){if(!e)throw new Error("No node provided");return e.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(e.tagName)||Qt(e))&&!dt(e)?0:e.tabIndex},Yt=function(e,t){var s=H(e);return s<0&&t&&!dt(e)?0:s},Zt=function(e,t){return e.tabIndex===t.tabIndex?e.documentOrder-t.documentOrder:e.tabIndex-t.tabIndex},ht=function(e){return e.tagName==="INPUT"},Xt=function(e){return ht(e)&&e.type==="hidden"},es=function(e){var t=e.tagName==="DETAILS"&&Array.prototype.slice.apply(e.children).some(function(s){return s.tagName==="SUMMARY"});return t},ts=function(e,t){for(var s=0;ssummary:first-of-type"),o=i?e.parentElement:e;if(Q.call(o,"details:not([open]) *"))return!0;if(!s||s==="full"||s==="full-native"||s==="legacy-full"){if(typeof n=="function"){for(var l=e;e;){var c=e.parentElement,h=Ee(e);if(c&&!c.shadowRoot&&n(c)===!0)return Xe(e);e.assignedSlot?e=e.assignedSlot:!c&&h!==e.ownerDocument?e=h.host:e=c}e=l}if(rs(e))return!e.getClientRects().length;if(s!=="legacy-full")return!0}else if(s==="non-zero-area")return Xe(e);return!1},os=function(e){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(e.tagName))for(var t=e.parentElement;t;){if(t.tagName==="FIELDSET"&&t.disabled){for(var s=0;s=0)},ft=function(e){var t=[],s=[];return e.forEach(function(n,r){var i=!!n.scopeParent,o=i?n.scopeParent:n,l=Yt(o,i),c=i?ft(n.candidates):o;l===0?i?t.push.apply(t,c):t.push(o):s.push({documentOrder:r,tabIndex:l,item:n,isScope:i,content:c})}),s.sort(Zt).reduce(function(n,r){return r.isScope?n.push.apply(n,r.content):n.push(r.content),n},[]).concat(t)},cs=function(e,t){t=t||{};var s;return t.getShadowRoot?s=Te([e],t.includeContainer,{filter:De.bind(null,t),flatten:!1,getShadowRoot:t.getShadowRoot,shadowRootFilter:ls}):s=ut(e,t.includeContainer,De.bind(null,t)),ft(s)},us=function(e,t){t=t||{};var s;return t.getShadowRoot?s=Te([e],t.includeContainer,{filter:Ie.bind(null,t),flatten:!0,getShadowRoot:t.getShadowRoot}):s=ut(e,t.includeContainer,Ie.bind(null,t)),s},Y=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return Q.call(e,Se)===!1?!1:De(t,e)},ds=lt.concat("iframe").join(","),Fe=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return Q.call(e,ds)===!1?!1:Ie(t,e)};function Pe(a,e){(e==null||e>a.length)&&(e=a.length);for(var t=0,s=Array(e);t0){var s=e[e.length-1];s!==t&&s._setPausedState(!0)}var n=e.indexOf(t);n===-1||e.splice(n,1),e.push(t)},deactivateTrap:function(e,t){var s=e.indexOf(t);s!==-1&&e.splice(s,1),e.length>0&&!e[e.length-1]._isManuallyPaused()&&e[e.length-1]._setPausedState(!1)}},ws=function(e){return e.tagName&&e.tagName.toLowerCase()==="input"&&typeof e.select=="function"},xs=function(e){return e?.key==="Escape"||e?.key==="Esc"||e?.keyCode===27},fe=function(e){return e?.key==="Tab"||e?.keyCode===9},_s=function(e){return fe(e)&&!e.shiftKey},Ss=function(e){return fe(e)&&e.shiftKey},nt=function(e){return setTimeout(e,0)},de=function(e){for(var t=arguments.length,s=new Array(t>1?t-1:0),n=1;n1&&arguments[1]!==void 0?arguments[1]:{},g=d.hasFallback,E=g===void 0?!1:g,T=d.params,k=T===void 0?[]:T,m=r[u];if(typeof m=="function"&&(m=m.apply(void 0,ms(k))),m===!0&&(m=void 0),!m){if(m===void 0||m===!1)return m;throw new Error("`".concat(u,"` was specified but was not a node, or did not return a node"))}var v=m;if(typeof m=="string"){try{v=s.querySelector(m)}catch(w){throw new Error("`".concat(u,'` appears to be an invalid selector; error="').concat(w.message,'"'))}if(!v&&!E)throw new Error("`".concat(u,"` as selector refers to no known node"))}return v},f=function(){var u=h("initialFocus",{hasFallback:!0});if(u===!1)return!1;if(u===void 0||u&&!Fe(u,r.tabbableOptions))if(c(s.activeElement)>=0)u=s.activeElement;else{var d=i.tabbableGroups[0],g=d&&d.firstTabbableNode;u=g||h("fallbackFocus")}else u===null&&(u=h("fallbackFocus"));if(!u)throw new Error("Your focus-trap needs to have at least one focusable element");return u},p=function(){if(i.containerGroups=i.containers.map(function(u){var d=cs(u,r.tabbableOptions),g=us(u,r.tabbableOptions),E=d.length>0?d[0]:void 0,T=d.length>0?d[d.length-1]:void 0,k=g.find(function(w){return Y(w)}),m=g.slice().reverse().find(function(w){return Y(w)}),v=!!d.find(function(w){return H(w)>0});return{container:u,tabbableNodes:d,focusableNodes:g,posTabIndexesFound:v,firstTabbableNode:E,lastTabbableNode:T,firstDomTabbableNode:k,lastDomTabbableNode:m,nextTabbableNode:function(A){var z=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,L=d.indexOf(A);return L<0?z?g.slice(g.indexOf(A)+1).find(function(q){return Y(q)}):g.slice(0,g.indexOf(A)).reverse().find(function(q){return Y(q)}):d[L+(z?1:-1)]}}}),i.tabbableGroups=i.containerGroups.filter(function(u){return u.tabbableNodes.length>0}),i.tabbableGroups.length<=0&&!h("fallbackFocus"))throw new Error("Your focus-trap must have at least one container with at least one tabbable node in it at all times");if(i.containerGroups.find(function(u){return u.posTabIndexesFound})&&i.containerGroups.length>1)throw new Error("At least one node with a positive tabindex was found in one of your focus-trap's multiple containers. Positive tabindexes are only supported in single-container focus-traps.")},b=function(u){var d=u.activeElement;if(d)return d.shadowRoot&&d.shadowRoot.activeElement!==null?b(d.shadowRoot):d},x=function(u){if(u!==!1&&u!==b(document)){if(!u||!u.focus){x(f());return}u.focus({preventScroll:!!r.preventScroll}),i.mostRecentlyFocusedNode=u,ws(u)&&u.select()}},S=function(u){var d=h("setReturnFocus",{params:[u]});return d||(d===!1?!1:u)},y=function(u){var d=u.target,g=u.event,E=u.isBackward,T=E===void 0?!1:E;d=d||we(g),p();var k=null;if(i.tabbableGroups.length>0){var m=c(d,g),v=m>=0?i.containerGroups[m]:void 0;if(m<0)T?k=i.tabbableGroups[i.tabbableGroups.length-1].lastTabbableNode:k=i.tabbableGroups[0].firstTabbableNode;else if(T){var w=i.tabbableGroups.findIndex(function(ne){var M=ne.firstTabbableNode;return d===M});if(w<0&&(v.container===d||Fe(d,r.tabbableOptions)&&!Y(d,r.tabbableOptions)&&!v.nextTabbableNode(d,!1))&&(w=m),w>=0){var A=w===0?i.tabbableGroups.length-1:w-1,z=i.tabbableGroups[A];k=H(d)>=0?z.lastTabbableNode:z.lastDomTabbableNode}else fe(g)||(k=v.nextTabbableNode(d,!1))}else{var L=i.tabbableGroups.findIndex(function(ne){var M=ne.lastTabbableNode;return d===M});if(L<0&&(v.container===d||Fe(d,r.tabbableOptions)&&!Y(d,r.tabbableOptions)&&!v.nextTabbableNode(d))&&(L=m),L>=0){var q=L===i.tabbableGroups.length-1?0:L+1,se=i.tabbableGroups[q];k=H(d)>=0?se.firstTabbableNode:se.firstDomTabbableNode}else fe(g)||(k=v.nextTabbableNode(d))}}else k=h("fallbackFocus");return k},N=function(u){var d=we(u);if(!(c(d,u)>=0)){if(de(r.clickOutsideDeactivates,u)){o.deactivate({returnFocus:r.returnFocusOnDeactivate});return}de(r.allowOutsideClick,u)||u.preventDefault()}},F=function(u){var d=we(u),g=c(d,u)>=0;if(g||d instanceof Document)g&&(i.mostRecentlyFocusedNode=d);else{u.stopImmediatePropagation();var E,T=!0;if(i.mostRecentlyFocusedNode)if(H(i.mostRecentlyFocusedNode)>0){var k=c(i.mostRecentlyFocusedNode),m=i.containerGroups[k].tabbableNodes;if(m.length>0){var v=m.findIndex(function(w){return w===i.mostRecentlyFocusedNode});v>=0&&(r.isKeyForward(i.recentNavEvent)?v+1=0&&(E=m[v-1],T=!1))}}else i.containerGroups.some(function(w){return w.tabbableNodes.some(function(A){return H(A)>0})})||(T=!1);else T=!1;T&&(E=y({target:i.mostRecentlyFocusedNode,isBackward:r.isKeyBackward(i.recentNavEvent)})),x(E||i.mostRecentlyFocusedNode||f())}i.recentNavEvent=void 0},$=function(u){var d=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;i.recentNavEvent=u;var g=y({event:u,isBackward:d});g&&(fe(u)&&u.preventDefault(),x(g))},K=function(u){(r.isKeyForward(u)||r.isKeyBackward(u))&&$(u,r.isKeyBackward(u))},V=function(u){xs(u)&&de(r.escapeDeactivates,u)!==!1&&(u.preventDefault(),o.deactivate())},D=function(u){var d=we(u);c(d,u)>=0||de(r.clickOutsideDeactivates,u)||de(r.allowOutsideClick,u)||(u.preventDefault(),u.stopImmediatePropagation())},P=function(){if(i.active)return st.activateTrap(n,o),i.delayInitialFocusTimer=r.delayInitialFocus?nt(function(){x(f())}):x(f()),s.addEventListener("focusin",F,!0),s.addEventListener("mousedown",N,{capture:!0,passive:!1}),s.addEventListener("touchstart",N,{capture:!0,passive:!1}),s.addEventListener("click",D,{capture:!0,passive:!1}),s.addEventListener("keydown",K,{capture:!0,passive:!1}),s.addEventListener("keydown",V),o},ve=function(){if(i.active)return s.removeEventListener("focusin",F,!0),s.removeEventListener("mousedown",N,!0),s.removeEventListener("touchstart",N,!0),s.removeEventListener("click",D,!0),s.removeEventListener("keydown",K,!0),s.removeEventListener("keydown",V),o},O=function(u){var d=u.some(function(g){var E=Array.from(g.removedNodes);return E.some(function(T){return T===i.mostRecentlyFocusedNode})});d&&x(f())},j=typeof window<"u"&&"MutationObserver"in window?new MutationObserver(O):void 0,B=function(){j&&(j.disconnect(),i.active&&!i.paused&&i.containers.map(function(u){j.observe(u,{subtree:!0,childList:!0})}))};return o={get active(){return i.active},get paused(){return i.paused},activate:function(u){if(i.active)return this;var d=l(u,"onActivate"),g=l(u,"onPostActivate"),E=l(u,"checkCanFocusTrap");E||p(),i.active=!0,i.paused=!1,i.nodeFocusedBeforeActivation=b(s),d?.();var T=function(){E&&p(),P(),B(),g?.()};return E?(E(i.containers.concat()).then(T,T),this):(T(),this)},deactivate:function(u){if(!i.active)return this;var d=tt({onDeactivate:r.onDeactivate,onPostDeactivate:r.onPostDeactivate,checkCanReturnFocus:r.checkCanReturnFocus},u);clearTimeout(i.delayInitialFocusTimer),i.delayInitialFocusTimer=void 0,ve(),i.active=!1,i.paused=!1,B(),st.deactivateTrap(n,o);var g=l(d,"onDeactivate"),E=l(d,"onPostDeactivate"),T=l(d,"checkCanReturnFocus"),k=l(d,"returnFocus","returnFocusOnDeactivate");g?.();var m=function(){nt(function(){k&&x(S(i.nodeFocusedBeforeActivation)),E?.()})};return k&&T?(T(S(i.nodeFocusedBeforeActivation)).then(m,m),this):(m(),this)},pause:function(u){return i.active?(i.manuallyPaused=!0,this._setPausedState(!0,u)):this},unpause:function(u){return i.active?(i.manuallyPaused=!1,n[n.length-1]!==this?this:this._setPausedState(!1,u)):this},updateContainerElements:function(u){var d=[].concat(u).filter(Boolean);return i.containers=d.map(function(g){return typeof g=="string"?s.querySelector(g):g}),i.active&&p(),B(),this}},Object.defineProperties(o,{_isManuallyPaused:{value:function(){return i.manuallyPaused}},_setPausedState:{value:function(u,d){if(i.paused===u)return this;if(i.paused=u,u){var g=l(d,"onPause"),E=l(d,"onPostPause");g?.(),ve(),B(),E?.()}else{var T=l(d,"onUnpause"),k=l(d,"onPostUnpause");T?.(),p(),P(),B(),k?.()}return this}}}),o.updateContainerElements(e),o};function Is(a,e={}){let t;const{immediate:s,...n}=e,r=X(!1),i=X(!1),o=f=>t&&t.activate(f),l=f=>t&&t.deactivate(f),c=()=>{t&&(t.pause(),i.value=!0)},h=()=>{t&&(t.unpause(),i.value=!1)};return Le(he(()=>_t(qe(a)).map(f=>{const p=qe(f);return typeof p=="string"?p:St(p)}).filter(Et)),f=>{if(f.length)if(!t)t=Ts(f,{...n,onActivate(){r.value=!0,e.onActivate&&e.onActivate()},onDeactivate(){r.value=!1,e.onDeactivate&&e.onDeactivate()}}),s&&o();else{const p=t?.active;t?.updateContainerElements(f),!p&&s&&o()}},{flush:"post"}),Tt(()=>l()),{hasFocus:r,isPaused:i,activate:o,deactivate:l,pause:c,unpause:h}}class ee{constructor(e,t=!0,s=[],n=5e3){this.ctx=e,this.iframes=t,this.exclude=s,this.iframesTimeout=n}static matches(e,t){const s=typeof t=="string"?[t]:t,n=e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector;if(n){let r=!1;return s.every(i=>n.call(e,i)?(r=!0,!1):!0),r}else return!1}getContexts(){let e,t=[];return typeof this.ctx>"u"||!this.ctx?e=[]:NodeList.prototype.isPrototypeOf(this.ctx)?e=Array.prototype.slice.call(this.ctx):Array.isArray(this.ctx)?e=this.ctx:typeof this.ctx=="string"?e=Array.prototype.slice.call(document.querySelectorAll(this.ctx)):e=[this.ctx],e.forEach(s=>{const n=t.filter(r=>r.contains(s)).length>0;t.indexOf(s)===-1&&!n&&t.push(s)}),t}getIframeContents(e,t,s=()=>{}){let n;try{const r=e.contentWindow;if(n=r.document,!r||!n)throw new Error("iframe inaccessible")}catch{s()}n&&t(n)}isIframeBlank(e){const t="about:blank",s=e.getAttribute("src").trim();return e.contentWindow.location.href===t&&s!==t&&s}observeIframeLoad(e,t,s){let n=!1,r=null;const i=()=>{if(!n){n=!0,clearTimeout(r);try{this.isIframeBlank(e)||(e.removeEventListener("load",i),this.getIframeContents(e,t,s))}catch{s()}}};e.addEventListener("load",i),r=setTimeout(i,this.iframesTimeout)}onIframeReady(e,t,s){try{e.contentWindow.document.readyState==="complete"?this.isIframeBlank(e)?this.observeIframeLoad(e,t,s):this.getIframeContents(e,t,s):this.observeIframeLoad(e,t,s)}catch{s()}}waitForIframes(e,t){let s=0;this.forEachIframe(e,()=>!0,n=>{s++,this.waitForIframes(n.querySelector("html"),()=>{--s||t()})},n=>{n||t()})}forEachIframe(e,t,s,n=()=>{}){let r=e.querySelectorAll("iframe"),i=r.length,o=0;r=Array.prototype.slice.call(r);const l=()=>{--i<=0&&n(o)};i||l(),r.forEach(c=>{ee.matches(c,this.exclude)?l():this.onIframeReady(c,h=>{t(c)&&(o++,s(h)),l()},l)})}createIterator(e,t,s){return document.createNodeIterator(e,t,s,!1)}createInstanceOnIframe(e){return new ee(e.querySelector("html"),this.iframes)}compareNodeIframe(e,t,s){const n=e.compareDocumentPosition(s),r=Node.DOCUMENT_POSITION_PRECEDING;if(n&r)if(t!==null){const i=t.compareDocumentPosition(s),o=Node.DOCUMENT_POSITION_FOLLOWING;if(i&o)return!0}else return!0;return!1}getIteratorNode(e){const t=e.previousNode();let s;return t===null?s=e.nextNode():s=e.nextNode()&&e.nextNode(),{prevNode:t,node:s}}checkIframeFilter(e,t,s,n){let r=!1,i=!1;return n.forEach((o,l)=>{o.val===s&&(r=l,i=o.handled)}),this.compareNodeIframe(e,t,s)?(r===!1&&!i?n.push({val:s,handled:!0}):r!==!1&&!i&&(n[r].handled=!0),!0):(r===!1&&n.push({val:s,handled:!1}),!1)}handleOpenIframes(e,t,s,n){e.forEach(r=>{r.handled||this.getIframeContents(r.val,i=>{this.createInstanceOnIframe(i).forEachNode(t,s,n)})})}iterateThroughNodes(e,t,s,n,r){const i=this.createIterator(t,e,n);let o=[],l=[],c,h,f=()=>({prevNode:h,node:c}=this.getIteratorNode(i),c);for(;f();)this.iframes&&this.forEachIframe(t,p=>this.checkIframeFilter(c,h,p,o),p=>{this.createInstanceOnIframe(p).forEachNode(e,b=>l.push(b),n)}),l.push(c);l.forEach(p=>{s(p)}),this.iframes&&this.handleOpenIframes(o,e,s,n),r()}forEachNode(e,t,s,n=()=>{}){const r=this.getContexts();let i=r.length;i||n(),r.forEach(o=>{const l=()=>{this.iterateThroughNodes(e,o,t,s,()=>{--i<=0&&n()})};this.iframes?this.waitForIframes(o,l):l()})}}let ks=class{constructor(e){this.ctx=e,this.ie=!1;const t=window.navigator.userAgent;(t.indexOf("MSIE")>-1||t.indexOf("Trident")>-1)&&(this.ie=!0)}set opt(e){this._opt=Object.assign({},{element:"",className:"",exclude:[],iframes:!1,iframesTimeout:5e3,separateWordSearch:!0,diacritics:!0,synonyms:{},accuracy:"partially",acrossElements:!1,caseSensitive:!1,ignoreJoiners:!1,ignoreGroups:0,ignorePunctuation:[],wildcards:"disabled",each:()=>{},noMatch:()=>{},filter:()=>!0,done:()=>{},debug:!1,log:window.console},e)}get opt(){return this._opt}get iterator(){return new ee(this.ctx,this.opt.iframes,this.opt.exclude,this.opt.iframesTimeout)}log(e,t="debug"){const s=this.opt.log;this.opt.debug&&typeof s=="object"&&typeof s[t]=="function"&&s[t](`mark.js: ${e}`)}escapeStr(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}createRegExp(e){return this.opt.wildcards!=="disabled"&&(e=this.setupWildcardsRegExp(e)),e=this.escapeStr(e),Object.keys(this.opt.synonyms).length&&(e=this.createSynonymsRegExp(e)),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),this.opt.diacritics&&(e=this.createDiacriticsRegExp(e)),e=this.createMergedBlanksRegExp(e),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.createJoinersRegExp(e)),this.opt.wildcards!=="disabled"&&(e=this.createWildcardsRegExp(e)),e=this.createAccuracyRegExp(e),e}createSynonymsRegExp(e){const t=this.opt.synonyms,s=this.opt.caseSensitive?"":"i",n=this.opt.ignoreJoiners||this.opt.ignorePunctuation.length?"\0":"";for(let r in t)if(t.hasOwnProperty(r)){const i=t[r],o=this.opt.wildcards!=="disabled"?this.setupWildcardsRegExp(r):this.escapeStr(r),l=this.opt.wildcards!=="disabled"?this.setupWildcardsRegExp(i):this.escapeStr(i);o!==""&&l!==""&&(e=e.replace(new RegExp(`(${this.escapeStr(o)}|${this.escapeStr(l)})`,`gm${s}`),n+`(${this.processSynomyms(o)}|${this.processSynomyms(l)})`+n))}return e}processSynomyms(e){return(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),e}setupWildcardsRegExp(e){return e=e.replace(/(?:\\)*\?/g,t=>t.charAt(0)==="\\"?"?":""),e.replace(/(?:\\)*\*/g,t=>t.charAt(0)==="\\"?"*":"")}createWildcardsRegExp(e){let t=this.opt.wildcards==="withSpaces";return e.replace(/\u0001/g,t?"[\\S\\s]?":"\\S?").replace(/\u0002/g,t?"[\\S\\s]*?":"\\S*")}setupIgnoreJoinersRegExp(e){return e.replace(/[^(|)\\]/g,(t,s,n)=>{let r=n.charAt(s+1);return/[(|)\\]/.test(r)||r===""?t:t+"\0"})}createJoinersRegExp(e){let t=[];const s=this.opt.ignorePunctuation;return Array.isArray(s)&&s.length&&t.push(this.escapeStr(s.join(""))),this.opt.ignoreJoiners&&t.push("\\u00ad\\u200b\\u200c\\u200d"),t.length?e.split(/\u0000+/).join(`[${t.join("")}]*`):e}createDiacriticsRegExp(e){const t=this.opt.caseSensitive?"":"i",s=this.opt.caseSensitive?["aร รกแบฃรฃแบกฤƒแบฑแบฏแบณแบตแบทรขแบงแบฅแบฉแบซแบญรครฅฤฤ…","Aร€รแบขรƒแบ ฤ‚แบฐแบฎแบฒแบดแบถร‚แบฆแบคแบจแบชแบฌร„ร…ฤ€ฤ„","cรงฤ‡ฤ","Cร‡ฤ†ฤŒ","dฤ‘ฤ","DฤฤŽ","eรจรฉแบปแบฝแบนรชแปแบฟแปƒแป…แป‡รซฤ›ฤ“ฤ™","Eรˆร‰แบบแบผแบธรŠแป€แบพแป‚แป„แป†ร‹ฤšฤ’ฤ˜","iรฌรญแป‰ฤฉแป‹รฎรฏฤซ","IรŒรแปˆฤจแปŠรŽรฤช","lล‚","Lล","nรฑลˆล„","Nร‘ล‡ลƒ","oรฒรณแปรตแปรดแป“แป‘แป•แป—แป™ฦกแปŸแปกแป›แปแปฃรถรธล","Oร’ร“แปŽร•แปŒร”แป’แปแป”แป–แป˜ฦ แปžแป แปšแปœแปขร–ร˜ลŒ","rล™","Rล˜","sลกล›ศ™ลŸ","Sล ลšศ˜ลž","tลฅศ›ลฃ","Tลคศšลข","uรนรบแปงลฉแปฅฦฐแปซแปฉแปญแปฏแปฑรปรผลฏลซ","Uร™รšแปฆลจแปคฦฏแปชแปจแปฌแปฎแปฐร›รœลฎลช","yรฝแปณแปทแปนแปตรฟ","Yรแปฒแปถแปธแปดลธ","zลพลผลบ","Zลฝลปลน"]:["aร รกแบฃรฃแบกฤƒแบฑแบฏแบณแบตแบทรขแบงแบฅแบฉแบซแบญรครฅฤฤ…Aร€รแบขรƒแบ ฤ‚แบฐแบฎแบฒแบดแบถร‚แบฆแบคแบจแบชแบฌร„ร…ฤ€ฤ„","cรงฤ‡ฤCร‡ฤ†ฤŒ","dฤ‘ฤDฤฤŽ","eรจรฉแบปแบฝแบนรชแปแบฟแปƒแป…แป‡รซฤ›ฤ“ฤ™Eรˆร‰แบบแบผแบธรŠแป€แบพแป‚แป„แป†ร‹ฤšฤ’ฤ˜","iรฌรญแป‰ฤฉแป‹รฎรฏฤซIรŒรแปˆฤจแปŠรŽรฤช","lล‚Lล","nรฑลˆล„Nร‘ล‡ลƒ","oรฒรณแปรตแปรดแป“แป‘แป•แป—แป™ฦกแปŸแปกแป›แปแปฃรถรธลOร’ร“แปŽร•แปŒร”แป’แปแป”แป–แป˜ฦ แปžแป แปšแปœแปขร–ร˜ลŒ","rล™Rล˜","sลกล›ศ™ลŸSล ลšศ˜ลž","tลฅศ›ลฃTลคศšลข","uรนรบแปงลฉแปฅฦฐแปซแปฉแปญแปฏแปฑรปรผลฏลซUร™รšแปฆลจแปคฦฏแปชแปจแปฌแปฎแปฐร›รœลฎลช","yรฝแปณแปทแปนแปตรฟYรแปฒแปถแปธแปดลธ","zลพลผลบZลฝลปลน"];let n=[];return e.split("").forEach(r=>{s.every(i=>{if(i.indexOf(r)!==-1){if(n.indexOf(i)>-1)return!1;e=e.replace(new RegExp(`[${i}]`,`gm${t}`),`[${i}]`),n.push(i)}return!0})}),e}createMergedBlanksRegExp(e){return e.replace(/[\s]+/gmi,"[\\s]+")}createAccuracyRegExp(e){const t="!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~ยกยฟ";let s=this.opt.accuracy,n=typeof s=="string"?s:s.value,r=typeof s=="string"?[]:s.limiters,i="";switch(r.forEach(o=>{i+=`|${this.escapeStr(o)}`}),n){case"partially":default:return`()(${e})`;case"complementary":return i="\\s"+(i||this.escapeStr(t)),`()([^${i}]*${e}[^${i}]*)`;case"exactly":return`(^|\\s${i})(${e})(?=$|\\s${i})`}}getSeparatedKeywords(e){let t=[];return e.forEach(s=>{this.opt.separateWordSearch?s.split(" ").forEach(n=>{n.trim()&&t.indexOf(n)===-1&&t.push(n)}):s.trim()&&t.indexOf(s)===-1&&t.push(s)}),{keywords:t.sort((s,n)=>n.length-s.length),length:t.length}}isNumeric(e){return Number(parseFloat(e))==e}checkRanges(e){if(!Array.isArray(e)||Object.prototype.toString.call(e[0])!=="[object Object]")return this.log("markRanges() will only accept an array of objects"),this.opt.noMatch(e),[];const t=[];let s=0;return e.sort((n,r)=>n.start-r.start).forEach(n=>{let{start:r,end:i,valid:o}=this.callNoMatchOnInvalidRanges(n,s);o&&(n.start=r,n.length=i-r,t.push(n),s=i)}),t}callNoMatchOnInvalidRanges(e,t){let s,n,r=!1;return e&&typeof e.start<"u"?(s=parseInt(e.start,10),n=s+parseInt(e.length,10),this.isNumeric(e.start)&&this.isNumeric(e.length)&&n-t>0&&n-s>0?r=!0:(this.log(`Ignoring invalid or overlapping range: ${JSON.stringify(e)}`),this.opt.noMatch(e))):(this.log(`Ignoring invalid range: ${JSON.stringify(e)}`),this.opt.noMatch(e)),{start:s,end:n,valid:r}}checkWhitespaceRanges(e,t,s){let n,r=!0,i=s.length,o=t-i,l=parseInt(e.start,10)-o;return l=l>i?i:l,n=l+parseInt(e.length,10),n>i&&(n=i,this.log(`End range automatically set to the max value of ${i}`)),l<0||n-l<0||l>i||n>i?(r=!1,this.log(`Invalid range: ${JSON.stringify(e)}`),this.opt.noMatch(e)):s.substring(l,n).replace(/\s+/g,"")===""&&(r=!1,this.log("Skipping whitespace only range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:l,end:n,valid:r}}getTextNodes(e){let t="",s=[];this.iterator.forEachNode(NodeFilter.SHOW_TEXT,n=>{s.push({start:t.length,end:(t+=n.textContent).length,node:n})},n=>this.matchesExclude(n.parentNode)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT,()=>{e({value:t,nodes:s})})}matchesExclude(e){return ee.matches(e,this.opt.exclude.concat(["script","style","title","head","html"]))}wrapRangeInTextNode(e,t,s){const n=this.opt.element?this.opt.element:"mark",r=e.splitText(t),i=r.splitText(s-t);let o=document.createElement(n);return o.setAttribute("data-markjs","true"),this.opt.className&&o.setAttribute("class",this.opt.className),o.textContent=r.textContent,r.parentNode.replaceChild(o,r),i}wrapRangeInMappedTextNode(e,t,s,n,r){e.nodes.every((i,o)=>{const l=e.nodes[o+1];if(typeof l>"u"||l.start>t){if(!n(i.node))return!1;const c=t-i.start,h=(s>i.end?i.end:s)-i.start,f=e.value.substr(0,i.start),p=e.value.substr(h+i.start);if(i.node=this.wrapRangeInTextNode(i.node,c,h),e.value=f+p,e.nodes.forEach((b,x)=>{x>=o&&(e.nodes[x].start>0&&x!==o&&(e.nodes[x].start-=h),e.nodes[x].end-=h)}),s-=h,r(i.node.previousSibling,i.start),s>i.end)t=i.end;else return!1}return!0})}wrapMatches(e,t,s,n,r){const i=t===0?0:t+1;this.getTextNodes(o=>{o.nodes.forEach(l=>{l=l.node;let c;for(;(c=e.exec(l.textContent))!==null&&c[i]!=="";){if(!s(c[i],l))continue;let h=c.index;if(i!==0)for(let f=1;f{let l;for(;(l=e.exec(o.value))!==null&&l[i]!=="";){let c=l.index;if(i!==0)for(let f=1;fs(l[i],f),(f,p)=>{e.lastIndex=p,n(f)})}r()})}wrapRangeFromIndex(e,t,s,n){this.getTextNodes(r=>{const i=r.value.length;e.forEach((o,l)=>{let{start:c,end:h,valid:f}=this.checkWhitespaceRanges(o,i,r.value);f&&this.wrapRangeInMappedTextNode(r,c,h,p=>t(p,o,r.value.substring(c,h),l),p=>{s(p,o)})}),n()})}unwrapMatches(e){const t=e.parentNode;let s=document.createDocumentFragment();for(;e.firstChild;)s.appendChild(e.removeChild(e.firstChild));t.replaceChild(s,e),this.ie?this.normalizeTextNode(t):t.normalize()}normalizeTextNode(e){if(e){if(e.nodeType===3)for(;e.nextSibling&&e.nextSibling.nodeType===3;)e.nodeValue+=e.nextSibling.nodeValue,e.parentNode.removeChild(e.nextSibling);else this.normalizeTextNode(e.firstChild);this.normalizeTextNode(e.nextSibling)}}markRegExp(e,t){this.opt=t,this.log(`Searching with expression "${e}"`);let s=0,n="wrapMatches";const r=i=>{s++,this.opt.each(i)};this.opt.acrossElements&&(n="wrapMatchesAcrossElements"),this[n](e,this.opt.ignoreGroups,(i,o)=>this.opt.filter(o,i,s),r,()=>{s===0&&this.opt.noMatch(e),this.opt.done(s)})}mark(e,t){this.opt=t;let s=0,n="wrapMatches";const{keywords:r,length:i}=this.getSeparatedKeywords(typeof e=="string"?[e]:e),o=this.opt.caseSensitive?"":"i",l=c=>{let h=new RegExp(this.createRegExp(c),`gm${o}`),f=0;this.log(`Searching with expression "${h}"`),this[n](h,1,(p,b)=>this.opt.filter(b,c,s,f),p=>{f++,s++,this.opt.each(p)},()=>{f===0&&this.opt.noMatch(c),r[i-1]===c?this.opt.done(s):l(r[r.indexOf(c)+1])})};this.opt.acrossElements&&(n="wrapMatchesAcrossElements"),i===0?this.opt.done(s):l(r[0])}markRanges(e,t){this.opt=t;let s=0,n=this.checkRanges(e);n&&n.length?(this.log("Starting to mark with the following ranges: "+JSON.stringify(n)),this.wrapRangeFromIndex(n,(r,i,o,l)=>this.opt.filter(r,i,o,l),(r,i)=>{s++,this.opt.each(r,i)},()=>{this.opt.done(s)})):this.opt.done(s)}unmark(e){this.opt=e;let t=this.opt.element?this.opt.element:"*";t+="[data-markjs]",this.opt.className&&(t+=`.${this.opt.className}`),this.log(`Removal selector "${t}"`),this.iterator.forEachNode(NodeFilter.SHOW_ELEMENT,s=>{this.unwrapMatches(s)},s=>{const n=ee.matches(s,t),r=this.matchesExclude(s);return!n||r?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},this.opt.done)}};function Ns(a){const e=new ks(a);return this.mark=(t,s)=>(e.mark(t,s),this),this.markRegExp=(t,s)=>(e.markRegExp(t,s),this),this.markRanges=(t,s)=>(e.markRanges(t,s),this),this.unmark=t=>(e.unmark(t),this),this}const Fs="ENTRIES",pt="KEYS",vt="VALUES",R="";class Oe{constructor(e,t){const s=e._tree,n=Array.from(s.keys());this.set=e,this._type=t,this._path=n.length>0?[{node:s,keys:n}]:[]}next(){const e=this.dive();return this.backtrack(),e}dive(){if(this._path.length===0)return{done:!0,value:void 0};const{node:e,keys:t}=Z(this._path);if(Z(t)===R)return{done:!1,value:this.result()};const s=e.get(Z(t));return this._path.push({node:s,keys:Array.from(s.keys())}),this.dive()}backtrack(){if(this._path.length===0)return;const e=Z(this._path).keys;e.pop(),!(e.length>0)&&(this._path.pop(),this.backtrack())}key(){return this.set._prefix+this._path.map(({keys:e})=>Z(e)).filter(e=>e!==R).join("")}value(){return Z(this._path).node.get(R)}result(){switch(this._type){case vt:return this.value();case pt:return this.key();default:return[this.key(),this.value()]}}[Symbol.iterator](){return this}}const Z=a=>a[a.length-1],Os=(a,e,t)=>{const s=new Map;if(e===void 0)return s;const n=e.length+1,r=n+t,i=new Uint8Array(r*n).fill(t+1);for(let o=0;o{const l=r*i;e:for(const c of a.keys())if(c===R){const h=n[l-1];h<=t&&s.set(o,[a.get(c),h])}else{let h=r;for(let f=0;ft)continue e}mt(a.get(c),e,t,s,n,h,i,o+c)}};class U{constructor(e=new Map,t=""){this._size=void 0,this._tree=e,this._prefix=t}atPrefix(e){if(!e.startsWith(this._prefix))throw new Error("Mismatched prefix");const[t,s]=ke(this._tree,e.slice(this._prefix.length));if(t===void 0){const[n,r]=je(s);for(const i of n.keys())if(i!==R&&i.startsWith(r)){const o=new Map;return o.set(i.slice(r.length),n.get(i)),new U(o,e)}}return new U(t,e)}clear(){this._size=void 0,this._tree.clear()}delete(e){return this._size=void 0,Cs(this._tree,e)}entries(){return new Oe(this,Fs)}forEach(e){for(const[t,s]of this)e(t,s,this)}fuzzyGet(e,t){return Os(this._tree,e,t)}get(e){const t=ze(this._tree,e);return t!==void 0?t.get(R):void 0}has(e){const t=ze(this._tree,e);return t!==void 0&&t.has(R)}keys(){return new Oe(this,pt)}set(e,t){if(typeof e!="string")throw new Error("key must be a string");return this._size=void 0,Ce(this._tree,e).set(R,t),this}get size(){if(this._size)return this._size;this._size=0;const e=this.entries();for(;!e.next().done;)this._size+=1;return this._size}update(e,t){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;const s=Ce(this._tree,e);return s.set(R,t(s.get(R))),this}fetch(e,t){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;const s=Ce(this._tree,e);let n=s.get(R);return n===void 0&&s.set(R,n=t()),n}values(){return new Oe(this,vt)}[Symbol.iterator](){return this.entries()}static from(e){const t=new U;for(const[s,n]of e)t.set(s,n);return t}static fromObject(e){return U.from(Object.entries(e))}}const ke=(a,e,t=[])=>{if(e.length===0||a==null)return[a,t];for(const s of a.keys())if(s!==R&&e.startsWith(s))return t.push([a,s]),ke(a.get(s),e.slice(s.length),t);return t.push([a,e]),ke(void 0,"",t)},ze=(a,e)=>{if(e.length===0||a==null)return a;for(const t of a.keys())if(t!==R&&e.startsWith(t))return ze(a.get(t),e.slice(t.length))},Ce=(a,e)=>{const t=e.length;e:for(let s=0;a&&s{const[t,s]=ke(a,e);if(t!==void 0){if(t.delete(R),t.size===0)gt(s);else if(t.size===1){const[n,r]=t.entries().next().value;bt(s,n,r)}}},gt=a=>{if(a.length===0)return;const[e,t]=je(a);if(e.delete(t),e.size===0)gt(a.slice(0,-1));else if(e.size===1){const[s,n]=e.entries().next().value;s!==R&&bt(a.slice(0,-1),s,n)}},bt=(a,e,t)=>{if(a.length===0)return;const[s,n]=je(a);s.set(n+e,t),s.delete(n)},je=a=>a[a.length-1],Be="or",yt="and",Rs="and_not";class te{constructor(e){if(e?.fields==null)throw new Error('MiniSearch: option "fields" must be provided');const t=e.autoVacuum==null||e.autoVacuum===!0?Me:e.autoVacuum;this._options={...Ae,...e,autoVacuum:t,searchOptions:{...it,...e.searchOptions||{}},autoSuggestOptions:{...Ps,...e.autoSuggestOptions||{}}},this._index=new U,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldIds={},this._fieldLength=new Map,this._avgFieldLength=[],this._nextId=0,this._storedFields=new Map,this._dirtCount=0,this._currentVacuum=null,this._enqueuedVacuum=null,this._enqueuedVacuumConditions=$e,this.addFields(this._options.fields)}add(e){const{extractField:t,stringifyField:s,tokenize:n,processTerm:r,fields:i,idField:o}=this._options,l=t(e,o);if(l==null)throw new Error(`MiniSearch: document does not have ID field "${o}"`);if(this._idToShortId.has(l))throw new Error(`MiniSearch: duplicate ID ${l}`);const c=this.addDocumentId(l);this.saveStoredFields(c,e);for(const h of i){const f=t(e,h);if(f==null)continue;const p=n(s(f,h),h),b=this._fieldIds[h],x=new Set(p).size;this.addFieldLength(c,b,this._documentCount-1,x);for(const S of p){const y=r(S,h);if(Array.isArray(y))for(const N of y)this.addTerm(b,c,N);else y&&this.addTerm(b,c,y)}}}addAll(e){for(const t of e)this.add(t)}addAllAsync(e,t={}){const{chunkSize:s=10}=t,n={chunk:[],promise:Promise.resolve()},{chunk:r,promise:i}=e.reduce(({chunk:o,promise:l},c,h)=>(o.push(c),(h+1)%s===0?{chunk:[],promise:l.then(()=>new Promise(f=>setTimeout(f,0))).then(()=>this.addAll(o))}:{chunk:o,promise:l}),n);return i.then(()=>this.addAll(r))}remove(e){const{tokenize:t,processTerm:s,extractField:n,stringifyField:r,fields:i,idField:o}=this._options,l=n(e,o);if(l==null)throw new Error(`MiniSearch: document does not have ID field "${o}"`);const c=this._idToShortId.get(l);if(c==null)throw new Error(`MiniSearch: cannot remove document with ID ${l}: it is not in the index`);for(const h of i){const f=n(e,h);if(f==null)continue;const p=t(r(f,h),h),b=this._fieldIds[h],x=new Set(p).size;this.removeFieldLength(c,b,this._documentCount,x);for(const S of p){const y=s(S,h);if(Array.isArray(y))for(const N of y)this.removeTerm(b,c,N);else y&&this.removeTerm(b,c,y)}}this._storedFields.delete(c),this._documentIds.delete(c),this._idToShortId.delete(l),this._fieldLength.delete(c),this._documentCount-=1}removeAll(e){if(e)for(const t of e)this.remove(t);else{if(arguments.length>0)throw new Error("Expected documents to be present. Omit the argument to remove all documents.");this._index=new U,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldLength=new Map,this._avgFieldLength=[],this._storedFields=new Map,this._nextId=0}}discard(e){const t=this._idToShortId.get(e);if(t==null)throw new Error(`MiniSearch: cannot discard document with ID ${e}: it is not in the index`);this._idToShortId.delete(e),this._documentIds.delete(t),this._storedFields.delete(t),(this._fieldLength.get(t)||[]).forEach((s,n)=>{this.removeFieldLength(t,n,this._documentCount,s)}),this._fieldLength.delete(t),this._documentCount-=1,this._dirtCount+=1,this.maybeAutoVacuum()}maybeAutoVacuum(){if(this._options.autoVacuum===!1)return;const{minDirtFactor:e,minDirtCount:t,batchSize:s,batchWait:n}=this._options.autoVacuum;this.conditionalVacuum({batchSize:s,batchWait:n},{minDirtCount:t,minDirtFactor:e})}discardAll(e){const t=this._options.autoVacuum;try{this._options.autoVacuum=!1;for(const s of e)this.discard(s)}finally{this._options.autoVacuum=t}this.maybeAutoVacuum()}replace(e){const{idField:t,extractField:s}=this._options,n=s(e,t);this.discard(n),this.add(e)}vacuum(e={}){return this.conditionalVacuum(e)}conditionalVacuum(e,t){return this._currentVacuum?(this._enqueuedVacuumConditions=this._enqueuedVacuumConditions&&t,this._enqueuedVacuum!=null?this._enqueuedVacuum:(this._enqueuedVacuum=this._currentVacuum.then(()=>{const s=this._enqueuedVacuumConditions;return this._enqueuedVacuumConditions=$e,this.performVacuuming(e,s)}),this._enqueuedVacuum)):this.vacuumConditionsMet(t)===!1?Promise.resolve():(this._currentVacuum=this.performVacuuming(e),this._currentVacuum)}async performVacuuming(e,t){const s=this._dirtCount;if(this.vacuumConditionsMet(t)){const n=e.batchSize||Ve.batchSize,r=e.batchWait||Ve.batchWait;let i=1;for(const[o,l]of this._index){for(const[c,h]of l)for(const[f]of h)this._documentIds.has(f)||(h.size<=1?l.delete(c):h.delete(f));this._index.get(o).size===0&&this._index.delete(o),i%n===0&&await new Promise(c=>setTimeout(c,r)),i+=1}this._dirtCount-=s}await null,this._currentVacuum=this._enqueuedVacuum,this._enqueuedVacuum=null}vacuumConditionsMet(e){if(e==null)return!0;let{minDirtCount:t,minDirtFactor:s}=e;return t=t||Me.minDirtCount,s=s||Me.minDirtFactor,this.dirtCount>=t&&this.dirtFactor>=s}get isVacuuming(){return this._currentVacuum!=null}get dirtCount(){return this._dirtCount}get dirtFactor(){return this._dirtCount/(1+this._documentCount+this._dirtCount)}has(e){return this._idToShortId.has(e)}getStoredFields(e){const t=this._idToShortId.get(e);if(t!=null)return this._storedFields.get(t)}search(e,t={}){const{searchOptions:s}=this._options,n={...s,...t},r=this.executeQuery(e,t),i=[];for(const[o,{score:l,terms:c,match:h}]of r){const f=c.length||1,p={id:this._documentIds.get(o),score:l*f,terms:Object.keys(h),queryTerms:c,match:h};Object.assign(p,this._storedFields.get(o)),(n.filter==null||n.filter(p))&&i.push(p)}return e===te.wildcard&&n.boostDocument==null||i.sort(at),i}autoSuggest(e,t={}){t={...this._options.autoSuggestOptions,...t};const s=new Map;for(const{score:r,terms:i}of this.search(e,t)){const o=i.join(" "),l=s.get(o);l!=null?(l.score+=r,l.count+=1):s.set(o,{score:r,terms:i,count:1})}const n=[];for(const[r,{score:i,terms:o,count:l}]of s)n.push({suggestion:r,terms:o,score:i/l});return n.sort(at),n}get documentCount(){return this._documentCount}get termCount(){return this._index.size}static loadJSON(e,t){if(t==null)throw new Error("MiniSearch: loadJSON should be given the same options used when serializing the index");return this.loadJS(JSON.parse(e),t)}static async loadJSONAsync(e,t){if(t==null)throw new Error("MiniSearch: loadJSON should be given the same options used when serializing the index");return this.loadJSAsync(JSON.parse(e),t)}static getDefault(e){if(Ae.hasOwnProperty(e))return Re(Ae,e);throw new Error(`MiniSearch: unknown option "${e}"`)}static loadJS(e,t){const{index:s,documentIds:n,fieldLength:r,storedFields:i,serializationVersion:o}=e,l=this.instantiateMiniSearch(e,t);l._documentIds=xe(n),l._fieldLength=xe(r),l._storedFields=xe(i);for(const[c,h]of l._documentIds)l._idToShortId.set(h,c);for(const[c,h]of s){const f=new Map;for(const p of Object.keys(h)){let b=h[p];o===1&&(b=b.ds),f.set(parseInt(p,10),xe(b))}l._index.set(c,f)}return l}static async loadJSAsync(e,t){const{index:s,documentIds:n,fieldLength:r,storedFields:i,serializationVersion:o}=e,l=this.instantiateMiniSearch(e,t);l._documentIds=await _e(n),l._fieldLength=await _e(r),l._storedFields=await _e(i);for(const[h,f]of l._documentIds)l._idToShortId.set(f,h);let c=0;for(const[h,f]of s){const p=new Map;for(const b of Object.keys(f)){let x=f[b];o===1&&(x=x.ds),p.set(parseInt(b,10),await _e(x))}++c%1e3===0&&await wt(0),l._index.set(h,p)}return l}static instantiateMiniSearch(e,t){const{documentCount:s,nextId:n,fieldIds:r,averageFieldLength:i,dirtCount:o,serializationVersion:l}=e;if(l!==1&&l!==2)throw new Error("MiniSearch: cannot deserialize an index created with an incompatible version");const c=new te(t);return c._documentCount=s,c._nextId=n,c._idToShortId=new Map,c._fieldIds=r,c._avgFieldLength=i,c._dirtCount=o||0,c._index=new U,c}executeQuery(e,t={}){if(e===te.wildcard)return this.executeWildcardQuery(t);if(typeof e!="string"){const p={...t,...e,queries:void 0},b=e.queries.map(x=>this.executeQuery(x,p));return this.combineResults(b,p.combineWith)}const{tokenize:s,processTerm:n,searchOptions:r}=this._options,i={tokenize:s,processTerm:n,...r,...t},{tokenize:o,processTerm:l}=i,f=o(e).flatMap(p=>l(p)).filter(p=>!!p).map(Ds(i)).map(p=>this.executeQuerySpec(p,i));return this.combineResults(f,i.combineWith)}executeQuerySpec(e,t){const s={...this._options.searchOptions,...t},n=(s.fields||this._options.fields).reduce((S,y)=>({...S,[y]:Re(s.boost,y)||1}),{}),{boostDocument:r,weights:i,maxFuzzy:o,bm25:l}=s,{fuzzy:c,prefix:h}={...it.weights,...i},f=this._index.get(e.term),p=this.termResults(e.term,e.term,1,e.termBoost,f,n,r,l);let b,x;if(e.prefix&&(b=this._index.atPrefix(e.term)),e.fuzzy){const S=e.fuzzy===!0?.2:e.fuzzy,y=S<1?Math.min(o,Math.round(e.term.length*S)):S;y&&(x=this._index.fuzzyGet(e.term,y))}if(b)for(const[S,y]of b){const N=S.length-e.term.length;if(!N)continue;x?.delete(S);const F=h*S.length/(S.length+.3*N);this.termResults(e.term,S,F,e.termBoost,y,n,r,l,p)}if(x)for(const S of x.keys()){const[y,N]=x.get(S);if(!N)continue;const F=c*S.length/(S.length+N);this.termResults(e.term,S,F,e.termBoost,y,n,r,l,p)}return p}executeWildcardQuery(e){const t=new Map,s={...this._options.searchOptions,...e};for(const[n,r]of this._documentIds){const i=s.boostDocument?s.boostDocument(r,"",this._storedFields.get(n)):1;t.set(n,{score:i,terms:[],match:{}})}return t}combineResults(e,t=Be){if(e.length===0)return new Map;const s=t.toLowerCase(),n=As[s];if(!n)throw new Error(`Invalid combination operator: ${t}`);return e.reduce(n)||new Map}toJSON(){const e=[];for(const[t,s]of this._index){const n={};for(const[r,i]of s)n[r]=Object.fromEntries(i);e.push([t,n])}return{documentCount:this._documentCount,nextId:this._nextId,documentIds:Object.fromEntries(this._documentIds),fieldIds:this._fieldIds,fieldLength:Object.fromEntries(this._fieldLength),averageFieldLength:this._avgFieldLength,storedFields:Object.fromEntries(this._storedFields),dirtCount:this._dirtCount,index:e,serializationVersion:2}}termResults(e,t,s,n,r,i,o,l,c=new Map){if(r==null)return c;for(const h of Object.keys(i)){const f=i[h],p=this._fieldIds[h],b=r.get(p);if(b==null)continue;let x=b.size;const S=this._avgFieldLength[p];for(const y of b.keys()){if(!this._documentIds.has(y)){this.removeTerm(p,y,t),x-=1;continue}const N=o?o(this._documentIds.get(y),t,this._storedFields.get(y)):1;if(!N)continue;const F=b.get(y),$=this._fieldLength.get(y)[p],K=Ls(F,x,this._documentCount,$,S,l),V=s*n*f*N*K,D=c.get(y);if(D){D.score+=V,zs(D.terms,e);const P=Re(D.match,t);P?P.push(h):D.match[t]=[h]}else c.set(y,{score:V,terms:[e],match:{[t]:[h]}})}}return c}addTerm(e,t,s){const n=this._index.fetch(s,ot);let r=n.get(e);if(r==null)r=new Map,r.set(t,1),n.set(e,r);else{const i=r.get(t);r.set(t,(i||0)+1)}}removeTerm(e,t,s){if(!this._index.has(s)){this.warnDocumentChanged(t,e,s);return}const n=this._index.fetch(s,ot),r=n.get(e);r==null||r.get(t)==null?this.warnDocumentChanged(t,e,s):r.get(t)<=1?r.size<=1?n.delete(e):r.delete(t):r.set(t,r.get(t)-1),this._index.get(s).size===0&&this._index.delete(s)}warnDocumentChanged(e,t,s){for(const n of Object.keys(this._fieldIds))if(this._fieldIds[n]===t){this._options.logger("warn",`MiniSearch: document with ID ${this._documentIds.get(e)} has changed before removal: term "${s}" was not present in field "${n}". Removing a document after it has changed can corrupt the index!`,"version_conflict");return}}addDocumentId(e){const t=this._nextId;return this._idToShortId.set(e,t),this._documentIds.set(t,e),this._documentCount+=1,this._nextId+=1,t}addFields(e){for(let t=0;tObject.prototype.hasOwnProperty.call(a,e)?a[e]:void 0,As={[Be]:(a,e)=>{for(const t of e.keys()){const s=a.get(t);if(s==null)a.set(t,e.get(t));else{const{score:n,terms:r,match:i}=e.get(t);s.score=s.score+n,s.match=Object.assign(s.match,i),rt(s.terms,r)}}return a},[yt]:(a,e)=>{const t=new Map;for(const s of e.keys()){const n=a.get(s);if(n==null)continue;const{score:r,terms:i,match:o}=e.get(s);rt(n.terms,i),t.set(s,{score:n.score+r,terms:n.terms,match:Object.assign(n.match,o)})}return t},[Rs]:(a,e)=>{for(const t of e.keys())a.delete(t);return a}},Ms={k:1.2,b:.7,d:.5},Ls=(a,e,t,s,n,r)=>{const{k:i,b:o,d:l}=r;return Math.log(1+(t-e+.5)/(e+.5))*(l+a*(i+1)/(a+i*(1-o+o*s/n)))},Ds=a=>(e,t,s)=>{const n=typeof a.fuzzy=="function"?a.fuzzy(e,t,s):a.fuzzy||!1,r=typeof a.prefix=="function"?a.prefix(e,t,s):a.prefix===!0,i=typeof a.boostTerm=="function"?a.boostTerm(e,t,s):1;return{term:e,fuzzy:n,prefix:r,termBoost:i}},Ae={idField:"id",extractField:(a,e)=>a[e],stringifyField:(a,e)=>a.toString(),tokenize:a=>a.split(Vs),processTerm:a=>a.toLowerCase(),fields:void 0,searchOptions:void 0,storeFields:[],logger:(a,e)=>{typeof console?.[a]=="function"&&console[a](e)},autoVacuum:!0},it={combineWith:Be,prefix:!1,fuzzy:!1,maxFuzzy:6,boost:{},weights:{fuzzy:.45,prefix:.375},bm25:Ms},Ps={combineWith:yt,prefix:(a,e,t)=>e===t.length-1},Ve={batchSize:1e3,batchWait:10},$e={minDirtFactor:.1,minDirtCount:20},Me={...Ve,...$e},zs=(a,e)=>{a.includes(e)||a.push(e)},rt=(a,e)=>{for(const t of e)a.includes(t)||a.push(t)},at=({score:a},{score:e})=>e-a,ot=()=>new Map,xe=a=>{const e=new Map;for(const t of Object.keys(a))e.set(parseInt(t,10),a[t]);return e},_e=async a=>{const e=new Map;let t=0;for(const s of Object.keys(a))e.set(parseInt(s,10),a[s]),++t%1e3===0&&await wt(0);return e},wt=a=>new Promise(e=>setTimeout(e,a)),Vs=/[\n\r\p{Z}\p{P}]+/u;class $s{max;cache;constructor(e=10){this.max=e,this.cache=new Map}get(e){let t=this.cache.get(e);return t!==void 0&&(this.cache.delete(e),this.cache.set(e,t)),t}set(e,t){this.cache.has(e)?this.cache.delete(e):this.cache.size===this.max&&this.cache.delete(this.first()),this.cache.set(e,t)}first(){return this.cache.keys().next().value}clear(){this.cache.clear()}}const js=["aria-owns"],Bs={class:"shell"},Ws=["title"],Ks={class:"search-actions before"},Js=["title"],Us=["aria-activedescendant","aria-controls","placeholder"],qs={class:"search-actions"},Gs=["title"],Hs=["disabled","title"],Qs=["id","role","aria-labelledby"],Ys=["id","aria-selected"],Zs=["href","aria-label","onMouseenter","onFocusin","data-index"],Xs={class:"titles"},en=["innerHTML"],tn={class:"title main"},sn=["innerHTML"],nn={key:0,class:"excerpt-wrapper"},rn={key:0,class:"excerpt",inert:""},an=["innerHTML"],on={key:0,class:"no-results"},ln={class:"search-keyboard-shortcuts"},cn=["aria-label"],un=["aria-label"],dn=["aria-label"],hn=["aria-label"],fn=It({__name:"VPLocalSearchBox",emits:["close"],setup(a,{emit:e}){const t=e,s=X(),n=X(),r=X(Ht),i=kt(),{activate:o}=Is(s,{immediate:!0,allowOutsideClick:!0,clickOutsideDeactivates:!0,escapeDeactivates:!0}),{localeIndex:l,theme:c}=i,h=Ge(async()=>Ze(te.loadJSON((await r.value[l.value]?.())?.default,{fields:["title","titles","text"],storeFields:["title","titles"],searchOptions:{fuzzy:.2,prefix:!0,boost:{title:4,text:2,titles:1},...c.value.search?.provider==="local"&&c.value.search.options?.miniSearch?.searchOptions},...c.value.search?.provider==="local"&&c.value.search.options?.miniSearch?.options}))),p=he(()=>c.value.search?.provider==="local"&&c.value.search.options?.disableQueryPersistence===!0).value?oe(""):Nt("vitepress:local-search-filter",""),b=Ft("vitepress:local-search-detailed-list",c.value.search?.provider==="local"&&c.value.search.options?.detailedView===!0),x=he(()=>c.value.search?.provider==="local"&&(c.value.search.options?.disableDetailedView===!0||c.value.search.options?.detailedView===!1)),S=he(()=>{const m=c.value.search?.options??c.value.algolia;return m?.locales?.[l.value]?.translations?.button?.buttonText||m?.translations?.button?.buttonText||"Search"});Ot(()=>{x.value&&(b.value=!1)});const y=X([]),N=oe(!1);Le(p,()=>{N.value=!1});const F=Ge(async()=>{if(n.value)return Ze(new Ns(n.value))},null),$=new $s(16);Ct(()=>[h.value,p.value,b.value],async([m,v,w],A,z)=>{A?.[0]!==m&&$.clear();let L=!1;if(z(()=>{L=!0}),!m)return;y.value=m.search(v).slice(0,16),N.value=!0;const q=w?await Promise.all(y.value.map(M=>K(M.id))):[];if(L)return;for(const{id:M,mod:me}of q){const ge=M.slice(0,M.indexOf("#"));let ie=$.get(ge);if(ie)continue;ie=new Map,$.set(ge,ie);const re=me.default??me;if(re?.render||re?.setup){const G=Kt(re);G.config.warnHandler=()=>{},G.provide(Jt,i),Object.defineProperties(G.config.globalProperties,{$frontmatter:{get(){return i.frontmatter.value}},$params:{get(){return i.page.value.params}}});const We=document.createElement("div");G.mount(We),We.querySelectorAll("h1, h2, h3, h4, h5, h6").forEach(ae=>{const Ke=ae.querySelector("a")?.getAttribute("href"),Je=Ke?.startsWith("#")&&Ke.slice(1);if(!Je)return;let Ue="";for(;(ae=ae.nextElementSibling)&&!/^h[1-6]$/i.test(ae.tagName);)Ue+=ae.outerHTML;ie.set(Je,Ue)}),G.unmount()}if(L)return}const se=new Set;if(y.value=y.value.map(M=>{const[me,ge]=M.id.split("#"),re=$.get(me)?.get(ge)??"";for(const G in M.match)se.add(G);return{...M,text:re}}),await le(),L)return;await new Promise(M=>{F.value?.unmark({done:()=>{F.value?.markRegExp(T(se),{done:M})}})});const ne=s.value?.querySelectorAll(".result .excerpt")??[];for(const M of ne)M.querySelector('mark[data-markjs="true"]')?.scrollIntoView({block:"center"});n.value?.firstElementChild?.scrollIntoView({block:"start"})},{debounce:200,immediate:!0});async function K(m){const v=Ut(m.slice(0,m.indexOf("#")));try{if(!v)throw new Error(`Cannot find file for id: ${m}`);return{id:m,mod:await import(v)}}catch(w){return console.error(w),{id:m,mod:{}}}}const V=oe(),D=he(()=>p.value?.length<=0);function P(m=!0){V.value?.focus(),m&&V.value?.select()}Ne(()=>{P()});function ve(m){m.pointerType==="mouse"&&P()}const O=oe(-1),j=oe(!0);Le(y,m=>{O.value=m.length?0:-1,B()});function B(){le(()=>{document.querySelector(".result.selected")?.scrollIntoView({block:"nearest"})})}be("ArrowUp",m=>{m.preventDefault(),O.value--,O.value<0&&(O.value=y.value.length-1),j.value=!0,B()}),be("ArrowDown",m=>{m.preventDefault(),O.value++,O.value>=y.value.length&&(O.value=0),j.value=!0,B()});const I=Rt();be("Enter",m=>{if(m.isComposing||m.target instanceof HTMLButtonElement&&m.target.type!=="submit")return;const v=y.value[O.value];if(m.target instanceof HTMLInputElement&&!v){m.preventDefault();return}v&&(I.go(v.id),t("close"))}),be("Escape",()=>{t("close")});const d=At({modal:{displayDetails:"Display detailed list",resetButtonTitle:"Reset search",backButtonTitle:"Close search",noResultsText:"No results for",footer:{selectText:"to select",selectKeyAriaLabel:"enter",navigateText:"to navigate",navigateUpKeyAriaLabel:"up arrow",navigateDownKeyAriaLabel:"down arrow",closeText:"to close",closeKeyAriaLabel:"escape"}}});Ne(()=>{window.history.pushState(null,"",null)}),Mt("popstate",m=>{m.preventDefault(),t("close")});const g=Lt(Dt?document.body:null);Ne(()=>{le(()=>{g.value=!0,le().then(()=>o())})}),Pt(()=>{g.value=!1});function E(){p.value="",le().then(()=>P(!1))}function T(m){return new RegExp([...m].sort((v,w)=>w.length-v.length).map(v=>`(${qt(v)})`).join("|"),"gi")}function k(m){if(!j.value)return;const v=m.target?.closest(".result"),w=Number.parseInt(v?.dataset.index);w>=0&&w!==O.value&&(O.value=w),j.value=!1}return(m,v)=>(W(),zt(Wt,{to:"body"},[_("div",{ref_key:"el",ref:s,role:"button","aria-owns":y.value?.length?"localsearch-list":void 0,"aria-expanded":"true","aria-haspopup":"listbox","aria-labelledby":"localsearch-label",class:"VPLocalSearchBox"},[_("div",{class:"backdrop",onClick:v[0]||(v[0]=w=>m.$emit("close"))}),_("div",Bs,[_("form",{class:"search-bar",onPointerup:v[4]||(v[4]=w=>ve(w)),onSubmit:v[5]||(v[5]=Vt(()=>{},["prevent"]))},[_("label",{title:S.value,id:"localsearch-label",for:"localsearch-input"},[...v[7]||(v[7]=[_("span",{"aria-hidden":"true",class:"vpi-search search-icon local-search-icon"},null,-1)])],8,Ws),_("div",Ks,[_("button",{class:"back-button",title:C(d)("modal.backButtonTitle"),onClick:v[1]||(v[1]=w=>m.$emit("close"))},[...v[8]||(v[8]=[_("span",{class:"vpi-arrow-left local-search-icon"},null,-1)])],8,Js)]),$t(_("input",{ref_key:"searchInput",ref:V,"onUpdate:modelValue":v[2]||(v[2]=w=>Bt(p)?p.value=w:null),"aria-activedescendant":O.value>-1?"localsearch-item-"+O.value:void 0,"aria-autocomplete":"both","aria-controls":y.value?.length?"localsearch-list":void 0,"aria-labelledby":"localsearch-label",autocapitalize:"off",autocomplete:"off",autocorrect:"off",class:"search-input",id:"localsearch-input",enterkeyhint:"go",maxlength:"64",placeholder:S.value,spellcheck:"false",type:"search"},null,8,Us),[[jt,C(p)]]),_("div",qs,[x.value?ye("",!0):(W(),J("button",{key:0,class:He(["toggle-layout-button",{"detailed-list":C(b)}]),type:"button",title:C(d)("modal.displayDetails"),onClick:v[3]||(v[3]=w=>O.value>-1&&(b.value=!C(b)))},[...v[9]||(v[9]=[_("span",{class:"vpi-layout-list local-search-icon"},null,-1)])],10,Gs)),_("button",{class:"clear-button",type:"reset",disabled:D.value,title:C(d)("modal.resetButtonTitle"),onClick:E},[...v[10]||(v[10]=[_("span",{class:"vpi-delete local-search-icon"},null,-1)])],8,Hs)])],32),_("ul",{ref_key:"resultsEl",ref:n,id:y.value?.length?"localsearch-list":void 0,role:y.value?.length?"listbox":void 0,"aria-labelledby":y.value?.length?"localsearch-label":void 0,class:"results",onMousemove:k},[(W(!0),J(Ye,null,Qe(y.value,(w,A)=>(W(),J("li",{key:w.id,id:"localsearch-item-"+A,"aria-selected":O.value===A?"true":"false",role:"option"},[_("a",{href:w.id,class:He(["result",{selected:O.value===A}]),"aria-label":[...w.titles,w.title].join(" > "),onMouseenter:z=>!j.value&&(O.value=A),onFocusin:z=>O.value=A,onClick:v[6]||(v[6]=z=>m.$emit("close")),"data-index":A},[_("div",null,[_("div",Xs,[v[12]||(v[12]=_("span",{class:"title-icon"},"#",-1)),(W(!0),J(Ye,null,Qe(w.titles,(z,L)=>(W(),J("span",{key:L,class:"title"},[_("span",{class:"text",innerHTML:z},null,8,en),v[11]||(v[11]=_("span",{class:"vpi-chevron-right local-search-icon"},null,-1))]))),128)),_("span",tn,[_("span",{class:"text",innerHTML:w.title},null,8,sn)])]),C(b)?(W(),J("div",nn,[w.text?(W(),J("div",rn,[_("div",{class:"vp-doc",innerHTML:w.text},null,8,an)])):ye("",!0),v[13]||(v[13]=_("div",{class:"excerpt-gradient-bottom"},null,-1)),v[14]||(v[14]=_("div",{class:"excerpt-gradient-top"},null,-1))])):ye("",!0)])],42,Zs)],8,Ys))),128)),C(p)&&!y.value.length&&N.value?(W(),J("li",on,[ce(ue(C(d)("modal.noResultsText"))+' "',1),_("strong",null,ue(C(p)),1),v[15]||(v[15]=ce('" ',-1))])):ye("",!0)],40,Qs),_("div",ln,[_("span",null,[_("kbd",{"aria-label":C(d)("modal.footer.navigateUpKeyAriaLabel")},[...v[16]||(v[16]=[_("span",{class:"vpi-arrow-up navigate-icon"},null,-1)])],8,cn),_("kbd",{"aria-label":C(d)("modal.footer.navigateDownKeyAriaLabel")},[...v[17]||(v[17]=[_("span",{class:"vpi-arrow-down navigate-icon"},null,-1)])],8,un),ce(" "+ue(C(d)("modal.footer.navigateText")),1)]),_("span",null,[_("kbd",{"aria-label":C(d)("modal.footer.selectKeyAriaLabel")},[...v[18]||(v[18]=[_("span",{class:"vpi-corner-down-left navigate-icon"},null,-1)])],8,dn),ce(" "+ue(C(d)("modal.footer.selectText")),1)]),_("span",null,[_("kbd",{"aria-label":C(d)("modal.footer.closeKeyAriaLabel")},"esc",8,hn),ce(" "+ue(C(d)("modal.footer.closeText")),1)])])])],8,js)]))}}),gn=Gt(fn,[["__scopeId","data-v-400916ea"]]);export{gn as default}; diff --git a/assets/chunks/metadata.4c1f2235.js b/assets/chunks/metadata.4c1f2235.js new file mode 100644 index 00000000..34e2358a --- /dev/null +++ b/assets/chunks/metadata.4c1f2235.js @@ -0,0 +1 @@ +window.__VP_HASH_MAP__=JSON.parse("{\"01.ๅ…จๆ ˆ_00.overview.md\":\"DRHSs2EE\",\"01.ๅ…จๆ ˆ_01.ai native ๅทฅ็จ‹ๆ€็ปด_01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ ai ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€.md\":\"DnAdo66b\",\"01.ๅ…จๆ ˆ_01.ai native ๅทฅ็จ‹ๆ€็ปด_02.้‡ๆž„ๅผ€ๅ‘่€…๏ผšai ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—.md\":\"BzWlQ04R\",\"01.ๅ…จๆ ˆ_01.ai native ๅทฅ็จ‹ๆ€็ปด_10.่ฏป anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป ai ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘.md\":\"BxS8ZWIM\",\"01.ๅ…จๆ ˆ_10.ai ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—_00.ai็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ.md\":\"0WWjtM47\",\"01.ๅ…จๆ ˆ_40.ๅ‰็ซฏๅทฅ็จ‹_01.react ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšai ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—.md\":\"ip_V3kmi\",\"01.ๅ…จๆ ˆ_40.ๅ‰็ซฏๅทฅ็จ‹_02.cssๅทฅ็จ‹ๅŒ–.md\":\"DUPhvCof\",\"01.ๅ…จๆ ˆ_40.ๅ‰็ซฏๅทฅ็จ‹_03.jamstack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—.md\":\"CdkgDOAk\",\"01.ๅ…จๆ ˆ_40.ๅ‰็ซฏๅทฅ็จ‹_11.react ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ.md\":\"BpMi6J2x\",\"01.ๅ…จๆ ˆ_60.็ฝ‘็ปœไธŽ้€šไฟก_01.ไปŽ http ๅˆฐ websocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—.md\":\"int3cA6G\",\"01.ๅ…จๆ ˆ_60.็ฝ‘็ปœไธŽ้€šไฟก_02.ๆตๅผ http ไธŽ sse ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต.md\":\"Cp-uzdUB\",\"01.ๅ…จๆ ˆ_60.็ฝ‘็ปœไธŽ้€šไฟก_03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–.md\":\"C2A_-RUG\",\"01.ๅ…จๆ ˆ_80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป_00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—.md\":\"B1vmVkqI\",\"01.ๅ…จๆ ˆ_80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป_01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• typescript ้กน็›ฎๆŒ‡ๅ—.md\":\"BHyEzAuH\",\"01.ๅ…จๆ ˆ_80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป_10.่Šไธ€่Š typescript ๆณ›ๅž‹.md\":\"BpsDJhtc\",\"01.ๅ…จๆ ˆ_80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป_20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—_0.overview.md\":\"CwRE_Svk\",\"01.ๅ…จๆ ˆ_80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป_20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—_1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€.md\":\"BVmOGo8x\",\"01.ๅ…จๆ ˆ_80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป_20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—_2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†.md\":\"CRGmbaTn\",\"01.ๅ…จๆ ˆ_80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป_20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—_3.es modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž.md\":\"fPkWGUxd\",\"01.ๅ…จๆ ˆ_80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป_20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—_4.typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ.md\":\"hJ1lv1QY\",\"01.ๅ…จๆ ˆ_80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป_20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—_5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต.md\":\"LTILHYsI\",\"01.ๅ…จๆ ˆ_80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป_20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—_6.่งฃๆž nodejs ไธญ็š„ๆจกๅ—ๅŒ–.md\":\"CGHtK9Bj\",\"01.ๅ…จๆ ˆ_90.ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่_90.ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่.md\":\"BBjcdRsJ\",\"10.ไบงๅ“ sense_00.ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ.md\":\"BlAoRUPp\",\"10.ไบงๅ“ sense_01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž_11.ai-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšperplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€….md\":\"BRTIJ78C\",\"10.ไบงๅ“ sense_02.ๆ–ฐ t ๅž‹ไบบ_20.่ฏปๅŽๆ„Ÿ๏ผšai ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ.md\":\"Xe0P5HJr\",\"10.ไบงๅ“ sense_02.ๆ–ฐ t ๅž‹ไบบ_21.ๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ sense.md\":\"CO18rPj4\",\"10.ไบงๅ“ sense_04.ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–_30.ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹่ฏปๅŽๆ„Ÿ.md\":\"gAigzrX9\",\"10.ไบงๅ“ sense_05.ๆ–นๆณ•่ฎบ_40.ๆดžๅฏŸๅŠ›ๆจกๅž‹.md\":\"j-w2xxuV\",\"10.ไบงๅ“ sense_05.ๆ–นๆณ•่ฎบ_50.็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“.md\":\"CUbjYJmR\",\"20.ai ๅญฆไน ไธŽๅฎž่ทต_00.ai ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ.md\":\"Bq7k-xXb\",\"20.ai ๅญฆไน ไธŽๅฎž่ทต_02.agent ็ณปๅˆ—_01.agentๆฆ‚่งˆไธŽ็ปผ่ฟฐ.md\":\"DMvs5K_Q\",\"20.ai ๅญฆไน ไธŽๅฎž่ทต_02.agent ็ณปๅˆ—_02.agent ่ง„ๅˆ’ๆจกๅ—.md\":\"C3XAsz_e\",\"20.ai ๅญฆไน ไธŽๅฎž่ทต_02.agent ็ณปๅˆ—_03.ๆž„ๅปบ agentic ็”Ÿๆ€๏ผšๅฐ†้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต.md\":\"Dzka5_K9\",\"20.ai ๅญฆไน ไธŽๅฎž่ทต_02.agent ็ณปๅˆ—_10.agent skills.md\":\"BYP2Q09s\",\"20.ai ๅญฆไน ไธŽๅฎž่ทต_04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ_10.ๅŸบไบŽ claude agent sdk ๆญๅปบ deep research agent.md\":\"DtQSvR-M\",\"20.ai ๅญฆไน ไธŽๅฎž่ทต_04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ_20.ๅŸบไบŽ claude agent sdk ๆญๅปบ agent.md\":\"CAQEdrbh\",\"20.ai ๅญฆไน ไธŽๅฎž่ทต_04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ_60.ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹.md\":\"BVW8ytPR\",\"20.ai ๅญฆไน ไธŽๅฎž่ทต_04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ_70.่ฏ—ๆญŒๅฐ็ฒพ็ต.md\":\"C1VKntBb\",\"20.ai ๅญฆไน ไธŽๅฎž่ทต_90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่_01.ๅฅฝ็”จ็š„ ai ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่.md\":\"DT78Ux7f\",\"20.ai ๅญฆไน ไธŽๅฎž่ทต_90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่_11. llm api ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—.md\":\"qaanG5K2\",\"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰_01.ๅฅฝไนฆๆŽจ่.md\":\"lGftAF4x\",\"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰_10.่ฏปไนฆไธ‰่ฆไธ‰ไธ่ฆ.md\":\"BQj2m1KY\",\"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰_21.ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ.md\":\"C7EJFVmA\",\"31.ๅผ€ๆบๆดžๅฏŸ_00.overview.md\":\"DsfCImvx\",\"31.ๅผ€ๆบๆดžๅฏŸ_01.fetch-event-source ๆบ็ ่งฃ่ฏป.md\":\"BP_UYyAh\",\"40.ๅ…ณไบŽ_01.ๅ…ณไบŽๆˆ‘.md\":\"CkzMieuF\",\"40.ๅ…ณไบŽ_30.ๆˆ้•ฟ้š็ฌ”_01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘.md\":\"DJ7lWg_C\",\"40.ๅ…ณไบŽ_30.ๆˆ้•ฟ้š็ฌ”_10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ.md\":\"Cj12M61O\",\"40.ๅ…ณไบŽ_30.ๆˆ้•ฟ้š็ฌ”_20.ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹้˜ถๆฎต้š็ฌ”ๆฑ‡ๆ€ป.md\":\"DNHfVn0b\",\"@pages_categoriespage.md\":\"DalPAP0h\",\"@pages_tagspage.md\":\"nlt9sHhH\",\"index.md\":\"CZC8OIc5\"}");function deserializeFunctions(r){return Array.isArray(r)?r.map(deserializeFunctions):typeof r=="object"&&r!==null?Object.keys(r).reduce((t,n)=>(t[n]=deserializeFunctions(r[n]),t),{}):typeof r=="string"&&r.startsWith("_vp-fn_")?new Function(`return ${r.slice(7)}`)():r};window.__VP_SITE_DATA__=deserializeFunctions(JSON.parse("{\"lang\":\"zh-CN\",\"dir\":\"ltr\",\"title\":\"Insight Stack\",\"description\":\"A digital garden exploring the intersection of Full-stack Engineering, Product Thinking, and LLMs.,Built with VitePress and vitepress-theme-teek. Focus on Full-stack Engineering, Product Thinking, and LLMs.,VitePress ๆ‹ฅๆœ‰ไธ‰็งๅ…ธๅž‹็š„็Ÿฅ่ฏ†็ฎก็†ๅฝขๆ€๏ผš็ป“ๆž„ๅŒ–ใ€็ขŽ็‰‡ๅŒ–ใ€ไฝ“็ณปๅŒ–๏ผŒๅฏไปฅ่ฝปๆพๆž„ๅปบไธ€ไธช็ป“ๆž„ๅŒ–็Ÿฅ่ฏ†ๅบ“๏ผŒ้€‚็”จไธชไบบๅšๅฎขใ€ๆ–‡ๆกฃ็ซ™ใ€็Ÿฅ่ฏ†ๅบ“็ญ‰ๅœบๆ™ฏ\",\"base\":\"/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"teekTheme\":true,\"teekHome\":true,\"vpHome\":false,\"sidebarTrigger\":true,\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"banner\":{\"enabled\":true,\"name\":\"\",\"bgStyle\":\"pure\",\"pureBgColor\":\"#F7F5FA\",\"imgSrc\":[\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/image.png\"],\"mask\":false,\"descStyle\":\"switch\",\"description\":[\"Insight Stack = ๅทฅ็จ‹ๅŸบๅบง ร— ไบงๅ“ๆ€็ปด ร— AI ๅŽŸๅŠ›\",\"็œŸๆญฃ็š„ๅฅฝไบงๅ“ๆ˜ฏ่ฎฉๆŠ€ๆœฏ้šๅ…ฅ่ƒŒๆ™ฏ๏ผŒ่ฎฉไบคไบ’ๅ› ๅ…ฑ้ธฃ่€Œ็”Ÿ\"]},\"homeCardListPosition\":\"right\",\"homeCardSort\":[\"topArticle\",\"category\",\"tag\",\"docAnalysis\",\"friendLink\"],\"topArticle\":{\"enabled\":true,\"limit\":3,\"autoPage\":false,\"pageSpeed\":4000,\"dateFormat\":\"yyyy-MM-dd\"},\"category\":{\"enabled\":false,\"limit\":8,\"autoPage\":false,\"pageSpeed\":4000},\"friendLink\":{\"enabled\":false,\"limit\":5,\"list\":[{\"avatar\":\"https://vitepress.dev/vitepress-logo-large.svg\",\"name\":\"VitePress\",\"desc\":\"Vue ้ฉฑๅŠจ็š„้™ๆ€็ซ™็‚น็”Ÿๆˆๅ™จ\",\"link\":\"https://vitepress.dev/\"},{\"avatar\":\"https://vp.teek.top/teek-logo-large.png\",\"name\":\"vitepress-theme-teek\",\"desc\":\"Teekๅฎ˜็ฝ‘\",\"link\":\"https://vp.teek.top/\"}]},\"docAnalysis\":{\"enabled\":false},\"footerInfo\":{\"theme\":{\"name\":\"Theme By Teek@1.5.2\"},\"copyright\":{\"createYear\":2017,\"suffix\":\"Sqliang\"}},\"codeBlock\":{\"enabled\":false,\"collapseHeight\":700,\"overlay\":true,\"overlayHeight\":400,\"copiedDone\":\"_vp-fn_(TkMessage) => TkMessage.success(\\\"\\\\u590D\\\\u5236\\\\u6210\\\\u529F\\\\uFF01\\\")\"},\"articleShare\":{\"enabled\":true},\"articleUpdate\":{\"enabled\":false},\"post\":{},\"themeEnhance\":{\"layoutSwitch\":{\"defaultMode\":\"fullWidth\"}},\"logo\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/favicon.png\",\"darkModeSwitchLabel\":\"ไธป้ข˜\",\"sidebarMenuLabel\":\"่œๅ•\",\"returnToTopLabel\":\"่ฟ”ๅ›ž้กถ้ƒจ\",\"lastUpdatedText\":\"ไธŠๆฌกๆ›ดๆ–ฐๆ—ถ้—ด\",\"outline\":{\"level\":[2,4],\"label\":\"ๆœฌ้กตๅฏผ่ˆช\"},\"docFooter\":{\"prev\":\"ไธŠไธ€้กต\",\"next\":\"ไธ‹ไธ€้กต\"},\"nav\":[{\"text\":\"้ฆ–้กต\",\"link\":\"/\"},{\"text\":\"ๅ…จๆ ˆ\",\"items\":[{\"text\":\"\\n
\\n ๅ…จๆ™ฏไธ€่งˆ\\n
\\n \",\"link\":\"/fullstack/overview\",\"activeMatch\":\"01.ๅ…จๆ ˆ/00.overview\"},{\"text\":\"\\n
\\n AI Native ๅทฅ็จ‹ๆ€็ปด\\n
\\n \",\"link\":\"/fullstack/ai-native\",\"activeMatch\":\"01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\"},{\"text\":\"\\n
\\n AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\\n
\\n \",\"link\":\"/ai-learning/ai-coding-resources\",\"activeMatch\":\"01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ\"},{\"text\":\"\\n
\\n ๅ‰็ซฏๅทฅ็จ‹\\n
\\n \",\"link\":\"/fullstack/react-design-philosophy-ai-augmented\",\"activeMatch\":\"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\"},{\"text\":\"\\n
\\n ็ฝ‘็ปœไธŽ้€šไฟก\\n
\\n \",\"link\":\"/fullstack/networking-protocol-selection-guide\",\"activeMatch\":\"01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\"},{\"text\":\"\\n
\\n ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\\n
\\n \",\"link\":\"/fullstack/occams-razor-software-design\",\"activeMatch\":\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\"},{\"text\":\"\\n
\\n ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่\\n
\\n \",\"link\":\"/growth/full-stack-resources\",\"activeMatch\":\"01.ๅ…จๆ ˆ/90.ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่/90.ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\"}],\"activeMatch\":\"01.ๅ…จๆ ˆ/90.ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่\"},{\"text\":\"AI ๅญฆไน ไธŽๅฎž่ทต\",\"items\":[{\"text\":\"\\n
\\n ๅ…จๆ™ฏไธ€่งˆ\\n
\\n \",\"link\":\"/ai-learning/overview\",\"activeMatch\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/00.AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ\"},{\"text\":\"\\n
\\n Agent ็ณปๅˆ—\\n
\\n \",\"link\":\"/ai-agent/overview\",\"activeMatch\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/01.Agentๆฆ‚่งˆไธŽ็ปผ่ฟฐ\"},{\"text\":\"\\n
\\n ็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ\\n
\\n \",\"link\":\"/ai-agent/deepresearch-agent\",\"activeMatch\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/10.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Deep Research Agent\"},{\"text\":\"\\n
\\n ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่\\n
\\n \",\"link\":\"/ai-learning/tools-assistant\",\"activeMatch\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\"}],\"activeMatch\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่\"},{\"text\":\"ไบงๅ“ Sense\",\"items\":[{\"text\":\"\\n
\\n ๅ…จๆ™ฏไธ€่งˆ\\n
\\n \",\"link\":\"/product-sense\",\"activeMatch\":\"10.ไบงๅ“ Sense/00.ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\"},{\"text\":\"\\n
\\n ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž\\n
\\n \",\"link\":\"/product-sense/perplexity-knowledge-worker\",\"activeMatch\":\"10.ไบงๅ“ Sense/01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž/11.AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\"},{\"text\":\"\\n
\\n ๆ–ฐ T ๅž‹ไบบ\\n
\\n \",\"link\":\"/product-sense/ai-native-composite-talents\",\"activeMatch\":\"10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/20.่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\"},{\"text\":\"\\n
\\n ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–\\n
\\n \",\"link\":\"/product-sense/small-rule-learn\",\"activeMatch\":\"10.ไบงๅ“ Sense/04.ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–/30.ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹่ฏปๅŽๆ„Ÿ\"},{\"text\":\"\\n
\\n ๆ–นๆณ•่ฎบ\\n
\\n \",\"link\":\"/product-sense/insight-model\",\"activeMatch\":\"10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/40.ๆดžๅฏŸๅŠ›ๆจกๅž‹\"}],\"activeMatch\":\"10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ\"},{\"text\":\"ๅผ€ๆบๆดžๅฏŸ\",\"link\":\"/repo-insight/overview\",\"activeMatch\":\"31.ๅผ€ๆบๆดžๅฏŸ/00.overview\"},{\"text\":\"ๆ‚ฆ่ฏปๆ‹พๅ…‰\",\"items\":[{\"text\":\"ๅฅฝไนฆๆŽจ่\",\"link\":\" /growth/books\"},{\"text\":\"่ฏปไนฆโ€œไธ‰่ฆโ€ๅ’Œโ€œไธ‰ไธ่ฆโ€\",\"link\":\"/pages/growth/reading-tips\",\"activeMatch\":\"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/10.่ฏปไนฆไธ‰่ฆไธ‰ไธ่ฆ\"},{\"text\":\"ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"link\":\"/growth/distinguish-useful-information\",\"activeMatch\":\"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/21.ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\"}],\"activeMatch\":\"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰\"},{\"text\":\"ๅ…ณไบŽ\",\"items\":[{\"text\":\"ๅ…ณไบŽๆˆ‘\",\"link\":\"/about/me\",\"activeMatch\":\"40.ๅ…ณไบŽ/01.ๅ…ณไบŽๆˆ‘\"},{\"text\":\"ๅ…ณไบŽๆœฌ็ซ™\",\"link\":\"/about/me#ๅ…ณไบŽๆœฌ็ซ™\"},{\"text\":\"ๆˆ้•ฟ้š็ฌ”\",\"link\":\"/growth/outer-experience\",\"activeMatch\":\"40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\"}],\"activeMatch\":\"40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”\"}],\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/sqliang\"},{\"icon\":{\"svg\":\"\"},\"link\":\"mailto:hfutsqliang@qq.com\"}],\"search\":{\"provider\":\"local\"},\"sidebar\":{\"/01.ๅ…จๆ ˆ/\":[{\"text\":\"ๅ…จๆ™ฏไธ€่งˆ\",\"collapsed\":true,\"link\":\"/01.ๅ…จๆ ˆ/00.overview\"},{\"text\":\"AI Native ๅทฅ็จ‹ๆ€็ปด\",\"collapsed\":true,\"items\":[{\"text\":\"ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"collapsed\":true,\"link\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\"},{\"text\":\"้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"collapsed\":true,\"link\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/02.้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\"},{\"text\":\"่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"collapsed\":true,\"link\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/10.่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\"}]},{\"text\":\"AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\",\"collapsed\":true,\"items\":[{\"text\":\"AI ็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่\",\"collapsed\":true,\"link\":\"/01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ\"}]},{\"text\":\"ๅ‰็ซฏๅทฅ็จ‹\",\"collapsed\":true,\"items\":[{\"text\":\"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"collapsed\":true,\"link\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\"},{\"text\":\"ไปŽๅŽŸๅญๅŒ–ๅˆฐๅ˜ไฝ“้ฉฑๅŠจ๏ผš็Žฐไปฃ CSS ๅทฅ็จ‹ๅŒ–็š„ๆžถๆž„ๆผ”่ฟ›ไธŽๆททๅˆๅฎž่ทตๆŒ‡ๅ—\",\"collapsed\":true,\"link\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/02.CSSๅทฅ็จ‹ๅŒ–\"},{\"text\":\"JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"collapsed\":true,\"link\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\"},{\"text\":\"ไธๆญขไบŽ Fetch๏ผšReact ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"collapsed\":true,\"link\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/11.React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\"}]},{\"text\":\"็ฝ‘็ปœไธŽ้€šไฟก\",\"collapsed\":true,\"items\":[{\"text\":\"Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"collapsed\":true,\"link\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\"},{\"text\":\"ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"collapsed\":true,\"link\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\"},{\"text\":\"HTTP ่ฝฎ่ฏขไผ˜ๅŒ–ๆŒ‡ๅ—๏ผš้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"collapsed\":true,\"link\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\"}]},{\"text\":\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"collapsed\":true,\"items\":[{\"text\":\"ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"collapsed\":true,\"link\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\"},{\"text\":\"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—\",\"collapsed\":true,\"link\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—\"},{\"text\":\"่Šไธ€่Š TypeScript ไธญ็š„ๆณ›ๅž‹\",\"collapsed\":true,\"link\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹\"},{\"text\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\",\"collapsed\":true,\"items\":[{\"text\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\",\"collapsed\":true,\"link\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview\"},{\"text\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ๏ผšๆฆ‚ๅฟตใ€ๆผ”่ฟ›ไธŽ่ฎพ่ฎกๆจกๅผ\",\"collapsed\":true,\"link\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€\"},{\"text\":\"JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\",\"collapsed\":true,\"link\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†\"},{\"text\":\"ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒๆ‹ฅๆŠฑๅŽŸ็”Ÿ๏ผšES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"collapsed\":true,\"link\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\"},{\"text\":\"ไปŽ้€ป่พ‘้š”็ฆปๅˆฐ็ฑปๅž‹ๅฅ‘็บฆ๏ผšTypeScript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"collapsed\":true,\"link\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\"},{\"text\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ๆขณ็†ไธŽๆ€ป็ป“\",\"collapsed\":true,\"link\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต\"},{\"text\":\"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“\",\"collapsed\":true,\"link\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–\"}]}]},{\"text\":\"ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่\",\"collapsed\":true,\"items\":[{\"text\":\"ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"collapsed\":true,\"link\":\"/01.ๅ…จๆ ˆ/90.ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่/90.ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\"}]}],\"/10.ไบงๅ“ Sense/\":[{\"text\":\"ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"collapsed\":true,\"link\":\"/10.ไบงๅ“ Sense/00.ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\"},{\"text\":\"ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž\",\"collapsed\":true,\"items\":[{\"text\":\"AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"collapsed\":true,\"link\":\"/10.ไบงๅ“ Sense/01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž/11.AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\"}]},{\"text\":\"ๆ–ฐ T ๅž‹ไบบ\",\"collapsed\":true,\"items\":[{\"text\":\"่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"collapsed\":true,\"link\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/20.่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\"},{\"text\":\"ๅฝ“โ€œๅฎž็Žฐโ€ไธๅ†ๆ˜ฏๅฃๅž’๏ผšๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense๏ผŸ\",\"collapsed\":true,\"link\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/21.ๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense\"}]},{\"text\":\"ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–\",\"collapsed\":true,\"items\":[{\"text\":\"ๆ”พๅผƒๅขž้•ฟๆ‰งๅฟต๏ผŒไธบไป€ไนˆโ€œๅฐ่€Œ็พŽโ€ๆ‰ๆ˜ฏๅฏๆŒ็ปญไน‹่ทฏ\",\"collapsed\":true,\"link\":\"/10.ไบงๅ“ Sense/04.ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–/30.ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹่ฏปๅŽๆ„Ÿ\"}]},{\"text\":\"ๆ–นๆณ•่ฎบ\",\"collapsed\":true,\"items\":[{\"text\":\"ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผšๅฆ‚ไฝ•็œ‹้€ไบงๅ“ไธŽๆŠ€ๆœฏ่ƒŒๅŽ็š„็ณป็ปŸ้€ป่พ‘๏ผŸ\",\"collapsed\":true,\"link\":\"/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/40.ๆดžๅฏŸๅŠ›ๆจกๅž‹\"},{\"text\":\"็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“\",\"collapsed\":true,\"link\":\"/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/50.็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“\"}]}],\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/\":[{\"text\":\"AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"collapsed\":true,\"link\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/00.AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ\"},{\"text\":\"Agent ็ณปๅˆ—\",\"collapsed\":true,\"items\":[{\"text\":\"ไปŽๆ็คบ่ฏๅˆฐๆ•ฐๅญ—ๅ‘˜ๅทฅ๏ผšAI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐ\",\"collapsed\":true,\"link\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/01.Agentๆฆ‚่งˆไธŽ็ปผ่ฟฐ\"},{\"text\":\"ๆŽขๅฏป Agent ๅ†ณ็ญ–ไธญๆžข๏ผš่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„่ง„ๅˆ’่Œƒๅผ\",\"collapsed\":true,\"link\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/02.Agent ่ง„ๅˆ’ๆจกๅ—\"},{\"text\":\"ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผš้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"collapsed\":true,\"link\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/03.ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผšๅฐ†้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\"},{\"text\":\"ๅฆ‚ไฝ•็ผ–ๅ†™ไธ€ไธช้ซ˜ๅฏ็”จ็š„ Agent Skill๏ผŸไปŽๆœบๅˆถๆ‹†่งฃๅˆฐ็”Ÿไบงๅฎž่ทตๆŒ‡ๅ—\",\"collapsed\":true,\"link\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/10.Agent SKills\"}]},{\"text\":\"็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ\",\"collapsed\":true,\"items\":[{\"text\":\"ๅฃฐๆ˜Žๅผๅคšๆ™บ่ƒฝไฝ“ๅๅŒ๏ผšๅŸบไบŽ Claude Agent SDK ๆž„ๅปบๆทฑๅบฆ็ ”็ฉถ็ณป็ปŸ\",\"collapsed\":true,\"link\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/10.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Deep Research Agent\"},{\"text\":\"ๅ‘Šๅˆซๆ‰‹ๅŠจ Loop๏ผšๅ€ŸๅŠฉ Claude Agent SDK ๅฎž็Žฐ Agent ็š„ๅทฅ็จ‹ๅŒ–้—ญ็Žฏ\",\"collapsed\":true,\"link\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/20.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Agent\"},{\"text\":\"ไธ€ๆฌก็”ฑ Product Sense ้ฉฑๅŠจ็š„ Agent ๆž้™ๅฎž่ทต\",\"collapsed\":true,\"link\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/60.ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹\"},{\"text\":\"้›ถไปฃ็ ไธ็ญ‰ไบŽ้›ถ้€ป่พ‘๏ผš็ป“ๆž„ๅŒ– Prompt ้ฉฑๅŠจไธ‹็š„ Agent ๆญๅปบๅฎžๆˆ˜\",\"collapsed\":true,\"link\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/70.่ฏ—ๆญŒๅฐ็ฒพ็ต\"}]},{\"text\":\"่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่\",\"collapsed\":true,\"items\":[{\"text\":\"ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"collapsed\":true,\"link\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\"},{\"text\":\"LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"collapsed\":true,\"link\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/11. LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\"}]}],\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/\":[{\"text\":\"ๅฅฝไนฆๆŽจ่\",\"collapsed\":true,\"link\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/01.ๅฅฝไนฆๆŽจ่\"},{\"text\":\"่ฏปไนฆโ€œไธ‰่ฆโ€ๅ’Œโ€œไธ‰ไธ่ฆโ€\",\"collapsed\":true,\"link\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/10.่ฏปไนฆไธ‰่ฆไธ‰ไธ่ฆ\"},{\"text\":\"ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"collapsed\":true,\"link\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/21.ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\"}],\"/31.ๅผ€ๆบๆดžๅฏŸ/\":[{\"text\":\"ๅผ€ๆบๆดžๅฏŸ\",\"collapsed\":true,\"link\":\"/31.ๅผ€ๆบๆดžๅฏŸ/00.overview\"},{\"text\":\"fetch-event-source ๆบ็ ่งฃ่ฏป\",\"collapsed\":true,\"link\":\"/31.ๅผ€ๆบๆดžๅฏŸ/01.fetch-event-source ๆบ็ ่งฃ่ฏป\"}],\"/40.ๅ…ณไบŽ/\":[{\"text\":\"ๅ…ณไบŽๆˆ‘\",\"collapsed\":true,\"link\":\"/40.ๅ…ณไบŽ/01.ๅ…ณไบŽๆˆ‘\"},{\"text\":\"ๆˆ้•ฟ้š็ฌ”\",\"collapsed\":true,\"items\":[{\"text\":\"่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"collapsed\":true,\"link\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\"},{\"text\":\"ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"collapsed\":true,\"link\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\"},{\"text\":\"็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ”นๅ–„็š„ๆ–นๅผๆŽจๅŠจๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹\",\"collapsed\":true,\"link\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/20.ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹้˜ถๆฎต้š็ฌ”ๆฑ‡ๆ€ป\"}]}]},\"permalinks\":{\"map\":{\"01.ๅ…จๆ ˆ/00.overview\":\"/fullstack/overview\",\"01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\":\"/fullstack/ai-native\",\"01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/02.้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\":\"/fullstack/ai-engineer-capability\",\"01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/10.่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\":\"/fullstack/ai-change-work-workflow\",\"01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ\":\"/ai-learning/ai-coding-resources\",\"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\":\"/fullstack/react-design-philosophy-ai-augmented\",\"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/02.CSSๅทฅ็จ‹ๅŒ–\":\"/full-stack/css-engineering\",\"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\":\"/fullstack/jamstack\",\"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/11.React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\":\"/fullstack/server-state-management\",\"01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\":\"/fullstack/networking-protocol-selection-guide\",\"01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\":\"/fullstack/networking/sse-practice\",\"01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\":\"/fullstack/networking-polling-optimization\",\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\":\"/fullstack/occams-razor-software-design\",\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—\":\"/fullstack/typescript-compilation-debugging-guide\",\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹\":\"/fullstack/typescript-generic-types\",\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview\":\"/fullstack/module-programming-practice-guide\",\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€\":\"/fullstack/frontend-module-programming-basic\",\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†\":\"/fullstack/different-module-programming-specifications\",\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\":\"/fullstack/decode-es-modules\",\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\":\"/fullstack/typescript-module-programming-enhancement\",\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต\":\"/fullstack/module-programming-principles-best-practices\",\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–\":\"/fullstack/nodejs-module-programming-summary\",\"01.ๅ…จๆ ˆ/90.ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่/90.ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\":\"/growth/full-stack-resources\",\"10.ไบงๅ“ Sense/00.ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\":\"/product-sense\",\"10.ไบงๅ“ Sense/01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž/11.AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\":\"/product-sense/perplexity-knowledge-worker\",\"10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/20.่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\":\"/product-sense/ai-native-composite-talents\",\"10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/21.ๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense\":\"/product-sense/engineer-build-product-sense\",\"10.ไบงๅ“ Sense/04.ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–/30.ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹่ฏปๅŽๆ„Ÿ\":\"/product-sense/small-rule-learn\",\"10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/40.ๆดžๅฏŸๅŠ›ๆจกๅž‹\":\"/product-sense/insight-model\",\"10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/50.็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“\":\"/product-sense/using-economics-thinking\",\"20.AI ๅญฆไน ไธŽๅฎž่ทต/00.AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ\":\"/ai-learning/overview\",\"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/01.Agentๆฆ‚่งˆไธŽ็ปผ่ฟฐ\":\"/ai-agent/overview\",\"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/02.Agent ่ง„ๅˆ’ๆจกๅ—\":\"/ai-agent/planning-module\",\"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/03.ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผšๅฐ†้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\":\"/ai-agent/composition-ai-components\",\"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/10.Agent SKills\":\"/ai-agent/skills-practice-summary\",\"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/10.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Deep Research Agent\":\"/ai-agent/deepresearch-agent\",\"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/20.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Agent\":\"/ai-practice/claude-agent-sdk-basic-build\",\"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/60.ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹\":\"/ai-practice/math-bot\",\"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/70.่ฏ—ๆญŒๅฐ็ฒพ็ต\":\"/ai-practice/poetry-bot\",\"20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\":\"/ai-learning/tools-assistant\",\"20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/11. LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\":\"/ai-learning/llm-api-resources\",\"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/01.ๅฅฝไนฆๆŽจ่\":\"/growth/books\",\"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/10.่ฏปไนฆไธ‰่ฆไธ‰ไธ่ฆ\":\"/pages/growth/reading-tips\",\"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/21.ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\":\"/growth/distinguish-useful-information\",\"31.ๅผ€ๆบๆดžๅฏŸ/00.overview\":\"/repo-insight/overview\",\"31.ๅผ€ๆบๆดžๅฏŸ/01.fetch-event-source ๆบ็ ่งฃ่ฏป\":\"/repo-insight/fetch-event-source\",\"40.ๅ…ณไบŽ/01.ๅ…ณไบŽๆˆ‘\":\"/about/me\",\"40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\":\"/growth/outer-experience\",\"40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\":\"/growth/inner-experience\",\"40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/20.ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹้˜ถๆฎต้š็ฌ”ๆฑ‡ๆ€ป\":\"/growth/weight-loss\",\"@pages/categoriesPage\":\"/categories\",\"@pages/tagsPage\":\"/tags\"},\"inv\":{\"/fullstack/overview\":\"01.ๅ…จๆ ˆ/00.overview\",\"/fullstack/ai-native\":\"01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"/fullstack/ai-engineer-capability\":\"01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/02.้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"/fullstack/ai-change-work-workflow\":\"01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/10.่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"/ai-learning/ai-coding-resources\":\"01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ\",\"/fullstack/react-design-philosophy-ai-augmented\":\"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"/full-stack/css-engineering\":\"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/02.CSSๅทฅ็จ‹ๅŒ–\",\"/fullstack/jamstack\":\"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"/fullstack/server-state-management\":\"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/11.React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"/fullstack/networking-protocol-selection-guide\":\"01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"/fullstack/networking/sse-practice\":\"01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"/fullstack/networking-polling-optimization\":\"01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"/fullstack/occams-razor-software-design\":\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"/fullstack/typescript-compilation-debugging-guide\":\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—\",\"/fullstack/typescript-generic-types\":\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹\",\"/fullstack/module-programming-practice-guide\":\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview\",\"/fullstack/frontend-module-programming-basic\":\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€\",\"/fullstack/different-module-programming-specifications\":\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†\",\"/fullstack/decode-es-modules\":\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"/fullstack/typescript-module-programming-enhancement\":\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"/fullstack/module-programming-principles-best-practices\":\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต\",\"/fullstack/nodejs-module-programming-summary\":\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–\",\"/growth/full-stack-resources\":\"01.ๅ…จๆ ˆ/90.ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่/90.ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"/product-sense\":\"10.ไบงๅ“ Sense/00.ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"/product-sense/perplexity-knowledge-worker\":\"10.ไบงๅ“ Sense/01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž/11.AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"/product-sense/ai-native-composite-talents\":\"10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/20.่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"/product-sense/engineer-build-product-sense\":\"10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/21.ๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense\",\"/product-sense/small-rule-learn\":\"10.ไบงๅ“ Sense/04.ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–/30.ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹่ฏปๅŽๆ„Ÿ\",\"/product-sense/insight-model\":\"10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/40.ๆดžๅฏŸๅŠ›ๆจกๅž‹\",\"/product-sense/using-economics-thinking\":\"10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/50.็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“\",\"/ai-learning/overview\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/00.AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ\",\"/ai-agent/overview\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/01.Agentๆฆ‚่งˆไธŽ็ปผ่ฟฐ\",\"/ai-agent/planning-module\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/02.Agent ่ง„ๅˆ’ๆจกๅ—\",\"/ai-agent/composition-ai-components\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/03.ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผšๅฐ†้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"/ai-agent/skills-practice-summary\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/10.Agent SKills\",\"/ai-agent/deepresearch-agent\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/10.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Deep Research Agent\",\"/ai-practice/claude-agent-sdk-basic-build\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/20.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Agent\",\"/ai-practice/math-bot\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/60.ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹\",\"/ai-practice/poetry-bot\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/70.่ฏ—ๆญŒๅฐ็ฒพ็ต\",\"/ai-learning/tools-assistant\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"/ai-learning/llm-api-resources\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/11. LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"/growth/books\":\"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/01.ๅฅฝไนฆๆŽจ่\",\"/pages/growth/reading-tips\":\"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/10.่ฏปไนฆไธ‰่ฆไธ‰ไธ่ฆ\",\"/growth/distinguish-useful-information\":\"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/21.ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"/repo-insight/overview\":\"31.ๅผ€ๆบๆดžๅฏŸ/00.overview\",\"/repo-insight/fetch-event-source\":\"31.ๅผ€ๆบๆดžๅฏŸ/01.fetch-event-source ๆบ็ ่งฃ่ฏป\",\"/about/me\":\"40.ๅ…ณไบŽ/01.ๅ…ณไบŽๆˆ‘\",\"/growth/outer-experience\":\"40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"/growth/inner-experience\":\"40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"/growth/weight-loss\":\"40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/20.ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹้˜ถๆฎต้š็ฌ”ๆฑ‡ๆ€ป\",\"/categories\":\"@pages/categoriesPage\",\"/tags\":\"@pages/tagsPage\"}},\"docAnalysisInfo\":{\"fileList\":[{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/00.overview.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/00.overview.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/02.้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/02.้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/10.่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/10.่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/02.CSSๅทฅ็จ‹ๅŒ–.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/02.CSSๅทฅ็จ‹ๅŒ–.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/11.React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/11.React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/90.ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่/90.ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/90.ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่/90.ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/10.ไบงๅ“ Sense/00.ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ.md\",\"relativePath\":\"10.ไบงๅ“ Sense/00.ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/10.ไบงๅ“ Sense/01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž/11.AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€….md\",\"relativePath\":\"10.ไบงๅ“ Sense/01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž/11.AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€….md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/20.่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ.md\",\"relativePath\":\"10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/20.่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/21.ๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense.md\",\"relativePath\":\"10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/21.ๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/10.ไบงๅ“ Sense/04.ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–/30.ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹่ฏปๅŽๆ„Ÿ.md\",\"relativePath\":\"10.ไบงๅ“ Sense/04.ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–/30.ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹่ฏปๅŽๆ„Ÿ.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/40.ๆดžๅฏŸๅŠ›ๆจกๅž‹.md\",\"relativePath\":\"10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/40.ๆดžๅฏŸๅŠ›ๆจกๅž‹.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/50.็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“.md\",\"relativePath\":\"10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/50.็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/20.AI ๅญฆไน ไธŽๅฎž่ทต/00.AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ.md\",\"relativePath\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/00.AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/01.Agentๆฆ‚่งˆไธŽ็ปผ่ฟฐ.md\",\"relativePath\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/01.Agentๆฆ‚่งˆไธŽ็ปผ่ฟฐ.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/02.Agent ่ง„ๅˆ’ๆจกๅ—.md\",\"relativePath\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/02.Agent ่ง„ๅˆ’ๆจกๅ—.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/03.ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผšๅฐ†้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต.md\",\"relativePath\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/03.ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผšๅฐ†้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/10.Agent SKills.md\",\"relativePath\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/10.Agent SKills.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/10.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Deep Research Agent.md\",\"relativePath\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/10.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Deep Research Agent.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/20.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Agent.md\",\"relativePath\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/20.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Agent.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/60.ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹.md\",\"relativePath\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/60.ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/70.่ฏ—ๆญŒๅฐ็ฒพ็ต.md\",\"relativePath\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/70.่ฏ—ๆญŒๅฐ็ฒพ็ต.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่.md\",\"relativePath\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/11. LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—.md\",\"relativePath\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/11. LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/01.ๅฅฝไนฆๆŽจ่.md\",\"relativePath\":\"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/01.ๅฅฝไนฆๆŽจ่.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/10.่ฏปไนฆไธ‰่ฆไธ‰ไธ่ฆ.md\",\"relativePath\":\"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/10.่ฏปไนฆไธ‰่ฆไธ‰ไธ่ฆ.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/21.ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ.md\",\"relativePath\":\"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/21.ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/31.ๅผ€ๆบๆดžๅฏŸ/00.overview.md\",\"relativePath\":\"31.ๅผ€ๆบๆดžๅฏŸ/00.overview.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/31.ๅผ€ๆบๆดžๅฏŸ/01.fetch-event-source ๆบ็ ่งฃ่ฏป.md\",\"relativePath\":\"31.ๅผ€ๆบๆดžๅฏŸ/01.fetch-event-source ๆบ็ ่งฃ่ฏป.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/40.ๅ…ณไบŽ/01.ๅ…ณไบŽๆˆ‘.md\",\"relativePath\":\"40.ๅ…ณไบŽ/01.ๅ…ณไบŽๆˆ‘.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘.md\",\"relativePath\":\"40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ.md\",\"relativePath\":\"40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/20.ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹้˜ถๆฎต้š็ฌ”ๆฑ‡ๆ€ป.md\",\"relativePath\":\"40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/20.ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹้˜ถๆฎต้š็ฌ”ๆฑ‡ๆ€ป.md\"}],\"totalFileWords\":177555,\"eachFileWords\":[{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/00.overview.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/00.overview.md\"},\"wordCount\":21,\"readingTime\":\"1m\",\"frontmatter\":{\"date\":{},\"title\":\"ๅ…จๆ™ฏไธ€่งˆ\",\"description\":\"ๆœฌ็ณปๅˆ—ๅ›ด็ป•็Žฐไปฃๅ…จๆ ˆๅผ€ๅ‘็š„่ƒฝๅŠ›ไฝ“็ณปๅฑ•ๅผ€๏ผŒไปŽ AI ๆ—ถไปฃ็š„ๅทฅ็จ‹ๆ€็ปดๅ‡บๅ‘๏ผŒ่ฆ†็›–ๅ‰็ซฏๅทฅ็จ‹๏ผˆReact/Vue/CSS๏ผ‰ใ€ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป๏ผˆTypeScript/JavaScript๏ผ‰ใ€ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่็ญ‰ๆ ธๅฟƒ้ข†ๅŸŸ๏ผŒๅธฎๅŠฉๆž„ๅปบไปŽ\\\"่ฎค็Ÿฅๅฑ‚ โ†’ ๆŠ€ๆœฏ้ข†ๅŸŸ โ†’ ๅทฅ็จ‹่ƒฝๅŠ› โ†’ ๅŸบ็ก€่ฎพๆ–ฝ\\\"็š„ๅฎŒๆ•ดๅ…จๆ ˆ็Ÿฅ่ฏ†ๅ›พ่ฐฑใ€‚\",\"categories\":[\"ๅ…จๆ ˆ\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"permalink\":\"/fullstack/overview\"}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€.md\"},\"wordCount\":2017,\"readingTime\":\"7.2m\",\"frontmatter\":{\"date\":{},\"title\":\"ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจ AI ้‡ๅก‘่ฝฏไปถๅทฅ็จ‹็š„ไปŠๅคฉ๏ผŒๅ…จๆ ˆไธๅ†ๆ˜ฏๆŠ€ๆœฏ็š„็บฟๆ€งๅ ๅŠ ๏ผŒๆญฃๅœจไปŽโ€œๆŠ€ๆœฏๆ ˆๅ †็ Œโ€่ฝฌๅ‘โ€œ่ฎค็Ÿฅๆ ˆ้‡ๆž„โ€ใ€‚ๆœฌๆ–‡ๆๅ‡บ โ€œ(ๅทฅ็จ‹ + ไบงๅ“) ร— AIโ€ ็š„ๆ–ฐๅ…ฌๅผ๏ผŒๅŠฉๅŠ›ๅผ€ๅ‘่€…ๆž„ๅปบโ€œๆดžๅฏŸ-ๆžถๆž„-ๆ ๆ†โ€่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”๏ผŒๅˆฉ็”จ AI ๆ ๆ†่ฎฉ่‡ชๅทฑ่ฟ›ๅŒ–ไธบไปทๅ€ผๅˆ›้€ ่€…ใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"permalink\":\"/fullstack/ai-native\",\"sticky\":1,\"top\":true,\"tags\":[\"ๅ…จๆ ˆ\",\"AI\",\"ไบงๅ“\"],\"categories\":[\"ๅ…จๆ ˆ\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/02.้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/02.้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—.md\"},\"wordCount\":3614,\"readingTime\":\"12.9m\",\"frontmatter\":{\"date\":{},\"title\":\"้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ AI ๆž้€Ÿ้™ไฝŽไปฃ็ ็ผ–ๅ†™้—จๆง›๏ผŒๅ•็บฏ็š„โ€œไธšๅŠกไปฃ็ ็ฟป่ฏ‘ๅ™จโ€่ง’่‰ฒๆญฃๅŠ ้€Ÿ่ดฌๅ€ผใ€‚ๆœฌๆ–‡ไปŽๆŠ€ๆœฏๆผ”่ฟ›ไธŽไบงๅ“ๆ€่€ƒ็š„ไบคๆฑ‡็‚นๅ‡บๅ‘๏ผŒๅฐ† AI ๆ—ถไปฃ็š„ๅผ€ๅ‘่€…่ƒฝๅŠ›ๅ›พ่ฐฑ้‡ๆ–ฐๅˆ’ๅˆ†ไธบไธ‰ๅคงๆ ธๅฟƒๅœˆๅฑ‚๏ผšไบงๅ“ๅบ”็”จๅฑ‚๏ผˆInsight Stack๏ผ‰ใ€Agent ๅผ€ๅ‘ๅฑ‚ไธŽ AI ๅŸบ็ก€่ฎพๆ–ฝๅฑ‚ใ€‚ๆ— ่ฎบไฝ ๆ˜ฏๆทฑ่€•่ง†ๅ›พๅฑ‚ไบคไบ’ใ€็ฒพ้€š Node.js ็ญ‰ๆœๅŠก็ซฏๆžถๆž„็š„ๅผ€ๅ‘่€…๏ผŒ่ฟ˜ๆ˜ฏ่‡ดๅŠ›ไบŽๆŠ€ๆœฏ่ฝๅœฐ็š„ๆŽข็ดข่€…๏ผŒ้ƒฝ่ƒฝๅœจ่ฟ™ไปฝๆผ”่ฟ›ๆŒ‡ๅ—ไธญๆ‰พๅˆฐๆ‰“็ ด่ƒฝๅŠ›่พน็•Œใ€ๅ‘โ€œ่ถ…็บงไธชไฝ“โ€ไธŽโ€œAI ๆ™บ่ƒฝไฝ“ๆŒ‡ๆŒฅๅฎ˜โ€่ทƒ่ฟ็š„็ ดๅฑ€ไน‹้“ใ€‚\",\"permalink\":\"/fullstack/ai-engineer-capability\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"top\":true,\"tags\":[\"ๅ…จๆ ˆ\",\"AI\"],\"categories\":[\"ๅ…จๆ ˆ\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/10.่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/10.่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘.md\"},\"wordCount\":4407,\"readingTime\":\"15.2m\",\"frontmatter\":{\"date\":{},\"title\":\"่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"description\":\"่ฝฏไปถๅทฅ็จ‹ๆญฃ็ปๅކไปŽโ€œๆ‰‹ๅ†™้€ป่พ‘โ€ๅ‘โ€œๆ„ๅ›พ่ฐƒๅบฆโ€็š„่Œƒๅผ่ฟๅพ™ใ€‚Anthropic ็š„็ ”็ฉถๆญ็คบไบ† AI ๅนถ้ž็ฎ€ๅ•็š„ๆๆ•ˆๅทฅๅ…ท๏ผŒ่€Œๆ˜ฏ้€š่ฟ‡้‡Šๆ”พ 27% ๆ›พ็ปโ€œไธๅˆ’็ฎ—โ€็š„ๅทฅ็จ‹ไปปๅŠก๏ผŒ้‡ๅก‘ไบ†่ฝฏไปถ่ดจ้‡็š„ๅฏ†ๅบฆใ€‚ๅœจ่‡ช็„ถ่ฏญ่จ€ๅณ็ผ–็จ‹่ฏญ่จ€็š„ๆ—ถไปฃ๏ผŒๆˆ‘ไปฌ้œ€่ฆ้€š่ฟ‡่ง„ๆ ผ้ฉฑๅŠจ๏ผˆSDD๏ผ‰ไธŽๅคšๆ™บ่ƒฝไฝ“็ผ–ๆŽ’๏ผŒ็ ด่งฃโ€œ็›‘็ฃๆ‚–่ฎบโ€ๅธฆๆฅ็š„ๆŠ€่ƒฝๅนณๅบธๅŒ–ๅฑๆœบ๏ผŒๅฐ† AI ็š„ๆฆ‚็އๆ€ง็”Ÿๆˆ้ฉฏๅŒ–ไธบ็กฎๅฎšๆ€ง็š„ๅทฅ็จ‹ไบคไป˜ใ€‚ๅฝ“็ผ–็ ๆˆๆœฌ่ถ‹ไบŽ้›ถ๏ผŒๅทฅ็จ‹ๅธˆ็š„็ปˆๆžๅฃๅž’ๅฐ†ๆ˜ฏๅฎšไน‰ๅฎŒ็พŽ็š„ๅ“ๅ‘ณ๏ผŒไปฅๅŠๅœจ AI ่ฟท้›พไธญ่ฏ†็ ดๅนณๅบธ็š„ๆดžๅฏŸๅŠ›ใ€‚\",\"permalink\":\"/fullstack/ai-change-work-workflow/\",\"top\":true,\"tags\":[\"ๅ…จๆ ˆ\",\"AI\"],\"categories\":[\"ๅ…จๆ ˆ\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ.md\"},\"wordCount\":3472,\"readingTime\":\"13.3m\",\"frontmatter\":{\"date\":{},\"title\":\"AI ็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡ๆทฑๅบฆ่งฃๆžไบ† AI ้ฉฑๅŠจ็ผ–็จ‹็š„ไธ‰ๅคงๆผ”่ฟ›่Œƒๅผ๏ผšVibe Coding๏ผˆ่‡ช็„ถ่ฏญ่จ€้›ถ้—จๆง›ๆž„ๅปบ๏ผ‰ใ€AI IDE๏ผˆ็ผ–่พ‘ๅ™จๆทฑๅบฆ่พ…ๅŠฉๆๆ•ˆ๏ผ‰ๅŠ Agentic Engineering๏ผˆ่‡ชไธปๅทฅ็จ‹ๅธˆๆ‰ง่กŒไปปๅŠก๏ผ‰ใ€‚้€š่ฟ‡ๆจชๅ‘ๅฏนๆฏ” Bolt.newใ€Cursorใ€Claude Code ็ญ‰ๅ‰ๆฒฟๅทฅๅ…ท๏ผŒๆ–‡็ซ ๅ‹พๅ‹’ๅ‡บไธ€ๆกไปŽโ€œๅฟซ้€ŸๅŽŸๅž‹โ€ๅˆฐโ€œ้ซ˜ๆ•ˆๅๅŒโ€ๅ†ๅˆฐโ€œ่‡ชไธปไบคไป˜โ€็š„่ฟ›้˜ถ่ทฏๅพ„ใ€‚ๆ ธๅฟƒๆ—จๅœจๆŒ‡ๅฏผ็”จๆˆทๅˆฉ็”จ AI ๅทฅๅ…ท็Ÿฉ้˜ตๆ‰“็ ดๆŠ€ๆœฏ่พน็•Œ๏ผŒๅฎž็ŽฐไปŽๅˆ›ๆ„ๆ่ฟฐๅˆฐๅทฅไธš็บงไบคไป˜็š„็”ŸไบงๅŠ›้ฃž่ทƒ๏ผŒ้‡ๅก‘่ฝฏไปถๅผ€ๅ‘ๅ…จ็”Ÿๅ‘ฝๅ‘จๆœŸใ€‚\",\"permalink\":\"/ai-learning/ai-coding-resources\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/source_sites_bg.png\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"AI Coding\",\"Vibe Coding\",\"Agentic Engineering\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—.md\"},\"wordCount\":5038,\"readingTime\":\"17.6m\",\"frontmatter\":{\"date\":{},\"title\":\"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ๅฝ“ AI ๆ‰ฟๆŽฅไบ† 30% ็š„็ผ–็ ๆ‰ง่กŒๆ—ถ๏ผŒๅผ€ๅ‘่€…้œ€้€š่ฟ‡โ€œ่ง„ๆ ผ้ฉฑๅŠจ๏ผˆSDD๏ผ‰โ€้‡ๅคบ 70% ็š„่ฎพ่ฎกไธปๆƒ๏ผšไปŽ่‡ชๆฒป็ป„ไปถๅˆ’ๅˆ†ๅˆฐๅ•ๅ‘ๆ•ฐๆฎๆตๆ‹“ๆ‰‘็š„ๆทฑๅบฆๆŽจๆผ”ใ€‚\",\"description\":\"ๆœฌๆ–‡ๆŽข่ฎจๅœจ AI ๅขžๅผบๅผ€ๅ‘่ƒŒๆ™ฏไธ‹๏ผŒๅฆ‚ไฝ•้‡ๅก‘ React ็ป„ไปถ่ฎพ่ฎกๅŽŸๅˆ™ใ€‚ๆถต็›– SRP ่Œ่ดฃๅˆ’ๅˆ†ใ€้™ๆ€็‰ˆๆœฌๅŸบ็บฟใ€ๆœ€ๅฐ็Šถๆ€๏ผˆDerived Data๏ผ‰ๆŽจๅฏผไปฅๅŠ SDD ไบบๆœบๅไฝœๆจกๅผ็š„ๅทฅ็จ‹่ฝๅœฐใ€‚\",\"tags\":[\"tutorial\",\"react\",\"component-design\",\"state-management\",\"ai-augmented\",\"specification-driven\"],\"permalink\":\"/fullstack/react-design-philosophy-ai-augmented\",\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/02.CSSๅทฅ็จ‹ๅŒ–.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/02.CSSๅทฅ็จ‹ๅŒ–.md\"},\"wordCount\":9015,\"readingTime\":\"34.1m\",\"frontmatter\":{\"date\":{},\"title\":\"ไปŽๅŽŸๅญๅŒ–ๅˆฐๅ˜ไฝ“้ฉฑๅŠจ๏ผš็Žฐไปฃ CSS ๅทฅ็จ‹ๅŒ–็š„ๆžถๆž„ๆผ”่ฟ›ไธŽๆททๅˆๅฎž่ทตๆŒ‡ๅ—\",\"description\":\"ๆœฌๆ–‡็ณป็ปŸๅ‰–ๆžไธปๆต CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆ็š„ๅบ•ๅฑ‚้€ป่พ‘๏ผŒๆๅ‡บโ€œๆ ทๅผ่ต„ไบง ROIโ€่ฏ„ไผฐๆจกๅž‹๏ผŒๅนถ้’ˆๅฏน Vue/React ็”Ÿๆ€็ป™ๅ‡บไบ†้ขๅ‘ AI ๆ—ถไปฃ็š„ไผไธš็บงๆททๅˆๆžถๆž„้€‰ๅž‹ๅปบ่ฎฎใ€‚\",\"permalink\":\"/full-stack/css-engineering\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"top\":true,\"categories\":[\"ๅ…จๆ ˆ\"],\"tags\":[\"ๅ…จๆ ˆ\",\"CSS\",\"ๅทฅ็จ‹ๅŒ–\",\"tailwindcss\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—.md\"},\"wordCount\":3628,\"readingTime\":\"15m\",\"frontmatter\":{\"date\":{},\"title\":\"JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"aliases\":[\"้™ๆ€็ซ™็‚น็”Ÿๆˆๅ™จ\",\"SSG\"],\"tldr\":\"้ข„ๆธฒๆŸ“้™ๆ€้กต้ข + ๅŠจๆ€ API๏ผŒCDN ๅˆ†ๅ‘ๅ…จ็ƒ๏ผŒๆ›ฟไปฃไผ ็ปŸๅŠจๆ€็ฝ‘็ซ™็š„ๅผ€ๅ‘้ƒจ็ฝฒ่Œƒๅผ\",\"description\":\"ไปŽๆ ธๅฟƒๆฆ‚ๅฟตใ€ๅทฅๅ…ท้“พ้€‰ๅž‹๏ผˆNext.js/Vercel/Supabase/Contentful๏ผ‰ๅˆฐไปŽ 0 ๆญๅปบๅšๅฎข็š„ๅฎŒๆ•ดๅฎž่ทต๏ผŒ่ฆ†็›– JAMStack ้€‚็”จไธŽไธ้€‚็”จๅœบๆ™ฏ๏ผŒๅธฎๅŠฉๅˆคๆ–ญไฝ•ๆ—ถ้€‰็”จ่ฏฅๆžถๆž„ใ€‚\",\"permalink\":\"/fullstack/jamstack\",\"tags\":[\"tutorial\",\"jamstack\",\"frontend-architecture\",\"next.js\",\"static-site-generator\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/11.React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/11.React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ.md\"},\"wordCount\":4949,\"readingTime\":\"19.2m\",\"frontmatter\":{\"date\":{},\"title\":\"ไธๆญขไบŽ Fetch๏ผšReact ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"aliases\":[\"SWR\",\"TanStack Query\",\"React\",\"ๆœๅŠก็ซฏ็Šถๆ€\",\"ไน่ง‚ๆ›ดๆ–ฐ\",\"ๅทฅ็จ‹ๅŒ–\"],\"tldr\":\"ๆทฑๅ…ฅ่งฃๆž SWR ็š„ๆž็ฎ€ๅ่ฎฎไธŽ TanStack Query ็š„็ฒพๅฏ†็Šถๆ€ๆœบใ€‚้€š่ฟ‡ๅฏนๆฏ”็ผ“ๅญ˜ๅคฑๆ•ˆใ€ไน่ง‚ๆ›ดๆ–ฐ็ญ‰ๆ ธๅฟƒๅœบๆ™ฏ๏ผŒไธบ้ซ˜ๅคๆ‚ๅบฆ B ็ซฏๅบ”็”จไธŽ่ฝป้‡็บง้กน็›ฎๆไพ›ๆธ…ๆ™ฐ็š„ๆžถๆž„้€‰ๅž‹ๆจกๅž‹ใ€‚\",\"description\":\"ๆทฑๅบฆๅฏนๆฏ” React ็”Ÿๆ€ไธญ SWR ไธŽ TanStack Query ไธคๅคงๆ–นๆกˆใ€‚ไปŽ stale-while-revalidate ๆœบๅˆถๅˆฐๅผ‚ๆญฅ็Šถๆ€ๆœบๆžถๆž„๏ผŒๆถต็›–ไพ่ต–ๆŸฅ่ฏขใ€ๆ•ฐๆฎ่ฝฌๆขๅŠๆžถๆž„็บงไน่ง‚ๆ›ดๆ–ฐๅฎžๆˆ˜ใ€‚ๆ—จๅœจๅธฎๅŠฉๅผ€ๅ‘่€…ๅœจๅคๆ‚ไธšๅŠกไธญๆž„ๅปบ็กฎๅฎšๆ€ง็š„ๆœๅŠก็ซฏ็Šถๆ€ๅŸบๅบงใ€‚\",\"permalink\":\"/fullstack/server-state-management\",\"tags\":[\"SWR\",\"TanStack Query\",\"ๅ‰็ซฏๅทฅ็จ‹\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—.md\"},\"wordCount\":6770,\"readingTime\":\"23.9m\",\"frontmatter\":{\"date\":{},\"title\":\"Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"tldr\":\"ๆทฑๅ…ฅๅˆ†ๆžไบ”็ง Web ้€šไฟกๅ่ฎฎ๏ผŒๆไพ› AI ๆ—ถไปฃ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—ไธŽๆœ€ไฝณๅฎž่ทตใ€‚\",\"description\":\"ๆทฑๅ…ฅๅ‰–ๆžไผ ็ปŸ HTTPใ€ๆตๅผ HTTPใ€SSEใ€WebSocketใ€Webhooksใ€HTTP ่ฝฎ่ฏข็š„ๅŽŸ็†ไธŽ็‰นๆ€ง๏ผŒ็ป“ๅˆ AI ๅœบๆ™ฏๆไพ›ๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–็Ÿฉ้˜ตใ€‚\",\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"tags\":[\"HTTP\",\"HTTP ่ฝฎ่ฏข\",\"SSE\",\"WebSocket\",\"Webhooks\"],\"permalink\":\"/fullstack/networking-protocol-selection-guide\"}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต.md\"},\"wordCount\":6634,\"readingTime\":\"26.8m\",\"frontmatter\":{\"date\":{},\"title\":\"ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"aliases\":[\"Server-Sent Events\",\"HTTP Streaming\"],\"tldr\":\"ๆทฑๅ…ฅ่งฃๆžๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผŒๆไพ›ไปŽๆฆ‚ๅฟตๅˆฐ็”Ÿไบงๅฎž่ทต็š„ๅฎŒๆ•ด่งฃๅ†ณๆ–นๆกˆใ€‚\",\"description\":\"่พจๆžๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ็š„ๆฆ‚ๅฟตไธŽๅฑ‚ๆฌกๅ…ณ็ณป๏ผŒ่ฏฆ่งฃๅฎขๆˆท็ซฏไธŽๆœๅŠก็ซฏๅฎž็Žฐๆ–นๆกˆ๏ผŒๆไพ›็”Ÿไบงๅฎž่ทตๅฎŒๆ•ดๆŒ‡ๅ—ใ€‚\",\"tags\":[\"tutorial\",\"SSE\",\"HTTP Streaming\",\"ๅ…จๆ ˆ\"],\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"permalink\":\"/fullstack/networking/sse-practice\"}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–.md\"},\"wordCount\":3295,\"readingTime\":\"12.1m\",\"frontmatter\":{\"date\":{},\"title\":\"HTTP ่ฝฎ่ฏขไผ˜ๅŒ–ๆŒ‡ๅ—๏ผš้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"tldr\":\"่ฏฆ่งฃ้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅฎž็ŽฐๅŽŸ็†๏ผŒๆไพ› HTTP ่ฝฎ่ฏขไผ˜ๅŒ–็ญ–็•ฅไธŽ้€‰ๅž‹ๅ†ณ็ญ–ๆ ‘ใ€‚\",\"description\":\"ๆทฑๅ…ฅๅ‰–ๆž้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๆ ธๅฟƒๆœบๅˆถ๏ผŒๆไพ› TypeScript/NestJS ๅฎžๆˆ˜ไปฃ็ ๏ผŒๅนถๆž„ๅปบๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–ๆ ‘ไธŽ้€‚็”จๅœบๆ™ฏ้€ŸๆŸฅใ€‚\",\"tags\":[\"HTTP ่ฝฎ่ฏข\",\"้€€้ฟ่ฝฎ่ฏข\",\"้•ฟ่ฝฎ่ฏข\"],\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"permalink\":\"/fullstack/networking-polling-optimization\"}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—.md\"},\"wordCount\":3233,\"readingTime\":\"11.6m\",\"frontmatter\":{\"date\":{},\"title\":\"ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ๅœจ้œ€ๆฑ‚่พน็•Œๅ†…่ฟฝๆฑ‚ๆœ€ๅฐๅคๆ‚ๅบฆโ€”โ€”ไธๆ˜ฏๆ‹’็ปๅคๆ‚๏ผŒ่€Œๆ˜ฏไธไธปๅŠจๅˆถ้€ ๅคๆ‚ใ€‚\",\"description\":\"ๆทฑๅ…ฅ่งฃๆžๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™ๅœจ็ผ–็จ‹ไธŽ่ฎพ่ฎกไธญ็š„ๅ…ญๅคงๅœบๆ™ฏ๏ผšๆ‹’็ป่ฟ‡ๅบฆ้ข„ๅˆคใ€็งป้™คๅ†—ไฝ™้€ป่พ‘ใ€ๅŒน้…ๆžถๆž„่ง„ๆจกใ€ๅ…‹ๅˆถไพ่ต–ๅผ•ๅ…ฅใ€ๅฐ่ฃ…ๆœ€ๅฐๆŽฅๅฃใ€ๅ…ˆๆŽ’ๆŸฅ็ฎ€ๅ•ๅŽŸๅ› ๏ผŒๅนถ็ป™ๅ‡บไธ‰ไธชๅ…ณ้”ฎ่พน็•Œใ€‚\",\"permalink\":\"/fullstack/occams-razor-software-design\",\"tags\":[\"concept\",\"engineering-fundamentals\",\"code-design\",\"software-engineering\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—.md\"},\"wordCount\":5040,\"readingTime\":\"20m\",\"frontmatter\":{\"date\":{},\"title\":\"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—\",\"tldr\":\"TypeScript ๅฎŒๅ–„็š„็ผ–่ฏ‘ไฝ“็ณปไธŽ่ฐƒ่ฏ•ๅทฅๅ…ท้“พ๏ผŒๆ˜ฏๆž„ๅปบ้ซ˜่ดจ้‡ๅบ”็”จ็š„ๅŸบ็Ÿณใ€‚\",\"description\":\"ๆทฑๅ…ฅ่งฃๆž TypeScript ็ผ–่ฏ‘ๅทฅๅ…ท้“พไธŽ่ฐƒ่ฏ•ไฝ“็ณป๏ผŒๆถต็›– tsconfig.json ๆ ธๅฟƒ้…็ฝฎใ€Monorepo ้กน็›ฎ้…็ฝฎ๏ผˆextends/references๏ผ‰ใ€source map ่ฐƒ่ฏ•ใ€ESLint ไธŽ Jest ๅ•ๅ…ƒๆต‹่ฏ•็ญ‰ๅฎŒๆ•ดๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/typescript-compilation-debugging-guide\",\"tags\":[\"tutorial\",\"typescript\",\"compilation\",\"tooling\",\"eslint\",\"jest\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹.md\"},\"wordCount\":5614,\"readingTime\":\"21.5m\",\"frontmatter\":{\"date\":{},\"title\":\"่Šไธ€่Š TypeScript ไธญ็š„ๆณ›ๅž‹\",\"tldr\":\"ๆณ›ๅž‹ๅฐ†็ฑปๅž‹ไฝœไธบๅ‚ๆ•ฐ๏ผŒไฝฟไปฃ็ ๅœจๅคš็ง็ฑปๅž‹ไธŠๅฎ‰ๅ…จ่ฟ่กŒ๏ผŒๆ˜ฏ TypeScript ็ฑปๅž‹ๆŠฝ่ฑก็š„ๆ ธๅฟƒ็‰นๆ€งใ€‚\",\"description\":\"ๆœฌๆ–‡็ณป็ปŸ่งฃๆž TypeScript ๆณ›ๅž‹็š„ๆ ธๅฟƒๆฆ‚ๅฟตไธŽๅทฅไฝœๆœบๅˆถ๏ผŒๅฏนๆฏ”ๆณ›ๅž‹ไธŽ any ็ฑปๅž‹็š„ๅทฎๅผ‚๏ผŒๆถต็›–ๆณ›ๅž‹ๅ‡ฝๆ•ฐใ€ๆŽฅๅฃใ€็ฑปใ€็ฑปๅž‹ๅˆซๅ็š„ๅฎž่ทต็”จๆณ•๏ผŒไปฅๅŠๅŸบๆœฌ็ฑปๅž‹็บฆๆŸใ€ๆŽฅๅฃ็บฆๆŸใ€ๅคš้‡็บฆๆŸใ€keyof ็บฆๆŸ็ญ‰้ซ˜้˜ถๆŠ€ๅทงไธŽๆœ€ไฝณๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/typescript-generic-types\",\"tags\":[\"tutorial\",\"typescript\",\"generics\",\"type-system\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview.md\"},\"wordCount\":7414,\"readingTime\":\"30.9m\",\"frontmatter\":{\"date\":{},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ไปŽ ES Modules ๅˆฐๅคงๅž‹้กน็›ฎๅˆ†ๅฑ‚ๆžถๆž„ไธŽๅทฅ็จ‹ๅŒ–ๅฎž่ทต๏ผŒๆž„ๅปบๅ…จๆ ˆๆจกๅ—ๅŒ–็Ÿฅ่ฏ†ไฝ“็ณปใ€‚\",\"description\":\"็ณป็ปŸๆขณ็† JavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›๏ผˆIIFEโ†’CJSโ†’ESM๏ผ‰ใ€TypeScript ็ฑปๅž‹ๅขžๅผบใ€ๅˆ†ๅฑ‚ๆžถๆž„ไธŽ DDD ๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/module-programming-practice-guide\",\"tags\":[\"tutorial\",\"ESM\",\"DDD\",\"ๅพฎๅ‰็ซฏ\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€.md\"},\"wordCount\":2099,\"readingTime\":\"7.8m\",\"frontmatter\":{\"date\":{},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ๏ผšๆฆ‚ๅฟตใ€ๆผ”่ฟ›ไธŽ่ฎพ่ฎกๆจกๅผ\",\"tldr\":\"ไปŽๅ…จๅฑ€ๅ˜้‡ๅˆฐ ES Modules๏ผšJavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›ไธŽๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผๅฎž่ทตใ€‚\",\"description\":\"็ณป็ปŸ่ฎฒ่งฃ JavaScript ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€๏ผŒๆถต็›– IIFEใ€CommonJSใ€ES Modules ่ง„่Œƒๆผ”่ฟ›๏ผŒไปฅๅŠๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผไธŽๆจกๅ—ๅŒ–็š„็ป“ๅˆใ€‚\",\"permalink\":\"/fullstack/frontend-module-programming-basic\",\"tags\":[\"tutorial\",\"javascript\",\"modularization\",\"esm\",\"design-patterns\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†.md\"},\"wordCount\":1889,\"readingTime\":\"7.2m\",\"frontmatter\":{\"date\":{},\"title\":\"JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\",\"tldr\":\"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ็ญ‰ๆ ธๅฟƒ่ง„่Œƒ๏ผŒ้™„็Žฐไปฃ่ฟ็งป็ญ–็•ฅใ€‚\",\"description\":\"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ๅ››ๅคงๆจกๅ—ๅŒ–่ง„่Œƒ็š„ๆ ธๅฟƒ่ฏญๆณ•ไธŽ้€‚็”จๅœบๆ™ฏ๏ผŒ่งฃๆžๅ„่ง„่Œƒ็š„ๅ…ณ้”ฎๅทฎๅผ‚๏ผŒๅนถๆไพ›ไปŽๆ—ง่ง„่Œƒๅ‘ ESM ่ฟ็งป็š„ๅฎžๆ“็ญ–็•ฅใ€‚\",\"permalink\":\"/fullstack/different-module-programming-specifications\",\"tags\":[\"tutorial\",\"CommonJS\",\"AMD\",\"UMD\",\"ESM\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž.md\"},\"wordCount\":1767,\"readingTime\":\"7.5m\",\"frontmatter\":{\"date\":{},\"title\":\"ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒๆ‹ฅๆŠฑๅŽŸ็”Ÿ๏ผšES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"tldr\":\"ES Modules ๆ ธๅฟƒ่ฏญๆณ•ไธŽๆ‰ง่กŒๆจกๅž‹๏ผš้™ๆ€ๅˆ†ๆžๅฆ‚ไฝ•้‡ๅก‘ๅ‰็ซฏๆž„ๅปบๆ•ˆ็އใ€‚\",\"description\":\"ๆทฑๅบฆ่งฃๆž ES Modules ๅ‘ฝๅๅฏผๅ‡บ/ๅฏผๅ…ฅใ€้ป˜่ฎคๅฏผๅ‡บใ€ๅŠจๆ€ๅฏผๅ…ฅ็ญ‰่ฏญๆณ•๏ผŒไปฅๅŠๆจกๅ—ๆ‰ง่กŒ้กบๅบใ€ๅพช็Žฏไพ่ต–ๅค„็†ไธŽ็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ๆœบๅˆถใ€‚\",\"permalink\":\"/fullstack/decode-es-modules\",\"tags\":[\"concept\",\"ESM\",\"static-analysis\",\"Tree-Shaking\",\"circular-dependency\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ.md\"},\"wordCount\":1576,\"readingTime\":\"6.1m\",\"frontmatter\":{\"date\":{},\"title\":\"ไปŽ้€ป่พ‘้š”็ฆปๅˆฐ็ฑปๅž‹ๅฅ‘็บฆ๏ผšTypeScript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"tldr\":\"TypeScript ๅฐ†ๆจกๅ—ไพ่ต–ๆๅ‡ไธบ็ผ–่ฏ‘ๆ—ถ็ฑปๅž‹ๅฅ‘็บฆ๏ผŒไปŽ import type ๅˆฐๅฃฐๆ˜Žๆ–‡ไปถใ€‚\",\"description\":\"็ณป็ปŸ่ฎฒ่งฃ TypeScript ๅฏน ES Modules ็š„็ฑปๅž‹ๅขžๅผบ๏ผŒๆถต็›– import type ่ฟ่กŒๆ—ถไผ˜ๅŒ–ใ€ๆŽฅๅฃๅฅ‘็บฆใ€ๅฃฐๆ˜Žๆ–‡ไปถ .d.ts ๅŠ tsconfig ๆจกๅ—ๅŒ–้…็ฝฎใ€‚\",\"permalink\":\"/fullstack/typescript-module-programming-enhancement\",\"tags\":[\"concept\",\"ๅ…จๆ ˆ\",\"typescript\",\"tsconfig\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต.md\"},\"wordCount\":1303,\"readingTime\":\"4.9m\",\"frontmatter\":{\"date\":{},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ๆขณ็†ไธŽๆ€ป็ป“\",\"tldr\":\"ๆŽŒๆก้ซ˜ๅ†…่šไฝŽ่€ฆๅˆๅŽŸๅˆ™๏ผšๆจกๅ—ๅŒ–็ผ–็จ‹็š„่ฎพ่ฎกๅ‡†ๅˆ™ไธŽ็ฒ’ๅบฆๆŽงๅˆถใ€‚\",\"description\":\"็ณป็ปŸๆขณ็†ๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅ…ญๅคงๆ ธๅฟƒๅŽŸๅˆ™๏ผšๅ•ไธ€่Œ่ดฃใ€้ซ˜ๅ†…่šไฝŽ่€ฆๅˆใ€็ฒ’ๅบฆ่ฎพ่ฎกใ€ๅ‘ฝๅ่ง„่ŒƒๅŠๆจกๅ—็‰ˆๆœฌ็ฎก็†๏ผŒ้™„่ฏฆ็ป†็š„ๅทฅ็จ‹ๅฎž่ทตๅปบ่ฎฎไธŽ้ฟๅ‘ๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/fullstack/module-programming-principles-best-practices\",\"abstract\":\"ๅฆ‚ๆžœ่ฏดๆŽŒๆกๆจกๅ—ๅŒ–่ฏญๆณ•ๆ˜ฏๆœฏ๏ผŒ้‚ฃไนˆ็†่งฃๅ…ถ่ƒŒๅŽ็š„่ฎพ่ฎกๅŽŸๅˆ™ๅฐฑๆ˜ฏ้“ใ€‚ๅ•ไธ€่Œ่ดฃๅŽŸๅˆ™ๅผบ่ฐƒๆจกๅ—ๅชๅบ”ๆœ‰ไธ€ไธช่ขซๆ”นๅ˜็š„ๅŽŸๅ› ๏ผŒ้ฟๅ… God Object ๅๆจกๅผใ€‚้ซ˜ๅ†…่šไฝŽ่€ฆๅˆๆ˜ฏ่กก้‡ๆจกๅ—่ดจ้‡็š„็ปˆๆžๆ ‡ๅ‡†โ€”โ€”ๆจกๅ—ๅ†…้ƒจๅ…ƒ็ด ่”็ณป็ดงๅฏ†๏ผŒๆจกๅ—ไน‹้—ดไพ่ต–ๅ…ณ็ณปๅฐฝๅฏ่ƒฝ็ฎ€ๅ•ใ€‚็ฒ’ๅบฆ่ฎพ่ฎก่ฆๆฑ‚ๅ•ไธชๆจกๅ—ไฟๆŒๅœจ 100-500 ่กŒไน‹้—ด๏ผŒๅŠŸ่ƒฝ่ƒฝ็”จไธ€ๅฅ่ฏๆธ…ๆ™ฐๆ่ฟฐ๏ผŒๅ‡บ็Žฐๅคšๅˆ†ๆ”ฏๅคๆ‚้€ป่พ‘ๆ—ถ้€šๅธธๆ˜ฏๆ‹†ๅˆ†ไฟกๅทใ€‚ๅ‘ฝๅ่ง„่Œƒ็ปŸไธ€ๅ›ข้˜ŸๆฒŸ้€š่ฏญๅขƒ๏ผˆkebab-case ๆ–‡ไปถๅใ€camelCase ๆ–นๆณ•ๅใ€PascalCase ็ฑปๅ๏ผ‰ใ€‚ๆจกๅ—็‰ˆๆœฌ็ฎก็†้ตๅพช SemVer ่ฏญไน‰ๅŒ–็‰ˆๆœฌ๏ผŒไธบๅ…ฌๅ…ฑๆจกๅ—็š„็ปดๆŠค่€…ไธŽไฝฟ็”จ่€…ๅปบ็ซ‹ๅฅ‘็บฆใ€‚ๅผบ่ฐƒๆธ…ๆ™ฐ็š„ๆจกๅ—่พน็•Œๆ˜ฏ AI ่พ…ๅŠฉ็ผ–็จ‹ๆ—ถไปฃ AI ๅ‡†็กฎ็†่งฃไปฃ็ ็š„ๅ‰ๆใ€‚\",\"tags\":[\"concept\",\"solid-principles\",\"code-organization\",\"best-practices\",\"naming-conventions\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–.md\"},\"wordCount\":1240,\"readingTime\":\"4.7m\",\"frontmatter\":{\"date\":{},\"title\":\"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“\",\"tldr\":\"Node.js CJS ไธŽ ESM ๅŒๆจกๅ…ฑๅญ˜๏ผšๆจกๅ—ๅŠ ่ฝฝๆœบๅˆถไธŽๅˆ†ๅฑ‚ๆžถๆž„ๅฎž่ทตใ€‚\",\"description\":\"่งฃๆž Node.js ไธญ CommonJS ไธŽ ES Modules ็š„ๅŒๆจกๅ…ฑๅญ˜็ญ–็•ฅ๏ผŒๆถต็›–ๆจกๅ—ๅŠ ่ฝฝไผ˜ๅ…ˆ็บงใ€็ผ“ๅญ˜ๆœบๅˆถใ€package.json exports ๆกไปถๅฏผๅ‡บๅŠ Monorepo ๆžถๆž„ๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/nodejs-module-programming-summary\",\"abstract\":\"Node.js ๆจกๅ—ๅŒ–็ปๅކไบ†ไปŽ CommonJS ็‹ฌ้œธๅคฉไธ‹ๅˆฐ ES Modules ๅ…จ้ขๆŽฅๅ…ฅ็š„่Œƒๅผ่ฝฌ็งปใ€‚ๅ…ฑๅญ˜็ญ–็•ฅ้€š่ฟ‡ .mjs/.cjs ๅŽ็ผ€ๅ’Œ package.json type ๅญ—ๆฎตๆŽงๅˆถไธค็ง่ง„่Œƒ็š„่พน็•Œ๏ผ›ESM ๅฏ็›ดๆŽฅ import CJS๏ผˆ่‡ชๅŠจๅŒ…่ฃ…ไธบ้ป˜่ฎคๅฏผๅ‡บ๏ผ‰๏ผŒไฝ† CJS ๆ— ๆณ• require ESM ๅฟ…้กปไฝฟ็”จๅŠจๆ€ importใ€‚ๆจกๅ—ๅŠ ่ฝฝ้ตๅพชๆ ธๅฟƒๆจกๅ—ไผ˜ๅ…ˆใ€ๆ–‡ไปถๆจกๅ—ใ€็›ฎๅฝ•ๆจกๅ—๏ผˆindex.js/package.json๏ผ‰ใ€node_modules ้€็บงๆŸฅๆ‰พ็š„ไผ˜ๅ…ˆ็บง๏ผ›require.cache ๅฎž็Žฐๆจกๅ—็ผ“ๅญ˜๏ผŒๆธ…้™ค็ผ“ๅญ˜๏ผˆdelete require.cache[path]๏ผ‰ๆ˜ฏ็ƒญๆ›ดๆ–ฐๅทฅๅ…ท็š„ๆ ธๅฟƒๆ“ไฝœใ€‚package.json exports ๅญ—ๆฎตๆ”ฏๆŒๆกไปถๅฏผๅ‡บ๏ผˆimport/require ่ฟ”ๅ›žไธๅŒๅ…ฅๅฃ๏ผ‰ใ€‚pnpm workspaces ๅ‡ญๅ€Ÿ็กฌ้“พๆŽฅๆœบๅˆถๆˆไธบ็Žฐไปฃ Monorepo ้ฆ–้€‰ใ€‚ๅŽ็ซฏๅˆ†ๅฑ‚ๆžถๆž„๏ผˆAPI/Service/Repository๏ผ‰ๅฎž็Žฐๅ…ณๆณจ็‚นๅˆ†็ฆป๏ผŒๆขๆ•ฐๆฎๅบ“ๅช้œ€ๆ”น Repository ๅฑ‚ใ€‚\",\"tags\":[\"concept\",\"node.js\",\"commonjs\",\"esm\",\"monorepo\",\"layered-architecture\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/90.ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่/90.ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/90.ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่/90.ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่.md\"},\"wordCount\":7425,\"readingTime\":\"30.1m\",\"frontmatter\":{\"date\":{},\"title\":\"ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡็ณป็ปŸๆขณ็†ไบ†็Žฐไปฃๅ…จๆ ˆๅผ€ๅ‘็š„ๅฎŒๆ•ดๆŠ€ๆœฏๅ›พ่ฐฑไธŽๆผ”่ฟ›่Œƒๅผ๏ผŒไธบๅผ€ๅ‘่€…ๆไพ›ไบ†ไธ€็ซ™ๅผ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—ใ€‚ๆ–‡็ซ ไปŽๅŸบ็Ÿณๅ‡บๅ‘๏ผŒ่ฆ†็›– Web ๆ ธๅฟƒ่ฏญ่จ€๏ผˆJS/TS๏ผ‰ ไธŽ ไธปๆต UI ๆก†ๆžถ๏ผˆReact/Vue/Svelte๏ผ‰๏ผŒๅนถๆŽจ่ไปฅ Tailwind CSS ๅ’Œ shadcn/ui ไธบไปฃ่กจ็š„็Žฐไปฃๆ ทๅผไธŽ็ป„ไปถๅŽŸ่ฏญใ€‚ๅœจๆ ธๅฟƒไธšๅŠก้€ป่พ‘ๅฑ‚๏ผŒๆทฑๅบฆๅฏนๆฏ”ไบ†่ฝป้‡ๅŒ–็Šถๆ€็ฎก็†ๆ–นๆกˆ๏ผˆ้ฆ–ๆŽจ Zustand/Jotai๏ผ‰๏ผŒๅนถ้‡็‚น่งฃๆžไบ†ๆ•ฐๆฎไบคไบ’็š„ไธ‰ๅคง็Žฐไปฃๆžถๆž„่Œƒๅผ๏ผšไปŽๅŸบ็ก€ Axios ๅˆฐ React Query ็Šถๆ€่ฐƒๅบฆ๏ผŒๅ†ๅˆฐ tRPC ๅ’Œ GraphQL ๅธฆๆฅ็š„ๅ…จๆ ˆ็ฑปๅž‹ๅฎ‰ๅ…จไธŽๅคš็ซฏ่šๅˆใ€‚ๅœจๅทฅ็จ‹ๅŒ–ไธŽๆœๅŠก็ซฏๆจกๅ—๏ผŒๆ–‡็ซ ๅ…จ้ขๆ‹ฅๆŠฑ Viteใ€Rsbuild ็ญ‰ๆž้€Ÿๆž„ๅปบๅทฅๅ…ท๏ผŒๅนถๅ‰–ๆžไบ† Next.js/Nuxt ๅŒๆž„ๅ…ƒๆก†ๆžถไธŽ NestJS ไผไธš็บง Node ๆœๅŠก็š„ๆœ€ไฝณ้€‚็”จๅœบๆ™ฏใ€‚ๆœ€ๅŽ๏ผŒ่พ…ไปฅ Vercel ็ญ‰็Žฐไปฃ่พน็ผ˜้ƒจ็ฝฒๅนณๅฐๅŠไธฐๅฏŒ็š„ๅผ€ๆบ็คพๅŒบๅญฆไน ่ต„ๆบใ€‚\",\"permalink\":\"/growth/full-stack-resources\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"ๅ…จๆ ˆ\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/10.ไบงๅ“ Sense/00.ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ.md\",\"relativePath\":\"10.ไบงๅ“ Sense/00.ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ.md\"},\"wordCount\":429,\"readingTime\":\"1.5m\",\"frontmatter\":{\"date\":{},\"title\":\"ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"description\":\"ไบงๅ“ Sense ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ๏ผŒๆถต็›– AI ไบงๅ“่ง‚ๅฏŸใ€ๅคๅˆๅž‹ไบบๆ‰ๆˆ้•ฟใ€ๅ•†ไธšๅŒ–ๆ€่€ƒๅŠๆ–นๆณ•่ฎบๆ€ป็ป“็ญ‰ใ€‚\",\"categories\":[\"ไบงๅ“ Sense\",\"AI\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense\"}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/10.ไบงๅ“ Sense/01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž/11.AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€….md\",\"relativePath\":\"10.ไบงๅ“ Sense/01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž/11.AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€….md\"},\"wordCount\":1833,\"readingTime\":\"6.3m\",\"frontmatter\":{\"date\":{},\"title\":\"AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจๅคงๆจกๅž‹้‡ๅก‘ไบ’่”็ฝ‘ไบคไบ’็š„ๅฝ“ไธ‹๏ผŒPerplexity ๅนถๆœช้€‰ๆ‹ฉๆˆไธบโ€œไธ‹ไธ€ไธช Googleโ€๏ผŒ่€Œๆ˜ฏไปฅโ€œ็Ÿฅ่ฏ†ๅ‘็Žฐๅผ•ๆ“Žโ€็š„ๅ…จๆ–ฐๅฎšไฝ๏ผŒ็ฒพๅ‡†ๅˆ‡ๅ…ฅ็Ÿฅ่ฏ†ๅทฅไฝœ่€…็š„ๆ ธๅฟƒๅทฅไฝœๆตใ€‚ๆœฌๆ–‡่ทณๅ‡บๅ•็บฏ็š„ๆจกๅž‹่ƒฝๅŠ›ๅฏนๆฏ”๏ผŒไปŽไบงๅ“ Sense ไธŽๅทฅ็จ‹้€ป่พ‘็š„ๅŒ้‡่ง†่ง’๏ผŒๆทฑๅบฆๆ‹†่งฃ Perplexity ็š„็ ดๅฑ€ไน‹้“ใ€‚ๆˆ‘ไปฌๅฐ†ๆŽข่ฎจๅฎƒๅฆ‚ไฝ•้€š่ฟ‡ๅ็›ด่ง‰็š„ UI ๅˆ›ๆ–ฐ้‡ๅก‘ไบคไบ’่ตท็‚น๏ผŒๅฆ‚ไฝ•ๅœจๅทฅ็จ‹ๅฑ‚้ขๆญป็ฃ•ๅฐพ้ƒจๅปถ่ฟŸไธŽๅนป่ง‰ๆŽงๅˆถ๏ผŒไปฅๅŠๅฎƒๅฆ‚ไฝ•ๅˆฉ็”จๅทจๅคด็š„ๅˆฉๆถฆ็އๆŠคๅŸŽๆฒณๅฎž็Žฐ้”™ไฝ็ซžไบ‰ใ€‚ๆœ€็ปˆ๏ผŒๆˆ‘ไปฌๅฐ†่ง†็บฟๆŠ•ๅ‘ๆœชๆฅ๏ผŒไธ€็ชฅ AI ไปŽ่ขซๅŠจๅ“ๅบ”่ตฐๅ‘ไธปๅŠจๆŽข็ดข็š„ๆผ”่ฟ›่“ๅ›พใ€‚\",\"permalink\":\"/product-sense/perplexity-knowledge-worker\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"AI ๆœ็ดข\",\"็Ÿฅ่ฏ†ๅ‘็Žฐ\",\"ไบงๅ“ Sense\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/20.่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ.md\",\"relativePath\":\"10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/20.่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ.md\"},\"wordCount\":1994,\"readingTime\":\"6.8m\",\"frontmatter\":{\"date\":{},\"title\":\"่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡็ป“ๅˆไฟ็ฝ—ใƒปๆ ผ้›ทๅŽ„ๅง†ใ€ŠHow to Do Great Workใ€‹ๆ ธๅฟƒ่ง‚็‚น๏ผŒๆŽข่ฎจ AI ๅŽŸ็”Ÿๆ—ถไปฃๅคๅˆๅž‹ไบบๆ‰็š„ๆ ธๅฟƒ็‰น่ดจใ€‚AI ่ฎฉๅŸบ็ก€ๆ‰ง่กŒ่ƒฝๅŠ›ๅฟซ้€Ÿ่ดฌๅ€ผ๏ผŒไบบๆ‰็š„ๆ ธๅฟƒๅฃๅž’ไธๅ†ๆ˜ฏ่งฃๅ†ณ้—ฎ้ข˜๏ผŒ่€Œๆ˜ฏๆๅ‡บไผ˜่ดจ้—ฎ้ข˜ใ€ๅŸนๅ…ป้žๅ…ฑ่ฏ†ๅ“ๅ‘ณใ€‚ๅŒๆ—ถ้œ€ๅšๅฎˆๆ™บๅŠ›่ฏšๅฎž๏ผŒๆ‹ฅๆœ‰ๆ‰“็ ดๅธธ่ง„็š„ๅˆ›ๆ–ฐๅ‹‡ๆฐ”๏ผŒๅ€ŸๅŠฉ AI ๆ”พๅคงไธชไบบๆˆ้•ฟๆ ๆ†๏ผŒไปฅๅฐๅˆ‡ๅฃๅฎž่ทตๅฎž็ŽฐๆŒ‡ๆ•ฐ็บงๆˆ้•ฟใ€‚ไบบ็ฑป็‹ฌๆœ‰็š„ๅฅฝๅฅ‡ๅฟƒ๏ผŒๆ˜ฏ็ช็ ด AI ๅนณๅบธใ€ๅ–ๅพ—ๆฐๅ‡บๆˆๅฐฑ็š„ๆœ€็ปˆๅบ•ๆฐ”ใ€‚\",\"coverImg\":\"/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense/ai-native-composite-talents\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"AI\",\"ๆˆ้•ฟ\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/21.ๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense.md\",\"relativePath\":\"10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/21.ๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense.md\"},\"wordCount\":4356,\"readingTime\":\"15m\",\"frontmatter\":{\"date\":{},\"title\":\"ๅฝ“โ€œๅฎž็Žฐโ€ไธๅ†ๆ˜ฏๅฃๅž’๏ผšๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense๏ผŸ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ AI ่ฎฉไปฃ็ ็”Ÿๆˆ็š„่พน้™…ๆˆๆœฌ่ถ‹่ฟ‘ไบŽ้›ถ๏ผŒโ€œๆŠ€ๆœฏๅฎž็Žฐโ€ไธๅ†ๆ˜ฏไธๅฏ้€พ่ถŠ็š„ๅฃๅž’๏ผŒโ€œไบงๅ“ๆดžๅฏŸโ€่ƒฝๆž„็ญ‘่ตทๆ–ฐ็š„ๆ ธๅฟƒๆŠคๅŸŽๆฒณใ€‚ๆœฌๆ–‡ๆ‹’็ป็Ž„ๅญฆ๏ผŒๅฐ†ๆŠฝ่ฑก็š„ ไบงๅ“ Sense ่งฃๆž„ไธบไธ‰ไธชๆ ธๅฟƒๆ•ฐๅญฆๅ…ฌๅผ๏ผŒๅนถๆไพ›ไธ€ๅฅ—ๅŸบไบŽโ€œ้€†ๅ‘ๅทฅ็จ‹โ€็š„ๅˆปๆ„็ปƒไน ๆŒ‡ๅ—๏ผŒๅŠฉๅŠ›ๅผ€ๅ‘่€…ๅœจ็ฎ—ๅŠ›่ฟ‡ๅ‰ฉ็š„ๆ—ถไปฃ๏ผŒๅฎŒๆˆไปŽโ€œไปฃ็ ๅทฅๅŒ โ€ๅˆฐโ€œไปทๅ€ผๅˆ›้€ ่€…โ€็š„่ฎค็Ÿฅ่ทƒ่ฟใ€‚\",\"sticky\":1,\"top\":true,\"categories\":[\"ไบงๅ“ Sense\",\"AI\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense/engineer-build-product-sense\"}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/10.ไบงๅ“ Sense/04.ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–/30.ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹่ฏปๅŽๆ„Ÿ.md\",\"relativePath\":\"10.ไบงๅ“ Sense/04.ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–/30.ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹่ฏปๅŽๆ„Ÿ.md\"},\"wordCount\":1982,\"readingTime\":\"6.8m\",\"frontmatter\":{\"date\":{},\"title\":\"ๆ”พๅผƒๅขž้•ฟๆ‰งๅฟต๏ผŒไธบไป€ไนˆโ€œๅฐ่€Œ็พŽโ€ๆ‰ๆ˜ฏๅฏๆŒ็ปญไน‹่ทฏ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒ็ง‘ๆŠ€ไบ’่”็ฝ‘่กŒไธš็š„ๅ™ไบ‹้ƒฝ่ขซโ€œไธๆƒœไธ€ๅˆ‡ไปฃไปทๅฎž็Žฐ่ถ…็บฟๆ€งๅขž้•ฟโ€ๆ‰€ไธปๅฏผใ€‚ไปฟไฝ›ๅชๆœ‰ๆ‹ฟๅˆฐๅทจ้ข่ž่ต„ใ€็–ฏ็‹‚ๆ‹›ไบบใ€ๆˆไธบไผฐๅ€ผ็ ด็™พไบฟ็š„ๅบž็„ถๅคง็‰ฉ๏ผŒๆ‰็ฎ—ๅพ—ไธŠๆ˜ฏๆˆๅŠŸ็š„ๅˆ›ไธšใ€‚็„ถ่€Œ๏ผŒ่ฏปๅฎŒ่จๅธŒๅฐ”ยทๆ‹‰ๆ–‡ๅ‰ไบš็š„ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹ๅŽ๏ผŒ็ฌ”่€…่Žทๅพ—ไบ†ไธ€็งๆˆช็„ถไธๅŒ็š„ๅ•†ไธš่ง†่ง’๏ผšไผไธšๅญ˜ๅœจ็š„้ฆ–่ฆ็›ฎ็š„ไธๆ˜ฏไธบไบ†่ž่ต„ๅ’Œๆ‰ฉๅผ ๏ผŒ่€Œๆ˜ฏไธบไบ†้€š่ฟ‡่งฃๅ†ณ้—ฎ้ข˜ๆฅ่Žทๅพ—ๆŒ็ปญ็š„็›ˆๅˆฉใ€‚ ๆœฌๆ–‡็ป“ๅˆไนฆไธญ็š„ๆ ธๅฟƒ่ฎบ็‚นไธŽ่‡ช่บซ็š„็ ”ๅ‘่ง†่ง’๏ผŒๆŠŠๅฐ†่ฟ™ๆœฌไนฆ่ƒŒๅŽ็š„็ป่ฅ้€ป่พ‘ไธŽไบงๅ“ๅ“ฒๅญฆๆขณ็†ไธบๅ‡ ไธชๆ ธๅฟƒๅฑ‚้ข็š„ๆ€่€ƒใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense/small-rule-learn\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"ไบงๅ“ Sense\",\"ๅ•†ไธšๅŒ–\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/40.ๆดžๅฏŸๅŠ›ๆจกๅž‹.md\",\"relativePath\":\"10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/40.ๆดžๅฏŸๅŠ›ๆจกๅž‹.md\"},\"wordCount\":2572,\"readingTime\":\"9m\",\"frontmatter\":{\"date\":{},\"title\":\"ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผšๅฆ‚ไฝ•็œ‹้€ไบงๅ“ไธŽๆŠ€ๆœฏ่ƒŒๅŽ็š„็ณป็ปŸ้€ป่พ‘๏ผŸ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆ— ่ฎบๆ˜ฏๅšไบงๅ“ใ€ๆžๆŠ€ๆœฏ๏ผŒ่ฟ˜ๆ˜ฏๅบ”ๅฏนๆ—ฅๅธธๅทฅไฝœไธญ็š„ๅ„็งๆŒ‘ๆˆ˜๏ผŒไฝ ๆ˜ฏๅฆ้‡ๅˆฐ่ฟ‡่ฟ™ๆ ท็š„ๅ›ฐๅขƒ๏ผšๆ˜Žๆ˜ŽๆŒ‰็ป้ชŒ่กŒไบ‹๏ผŒๅดๅฑกๅฑก่ธฉๅ‘๏ผ›ๅˆš่งฃๅ†ณ่กจ้ข้—ฎ้ข˜๏ผŒ้šๆ‚ฃๅˆๅทๅœŸ้‡ๆฅใ€‚้—ฎ้ข˜ๆœชๅฟ…ๅ‡บๅœจๅŠชๅŠ›็จ‹ๅบฆ๏ผŒ่€ŒๅœจไบŽๆˆ‘ไปฌๅช็›ฏ็€่กจ่ฑก๏ผŒๅดๅฟฝ็•ฅไบ†่ƒŒๅŽ็œŸๆญฃ่ตทไฝœ็”จ็š„็ณป็ปŸ๏ผŒๆฒกๆœ‰็œ‹ๆ‡‚่—ๅœจ่ƒŒๅŽ็š„็ณป็ปŸใ€‚ไธบไป€ไนˆๅŒๆ ทๆ˜ฏ่งฃๅ†ณ้—ฎ้ข˜๏ผŒๆœ‰ไบบๅช่ƒฝโ€œๅคด็—›ๅŒปๅคดโ€๏ผŒๆœ‰ไบบๅด่ƒฝ็›ดๅ‡ปๆœฌ่ดจ๏ผŸ่ฟ™็ฏ‡ๆ–‡็ซ ๅฐ†็”จ้€šไฟ—ๆ˜“ๆ‡‚็š„ๆ–นๅผ๏ผŒๅธฆไฝ ๆ‹†่งฃไธ€ๅฅ—ๅฎž็”จ็š„ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผŒ่ฎฉๆˆ‘ไปฌๅญฆไผš้€่ฟ‡็Žฐ่ฑกๆŠ“ไฝๆœฌ่ดจ๏ผŒไปŽๆ นๆบไธŠ่งฃๅ†ณ้—ฎ้ข˜ใ€‚\",\"permalink\":\"/product-sense/insight-model\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"ไบงๅ“ Sense\",\"็ณป็ปŸๆดžๅฏŸๅŠ›\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/50.็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“.md\",\"relativePath\":\"10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/50.็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“.md\"},\"wordCount\":3150,\"readingTime\":\"10.7m\",\"frontmatter\":{\"date\":{},\"title\":\"็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“\",\"description\":\"ๅฐ†็ปๆตŽๅญฆๆ ธๅฟƒๅŽŸ็†่žๅˆ่ฟ›ไบงๅ“่ฎพ่ฎกๅ…จ็”Ÿๅ‘ฝๅ‘จๆœŸ็š„ๆ–นๆณ•่ฎบไฝ“็ณป๏ผŒๆž„ๅปบ็†ๆ€ง็š„โ€œไบงๅ“Senseโ€ใ€‚\",\"categories\":[\"ไบงๅ“ Sense\"],\"permalink\":\"/product-sense/using-economics-thinking\"}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/20.AI ๅญฆไน ไธŽๅฎž่ทต/00.AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ.md\",\"relativePath\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/00.AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ.md\"},\"wordCount\":25,\"readingTime\":\"1m\",\"frontmatter\":{\"title\":\"AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"date\":{},\"description\":\"ๅ…จๆ™ฏๅผ AI ๅญฆไน ไธŽๅฎž่ทต็Ÿฅ่ฏ†ๅบ“๏ผŒ็ณป็ปŸๆฒ‰ๆท€ AI Agent ่ฎพ่ฎกๆจกๅผใ€ๅคงๆจกๅž‹ๅทฅ็จ‹ๅŒ–่ฝๅœฐใ€ๅผ€ๆบๅฐ้กน็›ฎๅŠ็คพๅŒบๆดปๅŠจ็ป้ชŒๆ€ป็ป“๏ผŒๆŒ็ปญ่ฟญไปฃไปŽ็†่ฎบๅˆฐ็”Ÿไบง็š„ๅฎŒๆ•ดๆ–นๆณ•่ฎบใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/llm_learning_bg_1.png\",\"permalink\":\"/ai-learning/overview\",\"categories\":[\"ai-practice\"],\"tags\":[\"AI\",\"LLM\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/01.Agentๆฆ‚่งˆไธŽ็ปผ่ฟฐ.md\",\"relativePath\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/01.Agentๆฆ‚่งˆไธŽ็ปผ่ฟฐ.md\"},\"wordCount\":6363,\"readingTime\":\"22.1m\",\"frontmatter\":{\"date\":{},\"title\":\"ไปŽๆ็คบ่ฏๅˆฐๆ•ฐๅญ—ๅ‘˜ๅทฅ๏ผšAI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšAI ็š„่ฟ›ๅŒ–ๆญฃ็ปๅކไปŽโ€œๅฏน่ฏๆก†โ€ๅ‘โ€œๆ•ฐๅญ—ๅ‘˜ๅทฅโ€็š„ๆ นๆœฌๆ€ง่ทจ่ถŠใ€‚ๆœฌๆ–‡ๆ˜ฏไธ€็ฏ‡ๅ…ณไบŽ AI Agent ็š„ๅ…จๆ™ฏๆทฑๅบฆ็ปผ่ฟฐ๏ผŒๆ—จๅœจ่งฃๆž„ๆ™บ่ƒฝไฝ“ๅฆ‚ไฝ•ไปŽ็ฎ€ๅ•็š„ Prompt ๅ“ๅบ”่€…๏ผŒๆผ”ๅ˜ไธบๅ…ทๅค‡่‡ชไธป็›ฎๆ ‡ๆ‹†่งฃใ€้•ฟ็ŸญๆœŸ่ฎฐๅฟ†ไธŽๅคๆ‚็Žฏๅขƒไบคไบ’่ƒฝๅŠ›็š„โ€œๆ‰ง่กŒ่€…โ€ใ€‚ๆˆ‘ไปฌๅฐ†ๆทฑๅบฆๆ‹†่งฃ Agent ็š„ๅ››ๅคงๆŠ€ๆœฏๅŸบ็Ÿณ๏ผˆ่ง„ๅˆ’ใ€่ฎฐๅฟ†ใ€ๅทฅๅ…ทใ€่กŒๅŠจ๏ผ‰๏ผŒๅนถ่ฏฆ็ป†ๅ‰–ๆžไปŽ้€š็”จๅž‹ Agent ๅˆฐๅคšๆ™บ่ƒฝไฝ“ๅไฝœ๏ผˆMAS๏ผ‰ใ€ๅ†ๅˆฐ่ฟˆๅ‘ Agent OS ๆ—ถไปฃ็š„ OpenClaw ็ญ‰ไบ”ๅคงๆผ”่ฟ›ๅฝขๆ€ใ€‚ไธไป…ๆŽข่ฎจไบ†ๆŠ€ๆœฏๆžถๆž„็š„ๅฎž็Žฐ๏ผŒๆ›ดๆญ็คบไบ†่ฝฏไปถๅทฅ็จ‹ไปŽโ€œไปฅไบบไธบไธญๅฟƒโ€ๅ‘โ€œไปฅ AI ไธบไธญๅฟƒโ€็š„่Œƒๅผ้ฉๅ‘ฝโ€”โ€”ๅœจ Agent ้ฉฑๅŠจ็š„ๆ–ฐ็บชๅ…ƒ๏ผŒๆ ธๅฟƒ็ซžไบ‰ๅŠ›ๅฐ†ไธๅ†ๆ˜ฏไปฃ็ ้‡๏ผŒ่€Œๆ˜ฏ่ฐƒๅบฆ AI ้—ญ็Žฏ่งฃๅ†ณไธšๅŠก้—ฎ้ข˜็š„่ƒฝๅŠ›ใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/llm_learning_bg_1.png\",\"permalink\":\"/ai-agent/overview\",\"top\":true,\"categories\":[\"ai-practice\"],\"tags\":[\"AI Agent\",\"Agent\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/02.Agent ่ง„ๅˆ’ๆจกๅ—.md\",\"relativePath\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/02.Agent ่ง„ๅˆ’ๆจกๅ—.md\"},\"wordCount\":3028,\"readingTime\":\"10.6m\",\"frontmatter\":{\"date\":{},\"title\":\"ๆŽขๅฏป Agent ๅ†ณ็ญ–ไธญๆžข๏ผš่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„่ง„ๅˆ’่Œƒๅผ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฆ‚ๆžœ่ฏด LLM ๆ˜ฏ Agent ็š„ๅคง่„‘๏ผŒ่ง„ๅˆ’ๆจกๅ—ๅˆ™ๆ˜ฏๅ…ถ่ดŸ่ดฃๅคๆ‚ๅ†ณ็ญ–็š„โ€œๅ‰้ขๅถโ€ใ€‚ๆœฌๆ–‡ๆทฑๅบฆ่งฃๆž„ไบ† Agent ่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„ๆ ธๅฟƒ่ทฏๅพ„๏ผšไปŽไปปๅŠกๅˆ†่งฃ็š„้™ไฝŽ็†ตๅ€ผ๏ผŒๅˆฐ่‡ชๆˆ‘ๅๆ€็š„้—ญ็ŽฏๆŽงๅˆถใ€‚้€š่ฟ‡ๅฏนๆฏ”โ€œ่พน่ตฐ่พน็œ‹โ€็š„ ReAct ๅŠจๆ€ๅ“ๅบ”ๆจกๅผไธŽโ€œ่ฐ‹ๅฎšๅŽๅŠจโ€็š„ Plan-and-Execute ้ข„็ผ–ๆŽ’ๆจกๅผ๏ผŒๆœฌๆ–‡ๆญ็คบไบ†ๅฆ‚ไฝ•้’ˆๅฏน้•ฟ้“พ่ทฏๅทฅ็จ‹ไปปๅŠกๆž„ๅปบ็จณๅฅ็š„ๅ†ณ็ญ–่Œƒๅผ๏ผŒๅŠฉไฝ ๅฎŒๆˆไปŽโ€œ็ฎ€ๅ•ๆ็คบ่ฏโ€ๅˆฐโ€œๅคๆ‚ๆžถๆž„่ฎพ่ฎกโ€็š„่ฎค็Ÿฅ่ทƒ่ฟใ€‚\",\"permalink\":\"/ai-agent/planning-module\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/03.ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผšๅฐ†้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต.md\",\"relativePath\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/03.ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผšๅฐ†้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต.md\"},\"wordCount\":2685,\"readingTime\":\"9.4m\",\"frontmatter\":{\"date\":{},\"title\":\"ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผš้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผš้ขๅฏนๅฑ‚ๅ‡บไธ็ฉท็š„ Promptใ€MCPใ€Skills ๅ’Œ Subagents๏ผŒๅพˆๅคšๅผ€ๅ‘่€…ๅ’Œไบงๅ“็ป็†ๅธธๆ„Ÿๅˆฐๅ›ฐๆƒ‘๏ผš่ฟ™ไบ›็ป„ไปถ็ฉถ็ซŸๆ˜ฏ้‡ๅค้€ ่ฝฎๅญ๏ผŒ่ฟ˜ๆ˜ฏๅ„ๅธๅ…ถ่Œ็š„็งฏๆœจ๏ผŸๆœฌๆ–‡ๅฐ†ๆทฑๅบฆๆ‹†่งฃ Agentic ็”Ÿๆ€็š„ไบ”ๅคงๆ ธๅฟƒๆ”ฏๆŸฑ๏ผŒๆญ็คบๅฆ‚ไฝ•้€š่ฟ‡ไผ˜้›…็š„ๆžถๆž„่ฎพ่ฎกๅฎž็ŽฐๅๅŒ้—ญ็Žฏ๏ผŒๅฐ†้›ถๆ•ฃ็š„ AI ็ป„ไปถๆ‹ผ่ฃ…ๆˆไธ€ๅฅ—ๅฏๆŒ็ปญ่ฟ›ๅŒ–็š„ AI ๅŽŸ็”Ÿๆ“ไฝœ็ณป็ปŸ๏ผŒๆŠŠ็ขŽ็‰‡ๅŒ–็š„ AI ่ƒฝๅŠ›่ฝฌๅŒ–ไธบ้ซ˜ๅฏ็”จ็š„็”ŸไบงๅŠ›ๆตใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/ai-practice/agent_components_zh.png\",\"permalink\":\"/ai-agent/composition-ai-components\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"],\"tags\":[\"Agent\",\"AI\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/10.Agent SKills.md\",\"relativePath\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/10.Agent SKills.md\"},\"wordCount\":3915,\"readingTime\":\"14.6m\",\"frontmatter\":{\"date\":{},\"title\":\"ๅฆ‚ไฝ•็ผ–ๅ†™ไธ€ไธช้ซ˜ๅฏ็”จ็š„ Agent Skill๏ผŸไปŽๆœบๅˆถๆ‹†่งฃๅˆฐ็”Ÿไบงๅฎž่ทตๆŒ‡ๅ—\",\"description\":\"ๅคง่ฏญ่จ€ๆจกๅž‹ๅœจ็‰นๅฎšๅทฅ็จ‹้ข†ๅŸŸๅธธ้ขไธดโ€œ็Ÿฅ่€Œไธ่กŒโ€็š„ๅ›ฐๅขƒใ€‚ๆœฌๆ–‡ๆทฑๅบฆๆ‹†่งฃ Anthropic ๆœ€ๆ–ฐๆŽจๅ‡บ็š„ Agent Skills ่ง„่Œƒ๏ผŒๆญ็ง˜ๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆธ่ฟ›ๅผๆŠซ้œฒไธŽไธ‰็บงๅŠ ่ฝฝๆœบๅˆถ๏ผŒๅœจๆŽงๅˆถ Token ๆˆๆœฌ็š„ๅŒๆ—ถๆ˜พ่‘—ๆๅ‡ Agent ็š„ไปปๅŠกๆ‰ง่กŒ็ฒพๅบฆใ€‚ๆ–‡็ซ ๆถต็›–ไบ†ไปŽๆ–‡ไปถๅคนๆžถๆž„่ฎพ่ฎกๅˆฐๅฎžๆˆ˜ git-workflow ็ผ–ๅ†™็š„ๅ…จๆต็จ‹ๆŒ‡ๅ—๏ผŒๅŠฉไฝ ๅฐ†้›ถๆ•ฃ็š„ Prompt ่ฝฌๅŒ–ไธบๆ ‡ๅ‡†ๅŒ–็š„ๆ•ฐๅญ—่ต„ไบงใ€‚\",\"permalink\":\"/ai-agent/skills-practice-summary\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\",\"Agent ็ณปๅˆ—\"],\"tags\":[\"Agent Skills\",\"Agent\",\"AI\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/10.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Deep Research Agent.md\",\"relativePath\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/10.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Deep Research Agent.md\"},\"wordCount\":2889,\"readingTime\":\"11m\",\"frontmatter\":{\"date\":{},\"title\":\"ๅฃฐๆ˜Žๅผๅคšๆ™บ่ƒฝไฝ“ๅๅŒ๏ผšๅŸบไบŽ Claude Agent SDK ๆž„ๅปบๆทฑๅบฆ็ ”็ฉถ็ณป็ปŸ\",\"description\":\"ๅฏนๅคๆ‚็ ”็ฉถไปปๅŠกๆ—ถ๏ผŒๅ•ๆ™บ่ƒฝไฝ“๏ผˆSingle-Agent๏ผ‰ๅธธๅ› ไธŠไธ‹ๆ–‡็จ€้‡Šๅ’Œ้€ป่พ‘็–ฒๅŠณๅฏผ่‡ดไบงๅ‡บ่ดจ้‡ไธ‹้™ใ€‚ๆœฌๆ–‡ๅŸบไบŽ Claude Agent SDK ๆŽข่ฎจไบ†ๅคšๆ™บ่ƒฝไฝ“็ณป็ปŸ๏ผˆMAS๏ผ‰็š„ๅทฅ็จ‹ๅŒ–่ฝๅœฐใ€‚้€š่ฟ‡โ€œLead + Subagentโ€็š„ๅฃฐๆ˜Žๅผๆžถๆž„๏ผŒๆˆ‘ไปฌๅฐ†ๆทฑๅบฆ็ ”็ฉถๆ‹†่งฃไธบๆœ็ดขใ€้‡ๅŒ–ๅˆ†ๆžใ€ๅฏ่ง†ๅŒ–็ป˜ๅ›พไธŽ็ป“ๆž„ๅŒ–ๅ†™ไฝœๅ››ไธช็‹ฌ็ซ‹็Žฏ่Š‚ใ€‚\",\"permalink\":\"/ai-agent/deepresearch-agent\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"],\"tags\":[\"Agent SDK\",\"Multi-Agent\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/20.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Agent.md\",\"relativePath\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/20.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Agent.md\"},\"wordCount\":2778,\"readingTime\":\"11.2m\",\"frontmatter\":{\"date\":{},\"title\":\"ๅ‘Šๅˆซๆ‰‹ๅŠจ Loop๏ผšๅ€ŸๅŠฉ Claude Agent SDK ๅฎž็Žฐ Agent ็š„ๅทฅ็จ‹ๅŒ–้—ญ็Žฏ\",\"description\":\"ๅœจ Agent ๆŠ€ๆœฏๅฟซ้€Ÿ่ตฐๅ‘ๆˆ็†Ÿ็š„ไปŠๅคฉ๏ผŒๅฆ‚ไฝ•ไฝŽๆˆๆœฌๆž„ๅปบๅ…ทๅค‡โ€œ่‡ชไธปๆดžๅฏŸโ€่ƒฝๅŠ›็š„ๆ™บ่ƒฝไฝ“๏ผŸๆœฌๆ–‡ๆทฑๅบฆๆ‹†่งฃ Anthropic ๅฎ˜ๆ–นๆŽจๅ‡บ็š„ Claude Agent SDK๏ผŒ่งฃๆžๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆ‰˜็ฎก Agent Loop ๅ’Œไผš่ฏๆŒไน…ๅŒ–ๆœบๅˆถ๏ผŒ่งฃๅ†ณ Agent ๅผ€ๅ‘ไธญ็š„็Šถๆ€็ฎก็†้šพ้ข˜ใ€‚ๆ–‡็ซ ้€š่ฟ‡ไปŽๆ— ็Šถๆ€ไบคไบ’ๅˆฐๅ…ทๅค‡ๆตๅผ่พ“ๅ‡บ่ƒฝๅŠ›็š„ TUI ่‡ชๅŠจๅŒ–ๅทฅๅ…ท่ฟ›้˜ถๅฎžๆˆ˜๏ผŒๅฑ•็คบไบ†ๆž„ๅปบไฝŽๆˆๆœฌใ€้ซ˜ๅฏ็”จ AI ๅŽŸ็”Ÿๅบ”็”จ็š„ๅฎŒๆ•ด่ทฏๅพ„ใ€‚\",\"permalink\":\"/ai-practice/claude-agent-sdk-basic-build\",\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"],\"tags\":[\"Agent\",\"Agent SDK\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/60.ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹.md\",\"relativePath\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/60.ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹.md\"},\"wordCount\":2122,\"readingTime\":\"7.2m\",\"frontmatter\":{\"date\":{},\"title\":\"ไธ€ๆฌก็”ฑ Product Sense ้ฉฑๅŠจ็š„ Agent ๆž้™ๅฎž่ทต\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšAI ๆ—ถไปฃ๏ผŒๅ†™ๅฅฝไปฃ็ ๅชๆ˜ฏๅŠๆ ผ็บฟใ€‚ๅœจไธ€ๆฌกๆž้™ๆŒ‘ๆˆ˜่ต›ไธญ๏ผŒๆˆ‘ไปฌ้€š่ฟ‡ๅฏน K12 ่ต›้“็”จๆˆท็—›็‚น็š„็ฒพๅ‡†โ€œ่ง†่ง’ๅˆ‡ๆขโ€๏ผŒๆ‰“้€ ๅ‡บไธ€ๆฌพๆŽˆไบบไปฅๆธ”็š„โ€œๆ•ฐๅญฆ่พ…ๅฏผๅฏผๅธˆโ€ๅนถๆ–ฉ่Žทๅคงๅฅ–ใ€‚ๆœฌๆ–‡ๅค็›˜ไบ† Agent ๆญๅปบ่ƒŒๅŽ็š„ๆ ธๅฟƒ SOP ่ฎพ่ฎก้€ป่พ‘๏ผšๆŠ€ๆœฏ็ปˆ็ฉถ่ฆๅ›žๅฝ’ๅฏน็œŸๅฎžไบบๆ€ง็š„ไฝ“ๅฏŸไธŽๅ…ณๆ€€ใ€‚\",\"coverImg\":\"/img/cover/llm_learning_bg_2.png\",\"permalink\":\"/ai-practice/math-bot\",\"categories\":[\"ai-practice\"],\"tags\":[\"Agent\",\"ไบงๅ“ Sense\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/70.่ฏ—ๆญŒๅฐ็ฒพ็ต.md\",\"relativePath\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/70.่ฏ—ๆญŒๅฐ็ฒพ็ต.md\"},\"wordCount\":4145,\"readingTime\":\"14.2m\",\"frontmatter\":{\"date\":{},\"title\":\"้›ถไปฃ็ ไธ็ญ‰ไบŽ้›ถ้€ป่พ‘๏ผš็ป“ๆž„ๅŒ– Prompt ้ฉฑๅŠจไธ‹็š„ Agent ๆญๅปบๅฎžๆˆ˜\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจ Agent ๆฆ‚ๅฟตๆปกๅคฉ้ฃž็š„ๅฝ“ไธ‹๏ผŒๅ†ณๅฎšๅคงๆจกๅž‹ๅฎž้™…่กจ็Žฐ็š„ๅพ€ๅพ€ๆ˜ฏๆœ€ๅบ•ๅฑ‚็š„ System Prompt ่ฎพ่ฎกใ€‚ๆœฌๆ–‡่ฎฐๅฝ•ไบ†ๅ‘จๆœซๅˆฉ็”จๆ–‡ๅฟƒๆ™บ่ƒฝไฝ“ๅนณๅฐๆญๅปบโ€œ่ฏ—ๆญŒๅฐ็ฒพ็ตโ€็š„ๅฎŒๆ•ดๅฎž่ทตใ€‚้€š่ฟ‡ๅฏนๆฏ”โ€œไผ ็ปŸๅคงๆฎตๆ–‡ๆœฌโ€ไธŽโ€œLangGPT ็ป“ๆž„ๅŒ–โ€ไธค็ง Prompt ็š„ๅฎž้™…่พ“ๅ‡บ๏ผŒๆทฑๅบฆๆ‹†่งฃไบ†็ป“ๆž„ๅŒ– Prompt ๅฆ‚ไฝ•ๅƒโ€œๅ†™ไปฃ็ โ€ไธ€ๆ ท่ง„่Œƒ AI ็š„ๆ€่€ƒๅทฅไฝœๆต๏ผŒๆœ‰ๆ•ˆ่งฃๅ†ณๆŒ‡ไปคๆผ‚็งปไธŽๅนป่ง‰้—ฎ้ข˜ใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ๆฌก Prompt ่ฐƒไผ˜ๅฎž้ชŒ๏ผŒๆ›ดๆ˜ฏไธ€ๅœบๅ…ณไบŽ AI ไบงๅ“ Sense ไธŽๆœชๆฅไบคไบ’ๅฝขๆ€็š„ๆŽข็ดขใ€‚\",\"coverImg\":\"/img/cover/llm_learning_bg_2.png\",\"categories\":[\"ai-practice\"],\"permalink\":\"/ai-practice/poetry-bot\",\"tags\":[\"Agent\",\"AI\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่.md\",\"relativePath\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่.md\"},\"wordCount\":5451,\"readingTime\":\"20.6m\",\"frontmatter\":{\"date\":{},\"title\":\"ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไธบไพฟไบŽ้ซ˜ๆ•ˆๅˆฉ็”จ AI ๅทฅๅ…ทๆๅ‡ๅญฆไน ใ€ๆœ็ดขๅ’Œๅˆ›ไฝœๆ•ˆ็އ๏ผŒๆœฌๆ–‡็ณป็ปŸๆ•ด็†ไบ†ไธปๆต็š„ AI ๅŠฉๆ‰‹ไธŽๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐ็›ธๅ…ณ่ต„ๆบใ€‚ๅ†…ๅฎนๅˆ†ไธบโ€œAI ๅŠฉๆ‰‹โ€๏ผˆๅฆ‚ ChatGPTใ€Claudeใ€Gemini ็ญ‰ๅฏน่ฏๅผๅŠฉๆ‰‹๏ผ‰ๅ’Œโ€œๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐโ€๏ผˆๅฆ‚ๅ†™ไฝœใ€็ป˜็”ป็ญ‰้ข†ๅŸŸ็š„ AI ๅทฅๅ…ทไธŽๅนณๅฐ๏ผ‰๏ผŒไธ”ๆ ‡ๆณจไบ†ๅ…ถๆ ธๅฟƒ่ƒฝๅŠ›ใ€้€‚ๅˆๅœบๆ™ฏ๏ผŒไปฅๅŠ็‰น่‰ฒไผ˜ๅŠฟใ€‚\",\"permalink\":\"/ai-learning/tools-assistant\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/source_sites_bg.png\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"AI ๅŠฉๆ‰‹\",\"AI ๆœ็ดข\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/11. LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—.md\",\"relativePath\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/11. LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—.md\"},\"wordCount\":3534,\"readingTime\":\"13.6m\",\"frontmatter\":{\"date\":{},\"title\":\"LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆˆช่‡ณ 2026 ๅนด๏ผŒLLM API ๆœๅŠกๅทฒๅฝขๆˆ\\\"ๅฎ˜ๆ–น็›ด่ฟž + ็ฌฌไธ‰ๆ–น่šๅˆ\\\"็š„ๅŒ่ฝจๆ ผๅฑ€๏ผŒๆจกๅž‹่ƒฝๅŠ›ใ€ๅฎšไปทใ€ๅˆ่ง„ๆ€งไธŽๆŽฅๅ…ฅไพฟๅˆฉๆ€งๅทฎๅผ‚ๆ˜พ่‘—ใ€‚ๆœฌๆ–‡ไปŽ้€‰ๅž‹ๅ‰ๆ้—ฎๅ‡บๅ‘๏ผŒ็ณป็ปŸๆขณ็†ๅ›ฝ้™…ไธŽๅ›ฝๅ†…ไธปๆตๅฎ˜ๆ–น API ๅนณๅฐ๏ผŒไปฅๅŠ OpenRouterใ€็ก…ๅŸบๆตๅŠจ็ญ‰็ฌฌไธ‰ๆ–น่šๅˆๅนณๅฐ็š„ๆ ธๅฟƒ็‰น็‚น๏ผŒๅนถๆไพ›ๅŸบไบŽๅœบๆ™ฏ็š„ๅ†ณ็ญ–ๆก†ๆžถ๏ผŒๅธฎๅŠฉๅผ€ๅ‘่€…ๅ’Œไบงๅ“ๅ›ข้˜Ÿๅฟซ้€Ÿ้”ๅฎšๆœ€้€‚ๅˆ่‡ชๅทฑ็š„ๆ–นๆกˆใ€‚\",\"permalink\":\"/ai-learning/llm-api-resources\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"LLM API\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/01.ๅฅฝไนฆๆŽจ่.md\",\"relativePath\":\"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/01.ๅฅฝไนฆๆŽจ่.md\"},\"wordCount\":1847,\"readingTime\":\"6.4m\",\"frontmatter\":{\"title\":\"ๅฅฝไนฆๆŽจ่\",\"date\":{},\"description\":\"่ฏปไนฆๅฟƒๅพ—ใ€ๆŽจ่ไนฆ็ฑๅ’Œ้˜…่ฏปๆŠ€ๅทง\",\"categories\":[\"growth\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/books_reading_bg.png\",\"permalink\":\"/growth/books\",\"tags\":[\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\",\"่ต„ๆบๆŽจ่\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/10.่ฏปไนฆไธ‰่ฆไธ‰ไธ่ฆ.md\",\"relativePath\":\"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/10.่ฏปไนฆไธ‰่ฆไธ‰ไธ่ฆ.md\"},\"wordCount\":3593,\"readingTime\":\"12m\",\"frontmatter\":{\"date\":{},\"title\":\"่ฏปไนฆโ€œไธ‰่ฆโ€ๅ’Œโ€œไธ‰ไธ่ฆโ€\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจไฟกๆฏ็ˆ†็‚ธ็š„ๆ—ถไปฃ๏ผŒ่ฏปไนฆไพ็„ถๆ˜ฏ่Žทๅ–ๆทฑๅบฆ็Ÿฅ่ฏ†ๆœ€้ซ˜ๆ•ˆ็š„ๆ–นๅผไน‹ไธ€ใ€‚ไฝ†โ€œๆง่ตทไนฆโ€ๅนถไธ็ญ‰ไบŽโ€œๆœ‰ๆ”ถ่Žทโ€๏ผŒๆ€Žไนˆ่ฏปๅพ€ๅพ€ๆฏ”่ฏปไป€ไนˆๆ›ด้‡่ฆใ€‚ๆœฌๆ–‡ๆ€ป็ป“ไบ†้ซ˜ๆ•ˆ้˜…่ฏป็š„โ€œไธ‰่ฆโ€ไธŽโ€œไธ‰ไธ่ฆโ€๏ผšไปŽๅฎŒๆ•ด้˜…่ฏป่ง‚ๆ‘ฉๅคงๅธˆๆ€็ปดใ€ๅธฆ็€้—ฎ้ข˜ๆž„ๅปบ็Ÿฅ่ฏ†ๆ ‘๏ผŒๅˆฐ้€š่ฟ‡่ฎจ่ฎบๆฃ€้ชŒ็†่งฃ๏ผ›ๅŒๆ—ถๆ้†’้˜…่ฏป่€…่ญฆๆƒ•ๅ“€ๆ€จๅฟƒๆ€ๅฏน้˜…่ฏปๅˆ่กท็š„ๅผ‚ๅŒ–ใ€้ฟๅ…้™ทๅ…ฅๅฏน็‰ฉ็†ๅช’ไป‹็š„โ€œ็Žฉ็‰ฉไธงๅฟ—โ€๏ผŒไปฅๅŠๅˆ‡ๅฟŒ่„ฑ็ฆป็Žฐๅฎž็š„โ€œ็œŸ็ฉบโ€้˜…่ฏปใ€‚้˜…่ฏปไธไป…ๆ˜ฏๅ‘ๅ†…ๆŽข็ดข็š„็ฒพ็ฅžไน‹ๆ—…๏ผŒๆ›ดๆ˜ฏๅ‘ๅค–็†่งฃ็œŸๅฎžไธ–็•Œใ€ๅˆ›้€ ็คพไผšไปทๅ€ผ็š„ๅฎž็”จๅทฅๅ…ทใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/reading_need.png\",\"permalink\":\"/pages/growth/reading-tips\",\"sticky\":1,\"top\":true,\"categories\":[\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\"],\"tags\":[\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/21.ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ.md\",\"relativePath\":\"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/21.ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ.md\"},\"wordCount\":2443,\"readingTime\":\"8.2m\",\"frontmatter\":{\"date\":{},\"title\":\"ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจไฟกๆฏ้ซ˜ๅบฆ้€ๆ˜Ž็š„ๆ—ถไปฃ๏ผŒๆต…ๅฑ‚ไฟกๆฏๅทฎๅทฒ่ขซๅฝปๅบ•ๆŠนๅนณ๏ผŒไฟกๆฏๆœฌ่บซ็š„ไปทๅ€ผไธๆ–ญ็จ€้‡Šใ€‚ไบบไธŽไบบ็š„ๆ ธๅฟƒๅทฎ่ทไธๅ†ๆ˜ฏ่Žทๅ–ไฟกๆฏ็š„ๆธ ้“๏ผŒ่€Œๆ˜ฏ้ซ˜ไฟกๅ™ชๆฏ”ไฟกๆฏ็š„็”„ๅˆซ่ƒฝๅŠ›ใ€ๆทฑๅบฆๆ€่€ƒ่ƒฝๅŠ›ไธŽ่ฝๅœฐๆ‰ง่กŒๅŠ›๏ผŒๅ”ฏๆœ‰ไปฅๆ€่€ƒๆ ก้ชŒไฟกๆฏใ€ไปฅๆ‰ง่กŒ้ชŒ่ฏไปทๅ€ผ๏ผŒๅฝขๆˆโ€œไฟกๆฏ-ๅˆคๆ–ญ-ๅฎž่ทต-ๅ้ฆˆโ€็š„ๆ€่€ƒไธŽๆ‰ง่กŒ้—ญ็Žฏ๏ผŒๆ‰่ƒฝ็ช็ ดไฟกๆฏๅฃๅž’ใ€ๅˆ›้€ ็œŸๆญฃไปทๅ€ผใ€‚\",\"permalink\":\"/growth/distinguish-useful-information\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"ไฟกๆฏ็ญ›้€‰\",\"ไธชไบบๆˆ้•ฟ\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/31.ๅผ€ๆบๆดžๅฏŸ/00.overview.md\",\"relativePath\":\"31.ๅผ€ๆบๆดžๅฏŸ/00.overview.md\"},\"wordCount\":227,\"readingTime\":\"1m\",\"frontmatter\":{\"date\":{},\"title\":\"ๅผ€ๆบๆดžๅฏŸ\",\"permalink\":\"/repo-insight/overview\",\"categories\":[\"ๅผ€ๆบๆดžๅฏŸ\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/31.ๅผ€ๆบๆดžๅฏŸ/01.fetch-event-source ๆบ็ ่งฃ่ฏป.md\",\"relativePath\":\"31.ๅผ€ๆบๆดžๅฏŸ/01.fetch-event-source ๆบ็ ่งฃ่ฏป.md\"},\"wordCount\":2945,\"readingTime\":\"12.4m\",\"frontmatter\":{\"date\":{},\"title\":\"fetch-event-source ๆบ็ ่งฃ่ฏป\",\"categories\":[\"ๅผ€ๆบๆดžๅฏŸ\"],\"permalink\":\"/repo-insight/fetch-event-source\"}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/40.ๅ…ณไบŽ/01.ๅ…ณไบŽๆˆ‘.md\",\"relativePath\":\"40.ๅ…ณไบŽ/01.ๅ…ณไบŽๆˆ‘.md\"},\"wordCount\":1634,\"readingTime\":\"5.9m\",\"frontmatter\":{\"date\":{},\"title\":\"ๅ…ณไบŽๆˆ‘\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไปŽ Tech Stack ๅˆฐ Insight Stack๏ผŒๅฝ“ AI ๆŽฅ็ฎกไบ†ๅฎž็Žฐ๏ผŒๆˆ‘ๆ›ดๅ…ณๆณจๆžถๆž„็š„ๆƒ่กกไธŽไบงๅ“็š„ไปทๅ€ผ๏ผŒไธ“ๆณจ๏ผšๅทฅ็จ‹ๅŒ– Spec ไธŽ AI ็ผ–็จ‹็ฃจๅˆ็š„ๅฎž่ทต | Agent ่ฝๅœฐ | ็‹ฌ็ซ‹ไบงๅ“ใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/about_me_chinese.png\",\"permalink\":\"/about/me\",\"categories\":[\"ๅ…ณไบŽ\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘.md\",\"relativePath\":\"40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘.md\"},\"wordCount\":6205,\"readingTime\":\"22.2m\",\"frontmatter\":{\"date\":{},\"title\":\"่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไนฆๆŽฅไธŠๆ–‡ใ€Šๅ‘ๅ†…ๆ€ๅ˜ใ€‹๏ผŒๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ๅœจๅŽ็–ซๆƒ…ๆ—ถไปฃไปŽโ€œ้—ญๅ…ณโ€่ตฐๅ‘โ€œๅ‘ๅค–ไฝ“้ชŒโ€็š„ๅฐ่ฏ•ไธŽๅฟƒๅพ—ใ€‚้ขๅฏนๆœบๆขฐๆ‰ง่กŒๅธฆๆฅ็š„โ€œ็›ฎๆ ‡้šง้“โ€ๆ•ˆๅบ”๏ผŒ็ฌ”่€…ๅฐ่ฏ•่ทณๅ‡บๅ•ไธ€็š„็บฟๆ€ง่ง„ๅˆ’๏ผŒ่ฝฌ่€Œๅฏปๆฑ‚ๆ›ดๅบ•ๅฑ‚็š„่ฎค็Ÿฅ้€ป่พ‘ใ€‚ๆ–‡็ซ ้€š่ฟ‡้‡่ฏปใ€Š่ฆไบ‹็ฌฌไธ€ใ€‹ๅปบ็ซ‹ๅนณ่กก่ง‚๏ผŒๅˆฉ็”จ็ณป็ปŸๆ€็ปด๏ผˆๅขžๅผบ/่ฐƒ่Š‚ๅ›ž่ทฏ๏ผ‰ๆž„ๅปบๆดžๅฏŸๅŠ›๏ผŒๅนถ้‡ๆ–ฐๆ‹พ่ตทๆ•ฐๅญฆๆ€็ปด๏ผˆๆฆ‚็އใ€็จ€็–ๆ€งใ€ๅคšๆ ทๆ€ง๏ผ‰ไธŽ AI ่ง†่ง’ใ€‚่ฟ™ๆ˜ฏไธ€ๆฌกๅ…ณไบŽๅฆ‚ไฝ•็”จ็ง‘ๅญฆๆจกๅž‹ๆ›ฟไปฃๆœบๆขฐๆ‰ง่กŒ๏ผŒไปŽๆœฌ่ดจไธŠ้‡ๆž„ไธชไบบ่ฎค็Ÿฅไฝ“็ณป็š„ๆทฑๅบฆๅค็›˜ใ€‚\",\"permalink\":\"/growth/outer-experience\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/outer_experience_bg.png\",\"sticky\":1,\"top\":true,\"tags\":[\"็ณป็ปŸๆ€็ปด\",\"ๆ•ฐๅญฆๆ€็ปด\",\"ๆจกๅž‹ๆ€็ปด\",\"AI\",\"็–ซๆƒ…\"],\"categories\":[\"ไธชไบบๆˆ้•ฟ\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ.md\",\"relativePath\":\"40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ.md\"},\"wordCount\":9941,\"readingTime\":\"33.9m\",\"frontmatter\":{\"date\":{},\"title\":\"ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅฆ‚ไฝ•้ฟๅ…ๅ†…่€—๏ผŸๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ไธ‰ๅนด้—ด็š„โ€œ่‡ชๆˆ‘้‡ๆž„โ€ๅฎž้ชŒใ€‚ๆ–‡็ซ ๆ‘’ๅผƒไบ†ๅ•็บฏ็š„ๆƒ…็ปชๅฎฃๆณ„๏ผŒ่€Œๆ˜ฏๅˆฉ็”จๅˆ†่งฃๆณ•ใ€ๆธ่ฟ›ๆ˜Ž็ป†ๅ’Œ็ปŸ่ฎกๅˆ†ๆž็ญ‰ๅทฅ็จ‹ๆ€็ปด๏ผŒๅฏนๅฅๅบท้ฅฎ้ฃŸใ€็Ÿฅ่ฏ†ไฝ“็ณปใ€ๆ—ถ้—ดๅˆ†้…ๅŠ่ฟœ็จ‹ๅไฝœ่ฟ›่กŒไบ†็ณป็ปŸๅŒ–ๆ”น้€ ใ€‚่ฟ™ๆ˜ฏไธ€ไปฝๅ…ณไบŽๅฆ‚ไฝ•ๅœจๆ— ๅธธ็š„ๅค–้ƒจ็Žฏๅขƒไธญ๏ผŒๅปบ็ซ‹ๅ†…ๅœจ็กฎๅฎšๆ€ง็งฉๅบ็š„่กŒๅŠจๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/growth/inner-experience\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/refactor_life.png\",\"sticky\":1,\"top\":true,\"categories\":\"ไธชไบบๆˆ้•ฟ\",\"tags\":[\"ๅฅๅบท\",\"ๆ—ถ้—ด\",\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\",\"่ฟœ็จ‹ๅไฝœ\",\"็–ซๆƒ…\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/20.ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹้˜ถๆฎต้š็ฌ”ๆฑ‡ๆ€ป.md\",\"relativePath\":\"40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/20.ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹้˜ถๆฎต้š็ฌ”ๆฑ‡ๆ€ป.md\"},\"wordCount\":4009,\"readingTime\":\"13.5m\",\"frontmatter\":{\"date\":{},\"title\":\"็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ”นๅ–„็š„ๆ–นๅผๆŽจๅŠจๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไปŽโ€œไนฆ็”Ÿๆ„ๆฐ”โ€ๅˆฐๅˆๅ…ฅ็คพไผš็š„โ€œไธญๅนดๆฒน่…ปโ€ๅฑๆœบ๏ผŒไธ€ๆฌกๅฅๅบท่ญฆๆŠฅ่ฎฉ็ฌ”่€…ๅผ€ๅฏไบ†่ฟ™ๅœบๆทฑๅˆป็š„่‡ชๆˆ‘ๅฏน่ฏไธŽ่กŒๅŠจใ€‚ๆœฌๆ–‡่ฏฆ็ป†ๅค็›˜ไบ†็ฌ”่€…ไปŽๅฅๅบทๅฑๆœบๅ‡บๅ‘๏ผŒ้€š่ฟ‡ๅ››ไธช้˜ถๆฎต็š„ๅพชๅบๆธ่ฟ›๏ผŒๆˆๅŠŸๅฎž็Žฐไฝ“้‡็ฎก็†็š„่ฟ‡็จ‹ใ€‚ๅŒบๅˆซไบŽ็›ฒ็›ฎ่ทŸ้ฃŽ๏ผŒ็ฌ”่€…ๅœจๅฎž่ทตไธญๅผ•ๅ…ฅไบ†็›ฎๆ ‡ๆ‹†่งฃใ€ๆ•ฐๆฎ็›‘ๆŽง๏ผˆไฝ“่„‚็งคๆŒ‡ๆ ‡๏ผ‰ใ€่ทจ้ข†ๅŸŸ็ป้ชŒ่ฟ็งป๏ผˆๅฆ‚้กน็›ฎ็ฎก็†ใ€ๆ—ถ้—ด็ฎก็†๏ผ‰ไปฅๅŠๅฏนไธๅŒ็ญ–็•ฅ๏ผˆๅฆ‚ๆŽงๅˆถ้ฅฎ้ฃŸใ€ๅŠ ๅคงๆ— ๆฐง่ฟๅŠจใ€ๅฐ่ฏ•ไธๅƒไธป้ฃŸ๏ผ‰็š„่พฉ่ฏ้‡‡็บณใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ไปฝๅ‡่‚ฅ่ฎฐๅฝ•๏ผŒๆ›ดๆ˜ฏไธ€ๆฌก็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ€็ปด้‡ๆž„็”Ÿๆดป็งฉๅบใ€ๅฎž็Žฐ่บซๅฟƒๅ‡็บง็š„ๅฎžๆ“ๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/growth/weight-loss\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/health_bg.png\",\"top\":true,\"tags\":[\"ๅฅๅบท\",\"่ฟๅŠจ\"],\"categories\":[\"ไธชไบบๆˆ้•ฟ\"]}}],\"lastCommitTime\":\"2026-04-21 16:06:25\"},\"catalogues\":{\"arr\":[],\"map\":{},\"inv\":{}},\"posts\":{\"allPosts\":[{\"url\":\"/01.ๅ…จๆ ˆ/00.overview\",\"relativePath\":\"/01.ๅ…จๆ ˆ/00.overview\",\"frontmatter\":{\"date\":\"2026-03-19 23:05:50\",\"title\":\"ๅ…จๆ™ฏไธ€่งˆ\",\"description\":\"ๆœฌ็ณปๅˆ—ๅ›ด็ป•็Žฐไปฃๅ…จๆ ˆๅผ€ๅ‘็š„่ƒฝๅŠ›ไฝ“็ณปๅฑ•ๅผ€๏ผŒไปŽ AI ๆ—ถไปฃ็š„ๅทฅ็จ‹ๆ€็ปดๅ‡บๅ‘๏ผŒ่ฆ†็›–ๅ‰็ซฏๅทฅ็จ‹๏ผˆReact/Vue/CSS๏ผ‰ใ€ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป๏ผˆTypeScript/JavaScript๏ผ‰ใ€ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่็ญ‰ๆ ธๅฟƒ้ข†ๅŸŸ๏ผŒๅธฎๅŠฉๆž„ๅปบไปŽ\\\"่ฎค็Ÿฅๅฑ‚ โ†’ ๆŠ€ๆœฏ้ข†ๅŸŸ โ†’ ๅทฅ็จ‹่ƒฝๅŠ› โ†’ ๅŸบ็ก€่ฎพๆ–ฝ\\\"็š„ๅฎŒๆ•ดๅ…จๆ ˆ็Ÿฅ่ฏ†ๅ›พ่ฐฑใ€‚\",\"categories\":[\"ๅ…จๆ ˆ\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"permalink\":\"/fullstack/overview\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ…จๆ™ฏไธ€่งˆ\",\"date\":\"2026-03-19 23:05:50\",\"capture\":\"<script setup\\nimport ArticleCardList from '@fragment/components/ArticleCardList.vue'\\nimport { fullStackCategories } from '@fragment/data/full-stack-data'\\n</script>\\n<ArticleCardList :categories=\\\"fullStackCategories\\\" />\"},{\"url\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"relativePath\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"frontmatter\":{\"date\":\"2025-10-24 11:05:50\",\"title\":\"ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจ AI ้‡ๅก‘่ฝฏไปถๅทฅ็จ‹็š„ไปŠๅคฉ๏ผŒๅ…จๆ ˆไธๅ†ๆ˜ฏๆŠ€ๆœฏ็š„็บฟๆ€งๅ ๅŠ ๏ผŒๆญฃๅœจไปŽโ€œๆŠ€ๆœฏๆ ˆๅ †็ Œโ€่ฝฌๅ‘โ€œ่ฎค็Ÿฅๆ ˆ้‡ๆž„โ€ใ€‚ๆœฌๆ–‡ๆๅ‡บ โ€œ(ๅทฅ็จ‹ + ไบงๅ“) ร— AIโ€ ็š„ๆ–ฐๅ…ฌๅผ๏ผŒๅŠฉๅŠ›ๅผ€ๅ‘่€…ๆž„ๅปบโ€œๆดžๅฏŸ-ๆžถๆž„-ๆ ๆ†โ€่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”๏ผŒๅˆฉ็”จ AI ๆ ๆ†่ฎฉ่‡ชๅทฑ่ฟ›ๅŒ–ไธบไปทๅ€ผๅˆ›้€ ่€…ใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"permalink\":\"/fullstack/ai-native\",\"sticky\":1,\"top\":true,\"tags\":[\"ๅ…จๆ ˆ\",\"AI\",\"ไบงๅ“\"],\"categories\":[\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"date\":\"2025-10-24 11:05:50\",\"capture\":\"<script setup>\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n 1. ๅผ•่จ€\\nๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒๅฝ“ๆˆ‘ไปฌ่ฐˆ่ฎบโ€œๅ…จๆ ˆๅทฅ็จ‹ๅธˆโ€ๆ—ถ๏ผŒ่„‘ๆตทไธญๆตฎ็Žฐ็š„ๅพ€ๅพ€ๆ˜ฏไธ€ๅผ ๅ†—้•ฟไธ”ไปคไบบ็–ฒๆƒซ็š„ๆŠ€ๆœฏๅทฅๅบๆธ…ๅ•ใ€‚\\nๅฐฑๅƒๆˆ‘ๆ›พ็ปไปฅไธบ็š„้‚ฃๆ ท๏ผŒๅ…จๆ ˆๅฐฑๆ˜ฏ็บฟๆ€ง็š„ๆŠ€่ƒฝๅ ๅŠ ไธŽ็‰ฉ็†ๅผ็š„ๆŠ€ๆœฏๆ‹ผๆŽฅ๏ผŒๆ˜ฏไธ€็งไพ้ ไบบๅŠ›ๅŽปๅกซ่กฅๆŠ€ๆœฏ้ธฟๆฒŸ็š„โ€œ่ฅฟ่ฅฟๅผ—ๆ–ฏๅผโ€ๅŠชๅŠ›๏ผš\\n* ็บฟๆ€ง็š„ๆŠ€่ƒฝๅ ๅŠ ๏ผšๆˆ‘ไปฌ่ขซ่ฟซๆˆไธบโ€œๅ…จ่ƒฝๆ‰‹โ€๏ผŒๅทฆๆ‰‹็”จ React/Vue ๆž„ๅปบ็ฒพ็พŽ็š„ UI๏ผŒๅณๆ‰‹็”จ Node/Go ็ผ–ๅ†™้ซ˜ๅนถๅ‘ API๏ผŒไธญ้—ด่ฟ˜่ฆๅค„็†ๆ•ฐๆฎๅบ“็š„ ACI\"},{\"url\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/02.้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/02.้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-03-02 11:05:50\",\"title\":\"้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ AI ๆž้€Ÿ้™ไฝŽไปฃ็ ็ผ–ๅ†™้—จๆง›๏ผŒๅ•็บฏ็š„โ€œไธšๅŠกไปฃ็ ็ฟป่ฏ‘ๅ™จโ€่ง’่‰ฒๆญฃๅŠ ้€Ÿ่ดฌๅ€ผใ€‚ๆœฌๆ–‡ไปŽๆŠ€ๆœฏๆผ”่ฟ›ไธŽไบงๅ“ๆ€่€ƒ็š„ไบคๆฑ‡็‚นๅ‡บๅ‘๏ผŒๅฐ† AI ๆ—ถไปฃ็š„ๅผ€ๅ‘่€…่ƒฝๅŠ›ๅ›พ่ฐฑ้‡ๆ–ฐๅˆ’ๅˆ†ไธบไธ‰ๅคงๆ ธๅฟƒๅœˆๅฑ‚๏ผšไบงๅ“ๅบ”็”จๅฑ‚๏ผˆInsight Stack๏ผ‰ใ€Agent ๅผ€ๅ‘ๅฑ‚ไธŽ AI ๅŸบ็ก€่ฎพๆ–ฝๅฑ‚ใ€‚ๆ— ่ฎบไฝ ๆ˜ฏๆทฑ่€•่ง†ๅ›พๅฑ‚ไบคไบ’ใ€็ฒพ้€š Node.js ็ญ‰ๆœๅŠก็ซฏๆžถๆž„็š„ๅผ€ๅ‘่€…๏ผŒ่ฟ˜ๆ˜ฏ่‡ดๅŠ›ไบŽๆŠ€ๆœฏ่ฝๅœฐ็š„ๆŽข็ดข่€…๏ผŒ้ƒฝ่ƒฝๅœจ่ฟ™ไปฝๆผ”่ฟ›ๆŒ‡ๅ—ไธญๆ‰พๅˆฐๆ‰“็ ด่ƒฝๅŠ›่พน็•Œใ€ๅ‘โ€œ่ถ…็บงไธชไฝ“โ€ไธŽโ€œAI ๆ™บ่ƒฝไฝ“ๆŒ‡ๆŒฅๅฎ˜โ€่ทƒ่ฟ็š„็ ดๅฑ€ไน‹้“ใ€‚\",\"permalink\":\"/fullstack/ai-engineer-capability\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"top\":true,\"tags\":[\"ๅ…จๆ ˆ\",\"AI\"],\"categories\":[\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"date\":\"2026-03-02 11:05:50\",\"capture\":\"<script setup>\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/ai_engineering_arc.png\\\" style=\\\"width: 100%; border-radius: 8px; margin-bottom: 20px;\\\" alt=\\\"about site back\"},{\"url\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/10.่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"relativePath\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/10.่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"frontmatter\":{\"date\":\"2025-12-06 22:05:50\",\"title\":\"่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"description\":\"่ฝฏไปถๅทฅ็จ‹ๆญฃ็ปๅކไปŽโ€œๆ‰‹ๅ†™้€ป่พ‘โ€ๅ‘โ€œๆ„ๅ›พ่ฐƒๅบฆโ€็š„่Œƒๅผ่ฟๅพ™ใ€‚Anthropic ็š„็ ”็ฉถๆญ็คบไบ† AI ๅนถ้ž็ฎ€ๅ•็š„ๆๆ•ˆๅทฅๅ…ท๏ผŒ่€Œๆ˜ฏ้€š่ฟ‡้‡Šๆ”พ 27% ๆ›พ็ปโ€œไธๅˆ’็ฎ—โ€็š„ๅทฅ็จ‹ไปปๅŠก๏ผŒ้‡ๅก‘ไบ†่ฝฏไปถ่ดจ้‡็š„ๅฏ†ๅบฆใ€‚ๅœจ่‡ช็„ถ่ฏญ่จ€ๅณ็ผ–็จ‹่ฏญ่จ€็š„ๆ—ถไปฃ๏ผŒๆˆ‘ไปฌ้œ€่ฆ้€š่ฟ‡่ง„ๆ ผ้ฉฑๅŠจ๏ผˆSDD๏ผ‰ไธŽๅคšๆ™บ่ƒฝไฝ“็ผ–ๆŽ’๏ผŒ็ ด่งฃโ€œ็›‘็ฃๆ‚–่ฎบโ€ๅธฆๆฅ็š„ๆŠ€่ƒฝๅนณๅบธๅŒ–ๅฑๆœบ๏ผŒๅฐ† AI ็š„ๆฆ‚็އๆ€ง็”Ÿๆˆ้ฉฏๅŒ–ไธบ็กฎๅฎšๆ€ง็š„ๅทฅ็จ‹ไบคไป˜ใ€‚ๅฝ“็ผ–็ ๆˆๆœฌ่ถ‹ไบŽ้›ถ๏ผŒๅทฅ็จ‹ๅธˆ็š„็ปˆๆžๅฃๅž’ๅฐ†ๆ˜ฏๅฎšไน‰ๅฎŒ็พŽ็š„ๅ“ๅ‘ณ๏ผŒไปฅๅŠๅœจ AI ่ฟท้›พไธญ่ฏ†็ ดๅนณๅบธ็š„ๆดžๅฏŸๅŠ›ใ€‚\",\"permalink\":\"/fullstack/ai-change-work-workflow/\",\"top\":true,\"tags\":[\"ๅ…จๆ ˆ\",\"AI\"],\"categories\":[\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"date\":\"2025-12-06 22:05:50\",\"capture\":\"<script setup>\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\nๅœฐๅ€๏ผšHow AI is transforming work at Anthropic\\nๆ ธๅฟƒๆ ‡็ญพ๏ผš`AI่พ…ๅŠฉ็ผ–็จ‹` `ๅทฅ็จ‹` `่Œƒๅผ่ฝฌ็งป` `ๅทฅไฝœ่ฝฌๅž‹` `็”ŸไบงๅŠ›ๆๅ‡` `ๆŠ€่ƒฝๅ‘ๅฑ•` `ไบบๆœบๅไฝœ` \\nไธ€ๅฅ่ฏไป‹็ป๏ผšAnthropic ไธไป…ไป…ๆ˜ฏ AI ๅทฅๅ…ท็š„็”Ÿไบง่€…๏ผŒๆ›ดๆ˜ฏ็ฌฌไธ€ไธช่ฟ›ๅ…ฅโ€œๆœชๆฅๅฎž้ชŒๅฎคโ€็š„ๆทฑๅบฆ่ง‚ๅฏŸ่€…ใ€‚ไป–ไปฌ้€š่ฟ‡ๅ†…้ƒจๆ•ฐๆœˆ็š„ๅฎž้ชŒๆ•ฐๆฎๅ‘Š่ฏ‰ๆˆ‘ไปฌ๏ผšๅคงๆจกๅž‹ๅฏน่ฝฏไปถๅทฅ็จ‹็š„ๆ”น้€ ๏ผŒ็ป้ž็ฎ€ๅ•็š„โ€œๆๆ•ˆโ€๏ผŒ่€Œๆ˜ฏไธ€\"},{\"url\":\"/01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ\",\"frontmatter\":{\"date\":\"2025-11-25 00:52:28\",\"title\":\"AI ็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡ๆทฑๅบฆ่งฃๆžไบ† AI ้ฉฑๅŠจ็ผ–็จ‹็š„ไธ‰ๅคงๆผ”่ฟ›่Œƒๅผ๏ผšVibe Coding๏ผˆ่‡ช็„ถ่ฏญ่จ€้›ถ้—จๆง›ๆž„ๅปบ๏ผ‰ใ€AI IDE๏ผˆ็ผ–่พ‘ๅ™จๆทฑๅบฆ่พ…ๅŠฉๆๆ•ˆ๏ผ‰ๅŠ Agentic Engineering๏ผˆ่‡ชไธปๅทฅ็จ‹ๅธˆๆ‰ง่กŒไปปๅŠก๏ผ‰ใ€‚้€š่ฟ‡ๆจชๅ‘ๅฏนๆฏ” Bolt.newใ€Cursorใ€Claude Code ็ญ‰ๅ‰ๆฒฟๅทฅๅ…ท๏ผŒๆ–‡็ซ ๅ‹พๅ‹’ๅ‡บไธ€ๆกไปŽโ€œๅฟซ้€ŸๅŽŸๅž‹โ€ๅˆฐโ€œ้ซ˜ๆ•ˆๅๅŒโ€ๅ†ๅˆฐโ€œ่‡ชไธปไบคไป˜โ€็š„่ฟ›้˜ถ่ทฏๅพ„ใ€‚ๆ ธๅฟƒๆ—จๅœจๆŒ‡ๅฏผ็”จๆˆทๅˆฉ็”จ AI ๅทฅๅ…ท็Ÿฉ้˜ตๆ‰“็ ดๆŠ€ๆœฏ่พน็•Œ๏ผŒๅฎž็ŽฐไปŽๅˆ›ๆ„ๆ่ฟฐๅˆฐๅทฅไธš็บงไบคไป˜็š„็”ŸไบงๅŠ›้ฃž่ทƒ๏ผŒ้‡ๅก‘่ฝฏไปถๅผ€ๅ‘ๅ…จ็”Ÿๅ‘ฝๅ‘จๆœŸใ€‚\",\"permalink\":\"/ai-learning/ai-coding-resources\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/source_sites_bg.png\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"AI Coding\",\"Vibe Coding\",\"Agentic Engineering\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"AI ็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่\",\"date\":\"2025-11-25 00:52:28\",\"capture\":\"1. ไธ‰็ง็ผ–็จ‹่Œƒๅผ้€Ÿ่งˆ\\n| ่Œƒๅผ | ไธ€ๅฅ่ฏๆ่ฟฐ | ไฝ ็š„่ง’่‰ฒ |\\n|:-----|:---------|:--------|\\n| Vibe Coding | ็”จ่‡ช็„ถ่ฏญ่จ€ๆ่ฟฐ้œ€ๆฑ‚๏ผŒAI ็›ดๆŽฅ็”Ÿๆˆๅฏ่ฟ่กŒ็š„ๅฎŒๆ•ด้กน็›ฎ | ๆ่ฟฐ้œ€ๆฑ‚๏ผŒ่ฎฉ AI ๅ†™ไปฃ็ (```ๆ–ฐๆ‰‹ๅ‹ๅฅฝ```) |\\n| AI IDE | ๅœจ็ผ–่พ‘ๅ™จ้‡Œๅผ•ๅ…ฅ AI ่พ…ๅŠฉ๏ผŒ่พนๅ†™่พน่กฅๅ…จใ€่พน้—ฎ่พนๆ”น | ไธปๅฏผๅผ€ๅ‘๏ผŒ่ฎฉ AI ๅšๅ‰ฏ้ฉพ้ฉถ(```ๆ›ดๅคšๆŽงๅˆถ```) |\\n| Agentic Engineering | AI ไฝœไธบ\\\"่‡ชไธปๅทฅ็จ‹ๅธˆ\\\"๏ผŒๆŽฅๆ”ถไปปๅŠกๅŽ่‡ชๅŠจ่ง„ๅˆ’ๅนถๆ‰ง่กŒๅ…จๅฅ—ไปฃ็ ๅทฅไฝœๆต | ๆไปปๅŠกใ€ๅฎก็ป“ๆžœ๏ผŒ่ฎฉ AI ๆ‰ง่กŒ(```ๆž่‡ดๆๆ•ˆ```) |\\nๆ–ฐๆ‰‹่ทฏ็บฟๅปบ่ฎฎ๏ผšๅ…ˆ\"},{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-02-10 23:33:19\",\"title\":\"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ๅฝ“ AI ๆ‰ฟๆŽฅไบ† 30% ็š„็ผ–็ ๆ‰ง่กŒๆ—ถ๏ผŒๅผ€ๅ‘่€…้œ€้€š่ฟ‡โ€œ่ง„ๆ ผ้ฉฑๅŠจ๏ผˆSDD๏ผ‰โ€้‡ๅคบ 70% ็š„่ฎพ่ฎกไธปๆƒ๏ผšไปŽ่‡ชๆฒป็ป„ไปถๅˆ’ๅˆ†ๅˆฐๅ•ๅ‘ๆ•ฐๆฎๆตๆ‹“ๆ‰‘็š„ๆทฑๅบฆๆŽจๆผ”ใ€‚\",\"description\":\"ๆœฌๆ–‡ๆŽข่ฎจๅœจ AI ๅขžๅผบๅผ€ๅ‘่ƒŒๆ™ฏไธ‹๏ผŒๅฆ‚ไฝ•้‡ๅก‘ React ็ป„ไปถ่ฎพ่ฎกๅŽŸๅˆ™ใ€‚ๆถต็›– SRP ่Œ่ดฃๅˆ’ๅˆ†ใ€้™ๆ€็‰ˆๆœฌๅŸบ็บฟใ€ๆœ€ๅฐ็Šถๆ€๏ผˆDerived Data๏ผ‰ๆŽจๅฏผไปฅๅŠ SDD ไบบๆœบๅไฝœๆจกๅผ็š„ๅทฅ็จ‹่ฝๅœฐใ€‚\",\"tags\":[\"tutorial\",\"react\",\"component-design\",\"state-management\",\"ai-augmented\",\"specification-driven\"],\"permalink\":\"/fullstack/react-design-philosophy-ai-augmented\",\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-02-10 23:33:19\",\"capture\":\"<script setup\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n 1. ๅผ•่จ€\\nๅœจ่ฝฏไปถๅทฅ็จ‹ไธญ๏ผŒ็บฆ 70% ็š„ๆ—ถ้—ดๅบ”ๆŠ•ๅ…ฅไบŽๆžถๆž„่ฎพ่ฎกใ€้œ€ๆฑ‚ๆ‹†่งฃไธŽๆŽฅๅฃ่ฏญไน‰ๆŽจๆ•ฒ๏ผŒไป… 30% ็”จไบŽๅฎž้™…็ผ–็ ใ€‚่ฟ›ๅ…ฅ AI ๅไฝœๆ—ถไปฃๅŽ๏ผŒ่ฟ™ไธ€ๆฏ”ไพ‹ไพ็„ถๅšๅฆ‚็ฃ็Ÿณโ€”โ€”ๅผ€ๅ‘่€…ๅฟ…้กปๅ…ˆๅฎŒๆˆๆทฑๅบฆๆ€่€ƒ๏ผŒๅฐ†โ€œๆธ…ๆ™ฐ็š„้—ฎ้ข˜่ง„ๆ ผ๏ผˆSpecification๏ผ‰โ€ไบค็ป™ AI๏ผŒAI ๆ‰่ƒฝ่พ“ๅ‡บ้ซ˜่ดจ้‡ไปฃ็ ใ€‚<HighLightText type=\\\"note\\\" bold>AI ๆๅ‡็š„ๆ˜ฏ 30% ็ผ–็ ้˜ถๆฎต็š„ๆ‰ง่กŒๅŠ›๏ผŒ่€Œ้žๅ–\"},{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/02.CSSๅทฅ็จ‹ๅŒ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/02.CSSๅทฅ็จ‹ๅŒ–\",\"frontmatter\":{\"date\":\"2026-03-10 22:05:50\",\"title\":\"ไปŽๅŽŸๅญๅŒ–ๅˆฐๅ˜ไฝ“้ฉฑๅŠจ๏ผš็Žฐไปฃ CSS ๅทฅ็จ‹ๅŒ–็š„ๆžถๆž„ๆผ”่ฟ›ไธŽๆททๅˆๅฎž่ทตๆŒ‡ๅ—\",\"description\":\"ๆœฌๆ–‡็ณป็ปŸๅ‰–ๆžไธปๆต CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆ็š„ๅบ•ๅฑ‚้€ป่พ‘๏ผŒๆๅ‡บโ€œๆ ทๅผ่ต„ไบง ROIโ€่ฏ„ไผฐๆจกๅž‹๏ผŒๅนถ้’ˆๅฏน Vue/React ็”Ÿๆ€็ป™ๅ‡บไบ†้ขๅ‘ AI ๆ—ถไปฃ็š„ไผไธš็บงๆททๅˆๆžถๆž„้€‰ๅž‹ๅปบ่ฎฎใ€‚\",\"permalink\":\"/full-stack/css-engineering\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"top\":true,\"categories\":[\"ๅ…จๆ ˆ\"],\"tags\":[\"ๅ…จๆ ˆ\",\"CSS\",\"ๅทฅ็จ‹ๅŒ–\",\"tailwindcss\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไปŽๅŽŸๅญๅŒ–ๅˆฐๅ˜ไฝ“้ฉฑๅŠจ๏ผš็Žฐไปฃ CSS ๅทฅ็จ‹ๅŒ–็š„ๆžถๆž„ๆผ”่ฟ›ไธŽๆททๅˆๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-03-10 22:05:50\",\"capture\":\"1. ๅผ•่จ€๏ผšไธปๆต CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆๆœ‰ๅ“ชไบ›๏ผŸ\\nๅœจ็Žฐไปฃๅ‰็ซฏๅผ€ๅ‘ไธญ๏ผŒ้š็€้กน็›ฎๅคๆ‚ๅบฆ็š„ๆ€ฅๅ‰งๆๅ‡๏ผŒๅŽŸ็”Ÿ CSS ๅธธๅธธ้ขไธดๅ…จๅฑ€ๆฑกๆŸ“ใ€ๅค็”จๅ›ฐ้šพใ€ๅฑ‚็บงๅตŒๅฅ—่ฟ‡ๆทฑไปฅๅŠ็ปดๆŠคๆˆๆœฌๆž้ซ˜็ญ‰้—ฎ้ข˜ใ€‚ไธบไบ†่งฃๅ†ณ่ฟ™ไบ›็—›็‚น๏ผŒ็คพๅŒบๅคšๅนดๆฅไธๆ–ญๆŽข็ดข๏ผŒๆฒ‰ๆท€ๅ‡บไบ†ๅคš็งไธปๆต็š„ CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆใ€‚\\n้™คๅŽŸ็”Ÿ CSS ไน‹ๅค–๏ผŒไธปๆตๆ–นๆกˆ่ฟ˜ๅŒ…ๆ‹ฌ้ข„ๅค„็†ๅ™จใ€CSS-in-JSใ€CSS Moduleใ€Scoped CSSใ€ๅŽŸๅญๅŒ– CSS ็ญ‰ใ€‚BEM ไฝœไธบไธ€็งๅŸบไบŽๅ‘ฝๅ็บฆๅฎšๆฅ่ง„้ฟๅ‘ฝๅๅ†ฒ็ช็š„ๆ—ฉๆœŸๆ–นๆกˆ๏ผŒๅœจ็Žฐไปฃๅ‰็ซฏๅทฅ็จ‹ไธญๅทฒๅŸบๆœฌไธๅ†ไฝฟ็”จ๏ผŒๅ› ๆญคๆœฌๆ–‡ไธๅ†ๅฏนๅ…ถๅฑ•ๅผ€่ฏฆ็ป†ๅˆ†ๆžใ€‚\\n> CSS ๅ‘ฝๅ่ง„่Œƒ๏ผˆBEM๏ผ‰๏ผš้€š่ฟ‡ไธฅๆ ผ็š„ๅ‘ฝๅ็บฆๅฎš๏ผˆๅฆ‚ Block__Element--Modif\"},{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2025-11-14 22:33:39\",\"title\":\"JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"aliases\":[\"้™ๆ€็ซ™็‚น็”Ÿๆˆๅ™จ\",\"SSG\"],\"tldr\":\"้ข„ๆธฒๆŸ“้™ๆ€้กต้ข + ๅŠจๆ€ API๏ผŒCDN ๅˆ†ๅ‘ๅ…จ็ƒ๏ผŒๆ›ฟไปฃไผ ็ปŸๅŠจๆ€็ฝ‘็ซ™็š„ๅผ€ๅ‘้ƒจ็ฝฒ่Œƒๅผ\",\"description\":\"ไปŽๆ ธๅฟƒๆฆ‚ๅฟตใ€ๅทฅๅ…ท้“พ้€‰ๅž‹๏ผˆNext.js/Vercel/Supabase/Contentful๏ผ‰ๅˆฐไปŽ 0 ๆญๅปบๅšๅฎข็š„ๅฎŒๆ•ดๅฎž่ทต๏ผŒ่ฆ†็›– JAMStack ้€‚็”จไธŽไธ้€‚็”จๅœบๆ™ฏ๏ผŒๅธฎๅŠฉๅˆคๆ–ญไฝ•ๆ—ถ้€‰็”จ่ฏฅๆžถๆž„ใ€‚\",\"permalink\":\"/fullstack/jamstack\",\"tags\":[\"tutorial\",\"jamstack\",\"frontend-architecture\",\"next.js\",\"static-site-generator\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2025-11-14 22:33:39\",\"capture\":\"> \\n> ๅ…ถๆ ธๅฟƒๆœบๅˆถๆ˜ฏๅœจๆž„ๅปบๆ—ถๅฐ†้กต้ข้ข„ๆธฒๆŸ“ไธบ้™ๆ€ HTML/CSS/JS๏ผŒ้ƒจ็ฝฒ่‡ณ CDN ไพ›็”จๆˆทๅฐฑ่ฟ‘ๅŠ ่ฝฝ๏ผŒไป…ๅœจ้œ€่ฆๅŠจๆ€ๆ•ฐๆฎๆ—ถ้€š่ฟ‡ JavaScript ่ฐƒ็”จ API ่Žทๅ–ใ€‚็›ธ่พƒไบŽไผ ็ปŸๅŠจๆ€็ฝ‘็ซ™๏ผŒJAMStack ๅœจๆ€ง่ƒฝใ€ๅฏ้ ๆ€งใ€ๆ‰ฉๅฑ•ๆ€งใ€ๅฎ‰ๅ…จๆ€งๅŠ่ฟ็ปดๆˆๆœฌไธŠๅ…ทๆœ‰ๆ˜พ่‘—ไผ˜ๅŠฟใ€‚\\n> \\n> ๆœฌๆ–‡ๆขณ็†ไบ†ไธปๆตๆž„ๅปบๅทฅๅ…ท๏ผˆGatsbyใ€Next.jsใ€Nuxt.jsใ€11ty๏ผ‰ใ€้™ๆ€ๆ‰˜็ฎกๅนณๅฐ๏ผˆVercelใ€Netlifyใ€Cloudflare Pages๏ผ‰ใ€API/BaaS ๆœๅŠก๏ผˆSupabaseใ€Firebaseใ€Auth0๏ผ‰ๅŠๆ— ๅคด CMS๏ผˆContentfulใ€Sanityใ€Strapi\"},{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/11.React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/11.React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"frontmatter\":{\"date\":\"2025-11-15 09:20:23\",\"title\":\"ไธๆญขไบŽ Fetch๏ผšReact ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"aliases\":[\"SWR\",\"TanStack Query\",\"React\",\"ๆœๅŠก็ซฏ็Šถๆ€\",\"ไน่ง‚ๆ›ดๆ–ฐ\",\"ๅทฅ็จ‹ๅŒ–\"],\"tldr\":\"ๆทฑๅ…ฅ่งฃๆž SWR ็š„ๆž็ฎ€ๅ่ฎฎไธŽ TanStack Query ็š„็ฒพๅฏ†็Šถๆ€ๆœบใ€‚้€š่ฟ‡ๅฏนๆฏ”็ผ“ๅญ˜ๅคฑๆ•ˆใ€ไน่ง‚ๆ›ดๆ–ฐ็ญ‰ๆ ธๅฟƒๅœบๆ™ฏ๏ผŒไธบ้ซ˜ๅคๆ‚ๅบฆ B ็ซฏๅบ”็”จไธŽ่ฝป้‡็บง้กน็›ฎๆไพ›ๆธ…ๆ™ฐ็š„ๆžถๆž„้€‰ๅž‹ๆจกๅž‹ใ€‚\",\"description\":\"ๆทฑๅบฆๅฏนๆฏ” React ็”Ÿๆ€ไธญ SWR ไธŽ TanStack Query ไธคๅคงๆ–นๆกˆใ€‚ไปŽ stale-while-revalidate ๆœบๅˆถๅˆฐๅผ‚ๆญฅ็Šถๆ€ๆœบๆžถๆž„๏ผŒๆถต็›–ไพ่ต–ๆŸฅ่ฏขใ€ๆ•ฐๆฎ่ฝฌๆขๅŠๆžถๆž„็บงไน่ง‚ๆ›ดๆ–ฐๅฎžๆˆ˜ใ€‚ๆ—จๅœจๅธฎๅŠฉๅผ€ๅ‘่€…ๅœจๅคๆ‚ไธšๅŠกไธญๆž„ๅปบ็กฎๅฎšๆ€ง็š„ๆœๅŠก็ซฏ็Šถๆ€ๅŸบๅบงใ€‚\",\"permalink\":\"/fullstack/server-state-management\",\"tags\":[\"SWR\",\"TanStack Query\",\"ๅ‰็ซฏๅทฅ็จ‹\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไธๆญขไบŽ Fetch๏ผšReact ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"date\":\"2025-11-15 09:20:23\",\"capture\":\"1. ๅผ•่จ€\\nๅœจ็Žฐไปฃๅ‰็ซฏๅทฅ็จ‹ไธญ๏ผŒ็Šถๆ€ๅฏไธฅๆ ผๅŒบๅˆ†ไธบ UI ็Šถๆ€๏ผˆUI State๏ผ‰ ไธŽ ๆœๅŠก็ซฏ็Šถๆ€๏ผˆServer State๏ผ‰ ไธค็ฑปใ€‚ๅฏนไบŽ UI ็Šถๆ€็š„็ฎก็†๏ผŒๅผ€ๅ‘่€…ๅทฒ่พƒไธบ็†Ÿๆ‚‰๏ผŒ้€šๅธธๅฏๅ€ŸๅŠฉ `useState`ใ€`useEffect` ็ญ‰ Hooks๏ผŒๆˆ– `zustand`ใ€`jotai` ็ญ‰็Šถๆ€็ฎก็†ๅบ“ๆฅๅฎž็Žฐใ€‚็„ถ่€Œ๏ผŒๆœๅŠก็ซฏ็Šถๆ€็š„็ฎก็†ๅพ€ๅพ€็ผบไน็ปŸไธ€ไธ”้ซ˜ๆ•ˆ็š„่งฃๅ†ณๆ–นๆกˆ๏ผŒๅผ€ๅ‘่€…้€šๅธธ้œ€่ฆ่‡ช่กŒๅฎž็Žฐใ€‚\\nๅœจไผ ็ปŸ็š„ๆ•ฐๆฎ่Žทๅ–ๆต็จ‹ไธญ๏ผŒๆˆ‘ไปฌไธ€่ˆฌไฝฟ็”จ `fetch` ๆˆ– `axios` ๅ‘ๅŽ็ซฏๆˆ– REST API ๅ‘้€ HTTP ่ฏทๆฑ‚๏ผŒ้šๅŽๆ‰‹ๅŠจๅฐ†ๆ•ฐๆฎ่Žทๅ–้€ป่พ‘ไธŽๅ‰็ซฏไธšๅŠก้€ป่พ‘ๅŠ UI ็Šถๆ€็ฎก็†่ฟ›่กŒๆ•ดๅˆ๏ผŒไปฅๅฎŒๆˆๆ•ฐๆฎๅค„็†ๅนถ้ฉฑๅŠจ็•Œ้ขๆ›ดๆ–ฐ\"},{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-02-24 08:40:31\",\"title\":\"Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"tldr\":\"ๆทฑๅ…ฅๅˆ†ๆžไบ”็ง Web ้€šไฟกๅ่ฎฎ๏ผŒๆไพ› AI ๆ—ถไปฃ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—ไธŽๆœ€ไฝณๅฎž่ทตใ€‚\",\"description\":\"ๆทฑๅ…ฅๅ‰–ๆžไผ ็ปŸ HTTPใ€ๆตๅผ HTTPใ€SSEใ€WebSocketใ€Webhooksใ€HTTP ่ฝฎ่ฏข็š„ๅŽŸ็†ไธŽ็‰นๆ€ง๏ผŒ็ป“ๅˆ AI ๅœบๆ™ฏๆไพ›ๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–็Ÿฉ้˜ตใ€‚\",\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"tags\":[\"HTTP\",\"HTTP ่ฝฎ่ฏข\",\"SSE\",\"WebSocket\",\"Webhooks\"],\"permalink\":\"/fullstack/networking-protocol-selection-guide\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"date\":\"2026-02-24 08:40:31\",\"capture\":\"1. ๅผ•่จ€\\nHTTP ๆ˜ฏไธ€็งๅŸบไบŽๆ–‡ๆœฌ็š„้€šไฟกๅ่ฎฎ๏ผŒไธป่ฆ็”จไบŽ Web ๆต่งˆๅ™จใ€็งปๅŠจๅบ”็”จใ€ๆกŒ้ขๅบ”็”จ็ญ‰ๅฎขๆˆท็ซฏๅ’Œ Web ๆœๅŠกๅ™จไน‹้—ด็š„ๆ•ฐๆฎไผ ่พ“ใ€‚ไผ ็ปŸ HTTP ้‡‡็”จๅŒๆญฅ็š„่ฏทๆฑ‚-ๅ“ๅบ”ๆจกๅผ๏ผš`่ฏทๆฑ‚ -> ็ญ‰ๅพ… -> ๅฎŒๆ•ดๅ“ๅบ”`ใ€‚่ฟ™็งๆ–นๅผ่™ฝ่ƒฝๆปก่ถณๅคงๅคšๆ•ฐๅœบๆ™ฏ๏ผŒไฝ†ๅœจๅฎžๆ—ถๆ€ง่ฆๆฑ‚่พƒ้ซ˜็š„้ข†ๅŸŸโ€”โ€”ๅฆ‚ๆธธๆˆใ€่Šๅคฉใ€่ง†้ข‘ไผš่ฎฎ๏ผŒไปฅๅŠ AI ๆ—ถไปฃ็š„ๅฏน่ฏๅผๅบ”็”จโ€”โ€”ๅดๆ˜พๅพ—ๅŠ›ไธไปŽๅฟƒใ€‚\\nไธบ่งฃๅ†ณ่ฟ™ไธ€้—ฎ้ข˜๏ผŒไธš็•Œๅ‘ๅฑ•ๅ‡บไบ†ๅคš็งๅฎžๆ—ถ Web ้€šไฟกๆ–นๆกˆใ€‚ๆœฌๆ–‡ๅฐ†ๅ›ด็ป• ๆตๅผ HTTPใ€SSEใ€WebSocketใ€Webhooksใ€HTTP ่ฝฎ่ฏข ่ฟ™ไบ”็งไธปๆตๆŠ€ๆœฏ๏ผŒไปŽๅŽŸ็†ใ€็‰นๆ€งใ€้€‚็”จๅœบๆ™ฏๅ‡บๅ‘๏ผŒๆŽข่ฎจๅฎƒไปฌๅœจ็Žฐไปฃๅˆ†ๅธƒๅผๆžถๆž„ไธญ็š„้€‰ๅž‹็ญ–็•ฅไธŽๅทฅ็จ‹ๅฎž่ทตใ€‚\\n 2\"},{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"frontmatter\":{\"date\":\"2026-03-05 16:54:35\",\"title\":\"ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"aliases\":[\"Server-Sent Events\",\"HTTP Streaming\"],\"tldr\":\"ๆทฑๅ…ฅ่งฃๆžๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผŒๆไพ›ไปŽๆฆ‚ๅฟตๅˆฐ็”Ÿไบงๅฎž่ทต็š„ๅฎŒๆ•ด่งฃๅ†ณๆ–นๆกˆใ€‚\",\"description\":\"่พจๆžๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ็š„ๆฆ‚ๅฟตไธŽๅฑ‚ๆฌกๅ…ณ็ณป๏ผŒ่ฏฆ่งฃๅฎขๆˆท็ซฏไธŽๆœๅŠก็ซฏๅฎž็Žฐๆ–นๆกˆ๏ผŒๆไพ›็”Ÿไบงๅฎž่ทตๅฎŒๆ•ดๆŒ‡ๅ—ใ€‚\",\"tags\":[\"tutorial\",\"SSE\",\"HTTP Streaming\",\"ๅ…จๆ ˆ\"],\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"permalink\":\"/fullstack/networking/sse-practice\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"date\":\"2026-03-05 16:54:35\",\"capture\":\"<script setup\\n import HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n> ๆ‘˜่ฆๆ€ป็ป“: ้’ˆๅฏนๅผ€ๅ‘่€…ๅฎนๆ˜“ๆททๆท†ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ็š„้—ฎ้ข˜๏ผŒไปŽๆฆ‚ๅฟตๅฑ‚ๆฌกๅ‡บๅ‘ๅŽ˜ๆธ…ไบŒ่€…ๆœฌ่ดจๅŒบๅˆซไธŽๅไฝœๅ…ณ็ณป๏ผŒๆŒ‡ๅ‡บๆตๅผ HTTP ๆ˜ฏๅบ•ๅฑ‚ไผ ่พ“ๆœบๅˆถ่€Œ SSE ๆ˜ฏๅบ”็”จๅฑ‚ๆ•ฐๆฎๆ ผๅผ็บฆๅฎšใ€‚ๆ–‡็ซ ไพๆฌกไป‹็ปๅŽŸ็”Ÿ EventSource APIใ€fetch + ReadableStream ่ฟ›้˜ถๆ–นๆกˆใ€@microsoft/fetch-event-source ๅทฅไธš็บงๅฎž็Žฐ็ญ‰ไธ‰็งๅฎขๆˆท็ซฏๆ–นๆกˆ๏ผŒๅนถไปฅ Nes\"},{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"frontmatter\":{\"date\":\"2026-02-25 22:10:48\",\"title\":\"HTTP ่ฝฎ่ฏขไผ˜ๅŒ–ๆŒ‡ๅ—๏ผš้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"tldr\":\"่ฏฆ่งฃ้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅฎž็ŽฐๅŽŸ็†๏ผŒๆไพ› HTTP ่ฝฎ่ฏขไผ˜ๅŒ–็ญ–็•ฅไธŽ้€‰ๅž‹ๅ†ณ็ญ–ๆ ‘ใ€‚\",\"description\":\"ๆทฑๅ…ฅๅ‰–ๆž้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๆ ธๅฟƒๆœบๅˆถ๏ผŒๆไพ› TypeScript/NestJS ๅฎžๆˆ˜ไปฃ็ ๏ผŒๅนถๆž„ๅปบๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–ๆ ‘ไธŽ้€‚็”จๅœบๆ™ฏ้€ŸๆŸฅใ€‚\",\"tags\":[\"HTTP ่ฝฎ่ฏข\",\"้€€้ฟ่ฝฎ่ฏข\",\"้•ฟ่ฝฎ่ฏข\"],\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"permalink\":\"/fullstack/networking-polling-optimization\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"HTTP ่ฝฎ่ฏขไผ˜ๅŒ–ๆŒ‡ๅ—๏ผš้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"date\":\"2026-02-25 22:10:48\",\"capture\":\"1. ๅผ•่จ€\\nๅœจ็Žฐไปฃ Web ๅผ€ๅ‘ไธญ๏ผŒWebSocket ๅ’Œ Server-Sent Events (SSE) ๅธธๅธธ่ขซ่ง†ไธบๅฎžๆ—ถ้€šไฟก็š„้“ถๅผนใ€‚็„ถ่€Œ๏ผŒHTTP ่ฝฎ่ฏข๏ผˆPolling๏ผ‰ไฝœไธบๆœ€ๆœด็ด ็š„ๅฎžๆ—ถ้€šไฟกๆ–นๆกˆ๏ผŒ้žไฝ†ๆฒกๆœ‰้€€ๅ‡บๅކๅฒ่ˆžๅฐ๏ผŒๅ่€Œๅœจ็‰นๅฎš็š„ๅคๆ‚ไธšๅŠกๅœบๆ™ฏไธญๅคงๆ”พๅผ‚ๅฝฉใ€‚\\n> ๐Ÿ“– ๅฆ‚ๆžœไฝ ๅฏน HTTP ่ฝฎ่ฏขๅœจๆ•ดไธช Web ้€šไฟกๅ่ฎฎไฝ“็ณปไธญ็š„ๅฎšไฝๅฐšไธๆธ…ๆ™ฐ๏ผŒๆŽจ่ๅ…ˆ้˜…่ฏป Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—๏ผŒไบ†่งฃ่ฝฎ่ฏขไธŽ็Ÿญ่ฟžๆŽฅใ€้•ฟ่ฟžๆŽฅใ€WebSocketใ€SSE ็ญ‰ๆ–นๆกˆ็š„ๆผ”่ฟ›ๅ…ณ็ณปไธŽ้€‚็”จ่พน็•Œ๏ผŒๅ†็ป“ๅˆๆœฌๆ–‡ๆทฑๅ…ฅๅฎž่ทตใ€‚\\nๅœจๅฝ“ๅ‰ไผ—ๅคš้กถ็บง็š„ AI AIGC ๅบ”็”จ๏ผˆๅฆ‚ Midjourne\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2024-03-20 22:41:41\",\"title\":\"ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ๅœจ้œ€ๆฑ‚่พน็•Œๅ†…่ฟฝๆฑ‚ๆœ€ๅฐๅคๆ‚ๅบฆโ€”โ€”ไธๆ˜ฏๆ‹’็ปๅคๆ‚๏ผŒ่€Œๆ˜ฏไธไธปๅŠจๅˆถ้€ ๅคๆ‚ใ€‚\",\"description\":\"ๆทฑๅ…ฅ่งฃๆžๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™ๅœจ็ผ–็จ‹ไธŽ่ฎพ่ฎกไธญ็š„ๅ…ญๅคงๅœบๆ™ฏ๏ผšๆ‹’็ป่ฟ‡ๅบฆ้ข„ๅˆคใ€็งป้™คๅ†—ไฝ™้€ป่พ‘ใ€ๅŒน้…ๆžถๆž„่ง„ๆจกใ€ๅ…‹ๅˆถไพ่ต–ๅผ•ๅ…ฅใ€ๅฐ่ฃ…ๆœ€ๅฐๆŽฅๅฃใ€ๅ…ˆๆŽ’ๆŸฅ็ฎ€ๅ•ๅŽŸๅ› ๏ผŒๅนถ็ป™ๅ‡บไธ‰ไธชๅ…ณ้”ฎ่พน็•Œใ€‚\",\"permalink\":\"/fullstack/occams-razor-software-design\",\"tags\":[\"concept\",\"engineering-fundamentals\",\"code-design\",\"software-engineering\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2024-03-20 22:41:41\",\"capture\":\"<script setup\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n> ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™็”ฑ 14 ไธ–็บช้€ป่พ‘ๅญฆๅฎถๅจๅป‰ยทๅฅฅๅกๅง†ๆๅ‡บ๏ผŒๅ…ถๆ ธๅฟƒไธบ\\\"ๅฆ‚ๆ— ๅฟ…่ฆ๏ผŒๅ‹ฟๅขžๅฎžไฝ“\\\"โ€”โ€”ๅœจๅคšไธชๅŒ็ญ‰ๆœ‰ๆ•ˆ็š„ๆ–นๆกˆไธญ๏ผŒ้€‰ๆ‹ฉๅ‡่ฎพๆœ€ๅฐ‘ใ€ๆœ€็ฎ€ๆด็š„้‚ฃไธชใ€‚่ฏฅๅŽŸๅˆ™ๅนถ้žๅฆๅฎšๅคๆ‚ๆ€ง๏ผŒ่€Œๆ˜ฏ้ฟๅ…ๆ— ๆ„ไน‰็š„่ฟ‡ๅบฆ่ฎพ่ฎกใ€‚ๆ–‡็ซ ไปŽ็ผ–็จ‹ไธŽ่ฎพ่ฎกๅฎž่ทตๅ‡บๅ‘๏ผŒไพๆฌกๆŽข่ฎจไบ†้œ€ๆฑ‚ๅฎž็Žฐใ€ไปฃ็ ๅฎž็Žฐใ€ๆžถๆž„่ฎพ่ฎกใ€ไพ่ต–็ฎก็†ใ€ๆŽฅๅฃ่ฎพ่ฎกใ€่ฐƒ่ฏ•ไผ˜ๅŒ–ๅ…ญๅคงๅœบๆ™ฏ็š„ๅไพ‹ไธŽๆญฃไพ‹๏ผŒๅนถๆ˜Ž็กฎๆŒ‡ๅ‡บไธ‰ไธชๅ…ณ้”ฎ่พน็•Œ๏ผšไธๅฏ็‰บ็‰ฒๅฏ็ปดๆŠคๆ€งใ€ๅฏๆ‰ฉๅฑ•ๆ€งใ€ๅฎ‰ๅ…จๆ€งๆขๅ–็ฎ€ๆดใ€‚\\n 1.\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2025-08-12 22:47:47\",\"title\":\"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—\",\"tldr\":\"TypeScript ๅฎŒๅ–„็š„็ผ–่ฏ‘ไฝ“็ณปไธŽ่ฐƒ่ฏ•ๅทฅๅ…ท้“พ๏ผŒๆ˜ฏๆž„ๅปบ้ซ˜่ดจ้‡ๅบ”็”จ็š„ๅŸบ็Ÿณใ€‚\",\"description\":\"ๆทฑๅ…ฅ่งฃๆž TypeScript ็ผ–่ฏ‘ๅทฅๅ…ท้“พไธŽ่ฐƒ่ฏ•ไฝ“็ณป๏ผŒๆถต็›– tsconfig.json ๆ ธๅฟƒ้…็ฝฎใ€Monorepo ้กน็›ฎ้…็ฝฎ๏ผˆextends/references๏ผ‰ใ€source map ่ฐƒ่ฏ•ใ€ESLint ไธŽ Jest ๅ•ๅ…ƒๆต‹่ฏ•็ญ‰ๅฎŒๆ•ดๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/typescript-compilation-debugging-guide\",\"tags\":[\"tutorial\",\"typescript\",\"compilation\",\"tooling\",\"eslint\",\"jest\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—\",\"date\":\"2025-08-12 22:47:47\",\"capture\":\"็ผ–ๅ†™ไปฃ็ ๅชๆ˜ฏๅผ€ๅ‘ๅทฅไฝœ็š„่ตท็‚น๏ผŒ็œŸๆญฃๅ†ณๅฎš้กน็›ฎ่ดจ้‡็š„ๆ˜ฏๅŽ็ปญ็š„็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•็Žฏ่Š‚ใ€‚TypeScript ไฝœไธบ JavaScript ็š„้™ๆ€็ฑปๅž‹่ถ…้›†๏ผŒไธไป…ๅธฆๆฅไบ†็ฑปๅž‹ๅฎ‰ๅ…จ๏ผŒๆ›ดๆไพ›ไบ†ๅผบๅคง็š„็ผ–่ฏ‘ๅทฅๅ…ทๅ’Œ่ฐƒ่ฏ•่ƒฝๅŠ›๏ผŒ่ฎฉๆˆ‘ไปฌ่ƒฝๅคŸๆ›ด้ซ˜ๆ•ˆๅœฐๆž„ๅปบๅ’Œ็ปดๆŠคๅฏ้ ็š„ๅบ”็”จ็จ‹ๅบใ€‚\\nๆœฌๆ–‡ๅฐ†ๅฏน TypeScript ้กน็›ฎ็š„็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•่ฟ›่กŒๆขณ็†๏ผŒๅŒ…ๆ‹ฌ็ผ–่ฏ‘ๅทฅๅ…ท TSC ็š„ไฝฟ็”จใ€็ผ–่ฏ‘้€‰้กน็š„้…็ฝฎใ€่ฐƒ่ฏ•ๅทฅๅ…ท็š„ไฝฟ็”จ็ญ‰ใ€‚\\n 1. TypeScript ็ผ–่ฏ‘้…็ฝฎไธŽ tsconfig.json\\nTSC๏ผˆTypeScript Compiler๏ผ‰ๆ˜ฏ TypeScript ๅฎ˜ๆ–นๆไพ›็š„็ผ–่ฏ‘ๅทฅๅ…ท๏ผŒ่ดŸ่ดฃๅฐ† TypeScript ไปฃ็ ๏ผˆ`.ts` ๆˆ– `.tsx`๏ผ‰่ฝฌๆขไธบ J\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹\",\"frontmatter\":{\"date\":\"2025-08-20 22:51:27\",\"title\":\"่Šไธ€่Š TypeScript ไธญ็š„ๆณ›ๅž‹\",\"tldr\":\"ๆณ›ๅž‹ๅฐ†็ฑปๅž‹ไฝœไธบๅ‚ๆ•ฐ๏ผŒไฝฟไปฃ็ ๅœจๅคš็ง็ฑปๅž‹ไธŠๅฎ‰ๅ…จ่ฟ่กŒ๏ผŒๆ˜ฏ TypeScript ็ฑปๅž‹ๆŠฝ่ฑก็š„ๆ ธๅฟƒ็‰นๆ€งใ€‚\",\"description\":\"ๆœฌๆ–‡็ณป็ปŸ่งฃๆž TypeScript ๆณ›ๅž‹็š„ๆ ธๅฟƒๆฆ‚ๅฟตไธŽๅทฅไฝœๆœบๅˆถ๏ผŒๅฏนๆฏ”ๆณ›ๅž‹ไธŽ any ็ฑปๅž‹็š„ๅทฎๅผ‚๏ผŒๆถต็›–ๆณ›ๅž‹ๅ‡ฝๆ•ฐใ€ๆŽฅๅฃใ€็ฑปใ€็ฑปๅž‹ๅˆซๅ็š„ๅฎž่ทต็”จๆณ•๏ผŒไปฅๅŠๅŸบๆœฌ็ฑปๅž‹็บฆๆŸใ€ๆŽฅๅฃ็บฆๆŸใ€ๅคš้‡็บฆๆŸใ€keyof ็บฆๆŸ็ญ‰้ซ˜้˜ถๆŠ€ๅทงไธŽๆœ€ไฝณๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/typescript-generic-types\",\"tags\":[\"tutorial\",\"typescript\",\"generics\",\"type-system\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่Šไธ€่Š TypeScript ไธญ็š„ๆณ›ๅž‹\",\"date\":\"2025-08-20 22:51:27\",\"capture\":\"1. ๆณ›ๅž‹็š„ๅŸบๆœฌๆฆ‚ๅฟตๅ’Œไฝœ็”จ\\n 1.1 ๆ ธๅฟƒๅฎšไน‰\\nๆณ›ๅž‹๏ผˆGenerics๏ผ‰ ๆ˜ฏ TypeScript ไธญไธ€็งๅผบๅคง็š„็ฑปๅž‹็ณป็ปŸ็‰นๆ€ง๏ผŒๅ…่ฎธๅฎšไน‰็ฑปๅž‹ๅ‚ๆ•ฐๅŒ–็š„็ป„ไปถ๏ผŒไฝฟไปฃ็ ่ƒฝๅคŸๅœจๅคš็ง็ฑปๅž‹ไธŠๅฎ‰ๅ…จ่ฟ่กŒ๏ผŒๅŒๆ—ถไฟๆŒ็ฑปๅž‹ๆฃ€ๆŸฅใ€‚ๆณ›ๅž‹็š„ๆ ธๅฟƒๆ€ๆƒณๆ˜ฏๅฐ†็ฑปๅž‹ไฝœไธบๅ‚ๆ•ฐไผ ้€’็ป™ๅ‡ฝๆ•ฐใ€ๆŽฅๅฃๆˆ–็ฑป๏ผŒๅฎž็Žฐ\\\"็ผ–ๅ†™ไธ€ๆฌก๏ผŒๅค็”จๅคšๆฌก\\\"็š„ๆ•ˆๆžœใ€‚\\n 1.2 ๆณ›ๅž‹ไธŽ any ็ฑปๅž‹็š„ๅฏนๆฏ”\\n| ็‰นๆ€ง | ๆณ›ๅž‹ | any ็ฑปๅž‹ |\\n|------|------|----------|\\n| ็ฑปๅž‹ๅฎ‰ๅ…จ | โœ… ็ผ–่ฏ‘ๆ—ถ่ฟ›่กŒ็ฑปๅž‹ๆฃ€ๆŸฅ | โŒ ๅฎŒๅ…จๅคฑๅŽป็ฑปๅž‹ๆฃ€ๆŸฅ |\\n| ไปฃ็ ๅค็”จ | โœ… ๆ”ฏๆŒๅคš็ง็ฑปๅž‹ๅค็”จ | โœ… ๆ”ฏๆŒๅคš็ง็ฑปๅž‹๏ผŒไฝ†ๅคฑๅŽป็ฑปๅž‹ไฟกๆฏ |\\n| ็ฑปๅž‹ๆŽจๆ–ญ | โœ… \"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview\",\"frontmatter\":{\"date\":\"2024-05-18 22:49:57\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ไปŽ ES Modules ๅˆฐๅคงๅž‹้กน็›ฎๅˆ†ๅฑ‚ๆžถๆž„ไธŽๅทฅ็จ‹ๅŒ–ๅฎž่ทต๏ผŒๆž„ๅปบๅ…จๆ ˆๆจกๅ—ๅŒ–็Ÿฅ่ฏ†ไฝ“็ณปใ€‚\",\"description\":\"็ณป็ปŸๆขณ็† JavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›๏ผˆIIFEโ†’CJSโ†’ESM๏ผ‰ใ€TypeScript ็ฑปๅž‹ๅขžๅผบใ€ๅˆ†ๅฑ‚ๆžถๆž„ไธŽ DDD ๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/module-programming-practice-guide\",\"tags\":[\"tutorial\",\"ESM\",\"DDD\",\"ๅพฎๅ‰็ซฏ\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2024-05-18 22:49:57\",\"capture\":\"1. ๅผ•่จ€\\nๆจกๅ—ๅŒ–็ผ–็จ‹ๆ˜ฏ็Žฐไปฃ JavaScript/TypeScript ๅผ€ๅ‘็š„ๆ ธๅฟƒๅŽŸๅˆ™๏ผŒๅฎƒ้€š่ฟ‡ๅฐ†ๅคๆ‚็ณป็ปŸๆ‹†ๅˆ†ไธบ็‹ฌ็ซ‹ๅฏๅค็”จ็š„ๆจกๅ—๏ผŒ้™ไฝŽ็ณป็ปŸๅคๆ‚ๆ€งๅนถๆ้ซ˜ๅฏ็ปดๆŠคๆ€งไธŽๅฏๅค็”จๆ€งใ€‚ๅ› ๆญค๏ผŒๆˆ‘ไปฌ้€š่ฟ‡็ณปๅˆ—ๆ–‡็ซ ่ฏฆ็ป†ไป‹็ปไบ†ๆจกๅ—ๅŒ–็š„ๅŸบ็ก€ๆฆ‚ๅฟตใ€ๆผ”่ฟ›ๅކ็จ‹ใ€ไธๅŒ่ง„่Œƒ็š„ๆทฑๅบฆ่งฃๆžใ€TypeScriptๆจกๅ—ๅŒ–ๅขžๅผบใ€ES Modules ๆ ธๅฟƒ่ฏญๆณ•ไธŽๅฎž่ทตใ€ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทตใ€ๅ‰็ซฏๅทฅ็จ‹ๅŒ–ไธญ็š„ๆจกๅ—ๅŒ–ใ€Node.jsไธญ็š„ๆจกๅ—ๅŒ–ๅฎž่ทตใ€ๅคงๅž‹้กน็›ฎไธญ็š„ๆจกๅ—ๅŒ–่ฎพ่ฎกใ€ๆจกๅ—ๅŒ–ไธŽไปฃ็ ็ปดๆŠคไปฅๅŠๆœชๆฅๅ‘ๅฑ•่ถ‹ๅŠฟใ€‚\\nๅ‰้ข็š„็ณปๅˆ—ๆ–‡็ซ ไธป่ฆๆœ‰๏ผš\\n- ๆจกๅ—ๅŒ–็ผ–็จ‹็ผ–็จ‹ๅˆไฝ“้ชŒไธŽๅŸบ็ก€ไป‹็ป\\n- JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\\n- ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒ\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€\",\"frontmatter\":{\"date\":\"2024-05-12 22:43:28\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ๏ผšๆฆ‚ๅฟตใ€ๆผ”่ฟ›ไธŽ่ฎพ่ฎกๆจกๅผ\",\"tldr\":\"ไปŽๅ…จๅฑ€ๅ˜้‡ๅˆฐ ES Modules๏ผšJavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›ไธŽๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผๅฎž่ทตใ€‚\",\"description\":\"็ณป็ปŸ่ฎฒ่งฃ JavaScript ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€๏ผŒๆถต็›– IIFEใ€CommonJSใ€ES Modules ่ง„่Œƒๆผ”่ฟ›๏ผŒไปฅๅŠๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผไธŽๆจกๅ—ๅŒ–็š„็ป“ๅˆใ€‚\",\"permalink\":\"/fullstack/frontend-module-programming-basic\",\"tags\":[\"tutorial\",\"javascript\",\"modularization\",\"esm\",\"design-patterns\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ๏ผšๆฆ‚ๅฟตใ€ๆผ”่ฟ›ไธŽ่ฎพ่ฎกๆจกๅผ\",\"date\":\"2024-05-12 22:43:28\",\"capture\":\"1. ๅผ•่จ€\\n้š็€้กน็›ฎ่ง„ๆจกๆ—ฅ็›Š่†จ่ƒ€๏ผŒไปฃ็ ้‡ไปŽๅ‡ ๅƒ่กŒ่ฟ…้€Ÿๅขž้•ฟๅˆฐๆ•ฐไธ‡็”š่‡ณๆ•ฐๅไธ‡่กŒ๏ผŒๅฐ†ๆ‰€ๆœ‰้€ป่พ‘ๅกž่ฟ›ๅฐ‘ๆ•ฐๅ‡ ไธชๆ–‡ไปถ็š„ๅšๆณ•ๆ—ฉๅทฒ้šพไปฅไธบ็ปงใ€‚ๅœจ่ฟ™ๆ ท็š„่ƒŒๆ™ฏไธ‹๏ผŒๆจกๅ—ๅŒ–็ผ–็จ‹ๅบ”่ฟ่€Œ็”Ÿ๏ผŒๆˆไธบ็Žฐไปฃๅ‰็ซฏๅผ€ๅ‘็š„ๆ ‡้…ใ€‚\\nๅฎƒ็š„ๆ ธๅฟƒ็†ๅฟต็ฎ€ๆด่€Œไผ˜้›…๏ผšๅƒๆญ็งฏๆœจไธ€ๆ ท๏ผŒๅฐ†ๅบžๅคงๅคๆ‚็š„็ณป็ปŸๆ‹†่งฃไธบไธ€ไธชไธช็‹ฌ็ซ‹ใ€ๅŠŸ่ƒฝๅ•ไธ€ไธ”ๅฏๅค็”จ็š„ๆจกๅ—๏ผŒ่ฎฉๆฏไธชๆจกๅ—ๅ„ๅธๅ…ถ่Œ๏ผŒๅ†้€š่ฟ‡ๆ ‡ๅ‡†ๆŽฅๅฃ็ตๆดป็ป„ๅˆใ€‚\\n 2. ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ\\nๅœจๆทฑๅ…ฅ็†่ฎบไน‹ๅ‰๏ผŒ่ฎฉๆˆ‘ไปฌๅ…ˆ้€š่ฟ‡ไธ€ไธช็ฎ€ๅ•็š„ JavaScript ็คบไพ‹๏ผŒ็›ด่ง‚ๅœฐๆ„Ÿๅ—ไธ€ไธ‹ไป€ไนˆๆ˜ฏๆจกๅ—ๅŒ–ใ€‚ๅ‡่ฎพๆˆ‘ไปฌ้œ€่ฆๅค„็†ไธ€ไบ›ๆ•ฐๅญฆ่ฟ็ฎ—๏ผŒๆˆ‘ไปฌๅฏไปฅๅฐ†ๅ…ถๅฐ่ฃ…ๆˆไธ€ไธช็‹ฌ็ซ‹็š„ๅทฅๅ…ทๆจกๅ—๏ผš\\n```javascript\\n// math.js - ๅฎšไน‰ไธ€ไธชๆ•ฐๅญฆๅทฅๅ…ทๆจกๅ—\\nexp\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†\",\"frontmatter\":{\"date\":\"2024-05-14 22:26:06\",\"title\":\"JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\",\"tldr\":\"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ็ญ‰ๆ ธๅฟƒ่ง„่Œƒ๏ผŒ้™„็Žฐไปฃ่ฟ็งป็ญ–็•ฅใ€‚\",\"description\":\"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ๅ››ๅคงๆจกๅ—ๅŒ–่ง„่Œƒ็š„ๆ ธๅฟƒ่ฏญๆณ•ไธŽ้€‚็”จๅœบๆ™ฏ๏ผŒ่งฃๆžๅ„่ง„่Œƒ็š„ๅ…ณ้”ฎๅทฎๅผ‚๏ผŒๅนถๆไพ›ไปŽๆ—ง่ง„่Œƒๅ‘ ESM ่ฟ็งป็š„ๅฎžๆ“็ญ–็•ฅใ€‚\",\"permalink\":\"/fullstack/different-module-programming-specifications\",\"tags\":[\"tutorial\",\"CommonJS\",\"AMD\",\"UMD\",\"ESM\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\",\"date\":\"2024-05-14 22:26:06\",\"capture\":\"ๅœจ JavaScript ่ฟ›ๅŒ–ๅฒไธŠ๏ผŒโ€œๆจกๅ—ๅŒ–โ€ๅง‹็ปˆๆ˜ฏไธ€ไธชๆ ธๅฟƒๅ‘ฝ้ข˜ใ€‚ไปŽๆ—ฉๆœŸ script ๆ ‡็ญพๆปกๅคฉ้ฃž็š„โ€œๆททๆฒŒๆ—ถไปฃโ€๏ผŒๅˆฐๅ„่ทฏ่ง„่Œƒ็พค้›„้€้นฟ็š„โ€œๆˆ˜ๅ›ฝๆ—ถไปฃโ€๏ผŒๅ†ๅˆฐๅฆ‚ไปŠ ES Modules ๅฎšไบŽไธ€ๅฐŠ๏ผŒๅผ€ๅ‘่€…ไปฌๅœจ่งฃๅ†ณไพ่ต–็ฎก็†ใ€ไฝœ็”จๅŸŸๆฑกๆŸ“ๅ’Œๅผ‚ๆญฅๅŠ ่ฝฝ็ญ‰้—ฎ้ข˜ไธŠไป˜ๅ‡บไบ†ๅทจๅคง็š„ๅŠชๅŠ›ใ€‚\\nๆœฌๆ–‡ๅฐ†ๅธฆไฝ ๆขณ็† JavaScript ๅކๅฒไธŠๆœ€้‡่ฆ็š„ๅ‡ ็งๆจกๅ—ๅŒ–่ง„่Œƒ๏ผŒไพฟไบŽๆž„ๅปบ่ตทๅ…จๆ ˆๅผ€ๅ‘็š„ๅบ•ๅฑ‚็Ÿฅ่ฏ†ๅ›พ่ฐฑใ€‚\\n 1. CommonJS ่ง„่Œƒ๏ผšNode.js ็”Ÿๆ€็š„ๅŸบ็Ÿณ\\nCommonJS ๆ˜ฏไผด้š Node.js ่ฏž็”Ÿ็š„่ง„่Œƒ,็”ฑ Kevin Dangoor ๆๅ‡บ๏ผŒๅˆ่กทๆ˜ฏ่ฎฉ JavaScript ่„ฑ็ฆปๆต่งˆๅ™จไนŸ่ƒฝๆž„ๅปบๅคๆ‚็š„็ณป็ปŸๅบ”็”จใ€‚ๅฎƒๆ˜ฏ Node.\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"frontmatter\":{\"date\":\"2024-05-14 22:29:32\",\"title\":\"ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒๆ‹ฅๆŠฑๅŽŸ็”Ÿ๏ผšES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"tldr\":\"ES Modules ๆ ธๅฟƒ่ฏญๆณ•ไธŽๆ‰ง่กŒๆจกๅž‹๏ผš้™ๆ€ๅˆ†ๆžๅฆ‚ไฝ•้‡ๅก‘ๅ‰็ซฏๆž„ๅปบๆ•ˆ็އใ€‚\",\"description\":\"ๆทฑๅบฆ่งฃๆž ES Modules ๅ‘ฝๅๅฏผๅ‡บ/ๅฏผๅ…ฅใ€้ป˜่ฎคๅฏผๅ‡บใ€ๅŠจๆ€ๅฏผๅ…ฅ็ญ‰่ฏญๆณ•๏ผŒไปฅๅŠๆจกๅ—ๆ‰ง่กŒ้กบๅบใ€ๅพช็Žฏไพ่ต–ๅค„็†ไธŽ็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ๆœบๅˆถใ€‚\",\"permalink\":\"/fullstack/decode-es-modules\",\"tags\":[\"concept\",\"ESM\",\"static-analysis\",\"Tree-Shaking\",\"circular-dependency\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒๆ‹ฅๆŠฑๅŽŸ็”Ÿ๏ผšES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"date\":\"2024-05-14 22:29:32\",\"capture\":\"> \\n> ็†่งฃ ESM๏ผŒไธไป…ไป…ๆ˜ฏๅญฆไผš import ๅ’Œ export๏ผŒๆ›ด้‡่ฆ็š„ๆ˜ฏ็†่งฃๅฎƒๅฆ‚ไฝ•้€š่ฟ‡็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ๅฝปๅบ•ๆ”นๅ˜ไบ†ๅ‰็ซฏๆž„ๅปบ็š„ๆ•ˆ็އใ€‚\\n 1. ๅ‘ฝๅๅฏผๅ‡บไธŽๅฏผๅ…ฅ๏ผš็ฒพๅ‡†็š„ไปฃ็ ๅผ•็”จ\\nๅ‘ฝๅๅฏผๅ‡บ๏ผˆNamed Exports๏ผ‰ๆ˜ฏ ESM ๆœ€ๅธธ็”จ็š„ๅฝขๅผ๏ผŒๅฎƒๅ…่ฎธไธ€ไธชๆจกๅ—ๆšด้œฒๅคšไธชๆˆๅ‘˜ใ€‚ๅ…ถๆ ธๅฟƒไผ˜ๅŠฟๅœจไบŽ๏ผšๅฏผๅ…ฅๆ–นๅฏไปฅๆŒ‰้œ€ๅผ•ๅ…ฅ๏ผŒไธ” IDE ่ƒฝๆไพ›็ฒพๅ‡†็š„่กฅๅ…จใ€‚\\n่ฏญๆณ•ๅฎž่ทต๏ผš๏ผš\\n```javascript\\n// math.js - ๅ‘ฝๅๅฏผๅ‡บ\\n// ่กŒๅ†…ๅฏผๅ‡บ\\nexport const PI = 3.14159;\\nexport function circleArea(radius) {\\n return PI * rad\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"frontmatter\":{\"date\":\"2024-05-16 21:27:36\",\"title\":\"ไปŽ้€ป่พ‘้š”็ฆปๅˆฐ็ฑปๅž‹ๅฅ‘็บฆ๏ผšTypeScript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"tldr\":\"TypeScript ๅฐ†ๆจกๅ—ไพ่ต–ๆๅ‡ไธบ็ผ–่ฏ‘ๆ—ถ็ฑปๅž‹ๅฅ‘็บฆ๏ผŒไปŽ import type ๅˆฐๅฃฐๆ˜Žๆ–‡ไปถใ€‚\",\"description\":\"็ณป็ปŸ่ฎฒ่งฃ TypeScript ๅฏน ES Modules ็š„็ฑปๅž‹ๅขžๅผบ๏ผŒๆถต็›– import type ่ฟ่กŒๆ—ถไผ˜ๅŒ–ใ€ๆŽฅๅฃๅฅ‘็บฆใ€ๅฃฐๆ˜Žๆ–‡ไปถ .d.ts ๅŠ tsconfig ๆจกๅ—ๅŒ–้…็ฝฎใ€‚\",\"permalink\":\"/fullstack/typescript-module-programming-enhancement\",\"tags\":[\"concept\",\"ๅ…จๆ ˆ\",\"typescript\",\"tsconfig\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไปŽ้€ป่พ‘้š”็ฆปๅˆฐ็ฑปๅž‹ๅฅ‘็บฆ๏ผšTypeScript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"date\":\"2024-05-16 21:27:36\",\"capture\":\"1. ๅผ•่จ€\\nๅœจๅŽŸ็”Ÿ JavaScript ๆจกๅ—ๅŒ–่งฃๅ†ณไบ†ไปฃ็ ็ป„็ป‡้—ฎ้ข˜ๅŽ๏ผŒTypeScript๏ผˆTS๏ผ‰่ฟ›ไธ€ๆญฅๅฐ†ๅ…ถๆŽจๅ‘ไบ†ๅทฅไธš็บง้ซ˜ๅบฆใ€‚TS ไธไป…ไป…ๆ˜ฏไธบๆจกๅ—ๆทปๅŠ ไบ†็ฑปๅž‹ๆ ‡ๆณจ๏ผŒๅฎƒ้€š่ฟ‡็ฑปๅž‹ๅฏผๅ‡บๅฏผๅ…ฅใ€็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ใ€ไปฅๅŠๅฃฐๆ˜Žๆ–‡ไปถ็ณป็ปŸ๏ผŒๅฐ†ๆจกๅ—้—ด็š„ไพ่ต–ๅ…ณ็ณปไปŽ็ฎ€ๅ•็š„โ€œไปฃ็ ๅผ•็”จโ€ๆๅ‡ๅˆฐไบ†โ€œๅฅ‘็บฆไบคไบ’โ€ใ€‚\\nๆœฌๆ–‡ๆˆ‘ไปฌๅฐ†่š็„ฆไบŽ TypeScript ๅฆ‚ไฝ•้€š่ฟ‡็ฑปๅž‹็ณป็ปŸๅขžๅผบๆจกๅ—ๅŒ–็ผ–็จ‹๏ผŒๅนถๆŽข่ฎจๅœจ็Žฐไปฃๅทฅ็จ‹๏ผˆๅฐคๅ…ถๆ˜ฏ TS 5.0+ ๆ—ถไปฃ๏ผ‰ไธ‹็š„ๆœ€ไฝณ้…็ฝฎๅฎž่ทตใ€‚\\n 2. ็ฑปๅž‹ๅฏผๅ‡บไธŽๅฏผๅ…ฅ๏ผšๆž่‡ด็š„่ฟ่กŒๆ—ถไผ˜ๅŒ–\\nTypeScript ๅฏน ES Modules ่ฏญๆณ•ๆœ€ๆ˜พ่‘—็š„ๆ‰ฉๅฑ•ๆ˜ฏๆ”ฏๆŒโ€œไป…็ฑปๅž‹โ€๏ผˆType-only๏ผ‰็š„ๅฏผๅ‡บไธŽๅฏผๅ…ฅใ€‚่ฟ™ไธไป…ๆ˜ฏ่ฏญไน‰ไธŠ็š„ๆธ…ๆ™ฐ๏ผŒๆ›ดๆ˜ฏๆ€ง\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต\",\"frontmatter\":{\"date\":\"2024-05-17 22:30:50\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ๆขณ็†ไธŽๆ€ป็ป“\",\"tldr\":\"ๆŽŒๆก้ซ˜ๅ†…่šไฝŽ่€ฆๅˆๅŽŸๅˆ™๏ผšๆจกๅ—ๅŒ–็ผ–็จ‹็š„่ฎพ่ฎกๅ‡†ๅˆ™ไธŽ็ฒ’ๅบฆๆŽงๅˆถใ€‚\",\"description\":\"็ณป็ปŸๆขณ็†ๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅ…ญๅคงๆ ธๅฟƒๅŽŸๅˆ™๏ผšๅ•ไธ€่Œ่ดฃใ€้ซ˜ๅ†…่šไฝŽ่€ฆๅˆใ€็ฒ’ๅบฆ่ฎพ่ฎกใ€ๅ‘ฝๅ่ง„่ŒƒๅŠๆจกๅ—็‰ˆๆœฌ็ฎก็†๏ผŒ้™„่ฏฆ็ป†็š„ๅทฅ็จ‹ๅฎž่ทตๅปบ่ฎฎไธŽ้ฟๅ‘ๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/fullstack/module-programming-principles-best-practices\",\"abstract\":\"ๅฆ‚ๆžœ่ฏดๆŽŒๆกๆจกๅ—ๅŒ–่ฏญๆณ•ๆ˜ฏๆœฏ๏ผŒ้‚ฃไนˆ็†่งฃๅ…ถ่ƒŒๅŽ็š„่ฎพ่ฎกๅŽŸๅˆ™ๅฐฑๆ˜ฏ้“ใ€‚ๅ•ไธ€่Œ่ดฃๅŽŸๅˆ™ๅผบ่ฐƒๆจกๅ—ๅชๅบ”ๆœ‰ไธ€ไธช่ขซๆ”นๅ˜็š„ๅŽŸๅ› ๏ผŒ้ฟๅ… God Object ๅๆจกๅผใ€‚้ซ˜ๅ†…่šไฝŽ่€ฆๅˆๆ˜ฏ่กก้‡ๆจกๅ—่ดจ้‡็š„็ปˆๆžๆ ‡ๅ‡†โ€”โ€”ๆจกๅ—ๅ†…้ƒจๅ…ƒ็ด ่”็ณป็ดงๅฏ†๏ผŒๆจกๅ—ไน‹้—ดไพ่ต–ๅ…ณ็ณปๅฐฝๅฏ่ƒฝ็ฎ€ๅ•ใ€‚็ฒ’ๅบฆ่ฎพ่ฎก่ฆๆฑ‚ๅ•ไธชๆจกๅ—ไฟๆŒๅœจ 100-500 ่กŒไน‹้—ด๏ผŒๅŠŸ่ƒฝ่ƒฝ็”จไธ€ๅฅ่ฏๆธ…ๆ™ฐๆ่ฟฐ๏ผŒๅ‡บ็Žฐๅคšๅˆ†ๆ”ฏๅคๆ‚้€ป่พ‘ๆ—ถ้€šๅธธๆ˜ฏๆ‹†ๅˆ†ไฟกๅทใ€‚ๅ‘ฝๅ่ง„่Œƒ็ปŸไธ€ๅ›ข้˜ŸๆฒŸ้€š่ฏญๅขƒ๏ผˆkebab-case ๆ–‡ไปถๅใ€camelCase ๆ–นๆณ•ๅใ€PascalCase ็ฑปๅ๏ผ‰ใ€‚ๆจกๅ—็‰ˆๆœฌ็ฎก็†้ตๅพช SemVer ่ฏญไน‰ๅŒ–็‰ˆๆœฌ๏ผŒไธบๅ…ฌๅ…ฑๆจกๅ—็š„็ปดๆŠค่€…ไธŽไฝฟ็”จ่€…ๅปบ็ซ‹ๅฅ‘็บฆใ€‚ๅผบ่ฐƒๆธ…ๆ™ฐ็š„ๆจกๅ—่พน็•Œๆ˜ฏ AI ่พ…ๅŠฉ็ผ–็จ‹ๆ—ถไปฃ AI ๅ‡†็กฎ็†่งฃไปฃ็ ็š„ๅ‰ๆใ€‚\",\"tags\":[\"concept\",\"solid-principles\",\"code-organization\",\"best-practices\",\"naming-conventions\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ๆขณ็†ไธŽๆ€ป็ป“\",\"date\":\"2024-05-17 22:30:50\",\"capture\":\"1. ๅ•ไธ€่Œ่ดฃๅŽŸๅˆ™\\nๆ ธๅฟƒๆ€ๆƒณ๏ผšไธ€ไธชๆจกๅ—ๅบ”ๅฝ“ๆœ‰ไธ”ๅชๆœ‰ไธ€ไธช่ขซๆ”นๅ˜็š„ๅŽŸๅ› ใ€‚\\nๆจกๅ—ไธๅบ”ๆˆไธบๅŠŸ่ƒฝ็š„โ€œๆ‚่ดง้“บโ€ใ€‚ๅฝ“ไธ€ไธชๆจกๅ—ๆ‰ฟๆ‹…ไบ†ๅคชๅคšไธ็›ธๅ…ณ็š„ไธšๅŠก้€ป่พ‘ๆ—ถ๏ผŒๅฎƒ็š„ๅคๆ‚ๅบฆไผšๅ‘ˆๆŒ‡ๆ•ฐ็บงไธŠๅ‡๏ผŒไปปไฝ•ๅพฎๅฐ็š„ๆ”นๅŠจ้ƒฝๅฏ่ƒฝๅผ•ๅ‘ๆ„ๆƒณไธๅˆฐ็š„่ฟž้”ๅๅบ”ใ€‚\\nไปฃ็ ๆผ”็คบ๏ผš\\n```javascript\\n// โœ… ๆŽจ่๏ผš่Œ่ดฃๆ‹†ๅˆ†ๆ˜Ž็กฎ\\n// user-service.js - ไป…ๅค„็†็”จๆˆทๆ•ฐๆฎ็š„ CRUD\\nexport const getUser = async (id) => { /* ... */ };\\n// auth-provider.js - ไป…ๅค„็†้‰ดๆƒ็Šถๆ€ไธŽ้€ป่พ‘\\nexport const login = async (credenti\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–\",\"frontmatter\":{\"date\":\"2024-05-17 23:33:09\",\"title\":\"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“\",\"tldr\":\"Node.js CJS ไธŽ ESM ๅŒๆจกๅ…ฑๅญ˜๏ผšๆจกๅ—ๅŠ ่ฝฝๆœบๅˆถไธŽๅˆ†ๅฑ‚ๆžถๆž„ๅฎž่ทตใ€‚\",\"description\":\"่งฃๆž Node.js ไธญ CommonJS ไธŽ ES Modules ็š„ๅŒๆจกๅ…ฑๅญ˜็ญ–็•ฅ๏ผŒๆถต็›–ๆจกๅ—ๅŠ ่ฝฝไผ˜ๅ…ˆ็บงใ€็ผ“ๅญ˜ๆœบๅˆถใ€package.json exports ๆกไปถๅฏผๅ‡บๅŠ Monorepo ๆžถๆž„ๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/nodejs-module-programming-summary\",\"abstract\":\"Node.js ๆจกๅ—ๅŒ–็ปๅކไบ†ไปŽ CommonJS ็‹ฌ้œธๅคฉไธ‹ๅˆฐ ES Modules ๅ…จ้ขๆŽฅๅ…ฅ็š„่Œƒๅผ่ฝฌ็งปใ€‚ๅ…ฑๅญ˜็ญ–็•ฅ้€š่ฟ‡ .mjs/.cjs ๅŽ็ผ€ๅ’Œ package.json type ๅญ—ๆฎตๆŽงๅˆถไธค็ง่ง„่Œƒ็š„่พน็•Œ๏ผ›ESM ๅฏ็›ดๆŽฅ import CJS๏ผˆ่‡ชๅŠจๅŒ…่ฃ…ไธบ้ป˜่ฎคๅฏผๅ‡บ๏ผ‰๏ผŒไฝ† CJS ๆ— ๆณ• require ESM ๅฟ…้กปไฝฟ็”จๅŠจๆ€ importใ€‚ๆจกๅ—ๅŠ ่ฝฝ้ตๅพชๆ ธๅฟƒๆจกๅ—ไผ˜ๅ…ˆใ€ๆ–‡ไปถๆจกๅ—ใ€็›ฎๅฝ•ๆจกๅ—๏ผˆindex.js/package.json๏ผ‰ใ€node_modules ้€็บงๆŸฅๆ‰พ็š„ไผ˜ๅ…ˆ็บง๏ผ›require.cache ๅฎž็Žฐๆจกๅ—็ผ“ๅญ˜๏ผŒๆธ…้™ค็ผ“ๅญ˜๏ผˆdelete require.cache[path]๏ผ‰ๆ˜ฏ็ƒญๆ›ดๆ–ฐๅทฅๅ…ท็š„ๆ ธๅฟƒๆ“ไฝœใ€‚package.json exports ๅญ—ๆฎตๆ”ฏๆŒๆกไปถๅฏผๅ‡บ๏ผˆimport/require ่ฟ”ๅ›žไธๅŒๅ…ฅๅฃ๏ผ‰ใ€‚pnpm workspaces ๅ‡ญๅ€Ÿ็กฌ้“พๆŽฅๆœบๅˆถๆˆไธบ็Žฐไปฃ Monorepo ้ฆ–้€‰ใ€‚ๅŽ็ซฏๅˆ†ๅฑ‚ๆžถๆž„๏ผˆAPI/Service/Repository๏ผ‰ๅฎž็Žฐๅ…ณๆณจ็‚นๅˆ†็ฆป๏ผŒๆขๆ•ฐๆฎๅบ“ๅช้œ€ๆ”น Repository ๅฑ‚ใ€‚\",\"tags\":[\"concept\",\"node.js\",\"commonjs\",\"esm\",\"monorepo\",\"layered-architecture\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“\",\"date\":\"2024-05-17 23:33:09\",\"capture\":\"ๅฆ‚ๆžœ่ฏดๆต่งˆๅ™จ็ซฏ็š„ๆจกๅ—ๅŒ–ๆ˜ฏไธบไบ†\\\"ๆŒ‰้œ€ๅŠ ่ฝฝ\\\"๏ผŒ้‚ฃไนˆ Node.js ็š„ๆจกๅ—ๅŒ–ๅˆ™ๆ˜ฏไธบไบ†\\\"ไปฃ็ ็ป„็ป‡\\\"ใ€‚ไฝœไธบๅฐ† JavaScript ๅธฆๅ…ฅๆœๅŠกๅ™จ็ซฏ็š„ๅ…ˆ้ฉฑ๏ผŒNode.js ็ปๅކไบ†ไปŽ CommonJS (CJS) ็‹ฌ้œธๅคฉไธ‹ๅˆฐ ES Modules (ESM) ๅ…จ้ขๆŽฅๅ…ฅ็š„่Œƒๅผ่ฝฌ็งปใ€‚\\nๅœจๆœๅŠกๅ™จ็ซฏ๏ผŒๆจกๅ—ๅŒ–ไธไป…ไป…ๆ˜ฏไธบไบ†ๆ‹†ๅˆ†ไปฃ็ ๏ผŒๆ›ดๆ˜ฏไธบไบ†ๆž„ๅปบๆธ…ๆ™ฐ็š„้กน็›ฎ็ป“ๆž„ใ€็ฎก็†ไพ่ต–ๅ…ณ็ณป๏ผŒไปฅๅŠๅฎž็Žฐไปฃ็ ็š„ๅค็”จไธŽ็ปดๆŠคใ€‚\\n 1. CommonJS ไธŽ ES Modules ๅŒๆจกๅ…ฑๅญ˜\\nๅœจ็Žฐไปฃ Node.js ๅผ€ๅ‘ไธญ๏ผŒๆˆ‘ไปฌ็ปๅธธ้ขไธดไธค็ง่ง„่Œƒไบค็ป‡็š„ๆƒ…ๅ†ตใ€‚่ฟ™ไธไป…ๆ˜ฏๆ–‡ไปถๅŽ็ผ€็š„ๆ”นๅ˜๏ผŒๆ›ดๆ˜ฏๅŒๆญฅไธŽๅผ‚ๆญฅๅŠ ่ฝฝ้€ป่พ‘็š„ๅšๅผˆใ€‚\\nๅ…ฑๅญ˜็ญ–็•ฅ๏ผš\\n1. ๅŽ็ผ€ๅ†ณๅฎš่ฎบ๏ผš`.mjs\"},{\"url\":\"/01.ๅ…จๆ ˆ/90.ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่/90.ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"relativePath\":\"/01.ๅ…จๆ ˆ/90.ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่/90.ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"frontmatter\":{\"date\":\"2026-02-06 15:58:53\",\"title\":\"ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡็ณป็ปŸๆขณ็†ไบ†็Žฐไปฃๅ…จๆ ˆๅผ€ๅ‘็š„ๅฎŒๆ•ดๆŠ€ๆœฏๅ›พ่ฐฑไธŽๆผ”่ฟ›่Œƒๅผ๏ผŒไธบๅผ€ๅ‘่€…ๆไพ›ไบ†ไธ€็ซ™ๅผ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—ใ€‚ๆ–‡็ซ ไปŽๅŸบ็Ÿณๅ‡บๅ‘๏ผŒ่ฆ†็›– Web ๆ ธๅฟƒ่ฏญ่จ€๏ผˆJS/TS๏ผ‰ ไธŽ ไธปๆต UI ๆก†ๆžถ๏ผˆReact/Vue/Svelte๏ผ‰๏ผŒๅนถๆŽจ่ไปฅ Tailwind CSS ๅ’Œ shadcn/ui ไธบไปฃ่กจ็š„็Žฐไปฃๆ ทๅผไธŽ็ป„ไปถๅŽŸ่ฏญใ€‚ๅœจๆ ธๅฟƒไธšๅŠก้€ป่พ‘ๅฑ‚๏ผŒๆทฑๅบฆๅฏนๆฏ”ไบ†่ฝป้‡ๅŒ–็Šถๆ€็ฎก็†ๆ–นๆกˆ๏ผˆ้ฆ–ๆŽจ Zustand/Jotai๏ผ‰๏ผŒๅนถ้‡็‚น่งฃๆžไบ†ๆ•ฐๆฎไบคไบ’็š„ไธ‰ๅคง็Žฐไปฃๆžถๆž„่Œƒๅผ๏ผšไปŽๅŸบ็ก€ Axios ๅˆฐ React Query ็Šถๆ€่ฐƒๅบฆ๏ผŒๅ†ๅˆฐ tRPC ๅ’Œ GraphQL ๅธฆๆฅ็š„ๅ…จๆ ˆ็ฑปๅž‹ๅฎ‰ๅ…จไธŽๅคš็ซฏ่šๅˆใ€‚ๅœจๅทฅ็จ‹ๅŒ–ไธŽๆœๅŠก็ซฏๆจกๅ—๏ผŒๆ–‡็ซ ๅ…จ้ขๆ‹ฅๆŠฑ Viteใ€Rsbuild ็ญ‰ๆž้€Ÿๆž„ๅปบๅทฅๅ…ท๏ผŒๅนถๅ‰–ๆžไบ† Next.js/Nuxt ๅŒๆž„ๅ…ƒๆก†ๆžถไธŽ NestJS ไผไธš็บง Node ๆœๅŠก็š„ๆœ€ไฝณ้€‚็”จๅœบๆ™ฏใ€‚ๆœ€ๅŽ๏ผŒ่พ…ไปฅ Vercel ็ญ‰็Žฐไปฃ่พน็ผ˜้ƒจ็ฝฒๅนณๅฐๅŠไธฐๅฏŒ็š„ๅผ€ๆบ็คพๅŒบๅญฆไน ่ต„ๆบใ€‚\",\"permalink\":\"/growth/full-stack-resources\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"date\":\"2026-02-06 15:58:53\",\"capture\":\"> - ๆ–‡็ซ ไปŽๅŸบ็Ÿณๅ‡บๅ‘๏ผŒ่ฆ†็›– Web ๆ ธๅฟƒ่ฏญ่จ€๏ผˆJS/TS๏ผ‰ ไธŽ ไธปๆต UI ๆก†ๆžถ๏ผˆReact/Vue/Svelte๏ผ‰๏ผŒๅนถๆŽจ่ไปฅ Tailwind CSS ๅ’Œ shadcn/ui ไธบไปฃ่กจ็š„็Žฐไปฃๆ ทๅผไธŽ็ป„ไปถๅŽŸ่ฏญใ€‚\\n> - ๅœจๆ ธๅฟƒไธšๅŠก้€ป่พ‘ๅฑ‚๏ผŒๆทฑๅบฆๅฏนๆฏ”ไบ†่ฝป้‡ๅŒ–็Šถๆ€็ฎก็†ๆ–นๆกˆ๏ผˆ้ฆ–ๆŽจ Zustand/Jotai๏ผ‰๏ผŒๅนถ้‡็‚น่งฃๆžไบ†ๆ•ฐๆฎไบคไบ’็š„ไธ‰ๅคง็Žฐไปฃๆžถๆž„่Œƒๅผ๏ผšไปŽๅŸบ็ก€ Axios ๅˆฐ React Query ็Šถๆ€่ฐƒๅบฆ๏ผŒๅ†ๅˆฐ tRPC ๅ’Œ GraphQL ๅธฆๆฅ็š„ๅ…จๆ ˆ็ฑปๅž‹ๅฎ‰ๅ…จไธŽๅคš็ซฏ่šๅˆใ€‚\\n> - ๅœจๅทฅ็จ‹ๅŒ–ไธŽๆœๅŠก็ซฏๆจกๅ—๏ผŒๆ–‡็ซ ๅ…จ้ขๆ‹ฅๆŠฑ Viteใ€Rsbuild ็ญ‰ๆž้€Ÿๆž„ๅปบๅทฅๅ…ท๏ผŒๅนถๅ‰–ๆžไบ† Next.js/N\"},{\"url\":\"/10.ไบงๅ“ Sense/00.ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"relativePath\":\"/10.ไบงๅ“ Sense/00.ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"frontmatter\":{\"date\":\"2026-03-19 23:05:50\",\"title\":\"ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"description\":\"ไบงๅ“ Sense ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ๏ผŒๆถต็›– AI ไบงๅ“่ง‚ๅฏŸใ€ๅคๅˆๅž‹ไบบๆ‰ๆˆ้•ฟใ€ๅ•†ไธšๅŒ–ๆ€่€ƒๅŠๆ–นๆณ•่ฎบๆ€ป็ป“็ญ‰ใ€‚\",\"categories\":[\"ไบงๅ“ Sense\",\"AI\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"date\":\"2026-03-19 23:05:50\",\"capture\":\"> * ่ฟฝๆฑ‚้ซ˜ๆ ๆ†โ€”โ€”ไปฅๆž็ฎ€ๆŠ€ๆœฏ่งฃๅ†ณๅคๆ‚้—ฎ้ข˜๏ผŒๆ‹’็ปไธบ็‚ซๆŠ€่€Œ่ฎพ่ฎก็š„ไผช้œ€ๆฑ‚๏ผ›\\n> * ๅนณ่กกๆ„Ÿๆ€งไธŽ็†ๆ€งโ€”โ€”ๆ—ขๅ…ฑๆƒ…็”จๆˆท็š„็œŸๅฎžๅœบๆ™ฏไธŽๆƒ…็ปช๏ผŒๅˆๅ†ท้™่ฟฝๆบฏ็—›็‚นๆœฌ่ดจ๏ผŒ่ฎฉไบงๅ“ๆ—ขๆœ‰ๆธฉๅบฆ๏ผŒๅˆไธ่‡ณไบŽๆฒฆไธบๅŠŸ่ƒฝ็š„ๅ †็ Œใ€‚\\n่งฃๆž„่ฟ™็งไบงๅ“ Sense ็š„ๅŸบ็ก€ๅœจไบŽๅฏนๆŠ•ๅ…ฅไบงๅ‡บๆฏ”๏ผˆROI๏ผ‰็š„ๆž่‡ด่ฟฝๆฑ‚ไธŽๅฏนไบบๆ€ง็š„ๆทฑๅบฆๅ‰–ๆž๏ผš\\n* ไธ€ๆ–น้ข๏ผŒๅ“่ถŠ็š„ไบงๅ“ๅ—…่ง‰ๆ„ๅ‘ณ็€ๅฏปๆ‰พโ€œ้ซ˜ๆ ๆ†่งฃโ€๏ผŒ็”จๆœ€ๅ…‹ๅˆถ็š„ๆŠ€ๆœฏๅคๆ‚ๅบฆๅŽปๆ’ฌๅŠจๆœ€ๅนฟๆณ›ไธ”ๅผบ็ƒˆ็š„็”จๆˆทไปทๅ€ผ๏ผŒๆžœๆ–ญ่ง„้ฟไธบไบ†ๆŠ€ๆœฏ่€ŒๆŠ€ๆœฏ็š„ไผช้œ€ๆฑ‚้™ท้˜ฑใ€‚\\n* ๅฆไธ€ๆ–น้ข๏ผŒๆ—ข้œ€่ฆ่ฎพ่บซๅค„ๅœฐๆ„Ÿ็Ÿฅ็”จๆˆท็š„็œŸๅฎžไฝฟ็”จๅœบๆ™ฏไธŽๆƒ…็ปช๏ผŒๅˆๅฟ…้กปไฟๆŒ็†ๆ€งๅŽป่ฟฝ้—ฎ็—›็‚น็š„ๆ นๆบ๏ผŒ็กฎไฟไบงๅ“ๆ—ขไธๆฒฆไธบ่‡ƒ่‚ฟ็š„้œ€ๆฑ‚่ฎธๆ„ฟๆฑ ๏ผŒไนŸไธๅ˜ๆˆ็ผบไนไบบๆ€งๆธฉๅบฆ็š„ๅ†ฐๅ†ทๆœบๅ™จใ€‚\\n<im\"},{\"url\":\"/10.ไบงๅ“ Sense/01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž/11.AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"relativePath\":\"/10.ไบงๅ“ Sense/01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž/11.AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"frontmatter\":{\"date\":\"2024-05-08 08:56:21\",\"title\":\"AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจๅคงๆจกๅž‹้‡ๅก‘ไบ’่”็ฝ‘ไบคไบ’็š„ๅฝ“ไธ‹๏ผŒPerplexity ๅนถๆœช้€‰ๆ‹ฉๆˆไธบโ€œไธ‹ไธ€ไธช Googleโ€๏ผŒ่€Œๆ˜ฏไปฅโ€œ็Ÿฅ่ฏ†ๅ‘็Žฐๅผ•ๆ“Žโ€็š„ๅ…จๆ–ฐๅฎšไฝ๏ผŒ็ฒพๅ‡†ๅˆ‡ๅ…ฅ็Ÿฅ่ฏ†ๅทฅไฝœ่€…็š„ๆ ธๅฟƒๅทฅไฝœๆตใ€‚ๆœฌๆ–‡่ทณๅ‡บๅ•็บฏ็š„ๆจกๅž‹่ƒฝๅŠ›ๅฏนๆฏ”๏ผŒไปŽไบงๅ“ Sense ไธŽๅทฅ็จ‹้€ป่พ‘็š„ๅŒ้‡่ง†่ง’๏ผŒๆทฑๅบฆๆ‹†่งฃ Perplexity ็š„็ ดๅฑ€ไน‹้“ใ€‚ๆˆ‘ไปฌๅฐ†ๆŽข่ฎจๅฎƒๅฆ‚ไฝ•้€š่ฟ‡ๅ็›ด่ง‰็š„ UI ๅˆ›ๆ–ฐ้‡ๅก‘ไบคไบ’่ตท็‚น๏ผŒๅฆ‚ไฝ•ๅœจๅทฅ็จ‹ๅฑ‚้ขๆญป็ฃ•ๅฐพ้ƒจๅปถ่ฟŸไธŽๅนป่ง‰ๆŽงๅˆถ๏ผŒไปฅๅŠๅฎƒๅฆ‚ไฝ•ๅˆฉ็”จๅทจๅคด็š„ๅˆฉๆถฆ็އๆŠคๅŸŽๆฒณๅฎž็Žฐ้”™ไฝ็ซžไบ‰ใ€‚ๆœ€็ปˆ๏ผŒๆˆ‘ไปฌๅฐ†่ง†็บฟๆŠ•ๅ‘ๆœชๆฅ๏ผŒไธ€็ชฅ AI ไปŽ่ขซๅŠจๅ“ๅบ”่ตฐๅ‘ไธปๅŠจๆŽข็ดข็š„ๆผ”่ฟ›่“ๅ›พใ€‚\",\"permalink\":\"/product-sense/perplexity-knowledge-worker\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"AI ๆœ็ดข\",\"็Ÿฅ่ฏ†ๅ‘็Žฐ\",\"ไบงๅ“ Sense\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"date\":\"2024-05-08 08:56:21\",\"capture\":\"1. ๅผ•่จ€\\nๅœจ AI ๆตชๆฝฎไธ‹๏ผŒๆœ็ดขๅผ•ๆ“Ž็š„่Œƒๅผๆญฃๅœจๅ‘็”Ÿ่ฝฌ็งปใ€‚ไฝœไธบๅฝ“ๅ‰ๅค‡ๅ—็žฉ็›ฎ็š„ AI ๆœ็ดขไบงๅ“๏ผŒPerplexity ๅนถๆฒกๆœ‰่ฏ•ๅ›พๆˆไธบโ€œไธ‹ไธ€ไธช Googleโ€๏ผŒ่€Œๆ˜ฏๅฐ†่‡ชๅทฑๅฎšไน‰ไธบ็Ÿฅ่ฏ†ๅ‘็Žฐๅผ•ๆ“Žใ€‚\\nๅฏนไบŽๆฏๅคฉ้œ€่ฆๅค„็†ๆตท้‡ไฟกๆฏใ€่ฟ›่กŒๅคๆ‚ๅ†ณ็ญ–็š„็Ÿฅ่ฏ†ๅทฅไฝœ่€…่€Œ่จ€๏ผŒๅฆ‚ไฝ•้ซ˜ๆ•ˆๅœฐโ€œๅŽปๅ™ชโ€ๅนถ่Žทๅ–้ซ˜ไฟกๅบฆ็Ÿฅ่ฏ†ๆ˜ฏๆ ธๅฟƒ่ฏ‰ๆฑ‚ใ€‚็ฌ”่€…ๅฐ†ไปŽไบงๅ“ไบคไบ’ใ€ๆŠ€ๆœฏๅทฅ็จ‹ใ€ๅ•†ไธš้€ป่พ‘ไธŽๆœชๆฅๆผ”่ฟ›ๅ››ไธช็ปดๅบฆ๏ผŒๅˆ†ๆž Perplexity ๆ˜ฏๅฆ‚ไฝ•้‡ๅก‘ไฟกๆฏ่Žทๅ–ๅทฅไฝœๆต็š„ใ€‚\\nๆœฌๆ–‡ๆ—จๅœจ้€š่ฟ‡ๅฏน Perplexity ็š„ๆทฑๅบฆไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž๏ผŒๅธฎๅŠฉ่ฏป่€…็†่งฃ AI ๆœ็ดขไบงๅ“็š„่ฎพ่ฎก้€ป่พ‘ไธŽ็”จๆˆทไฝ“้ชŒไผ˜ๅŒ–่ทฏๅพ„๏ผŒๅŒๆ—ถไธบ็Ÿฅ่ฏ†ๅทฅไฝœ่€…ๆไพ›ๅฏ่ฝๅœฐ็š„ๆ•ˆ็އๆๅ‡ๆ–นๆณ•๏ผŒๅนถๅœจ่ฟ‡็จ‹ไธญๅŸนๅ…ป็ป“ๆž„ๅŒ–ไบงๅ“ๅˆ†ๆžๆ€็ปดใ€‚\\n\"},{\"url\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/20.่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"relativePath\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/20.่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"frontmatter\":{\"date\":\"2024-06-15 22:23:00\",\"title\":\"่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡็ป“ๅˆไฟ็ฝ—ใƒปๆ ผ้›ทๅŽ„ๅง†ใ€ŠHow to Do Great Workใ€‹ๆ ธๅฟƒ่ง‚็‚น๏ผŒๆŽข่ฎจ AI ๅŽŸ็”Ÿๆ—ถไปฃๅคๅˆๅž‹ไบบๆ‰็š„ๆ ธๅฟƒ็‰น่ดจใ€‚AI ่ฎฉๅŸบ็ก€ๆ‰ง่กŒ่ƒฝๅŠ›ๅฟซ้€Ÿ่ดฌๅ€ผ๏ผŒไบบๆ‰็š„ๆ ธๅฟƒๅฃๅž’ไธๅ†ๆ˜ฏ่งฃๅ†ณ้—ฎ้ข˜๏ผŒ่€Œๆ˜ฏๆๅ‡บไผ˜่ดจ้—ฎ้ข˜ใ€ๅŸนๅ…ป้žๅ…ฑ่ฏ†ๅ“ๅ‘ณใ€‚ๅŒๆ—ถ้œ€ๅšๅฎˆๆ™บๅŠ›่ฏšๅฎž๏ผŒๆ‹ฅๆœ‰ๆ‰“็ ดๅธธ่ง„็š„ๅˆ›ๆ–ฐๅ‹‡ๆฐ”๏ผŒๅ€ŸๅŠฉ AI ๆ”พๅคงไธชไบบๆˆ้•ฟๆ ๆ†๏ผŒไปฅๅฐๅˆ‡ๅฃๅฎž่ทตๅฎž็ŽฐๆŒ‡ๆ•ฐ็บงๆˆ้•ฟใ€‚ไบบ็ฑป็‹ฌๆœ‰็š„ๅฅฝๅฅ‡ๅฟƒ๏ผŒๆ˜ฏ็ช็ ด AI ๅนณๅบธใ€ๅ–ๅพ—ๆฐๅ‡บๆˆๅฐฑ็š„ๆœ€็ปˆๅบ•ๆฐ”ใ€‚\",\"coverImg\":\"/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense/ai-native-composite-talents\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"AI\",\"ๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"date\":\"2024-06-15 22:23:00\",\"capture\":\"> \\n> ๅŽŸๆ–‡ๅœฐๅ€๏ผšhttps://paulgraham.com/greatwork.html\\n> \\n> ๅŽŸๆ–‡ไฝœ่€…๏ผšPaul Graham๏ผˆไฟ็ฝ—ยทๆ ผ้›ทๅŽ„ๅง†๏ผ‰๏ผŒ็ก…่ฐท้กถ็บงๅญตๅŒ–ๅ™จ Y Combinator ๅˆ›ๅง‹ไบบ๏ผŒ่ขซ่ช‰ไธบโ€œ็ก…่ฐทๅˆ›ไธšๆ•™็ˆถโ€๏ผŒไนŸๆ˜ฏ็ปๅ…ธๆŠ€ๆœฏๅ“ฒๅญฆ่‘—ไฝœใ€Š้ป‘ๅฎขไธŽ็”ปๅฎถใ€‹็š„ไฝœ่€…ใ€‚\\n> \\n> ๆ–‡็ซ ่ƒŒๆ™ฏ๏ผšๅŽŸๆ–‡ๆ˜ฏไฟ็ฝ—ยทๆ ผ้›ทๅŽ„ๅง†ไน‹ๅ‰ๅ‡†ๅค‡ไบ†ๅŠๅนดไน‹ไน…็š„้‡็ฃ…้•ฟๆ–‡๏ผŒไป–่ฏ•ๅ›พ่ฎฒๆ˜Ž็™ฝไธ€ไธช้€‚็”จไบŽๆฏไธชไบบ็š„ไธป้ข˜โ€”โ€”ๅฆ‚ไฝ•ๅšๆˆใ€Œๅคงไบ‹ใ€๏ผˆgreat work๏ผ‰ใ€‚้€š่ฏปๅ…จๆ–‡๏ผŒไฝ ไผšๅ‘็Žฐ๏ผŒ่ฟ™ๆ˜ฏไธ€็ฏ‡้žๅธธๅฎž็”จ็š„ๅทฅไฝœๆŒ‡ๅ—๏ผŒๅนถไธ”ๅ…ถไธญ็š„่ฎธๅคšๅ†…ๅฎน๏ผŒ้ƒฝไธŽAIๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰ๆ‰€้œ€่ฆๅ…ทๅค‡็š„็‰น่ดจ้žๅธธไธ€่‡ดใ€‚\\n 1. ๅผ•่จ€๏ผš\"},{\"url\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/21.ๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense\",\"relativePath\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/21.ๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense\",\"frontmatter\":{\"date\":\"2025-10-23 16:05:50\",\"title\":\"ๅฝ“โ€œๅฎž็Žฐโ€ไธๅ†ๆ˜ฏๅฃๅž’๏ผšๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense๏ผŸ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ AI ่ฎฉไปฃ็ ็”Ÿๆˆ็š„่พน้™…ๆˆๆœฌ่ถ‹่ฟ‘ไบŽ้›ถ๏ผŒโ€œๆŠ€ๆœฏๅฎž็Žฐโ€ไธๅ†ๆ˜ฏไธๅฏ้€พ่ถŠ็š„ๅฃๅž’๏ผŒโ€œไบงๅ“ๆดžๅฏŸโ€่ƒฝๆž„็ญ‘่ตทๆ–ฐ็š„ๆ ธๅฟƒๆŠคๅŸŽๆฒณใ€‚ๆœฌๆ–‡ๆ‹’็ป็Ž„ๅญฆ๏ผŒๅฐ†ๆŠฝ่ฑก็š„ ไบงๅ“ Sense ่งฃๆž„ไธบไธ‰ไธชๆ ธๅฟƒๆ•ฐๅญฆๅ…ฌๅผ๏ผŒๅนถๆไพ›ไธ€ๅฅ—ๅŸบไบŽโ€œ้€†ๅ‘ๅทฅ็จ‹โ€็š„ๅˆปๆ„็ปƒไน ๆŒ‡ๅ—๏ผŒๅŠฉๅŠ›ๅผ€ๅ‘่€…ๅœจ็ฎ—ๅŠ›่ฟ‡ๅ‰ฉ็š„ๆ—ถไปฃ๏ผŒๅฎŒๆˆไปŽโ€œไปฃ็ ๅทฅๅŒ โ€ๅˆฐโ€œไปทๅ€ผๅˆ›้€ ่€…โ€็š„่ฎค็Ÿฅ่ทƒ่ฟใ€‚\",\"sticky\":1,\"top\":true,\"categories\":[\"ไบงๅ“ Sense\",\"AI\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense/engineer-build-product-sense\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฝ“โ€œๅฎž็Žฐโ€ไธๅ†ๆ˜ฏๅฃๅž’๏ผšๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense๏ผŸ\",\"date\":\"2025-10-23 16:05:50\",\"capture\":\"1. ๅผ•่จ€\\nๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒไบงๅ“ Sense๏ผˆไบงๅ“ๆ„Ÿ๏ผ‰ ่ขซ่ง†ไธบไธ€็ง็Ž„ๅญฆใ€‚ๅฎƒไผผไนŽๆ˜ฏไน”ๅธƒๆ–ฏๅผ็š„็ตๅ…‰ไธ€็Žฐ๏ผŒๆˆ–ๆ˜ฏๅผ ๅฐ้พ™ๅผ็š„โ€œ็‹ฌๆ–ญไธ“่กŒโ€ใ€‚\\nไฝ†ๅฏนไบŽๅคงๅคšๆ•ฐๅทฅ็จ‹ๅธˆใ€ไบงๅ“็ป็†ไนƒ่‡ณ็‹ฌ็ซ‹ๅผ€ๅ‘่€…่€Œ่จ€๏ผŒๅฐ†่ƒฝๅŠ›ๅฏ„ๆ‰˜ไบŽโ€œๅคฉ่ต‹โ€ๆ˜ฏๅฑ้™ฉ็š„ใ€‚ๆˆ‘่ฎคไธบ๏ผŒไบงๅ“ Sense ๅนถ้žไธๅฏๆ‰ๆ‘ธ็š„้ป‘้ญ”ๆณ•๏ผŒ่€Œๆ˜ฏไธ€ๅฅ—็ป่ฟ‡้ซ˜้ข‘่ฎญ็ปƒๅŽๅ†…ๅŒ–ไธบๆœฌ่ƒฝ็š„ๆ€็ปด็ฎ—ๆณ•ใ€‚ ๅฐฑๅƒ่ต„ๆทฑ็จ‹ๅบๅ‘˜็œ‹ๅˆฐไธ€ๆฎตไปฃ็ ๅฐฑ่ƒฝๅ—…ๅ‡บ \\\"Code Smell\\\"๏ผˆไปฃ็ ๅผ‚ๅ‘ณ๏ผ‰๏ผŒ่ต„ๆทฑไบงๅ“ไบบไนŸ่ƒฝๅœจ็žฌ้—ดๅˆคๆ–ญไธ€ไธช้œ€ๆฑ‚ๆ˜ฏโ€œ็œŸ็—›็‚นโ€่ฟ˜ๆ˜ฏโ€œไผช้œ€ๆฑ‚โ€ใ€‚\\nไธ€ไธชๆˆๅŠŸ็š„ไบงๅ“ๅ†ณ็ญ–๏ผŒๅพ€ๅพ€ๅ‘็”Ÿๅœจไธ‰ไธช็ปดๅบฆ็š„ไบคๆฑ‡็‚น๏ผš\\n* ็”จๆˆทไปทๅ€ผๆดžๅฏŸ๏ผˆUser Value Insight๏ผ‰๏ผšไธไป…ๅฌๆ‡‚็”จๆˆท่ฏดโ€œๆƒณ่ฆๆ›ดๅฟซ็š„้ฉฌโ€๏ผŒๆ›ด่ƒฝๆดžๅฏŸไป–ๅ…ถๅฎžโ€œๆƒณๆ›ด\"},{\"url\":\"/10.ไบงๅ“ Sense/04.ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–/30.ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹่ฏปๅŽๆ„Ÿ\",\"relativePath\":\"/10.ไบงๅ“ Sense/04.ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–/30.ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹่ฏปๅŽๆ„Ÿ\",\"frontmatter\":{\"date\":\"2025-11-24 21:50:00\",\"title\":\"ๆ”พๅผƒๅขž้•ฟๆ‰งๅฟต๏ผŒไธบไป€ไนˆโ€œๅฐ่€Œ็พŽโ€ๆ‰ๆ˜ฏๅฏๆŒ็ปญไน‹่ทฏ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒ็ง‘ๆŠ€ไบ’่”็ฝ‘่กŒไธš็š„ๅ™ไบ‹้ƒฝ่ขซโ€œไธๆƒœไธ€ๅˆ‡ไปฃไปทๅฎž็Žฐ่ถ…็บฟๆ€งๅขž้•ฟโ€ๆ‰€ไธปๅฏผใ€‚ไปฟไฝ›ๅชๆœ‰ๆ‹ฟๅˆฐๅทจ้ข่ž่ต„ใ€็–ฏ็‹‚ๆ‹›ไบบใ€ๆˆไธบไผฐๅ€ผ็ ด็™พไบฟ็š„ๅบž็„ถๅคง็‰ฉ๏ผŒๆ‰็ฎ—ๅพ—ไธŠๆ˜ฏๆˆๅŠŸ็š„ๅˆ›ไธšใ€‚็„ถ่€Œ๏ผŒ่ฏปๅฎŒ่จๅธŒๅฐ”ยทๆ‹‰ๆ–‡ๅ‰ไบš็š„ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹ๅŽ๏ผŒ็ฌ”่€…่Žทๅพ—ไบ†ไธ€็งๆˆช็„ถไธๅŒ็š„ๅ•†ไธš่ง†่ง’๏ผšไผไธšๅญ˜ๅœจ็š„้ฆ–่ฆ็›ฎ็š„ไธๆ˜ฏไธบไบ†่ž่ต„ๅ’Œๆ‰ฉๅผ ๏ผŒ่€Œๆ˜ฏไธบไบ†้€š่ฟ‡่งฃๅ†ณ้—ฎ้ข˜ๆฅ่Žทๅพ—ๆŒ็ปญ็š„็›ˆๅˆฉใ€‚ ๆœฌๆ–‡็ป“ๅˆไนฆไธญ็š„ๆ ธๅฟƒ่ฎบ็‚นไธŽ่‡ช่บซ็š„็ ”ๅ‘่ง†่ง’๏ผŒๆŠŠๅฐ†่ฟ™ๆœฌไนฆ่ƒŒๅŽ็š„็ป่ฅ้€ป่พ‘ไธŽไบงๅ“ๅ“ฒๅญฆๆขณ็†ไธบๅ‡ ไธชๆ ธๅฟƒๅฑ‚้ข็š„ๆ€่€ƒใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense/small-rule-learn\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"ไบงๅ“ Sense\",\"ๅ•†ไธšๅŒ–\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆ”พๅผƒๅขž้•ฟๆ‰งๅฟต๏ผŒไธบไป€ไนˆโ€œๅฐ่€Œ็พŽโ€ๆ‰ๆ˜ฏๅฏๆŒ็ปญไน‹่ทฏ\",\"date\":\"2025-11-24 21:50:00\",\"capture\":\"ไนฆๅ๏ผšใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹\\nไฝœ่€…๏ผš[็พŽ] ่จๅธŒๅฐ”ยทๆ‹‰ๆ–‡ๅ‰ไบš\\nๆ ธๅฟƒๆ ‡็ญพ๏ผšๆž็ฎ€ๅˆ›ไธš๏ฝœ็คพๅŒบๆœฌไฝ๏ฝœๆŒ็ปญ็›ˆๅˆฉ๏ฝœๅˆ›ไฝœ่€…็ปๆตŽ\\nไธ€ๅฅ่ฏ็ฎ€่ฏ„๏ผšๅœจ็›ฒ็›ฎๅด‡ๆ‹œ่ง„ๆจกๆ‰ฉๅผ ็š„ๅ•†ไธš่ฏญๅขƒไธ‹๏ผŒ่ฟ™ๆ˜ฏไธ€ไปฝๅ†™็ป™็‹ฌ็ซ‹ๅˆ›ไฝœ่€…ไธŽๅผ€ๅ‘่€…็š„ๆธ…้†’ๆŒ‡ๅ—๏ผŒๆ•™ไผšๆˆ‘ไปฌๅฆ‚ไฝ•็”จๆœ€ๅฐ‘็š„่ต„ๆบ๏ผŒ่งฃๅ†ณ็œŸๅฎž็š„็—›็‚น๏ผŒๅนถ่Žทๅพ—้•ฟไน…็š„่‡ช็”ฑใ€‚\\nๆ›ดๅคšไนฆ็ฑๆŽจ่ไฟกๆฏๅฏๅ‚่€ƒ๏ผšไบงๅ“ Sense ไธŽๅ•†ไธšๅŒ–\\n 1. ็คพๅŒบๅ…ˆ่กŒ๏ผšไปŽโ€œๆˆ‘ๆ˜ฏ่ฐโ€ๅˆฐโ€œๆˆ‘่ƒฝไธบ่ฐ่งฃๅ†ณ้—ฎ้ข˜โ€\\nไผ ็ปŸๅ•†ไธš้€ป่พ‘ๅพ€ๅพ€ๆ˜ฏๅ…ˆๆž„ๆ€ไธ€ไธชๅฎๅคง็š„็‚นๅญ๏ผŒ้—ญ้—จ้€ ่ฝฆๆ‰“็ฃจไบงๅ“๏ผŒๆœ€ๅŽๅ†็ ธ้’ฑๅŽปๅธ‚ๅœบไธŠๅฏปๆ‰พ็›ฎๆ ‡็”จๆˆทใ€‚่€Œๆœฌไนฆๆๅ‡บไบ†ไธ€ไธช้ข ่ฆ†ๆ€ง็š„ๅๅ‘่ทฏๅพ„๏ผš็คพๅŒบ $\\\\rightarrow$ ้—ฎ้ข˜ $\\\\rightarrow$ ๆต็จ‹ $\\\\rightarrow$\"},{\"url\":\"/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/40.ๆดžๅฏŸๅŠ›ๆจกๅž‹\",\"relativePath\":\"/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/40.ๆดžๅฏŸๅŠ›ๆจกๅž‹\",\"frontmatter\":{\"date\":\"2025-11-14 16:00:00\",\"title\":\"ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผšๅฆ‚ไฝ•็œ‹้€ไบงๅ“ไธŽๆŠ€ๆœฏ่ƒŒๅŽ็š„็ณป็ปŸ้€ป่พ‘๏ผŸ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆ— ่ฎบๆ˜ฏๅšไบงๅ“ใ€ๆžๆŠ€ๆœฏ๏ผŒ่ฟ˜ๆ˜ฏๅบ”ๅฏนๆ—ฅๅธธๅทฅไฝœไธญ็š„ๅ„็งๆŒ‘ๆˆ˜๏ผŒไฝ ๆ˜ฏๅฆ้‡ๅˆฐ่ฟ‡่ฟ™ๆ ท็š„ๅ›ฐๅขƒ๏ผšๆ˜Žๆ˜ŽๆŒ‰็ป้ชŒ่กŒไบ‹๏ผŒๅดๅฑกๅฑก่ธฉๅ‘๏ผ›ๅˆš่งฃๅ†ณ่กจ้ข้—ฎ้ข˜๏ผŒ้šๆ‚ฃๅˆๅทๅœŸ้‡ๆฅใ€‚้—ฎ้ข˜ๆœชๅฟ…ๅ‡บๅœจๅŠชๅŠ›็จ‹ๅบฆ๏ผŒ่€ŒๅœจไบŽๆˆ‘ไปฌๅช็›ฏ็€่กจ่ฑก๏ผŒๅดๅฟฝ็•ฅไบ†่ƒŒๅŽ็œŸๆญฃ่ตทไฝœ็”จ็š„็ณป็ปŸ๏ผŒๆฒกๆœ‰็œ‹ๆ‡‚่—ๅœจ่ƒŒๅŽ็š„็ณป็ปŸใ€‚ไธบไป€ไนˆๅŒๆ ทๆ˜ฏ่งฃๅ†ณ้—ฎ้ข˜๏ผŒๆœ‰ไบบๅช่ƒฝโ€œๅคด็—›ๅŒปๅคดโ€๏ผŒๆœ‰ไบบๅด่ƒฝ็›ดๅ‡ปๆœฌ่ดจ๏ผŸ่ฟ™็ฏ‡ๆ–‡็ซ ๅฐ†็”จ้€šไฟ—ๆ˜“ๆ‡‚็š„ๆ–นๅผ๏ผŒๅธฆไฝ ๆ‹†่งฃไธ€ๅฅ—ๅฎž็”จ็š„ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผŒ่ฎฉๆˆ‘ไปฌๅญฆไผš้€่ฟ‡็Žฐ่ฑกๆŠ“ไฝๆœฌ่ดจ๏ผŒไปŽๆ นๆบไธŠ่งฃๅ†ณ้—ฎ้ข˜ใ€‚\",\"permalink\":\"/product-sense/insight-model\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"ไบงๅ“ Sense\",\"็ณป็ปŸๆดžๅฏŸๅŠ›\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผšๅฆ‚ไฝ•็œ‹้€ไบงๅ“ไธŽๆŠ€ๆœฏ่ƒŒๅŽ็š„็ณป็ปŸ้€ป่พ‘๏ผŸ\",\"date\":\"2025-11-14 16:00:00\",\"capture\":\"1. ่กจ่ฑก่ƒŒๅŽ่—็€ๅ†ณๅฎšไธ€ๅˆ‡็š„โ€œ็ณป็ปŸ้ป‘็›’โ€\\nๆˆ‘ไปฌๅœจๆ—ฅๅธธๅผ€ๅ‘ๆˆ–ไบงๅ“่ฎพ่ฎกไธญ๏ผŒๆ€ปๆ˜ฏ่ขซๅ„็งโ€œ่กจ่ฑกโ€ๅŒ…ๅ›ด๏ผšDAU ็ช็„ถไธ‹้™ไบ†ใ€็บฟไธŠๅ‡บ็Žฐไบ†ไธ€ไธชๅถ็Žฐ็š„ Bugใ€ๆŸไธชๅŠŸ่ƒฝ็š„่ฝฌๅŒ–็އไธๅŠ้ข„ๆœŸใ€‚ๆˆ‘ไปฌไน ๆƒฏไบ†็›ฏ็€่ฟ™ไบ›็œ‹ๅพ—่ง็š„็ป“ๆžœๆ‰พๅŽŸๅ› ๏ผŒๅดๅฟฝ็•ฅไบ†ไธ€ไธชๆ ธๅฟƒ็œŸ็›ธ๏ผšๆฏไธ€ไธช่กจ่ฑก่ƒŒๅŽ๏ผŒๅ…ถๅฎž้ƒฝ้š่—็€ไธ€ไธช่ฟ่ฝฌๅคๆ‚็š„โ€œ้ป‘็›’ๅญโ€๏ผŒๆญฃๆ˜ฏ่ฟ™ไธช้ป‘็›’ๅญๅ†ณๅฎšไบ†ไบ‹็‰ฉๅ‘ๅฑ•็š„ๅฎข่ง‚่ง„ๅพ‹ใ€‚ๆˆ‘ไปฌๅฏไปฅๆŠŠ่ฟ™ไธช้ป‘็›’ๅญ๏ผŒๅซๅšโ€œ็ณป็ปŸโ€ใ€‚\\n<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/product/system_tips.png\\\" style=\\\"width: 1\"},{\"url\":\"/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/50.็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“\",\"relativePath\":\"/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/50.็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“\",\"frontmatter\":{\"date\":\"2024-01-01 16:00:00\",\"title\":\"็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“\",\"description\":\"ๅฐ†็ปๆตŽๅญฆๆ ธๅฟƒๅŽŸ็†่žๅˆ่ฟ›ไบงๅ“่ฎพ่ฎกๅ…จ็”Ÿๅ‘ฝๅ‘จๆœŸ็š„ๆ–นๆณ•่ฎบไฝ“็ณป๏ผŒๆž„ๅปบ็†ๆ€ง็š„โ€œไบงๅ“Senseโ€ใ€‚\",\"categories\":[\"ไบงๅ“ Sense\"],\"permalink\":\"/product-sense/using-economics-thinking\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“\",\"date\":\"2024-01-01 16:00:00\",\"capture\":\"ๅœจไบงๅ“็ฎก็†็š„ๅนฟ้˜”ๅคฉๅœฐไธญ๏ผŒๆˆ‘ไปฌๅพ€ๅพ€ๅผบ่ฐƒโ€œไบงๅ“ Senseโ€๏ผˆProduct Sense๏ผ‰โ€”โ€”ไธ€็งๅฏน็”จๆˆท้œ€ๆฑ‚ใ€ๅธ‚ๅœบ้ฃŽๅ‘ๅ’ŒๆŠ€ๆœฏๆฝœๅŠ›็š„็›ด่ง‰ๆ€งๆ•ๆ‰ใ€‚็„ถ่€Œ๏ผŒ่ฟ™็ง Sense ็ป้žๅ‡ญ็ฉบ่€Œๆฅ็š„็ตๅ…‰ไน็Žฐ๏ผŒๅฎƒ้œ€่ฆ็จณๅ›บ็š„็†ๆ€งๅœฐๅŸบใ€‚ๅœจไผ—ๅคšๅญฆ็ง‘ไธญ๏ผŒ็ปๆตŽๅญฆๆ— ็–‘ๆไพ›ไบ†ๆœ€ๅบ•ๅฑ‚็š„้€ป่พ‘ๆ”ฏๆŸฑใ€‚\\n็ปๆตŽๅญฆไธไป…ไป…ๆ˜ฏๅ…ณไบŽ้‡‘้’ฑๅ’Œๅธ‚ๅœบ็š„็ง‘ๅญฆ๏ผŒๅฎƒๆ›ดๆ˜ฏไธ€็ง่งฃๅ†ณ้—ฎ้ข˜ใ€ไผ˜ๅŒ–ๅ†ณ็ญ–็š„ๆ–นๅผใ€‚ๅฏนไบงๅ“ไบบ่€Œ่จ€๏ผŒๅ€Ÿ้‰ด็ปๆตŽๅญฆๆ€็ปด๏ผŒๆ„ๅ‘ณ็€่ƒฝๅคŸ็†ๆ™บๅœฐๆƒ่กกๅˆฉๅผŠ๏ผŒๆ›ด็ฒพๅ‡†ๅœฐๅฎšไปท๏ผŒๆ›ดๆทฑๅˆปๅœฐๆดžๅฏŸไบบๆ€ง๏ผŒๆœ€็ปˆๅœจ้”™็ปผๅคๆ‚็š„็บฆๆŸๆกไปถไธ‹๏ผŒๆฑ‚่งฃๅ‡บ็”จๆˆทไปทๅ€ผไธŽๅ•†ไธšไปทๅ€ผๅนถ้‡็š„ๆœ€ไผ˜่งฃใ€‚\\n 1. ็”Ÿๆดป้‡Œ็š„็ปๆตŽๅญฆๆดžๅฏŸโ€”โ€”ๆดžๅฏŸไธไป…ๆ˜ฏๅ…ณไบŽ้œ€ๆฑ‚๏ผŒๆ›ดๆ˜ฏๅ…ณไบŽๆˆๆœฌไธŽๅšๅผˆ\\nๆˆ‘ไปฌๅธธ่ขซๆ—ฅๅธธ็Žฐ่ฑก็š„โ€œๅˆ็†ๆ€งโ€ๆ‰€่ฟทๆƒ‘๏ผŒ่€Œ็ปๆตŽๅญฆ\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/00.AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/00.AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ\",\"frontmatter\":{\"title\":\"AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"date\":\"2026-03-15 16:00:00\",\"description\":\"ๅ…จๆ™ฏๅผ AI ๅญฆไน ไธŽๅฎž่ทต็Ÿฅ่ฏ†ๅบ“๏ผŒ็ณป็ปŸๆฒ‰ๆท€ AI Agent ่ฎพ่ฎกๆจกๅผใ€ๅคงๆจกๅž‹ๅทฅ็จ‹ๅŒ–่ฝๅœฐใ€ๅผ€ๆบๅฐ้กน็›ฎๅŠ็คพๅŒบๆดปๅŠจ็ป้ชŒๆ€ป็ป“๏ผŒๆŒ็ปญ่ฟญไปฃไปŽ็†่ฎบๅˆฐ็”Ÿไบง็š„ๅฎŒๆ•ดๆ–นๆณ•่ฎบใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/llm_learning_bg_1.png\",\"permalink\":\"/ai-learning/overview\",\"categories\":[\"ai-practice\"],\"tags\":[\"AI\",\"LLM\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"date\":\"2026-03-15 16:00:00\",\"capture\":\"<!-- ็ฒพ้€‰ไธ“้ข˜ --\\n<script setup>\\nimport ArticleCardList from '@fragment/components/ArticleCardList.vue'\\nimport { aiLearningCategories } from '@fragment/data/ai-learning-data'\\n</script>\\n<ArticleCardList :categories=\\\"aiLearningCategories\\\" />\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/01.Agentๆฆ‚่งˆไธŽ็ปผ่ฟฐ\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/01.Agentๆฆ‚่งˆไธŽ็ปผ่ฟฐ\",\"frontmatter\":{\"date\":\"2026-02-12 22:31:00\",\"title\":\"ไปŽๆ็คบ่ฏๅˆฐๆ•ฐๅญ—ๅ‘˜ๅทฅ๏ผšAI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšAI ็š„่ฟ›ๅŒ–ๆญฃ็ปๅކไปŽโ€œๅฏน่ฏๆก†โ€ๅ‘โ€œๆ•ฐๅญ—ๅ‘˜ๅทฅโ€็š„ๆ นๆœฌๆ€ง่ทจ่ถŠใ€‚ๆœฌๆ–‡ๆ˜ฏไธ€็ฏ‡ๅ…ณไบŽ AI Agent ็š„ๅ…จๆ™ฏๆทฑๅบฆ็ปผ่ฟฐ๏ผŒๆ—จๅœจ่งฃๆž„ๆ™บ่ƒฝไฝ“ๅฆ‚ไฝ•ไปŽ็ฎ€ๅ•็š„ Prompt ๅ“ๅบ”่€…๏ผŒๆผ”ๅ˜ไธบๅ…ทๅค‡่‡ชไธป็›ฎๆ ‡ๆ‹†่งฃใ€้•ฟ็ŸญๆœŸ่ฎฐๅฟ†ไธŽๅคๆ‚็Žฏๅขƒไบคไบ’่ƒฝๅŠ›็š„โ€œๆ‰ง่กŒ่€…โ€ใ€‚ๆˆ‘ไปฌๅฐ†ๆทฑๅบฆๆ‹†่งฃ Agent ็š„ๅ››ๅคงๆŠ€ๆœฏๅŸบ็Ÿณ๏ผˆ่ง„ๅˆ’ใ€่ฎฐๅฟ†ใ€ๅทฅๅ…ทใ€่กŒๅŠจ๏ผ‰๏ผŒๅนถ่ฏฆ็ป†ๅ‰–ๆžไปŽ้€š็”จๅž‹ Agent ๅˆฐๅคšๆ™บ่ƒฝไฝ“ๅไฝœ๏ผˆMAS๏ผ‰ใ€ๅ†ๅˆฐ่ฟˆๅ‘ Agent OS ๆ—ถไปฃ็š„ OpenClaw ็ญ‰ไบ”ๅคงๆผ”่ฟ›ๅฝขๆ€ใ€‚ไธไป…ๆŽข่ฎจไบ†ๆŠ€ๆœฏๆžถๆž„็š„ๅฎž็Žฐ๏ผŒๆ›ดๆญ็คบไบ†่ฝฏไปถๅทฅ็จ‹ไปŽโ€œไปฅไบบไธบไธญๅฟƒโ€ๅ‘โ€œไปฅ AI ไธบไธญๅฟƒโ€็š„่Œƒๅผ้ฉๅ‘ฝโ€”โ€”ๅœจ Agent ้ฉฑๅŠจ็š„ๆ–ฐ็บชๅ…ƒ๏ผŒๆ ธๅฟƒ็ซžไบ‰ๅŠ›ๅฐ†ไธๅ†ๆ˜ฏไปฃ็ ้‡๏ผŒ่€Œๆ˜ฏ่ฐƒๅบฆ AI ้—ญ็Žฏ่งฃๅ†ณไธšๅŠก้—ฎ้ข˜็š„่ƒฝๅŠ›ใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/llm_learning_bg_1.png\",\"permalink\":\"/ai-agent/overview\",\"top\":true,\"categories\":[\"ai-practice\"],\"tags\":[\"AI Agent\",\"Agent\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไปŽๆ็คบ่ฏๅˆฐๆ•ฐๅญ—ๅ‘˜ๅทฅ๏ผšAI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐ\",\"date\":\"2026-02-12 22:31:00\",\"capture\":\"1. ไป€ไนˆๆ˜ฏ Agent๏ผŸโ€”โ€”ไปŽโ€œๅทฅๅ…ทโ€ๅˆฐโ€œๅฎžไฝ“โ€็š„่ฟ›ๅŒ–\\n> ๆ ธๅฟƒ้€ป่พ‘๏ผš็Žฐไปฃ Agent ็š„ๆœฌ่ดจๆ˜ฏ \\\"LLM (ๅคง่„‘) + ่ง„ๅˆ’ไธŽ่ฎฐๅฟ† (ๅฐ่„‘) + ๅทฅๅ…ท่ฐƒ็”จ (ๆ‰‹่„š)\\\"ใ€‚LLM ็š„ๆตท้‡็Ÿฅ่ฏ†ๅ‚จๅค‡่ฎฉ Agent ่ƒฝๅคŸ็ฒพๅ‡†็†่งฃๅคๆ‚ๆŒ‡ไปค๏ผŒๅนถๅฐ†ๅ…ถ่ฝฌๅŒ–ไธบๅฎž้™…่กŒๅŠจใ€‚\\nๅœจ AI ้ข†ๅŸŸ๏ผŒAgent๏ผˆๆ™บ่ƒฝไฝ“๏ผ‰ ๅนถ้žไธ€ไธชๆ–ฐๆฆ‚ๅฟต๏ผŒไฝ† LLM๏ผˆๅคง่ฏญ่จ€ๆจกๅž‹๏ผ‰็š„็ˆ†ๅ‘่ต‹ไบˆไบ†ๅฎƒ็œŸๆญฃ็š„โ€œ็ต้ญ‚โ€ใ€‚็ฎ€ๅ•ๆฅ่ฏด๏ผŒAgent ๆ˜ฏไธ€็ง่ƒฝๅคŸๆ„Ÿ็Ÿฅ็Žฏๅขƒใ€่‡ชไธปๅ†ณ็ญ–ๅนถๆ‰ง่กŒไปปๅŠก็š„ๆ™บ่ƒฝๅฎžไฝ“ใ€‚\\nๅฆ‚ๆžœ่ฏดไผ ็ปŸ็š„ AI ๆ˜ฏไธ€ไธชโ€œ้—ฎ็ญ”ๆœบโ€๏ผŒ้‚ฃไนˆ Agent ๅฐฑๆ˜ฏไธ€ไธชโ€œๆ‰ง่กŒ่€…โ€ใ€‚ๅฎƒๅ…ทๅค‡ไปฅไธ‹ๅ››ๅคงๆ ธๅฟƒ็‰น่ดจ๏ผš\\n* ่‡ชไธปๆ€ง (Autonomy)๏ผš ๆ— ้กปๆ—ถๅˆป็›ฏ็€๏ผŒ่ฎพๅฎš\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/02.Agent ่ง„ๅˆ’ๆจกๅ—\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/02.Agent ่ง„ๅˆ’ๆจกๅ—\",\"frontmatter\":{\"date\":\"2026-02-24 20:52:37\",\"title\":\"ๆŽขๅฏป Agent ๅ†ณ็ญ–ไธญๆžข๏ผš่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„่ง„ๅˆ’่Œƒๅผ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฆ‚ๆžœ่ฏด LLM ๆ˜ฏ Agent ็š„ๅคง่„‘๏ผŒ่ง„ๅˆ’ๆจกๅ—ๅˆ™ๆ˜ฏๅ…ถ่ดŸ่ดฃๅคๆ‚ๅ†ณ็ญ–็š„โ€œๅ‰้ขๅถโ€ใ€‚ๆœฌๆ–‡ๆทฑๅบฆ่งฃๆž„ไบ† Agent ่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„ๆ ธๅฟƒ่ทฏๅพ„๏ผšไปŽไปปๅŠกๅˆ†่งฃ็š„้™ไฝŽ็†ตๅ€ผ๏ผŒๅˆฐ่‡ชๆˆ‘ๅๆ€็š„้—ญ็ŽฏๆŽงๅˆถใ€‚้€š่ฟ‡ๅฏนๆฏ”โ€œ่พน่ตฐ่พน็œ‹โ€็š„ ReAct ๅŠจๆ€ๅ“ๅบ”ๆจกๅผไธŽโ€œ่ฐ‹ๅฎšๅŽๅŠจโ€็š„ Plan-and-Execute ้ข„็ผ–ๆŽ’ๆจกๅผ๏ผŒๆœฌๆ–‡ๆญ็คบไบ†ๅฆ‚ไฝ•้’ˆๅฏน้•ฟ้“พ่ทฏๅทฅ็จ‹ไปปๅŠกๆž„ๅปบ็จณๅฅ็š„ๅ†ณ็ญ–่Œƒๅผ๏ผŒๅŠฉไฝ ๅฎŒๆˆไปŽโ€œ็ฎ€ๅ•ๆ็คบ่ฏโ€ๅˆฐโ€œๅคๆ‚ๆžถๆž„่ฎพ่ฎกโ€็š„่ฎค็Ÿฅ่ทƒ่ฟใ€‚\",\"permalink\":\"/ai-agent/planning-module\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆŽขๅฏป Agent ๅ†ณ็ญ–ไธญๆžข๏ผš่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„่ง„ๅˆ’่Œƒๅผ\",\"date\":\"2026-02-24 20:52:37\",\"capture\":\"1. ๅผ•่จ€\\nๅœจไบบ็ฑปๅคง่„‘ไธญ๏ผŒๅ‰้ขๅถ็šฎๅฑ‚่ดŸ่ดฃๅคๆ‚็š„่ฎค็Ÿฅ่ง„ๅˆ’ใ€ๅ†ณ็ญ–ๅ’Œ็คพไบค่กจ็Žฐใ€‚ๅฏนไบŽไธ€ไธช Agent ่€Œ่จ€๏ผŒ่ง„ๅˆ’ๆจกๅ—ๆญฃๆ˜ฏๅฎƒ็š„โ€œๅ‰้ขๅถโ€โ€”โ€”ๅฎƒๅ†ณๅฎšไบ† Agent ๆ˜ฏๅชไผšๆœบๆขฐๅ“ๅบ”ๆŒ‡ไปค็š„โ€œๆœจๅถโ€๏ผŒ่ฟ˜ๆ˜ฏ่ƒฝ็‹ฌ็ซ‹ๆ‹†่งฃ็›ฎๆ ‡ใ€ๅœจๅคๆ‚็Žฏๅขƒไธญๅฏปๆ‰พๆœ€ไผ˜่ทฏๅพ„็š„โ€œๆ•ฐๅญ—ๅ‘˜ๅทฅโ€ใ€‚\\nAgent ็š„่ง„ๅˆ’่ƒฝๅŠ›ไธป่ฆ็”ฑไธค้ƒจๅˆ†ๅๅŒ้ฉฑๅŠจ๏ผšไปปๅŠกๅˆ†่งฃไธŽ่‡ชๆˆ‘ๅๆ€ใ€‚\\n 2. ไปปๅŠกๅˆ†่งฃ๏ผšๅŒ–็นไธบ็ฎ€็š„็ญ–็•ฅ\\nไปปๅŠกๅˆ†่งฃๆ˜ฏๆŒ‡ๅฐ†ไธ€ไธชๅคๆ‚็š„็›ฎๆ ‡ๆˆ–ไปปๅŠกๆ‹†่งฃไธบๅคšไธชๅ…ทไฝ“ใ€ๅฏๆ“ไฝœ็š„็š„ๅญไปปๅŠก๏ผŒไปฅไพฟ Agent ่ƒฝๅคŸๆ›ด้ซ˜ๆ•ˆๅœฐๆ‰ง่กŒๅ’Œ็ฎก็†ใ€‚ๅ…ถๆœฌ่ดจๆ˜ฏ้™ไฝŽ้—ฎ้ข˜็š„็†ตๅ€ผ๏ผŒ่ฎฉ Agent ่ƒฝๅคŸ่š็„ฆไบŽๆฏไธ€ไธช็ป†ๅฐ็š„็กฎๅฎšๆ€งๆญฅ้ชค๏ผŒไปŽ่€Œ้€ๆญฅ่งฃๅ†ณ้—ฎ้ข˜๏ผŒๆ้ซ˜่ง„ๅˆ’็š„ๅฏ่กŒๆ€งๅ’Œๆ‰ง่กŒๆ•ˆ็އใ€‚\\nๆ นๆฎโ€œ่ง„ๅˆ’โ€ไธŽโ€œๆ‰ง่กŒโ€ๅ‘\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/03.ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผšๅฐ†้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/03.ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผšๅฐ†้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"frontmatter\":{\"date\":\"2026-02-06 15:48:23\",\"title\":\"ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผš้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผš้ขๅฏนๅฑ‚ๅ‡บไธ็ฉท็š„ Promptใ€MCPใ€Skills ๅ’Œ Subagents๏ผŒๅพˆๅคšๅผ€ๅ‘่€…ๅ’Œไบงๅ“็ป็†ๅธธๆ„Ÿๅˆฐๅ›ฐๆƒ‘๏ผš่ฟ™ไบ›็ป„ไปถ็ฉถ็ซŸๆ˜ฏ้‡ๅค้€ ่ฝฎๅญ๏ผŒ่ฟ˜ๆ˜ฏๅ„ๅธๅ…ถ่Œ็š„็งฏๆœจ๏ผŸๆœฌๆ–‡ๅฐ†ๆทฑๅบฆๆ‹†่งฃ Agentic ็”Ÿๆ€็š„ไบ”ๅคงๆ ธๅฟƒๆ”ฏๆŸฑ๏ผŒๆญ็คบๅฆ‚ไฝ•้€š่ฟ‡ไผ˜้›…็š„ๆžถๆž„่ฎพ่ฎกๅฎž็ŽฐๅๅŒ้—ญ็Žฏ๏ผŒๅฐ†้›ถๆ•ฃ็š„ AI ็ป„ไปถๆ‹ผ่ฃ…ๆˆไธ€ๅฅ—ๅฏๆŒ็ปญ่ฟ›ๅŒ–็š„ AI ๅŽŸ็”Ÿๆ“ไฝœ็ณป็ปŸ๏ผŒๆŠŠ็ขŽ็‰‡ๅŒ–็š„ AI ่ƒฝๅŠ›่ฝฌๅŒ–ไธบ้ซ˜ๅฏ็”จ็š„็”ŸไบงๅŠ›ๆตใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/ai-practice/agent_components_zh.png\",\"permalink\":\"/ai-agent/composition-ai-components\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"],\"tags\":[\"Agent\",\"AI\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผš้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"date\":\"2026-02-06 15:48:23\",\"capture\":\"<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/ai-practice/agent_components_zh.png\\\" style=\\\"width: 100%; border-radius: 8px; margin-bottom: 20px;\\\" alt=\\\"about site background\\\">\\n 1. ๅผ•่จ€\\n> ้—ฎ้ข˜๏ผšๅœจๆ™บ่ƒฝไฝ“็”Ÿๆ€้‡Œ๏ผŒๅ„ไธช็ป„ไปถๅˆฐๅบ•ๆ˜ฏๆ€ŽไนˆๅๅŒๅทฅไฝœ็š„๏ผŸ\\nๅฝ“ๅ‰๏ผŒAgent๏ผˆๆ™บ่ƒฝไฝ“๏ผ‰ๆŠ€ๆœฏๅ‘ๅฑ•่ฟ…็Œ›๏ผŒๅ„็ง่ฎพ่ฎกๆจกๅผใ€ๆ ธๅฟƒ็ป„ไปถไธŽๅทฅไฝœๆœบๅˆถๅฑ‚ๅ‡บไธ็ฉทใ€‚้ขๅฏน็นๆ‚็š„ๆ™บ่ƒฝไฝ“็”Ÿๆ€\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/10.Agent SKills\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/10.Agent SKills\",\"frontmatter\":{\"date\":\"2026-03-05 23:11:25\",\"title\":\"ๅฆ‚ไฝ•็ผ–ๅ†™ไธ€ไธช้ซ˜ๅฏ็”จ็š„ Agent Skill๏ผŸไปŽๆœบๅˆถๆ‹†่งฃๅˆฐ็”Ÿไบงๅฎž่ทตๆŒ‡ๅ—\",\"description\":\"ๅคง่ฏญ่จ€ๆจกๅž‹ๅœจ็‰นๅฎšๅทฅ็จ‹้ข†ๅŸŸๅธธ้ขไธดโ€œ็Ÿฅ่€Œไธ่กŒโ€็š„ๅ›ฐๅขƒใ€‚ๆœฌๆ–‡ๆทฑๅบฆๆ‹†่งฃ Anthropic ๆœ€ๆ–ฐๆŽจๅ‡บ็š„ Agent Skills ่ง„่Œƒ๏ผŒๆญ็ง˜ๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆธ่ฟ›ๅผๆŠซ้œฒไธŽไธ‰็บงๅŠ ่ฝฝๆœบๅˆถ๏ผŒๅœจๆŽงๅˆถ Token ๆˆๆœฌ็š„ๅŒๆ—ถๆ˜พ่‘—ๆๅ‡ Agent ็š„ไปปๅŠกๆ‰ง่กŒ็ฒพๅบฆใ€‚ๆ–‡็ซ ๆถต็›–ไบ†ไปŽๆ–‡ไปถๅคนๆžถๆž„่ฎพ่ฎกๅˆฐๅฎžๆˆ˜ git-workflow ็ผ–ๅ†™็š„ๅ…จๆต็จ‹ๆŒ‡ๅ—๏ผŒๅŠฉไฝ ๅฐ†้›ถๆ•ฃ็š„ Prompt ่ฝฌๅŒ–ไธบๆ ‡ๅ‡†ๅŒ–็š„ๆ•ฐๅญ—่ต„ไบงใ€‚\",\"permalink\":\"/ai-agent/skills-practice-summary\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\",\"Agent ็ณปๅˆ—\"],\"tags\":[\"Agent Skills\",\"Agent\",\"AI\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฆ‚ไฝ•็ผ–ๅ†™ไธ€ไธช้ซ˜ๅฏ็”จ็š„ Agent Skill๏ผŸไปŽๆœบๅˆถๆ‹†่งฃๅˆฐ็”Ÿไบงๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-03-05 23:11:25\",\"capture\":\"1. ๅผ•่จ€๏ผšAgent Skills ๆ˜ฏไป€ไนˆ๏ผŸ\\nๅœจๅคง่ฏญ่จ€ๆจกๅž‹๏ผˆLLM๏ผ‰็š„่ฝๅœฐๅฎž่ทตไธญ๏ผŒๅผ€ๅ‘่€…็ปๅธธ้ขไธดไธ€ไธชๅ…ฑๆ€งๆŒ‘ๆˆ˜๏ผšๆจกๅž‹ๅœจ็‰นๅฎš็ป†ๅˆ†้ข†ๅŸŸๅพ€ๅพ€ๅค„ไบŽโ€œ็Ÿฅ่€Œไธ่กŒโ€็š„็Šถๆ€โ€”โ€”่™ฝ็„ถๆ‹ฅๆœ‰ๅšๆ‚็š„็Ÿฅ่ฏ†๏ผŒๅด็ผบไนๆ‰ง่กŒๅคๆ‚ไปปๅŠก็š„ไธ“ไธš่ทฏๅพ„ใ€‚\\nไธบไบ†่งฃๅ†ณ่ฟ™ไธ€็—›็‚น๏ผŒAnthropic ๅœจๅ…ถๆ——่ˆฐๆจกๅž‹ Claude 3.7 ็ณปๅˆ—ไธญๆญฃๅผๆŽจๅ‡บไบ† Claude Skillsใ€‚่ฟ™ไธ€ๅŠŸ่ƒฝๅฐ† LLM ็š„่ƒฝๅŠ›ๅฐ่ฃ…ไธบ็›ด่ง‚็š„โ€œ่ƒฝๅŠ›ๆ–‡ไปถๅคนโ€๏ผŒๆžๅคงๆๅ‡ไบ†ๆ™บ่ƒฝไฝ“็š„ๅฎž็”จๆ€ง๏ผŒๅนถ่ฟ…้€Ÿๅœจๅผ€ๅ‘่€…็คพๅŒบๅผ•ๅ‘็ƒญ่ฎฎใ€‚2025 ๅนด 12 ๆœˆ๏ผŒ้š็€ Anthropic ่”ๅˆ็”Ÿๆ€ไผ™ไผดๆญฃๅผๅผ€ๆบ Agent Skills ่ง„่Œƒ๏ผŒAgent Skills ็š„ๆ ‡ๅ‡†ๅŒ–ไนŸๆญฃๅผๅผ€ๅฏ๏ผˆ่€Œ่ฟ™ไธ€่ƒฝๅŠ›\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/10.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Deep Research Agent\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/10.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Deep Research Agent\",\"frontmatter\":{\"date\":\"2026-04-02 00:38:37\",\"title\":\"ๅฃฐๆ˜Žๅผๅคšๆ™บ่ƒฝไฝ“ๅๅŒ๏ผšๅŸบไบŽ Claude Agent SDK ๆž„ๅปบๆทฑๅบฆ็ ”็ฉถ็ณป็ปŸ\",\"description\":\"ๅฏนๅคๆ‚็ ”็ฉถไปปๅŠกๆ—ถ๏ผŒๅ•ๆ™บ่ƒฝไฝ“๏ผˆSingle-Agent๏ผ‰ๅธธๅ› ไธŠไธ‹ๆ–‡็จ€้‡Šๅ’Œ้€ป่พ‘็–ฒๅŠณๅฏผ่‡ดไบงๅ‡บ่ดจ้‡ไธ‹้™ใ€‚ๆœฌๆ–‡ๅŸบไบŽ Claude Agent SDK ๆŽข่ฎจไบ†ๅคšๆ™บ่ƒฝไฝ“็ณป็ปŸ๏ผˆMAS๏ผ‰็š„ๅทฅ็จ‹ๅŒ–่ฝๅœฐใ€‚้€š่ฟ‡โ€œLead + Subagentโ€็š„ๅฃฐๆ˜Žๅผๆžถๆž„๏ผŒๆˆ‘ไปฌๅฐ†ๆทฑๅบฆ็ ”็ฉถๆ‹†่งฃไธบๆœ็ดขใ€้‡ๅŒ–ๅˆ†ๆžใ€ๅฏ่ง†ๅŒ–็ป˜ๅ›พไธŽ็ป“ๆž„ๅŒ–ๅ†™ไฝœๅ››ไธช็‹ฌ็ซ‹็Žฏ่Š‚ใ€‚\",\"permalink\":\"/ai-agent/deepresearch-agent\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"],\"tags\":[\"Agent SDK\",\"Multi-Agent\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฃฐๆ˜Žๅผๅคšๆ™บ่ƒฝไฝ“ๅๅŒ๏ผšๅŸบไบŽ Claude Agent SDK ๆž„ๅปบๆทฑๅบฆ็ ”็ฉถ็ณป็ปŸ\",\"date\":\"2026-04-02 00:38:37\",\"capture\":\"> ๅฎž่ทต่ฏๆ˜Ž๏ผŒ้€š่ฟ‡ไธฅๆ ผ็š„่Œ่ดฃ้š”็ฆป๏ผˆๅฆ‚ Lead Agent ไป…่ดŸ่ดฃ่ฐƒๅบฆ๏ผ‰ไธŽๅทฅ็จ‹่พน็•Œ็บฆๆŸ๏ผˆๅฆ‚ Researcher ๅผบๅˆถๆๅ–้‡ๅŒ–ๆŒ‡ๆ ‡๏ผ‰๏ผŒMAS ่ƒฝๅคŸ็”Ÿๆˆๅ…ทๅค‡ไธ“ไธšๆ•ฐๆฎๅ›พ่กจๆ”ฏๆ’‘็š„ๆทฑๅบฆๆŠฅๅ‘Šใ€‚ๆœฌๆ–‡ๅฐ†ไปŽๆžถๆž„่ฎพ่ฎกใ€ๅทฅไฝœๆต็ผ–ๆŽ’ๅˆฐ PDF ่‡ชๅŠจ็”Ÿๆˆ๏ผŒๅฎŒๆ•ด่ฟ˜ๅŽŸ่ฟ™ไธ€โ€œAI ้ฉฑๅŠจ่ฐƒ็ ”ๆตๆฐด็บฟโ€็š„ๆž„ๅปบ่ฟ‡็จ‹๏ผŒๅนถๅฑ•็คบๅ…ถๅœจๆ•™่‚ฒ็ ”็ฉถๆกˆไพ‹ไธญ็š„ๅฎžๆˆ˜ๆ•ˆๆžœใ€‚\\n 1. ๅผ•่จ€\\nๅœจ AI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐไธ€ๆ–‡ไธญ๏ผŒๆˆ‘ไปฌๆŽข่ฎจไบ†ๅคšๆ™บ่ƒฝไฝ“็ณป็ปŸ๏ผˆMulti-Agent Systems, MAS๏ผ‰็š„็†่ฎบไผ˜ๅŠฟใ€‚ไปŽ็†่ฎบๅฑ‚้ข็œ‹๏ผŒ่ฟ™็ฑป็ณป็ปŸ้€š่ฟ‡ไปปๅŠกๅˆ†่งฃใ€่Œ่ดฃ้š”็ฆปไธŽๅนถ่กŒๅไฝœๆœบๅˆถ๏ผŒๆœ‰ๆ•ˆ็ช็ ดไบ†ๅ•ๆ™บ่ƒฝไฝ“ๅœจๅคๆ‚ไปปๅŠกไธญ็š„่ƒฝๅŠ›็“ถ้ขˆโ€”โ€”ไธไป…ๆ˜พ่‘—ๆๅ‡ไบ†ไปปๅŠกๅค„็†็š„ๅคฉ่Šฑๆฟ\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/20.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Agent\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/20.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Agent\",\"frontmatter\":{\"date\":\"2026-03-06 00:37:58\",\"title\":\"ๅ‘Šๅˆซๆ‰‹ๅŠจ Loop๏ผšๅ€ŸๅŠฉ Claude Agent SDK ๅฎž็Žฐ Agent ็š„ๅทฅ็จ‹ๅŒ–้—ญ็Žฏ\",\"description\":\"ๅœจ Agent ๆŠ€ๆœฏๅฟซ้€Ÿ่ตฐๅ‘ๆˆ็†Ÿ็š„ไปŠๅคฉ๏ผŒๅฆ‚ไฝ•ไฝŽๆˆๆœฌๆž„ๅปบๅ…ทๅค‡โ€œ่‡ชไธปๆดžๅฏŸโ€่ƒฝๅŠ›็š„ๆ™บ่ƒฝไฝ“๏ผŸๆœฌๆ–‡ๆทฑๅบฆๆ‹†่งฃ Anthropic ๅฎ˜ๆ–นๆŽจๅ‡บ็š„ Claude Agent SDK๏ผŒ่งฃๆžๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆ‰˜็ฎก Agent Loop ๅ’Œไผš่ฏๆŒไน…ๅŒ–ๆœบๅˆถ๏ผŒ่งฃๅ†ณ Agent ๅผ€ๅ‘ไธญ็š„็Šถๆ€็ฎก็†้šพ้ข˜ใ€‚ๆ–‡็ซ ้€š่ฟ‡ไปŽๆ— ็Šถๆ€ไบคไบ’ๅˆฐๅ…ทๅค‡ๆตๅผ่พ“ๅ‡บ่ƒฝๅŠ›็š„ TUI ่‡ชๅŠจๅŒ–ๅทฅๅ…ท่ฟ›้˜ถๅฎžๆˆ˜๏ผŒๅฑ•็คบไบ†ๆž„ๅปบไฝŽๆˆๆœฌใ€้ซ˜ๅฏ็”จ AI ๅŽŸ็”Ÿๅบ”็”จ็š„ๅฎŒๆ•ด่ทฏๅพ„ใ€‚\",\"permalink\":\"/ai-practice/claude-agent-sdk-basic-build\",\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"],\"tags\":[\"Agent\",\"Agent SDK\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ‘Šๅˆซๆ‰‹ๅŠจ Loop๏ผšๅ€ŸๅŠฉ Claude Agent SDK ๅฎž็Žฐ Agent ็š„ๅทฅ็จ‹ๅŒ–้—ญ็Žฏ\",\"date\":\"2026-03-06 00:37:58\",\"capture\":\"1. ๅผ•่จ€\\nๅฝ“ๅ‰๏ผŒAI Agent ็š„ๆผ”่ฟ›ๅทฒ่ฟ›ๅ…ฅไธ€ไธชๅดญๆ–ฐ็š„้˜ถๆฎตโ€”โ€”ไปŽ้œ€่ฆ้ข‘็นไบบๅทฅๅนฒ้ข„็š„\\\"ๅŠ่‡ชๅŠจ\\\"ๆจกๅผ๏ผŒ่ฟ›ๅŒ–ไธบ่ƒฝๅคŸ่‡ชไธปๆดžๅฏŸ็Žฏๅขƒๅ˜ๅŒ–ใ€ๅŠจๆ€่ฐƒๆ•ดๆ‰ง่กŒ็ญ–็•ฅใ€ๅฎž็ŽฐไธšๅŠกๆต็จ‹่‡ช้€‚ๅบ”็ผ–ๆŽ’็š„ๆ™บ่ƒฝๅŒ–็ณป็ปŸใ€‚Claude Codeใ€Manusใ€OpenClaw ็ญ‰ไปฃ่กจๆ€งไบงๅ“ๅฑ‚ๅ‡บไธ็ฉท๏ผŒไนŸๆ ‡ๅฟ—็€ Agent ๆŠ€ๆœฏๆญฃๅœจๅฟซ้€Ÿ่ตฐๅ‘ๆˆ็†ŸไธŽๆ™ฎๅŠใ€‚\\n่ฟ‘ๆœŸ๏ผŒ็ฌ”่€…ๅœจไธบไธชไบบๅšๅฎขๅผ•ๅ…ฅๆ™บ่ƒฝๅŒ–่ฟ่ฅ่ƒฝๅŠ›๏ผˆๅฆ‚ๅ†…ๅฎน่‡ชๅŠจๆ กๅฏนใ€ๅฎก็จฟไธŽๅ‘ๅธƒ๏ผ‰๏ผŒๆทฑๅ…ฅ็ ”็ฉถไบ†ๅคšๆฌพ Agent ๅผ€ๅ‘ๆก†ๆžถ๏ผŒๅฆ‚ Claude Agent SDKใ€Langchainใ€LangGraph ็ญ‰ใ€‚ๅœจ็ป่ฟ‡ๅˆๆญฅ็š„็ ”็ฉถๅฏนๆฏ”ๅˆ†ๆžๅŽ๏ผŒClaude Agent SDK ๆˆไธบไบ†ไฝŽๆˆๆœฌๆž„ๅปบ้ซ˜ๅฏ็”จ Agent\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/60.ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/60.ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹\",\"frontmatter\":{\"date\":\"2024-06-14 22:00:00\",\"title\":\"ไธ€ๆฌก็”ฑ Product Sense ้ฉฑๅŠจ็š„ Agent ๆž้™ๅฎž่ทต\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšAI ๆ—ถไปฃ๏ผŒๅ†™ๅฅฝไปฃ็ ๅชๆ˜ฏๅŠๆ ผ็บฟใ€‚ๅœจไธ€ๆฌกๆž้™ๆŒ‘ๆˆ˜่ต›ไธญ๏ผŒๆˆ‘ไปฌ้€š่ฟ‡ๅฏน K12 ่ต›้“็”จๆˆท็—›็‚น็š„็ฒพๅ‡†โ€œ่ง†่ง’ๅˆ‡ๆขโ€๏ผŒๆ‰“้€ ๅ‡บไธ€ๆฌพๆŽˆไบบไปฅๆธ”็š„โ€œๆ•ฐๅญฆ่พ…ๅฏผๅฏผๅธˆโ€ๅนถๆ–ฉ่Žทๅคงๅฅ–ใ€‚ๆœฌๆ–‡ๅค็›˜ไบ† Agent ๆญๅปบ่ƒŒๅŽ็š„ๆ ธๅฟƒ SOP ่ฎพ่ฎก้€ป่พ‘๏ผšๆŠ€ๆœฏ็ปˆ็ฉถ่ฆๅ›žๅฝ’ๅฏน็œŸๅฎžไบบๆ€ง็š„ไฝ“ๅฏŸไธŽๅ…ณๆ€€ใ€‚\",\"coverImg\":\"/img/cover/llm_learning_bg_2.png\",\"permalink\":\"/ai-practice/math-bot\",\"categories\":[\"ai-practice\"],\"tags\":[\"Agent\",\"ไบงๅ“ Sense\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไธ€ๆฌก็”ฑ Product Sense ้ฉฑๅŠจ็š„ Agent ๆž้™ๅฎž่ทต\",\"date\":\"2024-06-14 22:00:00\",\"capture\":\"ๅœจๅˆšๅˆš่ฟ‡ๅŽป็š„ๅ‘จๆœซ๏ผŒๆˆ‘ๅ’Œๅฅฝๅ‹ๅ‚ๅŠ ไบ†ไธ€ๅœบ็”ฑๅƒๅธ† Agent ไธพๅŠž็š„็บฟไธ‹็คพๅŒบๆดปๅŠจใ€‚่ฟ™ๆ˜ฏไธ€ๅœบๅ……ๆปกๆžๅฎข็ฒพ็ฅž็š„โ€œๆž้™ๆŒ‘ๆˆ˜โ€โ€”โ€”ๆˆ‘ไปฌ้œ€่ฆๅœจๆžๅ…ถๆœ‰้™็š„ๆ—ถ้—ดๅ†…๏ผŒไปŽ้›ถๅผ€ๅง‹ๆž„ๆ€ใ€ๆญๅปบๅนถ็Žฐๅœบๅฑ•็คบไธ€ไธชๅฎŒๆ•ด็š„ Agent ๅบ”็”จใ€‚\\nไปคไบบๆƒŠๅ–œ็š„ๆ˜ฏ๏ผŒๆˆ‘ไปฌไธไป…้กบๅˆฉๅฎŒๆˆไบ†ๆž้™ๅผ€ๅ‘๏ผŒๆœ€็ปˆ่ฟ˜ๆ–ฉ่Žทไบ†ๅ…จๅœบ็š„ใ€Œๆœ€ไฝณๅบ”็”จๅฅ–ใ€ใ€‚\\nๅค็›˜่ฟ™ๆฌก็Ÿญๆš‚ๅด้ซ˜ๅฏ†ๅบฆ็š„ๅผ€ๅ‘ไฝ“้ชŒ๏ผŒๆœ€ๅคง็š„ๆ„Ÿ่งฆๆ˜ฏ๏ผšๅœจ AI ๆ—ถไปฃ๏ผŒๅ•็บฏ็š„ๅทฅ็จ‹ๅฎž็Žฐๅทฒ็ปไธๅ†ๆ˜ฏๅ”ฏไธ€็š„ๅฃๅž’๏ผŒ็œŸๆญฃ่ฎฉๅบ”็”จ่„ฑ้ข–่€Œๅ‡บ็š„๏ผŒๆ˜ฏๅฏน็œŸๅฎžไธšๅŠกๅœบๆ™ฏ็š„ๆดžๅฏŸๅŠ›ใ€‚ๅฝ“ (Engineering + Product) ร— AI ็š„้ฃž่ฝฎๅผ€ๅง‹่ฝฌๅŠจๆ—ถ๏ผŒๆŠ€ๆœฏๆ‰่ƒฝ็œŸๆญฃ่ฝฌๅŒ–ไธบ่งฃๅ†ณ้—ฎ้ข˜็š„ๅˆฉๅ™จใ€‚\\nไปฅไธ‹ๆ˜ฏๅ…ณไบŽ่ฟ™ๆฌกโ€œK12 ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹โ€ Agent ๆญๅปบ็š„ๅฎž\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/70.่ฏ—ๆญŒๅฐ็ฒพ็ต\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/70.่ฏ—ๆญŒๅฐ็ฒพ็ต\",\"frontmatter\":{\"date\":\"2024-04-19 22:15:38\",\"title\":\"้›ถไปฃ็ ไธ็ญ‰ไบŽ้›ถ้€ป่พ‘๏ผš็ป“ๆž„ๅŒ– Prompt ้ฉฑๅŠจไธ‹็š„ Agent ๆญๅปบๅฎžๆˆ˜\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจ Agent ๆฆ‚ๅฟตๆปกๅคฉ้ฃž็š„ๅฝ“ไธ‹๏ผŒๅ†ณๅฎšๅคงๆจกๅž‹ๅฎž้™…่กจ็Žฐ็š„ๅพ€ๅพ€ๆ˜ฏๆœ€ๅบ•ๅฑ‚็š„ System Prompt ่ฎพ่ฎกใ€‚ๆœฌๆ–‡่ฎฐๅฝ•ไบ†ๅ‘จๆœซๅˆฉ็”จๆ–‡ๅฟƒๆ™บ่ƒฝไฝ“ๅนณๅฐๆญๅปบโ€œ่ฏ—ๆญŒๅฐ็ฒพ็ตโ€็š„ๅฎŒๆ•ดๅฎž่ทตใ€‚้€š่ฟ‡ๅฏนๆฏ”โ€œไผ ็ปŸๅคงๆฎตๆ–‡ๆœฌโ€ไธŽโ€œLangGPT ็ป“ๆž„ๅŒ–โ€ไธค็ง Prompt ็š„ๅฎž้™…่พ“ๅ‡บ๏ผŒๆทฑๅบฆๆ‹†่งฃไบ†็ป“ๆž„ๅŒ– Prompt ๅฆ‚ไฝ•ๅƒโ€œๅ†™ไปฃ็ โ€ไธ€ๆ ท่ง„่Œƒ AI ็š„ๆ€่€ƒๅทฅไฝœๆต๏ผŒๆœ‰ๆ•ˆ่งฃๅ†ณๆŒ‡ไปคๆผ‚็งปไธŽๅนป่ง‰้—ฎ้ข˜ใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ๆฌก Prompt ่ฐƒไผ˜ๅฎž้ชŒ๏ผŒๆ›ดๆ˜ฏไธ€ๅœบๅ…ณไบŽ AI ไบงๅ“ Sense ไธŽๆœชๆฅไบคไบ’ๅฝขๆ€็š„ๆŽข็ดขใ€‚\",\"coverImg\":\"/img/cover/llm_learning_bg_2.png\",\"categories\":[\"ai-practice\"],\"permalink\":\"/ai-practice/poetry-bot\",\"tags\":[\"Agent\",\"AI\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"้›ถไปฃ็ ไธ็ญ‰ไบŽ้›ถ้€ป่พ‘๏ผš็ป“ๆž„ๅŒ– Prompt ้ฉฑๅŠจไธ‹็š„ Agent ๆญๅปบๅฎžๆˆ˜\",\"date\":\"2024-04-19 22:15:38\",\"capture\":\"1. ๅฎž่ทต่ƒŒๆ™ฏ\\nๅ‘จๆœซๅœจ็คพๅŒบๆดปๅŠจไธญๅ†ๆฌกๅฌๅˆฐไบ† LangGPT ไฝœ่€…ไบ‘ไธญๆฑŸๆ ‘ๅ…ณไบŽโ€œ็ป“ๆž„ๅŒ–ๆ็คบ่ฏโ€็š„ๅˆ†ไบซ๏ผŒ่ฎฉไบบๆ„Ÿ่งฆ้ข‡ๆทฑใ€‚่™ฝ็„ถๅฝ“ๅ‰ Agent ๆฆ‚ๅฟต็ซ็ƒญ๏ผŒๅฑ‚ๅ‡บไธ็ฉท็š„ๆก†ๆžถ่ฎฉไบบ็œผ่Šฑ็ผญไนฑ๏ผŒไฝ†ๅ›žๅฝ’ๆœฌ่ดจๆˆ‘ไปฌๅฐฑไผšๅ‘็Žฐ๏ผšSystem Prompt ็š„ๅบ•ๅฑ‚่ฎพ่ฎกใ€ไธŠไธ‹ๆ–‡ๅทฅ็จ‹ไปฅๅŠๆŒ‡ไปค้ตๅพชๆœบๅˆถ๏ผŒๆ‰ๆ˜ฏๅ†ณๅฎšไธ€ไธช Agent ็ต้ญ‚็š„ๅ…ณ้”ฎใ€‚\\nๆญฃๅทงๅคงๅ›ข้˜Ÿ่‡ช็ ”็š„้›ถไปฃ็  Agent ๅนณๅฐ่ฟ‘ๆœŸๅ‘ๅธƒไบ†ๆ–ฐ็‰ˆๆœฌ๏ผŒไธบไบ†ไบฒๆต‹ๅนณๅฐๆ€ง่ƒฝๅนถๅฎžๆˆ˜ๆผ”็ปƒ็ป“ๆž„ๅŒ– Prompt ็š„็ผ–ๅ†™ๆŠ€ๅทง๏ผŒๆˆ‘ๅ†ณๅฎšๅˆ›ๅปบไธ€ไธชโ€œ่ฏ—ๆญŒๅฐ็ฒพ็ตโ€ Agentใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ไธช่ถฃๅ‘ณๅฎž้ชŒ๏ผŒๆ›ดๆ˜ฏไธบไบ†ๆŽข็ดข AI ๅœจๆ–‡ๅญฆๅˆ›ไฝœ่ฟ™็งโ€œๆ„Ÿๆ€ง้ข†ๅŸŸโ€ไธญ๏ผŒๅฆ‚ไฝ•้€š่ฟ‡โ€œ็†ๆ€ง็š„็ป“ๆž„็บฆๆŸโ€่พพๅˆฐๆ›ด้ซ˜็š„่พ“ๅ‡บไธŠ้™ใ€‚\\n 2. ๅนณๅฐไธŽ\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"frontmatter\":{\"date\":\"2025-11-25 00:52:28\",\"title\":\"ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไธบไพฟไบŽ้ซ˜ๆ•ˆๅˆฉ็”จ AI ๅทฅๅ…ทๆๅ‡ๅญฆไน ใ€ๆœ็ดขๅ’Œๅˆ›ไฝœๆ•ˆ็އ๏ผŒๆœฌๆ–‡็ณป็ปŸๆ•ด็†ไบ†ไธปๆต็š„ AI ๅŠฉๆ‰‹ไธŽๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐ็›ธๅ…ณ่ต„ๆบใ€‚ๅ†…ๅฎนๅˆ†ไธบโ€œAI ๅŠฉๆ‰‹โ€๏ผˆๅฆ‚ ChatGPTใ€Claudeใ€Gemini ็ญ‰ๅฏน่ฏๅผๅŠฉๆ‰‹๏ผ‰ๅ’Œโ€œๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐโ€๏ผˆๅฆ‚ๅ†™ไฝœใ€็ป˜็”ป็ญ‰้ข†ๅŸŸ็š„ AI ๅทฅๅ…ทไธŽๅนณๅฐ๏ผ‰๏ผŒไธ”ๆ ‡ๆณจไบ†ๅ…ถๆ ธๅฟƒ่ƒฝๅŠ›ใ€้€‚ๅˆๅœบๆ™ฏ๏ผŒไปฅๅŠ็‰น่‰ฒไผ˜ๅŠฟใ€‚\",\"permalink\":\"/ai-learning/tools-assistant\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/source_sites_bg.png\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"AI ๅŠฉๆ‰‹\",\"AI ๆœ็ดข\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"date\":\"2025-11-25 00:52:28\",\"capture\":\"1. AI ๅŠฉๆ‰‹\\n> ้€‰ๆ‹ฉๅปบ่ฎฎ๏ผš ่‹ฑๆ–‡ไธบไธป โ†’ ไผ˜ๅ…ˆ ChatGPT / Claude / Gemini๏ผ›ไธญๆ–‡ไธบไธป โ†’ ไผ˜ๅ…ˆ Kimi / DeepSeek / ้€šไน‰ๅƒ้—ฎ๏ผ›้œ€่ฆ่”็ฝ‘ๅฎžๆ—ถไฟกๆฏ โ†’ Gemini / Grok๏ผ›้œ€่ฆๅˆ†ๆž้•ฟๆ–‡ๆกฃ โ†’ Claude / Kimi๏ผ›่ฟฝๆฑ‚ไฝŽๆˆๆœฌๅผ€ๆบ้ƒจ็ฝฒ โ†’ DeepSeekใ€‚\\n>\\n> ๆณจ๏ผš็›ฎๅ‰ๅ›ฝๅค–ๆจกๅž‹๏ผˆๅฆ‚ ChatGPTใ€Claudeใ€Gemini ็ญ‰๏ผ‰ๅœจ่‹ฑๆ–‡ๅค„็†ใ€ๅคšๆจกๆ€่ƒฝๅŠ›ใ€ๆ’ไปถ็”Ÿๆ€ๅ’Œ API ไธฐๅฏŒๆ€ง็ญ‰ๆ–น้ข๏ผŒๆ•ดไฝ“ไธŠไพ็„ถไผ˜ไบŽๅ›ฝๅ†…ๆจกๅž‹๏ผŒ้€‚ๅˆๅฏน่‹ฑๆ–‡ๅˆ›ไฝœใ€ๅคš่ฏญ่จ€ๆฒŸ้€šใ€ๅคๆ‚ๆŽจ็†ใ€ไปฃ็ ๅŠฉๆ‰‹็ญ‰ๅœบๆ™ฏๆœ‰ๆ›ด้ซ˜่ฆๆฑ‚็š„็”จๆˆทใ€‚ไธ่ฟ‡๏ผŒๅ›ฝๅ†…ๆจกๅž‹ๅœจไธญๆ–‡็†่งฃใ€ๆœฌๅœฐๅŒ–ใ€ๅˆ่ง„\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/11. LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/11. LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-01-06 15:58:53\",\"title\":\"LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆˆช่‡ณ 2026 ๅนด๏ผŒLLM API ๆœๅŠกๅทฒๅฝขๆˆ\\\"ๅฎ˜ๆ–น็›ด่ฟž + ็ฌฌไธ‰ๆ–น่šๅˆ\\\"็š„ๅŒ่ฝจๆ ผๅฑ€๏ผŒๆจกๅž‹่ƒฝๅŠ›ใ€ๅฎšไปทใ€ๅˆ่ง„ๆ€งไธŽๆŽฅๅ…ฅไพฟๅˆฉๆ€งๅทฎๅผ‚ๆ˜พ่‘—ใ€‚ๆœฌๆ–‡ไปŽ้€‰ๅž‹ๅ‰ๆ้—ฎๅ‡บๅ‘๏ผŒ็ณป็ปŸๆขณ็†ๅ›ฝ้™…ไธŽๅ›ฝๅ†…ไธปๆตๅฎ˜ๆ–น API ๅนณๅฐ๏ผŒไปฅๅŠ OpenRouterใ€็ก…ๅŸบๆตๅŠจ็ญ‰็ฌฌไธ‰ๆ–น่šๅˆๅนณๅฐ็š„ๆ ธๅฟƒ็‰น็‚น๏ผŒๅนถๆไพ›ๅŸบไบŽๅœบๆ™ฏ็š„ๅ†ณ็ญ–ๆก†ๆžถ๏ผŒๅธฎๅŠฉๅผ€ๅ‘่€…ๅ’Œไบงๅ“ๅ›ข้˜Ÿๅฟซ้€Ÿ้”ๅฎšๆœ€้€‚ๅˆ่‡ชๅทฑ็š„ๆ–นๆกˆใ€‚\",\"permalink\":\"/ai-learning/llm-api-resources\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"LLM API\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"date\":\"2026-01-06 15:58:53\",\"capture\":\"1. ้€‰ๆจกๅž‹ๅ‰๏ผŒๅ…ˆๆƒณๆธ…ๆฅš่ฟ™ๅ‡ ไปถไบ‹\\nๅœจๅฏนๆฏ”ๅ…ทไฝ“ๅนณๅฐไน‹ๅ‰๏ผŒๅฏไปŽไปฅไธ‹ๅ››ไธช็ปดๅบฆๆขณ็†่‡ช่บซ่ฏ‰ๆฑ‚๏ผŒ้ฟๅ…\\\"็œผ่Šฑ็ผญไนฑๅŽ้šไพฟ้€‰ไธ€ไธช\\\"๏ผš\\n| ็ปดๅบฆ | ๅ…ณ้”ฎ้—ฎ้ข˜ | ๅฝฑๅ“ๅ†ณ็ญ– |\\n|:-----|:--------|:--------|\\n| ไปปๅŠก็ฑปๅž‹ | ๆ˜ฏ้€š็”จๅฏน่ฏใ€ไปฃ็ ็”Ÿๆˆใ€้•ฟๆ–‡ๆกฃๅˆ†ๆž๏ผŒ่ฟ˜ๆ˜ฏๅคšๆจกๆ€็†่งฃ๏ผŸ | ไธๅŒๆจกๅž‹ๅœจๅž‚็›ด่ƒฝๅŠ›ไธŠๅทฎ่ทๆ‚ฌๆฎŠ |\\n| ๆˆๆœฌ้ข„็ฎ— | ๆฏๆœˆ่ฐƒ็”จ้‡็บง๏ผŸ่ƒฝๅฆๆŽฅๅ—ๆตทๅค–็ป“็ฎ—ไธŽๆฑ‡็އ้ฃŽ้™ฉ๏ผŸ | ๅ›ฝไบงๆจกๅž‹ Token ไปทๆ ผ้€šๅธธไฝŽ 3๏ฝž10 ๅ€ |\\n| ๅˆ่ง„ไธŽ้ƒจ็ฝฒ | ๆ•ฐๆฎ่ƒฝๅฆๅ‡บๅขƒ๏ผŸ่ƒฝๅฆไฝฟ็”จๆตทๅค–ๆœๅŠก๏ผŸๆ˜ฏๅฆ้œ€่ฆ็งๆœ‰ๅŒ–้ƒจ็ฝฒ๏ผŸ | ๆถ‰ๅŠๆ”ฟๅŠก/้‡‘่ž/ๅŒป็–—ๅœบๆ™ฏๅฟ…้กป่€ƒ่™‘ |\\n| ็ฝ‘็ปœ็Žฏๅขƒ | ๅผ€ๅ‘/้ƒจ็ฝฒ็Žฏๅขƒ่ƒฝๅฆ็จณๅฎš่ฎฟ\"},{\"url\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/01.ๅฅฝไนฆๆŽจ่\",\"relativePath\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/01.ๅฅฝไนฆๆŽจ่\",\"frontmatter\":{\"title\":\"ๅฅฝไนฆๆŽจ่\",\"date\":\"2024-01-01 16:00:00\",\"description\":\"่ฏปไนฆๅฟƒๅพ—ใ€ๆŽจ่ไนฆ็ฑๅ’Œ้˜…่ฏปๆŠ€ๅทง\",\"categories\":[\"growth\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/books_reading_bg.png\",\"permalink\":\"/growth/books\",\"tags\":[\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\",\"่ต„ๆบๆŽจ่\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฅฝไนฆๆŽจ่\",\"date\":\"2024-01-01 16:00:00\",\"capture\":\"<script setup\\n import BookRecommend from './@fragment/BookRecommend.vue'\\n import {aiBooks, productSenseBooks, businessBooks, efficiencyBooks, growthBooks, humanSocialBooks, healthBooks} from './@fragment/recommends-data.ts'\\n</script>\\n 1. AI ไธŽๆ•ฐๅญฆๆ€็ปด\\n> ๅœจๅคงๆจกๅž‹ๅ‘ๅฑ•ๆ—ฅๆ–ฐๆœˆๅผ‚็š„ไปŠๅคฉ๏ผŒ็†่งฃ AI ๆœฌ่ดจไธŠๆ˜ฏๅœจๅ‡็บงๆˆ‘ไปฌ่ต„ๆทฑ็š„โ€œ่ฎค็Ÿฅๆ“\"},{\"url\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/10.่ฏปไนฆไธ‰่ฆไธ‰ไธ่ฆ\",\"relativePath\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/10.่ฏปไนฆไธ‰่ฆไธ‰ไธ่ฆ\",\"frontmatter\":{\"date\":\"2025-03-06 11:42:20\",\"title\":\"่ฏปไนฆโ€œไธ‰่ฆโ€ๅ’Œโ€œไธ‰ไธ่ฆโ€\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจไฟกๆฏ็ˆ†็‚ธ็š„ๆ—ถไปฃ๏ผŒ่ฏปไนฆไพ็„ถๆ˜ฏ่Žทๅ–ๆทฑๅบฆ็Ÿฅ่ฏ†ๆœ€้ซ˜ๆ•ˆ็š„ๆ–นๅผไน‹ไธ€ใ€‚ไฝ†โ€œๆง่ตทไนฆโ€ๅนถไธ็ญ‰ไบŽโ€œๆœ‰ๆ”ถ่Žทโ€๏ผŒๆ€Žไนˆ่ฏปๅพ€ๅพ€ๆฏ”่ฏปไป€ไนˆๆ›ด้‡่ฆใ€‚ๆœฌๆ–‡ๆ€ป็ป“ไบ†้ซ˜ๆ•ˆ้˜…่ฏป็š„โ€œไธ‰่ฆโ€ไธŽโ€œไธ‰ไธ่ฆโ€๏ผšไปŽๅฎŒๆ•ด้˜…่ฏป่ง‚ๆ‘ฉๅคงๅธˆๆ€็ปดใ€ๅธฆ็€้—ฎ้ข˜ๆž„ๅปบ็Ÿฅ่ฏ†ๆ ‘๏ผŒๅˆฐ้€š่ฟ‡่ฎจ่ฎบๆฃ€้ชŒ็†่งฃ๏ผ›ๅŒๆ—ถๆ้†’้˜…่ฏป่€…่ญฆๆƒ•ๅ“€ๆ€จๅฟƒๆ€ๅฏน้˜…่ฏปๅˆ่กท็š„ๅผ‚ๅŒ–ใ€้ฟๅ…้™ทๅ…ฅๅฏน็‰ฉ็†ๅช’ไป‹็š„โ€œ็Žฉ็‰ฉไธงๅฟ—โ€๏ผŒไปฅๅŠๅˆ‡ๅฟŒ่„ฑ็ฆป็Žฐๅฎž็š„โ€œ็œŸ็ฉบโ€้˜…่ฏปใ€‚้˜…่ฏปไธไป…ๆ˜ฏๅ‘ๅ†…ๆŽข็ดข็š„็ฒพ็ฅžไน‹ๆ—…๏ผŒๆ›ดๆ˜ฏๅ‘ๅค–็†่งฃ็œŸๅฎžไธ–็•Œใ€ๅˆ›้€ ็คพไผšไปทๅ€ผ็š„ๅฎž็”จๅทฅๅ…ทใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/reading_need.png\",\"permalink\":\"/pages/growth/reading-tips\",\"sticky\":1,\"top\":true,\"categories\":[\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\"],\"tags\":[\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ฏปไนฆโ€œไธ‰่ฆโ€ๅ’Œโ€œไธ‰ไธ่ฆโ€\",\"date\":\"2025-03-06 11:42:20\",\"capture\":\"<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/reading_need.png\\\" style=\\\"width: 100%; border-radius: 8px; margin-bottom: 20px;\\\" alt=\\\"about site background\\\">\\n 1. ๆˆ‘ไปฌไธบไป€ไนˆ้œ€่ฆ่ฏปไนฆ๏ผŸ\\n่ฏปไนฆๆ˜ฏไปŽๅค–็•ŒๆŽฅๅ—ไฟกๆฏ็š„ไธ€็งๆ–นๅผ๏ผŒไธŽ่Šๅคฉใ€ๆต่งˆ็ฝ‘้กตใ€ๅฌๆ’ญๅฎขใ€็œ‹็”ต่ง†ๅนถๆ— ๆœฌ่ดจๅŒบๅˆซใ€‚ไฝ†ไนฆ่ฟ™็งๅช’ไป‹ไธŽๅ…ถไป–ไฟกๆฏๅช’ไป‹็›ธๆฏ”๏ผŒๆœ‰ๅ…ถ็‹ฌๆœ‰็š„ไผ˜ๅŠฟ๏ผš\\n- ๆทฑๅบฆไธŽไธฅ่ฐจ๏ผšไนฆ็ฑๅพ€ๅพ€ๆ˜ฏๅˆ›ไฝœ่€…ๅคšๅนดๆ€่€ƒใ€้•ฟๆœŸ\"},{\"url\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/21.ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"relativePath\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/21.ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"frontmatter\":{\"date\":\"2025-11-10 12:52:28\",\"title\":\"ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจไฟกๆฏ้ซ˜ๅบฆ้€ๆ˜Ž็š„ๆ—ถไปฃ๏ผŒๆต…ๅฑ‚ไฟกๆฏๅทฎๅทฒ่ขซๅฝปๅบ•ๆŠนๅนณ๏ผŒไฟกๆฏๆœฌ่บซ็š„ไปทๅ€ผไธๆ–ญ็จ€้‡Šใ€‚ไบบไธŽไบบ็š„ๆ ธๅฟƒๅทฎ่ทไธๅ†ๆ˜ฏ่Žทๅ–ไฟกๆฏ็š„ๆธ ้“๏ผŒ่€Œๆ˜ฏ้ซ˜ไฟกๅ™ชๆฏ”ไฟกๆฏ็š„็”„ๅˆซ่ƒฝๅŠ›ใ€ๆทฑๅบฆๆ€่€ƒ่ƒฝๅŠ›ไธŽ่ฝๅœฐๆ‰ง่กŒๅŠ›๏ผŒๅ”ฏๆœ‰ไปฅๆ€่€ƒๆ ก้ชŒไฟกๆฏใ€ไปฅๆ‰ง่กŒ้ชŒ่ฏไปทๅ€ผ๏ผŒๅฝขๆˆโ€œไฟกๆฏ-ๅˆคๆ–ญ-ๅฎž่ทต-ๅ้ฆˆโ€็š„ๆ€่€ƒไธŽๆ‰ง่กŒ้—ญ็Žฏ๏ผŒๆ‰่ƒฝ็ช็ ดไฟกๆฏๅฃๅž’ใ€ๅˆ›้€ ็œŸๆญฃไปทๅ€ผใ€‚\",\"permalink\":\"/growth/distinguish-useful-information\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"ไฟกๆฏ็ญ›้€‰\",\"ไธชไบบๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"date\":\"2025-11-10 12:52:28\",\"capture\":\"ๅœจไบ’่”็ฝ‘ๆŠ€ๆœฏๆ™ฎๅŠ็š„ๅฝ“ไธ‹๏ผŒไฟกๆฏๅทฒไปŽโ€œ็จ€็ผบ่ต„ๆบโ€่ฝฌๅ˜ไธบโ€œๆณ›ๆปฅ่ต„ๆบโ€ใ€‚่ฟ‡ๅŽปไพ่ต–ๅœฐๅŸŸๅทฎใ€็จ€็ผบๆ€ง็š„ๆต…่กจๅฑ‚ไฟกๆฏๅทฎ้€ๆธ่ขซๆŠนๅนณ๏ผŒๅผ€ๅ‘่€…้€š่ฟ‡็ฝ‘็ปœๅฏ่ฝปๆพ่Žทๅ–ๅ„็ฑปๆŠ€ๆœฏๆ–‡ๆกฃใ€่กŒไธšๅŠจๆ€ใ€่ตš้’ฑๆจกๅผ๏ผŒไฝ†็œŸๆญฃ่ƒฝๅฐ†ไฟกๆฏ่ฝฌๅŒ–ไธบไปทๅ€ผ็š„ไปๆ˜ฏๅฐ‘ๆ•ฐไบบใ€‚ๆ ธๅฟƒ็Ÿ›็›พๅทฒไปŽโ€œ่Žทๅ–ไฟกๆฏโ€่ฝฌๅ˜ไธบโ€œ้ฉพ้ฉญไฟกๆฏโ€โ€”โ€”ไฟกๆฏๆœฌ่บซ็š„ไปทๅ€ผๅผฑๅŒ–๏ผŒ่€Œไฟกๆฏ่งฃ่ฏป่ƒฝๅŠ›ใ€่กŒๅŠจๆ‰ง่กŒๅŠ›ใ€็ญ›้€‰็”„ๅˆซๅŠ›ๆˆไธบๆ‹‰ๅผ€ๅทฎ่ท็š„ๅ…ณ้”ฎใ€‚\\n 1. ๆ‰“็ ดโ€œไฟกๆฏๅทฎโ€็š„็ณป็ปŸๆ€ง้”™่ง‰\\n่ฟ‡ๅŽป๏ผŒ็”ฑไบŽๅœฐๅŸŸ้™ๅˆถๅ’Œไผ ๆ’ญไป‹่ดจ็š„็จ€็ผบ๏ผŒ่ตš้’ฑๆˆ–ๆˆๅŠŸ็š„ๆจกๅผๅพ€ๅพ€ๆ˜ฏ็ฒ—ๆ”พ็š„๏ผŒๅปบ็ซ‹ๅœจๆต…่กจๅฑ‚็š„โ€œไฟกๆฏไธๅฏน็งฐโ€ไธŠ๏ผŒไฝ†้š็€ๆŠ€ๆœฏ็š„ๆผ”่ฟ›๏ผŒ่ฟ™็งไฝŽ็ปดๅบฆ็š„ไฟกๆฏๅทฎๆญฃๅœจ่ขซ่ฟ…้€ŸๆŠนๅนณใ€‚ไบบไปฌ็ปๅธธ้™ทๅ…ฅโ€œ่ตšไธๅˆฐ้’ฑ/ๆŠ“ไธไฝๆœบไผšๆ˜ฏๅ› ไธบ็ผบๅฐ‘ไฟกๆฏๅทฎโ€็š„่ฎค็Ÿฅๅๅทฎ๏ผŒไฝ†ๆœฌ่ดจ้—ฎ้ข˜ๅœจไบŽโ€œ\"},{\"url\":\"/31.ๅผ€ๆบๆดžๅฏŸ/00.overview\",\"relativePath\":\"/31.ๅผ€ๆบๆดžๅฏŸ/00.overview\",\"frontmatter\":{\"date\":\"2026-04-10 14:52:34\",\"title\":\"ๅผ€ๆบๆดžๅฏŸ\",\"permalink\":\"/repo-insight/overview\",\"categories\":[\"ๅผ€ๆบๆดžๅฏŸ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅผ€ๆบๆดžๅฏŸ\",\"date\":\"2026-04-10 14:52:34\",\"capture\":\"ๆœฌไธ“ๆ ๆ‰€ๆœ‰ๆบ็ ่งฃ่ฏปๆ–‡็ซ ๏ผŒๅ‡ๅ€ŸๅŠฉไบ†ๆœฌไบบๅผ€ๆบ็š„ repo-insight Agent Skill ๆฅ่พ…ๅŠฉ็”Ÿๆˆใ€‚\\nrepo-insight ๆ˜ฏไธ€ๆฌพไธ“ๆณจไบŽไผ˜็ง€ๅผ€ๆบ้กน็›ฎไปฃ็ ๅบ“่งฃ่ฏป็š„ๆ™บ่ƒฝๅŠฉๆ‰‹๏ผŒๆไพ› GitHub URL ๆˆ–ๆœฌๅœฐ็›ฎๅฝ•็š„ไธ€้”ฎๆทฑๅบฆๅˆ†ๆž่ƒฝๅŠ›ใ€‚\\n- ไธ€้”ฎๅˆ†ๆž - ๆ”ฏๆŒ GitHub URL ๆˆ–ๆœฌๅœฐ็›ฎๅฝ•ๅˆ†ๆž\\n- ๆทฑๅบฆๆŠฅๅ‘Š - ็”Ÿๆˆ้กน็›ฎๆฆ‚่ฟฐใ€ๆžถๆž„ๅˆ†ๆžใ€ๆ ธๅฟƒๆจกๅ—่งฃ่ฏป\\n- ไธญๆ–‡ๆ”ฏๆŒ - ่‡ชๅŠจ็ฟป่ฏ‘ READMEใ€็”Ÿๆˆไธญๆ–‡ไปฃ็ ๆณจ้‡Š\\n- ๅ…จ่‡ชๅŠจๆ‰ง่กŒ - ่ฐƒ็”จๅŽๆ— ้œ€ไธญ้—ดไบคไบ’\\nไธคไธช Skill ๅ‡ๅ…ทๅค‡ไปฅไธŠ่ƒฝๅŠ›๏ผŒๅฏๆ นๆฎ้œ€ๆฑ‚้€‰ๆ‹ฉไฝฟ็”จใ€‚\\nไบ†่งฃ repo-insight โ†’\\n ๅผ€ๆบ้กน็›ฎ่งฃ่ฏป\\n| ้กน็›ฎ | ็ฎ€ไป‹ |\\n|----\"},{\"url\":\"/31.ๅผ€ๆบๆดžๅฏŸ/01.fetch-event-source ๆบ็ ่งฃ่ฏป\",\"relativePath\":\"/31.ๅผ€ๆบๆดžๅฏŸ/01.fetch-event-source ๆบ็ ่งฃ่ฏป\",\"frontmatter\":{\"date\":\"2026-04-10 14:43:09\",\"title\":\"fetch-event-source ๆบ็ ่งฃ่ฏป\",\"categories\":[\"ๅผ€ๆบๆดžๅฏŸ\"],\"permalink\":\"/repo-insight/fetch-event-source\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"fetch-event-source ๆบ็ ่งฃ่ฏป\",\"date\":\"2026-04-10 14:43:09\",\"capture\":\"็ฌฌไธ€้ƒจๅˆ†: ไธšๅŠกไปทๅ€ผ็ฏ‡\\n ้กน็›ฎๅฎšไฝ\\n`@microsoft/fetch-event-source` ๆ˜ฏๅพฎ่ฝฏๅผ€ๆบ็š„ไธ€ไธชๅŸบไบŽ Fetch API ็š„ Server-Sent Events (SSE) ๅฎขๆˆท็ซฏๅบ“,ไธบๆต่งˆๅ™จๆไพ›ไบ†ๆ›ดๅผบๅคงใ€ๆ›ด็ตๆดป็š„ๆœๅŠกๅ™จๆŽจ้€ไบ‹ไปถๆŽฅๆ”ถ่ƒฝๅŠ›ใ€‚\\n ่งฃๅ†ณ็š„ๆ ธๅฟƒ็—›็‚น\\nๅŽŸ็”Ÿๆต่งˆๅ™จ็š„ `EventSource` API ๅญ˜ๅœจไปฅไธ‹้™ๅˆถ:\\n| ้™ๅˆถ | ่ฏดๆ˜Ž |\\n|------|------|\\n| ไป…ๆ”ฏๆŒ GET ่ฏทๆฑ‚ | ๆ— ๆณ•ไฝฟ็”จ POSTใ€PUT ็ญ‰ๅ…ถไป– HTTP ๆ–นๆณ• |\\n| ๆ— ๆณ•่‡ชๅฎšไน‰่ฏทๆฑ‚ๅคด | ๆ— ๆณ•ไผ ้€’่ฎค่ฏไปค็‰Œใ€ๅ†…ๅฎน็ฑปๅž‹็ญ‰่‡ชๅฎšไน‰ๅคด้ƒจ |\\n| ๆ— ๆณ•ๅ‘้€่ฏทๆฑ‚ไฝ“ | ๆ‰€ๆœ‰ๅ‚ๆ•ฐๅฟ…้กป็ผ–็ ๅœจ\"},{\"url\":\"/40.ๅ…ณไบŽ/01.ๅ…ณไบŽๆˆ‘\",\"relativePath\":\"/40.ๅ…ณไบŽ/01.ๅ…ณไบŽๆˆ‘\",\"frontmatter\":{\"date\":\"2025-08-29 09:40:53\",\"title\":\"ๅ…ณไบŽๆˆ‘\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไปŽ Tech Stack ๅˆฐ Insight Stack๏ผŒๅฝ“ AI ๆŽฅ็ฎกไบ†ๅฎž็Žฐ๏ผŒๆˆ‘ๆ›ดๅ…ณๆณจๆžถๆž„็š„ๆƒ่กกไธŽไบงๅ“็š„ไปทๅ€ผ๏ผŒไธ“ๆณจ๏ผšๅทฅ็จ‹ๅŒ– Spec ไธŽ AI ็ผ–็จ‹็ฃจๅˆ็š„ๅฎž่ทต | Agent ่ฝๅœฐ | ็‹ฌ็ซ‹ไบงๅ“ใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/about_me_chinese.png\",\"permalink\":\"/about/me\",\"categories\":[\"ๅ…ณไบŽ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ…ณไบŽๆˆ‘\",\"date\":\"2025-08-29 09:40:53\",\"capture\":\"ๆˆ‘ๆ˜ฏ่ฐ\\nๆˆ‘ๆ˜ฏไธ€ๅๆ‹ฅๆœ‰ๅ…จๆ ˆ่ƒŒๆ™ฏ็š„ๅผ€ๅ‘่€…, ๆŠ€ๆœฏๅบ•่‰ฒๆบไบŽๅทฅไฝœๅ‡ ๅนดๅŽ็งฏ็ดฏไบ†่พƒไธบๆ‰Žๅฎž็š„ๅทฅ็จ‹ๅŒ–ๅฎž่ทตโ€”โ€”ไปŽๅŸบ็ก€็š„ Web ๅ‰็ซฏๅˆฐๅคๆ‚็š„่ทจๅนณๅฐๅฐ็จ‹ๅบๅŸบ็ก€ๆก†ๆžถ็š„ๆžถๆž„ๅ‡็บง๏ผŒๅ†ๅˆฐๅŸบไบŽ NodeJS ็š„ๆœๅŠก็ซฏๅผ€ๅ‘๏ผŒ่ฟ™ไบ›็ปๅކ้”ป็‚ผไบ†ๆˆ‘ๅฏน็ณป็ปŸๅคๆ‚ๅบฆ็š„ๆŽŒๆŽงๅŠ›ใ€ๅทฅ็จ‹ๅŒ–่ƒฝๅŠ›ไปฅๅŠ้กน็›ฎๆŽจๅŠจไธŽๅ›ข้˜Ÿๅˆไฝœ็š„่ƒฝๅŠ›ใ€‚\\n่‡ช 2023 ๅนด LLM ๆตชๆฝฎๆถŒ็Žฐไปฅๆฅ๏ผŒๆˆ‘ๆทฑๅบฆๆŠ•่บซไบŽ AI ็›ธๅ…ณ็š„ๆŠ€ๆœฏๆŽข็ดขใ€‚ๅœจๅทฅไฝœไธŽไธšไฝ™้กน็›ฎไธญ๏ผŒไธปๅฏผๆˆ–ๅ‚ไธŽไบ†ๅคšไธชๅŸบไบŽๅคงๆจกๅž‹็š„ๅบ”็”จ่ฝๅœฐ๏ผŒ็งฏ็ดฏไบ†ไปŽ Prompt ่ฐƒไผ˜ๅˆฐ Agentic Workflow ็ผ–ๆŽ’็š„ไธ€็บฟ็ป้ชŒ๏ผŒไนŸๅคšๆฌกๅ‚ๅŠ ไบ†ๅ›ฝๅ†… AI ็คพๅŒบ็›ธๅ…ณ็š„ๆŠ€ๆœฏๅˆ†ไบซไธŽไบคๆตๆดปๅŠจ๏ผŒไบ†่งฃไบ† AI ้ข†ๅŸŸๆœ€ๆ–ฐ็š„ๆŠ€ๆœฏ่ถ‹ๅŠฟไธŽๅฎž่ทตใ€‚\\n\\n็›ฎๅ‰๏ผŒๆˆ‘ไธป่ฆๅœจ\"},{\"url\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"relativePath\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"frontmatter\":{\"date\":\"2024-01-15 22:16:00\",\"title\":\"่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไนฆๆŽฅไธŠๆ–‡ใ€Šๅ‘ๅ†…ๆ€ๅ˜ใ€‹๏ผŒๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ๅœจๅŽ็–ซๆƒ…ๆ—ถไปฃไปŽโ€œ้—ญๅ…ณโ€่ตฐๅ‘โ€œๅ‘ๅค–ไฝ“้ชŒโ€็š„ๅฐ่ฏ•ไธŽๅฟƒๅพ—ใ€‚้ขๅฏนๆœบๆขฐๆ‰ง่กŒๅธฆๆฅ็š„โ€œ็›ฎๆ ‡้šง้“โ€ๆ•ˆๅบ”๏ผŒ็ฌ”่€…ๅฐ่ฏ•่ทณๅ‡บๅ•ไธ€็š„็บฟๆ€ง่ง„ๅˆ’๏ผŒ่ฝฌ่€Œๅฏปๆฑ‚ๆ›ดๅบ•ๅฑ‚็š„่ฎค็Ÿฅ้€ป่พ‘ใ€‚ๆ–‡็ซ ้€š่ฟ‡้‡่ฏปใ€Š่ฆไบ‹็ฌฌไธ€ใ€‹ๅปบ็ซ‹ๅนณ่กก่ง‚๏ผŒๅˆฉ็”จ็ณป็ปŸๆ€็ปด๏ผˆๅขžๅผบ/่ฐƒ่Š‚ๅ›ž่ทฏ๏ผ‰ๆž„ๅปบๆดžๅฏŸๅŠ›๏ผŒๅนถ้‡ๆ–ฐๆ‹พ่ตทๆ•ฐๅญฆๆ€็ปด๏ผˆๆฆ‚็އใ€็จ€็–ๆ€งใ€ๅคšๆ ทๆ€ง๏ผ‰ไธŽ AI ่ง†่ง’ใ€‚่ฟ™ๆ˜ฏไธ€ๆฌกๅ…ณไบŽๅฆ‚ไฝ•็”จ็ง‘ๅญฆๆจกๅž‹ๆ›ฟไปฃๆœบๆขฐๆ‰ง่กŒ๏ผŒไปŽๆœฌ่ดจไธŠ้‡ๆž„ไธชไบบ่ฎค็Ÿฅไฝ“็ณป็š„ๆทฑๅบฆๅค็›˜ใ€‚\",\"permalink\":\"/growth/outer-experience\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/outer_experience_bg.png\",\"sticky\":1,\"top\":true,\"tags\":[\"็ณป็ปŸๆ€็ปด\",\"ๆ•ฐๅญฆๆ€็ปด\",\"ๆจกๅž‹ๆ€็ปด\",\"AI\",\"็–ซๆƒ…\"],\"categories\":[\"ไธชไบบๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"date\":\"2024-01-15 22:16:00\",\"capture\":\"1. ๅ†™ๅœจๅ‰้ข\\nๆ—ถๅ…‰่่‹’๏ผŒ็–ซๆƒ…ๅทฒ็ป็”ฑๆ”พๅผ€็Šถๆ€็ปง็ปญๆผ”ๅ˜ไธบ่ฟ‡ๅŽปๅผ็Šถๆ€๏ผŒๆˆ‘ไปฌไบบ็ฑปไนŸไปŽใ€Ž้—ญๅ…ณใ€่ตฐๅ‘ไบ†ใ€Ž่‡ช็”ฑใ€็š„็คพไผš็”Ÿๆดป็Šถๆ€ใ€‚็ฌ”่€…ไฝœไธบ็คพไผšไธญ็š„ๆ™ฎ้€šไธ€ๅ‘˜๏ผŒ่‡ช็„ถไนŸไธ็ฆปๅค–๏ผŒๅœจ 2023 ๅนดๅˆๆด‹ๆด‹ๆด’ๆด’ๅ†™ไบ†ไธ€็ฏ‡ๅœจๅฅๅบทใ€่ฏปไนฆไธŽๅญฆไน ใ€ๆ—ถ้—ด็ฎก็†ๅ’Œๆททๅˆๅทฅไฝœๅˆถๅ‡ ไธชๆ–น้ข็š„ๅฎž่ทตไธŽ็†่งฃ๏ผˆๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ๏ผ‰๏ผŒๅฐฑๅผ€ๅผ€ๅฟƒๅฟƒๅœฐๅ‘ๅ‰็œ‹๏ผŒๅญฆ็€ๅ‘ๅค–ไฝ“้ชŒไบ†ใ€‚\\n้‚ฃไนˆ้—ฎ้ข˜ๆฅไบ†๏ผŒ็›ธๆฏ”ไน‹ๅ‰ๅ†™ๅ‡บ้•ฟๆ–‡๏ผŒ็ฌ”่€…ๅˆๆ˜ฏ่ฟ‘ไธ€ๅนดๆฒกๆœ‰ๅ‘ๅค–่พ“ๅ‡บ่ฝฏๆ–‡ไบ†ใ€‚ๅ› ๆญค๏ผŒไนฆๆŽฅไธŠๆ–‡๏ผŒๆœฌๆฌก็ปง็ปญๆ–ฐๅขžไธ€็ฏ‡ไธญ็Ÿญๆ–‡๏ผŒๆผซ่ฐˆไธ€ไธ‹็–ซๆƒ…ๅŽ็š„ๅ‘ๅค–ไฝ“้ชŒใ€‚\\nๅœจๅ€’้€ผ่‡ชๅทฑๅ…ณๆณจ่บซไฝ“ๅฅๅบทๅ’Œๆ—ถ้—ด็ฎก็†ๅŽ๏ผŒ่™ฝ็„ถๅœจไฝ“้‡ๅ’Œๆ•ˆ็އไธคไธชๆ–น้ขๆœ‰ไธ€ๅฎš็š„ๆญฃๅ‘ๆ•ˆๆžœ๏ผŒไฝ†็ฌ”่€…ๅœจ่ฟž็ปญๅšๆŒ่ฝๅœฐๆ‹†่งฃๅ‡บๆฅ็š„็›ฎๆ ‡่ฟ‡็จ‹ไธญ๏ผŒๆœ‰ๆ—ถ\"},{\"url\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"relativePath\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"frontmatter\":{\"date\":\"2023-01-08 10:23:50\",\"title\":\"ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅฆ‚ไฝ•้ฟๅ…ๅ†…่€—๏ผŸๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ไธ‰ๅนด้—ด็š„โ€œ่‡ชๆˆ‘้‡ๆž„โ€ๅฎž้ชŒใ€‚ๆ–‡็ซ ๆ‘’ๅผƒไบ†ๅ•็บฏ็š„ๆƒ…็ปชๅฎฃๆณ„๏ผŒ่€Œๆ˜ฏๅˆฉ็”จๅˆ†่งฃๆณ•ใ€ๆธ่ฟ›ๆ˜Ž็ป†ๅ’Œ็ปŸ่ฎกๅˆ†ๆž็ญ‰ๅทฅ็จ‹ๆ€็ปด๏ผŒๅฏนๅฅๅบท้ฅฎ้ฃŸใ€็Ÿฅ่ฏ†ไฝ“็ณปใ€ๆ—ถ้—ดๅˆ†้…ๅŠ่ฟœ็จ‹ๅไฝœ่ฟ›่กŒไบ†็ณป็ปŸๅŒ–ๆ”น้€ ใ€‚่ฟ™ๆ˜ฏไธ€ไปฝๅ…ณไบŽๅฆ‚ไฝ•ๅœจๆ— ๅธธ็š„ๅค–้ƒจ็Žฏๅขƒไธญ๏ผŒๅปบ็ซ‹ๅ†…ๅœจ็กฎๅฎšๆ€ง็งฉๅบ็š„่กŒๅŠจๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/growth/inner-experience\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/refactor_life.png\",\"sticky\":1,\"top\":true,\"categories\":\"ไธชไบบๆˆ้•ฟ\",\"tags\":[\"ๅฅๅบท\",\"ๆ—ถ้—ด\",\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\",\"่ฟœ็จ‹ๅไฝœ\",\"็–ซๆƒ…\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"date\":\"2023-01-08 10:23:50\",\"capture\":\"<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/refactor_life.png\\\" alt=\\\"็›ฎๆ ‡ๅˆฐ่ทต่กŒๆ€็ปดๆต็จ‹็คบๆ„ๅ›พ\\\" style=\\\"width: 100%; border-radius: 8px;\\\" />\\n ๅ†™ๅœจๅ‰้ข\\n่‡ชๅŽปๅนด 7 ๆœˆไปฝ่ฟ็งปๅ‡ ็ฏ‡ๆ—งๆ–‡ๅŽ๏ผŒ็ฌ”่€…ๅฐฑๆฒกๆœ‰็ปง็ปญๅ†™่ฝฏๆ–‡ไบ†๏ผŒๆƒณไธๅˆฐๅ†ๆฌกๅ†™ๆ–‡็ซ ๆ—ถ็–ซๆƒ…ๆ”ฟ็ญ–ๅทฒ็ป่ฐƒๆ•ด๏ผŒไธ”ๅˆๆญฅๅฎž็Žฐไบ†ๅผ€ๆ”พใ€‚้‚ฃไนˆ้—ฎ้ข˜ๆฅไบ†๏ผŒไธบไป€ไนˆ่ฆ็ปง็ปญๅ†™ๆ–‡็ซ ๅ‘ข๏ผŸๆฆ‚ๆ‹ฌๆฅ่ฎฒ๏ผŒๆœ‰ไธคไธชๆ–น้ข็š„ๅŽŸๅ› ๏ผš\\n* ็›ดๆŽฅๅŽŸๅ› ๏ผš็–ซๆƒ…่ฟ™ไธ‰ๅนด๏ผŒๆฏไธชไบบ้ƒฝไฝ“้ชŒๅˆฐไบ†ไธๅŒไบŽไน‹ๅ‰็š„ โ€œ้šพโ€๏ผŒไนŸ้ƒฝๆœ‰\"},{\"url\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/20.ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹้˜ถๆฎต้š็ฌ”ๆฑ‡ๆ€ป\",\"relativePath\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/20.ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹้˜ถๆฎต้š็ฌ”ๆฑ‡ๆ€ป\",\"frontmatter\":{\"date\":\"2022-09-12 08:16:00\",\"title\":\"็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ”นๅ–„็š„ๆ–นๅผๆŽจๅŠจๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไปŽโ€œไนฆ็”Ÿๆ„ๆฐ”โ€ๅˆฐๅˆๅ…ฅ็คพไผš็š„โ€œไธญๅนดๆฒน่…ปโ€ๅฑๆœบ๏ผŒไธ€ๆฌกๅฅๅบท่ญฆๆŠฅ่ฎฉ็ฌ”่€…ๅผ€ๅฏไบ†่ฟ™ๅœบๆทฑๅˆป็š„่‡ชๆˆ‘ๅฏน่ฏไธŽ่กŒๅŠจใ€‚ๆœฌๆ–‡่ฏฆ็ป†ๅค็›˜ไบ†็ฌ”่€…ไปŽๅฅๅบทๅฑๆœบๅ‡บๅ‘๏ผŒ้€š่ฟ‡ๅ››ไธช้˜ถๆฎต็š„ๅพชๅบๆธ่ฟ›๏ผŒๆˆๅŠŸๅฎž็Žฐไฝ“้‡็ฎก็†็š„่ฟ‡็จ‹ใ€‚ๅŒบๅˆซไบŽ็›ฒ็›ฎ่ทŸ้ฃŽ๏ผŒ็ฌ”่€…ๅœจๅฎž่ทตไธญๅผ•ๅ…ฅไบ†็›ฎๆ ‡ๆ‹†่งฃใ€ๆ•ฐๆฎ็›‘ๆŽง๏ผˆไฝ“่„‚็งคๆŒ‡ๆ ‡๏ผ‰ใ€่ทจ้ข†ๅŸŸ็ป้ชŒ่ฟ็งป๏ผˆๅฆ‚้กน็›ฎ็ฎก็†ใ€ๆ—ถ้—ด็ฎก็†๏ผ‰ไปฅๅŠๅฏนไธๅŒ็ญ–็•ฅ๏ผˆๅฆ‚ๆŽงๅˆถ้ฅฎ้ฃŸใ€ๅŠ ๅคงๆ— ๆฐง่ฟๅŠจใ€ๅฐ่ฏ•ไธๅƒไธป้ฃŸ๏ผ‰็š„่พฉ่ฏ้‡‡็บณใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ไปฝๅ‡่‚ฅ่ฎฐๅฝ•๏ผŒๆ›ดๆ˜ฏไธ€ๆฌก็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ€็ปด้‡ๆž„็”Ÿๆดป็งฉๅบใ€ๅฎž็Žฐ่บซๅฟƒๅ‡็บง็š„ๅฎžๆ“ๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/growth/weight-loss\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/health_bg.png\",\"top\":true,\"tags\":[\"ๅฅๅบท\",\"่ฟๅŠจ\"],\"categories\":[\"ไธชไบบๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ”นๅ–„็š„ๆ–นๅผๆŽจๅŠจๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹\",\"date\":\"2022-09-12 08:16:00\",\"capture\":\"ๅ†™ๅœจๅ‰้ข\\nๅœจ็ปๆตŽๅฟซ้€Ÿๅ‘ๅฑ•็š„ๅคง่ƒŒๆ™ฏไธ‹๏ผŒไธ€ๆ‰นๅˆไธ€ๆ‰น็š„ๅคงๅญฆ็”Ÿ้™†็ปญ่ตฐๅ‡บๆ ก้—จ่ฟ›ๅ…ฅ็คพไผšๅคง่ˆžๅฐใ€‚้š็€ๅนด้พ„ไธŽๅทฅไฝœๅนด้™็š„ๅขž้•ฟ๏ผŒไธ็Ÿฅ็ฝฎ่บซไบŽๅ…ถไธญ็š„ไฝ ๆ˜ฏๅฆๆ„Ÿๆ…จ่ฟ‡่‡ชๅทฑๅœจ้˜…ๅކไธŠไปŽโ€œไนฆ็”Ÿๆ„ๆฐ”โ€ๆธๆธๆผ”ๅ˜ไธบโ€œๅ››ๅนณๅ…ซ็จณ๏ผŒๆธธๅˆƒๆœ‰ไฝ™โ€๏ผ›ๅœจ่บซไฝ“ๅ…ปๆŠคๆ–น้ขไปŽโ€œ่บซๆๆ— ๆ•Œ๏ผŒๅนด้พ„ๆˆ่ฟท๏ผŒๅฎžๆ‰“ๅฎžไธ€ไธชไผ ๅฅ‡โ€ๆผ”ๅ˜ไธบโ€œไธญๅนดๆฒน่…ปโ€ใ€‚ๆฏไธชไบบๅคšๅฐ‘้ƒฝๆœ‰่‡ชๅทฑ็š„็ญ”ๆกˆ๏ผŒ็ฌ”่€…็š„็ญ”ๆกˆๆ˜ฏ๏ผš่ตฐๅ‡บๆ ก้—จ่ฟ›ๅ…ฅ็คพไผšๅŽ๏ผŒๅฝ“ๅˆๅฏน่บซ่พนไบบๆœ‰็‚น่‹›ๅˆป๏ผŒ้‡ไบ‹็ซๆ€ฅ็ซ็‡Ž็š„่‡ชๅทฑ้€ๆธๅพ—ๅˆฐไบ†ๆ”นๅ–„ใ€‚่บซไฝ“ๅดๅ› ๅŽŸๆœฌๅœจๅคงๅญฆๆ—ถๆฒกๆœ‰ๆ€Žไนˆๅœจๆ„๏ผŒ็ป่ฟ‡้•ฟๅนด็ดฏๆœˆๅœฐๆด—็คผไบฎไบ†ไธ€ๆฌกๅฐ็บข็ฏใ€‚ๅœจๅบทๅคๆœŸ้—ด๏ผŒไธๆญขไธ€ๆฌกๅๆ€่ฟ‡ไน‹ๅ‰็š„็”Ÿๆดปๆ–นๅผๅ’Œๅ…ฅไธ–ๆจกๅผ๏ผŒๆƒณไธ€ๆƒณ + ๅ››ๅค„็œ‹ไธ€็œ‹ๅŽ๏ผŒๆ…ขๆ…ขไนŸๅฐฑๅผ€ๆ‚Ÿไบ†๏ผŒ่‡ช็„ถ่ฆๅฏๅŠจไธ€ไบ›ๆ”นๅ˜ๅฐ่ฏ•ใ€‚\\nๅ› ๆญค๏ผŒไนŸๅฐฑๆœ‰ไบ†่ฟ™็ฏ‡ๅ‡่‚ฅ่ฟ™ไปถ\"},{\"url\":\"/@pages/categoriesPage\",\"relativePath\":\"/@pages/categoriesPage\",\"frontmatter\":{\"title\":\"ๅˆ†็ฑป\",\"categoriesPage\":true,\"permalink\":\"/categories\",\"article\":false,\"layout\":\"home\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅˆ†็ฑป\",\"date\":\"2026-04-21 08:06:36\",\"capture\":\"\"},{\"url\":\"/@pages/tagsPage\",\"relativePath\":\"/@pages/tagsPage\",\"frontmatter\":{\"title\":\"ๆ ‡็ญพ\",\"permalink\":\"/tags\",\"tagsPage\":true,\"article\":false,\"layout\":\"home\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆ ‡็ญพ\",\"date\":\"2026-04-21 08:06:36\",\"capture\":\"\"},{\"url\":\"/\",\"relativePath\":\"/\",\"frontmatter\":{\"layout\":\"home\",\"title\":\"้ฆ–้กต\",\"titleTemplate\":\":title | Insight Stack Blog\",\"tk\":{\"teekHome\":true,\"features\":[{\"title\":\"ๅ…จๆ ˆ\",\"details\":\"Engineering ร— Product ร— AI\",\"link\":\"/fullstack/overview\",\"image\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/topic/icon_full_stack_circle.webp\"},{\"title\":\"AI ๅญฆไน ไธŽๅฎž่ทต\",\"details\":\"Model ร— Agent ร— Engineering\",\"link\":\"/ai-learning/overview\",\"image\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/topic/icon_llm_circle.webp\"},{\"title\":\"ไบงๅ“ Sense\",\"details\":\"Impact ร— Simplicity\",\"link\":\"/product-sense\",\"image\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/topic/icon_product_sense_circle.webp\"}]},\"hero\":{\"name\":\"Insight Stack Blog\",\"text\":\"AI & ๅ…จๆ ˆๆŠ€ๆœฏ & ไบงๅ“ๆ€่€ƒไธŽๆˆ้•ฟ่ฎฐๅฝ•\",\"tagline\":\"โœจๆŽข็ดขๆŠ€ๆœฏๅ‰ๆฒฟ๏ผŒๆฒ‰ๆท€ไบงๅ“ๆ€่€ƒ๏ผŒ่ฎฐๅฝ•ๆˆ้•ฟ็‚นๆปด๏ผŒ็›ธไฟกๆ—ถ้—ด็š„ๅŠ›้‡\",\"actions\":[{\"theme\":\"brand\",\"text\":\"ๅ…ณไบŽๆˆ‘\",\"link\":\"/about/me\"},{\"theme\":\"alt\",\"text\":\"่ต„ๆบๆŽจ่\",\"link\":\"/growth/sites\"},{\"theme\":\"alt\",\"text\":\"ไนฆ็ฑๆŽจ่\",\"link\":\"/growth/books\"}],\"image\":{\"src\":\"/img/full-stack/insight_stack.png\",\"alt\":\"Insight Stack Blog\"}},\"features\":[{\"icon\":\"๐Ÿ“–\",\"title\":\"ๅ…จๆ ˆๆŠ€ๆœฏ\",\"details\":\"ๅ‰็ซฏ & NodeJS & Python ็ญ‰\",\"link\":\"/fullstack/overview\"},{\"icon\":\"๐ŸŽ‰\",\"title\":\"ไบงๅ“ Sense\",\"details\":\"ไบงๅ“ Sense = ็”จๆˆทไปทๅ€ผๆดžๅฏŸ ร— ๅ•†ไธšๅฏ่กŒๆ€ง ร— ๆŠ€ๆœฏๅฏๅฎž็Žฐๆ€ง\",\"link\":\"/product-sense\"},{\"icon\":\"๐ŸŽ‡\",\"title\":\"LLM ๅบ”็”จๅญฆไน ไธŽๅฎž่ทต\",\"details\":\"ๆขณ็†ๅคง่ฏญ่จ€ๆจกๅž‹ๅบ”็”จใ€Agent ๆŠ€ๆœฏใ€ไธŠไธ‹ๆ–‡ๅทฅ็จ‹ไธŽAI็ผ–็จ‹็ญ‰ไธ“้ข˜๏ผŒๆŽข็ดข AI ๆ—ถไปฃ็š„ๆŠ€ๆœฏไธŽๅบ”็”จใ€‚\",\"link\":\"/ai-learning/overview\"},{\"icon\":\"๐Ÿ“\",\"title\":\"ไธชไบบๆˆ้•ฟ\",\"details\":\"ๆ”ถๅฝ•ไธ€ไบ›ไธ้”™็š„็ซ™็‚นใ€ๆŠ€ๆœฏๅ‘จๅˆŠใ€AI ็ญ‰่ต„ๆบ๏ผŒๆ€ป็ป“ไธชไบบๅœจๆ—ถ้—ด็ฎก็†ใ€ๆ•ˆ็އๅทฅๅ…ทใ€ๅฅๅบท็ฎก็†็ญ‰ๆ–น้ข็š„ๆˆ้•ฟ็ป้ชŒใ€‚\",\"link\":\"/about/me\"}]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"้ฆ–้กต\",\"date\":\"2026-04-21 08:06:36\",\"capture\":\"<style\\n/* ๅฝฉ่™นๅŠจ็”ป */\\n:root {\\n animation: rainbow 12s linear infinite;\\n}\\n.tk-avatar {\\n height: var(--tk-avatar-size) !important;\\n width: var(--tk-avatar-size) !important;\\n}\\n.tk-avatar--circle {\\n border-radius: 50% !important;\\n}\\n.vp-doc hero-text {\\n display: none !important;\\n}\\n@media (min-w\"}],\"originPosts\":[{\"url\":\"/01.ๅ…จๆ ˆ/00.overview\",\"relativePath\":\"/01.ๅ…จๆ ˆ/00.overview\",\"frontmatter\":{\"date\":\"2026-03-19 23:05:50\",\"title\":\"ๅ…จๆ™ฏไธ€่งˆ\",\"description\":\"ๆœฌ็ณปๅˆ—ๅ›ด็ป•็Žฐไปฃๅ…จๆ ˆๅผ€ๅ‘็š„่ƒฝๅŠ›ไฝ“็ณปๅฑ•ๅผ€๏ผŒไปŽ AI ๆ—ถไปฃ็š„ๅทฅ็จ‹ๆ€็ปดๅ‡บๅ‘๏ผŒ่ฆ†็›–ๅ‰็ซฏๅทฅ็จ‹๏ผˆReact/Vue/CSS๏ผ‰ใ€ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป๏ผˆTypeScript/JavaScript๏ผ‰ใ€ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่็ญ‰ๆ ธๅฟƒ้ข†ๅŸŸ๏ผŒๅธฎๅŠฉๆž„ๅปบไปŽ\\\"่ฎค็Ÿฅๅฑ‚ โ†’ ๆŠ€ๆœฏ้ข†ๅŸŸ โ†’ ๅทฅ็จ‹่ƒฝๅŠ› โ†’ ๅŸบ็ก€่ฎพๆ–ฝ\\\"็š„ๅฎŒๆ•ดๅ…จๆ ˆ็Ÿฅ่ฏ†ๅ›พ่ฐฑใ€‚\",\"categories\":[\"ๅ…จๆ ˆ\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"permalink\":\"/fullstack/overview\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ…จๆ™ฏไธ€่งˆ\",\"date\":\"2026-03-19 23:05:50\",\"capture\":\"<script setup\\nimport ArticleCardList from '@fragment/components/ArticleCardList.vue'\\nimport { fullStackCategories } from '@fragment/data/full-stack-data'\\n</script>\\n<ArticleCardList :categories=\\\"fullStackCategories\\\" />\"},{\"url\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"relativePath\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"frontmatter\":{\"date\":\"2025-10-24 11:05:50\",\"title\":\"ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจ AI ้‡ๅก‘่ฝฏไปถๅทฅ็จ‹็š„ไปŠๅคฉ๏ผŒๅ…จๆ ˆไธๅ†ๆ˜ฏๆŠ€ๆœฏ็š„็บฟๆ€งๅ ๅŠ ๏ผŒๆญฃๅœจไปŽโ€œๆŠ€ๆœฏๆ ˆๅ †็ Œโ€่ฝฌๅ‘โ€œ่ฎค็Ÿฅๆ ˆ้‡ๆž„โ€ใ€‚ๆœฌๆ–‡ๆๅ‡บ โ€œ(ๅทฅ็จ‹ + ไบงๅ“) ร— AIโ€ ็š„ๆ–ฐๅ…ฌๅผ๏ผŒๅŠฉๅŠ›ๅผ€ๅ‘่€…ๆž„ๅปบโ€œๆดžๅฏŸ-ๆžถๆž„-ๆ ๆ†โ€่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”๏ผŒๅˆฉ็”จ AI ๆ ๆ†่ฎฉ่‡ชๅทฑ่ฟ›ๅŒ–ไธบไปทๅ€ผๅˆ›้€ ่€…ใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"permalink\":\"/fullstack/ai-native\",\"sticky\":1,\"top\":true,\"tags\":[\"ๅ…จๆ ˆ\",\"AI\",\"ไบงๅ“\"],\"categories\":[\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"date\":\"2025-10-24 11:05:50\",\"capture\":\"<script setup>\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n 1. ๅผ•่จ€\\nๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒๅฝ“ๆˆ‘ไปฌ่ฐˆ่ฎบโ€œๅ…จๆ ˆๅทฅ็จ‹ๅธˆโ€ๆ—ถ๏ผŒ่„‘ๆตทไธญๆตฎ็Žฐ็š„ๅพ€ๅพ€ๆ˜ฏไธ€ๅผ ๅ†—้•ฟไธ”ไปคไบบ็–ฒๆƒซ็š„ๆŠ€ๆœฏๅทฅๅบๆธ…ๅ•ใ€‚\\nๅฐฑๅƒๆˆ‘ๆ›พ็ปไปฅไธบ็š„้‚ฃๆ ท๏ผŒๅ…จๆ ˆๅฐฑๆ˜ฏ็บฟๆ€ง็š„ๆŠ€่ƒฝๅ ๅŠ ไธŽ็‰ฉ็†ๅผ็š„ๆŠ€ๆœฏๆ‹ผๆŽฅ๏ผŒๆ˜ฏไธ€็งไพ้ ไบบๅŠ›ๅŽปๅกซ่กฅๆŠ€ๆœฏ้ธฟๆฒŸ็š„โ€œ่ฅฟ่ฅฟๅผ—ๆ–ฏๅผโ€ๅŠชๅŠ›๏ผš\\n* ็บฟๆ€ง็š„ๆŠ€่ƒฝๅ ๅŠ ๏ผšๆˆ‘ไปฌ่ขซ่ฟซๆˆไธบโ€œๅ…จ่ƒฝๆ‰‹โ€๏ผŒๅทฆๆ‰‹็”จ React/Vue ๆž„ๅปบ็ฒพ็พŽ็š„ UI๏ผŒๅณๆ‰‹็”จ Node/Go ็ผ–ๅ†™้ซ˜ๅนถๅ‘ API๏ผŒไธญ้—ด่ฟ˜่ฆๅค„็†ๆ•ฐๆฎๅบ“็š„ ACI\"},{\"url\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/02.้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/02.้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-03-02 11:05:50\",\"title\":\"้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ AI ๆž้€Ÿ้™ไฝŽไปฃ็ ็ผ–ๅ†™้—จๆง›๏ผŒๅ•็บฏ็š„โ€œไธšๅŠกไปฃ็ ็ฟป่ฏ‘ๅ™จโ€่ง’่‰ฒๆญฃๅŠ ้€Ÿ่ดฌๅ€ผใ€‚ๆœฌๆ–‡ไปŽๆŠ€ๆœฏๆผ”่ฟ›ไธŽไบงๅ“ๆ€่€ƒ็š„ไบคๆฑ‡็‚นๅ‡บๅ‘๏ผŒๅฐ† AI ๆ—ถไปฃ็š„ๅผ€ๅ‘่€…่ƒฝๅŠ›ๅ›พ่ฐฑ้‡ๆ–ฐๅˆ’ๅˆ†ไธบไธ‰ๅคงๆ ธๅฟƒๅœˆๅฑ‚๏ผšไบงๅ“ๅบ”็”จๅฑ‚๏ผˆInsight Stack๏ผ‰ใ€Agent ๅผ€ๅ‘ๅฑ‚ไธŽ AI ๅŸบ็ก€่ฎพๆ–ฝๅฑ‚ใ€‚ๆ— ่ฎบไฝ ๆ˜ฏๆทฑ่€•่ง†ๅ›พๅฑ‚ไบคไบ’ใ€็ฒพ้€š Node.js ็ญ‰ๆœๅŠก็ซฏๆžถๆž„็š„ๅผ€ๅ‘่€…๏ผŒ่ฟ˜ๆ˜ฏ่‡ดๅŠ›ไบŽๆŠ€ๆœฏ่ฝๅœฐ็š„ๆŽข็ดข่€…๏ผŒ้ƒฝ่ƒฝๅœจ่ฟ™ไปฝๆผ”่ฟ›ๆŒ‡ๅ—ไธญๆ‰พๅˆฐๆ‰“็ ด่ƒฝๅŠ›่พน็•Œใ€ๅ‘โ€œ่ถ…็บงไธชไฝ“โ€ไธŽโ€œAI ๆ™บ่ƒฝไฝ“ๆŒ‡ๆŒฅๅฎ˜โ€่ทƒ่ฟ็š„็ ดๅฑ€ไน‹้“ใ€‚\",\"permalink\":\"/fullstack/ai-engineer-capability\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"top\":true,\"tags\":[\"ๅ…จๆ ˆ\",\"AI\"],\"categories\":[\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"date\":\"2026-03-02 11:05:50\",\"capture\":\"<script setup>\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/ai_engineering_arc.png\\\" style=\\\"width: 100%; border-radius: 8px; margin-bottom: 20px;\\\" alt=\\\"about site back\"},{\"url\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/10.่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"relativePath\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/10.่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"frontmatter\":{\"date\":\"2025-12-06 22:05:50\",\"title\":\"่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"description\":\"่ฝฏไปถๅทฅ็จ‹ๆญฃ็ปๅކไปŽโ€œๆ‰‹ๅ†™้€ป่พ‘โ€ๅ‘โ€œๆ„ๅ›พ่ฐƒๅบฆโ€็š„่Œƒๅผ่ฟๅพ™ใ€‚Anthropic ็š„็ ”็ฉถๆญ็คบไบ† AI ๅนถ้ž็ฎ€ๅ•็š„ๆๆ•ˆๅทฅๅ…ท๏ผŒ่€Œๆ˜ฏ้€š่ฟ‡้‡Šๆ”พ 27% ๆ›พ็ปโ€œไธๅˆ’็ฎ—โ€็š„ๅทฅ็จ‹ไปปๅŠก๏ผŒ้‡ๅก‘ไบ†่ฝฏไปถ่ดจ้‡็š„ๅฏ†ๅบฆใ€‚ๅœจ่‡ช็„ถ่ฏญ่จ€ๅณ็ผ–็จ‹่ฏญ่จ€็š„ๆ—ถไปฃ๏ผŒๆˆ‘ไปฌ้œ€่ฆ้€š่ฟ‡่ง„ๆ ผ้ฉฑๅŠจ๏ผˆSDD๏ผ‰ไธŽๅคšๆ™บ่ƒฝไฝ“็ผ–ๆŽ’๏ผŒ็ ด่งฃโ€œ็›‘็ฃๆ‚–่ฎบโ€ๅธฆๆฅ็š„ๆŠ€่ƒฝๅนณๅบธๅŒ–ๅฑๆœบ๏ผŒๅฐ† AI ็š„ๆฆ‚็އๆ€ง็”Ÿๆˆ้ฉฏๅŒ–ไธบ็กฎๅฎšๆ€ง็š„ๅทฅ็จ‹ไบคไป˜ใ€‚ๅฝ“็ผ–็ ๆˆๆœฌ่ถ‹ไบŽ้›ถ๏ผŒๅทฅ็จ‹ๅธˆ็š„็ปˆๆžๅฃๅž’ๅฐ†ๆ˜ฏๅฎšไน‰ๅฎŒ็พŽ็š„ๅ“ๅ‘ณ๏ผŒไปฅๅŠๅœจ AI ่ฟท้›พไธญ่ฏ†็ ดๅนณๅบธ็š„ๆดžๅฏŸๅŠ›ใ€‚\",\"permalink\":\"/fullstack/ai-change-work-workflow/\",\"top\":true,\"tags\":[\"ๅ…จๆ ˆ\",\"AI\"],\"categories\":[\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"date\":\"2025-12-06 22:05:50\",\"capture\":\"<script setup>\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\nๅœฐๅ€๏ผšHow AI is transforming work at Anthropic\\nๆ ธๅฟƒๆ ‡็ญพ๏ผš`AI่พ…ๅŠฉ็ผ–็จ‹` `ๅทฅ็จ‹` `่Œƒๅผ่ฝฌ็งป` `ๅทฅไฝœ่ฝฌๅž‹` `็”ŸไบงๅŠ›ๆๅ‡` `ๆŠ€่ƒฝๅ‘ๅฑ•` `ไบบๆœบๅไฝœ` \\nไธ€ๅฅ่ฏไป‹็ป๏ผšAnthropic ไธไป…ไป…ๆ˜ฏ AI ๅทฅๅ…ท็š„็”Ÿไบง่€…๏ผŒๆ›ดๆ˜ฏ็ฌฌไธ€ไธช่ฟ›ๅ…ฅโ€œๆœชๆฅๅฎž้ชŒๅฎคโ€็š„ๆทฑๅบฆ่ง‚ๅฏŸ่€…ใ€‚ไป–ไปฌ้€š่ฟ‡ๅ†…้ƒจๆ•ฐๆœˆ็š„ๅฎž้ชŒๆ•ฐๆฎๅ‘Š่ฏ‰ๆˆ‘ไปฌ๏ผšๅคงๆจกๅž‹ๅฏน่ฝฏไปถๅทฅ็จ‹็š„ๆ”น้€ ๏ผŒ็ป้ž็ฎ€ๅ•็š„โ€œๆๆ•ˆโ€๏ผŒ่€Œๆ˜ฏไธ€\"},{\"url\":\"/01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ\",\"frontmatter\":{\"date\":\"2025-11-25 00:52:28\",\"title\":\"AI ็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡ๆทฑๅบฆ่งฃๆžไบ† AI ้ฉฑๅŠจ็ผ–็จ‹็š„ไธ‰ๅคงๆผ”่ฟ›่Œƒๅผ๏ผšVibe Coding๏ผˆ่‡ช็„ถ่ฏญ่จ€้›ถ้—จๆง›ๆž„ๅปบ๏ผ‰ใ€AI IDE๏ผˆ็ผ–่พ‘ๅ™จๆทฑๅบฆ่พ…ๅŠฉๆๆ•ˆ๏ผ‰ๅŠ Agentic Engineering๏ผˆ่‡ชไธปๅทฅ็จ‹ๅธˆๆ‰ง่กŒไปปๅŠก๏ผ‰ใ€‚้€š่ฟ‡ๆจชๅ‘ๅฏนๆฏ” Bolt.newใ€Cursorใ€Claude Code ็ญ‰ๅ‰ๆฒฟๅทฅๅ…ท๏ผŒๆ–‡็ซ ๅ‹พๅ‹’ๅ‡บไธ€ๆกไปŽโ€œๅฟซ้€ŸๅŽŸๅž‹โ€ๅˆฐโ€œ้ซ˜ๆ•ˆๅๅŒโ€ๅ†ๅˆฐโ€œ่‡ชไธปไบคไป˜โ€็š„่ฟ›้˜ถ่ทฏๅพ„ใ€‚ๆ ธๅฟƒๆ—จๅœจๆŒ‡ๅฏผ็”จๆˆทๅˆฉ็”จ AI ๅทฅๅ…ท็Ÿฉ้˜ตๆ‰“็ ดๆŠ€ๆœฏ่พน็•Œ๏ผŒๅฎž็ŽฐไปŽๅˆ›ๆ„ๆ่ฟฐๅˆฐๅทฅไธš็บงไบคไป˜็š„็”ŸไบงๅŠ›้ฃž่ทƒ๏ผŒ้‡ๅก‘่ฝฏไปถๅผ€ๅ‘ๅ…จ็”Ÿๅ‘ฝๅ‘จๆœŸใ€‚\",\"permalink\":\"/ai-learning/ai-coding-resources\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/source_sites_bg.png\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"AI Coding\",\"Vibe Coding\",\"Agentic Engineering\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"AI ็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่\",\"date\":\"2025-11-25 00:52:28\",\"capture\":\"1. ไธ‰็ง็ผ–็จ‹่Œƒๅผ้€Ÿ่งˆ\\n| ่Œƒๅผ | ไธ€ๅฅ่ฏๆ่ฟฐ | ไฝ ็š„่ง’่‰ฒ |\\n|:-----|:---------|:--------|\\n| Vibe Coding | ็”จ่‡ช็„ถ่ฏญ่จ€ๆ่ฟฐ้œ€ๆฑ‚๏ผŒAI ็›ดๆŽฅ็”Ÿๆˆๅฏ่ฟ่กŒ็š„ๅฎŒๆ•ด้กน็›ฎ | ๆ่ฟฐ้œ€ๆฑ‚๏ผŒ่ฎฉ AI ๅ†™ไปฃ็ (```ๆ–ฐๆ‰‹ๅ‹ๅฅฝ```) |\\n| AI IDE | ๅœจ็ผ–่พ‘ๅ™จ้‡Œๅผ•ๅ…ฅ AI ่พ…ๅŠฉ๏ผŒ่พนๅ†™่พน่กฅๅ…จใ€่พน้—ฎ่พนๆ”น | ไธปๅฏผๅผ€ๅ‘๏ผŒ่ฎฉ AI ๅšๅ‰ฏ้ฉพ้ฉถ(```ๆ›ดๅคšๆŽงๅˆถ```) |\\n| Agentic Engineering | AI ไฝœไธบ\\\"่‡ชไธปๅทฅ็จ‹ๅธˆ\\\"๏ผŒๆŽฅๆ”ถไปปๅŠกๅŽ่‡ชๅŠจ่ง„ๅˆ’ๅนถๆ‰ง่กŒๅ…จๅฅ—ไปฃ็ ๅทฅไฝœๆต | ๆไปปๅŠกใ€ๅฎก็ป“ๆžœ๏ผŒ่ฎฉ AI ๆ‰ง่กŒ(```ๆž่‡ดๆๆ•ˆ```) |\\nๆ–ฐๆ‰‹่ทฏ็บฟๅปบ่ฎฎ๏ผšๅ…ˆ\"},{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-02-10 23:33:19\",\"title\":\"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ๅฝ“ AI ๆ‰ฟๆŽฅไบ† 30% ็š„็ผ–็ ๆ‰ง่กŒๆ—ถ๏ผŒๅผ€ๅ‘่€…้œ€้€š่ฟ‡โ€œ่ง„ๆ ผ้ฉฑๅŠจ๏ผˆSDD๏ผ‰โ€้‡ๅคบ 70% ็š„่ฎพ่ฎกไธปๆƒ๏ผšไปŽ่‡ชๆฒป็ป„ไปถๅˆ’ๅˆ†ๅˆฐๅ•ๅ‘ๆ•ฐๆฎๆตๆ‹“ๆ‰‘็š„ๆทฑๅบฆๆŽจๆผ”ใ€‚\",\"description\":\"ๆœฌๆ–‡ๆŽข่ฎจๅœจ AI ๅขžๅผบๅผ€ๅ‘่ƒŒๆ™ฏไธ‹๏ผŒๅฆ‚ไฝ•้‡ๅก‘ React ็ป„ไปถ่ฎพ่ฎกๅŽŸๅˆ™ใ€‚ๆถต็›– SRP ่Œ่ดฃๅˆ’ๅˆ†ใ€้™ๆ€็‰ˆๆœฌๅŸบ็บฟใ€ๆœ€ๅฐ็Šถๆ€๏ผˆDerived Data๏ผ‰ๆŽจๅฏผไปฅๅŠ SDD ไบบๆœบๅไฝœๆจกๅผ็š„ๅทฅ็จ‹่ฝๅœฐใ€‚\",\"tags\":[\"tutorial\",\"react\",\"component-design\",\"state-management\",\"ai-augmented\",\"specification-driven\"],\"permalink\":\"/fullstack/react-design-philosophy-ai-augmented\",\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-02-10 23:33:19\",\"capture\":\"<script setup\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n 1. ๅผ•่จ€\\nๅœจ่ฝฏไปถๅทฅ็จ‹ไธญ๏ผŒ็บฆ 70% ็š„ๆ—ถ้—ดๅบ”ๆŠ•ๅ…ฅไบŽๆžถๆž„่ฎพ่ฎกใ€้œ€ๆฑ‚ๆ‹†่งฃไธŽๆŽฅๅฃ่ฏญไน‰ๆŽจๆ•ฒ๏ผŒไป… 30% ็”จไบŽๅฎž้™…็ผ–็ ใ€‚่ฟ›ๅ…ฅ AI ๅไฝœๆ—ถไปฃๅŽ๏ผŒ่ฟ™ไธ€ๆฏ”ไพ‹ไพ็„ถๅšๅฆ‚็ฃ็Ÿณโ€”โ€”ๅผ€ๅ‘่€…ๅฟ…้กปๅ…ˆๅฎŒๆˆๆทฑๅบฆๆ€่€ƒ๏ผŒๅฐ†โ€œๆธ…ๆ™ฐ็š„้—ฎ้ข˜่ง„ๆ ผ๏ผˆSpecification๏ผ‰โ€ไบค็ป™ AI๏ผŒAI ๆ‰่ƒฝ่พ“ๅ‡บ้ซ˜่ดจ้‡ไปฃ็ ใ€‚<HighLightText type=\\\"note\\\" bold>AI ๆๅ‡็š„ๆ˜ฏ 30% ็ผ–็ ้˜ถๆฎต็š„ๆ‰ง่กŒๅŠ›๏ผŒ่€Œ้žๅ–\"},{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/02.CSSๅทฅ็จ‹ๅŒ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/02.CSSๅทฅ็จ‹ๅŒ–\",\"frontmatter\":{\"date\":\"2026-03-10 22:05:50\",\"title\":\"ไปŽๅŽŸๅญๅŒ–ๅˆฐๅ˜ไฝ“้ฉฑๅŠจ๏ผš็Žฐไปฃ CSS ๅทฅ็จ‹ๅŒ–็š„ๆžถๆž„ๆผ”่ฟ›ไธŽๆททๅˆๅฎž่ทตๆŒ‡ๅ—\",\"description\":\"ๆœฌๆ–‡็ณป็ปŸๅ‰–ๆžไธปๆต CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆ็š„ๅบ•ๅฑ‚้€ป่พ‘๏ผŒๆๅ‡บโ€œๆ ทๅผ่ต„ไบง ROIโ€่ฏ„ไผฐๆจกๅž‹๏ผŒๅนถ้’ˆๅฏน Vue/React ็”Ÿๆ€็ป™ๅ‡บไบ†้ขๅ‘ AI ๆ—ถไปฃ็š„ไผไธš็บงๆททๅˆๆžถๆž„้€‰ๅž‹ๅปบ่ฎฎใ€‚\",\"permalink\":\"/full-stack/css-engineering\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"top\":true,\"categories\":[\"ๅ…จๆ ˆ\"],\"tags\":[\"ๅ…จๆ ˆ\",\"CSS\",\"ๅทฅ็จ‹ๅŒ–\",\"tailwindcss\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไปŽๅŽŸๅญๅŒ–ๅˆฐๅ˜ไฝ“้ฉฑๅŠจ๏ผš็Žฐไปฃ CSS ๅทฅ็จ‹ๅŒ–็š„ๆžถๆž„ๆผ”่ฟ›ไธŽๆททๅˆๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-03-10 22:05:50\",\"capture\":\"1. ๅผ•่จ€๏ผšไธปๆต CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆๆœ‰ๅ“ชไบ›๏ผŸ\\nๅœจ็Žฐไปฃๅ‰็ซฏๅผ€ๅ‘ไธญ๏ผŒ้š็€้กน็›ฎๅคๆ‚ๅบฆ็š„ๆ€ฅๅ‰งๆๅ‡๏ผŒๅŽŸ็”Ÿ CSS ๅธธๅธธ้ขไธดๅ…จๅฑ€ๆฑกๆŸ“ใ€ๅค็”จๅ›ฐ้šพใ€ๅฑ‚็บงๅตŒๅฅ—่ฟ‡ๆทฑไปฅๅŠ็ปดๆŠคๆˆๆœฌๆž้ซ˜็ญ‰้—ฎ้ข˜ใ€‚ไธบไบ†่งฃๅ†ณ่ฟ™ไบ›็—›็‚น๏ผŒ็คพๅŒบๅคšๅนดๆฅไธๆ–ญๆŽข็ดข๏ผŒๆฒ‰ๆท€ๅ‡บไบ†ๅคš็งไธปๆต็š„ CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆใ€‚\\n้™คๅŽŸ็”Ÿ CSS ไน‹ๅค–๏ผŒไธปๆตๆ–นๆกˆ่ฟ˜ๅŒ…ๆ‹ฌ้ข„ๅค„็†ๅ™จใ€CSS-in-JSใ€CSS Moduleใ€Scoped CSSใ€ๅŽŸๅญๅŒ– CSS ็ญ‰ใ€‚BEM ไฝœไธบไธ€็งๅŸบไบŽๅ‘ฝๅ็บฆๅฎšๆฅ่ง„้ฟๅ‘ฝๅๅ†ฒ็ช็š„ๆ—ฉๆœŸๆ–นๆกˆ๏ผŒๅœจ็Žฐไปฃๅ‰็ซฏๅทฅ็จ‹ไธญๅทฒๅŸบๆœฌไธๅ†ไฝฟ็”จ๏ผŒๅ› ๆญคๆœฌๆ–‡ไธๅ†ๅฏนๅ…ถๅฑ•ๅผ€่ฏฆ็ป†ๅˆ†ๆžใ€‚\\n> CSS ๅ‘ฝๅ่ง„่Œƒ๏ผˆBEM๏ผ‰๏ผš้€š่ฟ‡ไธฅๆ ผ็š„ๅ‘ฝๅ็บฆๅฎš๏ผˆๅฆ‚ Block__Element--Modif\"},{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2025-11-14 22:33:39\",\"title\":\"JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"aliases\":[\"้™ๆ€็ซ™็‚น็”Ÿๆˆๅ™จ\",\"SSG\"],\"tldr\":\"้ข„ๆธฒๆŸ“้™ๆ€้กต้ข + ๅŠจๆ€ API๏ผŒCDN ๅˆ†ๅ‘ๅ…จ็ƒ๏ผŒๆ›ฟไปฃไผ ็ปŸๅŠจๆ€็ฝ‘็ซ™็š„ๅผ€ๅ‘้ƒจ็ฝฒ่Œƒๅผ\",\"description\":\"ไปŽๆ ธๅฟƒๆฆ‚ๅฟตใ€ๅทฅๅ…ท้“พ้€‰ๅž‹๏ผˆNext.js/Vercel/Supabase/Contentful๏ผ‰ๅˆฐไปŽ 0 ๆญๅปบๅšๅฎข็š„ๅฎŒๆ•ดๅฎž่ทต๏ผŒ่ฆ†็›– JAMStack ้€‚็”จไธŽไธ้€‚็”จๅœบๆ™ฏ๏ผŒๅธฎๅŠฉๅˆคๆ–ญไฝ•ๆ—ถ้€‰็”จ่ฏฅๆžถๆž„ใ€‚\",\"permalink\":\"/fullstack/jamstack\",\"tags\":[\"tutorial\",\"jamstack\",\"frontend-architecture\",\"next.js\",\"static-site-generator\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2025-11-14 22:33:39\",\"capture\":\"> \\n> ๅ…ถๆ ธๅฟƒๆœบๅˆถๆ˜ฏๅœจๆž„ๅปบๆ—ถๅฐ†้กต้ข้ข„ๆธฒๆŸ“ไธบ้™ๆ€ HTML/CSS/JS๏ผŒ้ƒจ็ฝฒ่‡ณ CDN ไพ›็”จๆˆทๅฐฑ่ฟ‘ๅŠ ่ฝฝ๏ผŒไป…ๅœจ้œ€่ฆๅŠจๆ€ๆ•ฐๆฎๆ—ถ้€š่ฟ‡ JavaScript ่ฐƒ็”จ API ่Žทๅ–ใ€‚็›ธ่พƒไบŽไผ ็ปŸๅŠจๆ€็ฝ‘็ซ™๏ผŒJAMStack ๅœจๆ€ง่ƒฝใ€ๅฏ้ ๆ€งใ€ๆ‰ฉๅฑ•ๆ€งใ€ๅฎ‰ๅ…จๆ€งๅŠ่ฟ็ปดๆˆๆœฌไธŠๅ…ทๆœ‰ๆ˜พ่‘—ไผ˜ๅŠฟใ€‚\\n> \\n> ๆœฌๆ–‡ๆขณ็†ไบ†ไธปๆตๆž„ๅปบๅทฅๅ…ท๏ผˆGatsbyใ€Next.jsใ€Nuxt.jsใ€11ty๏ผ‰ใ€้™ๆ€ๆ‰˜็ฎกๅนณๅฐ๏ผˆVercelใ€Netlifyใ€Cloudflare Pages๏ผ‰ใ€API/BaaS ๆœๅŠก๏ผˆSupabaseใ€Firebaseใ€Auth0๏ผ‰ๅŠๆ— ๅคด CMS๏ผˆContentfulใ€Sanityใ€Strapi\"},{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/11.React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/11.React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"frontmatter\":{\"date\":\"2025-11-15 09:20:23\",\"title\":\"ไธๆญขไบŽ Fetch๏ผšReact ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"aliases\":[\"SWR\",\"TanStack Query\",\"React\",\"ๆœๅŠก็ซฏ็Šถๆ€\",\"ไน่ง‚ๆ›ดๆ–ฐ\",\"ๅทฅ็จ‹ๅŒ–\"],\"tldr\":\"ๆทฑๅ…ฅ่งฃๆž SWR ็š„ๆž็ฎ€ๅ่ฎฎไธŽ TanStack Query ็š„็ฒพๅฏ†็Šถๆ€ๆœบใ€‚้€š่ฟ‡ๅฏนๆฏ”็ผ“ๅญ˜ๅคฑๆ•ˆใ€ไน่ง‚ๆ›ดๆ–ฐ็ญ‰ๆ ธๅฟƒๅœบๆ™ฏ๏ผŒไธบ้ซ˜ๅคๆ‚ๅบฆ B ็ซฏๅบ”็”จไธŽ่ฝป้‡็บง้กน็›ฎๆไพ›ๆธ…ๆ™ฐ็š„ๆžถๆž„้€‰ๅž‹ๆจกๅž‹ใ€‚\",\"description\":\"ๆทฑๅบฆๅฏนๆฏ” React ็”Ÿๆ€ไธญ SWR ไธŽ TanStack Query ไธคๅคงๆ–นๆกˆใ€‚ไปŽ stale-while-revalidate ๆœบๅˆถๅˆฐๅผ‚ๆญฅ็Šถๆ€ๆœบๆžถๆž„๏ผŒๆถต็›–ไพ่ต–ๆŸฅ่ฏขใ€ๆ•ฐๆฎ่ฝฌๆขๅŠๆžถๆž„็บงไน่ง‚ๆ›ดๆ–ฐๅฎžๆˆ˜ใ€‚ๆ—จๅœจๅธฎๅŠฉๅผ€ๅ‘่€…ๅœจๅคๆ‚ไธšๅŠกไธญๆž„ๅปบ็กฎๅฎšๆ€ง็š„ๆœๅŠก็ซฏ็Šถๆ€ๅŸบๅบงใ€‚\",\"permalink\":\"/fullstack/server-state-management\",\"tags\":[\"SWR\",\"TanStack Query\",\"ๅ‰็ซฏๅทฅ็จ‹\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไธๆญขไบŽ Fetch๏ผšReact ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"date\":\"2025-11-15 09:20:23\",\"capture\":\"1. ๅผ•่จ€\\nๅœจ็Žฐไปฃๅ‰็ซฏๅทฅ็จ‹ไธญ๏ผŒ็Šถๆ€ๅฏไธฅๆ ผๅŒบๅˆ†ไธบ UI ็Šถๆ€๏ผˆUI State๏ผ‰ ไธŽ ๆœๅŠก็ซฏ็Šถๆ€๏ผˆServer State๏ผ‰ ไธค็ฑปใ€‚ๅฏนไบŽ UI ็Šถๆ€็š„็ฎก็†๏ผŒๅผ€ๅ‘่€…ๅทฒ่พƒไธบ็†Ÿๆ‚‰๏ผŒ้€šๅธธๅฏๅ€ŸๅŠฉ `useState`ใ€`useEffect` ็ญ‰ Hooks๏ผŒๆˆ– `zustand`ใ€`jotai` ็ญ‰็Šถๆ€็ฎก็†ๅบ“ๆฅๅฎž็Žฐใ€‚็„ถ่€Œ๏ผŒๆœๅŠก็ซฏ็Šถๆ€็š„็ฎก็†ๅพ€ๅพ€็ผบไน็ปŸไธ€ไธ”้ซ˜ๆ•ˆ็š„่งฃๅ†ณๆ–นๆกˆ๏ผŒๅผ€ๅ‘่€…้€šๅธธ้œ€่ฆ่‡ช่กŒๅฎž็Žฐใ€‚\\nๅœจไผ ็ปŸ็š„ๆ•ฐๆฎ่Žทๅ–ๆต็จ‹ไธญ๏ผŒๆˆ‘ไปฌไธ€่ˆฌไฝฟ็”จ `fetch` ๆˆ– `axios` ๅ‘ๅŽ็ซฏๆˆ– REST API ๅ‘้€ HTTP ่ฏทๆฑ‚๏ผŒ้šๅŽๆ‰‹ๅŠจๅฐ†ๆ•ฐๆฎ่Žทๅ–้€ป่พ‘ไธŽๅ‰็ซฏไธšๅŠก้€ป่พ‘ๅŠ UI ็Šถๆ€็ฎก็†่ฟ›่กŒๆ•ดๅˆ๏ผŒไปฅๅฎŒๆˆๆ•ฐๆฎๅค„็†ๅนถ้ฉฑๅŠจ็•Œ้ขๆ›ดๆ–ฐ\"},{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-02-24 08:40:31\",\"title\":\"Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"tldr\":\"ๆทฑๅ…ฅๅˆ†ๆžไบ”็ง Web ้€šไฟกๅ่ฎฎ๏ผŒๆไพ› AI ๆ—ถไปฃ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—ไธŽๆœ€ไฝณๅฎž่ทตใ€‚\",\"description\":\"ๆทฑๅ…ฅๅ‰–ๆžไผ ็ปŸ HTTPใ€ๆตๅผ HTTPใ€SSEใ€WebSocketใ€Webhooksใ€HTTP ่ฝฎ่ฏข็š„ๅŽŸ็†ไธŽ็‰นๆ€ง๏ผŒ็ป“ๅˆ AI ๅœบๆ™ฏๆไพ›ๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–็Ÿฉ้˜ตใ€‚\",\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"tags\":[\"HTTP\",\"HTTP ่ฝฎ่ฏข\",\"SSE\",\"WebSocket\",\"Webhooks\"],\"permalink\":\"/fullstack/networking-protocol-selection-guide\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"date\":\"2026-02-24 08:40:31\",\"capture\":\"1. ๅผ•่จ€\\nHTTP ๆ˜ฏไธ€็งๅŸบไบŽๆ–‡ๆœฌ็š„้€šไฟกๅ่ฎฎ๏ผŒไธป่ฆ็”จไบŽ Web ๆต่งˆๅ™จใ€็งปๅŠจๅบ”็”จใ€ๆกŒ้ขๅบ”็”จ็ญ‰ๅฎขๆˆท็ซฏๅ’Œ Web ๆœๅŠกๅ™จไน‹้—ด็š„ๆ•ฐๆฎไผ ่พ“ใ€‚ไผ ็ปŸ HTTP ้‡‡็”จๅŒๆญฅ็š„่ฏทๆฑ‚-ๅ“ๅบ”ๆจกๅผ๏ผš`่ฏทๆฑ‚ -> ็ญ‰ๅพ… -> ๅฎŒๆ•ดๅ“ๅบ”`ใ€‚่ฟ™็งๆ–นๅผ่™ฝ่ƒฝๆปก่ถณๅคงๅคšๆ•ฐๅœบๆ™ฏ๏ผŒไฝ†ๅœจๅฎžๆ—ถๆ€ง่ฆๆฑ‚่พƒ้ซ˜็š„้ข†ๅŸŸโ€”โ€”ๅฆ‚ๆธธๆˆใ€่Šๅคฉใ€่ง†้ข‘ไผš่ฎฎ๏ผŒไปฅๅŠ AI ๆ—ถไปฃ็š„ๅฏน่ฏๅผๅบ”็”จโ€”โ€”ๅดๆ˜พๅพ—ๅŠ›ไธไปŽๅฟƒใ€‚\\nไธบ่งฃๅ†ณ่ฟ™ไธ€้—ฎ้ข˜๏ผŒไธš็•Œๅ‘ๅฑ•ๅ‡บไบ†ๅคš็งๅฎžๆ—ถ Web ้€šไฟกๆ–นๆกˆใ€‚ๆœฌๆ–‡ๅฐ†ๅ›ด็ป• ๆตๅผ HTTPใ€SSEใ€WebSocketใ€Webhooksใ€HTTP ่ฝฎ่ฏข ่ฟ™ไบ”็งไธปๆตๆŠ€ๆœฏ๏ผŒไปŽๅŽŸ็†ใ€็‰นๆ€งใ€้€‚็”จๅœบๆ™ฏๅ‡บๅ‘๏ผŒๆŽข่ฎจๅฎƒไปฌๅœจ็Žฐไปฃๅˆ†ๅธƒๅผๆžถๆž„ไธญ็š„้€‰ๅž‹็ญ–็•ฅไธŽๅทฅ็จ‹ๅฎž่ทตใ€‚\\n 2\"},{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"frontmatter\":{\"date\":\"2026-03-05 16:54:35\",\"title\":\"ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"aliases\":[\"Server-Sent Events\",\"HTTP Streaming\"],\"tldr\":\"ๆทฑๅ…ฅ่งฃๆžๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผŒๆไพ›ไปŽๆฆ‚ๅฟตๅˆฐ็”Ÿไบงๅฎž่ทต็š„ๅฎŒๆ•ด่งฃๅ†ณๆ–นๆกˆใ€‚\",\"description\":\"่พจๆžๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ็š„ๆฆ‚ๅฟตไธŽๅฑ‚ๆฌกๅ…ณ็ณป๏ผŒ่ฏฆ่งฃๅฎขๆˆท็ซฏไธŽๆœๅŠก็ซฏๅฎž็Žฐๆ–นๆกˆ๏ผŒๆไพ›็”Ÿไบงๅฎž่ทตๅฎŒๆ•ดๆŒ‡ๅ—ใ€‚\",\"tags\":[\"tutorial\",\"SSE\",\"HTTP Streaming\",\"ๅ…จๆ ˆ\"],\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"permalink\":\"/fullstack/networking/sse-practice\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"date\":\"2026-03-05 16:54:35\",\"capture\":\"<script setup\\n import HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n> ๆ‘˜่ฆๆ€ป็ป“: ้’ˆๅฏนๅผ€ๅ‘่€…ๅฎนๆ˜“ๆททๆท†ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ็š„้—ฎ้ข˜๏ผŒไปŽๆฆ‚ๅฟตๅฑ‚ๆฌกๅ‡บๅ‘ๅŽ˜ๆธ…ไบŒ่€…ๆœฌ่ดจๅŒบๅˆซไธŽๅไฝœๅ…ณ็ณป๏ผŒๆŒ‡ๅ‡บๆตๅผ HTTP ๆ˜ฏๅบ•ๅฑ‚ไผ ่พ“ๆœบๅˆถ่€Œ SSE ๆ˜ฏๅบ”็”จๅฑ‚ๆ•ฐๆฎๆ ผๅผ็บฆๅฎšใ€‚ๆ–‡็ซ ไพๆฌกไป‹็ปๅŽŸ็”Ÿ EventSource APIใ€fetch + ReadableStream ่ฟ›้˜ถๆ–นๆกˆใ€@microsoft/fetch-event-source ๅทฅไธš็บงๅฎž็Žฐ็ญ‰ไธ‰็งๅฎขๆˆท็ซฏๆ–นๆกˆ๏ผŒๅนถไปฅ Nes\"},{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"frontmatter\":{\"date\":\"2026-02-25 22:10:48\",\"title\":\"HTTP ่ฝฎ่ฏขไผ˜ๅŒ–ๆŒ‡ๅ—๏ผš้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"tldr\":\"่ฏฆ่งฃ้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅฎž็ŽฐๅŽŸ็†๏ผŒๆไพ› HTTP ่ฝฎ่ฏขไผ˜ๅŒ–็ญ–็•ฅไธŽ้€‰ๅž‹ๅ†ณ็ญ–ๆ ‘ใ€‚\",\"description\":\"ๆทฑๅ…ฅๅ‰–ๆž้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๆ ธๅฟƒๆœบๅˆถ๏ผŒๆไพ› TypeScript/NestJS ๅฎžๆˆ˜ไปฃ็ ๏ผŒๅนถๆž„ๅปบๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–ๆ ‘ไธŽ้€‚็”จๅœบๆ™ฏ้€ŸๆŸฅใ€‚\",\"tags\":[\"HTTP ่ฝฎ่ฏข\",\"้€€้ฟ่ฝฎ่ฏข\",\"้•ฟ่ฝฎ่ฏข\"],\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"permalink\":\"/fullstack/networking-polling-optimization\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"HTTP ่ฝฎ่ฏขไผ˜ๅŒ–ๆŒ‡ๅ—๏ผš้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"date\":\"2026-02-25 22:10:48\",\"capture\":\"1. ๅผ•่จ€\\nๅœจ็Žฐไปฃ Web ๅผ€ๅ‘ไธญ๏ผŒWebSocket ๅ’Œ Server-Sent Events (SSE) ๅธธๅธธ่ขซ่ง†ไธบๅฎžๆ—ถ้€šไฟก็š„้“ถๅผนใ€‚็„ถ่€Œ๏ผŒHTTP ่ฝฎ่ฏข๏ผˆPolling๏ผ‰ไฝœไธบๆœ€ๆœด็ด ็š„ๅฎžๆ—ถ้€šไฟกๆ–นๆกˆ๏ผŒ้žไฝ†ๆฒกๆœ‰้€€ๅ‡บๅކๅฒ่ˆžๅฐ๏ผŒๅ่€Œๅœจ็‰นๅฎš็š„ๅคๆ‚ไธšๅŠกๅœบๆ™ฏไธญๅคงๆ”พๅผ‚ๅฝฉใ€‚\\n> ๐Ÿ“– ๅฆ‚ๆžœไฝ ๅฏน HTTP ่ฝฎ่ฏขๅœจๆ•ดไธช Web ้€šไฟกๅ่ฎฎไฝ“็ณปไธญ็š„ๅฎšไฝๅฐšไธๆธ…ๆ™ฐ๏ผŒๆŽจ่ๅ…ˆ้˜…่ฏป Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—๏ผŒไบ†่งฃ่ฝฎ่ฏขไธŽ็Ÿญ่ฟžๆŽฅใ€้•ฟ่ฟžๆŽฅใ€WebSocketใ€SSE ็ญ‰ๆ–นๆกˆ็š„ๆผ”่ฟ›ๅ…ณ็ณปไธŽ้€‚็”จ่พน็•Œ๏ผŒๅ†็ป“ๅˆๆœฌๆ–‡ๆทฑๅ…ฅๅฎž่ทตใ€‚\\nๅœจๅฝ“ๅ‰ไผ—ๅคš้กถ็บง็š„ AI AIGC ๅบ”็”จ๏ผˆๅฆ‚ Midjourne\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2024-03-20 22:41:41\",\"title\":\"ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ๅœจ้œ€ๆฑ‚่พน็•Œๅ†…่ฟฝๆฑ‚ๆœ€ๅฐๅคๆ‚ๅบฆโ€”โ€”ไธๆ˜ฏๆ‹’็ปๅคๆ‚๏ผŒ่€Œๆ˜ฏไธไธปๅŠจๅˆถ้€ ๅคๆ‚ใ€‚\",\"description\":\"ๆทฑๅ…ฅ่งฃๆžๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™ๅœจ็ผ–็จ‹ไธŽ่ฎพ่ฎกไธญ็š„ๅ…ญๅคงๅœบๆ™ฏ๏ผšๆ‹’็ป่ฟ‡ๅบฆ้ข„ๅˆคใ€็งป้™คๅ†—ไฝ™้€ป่พ‘ใ€ๅŒน้…ๆžถๆž„่ง„ๆจกใ€ๅ…‹ๅˆถไพ่ต–ๅผ•ๅ…ฅใ€ๅฐ่ฃ…ๆœ€ๅฐๆŽฅๅฃใ€ๅ…ˆๆŽ’ๆŸฅ็ฎ€ๅ•ๅŽŸๅ› ๏ผŒๅนถ็ป™ๅ‡บไธ‰ไธชๅ…ณ้”ฎ่พน็•Œใ€‚\",\"permalink\":\"/fullstack/occams-razor-software-design\",\"tags\":[\"concept\",\"engineering-fundamentals\",\"code-design\",\"software-engineering\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2024-03-20 22:41:41\",\"capture\":\"<script setup\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n> ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™็”ฑ 14 ไธ–็บช้€ป่พ‘ๅญฆๅฎถๅจๅป‰ยทๅฅฅๅกๅง†ๆๅ‡บ๏ผŒๅ…ถๆ ธๅฟƒไธบ\\\"ๅฆ‚ๆ— ๅฟ…่ฆ๏ผŒๅ‹ฟๅขžๅฎžไฝ“\\\"โ€”โ€”ๅœจๅคšไธชๅŒ็ญ‰ๆœ‰ๆ•ˆ็š„ๆ–นๆกˆไธญ๏ผŒ้€‰ๆ‹ฉๅ‡่ฎพๆœ€ๅฐ‘ใ€ๆœ€็ฎ€ๆด็š„้‚ฃไธชใ€‚่ฏฅๅŽŸๅˆ™ๅนถ้žๅฆๅฎšๅคๆ‚ๆ€ง๏ผŒ่€Œๆ˜ฏ้ฟๅ…ๆ— ๆ„ไน‰็š„่ฟ‡ๅบฆ่ฎพ่ฎกใ€‚ๆ–‡็ซ ไปŽ็ผ–็จ‹ไธŽ่ฎพ่ฎกๅฎž่ทตๅ‡บๅ‘๏ผŒไพๆฌกๆŽข่ฎจไบ†้œ€ๆฑ‚ๅฎž็Žฐใ€ไปฃ็ ๅฎž็Žฐใ€ๆžถๆž„่ฎพ่ฎกใ€ไพ่ต–็ฎก็†ใ€ๆŽฅๅฃ่ฎพ่ฎกใ€่ฐƒ่ฏ•ไผ˜ๅŒ–ๅ…ญๅคงๅœบๆ™ฏ็š„ๅไพ‹ไธŽๆญฃไพ‹๏ผŒๅนถๆ˜Ž็กฎๆŒ‡ๅ‡บไธ‰ไธชๅ…ณ้”ฎ่พน็•Œ๏ผšไธๅฏ็‰บ็‰ฒๅฏ็ปดๆŠคๆ€งใ€ๅฏๆ‰ฉๅฑ•ๆ€งใ€ๅฎ‰ๅ…จๆ€งๆขๅ–็ฎ€ๆดใ€‚\\n 1.\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2025-08-12 22:47:47\",\"title\":\"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—\",\"tldr\":\"TypeScript ๅฎŒๅ–„็š„็ผ–่ฏ‘ไฝ“็ณปไธŽ่ฐƒ่ฏ•ๅทฅๅ…ท้“พ๏ผŒๆ˜ฏๆž„ๅปบ้ซ˜่ดจ้‡ๅบ”็”จ็š„ๅŸบ็Ÿณใ€‚\",\"description\":\"ๆทฑๅ…ฅ่งฃๆž TypeScript ็ผ–่ฏ‘ๅทฅๅ…ท้“พไธŽ่ฐƒ่ฏ•ไฝ“็ณป๏ผŒๆถต็›– tsconfig.json ๆ ธๅฟƒ้…็ฝฎใ€Monorepo ้กน็›ฎ้…็ฝฎ๏ผˆextends/references๏ผ‰ใ€source map ่ฐƒ่ฏ•ใ€ESLint ไธŽ Jest ๅ•ๅ…ƒๆต‹่ฏ•็ญ‰ๅฎŒๆ•ดๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/typescript-compilation-debugging-guide\",\"tags\":[\"tutorial\",\"typescript\",\"compilation\",\"tooling\",\"eslint\",\"jest\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—\",\"date\":\"2025-08-12 22:47:47\",\"capture\":\"็ผ–ๅ†™ไปฃ็ ๅชๆ˜ฏๅผ€ๅ‘ๅทฅไฝœ็š„่ตท็‚น๏ผŒ็œŸๆญฃๅ†ณๅฎš้กน็›ฎ่ดจ้‡็š„ๆ˜ฏๅŽ็ปญ็š„็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•็Žฏ่Š‚ใ€‚TypeScript ไฝœไธบ JavaScript ็š„้™ๆ€็ฑปๅž‹่ถ…้›†๏ผŒไธไป…ๅธฆๆฅไบ†็ฑปๅž‹ๅฎ‰ๅ…จ๏ผŒๆ›ดๆไพ›ไบ†ๅผบๅคง็š„็ผ–่ฏ‘ๅทฅๅ…ทๅ’Œ่ฐƒ่ฏ•่ƒฝๅŠ›๏ผŒ่ฎฉๆˆ‘ไปฌ่ƒฝๅคŸๆ›ด้ซ˜ๆ•ˆๅœฐๆž„ๅปบๅ’Œ็ปดๆŠคๅฏ้ ็š„ๅบ”็”จ็จ‹ๅบใ€‚\\nๆœฌๆ–‡ๅฐ†ๅฏน TypeScript ้กน็›ฎ็š„็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•่ฟ›่กŒๆขณ็†๏ผŒๅŒ…ๆ‹ฌ็ผ–่ฏ‘ๅทฅๅ…ท TSC ็š„ไฝฟ็”จใ€็ผ–่ฏ‘้€‰้กน็š„้…็ฝฎใ€่ฐƒ่ฏ•ๅทฅๅ…ท็š„ไฝฟ็”จ็ญ‰ใ€‚\\n 1. TypeScript ็ผ–่ฏ‘้…็ฝฎไธŽ tsconfig.json\\nTSC๏ผˆTypeScript Compiler๏ผ‰ๆ˜ฏ TypeScript ๅฎ˜ๆ–นๆไพ›็š„็ผ–่ฏ‘ๅทฅๅ…ท๏ผŒ่ดŸ่ดฃๅฐ† TypeScript ไปฃ็ ๏ผˆ`.ts` ๆˆ– `.tsx`๏ผ‰่ฝฌๆขไธบ J\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹\",\"frontmatter\":{\"date\":\"2025-08-20 22:51:27\",\"title\":\"่Šไธ€่Š TypeScript ไธญ็š„ๆณ›ๅž‹\",\"tldr\":\"ๆณ›ๅž‹ๅฐ†็ฑปๅž‹ไฝœไธบๅ‚ๆ•ฐ๏ผŒไฝฟไปฃ็ ๅœจๅคš็ง็ฑปๅž‹ไธŠๅฎ‰ๅ…จ่ฟ่กŒ๏ผŒๆ˜ฏ TypeScript ็ฑปๅž‹ๆŠฝ่ฑก็š„ๆ ธๅฟƒ็‰นๆ€งใ€‚\",\"description\":\"ๆœฌๆ–‡็ณป็ปŸ่งฃๆž TypeScript ๆณ›ๅž‹็š„ๆ ธๅฟƒๆฆ‚ๅฟตไธŽๅทฅไฝœๆœบๅˆถ๏ผŒๅฏนๆฏ”ๆณ›ๅž‹ไธŽ any ็ฑปๅž‹็š„ๅทฎๅผ‚๏ผŒๆถต็›–ๆณ›ๅž‹ๅ‡ฝๆ•ฐใ€ๆŽฅๅฃใ€็ฑปใ€็ฑปๅž‹ๅˆซๅ็š„ๅฎž่ทต็”จๆณ•๏ผŒไปฅๅŠๅŸบๆœฌ็ฑปๅž‹็บฆๆŸใ€ๆŽฅๅฃ็บฆๆŸใ€ๅคš้‡็บฆๆŸใ€keyof ็บฆๆŸ็ญ‰้ซ˜้˜ถๆŠ€ๅทงไธŽๆœ€ไฝณๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/typescript-generic-types\",\"tags\":[\"tutorial\",\"typescript\",\"generics\",\"type-system\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่Šไธ€่Š TypeScript ไธญ็š„ๆณ›ๅž‹\",\"date\":\"2025-08-20 22:51:27\",\"capture\":\"1. ๆณ›ๅž‹็š„ๅŸบๆœฌๆฆ‚ๅฟตๅ’Œไฝœ็”จ\\n 1.1 ๆ ธๅฟƒๅฎšไน‰\\nๆณ›ๅž‹๏ผˆGenerics๏ผ‰ ๆ˜ฏ TypeScript ไธญไธ€็งๅผบๅคง็š„็ฑปๅž‹็ณป็ปŸ็‰นๆ€ง๏ผŒๅ…่ฎธๅฎšไน‰็ฑปๅž‹ๅ‚ๆ•ฐๅŒ–็š„็ป„ไปถ๏ผŒไฝฟไปฃ็ ่ƒฝๅคŸๅœจๅคš็ง็ฑปๅž‹ไธŠๅฎ‰ๅ…จ่ฟ่กŒ๏ผŒๅŒๆ—ถไฟๆŒ็ฑปๅž‹ๆฃ€ๆŸฅใ€‚ๆณ›ๅž‹็š„ๆ ธๅฟƒๆ€ๆƒณๆ˜ฏๅฐ†็ฑปๅž‹ไฝœไธบๅ‚ๆ•ฐไผ ้€’็ป™ๅ‡ฝๆ•ฐใ€ๆŽฅๅฃๆˆ–็ฑป๏ผŒๅฎž็Žฐ\\\"็ผ–ๅ†™ไธ€ๆฌก๏ผŒๅค็”จๅคšๆฌก\\\"็š„ๆ•ˆๆžœใ€‚\\n 1.2 ๆณ›ๅž‹ไธŽ any ็ฑปๅž‹็š„ๅฏนๆฏ”\\n| ็‰นๆ€ง | ๆณ›ๅž‹ | any ็ฑปๅž‹ |\\n|------|------|----------|\\n| ็ฑปๅž‹ๅฎ‰ๅ…จ | โœ… ็ผ–่ฏ‘ๆ—ถ่ฟ›่กŒ็ฑปๅž‹ๆฃ€ๆŸฅ | โŒ ๅฎŒๅ…จๅคฑๅŽป็ฑปๅž‹ๆฃ€ๆŸฅ |\\n| ไปฃ็ ๅค็”จ | โœ… ๆ”ฏๆŒๅคš็ง็ฑปๅž‹ๅค็”จ | โœ… ๆ”ฏๆŒๅคš็ง็ฑปๅž‹๏ผŒไฝ†ๅคฑๅŽป็ฑปๅž‹ไฟกๆฏ |\\n| ็ฑปๅž‹ๆŽจๆ–ญ | โœ… \"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview\",\"frontmatter\":{\"date\":\"2024-05-18 22:49:57\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ไปŽ ES Modules ๅˆฐๅคงๅž‹้กน็›ฎๅˆ†ๅฑ‚ๆžถๆž„ไธŽๅทฅ็จ‹ๅŒ–ๅฎž่ทต๏ผŒๆž„ๅปบๅ…จๆ ˆๆจกๅ—ๅŒ–็Ÿฅ่ฏ†ไฝ“็ณปใ€‚\",\"description\":\"็ณป็ปŸๆขณ็† JavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›๏ผˆIIFEโ†’CJSโ†’ESM๏ผ‰ใ€TypeScript ็ฑปๅž‹ๅขžๅผบใ€ๅˆ†ๅฑ‚ๆžถๆž„ไธŽ DDD ๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/module-programming-practice-guide\",\"tags\":[\"tutorial\",\"ESM\",\"DDD\",\"ๅพฎๅ‰็ซฏ\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2024-05-18 22:49:57\",\"capture\":\"1. ๅผ•่จ€\\nๆจกๅ—ๅŒ–็ผ–็จ‹ๆ˜ฏ็Žฐไปฃ JavaScript/TypeScript ๅผ€ๅ‘็š„ๆ ธๅฟƒๅŽŸๅˆ™๏ผŒๅฎƒ้€š่ฟ‡ๅฐ†ๅคๆ‚็ณป็ปŸๆ‹†ๅˆ†ไธบ็‹ฌ็ซ‹ๅฏๅค็”จ็š„ๆจกๅ—๏ผŒ้™ไฝŽ็ณป็ปŸๅคๆ‚ๆ€งๅนถๆ้ซ˜ๅฏ็ปดๆŠคๆ€งไธŽๅฏๅค็”จๆ€งใ€‚ๅ› ๆญค๏ผŒๆˆ‘ไปฌ้€š่ฟ‡็ณปๅˆ—ๆ–‡็ซ ่ฏฆ็ป†ไป‹็ปไบ†ๆจกๅ—ๅŒ–็š„ๅŸบ็ก€ๆฆ‚ๅฟตใ€ๆผ”่ฟ›ๅކ็จ‹ใ€ไธๅŒ่ง„่Œƒ็š„ๆทฑๅบฆ่งฃๆžใ€TypeScriptๆจกๅ—ๅŒ–ๅขžๅผบใ€ES Modules ๆ ธๅฟƒ่ฏญๆณ•ไธŽๅฎž่ทตใ€ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทตใ€ๅ‰็ซฏๅทฅ็จ‹ๅŒ–ไธญ็š„ๆจกๅ—ๅŒ–ใ€Node.jsไธญ็š„ๆจกๅ—ๅŒ–ๅฎž่ทตใ€ๅคงๅž‹้กน็›ฎไธญ็š„ๆจกๅ—ๅŒ–่ฎพ่ฎกใ€ๆจกๅ—ๅŒ–ไธŽไปฃ็ ็ปดๆŠคไปฅๅŠๆœชๆฅๅ‘ๅฑ•่ถ‹ๅŠฟใ€‚\\nๅ‰้ข็š„็ณปๅˆ—ๆ–‡็ซ ไธป่ฆๆœ‰๏ผš\\n- ๆจกๅ—ๅŒ–็ผ–็จ‹็ผ–็จ‹ๅˆไฝ“้ชŒไธŽๅŸบ็ก€ไป‹็ป\\n- JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\\n- ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒ\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€\",\"frontmatter\":{\"date\":\"2024-05-12 22:43:28\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ๏ผšๆฆ‚ๅฟตใ€ๆผ”่ฟ›ไธŽ่ฎพ่ฎกๆจกๅผ\",\"tldr\":\"ไปŽๅ…จๅฑ€ๅ˜้‡ๅˆฐ ES Modules๏ผšJavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›ไธŽๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผๅฎž่ทตใ€‚\",\"description\":\"็ณป็ปŸ่ฎฒ่งฃ JavaScript ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€๏ผŒๆถต็›– IIFEใ€CommonJSใ€ES Modules ่ง„่Œƒๆผ”่ฟ›๏ผŒไปฅๅŠๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผไธŽๆจกๅ—ๅŒ–็š„็ป“ๅˆใ€‚\",\"permalink\":\"/fullstack/frontend-module-programming-basic\",\"tags\":[\"tutorial\",\"javascript\",\"modularization\",\"esm\",\"design-patterns\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ๏ผšๆฆ‚ๅฟตใ€ๆผ”่ฟ›ไธŽ่ฎพ่ฎกๆจกๅผ\",\"date\":\"2024-05-12 22:43:28\",\"capture\":\"1. ๅผ•่จ€\\n้š็€้กน็›ฎ่ง„ๆจกๆ—ฅ็›Š่†จ่ƒ€๏ผŒไปฃ็ ้‡ไปŽๅ‡ ๅƒ่กŒ่ฟ…้€Ÿๅขž้•ฟๅˆฐๆ•ฐไธ‡็”š่‡ณๆ•ฐๅไธ‡่กŒ๏ผŒๅฐ†ๆ‰€ๆœ‰้€ป่พ‘ๅกž่ฟ›ๅฐ‘ๆ•ฐๅ‡ ไธชๆ–‡ไปถ็š„ๅšๆณ•ๆ—ฉๅทฒ้šพไปฅไธบ็ปงใ€‚ๅœจ่ฟ™ๆ ท็š„่ƒŒๆ™ฏไธ‹๏ผŒๆจกๅ—ๅŒ–็ผ–็จ‹ๅบ”่ฟ่€Œ็”Ÿ๏ผŒๆˆไธบ็Žฐไปฃๅ‰็ซฏๅผ€ๅ‘็š„ๆ ‡้…ใ€‚\\nๅฎƒ็š„ๆ ธๅฟƒ็†ๅฟต็ฎ€ๆด่€Œไผ˜้›…๏ผšๅƒๆญ็งฏๆœจไธ€ๆ ท๏ผŒๅฐ†ๅบžๅคงๅคๆ‚็š„็ณป็ปŸๆ‹†่งฃไธบไธ€ไธชไธช็‹ฌ็ซ‹ใ€ๅŠŸ่ƒฝๅ•ไธ€ไธ”ๅฏๅค็”จ็š„ๆจกๅ—๏ผŒ่ฎฉๆฏไธชๆจกๅ—ๅ„ๅธๅ…ถ่Œ๏ผŒๅ†้€š่ฟ‡ๆ ‡ๅ‡†ๆŽฅๅฃ็ตๆดป็ป„ๅˆใ€‚\\n 2. ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ\\nๅœจๆทฑๅ…ฅ็†่ฎบไน‹ๅ‰๏ผŒ่ฎฉๆˆ‘ไปฌๅ…ˆ้€š่ฟ‡ไธ€ไธช็ฎ€ๅ•็š„ JavaScript ็คบไพ‹๏ผŒ็›ด่ง‚ๅœฐๆ„Ÿๅ—ไธ€ไธ‹ไป€ไนˆๆ˜ฏๆจกๅ—ๅŒ–ใ€‚ๅ‡่ฎพๆˆ‘ไปฌ้œ€่ฆๅค„็†ไธ€ไบ›ๆ•ฐๅญฆ่ฟ็ฎ—๏ผŒๆˆ‘ไปฌๅฏไปฅๅฐ†ๅ…ถๅฐ่ฃ…ๆˆไธ€ไธช็‹ฌ็ซ‹็š„ๅทฅๅ…ทๆจกๅ—๏ผš\\n```javascript\\n// math.js - ๅฎšไน‰ไธ€ไธชๆ•ฐๅญฆๅทฅๅ…ทๆจกๅ—\\nexp\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†\",\"frontmatter\":{\"date\":\"2024-05-14 22:26:06\",\"title\":\"JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\",\"tldr\":\"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ็ญ‰ๆ ธๅฟƒ่ง„่Œƒ๏ผŒ้™„็Žฐไปฃ่ฟ็งป็ญ–็•ฅใ€‚\",\"description\":\"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ๅ››ๅคงๆจกๅ—ๅŒ–่ง„่Œƒ็š„ๆ ธๅฟƒ่ฏญๆณ•ไธŽ้€‚็”จๅœบๆ™ฏ๏ผŒ่งฃๆžๅ„่ง„่Œƒ็š„ๅ…ณ้”ฎๅทฎๅผ‚๏ผŒๅนถๆไพ›ไปŽๆ—ง่ง„่Œƒๅ‘ ESM ่ฟ็งป็š„ๅฎžๆ“็ญ–็•ฅใ€‚\",\"permalink\":\"/fullstack/different-module-programming-specifications\",\"tags\":[\"tutorial\",\"CommonJS\",\"AMD\",\"UMD\",\"ESM\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\",\"date\":\"2024-05-14 22:26:06\",\"capture\":\"ๅœจ JavaScript ่ฟ›ๅŒ–ๅฒไธŠ๏ผŒโ€œๆจกๅ—ๅŒ–โ€ๅง‹็ปˆๆ˜ฏไธ€ไธชๆ ธๅฟƒๅ‘ฝ้ข˜ใ€‚ไปŽๆ—ฉๆœŸ script ๆ ‡็ญพๆปกๅคฉ้ฃž็š„โ€œๆททๆฒŒๆ—ถไปฃโ€๏ผŒๅˆฐๅ„่ทฏ่ง„่Œƒ็พค้›„้€้นฟ็š„โ€œๆˆ˜ๅ›ฝๆ—ถไปฃโ€๏ผŒๅ†ๅˆฐๅฆ‚ไปŠ ES Modules ๅฎšไบŽไธ€ๅฐŠ๏ผŒๅผ€ๅ‘่€…ไปฌๅœจ่งฃๅ†ณไพ่ต–็ฎก็†ใ€ไฝœ็”จๅŸŸๆฑกๆŸ“ๅ’Œๅผ‚ๆญฅๅŠ ่ฝฝ็ญ‰้—ฎ้ข˜ไธŠไป˜ๅ‡บไบ†ๅทจๅคง็š„ๅŠชๅŠ›ใ€‚\\nๆœฌๆ–‡ๅฐ†ๅธฆไฝ ๆขณ็† JavaScript ๅކๅฒไธŠๆœ€้‡่ฆ็š„ๅ‡ ็งๆจกๅ—ๅŒ–่ง„่Œƒ๏ผŒไพฟไบŽๆž„ๅปบ่ตทๅ…จๆ ˆๅผ€ๅ‘็š„ๅบ•ๅฑ‚็Ÿฅ่ฏ†ๅ›พ่ฐฑใ€‚\\n 1. CommonJS ่ง„่Œƒ๏ผšNode.js ็”Ÿๆ€็š„ๅŸบ็Ÿณ\\nCommonJS ๆ˜ฏไผด้š Node.js ่ฏž็”Ÿ็š„่ง„่Œƒ,็”ฑ Kevin Dangoor ๆๅ‡บ๏ผŒๅˆ่กทๆ˜ฏ่ฎฉ JavaScript ่„ฑ็ฆปๆต่งˆๅ™จไนŸ่ƒฝๆž„ๅปบๅคๆ‚็š„็ณป็ปŸๅบ”็”จใ€‚ๅฎƒๆ˜ฏ Node.\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"frontmatter\":{\"date\":\"2024-05-14 22:29:32\",\"title\":\"ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒๆ‹ฅๆŠฑๅŽŸ็”Ÿ๏ผšES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"tldr\":\"ES Modules ๆ ธๅฟƒ่ฏญๆณ•ไธŽๆ‰ง่กŒๆจกๅž‹๏ผš้™ๆ€ๅˆ†ๆžๅฆ‚ไฝ•้‡ๅก‘ๅ‰็ซฏๆž„ๅปบๆ•ˆ็އใ€‚\",\"description\":\"ๆทฑๅบฆ่งฃๆž ES Modules ๅ‘ฝๅๅฏผๅ‡บ/ๅฏผๅ…ฅใ€้ป˜่ฎคๅฏผๅ‡บใ€ๅŠจๆ€ๅฏผๅ…ฅ็ญ‰่ฏญๆณ•๏ผŒไปฅๅŠๆจกๅ—ๆ‰ง่กŒ้กบๅบใ€ๅพช็Žฏไพ่ต–ๅค„็†ไธŽ็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ๆœบๅˆถใ€‚\",\"permalink\":\"/fullstack/decode-es-modules\",\"tags\":[\"concept\",\"ESM\",\"static-analysis\",\"Tree-Shaking\",\"circular-dependency\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒๆ‹ฅๆŠฑๅŽŸ็”Ÿ๏ผšES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"date\":\"2024-05-14 22:29:32\",\"capture\":\"> \\n> ็†่งฃ ESM๏ผŒไธไป…ไป…ๆ˜ฏๅญฆไผš import ๅ’Œ export๏ผŒๆ›ด้‡่ฆ็š„ๆ˜ฏ็†่งฃๅฎƒๅฆ‚ไฝ•้€š่ฟ‡็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ๅฝปๅบ•ๆ”นๅ˜ไบ†ๅ‰็ซฏๆž„ๅปบ็š„ๆ•ˆ็އใ€‚\\n 1. ๅ‘ฝๅๅฏผๅ‡บไธŽๅฏผๅ…ฅ๏ผš็ฒพๅ‡†็š„ไปฃ็ ๅผ•็”จ\\nๅ‘ฝๅๅฏผๅ‡บ๏ผˆNamed Exports๏ผ‰ๆ˜ฏ ESM ๆœ€ๅธธ็”จ็š„ๅฝขๅผ๏ผŒๅฎƒๅ…่ฎธไธ€ไธชๆจกๅ—ๆšด้œฒๅคšไธชๆˆๅ‘˜ใ€‚ๅ…ถๆ ธๅฟƒไผ˜ๅŠฟๅœจไบŽ๏ผšๅฏผๅ…ฅๆ–นๅฏไปฅๆŒ‰้œ€ๅผ•ๅ…ฅ๏ผŒไธ” IDE ่ƒฝๆไพ›็ฒพๅ‡†็š„่กฅๅ…จใ€‚\\n่ฏญๆณ•ๅฎž่ทต๏ผš๏ผš\\n```javascript\\n// math.js - ๅ‘ฝๅๅฏผๅ‡บ\\n// ่กŒๅ†…ๅฏผๅ‡บ\\nexport const PI = 3.14159;\\nexport function circleArea(radius) {\\n return PI * rad\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"frontmatter\":{\"date\":\"2024-05-16 21:27:36\",\"title\":\"ไปŽ้€ป่พ‘้š”็ฆปๅˆฐ็ฑปๅž‹ๅฅ‘็บฆ๏ผšTypeScript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"tldr\":\"TypeScript ๅฐ†ๆจกๅ—ไพ่ต–ๆๅ‡ไธบ็ผ–่ฏ‘ๆ—ถ็ฑปๅž‹ๅฅ‘็บฆ๏ผŒไปŽ import type ๅˆฐๅฃฐๆ˜Žๆ–‡ไปถใ€‚\",\"description\":\"็ณป็ปŸ่ฎฒ่งฃ TypeScript ๅฏน ES Modules ็š„็ฑปๅž‹ๅขžๅผบ๏ผŒๆถต็›– import type ่ฟ่กŒๆ—ถไผ˜ๅŒ–ใ€ๆŽฅๅฃๅฅ‘็บฆใ€ๅฃฐๆ˜Žๆ–‡ไปถ .d.ts ๅŠ tsconfig ๆจกๅ—ๅŒ–้…็ฝฎใ€‚\",\"permalink\":\"/fullstack/typescript-module-programming-enhancement\",\"tags\":[\"concept\",\"ๅ…จๆ ˆ\",\"typescript\",\"tsconfig\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไปŽ้€ป่พ‘้š”็ฆปๅˆฐ็ฑปๅž‹ๅฅ‘็บฆ๏ผšTypeScript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"date\":\"2024-05-16 21:27:36\",\"capture\":\"1. ๅผ•่จ€\\nๅœจๅŽŸ็”Ÿ JavaScript ๆจกๅ—ๅŒ–่งฃๅ†ณไบ†ไปฃ็ ็ป„็ป‡้—ฎ้ข˜ๅŽ๏ผŒTypeScript๏ผˆTS๏ผ‰่ฟ›ไธ€ๆญฅๅฐ†ๅ…ถๆŽจๅ‘ไบ†ๅทฅไธš็บง้ซ˜ๅบฆใ€‚TS ไธไป…ไป…ๆ˜ฏไธบๆจกๅ—ๆทปๅŠ ไบ†็ฑปๅž‹ๆ ‡ๆณจ๏ผŒๅฎƒ้€š่ฟ‡็ฑปๅž‹ๅฏผๅ‡บๅฏผๅ…ฅใ€็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ใ€ไปฅๅŠๅฃฐๆ˜Žๆ–‡ไปถ็ณป็ปŸ๏ผŒๅฐ†ๆจกๅ—้—ด็š„ไพ่ต–ๅ…ณ็ณปไปŽ็ฎ€ๅ•็š„โ€œไปฃ็ ๅผ•็”จโ€ๆๅ‡ๅˆฐไบ†โ€œๅฅ‘็บฆไบคไบ’โ€ใ€‚\\nๆœฌๆ–‡ๆˆ‘ไปฌๅฐ†่š็„ฆไบŽ TypeScript ๅฆ‚ไฝ•้€š่ฟ‡็ฑปๅž‹็ณป็ปŸๅขžๅผบๆจกๅ—ๅŒ–็ผ–็จ‹๏ผŒๅนถๆŽข่ฎจๅœจ็Žฐไปฃๅทฅ็จ‹๏ผˆๅฐคๅ…ถๆ˜ฏ TS 5.0+ ๆ—ถไปฃ๏ผ‰ไธ‹็š„ๆœ€ไฝณ้…็ฝฎๅฎž่ทตใ€‚\\n 2. ็ฑปๅž‹ๅฏผๅ‡บไธŽๅฏผๅ…ฅ๏ผšๆž่‡ด็š„่ฟ่กŒๆ—ถไผ˜ๅŒ–\\nTypeScript ๅฏน ES Modules ่ฏญๆณ•ๆœ€ๆ˜พ่‘—็š„ๆ‰ฉๅฑ•ๆ˜ฏๆ”ฏๆŒโ€œไป…็ฑปๅž‹โ€๏ผˆType-only๏ผ‰็š„ๅฏผๅ‡บไธŽๅฏผๅ…ฅใ€‚่ฟ™ไธไป…ๆ˜ฏ่ฏญไน‰ไธŠ็š„ๆธ…ๆ™ฐ๏ผŒๆ›ดๆ˜ฏๆ€ง\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต\",\"frontmatter\":{\"date\":\"2024-05-17 22:30:50\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ๆขณ็†ไธŽๆ€ป็ป“\",\"tldr\":\"ๆŽŒๆก้ซ˜ๅ†…่šไฝŽ่€ฆๅˆๅŽŸๅˆ™๏ผšๆจกๅ—ๅŒ–็ผ–็จ‹็š„่ฎพ่ฎกๅ‡†ๅˆ™ไธŽ็ฒ’ๅบฆๆŽงๅˆถใ€‚\",\"description\":\"็ณป็ปŸๆขณ็†ๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅ…ญๅคงๆ ธๅฟƒๅŽŸๅˆ™๏ผšๅ•ไธ€่Œ่ดฃใ€้ซ˜ๅ†…่šไฝŽ่€ฆๅˆใ€็ฒ’ๅบฆ่ฎพ่ฎกใ€ๅ‘ฝๅ่ง„่ŒƒๅŠๆจกๅ—็‰ˆๆœฌ็ฎก็†๏ผŒ้™„่ฏฆ็ป†็š„ๅทฅ็จ‹ๅฎž่ทตๅปบ่ฎฎไธŽ้ฟๅ‘ๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/fullstack/module-programming-principles-best-practices\",\"abstract\":\"ๅฆ‚ๆžœ่ฏดๆŽŒๆกๆจกๅ—ๅŒ–่ฏญๆณ•ๆ˜ฏๆœฏ๏ผŒ้‚ฃไนˆ็†่งฃๅ…ถ่ƒŒๅŽ็š„่ฎพ่ฎกๅŽŸๅˆ™ๅฐฑๆ˜ฏ้“ใ€‚ๅ•ไธ€่Œ่ดฃๅŽŸๅˆ™ๅผบ่ฐƒๆจกๅ—ๅชๅบ”ๆœ‰ไธ€ไธช่ขซๆ”นๅ˜็š„ๅŽŸๅ› ๏ผŒ้ฟๅ… God Object ๅๆจกๅผใ€‚้ซ˜ๅ†…่šไฝŽ่€ฆๅˆๆ˜ฏ่กก้‡ๆจกๅ—่ดจ้‡็š„็ปˆๆžๆ ‡ๅ‡†โ€”โ€”ๆจกๅ—ๅ†…้ƒจๅ…ƒ็ด ่”็ณป็ดงๅฏ†๏ผŒๆจกๅ—ไน‹้—ดไพ่ต–ๅ…ณ็ณปๅฐฝๅฏ่ƒฝ็ฎ€ๅ•ใ€‚็ฒ’ๅบฆ่ฎพ่ฎก่ฆๆฑ‚ๅ•ไธชๆจกๅ—ไฟๆŒๅœจ 100-500 ่กŒไน‹้—ด๏ผŒๅŠŸ่ƒฝ่ƒฝ็”จไธ€ๅฅ่ฏๆธ…ๆ™ฐๆ่ฟฐ๏ผŒๅ‡บ็Žฐๅคšๅˆ†ๆ”ฏๅคๆ‚้€ป่พ‘ๆ—ถ้€šๅธธๆ˜ฏๆ‹†ๅˆ†ไฟกๅทใ€‚ๅ‘ฝๅ่ง„่Œƒ็ปŸไธ€ๅ›ข้˜ŸๆฒŸ้€š่ฏญๅขƒ๏ผˆkebab-case ๆ–‡ไปถๅใ€camelCase ๆ–นๆณ•ๅใ€PascalCase ็ฑปๅ๏ผ‰ใ€‚ๆจกๅ—็‰ˆๆœฌ็ฎก็†้ตๅพช SemVer ่ฏญไน‰ๅŒ–็‰ˆๆœฌ๏ผŒไธบๅ…ฌๅ…ฑๆจกๅ—็š„็ปดๆŠค่€…ไธŽไฝฟ็”จ่€…ๅปบ็ซ‹ๅฅ‘็บฆใ€‚ๅผบ่ฐƒๆธ…ๆ™ฐ็š„ๆจกๅ—่พน็•Œๆ˜ฏ AI ่พ…ๅŠฉ็ผ–็จ‹ๆ—ถไปฃ AI ๅ‡†็กฎ็†่งฃไปฃ็ ็š„ๅ‰ๆใ€‚\",\"tags\":[\"concept\",\"solid-principles\",\"code-organization\",\"best-practices\",\"naming-conventions\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ๆขณ็†ไธŽๆ€ป็ป“\",\"date\":\"2024-05-17 22:30:50\",\"capture\":\"1. ๅ•ไธ€่Œ่ดฃๅŽŸๅˆ™\\nๆ ธๅฟƒๆ€ๆƒณ๏ผšไธ€ไธชๆจกๅ—ๅบ”ๅฝ“ๆœ‰ไธ”ๅชๆœ‰ไธ€ไธช่ขซๆ”นๅ˜็š„ๅŽŸๅ› ใ€‚\\nๆจกๅ—ไธๅบ”ๆˆไธบๅŠŸ่ƒฝ็š„โ€œๆ‚่ดง้“บโ€ใ€‚ๅฝ“ไธ€ไธชๆจกๅ—ๆ‰ฟๆ‹…ไบ†ๅคชๅคšไธ็›ธๅ…ณ็š„ไธšๅŠก้€ป่พ‘ๆ—ถ๏ผŒๅฎƒ็š„ๅคๆ‚ๅบฆไผšๅ‘ˆๆŒ‡ๆ•ฐ็บงไธŠๅ‡๏ผŒไปปไฝ•ๅพฎๅฐ็š„ๆ”นๅŠจ้ƒฝๅฏ่ƒฝๅผ•ๅ‘ๆ„ๆƒณไธๅˆฐ็š„่ฟž้”ๅๅบ”ใ€‚\\nไปฃ็ ๆผ”็คบ๏ผš\\n```javascript\\n// โœ… ๆŽจ่๏ผš่Œ่ดฃๆ‹†ๅˆ†ๆ˜Ž็กฎ\\n// user-service.js - ไป…ๅค„็†็”จๆˆทๆ•ฐๆฎ็š„ CRUD\\nexport const getUser = async (id) => { /* ... */ };\\n// auth-provider.js - ไป…ๅค„็†้‰ดๆƒ็Šถๆ€ไธŽ้€ป่พ‘\\nexport const login = async (credenti\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–\",\"frontmatter\":{\"date\":\"2024-05-17 23:33:09\",\"title\":\"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“\",\"tldr\":\"Node.js CJS ไธŽ ESM ๅŒๆจกๅ…ฑๅญ˜๏ผšๆจกๅ—ๅŠ ่ฝฝๆœบๅˆถไธŽๅˆ†ๅฑ‚ๆžถๆž„ๅฎž่ทตใ€‚\",\"description\":\"่งฃๆž Node.js ไธญ CommonJS ไธŽ ES Modules ็š„ๅŒๆจกๅ…ฑๅญ˜็ญ–็•ฅ๏ผŒๆถต็›–ๆจกๅ—ๅŠ ่ฝฝไผ˜ๅ…ˆ็บงใ€็ผ“ๅญ˜ๆœบๅˆถใ€package.json exports ๆกไปถๅฏผๅ‡บๅŠ Monorepo ๆžถๆž„ๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/nodejs-module-programming-summary\",\"abstract\":\"Node.js ๆจกๅ—ๅŒ–็ปๅކไบ†ไปŽ CommonJS ็‹ฌ้œธๅคฉไธ‹ๅˆฐ ES Modules ๅ…จ้ขๆŽฅๅ…ฅ็š„่Œƒๅผ่ฝฌ็งปใ€‚ๅ…ฑๅญ˜็ญ–็•ฅ้€š่ฟ‡ .mjs/.cjs ๅŽ็ผ€ๅ’Œ package.json type ๅญ—ๆฎตๆŽงๅˆถไธค็ง่ง„่Œƒ็š„่พน็•Œ๏ผ›ESM ๅฏ็›ดๆŽฅ import CJS๏ผˆ่‡ชๅŠจๅŒ…่ฃ…ไธบ้ป˜่ฎคๅฏผๅ‡บ๏ผ‰๏ผŒไฝ† CJS ๆ— ๆณ• require ESM ๅฟ…้กปไฝฟ็”จๅŠจๆ€ importใ€‚ๆจกๅ—ๅŠ ่ฝฝ้ตๅพชๆ ธๅฟƒๆจกๅ—ไผ˜ๅ…ˆใ€ๆ–‡ไปถๆจกๅ—ใ€็›ฎๅฝ•ๆจกๅ—๏ผˆindex.js/package.json๏ผ‰ใ€node_modules ้€็บงๆŸฅๆ‰พ็š„ไผ˜ๅ…ˆ็บง๏ผ›require.cache ๅฎž็Žฐๆจกๅ—็ผ“ๅญ˜๏ผŒๆธ…้™ค็ผ“ๅญ˜๏ผˆdelete require.cache[path]๏ผ‰ๆ˜ฏ็ƒญๆ›ดๆ–ฐๅทฅๅ…ท็š„ๆ ธๅฟƒๆ“ไฝœใ€‚package.json exports ๅญ—ๆฎตๆ”ฏๆŒๆกไปถๅฏผๅ‡บ๏ผˆimport/require ่ฟ”ๅ›žไธๅŒๅ…ฅๅฃ๏ผ‰ใ€‚pnpm workspaces ๅ‡ญๅ€Ÿ็กฌ้“พๆŽฅๆœบๅˆถๆˆไธบ็Žฐไปฃ Monorepo ้ฆ–้€‰ใ€‚ๅŽ็ซฏๅˆ†ๅฑ‚ๆžถๆž„๏ผˆAPI/Service/Repository๏ผ‰ๅฎž็Žฐๅ…ณๆณจ็‚นๅˆ†็ฆป๏ผŒๆขๆ•ฐๆฎๅบ“ๅช้œ€ๆ”น Repository ๅฑ‚ใ€‚\",\"tags\":[\"concept\",\"node.js\",\"commonjs\",\"esm\",\"monorepo\",\"layered-architecture\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“\",\"date\":\"2024-05-17 23:33:09\",\"capture\":\"ๅฆ‚ๆžœ่ฏดๆต่งˆๅ™จ็ซฏ็š„ๆจกๅ—ๅŒ–ๆ˜ฏไธบไบ†\\\"ๆŒ‰้œ€ๅŠ ่ฝฝ\\\"๏ผŒ้‚ฃไนˆ Node.js ็š„ๆจกๅ—ๅŒ–ๅˆ™ๆ˜ฏไธบไบ†\\\"ไปฃ็ ็ป„็ป‡\\\"ใ€‚ไฝœไธบๅฐ† JavaScript ๅธฆๅ…ฅๆœๅŠกๅ™จ็ซฏ็š„ๅ…ˆ้ฉฑ๏ผŒNode.js ็ปๅކไบ†ไปŽ CommonJS (CJS) ็‹ฌ้œธๅคฉไธ‹ๅˆฐ ES Modules (ESM) ๅ…จ้ขๆŽฅๅ…ฅ็š„่Œƒๅผ่ฝฌ็งปใ€‚\\nๅœจๆœๅŠกๅ™จ็ซฏ๏ผŒๆจกๅ—ๅŒ–ไธไป…ไป…ๆ˜ฏไธบไบ†ๆ‹†ๅˆ†ไปฃ็ ๏ผŒๆ›ดๆ˜ฏไธบไบ†ๆž„ๅปบๆธ…ๆ™ฐ็š„้กน็›ฎ็ป“ๆž„ใ€็ฎก็†ไพ่ต–ๅ…ณ็ณป๏ผŒไปฅๅŠๅฎž็Žฐไปฃ็ ็š„ๅค็”จไธŽ็ปดๆŠคใ€‚\\n 1. CommonJS ไธŽ ES Modules ๅŒๆจกๅ…ฑๅญ˜\\nๅœจ็Žฐไปฃ Node.js ๅผ€ๅ‘ไธญ๏ผŒๆˆ‘ไปฌ็ปๅธธ้ขไธดไธค็ง่ง„่Œƒไบค็ป‡็š„ๆƒ…ๅ†ตใ€‚่ฟ™ไธไป…ๆ˜ฏๆ–‡ไปถๅŽ็ผ€็š„ๆ”นๅ˜๏ผŒๆ›ดๆ˜ฏๅŒๆญฅไธŽๅผ‚ๆญฅๅŠ ่ฝฝ้€ป่พ‘็š„ๅšๅผˆใ€‚\\nๅ…ฑๅญ˜็ญ–็•ฅ๏ผš\\n1. ๅŽ็ผ€ๅ†ณๅฎš่ฎบ๏ผš`.mjs\"},{\"url\":\"/01.ๅ…จๆ ˆ/90.ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่/90.ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"relativePath\":\"/01.ๅ…จๆ ˆ/90.ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่/90.ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"frontmatter\":{\"date\":\"2026-02-06 15:58:53\",\"title\":\"ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡็ณป็ปŸๆขณ็†ไบ†็Žฐไปฃๅ…จๆ ˆๅผ€ๅ‘็š„ๅฎŒๆ•ดๆŠ€ๆœฏๅ›พ่ฐฑไธŽๆผ”่ฟ›่Œƒๅผ๏ผŒไธบๅผ€ๅ‘่€…ๆไพ›ไบ†ไธ€็ซ™ๅผ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—ใ€‚ๆ–‡็ซ ไปŽๅŸบ็Ÿณๅ‡บๅ‘๏ผŒ่ฆ†็›– Web ๆ ธๅฟƒ่ฏญ่จ€๏ผˆJS/TS๏ผ‰ ไธŽ ไธปๆต UI ๆก†ๆžถ๏ผˆReact/Vue/Svelte๏ผ‰๏ผŒๅนถๆŽจ่ไปฅ Tailwind CSS ๅ’Œ shadcn/ui ไธบไปฃ่กจ็š„็Žฐไปฃๆ ทๅผไธŽ็ป„ไปถๅŽŸ่ฏญใ€‚ๅœจๆ ธๅฟƒไธšๅŠก้€ป่พ‘ๅฑ‚๏ผŒๆทฑๅบฆๅฏนๆฏ”ไบ†่ฝป้‡ๅŒ–็Šถๆ€็ฎก็†ๆ–นๆกˆ๏ผˆ้ฆ–ๆŽจ Zustand/Jotai๏ผ‰๏ผŒๅนถ้‡็‚น่งฃๆžไบ†ๆ•ฐๆฎไบคไบ’็š„ไธ‰ๅคง็Žฐไปฃๆžถๆž„่Œƒๅผ๏ผšไปŽๅŸบ็ก€ Axios ๅˆฐ React Query ็Šถๆ€่ฐƒๅบฆ๏ผŒๅ†ๅˆฐ tRPC ๅ’Œ GraphQL ๅธฆๆฅ็š„ๅ…จๆ ˆ็ฑปๅž‹ๅฎ‰ๅ…จไธŽๅคš็ซฏ่šๅˆใ€‚ๅœจๅทฅ็จ‹ๅŒ–ไธŽๆœๅŠก็ซฏๆจกๅ—๏ผŒๆ–‡็ซ ๅ…จ้ขๆ‹ฅๆŠฑ Viteใ€Rsbuild ็ญ‰ๆž้€Ÿๆž„ๅปบๅทฅๅ…ท๏ผŒๅนถๅ‰–ๆžไบ† Next.js/Nuxt ๅŒๆž„ๅ…ƒๆก†ๆžถไธŽ NestJS ไผไธš็บง Node ๆœๅŠก็š„ๆœ€ไฝณ้€‚็”จๅœบๆ™ฏใ€‚ๆœ€ๅŽ๏ผŒ่พ…ไปฅ Vercel ็ญ‰็Žฐไปฃ่พน็ผ˜้ƒจ็ฝฒๅนณๅฐๅŠไธฐๅฏŒ็š„ๅผ€ๆบ็คพๅŒบๅญฆไน ่ต„ๆบใ€‚\",\"permalink\":\"/growth/full-stack-resources\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"date\":\"2026-02-06 15:58:53\",\"capture\":\"> - ๆ–‡็ซ ไปŽๅŸบ็Ÿณๅ‡บๅ‘๏ผŒ่ฆ†็›– Web ๆ ธๅฟƒ่ฏญ่จ€๏ผˆJS/TS๏ผ‰ ไธŽ ไธปๆต UI ๆก†ๆžถ๏ผˆReact/Vue/Svelte๏ผ‰๏ผŒๅนถๆŽจ่ไปฅ Tailwind CSS ๅ’Œ shadcn/ui ไธบไปฃ่กจ็š„็Žฐไปฃๆ ทๅผไธŽ็ป„ไปถๅŽŸ่ฏญใ€‚\\n> - ๅœจๆ ธๅฟƒไธšๅŠก้€ป่พ‘ๅฑ‚๏ผŒๆทฑๅบฆๅฏนๆฏ”ไบ†่ฝป้‡ๅŒ–็Šถๆ€็ฎก็†ๆ–นๆกˆ๏ผˆ้ฆ–ๆŽจ Zustand/Jotai๏ผ‰๏ผŒๅนถ้‡็‚น่งฃๆžไบ†ๆ•ฐๆฎไบคไบ’็š„ไธ‰ๅคง็Žฐไปฃๆžถๆž„่Œƒๅผ๏ผšไปŽๅŸบ็ก€ Axios ๅˆฐ React Query ็Šถๆ€่ฐƒๅบฆ๏ผŒๅ†ๅˆฐ tRPC ๅ’Œ GraphQL ๅธฆๆฅ็š„ๅ…จๆ ˆ็ฑปๅž‹ๅฎ‰ๅ…จไธŽๅคš็ซฏ่šๅˆใ€‚\\n> - ๅœจๅทฅ็จ‹ๅŒ–ไธŽๆœๅŠก็ซฏๆจกๅ—๏ผŒๆ–‡็ซ ๅ…จ้ขๆ‹ฅๆŠฑ Viteใ€Rsbuild ็ญ‰ๆž้€Ÿๆž„ๅปบๅทฅๅ…ท๏ผŒๅนถๅ‰–ๆžไบ† Next.js/N\"},{\"url\":\"/10.ไบงๅ“ Sense/00.ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"relativePath\":\"/10.ไบงๅ“ Sense/00.ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"frontmatter\":{\"date\":\"2026-03-19 23:05:50\",\"title\":\"ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"description\":\"ไบงๅ“ Sense ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ๏ผŒๆถต็›– AI ไบงๅ“่ง‚ๅฏŸใ€ๅคๅˆๅž‹ไบบๆ‰ๆˆ้•ฟใ€ๅ•†ไธšๅŒ–ๆ€่€ƒๅŠๆ–นๆณ•่ฎบๆ€ป็ป“็ญ‰ใ€‚\",\"categories\":[\"ไบงๅ“ Sense\",\"AI\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"date\":\"2026-03-19 23:05:50\",\"capture\":\"> * ่ฟฝๆฑ‚้ซ˜ๆ ๆ†โ€”โ€”ไปฅๆž็ฎ€ๆŠ€ๆœฏ่งฃๅ†ณๅคๆ‚้—ฎ้ข˜๏ผŒๆ‹’็ปไธบ็‚ซๆŠ€่€Œ่ฎพ่ฎก็š„ไผช้œ€ๆฑ‚๏ผ›\\n> * ๅนณ่กกๆ„Ÿๆ€งไธŽ็†ๆ€งโ€”โ€”ๆ—ขๅ…ฑๆƒ…็”จๆˆท็š„็œŸๅฎžๅœบๆ™ฏไธŽๆƒ…็ปช๏ผŒๅˆๅ†ท้™่ฟฝๆบฏ็—›็‚นๆœฌ่ดจ๏ผŒ่ฎฉไบงๅ“ๆ—ขๆœ‰ๆธฉๅบฆ๏ผŒๅˆไธ่‡ณไบŽๆฒฆไธบๅŠŸ่ƒฝ็š„ๅ †็ Œใ€‚\\n่งฃๆž„่ฟ™็งไบงๅ“ Sense ็š„ๅŸบ็ก€ๅœจไบŽๅฏนๆŠ•ๅ…ฅไบงๅ‡บๆฏ”๏ผˆROI๏ผ‰็š„ๆž่‡ด่ฟฝๆฑ‚ไธŽๅฏนไบบๆ€ง็š„ๆทฑๅบฆๅ‰–ๆž๏ผš\\n* ไธ€ๆ–น้ข๏ผŒๅ“่ถŠ็š„ไบงๅ“ๅ—…่ง‰ๆ„ๅ‘ณ็€ๅฏปๆ‰พโ€œ้ซ˜ๆ ๆ†่งฃโ€๏ผŒ็”จๆœ€ๅ…‹ๅˆถ็š„ๆŠ€ๆœฏๅคๆ‚ๅบฆๅŽปๆ’ฌๅŠจๆœ€ๅนฟๆณ›ไธ”ๅผบ็ƒˆ็š„็”จๆˆทไปทๅ€ผ๏ผŒๆžœๆ–ญ่ง„้ฟไธบไบ†ๆŠ€ๆœฏ่€ŒๆŠ€ๆœฏ็š„ไผช้œ€ๆฑ‚้™ท้˜ฑใ€‚\\n* ๅฆไธ€ๆ–น้ข๏ผŒๆ—ข้œ€่ฆ่ฎพ่บซๅค„ๅœฐๆ„Ÿ็Ÿฅ็”จๆˆท็š„็œŸๅฎžไฝฟ็”จๅœบๆ™ฏไธŽๆƒ…็ปช๏ผŒๅˆๅฟ…้กปไฟๆŒ็†ๆ€งๅŽป่ฟฝ้—ฎ็—›็‚น็š„ๆ นๆบ๏ผŒ็กฎไฟไบงๅ“ๆ—ขไธๆฒฆไธบ่‡ƒ่‚ฟ็š„้œ€ๆฑ‚่ฎธๆ„ฟๆฑ ๏ผŒไนŸไธๅ˜ๆˆ็ผบไนไบบๆ€งๆธฉๅบฆ็š„ๅ†ฐๅ†ทๆœบๅ™จใ€‚\\n<im\"},{\"url\":\"/10.ไบงๅ“ Sense/01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž/11.AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"relativePath\":\"/10.ไบงๅ“ Sense/01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž/11.AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"frontmatter\":{\"date\":\"2024-05-08 08:56:21\",\"title\":\"AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจๅคงๆจกๅž‹้‡ๅก‘ไบ’่”็ฝ‘ไบคไบ’็š„ๅฝ“ไธ‹๏ผŒPerplexity ๅนถๆœช้€‰ๆ‹ฉๆˆไธบโ€œไธ‹ไธ€ไธช Googleโ€๏ผŒ่€Œๆ˜ฏไปฅโ€œ็Ÿฅ่ฏ†ๅ‘็Žฐๅผ•ๆ“Žโ€็š„ๅ…จๆ–ฐๅฎšไฝ๏ผŒ็ฒพๅ‡†ๅˆ‡ๅ…ฅ็Ÿฅ่ฏ†ๅทฅไฝœ่€…็š„ๆ ธๅฟƒๅทฅไฝœๆตใ€‚ๆœฌๆ–‡่ทณๅ‡บๅ•็บฏ็š„ๆจกๅž‹่ƒฝๅŠ›ๅฏนๆฏ”๏ผŒไปŽไบงๅ“ Sense ไธŽๅทฅ็จ‹้€ป่พ‘็š„ๅŒ้‡่ง†่ง’๏ผŒๆทฑๅบฆๆ‹†่งฃ Perplexity ็š„็ ดๅฑ€ไน‹้“ใ€‚ๆˆ‘ไปฌๅฐ†ๆŽข่ฎจๅฎƒๅฆ‚ไฝ•้€š่ฟ‡ๅ็›ด่ง‰็š„ UI ๅˆ›ๆ–ฐ้‡ๅก‘ไบคไบ’่ตท็‚น๏ผŒๅฆ‚ไฝ•ๅœจๅทฅ็จ‹ๅฑ‚้ขๆญป็ฃ•ๅฐพ้ƒจๅปถ่ฟŸไธŽๅนป่ง‰ๆŽงๅˆถ๏ผŒไปฅๅŠๅฎƒๅฆ‚ไฝ•ๅˆฉ็”จๅทจๅคด็š„ๅˆฉๆถฆ็އๆŠคๅŸŽๆฒณๅฎž็Žฐ้”™ไฝ็ซžไบ‰ใ€‚ๆœ€็ปˆ๏ผŒๆˆ‘ไปฌๅฐ†่ง†็บฟๆŠ•ๅ‘ๆœชๆฅ๏ผŒไธ€็ชฅ AI ไปŽ่ขซๅŠจๅ“ๅบ”่ตฐๅ‘ไธปๅŠจๆŽข็ดข็š„ๆผ”่ฟ›่“ๅ›พใ€‚\",\"permalink\":\"/product-sense/perplexity-knowledge-worker\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"AI ๆœ็ดข\",\"็Ÿฅ่ฏ†ๅ‘็Žฐ\",\"ไบงๅ“ Sense\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"date\":\"2024-05-08 08:56:21\",\"capture\":\"1. ๅผ•่จ€\\nๅœจ AI ๆตชๆฝฎไธ‹๏ผŒๆœ็ดขๅผ•ๆ“Ž็š„่Œƒๅผๆญฃๅœจๅ‘็”Ÿ่ฝฌ็งปใ€‚ไฝœไธบๅฝ“ๅ‰ๅค‡ๅ—็žฉ็›ฎ็š„ AI ๆœ็ดขไบงๅ“๏ผŒPerplexity ๅนถๆฒกๆœ‰่ฏ•ๅ›พๆˆไธบโ€œไธ‹ไธ€ไธช Googleโ€๏ผŒ่€Œๆ˜ฏๅฐ†่‡ชๅทฑๅฎšไน‰ไธบ็Ÿฅ่ฏ†ๅ‘็Žฐๅผ•ๆ“Žใ€‚\\nๅฏนไบŽๆฏๅคฉ้œ€่ฆๅค„็†ๆตท้‡ไฟกๆฏใ€่ฟ›่กŒๅคๆ‚ๅ†ณ็ญ–็š„็Ÿฅ่ฏ†ๅทฅไฝœ่€…่€Œ่จ€๏ผŒๅฆ‚ไฝ•้ซ˜ๆ•ˆๅœฐโ€œๅŽปๅ™ชโ€ๅนถ่Žทๅ–้ซ˜ไฟกๅบฆ็Ÿฅ่ฏ†ๆ˜ฏๆ ธๅฟƒ่ฏ‰ๆฑ‚ใ€‚็ฌ”่€…ๅฐ†ไปŽไบงๅ“ไบคไบ’ใ€ๆŠ€ๆœฏๅทฅ็จ‹ใ€ๅ•†ไธš้€ป่พ‘ไธŽๆœชๆฅๆผ”่ฟ›ๅ››ไธช็ปดๅบฆ๏ผŒๅˆ†ๆž Perplexity ๆ˜ฏๅฆ‚ไฝ•้‡ๅก‘ไฟกๆฏ่Žทๅ–ๅทฅไฝœๆต็š„ใ€‚\\nๆœฌๆ–‡ๆ—จๅœจ้€š่ฟ‡ๅฏน Perplexity ็š„ๆทฑๅบฆไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž๏ผŒๅธฎๅŠฉ่ฏป่€…็†่งฃ AI ๆœ็ดขไบงๅ“็š„่ฎพ่ฎก้€ป่พ‘ไธŽ็”จๆˆทไฝ“้ชŒไผ˜ๅŒ–่ทฏๅพ„๏ผŒๅŒๆ—ถไธบ็Ÿฅ่ฏ†ๅทฅไฝœ่€…ๆไพ›ๅฏ่ฝๅœฐ็š„ๆ•ˆ็އๆๅ‡ๆ–นๆณ•๏ผŒๅนถๅœจ่ฟ‡็จ‹ไธญๅŸนๅ…ป็ป“ๆž„ๅŒ–ไบงๅ“ๅˆ†ๆžๆ€็ปดใ€‚\\n\"},{\"url\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/20.่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"relativePath\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/20.่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"frontmatter\":{\"date\":\"2024-06-15 22:23:00\",\"title\":\"่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡็ป“ๅˆไฟ็ฝ—ใƒปๆ ผ้›ทๅŽ„ๅง†ใ€ŠHow to Do Great Workใ€‹ๆ ธๅฟƒ่ง‚็‚น๏ผŒๆŽข่ฎจ AI ๅŽŸ็”Ÿๆ—ถไปฃๅคๅˆๅž‹ไบบๆ‰็š„ๆ ธๅฟƒ็‰น่ดจใ€‚AI ่ฎฉๅŸบ็ก€ๆ‰ง่กŒ่ƒฝๅŠ›ๅฟซ้€Ÿ่ดฌๅ€ผ๏ผŒไบบๆ‰็š„ๆ ธๅฟƒๅฃๅž’ไธๅ†ๆ˜ฏ่งฃๅ†ณ้—ฎ้ข˜๏ผŒ่€Œๆ˜ฏๆๅ‡บไผ˜่ดจ้—ฎ้ข˜ใ€ๅŸนๅ…ป้žๅ…ฑ่ฏ†ๅ“ๅ‘ณใ€‚ๅŒๆ—ถ้œ€ๅšๅฎˆๆ™บๅŠ›่ฏšๅฎž๏ผŒๆ‹ฅๆœ‰ๆ‰“็ ดๅธธ่ง„็š„ๅˆ›ๆ–ฐๅ‹‡ๆฐ”๏ผŒๅ€ŸๅŠฉ AI ๆ”พๅคงไธชไบบๆˆ้•ฟๆ ๆ†๏ผŒไปฅๅฐๅˆ‡ๅฃๅฎž่ทตๅฎž็ŽฐๆŒ‡ๆ•ฐ็บงๆˆ้•ฟใ€‚ไบบ็ฑป็‹ฌๆœ‰็š„ๅฅฝๅฅ‡ๅฟƒ๏ผŒๆ˜ฏ็ช็ ด AI ๅนณๅบธใ€ๅ–ๅพ—ๆฐๅ‡บๆˆๅฐฑ็š„ๆœ€็ปˆๅบ•ๆฐ”ใ€‚\",\"coverImg\":\"/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense/ai-native-composite-talents\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"AI\",\"ๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"date\":\"2024-06-15 22:23:00\",\"capture\":\"> \\n> ๅŽŸๆ–‡ๅœฐๅ€๏ผšhttps://paulgraham.com/greatwork.html\\n> \\n> ๅŽŸๆ–‡ไฝœ่€…๏ผšPaul Graham๏ผˆไฟ็ฝ—ยทๆ ผ้›ทๅŽ„ๅง†๏ผ‰๏ผŒ็ก…่ฐท้กถ็บงๅญตๅŒ–ๅ™จ Y Combinator ๅˆ›ๅง‹ไบบ๏ผŒ่ขซ่ช‰ไธบโ€œ็ก…่ฐทๅˆ›ไธšๆ•™็ˆถโ€๏ผŒไนŸๆ˜ฏ็ปๅ…ธๆŠ€ๆœฏๅ“ฒๅญฆ่‘—ไฝœใ€Š้ป‘ๅฎขไธŽ็”ปๅฎถใ€‹็š„ไฝœ่€…ใ€‚\\n> \\n> ๆ–‡็ซ ่ƒŒๆ™ฏ๏ผšๅŽŸๆ–‡ๆ˜ฏไฟ็ฝ—ยทๆ ผ้›ทๅŽ„ๅง†ไน‹ๅ‰ๅ‡†ๅค‡ไบ†ๅŠๅนดไน‹ไน…็š„้‡็ฃ…้•ฟๆ–‡๏ผŒไป–่ฏ•ๅ›พ่ฎฒๆ˜Ž็™ฝไธ€ไธช้€‚็”จไบŽๆฏไธชไบบ็š„ไธป้ข˜โ€”โ€”ๅฆ‚ไฝ•ๅšๆˆใ€Œๅคงไบ‹ใ€๏ผˆgreat work๏ผ‰ใ€‚้€š่ฏปๅ…จๆ–‡๏ผŒไฝ ไผšๅ‘็Žฐ๏ผŒ่ฟ™ๆ˜ฏไธ€็ฏ‡้žๅธธๅฎž็”จ็š„ๅทฅไฝœๆŒ‡ๅ—๏ผŒๅนถไธ”ๅ…ถไธญ็š„่ฎธๅคšๅ†…ๅฎน๏ผŒ้ƒฝไธŽAIๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰ๆ‰€้œ€่ฆๅ…ทๅค‡็š„็‰น่ดจ้žๅธธไธ€่‡ดใ€‚\\n 1. ๅผ•่จ€๏ผš\"},{\"url\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/21.ๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense\",\"relativePath\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/21.ๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense\",\"frontmatter\":{\"date\":\"2025-10-23 16:05:50\",\"title\":\"ๅฝ“โ€œๅฎž็Žฐโ€ไธๅ†ๆ˜ฏๅฃๅž’๏ผšๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense๏ผŸ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ AI ่ฎฉไปฃ็ ็”Ÿๆˆ็š„่พน้™…ๆˆๆœฌ่ถ‹่ฟ‘ไบŽ้›ถ๏ผŒโ€œๆŠ€ๆœฏๅฎž็Žฐโ€ไธๅ†ๆ˜ฏไธๅฏ้€พ่ถŠ็š„ๅฃๅž’๏ผŒโ€œไบงๅ“ๆดžๅฏŸโ€่ƒฝๆž„็ญ‘่ตทๆ–ฐ็š„ๆ ธๅฟƒๆŠคๅŸŽๆฒณใ€‚ๆœฌๆ–‡ๆ‹’็ป็Ž„ๅญฆ๏ผŒๅฐ†ๆŠฝ่ฑก็š„ ไบงๅ“ Sense ่งฃๆž„ไธบไธ‰ไธชๆ ธๅฟƒๆ•ฐๅญฆๅ…ฌๅผ๏ผŒๅนถๆไพ›ไธ€ๅฅ—ๅŸบไบŽโ€œ้€†ๅ‘ๅทฅ็จ‹โ€็š„ๅˆปๆ„็ปƒไน ๆŒ‡ๅ—๏ผŒๅŠฉๅŠ›ๅผ€ๅ‘่€…ๅœจ็ฎ—ๅŠ›่ฟ‡ๅ‰ฉ็š„ๆ—ถไปฃ๏ผŒๅฎŒๆˆไปŽโ€œไปฃ็ ๅทฅๅŒ โ€ๅˆฐโ€œไปทๅ€ผๅˆ›้€ ่€…โ€็š„่ฎค็Ÿฅ่ทƒ่ฟใ€‚\",\"sticky\":1,\"top\":true,\"categories\":[\"ไบงๅ“ Sense\",\"AI\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense/engineer-build-product-sense\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฝ“โ€œๅฎž็Žฐโ€ไธๅ†ๆ˜ฏๅฃๅž’๏ผšๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense๏ผŸ\",\"date\":\"2025-10-23 16:05:50\",\"capture\":\"1. ๅผ•่จ€\\nๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒไบงๅ“ Sense๏ผˆไบงๅ“ๆ„Ÿ๏ผ‰ ่ขซ่ง†ไธบไธ€็ง็Ž„ๅญฆใ€‚ๅฎƒไผผไนŽๆ˜ฏไน”ๅธƒๆ–ฏๅผ็š„็ตๅ…‰ไธ€็Žฐ๏ผŒๆˆ–ๆ˜ฏๅผ ๅฐ้พ™ๅผ็š„โ€œ็‹ฌๆ–ญไธ“่กŒโ€ใ€‚\\nไฝ†ๅฏนไบŽๅคงๅคšๆ•ฐๅทฅ็จ‹ๅธˆใ€ไบงๅ“็ป็†ไนƒ่‡ณ็‹ฌ็ซ‹ๅผ€ๅ‘่€…่€Œ่จ€๏ผŒๅฐ†่ƒฝๅŠ›ๅฏ„ๆ‰˜ไบŽโ€œๅคฉ่ต‹โ€ๆ˜ฏๅฑ้™ฉ็š„ใ€‚ๆˆ‘่ฎคไธบ๏ผŒไบงๅ“ Sense ๅนถ้žไธๅฏๆ‰ๆ‘ธ็š„้ป‘้ญ”ๆณ•๏ผŒ่€Œๆ˜ฏไธ€ๅฅ—็ป่ฟ‡้ซ˜้ข‘่ฎญ็ปƒๅŽๅ†…ๅŒ–ไธบๆœฌ่ƒฝ็š„ๆ€็ปด็ฎ—ๆณ•ใ€‚ ๅฐฑๅƒ่ต„ๆทฑ็จ‹ๅบๅ‘˜็œ‹ๅˆฐไธ€ๆฎตไปฃ็ ๅฐฑ่ƒฝๅ—…ๅ‡บ \\\"Code Smell\\\"๏ผˆไปฃ็ ๅผ‚ๅ‘ณ๏ผ‰๏ผŒ่ต„ๆทฑไบงๅ“ไบบไนŸ่ƒฝๅœจ็žฌ้—ดๅˆคๆ–ญไธ€ไธช้œ€ๆฑ‚ๆ˜ฏโ€œ็œŸ็—›็‚นโ€่ฟ˜ๆ˜ฏโ€œไผช้œ€ๆฑ‚โ€ใ€‚\\nไธ€ไธชๆˆๅŠŸ็š„ไบงๅ“ๅ†ณ็ญ–๏ผŒๅพ€ๅพ€ๅ‘็”Ÿๅœจไธ‰ไธช็ปดๅบฆ็š„ไบคๆฑ‡็‚น๏ผš\\n* ็”จๆˆทไปทๅ€ผๆดžๅฏŸ๏ผˆUser Value Insight๏ผ‰๏ผšไธไป…ๅฌๆ‡‚็”จๆˆท่ฏดโ€œๆƒณ่ฆๆ›ดๅฟซ็š„้ฉฌโ€๏ผŒๆ›ด่ƒฝๆดžๅฏŸไป–ๅ…ถๅฎžโ€œๆƒณๆ›ด\"},{\"url\":\"/10.ไบงๅ“ Sense/04.ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–/30.ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹่ฏปๅŽๆ„Ÿ\",\"relativePath\":\"/10.ไบงๅ“ Sense/04.ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–/30.ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹่ฏปๅŽๆ„Ÿ\",\"frontmatter\":{\"date\":\"2025-11-24 21:50:00\",\"title\":\"ๆ”พๅผƒๅขž้•ฟๆ‰งๅฟต๏ผŒไธบไป€ไนˆโ€œๅฐ่€Œ็พŽโ€ๆ‰ๆ˜ฏๅฏๆŒ็ปญไน‹่ทฏ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒ็ง‘ๆŠ€ไบ’่”็ฝ‘่กŒไธš็š„ๅ™ไบ‹้ƒฝ่ขซโ€œไธๆƒœไธ€ๅˆ‡ไปฃไปทๅฎž็Žฐ่ถ…็บฟๆ€งๅขž้•ฟโ€ๆ‰€ไธปๅฏผใ€‚ไปฟไฝ›ๅชๆœ‰ๆ‹ฟๅˆฐๅทจ้ข่ž่ต„ใ€็–ฏ็‹‚ๆ‹›ไบบใ€ๆˆไธบไผฐๅ€ผ็ ด็™พไบฟ็š„ๅบž็„ถๅคง็‰ฉ๏ผŒๆ‰็ฎ—ๅพ—ไธŠๆ˜ฏๆˆๅŠŸ็š„ๅˆ›ไธšใ€‚็„ถ่€Œ๏ผŒ่ฏปๅฎŒ่จๅธŒๅฐ”ยทๆ‹‰ๆ–‡ๅ‰ไบš็š„ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹ๅŽ๏ผŒ็ฌ”่€…่Žทๅพ—ไบ†ไธ€็งๆˆช็„ถไธๅŒ็š„ๅ•†ไธš่ง†่ง’๏ผšไผไธšๅญ˜ๅœจ็š„้ฆ–่ฆ็›ฎ็š„ไธๆ˜ฏไธบไบ†่ž่ต„ๅ’Œๆ‰ฉๅผ ๏ผŒ่€Œๆ˜ฏไธบไบ†้€š่ฟ‡่งฃๅ†ณ้—ฎ้ข˜ๆฅ่Žทๅพ—ๆŒ็ปญ็š„็›ˆๅˆฉใ€‚ ๆœฌๆ–‡็ป“ๅˆไนฆไธญ็š„ๆ ธๅฟƒ่ฎบ็‚นไธŽ่‡ช่บซ็š„็ ”ๅ‘่ง†่ง’๏ผŒๆŠŠๅฐ†่ฟ™ๆœฌไนฆ่ƒŒๅŽ็š„็ป่ฅ้€ป่พ‘ไธŽไบงๅ“ๅ“ฒๅญฆๆขณ็†ไธบๅ‡ ไธชๆ ธๅฟƒๅฑ‚้ข็š„ๆ€่€ƒใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense/small-rule-learn\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"ไบงๅ“ Sense\",\"ๅ•†ไธšๅŒ–\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆ”พๅผƒๅขž้•ฟๆ‰งๅฟต๏ผŒไธบไป€ไนˆโ€œๅฐ่€Œ็พŽโ€ๆ‰ๆ˜ฏๅฏๆŒ็ปญไน‹่ทฏ\",\"date\":\"2025-11-24 21:50:00\",\"capture\":\"ไนฆๅ๏ผšใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹\\nไฝœ่€…๏ผš[็พŽ] ่จๅธŒๅฐ”ยทๆ‹‰ๆ–‡ๅ‰ไบš\\nๆ ธๅฟƒๆ ‡็ญพ๏ผšๆž็ฎ€ๅˆ›ไธš๏ฝœ็คพๅŒบๆœฌไฝ๏ฝœๆŒ็ปญ็›ˆๅˆฉ๏ฝœๅˆ›ไฝœ่€…็ปๆตŽ\\nไธ€ๅฅ่ฏ็ฎ€่ฏ„๏ผšๅœจ็›ฒ็›ฎๅด‡ๆ‹œ่ง„ๆจกๆ‰ฉๅผ ็š„ๅ•†ไธš่ฏญๅขƒไธ‹๏ผŒ่ฟ™ๆ˜ฏไธ€ไปฝๅ†™็ป™็‹ฌ็ซ‹ๅˆ›ไฝœ่€…ไธŽๅผ€ๅ‘่€…็š„ๆธ…้†’ๆŒ‡ๅ—๏ผŒๆ•™ไผšๆˆ‘ไปฌๅฆ‚ไฝ•็”จๆœ€ๅฐ‘็š„่ต„ๆบ๏ผŒ่งฃๅ†ณ็œŸๅฎž็š„็—›็‚น๏ผŒๅนถ่Žทๅพ—้•ฟไน…็š„่‡ช็”ฑใ€‚\\nๆ›ดๅคšไนฆ็ฑๆŽจ่ไฟกๆฏๅฏๅ‚่€ƒ๏ผšไบงๅ“ Sense ไธŽๅ•†ไธšๅŒ–\\n 1. ็คพๅŒบๅ…ˆ่กŒ๏ผšไปŽโ€œๆˆ‘ๆ˜ฏ่ฐโ€ๅˆฐโ€œๆˆ‘่ƒฝไธบ่ฐ่งฃๅ†ณ้—ฎ้ข˜โ€\\nไผ ็ปŸๅ•†ไธš้€ป่พ‘ๅพ€ๅพ€ๆ˜ฏๅ…ˆๆž„ๆ€ไธ€ไธชๅฎๅคง็š„็‚นๅญ๏ผŒ้—ญ้—จ้€ ่ฝฆๆ‰“็ฃจไบงๅ“๏ผŒๆœ€ๅŽๅ†็ ธ้’ฑๅŽปๅธ‚ๅœบไธŠๅฏปๆ‰พ็›ฎๆ ‡็”จๆˆทใ€‚่€Œๆœฌไนฆๆๅ‡บไบ†ไธ€ไธช้ข ่ฆ†ๆ€ง็š„ๅๅ‘่ทฏๅพ„๏ผš็คพๅŒบ $\\\\rightarrow$ ้—ฎ้ข˜ $\\\\rightarrow$ ๆต็จ‹ $\\\\rightarrow$\"},{\"url\":\"/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/40.ๆดžๅฏŸๅŠ›ๆจกๅž‹\",\"relativePath\":\"/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/40.ๆดžๅฏŸๅŠ›ๆจกๅž‹\",\"frontmatter\":{\"date\":\"2025-11-14 16:00:00\",\"title\":\"ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผšๅฆ‚ไฝ•็œ‹้€ไบงๅ“ไธŽๆŠ€ๆœฏ่ƒŒๅŽ็š„็ณป็ปŸ้€ป่พ‘๏ผŸ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆ— ่ฎบๆ˜ฏๅšไบงๅ“ใ€ๆžๆŠ€ๆœฏ๏ผŒ่ฟ˜ๆ˜ฏๅบ”ๅฏนๆ—ฅๅธธๅทฅไฝœไธญ็š„ๅ„็งๆŒ‘ๆˆ˜๏ผŒไฝ ๆ˜ฏๅฆ้‡ๅˆฐ่ฟ‡่ฟ™ๆ ท็š„ๅ›ฐๅขƒ๏ผšๆ˜Žๆ˜ŽๆŒ‰็ป้ชŒ่กŒไบ‹๏ผŒๅดๅฑกๅฑก่ธฉๅ‘๏ผ›ๅˆš่งฃๅ†ณ่กจ้ข้—ฎ้ข˜๏ผŒ้šๆ‚ฃๅˆๅทๅœŸ้‡ๆฅใ€‚้—ฎ้ข˜ๆœชๅฟ…ๅ‡บๅœจๅŠชๅŠ›็จ‹ๅบฆ๏ผŒ่€ŒๅœจไบŽๆˆ‘ไปฌๅช็›ฏ็€่กจ่ฑก๏ผŒๅดๅฟฝ็•ฅไบ†่ƒŒๅŽ็œŸๆญฃ่ตทไฝœ็”จ็š„็ณป็ปŸ๏ผŒๆฒกๆœ‰็œ‹ๆ‡‚่—ๅœจ่ƒŒๅŽ็š„็ณป็ปŸใ€‚ไธบไป€ไนˆๅŒๆ ทๆ˜ฏ่งฃๅ†ณ้—ฎ้ข˜๏ผŒๆœ‰ไบบๅช่ƒฝโ€œๅคด็—›ๅŒปๅคดโ€๏ผŒๆœ‰ไบบๅด่ƒฝ็›ดๅ‡ปๆœฌ่ดจ๏ผŸ่ฟ™็ฏ‡ๆ–‡็ซ ๅฐ†็”จ้€šไฟ—ๆ˜“ๆ‡‚็š„ๆ–นๅผ๏ผŒๅธฆไฝ ๆ‹†่งฃไธ€ๅฅ—ๅฎž็”จ็š„ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผŒ่ฎฉๆˆ‘ไปฌๅญฆไผš้€่ฟ‡็Žฐ่ฑกๆŠ“ไฝๆœฌ่ดจ๏ผŒไปŽๆ นๆบไธŠ่งฃๅ†ณ้—ฎ้ข˜ใ€‚\",\"permalink\":\"/product-sense/insight-model\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"ไบงๅ“ Sense\",\"็ณป็ปŸๆดžๅฏŸๅŠ›\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผšๅฆ‚ไฝ•็œ‹้€ไบงๅ“ไธŽๆŠ€ๆœฏ่ƒŒๅŽ็š„็ณป็ปŸ้€ป่พ‘๏ผŸ\",\"date\":\"2025-11-14 16:00:00\",\"capture\":\"1. ่กจ่ฑก่ƒŒๅŽ่—็€ๅ†ณๅฎšไธ€ๅˆ‡็š„โ€œ็ณป็ปŸ้ป‘็›’โ€\\nๆˆ‘ไปฌๅœจๆ—ฅๅธธๅผ€ๅ‘ๆˆ–ไบงๅ“่ฎพ่ฎกไธญ๏ผŒๆ€ปๆ˜ฏ่ขซๅ„็งโ€œ่กจ่ฑกโ€ๅŒ…ๅ›ด๏ผšDAU ็ช็„ถไธ‹้™ไบ†ใ€็บฟไธŠๅ‡บ็Žฐไบ†ไธ€ไธชๅถ็Žฐ็š„ Bugใ€ๆŸไธชๅŠŸ่ƒฝ็š„่ฝฌๅŒ–็އไธๅŠ้ข„ๆœŸใ€‚ๆˆ‘ไปฌไน ๆƒฏไบ†็›ฏ็€่ฟ™ไบ›็œ‹ๅพ—่ง็š„็ป“ๆžœๆ‰พๅŽŸๅ› ๏ผŒๅดๅฟฝ็•ฅไบ†ไธ€ไธชๆ ธๅฟƒ็œŸ็›ธ๏ผšๆฏไธ€ไธช่กจ่ฑก่ƒŒๅŽ๏ผŒๅ…ถๅฎž้ƒฝ้š่—็€ไธ€ไธช่ฟ่ฝฌๅคๆ‚็š„โ€œ้ป‘็›’ๅญโ€๏ผŒๆญฃๆ˜ฏ่ฟ™ไธช้ป‘็›’ๅญๅ†ณๅฎšไบ†ไบ‹็‰ฉๅ‘ๅฑ•็š„ๅฎข่ง‚่ง„ๅพ‹ใ€‚ๆˆ‘ไปฌๅฏไปฅๆŠŠ่ฟ™ไธช้ป‘็›’ๅญ๏ผŒๅซๅšโ€œ็ณป็ปŸโ€ใ€‚\\n<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/product/system_tips.png\\\" style=\\\"width: 1\"},{\"url\":\"/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/50.็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“\",\"relativePath\":\"/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/50.็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“\",\"frontmatter\":{\"date\":\"2024-01-01 16:00:00\",\"title\":\"็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“\",\"description\":\"ๅฐ†็ปๆตŽๅญฆๆ ธๅฟƒๅŽŸ็†่žๅˆ่ฟ›ไบงๅ“่ฎพ่ฎกๅ…จ็”Ÿๅ‘ฝๅ‘จๆœŸ็š„ๆ–นๆณ•่ฎบไฝ“็ณป๏ผŒๆž„ๅปบ็†ๆ€ง็š„โ€œไบงๅ“Senseโ€ใ€‚\",\"categories\":[\"ไบงๅ“ Sense\"],\"permalink\":\"/product-sense/using-economics-thinking\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“\",\"date\":\"2024-01-01 16:00:00\",\"capture\":\"ๅœจไบงๅ“็ฎก็†็š„ๅนฟ้˜”ๅคฉๅœฐไธญ๏ผŒๆˆ‘ไปฌๅพ€ๅพ€ๅผบ่ฐƒโ€œไบงๅ“ Senseโ€๏ผˆProduct Sense๏ผ‰โ€”โ€”ไธ€็งๅฏน็”จๆˆท้œ€ๆฑ‚ใ€ๅธ‚ๅœบ้ฃŽๅ‘ๅ’ŒๆŠ€ๆœฏๆฝœๅŠ›็š„็›ด่ง‰ๆ€งๆ•ๆ‰ใ€‚็„ถ่€Œ๏ผŒ่ฟ™็ง Sense ็ป้žๅ‡ญ็ฉบ่€Œๆฅ็š„็ตๅ…‰ไน็Žฐ๏ผŒๅฎƒ้œ€่ฆ็จณๅ›บ็š„็†ๆ€งๅœฐๅŸบใ€‚ๅœจไผ—ๅคšๅญฆ็ง‘ไธญ๏ผŒ็ปๆตŽๅญฆๆ— ็–‘ๆไพ›ไบ†ๆœ€ๅบ•ๅฑ‚็š„้€ป่พ‘ๆ”ฏๆŸฑใ€‚\\n็ปๆตŽๅญฆไธไป…ไป…ๆ˜ฏๅ…ณไบŽ้‡‘้’ฑๅ’Œๅธ‚ๅœบ็š„็ง‘ๅญฆ๏ผŒๅฎƒๆ›ดๆ˜ฏไธ€็ง่งฃๅ†ณ้—ฎ้ข˜ใ€ไผ˜ๅŒ–ๅ†ณ็ญ–็š„ๆ–นๅผใ€‚ๅฏนไบงๅ“ไบบ่€Œ่จ€๏ผŒๅ€Ÿ้‰ด็ปๆตŽๅญฆๆ€็ปด๏ผŒๆ„ๅ‘ณ็€่ƒฝๅคŸ็†ๆ™บๅœฐๆƒ่กกๅˆฉๅผŠ๏ผŒๆ›ด็ฒพๅ‡†ๅœฐๅฎšไปท๏ผŒๆ›ดๆทฑๅˆปๅœฐๆดžๅฏŸไบบๆ€ง๏ผŒๆœ€็ปˆๅœจ้”™็ปผๅคๆ‚็š„็บฆๆŸๆกไปถไธ‹๏ผŒๆฑ‚่งฃๅ‡บ็”จๆˆทไปทๅ€ผไธŽๅ•†ไธšไปทๅ€ผๅนถ้‡็š„ๆœ€ไผ˜่งฃใ€‚\\n 1. ็”Ÿๆดป้‡Œ็š„็ปๆตŽๅญฆๆดžๅฏŸโ€”โ€”ๆดžๅฏŸไธไป…ๆ˜ฏๅ…ณไบŽ้œ€ๆฑ‚๏ผŒๆ›ดๆ˜ฏๅ…ณไบŽๆˆๆœฌไธŽๅšๅผˆ\\nๆˆ‘ไปฌๅธธ่ขซๆ—ฅๅธธ็Žฐ่ฑก็š„โ€œๅˆ็†ๆ€งโ€ๆ‰€่ฟทๆƒ‘๏ผŒ่€Œ็ปๆตŽๅญฆ\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/00.AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/00.AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ\",\"frontmatter\":{\"title\":\"AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"date\":\"2026-03-15 16:00:00\",\"description\":\"ๅ…จๆ™ฏๅผ AI ๅญฆไน ไธŽๅฎž่ทต็Ÿฅ่ฏ†ๅบ“๏ผŒ็ณป็ปŸๆฒ‰ๆท€ AI Agent ่ฎพ่ฎกๆจกๅผใ€ๅคงๆจกๅž‹ๅทฅ็จ‹ๅŒ–่ฝๅœฐใ€ๅผ€ๆบๅฐ้กน็›ฎๅŠ็คพๅŒบๆดปๅŠจ็ป้ชŒๆ€ป็ป“๏ผŒๆŒ็ปญ่ฟญไปฃไปŽ็†่ฎบๅˆฐ็”Ÿไบง็š„ๅฎŒๆ•ดๆ–นๆณ•่ฎบใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/llm_learning_bg_1.png\",\"permalink\":\"/ai-learning/overview\",\"categories\":[\"ai-practice\"],\"tags\":[\"AI\",\"LLM\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"date\":\"2026-03-15 16:00:00\",\"capture\":\"<!-- ็ฒพ้€‰ไธ“้ข˜ --\\n<script setup>\\nimport ArticleCardList from '@fragment/components/ArticleCardList.vue'\\nimport { aiLearningCategories } from '@fragment/data/ai-learning-data'\\n</script>\\n<ArticleCardList :categories=\\\"aiLearningCategories\\\" />\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/01.Agentๆฆ‚่งˆไธŽ็ปผ่ฟฐ\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/01.Agentๆฆ‚่งˆไธŽ็ปผ่ฟฐ\",\"frontmatter\":{\"date\":\"2026-02-12 22:31:00\",\"title\":\"ไปŽๆ็คบ่ฏๅˆฐๆ•ฐๅญ—ๅ‘˜ๅทฅ๏ผšAI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšAI ็š„่ฟ›ๅŒ–ๆญฃ็ปๅކไปŽโ€œๅฏน่ฏๆก†โ€ๅ‘โ€œๆ•ฐๅญ—ๅ‘˜ๅทฅโ€็š„ๆ นๆœฌๆ€ง่ทจ่ถŠใ€‚ๆœฌๆ–‡ๆ˜ฏไธ€็ฏ‡ๅ…ณไบŽ AI Agent ็š„ๅ…จๆ™ฏๆทฑๅบฆ็ปผ่ฟฐ๏ผŒๆ—จๅœจ่งฃๆž„ๆ™บ่ƒฝไฝ“ๅฆ‚ไฝ•ไปŽ็ฎ€ๅ•็š„ Prompt ๅ“ๅบ”่€…๏ผŒๆผ”ๅ˜ไธบๅ…ทๅค‡่‡ชไธป็›ฎๆ ‡ๆ‹†่งฃใ€้•ฟ็ŸญๆœŸ่ฎฐๅฟ†ไธŽๅคๆ‚็Žฏๅขƒไบคไบ’่ƒฝๅŠ›็š„โ€œๆ‰ง่กŒ่€…โ€ใ€‚ๆˆ‘ไปฌๅฐ†ๆทฑๅบฆๆ‹†่งฃ Agent ็š„ๅ››ๅคงๆŠ€ๆœฏๅŸบ็Ÿณ๏ผˆ่ง„ๅˆ’ใ€่ฎฐๅฟ†ใ€ๅทฅๅ…ทใ€่กŒๅŠจ๏ผ‰๏ผŒๅนถ่ฏฆ็ป†ๅ‰–ๆžไปŽ้€š็”จๅž‹ Agent ๅˆฐๅคšๆ™บ่ƒฝไฝ“ๅไฝœ๏ผˆMAS๏ผ‰ใ€ๅ†ๅˆฐ่ฟˆๅ‘ Agent OS ๆ—ถไปฃ็š„ OpenClaw ็ญ‰ไบ”ๅคงๆผ”่ฟ›ๅฝขๆ€ใ€‚ไธไป…ๆŽข่ฎจไบ†ๆŠ€ๆœฏๆžถๆž„็š„ๅฎž็Žฐ๏ผŒๆ›ดๆญ็คบไบ†่ฝฏไปถๅทฅ็จ‹ไปŽโ€œไปฅไบบไธบไธญๅฟƒโ€ๅ‘โ€œไปฅ AI ไธบไธญๅฟƒโ€็š„่Œƒๅผ้ฉๅ‘ฝโ€”โ€”ๅœจ Agent ้ฉฑๅŠจ็š„ๆ–ฐ็บชๅ…ƒ๏ผŒๆ ธๅฟƒ็ซžไบ‰ๅŠ›ๅฐ†ไธๅ†ๆ˜ฏไปฃ็ ้‡๏ผŒ่€Œๆ˜ฏ่ฐƒๅบฆ AI ้—ญ็Žฏ่งฃๅ†ณไธšๅŠก้—ฎ้ข˜็š„่ƒฝๅŠ›ใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/llm_learning_bg_1.png\",\"permalink\":\"/ai-agent/overview\",\"top\":true,\"categories\":[\"ai-practice\"],\"tags\":[\"AI Agent\",\"Agent\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไปŽๆ็คบ่ฏๅˆฐๆ•ฐๅญ—ๅ‘˜ๅทฅ๏ผšAI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐ\",\"date\":\"2026-02-12 22:31:00\",\"capture\":\"1. ไป€ไนˆๆ˜ฏ Agent๏ผŸโ€”โ€”ไปŽโ€œๅทฅๅ…ทโ€ๅˆฐโ€œๅฎžไฝ“โ€็š„่ฟ›ๅŒ–\\n> ๆ ธๅฟƒ้€ป่พ‘๏ผš็Žฐไปฃ Agent ็š„ๆœฌ่ดจๆ˜ฏ \\\"LLM (ๅคง่„‘) + ่ง„ๅˆ’ไธŽ่ฎฐๅฟ† (ๅฐ่„‘) + ๅทฅๅ…ท่ฐƒ็”จ (ๆ‰‹่„š)\\\"ใ€‚LLM ็š„ๆตท้‡็Ÿฅ่ฏ†ๅ‚จๅค‡่ฎฉ Agent ่ƒฝๅคŸ็ฒพๅ‡†็†่งฃๅคๆ‚ๆŒ‡ไปค๏ผŒๅนถๅฐ†ๅ…ถ่ฝฌๅŒ–ไธบๅฎž้™…่กŒๅŠจใ€‚\\nๅœจ AI ้ข†ๅŸŸ๏ผŒAgent๏ผˆๆ™บ่ƒฝไฝ“๏ผ‰ ๅนถ้žไธ€ไธชๆ–ฐๆฆ‚ๅฟต๏ผŒไฝ† LLM๏ผˆๅคง่ฏญ่จ€ๆจกๅž‹๏ผ‰็š„็ˆ†ๅ‘่ต‹ไบˆไบ†ๅฎƒ็œŸๆญฃ็š„โ€œ็ต้ญ‚โ€ใ€‚็ฎ€ๅ•ๆฅ่ฏด๏ผŒAgent ๆ˜ฏไธ€็ง่ƒฝๅคŸๆ„Ÿ็Ÿฅ็Žฏๅขƒใ€่‡ชไธปๅ†ณ็ญ–ๅนถๆ‰ง่กŒไปปๅŠก็š„ๆ™บ่ƒฝๅฎžไฝ“ใ€‚\\nๅฆ‚ๆžœ่ฏดไผ ็ปŸ็š„ AI ๆ˜ฏไธ€ไธชโ€œ้—ฎ็ญ”ๆœบโ€๏ผŒ้‚ฃไนˆ Agent ๅฐฑๆ˜ฏไธ€ไธชโ€œๆ‰ง่กŒ่€…โ€ใ€‚ๅฎƒๅ…ทๅค‡ไปฅไธ‹ๅ››ๅคงๆ ธๅฟƒ็‰น่ดจ๏ผš\\n* ่‡ชไธปๆ€ง (Autonomy)๏ผš ๆ— ้กปๆ—ถๅˆป็›ฏ็€๏ผŒ่ฎพๅฎš\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/02.Agent ่ง„ๅˆ’ๆจกๅ—\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/02.Agent ่ง„ๅˆ’ๆจกๅ—\",\"frontmatter\":{\"date\":\"2026-02-24 20:52:37\",\"title\":\"ๆŽขๅฏป Agent ๅ†ณ็ญ–ไธญๆžข๏ผš่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„่ง„ๅˆ’่Œƒๅผ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฆ‚ๆžœ่ฏด LLM ๆ˜ฏ Agent ็š„ๅคง่„‘๏ผŒ่ง„ๅˆ’ๆจกๅ—ๅˆ™ๆ˜ฏๅ…ถ่ดŸ่ดฃๅคๆ‚ๅ†ณ็ญ–็š„โ€œๅ‰้ขๅถโ€ใ€‚ๆœฌๆ–‡ๆทฑๅบฆ่งฃๆž„ไบ† Agent ่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„ๆ ธๅฟƒ่ทฏๅพ„๏ผšไปŽไปปๅŠกๅˆ†่งฃ็š„้™ไฝŽ็†ตๅ€ผ๏ผŒๅˆฐ่‡ชๆˆ‘ๅๆ€็š„้—ญ็ŽฏๆŽงๅˆถใ€‚้€š่ฟ‡ๅฏนๆฏ”โ€œ่พน่ตฐ่พน็œ‹โ€็š„ ReAct ๅŠจๆ€ๅ“ๅบ”ๆจกๅผไธŽโ€œ่ฐ‹ๅฎšๅŽๅŠจโ€็š„ Plan-and-Execute ้ข„็ผ–ๆŽ’ๆจกๅผ๏ผŒๆœฌๆ–‡ๆญ็คบไบ†ๅฆ‚ไฝ•้’ˆๅฏน้•ฟ้“พ่ทฏๅทฅ็จ‹ไปปๅŠกๆž„ๅปบ็จณๅฅ็š„ๅ†ณ็ญ–่Œƒๅผ๏ผŒๅŠฉไฝ ๅฎŒๆˆไปŽโ€œ็ฎ€ๅ•ๆ็คบ่ฏโ€ๅˆฐโ€œๅคๆ‚ๆžถๆž„่ฎพ่ฎกโ€็š„่ฎค็Ÿฅ่ทƒ่ฟใ€‚\",\"permalink\":\"/ai-agent/planning-module\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆŽขๅฏป Agent ๅ†ณ็ญ–ไธญๆžข๏ผš่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„่ง„ๅˆ’่Œƒๅผ\",\"date\":\"2026-02-24 20:52:37\",\"capture\":\"1. ๅผ•่จ€\\nๅœจไบบ็ฑปๅคง่„‘ไธญ๏ผŒๅ‰้ขๅถ็šฎๅฑ‚่ดŸ่ดฃๅคๆ‚็š„่ฎค็Ÿฅ่ง„ๅˆ’ใ€ๅ†ณ็ญ–ๅ’Œ็คพไบค่กจ็Žฐใ€‚ๅฏนไบŽไธ€ไธช Agent ่€Œ่จ€๏ผŒ่ง„ๅˆ’ๆจกๅ—ๆญฃๆ˜ฏๅฎƒ็š„โ€œๅ‰้ขๅถโ€โ€”โ€”ๅฎƒๅ†ณๅฎšไบ† Agent ๆ˜ฏๅชไผšๆœบๆขฐๅ“ๅบ”ๆŒ‡ไปค็š„โ€œๆœจๅถโ€๏ผŒ่ฟ˜ๆ˜ฏ่ƒฝ็‹ฌ็ซ‹ๆ‹†่งฃ็›ฎๆ ‡ใ€ๅœจๅคๆ‚็Žฏๅขƒไธญๅฏปๆ‰พๆœ€ไผ˜่ทฏๅพ„็š„โ€œๆ•ฐๅญ—ๅ‘˜ๅทฅโ€ใ€‚\\nAgent ็š„่ง„ๅˆ’่ƒฝๅŠ›ไธป่ฆ็”ฑไธค้ƒจๅˆ†ๅๅŒ้ฉฑๅŠจ๏ผšไปปๅŠกๅˆ†่งฃไธŽ่‡ชๆˆ‘ๅๆ€ใ€‚\\n 2. ไปปๅŠกๅˆ†่งฃ๏ผšๅŒ–็นไธบ็ฎ€็š„็ญ–็•ฅ\\nไปปๅŠกๅˆ†่งฃๆ˜ฏๆŒ‡ๅฐ†ไธ€ไธชๅคๆ‚็š„็›ฎๆ ‡ๆˆ–ไปปๅŠกๆ‹†่งฃไธบๅคšไธชๅ…ทไฝ“ใ€ๅฏๆ“ไฝœ็š„็š„ๅญไปปๅŠก๏ผŒไปฅไพฟ Agent ่ƒฝๅคŸๆ›ด้ซ˜ๆ•ˆๅœฐๆ‰ง่กŒๅ’Œ็ฎก็†ใ€‚ๅ…ถๆœฌ่ดจๆ˜ฏ้™ไฝŽ้—ฎ้ข˜็š„็†ตๅ€ผ๏ผŒ่ฎฉ Agent ่ƒฝๅคŸ่š็„ฆไบŽๆฏไธ€ไธช็ป†ๅฐ็š„็กฎๅฎšๆ€งๆญฅ้ชค๏ผŒไปŽ่€Œ้€ๆญฅ่งฃๅ†ณ้—ฎ้ข˜๏ผŒๆ้ซ˜่ง„ๅˆ’็š„ๅฏ่กŒๆ€งๅ’Œๆ‰ง่กŒๆ•ˆ็އใ€‚\\nๆ นๆฎโ€œ่ง„ๅˆ’โ€ไธŽโ€œๆ‰ง่กŒโ€ๅ‘\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/03.ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผšๅฐ†้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/03.ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผšๅฐ†้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"frontmatter\":{\"date\":\"2026-02-06 15:48:23\",\"title\":\"ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผš้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผš้ขๅฏนๅฑ‚ๅ‡บไธ็ฉท็š„ Promptใ€MCPใ€Skills ๅ’Œ Subagents๏ผŒๅพˆๅคšๅผ€ๅ‘่€…ๅ’Œไบงๅ“็ป็†ๅธธๆ„Ÿๅˆฐๅ›ฐๆƒ‘๏ผš่ฟ™ไบ›็ป„ไปถ็ฉถ็ซŸๆ˜ฏ้‡ๅค้€ ่ฝฎๅญ๏ผŒ่ฟ˜ๆ˜ฏๅ„ๅธๅ…ถ่Œ็š„็งฏๆœจ๏ผŸๆœฌๆ–‡ๅฐ†ๆทฑๅบฆๆ‹†่งฃ Agentic ็”Ÿๆ€็š„ไบ”ๅคงๆ ธๅฟƒๆ”ฏๆŸฑ๏ผŒๆญ็คบๅฆ‚ไฝ•้€š่ฟ‡ไผ˜้›…็š„ๆžถๆž„่ฎพ่ฎกๅฎž็ŽฐๅๅŒ้—ญ็Žฏ๏ผŒๅฐ†้›ถๆ•ฃ็š„ AI ็ป„ไปถๆ‹ผ่ฃ…ๆˆไธ€ๅฅ—ๅฏๆŒ็ปญ่ฟ›ๅŒ–็š„ AI ๅŽŸ็”Ÿๆ“ไฝœ็ณป็ปŸ๏ผŒๆŠŠ็ขŽ็‰‡ๅŒ–็š„ AI ่ƒฝๅŠ›่ฝฌๅŒ–ไธบ้ซ˜ๅฏ็”จ็š„็”ŸไบงๅŠ›ๆตใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/ai-practice/agent_components_zh.png\",\"permalink\":\"/ai-agent/composition-ai-components\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"],\"tags\":[\"Agent\",\"AI\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผš้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"date\":\"2026-02-06 15:48:23\",\"capture\":\"<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/ai-practice/agent_components_zh.png\\\" style=\\\"width: 100%; border-radius: 8px; margin-bottom: 20px;\\\" alt=\\\"about site background\\\">\\n 1. ๅผ•่จ€\\n> ้—ฎ้ข˜๏ผšๅœจๆ™บ่ƒฝไฝ“็”Ÿๆ€้‡Œ๏ผŒๅ„ไธช็ป„ไปถๅˆฐๅบ•ๆ˜ฏๆ€ŽไนˆๅๅŒๅทฅไฝœ็š„๏ผŸ\\nๅฝ“ๅ‰๏ผŒAgent๏ผˆๆ™บ่ƒฝไฝ“๏ผ‰ๆŠ€ๆœฏๅ‘ๅฑ•่ฟ…็Œ›๏ผŒๅ„็ง่ฎพ่ฎกๆจกๅผใ€ๆ ธๅฟƒ็ป„ไปถไธŽๅทฅไฝœๆœบๅˆถๅฑ‚ๅ‡บไธ็ฉทใ€‚้ขๅฏน็นๆ‚็š„ๆ™บ่ƒฝไฝ“็”Ÿๆ€\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/10.Agent SKills\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/10.Agent SKills\",\"frontmatter\":{\"date\":\"2026-03-05 23:11:25\",\"title\":\"ๅฆ‚ไฝ•็ผ–ๅ†™ไธ€ไธช้ซ˜ๅฏ็”จ็š„ Agent Skill๏ผŸไปŽๆœบๅˆถๆ‹†่งฃๅˆฐ็”Ÿไบงๅฎž่ทตๆŒ‡ๅ—\",\"description\":\"ๅคง่ฏญ่จ€ๆจกๅž‹ๅœจ็‰นๅฎšๅทฅ็จ‹้ข†ๅŸŸๅธธ้ขไธดโ€œ็Ÿฅ่€Œไธ่กŒโ€็š„ๅ›ฐๅขƒใ€‚ๆœฌๆ–‡ๆทฑๅบฆๆ‹†่งฃ Anthropic ๆœ€ๆ–ฐๆŽจๅ‡บ็š„ Agent Skills ่ง„่Œƒ๏ผŒๆญ็ง˜ๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆธ่ฟ›ๅผๆŠซ้œฒไธŽไธ‰็บงๅŠ ่ฝฝๆœบๅˆถ๏ผŒๅœจๆŽงๅˆถ Token ๆˆๆœฌ็š„ๅŒๆ—ถๆ˜พ่‘—ๆๅ‡ Agent ็š„ไปปๅŠกๆ‰ง่กŒ็ฒพๅบฆใ€‚ๆ–‡็ซ ๆถต็›–ไบ†ไปŽๆ–‡ไปถๅคนๆžถๆž„่ฎพ่ฎกๅˆฐๅฎžๆˆ˜ git-workflow ็ผ–ๅ†™็š„ๅ…จๆต็จ‹ๆŒ‡ๅ—๏ผŒๅŠฉไฝ ๅฐ†้›ถๆ•ฃ็š„ Prompt ่ฝฌๅŒ–ไธบๆ ‡ๅ‡†ๅŒ–็š„ๆ•ฐๅญ—่ต„ไบงใ€‚\",\"permalink\":\"/ai-agent/skills-practice-summary\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\",\"Agent ็ณปๅˆ—\"],\"tags\":[\"Agent Skills\",\"Agent\",\"AI\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฆ‚ไฝ•็ผ–ๅ†™ไธ€ไธช้ซ˜ๅฏ็”จ็š„ Agent Skill๏ผŸไปŽๆœบๅˆถๆ‹†่งฃๅˆฐ็”Ÿไบงๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-03-05 23:11:25\",\"capture\":\"1. ๅผ•่จ€๏ผšAgent Skills ๆ˜ฏไป€ไนˆ๏ผŸ\\nๅœจๅคง่ฏญ่จ€ๆจกๅž‹๏ผˆLLM๏ผ‰็š„่ฝๅœฐๅฎž่ทตไธญ๏ผŒๅผ€ๅ‘่€…็ปๅธธ้ขไธดไธ€ไธชๅ…ฑๆ€งๆŒ‘ๆˆ˜๏ผšๆจกๅž‹ๅœจ็‰นๅฎš็ป†ๅˆ†้ข†ๅŸŸๅพ€ๅพ€ๅค„ไบŽโ€œ็Ÿฅ่€Œไธ่กŒโ€็š„็Šถๆ€โ€”โ€”่™ฝ็„ถๆ‹ฅๆœ‰ๅšๆ‚็š„็Ÿฅ่ฏ†๏ผŒๅด็ผบไนๆ‰ง่กŒๅคๆ‚ไปปๅŠก็š„ไธ“ไธš่ทฏๅพ„ใ€‚\\nไธบไบ†่งฃๅ†ณ่ฟ™ไธ€็—›็‚น๏ผŒAnthropic ๅœจๅ…ถๆ——่ˆฐๆจกๅž‹ Claude 3.7 ็ณปๅˆ—ไธญๆญฃๅผๆŽจๅ‡บไบ† Claude Skillsใ€‚่ฟ™ไธ€ๅŠŸ่ƒฝๅฐ† LLM ็š„่ƒฝๅŠ›ๅฐ่ฃ…ไธบ็›ด่ง‚็š„โ€œ่ƒฝๅŠ›ๆ–‡ไปถๅคนโ€๏ผŒๆžๅคงๆๅ‡ไบ†ๆ™บ่ƒฝไฝ“็š„ๅฎž็”จๆ€ง๏ผŒๅนถ่ฟ…้€Ÿๅœจๅผ€ๅ‘่€…็คพๅŒบๅผ•ๅ‘็ƒญ่ฎฎใ€‚2025 ๅนด 12 ๆœˆ๏ผŒ้š็€ Anthropic ่”ๅˆ็”Ÿๆ€ไผ™ไผดๆญฃๅผๅผ€ๆบ Agent Skills ่ง„่Œƒ๏ผŒAgent Skills ็š„ๆ ‡ๅ‡†ๅŒ–ไนŸๆญฃๅผๅผ€ๅฏ๏ผˆ่€Œ่ฟ™ไธ€่ƒฝๅŠ›\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/10.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Deep Research Agent\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/10.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Deep Research Agent\",\"frontmatter\":{\"date\":\"2026-04-02 00:38:37\",\"title\":\"ๅฃฐๆ˜Žๅผๅคšๆ™บ่ƒฝไฝ“ๅๅŒ๏ผšๅŸบไบŽ Claude Agent SDK ๆž„ๅปบๆทฑๅบฆ็ ”็ฉถ็ณป็ปŸ\",\"description\":\"ๅฏนๅคๆ‚็ ”็ฉถไปปๅŠกๆ—ถ๏ผŒๅ•ๆ™บ่ƒฝไฝ“๏ผˆSingle-Agent๏ผ‰ๅธธๅ› ไธŠไธ‹ๆ–‡็จ€้‡Šๅ’Œ้€ป่พ‘็–ฒๅŠณๅฏผ่‡ดไบงๅ‡บ่ดจ้‡ไธ‹้™ใ€‚ๆœฌๆ–‡ๅŸบไบŽ Claude Agent SDK ๆŽข่ฎจไบ†ๅคšๆ™บ่ƒฝไฝ“็ณป็ปŸ๏ผˆMAS๏ผ‰็š„ๅทฅ็จ‹ๅŒ–่ฝๅœฐใ€‚้€š่ฟ‡โ€œLead + Subagentโ€็š„ๅฃฐๆ˜Žๅผๆžถๆž„๏ผŒๆˆ‘ไปฌๅฐ†ๆทฑๅบฆ็ ”็ฉถๆ‹†่งฃไธบๆœ็ดขใ€้‡ๅŒ–ๅˆ†ๆžใ€ๅฏ่ง†ๅŒ–็ป˜ๅ›พไธŽ็ป“ๆž„ๅŒ–ๅ†™ไฝœๅ››ไธช็‹ฌ็ซ‹็Žฏ่Š‚ใ€‚\",\"permalink\":\"/ai-agent/deepresearch-agent\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"],\"tags\":[\"Agent SDK\",\"Multi-Agent\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฃฐๆ˜Žๅผๅคšๆ™บ่ƒฝไฝ“ๅๅŒ๏ผšๅŸบไบŽ Claude Agent SDK ๆž„ๅปบๆทฑๅบฆ็ ”็ฉถ็ณป็ปŸ\",\"date\":\"2026-04-02 00:38:37\",\"capture\":\"> ๅฎž่ทต่ฏๆ˜Ž๏ผŒ้€š่ฟ‡ไธฅๆ ผ็š„่Œ่ดฃ้š”็ฆป๏ผˆๅฆ‚ Lead Agent ไป…่ดŸ่ดฃ่ฐƒๅบฆ๏ผ‰ไธŽๅทฅ็จ‹่พน็•Œ็บฆๆŸ๏ผˆๅฆ‚ Researcher ๅผบๅˆถๆๅ–้‡ๅŒ–ๆŒ‡ๆ ‡๏ผ‰๏ผŒMAS ่ƒฝๅคŸ็”Ÿๆˆๅ…ทๅค‡ไธ“ไธšๆ•ฐๆฎๅ›พ่กจๆ”ฏๆ’‘็š„ๆทฑๅบฆๆŠฅๅ‘Šใ€‚ๆœฌๆ–‡ๅฐ†ไปŽๆžถๆž„่ฎพ่ฎกใ€ๅทฅไฝœๆต็ผ–ๆŽ’ๅˆฐ PDF ่‡ชๅŠจ็”Ÿๆˆ๏ผŒๅฎŒๆ•ด่ฟ˜ๅŽŸ่ฟ™ไธ€โ€œAI ้ฉฑๅŠจ่ฐƒ็ ”ๆตๆฐด็บฟโ€็š„ๆž„ๅปบ่ฟ‡็จ‹๏ผŒๅนถๅฑ•็คบๅ…ถๅœจๆ•™่‚ฒ็ ”็ฉถๆกˆไพ‹ไธญ็š„ๅฎžๆˆ˜ๆ•ˆๆžœใ€‚\\n 1. ๅผ•่จ€\\nๅœจ AI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐไธ€ๆ–‡ไธญ๏ผŒๆˆ‘ไปฌๆŽข่ฎจไบ†ๅคšๆ™บ่ƒฝไฝ“็ณป็ปŸ๏ผˆMulti-Agent Systems, MAS๏ผ‰็š„็†่ฎบไผ˜ๅŠฟใ€‚ไปŽ็†่ฎบๅฑ‚้ข็œ‹๏ผŒ่ฟ™็ฑป็ณป็ปŸ้€š่ฟ‡ไปปๅŠกๅˆ†่งฃใ€่Œ่ดฃ้š”็ฆปไธŽๅนถ่กŒๅไฝœๆœบๅˆถ๏ผŒๆœ‰ๆ•ˆ็ช็ ดไบ†ๅ•ๆ™บ่ƒฝไฝ“ๅœจๅคๆ‚ไปปๅŠกไธญ็š„่ƒฝๅŠ›็“ถ้ขˆโ€”โ€”ไธไป…ๆ˜พ่‘—ๆๅ‡ไบ†ไปปๅŠกๅค„็†็š„ๅคฉ่Šฑๆฟ\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/20.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Agent\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/20.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Agent\",\"frontmatter\":{\"date\":\"2026-03-06 00:37:58\",\"title\":\"ๅ‘Šๅˆซๆ‰‹ๅŠจ Loop๏ผšๅ€ŸๅŠฉ Claude Agent SDK ๅฎž็Žฐ Agent ็š„ๅทฅ็จ‹ๅŒ–้—ญ็Žฏ\",\"description\":\"ๅœจ Agent ๆŠ€ๆœฏๅฟซ้€Ÿ่ตฐๅ‘ๆˆ็†Ÿ็š„ไปŠๅคฉ๏ผŒๅฆ‚ไฝ•ไฝŽๆˆๆœฌๆž„ๅปบๅ…ทๅค‡โ€œ่‡ชไธปๆดžๅฏŸโ€่ƒฝๅŠ›็š„ๆ™บ่ƒฝไฝ“๏ผŸๆœฌๆ–‡ๆทฑๅบฆๆ‹†่งฃ Anthropic ๅฎ˜ๆ–นๆŽจๅ‡บ็š„ Claude Agent SDK๏ผŒ่งฃๆžๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆ‰˜็ฎก Agent Loop ๅ’Œไผš่ฏๆŒไน…ๅŒ–ๆœบๅˆถ๏ผŒ่งฃๅ†ณ Agent ๅผ€ๅ‘ไธญ็š„็Šถๆ€็ฎก็†้šพ้ข˜ใ€‚ๆ–‡็ซ ้€š่ฟ‡ไปŽๆ— ็Šถๆ€ไบคไบ’ๅˆฐๅ…ทๅค‡ๆตๅผ่พ“ๅ‡บ่ƒฝๅŠ›็š„ TUI ่‡ชๅŠจๅŒ–ๅทฅๅ…ท่ฟ›้˜ถๅฎžๆˆ˜๏ผŒๅฑ•็คบไบ†ๆž„ๅปบไฝŽๆˆๆœฌใ€้ซ˜ๅฏ็”จ AI ๅŽŸ็”Ÿๅบ”็”จ็š„ๅฎŒๆ•ด่ทฏๅพ„ใ€‚\",\"permalink\":\"/ai-practice/claude-agent-sdk-basic-build\",\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"],\"tags\":[\"Agent\",\"Agent SDK\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ‘Šๅˆซๆ‰‹ๅŠจ Loop๏ผšๅ€ŸๅŠฉ Claude Agent SDK ๅฎž็Žฐ Agent ็š„ๅทฅ็จ‹ๅŒ–้—ญ็Žฏ\",\"date\":\"2026-03-06 00:37:58\",\"capture\":\"1. ๅผ•่จ€\\nๅฝ“ๅ‰๏ผŒAI Agent ็š„ๆผ”่ฟ›ๅทฒ่ฟ›ๅ…ฅไธ€ไธชๅดญๆ–ฐ็š„้˜ถๆฎตโ€”โ€”ไปŽ้œ€่ฆ้ข‘็นไบบๅทฅๅนฒ้ข„็š„\\\"ๅŠ่‡ชๅŠจ\\\"ๆจกๅผ๏ผŒ่ฟ›ๅŒ–ไธบ่ƒฝๅคŸ่‡ชไธปๆดžๅฏŸ็Žฏๅขƒๅ˜ๅŒ–ใ€ๅŠจๆ€่ฐƒๆ•ดๆ‰ง่กŒ็ญ–็•ฅใ€ๅฎž็ŽฐไธšๅŠกๆต็จ‹่‡ช้€‚ๅบ”็ผ–ๆŽ’็š„ๆ™บ่ƒฝๅŒ–็ณป็ปŸใ€‚Claude Codeใ€Manusใ€OpenClaw ็ญ‰ไปฃ่กจๆ€งไบงๅ“ๅฑ‚ๅ‡บไธ็ฉท๏ผŒไนŸๆ ‡ๅฟ—็€ Agent ๆŠ€ๆœฏๆญฃๅœจๅฟซ้€Ÿ่ตฐๅ‘ๆˆ็†ŸไธŽๆ™ฎๅŠใ€‚\\n่ฟ‘ๆœŸ๏ผŒ็ฌ”่€…ๅœจไธบไธชไบบๅšๅฎขๅผ•ๅ…ฅๆ™บ่ƒฝๅŒ–่ฟ่ฅ่ƒฝๅŠ›๏ผˆๅฆ‚ๅ†…ๅฎน่‡ชๅŠจๆ กๅฏนใ€ๅฎก็จฟไธŽๅ‘ๅธƒ๏ผ‰๏ผŒๆทฑๅ…ฅ็ ”็ฉถไบ†ๅคšๆฌพ Agent ๅผ€ๅ‘ๆก†ๆžถ๏ผŒๅฆ‚ Claude Agent SDKใ€Langchainใ€LangGraph ็ญ‰ใ€‚ๅœจ็ป่ฟ‡ๅˆๆญฅ็š„็ ”็ฉถๅฏนๆฏ”ๅˆ†ๆžๅŽ๏ผŒClaude Agent SDK ๆˆไธบไบ†ไฝŽๆˆๆœฌๆž„ๅปบ้ซ˜ๅฏ็”จ Agent\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/60.ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/60.ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹\",\"frontmatter\":{\"date\":\"2024-06-14 22:00:00\",\"title\":\"ไธ€ๆฌก็”ฑ Product Sense ้ฉฑๅŠจ็š„ Agent ๆž้™ๅฎž่ทต\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšAI ๆ—ถไปฃ๏ผŒๅ†™ๅฅฝไปฃ็ ๅชๆ˜ฏๅŠๆ ผ็บฟใ€‚ๅœจไธ€ๆฌกๆž้™ๆŒ‘ๆˆ˜่ต›ไธญ๏ผŒๆˆ‘ไปฌ้€š่ฟ‡ๅฏน K12 ่ต›้“็”จๆˆท็—›็‚น็š„็ฒพๅ‡†โ€œ่ง†่ง’ๅˆ‡ๆขโ€๏ผŒๆ‰“้€ ๅ‡บไธ€ๆฌพๆŽˆไบบไปฅๆธ”็š„โ€œๆ•ฐๅญฆ่พ…ๅฏผๅฏผๅธˆโ€ๅนถๆ–ฉ่Žทๅคงๅฅ–ใ€‚ๆœฌๆ–‡ๅค็›˜ไบ† Agent ๆญๅปบ่ƒŒๅŽ็š„ๆ ธๅฟƒ SOP ่ฎพ่ฎก้€ป่พ‘๏ผšๆŠ€ๆœฏ็ปˆ็ฉถ่ฆๅ›žๅฝ’ๅฏน็œŸๅฎžไบบๆ€ง็š„ไฝ“ๅฏŸไธŽๅ…ณๆ€€ใ€‚\",\"coverImg\":\"/img/cover/llm_learning_bg_2.png\",\"permalink\":\"/ai-practice/math-bot\",\"categories\":[\"ai-practice\"],\"tags\":[\"Agent\",\"ไบงๅ“ Sense\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไธ€ๆฌก็”ฑ Product Sense ้ฉฑๅŠจ็š„ Agent ๆž้™ๅฎž่ทต\",\"date\":\"2024-06-14 22:00:00\",\"capture\":\"ๅœจๅˆšๅˆš่ฟ‡ๅŽป็š„ๅ‘จๆœซ๏ผŒๆˆ‘ๅ’Œๅฅฝๅ‹ๅ‚ๅŠ ไบ†ไธ€ๅœบ็”ฑๅƒๅธ† Agent ไธพๅŠž็š„็บฟไธ‹็คพๅŒบๆดปๅŠจใ€‚่ฟ™ๆ˜ฏไธ€ๅœบๅ……ๆปกๆžๅฎข็ฒพ็ฅž็š„โ€œๆž้™ๆŒ‘ๆˆ˜โ€โ€”โ€”ๆˆ‘ไปฌ้œ€่ฆๅœจๆžๅ…ถๆœ‰้™็š„ๆ—ถ้—ดๅ†…๏ผŒไปŽ้›ถๅผ€ๅง‹ๆž„ๆ€ใ€ๆญๅปบๅนถ็Žฐๅœบๅฑ•็คบไธ€ไธชๅฎŒๆ•ด็š„ Agent ๅบ”็”จใ€‚\\nไปคไบบๆƒŠๅ–œ็š„ๆ˜ฏ๏ผŒๆˆ‘ไปฌไธไป…้กบๅˆฉๅฎŒๆˆไบ†ๆž้™ๅผ€ๅ‘๏ผŒๆœ€็ปˆ่ฟ˜ๆ–ฉ่Žทไบ†ๅ…จๅœบ็š„ใ€Œๆœ€ไฝณๅบ”็”จๅฅ–ใ€ใ€‚\\nๅค็›˜่ฟ™ๆฌก็Ÿญๆš‚ๅด้ซ˜ๅฏ†ๅบฆ็š„ๅผ€ๅ‘ไฝ“้ชŒ๏ผŒๆœ€ๅคง็š„ๆ„Ÿ่งฆๆ˜ฏ๏ผšๅœจ AI ๆ—ถไปฃ๏ผŒๅ•็บฏ็š„ๅทฅ็จ‹ๅฎž็Žฐๅทฒ็ปไธๅ†ๆ˜ฏๅ”ฏไธ€็š„ๅฃๅž’๏ผŒ็œŸๆญฃ่ฎฉๅบ”็”จ่„ฑ้ข–่€Œๅ‡บ็š„๏ผŒๆ˜ฏๅฏน็œŸๅฎžไธšๅŠกๅœบๆ™ฏ็š„ๆดžๅฏŸๅŠ›ใ€‚ๅฝ“ (Engineering + Product) ร— AI ็š„้ฃž่ฝฎๅผ€ๅง‹่ฝฌๅŠจๆ—ถ๏ผŒๆŠ€ๆœฏๆ‰่ƒฝ็œŸๆญฃ่ฝฌๅŒ–ไธบ่งฃๅ†ณ้—ฎ้ข˜็š„ๅˆฉๅ™จใ€‚\\nไปฅไธ‹ๆ˜ฏๅ…ณไบŽ่ฟ™ๆฌกโ€œK12 ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹โ€ Agent ๆญๅปบ็š„ๅฎž\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/70.่ฏ—ๆญŒๅฐ็ฒพ็ต\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/70.่ฏ—ๆญŒๅฐ็ฒพ็ต\",\"frontmatter\":{\"date\":\"2024-04-19 22:15:38\",\"title\":\"้›ถไปฃ็ ไธ็ญ‰ไบŽ้›ถ้€ป่พ‘๏ผš็ป“ๆž„ๅŒ– Prompt ้ฉฑๅŠจไธ‹็š„ Agent ๆญๅปบๅฎžๆˆ˜\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจ Agent ๆฆ‚ๅฟตๆปกๅคฉ้ฃž็š„ๅฝ“ไธ‹๏ผŒๅ†ณๅฎšๅคงๆจกๅž‹ๅฎž้™…่กจ็Žฐ็š„ๅพ€ๅพ€ๆ˜ฏๆœ€ๅบ•ๅฑ‚็š„ System Prompt ่ฎพ่ฎกใ€‚ๆœฌๆ–‡่ฎฐๅฝ•ไบ†ๅ‘จๆœซๅˆฉ็”จๆ–‡ๅฟƒๆ™บ่ƒฝไฝ“ๅนณๅฐๆญๅปบโ€œ่ฏ—ๆญŒๅฐ็ฒพ็ตโ€็š„ๅฎŒๆ•ดๅฎž่ทตใ€‚้€š่ฟ‡ๅฏนๆฏ”โ€œไผ ็ปŸๅคงๆฎตๆ–‡ๆœฌโ€ไธŽโ€œLangGPT ็ป“ๆž„ๅŒ–โ€ไธค็ง Prompt ็š„ๅฎž้™…่พ“ๅ‡บ๏ผŒๆทฑๅบฆๆ‹†่งฃไบ†็ป“ๆž„ๅŒ– Prompt ๅฆ‚ไฝ•ๅƒโ€œๅ†™ไปฃ็ โ€ไธ€ๆ ท่ง„่Œƒ AI ็š„ๆ€่€ƒๅทฅไฝœๆต๏ผŒๆœ‰ๆ•ˆ่งฃๅ†ณๆŒ‡ไปคๆผ‚็งปไธŽๅนป่ง‰้—ฎ้ข˜ใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ๆฌก Prompt ่ฐƒไผ˜ๅฎž้ชŒ๏ผŒๆ›ดๆ˜ฏไธ€ๅœบๅ…ณไบŽ AI ไบงๅ“ Sense ไธŽๆœชๆฅไบคไบ’ๅฝขๆ€็š„ๆŽข็ดขใ€‚\",\"coverImg\":\"/img/cover/llm_learning_bg_2.png\",\"categories\":[\"ai-practice\"],\"permalink\":\"/ai-practice/poetry-bot\",\"tags\":[\"Agent\",\"AI\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"้›ถไปฃ็ ไธ็ญ‰ไบŽ้›ถ้€ป่พ‘๏ผš็ป“ๆž„ๅŒ– Prompt ้ฉฑๅŠจไธ‹็š„ Agent ๆญๅปบๅฎžๆˆ˜\",\"date\":\"2024-04-19 22:15:38\",\"capture\":\"1. ๅฎž่ทต่ƒŒๆ™ฏ\\nๅ‘จๆœซๅœจ็คพๅŒบๆดปๅŠจไธญๅ†ๆฌกๅฌๅˆฐไบ† LangGPT ไฝœ่€…ไบ‘ไธญๆฑŸๆ ‘ๅ…ณไบŽโ€œ็ป“ๆž„ๅŒ–ๆ็คบ่ฏโ€็š„ๅˆ†ไบซ๏ผŒ่ฎฉไบบๆ„Ÿ่งฆ้ข‡ๆทฑใ€‚่™ฝ็„ถๅฝ“ๅ‰ Agent ๆฆ‚ๅฟต็ซ็ƒญ๏ผŒๅฑ‚ๅ‡บไธ็ฉท็š„ๆก†ๆžถ่ฎฉไบบ็œผ่Šฑ็ผญไนฑ๏ผŒไฝ†ๅ›žๅฝ’ๆœฌ่ดจๆˆ‘ไปฌๅฐฑไผšๅ‘็Žฐ๏ผšSystem Prompt ็š„ๅบ•ๅฑ‚่ฎพ่ฎกใ€ไธŠไธ‹ๆ–‡ๅทฅ็จ‹ไปฅๅŠๆŒ‡ไปค้ตๅพชๆœบๅˆถ๏ผŒๆ‰ๆ˜ฏๅ†ณๅฎšไธ€ไธช Agent ็ต้ญ‚็š„ๅ…ณ้”ฎใ€‚\\nๆญฃๅทงๅคงๅ›ข้˜Ÿ่‡ช็ ”็š„้›ถไปฃ็  Agent ๅนณๅฐ่ฟ‘ๆœŸๅ‘ๅธƒไบ†ๆ–ฐ็‰ˆๆœฌ๏ผŒไธบไบ†ไบฒๆต‹ๅนณๅฐๆ€ง่ƒฝๅนถๅฎžๆˆ˜ๆผ”็ปƒ็ป“ๆž„ๅŒ– Prompt ็š„็ผ–ๅ†™ๆŠ€ๅทง๏ผŒๆˆ‘ๅ†ณๅฎšๅˆ›ๅปบไธ€ไธชโ€œ่ฏ—ๆญŒๅฐ็ฒพ็ตโ€ Agentใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ไธช่ถฃๅ‘ณๅฎž้ชŒ๏ผŒๆ›ดๆ˜ฏไธบไบ†ๆŽข็ดข AI ๅœจๆ–‡ๅญฆๅˆ›ไฝœ่ฟ™็งโ€œๆ„Ÿๆ€ง้ข†ๅŸŸโ€ไธญ๏ผŒๅฆ‚ไฝ•้€š่ฟ‡โ€œ็†ๆ€ง็š„็ป“ๆž„็บฆๆŸโ€่พพๅˆฐๆ›ด้ซ˜็š„่พ“ๅ‡บไธŠ้™ใ€‚\\n 2. ๅนณๅฐไธŽ\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"frontmatter\":{\"date\":\"2025-11-25 00:52:28\",\"title\":\"ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไธบไพฟไบŽ้ซ˜ๆ•ˆๅˆฉ็”จ AI ๅทฅๅ…ทๆๅ‡ๅญฆไน ใ€ๆœ็ดขๅ’Œๅˆ›ไฝœๆ•ˆ็އ๏ผŒๆœฌๆ–‡็ณป็ปŸๆ•ด็†ไบ†ไธปๆต็š„ AI ๅŠฉๆ‰‹ไธŽๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐ็›ธๅ…ณ่ต„ๆบใ€‚ๅ†…ๅฎนๅˆ†ไธบโ€œAI ๅŠฉๆ‰‹โ€๏ผˆๅฆ‚ ChatGPTใ€Claudeใ€Gemini ็ญ‰ๅฏน่ฏๅผๅŠฉๆ‰‹๏ผ‰ๅ’Œโ€œๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐโ€๏ผˆๅฆ‚ๅ†™ไฝœใ€็ป˜็”ป็ญ‰้ข†ๅŸŸ็š„ AI ๅทฅๅ…ทไธŽๅนณๅฐ๏ผ‰๏ผŒไธ”ๆ ‡ๆณจไบ†ๅ…ถๆ ธๅฟƒ่ƒฝๅŠ›ใ€้€‚ๅˆๅœบๆ™ฏ๏ผŒไปฅๅŠ็‰น่‰ฒไผ˜ๅŠฟใ€‚\",\"permalink\":\"/ai-learning/tools-assistant\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/source_sites_bg.png\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"AI ๅŠฉๆ‰‹\",\"AI ๆœ็ดข\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"date\":\"2025-11-25 00:52:28\",\"capture\":\"1. AI ๅŠฉๆ‰‹\\n> ้€‰ๆ‹ฉๅปบ่ฎฎ๏ผš ่‹ฑๆ–‡ไธบไธป โ†’ ไผ˜ๅ…ˆ ChatGPT / Claude / Gemini๏ผ›ไธญๆ–‡ไธบไธป โ†’ ไผ˜ๅ…ˆ Kimi / DeepSeek / ้€šไน‰ๅƒ้—ฎ๏ผ›้œ€่ฆ่”็ฝ‘ๅฎžๆ—ถไฟกๆฏ โ†’ Gemini / Grok๏ผ›้œ€่ฆๅˆ†ๆž้•ฟๆ–‡ๆกฃ โ†’ Claude / Kimi๏ผ›่ฟฝๆฑ‚ไฝŽๆˆๆœฌๅผ€ๆบ้ƒจ็ฝฒ โ†’ DeepSeekใ€‚\\n>\\n> ๆณจ๏ผš็›ฎๅ‰ๅ›ฝๅค–ๆจกๅž‹๏ผˆๅฆ‚ ChatGPTใ€Claudeใ€Gemini ็ญ‰๏ผ‰ๅœจ่‹ฑๆ–‡ๅค„็†ใ€ๅคšๆจกๆ€่ƒฝๅŠ›ใ€ๆ’ไปถ็”Ÿๆ€ๅ’Œ API ไธฐๅฏŒๆ€ง็ญ‰ๆ–น้ข๏ผŒๆ•ดไฝ“ไธŠไพ็„ถไผ˜ไบŽๅ›ฝๅ†…ๆจกๅž‹๏ผŒ้€‚ๅˆๅฏน่‹ฑๆ–‡ๅˆ›ไฝœใ€ๅคš่ฏญ่จ€ๆฒŸ้€šใ€ๅคๆ‚ๆŽจ็†ใ€ไปฃ็ ๅŠฉๆ‰‹็ญ‰ๅœบๆ™ฏๆœ‰ๆ›ด้ซ˜่ฆๆฑ‚็š„็”จๆˆทใ€‚ไธ่ฟ‡๏ผŒๅ›ฝๅ†…ๆจกๅž‹ๅœจไธญๆ–‡็†่งฃใ€ๆœฌๅœฐๅŒ–ใ€ๅˆ่ง„\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/11. LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/11. LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-01-06 15:58:53\",\"title\":\"LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆˆช่‡ณ 2026 ๅนด๏ผŒLLM API ๆœๅŠกๅทฒๅฝขๆˆ\\\"ๅฎ˜ๆ–น็›ด่ฟž + ็ฌฌไธ‰ๆ–น่šๅˆ\\\"็š„ๅŒ่ฝจๆ ผๅฑ€๏ผŒๆจกๅž‹่ƒฝๅŠ›ใ€ๅฎšไปทใ€ๅˆ่ง„ๆ€งไธŽๆŽฅๅ…ฅไพฟๅˆฉๆ€งๅทฎๅผ‚ๆ˜พ่‘—ใ€‚ๆœฌๆ–‡ไปŽ้€‰ๅž‹ๅ‰ๆ้—ฎๅ‡บๅ‘๏ผŒ็ณป็ปŸๆขณ็†ๅ›ฝ้™…ไธŽๅ›ฝๅ†…ไธปๆตๅฎ˜ๆ–น API ๅนณๅฐ๏ผŒไปฅๅŠ OpenRouterใ€็ก…ๅŸบๆตๅŠจ็ญ‰็ฌฌไธ‰ๆ–น่šๅˆๅนณๅฐ็š„ๆ ธๅฟƒ็‰น็‚น๏ผŒๅนถๆไพ›ๅŸบไบŽๅœบๆ™ฏ็š„ๅ†ณ็ญ–ๆก†ๆžถ๏ผŒๅธฎๅŠฉๅผ€ๅ‘่€…ๅ’Œไบงๅ“ๅ›ข้˜Ÿๅฟซ้€Ÿ้”ๅฎšๆœ€้€‚ๅˆ่‡ชๅทฑ็š„ๆ–นๆกˆใ€‚\",\"permalink\":\"/ai-learning/llm-api-resources\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"LLM API\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"date\":\"2026-01-06 15:58:53\",\"capture\":\"1. ้€‰ๆจกๅž‹ๅ‰๏ผŒๅ…ˆๆƒณๆธ…ๆฅš่ฟ™ๅ‡ ไปถไบ‹\\nๅœจๅฏนๆฏ”ๅ…ทไฝ“ๅนณๅฐไน‹ๅ‰๏ผŒๅฏไปŽไปฅไธ‹ๅ››ไธช็ปดๅบฆๆขณ็†่‡ช่บซ่ฏ‰ๆฑ‚๏ผŒ้ฟๅ…\\\"็œผ่Šฑ็ผญไนฑๅŽ้šไพฟ้€‰ไธ€ไธช\\\"๏ผš\\n| ็ปดๅบฆ | ๅ…ณ้”ฎ้—ฎ้ข˜ | ๅฝฑๅ“ๅ†ณ็ญ– |\\n|:-----|:--------|:--------|\\n| ไปปๅŠก็ฑปๅž‹ | ๆ˜ฏ้€š็”จๅฏน่ฏใ€ไปฃ็ ็”Ÿๆˆใ€้•ฟๆ–‡ๆกฃๅˆ†ๆž๏ผŒ่ฟ˜ๆ˜ฏๅคšๆจกๆ€็†่งฃ๏ผŸ | ไธๅŒๆจกๅž‹ๅœจๅž‚็›ด่ƒฝๅŠ›ไธŠๅทฎ่ทๆ‚ฌๆฎŠ |\\n| ๆˆๆœฌ้ข„็ฎ— | ๆฏๆœˆ่ฐƒ็”จ้‡็บง๏ผŸ่ƒฝๅฆๆŽฅๅ—ๆตทๅค–็ป“็ฎ—ไธŽๆฑ‡็އ้ฃŽ้™ฉ๏ผŸ | ๅ›ฝไบงๆจกๅž‹ Token ไปทๆ ผ้€šๅธธไฝŽ 3๏ฝž10 ๅ€ |\\n| ๅˆ่ง„ไธŽ้ƒจ็ฝฒ | ๆ•ฐๆฎ่ƒฝๅฆๅ‡บๅขƒ๏ผŸ่ƒฝๅฆไฝฟ็”จๆตทๅค–ๆœๅŠก๏ผŸๆ˜ฏๅฆ้œ€่ฆ็งๆœ‰ๅŒ–้ƒจ็ฝฒ๏ผŸ | ๆถ‰ๅŠๆ”ฟๅŠก/้‡‘่ž/ๅŒป็–—ๅœบๆ™ฏๅฟ…้กป่€ƒ่™‘ |\\n| ็ฝ‘็ปœ็Žฏๅขƒ | ๅผ€ๅ‘/้ƒจ็ฝฒ็Žฏๅขƒ่ƒฝๅฆ็จณๅฎš่ฎฟ\"},{\"url\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/01.ๅฅฝไนฆๆŽจ่\",\"relativePath\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/01.ๅฅฝไนฆๆŽจ่\",\"frontmatter\":{\"title\":\"ๅฅฝไนฆๆŽจ่\",\"date\":\"2024-01-01 16:00:00\",\"description\":\"่ฏปไนฆๅฟƒๅพ—ใ€ๆŽจ่ไนฆ็ฑๅ’Œ้˜…่ฏปๆŠ€ๅทง\",\"categories\":[\"growth\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/books_reading_bg.png\",\"permalink\":\"/growth/books\",\"tags\":[\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\",\"่ต„ๆบๆŽจ่\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฅฝไนฆๆŽจ่\",\"date\":\"2024-01-01 16:00:00\",\"capture\":\"<script setup\\n import BookRecommend from './@fragment/BookRecommend.vue'\\n import {aiBooks, productSenseBooks, businessBooks, efficiencyBooks, growthBooks, humanSocialBooks, healthBooks} from './@fragment/recommends-data.ts'\\n</script>\\n 1. AI ไธŽๆ•ฐๅญฆๆ€็ปด\\n> ๅœจๅคงๆจกๅž‹ๅ‘ๅฑ•ๆ—ฅๆ–ฐๆœˆๅผ‚็š„ไปŠๅคฉ๏ผŒ็†่งฃ AI ๆœฌ่ดจไธŠๆ˜ฏๅœจๅ‡็บงๆˆ‘ไปฌ่ต„ๆทฑ็š„โ€œ่ฎค็Ÿฅๆ“\"},{\"url\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/10.่ฏปไนฆไธ‰่ฆไธ‰ไธ่ฆ\",\"relativePath\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/10.่ฏปไนฆไธ‰่ฆไธ‰ไธ่ฆ\",\"frontmatter\":{\"date\":\"2025-03-06 11:42:20\",\"title\":\"่ฏปไนฆโ€œไธ‰่ฆโ€ๅ’Œโ€œไธ‰ไธ่ฆโ€\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจไฟกๆฏ็ˆ†็‚ธ็š„ๆ—ถไปฃ๏ผŒ่ฏปไนฆไพ็„ถๆ˜ฏ่Žทๅ–ๆทฑๅบฆ็Ÿฅ่ฏ†ๆœ€้ซ˜ๆ•ˆ็š„ๆ–นๅผไน‹ไธ€ใ€‚ไฝ†โ€œๆง่ตทไนฆโ€ๅนถไธ็ญ‰ไบŽโ€œๆœ‰ๆ”ถ่Žทโ€๏ผŒๆ€Žไนˆ่ฏปๅพ€ๅพ€ๆฏ”่ฏปไป€ไนˆๆ›ด้‡่ฆใ€‚ๆœฌๆ–‡ๆ€ป็ป“ไบ†้ซ˜ๆ•ˆ้˜…่ฏป็š„โ€œไธ‰่ฆโ€ไธŽโ€œไธ‰ไธ่ฆโ€๏ผšไปŽๅฎŒๆ•ด้˜…่ฏป่ง‚ๆ‘ฉๅคงๅธˆๆ€็ปดใ€ๅธฆ็€้—ฎ้ข˜ๆž„ๅปบ็Ÿฅ่ฏ†ๆ ‘๏ผŒๅˆฐ้€š่ฟ‡่ฎจ่ฎบๆฃ€้ชŒ็†่งฃ๏ผ›ๅŒๆ—ถๆ้†’้˜…่ฏป่€…่ญฆๆƒ•ๅ“€ๆ€จๅฟƒๆ€ๅฏน้˜…่ฏปๅˆ่กท็š„ๅผ‚ๅŒ–ใ€้ฟๅ…้™ทๅ…ฅๅฏน็‰ฉ็†ๅช’ไป‹็š„โ€œ็Žฉ็‰ฉไธงๅฟ—โ€๏ผŒไปฅๅŠๅˆ‡ๅฟŒ่„ฑ็ฆป็Žฐๅฎž็š„โ€œ็œŸ็ฉบโ€้˜…่ฏปใ€‚้˜…่ฏปไธไป…ๆ˜ฏๅ‘ๅ†…ๆŽข็ดข็š„็ฒพ็ฅžไน‹ๆ—…๏ผŒๆ›ดๆ˜ฏๅ‘ๅค–็†่งฃ็œŸๅฎžไธ–็•Œใ€ๅˆ›้€ ็คพไผšไปทๅ€ผ็š„ๅฎž็”จๅทฅๅ…ทใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/reading_need.png\",\"permalink\":\"/pages/growth/reading-tips\",\"sticky\":1,\"top\":true,\"categories\":[\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\"],\"tags\":[\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ฏปไนฆโ€œไธ‰่ฆโ€ๅ’Œโ€œไธ‰ไธ่ฆโ€\",\"date\":\"2025-03-06 11:42:20\",\"capture\":\"<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/reading_need.png\\\" style=\\\"width: 100%; border-radius: 8px; margin-bottom: 20px;\\\" alt=\\\"about site background\\\">\\n 1. ๆˆ‘ไปฌไธบไป€ไนˆ้œ€่ฆ่ฏปไนฆ๏ผŸ\\n่ฏปไนฆๆ˜ฏไปŽๅค–็•ŒๆŽฅๅ—ไฟกๆฏ็š„ไธ€็งๆ–นๅผ๏ผŒไธŽ่Šๅคฉใ€ๆต่งˆ็ฝ‘้กตใ€ๅฌๆ’ญๅฎขใ€็œ‹็”ต่ง†ๅนถๆ— ๆœฌ่ดจๅŒบๅˆซใ€‚ไฝ†ไนฆ่ฟ™็งๅช’ไป‹ไธŽๅ…ถไป–ไฟกๆฏๅช’ไป‹็›ธๆฏ”๏ผŒๆœ‰ๅ…ถ็‹ฌๆœ‰็š„ไผ˜ๅŠฟ๏ผš\\n- ๆทฑๅบฆไธŽไธฅ่ฐจ๏ผšไนฆ็ฑๅพ€ๅพ€ๆ˜ฏๅˆ›ไฝœ่€…ๅคšๅนดๆ€่€ƒใ€้•ฟๆœŸ\"},{\"url\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/21.ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"relativePath\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/21.ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"frontmatter\":{\"date\":\"2025-11-10 12:52:28\",\"title\":\"ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจไฟกๆฏ้ซ˜ๅบฆ้€ๆ˜Ž็š„ๆ—ถไปฃ๏ผŒๆต…ๅฑ‚ไฟกๆฏๅทฎๅทฒ่ขซๅฝปๅบ•ๆŠนๅนณ๏ผŒไฟกๆฏๆœฌ่บซ็š„ไปทๅ€ผไธๆ–ญ็จ€้‡Šใ€‚ไบบไธŽไบบ็š„ๆ ธๅฟƒๅทฎ่ทไธๅ†ๆ˜ฏ่Žทๅ–ไฟกๆฏ็š„ๆธ ้“๏ผŒ่€Œๆ˜ฏ้ซ˜ไฟกๅ™ชๆฏ”ไฟกๆฏ็š„็”„ๅˆซ่ƒฝๅŠ›ใ€ๆทฑๅบฆๆ€่€ƒ่ƒฝๅŠ›ไธŽ่ฝๅœฐๆ‰ง่กŒๅŠ›๏ผŒๅ”ฏๆœ‰ไปฅๆ€่€ƒๆ ก้ชŒไฟกๆฏใ€ไปฅๆ‰ง่กŒ้ชŒ่ฏไปทๅ€ผ๏ผŒๅฝขๆˆโ€œไฟกๆฏ-ๅˆคๆ–ญ-ๅฎž่ทต-ๅ้ฆˆโ€็š„ๆ€่€ƒไธŽๆ‰ง่กŒ้—ญ็Žฏ๏ผŒๆ‰่ƒฝ็ช็ ดไฟกๆฏๅฃๅž’ใ€ๅˆ›้€ ็œŸๆญฃไปทๅ€ผใ€‚\",\"permalink\":\"/growth/distinguish-useful-information\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"ไฟกๆฏ็ญ›้€‰\",\"ไธชไบบๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"date\":\"2025-11-10 12:52:28\",\"capture\":\"ๅœจไบ’่”็ฝ‘ๆŠ€ๆœฏๆ™ฎๅŠ็š„ๅฝ“ไธ‹๏ผŒไฟกๆฏๅทฒไปŽโ€œ็จ€็ผบ่ต„ๆบโ€่ฝฌๅ˜ไธบโ€œๆณ›ๆปฅ่ต„ๆบโ€ใ€‚่ฟ‡ๅŽปไพ่ต–ๅœฐๅŸŸๅทฎใ€็จ€็ผบๆ€ง็š„ๆต…่กจๅฑ‚ไฟกๆฏๅทฎ้€ๆธ่ขซๆŠนๅนณ๏ผŒๅผ€ๅ‘่€…้€š่ฟ‡็ฝ‘็ปœๅฏ่ฝปๆพ่Žทๅ–ๅ„็ฑปๆŠ€ๆœฏๆ–‡ๆกฃใ€่กŒไธšๅŠจๆ€ใ€่ตš้’ฑๆจกๅผ๏ผŒไฝ†็œŸๆญฃ่ƒฝๅฐ†ไฟกๆฏ่ฝฌๅŒ–ไธบไปทๅ€ผ็š„ไปๆ˜ฏๅฐ‘ๆ•ฐไบบใ€‚ๆ ธๅฟƒ็Ÿ›็›พๅทฒไปŽโ€œ่Žทๅ–ไฟกๆฏโ€่ฝฌๅ˜ไธบโ€œ้ฉพ้ฉญไฟกๆฏโ€โ€”โ€”ไฟกๆฏๆœฌ่บซ็š„ไปทๅ€ผๅผฑๅŒ–๏ผŒ่€Œไฟกๆฏ่งฃ่ฏป่ƒฝๅŠ›ใ€่กŒๅŠจๆ‰ง่กŒๅŠ›ใ€็ญ›้€‰็”„ๅˆซๅŠ›ๆˆไธบๆ‹‰ๅผ€ๅทฎ่ท็š„ๅ…ณ้”ฎใ€‚\\n 1. ๆ‰“็ ดโ€œไฟกๆฏๅทฎโ€็š„็ณป็ปŸๆ€ง้”™่ง‰\\n่ฟ‡ๅŽป๏ผŒ็”ฑไบŽๅœฐๅŸŸ้™ๅˆถๅ’Œไผ ๆ’ญไป‹่ดจ็š„็จ€็ผบ๏ผŒ่ตš้’ฑๆˆ–ๆˆๅŠŸ็š„ๆจกๅผๅพ€ๅพ€ๆ˜ฏ็ฒ—ๆ”พ็š„๏ผŒๅปบ็ซ‹ๅœจๆต…่กจๅฑ‚็š„โ€œไฟกๆฏไธๅฏน็งฐโ€ไธŠ๏ผŒไฝ†้š็€ๆŠ€ๆœฏ็š„ๆผ”่ฟ›๏ผŒ่ฟ™็งไฝŽ็ปดๅบฆ็š„ไฟกๆฏๅทฎๆญฃๅœจ่ขซ่ฟ…้€ŸๆŠนๅนณใ€‚ไบบไปฌ็ปๅธธ้™ทๅ…ฅโ€œ่ตšไธๅˆฐ้’ฑ/ๆŠ“ไธไฝๆœบไผšๆ˜ฏๅ› ไธบ็ผบๅฐ‘ไฟกๆฏๅทฎโ€็š„่ฎค็Ÿฅๅๅทฎ๏ผŒไฝ†ๆœฌ่ดจ้—ฎ้ข˜ๅœจไบŽโ€œ\"},{\"url\":\"/31.ๅผ€ๆบๆดžๅฏŸ/00.overview\",\"relativePath\":\"/31.ๅผ€ๆบๆดžๅฏŸ/00.overview\",\"frontmatter\":{\"date\":\"2026-04-10 14:52:34\",\"title\":\"ๅผ€ๆบๆดžๅฏŸ\",\"permalink\":\"/repo-insight/overview\",\"categories\":[\"ๅผ€ๆบๆดžๅฏŸ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅผ€ๆบๆดžๅฏŸ\",\"date\":\"2026-04-10 14:52:34\",\"capture\":\"ๆœฌไธ“ๆ ๆ‰€ๆœ‰ๆบ็ ่งฃ่ฏปๆ–‡็ซ ๏ผŒๅ‡ๅ€ŸๅŠฉไบ†ๆœฌไบบๅผ€ๆบ็š„ repo-insight Agent Skill ๆฅ่พ…ๅŠฉ็”Ÿๆˆใ€‚\\nrepo-insight ๆ˜ฏไธ€ๆฌพไธ“ๆณจไบŽไผ˜็ง€ๅผ€ๆบ้กน็›ฎไปฃ็ ๅบ“่งฃ่ฏป็š„ๆ™บ่ƒฝๅŠฉๆ‰‹๏ผŒๆไพ› GitHub URL ๆˆ–ๆœฌๅœฐ็›ฎๅฝ•็š„ไธ€้”ฎๆทฑๅบฆๅˆ†ๆž่ƒฝๅŠ›ใ€‚\\n- ไธ€้”ฎๅˆ†ๆž - ๆ”ฏๆŒ GitHub URL ๆˆ–ๆœฌๅœฐ็›ฎๅฝ•ๅˆ†ๆž\\n- ๆทฑๅบฆๆŠฅๅ‘Š - ็”Ÿๆˆ้กน็›ฎๆฆ‚่ฟฐใ€ๆžถๆž„ๅˆ†ๆžใ€ๆ ธๅฟƒๆจกๅ—่งฃ่ฏป\\n- ไธญๆ–‡ๆ”ฏๆŒ - ่‡ชๅŠจ็ฟป่ฏ‘ READMEใ€็”Ÿๆˆไธญๆ–‡ไปฃ็ ๆณจ้‡Š\\n- ๅ…จ่‡ชๅŠจๆ‰ง่กŒ - ่ฐƒ็”จๅŽๆ— ้œ€ไธญ้—ดไบคไบ’\\nไธคไธช Skill ๅ‡ๅ…ทๅค‡ไปฅไธŠ่ƒฝๅŠ›๏ผŒๅฏๆ นๆฎ้œ€ๆฑ‚้€‰ๆ‹ฉไฝฟ็”จใ€‚\\nไบ†่งฃ repo-insight โ†’\\n ๅผ€ๆบ้กน็›ฎ่งฃ่ฏป\\n| ้กน็›ฎ | ็ฎ€ไป‹ |\\n|----\"},{\"url\":\"/31.ๅผ€ๆบๆดžๅฏŸ/01.fetch-event-source ๆบ็ ่งฃ่ฏป\",\"relativePath\":\"/31.ๅผ€ๆบๆดžๅฏŸ/01.fetch-event-source ๆบ็ ่งฃ่ฏป\",\"frontmatter\":{\"date\":\"2026-04-10 14:43:09\",\"title\":\"fetch-event-source ๆบ็ ่งฃ่ฏป\",\"categories\":[\"ๅผ€ๆบๆดžๅฏŸ\"],\"permalink\":\"/repo-insight/fetch-event-source\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"fetch-event-source ๆบ็ ่งฃ่ฏป\",\"date\":\"2026-04-10 14:43:09\",\"capture\":\"็ฌฌไธ€้ƒจๅˆ†: ไธšๅŠกไปทๅ€ผ็ฏ‡\\n ้กน็›ฎๅฎšไฝ\\n`@microsoft/fetch-event-source` ๆ˜ฏๅพฎ่ฝฏๅผ€ๆบ็š„ไธ€ไธชๅŸบไบŽ Fetch API ็š„ Server-Sent Events (SSE) ๅฎขๆˆท็ซฏๅบ“,ไธบๆต่งˆๅ™จๆไพ›ไบ†ๆ›ดๅผบๅคงใ€ๆ›ด็ตๆดป็š„ๆœๅŠกๅ™จๆŽจ้€ไบ‹ไปถๆŽฅๆ”ถ่ƒฝๅŠ›ใ€‚\\n ่งฃๅ†ณ็š„ๆ ธๅฟƒ็—›็‚น\\nๅŽŸ็”Ÿๆต่งˆๅ™จ็š„ `EventSource` API ๅญ˜ๅœจไปฅไธ‹้™ๅˆถ:\\n| ้™ๅˆถ | ่ฏดๆ˜Ž |\\n|------|------|\\n| ไป…ๆ”ฏๆŒ GET ่ฏทๆฑ‚ | ๆ— ๆณ•ไฝฟ็”จ POSTใ€PUT ็ญ‰ๅ…ถไป– HTTP ๆ–นๆณ• |\\n| ๆ— ๆณ•่‡ชๅฎšไน‰่ฏทๆฑ‚ๅคด | ๆ— ๆณ•ไผ ้€’่ฎค่ฏไปค็‰Œใ€ๅ†…ๅฎน็ฑปๅž‹็ญ‰่‡ชๅฎšไน‰ๅคด้ƒจ |\\n| ๆ— ๆณ•ๅ‘้€่ฏทๆฑ‚ไฝ“ | ๆ‰€ๆœ‰ๅ‚ๆ•ฐๅฟ…้กป็ผ–็ ๅœจ\"},{\"url\":\"/40.ๅ…ณไบŽ/01.ๅ…ณไบŽๆˆ‘\",\"relativePath\":\"/40.ๅ…ณไบŽ/01.ๅ…ณไบŽๆˆ‘\",\"frontmatter\":{\"date\":\"2025-08-29 09:40:53\",\"title\":\"ๅ…ณไบŽๆˆ‘\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไปŽ Tech Stack ๅˆฐ Insight Stack๏ผŒๅฝ“ AI ๆŽฅ็ฎกไบ†ๅฎž็Žฐ๏ผŒๆˆ‘ๆ›ดๅ…ณๆณจๆžถๆž„็š„ๆƒ่กกไธŽไบงๅ“็š„ไปทๅ€ผ๏ผŒไธ“ๆณจ๏ผšๅทฅ็จ‹ๅŒ– Spec ไธŽ AI ็ผ–็จ‹็ฃจๅˆ็š„ๅฎž่ทต | Agent ่ฝๅœฐ | ็‹ฌ็ซ‹ไบงๅ“ใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/about_me_chinese.png\",\"permalink\":\"/about/me\",\"categories\":[\"ๅ…ณไบŽ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ…ณไบŽๆˆ‘\",\"date\":\"2025-08-29 09:40:53\",\"capture\":\"ๆˆ‘ๆ˜ฏ่ฐ\\nๆˆ‘ๆ˜ฏไธ€ๅๆ‹ฅๆœ‰ๅ…จๆ ˆ่ƒŒๆ™ฏ็š„ๅผ€ๅ‘่€…, ๆŠ€ๆœฏๅบ•่‰ฒๆบไบŽๅทฅไฝœๅ‡ ๅนดๅŽ็งฏ็ดฏไบ†่พƒไธบๆ‰Žๅฎž็š„ๅทฅ็จ‹ๅŒ–ๅฎž่ทตโ€”โ€”ไปŽๅŸบ็ก€็š„ Web ๅ‰็ซฏๅˆฐๅคๆ‚็š„่ทจๅนณๅฐๅฐ็จ‹ๅบๅŸบ็ก€ๆก†ๆžถ็š„ๆžถๆž„ๅ‡็บง๏ผŒๅ†ๅˆฐๅŸบไบŽ NodeJS ็š„ๆœๅŠก็ซฏๅผ€ๅ‘๏ผŒ่ฟ™ไบ›็ปๅކ้”ป็‚ผไบ†ๆˆ‘ๅฏน็ณป็ปŸๅคๆ‚ๅบฆ็š„ๆŽŒๆŽงๅŠ›ใ€ๅทฅ็จ‹ๅŒ–่ƒฝๅŠ›ไปฅๅŠ้กน็›ฎๆŽจๅŠจไธŽๅ›ข้˜Ÿๅˆไฝœ็š„่ƒฝๅŠ›ใ€‚\\n่‡ช 2023 ๅนด LLM ๆตชๆฝฎๆถŒ็Žฐไปฅๆฅ๏ผŒๆˆ‘ๆทฑๅบฆๆŠ•่บซไบŽ AI ็›ธๅ…ณ็š„ๆŠ€ๆœฏๆŽข็ดขใ€‚ๅœจๅทฅไฝœไธŽไธšไฝ™้กน็›ฎไธญ๏ผŒไธปๅฏผๆˆ–ๅ‚ไธŽไบ†ๅคšไธชๅŸบไบŽๅคงๆจกๅž‹็š„ๅบ”็”จ่ฝๅœฐ๏ผŒ็งฏ็ดฏไบ†ไปŽ Prompt ่ฐƒไผ˜ๅˆฐ Agentic Workflow ็ผ–ๆŽ’็š„ไธ€็บฟ็ป้ชŒ๏ผŒไนŸๅคšๆฌกๅ‚ๅŠ ไบ†ๅ›ฝๅ†… AI ็คพๅŒบ็›ธๅ…ณ็š„ๆŠ€ๆœฏๅˆ†ไบซไธŽไบคๆตๆดปๅŠจ๏ผŒไบ†่งฃไบ† AI ้ข†ๅŸŸๆœ€ๆ–ฐ็š„ๆŠ€ๆœฏ่ถ‹ๅŠฟไธŽๅฎž่ทตใ€‚\\n\\n็›ฎๅ‰๏ผŒๆˆ‘ไธป่ฆๅœจ\"},{\"url\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"relativePath\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"frontmatter\":{\"date\":\"2024-01-15 22:16:00\",\"title\":\"่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไนฆๆŽฅไธŠๆ–‡ใ€Šๅ‘ๅ†…ๆ€ๅ˜ใ€‹๏ผŒๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ๅœจๅŽ็–ซๆƒ…ๆ—ถไปฃไปŽโ€œ้—ญๅ…ณโ€่ตฐๅ‘โ€œๅ‘ๅค–ไฝ“้ชŒโ€็š„ๅฐ่ฏ•ไธŽๅฟƒๅพ—ใ€‚้ขๅฏนๆœบๆขฐๆ‰ง่กŒๅธฆๆฅ็š„โ€œ็›ฎๆ ‡้šง้“โ€ๆ•ˆๅบ”๏ผŒ็ฌ”่€…ๅฐ่ฏ•่ทณๅ‡บๅ•ไธ€็š„็บฟๆ€ง่ง„ๅˆ’๏ผŒ่ฝฌ่€Œๅฏปๆฑ‚ๆ›ดๅบ•ๅฑ‚็š„่ฎค็Ÿฅ้€ป่พ‘ใ€‚ๆ–‡็ซ ้€š่ฟ‡้‡่ฏปใ€Š่ฆไบ‹็ฌฌไธ€ใ€‹ๅปบ็ซ‹ๅนณ่กก่ง‚๏ผŒๅˆฉ็”จ็ณป็ปŸๆ€็ปด๏ผˆๅขžๅผบ/่ฐƒ่Š‚ๅ›ž่ทฏ๏ผ‰ๆž„ๅปบๆดžๅฏŸๅŠ›๏ผŒๅนถ้‡ๆ–ฐๆ‹พ่ตทๆ•ฐๅญฆๆ€็ปด๏ผˆๆฆ‚็އใ€็จ€็–ๆ€งใ€ๅคšๆ ทๆ€ง๏ผ‰ไธŽ AI ่ง†่ง’ใ€‚่ฟ™ๆ˜ฏไธ€ๆฌกๅ…ณไบŽๅฆ‚ไฝ•็”จ็ง‘ๅญฆๆจกๅž‹ๆ›ฟไปฃๆœบๆขฐๆ‰ง่กŒ๏ผŒไปŽๆœฌ่ดจไธŠ้‡ๆž„ไธชไบบ่ฎค็Ÿฅไฝ“็ณป็š„ๆทฑๅบฆๅค็›˜ใ€‚\",\"permalink\":\"/growth/outer-experience\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/outer_experience_bg.png\",\"sticky\":1,\"top\":true,\"tags\":[\"็ณป็ปŸๆ€็ปด\",\"ๆ•ฐๅญฆๆ€็ปด\",\"ๆจกๅž‹ๆ€็ปด\",\"AI\",\"็–ซๆƒ…\"],\"categories\":[\"ไธชไบบๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"date\":\"2024-01-15 22:16:00\",\"capture\":\"1. ๅ†™ๅœจๅ‰้ข\\nๆ—ถๅ…‰่่‹’๏ผŒ็–ซๆƒ…ๅทฒ็ป็”ฑๆ”พๅผ€็Šถๆ€็ปง็ปญๆผ”ๅ˜ไธบ่ฟ‡ๅŽปๅผ็Šถๆ€๏ผŒๆˆ‘ไปฌไบบ็ฑปไนŸไปŽใ€Ž้—ญๅ…ณใ€่ตฐๅ‘ไบ†ใ€Ž่‡ช็”ฑใ€็š„็คพไผš็”Ÿๆดป็Šถๆ€ใ€‚็ฌ”่€…ไฝœไธบ็คพไผšไธญ็š„ๆ™ฎ้€šไธ€ๅ‘˜๏ผŒ่‡ช็„ถไนŸไธ็ฆปๅค–๏ผŒๅœจ 2023 ๅนดๅˆๆด‹ๆด‹ๆด’ๆด’ๅ†™ไบ†ไธ€็ฏ‡ๅœจๅฅๅบทใ€่ฏปไนฆไธŽๅญฆไน ใ€ๆ—ถ้—ด็ฎก็†ๅ’Œๆททๅˆๅทฅไฝœๅˆถๅ‡ ไธชๆ–น้ข็š„ๅฎž่ทตไธŽ็†่งฃ๏ผˆๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ๏ผ‰๏ผŒๅฐฑๅผ€ๅผ€ๅฟƒๅฟƒๅœฐๅ‘ๅ‰็œ‹๏ผŒๅญฆ็€ๅ‘ๅค–ไฝ“้ชŒไบ†ใ€‚\\n้‚ฃไนˆ้—ฎ้ข˜ๆฅไบ†๏ผŒ็›ธๆฏ”ไน‹ๅ‰ๅ†™ๅ‡บ้•ฟๆ–‡๏ผŒ็ฌ”่€…ๅˆๆ˜ฏ่ฟ‘ไธ€ๅนดๆฒกๆœ‰ๅ‘ๅค–่พ“ๅ‡บ่ฝฏๆ–‡ไบ†ใ€‚ๅ› ๆญค๏ผŒไนฆๆŽฅไธŠๆ–‡๏ผŒๆœฌๆฌก็ปง็ปญๆ–ฐๅขžไธ€็ฏ‡ไธญ็Ÿญๆ–‡๏ผŒๆผซ่ฐˆไธ€ไธ‹็–ซๆƒ…ๅŽ็š„ๅ‘ๅค–ไฝ“้ชŒใ€‚\\nๅœจๅ€’้€ผ่‡ชๅทฑๅ…ณๆณจ่บซไฝ“ๅฅๅบทๅ’Œๆ—ถ้—ด็ฎก็†ๅŽ๏ผŒ่™ฝ็„ถๅœจไฝ“้‡ๅ’Œๆ•ˆ็އไธคไธชๆ–น้ขๆœ‰ไธ€ๅฎš็š„ๆญฃๅ‘ๆ•ˆๆžœ๏ผŒไฝ†็ฌ”่€…ๅœจ่ฟž็ปญๅšๆŒ่ฝๅœฐๆ‹†่งฃๅ‡บๆฅ็š„็›ฎๆ ‡่ฟ‡็จ‹ไธญ๏ผŒๆœ‰ๆ—ถ\"},{\"url\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"relativePath\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"frontmatter\":{\"date\":\"2023-01-08 10:23:50\",\"title\":\"ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅฆ‚ไฝ•้ฟๅ…ๅ†…่€—๏ผŸๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ไธ‰ๅนด้—ด็š„โ€œ่‡ชๆˆ‘้‡ๆž„โ€ๅฎž้ชŒใ€‚ๆ–‡็ซ ๆ‘’ๅผƒไบ†ๅ•็บฏ็š„ๆƒ…็ปชๅฎฃๆณ„๏ผŒ่€Œๆ˜ฏๅˆฉ็”จๅˆ†่งฃๆณ•ใ€ๆธ่ฟ›ๆ˜Ž็ป†ๅ’Œ็ปŸ่ฎกๅˆ†ๆž็ญ‰ๅทฅ็จ‹ๆ€็ปด๏ผŒๅฏนๅฅๅบท้ฅฎ้ฃŸใ€็Ÿฅ่ฏ†ไฝ“็ณปใ€ๆ—ถ้—ดๅˆ†้…ๅŠ่ฟœ็จ‹ๅไฝœ่ฟ›่กŒไบ†็ณป็ปŸๅŒ–ๆ”น้€ ใ€‚่ฟ™ๆ˜ฏไธ€ไปฝๅ…ณไบŽๅฆ‚ไฝ•ๅœจๆ— ๅธธ็š„ๅค–้ƒจ็Žฏๅขƒไธญ๏ผŒๅปบ็ซ‹ๅ†…ๅœจ็กฎๅฎšๆ€ง็งฉๅบ็š„่กŒๅŠจๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/growth/inner-experience\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/refactor_life.png\",\"sticky\":1,\"top\":true,\"categories\":\"ไธชไบบๆˆ้•ฟ\",\"tags\":[\"ๅฅๅบท\",\"ๆ—ถ้—ด\",\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\",\"่ฟœ็จ‹ๅไฝœ\",\"็–ซๆƒ…\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"date\":\"2023-01-08 10:23:50\",\"capture\":\"<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/refactor_life.png\\\" alt=\\\"็›ฎๆ ‡ๅˆฐ่ทต่กŒๆ€็ปดๆต็จ‹็คบๆ„ๅ›พ\\\" style=\\\"width: 100%; border-radius: 8px;\\\" />\\n ๅ†™ๅœจๅ‰้ข\\n่‡ชๅŽปๅนด 7 ๆœˆไปฝ่ฟ็งปๅ‡ ็ฏ‡ๆ—งๆ–‡ๅŽ๏ผŒ็ฌ”่€…ๅฐฑๆฒกๆœ‰็ปง็ปญๅ†™่ฝฏๆ–‡ไบ†๏ผŒๆƒณไธๅˆฐๅ†ๆฌกๅ†™ๆ–‡็ซ ๆ—ถ็–ซๆƒ…ๆ”ฟ็ญ–ๅทฒ็ป่ฐƒๆ•ด๏ผŒไธ”ๅˆๆญฅๅฎž็Žฐไบ†ๅผ€ๆ”พใ€‚้‚ฃไนˆ้—ฎ้ข˜ๆฅไบ†๏ผŒไธบไป€ไนˆ่ฆ็ปง็ปญๅ†™ๆ–‡็ซ ๅ‘ข๏ผŸๆฆ‚ๆ‹ฌๆฅ่ฎฒ๏ผŒๆœ‰ไธคไธชๆ–น้ข็š„ๅŽŸๅ› ๏ผš\\n* ็›ดๆŽฅๅŽŸๅ› ๏ผš็–ซๆƒ…่ฟ™ไธ‰ๅนด๏ผŒๆฏไธชไบบ้ƒฝไฝ“้ชŒๅˆฐไบ†ไธๅŒไบŽไน‹ๅ‰็š„ โ€œ้šพโ€๏ผŒไนŸ้ƒฝๆœ‰\"},{\"url\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/20.ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹้˜ถๆฎต้š็ฌ”ๆฑ‡ๆ€ป\",\"relativePath\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/20.ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹้˜ถๆฎต้š็ฌ”ๆฑ‡ๆ€ป\",\"frontmatter\":{\"date\":\"2022-09-12 08:16:00\",\"title\":\"็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ”นๅ–„็š„ๆ–นๅผๆŽจๅŠจๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไปŽโ€œไนฆ็”Ÿๆ„ๆฐ”โ€ๅˆฐๅˆๅ…ฅ็คพไผš็š„โ€œไธญๅนดๆฒน่…ปโ€ๅฑๆœบ๏ผŒไธ€ๆฌกๅฅๅบท่ญฆๆŠฅ่ฎฉ็ฌ”่€…ๅผ€ๅฏไบ†่ฟ™ๅœบๆทฑๅˆป็š„่‡ชๆˆ‘ๅฏน่ฏไธŽ่กŒๅŠจใ€‚ๆœฌๆ–‡่ฏฆ็ป†ๅค็›˜ไบ†็ฌ”่€…ไปŽๅฅๅบทๅฑๆœบๅ‡บๅ‘๏ผŒ้€š่ฟ‡ๅ››ไธช้˜ถๆฎต็š„ๅพชๅบๆธ่ฟ›๏ผŒๆˆๅŠŸๅฎž็Žฐไฝ“้‡็ฎก็†็š„่ฟ‡็จ‹ใ€‚ๅŒบๅˆซไบŽ็›ฒ็›ฎ่ทŸ้ฃŽ๏ผŒ็ฌ”่€…ๅœจๅฎž่ทตไธญๅผ•ๅ…ฅไบ†็›ฎๆ ‡ๆ‹†่งฃใ€ๆ•ฐๆฎ็›‘ๆŽง๏ผˆไฝ“่„‚็งคๆŒ‡ๆ ‡๏ผ‰ใ€่ทจ้ข†ๅŸŸ็ป้ชŒ่ฟ็งป๏ผˆๅฆ‚้กน็›ฎ็ฎก็†ใ€ๆ—ถ้—ด็ฎก็†๏ผ‰ไปฅๅŠๅฏนไธๅŒ็ญ–็•ฅ๏ผˆๅฆ‚ๆŽงๅˆถ้ฅฎ้ฃŸใ€ๅŠ ๅคงๆ— ๆฐง่ฟๅŠจใ€ๅฐ่ฏ•ไธๅƒไธป้ฃŸ๏ผ‰็š„่พฉ่ฏ้‡‡็บณใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ไปฝๅ‡่‚ฅ่ฎฐๅฝ•๏ผŒๆ›ดๆ˜ฏไธ€ๆฌก็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ€็ปด้‡ๆž„็”Ÿๆดป็งฉๅบใ€ๅฎž็Žฐ่บซๅฟƒๅ‡็บง็š„ๅฎžๆ“ๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/growth/weight-loss\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/health_bg.png\",\"top\":true,\"tags\":[\"ๅฅๅบท\",\"่ฟๅŠจ\"],\"categories\":[\"ไธชไบบๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ”นๅ–„็š„ๆ–นๅผๆŽจๅŠจๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹\",\"date\":\"2022-09-12 08:16:00\",\"capture\":\"ๅ†™ๅœจๅ‰้ข\\nๅœจ็ปๆตŽๅฟซ้€Ÿๅ‘ๅฑ•็š„ๅคง่ƒŒๆ™ฏไธ‹๏ผŒไธ€ๆ‰นๅˆไธ€ๆ‰น็š„ๅคงๅญฆ็”Ÿ้™†็ปญ่ตฐๅ‡บๆ ก้—จ่ฟ›ๅ…ฅ็คพไผšๅคง่ˆžๅฐใ€‚้š็€ๅนด้พ„ไธŽๅทฅไฝœๅนด้™็š„ๅขž้•ฟ๏ผŒไธ็Ÿฅ็ฝฎ่บซไบŽๅ…ถไธญ็š„ไฝ ๆ˜ฏๅฆๆ„Ÿๆ…จ่ฟ‡่‡ชๅทฑๅœจ้˜…ๅކไธŠไปŽโ€œไนฆ็”Ÿๆ„ๆฐ”โ€ๆธๆธๆผ”ๅ˜ไธบโ€œๅ››ๅนณๅ…ซ็จณ๏ผŒๆธธๅˆƒๆœ‰ไฝ™โ€๏ผ›ๅœจ่บซไฝ“ๅ…ปๆŠคๆ–น้ขไปŽโ€œ่บซๆๆ— ๆ•Œ๏ผŒๅนด้พ„ๆˆ่ฟท๏ผŒๅฎžๆ‰“ๅฎžไธ€ไธชไผ ๅฅ‡โ€ๆผ”ๅ˜ไธบโ€œไธญๅนดๆฒน่…ปโ€ใ€‚ๆฏไธชไบบๅคšๅฐ‘้ƒฝๆœ‰่‡ชๅทฑ็š„็ญ”ๆกˆ๏ผŒ็ฌ”่€…็š„็ญ”ๆกˆๆ˜ฏ๏ผš่ตฐๅ‡บๆ ก้—จ่ฟ›ๅ…ฅ็คพไผšๅŽ๏ผŒๅฝ“ๅˆๅฏน่บซ่พนไบบๆœ‰็‚น่‹›ๅˆป๏ผŒ้‡ไบ‹็ซๆ€ฅ็ซ็‡Ž็š„่‡ชๅทฑ้€ๆธๅพ—ๅˆฐไบ†ๆ”นๅ–„ใ€‚่บซไฝ“ๅดๅ› ๅŽŸๆœฌๅœจๅคงๅญฆๆ—ถๆฒกๆœ‰ๆ€Žไนˆๅœจๆ„๏ผŒ็ป่ฟ‡้•ฟๅนด็ดฏๆœˆๅœฐๆด—็คผไบฎไบ†ไธ€ๆฌกๅฐ็บข็ฏใ€‚ๅœจๅบทๅคๆœŸ้—ด๏ผŒไธๆญขไธ€ๆฌกๅๆ€่ฟ‡ไน‹ๅ‰็š„็”Ÿๆดปๆ–นๅผๅ’Œๅ…ฅไธ–ๆจกๅผ๏ผŒๆƒณไธ€ๆƒณ + ๅ››ๅค„็œ‹ไธ€็œ‹ๅŽ๏ผŒๆ…ขๆ…ขไนŸๅฐฑๅผ€ๆ‚Ÿไบ†๏ผŒ่‡ช็„ถ่ฆๅฏๅŠจไธ€ไบ›ๆ”นๅ˜ๅฐ่ฏ•ใ€‚\\nๅ› ๆญค๏ผŒไนŸๅฐฑๆœ‰ไบ†่ฟ™็ฏ‡ๅ‡่‚ฅ่ฟ™ไปถ\"}],\"sortPostsByDateAndSticky\":[{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/10.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Deep Research Agent\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/10.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Deep Research Agent\",\"frontmatter\":{\"date\":\"2026-04-02 00:38:37\",\"title\":\"ๅฃฐๆ˜Žๅผๅคšๆ™บ่ƒฝไฝ“ๅๅŒ๏ผšๅŸบไบŽ Claude Agent SDK ๆž„ๅปบๆทฑๅบฆ็ ”็ฉถ็ณป็ปŸ\",\"description\":\"ๅฏนๅคๆ‚็ ”็ฉถไปปๅŠกๆ—ถ๏ผŒๅ•ๆ™บ่ƒฝไฝ“๏ผˆSingle-Agent๏ผ‰ๅธธๅ› ไธŠไธ‹ๆ–‡็จ€้‡Šๅ’Œ้€ป่พ‘็–ฒๅŠณๅฏผ่‡ดไบงๅ‡บ่ดจ้‡ไธ‹้™ใ€‚ๆœฌๆ–‡ๅŸบไบŽ Claude Agent SDK ๆŽข่ฎจไบ†ๅคšๆ™บ่ƒฝไฝ“็ณป็ปŸ๏ผˆMAS๏ผ‰็š„ๅทฅ็จ‹ๅŒ–่ฝๅœฐใ€‚้€š่ฟ‡โ€œLead + Subagentโ€็š„ๅฃฐๆ˜Žๅผๆžถๆž„๏ผŒๆˆ‘ไปฌๅฐ†ๆทฑๅบฆ็ ”็ฉถๆ‹†่งฃไธบๆœ็ดขใ€้‡ๅŒ–ๅˆ†ๆžใ€ๅฏ่ง†ๅŒ–็ป˜ๅ›พไธŽ็ป“ๆž„ๅŒ–ๅ†™ไฝœๅ››ไธช็‹ฌ็ซ‹็Žฏ่Š‚ใ€‚\",\"permalink\":\"/ai-agent/deepresearch-agent\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"],\"tags\":[\"Agent SDK\",\"Multi-Agent\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฃฐๆ˜Žๅผๅคšๆ™บ่ƒฝไฝ“ๅๅŒ๏ผšๅŸบไบŽ Claude Agent SDK ๆž„ๅปบๆทฑๅบฆ็ ”็ฉถ็ณป็ปŸ\",\"date\":\"2026-04-02 00:38:37\",\"capture\":\"> ๅฎž่ทต่ฏๆ˜Ž๏ผŒ้€š่ฟ‡ไธฅๆ ผ็š„่Œ่ดฃ้š”็ฆป๏ผˆๅฆ‚ Lead Agent ไป…่ดŸ่ดฃ่ฐƒๅบฆ๏ผ‰ไธŽๅทฅ็จ‹่พน็•Œ็บฆๆŸ๏ผˆๅฆ‚ Researcher ๅผบๅˆถๆๅ–้‡ๅŒ–ๆŒ‡ๆ ‡๏ผ‰๏ผŒMAS ่ƒฝๅคŸ็”Ÿๆˆๅ…ทๅค‡ไธ“ไธšๆ•ฐๆฎๅ›พ่กจๆ”ฏๆ’‘็š„ๆทฑๅบฆๆŠฅๅ‘Šใ€‚ๆœฌๆ–‡ๅฐ†ไปŽๆžถๆž„่ฎพ่ฎกใ€ๅทฅไฝœๆต็ผ–ๆŽ’ๅˆฐ PDF ่‡ชๅŠจ็”Ÿๆˆ๏ผŒๅฎŒๆ•ด่ฟ˜ๅŽŸ่ฟ™ไธ€โ€œAI ้ฉฑๅŠจ่ฐƒ็ ”ๆตๆฐด็บฟโ€็š„ๆž„ๅปบ่ฟ‡็จ‹๏ผŒๅนถๅฑ•็คบๅ…ถๅœจๆ•™่‚ฒ็ ”็ฉถๆกˆไพ‹ไธญ็š„ๅฎžๆˆ˜ๆ•ˆๆžœใ€‚\\n 1. ๅผ•่จ€\\nๅœจ AI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐไธ€ๆ–‡ไธญ๏ผŒๆˆ‘ไปฌๆŽข่ฎจไบ†ๅคšๆ™บ่ƒฝไฝ“็ณป็ปŸ๏ผˆMulti-Agent Systems, MAS๏ผ‰็š„็†่ฎบไผ˜ๅŠฟใ€‚ไปŽ็†่ฎบๅฑ‚้ข็œ‹๏ผŒ่ฟ™็ฑป็ณป็ปŸ้€š่ฟ‡ไปปๅŠกๅˆ†่งฃใ€่Œ่ดฃ้š”็ฆปไธŽๅนถ่กŒๅไฝœๆœบๅˆถ๏ผŒๆœ‰ๆ•ˆ็ช็ ดไบ†ๅ•ๆ™บ่ƒฝไฝ“ๅœจๅคๆ‚ไปปๅŠกไธญ็š„่ƒฝๅŠ›็“ถ้ขˆโ€”โ€”ไธไป…ๆ˜พ่‘—ๆๅ‡ไบ†ไปปๅŠกๅค„็†็š„ๅคฉ่Šฑๆฟ\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/10.Agent SKills\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/10.Agent SKills\",\"frontmatter\":{\"date\":\"2026-03-05 23:11:25\",\"title\":\"ๅฆ‚ไฝ•็ผ–ๅ†™ไธ€ไธช้ซ˜ๅฏ็”จ็š„ Agent Skill๏ผŸไปŽๆœบๅˆถๆ‹†่งฃๅˆฐ็”Ÿไบงๅฎž่ทตๆŒ‡ๅ—\",\"description\":\"ๅคง่ฏญ่จ€ๆจกๅž‹ๅœจ็‰นๅฎšๅทฅ็จ‹้ข†ๅŸŸๅธธ้ขไธดโ€œ็Ÿฅ่€Œไธ่กŒโ€็š„ๅ›ฐๅขƒใ€‚ๆœฌๆ–‡ๆทฑๅบฆๆ‹†่งฃ Anthropic ๆœ€ๆ–ฐๆŽจๅ‡บ็š„ Agent Skills ่ง„่Œƒ๏ผŒๆญ็ง˜ๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆธ่ฟ›ๅผๆŠซ้œฒไธŽไธ‰็บงๅŠ ่ฝฝๆœบๅˆถ๏ผŒๅœจๆŽงๅˆถ Token ๆˆๆœฌ็š„ๅŒๆ—ถๆ˜พ่‘—ๆๅ‡ Agent ็š„ไปปๅŠกๆ‰ง่กŒ็ฒพๅบฆใ€‚ๆ–‡็ซ ๆถต็›–ไบ†ไปŽๆ–‡ไปถๅคนๆžถๆž„่ฎพ่ฎกๅˆฐๅฎžๆˆ˜ git-workflow ็ผ–ๅ†™็š„ๅ…จๆต็จ‹ๆŒ‡ๅ—๏ผŒๅŠฉไฝ ๅฐ†้›ถๆ•ฃ็š„ Prompt ่ฝฌๅŒ–ไธบๆ ‡ๅ‡†ๅŒ–็š„ๆ•ฐๅญ—่ต„ไบงใ€‚\",\"permalink\":\"/ai-agent/skills-practice-summary\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\",\"Agent ็ณปๅˆ—\"],\"tags\":[\"Agent Skills\",\"Agent\",\"AI\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฆ‚ไฝ•็ผ–ๅ†™ไธ€ไธช้ซ˜ๅฏ็”จ็š„ Agent Skill๏ผŸไปŽๆœบๅˆถๆ‹†่งฃๅˆฐ็”Ÿไบงๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-03-05 23:11:25\",\"capture\":\"1. ๅผ•่จ€๏ผšAgent Skills ๆ˜ฏไป€ไนˆ๏ผŸ\\nๅœจๅคง่ฏญ่จ€ๆจกๅž‹๏ผˆLLM๏ผ‰็š„่ฝๅœฐๅฎž่ทตไธญ๏ผŒๅผ€ๅ‘่€…็ปๅธธ้ขไธดไธ€ไธชๅ…ฑๆ€งๆŒ‘ๆˆ˜๏ผšๆจกๅž‹ๅœจ็‰นๅฎš็ป†ๅˆ†้ข†ๅŸŸๅพ€ๅพ€ๅค„ไบŽโ€œ็Ÿฅ่€Œไธ่กŒโ€็š„็Šถๆ€โ€”โ€”่™ฝ็„ถๆ‹ฅๆœ‰ๅšๆ‚็š„็Ÿฅ่ฏ†๏ผŒๅด็ผบไนๆ‰ง่กŒๅคๆ‚ไปปๅŠก็š„ไธ“ไธš่ทฏๅพ„ใ€‚\\nไธบไบ†่งฃๅ†ณ่ฟ™ไธ€็—›็‚น๏ผŒAnthropic ๅœจๅ…ถๆ——่ˆฐๆจกๅž‹ Claude 3.7 ็ณปๅˆ—ไธญๆญฃๅผๆŽจๅ‡บไบ† Claude Skillsใ€‚่ฟ™ไธ€ๅŠŸ่ƒฝๅฐ† LLM ็š„่ƒฝๅŠ›ๅฐ่ฃ…ไธบ็›ด่ง‚็š„โ€œ่ƒฝๅŠ›ๆ–‡ไปถๅคนโ€๏ผŒๆžๅคงๆๅ‡ไบ†ๆ™บ่ƒฝไฝ“็š„ๅฎž็”จๆ€ง๏ผŒๅนถ่ฟ…้€Ÿๅœจๅผ€ๅ‘่€…็คพๅŒบๅผ•ๅ‘็ƒญ่ฎฎใ€‚2025 ๅนด 12 ๆœˆ๏ผŒ้š็€ Anthropic ่”ๅˆ็”Ÿๆ€ไผ™ไผดๆญฃๅผๅผ€ๆบ Agent Skills ่ง„่Œƒ๏ผŒAgent Skills ็š„ๆ ‡ๅ‡†ๅŒ–ไนŸๆญฃๅผๅผ€ๅฏ๏ผˆ่€Œ่ฟ™ไธ€่ƒฝๅŠ›\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/02.Agent ่ง„ๅˆ’ๆจกๅ—\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/02.Agent ่ง„ๅˆ’ๆจกๅ—\",\"frontmatter\":{\"date\":\"2026-02-24 20:52:37\",\"title\":\"ๆŽขๅฏป Agent ๅ†ณ็ญ–ไธญๆžข๏ผš่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„่ง„ๅˆ’่Œƒๅผ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฆ‚ๆžœ่ฏด LLM ๆ˜ฏ Agent ็š„ๅคง่„‘๏ผŒ่ง„ๅˆ’ๆจกๅ—ๅˆ™ๆ˜ฏๅ…ถ่ดŸ่ดฃๅคๆ‚ๅ†ณ็ญ–็š„โ€œๅ‰้ขๅถโ€ใ€‚ๆœฌๆ–‡ๆทฑๅบฆ่งฃๆž„ไบ† Agent ่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„ๆ ธๅฟƒ่ทฏๅพ„๏ผšไปŽไปปๅŠกๅˆ†่งฃ็š„้™ไฝŽ็†ตๅ€ผ๏ผŒๅˆฐ่‡ชๆˆ‘ๅๆ€็š„้—ญ็ŽฏๆŽงๅˆถใ€‚้€š่ฟ‡ๅฏนๆฏ”โ€œ่พน่ตฐ่พน็œ‹โ€็š„ ReAct ๅŠจๆ€ๅ“ๅบ”ๆจกๅผไธŽโ€œ่ฐ‹ๅฎšๅŽๅŠจโ€็š„ Plan-and-Execute ้ข„็ผ–ๆŽ’ๆจกๅผ๏ผŒๆœฌๆ–‡ๆญ็คบไบ†ๅฆ‚ไฝ•้’ˆๅฏน้•ฟ้“พ่ทฏๅทฅ็จ‹ไปปๅŠกๆž„ๅปบ็จณๅฅ็š„ๅ†ณ็ญ–่Œƒๅผ๏ผŒๅŠฉไฝ ๅฎŒๆˆไปŽโ€œ็ฎ€ๅ•ๆ็คบ่ฏโ€ๅˆฐโ€œๅคๆ‚ๆžถๆž„่ฎพ่ฎกโ€็š„่ฎค็Ÿฅ่ทƒ่ฟใ€‚\",\"permalink\":\"/ai-agent/planning-module\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆŽขๅฏป Agent ๅ†ณ็ญ–ไธญๆžข๏ผš่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„่ง„ๅˆ’่Œƒๅผ\",\"date\":\"2026-02-24 20:52:37\",\"capture\":\"1. ๅผ•่จ€\\nๅœจไบบ็ฑปๅคง่„‘ไธญ๏ผŒๅ‰้ขๅถ็šฎๅฑ‚่ดŸ่ดฃๅคๆ‚็š„่ฎค็Ÿฅ่ง„ๅˆ’ใ€ๅ†ณ็ญ–ๅ’Œ็คพไบค่กจ็Žฐใ€‚ๅฏนไบŽไธ€ไธช Agent ่€Œ่จ€๏ผŒ่ง„ๅˆ’ๆจกๅ—ๆญฃๆ˜ฏๅฎƒ็š„โ€œๅ‰้ขๅถโ€โ€”โ€”ๅฎƒๅ†ณๅฎšไบ† Agent ๆ˜ฏๅชไผšๆœบๆขฐๅ“ๅบ”ๆŒ‡ไปค็š„โ€œๆœจๅถโ€๏ผŒ่ฟ˜ๆ˜ฏ่ƒฝ็‹ฌ็ซ‹ๆ‹†่งฃ็›ฎๆ ‡ใ€ๅœจๅคๆ‚็Žฏๅขƒไธญๅฏปๆ‰พๆœ€ไผ˜่ทฏๅพ„็š„โ€œๆ•ฐๅญ—ๅ‘˜ๅทฅโ€ใ€‚\\nAgent ็š„่ง„ๅˆ’่ƒฝๅŠ›ไธป่ฆ็”ฑไธค้ƒจๅˆ†ๅๅŒ้ฉฑๅŠจ๏ผšไปปๅŠกๅˆ†่งฃไธŽ่‡ชๆˆ‘ๅๆ€ใ€‚\\n 2. ไปปๅŠกๅˆ†่งฃ๏ผšๅŒ–็นไธบ็ฎ€็š„็ญ–็•ฅ\\nไปปๅŠกๅˆ†่งฃๆ˜ฏๆŒ‡ๅฐ†ไธ€ไธชๅคๆ‚็š„็›ฎๆ ‡ๆˆ–ไปปๅŠกๆ‹†่งฃไธบๅคšไธชๅ…ทไฝ“ใ€ๅฏๆ“ไฝœ็š„็š„ๅญไปปๅŠก๏ผŒไปฅไพฟ Agent ่ƒฝๅคŸๆ›ด้ซ˜ๆ•ˆๅœฐๆ‰ง่กŒๅ’Œ็ฎก็†ใ€‚ๅ…ถๆœฌ่ดจๆ˜ฏ้™ไฝŽ้—ฎ้ข˜็š„็†ตๅ€ผ๏ผŒ่ฎฉ Agent ่ƒฝๅคŸ่š็„ฆไบŽๆฏไธ€ไธช็ป†ๅฐ็š„็กฎๅฎšๆ€งๆญฅ้ชค๏ผŒไปŽ่€Œ้€ๆญฅ่งฃๅ†ณ้—ฎ้ข˜๏ผŒๆ้ซ˜่ง„ๅˆ’็š„ๅฏ่กŒๆ€งๅ’Œๆ‰ง่กŒๆ•ˆ็އใ€‚\\nๆ นๆฎโ€œ่ง„ๅˆ’โ€ไธŽโ€œๆ‰ง่กŒโ€ๅ‘\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/03.ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผšๅฐ†้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/03.ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผšๅฐ†้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"frontmatter\":{\"date\":\"2026-02-06 15:48:23\",\"title\":\"ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผš้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผš้ขๅฏนๅฑ‚ๅ‡บไธ็ฉท็š„ Promptใ€MCPใ€Skills ๅ’Œ Subagents๏ผŒๅพˆๅคšๅผ€ๅ‘่€…ๅ’Œไบงๅ“็ป็†ๅธธๆ„Ÿๅˆฐๅ›ฐๆƒ‘๏ผš่ฟ™ไบ›็ป„ไปถ็ฉถ็ซŸๆ˜ฏ้‡ๅค้€ ่ฝฎๅญ๏ผŒ่ฟ˜ๆ˜ฏๅ„ๅธๅ…ถ่Œ็š„็งฏๆœจ๏ผŸๆœฌๆ–‡ๅฐ†ๆทฑๅบฆๆ‹†่งฃ Agentic ็”Ÿๆ€็š„ไบ”ๅคงๆ ธๅฟƒๆ”ฏๆŸฑ๏ผŒๆญ็คบๅฆ‚ไฝ•้€š่ฟ‡ไผ˜้›…็š„ๆžถๆž„่ฎพ่ฎกๅฎž็ŽฐๅๅŒ้—ญ็Žฏ๏ผŒๅฐ†้›ถๆ•ฃ็š„ AI ็ป„ไปถๆ‹ผ่ฃ…ๆˆไธ€ๅฅ—ๅฏๆŒ็ปญ่ฟ›ๅŒ–็š„ AI ๅŽŸ็”Ÿๆ“ไฝœ็ณป็ปŸ๏ผŒๆŠŠ็ขŽ็‰‡ๅŒ–็š„ AI ่ƒฝๅŠ›่ฝฌๅŒ–ไธบ้ซ˜ๅฏ็”จ็š„็”ŸไบงๅŠ›ๆตใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/ai-practice/agent_components_zh.png\",\"permalink\":\"/ai-agent/composition-ai-components\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"],\"tags\":[\"Agent\",\"AI\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผš้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"date\":\"2026-02-06 15:48:23\",\"capture\":\"<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/ai-practice/agent_components_zh.png\\\" style=\\\"width: 100%; border-radius: 8px; margin-bottom: 20px;\\\" alt=\\\"about site background\\\">\\n 1. ๅผ•่จ€\\n> ้—ฎ้ข˜๏ผšๅœจๆ™บ่ƒฝไฝ“็”Ÿๆ€้‡Œ๏ผŒๅ„ไธช็ป„ไปถๅˆฐๅบ•ๆ˜ฏๆ€ŽไนˆๅๅŒๅทฅไฝœ็š„๏ผŸ\\nๅฝ“ๅ‰๏ผŒAgent๏ผˆๆ™บ่ƒฝไฝ“๏ผ‰ๆŠ€ๆœฏๅ‘ๅฑ•่ฟ…็Œ›๏ผŒๅ„็ง่ฎพ่ฎกๆจกๅผใ€ๆ ธๅฟƒ็ป„ไปถไธŽๅทฅไฝœๆœบๅˆถๅฑ‚ๅ‡บไธ็ฉทใ€‚้ขๅฏน็นๆ‚็š„ๆ™บ่ƒฝไฝ“็”Ÿๆ€\"},{\"url\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"relativePath\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"frontmatter\":{\"date\":\"2025-10-24 11:05:50\",\"title\":\"ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจ AI ้‡ๅก‘่ฝฏไปถๅทฅ็จ‹็š„ไปŠๅคฉ๏ผŒๅ…จๆ ˆไธๅ†ๆ˜ฏๆŠ€ๆœฏ็š„็บฟๆ€งๅ ๅŠ ๏ผŒๆญฃๅœจไปŽโ€œๆŠ€ๆœฏๆ ˆๅ †็ Œโ€่ฝฌๅ‘โ€œ่ฎค็Ÿฅๆ ˆ้‡ๆž„โ€ใ€‚ๆœฌๆ–‡ๆๅ‡บ โ€œ(ๅทฅ็จ‹ + ไบงๅ“) ร— AIโ€ ็š„ๆ–ฐๅ…ฌๅผ๏ผŒๅŠฉๅŠ›ๅผ€ๅ‘่€…ๆž„ๅปบโ€œๆดžๅฏŸ-ๆžถๆž„-ๆ ๆ†โ€่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”๏ผŒๅˆฉ็”จ AI ๆ ๆ†่ฎฉ่‡ชๅทฑ่ฟ›ๅŒ–ไธบไปทๅ€ผๅˆ›้€ ่€…ใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"permalink\":\"/fullstack/ai-native\",\"sticky\":1,\"top\":true,\"tags\":[\"ๅ…จๆ ˆ\",\"AI\",\"ไบงๅ“\"],\"categories\":[\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"date\":\"2025-10-24 11:05:50\",\"capture\":\"<script setup>\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n 1. ๅผ•่จ€\\nๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒๅฝ“ๆˆ‘ไปฌ่ฐˆ่ฎบโ€œๅ…จๆ ˆๅทฅ็จ‹ๅธˆโ€ๆ—ถ๏ผŒ่„‘ๆตทไธญๆตฎ็Žฐ็š„ๅพ€ๅพ€ๆ˜ฏไธ€ๅผ ๅ†—้•ฟไธ”ไปคไบบ็–ฒๆƒซ็š„ๆŠ€ๆœฏๅทฅๅบๆธ…ๅ•ใ€‚\\nๅฐฑๅƒๆˆ‘ๆ›พ็ปไปฅไธบ็š„้‚ฃๆ ท๏ผŒๅ…จๆ ˆๅฐฑๆ˜ฏ็บฟๆ€ง็š„ๆŠ€่ƒฝๅ ๅŠ ไธŽ็‰ฉ็†ๅผ็š„ๆŠ€ๆœฏๆ‹ผๆŽฅ๏ผŒๆ˜ฏไธ€็งไพ้ ไบบๅŠ›ๅŽปๅกซ่กฅๆŠ€ๆœฏ้ธฟๆฒŸ็š„โ€œ่ฅฟ่ฅฟๅผ—ๆ–ฏๅผโ€ๅŠชๅŠ›๏ผš\\n* ็บฟๆ€ง็š„ๆŠ€่ƒฝๅ ๅŠ ๏ผšๆˆ‘ไปฌ่ขซ่ฟซๆˆไธบโ€œๅ…จ่ƒฝๆ‰‹โ€๏ผŒๅทฆๆ‰‹็”จ React/Vue ๆž„ๅปบ็ฒพ็พŽ็š„ UI๏ผŒๅณๆ‰‹็”จ Node/Go ็ผ–ๅ†™้ซ˜ๅนถๅ‘ API๏ผŒไธญ้—ด่ฟ˜่ฆๅค„็†ๆ•ฐๆฎๅบ“็š„ ACI\"},{\"url\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/21.ๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense\",\"relativePath\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/21.ๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense\",\"frontmatter\":{\"date\":\"2025-10-23 16:05:50\",\"title\":\"ๅฝ“โ€œๅฎž็Žฐโ€ไธๅ†ๆ˜ฏๅฃๅž’๏ผšๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense๏ผŸ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ AI ่ฎฉไปฃ็ ็”Ÿๆˆ็š„่พน้™…ๆˆๆœฌ่ถ‹่ฟ‘ไบŽ้›ถ๏ผŒโ€œๆŠ€ๆœฏๅฎž็Žฐโ€ไธๅ†ๆ˜ฏไธๅฏ้€พ่ถŠ็š„ๅฃๅž’๏ผŒโ€œไบงๅ“ๆดžๅฏŸโ€่ƒฝๆž„็ญ‘่ตทๆ–ฐ็š„ๆ ธๅฟƒๆŠคๅŸŽๆฒณใ€‚ๆœฌๆ–‡ๆ‹’็ป็Ž„ๅญฆ๏ผŒๅฐ†ๆŠฝ่ฑก็š„ ไบงๅ“ Sense ่งฃๆž„ไธบไธ‰ไธชๆ ธๅฟƒๆ•ฐๅญฆๅ…ฌๅผ๏ผŒๅนถๆไพ›ไธ€ๅฅ—ๅŸบไบŽโ€œ้€†ๅ‘ๅทฅ็จ‹โ€็š„ๅˆปๆ„็ปƒไน ๆŒ‡ๅ—๏ผŒๅŠฉๅŠ›ๅผ€ๅ‘่€…ๅœจ็ฎ—ๅŠ›่ฟ‡ๅ‰ฉ็š„ๆ—ถไปฃ๏ผŒๅฎŒๆˆไปŽโ€œไปฃ็ ๅทฅๅŒ โ€ๅˆฐโ€œไปทๅ€ผๅˆ›้€ ่€…โ€็š„่ฎค็Ÿฅ่ทƒ่ฟใ€‚\",\"sticky\":1,\"top\":true,\"categories\":[\"ไบงๅ“ Sense\",\"AI\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense/engineer-build-product-sense\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฝ“โ€œๅฎž็Žฐโ€ไธๅ†ๆ˜ฏๅฃๅž’๏ผšๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense๏ผŸ\",\"date\":\"2025-10-23 16:05:50\",\"capture\":\"1. ๅผ•่จ€\\nๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒไบงๅ“ Sense๏ผˆไบงๅ“ๆ„Ÿ๏ผ‰ ่ขซ่ง†ไธบไธ€็ง็Ž„ๅญฆใ€‚ๅฎƒไผผไนŽๆ˜ฏไน”ๅธƒๆ–ฏๅผ็š„็ตๅ…‰ไธ€็Žฐ๏ผŒๆˆ–ๆ˜ฏๅผ ๅฐ้พ™ๅผ็š„โ€œ็‹ฌๆ–ญไธ“่กŒโ€ใ€‚\\nไฝ†ๅฏนไบŽๅคงๅคšๆ•ฐๅทฅ็จ‹ๅธˆใ€ไบงๅ“็ป็†ไนƒ่‡ณ็‹ฌ็ซ‹ๅผ€ๅ‘่€…่€Œ่จ€๏ผŒๅฐ†่ƒฝๅŠ›ๅฏ„ๆ‰˜ไบŽโ€œๅคฉ่ต‹โ€ๆ˜ฏๅฑ้™ฉ็š„ใ€‚ๆˆ‘่ฎคไธบ๏ผŒไบงๅ“ Sense ๅนถ้žไธๅฏๆ‰ๆ‘ธ็š„้ป‘้ญ”ๆณ•๏ผŒ่€Œๆ˜ฏไธ€ๅฅ—็ป่ฟ‡้ซ˜้ข‘่ฎญ็ปƒๅŽๅ†…ๅŒ–ไธบๆœฌ่ƒฝ็š„ๆ€็ปด็ฎ—ๆณ•ใ€‚ ๅฐฑๅƒ่ต„ๆทฑ็จ‹ๅบๅ‘˜็œ‹ๅˆฐไธ€ๆฎตไปฃ็ ๅฐฑ่ƒฝๅ—…ๅ‡บ \\\"Code Smell\\\"๏ผˆไปฃ็ ๅผ‚ๅ‘ณ๏ผ‰๏ผŒ่ต„ๆทฑไบงๅ“ไบบไนŸ่ƒฝๅœจ็žฌ้—ดๅˆคๆ–ญไธ€ไธช้œ€ๆฑ‚ๆ˜ฏโ€œ็œŸ็—›็‚นโ€่ฟ˜ๆ˜ฏโ€œไผช้œ€ๆฑ‚โ€ใ€‚\\nไธ€ไธชๆˆๅŠŸ็š„ไบงๅ“ๅ†ณ็ญ–๏ผŒๅพ€ๅพ€ๅ‘็”Ÿๅœจไธ‰ไธช็ปดๅบฆ็š„ไบคๆฑ‡็‚น๏ผš\\n* ็”จๆˆทไปทๅ€ผๆดžๅฏŸ๏ผˆUser Value Insight๏ผ‰๏ผšไธไป…ๅฌๆ‡‚็”จๆˆท่ฏดโ€œๆƒณ่ฆๆ›ดๅฟซ็š„้ฉฌโ€๏ผŒๆ›ด่ƒฝๆดžๅฏŸไป–ๅ…ถๅฎžโ€œๆƒณๆ›ด\"},{\"url\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/10.่ฏปไนฆไธ‰่ฆไธ‰ไธ่ฆ\",\"relativePath\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/10.่ฏปไนฆไธ‰่ฆไธ‰ไธ่ฆ\",\"frontmatter\":{\"date\":\"2025-03-06 11:42:20\",\"title\":\"่ฏปไนฆโ€œไธ‰่ฆโ€ๅ’Œโ€œไธ‰ไธ่ฆโ€\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจไฟกๆฏ็ˆ†็‚ธ็š„ๆ—ถไปฃ๏ผŒ่ฏปไนฆไพ็„ถๆ˜ฏ่Žทๅ–ๆทฑๅบฆ็Ÿฅ่ฏ†ๆœ€้ซ˜ๆ•ˆ็š„ๆ–นๅผไน‹ไธ€ใ€‚ไฝ†โ€œๆง่ตทไนฆโ€ๅนถไธ็ญ‰ไบŽโ€œๆœ‰ๆ”ถ่Žทโ€๏ผŒๆ€Žไนˆ่ฏปๅพ€ๅพ€ๆฏ”่ฏปไป€ไนˆๆ›ด้‡่ฆใ€‚ๆœฌๆ–‡ๆ€ป็ป“ไบ†้ซ˜ๆ•ˆ้˜…่ฏป็š„โ€œไธ‰่ฆโ€ไธŽโ€œไธ‰ไธ่ฆโ€๏ผšไปŽๅฎŒๆ•ด้˜…่ฏป่ง‚ๆ‘ฉๅคงๅธˆๆ€็ปดใ€ๅธฆ็€้—ฎ้ข˜ๆž„ๅปบ็Ÿฅ่ฏ†ๆ ‘๏ผŒๅˆฐ้€š่ฟ‡่ฎจ่ฎบๆฃ€้ชŒ็†่งฃ๏ผ›ๅŒๆ—ถๆ้†’้˜…่ฏป่€…่ญฆๆƒ•ๅ“€ๆ€จๅฟƒๆ€ๅฏน้˜…่ฏปๅˆ่กท็š„ๅผ‚ๅŒ–ใ€้ฟๅ…้™ทๅ…ฅๅฏน็‰ฉ็†ๅช’ไป‹็š„โ€œ็Žฉ็‰ฉไธงๅฟ—โ€๏ผŒไปฅๅŠๅˆ‡ๅฟŒ่„ฑ็ฆป็Žฐๅฎž็š„โ€œ็œŸ็ฉบโ€้˜…่ฏปใ€‚้˜…่ฏปไธไป…ๆ˜ฏๅ‘ๅ†…ๆŽข็ดข็š„็ฒพ็ฅžไน‹ๆ—…๏ผŒๆ›ดๆ˜ฏๅ‘ๅค–็†่งฃ็œŸๅฎžไธ–็•Œใ€ๅˆ›้€ ็คพไผšไปทๅ€ผ็š„ๅฎž็”จๅทฅๅ…ทใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/reading_need.png\",\"permalink\":\"/pages/growth/reading-tips\",\"sticky\":1,\"top\":true,\"categories\":[\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\"],\"tags\":[\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ฏปไนฆโ€œไธ‰่ฆโ€ๅ’Œโ€œไธ‰ไธ่ฆโ€\",\"date\":\"2025-03-06 11:42:20\",\"capture\":\"<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/reading_need.png\\\" style=\\\"width: 100%; border-radius: 8px; margin-bottom: 20px;\\\" alt=\\\"about site background\\\">\\n 1. ๆˆ‘ไปฌไธบไป€ไนˆ้œ€่ฆ่ฏปไนฆ๏ผŸ\\n่ฏปไนฆๆ˜ฏไปŽๅค–็•ŒๆŽฅๅ—ไฟกๆฏ็š„ไธ€็งๆ–นๅผ๏ผŒไธŽ่Šๅคฉใ€ๆต่งˆ็ฝ‘้กตใ€ๅฌๆ’ญๅฎขใ€็œ‹็”ต่ง†ๅนถๆ— ๆœฌ่ดจๅŒบๅˆซใ€‚ไฝ†ไนฆ่ฟ™็งๅช’ไป‹ไธŽๅ…ถไป–ไฟกๆฏๅช’ไป‹็›ธๆฏ”๏ผŒๆœ‰ๅ…ถ็‹ฌๆœ‰็š„ไผ˜ๅŠฟ๏ผš\\n- ๆทฑๅบฆไธŽไธฅ่ฐจ๏ผšไนฆ็ฑๅพ€ๅพ€ๆ˜ฏๅˆ›ไฝœ่€…ๅคšๅนดๆ€่€ƒใ€้•ฟๆœŸ\"},{\"url\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"relativePath\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"frontmatter\":{\"date\":\"2024-01-15 22:16:00\",\"title\":\"่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไนฆๆŽฅไธŠๆ–‡ใ€Šๅ‘ๅ†…ๆ€ๅ˜ใ€‹๏ผŒๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ๅœจๅŽ็–ซๆƒ…ๆ—ถไปฃไปŽโ€œ้—ญๅ…ณโ€่ตฐๅ‘โ€œๅ‘ๅค–ไฝ“้ชŒโ€็š„ๅฐ่ฏ•ไธŽๅฟƒๅพ—ใ€‚้ขๅฏนๆœบๆขฐๆ‰ง่กŒๅธฆๆฅ็š„โ€œ็›ฎๆ ‡้šง้“โ€ๆ•ˆๅบ”๏ผŒ็ฌ”่€…ๅฐ่ฏ•่ทณๅ‡บๅ•ไธ€็š„็บฟๆ€ง่ง„ๅˆ’๏ผŒ่ฝฌ่€Œๅฏปๆฑ‚ๆ›ดๅบ•ๅฑ‚็š„่ฎค็Ÿฅ้€ป่พ‘ใ€‚ๆ–‡็ซ ้€š่ฟ‡้‡่ฏปใ€Š่ฆไบ‹็ฌฌไธ€ใ€‹ๅปบ็ซ‹ๅนณ่กก่ง‚๏ผŒๅˆฉ็”จ็ณป็ปŸๆ€็ปด๏ผˆๅขžๅผบ/่ฐƒ่Š‚ๅ›ž่ทฏ๏ผ‰ๆž„ๅปบๆดžๅฏŸๅŠ›๏ผŒๅนถ้‡ๆ–ฐๆ‹พ่ตทๆ•ฐๅญฆๆ€็ปด๏ผˆๆฆ‚็އใ€็จ€็–ๆ€งใ€ๅคšๆ ทๆ€ง๏ผ‰ไธŽ AI ่ง†่ง’ใ€‚่ฟ™ๆ˜ฏไธ€ๆฌกๅ…ณไบŽๅฆ‚ไฝ•็”จ็ง‘ๅญฆๆจกๅž‹ๆ›ฟไปฃๆœบๆขฐๆ‰ง่กŒ๏ผŒไปŽๆœฌ่ดจไธŠ้‡ๆž„ไธชไบบ่ฎค็Ÿฅไฝ“็ณป็š„ๆทฑๅบฆๅค็›˜ใ€‚\",\"permalink\":\"/growth/outer-experience\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/outer_experience_bg.png\",\"sticky\":1,\"top\":true,\"tags\":[\"็ณป็ปŸๆ€็ปด\",\"ๆ•ฐๅญฆๆ€็ปด\",\"ๆจกๅž‹ๆ€็ปด\",\"AI\",\"็–ซๆƒ…\"],\"categories\":[\"ไธชไบบๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"date\":\"2024-01-15 22:16:00\",\"capture\":\"1. ๅ†™ๅœจๅ‰้ข\\nๆ—ถๅ…‰่่‹’๏ผŒ็–ซๆƒ…ๅทฒ็ป็”ฑๆ”พๅผ€็Šถๆ€็ปง็ปญๆผ”ๅ˜ไธบ่ฟ‡ๅŽปๅผ็Šถๆ€๏ผŒๆˆ‘ไปฌไบบ็ฑปไนŸไปŽใ€Ž้—ญๅ…ณใ€่ตฐๅ‘ไบ†ใ€Ž่‡ช็”ฑใ€็š„็คพไผš็”Ÿๆดป็Šถๆ€ใ€‚็ฌ”่€…ไฝœไธบ็คพไผšไธญ็š„ๆ™ฎ้€šไธ€ๅ‘˜๏ผŒ่‡ช็„ถไนŸไธ็ฆปๅค–๏ผŒๅœจ 2023 ๅนดๅˆๆด‹ๆด‹ๆด’ๆด’ๅ†™ไบ†ไธ€็ฏ‡ๅœจๅฅๅบทใ€่ฏปไนฆไธŽๅญฆไน ใ€ๆ—ถ้—ด็ฎก็†ๅ’Œๆททๅˆๅทฅไฝœๅˆถๅ‡ ไธชๆ–น้ข็š„ๅฎž่ทตไธŽ็†่งฃ๏ผˆๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ๏ผ‰๏ผŒๅฐฑๅผ€ๅผ€ๅฟƒๅฟƒๅœฐๅ‘ๅ‰็œ‹๏ผŒๅญฆ็€ๅ‘ๅค–ไฝ“้ชŒไบ†ใ€‚\\n้‚ฃไนˆ้—ฎ้ข˜ๆฅไบ†๏ผŒ็›ธๆฏ”ไน‹ๅ‰ๅ†™ๅ‡บ้•ฟๆ–‡๏ผŒ็ฌ”่€…ๅˆๆ˜ฏ่ฟ‘ไธ€ๅนดๆฒกๆœ‰ๅ‘ๅค–่พ“ๅ‡บ่ฝฏๆ–‡ไบ†ใ€‚ๅ› ๆญค๏ผŒไนฆๆŽฅไธŠๆ–‡๏ผŒๆœฌๆฌก็ปง็ปญๆ–ฐๅขžไธ€็ฏ‡ไธญ็Ÿญๆ–‡๏ผŒๆผซ่ฐˆไธ€ไธ‹็–ซๆƒ…ๅŽ็š„ๅ‘ๅค–ไฝ“้ชŒใ€‚\\nๅœจๅ€’้€ผ่‡ชๅทฑๅ…ณๆณจ่บซไฝ“ๅฅๅบทๅ’Œๆ—ถ้—ด็ฎก็†ๅŽ๏ผŒ่™ฝ็„ถๅœจไฝ“้‡ๅ’Œๆ•ˆ็އไธคไธชๆ–น้ขๆœ‰ไธ€ๅฎš็š„ๆญฃๅ‘ๆ•ˆๆžœ๏ผŒไฝ†็ฌ”่€…ๅœจ่ฟž็ปญๅšๆŒ่ฝๅœฐๆ‹†่งฃๅ‡บๆฅ็š„็›ฎๆ ‡่ฟ‡็จ‹ไธญ๏ผŒๆœ‰ๆ—ถ\"},{\"url\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"relativePath\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"frontmatter\":{\"date\":\"2023-01-08 10:23:50\",\"title\":\"ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅฆ‚ไฝ•้ฟๅ…ๅ†…่€—๏ผŸๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ไธ‰ๅนด้—ด็š„โ€œ่‡ชๆˆ‘้‡ๆž„โ€ๅฎž้ชŒใ€‚ๆ–‡็ซ ๆ‘’ๅผƒไบ†ๅ•็บฏ็š„ๆƒ…็ปชๅฎฃๆณ„๏ผŒ่€Œๆ˜ฏๅˆฉ็”จๅˆ†่งฃๆณ•ใ€ๆธ่ฟ›ๆ˜Ž็ป†ๅ’Œ็ปŸ่ฎกๅˆ†ๆž็ญ‰ๅทฅ็จ‹ๆ€็ปด๏ผŒๅฏนๅฅๅบท้ฅฎ้ฃŸใ€็Ÿฅ่ฏ†ไฝ“็ณปใ€ๆ—ถ้—ดๅˆ†้…ๅŠ่ฟœ็จ‹ๅไฝœ่ฟ›่กŒไบ†็ณป็ปŸๅŒ–ๆ”น้€ ใ€‚่ฟ™ๆ˜ฏไธ€ไปฝๅ…ณไบŽๅฆ‚ไฝ•ๅœจๆ— ๅธธ็š„ๅค–้ƒจ็Žฏๅขƒไธญ๏ผŒๅปบ็ซ‹ๅ†…ๅœจ็กฎๅฎšๆ€ง็งฉๅบ็š„่กŒๅŠจๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/growth/inner-experience\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/refactor_life.png\",\"sticky\":1,\"top\":true,\"categories\":\"ไธชไบบๆˆ้•ฟ\",\"tags\":[\"ๅฅๅบท\",\"ๆ—ถ้—ด\",\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\",\"่ฟœ็จ‹ๅไฝœ\",\"็–ซๆƒ…\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"date\":\"2023-01-08 10:23:50\",\"capture\":\"<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/refactor_life.png\\\" alt=\\\"็›ฎๆ ‡ๅˆฐ่ทต่กŒๆ€็ปดๆต็จ‹็คบๆ„ๅ›พ\\\" style=\\\"width: 100%; border-radius: 8px;\\\" />\\n ๅ†™ๅœจๅ‰้ข\\n่‡ชๅŽปๅนด 7 ๆœˆไปฝ่ฟ็งปๅ‡ ็ฏ‡ๆ—งๆ–‡ๅŽ๏ผŒ็ฌ”่€…ๅฐฑๆฒกๆœ‰็ปง็ปญๅ†™่ฝฏๆ–‡ไบ†๏ผŒๆƒณไธๅˆฐๅ†ๆฌกๅ†™ๆ–‡็ซ ๆ—ถ็–ซๆƒ…ๆ”ฟ็ญ–ๅทฒ็ป่ฐƒๆ•ด๏ผŒไธ”ๅˆๆญฅๅฎž็Žฐไบ†ๅผ€ๆ”พใ€‚้‚ฃไนˆ้—ฎ้ข˜ๆฅไบ†๏ผŒไธบไป€ไนˆ่ฆ็ปง็ปญๅ†™ๆ–‡็ซ ๅ‘ข๏ผŸๆฆ‚ๆ‹ฌๆฅ่ฎฒ๏ผŒๆœ‰ไธคไธชๆ–น้ข็š„ๅŽŸๅ› ๏ผš\\n* ็›ดๆŽฅๅŽŸๅ› ๏ผš็–ซๆƒ…่ฟ™ไธ‰ๅนด๏ผŒๆฏไธชไบบ้ƒฝไฝ“้ชŒๅˆฐไบ†ไธๅŒไบŽไน‹ๅ‰็š„ โ€œ้šพโ€๏ผŒไนŸ้ƒฝๆœ‰\"},{\"url\":\"/31.ๅผ€ๆบๆดžๅฏŸ/00.overview\",\"relativePath\":\"/31.ๅผ€ๆบๆดžๅฏŸ/00.overview\",\"frontmatter\":{\"date\":\"2026-04-10 14:52:34\",\"title\":\"ๅผ€ๆบๆดžๅฏŸ\",\"permalink\":\"/repo-insight/overview\",\"categories\":[\"ๅผ€ๆบๆดžๅฏŸ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅผ€ๆบๆดžๅฏŸ\",\"date\":\"2026-04-10 14:52:34\",\"capture\":\"ๆœฌไธ“ๆ ๆ‰€ๆœ‰ๆบ็ ่งฃ่ฏปๆ–‡็ซ ๏ผŒๅ‡ๅ€ŸๅŠฉไบ†ๆœฌไบบๅผ€ๆบ็š„ repo-insight Agent Skill ๆฅ่พ…ๅŠฉ็”Ÿๆˆใ€‚\\nrepo-insight ๆ˜ฏไธ€ๆฌพไธ“ๆณจไบŽไผ˜็ง€ๅผ€ๆบ้กน็›ฎไปฃ็ ๅบ“่งฃ่ฏป็š„ๆ™บ่ƒฝๅŠฉๆ‰‹๏ผŒๆไพ› GitHub URL ๆˆ–ๆœฌๅœฐ็›ฎๅฝ•็š„ไธ€้”ฎๆทฑๅบฆๅˆ†ๆž่ƒฝๅŠ›ใ€‚\\n- ไธ€้”ฎๅˆ†ๆž - ๆ”ฏๆŒ GitHub URL ๆˆ–ๆœฌๅœฐ็›ฎๅฝ•ๅˆ†ๆž\\n- ๆทฑๅบฆๆŠฅๅ‘Š - ็”Ÿๆˆ้กน็›ฎๆฆ‚่ฟฐใ€ๆžถๆž„ๅˆ†ๆžใ€ๆ ธๅฟƒๆจกๅ—่งฃ่ฏป\\n- ไธญๆ–‡ๆ”ฏๆŒ - ่‡ชๅŠจ็ฟป่ฏ‘ READMEใ€็”Ÿๆˆไธญๆ–‡ไปฃ็ ๆณจ้‡Š\\n- ๅ…จ่‡ชๅŠจๆ‰ง่กŒ - ่ฐƒ็”จๅŽๆ— ้œ€ไธญ้—ดไบคไบ’\\nไธคไธช Skill ๅ‡ๅ…ทๅค‡ไปฅไธŠ่ƒฝๅŠ›๏ผŒๅฏๆ นๆฎ้œ€ๆฑ‚้€‰ๆ‹ฉไฝฟ็”จใ€‚\\nไบ†่งฃ repo-insight โ†’\\n ๅผ€ๆบ้กน็›ฎ่งฃ่ฏป\\n| ้กน็›ฎ | ็ฎ€ไป‹ |\\n|----\"},{\"url\":\"/31.ๅผ€ๆบๆดžๅฏŸ/01.fetch-event-source ๆบ็ ่งฃ่ฏป\",\"relativePath\":\"/31.ๅผ€ๆบๆดžๅฏŸ/01.fetch-event-source ๆบ็ ่งฃ่ฏป\",\"frontmatter\":{\"date\":\"2026-04-10 14:43:09\",\"title\":\"fetch-event-source ๆบ็ ่งฃ่ฏป\",\"categories\":[\"ๅผ€ๆบๆดžๅฏŸ\"],\"permalink\":\"/repo-insight/fetch-event-source\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"fetch-event-source ๆบ็ ่งฃ่ฏป\",\"date\":\"2026-04-10 14:43:09\",\"capture\":\"็ฌฌไธ€้ƒจๅˆ†: ไธšๅŠกไปทๅ€ผ็ฏ‡\\n ้กน็›ฎๅฎšไฝ\\n`@microsoft/fetch-event-source` ๆ˜ฏๅพฎ่ฝฏๅผ€ๆบ็š„ไธ€ไธชๅŸบไบŽ Fetch API ็š„ Server-Sent Events (SSE) ๅฎขๆˆท็ซฏๅบ“,ไธบๆต่งˆๅ™จๆไพ›ไบ†ๆ›ดๅผบๅคงใ€ๆ›ด็ตๆดป็š„ๆœๅŠกๅ™จๆŽจ้€ไบ‹ไปถๆŽฅๆ”ถ่ƒฝๅŠ›ใ€‚\\n ่งฃๅ†ณ็š„ๆ ธๅฟƒ็—›็‚น\\nๅŽŸ็”Ÿๆต่งˆๅ™จ็š„ `EventSource` API ๅญ˜ๅœจไปฅไธ‹้™ๅˆถ:\\n| ้™ๅˆถ | ่ฏดๆ˜Ž |\\n|------|------|\\n| ไป…ๆ”ฏๆŒ GET ่ฏทๆฑ‚ | ๆ— ๆณ•ไฝฟ็”จ POSTใ€PUT ็ญ‰ๅ…ถไป– HTTP ๆ–นๆณ• |\\n| ๆ— ๆณ•่‡ชๅฎšไน‰่ฏทๆฑ‚ๅคด | ๆ— ๆณ•ไผ ้€’่ฎค่ฏไปค็‰Œใ€ๅ†…ๅฎน็ฑปๅž‹็ญ‰่‡ชๅฎšไน‰ๅคด้ƒจ |\\n| ๆ— ๆณ•ๅ‘้€่ฏทๆฑ‚ไฝ“ | ๆ‰€ๆœ‰ๅ‚ๆ•ฐๅฟ…้กป็ผ–็ ๅœจ\"},{\"url\":\"/01.ๅ…จๆ ˆ/00.overview\",\"relativePath\":\"/01.ๅ…จๆ ˆ/00.overview\",\"frontmatter\":{\"date\":\"2026-03-19 23:05:50\",\"title\":\"ๅ…จๆ™ฏไธ€่งˆ\",\"description\":\"ๆœฌ็ณปๅˆ—ๅ›ด็ป•็Žฐไปฃๅ…จๆ ˆๅผ€ๅ‘็š„่ƒฝๅŠ›ไฝ“็ณปๅฑ•ๅผ€๏ผŒไปŽ AI ๆ—ถไปฃ็š„ๅทฅ็จ‹ๆ€็ปดๅ‡บๅ‘๏ผŒ่ฆ†็›–ๅ‰็ซฏๅทฅ็จ‹๏ผˆReact/Vue/CSS๏ผ‰ใ€ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป๏ผˆTypeScript/JavaScript๏ผ‰ใ€ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่็ญ‰ๆ ธๅฟƒ้ข†ๅŸŸ๏ผŒๅธฎๅŠฉๆž„ๅปบไปŽ\\\"่ฎค็Ÿฅๅฑ‚ โ†’ ๆŠ€ๆœฏ้ข†ๅŸŸ โ†’ ๅทฅ็จ‹่ƒฝๅŠ› โ†’ ๅŸบ็ก€่ฎพๆ–ฝ\\\"็š„ๅฎŒๆ•ดๅ…จๆ ˆ็Ÿฅ่ฏ†ๅ›พ่ฐฑใ€‚\",\"categories\":[\"ๅ…จๆ ˆ\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"permalink\":\"/fullstack/overview\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ…จๆ™ฏไธ€่งˆ\",\"date\":\"2026-03-19 23:05:50\",\"capture\":\"<script setup\\nimport ArticleCardList from '@fragment/components/ArticleCardList.vue'\\nimport { fullStackCategories } from '@fragment/data/full-stack-data'\\n</script>\\n<ArticleCardList :categories=\\\"fullStackCategories\\\" />\"},{\"url\":\"/10.ไบงๅ“ Sense/00.ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"relativePath\":\"/10.ไบงๅ“ Sense/00.ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"frontmatter\":{\"date\":\"2026-03-19 23:05:50\",\"title\":\"ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"description\":\"ไบงๅ“ Sense ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ๏ผŒๆถต็›– AI ไบงๅ“่ง‚ๅฏŸใ€ๅคๅˆๅž‹ไบบๆ‰ๆˆ้•ฟใ€ๅ•†ไธšๅŒ–ๆ€่€ƒๅŠๆ–นๆณ•่ฎบๆ€ป็ป“็ญ‰ใ€‚\",\"categories\":[\"ไบงๅ“ Sense\",\"AI\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"date\":\"2026-03-19 23:05:50\",\"capture\":\"> * ่ฟฝๆฑ‚้ซ˜ๆ ๆ†โ€”โ€”ไปฅๆž็ฎ€ๆŠ€ๆœฏ่งฃๅ†ณๅคๆ‚้—ฎ้ข˜๏ผŒๆ‹’็ปไธบ็‚ซๆŠ€่€Œ่ฎพ่ฎก็š„ไผช้œ€ๆฑ‚๏ผ›\\n> * ๅนณ่กกๆ„Ÿๆ€งไธŽ็†ๆ€งโ€”โ€”ๆ—ขๅ…ฑๆƒ…็”จๆˆท็š„็œŸๅฎžๅœบๆ™ฏไธŽๆƒ…็ปช๏ผŒๅˆๅ†ท้™่ฟฝๆบฏ็—›็‚นๆœฌ่ดจ๏ผŒ่ฎฉไบงๅ“ๆ—ขๆœ‰ๆธฉๅบฆ๏ผŒๅˆไธ่‡ณไบŽๆฒฆไธบๅŠŸ่ƒฝ็š„ๅ †็ Œใ€‚\\n่งฃๆž„่ฟ™็งไบงๅ“ Sense ็š„ๅŸบ็ก€ๅœจไบŽๅฏนๆŠ•ๅ…ฅไบงๅ‡บๆฏ”๏ผˆROI๏ผ‰็š„ๆž่‡ด่ฟฝๆฑ‚ไธŽๅฏนไบบๆ€ง็š„ๆทฑๅบฆๅ‰–ๆž๏ผš\\n* ไธ€ๆ–น้ข๏ผŒๅ“่ถŠ็š„ไบงๅ“ๅ—…่ง‰ๆ„ๅ‘ณ็€ๅฏปๆ‰พโ€œ้ซ˜ๆ ๆ†่งฃโ€๏ผŒ็”จๆœ€ๅ…‹ๅˆถ็š„ๆŠ€ๆœฏๅคๆ‚ๅบฆๅŽปๆ’ฌๅŠจๆœ€ๅนฟๆณ›ไธ”ๅผบ็ƒˆ็š„็”จๆˆทไปทๅ€ผ๏ผŒๆžœๆ–ญ่ง„้ฟไธบไบ†ๆŠ€ๆœฏ่€ŒๆŠ€ๆœฏ็š„ไผช้œ€ๆฑ‚้™ท้˜ฑใ€‚\\n* ๅฆไธ€ๆ–น้ข๏ผŒๆ—ข้œ€่ฆ่ฎพ่บซๅค„ๅœฐๆ„Ÿ็Ÿฅ็”จๆˆท็š„็œŸๅฎžไฝฟ็”จๅœบๆ™ฏไธŽๆƒ…็ปช๏ผŒๅˆๅฟ…้กปไฟๆŒ็†ๆ€งๅŽป่ฟฝ้—ฎ็—›็‚น็š„ๆ นๆบ๏ผŒ็กฎไฟไบงๅ“ๆ—ขไธๆฒฆไธบ่‡ƒ่‚ฟ็š„้œ€ๆฑ‚่ฎธๆ„ฟๆฑ ๏ผŒไนŸไธๅ˜ๆˆ็ผบไนไบบๆ€งๆธฉๅบฆ็š„ๅ†ฐๅ†ทๆœบๅ™จใ€‚\\n<im\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/00.AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/00.AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ\",\"frontmatter\":{\"title\":\"AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"date\":\"2026-03-15 16:00:00\",\"description\":\"ๅ…จๆ™ฏๅผ AI ๅญฆไน ไธŽๅฎž่ทต็Ÿฅ่ฏ†ๅบ“๏ผŒ็ณป็ปŸๆฒ‰ๆท€ AI Agent ่ฎพ่ฎกๆจกๅผใ€ๅคงๆจกๅž‹ๅทฅ็จ‹ๅŒ–่ฝๅœฐใ€ๅผ€ๆบๅฐ้กน็›ฎๅŠ็คพๅŒบๆดปๅŠจ็ป้ชŒๆ€ป็ป“๏ผŒๆŒ็ปญ่ฟญไปฃไปŽ็†่ฎบๅˆฐ็”Ÿไบง็š„ๅฎŒๆ•ดๆ–นๆณ•่ฎบใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/llm_learning_bg_1.png\",\"permalink\":\"/ai-learning/overview\",\"categories\":[\"ai-practice\"],\"tags\":[\"AI\",\"LLM\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"date\":\"2026-03-15 16:00:00\",\"capture\":\"<!-- ็ฒพ้€‰ไธ“้ข˜ --\\n<script setup>\\nimport ArticleCardList from '@fragment/components/ArticleCardList.vue'\\nimport { aiLearningCategories } from '@fragment/data/ai-learning-data'\\n</script>\\n<ArticleCardList :categories=\\\"aiLearningCategories\\\" />\"},{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/02.CSSๅทฅ็จ‹ๅŒ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/02.CSSๅทฅ็จ‹ๅŒ–\",\"frontmatter\":{\"date\":\"2026-03-10 22:05:50\",\"title\":\"ไปŽๅŽŸๅญๅŒ–ๅˆฐๅ˜ไฝ“้ฉฑๅŠจ๏ผš็Žฐไปฃ CSS ๅทฅ็จ‹ๅŒ–็š„ๆžถๆž„ๆผ”่ฟ›ไธŽๆททๅˆๅฎž่ทตๆŒ‡ๅ—\",\"description\":\"ๆœฌๆ–‡็ณป็ปŸๅ‰–ๆžไธปๆต CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆ็š„ๅบ•ๅฑ‚้€ป่พ‘๏ผŒๆๅ‡บโ€œๆ ทๅผ่ต„ไบง ROIโ€่ฏ„ไผฐๆจกๅž‹๏ผŒๅนถ้’ˆๅฏน Vue/React ็”Ÿๆ€็ป™ๅ‡บไบ†้ขๅ‘ AI ๆ—ถไปฃ็š„ไผไธš็บงๆททๅˆๆžถๆž„้€‰ๅž‹ๅปบ่ฎฎใ€‚\",\"permalink\":\"/full-stack/css-engineering\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"top\":true,\"categories\":[\"ๅ…จๆ ˆ\"],\"tags\":[\"ๅ…จๆ ˆ\",\"CSS\",\"ๅทฅ็จ‹ๅŒ–\",\"tailwindcss\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไปŽๅŽŸๅญๅŒ–ๅˆฐๅ˜ไฝ“้ฉฑๅŠจ๏ผš็Žฐไปฃ CSS ๅทฅ็จ‹ๅŒ–็š„ๆžถๆž„ๆผ”่ฟ›ไธŽๆททๅˆๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-03-10 22:05:50\",\"capture\":\"1. ๅผ•่จ€๏ผšไธปๆต CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆๆœ‰ๅ“ชไบ›๏ผŸ\\nๅœจ็Žฐไปฃๅ‰็ซฏๅผ€ๅ‘ไธญ๏ผŒ้š็€้กน็›ฎๅคๆ‚ๅบฆ็š„ๆ€ฅๅ‰งๆๅ‡๏ผŒๅŽŸ็”Ÿ CSS ๅธธๅธธ้ขไธดๅ…จๅฑ€ๆฑกๆŸ“ใ€ๅค็”จๅ›ฐ้šพใ€ๅฑ‚็บงๅตŒๅฅ—่ฟ‡ๆทฑไปฅๅŠ็ปดๆŠคๆˆๆœฌๆž้ซ˜็ญ‰้—ฎ้ข˜ใ€‚ไธบไบ†่งฃๅ†ณ่ฟ™ไบ›็—›็‚น๏ผŒ็คพๅŒบๅคšๅนดๆฅไธๆ–ญๆŽข็ดข๏ผŒๆฒ‰ๆท€ๅ‡บไบ†ๅคš็งไธปๆต็š„ CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆใ€‚\\n้™คๅŽŸ็”Ÿ CSS ไน‹ๅค–๏ผŒไธปๆตๆ–นๆกˆ่ฟ˜ๅŒ…ๆ‹ฌ้ข„ๅค„็†ๅ™จใ€CSS-in-JSใ€CSS Moduleใ€Scoped CSSใ€ๅŽŸๅญๅŒ– CSS ็ญ‰ใ€‚BEM ไฝœไธบไธ€็งๅŸบไบŽๅ‘ฝๅ็บฆๅฎšๆฅ่ง„้ฟๅ‘ฝๅๅ†ฒ็ช็š„ๆ—ฉๆœŸๆ–นๆกˆ๏ผŒๅœจ็Žฐไปฃๅ‰็ซฏๅทฅ็จ‹ไธญๅทฒๅŸบๆœฌไธๅ†ไฝฟ็”จ๏ผŒๅ› ๆญคๆœฌๆ–‡ไธๅ†ๅฏนๅ…ถๅฑ•ๅผ€่ฏฆ็ป†ๅˆ†ๆžใ€‚\\n> CSS ๅ‘ฝๅ่ง„่Œƒ๏ผˆBEM๏ผ‰๏ผš้€š่ฟ‡ไธฅๆ ผ็š„ๅ‘ฝๅ็บฆๅฎš๏ผˆๅฆ‚ Block__Element--Modif\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/20.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Agent\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/20.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Agent\",\"frontmatter\":{\"date\":\"2026-03-06 00:37:58\",\"title\":\"ๅ‘Šๅˆซๆ‰‹ๅŠจ Loop๏ผšๅ€ŸๅŠฉ Claude Agent SDK ๅฎž็Žฐ Agent ็š„ๅทฅ็จ‹ๅŒ–้—ญ็Žฏ\",\"description\":\"ๅœจ Agent ๆŠ€ๆœฏๅฟซ้€Ÿ่ตฐๅ‘ๆˆ็†Ÿ็š„ไปŠๅคฉ๏ผŒๅฆ‚ไฝ•ไฝŽๆˆๆœฌๆž„ๅปบๅ…ทๅค‡โ€œ่‡ชไธปๆดžๅฏŸโ€่ƒฝๅŠ›็š„ๆ™บ่ƒฝไฝ“๏ผŸๆœฌๆ–‡ๆทฑๅบฆๆ‹†่งฃ Anthropic ๅฎ˜ๆ–นๆŽจๅ‡บ็š„ Claude Agent SDK๏ผŒ่งฃๆžๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆ‰˜็ฎก Agent Loop ๅ’Œไผš่ฏๆŒไน…ๅŒ–ๆœบๅˆถ๏ผŒ่งฃๅ†ณ Agent ๅผ€ๅ‘ไธญ็š„็Šถๆ€็ฎก็†้šพ้ข˜ใ€‚ๆ–‡็ซ ้€š่ฟ‡ไปŽๆ— ็Šถๆ€ไบคไบ’ๅˆฐๅ…ทๅค‡ๆตๅผ่พ“ๅ‡บ่ƒฝๅŠ›็š„ TUI ่‡ชๅŠจๅŒ–ๅทฅๅ…ท่ฟ›้˜ถๅฎžๆˆ˜๏ผŒๅฑ•็คบไบ†ๆž„ๅปบไฝŽๆˆๆœฌใ€้ซ˜ๅฏ็”จ AI ๅŽŸ็”Ÿๅบ”็”จ็š„ๅฎŒๆ•ด่ทฏๅพ„ใ€‚\",\"permalink\":\"/ai-practice/claude-agent-sdk-basic-build\",\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"],\"tags\":[\"Agent\",\"Agent SDK\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ‘Šๅˆซๆ‰‹ๅŠจ Loop๏ผšๅ€ŸๅŠฉ Claude Agent SDK ๅฎž็Žฐ Agent ็š„ๅทฅ็จ‹ๅŒ–้—ญ็Žฏ\",\"date\":\"2026-03-06 00:37:58\",\"capture\":\"1. ๅผ•่จ€\\nๅฝ“ๅ‰๏ผŒAI Agent ็š„ๆผ”่ฟ›ๅทฒ่ฟ›ๅ…ฅไธ€ไธชๅดญๆ–ฐ็š„้˜ถๆฎตโ€”โ€”ไปŽ้œ€่ฆ้ข‘็นไบบๅทฅๅนฒ้ข„็š„\\\"ๅŠ่‡ชๅŠจ\\\"ๆจกๅผ๏ผŒ่ฟ›ๅŒ–ไธบ่ƒฝๅคŸ่‡ชไธปๆดžๅฏŸ็Žฏๅขƒๅ˜ๅŒ–ใ€ๅŠจๆ€่ฐƒๆ•ดๆ‰ง่กŒ็ญ–็•ฅใ€ๅฎž็ŽฐไธšๅŠกๆต็จ‹่‡ช้€‚ๅบ”็ผ–ๆŽ’็š„ๆ™บ่ƒฝๅŒ–็ณป็ปŸใ€‚Claude Codeใ€Manusใ€OpenClaw ็ญ‰ไปฃ่กจๆ€งไบงๅ“ๅฑ‚ๅ‡บไธ็ฉท๏ผŒไนŸๆ ‡ๅฟ—็€ Agent ๆŠ€ๆœฏๆญฃๅœจๅฟซ้€Ÿ่ตฐๅ‘ๆˆ็†ŸไธŽๆ™ฎๅŠใ€‚\\n่ฟ‘ๆœŸ๏ผŒ็ฌ”่€…ๅœจไธบไธชไบบๅšๅฎขๅผ•ๅ…ฅๆ™บ่ƒฝๅŒ–่ฟ่ฅ่ƒฝๅŠ›๏ผˆๅฆ‚ๅ†…ๅฎน่‡ชๅŠจๆ กๅฏนใ€ๅฎก็จฟไธŽๅ‘ๅธƒ๏ผ‰๏ผŒๆทฑๅ…ฅ็ ”็ฉถไบ†ๅคšๆฌพ Agent ๅผ€ๅ‘ๆก†ๆžถ๏ผŒๅฆ‚ Claude Agent SDKใ€Langchainใ€LangGraph ็ญ‰ใ€‚ๅœจ็ป่ฟ‡ๅˆๆญฅ็š„็ ”็ฉถๅฏนๆฏ”ๅˆ†ๆžๅŽ๏ผŒClaude Agent SDK ๆˆไธบไบ†ไฝŽๆˆๆœฌๆž„ๅปบ้ซ˜ๅฏ็”จ Agent\"},{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"frontmatter\":{\"date\":\"2026-03-05 16:54:35\",\"title\":\"ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"aliases\":[\"Server-Sent Events\",\"HTTP Streaming\"],\"tldr\":\"ๆทฑๅ…ฅ่งฃๆžๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผŒๆไพ›ไปŽๆฆ‚ๅฟตๅˆฐ็”Ÿไบงๅฎž่ทต็š„ๅฎŒๆ•ด่งฃๅ†ณๆ–นๆกˆใ€‚\",\"description\":\"่พจๆžๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ็š„ๆฆ‚ๅฟตไธŽๅฑ‚ๆฌกๅ…ณ็ณป๏ผŒ่ฏฆ่งฃๅฎขๆˆท็ซฏไธŽๆœๅŠก็ซฏๅฎž็Žฐๆ–นๆกˆ๏ผŒๆไพ›็”Ÿไบงๅฎž่ทตๅฎŒๆ•ดๆŒ‡ๅ—ใ€‚\",\"tags\":[\"tutorial\",\"SSE\",\"HTTP Streaming\",\"ๅ…จๆ ˆ\"],\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"permalink\":\"/fullstack/networking/sse-practice\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"date\":\"2026-03-05 16:54:35\",\"capture\":\"<script setup\\n import HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n> ๆ‘˜่ฆๆ€ป็ป“: ้’ˆๅฏนๅผ€ๅ‘่€…ๅฎนๆ˜“ๆททๆท†ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ็š„้—ฎ้ข˜๏ผŒไปŽๆฆ‚ๅฟตๅฑ‚ๆฌกๅ‡บๅ‘ๅŽ˜ๆธ…ไบŒ่€…ๆœฌ่ดจๅŒบๅˆซไธŽๅไฝœๅ…ณ็ณป๏ผŒๆŒ‡ๅ‡บๆตๅผ HTTP ๆ˜ฏๅบ•ๅฑ‚ไผ ่พ“ๆœบๅˆถ่€Œ SSE ๆ˜ฏๅบ”็”จๅฑ‚ๆ•ฐๆฎๆ ผๅผ็บฆๅฎšใ€‚ๆ–‡็ซ ไพๆฌกไป‹็ปๅŽŸ็”Ÿ EventSource APIใ€fetch + ReadableStream ่ฟ›้˜ถๆ–นๆกˆใ€@microsoft/fetch-event-source ๅทฅไธš็บงๅฎž็Žฐ็ญ‰ไธ‰็งๅฎขๆˆท็ซฏๆ–นๆกˆ๏ผŒๅนถไปฅ Nes\"},{\"url\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/02.้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/02.้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-03-02 11:05:50\",\"title\":\"้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ AI ๆž้€Ÿ้™ไฝŽไปฃ็ ็ผ–ๅ†™้—จๆง›๏ผŒๅ•็บฏ็š„โ€œไธšๅŠกไปฃ็ ็ฟป่ฏ‘ๅ™จโ€่ง’่‰ฒๆญฃๅŠ ้€Ÿ่ดฌๅ€ผใ€‚ๆœฌๆ–‡ไปŽๆŠ€ๆœฏๆผ”่ฟ›ไธŽไบงๅ“ๆ€่€ƒ็š„ไบคๆฑ‡็‚นๅ‡บๅ‘๏ผŒๅฐ† AI ๆ—ถไปฃ็š„ๅผ€ๅ‘่€…่ƒฝๅŠ›ๅ›พ่ฐฑ้‡ๆ–ฐๅˆ’ๅˆ†ไธบไธ‰ๅคงๆ ธๅฟƒๅœˆๅฑ‚๏ผšไบงๅ“ๅบ”็”จๅฑ‚๏ผˆInsight Stack๏ผ‰ใ€Agent ๅผ€ๅ‘ๅฑ‚ไธŽ AI ๅŸบ็ก€่ฎพๆ–ฝๅฑ‚ใ€‚ๆ— ่ฎบไฝ ๆ˜ฏๆทฑ่€•่ง†ๅ›พๅฑ‚ไบคไบ’ใ€็ฒพ้€š Node.js ็ญ‰ๆœๅŠก็ซฏๆžถๆž„็š„ๅผ€ๅ‘่€…๏ผŒ่ฟ˜ๆ˜ฏ่‡ดๅŠ›ไบŽๆŠ€ๆœฏ่ฝๅœฐ็š„ๆŽข็ดข่€…๏ผŒ้ƒฝ่ƒฝๅœจ่ฟ™ไปฝๆผ”่ฟ›ๆŒ‡ๅ—ไธญๆ‰พๅˆฐๆ‰“็ ด่ƒฝๅŠ›่พน็•Œใ€ๅ‘โ€œ่ถ…็บงไธชไฝ“โ€ไธŽโ€œAI ๆ™บ่ƒฝไฝ“ๆŒ‡ๆŒฅๅฎ˜โ€่ทƒ่ฟ็š„็ ดๅฑ€ไน‹้“ใ€‚\",\"permalink\":\"/fullstack/ai-engineer-capability\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"top\":true,\"tags\":[\"ๅ…จๆ ˆ\",\"AI\"],\"categories\":[\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"date\":\"2026-03-02 11:05:50\",\"capture\":\"<script setup>\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/ai_engineering_arc.png\\\" style=\\\"width: 100%; border-radius: 8px; margin-bottom: 20px;\\\" alt=\\\"about site back\"},{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"frontmatter\":{\"date\":\"2026-02-25 22:10:48\",\"title\":\"HTTP ่ฝฎ่ฏขไผ˜ๅŒ–ๆŒ‡ๅ—๏ผš้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"tldr\":\"่ฏฆ่งฃ้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅฎž็ŽฐๅŽŸ็†๏ผŒๆไพ› HTTP ่ฝฎ่ฏขไผ˜ๅŒ–็ญ–็•ฅไธŽ้€‰ๅž‹ๅ†ณ็ญ–ๆ ‘ใ€‚\",\"description\":\"ๆทฑๅ…ฅๅ‰–ๆž้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๆ ธๅฟƒๆœบๅˆถ๏ผŒๆไพ› TypeScript/NestJS ๅฎžๆˆ˜ไปฃ็ ๏ผŒๅนถๆž„ๅปบๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–ๆ ‘ไธŽ้€‚็”จๅœบๆ™ฏ้€ŸๆŸฅใ€‚\",\"tags\":[\"HTTP ่ฝฎ่ฏข\",\"้€€้ฟ่ฝฎ่ฏข\",\"้•ฟ่ฝฎ่ฏข\"],\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"permalink\":\"/fullstack/networking-polling-optimization\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"HTTP ่ฝฎ่ฏขไผ˜ๅŒ–ๆŒ‡ๅ—๏ผš้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"date\":\"2026-02-25 22:10:48\",\"capture\":\"1. ๅผ•่จ€\\nๅœจ็Žฐไปฃ Web ๅผ€ๅ‘ไธญ๏ผŒWebSocket ๅ’Œ Server-Sent Events (SSE) ๅธธๅธธ่ขซ่ง†ไธบๅฎžๆ—ถ้€šไฟก็š„้“ถๅผนใ€‚็„ถ่€Œ๏ผŒHTTP ่ฝฎ่ฏข๏ผˆPolling๏ผ‰ไฝœไธบๆœ€ๆœด็ด ็š„ๅฎžๆ—ถ้€šไฟกๆ–นๆกˆ๏ผŒ้žไฝ†ๆฒกๆœ‰้€€ๅ‡บๅކๅฒ่ˆžๅฐ๏ผŒๅ่€Œๅœจ็‰นๅฎš็š„ๅคๆ‚ไธšๅŠกๅœบๆ™ฏไธญๅคงๆ”พๅผ‚ๅฝฉใ€‚\\n> ๐Ÿ“– ๅฆ‚ๆžœไฝ ๅฏน HTTP ่ฝฎ่ฏขๅœจๆ•ดไธช Web ้€šไฟกๅ่ฎฎไฝ“็ณปไธญ็š„ๅฎšไฝๅฐšไธๆธ…ๆ™ฐ๏ผŒๆŽจ่ๅ…ˆ้˜…่ฏป Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—๏ผŒไบ†่งฃ่ฝฎ่ฏขไธŽ็Ÿญ่ฟžๆŽฅใ€้•ฟ่ฟžๆŽฅใ€WebSocketใ€SSE ็ญ‰ๆ–นๆกˆ็š„ๆผ”่ฟ›ๅ…ณ็ณปไธŽ้€‚็”จ่พน็•Œ๏ผŒๅ†็ป“ๅˆๆœฌๆ–‡ๆทฑๅ…ฅๅฎž่ทตใ€‚\\nๅœจๅฝ“ๅ‰ไผ—ๅคš้กถ็บง็š„ AI AIGC ๅบ”็”จ๏ผˆๅฆ‚ Midjourne\"},{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-02-24 08:40:31\",\"title\":\"Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"tldr\":\"ๆทฑๅ…ฅๅˆ†ๆžไบ”็ง Web ้€šไฟกๅ่ฎฎ๏ผŒๆไพ› AI ๆ—ถไปฃ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—ไธŽๆœ€ไฝณๅฎž่ทตใ€‚\",\"description\":\"ๆทฑๅ…ฅๅ‰–ๆžไผ ็ปŸ HTTPใ€ๆตๅผ HTTPใ€SSEใ€WebSocketใ€Webhooksใ€HTTP ่ฝฎ่ฏข็š„ๅŽŸ็†ไธŽ็‰นๆ€ง๏ผŒ็ป“ๅˆ AI ๅœบๆ™ฏๆไพ›ๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–็Ÿฉ้˜ตใ€‚\",\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"tags\":[\"HTTP\",\"HTTP ่ฝฎ่ฏข\",\"SSE\",\"WebSocket\",\"Webhooks\"],\"permalink\":\"/fullstack/networking-protocol-selection-guide\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"date\":\"2026-02-24 08:40:31\",\"capture\":\"1. ๅผ•่จ€\\nHTTP ๆ˜ฏไธ€็งๅŸบไบŽๆ–‡ๆœฌ็š„้€šไฟกๅ่ฎฎ๏ผŒไธป่ฆ็”จไบŽ Web ๆต่งˆๅ™จใ€็งปๅŠจๅบ”็”จใ€ๆกŒ้ขๅบ”็”จ็ญ‰ๅฎขๆˆท็ซฏๅ’Œ Web ๆœๅŠกๅ™จไน‹้—ด็š„ๆ•ฐๆฎไผ ่พ“ใ€‚ไผ ็ปŸ HTTP ้‡‡็”จๅŒๆญฅ็š„่ฏทๆฑ‚-ๅ“ๅบ”ๆจกๅผ๏ผš`่ฏทๆฑ‚ -> ็ญ‰ๅพ… -> ๅฎŒๆ•ดๅ“ๅบ”`ใ€‚่ฟ™็งๆ–นๅผ่™ฝ่ƒฝๆปก่ถณๅคงๅคšๆ•ฐๅœบๆ™ฏ๏ผŒไฝ†ๅœจๅฎžๆ—ถๆ€ง่ฆๆฑ‚่พƒ้ซ˜็š„้ข†ๅŸŸโ€”โ€”ๅฆ‚ๆธธๆˆใ€่Šๅคฉใ€่ง†้ข‘ไผš่ฎฎ๏ผŒไปฅๅŠ AI ๆ—ถไปฃ็š„ๅฏน่ฏๅผๅบ”็”จโ€”โ€”ๅดๆ˜พๅพ—ๅŠ›ไธไปŽๅฟƒใ€‚\\nไธบ่งฃๅ†ณ่ฟ™ไธ€้—ฎ้ข˜๏ผŒไธš็•Œๅ‘ๅฑ•ๅ‡บไบ†ๅคš็งๅฎžๆ—ถ Web ้€šไฟกๆ–นๆกˆใ€‚ๆœฌๆ–‡ๅฐ†ๅ›ด็ป• ๆตๅผ HTTPใ€SSEใ€WebSocketใ€Webhooksใ€HTTP ่ฝฎ่ฏข ่ฟ™ไบ”็งไธปๆตๆŠ€ๆœฏ๏ผŒไปŽๅŽŸ็†ใ€็‰นๆ€งใ€้€‚็”จๅœบๆ™ฏๅ‡บๅ‘๏ผŒๆŽข่ฎจๅฎƒไปฌๅœจ็Žฐไปฃๅˆ†ๅธƒๅผๆžถๆž„ไธญ็š„้€‰ๅž‹็ญ–็•ฅไธŽๅทฅ็จ‹ๅฎž่ทตใ€‚\\n 2\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/01.Agentๆฆ‚่งˆไธŽ็ปผ่ฟฐ\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/01.Agentๆฆ‚่งˆไธŽ็ปผ่ฟฐ\",\"frontmatter\":{\"date\":\"2026-02-12 22:31:00\",\"title\":\"ไปŽๆ็คบ่ฏๅˆฐๆ•ฐๅญ—ๅ‘˜ๅทฅ๏ผšAI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšAI ็š„่ฟ›ๅŒ–ๆญฃ็ปๅކไปŽโ€œๅฏน่ฏๆก†โ€ๅ‘โ€œๆ•ฐๅญ—ๅ‘˜ๅทฅโ€็š„ๆ นๆœฌๆ€ง่ทจ่ถŠใ€‚ๆœฌๆ–‡ๆ˜ฏไธ€็ฏ‡ๅ…ณไบŽ AI Agent ็š„ๅ…จๆ™ฏๆทฑๅบฆ็ปผ่ฟฐ๏ผŒๆ—จๅœจ่งฃๆž„ๆ™บ่ƒฝไฝ“ๅฆ‚ไฝ•ไปŽ็ฎ€ๅ•็š„ Prompt ๅ“ๅบ”่€…๏ผŒๆผ”ๅ˜ไธบๅ…ทๅค‡่‡ชไธป็›ฎๆ ‡ๆ‹†่งฃใ€้•ฟ็ŸญๆœŸ่ฎฐๅฟ†ไธŽๅคๆ‚็Žฏๅขƒไบคไบ’่ƒฝๅŠ›็š„โ€œๆ‰ง่กŒ่€…โ€ใ€‚ๆˆ‘ไปฌๅฐ†ๆทฑๅบฆๆ‹†่งฃ Agent ็š„ๅ››ๅคงๆŠ€ๆœฏๅŸบ็Ÿณ๏ผˆ่ง„ๅˆ’ใ€่ฎฐๅฟ†ใ€ๅทฅๅ…ทใ€่กŒๅŠจ๏ผ‰๏ผŒๅนถ่ฏฆ็ป†ๅ‰–ๆžไปŽ้€š็”จๅž‹ Agent ๅˆฐๅคšๆ™บ่ƒฝไฝ“ๅไฝœ๏ผˆMAS๏ผ‰ใ€ๅ†ๅˆฐ่ฟˆๅ‘ Agent OS ๆ—ถไปฃ็š„ OpenClaw ็ญ‰ไบ”ๅคงๆผ”่ฟ›ๅฝขๆ€ใ€‚ไธไป…ๆŽข่ฎจไบ†ๆŠ€ๆœฏๆžถๆž„็š„ๅฎž็Žฐ๏ผŒๆ›ดๆญ็คบไบ†่ฝฏไปถๅทฅ็จ‹ไปŽโ€œไปฅไบบไธบไธญๅฟƒโ€ๅ‘โ€œไปฅ AI ไธบไธญๅฟƒโ€็š„่Œƒๅผ้ฉๅ‘ฝโ€”โ€”ๅœจ Agent ้ฉฑๅŠจ็š„ๆ–ฐ็บชๅ…ƒ๏ผŒๆ ธๅฟƒ็ซžไบ‰ๅŠ›ๅฐ†ไธๅ†ๆ˜ฏไปฃ็ ้‡๏ผŒ่€Œๆ˜ฏ่ฐƒๅบฆ AI ้—ญ็Žฏ่งฃๅ†ณไธšๅŠก้—ฎ้ข˜็š„่ƒฝๅŠ›ใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/llm_learning_bg_1.png\",\"permalink\":\"/ai-agent/overview\",\"top\":true,\"categories\":[\"ai-practice\"],\"tags\":[\"AI Agent\",\"Agent\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไปŽๆ็คบ่ฏๅˆฐๆ•ฐๅญ—ๅ‘˜ๅทฅ๏ผšAI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐ\",\"date\":\"2026-02-12 22:31:00\",\"capture\":\"1. ไป€ไนˆๆ˜ฏ Agent๏ผŸโ€”โ€”ไปŽโ€œๅทฅๅ…ทโ€ๅˆฐโ€œๅฎžไฝ“โ€็š„่ฟ›ๅŒ–\\n> ๆ ธๅฟƒ้€ป่พ‘๏ผš็Žฐไปฃ Agent ็š„ๆœฌ่ดจๆ˜ฏ \\\"LLM (ๅคง่„‘) + ่ง„ๅˆ’ไธŽ่ฎฐๅฟ† (ๅฐ่„‘) + ๅทฅๅ…ท่ฐƒ็”จ (ๆ‰‹่„š)\\\"ใ€‚LLM ็š„ๆตท้‡็Ÿฅ่ฏ†ๅ‚จๅค‡่ฎฉ Agent ่ƒฝๅคŸ็ฒพๅ‡†็†่งฃๅคๆ‚ๆŒ‡ไปค๏ผŒๅนถๅฐ†ๅ…ถ่ฝฌๅŒ–ไธบๅฎž้™…่กŒๅŠจใ€‚\\nๅœจ AI ้ข†ๅŸŸ๏ผŒAgent๏ผˆๆ™บ่ƒฝไฝ“๏ผ‰ ๅนถ้žไธ€ไธชๆ–ฐๆฆ‚ๅฟต๏ผŒไฝ† LLM๏ผˆๅคง่ฏญ่จ€ๆจกๅž‹๏ผ‰็š„็ˆ†ๅ‘่ต‹ไบˆไบ†ๅฎƒ็œŸๆญฃ็š„โ€œ็ต้ญ‚โ€ใ€‚็ฎ€ๅ•ๆฅ่ฏด๏ผŒAgent ๆ˜ฏไธ€็ง่ƒฝๅคŸๆ„Ÿ็Ÿฅ็Žฏๅขƒใ€่‡ชไธปๅ†ณ็ญ–ๅนถๆ‰ง่กŒไปปๅŠก็š„ๆ™บ่ƒฝๅฎžไฝ“ใ€‚\\nๅฆ‚ๆžœ่ฏดไผ ็ปŸ็š„ AI ๆ˜ฏไธ€ไธชโ€œ้—ฎ็ญ”ๆœบโ€๏ผŒ้‚ฃไนˆ Agent ๅฐฑๆ˜ฏไธ€ไธชโ€œๆ‰ง่กŒ่€…โ€ใ€‚ๅฎƒๅ…ทๅค‡ไปฅไธ‹ๅ››ๅคงๆ ธๅฟƒ็‰น่ดจ๏ผš\\n* ่‡ชไธปๆ€ง (Autonomy)๏ผš ๆ— ้กปๆ—ถๅˆป็›ฏ็€๏ผŒ่ฎพๅฎš\"},{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-02-10 23:33:19\",\"title\":\"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ๅฝ“ AI ๆ‰ฟๆŽฅไบ† 30% ็š„็ผ–็ ๆ‰ง่กŒๆ—ถ๏ผŒๅผ€ๅ‘่€…้œ€้€š่ฟ‡โ€œ่ง„ๆ ผ้ฉฑๅŠจ๏ผˆSDD๏ผ‰โ€้‡ๅคบ 70% ็š„่ฎพ่ฎกไธปๆƒ๏ผšไปŽ่‡ชๆฒป็ป„ไปถๅˆ’ๅˆ†ๅˆฐๅ•ๅ‘ๆ•ฐๆฎๆตๆ‹“ๆ‰‘็š„ๆทฑๅบฆๆŽจๆผ”ใ€‚\",\"description\":\"ๆœฌๆ–‡ๆŽข่ฎจๅœจ AI ๅขžๅผบๅผ€ๅ‘่ƒŒๆ™ฏไธ‹๏ผŒๅฆ‚ไฝ•้‡ๅก‘ React ็ป„ไปถ่ฎพ่ฎกๅŽŸๅˆ™ใ€‚ๆถต็›– SRP ่Œ่ดฃๅˆ’ๅˆ†ใ€้™ๆ€็‰ˆๆœฌๅŸบ็บฟใ€ๆœ€ๅฐ็Šถๆ€๏ผˆDerived Data๏ผ‰ๆŽจๅฏผไปฅๅŠ SDD ไบบๆœบๅไฝœๆจกๅผ็š„ๅทฅ็จ‹่ฝๅœฐใ€‚\",\"tags\":[\"tutorial\",\"react\",\"component-design\",\"state-management\",\"ai-augmented\",\"specification-driven\"],\"permalink\":\"/fullstack/react-design-philosophy-ai-augmented\",\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-02-10 23:33:19\",\"capture\":\"<script setup\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n 1. ๅผ•่จ€\\nๅœจ่ฝฏไปถๅทฅ็จ‹ไธญ๏ผŒ็บฆ 70% ็š„ๆ—ถ้—ดๅบ”ๆŠ•ๅ…ฅไบŽๆžถๆž„่ฎพ่ฎกใ€้œ€ๆฑ‚ๆ‹†่งฃไธŽๆŽฅๅฃ่ฏญไน‰ๆŽจๆ•ฒ๏ผŒไป… 30% ็”จไบŽๅฎž้™…็ผ–็ ใ€‚่ฟ›ๅ…ฅ AI ๅไฝœๆ—ถไปฃๅŽ๏ผŒ่ฟ™ไธ€ๆฏ”ไพ‹ไพ็„ถๅšๅฆ‚็ฃ็Ÿณโ€”โ€”ๅผ€ๅ‘่€…ๅฟ…้กปๅ…ˆๅฎŒๆˆๆทฑๅบฆๆ€่€ƒ๏ผŒๅฐ†โ€œๆธ…ๆ™ฐ็š„้—ฎ้ข˜่ง„ๆ ผ๏ผˆSpecification๏ผ‰โ€ไบค็ป™ AI๏ผŒAI ๆ‰่ƒฝ่พ“ๅ‡บ้ซ˜่ดจ้‡ไปฃ็ ใ€‚<HighLightText type=\\\"note\\\" bold>AI ๆๅ‡็š„ๆ˜ฏ 30% ็ผ–็ ้˜ถๆฎต็š„ๆ‰ง่กŒๅŠ›๏ผŒ่€Œ้žๅ–\"},{\"url\":\"/01.ๅ…จๆ ˆ/90.ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่/90.ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"relativePath\":\"/01.ๅ…จๆ ˆ/90.ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่/90.ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"frontmatter\":{\"date\":\"2026-02-06 15:58:53\",\"title\":\"ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡็ณป็ปŸๆขณ็†ไบ†็Žฐไปฃๅ…จๆ ˆๅผ€ๅ‘็š„ๅฎŒๆ•ดๆŠ€ๆœฏๅ›พ่ฐฑไธŽๆผ”่ฟ›่Œƒๅผ๏ผŒไธบๅผ€ๅ‘่€…ๆไพ›ไบ†ไธ€็ซ™ๅผ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—ใ€‚ๆ–‡็ซ ไปŽๅŸบ็Ÿณๅ‡บๅ‘๏ผŒ่ฆ†็›– Web ๆ ธๅฟƒ่ฏญ่จ€๏ผˆJS/TS๏ผ‰ ไธŽ ไธปๆต UI ๆก†ๆžถ๏ผˆReact/Vue/Svelte๏ผ‰๏ผŒๅนถๆŽจ่ไปฅ Tailwind CSS ๅ’Œ shadcn/ui ไธบไปฃ่กจ็š„็Žฐไปฃๆ ทๅผไธŽ็ป„ไปถๅŽŸ่ฏญใ€‚ๅœจๆ ธๅฟƒไธšๅŠก้€ป่พ‘ๅฑ‚๏ผŒๆทฑๅบฆๅฏนๆฏ”ไบ†่ฝป้‡ๅŒ–็Šถๆ€็ฎก็†ๆ–นๆกˆ๏ผˆ้ฆ–ๆŽจ Zustand/Jotai๏ผ‰๏ผŒๅนถ้‡็‚น่งฃๆžไบ†ๆ•ฐๆฎไบคไบ’็š„ไธ‰ๅคง็Žฐไปฃๆžถๆž„่Œƒๅผ๏ผšไปŽๅŸบ็ก€ Axios ๅˆฐ React Query ็Šถๆ€่ฐƒๅบฆ๏ผŒๅ†ๅˆฐ tRPC ๅ’Œ GraphQL ๅธฆๆฅ็š„ๅ…จๆ ˆ็ฑปๅž‹ๅฎ‰ๅ…จไธŽๅคš็ซฏ่šๅˆใ€‚ๅœจๅทฅ็จ‹ๅŒ–ไธŽๆœๅŠก็ซฏๆจกๅ—๏ผŒๆ–‡็ซ ๅ…จ้ขๆ‹ฅๆŠฑ Viteใ€Rsbuild ็ญ‰ๆž้€Ÿๆž„ๅปบๅทฅๅ…ท๏ผŒๅนถๅ‰–ๆžไบ† Next.js/Nuxt ๅŒๆž„ๅ…ƒๆก†ๆžถไธŽ NestJS ไผไธš็บง Node ๆœๅŠก็š„ๆœ€ไฝณ้€‚็”จๅœบๆ™ฏใ€‚ๆœ€ๅŽ๏ผŒ่พ…ไปฅ Vercel ็ญ‰็Žฐไปฃ่พน็ผ˜้ƒจ็ฝฒๅนณๅฐๅŠไธฐๅฏŒ็š„ๅผ€ๆบ็คพๅŒบๅญฆไน ่ต„ๆบใ€‚\",\"permalink\":\"/growth/full-stack-resources\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"date\":\"2026-02-06 15:58:53\",\"capture\":\"> - ๆ–‡็ซ ไปŽๅŸบ็Ÿณๅ‡บๅ‘๏ผŒ่ฆ†็›– Web ๆ ธๅฟƒ่ฏญ่จ€๏ผˆJS/TS๏ผ‰ ไธŽ ไธปๆต UI ๆก†ๆžถ๏ผˆReact/Vue/Svelte๏ผ‰๏ผŒๅนถๆŽจ่ไปฅ Tailwind CSS ๅ’Œ shadcn/ui ไธบไปฃ่กจ็š„็Žฐไปฃๆ ทๅผไธŽ็ป„ไปถๅŽŸ่ฏญใ€‚\\n> - ๅœจๆ ธๅฟƒไธšๅŠก้€ป่พ‘ๅฑ‚๏ผŒๆทฑๅบฆๅฏนๆฏ”ไบ†่ฝป้‡ๅŒ–็Šถๆ€็ฎก็†ๆ–นๆกˆ๏ผˆ้ฆ–ๆŽจ Zustand/Jotai๏ผ‰๏ผŒๅนถ้‡็‚น่งฃๆžไบ†ๆ•ฐๆฎไบคไบ’็š„ไธ‰ๅคง็Žฐไปฃๆžถๆž„่Œƒๅผ๏ผšไปŽๅŸบ็ก€ Axios ๅˆฐ React Query ็Šถๆ€่ฐƒๅบฆ๏ผŒๅ†ๅˆฐ tRPC ๅ’Œ GraphQL ๅธฆๆฅ็š„ๅ…จๆ ˆ็ฑปๅž‹ๅฎ‰ๅ…จไธŽๅคš็ซฏ่šๅˆใ€‚\\n> - ๅœจๅทฅ็จ‹ๅŒ–ไธŽๆœๅŠก็ซฏๆจกๅ—๏ผŒๆ–‡็ซ ๅ…จ้ขๆ‹ฅๆŠฑ Viteใ€Rsbuild ็ญ‰ๆž้€Ÿๆž„ๅปบๅทฅๅ…ท๏ผŒๅนถๅ‰–ๆžไบ† Next.js/N\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/11. LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/11. LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-01-06 15:58:53\",\"title\":\"LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆˆช่‡ณ 2026 ๅนด๏ผŒLLM API ๆœๅŠกๅทฒๅฝขๆˆ\\\"ๅฎ˜ๆ–น็›ด่ฟž + ็ฌฌไธ‰ๆ–น่šๅˆ\\\"็š„ๅŒ่ฝจๆ ผๅฑ€๏ผŒๆจกๅž‹่ƒฝๅŠ›ใ€ๅฎšไปทใ€ๅˆ่ง„ๆ€งไธŽๆŽฅๅ…ฅไพฟๅˆฉๆ€งๅทฎๅผ‚ๆ˜พ่‘—ใ€‚ๆœฌๆ–‡ไปŽ้€‰ๅž‹ๅ‰ๆ้—ฎๅ‡บๅ‘๏ผŒ็ณป็ปŸๆขณ็†ๅ›ฝ้™…ไธŽๅ›ฝๅ†…ไธปๆตๅฎ˜ๆ–น API ๅนณๅฐ๏ผŒไปฅๅŠ OpenRouterใ€็ก…ๅŸบๆตๅŠจ็ญ‰็ฌฌไธ‰ๆ–น่šๅˆๅนณๅฐ็š„ๆ ธๅฟƒ็‰น็‚น๏ผŒๅนถๆไพ›ๅŸบไบŽๅœบๆ™ฏ็š„ๅ†ณ็ญ–ๆก†ๆžถ๏ผŒๅธฎๅŠฉๅผ€ๅ‘่€…ๅ’Œไบงๅ“ๅ›ข้˜Ÿๅฟซ้€Ÿ้”ๅฎšๆœ€้€‚ๅˆ่‡ชๅทฑ็š„ๆ–นๆกˆใ€‚\",\"permalink\":\"/ai-learning/llm-api-resources\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"LLM API\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"date\":\"2026-01-06 15:58:53\",\"capture\":\"1. ้€‰ๆจกๅž‹ๅ‰๏ผŒๅ…ˆๆƒณๆธ…ๆฅš่ฟ™ๅ‡ ไปถไบ‹\\nๅœจๅฏนๆฏ”ๅ…ทไฝ“ๅนณๅฐไน‹ๅ‰๏ผŒๅฏไปŽไปฅไธ‹ๅ››ไธช็ปดๅบฆๆขณ็†่‡ช่บซ่ฏ‰ๆฑ‚๏ผŒ้ฟๅ…\\\"็œผ่Šฑ็ผญไนฑๅŽ้šไพฟ้€‰ไธ€ไธช\\\"๏ผš\\n| ็ปดๅบฆ | ๅ…ณ้”ฎ้—ฎ้ข˜ | ๅฝฑๅ“ๅ†ณ็ญ– |\\n|:-----|:--------|:--------|\\n| ไปปๅŠก็ฑปๅž‹ | ๆ˜ฏ้€š็”จๅฏน่ฏใ€ไปฃ็ ็”Ÿๆˆใ€้•ฟๆ–‡ๆกฃๅˆ†ๆž๏ผŒ่ฟ˜ๆ˜ฏๅคšๆจกๆ€็†่งฃ๏ผŸ | ไธๅŒๆจกๅž‹ๅœจๅž‚็›ด่ƒฝๅŠ›ไธŠๅทฎ่ทๆ‚ฌๆฎŠ |\\n| ๆˆๆœฌ้ข„็ฎ— | ๆฏๆœˆ่ฐƒ็”จ้‡็บง๏ผŸ่ƒฝๅฆๆŽฅๅ—ๆตทๅค–็ป“็ฎ—ไธŽๆฑ‡็އ้ฃŽ้™ฉ๏ผŸ | ๅ›ฝไบงๆจกๅž‹ Token ไปทๆ ผ้€šๅธธไฝŽ 3๏ฝž10 ๅ€ |\\n| ๅˆ่ง„ไธŽ้ƒจ็ฝฒ | ๆ•ฐๆฎ่ƒฝๅฆๅ‡บๅขƒ๏ผŸ่ƒฝๅฆไฝฟ็”จๆตทๅค–ๆœๅŠก๏ผŸๆ˜ฏๅฆ้œ€่ฆ็งๆœ‰ๅŒ–้ƒจ็ฝฒ๏ผŸ | ๆถ‰ๅŠๆ”ฟๅŠก/้‡‘่ž/ๅŒป็–—ๅœบๆ™ฏๅฟ…้กป่€ƒ่™‘ |\\n| ็ฝ‘็ปœ็Žฏๅขƒ | ๅผ€ๅ‘/้ƒจ็ฝฒ็Žฏๅขƒ่ƒฝๅฆ็จณๅฎš่ฎฟ\"},{\"url\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/10.่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"relativePath\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/10.่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"frontmatter\":{\"date\":\"2025-12-06 22:05:50\",\"title\":\"่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"description\":\"่ฝฏไปถๅทฅ็จ‹ๆญฃ็ปๅކไปŽโ€œๆ‰‹ๅ†™้€ป่พ‘โ€ๅ‘โ€œๆ„ๅ›พ่ฐƒๅบฆโ€็š„่Œƒๅผ่ฟๅพ™ใ€‚Anthropic ็š„็ ”็ฉถๆญ็คบไบ† AI ๅนถ้ž็ฎ€ๅ•็š„ๆๆ•ˆๅทฅๅ…ท๏ผŒ่€Œๆ˜ฏ้€š่ฟ‡้‡Šๆ”พ 27% ๆ›พ็ปโ€œไธๅˆ’็ฎ—โ€็š„ๅทฅ็จ‹ไปปๅŠก๏ผŒ้‡ๅก‘ไบ†่ฝฏไปถ่ดจ้‡็š„ๅฏ†ๅบฆใ€‚ๅœจ่‡ช็„ถ่ฏญ่จ€ๅณ็ผ–็จ‹่ฏญ่จ€็š„ๆ—ถไปฃ๏ผŒๆˆ‘ไปฌ้œ€่ฆ้€š่ฟ‡่ง„ๆ ผ้ฉฑๅŠจ๏ผˆSDD๏ผ‰ไธŽๅคšๆ™บ่ƒฝไฝ“็ผ–ๆŽ’๏ผŒ็ ด่งฃโ€œ็›‘็ฃๆ‚–่ฎบโ€ๅธฆๆฅ็š„ๆŠ€่ƒฝๅนณๅบธๅŒ–ๅฑๆœบ๏ผŒๅฐ† AI ็š„ๆฆ‚็އๆ€ง็”Ÿๆˆ้ฉฏๅŒ–ไธบ็กฎๅฎšๆ€ง็š„ๅทฅ็จ‹ไบคไป˜ใ€‚ๅฝ“็ผ–็ ๆˆๆœฌ่ถ‹ไบŽ้›ถ๏ผŒๅทฅ็จ‹ๅธˆ็š„็ปˆๆžๅฃๅž’ๅฐ†ๆ˜ฏๅฎšไน‰ๅฎŒ็พŽ็š„ๅ“ๅ‘ณ๏ผŒไปฅๅŠๅœจ AI ่ฟท้›พไธญ่ฏ†็ ดๅนณๅบธ็š„ๆดžๅฏŸๅŠ›ใ€‚\",\"permalink\":\"/fullstack/ai-change-work-workflow/\",\"top\":true,\"tags\":[\"ๅ…จๆ ˆ\",\"AI\"],\"categories\":[\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"date\":\"2025-12-06 22:05:50\",\"capture\":\"<script setup>\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\nๅœฐๅ€๏ผšHow AI is transforming work at Anthropic\\nๆ ธๅฟƒๆ ‡็ญพ๏ผš`AI่พ…ๅŠฉ็ผ–็จ‹` `ๅทฅ็จ‹` `่Œƒๅผ่ฝฌ็งป` `ๅทฅไฝœ่ฝฌๅž‹` `็”ŸไบงๅŠ›ๆๅ‡` `ๆŠ€่ƒฝๅ‘ๅฑ•` `ไบบๆœบๅไฝœ` \\nไธ€ๅฅ่ฏไป‹็ป๏ผšAnthropic ไธไป…ไป…ๆ˜ฏ AI ๅทฅๅ…ท็š„็”Ÿไบง่€…๏ผŒๆ›ดๆ˜ฏ็ฌฌไธ€ไธช่ฟ›ๅ…ฅโ€œๆœชๆฅๅฎž้ชŒๅฎคโ€็š„ๆทฑๅบฆ่ง‚ๅฏŸ่€…ใ€‚ไป–ไปฌ้€š่ฟ‡ๅ†…้ƒจๆ•ฐๆœˆ็š„ๅฎž้ชŒๆ•ฐๆฎๅ‘Š่ฏ‰ๆˆ‘ไปฌ๏ผšๅคงๆจกๅž‹ๅฏน่ฝฏไปถๅทฅ็จ‹็š„ๆ”น้€ ๏ผŒ็ป้ž็ฎ€ๅ•็š„โ€œๆๆ•ˆโ€๏ผŒ่€Œๆ˜ฏไธ€\"},{\"url\":\"/01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ\",\"frontmatter\":{\"date\":\"2025-11-25 00:52:28\",\"title\":\"AI ็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡ๆทฑๅบฆ่งฃๆžไบ† AI ้ฉฑๅŠจ็ผ–็จ‹็š„ไธ‰ๅคงๆผ”่ฟ›่Œƒๅผ๏ผšVibe Coding๏ผˆ่‡ช็„ถ่ฏญ่จ€้›ถ้—จๆง›ๆž„ๅปบ๏ผ‰ใ€AI IDE๏ผˆ็ผ–่พ‘ๅ™จๆทฑๅบฆ่พ…ๅŠฉๆๆ•ˆ๏ผ‰ๅŠ Agentic Engineering๏ผˆ่‡ชไธปๅทฅ็จ‹ๅธˆๆ‰ง่กŒไปปๅŠก๏ผ‰ใ€‚้€š่ฟ‡ๆจชๅ‘ๅฏนๆฏ” Bolt.newใ€Cursorใ€Claude Code ็ญ‰ๅ‰ๆฒฟๅทฅๅ…ท๏ผŒๆ–‡็ซ ๅ‹พๅ‹’ๅ‡บไธ€ๆกไปŽโ€œๅฟซ้€ŸๅŽŸๅž‹โ€ๅˆฐโ€œ้ซ˜ๆ•ˆๅๅŒโ€ๅ†ๅˆฐโ€œ่‡ชไธปไบคไป˜โ€็š„่ฟ›้˜ถ่ทฏๅพ„ใ€‚ๆ ธๅฟƒๆ—จๅœจๆŒ‡ๅฏผ็”จๆˆทๅˆฉ็”จ AI ๅทฅๅ…ท็Ÿฉ้˜ตๆ‰“็ ดๆŠ€ๆœฏ่พน็•Œ๏ผŒๅฎž็ŽฐไปŽๅˆ›ๆ„ๆ่ฟฐๅˆฐๅทฅไธš็บงไบคไป˜็š„็”ŸไบงๅŠ›้ฃž่ทƒ๏ผŒ้‡ๅก‘่ฝฏไปถๅผ€ๅ‘ๅ…จ็”Ÿๅ‘ฝๅ‘จๆœŸใ€‚\",\"permalink\":\"/ai-learning/ai-coding-resources\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/source_sites_bg.png\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"AI Coding\",\"Vibe Coding\",\"Agentic Engineering\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"AI ็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่\",\"date\":\"2025-11-25 00:52:28\",\"capture\":\"1. ไธ‰็ง็ผ–็จ‹่Œƒๅผ้€Ÿ่งˆ\\n| ่Œƒๅผ | ไธ€ๅฅ่ฏๆ่ฟฐ | ไฝ ็š„่ง’่‰ฒ |\\n|:-----|:---------|:--------|\\n| Vibe Coding | ็”จ่‡ช็„ถ่ฏญ่จ€ๆ่ฟฐ้œ€ๆฑ‚๏ผŒAI ็›ดๆŽฅ็”Ÿๆˆๅฏ่ฟ่กŒ็š„ๅฎŒๆ•ด้กน็›ฎ | ๆ่ฟฐ้œ€ๆฑ‚๏ผŒ่ฎฉ AI ๅ†™ไปฃ็ (```ๆ–ฐๆ‰‹ๅ‹ๅฅฝ```) |\\n| AI IDE | ๅœจ็ผ–่พ‘ๅ™จ้‡Œๅผ•ๅ…ฅ AI ่พ…ๅŠฉ๏ผŒ่พนๅ†™่พน่กฅๅ…จใ€่พน้—ฎ่พนๆ”น | ไธปๅฏผๅผ€ๅ‘๏ผŒ่ฎฉ AI ๅšๅ‰ฏ้ฉพ้ฉถ(```ๆ›ดๅคšๆŽงๅˆถ```) |\\n| Agentic Engineering | AI ไฝœไธบ\\\"่‡ชไธปๅทฅ็จ‹ๅธˆ\\\"๏ผŒๆŽฅๆ”ถไปปๅŠกๅŽ่‡ชๅŠจ่ง„ๅˆ’ๅนถๆ‰ง่กŒๅ…จๅฅ—ไปฃ็ ๅทฅไฝœๆต | ๆไปปๅŠกใ€ๅฎก็ป“ๆžœ๏ผŒ่ฎฉ AI ๆ‰ง่กŒ(```ๆž่‡ดๆๆ•ˆ```) |\\nๆ–ฐๆ‰‹่ทฏ็บฟๅปบ่ฎฎ๏ผšๅ…ˆ\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"frontmatter\":{\"date\":\"2025-11-25 00:52:28\",\"title\":\"ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไธบไพฟไบŽ้ซ˜ๆ•ˆๅˆฉ็”จ AI ๅทฅๅ…ทๆๅ‡ๅญฆไน ใ€ๆœ็ดขๅ’Œๅˆ›ไฝœๆ•ˆ็އ๏ผŒๆœฌๆ–‡็ณป็ปŸๆ•ด็†ไบ†ไธปๆต็š„ AI ๅŠฉๆ‰‹ไธŽๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐ็›ธๅ…ณ่ต„ๆบใ€‚ๅ†…ๅฎนๅˆ†ไธบโ€œAI ๅŠฉๆ‰‹โ€๏ผˆๅฆ‚ ChatGPTใ€Claudeใ€Gemini ็ญ‰ๅฏน่ฏๅผๅŠฉๆ‰‹๏ผ‰ๅ’Œโ€œๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐโ€๏ผˆๅฆ‚ๅ†™ไฝœใ€็ป˜็”ป็ญ‰้ข†ๅŸŸ็š„ AI ๅทฅๅ…ทไธŽๅนณๅฐ๏ผ‰๏ผŒไธ”ๆ ‡ๆณจไบ†ๅ…ถๆ ธๅฟƒ่ƒฝๅŠ›ใ€้€‚ๅˆๅœบๆ™ฏ๏ผŒไปฅๅŠ็‰น่‰ฒไผ˜ๅŠฟใ€‚\",\"permalink\":\"/ai-learning/tools-assistant\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/source_sites_bg.png\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"AI ๅŠฉๆ‰‹\",\"AI ๆœ็ดข\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"date\":\"2025-11-25 00:52:28\",\"capture\":\"1. AI ๅŠฉๆ‰‹\\n> ้€‰ๆ‹ฉๅปบ่ฎฎ๏ผš ่‹ฑๆ–‡ไธบไธป โ†’ ไผ˜ๅ…ˆ ChatGPT / Claude / Gemini๏ผ›ไธญๆ–‡ไธบไธป โ†’ ไผ˜ๅ…ˆ Kimi / DeepSeek / ้€šไน‰ๅƒ้—ฎ๏ผ›้œ€่ฆ่”็ฝ‘ๅฎžๆ—ถไฟกๆฏ โ†’ Gemini / Grok๏ผ›้œ€่ฆๅˆ†ๆž้•ฟๆ–‡ๆกฃ โ†’ Claude / Kimi๏ผ›่ฟฝๆฑ‚ไฝŽๆˆๆœฌๅผ€ๆบ้ƒจ็ฝฒ โ†’ DeepSeekใ€‚\\n>\\n> ๆณจ๏ผš็›ฎๅ‰ๅ›ฝๅค–ๆจกๅž‹๏ผˆๅฆ‚ ChatGPTใ€Claudeใ€Gemini ็ญ‰๏ผ‰ๅœจ่‹ฑๆ–‡ๅค„็†ใ€ๅคšๆจกๆ€่ƒฝๅŠ›ใ€ๆ’ไปถ็”Ÿๆ€ๅ’Œ API ไธฐๅฏŒๆ€ง็ญ‰ๆ–น้ข๏ผŒๆ•ดไฝ“ไธŠไพ็„ถไผ˜ไบŽๅ›ฝๅ†…ๆจกๅž‹๏ผŒ้€‚ๅˆๅฏน่‹ฑๆ–‡ๅˆ›ไฝœใ€ๅคš่ฏญ่จ€ๆฒŸ้€šใ€ๅคๆ‚ๆŽจ็†ใ€ไปฃ็ ๅŠฉๆ‰‹็ญ‰ๅœบๆ™ฏๆœ‰ๆ›ด้ซ˜่ฆๆฑ‚็š„็”จๆˆทใ€‚ไธ่ฟ‡๏ผŒๅ›ฝๅ†…ๆจกๅž‹ๅœจไธญๆ–‡็†่งฃใ€ๆœฌๅœฐๅŒ–ใ€ๅˆ่ง„\"},{\"url\":\"/10.ไบงๅ“ Sense/04.ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–/30.ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹่ฏปๅŽๆ„Ÿ\",\"relativePath\":\"/10.ไบงๅ“ Sense/04.ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–/30.ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹่ฏปๅŽๆ„Ÿ\",\"frontmatter\":{\"date\":\"2025-11-24 21:50:00\",\"title\":\"ๆ”พๅผƒๅขž้•ฟๆ‰งๅฟต๏ผŒไธบไป€ไนˆโ€œๅฐ่€Œ็พŽโ€ๆ‰ๆ˜ฏๅฏๆŒ็ปญไน‹่ทฏ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒ็ง‘ๆŠ€ไบ’่”็ฝ‘่กŒไธš็š„ๅ™ไบ‹้ƒฝ่ขซโ€œไธๆƒœไธ€ๅˆ‡ไปฃไปทๅฎž็Žฐ่ถ…็บฟๆ€งๅขž้•ฟโ€ๆ‰€ไธปๅฏผใ€‚ไปฟไฝ›ๅชๆœ‰ๆ‹ฟๅˆฐๅทจ้ข่ž่ต„ใ€็–ฏ็‹‚ๆ‹›ไบบใ€ๆˆไธบไผฐๅ€ผ็ ด็™พไบฟ็š„ๅบž็„ถๅคง็‰ฉ๏ผŒๆ‰็ฎ—ๅพ—ไธŠๆ˜ฏๆˆๅŠŸ็š„ๅˆ›ไธšใ€‚็„ถ่€Œ๏ผŒ่ฏปๅฎŒ่จๅธŒๅฐ”ยทๆ‹‰ๆ–‡ๅ‰ไบš็š„ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹ๅŽ๏ผŒ็ฌ”่€…่Žทๅพ—ไบ†ไธ€็งๆˆช็„ถไธๅŒ็š„ๅ•†ไธš่ง†่ง’๏ผšไผไธšๅญ˜ๅœจ็š„้ฆ–่ฆ็›ฎ็š„ไธๆ˜ฏไธบไบ†่ž่ต„ๅ’Œๆ‰ฉๅผ ๏ผŒ่€Œๆ˜ฏไธบไบ†้€š่ฟ‡่งฃๅ†ณ้—ฎ้ข˜ๆฅ่Žทๅพ—ๆŒ็ปญ็š„็›ˆๅˆฉใ€‚ ๆœฌๆ–‡็ป“ๅˆไนฆไธญ็š„ๆ ธๅฟƒ่ฎบ็‚นไธŽ่‡ช่บซ็š„็ ”ๅ‘่ง†่ง’๏ผŒๆŠŠๅฐ†่ฟ™ๆœฌไนฆ่ƒŒๅŽ็š„็ป่ฅ้€ป่พ‘ไธŽไบงๅ“ๅ“ฒๅญฆๆขณ็†ไธบๅ‡ ไธชๆ ธๅฟƒๅฑ‚้ข็š„ๆ€่€ƒใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense/small-rule-learn\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"ไบงๅ“ Sense\",\"ๅ•†ไธšๅŒ–\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆ”พๅผƒๅขž้•ฟๆ‰งๅฟต๏ผŒไธบไป€ไนˆโ€œๅฐ่€Œ็พŽโ€ๆ‰ๆ˜ฏๅฏๆŒ็ปญไน‹่ทฏ\",\"date\":\"2025-11-24 21:50:00\",\"capture\":\"ไนฆๅ๏ผšใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹\\nไฝœ่€…๏ผš[็พŽ] ่จๅธŒๅฐ”ยทๆ‹‰ๆ–‡ๅ‰ไบš\\nๆ ธๅฟƒๆ ‡็ญพ๏ผšๆž็ฎ€ๅˆ›ไธš๏ฝœ็คพๅŒบๆœฌไฝ๏ฝœๆŒ็ปญ็›ˆๅˆฉ๏ฝœๅˆ›ไฝœ่€…็ปๆตŽ\\nไธ€ๅฅ่ฏ็ฎ€่ฏ„๏ผšๅœจ็›ฒ็›ฎๅด‡ๆ‹œ่ง„ๆจกๆ‰ฉๅผ ็š„ๅ•†ไธš่ฏญๅขƒไธ‹๏ผŒ่ฟ™ๆ˜ฏไธ€ไปฝๅ†™็ป™็‹ฌ็ซ‹ๅˆ›ไฝœ่€…ไธŽๅผ€ๅ‘่€…็š„ๆธ…้†’ๆŒ‡ๅ—๏ผŒๆ•™ไผšๆˆ‘ไปฌๅฆ‚ไฝ•็”จๆœ€ๅฐ‘็š„่ต„ๆบ๏ผŒ่งฃๅ†ณ็œŸๅฎž็š„็—›็‚น๏ผŒๅนถ่Žทๅพ—้•ฟไน…็š„่‡ช็”ฑใ€‚\\nๆ›ดๅคšไนฆ็ฑๆŽจ่ไฟกๆฏๅฏๅ‚่€ƒ๏ผšไบงๅ“ Sense ไธŽๅ•†ไธšๅŒ–\\n 1. ็คพๅŒบๅ…ˆ่กŒ๏ผšไปŽโ€œๆˆ‘ๆ˜ฏ่ฐโ€ๅˆฐโ€œๆˆ‘่ƒฝไธบ่ฐ่งฃๅ†ณ้—ฎ้ข˜โ€\\nไผ ็ปŸๅ•†ไธš้€ป่พ‘ๅพ€ๅพ€ๆ˜ฏๅ…ˆๆž„ๆ€ไธ€ไธชๅฎๅคง็š„็‚นๅญ๏ผŒ้—ญ้—จ้€ ่ฝฆๆ‰“็ฃจไบงๅ“๏ผŒๆœ€ๅŽๅ†็ ธ้’ฑๅŽปๅธ‚ๅœบไธŠๅฏปๆ‰พ็›ฎๆ ‡็”จๆˆทใ€‚่€Œๆœฌไนฆๆๅ‡บไบ†ไธ€ไธช้ข ่ฆ†ๆ€ง็š„ๅๅ‘่ทฏๅพ„๏ผš็คพๅŒบ $\\\\rightarrow$ ้—ฎ้ข˜ $\\\\rightarrow$ ๆต็จ‹ $\\\\rightarrow$\"},{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/11.React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/11.React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"frontmatter\":{\"date\":\"2025-11-15 09:20:23\",\"title\":\"ไธๆญขไบŽ Fetch๏ผšReact ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"aliases\":[\"SWR\",\"TanStack Query\",\"React\",\"ๆœๅŠก็ซฏ็Šถๆ€\",\"ไน่ง‚ๆ›ดๆ–ฐ\",\"ๅทฅ็จ‹ๅŒ–\"],\"tldr\":\"ๆทฑๅ…ฅ่งฃๆž SWR ็š„ๆž็ฎ€ๅ่ฎฎไธŽ TanStack Query ็š„็ฒพๅฏ†็Šถๆ€ๆœบใ€‚้€š่ฟ‡ๅฏนๆฏ”็ผ“ๅญ˜ๅคฑๆ•ˆใ€ไน่ง‚ๆ›ดๆ–ฐ็ญ‰ๆ ธๅฟƒๅœบๆ™ฏ๏ผŒไธบ้ซ˜ๅคๆ‚ๅบฆ B ็ซฏๅบ”็”จไธŽ่ฝป้‡็บง้กน็›ฎๆไพ›ๆธ…ๆ™ฐ็š„ๆžถๆž„้€‰ๅž‹ๆจกๅž‹ใ€‚\",\"description\":\"ๆทฑๅบฆๅฏนๆฏ” React ็”Ÿๆ€ไธญ SWR ไธŽ TanStack Query ไธคๅคงๆ–นๆกˆใ€‚ไปŽ stale-while-revalidate ๆœบๅˆถๅˆฐๅผ‚ๆญฅ็Šถๆ€ๆœบๆžถๆž„๏ผŒๆถต็›–ไพ่ต–ๆŸฅ่ฏขใ€ๆ•ฐๆฎ่ฝฌๆขๅŠๆžถๆž„็บงไน่ง‚ๆ›ดๆ–ฐๅฎžๆˆ˜ใ€‚ๆ—จๅœจๅธฎๅŠฉๅผ€ๅ‘่€…ๅœจๅคๆ‚ไธšๅŠกไธญๆž„ๅปบ็กฎๅฎšๆ€ง็š„ๆœๅŠก็ซฏ็Šถๆ€ๅŸบๅบงใ€‚\",\"permalink\":\"/fullstack/server-state-management\",\"tags\":[\"SWR\",\"TanStack Query\",\"ๅ‰็ซฏๅทฅ็จ‹\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไธๆญขไบŽ Fetch๏ผšReact ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"date\":\"2025-11-15 09:20:23\",\"capture\":\"1. ๅผ•่จ€\\nๅœจ็Žฐไปฃๅ‰็ซฏๅทฅ็จ‹ไธญ๏ผŒ็Šถๆ€ๅฏไธฅๆ ผๅŒบๅˆ†ไธบ UI ็Šถๆ€๏ผˆUI State๏ผ‰ ไธŽ ๆœๅŠก็ซฏ็Šถๆ€๏ผˆServer State๏ผ‰ ไธค็ฑปใ€‚ๅฏนไบŽ UI ็Šถๆ€็š„็ฎก็†๏ผŒๅผ€ๅ‘่€…ๅทฒ่พƒไธบ็†Ÿๆ‚‰๏ผŒ้€šๅธธๅฏๅ€ŸๅŠฉ `useState`ใ€`useEffect` ็ญ‰ Hooks๏ผŒๆˆ– `zustand`ใ€`jotai` ็ญ‰็Šถๆ€็ฎก็†ๅบ“ๆฅๅฎž็Žฐใ€‚็„ถ่€Œ๏ผŒๆœๅŠก็ซฏ็Šถๆ€็š„็ฎก็†ๅพ€ๅพ€็ผบไน็ปŸไธ€ไธ”้ซ˜ๆ•ˆ็š„่งฃๅ†ณๆ–นๆกˆ๏ผŒๅผ€ๅ‘่€…้€šๅธธ้œ€่ฆ่‡ช่กŒๅฎž็Žฐใ€‚\\nๅœจไผ ็ปŸ็š„ๆ•ฐๆฎ่Žทๅ–ๆต็จ‹ไธญ๏ผŒๆˆ‘ไปฌไธ€่ˆฌไฝฟ็”จ `fetch` ๆˆ– `axios` ๅ‘ๅŽ็ซฏๆˆ– REST API ๅ‘้€ HTTP ่ฏทๆฑ‚๏ผŒ้šๅŽๆ‰‹ๅŠจๅฐ†ๆ•ฐๆฎ่Žทๅ–้€ป่พ‘ไธŽๅ‰็ซฏไธšๅŠก้€ป่พ‘ๅŠ UI ็Šถๆ€็ฎก็†่ฟ›่กŒๆ•ดๅˆ๏ผŒไปฅๅฎŒๆˆๆ•ฐๆฎๅค„็†ๅนถ้ฉฑๅŠจ็•Œ้ขๆ›ดๆ–ฐ\"},{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2025-11-14 22:33:39\",\"title\":\"JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"aliases\":[\"้™ๆ€็ซ™็‚น็”Ÿๆˆๅ™จ\",\"SSG\"],\"tldr\":\"้ข„ๆธฒๆŸ“้™ๆ€้กต้ข + ๅŠจๆ€ API๏ผŒCDN ๅˆ†ๅ‘ๅ…จ็ƒ๏ผŒๆ›ฟไปฃไผ ็ปŸๅŠจๆ€็ฝ‘็ซ™็š„ๅผ€ๅ‘้ƒจ็ฝฒ่Œƒๅผ\",\"description\":\"ไปŽๆ ธๅฟƒๆฆ‚ๅฟตใ€ๅทฅๅ…ท้“พ้€‰ๅž‹๏ผˆNext.js/Vercel/Supabase/Contentful๏ผ‰ๅˆฐไปŽ 0 ๆญๅปบๅšๅฎข็š„ๅฎŒๆ•ดๅฎž่ทต๏ผŒ่ฆ†็›– JAMStack ้€‚็”จไธŽไธ้€‚็”จๅœบๆ™ฏ๏ผŒๅธฎๅŠฉๅˆคๆ–ญไฝ•ๆ—ถ้€‰็”จ่ฏฅๆžถๆž„ใ€‚\",\"permalink\":\"/fullstack/jamstack\",\"tags\":[\"tutorial\",\"jamstack\",\"frontend-architecture\",\"next.js\",\"static-site-generator\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2025-11-14 22:33:39\",\"capture\":\"> \\n> ๅ…ถๆ ธๅฟƒๆœบๅˆถๆ˜ฏๅœจๆž„ๅปบๆ—ถๅฐ†้กต้ข้ข„ๆธฒๆŸ“ไธบ้™ๆ€ HTML/CSS/JS๏ผŒ้ƒจ็ฝฒ่‡ณ CDN ไพ›็”จๆˆทๅฐฑ่ฟ‘ๅŠ ่ฝฝ๏ผŒไป…ๅœจ้œ€่ฆๅŠจๆ€ๆ•ฐๆฎๆ—ถ้€š่ฟ‡ JavaScript ่ฐƒ็”จ API ่Žทๅ–ใ€‚็›ธ่พƒไบŽไผ ็ปŸๅŠจๆ€็ฝ‘็ซ™๏ผŒJAMStack ๅœจๆ€ง่ƒฝใ€ๅฏ้ ๆ€งใ€ๆ‰ฉๅฑ•ๆ€งใ€ๅฎ‰ๅ…จๆ€งๅŠ่ฟ็ปดๆˆๆœฌไธŠๅ…ทๆœ‰ๆ˜พ่‘—ไผ˜ๅŠฟใ€‚\\n> \\n> ๆœฌๆ–‡ๆขณ็†ไบ†ไธปๆตๆž„ๅปบๅทฅๅ…ท๏ผˆGatsbyใ€Next.jsใ€Nuxt.jsใ€11ty๏ผ‰ใ€้™ๆ€ๆ‰˜็ฎกๅนณๅฐ๏ผˆVercelใ€Netlifyใ€Cloudflare Pages๏ผ‰ใ€API/BaaS ๆœๅŠก๏ผˆSupabaseใ€Firebaseใ€Auth0๏ผ‰ๅŠๆ— ๅคด CMS๏ผˆContentfulใ€Sanityใ€Strapi\"},{\"url\":\"/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/40.ๆดžๅฏŸๅŠ›ๆจกๅž‹\",\"relativePath\":\"/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/40.ๆดžๅฏŸๅŠ›ๆจกๅž‹\",\"frontmatter\":{\"date\":\"2025-11-14 16:00:00\",\"title\":\"ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผšๅฆ‚ไฝ•็œ‹้€ไบงๅ“ไธŽๆŠ€ๆœฏ่ƒŒๅŽ็š„็ณป็ปŸ้€ป่พ‘๏ผŸ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆ— ่ฎบๆ˜ฏๅšไบงๅ“ใ€ๆžๆŠ€ๆœฏ๏ผŒ่ฟ˜ๆ˜ฏๅบ”ๅฏนๆ—ฅๅธธๅทฅไฝœไธญ็š„ๅ„็งๆŒ‘ๆˆ˜๏ผŒไฝ ๆ˜ฏๅฆ้‡ๅˆฐ่ฟ‡่ฟ™ๆ ท็š„ๅ›ฐๅขƒ๏ผšๆ˜Žๆ˜ŽๆŒ‰็ป้ชŒ่กŒไบ‹๏ผŒๅดๅฑกๅฑก่ธฉๅ‘๏ผ›ๅˆš่งฃๅ†ณ่กจ้ข้—ฎ้ข˜๏ผŒ้šๆ‚ฃๅˆๅทๅœŸ้‡ๆฅใ€‚้—ฎ้ข˜ๆœชๅฟ…ๅ‡บๅœจๅŠชๅŠ›็จ‹ๅบฆ๏ผŒ่€ŒๅœจไบŽๆˆ‘ไปฌๅช็›ฏ็€่กจ่ฑก๏ผŒๅดๅฟฝ็•ฅไบ†่ƒŒๅŽ็œŸๆญฃ่ตทไฝœ็”จ็š„็ณป็ปŸ๏ผŒๆฒกๆœ‰็œ‹ๆ‡‚่—ๅœจ่ƒŒๅŽ็š„็ณป็ปŸใ€‚ไธบไป€ไนˆๅŒๆ ทๆ˜ฏ่งฃๅ†ณ้—ฎ้ข˜๏ผŒๆœ‰ไบบๅช่ƒฝโ€œๅคด็—›ๅŒปๅคดโ€๏ผŒๆœ‰ไบบๅด่ƒฝ็›ดๅ‡ปๆœฌ่ดจ๏ผŸ่ฟ™็ฏ‡ๆ–‡็ซ ๅฐ†็”จ้€šไฟ—ๆ˜“ๆ‡‚็š„ๆ–นๅผ๏ผŒๅธฆไฝ ๆ‹†่งฃไธ€ๅฅ—ๅฎž็”จ็š„ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผŒ่ฎฉๆˆ‘ไปฌๅญฆไผš้€่ฟ‡็Žฐ่ฑกๆŠ“ไฝๆœฌ่ดจ๏ผŒไปŽๆ นๆบไธŠ่งฃๅ†ณ้—ฎ้ข˜ใ€‚\",\"permalink\":\"/product-sense/insight-model\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"ไบงๅ“ Sense\",\"็ณป็ปŸๆดžๅฏŸๅŠ›\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผšๅฆ‚ไฝ•็œ‹้€ไบงๅ“ไธŽๆŠ€ๆœฏ่ƒŒๅŽ็š„็ณป็ปŸ้€ป่พ‘๏ผŸ\",\"date\":\"2025-11-14 16:00:00\",\"capture\":\"1. ่กจ่ฑก่ƒŒๅŽ่—็€ๅ†ณๅฎšไธ€ๅˆ‡็š„โ€œ็ณป็ปŸ้ป‘็›’โ€\\nๆˆ‘ไปฌๅœจๆ—ฅๅธธๅผ€ๅ‘ๆˆ–ไบงๅ“่ฎพ่ฎกไธญ๏ผŒๆ€ปๆ˜ฏ่ขซๅ„็งโ€œ่กจ่ฑกโ€ๅŒ…ๅ›ด๏ผšDAU ็ช็„ถไธ‹้™ไบ†ใ€็บฟไธŠๅ‡บ็Žฐไบ†ไธ€ไธชๅถ็Žฐ็š„ Bugใ€ๆŸไธชๅŠŸ่ƒฝ็š„่ฝฌๅŒ–็އไธๅŠ้ข„ๆœŸใ€‚ๆˆ‘ไปฌไน ๆƒฏไบ†็›ฏ็€่ฟ™ไบ›็œ‹ๅพ—่ง็š„็ป“ๆžœๆ‰พๅŽŸๅ› ๏ผŒๅดๅฟฝ็•ฅไบ†ไธ€ไธชๆ ธๅฟƒ็œŸ็›ธ๏ผšๆฏไธ€ไธช่กจ่ฑก่ƒŒๅŽ๏ผŒๅ…ถๅฎž้ƒฝ้š่—็€ไธ€ไธช่ฟ่ฝฌๅคๆ‚็š„โ€œ้ป‘็›’ๅญโ€๏ผŒๆญฃๆ˜ฏ่ฟ™ไธช้ป‘็›’ๅญๅ†ณๅฎšไบ†ไบ‹็‰ฉๅ‘ๅฑ•็š„ๅฎข่ง‚่ง„ๅพ‹ใ€‚ๆˆ‘ไปฌๅฏไปฅๆŠŠ่ฟ™ไธช้ป‘็›’ๅญ๏ผŒๅซๅšโ€œ็ณป็ปŸโ€ใ€‚\\n<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/product/system_tips.png\\\" style=\\\"width: 1\"},{\"url\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/21.ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"relativePath\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/21.ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"frontmatter\":{\"date\":\"2025-11-10 12:52:28\",\"title\":\"ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจไฟกๆฏ้ซ˜ๅบฆ้€ๆ˜Ž็š„ๆ—ถไปฃ๏ผŒๆต…ๅฑ‚ไฟกๆฏๅทฎๅทฒ่ขซๅฝปๅบ•ๆŠนๅนณ๏ผŒไฟกๆฏๆœฌ่บซ็š„ไปทๅ€ผไธๆ–ญ็จ€้‡Šใ€‚ไบบไธŽไบบ็š„ๆ ธๅฟƒๅทฎ่ทไธๅ†ๆ˜ฏ่Žทๅ–ไฟกๆฏ็š„ๆธ ้“๏ผŒ่€Œๆ˜ฏ้ซ˜ไฟกๅ™ชๆฏ”ไฟกๆฏ็š„็”„ๅˆซ่ƒฝๅŠ›ใ€ๆทฑๅบฆๆ€่€ƒ่ƒฝๅŠ›ไธŽ่ฝๅœฐๆ‰ง่กŒๅŠ›๏ผŒๅ”ฏๆœ‰ไปฅๆ€่€ƒๆ ก้ชŒไฟกๆฏใ€ไปฅๆ‰ง่กŒ้ชŒ่ฏไปทๅ€ผ๏ผŒๅฝขๆˆโ€œไฟกๆฏ-ๅˆคๆ–ญ-ๅฎž่ทต-ๅ้ฆˆโ€็š„ๆ€่€ƒไธŽๆ‰ง่กŒ้—ญ็Žฏ๏ผŒๆ‰่ƒฝ็ช็ ดไฟกๆฏๅฃๅž’ใ€ๅˆ›้€ ็œŸๆญฃไปทๅ€ผใ€‚\",\"permalink\":\"/growth/distinguish-useful-information\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"ไฟกๆฏ็ญ›้€‰\",\"ไธชไบบๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"date\":\"2025-11-10 12:52:28\",\"capture\":\"ๅœจไบ’่”็ฝ‘ๆŠ€ๆœฏๆ™ฎๅŠ็š„ๅฝ“ไธ‹๏ผŒไฟกๆฏๅทฒไปŽโ€œ็จ€็ผบ่ต„ๆบโ€่ฝฌๅ˜ไธบโ€œๆณ›ๆปฅ่ต„ๆบโ€ใ€‚่ฟ‡ๅŽปไพ่ต–ๅœฐๅŸŸๅทฎใ€็จ€็ผบๆ€ง็š„ๆต…่กจๅฑ‚ไฟกๆฏๅทฎ้€ๆธ่ขซๆŠนๅนณ๏ผŒๅผ€ๅ‘่€…้€š่ฟ‡็ฝ‘็ปœๅฏ่ฝปๆพ่Žทๅ–ๅ„็ฑปๆŠ€ๆœฏๆ–‡ๆกฃใ€่กŒไธšๅŠจๆ€ใ€่ตš้’ฑๆจกๅผ๏ผŒไฝ†็œŸๆญฃ่ƒฝๅฐ†ไฟกๆฏ่ฝฌๅŒ–ไธบไปทๅ€ผ็š„ไปๆ˜ฏๅฐ‘ๆ•ฐไบบใ€‚ๆ ธๅฟƒ็Ÿ›็›พๅทฒไปŽโ€œ่Žทๅ–ไฟกๆฏโ€่ฝฌๅ˜ไธบโ€œ้ฉพ้ฉญไฟกๆฏโ€โ€”โ€”ไฟกๆฏๆœฌ่บซ็š„ไปทๅ€ผๅผฑๅŒ–๏ผŒ่€Œไฟกๆฏ่งฃ่ฏป่ƒฝๅŠ›ใ€่กŒๅŠจๆ‰ง่กŒๅŠ›ใ€็ญ›้€‰็”„ๅˆซๅŠ›ๆˆไธบๆ‹‰ๅผ€ๅทฎ่ท็š„ๅ…ณ้”ฎใ€‚\\n 1. ๆ‰“็ ดโ€œไฟกๆฏๅทฎโ€็š„็ณป็ปŸๆ€ง้”™่ง‰\\n่ฟ‡ๅŽป๏ผŒ็”ฑไบŽๅœฐๅŸŸ้™ๅˆถๅ’Œไผ ๆ’ญไป‹่ดจ็š„็จ€็ผบ๏ผŒ่ตš้’ฑๆˆ–ๆˆๅŠŸ็š„ๆจกๅผๅพ€ๅพ€ๆ˜ฏ็ฒ—ๆ”พ็š„๏ผŒๅปบ็ซ‹ๅœจๆต…่กจๅฑ‚็š„โ€œไฟกๆฏไธๅฏน็งฐโ€ไธŠ๏ผŒไฝ†้š็€ๆŠ€ๆœฏ็š„ๆผ”่ฟ›๏ผŒ่ฟ™็งไฝŽ็ปดๅบฆ็š„ไฟกๆฏๅทฎๆญฃๅœจ่ขซ่ฟ…้€ŸๆŠนๅนณใ€‚ไบบไปฌ็ปๅธธ้™ทๅ…ฅโ€œ่ตšไธๅˆฐ้’ฑ/ๆŠ“ไธไฝๆœบไผšๆ˜ฏๅ› ไธบ็ผบๅฐ‘ไฟกๆฏๅทฎโ€็š„่ฎค็Ÿฅๅๅทฎ๏ผŒไฝ†ๆœฌ่ดจ้—ฎ้ข˜ๅœจไบŽโ€œ\"},{\"url\":\"/40.ๅ…ณไบŽ/01.ๅ…ณไบŽๆˆ‘\",\"relativePath\":\"/40.ๅ…ณไบŽ/01.ๅ…ณไบŽๆˆ‘\",\"frontmatter\":{\"date\":\"2025-08-29 09:40:53\",\"title\":\"ๅ…ณไบŽๆˆ‘\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไปŽ Tech Stack ๅˆฐ Insight Stack๏ผŒๅฝ“ AI ๆŽฅ็ฎกไบ†ๅฎž็Žฐ๏ผŒๆˆ‘ๆ›ดๅ…ณๆณจๆžถๆž„็š„ๆƒ่กกไธŽไบงๅ“็š„ไปทๅ€ผ๏ผŒไธ“ๆณจ๏ผšๅทฅ็จ‹ๅŒ– Spec ไธŽ AI ็ผ–็จ‹็ฃจๅˆ็š„ๅฎž่ทต | Agent ่ฝๅœฐ | ็‹ฌ็ซ‹ไบงๅ“ใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/about_me_chinese.png\",\"permalink\":\"/about/me\",\"categories\":[\"ๅ…ณไบŽ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ…ณไบŽๆˆ‘\",\"date\":\"2025-08-29 09:40:53\",\"capture\":\"ๆˆ‘ๆ˜ฏ่ฐ\\nๆˆ‘ๆ˜ฏไธ€ๅๆ‹ฅๆœ‰ๅ…จๆ ˆ่ƒŒๆ™ฏ็š„ๅผ€ๅ‘่€…, ๆŠ€ๆœฏๅบ•่‰ฒๆบไบŽๅทฅไฝœๅ‡ ๅนดๅŽ็งฏ็ดฏไบ†่พƒไธบๆ‰Žๅฎž็š„ๅทฅ็จ‹ๅŒ–ๅฎž่ทตโ€”โ€”ไปŽๅŸบ็ก€็š„ Web ๅ‰็ซฏๅˆฐๅคๆ‚็š„่ทจๅนณๅฐๅฐ็จ‹ๅบๅŸบ็ก€ๆก†ๆžถ็š„ๆžถๆž„ๅ‡็บง๏ผŒๅ†ๅˆฐๅŸบไบŽ NodeJS ็š„ๆœๅŠก็ซฏๅผ€ๅ‘๏ผŒ่ฟ™ไบ›็ปๅކ้”ป็‚ผไบ†ๆˆ‘ๅฏน็ณป็ปŸๅคๆ‚ๅบฆ็š„ๆŽŒๆŽงๅŠ›ใ€ๅทฅ็จ‹ๅŒ–่ƒฝๅŠ›ไปฅๅŠ้กน็›ฎๆŽจๅŠจไธŽๅ›ข้˜Ÿๅˆไฝœ็š„่ƒฝๅŠ›ใ€‚\\n่‡ช 2023 ๅนด LLM ๆตชๆฝฎๆถŒ็Žฐไปฅๆฅ๏ผŒๆˆ‘ๆทฑๅบฆๆŠ•่บซไบŽ AI ็›ธๅ…ณ็š„ๆŠ€ๆœฏๆŽข็ดขใ€‚ๅœจๅทฅไฝœไธŽไธšไฝ™้กน็›ฎไธญ๏ผŒไธปๅฏผๆˆ–ๅ‚ไธŽไบ†ๅคšไธชๅŸบไบŽๅคงๆจกๅž‹็š„ๅบ”็”จ่ฝๅœฐ๏ผŒ็งฏ็ดฏไบ†ไปŽ Prompt ่ฐƒไผ˜ๅˆฐ Agentic Workflow ็ผ–ๆŽ’็š„ไธ€็บฟ็ป้ชŒ๏ผŒไนŸๅคšๆฌกๅ‚ๅŠ ไบ†ๅ›ฝๅ†… AI ็คพๅŒบ็›ธๅ…ณ็š„ๆŠ€ๆœฏๅˆ†ไบซไธŽไบคๆตๆดปๅŠจ๏ผŒไบ†่งฃไบ† AI ้ข†ๅŸŸๆœ€ๆ–ฐ็š„ๆŠ€ๆœฏ่ถ‹ๅŠฟไธŽๅฎž่ทตใ€‚\\n\\n็›ฎๅ‰๏ผŒๆˆ‘ไธป่ฆๅœจ\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹\",\"frontmatter\":{\"date\":\"2025-08-20 22:51:27\",\"title\":\"่Šไธ€่Š TypeScript ไธญ็š„ๆณ›ๅž‹\",\"tldr\":\"ๆณ›ๅž‹ๅฐ†็ฑปๅž‹ไฝœไธบๅ‚ๆ•ฐ๏ผŒไฝฟไปฃ็ ๅœจๅคš็ง็ฑปๅž‹ไธŠๅฎ‰ๅ…จ่ฟ่กŒ๏ผŒๆ˜ฏ TypeScript ็ฑปๅž‹ๆŠฝ่ฑก็š„ๆ ธๅฟƒ็‰นๆ€งใ€‚\",\"description\":\"ๆœฌๆ–‡็ณป็ปŸ่งฃๆž TypeScript ๆณ›ๅž‹็š„ๆ ธๅฟƒๆฆ‚ๅฟตไธŽๅทฅไฝœๆœบๅˆถ๏ผŒๅฏนๆฏ”ๆณ›ๅž‹ไธŽ any ็ฑปๅž‹็š„ๅทฎๅผ‚๏ผŒๆถต็›–ๆณ›ๅž‹ๅ‡ฝๆ•ฐใ€ๆŽฅๅฃใ€็ฑปใ€็ฑปๅž‹ๅˆซๅ็š„ๅฎž่ทต็”จๆณ•๏ผŒไปฅๅŠๅŸบๆœฌ็ฑปๅž‹็บฆๆŸใ€ๆŽฅๅฃ็บฆๆŸใ€ๅคš้‡็บฆๆŸใ€keyof ็บฆๆŸ็ญ‰้ซ˜้˜ถๆŠ€ๅทงไธŽๆœ€ไฝณๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/typescript-generic-types\",\"tags\":[\"tutorial\",\"typescript\",\"generics\",\"type-system\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่Šไธ€่Š TypeScript ไธญ็š„ๆณ›ๅž‹\",\"date\":\"2025-08-20 22:51:27\",\"capture\":\"1. ๆณ›ๅž‹็š„ๅŸบๆœฌๆฆ‚ๅฟตๅ’Œไฝœ็”จ\\n 1.1 ๆ ธๅฟƒๅฎšไน‰\\nๆณ›ๅž‹๏ผˆGenerics๏ผ‰ ๆ˜ฏ TypeScript ไธญไธ€็งๅผบๅคง็š„็ฑปๅž‹็ณป็ปŸ็‰นๆ€ง๏ผŒๅ…่ฎธๅฎšไน‰็ฑปๅž‹ๅ‚ๆ•ฐๅŒ–็š„็ป„ไปถ๏ผŒไฝฟไปฃ็ ่ƒฝๅคŸๅœจๅคš็ง็ฑปๅž‹ไธŠๅฎ‰ๅ…จ่ฟ่กŒ๏ผŒๅŒๆ—ถไฟๆŒ็ฑปๅž‹ๆฃ€ๆŸฅใ€‚ๆณ›ๅž‹็š„ๆ ธๅฟƒๆ€ๆƒณๆ˜ฏๅฐ†็ฑปๅž‹ไฝœไธบๅ‚ๆ•ฐไผ ้€’็ป™ๅ‡ฝๆ•ฐใ€ๆŽฅๅฃๆˆ–็ฑป๏ผŒๅฎž็Žฐ\\\"็ผ–ๅ†™ไธ€ๆฌก๏ผŒๅค็”จๅคšๆฌก\\\"็š„ๆ•ˆๆžœใ€‚\\n 1.2 ๆณ›ๅž‹ไธŽ any ็ฑปๅž‹็š„ๅฏนๆฏ”\\n| ็‰นๆ€ง | ๆณ›ๅž‹ | any ็ฑปๅž‹ |\\n|------|------|----------|\\n| ็ฑปๅž‹ๅฎ‰ๅ…จ | โœ… ็ผ–่ฏ‘ๆ—ถ่ฟ›่กŒ็ฑปๅž‹ๆฃ€ๆŸฅ | โŒ ๅฎŒๅ…จๅคฑๅŽป็ฑปๅž‹ๆฃ€ๆŸฅ |\\n| ไปฃ็ ๅค็”จ | โœ… ๆ”ฏๆŒๅคš็ง็ฑปๅž‹ๅค็”จ | โœ… ๆ”ฏๆŒๅคš็ง็ฑปๅž‹๏ผŒไฝ†ๅคฑๅŽป็ฑปๅž‹ไฟกๆฏ |\\n| ็ฑปๅž‹ๆŽจๆ–ญ | โœ… \"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2025-08-12 22:47:47\",\"title\":\"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—\",\"tldr\":\"TypeScript ๅฎŒๅ–„็š„็ผ–่ฏ‘ไฝ“็ณปไธŽ่ฐƒ่ฏ•ๅทฅๅ…ท้“พ๏ผŒๆ˜ฏๆž„ๅปบ้ซ˜่ดจ้‡ๅบ”็”จ็š„ๅŸบ็Ÿณใ€‚\",\"description\":\"ๆทฑๅ…ฅ่งฃๆž TypeScript ็ผ–่ฏ‘ๅทฅๅ…ท้“พไธŽ่ฐƒ่ฏ•ไฝ“็ณป๏ผŒๆถต็›– tsconfig.json ๆ ธๅฟƒ้…็ฝฎใ€Monorepo ้กน็›ฎ้…็ฝฎ๏ผˆextends/references๏ผ‰ใ€source map ่ฐƒ่ฏ•ใ€ESLint ไธŽ Jest ๅ•ๅ…ƒๆต‹่ฏ•็ญ‰ๅฎŒๆ•ดๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/typescript-compilation-debugging-guide\",\"tags\":[\"tutorial\",\"typescript\",\"compilation\",\"tooling\",\"eslint\",\"jest\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—\",\"date\":\"2025-08-12 22:47:47\",\"capture\":\"็ผ–ๅ†™ไปฃ็ ๅชๆ˜ฏๅผ€ๅ‘ๅทฅไฝœ็š„่ตท็‚น๏ผŒ็œŸๆญฃๅ†ณๅฎš้กน็›ฎ่ดจ้‡็š„ๆ˜ฏๅŽ็ปญ็š„็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•็Žฏ่Š‚ใ€‚TypeScript ไฝœไธบ JavaScript ็š„้™ๆ€็ฑปๅž‹่ถ…้›†๏ผŒไธไป…ๅธฆๆฅไบ†็ฑปๅž‹ๅฎ‰ๅ…จ๏ผŒๆ›ดๆไพ›ไบ†ๅผบๅคง็š„็ผ–่ฏ‘ๅทฅๅ…ทๅ’Œ่ฐƒ่ฏ•่ƒฝๅŠ›๏ผŒ่ฎฉๆˆ‘ไปฌ่ƒฝๅคŸๆ›ด้ซ˜ๆ•ˆๅœฐๆž„ๅปบๅ’Œ็ปดๆŠคๅฏ้ ็š„ๅบ”็”จ็จ‹ๅบใ€‚\\nๆœฌๆ–‡ๅฐ†ๅฏน TypeScript ้กน็›ฎ็š„็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•่ฟ›่กŒๆขณ็†๏ผŒๅŒ…ๆ‹ฌ็ผ–่ฏ‘ๅทฅๅ…ท TSC ็š„ไฝฟ็”จใ€็ผ–่ฏ‘้€‰้กน็š„้…็ฝฎใ€่ฐƒ่ฏ•ๅทฅๅ…ท็š„ไฝฟ็”จ็ญ‰ใ€‚\\n 1. TypeScript ็ผ–่ฏ‘้…็ฝฎไธŽ tsconfig.json\\nTSC๏ผˆTypeScript Compiler๏ผ‰ๆ˜ฏ TypeScript ๅฎ˜ๆ–นๆไพ›็š„็ผ–่ฏ‘ๅทฅๅ…ท๏ผŒ่ดŸ่ดฃๅฐ† TypeScript ไปฃ็ ๏ผˆ`.ts` ๆˆ– `.tsx`๏ผ‰่ฝฌๆขไธบ J\"},{\"url\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/20.่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"relativePath\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/20.่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"frontmatter\":{\"date\":\"2024-06-15 22:23:00\",\"title\":\"่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡็ป“ๅˆไฟ็ฝ—ใƒปๆ ผ้›ทๅŽ„ๅง†ใ€ŠHow to Do Great Workใ€‹ๆ ธๅฟƒ่ง‚็‚น๏ผŒๆŽข่ฎจ AI ๅŽŸ็”Ÿๆ—ถไปฃๅคๅˆๅž‹ไบบๆ‰็š„ๆ ธๅฟƒ็‰น่ดจใ€‚AI ่ฎฉๅŸบ็ก€ๆ‰ง่กŒ่ƒฝๅŠ›ๅฟซ้€Ÿ่ดฌๅ€ผ๏ผŒไบบๆ‰็š„ๆ ธๅฟƒๅฃๅž’ไธๅ†ๆ˜ฏ่งฃๅ†ณ้—ฎ้ข˜๏ผŒ่€Œๆ˜ฏๆๅ‡บไผ˜่ดจ้—ฎ้ข˜ใ€ๅŸนๅ…ป้žๅ…ฑ่ฏ†ๅ“ๅ‘ณใ€‚ๅŒๆ—ถ้œ€ๅšๅฎˆๆ™บๅŠ›่ฏšๅฎž๏ผŒๆ‹ฅๆœ‰ๆ‰“็ ดๅธธ่ง„็š„ๅˆ›ๆ–ฐๅ‹‡ๆฐ”๏ผŒๅ€ŸๅŠฉ AI ๆ”พๅคงไธชไบบๆˆ้•ฟๆ ๆ†๏ผŒไปฅๅฐๅˆ‡ๅฃๅฎž่ทตๅฎž็ŽฐๆŒ‡ๆ•ฐ็บงๆˆ้•ฟใ€‚ไบบ็ฑป็‹ฌๆœ‰็š„ๅฅฝๅฅ‡ๅฟƒ๏ผŒๆ˜ฏ็ช็ ด AI ๅนณๅบธใ€ๅ–ๅพ—ๆฐๅ‡บๆˆๅฐฑ็š„ๆœ€็ปˆๅบ•ๆฐ”ใ€‚\",\"coverImg\":\"/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense/ai-native-composite-talents\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"AI\",\"ๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"date\":\"2024-06-15 22:23:00\",\"capture\":\"> \\n> ๅŽŸๆ–‡ๅœฐๅ€๏ผšhttps://paulgraham.com/greatwork.html\\n> \\n> ๅŽŸๆ–‡ไฝœ่€…๏ผšPaul Graham๏ผˆไฟ็ฝ—ยทๆ ผ้›ทๅŽ„ๅง†๏ผ‰๏ผŒ็ก…่ฐท้กถ็บงๅญตๅŒ–ๅ™จ Y Combinator ๅˆ›ๅง‹ไบบ๏ผŒ่ขซ่ช‰ไธบโ€œ็ก…่ฐทๅˆ›ไธšๆ•™็ˆถโ€๏ผŒไนŸๆ˜ฏ็ปๅ…ธๆŠ€ๆœฏๅ“ฒๅญฆ่‘—ไฝœใ€Š้ป‘ๅฎขไธŽ็”ปๅฎถใ€‹็š„ไฝœ่€…ใ€‚\\n> \\n> ๆ–‡็ซ ่ƒŒๆ™ฏ๏ผšๅŽŸๆ–‡ๆ˜ฏไฟ็ฝ—ยทๆ ผ้›ทๅŽ„ๅง†ไน‹ๅ‰ๅ‡†ๅค‡ไบ†ๅŠๅนดไน‹ไน…็š„้‡็ฃ…้•ฟๆ–‡๏ผŒไป–่ฏ•ๅ›พ่ฎฒๆ˜Ž็™ฝไธ€ไธช้€‚็”จไบŽๆฏไธชไบบ็š„ไธป้ข˜โ€”โ€”ๅฆ‚ไฝ•ๅšๆˆใ€Œๅคงไบ‹ใ€๏ผˆgreat work๏ผ‰ใ€‚้€š่ฏปๅ…จๆ–‡๏ผŒไฝ ไผšๅ‘็Žฐ๏ผŒ่ฟ™ๆ˜ฏไธ€็ฏ‡้žๅธธๅฎž็”จ็š„ๅทฅไฝœๆŒ‡ๅ—๏ผŒๅนถไธ”ๅ…ถไธญ็š„่ฎธๅคšๅ†…ๅฎน๏ผŒ้ƒฝไธŽAIๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰ๆ‰€้œ€่ฆๅ…ทๅค‡็š„็‰น่ดจ้žๅธธไธ€่‡ดใ€‚\\n 1. ๅผ•่จ€๏ผš\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/60.ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/60.ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹\",\"frontmatter\":{\"date\":\"2024-06-14 22:00:00\",\"title\":\"ไธ€ๆฌก็”ฑ Product Sense ้ฉฑๅŠจ็š„ Agent ๆž้™ๅฎž่ทต\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšAI ๆ—ถไปฃ๏ผŒๅ†™ๅฅฝไปฃ็ ๅชๆ˜ฏๅŠๆ ผ็บฟใ€‚ๅœจไธ€ๆฌกๆž้™ๆŒ‘ๆˆ˜่ต›ไธญ๏ผŒๆˆ‘ไปฌ้€š่ฟ‡ๅฏน K12 ่ต›้“็”จๆˆท็—›็‚น็š„็ฒพๅ‡†โ€œ่ง†่ง’ๅˆ‡ๆขโ€๏ผŒๆ‰“้€ ๅ‡บไธ€ๆฌพๆŽˆไบบไปฅๆธ”็š„โ€œๆ•ฐๅญฆ่พ…ๅฏผๅฏผๅธˆโ€ๅนถๆ–ฉ่Žทๅคงๅฅ–ใ€‚ๆœฌๆ–‡ๅค็›˜ไบ† Agent ๆญๅปบ่ƒŒๅŽ็š„ๆ ธๅฟƒ SOP ่ฎพ่ฎก้€ป่พ‘๏ผšๆŠ€ๆœฏ็ปˆ็ฉถ่ฆๅ›žๅฝ’ๅฏน็œŸๅฎžไบบๆ€ง็š„ไฝ“ๅฏŸไธŽๅ…ณๆ€€ใ€‚\",\"coverImg\":\"/img/cover/llm_learning_bg_2.png\",\"permalink\":\"/ai-practice/math-bot\",\"categories\":[\"ai-practice\"],\"tags\":[\"Agent\",\"ไบงๅ“ Sense\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไธ€ๆฌก็”ฑ Product Sense ้ฉฑๅŠจ็š„ Agent ๆž้™ๅฎž่ทต\",\"date\":\"2024-06-14 22:00:00\",\"capture\":\"ๅœจๅˆšๅˆš่ฟ‡ๅŽป็š„ๅ‘จๆœซ๏ผŒๆˆ‘ๅ’Œๅฅฝๅ‹ๅ‚ๅŠ ไบ†ไธ€ๅœบ็”ฑๅƒๅธ† Agent ไธพๅŠž็š„็บฟไธ‹็คพๅŒบๆดปๅŠจใ€‚่ฟ™ๆ˜ฏไธ€ๅœบๅ……ๆปกๆžๅฎข็ฒพ็ฅž็š„โ€œๆž้™ๆŒ‘ๆˆ˜โ€โ€”โ€”ๆˆ‘ไปฌ้œ€่ฆๅœจๆžๅ…ถๆœ‰้™็š„ๆ—ถ้—ดๅ†…๏ผŒไปŽ้›ถๅผ€ๅง‹ๆž„ๆ€ใ€ๆญๅปบๅนถ็Žฐๅœบๅฑ•็คบไธ€ไธชๅฎŒๆ•ด็š„ Agent ๅบ”็”จใ€‚\\nไปคไบบๆƒŠๅ–œ็š„ๆ˜ฏ๏ผŒๆˆ‘ไปฌไธไป…้กบๅˆฉๅฎŒๆˆไบ†ๆž้™ๅผ€ๅ‘๏ผŒๆœ€็ปˆ่ฟ˜ๆ–ฉ่Žทไบ†ๅ…จๅœบ็š„ใ€Œๆœ€ไฝณๅบ”็”จๅฅ–ใ€ใ€‚\\nๅค็›˜่ฟ™ๆฌก็Ÿญๆš‚ๅด้ซ˜ๅฏ†ๅบฆ็š„ๅผ€ๅ‘ไฝ“้ชŒ๏ผŒๆœ€ๅคง็š„ๆ„Ÿ่งฆๆ˜ฏ๏ผšๅœจ AI ๆ—ถไปฃ๏ผŒๅ•็บฏ็š„ๅทฅ็จ‹ๅฎž็Žฐๅทฒ็ปไธๅ†ๆ˜ฏๅ”ฏไธ€็š„ๅฃๅž’๏ผŒ็œŸๆญฃ่ฎฉๅบ”็”จ่„ฑ้ข–่€Œๅ‡บ็š„๏ผŒๆ˜ฏๅฏน็œŸๅฎžไธšๅŠกๅœบๆ™ฏ็š„ๆดžๅฏŸๅŠ›ใ€‚ๅฝ“ (Engineering + Product) ร— AI ็š„้ฃž่ฝฎๅผ€ๅง‹่ฝฌๅŠจๆ—ถ๏ผŒๆŠ€ๆœฏๆ‰่ƒฝ็œŸๆญฃ่ฝฌๅŒ–ไธบ่งฃๅ†ณ้—ฎ้ข˜็š„ๅˆฉๅ™จใ€‚\\nไปฅไธ‹ๆ˜ฏๅ…ณไบŽ่ฟ™ๆฌกโ€œK12 ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹โ€ Agent ๆญๅปบ็š„ๅฎž\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview\",\"frontmatter\":{\"date\":\"2024-05-18 22:49:57\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ไปŽ ES Modules ๅˆฐๅคงๅž‹้กน็›ฎๅˆ†ๅฑ‚ๆžถๆž„ไธŽๅทฅ็จ‹ๅŒ–ๅฎž่ทต๏ผŒๆž„ๅปบๅ…จๆ ˆๆจกๅ—ๅŒ–็Ÿฅ่ฏ†ไฝ“็ณปใ€‚\",\"description\":\"็ณป็ปŸๆขณ็† JavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›๏ผˆIIFEโ†’CJSโ†’ESM๏ผ‰ใ€TypeScript ็ฑปๅž‹ๅขžๅผบใ€ๅˆ†ๅฑ‚ๆžถๆž„ไธŽ DDD ๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/module-programming-practice-guide\",\"tags\":[\"tutorial\",\"ESM\",\"DDD\",\"ๅพฎๅ‰็ซฏ\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2024-05-18 22:49:57\",\"capture\":\"1. ๅผ•่จ€\\nๆจกๅ—ๅŒ–็ผ–็จ‹ๆ˜ฏ็Žฐไปฃ JavaScript/TypeScript ๅผ€ๅ‘็š„ๆ ธๅฟƒๅŽŸๅˆ™๏ผŒๅฎƒ้€š่ฟ‡ๅฐ†ๅคๆ‚็ณป็ปŸๆ‹†ๅˆ†ไธบ็‹ฌ็ซ‹ๅฏๅค็”จ็š„ๆจกๅ—๏ผŒ้™ไฝŽ็ณป็ปŸๅคๆ‚ๆ€งๅนถๆ้ซ˜ๅฏ็ปดๆŠคๆ€งไธŽๅฏๅค็”จๆ€งใ€‚ๅ› ๆญค๏ผŒๆˆ‘ไปฌ้€š่ฟ‡็ณปๅˆ—ๆ–‡็ซ ่ฏฆ็ป†ไป‹็ปไบ†ๆจกๅ—ๅŒ–็š„ๅŸบ็ก€ๆฆ‚ๅฟตใ€ๆผ”่ฟ›ๅކ็จ‹ใ€ไธๅŒ่ง„่Œƒ็š„ๆทฑๅบฆ่งฃๆžใ€TypeScriptๆจกๅ—ๅŒ–ๅขžๅผบใ€ES Modules ๆ ธๅฟƒ่ฏญๆณ•ไธŽๅฎž่ทตใ€ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทตใ€ๅ‰็ซฏๅทฅ็จ‹ๅŒ–ไธญ็š„ๆจกๅ—ๅŒ–ใ€Node.jsไธญ็š„ๆจกๅ—ๅŒ–ๅฎž่ทตใ€ๅคงๅž‹้กน็›ฎไธญ็š„ๆจกๅ—ๅŒ–่ฎพ่ฎกใ€ๆจกๅ—ๅŒ–ไธŽไปฃ็ ็ปดๆŠคไปฅๅŠๆœชๆฅๅ‘ๅฑ•่ถ‹ๅŠฟใ€‚\\nๅ‰้ข็š„็ณปๅˆ—ๆ–‡็ซ ไธป่ฆๆœ‰๏ผš\\n- ๆจกๅ—ๅŒ–็ผ–็จ‹็ผ–็จ‹ๅˆไฝ“้ชŒไธŽๅŸบ็ก€ไป‹็ป\\n- JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\\n- ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒ\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–\",\"frontmatter\":{\"date\":\"2024-05-17 23:33:09\",\"title\":\"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“\",\"tldr\":\"Node.js CJS ไธŽ ESM ๅŒๆจกๅ…ฑๅญ˜๏ผšๆจกๅ—ๅŠ ่ฝฝๆœบๅˆถไธŽๅˆ†ๅฑ‚ๆžถๆž„ๅฎž่ทตใ€‚\",\"description\":\"่งฃๆž Node.js ไธญ CommonJS ไธŽ ES Modules ็š„ๅŒๆจกๅ…ฑๅญ˜็ญ–็•ฅ๏ผŒๆถต็›–ๆจกๅ—ๅŠ ่ฝฝไผ˜ๅ…ˆ็บงใ€็ผ“ๅญ˜ๆœบๅˆถใ€package.json exports ๆกไปถๅฏผๅ‡บๅŠ Monorepo ๆžถๆž„ๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/nodejs-module-programming-summary\",\"abstract\":\"Node.js ๆจกๅ—ๅŒ–็ปๅކไบ†ไปŽ CommonJS ็‹ฌ้œธๅคฉไธ‹ๅˆฐ ES Modules ๅ…จ้ขๆŽฅๅ…ฅ็š„่Œƒๅผ่ฝฌ็งปใ€‚ๅ…ฑๅญ˜็ญ–็•ฅ้€š่ฟ‡ .mjs/.cjs ๅŽ็ผ€ๅ’Œ package.json type ๅญ—ๆฎตๆŽงๅˆถไธค็ง่ง„่Œƒ็š„่พน็•Œ๏ผ›ESM ๅฏ็›ดๆŽฅ import CJS๏ผˆ่‡ชๅŠจๅŒ…่ฃ…ไธบ้ป˜่ฎคๅฏผๅ‡บ๏ผ‰๏ผŒไฝ† CJS ๆ— ๆณ• require ESM ๅฟ…้กปไฝฟ็”จๅŠจๆ€ importใ€‚ๆจกๅ—ๅŠ ่ฝฝ้ตๅพชๆ ธๅฟƒๆจกๅ—ไผ˜ๅ…ˆใ€ๆ–‡ไปถๆจกๅ—ใ€็›ฎๅฝ•ๆจกๅ—๏ผˆindex.js/package.json๏ผ‰ใ€node_modules ้€็บงๆŸฅๆ‰พ็š„ไผ˜ๅ…ˆ็บง๏ผ›require.cache ๅฎž็Žฐๆจกๅ—็ผ“ๅญ˜๏ผŒๆธ…้™ค็ผ“ๅญ˜๏ผˆdelete require.cache[path]๏ผ‰ๆ˜ฏ็ƒญๆ›ดๆ–ฐๅทฅๅ…ท็š„ๆ ธๅฟƒๆ“ไฝœใ€‚package.json exports ๅญ—ๆฎตๆ”ฏๆŒๆกไปถๅฏผๅ‡บ๏ผˆimport/require ่ฟ”ๅ›žไธๅŒๅ…ฅๅฃ๏ผ‰ใ€‚pnpm workspaces ๅ‡ญๅ€Ÿ็กฌ้“พๆŽฅๆœบๅˆถๆˆไธบ็Žฐไปฃ Monorepo ้ฆ–้€‰ใ€‚ๅŽ็ซฏๅˆ†ๅฑ‚ๆžถๆž„๏ผˆAPI/Service/Repository๏ผ‰ๅฎž็Žฐๅ…ณๆณจ็‚นๅˆ†็ฆป๏ผŒๆขๆ•ฐๆฎๅบ“ๅช้œ€ๆ”น Repository ๅฑ‚ใ€‚\",\"tags\":[\"concept\",\"node.js\",\"commonjs\",\"esm\",\"monorepo\",\"layered-architecture\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“\",\"date\":\"2024-05-17 23:33:09\",\"capture\":\"ๅฆ‚ๆžœ่ฏดๆต่งˆๅ™จ็ซฏ็š„ๆจกๅ—ๅŒ–ๆ˜ฏไธบไบ†\\\"ๆŒ‰้œ€ๅŠ ่ฝฝ\\\"๏ผŒ้‚ฃไนˆ Node.js ็š„ๆจกๅ—ๅŒ–ๅˆ™ๆ˜ฏไธบไบ†\\\"ไปฃ็ ็ป„็ป‡\\\"ใ€‚ไฝœไธบๅฐ† JavaScript ๅธฆๅ…ฅๆœๅŠกๅ™จ็ซฏ็š„ๅ…ˆ้ฉฑ๏ผŒNode.js ็ปๅކไบ†ไปŽ CommonJS (CJS) ็‹ฌ้œธๅคฉไธ‹ๅˆฐ ES Modules (ESM) ๅ…จ้ขๆŽฅๅ…ฅ็š„่Œƒๅผ่ฝฌ็งปใ€‚\\nๅœจๆœๅŠกๅ™จ็ซฏ๏ผŒๆจกๅ—ๅŒ–ไธไป…ไป…ๆ˜ฏไธบไบ†ๆ‹†ๅˆ†ไปฃ็ ๏ผŒๆ›ดๆ˜ฏไธบไบ†ๆž„ๅปบๆธ…ๆ™ฐ็š„้กน็›ฎ็ป“ๆž„ใ€็ฎก็†ไพ่ต–ๅ…ณ็ณป๏ผŒไปฅๅŠๅฎž็Žฐไปฃ็ ็š„ๅค็”จไธŽ็ปดๆŠคใ€‚\\n 1. CommonJS ไธŽ ES Modules ๅŒๆจกๅ…ฑๅญ˜\\nๅœจ็Žฐไปฃ Node.js ๅผ€ๅ‘ไธญ๏ผŒๆˆ‘ไปฌ็ปๅธธ้ขไธดไธค็ง่ง„่Œƒไบค็ป‡็š„ๆƒ…ๅ†ตใ€‚่ฟ™ไธไป…ๆ˜ฏๆ–‡ไปถๅŽ็ผ€็š„ๆ”นๅ˜๏ผŒๆ›ดๆ˜ฏๅŒๆญฅไธŽๅผ‚ๆญฅๅŠ ่ฝฝ้€ป่พ‘็š„ๅšๅผˆใ€‚\\nๅ…ฑๅญ˜็ญ–็•ฅ๏ผš\\n1. ๅŽ็ผ€ๅ†ณๅฎš่ฎบ๏ผš`.mjs\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต\",\"frontmatter\":{\"date\":\"2024-05-17 22:30:50\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ๆขณ็†ไธŽๆ€ป็ป“\",\"tldr\":\"ๆŽŒๆก้ซ˜ๅ†…่šไฝŽ่€ฆๅˆๅŽŸๅˆ™๏ผšๆจกๅ—ๅŒ–็ผ–็จ‹็š„่ฎพ่ฎกๅ‡†ๅˆ™ไธŽ็ฒ’ๅบฆๆŽงๅˆถใ€‚\",\"description\":\"็ณป็ปŸๆขณ็†ๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅ…ญๅคงๆ ธๅฟƒๅŽŸๅˆ™๏ผšๅ•ไธ€่Œ่ดฃใ€้ซ˜ๅ†…่šไฝŽ่€ฆๅˆใ€็ฒ’ๅบฆ่ฎพ่ฎกใ€ๅ‘ฝๅ่ง„่ŒƒๅŠๆจกๅ—็‰ˆๆœฌ็ฎก็†๏ผŒ้™„่ฏฆ็ป†็š„ๅทฅ็จ‹ๅฎž่ทตๅปบ่ฎฎไธŽ้ฟๅ‘ๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/fullstack/module-programming-principles-best-practices\",\"abstract\":\"ๅฆ‚ๆžœ่ฏดๆŽŒๆกๆจกๅ—ๅŒ–่ฏญๆณ•ๆ˜ฏๆœฏ๏ผŒ้‚ฃไนˆ็†่งฃๅ…ถ่ƒŒๅŽ็š„่ฎพ่ฎกๅŽŸๅˆ™ๅฐฑๆ˜ฏ้“ใ€‚ๅ•ไธ€่Œ่ดฃๅŽŸๅˆ™ๅผบ่ฐƒๆจกๅ—ๅชๅบ”ๆœ‰ไธ€ไธช่ขซๆ”นๅ˜็š„ๅŽŸๅ› ๏ผŒ้ฟๅ… God Object ๅๆจกๅผใ€‚้ซ˜ๅ†…่šไฝŽ่€ฆๅˆๆ˜ฏ่กก้‡ๆจกๅ—่ดจ้‡็š„็ปˆๆžๆ ‡ๅ‡†โ€”โ€”ๆจกๅ—ๅ†…้ƒจๅ…ƒ็ด ่”็ณป็ดงๅฏ†๏ผŒๆจกๅ—ไน‹้—ดไพ่ต–ๅ…ณ็ณปๅฐฝๅฏ่ƒฝ็ฎ€ๅ•ใ€‚็ฒ’ๅบฆ่ฎพ่ฎก่ฆๆฑ‚ๅ•ไธชๆจกๅ—ไฟๆŒๅœจ 100-500 ่กŒไน‹้—ด๏ผŒๅŠŸ่ƒฝ่ƒฝ็”จไธ€ๅฅ่ฏๆธ…ๆ™ฐๆ่ฟฐ๏ผŒๅ‡บ็Žฐๅคšๅˆ†ๆ”ฏๅคๆ‚้€ป่พ‘ๆ—ถ้€šๅธธๆ˜ฏๆ‹†ๅˆ†ไฟกๅทใ€‚ๅ‘ฝๅ่ง„่Œƒ็ปŸไธ€ๅ›ข้˜ŸๆฒŸ้€š่ฏญๅขƒ๏ผˆkebab-case ๆ–‡ไปถๅใ€camelCase ๆ–นๆณ•ๅใ€PascalCase ็ฑปๅ๏ผ‰ใ€‚ๆจกๅ—็‰ˆๆœฌ็ฎก็†้ตๅพช SemVer ่ฏญไน‰ๅŒ–็‰ˆๆœฌ๏ผŒไธบๅ…ฌๅ…ฑๆจกๅ—็š„็ปดๆŠค่€…ไธŽไฝฟ็”จ่€…ๅปบ็ซ‹ๅฅ‘็บฆใ€‚ๅผบ่ฐƒๆธ…ๆ™ฐ็š„ๆจกๅ—่พน็•Œๆ˜ฏ AI ่พ…ๅŠฉ็ผ–็จ‹ๆ—ถไปฃ AI ๅ‡†็กฎ็†่งฃไปฃ็ ็š„ๅ‰ๆใ€‚\",\"tags\":[\"concept\",\"solid-principles\",\"code-organization\",\"best-practices\",\"naming-conventions\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ๆขณ็†ไธŽๆ€ป็ป“\",\"date\":\"2024-05-17 22:30:50\",\"capture\":\"1. ๅ•ไธ€่Œ่ดฃๅŽŸๅˆ™\\nๆ ธๅฟƒๆ€ๆƒณ๏ผšไธ€ไธชๆจกๅ—ๅบ”ๅฝ“ๆœ‰ไธ”ๅชๆœ‰ไธ€ไธช่ขซๆ”นๅ˜็š„ๅŽŸๅ› ใ€‚\\nๆจกๅ—ไธๅบ”ๆˆไธบๅŠŸ่ƒฝ็š„โ€œๆ‚่ดง้“บโ€ใ€‚ๅฝ“ไธ€ไธชๆจกๅ—ๆ‰ฟๆ‹…ไบ†ๅคชๅคšไธ็›ธๅ…ณ็š„ไธšๅŠก้€ป่พ‘ๆ—ถ๏ผŒๅฎƒ็š„ๅคๆ‚ๅบฆไผšๅ‘ˆๆŒ‡ๆ•ฐ็บงไธŠๅ‡๏ผŒไปปไฝ•ๅพฎๅฐ็š„ๆ”นๅŠจ้ƒฝๅฏ่ƒฝๅผ•ๅ‘ๆ„ๆƒณไธๅˆฐ็š„่ฟž้”ๅๅบ”ใ€‚\\nไปฃ็ ๆผ”็คบ๏ผš\\n```javascript\\n// โœ… ๆŽจ่๏ผš่Œ่ดฃๆ‹†ๅˆ†ๆ˜Ž็กฎ\\n// user-service.js - ไป…ๅค„็†็”จๆˆทๆ•ฐๆฎ็š„ CRUD\\nexport const getUser = async (id) => { /* ... */ };\\n// auth-provider.js - ไป…ๅค„็†้‰ดๆƒ็Šถๆ€ไธŽ้€ป่พ‘\\nexport const login = async (credenti\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"frontmatter\":{\"date\":\"2024-05-16 21:27:36\",\"title\":\"ไปŽ้€ป่พ‘้š”็ฆปๅˆฐ็ฑปๅž‹ๅฅ‘็บฆ๏ผšTypeScript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"tldr\":\"TypeScript ๅฐ†ๆจกๅ—ไพ่ต–ๆๅ‡ไธบ็ผ–่ฏ‘ๆ—ถ็ฑปๅž‹ๅฅ‘็บฆ๏ผŒไปŽ import type ๅˆฐๅฃฐๆ˜Žๆ–‡ไปถใ€‚\",\"description\":\"็ณป็ปŸ่ฎฒ่งฃ TypeScript ๅฏน ES Modules ็š„็ฑปๅž‹ๅขžๅผบ๏ผŒๆถต็›– import type ่ฟ่กŒๆ—ถไผ˜ๅŒ–ใ€ๆŽฅๅฃๅฅ‘็บฆใ€ๅฃฐๆ˜Žๆ–‡ไปถ .d.ts ๅŠ tsconfig ๆจกๅ—ๅŒ–้…็ฝฎใ€‚\",\"permalink\":\"/fullstack/typescript-module-programming-enhancement\",\"tags\":[\"concept\",\"ๅ…จๆ ˆ\",\"typescript\",\"tsconfig\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไปŽ้€ป่พ‘้š”็ฆปๅˆฐ็ฑปๅž‹ๅฅ‘็บฆ๏ผšTypeScript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"date\":\"2024-05-16 21:27:36\",\"capture\":\"1. ๅผ•่จ€\\nๅœจๅŽŸ็”Ÿ JavaScript ๆจกๅ—ๅŒ–่งฃๅ†ณไบ†ไปฃ็ ็ป„็ป‡้—ฎ้ข˜ๅŽ๏ผŒTypeScript๏ผˆTS๏ผ‰่ฟ›ไธ€ๆญฅๅฐ†ๅ…ถๆŽจๅ‘ไบ†ๅทฅไธš็บง้ซ˜ๅบฆใ€‚TS ไธไป…ไป…ๆ˜ฏไธบๆจกๅ—ๆทปๅŠ ไบ†็ฑปๅž‹ๆ ‡ๆณจ๏ผŒๅฎƒ้€š่ฟ‡็ฑปๅž‹ๅฏผๅ‡บๅฏผๅ…ฅใ€็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ใ€ไปฅๅŠๅฃฐๆ˜Žๆ–‡ไปถ็ณป็ปŸ๏ผŒๅฐ†ๆจกๅ—้—ด็š„ไพ่ต–ๅ…ณ็ณปไปŽ็ฎ€ๅ•็š„โ€œไปฃ็ ๅผ•็”จโ€ๆๅ‡ๅˆฐไบ†โ€œๅฅ‘็บฆไบคไบ’โ€ใ€‚\\nๆœฌๆ–‡ๆˆ‘ไปฌๅฐ†่š็„ฆไบŽ TypeScript ๅฆ‚ไฝ•้€š่ฟ‡็ฑปๅž‹็ณป็ปŸๅขžๅผบๆจกๅ—ๅŒ–็ผ–็จ‹๏ผŒๅนถๆŽข่ฎจๅœจ็Žฐไปฃๅทฅ็จ‹๏ผˆๅฐคๅ…ถๆ˜ฏ TS 5.0+ ๆ—ถไปฃ๏ผ‰ไธ‹็š„ๆœ€ไฝณ้…็ฝฎๅฎž่ทตใ€‚\\n 2. ็ฑปๅž‹ๅฏผๅ‡บไธŽๅฏผๅ…ฅ๏ผšๆž่‡ด็š„่ฟ่กŒๆ—ถไผ˜ๅŒ–\\nTypeScript ๅฏน ES Modules ่ฏญๆณ•ๆœ€ๆ˜พ่‘—็š„ๆ‰ฉๅฑ•ๆ˜ฏๆ”ฏๆŒโ€œไป…็ฑปๅž‹โ€๏ผˆType-only๏ผ‰็š„ๅฏผๅ‡บไธŽๅฏผๅ…ฅใ€‚่ฟ™ไธไป…ๆ˜ฏ่ฏญไน‰ไธŠ็š„ๆธ…ๆ™ฐ๏ผŒๆ›ดๆ˜ฏๆ€ง\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"frontmatter\":{\"date\":\"2024-05-14 22:29:32\",\"title\":\"ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒๆ‹ฅๆŠฑๅŽŸ็”Ÿ๏ผšES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"tldr\":\"ES Modules ๆ ธๅฟƒ่ฏญๆณ•ไธŽๆ‰ง่กŒๆจกๅž‹๏ผš้™ๆ€ๅˆ†ๆžๅฆ‚ไฝ•้‡ๅก‘ๅ‰็ซฏๆž„ๅปบๆ•ˆ็އใ€‚\",\"description\":\"ๆทฑๅบฆ่งฃๆž ES Modules ๅ‘ฝๅๅฏผๅ‡บ/ๅฏผๅ…ฅใ€้ป˜่ฎคๅฏผๅ‡บใ€ๅŠจๆ€ๅฏผๅ…ฅ็ญ‰่ฏญๆณ•๏ผŒไปฅๅŠๆจกๅ—ๆ‰ง่กŒ้กบๅบใ€ๅพช็Žฏไพ่ต–ๅค„็†ไธŽ็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ๆœบๅˆถใ€‚\",\"permalink\":\"/fullstack/decode-es-modules\",\"tags\":[\"concept\",\"ESM\",\"static-analysis\",\"Tree-Shaking\",\"circular-dependency\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒๆ‹ฅๆŠฑๅŽŸ็”Ÿ๏ผšES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"date\":\"2024-05-14 22:29:32\",\"capture\":\"> \\n> ็†่งฃ ESM๏ผŒไธไป…ไป…ๆ˜ฏๅญฆไผš import ๅ’Œ export๏ผŒๆ›ด้‡่ฆ็š„ๆ˜ฏ็†่งฃๅฎƒๅฆ‚ไฝ•้€š่ฟ‡็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ๅฝปๅบ•ๆ”นๅ˜ไบ†ๅ‰็ซฏๆž„ๅปบ็š„ๆ•ˆ็އใ€‚\\n 1. ๅ‘ฝๅๅฏผๅ‡บไธŽๅฏผๅ…ฅ๏ผš็ฒพๅ‡†็š„ไปฃ็ ๅผ•็”จ\\nๅ‘ฝๅๅฏผๅ‡บ๏ผˆNamed Exports๏ผ‰ๆ˜ฏ ESM ๆœ€ๅธธ็”จ็š„ๅฝขๅผ๏ผŒๅฎƒๅ…่ฎธไธ€ไธชๆจกๅ—ๆšด้œฒๅคšไธชๆˆๅ‘˜ใ€‚ๅ…ถๆ ธๅฟƒไผ˜ๅŠฟๅœจไบŽ๏ผšๅฏผๅ…ฅๆ–นๅฏไปฅๆŒ‰้œ€ๅผ•ๅ…ฅ๏ผŒไธ” IDE ่ƒฝๆไพ›็ฒพๅ‡†็š„่กฅๅ…จใ€‚\\n่ฏญๆณ•ๅฎž่ทต๏ผš๏ผš\\n```javascript\\n// math.js - ๅ‘ฝๅๅฏผๅ‡บ\\n// ่กŒๅ†…ๅฏผๅ‡บ\\nexport const PI = 3.14159;\\nexport function circleArea(radius) {\\n return PI * rad\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†\",\"frontmatter\":{\"date\":\"2024-05-14 22:26:06\",\"title\":\"JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\",\"tldr\":\"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ็ญ‰ๆ ธๅฟƒ่ง„่Œƒ๏ผŒ้™„็Žฐไปฃ่ฟ็งป็ญ–็•ฅใ€‚\",\"description\":\"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ๅ››ๅคงๆจกๅ—ๅŒ–่ง„่Œƒ็š„ๆ ธๅฟƒ่ฏญๆณ•ไธŽ้€‚็”จๅœบๆ™ฏ๏ผŒ่งฃๆžๅ„่ง„่Œƒ็š„ๅ…ณ้”ฎๅทฎๅผ‚๏ผŒๅนถๆไพ›ไปŽๆ—ง่ง„่Œƒๅ‘ ESM ่ฟ็งป็š„ๅฎžๆ“็ญ–็•ฅใ€‚\",\"permalink\":\"/fullstack/different-module-programming-specifications\",\"tags\":[\"tutorial\",\"CommonJS\",\"AMD\",\"UMD\",\"ESM\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\",\"date\":\"2024-05-14 22:26:06\",\"capture\":\"ๅœจ JavaScript ่ฟ›ๅŒ–ๅฒไธŠ๏ผŒโ€œๆจกๅ—ๅŒ–โ€ๅง‹็ปˆๆ˜ฏไธ€ไธชๆ ธๅฟƒๅ‘ฝ้ข˜ใ€‚ไปŽๆ—ฉๆœŸ script ๆ ‡็ญพๆปกๅคฉ้ฃž็š„โ€œๆททๆฒŒๆ—ถไปฃโ€๏ผŒๅˆฐๅ„่ทฏ่ง„่Œƒ็พค้›„้€้นฟ็š„โ€œๆˆ˜ๅ›ฝๆ—ถไปฃโ€๏ผŒๅ†ๅˆฐๅฆ‚ไปŠ ES Modules ๅฎšไบŽไธ€ๅฐŠ๏ผŒๅผ€ๅ‘่€…ไปฌๅœจ่งฃๅ†ณไพ่ต–็ฎก็†ใ€ไฝœ็”จๅŸŸๆฑกๆŸ“ๅ’Œๅผ‚ๆญฅๅŠ ่ฝฝ็ญ‰้—ฎ้ข˜ไธŠไป˜ๅ‡บไบ†ๅทจๅคง็š„ๅŠชๅŠ›ใ€‚\\nๆœฌๆ–‡ๅฐ†ๅธฆไฝ ๆขณ็† JavaScript ๅކๅฒไธŠๆœ€้‡่ฆ็š„ๅ‡ ็งๆจกๅ—ๅŒ–่ง„่Œƒ๏ผŒไพฟไบŽๆž„ๅปบ่ตทๅ…จๆ ˆๅผ€ๅ‘็š„ๅบ•ๅฑ‚็Ÿฅ่ฏ†ๅ›พ่ฐฑใ€‚\\n 1. CommonJS ่ง„่Œƒ๏ผšNode.js ็”Ÿๆ€็š„ๅŸบ็Ÿณ\\nCommonJS ๆ˜ฏไผด้š Node.js ่ฏž็”Ÿ็š„่ง„่Œƒ,็”ฑ Kevin Dangoor ๆๅ‡บ๏ผŒๅˆ่กทๆ˜ฏ่ฎฉ JavaScript ่„ฑ็ฆปๆต่งˆๅ™จไนŸ่ƒฝๆž„ๅปบๅคๆ‚็š„็ณป็ปŸๅบ”็”จใ€‚ๅฎƒๆ˜ฏ Node.\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€\",\"frontmatter\":{\"date\":\"2024-05-12 22:43:28\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ๏ผšๆฆ‚ๅฟตใ€ๆผ”่ฟ›ไธŽ่ฎพ่ฎกๆจกๅผ\",\"tldr\":\"ไปŽๅ…จๅฑ€ๅ˜้‡ๅˆฐ ES Modules๏ผšJavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›ไธŽๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผๅฎž่ทตใ€‚\",\"description\":\"็ณป็ปŸ่ฎฒ่งฃ JavaScript ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€๏ผŒๆถต็›– IIFEใ€CommonJSใ€ES Modules ่ง„่Œƒๆผ”่ฟ›๏ผŒไปฅๅŠๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผไธŽๆจกๅ—ๅŒ–็š„็ป“ๅˆใ€‚\",\"permalink\":\"/fullstack/frontend-module-programming-basic\",\"tags\":[\"tutorial\",\"javascript\",\"modularization\",\"esm\",\"design-patterns\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ๏ผšๆฆ‚ๅฟตใ€ๆผ”่ฟ›ไธŽ่ฎพ่ฎกๆจกๅผ\",\"date\":\"2024-05-12 22:43:28\",\"capture\":\"1. ๅผ•่จ€\\n้š็€้กน็›ฎ่ง„ๆจกๆ—ฅ็›Š่†จ่ƒ€๏ผŒไปฃ็ ้‡ไปŽๅ‡ ๅƒ่กŒ่ฟ…้€Ÿๅขž้•ฟๅˆฐๆ•ฐไธ‡็”š่‡ณๆ•ฐๅไธ‡่กŒ๏ผŒๅฐ†ๆ‰€ๆœ‰้€ป่พ‘ๅกž่ฟ›ๅฐ‘ๆ•ฐๅ‡ ไธชๆ–‡ไปถ็š„ๅšๆณ•ๆ—ฉๅทฒ้šพไปฅไธบ็ปงใ€‚ๅœจ่ฟ™ๆ ท็š„่ƒŒๆ™ฏไธ‹๏ผŒๆจกๅ—ๅŒ–็ผ–็จ‹ๅบ”่ฟ่€Œ็”Ÿ๏ผŒๆˆไธบ็Žฐไปฃๅ‰็ซฏๅผ€ๅ‘็š„ๆ ‡้…ใ€‚\\nๅฎƒ็š„ๆ ธๅฟƒ็†ๅฟต็ฎ€ๆด่€Œไผ˜้›…๏ผšๅƒๆญ็งฏๆœจไธ€ๆ ท๏ผŒๅฐ†ๅบžๅคงๅคๆ‚็š„็ณป็ปŸๆ‹†่งฃไธบไธ€ไธชไธช็‹ฌ็ซ‹ใ€ๅŠŸ่ƒฝๅ•ไธ€ไธ”ๅฏๅค็”จ็š„ๆจกๅ—๏ผŒ่ฎฉๆฏไธชๆจกๅ—ๅ„ๅธๅ…ถ่Œ๏ผŒๅ†้€š่ฟ‡ๆ ‡ๅ‡†ๆŽฅๅฃ็ตๆดป็ป„ๅˆใ€‚\\n 2. ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ\\nๅœจๆทฑๅ…ฅ็†่ฎบไน‹ๅ‰๏ผŒ่ฎฉๆˆ‘ไปฌๅ…ˆ้€š่ฟ‡ไธ€ไธช็ฎ€ๅ•็š„ JavaScript ็คบไพ‹๏ผŒ็›ด่ง‚ๅœฐๆ„Ÿๅ—ไธ€ไธ‹ไป€ไนˆๆ˜ฏๆจกๅ—ๅŒ–ใ€‚ๅ‡่ฎพๆˆ‘ไปฌ้œ€่ฆๅค„็†ไธ€ไบ›ๆ•ฐๅญฆ่ฟ็ฎ—๏ผŒๆˆ‘ไปฌๅฏไปฅๅฐ†ๅ…ถๅฐ่ฃ…ๆˆไธ€ไธช็‹ฌ็ซ‹็š„ๅทฅๅ…ทๆจกๅ—๏ผš\\n```javascript\\n// math.js - ๅฎšไน‰ไธ€ไธชๆ•ฐๅญฆๅทฅๅ…ทๆจกๅ—\\nexp\"},{\"url\":\"/10.ไบงๅ“ Sense/01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž/11.AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"relativePath\":\"/10.ไบงๅ“ Sense/01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž/11.AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"frontmatter\":{\"date\":\"2024-05-08 08:56:21\",\"title\":\"AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจๅคงๆจกๅž‹้‡ๅก‘ไบ’่”็ฝ‘ไบคไบ’็š„ๅฝ“ไธ‹๏ผŒPerplexity ๅนถๆœช้€‰ๆ‹ฉๆˆไธบโ€œไธ‹ไธ€ไธช Googleโ€๏ผŒ่€Œๆ˜ฏไปฅโ€œ็Ÿฅ่ฏ†ๅ‘็Žฐๅผ•ๆ“Žโ€็š„ๅ…จๆ–ฐๅฎšไฝ๏ผŒ็ฒพๅ‡†ๅˆ‡ๅ…ฅ็Ÿฅ่ฏ†ๅทฅไฝœ่€…็š„ๆ ธๅฟƒๅทฅไฝœๆตใ€‚ๆœฌๆ–‡่ทณๅ‡บๅ•็บฏ็š„ๆจกๅž‹่ƒฝๅŠ›ๅฏนๆฏ”๏ผŒไปŽไบงๅ“ Sense ไธŽๅทฅ็จ‹้€ป่พ‘็š„ๅŒ้‡่ง†่ง’๏ผŒๆทฑๅบฆๆ‹†่งฃ Perplexity ็š„็ ดๅฑ€ไน‹้“ใ€‚ๆˆ‘ไปฌๅฐ†ๆŽข่ฎจๅฎƒๅฆ‚ไฝ•้€š่ฟ‡ๅ็›ด่ง‰็š„ UI ๅˆ›ๆ–ฐ้‡ๅก‘ไบคไบ’่ตท็‚น๏ผŒๅฆ‚ไฝ•ๅœจๅทฅ็จ‹ๅฑ‚้ขๆญป็ฃ•ๅฐพ้ƒจๅปถ่ฟŸไธŽๅนป่ง‰ๆŽงๅˆถ๏ผŒไปฅๅŠๅฎƒๅฆ‚ไฝ•ๅˆฉ็”จๅทจๅคด็š„ๅˆฉๆถฆ็އๆŠคๅŸŽๆฒณๅฎž็Žฐ้”™ไฝ็ซžไบ‰ใ€‚ๆœ€็ปˆ๏ผŒๆˆ‘ไปฌๅฐ†่ง†็บฟๆŠ•ๅ‘ๆœชๆฅ๏ผŒไธ€็ชฅ AI ไปŽ่ขซๅŠจๅ“ๅบ”่ตฐๅ‘ไธปๅŠจๆŽข็ดข็š„ๆผ”่ฟ›่“ๅ›พใ€‚\",\"permalink\":\"/product-sense/perplexity-knowledge-worker\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"AI ๆœ็ดข\",\"็Ÿฅ่ฏ†ๅ‘็Žฐ\",\"ไบงๅ“ Sense\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"date\":\"2024-05-08 08:56:21\",\"capture\":\"1. ๅผ•่จ€\\nๅœจ AI ๆตชๆฝฎไธ‹๏ผŒๆœ็ดขๅผ•ๆ“Ž็š„่Œƒๅผๆญฃๅœจๅ‘็”Ÿ่ฝฌ็งปใ€‚ไฝœไธบๅฝ“ๅ‰ๅค‡ๅ—็žฉ็›ฎ็š„ AI ๆœ็ดขไบงๅ“๏ผŒPerplexity ๅนถๆฒกๆœ‰่ฏ•ๅ›พๆˆไธบโ€œไธ‹ไธ€ไธช Googleโ€๏ผŒ่€Œๆ˜ฏๅฐ†่‡ชๅทฑๅฎšไน‰ไธบ็Ÿฅ่ฏ†ๅ‘็Žฐๅผ•ๆ“Žใ€‚\\nๅฏนไบŽๆฏๅคฉ้œ€่ฆๅค„็†ๆตท้‡ไฟกๆฏใ€่ฟ›่กŒๅคๆ‚ๅ†ณ็ญ–็š„็Ÿฅ่ฏ†ๅทฅไฝœ่€…่€Œ่จ€๏ผŒๅฆ‚ไฝ•้ซ˜ๆ•ˆๅœฐโ€œๅŽปๅ™ชโ€ๅนถ่Žทๅ–้ซ˜ไฟกๅบฆ็Ÿฅ่ฏ†ๆ˜ฏๆ ธๅฟƒ่ฏ‰ๆฑ‚ใ€‚็ฌ”่€…ๅฐ†ไปŽไบงๅ“ไบคไบ’ใ€ๆŠ€ๆœฏๅทฅ็จ‹ใ€ๅ•†ไธš้€ป่พ‘ไธŽๆœชๆฅๆผ”่ฟ›ๅ››ไธช็ปดๅบฆ๏ผŒๅˆ†ๆž Perplexity ๆ˜ฏๅฆ‚ไฝ•้‡ๅก‘ไฟกๆฏ่Žทๅ–ๅทฅไฝœๆต็š„ใ€‚\\nๆœฌๆ–‡ๆ—จๅœจ้€š่ฟ‡ๅฏน Perplexity ็š„ๆทฑๅบฆไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž๏ผŒๅธฎๅŠฉ่ฏป่€…็†่งฃ AI ๆœ็ดขไบงๅ“็š„่ฎพ่ฎก้€ป่พ‘ไธŽ็”จๆˆทไฝ“้ชŒไผ˜ๅŒ–่ทฏๅพ„๏ผŒๅŒๆ—ถไธบ็Ÿฅ่ฏ†ๅทฅไฝœ่€…ๆไพ›ๅฏ่ฝๅœฐ็š„ๆ•ˆ็އๆๅ‡ๆ–นๆณ•๏ผŒๅนถๅœจ่ฟ‡็จ‹ไธญๅŸนๅ…ป็ป“ๆž„ๅŒ–ไบงๅ“ๅˆ†ๆžๆ€็ปดใ€‚\\n\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/70.่ฏ—ๆญŒๅฐ็ฒพ็ต\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/70.่ฏ—ๆญŒๅฐ็ฒพ็ต\",\"frontmatter\":{\"date\":\"2024-04-19 22:15:38\",\"title\":\"้›ถไปฃ็ ไธ็ญ‰ไบŽ้›ถ้€ป่พ‘๏ผš็ป“ๆž„ๅŒ– Prompt ้ฉฑๅŠจไธ‹็š„ Agent ๆญๅปบๅฎžๆˆ˜\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจ Agent ๆฆ‚ๅฟตๆปกๅคฉ้ฃž็š„ๅฝ“ไธ‹๏ผŒๅ†ณๅฎšๅคงๆจกๅž‹ๅฎž้™…่กจ็Žฐ็š„ๅพ€ๅพ€ๆ˜ฏๆœ€ๅบ•ๅฑ‚็š„ System Prompt ่ฎพ่ฎกใ€‚ๆœฌๆ–‡่ฎฐๅฝ•ไบ†ๅ‘จๆœซๅˆฉ็”จๆ–‡ๅฟƒๆ™บ่ƒฝไฝ“ๅนณๅฐๆญๅปบโ€œ่ฏ—ๆญŒๅฐ็ฒพ็ตโ€็š„ๅฎŒๆ•ดๅฎž่ทตใ€‚้€š่ฟ‡ๅฏนๆฏ”โ€œไผ ็ปŸๅคงๆฎตๆ–‡ๆœฌโ€ไธŽโ€œLangGPT ็ป“ๆž„ๅŒ–โ€ไธค็ง Prompt ็š„ๅฎž้™…่พ“ๅ‡บ๏ผŒๆทฑๅบฆๆ‹†่งฃไบ†็ป“ๆž„ๅŒ– Prompt ๅฆ‚ไฝ•ๅƒโ€œๅ†™ไปฃ็ โ€ไธ€ๆ ท่ง„่Œƒ AI ็š„ๆ€่€ƒๅทฅไฝœๆต๏ผŒๆœ‰ๆ•ˆ่งฃๅ†ณๆŒ‡ไปคๆผ‚็งปไธŽๅนป่ง‰้—ฎ้ข˜ใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ๆฌก Prompt ่ฐƒไผ˜ๅฎž้ชŒ๏ผŒๆ›ดๆ˜ฏไธ€ๅœบๅ…ณไบŽ AI ไบงๅ“ Sense ไธŽๆœชๆฅไบคไบ’ๅฝขๆ€็š„ๆŽข็ดขใ€‚\",\"coverImg\":\"/img/cover/llm_learning_bg_2.png\",\"categories\":[\"ai-practice\"],\"permalink\":\"/ai-practice/poetry-bot\",\"tags\":[\"Agent\",\"AI\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"้›ถไปฃ็ ไธ็ญ‰ไบŽ้›ถ้€ป่พ‘๏ผš็ป“ๆž„ๅŒ– Prompt ้ฉฑๅŠจไธ‹็š„ Agent ๆญๅปบๅฎžๆˆ˜\",\"date\":\"2024-04-19 22:15:38\",\"capture\":\"1. ๅฎž่ทต่ƒŒๆ™ฏ\\nๅ‘จๆœซๅœจ็คพๅŒบๆดปๅŠจไธญๅ†ๆฌกๅฌๅˆฐไบ† LangGPT ไฝœ่€…ไบ‘ไธญๆฑŸๆ ‘ๅ…ณไบŽโ€œ็ป“ๆž„ๅŒ–ๆ็คบ่ฏโ€็š„ๅˆ†ไบซ๏ผŒ่ฎฉไบบๆ„Ÿ่งฆ้ข‡ๆทฑใ€‚่™ฝ็„ถๅฝ“ๅ‰ Agent ๆฆ‚ๅฟต็ซ็ƒญ๏ผŒๅฑ‚ๅ‡บไธ็ฉท็š„ๆก†ๆžถ่ฎฉไบบ็œผ่Šฑ็ผญไนฑ๏ผŒไฝ†ๅ›žๅฝ’ๆœฌ่ดจๆˆ‘ไปฌๅฐฑไผšๅ‘็Žฐ๏ผšSystem Prompt ็š„ๅบ•ๅฑ‚่ฎพ่ฎกใ€ไธŠไธ‹ๆ–‡ๅทฅ็จ‹ไปฅๅŠๆŒ‡ไปค้ตๅพชๆœบๅˆถ๏ผŒๆ‰ๆ˜ฏๅ†ณๅฎšไธ€ไธช Agent ็ต้ญ‚็š„ๅ…ณ้”ฎใ€‚\\nๆญฃๅทงๅคงๅ›ข้˜Ÿ่‡ช็ ”็š„้›ถไปฃ็  Agent ๅนณๅฐ่ฟ‘ๆœŸๅ‘ๅธƒไบ†ๆ–ฐ็‰ˆๆœฌ๏ผŒไธบไบ†ไบฒๆต‹ๅนณๅฐๆ€ง่ƒฝๅนถๅฎžๆˆ˜ๆผ”็ปƒ็ป“ๆž„ๅŒ– Prompt ็š„็ผ–ๅ†™ๆŠ€ๅทง๏ผŒๆˆ‘ๅ†ณๅฎšๅˆ›ๅปบไธ€ไธชโ€œ่ฏ—ๆญŒๅฐ็ฒพ็ตโ€ Agentใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ไธช่ถฃๅ‘ณๅฎž้ชŒ๏ผŒๆ›ดๆ˜ฏไธบไบ†ๆŽข็ดข AI ๅœจๆ–‡ๅญฆๅˆ›ไฝœ่ฟ™็งโ€œๆ„Ÿๆ€ง้ข†ๅŸŸโ€ไธญ๏ผŒๅฆ‚ไฝ•้€š่ฟ‡โ€œ็†ๆ€ง็š„็ป“ๆž„็บฆๆŸโ€่พพๅˆฐๆ›ด้ซ˜็š„่พ“ๅ‡บไธŠ้™ใ€‚\\n 2. ๅนณๅฐไธŽ\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2024-03-20 22:41:41\",\"title\":\"ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ๅœจ้œ€ๆฑ‚่พน็•Œๅ†…่ฟฝๆฑ‚ๆœ€ๅฐๅคๆ‚ๅบฆโ€”โ€”ไธๆ˜ฏๆ‹’็ปๅคๆ‚๏ผŒ่€Œๆ˜ฏไธไธปๅŠจๅˆถ้€ ๅคๆ‚ใ€‚\",\"description\":\"ๆทฑๅ…ฅ่งฃๆžๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™ๅœจ็ผ–็จ‹ไธŽ่ฎพ่ฎกไธญ็š„ๅ…ญๅคงๅœบๆ™ฏ๏ผšๆ‹’็ป่ฟ‡ๅบฆ้ข„ๅˆคใ€็งป้™คๅ†—ไฝ™้€ป่พ‘ใ€ๅŒน้…ๆžถๆž„่ง„ๆจกใ€ๅ…‹ๅˆถไพ่ต–ๅผ•ๅ…ฅใ€ๅฐ่ฃ…ๆœ€ๅฐๆŽฅๅฃใ€ๅ…ˆๆŽ’ๆŸฅ็ฎ€ๅ•ๅŽŸๅ› ๏ผŒๅนถ็ป™ๅ‡บไธ‰ไธชๅ…ณ้”ฎ่พน็•Œใ€‚\",\"permalink\":\"/fullstack/occams-razor-software-design\",\"tags\":[\"concept\",\"engineering-fundamentals\",\"code-design\",\"software-engineering\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2024-03-20 22:41:41\",\"capture\":\"<script setup\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n> ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™็”ฑ 14 ไธ–็บช้€ป่พ‘ๅญฆๅฎถๅจๅป‰ยทๅฅฅๅกๅง†ๆๅ‡บ๏ผŒๅ…ถๆ ธๅฟƒไธบ\\\"ๅฆ‚ๆ— ๅฟ…่ฆ๏ผŒๅ‹ฟๅขžๅฎžไฝ“\\\"โ€”โ€”ๅœจๅคšไธชๅŒ็ญ‰ๆœ‰ๆ•ˆ็š„ๆ–นๆกˆไธญ๏ผŒ้€‰ๆ‹ฉๅ‡่ฎพๆœ€ๅฐ‘ใ€ๆœ€็ฎ€ๆด็š„้‚ฃไธชใ€‚่ฏฅๅŽŸๅˆ™ๅนถ้žๅฆๅฎšๅคๆ‚ๆ€ง๏ผŒ่€Œๆ˜ฏ้ฟๅ…ๆ— ๆ„ไน‰็š„่ฟ‡ๅบฆ่ฎพ่ฎกใ€‚ๆ–‡็ซ ไปŽ็ผ–็จ‹ไธŽ่ฎพ่ฎกๅฎž่ทตๅ‡บๅ‘๏ผŒไพๆฌกๆŽข่ฎจไบ†้œ€ๆฑ‚ๅฎž็Žฐใ€ไปฃ็ ๅฎž็Žฐใ€ๆžถๆž„่ฎพ่ฎกใ€ไพ่ต–็ฎก็†ใ€ๆŽฅๅฃ่ฎพ่ฎกใ€่ฐƒ่ฏ•ไผ˜ๅŒ–ๅ…ญๅคงๅœบๆ™ฏ็š„ๅไพ‹ไธŽๆญฃไพ‹๏ผŒๅนถๆ˜Ž็กฎๆŒ‡ๅ‡บไธ‰ไธชๅ…ณ้”ฎ่พน็•Œ๏ผšไธๅฏ็‰บ็‰ฒๅฏ็ปดๆŠคๆ€งใ€ๅฏๆ‰ฉๅฑ•ๆ€งใ€ๅฎ‰ๅ…จๆ€งๆขๅ–็ฎ€ๆดใ€‚\\n 1.\"},{\"url\":\"/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/50.็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“\",\"relativePath\":\"/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/50.็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“\",\"frontmatter\":{\"date\":\"2024-01-01 16:00:00\",\"title\":\"็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“\",\"description\":\"ๅฐ†็ปๆตŽๅญฆๆ ธๅฟƒๅŽŸ็†่žๅˆ่ฟ›ไบงๅ“่ฎพ่ฎกๅ…จ็”Ÿๅ‘ฝๅ‘จๆœŸ็š„ๆ–นๆณ•่ฎบไฝ“็ณป๏ผŒๆž„ๅปบ็†ๆ€ง็š„โ€œไบงๅ“Senseโ€ใ€‚\",\"categories\":[\"ไบงๅ“ Sense\"],\"permalink\":\"/product-sense/using-economics-thinking\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“\",\"date\":\"2024-01-01 16:00:00\",\"capture\":\"ๅœจไบงๅ“็ฎก็†็š„ๅนฟ้˜”ๅคฉๅœฐไธญ๏ผŒๆˆ‘ไปฌๅพ€ๅพ€ๅผบ่ฐƒโ€œไบงๅ“ Senseโ€๏ผˆProduct Sense๏ผ‰โ€”โ€”ไธ€็งๅฏน็”จๆˆท้œ€ๆฑ‚ใ€ๅธ‚ๅœบ้ฃŽๅ‘ๅ’ŒๆŠ€ๆœฏๆฝœๅŠ›็š„็›ด่ง‰ๆ€งๆ•ๆ‰ใ€‚็„ถ่€Œ๏ผŒ่ฟ™็ง Sense ็ป้žๅ‡ญ็ฉบ่€Œๆฅ็š„็ตๅ…‰ไน็Žฐ๏ผŒๅฎƒ้œ€่ฆ็จณๅ›บ็š„็†ๆ€งๅœฐๅŸบใ€‚ๅœจไผ—ๅคšๅญฆ็ง‘ไธญ๏ผŒ็ปๆตŽๅญฆๆ— ็–‘ๆไพ›ไบ†ๆœ€ๅบ•ๅฑ‚็š„้€ป่พ‘ๆ”ฏๆŸฑใ€‚\\n็ปๆตŽๅญฆไธไป…ไป…ๆ˜ฏๅ…ณไบŽ้‡‘้’ฑๅ’Œๅธ‚ๅœบ็š„็ง‘ๅญฆ๏ผŒๅฎƒๆ›ดๆ˜ฏไธ€็ง่งฃๅ†ณ้—ฎ้ข˜ใ€ไผ˜ๅŒ–ๅ†ณ็ญ–็š„ๆ–นๅผใ€‚ๅฏนไบงๅ“ไบบ่€Œ่จ€๏ผŒๅ€Ÿ้‰ด็ปๆตŽๅญฆๆ€็ปด๏ผŒๆ„ๅ‘ณ็€่ƒฝๅคŸ็†ๆ™บๅœฐๆƒ่กกๅˆฉๅผŠ๏ผŒๆ›ด็ฒพๅ‡†ๅœฐๅฎšไปท๏ผŒๆ›ดๆทฑๅˆปๅœฐๆดžๅฏŸไบบๆ€ง๏ผŒๆœ€็ปˆๅœจ้”™็ปผๅคๆ‚็š„็บฆๆŸๆกไปถไธ‹๏ผŒๆฑ‚่งฃๅ‡บ็”จๆˆทไปทๅ€ผไธŽๅ•†ไธšไปทๅ€ผๅนถ้‡็š„ๆœ€ไผ˜่งฃใ€‚\\n 1. ็”Ÿๆดป้‡Œ็š„็ปๆตŽๅญฆๆดžๅฏŸโ€”โ€”ๆดžๅฏŸไธไป…ๆ˜ฏๅ…ณไบŽ้œ€ๆฑ‚๏ผŒๆ›ดๆ˜ฏๅ…ณไบŽๆˆๆœฌไธŽๅšๅผˆ\\nๆˆ‘ไปฌๅธธ่ขซๆ—ฅๅธธ็Žฐ่ฑก็š„โ€œๅˆ็†ๆ€งโ€ๆ‰€่ฟทๆƒ‘๏ผŒ่€Œ็ปๆตŽๅญฆ\"},{\"url\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/01.ๅฅฝไนฆๆŽจ่\",\"relativePath\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/01.ๅฅฝไนฆๆŽจ่\",\"frontmatter\":{\"title\":\"ๅฅฝไนฆๆŽจ่\",\"date\":\"2024-01-01 16:00:00\",\"description\":\"่ฏปไนฆๅฟƒๅพ—ใ€ๆŽจ่ไนฆ็ฑๅ’Œ้˜…่ฏปๆŠ€ๅทง\",\"categories\":[\"growth\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/books_reading_bg.png\",\"permalink\":\"/growth/books\",\"tags\":[\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\",\"่ต„ๆบๆŽจ่\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฅฝไนฆๆŽจ่\",\"date\":\"2024-01-01 16:00:00\",\"capture\":\"<script setup\\n import BookRecommend from './@fragment/BookRecommend.vue'\\n import {aiBooks, productSenseBooks, businessBooks, efficiencyBooks, growthBooks, humanSocialBooks, healthBooks} from './@fragment/recommends-data.ts'\\n</script>\\n 1. AI ไธŽๆ•ฐๅญฆๆ€็ปด\\n> ๅœจๅคงๆจกๅž‹ๅ‘ๅฑ•ๆ—ฅๆ–ฐๆœˆๅผ‚็š„ไปŠๅคฉ๏ผŒ็†่งฃ AI ๆœฌ่ดจไธŠๆ˜ฏๅœจๅ‡็บงๆˆ‘ไปฌ่ต„ๆทฑ็š„โ€œ่ฎค็Ÿฅๆ“\"},{\"url\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/20.ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹้˜ถๆฎต้š็ฌ”ๆฑ‡ๆ€ป\",\"relativePath\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/20.ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹้˜ถๆฎต้š็ฌ”ๆฑ‡ๆ€ป\",\"frontmatter\":{\"date\":\"2022-09-12 08:16:00\",\"title\":\"็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ”นๅ–„็š„ๆ–นๅผๆŽจๅŠจๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไปŽโ€œไนฆ็”Ÿๆ„ๆฐ”โ€ๅˆฐๅˆๅ…ฅ็คพไผš็š„โ€œไธญๅนดๆฒน่…ปโ€ๅฑๆœบ๏ผŒไธ€ๆฌกๅฅๅบท่ญฆๆŠฅ่ฎฉ็ฌ”่€…ๅผ€ๅฏไบ†่ฟ™ๅœบๆทฑๅˆป็š„่‡ชๆˆ‘ๅฏน่ฏไธŽ่กŒๅŠจใ€‚ๆœฌๆ–‡่ฏฆ็ป†ๅค็›˜ไบ†็ฌ”่€…ไปŽๅฅๅบทๅฑๆœบๅ‡บๅ‘๏ผŒ้€š่ฟ‡ๅ››ไธช้˜ถๆฎต็š„ๅพชๅบๆธ่ฟ›๏ผŒๆˆๅŠŸๅฎž็Žฐไฝ“้‡็ฎก็†็š„่ฟ‡็จ‹ใ€‚ๅŒบๅˆซไบŽ็›ฒ็›ฎ่ทŸ้ฃŽ๏ผŒ็ฌ”่€…ๅœจๅฎž่ทตไธญๅผ•ๅ…ฅไบ†็›ฎๆ ‡ๆ‹†่งฃใ€ๆ•ฐๆฎ็›‘ๆŽง๏ผˆไฝ“่„‚็งคๆŒ‡ๆ ‡๏ผ‰ใ€่ทจ้ข†ๅŸŸ็ป้ชŒ่ฟ็งป๏ผˆๅฆ‚้กน็›ฎ็ฎก็†ใ€ๆ—ถ้—ด็ฎก็†๏ผ‰ไปฅๅŠๅฏนไธๅŒ็ญ–็•ฅ๏ผˆๅฆ‚ๆŽงๅˆถ้ฅฎ้ฃŸใ€ๅŠ ๅคงๆ— ๆฐง่ฟๅŠจใ€ๅฐ่ฏ•ไธๅƒไธป้ฃŸ๏ผ‰็š„่พฉ่ฏ้‡‡็บณใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ไปฝๅ‡่‚ฅ่ฎฐๅฝ•๏ผŒๆ›ดๆ˜ฏไธ€ๆฌก็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ€็ปด้‡ๆž„็”Ÿๆดป็งฉๅบใ€ๅฎž็Žฐ่บซๅฟƒๅ‡็บง็š„ๅฎžๆ“ๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/growth/weight-loss\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/health_bg.png\",\"top\":true,\"tags\":[\"ๅฅๅบท\",\"่ฟๅŠจ\"],\"categories\":[\"ไธชไบบๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ”นๅ–„็š„ๆ–นๅผๆŽจๅŠจๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹\",\"date\":\"2022-09-12 08:16:00\",\"capture\":\"ๅ†™ๅœจๅ‰้ข\\nๅœจ็ปๆตŽๅฟซ้€Ÿๅ‘ๅฑ•็š„ๅคง่ƒŒๆ™ฏไธ‹๏ผŒไธ€ๆ‰นๅˆไธ€ๆ‰น็š„ๅคงๅญฆ็”Ÿ้™†็ปญ่ตฐๅ‡บๆ ก้—จ่ฟ›ๅ…ฅ็คพไผšๅคง่ˆžๅฐใ€‚้š็€ๅนด้พ„ไธŽๅทฅไฝœๅนด้™็š„ๅขž้•ฟ๏ผŒไธ็Ÿฅ็ฝฎ่บซไบŽๅ…ถไธญ็š„ไฝ ๆ˜ฏๅฆๆ„Ÿๆ…จ่ฟ‡่‡ชๅทฑๅœจ้˜…ๅކไธŠไปŽโ€œไนฆ็”Ÿๆ„ๆฐ”โ€ๆธๆธๆผ”ๅ˜ไธบโ€œๅ››ๅนณๅ…ซ็จณ๏ผŒๆธธๅˆƒๆœ‰ไฝ™โ€๏ผ›ๅœจ่บซไฝ“ๅ…ปๆŠคๆ–น้ขไปŽโ€œ่บซๆๆ— ๆ•Œ๏ผŒๅนด้พ„ๆˆ่ฟท๏ผŒๅฎžๆ‰“ๅฎžไธ€ไธชไผ ๅฅ‡โ€ๆผ”ๅ˜ไธบโ€œไธญๅนดๆฒน่…ปโ€ใ€‚ๆฏไธชไบบๅคšๅฐ‘้ƒฝๆœ‰่‡ชๅทฑ็š„็ญ”ๆกˆ๏ผŒ็ฌ”่€…็š„็ญ”ๆกˆๆ˜ฏ๏ผš่ตฐๅ‡บๆ ก้—จ่ฟ›ๅ…ฅ็คพไผšๅŽ๏ผŒๅฝ“ๅˆๅฏน่บซ่พนไบบๆœ‰็‚น่‹›ๅˆป๏ผŒ้‡ไบ‹็ซๆ€ฅ็ซ็‡Ž็š„่‡ชๅทฑ้€ๆธๅพ—ๅˆฐไบ†ๆ”นๅ–„ใ€‚่บซไฝ“ๅดๅ› ๅŽŸๆœฌๅœจๅคงๅญฆๆ—ถๆฒกๆœ‰ๆ€Žไนˆๅœจๆ„๏ผŒ็ป่ฟ‡้•ฟๅนด็ดฏๆœˆๅœฐๆด—็คผไบฎไบ†ไธ€ๆฌกๅฐ็บข็ฏใ€‚ๅœจๅบทๅคๆœŸ้—ด๏ผŒไธๆญขไธ€ๆฌกๅๆ€่ฟ‡ไน‹ๅ‰็š„็”Ÿๆดปๆ–นๅผๅ’Œๅ…ฅไธ–ๆจกๅผ๏ผŒๆƒณไธ€ๆƒณ + ๅ››ๅค„็œ‹ไธ€็œ‹ๅŽ๏ผŒๆ…ขๆ…ขไนŸๅฐฑๅผ€ๆ‚Ÿไบ†๏ผŒ่‡ช็„ถ่ฆๅฏๅŠจไธ€ไบ›ๆ”นๅ˜ๅฐ่ฏ•ใ€‚\\nๅ› ๆญค๏ผŒไนŸๅฐฑๆœ‰ไบ†่ฟ™็ฏ‡ๅ‡่‚ฅ่ฟ™ไปถ\"}],\"sortPostsByDate\":[{\"url\":\"/31.ๅผ€ๆบๆดžๅฏŸ/00.overview\",\"relativePath\":\"/31.ๅผ€ๆบๆดžๅฏŸ/00.overview\",\"frontmatter\":{\"date\":\"2026-04-10 14:52:34\",\"title\":\"ๅผ€ๆบๆดžๅฏŸ\",\"permalink\":\"/repo-insight/overview\",\"categories\":[\"ๅผ€ๆบๆดžๅฏŸ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅผ€ๆบๆดžๅฏŸ\",\"date\":\"2026-04-10 14:52:34\",\"capture\":\"ๆœฌไธ“ๆ ๆ‰€ๆœ‰ๆบ็ ่งฃ่ฏปๆ–‡็ซ ๏ผŒๅ‡ๅ€ŸๅŠฉไบ†ๆœฌไบบๅผ€ๆบ็š„ repo-insight Agent Skill ๆฅ่พ…ๅŠฉ็”Ÿๆˆใ€‚\\nrepo-insight ๆ˜ฏไธ€ๆฌพไธ“ๆณจไบŽไผ˜็ง€ๅผ€ๆบ้กน็›ฎไปฃ็ ๅบ“่งฃ่ฏป็š„ๆ™บ่ƒฝๅŠฉๆ‰‹๏ผŒๆไพ› GitHub URL ๆˆ–ๆœฌๅœฐ็›ฎๅฝ•็š„ไธ€้”ฎๆทฑๅบฆๅˆ†ๆž่ƒฝๅŠ›ใ€‚\\n- ไธ€้”ฎๅˆ†ๆž - ๆ”ฏๆŒ GitHub URL ๆˆ–ๆœฌๅœฐ็›ฎๅฝ•ๅˆ†ๆž\\n- ๆทฑๅบฆๆŠฅๅ‘Š - ็”Ÿๆˆ้กน็›ฎๆฆ‚่ฟฐใ€ๆžถๆž„ๅˆ†ๆžใ€ๆ ธๅฟƒๆจกๅ—่งฃ่ฏป\\n- ไธญๆ–‡ๆ”ฏๆŒ - ่‡ชๅŠจ็ฟป่ฏ‘ READMEใ€็”Ÿๆˆไธญๆ–‡ไปฃ็ ๆณจ้‡Š\\n- ๅ…จ่‡ชๅŠจๆ‰ง่กŒ - ่ฐƒ็”จๅŽๆ— ้œ€ไธญ้—ดไบคไบ’\\nไธคไธช Skill ๅ‡ๅ…ทๅค‡ไปฅไธŠ่ƒฝๅŠ›๏ผŒๅฏๆ นๆฎ้œ€ๆฑ‚้€‰ๆ‹ฉไฝฟ็”จใ€‚\\nไบ†่งฃ repo-insight โ†’\\n ๅผ€ๆบ้กน็›ฎ่งฃ่ฏป\\n| ้กน็›ฎ | ็ฎ€ไป‹ |\\n|----\"},{\"url\":\"/31.ๅผ€ๆบๆดžๅฏŸ/01.fetch-event-source ๆบ็ ่งฃ่ฏป\",\"relativePath\":\"/31.ๅผ€ๆบๆดžๅฏŸ/01.fetch-event-source ๆบ็ ่งฃ่ฏป\",\"frontmatter\":{\"date\":\"2026-04-10 14:43:09\",\"title\":\"fetch-event-source ๆบ็ ่งฃ่ฏป\",\"categories\":[\"ๅผ€ๆบๆดžๅฏŸ\"],\"permalink\":\"/repo-insight/fetch-event-source\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"fetch-event-source ๆบ็ ่งฃ่ฏป\",\"date\":\"2026-04-10 14:43:09\",\"capture\":\"็ฌฌไธ€้ƒจๅˆ†: ไธšๅŠกไปทๅ€ผ็ฏ‡\\n ้กน็›ฎๅฎšไฝ\\n`@microsoft/fetch-event-source` ๆ˜ฏๅพฎ่ฝฏๅผ€ๆบ็š„ไธ€ไธชๅŸบไบŽ Fetch API ็š„ Server-Sent Events (SSE) ๅฎขๆˆท็ซฏๅบ“,ไธบๆต่งˆๅ™จๆไพ›ไบ†ๆ›ดๅผบๅคงใ€ๆ›ด็ตๆดป็š„ๆœๅŠกๅ™จๆŽจ้€ไบ‹ไปถๆŽฅๆ”ถ่ƒฝๅŠ›ใ€‚\\n ่งฃๅ†ณ็š„ๆ ธๅฟƒ็—›็‚น\\nๅŽŸ็”Ÿๆต่งˆๅ™จ็š„ `EventSource` API ๅญ˜ๅœจไปฅไธ‹้™ๅˆถ:\\n| ้™ๅˆถ | ่ฏดๆ˜Ž |\\n|------|------|\\n| ไป…ๆ”ฏๆŒ GET ่ฏทๆฑ‚ | ๆ— ๆณ•ไฝฟ็”จ POSTใ€PUT ็ญ‰ๅ…ถไป– HTTP ๆ–นๆณ• |\\n| ๆ— ๆณ•่‡ชๅฎšไน‰่ฏทๆฑ‚ๅคด | ๆ— ๆณ•ไผ ้€’่ฎค่ฏไปค็‰Œใ€ๅ†…ๅฎน็ฑปๅž‹็ญ‰่‡ชๅฎšไน‰ๅคด้ƒจ |\\n| ๆ— ๆณ•ๅ‘้€่ฏทๆฑ‚ไฝ“ | ๆ‰€ๆœ‰ๅ‚ๆ•ฐๅฟ…้กป็ผ–็ ๅœจ\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/10.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Deep Research Agent\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/10.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Deep Research Agent\",\"frontmatter\":{\"date\":\"2026-04-02 00:38:37\",\"title\":\"ๅฃฐๆ˜Žๅผๅคšๆ™บ่ƒฝไฝ“ๅๅŒ๏ผšๅŸบไบŽ Claude Agent SDK ๆž„ๅปบๆทฑๅบฆ็ ”็ฉถ็ณป็ปŸ\",\"description\":\"ๅฏนๅคๆ‚็ ”็ฉถไปปๅŠกๆ—ถ๏ผŒๅ•ๆ™บ่ƒฝไฝ“๏ผˆSingle-Agent๏ผ‰ๅธธๅ› ไธŠไธ‹ๆ–‡็จ€้‡Šๅ’Œ้€ป่พ‘็–ฒๅŠณๅฏผ่‡ดไบงๅ‡บ่ดจ้‡ไธ‹้™ใ€‚ๆœฌๆ–‡ๅŸบไบŽ Claude Agent SDK ๆŽข่ฎจไบ†ๅคšๆ™บ่ƒฝไฝ“็ณป็ปŸ๏ผˆMAS๏ผ‰็š„ๅทฅ็จ‹ๅŒ–่ฝๅœฐใ€‚้€š่ฟ‡โ€œLead + Subagentโ€็š„ๅฃฐๆ˜Žๅผๆžถๆž„๏ผŒๆˆ‘ไปฌๅฐ†ๆทฑๅบฆ็ ”็ฉถๆ‹†่งฃไธบๆœ็ดขใ€้‡ๅŒ–ๅˆ†ๆžใ€ๅฏ่ง†ๅŒ–็ป˜ๅ›พไธŽ็ป“ๆž„ๅŒ–ๅ†™ไฝœๅ››ไธช็‹ฌ็ซ‹็Žฏ่Š‚ใ€‚\",\"permalink\":\"/ai-agent/deepresearch-agent\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"],\"tags\":[\"Agent SDK\",\"Multi-Agent\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฃฐๆ˜Žๅผๅคšๆ™บ่ƒฝไฝ“ๅๅŒ๏ผšๅŸบไบŽ Claude Agent SDK ๆž„ๅปบๆทฑๅบฆ็ ”็ฉถ็ณป็ปŸ\",\"date\":\"2026-04-02 00:38:37\",\"capture\":\"> ๅฎž่ทต่ฏๆ˜Ž๏ผŒ้€š่ฟ‡ไธฅๆ ผ็š„่Œ่ดฃ้š”็ฆป๏ผˆๅฆ‚ Lead Agent ไป…่ดŸ่ดฃ่ฐƒๅบฆ๏ผ‰ไธŽๅทฅ็จ‹่พน็•Œ็บฆๆŸ๏ผˆๅฆ‚ Researcher ๅผบๅˆถๆๅ–้‡ๅŒ–ๆŒ‡ๆ ‡๏ผ‰๏ผŒMAS ่ƒฝๅคŸ็”Ÿๆˆๅ…ทๅค‡ไธ“ไธšๆ•ฐๆฎๅ›พ่กจๆ”ฏๆ’‘็š„ๆทฑๅบฆๆŠฅๅ‘Šใ€‚ๆœฌๆ–‡ๅฐ†ไปŽๆžถๆž„่ฎพ่ฎกใ€ๅทฅไฝœๆต็ผ–ๆŽ’ๅˆฐ PDF ่‡ชๅŠจ็”Ÿๆˆ๏ผŒๅฎŒๆ•ด่ฟ˜ๅŽŸ่ฟ™ไธ€โ€œAI ้ฉฑๅŠจ่ฐƒ็ ”ๆตๆฐด็บฟโ€็š„ๆž„ๅปบ่ฟ‡็จ‹๏ผŒๅนถๅฑ•็คบๅ…ถๅœจๆ•™่‚ฒ็ ”็ฉถๆกˆไพ‹ไธญ็š„ๅฎžๆˆ˜ๆ•ˆๆžœใ€‚\\n 1. ๅผ•่จ€\\nๅœจ AI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐไธ€ๆ–‡ไธญ๏ผŒๆˆ‘ไปฌๆŽข่ฎจไบ†ๅคšๆ™บ่ƒฝไฝ“็ณป็ปŸ๏ผˆMulti-Agent Systems, MAS๏ผ‰็š„็†่ฎบไผ˜ๅŠฟใ€‚ไปŽ็†่ฎบๅฑ‚้ข็œ‹๏ผŒ่ฟ™็ฑป็ณป็ปŸ้€š่ฟ‡ไปปๅŠกๅˆ†่งฃใ€่Œ่ดฃ้š”็ฆปไธŽๅนถ่กŒๅไฝœๆœบๅˆถ๏ผŒๆœ‰ๆ•ˆ็ช็ ดไบ†ๅ•ๆ™บ่ƒฝไฝ“ๅœจๅคๆ‚ไปปๅŠกไธญ็š„่ƒฝๅŠ›็“ถ้ขˆโ€”โ€”ไธไป…ๆ˜พ่‘—ๆๅ‡ไบ†ไปปๅŠกๅค„็†็š„ๅคฉ่Šฑๆฟ\"},{\"url\":\"/01.ๅ…จๆ ˆ/00.overview\",\"relativePath\":\"/01.ๅ…จๆ ˆ/00.overview\",\"frontmatter\":{\"date\":\"2026-03-19 23:05:50\",\"title\":\"ๅ…จๆ™ฏไธ€่งˆ\",\"description\":\"ๆœฌ็ณปๅˆ—ๅ›ด็ป•็Žฐไปฃๅ…จๆ ˆๅผ€ๅ‘็š„่ƒฝๅŠ›ไฝ“็ณปๅฑ•ๅผ€๏ผŒไปŽ AI ๆ—ถไปฃ็š„ๅทฅ็จ‹ๆ€็ปดๅ‡บๅ‘๏ผŒ่ฆ†็›–ๅ‰็ซฏๅทฅ็จ‹๏ผˆReact/Vue/CSS๏ผ‰ใ€ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป๏ผˆTypeScript/JavaScript๏ผ‰ใ€ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่็ญ‰ๆ ธๅฟƒ้ข†ๅŸŸ๏ผŒๅธฎๅŠฉๆž„ๅปบไปŽ\\\"่ฎค็Ÿฅๅฑ‚ โ†’ ๆŠ€ๆœฏ้ข†ๅŸŸ โ†’ ๅทฅ็จ‹่ƒฝๅŠ› โ†’ ๅŸบ็ก€่ฎพๆ–ฝ\\\"็š„ๅฎŒๆ•ดๅ…จๆ ˆ็Ÿฅ่ฏ†ๅ›พ่ฐฑใ€‚\",\"categories\":[\"ๅ…จๆ ˆ\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"permalink\":\"/fullstack/overview\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ…จๆ™ฏไธ€่งˆ\",\"date\":\"2026-03-19 23:05:50\",\"capture\":\"<script setup\\nimport ArticleCardList from '@fragment/components/ArticleCardList.vue'\\nimport { fullStackCategories } from '@fragment/data/full-stack-data'\\n</script>\\n<ArticleCardList :categories=\\\"fullStackCategories\\\" />\"},{\"url\":\"/10.ไบงๅ“ Sense/00.ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"relativePath\":\"/10.ไบงๅ“ Sense/00.ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"frontmatter\":{\"date\":\"2026-03-19 23:05:50\",\"title\":\"ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"description\":\"ไบงๅ“ Sense ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ๏ผŒๆถต็›– AI ไบงๅ“่ง‚ๅฏŸใ€ๅคๅˆๅž‹ไบบๆ‰ๆˆ้•ฟใ€ๅ•†ไธšๅŒ–ๆ€่€ƒๅŠๆ–นๆณ•่ฎบๆ€ป็ป“็ญ‰ใ€‚\",\"categories\":[\"ไบงๅ“ Sense\",\"AI\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"date\":\"2026-03-19 23:05:50\",\"capture\":\"> * ่ฟฝๆฑ‚้ซ˜ๆ ๆ†โ€”โ€”ไปฅๆž็ฎ€ๆŠ€ๆœฏ่งฃๅ†ณๅคๆ‚้—ฎ้ข˜๏ผŒๆ‹’็ปไธบ็‚ซๆŠ€่€Œ่ฎพ่ฎก็š„ไผช้œ€ๆฑ‚๏ผ›\\n> * ๅนณ่กกๆ„Ÿๆ€งไธŽ็†ๆ€งโ€”โ€”ๆ—ขๅ…ฑๆƒ…็”จๆˆท็š„็œŸๅฎžๅœบๆ™ฏไธŽๆƒ…็ปช๏ผŒๅˆๅ†ท้™่ฟฝๆบฏ็—›็‚นๆœฌ่ดจ๏ผŒ่ฎฉไบงๅ“ๆ—ขๆœ‰ๆธฉๅบฆ๏ผŒๅˆไธ่‡ณไบŽๆฒฆไธบๅŠŸ่ƒฝ็š„ๅ †็ Œใ€‚\\n่งฃๆž„่ฟ™็งไบงๅ“ Sense ็š„ๅŸบ็ก€ๅœจไบŽๅฏนๆŠ•ๅ…ฅไบงๅ‡บๆฏ”๏ผˆROI๏ผ‰็š„ๆž่‡ด่ฟฝๆฑ‚ไธŽๅฏนไบบๆ€ง็š„ๆทฑๅบฆๅ‰–ๆž๏ผš\\n* ไธ€ๆ–น้ข๏ผŒๅ“่ถŠ็š„ไบงๅ“ๅ—…่ง‰ๆ„ๅ‘ณ็€ๅฏปๆ‰พโ€œ้ซ˜ๆ ๆ†่งฃโ€๏ผŒ็”จๆœ€ๅ…‹ๅˆถ็š„ๆŠ€ๆœฏๅคๆ‚ๅบฆๅŽปๆ’ฌๅŠจๆœ€ๅนฟๆณ›ไธ”ๅผบ็ƒˆ็š„็”จๆˆทไปทๅ€ผ๏ผŒๆžœๆ–ญ่ง„้ฟไธบไบ†ๆŠ€ๆœฏ่€ŒๆŠ€ๆœฏ็š„ไผช้œ€ๆฑ‚้™ท้˜ฑใ€‚\\n* ๅฆไธ€ๆ–น้ข๏ผŒๆ—ข้œ€่ฆ่ฎพ่บซๅค„ๅœฐๆ„Ÿ็Ÿฅ็”จๆˆท็š„็œŸๅฎžไฝฟ็”จๅœบๆ™ฏไธŽๆƒ…็ปช๏ผŒๅˆๅฟ…้กปไฟๆŒ็†ๆ€งๅŽป่ฟฝ้—ฎ็—›็‚น็š„ๆ นๆบ๏ผŒ็กฎไฟไบงๅ“ๆ—ขไธๆฒฆไธบ่‡ƒ่‚ฟ็š„้œ€ๆฑ‚่ฎธๆ„ฟๆฑ ๏ผŒไนŸไธๅ˜ๆˆ็ผบไนไบบๆ€งๆธฉๅบฆ็š„ๅ†ฐๅ†ทๆœบๅ™จใ€‚\\n<im\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/00.AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/00.AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ\",\"frontmatter\":{\"title\":\"AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"date\":\"2026-03-15 16:00:00\",\"description\":\"ๅ…จๆ™ฏๅผ AI ๅญฆไน ไธŽๅฎž่ทต็Ÿฅ่ฏ†ๅบ“๏ผŒ็ณป็ปŸๆฒ‰ๆท€ AI Agent ่ฎพ่ฎกๆจกๅผใ€ๅคงๆจกๅž‹ๅทฅ็จ‹ๅŒ–่ฝๅœฐใ€ๅผ€ๆบๅฐ้กน็›ฎๅŠ็คพๅŒบๆดปๅŠจ็ป้ชŒๆ€ป็ป“๏ผŒๆŒ็ปญ่ฟญไปฃไปŽ็†่ฎบๅˆฐ็”Ÿไบง็š„ๅฎŒๆ•ดๆ–นๆณ•่ฎบใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/llm_learning_bg_1.png\",\"permalink\":\"/ai-learning/overview\",\"categories\":[\"ai-practice\"],\"tags\":[\"AI\",\"LLM\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"date\":\"2026-03-15 16:00:00\",\"capture\":\"<!-- ็ฒพ้€‰ไธ“้ข˜ --\\n<script setup>\\nimport ArticleCardList from '@fragment/components/ArticleCardList.vue'\\nimport { aiLearningCategories } from '@fragment/data/ai-learning-data'\\n</script>\\n<ArticleCardList :categories=\\\"aiLearningCategories\\\" />\"},{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/02.CSSๅทฅ็จ‹ๅŒ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/02.CSSๅทฅ็จ‹ๅŒ–\",\"frontmatter\":{\"date\":\"2026-03-10 22:05:50\",\"title\":\"ไปŽๅŽŸๅญๅŒ–ๅˆฐๅ˜ไฝ“้ฉฑๅŠจ๏ผš็Žฐไปฃ CSS ๅทฅ็จ‹ๅŒ–็š„ๆžถๆž„ๆผ”่ฟ›ไธŽๆททๅˆๅฎž่ทตๆŒ‡ๅ—\",\"description\":\"ๆœฌๆ–‡็ณป็ปŸๅ‰–ๆžไธปๆต CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆ็š„ๅบ•ๅฑ‚้€ป่พ‘๏ผŒๆๅ‡บโ€œๆ ทๅผ่ต„ไบง ROIโ€่ฏ„ไผฐๆจกๅž‹๏ผŒๅนถ้’ˆๅฏน Vue/React ็”Ÿๆ€็ป™ๅ‡บไบ†้ขๅ‘ AI ๆ—ถไปฃ็š„ไผไธš็บงๆททๅˆๆžถๆž„้€‰ๅž‹ๅปบ่ฎฎใ€‚\",\"permalink\":\"/full-stack/css-engineering\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"top\":true,\"categories\":[\"ๅ…จๆ ˆ\"],\"tags\":[\"ๅ…จๆ ˆ\",\"CSS\",\"ๅทฅ็จ‹ๅŒ–\",\"tailwindcss\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไปŽๅŽŸๅญๅŒ–ๅˆฐๅ˜ไฝ“้ฉฑๅŠจ๏ผš็Žฐไปฃ CSS ๅทฅ็จ‹ๅŒ–็š„ๆžถๆž„ๆผ”่ฟ›ไธŽๆททๅˆๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-03-10 22:05:50\",\"capture\":\"1. ๅผ•่จ€๏ผšไธปๆต CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆๆœ‰ๅ“ชไบ›๏ผŸ\\nๅœจ็Žฐไปฃๅ‰็ซฏๅผ€ๅ‘ไธญ๏ผŒ้š็€้กน็›ฎๅคๆ‚ๅบฆ็š„ๆ€ฅๅ‰งๆๅ‡๏ผŒๅŽŸ็”Ÿ CSS ๅธธๅธธ้ขไธดๅ…จๅฑ€ๆฑกๆŸ“ใ€ๅค็”จๅ›ฐ้šพใ€ๅฑ‚็บงๅตŒๅฅ—่ฟ‡ๆทฑไปฅๅŠ็ปดๆŠคๆˆๆœฌๆž้ซ˜็ญ‰้—ฎ้ข˜ใ€‚ไธบไบ†่งฃๅ†ณ่ฟ™ไบ›็—›็‚น๏ผŒ็คพๅŒบๅคšๅนดๆฅไธๆ–ญๆŽข็ดข๏ผŒๆฒ‰ๆท€ๅ‡บไบ†ๅคš็งไธปๆต็š„ CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆใ€‚\\n้™คๅŽŸ็”Ÿ CSS ไน‹ๅค–๏ผŒไธปๆตๆ–นๆกˆ่ฟ˜ๅŒ…ๆ‹ฌ้ข„ๅค„็†ๅ™จใ€CSS-in-JSใ€CSS Moduleใ€Scoped CSSใ€ๅŽŸๅญๅŒ– CSS ็ญ‰ใ€‚BEM ไฝœไธบไธ€็งๅŸบไบŽๅ‘ฝๅ็บฆๅฎšๆฅ่ง„้ฟๅ‘ฝๅๅ†ฒ็ช็š„ๆ—ฉๆœŸๆ–นๆกˆ๏ผŒๅœจ็Žฐไปฃๅ‰็ซฏๅทฅ็จ‹ไธญๅทฒๅŸบๆœฌไธๅ†ไฝฟ็”จ๏ผŒๅ› ๆญคๆœฌๆ–‡ไธๅ†ๅฏนๅ…ถๅฑ•ๅผ€่ฏฆ็ป†ๅˆ†ๆžใ€‚\\n> CSS ๅ‘ฝๅ่ง„่Œƒ๏ผˆBEM๏ผ‰๏ผš้€š่ฟ‡ไธฅๆ ผ็š„ๅ‘ฝๅ็บฆๅฎš๏ผˆๅฆ‚ Block__Element--Modif\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/20.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Agent\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/20.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Agent\",\"frontmatter\":{\"date\":\"2026-03-06 00:37:58\",\"title\":\"ๅ‘Šๅˆซๆ‰‹ๅŠจ Loop๏ผšๅ€ŸๅŠฉ Claude Agent SDK ๅฎž็Žฐ Agent ็š„ๅทฅ็จ‹ๅŒ–้—ญ็Žฏ\",\"description\":\"ๅœจ Agent ๆŠ€ๆœฏๅฟซ้€Ÿ่ตฐๅ‘ๆˆ็†Ÿ็š„ไปŠๅคฉ๏ผŒๅฆ‚ไฝ•ไฝŽๆˆๆœฌๆž„ๅปบๅ…ทๅค‡โ€œ่‡ชไธปๆดžๅฏŸโ€่ƒฝๅŠ›็š„ๆ™บ่ƒฝไฝ“๏ผŸๆœฌๆ–‡ๆทฑๅบฆๆ‹†่งฃ Anthropic ๅฎ˜ๆ–นๆŽจๅ‡บ็š„ Claude Agent SDK๏ผŒ่งฃๆžๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆ‰˜็ฎก Agent Loop ๅ’Œไผš่ฏๆŒไน…ๅŒ–ๆœบๅˆถ๏ผŒ่งฃๅ†ณ Agent ๅผ€ๅ‘ไธญ็š„็Šถๆ€็ฎก็†้šพ้ข˜ใ€‚ๆ–‡็ซ ้€š่ฟ‡ไปŽๆ— ็Šถๆ€ไบคไบ’ๅˆฐๅ…ทๅค‡ๆตๅผ่พ“ๅ‡บ่ƒฝๅŠ›็š„ TUI ่‡ชๅŠจๅŒ–ๅทฅๅ…ท่ฟ›้˜ถๅฎžๆˆ˜๏ผŒๅฑ•็คบไบ†ๆž„ๅปบไฝŽๆˆๆœฌใ€้ซ˜ๅฏ็”จ AI ๅŽŸ็”Ÿๅบ”็”จ็š„ๅฎŒๆ•ด่ทฏๅพ„ใ€‚\",\"permalink\":\"/ai-practice/claude-agent-sdk-basic-build\",\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"],\"tags\":[\"Agent\",\"Agent SDK\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ‘Šๅˆซๆ‰‹ๅŠจ Loop๏ผšๅ€ŸๅŠฉ Claude Agent SDK ๅฎž็Žฐ Agent ็š„ๅทฅ็จ‹ๅŒ–้—ญ็Žฏ\",\"date\":\"2026-03-06 00:37:58\",\"capture\":\"1. ๅผ•่จ€\\nๅฝ“ๅ‰๏ผŒAI Agent ็š„ๆผ”่ฟ›ๅทฒ่ฟ›ๅ…ฅไธ€ไธชๅดญๆ–ฐ็š„้˜ถๆฎตโ€”โ€”ไปŽ้œ€่ฆ้ข‘็นไบบๅทฅๅนฒ้ข„็š„\\\"ๅŠ่‡ชๅŠจ\\\"ๆจกๅผ๏ผŒ่ฟ›ๅŒ–ไธบ่ƒฝๅคŸ่‡ชไธปๆดžๅฏŸ็Žฏๅขƒๅ˜ๅŒ–ใ€ๅŠจๆ€่ฐƒๆ•ดๆ‰ง่กŒ็ญ–็•ฅใ€ๅฎž็ŽฐไธšๅŠกๆต็จ‹่‡ช้€‚ๅบ”็ผ–ๆŽ’็š„ๆ™บ่ƒฝๅŒ–็ณป็ปŸใ€‚Claude Codeใ€Manusใ€OpenClaw ็ญ‰ไปฃ่กจๆ€งไบงๅ“ๅฑ‚ๅ‡บไธ็ฉท๏ผŒไนŸๆ ‡ๅฟ—็€ Agent ๆŠ€ๆœฏๆญฃๅœจๅฟซ้€Ÿ่ตฐๅ‘ๆˆ็†ŸไธŽๆ™ฎๅŠใ€‚\\n่ฟ‘ๆœŸ๏ผŒ็ฌ”่€…ๅœจไธบไธชไบบๅšๅฎขๅผ•ๅ…ฅๆ™บ่ƒฝๅŒ–่ฟ่ฅ่ƒฝๅŠ›๏ผˆๅฆ‚ๅ†…ๅฎน่‡ชๅŠจๆ กๅฏนใ€ๅฎก็จฟไธŽๅ‘ๅธƒ๏ผ‰๏ผŒๆทฑๅ…ฅ็ ”็ฉถไบ†ๅคšๆฌพ Agent ๅผ€ๅ‘ๆก†ๆžถ๏ผŒๅฆ‚ Claude Agent SDKใ€Langchainใ€LangGraph ็ญ‰ใ€‚ๅœจ็ป่ฟ‡ๅˆๆญฅ็š„็ ”็ฉถๅฏนๆฏ”ๅˆ†ๆžๅŽ๏ผŒClaude Agent SDK ๆˆไธบไบ†ไฝŽๆˆๆœฌๆž„ๅปบ้ซ˜ๅฏ็”จ Agent\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/10.Agent SKills\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/10.Agent SKills\",\"frontmatter\":{\"date\":\"2026-03-05 23:11:25\",\"title\":\"ๅฆ‚ไฝ•็ผ–ๅ†™ไธ€ไธช้ซ˜ๅฏ็”จ็š„ Agent Skill๏ผŸไปŽๆœบๅˆถๆ‹†่งฃๅˆฐ็”Ÿไบงๅฎž่ทตๆŒ‡ๅ—\",\"description\":\"ๅคง่ฏญ่จ€ๆจกๅž‹ๅœจ็‰นๅฎšๅทฅ็จ‹้ข†ๅŸŸๅธธ้ขไธดโ€œ็Ÿฅ่€Œไธ่กŒโ€็š„ๅ›ฐๅขƒใ€‚ๆœฌๆ–‡ๆทฑๅบฆๆ‹†่งฃ Anthropic ๆœ€ๆ–ฐๆŽจๅ‡บ็š„ Agent Skills ่ง„่Œƒ๏ผŒๆญ็ง˜ๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆธ่ฟ›ๅผๆŠซ้œฒไธŽไธ‰็บงๅŠ ่ฝฝๆœบๅˆถ๏ผŒๅœจๆŽงๅˆถ Token ๆˆๆœฌ็š„ๅŒๆ—ถๆ˜พ่‘—ๆๅ‡ Agent ็š„ไปปๅŠกๆ‰ง่กŒ็ฒพๅบฆใ€‚ๆ–‡็ซ ๆถต็›–ไบ†ไปŽๆ–‡ไปถๅคนๆžถๆž„่ฎพ่ฎกๅˆฐๅฎžๆˆ˜ git-workflow ็ผ–ๅ†™็š„ๅ…จๆต็จ‹ๆŒ‡ๅ—๏ผŒๅŠฉไฝ ๅฐ†้›ถๆ•ฃ็š„ Prompt ่ฝฌๅŒ–ไธบๆ ‡ๅ‡†ๅŒ–็š„ๆ•ฐๅญ—่ต„ไบงใ€‚\",\"permalink\":\"/ai-agent/skills-practice-summary\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\",\"Agent ็ณปๅˆ—\"],\"tags\":[\"Agent Skills\",\"Agent\",\"AI\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฆ‚ไฝ•็ผ–ๅ†™ไธ€ไธช้ซ˜ๅฏ็”จ็š„ Agent Skill๏ผŸไปŽๆœบๅˆถๆ‹†่งฃๅˆฐ็”Ÿไบงๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-03-05 23:11:25\",\"capture\":\"1. ๅผ•่จ€๏ผšAgent Skills ๆ˜ฏไป€ไนˆ๏ผŸ\\nๅœจๅคง่ฏญ่จ€ๆจกๅž‹๏ผˆLLM๏ผ‰็š„่ฝๅœฐๅฎž่ทตไธญ๏ผŒๅผ€ๅ‘่€…็ปๅธธ้ขไธดไธ€ไธชๅ…ฑๆ€งๆŒ‘ๆˆ˜๏ผšๆจกๅž‹ๅœจ็‰นๅฎš็ป†ๅˆ†้ข†ๅŸŸๅพ€ๅพ€ๅค„ไบŽโ€œ็Ÿฅ่€Œไธ่กŒโ€็š„็Šถๆ€โ€”โ€”่™ฝ็„ถๆ‹ฅๆœ‰ๅšๆ‚็š„็Ÿฅ่ฏ†๏ผŒๅด็ผบไนๆ‰ง่กŒๅคๆ‚ไปปๅŠก็š„ไธ“ไธš่ทฏๅพ„ใ€‚\\nไธบไบ†่งฃๅ†ณ่ฟ™ไธ€็—›็‚น๏ผŒAnthropic ๅœจๅ…ถๆ——่ˆฐๆจกๅž‹ Claude 3.7 ็ณปๅˆ—ไธญๆญฃๅผๆŽจๅ‡บไบ† Claude Skillsใ€‚่ฟ™ไธ€ๅŠŸ่ƒฝๅฐ† LLM ็š„่ƒฝๅŠ›ๅฐ่ฃ…ไธบ็›ด่ง‚็š„โ€œ่ƒฝๅŠ›ๆ–‡ไปถๅคนโ€๏ผŒๆžๅคงๆๅ‡ไบ†ๆ™บ่ƒฝไฝ“็š„ๅฎž็”จๆ€ง๏ผŒๅนถ่ฟ…้€Ÿๅœจๅผ€ๅ‘่€…็คพๅŒบๅผ•ๅ‘็ƒญ่ฎฎใ€‚2025 ๅนด 12 ๆœˆ๏ผŒ้š็€ Anthropic ่”ๅˆ็”Ÿๆ€ไผ™ไผดๆญฃๅผๅผ€ๆบ Agent Skills ่ง„่Œƒ๏ผŒAgent Skills ็š„ๆ ‡ๅ‡†ๅŒ–ไนŸๆญฃๅผๅผ€ๅฏ๏ผˆ่€Œ่ฟ™ไธ€่ƒฝๅŠ›\"},{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"frontmatter\":{\"date\":\"2026-03-05 16:54:35\",\"title\":\"ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"aliases\":[\"Server-Sent Events\",\"HTTP Streaming\"],\"tldr\":\"ๆทฑๅ…ฅ่งฃๆžๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผŒๆไพ›ไปŽๆฆ‚ๅฟตๅˆฐ็”Ÿไบงๅฎž่ทต็š„ๅฎŒๆ•ด่งฃๅ†ณๆ–นๆกˆใ€‚\",\"description\":\"่พจๆžๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ็š„ๆฆ‚ๅฟตไธŽๅฑ‚ๆฌกๅ…ณ็ณป๏ผŒ่ฏฆ่งฃๅฎขๆˆท็ซฏไธŽๆœๅŠก็ซฏๅฎž็Žฐๆ–นๆกˆ๏ผŒๆไพ›็”Ÿไบงๅฎž่ทตๅฎŒๆ•ดๆŒ‡ๅ—ใ€‚\",\"tags\":[\"tutorial\",\"SSE\",\"HTTP Streaming\",\"ๅ…จๆ ˆ\"],\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"permalink\":\"/fullstack/networking/sse-practice\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"date\":\"2026-03-05 16:54:35\",\"capture\":\"<script setup\\n import HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n> ๆ‘˜่ฆๆ€ป็ป“: ้’ˆๅฏนๅผ€ๅ‘่€…ๅฎนๆ˜“ๆททๆท†ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ็š„้—ฎ้ข˜๏ผŒไปŽๆฆ‚ๅฟตๅฑ‚ๆฌกๅ‡บๅ‘ๅŽ˜ๆธ…ไบŒ่€…ๆœฌ่ดจๅŒบๅˆซไธŽๅไฝœๅ…ณ็ณป๏ผŒๆŒ‡ๅ‡บๆตๅผ HTTP ๆ˜ฏๅบ•ๅฑ‚ไผ ่พ“ๆœบๅˆถ่€Œ SSE ๆ˜ฏๅบ”็”จๅฑ‚ๆ•ฐๆฎๆ ผๅผ็บฆๅฎšใ€‚ๆ–‡็ซ ไพๆฌกไป‹็ปๅŽŸ็”Ÿ EventSource APIใ€fetch + ReadableStream ่ฟ›้˜ถๆ–นๆกˆใ€@microsoft/fetch-event-source ๅทฅไธš็บงๅฎž็Žฐ็ญ‰ไธ‰็งๅฎขๆˆท็ซฏๆ–นๆกˆ๏ผŒๅนถไปฅ Nes\"},{\"url\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/02.้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/02.้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-03-02 11:05:50\",\"title\":\"้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ AI ๆž้€Ÿ้™ไฝŽไปฃ็ ็ผ–ๅ†™้—จๆง›๏ผŒๅ•็บฏ็š„โ€œไธšๅŠกไปฃ็ ็ฟป่ฏ‘ๅ™จโ€่ง’่‰ฒๆญฃๅŠ ้€Ÿ่ดฌๅ€ผใ€‚ๆœฌๆ–‡ไปŽๆŠ€ๆœฏๆผ”่ฟ›ไธŽไบงๅ“ๆ€่€ƒ็š„ไบคๆฑ‡็‚นๅ‡บๅ‘๏ผŒๅฐ† AI ๆ—ถไปฃ็š„ๅผ€ๅ‘่€…่ƒฝๅŠ›ๅ›พ่ฐฑ้‡ๆ–ฐๅˆ’ๅˆ†ไธบไธ‰ๅคงๆ ธๅฟƒๅœˆๅฑ‚๏ผšไบงๅ“ๅบ”็”จๅฑ‚๏ผˆInsight Stack๏ผ‰ใ€Agent ๅผ€ๅ‘ๅฑ‚ไธŽ AI ๅŸบ็ก€่ฎพๆ–ฝๅฑ‚ใ€‚ๆ— ่ฎบไฝ ๆ˜ฏๆทฑ่€•่ง†ๅ›พๅฑ‚ไบคไบ’ใ€็ฒพ้€š Node.js ็ญ‰ๆœๅŠก็ซฏๆžถๆž„็š„ๅผ€ๅ‘่€…๏ผŒ่ฟ˜ๆ˜ฏ่‡ดๅŠ›ไบŽๆŠ€ๆœฏ่ฝๅœฐ็š„ๆŽข็ดข่€…๏ผŒ้ƒฝ่ƒฝๅœจ่ฟ™ไปฝๆผ”่ฟ›ๆŒ‡ๅ—ไธญๆ‰พๅˆฐๆ‰“็ ด่ƒฝๅŠ›่พน็•Œใ€ๅ‘โ€œ่ถ…็บงไธชไฝ“โ€ไธŽโ€œAI ๆ™บ่ƒฝไฝ“ๆŒ‡ๆŒฅๅฎ˜โ€่ทƒ่ฟ็š„็ ดๅฑ€ไน‹้“ใ€‚\",\"permalink\":\"/fullstack/ai-engineer-capability\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"top\":true,\"tags\":[\"ๅ…จๆ ˆ\",\"AI\"],\"categories\":[\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"date\":\"2026-03-02 11:05:50\",\"capture\":\"<script setup>\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/ai_engineering_arc.png\\\" style=\\\"width: 100%; border-radius: 8px; margin-bottom: 20px;\\\" alt=\\\"about site back\"},{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"frontmatter\":{\"date\":\"2026-02-25 22:10:48\",\"title\":\"HTTP ่ฝฎ่ฏขไผ˜ๅŒ–ๆŒ‡ๅ—๏ผš้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"tldr\":\"่ฏฆ่งฃ้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅฎž็ŽฐๅŽŸ็†๏ผŒๆไพ› HTTP ่ฝฎ่ฏขไผ˜ๅŒ–็ญ–็•ฅไธŽ้€‰ๅž‹ๅ†ณ็ญ–ๆ ‘ใ€‚\",\"description\":\"ๆทฑๅ…ฅๅ‰–ๆž้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๆ ธๅฟƒๆœบๅˆถ๏ผŒๆไพ› TypeScript/NestJS ๅฎžๆˆ˜ไปฃ็ ๏ผŒๅนถๆž„ๅปบๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–ๆ ‘ไธŽ้€‚็”จๅœบๆ™ฏ้€ŸๆŸฅใ€‚\",\"tags\":[\"HTTP ่ฝฎ่ฏข\",\"้€€้ฟ่ฝฎ่ฏข\",\"้•ฟ่ฝฎ่ฏข\"],\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"permalink\":\"/fullstack/networking-polling-optimization\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"HTTP ่ฝฎ่ฏขไผ˜ๅŒ–ๆŒ‡ๅ—๏ผš้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"date\":\"2026-02-25 22:10:48\",\"capture\":\"1. ๅผ•่จ€\\nๅœจ็Žฐไปฃ Web ๅผ€ๅ‘ไธญ๏ผŒWebSocket ๅ’Œ Server-Sent Events (SSE) ๅธธๅธธ่ขซ่ง†ไธบๅฎžๆ—ถ้€šไฟก็š„้“ถๅผนใ€‚็„ถ่€Œ๏ผŒHTTP ่ฝฎ่ฏข๏ผˆPolling๏ผ‰ไฝœไธบๆœ€ๆœด็ด ็š„ๅฎžๆ—ถ้€šไฟกๆ–นๆกˆ๏ผŒ้žไฝ†ๆฒกๆœ‰้€€ๅ‡บๅކๅฒ่ˆžๅฐ๏ผŒๅ่€Œๅœจ็‰นๅฎš็š„ๅคๆ‚ไธšๅŠกๅœบๆ™ฏไธญๅคงๆ”พๅผ‚ๅฝฉใ€‚\\n> ๐Ÿ“– ๅฆ‚ๆžœไฝ ๅฏน HTTP ่ฝฎ่ฏขๅœจๆ•ดไธช Web ้€šไฟกๅ่ฎฎไฝ“็ณปไธญ็š„ๅฎšไฝๅฐšไธๆธ…ๆ™ฐ๏ผŒๆŽจ่ๅ…ˆ้˜…่ฏป Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—๏ผŒไบ†่งฃ่ฝฎ่ฏขไธŽ็Ÿญ่ฟžๆŽฅใ€้•ฟ่ฟžๆŽฅใ€WebSocketใ€SSE ็ญ‰ๆ–นๆกˆ็š„ๆผ”่ฟ›ๅ…ณ็ณปไธŽ้€‚็”จ่พน็•Œ๏ผŒๅ†็ป“ๅˆๆœฌๆ–‡ๆทฑๅ…ฅๅฎž่ทตใ€‚\\nๅœจๅฝ“ๅ‰ไผ—ๅคš้กถ็บง็š„ AI AIGC ๅบ”็”จ๏ผˆๅฆ‚ Midjourne\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/02.Agent ่ง„ๅˆ’ๆจกๅ—\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/02.Agent ่ง„ๅˆ’ๆจกๅ—\",\"frontmatter\":{\"date\":\"2026-02-24 20:52:37\",\"title\":\"ๆŽขๅฏป Agent ๅ†ณ็ญ–ไธญๆžข๏ผš่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„่ง„ๅˆ’่Œƒๅผ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฆ‚ๆžœ่ฏด LLM ๆ˜ฏ Agent ็š„ๅคง่„‘๏ผŒ่ง„ๅˆ’ๆจกๅ—ๅˆ™ๆ˜ฏๅ…ถ่ดŸ่ดฃๅคๆ‚ๅ†ณ็ญ–็š„โ€œๅ‰้ขๅถโ€ใ€‚ๆœฌๆ–‡ๆทฑๅบฆ่งฃๆž„ไบ† Agent ่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„ๆ ธๅฟƒ่ทฏๅพ„๏ผšไปŽไปปๅŠกๅˆ†่งฃ็š„้™ไฝŽ็†ตๅ€ผ๏ผŒๅˆฐ่‡ชๆˆ‘ๅๆ€็š„้—ญ็ŽฏๆŽงๅˆถใ€‚้€š่ฟ‡ๅฏนๆฏ”โ€œ่พน่ตฐ่พน็œ‹โ€็š„ ReAct ๅŠจๆ€ๅ“ๅบ”ๆจกๅผไธŽโ€œ่ฐ‹ๅฎšๅŽๅŠจโ€็š„ Plan-and-Execute ้ข„็ผ–ๆŽ’ๆจกๅผ๏ผŒๆœฌๆ–‡ๆญ็คบไบ†ๅฆ‚ไฝ•้’ˆๅฏน้•ฟ้“พ่ทฏๅทฅ็จ‹ไปปๅŠกๆž„ๅปบ็จณๅฅ็š„ๅ†ณ็ญ–่Œƒๅผ๏ผŒๅŠฉไฝ ๅฎŒๆˆไปŽโ€œ็ฎ€ๅ•ๆ็คบ่ฏโ€ๅˆฐโ€œๅคๆ‚ๆžถๆž„่ฎพ่ฎกโ€็š„่ฎค็Ÿฅ่ทƒ่ฟใ€‚\",\"permalink\":\"/ai-agent/planning-module\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆŽขๅฏป Agent ๅ†ณ็ญ–ไธญๆžข๏ผš่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„่ง„ๅˆ’่Œƒๅผ\",\"date\":\"2026-02-24 20:52:37\",\"capture\":\"1. ๅผ•่จ€\\nๅœจไบบ็ฑปๅคง่„‘ไธญ๏ผŒๅ‰้ขๅถ็šฎๅฑ‚่ดŸ่ดฃๅคๆ‚็š„่ฎค็Ÿฅ่ง„ๅˆ’ใ€ๅ†ณ็ญ–ๅ’Œ็คพไบค่กจ็Žฐใ€‚ๅฏนไบŽไธ€ไธช Agent ่€Œ่จ€๏ผŒ่ง„ๅˆ’ๆจกๅ—ๆญฃๆ˜ฏๅฎƒ็š„โ€œๅ‰้ขๅถโ€โ€”โ€”ๅฎƒๅ†ณๅฎšไบ† Agent ๆ˜ฏๅชไผšๆœบๆขฐๅ“ๅบ”ๆŒ‡ไปค็š„โ€œๆœจๅถโ€๏ผŒ่ฟ˜ๆ˜ฏ่ƒฝ็‹ฌ็ซ‹ๆ‹†่งฃ็›ฎๆ ‡ใ€ๅœจๅคๆ‚็Žฏๅขƒไธญๅฏปๆ‰พๆœ€ไผ˜่ทฏๅพ„็š„โ€œๆ•ฐๅญ—ๅ‘˜ๅทฅโ€ใ€‚\\nAgent ็š„่ง„ๅˆ’่ƒฝๅŠ›ไธป่ฆ็”ฑไธค้ƒจๅˆ†ๅๅŒ้ฉฑๅŠจ๏ผšไปปๅŠกๅˆ†่งฃไธŽ่‡ชๆˆ‘ๅๆ€ใ€‚\\n 2. ไปปๅŠกๅˆ†่งฃ๏ผšๅŒ–็นไธบ็ฎ€็š„็ญ–็•ฅ\\nไปปๅŠกๅˆ†่งฃๆ˜ฏๆŒ‡ๅฐ†ไธ€ไธชๅคๆ‚็š„็›ฎๆ ‡ๆˆ–ไปปๅŠกๆ‹†่งฃไธบๅคšไธชๅ…ทไฝ“ใ€ๅฏๆ“ไฝœ็š„็š„ๅญไปปๅŠก๏ผŒไปฅไพฟ Agent ่ƒฝๅคŸๆ›ด้ซ˜ๆ•ˆๅœฐๆ‰ง่กŒๅ’Œ็ฎก็†ใ€‚ๅ…ถๆœฌ่ดจๆ˜ฏ้™ไฝŽ้—ฎ้ข˜็š„็†ตๅ€ผ๏ผŒ่ฎฉ Agent ่ƒฝๅคŸ่š็„ฆไบŽๆฏไธ€ไธช็ป†ๅฐ็š„็กฎๅฎšๆ€งๆญฅ้ชค๏ผŒไปŽ่€Œ้€ๆญฅ่งฃๅ†ณ้—ฎ้ข˜๏ผŒๆ้ซ˜่ง„ๅˆ’็š„ๅฏ่กŒๆ€งๅ’Œๆ‰ง่กŒๆ•ˆ็އใ€‚\\nๆ นๆฎโ€œ่ง„ๅˆ’โ€ไธŽโ€œๆ‰ง่กŒโ€ๅ‘\"},{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-02-24 08:40:31\",\"title\":\"Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"tldr\":\"ๆทฑๅ…ฅๅˆ†ๆžไบ”็ง Web ้€šไฟกๅ่ฎฎ๏ผŒๆไพ› AI ๆ—ถไปฃ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—ไธŽๆœ€ไฝณๅฎž่ทตใ€‚\",\"description\":\"ๆทฑๅ…ฅๅ‰–ๆžไผ ็ปŸ HTTPใ€ๆตๅผ HTTPใ€SSEใ€WebSocketใ€Webhooksใ€HTTP ่ฝฎ่ฏข็š„ๅŽŸ็†ไธŽ็‰นๆ€ง๏ผŒ็ป“ๅˆ AI ๅœบๆ™ฏๆไพ›ๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–็Ÿฉ้˜ตใ€‚\",\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"tags\":[\"HTTP\",\"HTTP ่ฝฎ่ฏข\",\"SSE\",\"WebSocket\",\"Webhooks\"],\"permalink\":\"/fullstack/networking-protocol-selection-guide\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"date\":\"2026-02-24 08:40:31\",\"capture\":\"1. ๅผ•่จ€\\nHTTP ๆ˜ฏไธ€็งๅŸบไบŽๆ–‡ๆœฌ็š„้€šไฟกๅ่ฎฎ๏ผŒไธป่ฆ็”จไบŽ Web ๆต่งˆๅ™จใ€็งปๅŠจๅบ”็”จใ€ๆกŒ้ขๅบ”็”จ็ญ‰ๅฎขๆˆท็ซฏๅ’Œ Web ๆœๅŠกๅ™จไน‹้—ด็š„ๆ•ฐๆฎไผ ่พ“ใ€‚ไผ ็ปŸ HTTP ้‡‡็”จๅŒๆญฅ็š„่ฏทๆฑ‚-ๅ“ๅบ”ๆจกๅผ๏ผš`่ฏทๆฑ‚ -> ็ญ‰ๅพ… -> ๅฎŒๆ•ดๅ“ๅบ”`ใ€‚่ฟ™็งๆ–นๅผ่™ฝ่ƒฝๆปก่ถณๅคงๅคšๆ•ฐๅœบๆ™ฏ๏ผŒไฝ†ๅœจๅฎžๆ—ถๆ€ง่ฆๆฑ‚่พƒ้ซ˜็š„้ข†ๅŸŸโ€”โ€”ๅฆ‚ๆธธๆˆใ€่Šๅคฉใ€่ง†้ข‘ไผš่ฎฎ๏ผŒไปฅๅŠ AI ๆ—ถไปฃ็š„ๅฏน่ฏๅผๅบ”็”จโ€”โ€”ๅดๆ˜พๅพ—ๅŠ›ไธไปŽๅฟƒใ€‚\\nไธบ่งฃๅ†ณ่ฟ™ไธ€้—ฎ้ข˜๏ผŒไธš็•Œๅ‘ๅฑ•ๅ‡บไบ†ๅคš็งๅฎžๆ—ถ Web ้€šไฟกๆ–นๆกˆใ€‚ๆœฌๆ–‡ๅฐ†ๅ›ด็ป• ๆตๅผ HTTPใ€SSEใ€WebSocketใ€Webhooksใ€HTTP ่ฝฎ่ฏข ่ฟ™ไบ”็งไธปๆตๆŠ€ๆœฏ๏ผŒไปŽๅŽŸ็†ใ€็‰นๆ€งใ€้€‚็”จๅœบๆ™ฏๅ‡บๅ‘๏ผŒๆŽข่ฎจๅฎƒไปฌๅœจ็Žฐไปฃๅˆ†ๅธƒๅผๆžถๆž„ไธญ็š„้€‰ๅž‹็ญ–็•ฅไธŽๅทฅ็จ‹ๅฎž่ทตใ€‚\\n 2\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/01.Agentๆฆ‚่งˆไธŽ็ปผ่ฟฐ\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/01.Agentๆฆ‚่งˆไธŽ็ปผ่ฟฐ\",\"frontmatter\":{\"date\":\"2026-02-12 22:31:00\",\"title\":\"ไปŽๆ็คบ่ฏๅˆฐๆ•ฐๅญ—ๅ‘˜ๅทฅ๏ผšAI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšAI ็š„่ฟ›ๅŒ–ๆญฃ็ปๅކไปŽโ€œๅฏน่ฏๆก†โ€ๅ‘โ€œๆ•ฐๅญ—ๅ‘˜ๅทฅโ€็š„ๆ นๆœฌๆ€ง่ทจ่ถŠใ€‚ๆœฌๆ–‡ๆ˜ฏไธ€็ฏ‡ๅ…ณไบŽ AI Agent ็š„ๅ…จๆ™ฏๆทฑๅบฆ็ปผ่ฟฐ๏ผŒๆ—จๅœจ่งฃๆž„ๆ™บ่ƒฝไฝ“ๅฆ‚ไฝ•ไปŽ็ฎ€ๅ•็š„ Prompt ๅ“ๅบ”่€…๏ผŒๆผ”ๅ˜ไธบๅ…ทๅค‡่‡ชไธป็›ฎๆ ‡ๆ‹†่งฃใ€้•ฟ็ŸญๆœŸ่ฎฐๅฟ†ไธŽๅคๆ‚็Žฏๅขƒไบคไบ’่ƒฝๅŠ›็š„โ€œๆ‰ง่กŒ่€…โ€ใ€‚ๆˆ‘ไปฌๅฐ†ๆทฑๅบฆๆ‹†่งฃ Agent ็š„ๅ››ๅคงๆŠ€ๆœฏๅŸบ็Ÿณ๏ผˆ่ง„ๅˆ’ใ€่ฎฐๅฟ†ใ€ๅทฅๅ…ทใ€่กŒๅŠจ๏ผ‰๏ผŒๅนถ่ฏฆ็ป†ๅ‰–ๆžไปŽ้€š็”จๅž‹ Agent ๅˆฐๅคšๆ™บ่ƒฝไฝ“ๅไฝœ๏ผˆMAS๏ผ‰ใ€ๅ†ๅˆฐ่ฟˆๅ‘ Agent OS ๆ—ถไปฃ็š„ OpenClaw ็ญ‰ไบ”ๅคงๆผ”่ฟ›ๅฝขๆ€ใ€‚ไธไป…ๆŽข่ฎจไบ†ๆŠ€ๆœฏๆžถๆž„็š„ๅฎž็Žฐ๏ผŒๆ›ดๆญ็คบไบ†่ฝฏไปถๅทฅ็จ‹ไปŽโ€œไปฅไบบไธบไธญๅฟƒโ€ๅ‘โ€œไปฅ AI ไธบไธญๅฟƒโ€็š„่Œƒๅผ้ฉๅ‘ฝโ€”โ€”ๅœจ Agent ้ฉฑๅŠจ็š„ๆ–ฐ็บชๅ…ƒ๏ผŒๆ ธๅฟƒ็ซžไบ‰ๅŠ›ๅฐ†ไธๅ†ๆ˜ฏไปฃ็ ้‡๏ผŒ่€Œๆ˜ฏ่ฐƒๅบฆ AI ้—ญ็Žฏ่งฃๅ†ณไธšๅŠก้—ฎ้ข˜็š„่ƒฝๅŠ›ใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/llm_learning_bg_1.png\",\"permalink\":\"/ai-agent/overview\",\"top\":true,\"categories\":[\"ai-practice\"],\"tags\":[\"AI Agent\",\"Agent\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไปŽๆ็คบ่ฏๅˆฐๆ•ฐๅญ—ๅ‘˜ๅทฅ๏ผšAI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐ\",\"date\":\"2026-02-12 22:31:00\",\"capture\":\"1. ไป€ไนˆๆ˜ฏ Agent๏ผŸโ€”โ€”ไปŽโ€œๅทฅๅ…ทโ€ๅˆฐโ€œๅฎžไฝ“โ€็š„่ฟ›ๅŒ–\\n> ๆ ธๅฟƒ้€ป่พ‘๏ผš็Žฐไปฃ Agent ็š„ๆœฌ่ดจๆ˜ฏ \\\"LLM (ๅคง่„‘) + ่ง„ๅˆ’ไธŽ่ฎฐๅฟ† (ๅฐ่„‘) + ๅทฅๅ…ท่ฐƒ็”จ (ๆ‰‹่„š)\\\"ใ€‚LLM ็š„ๆตท้‡็Ÿฅ่ฏ†ๅ‚จๅค‡่ฎฉ Agent ่ƒฝๅคŸ็ฒพๅ‡†็†่งฃๅคๆ‚ๆŒ‡ไปค๏ผŒๅนถๅฐ†ๅ…ถ่ฝฌๅŒ–ไธบๅฎž้™…่กŒๅŠจใ€‚\\nๅœจ AI ้ข†ๅŸŸ๏ผŒAgent๏ผˆๆ™บ่ƒฝไฝ“๏ผ‰ ๅนถ้žไธ€ไธชๆ–ฐๆฆ‚ๅฟต๏ผŒไฝ† LLM๏ผˆๅคง่ฏญ่จ€ๆจกๅž‹๏ผ‰็š„็ˆ†ๅ‘่ต‹ไบˆไบ†ๅฎƒ็œŸๆญฃ็š„โ€œ็ต้ญ‚โ€ใ€‚็ฎ€ๅ•ๆฅ่ฏด๏ผŒAgent ๆ˜ฏไธ€็ง่ƒฝๅคŸๆ„Ÿ็Ÿฅ็Žฏๅขƒใ€่‡ชไธปๅ†ณ็ญ–ๅนถๆ‰ง่กŒไปปๅŠก็š„ๆ™บ่ƒฝๅฎžไฝ“ใ€‚\\nๅฆ‚ๆžœ่ฏดไผ ็ปŸ็š„ AI ๆ˜ฏไธ€ไธชโ€œ้—ฎ็ญ”ๆœบโ€๏ผŒ้‚ฃไนˆ Agent ๅฐฑๆ˜ฏไธ€ไธชโ€œๆ‰ง่กŒ่€…โ€ใ€‚ๅฎƒๅ…ทๅค‡ไปฅไธ‹ๅ››ๅคงๆ ธๅฟƒ็‰น่ดจ๏ผš\\n* ่‡ชไธปๆ€ง (Autonomy)๏ผš ๆ— ้กปๆ—ถๅˆป็›ฏ็€๏ผŒ่ฎพๅฎš\"},{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-02-10 23:33:19\",\"title\":\"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ๅฝ“ AI ๆ‰ฟๆŽฅไบ† 30% ็š„็ผ–็ ๆ‰ง่กŒๆ—ถ๏ผŒๅผ€ๅ‘่€…้œ€้€š่ฟ‡โ€œ่ง„ๆ ผ้ฉฑๅŠจ๏ผˆSDD๏ผ‰โ€้‡ๅคบ 70% ็š„่ฎพ่ฎกไธปๆƒ๏ผšไปŽ่‡ชๆฒป็ป„ไปถๅˆ’ๅˆ†ๅˆฐๅ•ๅ‘ๆ•ฐๆฎๆตๆ‹“ๆ‰‘็š„ๆทฑๅบฆๆŽจๆผ”ใ€‚\",\"description\":\"ๆœฌๆ–‡ๆŽข่ฎจๅœจ AI ๅขžๅผบๅผ€ๅ‘่ƒŒๆ™ฏไธ‹๏ผŒๅฆ‚ไฝ•้‡ๅก‘ React ็ป„ไปถ่ฎพ่ฎกๅŽŸๅˆ™ใ€‚ๆถต็›– SRP ่Œ่ดฃๅˆ’ๅˆ†ใ€้™ๆ€็‰ˆๆœฌๅŸบ็บฟใ€ๆœ€ๅฐ็Šถๆ€๏ผˆDerived Data๏ผ‰ๆŽจๅฏผไปฅๅŠ SDD ไบบๆœบๅไฝœๆจกๅผ็š„ๅทฅ็จ‹่ฝๅœฐใ€‚\",\"tags\":[\"tutorial\",\"react\",\"component-design\",\"state-management\",\"ai-augmented\",\"specification-driven\"],\"permalink\":\"/fullstack/react-design-philosophy-ai-augmented\",\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-02-10 23:33:19\",\"capture\":\"<script setup\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n 1. ๅผ•่จ€\\nๅœจ่ฝฏไปถๅทฅ็จ‹ไธญ๏ผŒ็บฆ 70% ็š„ๆ—ถ้—ดๅบ”ๆŠ•ๅ…ฅไบŽๆžถๆž„่ฎพ่ฎกใ€้œ€ๆฑ‚ๆ‹†่งฃไธŽๆŽฅๅฃ่ฏญไน‰ๆŽจๆ•ฒ๏ผŒไป… 30% ็”จไบŽๅฎž้™…็ผ–็ ใ€‚่ฟ›ๅ…ฅ AI ๅไฝœๆ—ถไปฃๅŽ๏ผŒ่ฟ™ไธ€ๆฏ”ไพ‹ไพ็„ถๅšๅฆ‚็ฃ็Ÿณโ€”โ€”ๅผ€ๅ‘่€…ๅฟ…้กปๅ…ˆๅฎŒๆˆๆทฑๅบฆๆ€่€ƒ๏ผŒๅฐ†โ€œๆธ…ๆ™ฐ็š„้—ฎ้ข˜่ง„ๆ ผ๏ผˆSpecification๏ผ‰โ€ไบค็ป™ AI๏ผŒAI ๆ‰่ƒฝ่พ“ๅ‡บ้ซ˜่ดจ้‡ไปฃ็ ใ€‚<HighLightText type=\\\"note\\\" bold>AI ๆๅ‡็š„ๆ˜ฏ 30% ็ผ–็ ้˜ถๆฎต็š„ๆ‰ง่กŒๅŠ›๏ผŒ่€Œ้žๅ–\"},{\"url\":\"/01.ๅ…จๆ ˆ/90.ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่/90.ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"relativePath\":\"/01.ๅ…จๆ ˆ/90.ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่/90.ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"frontmatter\":{\"date\":\"2026-02-06 15:58:53\",\"title\":\"ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡็ณป็ปŸๆขณ็†ไบ†็Žฐไปฃๅ…จๆ ˆๅผ€ๅ‘็š„ๅฎŒๆ•ดๆŠ€ๆœฏๅ›พ่ฐฑไธŽๆผ”่ฟ›่Œƒๅผ๏ผŒไธบๅผ€ๅ‘่€…ๆไพ›ไบ†ไธ€็ซ™ๅผ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—ใ€‚ๆ–‡็ซ ไปŽๅŸบ็Ÿณๅ‡บๅ‘๏ผŒ่ฆ†็›– Web ๆ ธๅฟƒ่ฏญ่จ€๏ผˆJS/TS๏ผ‰ ไธŽ ไธปๆต UI ๆก†ๆžถ๏ผˆReact/Vue/Svelte๏ผ‰๏ผŒๅนถๆŽจ่ไปฅ Tailwind CSS ๅ’Œ shadcn/ui ไธบไปฃ่กจ็š„็Žฐไปฃๆ ทๅผไธŽ็ป„ไปถๅŽŸ่ฏญใ€‚ๅœจๆ ธๅฟƒไธšๅŠก้€ป่พ‘ๅฑ‚๏ผŒๆทฑๅบฆๅฏนๆฏ”ไบ†่ฝป้‡ๅŒ–็Šถๆ€็ฎก็†ๆ–นๆกˆ๏ผˆ้ฆ–ๆŽจ Zustand/Jotai๏ผ‰๏ผŒๅนถ้‡็‚น่งฃๆžไบ†ๆ•ฐๆฎไบคไบ’็š„ไธ‰ๅคง็Žฐไปฃๆžถๆž„่Œƒๅผ๏ผšไปŽๅŸบ็ก€ Axios ๅˆฐ React Query ็Šถๆ€่ฐƒๅบฆ๏ผŒๅ†ๅˆฐ tRPC ๅ’Œ GraphQL ๅธฆๆฅ็š„ๅ…จๆ ˆ็ฑปๅž‹ๅฎ‰ๅ…จไธŽๅคš็ซฏ่šๅˆใ€‚ๅœจๅทฅ็จ‹ๅŒ–ไธŽๆœๅŠก็ซฏๆจกๅ—๏ผŒๆ–‡็ซ ๅ…จ้ขๆ‹ฅๆŠฑ Viteใ€Rsbuild ็ญ‰ๆž้€Ÿๆž„ๅปบๅทฅๅ…ท๏ผŒๅนถๅ‰–ๆžไบ† Next.js/Nuxt ๅŒๆž„ๅ…ƒๆก†ๆžถไธŽ NestJS ไผไธš็บง Node ๆœๅŠก็š„ๆœ€ไฝณ้€‚็”จๅœบๆ™ฏใ€‚ๆœ€ๅŽ๏ผŒ่พ…ไปฅ Vercel ็ญ‰็Žฐไปฃ่พน็ผ˜้ƒจ็ฝฒๅนณๅฐๅŠไธฐๅฏŒ็š„ๅผ€ๆบ็คพๅŒบๅญฆไน ่ต„ๆบใ€‚\",\"permalink\":\"/growth/full-stack-resources\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"date\":\"2026-02-06 15:58:53\",\"capture\":\"> - ๆ–‡็ซ ไปŽๅŸบ็Ÿณๅ‡บๅ‘๏ผŒ่ฆ†็›– Web ๆ ธๅฟƒ่ฏญ่จ€๏ผˆJS/TS๏ผ‰ ไธŽ ไธปๆต UI ๆก†ๆžถ๏ผˆReact/Vue/Svelte๏ผ‰๏ผŒๅนถๆŽจ่ไปฅ Tailwind CSS ๅ’Œ shadcn/ui ไธบไปฃ่กจ็š„็Žฐไปฃๆ ทๅผไธŽ็ป„ไปถๅŽŸ่ฏญใ€‚\\n> - ๅœจๆ ธๅฟƒไธšๅŠก้€ป่พ‘ๅฑ‚๏ผŒๆทฑๅบฆๅฏนๆฏ”ไบ†่ฝป้‡ๅŒ–็Šถๆ€็ฎก็†ๆ–นๆกˆ๏ผˆ้ฆ–ๆŽจ Zustand/Jotai๏ผ‰๏ผŒๅนถ้‡็‚น่งฃๆžไบ†ๆ•ฐๆฎไบคไบ’็š„ไธ‰ๅคง็Žฐไปฃๆžถๆž„่Œƒๅผ๏ผšไปŽๅŸบ็ก€ Axios ๅˆฐ React Query ็Šถๆ€่ฐƒๅบฆ๏ผŒๅ†ๅˆฐ tRPC ๅ’Œ GraphQL ๅธฆๆฅ็š„ๅ…จๆ ˆ็ฑปๅž‹ๅฎ‰ๅ…จไธŽๅคš็ซฏ่šๅˆใ€‚\\n> - ๅœจๅทฅ็จ‹ๅŒ–ไธŽๆœๅŠก็ซฏๆจกๅ—๏ผŒๆ–‡็ซ ๅ…จ้ขๆ‹ฅๆŠฑ Viteใ€Rsbuild ็ญ‰ๆž้€Ÿๆž„ๅปบๅทฅๅ…ท๏ผŒๅนถๅ‰–ๆžไบ† Next.js/N\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/03.ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผšๅฐ†้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/03.ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผšๅฐ†้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"frontmatter\":{\"date\":\"2026-02-06 15:48:23\",\"title\":\"ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผš้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผš้ขๅฏนๅฑ‚ๅ‡บไธ็ฉท็š„ Promptใ€MCPใ€Skills ๅ’Œ Subagents๏ผŒๅพˆๅคšๅผ€ๅ‘่€…ๅ’Œไบงๅ“็ป็†ๅธธๆ„Ÿๅˆฐๅ›ฐๆƒ‘๏ผš่ฟ™ไบ›็ป„ไปถ็ฉถ็ซŸๆ˜ฏ้‡ๅค้€ ่ฝฎๅญ๏ผŒ่ฟ˜ๆ˜ฏๅ„ๅธๅ…ถ่Œ็š„็งฏๆœจ๏ผŸๆœฌๆ–‡ๅฐ†ๆทฑๅบฆๆ‹†่งฃ Agentic ็”Ÿๆ€็š„ไบ”ๅคงๆ ธๅฟƒๆ”ฏๆŸฑ๏ผŒๆญ็คบๅฆ‚ไฝ•้€š่ฟ‡ไผ˜้›…็š„ๆžถๆž„่ฎพ่ฎกๅฎž็ŽฐๅๅŒ้—ญ็Žฏ๏ผŒๅฐ†้›ถๆ•ฃ็š„ AI ็ป„ไปถๆ‹ผ่ฃ…ๆˆไธ€ๅฅ—ๅฏๆŒ็ปญ่ฟ›ๅŒ–็š„ AI ๅŽŸ็”Ÿๆ“ไฝœ็ณป็ปŸ๏ผŒๆŠŠ็ขŽ็‰‡ๅŒ–็š„ AI ่ƒฝๅŠ›่ฝฌๅŒ–ไธบ้ซ˜ๅฏ็”จ็š„็”ŸไบงๅŠ›ๆตใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/ai-practice/agent_components_zh.png\",\"permalink\":\"/ai-agent/composition-ai-components\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"],\"tags\":[\"Agent\",\"AI\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผš้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"date\":\"2026-02-06 15:48:23\",\"capture\":\"<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/ai-practice/agent_components_zh.png\\\" style=\\\"width: 100%; border-radius: 8px; margin-bottom: 20px;\\\" alt=\\\"about site background\\\">\\n 1. ๅผ•่จ€\\n> ้—ฎ้ข˜๏ผšๅœจๆ™บ่ƒฝไฝ“็”Ÿๆ€้‡Œ๏ผŒๅ„ไธช็ป„ไปถๅˆฐๅบ•ๆ˜ฏๆ€ŽไนˆๅๅŒๅทฅไฝœ็š„๏ผŸ\\nๅฝ“ๅ‰๏ผŒAgent๏ผˆๆ™บ่ƒฝไฝ“๏ผ‰ๆŠ€ๆœฏๅ‘ๅฑ•่ฟ…็Œ›๏ผŒๅ„็ง่ฎพ่ฎกๆจกๅผใ€ๆ ธๅฟƒ็ป„ไปถไธŽๅทฅไฝœๆœบๅˆถๅฑ‚ๅ‡บไธ็ฉทใ€‚้ขๅฏน็นๆ‚็š„ๆ™บ่ƒฝไฝ“็”Ÿๆ€\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/11. LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/11. LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-01-06 15:58:53\",\"title\":\"LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆˆช่‡ณ 2026 ๅนด๏ผŒLLM API ๆœๅŠกๅทฒๅฝขๆˆ\\\"ๅฎ˜ๆ–น็›ด่ฟž + ็ฌฌไธ‰ๆ–น่šๅˆ\\\"็š„ๅŒ่ฝจๆ ผๅฑ€๏ผŒๆจกๅž‹่ƒฝๅŠ›ใ€ๅฎšไปทใ€ๅˆ่ง„ๆ€งไธŽๆŽฅๅ…ฅไพฟๅˆฉๆ€งๅทฎๅผ‚ๆ˜พ่‘—ใ€‚ๆœฌๆ–‡ไปŽ้€‰ๅž‹ๅ‰ๆ้—ฎๅ‡บๅ‘๏ผŒ็ณป็ปŸๆขณ็†ๅ›ฝ้™…ไธŽๅ›ฝๅ†…ไธปๆตๅฎ˜ๆ–น API ๅนณๅฐ๏ผŒไปฅๅŠ OpenRouterใ€็ก…ๅŸบๆตๅŠจ็ญ‰็ฌฌไธ‰ๆ–น่šๅˆๅนณๅฐ็š„ๆ ธๅฟƒ็‰น็‚น๏ผŒๅนถๆไพ›ๅŸบไบŽๅœบๆ™ฏ็š„ๅ†ณ็ญ–ๆก†ๆžถ๏ผŒๅธฎๅŠฉๅผ€ๅ‘่€…ๅ’Œไบงๅ“ๅ›ข้˜Ÿๅฟซ้€Ÿ้”ๅฎšๆœ€้€‚ๅˆ่‡ชๅทฑ็š„ๆ–นๆกˆใ€‚\",\"permalink\":\"/ai-learning/llm-api-resources\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"LLM API\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"date\":\"2026-01-06 15:58:53\",\"capture\":\"1. ้€‰ๆจกๅž‹ๅ‰๏ผŒๅ…ˆๆƒณๆธ…ๆฅš่ฟ™ๅ‡ ไปถไบ‹\\nๅœจๅฏนๆฏ”ๅ…ทไฝ“ๅนณๅฐไน‹ๅ‰๏ผŒๅฏไปŽไปฅไธ‹ๅ››ไธช็ปดๅบฆๆขณ็†่‡ช่บซ่ฏ‰ๆฑ‚๏ผŒ้ฟๅ…\\\"็œผ่Šฑ็ผญไนฑๅŽ้šไพฟ้€‰ไธ€ไธช\\\"๏ผš\\n| ็ปดๅบฆ | ๅ…ณ้”ฎ้—ฎ้ข˜ | ๅฝฑๅ“ๅ†ณ็ญ– |\\n|:-----|:--------|:--------|\\n| ไปปๅŠก็ฑปๅž‹ | ๆ˜ฏ้€š็”จๅฏน่ฏใ€ไปฃ็ ็”Ÿๆˆใ€้•ฟๆ–‡ๆกฃๅˆ†ๆž๏ผŒ่ฟ˜ๆ˜ฏๅคšๆจกๆ€็†่งฃ๏ผŸ | ไธๅŒๆจกๅž‹ๅœจๅž‚็›ด่ƒฝๅŠ›ไธŠๅทฎ่ทๆ‚ฌๆฎŠ |\\n| ๆˆๆœฌ้ข„็ฎ— | ๆฏๆœˆ่ฐƒ็”จ้‡็บง๏ผŸ่ƒฝๅฆๆŽฅๅ—ๆตทๅค–็ป“็ฎ—ไธŽๆฑ‡็އ้ฃŽ้™ฉ๏ผŸ | ๅ›ฝไบงๆจกๅž‹ Token ไปทๆ ผ้€šๅธธไฝŽ 3๏ฝž10 ๅ€ |\\n| ๅˆ่ง„ไธŽ้ƒจ็ฝฒ | ๆ•ฐๆฎ่ƒฝๅฆๅ‡บๅขƒ๏ผŸ่ƒฝๅฆไฝฟ็”จๆตทๅค–ๆœๅŠก๏ผŸๆ˜ฏๅฆ้œ€่ฆ็งๆœ‰ๅŒ–้ƒจ็ฝฒ๏ผŸ | ๆถ‰ๅŠๆ”ฟๅŠก/้‡‘่ž/ๅŒป็–—ๅœบๆ™ฏๅฟ…้กป่€ƒ่™‘ |\\n| ็ฝ‘็ปœ็Žฏๅขƒ | ๅผ€ๅ‘/้ƒจ็ฝฒ็Žฏๅขƒ่ƒฝๅฆ็จณๅฎš่ฎฟ\"},{\"url\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/10.่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"relativePath\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/10.่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"frontmatter\":{\"date\":\"2025-12-06 22:05:50\",\"title\":\"่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"description\":\"่ฝฏไปถๅทฅ็จ‹ๆญฃ็ปๅކไปŽโ€œๆ‰‹ๅ†™้€ป่พ‘โ€ๅ‘โ€œๆ„ๅ›พ่ฐƒๅบฆโ€็š„่Œƒๅผ่ฟๅพ™ใ€‚Anthropic ็š„็ ”็ฉถๆญ็คบไบ† AI ๅนถ้ž็ฎ€ๅ•็š„ๆๆ•ˆๅทฅๅ…ท๏ผŒ่€Œๆ˜ฏ้€š่ฟ‡้‡Šๆ”พ 27% ๆ›พ็ปโ€œไธๅˆ’็ฎ—โ€็š„ๅทฅ็จ‹ไปปๅŠก๏ผŒ้‡ๅก‘ไบ†่ฝฏไปถ่ดจ้‡็š„ๅฏ†ๅบฆใ€‚ๅœจ่‡ช็„ถ่ฏญ่จ€ๅณ็ผ–็จ‹่ฏญ่จ€็š„ๆ—ถไปฃ๏ผŒๆˆ‘ไปฌ้œ€่ฆ้€š่ฟ‡่ง„ๆ ผ้ฉฑๅŠจ๏ผˆSDD๏ผ‰ไธŽๅคšๆ™บ่ƒฝไฝ“็ผ–ๆŽ’๏ผŒ็ ด่งฃโ€œ็›‘็ฃๆ‚–่ฎบโ€ๅธฆๆฅ็š„ๆŠ€่ƒฝๅนณๅบธๅŒ–ๅฑๆœบ๏ผŒๅฐ† AI ็š„ๆฆ‚็އๆ€ง็”Ÿๆˆ้ฉฏๅŒ–ไธบ็กฎๅฎšๆ€ง็š„ๅทฅ็จ‹ไบคไป˜ใ€‚ๅฝ“็ผ–็ ๆˆๆœฌ่ถ‹ไบŽ้›ถ๏ผŒๅทฅ็จ‹ๅธˆ็š„็ปˆๆžๅฃๅž’ๅฐ†ๆ˜ฏๅฎšไน‰ๅฎŒ็พŽ็š„ๅ“ๅ‘ณ๏ผŒไปฅๅŠๅœจ AI ่ฟท้›พไธญ่ฏ†็ ดๅนณๅบธ็š„ๆดžๅฏŸๅŠ›ใ€‚\",\"permalink\":\"/fullstack/ai-change-work-workflow/\",\"top\":true,\"tags\":[\"ๅ…จๆ ˆ\",\"AI\"],\"categories\":[\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"date\":\"2025-12-06 22:05:50\",\"capture\":\"<script setup>\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\nๅœฐๅ€๏ผšHow AI is transforming work at Anthropic\\nๆ ธๅฟƒๆ ‡็ญพ๏ผš`AI่พ…ๅŠฉ็ผ–็จ‹` `ๅทฅ็จ‹` `่Œƒๅผ่ฝฌ็งป` `ๅทฅไฝœ่ฝฌๅž‹` `็”ŸไบงๅŠ›ๆๅ‡` `ๆŠ€่ƒฝๅ‘ๅฑ•` `ไบบๆœบๅไฝœ` \\nไธ€ๅฅ่ฏไป‹็ป๏ผšAnthropic ไธไป…ไป…ๆ˜ฏ AI ๅทฅๅ…ท็š„็”Ÿไบง่€…๏ผŒๆ›ดๆ˜ฏ็ฌฌไธ€ไธช่ฟ›ๅ…ฅโ€œๆœชๆฅๅฎž้ชŒๅฎคโ€็š„ๆทฑๅบฆ่ง‚ๅฏŸ่€…ใ€‚ไป–ไปฌ้€š่ฟ‡ๅ†…้ƒจๆ•ฐๆœˆ็š„ๅฎž้ชŒๆ•ฐๆฎๅ‘Š่ฏ‰ๆˆ‘ไปฌ๏ผšๅคงๆจกๅž‹ๅฏน่ฝฏไปถๅทฅ็จ‹็š„ๆ”น้€ ๏ผŒ็ป้ž็ฎ€ๅ•็š„โ€œๆๆ•ˆโ€๏ผŒ่€Œๆ˜ฏไธ€\"},{\"url\":\"/01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ\",\"frontmatter\":{\"date\":\"2025-11-25 00:52:28\",\"title\":\"AI ็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡ๆทฑๅบฆ่งฃๆžไบ† AI ้ฉฑๅŠจ็ผ–็จ‹็š„ไธ‰ๅคงๆผ”่ฟ›่Œƒๅผ๏ผšVibe Coding๏ผˆ่‡ช็„ถ่ฏญ่จ€้›ถ้—จๆง›ๆž„ๅปบ๏ผ‰ใ€AI IDE๏ผˆ็ผ–่พ‘ๅ™จๆทฑๅบฆ่พ…ๅŠฉๆๆ•ˆ๏ผ‰ๅŠ Agentic Engineering๏ผˆ่‡ชไธปๅทฅ็จ‹ๅธˆๆ‰ง่กŒไปปๅŠก๏ผ‰ใ€‚้€š่ฟ‡ๆจชๅ‘ๅฏนๆฏ” Bolt.newใ€Cursorใ€Claude Code ็ญ‰ๅ‰ๆฒฟๅทฅๅ…ท๏ผŒๆ–‡็ซ ๅ‹พๅ‹’ๅ‡บไธ€ๆกไปŽโ€œๅฟซ้€ŸๅŽŸๅž‹โ€ๅˆฐโ€œ้ซ˜ๆ•ˆๅๅŒโ€ๅ†ๅˆฐโ€œ่‡ชไธปไบคไป˜โ€็š„่ฟ›้˜ถ่ทฏๅพ„ใ€‚ๆ ธๅฟƒๆ—จๅœจๆŒ‡ๅฏผ็”จๆˆทๅˆฉ็”จ AI ๅทฅๅ…ท็Ÿฉ้˜ตๆ‰“็ ดๆŠ€ๆœฏ่พน็•Œ๏ผŒๅฎž็ŽฐไปŽๅˆ›ๆ„ๆ่ฟฐๅˆฐๅทฅไธš็บงไบคไป˜็š„็”ŸไบงๅŠ›้ฃž่ทƒ๏ผŒ้‡ๅก‘่ฝฏไปถๅผ€ๅ‘ๅ…จ็”Ÿๅ‘ฝๅ‘จๆœŸใ€‚\",\"permalink\":\"/ai-learning/ai-coding-resources\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/source_sites_bg.png\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"AI Coding\",\"Vibe Coding\",\"Agentic Engineering\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"AI ็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่\",\"date\":\"2025-11-25 00:52:28\",\"capture\":\"1. ไธ‰็ง็ผ–็จ‹่Œƒๅผ้€Ÿ่งˆ\\n| ่Œƒๅผ | ไธ€ๅฅ่ฏๆ่ฟฐ | ไฝ ็š„่ง’่‰ฒ |\\n|:-----|:---------|:--------|\\n| Vibe Coding | ็”จ่‡ช็„ถ่ฏญ่จ€ๆ่ฟฐ้œ€ๆฑ‚๏ผŒAI ็›ดๆŽฅ็”Ÿๆˆๅฏ่ฟ่กŒ็š„ๅฎŒๆ•ด้กน็›ฎ | ๆ่ฟฐ้œ€ๆฑ‚๏ผŒ่ฎฉ AI ๅ†™ไปฃ็ (```ๆ–ฐๆ‰‹ๅ‹ๅฅฝ```) |\\n| AI IDE | ๅœจ็ผ–่พ‘ๅ™จ้‡Œๅผ•ๅ…ฅ AI ่พ…ๅŠฉ๏ผŒ่พนๅ†™่พน่กฅๅ…จใ€่พน้—ฎ่พนๆ”น | ไธปๅฏผๅผ€ๅ‘๏ผŒ่ฎฉ AI ๅšๅ‰ฏ้ฉพ้ฉถ(```ๆ›ดๅคšๆŽงๅˆถ```) |\\n| Agentic Engineering | AI ไฝœไธบ\\\"่‡ชไธปๅทฅ็จ‹ๅธˆ\\\"๏ผŒๆŽฅๆ”ถไปปๅŠกๅŽ่‡ชๅŠจ่ง„ๅˆ’ๅนถๆ‰ง่กŒๅ…จๅฅ—ไปฃ็ ๅทฅไฝœๆต | ๆไปปๅŠกใ€ๅฎก็ป“ๆžœ๏ผŒ่ฎฉ AI ๆ‰ง่กŒ(```ๆž่‡ดๆๆ•ˆ```) |\\nๆ–ฐๆ‰‹่ทฏ็บฟๅปบ่ฎฎ๏ผšๅ…ˆ\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"frontmatter\":{\"date\":\"2025-11-25 00:52:28\",\"title\":\"ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไธบไพฟไบŽ้ซ˜ๆ•ˆๅˆฉ็”จ AI ๅทฅๅ…ทๆๅ‡ๅญฆไน ใ€ๆœ็ดขๅ’Œๅˆ›ไฝœๆ•ˆ็އ๏ผŒๆœฌๆ–‡็ณป็ปŸๆ•ด็†ไบ†ไธปๆต็š„ AI ๅŠฉๆ‰‹ไธŽๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐ็›ธๅ…ณ่ต„ๆบใ€‚ๅ†…ๅฎนๅˆ†ไธบโ€œAI ๅŠฉๆ‰‹โ€๏ผˆๅฆ‚ ChatGPTใ€Claudeใ€Gemini ็ญ‰ๅฏน่ฏๅผๅŠฉๆ‰‹๏ผ‰ๅ’Œโ€œๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐโ€๏ผˆๅฆ‚ๅ†™ไฝœใ€็ป˜็”ป็ญ‰้ข†ๅŸŸ็š„ AI ๅทฅๅ…ทไธŽๅนณๅฐ๏ผ‰๏ผŒไธ”ๆ ‡ๆณจไบ†ๅ…ถๆ ธๅฟƒ่ƒฝๅŠ›ใ€้€‚ๅˆๅœบๆ™ฏ๏ผŒไปฅๅŠ็‰น่‰ฒไผ˜ๅŠฟใ€‚\",\"permalink\":\"/ai-learning/tools-assistant\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/source_sites_bg.png\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"AI ๅŠฉๆ‰‹\",\"AI ๆœ็ดข\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"date\":\"2025-11-25 00:52:28\",\"capture\":\"1. AI ๅŠฉๆ‰‹\\n> ้€‰ๆ‹ฉๅปบ่ฎฎ๏ผš ่‹ฑๆ–‡ไธบไธป โ†’ ไผ˜ๅ…ˆ ChatGPT / Claude / Gemini๏ผ›ไธญๆ–‡ไธบไธป โ†’ ไผ˜ๅ…ˆ Kimi / DeepSeek / ้€šไน‰ๅƒ้—ฎ๏ผ›้œ€่ฆ่”็ฝ‘ๅฎžๆ—ถไฟกๆฏ โ†’ Gemini / Grok๏ผ›้œ€่ฆๅˆ†ๆž้•ฟๆ–‡ๆกฃ โ†’ Claude / Kimi๏ผ›่ฟฝๆฑ‚ไฝŽๆˆๆœฌๅผ€ๆบ้ƒจ็ฝฒ โ†’ DeepSeekใ€‚\\n>\\n> ๆณจ๏ผš็›ฎๅ‰ๅ›ฝๅค–ๆจกๅž‹๏ผˆๅฆ‚ ChatGPTใ€Claudeใ€Gemini ็ญ‰๏ผ‰ๅœจ่‹ฑๆ–‡ๅค„็†ใ€ๅคšๆจกๆ€่ƒฝๅŠ›ใ€ๆ’ไปถ็”Ÿๆ€ๅ’Œ API ไธฐๅฏŒๆ€ง็ญ‰ๆ–น้ข๏ผŒๆ•ดไฝ“ไธŠไพ็„ถไผ˜ไบŽๅ›ฝๅ†…ๆจกๅž‹๏ผŒ้€‚ๅˆๅฏน่‹ฑๆ–‡ๅˆ›ไฝœใ€ๅคš่ฏญ่จ€ๆฒŸ้€šใ€ๅคๆ‚ๆŽจ็†ใ€ไปฃ็ ๅŠฉๆ‰‹็ญ‰ๅœบๆ™ฏๆœ‰ๆ›ด้ซ˜่ฆๆฑ‚็š„็”จๆˆทใ€‚ไธ่ฟ‡๏ผŒๅ›ฝๅ†…ๆจกๅž‹ๅœจไธญๆ–‡็†่งฃใ€ๆœฌๅœฐๅŒ–ใ€ๅˆ่ง„\"},{\"url\":\"/10.ไบงๅ“ Sense/04.ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–/30.ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹่ฏปๅŽๆ„Ÿ\",\"relativePath\":\"/10.ไบงๅ“ Sense/04.ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–/30.ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹่ฏปๅŽๆ„Ÿ\",\"frontmatter\":{\"date\":\"2025-11-24 21:50:00\",\"title\":\"ๆ”พๅผƒๅขž้•ฟๆ‰งๅฟต๏ผŒไธบไป€ไนˆโ€œๅฐ่€Œ็พŽโ€ๆ‰ๆ˜ฏๅฏๆŒ็ปญไน‹่ทฏ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒ็ง‘ๆŠ€ไบ’่”็ฝ‘่กŒไธš็š„ๅ™ไบ‹้ƒฝ่ขซโ€œไธๆƒœไธ€ๅˆ‡ไปฃไปทๅฎž็Žฐ่ถ…็บฟๆ€งๅขž้•ฟโ€ๆ‰€ไธปๅฏผใ€‚ไปฟไฝ›ๅชๆœ‰ๆ‹ฟๅˆฐๅทจ้ข่ž่ต„ใ€็–ฏ็‹‚ๆ‹›ไบบใ€ๆˆไธบไผฐๅ€ผ็ ด็™พไบฟ็š„ๅบž็„ถๅคง็‰ฉ๏ผŒๆ‰็ฎ—ๅพ—ไธŠๆ˜ฏๆˆๅŠŸ็š„ๅˆ›ไธšใ€‚็„ถ่€Œ๏ผŒ่ฏปๅฎŒ่จๅธŒๅฐ”ยทๆ‹‰ๆ–‡ๅ‰ไบš็š„ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹ๅŽ๏ผŒ็ฌ”่€…่Žทๅพ—ไบ†ไธ€็งๆˆช็„ถไธๅŒ็š„ๅ•†ไธš่ง†่ง’๏ผšไผไธšๅญ˜ๅœจ็š„้ฆ–่ฆ็›ฎ็š„ไธๆ˜ฏไธบไบ†่ž่ต„ๅ’Œๆ‰ฉๅผ ๏ผŒ่€Œๆ˜ฏไธบไบ†้€š่ฟ‡่งฃๅ†ณ้—ฎ้ข˜ๆฅ่Žทๅพ—ๆŒ็ปญ็š„็›ˆๅˆฉใ€‚ ๆœฌๆ–‡็ป“ๅˆไนฆไธญ็š„ๆ ธๅฟƒ่ฎบ็‚นไธŽ่‡ช่บซ็š„็ ”ๅ‘่ง†่ง’๏ผŒๆŠŠๅฐ†่ฟ™ๆœฌไนฆ่ƒŒๅŽ็š„็ป่ฅ้€ป่พ‘ไธŽไบงๅ“ๅ“ฒๅญฆๆขณ็†ไธบๅ‡ ไธชๆ ธๅฟƒๅฑ‚้ข็š„ๆ€่€ƒใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense/small-rule-learn\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"ไบงๅ“ Sense\",\"ๅ•†ไธšๅŒ–\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆ”พๅผƒๅขž้•ฟๆ‰งๅฟต๏ผŒไธบไป€ไนˆโ€œๅฐ่€Œ็พŽโ€ๆ‰ๆ˜ฏๅฏๆŒ็ปญไน‹่ทฏ\",\"date\":\"2025-11-24 21:50:00\",\"capture\":\"ไนฆๅ๏ผšใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹\\nไฝœ่€…๏ผš[็พŽ] ่จๅธŒๅฐ”ยทๆ‹‰ๆ–‡ๅ‰ไบš\\nๆ ธๅฟƒๆ ‡็ญพ๏ผšๆž็ฎ€ๅˆ›ไธš๏ฝœ็คพๅŒบๆœฌไฝ๏ฝœๆŒ็ปญ็›ˆๅˆฉ๏ฝœๅˆ›ไฝœ่€…็ปๆตŽ\\nไธ€ๅฅ่ฏ็ฎ€่ฏ„๏ผšๅœจ็›ฒ็›ฎๅด‡ๆ‹œ่ง„ๆจกๆ‰ฉๅผ ็š„ๅ•†ไธš่ฏญๅขƒไธ‹๏ผŒ่ฟ™ๆ˜ฏไธ€ไปฝๅ†™็ป™็‹ฌ็ซ‹ๅˆ›ไฝœ่€…ไธŽๅผ€ๅ‘่€…็š„ๆธ…้†’ๆŒ‡ๅ—๏ผŒๆ•™ไผšๆˆ‘ไปฌๅฆ‚ไฝ•็”จๆœ€ๅฐ‘็š„่ต„ๆบ๏ผŒ่งฃๅ†ณ็œŸๅฎž็š„็—›็‚น๏ผŒๅนถ่Žทๅพ—้•ฟไน…็š„่‡ช็”ฑใ€‚\\nๆ›ดๅคšไนฆ็ฑๆŽจ่ไฟกๆฏๅฏๅ‚่€ƒ๏ผšไบงๅ“ Sense ไธŽๅ•†ไธšๅŒ–\\n 1. ็คพๅŒบๅ…ˆ่กŒ๏ผšไปŽโ€œๆˆ‘ๆ˜ฏ่ฐโ€ๅˆฐโ€œๆˆ‘่ƒฝไธบ่ฐ่งฃๅ†ณ้—ฎ้ข˜โ€\\nไผ ็ปŸๅ•†ไธš้€ป่พ‘ๅพ€ๅพ€ๆ˜ฏๅ…ˆๆž„ๆ€ไธ€ไธชๅฎๅคง็š„็‚นๅญ๏ผŒ้—ญ้—จ้€ ่ฝฆๆ‰“็ฃจไบงๅ“๏ผŒๆœ€ๅŽๅ†็ ธ้’ฑๅŽปๅธ‚ๅœบไธŠๅฏปๆ‰พ็›ฎๆ ‡็”จๆˆทใ€‚่€Œๆœฌไนฆๆๅ‡บไบ†ไธ€ไธช้ข ่ฆ†ๆ€ง็š„ๅๅ‘่ทฏๅพ„๏ผš็คพๅŒบ $\\\\rightarrow$ ้—ฎ้ข˜ $\\\\rightarrow$ ๆต็จ‹ $\\\\rightarrow$\"},{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/11.React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/11.React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"frontmatter\":{\"date\":\"2025-11-15 09:20:23\",\"title\":\"ไธๆญขไบŽ Fetch๏ผšReact ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"aliases\":[\"SWR\",\"TanStack Query\",\"React\",\"ๆœๅŠก็ซฏ็Šถๆ€\",\"ไน่ง‚ๆ›ดๆ–ฐ\",\"ๅทฅ็จ‹ๅŒ–\"],\"tldr\":\"ๆทฑๅ…ฅ่งฃๆž SWR ็š„ๆž็ฎ€ๅ่ฎฎไธŽ TanStack Query ็š„็ฒพๅฏ†็Šถๆ€ๆœบใ€‚้€š่ฟ‡ๅฏนๆฏ”็ผ“ๅญ˜ๅคฑๆ•ˆใ€ไน่ง‚ๆ›ดๆ–ฐ็ญ‰ๆ ธๅฟƒๅœบๆ™ฏ๏ผŒไธบ้ซ˜ๅคๆ‚ๅบฆ B ็ซฏๅบ”็”จไธŽ่ฝป้‡็บง้กน็›ฎๆไพ›ๆธ…ๆ™ฐ็š„ๆžถๆž„้€‰ๅž‹ๆจกๅž‹ใ€‚\",\"description\":\"ๆทฑๅบฆๅฏนๆฏ” React ็”Ÿๆ€ไธญ SWR ไธŽ TanStack Query ไธคๅคงๆ–นๆกˆใ€‚ไปŽ stale-while-revalidate ๆœบๅˆถๅˆฐๅผ‚ๆญฅ็Šถๆ€ๆœบๆžถๆž„๏ผŒๆถต็›–ไพ่ต–ๆŸฅ่ฏขใ€ๆ•ฐๆฎ่ฝฌๆขๅŠๆžถๆž„็บงไน่ง‚ๆ›ดๆ–ฐๅฎžๆˆ˜ใ€‚ๆ—จๅœจๅธฎๅŠฉๅผ€ๅ‘่€…ๅœจๅคๆ‚ไธšๅŠกไธญๆž„ๅปบ็กฎๅฎšๆ€ง็š„ๆœๅŠก็ซฏ็Šถๆ€ๅŸบๅบงใ€‚\",\"permalink\":\"/fullstack/server-state-management\",\"tags\":[\"SWR\",\"TanStack Query\",\"ๅ‰็ซฏๅทฅ็จ‹\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไธๆญขไบŽ Fetch๏ผšReact ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"date\":\"2025-11-15 09:20:23\",\"capture\":\"1. ๅผ•่จ€\\nๅœจ็Žฐไปฃๅ‰็ซฏๅทฅ็จ‹ไธญ๏ผŒ็Šถๆ€ๅฏไธฅๆ ผๅŒบๅˆ†ไธบ UI ็Šถๆ€๏ผˆUI State๏ผ‰ ไธŽ ๆœๅŠก็ซฏ็Šถๆ€๏ผˆServer State๏ผ‰ ไธค็ฑปใ€‚ๅฏนไบŽ UI ็Šถๆ€็š„็ฎก็†๏ผŒๅผ€ๅ‘่€…ๅทฒ่พƒไธบ็†Ÿๆ‚‰๏ผŒ้€šๅธธๅฏๅ€ŸๅŠฉ `useState`ใ€`useEffect` ็ญ‰ Hooks๏ผŒๆˆ– `zustand`ใ€`jotai` ็ญ‰็Šถๆ€็ฎก็†ๅบ“ๆฅๅฎž็Žฐใ€‚็„ถ่€Œ๏ผŒๆœๅŠก็ซฏ็Šถๆ€็š„็ฎก็†ๅพ€ๅพ€็ผบไน็ปŸไธ€ไธ”้ซ˜ๆ•ˆ็š„่งฃๅ†ณๆ–นๆกˆ๏ผŒๅผ€ๅ‘่€…้€šๅธธ้œ€่ฆ่‡ช่กŒๅฎž็Žฐใ€‚\\nๅœจไผ ็ปŸ็š„ๆ•ฐๆฎ่Žทๅ–ๆต็จ‹ไธญ๏ผŒๆˆ‘ไปฌไธ€่ˆฌไฝฟ็”จ `fetch` ๆˆ– `axios` ๅ‘ๅŽ็ซฏๆˆ– REST API ๅ‘้€ HTTP ่ฏทๆฑ‚๏ผŒ้šๅŽๆ‰‹ๅŠจๅฐ†ๆ•ฐๆฎ่Žทๅ–้€ป่พ‘ไธŽๅ‰็ซฏไธšๅŠก้€ป่พ‘ๅŠ UI ็Šถๆ€็ฎก็†่ฟ›่กŒๆ•ดๅˆ๏ผŒไปฅๅฎŒๆˆๆ•ฐๆฎๅค„็†ๅนถ้ฉฑๅŠจ็•Œ้ขๆ›ดๆ–ฐ\"},{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2025-11-14 22:33:39\",\"title\":\"JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"aliases\":[\"้™ๆ€็ซ™็‚น็”Ÿๆˆๅ™จ\",\"SSG\"],\"tldr\":\"้ข„ๆธฒๆŸ“้™ๆ€้กต้ข + ๅŠจๆ€ API๏ผŒCDN ๅˆ†ๅ‘ๅ…จ็ƒ๏ผŒๆ›ฟไปฃไผ ็ปŸๅŠจๆ€็ฝ‘็ซ™็š„ๅผ€ๅ‘้ƒจ็ฝฒ่Œƒๅผ\",\"description\":\"ไปŽๆ ธๅฟƒๆฆ‚ๅฟตใ€ๅทฅๅ…ท้“พ้€‰ๅž‹๏ผˆNext.js/Vercel/Supabase/Contentful๏ผ‰ๅˆฐไปŽ 0 ๆญๅปบๅšๅฎข็š„ๅฎŒๆ•ดๅฎž่ทต๏ผŒ่ฆ†็›– JAMStack ้€‚็”จไธŽไธ้€‚็”จๅœบๆ™ฏ๏ผŒๅธฎๅŠฉๅˆคๆ–ญไฝ•ๆ—ถ้€‰็”จ่ฏฅๆžถๆž„ใ€‚\",\"permalink\":\"/fullstack/jamstack\",\"tags\":[\"tutorial\",\"jamstack\",\"frontend-architecture\",\"next.js\",\"static-site-generator\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2025-11-14 22:33:39\",\"capture\":\"> \\n> ๅ…ถๆ ธๅฟƒๆœบๅˆถๆ˜ฏๅœจๆž„ๅปบๆ—ถๅฐ†้กต้ข้ข„ๆธฒๆŸ“ไธบ้™ๆ€ HTML/CSS/JS๏ผŒ้ƒจ็ฝฒ่‡ณ CDN ไพ›็”จๆˆทๅฐฑ่ฟ‘ๅŠ ่ฝฝ๏ผŒไป…ๅœจ้œ€่ฆๅŠจๆ€ๆ•ฐๆฎๆ—ถ้€š่ฟ‡ JavaScript ่ฐƒ็”จ API ่Žทๅ–ใ€‚็›ธ่พƒไบŽไผ ็ปŸๅŠจๆ€็ฝ‘็ซ™๏ผŒJAMStack ๅœจๆ€ง่ƒฝใ€ๅฏ้ ๆ€งใ€ๆ‰ฉๅฑ•ๆ€งใ€ๅฎ‰ๅ…จๆ€งๅŠ่ฟ็ปดๆˆๆœฌไธŠๅ…ทๆœ‰ๆ˜พ่‘—ไผ˜ๅŠฟใ€‚\\n> \\n> ๆœฌๆ–‡ๆขณ็†ไบ†ไธปๆตๆž„ๅปบๅทฅๅ…ท๏ผˆGatsbyใ€Next.jsใ€Nuxt.jsใ€11ty๏ผ‰ใ€้™ๆ€ๆ‰˜็ฎกๅนณๅฐ๏ผˆVercelใ€Netlifyใ€Cloudflare Pages๏ผ‰ใ€API/BaaS ๆœๅŠก๏ผˆSupabaseใ€Firebaseใ€Auth0๏ผ‰ๅŠๆ— ๅคด CMS๏ผˆContentfulใ€Sanityใ€Strapi\"},{\"url\":\"/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/40.ๆดžๅฏŸๅŠ›ๆจกๅž‹\",\"relativePath\":\"/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/40.ๆดžๅฏŸๅŠ›ๆจกๅž‹\",\"frontmatter\":{\"date\":\"2025-11-14 16:00:00\",\"title\":\"ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผšๅฆ‚ไฝ•็œ‹้€ไบงๅ“ไธŽๆŠ€ๆœฏ่ƒŒๅŽ็š„็ณป็ปŸ้€ป่พ‘๏ผŸ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆ— ่ฎบๆ˜ฏๅšไบงๅ“ใ€ๆžๆŠ€ๆœฏ๏ผŒ่ฟ˜ๆ˜ฏๅบ”ๅฏนๆ—ฅๅธธๅทฅไฝœไธญ็š„ๅ„็งๆŒ‘ๆˆ˜๏ผŒไฝ ๆ˜ฏๅฆ้‡ๅˆฐ่ฟ‡่ฟ™ๆ ท็š„ๅ›ฐๅขƒ๏ผšๆ˜Žๆ˜ŽๆŒ‰็ป้ชŒ่กŒไบ‹๏ผŒๅดๅฑกๅฑก่ธฉๅ‘๏ผ›ๅˆš่งฃๅ†ณ่กจ้ข้—ฎ้ข˜๏ผŒ้šๆ‚ฃๅˆๅทๅœŸ้‡ๆฅใ€‚้—ฎ้ข˜ๆœชๅฟ…ๅ‡บๅœจๅŠชๅŠ›็จ‹ๅบฆ๏ผŒ่€ŒๅœจไบŽๆˆ‘ไปฌๅช็›ฏ็€่กจ่ฑก๏ผŒๅดๅฟฝ็•ฅไบ†่ƒŒๅŽ็œŸๆญฃ่ตทไฝœ็”จ็š„็ณป็ปŸ๏ผŒๆฒกๆœ‰็œ‹ๆ‡‚่—ๅœจ่ƒŒๅŽ็š„็ณป็ปŸใ€‚ไธบไป€ไนˆๅŒๆ ทๆ˜ฏ่งฃๅ†ณ้—ฎ้ข˜๏ผŒๆœ‰ไบบๅช่ƒฝโ€œๅคด็—›ๅŒปๅคดโ€๏ผŒๆœ‰ไบบๅด่ƒฝ็›ดๅ‡ปๆœฌ่ดจ๏ผŸ่ฟ™็ฏ‡ๆ–‡็ซ ๅฐ†็”จ้€šไฟ—ๆ˜“ๆ‡‚็š„ๆ–นๅผ๏ผŒๅธฆไฝ ๆ‹†่งฃไธ€ๅฅ—ๅฎž็”จ็š„ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผŒ่ฎฉๆˆ‘ไปฌๅญฆไผš้€่ฟ‡็Žฐ่ฑกๆŠ“ไฝๆœฌ่ดจ๏ผŒไปŽๆ นๆบไธŠ่งฃๅ†ณ้—ฎ้ข˜ใ€‚\",\"permalink\":\"/product-sense/insight-model\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"ไบงๅ“ Sense\",\"็ณป็ปŸๆดžๅฏŸๅŠ›\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผšๅฆ‚ไฝ•็œ‹้€ไบงๅ“ไธŽๆŠ€ๆœฏ่ƒŒๅŽ็š„็ณป็ปŸ้€ป่พ‘๏ผŸ\",\"date\":\"2025-11-14 16:00:00\",\"capture\":\"1. ่กจ่ฑก่ƒŒๅŽ่—็€ๅ†ณๅฎšไธ€ๅˆ‡็š„โ€œ็ณป็ปŸ้ป‘็›’โ€\\nๆˆ‘ไปฌๅœจๆ—ฅๅธธๅผ€ๅ‘ๆˆ–ไบงๅ“่ฎพ่ฎกไธญ๏ผŒๆ€ปๆ˜ฏ่ขซๅ„็งโ€œ่กจ่ฑกโ€ๅŒ…ๅ›ด๏ผšDAU ็ช็„ถไธ‹้™ไบ†ใ€็บฟไธŠๅ‡บ็Žฐไบ†ไธ€ไธชๅถ็Žฐ็š„ Bugใ€ๆŸไธชๅŠŸ่ƒฝ็š„่ฝฌๅŒ–็އไธๅŠ้ข„ๆœŸใ€‚ๆˆ‘ไปฌไน ๆƒฏไบ†็›ฏ็€่ฟ™ไบ›็œ‹ๅพ—่ง็š„็ป“ๆžœๆ‰พๅŽŸๅ› ๏ผŒๅดๅฟฝ็•ฅไบ†ไธ€ไธชๆ ธๅฟƒ็œŸ็›ธ๏ผšๆฏไธ€ไธช่กจ่ฑก่ƒŒๅŽ๏ผŒๅ…ถๅฎž้ƒฝ้š่—็€ไธ€ไธช่ฟ่ฝฌๅคๆ‚็š„โ€œ้ป‘็›’ๅญโ€๏ผŒๆญฃๆ˜ฏ่ฟ™ไธช้ป‘็›’ๅญๅ†ณๅฎšไบ†ไบ‹็‰ฉๅ‘ๅฑ•็š„ๅฎข่ง‚่ง„ๅพ‹ใ€‚ๆˆ‘ไปฌๅฏไปฅๆŠŠ่ฟ™ไธช้ป‘็›’ๅญ๏ผŒๅซๅšโ€œ็ณป็ปŸโ€ใ€‚\\n<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/product/system_tips.png\\\" style=\\\"width: 1\"},{\"url\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/21.ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"relativePath\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/21.ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"frontmatter\":{\"date\":\"2025-11-10 12:52:28\",\"title\":\"ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจไฟกๆฏ้ซ˜ๅบฆ้€ๆ˜Ž็š„ๆ—ถไปฃ๏ผŒๆต…ๅฑ‚ไฟกๆฏๅทฎๅทฒ่ขซๅฝปๅบ•ๆŠนๅนณ๏ผŒไฟกๆฏๆœฌ่บซ็š„ไปทๅ€ผไธๆ–ญ็จ€้‡Šใ€‚ไบบไธŽไบบ็š„ๆ ธๅฟƒๅทฎ่ทไธๅ†ๆ˜ฏ่Žทๅ–ไฟกๆฏ็š„ๆธ ้“๏ผŒ่€Œๆ˜ฏ้ซ˜ไฟกๅ™ชๆฏ”ไฟกๆฏ็š„็”„ๅˆซ่ƒฝๅŠ›ใ€ๆทฑๅบฆๆ€่€ƒ่ƒฝๅŠ›ไธŽ่ฝๅœฐๆ‰ง่กŒๅŠ›๏ผŒๅ”ฏๆœ‰ไปฅๆ€่€ƒๆ ก้ชŒไฟกๆฏใ€ไปฅๆ‰ง่กŒ้ชŒ่ฏไปทๅ€ผ๏ผŒๅฝขๆˆโ€œไฟกๆฏ-ๅˆคๆ–ญ-ๅฎž่ทต-ๅ้ฆˆโ€็š„ๆ€่€ƒไธŽๆ‰ง่กŒ้—ญ็Žฏ๏ผŒๆ‰่ƒฝ็ช็ ดไฟกๆฏๅฃๅž’ใ€ๅˆ›้€ ็œŸๆญฃไปทๅ€ผใ€‚\",\"permalink\":\"/growth/distinguish-useful-information\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"ไฟกๆฏ็ญ›้€‰\",\"ไธชไบบๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"date\":\"2025-11-10 12:52:28\",\"capture\":\"ๅœจไบ’่”็ฝ‘ๆŠ€ๆœฏๆ™ฎๅŠ็š„ๅฝ“ไธ‹๏ผŒไฟกๆฏๅทฒไปŽโ€œ็จ€็ผบ่ต„ๆบโ€่ฝฌๅ˜ไธบโ€œๆณ›ๆปฅ่ต„ๆบโ€ใ€‚่ฟ‡ๅŽปไพ่ต–ๅœฐๅŸŸๅทฎใ€็จ€็ผบๆ€ง็š„ๆต…่กจๅฑ‚ไฟกๆฏๅทฎ้€ๆธ่ขซๆŠนๅนณ๏ผŒๅผ€ๅ‘่€…้€š่ฟ‡็ฝ‘็ปœๅฏ่ฝปๆพ่Žทๅ–ๅ„็ฑปๆŠ€ๆœฏๆ–‡ๆกฃใ€่กŒไธšๅŠจๆ€ใ€่ตš้’ฑๆจกๅผ๏ผŒไฝ†็œŸๆญฃ่ƒฝๅฐ†ไฟกๆฏ่ฝฌๅŒ–ไธบไปทๅ€ผ็š„ไปๆ˜ฏๅฐ‘ๆ•ฐไบบใ€‚ๆ ธๅฟƒ็Ÿ›็›พๅทฒไปŽโ€œ่Žทๅ–ไฟกๆฏโ€่ฝฌๅ˜ไธบโ€œ้ฉพ้ฉญไฟกๆฏโ€โ€”โ€”ไฟกๆฏๆœฌ่บซ็š„ไปทๅ€ผๅผฑๅŒ–๏ผŒ่€Œไฟกๆฏ่งฃ่ฏป่ƒฝๅŠ›ใ€่กŒๅŠจๆ‰ง่กŒๅŠ›ใ€็ญ›้€‰็”„ๅˆซๅŠ›ๆˆไธบๆ‹‰ๅผ€ๅทฎ่ท็š„ๅ…ณ้”ฎใ€‚\\n 1. ๆ‰“็ ดโ€œไฟกๆฏๅทฎโ€็š„็ณป็ปŸๆ€ง้”™่ง‰\\n่ฟ‡ๅŽป๏ผŒ็”ฑไบŽๅœฐๅŸŸ้™ๅˆถๅ’Œไผ ๆ’ญไป‹่ดจ็š„็จ€็ผบ๏ผŒ่ตš้’ฑๆˆ–ๆˆๅŠŸ็š„ๆจกๅผๅพ€ๅพ€ๆ˜ฏ็ฒ—ๆ”พ็š„๏ผŒๅปบ็ซ‹ๅœจๆต…่กจๅฑ‚็š„โ€œไฟกๆฏไธๅฏน็งฐโ€ไธŠ๏ผŒไฝ†้š็€ๆŠ€ๆœฏ็š„ๆผ”่ฟ›๏ผŒ่ฟ™็งไฝŽ็ปดๅบฆ็š„ไฟกๆฏๅทฎๆญฃๅœจ่ขซ่ฟ…้€ŸๆŠนๅนณใ€‚ไบบไปฌ็ปๅธธ้™ทๅ…ฅโ€œ่ตšไธๅˆฐ้’ฑ/ๆŠ“ไธไฝๆœบไผšๆ˜ฏๅ› ไธบ็ผบๅฐ‘ไฟกๆฏๅทฎโ€็š„่ฎค็Ÿฅๅๅทฎ๏ผŒไฝ†ๆœฌ่ดจ้—ฎ้ข˜ๅœจไบŽโ€œ\"},{\"url\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"relativePath\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"frontmatter\":{\"date\":\"2025-10-24 11:05:50\",\"title\":\"ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจ AI ้‡ๅก‘่ฝฏไปถๅทฅ็จ‹็š„ไปŠๅคฉ๏ผŒๅ…จๆ ˆไธๅ†ๆ˜ฏๆŠ€ๆœฏ็š„็บฟๆ€งๅ ๅŠ ๏ผŒๆญฃๅœจไปŽโ€œๆŠ€ๆœฏๆ ˆๅ †็ Œโ€่ฝฌๅ‘โ€œ่ฎค็Ÿฅๆ ˆ้‡ๆž„โ€ใ€‚ๆœฌๆ–‡ๆๅ‡บ โ€œ(ๅทฅ็จ‹ + ไบงๅ“) ร— AIโ€ ็š„ๆ–ฐๅ…ฌๅผ๏ผŒๅŠฉๅŠ›ๅผ€ๅ‘่€…ๆž„ๅปบโ€œๆดžๅฏŸ-ๆžถๆž„-ๆ ๆ†โ€่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”๏ผŒๅˆฉ็”จ AI ๆ ๆ†่ฎฉ่‡ชๅทฑ่ฟ›ๅŒ–ไธบไปทๅ€ผๅˆ›้€ ่€…ใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"permalink\":\"/fullstack/ai-native\",\"sticky\":1,\"top\":true,\"tags\":[\"ๅ…จๆ ˆ\",\"AI\",\"ไบงๅ“\"],\"categories\":[\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"date\":\"2025-10-24 11:05:50\",\"capture\":\"<script setup>\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n 1. ๅผ•่จ€\\nๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒๅฝ“ๆˆ‘ไปฌ่ฐˆ่ฎบโ€œๅ…จๆ ˆๅทฅ็จ‹ๅธˆโ€ๆ—ถ๏ผŒ่„‘ๆตทไธญๆตฎ็Žฐ็š„ๅพ€ๅพ€ๆ˜ฏไธ€ๅผ ๅ†—้•ฟไธ”ไปคไบบ็–ฒๆƒซ็š„ๆŠ€ๆœฏๅทฅๅบๆธ…ๅ•ใ€‚\\nๅฐฑๅƒๆˆ‘ๆ›พ็ปไปฅไธบ็š„้‚ฃๆ ท๏ผŒๅ…จๆ ˆๅฐฑๆ˜ฏ็บฟๆ€ง็š„ๆŠ€่ƒฝๅ ๅŠ ไธŽ็‰ฉ็†ๅผ็š„ๆŠ€ๆœฏๆ‹ผๆŽฅ๏ผŒๆ˜ฏไธ€็งไพ้ ไบบๅŠ›ๅŽปๅกซ่กฅๆŠ€ๆœฏ้ธฟๆฒŸ็š„โ€œ่ฅฟ่ฅฟๅผ—ๆ–ฏๅผโ€ๅŠชๅŠ›๏ผš\\n* ็บฟๆ€ง็š„ๆŠ€่ƒฝๅ ๅŠ ๏ผšๆˆ‘ไปฌ่ขซ่ฟซๆˆไธบโ€œๅ…จ่ƒฝๆ‰‹โ€๏ผŒๅทฆๆ‰‹็”จ React/Vue ๆž„ๅปบ็ฒพ็พŽ็š„ UI๏ผŒๅณๆ‰‹็”จ Node/Go ็ผ–ๅ†™้ซ˜ๅนถๅ‘ API๏ผŒไธญ้—ด่ฟ˜่ฆๅค„็†ๆ•ฐๆฎๅบ“็š„ ACI\"},{\"url\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/21.ๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense\",\"relativePath\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/21.ๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense\",\"frontmatter\":{\"date\":\"2025-10-23 16:05:50\",\"title\":\"ๅฝ“โ€œๅฎž็Žฐโ€ไธๅ†ๆ˜ฏๅฃๅž’๏ผšๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense๏ผŸ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ AI ่ฎฉไปฃ็ ็”Ÿๆˆ็š„่พน้™…ๆˆๆœฌ่ถ‹่ฟ‘ไบŽ้›ถ๏ผŒโ€œๆŠ€ๆœฏๅฎž็Žฐโ€ไธๅ†ๆ˜ฏไธๅฏ้€พ่ถŠ็š„ๅฃๅž’๏ผŒโ€œไบงๅ“ๆดžๅฏŸโ€่ƒฝๆž„็ญ‘่ตทๆ–ฐ็š„ๆ ธๅฟƒๆŠคๅŸŽๆฒณใ€‚ๆœฌๆ–‡ๆ‹’็ป็Ž„ๅญฆ๏ผŒๅฐ†ๆŠฝ่ฑก็š„ ไบงๅ“ Sense ่งฃๆž„ไธบไธ‰ไธชๆ ธๅฟƒๆ•ฐๅญฆๅ…ฌๅผ๏ผŒๅนถๆไพ›ไธ€ๅฅ—ๅŸบไบŽโ€œ้€†ๅ‘ๅทฅ็จ‹โ€็š„ๅˆปๆ„็ปƒไน ๆŒ‡ๅ—๏ผŒๅŠฉๅŠ›ๅผ€ๅ‘่€…ๅœจ็ฎ—ๅŠ›่ฟ‡ๅ‰ฉ็š„ๆ—ถไปฃ๏ผŒๅฎŒๆˆไปŽโ€œไปฃ็ ๅทฅๅŒ โ€ๅˆฐโ€œไปทๅ€ผๅˆ›้€ ่€…โ€็š„่ฎค็Ÿฅ่ทƒ่ฟใ€‚\",\"sticky\":1,\"top\":true,\"categories\":[\"ไบงๅ“ Sense\",\"AI\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense/engineer-build-product-sense\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฝ“โ€œๅฎž็Žฐโ€ไธๅ†ๆ˜ฏๅฃๅž’๏ผšๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense๏ผŸ\",\"date\":\"2025-10-23 16:05:50\",\"capture\":\"1. ๅผ•่จ€\\nๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒไบงๅ“ Sense๏ผˆไบงๅ“ๆ„Ÿ๏ผ‰ ่ขซ่ง†ไธบไธ€็ง็Ž„ๅญฆใ€‚ๅฎƒไผผไนŽๆ˜ฏไน”ๅธƒๆ–ฏๅผ็š„็ตๅ…‰ไธ€็Žฐ๏ผŒๆˆ–ๆ˜ฏๅผ ๅฐ้พ™ๅผ็š„โ€œ็‹ฌๆ–ญไธ“่กŒโ€ใ€‚\\nไฝ†ๅฏนไบŽๅคงๅคšๆ•ฐๅทฅ็จ‹ๅธˆใ€ไบงๅ“็ป็†ไนƒ่‡ณ็‹ฌ็ซ‹ๅผ€ๅ‘่€…่€Œ่จ€๏ผŒๅฐ†่ƒฝๅŠ›ๅฏ„ๆ‰˜ไบŽโ€œๅคฉ่ต‹โ€ๆ˜ฏๅฑ้™ฉ็š„ใ€‚ๆˆ‘่ฎคไธบ๏ผŒไบงๅ“ Sense ๅนถ้žไธๅฏๆ‰ๆ‘ธ็š„้ป‘้ญ”ๆณ•๏ผŒ่€Œๆ˜ฏไธ€ๅฅ—็ป่ฟ‡้ซ˜้ข‘่ฎญ็ปƒๅŽๅ†…ๅŒ–ไธบๆœฌ่ƒฝ็š„ๆ€็ปด็ฎ—ๆณ•ใ€‚ ๅฐฑๅƒ่ต„ๆทฑ็จ‹ๅบๅ‘˜็œ‹ๅˆฐไธ€ๆฎตไปฃ็ ๅฐฑ่ƒฝๅ—…ๅ‡บ \\\"Code Smell\\\"๏ผˆไปฃ็ ๅผ‚ๅ‘ณ๏ผ‰๏ผŒ่ต„ๆทฑไบงๅ“ไบบไนŸ่ƒฝๅœจ็žฌ้—ดๅˆคๆ–ญไธ€ไธช้œ€ๆฑ‚ๆ˜ฏโ€œ็œŸ็—›็‚นโ€่ฟ˜ๆ˜ฏโ€œไผช้œ€ๆฑ‚โ€ใ€‚\\nไธ€ไธชๆˆๅŠŸ็š„ไบงๅ“ๅ†ณ็ญ–๏ผŒๅพ€ๅพ€ๅ‘็”Ÿๅœจไธ‰ไธช็ปดๅบฆ็š„ไบคๆฑ‡็‚น๏ผš\\n* ็”จๆˆทไปทๅ€ผๆดžๅฏŸ๏ผˆUser Value Insight๏ผ‰๏ผšไธไป…ๅฌๆ‡‚็”จๆˆท่ฏดโ€œๆƒณ่ฆๆ›ดๅฟซ็š„้ฉฌโ€๏ผŒๆ›ด่ƒฝๆดžๅฏŸไป–ๅ…ถๅฎžโ€œๆƒณๆ›ด\"},{\"url\":\"/40.ๅ…ณไบŽ/01.ๅ…ณไบŽๆˆ‘\",\"relativePath\":\"/40.ๅ…ณไบŽ/01.ๅ…ณไบŽๆˆ‘\",\"frontmatter\":{\"date\":\"2025-08-29 09:40:53\",\"title\":\"ๅ…ณไบŽๆˆ‘\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไปŽ Tech Stack ๅˆฐ Insight Stack๏ผŒๅฝ“ AI ๆŽฅ็ฎกไบ†ๅฎž็Žฐ๏ผŒๆˆ‘ๆ›ดๅ…ณๆณจๆžถๆž„็š„ๆƒ่กกไธŽไบงๅ“็š„ไปทๅ€ผ๏ผŒไธ“ๆณจ๏ผšๅทฅ็จ‹ๅŒ– Spec ไธŽ AI ็ผ–็จ‹็ฃจๅˆ็š„ๅฎž่ทต | Agent ่ฝๅœฐ | ็‹ฌ็ซ‹ไบงๅ“ใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/about_me_chinese.png\",\"permalink\":\"/about/me\",\"categories\":[\"ๅ…ณไบŽ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ…ณไบŽๆˆ‘\",\"date\":\"2025-08-29 09:40:53\",\"capture\":\"ๆˆ‘ๆ˜ฏ่ฐ\\nๆˆ‘ๆ˜ฏไธ€ๅๆ‹ฅๆœ‰ๅ…จๆ ˆ่ƒŒๆ™ฏ็š„ๅผ€ๅ‘่€…, ๆŠ€ๆœฏๅบ•่‰ฒๆบไบŽๅทฅไฝœๅ‡ ๅนดๅŽ็งฏ็ดฏไบ†่พƒไธบๆ‰Žๅฎž็š„ๅทฅ็จ‹ๅŒ–ๅฎž่ทตโ€”โ€”ไปŽๅŸบ็ก€็š„ Web ๅ‰็ซฏๅˆฐๅคๆ‚็š„่ทจๅนณๅฐๅฐ็จ‹ๅบๅŸบ็ก€ๆก†ๆžถ็š„ๆžถๆž„ๅ‡็บง๏ผŒๅ†ๅˆฐๅŸบไบŽ NodeJS ็š„ๆœๅŠก็ซฏๅผ€ๅ‘๏ผŒ่ฟ™ไบ›็ปๅކ้”ป็‚ผไบ†ๆˆ‘ๅฏน็ณป็ปŸๅคๆ‚ๅบฆ็š„ๆŽŒๆŽงๅŠ›ใ€ๅทฅ็จ‹ๅŒ–่ƒฝๅŠ›ไปฅๅŠ้กน็›ฎๆŽจๅŠจไธŽๅ›ข้˜Ÿๅˆไฝœ็š„่ƒฝๅŠ›ใ€‚\\n่‡ช 2023 ๅนด LLM ๆตชๆฝฎๆถŒ็Žฐไปฅๆฅ๏ผŒๆˆ‘ๆทฑๅบฆๆŠ•่บซไบŽ AI ็›ธๅ…ณ็š„ๆŠ€ๆœฏๆŽข็ดขใ€‚ๅœจๅทฅไฝœไธŽไธšไฝ™้กน็›ฎไธญ๏ผŒไธปๅฏผๆˆ–ๅ‚ไธŽไบ†ๅคšไธชๅŸบไบŽๅคงๆจกๅž‹็š„ๅบ”็”จ่ฝๅœฐ๏ผŒ็งฏ็ดฏไบ†ไปŽ Prompt ่ฐƒไผ˜ๅˆฐ Agentic Workflow ็ผ–ๆŽ’็š„ไธ€็บฟ็ป้ชŒ๏ผŒไนŸๅคšๆฌกๅ‚ๅŠ ไบ†ๅ›ฝๅ†… AI ็คพๅŒบ็›ธๅ…ณ็š„ๆŠ€ๆœฏๅˆ†ไบซไธŽไบคๆตๆดปๅŠจ๏ผŒไบ†่งฃไบ† AI ้ข†ๅŸŸๆœ€ๆ–ฐ็š„ๆŠ€ๆœฏ่ถ‹ๅŠฟไธŽๅฎž่ทตใ€‚\\n\\n็›ฎๅ‰๏ผŒๆˆ‘ไธป่ฆๅœจ\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹\",\"frontmatter\":{\"date\":\"2025-08-20 22:51:27\",\"title\":\"่Šไธ€่Š TypeScript ไธญ็š„ๆณ›ๅž‹\",\"tldr\":\"ๆณ›ๅž‹ๅฐ†็ฑปๅž‹ไฝœไธบๅ‚ๆ•ฐ๏ผŒไฝฟไปฃ็ ๅœจๅคš็ง็ฑปๅž‹ไธŠๅฎ‰ๅ…จ่ฟ่กŒ๏ผŒๆ˜ฏ TypeScript ็ฑปๅž‹ๆŠฝ่ฑก็š„ๆ ธๅฟƒ็‰นๆ€งใ€‚\",\"description\":\"ๆœฌๆ–‡็ณป็ปŸ่งฃๆž TypeScript ๆณ›ๅž‹็š„ๆ ธๅฟƒๆฆ‚ๅฟตไธŽๅทฅไฝœๆœบๅˆถ๏ผŒๅฏนๆฏ”ๆณ›ๅž‹ไธŽ any ็ฑปๅž‹็š„ๅทฎๅผ‚๏ผŒๆถต็›–ๆณ›ๅž‹ๅ‡ฝๆ•ฐใ€ๆŽฅๅฃใ€็ฑปใ€็ฑปๅž‹ๅˆซๅ็š„ๅฎž่ทต็”จๆณ•๏ผŒไปฅๅŠๅŸบๆœฌ็ฑปๅž‹็บฆๆŸใ€ๆŽฅๅฃ็บฆๆŸใ€ๅคš้‡็บฆๆŸใ€keyof ็บฆๆŸ็ญ‰้ซ˜้˜ถๆŠ€ๅทงไธŽๆœ€ไฝณๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/typescript-generic-types\",\"tags\":[\"tutorial\",\"typescript\",\"generics\",\"type-system\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่Šไธ€่Š TypeScript ไธญ็š„ๆณ›ๅž‹\",\"date\":\"2025-08-20 22:51:27\",\"capture\":\"1. ๆณ›ๅž‹็š„ๅŸบๆœฌๆฆ‚ๅฟตๅ’Œไฝœ็”จ\\n 1.1 ๆ ธๅฟƒๅฎšไน‰\\nๆณ›ๅž‹๏ผˆGenerics๏ผ‰ ๆ˜ฏ TypeScript ไธญไธ€็งๅผบๅคง็š„็ฑปๅž‹็ณป็ปŸ็‰นๆ€ง๏ผŒๅ…่ฎธๅฎšไน‰็ฑปๅž‹ๅ‚ๆ•ฐๅŒ–็š„็ป„ไปถ๏ผŒไฝฟไปฃ็ ่ƒฝๅคŸๅœจๅคš็ง็ฑปๅž‹ไธŠๅฎ‰ๅ…จ่ฟ่กŒ๏ผŒๅŒๆ—ถไฟๆŒ็ฑปๅž‹ๆฃ€ๆŸฅใ€‚ๆณ›ๅž‹็š„ๆ ธๅฟƒๆ€ๆƒณๆ˜ฏๅฐ†็ฑปๅž‹ไฝœไธบๅ‚ๆ•ฐไผ ้€’็ป™ๅ‡ฝๆ•ฐใ€ๆŽฅๅฃๆˆ–็ฑป๏ผŒๅฎž็Žฐ\\\"็ผ–ๅ†™ไธ€ๆฌก๏ผŒๅค็”จๅคšๆฌก\\\"็š„ๆ•ˆๆžœใ€‚\\n 1.2 ๆณ›ๅž‹ไธŽ any ็ฑปๅž‹็š„ๅฏนๆฏ”\\n| ็‰นๆ€ง | ๆณ›ๅž‹ | any ็ฑปๅž‹ |\\n|------|------|----------|\\n| ็ฑปๅž‹ๅฎ‰ๅ…จ | โœ… ็ผ–่ฏ‘ๆ—ถ่ฟ›่กŒ็ฑปๅž‹ๆฃ€ๆŸฅ | โŒ ๅฎŒๅ…จๅคฑๅŽป็ฑปๅž‹ๆฃ€ๆŸฅ |\\n| ไปฃ็ ๅค็”จ | โœ… ๆ”ฏๆŒๅคš็ง็ฑปๅž‹ๅค็”จ | โœ… ๆ”ฏๆŒๅคš็ง็ฑปๅž‹๏ผŒไฝ†ๅคฑๅŽป็ฑปๅž‹ไฟกๆฏ |\\n| ็ฑปๅž‹ๆŽจๆ–ญ | โœ… \"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2025-08-12 22:47:47\",\"title\":\"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—\",\"tldr\":\"TypeScript ๅฎŒๅ–„็š„็ผ–่ฏ‘ไฝ“็ณปไธŽ่ฐƒ่ฏ•ๅทฅๅ…ท้“พ๏ผŒๆ˜ฏๆž„ๅปบ้ซ˜่ดจ้‡ๅบ”็”จ็š„ๅŸบ็Ÿณใ€‚\",\"description\":\"ๆทฑๅ…ฅ่งฃๆž TypeScript ็ผ–่ฏ‘ๅทฅๅ…ท้“พไธŽ่ฐƒ่ฏ•ไฝ“็ณป๏ผŒๆถต็›– tsconfig.json ๆ ธๅฟƒ้…็ฝฎใ€Monorepo ้กน็›ฎ้…็ฝฎ๏ผˆextends/references๏ผ‰ใ€source map ่ฐƒ่ฏ•ใ€ESLint ไธŽ Jest ๅ•ๅ…ƒๆต‹่ฏ•็ญ‰ๅฎŒๆ•ดๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/typescript-compilation-debugging-guide\",\"tags\":[\"tutorial\",\"typescript\",\"compilation\",\"tooling\",\"eslint\",\"jest\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—\",\"date\":\"2025-08-12 22:47:47\",\"capture\":\"็ผ–ๅ†™ไปฃ็ ๅชๆ˜ฏๅผ€ๅ‘ๅทฅไฝœ็š„่ตท็‚น๏ผŒ็œŸๆญฃๅ†ณๅฎš้กน็›ฎ่ดจ้‡็š„ๆ˜ฏๅŽ็ปญ็š„็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•็Žฏ่Š‚ใ€‚TypeScript ไฝœไธบ JavaScript ็š„้™ๆ€็ฑปๅž‹่ถ…้›†๏ผŒไธไป…ๅธฆๆฅไบ†็ฑปๅž‹ๅฎ‰ๅ…จ๏ผŒๆ›ดๆไพ›ไบ†ๅผบๅคง็š„็ผ–่ฏ‘ๅทฅๅ…ทๅ’Œ่ฐƒ่ฏ•่ƒฝๅŠ›๏ผŒ่ฎฉๆˆ‘ไปฌ่ƒฝๅคŸๆ›ด้ซ˜ๆ•ˆๅœฐๆž„ๅปบๅ’Œ็ปดๆŠคๅฏ้ ็š„ๅบ”็”จ็จ‹ๅบใ€‚\\nๆœฌๆ–‡ๅฐ†ๅฏน TypeScript ้กน็›ฎ็š„็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•่ฟ›่กŒๆขณ็†๏ผŒๅŒ…ๆ‹ฌ็ผ–่ฏ‘ๅทฅๅ…ท TSC ็š„ไฝฟ็”จใ€็ผ–่ฏ‘้€‰้กน็š„้…็ฝฎใ€่ฐƒ่ฏ•ๅทฅๅ…ท็š„ไฝฟ็”จ็ญ‰ใ€‚\\n 1. TypeScript ็ผ–่ฏ‘้…็ฝฎไธŽ tsconfig.json\\nTSC๏ผˆTypeScript Compiler๏ผ‰ๆ˜ฏ TypeScript ๅฎ˜ๆ–นๆไพ›็š„็ผ–่ฏ‘ๅทฅๅ…ท๏ผŒ่ดŸ่ดฃๅฐ† TypeScript ไปฃ็ ๏ผˆ`.ts` ๆˆ– `.tsx`๏ผ‰่ฝฌๆขไธบ J\"},{\"url\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/10.่ฏปไนฆไธ‰่ฆไธ‰ไธ่ฆ\",\"relativePath\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/10.่ฏปไนฆไธ‰่ฆไธ‰ไธ่ฆ\",\"frontmatter\":{\"date\":\"2025-03-06 11:42:20\",\"title\":\"่ฏปไนฆโ€œไธ‰่ฆโ€ๅ’Œโ€œไธ‰ไธ่ฆโ€\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจไฟกๆฏ็ˆ†็‚ธ็š„ๆ—ถไปฃ๏ผŒ่ฏปไนฆไพ็„ถๆ˜ฏ่Žทๅ–ๆทฑๅบฆ็Ÿฅ่ฏ†ๆœ€้ซ˜ๆ•ˆ็š„ๆ–นๅผไน‹ไธ€ใ€‚ไฝ†โ€œๆง่ตทไนฆโ€ๅนถไธ็ญ‰ไบŽโ€œๆœ‰ๆ”ถ่Žทโ€๏ผŒๆ€Žไนˆ่ฏปๅพ€ๅพ€ๆฏ”่ฏปไป€ไนˆๆ›ด้‡่ฆใ€‚ๆœฌๆ–‡ๆ€ป็ป“ไบ†้ซ˜ๆ•ˆ้˜…่ฏป็š„โ€œไธ‰่ฆโ€ไธŽโ€œไธ‰ไธ่ฆโ€๏ผšไปŽๅฎŒๆ•ด้˜…่ฏป่ง‚ๆ‘ฉๅคงๅธˆๆ€็ปดใ€ๅธฆ็€้—ฎ้ข˜ๆž„ๅปบ็Ÿฅ่ฏ†ๆ ‘๏ผŒๅˆฐ้€š่ฟ‡่ฎจ่ฎบๆฃ€้ชŒ็†่งฃ๏ผ›ๅŒๆ—ถๆ้†’้˜…่ฏป่€…่ญฆๆƒ•ๅ“€ๆ€จๅฟƒๆ€ๅฏน้˜…่ฏปๅˆ่กท็š„ๅผ‚ๅŒ–ใ€้ฟๅ…้™ทๅ…ฅๅฏน็‰ฉ็†ๅช’ไป‹็š„โ€œ็Žฉ็‰ฉไธงๅฟ—โ€๏ผŒไปฅๅŠๅˆ‡ๅฟŒ่„ฑ็ฆป็Žฐๅฎž็š„โ€œ็œŸ็ฉบโ€้˜…่ฏปใ€‚้˜…่ฏปไธไป…ๆ˜ฏๅ‘ๅ†…ๆŽข็ดข็š„็ฒพ็ฅžไน‹ๆ—…๏ผŒๆ›ดๆ˜ฏๅ‘ๅค–็†่งฃ็œŸๅฎžไธ–็•Œใ€ๅˆ›้€ ็คพไผšไปทๅ€ผ็š„ๅฎž็”จๅทฅๅ…ทใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/reading_need.png\",\"permalink\":\"/pages/growth/reading-tips\",\"sticky\":1,\"top\":true,\"categories\":[\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\"],\"tags\":[\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ฏปไนฆโ€œไธ‰่ฆโ€ๅ’Œโ€œไธ‰ไธ่ฆโ€\",\"date\":\"2025-03-06 11:42:20\",\"capture\":\"<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/reading_need.png\\\" style=\\\"width: 100%; border-radius: 8px; margin-bottom: 20px;\\\" alt=\\\"about site background\\\">\\n 1. ๆˆ‘ไปฌไธบไป€ไนˆ้œ€่ฆ่ฏปไนฆ๏ผŸ\\n่ฏปไนฆๆ˜ฏไปŽๅค–็•ŒๆŽฅๅ—ไฟกๆฏ็š„ไธ€็งๆ–นๅผ๏ผŒไธŽ่Šๅคฉใ€ๆต่งˆ็ฝ‘้กตใ€ๅฌๆ’ญๅฎขใ€็œ‹็”ต่ง†ๅนถๆ— ๆœฌ่ดจๅŒบๅˆซใ€‚ไฝ†ไนฆ่ฟ™็งๅช’ไป‹ไธŽๅ…ถไป–ไฟกๆฏๅช’ไป‹็›ธๆฏ”๏ผŒๆœ‰ๅ…ถ็‹ฌๆœ‰็š„ไผ˜ๅŠฟ๏ผš\\n- ๆทฑๅบฆไธŽไธฅ่ฐจ๏ผšไนฆ็ฑๅพ€ๅพ€ๆ˜ฏๅˆ›ไฝœ่€…ๅคšๅนดๆ€่€ƒใ€้•ฟๆœŸ\"},{\"url\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/20.่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"relativePath\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/20.่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"frontmatter\":{\"date\":\"2024-06-15 22:23:00\",\"title\":\"่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡็ป“ๅˆไฟ็ฝ—ใƒปๆ ผ้›ทๅŽ„ๅง†ใ€ŠHow to Do Great Workใ€‹ๆ ธๅฟƒ่ง‚็‚น๏ผŒๆŽข่ฎจ AI ๅŽŸ็”Ÿๆ—ถไปฃๅคๅˆๅž‹ไบบๆ‰็š„ๆ ธๅฟƒ็‰น่ดจใ€‚AI ่ฎฉๅŸบ็ก€ๆ‰ง่กŒ่ƒฝๅŠ›ๅฟซ้€Ÿ่ดฌๅ€ผ๏ผŒไบบๆ‰็š„ๆ ธๅฟƒๅฃๅž’ไธๅ†ๆ˜ฏ่งฃๅ†ณ้—ฎ้ข˜๏ผŒ่€Œๆ˜ฏๆๅ‡บไผ˜่ดจ้—ฎ้ข˜ใ€ๅŸนๅ…ป้žๅ…ฑ่ฏ†ๅ“ๅ‘ณใ€‚ๅŒๆ—ถ้œ€ๅšๅฎˆๆ™บๅŠ›่ฏšๅฎž๏ผŒๆ‹ฅๆœ‰ๆ‰“็ ดๅธธ่ง„็š„ๅˆ›ๆ–ฐๅ‹‡ๆฐ”๏ผŒๅ€ŸๅŠฉ AI ๆ”พๅคงไธชไบบๆˆ้•ฟๆ ๆ†๏ผŒไปฅๅฐๅˆ‡ๅฃๅฎž่ทตๅฎž็ŽฐๆŒ‡ๆ•ฐ็บงๆˆ้•ฟใ€‚ไบบ็ฑป็‹ฌๆœ‰็š„ๅฅฝๅฅ‡ๅฟƒ๏ผŒๆ˜ฏ็ช็ ด AI ๅนณๅบธใ€ๅ–ๅพ—ๆฐๅ‡บๆˆๅฐฑ็š„ๆœ€็ปˆๅบ•ๆฐ”ใ€‚\",\"coverImg\":\"/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense/ai-native-composite-talents\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"AI\",\"ๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"date\":\"2024-06-15 22:23:00\",\"capture\":\"> \\n> ๅŽŸๆ–‡ๅœฐๅ€๏ผšhttps://paulgraham.com/greatwork.html\\n> \\n> ๅŽŸๆ–‡ไฝœ่€…๏ผšPaul Graham๏ผˆไฟ็ฝ—ยทๆ ผ้›ทๅŽ„ๅง†๏ผ‰๏ผŒ็ก…่ฐท้กถ็บงๅญตๅŒ–ๅ™จ Y Combinator ๅˆ›ๅง‹ไบบ๏ผŒ่ขซ่ช‰ไธบโ€œ็ก…่ฐทๅˆ›ไธšๆ•™็ˆถโ€๏ผŒไนŸๆ˜ฏ็ปๅ…ธๆŠ€ๆœฏๅ“ฒๅญฆ่‘—ไฝœใ€Š้ป‘ๅฎขไธŽ็”ปๅฎถใ€‹็š„ไฝœ่€…ใ€‚\\n> \\n> ๆ–‡็ซ ่ƒŒๆ™ฏ๏ผšๅŽŸๆ–‡ๆ˜ฏไฟ็ฝ—ยทๆ ผ้›ทๅŽ„ๅง†ไน‹ๅ‰ๅ‡†ๅค‡ไบ†ๅŠๅนดไน‹ไน…็š„้‡็ฃ…้•ฟๆ–‡๏ผŒไป–่ฏ•ๅ›พ่ฎฒๆ˜Ž็™ฝไธ€ไธช้€‚็”จไบŽๆฏไธชไบบ็š„ไธป้ข˜โ€”โ€”ๅฆ‚ไฝ•ๅšๆˆใ€Œๅคงไบ‹ใ€๏ผˆgreat work๏ผ‰ใ€‚้€š่ฏปๅ…จๆ–‡๏ผŒไฝ ไผšๅ‘็Žฐ๏ผŒ่ฟ™ๆ˜ฏไธ€็ฏ‡้žๅธธๅฎž็”จ็š„ๅทฅไฝœๆŒ‡ๅ—๏ผŒๅนถไธ”ๅ…ถไธญ็š„่ฎธๅคšๅ†…ๅฎน๏ผŒ้ƒฝไธŽAIๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰ๆ‰€้œ€่ฆๅ…ทๅค‡็š„็‰น่ดจ้žๅธธไธ€่‡ดใ€‚\\n 1. ๅผ•่จ€๏ผš\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/60.ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/60.ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹\",\"frontmatter\":{\"date\":\"2024-06-14 22:00:00\",\"title\":\"ไธ€ๆฌก็”ฑ Product Sense ้ฉฑๅŠจ็š„ Agent ๆž้™ๅฎž่ทต\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšAI ๆ—ถไปฃ๏ผŒๅ†™ๅฅฝไปฃ็ ๅชๆ˜ฏๅŠๆ ผ็บฟใ€‚ๅœจไธ€ๆฌกๆž้™ๆŒ‘ๆˆ˜่ต›ไธญ๏ผŒๆˆ‘ไปฌ้€š่ฟ‡ๅฏน K12 ่ต›้“็”จๆˆท็—›็‚น็š„็ฒพๅ‡†โ€œ่ง†่ง’ๅˆ‡ๆขโ€๏ผŒๆ‰“้€ ๅ‡บไธ€ๆฌพๆŽˆไบบไปฅๆธ”็š„โ€œๆ•ฐๅญฆ่พ…ๅฏผๅฏผๅธˆโ€ๅนถๆ–ฉ่Žทๅคงๅฅ–ใ€‚ๆœฌๆ–‡ๅค็›˜ไบ† Agent ๆญๅปบ่ƒŒๅŽ็š„ๆ ธๅฟƒ SOP ่ฎพ่ฎก้€ป่พ‘๏ผšๆŠ€ๆœฏ็ปˆ็ฉถ่ฆๅ›žๅฝ’ๅฏน็œŸๅฎžไบบๆ€ง็š„ไฝ“ๅฏŸไธŽๅ…ณๆ€€ใ€‚\",\"coverImg\":\"/img/cover/llm_learning_bg_2.png\",\"permalink\":\"/ai-practice/math-bot\",\"categories\":[\"ai-practice\"],\"tags\":[\"Agent\",\"ไบงๅ“ Sense\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไธ€ๆฌก็”ฑ Product Sense ้ฉฑๅŠจ็š„ Agent ๆž้™ๅฎž่ทต\",\"date\":\"2024-06-14 22:00:00\",\"capture\":\"ๅœจๅˆšๅˆš่ฟ‡ๅŽป็š„ๅ‘จๆœซ๏ผŒๆˆ‘ๅ’Œๅฅฝๅ‹ๅ‚ๅŠ ไบ†ไธ€ๅœบ็”ฑๅƒๅธ† Agent ไธพๅŠž็š„็บฟไธ‹็คพๅŒบๆดปๅŠจใ€‚่ฟ™ๆ˜ฏไธ€ๅœบๅ……ๆปกๆžๅฎข็ฒพ็ฅž็š„โ€œๆž้™ๆŒ‘ๆˆ˜โ€โ€”โ€”ๆˆ‘ไปฌ้œ€่ฆๅœจๆžๅ…ถๆœ‰้™็š„ๆ—ถ้—ดๅ†…๏ผŒไปŽ้›ถๅผ€ๅง‹ๆž„ๆ€ใ€ๆญๅปบๅนถ็Žฐๅœบๅฑ•็คบไธ€ไธชๅฎŒๆ•ด็š„ Agent ๅบ”็”จใ€‚\\nไปคไบบๆƒŠๅ–œ็š„ๆ˜ฏ๏ผŒๆˆ‘ไปฌไธไป…้กบๅˆฉๅฎŒๆˆไบ†ๆž้™ๅผ€ๅ‘๏ผŒๆœ€็ปˆ่ฟ˜ๆ–ฉ่Žทไบ†ๅ…จๅœบ็š„ใ€Œๆœ€ไฝณๅบ”็”จๅฅ–ใ€ใ€‚\\nๅค็›˜่ฟ™ๆฌก็Ÿญๆš‚ๅด้ซ˜ๅฏ†ๅบฆ็š„ๅผ€ๅ‘ไฝ“้ชŒ๏ผŒๆœ€ๅคง็š„ๆ„Ÿ่งฆๆ˜ฏ๏ผšๅœจ AI ๆ—ถไปฃ๏ผŒๅ•็บฏ็š„ๅทฅ็จ‹ๅฎž็Žฐๅทฒ็ปไธๅ†ๆ˜ฏๅ”ฏไธ€็š„ๅฃๅž’๏ผŒ็œŸๆญฃ่ฎฉๅบ”็”จ่„ฑ้ข–่€Œๅ‡บ็š„๏ผŒๆ˜ฏๅฏน็œŸๅฎžไธšๅŠกๅœบๆ™ฏ็š„ๆดžๅฏŸๅŠ›ใ€‚ๅฝ“ (Engineering + Product) ร— AI ็š„้ฃž่ฝฎๅผ€ๅง‹่ฝฌๅŠจๆ—ถ๏ผŒๆŠ€ๆœฏๆ‰่ƒฝ็œŸๆญฃ่ฝฌๅŒ–ไธบ่งฃๅ†ณ้—ฎ้ข˜็š„ๅˆฉๅ™จใ€‚\\nไปฅไธ‹ๆ˜ฏๅ…ณไบŽ่ฟ™ๆฌกโ€œK12 ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹โ€ Agent ๆญๅปบ็š„ๅฎž\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview\",\"frontmatter\":{\"date\":\"2024-05-18 22:49:57\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ไปŽ ES Modules ๅˆฐๅคงๅž‹้กน็›ฎๅˆ†ๅฑ‚ๆžถๆž„ไธŽๅทฅ็จ‹ๅŒ–ๅฎž่ทต๏ผŒๆž„ๅปบๅ…จๆ ˆๆจกๅ—ๅŒ–็Ÿฅ่ฏ†ไฝ“็ณปใ€‚\",\"description\":\"็ณป็ปŸๆขณ็† JavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›๏ผˆIIFEโ†’CJSโ†’ESM๏ผ‰ใ€TypeScript ็ฑปๅž‹ๅขžๅผบใ€ๅˆ†ๅฑ‚ๆžถๆž„ไธŽ DDD ๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/module-programming-practice-guide\",\"tags\":[\"tutorial\",\"ESM\",\"DDD\",\"ๅพฎๅ‰็ซฏ\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2024-05-18 22:49:57\",\"capture\":\"1. ๅผ•่จ€\\nๆจกๅ—ๅŒ–็ผ–็จ‹ๆ˜ฏ็Žฐไปฃ JavaScript/TypeScript ๅผ€ๅ‘็š„ๆ ธๅฟƒๅŽŸๅˆ™๏ผŒๅฎƒ้€š่ฟ‡ๅฐ†ๅคๆ‚็ณป็ปŸๆ‹†ๅˆ†ไธบ็‹ฌ็ซ‹ๅฏๅค็”จ็š„ๆจกๅ—๏ผŒ้™ไฝŽ็ณป็ปŸๅคๆ‚ๆ€งๅนถๆ้ซ˜ๅฏ็ปดๆŠคๆ€งไธŽๅฏๅค็”จๆ€งใ€‚ๅ› ๆญค๏ผŒๆˆ‘ไปฌ้€š่ฟ‡็ณปๅˆ—ๆ–‡็ซ ่ฏฆ็ป†ไป‹็ปไบ†ๆจกๅ—ๅŒ–็š„ๅŸบ็ก€ๆฆ‚ๅฟตใ€ๆผ”่ฟ›ๅކ็จ‹ใ€ไธๅŒ่ง„่Œƒ็š„ๆทฑๅบฆ่งฃๆžใ€TypeScriptๆจกๅ—ๅŒ–ๅขžๅผบใ€ES Modules ๆ ธๅฟƒ่ฏญๆณ•ไธŽๅฎž่ทตใ€ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทตใ€ๅ‰็ซฏๅทฅ็จ‹ๅŒ–ไธญ็š„ๆจกๅ—ๅŒ–ใ€Node.jsไธญ็š„ๆจกๅ—ๅŒ–ๅฎž่ทตใ€ๅคงๅž‹้กน็›ฎไธญ็š„ๆจกๅ—ๅŒ–่ฎพ่ฎกใ€ๆจกๅ—ๅŒ–ไธŽไปฃ็ ็ปดๆŠคไปฅๅŠๆœชๆฅๅ‘ๅฑ•่ถ‹ๅŠฟใ€‚\\nๅ‰้ข็š„็ณปๅˆ—ๆ–‡็ซ ไธป่ฆๆœ‰๏ผš\\n- ๆจกๅ—ๅŒ–็ผ–็จ‹็ผ–็จ‹ๅˆไฝ“้ชŒไธŽๅŸบ็ก€ไป‹็ป\\n- JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\\n- ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒ\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–\",\"frontmatter\":{\"date\":\"2024-05-17 23:33:09\",\"title\":\"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“\",\"tldr\":\"Node.js CJS ไธŽ ESM ๅŒๆจกๅ…ฑๅญ˜๏ผšๆจกๅ—ๅŠ ่ฝฝๆœบๅˆถไธŽๅˆ†ๅฑ‚ๆžถๆž„ๅฎž่ทตใ€‚\",\"description\":\"่งฃๆž Node.js ไธญ CommonJS ไธŽ ES Modules ็š„ๅŒๆจกๅ…ฑๅญ˜็ญ–็•ฅ๏ผŒๆถต็›–ๆจกๅ—ๅŠ ่ฝฝไผ˜ๅ…ˆ็บงใ€็ผ“ๅญ˜ๆœบๅˆถใ€package.json exports ๆกไปถๅฏผๅ‡บๅŠ Monorepo ๆžถๆž„ๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/nodejs-module-programming-summary\",\"abstract\":\"Node.js ๆจกๅ—ๅŒ–็ปๅކไบ†ไปŽ CommonJS ็‹ฌ้œธๅคฉไธ‹ๅˆฐ ES Modules ๅ…จ้ขๆŽฅๅ…ฅ็š„่Œƒๅผ่ฝฌ็งปใ€‚ๅ…ฑๅญ˜็ญ–็•ฅ้€š่ฟ‡ .mjs/.cjs ๅŽ็ผ€ๅ’Œ package.json type ๅญ—ๆฎตๆŽงๅˆถไธค็ง่ง„่Œƒ็š„่พน็•Œ๏ผ›ESM ๅฏ็›ดๆŽฅ import CJS๏ผˆ่‡ชๅŠจๅŒ…่ฃ…ไธบ้ป˜่ฎคๅฏผๅ‡บ๏ผ‰๏ผŒไฝ† CJS ๆ— ๆณ• require ESM ๅฟ…้กปไฝฟ็”จๅŠจๆ€ importใ€‚ๆจกๅ—ๅŠ ่ฝฝ้ตๅพชๆ ธๅฟƒๆจกๅ—ไผ˜ๅ…ˆใ€ๆ–‡ไปถๆจกๅ—ใ€็›ฎๅฝ•ๆจกๅ—๏ผˆindex.js/package.json๏ผ‰ใ€node_modules ้€็บงๆŸฅๆ‰พ็š„ไผ˜ๅ…ˆ็บง๏ผ›require.cache ๅฎž็Žฐๆจกๅ—็ผ“ๅญ˜๏ผŒๆธ…้™ค็ผ“ๅญ˜๏ผˆdelete require.cache[path]๏ผ‰ๆ˜ฏ็ƒญๆ›ดๆ–ฐๅทฅๅ…ท็š„ๆ ธๅฟƒๆ“ไฝœใ€‚package.json exports ๅญ—ๆฎตๆ”ฏๆŒๆกไปถๅฏผๅ‡บ๏ผˆimport/require ่ฟ”ๅ›žไธๅŒๅ…ฅๅฃ๏ผ‰ใ€‚pnpm workspaces ๅ‡ญๅ€Ÿ็กฌ้“พๆŽฅๆœบๅˆถๆˆไธบ็Žฐไปฃ Monorepo ้ฆ–้€‰ใ€‚ๅŽ็ซฏๅˆ†ๅฑ‚ๆžถๆž„๏ผˆAPI/Service/Repository๏ผ‰ๅฎž็Žฐๅ…ณๆณจ็‚นๅˆ†็ฆป๏ผŒๆขๆ•ฐๆฎๅบ“ๅช้œ€ๆ”น Repository ๅฑ‚ใ€‚\",\"tags\":[\"concept\",\"node.js\",\"commonjs\",\"esm\",\"monorepo\",\"layered-architecture\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“\",\"date\":\"2024-05-17 23:33:09\",\"capture\":\"ๅฆ‚ๆžœ่ฏดๆต่งˆๅ™จ็ซฏ็š„ๆจกๅ—ๅŒ–ๆ˜ฏไธบไบ†\\\"ๆŒ‰้œ€ๅŠ ่ฝฝ\\\"๏ผŒ้‚ฃไนˆ Node.js ็š„ๆจกๅ—ๅŒ–ๅˆ™ๆ˜ฏไธบไบ†\\\"ไปฃ็ ็ป„็ป‡\\\"ใ€‚ไฝœไธบๅฐ† JavaScript ๅธฆๅ…ฅๆœๅŠกๅ™จ็ซฏ็š„ๅ…ˆ้ฉฑ๏ผŒNode.js ็ปๅކไบ†ไปŽ CommonJS (CJS) ็‹ฌ้œธๅคฉไธ‹ๅˆฐ ES Modules (ESM) ๅ…จ้ขๆŽฅๅ…ฅ็š„่Œƒๅผ่ฝฌ็งปใ€‚\\nๅœจๆœๅŠกๅ™จ็ซฏ๏ผŒๆจกๅ—ๅŒ–ไธไป…ไป…ๆ˜ฏไธบไบ†ๆ‹†ๅˆ†ไปฃ็ ๏ผŒๆ›ดๆ˜ฏไธบไบ†ๆž„ๅปบๆธ…ๆ™ฐ็š„้กน็›ฎ็ป“ๆž„ใ€็ฎก็†ไพ่ต–ๅ…ณ็ณป๏ผŒไปฅๅŠๅฎž็Žฐไปฃ็ ็š„ๅค็”จไธŽ็ปดๆŠคใ€‚\\n 1. CommonJS ไธŽ ES Modules ๅŒๆจกๅ…ฑๅญ˜\\nๅœจ็Žฐไปฃ Node.js ๅผ€ๅ‘ไธญ๏ผŒๆˆ‘ไปฌ็ปๅธธ้ขไธดไธค็ง่ง„่Œƒไบค็ป‡็š„ๆƒ…ๅ†ตใ€‚่ฟ™ไธไป…ๆ˜ฏๆ–‡ไปถๅŽ็ผ€็š„ๆ”นๅ˜๏ผŒๆ›ดๆ˜ฏๅŒๆญฅไธŽๅผ‚ๆญฅๅŠ ่ฝฝ้€ป่พ‘็š„ๅšๅผˆใ€‚\\nๅ…ฑๅญ˜็ญ–็•ฅ๏ผš\\n1. ๅŽ็ผ€ๅ†ณๅฎš่ฎบ๏ผš`.mjs\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต\",\"frontmatter\":{\"date\":\"2024-05-17 22:30:50\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ๆขณ็†ไธŽๆ€ป็ป“\",\"tldr\":\"ๆŽŒๆก้ซ˜ๅ†…่šไฝŽ่€ฆๅˆๅŽŸๅˆ™๏ผšๆจกๅ—ๅŒ–็ผ–็จ‹็š„่ฎพ่ฎกๅ‡†ๅˆ™ไธŽ็ฒ’ๅบฆๆŽงๅˆถใ€‚\",\"description\":\"็ณป็ปŸๆขณ็†ๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅ…ญๅคงๆ ธๅฟƒๅŽŸๅˆ™๏ผšๅ•ไธ€่Œ่ดฃใ€้ซ˜ๅ†…่šไฝŽ่€ฆๅˆใ€็ฒ’ๅบฆ่ฎพ่ฎกใ€ๅ‘ฝๅ่ง„่ŒƒๅŠๆจกๅ—็‰ˆๆœฌ็ฎก็†๏ผŒ้™„่ฏฆ็ป†็š„ๅทฅ็จ‹ๅฎž่ทตๅปบ่ฎฎไธŽ้ฟๅ‘ๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/fullstack/module-programming-principles-best-practices\",\"abstract\":\"ๅฆ‚ๆžœ่ฏดๆŽŒๆกๆจกๅ—ๅŒ–่ฏญๆณ•ๆ˜ฏๆœฏ๏ผŒ้‚ฃไนˆ็†่งฃๅ…ถ่ƒŒๅŽ็š„่ฎพ่ฎกๅŽŸๅˆ™ๅฐฑๆ˜ฏ้“ใ€‚ๅ•ไธ€่Œ่ดฃๅŽŸๅˆ™ๅผบ่ฐƒๆจกๅ—ๅชๅบ”ๆœ‰ไธ€ไธช่ขซๆ”นๅ˜็š„ๅŽŸๅ› ๏ผŒ้ฟๅ… God Object ๅๆจกๅผใ€‚้ซ˜ๅ†…่šไฝŽ่€ฆๅˆๆ˜ฏ่กก้‡ๆจกๅ—่ดจ้‡็š„็ปˆๆžๆ ‡ๅ‡†โ€”โ€”ๆจกๅ—ๅ†…้ƒจๅ…ƒ็ด ่”็ณป็ดงๅฏ†๏ผŒๆจกๅ—ไน‹้—ดไพ่ต–ๅ…ณ็ณปๅฐฝๅฏ่ƒฝ็ฎ€ๅ•ใ€‚็ฒ’ๅบฆ่ฎพ่ฎก่ฆๆฑ‚ๅ•ไธชๆจกๅ—ไฟๆŒๅœจ 100-500 ่กŒไน‹้—ด๏ผŒๅŠŸ่ƒฝ่ƒฝ็”จไธ€ๅฅ่ฏๆธ…ๆ™ฐๆ่ฟฐ๏ผŒๅ‡บ็Žฐๅคšๅˆ†ๆ”ฏๅคๆ‚้€ป่พ‘ๆ—ถ้€šๅธธๆ˜ฏๆ‹†ๅˆ†ไฟกๅทใ€‚ๅ‘ฝๅ่ง„่Œƒ็ปŸไธ€ๅ›ข้˜ŸๆฒŸ้€š่ฏญๅขƒ๏ผˆkebab-case ๆ–‡ไปถๅใ€camelCase ๆ–นๆณ•ๅใ€PascalCase ็ฑปๅ๏ผ‰ใ€‚ๆจกๅ—็‰ˆๆœฌ็ฎก็†้ตๅพช SemVer ่ฏญไน‰ๅŒ–็‰ˆๆœฌ๏ผŒไธบๅ…ฌๅ…ฑๆจกๅ—็š„็ปดๆŠค่€…ไธŽไฝฟ็”จ่€…ๅปบ็ซ‹ๅฅ‘็บฆใ€‚ๅผบ่ฐƒๆธ…ๆ™ฐ็š„ๆจกๅ—่พน็•Œๆ˜ฏ AI ่พ…ๅŠฉ็ผ–็จ‹ๆ—ถไปฃ AI ๅ‡†็กฎ็†่งฃไปฃ็ ็š„ๅ‰ๆใ€‚\",\"tags\":[\"concept\",\"solid-principles\",\"code-organization\",\"best-practices\",\"naming-conventions\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ๆขณ็†ไธŽๆ€ป็ป“\",\"date\":\"2024-05-17 22:30:50\",\"capture\":\"1. ๅ•ไธ€่Œ่ดฃๅŽŸๅˆ™\\nๆ ธๅฟƒๆ€ๆƒณ๏ผšไธ€ไธชๆจกๅ—ๅบ”ๅฝ“ๆœ‰ไธ”ๅชๆœ‰ไธ€ไธช่ขซๆ”นๅ˜็š„ๅŽŸๅ› ใ€‚\\nๆจกๅ—ไธๅบ”ๆˆไธบๅŠŸ่ƒฝ็š„โ€œๆ‚่ดง้“บโ€ใ€‚ๅฝ“ไธ€ไธชๆจกๅ—ๆ‰ฟๆ‹…ไบ†ๅคชๅคšไธ็›ธๅ…ณ็š„ไธšๅŠก้€ป่พ‘ๆ—ถ๏ผŒๅฎƒ็š„ๅคๆ‚ๅบฆไผšๅ‘ˆๆŒ‡ๆ•ฐ็บงไธŠๅ‡๏ผŒไปปไฝ•ๅพฎๅฐ็š„ๆ”นๅŠจ้ƒฝๅฏ่ƒฝๅผ•ๅ‘ๆ„ๆƒณไธๅˆฐ็š„่ฟž้”ๅๅบ”ใ€‚\\nไปฃ็ ๆผ”็คบ๏ผš\\n```javascript\\n// โœ… ๆŽจ่๏ผš่Œ่ดฃๆ‹†ๅˆ†ๆ˜Ž็กฎ\\n// user-service.js - ไป…ๅค„็†็”จๆˆทๆ•ฐๆฎ็š„ CRUD\\nexport const getUser = async (id) => { /* ... */ };\\n// auth-provider.js - ไป…ๅค„็†้‰ดๆƒ็Šถๆ€ไธŽ้€ป่พ‘\\nexport const login = async (credenti\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"frontmatter\":{\"date\":\"2024-05-16 21:27:36\",\"title\":\"ไปŽ้€ป่พ‘้š”็ฆปๅˆฐ็ฑปๅž‹ๅฅ‘็บฆ๏ผšTypeScript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"tldr\":\"TypeScript ๅฐ†ๆจกๅ—ไพ่ต–ๆๅ‡ไธบ็ผ–่ฏ‘ๆ—ถ็ฑปๅž‹ๅฅ‘็บฆ๏ผŒไปŽ import type ๅˆฐๅฃฐๆ˜Žๆ–‡ไปถใ€‚\",\"description\":\"็ณป็ปŸ่ฎฒ่งฃ TypeScript ๅฏน ES Modules ็š„็ฑปๅž‹ๅขžๅผบ๏ผŒๆถต็›– import type ่ฟ่กŒๆ—ถไผ˜ๅŒ–ใ€ๆŽฅๅฃๅฅ‘็บฆใ€ๅฃฐๆ˜Žๆ–‡ไปถ .d.ts ๅŠ tsconfig ๆจกๅ—ๅŒ–้…็ฝฎใ€‚\",\"permalink\":\"/fullstack/typescript-module-programming-enhancement\",\"tags\":[\"concept\",\"ๅ…จๆ ˆ\",\"typescript\",\"tsconfig\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไปŽ้€ป่พ‘้š”็ฆปๅˆฐ็ฑปๅž‹ๅฅ‘็บฆ๏ผšTypeScript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"date\":\"2024-05-16 21:27:36\",\"capture\":\"1. ๅผ•่จ€\\nๅœจๅŽŸ็”Ÿ JavaScript ๆจกๅ—ๅŒ–่งฃๅ†ณไบ†ไปฃ็ ็ป„็ป‡้—ฎ้ข˜ๅŽ๏ผŒTypeScript๏ผˆTS๏ผ‰่ฟ›ไธ€ๆญฅๅฐ†ๅ…ถๆŽจๅ‘ไบ†ๅทฅไธš็บง้ซ˜ๅบฆใ€‚TS ไธไป…ไป…ๆ˜ฏไธบๆจกๅ—ๆทปๅŠ ไบ†็ฑปๅž‹ๆ ‡ๆณจ๏ผŒๅฎƒ้€š่ฟ‡็ฑปๅž‹ๅฏผๅ‡บๅฏผๅ…ฅใ€็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ใ€ไปฅๅŠๅฃฐๆ˜Žๆ–‡ไปถ็ณป็ปŸ๏ผŒๅฐ†ๆจกๅ—้—ด็š„ไพ่ต–ๅ…ณ็ณปไปŽ็ฎ€ๅ•็š„โ€œไปฃ็ ๅผ•็”จโ€ๆๅ‡ๅˆฐไบ†โ€œๅฅ‘็บฆไบคไบ’โ€ใ€‚\\nๆœฌๆ–‡ๆˆ‘ไปฌๅฐ†่š็„ฆไบŽ TypeScript ๅฆ‚ไฝ•้€š่ฟ‡็ฑปๅž‹็ณป็ปŸๅขžๅผบๆจกๅ—ๅŒ–็ผ–็จ‹๏ผŒๅนถๆŽข่ฎจๅœจ็Žฐไปฃๅทฅ็จ‹๏ผˆๅฐคๅ…ถๆ˜ฏ TS 5.0+ ๆ—ถไปฃ๏ผ‰ไธ‹็š„ๆœ€ไฝณ้…็ฝฎๅฎž่ทตใ€‚\\n 2. ็ฑปๅž‹ๅฏผๅ‡บไธŽๅฏผๅ…ฅ๏ผšๆž่‡ด็š„่ฟ่กŒๆ—ถไผ˜ๅŒ–\\nTypeScript ๅฏน ES Modules ่ฏญๆณ•ๆœ€ๆ˜พ่‘—็š„ๆ‰ฉๅฑ•ๆ˜ฏๆ”ฏๆŒโ€œไป…็ฑปๅž‹โ€๏ผˆType-only๏ผ‰็š„ๅฏผๅ‡บไธŽๅฏผๅ…ฅใ€‚่ฟ™ไธไป…ๆ˜ฏ่ฏญไน‰ไธŠ็š„ๆธ…ๆ™ฐ๏ผŒๆ›ดๆ˜ฏๆ€ง\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"frontmatter\":{\"date\":\"2024-05-14 22:29:32\",\"title\":\"ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒๆ‹ฅๆŠฑๅŽŸ็”Ÿ๏ผšES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"tldr\":\"ES Modules ๆ ธๅฟƒ่ฏญๆณ•ไธŽๆ‰ง่กŒๆจกๅž‹๏ผš้™ๆ€ๅˆ†ๆžๅฆ‚ไฝ•้‡ๅก‘ๅ‰็ซฏๆž„ๅปบๆ•ˆ็އใ€‚\",\"description\":\"ๆทฑๅบฆ่งฃๆž ES Modules ๅ‘ฝๅๅฏผๅ‡บ/ๅฏผๅ…ฅใ€้ป˜่ฎคๅฏผๅ‡บใ€ๅŠจๆ€ๅฏผๅ…ฅ็ญ‰่ฏญๆณ•๏ผŒไปฅๅŠๆจกๅ—ๆ‰ง่กŒ้กบๅบใ€ๅพช็Žฏไพ่ต–ๅค„็†ไธŽ็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ๆœบๅˆถใ€‚\",\"permalink\":\"/fullstack/decode-es-modules\",\"tags\":[\"concept\",\"ESM\",\"static-analysis\",\"Tree-Shaking\",\"circular-dependency\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒๆ‹ฅๆŠฑๅŽŸ็”Ÿ๏ผšES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"date\":\"2024-05-14 22:29:32\",\"capture\":\"> \\n> ็†่งฃ ESM๏ผŒไธไป…ไป…ๆ˜ฏๅญฆไผš import ๅ’Œ export๏ผŒๆ›ด้‡่ฆ็š„ๆ˜ฏ็†่งฃๅฎƒๅฆ‚ไฝ•้€š่ฟ‡็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ๅฝปๅบ•ๆ”นๅ˜ไบ†ๅ‰็ซฏๆž„ๅปบ็š„ๆ•ˆ็އใ€‚\\n 1. ๅ‘ฝๅๅฏผๅ‡บไธŽๅฏผๅ…ฅ๏ผš็ฒพๅ‡†็š„ไปฃ็ ๅผ•็”จ\\nๅ‘ฝๅๅฏผๅ‡บ๏ผˆNamed Exports๏ผ‰ๆ˜ฏ ESM ๆœ€ๅธธ็”จ็š„ๅฝขๅผ๏ผŒๅฎƒๅ…่ฎธไธ€ไธชๆจกๅ—ๆšด้œฒๅคšไธชๆˆๅ‘˜ใ€‚ๅ…ถๆ ธๅฟƒไผ˜ๅŠฟๅœจไบŽ๏ผšๅฏผๅ…ฅๆ–นๅฏไปฅๆŒ‰้œ€ๅผ•ๅ…ฅ๏ผŒไธ” IDE ่ƒฝๆไพ›็ฒพๅ‡†็š„่กฅๅ…จใ€‚\\n่ฏญๆณ•ๅฎž่ทต๏ผš๏ผš\\n```javascript\\n// math.js - ๅ‘ฝๅๅฏผๅ‡บ\\n// ่กŒๅ†…ๅฏผๅ‡บ\\nexport const PI = 3.14159;\\nexport function circleArea(radius) {\\n return PI * rad\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†\",\"frontmatter\":{\"date\":\"2024-05-14 22:26:06\",\"title\":\"JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\",\"tldr\":\"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ็ญ‰ๆ ธๅฟƒ่ง„่Œƒ๏ผŒ้™„็Žฐไปฃ่ฟ็งป็ญ–็•ฅใ€‚\",\"description\":\"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ๅ››ๅคงๆจกๅ—ๅŒ–่ง„่Œƒ็š„ๆ ธๅฟƒ่ฏญๆณ•ไธŽ้€‚็”จๅœบๆ™ฏ๏ผŒ่งฃๆžๅ„่ง„่Œƒ็š„ๅ…ณ้”ฎๅทฎๅผ‚๏ผŒๅนถๆไพ›ไปŽๆ—ง่ง„่Œƒๅ‘ ESM ่ฟ็งป็š„ๅฎžๆ“็ญ–็•ฅใ€‚\",\"permalink\":\"/fullstack/different-module-programming-specifications\",\"tags\":[\"tutorial\",\"CommonJS\",\"AMD\",\"UMD\",\"ESM\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\",\"date\":\"2024-05-14 22:26:06\",\"capture\":\"ๅœจ JavaScript ่ฟ›ๅŒ–ๅฒไธŠ๏ผŒโ€œๆจกๅ—ๅŒ–โ€ๅง‹็ปˆๆ˜ฏไธ€ไธชๆ ธๅฟƒๅ‘ฝ้ข˜ใ€‚ไปŽๆ—ฉๆœŸ script ๆ ‡็ญพๆปกๅคฉ้ฃž็š„โ€œๆททๆฒŒๆ—ถไปฃโ€๏ผŒๅˆฐๅ„่ทฏ่ง„่Œƒ็พค้›„้€้นฟ็š„โ€œๆˆ˜ๅ›ฝๆ—ถไปฃโ€๏ผŒๅ†ๅˆฐๅฆ‚ไปŠ ES Modules ๅฎšไบŽไธ€ๅฐŠ๏ผŒๅผ€ๅ‘่€…ไปฌๅœจ่งฃๅ†ณไพ่ต–็ฎก็†ใ€ไฝœ็”จๅŸŸๆฑกๆŸ“ๅ’Œๅผ‚ๆญฅๅŠ ่ฝฝ็ญ‰้—ฎ้ข˜ไธŠไป˜ๅ‡บไบ†ๅทจๅคง็š„ๅŠชๅŠ›ใ€‚\\nๆœฌๆ–‡ๅฐ†ๅธฆไฝ ๆขณ็† JavaScript ๅކๅฒไธŠๆœ€้‡่ฆ็š„ๅ‡ ็งๆจกๅ—ๅŒ–่ง„่Œƒ๏ผŒไพฟไบŽๆž„ๅปบ่ตทๅ…จๆ ˆๅผ€ๅ‘็š„ๅบ•ๅฑ‚็Ÿฅ่ฏ†ๅ›พ่ฐฑใ€‚\\n 1. CommonJS ่ง„่Œƒ๏ผšNode.js ็”Ÿๆ€็š„ๅŸบ็Ÿณ\\nCommonJS ๆ˜ฏไผด้š Node.js ่ฏž็”Ÿ็š„่ง„่Œƒ,็”ฑ Kevin Dangoor ๆๅ‡บ๏ผŒๅˆ่กทๆ˜ฏ่ฎฉ JavaScript ่„ฑ็ฆปๆต่งˆๅ™จไนŸ่ƒฝๆž„ๅปบๅคๆ‚็š„็ณป็ปŸๅบ”็”จใ€‚ๅฎƒๆ˜ฏ Node.\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€\",\"frontmatter\":{\"date\":\"2024-05-12 22:43:28\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ๏ผšๆฆ‚ๅฟตใ€ๆผ”่ฟ›ไธŽ่ฎพ่ฎกๆจกๅผ\",\"tldr\":\"ไปŽๅ…จๅฑ€ๅ˜้‡ๅˆฐ ES Modules๏ผšJavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›ไธŽๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผๅฎž่ทตใ€‚\",\"description\":\"็ณป็ปŸ่ฎฒ่งฃ JavaScript ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€๏ผŒๆถต็›– IIFEใ€CommonJSใ€ES Modules ่ง„่Œƒๆผ”่ฟ›๏ผŒไปฅๅŠๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผไธŽๆจกๅ—ๅŒ–็š„็ป“ๅˆใ€‚\",\"permalink\":\"/fullstack/frontend-module-programming-basic\",\"tags\":[\"tutorial\",\"javascript\",\"modularization\",\"esm\",\"design-patterns\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ๏ผšๆฆ‚ๅฟตใ€ๆผ”่ฟ›ไธŽ่ฎพ่ฎกๆจกๅผ\",\"date\":\"2024-05-12 22:43:28\",\"capture\":\"1. ๅผ•่จ€\\n้š็€้กน็›ฎ่ง„ๆจกๆ—ฅ็›Š่†จ่ƒ€๏ผŒไปฃ็ ้‡ไปŽๅ‡ ๅƒ่กŒ่ฟ…้€Ÿๅขž้•ฟๅˆฐๆ•ฐไธ‡็”š่‡ณๆ•ฐๅไธ‡่กŒ๏ผŒๅฐ†ๆ‰€ๆœ‰้€ป่พ‘ๅกž่ฟ›ๅฐ‘ๆ•ฐๅ‡ ไธชๆ–‡ไปถ็š„ๅšๆณ•ๆ—ฉๅทฒ้šพไปฅไธบ็ปงใ€‚ๅœจ่ฟ™ๆ ท็š„่ƒŒๆ™ฏไธ‹๏ผŒๆจกๅ—ๅŒ–็ผ–็จ‹ๅบ”่ฟ่€Œ็”Ÿ๏ผŒๆˆไธบ็Žฐไปฃๅ‰็ซฏๅผ€ๅ‘็š„ๆ ‡้…ใ€‚\\nๅฎƒ็š„ๆ ธๅฟƒ็†ๅฟต็ฎ€ๆด่€Œไผ˜้›…๏ผšๅƒๆญ็งฏๆœจไธ€ๆ ท๏ผŒๅฐ†ๅบžๅคงๅคๆ‚็š„็ณป็ปŸๆ‹†่งฃไธบไธ€ไธชไธช็‹ฌ็ซ‹ใ€ๅŠŸ่ƒฝๅ•ไธ€ไธ”ๅฏๅค็”จ็š„ๆจกๅ—๏ผŒ่ฎฉๆฏไธชๆจกๅ—ๅ„ๅธๅ…ถ่Œ๏ผŒๅ†้€š่ฟ‡ๆ ‡ๅ‡†ๆŽฅๅฃ็ตๆดป็ป„ๅˆใ€‚\\n 2. ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ\\nๅœจๆทฑๅ…ฅ็†่ฎบไน‹ๅ‰๏ผŒ่ฎฉๆˆ‘ไปฌๅ…ˆ้€š่ฟ‡ไธ€ไธช็ฎ€ๅ•็š„ JavaScript ็คบไพ‹๏ผŒ็›ด่ง‚ๅœฐๆ„Ÿๅ—ไธ€ไธ‹ไป€ไนˆๆ˜ฏๆจกๅ—ๅŒ–ใ€‚ๅ‡่ฎพๆˆ‘ไปฌ้œ€่ฆๅค„็†ไธ€ไบ›ๆ•ฐๅญฆ่ฟ็ฎ—๏ผŒๆˆ‘ไปฌๅฏไปฅๅฐ†ๅ…ถๅฐ่ฃ…ๆˆไธ€ไธช็‹ฌ็ซ‹็š„ๅทฅๅ…ทๆจกๅ—๏ผš\\n```javascript\\n// math.js - ๅฎšไน‰ไธ€ไธชๆ•ฐๅญฆๅทฅๅ…ทๆจกๅ—\\nexp\"},{\"url\":\"/10.ไบงๅ“ Sense/01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž/11.AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"relativePath\":\"/10.ไบงๅ“ Sense/01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž/11.AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"frontmatter\":{\"date\":\"2024-05-08 08:56:21\",\"title\":\"AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจๅคงๆจกๅž‹้‡ๅก‘ไบ’่”็ฝ‘ไบคไบ’็š„ๅฝ“ไธ‹๏ผŒPerplexity ๅนถๆœช้€‰ๆ‹ฉๆˆไธบโ€œไธ‹ไธ€ไธช Googleโ€๏ผŒ่€Œๆ˜ฏไปฅโ€œ็Ÿฅ่ฏ†ๅ‘็Žฐๅผ•ๆ“Žโ€็š„ๅ…จๆ–ฐๅฎšไฝ๏ผŒ็ฒพๅ‡†ๅˆ‡ๅ…ฅ็Ÿฅ่ฏ†ๅทฅไฝœ่€…็š„ๆ ธๅฟƒๅทฅไฝœๆตใ€‚ๆœฌๆ–‡่ทณๅ‡บๅ•็บฏ็š„ๆจกๅž‹่ƒฝๅŠ›ๅฏนๆฏ”๏ผŒไปŽไบงๅ“ Sense ไธŽๅทฅ็จ‹้€ป่พ‘็š„ๅŒ้‡่ง†่ง’๏ผŒๆทฑๅบฆๆ‹†่งฃ Perplexity ็š„็ ดๅฑ€ไน‹้“ใ€‚ๆˆ‘ไปฌๅฐ†ๆŽข่ฎจๅฎƒๅฆ‚ไฝ•้€š่ฟ‡ๅ็›ด่ง‰็š„ UI ๅˆ›ๆ–ฐ้‡ๅก‘ไบคไบ’่ตท็‚น๏ผŒๅฆ‚ไฝ•ๅœจๅทฅ็จ‹ๅฑ‚้ขๆญป็ฃ•ๅฐพ้ƒจๅปถ่ฟŸไธŽๅนป่ง‰ๆŽงๅˆถ๏ผŒไปฅๅŠๅฎƒๅฆ‚ไฝ•ๅˆฉ็”จๅทจๅคด็š„ๅˆฉๆถฆ็އๆŠคๅŸŽๆฒณๅฎž็Žฐ้”™ไฝ็ซžไบ‰ใ€‚ๆœ€็ปˆ๏ผŒๆˆ‘ไปฌๅฐ†่ง†็บฟๆŠ•ๅ‘ๆœชๆฅ๏ผŒไธ€็ชฅ AI ไปŽ่ขซๅŠจๅ“ๅบ”่ตฐๅ‘ไธปๅŠจๆŽข็ดข็š„ๆผ”่ฟ›่“ๅ›พใ€‚\",\"permalink\":\"/product-sense/perplexity-knowledge-worker\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"AI ๆœ็ดข\",\"็Ÿฅ่ฏ†ๅ‘็Žฐ\",\"ไบงๅ“ Sense\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"date\":\"2024-05-08 08:56:21\",\"capture\":\"1. ๅผ•่จ€\\nๅœจ AI ๆตชๆฝฎไธ‹๏ผŒๆœ็ดขๅผ•ๆ“Ž็š„่Œƒๅผๆญฃๅœจๅ‘็”Ÿ่ฝฌ็งปใ€‚ไฝœไธบๅฝ“ๅ‰ๅค‡ๅ—็žฉ็›ฎ็š„ AI ๆœ็ดขไบงๅ“๏ผŒPerplexity ๅนถๆฒกๆœ‰่ฏ•ๅ›พๆˆไธบโ€œไธ‹ไธ€ไธช Googleโ€๏ผŒ่€Œๆ˜ฏๅฐ†่‡ชๅทฑๅฎšไน‰ไธบ็Ÿฅ่ฏ†ๅ‘็Žฐๅผ•ๆ“Žใ€‚\\nๅฏนไบŽๆฏๅคฉ้œ€่ฆๅค„็†ๆตท้‡ไฟกๆฏใ€่ฟ›่กŒๅคๆ‚ๅ†ณ็ญ–็š„็Ÿฅ่ฏ†ๅทฅไฝœ่€…่€Œ่จ€๏ผŒๅฆ‚ไฝ•้ซ˜ๆ•ˆๅœฐโ€œๅŽปๅ™ชโ€ๅนถ่Žทๅ–้ซ˜ไฟกๅบฆ็Ÿฅ่ฏ†ๆ˜ฏๆ ธๅฟƒ่ฏ‰ๆฑ‚ใ€‚็ฌ”่€…ๅฐ†ไปŽไบงๅ“ไบคไบ’ใ€ๆŠ€ๆœฏๅทฅ็จ‹ใ€ๅ•†ไธš้€ป่พ‘ไธŽๆœชๆฅๆผ”่ฟ›ๅ››ไธช็ปดๅบฆ๏ผŒๅˆ†ๆž Perplexity ๆ˜ฏๅฆ‚ไฝ•้‡ๅก‘ไฟกๆฏ่Žทๅ–ๅทฅไฝœๆต็š„ใ€‚\\nๆœฌๆ–‡ๆ—จๅœจ้€š่ฟ‡ๅฏน Perplexity ็š„ๆทฑๅบฆไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž๏ผŒๅธฎๅŠฉ่ฏป่€…็†่งฃ AI ๆœ็ดขไบงๅ“็š„่ฎพ่ฎก้€ป่พ‘ไธŽ็”จๆˆทไฝ“้ชŒไผ˜ๅŒ–่ทฏๅพ„๏ผŒๅŒๆ—ถไธบ็Ÿฅ่ฏ†ๅทฅไฝœ่€…ๆไพ›ๅฏ่ฝๅœฐ็š„ๆ•ˆ็އๆๅ‡ๆ–นๆณ•๏ผŒๅนถๅœจ่ฟ‡็จ‹ไธญๅŸนๅ…ป็ป“ๆž„ๅŒ–ไบงๅ“ๅˆ†ๆžๆ€็ปดใ€‚\\n\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/70.่ฏ—ๆญŒๅฐ็ฒพ็ต\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/70.่ฏ—ๆญŒๅฐ็ฒพ็ต\",\"frontmatter\":{\"date\":\"2024-04-19 22:15:38\",\"title\":\"้›ถไปฃ็ ไธ็ญ‰ไบŽ้›ถ้€ป่พ‘๏ผš็ป“ๆž„ๅŒ– Prompt ้ฉฑๅŠจไธ‹็š„ Agent ๆญๅปบๅฎžๆˆ˜\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจ Agent ๆฆ‚ๅฟตๆปกๅคฉ้ฃž็š„ๅฝ“ไธ‹๏ผŒๅ†ณๅฎšๅคงๆจกๅž‹ๅฎž้™…่กจ็Žฐ็š„ๅพ€ๅพ€ๆ˜ฏๆœ€ๅบ•ๅฑ‚็š„ System Prompt ่ฎพ่ฎกใ€‚ๆœฌๆ–‡่ฎฐๅฝ•ไบ†ๅ‘จๆœซๅˆฉ็”จๆ–‡ๅฟƒๆ™บ่ƒฝไฝ“ๅนณๅฐๆญๅปบโ€œ่ฏ—ๆญŒๅฐ็ฒพ็ตโ€็š„ๅฎŒๆ•ดๅฎž่ทตใ€‚้€š่ฟ‡ๅฏนๆฏ”โ€œไผ ็ปŸๅคงๆฎตๆ–‡ๆœฌโ€ไธŽโ€œLangGPT ็ป“ๆž„ๅŒ–โ€ไธค็ง Prompt ็š„ๅฎž้™…่พ“ๅ‡บ๏ผŒๆทฑๅบฆๆ‹†่งฃไบ†็ป“ๆž„ๅŒ– Prompt ๅฆ‚ไฝ•ๅƒโ€œๅ†™ไปฃ็ โ€ไธ€ๆ ท่ง„่Œƒ AI ็š„ๆ€่€ƒๅทฅไฝœๆต๏ผŒๆœ‰ๆ•ˆ่งฃๅ†ณๆŒ‡ไปคๆผ‚็งปไธŽๅนป่ง‰้—ฎ้ข˜ใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ๆฌก Prompt ่ฐƒไผ˜ๅฎž้ชŒ๏ผŒๆ›ดๆ˜ฏไธ€ๅœบๅ…ณไบŽ AI ไบงๅ“ Sense ไธŽๆœชๆฅไบคไบ’ๅฝขๆ€็š„ๆŽข็ดขใ€‚\",\"coverImg\":\"/img/cover/llm_learning_bg_2.png\",\"categories\":[\"ai-practice\"],\"permalink\":\"/ai-practice/poetry-bot\",\"tags\":[\"Agent\",\"AI\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"้›ถไปฃ็ ไธ็ญ‰ไบŽ้›ถ้€ป่พ‘๏ผš็ป“ๆž„ๅŒ– Prompt ้ฉฑๅŠจไธ‹็š„ Agent ๆญๅปบๅฎžๆˆ˜\",\"date\":\"2024-04-19 22:15:38\",\"capture\":\"1. ๅฎž่ทต่ƒŒๆ™ฏ\\nๅ‘จๆœซๅœจ็คพๅŒบๆดปๅŠจไธญๅ†ๆฌกๅฌๅˆฐไบ† LangGPT ไฝœ่€…ไบ‘ไธญๆฑŸๆ ‘ๅ…ณไบŽโ€œ็ป“ๆž„ๅŒ–ๆ็คบ่ฏโ€็š„ๅˆ†ไบซ๏ผŒ่ฎฉไบบๆ„Ÿ่งฆ้ข‡ๆทฑใ€‚่™ฝ็„ถๅฝ“ๅ‰ Agent ๆฆ‚ๅฟต็ซ็ƒญ๏ผŒๅฑ‚ๅ‡บไธ็ฉท็š„ๆก†ๆžถ่ฎฉไบบ็œผ่Šฑ็ผญไนฑ๏ผŒไฝ†ๅ›žๅฝ’ๆœฌ่ดจๆˆ‘ไปฌๅฐฑไผšๅ‘็Žฐ๏ผšSystem Prompt ็š„ๅบ•ๅฑ‚่ฎพ่ฎกใ€ไธŠไธ‹ๆ–‡ๅทฅ็จ‹ไปฅๅŠๆŒ‡ไปค้ตๅพชๆœบๅˆถ๏ผŒๆ‰ๆ˜ฏๅ†ณๅฎšไธ€ไธช Agent ็ต้ญ‚็š„ๅ…ณ้”ฎใ€‚\\nๆญฃๅทงๅคงๅ›ข้˜Ÿ่‡ช็ ”็š„้›ถไปฃ็  Agent ๅนณๅฐ่ฟ‘ๆœŸๅ‘ๅธƒไบ†ๆ–ฐ็‰ˆๆœฌ๏ผŒไธบไบ†ไบฒๆต‹ๅนณๅฐๆ€ง่ƒฝๅนถๅฎžๆˆ˜ๆผ”็ปƒ็ป“ๆž„ๅŒ– Prompt ็š„็ผ–ๅ†™ๆŠ€ๅทง๏ผŒๆˆ‘ๅ†ณๅฎšๅˆ›ๅปบไธ€ไธชโ€œ่ฏ—ๆญŒๅฐ็ฒพ็ตโ€ Agentใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ไธช่ถฃๅ‘ณๅฎž้ชŒ๏ผŒๆ›ดๆ˜ฏไธบไบ†ๆŽข็ดข AI ๅœจๆ–‡ๅญฆๅˆ›ไฝœ่ฟ™็งโ€œๆ„Ÿๆ€ง้ข†ๅŸŸโ€ไธญ๏ผŒๅฆ‚ไฝ•้€š่ฟ‡โ€œ็†ๆ€ง็š„็ป“ๆž„็บฆๆŸโ€่พพๅˆฐๆ›ด้ซ˜็š„่พ“ๅ‡บไธŠ้™ใ€‚\\n 2. ๅนณๅฐไธŽ\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2024-03-20 22:41:41\",\"title\":\"ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ๅœจ้œ€ๆฑ‚่พน็•Œๅ†…่ฟฝๆฑ‚ๆœ€ๅฐๅคๆ‚ๅบฆโ€”โ€”ไธๆ˜ฏๆ‹’็ปๅคๆ‚๏ผŒ่€Œๆ˜ฏไธไธปๅŠจๅˆถ้€ ๅคๆ‚ใ€‚\",\"description\":\"ๆทฑๅ…ฅ่งฃๆžๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™ๅœจ็ผ–็จ‹ไธŽ่ฎพ่ฎกไธญ็š„ๅ…ญๅคงๅœบๆ™ฏ๏ผšๆ‹’็ป่ฟ‡ๅบฆ้ข„ๅˆคใ€็งป้™คๅ†—ไฝ™้€ป่พ‘ใ€ๅŒน้…ๆžถๆž„่ง„ๆจกใ€ๅ…‹ๅˆถไพ่ต–ๅผ•ๅ…ฅใ€ๅฐ่ฃ…ๆœ€ๅฐๆŽฅๅฃใ€ๅ…ˆๆŽ’ๆŸฅ็ฎ€ๅ•ๅŽŸๅ› ๏ผŒๅนถ็ป™ๅ‡บไธ‰ไธชๅ…ณ้”ฎ่พน็•Œใ€‚\",\"permalink\":\"/fullstack/occams-razor-software-design\",\"tags\":[\"concept\",\"engineering-fundamentals\",\"code-design\",\"software-engineering\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2024-03-20 22:41:41\",\"capture\":\"<script setup\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n> ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™็”ฑ 14 ไธ–็บช้€ป่พ‘ๅญฆๅฎถๅจๅป‰ยทๅฅฅๅกๅง†ๆๅ‡บ๏ผŒๅ…ถๆ ธๅฟƒไธบ\\\"ๅฆ‚ๆ— ๅฟ…่ฆ๏ผŒๅ‹ฟๅขžๅฎžไฝ“\\\"โ€”โ€”ๅœจๅคšไธชๅŒ็ญ‰ๆœ‰ๆ•ˆ็š„ๆ–นๆกˆไธญ๏ผŒ้€‰ๆ‹ฉๅ‡่ฎพๆœ€ๅฐ‘ใ€ๆœ€็ฎ€ๆด็š„้‚ฃไธชใ€‚่ฏฅๅŽŸๅˆ™ๅนถ้žๅฆๅฎšๅคๆ‚ๆ€ง๏ผŒ่€Œๆ˜ฏ้ฟๅ…ๆ— ๆ„ไน‰็š„่ฟ‡ๅบฆ่ฎพ่ฎกใ€‚ๆ–‡็ซ ไปŽ็ผ–็จ‹ไธŽ่ฎพ่ฎกๅฎž่ทตๅ‡บๅ‘๏ผŒไพๆฌกๆŽข่ฎจไบ†้œ€ๆฑ‚ๅฎž็Žฐใ€ไปฃ็ ๅฎž็Žฐใ€ๆžถๆž„่ฎพ่ฎกใ€ไพ่ต–็ฎก็†ใ€ๆŽฅๅฃ่ฎพ่ฎกใ€่ฐƒ่ฏ•ไผ˜ๅŒ–ๅ…ญๅคงๅœบๆ™ฏ็š„ๅไพ‹ไธŽๆญฃไพ‹๏ผŒๅนถๆ˜Ž็กฎๆŒ‡ๅ‡บไธ‰ไธชๅ…ณ้”ฎ่พน็•Œ๏ผšไธๅฏ็‰บ็‰ฒๅฏ็ปดๆŠคๆ€งใ€ๅฏๆ‰ฉๅฑ•ๆ€งใ€ๅฎ‰ๅ…จๆ€งๆขๅ–็ฎ€ๆดใ€‚\\n 1.\"},{\"url\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"relativePath\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"frontmatter\":{\"date\":\"2024-01-15 22:16:00\",\"title\":\"่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไนฆๆŽฅไธŠๆ–‡ใ€Šๅ‘ๅ†…ๆ€ๅ˜ใ€‹๏ผŒๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ๅœจๅŽ็–ซๆƒ…ๆ—ถไปฃไปŽโ€œ้—ญๅ…ณโ€่ตฐๅ‘โ€œๅ‘ๅค–ไฝ“้ชŒโ€็š„ๅฐ่ฏ•ไธŽๅฟƒๅพ—ใ€‚้ขๅฏนๆœบๆขฐๆ‰ง่กŒๅธฆๆฅ็š„โ€œ็›ฎๆ ‡้šง้“โ€ๆ•ˆๅบ”๏ผŒ็ฌ”่€…ๅฐ่ฏ•่ทณๅ‡บๅ•ไธ€็š„็บฟๆ€ง่ง„ๅˆ’๏ผŒ่ฝฌ่€Œๅฏปๆฑ‚ๆ›ดๅบ•ๅฑ‚็š„่ฎค็Ÿฅ้€ป่พ‘ใ€‚ๆ–‡็ซ ้€š่ฟ‡้‡่ฏปใ€Š่ฆไบ‹็ฌฌไธ€ใ€‹ๅปบ็ซ‹ๅนณ่กก่ง‚๏ผŒๅˆฉ็”จ็ณป็ปŸๆ€็ปด๏ผˆๅขžๅผบ/่ฐƒ่Š‚ๅ›ž่ทฏ๏ผ‰ๆž„ๅปบๆดžๅฏŸๅŠ›๏ผŒๅนถ้‡ๆ–ฐๆ‹พ่ตทๆ•ฐๅญฆๆ€็ปด๏ผˆๆฆ‚็އใ€็จ€็–ๆ€งใ€ๅคšๆ ทๆ€ง๏ผ‰ไธŽ AI ่ง†่ง’ใ€‚่ฟ™ๆ˜ฏไธ€ๆฌกๅ…ณไบŽๅฆ‚ไฝ•็”จ็ง‘ๅญฆๆจกๅž‹ๆ›ฟไปฃๆœบๆขฐๆ‰ง่กŒ๏ผŒไปŽๆœฌ่ดจไธŠ้‡ๆž„ไธชไบบ่ฎค็Ÿฅไฝ“็ณป็š„ๆทฑๅบฆๅค็›˜ใ€‚\",\"permalink\":\"/growth/outer-experience\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/outer_experience_bg.png\",\"sticky\":1,\"top\":true,\"tags\":[\"็ณป็ปŸๆ€็ปด\",\"ๆ•ฐๅญฆๆ€็ปด\",\"ๆจกๅž‹ๆ€็ปด\",\"AI\",\"็–ซๆƒ…\"],\"categories\":[\"ไธชไบบๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"date\":\"2024-01-15 22:16:00\",\"capture\":\"1. ๅ†™ๅœจๅ‰้ข\\nๆ—ถๅ…‰่่‹’๏ผŒ็–ซๆƒ…ๅทฒ็ป็”ฑๆ”พๅผ€็Šถๆ€็ปง็ปญๆผ”ๅ˜ไธบ่ฟ‡ๅŽปๅผ็Šถๆ€๏ผŒๆˆ‘ไปฌไบบ็ฑปไนŸไปŽใ€Ž้—ญๅ…ณใ€่ตฐๅ‘ไบ†ใ€Ž่‡ช็”ฑใ€็š„็คพไผš็”Ÿๆดป็Šถๆ€ใ€‚็ฌ”่€…ไฝœไธบ็คพไผšไธญ็š„ๆ™ฎ้€šไธ€ๅ‘˜๏ผŒ่‡ช็„ถไนŸไธ็ฆปๅค–๏ผŒๅœจ 2023 ๅนดๅˆๆด‹ๆด‹ๆด’ๆด’ๅ†™ไบ†ไธ€็ฏ‡ๅœจๅฅๅบทใ€่ฏปไนฆไธŽๅญฆไน ใ€ๆ—ถ้—ด็ฎก็†ๅ’Œๆททๅˆๅทฅไฝœๅˆถๅ‡ ไธชๆ–น้ข็š„ๅฎž่ทตไธŽ็†่งฃ๏ผˆๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ๏ผ‰๏ผŒๅฐฑๅผ€ๅผ€ๅฟƒๅฟƒๅœฐๅ‘ๅ‰็œ‹๏ผŒๅญฆ็€ๅ‘ๅค–ไฝ“้ชŒไบ†ใ€‚\\n้‚ฃไนˆ้—ฎ้ข˜ๆฅไบ†๏ผŒ็›ธๆฏ”ไน‹ๅ‰ๅ†™ๅ‡บ้•ฟๆ–‡๏ผŒ็ฌ”่€…ๅˆๆ˜ฏ่ฟ‘ไธ€ๅนดๆฒกๆœ‰ๅ‘ๅค–่พ“ๅ‡บ่ฝฏๆ–‡ไบ†ใ€‚ๅ› ๆญค๏ผŒไนฆๆŽฅไธŠๆ–‡๏ผŒๆœฌๆฌก็ปง็ปญๆ–ฐๅขžไธ€็ฏ‡ไธญ็Ÿญๆ–‡๏ผŒๆผซ่ฐˆไธ€ไธ‹็–ซๆƒ…ๅŽ็š„ๅ‘ๅค–ไฝ“้ชŒใ€‚\\nๅœจๅ€’้€ผ่‡ชๅทฑๅ…ณๆณจ่บซไฝ“ๅฅๅบทๅ’Œๆ—ถ้—ด็ฎก็†ๅŽ๏ผŒ่™ฝ็„ถๅœจไฝ“้‡ๅ’Œๆ•ˆ็އไธคไธชๆ–น้ขๆœ‰ไธ€ๅฎš็š„ๆญฃๅ‘ๆ•ˆๆžœ๏ผŒไฝ†็ฌ”่€…ๅœจ่ฟž็ปญๅšๆŒ่ฝๅœฐๆ‹†่งฃๅ‡บๆฅ็š„็›ฎๆ ‡่ฟ‡็จ‹ไธญ๏ผŒๆœ‰ๆ—ถ\"},{\"url\":\"/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/50.็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“\",\"relativePath\":\"/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/50.็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“\",\"frontmatter\":{\"date\":\"2024-01-01 16:00:00\",\"title\":\"็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“\",\"description\":\"ๅฐ†็ปๆตŽๅญฆๆ ธๅฟƒๅŽŸ็†่žๅˆ่ฟ›ไบงๅ“่ฎพ่ฎกๅ…จ็”Ÿๅ‘ฝๅ‘จๆœŸ็š„ๆ–นๆณ•่ฎบไฝ“็ณป๏ผŒๆž„ๅปบ็†ๆ€ง็š„โ€œไบงๅ“Senseโ€ใ€‚\",\"categories\":[\"ไบงๅ“ Sense\"],\"permalink\":\"/product-sense/using-economics-thinking\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“\",\"date\":\"2024-01-01 16:00:00\",\"capture\":\"ๅœจไบงๅ“็ฎก็†็š„ๅนฟ้˜”ๅคฉๅœฐไธญ๏ผŒๆˆ‘ไปฌๅพ€ๅพ€ๅผบ่ฐƒโ€œไบงๅ“ Senseโ€๏ผˆProduct Sense๏ผ‰โ€”โ€”ไธ€็งๅฏน็”จๆˆท้œ€ๆฑ‚ใ€ๅธ‚ๅœบ้ฃŽๅ‘ๅ’ŒๆŠ€ๆœฏๆฝœๅŠ›็š„็›ด่ง‰ๆ€งๆ•ๆ‰ใ€‚็„ถ่€Œ๏ผŒ่ฟ™็ง Sense ็ป้žๅ‡ญ็ฉบ่€Œๆฅ็š„็ตๅ…‰ไน็Žฐ๏ผŒๅฎƒ้œ€่ฆ็จณๅ›บ็š„็†ๆ€งๅœฐๅŸบใ€‚ๅœจไผ—ๅคšๅญฆ็ง‘ไธญ๏ผŒ็ปๆตŽๅญฆๆ— ็–‘ๆไพ›ไบ†ๆœ€ๅบ•ๅฑ‚็š„้€ป่พ‘ๆ”ฏๆŸฑใ€‚\\n็ปๆตŽๅญฆไธไป…ไป…ๆ˜ฏๅ…ณไบŽ้‡‘้’ฑๅ’Œๅธ‚ๅœบ็š„็ง‘ๅญฆ๏ผŒๅฎƒๆ›ดๆ˜ฏไธ€็ง่งฃๅ†ณ้—ฎ้ข˜ใ€ไผ˜ๅŒ–ๅ†ณ็ญ–็š„ๆ–นๅผใ€‚ๅฏนไบงๅ“ไบบ่€Œ่จ€๏ผŒๅ€Ÿ้‰ด็ปๆตŽๅญฆๆ€็ปด๏ผŒๆ„ๅ‘ณ็€่ƒฝๅคŸ็†ๆ™บๅœฐๆƒ่กกๅˆฉๅผŠ๏ผŒๆ›ด็ฒพๅ‡†ๅœฐๅฎšไปท๏ผŒๆ›ดๆทฑๅˆปๅœฐๆดžๅฏŸไบบๆ€ง๏ผŒๆœ€็ปˆๅœจ้”™็ปผๅคๆ‚็š„็บฆๆŸๆกไปถไธ‹๏ผŒๆฑ‚่งฃๅ‡บ็”จๆˆทไปทๅ€ผไธŽๅ•†ไธšไปทๅ€ผๅนถ้‡็š„ๆœ€ไผ˜่งฃใ€‚\\n 1. ็”Ÿๆดป้‡Œ็š„็ปๆตŽๅญฆๆดžๅฏŸโ€”โ€”ๆดžๅฏŸไธไป…ๆ˜ฏๅ…ณไบŽ้œ€ๆฑ‚๏ผŒๆ›ดๆ˜ฏๅ…ณไบŽๆˆๆœฌไธŽๅšๅผˆ\\nๆˆ‘ไปฌๅธธ่ขซๆ—ฅๅธธ็Žฐ่ฑก็š„โ€œๅˆ็†ๆ€งโ€ๆ‰€่ฟทๆƒ‘๏ผŒ่€Œ็ปๆตŽๅญฆ\"},{\"url\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/01.ๅฅฝไนฆๆŽจ่\",\"relativePath\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/01.ๅฅฝไนฆๆŽจ่\",\"frontmatter\":{\"title\":\"ๅฅฝไนฆๆŽจ่\",\"date\":\"2024-01-01 16:00:00\",\"description\":\"่ฏปไนฆๅฟƒๅพ—ใ€ๆŽจ่ไนฆ็ฑๅ’Œ้˜…่ฏปๆŠ€ๅทง\",\"categories\":[\"growth\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/books_reading_bg.png\",\"permalink\":\"/growth/books\",\"tags\":[\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\",\"่ต„ๆบๆŽจ่\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฅฝไนฆๆŽจ่\",\"date\":\"2024-01-01 16:00:00\",\"capture\":\"<script setup\\n import BookRecommend from './@fragment/BookRecommend.vue'\\n import {aiBooks, productSenseBooks, businessBooks, efficiencyBooks, growthBooks, humanSocialBooks, healthBooks} from './@fragment/recommends-data.ts'\\n</script>\\n 1. AI ไธŽๆ•ฐๅญฆๆ€็ปด\\n> ๅœจๅคงๆจกๅž‹ๅ‘ๅฑ•ๆ—ฅๆ–ฐๆœˆๅผ‚็š„ไปŠๅคฉ๏ผŒ็†่งฃ AI ๆœฌ่ดจไธŠๆ˜ฏๅœจๅ‡็บงๆˆ‘ไปฌ่ต„ๆทฑ็š„โ€œ่ฎค็Ÿฅๆ“\"},{\"url\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"relativePath\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"frontmatter\":{\"date\":\"2023-01-08 10:23:50\",\"title\":\"ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅฆ‚ไฝ•้ฟๅ…ๅ†…่€—๏ผŸๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ไธ‰ๅนด้—ด็š„โ€œ่‡ชๆˆ‘้‡ๆž„โ€ๅฎž้ชŒใ€‚ๆ–‡็ซ ๆ‘’ๅผƒไบ†ๅ•็บฏ็š„ๆƒ…็ปชๅฎฃๆณ„๏ผŒ่€Œๆ˜ฏๅˆฉ็”จๅˆ†่งฃๆณ•ใ€ๆธ่ฟ›ๆ˜Ž็ป†ๅ’Œ็ปŸ่ฎกๅˆ†ๆž็ญ‰ๅทฅ็จ‹ๆ€็ปด๏ผŒๅฏนๅฅๅบท้ฅฎ้ฃŸใ€็Ÿฅ่ฏ†ไฝ“็ณปใ€ๆ—ถ้—ดๅˆ†้…ๅŠ่ฟœ็จ‹ๅไฝœ่ฟ›่กŒไบ†็ณป็ปŸๅŒ–ๆ”น้€ ใ€‚่ฟ™ๆ˜ฏไธ€ไปฝๅ…ณไบŽๅฆ‚ไฝ•ๅœจๆ— ๅธธ็š„ๅค–้ƒจ็Žฏๅขƒไธญ๏ผŒๅปบ็ซ‹ๅ†…ๅœจ็กฎๅฎšๆ€ง็งฉๅบ็š„่กŒๅŠจๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/growth/inner-experience\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/refactor_life.png\",\"sticky\":1,\"top\":true,\"categories\":\"ไธชไบบๆˆ้•ฟ\",\"tags\":[\"ๅฅๅบท\",\"ๆ—ถ้—ด\",\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\",\"่ฟœ็จ‹ๅไฝœ\",\"็–ซๆƒ…\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"date\":\"2023-01-08 10:23:50\",\"capture\":\"<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/refactor_life.png\\\" alt=\\\"็›ฎๆ ‡ๅˆฐ่ทต่กŒๆ€็ปดๆต็จ‹็คบๆ„ๅ›พ\\\" style=\\\"width: 100%; border-radius: 8px;\\\" />\\n ๅ†™ๅœจๅ‰้ข\\n่‡ชๅŽปๅนด 7 ๆœˆไปฝ่ฟ็งปๅ‡ ็ฏ‡ๆ—งๆ–‡ๅŽ๏ผŒ็ฌ”่€…ๅฐฑๆฒกๆœ‰็ปง็ปญๅ†™่ฝฏๆ–‡ไบ†๏ผŒๆƒณไธๅˆฐๅ†ๆฌกๅ†™ๆ–‡็ซ ๆ—ถ็–ซๆƒ…ๆ”ฟ็ญ–ๅทฒ็ป่ฐƒๆ•ด๏ผŒไธ”ๅˆๆญฅๅฎž็Žฐไบ†ๅผ€ๆ”พใ€‚้‚ฃไนˆ้—ฎ้ข˜ๆฅไบ†๏ผŒไธบไป€ไนˆ่ฆ็ปง็ปญๅ†™ๆ–‡็ซ ๅ‘ข๏ผŸๆฆ‚ๆ‹ฌๆฅ่ฎฒ๏ผŒๆœ‰ไธคไธชๆ–น้ข็š„ๅŽŸๅ› ๏ผš\\n* ็›ดๆŽฅๅŽŸๅ› ๏ผš็–ซๆƒ…่ฟ™ไธ‰ๅนด๏ผŒๆฏไธชไบบ้ƒฝไฝ“้ชŒๅˆฐไบ†ไธๅŒไบŽไน‹ๅ‰็š„ โ€œ้šพโ€๏ผŒไนŸ้ƒฝๆœ‰\"},{\"url\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/20.ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹้˜ถๆฎต้š็ฌ”ๆฑ‡ๆ€ป\",\"relativePath\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/20.ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹้˜ถๆฎต้š็ฌ”ๆฑ‡ๆ€ป\",\"frontmatter\":{\"date\":\"2022-09-12 08:16:00\",\"title\":\"็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ”นๅ–„็š„ๆ–นๅผๆŽจๅŠจๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไปŽโ€œไนฆ็”Ÿๆ„ๆฐ”โ€ๅˆฐๅˆๅ…ฅ็คพไผš็š„โ€œไธญๅนดๆฒน่…ปโ€ๅฑๆœบ๏ผŒไธ€ๆฌกๅฅๅบท่ญฆๆŠฅ่ฎฉ็ฌ”่€…ๅผ€ๅฏไบ†่ฟ™ๅœบๆทฑๅˆป็š„่‡ชๆˆ‘ๅฏน่ฏไธŽ่กŒๅŠจใ€‚ๆœฌๆ–‡่ฏฆ็ป†ๅค็›˜ไบ†็ฌ”่€…ไปŽๅฅๅบทๅฑๆœบๅ‡บๅ‘๏ผŒ้€š่ฟ‡ๅ››ไธช้˜ถๆฎต็š„ๅพชๅบๆธ่ฟ›๏ผŒๆˆๅŠŸๅฎž็Žฐไฝ“้‡็ฎก็†็š„่ฟ‡็จ‹ใ€‚ๅŒบๅˆซไบŽ็›ฒ็›ฎ่ทŸ้ฃŽ๏ผŒ็ฌ”่€…ๅœจๅฎž่ทตไธญๅผ•ๅ…ฅไบ†็›ฎๆ ‡ๆ‹†่งฃใ€ๆ•ฐๆฎ็›‘ๆŽง๏ผˆไฝ“่„‚็งคๆŒ‡ๆ ‡๏ผ‰ใ€่ทจ้ข†ๅŸŸ็ป้ชŒ่ฟ็งป๏ผˆๅฆ‚้กน็›ฎ็ฎก็†ใ€ๆ—ถ้—ด็ฎก็†๏ผ‰ไปฅๅŠๅฏนไธๅŒ็ญ–็•ฅ๏ผˆๅฆ‚ๆŽงๅˆถ้ฅฎ้ฃŸใ€ๅŠ ๅคงๆ— ๆฐง่ฟๅŠจใ€ๅฐ่ฏ•ไธๅƒไธป้ฃŸ๏ผ‰็š„่พฉ่ฏ้‡‡็บณใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ไปฝๅ‡่‚ฅ่ฎฐๅฝ•๏ผŒๆ›ดๆ˜ฏไธ€ๆฌก็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ€็ปด้‡ๆž„็”Ÿๆดป็งฉๅบใ€ๅฎž็Žฐ่บซๅฟƒๅ‡็บง็š„ๅฎžๆ“ๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/growth/weight-loss\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/health_bg.png\",\"top\":true,\"tags\":[\"ๅฅๅบท\",\"่ฟๅŠจ\"],\"categories\":[\"ไธชไบบๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ”นๅ–„็š„ๆ–นๅผๆŽจๅŠจๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹\",\"date\":\"2022-09-12 08:16:00\",\"capture\":\"ๅ†™ๅœจๅ‰้ข\\nๅœจ็ปๆตŽๅฟซ้€Ÿๅ‘ๅฑ•็š„ๅคง่ƒŒๆ™ฏไธ‹๏ผŒไธ€ๆ‰นๅˆไธ€ๆ‰น็š„ๅคงๅญฆ็”Ÿ้™†็ปญ่ตฐๅ‡บๆ ก้—จ่ฟ›ๅ…ฅ็คพไผšๅคง่ˆžๅฐใ€‚้š็€ๅนด้พ„ไธŽๅทฅไฝœๅนด้™็š„ๅขž้•ฟ๏ผŒไธ็Ÿฅ็ฝฎ่บซไบŽๅ…ถไธญ็š„ไฝ ๆ˜ฏๅฆๆ„Ÿๆ…จ่ฟ‡่‡ชๅทฑๅœจ้˜…ๅކไธŠไปŽโ€œไนฆ็”Ÿๆ„ๆฐ”โ€ๆธๆธๆผ”ๅ˜ไธบโ€œๅ››ๅนณๅ…ซ็จณ๏ผŒๆธธๅˆƒๆœ‰ไฝ™โ€๏ผ›ๅœจ่บซไฝ“ๅ…ปๆŠคๆ–น้ขไปŽโ€œ่บซๆๆ— ๆ•Œ๏ผŒๅนด้พ„ๆˆ่ฟท๏ผŒๅฎžๆ‰“ๅฎžไธ€ไธชไผ ๅฅ‡โ€ๆผ”ๅ˜ไธบโ€œไธญๅนดๆฒน่…ปโ€ใ€‚ๆฏไธชไบบๅคšๅฐ‘้ƒฝๆœ‰่‡ชๅทฑ็š„็ญ”ๆกˆ๏ผŒ็ฌ”่€…็š„็ญ”ๆกˆๆ˜ฏ๏ผš่ตฐๅ‡บๆ ก้—จ่ฟ›ๅ…ฅ็คพไผšๅŽ๏ผŒๅฝ“ๅˆๅฏน่บซ่พนไบบๆœ‰็‚น่‹›ๅˆป๏ผŒ้‡ไบ‹็ซๆ€ฅ็ซ็‡Ž็š„่‡ชๅทฑ้€ๆธๅพ—ๅˆฐไบ†ๆ”นๅ–„ใ€‚่บซไฝ“ๅดๅ› ๅŽŸๆœฌๅœจๅคงๅญฆๆ—ถๆฒกๆœ‰ๆ€Žไนˆๅœจๆ„๏ผŒ็ป่ฟ‡้•ฟๅนด็ดฏๆœˆๅœฐๆด—็คผไบฎไบ†ไธ€ๆฌกๅฐ็บข็ฏใ€‚ๅœจๅบทๅคๆœŸ้—ด๏ผŒไธๆญขไธ€ๆฌกๅๆ€่ฟ‡ไน‹ๅ‰็š„็”Ÿๆดปๆ–นๅผๅ’Œๅ…ฅไธ–ๆจกๅผ๏ผŒๆƒณไธ€ๆƒณ + ๅ››ๅค„็œ‹ไธ€็œ‹ๅŽ๏ผŒๆ…ขๆ…ขไนŸๅฐฑๅผ€ๆ‚Ÿไบ†๏ผŒ่‡ช็„ถ่ฆๅฏๅŠจไธ€ไบ›ๆ”นๅ˜ๅฐ่ฏ•ใ€‚\\nๅ› ๆญค๏ผŒไนŸๅฐฑๆœ‰ไบ†่ฟ™็ฏ‡ๅ‡่‚ฅ่ฟ™ไปถ\"}],\"groupPostsByYear\":{\"2026 \":[{\"url\":\"/31.ๅผ€ๆบๆดžๅฏŸ/00.overview\",\"relativePath\":\"/31.ๅผ€ๆบๆดžๅฏŸ/00.overview\",\"frontmatter\":{\"date\":\"2026-04-10 14:52:34\",\"title\":\"ๅผ€ๆบๆดžๅฏŸ\",\"permalink\":\"/repo-insight/overview\",\"categories\":[\"ๅผ€ๆบๆดžๅฏŸ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅผ€ๆบๆดžๅฏŸ\",\"date\":\"2026-04-10 14:52:34\",\"capture\":\"ๆœฌไธ“ๆ ๆ‰€ๆœ‰ๆบ็ ่งฃ่ฏปๆ–‡็ซ ๏ผŒๅ‡ๅ€ŸๅŠฉไบ†ๆœฌไบบๅผ€ๆบ็š„ repo-insight Agent Skill ๆฅ่พ…ๅŠฉ็”Ÿๆˆใ€‚\\nrepo-insight ๆ˜ฏไธ€ๆฌพไธ“ๆณจไบŽไผ˜็ง€ๅผ€ๆบ้กน็›ฎไปฃ็ ๅบ“่งฃ่ฏป็š„ๆ™บ่ƒฝๅŠฉๆ‰‹๏ผŒๆไพ› GitHub URL ๆˆ–ๆœฌๅœฐ็›ฎๅฝ•็š„ไธ€้”ฎๆทฑๅบฆๅˆ†ๆž่ƒฝๅŠ›ใ€‚\\n- ไธ€้”ฎๅˆ†ๆž - ๆ”ฏๆŒ GitHub URL ๆˆ–ๆœฌๅœฐ็›ฎๅฝ•ๅˆ†ๆž\\n- ๆทฑๅบฆๆŠฅๅ‘Š - ็”Ÿๆˆ้กน็›ฎๆฆ‚่ฟฐใ€ๆžถๆž„ๅˆ†ๆžใ€ๆ ธๅฟƒๆจกๅ—่งฃ่ฏป\\n- ไธญๆ–‡ๆ”ฏๆŒ - ่‡ชๅŠจ็ฟป่ฏ‘ READMEใ€็”Ÿๆˆไธญๆ–‡ไปฃ็ ๆณจ้‡Š\\n- ๅ…จ่‡ชๅŠจๆ‰ง่กŒ - ่ฐƒ็”จๅŽๆ— ้œ€ไธญ้—ดไบคไบ’\\nไธคไธช Skill ๅ‡ๅ…ทๅค‡ไปฅไธŠ่ƒฝๅŠ›๏ผŒๅฏๆ นๆฎ้œ€ๆฑ‚้€‰ๆ‹ฉไฝฟ็”จใ€‚\\nไบ†่งฃ repo-insight โ†’\\n ๅผ€ๆบ้กน็›ฎ่งฃ่ฏป\\n| ้กน็›ฎ | ็ฎ€ไป‹ |\\n|----\"},{\"url\":\"/31.ๅผ€ๆบๆดžๅฏŸ/01.fetch-event-source ๆบ็ ่งฃ่ฏป\",\"relativePath\":\"/31.ๅผ€ๆบๆดžๅฏŸ/01.fetch-event-source ๆบ็ ่งฃ่ฏป\",\"frontmatter\":{\"date\":\"2026-04-10 14:43:09\",\"title\":\"fetch-event-source ๆบ็ ่งฃ่ฏป\",\"categories\":[\"ๅผ€ๆบๆดžๅฏŸ\"],\"permalink\":\"/repo-insight/fetch-event-source\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"fetch-event-source ๆบ็ ่งฃ่ฏป\",\"date\":\"2026-04-10 14:43:09\",\"capture\":\"็ฌฌไธ€้ƒจๅˆ†: ไธšๅŠกไปทๅ€ผ็ฏ‡\\n ้กน็›ฎๅฎšไฝ\\n`@microsoft/fetch-event-source` ๆ˜ฏๅพฎ่ฝฏๅผ€ๆบ็š„ไธ€ไธชๅŸบไบŽ Fetch API ็š„ Server-Sent Events (SSE) ๅฎขๆˆท็ซฏๅบ“,ไธบๆต่งˆๅ™จๆไพ›ไบ†ๆ›ดๅผบๅคงใ€ๆ›ด็ตๆดป็š„ๆœๅŠกๅ™จๆŽจ้€ไบ‹ไปถๆŽฅๆ”ถ่ƒฝๅŠ›ใ€‚\\n ่งฃๅ†ณ็š„ๆ ธๅฟƒ็—›็‚น\\nๅŽŸ็”Ÿๆต่งˆๅ™จ็š„ `EventSource` API ๅญ˜ๅœจไปฅไธ‹้™ๅˆถ:\\n| ้™ๅˆถ | ่ฏดๆ˜Ž |\\n|------|------|\\n| ไป…ๆ”ฏๆŒ GET ่ฏทๆฑ‚ | ๆ— ๆณ•ไฝฟ็”จ POSTใ€PUT ็ญ‰ๅ…ถไป– HTTP ๆ–นๆณ• |\\n| ๆ— ๆณ•่‡ชๅฎšไน‰่ฏทๆฑ‚ๅคด | ๆ— ๆณ•ไผ ้€’่ฎค่ฏไปค็‰Œใ€ๅ†…ๅฎน็ฑปๅž‹็ญ‰่‡ชๅฎšไน‰ๅคด้ƒจ |\\n| ๆ— ๆณ•ๅ‘้€่ฏทๆฑ‚ไฝ“ | ๆ‰€ๆœ‰ๅ‚ๆ•ฐๅฟ…้กป็ผ–็ ๅœจ\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/10.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Deep Research Agent\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/10.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Deep Research Agent\",\"frontmatter\":{\"date\":\"2026-04-02 00:38:37\",\"title\":\"ๅฃฐๆ˜Žๅผๅคšๆ™บ่ƒฝไฝ“ๅๅŒ๏ผšๅŸบไบŽ Claude Agent SDK ๆž„ๅปบๆทฑๅบฆ็ ”็ฉถ็ณป็ปŸ\",\"description\":\"ๅฏนๅคๆ‚็ ”็ฉถไปปๅŠกๆ—ถ๏ผŒๅ•ๆ™บ่ƒฝไฝ“๏ผˆSingle-Agent๏ผ‰ๅธธๅ› ไธŠไธ‹ๆ–‡็จ€้‡Šๅ’Œ้€ป่พ‘็–ฒๅŠณๅฏผ่‡ดไบงๅ‡บ่ดจ้‡ไธ‹้™ใ€‚ๆœฌๆ–‡ๅŸบไบŽ Claude Agent SDK ๆŽข่ฎจไบ†ๅคšๆ™บ่ƒฝไฝ“็ณป็ปŸ๏ผˆMAS๏ผ‰็š„ๅทฅ็จ‹ๅŒ–่ฝๅœฐใ€‚้€š่ฟ‡โ€œLead + Subagentโ€็š„ๅฃฐๆ˜Žๅผๆžถๆž„๏ผŒๆˆ‘ไปฌๅฐ†ๆทฑๅบฆ็ ”็ฉถๆ‹†่งฃไธบๆœ็ดขใ€้‡ๅŒ–ๅˆ†ๆžใ€ๅฏ่ง†ๅŒ–็ป˜ๅ›พไธŽ็ป“ๆž„ๅŒ–ๅ†™ไฝœๅ››ไธช็‹ฌ็ซ‹็Žฏ่Š‚ใ€‚\",\"permalink\":\"/ai-agent/deepresearch-agent\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"],\"tags\":[\"Agent SDK\",\"Multi-Agent\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฃฐๆ˜Žๅผๅคšๆ™บ่ƒฝไฝ“ๅๅŒ๏ผšๅŸบไบŽ Claude Agent SDK ๆž„ๅปบๆทฑๅบฆ็ ”็ฉถ็ณป็ปŸ\",\"date\":\"2026-04-02 00:38:37\",\"capture\":\"> ๅฎž่ทต่ฏๆ˜Ž๏ผŒ้€š่ฟ‡ไธฅๆ ผ็š„่Œ่ดฃ้š”็ฆป๏ผˆๅฆ‚ Lead Agent ไป…่ดŸ่ดฃ่ฐƒๅบฆ๏ผ‰ไธŽๅทฅ็จ‹่พน็•Œ็บฆๆŸ๏ผˆๅฆ‚ Researcher ๅผบๅˆถๆๅ–้‡ๅŒ–ๆŒ‡ๆ ‡๏ผ‰๏ผŒMAS ่ƒฝๅคŸ็”Ÿๆˆๅ…ทๅค‡ไธ“ไธšๆ•ฐๆฎๅ›พ่กจๆ”ฏๆ’‘็š„ๆทฑๅบฆๆŠฅๅ‘Šใ€‚ๆœฌๆ–‡ๅฐ†ไปŽๆžถๆž„่ฎพ่ฎกใ€ๅทฅไฝœๆต็ผ–ๆŽ’ๅˆฐ PDF ่‡ชๅŠจ็”Ÿๆˆ๏ผŒๅฎŒๆ•ด่ฟ˜ๅŽŸ่ฟ™ไธ€โ€œAI ้ฉฑๅŠจ่ฐƒ็ ”ๆตๆฐด็บฟโ€็š„ๆž„ๅปบ่ฟ‡็จ‹๏ผŒๅนถๅฑ•็คบๅ…ถๅœจๆ•™่‚ฒ็ ”็ฉถๆกˆไพ‹ไธญ็š„ๅฎžๆˆ˜ๆ•ˆๆžœใ€‚\\n 1. ๅผ•่จ€\\nๅœจ AI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐไธ€ๆ–‡ไธญ๏ผŒๆˆ‘ไปฌๆŽข่ฎจไบ†ๅคšๆ™บ่ƒฝไฝ“็ณป็ปŸ๏ผˆMulti-Agent Systems, MAS๏ผ‰็š„็†่ฎบไผ˜ๅŠฟใ€‚ไปŽ็†่ฎบๅฑ‚้ข็œ‹๏ผŒ่ฟ™็ฑป็ณป็ปŸ้€š่ฟ‡ไปปๅŠกๅˆ†่งฃใ€่Œ่ดฃ้š”็ฆปไธŽๅนถ่กŒๅไฝœๆœบๅˆถ๏ผŒๆœ‰ๆ•ˆ็ช็ ดไบ†ๅ•ๆ™บ่ƒฝไฝ“ๅœจๅคๆ‚ไปปๅŠกไธญ็š„่ƒฝๅŠ›็“ถ้ขˆโ€”โ€”ไธไป…ๆ˜พ่‘—ๆๅ‡ไบ†ไปปๅŠกๅค„็†็š„ๅคฉ่Šฑๆฟ\"},{\"url\":\"/01.ๅ…จๆ ˆ/00.overview\",\"relativePath\":\"/01.ๅ…จๆ ˆ/00.overview\",\"frontmatter\":{\"date\":\"2026-03-19 23:05:50\",\"title\":\"ๅ…จๆ™ฏไธ€่งˆ\",\"description\":\"ๆœฌ็ณปๅˆ—ๅ›ด็ป•็Žฐไปฃๅ…จๆ ˆๅผ€ๅ‘็š„่ƒฝๅŠ›ไฝ“็ณปๅฑ•ๅผ€๏ผŒไปŽ AI ๆ—ถไปฃ็š„ๅทฅ็จ‹ๆ€็ปดๅ‡บๅ‘๏ผŒ่ฆ†็›–ๅ‰็ซฏๅทฅ็จ‹๏ผˆReact/Vue/CSS๏ผ‰ใ€ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป๏ผˆTypeScript/JavaScript๏ผ‰ใ€ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่็ญ‰ๆ ธๅฟƒ้ข†ๅŸŸ๏ผŒๅธฎๅŠฉๆž„ๅปบไปŽ\\\"่ฎค็Ÿฅๅฑ‚ โ†’ ๆŠ€ๆœฏ้ข†ๅŸŸ โ†’ ๅทฅ็จ‹่ƒฝๅŠ› โ†’ ๅŸบ็ก€่ฎพๆ–ฝ\\\"็š„ๅฎŒๆ•ดๅ…จๆ ˆ็Ÿฅ่ฏ†ๅ›พ่ฐฑใ€‚\",\"categories\":[\"ๅ…จๆ ˆ\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"permalink\":\"/fullstack/overview\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ…จๆ™ฏไธ€่งˆ\",\"date\":\"2026-03-19 23:05:50\",\"capture\":\"<script setup\\nimport ArticleCardList from '@fragment/components/ArticleCardList.vue'\\nimport { fullStackCategories } from '@fragment/data/full-stack-data'\\n</script>\\n<ArticleCardList :categories=\\\"fullStackCategories\\\" />\"},{\"url\":\"/10.ไบงๅ“ Sense/00.ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"relativePath\":\"/10.ไบงๅ“ Sense/00.ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"frontmatter\":{\"date\":\"2026-03-19 23:05:50\",\"title\":\"ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"description\":\"ไบงๅ“ Sense ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ๏ผŒๆถต็›– AI ไบงๅ“่ง‚ๅฏŸใ€ๅคๅˆๅž‹ไบบๆ‰ๆˆ้•ฟใ€ๅ•†ไธšๅŒ–ๆ€่€ƒๅŠๆ–นๆณ•่ฎบๆ€ป็ป“็ญ‰ใ€‚\",\"categories\":[\"ไบงๅ“ Sense\",\"AI\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"date\":\"2026-03-19 23:05:50\",\"capture\":\"> * ่ฟฝๆฑ‚้ซ˜ๆ ๆ†โ€”โ€”ไปฅๆž็ฎ€ๆŠ€ๆœฏ่งฃๅ†ณๅคๆ‚้—ฎ้ข˜๏ผŒๆ‹’็ปไธบ็‚ซๆŠ€่€Œ่ฎพ่ฎก็š„ไผช้œ€ๆฑ‚๏ผ›\\n> * ๅนณ่กกๆ„Ÿๆ€งไธŽ็†ๆ€งโ€”โ€”ๆ—ขๅ…ฑๆƒ…็”จๆˆท็š„็œŸๅฎžๅœบๆ™ฏไธŽๆƒ…็ปช๏ผŒๅˆๅ†ท้™่ฟฝๆบฏ็—›็‚นๆœฌ่ดจ๏ผŒ่ฎฉไบงๅ“ๆ—ขๆœ‰ๆธฉๅบฆ๏ผŒๅˆไธ่‡ณไบŽๆฒฆไธบๅŠŸ่ƒฝ็š„ๅ †็ Œใ€‚\\n่งฃๆž„่ฟ™็งไบงๅ“ Sense ็š„ๅŸบ็ก€ๅœจไบŽๅฏนๆŠ•ๅ…ฅไบงๅ‡บๆฏ”๏ผˆROI๏ผ‰็š„ๆž่‡ด่ฟฝๆฑ‚ไธŽๅฏนไบบๆ€ง็š„ๆทฑๅบฆๅ‰–ๆž๏ผš\\n* ไธ€ๆ–น้ข๏ผŒๅ“่ถŠ็š„ไบงๅ“ๅ—…่ง‰ๆ„ๅ‘ณ็€ๅฏปๆ‰พโ€œ้ซ˜ๆ ๆ†่งฃโ€๏ผŒ็”จๆœ€ๅ…‹ๅˆถ็š„ๆŠ€ๆœฏๅคๆ‚ๅบฆๅŽปๆ’ฌๅŠจๆœ€ๅนฟๆณ›ไธ”ๅผบ็ƒˆ็š„็”จๆˆทไปทๅ€ผ๏ผŒๆžœๆ–ญ่ง„้ฟไธบไบ†ๆŠ€ๆœฏ่€ŒๆŠ€ๆœฏ็š„ไผช้œ€ๆฑ‚้™ท้˜ฑใ€‚\\n* ๅฆไธ€ๆ–น้ข๏ผŒๆ—ข้œ€่ฆ่ฎพ่บซๅค„ๅœฐๆ„Ÿ็Ÿฅ็”จๆˆท็š„็œŸๅฎžไฝฟ็”จๅœบๆ™ฏไธŽๆƒ…็ปช๏ผŒๅˆๅฟ…้กปไฟๆŒ็†ๆ€งๅŽป่ฟฝ้—ฎ็—›็‚น็š„ๆ นๆบ๏ผŒ็กฎไฟไบงๅ“ๆ—ขไธๆฒฆไธบ่‡ƒ่‚ฟ็š„้œ€ๆฑ‚่ฎธๆ„ฟๆฑ ๏ผŒไนŸไธๅ˜ๆˆ็ผบไนไบบๆ€งๆธฉๅบฆ็š„ๅ†ฐๅ†ทๆœบๅ™จใ€‚\\n<im\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/00.AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/00.AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ\",\"frontmatter\":{\"title\":\"AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"date\":\"2026-03-15 16:00:00\",\"description\":\"ๅ…จๆ™ฏๅผ AI ๅญฆไน ไธŽๅฎž่ทต็Ÿฅ่ฏ†ๅบ“๏ผŒ็ณป็ปŸๆฒ‰ๆท€ AI Agent ่ฎพ่ฎกๆจกๅผใ€ๅคงๆจกๅž‹ๅทฅ็จ‹ๅŒ–่ฝๅœฐใ€ๅผ€ๆบๅฐ้กน็›ฎๅŠ็คพๅŒบๆดปๅŠจ็ป้ชŒๆ€ป็ป“๏ผŒๆŒ็ปญ่ฟญไปฃไปŽ็†่ฎบๅˆฐ็”Ÿไบง็š„ๅฎŒๆ•ดๆ–นๆณ•่ฎบใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/llm_learning_bg_1.png\",\"permalink\":\"/ai-learning/overview\",\"categories\":[\"ai-practice\"],\"tags\":[\"AI\",\"LLM\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"date\":\"2026-03-15 16:00:00\",\"capture\":\"<!-- ็ฒพ้€‰ไธ“้ข˜ --\\n<script setup>\\nimport ArticleCardList from '@fragment/components/ArticleCardList.vue'\\nimport { aiLearningCategories } from '@fragment/data/ai-learning-data'\\n</script>\\n<ArticleCardList :categories=\\\"aiLearningCategories\\\" />\"},{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/02.CSSๅทฅ็จ‹ๅŒ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/02.CSSๅทฅ็จ‹ๅŒ–\",\"frontmatter\":{\"date\":\"2026-03-10 22:05:50\",\"title\":\"ไปŽๅŽŸๅญๅŒ–ๅˆฐๅ˜ไฝ“้ฉฑๅŠจ๏ผš็Žฐไปฃ CSS ๅทฅ็จ‹ๅŒ–็š„ๆžถๆž„ๆผ”่ฟ›ไธŽๆททๅˆๅฎž่ทตๆŒ‡ๅ—\",\"description\":\"ๆœฌๆ–‡็ณป็ปŸๅ‰–ๆžไธปๆต CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆ็š„ๅบ•ๅฑ‚้€ป่พ‘๏ผŒๆๅ‡บโ€œๆ ทๅผ่ต„ไบง ROIโ€่ฏ„ไผฐๆจกๅž‹๏ผŒๅนถ้’ˆๅฏน Vue/React ็”Ÿๆ€็ป™ๅ‡บไบ†้ขๅ‘ AI ๆ—ถไปฃ็š„ไผไธš็บงๆททๅˆๆžถๆž„้€‰ๅž‹ๅปบ่ฎฎใ€‚\",\"permalink\":\"/full-stack/css-engineering\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"top\":true,\"categories\":[\"ๅ…จๆ ˆ\"],\"tags\":[\"ๅ…จๆ ˆ\",\"CSS\",\"ๅทฅ็จ‹ๅŒ–\",\"tailwindcss\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไปŽๅŽŸๅญๅŒ–ๅˆฐๅ˜ไฝ“้ฉฑๅŠจ๏ผš็Žฐไปฃ CSS ๅทฅ็จ‹ๅŒ–็š„ๆžถๆž„ๆผ”่ฟ›ไธŽๆททๅˆๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-03-10 22:05:50\",\"capture\":\"1. ๅผ•่จ€๏ผšไธปๆต CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆๆœ‰ๅ“ชไบ›๏ผŸ\\nๅœจ็Žฐไปฃๅ‰็ซฏๅผ€ๅ‘ไธญ๏ผŒ้š็€้กน็›ฎๅคๆ‚ๅบฆ็š„ๆ€ฅๅ‰งๆๅ‡๏ผŒๅŽŸ็”Ÿ CSS ๅธธๅธธ้ขไธดๅ…จๅฑ€ๆฑกๆŸ“ใ€ๅค็”จๅ›ฐ้šพใ€ๅฑ‚็บงๅตŒๅฅ—่ฟ‡ๆทฑไปฅๅŠ็ปดๆŠคๆˆๆœฌๆž้ซ˜็ญ‰้—ฎ้ข˜ใ€‚ไธบไบ†่งฃๅ†ณ่ฟ™ไบ›็—›็‚น๏ผŒ็คพๅŒบๅคšๅนดๆฅไธๆ–ญๆŽข็ดข๏ผŒๆฒ‰ๆท€ๅ‡บไบ†ๅคš็งไธปๆต็š„ CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆใ€‚\\n้™คๅŽŸ็”Ÿ CSS ไน‹ๅค–๏ผŒไธปๆตๆ–นๆกˆ่ฟ˜ๅŒ…ๆ‹ฌ้ข„ๅค„็†ๅ™จใ€CSS-in-JSใ€CSS Moduleใ€Scoped CSSใ€ๅŽŸๅญๅŒ– CSS ็ญ‰ใ€‚BEM ไฝœไธบไธ€็งๅŸบไบŽๅ‘ฝๅ็บฆๅฎšๆฅ่ง„้ฟๅ‘ฝๅๅ†ฒ็ช็š„ๆ—ฉๆœŸๆ–นๆกˆ๏ผŒๅœจ็Žฐไปฃๅ‰็ซฏๅทฅ็จ‹ไธญๅทฒๅŸบๆœฌไธๅ†ไฝฟ็”จ๏ผŒๅ› ๆญคๆœฌๆ–‡ไธๅ†ๅฏนๅ…ถๅฑ•ๅผ€่ฏฆ็ป†ๅˆ†ๆžใ€‚\\n> CSS ๅ‘ฝๅ่ง„่Œƒ๏ผˆBEM๏ผ‰๏ผš้€š่ฟ‡ไธฅๆ ผ็š„ๅ‘ฝๅ็บฆๅฎš๏ผˆๅฆ‚ Block__Element--Modif\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/20.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Agent\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/20.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Agent\",\"frontmatter\":{\"date\":\"2026-03-06 00:37:58\",\"title\":\"ๅ‘Šๅˆซๆ‰‹ๅŠจ Loop๏ผšๅ€ŸๅŠฉ Claude Agent SDK ๅฎž็Žฐ Agent ็š„ๅทฅ็จ‹ๅŒ–้—ญ็Žฏ\",\"description\":\"ๅœจ Agent ๆŠ€ๆœฏๅฟซ้€Ÿ่ตฐๅ‘ๆˆ็†Ÿ็š„ไปŠๅคฉ๏ผŒๅฆ‚ไฝ•ไฝŽๆˆๆœฌๆž„ๅปบๅ…ทๅค‡โ€œ่‡ชไธปๆดžๅฏŸโ€่ƒฝๅŠ›็š„ๆ™บ่ƒฝไฝ“๏ผŸๆœฌๆ–‡ๆทฑๅบฆๆ‹†่งฃ Anthropic ๅฎ˜ๆ–นๆŽจๅ‡บ็š„ Claude Agent SDK๏ผŒ่งฃๆžๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆ‰˜็ฎก Agent Loop ๅ’Œไผš่ฏๆŒไน…ๅŒ–ๆœบๅˆถ๏ผŒ่งฃๅ†ณ Agent ๅผ€ๅ‘ไธญ็š„็Šถๆ€็ฎก็†้šพ้ข˜ใ€‚ๆ–‡็ซ ้€š่ฟ‡ไปŽๆ— ็Šถๆ€ไบคไบ’ๅˆฐๅ…ทๅค‡ๆตๅผ่พ“ๅ‡บ่ƒฝๅŠ›็š„ TUI ่‡ชๅŠจๅŒ–ๅทฅๅ…ท่ฟ›้˜ถๅฎžๆˆ˜๏ผŒๅฑ•็คบไบ†ๆž„ๅปบไฝŽๆˆๆœฌใ€้ซ˜ๅฏ็”จ AI ๅŽŸ็”Ÿๅบ”็”จ็š„ๅฎŒๆ•ด่ทฏๅพ„ใ€‚\",\"permalink\":\"/ai-practice/claude-agent-sdk-basic-build\",\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"],\"tags\":[\"Agent\",\"Agent SDK\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ‘Šๅˆซๆ‰‹ๅŠจ Loop๏ผšๅ€ŸๅŠฉ Claude Agent SDK ๅฎž็Žฐ Agent ็š„ๅทฅ็จ‹ๅŒ–้—ญ็Žฏ\",\"date\":\"2026-03-06 00:37:58\",\"capture\":\"1. ๅผ•่จ€\\nๅฝ“ๅ‰๏ผŒAI Agent ็š„ๆผ”่ฟ›ๅทฒ่ฟ›ๅ…ฅไธ€ไธชๅดญๆ–ฐ็š„้˜ถๆฎตโ€”โ€”ไปŽ้œ€่ฆ้ข‘็นไบบๅทฅๅนฒ้ข„็š„\\\"ๅŠ่‡ชๅŠจ\\\"ๆจกๅผ๏ผŒ่ฟ›ๅŒ–ไธบ่ƒฝๅคŸ่‡ชไธปๆดžๅฏŸ็Žฏๅขƒๅ˜ๅŒ–ใ€ๅŠจๆ€่ฐƒๆ•ดๆ‰ง่กŒ็ญ–็•ฅใ€ๅฎž็ŽฐไธšๅŠกๆต็จ‹่‡ช้€‚ๅบ”็ผ–ๆŽ’็š„ๆ™บ่ƒฝๅŒ–็ณป็ปŸใ€‚Claude Codeใ€Manusใ€OpenClaw ็ญ‰ไปฃ่กจๆ€งไบงๅ“ๅฑ‚ๅ‡บไธ็ฉท๏ผŒไนŸๆ ‡ๅฟ—็€ Agent ๆŠ€ๆœฏๆญฃๅœจๅฟซ้€Ÿ่ตฐๅ‘ๆˆ็†ŸไธŽๆ™ฎๅŠใ€‚\\n่ฟ‘ๆœŸ๏ผŒ็ฌ”่€…ๅœจไธบไธชไบบๅšๅฎขๅผ•ๅ…ฅๆ™บ่ƒฝๅŒ–่ฟ่ฅ่ƒฝๅŠ›๏ผˆๅฆ‚ๅ†…ๅฎน่‡ชๅŠจๆ กๅฏนใ€ๅฎก็จฟไธŽๅ‘ๅธƒ๏ผ‰๏ผŒๆทฑๅ…ฅ็ ”็ฉถไบ†ๅคšๆฌพ Agent ๅผ€ๅ‘ๆก†ๆžถ๏ผŒๅฆ‚ Claude Agent SDKใ€Langchainใ€LangGraph ็ญ‰ใ€‚ๅœจ็ป่ฟ‡ๅˆๆญฅ็š„็ ”็ฉถๅฏนๆฏ”ๅˆ†ๆžๅŽ๏ผŒClaude Agent SDK ๆˆไธบไบ†ไฝŽๆˆๆœฌๆž„ๅปบ้ซ˜ๅฏ็”จ Agent\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/10.Agent SKills\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/10.Agent SKills\",\"frontmatter\":{\"date\":\"2026-03-05 23:11:25\",\"title\":\"ๅฆ‚ไฝ•็ผ–ๅ†™ไธ€ไธช้ซ˜ๅฏ็”จ็š„ Agent Skill๏ผŸไปŽๆœบๅˆถๆ‹†่งฃๅˆฐ็”Ÿไบงๅฎž่ทตๆŒ‡ๅ—\",\"description\":\"ๅคง่ฏญ่จ€ๆจกๅž‹ๅœจ็‰นๅฎšๅทฅ็จ‹้ข†ๅŸŸๅธธ้ขไธดโ€œ็Ÿฅ่€Œไธ่กŒโ€็š„ๅ›ฐๅขƒใ€‚ๆœฌๆ–‡ๆทฑๅบฆๆ‹†่งฃ Anthropic ๆœ€ๆ–ฐๆŽจๅ‡บ็š„ Agent Skills ่ง„่Œƒ๏ผŒๆญ็ง˜ๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆธ่ฟ›ๅผๆŠซ้œฒไธŽไธ‰็บงๅŠ ่ฝฝๆœบๅˆถ๏ผŒๅœจๆŽงๅˆถ Token ๆˆๆœฌ็š„ๅŒๆ—ถๆ˜พ่‘—ๆๅ‡ Agent ็š„ไปปๅŠกๆ‰ง่กŒ็ฒพๅบฆใ€‚ๆ–‡็ซ ๆถต็›–ไบ†ไปŽๆ–‡ไปถๅคนๆžถๆž„่ฎพ่ฎกๅˆฐๅฎžๆˆ˜ git-workflow ็ผ–ๅ†™็š„ๅ…จๆต็จ‹ๆŒ‡ๅ—๏ผŒๅŠฉไฝ ๅฐ†้›ถๆ•ฃ็š„ Prompt ่ฝฌๅŒ–ไธบๆ ‡ๅ‡†ๅŒ–็š„ๆ•ฐๅญ—่ต„ไบงใ€‚\",\"permalink\":\"/ai-agent/skills-practice-summary\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\",\"Agent ็ณปๅˆ—\"],\"tags\":[\"Agent Skills\",\"Agent\",\"AI\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฆ‚ไฝ•็ผ–ๅ†™ไธ€ไธช้ซ˜ๅฏ็”จ็š„ Agent Skill๏ผŸไปŽๆœบๅˆถๆ‹†่งฃๅˆฐ็”Ÿไบงๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-03-05 23:11:25\",\"capture\":\"1. ๅผ•่จ€๏ผšAgent Skills ๆ˜ฏไป€ไนˆ๏ผŸ\\nๅœจๅคง่ฏญ่จ€ๆจกๅž‹๏ผˆLLM๏ผ‰็š„่ฝๅœฐๅฎž่ทตไธญ๏ผŒๅผ€ๅ‘่€…็ปๅธธ้ขไธดไธ€ไธชๅ…ฑๆ€งๆŒ‘ๆˆ˜๏ผšๆจกๅž‹ๅœจ็‰นๅฎš็ป†ๅˆ†้ข†ๅŸŸๅพ€ๅพ€ๅค„ไบŽโ€œ็Ÿฅ่€Œไธ่กŒโ€็š„็Šถๆ€โ€”โ€”่™ฝ็„ถๆ‹ฅๆœ‰ๅšๆ‚็š„็Ÿฅ่ฏ†๏ผŒๅด็ผบไนๆ‰ง่กŒๅคๆ‚ไปปๅŠก็š„ไธ“ไธš่ทฏๅพ„ใ€‚\\nไธบไบ†่งฃๅ†ณ่ฟ™ไธ€็—›็‚น๏ผŒAnthropic ๅœจๅ…ถๆ——่ˆฐๆจกๅž‹ Claude 3.7 ็ณปๅˆ—ไธญๆญฃๅผๆŽจๅ‡บไบ† Claude Skillsใ€‚่ฟ™ไธ€ๅŠŸ่ƒฝๅฐ† LLM ็š„่ƒฝๅŠ›ๅฐ่ฃ…ไธบ็›ด่ง‚็š„โ€œ่ƒฝๅŠ›ๆ–‡ไปถๅคนโ€๏ผŒๆžๅคงๆๅ‡ไบ†ๆ™บ่ƒฝไฝ“็š„ๅฎž็”จๆ€ง๏ผŒๅนถ่ฟ…้€Ÿๅœจๅผ€ๅ‘่€…็คพๅŒบๅผ•ๅ‘็ƒญ่ฎฎใ€‚2025 ๅนด 12 ๆœˆ๏ผŒ้š็€ Anthropic ่”ๅˆ็”Ÿๆ€ไผ™ไผดๆญฃๅผๅผ€ๆบ Agent Skills ่ง„่Œƒ๏ผŒAgent Skills ็š„ๆ ‡ๅ‡†ๅŒ–ไนŸๆญฃๅผๅผ€ๅฏ๏ผˆ่€Œ่ฟ™ไธ€่ƒฝๅŠ›\"},{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"frontmatter\":{\"date\":\"2026-03-05 16:54:35\",\"title\":\"ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"aliases\":[\"Server-Sent Events\",\"HTTP Streaming\"],\"tldr\":\"ๆทฑๅ…ฅ่งฃๆžๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผŒๆไพ›ไปŽๆฆ‚ๅฟตๅˆฐ็”Ÿไบงๅฎž่ทต็š„ๅฎŒๆ•ด่งฃๅ†ณๆ–นๆกˆใ€‚\",\"description\":\"่พจๆžๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ็š„ๆฆ‚ๅฟตไธŽๅฑ‚ๆฌกๅ…ณ็ณป๏ผŒ่ฏฆ่งฃๅฎขๆˆท็ซฏไธŽๆœๅŠก็ซฏๅฎž็Žฐๆ–นๆกˆ๏ผŒๆไพ›็”Ÿไบงๅฎž่ทตๅฎŒๆ•ดๆŒ‡ๅ—ใ€‚\",\"tags\":[\"tutorial\",\"SSE\",\"HTTP Streaming\",\"ๅ…จๆ ˆ\"],\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"permalink\":\"/fullstack/networking/sse-practice\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"date\":\"2026-03-05 16:54:35\",\"capture\":\"<script setup\\n import HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n> ๆ‘˜่ฆๆ€ป็ป“: ้’ˆๅฏนๅผ€ๅ‘่€…ๅฎนๆ˜“ๆททๆท†ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ็š„้—ฎ้ข˜๏ผŒไปŽๆฆ‚ๅฟตๅฑ‚ๆฌกๅ‡บๅ‘ๅŽ˜ๆธ…ไบŒ่€…ๆœฌ่ดจๅŒบๅˆซไธŽๅไฝœๅ…ณ็ณป๏ผŒๆŒ‡ๅ‡บๆตๅผ HTTP ๆ˜ฏๅบ•ๅฑ‚ไผ ่พ“ๆœบๅˆถ่€Œ SSE ๆ˜ฏๅบ”็”จๅฑ‚ๆ•ฐๆฎๆ ผๅผ็บฆๅฎšใ€‚ๆ–‡็ซ ไพๆฌกไป‹็ปๅŽŸ็”Ÿ EventSource APIใ€fetch + ReadableStream ่ฟ›้˜ถๆ–นๆกˆใ€@microsoft/fetch-event-source ๅทฅไธš็บงๅฎž็Žฐ็ญ‰ไธ‰็งๅฎขๆˆท็ซฏๆ–นๆกˆ๏ผŒๅนถไปฅ Nes\"},{\"url\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/02.้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/02.้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-03-02 11:05:50\",\"title\":\"้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ AI ๆž้€Ÿ้™ไฝŽไปฃ็ ็ผ–ๅ†™้—จๆง›๏ผŒๅ•็บฏ็š„โ€œไธšๅŠกไปฃ็ ็ฟป่ฏ‘ๅ™จโ€่ง’่‰ฒๆญฃๅŠ ้€Ÿ่ดฌๅ€ผใ€‚ๆœฌๆ–‡ไปŽๆŠ€ๆœฏๆผ”่ฟ›ไธŽไบงๅ“ๆ€่€ƒ็š„ไบคๆฑ‡็‚นๅ‡บๅ‘๏ผŒๅฐ† AI ๆ—ถไปฃ็š„ๅผ€ๅ‘่€…่ƒฝๅŠ›ๅ›พ่ฐฑ้‡ๆ–ฐๅˆ’ๅˆ†ไธบไธ‰ๅคงๆ ธๅฟƒๅœˆๅฑ‚๏ผšไบงๅ“ๅบ”็”จๅฑ‚๏ผˆInsight Stack๏ผ‰ใ€Agent ๅผ€ๅ‘ๅฑ‚ไธŽ AI ๅŸบ็ก€่ฎพๆ–ฝๅฑ‚ใ€‚ๆ— ่ฎบไฝ ๆ˜ฏๆทฑ่€•่ง†ๅ›พๅฑ‚ไบคไบ’ใ€็ฒพ้€š Node.js ็ญ‰ๆœๅŠก็ซฏๆžถๆž„็š„ๅผ€ๅ‘่€…๏ผŒ่ฟ˜ๆ˜ฏ่‡ดๅŠ›ไบŽๆŠ€ๆœฏ่ฝๅœฐ็š„ๆŽข็ดข่€…๏ผŒ้ƒฝ่ƒฝๅœจ่ฟ™ไปฝๆผ”่ฟ›ๆŒ‡ๅ—ไธญๆ‰พๅˆฐๆ‰“็ ด่ƒฝๅŠ›่พน็•Œใ€ๅ‘โ€œ่ถ…็บงไธชไฝ“โ€ไธŽโ€œAI ๆ™บ่ƒฝไฝ“ๆŒ‡ๆŒฅๅฎ˜โ€่ทƒ่ฟ็š„็ ดๅฑ€ไน‹้“ใ€‚\",\"permalink\":\"/fullstack/ai-engineer-capability\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"top\":true,\"tags\":[\"ๅ…จๆ ˆ\",\"AI\"],\"categories\":[\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"date\":\"2026-03-02 11:05:50\",\"capture\":\"<script setup>\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/ai_engineering_arc.png\\\" style=\\\"width: 100%; border-radius: 8px; margin-bottom: 20px;\\\" alt=\\\"about site back\"},{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"frontmatter\":{\"date\":\"2026-02-25 22:10:48\",\"title\":\"HTTP ่ฝฎ่ฏขไผ˜ๅŒ–ๆŒ‡ๅ—๏ผš้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"tldr\":\"่ฏฆ่งฃ้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅฎž็ŽฐๅŽŸ็†๏ผŒๆไพ› HTTP ่ฝฎ่ฏขไผ˜ๅŒ–็ญ–็•ฅไธŽ้€‰ๅž‹ๅ†ณ็ญ–ๆ ‘ใ€‚\",\"description\":\"ๆทฑๅ…ฅๅ‰–ๆž้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๆ ธๅฟƒๆœบๅˆถ๏ผŒๆไพ› TypeScript/NestJS ๅฎžๆˆ˜ไปฃ็ ๏ผŒๅนถๆž„ๅปบๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–ๆ ‘ไธŽ้€‚็”จๅœบๆ™ฏ้€ŸๆŸฅใ€‚\",\"tags\":[\"HTTP ่ฝฎ่ฏข\",\"้€€้ฟ่ฝฎ่ฏข\",\"้•ฟ่ฝฎ่ฏข\"],\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"permalink\":\"/fullstack/networking-polling-optimization\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"HTTP ่ฝฎ่ฏขไผ˜ๅŒ–ๆŒ‡ๅ—๏ผš้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"date\":\"2026-02-25 22:10:48\",\"capture\":\"1. ๅผ•่จ€\\nๅœจ็Žฐไปฃ Web ๅผ€ๅ‘ไธญ๏ผŒWebSocket ๅ’Œ Server-Sent Events (SSE) ๅธธๅธธ่ขซ่ง†ไธบๅฎžๆ—ถ้€šไฟก็š„้“ถๅผนใ€‚็„ถ่€Œ๏ผŒHTTP ่ฝฎ่ฏข๏ผˆPolling๏ผ‰ไฝœไธบๆœ€ๆœด็ด ็š„ๅฎžๆ—ถ้€šไฟกๆ–นๆกˆ๏ผŒ้žไฝ†ๆฒกๆœ‰้€€ๅ‡บๅކๅฒ่ˆžๅฐ๏ผŒๅ่€Œๅœจ็‰นๅฎš็š„ๅคๆ‚ไธšๅŠกๅœบๆ™ฏไธญๅคงๆ”พๅผ‚ๅฝฉใ€‚\\n> ๐Ÿ“– ๅฆ‚ๆžœไฝ ๅฏน HTTP ่ฝฎ่ฏขๅœจๆ•ดไธช Web ้€šไฟกๅ่ฎฎไฝ“็ณปไธญ็š„ๅฎšไฝๅฐšไธๆธ…ๆ™ฐ๏ผŒๆŽจ่ๅ…ˆ้˜…่ฏป Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—๏ผŒไบ†่งฃ่ฝฎ่ฏขไธŽ็Ÿญ่ฟžๆŽฅใ€้•ฟ่ฟžๆŽฅใ€WebSocketใ€SSE ็ญ‰ๆ–นๆกˆ็š„ๆผ”่ฟ›ๅ…ณ็ณปไธŽ้€‚็”จ่พน็•Œ๏ผŒๅ†็ป“ๅˆๆœฌๆ–‡ๆทฑๅ…ฅๅฎž่ทตใ€‚\\nๅœจๅฝ“ๅ‰ไผ—ๅคš้กถ็บง็š„ AI AIGC ๅบ”็”จ๏ผˆๅฆ‚ Midjourne\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/02.Agent ่ง„ๅˆ’ๆจกๅ—\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/02.Agent ่ง„ๅˆ’ๆจกๅ—\",\"frontmatter\":{\"date\":\"2026-02-24 20:52:37\",\"title\":\"ๆŽขๅฏป Agent ๅ†ณ็ญ–ไธญๆžข๏ผš่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„่ง„ๅˆ’่Œƒๅผ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฆ‚ๆžœ่ฏด LLM ๆ˜ฏ Agent ็š„ๅคง่„‘๏ผŒ่ง„ๅˆ’ๆจกๅ—ๅˆ™ๆ˜ฏๅ…ถ่ดŸ่ดฃๅคๆ‚ๅ†ณ็ญ–็š„โ€œๅ‰้ขๅถโ€ใ€‚ๆœฌๆ–‡ๆทฑๅบฆ่งฃๆž„ไบ† Agent ่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„ๆ ธๅฟƒ่ทฏๅพ„๏ผšไปŽไปปๅŠกๅˆ†่งฃ็š„้™ไฝŽ็†ตๅ€ผ๏ผŒๅˆฐ่‡ชๆˆ‘ๅๆ€็š„้—ญ็ŽฏๆŽงๅˆถใ€‚้€š่ฟ‡ๅฏนๆฏ”โ€œ่พน่ตฐ่พน็œ‹โ€็š„ ReAct ๅŠจๆ€ๅ“ๅบ”ๆจกๅผไธŽโ€œ่ฐ‹ๅฎšๅŽๅŠจโ€็š„ Plan-and-Execute ้ข„็ผ–ๆŽ’ๆจกๅผ๏ผŒๆœฌๆ–‡ๆญ็คบไบ†ๅฆ‚ไฝ•้’ˆๅฏน้•ฟ้“พ่ทฏๅทฅ็จ‹ไปปๅŠกๆž„ๅปบ็จณๅฅ็š„ๅ†ณ็ญ–่Œƒๅผ๏ผŒๅŠฉไฝ ๅฎŒๆˆไปŽโ€œ็ฎ€ๅ•ๆ็คบ่ฏโ€ๅˆฐโ€œๅคๆ‚ๆžถๆž„่ฎพ่ฎกโ€็š„่ฎค็Ÿฅ่ทƒ่ฟใ€‚\",\"permalink\":\"/ai-agent/planning-module\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆŽขๅฏป Agent ๅ†ณ็ญ–ไธญๆžข๏ผš่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„่ง„ๅˆ’่Œƒๅผ\",\"date\":\"2026-02-24 20:52:37\",\"capture\":\"1. ๅผ•่จ€\\nๅœจไบบ็ฑปๅคง่„‘ไธญ๏ผŒๅ‰้ขๅถ็šฎๅฑ‚่ดŸ่ดฃๅคๆ‚็š„่ฎค็Ÿฅ่ง„ๅˆ’ใ€ๅ†ณ็ญ–ๅ’Œ็คพไบค่กจ็Žฐใ€‚ๅฏนไบŽไธ€ไธช Agent ่€Œ่จ€๏ผŒ่ง„ๅˆ’ๆจกๅ—ๆญฃๆ˜ฏๅฎƒ็š„โ€œๅ‰้ขๅถโ€โ€”โ€”ๅฎƒๅ†ณๅฎšไบ† Agent ๆ˜ฏๅชไผšๆœบๆขฐๅ“ๅบ”ๆŒ‡ไปค็š„โ€œๆœจๅถโ€๏ผŒ่ฟ˜ๆ˜ฏ่ƒฝ็‹ฌ็ซ‹ๆ‹†่งฃ็›ฎๆ ‡ใ€ๅœจๅคๆ‚็Žฏๅขƒไธญๅฏปๆ‰พๆœ€ไผ˜่ทฏๅพ„็š„โ€œๆ•ฐๅญ—ๅ‘˜ๅทฅโ€ใ€‚\\nAgent ็š„่ง„ๅˆ’่ƒฝๅŠ›ไธป่ฆ็”ฑไธค้ƒจๅˆ†ๅๅŒ้ฉฑๅŠจ๏ผšไปปๅŠกๅˆ†่งฃไธŽ่‡ชๆˆ‘ๅๆ€ใ€‚\\n 2. ไปปๅŠกๅˆ†่งฃ๏ผšๅŒ–็นไธบ็ฎ€็š„็ญ–็•ฅ\\nไปปๅŠกๅˆ†่งฃๆ˜ฏๆŒ‡ๅฐ†ไธ€ไธชๅคๆ‚็š„็›ฎๆ ‡ๆˆ–ไปปๅŠกๆ‹†่งฃไธบๅคšไธชๅ…ทไฝ“ใ€ๅฏๆ“ไฝœ็š„็š„ๅญไปปๅŠก๏ผŒไปฅไพฟ Agent ่ƒฝๅคŸๆ›ด้ซ˜ๆ•ˆๅœฐๆ‰ง่กŒๅ’Œ็ฎก็†ใ€‚ๅ…ถๆœฌ่ดจๆ˜ฏ้™ไฝŽ้—ฎ้ข˜็š„็†ตๅ€ผ๏ผŒ่ฎฉ Agent ่ƒฝๅคŸ่š็„ฆไบŽๆฏไธ€ไธช็ป†ๅฐ็š„็กฎๅฎšๆ€งๆญฅ้ชค๏ผŒไปŽ่€Œ้€ๆญฅ่งฃๅ†ณ้—ฎ้ข˜๏ผŒๆ้ซ˜่ง„ๅˆ’็š„ๅฏ่กŒๆ€งๅ’Œๆ‰ง่กŒๆ•ˆ็އใ€‚\\nๆ นๆฎโ€œ่ง„ๅˆ’โ€ไธŽโ€œๆ‰ง่กŒโ€ๅ‘\"},{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-02-24 08:40:31\",\"title\":\"Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"tldr\":\"ๆทฑๅ…ฅๅˆ†ๆžไบ”็ง Web ้€šไฟกๅ่ฎฎ๏ผŒๆไพ› AI ๆ—ถไปฃ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—ไธŽๆœ€ไฝณๅฎž่ทตใ€‚\",\"description\":\"ๆทฑๅ…ฅๅ‰–ๆžไผ ็ปŸ HTTPใ€ๆตๅผ HTTPใ€SSEใ€WebSocketใ€Webhooksใ€HTTP ่ฝฎ่ฏข็š„ๅŽŸ็†ไธŽ็‰นๆ€ง๏ผŒ็ป“ๅˆ AI ๅœบๆ™ฏๆไพ›ๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–็Ÿฉ้˜ตใ€‚\",\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"tags\":[\"HTTP\",\"HTTP ่ฝฎ่ฏข\",\"SSE\",\"WebSocket\",\"Webhooks\"],\"permalink\":\"/fullstack/networking-protocol-selection-guide\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"date\":\"2026-02-24 08:40:31\",\"capture\":\"1. ๅผ•่จ€\\nHTTP ๆ˜ฏไธ€็งๅŸบไบŽๆ–‡ๆœฌ็š„้€šไฟกๅ่ฎฎ๏ผŒไธป่ฆ็”จไบŽ Web ๆต่งˆๅ™จใ€็งปๅŠจๅบ”็”จใ€ๆกŒ้ขๅบ”็”จ็ญ‰ๅฎขๆˆท็ซฏๅ’Œ Web ๆœๅŠกๅ™จไน‹้—ด็š„ๆ•ฐๆฎไผ ่พ“ใ€‚ไผ ็ปŸ HTTP ้‡‡็”จๅŒๆญฅ็š„่ฏทๆฑ‚-ๅ“ๅบ”ๆจกๅผ๏ผš`่ฏทๆฑ‚ -> ็ญ‰ๅพ… -> ๅฎŒๆ•ดๅ“ๅบ”`ใ€‚่ฟ™็งๆ–นๅผ่™ฝ่ƒฝๆปก่ถณๅคงๅคšๆ•ฐๅœบๆ™ฏ๏ผŒไฝ†ๅœจๅฎžๆ—ถๆ€ง่ฆๆฑ‚่พƒ้ซ˜็š„้ข†ๅŸŸโ€”โ€”ๅฆ‚ๆธธๆˆใ€่Šๅคฉใ€่ง†้ข‘ไผš่ฎฎ๏ผŒไปฅๅŠ AI ๆ—ถไปฃ็š„ๅฏน่ฏๅผๅบ”็”จโ€”โ€”ๅดๆ˜พๅพ—ๅŠ›ไธไปŽๅฟƒใ€‚\\nไธบ่งฃๅ†ณ่ฟ™ไธ€้—ฎ้ข˜๏ผŒไธš็•Œๅ‘ๅฑ•ๅ‡บไบ†ๅคš็งๅฎžๆ—ถ Web ้€šไฟกๆ–นๆกˆใ€‚ๆœฌๆ–‡ๅฐ†ๅ›ด็ป• ๆตๅผ HTTPใ€SSEใ€WebSocketใ€Webhooksใ€HTTP ่ฝฎ่ฏข ่ฟ™ไบ”็งไธปๆตๆŠ€ๆœฏ๏ผŒไปŽๅŽŸ็†ใ€็‰นๆ€งใ€้€‚็”จๅœบๆ™ฏๅ‡บๅ‘๏ผŒๆŽข่ฎจๅฎƒไปฌๅœจ็Žฐไปฃๅˆ†ๅธƒๅผๆžถๆž„ไธญ็š„้€‰ๅž‹็ญ–็•ฅไธŽๅทฅ็จ‹ๅฎž่ทตใ€‚\\n 2\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/01.Agentๆฆ‚่งˆไธŽ็ปผ่ฟฐ\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/01.Agentๆฆ‚่งˆไธŽ็ปผ่ฟฐ\",\"frontmatter\":{\"date\":\"2026-02-12 22:31:00\",\"title\":\"ไปŽๆ็คบ่ฏๅˆฐๆ•ฐๅญ—ๅ‘˜ๅทฅ๏ผšAI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšAI ็š„่ฟ›ๅŒ–ๆญฃ็ปๅކไปŽโ€œๅฏน่ฏๆก†โ€ๅ‘โ€œๆ•ฐๅญ—ๅ‘˜ๅทฅโ€็š„ๆ นๆœฌๆ€ง่ทจ่ถŠใ€‚ๆœฌๆ–‡ๆ˜ฏไธ€็ฏ‡ๅ…ณไบŽ AI Agent ็š„ๅ…จๆ™ฏๆทฑๅบฆ็ปผ่ฟฐ๏ผŒๆ—จๅœจ่งฃๆž„ๆ™บ่ƒฝไฝ“ๅฆ‚ไฝ•ไปŽ็ฎ€ๅ•็š„ Prompt ๅ“ๅบ”่€…๏ผŒๆผ”ๅ˜ไธบๅ…ทๅค‡่‡ชไธป็›ฎๆ ‡ๆ‹†่งฃใ€้•ฟ็ŸญๆœŸ่ฎฐๅฟ†ไธŽๅคๆ‚็Žฏๅขƒไบคไบ’่ƒฝๅŠ›็š„โ€œๆ‰ง่กŒ่€…โ€ใ€‚ๆˆ‘ไปฌๅฐ†ๆทฑๅบฆๆ‹†่งฃ Agent ็š„ๅ››ๅคงๆŠ€ๆœฏๅŸบ็Ÿณ๏ผˆ่ง„ๅˆ’ใ€่ฎฐๅฟ†ใ€ๅทฅๅ…ทใ€่กŒๅŠจ๏ผ‰๏ผŒๅนถ่ฏฆ็ป†ๅ‰–ๆžไปŽ้€š็”จๅž‹ Agent ๅˆฐๅคšๆ™บ่ƒฝไฝ“ๅไฝœ๏ผˆMAS๏ผ‰ใ€ๅ†ๅˆฐ่ฟˆๅ‘ Agent OS ๆ—ถไปฃ็š„ OpenClaw ็ญ‰ไบ”ๅคงๆผ”่ฟ›ๅฝขๆ€ใ€‚ไธไป…ๆŽข่ฎจไบ†ๆŠ€ๆœฏๆžถๆž„็š„ๅฎž็Žฐ๏ผŒๆ›ดๆญ็คบไบ†่ฝฏไปถๅทฅ็จ‹ไปŽโ€œไปฅไบบไธบไธญๅฟƒโ€ๅ‘โ€œไปฅ AI ไธบไธญๅฟƒโ€็š„่Œƒๅผ้ฉๅ‘ฝโ€”โ€”ๅœจ Agent ้ฉฑๅŠจ็š„ๆ–ฐ็บชๅ…ƒ๏ผŒๆ ธๅฟƒ็ซžไบ‰ๅŠ›ๅฐ†ไธๅ†ๆ˜ฏไปฃ็ ้‡๏ผŒ่€Œๆ˜ฏ่ฐƒๅบฆ AI ้—ญ็Žฏ่งฃๅ†ณไธšๅŠก้—ฎ้ข˜็š„่ƒฝๅŠ›ใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/llm_learning_bg_1.png\",\"permalink\":\"/ai-agent/overview\",\"top\":true,\"categories\":[\"ai-practice\"],\"tags\":[\"AI Agent\",\"Agent\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไปŽๆ็คบ่ฏๅˆฐๆ•ฐๅญ—ๅ‘˜ๅทฅ๏ผšAI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐ\",\"date\":\"2026-02-12 22:31:00\",\"capture\":\"1. ไป€ไนˆๆ˜ฏ Agent๏ผŸโ€”โ€”ไปŽโ€œๅทฅๅ…ทโ€ๅˆฐโ€œๅฎžไฝ“โ€็š„่ฟ›ๅŒ–\\n> ๆ ธๅฟƒ้€ป่พ‘๏ผš็Žฐไปฃ Agent ็š„ๆœฌ่ดจๆ˜ฏ \\\"LLM (ๅคง่„‘) + ่ง„ๅˆ’ไธŽ่ฎฐๅฟ† (ๅฐ่„‘) + ๅทฅๅ…ท่ฐƒ็”จ (ๆ‰‹่„š)\\\"ใ€‚LLM ็š„ๆตท้‡็Ÿฅ่ฏ†ๅ‚จๅค‡่ฎฉ Agent ่ƒฝๅคŸ็ฒพๅ‡†็†่งฃๅคๆ‚ๆŒ‡ไปค๏ผŒๅนถๅฐ†ๅ…ถ่ฝฌๅŒ–ไธบๅฎž้™…่กŒๅŠจใ€‚\\nๅœจ AI ้ข†ๅŸŸ๏ผŒAgent๏ผˆๆ™บ่ƒฝไฝ“๏ผ‰ ๅนถ้žไธ€ไธชๆ–ฐๆฆ‚ๅฟต๏ผŒไฝ† LLM๏ผˆๅคง่ฏญ่จ€ๆจกๅž‹๏ผ‰็š„็ˆ†ๅ‘่ต‹ไบˆไบ†ๅฎƒ็œŸๆญฃ็š„โ€œ็ต้ญ‚โ€ใ€‚็ฎ€ๅ•ๆฅ่ฏด๏ผŒAgent ๆ˜ฏไธ€็ง่ƒฝๅคŸๆ„Ÿ็Ÿฅ็Žฏๅขƒใ€่‡ชไธปๅ†ณ็ญ–ๅนถๆ‰ง่กŒไปปๅŠก็š„ๆ™บ่ƒฝๅฎžไฝ“ใ€‚\\nๅฆ‚ๆžœ่ฏดไผ ็ปŸ็š„ AI ๆ˜ฏไธ€ไธชโ€œ้—ฎ็ญ”ๆœบโ€๏ผŒ้‚ฃไนˆ Agent ๅฐฑๆ˜ฏไธ€ไธชโ€œๆ‰ง่กŒ่€…โ€ใ€‚ๅฎƒๅ…ทๅค‡ไปฅไธ‹ๅ››ๅคงๆ ธๅฟƒ็‰น่ดจ๏ผš\\n* ่‡ชไธปๆ€ง (Autonomy)๏ผš ๆ— ้กปๆ—ถๅˆป็›ฏ็€๏ผŒ่ฎพๅฎš\"},{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-02-10 23:33:19\",\"title\":\"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ๅฝ“ AI ๆ‰ฟๆŽฅไบ† 30% ็š„็ผ–็ ๆ‰ง่กŒๆ—ถ๏ผŒๅผ€ๅ‘่€…้œ€้€š่ฟ‡โ€œ่ง„ๆ ผ้ฉฑๅŠจ๏ผˆSDD๏ผ‰โ€้‡ๅคบ 70% ็š„่ฎพ่ฎกไธปๆƒ๏ผšไปŽ่‡ชๆฒป็ป„ไปถๅˆ’ๅˆ†ๅˆฐๅ•ๅ‘ๆ•ฐๆฎๆตๆ‹“ๆ‰‘็š„ๆทฑๅบฆๆŽจๆผ”ใ€‚\",\"description\":\"ๆœฌๆ–‡ๆŽข่ฎจๅœจ AI ๅขžๅผบๅผ€ๅ‘่ƒŒๆ™ฏไธ‹๏ผŒๅฆ‚ไฝ•้‡ๅก‘ React ็ป„ไปถ่ฎพ่ฎกๅŽŸๅˆ™ใ€‚ๆถต็›– SRP ่Œ่ดฃๅˆ’ๅˆ†ใ€้™ๆ€็‰ˆๆœฌๅŸบ็บฟใ€ๆœ€ๅฐ็Šถๆ€๏ผˆDerived Data๏ผ‰ๆŽจๅฏผไปฅๅŠ SDD ไบบๆœบๅไฝœๆจกๅผ็š„ๅทฅ็จ‹่ฝๅœฐใ€‚\",\"tags\":[\"tutorial\",\"react\",\"component-design\",\"state-management\",\"ai-augmented\",\"specification-driven\"],\"permalink\":\"/fullstack/react-design-philosophy-ai-augmented\",\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-02-10 23:33:19\",\"capture\":\"<script setup\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n 1. ๅผ•่จ€\\nๅœจ่ฝฏไปถๅทฅ็จ‹ไธญ๏ผŒ็บฆ 70% ็š„ๆ—ถ้—ดๅบ”ๆŠ•ๅ…ฅไบŽๆžถๆž„่ฎพ่ฎกใ€้œ€ๆฑ‚ๆ‹†่งฃไธŽๆŽฅๅฃ่ฏญไน‰ๆŽจๆ•ฒ๏ผŒไป… 30% ็”จไบŽๅฎž้™…็ผ–็ ใ€‚่ฟ›ๅ…ฅ AI ๅไฝœๆ—ถไปฃๅŽ๏ผŒ่ฟ™ไธ€ๆฏ”ไพ‹ไพ็„ถๅšๅฆ‚็ฃ็Ÿณโ€”โ€”ๅผ€ๅ‘่€…ๅฟ…้กปๅ…ˆๅฎŒๆˆๆทฑๅบฆๆ€่€ƒ๏ผŒๅฐ†โ€œๆธ…ๆ™ฐ็š„้—ฎ้ข˜่ง„ๆ ผ๏ผˆSpecification๏ผ‰โ€ไบค็ป™ AI๏ผŒAI ๆ‰่ƒฝ่พ“ๅ‡บ้ซ˜่ดจ้‡ไปฃ็ ใ€‚<HighLightText type=\\\"note\\\" bold>AI ๆๅ‡็š„ๆ˜ฏ 30% ็ผ–็ ้˜ถๆฎต็š„ๆ‰ง่กŒๅŠ›๏ผŒ่€Œ้žๅ–\"},{\"url\":\"/01.ๅ…จๆ ˆ/90.ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่/90.ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"relativePath\":\"/01.ๅ…จๆ ˆ/90.ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่/90.ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"frontmatter\":{\"date\":\"2026-02-06 15:58:53\",\"title\":\"ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡็ณป็ปŸๆขณ็†ไบ†็Žฐไปฃๅ…จๆ ˆๅผ€ๅ‘็š„ๅฎŒๆ•ดๆŠ€ๆœฏๅ›พ่ฐฑไธŽๆผ”่ฟ›่Œƒๅผ๏ผŒไธบๅผ€ๅ‘่€…ๆไพ›ไบ†ไธ€็ซ™ๅผ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—ใ€‚ๆ–‡็ซ ไปŽๅŸบ็Ÿณๅ‡บๅ‘๏ผŒ่ฆ†็›– Web ๆ ธๅฟƒ่ฏญ่จ€๏ผˆJS/TS๏ผ‰ ไธŽ ไธปๆต UI ๆก†ๆžถ๏ผˆReact/Vue/Svelte๏ผ‰๏ผŒๅนถๆŽจ่ไปฅ Tailwind CSS ๅ’Œ shadcn/ui ไธบไปฃ่กจ็š„็Žฐไปฃๆ ทๅผไธŽ็ป„ไปถๅŽŸ่ฏญใ€‚ๅœจๆ ธๅฟƒไธšๅŠก้€ป่พ‘ๅฑ‚๏ผŒๆทฑๅบฆๅฏนๆฏ”ไบ†่ฝป้‡ๅŒ–็Šถๆ€็ฎก็†ๆ–นๆกˆ๏ผˆ้ฆ–ๆŽจ Zustand/Jotai๏ผ‰๏ผŒๅนถ้‡็‚น่งฃๆžไบ†ๆ•ฐๆฎไบคไบ’็š„ไธ‰ๅคง็Žฐไปฃๆžถๆž„่Œƒๅผ๏ผšไปŽๅŸบ็ก€ Axios ๅˆฐ React Query ็Šถๆ€่ฐƒๅบฆ๏ผŒๅ†ๅˆฐ tRPC ๅ’Œ GraphQL ๅธฆๆฅ็š„ๅ…จๆ ˆ็ฑปๅž‹ๅฎ‰ๅ…จไธŽๅคš็ซฏ่šๅˆใ€‚ๅœจๅทฅ็จ‹ๅŒ–ไธŽๆœๅŠก็ซฏๆจกๅ—๏ผŒๆ–‡็ซ ๅ…จ้ขๆ‹ฅๆŠฑ Viteใ€Rsbuild ็ญ‰ๆž้€Ÿๆž„ๅปบๅทฅๅ…ท๏ผŒๅนถๅ‰–ๆžไบ† Next.js/Nuxt ๅŒๆž„ๅ…ƒๆก†ๆžถไธŽ NestJS ไผไธš็บง Node ๆœๅŠก็š„ๆœ€ไฝณ้€‚็”จๅœบๆ™ฏใ€‚ๆœ€ๅŽ๏ผŒ่พ…ไปฅ Vercel ็ญ‰็Žฐไปฃ่พน็ผ˜้ƒจ็ฝฒๅนณๅฐๅŠไธฐๅฏŒ็š„ๅผ€ๆบ็คพๅŒบๅญฆไน ่ต„ๆบใ€‚\",\"permalink\":\"/growth/full-stack-resources\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"date\":\"2026-02-06 15:58:53\",\"capture\":\"> - ๆ–‡็ซ ไปŽๅŸบ็Ÿณๅ‡บๅ‘๏ผŒ่ฆ†็›– Web ๆ ธๅฟƒ่ฏญ่จ€๏ผˆJS/TS๏ผ‰ ไธŽ ไธปๆต UI ๆก†ๆžถ๏ผˆReact/Vue/Svelte๏ผ‰๏ผŒๅนถๆŽจ่ไปฅ Tailwind CSS ๅ’Œ shadcn/ui ไธบไปฃ่กจ็š„็Žฐไปฃๆ ทๅผไธŽ็ป„ไปถๅŽŸ่ฏญใ€‚\\n> - ๅœจๆ ธๅฟƒไธšๅŠก้€ป่พ‘ๅฑ‚๏ผŒๆทฑๅบฆๅฏนๆฏ”ไบ†่ฝป้‡ๅŒ–็Šถๆ€็ฎก็†ๆ–นๆกˆ๏ผˆ้ฆ–ๆŽจ Zustand/Jotai๏ผ‰๏ผŒๅนถ้‡็‚น่งฃๆžไบ†ๆ•ฐๆฎไบคไบ’็š„ไธ‰ๅคง็Žฐไปฃๆžถๆž„่Œƒๅผ๏ผšไปŽๅŸบ็ก€ Axios ๅˆฐ React Query ็Šถๆ€่ฐƒๅบฆ๏ผŒๅ†ๅˆฐ tRPC ๅ’Œ GraphQL ๅธฆๆฅ็š„ๅ…จๆ ˆ็ฑปๅž‹ๅฎ‰ๅ…จไธŽๅคš็ซฏ่šๅˆใ€‚\\n> - ๅœจๅทฅ็จ‹ๅŒ–ไธŽๆœๅŠก็ซฏๆจกๅ—๏ผŒๆ–‡็ซ ๅ…จ้ขๆ‹ฅๆŠฑ Viteใ€Rsbuild ็ญ‰ๆž้€Ÿๆž„ๅปบๅทฅๅ…ท๏ผŒๅนถๅ‰–ๆžไบ† Next.js/N\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/03.ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผšๅฐ†้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/03.ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผšๅฐ†้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"frontmatter\":{\"date\":\"2026-02-06 15:48:23\",\"title\":\"ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผš้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผš้ขๅฏนๅฑ‚ๅ‡บไธ็ฉท็š„ Promptใ€MCPใ€Skills ๅ’Œ Subagents๏ผŒๅพˆๅคšๅผ€ๅ‘่€…ๅ’Œไบงๅ“็ป็†ๅธธๆ„Ÿๅˆฐๅ›ฐๆƒ‘๏ผš่ฟ™ไบ›็ป„ไปถ็ฉถ็ซŸๆ˜ฏ้‡ๅค้€ ่ฝฎๅญ๏ผŒ่ฟ˜ๆ˜ฏๅ„ๅธๅ…ถ่Œ็š„็งฏๆœจ๏ผŸๆœฌๆ–‡ๅฐ†ๆทฑๅบฆๆ‹†่งฃ Agentic ็”Ÿๆ€็š„ไบ”ๅคงๆ ธๅฟƒๆ”ฏๆŸฑ๏ผŒๆญ็คบๅฆ‚ไฝ•้€š่ฟ‡ไผ˜้›…็š„ๆžถๆž„่ฎพ่ฎกๅฎž็ŽฐๅๅŒ้—ญ็Žฏ๏ผŒๅฐ†้›ถๆ•ฃ็š„ AI ็ป„ไปถๆ‹ผ่ฃ…ๆˆไธ€ๅฅ—ๅฏๆŒ็ปญ่ฟ›ๅŒ–็š„ AI ๅŽŸ็”Ÿๆ“ไฝœ็ณป็ปŸ๏ผŒๆŠŠ็ขŽ็‰‡ๅŒ–็š„ AI ่ƒฝๅŠ›่ฝฌๅŒ–ไธบ้ซ˜ๅฏ็”จ็š„็”ŸไบงๅŠ›ๆตใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/ai-practice/agent_components_zh.png\",\"permalink\":\"/ai-agent/composition-ai-components\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"],\"tags\":[\"Agent\",\"AI\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผš้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"date\":\"2026-02-06 15:48:23\",\"capture\":\"<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/ai-practice/agent_components_zh.png\\\" style=\\\"width: 100%; border-radius: 8px; margin-bottom: 20px;\\\" alt=\\\"about site background\\\">\\n 1. ๅผ•่จ€\\n> ้—ฎ้ข˜๏ผšๅœจๆ™บ่ƒฝไฝ“็”Ÿๆ€้‡Œ๏ผŒๅ„ไธช็ป„ไปถๅˆฐๅบ•ๆ˜ฏๆ€ŽไนˆๅๅŒๅทฅไฝœ็š„๏ผŸ\\nๅฝ“ๅ‰๏ผŒAgent๏ผˆๆ™บ่ƒฝไฝ“๏ผ‰ๆŠ€ๆœฏๅ‘ๅฑ•่ฟ…็Œ›๏ผŒๅ„็ง่ฎพ่ฎกๆจกๅผใ€ๆ ธๅฟƒ็ป„ไปถไธŽๅทฅไฝœๆœบๅˆถๅฑ‚ๅ‡บไธ็ฉทใ€‚้ขๅฏน็นๆ‚็š„ๆ™บ่ƒฝไฝ“็”Ÿๆ€\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/11. LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/11. LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-01-06 15:58:53\",\"title\":\"LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆˆช่‡ณ 2026 ๅนด๏ผŒLLM API ๆœๅŠกๅทฒๅฝขๆˆ\\\"ๅฎ˜ๆ–น็›ด่ฟž + ็ฌฌไธ‰ๆ–น่šๅˆ\\\"็š„ๅŒ่ฝจๆ ผๅฑ€๏ผŒๆจกๅž‹่ƒฝๅŠ›ใ€ๅฎšไปทใ€ๅˆ่ง„ๆ€งไธŽๆŽฅๅ…ฅไพฟๅˆฉๆ€งๅทฎๅผ‚ๆ˜พ่‘—ใ€‚ๆœฌๆ–‡ไปŽ้€‰ๅž‹ๅ‰ๆ้—ฎๅ‡บๅ‘๏ผŒ็ณป็ปŸๆขณ็†ๅ›ฝ้™…ไธŽๅ›ฝๅ†…ไธปๆตๅฎ˜ๆ–น API ๅนณๅฐ๏ผŒไปฅๅŠ OpenRouterใ€็ก…ๅŸบๆตๅŠจ็ญ‰็ฌฌไธ‰ๆ–น่šๅˆๅนณๅฐ็š„ๆ ธๅฟƒ็‰น็‚น๏ผŒๅนถๆไพ›ๅŸบไบŽๅœบๆ™ฏ็š„ๅ†ณ็ญ–ๆก†ๆžถ๏ผŒๅธฎๅŠฉๅผ€ๅ‘่€…ๅ’Œไบงๅ“ๅ›ข้˜Ÿๅฟซ้€Ÿ้”ๅฎšๆœ€้€‚ๅˆ่‡ชๅทฑ็š„ๆ–นๆกˆใ€‚\",\"permalink\":\"/ai-learning/llm-api-resources\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"LLM API\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"date\":\"2026-01-06 15:58:53\",\"capture\":\"1. ้€‰ๆจกๅž‹ๅ‰๏ผŒๅ…ˆๆƒณๆธ…ๆฅš่ฟ™ๅ‡ ไปถไบ‹\\nๅœจๅฏนๆฏ”ๅ…ทไฝ“ๅนณๅฐไน‹ๅ‰๏ผŒๅฏไปŽไปฅไธ‹ๅ››ไธช็ปดๅบฆๆขณ็†่‡ช่บซ่ฏ‰ๆฑ‚๏ผŒ้ฟๅ…\\\"็œผ่Šฑ็ผญไนฑๅŽ้šไพฟ้€‰ไธ€ไธช\\\"๏ผš\\n| ็ปดๅบฆ | ๅ…ณ้”ฎ้—ฎ้ข˜ | ๅฝฑๅ“ๅ†ณ็ญ– |\\n|:-----|:--------|:--------|\\n| ไปปๅŠก็ฑปๅž‹ | ๆ˜ฏ้€š็”จๅฏน่ฏใ€ไปฃ็ ็”Ÿๆˆใ€้•ฟๆ–‡ๆกฃๅˆ†ๆž๏ผŒ่ฟ˜ๆ˜ฏๅคšๆจกๆ€็†่งฃ๏ผŸ | ไธๅŒๆจกๅž‹ๅœจๅž‚็›ด่ƒฝๅŠ›ไธŠๅทฎ่ทๆ‚ฌๆฎŠ |\\n| ๆˆๆœฌ้ข„็ฎ— | ๆฏๆœˆ่ฐƒ็”จ้‡็บง๏ผŸ่ƒฝๅฆๆŽฅๅ—ๆตทๅค–็ป“็ฎ—ไธŽๆฑ‡็އ้ฃŽ้™ฉ๏ผŸ | ๅ›ฝไบงๆจกๅž‹ Token ไปทๆ ผ้€šๅธธไฝŽ 3๏ฝž10 ๅ€ |\\n| ๅˆ่ง„ไธŽ้ƒจ็ฝฒ | ๆ•ฐๆฎ่ƒฝๅฆๅ‡บๅขƒ๏ผŸ่ƒฝๅฆไฝฟ็”จๆตทๅค–ๆœๅŠก๏ผŸๆ˜ฏๅฆ้œ€่ฆ็งๆœ‰ๅŒ–้ƒจ็ฝฒ๏ผŸ | ๆถ‰ๅŠๆ”ฟๅŠก/้‡‘่ž/ๅŒป็–—ๅœบๆ™ฏๅฟ…้กป่€ƒ่™‘ |\\n| ็ฝ‘็ปœ็Žฏๅขƒ | ๅผ€ๅ‘/้ƒจ็ฝฒ็Žฏๅขƒ่ƒฝๅฆ็จณๅฎš่ฎฟ\"}],\"2025 \":[{\"url\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/10.่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"relativePath\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/10.่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"frontmatter\":{\"date\":\"2025-12-06 22:05:50\",\"title\":\"่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"description\":\"่ฝฏไปถๅทฅ็จ‹ๆญฃ็ปๅކไปŽโ€œๆ‰‹ๅ†™้€ป่พ‘โ€ๅ‘โ€œๆ„ๅ›พ่ฐƒๅบฆโ€็š„่Œƒๅผ่ฟๅพ™ใ€‚Anthropic ็š„็ ”็ฉถๆญ็คบไบ† AI ๅนถ้ž็ฎ€ๅ•็š„ๆๆ•ˆๅทฅๅ…ท๏ผŒ่€Œๆ˜ฏ้€š่ฟ‡้‡Šๆ”พ 27% ๆ›พ็ปโ€œไธๅˆ’็ฎ—โ€็š„ๅทฅ็จ‹ไปปๅŠก๏ผŒ้‡ๅก‘ไบ†่ฝฏไปถ่ดจ้‡็š„ๅฏ†ๅบฆใ€‚ๅœจ่‡ช็„ถ่ฏญ่จ€ๅณ็ผ–็จ‹่ฏญ่จ€็š„ๆ—ถไปฃ๏ผŒๆˆ‘ไปฌ้œ€่ฆ้€š่ฟ‡่ง„ๆ ผ้ฉฑๅŠจ๏ผˆSDD๏ผ‰ไธŽๅคšๆ™บ่ƒฝไฝ“็ผ–ๆŽ’๏ผŒ็ ด่งฃโ€œ็›‘็ฃๆ‚–่ฎบโ€ๅธฆๆฅ็š„ๆŠ€่ƒฝๅนณๅบธๅŒ–ๅฑๆœบ๏ผŒๅฐ† AI ็š„ๆฆ‚็އๆ€ง็”Ÿๆˆ้ฉฏๅŒ–ไธบ็กฎๅฎšๆ€ง็š„ๅทฅ็จ‹ไบคไป˜ใ€‚ๅฝ“็ผ–็ ๆˆๆœฌ่ถ‹ไบŽ้›ถ๏ผŒๅทฅ็จ‹ๅธˆ็š„็ปˆๆžๅฃๅž’ๅฐ†ๆ˜ฏๅฎšไน‰ๅฎŒ็พŽ็š„ๅ“ๅ‘ณ๏ผŒไปฅๅŠๅœจ AI ่ฟท้›พไธญ่ฏ†็ ดๅนณๅบธ็š„ๆดžๅฏŸๅŠ›ใ€‚\",\"permalink\":\"/fullstack/ai-change-work-workflow/\",\"top\":true,\"tags\":[\"ๅ…จๆ ˆ\",\"AI\"],\"categories\":[\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"date\":\"2025-12-06 22:05:50\",\"capture\":\"<script setup>\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\nๅœฐๅ€๏ผšHow AI is transforming work at Anthropic\\nๆ ธๅฟƒๆ ‡็ญพ๏ผš`AI่พ…ๅŠฉ็ผ–็จ‹` `ๅทฅ็จ‹` `่Œƒๅผ่ฝฌ็งป` `ๅทฅไฝœ่ฝฌๅž‹` `็”ŸไบงๅŠ›ๆๅ‡` `ๆŠ€่ƒฝๅ‘ๅฑ•` `ไบบๆœบๅไฝœ` \\nไธ€ๅฅ่ฏไป‹็ป๏ผšAnthropic ไธไป…ไป…ๆ˜ฏ AI ๅทฅๅ…ท็š„็”Ÿไบง่€…๏ผŒๆ›ดๆ˜ฏ็ฌฌไธ€ไธช่ฟ›ๅ…ฅโ€œๆœชๆฅๅฎž้ชŒๅฎคโ€็š„ๆทฑๅบฆ่ง‚ๅฏŸ่€…ใ€‚ไป–ไปฌ้€š่ฟ‡ๅ†…้ƒจๆ•ฐๆœˆ็š„ๅฎž้ชŒๆ•ฐๆฎๅ‘Š่ฏ‰ๆˆ‘ไปฌ๏ผšๅคงๆจกๅž‹ๅฏน่ฝฏไปถๅทฅ็จ‹็š„ๆ”น้€ ๏ผŒ็ป้ž็ฎ€ๅ•็š„โ€œๆๆ•ˆโ€๏ผŒ่€Œๆ˜ฏไธ€\"},{\"url\":\"/01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ\",\"frontmatter\":{\"date\":\"2025-11-25 00:52:28\",\"title\":\"AI ็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡ๆทฑๅบฆ่งฃๆžไบ† AI ้ฉฑๅŠจ็ผ–็จ‹็š„ไธ‰ๅคงๆผ”่ฟ›่Œƒๅผ๏ผšVibe Coding๏ผˆ่‡ช็„ถ่ฏญ่จ€้›ถ้—จๆง›ๆž„ๅปบ๏ผ‰ใ€AI IDE๏ผˆ็ผ–่พ‘ๅ™จๆทฑๅบฆ่พ…ๅŠฉๆๆ•ˆ๏ผ‰ๅŠ Agentic Engineering๏ผˆ่‡ชไธปๅทฅ็จ‹ๅธˆๆ‰ง่กŒไปปๅŠก๏ผ‰ใ€‚้€š่ฟ‡ๆจชๅ‘ๅฏนๆฏ” Bolt.newใ€Cursorใ€Claude Code ็ญ‰ๅ‰ๆฒฟๅทฅๅ…ท๏ผŒๆ–‡็ซ ๅ‹พๅ‹’ๅ‡บไธ€ๆกไปŽโ€œๅฟซ้€ŸๅŽŸๅž‹โ€ๅˆฐโ€œ้ซ˜ๆ•ˆๅๅŒโ€ๅ†ๅˆฐโ€œ่‡ชไธปไบคไป˜โ€็š„่ฟ›้˜ถ่ทฏๅพ„ใ€‚ๆ ธๅฟƒๆ—จๅœจๆŒ‡ๅฏผ็”จๆˆทๅˆฉ็”จ AI ๅทฅๅ…ท็Ÿฉ้˜ตๆ‰“็ ดๆŠ€ๆœฏ่พน็•Œ๏ผŒๅฎž็ŽฐไปŽๅˆ›ๆ„ๆ่ฟฐๅˆฐๅทฅไธš็บงไบคไป˜็š„็”ŸไบงๅŠ›้ฃž่ทƒ๏ผŒ้‡ๅก‘่ฝฏไปถๅผ€ๅ‘ๅ…จ็”Ÿๅ‘ฝๅ‘จๆœŸใ€‚\",\"permalink\":\"/ai-learning/ai-coding-resources\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/source_sites_bg.png\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"AI Coding\",\"Vibe Coding\",\"Agentic Engineering\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"AI ็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่\",\"date\":\"2025-11-25 00:52:28\",\"capture\":\"1. ไธ‰็ง็ผ–็จ‹่Œƒๅผ้€Ÿ่งˆ\\n| ่Œƒๅผ | ไธ€ๅฅ่ฏๆ่ฟฐ | ไฝ ็š„่ง’่‰ฒ |\\n|:-----|:---------|:--------|\\n| Vibe Coding | ็”จ่‡ช็„ถ่ฏญ่จ€ๆ่ฟฐ้œ€ๆฑ‚๏ผŒAI ็›ดๆŽฅ็”Ÿๆˆๅฏ่ฟ่กŒ็š„ๅฎŒๆ•ด้กน็›ฎ | ๆ่ฟฐ้œ€ๆฑ‚๏ผŒ่ฎฉ AI ๅ†™ไปฃ็ (```ๆ–ฐๆ‰‹ๅ‹ๅฅฝ```) |\\n| AI IDE | ๅœจ็ผ–่พ‘ๅ™จ้‡Œๅผ•ๅ…ฅ AI ่พ…ๅŠฉ๏ผŒ่พนๅ†™่พน่กฅๅ…จใ€่พน้—ฎ่พนๆ”น | ไธปๅฏผๅผ€ๅ‘๏ผŒ่ฎฉ AI ๅšๅ‰ฏ้ฉพ้ฉถ(```ๆ›ดๅคšๆŽงๅˆถ```) |\\n| Agentic Engineering | AI ไฝœไธบ\\\"่‡ชไธปๅทฅ็จ‹ๅธˆ\\\"๏ผŒๆŽฅๆ”ถไปปๅŠกๅŽ่‡ชๅŠจ่ง„ๅˆ’ๅนถๆ‰ง่กŒๅ…จๅฅ—ไปฃ็ ๅทฅไฝœๆต | ๆไปปๅŠกใ€ๅฎก็ป“ๆžœ๏ผŒ่ฎฉ AI ๆ‰ง่กŒ(```ๆž่‡ดๆๆ•ˆ```) |\\nๆ–ฐๆ‰‹่ทฏ็บฟๅปบ่ฎฎ๏ผšๅ…ˆ\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"frontmatter\":{\"date\":\"2025-11-25 00:52:28\",\"title\":\"ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไธบไพฟไบŽ้ซ˜ๆ•ˆๅˆฉ็”จ AI ๅทฅๅ…ทๆๅ‡ๅญฆไน ใ€ๆœ็ดขๅ’Œๅˆ›ไฝœๆ•ˆ็އ๏ผŒๆœฌๆ–‡็ณป็ปŸๆ•ด็†ไบ†ไธปๆต็š„ AI ๅŠฉๆ‰‹ไธŽๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐ็›ธๅ…ณ่ต„ๆบใ€‚ๅ†…ๅฎนๅˆ†ไธบโ€œAI ๅŠฉๆ‰‹โ€๏ผˆๅฆ‚ ChatGPTใ€Claudeใ€Gemini ็ญ‰ๅฏน่ฏๅผๅŠฉๆ‰‹๏ผ‰ๅ’Œโ€œๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐโ€๏ผˆๅฆ‚ๅ†™ไฝœใ€็ป˜็”ป็ญ‰้ข†ๅŸŸ็š„ AI ๅทฅๅ…ทไธŽๅนณๅฐ๏ผ‰๏ผŒไธ”ๆ ‡ๆณจไบ†ๅ…ถๆ ธๅฟƒ่ƒฝๅŠ›ใ€้€‚ๅˆๅœบๆ™ฏ๏ผŒไปฅๅŠ็‰น่‰ฒไผ˜ๅŠฟใ€‚\",\"permalink\":\"/ai-learning/tools-assistant\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/source_sites_bg.png\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"AI ๅŠฉๆ‰‹\",\"AI ๆœ็ดข\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"date\":\"2025-11-25 00:52:28\",\"capture\":\"1. AI ๅŠฉๆ‰‹\\n> ้€‰ๆ‹ฉๅปบ่ฎฎ๏ผš ่‹ฑๆ–‡ไธบไธป โ†’ ไผ˜ๅ…ˆ ChatGPT / Claude / Gemini๏ผ›ไธญๆ–‡ไธบไธป โ†’ ไผ˜ๅ…ˆ Kimi / DeepSeek / ้€šไน‰ๅƒ้—ฎ๏ผ›้œ€่ฆ่”็ฝ‘ๅฎžๆ—ถไฟกๆฏ โ†’ Gemini / Grok๏ผ›้œ€่ฆๅˆ†ๆž้•ฟๆ–‡ๆกฃ โ†’ Claude / Kimi๏ผ›่ฟฝๆฑ‚ไฝŽๆˆๆœฌๅผ€ๆบ้ƒจ็ฝฒ โ†’ DeepSeekใ€‚\\n>\\n> ๆณจ๏ผš็›ฎๅ‰ๅ›ฝๅค–ๆจกๅž‹๏ผˆๅฆ‚ ChatGPTใ€Claudeใ€Gemini ็ญ‰๏ผ‰ๅœจ่‹ฑๆ–‡ๅค„็†ใ€ๅคšๆจกๆ€่ƒฝๅŠ›ใ€ๆ’ไปถ็”Ÿๆ€ๅ’Œ API ไธฐๅฏŒๆ€ง็ญ‰ๆ–น้ข๏ผŒๆ•ดไฝ“ไธŠไพ็„ถไผ˜ไบŽๅ›ฝๅ†…ๆจกๅž‹๏ผŒ้€‚ๅˆๅฏน่‹ฑๆ–‡ๅˆ›ไฝœใ€ๅคš่ฏญ่จ€ๆฒŸ้€šใ€ๅคๆ‚ๆŽจ็†ใ€ไปฃ็ ๅŠฉๆ‰‹็ญ‰ๅœบๆ™ฏๆœ‰ๆ›ด้ซ˜่ฆๆฑ‚็š„็”จๆˆทใ€‚ไธ่ฟ‡๏ผŒๅ›ฝๅ†…ๆจกๅž‹ๅœจไธญๆ–‡็†่งฃใ€ๆœฌๅœฐๅŒ–ใ€ๅˆ่ง„\"},{\"url\":\"/10.ไบงๅ“ Sense/04.ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–/30.ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹่ฏปๅŽๆ„Ÿ\",\"relativePath\":\"/10.ไบงๅ“ Sense/04.ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–/30.ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹่ฏปๅŽๆ„Ÿ\",\"frontmatter\":{\"date\":\"2025-11-24 21:50:00\",\"title\":\"ๆ”พๅผƒๅขž้•ฟๆ‰งๅฟต๏ผŒไธบไป€ไนˆโ€œๅฐ่€Œ็พŽโ€ๆ‰ๆ˜ฏๅฏๆŒ็ปญไน‹่ทฏ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒ็ง‘ๆŠ€ไบ’่”็ฝ‘่กŒไธš็š„ๅ™ไบ‹้ƒฝ่ขซโ€œไธๆƒœไธ€ๅˆ‡ไปฃไปทๅฎž็Žฐ่ถ…็บฟๆ€งๅขž้•ฟโ€ๆ‰€ไธปๅฏผใ€‚ไปฟไฝ›ๅชๆœ‰ๆ‹ฟๅˆฐๅทจ้ข่ž่ต„ใ€็–ฏ็‹‚ๆ‹›ไบบใ€ๆˆไธบไผฐๅ€ผ็ ด็™พไบฟ็š„ๅบž็„ถๅคง็‰ฉ๏ผŒๆ‰็ฎ—ๅพ—ไธŠๆ˜ฏๆˆๅŠŸ็š„ๅˆ›ไธšใ€‚็„ถ่€Œ๏ผŒ่ฏปๅฎŒ่จๅธŒๅฐ”ยทๆ‹‰ๆ–‡ๅ‰ไบš็š„ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹ๅŽ๏ผŒ็ฌ”่€…่Žทๅพ—ไบ†ไธ€็งๆˆช็„ถไธๅŒ็š„ๅ•†ไธš่ง†่ง’๏ผšไผไธšๅญ˜ๅœจ็š„้ฆ–่ฆ็›ฎ็š„ไธๆ˜ฏไธบไบ†่ž่ต„ๅ’Œๆ‰ฉๅผ ๏ผŒ่€Œๆ˜ฏไธบไบ†้€š่ฟ‡่งฃๅ†ณ้—ฎ้ข˜ๆฅ่Žทๅพ—ๆŒ็ปญ็š„็›ˆๅˆฉใ€‚ ๆœฌๆ–‡็ป“ๅˆไนฆไธญ็š„ๆ ธๅฟƒ่ฎบ็‚นไธŽ่‡ช่บซ็š„็ ”ๅ‘่ง†่ง’๏ผŒๆŠŠๅฐ†่ฟ™ๆœฌไนฆ่ƒŒๅŽ็š„็ป่ฅ้€ป่พ‘ไธŽไบงๅ“ๅ“ฒๅญฆๆขณ็†ไธบๅ‡ ไธชๆ ธๅฟƒๅฑ‚้ข็š„ๆ€่€ƒใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense/small-rule-learn\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"ไบงๅ“ Sense\",\"ๅ•†ไธšๅŒ–\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆ”พๅผƒๅขž้•ฟๆ‰งๅฟต๏ผŒไธบไป€ไนˆโ€œๅฐ่€Œ็พŽโ€ๆ‰ๆ˜ฏๅฏๆŒ็ปญไน‹่ทฏ\",\"date\":\"2025-11-24 21:50:00\",\"capture\":\"ไนฆๅ๏ผšใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹\\nไฝœ่€…๏ผš[็พŽ] ่จๅธŒๅฐ”ยทๆ‹‰ๆ–‡ๅ‰ไบš\\nๆ ธๅฟƒๆ ‡็ญพ๏ผšๆž็ฎ€ๅˆ›ไธš๏ฝœ็คพๅŒบๆœฌไฝ๏ฝœๆŒ็ปญ็›ˆๅˆฉ๏ฝœๅˆ›ไฝœ่€…็ปๆตŽ\\nไธ€ๅฅ่ฏ็ฎ€่ฏ„๏ผšๅœจ็›ฒ็›ฎๅด‡ๆ‹œ่ง„ๆจกๆ‰ฉๅผ ็š„ๅ•†ไธš่ฏญๅขƒไธ‹๏ผŒ่ฟ™ๆ˜ฏไธ€ไปฝๅ†™็ป™็‹ฌ็ซ‹ๅˆ›ไฝœ่€…ไธŽๅผ€ๅ‘่€…็š„ๆธ…้†’ๆŒ‡ๅ—๏ผŒๆ•™ไผšๆˆ‘ไปฌๅฆ‚ไฝ•็”จๆœ€ๅฐ‘็š„่ต„ๆบ๏ผŒ่งฃๅ†ณ็œŸๅฎž็š„็—›็‚น๏ผŒๅนถ่Žทๅพ—้•ฟไน…็š„่‡ช็”ฑใ€‚\\nๆ›ดๅคšไนฆ็ฑๆŽจ่ไฟกๆฏๅฏๅ‚่€ƒ๏ผšไบงๅ“ Sense ไธŽๅ•†ไธšๅŒ–\\n 1. ็คพๅŒบๅ…ˆ่กŒ๏ผšไปŽโ€œๆˆ‘ๆ˜ฏ่ฐโ€ๅˆฐโ€œๆˆ‘่ƒฝไธบ่ฐ่งฃๅ†ณ้—ฎ้ข˜โ€\\nไผ ็ปŸๅ•†ไธš้€ป่พ‘ๅพ€ๅพ€ๆ˜ฏๅ…ˆๆž„ๆ€ไธ€ไธชๅฎๅคง็š„็‚นๅญ๏ผŒ้—ญ้—จ้€ ่ฝฆๆ‰“็ฃจไบงๅ“๏ผŒๆœ€ๅŽๅ†็ ธ้’ฑๅŽปๅธ‚ๅœบไธŠๅฏปๆ‰พ็›ฎๆ ‡็”จๆˆทใ€‚่€Œๆœฌไนฆๆๅ‡บไบ†ไธ€ไธช้ข ่ฆ†ๆ€ง็š„ๅๅ‘่ทฏๅพ„๏ผš็คพๅŒบ $\\\\rightarrow$ ้—ฎ้ข˜ $\\\\rightarrow$ ๆต็จ‹ $\\\\rightarrow$\"},{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/11.React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/11.React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"frontmatter\":{\"date\":\"2025-11-15 09:20:23\",\"title\":\"ไธๆญขไบŽ Fetch๏ผšReact ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"aliases\":[\"SWR\",\"TanStack Query\",\"React\",\"ๆœๅŠก็ซฏ็Šถๆ€\",\"ไน่ง‚ๆ›ดๆ–ฐ\",\"ๅทฅ็จ‹ๅŒ–\"],\"tldr\":\"ๆทฑๅ…ฅ่งฃๆž SWR ็š„ๆž็ฎ€ๅ่ฎฎไธŽ TanStack Query ็š„็ฒพๅฏ†็Šถๆ€ๆœบใ€‚้€š่ฟ‡ๅฏนๆฏ”็ผ“ๅญ˜ๅคฑๆ•ˆใ€ไน่ง‚ๆ›ดๆ–ฐ็ญ‰ๆ ธๅฟƒๅœบๆ™ฏ๏ผŒไธบ้ซ˜ๅคๆ‚ๅบฆ B ็ซฏๅบ”็”จไธŽ่ฝป้‡็บง้กน็›ฎๆไพ›ๆธ…ๆ™ฐ็š„ๆžถๆž„้€‰ๅž‹ๆจกๅž‹ใ€‚\",\"description\":\"ๆทฑๅบฆๅฏนๆฏ” React ็”Ÿๆ€ไธญ SWR ไธŽ TanStack Query ไธคๅคงๆ–นๆกˆใ€‚ไปŽ stale-while-revalidate ๆœบๅˆถๅˆฐๅผ‚ๆญฅ็Šถๆ€ๆœบๆžถๆž„๏ผŒๆถต็›–ไพ่ต–ๆŸฅ่ฏขใ€ๆ•ฐๆฎ่ฝฌๆขๅŠๆžถๆž„็บงไน่ง‚ๆ›ดๆ–ฐๅฎžๆˆ˜ใ€‚ๆ—จๅœจๅธฎๅŠฉๅผ€ๅ‘่€…ๅœจๅคๆ‚ไธšๅŠกไธญๆž„ๅปบ็กฎๅฎšๆ€ง็š„ๆœๅŠก็ซฏ็Šถๆ€ๅŸบๅบงใ€‚\",\"permalink\":\"/fullstack/server-state-management\",\"tags\":[\"SWR\",\"TanStack Query\",\"ๅ‰็ซฏๅทฅ็จ‹\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไธๆญขไบŽ Fetch๏ผšReact ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"date\":\"2025-11-15 09:20:23\",\"capture\":\"1. ๅผ•่จ€\\nๅœจ็Žฐไปฃๅ‰็ซฏๅทฅ็จ‹ไธญ๏ผŒ็Šถๆ€ๅฏไธฅๆ ผๅŒบๅˆ†ไธบ UI ็Šถๆ€๏ผˆUI State๏ผ‰ ไธŽ ๆœๅŠก็ซฏ็Šถๆ€๏ผˆServer State๏ผ‰ ไธค็ฑปใ€‚ๅฏนไบŽ UI ็Šถๆ€็š„็ฎก็†๏ผŒๅผ€ๅ‘่€…ๅทฒ่พƒไธบ็†Ÿๆ‚‰๏ผŒ้€šๅธธๅฏๅ€ŸๅŠฉ `useState`ใ€`useEffect` ็ญ‰ Hooks๏ผŒๆˆ– `zustand`ใ€`jotai` ็ญ‰็Šถๆ€็ฎก็†ๅบ“ๆฅๅฎž็Žฐใ€‚็„ถ่€Œ๏ผŒๆœๅŠก็ซฏ็Šถๆ€็š„็ฎก็†ๅพ€ๅพ€็ผบไน็ปŸไธ€ไธ”้ซ˜ๆ•ˆ็š„่งฃๅ†ณๆ–นๆกˆ๏ผŒๅผ€ๅ‘่€…้€šๅธธ้œ€่ฆ่‡ช่กŒๅฎž็Žฐใ€‚\\nๅœจไผ ็ปŸ็š„ๆ•ฐๆฎ่Žทๅ–ๆต็จ‹ไธญ๏ผŒๆˆ‘ไปฌไธ€่ˆฌไฝฟ็”จ `fetch` ๆˆ– `axios` ๅ‘ๅŽ็ซฏๆˆ– REST API ๅ‘้€ HTTP ่ฏทๆฑ‚๏ผŒ้šๅŽๆ‰‹ๅŠจๅฐ†ๆ•ฐๆฎ่Žทๅ–้€ป่พ‘ไธŽๅ‰็ซฏไธšๅŠก้€ป่พ‘ๅŠ UI ็Šถๆ€็ฎก็†่ฟ›่กŒๆ•ดๅˆ๏ผŒไปฅๅฎŒๆˆๆ•ฐๆฎๅค„็†ๅนถ้ฉฑๅŠจ็•Œ้ขๆ›ดๆ–ฐ\"},{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2025-11-14 22:33:39\",\"title\":\"JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"aliases\":[\"้™ๆ€็ซ™็‚น็”Ÿๆˆๅ™จ\",\"SSG\"],\"tldr\":\"้ข„ๆธฒๆŸ“้™ๆ€้กต้ข + ๅŠจๆ€ API๏ผŒCDN ๅˆ†ๅ‘ๅ…จ็ƒ๏ผŒๆ›ฟไปฃไผ ็ปŸๅŠจๆ€็ฝ‘็ซ™็š„ๅผ€ๅ‘้ƒจ็ฝฒ่Œƒๅผ\",\"description\":\"ไปŽๆ ธๅฟƒๆฆ‚ๅฟตใ€ๅทฅๅ…ท้“พ้€‰ๅž‹๏ผˆNext.js/Vercel/Supabase/Contentful๏ผ‰ๅˆฐไปŽ 0 ๆญๅปบๅšๅฎข็š„ๅฎŒๆ•ดๅฎž่ทต๏ผŒ่ฆ†็›– JAMStack ้€‚็”จไธŽไธ้€‚็”จๅœบๆ™ฏ๏ผŒๅธฎๅŠฉๅˆคๆ–ญไฝ•ๆ—ถ้€‰็”จ่ฏฅๆžถๆž„ใ€‚\",\"permalink\":\"/fullstack/jamstack\",\"tags\":[\"tutorial\",\"jamstack\",\"frontend-architecture\",\"next.js\",\"static-site-generator\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2025-11-14 22:33:39\",\"capture\":\"> \\n> ๅ…ถๆ ธๅฟƒๆœบๅˆถๆ˜ฏๅœจๆž„ๅปบๆ—ถๅฐ†้กต้ข้ข„ๆธฒๆŸ“ไธบ้™ๆ€ HTML/CSS/JS๏ผŒ้ƒจ็ฝฒ่‡ณ CDN ไพ›็”จๆˆทๅฐฑ่ฟ‘ๅŠ ่ฝฝ๏ผŒไป…ๅœจ้œ€่ฆๅŠจๆ€ๆ•ฐๆฎๆ—ถ้€š่ฟ‡ JavaScript ่ฐƒ็”จ API ่Žทๅ–ใ€‚็›ธ่พƒไบŽไผ ็ปŸๅŠจๆ€็ฝ‘็ซ™๏ผŒJAMStack ๅœจๆ€ง่ƒฝใ€ๅฏ้ ๆ€งใ€ๆ‰ฉๅฑ•ๆ€งใ€ๅฎ‰ๅ…จๆ€งๅŠ่ฟ็ปดๆˆๆœฌไธŠๅ…ทๆœ‰ๆ˜พ่‘—ไผ˜ๅŠฟใ€‚\\n> \\n> ๆœฌๆ–‡ๆขณ็†ไบ†ไธปๆตๆž„ๅปบๅทฅๅ…ท๏ผˆGatsbyใ€Next.jsใ€Nuxt.jsใ€11ty๏ผ‰ใ€้™ๆ€ๆ‰˜็ฎกๅนณๅฐ๏ผˆVercelใ€Netlifyใ€Cloudflare Pages๏ผ‰ใ€API/BaaS ๆœๅŠก๏ผˆSupabaseใ€Firebaseใ€Auth0๏ผ‰ๅŠๆ— ๅคด CMS๏ผˆContentfulใ€Sanityใ€Strapi\"},{\"url\":\"/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/40.ๆดžๅฏŸๅŠ›ๆจกๅž‹\",\"relativePath\":\"/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/40.ๆดžๅฏŸๅŠ›ๆจกๅž‹\",\"frontmatter\":{\"date\":\"2025-11-14 16:00:00\",\"title\":\"ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผšๅฆ‚ไฝ•็œ‹้€ไบงๅ“ไธŽๆŠ€ๆœฏ่ƒŒๅŽ็š„็ณป็ปŸ้€ป่พ‘๏ผŸ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆ— ่ฎบๆ˜ฏๅšไบงๅ“ใ€ๆžๆŠ€ๆœฏ๏ผŒ่ฟ˜ๆ˜ฏๅบ”ๅฏนๆ—ฅๅธธๅทฅไฝœไธญ็š„ๅ„็งๆŒ‘ๆˆ˜๏ผŒไฝ ๆ˜ฏๅฆ้‡ๅˆฐ่ฟ‡่ฟ™ๆ ท็š„ๅ›ฐๅขƒ๏ผšๆ˜Žๆ˜ŽๆŒ‰็ป้ชŒ่กŒไบ‹๏ผŒๅดๅฑกๅฑก่ธฉๅ‘๏ผ›ๅˆš่งฃๅ†ณ่กจ้ข้—ฎ้ข˜๏ผŒ้šๆ‚ฃๅˆๅทๅœŸ้‡ๆฅใ€‚้—ฎ้ข˜ๆœชๅฟ…ๅ‡บๅœจๅŠชๅŠ›็จ‹ๅบฆ๏ผŒ่€ŒๅœจไบŽๆˆ‘ไปฌๅช็›ฏ็€่กจ่ฑก๏ผŒๅดๅฟฝ็•ฅไบ†่ƒŒๅŽ็œŸๆญฃ่ตทไฝœ็”จ็š„็ณป็ปŸ๏ผŒๆฒกๆœ‰็œ‹ๆ‡‚่—ๅœจ่ƒŒๅŽ็š„็ณป็ปŸใ€‚ไธบไป€ไนˆๅŒๆ ทๆ˜ฏ่งฃๅ†ณ้—ฎ้ข˜๏ผŒๆœ‰ไบบๅช่ƒฝโ€œๅคด็—›ๅŒปๅคดโ€๏ผŒๆœ‰ไบบๅด่ƒฝ็›ดๅ‡ปๆœฌ่ดจ๏ผŸ่ฟ™็ฏ‡ๆ–‡็ซ ๅฐ†็”จ้€šไฟ—ๆ˜“ๆ‡‚็š„ๆ–นๅผ๏ผŒๅธฆไฝ ๆ‹†่งฃไธ€ๅฅ—ๅฎž็”จ็š„ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผŒ่ฎฉๆˆ‘ไปฌๅญฆไผš้€่ฟ‡็Žฐ่ฑกๆŠ“ไฝๆœฌ่ดจ๏ผŒไปŽๆ นๆบไธŠ่งฃๅ†ณ้—ฎ้ข˜ใ€‚\",\"permalink\":\"/product-sense/insight-model\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"ไบงๅ“ Sense\",\"็ณป็ปŸๆดžๅฏŸๅŠ›\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผšๅฆ‚ไฝ•็œ‹้€ไบงๅ“ไธŽๆŠ€ๆœฏ่ƒŒๅŽ็š„็ณป็ปŸ้€ป่พ‘๏ผŸ\",\"date\":\"2025-11-14 16:00:00\",\"capture\":\"1. ่กจ่ฑก่ƒŒๅŽ่—็€ๅ†ณๅฎšไธ€ๅˆ‡็š„โ€œ็ณป็ปŸ้ป‘็›’โ€\\nๆˆ‘ไปฌๅœจๆ—ฅๅธธๅผ€ๅ‘ๆˆ–ไบงๅ“่ฎพ่ฎกไธญ๏ผŒๆ€ปๆ˜ฏ่ขซๅ„็งโ€œ่กจ่ฑกโ€ๅŒ…ๅ›ด๏ผšDAU ็ช็„ถไธ‹้™ไบ†ใ€็บฟไธŠๅ‡บ็Žฐไบ†ไธ€ไธชๅถ็Žฐ็š„ Bugใ€ๆŸไธชๅŠŸ่ƒฝ็š„่ฝฌๅŒ–็އไธๅŠ้ข„ๆœŸใ€‚ๆˆ‘ไปฌไน ๆƒฏไบ†็›ฏ็€่ฟ™ไบ›็œ‹ๅพ—่ง็š„็ป“ๆžœๆ‰พๅŽŸๅ› ๏ผŒๅดๅฟฝ็•ฅไบ†ไธ€ไธชๆ ธๅฟƒ็œŸ็›ธ๏ผšๆฏไธ€ไธช่กจ่ฑก่ƒŒๅŽ๏ผŒๅ…ถๅฎž้ƒฝ้š่—็€ไธ€ไธช่ฟ่ฝฌๅคๆ‚็š„โ€œ้ป‘็›’ๅญโ€๏ผŒๆญฃๆ˜ฏ่ฟ™ไธช้ป‘็›’ๅญๅ†ณๅฎšไบ†ไบ‹็‰ฉๅ‘ๅฑ•็š„ๅฎข่ง‚่ง„ๅพ‹ใ€‚ๆˆ‘ไปฌๅฏไปฅๆŠŠ่ฟ™ไธช้ป‘็›’ๅญ๏ผŒๅซๅšโ€œ็ณป็ปŸโ€ใ€‚\\n<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/product/system_tips.png\\\" style=\\\"width: 1\"},{\"url\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/21.ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"relativePath\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/21.ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"frontmatter\":{\"date\":\"2025-11-10 12:52:28\",\"title\":\"ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจไฟกๆฏ้ซ˜ๅบฆ้€ๆ˜Ž็š„ๆ—ถไปฃ๏ผŒๆต…ๅฑ‚ไฟกๆฏๅทฎๅทฒ่ขซๅฝปๅบ•ๆŠนๅนณ๏ผŒไฟกๆฏๆœฌ่บซ็š„ไปทๅ€ผไธๆ–ญ็จ€้‡Šใ€‚ไบบไธŽไบบ็š„ๆ ธๅฟƒๅทฎ่ทไธๅ†ๆ˜ฏ่Žทๅ–ไฟกๆฏ็š„ๆธ ้“๏ผŒ่€Œๆ˜ฏ้ซ˜ไฟกๅ™ชๆฏ”ไฟกๆฏ็š„็”„ๅˆซ่ƒฝๅŠ›ใ€ๆทฑๅบฆๆ€่€ƒ่ƒฝๅŠ›ไธŽ่ฝๅœฐๆ‰ง่กŒๅŠ›๏ผŒๅ”ฏๆœ‰ไปฅๆ€่€ƒๆ ก้ชŒไฟกๆฏใ€ไปฅๆ‰ง่กŒ้ชŒ่ฏไปทๅ€ผ๏ผŒๅฝขๆˆโ€œไฟกๆฏ-ๅˆคๆ–ญ-ๅฎž่ทต-ๅ้ฆˆโ€็š„ๆ€่€ƒไธŽๆ‰ง่กŒ้—ญ็Žฏ๏ผŒๆ‰่ƒฝ็ช็ ดไฟกๆฏๅฃๅž’ใ€ๅˆ›้€ ็œŸๆญฃไปทๅ€ผใ€‚\",\"permalink\":\"/growth/distinguish-useful-information\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"ไฟกๆฏ็ญ›้€‰\",\"ไธชไบบๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"date\":\"2025-11-10 12:52:28\",\"capture\":\"ๅœจไบ’่”็ฝ‘ๆŠ€ๆœฏๆ™ฎๅŠ็š„ๅฝ“ไธ‹๏ผŒไฟกๆฏๅทฒไปŽโ€œ็จ€็ผบ่ต„ๆบโ€่ฝฌๅ˜ไธบโ€œๆณ›ๆปฅ่ต„ๆบโ€ใ€‚่ฟ‡ๅŽปไพ่ต–ๅœฐๅŸŸๅทฎใ€็จ€็ผบๆ€ง็š„ๆต…่กจๅฑ‚ไฟกๆฏๅทฎ้€ๆธ่ขซๆŠนๅนณ๏ผŒๅผ€ๅ‘่€…้€š่ฟ‡็ฝ‘็ปœๅฏ่ฝปๆพ่Žทๅ–ๅ„็ฑปๆŠ€ๆœฏๆ–‡ๆกฃใ€่กŒไธšๅŠจๆ€ใ€่ตš้’ฑๆจกๅผ๏ผŒไฝ†็œŸๆญฃ่ƒฝๅฐ†ไฟกๆฏ่ฝฌๅŒ–ไธบไปทๅ€ผ็š„ไปๆ˜ฏๅฐ‘ๆ•ฐไบบใ€‚ๆ ธๅฟƒ็Ÿ›็›พๅทฒไปŽโ€œ่Žทๅ–ไฟกๆฏโ€่ฝฌๅ˜ไธบโ€œ้ฉพ้ฉญไฟกๆฏโ€โ€”โ€”ไฟกๆฏๆœฌ่บซ็š„ไปทๅ€ผๅผฑๅŒ–๏ผŒ่€Œไฟกๆฏ่งฃ่ฏป่ƒฝๅŠ›ใ€่กŒๅŠจๆ‰ง่กŒๅŠ›ใ€็ญ›้€‰็”„ๅˆซๅŠ›ๆˆไธบๆ‹‰ๅผ€ๅทฎ่ท็š„ๅ…ณ้”ฎใ€‚\\n 1. ๆ‰“็ ดโ€œไฟกๆฏๅทฎโ€็š„็ณป็ปŸๆ€ง้”™่ง‰\\n่ฟ‡ๅŽป๏ผŒ็”ฑไบŽๅœฐๅŸŸ้™ๅˆถๅ’Œไผ ๆ’ญไป‹่ดจ็š„็จ€็ผบ๏ผŒ่ตš้’ฑๆˆ–ๆˆๅŠŸ็š„ๆจกๅผๅพ€ๅพ€ๆ˜ฏ็ฒ—ๆ”พ็š„๏ผŒๅปบ็ซ‹ๅœจๆต…่กจๅฑ‚็š„โ€œไฟกๆฏไธๅฏน็งฐโ€ไธŠ๏ผŒไฝ†้š็€ๆŠ€ๆœฏ็š„ๆผ”่ฟ›๏ผŒ่ฟ™็งไฝŽ็ปดๅบฆ็š„ไฟกๆฏๅทฎๆญฃๅœจ่ขซ่ฟ…้€ŸๆŠนๅนณใ€‚ไบบไปฌ็ปๅธธ้™ทๅ…ฅโ€œ่ตšไธๅˆฐ้’ฑ/ๆŠ“ไธไฝๆœบไผšๆ˜ฏๅ› ไธบ็ผบๅฐ‘ไฟกๆฏๅทฎโ€็š„่ฎค็Ÿฅๅๅทฎ๏ผŒไฝ†ๆœฌ่ดจ้—ฎ้ข˜ๅœจไบŽโ€œ\"},{\"url\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"relativePath\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"frontmatter\":{\"date\":\"2025-10-24 11:05:50\",\"title\":\"ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจ AI ้‡ๅก‘่ฝฏไปถๅทฅ็จ‹็š„ไปŠๅคฉ๏ผŒๅ…จๆ ˆไธๅ†ๆ˜ฏๆŠ€ๆœฏ็š„็บฟๆ€งๅ ๅŠ ๏ผŒๆญฃๅœจไปŽโ€œๆŠ€ๆœฏๆ ˆๅ †็ Œโ€่ฝฌๅ‘โ€œ่ฎค็Ÿฅๆ ˆ้‡ๆž„โ€ใ€‚ๆœฌๆ–‡ๆๅ‡บ โ€œ(ๅทฅ็จ‹ + ไบงๅ“) ร— AIโ€ ็š„ๆ–ฐๅ…ฌๅผ๏ผŒๅŠฉๅŠ›ๅผ€ๅ‘่€…ๆž„ๅปบโ€œๆดžๅฏŸ-ๆžถๆž„-ๆ ๆ†โ€่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”๏ผŒๅˆฉ็”จ AI ๆ ๆ†่ฎฉ่‡ชๅทฑ่ฟ›ๅŒ–ไธบไปทๅ€ผๅˆ›้€ ่€…ใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"permalink\":\"/fullstack/ai-native\",\"sticky\":1,\"top\":true,\"tags\":[\"ๅ…จๆ ˆ\",\"AI\",\"ไบงๅ“\"],\"categories\":[\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"date\":\"2025-10-24 11:05:50\",\"capture\":\"<script setup>\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n 1. ๅผ•่จ€\\nๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒๅฝ“ๆˆ‘ไปฌ่ฐˆ่ฎบโ€œๅ…จๆ ˆๅทฅ็จ‹ๅธˆโ€ๆ—ถ๏ผŒ่„‘ๆตทไธญๆตฎ็Žฐ็š„ๅพ€ๅพ€ๆ˜ฏไธ€ๅผ ๅ†—้•ฟไธ”ไปคไบบ็–ฒๆƒซ็š„ๆŠ€ๆœฏๅทฅๅบๆธ…ๅ•ใ€‚\\nๅฐฑๅƒๆˆ‘ๆ›พ็ปไปฅไธบ็š„้‚ฃๆ ท๏ผŒๅ…จๆ ˆๅฐฑๆ˜ฏ็บฟๆ€ง็š„ๆŠ€่ƒฝๅ ๅŠ ไธŽ็‰ฉ็†ๅผ็š„ๆŠ€ๆœฏๆ‹ผๆŽฅ๏ผŒๆ˜ฏไธ€็งไพ้ ไบบๅŠ›ๅŽปๅกซ่กฅๆŠ€ๆœฏ้ธฟๆฒŸ็š„โ€œ่ฅฟ่ฅฟๅผ—ๆ–ฏๅผโ€ๅŠชๅŠ›๏ผš\\n* ็บฟๆ€ง็š„ๆŠ€่ƒฝๅ ๅŠ ๏ผšๆˆ‘ไปฌ่ขซ่ฟซๆˆไธบโ€œๅ…จ่ƒฝๆ‰‹โ€๏ผŒๅทฆๆ‰‹็”จ React/Vue ๆž„ๅปบ็ฒพ็พŽ็š„ UI๏ผŒๅณๆ‰‹็”จ Node/Go ็ผ–ๅ†™้ซ˜ๅนถๅ‘ API๏ผŒไธญ้—ด่ฟ˜่ฆๅค„็†ๆ•ฐๆฎๅบ“็š„ ACI\"},{\"url\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/21.ๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense\",\"relativePath\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/21.ๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense\",\"frontmatter\":{\"date\":\"2025-10-23 16:05:50\",\"title\":\"ๅฝ“โ€œๅฎž็Žฐโ€ไธๅ†ๆ˜ฏๅฃๅž’๏ผšๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense๏ผŸ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ AI ่ฎฉไปฃ็ ็”Ÿๆˆ็š„่พน้™…ๆˆๆœฌ่ถ‹่ฟ‘ไบŽ้›ถ๏ผŒโ€œๆŠ€ๆœฏๅฎž็Žฐโ€ไธๅ†ๆ˜ฏไธๅฏ้€พ่ถŠ็š„ๅฃๅž’๏ผŒโ€œไบงๅ“ๆดžๅฏŸโ€่ƒฝๆž„็ญ‘่ตทๆ–ฐ็š„ๆ ธๅฟƒๆŠคๅŸŽๆฒณใ€‚ๆœฌๆ–‡ๆ‹’็ป็Ž„ๅญฆ๏ผŒๅฐ†ๆŠฝ่ฑก็š„ ไบงๅ“ Sense ่งฃๆž„ไธบไธ‰ไธชๆ ธๅฟƒๆ•ฐๅญฆๅ…ฌๅผ๏ผŒๅนถๆไพ›ไธ€ๅฅ—ๅŸบไบŽโ€œ้€†ๅ‘ๅทฅ็จ‹โ€็š„ๅˆปๆ„็ปƒไน ๆŒ‡ๅ—๏ผŒๅŠฉๅŠ›ๅผ€ๅ‘่€…ๅœจ็ฎ—ๅŠ›่ฟ‡ๅ‰ฉ็š„ๆ—ถไปฃ๏ผŒๅฎŒๆˆไปŽโ€œไปฃ็ ๅทฅๅŒ โ€ๅˆฐโ€œไปทๅ€ผๅˆ›้€ ่€…โ€็š„่ฎค็Ÿฅ่ทƒ่ฟใ€‚\",\"sticky\":1,\"top\":true,\"categories\":[\"ไบงๅ“ Sense\",\"AI\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense/engineer-build-product-sense\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฝ“โ€œๅฎž็Žฐโ€ไธๅ†ๆ˜ฏๅฃๅž’๏ผšๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense๏ผŸ\",\"date\":\"2025-10-23 16:05:50\",\"capture\":\"1. ๅผ•่จ€\\nๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒไบงๅ“ Sense๏ผˆไบงๅ“ๆ„Ÿ๏ผ‰ ่ขซ่ง†ไธบไธ€็ง็Ž„ๅญฆใ€‚ๅฎƒไผผไนŽๆ˜ฏไน”ๅธƒๆ–ฏๅผ็š„็ตๅ…‰ไธ€็Žฐ๏ผŒๆˆ–ๆ˜ฏๅผ ๅฐ้พ™ๅผ็š„โ€œ็‹ฌๆ–ญไธ“่กŒโ€ใ€‚\\nไฝ†ๅฏนไบŽๅคงๅคšๆ•ฐๅทฅ็จ‹ๅธˆใ€ไบงๅ“็ป็†ไนƒ่‡ณ็‹ฌ็ซ‹ๅผ€ๅ‘่€…่€Œ่จ€๏ผŒๅฐ†่ƒฝๅŠ›ๅฏ„ๆ‰˜ไบŽโ€œๅคฉ่ต‹โ€ๆ˜ฏๅฑ้™ฉ็š„ใ€‚ๆˆ‘่ฎคไธบ๏ผŒไบงๅ“ Sense ๅนถ้žไธๅฏๆ‰ๆ‘ธ็š„้ป‘้ญ”ๆณ•๏ผŒ่€Œๆ˜ฏไธ€ๅฅ—็ป่ฟ‡้ซ˜้ข‘่ฎญ็ปƒๅŽๅ†…ๅŒ–ไธบๆœฌ่ƒฝ็š„ๆ€็ปด็ฎ—ๆณ•ใ€‚ ๅฐฑๅƒ่ต„ๆทฑ็จ‹ๅบๅ‘˜็œ‹ๅˆฐไธ€ๆฎตไปฃ็ ๅฐฑ่ƒฝๅ—…ๅ‡บ \\\"Code Smell\\\"๏ผˆไปฃ็ ๅผ‚ๅ‘ณ๏ผ‰๏ผŒ่ต„ๆทฑไบงๅ“ไบบไนŸ่ƒฝๅœจ็žฌ้—ดๅˆคๆ–ญไธ€ไธช้œ€ๆฑ‚ๆ˜ฏโ€œ็œŸ็—›็‚นโ€่ฟ˜ๆ˜ฏโ€œไผช้œ€ๆฑ‚โ€ใ€‚\\nไธ€ไธชๆˆๅŠŸ็š„ไบงๅ“ๅ†ณ็ญ–๏ผŒๅพ€ๅพ€ๅ‘็”Ÿๅœจไธ‰ไธช็ปดๅบฆ็š„ไบคๆฑ‡็‚น๏ผš\\n* ็”จๆˆทไปทๅ€ผๆดžๅฏŸ๏ผˆUser Value Insight๏ผ‰๏ผšไธไป…ๅฌๆ‡‚็”จๆˆท่ฏดโ€œๆƒณ่ฆๆ›ดๅฟซ็š„้ฉฌโ€๏ผŒๆ›ด่ƒฝๆดžๅฏŸไป–ๅ…ถๅฎžโ€œๆƒณๆ›ด\"},{\"url\":\"/40.ๅ…ณไบŽ/01.ๅ…ณไบŽๆˆ‘\",\"relativePath\":\"/40.ๅ…ณไบŽ/01.ๅ…ณไบŽๆˆ‘\",\"frontmatter\":{\"date\":\"2025-08-29 09:40:53\",\"title\":\"ๅ…ณไบŽๆˆ‘\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไปŽ Tech Stack ๅˆฐ Insight Stack๏ผŒๅฝ“ AI ๆŽฅ็ฎกไบ†ๅฎž็Žฐ๏ผŒๆˆ‘ๆ›ดๅ…ณๆณจๆžถๆž„็š„ๆƒ่กกไธŽไบงๅ“็š„ไปทๅ€ผ๏ผŒไธ“ๆณจ๏ผšๅทฅ็จ‹ๅŒ– Spec ไธŽ AI ็ผ–็จ‹็ฃจๅˆ็š„ๅฎž่ทต | Agent ่ฝๅœฐ | ็‹ฌ็ซ‹ไบงๅ“ใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/about_me_chinese.png\",\"permalink\":\"/about/me\",\"categories\":[\"ๅ…ณไบŽ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ…ณไบŽๆˆ‘\",\"date\":\"2025-08-29 09:40:53\",\"capture\":\"ๆˆ‘ๆ˜ฏ่ฐ\\nๆˆ‘ๆ˜ฏไธ€ๅๆ‹ฅๆœ‰ๅ…จๆ ˆ่ƒŒๆ™ฏ็š„ๅผ€ๅ‘่€…, ๆŠ€ๆœฏๅบ•่‰ฒๆบไบŽๅทฅไฝœๅ‡ ๅนดๅŽ็งฏ็ดฏไบ†่พƒไธบๆ‰Žๅฎž็š„ๅทฅ็จ‹ๅŒ–ๅฎž่ทตโ€”โ€”ไปŽๅŸบ็ก€็š„ Web ๅ‰็ซฏๅˆฐๅคๆ‚็š„่ทจๅนณๅฐๅฐ็จ‹ๅบๅŸบ็ก€ๆก†ๆžถ็š„ๆžถๆž„ๅ‡็บง๏ผŒๅ†ๅˆฐๅŸบไบŽ NodeJS ็š„ๆœๅŠก็ซฏๅผ€ๅ‘๏ผŒ่ฟ™ไบ›็ปๅކ้”ป็‚ผไบ†ๆˆ‘ๅฏน็ณป็ปŸๅคๆ‚ๅบฆ็š„ๆŽŒๆŽงๅŠ›ใ€ๅทฅ็จ‹ๅŒ–่ƒฝๅŠ›ไปฅๅŠ้กน็›ฎๆŽจๅŠจไธŽๅ›ข้˜Ÿๅˆไฝœ็š„่ƒฝๅŠ›ใ€‚\\n่‡ช 2023 ๅนด LLM ๆตชๆฝฎๆถŒ็Žฐไปฅๆฅ๏ผŒๆˆ‘ๆทฑๅบฆๆŠ•่บซไบŽ AI ็›ธๅ…ณ็š„ๆŠ€ๆœฏๆŽข็ดขใ€‚ๅœจๅทฅไฝœไธŽไธšไฝ™้กน็›ฎไธญ๏ผŒไธปๅฏผๆˆ–ๅ‚ไธŽไบ†ๅคšไธชๅŸบไบŽๅคงๆจกๅž‹็š„ๅบ”็”จ่ฝๅœฐ๏ผŒ็งฏ็ดฏไบ†ไปŽ Prompt ่ฐƒไผ˜ๅˆฐ Agentic Workflow ็ผ–ๆŽ’็š„ไธ€็บฟ็ป้ชŒ๏ผŒไนŸๅคšๆฌกๅ‚ๅŠ ไบ†ๅ›ฝๅ†… AI ็คพๅŒบ็›ธๅ…ณ็š„ๆŠ€ๆœฏๅˆ†ไบซไธŽไบคๆตๆดปๅŠจ๏ผŒไบ†่งฃไบ† AI ้ข†ๅŸŸๆœ€ๆ–ฐ็š„ๆŠ€ๆœฏ่ถ‹ๅŠฟไธŽๅฎž่ทตใ€‚\\n\\n็›ฎๅ‰๏ผŒๆˆ‘ไธป่ฆๅœจ\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹\",\"frontmatter\":{\"date\":\"2025-08-20 22:51:27\",\"title\":\"่Šไธ€่Š TypeScript ไธญ็š„ๆณ›ๅž‹\",\"tldr\":\"ๆณ›ๅž‹ๅฐ†็ฑปๅž‹ไฝœไธบๅ‚ๆ•ฐ๏ผŒไฝฟไปฃ็ ๅœจๅคš็ง็ฑปๅž‹ไธŠๅฎ‰ๅ…จ่ฟ่กŒ๏ผŒๆ˜ฏ TypeScript ็ฑปๅž‹ๆŠฝ่ฑก็š„ๆ ธๅฟƒ็‰นๆ€งใ€‚\",\"description\":\"ๆœฌๆ–‡็ณป็ปŸ่งฃๆž TypeScript ๆณ›ๅž‹็š„ๆ ธๅฟƒๆฆ‚ๅฟตไธŽๅทฅไฝœๆœบๅˆถ๏ผŒๅฏนๆฏ”ๆณ›ๅž‹ไธŽ any ็ฑปๅž‹็š„ๅทฎๅผ‚๏ผŒๆถต็›–ๆณ›ๅž‹ๅ‡ฝๆ•ฐใ€ๆŽฅๅฃใ€็ฑปใ€็ฑปๅž‹ๅˆซๅ็š„ๅฎž่ทต็”จๆณ•๏ผŒไปฅๅŠๅŸบๆœฌ็ฑปๅž‹็บฆๆŸใ€ๆŽฅๅฃ็บฆๆŸใ€ๅคš้‡็บฆๆŸใ€keyof ็บฆๆŸ็ญ‰้ซ˜้˜ถๆŠ€ๅทงไธŽๆœ€ไฝณๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/typescript-generic-types\",\"tags\":[\"tutorial\",\"typescript\",\"generics\",\"type-system\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่Šไธ€่Š TypeScript ไธญ็š„ๆณ›ๅž‹\",\"date\":\"2025-08-20 22:51:27\",\"capture\":\"1. ๆณ›ๅž‹็š„ๅŸบๆœฌๆฆ‚ๅฟตๅ’Œไฝœ็”จ\\n 1.1 ๆ ธๅฟƒๅฎšไน‰\\nๆณ›ๅž‹๏ผˆGenerics๏ผ‰ ๆ˜ฏ TypeScript ไธญไธ€็งๅผบๅคง็š„็ฑปๅž‹็ณป็ปŸ็‰นๆ€ง๏ผŒๅ…่ฎธๅฎšไน‰็ฑปๅž‹ๅ‚ๆ•ฐๅŒ–็š„็ป„ไปถ๏ผŒไฝฟไปฃ็ ่ƒฝๅคŸๅœจๅคš็ง็ฑปๅž‹ไธŠๅฎ‰ๅ…จ่ฟ่กŒ๏ผŒๅŒๆ—ถไฟๆŒ็ฑปๅž‹ๆฃ€ๆŸฅใ€‚ๆณ›ๅž‹็š„ๆ ธๅฟƒๆ€ๆƒณๆ˜ฏๅฐ†็ฑปๅž‹ไฝœไธบๅ‚ๆ•ฐไผ ้€’็ป™ๅ‡ฝๆ•ฐใ€ๆŽฅๅฃๆˆ–็ฑป๏ผŒๅฎž็Žฐ\\\"็ผ–ๅ†™ไธ€ๆฌก๏ผŒๅค็”จๅคšๆฌก\\\"็š„ๆ•ˆๆžœใ€‚\\n 1.2 ๆณ›ๅž‹ไธŽ any ็ฑปๅž‹็š„ๅฏนๆฏ”\\n| ็‰นๆ€ง | ๆณ›ๅž‹ | any ็ฑปๅž‹ |\\n|------|------|----------|\\n| ็ฑปๅž‹ๅฎ‰ๅ…จ | โœ… ็ผ–่ฏ‘ๆ—ถ่ฟ›่กŒ็ฑปๅž‹ๆฃ€ๆŸฅ | โŒ ๅฎŒๅ…จๅคฑๅŽป็ฑปๅž‹ๆฃ€ๆŸฅ |\\n| ไปฃ็ ๅค็”จ | โœ… ๆ”ฏๆŒๅคš็ง็ฑปๅž‹ๅค็”จ | โœ… ๆ”ฏๆŒๅคš็ง็ฑปๅž‹๏ผŒไฝ†ๅคฑๅŽป็ฑปๅž‹ไฟกๆฏ |\\n| ็ฑปๅž‹ๆŽจๆ–ญ | โœ… \"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2025-08-12 22:47:47\",\"title\":\"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—\",\"tldr\":\"TypeScript ๅฎŒๅ–„็š„็ผ–่ฏ‘ไฝ“็ณปไธŽ่ฐƒ่ฏ•ๅทฅๅ…ท้“พ๏ผŒๆ˜ฏๆž„ๅปบ้ซ˜่ดจ้‡ๅบ”็”จ็š„ๅŸบ็Ÿณใ€‚\",\"description\":\"ๆทฑๅ…ฅ่งฃๆž TypeScript ็ผ–่ฏ‘ๅทฅๅ…ท้“พไธŽ่ฐƒ่ฏ•ไฝ“็ณป๏ผŒๆถต็›– tsconfig.json ๆ ธๅฟƒ้…็ฝฎใ€Monorepo ้กน็›ฎ้…็ฝฎ๏ผˆextends/references๏ผ‰ใ€source map ่ฐƒ่ฏ•ใ€ESLint ไธŽ Jest ๅ•ๅ…ƒๆต‹่ฏ•็ญ‰ๅฎŒๆ•ดๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/typescript-compilation-debugging-guide\",\"tags\":[\"tutorial\",\"typescript\",\"compilation\",\"tooling\",\"eslint\",\"jest\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—\",\"date\":\"2025-08-12 22:47:47\",\"capture\":\"็ผ–ๅ†™ไปฃ็ ๅชๆ˜ฏๅผ€ๅ‘ๅทฅไฝœ็š„่ตท็‚น๏ผŒ็œŸๆญฃๅ†ณๅฎš้กน็›ฎ่ดจ้‡็š„ๆ˜ฏๅŽ็ปญ็š„็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•็Žฏ่Š‚ใ€‚TypeScript ไฝœไธบ JavaScript ็š„้™ๆ€็ฑปๅž‹่ถ…้›†๏ผŒไธไป…ๅธฆๆฅไบ†็ฑปๅž‹ๅฎ‰ๅ…จ๏ผŒๆ›ดๆไพ›ไบ†ๅผบๅคง็š„็ผ–่ฏ‘ๅทฅๅ…ทๅ’Œ่ฐƒ่ฏ•่ƒฝๅŠ›๏ผŒ่ฎฉๆˆ‘ไปฌ่ƒฝๅคŸๆ›ด้ซ˜ๆ•ˆๅœฐๆž„ๅปบๅ’Œ็ปดๆŠคๅฏ้ ็š„ๅบ”็”จ็จ‹ๅบใ€‚\\nๆœฌๆ–‡ๅฐ†ๅฏน TypeScript ้กน็›ฎ็š„็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•่ฟ›่กŒๆขณ็†๏ผŒๅŒ…ๆ‹ฌ็ผ–่ฏ‘ๅทฅๅ…ท TSC ็š„ไฝฟ็”จใ€็ผ–่ฏ‘้€‰้กน็š„้…็ฝฎใ€่ฐƒ่ฏ•ๅทฅๅ…ท็š„ไฝฟ็”จ็ญ‰ใ€‚\\n 1. TypeScript ็ผ–่ฏ‘้…็ฝฎไธŽ tsconfig.json\\nTSC๏ผˆTypeScript Compiler๏ผ‰ๆ˜ฏ TypeScript ๅฎ˜ๆ–นๆไพ›็š„็ผ–่ฏ‘ๅทฅๅ…ท๏ผŒ่ดŸ่ดฃๅฐ† TypeScript ไปฃ็ ๏ผˆ`.ts` ๆˆ– `.tsx`๏ผ‰่ฝฌๆขไธบ J\"},{\"url\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/10.่ฏปไนฆไธ‰่ฆไธ‰ไธ่ฆ\",\"relativePath\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/10.่ฏปไนฆไธ‰่ฆไธ‰ไธ่ฆ\",\"frontmatter\":{\"date\":\"2025-03-06 11:42:20\",\"title\":\"่ฏปไนฆโ€œไธ‰่ฆโ€ๅ’Œโ€œไธ‰ไธ่ฆโ€\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจไฟกๆฏ็ˆ†็‚ธ็š„ๆ—ถไปฃ๏ผŒ่ฏปไนฆไพ็„ถๆ˜ฏ่Žทๅ–ๆทฑๅบฆ็Ÿฅ่ฏ†ๆœ€้ซ˜ๆ•ˆ็š„ๆ–นๅผไน‹ไธ€ใ€‚ไฝ†โ€œๆง่ตทไนฆโ€ๅนถไธ็ญ‰ไบŽโ€œๆœ‰ๆ”ถ่Žทโ€๏ผŒๆ€Žไนˆ่ฏปๅพ€ๅพ€ๆฏ”่ฏปไป€ไนˆๆ›ด้‡่ฆใ€‚ๆœฌๆ–‡ๆ€ป็ป“ไบ†้ซ˜ๆ•ˆ้˜…่ฏป็š„โ€œไธ‰่ฆโ€ไธŽโ€œไธ‰ไธ่ฆโ€๏ผšไปŽๅฎŒๆ•ด้˜…่ฏป่ง‚ๆ‘ฉๅคงๅธˆๆ€็ปดใ€ๅธฆ็€้—ฎ้ข˜ๆž„ๅปบ็Ÿฅ่ฏ†ๆ ‘๏ผŒๅˆฐ้€š่ฟ‡่ฎจ่ฎบๆฃ€้ชŒ็†่งฃ๏ผ›ๅŒๆ—ถๆ้†’้˜…่ฏป่€…่ญฆๆƒ•ๅ“€ๆ€จๅฟƒๆ€ๅฏน้˜…่ฏปๅˆ่กท็š„ๅผ‚ๅŒ–ใ€้ฟๅ…้™ทๅ…ฅๅฏน็‰ฉ็†ๅช’ไป‹็š„โ€œ็Žฉ็‰ฉไธงๅฟ—โ€๏ผŒไปฅๅŠๅˆ‡ๅฟŒ่„ฑ็ฆป็Žฐๅฎž็š„โ€œ็œŸ็ฉบโ€้˜…่ฏปใ€‚้˜…่ฏปไธไป…ๆ˜ฏๅ‘ๅ†…ๆŽข็ดข็š„็ฒพ็ฅžไน‹ๆ—…๏ผŒๆ›ดๆ˜ฏๅ‘ๅค–็†่งฃ็œŸๅฎžไธ–็•Œใ€ๅˆ›้€ ็คพไผšไปทๅ€ผ็š„ๅฎž็”จๅทฅๅ…ทใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/reading_need.png\",\"permalink\":\"/pages/growth/reading-tips\",\"sticky\":1,\"top\":true,\"categories\":[\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\"],\"tags\":[\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ฏปไนฆโ€œไธ‰่ฆโ€ๅ’Œโ€œไธ‰ไธ่ฆโ€\",\"date\":\"2025-03-06 11:42:20\",\"capture\":\"<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/reading_need.png\\\" style=\\\"width: 100%; border-radius: 8px; margin-bottom: 20px;\\\" alt=\\\"about site background\\\">\\n 1. ๆˆ‘ไปฌไธบไป€ไนˆ้œ€่ฆ่ฏปไนฆ๏ผŸ\\n่ฏปไนฆๆ˜ฏไปŽๅค–็•ŒๆŽฅๅ—ไฟกๆฏ็š„ไธ€็งๆ–นๅผ๏ผŒไธŽ่Šๅคฉใ€ๆต่งˆ็ฝ‘้กตใ€ๅฌๆ’ญๅฎขใ€็œ‹็”ต่ง†ๅนถๆ— ๆœฌ่ดจๅŒบๅˆซใ€‚ไฝ†ไนฆ่ฟ™็งๅช’ไป‹ไธŽๅ…ถไป–ไฟกๆฏๅช’ไป‹็›ธๆฏ”๏ผŒๆœ‰ๅ…ถ็‹ฌๆœ‰็š„ไผ˜ๅŠฟ๏ผš\\n- ๆทฑๅบฆไธŽไธฅ่ฐจ๏ผšไนฆ็ฑๅพ€ๅพ€ๆ˜ฏๅˆ›ไฝœ่€…ๅคšๅนดๆ€่€ƒใ€้•ฟๆœŸ\"}],\"2024 \":[{\"url\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/20.่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"relativePath\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/20.่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"frontmatter\":{\"date\":\"2024-06-15 22:23:00\",\"title\":\"่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡็ป“ๅˆไฟ็ฝ—ใƒปๆ ผ้›ทๅŽ„ๅง†ใ€ŠHow to Do Great Workใ€‹ๆ ธๅฟƒ่ง‚็‚น๏ผŒๆŽข่ฎจ AI ๅŽŸ็”Ÿๆ—ถไปฃๅคๅˆๅž‹ไบบๆ‰็š„ๆ ธๅฟƒ็‰น่ดจใ€‚AI ่ฎฉๅŸบ็ก€ๆ‰ง่กŒ่ƒฝๅŠ›ๅฟซ้€Ÿ่ดฌๅ€ผ๏ผŒไบบๆ‰็š„ๆ ธๅฟƒๅฃๅž’ไธๅ†ๆ˜ฏ่งฃๅ†ณ้—ฎ้ข˜๏ผŒ่€Œๆ˜ฏๆๅ‡บไผ˜่ดจ้—ฎ้ข˜ใ€ๅŸนๅ…ป้žๅ…ฑ่ฏ†ๅ“ๅ‘ณใ€‚ๅŒๆ—ถ้œ€ๅšๅฎˆๆ™บๅŠ›่ฏšๅฎž๏ผŒๆ‹ฅๆœ‰ๆ‰“็ ดๅธธ่ง„็š„ๅˆ›ๆ–ฐๅ‹‡ๆฐ”๏ผŒๅ€ŸๅŠฉ AI ๆ”พๅคงไธชไบบๆˆ้•ฟๆ ๆ†๏ผŒไปฅๅฐๅˆ‡ๅฃๅฎž่ทตๅฎž็ŽฐๆŒ‡ๆ•ฐ็บงๆˆ้•ฟใ€‚ไบบ็ฑป็‹ฌๆœ‰็š„ๅฅฝๅฅ‡ๅฟƒ๏ผŒๆ˜ฏ็ช็ ด AI ๅนณๅบธใ€ๅ–ๅพ—ๆฐๅ‡บๆˆๅฐฑ็š„ๆœ€็ปˆๅบ•ๆฐ”ใ€‚\",\"coverImg\":\"/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense/ai-native-composite-talents\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"AI\",\"ๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"date\":\"2024-06-15 22:23:00\",\"capture\":\"> \\n> ๅŽŸๆ–‡ๅœฐๅ€๏ผšhttps://paulgraham.com/greatwork.html\\n> \\n> ๅŽŸๆ–‡ไฝœ่€…๏ผšPaul Graham๏ผˆไฟ็ฝ—ยทๆ ผ้›ทๅŽ„ๅง†๏ผ‰๏ผŒ็ก…่ฐท้กถ็บงๅญตๅŒ–ๅ™จ Y Combinator ๅˆ›ๅง‹ไบบ๏ผŒ่ขซ่ช‰ไธบโ€œ็ก…่ฐทๅˆ›ไธšๆ•™็ˆถโ€๏ผŒไนŸๆ˜ฏ็ปๅ…ธๆŠ€ๆœฏๅ“ฒๅญฆ่‘—ไฝœใ€Š้ป‘ๅฎขไธŽ็”ปๅฎถใ€‹็š„ไฝœ่€…ใ€‚\\n> \\n> ๆ–‡็ซ ่ƒŒๆ™ฏ๏ผšๅŽŸๆ–‡ๆ˜ฏไฟ็ฝ—ยทๆ ผ้›ทๅŽ„ๅง†ไน‹ๅ‰ๅ‡†ๅค‡ไบ†ๅŠๅนดไน‹ไน…็š„้‡็ฃ…้•ฟๆ–‡๏ผŒไป–่ฏ•ๅ›พ่ฎฒๆ˜Ž็™ฝไธ€ไธช้€‚็”จไบŽๆฏไธชไบบ็š„ไธป้ข˜โ€”โ€”ๅฆ‚ไฝ•ๅšๆˆใ€Œๅคงไบ‹ใ€๏ผˆgreat work๏ผ‰ใ€‚้€š่ฏปๅ…จๆ–‡๏ผŒไฝ ไผšๅ‘็Žฐ๏ผŒ่ฟ™ๆ˜ฏไธ€็ฏ‡้žๅธธๅฎž็”จ็š„ๅทฅไฝœๆŒ‡ๅ—๏ผŒๅนถไธ”ๅ…ถไธญ็š„่ฎธๅคšๅ†…ๅฎน๏ผŒ้ƒฝไธŽAIๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰ๆ‰€้œ€่ฆๅ…ทๅค‡็š„็‰น่ดจ้žๅธธไธ€่‡ดใ€‚\\n 1. ๅผ•่จ€๏ผš\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/60.ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/60.ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹\",\"frontmatter\":{\"date\":\"2024-06-14 22:00:00\",\"title\":\"ไธ€ๆฌก็”ฑ Product Sense ้ฉฑๅŠจ็š„ Agent ๆž้™ๅฎž่ทต\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšAI ๆ—ถไปฃ๏ผŒๅ†™ๅฅฝไปฃ็ ๅชๆ˜ฏๅŠๆ ผ็บฟใ€‚ๅœจไธ€ๆฌกๆž้™ๆŒ‘ๆˆ˜่ต›ไธญ๏ผŒๆˆ‘ไปฌ้€š่ฟ‡ๅฏน K12 ่ต›้“็”จๆˆท็—›็‚น็š„็ฒพๅ‡†โ€œ่ง†่ง’ๅˆ‡ๆขโ€๏ผŒๆ‰“้€ ๅ‡บไธ€ๆฌพๆŽˆไบบไปฅๆธ”็š„โ€œๆ•ฐๅญฆ่พ…ๅฏผๅฏผๅธˆโ€ๅนถๆ–ฉ่Žทๅคงๅฅ–ใ€‚ๆœฌๆ–‡ๅค็›˜ไบ† Agent ๆญๅปบ่ƒŒๅŽ็š„ๆ ธๅฟƒ SOP ่ฎพ่ฎก้€ป่พ‘๏ผšๆŠ€ๆœฏ็ปˆ็ฉถ่ฆๅ›žๅฝ’ๅฏน็œŸๅฎžไบบๆ€ง็š„ไฝ“ๅฏŸไธŽๅ…ณๆ€€ใ€‚\",\"coverImg\":\"/img/cover/llm_learning_bg_2.png\",\"permalink\":\"/ai-practice/math-bot\",\"categories\":[\"ai-practice\"],\"tags\":[\"Agent\",\"ไบงๅ“ Sense\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไธ€ๆฌก็”ฑ Product Sense ้ฉฑๅŠจ็š„ Agent ๆž้™ๅฎž่ทต\",\"date\":\"2024-06-14 22:00:00\",\"capture\":\"ๅœจๅˆšๅˆš่ฟ‡ๅŽป็š„ๅ‘จๆœซ๏ผŒๆˆ‘ๅ’Œๅฅฝๅ‹ๅ‚ๅŠ ไบ†ไธ€ๅœบ็”ฑๅƒๅธ† Agent ไธพๅŠž็š„็บฟไธ‹็คพๅŒบๆดปๅŠจใ€‚่ฟ™ๆ˜ฏไธ€ๅœบๅ……ๆปกๆžๅฎข็ฒพ็ฅž็š„โ€œๆž้™ๆŒ‘ๆˆ˜โ€โ€”โ€”ๆˆ‘ไปฌ้œ€่ฆๅœจๆžๅ…ถๆœ‰้™็š„ๆ—ถ้—ดๅ†…๏ผŒไปŽ้›ถๅผ€ๅง‹ๆž„ๆ€ใ€ๆญๅปบๅนถ็Žฐๅœบๅฑ•็คบไธ€ไธชๅฎŒๆ•ด็š„ Agent ๅบ”็”จใ€‚\\nไปคไบบๆƒŠๅ–œ็š„ๆ˜ฏ๏ผŒๆˆ‘ไปฌไธไป…้กบๅˆฉๅฎŒๆˆไบ†ๆž้™ๅผ€ๅ‘๏ผŒๆœ€็ปˆ่ฟ˜ๆ–ฉ่Žทไบ†ๅ…จๅœบ็š„ใ€Œๆœ€ไฝณๅบ”็”จๅฅ–ใ€ใ€‚\\nๅค็›˜่ฟ™ๆฌก็Ÿญๆš‚ๅด้ซ˜ๅฏ†ๅบฆ็š„ๅผ€ๅ‘ไฝ“้ชŒ๏ผŒๆœ€ๅคง็š„ๆ„Ÿ่งฆๆ˜ฏ๏ผšๅœจ AI ๆ—ถไปฃ๏ผŒๅ•็บฏ็š„ๅทฅ็จ‹ๅฎž็Žฐๅทฒ็ปไธๅ†ๆ˜ฏๅ”ฏไธ€็š„ๅฃๅž’๏ผŒ็œŸๆญฃ่ฎฉๅบ”็”จ่„ฑ้ข–่€Œๅ‡บ็š„๏ผŒๆ˜ฏๅฏน็œŸๅฎžไธšๅŠกๅœบๆ™ฏ็š„ๆดžๅฏŸๅŠ›ใ€‚ๅฝ“ (Engineering + Product) ร— AI ็š„้ฃž่ฝฎๅผ€ๅง‹่ฝฌๅŠจๆ—ถ๏ผŒๆŠ€ๆœฏๆ‰่ƒฝ็œŸๆญฃ่ฝฌๅŒ–ไธบ่งฃๅ†ณ้—ฎ้ข˜็š„ๅˆฉๅ™จใ€‚\\nไปฅไธ‹ๆ˜ฏๅ…ณไบŽ่ฟ™ๆฌกโ€œK12 ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹โ€ Agent ๆญๅปบ็š„ๅฎž\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview\",\"frontmatter\":{\"date\":\"2024-05-18 22:49:57\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ไปŽ ES Modules ๅˆฐๅคงๅž‹้กน็›ฎๅˆ†ๅฑ‚ๆžถๆž„ไธŽๅทฅ็จ‹ๅŒ–ๅฎž่ทต๏ผŒๆž„ๅปบๅ…จๆ ˆๆจกๅ—ๅŒ–็Ÿฅ่ฏ†ไฝ“็ณปใ€‚\",\"description\":\"็ณป็ปŸๆขณ็† JavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›๏ผˆIIFEโ†’CJSโ†’ESM๏ผ‰ใ€TypeScript ็ฑปๅž‹ๅขžๅผบใ€ๅˆ†ๅฑ‚ๆžถๆž„ไธŽ DDD ๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/module-programming-practice-guide\",\"tags\":[\"tutorial\",\"ESM\",\"DDD\",\"ๅพฎๅ‰็ซฏ\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2024-05-18 22:49:57\",\"capture\":\"1. ๅผ•่จ€\\nๆจกๅ—ๅŒ–็ผ–็จ‹ๆ˜ฏ็Žฐไปฃ JavaScript/TypeScript ๅผ€ๅ‘็š„ๆ ธๅฟƒๅŽŸๅˆ™๏ผŒๅฎƒ้€š่ฟ‡ๅฐ†ๅคๆ‚็ณป็ปŸๆ‹†ๅˆ†ไธบ็‹ฌ็ซ‹ๅฏๅค็”จ็š„ๆจกๅ—๏ผŒ้™ไฝŽ็ณป็ปŸๅคๆ‚ๆ€งๅนถๆ้ซ˜ๅฏ็ปดๆŠคๆ€งไธŽๅฏๅค็”จๆ€งใ€‚ๅ› ๆญค๏ผŒๆˆ‘ไปฌ้€š่ฟ‡็ณปๅˆ—ๆ–‡็ซ ่ฏฆ็ป†ไป‹็ปไบ†ๆจกๅ—ๅŒ–็š„ๅŸบ็ก€ๆฆ‚ๅฟตใ€ๆผ”่ฟ›ๅކ็จ‹ใ€ไธๅŒ่ง„่Œƒ็š„ๆทฑๅบฆ่งฃๆžใ€TypeScriptๆจกๅ—ๅŒ–ๅขžๅผบใ€ES Modules ๆ ธๅฟƒ่ฏญๆณ•ไธŽๅฎž่ทตใ€ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทตใ€ๅ‰็ซฏๅทฅ็จ‹ๅŒ–ไธญ็š„ๆจกๅ—ๅŒ–ใ€Node.jsไธญ็š„ๆจกๅ—ๅŒ–ๅฎž่ทตใ€ๅคงๅž‹้กน็›ฎไธญ็š„ๆจกๅ—ๅŒ–่ฎพ่ฎกใ€ๆจกๅ—ๅŒ–ไธŽไปฃ็ ็ปดๆŠคไปฅๅŠๆœชๆฅๅ‘ๅฑ•่ถ‹ๅŠฟใ€‚\\nๅ‰้ข็š„็ณปๅˆ—ๆ–‡็ซ ไธป่ฆๆœ‰๏ผš\\n- ๆจกๅ—ๅŒ–็ผ–็จ‹็ผ–็จ‹ๅˆไฝ“้ชŒไธŽๅŸบ็ก€ไป‹็ป\\n- JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\\n- ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒ\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–\",\"frontmatter\":{\"date\":\"2024-05-17 23:33:09\",\"title\":\"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“\",\"tldr\":\"Node.js CJS ไธŽ ESM ๅŒๆจกๅ…ฑๅญ˜๏ผšๆจกๅ—ๅŠ ่ฝฝๆœบๅˆถไธŽๅˆ†ๅฑ‚ๆžถๆž„ๅฎž่ทตใ€‚\",\"description\":\"่งฃๆž Node.js ไธญ CommonJS ไธŽ ES Modules ็š„ๅŒๆจกๅ…ฑๅญ˜็ญ–็•ฅ๏ผŒๆถต็›–ๆจกๅ—ๅŠ ่ฝฝไผ˜ๅ…ˆ็บงใ€็ผ“ๅญ˜ๆœบๅˆถใ€package.json exports ๆกไปถๅฏผๅ‡บๅŠ Monorepo ๆžถๆž„ๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/nodejs-module-programming-summary\",\"abstract\":\"Node.js ๆจกๅ—ๅŒ–็ปๅކไบ†ไปŽ CommonJS ็‹ฌ้œธๅคฉไธ‹ๅˆฐ ES Modules ๅ…จ้ขๆŽฅๅ…ฅ็š„่Œƒๅผ่ฝฌ็งปใ€‚ๅ…ฑๅญ˜็ญ–็•ฅ้€š่ฟ‡ .mjs/.cjs ๅŽ็ผ€ๅ’Œ package.json type ๅญ—ๆฎตๆŽงๅˆถไธค็ง่ง„่Œƒ็š„่พน็•Œ๏ผ›ESM ๅฏ็›ดๆŽฅ import CJS๏ผˆ่‡ชๅŠจๅŒ…่ฃ…ไธบ้ป˜่ฎคๅฏผๅ‡บ๏ผ‰๏ผŒไฝ† CJS ๆ— ๆณ• require ESM ๅฟ…้กปไฝฟ็”จๅŠจๆ€ importใ€‚ๆจกๅ—ๅŠ ่ฝฝ้ตๅพชๆ ธๅฟƒๆจกๅ—ไผ˜ๅ…ˆใ€ๆ–‡ไปถๆจกๅ—ใ€็›ฎๅฝ•ๆจกๅ—๏ผˆindex.js/package.json๏ผ‰ใ€node_modules ้€็บงๆŸฅๆ‰พ็š„ไผ˜ๅ…ˆ็บง๏ผ›require.cache ๅฎž็Žฐๆจกๅ—็ผ“ๅญ˜๏ผŒๆธ…้™ค็ผ“ๅญ˜๏ผˆdelete require.cache[path]๏ผ‰ๆ˜ฏ็ƒญๆ›ดๆ–ฐๅทฅๅ…ท็š„ๆ ธๅฟƒๆ“ไฝœใ€‚package.json exports ๅญ—ๆฎตๆ”ฏๆŒๆกไปถๅฏผๅ‡บ๏ผˆimport/require ่ฟ”ๅ›žไธๅŒๅ…ฅๅฃ๏ผ‰ใ€‚pnpm workspaces ๅ‡ญๅ€Ÿ็กฌ้“พๆŽฅๆœบๅˆถๆˆไธบ็Žฐไปฃ Monorepo ้ฆ–้€‰ใ€‚ๅŽ็ซฏๅˆ†ๅฑ‚ๆžถๆž„๏ผˆAPI/Service/Repository๏ผ‰ๅฎž็Žฐๅ…ณๆณจ็‚นๅˆ†็ฆป๏ผŒๆขๆ•ฐๆฎๅบ“ๅช้œ€ๆ”น Repository ๅฑ‚ใ€‚\",\"tags\":[\"concept\",\"node.js\",\"commonjs\",\"esm\",\"monorepo\",\"layered-architecture\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“\",\"date\":\"2024-05-17 23:33:09\",\"capture\":\"ๅฆ‚ๆžœ่ฏดๆต่งˆๅ™จ็ซฏ็š„ๆจกๅ—ๅŒ–ๆ˜ฏไธบไบ†\\\"ๆŒ‰้œ€ๅŠ ่ฝฝ\\\"๏ผŒ้‚ฃไนˆ Node.js ็š„ๆจกๅ—ๅŒ–ๅˆ™ๆ˜ฏไธบไบ†\\\"ไปฃ็ ็ป„็ป‡\\\"ใ€‚ไฝœไธบๅฐ† JavaScript ๅธฆๅ…ฅๆœๅŠกๅ™จ็ซฏ็š„ๅ…ˆ้ฉฑ๏ผŒNode.js ็ปๅކไบ†ไปŽ CommonJS (CJS) ็‹ฌ้œธๅคฉไธ‹ๅˆฐ ES Modules (ESM) ๅ…จ้ขๆŽฅๅ…ฅ็š„่Œƒๅผ่ฝฌ็งปใ€‚\\nๅœจๆœๅŠกๅ™จ็ซฏ๏ผŒๆจกๅ—ๅŒ–ไธไป…ไป…ๆ˜ฏไธบไบ†ๆ‹†ๅˆ†ไปฃ็ ๏ผŒๆ›ดๆ˜ฏไธบไบ†ๆž„ๅปบๆธ…ๆ™ฐ็š„้กน็›ฎ็ป“ๆž„ใ€็ฎก็†ไพ่ต–ๅ…ณ็ณป๏ผŒไปฅๅŠๅฎž็Žฐไปฃ็ ็š„ๅค็”จไธŽ็ปดๆŠคใ€‚\\n 1. CommonJS ไธŽ ES Modules ๅŒๆจกๅ…ฑๅญ˜\\nๅœจ็Žฐไปฃ Node.js ๅผ€ๅ‘ไธญ๏ผŒๆˆ‘ไปฌ็ปๅธธ้ขไธดไธค็ง่ง„่Œƒไบค็ป‡็š„ๆƒ…ๅ†ตใ€‚่ฟ™ไธไป…ๆ˜ฏๆ–‡ไปถๅŽ็ผ€็š„ๆ”นๅ˜๏ผŒๆ›ดๆ˜ฏๅŒๆญฅไธŽๅผ‚ๆญฅๅŠ ่ฝฝ้€ป่พ‘็š„ๅšๅผˆใ€‚\\nๅ…ฑๅญ˜็ญ–็•ฅ๏ผš\\n1. ๅŽ็ผ€ๅ†ณๅฎš่ฎบ๏ผš`.mjs\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต\",\"frontmatter\":{\"date\":\"2024-05-17 22:30:50\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ๆขณ็†ไธŽๆ€ป็ป“\",\"tldr\":\"ๆŽŒๆก้ซ˜ๅ†…่šไฝŽ่€ฆๅˆๅŽŸๅˆ™๏ผšๆจกๅ—ๅŒ–็ผ–็จ‹็š„่ฎพ่ฎกๅ‡†ๅˆ™ไธŽ็ฒ’ๅบฆๆŽงๅˆถใ€‚\",\"description\":\"็ณป็ปŸๆขณ็†ๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅ…ญๅคงๆ ธๅฟƒๅŽŸๅˆ™๏ผšๅ•ไธ€่Œ่ดฃใ€้ซ˜ๅ†…่šไฝŽ่€ฆๅˆใ€็ฒ’ๅบฆ่ฎพ่ฎกใ€ๅ‘ฝๅ่ง„่ŒƒๅŠๆจกๅ—็‰ˆๆœฌ็ฎก็†๏ผŒ้™„่ฏฆ็ป†็š„ๅทฅ็จ‹ๅฎž่ทตๅปบ่ฎฎไธŽ้ฟๅ‘ๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/fullstack/module-programming-principles-best-practices\",\"abstract\":\"ๅฆ‚ๆžœ่ฏดๆŽŒๆกๆจกๅ—ๅŒ–่ฏญๆณ•ๆ˜ฏๆœฏ๏ผŒ้‚ฃไนˆ็†่งฃๅ…ถ่ƒŒๅŽ็š„่ฎพ่ฎกๅŽŸๅˆ™ๅฐฑๆ˜ฏ้“ใ€‚ๅ•ไธ€่Œ่ดฃๅŽŸๅˆ™ๅผบ่ฐƒๆจกๅ—ๅชๅบ”ๆœ‰ไธ€ไธช่ขซๆ”นๅ˜็š„ๅŽŸๅ› ๏ผŒ้ฟๅ… God Object ๅๆจกๅผใ€‚้ซ˜ๅ†…่šไฝŽ่€ฆๅˆๆ˜ฏ่กก้‡ๆจกๅ—่ดจ้‡็š„็ปˆๆžๆ ‡ๅ‡†โ€”โ€”ๆจกๅ—ๅ†…้ƒจๅ…ƒ็ด ่”็ณป็ดงๅฏ†๏ผŒๆจกๅ—ไน‹้—ดไพ่ต–ๅ…ณ็ณปๅฐฝๅฏ่ƒฝ็ฎ€ๅ•ใ€‚็ฒ’ๅบฆ่ฎพ่ฎก่ฆๆฑ‚ๅ•ไธชๆจกๅ—ไฟๆŒๅœจ 100-500 ่กŒไน‹้—ด๏ผŒๅŠŸ่ƒฝ่ƒฝ็”จไธ€ๅฅ่ฏๆธ…ๆ™ฐๆ่ฟฐ๏ผŒๅ‡บ็Žฐๅคšๅˆ†ๆ”ฏๅคๆ‚้€ป่พ‘ๆ—ถ้€šๅธธๆ˜ฏๆ‹†ๅˆ†ไฟกๅทใ€‚ๅ‘ฝๅ่ง„่Œƒ็ปŸไธ€ๅ›ข้˜ŸๆฒŸ้€š่ฏญๅขƒ๏ผˆkebab-case ๆ–‡ไปถๅใ€camelCase ๆ–นๆณ•ๅใ€PascalCase ็ฑปๅ๏ผ‰ใ€‚ๆจกๅ—็‰ˆๆœฌ็ฎก็†้ตๅพช SemVer ่ฏญไน‰ๅŒ–็‰ˆๆœฌ๏ผŒไธบๅ…ฌๅ…ฑๆจกๅ—็š„็ปดๆŠค่€…ไธŽไฝฟ็”จ่€…ๅปบ็ซ‹ๅฅ‘็บฆใ€‚ๅผบ่ฐƒๆธ…ๆ™ฐ็š„ๆจกๅ—่พน็•Œๆ˜ฏ AI ่พ…ๅŠฉ็ผ–็จ‹ๆ—ถไปฃ AI ๅ‡†็กฎ็†่งฃไปฃ็ ็š„ๅ‰ๆใ€‚\",\"tags\":[\"concept\",\"solid-principles\",\"code-organization\",\"best-practices\",\"naming-conventions\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ๆขณ็†ไธŽๆ€ป็ป“\",\"date\":\"2024-05-17 22:30:50\",\"capture\":\"1. ๅ•ไธ€่Œ่ดฃๅŽŸๅˆ™\\nๆ ธๅฟƒๆ€ๆƒณ๏ผšไธ€ไธชๆจกๅ—ๅบ”ๅฝ“ๆœ‰ไธ”ๅชๆœ‰ไธ€ไธช่ขซๆ”นๅ˜็š„ๅŽŸๅ› ใ€‚\\nๆจกๅ—ไธๅบ”ๆˆไธบๅŠŸ่ƒฝ็š„โ€œๆ‚่ดง้“บโ€ใ€‚ๅฝ“ไธ€ไธชๆจกๅ—ๆ‰ฟๆ‹…ไบ†ๅคชๅคšไธ็›ธๅ…ณ็š„ไธšๅŠก้€ป่พ‘ๆ—ถ๏ผŒๅฎƒ็š„ๅคๆ‚ๅบฆไผšๅ‘ˆๆŒ‡ๆ•ฐ็บงไธŠๅ‡๏ผŒไปปไฝ•ๅพฎๅฐ็š„ๆ”นๅŠจ้ƒฝๅฏ่ƒฝๅผ•ๅ‘ๆ„ๆƒณไธๅˆฐ็š„่ฟž้”ๅๅบ”ใ€‚\\nไปฃ็ ๆผ”็คบ๏ผš\\n```javascript\\n// โœ… ๆŽจ่๏ผš่Œ่ดฃๆ‹†ๅˆ†ๆ˜Ž็กฎ\\n// user-service.js - ไป…ๅค„็†็”จๆˆทๆ•ฐๆฎ็š„ CRUD\\nexport const getUser = async (id) => { /* ... */ };\\n// auth-provider.js - ไป…ๅค„็†้‰ดๆƒ็Šถๆ€ไธŽ้€ป่พ‘\\nexport const login = async (credenti\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"frontmatter\":{\"date\":\"2024-05-16 21:27:36\",\"title\":\"ไปŽ้€ป่พ‘้š”็ฆปๅˆฐ็ฑปๅž‹ๅฅ‘็บฆ๏ผšTypeScript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"tldr\":\"TypeScript ๅฐ†ๆจกๅ—ไพ่ต–ๆๅ‡ไธบ็ผ–่ฏ‘ๆ—ถ็ฑปๅž‹ๅฅ‘็บฆ๏ผŒไปŽ import type ๅˆฐๅฃฐๆ˜Žๆ–‡ไปถใ€‚\",\"description\":\"็ณป็ปŸ่ฎฒ่งฃ TypeScript ๅฏน ES Modules ็š„็ฑปๅž‹ๅขžๅผบ๏ผŒๆถต็›– import type ่ฟ่กŒๆ—ถไผ˜ๅŒ–ใ€ๆŽฅๅฃๅฅ‘็บฆใ€ๅฃฐๆ˜Žๆ–‡ไปถ .d.ts ๅŠ tsconfig ๆจกๅ—ๅŒ–้…็ฝฎใ€‚\",\"permalink\":\"/fullstack/typescript-module-programming-enhancement\",\"tags\":[\"concept\",\"ๅ…จๆ ˆ\",\"typescript\",\"tsconfig\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไปŽ้€ป่พ‘้š”็ฆปๅˆฐ็ฑปๅž‹ๅฅ‘็บฆ๏ผšTypeScript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"date\":\"2024-05-16 21:27:36\",\"capture\":\"1. ๅผ•่จ€\\nๅœจๅŽŸ็”Ÿ JavaScript ๆจกๅ—ๅŒ–่งฃๅ†ณไบ†ไปฃ็ ็ป„็ป‡้—ฎ้ข˜ๅŽ๏ผŒTypeScript๏ผˆTS๏ผ‰่ฟ›ไธ€ๆญฅๅฐ†ๅ…ถๆŽจๅ‘ไบ†ๅทฅไธš็บง้ซ˜ๅบฆใ€‚TS ไธไป…ไป…ๆ˜ฏไธบๆจกๅ—ๆทปๅŠ ไบ†็ฑปๅž‹ๆ ‡ๆณจ๏ผŒๅฎƒ้€š่ฟ‡็ฑปๅž‹ๅฏผๅ‡บๅฏผๅ…ฅใ€็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ใ€ไปฅๅŠๅฃฐๆ˜Žๆ–‡ไปถ็ณป็ปŸ๏ผŒๅฐ†ๆจกๅ—้—ด็š„ไพ่ต–ๅ…ณ็ณปไปŽ็ฎ€ๅ•็š„โ€œไปฃ็ ๅผ•็”จโ€ๆๅ‡ๅˆฐไบ†โ€œๅฅ‘็บฆไบคไบ’โ€ใ€‚\\nๆœฌๆ–‡ๆˆ‘ไปฌๅฐ†่š็„ฆไบŽ TypeScript ๅฆ‚ไฝ•้€š่ฟ‡็ฑปๅž‹็ณป็ปŸๅขžๅผบๆจกๅ—ๅŒ–็ผ–็จ‹๏ผŒๅนถๆŽข่ฎจๅœจ็Žฐไปฃๅทฅ็จ‹๏ผˆๅฐคๅ…ถๆ˜ฏ TS 5.0+ ๆ—ถไปฃ๏ผ‰ไธ‹็š„ๆœ€ไฝณ้…็ฝฎๅฎž่ทตใ€‚\\n 2. ็ฑปๅž‹ๅฏผๅ‡บไธŽๅฏผๅ…ฅ๏ผšๆž่‡ด็š„่ฟ่กŒๆ—ถไผ˜ๅŒ–\\nTypeScript ๅฏน ES Modules ่ฏญๆณ•ๆœ€ๆ˜พ่‘—็š„ๆ‰ฉๅฑ•ๆ˜ฏๆ”ฏๆŒโ€œไป…็ฑปๅž‹โ€๏ผˆType-only๏ผ‰็š„ๅฏผๅ‡บไธŽๅฏผๅ…ฅใ€‚่ฟ™ไธไป…ๆ˜ฏ่ฏญไน‰ไธŠ็š„ๆธ…ๆ™ฐ๏ผŒๆ›ดๆ˜ฏๆ€ง\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"frontmatter\":{\"date\":\"2024-05-14 22:29:32\",\"title\":\"ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒๆ‹ฅๆŠฑๅŽŸ็”Ÿ๏ผšES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"tldr\":\"ES Modules ๆ ธๅฟƒ่ฏญๆณ•ไธŽๆ‰ง่กŒๆจกๅž‹๏ผš้™ๆ€ๅˆ†ๆžๅฆ‚ไฝ•้‡ๅก‘ๅ‰็ซฏๆž„ๅปบๆ•ˆ็އใ€‚\",\"description\":\"ๆทฑๅบฆ่งฃๆž ES Modules ๅ‘ฝๅๅฏผๅ‡บ/ๅฏผๅ…ฅใ€้ป˜่ฎคๅฏผๅ‡บใ€ๅŠจๆ€ๅฏผๅ…ฅ็ญ‰่ฏญๆณ•๏ผŒไปฅๅŠๆจกๅ—ๆ‰ง่กŒ้กบๅบใ€ๅพช็Žฏไพ่ต–ๅค„็†ไธŽ็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ๆœบๅˆถใ€‚\",\"permalink\":\"/fullstack/decode-es-modules\",\"tags\":[\"concept\",\"ESM\",\"static-analysis\",\"Tree-Shaking\",\"circular-dependency\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒๆ‹ฅๆŠฑๅŽŸ็”Ÿ๏ผšES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"date\":\"2024-05-14 22:29:32\",\"capture\":\"> \\n> ็†่งฃ ESM๏ผŒไธไป…ไป…ๆ˜ฏๅญฆไผš import ๅ’Œ export๏ผŒๆ›ด้‡่ฆ็š„ๆ˜ฏ็†่งฃๅฎƒๅฆ‚ไฝ•้€š่ฟ‡็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ๅฝปๅบ•ๆ”นๅ˜ไบ†ๅ‰็ซฏๆž„ๅปบ็š„ๆ•ˆ็އใ€‚\\n 1. ๅ‘ฝๅๅฏผๅ‡บไธŽๅฏผๅ…ฅ๏ผš็ฒพๅ‡†็š„ไปฃ็ ๅผ•็”จ\\nๅ‘ฝๅๅฏผๅ‡บ๏ผˆNamed Exports๏ผ‰ๆ˜ฏ ESM ๆœ€ๅธธ็”จ็š„ๅฝขๅผ๏ผŒๅฎƒๅ…่ฎธไธ€ไธชๆจกๅ—ๆšด้œฒๅคšไธชๆˆๅ‘˜ใ€‚ๅ…ถๆ ธๅฟƒไผ˜ๅŠฟๅœจไบŽ๏ผšๅฏผๅ…ฅๆ–นๅฏไปฅๆŒ‰้œ€ๅผ•ๅ…ฅ๏ผŒไธ” IDE ่ƒฝๆไพ›็ฒพๅ‡†็š„่กฅๅ…จใ€‚\\n่ฏญๆณ•ๅฎž่ทต๏ผš๏ผš\\n```javascript\\n// math.js - ๅ‘ฝๅๅฏผๅ‡บ\\n// ่กŒๅ†…ๅฏผๅ‡บ\\nexport const PI = 3.14159;\\nexport function circleArea(radius) {\\n return PI * rad\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†\",\"frontmatter\":{\"date\":\"2024-05-14 22:26:06\",\"title\":\"JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\",\"tldr\":\"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ็ญ‰ๆ ธๅฟƒ่ง„่Œƒ๏ผŒ้™„็Žฐไปฃ่ฟ็งป็ญ–็•ฅใ€‚\",\"description\":\"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ๅ››ๅคงๆจกๅ—ๅŒ–่ง„่Œƒ็š„ๆ ธๅฟƒ่ฏญๆณ•ไธŽ้€‚็”จๅœบๆ™ฏ๏ผŒ่งฃๆžๅ„่ง„่Œƒ็š„ๅ…ณ้”ฎๅทฎๅผ‚๏ผŒๅนถๆไพ›ไปŽๆ—ง่ง„่Œƒๅ‘ ESM ่ฟ็งป็š„ๅฎžๆ“็ญ–็•ฅใ€‚\",\"permalink\":\"/fullstack/different-module-programming-specifications\",\"tags\":[\"tutorial\",\"CommonJS\",\"AMD\",\"UMD\",\"ESM\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\",\"date\":\"2024-05-14 22:26:06\",\"capture\":\"ๅœจ JavaScript ่ฟ›ๅŒ–ๅฒไธŠ๏ผŒโ€œๆจกๅ—ๅŒ–โ€ๅง‹็ปˆๆ˜ฏไธ€ไธชๆ ธๅฟƒๅ‘ฝ้ข˜ใ€‚ไปŽๆ—ฉๆœŸ script ๆ ‡็ญพๆปกๅคฉ้ฃž็š„โ€œๆททๆฒŒๆ—ถไปฃโ€๏ผŒๅˆฐๅ„่ทฏ่ง„่Œƒ็พค้›„้€้นฟ็š„โ€œๆˆ˜ๅ›ฝๆ—ถไปฃโ€๏ผŒๅ†ๅˆฐๅฆ‚ไปŠ ES Modules ๅฎšไบŽไธ€ๅฐŠ๏ผŒๅผ€ๅ‘่€…ไปฌๅœจ่งฃๅ†ณไพ่ต–็ฎก็†ใ€ไฝœ็”จๅŸŸๆฑกๆŸ“ๅ’Œๅผ‚ๆญฅๅŠ ่ฝฝ็ญ‰้—ฎ้ข˜ไธŠไป˜ๅ‡บไบ†ๅทจๅคง็š„ๅŠชๅŠ›ใ€‚\\nๆœฌๆ–‡ๅฐ†ๅธฆไฝ ๆขณ็† JavaScript ๅކๅฒไธŠๆœ€้‡่ฆ็š„ๅ‡ ็งๆจกๅ—ๅŒ–่ง„่Œƒ๏ผŒไพฟไบŽๆž„ๅปบ่ตทๅ…จๆ ˆๅผ€ๅ‘็š„ๅบ•ๅฑ‚็Ÿฅ่ฏ†ๅ›พ่ฐฑใ€‚\\n 1. CommonJS ่ง„่Œƒ๏ผšNode.js ็”Ÿๆ€็š„ๅŸบ็Ÿณ\\nCommonJS ๆ˜ฏไผด้š Node.js ่ฏž็”Ÿ็š„่ง„่Œƒ,็”ฑ Kevin Dangoor ๆๅ‡บ๏ผŒๅˆ่กทๆ˜ฏ่ฎฉ JavaScript ่„ฑ็ฆปๆต่งˆๅ™จไนŸ่ƒฝๆž„ๅปบๅคๆ‚็š„็ณป็ปŸๅบ”็”จใ€‚ๅฎƒๆ˜ฏ Node.\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€\",\"frontmatter\":{\"date\":\"2024-05-12 22:43:28\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ๏ผšๆฆ‚ๅฟตใ€ๆผ”่ฟ›ไธŽ่ฎพ่ฎกๆจกๅผ\",\"tldr\":\"ไปŽๅ…จๅฑ€ๅ˜้‡ๅˆฐ ES Modules๏ผšJavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›ไธŽๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผๅฎž่ทตใ€‚\",\"description\":\"็ณป็ปŸ่ฎฒ่งฃ JavaScript ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€๏ผŒๆถต็›– IIFEใ€CommonJSใ€ES Modules ่ง„่Œƒๆผ”่ฟ›๏ผŒไปฅๅŠๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผไธŽๆจกๅ—ๅŒ–็š„็ป“ๅˆใ€‚\",\"permalink\":\"/fullstack/frontend-module-programming-basic\",\"tags\":[\"tutorial\",\"javascript\",\"modularization\",\"esm\",\"design-patterns\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ๏ผšๆฆ‚ๅฟตใ€ๆผ”่ฟ›ไธŽ่ฎพ่ฎกๆจกๅผ\",\"date\":\"2024-05-12 22:43:28\",\"capture\":\"1. ๅผ•่จ€\\n้š็€้กน็›ฎ่ง„ๆจกๆ—ฅ็›Š่†จ่ƒ€๏ผŒไปฃ็ ้‡ไปŽๅ‡ ๅƒ่กŒ่ฟ…้€Ÿๅขž้•ฟๅˆฐๆ•ฐไธ‡็”š่‡ณๆ•ฐๅไธ‡่กŒ๏ผŒๅฐ†ๆ‰€ๆœ‰้€ป่พ‘ๅกž่ฟ›ๅฐ‘ๆ•ฐๅ‡ ไธชๆ–‡ไปถ็š„ๅšๆณ•ๆ—ฉๅทฒ้šพไปฅไธบ็ปงใ€‚ๅœจ่ฟ™ๆ ท็š„่ƒŒๆ™ฏไธ‹๏ผŒๆจกๅ—ๅŒ–็ผ–็จ‹ๅบ”่ฟ่€Œ็”Ÿ๏ผŒๆˆไธบ็Žฐไปฃๅ‰็ซฏๅผ€ๅ‘็š„ๆ ‡้…ใ€‚\\nๅฎƒ็š„ๆ ธๅฟƒ็†ๅฟต็ฎ€ๆด่€Œไผ˜้›…๏ผšๅƒๆญ็งฏๆœจไธ€ๆ ท๏ผŒๅฐ†ๅบžๅคงๅคๆ‚็š„็ณป็ปŸๆ‹†่งฃไธบไธ€ไธชไธช็‹ฌ็ซ‹ใ€ๅŠŸ่ƒฝๅ•ไธ€ไธ”ๅฏๅค็”จ็š„ๆจกๅ—๏ผŒ่ฎฉๆฏไธชๆจกๅ—ๅ„ๅธๅ…ถ่Œ๏ผŒๅ†้€š่ฟ‡ๆ ‡ๅ‡†ๆŽฅๅฃ็ตๆดป็ป„ๅˆใ€‚\\n 2. ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ\\nๅœจๆทฑๅ…ฅ็†่ฎบไน‹ๅ‰๏ผŒ่ฎฉๆˆ‘ไปฌๅ…ˆ้€š่ฟ‡ไธ€ไธช็ฎ€ๅ•็š„ JavaScript ็คบไพ‹๏ผŒ็›ด่ง‚ๅœฐๆ„Ÿๅ—ไธ€ไธ‹ไป€ไนˆๆ˜ฏๆจกๅ—ๅŒ–ใ€‚ๅ‡่ฎพๆˆ‘ไปฌ้œ€่ฆๅค„็†ไธ€ไบ›ๆ•ฐๅญฆ่ฟ็ฎ—๏ผŒๆˆ‘ไปฌๅฏไปฅๅฐ†ๅ…ถๅฐ่ฃ…ๆˆไธ€ไธช็‹ฌ็ซ‹็š„ๅทฅๅ…ทๆจกๅ—๏ผš\\n```javascript\\n// math.js - ๅฎšไน‰ไธ€ไธชๆ•ฐๅญฆๅทฅๅ…ทๆจกๅ—\\nexp\"},{\"url\":\"/10.ไบงๅ“ Sense/01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž/11.AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"relativePath\":\"/10.ไบงๅ“ Sense/01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž/11.AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"frontmatter\":{\"date\":\"2024-05-08 08:56:21\",\"title\":\"AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจๅคงๆจกๅž‹้‡ๅก‘ไบ’่”็ฝ‘ไบคไบ’็š„ๅฝ“ไธ‹๏ผŒPerplexity ๅนถๆœช้€‰ๆ‹ฉๆˆไธบโ€œไธ‹ไธ€ไธช Googleโ€๏ผŒ่€Œๆ˜ฏไปฅโ€œ็Ÿฅ่ฏ†ๅ‘็Žฐๅผ•ๆ“Žโ€็š„ๅ…จๆ–ฐๅฎšไฝ๏ผŒ็ฒพๅ‡†ๅˆ‡ๅ…ฅ็Ÿฅ่ฏ†ๅทฅไฝœ่€…็š„ๆ ธๅฟƒๅทฅไฝœๆตใ€‚ๆœฌๆ–‡่ทณๅ‡บๅ•็บฏ็š„ๆจกๅž‹่ƒฝๅŠ›ๅฏนๆฏ”๏ผŒไปŽไบงๅ“ Sense ไธŽๅทฅ็จ‹้€ป่พ‘็š„ๅŒ้‡่ง†่ง’๏ผŒๆทฑๅบฆๆ‹†่งฃ Perplexity ็š„็ ดๅฑ€ไน‹้“ใ€‚ๆˆ‘ไปฌๅฐ†ๆŽข่ฎจๅฎƒๅฆ‚ไฝ•้€š่ฟ‡ๅ็›ด่ง‰็š„ UI ๅˆ›ๆ–ฐ้‡ๅก‘ไบคไบ’่ตท็‚น๏ผŒๅฆ‚ไฝ•ๅœจๅทฅ็จ‹ๅฑ‚้ขๆญป็ฃ•ๅฐพ้ƒจๅปถ่ฟŸไธŽๅนป่ง‰ๆŽงๅˆถ๏ผŒไปฅๅŠๅฎƒๅฆ‚ไฝ•ๅˆฉ็”จๅทจๅคด็š„ๅˆฉๆถฆ็އๆŠคๅŸŽๆฒณๅฎž็Žฐ้”™ไฝ็ซžไบ‰ใ€‚ๆœ€็ปˆ๏ผŒๆˆ‘ไปฌๅฐ†่ง†็บฟๆŠ•ๅ‘ๆœชๆฅ๏ผŒไธ€็ชฅ AI ไปŽ่ขซๅŠจๅ“ๅบ”่ตฐๅ‘ไธปๅŠจๆŽข็ดข็š„ๆผ”่ฟ›่“ๅ›พใ€‚\",\"permalink\":\"/product-sense/perplexity-knowledge-worker\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"AI ๆœ็ดข\",\"็Ÿฅ่ฏ†ๅ‘็Žฐ\",\"ไบงๅ“ Sense\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"date\":\"2024-05-08 08:56:21\",\"capture\":\"1. ๅผ•่จ€\\nๅœจ AI ๆตชๆฝฎไธ‹๏ผŒๆœ็ดขๅผ•ๆ“Ž็š„่Œƒๅผๆญฃๅœจๅ‘็”Ÿ่ฝฌ็งปใ€‚ไฝœไธบๅฝ“ๅ‰ๅค‡ๅ—็žฉ็›ฎ็š„ AI ๆœ็ดขไบงๅ“๏ผŒPerplexity ๅนถๆฒกๆœ‰่ฏ•ๅ›พๆˆไธบโ€œไธ‹ไธ€ไธช Googleโ€๏ผŒ่€Œๆ˜ฏๅฐ†่‡ชๅทฑๅฎšไน‰ไธบ็Ÿฅ่ฏ†ๅ‘็Žฐๅผ•ๆ“Žใ€‚\\nๅฏนไบŽๆฏๅคฉ้œ€่ฆๅค„็†ๆตท้‡ไฟกๆฏใ€่ฟ›่กŒๅคๆ‚ๅ†ณ็ญ–็š„็Ÿฅ่ฏ†ๅทฅไฝœ่€…่€Œ่จ€๏ผŒๅฆ‚ไฝ•้ซ˜ๆ•ˆๅœฐโ€œๅŽปๅ™ชโ€ๅนถ่Žทๅ–้ซ˜ไฟกๅบฆ็Ÿฅ่ฏ†ๆ˜ฏๆ ธๅฟƒ่ฏ‰ๆฑ‚ใ€‚็ฌ”่€…ๅฐ†ไปŽไบงๅ“ไบคไบ’ใ€ๆŠ€ๆœฏๅทฅ็จ‹ใ€ๅ•†ไธš้€ป่พ‘ไธŽๆœชๆฅๆผ”่ฟ›ๅ››ไธช็ปดๅบฆ๏ผŒๅˆ†ๆž Perplexity ๆ˜ฏๅฆ‚ไฝ•้‡ๅก‘ไฟกๆฏ่Žทๅ–ๅทฅไฝœๆต็š„ใ€‚\\nๆœฌๆ–‡ๆ—จๅœจ้€š่ฟ‡ๅฏน Perplexity ็š„ๆทฑๅบฆไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž๏ผŒๅธฎๅŠฉ่ฏป่€…็†่งฃ AI ๆœ็ดขไบงๅ“็š„่ฎพ่ฎก้€ป่พ‘ไธŽ็”จๆˆทไฝ“้ชŒไผ˜ๅŒ–่ทฏๅพ„๏ผŒๅŒๆ—ถไธบ็Ÿฅ่ฏ†ๅทฅไฝœ่€…ๆไพ›ๅฏ่ฝๅœฐ็š„ๆ•ˆ็އๆๅ‡ๆ–นๆณ•๏ผŒๅนถๅœจ่ฟ‡็จ‹ไธญๅŸนๅ…ป็ป“ๆž„ๅŒ–ไบงๅ“ๅˆ†ๆžๆ€็ปดใ€‚\\n\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/70.่ฏ—ๆญŒๅฐ็ฒพ็ต\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/70.่ฏ—ๆญŒๅฐ็ฒพ็ต\",\"frontmatter\":{\"date\":\"2024-04-19 22:15:38\",\"title\":\"้›ถไปฃ็ ไธ็ญ‰ไบŽ้›ถ้€ป่พ‘๏ผš็ป“ๆž„ๅŒ– Prompt ้ฉฑๅŠจไธ‹็š„ Agent ๆญๅปบๅฎžๆˆ˜\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจ Agent ๆฆ‚ๅฟตๆปกๅคฉ้ฃž็š„ๅฝ“ไธ‹๏ผŒๅ†ณๅฎšๅคงๆจกๅž‹ๅฎž้™…่กจ็Žฐ็š„ๅพ€ๅพ€ๆ˜ฏๆœ€ๅบ•ๅฑ‚็š„ System Prompt ่ฎพ่ฎกใ€‚ๆœฌๆ–‡่ฎฐๅฝ•ไบ†ๅ‘จๆœซๅˆฉ็”จๆ–‡ๅฟƒๆ™บ่ƒฝไฝ“ๅนณๅฐๆญๅปบโ€œ่ฏ—ๆญŒๅฐ็ฒพ็ตโ€็š„ๅฎŒๆ•ดๅฎž่ทตใ€‚้€š่ฟ‡ๅฏนๆฏ”โ€œไผ ็ปŸๅคงๆฎตๆ–‡ๆœฌโ€ไธŽโ€œLangGPT ็ป“ๆž„ๅŒ–โ€ไธค็ง Prompt ็š„ๅฎž้™…่พ“ๅ‡บ๏ผŒๆทฑๅบฆๆ‹†่งฃไบ†็ป“ๆž„ๅŒ– Prompt ๅฆ‚ไฝ•ๅƒโ€œๅ†™ไปฃ็ โ€ไธ€ๆ ท่ง„่Œƒ AI ็š„ๆ€่€ƒๅทฅไฝœๆต๏ผŒๆœ‰ๆ•ˆ่งฃๅ†ณๆŒ‡ไปคๆผ‚็งปไธŽๅนป่ง‰้—ฎ้ข˜ใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ๆฌก Prompt ่ฐƒไผ˜ๅฎž้ชŒ๏ผŒๆ›ดๆ˜ฏไธ€ๅœบๅ…ณไบŽ AI ไบงๅ“ Sense ไธŽๆœชๆฅไบคไบ’ๅฝขๆ€็š„ๆŽข็ดขใ€‚\",\"coverImg\":\"/img/cover/llm_learning_bg_2.png\",\"categories\":[\"ai-practice\"],\"permalink\":\"/ai-practice/poetry-bot\",\"tags\":[\"Agent\",\"AI\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"้›ถไปฃ็ ไธ็ญ‰ไบŽ้›ถ้€ป่พ‘๏ผš็ป“ๆž„ๅŒ– Prompt ้ฉฑๅŠจไธ‹็š„ Agent ๆญๅปบๅฎžๆˆ˜\",\"date\":\"2024-04-19 22:15:38\",\"capture\":\"1. ๅฎž่ทต่ƒŒๆ™ฏ\\nๅ‘จๆœซๅœจ็คพๅŒบๆดปๅŠจไธญๅ†ๆฌกๅฌๅˆฐไบ† LangGPT ไฝœ่€…ไบ‘ไธญๆฑŸๆ ‘ๅ…ณไบŽโ€œ็ป“ๆž„ๅŒ–ๆ็คบ่ฏโ€็š„ๅˆ†ไบซ๏ผŒ่ฎฉไบบๆ„Ÿ่งฆ้ข‡ๆทฑใ€‚่™ฝ็„ถๅฝ“ๅ‰ Agent ๆฆ‚ๅฟต็ซ็ƒญ๏ผŒๅฑ‚ๅ‡บไธ็ฉท็š„ๆก†ๆžถ่ฎฉไบบ็œผ่Šฑ็ผญไนฑ๏ผŒไฝ†ๅ›žๅฝ’ๆœฌ่ดจๆˆ‘ไปฌๅฐฑไผšๅ‘็Žฐ๏ผšSystem Prompt ็š„ๅบ•ๅฑ‚่ฎพ่ฎกใ€ไธŠไธ‹ๆ–‡ๅทฅ็จ‹ไปฅๅŠๆŒ‡ไปค้ตๅพชๆœบๅˆถ๏ผŒๆ‰ๆ˜ฏๅ†ณๅฎšไธ€ไธช Agent ็ต้ญ‚็š„ๅ…ณ้”ฎใ€‚\\nๆญฃๅทงๅคงๅ›ข้˜Ÿ่‡ช็ ”็š„้›ถไปฃ็  Agent ๅนณๅฐ่ฟ‘ๆœŸๅ‘ๅธƒไบ†ๆ–ฐ็‰ˆๆœฌ๏ผŒไธบไบ†ไบฒๆต‹ๅนณๅฐๆ€ง่ƒฝๅนถๅฎžๆˆ˜ๆผ”็ปƒ็ป“ๆž„ๅŒ– Prompt ็š„็ผ–ๅ†™ๆŠ€ๅทง๏ผŒๆˆ‘ๅ†ณๅฎšๅˆ›ๅปบไธ€ไธชโ€œ่ฏ—ๆญŒๅฐ็ฒพ็ตโ€ Agentใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ไธช่ถฃๅ‘ณๅฎž้ชŒ๏ผŒๆ›ดๆ˜ฏไธบไบ†ๆŽข็ดข AI ๅœจๆ–‡ๅญฆๅˆ›ไฝœ่ฟ™็งโ€œๆ„Ÿๆ€ง้ข†ๅŸŸโ€ไธญ๏ผŒๅฆ‚ไฝ•้€š่ฟ‡โ€œ็†ๆ€ง็š„็ป“ๆž„็บฆๆŸโ€่พพๅˆฐๆ›ด้ซ˜็š„่พ“ๅ‡บไธŠ้™ใ€‚\\n 2. ๅนณๅฐไธŽ\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2024-03-20 22:41:41\",\"title\":\"ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ๅœจ้œ€ๆฑ‚่พน็•Œๅ†…่ฟฝๆฑ‚ๆœ€ๅฐๅคๆ‚ๅบฆโ€”โ€”ไธๆ˜ฏๆ‹’็ปๅคๆ‚๏ผŒ่€Œๆ˜ฏไธไธปๅŠจๅˆถ้€ ๅคๆ‚ใ€‚\",\"description\":\"ๆทฑๅ…ฅ่งฃๆžๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™ๅœจ็ผ–็จ‹ไธŽ่ฎพ่ฎกไธญ็š„ๅ…ญๅคงๅœบๆ™ฏ๏ผšๆ‹’็ป่ฟ‡ๅบฆ้ข„ๅˆคใ€็งป้™คๅ†—ไฝ™้€ป่พ‘ใ€ๅŒน้…ๆžถๆž„่ง„ๆจกใ€ๅ…‹ๅˆถไพ่ต–ๅผ•ๅ…ฅใ€ๅฐ่ฃ…ๆœ€ๅฐๆŽฅๅฃใ€ๅ…ˆๆŽ’ๆŸฅ็ฎ€ๅ•ๅŽŸๅ› ๏ผŒๅนถ็ป™ๅ‡บไธ‰ไธชๅ…ณ้”ฎ่พน็•Œใ€‚\",\"permalink\":\"/fullstack/occams-razor-software-design\",\"tags\":[\"concept\",\"engineering-fundamentals\",\"code-design\",\"software-engineering\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2024-03-20 22:41:41\",\"capture\":\"<script setup\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n> ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™็”ฑ 14 ไธ–็บช้€ป่พ‘ๅญฆๅฎถๅจๅป‰ยทๅฅฅๅกๅง†ๆๅ‡บ๏ผŒๅ…ถๆ ธๅฟƒไธบ\\\"ๅฆ‚ๆ— ๅฟ…่ฆ๏ผŒๅ‹ฟๅขžๅฎžไฝ“\\\"โ€”โ€”ๅœจๅคšไธชๅŒ็ญ‰ๆœ‰ๆ•ˆ็š„ๆ–นๆกˆไธญ๏ผŒ้€‰ๆ‹ฉๅ‡่ฎพๆœ€ๅฐ‘ใ€ๆœ€็ฎ€ๆด็š„้‚ฃไธชใ€‚่ฏฅๅŽŸๅˆ™ๅนถ้žๅฆๅฎšๅคๆ‚ๆ€ง๏ผŒ่€Œๆ˜ฏ้ฟๅ…ๆ— ๆ„ไน‰็š„่ฟ‡ๅบฆ่ฎพ่ฎกใ€‚ๆ–‡็ซ ไปŽ็ผ–็จ‹ไธŽ่ฎพ่ฎกๅฎž่ทตๅ‡บๅ‘๏ผŒไพๆฌกๆŽข่ฎจไบ†้œ€ๆฑ‚ๅฎž็Žฐใ€ไปฃ็ ๅฎž็Žฐใ€ๆžถๆž„่ฎพ่ฎกใ€ไพ่ต–็ฎก็†ใ€ๆŽฅๅฃ่ฎพ่ฎกใ€่ฐƒ่ฏ•ไผ˜ๅŒ–ๅ…ญๅคงๅœบๆ™ฏ็š„ๅไพ‹ไธŽๆญฃไพ‹๏ผŒๅนถๆ˜Ž็กฎๆŒ‡ๅ‡บไธ‰ไธชๅ…ณ้”ฎ่พน็•Œ๏ผšไธๅฏ็‰บ็‰ฒๅฏ็ปดๆŠคๆ€งใ€ๅฏๆ‰ฉๅฑ•ๆ€งใ€ๅฎ‰ๅ…จๆ€งๆขๅ–็ฎ€ๆดใ€‚\\n 1.\"},{\"url\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"relativePath\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"frontmatter\":{\"date\":\"2024-01-15 22:16:00\",\"title\":\"่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไนฆๆŽฅไธŠๆ–‡ใ€Šๅ‘ๅ†…ๆ€ๅ˜ใ€‹๏ผŒๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ๅœจๅŽ็–ซๆƒ…ๆ—ถไปฃไปŽโ€œ้—ญๅ…ณโ€่ตฐๅ‘โ€œๅ‘ๅค–ไฝ“้ชŒโ€็š„ๅฐ่ฏ•ไธŽๅฟƒๅพ—ใ€‚้ขๅฏนๆœบๆขฐๆ‰ง่กŒๅธฆๆฅ็š„โ€œ็›ฎๆ ‡้šง้“โ€ๆ•ˆๅบ”๏ผŒ็ฌ”่€…ๅฐ่ฏ•่ทณๅ‡บๅ•ไธ€็š„็บฟๆ€ง่ง„ๅˆ’๏ผŒ่ฝฌ่€Œๅฏปๆฑ‚ๆ›ดๅบ•ๅฑ‚็š„่ฎค็Ÿฅ้€ป่พ‘ใ€‚ๆ–‡็ซ ้€š่ฟ‡้‡่ฏปใ€Š่ฆไบ‹็ฌฌไธ€ใ€‹ๅปบ็ซ‹ๅนณ่กก่ง‚๏ผŒๅˆฉ็”จ็ณป็ปŸๆ€็ปด๏ผˆๅขžๅผบ/่ฐƒ่Š‚ๅ›ž่ทฏ๏ผ‰ๆž„ๅปบๆดžๅฏŸๅŠ›๏ผŒๅนถ้‡ๆ–ฐๆ‹พ่ตทๆ•ฐๅญฆๆ€็ปด๏ผˆๆฆ‚็އใ€็จ€็–ๆ€งใ€ๅคšๆ ทๆ€ง๏ผ‰ไธŽ AI ่ง†่ง’ใ€‚่ฟ™ๆ˜ฏไธ€ๆฌกๅ…ณไบŽๅฆ‚ไฝ•็”จ็ง‘ๅญฆๆจกๅž‹ๆ›ฟไปฃๆœบๆขฐๆ‰ง่กŒ๏ผŒไปŽๆœฌ่ดจไธŠ้‡ๆž„ไธชไบบ่ฎค็Ÿฅไฝ“็ณป็š„ๆทฑๅบฆๅค็›˜ใ€‚\",\"permalink\":\"/growth/outer-experience\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/outer_experience_bg.png\",\"sticky\":1,\"top\":true,\"tags\":[\"็ณป็ปŸๆ€็ปด\",\"ๆ•ฐๅญฆๆ€็ปด\",\"ๆจกๅž‹ๆ€็ปด\",\"AI\",\"็–ซๆƒ…\"],\"categories\":[\"ไธชไบบๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"date\":\"2024-01-15 22:16:00\",\"capture\":\"1. ๅ†™ๅœจๅ‰้ข\\nๆ—ถๅ…‰่่‹’๏ผŒ็–ซๆƒ…ๅทฒ็ป็”ฑๆ”พๅผ€็Šถๆ€็ปง็ปญๆผ”ๅ˜ไธบ่ฟ‡ๅŽปๅผ็Šถๆ€๏ผŒๆˆ‘ไปฌไบบ็ฑปไนŸไปŽใ€Ž้—ญๅ…ณใ€่ตฐๅ‘ไบ†ใ€Ž่‡ช็”ฑใ€็š„็คพไผš็”Ÿๆดป็Šถๆ€ใ€‚็ฌ”่€…ไฝœไธบ็คพไผšไธญ็š„ๆ™ฎ้€šไธ€ๅ‘˜๏ผŒ่‡ช็„ถไนŸไธ็ฆปๅค–๏ผŒๅœจ 2023 ๅนดๅˆๆด‹ๆด‹ๆด’ๆด’ๅ†™ไบ†ไธ€็ฏ‡ๅœจๅฅๅบทใ€่ฏปไนฆไธŽๅญฆไน ใ€ๆ—ถ้—ด็ฎก็†ๅ’Œๆททๅˆๅทฅไฝœๅˆถๅ‡ ไธชๆ–น้ข็š„ๅฎž่ทตไธŽ็†่งฃ๏ผˆๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ๏ผ‰๏ผŒๅฐฑๅผ€ๅผ€ๅฟƒๅฟƒๅœฐๅ‘ๅ‰็œ‹๏ผŒๅญฆ็€ๅ‘ๅค–ไฝ“้ชŒไบ†ใ€‚\\n้‚ฃไนˆ้—ฎ้ข˜ๆฅไบ†๏ผŒ็›ธๆฏ”ไน‹ๅ‰ๅ†™ๅ‡บ้•ฟๆ–‡๏ผŒ็ฌ”่€…ๅˆๆ˜ฏ่ฟ‘ไธ€ๅนดๆฒกๆœ‰ๅ‘ๅค–่พ“ๅ‡บ่ฝฏๆ–‡ไบ†ใ€‚ๅ› ๆญค๏ผŒไนฆๆŽฅไธŠๆ–‡๏ผŒๆœฌๆฌก็ปง็ปญๆ–ฐๅขžไธ€็ฏ‡ไธญ็Ÿญๆ–‡๏ผŒๆผซ่ฐˆไธ€ไธ‹็–ซๆƒ…ๅŽ็š„ๅ‘ๅค–ไฝ“้ชŒใ€‚\\nๅœจๅ€’้€ผ่‡ชๅทฑๅ…ณๆณจ่บซไฝ“ๅฅๅบทๅ’Œๆ—ถ้—ด็ฎก็†ๅŽ๏ผŒ่™ฝ็„ถๅœจไฝ“้‡ๅ’Œๆ•ˆ็އไธคไธชๆ–น้ขๆœ‰ไธ€ๅฎš็š„ๆญฃๅ‘ๆ•ˆๆžœ๏ผŒไฝ†็ฌ”่€…ๅœจ่ฟž็ปญๅšๆŒ่ฝๅœฐๆ‹†่งฃๅ‡บๆฅ็š„็›ฎๆ ‡่ฟ‡็จ‹ไธญ๏ผŒๆœ‰ๆ—ถ\"},{\"url\":\"/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/50.็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“\",\"relativePath\":\"/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/50.็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“\",\"frontmatter\":{\"date\":\"2024-01-01 16:00:00\",\"title\":\"็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“\",\"description\":\"ๅฐ†็ปๆตŽๅญฆๆ ธๅฟƒๅŽŸ็†่žๅˆ่ฟ›ไบงๅ“่ฎพ่ฎกๅ…จ็”Ÿๅ‘ฝๅ‘จๆœŸ็š„ๆ–นๆณ•่ฎบไฝ“็ณป๏ผŒๆž„ๅปบ็†ๆ€ง็š„โ€œไบงๅ“Senseโ€ใ€‚\",\"categories\":[\"ไบงๅ“ Sense\"],\"permalink\":\"/product-sense/using-economics-thinking\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“\",\"date\":\"2024-01-01 16:00:00\",\"capture\":\"ๅœจไบงๅ“็ฎก็†็š„ๅนฟ้˜”ๅคฉๅœฐไธญ๏ผŒๆˆ‘ไปฌๅพ€ๅพ€ๅผบ่ฐƒโ€œไบงๅ“ Senseโ€๏ผˆProduct Sense๏ผ‰โ€”โ€”ไธ€็งๅฏน็”จๆˆท้œ€ๆฑ‚ใ€ๅธ‚ๅœบ้ฃŽๅ‘ๅ’ŒๆŠ€ๆœฏๆฝœๅŠ›็š„็›ด่ง‰ๆ€งๆ•ๆ‰ใ€‚็„ถ่€Œ๏ผŒ่ฟ™็ง Sense ็ป้žๅ‡ญ็ฉบ่€Œๆฅ็š„็ตๅ…‰ไน็Žฐ๏ผŒๅฎƒ้œ€่ฆ็จณๅ›บ็š„็†ๆ€งๅœฐๅŸบใ€‚ๅœจไผ—ๅคšๅญฆ็ง‘ไธญ๏ผŒ็ปๆตŽๅญฆๆ— ็–‘ๆไพ›ไบ†ๆœ€ๅบ•ๅฑ‚็š„้€ป่พ‘ๆ”ฏๆŸฑใ€‚\\n็ปๆตŽๅญฆไธไป…ไป…ๆ˜ฏๅ…ณไบŽ้‡‘้’ฑๅ’Œๅธ‚ๅœบ็š„็ง‘ๅญฆ๏ผŒๅฎƒๆ›ดๆ˜ฏไธ€็ง่งฃๅ†ณ้—ฎ้ข˜ใ€ไผ˜ๅŒ–ๅ†ณ็ญ–็š„ๆ–นๅผใ€‚ๅฏนไบงๅ“ไบบ่€Œ่จ€๏ผŒๅ€Ÿ้‰ด็ปๆตŽๅญฆๆ€็ปด๏ผŒๆ„ๅ‘ณ็€่ƒฝๅคŸ็†ๆ™บๅœฐๆƒ่กกๅˆฉๅผŠ๏ผŒๆ›ด็ฒพๅ‡†ๅœฐๅฎšไปท๏ผŒๆ›ดๆทฑๅˆปๅœฐๆดžๅฏŸไบบๆ€ง๏ผŒๆœ€็ปˆๅœจ้”™็ปผๅคๆ‚็š„็บฆๆŸๆกไปถไธ‹๏ผŒๆฑ‚่งฃๅ‡บ็”จๆˆทไปทๅ€ผไธŽๅ•†ไธšไปทๅ€ผๅนถ้‡็š„ๆœ€ไผ˜่งฃใ€‚\\n 1. ็”Ÿๆดป้‡Œ็š„็ปๆตŽๅญฆๆดžๅฏŸโ€”โ€”ๆดžๅฏŸไธไป…ๆ˜ฏๅ…ณไบŽ้œ€ๆฑ‚๏ผŒๆ›ดๆ˜ฏๅ…ณไบŽๆˆๆœฌไธŽๅšๅผˆ\\nๆˆ‘ไปฌๅธธ่ขซๆ—ฅๅธธ็Žฐ่ฑก็š„โ€œๅˆ็†ๆ€งโ€ๆ‰€่ฟทๆƒ‘๏ผŒ่€Œ็ปๆตŽๅญฆ\"},{\"url\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/01.ๅฅฝไนฆๆŽจ่\",\"relativePath\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/01.ๅฅฝไนฆๆŽจ่\",\"frontmatter\":{\"title\":\"ๅฅฝไนฆๆŽจ่\",\"date\":\"2024-01-01 16:00:00\",\"description\":\"่ฏปไนฆๅฟƒๅพ—ใ€ๆŽจ่ไนฆ็ฑๅ’Œ้˜…่ฏปๆŠ€ๅทง\",\"categories\":[\"growth\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/books_reading_bg.png\",\"permalink\":\"/growth/books\",\"tags\":[\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\",\"่ต„ๆบๆŽจ่\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฅฝไนฆๆŽจ่\",\"date\":\"2024-01-01 16:00:00\",\"capture\":\"<script setup\\n import BookRecommend from './@fragment/BookRecommend.vue'\\n import {aiBooks, productSenseBooks, businessBooks, efficiencyBooks, growthBooks, humanSocialBooks, healthBooks} from './@fragment/recommends-data.ts'\\n</script>\\n 1. AI ไธŽๆ•ฐๅญฆๆ€็ปด\\n> ๅœจๅคงๆจกๅž‹ๅ‘ๅฑ•ๆ—ฅๆ–ฐๆœˆๅผ‚็š„ไปŠๅคฉ๏ผŒ็†่งฃ AI ๆœฌ่ดจไธŠๆ˜ฏๅœจๅ‡็บงๆˆ‘ไปฌ่ต„ๆทฑ็š„โ€œ่ฎค็Ÿฅๆ“\"}],\"2023 \":[{\"url\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"relativePath\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"frontmatter\":{\"date\":\"2023-01-08 10:23:50\",\"title\":\"ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅฆ‚ไฝ•้ฟๅ…ๅ†…่€—๏ผŸๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ไธ‰ๅนด้—ด็š„โ€œ่‡ชๆˆ‘้‡ๆž„โ€ๅฎž้ชŒใ€‚ๆ–‡็ซ ๆ‘’ๅผƒไบ†ๅ•็บฏ็š„ๆƒ…็ปชๅฎฃๆณ„๏ผŒ่€Œๆ˜ฏๅˆฉ็”จๅˆ†่งฃๆณ•ใ€ๆธ่ฟ›ๆ˜Ž็ป†ๅ’Œ็ปŸ่ฎกๅˆ†ๆž็ญ‰ๅทฅ็จ‹ๆ€็ปด๏ผŒๅฏนๅฅๅบท้ฅฎ้ฃŸใ€็Ÿฅ่ฏ†ไฝ“็ณปใ€ๆ—ถ้—ดๅˆ†้…ๅŠ่ฟœ็จ‹ๅไฝœ่ฟ›่กŒไบ†็ณป็ปŸๅŒ–ๆ”น้€ ใ€‚่ฟ™ๆ˜ฏไธ€ไปฝๅ…ณไบŽๅฆ‚ไฝ•ๅœจๆ— ๅธธ็š„ๅค–้ƒจ็Žฏๅขƒไธญ๏ผŒๅปบ็ซ‹ๅ†…ๅœจ็กฎๅฎšๆ€ง็งฉๅบ็š„่กŒๅŠจๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/growth/inner-experience\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/refactor_life.png\",\"sticky\":1,\"top\":true,\"categories\":\"ไธชไบบๆˆ้•ฟ\",\"tags\":[\"ๅฅๅบท\",\"ๆ—ถ้—ด\",\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\",\"่ฟœ็จ‹ๅไฝœ\",\"็–ซๆƒ…\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"date\":\"2023-01-08 10:23:50\",\"capture\":\"<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/refactor_life.png\\\" alt=\\\"็›ฎๆ ‡ๅˆฐ่ทต่กŒๆ€็ปดๆต็จ‹็คบๆ„ๅ›พ\\\" style=\\\"width: 100%; border-radius: 8px;\\\" />\\n ๅ†™ๅœจๅ‰้ข\\n่‡ชๅŽปๅนด 7 ๆœˆไปฝ่ฟ็งปๅ‡ ็ฏ‡ๆ—งๆ–‡ๅŽ๏ผŒ็ฌ”่€…ๅฐฑๆฒกๆœ‰็ปง็ปญๅ†™่ฝฏๆ–‡ไบ†๏ผŒๆƒณไธๅˆฐๅ†ๆฌกๅ†™ๆ–‡็ซ ๆ—ถ็–ซๆƒ…ๆ”ฟ็ญ–ๅทฒ็ป่ฐƒๆ•ด๏ผŒไธ”ๅˆๆญฅๅฎž็Žฐไบ†ๅผ€ๆ”พใ€‚้‚ฃไนˆ้—ฎ้ข˜ๆฅไบ†๏ผŒไธบไป€ไนˆ่ฆ็ปง็ปญๅ†™ๆ–‡็ซ ๅ‘ข๏ผŸๆฆ‚ๆ‹ฌๆฅ่ฎฒ๏ผŒๆœ‰ไธคไธชๆ–น้ข็š„ๅŽŸๅ› ๏ผš\\n* ็›ดๆŽฅๅŽŸๅ› ๏ผš็–ซๆƒ…่ฟ™ไธ‰ๅนด๏ผŒๆฏไธชไบบ้ƒฝไฝ“้ชŒๅˆฐไบ†ไธๅŒไบŽไน‹ๅ‰็š„ โ€œ้šพโ€๏ผŒไนŸ้ƒฝๆœ‰\"}],\"2022 \":[{\"url\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/20.ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹้˜ถๆฎต้š็ฌ”ๆฑ‡ๆ€ป\",\"relativePath\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/20.ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹้˜ถๆฎต้š็ฌ”ๆฑ‡ๆ€ป\",\"frontmatter\":{\"date\":\"2022-09-12 08:16:00\",\"title\":\"็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ”นๅ–„็š„ๆ–นๅผๆŽจๅŠจๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไปŽโ€œไนฆ็”Ÿๆ„ๆฐ”โ€ๅˆฐๅˆๅ…ฅ็คพไผš็š„โ€œไธญๅนดๆฒน่…ปโ€ๅฑๆœบ๏ผŒไธ€ๆฌกๅฅๅบท่ญฆๆŠฅ่ฎฉ็ฌ”่€…ๅผ€ๅฏไบ†่ฟ™ๅœบๆทฑๅˆป็š„่‡ชๆˆ‘ๅฏน่ฏไธŽ่กŒๅŠจใ€‚ๆœฌๆ–‡่ฏฆ็ป†ๅค็›˜ไบ†็ฌ”่€…ไปŽๅฅๅบทๅฑๆœบๅ‡บๅ‘๏ผŒ้€š่ฟ‡ๅ››ไธช้˜ถๆฎต็š„ๅพชๅบๆธ่ฟ›๏ผŒๆˆๅŠŸๅฎž็Žฐไฝ“้‡็ฎก็†็š„่ฟ‡็จ‹ใ€‚ๅŒบๅˆซไบŽ็›ฒ็›ฎ่ทŸ้ฃŽ๏ผŒ็ฌ”่€…ๅœจๅฎž่ทตไธญๅผ•ๅ…ฅไบ†็›ฎๆ ‡ๆ‹†่งฃใ€ๆ•ฐๆฎ็›‘ๆŽง๏ผˆไฝ“่„‚็งคๆŒ‡ๆ ‡๏ผ‰ใ€่ทจ้ข†ๅŸŸ็ป้ชŒ่ฟ็งป๏ผˆๅฆ‚้กน็›ฎ็ฎก็†ใ€ๆ—ถ้—ด็ฎก็†๏ผ‰ไปฅๅŠๅฏนไธๅŒ็ญ–็•ฅ๏ผˆๅฆ‚ๆŽงๅˆถ้ฅฎ้ฃŸใ€ๅŠ ๅคงๆ— ๆฐง่ฟๅŠจใ€ๅฐ่ฏ•ไธๅƒไธป้ฃŸ๏ผ‰็š„่พฉ่ฏ้‡‡็บณใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ไปฝๅ‡่‚ฅ่ฎฐๅฝ•๏ผŒๆ›ดๆ˜ฏไธ€ๆฌก็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ€็ปด้‡ๆž„็”Ÿๆดป็งฉๅบใ€ๅฎž็Žฐ่บซๅฟƒๅ‡็บง็š„ๅฎžๆ“ๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/growth/weight-loss\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/health_bg.png\",\"top\":true,\"tags\":[\"ๅฅๅบท\",\"่ฟๅŠจ\"],\"categories\":[\"ไธชไบบๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ”นๅ–„็š„ๆ–นๅผๆŽจๅŠจๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹\",\"date\":\"2022-09-12 08:16:00\",\"capture\":\"ๅ†™ๅœจๅ‰้ข\\nๅœจ็ปๆตŽๅฟซ้€Ÿๅ‘ๅฑ•็š„ๅคง่ƒŒๆ™ฏไธ‹๏ผŒไธ€ๆ‰นๅˆไธ€ๆ‰น็š„ๅคงๅญฆ็”Ÿ้™†็ปญ่ตฐๅ‡บๆ ก้—จ่ฟ›ๅ…ฅ็คพไผšๅคง่ˆžๅฐใ€‚้š็€ๅนด้พ„ไธŽๅทฅไฝœๅนด้™็š„ๅขž้•ฟ๏ผŒไธ็Ÿฅ็ฝฎ่บซไบŽๅ…ถไธญ็š„ไฝ ๆ˜ฏๅฆๆ„Ÿๆ…จ่ฟ‡่‡ชๅทฑๅœจ้˜…ๅކไธŠไปŽโ€œไนฆ็”Ÿๆ„ๆฐ”โ€ๆธๆธๆผ”ๅ˜ไธบโ€œๅ››ๅนณๅ…ซ็จณ๏ผŒๆธธๅˆƒๆœ‰ไฝ™โ€๏ผ›ๅœจ่บซไฝ“ๅ…ปๆŠคๆ–น้ขไปŽโ€œ่บซๆๆ— ๆ•Œ๏ผŒๅนด้พ„ๆˆ่ฟท๏ผŒๅฎžๆ‰“ๅฎžไธ€ไธชไผ ๅฅ‡โ€ๆผ”ๅ˜ไธบโ€œไธญๅนดๆฒน่…ปโ€ใ€‚ๆฏไธชไบบๅคšๅฐ‘้ƒฝๆœ‰่‡ชๅทฑ็š„็ญ”ๆกˆ๏ผŒ็ฌ”่€…็š„็ญ”ๆกˆๆ˜ฏ๏ผš่ตฐๅ‡บๆ ก้—จ่ฟ›ๅ…ฅ็คพไผšๅŽ๏ผŒๅฝ“ๅˆๅฏน่บซ่พนไบบๆœ‰็‚น่‹›ๅˆป๏ผŒ้‡ไบ‹็ซๆ€ฅ็ซ็‡Ž็š„่‡ชๅทฑ้€ๆธๅพ—ๅˆฐไบ†ๆ”นๅ–„ใ€‚่บซไฝ“ๅดๅ› ๅŽŸๆœฌๅœจๅคงๅญฆๆ—ถๆฒกๆœ‰ๆ€Žไนˆๅœจๆ„๏ผŒ็ป่ฟ‡้•ฟๅนด็ดฏๆœˆๅœฐๆด—็คผไบฎไบ†ไธ€ๆฌกๅฐ็บข็ฏใ€‚ๅœจๅบทๅคๆœŸ้—ด๏ผŒไธๆญขไธ€ๆฌกๅๆ€่ฟ‡ไน‹ๅ‰็š„็”Ÿๆดปๆ–นๅผๅ’Œๅ…ฅไธ–ๆจกๅผ๏ผŒๆƒณไธ€ๆƒณ + ๅ››ๅค„็œ‹ไธ€็œ‹ๅŽ๏ผŒๆ…ขๆ…ขไนŸๅฐฑๅผ€ๆ‚Ÿไบ†๏ผŒ่‡ช็„ถ่ฆๅฏๅŠจไธ€ไบ›ๆ”นๅ˜ๅฐ่ฏ•ใ€‚\\nๅ› ๆญค๏ผŒไนŸๅฐฑๆœ‰ไบ†่ฟ™็ฏ‡ๅ‡่‚ฅ่ฟ™ไปถ\"}]},\"groupPostsByYearMonth\":{\"2026 \":{\"04\":[{\"url\":\"/31.ๅผ€ๆบๆดžๅฏŸ/00.overview\",\"relativePath\":\"/31.ๅผ€ๆบๆดžๅฏŸ/00.overview\",\"frontmatter\":{\"date\":\"2026-04-10 14:52:34\",\"title\":\"ๅผ€ๆบๆดžๅฏŸ\",\"permalink\":\"/repo-insight/overview\",\"categories\":[\"ๅผ€ๆบๆดžๅฏŸ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅผ€ๆบๆดžๅฏŸ\",\"date\":\"2026-04-10 14:52:34\",\"capture\":\"ๆœฌไธ“ๆ ๆ‰€ๆœ‰ๆบ็ ่งฃ่ฏปๆ–‡็ซ ๏ผŒๅ‡ๅ€ŸๅŠฉไบ†ๆœฌไบบๅผ€ๆบ็š„ repo-insight Agent Skill ๆฅ่พ…ๅŠฉ็”Ÿๆˆใ€‚\\nrepo-insight ๆ˜ฏไธ€ๆฌพไธ“ๆณจไบŽไผ˜็ง€ๅผ€ๆบ้กน็›ฎไปฃ็ ๅบ“่งฃ่ฏป็š„ๆ™บ่ƒฝๅŠฉๆ‰‹๏ผŒๆไพ› GitHub URL ๆˆ–ๆœฌๅœฐ็›ฎๅฝ•็š„ไธ€้”ฎๆทฑๅบฆๅˆ†ๆž่ƒฝๅŠ›ใ€‚\\n- ไธ€้”ฎๅˆ†ๆž - ๆ”ฏๆŒ GitHub URL ๆˆ–ๆœฌๅœฐ็›ฎๅฝ•ๅˆ†ๆž\\n- ๆทฑๅบฆๆŠฅๅ‘Š - ็”Ÿๆˆ้กน็›ฎๆฆ‚่ฟฐใ€ๆžถๆž„ๅˆ†ๆžใ€ๆ ธๅฟƒๆจกๅ—่งฃ่ฏป\\n- ไธญๆ–‡ๆ”ฏๆŒ - ่‡ชๅŠจ็ฟป่ฏ‘ READMEใ€็”Ÿๆˆไธญๆ–‡ไปฃ็ ๆณจ้‡Š\\n- ๅ…จ่‡ชๅŠจๆ‰ง่กŒ - ่ฐƒ็”จๅŽๆ— ้œ€ไธญ้—ดไบคไบ’\\nไธคไธช Skill ๅ‡ๅ…ทๅค‡ไปฅไธŠ่ƒฝๅŠ›๏ผŒๅฏๆ นๆฎ้œ€ๆฑ‚้€‰ๆ‹ฉไฝฟ็”จใ€‚\\nไบ†่งฃ repo-insight โ†’\\n ๅผ€ๆบ้กน็›ฎ่งฃ่ฏป\\n| ้กน็›ฎ | ็ฎ€ไป‹ |\\n|----\"},{\"url\":\"/31.ๅผ€ๆบๆดžๅฏŸ/01.fetch-event-source ๆบ็ ่งฃ่ฏป\",\"relativePath\":\"/31.ๅผ€ๆบๆดžๅฏŸ/01.fetch-event-source ๆบ็ ่งฃ่ฏป\",\"frontmatter\":{\"date\":\"2026-04-10 14:43:09\",\"title\":\"fetch-event-source ๆบ็ ่งฃ่ฏป\",\"categories\":[\"ๅผ€ๆบๆดžๅฏŸ\"],\"permalink\":\"/repo-insight/fetch-event-source\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"fetch-event-source ๆบ็ ่งฃ่ฏป\",\"date\":\"2026-04-10 14:43:09\",\"capture\":\"็ฌฌไธ€้ƒจๅˆ†: ไธšๅŠกไปทๅ€ผ็ฏ‡\\n ้กน็›ฎๅฎšไฝ\\n`@microsoft/fetch-event-source` ๆ˜ฏๅพฎ่ฝฏๅผ€ๆบ็š„ไธ€ไธชๅŸบไบŽ Fetch API ็š„ Server-Sent Events (SSE) ๅฎขๆˆท็ซฏๅบ“,ไธบๆต่งˆๅ™จๆไพ›ไบ†ๆ›ดๅผบๅคงใ€ๆ›ด็ตๆดป็š„ๆœๅŠกๅ™จๆŽจ้€ไบ‹ไปถๆŽฅๆ”ถ่ƒฝๅŠ›ใ€‚\\n ่งฃๅ†ณ็š„ๆ ธๅฟƒ็—›็‚น\\nๅŽŸ็”Ÿๆต่งˆๅ™จ็š„ `EventSource` API ๅญ˜ๅœจไปฅไธ‹้™ๅˆถ:\\n| ้™ๅˆถ | ่ฏดๆ˜Ž |\\n|------|------|\\n| ไป…ๆ”ฏๆŒ GET ่ฏทๆฑ‚ | ๆ— ๆณ•ไฝฟ็”จ POSTใ€PUT ็ญ‰ๅ…ถไป– HTTP ๆ–นๆณ• |\\n| ๆ— ๆณ•่‡ชๅฎšไน‰่ฏทๆฑ‚ๅคด | ๆ— ๆณ•ไผ ้€’่ฎค่ฏไปค็‰Œใ€ๅ†…ๅฎน็ฑปๅž‹็ญ‰่‡ชๅฎšไน‰ๅคด้ƒจ |\\n| ๆ— ๆณ•ๅ‘้€่ฏทๆฑ‚ไฝ“ | ๆ‰€ๆœ‰ๅ‚ๆ•ฐๅฟ…้กป็ผ–็ ๅœจ\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/10.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Deep Research Agent\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/10.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Deep Research Agent\",\"frontmatter\":{\"date\":\"2026-04-02 00:38:37\",\"title\":\"ๅฃฐๆ˜Žๅผๅคšๆ™บ่ƒฝไฝ“ๅๅŒ๏ผšๅŸบไบŽ Claude Agent SDK ๆž„ๅปบๆทฑๅบฆ็ ”็ฉถ็ณป็ปŸ\",\"description\":\"ๅฏนๅคๆ‚็ ”็ฉถไปปๅŠกๆ—ถ๏ผŒๅ•ๆ™บ่ƒฝไฝ“๏ผˆSingle-Agent๏ผ‰ๅธธๅ› ไธŠไธ‹ๆ–‡็จ€้‡Šๅ’Œ้€ป่พ‘็–ฒๅŠณๅฏผ่‡ดไบงๅ‡บ่ดจ้‡ไธ‹้™ใ€‚ๆœฌๆ–‡ๅŸบไบŽ Claude Agent SDK ๆŽข่ฎจไบ†ๅคšๆ™บ่ƒฝไฝ“็ณป็ปŸ๏ผˆMAS๏ผ‰็š„ๅทฅ็จ‹ๅŒ–่ฝๅœฐใ€‚้€š่ฟ‡โ€œLead + Subagentโ€็š„ๅฃฐๆ˜Žๅผๆžถๆž„๏ผŒๆˆ‘ไปฌๅฐ†ๆทฑๅบฆ็ ”็ฉถๆ‹†่งฃไธบๆœ็ดขใ€้‡ๅŒ–ๅˆ†ๆžใ€ๅฏ่ง†ๅŒ–็ป˜ๅ›พไธŽ็ป“ๆž„ๅŒ–ๅ†™ไฝœๅ››ไธช็‹ฌ็ซ‹็Žฏ่Š‚ใ€‚\",\"permalink\":\"/ai-agent/deepresearch-agent\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"],\"tags\":[\"Agent SDK\",\"Multi-Agent\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฃฐๆ˜Žๅผๅคšๆ™บ่ƒฝไฝ“ๅๅŒ๏ผšๅŸบไบŽ Claude Agent SDK ๆž„ๅปบๆทฑๅบฆ็ ”็ฉถ็ณป็ปŸ\",\"date\":\"2026-04-02 00:38:37\",\"capture\":\"> ๅฎž่ทต่ฏๆ˜Ž๏ผŒ้€š่ฟ‡ไธฅๆ ผ็š„่Œ่ดฃ้š”็ฆป๏ผˆๅฆ‚ Lead Agent ไป…่ดŸ่ดฃ่ฐƒๅบฆ๏ผ‰ไธŽๅทฅ็จ‹่พน็•Œ็บฆๆŸ๏ผˆๅฆ‚ Researcher ๅผบๅˆถๆๅ–้‡ๅŒ–ๆŒ‡ๆ ‡๏ผ‰๏ผŒMAS ่ƒฝๅคŸ็”Ÿๆˆๅ…ทๅค‡ไธ“ไธšๆ•ฐๆฎๅ›พ่กจๆ”ฏๆ’‘็š„ๆทฑๅบฆๆŠฅๅ‘Šใ€‚ๆœฌๆ–‡ๅฐ†ไปŽๆžถๆž„่ฎพ่ฎกใ€ๅทฅไฝœๆต็ผ–ๆŽ’ๅˆฐ PDF ่‡ชๅŠจ็”Ÿๆˆ๏ผŒๅฎŒๆ•ด่ฟ˜ๅŽŸ่ฟ™ไธ€โ€œAI ้ฉฑๅŠจ่ฐƒ็ ”ๆตๆฐด็บฟโ€็š„ๆž„ๅปบ่ฟ‡็จ‹๏ผŒๅนถๅฑ•็คบๅ…ถๅœจๆ•™่‚ฒ็ ”็ฉถๆกˆไพ‹ไธญ็š„ๅฎžๆˆ˜ๆ•ˆๆžœใ€‚\\n 1. ๅผ•่จ€\\nๅœจ AI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐไธ€ๆ–‡ไธญ๏ผŒๆˆ‘ไปฌๆŽข่ฎจไบ†ๅคšๆ™บ่ƒฝไฝ“็ณป็ปŸ๏ผˆMulti-Agent Systems, MAS๏ผ‰็š„็†่ฎบไผ˜ๅŠฟใ€‚ไปŽ็†่ฎบๅฑ‚้ข็œ‹๏ผŒ่ฟ™็ฑป็ณป็ปŸ้€š่ฟ‡ไปปๅŠกๅˆ†่งฃใ€่Œ่ดฃ้š”็ฆปไธŽๅนถ่กŒๅไฝœๆœบๅˆถ๏ผŒๆœ‰ๆ•ˆ็ช็ ดไบ†ๅ•ๆ™บ่ƒฝไฝ“ๅœจๅคๆ‚ไปปๅŠกไธญ็š„่ƒฝๅŠ›็“ถ้ขˆโ€”โ€”ไธไป…ๆ˜พ่‘—ๆๅ‡ไบ†ไปปๅŠกๅค„็†็š„ๅคฉ่Šฑๆฟ\"}],\"03\":[{\"url\":\"/01.ๅ…จๆ ˆ/00.overview\",\"relativePath\":\"/01.ๅ…จๆ ˆ/00.overview\",\"frontmatter\":{\"date\":\"2026-03-19 23:05:50\",\"title\":\"ๅ…จๆ™ฏไธ€่งˆ\",\"description\":\"ๆœฌ็ณปๅˆ—ๅ›ด็ป•็Žฐไปฃๅ…จๆ ˆๅผ€ๅ‘็š„่ƒฝๅŠ›ไฝ“็ณปๅฑ•ๅผ€๏ผŒไปŽ AI ๆ—ถไปฃ็š„ๅทฅ็จ‹ๆ€็ปดๅ‡บๅ‘๏ผŒ่ฆ†็›–ๅ‰็ซฏๅทฅ็จ‹๏ผˆReact/Vue/CSS๏ผ‰ใ€ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป๏ผˆTypeScript/JavaScript๏ผ‰ใ€ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่็ญ‰ๆ ธๅฟƒ้ข†ๅŸŸ๏ผŒๅธฎๅŠฉๆž„ๅปบไปŽ\\\"่ฎค็Ÿฅๅฑ‚ โ†’ ๆŠ€ๆœฏ้ข†ๅŸŸ โ†’ ๅทฅ็จ‹่ƒฝๅŠ› โ†’ ๅŸบ็ก€่ฎพๆ–ฝ\\\"็š„ๅฎŒๆ•ดๅ…จๆ ˆ็Ÿฅ่ฏ†ๅ›พ่ฐฑใ€‚\",\"categories\":[\"ๅ…จๆ ˆ\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"permalink\":\"/fullstack/overview\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ…จๆ™ฏไธ€่งˆ\",\"date\":\"2026-03-19 23:05:50\",\"capture\":\"<script setup\\nimport ArticleCardList from '@fragment/components/ArticleCardList.vue'\\nimport { fullStackCategories } from '@fragment/data/full-stack-data'\\n</script>\\n<ArticleCardList :categories=\\\"fullStackCategories\\\" />\"},{\"url\":\"/10.ไบงๅ“ Sense/00.ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"relativePath\":\"/10.ไบงๅ“ Sense/00.ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"frontmatter\":{\"date\":\"2026-03-19 23:05:50\",\"title\":\"ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"description\":\"ไบงๅ“ Sense ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ๏ผŒๆถต็›– AI ไบงๅ“่ง‚ๅฏŸใ€ๅคๅˆๅž‹ไบบๆ‰ๆˆ้•ฟใ€ๅ•†ไธšๅŒ–ๆ€่€ƒๅŠๆ–นๆณ•่ฎบๆ€ป็ป“็ญ‰ใ€‚\",\"categories\":[\"ไบงๅ“ Sense\",\"AI\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"date\":\"2026-03-19 23:05:50\",\"capture\":\"> * ่ฟฝๆฑ‚้ซ˜ๆ ๆ†โ€”โ€”ไปฅๆž็ฎ€ๆŠ€ๆœฏ่งฃๅ†ณๅคๆ‚้—ฎ้ข˜๏ผŒๆ‹’็ปไธบ็‚ซๆŠ€่€Œ่ฎพ่ฎก็š„ไผช้œ€ๆฑ‚๏ผ›\\n> * ๅนณ่กกๆ„Ÿๆ€งไธŽ็†ๆ€งโ€”โ€”ๆ—ขๅ…ฑๆƒ…็”จๆˆท็š„็œŸๅฎžๅœบๆ™ฏไธŽๆƒ…็ปช๏ผŒๅˆๅ†ท้™่ฟฝๆบฏ็—›็‚นๆœฌ่ดจ๏ผŒ่ฎฉไบงๅ“ๆ—ขๆœ‰ๆธฉๅบฆ๏ผŒๅˆไธ่‡ณไบŽๆฒฆไธบๅŠŸ่ƒฝ็š„ๅ †็ Œใ€‚\\n่งฃๆž„่ฟ™็งไบงๅ“ Sense ็š„ๅŸบ็ก€ๅœจไบŽๅฏนๆŠ•ๅ…ฅไบงๅ‡บๆฏ”๏ผˆROI๏ผ‰็š„ๆž่‡ด่ฟฝๆฑ‚ไธŽๅฏนไบบๆ€ง็š„ๆทฑๅบฆๅ‰–ๆž๏ผš\\n* ไธ€ๆ–น้ข๏ผŒๅ“่ถŠ็š„ไบงๅ“ๅ—…่ง‰ๆ„ๅ‘ณ็€ๅฏปๆ‰พโ€œ้ซ˜ๆ ๆ†่งฃโ€๏ผŒ็”จๆœ€ๅ…‹ๅˆถ็š„ๆŠ€ๆœฏๅคๆ‚ๅบฆๅŽปๆ’ฌๅŠจๆœ€ๅนฟๆณ›ไธ”ๅผบ็ƒˆ็š„็”จๆˆทไปทๅ€ผ๏ผŒๆžœๆ–ญ่ง„้ฟไธบไบ†ๆŠ€ๆœฏ่€ŒๆŠ€ๆœฏ็š„ไผช้œ€ๆฑ‚้™ท้˜ฑใ€‚\\n* ๅฆไธ€ๆ–น้ข๏ผŒๆ—ข้œ€่ฆ่ฎพ่บซๅค„ๅœฐๆ„Ÿ็Ÿฅ็”จๆˆท็š„็œŸๅฎžไฝฟ็”จๅœบๆ™ฏไธŽๆƒ…็ปช๏ผŒๅˆๅฟ…้กปไฟๆŒ็†ๆ€งๅŽป่ฟฝ้—ฎ็—›็‚น็š„ๆ นๆบ๏ผŒ็กฎไฟไบงๅ“ๆ—ขไธๆฒฆไธบ่‡ƒ่‚ฟ็š„้œ€ๆฑ‚่ฎธๆ„ฟๆฑ ๏ผŒไนŸไธๅ˜ๆˆ็ผบไนไบบๆ€งๆธฉๅบฆ็š„ๅ†ฐๅ†ทๆœบๅ™จใ€‚\\n<im\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/00.AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/00.AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ\",\"frontmatter\":{\"title\":\"AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"date\":\"2026-03-15 16:00:00\",\"description\":\"ๅ…จๆ™ฏๅผ AI ๅญฆไน ไธŽๅฎž่ทต็Ÿฅ่ฏ†ๅบ“๏ผŒ็ณป็ปŸๆฒ‰ๆท€ AI Agent ่ฎพ่ฎกๆจกๅผใ€ๅคงๆจกๅž‹ๅทฅ็จ‹ๅŒ–่ฝๅœฐใ€ๅผ€ๆบๅฐ้กน็›ฎๅŠ็คพๅŒบๆดปๅŠจ็ป้ชŒๆ€ป็ป“๏ผŒๆŒ็ปญ่ฟญไปฃไปŽ็†่ฎบๅˆฐ็”Ÿไบง็š„ๅฎŒๆ•ดๆ–นๆณ•่ฎบใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/llm_learning_bg_1.png\",\"permalink\":\"/ai-learning/overview\",\"categories\":[\"ai-practice\"],\"tags\":[\"AI\",\"LLM\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"date\":\"2026-03-15 16:00:00\",\"capture\":\"<!-- ็ฒพ้€‰ไธ“้ข˜ --\\n<script setup>\\nimport ArticleCardList from '@fragment/components/ArticleCardList.vue'\\nimport { aiLearningCategories } from '@fragment/data/ai-learning-data'\\n</script>\\n<ArticleCardList :categories=\\\"aiLearningCategories\\\" />\"},{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/02.CSSๅทฅ็จ‹ๅŒ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/02.CSSๅทฅ็จ‹ๅŒ–\",\"frontmatter\":{\"date\":\"2026-03-10 22:05:50\",\"title\":\"ไปŽๅŽŸๅญๅŒ–ๅˆฐๅ˜ไฝ“้ฉฑๅŠจ๏ผš็Žฐไปฃ CSS ๅทฅ็จ‹ๅŒ–็š„ๆžถๆž„ๆผ”่ฟ›ไธŽๆททๅˆๅฎž่ทตๆŒ‡ๅ—\",\"description\":\"ๆœฌๆ–‡็ณป็ปŸๅ‰–ๆžไธปๆต CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆ็š„ๅบ•ๅฑ‚้€ป่พ‘๏ผŒๆๅ‡บโ€œๆ ทๅผ่ต„ไบง ROIโ€่ฏ„ไผฐๆจกๅž‹๏ผŒๅนถ้’ˆๅฏน Vue/React ็”Ÿๆ€็ป™ๅ‡บไบ†้ขๅ‘ AI ๆ—ถไปฃ็š„ไผไธš็บงๆททๅˆๆžถๆž„้€‰ๅž‹ๅปบ่ฎฎใ€‚\",\"permalink\":\"/full-stack/css-engineering\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"top\":true,\"categories\":[\"ๅ…จๆ ˆ\"],\"tags\":[\"ๅ…จๆ ˆ\",\"CSS\",\"ๅทฅ็จ‹ๅŒ–\",\"tailwindcss\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไปŽๅŽŸๅญๅŒ–ๅˆฐๅ˜ไฝ“้ฉฑๅŠจ๏ผš็Žฐไปฃ CSS ๅทฅ็จ‹ๅŒ–็š„ๆžถๆž„ๆผ”่ฟ›ไธŽๆททๅˆๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-03-10 22:05:50\",\"capture\":\"1. ๅผ•่จ€๏ผšไธปๆต CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆๆœ‰ๅ“ชไบ›๏ผŸ\\nๅœจ็Žฐไปฃๅ‰็ซฏๅผ€ๅ‘ไธญ๏ผŒ้š็€้กน็›ฎๅคๆ‚ๅบฆ็š„ๆ€ฅๅ‰งๆๅ‡๏ผŒๅŽŸ็”Ÿ CSS ๅธธๅธธ้ขไธดๅ…จๅฑ€ๆฑกๆŸ“ใ€ๅค็”จๅ›ฐ้šพใ€ๅฑ‚็บงๅตŒๅฅ—่ฟ‡ๆทฑไปฅๅŠ็ปดๆŠคๆˆๆœฌๆž้ซ˜็ญ‰้—ฎ้ข˜ใ€‚ไธบไบ†่งฃๅ†ณ่ฟ™ไบ›็—›็‚น๏ผŒ็คพๅŒบๅคšๅนดๆฅไธๆ–ญๆŽข็ดข๏ผŒๆฒ‰ๆท€ๅ‡บไบ†ๅคš็งไธปๆต็š„ CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆใ€‚\\n้™คๅŽŸ็”Ÿ CSS ไน‹ๅค–๏ผŒไธปๆตๆ–นๆกˆ่ฟ˜ๅŒ…ๆ‹ฌ้ข„ๅค„็†ๅ™จใ€CSS-in-JSใ€CSS Moduleใ€Scoped CSSใ€ๅŽŸๅญๅŒ– CSS ็ญ‰ใ€‚BEM ไฝœไธบไธ€็งๅŸบไบŽๅ‘ฝๅ็บฆๅฎšๆฅ่ง„้ฟๅ‘ฝๅๅ†ฒ็ช็š„ๆ—ฉๆœŸๆ–นๆกˆ๏ผŒๅœจ็Žฐไปฃๅ‰็ซฏๅทฅ็จ‹ไธญๅทฒๅŸบๆœฌไธๅ†ไฝฟ็”จ๏ผŒๅ› ๆญคๆœฌๆ–‡ไธๅ†ๅฏนๅ…ถๅฑ•ๅผ€่ฏฆ็ป†ๅˆ†ๆžใ€‚\\n> CSS ๅ‘ฝๅ่ง„่Œƒ๏ผˆBEM๏ผ‰๏ผš้€š่ฟ‡ไธฅๆ ผ็š„ๅ‘ฝๅ็บฆๅฎš๏ผˆๅฆ‚ Block__Element--Modif\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/20.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Agent\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/20.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Agent\",\"frontmatter\":{\"date\":\"2026-03-06 00:37:58\",\"title\":\"ๅ‘Šๅˆซๆ‰‹ๅŠจ Loop๏ผšๅ€ŸๅŠฉ Claude Agent SDK ๅฎž็Žฐ Agent ็š„ๅทฅ็จ‹ๅŒ–้—ญ็Žฏ\",\"description\":\"ๅœจ Agent ๆŠ€ๆœฏๅฟซ้€Ÿ่ตฐๅ‘ๆˆ็†Ÿ็š„ไปŠๅคฉ๏ผŒๅฆ‚ไฝ•ไฝŽๆˆๆœฌๆž„ๅปบๅ…ทๅค‡โ€œ่‡ชไธปๆดžๅฏŸโ€่ƒฝๅŠ›็š„ๆ™บ่ƒฝไฝ“๏ผŸๆœฌๆ–‡ๆทฑๅบฆๆ‹†่งฃ Anthropic ๅฎ˜ๆ–นๆŽจๅ‡บ็š„ Claude Agent SDK๏ผŒ่งฃๆžๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆ‰˜็ฎก Agent Loop ๅ’Œไผš่ฏๆŒไน…ๅŒ–ๆœบๅˆถ๏ผŒ่งฃๅ†ณ Agent ๅผ€ๅ‘ไธญ็š„็Šถๆ€็ฎก็†้šพ้ข˜ใ€‚ๆ–‡็ซ ้€š่ฟ‡ไปŽๆ— ็Šถๆ€ไบคไบ’ๅˆฐๅ…ทๅค‡ๆตๅผ่พ“ๅ‡บ่ƒฝๅŠ›็š„ TUI ่‡ชๅŠจๅŒ–ๅทฅๅ…ท่ฟ›้˜ถๅฎžๆˆ˜๏ผŒๅฑ•็คบไบ†ๆž„ๅปบไฝŽๆˆๆœฌใ€้ซ˜ๅฏ็”จ AI ๅŽŸ็”Ÿๅบ”็”จ็š„ๅฎŒๆ•ด่ทฏๅพ„ใ€‚\",\"permalink\":\"/ai-practice/claude-agent-sdk-basic-build\",\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"],\"tags\":[\"Agent\",\"Agent SDK\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ‘Šๅˆซๆ‰‹ๅŠจ Loop๏ผšๅ€ŸๅŠฉ Claude Agent SDK ๅฎž็Žฐ Agent ็š„ๅทฅ็จ‹ๅŒ–้—ญ็Žฏ\",\"date\":\"2026-03-06 00:37:58\",\"capture\":\"1. ๅผ•่จ€\\nๅฝ“ๅ‰๏ผŒAI Agent ็š„ๆผ”่ฟ›ๅทฒ่ฟ›ๅ…ฅไธ€ไธชๅดญๆ–ฐ็š„้˜ถๆฎตโ€”โ€”ไปŽ้œ€่ฆ้ข‘็นไบบๅทฅๅนฒ้ข„็š„\\\"ๅŠ่‡ชๅŠจ\\\"ๆจกๅผ๏ผŒ่ฟ›ๅŒ–ไธบ่ƒฝๅคŸ่‡ชไธปๆดžๅฏŸ็Žฏๅขƒๅ˜ๅŒ–ใ€ๅŠจๆ€่ฐƒๆ•ดๆ‰ง่กŒ็ญ–็•ฅใ€ๅฎž็ŽฐไธšๅŠกๆต็จ‹่‡ช้€‚ๅบ”็ผ–ๆŽ’็š„ๆ™บ่ƒฝๅŒ–็ณป็ปŸใ€‚Claude Codeใ€Manusใ€OpenClaw ็ญ‰ไปฃ่กจๆ€งไบงๅ“ๅฑ‚ๅ‡บไธ็ฉท๏ผŒไนŸๆ ‡ๅฟ—็€ Agent ๆŠ€ๆœฏๆญฃๅœจๅฟซ้€Ÿ่ตฐๅ‘ๆˆ็†ŸไธŽๆ™ฎๅŠใ€‚\\n่ฟ‘ๆœŸ๏ผŒ็ฌ”่€…ๅœจไธบไธชไบบๅšๅฎขๅผ•ๅ…ฅๆ™บ่ƒฝๅŒ–่ฟ่ฅ่ƒฝๅŠ›๏ผˆๅฆ‚ๅ†…ๅฎน่‡ชๅŠจๆ กๅฏนใ€ๅฎก็จฟไธŽๅ‘ๅธƒ๏ผ‰๏ผŒๆทฑๅ…ฅ็ ”็ฉถไบ†ๅคšๆฌพ Agent ๅผ€ๅ‘ๆก†ๆžถ๏ผŒๅฆ‚ Claude Agent SDKใ€Langchainใ€LangGraph ็ญ‰ใ€‚ๅœจ็ป่ฟ‡ๅˆๆญฅ็š„็ ”็ฉถๅฏนๆฏ”ๅˆ†ๆžๅŽ๏ผŒClaude Agent SDK ๆˆไธบไบ†ไฝŽๆˆๆœฌๆž„ๅปบ้ซ˜ๅฏ็”จ Agent\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/10.Agent SKills\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/10.Agent SKills\",\"frontmatter\":{\"date\":\"2026-03-05 23:11:25\",\"title\":\"ๅฆ‚ไฝ•็ผ–ๅ†™ไธ€ไธช้ซ˜ๅฏ็”จ็š„ Agent Skill๏ผŸไปŽๆœบๅˆถๆ‹†่งฃๅˆฐ็”Ÿไบงๅฎž่ทตๆŒ‡ๅ—\",\"description\":\"ๅคง่ฏญ่จ€ๆจกๅž‹ๅœจ็‰นๅฎšๅทฅ็จ‹้ข†ๅŸŸๅธธ้ขไธดโ€œ็Ÿฅ่€Œไธ่กŒโ€็š„ๅ›ฐๅขƒใ€‚ๆœฌๆ–‡ๆทฑๅบฆๆ‹†่งฃ Anthropic ๆœ€ๆ–ฐๆŽจๅ‡บ็š„ Agent Skills ่ง„่Œƒ๏ผŒๆญ็ง˜ๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆธ่ฟ›ๅผๆŠซ้œฒไธŽไธ‰็บงๅŠ ่ฝฝๆœบๅˆถ๏ผŒๅœจๆŽงๅˆถ Token ๆˆๆœฌ็š„ๅŒๆ—ถๆ˜พ่‘—ๆๅ‡ Agent ็š„ไปปๅŠกๆ‰ง่กŒ็ฒพๅบฆใ€‚ๆ–‡็ซ ๆถต็›–ไบ†ไปŽๆ–‡ไปถๅคนๆžถๆž„่ฎพ่ฎกๅˆฐๅฎžๆˆ˜ git-workflow ็ผ–ๅ†™็š„ๅ…จๆต็จ‹ๆŒ‡ๅ—๏ผŒๅŠฉไฝ ๅฐ†้›ถๆ•ฃ็š„ Prompt ่ฝฌๅŒ–ไธบๆ ‡ๅ‡†ๅŒ–็š„ๆ•ฐๅญ—่ต„ไบงใ€‚\",\"permalink\":\"/ai-agent/skills-practice-summary\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\",\"Agent ็ณปๅˆ—\"],\"tags\":[\"Agent Skills\",\"Agent\",\"AI\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฆ‚ไฝ•็ผ–ๅ†™ไธ€ไธช้ซ˜ๅฏ็”จ็š„ Agent Skill๏ผŸไปŽๆœบๅˆถๆ‹†่งฃๅˆฐ็”Ÿไบงๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-03-05 23:11:25\",\"capture\":\"1. ๅผ•่จ€๏ผšAgent Skills ๆ˜ฏไป€ไนˆ๏ผŸ\\nๅœจๅคง่ฏญ่จ€ๆจกๅž‹๏ผˆLLM๏ผ‰็š„่ฝๅœฐๅฎž่ทตไธญ๏ผŒๅผ€ๅ‘่€…็ปๅธธ้ขไธดไธ€ไธชๅ…ฑๆ€งๆŒ‘ๆˆ˜๏ผšๆจกๅž‹ๅœจ็‰นๅฎš็ป†ๅˆ†้ข†ๅŸŸๅพ€ๅพ€ๅค„ไบŽโ€œ็Ÿฅ่€Œไธ่กŒโ€็š„็Šถๆ€โ€”โ€”่™ฝ็„ถๆ‹ฅๆœ‰ๅšๆ‚็š„็Ÿฅ่ฏ†๏ผŒๅด็ผบไนๆ‰ง่กŒๅคๆ‚ไปปๅŠก็š„ไธ“ไธš่ทฏๅพ„ใ€‚\\nไธบไบ†่งฃๅ†ณ่ฟ™ไธ€็—›็‚น๏ผŒAnthropic ๅœจๅ…ถๆ——่ˆฐๆจกๅž‹ Claude 3.7 ็ณปๅˆ—ไธญๆญฃๅผๆŽจๅ‡บไบ† Claude Skillsใ€‚่ฟ™ไธ€ๅŠŸ่ƒฝๅฐ† LLM ็š„่ƒฝๅŠ›ๅฐ่ฃ…ไธบ็›ด่ง‚็š„โ€œ่ƒฝๅŠ›ๆ–‡ไปถๅคนโ€๏ผŒๆžๅคงๆๅ‡ไบ†ๆ™บ่ƒฝไฝ“็š„ๅฎž็”จๆ€ง๏ผŒๅนถ่ฟ…้€Ÿๅœจๅผ€ๅ‘่€…็คพๅŒบๅผ•ๅ‘็ƒญ่ฎฎใ€‚2025 ๅนด 12 ๆœˆ๏ผŒ้š็€ Anthropic ่”ๅˆ็”Ÿๆ€ไผ™ไผดๆญฃๅผๅผ€ๆบ Agent Skills ่ง„่Œƒ๏ผŒAgent Skills ็š„ๆ ‡ๅ‡†ๅŒ–ไนŸๆญฃๅผๅผ€ๅฏ๏ผˆ่€Œ่ฟ™ไธ€่ƒฝๅŠ›\"},{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"frontmatter\":{\"date\":\"2026-03-05 16:54:35\",\"title\":\"ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"aliases\":[\"Server-Sent Events\",\"HTTP Streaming\"],\"tldr\":\"ๆทฑๅ…ฅ่งฃๆžๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผŒๆไพ›ไปŽๆฆ‚ๅฟตๅˆฐ็”Ÿไบงๅฎž่ทต็š„ๅฎŒๆ•ด่งฃๅ†ณๆ–นๆกˆใ€‚\",\"description\":\"่พจๆžๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ็š„ๆฆ‚ๅฟตไธŽๅฑ‚ๆฌกๅ…ณ็ณป๏ผŒ่ฏฆ่งฃๅฎขๆˆท็ซฏไธŽๆœๅŠก็ซฏๅฎž็Žฐๆ–นๆกˆ๏ผŒๆไพ›็”Ÿไบงๅฎž่ทตๅฎŒๆ•ดๆŒ‡ๅ—ใ€‚\",\"tags\":[\"tutorial\",\"SSE\",\"HTTP Streaming\",\"ๅ…จๆ ˆ\"],\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"permalink\":\"/fullstack/networking/sse-practice\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"date\":\"2026-03-05 16:54:35\",\"capture\":\"<script setup\\n import HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n> ๆ‘˜่ฆๆ€ป็ป“: ้’ˆๅฏนๅผ€ๅ‘่€…ๅฎนๆ˜“ๆททๆท†ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ็š„้—ฎ้ข˜๏ผŒไปŽๆฆ‚ๅฟตๅฑ‚ๆฌกๅ‡บๅ‘ๅŽ˜ๆธ…ไบŒ่€…ๆœฌ่ดจๅŒบๅˆซไธŽๅไฝœๅ…ณ็ณป๏ผŒๆŒ‡ๅ‡บๆตๅผ HTTP ๆ˜ฏๅบ•ๅฑ‚ไผ ่พ“ๆœบๅˆถ่€Œ SSE ๆ˜ฏๅบ”็”จๅฑ‚ๆ•ฐๆฎๆ ผๅผ็บฆๅฎšใ€‚ๆ–‡็ซ ไพๆฌกไป‹็ปๅŽŸ็”Ÿ EventSource APIใ€fetch + ReadableStream ่ฟ›้˜ถๆ–นๆกˆใ€@microsoft/fetch-event-source ๅทฅไธš็บงๅฎž็Žฐ็ญ‰ไธ‰็งๅฎขๆˆท็ซฏๆ–นๆกˆ๏ผŒๅนถไปฅ Nes\"},{\"url\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/02.้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/02.้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-03-02 11:05:50\",\"title\":\"้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ AI ๆž้€Ÿ้™ไฝŽไปฃ็ ็ผ–ๅ†™้—จๆง›๏ผŒๅ•็บฏ็š„โ€œไธšๅŠกไปฃ็ ็ฟป่ฏ‘ๅ™จโ€่ง’่‰ฒๆญฃๅŠ ้€Ÿ่ดฌๅ€ผใ€‚ๆœฌๆ–‡ไปŽๆŠ€ๆœฏๆผ”่ฟ›ไธŽไบงๅ“ๆ€่€ƒ็š„ไบคๆฑ‡็‚นๅ‡บๅ‘๏ผŒๅฐ† AI ๆ—ถไปฃ็š„ๅผ€ๅ‘่€…่ƒฝๅŠ›ๅ›พ่ฐฑ้‡ๆ–ฐๅˆ’ๅˆ†ไธบไธ‰ๅคงๆ ธๅฟƒๅœˆๅฑ‚๏ผšไบงๅ“ๅบ”็”จๅฑ‚๏ผˆInsight Stack๏ผ‰ใ€Agent ๅผ€ๅ‘ๅฑ‚ไธŽ AI ๅŸบ็ก€่ฎพๆ–ฝๅฑ‚ใ€‚ๆ— ่ฎบไฝ ๆ˜ฏๆทฑ่€•่ง†ๅ›พๅฑ‚ไบคไบ’ใ€็ฒพ้€š Node.js ็ญ‰ๆœๅŠก็ซฏๆžถๆž„็š„ๅผ€ๅ‘่€…๏ผŒ่ฟ˜ๆ˜ฏ่‡ดๅŠ›ไบŽๆŠ€ๆœฏ่ฝๅœฐ็š„ๆŽข็ดข่€…๏ผŒ้ƒฝ่ƒฝๅœจ่ฟ™ไปฝๆผ”่ฟ›ๆŒ‡ๅ—ไธญๆ‰พๅˆฐๆ‰“็ ด่ƒฝๅŠ›่พน็•Œใ€ๅ‘โ€œ่ถ…็บงไธชไฝ“โ€ไธŽโ€œAI ๆ™บ่ƒฝไฝ“ๆŒ‡ๆŒฅๅฎ˜โ€่ทƒ่ฟ็š„็ ดๅฑ€ไน‹้“ใ€‚\",\"permalink\":\"/fullstack/ai-engineer-capability\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"top\":true,\"tags\":[\"ๅ…จๆ ˆ\",\"AI\"],\"categories\":[\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"date\":\"2026-03-02 11:05:50\",\"capture\":\"<script setup>\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/ai_engineering_arc.png\\\" style=\\\"width: 100%; border-radius: 8px; margin-bottom: 20px;\\\" alt=\\\"about site back\"}],\"02\":[{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"frontmatter\":{\"date\":\"2026-02-25 22:10:48\",\"title\":\"HTTP ่ฝฎ่ฏขไผ˜ๅŒ–ๆŒ‡ๅ—๏ผš้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"tldr\":\"่ฏฆ่งฃ้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅฎž็ŽฐๅŽŸ็†๏ผŒๆไพ› HTTP ่ฝฎ่ฏขไผ˜ๅŒ–็ญ–็•ฅไธŽ้€‰ๅž‹ๅ†ณ็ญ–ๆ ‘ใ€‚\",\"description\":\"ๆทฑๅ…ฅๅ‰–ๆž้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๆ ธๅฟƒๆœบๅˆถ๏ผŒๆไพ› TypeScript/NestJS ๅฎžๆˆ˜ไปฃ็ ๏ผŒๅนถๆž„ๅปบๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–ๆ ‘ไธŽ้€‚็”จๅœบๆ™ฏ้€ŸๆŸฅใ€‚\",\"tags\":[\"HTTP ่ฝฎ่ฏข\",\"้€€้ฟ่ฝฎ่ฏข\",\"้•ฟ่ฝฎ่ฏข\"],\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"permalink\":\"/fullstack/networking-polling-optimization\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"HTTP ่ฝฎ่ฏขไผ˜ๅŒ–ๆŒ‡ๅ—๏ผš้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"date\":\"2026-02-25 22:10:48\",\"capture\":\"1. ๅผ•่จ€\\nๅœจ็Žฐไปฃ Web ๅผ€ๅ‘ไธญ๏ผŒWebSocket ๅ’Œ Server-Sent Events (SSE) ๅธธๅธธ่ขซ่ง†ไธบๅฎžๆ—ถ้€šไฟก็š„้“ถๅผนใ€‚็„ถ่€Œ๏ผŒHTTP ่ฝฎ่ฏข๏ผˆPolling๏ผ‰ไฝœไธบๆœ€ๆœด็ด ็š„ๅฎžๆ—ถ้€šไฟกๆ–นๆกˆ๏ผŒ้žไฝ†ๆฒกๆœ‰้€€ๅ‡บๅކๅฒ่ˆžๅฐ๏ผŒๅ่€Œๅœจ็‰นๅฎš็š„ๅคๆ‚ไธšๅŠกๅœบๆ™ฏไธญๅคงๆ”พๅผ‚ๅฝฉใ€‚\\n> ๐Ÿ“– ๅฆ‚ๆžœไฝ ๅฏน HTTP ่ฝฎ่ฏขๅœจๆ•ดไธช Web ้€šไฟกๅ่ฎฎไฝ“็ณปไธญ็š„ๅฎšไฝๅฐšไธๆธ…ๆ™ฐ๏ผŒๆŽจ่ๅ…ˆ้˜…่ฏป Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—๏ผŒไบ†่งฃ่ฝฎ่ฏขไธŽ็Ÿญ่ฟžๆŽฅใ€้•ฟ่ฟžๆŽฅใ€WebSocketใ€SSE ็ญ‰ๆ–นๆกˆ็š„ๆผ”่ฟ›ๅ…ณ็ณปไธŽ้€‚็”จ่พน็•Œ๏ผŒๅ†็ป“ๅˆๆœฌๆ–‡ๆทฑๅ…ฅๅฎž่ทตใ€‚\\nๅœจๅฝ“ๅ‰ไผ—ๅคš้กถ็บง็š„ AI AIGC ๅบ”็”จ๏ผˆๅฆ‚ Midjourne\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/02.Agent ่ง„ๅˆ’ๆจกๅ—\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/02.Agent ่ง„ๅˆ’ๆจกๅ—\",\"frontmatter\":{\"date\":\"2026-02-24 20:52:37\",\"title\":\"ๆŽขๅฏป Agent ๅ†ณ็ญ–ไธญๆžข๏ผš่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„่ง„ๅˆ’่Œƒๅผ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฆ‚ๆžœ่ฏด LLM ๆ˜ฏ Agent ็š„ๅคง่„‘๏ผŒ่ง„ๅˆ’ๆจกๅ—ๅˆ™ๆ˜ฏๅ…ถ่ดŸ่ดฃๅคๆ‚ๅ†ณ็ญ–็š„โ€œๅ‰้ขๅถโ€ใ€‚ๆœฌๆ–‡ๆทฑๅบฆ่งฃๆž„ไบ† Agent ่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„ๆ ธๅฟƒ่ทฏๅพ„๏ผšไปŽไปปๅŠกๅˆ†่งฃ็š„้™ไฝŽ็†ตๅ€ผ๏ผŒๅˆฐ่‡ชๆˆ‘ๅๆ€็š„้—ญ็ŽฏๆŽงๅˆถใ€‚้€š่ฟ‡ๅฏนๆฏ”โ€œ่พน่ตฐ่พน็œ‹โ€็š„ ReAct ๅŠจๆ€ๅ“ๅบ”ๆจกๅผไธŽโ€œ่ฐ‹ๅฎšๅŽๅŠจโ€็š„ Plan-and-Execute ้ข„็ผ–ๆŽ’ๆจกๅผ๏ผŒๆœฌๆ–‡ๆญ็คบไบ†ๅฆ‚ไฝ•้’ˆๅฏน้•ฟ้“พ่ทฏๅทฅ็จ‹ไปปๅŠกๆž„ๅปบ็จณๅฅ็š„ๅ†ณ็ญ–่Œƒๅผ๏ผŒๅŠฉไฝ ๅฎŒๆˆไปŽโ€œ็ฎ€ๅ•ๆ็คบ่ฏโ€ๅˆฐโ€œๅคๆ‚ๆžถๆž„่ฎพ่ฎกโ€็š„่ฎค็Ÿฅ่ทƒ่ฟใ€‚\",\"permalink\":\"/ai-agent/planning-module\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆŽขๅฏป Agent ๅ†ณ็ญ–ไธญๆžข๏ผš่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„่ง„ๅˆ’่Œƒๅผ\",\"date\":\"2026-02-24 20:52:37\",\"capture\":\"1. ๅผ•่จ€\\nๅœจไบบ็ฑปๅคง่„‘ไธญ๏ผŒๅ‰้ขๅถ็šฎๅฑ‚่ดŸ่ดฃๅคๆ‚็š„่ฎค็Ÿฅ่ง„ๅˆ’ใ€ๅ†ณ็ญ–ๅ’Œ็คพไบค่กจ็Žฐใ€‚ๅฏนไบŽไธ€ไธช Agent ่€Œ่จ€๏ผŒ่ง„ๅˆ’ๆจกๅ—ๆญฃๆ˜ฏๅฎƒ็š„โ€œๅ‰้ขๅถโ€โ€”โ€”ๅฎƒๅ†ณๅฎšไบ† Agent ๆ˜ฏๅชไผšๆœบๆขฐๅ“ๅบ”ๆŒ‡ไปค็š„โ€œๆœจๅถโ€๏ผŒ่ฟ˜ๆ˜ฏ่ƒฝ็‹ฌ็ซ‹ๆ‹†่งฃ็›ฎๆ ‡ใ€ๅœจๅคๆ‚็Žฏๅขƒไธญๅฏปๆ‰พๆœ€ไผ˜่ทฏๅพ„็š„โ€œๆ•ฐๅญ—ๅ‘˜ๅทฅโ€ใ€‚\\nAgent ็š„่ง„ๅˆ’่ƒฝๅŠ›ไธป่ฆ็”ฑไธค้ƒจๅˆ†ๅๅŒ้ฉฑๅŠจ๏ผšไปปๅŠกๅˆ†่งฃไธŽ่‡ชๆˆ‘ๅๆ€ใ€‚\\n 2. ไปปๅŠกๅˆ†่งฃ๏ผšๅŒ–็นไธบ็ฎ€็š„็ญ–็•ฅ\\nไปปๅŠกๅˆ†่งฃๆ˜ฏๆŒ‡ๅฐ†ไธ€ไธชๅคๆ‚็š„็›ฎๆ ‡ๆˆ–ไปปๅŠกๆ‹†่งฃไธบๅคšไธชๅ…ทไฝ“ใ€ๅฏๆ“ไฝœ็š„็š„ๅญไปปๅŠก๏ผŒไปฅไพฟ Agent ่ƒฝๅคŸๆ›ด้ซ˜ๆ•ˆๅœฐๆ‰ง่กŒๅ’Œ็ฎก็†ใ€‚ๅ…ถๆœฌ่ดจๆ˜ฏ้™ไฝŽ้—ฎ้ข˜็š„็†ตๅ€ผ๏ผŒ่ฎฉ Agent ่ƒฝๅคŸ่š็„ฆไบŽๆฏไธ€ไธช็ป†ๅฐ็š„็กฎๅฎšๆ€งๆญฅ้ชค๏ผŒไปŽ่€Œ้€ๆญฅ่งฃๅ†ณ้—ฎ้ข˜๏ผŒๆ้ซ˜่ง„ๅˆ’็š„ๅฏ่กŒๆ€งๅ’Œๆ‰ง่กŒๆ•ˆ็އใ€‚\\nๆ นๆฎโ€œ่ง„ๅˆ’โ€ไธŽโ€œๆ‰ง่กŒโ€ๅ‘\"},{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-02-24 08:40:31\",\"title\":\"Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"tldr\":\"ๆทฑๅ…ฅๅˆ†ๆžไบ”็ง Web ้€šไฟกๅ่ฎฎ๏ผŒๆไพ› AI ๆ—ถไปฃ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—ไธŽๆœ€ไฝณๅฎž่ทตใ€‚\",\"description\":\"ๆทฑๅ…ฅๅ‰–ๆžไผ ็ปŸ HTTPใ€ๆตๅผ HTTPใ€SSEใ€WebSocketใ€Webhooksใ€HTTP ่ฝฎ่ฏข็š„ๅŽŸ็†ไธŽ็‰นๆ€ง๏ผŒ็ป“ๅˆ AI ๅœบๆ™ฏๆไพ›ๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–็Ÿฉ้˜ตใ€‚\",\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"tags\":[\"HTTP\",\"HTTP ่ฝฎ่ฏข\",\"SSE\",\"WebSocket\",\"Webhooks\"],\"permalink\":\"/fullstack/networking-protocol-selection-guide\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"date\":\"2026-02-24 08:40:31\",\"capture\":\"1. ๅผ•่จ€\\nHTTP ๆ˜ฏไธ€็งๅŸบไบŽๆ–‡ๆœฌ็š„้€šไฟกๅ่ฎฎ๏ผŒไธป่ฆ็”จไบŽ Web ๆต่งˆๅ™จใ€็งปๅŠจๅบ”็”จใ€ๆกŒ้ขๅบ”็”จ็ญ‰ๅฎขๆˆท็ซฏๅ’Œ Web ๆœๅŠกๅ™จไน‹้—ด็š„ๆ•ฐๆฎไผ ่พ“ใ€‚ไผ ็ปŸ HTTP ้‡‡็”จๅŒๆญฅ็š„่ฏทๆฑ‚-ๅ“ๅบ”ๆจกๅผ๏ผš`่ฏทๆฑ‚ -> ็ญ‰ๅพ… -> ๅฎŒๆ•ดๅ“ๅบ”`ใ€‚่ฟ™็งๆ–นๅผ่™ฝ่ƒฝๆปก่ถณๅคงๅคšๆ•ฐๅœบๆ™ฏ๏ผŒไฝ†ๅœจๅฎžๆ—ถๆ€ง่ฆๆฑ‚่พƒ้ซ˜็š„้ข†ๅŸŸโ€”โ€”ๅฆ‚ๆธธๆˆใ€่Šๅคฉใ€่ง†้ข‘ไผš่ฎฎ๏ผŒไปฅๅŠ AI ๆ—ถไปฃ็š„ๅฏน่ฏๅผๅบ”็”จโ€”โ€”ๅดๆ˜พๅพ—ๅŠ›ไธไปŽๅฟƒใ€‚\\nไธบ่งฃๅ†ณ่ฟ™ไธ€้—ฎ้ข˜๏ผŒไธš็•Œๅ‘ๅฑ•ๅ‡บไบ†ๅคš็งๅฎžๆ—ถ Web ้€šไฟกๆ–นๆกˆใ€‚ๆœฌๆ–‡ๅฐ†ๅ›ด็ป• ๆตๅผ HTTPใ€SSEใ€WebSocketใ€Webhooksใ€HTTP ่ฝฎ่ฏข ่ฟ™ไบ”็งไธปๆตๆŠ€ๆœฏ๏ผŒไปŽๅŽŸ็†ใ€็‰นๆ€งใ€้€‚็”จๅœบๆ™ฏๅ‡บๅ‘๏ผŒๆŽข่ฎจๅฎƒไปฌๅœจ็Žฐไปฃๅˆ†ๅธƒๅผๆžถๆž„ไธญ็š„้€‰ๅž‹็ญ–็•ฅไธŽๅทฅ็จ‹ๅฎž่ทตใ€‚\\n 2\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/01.Agentๆฆ‚่งˆไธŽ็ปผ่ฟฐ\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/01.Agentๆฆ‚่งˆไธŽ็ปผ่ฟฐ\",\"frontmatter\":{\"date\":\"2026-02-12 22:31:00\",\"title\":\"ไปŽๆ็คบ่ฏๅˆฐๆ•ฐๅญ—ๅ‘˜ๅทฅ๏ผšAI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšAI ็š„่ฟ›ๅŒ–ๆญฃ็ปๅކไปŽโ€œๅฏน่ฏๆก†โ€ๅ‘โ€œๆ•ฐๅญ—ๅ‘˜ๅทฅโ€็š„ๆ นๆœฌๆ€ง่ทจ่ถŠใ€‚ๆœฌๆ–‡ๆ˜ฏไธ€็ฏ‡ๅ…ณไบŽ AI Agent ็š„ๅ…จๆ™ฏๆทฑๅบฆ็ปผ่ฟฐ๏ผŒๆ—จๅœจ่งฃๆž„ๆ™บ่ƒฝไฝ“ๅฆ‚ไฝ•ไปŽ็ฎ€ๅ•็š„ Prompt ๅ“ๅบ”่€…๏ผŒๆผ”ๅ˜ไธบๅ…ทๅค‡่‡ชไธป็›ฎๆ ‡ๆ‹†่งฃใ€้•ฟ็ŸญๆœŸ่ฎฐๅฟ†ไธŽๅคๆ‚็Žฏๅขƒไบคไบ’่ƒฝๅŠ›็š„โ€œๆ‰ง่กŒ่€…โ€ใ€‚ๆˆ‘ไปฌๅฐ†ๆทฑๅบฆๆ‹†่งฃ Agent ็š„ๅ››ๅคงๆŠ€ๆœฏๅŸบ็Ÿณ๏ผˆ่ง„ๅˆ’ใ€่ฎฐๅฟ†ใ€ๅทฅๅ…ทใ€่กŒๅŠจ๏ผ‰๏ผŒๅนถ่ฏฆ็ป†ๅ‰–ๆžไปŽ้€š็”จๅž‹ Agent ๅˆฐๅคšๆ™บ่ƒฝไฝ“ๅไฝœ๏ผˆMAS๏ผ‰ใ€ๅ†ๅˆฐ่ฟˆๅ‘ Agent OS ๆ—ถไปฃ็š„ OpenClaw ็ญ‰ไบ”ๅคงๆผ”่ฟ›ๅฝขๆ€ใ€‚ไธไป…ๆŽข่ฎจไบ†ๆŠ€ๆœฏๆžถๆž„็š„ๅฎž็Žฐ๏ผŒๆ›ดๆญ็คบไบ†่ฝฏไปถๅทฅ็จ‹ไปŽโ€œไปฅไบบไธบไธญๅฟƒโ€ๅ‘โ€œไปฅ AI ไธบไธญๅฟƒโ€็š„่Œƒๅผ้ฉๅ‘ฝโ€”โ€”ๅœจ Agent ้ฉฑๅŠจ็š„ๆ–ฐ็บชๅ…ƒ๏ผŒๆ ธๅฟƒ็ซžไบ‰ๅŠ›ๅฐ†ไธๅ†ๆ˜ฏไปฃ็ ้‡๏ผŒ่€Œๆ˜ฏ่ฐƒๅบฆ AI ้—ญ็Žฏ่งฃๅ†ณไธšๅŠก้—ฎ้ข˜็š„่ƒฝๅŠ›ใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/llm_learning_bg_1.png\",\"permalink\":\"/ai-agent/overview\",\"top\":true,\"categories\":[\"ai-practice\"],\"tags\":[\"AI Agent\",\"Agent\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไปŽๆ็คบ่ฏๅˆฐๆ•ฐๅญ—ๅ‘˜ๅทฅ๏ผšAI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐ\",\"date\":\"2026-02-12 22:31:00\",\"capture\":\"1. ไป€ไนˆๆ˜ฏ Agent๏ผŸโ€”โ€”ไปŽโ€œๅทฅๅ…ทโ€ๅˆฐโ€œๅฎžไฝ“โ€็š„่ฟ›ๅŒ–\\n> ๆ ธๅฟƒ้€ป่พ‘๏ผš็Žฐไปฃ Agent ็š„ๆœฌ่ดจๆ˜ฏ \\\"LLM (ๅคง่„‘) + ่ง„ๅˆ’ไธŽ่ฎฐๅฟ† (ๅฐ่„‘) + ๅทฅๅ…ท่ฐƒ็”จ (ๆ‰‹่„š)\\\"ใ€‚LLM ็š„ๆตท้‡็Ÿฅ่ฏ†ๅ‚จๅค‡่ฎฉ Agent ่ƒฝๅคŸ็ฒพๅ‡†็†่งฃๅคๆ‚ๆŒ‡ไปค๏ผŒๅนถๅฐ†ๅ…ถ่ฝฌๅŒ–ไธบๅฎž้™…่กŒๅŠจใ€‚\\nๅœจ AI ้ข†ๅŸŸ๏ผŒAgent๏ผˆๆ™บ่ƒฝไฝ“๏ผ‰ ๅนถ้žไธ€ไธชๆ–ฐๆฆ‚ๅฟต๏ผŒไฝ† LLM๏ผˆๅคง่ฏญ่จ€ๆจกๅž‹๏ผ‰็š„็ˆ†ๅ‘่ต‹ไบˆไบ†ๅฎƒ็œŸๆญฃ็š„โ€œ็ต้ญ‚โ€ใ€‚็ฎ€ๅ•ๆฅ่ฏด๏ผŒAgent ๆ˜ฏไธ€็ง่ƒฝๅคŸๆ„Ÿ็Ÿฅ็Žฏๅขƒใ€่‡ชไธปๅ†ณ็ญ–ๅนถๆ‰ง่กŒไปปๅŠก็š„ๆ™บ่ƒฝๅฎžไฝ“ใ€‚\\nๅฆ‚ๆžœ่ฏดไผ ็ปŸ็š„ AI ๆ˜ฏไธ€ไธชโ€œ้—ฎ็ญ”ๆœบโ€๏ผŒ้‚ฃไนˆ Agent ๅฐฑๆ˜ฏไธ€ไธชโ€œๆ‰ง่กŒ่€…โ€ใ€‚ๅฎƒๅ…ทๅค‡ไปฅไธ‹ๅ››ๅคงๆ ธๅฟƒ็‰น่ดจ๏ผš\\n* ่‡ชไธปๆ€ง (Autonomy)๏ผš ๆ— ้กปๆ—ถๅˆป็›ฏ็€๏ผŒ่ฎพๅฎš\"},{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-02-10 23:33:19\",\"title\":\"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ๅฝ“ AI ๆ‰ฟๆŽฅไบ† 30% ็š„็ผ–็ ๆ‰ง่กŒๆ—ถ๏ผŒๅผ€ๅ‘่€…้œ€้€š่ฟ‡โ€œ่ง„ๆ ผ้ฉฑๅŠจ๏ผˆSDD๏ผ‰โ€้‡ๅคบ 70% ็š„่ฎพ่ฎกไธปๆƒ๏ผšไปŽ่‡ชๆฒป็ป„ไปถๅˆ’ๅˆ†ๅˆฐๅ•ๅ‘ๆ•ฐๆฎๆตๆ‹“ๆ‰‘็š„ๆทฑๅบฆๆŽจๆผ”ใ€‚\",\"description\":\"ๆœฌๆ–‡ๆŽข่ฎจๅœจ AI ๅขžๅผบๅผ€ๅ‘่ƒŒๆ™ฏไธ‹๏ผŒๅฆ‚ไฝ•้‡ๅก‘ React ็ป„ไปถ่ฎพ่ฎกๅŽŸๅˆ™ใ€‚ๆถต็›– SRP ่Œ่ดฃๅˆ’ๅˆ†ใ€้™ๆ€็‰ˆๆœฌๅŸบ็บฟใ€ๆœ€ๅฐ็Šถๆ€๏ผˆDerived Data๏ผ‰ๆŽจๅฏผไปฅๅŠ SDD ไบบๆœบๅไฝœๆจกๅผ็š„ๅทฅ็จ‹่ฝๅœฐใ€‚\",\"tags\":[\"tutorial\",\"react\",\"component-design\",\"state-management\",\"ai-augmented\",\"specification-driven\"],\"permalink\":\"/fullstack/react-design-philosophy-ai-augmented\",\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-02-10 23:33:19\",\"capture\":\"<script setup\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n 1. ๅผ•่จ€\\nๅœจ่ฝฏไปถๅทฅ็จ‹ไธญ๏ผŒ็บฆ 70% ็š„ๆ—ถ้—ดๅบ”ๆŠ•ๅ…ฅไบŽๆžถๆž„่ฎพ่ฎกใ€้œ€ๆฑ‚ๆ‹†่งฃไธŽๆŽฅๅฃ่ฏญไน‰ๆŽจๆ•ฒ๏ผŒไป… 30% ็”จไบŽๅฎž้™…็ผ–็ ใ€‚่ฟ›ๅ…ฅ AI ๅไฝœๆ—ถไปฃๅŽ๏ผŒ่ฟ™ไธ€ๆฏ”ไพ‹ไพ็„ถๅšๅฆ‚็ฃ็Ÿณโ€”โ€”ๅผ€ๅ‘่€…ๅฟ…้กปๅ…ˆๅฎŒๆˆๆทฑๅบฆๆ€่€ƒ๏ผŒๅฐ†โ€œๆธ…ๆ™ฐ็š„้—ฎ้ข˜่ง„ๆ ผ๏ผˆSpecification๏ผ‰โ€ไบค็ป™ AI๏ผŒAI ๆ‰่ƒฝ่พ“ๅ‡บ้ซ˜่ดจ้‡ไปฃ็ ใ€‚<HighLightText type=\\\"note\\\" bold>AI ๆๅ‡็š„ๆ˜ฏ 30% ็ผ–็ ้˜ถๆฎต็š„ๆ‰ง่กŒๅŠ›๏ผŒ่€Œ้žๅ–\"},{\"url\":\"/01.ๅ…จๆ ˆ/90.ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่/90.ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"relativePath\":\"/01.ๅ…จๆ ˆ/90.ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่/90.ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"frontmatter\":{\"date\":\"2026-02-06 15:58:53\",\"title\":\"ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡็ณป็ปŸๆขณ็†ไบ†็Žฐไปฃๅ…จๆ ˆๅผ€ๅ‘็š„ๅฎŒๆ•ดๆŠ€ๆœฏๅ›พ่ฐฑไธŽๆผ”่ฟ›่Œƒๅผ๏ผŒไธบๅผ€ๅ‘่€…ๆไพ›ไบ†ไธ€็ซ™ๅผ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—ใ€‚ๆ–‡็ซ ไปŽๅŸบ็Ÿณๅ‡บๅ‘๏ผŒ่ฆ†็›– Web ๆ ธๅฟƒ่ฏญ่จ€๏ผˆJS/TS๏ผ‰ ไธŽ ไธปๆต UI ๆก†ๆžถ๏ผˆReact/Vue/Svelte๏ผ‰๏ผŒๅนถๆŽจ่ไปฅ Tailwind CSS ๅ’Œ shadcn/ui ไธบไปฃ่กจ็š„็Žฐไปฃๆ ทๅผไธŽ็ป„ไปถๅŽŸ่ฏญใ€‚ๅœจๆ ธๅฟƒไธšๅŠก้€ป่พ‘ๅฑ‚๏ผŒๆทฑๅบฆๅฏนๆฏ”ไบ†่ฝป้‡ๅŒ–็Šถๆ€็ฎก็†ๆ–นๆกˆ๏ผˆ้ฆ–ๆŽจ Zustand/Jotai๏ผ‰๏ผŒๅนถ้‡็‚น่งฃๆžไบ†ๆ•ฐๆฎไบคไบ’็š„ไธ‰ๅคง็Žฐไปฃๆžถๆž„่Œƒๅผ๏ผšไปŽๅŸบ็ก€ Axios ๅˆฐ React Query ็Šถๆ€่ฐƒๅบฆ๏ผŒๅ†ๅˆฐ tRPC ๅ’Œ GraphQL ๅธฆๆฅ็š„ๅ…จๆ ˆ็ฑปๅž‹ๅฎ‰ๅ…จไธŽๅคš็ซฏ่šๅˆใ€‚ๅœจๅทฅ็จ‹ๅŒ–ไธŽๆœๅŠก็ซฏๆจกๅ—๏ผŒๆ–‡็ซ ๅ…จ้ขๆ‹ฅๆŠฑ Viteใ€Rsbuild ็ญ‰ๆž้€Ÿๆž„ๅปบๅทฅๅ…ท๏ผŒๅนถๅ‰–ๆžไบ† Next.js/Nuxt ๅŒๆž„ๅ…ƒๆก†ๆžถไธŽ NestJS ไผไธš็บง Node ๆœๅŠก็š„ๆœ€ไฝณ้€‚็”จๅœบๆ™ฏใ€‚ๆœ€ๅŽ๏ผŒ่พ…ไปฅ Vercel ็ญ‰็Žฐไปฃ่พน็ผ˜้ƒจ็ฝฒๅนณๅฐๅŠไธฐๅฏŒ็š„ๅผ€ๆบ็คพๅŒบๅญฆไน ่ต„ๆบใ€‚\",\"permalink\":\"/growth/full-stack-resources\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"date\":\"2026-02-06 15:58:53\",\"capture\":\"> - ๆ–‡็ซ ไปŽๅŸบ็Ÿณๅ‡บๅ‘๏ผŒ่ฆ†็›– Web ๆ ธๅฟƒ่ฏญ่จ€๏ผˆJS/TS๏ผ‰ ไธŽ ไธปๆต UI ๆก†ๆžถ๏ผˆReact/Vue/Svelte๏ผ‰๏ผŒๅนถๆŽจ่ไปฅ Tailwind CSS ๅ’Œ shadcn/ui ไธบไปฃ่กจ็š„็Žฐไปฃๆ ทๅผไธŽ็ป„ไปถๅŽŸ่ฏญใ€‚\\n> - ๅœจๆ ธๅฟƒไธšๅŠก้€ป่พ‘ๅฑ‚๏ผŒๆทฑๅบฆๅฏนๆฏ”ไบ†่ฝป้‡ๅŒ–็Šถๆ€็ฎก็†ๆ–นๆกˆ๏ผˆ้ฆ–ๆŽจ Zustand/Jotai๏ผ‰๏ผŒๅนถ้‡็‚น่งฃๆžไบ†ๆ•ฐๆฎไบคไบ’็š„ไธ‰ๅคง็Žฐไปฃๆžถๆž„่Œƒๅผ๏ผšไปŽๅŸบ็ก€ Axios ๅˆฐ React Query ็Šถๆ€่ฐƒๅบฆ๏ผŒๅ†ๅˆฐ tRPC ๅ’Œ GraphQL ๅธฆๆฅ็š„ๅ…จๆ ˆ็ฑปๅž‹ๅฎ‰ๅ…จไธŽๅคš็ซฏ่šๅˆใ€‚\\n> - ๅœจๅทฅ็จ‹ๅŒ–ไธŽๆœๅŠก็ซฏๆจกๅ—๏ผŒๆ–‡็ซ ๅ…จ้ขๆ‹ฅๆŠฑ Viteใ€Rsbuild ็ญ‰ๆž้€Ÿๆž„ๅปบๅทฅๅ…ท๏ผŒๅนถๅ‰–ๆžไบ† Next.js/N\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/03.ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผšๅฐ†้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/03.ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผšๅฐ†้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"frontmatter\":{\"date\":\"2026-02-06 15:48:23\",\"title\":\"ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผš้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผš้ขๅฏนๅฑ‚ๅ‡บไธ็ฉท็š„ Promptใ€MCPใ€Skills ๅ’Œ Subagents๏ผŒๅพˆๅคšๅผ€ๅ‘่€…ๅ’Œไบงๅ“็ป็†ๅธธๆ„Ÿๅˆฐๅ›ฐๆƒ‘๏ผš่ฟ™ไบ›็ป„ไปถ็ฉถ็ซŸๆ˜ฏ้‡ๅค้€ ่ฝฎๅญ๏ผŒ่ฟ˜ๆ˜ฏๅ„ๅธๅ…ถ่Œ็š„็งฏๆœจ๏ผŸๆœฌๆ–‡ๅฐ†ๆทฑๅบฆๆ‹†่งฃ Agentic ็”Ÿๆ€็š„ไบ”ๅคงๆ ธๅฟƒๆ”ฏๆŸฑ๏ผŒๆญ็คบๅฆ‚ไฝ•้€š่ฟ‡ไผ˜้›…็š„ๆžถๆž„่ฎพ่ฎกๅฎž็ŽฐๅๅŒ้—ญ็Žฏ๏ผŒๅฐ†้›ถๆ•ฃ็š„ AI ็ป„ไปถๆ‹ผ่ฃ…ๆˆไธ€ๅฅ—ๅฏๆŒ็ปญ่ฟ›ๅŒ–็š„ AI ๅŽŸ็”Ÿๆ“ไฝœ็ณป็ปŸ๏ผŒๆŠŠ็ขŽ็‰‡ๅŒ–็š„ AI ่ƒฝๅŠ›่ฝฌๅŒ–ไธบ้ซ˜ๅฏ็”จ็š„็”ŸไบงๅŠ›ๆตใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/ai-practice/agent_components_zh.png\",\"permalink\":\"/ai-agent/composition-ai-components\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"],\"tags\":[\"Agent\",\"AI\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผš้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"date\":\"2026-02-06 15:48:23\",\"capture\":\"<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/ai-practice/agent_components_zh.png\\\" style=\\\"width: 100%; border-radius: 8px; margin-bottom: 20px;\\\" alt=\\\"about site background\\\">\\n 1. ๅผ•่จ€\\n> ้—ฎ้ข˜๏ผšๅœจๆ™บ่ƒฝไฝ“็”Ÿๆ€้‡Œ๏ผŒๅ„ไธช็ป„ไปถๅˆฐๅบ•ๆ˜ฏๆ€ŽไนˆๅๅŒๅทฅไฝœ็š„๏ผŸ\\nๅฝ“ๅ‰๏ผŒAgent๏ผˆๆ™บ่ƒฝไฝ“๏ผ‰ๆŠ€ๆœฏๅ‘ๅฑ•่ฟ…็Œ›๏ผŒๅ„็ง่ฎพ่ฎกๆจกๅผใ€ๆ ธๅฟƒ็ป„ไปถไธŽๅทฅไฝœๆœบๅˆถๅฑ‚ๅ‡บไธ็ฉทใ€‚้ขๅฏน็นๆ‚็š„ๆ™บ่ƒฝไฝ“็”Ÿๆ€\"}],\"01\":[{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/11. LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/11. LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-01-06 15:58:53\",\"title\":\"LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆˆช่‡ณ 2026 ๅนด๏ผŒLLM API ๆœๅŠกๅทฒๅฝขๆˆ\\\"ๅฎ˜ๆ–น็›ด่ฟž + ็ฌฌไธ‰ๆ–น่šๅˆ\\\"็š„ๅŒ่ฝจๆ ผๅฑ€๏ผŒๆจกๅž‹่ƒฝๅŠ›ใ€ๅฎšไปทใ€ๅˆ่ง„ๆ€งไธŽๆŽฅๅ…ฅไพฟๅˆฉๆ€งๅทฎๅผ‚ๆ˜พ่‘—ใ€‚ๆœฌๆ–‡ไปŽ้€‰ๅž‹ๅ‰ๆ้—ฎๅ‡บๅ‘๏ผŒ็ณป็ปŸๆขณ็†ๅ›ฝ้™…ไธŽๅ›ฝๅ†…ไธปๆตๅฎ˜ๆ–น API ๅนณๅฐ๏ผŒไปฅๅŠ OpenRouterใ€็ก…ๅŸบๆตๅŠจ็ญ‰็ฌฌไธ‰ๆ–น่šๅˆๅนณๅฐ็š„ๆ ธๅฟƒ็‰น็‚น๏ผŒๅนถๆไพ›ๅŸบไบŽๅœบๆ™ฏ็š„ๅ†ณ็ญ–ๆก†ๆžถ๏ผŒๅธฎๅŠฉๅผ€ๅ‘่€…ๅ’Œไบงๅ“ๅ›ข้˜Ÿๅฟซ้€Ÿ้”ๅฎšๆœ€้€‚ๅˆ่‡ชๅทฑ็š„ๆ–นๆกˆใ€‚\",\"permalink\":\"/ai-learning/llm-api-resources\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"LLM API\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"date\":\"2026-01-06 15:58:53\",\"capture\":\"1. ้€‰ๆจกๅž‹ๅ‰๏ผŒๅ…ˆๆƒณๆธ…ๆฅš่ฟ™ๅ‡ ไปถไบ‹\\nๅœจๅฏนๆฏ”ๅ…ทไฝ“ๅนณๅฐไน‹ๅ‰๏ผŒๅฏไปŽไปฅไธ‹ๅ››ไธช็ปดๅบฆๆขณ็†่‡ช่บซ่ฏ‰ๆฑ‚๏ผŒ้ฟๅ…\\\"็œผ่Šฑ็ผญไนฑๅŽ้šไพฟ้€‰ไธ€ไธช\\\"๏ผš\\n| ็ปดๅบฆ | ๅ…ณ้”ฎ้—ฎ้ข˜ | ๅฝฑๅ“ๅ†ณ็ญ– |\\n|:-----|:--------|:--------|\\n| ไปปๅŠก็ฑปๅž‹ | ๆ˜ฏ้€š็”จๅฏน่ฏใ€ไปฃ็ ็”Ÿๆˆใ€้•ฟๆ–‡ๆกฃๅˆ†ๆž๏ผŒ่ฟ˜ๆ˜ฏๅคšๆจกๆ€็†่งฃ๏ผŸ | ไธๅŒๆจกๅž‹ๅœจๅž‚็›ด่ƒฝๅŠ›ไธŠๅทฎ่ทๆ‚ฌๆฎŠ |\\n| ๆˆๆœฌ้ข„็ฎ— | ๆฏๆœˆ่ฐƒ็”จ้‡็บง๏ผŸ่ƒฝๅฆๆŽฅๅ—ๆตทๅค–็ป“็ฎ—ไธŽๆฑ‡็އ้ฃŽ้™ฉ๏ผŸ | ๅ›ฝไบงๆจกๅž‹ Token ไปทๆ ผ้€šๅธธไฝŽ 3๏ฝž10 ๅ€ |\\n| ๅˆ่ง„ไธŽ้ƒจ็ฝฒ | ๆ•ฐๆฎ่ƒฝๅฆๅ‡บๅขƒ๏ผŸ่ƒฝๅฆไฝฟ็”จๆตทๅค–ๆœๅŠก๏ผŸๆ˜ฏๅฆ้œ€่ฆ็งๆœ‰ๅŒ–้ƒจ็ฝฒ๏ผŸ | ๆถ‰ๅŠๆ”ฟๅŠก/้‡‘่ž/ๅŒป็–—ๅœบๆ™ฏๅฟ…้กป่€ƒ่™‘ |\\n| ็ฝ‘็ปœ็Žฏๅขƒ | ๅผ€ๅ‘/้ƒจ็ฝฒ็Žฏๅขƒ่ƒฝๅฆ็จณๅฎš่ฎฟ\"}]},\"2025 \":{\"10\":[{\"url\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"relativePath\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"frontmatter\":{\"date\":\"2025-10-24 11:05:50\",\"title\":\"ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจ AI ้‡ๅก‘่ฝฏไปถๅทฅ็จ‹็š„ไปŠๅคฉ๏ผŒๅ…จๆ ˆไธๅ†ๆ˜ฏๆŠ€ๆœฏ็š„็บฟๆ€งๅ ๅŠ ๏ผŒๆญฃๅœจไปŽโ€œๆŠ€ๆœฏๆ ˆๅ †็ Œโ€่ฝฌๅ‘โ€œ่ฎค็Ÿฅๆ ˆ้‡ๆž„โ€ใ€‚ๆœฌๆ–‡ๆๅ‡บ โ€œ(ๅทฅ็จ‹ + ไบงๅ“) ร— AIโ€ ็š„ๆ–ฐๅ…ฌๅผ๏ผŒๅŠฉๅŠ›ๅผ€ๅ‘่€…ๆž„ๅปบโ€œๆดžๅฏŸ-ๆžถๆž„-ๆ ๆ†โ€่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”๏ผŒๅˆฉ็”จ AI ๆ ๆ†่ฎฉ่‡ชๅทฑ่ฟ›ๅŒ–ไธบไปทๅ€ผๅˆ›้€ ่€…ใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"permalink\":\"/fullstack/ai-native\",\"sticky\":1,\"top\":true,\"tags\":[\"ๅ…จๆ ˆ\",\"AI\",\"ไบงๅ“\"],\"categories\":[\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"date\":\"2025-10-24 11:05:50\",\"capture\":\"<script setup>\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n 1. ๅผ•่จ€\\nๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒๅฝ“ๆˆ‘ไปฌ่ฐˆ่ฎบโ€œๅ…จๆ ˆๅทฅ็จ‹ๅธˆโ€ๆ—ถ๏ผŒ่„‘ๆตทไธญๆตฎ็Žฐ็š„ๅพ€ๅพ€ๆ˜ฏไธ€ๅผ ๅ†—้•ฟไธ”ไปคไบบ็–ฒๆƒซ็š„ๆŠ€ๆœฏๅทฅๅบๆธ…ๅ•ใ€‚\\nๅฐฑๅƒๆˆ‘ๆ›พ็ปไปฅไธบ็š„้‚ฃๆ ท๏ผŒๅ…จๆ ˆๅฐฑๆ˜ฏ็บฟๆ€ง็š„ๆŠ€่ƒฝๅ ๅŠ ไธŽ็‰ฉ็†ๅผ็š„ๆŠ€ๆœฏๆ‹ผๆŽฅ๏ผŒๆ˜ฏไธ€็งไพ้ ไบบๅŠ›ๅŽปๅกซ่กฅๆŠ€ๆœฏ้ธฟๆฒŸ็š„โ€œ่ฅฟ่ฅฟๅผ—ๆ–ฏๅผโ€ๅŠชๅŠ›๏ผš\\n* ็บฟๆ€ง็š„ๆŠ€่ƒฝๅ ๅŠ ๏ผšๆˆ‘ไปฌ่ขซ่ฟซๆˆไธบโ€œๅ…จ่ƒฝๆ‰‹โ€๏ผŒๅทฆๆ‰‹็”จ React/Vue ๆž„ๅปบ็ฒพ็พŽ็š„ UI๏ผŒๅณๆ‰‹็”จ Node/Go ็ผ–ๅ†™้ซ˜ๅนถๅ‘ API๏ผŒไธญ้—ด่ฟ˜่ฆๅค„็†ๆ•ฐๆฎๅบ“็š„ ACI\"},{\"url\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/21.ๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense\",\"relativePath\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/21.ๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense\",\"frontmatter\":{\"date\":\"2025-10-23 16:05:50\",\"title\":\"ๅฝ“โ€œๅฎž็Žฐโ€ไธๅ†ๆ˜ฏๅฃๅž’๏ผšๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense๏ผŸ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ AI ่ฎฉไปฃ็ ็”Ÿๆˆ็š„่พน้™…ๆˆๆœฌ่ถ‹่ฟ‘ไบŽ้›ถ๏ผŒโ€œๆŠ€ๆœฏๅฎž็Žฐโ€ไธๅ†ๆ˜ฏไธๅฏ้€พ่ถŠ็š„ๅฃๅž’๏ผŒโ€œไบงๅ“ๆดžๅฏŸโ€่ƒฝๆž„็ญ‘่ตทๆ–ฐ็š„ๆ ธๅฟƒๆŠคๅŸŽๆฒณใ€‚ๆœฌๆ–‡ๆ‹’็ป็Ž„ๅญฆ๏ผŒๅฐ†ๆŠฝ่ฑก็š„ ไบงๅ“ Sense ่งฃๆž„ไธบไธ‰ไธชๆ ธๅฟƒๆ•ฐๅญฆๅ…ฌๅผ๏ผŒๅนถๆไพ›ไธ€ๅฅ—ๅŸบไบŽโ€œ้€†ๅ‘ๅทฅ็จ‹โ€็š„ๅˆปๆ„็ปƒไน ๆŒ‡ๅ—๏ผŒๅŠฉๅŠ›ๅผ€ๅ‘่€…ๅœจ็ฎ—ๅŠ›่ฟ‡ๅ‰ฉ็š„ๆ—ถไปฃ๏ผŒๅฎŒๆˆไปŽโ€œไปฃ็ ๅทฅๅŒ โ€ๅˆฐโ€œไปทๅ€ผๅˆ›้€ ่€…โ€็š„่ฎค็Ÿฅ่ทƒ่ฟใ€‚\",\"sticky\":1,\"top\":true,\"categories\":[\"ไบงๅ“ Sense\",\"AI\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense/engineer-build-product-sense\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฝ“โ€œๅฎž็Žฐโ€ไธๅ†ๆ˜ฏๅฃๅž’๏ผšๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense๏ผŸ\",\"date\":\"2025-10-23 16:05:50\",\"capture\":\"1. ๅผ•่จ€\\nๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒไบงๅ“ Sense๏ผˆไบงๅ“ๆ„Ÿ๏ผ‰ ่ขซ่ง†ไธบไธ€็ง็Ž„ๅญฆใ€‚ๅฎƒไผผไนŽๆ˜ฏไน”ๅธƒๆ–ฏๅผ็š„็ตๅ…‰ไธ€็Žฐ๏ผŒๆˆ–ๆ˜ฏๅผ ๅฐ้พ™ๅผ็š„โ€œ็‹ฌๆ–ญไธ“่กŒโ€ใ€‚\\nไฝ†ๅฏนไบŽๅคงๅคšๆ•ฐๅทฅ็จ‹ๅธˆใ€ไบงๅ“็ป็†ไนƒ่‡ณ็‹ฌ็ซ‹ๅผ€ๅ‘่€…่€Œ่จ€๏ผŒๅฐ†่ƒฝๅŠ›ๅฏ„ๆ‰˜ไบŽโ€œๅคฉ่ต‹โ€ๆ˜ฏๅฑ้™ฉ็š„ใ€‚ๆˆ‘่ฎคไธบ๏ผŒไบงๅ“ Sense ๅนถ้žไธๅฏๆ‰ๆ‘ธ็š„้ป‘้ญ”ๆณ•๏ผŒ่€Œๆ˜ฏไธ€ๅฅ—็ป่ฟ‡้ซ˜้ข‘่ฎญ็ปƒๅŽๅ†…ๅŒ–ไธบๆœฌ่ƒฝ็š„ๆ€็ปด็ฎ—ๆณ•ใ€‚ ๅฐฑๅƒ่ต„ๆทฑ็จ‹ๅบๅ‘˜็œ‹ๅˆฐไธ€ๆฎตไปฃ็ ๅฐฑ่ƒฝๅ—…ๅ‡บ \\\"Code Smell\\\"๏ผˆไปฃ็ ๅผ‚ๅ‘ณ๏ผ‰๏ผŒ่ต„ๆทฑไบงๅ“ไบบไนŸ่ƒฝๅœจ็žฌ้—ดๅˆคๆ–ญไธ€ไธช้œ€ๆฑ‚ๆ˜ฏโ€œ็œŸ็—›็‚นโ€่ฟ˜ๆ˜ฏโ€œไผช้œ€ๆฑ‚โ€ใ€‚\\nไธ€ไธชๆˆๅŠŸ็š„ไบงๅ“ๅ†ณ็ญ–๏ผŒๅพ€ๅพ€ๅ‘็”Ÿๅœจไธ‰ไธช็ปดๅบฆ็š„ไบคๆฑ‡็‚น๏ผš\\n* ็”จๆˆทไปทๅ€ผๆดžๅฏŸ๏ผˆUser Value Insight๏ผ‰๏ผšไธไป…ๅฌๆ‡‚็”จๆˆท่ฏดโ€œๆƒณ่ฆๆ›ดๅฟซ็š„้ฉฌโ€๏ผŒๆ›ด่ƒฝๆดžๅฏŸไป–ๅ…ถๅฎžโ€œๆƒณๆ›ด\"}],\"11\":[{\"url\":\"/01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ\",\"frontmatter\":{\"date\":\"2025-11-25 00:52:28\",\"title\":\"AI ็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡ๆทฑๅบฆ่งฃๆžไบ† AI ้ฉฑๅŠจ็ผ–็จ‹็š„ไธ‰ๅคงๆผ”่ฟ›่Œƒๅผ๏ผšVibe Coding๏ผˆ่‡ช็„ถ่ฏญ่จ€้›ถ้—จๆง›ๆž„ๅปบ๏ผ‰ใ€AI IDE๏ผˆ็ผ–่พ‘ๅ™จๆทฑๅบฆ่พ…ๅŠฉๆๆ•ˆ๏ผ‰ๅŠ Agentic Engineering๏ผˆ่‡ชไธปๅทฅ็จ‹ๅธˆๆ‰ง่กŒไปปๅŠก๏ผ‰ใ€‚้€š่ฟ‡ๆจชๅ‘ๅฏนๆฏ” Bolt.newใ€Cursorใ€Claude Code ็ญ‰ๅ‰ๆฒฟๅทฅๅ…ท๏ผŒๆ–‡็ซ ๅ‹พๅ‹’ๅ‡บไธ€ๆกไปŽโ€œๅฟซ้€ŸๅŽŸๅž‹โ€ๅˆฐโ€œ้ซ˜ๆ•ˆๅๅŒโ€ๅ†ๅˆฐโ€œ่‡ชไธปไบคไป˜โ€็š„่ฟ›้˜ถ่ทฏๅพ„ใ€‚ๆ ธๅฟƒๆ—จๅœจๆŒ‡ๅฏผ็”จๆˆทๅˆฉ็”จ AI ๅทฅๅ…ท็Ÿฉ้˜ตๆ‰“็ ดๆŠ€ๆœฏ่พน็•Œ๏ผŒๅฎž็ŽฐไปŽๅˆ›ๆ„ๆ่ฟฐๅˆฐๅทฅไธš็บงไบคไป˜็š„็”ŸไบงๅŠ›้ฃž่ทƒ๏ผŒ้‡ๅก‘่ฝฏไปถๅผ€ๅ‘ๅ…จ็”Ÿๅ‘ฝๅ‘จๆœŸใ€‚\",\"permalink\":\"/ai-learning/ai-coding-resources\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/source_sites_bg.png\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"AI Coding\",\"Vibe Coding\",\"Agentic Engineering\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"AI ็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่\",\"date\":\"2025-11-25 00:52:28\",\"capture\":\"1. ไธ‰็ง็ผ–็จ‹่Œƒๅผ้€Ÿ่งˆ\\n| ่Œƒๅผ | ไธ€ๅฅ่ฏๆ่ฟฐ | ไฝ ็š„่ง’่‰ฒ |\\n|:-----|:---------|:--------|\\n| Vibe Coding | ็”จ่‡ช็„ถ่ฏญ่จ€ๆ่ฟฐ้œ€ๆฑ‚๏ผŒAI ็›ดๆŽฅ็”Ÿๆˆๅฏ่ฟ่กŒ็š„ๅฎŒๆ•ด้กน็›ฎ | ๆ่ฟฐ้œ€ๆฑ‚๏ผŒ่ฎฉ AI ๅ†™ไปฃ็ (```ๆ–ฐๆ‰‹ๅ‹ๅฅฝ```) |\\n| AI IDE | ๅœจ็ผ–่พ‘ๅ™จ้‡Œๅผ•ๅ…ฅ AI ่พ…ๅŠฉ๏ผŒ่พนๅ†™่พน่กฅๅ…จใ€่พน้—ฎ่พนๆ”น | ไธปๅฏผๅผ€ๅ‘๏ผŒ่ฎฉ AI ๅšๅ‰ฏ้ฉพ้ฉถ(```ๆ›ดๅคšๆŽงๅˆถ```) |\\n| Agentic Engineering | AI ไฝœไธบ\\\"่‡ชไธปๅทฅ็จ‹ๅธˆ\\\"๏ผŒๆŽฅๆ”ถไปปๅŠกๅŽ่‡ชๅŠจ่ง„ๅˆ’ๅนถๆ‰ง่กŒๅ…จๅฅ—ไปฃ็ ๅทฅไฝœๆต | ๆไปปๅŠกใ€ๅฎก็ป“ๆžœ๏ผŒ่ฎฉ AI ๆ‰ง่กŒ(```ๆž่‡ดๆๆ•ˆ```) |\\nๆ–ฐๆ‰‹่ทฏ็บฟๅปบ่ฎฎ๏ผšๅ…ˆ\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"frontmatter\":{\"date\":\"2025-11-25 00:52:28\",\"title\":\"ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไธบไพฟไบŽ้ซ˜ๆ•ˆๅˆฉ็”จ AI ๅทฅๅ…ทๆๅ‡ๅญฆไน ใ€ๆœ็ดขๅ’Œๅˆ›ไฝœๆ•ˆ็އ๏ผŒๆœฌๆ–‡็ณป็ปŸๆ•ด็†ไบ†ไธปๆต็š„ AI ๅŠฉๆ‰‹ไธŽๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐ็›ธๅ…ณ่ต„ๆบใ€‚ๅ†…ๅฎนๅˆ†ไธบโ€œAI ๅŠฉๆ‰‹โ€๏ผˆๅฆ‚ ChatGPTใ€Claudeใ€Gemini ็ญ‰ๅฏน่ฏๅผๅŠฉๆ‰‹๏ผ‰ๅ’Œโ€œๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐโ€๏ผˆๅฆ‚ๅ†™ไฝœใ€็ป˜็”ป็ญ‰้ข†ๅŸŸ็š„ AI ๅทฅๅ…ทไธŽๅนณๅฐ๏ผ‰๏ผŒไธ”ๆ ‡ๆณจไบ†ๅ…ถๆ ธๅฟƒ่ƒฝๅŠ›ใ€้€‚ๅˆๅœบๆ™ฏ๏ผŒไปฅๅŠ็‰น่‰ฒไผ˜ๅŠฟใ€‚\",\"permalink\":\"/ai-learning/tools-assistant\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/source_sites_bg.png\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"AI ๅŠฉๆ‰‹\",\"AI ๆœ็ดข\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"date\":\"2025-11-25 00:52:28\",\"capture\":\"1. AI ๅŠฉๆ‰‹\\n> ้€‰ๆ‹ฉๅปบ่ฎฎ๏ผš ่‹ฑๆ–‡ไธบไธป โ†’ ไผ˜ๅ…ˆ ChatGPT / Claude / Gemini๏ผ›ไธญๆ–‡ไธบไธป โ†’ ไผ˜ๅ…ˆ Kimi / DeepSeek / ้€šไน‰ๅƒ้—ฎ๏ผ›้œ€่ฆ่”็ฝ‘ๅฎžๆ—ถไฟกๆฏ โ†’ Gemini / Grok๏ผ›้œ€่ฆๅˆ†ๆž้•ฟๆ–‡ๆกฃ โ†’ Claude / Kimi๏ผ›่ฟฝๆฑ‚ไฝŽๆˆๆœฌๅผ€ๆบ้ƒจ็ฝฒ โ†’ DeepSeekใ€‚\\n>\\n> ๆณจ๏ผš็›ฎๅ‰ๅ›ฝๅค–ๆจกๅž‹๏ผˆๅฆ‚ ChatGPTใ€Claudeใ€Gemini ็ญ‰๏ผ‰ๅœจ่‹ฑๆ–‡ๅค„็†ใ€ๅคšๆจกๆ€่ƒฝๅŠ›ใ€ๆ’ไปถ็”Ÿๆ€ๅ’Œ API ไธฐๅฏŒๆ€ง็ญ‰ๆ–น้ข๏ผŒๆ•ดไฝ“ไธŠไพ็„ถไผ˜ไบŽๅ›ฝๅ†…ๆจกๅž‹๏ผŒ้€‚ๅˆๅฏน่‹ฑๆ–‡ๅˆ›ไฝœใ€ๅคš่ฏญ่จ€ๆฒŸ้€šใ€ๅคๆ‚ๆŽจ็†ใ€ไปฃ็ ๅŠฉๆ‰‹็ญ‰ๅœบๆ™ฏๆœ‰ๆ›ด้ซ˜่ฆๆฑ‚็š„็”จๆˆทใ€‚ไธ่ฟ‡๏ผŒๅ›ฝๅ†…ๆจกๅž‹ๅœจไธญๆ–‡็†่งฃใ€ๆœฌๅœฐๅŒ–ใ€ๅˆ่ง„\"},{\"url\":\"/10.ไบงๅ“ Sense/04.ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–/30.ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹่ฏปๅŽๆ„Ÿ\",\"relativePath\":\"/10.ไบงๅ“ Sense/04.ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–/30.ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹่ฏปๅŽๆ„Ÿ\",\"frontmatter\":{\"date\":\"2025-11-24 21:50:00\",\"title\":\"ๆ”พๅผƒๅขž้•ฟๆ‰งๅฟต๏ผŒไธบไป€ไนˆโ€œๅฐ่€Œ็พŽโ€ๆ‰ๆ˜ฏๅฏๆŒ็ปญไน‹่ทฏ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒ็ง‘ๆŠ€ไบ’่”็ฝ‘่กŒไธš็š„ๅ™ไบ‹้ƒฝ่ขซโ€œไธๆƒœไธ€ๅˆ‡ไปฃไปทๅฎž็Žฐ่ถ…็บฟๆ€งๅขž้•ฟโ€ๆ‰€ไธปๅฏผใ€‚ไปฟไฝ›ๅชๆœ‰ๆ‹ฟๅˆฐๅทจ้ข่ž่ต„ใ€็–ฏ็‹‚ๆ‹›ไบบใ€ๆˆไธบไผฐๅ€ผ็ ด็™พไบฟ็š„ๅบž็„ถๅคง็‰ฉ๏ผŒๆ‰็ฎ—ๅพ—ไธŠๆ˜ฏๆˆๅŠŸ็š„ๅˆ›ไธšใ€‚็„ถ่€Œ๏ผŒ่ฏปๅฎŒ่จๅธŒๅฐ”ยทๆ‹‰ๆ–‡ๅ‰ไบš็š„ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹ๅŽ๏ผŒ็ฌ”่€…่Žทๅพ—ไบ†ไธ€็งๆˆช็„ถไธๅŒ็š„ๅ•†ไธš่ง†่ง’๏ผšไผไธšๅญ˜ๅœจ็š„้ฆ–่ฆ็›ฎ็š„ไธๆ˜ฏไธบไบ†่ž่ต„ๅ’Œๆ‰ฉๅผ ๏ผŒ่€Œๆ˜ฏไธบไบ†้€š่ฟ‡่งฃๅ†ณ้—ฎ้ข˜ๆฅ่Žทๅพ—ๆŒ็ปญ็š„็›ˆๅˆฉใ€‚ ๆœฌๆ–‡็ป“ๅˆไนฆไธญ็š„ๆ ธๅฟƒ่ฎบ็‚นไธŽ่‡ช่บซ็š„็ ”ๅ‘่ง†่ง’๏ผŒๆŠŠๅฐ†่ฟ™ๆœฌไนฆ่ƒŒๅŽ็š„็ป่ฅ้€ป่พ‘ไธŽไบงๅ“ๅ“ฒๅญฆๆขณ็†ไธบๅ‡ ไธชๆ ธๅฟƒๅฑ‚้ข็š„ๆ€่€ƒใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense/small-rule-learn\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"ไบงๅ“ Sense\",\"ๅ•†ไธšๅŒ–\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆ”พๅผƒๅขž้•ฟๆ‰งๅฟต๏ผŒไธบไป€ไนˆโ€œๅฐ่€Œ็พŽโ€ๆ‰ๆ˜ฏๅฏๆŒ็ปญไน‹่ทฏ\",\"date\":\"2025-11-24 21:50:00\",\"capture\":\"ไนฆๅ๏ผšใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹\\nไฝœ่€…๏ผš[็พŽ] ่จๅธŒๅฐ”ยทๆ‹‰ๆ–‡ๅ‰ไบš\\nๆ ธๅฟƒๆ ‡็ญพ๏ผšๆž็ฎ€ๅˆ›ไธš๏ฝœ็คพๅŒบๆœฌไฝ๏ฝœๆŒ็ปญ็›ˆๅˆฉ๏ฝœๅˆ›ไฝœ่€…็ปๆตŽ\\nไธ€ๅฅ่ฏ็ฎ€่ฏ„๏ผšๅœจ็›ฒ็›ฎๅด‡ๆ‹œ่ง„ๆจกๆ‰ฉๅผ ็š„ๅ•†ไธš่ฏญๅขƒไธ‹๏ผŒ่ฟ™ๆ˜ฏไธ€ไปฝๅ†™็ป™็‹ฌ็ซ‹ๅˆ›ไฝœ่€…ไธŽๅผ€ๅ‘่€…็š„ๆธ…้†’ๆŒ‡ๅ—๏ผŒๆ•™ไผšๆˆ‘ไปฌๅฆ‚ไฝ•็”จๆœ€ๅฐ‘็š„่ต„ๆบ๏ผŒ่งฃๅ†ณ็œŸๅฎž็š„็—›็‚น๏ผŒๅนถ่Žทๅพ—้•ฟไน…็š„่‡ช็”ฑใ€‚\\nๆ›ดๅคšไนฆ็ฑๆŽจ่ไฟกๆฏๅฏๅ‚่€ƒ๏ผšไบงๅ“ Sense ไธŽๅ•†ไธšๅŒ–\\n 1. ็คพๅŒบๅ…ˆ่กŒ๏ผšไปŽโ€œๆˆ‘ๆ˜ฏ่ฐโ€ๅˆฐโ€œๆˆ‘่ƒฝไธบ่ฐ่งฃๅ†ณ้—ฎ้ข˜โ€\\nไผ ็ปŸๅ•†ไธš้€ป่พ‘ๅพ€ๅพ€ๆ˜ฏๅ…ˆๆž„ๆ€ไธ€ไธชๅฎๅคง็š„็‚นๅญ๏ผŒ้—ญ้—จ้€ ่ฝฆๆ‰“็ฃจไบงๅ“๏ผŒๆœ€ๅŽๅ†็ ธ้’ฑๅŽปๅธ‚ๅœบไธŠๅฏปๆ‰พ็›ฎๆ ‡็”จๆˆทใ€‚่€Œๆœฌไนฆๆๅ‡บไบ†ไธ€ไธช้ข ่ฆ†ๆ€ง็š„ๅๅ‘่ทฏๅพ„๏ผš็คพๅŒบ $\\\\rightarrow$ ้—ฎ้ข˜ $\\\\rightarrow$ ๆต็จ‹ $\\\\rightarrow$\"},{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/11.React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/11.React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"frontmatter\":{\"date\":\"2025-11-15 09:20:23\",\"title\":\"ไธๆญขไบŽ Fetch๏ผšReact ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"aliases\":[\"SWR\",\"TanStack Query\",\"React\",\"ๆœๅŠก็ซฏ็Šถๆ€\",\"ไน่ง‚ๆ›ดๆ–ฐ\",\"ๅทฅ็จ‹ๅŒ–\"],\"tldr\":\"ๆทฑๅ…ฅ่งฃๆž SWR ็š„ๆž็ฎ€ๅ่ฎฎไธŽ TanStack Query ็š„็ฒพๅฏ†็Šถๆ€ๆœบใ€‚้€š่ฟ‡ๅฏนๆฏ”็ผ“ๅญ˜ๅคฑๆ•ˆใ€ไน่ง‚ๆ›ดๆ–ฐ็ญ‰ๆ ธๅฟƒๅœบๆ™ฏ๏ผŒไธบ้ซ˜ๅคๆ‚ๅบฆ B ็ซฏๅบ”็”จไธŽ่ฝป้‡็บง้กน็›ฎๆไพ›ๆธ…ๆ™ฐ็š„ๆžถๆž„้€‰ๅž‹ๆจกๅž‹ใ€‚\",\"description\":\"ๆทฑๅบฆๅฏนๆฏ” React ็”Ÿๆ€ไธญ SWR ไธŽ TanStack Query ไธคๅคงๆ–นๆกˆใ€‚ไปŽ stale-while-revalidate ๆœบๅˆถๅˆฐๅผ‚ๆญฅ็Šถๆ€ๆœบๆžถๆž„๏ผŒๆถต็›–ไพ่ต–ๆŸฅ่ฏขใ€ๆ•ฐๆฎ่ฝฌๆขๅŠๆžถๆž„็บงไน่ง‚ๆ›ดๆ–ฐๅฎžๆˆ˜ใ€‚ๆ—จๅœจๅธฎๅŠฉๅผ€ๅ‘่€…ๅœจๅคๆ‚ไธšๅŠกไธญๆž„ๅปบ็กฎๅฎšๆ€ง็š„ๆœๅŠก็ซฏ็Šถๆ€ๅŸบๅบงใ€‚\",\"permalink\":\"/fullstack/server-state-management\",\"tags\":[\"SWR\",\"TanStack Query\",\"ๅ‰็ซฏๅทฅ็จ‹\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไธๆญขไบŽ Fetch๏ผšReact ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"date\":\"2025-11-15 09:20:23\",\"capture\":\"1. ๅผ•่จ€\\nๅœจ็Žฐไปฃๅ‰็ซฏๅทฅ็จ‹ไธญ๏ผŒ็Šถๆ€ๅฏไธฅๆ ผๅŒบๅˆ†ไธบ UI ็Šถๆ€๏ผˆUI State๏ผ‰ ไธŽ ๆœๅŠก็ซฏ็Šถๆ€๏ผˆServer State๏ผ‰ ไธค็ฑปใ€‚ๅฏนไบŽ UI ็Šถๆ€็š„็ฎก็†๏ผŒๅผ€ๅ‘่€…ๅทฒ่พƒไธบ็†Ÿๆ‚‰๏ผŒ้€šๅธธๅฏๅ€ŸๅŠฉ `useState`ใ€`useEffect` ็ญ‰ Hooks๏ผŒๆˆ– `zustand`ใ€`jotai` ็ญ‰็Šถๆ€็ฎก็†ๅบ“ๆฅๅฎž็Žฐใ€‚็„ถ่€Œ๏ผŒๆœๅŠก็ซฏ็Šถๆ€็š„็ฎก็†ๅพ€ๅพ€็ผบไน็ปŸไธ€ไธ”้ซ˜ๆ•ˆ็š„่งฃๅ†ณๆ–นๆกˆ๏ผŒๅผ€ๅ‘่€…้€šๅธธ้œ€่ฆ่‡ช่กŒๅฎž็Žฐใ€‚\\nๅœจไผ ็ปŸ็š„ๆ•ฐๆฎ่Žทๅ–ๆต็จ‹ไธญ๏ผŒๆˆ‘ไปฌไธ€่ˆฌไฝฟ็”จ `fetch` ๆˆ– `axios` ๅ‘ๅŽ็ซฏๆˆ– REST API ๅ‘้€ HTTP ่ฏทๆฑ‚๏ผŒ้šๅŽๆ‰‹ๅŠจๅฐ†ๆ•ฐๆฎ่Žทๅ–้€ป่พ‘ไธŽๅ‰็ซฏไธšๅŠก้€ป่พ‘ๅŠ UI ็Šถๆ€็ฎก็†่ฟ›่กŒๆ•ดๅˆ๏ผŒไปฅๅฎŒๆˆๆ•ฐๆฎๅค„็†ๅนถ้ฉฑๅŠจ็•Œ้ขๆ›ดๆ–ฐ\"},{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2025-11-14 22:33:39\",\"title\":\"JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"aliases\":[\"้™ๆ€็ซ™็‚น็”Ÿๆˆๅ™จ\",\"SSG\"],\"tldr\":\"้ข„ๆธฒๆŸ“้™ๆ€้กต้ข + ๅŠจๆ€ API๏ผŒCDN ๅˆ†ๅ‘ๅ…จ็ƒ๏ผŒๆ›ฟไปฃไผ ็ปŸๅŠจๆ€็ฝ‘็ซ™็š„ๅผ€ๅ‘้ƒจ็ฝฒ่Œƒๅผ\",\"description\":\"ไปŽๆ ธๅฟƒๆฆ‚ๅฟตใ€ๅทฅๅ…ท้“พ้€‰ๅž‹๏ผˆNext.js/Vercel/Supabase/Contentful๏ผ‰ๅˆฐไปŽ 0 ๆญๅปบๅšๅฎข็š„ๅฎŒๆ•ดๅฎž่ทต๏ผŒ่ฆ†็›– JAMStack ้€‚็”จไธŽไธ้€‚็”จๅœบๆ™ฏ๏ผŒๅธฎๅŠฉๅˆคๆ–ญไฝ•ๆ—ถ้€‰็”จ่ฏฅๆžถๆž„ใ€‚\",\"permalink\":\"/fullstack/jamstack\",\"tags\":[\"tutorial\",\"jamstack\",\"frontend-architecture\",\"next.js\",\"static-site-generator\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2025-11-14 22:33:39\",\"capture\":\"> \\n> ๅ…ถๆ ธๅฟƒๆœบๅˆถๆ˜ฏๅœจๆž„ๅปบๆ—ถๅฐ†้กต้ข้ข„ๆธฒๆŸ“ไธบ้™ๆ€ HTML/CSS/JS๏ผŒ้ƒจ็ฝฒ่‡ณ CDN ไพ›็”จๆˆทๅฐฑ่ฟ‘ๅŠ ่ฝฝ๏ผŒไป…ๅœจ้œ€่ฆๅŠจๆ€ๆ•ฐๆฎๆ—ถ้€š่ฟ‡ JavaScript ่ฐƒ็”จ API ่Žทๅ–ใ€‚็›ธ่พƒไบŽไผ ็ปŸๅŠจๆ€็ฝ‘็ซ™๏ผŒJAMStack ๅœจๆ€ง่ƒฝใ€ๅฏ้ ๆ€งใ€ๆ‰ฉๅฑ•ๆ€งใ€ๅฎ‰ๅ…จๆ€งๅŠ่ฟ็ปดๆˆๆœฌไธŠๅ…ทๆœ‰ๆ˜พ่‘—ไผ˜ๅŠฟใ€‚\\n> \\n> ๆœฌๆ–‡ๆขณ็†ไบ†ไธปๆตๆž„ๅปบๅทฅๅ…ท๏ผˆGatsbyใ€Next.jsใ€Nuxt.jsใ€11ty๏ผ‰ใ€้™ๆ€ๆ‰˜็ฎกๅนณๅฐ๏ผˆVercelใ€Netlifyใ€Cloudflare Pages๏ผ‰ใ€API/BaaS ๆœๅŠก๏ผˆSupabaseใ€Firebaseใ€Auth0๏ผ‰ๅŠๆ— ๅคด CMS๏ผˆContentfulใ€Sanityใ€Strapi\"},{\"url\":\"/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/40.ๆดžๅฏŸๅŠ›ๆจกๅž‹\",\"relativePath\":\"/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/40.ๆดžๅฏŸๅŠ›ๆจกๅž‹\",\"frontmatter\":{\"date\":\"2025-11-14 16:00:00\",\"title\":\"ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผšๅฆ‚ไฝ•็œ‹้€ไบงๅ“ไธŽๆŠ€ๆœฏ่ƒŒๅŽ็š„็ณป็ปŸ้€ป่พ‘๏ผŸ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆ— ่ฎบๆ˜ฏๅšไบงๅ“ใ€ๆžๆŠ€ๆœฏ๏ผŒ่ฟ˜ๆ˜ฏๅบ”ๅฏนๆ—ฅๅธธๅทฅไฝœไธญ็š„ๅ„็งๆŒ‘ๆˆ˜๏ผŒไฝ ๆ˜ฏๅฆ้‡ๅˆฐ่ฟ‡่ฟ™ๆ ท็š„ๅ›ฐๅขƒ๏ผšๆ˜Žๆ˜ŽๆŒ‰็ป้ชŒ่กŒไบ‹๏ผŒๅดๅฑกๅฑก่ธฉๅ‘๏ผ›ๅˆš่งฃๅ†ณ่กจ้ข้—ฎ้ข˜๏ผŒ้šๆ‚ฃๅˆๅทๅœŸ้‡ๆฅใ€‚้—ฎ้ข˜ๆœชๅฟ…ๅ‡บๅœจๅŠชๅŠ›็จ‹ๅบฆ๏ผŒ่€ŒๅœจไบŽๆˆ‘ไปฌๅช็›ฏ็€่กจ่ฑก๏ผŒๅดๅฟฝ็•ฅไบ†่ƒŒๅŽ็œŸๆญฃ่ตทไฝœ็”จ็š„็ณป็ปŸ๏ผŒๆฒกๆœ‰็œ‹ๆ‡‚่—ๅœจ่ƒŒๅŽ็š„็ณป็ปŸใ€‚ไธบไป€ไนˆๅŒๆ ทๆ˜ฏ่งฃๅ†ณ้—ฎ้ข˜๏ผŒๆœ‰ไบบๅช่ƒฝโ€œๅคด็—›ๅŒปๅคดโ€๏ผŒๆœ‰ไบบๅด่ƒฝ็›ดๅ‡ปๆœฌ่ดจ๏ผŸ่ฟ™็ฏ‡ๆ–‡็ซ ๅฐ†็”จ้€šไฟ—ๆ˜“ๆ‡‚็š„ๆ–นๅผ๏ผŒๅธฆไฝ ๆ‹†่งฃไธ€ๅฅ—ๅฎž็”จ็š„ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผŒ่ฎฉๆˆ‘ไปฌๅญฆไผš้€่ฟ‡็Žฐ่ฑกๆŠ“ไฝๆœฌ่ดจ๏ผŒไปŽๆ นๆบไธŠ่งฃๅ†ณ้—ฎ้ข˜ใ€‚\",\"permalink\":\"/product-sense/insight-model\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"ไบงๅ“ Sense\",\"็ณป็ปŸๆดžๅฏŸๅŠ›\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผšๅฆ‚ไฝ•็œ‹้€ไบงๅ“ไธŽๆŠ€ๆœฏ่ƒŒๅŽ็š„็ณป็ปŸ้€ป่พ‘๏ผŸ\",\"date\":\"2025-11-14 16:00:00\",\"capture\":\"1. ่กจ่ฑก่ƒŒๅŽ่—็€ๅ†ณๅฎšไธ€ๅˆ‡็š„โ€œ็ณป็ปŸ้ป‘็›’โ€\\nๆˆ‘ไปฌๅœจๆ—ฅๅธธๅผ€ๅ‘ๆˆ–ไบงๅ“่ฎพ่ฎกไธญ๏ผŒๆ€ปๆ˜ฏ่ขซๅ„็งโ€œ่กจ่ฑกโ€ๅŒ…ๅ›ด๏ผšDAU ็ช็„ถไธ‹้™ไบ†ใ€็บฟไธŠๅ‡บ็Žฐไบ†ไธ€ไธชๅถ็Žฐ็š„ Bugใ€ๆŸไธชๅŠŸ่ƒฝ็š„่ฝฌๅŒ–็އไธๅŠ้ข„ๆœŸใ€‚ๆˆ‘ไปฌไน ๆƒฏไบ†็›ฏ็€่ฟ™ไบ›็œ‹ๅพ—่ง็š„็ป“ๆžœๆ‰พๅŽŸๅ› ๏ผŒๅดๅฟฝ็•ฅไบ†ไธ€ไธชๆ ธๅฟƒ็œŸ็›ธ๏ผšๆฏไธ€ไธช่กจ่ฑก่ƒŒๅŽ๏ผŒๅ…ถๅฎž้ƒฝ้š่—็€ไธ€ไธช่ฟ่ฝฌๅคๆ‚็š„โ€œ้ป‘็›’ๅญโ€๏ผŒๆญฃๆ˜ฏ่ฟ™ไธช้ป‘็›’ๅญๅ†ณๅฎšไบ†ไบ‹็‰ฉๅ‘ๅฑ•็š„ๅฎข่ง‚่ง„ๅพ‹ใ€‚ๆˆ‘ไปฌๅฏไปฅๆŠŠ่ฟ™ไธช้ป‘็›’ๅญ๏ผŒๅซๅšโ€œ็ณป็ปŸโ€ใ€‚\\n<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/product/system_tips.png\\\" style=\\\"width: 1\"},{\"url\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/21.ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"relativePath\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/21.ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"frontmatter\":{\"date\":\"2025-11-10 12:52:28\",\"title\":\"ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจไฟกๆฏ้ซ˜ๅบฆ้€ๆ˜Ž็š„ๆ—ถไปฃ๏ผŒๆต…ๅฑ‚ไฟกๆฏๅทฎๅทฒ่ขซๅฝปๅบ•ๆŠนๅนณ๏ผŒไฟกๆฏๆœฌ่บซ็š„ไปทๅ€ผไธๆ–ญ็จ€้‡Šใ€‚ไบบไธŽไบบ็š„ๆ ธๅฟƒๅทฎ่ทไธๅ†ๆ˜ฏ่Žทๅ–ไฟกๆฏ็š„ๆธ ้“๏ผŒ่€Œๆ˜ฏ้ซ˜ไฟกๅ™ชๆฏ”ไฟกๆฏ็š„็”„ๅˆซ่ƒฝๅŠ›ใ€ๆทฑๅบฆๆ€่€ƒ่ƒฝๅŠ›ไธŽ่ฝๅœฐๆ‰ง่กŒๅŠ›๏ผŒๅ”ฏๆœ‰ไปฅๆ€่€ƒๆ ก้ชŒไฟกๆฏใ€ไปฅๆ‰ง่กŒ้ชŒ่ฏไปทๅ€ผ๏ผŒๅฝขๆˆโ€œไฟกๆฏ-ๅˆคๆ–ญ-ๅฎž่ทต-ๅ้ฆˆโ€็š„ๆ€่€ƒไธŽๆ‰ง่กŒ้—ญ็Žฏ๏ผŒๆ‰่ƒฝ็ช็ ดไฟกๆฏๅฃๅž’ใ€ๅˆ›้€ ็œŸๆญฃไปทๅ€ผใ€‚\",\"permalink\":\"/growth/distinguish-useful-information\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"ไฟกๆฏ็ญ›้€‰\",\"ไธชไบบๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"date\":\"2025-11-10 12:52:28\",\"capture\":\"ๅœจไบ’่”็ฝ‘ๆŠ€ๆœฏๆ™ฎๅŠ็š„ๅฝ“ไธ‹๏ผŒไฟกๆฏๅทฒไปŽโ€œ็จ€็ผบ่ต„ๆบโ€่ฝฌๅ˜ไธบโ€œๆณ›ๆปฅ่ต„ๆบโ€ใ€‚่ฟ‡ๅŽปไพ่ต–ๅœฐๅŸŸๅทฎใ€็จ€็ผบๆ€ง็š„ๆต…่กจๅฑ‚ไฟกๆฏๅทฎ้€ๆธ่ขซๆŠนๅนณ๏ผŒๅผ€ๅ‘่€…้€š่ฟ‡็ฝ‘็ปœๅฏ่ฝปๆพ่Žทๅ–ๅ„็ฑปๆŠ€ๆœฏๆ–‡ๆกฃใ€่กŒไธšๅŠจๆ€ใ€่ตš้’ฑๆจกๅผ๏ผŒไฝ†็œŸๆญฃ่ƒฝๅฐ†ไฟกๆฏ่ฝฌๅŒ–ไธบไปทๅ€ผ็š„ไปๆ˜ฏๅฐ‘ๆ•ฐไบบใ€‚ๆ ธๅฟƒ็Ÿ›็›พๅทฒไปŽโ€œ่Žทๅ–ไฟกๆฏโ€่ฝฌๅ˜ไธบโ€œ้ฉพ้ฉญไฟกๆฏโ€โ€”โ€”ไฟกๆฏๆœฌ่บซ็š„ไปทๅ€ผๅผฑๅŒ–๏ผŒ่€Œไฟกๆฏ่งฃ่ฏป่ƒฝๅŠ›ใ€่กŒๅŠจๆ‰ง่กŒๅŠ›ใ€็ญ›้€‰็”„ๅˆซๅŠ›ๆˆไธบๆ‹‰ๅผ€ๅทฎ่ท็š„ๅ…ณ้”ฎใ€‚\\n 1. ๆ‰“็ ดโ€œไฟกๆฏๅทฎโ€็š„็ณป็ปŸๆ€ง้”™่ง‰\\n่ฟ‡ๅŽป๏ผŒ็”ฑไบŽๅœฐๅŸŸ้™ๅˆถๅ’Œไผ ๆ’ญไป‹่ดจ็š„็จ€็ผบ๏ผŒ่ตš้’ฑๆˆ–ๆˆๅŠŸ็š„ๆจกๅผๅพ€ๅพ€ๆ˜ฏ็ฒ—ๆ”พ็š„๏ผŒๅปบ็ซ‹ๅœจๆต…่กจๅฑ‚็š„โ€œไฟกๆฏไธๅฏน็งฐโ€ไธŠ๏ผŒไฝ†้š็€ๆŠ€ๆœฏ็š„ๆผ”่ฟ›๏ผŒ่ฟ™็งไฝŽ็ปดๅบฆ็š„ไฟกๆฏๅทฎๆญฃๅœจ่ขซ่ฟ…้€ŸๆŠนๅนณใ€‚ไบบไปฌ็ปๅธธ้™ทๅ…ฅโ€œ่ตšไธๅˆฐ้’ฑ/ๆŠ“ไธไฝๆœบไผšๆ˜ฏๅ› ไธบ็ผบๅฐ‘ไฟกๆฏๅทฎโ€็š„่ฎค็Ÿฅๅๅทฎ๏ผŒไฝ†ๆœฌ่ดจ้—ฎ้ข˜ๅœจไบŽโ€œ\"}],\"12\":[{\"url\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/10.่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"relativePath\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/10.่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"frontmatter\":{\"date\":\"2025-12-06 22:05:50\",\"title\":\"่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"description\":\"่ฝฏไปถๅทฅ็จ‹ๆญฃ็ปๅކไปŽโ€œๆ‰‹ๅ†™้€ป่พ‘โ€ๅ‘โ€œๆ„ๅ›พ่ฐƒๅบฆโ€็š„่Œƒๅผ่ฟๅพ™ใ€‚Anthropic ็š„็ ”็ฉถๆญ็คบไบ† AI ๅนถ้ž็ฎ€ๅ•็š„ๆๆ•ˆๅทฅๅ…ท๏ผŒ่€Œๆ˜ฏ้€š่ฟ‡้‡Šๆ”พ 27% ๆ›พ็ปโ€œไธๅˆ’็ฎ—โ€็š„ๅทฅ็จ‹ไปปๅŠก๏ผŒ้‡ๅก‘ไบ†่ฝฏไปถ่ดจ้‡็š„ๅฏ†ๅบฆใ€‚ๅœจ่‡ช็„ถ่ฏญ่จ€ๅณ็ผ–็จ‹่ฏญ่จ€็š„ๆ—ถไปฃ๏ผŒๆˆ‘ไปฌ้œ€่ฆ้€š่ฟ‡่ง„ๆ ผ้ฉฑๅŠจ๏ผˆSDD๏ผ‰ไธŽๅคšๆ™บ่ƒฝไฝ“็ผ–ๆŽ’๏ผŒ็ ด่งฃโ€œ็›‘็ฃๆ‚–่ฎบโ€ๅธฆๆฅ็š„ๆŠ€่ƒฝๅนณๅบธๅŒ–ๅฑๆœบ๏ผŒๅฐ† AI ็š„ๆฆ‚็އๆ€ง็”Ÿๆˆ้ฉฏๅŒ–ไธบ็กฎๅฎšๆ€ง็š„ๅทฅ็จ‹ไบคไป˜ใ€‚ๅฝ“็ผ–็ ๆˆๆœฌ่ถ‹ไบŽ้›ถ๏ผŒๅทฅ็จ‹ๅธˆ็š„็ปˆๆžๅฃๅž’ๅฐ†ๆ˜ฏๅฎšไน‰ๅฎŒ็พŽ็š„ๅ“ๅ‘ณ๏ผŒไปฅๅŠๅœจ AI ่ฟท้›พไธญ่ฏ†็ ดๅนณๅบธ็š„ๆดžๅฏŸๅŠ›ใ€‚\",\"permalink\":\"/fullstack/ai-change-work-workflow/\",\"top\":true,\"tags\":[\"ๅ…จๆ ˆ\",\"AI\"],\"categories\":[\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"date\":\"2025-12-06 22:05:50\",\"capture\":\"<script setup>\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\nๅœฐๅ€๏ผšHow AI is transforming work at Anthropic\\nๆ ธๅฟƒๆ ‡็ญพ๏ผš`AI่พ…ๅŠฉ็ผ–็จ‹` `ๅทฅ็จ‹` `่Œƒๅผ่ฝฌ็งป` `ๅทฅไฝœ่ฝฌๅž‹` `็”ŸไบงๅŠ›ๆๅ‡` `ๆŠ€่ƒฝๅ‘ๅฑ•` `ไบบๆœบๅไฝœ` \\nไธ€ๅฅ่ฏไป‹็ป๏ผšAnthropic ไธไป…ไป…ๆ˜ฏ AI ๅทฅๅ…ท็š„็”Ÿไบง่€…๏ผŒๆ›ดๆ˜ฏ็ฌฌไธ€ไธช่ฟ›ๅ…ฅโ€œๆœชๆฅๅฎž้ชŒๅฎคโ€็š„ๆทฑๅบฆ่ง‚ๅฏŸ่€…ใ€‚ไป–ไปฌ้€š่ฟ‡ๅ†…้ƒจๆ•ฐๆœˆ็š„ๅฎž้ชŒๆ•ฐๆฎๅ‘Š่ฏ‰ๆˆ‘ไปฌ๏ผšๅคงๆจกๅž‹ๅฏน่ฝฏไปถๅทฅ็จ‹็š„ๆ”น้€ ๏ผŒ็ป้ž็ฎ€ๅ•็š„โ€œๆๆ•ˆโ€๏ผŒ่€Œๆ˜ฏไธ€\"}],\"08\":[{\"url\":\"/40.ๅ…ณไบŽ/01.ๅ…ณไบŽๆˆ‘\",\"relativePath\":\"/40.ๅ…ณไบŽ/01.ๅ…ณไบŽๆˆ‘\",\"frontmatter\":{\"date\":\"2025-08-29 09:40:53\",\"title\":\"ๅ…ณไบŽๆˆ‘\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไปŽ Tech Stack ๅˆฐ Insight Stack๏ผŒๅฝ“ AI ๆŽฅ็ฎกไบ†ๅฎž็Žฐ๏ผŒๆˆ‘ๆ›ดๅ…ณๆณจๆžถๆž„็š„ๆƒ่กกไธŽไบงๅ“็š„ไปทๅ€ผ๏ผŒไธ“ๆณจ๏ผšๅทฅ็จ‹ๅŒ– Spec ไธŽ AI ็ผ–็จ‹็ฃจๅˆ็š„ๅฎž่ทต | Agent ่ฝๅœฐ | ็‹ฌ็ซ‹ไบงๅ“ใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/about_me_chinese.png\",\"permalink\":\"/about/me\",\"categories\":[\"ๅ…ณไบŽ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ…ณไบŽๆˆ‘\",\"date\":\"2025-08-29 09:40:53\",\"capture\":\"ๆˆ‘ๆ˜ฏ่ฐ\\nๆˆ‘ๆ˜ฏไธ€ๅๆ‹ฅๆœ‰ๅ…จๆ ˆ่ƒŒๆ™ฏ็š„ๅผ€ๅ‘่€…, ๆŠ€ๆœฏๅบ•่‰ฒๆบไบŽๅทฅไฝœๅ‡ ๅนดๅŽ็งฏ็ดฏไบ†่พƒไธบๆ‰Žๅฎž็š„ๅทฅ็จ‹ๅŒ–ๅฎž่ทตโ€”โ€”ไปŽๅŸบ็ก€็š„ Web ๅ‰็ซฏๅˆฐๅคๆ‚็š„่ทจๅนณๅฐๅฐ็จ‹ๅบๅŸบ็ก€ๆก†ๆžถ็š„ๆžถๆž„ๅ‡็บง๏ผŒๅ†ๅˆฐๅŸบไบŽ NodeJS ็š„ๆœๅŠก็ซฏๅผ€ๅ‘๏ผŒ่ฟ™ไบ›็ปๅކ้”ป็‚ผไบ†ๆˆ‘ๅฏน็ณป็ปŸๅคๆ‚ๅบฆ็š„ๆŽŒๆŽงๅŠ›ใ€ๅทฅ็จ‹ๅŒ–่ƒฝๅŠ›ไปฅๅŠ้กน็›ฎๆŽจๅŠจไธŽๅ›ข้˜Ÿๅˆไฝœ็š„่ƒฝๅŠ›ใ€‚\\n่‡ช 2023 ๅนด LLM ๆตชๆฝฎๆถŒ็Žฐไปฅๆฅ๏ผŒๆˆ‘ๆทฑๅบฆๆŠ•่บซไบŽ AI ็›ธๅ…ณ็š„ๆŠ€ๆœฏๆŽข็ดขใ€‚ๅœจๅทฅไฝœไธŽไธšไฝ™้กน็›ฎไธญ๏ผŒไธปๅฏผๆˆ–ๅ‚ไธŽไบ†ๅคšไธชๅŸบไบŽๅคงๆจกๅž‹็š„ๅบ”็”จ่ฝๅœฐ๏ผŒ็งฏ็ดฏไบ†ไปŽ Prompt ่ฐƒไผ˜ๅˆฐ Agentic Workflow ็ผ–ๆŽ’็š„ไธ€็บฟ็ป้ชŒ๏ผŒไนŸๅคšๆฌกๅ‚ๅŠ ไบ†ๅ›ฝๅ†… AI ็คพๅŒบ็›ธๅ…ณ็š„ๆŠ€ๆœฏๅˆ†ไบซไธŽไบคๆตๆดปๅŠจ๏ผŒไบ†่งฃไบ† AI ้ข†ๅŸŸๆœ€ๆ–ฐ็š„ๆŠ€ๆœฏ่ถ‹ๅŠฟไธŽๅฎž่ทตใ€‚\\n\\n็›ฎๅ‰๏ผŒๆˆ‘ไธป่ฆๅœจ\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹\",\"frontmatter\":{\"date\":\"2025-08-20 22:51:27\",\"title\":\"่Šไธ€่Š TypeScript ไธญ็š„ๆณ›ๅž‹\",\"tldr\":\"ๆณ›ๅž‹ๅฐ†็ฑปๅž‹ไฝœไธบๅ‚ๆ•ฐ๏ผŒไฝฟไปฃ็ ๅœจๅคš็ง็ฑปๅž‹ไธŠๅฎ‰ๅ…จ่ฟ่กŒ๏ผŒๆ˜ฏ TypeScript ็ฑปๅž‹ๆŠฝ่ฑก็š„ๆ ธๅฟƒ็‰นๆ€งใ€‚\",\"description\":\"ๆœฌๆ–‡็ณป็ปŸ่งฃๆž TypeScript ๆณ›ๅž‹็š„ๆ ธๅฟƒๆฆ‚ๅฟตไธŽๅทฅไฝœๆœบๅˆถ๏ผŒๅฏนๆฏ”ๆณ›ๅž‹ไธŽ any ็ฑปๅž‹็š„ๅทฎๅผ‚๏ผŒๆถต็›–ๆณ›ๅž‹ๅ‡ฝๆ•ฐใ€ๆŽฅๅฃใ€็ฑปใ€็ฑปๅž‹ๅˆซๅ็š„ๅฎž่ทต็”จๆณ•๏ผŒไปฅๅŠๅŸบๆœฌ็ฑปๅž‹็บฆๆŸใ€ๆŽฅๅฃ็บฆๆŸใ€ๅคš้‡็บฆๆŸใ€keyof ็บฆๆŸ็ญ‰้ซ˜้˜ถๆŠ€ๅทงไธŽๆœ€ไฝณๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/typescript-generic-types\",\"tags\":[\"tutorial\",\"typescript\",\"generics\",\"type-system\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่Šไธ€่Š TypeScript ไธญ็š„ๆณ›ๅž‹\",\"date\":\"2025-08-20 22:51:27\",\"capture\":\"1. ๆณ›ๅž‹็š„ๅŸบๆœฌๆฆ‚ๅฟตๅ’Œไฝœ็”จ\\n 1.1 ๆ ธๅฟƒๅฎšไน‰\\nๆณ›ๅž‹๏ผˆGenerics๏ผ‰ ๆ˜ฏ TypeScript ไธญไธ€็งๅผบๅคง็š„็ฑปๅž‹็ณป็ปŸ็‰นๆ€ง๏ผŒๅ…่ฎธๅฎšไน‰็ฑปๅž‹ๅ‚ๆ•ฐๅŒ–็š„็ป„ไปถ๏ผŒไฝฟไปฃ็ ่ƒฝๅคŸๅœจๅคš็ง็ฑปๅž‹ไธŠๅฎ‰ๅ…จ่ฟ่กŒ๏ผŒๅŒๆ—ถไฟๆŒ็ฑปๅž‹ๆฃ€ๆŸฅใ€‚ๆณ›ๅž‹็š„ๆ ธๅฟƒๆ€ๆƒณๆ˜ฏๅฐ†็ฑปๅž‹ไฝœไธบๅ‚ๆ•ฐไผ ้€’็ป™ๅ‡ฝๆ•ฐใ€ๆŽฅๅฃๆˆ–็ฑป๏ผŒๅฎž็Žฐ\\\"็ผ–ๅ†™ไธ€ๆฌก๏ผŒๅค็”จๅคšๆฌก\\\"็š„ๆ•ˆๆžœใ€‚\\n 1.2 ๆณ›ๅž‹ไธŽ any ็ฑปๅž‹็š„ๅฏนๆฏ”\\n| ็‰นๆ€ง | ๆณ›ๅž‹ | any ็ฑปๅž‹ |\\n|------|------|----------|\\n| ็ฑปๅž‹ๅฎ‰ๅ…จ | โœ… ็ผ–่ฏ‘ๆ—ถ่ฟ›่กŒ็ฑปๅž‹ๆฃ€ๆŸฅ | โŒ ๅฎŒๅ…จๅคฑๅŽป็ฑปๅž‹ๆฃ€ๆŸฅ |\\n| ไปฃ็ ๅค็”จ | โœ… ๆ”ฏๆŒๅคš็ง็ฑปๅž‹ๅค็”จ | โœ… ๆ”ฏๆŒๅคš็ง็ฑปๅž‹๏ผŒไฝ†ๅคฑๅŽป็ฑปๅž‹ไฟกๆฏ |\\n| ็ฑปๅž‹ๆŽจๆ–ญ | โœ… \"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2025-08-12 22:47:47\",\"title\":\"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—\",\"tldr\":\"TypeScript ๅฎŒๅ–„็š„็ผ–่ฏ‘ไฝ“็ณปไธŽ่ฐƒ่ฏ•ๅทฅๅ…ท้“พ๏ผŒๆ˜ฏๆž„ๅปบ้ซ˜่ดจ้‡ๅบ”็”จ็š„ๅŸบ็Ÿณใ€‚\",\"description\":\"ๆทฑๅ…ฅ่งฃๆž TypeScript ็ผ–่ฏ‘ๅทฅๅ…ท้“พไธŽ่ฐƒ่ฏ•ไฝ“็ณป๏ผŒๆถต็›– tsconfig.json ๆ ธๅฟƒ้…็ฝฎใ€Monorepo ้กน็›ฎ้…็ฝฎ๏ผˆextends/references๏ผ‰ใ€source map ่ฐƒ่ฏ•ใ€ESLint ไธŽ Jest ๅ•ๅ…ƒๆต‹่ฏ•็ญ‰ๅฎŒๆ•ดๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/typescript-compilation-debugging-guide\",\"tags\":[\"tutorial\",\"typescript\",\"compilation\",\"tooling\",\"eslint\",\"jest\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—\",\"date\":\"2025-08-12 22:47:47\",\"capture\":\"็ผ–ๅ†™ไปฃ็ ๅชๆ˜ฏๅผ€ๅ‘ๅทฅไฝœ็š„่ตท็‚น๏ผŒ็œŸๆญฃๅ†ณๅฎš้กน็›ฎ่ดจ้‡็š„ๆ˜ฏๅŽ็ปญ็š„็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•็Žฏ่Š‚ใ€‚TypeScript ไฝœไธบ JavaScript ็š„้™ๆ€็ฑปๅž‹่ถ…้›†๏ผŒไธไป…ๅธฆๆฅไบ†็ฑปๅž‹ๅฎ‰ๅ…จ๏ผŒๆ›ดๆไพ›ไบ†ๅผบๅคง็š„็ผ–่ฏ‘ๅทฅๅ…ทๅ’Œ่ฐƒ่ฏ•่ƒฝๅŠ›๏ผŒ่ฎฉๆˆ‘ไปฌ่ƒฝๅคŸๆ›ด้ซ˜ๆ•ˆๅœฐๆž„ๅปบๅ’Œ็ปดๆŠคๅฏ้ ็š„ๅบ”็”จ็จ‹ๅบใ€‚\\nๆœฌๆ–‡ๅฐ†ๅฏน TypeScript ้กน็›ฎ็š„็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•่ฟ›่กŒๆขณ็†๏ผŒๅŒ…ๆ‹ฌ็ผ–่ฏ‘ๅทฅๅ…ท TSC ็š„ไฝฟ็”จใ€็ผ–่ฏ‘้€‰้กน็š„้…็ฝฎใ€่ฐƒ่ฏ•ๅทฅๅ…ท็š„ไฝฟ็”จ็ญ‰ใ€‚\\n 1. TypeScript ็ผ–่ฏ‘้…็ฝฎไธŽ tsconfig.json\\nTSC๏ผˆTypeScript Compiler๏ผ‰ๆ˜ฏ TypeScript ๅฎ˜ๆ–นๆไพ›็š„็ผ–่ฏ‘ๅทฅๅ…ท๏ผŒ่ดŸ่ดฃๅฐ† TypeScript ไปฃ็ ๏ผˆ`.ts` ๆˆ– `.tsx`๏ผ‰่ฝฌๆขไธบ J\"}],\"03\":[{\"url\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/10.่ฏปไนฆไธ‰่ฆไธ‰ไธ่ฆ\",\"relativePath\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/10.่ฏปไนฆไธ‰่ฆไธ‰ไธ่ฆ\",\"frontmatter\":{\"date\":\"2025-03-06 11:42:20\",\"title\":\"่ฏปไนฆโ€œไธ‰่ฆโ€ๅ’Œโ€œไธ‰ไธ่ฆโ€\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจไฟกๆฏ็ˆ†็‚ธ็š„ๆ—ถไปฃ๏ผŒ่ฏปไนฆไพ็„ถๆ˜ฏ่Žทๅ–ๆทฑๅบฆ็Ÿฅ่ฏ†ๆœ€้ซ˜ๆ•ˆ็š„ๆ–นๅผไน‹ไธ€ใ€‚ไฝ†โ€œๆง่ตทไนฆโ€ๅนถไธ็ญ‰ไบŽโ€œๆœ‰ๆ”ถ่Žทโ€๏ผŒๆ€Žไนˆ่ฏปๅพ€ๅพ€ๆฏ”่ฏปไป€ไนˆๆ›ด้‡่ฆใ€‚ๆœฌๆ–‡ๆ€ป็ป“ไบ†้ซ˜ๆ•ˆ้˜…่ฏป็š„โ€œไธ‰่ฆโ€ไธŽโ€œไธ‰ไธ่ฆโ€๏ผšไปŽๅฎŒๆ•ด้˜…่ฏป่ง‚ๆ‘ฉๅคงๅธˆๆ€็ปดใ€ๅธฆ็€้—ฎ้ข˜ๆž„ๅปบ็Ÿฅ่ฏ†ๆ ‘๏ผŒๅˆฐ้€š่ฟ‡่ฎจ่ฎบๆฃ€้ชŒ็†่งฃ๏ผ›ๅŒๆ—ถๆ้†’้˜…่ฏป่€…่ญฆๆƒ•ๅ“€ๆ€จๅฟƒๆ€ๅฏน้˜…่ฏปๅˆ่กท็š„ๅผ‚ๅŒ–ใ€้ฟๅ…้™ทๅ…ฅๅฏน็‰ฉ็†ๅช’ไป‹็š„โ€œ็Žฉ็‰ฉไธงๅฟ—โ€๏ผŒไปฅๅŠๅˆ‡ๅฟŒ่„ฑ็ฆป็Žฐๅฎž็š„โ€œ็œŸ็ฉบโ€้˜…่ฏปใ€‚้˜…่ฏปไธไป…ๆ˜ฏๅ‘ๅ†…ๆŽข็ดข็š„็ฒพ็ฅžไน‹ๆ—…๏ผŒๆ›ดๆ˜ฏๅ‘ๅค–็†่งฃ็œŸๅฎžไธ–็•Œใ€ๅˆ›้€ ็คพไผšไปทๅ€ผ็š„ๅฎž็”จๅทฅๅ…ทใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/reading_need.png\",\"permalink\":\"/pages/growth/reading-tips\",\"sticky\":1,\"top\":true,\"categories\":[\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\"],\"tags\":[\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ฏปไนฆโ€œไธ‰่ฆโ€ๅ’Œโ€œไธ‰ไธ่ฆโ€\",\"date\":\"2025-03-06 11:42:20\",\"capture\":\"<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/reading_need.png\\\" style=\\\"width: 100%; border-radius: 8px; margin-bottom: 20px;\\\" alt=\\\"about site background\\\">\\n 1. ๆˆ‘ไปฌไธบไป€ไนˆ้œ€่ฆ่ฏปไนฆ๏ผŸ\\n่ฏปไนฆๆ˜ฏไปŽๅค–็•ŒๆŽฅๅ—ไฟกๆฏ็š„ไธ€็งๆ–นๅผ๏ผŒไธŽ่Šๅคฉใ€ๆต่งˆ็ฝ‘้กตใ€ๅฌๆ’ญๅฎขใ€็œ‹็”ต่ง†ๅนถๆ— ๆœฌ่ดจๅŒบๅˆซใ€‚ไฝ†ไนฆ่ฟ™็งๅช’ไป‹ไธŽๅ…ถไป–ไฟกๆฏๅช’ไป‹็›ธๆฏ”๏ผŒๆœ‰ๅ…ถ็‹ฌๆœ‰็š„ไผ˜ๅŠฟ๏ผš\\n- ๆทฑๅบฆไธŽไธฅ่ฐจ๏ผšไนฆ็ฑๅพ€ๅพ€ๆ˜ฏๅˆ›ไฝœ่€…ๅคšๅนดๆ€่€ƒใ€้•ฟๆœŸ\"}]},\"2024 \":{\"06\":[{\"url\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/20.่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"relativePath\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/20.่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"frontmatter\":{\"date\":\"2024-06-15 22:23:00\",\"title\":\"่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡็ป“ๅˆไฟ็ฝ—ใƒปๆ ผ้›ทๅŽ„ๅง†ใ€ŠHow to Do Great Workใ€‹ๆ ธๅฟƒ่ง‚็‚น๏ผŒๆŽข่ฎจ AI ๅŽŸ็”Ÿๆ—ถไปฃๅคๅˆๅž‹ไบบๆ‰็š„ๆ ธๅฟƒ็‰น่ดจใ€‚AI ่ฎฉๅŸบ็ก€ๆ‰ง่กŒ่ƒฝๅŠ›ๅฟซ้€Ÿ่ดฌๅ€ผ๏ผŒไบบๆ‰็š„ๆ ธๅฟƒๅฃๅž’ไธๅ†ๆ˜ฏ่งฃๅ†ณ้—ฎ้ข˜๏ผŒ่€Œๆ˜ฏๆๅ‡บไผ˜่ดจ้—ฎ้ข˜ใ€ๅŸนๅ…ป้žๅ…ฑ่ฏ†ๅ“ๅ‘ณใ€‚ๅŒๆ—ถ้œ€ๅšๅฎˆๆ™บๅŠ›่ฏšๅฎž๏ผŒๆ‹ฅๆœ‰ๆ‰“็ ดๅธธ่ง„็š„ๅˆ›ๆ–ฐๅ‹‡ๆฐ”๏ผŒๅ€ŸๅŠฉ AI ๆ”พๅคงไธชไบบๆˆ้•ฟๆ ๆ†๏ผŒไปฅๅฐๅˆ‡ๅฃๅฎž่ทตๅฎž็ŽฐๆŒ‡ๆ•ฐ็บงๆˆ้•ฟใ€‚ไบบ็ฑป็‹ฌๆœ‰็š„ๅฅฝๅฅ‡ๅฟƒ๏ผŒๆ˜ฏ็ช็ ด AI ๅนณๅบธใ€ๅ–ๅพ—ๆฐๅ‡บๆˆๅฐฑ็š„ๆœ€็ปˆๅบ•ๆฐ”ใ€‚\",\"coverImg\":\"/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense/ai-native-composite-talents\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"AI\",\"ๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"date\":\"2024-06-15 22:23:00\",\"capture\":\"> \\n> ๅŽŸๆ–‡ๅœฐๅ€๏ผšhttps://paulgraham.com/greatwork.html\\n> \\n> ๅŽŸๆ–‡ไฝœ่€…๏ผšPaul Graham๏ผˆไฟ็ฝ—ยทๆ ผ้›ทๅŽ„ๅง†๏ผ‰๏ผŒ็ก…่ฐท้กถ็บงๅญตๅŒ–ๅ™จ Y Combinator ๅˆ›ๅง‹ไบบ๏ผŒ่ขซ่ช‰ไธบโ€œ็ก…่ฐทๅˆ›ไธšๆ•™็ˆถโ€๏ผŒไนŸๆ˜ฏ็ปๅ…ธๆŠ€ๆœฏๅ“ฒๅญฆ่‘—ไฝœใ€Š้ป‘ๅฎขไธŽ็”ปๅฎถใ€‹็š„ไฝœ่€…ใ€‚\\n> \\n> ๆ–‡็ซ ่ƒŒๆ™ฏ๏ผšๅŽŸๆ–‡ๆ˜ฏไฟ็ฝ—ยทๆ ผ้›ทๅŽ„ๅง†ไน‹ๅ‰ๅ‡†ๅค‡ไบ†ๅŠๅนดไน‹ไน…็š„้‡็ฃ…้•ฟๆ–‡๏ผŒไป–่ฏ•ๅ›พ่ฎฒๆ˜Ž็™ฝไธ€ไธช้€‚็”จไบŽๆฏไธชไบบ็š„ไธป้ข˜โ€”โ€”ๅฆ‚ไฝ•ๅšๆˆใ€Œๅคงไบ‹ใ€๏ผˆgreat work๏ผ‰ใ€‚้€š่ฏปๅ…จๆ–‡๏ผŒไฝ ไผšๅ‘็Žฐ๏ผŒ่ฟ™ๆ˜ฏไธ€็ฏ‡้žๅธธๅฎž็”จ็š„ๅทฅไฝœๆŒ‡ๅ—๏ผŒๅนถไธ”ๅ…ถไธญ็š„่ฎธๅคšๅ†…ๅฎน๏ผŒ้ƒฝไธŽAIๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰ๆ‰€้œ€่ฆๅ…ทๅค‡็š„็‰น่ดจ้žๅธธไธ€่‡ดใ€‚\\n 1. ๅผ•่จ€๏ผš\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/60.ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/60.ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹\",\"frontmatter\":{\"date\":\"2024-06-14 22:00:00\",\"title\":\"ไธ€ๆฌก็”ฑ Product Sense ้ฉฑๅŠจ็š„ Agent ๆž้™ๅฎž่ทต\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšAI ๆ—ถไปฃ๏ผŒๅ†™ๅฅฝไปฃ็ ๅชๆ˜ฏๅŠๆ ผ็บฟใ€‚ๅœจไธ€ๆฌกๆž้™ๆŒ‘ๆˆ˜่ต›ไธญ๏ผŒๆˆ‘ไปฌ้€š่ฟ‡ๅฏน K12 ่ต›้“็”จๆˆท็—›็‚น็š„็ฒพๅ‡†โ€œ่ง†่ง’ๅˆ‡ๆขโ€๏ผŒๆ‰“้€ ๅ‡บไธ€ๆฌพๆŽˆไบบไปฅๆธ”็š„โ€œๆ•ฐๅญฆ่พ…ๅฏผๅฏผๅธˆโ€ๅนถๆ–ฉ่Žทๅคงๅฅ–ใ€‚ๆœฌๆ–‡ๅค็›˜ไบ† Agent ๆญๅปบ่ƒŒๅŽ็š„ๆ ธๅฟƒ SOP ่ฎพ่ฎก้€ป่พ‘๏ผšๆŠ€ๆœฏ็ปˆ็ฉถ่ฆๅ›žๅฝ’ๅฏน็œŸๅฎžไบบๆ€ง็š„ไฝ“ๅฏŸไธŽๅ…ณๆ€€ใ€‚\",\"coverImg\":\"/img/cover/llm_learning_bg_2.png\",\"permalink\":\"/ai-practice/math-bot\",\"categories\":[\"ai-practice\"],\"tags\":[\"Agent\",\"ไบงๅ“ Sense\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไธ€ๆฌก็”ฑ Product Sense ้ฉฑๅŠจ็š„ Agent ๆž้™ๅฎž่ทต\",\"date\":\"2024-06-14 22:00:00\",\"capture\":\"ๅœจๅˆšๅˆš่ฟ‡ๅŽป็š„ๅ‘จๆœซ๏ผŒๆˆ‘ๅ’Œๅฅฝๅ‹ๅ‚ๅŠ ไบ†ไธ€ๅœบ็”ฑๅƒๅธ† Agent ไธพๅŠž็š„็บฟไธ‹็คพๅŒบๆดปๅŠจใ€‚่ฟ™ๆ˜ฏไธ€ๅœบๅ……ๆปกๆžๅฎข็ฒพ็ฅž็š„โ€œๆž้™ๆŒ‘ๆˆ˜โ€โ€”โ€”ๆˆ‘ไปฌ้œ€่ฆๅœจๆžๅ…ถๆœ‰้™็š„ๆ—ถ้—ดๅ†…๏ผŒไปŽ้›ถๅผ€ๅง‹ๆž„ๆ€ใ€ๆญๅปบๅนถ็Žฐๅœบๅฑ•็คบไธ€ไธชๅฎŒๆ•ด็š„ Agent ๅบ”็”จใ€‚\\nไปคไบบๆƒŠๅ–œ็š„ๆ˜ฏ๏ผŒๆˆ‘ไปฌไธไป…้กบๅˆฉๅฎŒๆˆไบ†ๆž้™ๅผ€ๅ‘๏ผŒๆœ€็ปˆ่ฟ˜ๆ–ฉ่Žทไบ†ๅ…จๅœบ็š„ใ€Œๆœ€ไฝณๅบ”็”จๅฅ–ใ€ใ€‚\\nๅค็›˜่ฟ™ๆฌก็Ÿญๆš‚ๅด้ซ˜ๅฏ†ๅบฆ็š„ๅผ€ๅ‘ไฝ“้ชŒ๏ผŒๆœ€ๅคง็š„ๆ„Ÿ่งฆๆ˜ฏ๏ผšๅœจ AI ๆ—ถไปฃ๏ผŒๅ•็บฏ็š„ๅทฅ็จ‹ๅฎž็Žฐๅทฒ็ปไธๅ†ๆ˜ฏๅ”ฏไธ€็š„ๅฃๅž’๏ผŒ็œŸๆญฃ่ฎฉๅบ”็”จ่„ฑ้ข–่€Œๅ‡บ็š„๏ผŒๆ˜ฏๅฏน็œŸๅฎžไธšๅŠกๅœบๆ™ฏ็š„ๆดžๅฏŸๅŠ›ใ€‚ๅฝ“ (Engineering + Product) ร— AI ็š„้ฃž่ฝฎๅผ€ๅง‹่ฝฌๅŠจๆ—ถ๏ผŒๆŠ€ๆœฏๆ‰่ƒฝ็œŸๆญฃ่ฝฌๅŒ–ไธบ่งฃๅ†ณ้—ฎ้ข˜็š„ๅˆฉๅ™จใ€‚\\nไปฅไธ‹ๆ˜ฏๅ…ณไบŽ่ฟ™ๆฌกโ€œK12 ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹โ€ Agent ๆญๅปบ็š„ๅฎž\"}],\"05\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview\",\"frontmatter\":{\"date\":\"2024-05-18 22:49:57\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ไปŽ ES Modules ๅˆฐๅคงๅž‹้กน็›ฎๅˆ†ๅฑ‚ๆžถๆž„ไธŽๅทฅ็จ‹ๅŒ–ๅฎž่ทต๏ผŒๆž„ๅปบๅ…จๆ ˆๆจกๅ—ๅŒ–็Ÿฅ่ฏ†ไฝ“็ณปใ€‚\",\"description\":\"็ณป็ปŸๆขณ็† JavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›๏ผˆIIFEโ†’CJSโ†’ESM๏ผ‰ใ€TypeScript ็ฑปๅž‹ๅขžๅผบใ€ๅˆ†ๅฑ‚ๆžถๆž„ไธŽ DDD ๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/module-programming-practice-guide\",\"tags\":[\"tutorial\",\"ESM\",\"DDD\",\"ๅพฎๅ‰็ซฏ\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2024-05-18 22:49:57\",\"capture\":\"1. ๅผ•่จ€\\nๆจกๅ—ๅŒ–็ผ–็จ‹ๆ˜ฏ็Žฐไปฃ JavaScript/TypeScript ๅผ€ๅ‘็š„ๆ ธๅฟƒๅŽŸๅˆ™๏ผŒๅฎƒ้€š่ฟ‡ๅฐ†ๅคๆ‚็ณป็ปŸๆ‹†ๅˆ†ไธบ็‹ฌ็ซ‹ๅฏๅค็”จ็š„ๆจกๅ—๏ผŒ้™ไฝŽ็ณป็ปŸๅคๆ‚ๆ€งๅนถๆ้ซ˜ๅฏ็ปดๆŠคๆ€งไธŽๅฏๅค็”จๆ€งใ€‚ๅ› ๆญค๏ผŒๆˆ‘ไปฌ้€š่ฟ‡็ณปๅˆ—ๆ–‡็ซ ่ฏฆ็ป†ไป‹็ปไบ†ๆจกๅ—ๅŒ–็š„ๅŸบ็ก€ๆฆ‚ๅฟตใ€ๆผ”่ฟ›ๅކ็จ‹ใ€ไธๅŒ่ง„่Œƒ็š„ๆทฑๅบฆ่งฃๆžใ€TypeScriptๆจกๅ—ๅŒ–ๅขžๅผบใ€ES Modules ๆ ธๅฟƒ่ฏญๆณ•ไธŽๅฎž่ทตใ€ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทตใ€ๅ‰็ซฏๅทฅ็จ‹ๅŒ–ไธญ็š„ๆจกๅ—ๅŒ–ใ€Node.jsไธญ็š„ๆจกๅ—ๅŒ–ๅฎž่ทตใ€ๅคงๅž‹้กน็›ฎไธญ็š„ๆจกๅ—ๅŒ–่ฎพ่ฎกใ€ๆจกๅ—ๅŒ–ไธŽไปฃ็ ็ปดๆŠคไปฅๅŠๆœชๆฅๅ‘ๅฑ•่ถ‹ๅŠฟใ€‚\\nๅ‰้ข็š„็ณปๅˆ—ๆ–‡็ซ ไธป่ฆๆœ‰๏ผš\\n- ๆจกๅ—ๅŒ–็ผ–็จ‹็ผ–็จ‹ๅˆไฝ“้ชŒไธŽๅŸบ็ก€ไป‹็ป\\n- JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\\n- ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒ\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–\",\"frontmatter\":{\"date\":\"2024-05-17 23:33:09\",\"title\":\"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“\",\"tldr\":\"Node.js CJS ไธŽ ESM ๅŒๆจกๅ…ฑๅญ˜๏ผšๆจกๅ—ๅŠ ่ฝฝๆœบๅˆถไธŽๅˆ†ๅฑ‚ๆžถๆž„ๅฎž่ทตใ€‚\",\"description\":\"่งฃๆž Node.js ไธญ CommonJS ไธŽ ES Modules ็š„ๅŒๆจกๅ…ฑๅญ˜็ญ–็•ฅ๏ผŒๆถต็›–ๆจกๅ—ๅŠ ่ฝฝไผ˜ๅ…ˆ็บงใ€็ผ“ๅญ˜ๆœบๅˆถใ€package.json exports ๆกไปถๅฏผๅ‡บๅŠ Monorepo ๆžถๆž„ๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/nodejs-module-programming-summary\",\"abstract\":\"Node.js ๆจกๅ—ๅŒ–็ปๅކไบ†ไปŽ CommonJS ็‹ฌ้œธๅคฉไธ‹ๅˆฐ ES Modules ๅ…จ้ขๆŽฅๅ…ฅ็š„่Œƒๅผ่ฝฌ็งปใ€‚ๅ…ฑๅญ˜็ญ–็•ฅ้€š่ฟ‡ .mjs/.cjs ๅŽ็ผ€ๅ’Œ package.json type ๅญ—ๆฎตๆŽงๅˆถไธค็ง่ง„่Œƒ็š„่พน็•Œ๏ผ›ESM ๅฏ็›ดๆŽฅ import CJS๏ผˆ่‡ชๅŠจๅŒ…่ฃ…ไธบ้ป˜่ฎคๅฏผๅ‡บ๏ผ‰๏ผŒไฝ† CJS ๆ— ๆณ• require ESM ๅฟ…้กปไฝฟ็”จๅŠจๆ€ importใ€‚ๆจกๅ—ๅŠ ่ฝฝ้ตๅพชๆ ธๅฟƒๆจกๅ—ไผ˜ๅ…ˆใ€ๆ–‡ไปถๆจกๅ—ใ€็›ฎๅฝ•ๆจกๅ—๏ผˆindex.js/package.json๏ผ‰ใ€node_modules ้€็บงๆŸฅๆ‰พ็š„ไผ˜ๅ…ˆ็บง๏ผ›require.cache ๅฎž็Žฐๆจกๅ—็ผ“ๅญ˜๏ผŒๆธ…้™ค็ผ“ๅญ˜๏ผˆdelete require.cache[path]๏ผ‰ๆ˜ฏ็ƒญๆ›ดๆ–ฐๅทฅๅ…ท็š„ๆ ธๅฟƒๆ“ไฝœใ€‚package.json exports ๅญ—ๆฎตๆ”ฏๆŒๆกไปถๅฏผๅ‡บ๏ผˆimport/require ่ฟ”ๅ›žไธๅŒๅ…ฅๅฃ๏ผ‰ใ€‚pnpm workspaces ๅ‡ญๅ€Ÿ็กฌ้“พๆŽฅๆœบๅˆถๆˆไธบ็Žฐไปฃ Monorepo ้ฆ–้€‰ใ€‚ๅŽ็ซฏๅˆ†ๅฑ‚ๆžถๆž„๏ผˆAPI/Service/Repository๏ผ‰ๅฎž็Žฐๅ…ณๆณจ็‚นๅˆ†็ฆป๏ผŒๆขๆ•ฐๆฎๅบ“ๅช้œ€ๆ”น Repository ๅฑ‚ใ€‚\",\"tags\":[\"concept\",\"node.js\",\"commonjs\",\"esm\",\"monorepo\",\"layered-architecture\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“\",\"date\":\"2024-05-17 23:33:09\",\"capture\":\"ๅฆ‚ๆžœ่ฏดๆต่งˆๅ™จ็ซฏ็š„ๆจกๅ—ๅŒ–ๆ˜ฏไธบไบ†\\\"ๆŒ‰้œ€ๅŠ ่ฝฝ\\\"๏ผŒ้‚ฃไนˆ Node.js ็š„ๆจกๅ—ๅŒ–ๅˆ™ๆ˜ฏไธบไบ†\\\"ไปฃ็ ็ป„็ป‡\\\"ใ€‚ไฝœไธบๅฐ† JavaScript ๅธฆๅ…ฅๆœๅŠกๅ™จ็ซฏ็š„ๅ…ˆ้ฉฑ๏ผŒNode.js ็ปๅކไบ†ไปŽ CommonJS (CJS) ็‹ฌ้œธๅคฉไธ‹ๅˆฐ ES Modules (ESM) ๅ…จ้ขๆŽฅๅ…ฅ็š„่Œƒๅผ่ฝฌ็งปใ€‚\\nๅœจๆœๅŠกๅ™จ็ซฏ๏ผŒๆจกๅ—ๅŒ–ไธไป…ไป…ๆ˜ฏไธบไบ†ๆ‹†ๅˆ†ไปฃ็ ๏ผŒๆ›ดๆ˜ฏไธบไบ†ๆž„ๅปบๆธ…ๆ™ฐ็š„้กน็›ฎ็ป“ๆž„ใ€็ฎก็†ไพ่ต–ๅ…ณ็ณป๏ผŒไปฅๅŠๅฎž็Žฐไปฃ็ ็š„ๅค็”จไธŽ็ปดๆŠคใ€‚\\n 1. CommonJS ไธŽ ES Modules ๅŒๆจกๅ…ฑๅญ˜\\nๅœจ็Žฐไปฃ Node.js ๅผ€ๅ‘ไธญ๏ผŒๆˆ‘ไปฌ็ปๅธธ้ขไธดไธค็ง่ง„่Œƒไบค็ป‡็š„ๆƒ…ๅ†ตใ€‚่ฟ™ไธไป…ๆ˜ฏๆ–‡ไปถๅŽ็ผ€็š„ๆ”นๅ˜๏ผŒๆ›ดๆ˜ฏๅŒๆญฅไธŽๅผ‚ๆญฅๅŠ ่ฝฝ้€ป่พ‘็š„ๅšๅผˆใ€‚\\nๅ…ฑๅญ˜็ญ–็•ฅ๏ผš\\n1. ๅŽ็ผ€ๅ†ณๅฎš่ฎบ๏ผš`.mjs\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต\",\"frontmatter\":{\"date\":\"2024-05-17 22:30:50\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ๆขณ็†ไธŽๆ€ป็ป“\",\"tldr\":\"ๆŽŒๆก้ซ˜ๅ†…่šไฝŽ่€ฆๅˆๅŽŸๅˆ™๏ผšๆจกๅ—ๅŒ–็ผ–็จ‹็š„่ฎพ่ฎกๅ‡†ๅˆ™ไธŽ็ฒ’ๅบฆๆŽงๅˆถใ€‚\",\"description\":\"็ณป็ปŸๆขณ็†ๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅ…ญๅคงๆ ธๅฟƒๅŽŸๅˆ™๏ผšๅ•ไธ€่Œ่ดฃใ€้ซ˜ๅ†…่šไฝŽ่€ฆๅˆใ€็ฒ’ๅบฆ่ฎพ่ฎกใ€ๅ‘ฝๅ่ง„่ŒƒๅŠๆจกๅ—็‰ˆๆœฌ็ฎก็†๏ผŒ้™„่ฏฆ็ป†็š„ๅทฅ็จ‹ๅฎž่ทตๅปบ่ฎฎไธŽ้ฟๅ‘ๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/fullstack/module-programming-principles-best-practices\",\"abstract\":\"ๅฆ‚ๆžœ่ฏดๆŽŒๆกๆจกๅ—ๅŒ–่ฏญๆณ•ๆ˜ฏๆœฏ๏ผŒ้‚ฃไนˆ็†่งฃๅ…ถ่ƒŒๅŽ็š„่ฎพ่ฎกๅŽŸๅˆ™ๅฐฑๆ˜ฏ้“ใ€‚ๅ•ไธ€่Œ่ดฃๅŽŸๅˆ™ๅผบ่ฐƒๆจกๅ—ๅชๅบ”ๆœ‰ไธ€ไธช่ขซๆ”นๅ˜็š„ๅŽŸๅ› ๏ผŒ้ฟๅ… God Object ๅๆจกๅผใ€‚้ซ˜ๅ†…่šไฝŽ่€ฆๅˆๆ˜ฏ่กก้‡ๆจกๅ—่ดจ้‡็š„็ปˆๆžๆ ‡ๅ‡†โ€”โ€”ๆจกๅ—ๅ†…้ƒจๅ…ƒ็ด ่”็ณป็ดงๅฏ†๏ผŒๆจกๅ—ไน‹้—ดไพ่ต–ๅ…ณ็ณปๅฐฝๅฏ่ƒฝ็ฎ€ๅ•ใ€‚็ฒ’ๅบฆ่ฎพ่ฎก่ฆๆฑ‚ๅ•ไธชๆจกๅ—ไฟๆŒๅœจ 100-500 ่กŒไน‹้—ด๏ผŒๅŠŸ่ƒฝ่ƒฝ็”จไธ€ๅฅ่ฏๆธ…ๆ™ฐๆ่ฟฐ๏ผŒๅ‡บ็Žฐๅคšๅˆ†ๆ”ฏๅคๆ‚้€ป่พ‘ๆ—ถ้€šๅธธๆ˜ฏๆ‹†ๅˆ†ไฟกๅทใ€‚ๅ‘ฝๅ่ง„่Œƒ็ปŸไธ€ๅ›ข้˜ŸๆฒŸ้€š่ฏญๅขƒ๏ผˆkebab-case ๆ–‡ไปถๅใ€camelCase ๆ–นๆณ•ๅใ€PascalCase ็ฑปๅ๏ผ‰ใ€‚ๆจกๅ—็‰ˆๆœฌ็ฎก็†้ตๅพช SemVer ่ฏญไน‰ๅŒ–็‰ˆๆœฌ๏ผŒไธบๅ…ฌๅ…ฑๆจกๅ—็š„็ปดๆŠค่€…ไธŽไฝฟ็”จ่€…ๅปบ็ซ‹ๅฅ‘็บฆใ€‚ๅผบ่ฐƒๆธ…ๆ™ฐ็š„ๆจกๅ—่พน็•Œๆ˜ฏ AI ่พ…ๅŠฉ็ผ–็จ‹ๆ—ถไปฃ AI ๅ‡†็กฎ็†่งฃไปฃ็ ็š„ๅ‰ๆใ€‚\",\"tags\":[\"concept\",\"solid-principles\",\"code-organization\",\"best-practices\",\"naming-conventions\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ๆขณ็†ไธŽๆ€ป็ป“\",\"date\":\"2024-05-17 22:30:50\",\"capture\":\"1. ๅ•ไธ€่Œ่ดฃๅŽŸๅˆ™\\nๆ ธๅฟƒๆ€ๆƒณ๏ผšไธ€ไธชๆจกๅ—ๅบ”ๅฝ“ๆœ‰ไธ”ๅชๆœ‰ไธ€ไธช่ขซๆ”นๅ˜็š„ๅŽŸๅ› ใ€‚\\nๆจกๅ—ไธๅบ”ๆˆไธบๅŠŸ่ƒฝ็š„โ€œๆ‚่ดง้“บโ€ใ€‚ๅฝ“ไธ€ไธชๆจกๅ—ๆ‰ฟๆ‹…ไบ†ๅคชๅคšไธ็›ธๅ…ณ็š„ไธšๅŠก้€ป่พ‘ๆ—ถ๏ผŒๅฎƒ็š„ๅคๆ‚ๅบฆไผšๅ‘ˆๆŒ‡ๆ•ฐ็บงไธŠๅ‡๏ผŒไปปไฝ•ๅพฎๅฐ็š„ๆ”นๅŠจ้ƒฝๅฏ่ƒฝๅผ•ๅ‘ๆ„ๆƒณไธๅˆฐ็š„่ฟž้”ๅๅบ”ใ€‚\\nไปฃ็ ๆผ”็คบ๏ผš\\n```javascript\\n// โœ… ๆŽจ่๏ผš่Œ่ดฃๆ‹†ๅˆ†ๆ˜Ž็กฎ\\n// user-service.js - ไป…ๅค„็†็”จๆˆทๆ•ฐๆฎ็š„ CRUD\\nexport const getUser = async (id) => { /* ... */ };\\n// auth-provider.js - ไป…ๅค„็†้‰ดๆƒ็Šถๆ€ไธŽ้€ป่พ‘\\nexport const login = async (credenti\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"frontmatter\":{\"date\":\"2024-05-16 21:27:36\",\"title\":\"ไปŽ้€ป่พ‘้š”็ฆปๅˆฐ็ฑปๅž‹ๅฅ‘็บฆ๏ผšTypeScript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"tldr\":\"TypeScript ๅฐ†ๆจกๅ—ไพ่ต–ๆๅ‡ไธบ็ผ–่ฏ‘ๆ—ถ็ฑปๅž‹ๅฅ‘็บฆ๏ผŒไปŽ import type ๅˆฐๅฃฐๆ˜Žๆ–‡ไปถใ€‚\",\"description\":\"็ณป็ปŸ่ฎฒ่งฃ TypeScript ๅฏน ES Modules ็š„็ฑปๅž‹ๅขžๅผบ๏ผŒๆถต็›– import type ่ฟ่กŒๆ—ถไผ˜ๅŒ–ใ€ๆŽฅๅฃๅฅ‘็บฆใ€ๅฃฐๆ˜Žๆ–‡ไปถ .d.ts ๅŠ tsconfig ๆจกๅ—ๅŒ–้…็ฝฎใ€‚\",\"permalink\":\"/fullstack/typescript-module-programming-enhancement\",\"tags\":[\"concept\",\"ๅ…จๆ ˆ\",\"typescript\",\"tsconfig\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไปŽ้€ป่พ‘้š”็ฆปๅˆฐ็ฑปๅž‹ๅฅ‘็บฆ๏ผšTypeScript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"date\":\"2024-05-16 21:27:36\",\"capture\":\"1. ๅผ•่จ€\\nๅœจๅŽŸ็”Ÿ JavaScript ๆจกๅ—ๅŒ–่งฃๅ†ณไบ†ไปฃ็ ็ป„็ป‡้—ฎ้ข˜ๅŽ๏ผŒTypeScript๏ผˆTS๏ผ‰่ฟ›ไธ€ๆญฅๅฐ†ๅ…ถๆŽจๅ‘ไบ†ๅทฅไธš็บง้ซ˜ๅบฆใ€‚TS ไธไป…ไป…ๆ˜ฏไธบๆจกๅ—ๆทปๅŠ ไบ†็ฑปๅž‹ๆ ‡ๆณจ๏ผŒๅฎƒ้€š่ฟ‡็ฑปๅž‹ๅฏผๅ‡บๅฏผๅ…ฅใ€็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ใ€ไปฅๅŠๅฃฐๆ˜Žๆ–‡ไปถ็ณป็ปŸ๏ผŒๅฐ†ๆจกๅ—้—ด็š„ไพ่ต–ๅ…ณ็ณปไปŽ็ฎ€ๅ•็š„โ€œไปฃ็ ๅผ•็”จโ€ๆๅ‡ๅˆฐไบ†โ€œๅฅ‘็บฆไบคไบ’โ€ใ€‚\\nๆœฌๆ–‡ๆˆ‘ไปฌๅฐ†่š็„ฆไบŽ TypeScript ๅฆ‚ไฝ•้€š่ฟ‡็ฑปๅž‹็ณป็ปŸๅขžๅผบๆจกๅ—ๅŒ–็ผ–็จ‹๏ผŒๅนถๆŽข่ฎจๅœจ็Žฐไปฃๅทฅ็จ‹๏ผˆๅฐคๅ…ถๆ˜ฏ TS 5.0+ ๆ—ถไปฃ๏ผ‰ไธ‹็š„ๆœ€ไฝณ้…็ฝฎๅฎž่ทตใ€‚\\n 2. ็ฑปๅž‹ๅฏผๅ‡บไธŽๅฏผๅ…ฅ๏ผšๆž่‡ด็š„่ฟ่กŒๆ—ถไผ˜ๅŒ–\\nTypeScript ๅฏน ES Modules ่ฏญๆณ•ๆœ€ๆ˜พ่‘—็š„ๆ‰ฉๅฑ•ๆ˜ฏๆ”ฏๆŒโ€œไป…็ฑปๅž‹โ€๏ผˆType-only๏ผ‰็š„ๅฏผๅ‡บไธŽๅฏผๅ…ฅใ€‚่ฟ™ไธไป…ๆ˜ฏ่ฏญไน‰ไธŠ็š„ๆธ…ๆ™ฐ๏ผŒๆ›ดๆ˜ฏๆ€ง\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"frontmatter\":{\"date\":\"2024-05-14 22:29:32\",\"title\":\"ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒๆ‹ฅๆŠฑๅŽŸ็”Ÿ๏ผšES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"tldr\":\"ES Modules ๆ ธๅฟƒ่ฏญๆณ•ไธŽๆ‰ง่กŒๆจกๅž‹๏ผš้™ๆ€ๅˆ†ๆžๅฆ‚ไฝ•้‡ๅก‘ๅ‰็ซฏๆž„ๅปบๆ•ˆ็އใ€‚\",\"description\":\"ๆทฑๅบฆ่งฃๆž ES Modules ๅ‘ฝๅๅฏผๅ‡บ/ๅฏผๅ…ฅใ€้ป˜่ฎคๅฏผๅ‡บใ€ๅŠจๆ€ๅฏผๅ…ฅ็ญ‰่ฏญๆณ•๏ผŒไปฅๅŠๆจกๅ—ๆ‰ง่กŒ้กบๅบใ€ๅพช็Žฏไพ่ต–ๅค„็†ไธŽ็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ๆœบๅˆถใ€‚\",\"permalink\":\"/fullstack/decode-es-modules\",\"tags\":[\"concept\",\"ESM\",\"static-analysis\",\"Tree-Shaking\",\"circular-dependency\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒๆ‹ฅๆŠฑๅŽŸ็”Ÿ๏ผšES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"date\":\"2024-05-14 22:29:32\",\"capture\":\"> \\n> ็†่งฃ ESM๏ผŒไธไป…ไป…ๆ˜ฏๅญฆไผš import ๅ’Œ export๏ผŒๆ›ด้‡่ฆ็š„ๆ˜ฏ็†่งฃๅฎƒๅฆ‚ไฝ•้€š่ฟ‡็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ๅฝปๅบ•ๆ”นๅ˜ไบ†ๅ‰็ซฏๆž„ๅปบ็š„ๆ•ˆ็އใ€‚\\n 1. ๅ‘ฝๅๅฏผๅ‡บไธŽๅฏผๅ…ฅ๏ผš็ฒพๅ‡†็š„ไปฃ็ ๅผ•็”จ\\nๅ‘ฝๅๅฏผๅ‡บ๏ผˆNamed Exports๏ผ‰ๆ˜ฏ ESM ๆœ€ๅธธ็”จ็š„ๅฝขๅผ๏ผŒๅฎƒๅ…่ฎธไธ€ไธชๆจกๅ—ๆšด้œฒๅคšไธชๆˆๅ‘˜ใ€‚ๅ…ถๆ ธๅฟƒไผ˜ๅŠฟๅœจไบŽ๏ผšๅฏผๅ…ฅๆ–นๅฏไปฅๆŒ‰้œ€ๅผ•ๅ…ฅ๏ผŒไธ” IDE ่ƒฝๆไพ›็ฒพๅ‡†็š„่กฅๅ…จใ€‚\\n่ฏญๆณ•ๅฎž่ทต๏ผš๏ผš\\n```javascript\\n// math.js - ๅ‘ฝๅๅฏผๅ‡บ\\n// ่กŒๅ†…ๅฏผๅ‡บ\\nexport const PI = 3.14159;\\nexport function circleArea(radius) {\\n return PI * rad\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†\",\"frontmatter\":{\"date\":\"2024-05-14 22:26:06\",\"title\":\"JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\",\"tldr\":\"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ็ญ‰ๆ ธๅฟƒ่ง„่Œƒ๏ผŒ้™„็Žฐไปฃ่ฟ็งป็ญ–็•ฅใ€‚\",\"description\":\"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ๅ››ๅคงๆจกๅ—ๅŒ–่ง„่Œƒ็š„ๆ ธๅฟƒ่ฏญๆณ•ไธŽ้€‚็”จๅœบๆ™ฏ๏ผŒ่งฃๆžๅ„่ง„่Œƒ็š„ๅ…ณ้”ฎๅทฎๅผ‚๏ผŒๅนถๆไพ›ไปŽๆ—ง่ง„่Œƒๅ‘ ESM ่ฟ็งป็š„ๅฎžๆ“็ญ–็•ฅใ€‚\",\"permalink\":\"/fullstack/different-module-programming-specifications\",\"tags\":[\"tutorial\",\"CommonJS\",\"AMD\",\"UMD\",\"ESM\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\",\"date\":\"2024-05-14 22:26:06\",\"capture\":\"ๅœจ JavaScript ่ฟ›ๅŒ–ๅฒไธŠ๏ผŒโ€œๆจกๅ—ๅŒ–โ€ๅง‹็ปˆๆ˜ฏไธ€ไธชๆ ธๅฟƒๅ‘ฝ้ข˜ใ€‚ไปŽๆ—ฉๆœŸ script ๆ ‡็ญพๆปกๅคฉ้ฃž็š„โ€œๆททๆฒŒๆ—ถไปฃโ€๏ผŒๅˆฐๅ„่ทฏ่ง„่Œƒ็พค้›„้€้นฟ็š„โ€œๆˆ˜ๅ›ฝๆ—ถไปฃโ€๏ผŒๅ†ๅˆฐๅฆ‚ไปŠ ES Modules ๅฎšไบŽไธ€ๅฐŠ๏ผŒๅผ€ๅ‘่€…ไปฌๅœจ่งฃๅ†ณไพ่ต–็ฎก็†ใ€ไฝœ็”จๅŸŸๆฑกๆŸ“ๅ’Œๅผ‚ๆญฅๅŠ ่ฝฝ็ญ‰้—ฎ้ข˜ไธŠไป˜ๅ‡บไบ†ๅทจๅคง็š„ๅŠชๅŠ›ใ€‚\\nๆœฌๆ–‡ๅฐ†ๅธฆไฝ ๆขณ็† JavaScript ๅކๅฒไธŠๆœ€้‡่ฆ็š„ๅ‡ ็งๆจกๅ—ๅŒ–่ง„่Œƒ๏ผŒไพฟไบŽๆž„ๅปบ่ตทๅ…จๆ ˆๅผ€ๅ‘็š„ๅบ•ๅฑ‚็Ÿฅ่ฏ†ๅ›พ่ฐฑใ€‚\\n 1. CommonJS ่ง„่Œƒ๏ผšNode.js ็”Ÿๆ€็š„ๅŸบ็Ÿณ\\nCommonJS ๆ˜ฏไผด้š Node.js ่ฏž็”Ÿ็š„่ง„่Œƒ,็”ฑ Kevin Dangoor ๆๅ‡บ๏ผŒๅˆ่กทๆ˜ฏ่ฎฉ JavaScript ่„ฑ็ฆปๆต่งˆๅ™จไนŸ่ƒฝๆž„ๅปบๅคๆ‚็š„็ณป็ปŸๅบ”็”จใ€‚ๅฎƒๆ˜ฏ Node.\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€\",\"frontmatter\":{\"date\":\"2024-05-12 22:43:28\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ๏ผšๆฆ‚ๅฟตใ€ๆผ”่ฟ›ไธŽ่ฎพ่ฎกๆจกๅผ\",\"tldr\":\"ไปŽๅ…จๅฑ€ๅ˜้‡ๅˆฐ ES Modules๏ผšJavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›ไธŽๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผๅฎž่ทตใ€‚\",\"description\":\"็ณป็ปŸ่ฎฒ่งฃ JavaScript ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€๏ผŒๆถต็›– IIFEใ€CommonJSใ€ES Modules ่ง„่Œƒๆผ”่ฟ›๏ผŒไปฅๅŠๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผไธŽๆจกๅ—ๅŒ–็š„็ป“ๅˆใ€‚\",\"permalink\":\"/fullstack/frontend-module-programming-basic\",\"tags\":[\"tutorial\",\"javascript\",\"modularization\",\"esm\",\"design-patterns\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ๏ผšๆฆ‚ๅฟตใ€ๆผ”่ฟ›ไธŽ่ฎพ่ฎกๆจกๅผ\",\"date\":\"2024-05-12 22:43:28\",\"capture\":\"1. ๅผ•่จ€\\n้š็€้กน็›ฎ่ง„ๆจกๆ—ฅ็›Š่†จ่ƒ€๏ผŒไปฃ็ ้‡ไปŽๅ‡ ๅƒ่กŒ่ฟ…้€Ÿๅขž้•ฟๅˆฐๆ•ฐไธ‡็”š่‡ณๆ•ฐๅไธ‡่กŒ๏ผŒๅฐ†ๆ‰€ๆœ‰้€ป่พ‘ๅกž่ฟ›ๅฐ‘ๆ•ฐๅ‡ ไธชๆ–‡ไปถ็š„ๅšๆณ•ๆ—ฉๅทฒ้šพไปฅไธบ็ปงใ€‚ๅœจ่ฟ™ๆ ท็š„่ƒŒๆ™ฏไธ‹๏ผŒๆจกๅ—ๅŒ–็ผ–็จ‹ๅบ”่ฟ่€Œ็”Ÿ๏ผŒๆˆไธบ็Žฐไปฃๅ‰็ซฏๅผ€ๅ‘็š„ๆ ‡้…ใ€‚\\nๅฎƒ็š„ๆ ธๅฟƒ็†ๅฟต็ฎ€ๆด่€Œไผ˜้›…๏ผšๅƒๆญ็งฏๆœจไธ€ๆ ท๏ผŒๅฐ†ๅบžๅคงๅคๆ‚็š„็ณป็ปŸๆ‹†่งฃไธบไธ€ไธชไธช็‹ฌ็ซ‹ใ€ๅŠŸ่ƒฝๅ•ไธ€ไธ”ๅฏๅค็”จ็š„ๆจกๅ—๏ผŒ่ฎฉๆฏไธชๆจกๅ—ๅ„ๅธๅ…ถ่Œ๏ผŒๅ†้€š่ฟ‡ๆ ‡ๅ‡†ๆŽฅๅฃ็ตๆดป็ป„ๅˆใ€‚\\n 2. ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ\\nๅœจๆทฑๅ…ฅ็†่ฎบไน‹ๅ‰๏ผŒ่ฎฉๆˆ‘ไปฌๅ…ˆ้€š่ฟ‡ไธ€ไธช็ฎ€ๅ•็š„ JavaScript ็คบไพ‹๏ผŒ็›ด่ง‚ๅœฐๆ„Ÿๅ—ไธ€ไธ‹ไป€ไนˆๆ˜ฏๆจกๅ—ๅŒ–ใ€‚ๅ‡่ฎพๆˆ‘ไปฌ้œ€่ฆๅค„็†ไธ€ไบ›ๆ•ฐๅญฆ่ฟ็ฎ—๏ผŒๆˆ‘ไปฌๅฏไปฅๅฐ†ๅ…ถๅฐ่ฃ…ๆˆไธ€ไธช็‹ฌ็ซ‹็š„ๅทฅๅ…ทๆจกๅ—๏ผš\\n```javascript\\n// math.js - ๅฎšไน‰ไธ€ไธชๆ•ฐๅญฆๅทฅๅ…ทๆจกๅ—\\nexp\"},{\"url\":\"/10.ไบงๅ“ Sense/01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž/11.AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"relativePath\":\"/10.ไบงๅ“ Sense/01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž/11.AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"frontmatter\":{\"date\":\"2024-05-08 08:56:21\",\"title\":\"AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจๅคงๆจกๅž‹้‡ๅก‘ไบ’่”็ฝ‘ไบคไบ’็š„ๅฝ“ไธ‹๏ผŒPerplexity ๅนถๆœช้€‰ๆ‹ฉๆˆไธบโ€œไธ‹ไธ€ไธช Googleโ€๏ผŒ่€Œๆ˜ฏไปฅโ€œ็Ÿฅ่ฏ†ๅ‘็Žฐๅผ•ๆ“Žโ€็š„ๅ…จๆ–ฐๅฎšไฝ๏ผŒ็ฒพๅ‡†ๅˆ‡ๅ…ฅ็Ÿฅ่ฏ†ๅทฅไฝœ่€…็š„ๆ ธๅฟƒๅทฅไฝœๆตใ€‚ๆœฌๆ–‡่ทณๅ‡บๅ•็บฏ็š„ๆจกๅž‹่ƒฝๅŠ›ๅฏนๆฏ”๏ผŒไปŽไบงๅ“ Sense ไธŽๅทฅ็จ‹้€ป่พ‘็š„ๅŒ้‡่ง†่ง’๏ผŒๆทฑๅบฆๆ‹†่งฃ Perplexity ็š„็ ดๅฑ€ไน‹้“ใ€‚ๆˆ‘ไปฌๅฐ†ๆŽข่ฎจๅฎƒๅฆ‚ไฝ•้€š่ฟ‡ๅ็›ด่ง‰็š„ UI ๅˆ›ๆ–ฐ้‡ๅก‘ไบคไบ’่ตท็‚น๏ผŒๅฆ‚ไฝ•ๅœจๅทฅ็จ‹ๅฑ‚้ขๆญป็ฃ•ๅฐพ้ƒจๅปถ่ฟŸไธŽๅนป่ง‰ๆŽงๅˆถ๏ผŒไปฅๅŠๅฎƒๅฆ‚ไฝ•ๅˆฉ็”จๅทจๅคด็š„ๅˆฉๆถฆ็އๆŠคๅŸŽๆฒณๅฎž็Žฐ้”™ไฝ็ซžไบ‰ใ€‚ๆœ€็ปˆ๏ผŒๆˆ‘ไปฌๅฐ†่ง†็บฟๆŠ•ๅ‘ๆœชๆฅ๏ผŒไธ€็ชฅ AI ไปŽ่ขซๅŠจๅ“ๅบ”่ตฐๅ‘ไธปๅŠจๆŽข็ดข็š„ๆผ”่ฟ›่“ๅ›พใ€‚\",\"permalink\":\"/product-sense/perplexity-knowledge-worker\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"AI ๆœ็ดข\",\"็Ÿฅ่ฏ†ๅ‘็Žฐ\",\"ไบงๅ“ Sense\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"date\":\"2024-05-08 08:56:21\",\"capture\":\"1. ๅผ•่จ€\\nๅœจ AI ๆตชๆฝฎไธ‹๏ผŒๆœ็ดขๅผ•ๆ“Ž็š„่Œƒๅผๆญฃๅœจๅ‘็”Ÿ่ฝฌ็งปใ€‚ไฝœไธบๅฝ“ๅ‰ๅค‡ๅ—็žฉ็›ฎ็š„ AI ๆœ็ดขไบงๅ“๏ผŒPerplexity ๅนถๆฒกๆœ‰่ฏ•ๅ›พๆˆไธบโ€œไธ‹ไธ€ไธช Googleโ€๏ผŒ่€Œๆ˜ฏๅฐ†่‡ชๅทฑๅฎšไน‰ไธบ็Ÿฅ่ฏ†ๅ‘็Žฐๅผ•ๆ“Žใ€‚\\nๅฏนไบŽๆฏๅคฉ้œ€่ฆๅค„็†ๆตท้‡ไฟกๆฏใ€่ฟ›่กŒๅคๆ‚ๅ†ณ็ญ–็š„็Ÿฅ่ฏ†ๅทฅไฝœ่€…่€Œ่จ€๏ผŒๅฆ‚ไฝ•้ซ˜ๆ•ˆๅœฐโ€œๅŽปๅ™ชโ€ๅนถ่Žทๅ–้ซ˜ไฟกๅบฆ็Ÿฅ่ฏ†ๆ˜ฏๆ ธๅฟƒ่ฏ‰ๆฑ‚ใ€‚็ฌ”่€…ๅฐ†ไปŽไบงๅ“ไบคไบ’ใ€ๆŠ€ๆœฏๅทฅ็จ‹ใ€ๅ•†ไธš้€ป่พ‘ไธŽๆœชๆฅๆผ”่ฟ›ๅ››ไธช็ปดๅบฆ๏ผŒๅˆ†ๆž Perplexity ๆ˜ฏๅฆ‚ไฝ•้‡ๅก‘ไฟกๆฏ่Žทๅ–ๅทฅไฝœๆต็š„ใ€‚\\nๆœฌๆ–‡ๆ—จๅœจ้€š่ฟ‡ๅฏน Perplexity ็š„ๆทฑๅบฆไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž๏ผŒๅธฎๅŠฉ่ฏป่€…็†่งฃ AI ๆœ็ดขไบงๅ“็š„่ฎพ่ฎก้€ป่พ‘ไธŽ็”จๆˆทไฝ“้ชŒไผ˜ๅŒ–่ทฏๅพ„๏ผŒๅŒๆ—ถไธบ็Ÿฅ่ฏ†ๅทฅไฝœ่€…ๆไพ›ๅฏ่ฝๅœฐ็š„ๆ•ˆ็އๆๅ‡ๆ–นๆณ•๏ผŒๅนถๅœจ่ฟ‡็จ‹ไธญๅŸนๅ…ป็ป“ๆž„ๅŒ–ไบงๅ“ๅˆ†ๆžๆ€็ปดใ€‚\\n\"}],\"04\":[{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/70.่ฏ—ๆญŒๅฐ็ฒพ็ต\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/70.่ฏ—ๆญŒๅฐ็ฒพ็ต\",\"frontmatter\":{\"date\":\"2024-04-19 22:15:38\",\"title\":\"้›ถไปฃ็ ไธ็ญ‰ไบŽ้›ถ้€ป่พ‘๏ผš็ป“ๆž„ๅŒ– Prompt ้ฉฑๅŠจไธ‹็š„ Agent ๆญๅปบๅฎžๆˆ˜\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจ Agent ๆฆ‚ๅฟตๆปกๅคฉ้ฃž็š„ๅฝ“ไธ‹๏ผŒๅ†ณๅฎšๅคงๆจกๅž‹ๅฎž้™…่กจ็Žฐ็š„ๅพ€ๅพ€ๆ˜ฏๆœ€ๅบ•ๅฑ‚็š„ System Prompt ่ฎพ่ฎกใ€‚ๆœฌๆ–‡่ฎฐๅฝ•ไบ†ๅ‘จๆœซๅˆฉ็”จๆ–‡ๅฟƒๆ™บ่ƒฝไฝ“ๅนณๅฐๆญๅปบโ€œ่ฏ—ๆญŒๅฐ็ฒพ็ตโ€็š„ๅฎŒๆ•ดๅฎž่ทตใ€‚้€š่ฟ‡ๅฏนๆฏ”โ€œไผ ็ปŸๅคงๆฎตๆ–‡ๆœฌโ€ไธŽโ€œLangGPT ็ป“ๆž„ๅŒ–โ€ไธค็ง Prompt ็š„ๅฎž้™…่พ“ๅ‡บ๏ผŒๆทฑๅบฆๆ‹†่งฃไบ†็ป“ๆž„ๅŒ– Prompt ๅฆ‚ไฝ•ๅƒโ€œๅ†™ไปฃ็ โ€ไธ€ๆ ท่ง„่Œƒ AI ็š„ๆ€่€ƒๅทฅไฝœๆต๏ผŒๆœ‰ๆ•ˆ่งฃๅ†ณๆŒ‡ไปคๆผ‚็งปไธŽๅนป่ง‰้—ฎ้ข˜ใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ๆฌก Prompt ่ฐƒไผ˜ๅฎž้ชŒ๏ผŒๆ›ดๆ˜ฏไธ€ๅœบๅ…ณไบŽ AI ไบงๅ“ Sense ไธŽๆœชๆฅไบคไบ’ๅฝขๆ€็š„ๆŽข็ดขใ€‚\",\"coverImg\":\"/img/cover/llm_learning_bg_2.png\",\"categories\":[\"ai-practice\"],\"permalink\":\"/ai-practice/poetry-bot\",\"tags\":[\"Agent\",\"AI\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"้›ถไปฃ็ ไธ็ญ‰ไบŽ้›ถ้€ป่พ‘๏ผš็ป“ๆž„ๅŒ– Prompt ้ฉฑๅŠจไธ‹็š„ Agent ๆญๅปบๅฎžๆˆ˜\",\"date\":\"2024-04-19 22:15:38\",\"capture\":\"1. ๅฎž่ทต่ƒŒๆ™ฏ\\nๅ‘จๆœซๅœจ็คพๅŒบๆดปๅŠจไธญๅ†ๆฌกๅฌๅˆฐไบ† LangGPT ไฝœ่€…ไบ‘ไธญๆฑŸๆ ‘ๅ…ณไบŽโ€œ็ป“ๆž„ๅŒ–ๆ็คบ่ฏโ€็š„ๅˆ†ไบซ๏ผŒ่ฎฉไบบๆ„Ÿ่งฆ้ข‡ๆทฑใ€‚่™ฝ็„ถๅฝ“ๅ‰ Agent ๆฆ‚ๅฟต็ซ็ƒญ๏ผŒๅฑ‚ๅ‡บไธ็ฉท็š„ๆก†ๆžถ่ฎฉไบบ็œผ่Šฑ็ผญไนฑ๏ผŒไฝ†ๅ›žๅฝ’ๆœฌ่ดจๆˆ‘ไปฌๅฐฑไผšๅ‘็Žฐ๏ผšSystem Prompt ็š„ๅบ•ๅฑ‚่ฎพ่ฎกใ€ไธŠไธ‹ๆ–‡ๅทฅ็จ‹ไปฅๅŠๆŒ‡ไปค้ตๅพชๆœบๅˆถ๏ผŒๆ‰ๆ˜ฏๅ†ณๅฎšไธ€ไธช Agent ็ต้ญ‚็š„ๅ…ณ้”ฎใ€‚\\nๆญฃๅทงๅคงๅ›ข้˜Ÿ่‡ช็ ”็š„้›ถไปฃ็  Agent ๅนณๅฐ่ฟ‘ๆœŸๅ‘ๅธƒไบ†ๆ–ฐ็‰ˆๆœฌ๏ผŒไธบไบ†ไบฒๆต‹ๅนณๅฐๆ€ง่ƒฝๅนถๅฎžๆˆ˜ๆผ”็ปƒ็ป“ๆž„ๅŒ– Prompt ็š„็ผ–ๅ†™ๆŠ€ๅทง๏ผŒๆˆ‘ๅ†ณๅฎšๅˆ›ๅปบไธ€ไธชโ€œ่ฏ—ๆญŒๅฐ็ฒพ็ตโ€ Agentใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ไธช่ถฃๅ‘ณๅฎž้ชŒ๏ผŒๆ›ดๆ˜ฏไธบไบ†ๆŽข็ดข AI ๅœจๆ–‡ๅญฆๅˆ›ไฝœ่ฟ™็งโ€œๆ„Ÿๆ€ง้ข†ๅŸŸโ€ไธญ๏ผŒๅฆ‚ไฝ•้€š่ฟ‡โ€œ็†ๆ€ง็š„็ป“ๆž„็บฆๆŸโ€่พพๅˆฐๆ›ด้ซ˜็š„่พ“ๅ‡บไธŠ้™ใ€‚\\n 2. ๅนณๅฐไธŽ\"}],\"03\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2024-03-20 22:41:41\",\"title\":\"ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ๅœจ้œ€ๆฑ‚่พน็•Œๅ†…่ฟฝๆฑ‚ๆœ€ๅฐๅคๆ‚ๅบฆโ€”โ€”ไธๆ˜ฏๆ‹’็ปๅคๆ‚๏ผŒ่€Œๆ˜ฏไธไธปๅŠจๅˆถ้€ ๅคๆ‚ใ€‚\",\"description\":\"ๆทฑๅ…ฅ่งฃๆžๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™ๅœจ็ผ–็จ‹ไธŽ่ฎพ่ฎกไธญ็š„ๅ…ญๅคงๅœบๆ™ฏ๏ผšๆ‹’็ป่ฟ‡ๅบฆ้ข„ๅˆคใ€็งป้™คๅ†—ไฝ™้€ป่พ‘ใ€ๅŒน้…ๆžถๆž„่ง„ๆจกใ€ๅ…‹ๅˆถไพ่ต–ๅผ•ๅ…ฅใ€ๅฐ่ฃ…ๆœ€ๅฐๆŽฅๅฃใ€ๅ…ˆๆŽ’ๆŸฅ็ฎ€ๅ•ๅŽŸๅ› ๏ผŒๅนถ็ป™ๅ‡บไธ‰ไธชๅ…ณ้”ฎ่พน็•Œใ€‚\",\"permalink\":\"/fullstack/occams-razor-software-design\",\"tags\":[\"concept\",\"engineering-fundamentals\",\"code-design\",\"software-engineering\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2024-03-20 22:41:41\",\"capture\":\"<script setup\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n> ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™็”ฑ 14 ไธ–็บช้€ป่พ‘ๅญฆๅฎถๅจๅป‰ยทๅฅฅๅกๅง†ๆๅ‡บ๏ผŒๅ…ถๆ ธๅฟƒไธบ\\\"ๅฆ‚ๆ— ๅฟ…่ฆ๏ผŒๅ‹ฟๅขžๅฎžไฝ“\\\"โ€”โ€”ๅœจๅคšไธชๅŒ็ญ‰ๆœ‰ๆ•ˆ็š„ๆ–นๆกˆไธญ๏ผŒ้€‰ๆ‹ฉๅ‡่ฎพๆœ€ๅฐ‘ใ€ๆœ€็ฎ€ๆด็š„้‚ฃไธชใ€‚่ฏฅๅŽŸๅˆ™ๅนถ้žๅฆๅฎšๅคๆ‚ๆ€ง๏ผŒ่€Œๆ˜ฏ้ฟๅ…ๆ— ๆ„ไน‰็š„่ฟ‡ๅบฆ่ฎพ่ฎกใ€‚ๆ–‡็ซ ไปŽ็ผ–็จ‹ไธŽ่ฎพ่ฎกๅฎž่ทตๅ‡บๅ‘๏ผŒไพๆฌกๆŽข่ฎจไบ†้œ€ๆฑ‚ๅฎž็Žฐใ€ไปฃ็ ๅฎž็Žฐใ€ๆžถๆž„่ฎพ่ฎกใ€ไพ่ต–็ฎก็†ใ€ๆŽฅๅฃ่ฎพ่ฎกใ€่ฐƒ่ฏ•ไผ˜ๅŒ–ๅ…ญๅคงๅœบๆ™ฏ็š„ๅไพ‹ไธŽๆญฃไพ‹๏ผŒๅนถๆ˜Ž็กฎๆŒ‡ๅ‡บไธ‰ไธชๅ…ณ้”ฎ่พน็•Œ๏ผšไธๅฏ็‰บ็‰ฒๅฏ็ปดๆŠคๆ€งใ€ๅฏๆ‰ฉๅฑ•ๆ€งใ€ๅฎ‰ๅ…จๆ€งๆขๅ–็ฎ€ๆดใ€‚\\n 1.\"}],\"01\":[{\"url\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"relativePath\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"frontmatter\":{\"date\":\"2024-01-15 22:16:00\",\"title\":\"่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไนฆๆŽฅไธŠๆ–‡ใ€Šๅ‘ๅ†…ๆ€ๅ˜ใ€‹๏ผŒๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ๅœจๅŽ็–ซๆƒ…ๆ—ถไปฃไปŽโ€œ้—ญๅ…ณโ€่ตฐๅ‘โ€œๅ‘ๅค–ไฝ“้ชŒโ€็š„ๅฐ่ฏ•ไธŽๅฟƒๅพ—ใ€‚้ขๅฏนๆœบๆขฐๆ‰ง่กŒๅธฆๆฅ็š„โ€œ็›ฎๆ ‡้šง้“โ€ๆ•ˆๅบ”๏ผŒ็ฌ”่€…ๅฐ่ฏ•่ทณๅ‡บๅ•ไธ€็š„็บฟๆ€ง่ง„ๅˆ’๏ผŒ่ฝฌ่€Œๅฏปๆฑ‚ๆ›ดๅบ•ๅฑ‚็š„่ฎค็Ÿฅ้€ป่พ‘ใ€‚ๆ–‡็ซ ้€š่ฟ‡้‡่ฏปใ€Š่ฆไบ‹็ฌฌไธ€ใ€‹ๅปบ็ซ‹ๅนณ่กก่ง‚๏ผŒๅˆฉ็”จ็ณป็ปŸๆ€็ปด๏ผˆๅขžๅผบ/่ฐƒ่Š‚ๅ›ž่ทฏ๏ผ‰ๆž„ๅปบๆดžๅฏŸๅŠ›๏ผŒๅนถ้‡ๆ–ฐๆ‹พ่ตทๆ•ฐๅญฆๆ€็ปด๏ผˆๆฆ‚็އใ€็จ€็–ๆ€งใ€ๅคšๆ ทๆ€ง๏ผ‰ไธŽ AI ่ง†่ง’ใ€‚่ฟ™ๆ˜ฏไธ€ๆฌกๅ…ณไบŽๅฆ‚ไฝ•็”จ็ง‘ๅญฆๆจกๅž‹ๆ›ฟไปฃๆœบๆขฐๆ‰ง่กŒ๏ผŒไปŽๆœฌ่ดจไธŠ้‡ๆž„ไธชไบบ่ฎค็Ÿฅไฝ“็ณป็š„ๆทฑๅบฆๅค็›˜ใ€‚\",\"permalink\":\"/growth/outer-experience\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/outer_experience_bg.png\",\"sticky\":1,\"top\":true,\"tags\":[\"็ณป็ปŸๆ€็ปด\",\"ๆ•ฐๅญฆๆ€็ปด\",\"ๆจกๅž‹ๆ€็ปด\",\"AI\",\"็–ซๆƒ…\"],\"categories\":[\"ไธชไบบๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"date\":\"2024-01-15 22:16:00\",\"capture\":\"1. ๅ†™ๅœจๅ‰้ข\\nๆ—ถๅ…‰่่‹’๏ผŒ็–ซๆƒ…ๅทฒ็ป็”ฑๆ”พๅผ€็Šถๆ€็ปง็ปญๆผ”ๅ˜ไธบ่ฟ‡ๅŽปๅผ็Šถๆ€๏ผŒๆˆ‘ไปฌไบบ็ฑปไนŸไปŽใ€Ž้—ญๅ…ณใ€่ตฐๅ‘ไบ†ใ€Ž่‡ช็”ฑใ€็š„็คพไผš็”Ÿๆดป็Šถๆ€ใ€‚็ฌ”่€…ไฝœไธบ็คพไผšไธญ็š„ๆ™ฎ้€šไธ€ๅ‘˜๏ผŒ่‡ช็„ถไนŸไธ็ฆปๅค–๏ผŒๅœจ 2023 ๅนดๅˆๆด‹ๆด‹ๆด’ๆด’ๅ†™ไบ†ไธ€็ฏ‡ๅœจๅฅๅบทใ€่ฏปไนฆไธŽๅญฆไน ใ€ๆ—ถ้—ด็ฎก็†ๅ’Œๆททๅˆๅทฅไฝœๅˆถๅ‡ ไธชๆ–น้ข็š„ๅฎž่ทตไธŽ็†่งฃ๏ผˆๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ๏ผ‰๏ผŒๅฐฑๅผ€ๅผ€ๅฟƒๅฟƒๅœฐๅ‘ๅ‰็œ‹๏ผŒๅญฆ็€ๅ‘ๅค–ไฝ“้ชŒไบ†ใ€‚\\n้‚ฃไนˆ้—ฎ้ข˜ๆฅไบ†๏ผŒ็›ธๆฏ”ไน‹ๅ‰ๅ†™ๅ‡บ้•ฟๆ–‡๏ผŒ็ฌ”่€…ๅˆๆ˜ฏ่ฟ‘ไธ€ๅนดๆฒกๆœ‰ๅ‘ๅค–่พ“ๅ‡บ่ฝฏๆ–‡ไบ†ใ€‚ๅ› ๆญค๏ผŒไนฆๆŽฅไธŠๆ–‡๏ผŒๆœฌๆฌก็ปง็ปญๆ–ฐๅขžไธ€็ฏ‡ไธญ็Ÿญๆ–‡๏ผŒๆผซ่ฐˆไธ€ไธ‹็–ซๆƒ…ๅŽ็š„ๅ‘ๅค–ไฝ“้ชŒใ€‚\\nๅœจๅ€’้€ผ่‡ชๅทฑๅ…ณๆณจ่บซไฝ“ๅฅๅบทๅ’Œๆ—ถ้—ด็ฎก็†ๅŽ๏ผŒ่™ฝ็„ถๅœจไฝ“้‡ๅ’Œๆ•ˆ็އไธคไธชๆ–น้ขๆœ‰ไธ€ๅฎš็š„ๆญฃๅ‘ๆ•ˆๆžœ๏ผŒไฝ†็ฌ”่€…ๅœจ่ฟž็ปญๅšๆŒ่ฝๅœฐๆ‹†่งฃๅ‡บๆฅ็š„็›ฎๆ ‡่ฟ‡็จ‹ไธญ๏ผŒๆœ‰ๆ—ถ\"},{\"url\":\"/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/50.็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“\",\"relativePath\":\"/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/50.็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“\",\"frontmatter\":{\"date\":\"2024-01-01 16:00:00\",\"title\":\"็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“\",\"description\":\"ๅฐ†็ปๆตŽๅญฆๆ ธๅฟƒๅŽŸ็†่žๅˆ่ฟ›ไบงๅ“่ฎพ่ฎกๅ…จ็”Ÿๅ‘ฝๅ‘จๆœŸ็š„ๆ–นๆณ•่ฎบไฝ“็ณป๏ผŒๆž„ๅปบ็†ๆ€ง็š„โ€œไบงๅ“Senseโ€ใ€‚\",\"categories\":[\"ไบงๅ“ Sense\"],\"permalink\":\"/product-sense/using-economics-thinking\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“\",\"date\":\"2024-01-01 16:00:00\",\"capture\":\"ๅœจไบงๅ“็ฎก็†็š„ๅนฟ้˜”ๅคฉๅœฐไธญ๏ผŒๆˆ‘ไปฌๅพ€ๅพ€ๅผบ่ฐƒโ€œไบงๅ“ Senseโ€๏ผˆProduct Sense๏ผ‰โ€”โ€”ไธ€็งๅฏน็”จๆˆท้œ€ๆฑ‚ใ€ๅธ‚ๅœบ้ฃŽๅ‘ๅ’ŒๆŠ€ๆœฏๆฝœๅŠ›็š„็›ด่ง‰ๆ€งๆ•ๆ‰ใ€‚็„ถ่€Œ๏ผŒ่ฟ™็ง Sense ็ป้žๅ‡ญ็ฉบ่€Œๆฅ็š„็ตๅ…‰ไน็Žฐ๏ผŒๅฎƒ้œ€่ฆ็จณๅ›บ็š„็†ๆ€งๅœฐๅŸบใ€‚ๅœจไผ—ๅคšๅญฆ็ง‘ไธญ๏ผŒ็ปๆตŽๅญฆๆ— ็–‘ๆไพ›ไบ†ๆœ€ๅบ•ๅฑ‚็š„้€ป่พ‘ๆ”ฏๆŸฑใ€‚\\n็ปๆตŽๅญฆไธไป…ไป…ๆ˜ฏๅ…ณไบŽ้‡‘้’ฑๅ’Œๅธ‚ๅœบ็š„็ง‘ๅญฆ๏ผŒๅฎƒๆ›ดๆ˜ฏไธ€็ง่งฃๅ†ณ้—ฎ้ข˜ใ€ไผ˜ๅŒ–ๅ†ณ็ญ–็š„ๆ–นๅผใ€‚ๅฏนไบงๅ“ไบบ่€Œ่จ€๏ผŒๅ€Ÿ้‰ด็ปๆตŽๅญฆๆ€็ปด๏ผŒๆ„ๅ‘ณ็€่ƒฝๅคŸ็†ๆ™บๅœฐๆƒ่กกๅˆฉๅผŠ๏ผŒๆ›ด็ฒพๅ‡†ๅœฐๅฎšไปท๏ผŒๆ›ดๆทฑๅˆปๅœฐๆดžๅฏŸไบบๆ€ง๏ผŒๆœ€็ปˆๅœจ้”™็ปผๅคๆ‚็š„็บฆๆŸๆกไปถไธ‹๏ผŒๆฑ‚่งฃๅ‡บ็”จๆˆทไปทๅ€ผไธŽๅ•†ไธšไปทๅ€ผๅนถ้‡็š„ๆœ€ไผ˜่งฃใ€‚\\n 1. ็”Ÿๆดป้‡Œ็š„็ปๆตŽๅญฆๆดžๅฏŸโ€”โ€”ๆดžๅฏŸไธไป…ๆ˜ฏๅ…ณไบŽ้œ€ๆฑ‚๏ผŒๆ›ดๆ˜ฏๅ…ณไบŽๆˆๆœฌไธŽๅšๅผˆ\\nๆˆ‘ไปฌๅธธ่ขซๆ—ฅๅธธ็Žฐ่ฑก็š„โ€œๅˆ็†ๆ€งโ€ๆ‰€่ฟทๆƒ‘๏ผŒ่€Œ็ปๆตŽๅญฆ\"},{\"url\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/01.ๅฅฝไนฆๆŽจ่\",\"relativePath\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/01.ๅฅฝไนฆๆŽจ่\",\"frontmatter\":{\"title\":\"ๅฅฝไนฆๆŽจ่\",\"date\":\"2024-01-01 16:00:00\",\"description\":\"่ฏปไนฆๅฟƒๅพ—ใ€ๆŽจ่ไนฆ็ฑๅ’Œ้˜…่ฏปๆŠ€ๅทง\",\"categories\":[\"growth\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/books_reading_bg.png\",\"permalink\":\"/growth/books\",\"tags\":[\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\",\"่ต„ๆบๆŽจ่\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฅฝไนฆๆŽจ่\",\"date\":\"2024-01-01 16:00:00\",\"capture\":\"<script setup\\n import BookRecommend from './@fragment/BookRecommend.vue'\\n import {aiBooks, productSenseBooks, businessBooks, efficiencyBooks, growthBooks, humanSocialBooks, healthBooks} from './@fragment/recommends-data.ts'\\n</script>\\n 1. AI ไธŽๆ•ฐๅญฆๆ€็ปด\\n> ๅœจๅคงๆจกๅž‹ๅ‘ๅฑ•ๆ—ฅๆ–ฐๆœˆๅผ‚็š„ไปŠๅคฉ๏ผŒ็†่งฃ AI ๆœฌ่ดจไธŠๆ˜ฏๅœจๅ‡็บงๆˆ‘ไปฌ่ต„ๆทฑ็š„โ€œ่ฎค็Ÿฅๆ“\"}]},\"2023 \":{\"01\":[{\"url\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"relativePath\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"frontmatter\":{\"date\":\"2023-01-08 10:23:50\",\"title\":\"ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅฆ‚ไฝ•้ฟๅ…ๅ†…่€—๏ผŸๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ไธ‰ๅนด้—ด็š„โ€œ่‡ชๆˆ‘้‡ๆž„โ€ๅฎž้ชŒใ€‚ๆ–‡็ซ ๆ‘’ๅผƒไบ†ๅ•็บฏ็š„ๆƒ…็ปชๅฎฃๆณ„๏ผŒ่€Œๆ˜ฏๅˆฉ็”จๅˆ†่งฃๆณ•ใ€ๆธ่ฟ›ๆ˜Ž็ป†ๅ’Œ็ปŸ่ฎกๅˆ†ๆž็ญ‰ๅทฅ็จ‹ๆ€็ปด๏ผŒๅฏนๅฅๅบท้ฅฎ้ฃŸใ€็Ÿฅ่ฏ†ไฝ“็ณปใ€ๆ—ถ้—ดๅˆ†้…ๅŠ่ฟœ็จ‹ๅไฝœ่ฟ›่กŒไบ†็ณป็ปŸๅŒ–ๆ”น้€ ใ€‚่ฟ™ๆ˜ฏไธ€ไปฝๅ…ณไบŽๅฆ‚ไฝ•ๅœจๆ— ๅธธ็š„ๅค–้ƒจ็Žฏๅขƒไธญ๏ผŒๅปบ็ซ‹ๅ†…ๅœจ็กฎๅฎšๆ€ง็งฉๅบ็š„่กŒๅŠจๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/growth/inner-experience\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/refactor_life.png\",\"sticky\":1,\"top\":true,\"categories\":\"ไธชไบบๆˆ้•ฟ\",\"tags\":[\"ๅฅๅบท\",\"ๆ—ถ้—ด\",\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\",\"่ฟœ็จ‹ๅไฝœ\",\"็–ซๆƒ…\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"date\":\"2023-01-08 10:23:50\",\"capture\":\"<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/refactor_life.png\\\" alt=\\\"็›ฎๆ ‡ๅˆฐ่ทต่กŒๆ€็ปดๆต็จ‹็คบๆ„ๅ›พ\\\" style=\\\"width: 100%; border-radius: 8px;\\\" />\\n ๅ†™ๅœจๅ‰้ข\\n่‡ชๅŽปๅนด 7 ๆœˆไปฝ่ฟ็งปๅ‡ ็ฏ‡ๆ—งๆ–‡ๅŽ๏ผŒ็ฌ”่€…ๅฐฑๆฒกๆœ‰็ปง็ปญๅ†™่ฝฏๆ–‡ไบ†๏ผŒๆƒณไธๅˆฐๅ†ๆฌกๅ†™ๆ–‡็ซ ๆ—ถ็–ซๆƒ…ๆ”ฟ็ญ–ๅทฒ็ป่ฐƒๆ•ด๏ผŒไธ”ๅˆๆญฅๅฎž็Žฐไบ†ๅผ€ๆ”พใ€‚้‚ฃไนˆ้—ฎ้ข˜ๆฅไบ†๏ผŒไธบไป€ไนˆ่ฆ็ปง็ปญๅ†™ๆ–‡็ซ ๅ‘ข๏ผŸๆฆ‚ๆ‹ฌๆฅ่ฎฒ๏ผŒๆœ‰ไธคไธชๆ–น้ข็š„ๅŽŸๅ› ๏ผš\\n* ็›ดๆŽฅๅŽŸๅ› ๏ผš็–ซๆƒ…่ฟ™ไธ‰ๅนด๏ผŒๆฏไธชไบบ้ƒฝไฝ“้ชŒๅˆฐไบ†ไธๅŒไบŽไน‹ๅ‰็š„ โ€œ้šพโ€๏ผŒไนŸ้ƒฝๆœ‰\"}]},\"2022 \":{\"09\":[{\"url\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/20.ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹้˜ถๆฎต้š็ฌ”ๆฑ‡ๆ€ป\",\"relativePath\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/20.ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹้˜ถๆฎต้š็ฌ”ๆฑ‡ๆ€ป\",\"frontmatter\":{\"date\":\"2022-09-12 08:16:00\",\"title\":\"็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ”นๅ–„็š„ๆ–นๅผๆŽจๅŠจๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไปŽโ€œไนฆ็”Ÿๆ„ๆฐ”โ€ๅˆฐๅˆๅ…ฅ็คพไผš็š„โ€œไธญๅนดๆฒน่…ปโ€ๅฑๆœบ๏ผŒไธ€ๆฌกๅฅๅบท่ญฆๆŠฅ่ฎฉ็ฌ”่€…ๅผ€ๅฏไบ†่ฟ™ๅœบๆทฑๅˆป็š„่‡ชๆˆ‘ๅฏน่ฏไธŽ่กŒๅŠจใ€‚ๆœฌๆ–‡่ฏฆ็ป†ๅค็›˜ไบ†็ฌ”่€…ไปŽๅฅๅบทๅฑๆœบๅ‡บๅ‘๏ผŒ้€š่ฟ‡ๅ››ไธช้˜ถๆฎต็š„ๅพชๅบๆธ่ฟ›๏ผŒๆˆๅŠŸๅฎž็Žฐไฝ“้‡็ฎก็†็š„่ฟ‡็จ‹ใ€‚ๅŒบๅˆซไบŽ็›ฒ็›ฎ่ทŸ้ฃŽ๏ผŒ็ฌ”่€…ๅœจๅฎž่ทตไธญๅผ•ๅ…ฅไบ†็›ฎๆ ‡ๆ‹†่งฃใ€ๆ•ฐๆฎ็›‘ๆŽง๏ผˆไฝ“่„‚็งคๆŒ‡ๆ ‡๏ผ‰ใ€่ทจ้ข†ๅŸŸ็ป้ชŒ่ฟ็งป๏ผˆๅฆ‚้กน็›ฎ็ฎก็†ใ€ๆ—ถ้—ด็ฎก็†๏ผ‰ไปฅๅŠๅฏนไธๅŒ็ญ–็•ฅ๏ผˆๅฆ‚ๆŽงๅˆถ้ฅฎ้ฃŸใ€ๅŠ ๅคงๆ— ๆฐง่ฟๅŠจใ€ๅฐ่ฏ•ไธๅƒไธป้ฃŸ๏ผ‰็š„่พฉ่ฏ้‡‡็บณใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ไปฝๅ‡่‚ฅ่ฎฐๅฝ•๏ผŒๆ›ดๆ˜ฏไธ€ๆฌก็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ€็ปด้‡ๆž„็”Ÿๆดป็งฉๅบใ€ๅฎž็Žฐ่บซๅฟƒๅ‡็บง็š„ๅฎžๆ“ๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/growth/weight-loss\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/health_bg.png\",\"top\":true,\"tags\":[\"ๅฅๅบท\",\"่ฟๅŠจ\"],\"categories\":[\"ไธชไบบๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ”นๅ–„็š„ๆ–นๅผๆŽจๅŠจๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹\",\"date\":\"2022-09-12 08:16:00\",\"capture\":\"ๅ†™ๅœจๅ‰้ข\\nๅœจ็ปๆตŽๅฟซ้€Ÿๅ‘ๅฑ•็š„ๅคง่ƒŒๆ™ฏไธ‹๏ผŒไธ€ๆ‰นๅˆไธ€ๆ‰น็š„ๅคงๅญฆ็”Ÿ้™†็ปญ่ตฐๅ‡บๆ ก้—จ่ฟ›ๅ…ฅ็คพไผšๅคง่ˆžๅฐใ€‚้š็€ๅนด้พ„ไธŽๅทฅไฝœๅนด้™็š„ๅขž้•ฟ๏ผŒไธ็Ÿฅ็ฝฎ่บซไบŽๅ…ถไธญ็š„ไฝ ๆ˜ฏๅฆๆ„Ÿๆ…จ่ฟ‡่‡ชๅทฑๅœจ้˜…ๅކไธŠไปŽโ€œไนฆ็”Ÿๆ„ๆฐ”โ€ๆธๆธๆผ”ๅ˜ไธบโ€œๅ››ๅนณๅ…ซ็จณ๏ผŒๆธธๅˆƒๆœ‰ไฝ™โ€๏ผ›ๅœจ่บซไฝ“ๅ…ปๆŠคๆ–น้ขไปŽโ€œ่บซๆๆ— ๆ•Œ๏ผŒๅนด้พ„ๆˆ่ฟท๏ผŒๅฎžๆ‰“ๅฎžไธ€ไธชไผ ๅฅ‡โ€ๆผ”ๅ˜ไธบโ€œไธญๅนดๆฒน่…ปโ€ใ€‚ๆฏไธชไบบๅคšๅฐ‘้ƒฝๆœ‰่‡ชๅทฑ็š„็ญ”ๆกˆ๏ผŒ็ฌ”่€…็š„็ญ”ๆกˆๆ˜ฏ๏ผš่ตฐๅ‡บๆ ก้—จ่ฟ›ๅ…ฅ็คพไผšๅŽ๏ผŒๅฝ“ๅˆๅฏน่บซ่พนไบบๆœ‰็‚น่‹›ๅˆป๏ผŒ้‡ไบ‹็ซๆ€ฅ็ซ็‡Ž็š„่‡ชๅทฑ้€ๆธๅพ—ๅˆฐไบ†ๆ”นๅ–„ใ€‚่บซไฝ“ๅดๅ› ๅŽŸๆœฌๅœจๅคงๅญฆๆ—ถๆฒกๆœ‰ๆ€Žไนˆๅœจๆ„๏ผŒ็ป่ฟ‡้•ฟๅนด็ดฏๆœˆๅœฐๆด—็คผไบฎไบ†ไธ€ๆฌกๅฐ็บข็ฏใ€‚ๅœจๅบทๅคๆœŸ้—ด๏ผŒไธๆญขไธ€ๆฌกๅๆ€่ฟ‡ไน‹ๅ‰็š„็”Ÿๆดปๆ–นๅผๅ’Œๅ…ฅไธ–ๆจกๅผ๏ผŒๆƒณไธ€ๆƒณ + ๅ››ๅค„็œ‹ไธ€็œ‹ๅŽ๏ผŒๆ…ขๆ…ขไนŸๅฐฑๅผ€ๆ‚Ÿไบ†๏ผŒ่‡ช็„ถ่ฆๅฏๅŠจไธ€ไบ›ๆ”นๅ˜ๅฐ่ฏ•ใ€‚\\nๅ› ๆญค๏ผŒไนŸๅฐฑๆœ‰ไบ†่ฟ™็ฏ‡ๅ‡่‚ฅ่ฟ™ไปถ\"}]}},\"groupPosts\":{\"categories\":{\"AI ๅญฆไน ไธŽๅฎž่ทต\":[{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/10.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Deep Research Agent\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/10.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Deep Research Agent\",\"frontmatter\":{\"date\":\"2026-04-02 00:38:37\",\"title\":\"ๅฃฐๆ˜Žๅผๅคšๆ™บ่ƒฝไฝ“ๅๅŒ๏ผšๅŸบไบŽ Claude Agent SDK ๆž„ๅปบๆทฑๅบฆ็ ”็ฉถ็ณป็ปŸ\",\"description\":\"ๅฏนๅคๆ‚็ ”็ฉถไปปๅŠกๆ—ถ๏ผŒๅ•ๆ™บ่ƒฝไฝ“๏ผˆSingle-Agent๏ผ‰ๅธธๅ› ไธŠไธ‹ๆ–‡็จ€้‡Šๅ’Œ้€ป่พ‘็–ฒๅŠณๅฏผ่‡ดไบงๅ‡บ่ดจ้‡ไธ‹้™ใ€‚ๆœฌๆ–‡ๅŸบไบŽ Claude Agent SDK ๆŽข่ฎจไบ†ๅคšๆ™บ่ƒฝไฝ“็ณป็ปŸ๏ผˆMAS๏ผ‰็š„ๅทฅ็จ‹ๅŒ–่ฝๅœฐใ€‚้€š่ฟ‡โ€œLead + Subagentโ€็š„ๅฃฐๆ˜Žๅผๆžถๆž„๏ผŒๆˆ‘ไปฌๅฐ†ๆทฑๅบฆ็ ”็ฉถๆ‹†่งฃไธบๆœ็ดขใ€้‡ๅŒ–ๅˆ†ๆžใ€ๅฏ่ง†ๅŒ–็ป˜ๅ›พไธŽ็ป“ๆž„ๅŒ–ๅ†™ไฝœๅ››ไธช็‹ฌ็ซ‹็Žฏ่Š‚ใ€‚\",\"permalink\":\"/ai-agent/deepresearch-agent\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"],\"tags\":[\"Agent SDK\",\"Multi-Agent\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฃฐๆ˜Žๅผๅคšๆ™บ่ƒฝไฝ“ๅๅŒ๏ผšๅŸบไบŽ Claude Agent SDK ๆž„ๅปบๆทฑๅบฆ็ ”็ฉถ็ณป็ปŸ\",\"date\":\"2026-04-02 00:38:37\",\"capture\":\"> ๅฎž่ทต่ฏๆ˜Ž๏ผŒ้€š่ฟ‡ไธฅๆ ผ็š„่Œ่ดฃ้š”็ฆป๏ผˆๅฆ‚ Lead Agent ไป…่ดŸ่ดฃ่ฐƒๅบฆ๏ผ‰ไธŽๅทฅ็จ‹่พน็•Œ็บฆๆŸ๏ผˆๅฆ‚ Researcher ๅผบๅˆถๆๅ–้‡ๅŒ–ๆŒ‡ๆ ‡๏ผ‰๏ผŒMAS ่ƒฝๅคŸ็”Ÿๆˆๅ…ทๅค‡ไธ“ไธšๆ•ฐๆฎๅ›พ่กจๆ”ฏๆ’‘็š„ๆทฑๅบฆๆŠฅๅ‘Šใ€‚ๆœฌๆ–‡ๅฐ†ไปŽๆžถๆž„่ฎพ่ฎกใ€ๅทฅไฝœๆต็ผ–ๆŽ’ๅˆฐ PDF ่‡ชๅŠจ็”Ÿๆˆ๏ผŒๅฎŒๆ•ด่ฟ˜ๅŽŸ่ฟ™ไธ€โ€œAI ้ฉฑๅŠจ่ฐƒ็ ”ๆตๆฐด็บฟโ€็š„ๆž„ๅปบ่ฟ‡็จ‹๏ผŒๅนถๅฑ•็คบๅ…ถๅœจๆ•™่‚ฒ็ ”็ฉถๆกˆไพ‹ไธญ็š„ๅฎžๆˆ˜ๆ•ˆๆžœใ€‚\\n 1. ๅผ•่จ€\\nๅœจ AI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐไธ€ๆ–‡ไธญ๏ผŒๆˆ‘ไปฌๆŽข่ฎจไบ†ๅคšๆ™บ่ƒฝไฝ“็ณป็ปŸ๏ผˆMulti-Agent Systems, MAS๏ผ‰็š„็†่ฎบไผ˜ๅŠฟใ€‚ไปŽ็†่ฎบๅฑ‚้ข็œ‹๏ผŒ่ฟ™็ฑป็ณป็ปŸ้€š่ฟ‡ไปปๅŠกๅˆ†่งฃใ€่Œ่ดฃ้š”็ฆปไธŽๅนถ่กŒๅไฝœๆœบๅˆถ๏ผŒๆœ‰ๆ•ˆ็ช็ ดไบ†ๅ•ๆ™บ่ƒฝไฝ“ๅœจๅคๆ‚ไปปๅŠกไธญ็š„่ƒฝๅŠ›็“ถ้ขˆโ€”โ€”ไธไป…ๆ˜พ่‘—ๆๅ‡ไบ†ไปปๅŠกๅค„็†็š„ๅคฉ่Šฑๆฟ\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/10.Agent SKills\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/10.Agent SKills\",\"frontmatter\":{\"date\":\"2026-03-05 23:11:25\",\"title\":\"ๅฆ‚ไฝ•็ผ–ๅ†™ไธ€ไธช้ซ˜ๅฏ็”จ็š„ Agent Skill๏ผŸไปŽๆœบๅˆถๆ‹†่งฃๅˆฐ็”Ÿไบงๅฎž่ทตๆŒ‡ๅ—\",\"description\":\"ๅคง่ฏญ่จ€ๆจกๅž‹ๅœจ็‰นๅฎšๅทฅ็จ‹้ข†ๅŸŸๅธธ้ขไธดโ€œ็Ÿฅ่€Œไธ่กŒโ€็š„ๅ›ฐๅขƒใ€‚ๆœฌๆ–‡ๆทฑๅบฆๆ‹†่งฃ Anthropic ๆœ€ๆ–ฐๆŽจๅ‡บ็š„ Agent Skills ่ง„่Œƒ๏ผŒๆญ็ง˜ๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆธ่ฟ›ๅผๆŠซ้œฒไธŽไธ‰็บงๅŠ ่ฝฝๆœบๅˆถ๏ผŒๅœจๆŽงๅˆถ Token ๆˆๆœฌ็š„ๅŒๆ—ถๆ˜พ่‘—ๆๅ‡ Agent ็š„ไปปๅŠกๆ‰ง่กŒ็ฒพๅบฆใ€‚ๆ–‡็ซ ๆถต็›–ไบ†ไปŽๆ–‡ไปถๅคนๆžถๆž„่ฎพ่ฎกๅˆฐๅฎžๆˆ˜ git-workflow ็ผ–ๅ†™็š„ๅ…จๆต็จ‹ๆŒ‡ๅ—๏ผŒๅŠฉไฝ ๅฐ†้›ถๆ•ฃ็š„ Prompt ่ฝฌๅŒ–ไธบๆ ‡ๅ‡†ๅŒ–็š„ๆ•ฐๅญ—่ต„ไบงใ€‚\",\"permalink\":\"/ai-agent/skills-practice-summary\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\",\"Agent ็ณปๅˆ—\"],\"tags\":[\"Agent Skills\",\"Agent\",\"AI\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฆ‚ไฝ•็ผ–ๅ†™ไธ€ไธช้ซ˜ๅฏ็”จ็š„ Agent Skill๏ผŸไปŽๆœบๅˆถๆ‹†่งฃๅˆฐ็”Ÿไบงๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-03-05 23:11:25\",\"capture\":\"1. ๅผ•่จ€๏ผšAgent Skills ๆ˜ฏไป€ไนˆ๏ผŸ\\nๅœจๅคง่ฏญ่จ€ๆจกๅž‹๏ผˆLLM๏ผ‰็š„่ฝๅœฐๅฎž่ทตไธญ๏ผŒๅผ€ๅ‘่€…็ปๅธธ้ขไธดไธ€ไธชๅ…ฑๆ€งๆŒ‘ๆˆ˜๏ผšๆจกๅž‹ๅœจ็‰นๅฎš็ป†ๅˆ†้ข†ๅŸŸๅพ€ๅพ€ๅค„ไบŽโ€œ็Ÿฅ่€Œไธ่กŒโ€็š„็Šถๆ€โ€”โ€”่™ฝ็„ถๆ‹ฅๆœ‰ๅšๆ‚็š„็Ÿฅ่ฏ†๏ผŒๅด็ผบไนๆ‰ง่กŒๅคๆ‚ไปปๅŠก็š„ไธ“ไธš่ทฏๅพ„ใ€‚\\nไธบไบ†่งฃๅ†ณ่ฟ™ไธ€็—›็‚น๏ผŒAnthropic ๅœจๅ…ถๆ——่ˆฐๆจกๅž‹ Claude 3.7 ็ณปๅˆ—ไธญๆญฃๅผๆŽจๅ‡บไบ† Claude Skillsใ€‚่ฟ™ไธ€ๅŠŸ่ƒฝๅฐ† LLM ็š„่ƒฝๅŠ›ๅฐ่ฃ…ไธบ็›ด่ง‚็š„โ€œ่ƒฝๅŠ›ๆ–‡ไปถๅคนโ€๏ผŒๆžๅคงๆๅ‡ไบ†ๆ™บ่ƒฝไฝ“็š„ๅฎž็”จๆ€ง๏ผŒๅนถ่ฟ…้€Ÿๅœจๅผ€ๅ‘่€…็คพๅŒบๅผ•ๅ‘็ƒญ่ฎฎใ€‚2025 ๅนด 12 ๆœˆ๏ผŒ้š็€ Anthropic ่”ๅˆ็”Ÿๆ€ไผ™ไผดๆญฃๅผๅผ€ๆบ Agent Skills ่ง„่Œƒ๏ผŒAgent Skills ็š„ๆ ‡ๅ‡†ๅŒ–ไนŸๆญฃๅผๅผ€ๅฏ๏ผˆ่€Œ่ฟ™ไธ€่ƒฝๅŠ›\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/02.Agent ่ง„ๅˆ’ๆจกๅ—\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/02.Agent ่ง„ๅˆ’ๆจกๅ—\",\"frontmatter\":{\"date\":\"2026-02-24 20:52:37\",\"title\":\"ๆŽขๅฏป Agent ๅ†ณ็ญ–ไธญๆžข๏ผš่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„่ง„ๅˆ’่Œƒๅผ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฆ‚ๆžœ่ฏด LLM ๆ˜ฏ Agent ็š„ๅคง่„‘๏ผŒ่ง„ๅˆ’ๆจกๅ—ๅˆ™ๆ˜ฏๅ…ถ่ดŸ่ดฃๅคๆ‚ๅ†ณ็ญ–็š„โ€œๅ‰้ขๅถโ€ใ€‚ๆœฌๆ–‡ๆทฑๅบฆ่งฃๆž„ไบ† Agent ่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„ๆ ธๅฟƒ่ทฏๅพ„๏ผšไปŽไปปๅŠกๅˆ†่งฃ็š„้™ไฝŽ็†ตๅ€ผ๏ผŒๅˆฐ่‡ชๆˆ‘ๅๆ€็š„้—ญ็ŽฏๆŽงๅˆถใ€‚้€š่ฟ‡ๅฏนๆฏ”โ€œ่พน่ตฐ่พน็œ‹โ€็š„ ReAct ๅŠจๆ€ๅ“ๅบ”ๆจกๅผไธŽโ€œ่ฐ‹ๅฎšๅŽๅŠจโ€็š„ Plan-and-Execute ้ข„็ผ–ๆŽ’ๆจกๅผ๏ผŒๆœฌๆ–‡ๆญ็คบไบ†ๅฆ‚ไฝ•้’ˆๅฏน้•ฟ้“พ่ทฏๅทฅ็จ‹ไปปๅŠกๆž„ๅปบ็จณๅฅ็š„ๅ†ณ็ญ–่Œƒๅผ๏ผŒๅŠฉไฝ ๅฎŒๆˆไปŽโ€œ็ฎ€ๅ•ๆ็คบ่ฏโ€ๅˆฐโ€œๅคๆ‚ๆžถๆž„่ฎพ่ฎกโ€็š„่ฎค็Ÿฅ่ทƒ่ฟใ€‚\",\"permalink\":\"/ai-agent/planning-module\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆŽขๅฏป Agent ๅ†ณ็ญ–ไธญๆžข๏ผš่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„่ง„ๅˆ’่Œƒๅผ\",\"date\":\"2026-02-24 20:52:37\",\"capture\":\"1. ๅผ•่จ€\\nๅœจไบบ็ฑปๅคง่„‘ไธญ๏ผŒๅ‰้ขๅถ็šฎๅฑ‚่ดŸ่ดฃๅคๆ‚็š„่ฎค็Ÿฅ่ง„ๅˆ’ใ€ๅ†ณ็ญ–ๅ’Œ็คพไบค่กจ็Žฐใ€‚ๅฏนไบŽไธ€ไธช Agent ่€Œ่จ€๏ผŒ่ง„ๅˆ’ๆจกๅ—ๆญฃๆ˜ฏๅฎƒ็š„โ€œๅ‰้ขๅถโ€โ€”โ€”ๅฎƒๅ†ณๅฎšไบ† Agent ๆ˜ฏๅชไผšๆœบๆขฐๅ“ๅบ”ๆŒ‡ไปค็š„โ€œๆœจๅถโ€๏ผŒ่ฟ˜ๆ˜ฏ่ƒฝ็‹ฌ็ซ‹ๆ‹†่งฃ็›ฎๆ ‡ใ€ๅœจๅคๆ‚็Žฏๅขƒไธญๅฏปๆ‰พๆœ€ไผ˜่ทฏๅพ„็š„โ€œๆ•ฐๅญ—ๅ‘˜ๅทฅโ€ใ€‚\\nAgent ็š„่ง„ๅˆ’่ƒฝๅŠ›ไธป่ฆ็”ฑไธค้ƒจๅˆ†ๅๅŒ้ฉฑๅŠจ๏ผšไปปๅŠกๅˆ†่งฃไธŽ่‡ชๆˆ‘ๅๆ€ใ€‚\\n 2. ไปปๅŠกๅˆ†่งฃ๏ผšๅŒ–็นไธบ็ฎ€็š„็ญ–็•ฅ\\nไปปๅŠกๅˆ†่งฃๆ˜ฏๆŒ‡ๅฐ†ไธ€ไธชๅคๆ‚็š„็›ฎๆ ‡ๆˆ–ไปปๅŠกๆ‹†่งฃไธบๅคšไธชๅ…ทไฝ“ใ€ๅฏๆ“ไฝœ็š„็š„ๅญไปปๅŠก๏ผŒไปฅไพฟ Agent ่ƒฝๅคŸๆ›ด้ซ˜ๆ•ˆๅœฐๆ‰ง่กŒๅ’Œ็ฎก็†ใ€‚ๅ…ถๆœฌ่ดจๆ˜ฏ้™ไฝŽ้—ฎ้ข˜็š„็†ตๅ€ผ๏ผŒ่ฎฉ Agent ่ƒฝๅคŸ่š็„ฆไบŽๆฏไธ€ไธช็ป†ๅฐ็š„็กฎๅฎšๆ€งๆญฅ้ชค๏ผŒไปŽ่€Œ้€ๆญฅ่งฃๅ†ณ้—ฎ้ข˜๏ผŒๆ้ซ˜่ง„ๅˆ’็š„ๅฏ่กŒๆ€งๅ’Œๆ‰ง่กŒๆ•ˆ็އใ€‚\\nๆ นๆฎโ€œ่ง„ๅˆ’โ€ไธŽโ€œๆ‰ง่กŒโ€ๅ‘\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/03.ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผšๅฐ†้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/03.ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผšๅฐ†้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"frontmatter\":{\"date\":\"2026-02-06 15:48:23\",\"title\":\"ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผš้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผš้ขๅฏนๅฑ‚ๅ‡บไธ็ฉท็š„ Promptใ€MCPใ€Skills ๅ’Œ Subagents๏ผŒๅพˆๅคšๅผ€ๅ‘่€…ๅ’Œไบงๅ“็ป็†ๅธธๆ„Ÿๅˆฐๅ›ฐๆƒ‘๏ผš่ฟ™ไบ›็ป„ไปถ็ฉถ็ซŸๆ˜ฏ้‡ๅค้€ ่ฝฎๅญ๏ผŒ่ฟ˜ๆ˜ฏๅ„ๅธๅ…ถ่Œ็š„็งฏๆœจ๏ผŸๆœฌๆ–‡ๅฐ†ๆทฑๅบฆๆ‹†่งฃ Agentic ็”Ÿๆ€็š„ไบ”ๅคงๆ ธๅฟƒๆ”ฏๆŸฑ๏ผŒๆญ็คบๅฆ‚ไฝ•้€š่ฟ‡ไผ˜้›…็š„ๆžถๆž„่ฎพ่ฎกๅฎž็ŽฐๅๅŒ้—ญ็Žฏ๏ผŒๅฐ†้›ถๆ•ฃ็š„ AI ็ป„ไปถๆ‹ผ่ฃ…ๆˆไธ€ๅฅ—ๅฏๆŒ็ปญ่ฟ›ๅŒ–็š„ AI ๅŽŸ็”Ÿๆ“ไฝœ็ณป็ปŸ๏ผŒๆŠŠ็ขŽ็‰‡ๅŒ–็š„ AI ่ƒฝๅŠ›่ฝฌๅŒ–ไธบ้ซ˜ๅฏ็”จ็š„็”ŸไบงๅŠ›ๆตใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/ai-practice/agent_components_zh.png\",\"permalink\":\"/ai-agent/composition-ai-components\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"],\"tags\":[\"Agent\",\"AI\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผš้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"date\":\"2026-02-06 15:48:23\",\"capture\":\"<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/ai-practice/agent_components_zh.png\\\" style=\\\"width: 100%; border-radius: 8px; margin-bottom: 20px;\\\" alt=\\\"about site background\\\">\\n 1. ๅผ•่จ€\\n> ้—ฎ้ข˜๏ผšๅœจๆ™บ่ƒฝไฝ“็”Ÿๆ€้‡Œ๏ผŒๅ„ไธช็ป„ไปถๅˆฐๅบ•ๆ˜ฏๆ€ŽไนˆๅๅŒๅทฅไฝœ็š„๏ผŸ\\nๅฝ“ๅ‰๏ผŒAgent๏ผˆๆ™บ่ƒฝไฝ“๏ผ‰ๆŠ€ๆœฏๅ‘ๅฑ•่ฟ…็Œ›๏ผŒๅ„็ง่ฎพ่ฎกๆจกๅผใ€ๆ ธๅฟƒ็ป„ไปถไธŽๅทฅไฝœๆœบๅˆถๅฑ‚ๅ‡บไธ็ฉทใ€‚้ขๅฏน็นๆ‚็š„ๆ™บ่ƒฝไฝ“็”Ÿๆ€\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/20.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Agent\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/20.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Agent\",\"frontmatter\":{\"date\":\"2026-03-06 00:37:58\",\"title\":\"ๅ‘Šๅˆซๆ‰‹ๅŠจ Loop๏ผšๅ€ŸๅŠฉ Claude Agent SDK ๅฎž็Žฐ Agent ็š„ๅทฅ็จ‹ๅŒ–้—ญ็Žฏ\",\"description\":\"ๅœจ Agent ๆŠ€ๆœฏๅฟซ้€Ÿ่ตฐๅ‘ๆˆ็†Ÿ็š„ไปŠๅคฉ๏ผŒๅฆ‚ไฝ•ไฝŽๆˆๆœฌๆž„ๅปบๅ…ทๅค‡โ€œ่‡ชไธปๆดžๅฏŸโ€่ƒฝๅŠ›็š„ๆ™บ่ƒฝไฝ“๏ผŸๆœฌๆ–‡ๆทฑๅบฆๆ‹†่งฃ Anthropic ๅฎ˜ๆ–นๆŽจๅ‡บ็š„ Claude Agent SDK๏ผŒ่งฃๆžๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆ‰˜็ฎก Agent Loop ๅ’Œไผš่ฏๆŒไน…ๅŒ–ๆœบๅˆถ๏ผŒ่งฃๅ†ณ Agent ๅผ€ๅ‘ไธญ็š„็Šถๆ€็ฎก็†้šพ้ข˜ใ€‚ๆ–‡็ซ ้€š่ฟ‡ไปŽๆ— ็Šถๆ€ไบคไบ’ๅˆฐๅ…ทๅค‡ๆตๅผ่พ“ๅ‡บ่ƒฝๅŠ›็š„ TUI ่‡ชๅŠจๅŒ–ๅทฅๅ…ท่ฟ›้˜ถๅฎžๆˆ˜๏ผŒๅฑ•็คบไบ†ๆž„ๅปบไฝŽๆˆๆœฌใ€้ซ˜ๅฏ็”จ AI ๅŽŸ็”Ÿๅบ”็”จ็š„ๅฎŒๆ•ด่ทฏๅพ„ใ€‚\",\"permalink\":\"/ai-practice/claude-agent-sdk-basic-build\",\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"],\"tags\":[\"Agent\",\"Agent SDK\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ‘Šๅˆซๆ‰‹ๅŠจ Loop๏ผšๅ€ŸๅŠฉ Claude Agent SDK ๅฎž็Žฐ Agent ็š„ๅทฅ็จ‹ๅŒ–้—ญ็Žฏ\",\"date\":\"2026-03-06 00:37:58\",\"capture\":\"1. ๅผ•่จ€\\nๅฝ“ๅ‰๏ผŒAI Agent ็š„ๆผ”่ฟ›ๅทฒ่ฟ›ๅ…ฅไธ€ไธชๅดญๆ–ฐ็š„้˜ถๆฎตโ€”โ€”ไปŽ้œ€่ฆ้ข‘็นไบบๅทฅๅนฒ้ข„็š„\\\"ๅŠ่‡ชๅŠจ\\\"ๆจกๅผ๏ผŒ่ฟ›ๅŒ–ไธบ่ƒฝๅคŸ่‡ชไธปๆดžๅฏŸ็Žฏๅขƒๅ˜ๅŒ–ใ€ๅŠจๆ€่ฐƒๆ•ดๆ‰ง่กŒ็ญ–็•ฅใ€ๅฎž็ŽฐไธšๅŠกๆต็จ‹่‡ช้€‚ๅบ”็ผ–ๆŽ’็š„ๆ™บ่ƒฝๅŒ–็ณป็ปŸใ€‚Claude Codeใ€Manusใ€OpenClaw ็ญ‰ไปฃ่กจๆ€งไบงๅ“ๅฑ‚ๅ‡บไธ็ฉท๏ผŒไนŸๆ ‡ๅฟ—็€ Agent ๆŠ€ๆœฏๆญฃๅœจๅฟซ้€Ÿ่ตฐๅ‘ๆˆ็†ŸไธŽๆ™ฎๅŠใ€‚\\n่ฟ‘ๆœŸ๏ผŒ็ฌ”่€…ๅœจไธบไธชไบบๅšๅฎขๅผ•ๅ…ฅๆ™บ่ƒฝๅŒ–่ฟ่ฅ่ƒฝๅŠ›๏ผˆๅฆ‚ๅ†…ๅฎน่‡ชๅŠจๆ กๅฏนใ€ๅฎก็จฟไธŽๅ‘ๅธƒ๏ผ‰๏ผŒๆทฑๅ…ฅ็ ”็ฉถไบ†ๅคšๆฌพ Agent ๅผ€ๅ‘ๆก†ๆžถ๏ผŒๅฆ‚ Claude Agent SDKใ€Langchainใ€LangGraph ็ญ‰ใ€‚ๅœจ็ป่ฟ‡ๅˆๆญฅ็š„็ ”็ฉถๅฏนๆฏ”ๅˆ†ๆžๅŽ๏ผŒClaude Agent SDK ๆˆไธบไบ†ไฝŽๆˆๆœฌๆž„ๅปบ้ซ˜ๅฏ็”จ Agent\"}],\"Agent ็ณปๅˆ—\":[{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/10.Agent SKills\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/10.Agent SKills\",\"frontmatter\":{\"date\":\"2026-03-05 23:11:25\",\"title\":\"ๅฆ‚ไฝ•็ผ–ๅ†™ไธ€ไธช้ซ˜ๅฏ็”จ็š„ Agent Skill๏ผŸไปŽๆœบๅˆถๆ‹†่งฃๅˆฐ็”Ÿไบงๅฎž่ทตๆŒ‡ๅ—\",\"description\":\"ๅคง่ฏญ่จ€ๆจกๅž‹ๅœจ็‰นๅฎšๅทฅ็จ‹้ข†ๅŸŸๅธธ้ขไธดโ€œ็Ÿฅ่€Œไธ่กŒโ€็š„ๅ›ฐๅขƒใ€‚ๆœฌๆ–‡ๆทฑๅบฆๆ‹†่งฃ Anthropic ๆœ€ๆ–ฐๆŽจๅ‡บ็š„ Agent Skills ่ง„่Œƒ๏ผŒๆญ็ง˜ๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆธ่ฟ›ๅผๆŠซ้œฒไธŽไธ‰็บงๅŠ ่ฝฝๆœบๅˆถ๏ผŒๅœจๆŽงๅˆถ Token ๆˆๆœฌ็š„ๅŒๆ—ถๆ˜พ่‘—ๆๅ‡ Agent ็š„ไปปๅŠกๆ‰ง่กŒ็ฒพๅบฆใ€‚ๆ–‡็ซ ๆถต็›–ไบ†ไปŽๆ–‡ไปถๅคนๆžถๆž„่ฎพ่ฎกๅˆฐๅฎžๆˆ˜ git-workflow ็ผ–ๅ†™็š„ๅ…จๆต็จ‹ๆŒ‡ๅ—๏ผŒๅŠฉไฝ ๅฐ†้›ถๆ•ฃ็š„ Prompt ่ฝฌๅŒ–ไธบๆ ‡ๅ‡†ๅŒ–็š„ๆ•ฐๅญ—่ต„ไบงใ€‚\",\"permalink\":\"/ai-agent/skills-practice-summary\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\",\"Agent ็ณปๅˆ—\"],\"tags\":[\"Agent Skills\",\"Agent\",\"AI\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฆ‚ไฝ•็ผ–ๅ†™ไธ€ไธช้ซ˜ๅฏ็”จ็š„ Agent Skill๏ผŸไปŽๆœบๅˆถๆ‹†่งฃๅˆฐ็”Ÿไบงๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-03-05 23:11:25\",\"capture\":\"1. ๅผ•่จ€๏ผšAgent Skills ๆ˜ฏไป€ไนˆ๏ผŸ\\nๅœจๅคง่ฏญ่จ€ๆจกๅž‹๏ผˆLLM๏ผ‰็š„่ฝๅœฐๅฎž่ทตไธญ๏ผŒๅผ€ๅ‘่€…็ปๅธธ้ขไธดไธ€ไธชๅ…ฑๆ€งๆŒ‘ๆˆ˜๏ผšๆจกๅž‹ๅœจ็‰นๅฎš็ป†ๅˆ†้ข†ๅŸŸๅพ€ๅพ€ๅค„ไบŽโ€œ็Ÿฅ่€Œไธ่กŒโ€็š„็Šถๆ€โ€”โ€”่™ฝ็„ถๆ‹ฅๆœ‰ๅšๆ‚็š„็Ÿฅ่ฏ†๏ผŒๅด็ผบไนๆ‰ง่กŒๅคๆ‚ไปปๅŠก็š„ไธ“ไธš่ทฏๅพ„ใ€‚\\nไธบไบ†่งฃๅ†ณ่ฟ™ไธ€็—›็‚น๏ผŒAnthropic ๅœจๅ…ถๆ——่ˆฐๆจกๅž‹ Claude 3.7 ็ณปๅˆ—ไธญๆญฃๅผๆŽจๅ‡บไบ† Claude Skillsใ€‚่ฟ™ไธ€ๅŠŸ่ƒฝๅฐ† LLM ็š„่ƒฝๅŠ›ๅฐ่ฃ…ไธบ็›ด่ง‚็š„โ€œ่ƒฝๅŠ›ๆ–‡ไปถๅคนโ€๏ผŒๆžๅคงๆๅ‡ไบ†ๆ™บ่ƒฝไฝ“็š„ๅฎž็”จๆ€ง๏ผŒๅนถ่ฟ…้€Ÿๅœจๅผ€ๅ‘่€…็คพๅŒบๅผ•ๅ‘็ƒญ่ฎฎใ€‚2025 ๅนด 12 ๆœˆ๏ผŒ้š็€ Anthropic ่”ๅˆ็”Ÿๆ€ไผ™ไผดๆญฃๅผๅผ€ๆบ Agent Skills ่ง„่Œƒ๏ผŒAgent Skills ็š„ๆ ‡ๅ‡†ๅŒ–ไนŸๆญฃๅผๅผ€ๅฏ๏ผˆ่€Œ่ฟ™ไธ€่ƒฝๅŠ›\"}],\"ๅ…จๆ ˆ\":[{\"url\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"relativePath\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"frontmatter\":{\"date\":\"2025-10-24 11:05:50\",\"title\":\"ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจ AI ้‡ๅก‘่ฝฏไปถๅทฅ็จ‹็š„ไปŠๅคฉ๏ผŒๅ…จๆ ˆไธๅ†ๆ˜ฏๆŠ€ๆœฏ็š„็บฟๆ€งๅ ๅŠ ๏ผŒๆญฃๅœจไปŽโ€œๆŠ€ๆœฏๆ ˆๅ †็ Œโ€่ฝฌๅ‘โ€œ่ฎค็Ÿฅๆ ˆ้‡ๆž„โ€ใ€‚ๆœฌๆ–‡ๆๅ‡บ โ€œ(ๅทฅ็จ‹ + ไบงๅ“) ร— AIโ€ ็š„ๆ–ฐๅ…ฌๅผ๏ผŒๅŠฉๅŠ›ๅผ€ๅ‘่€…ๆž„ๅปบโ€œๆดžๅฏŸ-ๆžถๆž„-ๆ ๆ†โ€่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”๏ผŒๅˆฉ็”จ AI ๆ ๆ†่ฎฉ่‡ชๅทฑ่ฟ›ๅŒ–ไธบไปทๅ€ผๅˆ›้€ ่€…ใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"permalink\":\"/fullstack/ai-native\",\"sticky\":1,\"top\":true,\"tags\":[\"ๅ…จๆ ˆ\",\"AI\",\"ไบงๅ“\"],\"categories\":[\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"date\":\"2025-10-24 11:05:50\",\"capture\":\"<script setup>\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n 1. ๅผ•่จ€\\nๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒๅฝ“ๆˆ‘ไปฌ่ฐˆ่ฎบโ€œๅ…จๆ ˆๅทฅ็จ‹ๅธˆโ€ๆ—ถ๏ผŒ่„‘ๆตทไธญๆตฎ็Žฐ็š„ๅพ€ๅพ€ๆ˜ฏไธ€ๅผ ๅ†—้•ฟไธ”ไปคไบบ็–ฒๆƒซ็š„ๆŠ€ๆœฏๅทฅๅบๆธ…ๅ•ใ€‚\\nๅฐฑๅƒๆˆ‘ๆ›พ็ปไปฅไธบ็š„้‚ฃๆ ท๏ผŒๅ…จๆ ˆๅฐฑๆ˜ฏ็บฟๆ€ง็š„ๆŠ€่ƒฝๅ ๅŠ ไธŽ็‰ฉ็†ๅผ็š„ๆŠ€ๆœฏๆ‹ผๆŽฅ๏ผŒๆ˜ฏไธ€็งไพ้ ไบบๅŠ›ๅŽปๅกซ่กฅๆŠ€ๆœฏ้ธฟๆฒŸ็š„โ€œ่ฅฟ่ฅฟๅผ—ๆ–ฏๅผโ€ๅŠชๅŠ›๏ผš\\n* ็บฟๆ€ง็š„ๆŠ€่ƒฝๅ ๅŠ ๏ผšๆˆ‘ไปฌ่ขซ่ฟซๆˆไธบโ€œๅ…จ่ƒฝๆ‰‹โ€๏ผŒๅทฆๆ‰‹็”จ React/Vue ๆž„ๅปบ็ฒพ็พŽ็š„ UI๏ผŒๅณๆ‰‹็”จ Node/Go ็ผ–ๅ†™้ซ˜ๅนถๅ‘ API๏ผŒไธญ้—ด่ฟ˜่ฆๅค„็†ๆ•ฐๆฎๅบ“็š„ ACI\"},{\"url\":\"/01.ๅ…จๆ ˆ/00.overview\",\"relativePath\":\"/01.ๅ…จๆ ˆ/00.overview\",\"frontmatter\":{\"date\":\"2026-03-19 23:05:50\",\"title\":\"ๅ…จๆ™ฏไธ€่งˆ\",\"description\":\"ๆœฌ็ณปๅˆ—ๅ›ด็ป•็Žฐไปฃๅ…จๆ ˆๅผ€ๅ‘็š„่ƒฝๅŠ›ไฝ“็ณปๅฑ•ๅผ€๏ผŒไปŽ AI ๆ—ถไปฃ็š„ๅทฅ็จ‹ๆ€็ปดๅ‡บๅ‘๏ผŒ่ฆ†็›–ๅ‰็ซฏๅทฅ็จ‹๏ผˆReact/Vue/CSS๏ผ‰ใ€ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป๏ผˆTypeScript/JavaScript๏ผ‰ใ€ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่็ญ‰ๆ ธๅฟƒ้ข†ๅŸŸ๏ผŒๅธฎๅŠฉๆž„ๅปบไปŽ\\\"่ฎค็Ÿฅๅฑ‚ โ†’ ๆŠ€ๆœฏ้ข†ๅŸŸ โ†’ ๅทฅ็จ‹่ƒฝๅŠ› โ†’ ๅŸบ็ก€่ฎพๆ–ฝ\\\"็š„ๅฎŒๆ•ดๅ…จๆ ˆ็Ÿฅ่ฏ†ๅ›พ่ฐฑใ€‚\",\"categories\":[\"ๅ…จๆ ˆ\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"permalink\":\"/fullstack/overview\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ…จๆ™ฏไธ€่งˆ\",\"date\":\"2026-03-19 23:05:50\",\"capture\":\"<script setup\\nimport ArticleCardList from '@fragment/components/ArticleCardList.vue'\\nimport { fullStackCategories } from '@fragment/data/full-stack-data'\\n</script>\\n<ArticleCardList :categories=\\\"fullStackCategories\\\" />\"},{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/02.CSSๅทฅ็จ‹ๅŒ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/02.CSSๅทฅ็จ‹ๅŒ–\",\"frontmatter\":{\"date\":\"2026-03-10 22:05:50\",\"title\":\"ไปŽๅŽŸๅญๅŒ–ๅˆฐๅ˜ไฝ“้ฉฑๅŠจ๏ผš็Žฐไปฃ CSS ๅทฅ็จ‹ๅŒ–็š„ๆžถๆž„ๆผ”่ฟ›ไธŽๆททๅˆๅฎž่ทตๆŒ‡ๅ—\",\"description\":\"ๆœฌๆ–‡็ณป็ปŸๅ‰–ๆžไธปๆต CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆ็š„ๅบ•ๅฑ‚้€ป่พ‘๏ผŒๆๅ‡บโ€œๆ ทๅผ่ต„ไบง ROIโ€่ฏ„ไผฐๆจกๅž‹๏ผŒๅนถ้’ˆๅฏน Vue/React ็”Ÿๆ€็ป™ๅ‡บไบ†้ขๅ‘ AI ๆ—ถไปฃ็š„ไผไธš็บงๆททๅˆๆžถๆž„้€‰ๅž‹ๅปบ่ฎฎใ€‚\",\"permalink\":\"/full-stack/css-engineering\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"top\":true,\"categories\":[\"ๅ…จๆ ˆ\"],\"tags\":[\"ๅ…จๆ ˆ\",\"CSS\",\"ๅทฅ็จ‹ๅŒ–\",\"tailwindcss\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไปŽๅŽŸๅญๅŒ–ๅˆฐๅ˜ไฝ“้ฉฑๅŠจ๏ผš็Žฐไปฃ CSS ๅทฅ็จ‹ๅŒ–็š„ๆžถๆž„ๆผ”่ฟ›ไธŽๆททๅˆๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-03-10 22:05:50\",\"capture\":\"1. ๅผ•่จ€๏ผšไธปๆต CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆๆœ‰ๅ“ชไบ›๏ผŸ\\nๅœจ็Žฐไปฃๅ‰็ซฏๅผ€ๅ‘ไธญ๏ผŒ้š็€้กน็›ฎๅคๆ‚ๅบฆ็š„ๆ€ฅๅ‰งๆๅ‡๏ผŒๅŽŸ็”Ÿ CSS ๅธธๅธธ้ขไธดๅ…จๅฑ€ๆฑกๆŸ“ใ€ๅค็”จๅ›ฐ้šพใ€ๅฑ‚็บงๅตŒๅฅ—่ฟ‡ๆทฑไปฅๅŠ็ปดๆŠคๆˆๆœฌๆž้ซ˜็ญ‰้—ฎ้ข˜ใ€‚ไธบไบ†่งฃๅ†ณ่ฟ™ไบ›็—›็‚น๏ผŒ็คพๅŒบๅคšๅนดๆฅไธๆ–ญๆŽข็ดข๏ผŒๆฒ‰ๆท€ๅ‡บไบ†ๅคš็งไธปๆต็š„ CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆใ€‚\\n้™คๅŽŸ็”Ÿ CSS ไน‹ๅค–๏ผŒไธปๆตๆ–นๆกˆ่ฟ˜ๅŒ…ๆ‹ฌ้ข„ๅค„็†ๅ™จใ€CSS-in-JSใ€CSS Moduleใ€Scoped CSSใ€ๅŽŸๅญๅŒ– CSS ็ญ‰ใ€‚BEM ไฝœไธบไธ€็งๅŸบไบŽๅ‘ฝๅ็บฆๅฎšๆฅ่ง„้ฟๅ‘ฝๅๅ†ฒ็ช็š„ๆ—ฉๆœŸๆ–นๆกˆ๏ผŒๅœจ็Žฐไปฃๅ‰็ซฏๅทฅ็จ‹ไธญๅทฒๅŸบๆœฌไธๅ†ไฝฟ็”จ๏ผŒๅ› ๆญคๆœฌๆ–‡ไธๅ†ๅฏนๅ…ถๅฑ•ๅผ€่ฏฆ็ป†ๅˆ†ๆžใ€‚\\n> CSS ๅ‘ฝๅ่ง„่Œƒ๏ผˆBEM๏ผ‰๏ผš้€š่ฟ‡ไธฅๆ ผ็š„ๅ‘ฝๅ็บฆๅฎš๏ผˆๅฆ‚ Block__Element--Modif\"},{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"frontmatter\":{\"date\":\"2026-03-05 16:54:35\",\"title\":\"ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"aliases\":[\"Server-Sent Events\",\"HTTP Streaming\"],\"tldr\":\"ๆทฑๅ…ฅ่งฃๆžๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผŒๆไพ›ไปŽๆฆ‚ๅฟตๅˆฐ็”Ÿไบงๅฎž่ทต็š„ๅฎŒๆ•ด่งฃๅ†ณๆ–นๆกˆใ€‚\",\"description\":\"่พจๆžๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ็š„ๆฆ‚ๅฟตไธŽๅฑ‚ๆฌกๅ…ณ็ณป๏ผŒ่ฏฆ่งฃๅฎขๆˆท็ซฏไธŽๆœๅŠก็ซฏๅฎž็Žฐๆ–นๆกˆ๏ผŒๆไพ›็”Ÿไบงๅฎž่ทตๅฎŒๆ•ดๆŒ‡ๅ—ใ€‚\",\"tags\":[\"tutorial\",\"SSE\",\"HTTP Streaming\",\"ๅ…จๆ ˆ\"],\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"permalink\":\"/fullstack/networking/sse-practice\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"date\":\"2026-03-05 16:54:35\",\"capture\":\"<script setup\\n import HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n> ๆ‘˜่ฆๆ€ป็ป“: ้’ˆๅฏนๅผ€ๅ‘่€…ๅฎนๆ˜“ๆททๆท†ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ็š„้—ฎ้ข˜๏ผŒไปŽๆฆ‚ๅฟตๅฑ‚ๆฌกๅ‡บๅ‘ๅŽ˜ๆธ…ไบŒ่€…ๆœฌ่ดจๅŒบๅˆซไธŽๅไฝœๅ…ณ็ณป๏ผŒๆŒ‡ๅ‡บๆตๅผ HTTP ๆ˜ฏๅบ•ๅฑ‚ไผ ่พ“ๆœบๅˆถ่€Œ SSE ๆ˜ฏๅบ”็”จๅฑ‚ๆ•ฐๆฎๆ ผๅผ็บฆๅฎšใ€‚ๆ–‡็ซ ไพๆฌกไป‹็ปๅŽŸ็”Ÿ EventSource APIใ€fetch + ReadableStream ่ฟ›้˜ถๆ–นๆกˆใ€@microsoft/fetch-event-source ๅทฅไธš็บงๅฎž็Žฐ็ญ‰ไธ‰็งๅฎขๆˆท็ซฏๆ–นๆกˆ๏ผŒๅนถไปฅ Nes\"},{\"url\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/02.้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/02.้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-03-02 11:05:50\",\"title\":\"้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ AI ๆž้€Ÿ้™ไฝŽไปฃ็ ็ผ–ๅ†™้—จๆง›๏ผŒๅ•็บฏ็š„โ€œไธšๅŠกไปฃ็ ็ฟป่ฏ‘ๅ™จโ€่ง’่‰ฒๆญฃๅŠ ้€Ÿ่ดฌๅ€ผใ€‚ๆœฌๆ–‡ไปŽๆŠ€ๆœฏๆผ”่ฟ›ไธŽไบงๅ“ๆ€่€ƒ็š„ไบคๆฑ‡็‚นๅ‡บๅ‘๏ผŒๅฐ† AI ๆ—ถไปฃ็š„ๅผ€ๅ‘่€…่ƒฝๅŠ›ๅ›พ่ฐฑ้‡ๆ–ฐๅˆ’ๅˆ†ไธบไธ‰ๅคงๆ ธๅฟƒๅœˆๅฑ‚๏ผšไบงๅ“ๅบ”็”จๅฑ‚๏ผˆInsight Stack๏ผ‰ใ€Agent ๅผ€ๅ‘ๅฑ‚ไธŽ AI ๅŸบ็ก€่ฎพๆ–ฝๅฑ‚ใ€‚ๆ— ่ฎบไฝ ๆ˜ฏๆทฑ่€•่ง†ๅ›พๅฑ‚ไบคไบ’ใ€็ฒพ้€š Node.js ็ญ‰ๆœๅŠก็ซฏๆžถๆž„็š„ๅผ€ๅ‘่€…๏ผŒ่ฟ˜ๆ˜ฏ่‡ดๅŠ›ไบŽๆŠ€ๆœฏ่ฝๅœฐ็š„ๆŽข็ดข่€…๏ผŒ้ƒฝ่ƒฝๅœจ่ฟ™ไปฝๆผ”่ฟ›ๆŒ‡ๅ—ไธญๆ‰พๅˆฐๆ‰“็ ด่ƒฝๅŠ›่พน็•Œใ€ๅ‘โ€œ่ถ…็บงไธชไฝ“โ€ไธŽโ€œAI ๆ™บ่ƒฝไฝ“ๆŒ‡ๆŒฅๅฎ˜โ€่ทƒ่ฟ็š„็ ดๅฑ€ไน‹้“ใ€‚\",\"permalink\":\"/fullstack/ai-engineer-capability\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"top\":true,\"tags\":[\"ๅ…จๆ ˆ\",\"AI\"],\"categories\":[\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"date\":\"2026-03-02 11:05:50\",\"capture\":\"<script setup>\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/ai_engineering_arc.png\\\" style=\\\"width: 100%; border-radius: 8px; margin-bottom: 20px;\\\" alt=\\\"about site back\"},{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"frontmatter\":{\"date\":\"2026-02-25 22:10:48\",\"title\":\"HTTP ่ฝฎ่ฏขไผ˜ๅŒ–ๆŒ‡ๅ—๏ผš้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"tldr\":\"่ฏฆ่งฃ้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅฎž็ŽฐๅŽŸ็†๏ผŒๆไพ› HTTP ่ฝฎ่ฏขไผ˜ๅŒ–็ญ–็•ฅไธŽ้€‰ๅž‹ๅ†ณ็ญ–ๆ ‘ใ€‚\",\"description\":\"ๆทฑๅ…ฅๅ‰–ๆž้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๆ ธๅฟƒๆœบๅˆถ๏ผŒๆไพ› TypeScript/NestJS ๅฎžๆˆ˜ไปฃ็ ๏ผŒๅนถๆž„ๅปบๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–ๆ ‘ไธŽ้€‚็”จๅœบๆ™ฏ้€ŸๆŸฅใ€‚\",\"tags\":[\"HTTP ่ฝฎ่ฏข\",\"้€€้ฟ่ฝฎ่ฏข\",\"้•ฟ่ฝฎ่ฏข\"],\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"permalink\":\"/fullstack/networking-polling-optimization\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"HTTP ่ฝฎ่ฏขไผ˜ๅŒ–ๆŒ‡ๅ—๏ผš้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"date\":\"2026-02-25 22:10:48\",\"capture\":\"1. ๅผ•่จ€\\nๅœจ็Žฐไปฃ Web ๅผ€ๅ‘ไธญ๏ผŒWebSocket ๅ’Œ Server-Sent Events (SSE) ๅธธๅธธ่ขซ่ง†ไธบๅฎžๆ—ถ้€šไฟก็š„้“ถๅผนใ€‚็„ถ่€Œ๏ผŒHTTP ่ฝฎ่ฏข๏ผˆPolling๏ผ‰ไฝœไธบๆœ€ๆœด็ด ็š„ๅฎžๆ—ถ้€šไฟกๆ–นๆกˆ๏ผŒ้žไฝ†ๆฒกๆœ‰้€€ๅ‡บๅކๅฒ่ˆžๅฐ๏ผŒๅ่€Œๅœจ็‰นๅฎš็š„ๅคๆ‚ไธšๅŠกๅœบๆ™ฏไธญๅคงๆ”พๅผ‚ๅฝฉใ€‚\\n> ๐Ÿ“– ๅฆ‚ๆžœไฝ ๅฏน HTTP ่ฝฎ่ฏขๅœจๆ•ดไธช Web ้€šไฟกๅ่ฎฎไฝ“็ณปไธญ็š„ๅฎšไฝๅฐšไธๆธ…ๆ™ฐ๏ผŒๆŽจ่ๅ…ˆ้˜…่ฏป Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—๏ผŒไบ†่งฃ่ฝฎ่ฏขไธŽ็Ÿญ่ฟžๆŽฅใ€้•ฟ่ฟžๆŽฅใ€WebSocketใ€SSE ็ญ‰ๆ–นๆกˆ็š„ๆผ”่ฟ›ๅ…ณ็ณปไธŽ้€‚็”จ่พน็•Œ๏ผŒๅ†็ป“ๅˆๆœฌๆ–‡ๆทฑๅ…ฅๅฎž่ทตใ€‚\\nๅœจๅฝ“ๅ‰ไผ—ๅคš้กถ็บง็š„ AI AIGC ๅบ”็”จ๏ผˆๅฆ‚ Midjourne\"},{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-02-24 08:40:31\",\"title\":\"Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"tldr\":\"ๆทฑๅ…ฅๅˆ†ๆžไบ”็ง Web ้€šไฟกๅ่ฎฎ๏ผŒๆไพ› AI ๆ—ถไปฃ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—ไธŽๆœ€ไฝณๅฎž่ทตใ€‚\",\"description\":\"ๆทฑๅ…ฅๅ‰–ๆžไผ ็ปŸ HTTPใ€ๆตๅผ HTTPใ€SSEใ€WebSocketใ€Webhooksใ€HTTP ่ฝฎ่ฏข็š„ๅŽŸ็†ไธŽ็‰นๆ€ง๏ผŒ็ป“ๅˆ AI ๅœบๆ™ฏๆไพ›ๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–็Ÿฉ้˜ตใ€‚\",\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"tags\":[\"HTTP\",\"HTTP ่ฝฎ่ฏข\",\"SSE\",\"WebSocket\",\"Webhooks\"],\"permalink\":\"/fullstack/networking-protocol-selection-guide\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"date\":\"2026-02-24 08:40:31\",\"capture\":\"1. ๅผ•่จ€\\nHTTP ๆ˜ฏไธ€็งๅŸบไบŽๆ–‡ๆœฌ็š„้€šไฟกๅ่ฎฎ๏ผŒไธป่ฆ็”จไบŽ Web ๆต่งˆๅ™จใ€็งปๅŠจๅบ”็”จใ€ๆกŒ้ขๅบ”็”จ็ญ‰ๅฎขๆˆท็ซฏๅ’Œ Web ๆœๅŠกๅ™จไน‹้—ด็š„ๆ•ฐๆฎไผ ่พ“ใ€‚ไผ ็ปŸ HTTP ้‡‡็”จๅŒๆญฅ็š„่ฏทๆฑ‚-ๅ“ๅบ”ๆจกๅผ๏ผš`่ฏทๆฑ‚ -> ็ญ‰ๅพ… -> ๅฎŒๆ•ดๅ“ๅบ”`ใ€‚่ฟ™็งๆ–นๅผ่™ฝ่ƒฝๆปก่ถณๅคงๅคšๆ•ฐๅœบๆ™ฏ๏ผŒไฝ†ๅœจๅฎžๆ—ถๆ€ง่ฆๆฑ‚่พƒ้ซ˜็š„้ข†ๅŸŸโ€”โ€”ๅฆ‚ๆธธๆˆใ€่Šๅคฉใ€่ง†้ข‘ไผš่ฎฎ๏ผŒไปฅๅŠ AI ๆ—ถไปฃ็š„ๅฏน่ฏๅผๅบ”็”จโ€”โ€”ๅดๆ˜พๅพ—ๅŠ›ไธไปŽๅฟƒใ€‚\\nไธบ่งฃๅ†ณ่ฟ™ไธ€้—ฎ้ข˜๏ผŒไธš็•Œๅ‘ๅฑ•ๅ‡บไบ†ๅคš็งๅฎžๆ—ถ Web ้€šไฟกๆ–นๆกˆใ€‚ๆœฌๆ–‡ๅฐ†ๅ›ด็ป• ๆตๅผ HTTPใ€SSEใ€WebSocketใ€Webhooksใ€HTTP ่ฝฎ่ฏข ่ฟ™ไบ”็งไธปๆตๆŠ€ๆœฏ๏ผŒไปŽๅŽŸ็†ใ€็‰นๆ€งใ€้€‚็”จๅœบๆ™ฏๅ‡บๅ‘๏ผŒๆŽข่ฎจๅฎƒไปฌๅœจ็Žฐไปฃๅˆ†ๅธƒๅผๆžถๆž„ไธญ็š„้€‰ๅž‹็ญ–็•ฅไธŽๅทฅ็จ‹ๅฎž่ทตใ€‚\\n 2\"},{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-02-10 23:33:19\",\"title\":\"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ๅฝ“ AI ๆ‰ฟๆŽฅไบ† 30% ็š„็ผ–็ ๆ‰ง่กŒๆ—ถ๏ผŒๅผ€ๅ‘่€…้œ€้€š่ฟ‡โ€œ่ง„ๆ ผ้ฉฑๅŠจ๏ผˆSDD๏ผ‰โ€้‡ๅคบ 70% ็š„่ฎพ่ฎกไธปๆƒ๏ผšไปŽ่‡ชๆฒป็ป„ไปถๅˆ’ๅˆ†ๅˆฐๅ•ๅ‘ๆ•ฐๆฎๆตๆ‹“ๆ‰‘็š„ๆทฑๅบฆๆŽจๆผ”ใ€‚\",\"description\":\"ๆœฌๆ–‡ๆŽข่ฎจๅœจ AI ๅขžๅผบๅผ€ๅ‘่ƒŒๆ™ฏไธ‹๏ผŒๅฆ‚ไฝ•้‡ๅก‘ React ็ป„ไปถ่ฎพ่ฎกๅŽŸๅˆ™ใ€‚ๆถต็›– SRP ่Œ่ดฃๅˆ’ๅˆ†ใ€้™ๆ€็‰ˆๆœฌๅŸบ็บฟใ€ๆœ€ๅฐ็Šถๆ€๏ผˆDerived Data๏ผ‰ๆŽจๅฏผไปฅๅŠ SDD ไบบๆœบๅไฝœๆจกๅผ็š„ๅทฅ็จ‹่ฝๅœฐใ€‚\",\"tags\":[\"tutorial\",\"react\",\"component-design\",\"state-management\",\"ai-augmented\",\"specification-driven\"],\"permalink\":\"/fullstack/react-design-philosophy-ai-augmented\",\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-02-10 23:33:19\",\"capture\":\"<script setup\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n 1. ๅผ•่จ€\\nๅœจ่ฝฏไปถๅทฅ็จ‹ไธญ๏ผŒ็บฆ 70% ็š„ๆ—ถ้—ดๅบ”ๆŠ•ๅ…ฅไบŽๆžถๆž„่ฎพ่ฎกใ€้œ€ๆฑ‚ๆ‹†่งฃไธŽๆŽฅๅฃ่ฏญไน‰ๆŽจๆ•ฒ๏ผŒไป… 30% ็”จไบŽๅฎž้™…็ผ–็ ใ€‚่ฟ›ๅ…ฅ AI ๅไฝœๆ—ถไปฃๅŽ๏ผŒ่ฟ™ไธ€ๆฏ”ไพ‹ไพ็„ถๅšๅฆ‚็ฃ็Ÿณโ€”โ€”ๅผ€ๅ‘่€…ๅฟ…้กปๅ…ˆๅฎŒๆˆๆทฑๅบฆๆ€่€ƒ๏ผŒๅฐ†โ€œๆธ…ๆ™ฐ็š„้—ฎ้ข˜่ง„ๆ ผ๏ผˆSpecification๏ผ‰โ€ไบค็ป™ AI๏ผŒAI ๆ‰่ƒฝ่พ“ๅ‡บ้ซ˜่ดจ้‡ไปฃ็ ใ€‚<HighLightText type=\\\"note\\\" bold>AI ๆๅ‡็š„ๆ˜ฏ 30% ็ผ–็ ้˜ถๆฎต็š„ๆ‰ง่กŒๅŠ›๏ผŒ่€Œ้žๅ–\"},{\"url\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/10.่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"relativePath\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/10.่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"frontmatter\":{\"date\":\"2025-12-06 22:05:50\",\"title\":\"่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"description\":\"่ฝฏไปถๅทฅ็จ‹ๆญฃ็ปๅކไปŽโ€œๆ‰‹ๅ†™้€ป่พ‘โ€ๅ‘โ€œๆ„ๅ›พ่ฐƒๅบฆโ€็š„่Œƒๅผ่ฟๅพ™ใ€‚Anthropic ็š„็ ”็ฉถๆญ็คบไบ† AI ๅนถ้ž็ฎ€ๅ•็š„ๆๆ•ˆๅทฅๅ…ท๏ผŒ่€Œๆ˜ฏ้€š่ฟ‡้‡Šๆ”พ 27% ๆ›พ็ปโ€œไธๅˆ’็ฎ—โ€็š„ๅทฅ็จ‹ไปปๅŠก๏ผŒ้‡ๅก‘ไบ†่ฝฏไปถ่ดจ้‡็š„ๅฏ†ๅบฆใ€‚ๅœจ่‡ช็„ถ่ฏญ่จ€ๅณ็ผ–็จ‹่ฏญ่จ€็š„ๆ—ถไปฃ๏ผŒๆˆ‘ไปฌ้œ€่ฆ้€š่ฟ‡่ง„ๆ ผ้ฉฑๅŠจ๏ผˆSDD๏ผ‰ไธŽๅคšๆ™บ่ƒฝไฝ“็ผ–ๆŽ’๏ผŒ็ ด่งฃโ€œ็›‘็ฃๆ‚–่ฎบโ€ๅธฆๆฅ็š„ๆŠ€่ƒฝๅนณๅบธๅŒ–ๅฑๆœบ๏ผŒๅฐ† AI ็š„ๆฆ‚็އๆ€ง็”Ÿๆˆ้ฉฏๅŒ–ไธบ็กฎๅฎšๆ€ง็š„ๅทฅ็จ‹ไบคไป˜ใ€‚ๅฝ“็ผ–็ ๆˆๆœฌ่ถ‹ไบŽ้›ถ๏ผŒๅทฅ็จ‹ๅธˆ็š„็ปˆๆžๅฃๅž’ๅฐ†ๆ˜ฏๅฎšไน‰ๅฎŒ็พŽ็š„ๅ“ๅ‘ณ๏ผŒไปฅๅŠๅœจ AI ่ฟท้›พไธญ่ฏ†็ ดๅนณๅบธ็š„ๆดžๅฏŸๅŠ›ใ€‚\",\"permalink\":\"/fullstack/ai-change-work-workflow/\",\"top\":true,\"tags\":[\"ๅ…จๆ ˆ\",\"AI\"],\"categories\":[\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"date\":\"2025-12-06 22:05:50\",\"capture\":\"<script setup>\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\nๅœฐๅ€๏ผšHow AI is transforming work at Anthropic\\nๆ ธๅฟƒๆ ‡็ญพ๏ผš`AI่พ…ๅŠฉ็ผ–็จ‹` `ๅทฅ็จ‹` `่Œƒๅผ่ฝฌ็งป` `ๅทฅไฝœ่ฝฌๅž‹` `็”ŸไบงๅŠ›ๆๅ‡` `ๆŠ€่ƒฝๅ‘ๅฑ•` `ไบบๆœบๅไฝœ` \\nไธ€ๅฅ่ฏไป‹็ป๏ผšAnthropic ไธไป…ไป…ๆ˜ฏ AI ๅทฅๅ…ท็š„็”Ÿไบง่€…๏ผŒๆ›ดๆ˜ฏ็ฌฌไธ€ไธช่ฟ›ๅ…ฅโ€œๆœชๆฅๅฎž้ชŒๅฎคโ€็š„ๆทฑๅบฆ่ง‚ๅฏŸ่€…ใ€‚ไป–ไปฌ้€š่ฟ‡ๅ†…้ƒจๆ•ฐๆœˆ็š„ๅฎž้ชŒๆ•ฐๆฎๅ‘Š่ฏ‰ๆˆ‘ไปฌ๏ผšๅคงๆจกๅž‹ๅฏน่ฝฏไปถๅทฅ็จ‹็š„ๆ”น้€ ๏ผŒ็ป้ž็ฎ€ๅ•็š„โ€œๆๆ•ˆโ€๏ผŒ่€Œๆ˜ฏไธ€\"},{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/11.React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/11.React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"frontmatter\":{\"date\":\"2025-11-15 09:20:23\",\"title\":\"ไธๆญขไบŽ Fetch๏ผšReact ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"aliases\":[\"SWR\",\"TanStack Query\",\"React\",\"ๆœๅŠก็ซฏ็Šถๆ€\",\"ไน่ง‚ๆ›ดๆ–ฐ\",\"ๅทฅ็จ‹ๅŒ–\"],\"tldr\":\"ๆทฑๅ…ฅ่งฃๆž SWR ็š„ๆž็ฎ€ๅ่ฎฎไธŽ TanStack Query ็š„็ฒพๅฏ†็Šถๆ€ๆœบใ€‚้€š่ฟ‡ๅฏนๆฏ”็ผ“ๅญ˜ๅคฑๆ•ˆใ€ไน่ง‚ๆ›ดๆ–ฐ็ญ‰ๆ ธๅฟƒๅœบๆ™ฏ๏ผŒไธบ้ซ˜ๅคๆ‚ๅบฆ B ็ซฏๅบ”็”จไธŽ่ฝป้‡็บง้กน็›ฎๆไพ›ๆธ…ๆ™ฐ็š„ๆžถๆž„้€‰ๅž‹ๆจกๅž‹ใ€‚\",\"description\":\"ๆทฑๅบฆๅฏนๆฏ” React ็”Ÿๆ€ไธญ SWR ไธŽ TanStack Query ไธคๅคงๆ–นๆกˆใ€‚ไปŽ stale-while-revalidate ๆœบๅˆถๅˆฐๅผ‚ๆญฅ็Šถๆ€ๆœบๆžถๆž„๏ผŒๆถต็›–ไพ่ต–ๆŸฅ่ฏขใ€ๆ•ฐๆฎ่ฝฌๆขๅŠๆžถๆž„็บงไน่ง‚ๆ›ดๆ–ฐๅฎžๆˆ˜ใ€‚ๆ—จๅœจๅธฎๅŠฉๅผ€ๅ‘่€…ๅœจๅคๆ‚ไธšๅŠกไธญๆž„ๅปบ็กฎๅฎšๆ€ง็š„ๆœๅŠก็ซฏ็Šถๆ€ๅŸบๅบงใ€‚\",\"permalink\":\"/fullstack/server-state-management\",\"tags\":[\"SWR\",\"TanStack Query\",\"ๅ‰็ซฏๅทฅ็จ‹\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไธๆญขไบŽ Fetch๏ผšReact ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"date\":\"2025-11-15 09:20:23\",\"capture\":\"1. ๅผ•่จ€\\nๅœจ็Žฐไปฃๅ‰็ซฏๅทฅ็จ‹ไธญ๏ผŒ็Šถๆ€ๅฏไธฅๆ ผๅŒบๅˆ†ไธบ UI ็Šถๆ€๏ผˆUI State๏ผ‰ ไธŽ ๆœๅŠก็ซฏ็Šถๆ€๏ผˆServer State๏ผ‰ ไธค็ฑปใ€‚ๅฏนไบŽ UI ็Šถๆ€็š„็ฎก็†๏ผŒๅผ€ๅ‘่€…ๅทฒ่พƒไธบ็†Ÿๆ‚‰๏ผŒ้€šๅธธๅฏๅ€ŸๅŠฉ `useState`ใ€`useEffect` ็ญ‰ Hooks๏ผŒๆˆ– `zustand`ใ€`jotai` ็ญ‰็Šถๆ€็ฎก็†ๅบ“ๆฅๅฎž็Žฐใ€‚็„ถ่€Œ๏ผŒๆœๅŠก็ซฏ็Šถๆ€็š„็ฎก็†ๅพ€ๅพ€็ผบไน็ปŸไธ€ไธ”้ซ˜ๆ•ˆ็š„่งฃๅ†ณๆ–นๆกˆ๏ผŒๅผ€ๅ‘่€…้€šๅธธ้œ€่ฆ่‡ช่กŒๅฎž็Žฐใ€‚\\nๅœจไผ ็ปŸ็š„ๆ•ฐๆฎ่Žทๅ–ๆต็จ‹ไธญ๏ผŒๆˆ‘ไปฌไธ€่ˆฌไฝฟ็”จ `fetch` ๆˆ– `axios` ๅ‘ๅŽ็ซฏๆˆ– REST API ๅ‘้€ HTTP ่ฏทๆฑ‚๏ผŒ้šๅŽๆ‰‹ๅŠจๅฐ†ๆ•ฐๆฎ่Žทๅ–้€ป่พ‘ไธŽๅ‰็ซฏไธšๅŠก้€ป่พ‘ๅŠ UI ็Šถๆ€็ฎก็†่ฟ›่กŒๆ•ดๅˆ๏ผŒไปฅๅฎŒๆˆๆ•ฐๆฎๅค„็†ๅนถ้ฉฑๅŠจ็•Œ้ขๆ›ดๆ–ฐ\"},{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2025-11-14 22:33:39\",\"title\":\"JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"aliases\":[\"้™ๆ€็ซ™็‚น็”Ÿๆˆๅ™จ\",\"SSG\"],\"tldr\":\"้ข„ๆธฒๆŸ“้™ๆ€้กต้ข + ๅŠจๆ€ API๏ผŒCDN ๅˆ†ๅ‘ๅ…จ็ƒ๏ผŒๆ›ฟไปฃไผ ็ปŸๅŠจๆ€็ฝ‘็ซ™็š„ๅผ€ๅ‘้ƒจ็ฝฒ่Œƒๅผ\",\"description\":\"ไปŽๆ ธๅฟƒๆฆ‚ๅฟตใ€ๅทฅๅ…ท้“พ้€‰ๅž‹๏ผˆNext.js/Vercel/Supabase/Contentful๏ผ‰ๅˆฐไปŽ 0 ๆญๅปบๅšๅฎข็š„ๅฎŒๆ•ดๅฎž่ทต๏ผŒ่ฆ†็›– JAMStack ้€‚็”จไธŽไธ้€‚็”จๅœบๆ™ฏ๏ผŒๅธฎๅŠฉๅˆคๆ–ญไฝ•ๆ—ถ้€‰็”จ่ฏฅๆžถๆž„ใ€‚\",\"permalink\":\"/fullstack/jamstack\",\"tags\":[\"tutorial\",\"jamstack\",\"frontend-architecture\",\"next.js\",\"static-site-generator\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2025-11-14 22:33:39\",\"capture\":\"> \\n> ๅ…ถๆ ธๅฟƒๆœบๅˆถๆ˜ฏๅœจๆž„ๅปบๆ—ถๅฐ†้กต้ข้ข„ๆธฒๆŸ“ไธบ้™ๆ€ HTML/CSS/JS๏ผŒ้ƒจ็ฝฒ่‡ณ CDN ไพ›็”จๆˆทๅฐฑ่ฟ‘ๅŠ ่ฝฝ๏ผŒไป…ๅœจ้œ€่ฆๅŠจๆ€ๆ•ฐๆฎๆ—ถ้€š่ฟ‡ JavaScript ่ฐƒ็”จ API ่Žทๅ–ใ€‚็›ธ่พƒไบŽไผ ็ปŸๅŠจๆ€็ฝ‘็ซ™๏ผŒJAMStack ๅœจๆ€ง่ƒฝใ€ๅฏ้ ๆ€งใ€ๆ‰ฉๅฑ•ๆ€งใ€ๅฎ‰ๅ…จๆ€งๅŠ่ฟ็ปดๆˆๆœฌไธŠๅ…ทๆœ‰ๆ˜พ่‘—ไผ˜ๅŠฟใ€‚\\n> \\n> ๆœฌๆ–‡ๆขณ็†ไบ†ไธปๆตๆž„ๅปบๅทฅๅ…ท๏ผˆGatsbyใ€Next.jsใ€Nuxt.jsใ€11ty๏ผ‰ใ€้™ๆ€ๆ‰˜็ฎกๅนณๅฐ๏ผˆVercelใ€Netlifyใ€Cloudflare Pages๏ผ‰ใ€API/BaaS ๆœๅŠก๏ผˆSupabaseใ€Firebaseใ€Auth0๏ผ‰ๅŠๆ— ๅคด CMS๏ผˆContentfulใ€Sanityใ€Strapi\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹\",\"frontmatter\":{\"date\":\"2025-08-20 22:51:27\",\"title\":\"่Šไธ€่Š TypeScript ไธญ็š„ๆณ›ๅž‹\",\"tldr\":\"ๆณ›ๅž‹ๅฐ†็ฑปๅž‹ไฝœไธบๅ‚ๆ•ฐ๏ผŒไฝฟไปฃ็ ๅœจๅคš็ง็ฑปๅž‹ไธŠๅฎ‰ๅ…จ่ฟ่กŒ๏ผŒๆ˜ฏ TypeScript ็ฑปๅž‹ๆŠฝ่ฑก็š„ๆ ธๅฟƒ็‰นๆ€งใ€‚\",\"description\":\"ๆœฌๆ–‡็ณป็ปŸ่งฃๆž TypeScript ๆณ›ๅž‹็š„ๆ ธๅฟƒๆฆ‚ๅฟตไธŽๅทฅไฝœๆœบๅˆถ๏ผŒๅฏนๆฏ”ๆณ›ๅž‹ไธŽ any ็ฑปๅž‹็š„ๅทฎๅผ‚๏ผŒๆถต็›–ๆณ›ๅž‹ๅ‡ฝๆ•ฐใ€ๆŽฅๅฃใ€็ฑปใ€็ฑปๅž‹ๅˆซๅ็š„ๅฎž่ทต็”จๆณ•๏ผŒไปฅๅŠๅŸบๆœฌ็ฑปๅž‹็บฆๆŸใ€ๆŽฅๅฃ็บฆๆŸใ€ๅคš้‡็บฆๆŸใ€keyof ็บฆๆŸ็ญ‰้ซ˜้˜ถๆŠ€ๅทงไธŽๆœ€ไฝณๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/typescript-generic-types\",\"tags\":[\"tutorial\",\"typescript\",\"generics\",\"type-system\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่Šไธ€่Š TypeScript ไธญ็š„ๆณ›ๅž‹\",\"date\":\"2025-08-20 22:51:27\",\"capture\":\"1. ๆณ›ๅž‹็š„ๅŸบๆœฌๆฆ‚ๅฟตๅ’Œไฝœ็”จ\\n 1.1 ๆ ธๅฟƒๅฎšไน‰\\nๆณ›ๅž‹๏ผˆGenerics๏ผ‰ ๆ˜ฏ TypeScript ไธญไธ€็งๅผบๅคง็š„็ฑปๅž‹็ณป็ปŸ็‰นๆ€ง๏ผŒๅ…่ฎธๅฎšไน‰็ฑปๅž‹ๅ‚ๆ•ฐๅŒ–็š„็ป„ไปถ๏ผŒไฝฟไปฃ็ ่ƒฝๅคŸๅœจๅคš็ง็ฑปๅž‹ไธŠๅฎ‰ๅ…จ่ฟ่กŒ๏ผŒๅŒๆ—ถไฟๆŒ็ฑปๅž‹ๆฃ€ๆŸฅใ€‚ๆณ›ๅž‹็š„ๆ ธๅฟƒๆ€ๆƒณๆ˜ฏๅฐ†็ฑปๅž‹ไฝœไธบๅ‚ๆ•ฐไผ ้€’็ป™ๅ‡ฝๆ•ฐใ€ๆŽฅๅฃๆˆ–็ฑป๏ผŒๅฎž็Žฐ\\\"็ผ–ๅ†™ไธ€ๆฌก๏ผŒๅค็”จๅคšๆฌก\\\"็š„ๆ•ˆๆžœใ€‚\\n 1.2 ๆณ›ๅž‹ไธŽ any ็ฑปๅž‹็š„ๅฏนๆฏ”\\n| ็‰นๆ€ง | ๆณ›ๅž‹ | any ็ฑปๅž‹ |\\n|------|------|----------|\\n| ็ฑปๅž‹ๅฎ‰ๅ…จ | โœ… ็ผ–่ฏ‘ๆ—ถ่ฟ›่กŒ็ฑปๅž‹ๆฃ€ๆŸฅ | โŒ ๅฎŒๅ…จๅคฑๅŽป็ฑปๅž‹ๆฃ€ๆŸฅ |\\n| ไปฃ็ ๅค็”จ | โœ… ๆ”ฏๆŒๅคš็ง็ฑปๅž‹ๅค็”จ | โœ… ๆ”ฏๆŒๅคš็ง็ฑปๅž‹๏ผŒไฝ†ๅคฑๅŽป็ฑปๅž‹ไฟกๆฏ |\\n| ็ฑปๅž‹ๆŽจๆ–ญ | โœ… \"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2025-08-12 22:47:47\",\"title\":\"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—\",\"tldr\":\"TypeScript ๅฎŒๅ–„็š„็ผ–่ฏ‘ไฝ“็ณปไธŽ่ฐƒ่ฏ•ๅทฅๅ…ท้“พ๏ผŒๆ˜ฏๆž„ๅปบ้ซ˜่ดจ้‡ๅบ”็”จ็š„ๅŸบ็Ÿณใ€‚\",\"description\":\"ๆทฑๅ…ฅ่งฃๆž TypeScript ็ผ–่ฏ‘ๅทฅๅ…ท้“พไธŽ่ฐƒ่ฏ•ไฝ“็ณป๏ผŒๆถต็›– tsconfig.json ๆ ธๅฟƒ้…็ฝฎใ€Monorepo ้กน็›ฎ้…็ฝฎ๏ผˆextends/references๏ผ‰ใ€source map ่ฐƒ่ฏ•ใ€ESLint ไธŽ Jest ๅ•ๅ…ƒๆต‹่ฏ•็ญ‰ๅฎŒๆ•ดๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/typescript-compilation-debugging-guide\",\"tags\":[\"tutorial\",\"typescript\",\"compilation\",\"tooling\",\"eslint\",\"jest\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—\",\"date\":\"2025-08-12 22:47:47\",\"capture\":\"็ผ–ๅ†™ไปฃ็ ๅชๆ˜ฏๅผ€ๅ‘ๅทฅไฝœ็š„่ตท็‚น๏ผŒ็œŸๆญฃๅ†ณๅฎš้กน็›ฎ่ดจ้‡็š„ๆ˜ฏๅŽ็ปญ็š„็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•็Žฏ่Š‚ใ€‚TypeScript ไฝœไธบ JavaScript ็š„้™ๆ€็ฑปๅž‹่ถ…้›†๏ผŒไธไป…ๅธฆๆฅไบ†็ฑปๅž‹ๅฎ‰ๅ…จ๏ผŒๆ›ดๆไพ›ไบ†ๅผบๅคง็š„็ผ–่ฏ‘ๅทฅๅ…ทๅ’Œ่ฐƒ่ฏ•่ƒฝๅŠ›๏ผŒ่ฎฉๆˆ‘ไปฌ่ƒฝๅคŸๆ›ด้ซ˜ๆ•ˆๅœฐๆž„ๅปบๅ’Œ็ปดๆŠคๅฏ้ ็š„ๅบ”็”จ็จ‹ๅบใ€‚\\nๆœฌๆ–‡ๅฐ†ๅฏน TypeScript ้กน็›ฎ็š„็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•่ฟ›่กŒๆขณ็†๏ผŒๅŒ…ๆ‹ฌ็ผ–่ฏ‘ๅทฅๅ…ท TSC ็š„ไฝฟ็”จใ€็ผ–่ฏ‘้€‰้กน็š„้…็ฝฎใ€่ฐƒ่ฏ•ๅทฅๅ…ท็š„ไฝฟ็”จ็ญ‰ใ€‚\\n 1. TypeScript ็ผ–่ฏ‘้…็ฝฎไธŽ tsconfig.json\\nTSC๏ผˆTypeScript Compiler๏ผ‰ๆ˜ฏ TypeScript ๅฎ˜ๆ–นๆไพ›็š„็ผ–่ฏ‘ๅทฅๅ…ท๏ผŒ่ดŸ่ดฃๅฐ† TypeScript ไปฃ็ ๏ผˆ`.ts` ๆˆ– `.tsx`๏ผ‰่ฝฌๆขไธบ J\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview\",\"frontmatter\":{\"date\":\"2024-05-18 22:49:57\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ไปŽ ES Modules ๅˆฐๅคงๅž‹้กน็›ฎๅˆ†ๅฑ‚ๆžถๆž„ไธŽๅทฅ็จ‹ๅŒ–ๅฎž่ทต๏ผŒๆž„ๅปบๅ…จๆ ˆๆจกๅ—ๅŒ–็Ÿฅ่ฏ†ไฝ“็ณปใ€‚\",\"description\":\"็ณป็ปŸๆขณ็† JavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›๏ผˆIIFEโ†’CJSโ†’ESM๏ผ‰ใ€TypeScript ็ฑปๅž‹ๅขžๅผบใ€ๅˆ†ๅฑ‚ๆžถๆž„ไธŽ DDD ๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/module-programming-practice-guide\",\"tags\":[\"tutorial\",\"ESM\",\"DDD\",\"ๅพฎๅ‰็ซฏ\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2024-05-18 22:49:57\",\"capture\":\"1. ๅผ•่จ€\\nๆจกๅ—ๅŒ–็ผ–็จ‹ๆ˜ฏ็Žฐไปฃ JavaScript/TypeScript ๅผ€ๅ‘็š„ๆ ธๅฟƒๅŽŸๅˆ™๏ผŒๅฎƒ้€š่ฟ‡ๅฐ†ๅคๆ‚็ณป็ปŸๆ‹†ๅˆ†ไธบ็‹ฌ็ซ‹ๅฏๅค็”จ็š„ๆจกๅ—๏ผŒ้™ไฝŽ็ณป็ปŸๅคๆ‚ๆ€งๅนถๆ้ซ˜ๅฏ็ปดๆŠคๆ€งไธŽๅฏๅค็”จๆ€งใ€‚ๅ› ๆญค๏ผŒๆˆ‘ไปฌ้€š่ฟ‡็ณปๅˆ—ๆ–‡็ซ ่ฏฆ็ป†ไป‹็ปไบ†ๆจกๅ—ๅŒ–็š„ๅŸบ็ก€ๆฆ‚ๅฟตใ€ๆผ”่ฟ›ๅކ็จ‹ใ€ไธๅŒ่ง„่Œƒ็š„ๆทฑๅบฆ่งฃๆžใ€TypeScriptๆจกๅ—ๅŒ–ๅขžๅผบใ€ES Modules ๆ ธๅฟƒ่ฏญๆณ•ไธŽๅฎž่ทตใ€ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทตใ€ๅ‰็ซฏๅทฅ็จ‹ๅŒ–ไธญ็š„ๆจกๅ—ๅŒ–ใ€Node.jsไธญ็š„ๆจกๅ—ๅŒ–ๅฎž่ทตใ€ๅคงๅž‹้กน็›ฎไธญ็š„ๆจกๅ—ๅŒ–่ฎพ่ฎกใ€ๆจกๅ—ๅŒ–ไธŽไปฃ็ ็ปดๆŠคไปฅๅŠๆœชๆฅๅ‘ๅฑ•่ถ‹ๅŠฟใ€‚\\nๅ‰้ข็š„็ณปๅˆ—ๆ–‡็ซ ไธป่ฆๆœ‰๏ผš\\n- ๆจกๅ—ๅŒ–็ผ–็จ‹็ผ–็จ‹ๅˆไฝ“้ชŒไธŽๅŸบ็ก€ไป‹็ป\\n- JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\\n- ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒ\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–\",\"frontmatter\":{\"date\":\"2024-05-17 23:33:09\",\"title\":\"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“\",\"tldr\":\"Node.js CJS ไธŽ ESM ๅŒๆจกๅ…ฑๅญ˜๏ผšๆจกๅ—ๅŠ ่ฝฝๆœบๅˆถไธŽๅˆ†ๅฑ‚ๆžถๆž„ๅฎž่ทตใ€‚\",\"description\":\"่งฃๆž Node.js ไธญ CommonJS ไธŽ ES Modules ็š„ๅŒๆจกๅ…ฑๅญ˜็ญ–็•ฅ๏ผŒๆถต็›–ๆจกๅ—ๅŠ ่ฝฝไผ˜ๅ…ˆ็บงใ€็ผ“ๅญ˜ๆœบๅˆถใ€package.json exports ๆกไปถๅฏผๅ‡บๅŠ Monorepo ๆžถๆž„ๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/nodejs-module-programming-summary\",\"abstract\":\"Node.js ๆจกๅ—ๅŒ–็ปๅކไบ†ไปŽ CommonJS ็‹ฌ้œธๅคฉไธ‹ๅˆฐ ES Modules ๅ…จ้ขๆŽฅๅ…ฅ็š„่Œƒๅผ่ฝฌ็งปใ€‚ๅ…ฑๅญ˜็ญ–็•ฅ้€š่ฟ‡ .mjs/.cjs ๅŽ็ผ€ๅ’Œ package.json type ๅญ—ๆฎตๆŽงๅˆถไธค็ง่ง„่Œƒ็š„่พน็•Œ๏ผ›ESM ๅฏ็›ดๆŽฅ import CJS๏ผˆ่‡ชๅŠจๅŒ…่ฃ…ไธบ้ป˜่ฎคๅฏผๅ‡บ๏ผ‰๏ผŒไฝ† CJS ๆ— ๆณ• require ESM ๅฟ…้กปไฝฟ็”จๅŠจๆ€ importใ€‚ๆจกๅ—ๅŠ ่ฝฝ้ตๅพชๆ ธๅฟƒๆจกๅ—ไผ˜ๅ…ˆใ€ๆ–‡ไปถๆจกๅ—ใ€็›ฎๅฝ•ๆจกๅ—๏ผˆindex.js/package.json๏ผ‰ใ€node_modules ้€็บงๆŸฅๆ‰พ็š„ไผ˜ๅ…ˆ็บง๏ผ›require.cache ๅฎž็Žฐๆจกๅ—็ผ“ๅญ˜๏ผŒๆธ…้™ค็ผ“ๅญ˜๏ผˆdelete require.cache[path]๏ผ‰ๆ˜ฏ็ƒญๆ›ดๆ–ฐๅทฅๅ…ท็š„ๆ ธๅฟƒๆ“ไฝœใ€‚package.json exports ๅญ—ๆฎตๆ”ฏๆŒๆกไปถๅฏผๅ‡บ๏ผˆimport/require ่ฟ”ๅ›žไธๅŒๅ…ฅๅฃ๏ผ‰ใ€‚pnpm workspaces ๅ‡ญๅ€Ÿ็กฌ้“พๆŽฅๆœบๅˆถๆˆไธบ็Žฐไปฃ Monorepo ้ฆ–้€‰ใ€‚ๅŽ็ซฏๅˆ†ๅฑ‚ๆžถๆž„๏ผˆAPI/Service/Repository๏ผ‰ๅฎž็Žฐๅ…ณๆณจ็‚นๅˆ†็ฆป๏ผŒๆขๆ•ฐๆฎๅบ“ๅช้œ€ๆ”น Repository ๅฑ‚ใ€‚\",\"tags\":[\"concept\",\"node.js\",\"commonjs\",\"esm\",\"monorepo\",\"layered-architecture\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“\",\"date\":\"2024-05-17 23:33:09\",\"capture\":\"ๅฆ‚ๆžœ่ฏดๆต่งˆๅ™จ็ซฏ็š„ๆจกๅ—ๅŒ–ๆ˜ฏไธบไบ†\\\"ๆŒ‰้œ€ๅŠ ่ฝฝ\\\"๏ผŒ้‚ฃไนˆ Node.js ็š„ๆจกๅ—ๅŒ–ๅˆ™ๆ˜ฏไธบไบ†\\\"ไปฃ็ ็ป„็ป‡\\\"ใ€‚ไฝœไธบๅฐ† JavaScript ๅธฆๅ…ฅๆœๅŠกๅ™จ็ซฏ็š„ๅ…ˆ้ฉฑ๏ผŒNode.js ็ปๅކไบ†ไปŽ CommonJS (CJS) ็‹ฌ้œธๅคฉไธ‹ๅˆฐ ES Modules (ESM) ๅ…จ้ขๆŽฅๅ…ฅ็š„่Œƒๅผ่ฝฌ็งปใ€‚\\nๅœจๆœๅŠกๅ™จ็ซฏ๏ผŒๆจกๅ—ๅŒ–ไธไป…ไป…ๆ˜ฏไธบไบ†ๆ‹†ๅˆ†ไปฃ็ ๏ผŒๆ›ดๆ˜ฏไธบไบ†ๆž„ๅปบๆธ…ๆ™ฐ็š„้กน็›ฎ็ป“ๆž„ใ€็ฎก็†ไพ่ต–ๅ…ณ็ณป๏ผŒไปฅๅŠๅฎž็Žฐไปฃ็ ็š„ๅค็”จไธŽ็ปดๆŠคใ€‚\\n 1. CommonJS ไธŽ ES Modules ๅŒๆจกๅ…ฑๅญ˜\\nๅœจ็Žฐไปฃ Node.js ๅผ€ๅ‘ไธญ๏ผŒๆˆ‘ไปฌ็ปๅธธ้ขไธดไธค็ง่ง„่Œƒไบค็ป‡็š„ๆƒ…ๅ†ตใ€‚่ฟ™ไธไป…ๆ˜ฏๆ–‡ไปถๅŽ็ผ€็š„ๆ”นๅ˜๏ผŒๆ›ดๆ˜ฏๅŒๆญฅไธŽๅผ‚ๆญฅๅŠ ่ฝฝ้€ป่พ‘็š„ๅšๅผˆใ€‚\\nๅ…ฑๅญ˜็ญ–็•ฅ๏ผš\\n1. ๅŽ็ผ€ๅ†ณๅฎš่ฎบ๏ผš`.mjs\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต\",\"frontmatter\":{\"date\":\"2024-05-17 22:30:50\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ๆขณ็†ไธŽๆ€ป็ป“\",\"tldr\":\"ๆŽŒๆก้ซ˜ๅ†…่šไฝŽ่€ฆๅˆๅŽŸๅˆ™๏ผšๆจกๅ—ๅŒ–็ผ–็จ‹็š„่ฎพ่ฎกๅ‡†ๅˆ™ไธŽ็ฒ’ๅบฆๆŽงๅˆถใ€‚\",\"description\":\"็ณป็ปŸๆขณ็†ๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅ…ญๅคงๆ ธๅฟƒๅŽŸๅˆ™๏ผšๅ•ไธ€่Œ่ดฃใ€้ซ˜ๅ†…่šไฝŽ่€ฆๅˆใ€็ฒ’ๅบฆ่ฎพ่ฎกใ€ๅ‘ฝๅ่ง„่ŒƒๅŠๆจกๅ—็‰ˆๆœฌ็ฎก็†๏ผŒ้™„่ฏฆ็ป†็š„ๅทฅ็จ‹ๅฎž่ทตๅปบ่ฎฎไธŽ้ฟๅ‘ๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/fullstack/module-programming-principles-best-practices\",\"abstract\":\"ๅฆ‚ๆžœ่ฏดๆŽŒๆกๆจกๅ—ๅŒ–่ฏญๆณ•ๆ˜ฏๆœฏ๏ผŒ้‚ฃไนˆ็†่งฃๅ…ถ่ƒŒๅŽ็š„่ฎพ่ฎกๅŽŸๅˆ™ๅฐฑๆ˜ฏ้“ใ€‚ๅ•ไธ€่Œ่ดฃๅŽŸๅˆ™ๅผบ่ฐƒๆจกๅ—ๅชๅบ”ๆœ‰ไธ€ไธช่ขซๆ”นๅ˜็š„ๅŽŸๅ› ๏ผŒ้ฟๅ… God Object ๅๆจกๅผใ€‚้ซ˜ๅ†…่šไฝŽ่€ฆๅˆๆ˜ฏ่กก้‡ๆจกๅ—่ดจ้‡็š„็ปˆๆžๆ ‡ๅ‡†โ€”โ€”ๆจกๅ—ๅ†…้ƒจๅ…ƒ็ด ่”็ณป็ดงๅฏ†๏ผŒๆจกๅ—ไน‹้—ดไพ่ต–ๅ…ณ็ณปๅฐฝๅฏ่ƒฝ็ฎ€ๅ•ใ€‚็ฒ’ๅบฆ่ฎพ่ฎก่ฆๆฑ‚ๅ•ไธชๆจกๅ—ไฟๆŒๅœจ 100-500 ่กŒไน‹้—ด๏ผŒๅŠŸ่ƒฝ่ƒฝ็”จไธ€ๅฅ่ฏๆธ…ๆ™ฐๆ่ฟฐ๏ผŒๅ‡บ็Žฐๅคšๅˆ†ๆ”ฏๅคๆ‚้€ป่พ‘ๆ—ถ้€šๅธธๆ˜ฏๆ‹†ๅˆ†ไฟกๅทใ€‚ๅ‘ฝๅ่ง„่Œƒ็ปŸไธ€ๅ›ข้˜ŸๆฒŸ้€š่ฏญๅขƒ๏ผˆkebab-case ๆ–‡ไปถๅใ€camelCase ๆ–นๆณ•ๅใ€PascalCase ็ฑปๅ๏ผ‰ใ€‚ๆจกๅ—็‰ˆๆœฌ็ฎก็†้ตๅพช SemVer ่ฏญไน‰ๅŒ–็‰ˆๆœฌ๏ผŒไธบๅ…ฌๅ…ฑๆจกๅ—็š„็ปดๆŠค่€…ไธŽไฝฟ็”จ่€…ๅปบ็ซ‹ๅฅ‘็บฆใ€‚ๅผบ่ฐƒๆธ…ๆ™ฐ็š„ๆจกๅ—่พน็•Œๆ˜ฏ AI ่พ…ๅŠฉ็ผ–็จ‹ๆ—ถไปฃ AI ๅ‡†็กฎ็†่งฃไปฃ็ ็š„ๅ‰ๆใ€‚\",\"tags\":[\"concept\",\"solid-principles\",\"code-organization\",\"best-practices\",\"naming-conventions\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ๆขณ็†ไธŽๆ€ป็ป“\",\"date\":\"2024-05-17 22:30:50\",\"capture\":\"1. ๅ•ไธ€่Œ่ดฃๅŽŸๅˆ™\\nๆ ธๅฟƒๆ€ๆƒณ๏ผšไธ€ไธชๆจกๅ—ๅบ”ๅฝ“ๆœ‰ไธ”ๅชๆœ‰ไธ€ไธช่ขซๆ”นๅ˜็š„ๅŽŸๅ› ใ€‚\\nๆจกๅ—ไธๅบ”ๆˆไธบๅŠŸ่ƒฝ็š„โ€œๆ‚่ดง้“บโ€ใ€‚ๅฝ“ไธ€ไธชๆจกๅ—ๆ‰ฟๆ‹…ไบ†ๅคชๅคšไธ็›ธๅ…ณ็š„ไธšๅŠก้€ป่พ‘ๆ—ถ๏ผŒๅฎƒ็š„ๅคๆ‚ๅบฆไผšๅ‘ˆๆŒ‡ๆ•ฐ็บงไธŠๅ‡๏ผŒไปปไฝ•ๅพฎๅฐ็š„ๆ”นๅŠจ้ƒฝๅฏ่ƒฝๅผ•ๅ‘ๆ„ๆƒณไธๅˆฐ็š„่ฟž้”ๅๅบ”ใ€‚\\nไปฃ็ ๆผ”็คบ๏ผš\\n```javascript\\n// โœ… ๆŽจ่๏ผš่Œ่ดฃๆ‹†ๅˆ†ๆ˜Ž็กฎ\\n// user-service.js - ไป…ๅค„็†็”จๆˆทๆ•ฐๆฎ็š„ CRUD\\nexport const getUser = async (id) => { /* ... */ };\\n// auth-provider.js - ไป…ๅค„็†้‰ดๆƒ็Šถๆ€ไธŽ้€ป่พ‘\\nexport const login = async (credenti\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"frontmatter\":{\"date\":\"2024-05-16 21:27:36\",\"title\":\"ไปŽ้€ป่พ‘้š”็ฆปๅˆฐ็ฑปๅž‹ๅฅ‘็บฆ๏ผšTypeScript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"tldr\":\"TypeScript ๅฐ†ๆจกๅ—ไพ่ต–ๆๅ‡ไธบ็ผ–่ฏ‘ๆ—ถ็ฑปๅž‹ๅฅ‘็บฆ๏ผŒไปŽ import type ๅˆฐๅฃฐๆ˜Žๆ–‡ไปถใ€‚\",\"description\":\"็ณป็ปŸ่ฎฒ่งฃ TypeScript ๅฏน ES Modules ็š„็ฑปๅž‹ๅขžๅผบ๏ผŒๆถต็›– import type ่ฟ่กŒๆ—ถไผ˜ๅŒ–ใ€ๆŽฅๅฃๅฅ‘็บฆใ€ๅฃฐๆ˜Žๆ–‡ไปถ .d.ts ๅŠ tsconfig ๆจกๅ—ๅŒ–้…็ฝฎใ€‚\",\"permalink\":\"/fullstack/typescript-module-programming-enhancement\",\"tags\":[\"concept\",\"ๅ…จๆ ˆ\",\"typescript\",\"tsconfig\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไปŽ้€ป่พ‘้š”็ฆปๅˆฐ็ฑปๅž‹ๅฅ‘็บฆ๏ผšTypeScript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"date\":\"2024-05-16 21:27:36\",\"capture\":\"1. ๅผ•่จ€\\nๅœจๅŽŸ็”Ÿ JavaScript ๆจกๅ—ๅŒ–่งฃๅ†ณไบ†ไปฃ็ ็ป„็ป‡้—ฎ้ข˜ๅŽ๏ผŒTypeScript๏ผˆTS๏ผ‰่ฟ›ไธ€ๆญฅๅฐ†ๅ…ถๆŽจๅ‘ไบ†ๅทฅไธš็บง้ซ˜ๅบฆใ€‚TS ไธไป…ไป…ๆ˜ฏไธบๆจกๅ—ๆทปๅŠ ไบ†็ฑปๅž‹ๆ ‡ๆณจ๏ผŒๅฎƒ้€š่ฟ‡็ฑปๅž‹ๅฏผๅ‡บๅฏผๅ…ฅใ€็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ใ€ไปฅๅŠๅฃฐๆ˜Žๆ–‡ไปถ็ณป็ปŸ๏ผŒๅฐ†ๆจกๅ—้—ด็š„ไพ่ต–ๅ…ณ็ณปไปŽ็ฎ€ๅ•็š„โ€œไปฃ็ ๅผ•็”จโ€ๆๅ‡ๅˆฐไบ†โ€œๅฅ‘็บฆไบคไบ’โ€ใ€‚\\nๆœฌๆ–‡ๆˆ‘ไปฌๅฐ†่š็„ฆไบŽ TypeScript ๅฆ‚ไฝ•้€š่ฟ‡็ฑปๅž‹็ณป็ปŸๅขžๅผบๆจกๅ—ๅŒ–็ผ–็จ‹๏ผŒๅนถๆŽข่ฎจๅœจ็Žฐไปฃๅทฅ็จ‹๏ผˆๅฐคๅ…ถๆ˜ฏ TS 5.0+ ๆ—ถไปฃ๏ผ‰ไธ‹็š„ๆœ€ไฝณ้…็ฝฎๅฎž่ทตใ€‚\\n 2. ็ฑปๅž‹ๅฏผๅ‡บไธŽๅฏผๅ…ฅ๏ผšๆž่‡ด็š„่ฟ่กŒๆ—ถไผ˜ๅŒ–\\nTypeScript ๅฏน ES Modules ่ฏญๆณ•ๆœ€ๆ˜พ่‘—็š„ๆ‰ฉๅฑ•ๆ˜ฏๆ”ฏๆŒโ€œไป…็ฑปๅž‹โ€๏ผˆType-only๏ผ‰็š„ๅฏผๅ‡บไธŽๅฏผๅ…ฅใ€‚่ฟ™ไธไป…ๆ˜ฏ่ฏญไน‰ไธŠ็š„ๆธ…ๆ™ฐ๏ผŒๆ›ดๆ˜ฏๆ€ง\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"frontmatter\":{\"date\":\"2024-05-14 22:29:32\",\"title\":\"ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒๆ‹ฅๆŠฑๅŽŸ็”Ÿ๏ผšES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"tldr\":\"ES Modules ๆ ธๅฟƒ่ฏญๆณ•ไธŽๆ‰ง่กŒๆจกๅž‹๏ผš้™ๆ€ๅˆ†ๆžๅฆ‚ไฝ•้‡ๅก‘ๅ‰็ซฏๆž„ๅปบๆ•ˆ็އใ€‚\",\"description\":\"ๆทฑๅบฆ่งฃๆž ES Modules ๅ‘ฝๅๅฏผๅ‡บ/ๅฏผๅ…ฅใ€้ป˜่ฎคๅฏผๅ‡บใ€ๅŠจๆ€ๅฏผๅ…ฅ็ญ‰่ฏญๆณ•๏ผŒไปฅๅŠๆจกๅ—ๆ‰ง่กŒ้กบๅบใ€ๅพช็Žฏไพ่ต–ๅค„็†ไธŽ็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ๆœบๅˆถใ€‚\",\"permalink\":\"/fullstack/decode-es-modules\",\"tags\":[\"concept\",\"ESM\",\"static-analysis\",\"Tree-Shaking\",\"circular-dependency\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒๆ‹ฅๆŠฑๅŽŸ็”Ÿ๏ผšES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"date\":\"2024-05-14 22:29:32\",\"capture\":\"> \\n> ็†่งฃ ESM๏ผŒไธไป…ไป…ๆ˜ฏๅญฆไผš import ๅ’Œ export๏ผŒๆ›ด้‡่ฆ็š„ๆ˜ฏ็†่งฃๅฎƒๅฆ‚ไฝ•้€š่ฟ‡็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ๅฝปๅบ•ๆ”นๅ˜ไบ†ๅ‰็ซฏๆž„ๅปบ็š„ๆ•ˆ็އใ€‚\\n 1. ๅ‘ฝๅๅฏผๅ‡บไธŽๅฏผๅ…ฅ๏ผš็ฒพๅ‡†็š„ไปฃ็ ๅผ•็”จ\\nๅ‘ฝๅๅฏผๅ‡บ๏ผˆNamed Exports๏ผ‰ๆ˜ฏ ESM ๆœ€ๅธธ็”จ็š„ๅฝขๅผ๏ผŒๅฎƒๅ…่ฎธไธ€ไธชๆจกๅ—ๆšด้œฒๅคšไธชๆˆๅ‘˜ใ€‚ๅ…ถๆ ธๅฟƒไผ˜ๅŠฟๅœจไบŽ๏ผšๅฏผๅ…ฅๆ–นๅฏไปฅๆŒ‰้œ€ๅผ•ๅ…ฅ๏ผŒไธ” IDE ่ƒฝๆไพ›็ฒพๅ‡†็š„่กฅๅ…จใ€‚\\n่ฏญๆณ•ๅฎž่ทต๏ผš๏ผš\\n```javascript\\n// math.js - ๅ‘ฝๅๅฏผๅ‡บ\\n// ่กŒๅ†…ๅฏผๅ‡บ\\nexport const PI = 3.14159;\\nexport function circleArea(radius) {\\n return PI * rad\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†\",\"frontmatter\":{\"date\":\"2024-05-14 22:26:06\",\"title\":\"JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\",\"tldr\":\"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ็ญ‰ๆ ธๅฟƒ่ง„่Œƒ๏ผŒ้™„็Žฐไปฃ่ฟ็งป็ญ–็•ฅใ€‚\",\"description\":\"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ๅ››ๅคงๆจกๅ—ๅŒ–่ง„่Œƒ็š„ๆ ธๅฟƒ่ฏญๆณ•ไธŽ้€‚็”จๅœบๆ™ฏ๏ผŒ่งฃๆžๅ„่ง„่Œƒ็š„ๅ…ณ้”ฎๅทฎๅผ‚๏ผŒๅนถๆไพ›ไปŽๆ—ง่ง„่Œƒๅ‘ ESM ่ฟ็งป็š„ๅฎžๆ“็ญ–็•ฅใ€‚\",\"permalink\":\"/fullstack/different-module-programming-specifications\",\"tags\":[\"tutorial\",\"CommonJS\",\"AMD\",\"UMD\",\"ESM\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\",\"date\":\"2024-05-14 22:26:06\",\"capture\":\"ๅœจ JavaScript ่ฟ›ๅŒ–ๅฒไธŠ๏ผŒโ€œๆจกๅ—ๅŒ–โ€ๅง‹็ปˆๆ˜ฏไธ€ไธชๆ ธๅฟƒๅ‘ฝ้ข˜ใ€‚ไปŽๆ—ฉๆœŸ script ๆ ‡็ญพๆปกๅคฉ้ฃž็š„โ€œๆททๆฒŒๆ—ถไปฃโ€๏ผŒๅˆฐๅ„่ทฏ่ง„่Œƒ็พค้›„้€้นฟ็š„โ€œๆˆ˜ๅ›ฝๆ—ถไปฃโ€๏ผŒๅ†ๅˆฐๅฆ‚ไปŠ ES Modules ๅฎšไบŽไธ€ๅฐŠ๏ผŒๅผ€ๅ‘่€…ไปฌๅœจ่งฃๅ†ณไพ่ต–็ฎก็†ใ€ไฝœ็”จๅŸŸๆฑกๆŸ“ๅ’Œๅผ‚ๆญฅๅŠ ่ฝฝ็ญ‰้—ฎ้ข˜ไธŠไป˜ๅ‡บไบ†ๅทจๅคง็š„ๅŠชๅŠ›ใ€‚\\nๆœฌๆ–‡ๅฐ†ๅธฆไฝ ๆขณ็† JavaScript ๅކๅฒไธŠๆœ€้‡่ฆ็š„ๅ‡ ็งๆจกๅ—ๅŒ–่ง„่Œƒ๏ผŒไพฟไบŽๆž„ๅปบ่ตทๅ…จๆ ˆๅผ€ๅ‘็š„ๅบ•ๅฑ‚็Ÿฅ่ฏ†ๅ›พ่ฐฑใ€‚\\n 1. CommonJS ่ง„่Œƒ๏ผšNode.js ็”Ÿๆ€็š„ๅŸบ็Ÿณ\\nCommonJS ๆ˜ฏไผด้š Node.js ่ฏž็”Ÿ็š„่ง„่Œƒ,็”ฑ Kevin Dangoor ๆๅ‡บ๏ผŒๅˆ่กทๆ˜ฏ่ฎฉ JavaScript ่„ฑ็ฆปๆต่งˆๅ™จไนŸ่ƒฝๆž„ๅปบๅคๆ‚็š„็ณป็ปŸๅบ”็”จใ€‚ๅฎƒๆ˜ฏ Node.\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€\",\"frontmatter\":{\"date\":\"2024-05-12 22:43:28\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ๏ผšๆฆ‚ๅฟตใ€ๆผ”่ฟ›ไธŽ่ฎพ่ฎกๆจกๅผ\",\"tldr\":\"ไปŽๅ…จๅฑ€ๅ˜้‡ๅˆฐ ES Modules๏ผšJavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›ไธŽๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผๅฎž่ทตใ€‚\",\"description\":\"็ณป็ปŸ่ฎฒ่งฃ JavaScript ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€๏ผŒๆถต็›– IIFEใ€CommonJSใ€ES Modules ่ง„่Œƒๆผ”่ฟ›๏ผŒไปฅๅŠๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผไธŽๆจกๅ—ๅŒ–็š„็ป“ๅˆใ€‚\",\"permalink\":\"/fullstack/frontend-module-programming-basic\",\"tags\":[\"tutorial\",\"javascript\",\"modularization\",\"esm\",\"design-patterns\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ๏ผšๆฆ‚ๅฟตใ€ๆผ”่ฟ›ไธŽ่ฎพ่ฎกๆจกๅผ\",\"date\":\"2024-05-12 22:43:28\",\"capture\":\"1. ๅผ•่จ€\\n้š็€้กน็›ฎ่ง„ๆจกๆ—ฅ็›Š่†จ่ƒ€๏ผŒไปฃ็ ้‡ไปŽๅ‡ ๅƒ่กŒ่ฟ…้€Ÿๅขž้•ฟๅˆฐๆ•ฐไธ‡็”š่‡ณๆ•ฐๅไธ‡่กŒ๏ผŒๅฐ†ๆ‰€ๆœ‰้€ป่พ‘ๅกž่ฟ›ๅฐ‘ๆ•ฐๅ‡ ไธชๆ–‡ไปถ็š„ๅšๆณ•ๆ—ฉๅทฒ้šพไปฅไธบ็ปงใ€‚ๅœจ่ฟ™ๆ ท็š„่ƒŒๆ™ฏไธ‹๏ผŒๆจกๅ—ๅŒ–็ผ–็จ‹ๅบ”่ฟ่€Œ็”Ÿ๏ผŒๆˆไธบ็Žฐไปฃๅ‰็ซฏๅผ€ๅ‘็š„ๆ ‡้…ใ€‚\\nๅฎƒ็š„ๆ ธๅฟƒ็†ๅฟต็ฎ€ๆด่€Œไผ˜้›…๏ผšๅƒๆญ็งฏๆœจไธ€ๆ ท๏ผŒๅฐ†ๅบžๅคงๅคๆ‚็š„็ณป็ปŸๆ‹†่งฃไธบไธ€ไธชไธช็‹ฌ็ซ‹ใ€ๅŠŸ่ƒฝๅ•ไธ€ไธ”ๅฏๅค็”จ็š„ๆจกๅ—๏ผŒ่ฎฉๆฏไธชๆจกๅ—ๅ„ๅธๅ…ถ่Œ๏ผŒๅ†้€š่ฟ‡ๆ ‡ๅ‡†ๆŽฅๅฃ็ตๆดป็ป„ๅˆใ€‚\\n 2. ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ\\nๅœจๆทฑๅ…ฅ็†่ฎบไน‹ๅ‰๏ผŒ่ฎฉๆˆ‘ไปฌๅ…ˆ้€š่ฟ‡ไธ€ไธช็ฎ€ๅ•็š„ JavaScript ็คบไพ‹๏ผŒ็›ด่ง‚ๅœฐๆ„Ÿๅ—ไธ€ไธ‹ไป€ไนˆๆ˜ฏๆจกๅ—ๅŒ–ใ€‚ๅ‡่ฎพๆˆ‘ไปฌ้œ€่ฆๅค„็†ไธ€ไบ›ๆ•ฐๅญฆ่ฟ็ฎ—๏ผŒๆˆ‘ไปฌๅฏไปฅๅฐ†ๅ…ถๅฐ่ฃ…ๆˆไธ€ไธช็‹ฌ็ซ‹็š„ๅทฅๅ…ทๆจกๅ—๏ผš\\n```javascript\\n// math.js - ๅฎšไน‰ไธ€ไธชๆ•ฐๅญฆๅทฅๅ…ทๆจกๅ—\\nexp\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2024-03-20 22:41:41\",\"title\":\"ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ๅœจ้œ€ๆฑ‚่พน็•Œๅ†…่ฟฝๆฑ‚ๆœ€ๅฐๅคๆ‚ๅบฆโ€”โ€”ไธๆ˜ฏๆ‹’็ปๅคๆ‚๏ผŒ่€Œๆ˜ฏไธไธปๅŠจๅˆถ้€ ๅคๆ‚ใ€‚\",\"description\":\"ๆทฑๅ…ฅ่งฃๆžๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™ๅœจ็ผ–็จ‹ไธŽ่ฎพ่ฎกไธญ็š„ๅ…ญๅคงๅœบๆ™ฏ๏ผšๆ‹’็ป่ฟ‡ๅบฆ้ข„ๅˆคใ€็งป้™คๅ†—ไฝ™้€ป่พ‘ใ€ๅŒน้…ๆžถๆž„่ง„ๆจกใ€ๅ…‹ๅˆถไพ่ต–ๅผ•ๅ…ฅใ€ๅฐ่ฃ…ๆœ€ๅฐๆŽฅๅฃใ€ๅ…ˆๆŽ’ๆŸฅ็ฎ€ๅ•ๅŽŸๅ› ๏ผŒๅนถ็ป™ๅ‡บไธ‰ไธชๅ…ณ้”ฎ่พน็•Œใ€‚\",\"permalink\":\"/fullstack/occams-razor-software-design\",\"tags\":[\"concept\",\"engineering-fundamentals\",\"code-design\",\"software-engineering\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2024-03-20 22:41:41\",\"capture\":\"<script setup\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n> ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™็”ฑ 14 ไธ–็บช้€ป่พ‘ๅญฆๅฎถๅจๅป‰ยทๅฅฅๅกๅง†ๆๅ‡บ๏ผŒๅ…ถๆ ธๅฟƒไธบ\\\"ๅฆ‚ๆ— ๅฟ…่ฆ๏ผŒๅ‹ฟๅขžๅฎžไฝ“\\\"โ€”โ€”ๅœจๅคšไธชๅŒ็ญ‰ๆœ‰ๆ•ˆ็š„ๆ–นๆกˆไธญ๏ผŒ้€‰ๆ‹ฉๅ‡่ฎพๆœ€ๅฐ‘ใ€ๆœ€็ฎ€ๆด็š„้‚ฃไธชใ€‚่ฏฅๅŽŸๅˆ™ๅนถ้žๅฆๅฎšๅคๆ‚ๆ€ง๏ผŒ่€Œๆ˜ฏ้ฟๅ…ๆ— ๆ„ไน‰็š„่ฟ‡ๅบฆ่ฎพ่ฎกใ€‚ๆ–‡็ซ ไปŽ็ผ–็จ‹ไธŽ่ฎพ่ฎกๅฎž่ทตๅ‡บๅ‘๏ผŒไพๆฌกๆŽข่ฎจไบ†้œ€ๆฑ‚ๅฎž็Žฐใ€ไปฃ็ ๅฎž็Žฐใ€ๆžถๆž„่ฎพ่ฎกใ€ไพ่ต–็ฎก็†ใ€ๆŽฅๅฃ่ฎพ่ฎกใ€่ฐƒ่ฏ•ไผ˜ๅŒ–ๅ…ญๅคงๅœบๆ™ฏ็š„ๅไพ‹ไธŽๆญฃไพ‹๏ผŒๅนถๆ˜Ž็กฎๆŒ‡ๅ‡บไธ‰ไธชๅ…ณ้”ฎ่พน็•Œ๏ผšไธๅฏ็‰บ็‰ฒๅฏ็ปดๆŠคๆ€งใ€ๅฏๆ‰ฉๅฑ•ๆ€งใ€ๅฎ‰ๅ…จๆ€งๆขๅ–็ฎ€ๆดใ€‚\\n 1.\"}],\"ไบงๅ“ Sense\":[{\"url\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/21.ๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense\",\"relativePath\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/21.ๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense\",\"frontmatter\":{\"date\":\"2025-10-23 16:05:50\",\"title\":\"ๅฝ“โ€œๅฎž็Žฐโ€ไธๅ†ๆ˜ฏๅฃๅž’๏ผšๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense๏ผŸ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ AI ่ฎฉไปฃ็ ็”Ÿๆˆ็š„่พน้™…ๆˆๆœฌ่ถ‹่ฟ‘ไบŽ้›ถ๏ผŒโ€œๆŠ€ๆœฏๅฎž็Žฐโ€ไธๅ†ๆ˜ฏไธๅฏ้€พ่ถŠ็š„ๅฃๅž’๏ผŒโ€œไบงๅ“ๆดžๅฏŸโ€่ƒฝๆž„็ญ‘่ตทๆ–ฐ็š„ๆ ธๅฟƒๆŠคๅŸŽๆฒณใ€‚ๆœฌๆ–‡ๆ‹’็ป็Ž„ๅญฆ๏ผŒๅฐ†ๆŠฝ่ฑก็š„ ไบงๅ“ Sense ่งฃๆž„ไธบไธ‰ไธชๆ ธๅฟƒๆ•ฐๅญฆๅ…ฌๅผ๏ผŒๅนถๆไพ›ไธ€ๅฅ—ๅŸบไบŽโ€œ้€†ๅ‘ๅทฅ็จ‹โ€็š„ๅˆปๆ„็ปƒไน ๆŒ‡ๅ—๏ผŒๅŠฉๅŠ›ๅผ€ๅ‘่€…ๅœจ็ฎ—ๅŠ›่ฟ‡ๅ‰ฉ็š„ๆ—ถไปฃ๏ผŒๅฎŒๆˆไปŽโ€œไปฃ็ ๅทฅๅŒ โ€ๅˆฐโ€œไปทๅ€ผๅˆ›้€ ่€…โ€็š„่ฎค็Ÿฅ่ทƒ่ฟใ€‚\",\"sticky\":1,\"top\":true,\"categories\":[\"ไบงๅ“ Sense\",\"AI\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense/engineer-build-product-sense\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฝ“โ€œๅฎž็Žฐโ€ไธๅ†ๆ˜ฏๅฃๅž’๏ผšๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense๏ผŸ\",\"date\":\"2025-10-23 16:05:50\",\"capture\":\"1. ๅผ•่จ€\\nๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒไบงๅ“ Sense๏ผˆไบงๅ“ๆ„Ÿ๏ผ‰ ่ขซ่ง†ไธบไธ€็ง็Ž„ๅญฆใ€‚ๅฎƒไผผไนŽๆ˜ฏไน”ๅธƒๆ–ฏๅผ็š„็ตๅ…‰ไธ€็Žฐ๏ผŒๆˆ–ๆ˜ฏๅผ ๅฐ้พ™ๅผ็š„โ€œ็‹ฌๆ–ญไธ“่กŒโ€ใ€‚\\nไฝ†ๅฏนไบŽๅคงๅคšๆ•ฐๅทฅ็จ‹ๅธˆใ€ไบงๅ“็ป็†ไนƒ่‡ณ็‹ฌ็ซ‹ๅผ€ๅ‘่€…่€Œ่จ€๏ผŒๅฐ†่ƒฝๅŠ›ๅฏ„ๆ‰˜ไบŽโ€œๅคฉ่ต‹โ€ๆ˜ฏๅฑ้™ฉ็š„ใ€‚ๆˆ‘่ฎคไธบ๏ผŒไบงๅ“ Sense ๅนถ้žไธๅฏๆ‰ๆ‘ธ็š„้ป‘้ญ”ๆณ•๏ผŒ่€Œๆ˜ฏไธ€ๅฅ—็ป่ฟ‡้ซ˜้ข‘่ฎญ็ปƒๅŽๅ†…ๅŒ–ไธบๆœฌ่ƒฝ็š„ๆ€็ปด็ฎ—ๆณ•ใ€‚ ๅฐฑๅƒ่ต„ๆทฑ็จ‹ๅบๅ‘˜็œ‹ๅˆฐไธ€ๆฎตไปฃ็ ๅฐฑ่ƒฝๅ—…ๅ‡บ \\\"Code Smell\\\"๏ผˆไปฃ็ ๅผ‚ๅ‘ณ๏ผ‰๏ผŒ่ต„ๆทฑไบงๅ“ไบบไนŸ่ƒฝๅœจ็žฌ้—ดๅˆคๆ–ญไธ€ไธช้œ€ๆฑ‚ๆ˜ฏโ€œ็œŸ็—›็‚นโ€่ฟ˜ๆ˜ฏโ€œไผช้œ€ๆฑ‚โ€ใ€‚\\nไธ€ไธชๆˆๅŠŸ็š„ไบงๅ“ๅ†ณ็ญ–๏ผŒๅพ€ๅพ€ๅ‘็”Ÿๅœจไธ‰ไธช็ปดๅบฆ็š„ไบคๆฑ‡็‚น๏ผš\\n* ็”จๆˆทไปทๅ€ผๆดžๅฏŸ๏ผˆUser Value Insight๏ผ‰๏ผšไธไป…ๅฌๆ‡‚็”จๆˆท่ฏดโ€œๆƒณ่ฆๆ›ดๅฟซ็š„้ฉฌโ€๏ผŒๆ›ด่ƒฝๆดžๅฏŸไป–ๅ…ถๅฎžโ€œๆƒณๆ›ด\"},{\"url\":\"/10.ไบงๅ“ Sense/00.ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"relativePath\":\"/10.ไบงๅ“ Sense/00.ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"frontmatter\":{\"date\":\"2026-03-19 23:05:50\",\"title\":\"ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"description\":\"ไบงๅ“ Sense ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ๏ผŒๆถต็›– AI ไบงๅ“่ง‚ๅฏŸใ€ๅคๅˆๅž‹ไบบๆ‰ๆˆ้•ฟใ€ๅ•†ไธšๅŒ–ๆ€่€ƒๅŠๆ–นๆณ•่ฎบๆ€ป็ป“็ญ‰ใ€‚\",\"categories\":[\"ไบงๅ“ Sense\",\"AI\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"date\":\"2026-03-19 23:05:50\",\"capture\":\"> * ่ฟฝๆฑ‚้ซ˜ๆ ๆ†โ€”โ€”ไปฅๆž็ฎ€ๆŠ€ๆœฏ่งฃๅ†ณๅคๆ‚้—ฎ้ข˜๏ผŒๆ‹’็ปไธบ็‚ซๆŠ€่€Œ่ฎพ่ฎก็š„ไผช้œ€ๆฑ‚๏ผ›\\n> * ๅนณ่กกๆ„Ÿๆ€งไธŽ็†ๆ€งโ€”โ€”ๆ—ขๅ…ฑๆƒ…็”จๆˆท็š„็œŸๅฎžๅœบๆ™ฏไธŽๆƒ…็ปช๏ผŒๅˆๅ†ท้™่ฟฝๆบฏ็—›็‚นๆœฌ่ดจ๏ผŒ่ฎฉไบงๅ“ๆ—ขๆœ‰ๆธฉๅบฆ๏ผŒๅˆไธ่‡ณไบŽๆฒฆไธบๅŠŸ่ƒฝ็š„ๅ †็ Œใ€‚\\n่งฃๆž„่ฟ™็งไบงๅ“ Sense ็š„ๅŸบ็ก€ๅœจไบŽๅฏนๆŠ•ๅ…ฅไบงๅ‡บๆฏ”๏ผˆROI๏ผ‰็š„ๆž่‡ด่ฟฝๆฑ‚ไธŽๅฏนไบบๆ€ง็š„ๆทฑๅบฆๅ‰–ๆž๏ผš\\n* ไธ€ๆ–น้ข๏ผŒๅ“่ถŠ็š„ไบงๅ“ๅ—…่ง‰ๆ„ๅ‘ณ็€ๅฏปๆ‰พโ€œ้ซ˜ๆ ๆ†่งฃโ€๏ผŒ็”จๆœ€ๅ…‹ๅˆถ็š„ๆŠ€ๆœฏๅคๆ‚ๅบฆๅŽปๆ’ฌๅŠจๆœ€ๅนฟๆณ›ไธ”ๅผบ็ƒˆ็š„็”จๆˆทไปทๅ€ผ๏ผŒๆžœๆ–ญ่ง„้ฟไธบไบ†ๆŠ€ๆœฏ่€ŒๆŠ€ๆœฏ็š„ไผช้œ€ๆฑ‚้™ท้˜ฑใ€‚\\n* ๅฆไธ€ๆ–น้ข๏ผŒๆ—ข้œ€่ฆ่ฎพ่บซๅค„ๅœฐๆ„Ÿ็Ÿฅ็”จๆˆท็š„็œŸๅฎžไฝฟ็”จๅœบๆ™ฏไธŽๆƒ…็ปช๏ผŒๅˆๅฟ…้กปไฟๆŒ็†ๆ€งๅŽป่ฟฝ้—ฎ็—›็‚น็š„ๆ นๆบ๏ผŒ็กฎไฟไบงๅ“ๆ—ขไธๆฒฆไธบ่‡ƒ่‚ฟ็š„้œ€ๆฑ‚่ฎธๆ„ฟๆฑ ๏ผŒไนŸไธๅ˜ๆˆ็ผบไนไบบๆ€งๆธฉๅบฆ็š„ๅ†ฐๅ†ทๆœบๅ™จใ€‚\\n<im\"},{\"url\":\"/10.ไบงๅ“ Sense/04.ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–/30.ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹่ฏปๅŽๆ„Ÿ\",\"relativePath\":\"/10.ไบงๅ“ Sense/04.ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–/30.ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹่ฏปๅŽๆ„Ÿ\",\"frontmatter\":{\"date\":\"2025-11-24 21:50:00\",\"title\":\"ๆ”พๅผƒๅขž้•ฟๆ‰งๅฟต๏ผŒไธบไป€ไนˆโ€œๅฐ่€Œ็พŽโ€ๆ‰ๆ˜ฏๅฏๆŒ็ปญไน‹่ทฏ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒ็ง‘ๆŠ€ไบ’่”็ฝ‘่กŒไธš็š„ๅ™ไบ‹้ƒฝ่ขซโ€œไธๆƒœไธ€ๅˆ‡ไปฃไปทๅฎž็Žฐ่ถ…็บฟๆ€งๅขž้•ฟโ€ๆ‰€ไธปๅฏผใ€‚ไปฟไฝ›ๅชๆœ‰ๆ‹ฟๅˆฐๅทจ้ข่ž่ต„ใ€็–ฏ็‹‚ๆ‹›ไบบใ€ๆˆไธบไผฐๅ€ผ็ ด็™พไบฟ็š„ๅบž็„ถๅคง็‰ฉ๏ผŒๆ‰็ฎ—ๅพ—ไธŠๆ˜ฏๆˆๅŠŸ็š„ๅˆ›ไธšใ€‚็„ถ่€Œ๏ผŒ่ฏปๅฎŒ่จๅธŒๅฐ”ยทๆ‹‰ๆ–‡ๅ‰ไบš็š„ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹ๅŽ๏ผŒ็ฌ”่€…่Žทๅพ—ไบ†ไธ€็งๆˆช็„ถไธๅŒ็š„ๅ•†ไธš่ง†่ง’๏ผšไผไธšๅญ˜ๅœจ็š„้ฆ–่ฆ็›ฎ็š„ไธๆ˜ฏไธบไบ†่ž่ต„ๅ’Œๆ‰ฉๅผ ๏ผŒ่€Œๆ˜ฏไธบไบ†้€š่ฟ‡่งฃๅ†ณ้—ฎ้ข˜ๆฅ่Žทๅพ—ๆŒ็ปญ็š„็›ˆๅˆฉใ€‚ ๆœฌๆ–‡็ป“ๅˆไนฆไธญ็š„ๆ ธๅฟƒ่ฎบ็‚นไธŽ่‡ช่บซ็š„็ ”ๅ‘่ง†่ง’๏ผŒๆŠŠๅฐ†่ฟ™ๆœฌไนฆ่ƒŒๅŽ็š„็ป่ฅ้€ป่พ‘ไธŽไบงๅ“ๅ“ฒๅญฆๆขณ็†ไธบๅ‡ ไธชๆ ธๅฟƒๅฑ‚้ข็š„ๆ€่€ƒใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense/small-rule-learn\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"ไบงๅ“ Sense\",\"ๅ•†ไธšๅŒ–\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆ”พๅผƒๅขž้•ฟๆ‰งๅฟต๏ผŒไธบไป€ไนˆโ€œๅฐ่€Œ็พŽโ€ๆ‰ๆ˜ฏๅฏๆŒ็ปญไน‹่ทฏ\",\"date\":\"2025-11-24 21:50:00\",\"capture\":\"ไนฆๅ๏ผšใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹\\nไฝœ่€…๏ผš[็พŽ] ่จๅธŒๅฐ”ยทๆ‹‰ๆ–‡ๅ‰ไบš\\nๆ ธๅฟƒๆ ‡็ญพ๏ผšๆž็ฎ€ๅˆ›ไธš๏ฝœ็คพๅŒบๆœฌไฝ๏ฝœๆŒ็ปญ็›ˆๅˆฉ๏ฝœๅˆ›ไฝœ่€…็ปๆตŽ\\nไธ€ๅฅ่ฏ็ฎ€่ฏ„๏ผšๅœจ็›ฒ็›ฎๅด‡ๆ‹œ่ง„ๆจกๆ‰ฉๅผ ็š„ๅ•†ไธš่ฏญๅขƒไธ‹๏ผŒ่ฟ™ๆ˜ฏไธ€ไปฝๅ†™็ป™็‹ฌ็ซ‹ๅˆ›ไฝœ่€…ไธŽๅผ€ๅ‘่€…็š„ๆธ…้†’ๆŒ‡ๅ—๏ผŒๆ•™ไผšๆˆ‘ไปฌๅฆ‚ไฝ•็”จๆœ€ๅฐ‘็š„่ต„ๆบ๏ผŒ่งฃๅ†ณ็œŸๅฎž็š„็—›็‚น๏ผŒๅนถ่Žทๅพ—้•ฟไน…็š„่‡ช็”ฑใ€‚\\nๆ›ดๅคšไนฆ็ฑๆŽจ่ไฟกๆฏๅฏๅ‚่€ƒ๏ผšไบงๅ“ Sense ไธŽๅ•†ไธšๅŒ–\\n 1. ็คพๅŒบๅ…ˆ่กŒ๏ผšไปŽโ€œๆˆ‘ๆ˜ฏ่ฐโ€ๅˆฐโ€œๆˆ‘่ƒฝไธบ่ฐ่งฃๅ†ณ้—ฎ้ข˜โ€\\nไผ ็ปŸๅ•†ไธš้€ป่พ‘ๅพ€ๅพ€ๆ˜ฏๅ…ˆๆž„ๆ€ไธ€ไธชๅฎๅคง็š„็‚นๅญ๏ผŒ้—ญ้—จ้€ ่ฝฆๆ‰“็ฃจไบงๅ“๏ผŒๆœ€ๅŽๅ†็ ธ้’ฑๅŽปๅธ‚ๅœบไธŠๅฏปๆ‰พ็›ฎๆ ‡็”จๆˆทใ€‚่€Œๆœฌไนฆๆๅ‡บไบ†ไธ€ไธช้ข ่ฆ†ๆ€ง็š„ๅๅ‘่ทฏๅพ„๏ผš็คพๅŒบ $\\\\rightarrow$ ้—ฎ้ข˜ $\\\\rightarrow$ ๆต็จ‹ $\\\\rightarrow$\"},{\"url\":\"/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/40.ๆดžๅฏŸๅŠ›ๆจกๅž‹\",\"relativePath\":\"/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/40.ๆดžๅฏŸๅŠ›ๆจกๅž‹\",\"frontmatter\":{\"date\":\"2025-11-14 16:00:00\",\"title\":\"ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผšๅฆ‚ไฝ•็œ‹้€ไบงๅ“ไธŽๆŠ€ๆœฏ่ƒŒๅŽ็š„็ณป็ปŸ้€ป่พ‘๏ผŸ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆ— ่ฎบๆ˜ฏๅšไบงๅ“ใ€ๆžๆŠ€ๆœฏ๏ผŒ่ฟ˜ๆ˜ฏๅบ”ๅฏนๆ—ฅๅธธๅทฅไฝœไธญ็š„ๅ„็งๆŒ‘ๆˆ˜๏ผŒไฝ ๆ˜ฏๅฆ้‡ๅˆฐ่ฟ‡่ฟ™ๆ ท็š„ๅ›ฐๅขƒ๏ผšๆ˜Žๆ˜ŽๆŒ‰็ป้ชŒ่กŒไบ‹๏ผŒๅดๅฑกๅฑก่ธฉๅ‘๏ผ›ๅˆš่งฃๅ†ณ่กจ้ข้—ฎ้ข˜๏ผŒ้šๆ‚ฃๅˆๅทๅœŸ้‡ๆฅใ€‚้—ฎ้ข˜ๆœชๅฟ…ๅ‡บๅœจๅŠชๅŠ›็จ‹ๅบฆ๏ผŒ่€ŒๅœจไบŽๆˆ‘ไปฌๅช็›ฏ็€่กจ่ฑก๏ผŒๅดๅฟฝ็•ฅไบ†่ƒŒๅŽ็œŸๆญฃ่ตทไฝœ็”จ็š„็ณป็ปŸ๏ผŒๆฒกๆœ‰็œ‹ๆ‡‚่—ๅœจ่ƒŒๅŽ็š„็ณป็ปŸใ€‚ไธบไป€ไนˆๅŒๆ ทๆ˜ฏ่งฃๅ†ณ้—ฎ้ข˜๏ผŒๆœ‰ไบบๅช่ƒฝโ€œๅคด็—›ๅŒปๅคดโ€๏ผŒๆœ‰ไบบๅด่ƒฝ็›ดๅ‡ปๆœฌ่ดจ๏ผŸ่ฟ™็ฏ‡ๆ–‡็ซ ๅฐ†็”จ้€šไฟ—ๆ˜“ๆ‡‚็š„ๆ–นๅผ๏ผŒๅธฆไฝ ๆ‹†่งฃไธ€ๅฅ—ๅฎž็”จ็š„ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผŒ่ฎฉๆˆ‘ไปฌๅญฆไผš้€่ฟ‡็Žฐ่ฑกๆŠ“ไฝๆœฌ่ดจ๏ผŒไปŽๆ นๆบไธŠ่งฃๅ†ณ้—ฎ้ข˜ใ€‚\",\"permalink\":\"/product-sense/insight-model\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"ไบงๅ“ Sense\",\"็ณป็ปŸๆดžๅฏŸๅŠ›\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผšๅฆ‚ไฝ•็œ‹้€ไบงๅ“ไธŽๆŠ€ๆœฏ่ƒŒๅŽ็š„็ณป็ปŸ้€ป่พ‘๏ผŸ\",\"date\":\"2025-11-14 16:00:00\",\"capture\":\"1. ่กจ่ฑก่ƒŒๅŽ่—็€ๅ†ณๅฎšไธ€ๅˆ‡็š„โ€œ็ณป็ปŸ้ป‘็›’โ€\\nๆˆ‘ไปฌๅœจๆ—ฅๅธธๅผ€ๅ‘ๆˆ–ไบงๅ“่ฎพ่ฎกไธญ๏ผŒๆ€ปๆ˜ฏ่ขซๅ„็งโ€œ่กจ่ฑกโ€ๅŒ…ๅ›ด๏ผšDAU ็ช็„ถไธ‹้™ไบ†ใ€็บฟไธŠๅ‡บ็Žฐไบ†ไธ€ไธชๅถ็Žฐ็š„ Bugใ€ๆŸไธชๅŠŸ่ƒฝ็š„่ฝฌๅŒ–็އไธๅŠ้ข„ๆœŸใ€‚ๆˆ‘ไปฌไน ๆƒฏไบ†็›ฏ็€่ฟ™ไบ›็œ‹ๅพ—่ง็š„็ป“ๆžœๆ‰พๅŽŸๅ› ๏ผŒๅดๅฟฝ็•ฅไบ†ไธ€ไธชๆ ธๅฟƒ็œŸ็›ธ๏ผšๆฏไธ€ไธช่กจ่ฑก่ƒŒๅŽ๏ผŒๅ…ถๅฎž้ƒฝ้š่—็€ไธ€ไธช่ฟ่ฝฌๅคๆ‚็š„โ€œ้ป‘็›’ๅญโ€๏ผŒๆญฃๆ˜ฏ่ฟ™ไธช้ป‘็›’ๅญๅ†ณๅฎšไบ†ไบ‹็‰ฉๅ‘ๅฑ•็š„ๅฎข่ง‚่ง„ๅพ‹ใ€‚ๆˆ‘ไปฌๅฏไปฅๆŠŠ่ฟ™ไธช้ป‘็›’ๅญ๏ผŒๅซๅšโ€œ็ณป็ปŸโ€ใ€‚\\n<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/product/system_tips.png\\\" style=\\\"width: 1\"},{\"url\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/20.่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"relativePath\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/20.่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"frontmatter\":{\"date\":\"2024-06-15 22:23:00\",\"title\":\"่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡็ป“ๅˆไฟ็ฝ—ใƒปๆ ผ้›ทๅŽ„ๅง†ใ€ŠHow to Do Great Workใ€‹ๆ ธๅฟƒ่ง‚็‚น๏ผŒๆŽข่ฎจ AI ๅŽŸ็”Ÿๆ—ถไปฃๅคๅˆๅž‹ไบบๆ‰็š„ๆ ธๅฟƒ็‰น่ดจใ€‚AI ่ฎฉๅŸบ็ก€ๆ‰ง่กŒ่ƒฝๅŠ›ๅฟซ้€Ÿ่ดฌๅ€ผ๏ผŒไบบๆ‰็š„ๆ ธๅฟƒๅฃๅž’ไธๅ†ๆ˜ฏ่งฃๅ†ณ้—ฎ้ข˜๏ผŒ่€Œๆ˜ฏๆๅ‡บไผ˜่ดจ้—ฎ้ข˜ใ€ๅŸนๅ…ป้žๅ…ฑ่ฏ†ๅ“ๅ‘ณใ€‚ๅŒๆ—ถ้œ€ๅšๅฎˆๆ™บๅŠ›่ฏšๅฎž๏ผŒๆ‹ฅๆœ‰ๆ‰“็ ดๅธธ่ง„็š„ๅˆ›ๆ–ฐๅ‹‡ๆฐ”๏ผŒๅ€ŸๅŠฉ AI ๆ”พๅคงไธชไบบๆˆ้•ฟๆ ๆ†๏ผŒไปฅๅฐๅˆ‡ๅฃๅฎž่ทตๅฎž็ŽฐๆŒ‡ๆ•ฐ็บงๆˆ้•ฟใ€‚ไบบ็ฑป็‹ฌๆœ‰็š„ๅฅฝๅฅ‡ๅฟƒ๏ผŒๆ˜ฏ็ช็ ด AI ๅนณๅบธใ€ๅ–ๅพ—ๆฐๅ‡บๆˆๅฐฑ็š„ๆœ€็ปˆๅบ•ๆฐ”ใ€‚\",\"coverImg\":\"/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense/ai-native-composite-talents\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"AI\",\"ๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"date\":\"2024-06-15 22:23:00\",\"capture\":\"> \\n> ๅŽŸๆ–‡ๅœฐๅ€๏ผšhttps://paulgraham.com/greatwork.html\\n> \\n> ๅŽŸๆ–‡ไฝœ่€…๏ผšPaul Graham๏ผˆไฟ็ฝ—ยทๆ ผ้›ทๅŽ„ๅง†๏ผ‰๏ผŒ็ก…่ฐท้กถ็บงๅญตๅŒ–ๅ™จ Y Combinator ๅˆ›ๅง‹ไบบ๏ผŒ่ขซ่ช‰ไธบโ€œ็ก…่ฐทๅˆ›ไธšๆ•™็ˆถโ€๏ผŒไนŸๆ˜ฏ็ปๅ…ธๆŠ€ๆœฏๅ“ฒๅญฆ่‘—ไฝœใ€Š้ป‘ๅฎขไธŽ็”ปๅฎถใ€‹็š„ไฝœ่€…ใ€‚\\n> \\n> ๆ–‡็ซ ่ƒŒๆ™ฏ๏ผšๅŽŸๆ–‡ๆ˜ฏไฟ็ฝ—ยทๆ ผ้›ทๅŽ„ๅง†ไน‹ๅ‰ๅ‡†ๅค‡ไบ†ๅŠๅนดไน‹ไน…็š„้‡็ฃ…้•ฟๆ–‡๏ผŒไป–่ฏ•ๅ›พ่ฎฒๆ˜Ž็™ฝไธ€ไธช้€‚็”จไบŽๆฏไธชไบบ็š„ไธป้ข˜โ€”โ€”ๅฆ‚ไฝ•ๅšๆˆใ€Œๅคงไบ‹ใ€๏ผˆgreat work๏ผ‰ใ€‚้€š่ฏปๅ…จๆ–‡๏ผŒไฝ ไผšๅ‘็Žฐ๏ผŒ่ฟ™ๆ˜ฏไธ€็ฏ‡้žๅธธๅฎž็”จ็š„ๅทฅไฝœๆŒ‡ๅ—๏ผŒๅนถไธ”ๅ…ถไธญ็š„่ฎธๅคšๅ†…ๅฎน๏ผŒ้ƒฝไธŽAIๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰ๆ‰€้œ€่ฆๅ…ทๅค‡็š„็‰น่ดจ้žๅธธไธ€่‡ดใ€‚\\n 1. ๅผ•่จ€๏ผš\"},{\"url\":\"/10.ไบงๅ“ Sense/01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž/11.AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"relativePath\":\"/10.ไบงๅ“ Sense/01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž/11.AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"frontmatter\":{\"date\":\"2024-05-08 08:56:21\",\"title\":\"AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจๅคงๆจกๅž‹้‡ๅก‘ไบ’่”็ฝ‘ไบคไบ’็š„ๅฝ“ไธ‹๏ผŒPerplexity ๅนถๆœช้€‰ๆ‹ฉๆˆไธบโ€œไธ‹ไธ€ไธช Googleโ€๏ผŒ่€Œๆ˜ฏไปฅโ€œ็Ÿฅ่ฏ†ๅ‘็Žฐๅผ•ๆ“Žโ€็š„ๅ…จๆ–ฐๅฎšไฝ๏ผŒ็ฒพๅ‡†ๅˆ‡ๅ…ฅ็Ÿฅ่ฏ†ๅทฅไฝœ่€…็š„ๆ ธๅฟƒๅทฅไฝœๆตใ€‚ๆœฌๆ–‡่ทณๅ‡บๅ•็บฏ็š„ๆจกๅž‹่ƒฝๅŠ›ๅฏนๆฏ”๏ผŒไปŽไบงๅ“ Sense ไธŽๅทฅ็จ‹้€ป่พ‘็š„ๅŒ้‡่ง†่ง’๏ผŒๆทฑๅบฆๆ‹†่งฃ Perplexity ็š„็ ดๅฑ€ไน‹้“ใ€‚ๆˆ‘ไปฌๅฐ†ๆŽข่ฎจๅฎƒๅฆ‚ไฝ•้€š่ฟ‡ๅ็›ด่ง‰็š„ UI ๅˆ›ๆ–ฐ้‡ๅก‘ไบคไบ’่ตท็‚น๏ผŒๅฆ‚ไฝ•ๅœจๅทฅ็จ‹ๅฑ‚้ขๆญป็ฃ•ๅฐพ้ƒจๅปถ่ฟŸไธŽๅนป่ง‰ๆŽงๅˆถ๏ผŒไปฅๅŠๅฎƒๅฆ‚ไฝ•ๅˆฉ็”จๅทจๅคด็š„ๅˆฉๆถฆ็އๆŠคๅŸŽๆฒณๅฎž็Žฐ้”™ไฝ็ซžไบ‰ใ€‚ๆœ€็ปˆ๏ผŒๆˆ‘ไปฌๅฐ†่ง†็บฟๆŠ•ๅ‘ๆœชๆฅ๏ผŒไธ€็ชฅ AI ไปŽ่ขซๅŠจๅ“ๅบ”่ตฐๅ‘ไธปๅŠจๆŽข็ดข็š„ๆผ”่ฟ›่“ๅ›พใ€‚\",\"permalink\":\"/product-sense/perplexity-knowledge-worker\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"AI ๆœ็ดข\",\"็Ÿฅ่ฏ†ๅ‘็Žฐ\",\"ไบงๅ“ Sense\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"date\":\"2024-05-08 08:56:21\",\"capture\":\"1. ๅผ•่จ€\\nๅœจ AI ๆตชๆฝฎไธ‹๏ผŒๆœ็ดขๅผ•ๆ“Ž็š„่Œƒๅผๆญฃๅœจๅ‘็”Ÿ่ฝฌ็งปใ€‚ไฝœไธบๅฝ“ๅ‰ๅค‡ๅ—็žฉ็›ฎ็š„ AI ๆœ็ดขไบงๅ“๏ผŒPerplexity ๅนถๆฒกๆœ‰่ฏ•ๅ›พๆˆไธบโ€œไธ‹ไธ€ไธช Googleโ€๏ผŒ่€Œๆ˜ฏๅฐ†่‡ชๅทฑๅฎšไน‰ไธบ็Ÿฅ่ฏ†ๅ‘็Žฐๅผ•ๆ“Žใ€‚\\nๅฏนไบŽๆฏๅคฉ้œ€่ฆๅค„็†ๆตท้‡ไฟกๆฏใ€่ฟ›่กŒๅคๆ‚ๅ†ณ็ญ–็š„็Ÿฅ่ฏ†ๅทฅไฝœ่€…่€Œ่จ€๏ผŒๅฆ‚ไฝ•้ซ˜ๆ•ˆๅœฐโ€œๅŽปๅ™ชโ€ๅนถ่Žทๅ–้ซ˜ไฟกๅบฆ็Ÿฅ่ฏ†ๆ˜ฏๆ ธๅฟƒ่ฏ‰ๆฑ‚ใ€‚็ฌ”่€…ๅฐ†ไปŽไบงๅ“ไบคไบ’ใ€ๆŠ€ๆœฏๅทฅ็จ‹ใ€ๅ•†ไธš้€ป่พ‘ไธŽๆœชๆฅๆผ”่ฟ›ๅ››ไธช็ปดๅบฆ๏ผŒๅˆ†ๆž Perplexity ๆ˜ฏๅฆ‚ไฝ•้‡ๅก‘ไฟกๆฏ่Žทๅ–ๅทฅไฝœๆต็š„ใ€‚\\nๆœฌๆ–‡ๆ—จๅœจ้€š่ฟ‡ๅฏน Perplexity ็š„ๆทฑๅบฆไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž๏ผŒๅธฎๅŠฉ่ฏป่€…็†่งฃ AI ๆœ็ดขไบงๅ“็š„่ฎพ่ฎก้€ป่พ‘ไธŽ็”จๆˆทไฝ“้ชŒไผ˜ๅŒ–่ทฏๅพ„๏ผŒๅŒๆ—ถไธบ็Ÿฅ่ฏ†ๅทฅไฝœ่€…ๆไพ›ๅฏ่ฝๅœฐ็š„ๆ•ˆ็އๆๅ‡ๆ–นๆณ•๏ผŒๅนถๅœจ่ฟ‡็จ‹ไธญๅŸนๅ…ป็ป“ๆž„ๅŒ–ไบงๅ“ๅˆ†ๆžๆ€็ปดใ€‚\\n\"},{\"url\":\"/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/50.็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“\",\"relativePath\":\"/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/50.็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“\",\"frontmatter\":{\"date\":\"2024-01-01 16:00:00\",\"title\":\"็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“\",\"description\":\"ๅฐ†็ปๆตŽๅญฆๆ ธๅฟƒๅŽŸ็†่žๅˆ่ฟ›ไบงๅ“่ฎพ่ฎกๅ…จ็”Ÿๅ‘ฝๅ‘จๆœŸ็š„ๆ–นๆณ•่ฎบไฝ“็ณป๏ผŒๆž„ๅปบ็†ๆ€ง็š„โ€œไบงๅ“Senseโ€ใ€‚\",\"categories\":[\"ไบงๅ“ Sense\"],\"permalink\":\"/product-sense/using-economics-thinking\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“\",\"date\":\"2024-01-01 16:00:00\",\"capture\":\"ๅœจไบงๅ“็ฎก็†็š„ๅนฟ้˜”ๅคฉๅœฐไธญ๏ผŒๆˆ‘ไปฌๅพ€ๅพ€ๅผบ่ฐƒโ€œไบงๅ“ Senseโ€๏ผˆProduct Sense๏ผ‰โ€”โ€”ไธ€็งๅฏน็”จๆˆท้œ€ๆฑ‚ใ€ๅธ‚ๅœบ้ฃŽๅ‘ๅ’ŒๆŠ€ๆœฏๆฝœๅŠ›็š„็›ด่ง‰ๆ€งๆ•ๆ‰ใ€‚็„ถ่€Œ๏ผŒ่ฟ™็ง Sense ็ป้žๅ‡ญ็ฉบ่€Œๆฅ็š„็ตๅ…‰ไน็Žฐ๏ผŒๅฎƒ้œ€่ฆ็จณๅ›บ็š„็†ๆ€งๅœฐๅŸบใ€‚ๅœจไผ—ๅคšๅญฆ็ง‘ไธญ๏ผŒ็ปๆตŽๅญฆๆ— ็–‘ๆไพ›ไบ†ๆœ€ๅบ•ๅฑ‚็š„้€ป่พ‘ๆ”ฏๆŸฑใ€‚\\n็ปๆตŽๅญฆไธไป…ไป…ๆ˜ฏๅ…ณไบŽ้‡‘้’ฑๅ’Œๅธ‚ๅœบ็š„็ง‘ๅญฆ๏ผŒๅฎƒๆ›ดๆ˜ฏไธ€็ง่งฃๅ†ณ้—ฎ้ข˜ใ€ไผ˜ๅŒ–ๅ†ณ็ญ–็š„ๆ–นๅผใ€‚ๅฏนไบงๅ“ไบบ่€Œ่จ€๏ผŒๅ€Ÿ้‰ด็ปๆตŽๅญฆๆ€็ปด๏ผŒๆ„ๅ‘ณ็€่ƒฝๅคŸ็†ๆ™บๅœฐๆƒ่กกๅˆฉๅผŠ๏ผŒๆ›ด็ฒพๅ‡†ๅœฐๅฎšไปท๏ผŒๆ›ดๆทฑๅˆปๅœฐๆดžๅฏŸไบบๆ€ง๏ผŒๆœ€็ปˆๅœจ้”™็ปผๅคๆ‚็š„็บฆๆŸๆกไปถไธ‹๏ผŒๆฑ‚่งฃๅ‡บ็”จๆˆทไปทๅ€ผไธŽๅ•†ไธšไปทๅ€ผๅนถ้‡็š„ๆœ€ไผ˜่งฃใ€‚\\n 1. ็”Ÿๆดป้‡Œ็š„็ปๆตŽๅญฆๆดžๅฏŸโ€”โ€”ๆดžๅฏŸไธไป…ๆ˜ฏๅ…ณไบŽ้œ€ๆฑ‚๏ผŒๆ›ดๆ˜ฏๅ…ณไบŽๆˆๆœฌไธŽๅšๅผˆ\\nๆˆ‘ไปฌๅธธ่ขซๆ—ฅๅธธ็Žฐ่ฑก็š„โ€œๅˆ็†ๆ€งโ€ๆ‰€่ฟทๆƒ‘๏ผŒ่€Œ็ปๆตŽๅญฆ\"}],\"AI\":[{\"url\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/21.ๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense\",\"relativePath\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/21.ๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense\",\"frontmatter\":{\"date\":\"2025-10-23 16:05:50\",\"title\":\"ๅฝ“โ€œๅฎž็Žฐโ€ไธๅ†ๆ˜ฏๅฃๅž’๏ผšๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense๏ผŸ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ AI ่ฎฉไปฃ็ ็”Ÿๆˆ็š„่พน้™…ๆˆๆœฌ่ถ‹่ฟ‘ไบŽ้›ถ๏ผŒโ€œๆŠ€ๆœฏๅฎž็Žฐโ€ไธๅ†ๆ˜ฏไธๅฏ้€พ่ถŠ็š„ๅฃๅž’๏ผŒโ€œไบงๅ“ๆดžๅฏŸโ€่ƒฝๆž„็ญ‘่ตทๆ–ฐ็š„ๆ ธๅฟƒๆŠคๅŸŽๆฒณใ€‚ๆœฌๆ–‡ๆ‹’็ป็Ž„ๅญฆ๏ผŒๅฐ†ๆŠฝ่ฑก็š„ ไบงๅ“ Sense ่งฃๆž„ไธบไธ‰ไธชๆ ธๅฟƒๆ•ฐๅญฆๅ…ฌๅผ๏ผŒๅนถๆไพ›ไธ€ๅฅ—ๅŸบไบŽโ€œ้€†ๅ‘ๅทฅ็จ‹โ€็š„ๅˆปๆ„็ปƒไน ๆŒ‡ๅ—๏ผŒๅŠฉๅŠ›ๅผ€ๅ‘่€…ๅœจ็ฎ—ๅŠ›่ฟ‡ๅ‰ฉ็š„ๆ—ถไปฃ๏ผŒๅฎŒๆˆไปŽโ€œไปฃ็ ๅทฅๅŒ โ€ๅˆฐโ€œไปทๅ€ผๅˆ›้€ ่€…โ€็š„่ฎค็Ÿฅ่ทƒ่ฟใ€‚\",\"sticky\":1,\"top\":true,\"categories\":[\"ไบงๅ“ Sense\",\"AI\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense/engineer-build-product-sense\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฝ“โ€œๅฎž็Žฐโ€ไธๅ†ๆ˜ฏๅฃๅž’๏ผšๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense๏ผŸ\",\"date\":\"2025-10-23 16:05:50\",\"capture\":\"1. ๅผ•่จ€\\nๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒไบงๅ“ Sense๏ผˆไบงๅ“ๆ„Ÿ๏ผ‰ ่ขซ่ง†ไธบไธ€็ง็Ž„ๅญฆใ€‚ๅฎƒไผผไนŽๆ˜ฏไน”ๅธƒๆ–ฏๅผ็š„็ตๅ…‰ไธ€็Žฐ๏ผŒๆˆ–ๆ˜ฏๅผ ๅฐ้พ™ๅผ็š„โ€œ็‹ฌๆ–ญไธ“่กŒโ€ใ€‚\\nไฝ†ๅฏนไบŽๅคงๅคšๆ•ฐๅทฅ็จ‹ๅธˆใ€ไบงๅ“็ป็†ไนƒ่‡ณ็‹ฌ็ซ‹ๅผ€ๅ‘่€…่€Œ่จ€๏ผŒๅฐ†่ƒฝๅŠ›ๅฏ„ๆ‰˜ไบŽโ€œๅคฉ่ต‹โ€ๆ˜ฏๅฑ้™ฉ็š„ใ€‚ๆˆ‘่ฎคไธบ๏ผŒไบงๅ“ Sense ๅนถ้žไธๅฏๆ‰ๆ‘ธ็š„้ป‘้ญ”ๆณ•๏ผŒ่€Œๆ˜ฏไธ€ๅฅ—็ป่ฟ‡้ซ˜้ข‘่ฎญ็ปƒๅŽๅ†…ๅŒ–ไธบๆœฌ่ƒฝ็š„ๆ€็ปด็ฎ—ๆณ•ใ€‚ ๅฐฑๅƒ่ต„ๆทฑ็จ‹ๅบๅ‘˜็œ‹ๅˆฐไธ€ๆฎตไปฃ็ ๅฐฑ่ƒฝๅ—…ๅ‡บ \\\"Code Smell\\\"๏ผˆไปฃ็ ๅผ‚ๅ‘ณ๏ผ‰๏ผŒ่ต„ๆทฑไบงๅ“ไบบไนŸ่ƒฝๅœจ็žฌ้—ดๅˆคๆ–ญไธ€ไธช้œ€ๆฑ‚ๆ˜ฏโ€œ็œŸ็—›็‚นโ€่ฟ˜ๆ˜ฏโ€œไผช้œ€ๆฑ‚โ€ใ€‚\\nไธ€ไธชๆˆๅŠŸ็š„ไบงๅ“ๅ†ณ็ญ–๏ผŒๅพ€ๅพ€ๅ‘็”Ÿๅœจไธ‰ไธช็ปดๅบฆ็š„ไบคๆฑ‡็‚น๏ผš\\n* ็”จๆˆทไปทๅ€ผๆดžๅฏŸ๏ผˆUser Value Insight๏ผ‰๏ผšไธไป…ๅฌๆ‡‚็”จๆˆท่ฏดโ€œๆƒณ่ฆๆ›ดๅฟซ็š„้ฉฌโ€๏ผŒๆ›ด่ƒฝๆดžๅฏŸไป–ๅ…ถๅฎžโ€œๆƒณๆ›ด\"},{\"url\":\"/10.ไบงๅ“ Sense/00.ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"relativePath\":\"/10.ไบงๅ“ Sense/00.ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"frontmatter\":{\"date\":\"2026-03-19 23:05:50\",\"title\":\"ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"description\":\"ไบงๅ“ Sense ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ๏ผŒๆถต็›– AI ไบงๅ“่ง‚ๅฏŸใ€ๅคๅˆๅž‹ไบบๆ‰ๆˆ้•ฟใ€ๅ•†ไธšๅŒ–ๆ€่€ƒๅŠๆ–นๆณ•่ฎบๆ€ป็ป“็ญ‰ใ€‚\",\"categories\":[\"ไบงๅ“ Sense\",\"AI\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"date\":\"2026-03-19 23:05:50\",\"capture\":\"> * ่ฟฝๆฑ‚้ซ˜ๆ ๆ†โ€”โ€”ไปฅๆž็ฎ€ๆŠ€ๆœฏ่งฃๅ†ณๅคๆ‚้—ฎ้ข˜๏ผŒๆ‹’็ปไธบ็‚ซๆŠ€่€Œ่ฎพ่ฎก็š„ไผช้œ€ๆฑ‚๏ผ›\\n> * ๅนณ่กกๆ„Ÿๆ€งไธŽ็†ๆ€งโ€”โ€”ๆ—ขๅ…ฑๆƒ…็”จๆˆท็š„็œŸๅฎžๅœบๆ™ฏไธŽๆƒ…็ปช๏ผŒๅˆๅ†ท้™่ฟฝๆบฏ็—›็‚นๆœฌ่ดจ๏ผŒ่ฎฉไบงๅ“ๆ—ขๆœ‰ๆธฉๅบฆ๏ผŒๅˆไธ่‡ณไบŽๆฒฆไธบๅŠŸ่ƒฝ็š„ๅ †็ Œใ€‚\\n่งฃๆž„่ฟ™็งไบงๅ“ Sense ็š„ๅŸบ็ก€ๅœจไบŽๅฏนๆŠ•ๅ…ฅไบงๅ‡บๆฏ”๏ผˆROI๏ผ‰็š„ๆž่‡ด่ฟฝๆฑ‚ไธŽๅฏนไบบๆ€ง็š„ๆทฑๅบฆๅ‰–ๆž๏ผš\\n* ไธ€ๆ–น้ข๏ผŒๅ“่ถŠ็š„ไบงๅ“ๅ—…่ง‰ๆ„ๅ‘ณ็€ๅฏปๆ‰พโ€œ้ซ˜ๆ ๆ†่งฃโ€๏ผŒ็”จๆœ€ๅ…‹ๅˆถ็š„ๆŠ€ๆœฏๅคๆ‚ๅบฆๅŽปๆ’ฌๅŠจๆœ€ๅนฟๆณ›ไธ”ๅผบ็ƒˆ็š„็”จๆˆทไปทๅ€ผ๏ผŒๆžœๆ–ญ่ง„้ฟไธบไบ†ๆŠ€ๆœฏ่€ŒๆŠ€ๆœฏ็š„ไผช้œ€ๆฑ‚้™ท้˜ฑใ€‚\\n* ๅฆไธ€ๆ–น้ข๏ผŒๆ—ข้œ€่ฆ่ฎพ่บซๅค„ๅœฐๆ„Ÿ็Ÿฅ็”จๆˆท็š„็œŸๅฎžไฝฟ็”จๅœบๆ™ฏไธŽๆƒ…็ปช๏ผŒๅˆๅฟ…้กปไฟๆŒ็†ๆ€งๅŽป่ฟฝ้—ฎ็—›็‚น็š„ๆ นๆบ๏ผŒ็กฎไฟไบงๅ“ๆ—ขไธๆฒฆไธบ่‡ƒ่‚ฟ็š„้œ€ๆฑ‚่ฎธๆ„ฟๆฑ ๏ผŒไนŸไธๅ˜ๆˆ็ผบไนไบบๆ€งๆธฉๅบฆ็š„ๅ†ฐๅ†ทๆœบๅ™จใ€‚\\n<im\"}],\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\":[{\"url\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/10.่ฏปไนฆไธ‰่ฆไธ‰ไธ่ฆ\",\"relativePath\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/10.่ฏปไนฆไธ‰่ฆไธ‰ไธ่ฆ\",\"frontmatter\":{\"date\":\"2025-03-06 11:42:20\",\"title\":\"่ฏปไนฆโ€œไธ‰่ฆโ€ๅ’Œโ€œไธ‰ไธ่ฆโ€\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจไฟกๆฏ็ˆ†็‚ธ็š„ๆ—ถไปฃ๏ผŒ่ฏปไนฆไพ็„ถๆ˜ฏ่Žทๅ–ๆทฑๅบฆ็Ÿฅ่ฏ†ๆœ€้ซ˜ๆ•ˆ็š„ๆ–นๅผไน‹ไธ€ใ€‚ไฝ†โ€œๆง่ตทไนฆโ€ๅนถไธ็ญ‰ไบŽโ€œๆœ‰ๆ”ถ่Žทโ€๏ผŒๆ€Žไนˆ่ฏปๅพ€ๅพ€ๆฏ”่ฏปไป€ไนˆๆ›ด้‡่ฆใ€‚ๆœฌๆ–‡ๆ€ป็ป“ไบ†้ซ˜ๆ•ˆ้˜…่ฏป็š„โ€œไธ‰่ฆโ€ไธŽโ€œไธ‰ไธ่ฆโ€๏ผšไปŽๅฎŒๆ•ด้˜…่ฏป่ง‚ๆ‘ฉๅคงๅธˆๆ€็ปดใ€ๅธฆ็€้—ฎ้ข˜ๆž„ๅปบ็Ÿฅ่ฏ†ๆ ‘๏ผŒๅˆฐ้€š่ฟ‡่ฎจ่ฎบๆฃ€้ชŒ็†่งฃ๏ผ›ๅŒๆ—ถๆ้†’้˜…่ฏป่€…่ญฆๆƒ•ๅ“€ๆ€จๅฟƒๆ€ๅฏน้˜…่ฏปๅˆ่กท็š„ๅผ‚ๅŒ–ใ€้ฟๅ…้™ทๅ…ฅๅฏน็‰ฉ็†ๅช’ไป‹็š„โ€œ็Žฉ็‰ฉไธงๅฟ—โ€๏ผŒไปฅๅŠๅˆ‡ๅฟŒ่„ฑ็ฆป็Žฐๅฎž็š„โ€œ็œŸ็ฉบโ€้˜…่ฏปใ€‚้˜…่ฏปไธไป…ๆ˜ฏๅ‘ๅ†…ๆŽข็ดข็š„็ฒพ็ฅžไน‹ๆ—…๏ผŒๆ›ดๆ˜ฏๅ‘ๅค–็†่งฃ็œŸๅฎžไธ–็•Œใ€ๅˆ›้€ ็คพไผšไปทๅ€ผ็š„ๅฎž็”จๅทฅๅ…ทใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/reading_need.png\",\"permalink\":\"/pages/growth/reading-tips\",\"sticky\":1,\"top\":true,\"categories\":[\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\"],\"tags\":[\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ฏปไนฆโ€œไธ‰่ฆโ€ๅ’Œโ€œไธ‰ไธ่ฆโ€\",\"date\":\"2025-03-06 11:42:20\",\"capture\":\"<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/reading_need.png\\\" style=\\\"width: 100%; border-radius: 8px; margin-bottom: 20px;\\\" alt=\\\"about site background\\\">\\n 1. ๆˆ‘ไปฌไธบไป€ไนˆ้œ€่ฆ่ฏปไนฆ๏ผŸ\\n่ฏปไนฆๆ˜ฏไปŽๅค–็•ŒๆŽฅๅ—ไฟกๆฏ็š„ไธ€็งๆ–นๅผ๏ผŒไธŽ่Šๅคฉใ€ๆต่งˆ็ฝ‘้กตใ€ๅฌๆ’ญๅฎขใ€็œ‹็”ต่ง†ๅนถๆ— ๆœฌ่ดจๅŒบๅˆซใ€‚ไฝ†ไนฆ่ฟ™็งๅช’ไป‹ไธŽๅ…ถไป–ไฟกๆฏๅช’ไป‹็›ธๆฏ”๏ผŒๆœ‰ๅ…ถ็‹ฌๆœ‰็š„ไผ˜ๅŠฟ๏ผš\\n- ๆทฑๅบฆไธŽไธฅ่ฐจ๏ผšไนฆ็ฑๅพ€ๅพ€ๆ˜ฏๅˆ›ไฝœ่€…ๅคšๅนดๆ€่€ƒใ€้•ฟๆœŸ\"}],\"ไธชไบบๆˆ้•ฟ\":[{\"url\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"relativePath\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"frontmatter\":{\"date\":\"2024-01-15 22:16:00\",\"title\":\"่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไนฆๆŽฅไธŠๆ–‡ใ€Šๅ‘ๅ†…ๆ€ๅ˜ใ€‹๏ผŒๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ๅœจๅŽ็–ซๆƒ…ๆ—ถไปฃไปŽโ€œ้—ญๅ…ณโ€่ตฐๅ‘โ€œๅ‘ๅค–ไฝ“้ชŒโ€็š„ๅฐ่ฏ•ไธŽๅฟƒๅพ—ใ€‚้ขๅฏนๆœบๆขฐๆ‰ง่กŒๅธฆๆฅ็š„โ€œ็›ฎๆ ‡้šง้“โ€ๆ•ˆๅบ”๏ผŒ็ฌ”่€…ๅฐ่ฏ•่ทณๅ‡บๅ•ไธ€็š„็บฟๆ€ง่ง„ๅˆ’๏ผŒ่ฝฌ่€Œๅฏปๆฑ‚ๆ›ดๅบ•ๅฑ‚็š„่ฎค็Ÿฅ้€ป่พ‘ใ€‚ๆ–‡็ซ ้€š่ฟ‡้‡่ฏปใ€Š่ฆไบ‹็ฌฌไธ€ใ€‹ๅปบ็ซ‹ๅนณ่กก่ง‚๏ผŒๅˆฉ็”จ็ณป็ปŸๆ€็ปด๏ผˆๅขžๅผบ/่ฐƒ่Š‚ๅ›ž่ทฏ๏ผ‰ๆž„ๅปบๆดžๅฏŸๅŠ›๏ผŒๅนถ้‡ๆ–ฐๆ‹พ่ตทๆ•ฐๅญฆๆ€็ปด๏ผˆๆฆ‚็އใ€็จ€็–ๆ€งใ€ๅคšๆ ทๆ€ง๏ผ‰ไธŽ AI ่ง†่ง’ใ€‚่ฟ™ๆ˜ฏไธ€ๆฌกๅ…ณไบŽๅฆ‚ไฝ•็”จ็ง‘ๅญฆๆจกๅž‹ๆ›ฟไปฃๆœบๆขฐๆ‰ง่กŒ๏ผŒไปŽๆœฌ่ดจไธŠ้‡ๆž„ไธชไบบ่ฎค็Ÿฅไฝ“็ณป็š„ๆทฑๅบฆๅค็›˜ใ€‚\",\"permalink\":\"/growth/outer-experience\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/outer_experience_bg.png\",\"sticky\":1,\"top\":true,\"tags\":[\"็ณป็ปŸๆ€็ปด\",\"ๆ•ฐๅญฆๆ€็ปด\",\"ๆจกๅž‹ๆ€็ปด\",\"AI\",\"็–ซๆƒ…\"],\"categories\":[\"ไธชไบบๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"date\":\"2024-01-15 22:16:00\",\"capture\":\"1. ๅ†™ๅœจๅ‰้ข\\nๆ—ถๅ…‰่่‹’๏ผŒ็–ซๆƒ…ๅทฒ็ป็”ฑๆ”พๅผ€็Šถๆ€็ปง็ปญๆผ”ๅ˜ไธบ่ฟ‡ๅŽปๅผ็Šถๆ€๏ผŒๆˆ‘ไปฌไบบ็ฑปไนŸไปŽใ€Ž้—ญๅ…ณใ€่ตฐๅ‘ไบ†ใ€Ž่‡ช็”ฑใ€็š„็คพไผš็”Ÿๆดป็Šถๆ€ใ€‚็ฌ”่€…ไฝœไธบ็คพไผšไธญ็š„ๆ™ฎ้€šไธ€ๅ‘˜๏ผŒ่‡ช็„ถไนŸไธ็ฆปๅค–๏ผŒๅœจ 2023 ๅนดๅˆๆด‹ๆด‹ๆด’ๆด’ๅ†™ไบ†ไธ€็ฏ‡ๅœจๅฅๅบทใ€่ฏปไนฆไธŽๅญฆไน ใ€ๆ—ถ้—ด็ฎก็†ๅ’Œๆททๅˆๅทฅไฝœๅˆถๅ‡ ไธชๆ–น้ข็š„ๅฎž่ทตไธŽ็†่งฃ๏ผˆๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ๏ผ‰๏ผŒๅฐฑๅผ€ๅผ€ๅฟƒๅฟƒๅœฐๅ‘ๅ‰็œ‹๏ผŒๅญฆ็€ๅ‘ๅค–ไฝ“้ชŒไบ†ใ€‚\\n้‚ฃไนˆ้—ฎ้ข˜ๆฅไบ†๏ผŒ็›ธๆฏ”ไน‹ๅ‰ๅ†™ๅ‡บ้•ฟๆ–‡๏ผŒ็ฌ”่€…ๅˆๆ˜ฏ่ฟ‘ไธ€ๅนดๆฒกๆœ‰ๅ‘ๅค–่พ“ๅ‡บ่ฝฏๆ–‡ไบ†ใ€‚ๅ› ๆญค๏ผŒไนฆๆŽฅไธŠๆ–‡๏ผŒๆœฌๆฌก็ปง็ปญๆ–ฐๅขžไธ€็ฏ‡ไธญ็Ÿญๆ–‡๏ผŒๆผซ่ฐˆไธ€ไธ‹็–ซๆƒ…ๅŽ็š„ๅ‘ๅค–ไฝ“้ชŒใ€‚\\nๅœจๅ€’้€ผ่‡ชๅทฑๅ…ณๆณจ่บซไฝ“ๅฅๅบทๅ’Œๆ—ถ้—ด็ฎก็†ๅŽ๏ผŒ่™ฝ็„ถๅœจไฝ“้‡ๅ’Œๆ•ˆ็އไธคไธชๆ–น้ขๆœ‰ไธ€ๅฎš็š„ๆญฃๅ‘ๆ•ˆๆžœ๏ผŒไฝ†็ฌ”่€…ๅœจ่ฟž็ปญๅšๆŒ่ฝๅœฐๆ‹†่งฃๅ‡บๆฅ็š„็›ฎๆ ‡่ฟ‡็จ‹ไธญ๏ผŒๆœ‰ๆ—ถ\"},{\"url\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"relativePath\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"frontmatter\":{\"date\":\"2023-01-08 10:23:50\",\"title\":\"ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅฆ‚ไฝ•้ฟๅ…ๅ†…่€—๏ผŸๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ไธ‰ๅนด้—ด็š„โ€œ่‡ชๆˆ‘้‡ๆž„โ€ๅฎž้ชŒใ€‚ๆ–‡็ซ ๆ‘’ๅผƒไบ†ๅ•็บฏ็š„ๆƒ…็ปชๅฎฃๆณ„๏ผŒ่€Œๆ˜ฏๅˆฉ็”จๅˆ†่งฃๆณ•ใ€ๆธ่ฟ›ๆ˜Ž็ป†ๅ’Œ็ปŸ่ฎกๅˆ†ๆž็ญ‰ๅทฅ็จ‹ๆ€็ปด๏ผŒๅฏนๅฅๅบท้ฅฎ้ฃŸใ€็Ÿฅ่ฏ†ไฝ“็ณปใ€ๆ—ถ้—ดๅˆ†้…ๅŠ่ฟœ็จ‹ๅไฝœ่ฟ›่กŒไบ†็ณป็ปŸๅŒ–ๆ”น้€ ใ€‚่ฟ™ๆ˜ฏไธ€ไปฝๅ…ณไบŽๅฆ‚ไฝ•ๅœจๆ— ๅธธ็š„ๅค–้ƒจ็Žฏๅขƒไธญ๏ผŒๅปบ็ซ‹ๅ†…ๅœจ็กฎๅฎšๆ€ง็งฉๅบ็š„่กŒๅŠจๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/growth/inner-experience\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/refactor_life.png\",\"sticky\":1,\"top\":true,\"categories\":\"ไธชไบบๆˆ้•ฟ\",\"tags\":[\"ๅฅๅบท\",\"ๆ—ถ้—ด\",\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\",\"่ฟœ็จ‹ๅไฝœ\",\"็–ซๆƒ…\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"date\":\"2023-01-08 10:23:50\",\"capture\":\"<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/refactor_life.png\\\" alt=\\\"็›ฎๆ ‡ๅˆฐ่ทต่กŒๆ€็ปดๆต็จ‹็คบๆ„ๅ›พ\\\" style=\\\"width: 100%; border-radius: 8px;\\\" />\\n ๅ†™ๅœจๅ‰้ข\\n่‡ชๅŽปๅนด 7 ๆœˆไปฝ่ฟ็งปๅ‡ ็ฏ‡ๆ—งๆ–‡ๅŽ๏ผŒ็ฌ”่€…ๅฐฑๆฒกๆœ‰็ปง็ปญๅ†™่ฝฏๆ–‡ไบ†๏ผŒๆƒณไธๅˆฐๅ†ๆฌกๅ†™ๆ–‡็ซ ๆ—ถ็–ซๆƒ…ๆ”ฟ็ญ–ๅทฒ็ป่ฐƒๆ•ด๏ผŒไธ”ๅˆๆญฅๅฎž็Žฐไบ†ๅผ€ๆ”พใ€‚้‚ฃไนˆ้—ฎ้ข˜ๆฅไบ†๏ผŒไธบไป€ไนˆ่ฆ็ปง็ปญๅ†™ๆ–‡็ซ ๅ‘ข๏ผŸๆฆ‚ๆ‹ฌๆฅ่ฎฒ๏ผŒๆœ‰ไธคไธชๆ–น้ข็š„ๅŽŸๅ› ๏ผš\\n* ็›ดๆŽฅๅŽŸๅ› ๏ผš็–ซๆƒ…่ฟ™ไธ‰ๅนด๏ผŒๆฏไธชไบบ้ƒฝไฝ“้ชŒๅˆฐไบ†ไธๅŒไบŽไน‹ๅ‰็š„ โ€œ้šพโ€๏ผŒไนŸ้ƒฝๆœ‰\"},{\"url\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/20.ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹้˜ถๆฎต้š็ฌ”ๆฑ‡ๆ€ป\",\"relativePath\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/20.ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹้˜ถๆฎต้š็ฌ”ๆฑ‡ๆ€ป\",\"frontmatter\":{\"date\":\"2022-09-12 08:16:00\",\"title\":\"็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ”นๅ–„็š„ๆ–นๅผๆŽจๅŠจๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไปŽโ€œไนฆ็”Ÿๆ„ๆฐ”โ€ๅˆฐๅˆๅ…ฅ็คพไผš็š„โ€œไธญๅนดๆฒน่…ปโ€ๅฑๆœบ๏ผŒไธ€ๆฌกๅฅๅบท่ญฆๆŠฅ่ฎฉ็ฌ”่€…ๅผ€ๅฏไบ†่ฟ™ๅœบๆทฑๅˆป็š„่‡ชๆˆ‘ๅฏน่ฏไธŽ่กŒๅŠจใ€‚ๆœฌๆ–‡่ฏฆ็ป†ๅค็›˜ไบ†็ฌ”่€…ไปŽๅฅๅบทๅฑๆœบๅ‡บๅ‘๏ผŒ้€š่ฟ‡ๅ››ไธช้˜ถๆฎต็š„ๅพชๅบๆธ่ฟ›๏ผŒๆˆๅŠŸๅฎž็Žฐไฝ“้‡็ฎก็†็š„่ฟ‡็จ‹ใ€‚ๅŒบๅˆซไบŽ็›ฒ็›ฎ่ทŸ้ฃŽ๏ผŒ็ฌ”่€…ๅœจๅฎž่ทตไธญๅผ•ๅ…ฅไบ†็›ฎๆ ‡ๆ‹†่งฃใ€ๆ•ฐๆฎ็›‘ๆŽง๏ผˆไฝ“่„‚็งคๆŒ‡ๆ ‡๏ผ‰ใ€่ทจ้ข†ๅŸŸ็ป้ชŒ่ฟ็งป๏ผˆๅฆ‚้กน็›ฎ็ฎก็†ใ€ๆ—ถ้—ด็ฎก็†๏ผ‰ไปฅๅŠๅฏนไธๅŒ็ญ–็•ฅ๏ผˆๅฆ‚ๆŽงๅˆถ้ฅฎ้ฃŸใ€ๅŠ ๅคงๆ— ๆฐง่ฟๅŠจใ€ๅฐ่ฏ•ไธๅƒไธป้ฃŸ๏ผ‰็š„่พฉ่ฏ้‡‡็บณใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ไปฝๅ‡่‚ฅ่ฎฐๅฝ•๏ผŒๆ›ดๆ˜ฏไธ€ๆฌก็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ€็ปด้‡ๆž„็”Ÿๆดป็งฉๅบใ€ๅฎž็Žฐ่บซๅฟƒๅ‡็บง็š„ๅฎžๆ“ๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/growth/weight-loss\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/health_bg.png\",\"top\":true,\"tags\":[\"ๅฅๅบท\",\"่ฟๅŠจ\"],\"categories\":[\"ไธชไบบๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ”นๅ–„็š„ๆ–นๅผๆŽจๅŠจๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹\",\"date\":\"2022-09-12 08:16:00\",\"capture\":\"ๅ†™ๅœจๅ‰้ข\\nๅœจ็ปๆตŽๅฟซ้€Ÿๅ‘ๅฑ•็š„ๅคง่ƒŒๆ™ฏไธ‹๏ผŒไธ€ๆ‰นๅˆไธ€ๆ‰น็š„ๅคงๅญฆ็”Ÿ้™†็ปญ่ตฐๅ‡บๆ ก้—จ่ฟ›ๅ…ฅ็คพไผšๅคง่ˆžๅฐใ€‚้š็€ๅนด้พ„ไธŽๅทฅไฝœๅนด้™็š„ๅขž้•ฟ๏ผŒไธ็Ÿฅ็ฝฎ่บซไบŽๅ…ถไธญ็š„ไฝ ๆ˜ฏๅฆๆ„Ÿๆ…จ่ฟ‡่‡ชๅทฑๅœจ้˜…ๅކไธŠไปŽโ€œไนฆ็”Ÿๆ„ๆฐ”โ€ๆธๆธๆผ”ๅ˜ไธบโ€œๅ››ๅนณๅ…ซ็จณ๏ผŒๆธธๅˆƒๆœ‰ไฝ™โ€๏ผ›ๅœจ่บซไฝ“ๅ…ปๆŠคๆ–น้ขไปŽโ€œ่บซๆๆ— ๆ•Œ๏ผŒๅนด้พ„ๆˆ่ฟท๏ผŒๅฎžๆ‰“ๅฎžไธ€ไธชไผ ๅฅ‡โ€ๆผ”ๅ˜ไธบโ€œไธญๅนดๆฒน่…ปโ€ใ€‚ๆฏไธชไบบๅคšๅฐ‘้ƒฝๆœ‰่‡ชๅทฑ็š„็ญ”ๆกˆ๏ผŒ็ฌ”่€…็š„็ญ”ๆกˆๆ˜ฏ๏ผš่ตฐๅ‡บๆ ก้—จ่ฟ›ๅ…ฅ็คพไผšๅŽ๏ผŒๅฝ“ๅˆๅฏน่บซ่พนไบบๆœ‰็‚น่‹›ๅˆป๏ผŒ้‡ไบ‹็ซๆ€ฅ็ซ็‡Ž็š„่‡ชๅทฑ้€ๆธๅพ—ๅˆฐไบ†ๆ”นๅ–„ใ€‚่บซไฝ“ๅดๅ› ๅŽŸๆœฌๅœจๅคงๅญฆๆ—ถๆฒกๆœ‰ๆ€Žไนˆๅœจๆ„๏ผŒ็ป่ฟ‡้•ฟๅนด็ดฏๆœˆๅœฐๆด—็คผไบฎไบ†ไธ€ๆฌกๅฐ็บข็ฏใ€‚ๅœจๅบทๅคๆœŸ้—ด๏ผŒไธๆญขไธ€ๆฌกๅๆ€่ฟ‡ไน‹ๅ‰็š„็”Ÿๆดปๆ–นๅผๅ’Œๅ…ฅไธ–ๆจกๅผ๏ผŒๆƒณไธ€ๆƒณ + ๅ››ๅค„็œ‹ไธ€็œ‹ๅŽ๏ผŒๆ…ขๆ…ขไนŸๅฐฑๅผ€ๆ‚Ÿไบ†๏ผŒ่‡ช็„ถ่ฆๅฏๅŠจไธ€ไบ›ๆ”นๅ˜ๅฐ่ฏ•ใ€‚\\nๅ› ๆญค๏ผŒไนŸๅฐฑๆœ‰ไบ†่ฟ™็ฏ‡ๅ‡่‚ฅ่ฟ™ไปถ\"}],\"ๅผ€ๆบๆดžๅฏŸ\":[{\"url\":\"/31.ๅผ€ๆบๆดžๅฏŸ/00.overview\",\"relativePath\":\"/31.ๅผ€ๆบๆดžๅฏŸ/00.overview\",\"frontmatter\":{\"date\":\"2026-04-10 14:52:34\",\"title\":\"ๅผ€ๆบๆดžๅฏŸ\",\"permalink\":\"/repo-insight/overview\",\"categories\":[\"ๅผ€ๆบๆดžๅฏŸ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅผ€ๆบๆดžๅฏŸ\",\"date\":\"2026-04-10 14:52:34\",\"capture\":\"ๆœฌไธ“ๆ ๆ‰€ๆœ‰ๆบ็ ่งฃ่ฏปๆ–‡็ซ ๏ผŒๅ‡ๅ€ŸๅŠฉไบ†ๆœฌไบบๅผ€ๆบ็š„ repo-insight Agent Skill ๆฅ่พ…ๅŠฉ็”Ÿๆˆใ€‚\\nrepo-insight ๆ˜ฏไธ€ๆฌพไธ“ๆณจไบŽไผ˜็ง€ๅผ€ๆบ้กน็›ฎไปฃ็ ๅบ“่งฃ่ฏป็š„ๆ™บ่ƒฝๅŠฉๆ‰‹๏ผŒๆไพ› GitHub URL ๆˆ–ๆœฌๅœฐ็›ฎๅฝ•็š„ไธ€้”ฎๆทฑๅบฆๅˆ†ๆž่ƒฝๅŠ›ใ€‚\\n- ไธ€้”ฎๅˆ†ๆž - ๆ”ฏๆŒ GitHub URL ๆˆ–ๆœฌๅœฐ็›ฎๅฝ•ๅˆ†ๆž\\n- ๆทฑๅบฆๆŠฅๅ‘Š - ็”Ÿๆˆ้กน็›ฎๆฆ‚่ฟฐใ€ๆžถๆž„ๅˆ†ๆžใ€ๆ ธๅฟƒๆจกๅ—่งฃ่ฏป\\n- ไธญๆ–‡ๆ”ฏๆŒ - ่‡ชๅŠจ็ฟป่ฏ‘ READMEใ€็”Ÿๆˆไธญๆ–‡ไปฃ็ ๆณจ้‡Š\\n- ๅ…จ่‡ชๅŠจๆ‰ง่กŒ - ่ฐƒ็”จๅŽๆ— ้œ€ไธญ้—ดไบคไบ’\\nไธคไธช Skill ๅ‡ๅ…ทๅค‡ไปฅไธŠ่ƒฝๅŠ›๏ผŒๅฏๆ นๆฎ้œ€ๆฑ‚้€‰ๆ‹ฉไฝฟ็”จใ€‚\\nไบ†่งฃ repo-insight โ†’\\n ๅผ€ๆบ้กน็›ฎ่งฃ่ฏป\\n| ้กน็›ฎ | ็ฎ€ไป‹ |\\n|----\"},{\"url\":\"/31.ๅผ€ๆบๆดžๅฏŸ/01.fetch-event-source ๆบ็ ่งฃ่ฏป\",\"relativePath\":\"/31.ๅผ€ๆบๆดžๅฏŸ/01.fetch-event-source ๆบ็ ่งฃ่ฏป\",\"frontmatter\":{\"date\":\"2026-04-10 14:43:09\",\"title\":\"fetch-event-source ๆบ็ ่งฃ่ฏป\",\"categories\":[\"ๅผ€ๆบๆดžๅฏŸ\"],\"permalink\":\"/repo-insight/fetch-event-source\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"fetch-event-source ๆบ็ ่งฃ่ฏป\",\"date\":\"2026-04-10 14:43:09\",\"capture\":\"็ฌฌไธ€้ƒจๅˆ†: ไธšๅŠกไปทๅ€ผ็ฏ‡\\n ้กน็›ฎๅฎšไฝ\\n`@microsoft/fetch-event-source` ๆ˜ฏๅพฎ่ฝฏๅผ€ๆบ็š„ไธ€ไธชๅŸบไบŽ Fetch API ็š„ Server-Sent Events (SSE) ๅฎขๆˆท็ซฏๅบ“,ไธบๆต่งˆๅ™จๆไพ›ไบ†ๆ›ดๅผบๅคงใ€ๆ›ด็ตๆดป็š„ๆœๅŠกๅ™จๆŽจ้€ไบ‹ไปถๆŽฅๆ”ถ่ƒฝๅŠ›ใ€‚\\n ่งฃๅ†ณ็š„ๆ ธๅฟƒ็—›็‚น\\nๅŽŸ็”Ÿๆต่งˆๅ™จ็š„ `EventSource` API ๅญ˜ๅœจไปฅไธ‹้™ๅˆถ:\\n| ้™ๅˆถ | ่ฏดๆ˜Ž |\\n|------|------|\\n| ไป…ๆ”ฏๆŒ GET ่ฏทๆฑ‚ | ๆ— ๆณ•ไฝฟ็”จ POSTใ€PUT ็ญ‰ๅ…ถไป– HTTP ๆ–นๆณ• |\\n| ๆ— ๆณ•่‡ชๅฎšไน‰่ฏทๆฑ‚ๅคด | ๆ— ๆณ•ไผ ้€’่ฎค่ฏไปค็‰Œใ€ๅ†…ๅฎน็ฑปๅž‹็ญ‰่‡ชๅฎšไน‰ๅคด้ƒจ |\\n| ๆ— ๆณ•ๅ‘้€่ฏทๆฑ‚ไฝ“ | ๆ‰€ๆœ‰ๅ‚ๆ•ฐๅฟ…้กป็ผ–็ ๅœจ\"}],\"ai-practice\":[{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/00.AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/00.AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ\",\"frontmatter\":{\"title\":\"AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"date\":\"2026-03-15 16:00:00\",\"description\":\"ๅ…จๆ™ฏๅผ AI ๅญฆไน ไธŽๅฎž่ทต็Ÿฅ่ฏ†ๅบ“๏ผŒ็ณป็ปŸๆฒ‰ๆท€ AI Agent ่ฎพ่ฎกๆจกๅผใ€ๅคงๆจกๅž‹ๅทฅ็จ‹ๅŒ–่ฝๅœฐใ€ๅผ€ๆบๅฐ้กน็›ฎๅŠ็คพๅŒบๆดปๅŠจ็ป้ชŒๆ€ป็ป“๏ผŒๆŒ็ปญ่ฟญไปฃไปŽ็†่ฎบๅˆฐ็”Ÿไบง็š„ๅฎŒๆ•ดๆ–นๆณ•่ฎบใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/llm_learning_bg_1.png\",\"permalink\":\"/ai-learning/overview\",\"categories\":[\"ai-practice\"],\"tags\":[\"AI\",\"LLM\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"date\":\"2026-03-15 16:00:00\",\"capture\":\"<!-- ็ฒพ้€‰ไธ“้ข˜ --\\n<script setup>\\nimport ArticleCardList from '@fragment/components/ArticleCardList.vue'\\nimport { aiLearningCategories } from '@fragment/data/ai-learning-data'\\n</script>\\n<ArticleCardList :categories=\\\"aiLearningCategories\\\" />\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/01.Agentๆฆ‚่งˆไธŽ็ปผ่ฟฐ\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/01.Agentๆฆ‚่งˆไธŽ็ปผ่ฟฐ\",\"frontmatter\":{\"date\":\"2026-02-12 22:31:00\",\"title\":\"ไปŽๆ็คบ่ฏๅˆฐๆ•ฐๅญ—ๅ‘˜ๅทฅ๏ผšAI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšAI ็š„่ฟ›ๅŒ–ๆญฃ็ปๅކไปŽโ€œๅฏน่ฏๆก†โ€ๅ‘โ€œๆ•ฐๅญ—ๅ‘˜ๅทฅโ€็š„ๆ นๆœฌๆ€ง่ทจ่ถŠใ€‚ๆœฌๆ–‡ๆ˜ฏไธ€็ฏ‡ๅ…ณไบŽ AI Agent ็š„ๅ…จๆ™ฏๆทฑๅบฆ็ปผ่ฟฐ๏ผŒๆ—จๅœจ่งฃๆž„ๆ™บ่ƒฝไฝ“ๅฆ‚ไฝ•ไปŽ็ฎ€ๅ•็š„ Prompt ๅ“ๅบ”่€…๏ผŒๆผ”ๅ˜ไธบๅ…ทๅค‡่‡ชไธป็›ฎๆ ‡ๆ‹†่งฃใ€้•ฟ็ŸญๆœŸ่ฎฐๅฟ†ไธŽๅคๆ‚็Žฏๅขƒไบคไบ’่ƒฝๅŠ›็š„โ€œๆ‰ง่กŒ่€…โ€ใ€‚ๆˆ‘ไปฌๅฐ†ๆทฑๅบฆๆ‹†่งฃ Agent ็š„ๅ››ๅคงๆŠ€ๆœฏๅŸบ็Ÿณ๏ผˆ่ง„ๅˆ’ใ€่ฎฐๅฟ†ใ€ๅทฅๅ…ทใ€่กŒๅŠจ๏ผ‰๏ผŒๅนถ่ฏฆ็ป†ๅ‰–ๆžไปŽ้€š็”จๅž‹ Agent ๅˆฐๅคšๆ™บ่ƒฝไฝ“ๅไฝœ๏ผˆMAS๏ผ‰ใ€ๅ†ๅˆฐ่ฟˆๅ‘ Agent OS ๆ—ถไปฃ็š„ OpenClaw ็ญ‰ไบ”ๅคงๆผ”่ฟ›ๅฝขๆ€ใ€‚ไธไป…ๆŽข่ฎจไบ†ๆŠ€ๆœฏๆžถๆž„็š„ๅฎž็Žฐ๏ผŒๆ›ดๆญ็คบไบ†่ฝฏไปถๅทฅ็จ‹ไปŽโ€œไปฅไบบไธบไธญๅฟƒโ€ๅ‘โ€œไปฅ AI ไธบไธญๅฟƒโ€็š„่Œƒๅผ้ฉๅ‘ฝโ€”โ€”ๅœจ Agent ้ฉฑๅŠจ็š„ๆ–ฐ็บชๅ…ƒ๏ผŒๆ ธๅฟƒ็ซžไบ‰ๅŠ›ๅฐ†ไธๅ†ๆ˜ฏไปฃ็ ้‡๏ผŒ่€Œๆ˜ฏ่ฐƒๅบฆ AI ้—ญ็Žฏ่งฃๅ†ณไธšๅŠก้—ฎ้ข˜็š„่ƒฝๅŠ›ใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/llm_learning_bg_1.png\",\"permalink\":\"/ai-agent/overview\",\"top\":true,\"categories\":[\"ai-practice\"],\"tags\":[\"AI Agent\",\"Agent\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไปŽๆ็คบ่ฏๅˆฐๆ•ฐๅญ—ๅ‘˜ๅทฅ๏ผšAI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐ\",\"date\":\"2026-02-12 22:31:00\",\"capture\":\"1. ไป€ไนˆๆ˜ฏ Agent๏ผŸโ€”โ€”ไปŽโ€œๅทฅๅ…ทโ€ๅˆฐโ€œๅฎžไฝ“โ€็š„่ฟ›ๅŒ–\\n> ๆ ธๅฟƒ้€ป่พ‘๏ผš็Žฐไปฃ Agent ็š„ๆœฌ่ดจๆ˜ฏ \\\"LLM (ๅคง่„‘) + ่ง„ๅˆ’ไธŽ่ฎฐๅฟ† (ๅฐ่„‘) + ๅทฅๅ…ท่ฐƒ็”จ (ๆ‰‹่„š)\\\"ใ€‚LLM ็š„ๆตท้‡็Ÿฅ่ฏ†ๅ‚จๅค‡่ฎฉ Agent ่ƒฝๅคŸ็ฒพๅ‡†็†่งฃๅคๆ‚ๆŒ‡ไปค๏ผŒๅนถๅฐ†ๅ…ถ่ฝฌๅŒ–ไธบๅฎž้™…่กŒๅŠจใ€‚\\nๅœจ AI ้ข†ๅŸŸ๏ผŒAgent๏ผˆๆ™บ่ƒฝไฝ“๏ผ‰ ๅนถ้žไธ€ไธชๆ–ฐๆฆ‚ๅฟต๏ผŒไฝ† LLM๏ผˆๅคง่ฏญ่จ€ๆจกๅž‹๏ผ‰็š„็ˆ†ๅ‘่ต‹ไบˆไบ†ๅฎƒ็œŸๆญฃ็š„โ€œ็ต้ญ‚โ€ใ€‚็ฎ€ๅ•ๆฅ่ฏด๏ผŒAgent ๆ˜ฏไธ€็ง่ƒฝๅคŸๆ„Ÿ็Ÿฅ็Žฏๅขƒใ€่‡ชไธปๅ†ณ็ญ–ๅนถๆ‰ง่กŒไปปๅŠก็š„ๆ™บ่ƒฝๅฎžไฝ“ใ€‚\\nๅฆ‚ๆžœ่ฏดไผ ็ปŸ็š„ AI ๆ˜ฏไธ€ไธชโ€œ้—ฎ็ญ”ๆœบโ€๏ผŒ้‚ฃไนˆ Agent ๅฐฑๆ˜ฏไธ€ไธชโ€œๆ‰ง่กŒ่€…โ€ใ€‚ๅฎƒๅ…ทๅค‡ไปฅไธ‹ๅ››ๅคงๆ ธๅฟƒ็‰น่ดจ๏ผš\\n* ่‡ชไธปๆ€ง (Autonomy)๏ผš ๆ— ้กปๆ—ถๅˆป็›ฏ็€๏ผŒ่ฎพๅฎš\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/60.ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/60.ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹\",\"frontmatter\":{\"date\":\"2024-06-14 22:00:00\",\"title\":\"ไธ€ๆฌก็”ฑ Product Sense ้ฉฑๅŠจ็š„ Agent ๆž้™ๅฎž่ทต\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšAI ๆ—ถไปฃ๏ผŒๅ†™ๅฅฝไปฃ็ ๅชๆ˜ฏๅŠๆ ผ็บฟใ€‚ๅœจไธ€ๆฌกๆž้™ๆŒ‘ๆˆ˜่ต›ไธญ๏ผŒๆˆ‘ไปฌ้€š่ฟ‡ๅฏน K12 ่ต›้“็”จๆˆท็—›็‚น็š„็ฒพๅ‡†โ€œ่ง†่ง’ๅˆ‡ๆขโ€๏ผŒๆ‰“้€ ๅ‡บไธ€ๆฌพๆŽˆไบบไปฅๆธ”็š„โ€œๆ•ฐๅญฆ่พ…ๅฏผๅฏผๅธˆโ€ๅนถๆ–ฉ่Žทๅคงๅฅ–ใ€‚ๆœฌๆ–‡ๅค็›˜ไบ† Agent ๆญๅปบ่ƒŒๅŽ็š„ๆ ธๅฟƒ SOP ่ฎพ่ฎก้€ป่พ‘๏ผšๆŠ€ๆœฏ็ปˆ็ฉถ่ฆๅ›žๅฝ’ๅฏน็œŸๅฎžไบบๆ€ง็š„ไฝ“ๅฏŸไธŽๅ…ณๆ€€ใ€‚\",\"coverImg\":\"/img/cover/llm_learning_bg_2.png\",\"permalink\":\"/ai-practice/math-bot\",\"categories\":[\"ai-practice\"],\"tags\":[\"Agent\",\"ไบงๅ“ Sense\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไธ€ๆฌก็”ฑ Product Sense ้ฉฑๅŠจ็š„ Agent ๆž้™ๅฎž่ทต\",\"date\":\"2024-06-14 22:00:00\",\"capture\":\"ๅœจๅˆšๅˆš่ฟ‡ๅŽป็š„ๅ‘จๆœซ๏ผŒๆˆ‘ๅ’Œๅฅฝๅ‹ๅ‚ๅŠ ไบ†ไธ€ๅœบ็”ฑๅƒๅธ† Agent ไธพๅŠž็š„็บฟไธ‹็คพๅŒบๆดปๅŠจใ€‚่ฟ™ๆ˜ฏไธ€ๅœบๅ……ๆปกๆžๅฎข็ฒพ็ฅž็š„โ€œๆž้™ๆŒ‘ๆˆ˜โ€โ€”โ€”ๆˆ‘ไปฌ้œ€่ฆๅœจๆžๅ…ถๆœ‰้™็š„ๆ—ถ้—ดๅ†…๏ผŒไปŽ้›ถๅผ€ๅง‹ๆž„ๆ€ใ€ๆญๅปบๅนถ็Žฐๅœบๅฑ•็คบไธ€ไธชๅฎŒๆ•ด็š„ Agent ๅบ”็”จใ€‚\\nไปคไบบๆƒŠๅ–œ็š„ๆ˜ฏ๏ผŒๆˆ‘ไปฌไธไป…้กบๅˆฉๅฎŒๆˆไบ†ๆž้™ๅผ€ๅ‘๏ผŒๆœ€็ปˆ่ฟ˜ๆ–ฉ่Žทไบ†ๅ…จๅœบ็š„ใ€Œๆœ€ไฝณๅบ”็”จๅฅ–ใ€ใ€‚\\nๅค็›˜่ฟ™ๆฌก็Ÿญๆš‚ๅด้ซ˜ๅฏ†ๅบฆ็š„ๅผ€ๅ‘ไฝ“้ชŒ๏ผŒๆœ€ๅคง็š„ๆ„Ÿ่งฆๆ˜ฏ๏ผšๅœจ AI ๆ—ถไปฃ๏ผŒๅ•็บฏ็š„ๅทฅ็จ‹ๅฎž็Žฐๅทฒ็ปไธๅ†ๆ˜ฏๅ”ฏไธ€็š„ๅฃๅž’๏ผŒ็œŸๆญฃ่ฎฉๅบ”็”จ่„ฑ้ข–่€Œๅ‡บ็š„๏ผŒๆ˜ฏๅฏน็œŸๅฎžไธšๅŠกๅœบๆ™ฏ็š„ๆดžๅฏŸๅŠ›ใ€‚ๅฝ“ (Engineering + Product) ร— AI ็š„้ฃž่ฝฎๅผ€ๅง‹่ฝฌๅŠจๆ—ถ๏ผŒๆŠ€ๆœฏๆ‰่ƒฝ็œŸๆญฃ่ฝฌๅŒ–ไธบ่งฃๅ†ณ้—ฎ้ข˜็š„ๅˆฉๅ™จใ€‚\\nไปฅไธ‹ๆ˜ฏๅ…ณไบŽ่ฟ™ๆฌกโ€œK12 ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹โ€ Agent ๆญๅปบ็š„ๅฎž\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/70.่ฏ—ๆญŒๅฐ็ฒพ็ต\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/70.่ฏ—ๆญŒๅฐ็ฒพ็ต\",\"frontmatter\":{\"date\":\"2024-04-19 22:15:38\",\"title\":\"้›ถไปฃ็ ไธ็ญ‰ไบŽ้›ถ้€ป่พ‘๏ผš็ป“ๆž„ๅŒ– Prompt ้ฉฑๅŠจไธ‹็š„ Agent ๆญๅปบๅฎžๆˆ˜\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจ Agent ๆฆ‚ๅฟตๆปกๅคฉ้ฃž็š„ๅฝ“ไธ‹๏ผŒๅ†ณๅฎšๅคงๆจกๅž‹ๅฎž้™…่กจ็Žฐ็š„ๅพ€ๅพ€ๆ˜ฏๆœ€ๅบ•ๅฑ‚็š„ System Prompt ่ฎพ่ฎกใ€‚ๆœฌๆ–‡่ฎฐๅฝ•ไบ†ๅ‘จๆœซๅˆฉ็”จๆ–‡ๅฟƒๆ™บ่ƒฝไฝ“ๅนณๅฐๆญๅปบโ€œ่ฏ—ๆญŒๅฐ็ฒพ็ตโ€็š„ๅฎŒๆ•ดๅฎž่ทตใ€‚้€š่ฟ‡ๅฏนๆฏ”โ€œไผ ็ปŸๅคงๆฎตๆ–‡ๆœฌโ€ไธŽโ€œLangGPT ็ป“ๆž„ๅŒ–โ€ไธค็ง Prompt ็š„ๅฎž้™…่พ“ๅ‡บ๏ผŒๆทฑๅบฆๆ‹†่งฃไบ†็ป“ๆž„ๅŒ– Prompt ๅฆ‚ไฝ•ๅƒโ€œๅ†™ไปฃ็ โ€ไธ€ๆ ท่ง„่Œƒ AI ็š„ๆ€่€ƒๅทฅไฝœๆต๏ผŒๆœ‰ๆ•ˆ่งฃๅ†ณๆŒ‡ไปคๆผ‚็งปไธŽๅนป่ง‰้—ฎ้ข˜ใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ๆฌก Prompt ่ฐƒไผ˜ๅฎž้ชŒ๏ผŒๆ›ดๆ˜ฏไธ€ๅœบๅ…ณไบŽ AI ไบงๅ“ Sense ไธŽๆœชๆฅไบคไบ’ๅฝขๆ€็š„ๆŽข็ดขใ€‚\",\"coverImg\":\"/img/cover/llm_learning_bg_2.png\",\"categories\":[\"ai-practice\"],\"permalink\":\"/ai-practice/poetry-bot\",\"tags\":[\"Agent\",\"AI\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"้›ถไปฃ็ ไธ็ญ‰ไบŽ้›ถ้€ป่พ‘๏ผš็ป“ๆž„ๅŒ– Prompt ้ฉฑๅŠจไธ‹็š„ Agent ๆญๅปบๅฎžๆˆ˜\",\"date\":\"2024-04-19 22:15:38\",\"capture\":\"1. ๅฎž่ทต่ƒŒๆ™ฏ\\nๅ‘จๆœซๅœจ็คพๅŒบๆดปๅŠจไธญๅ†ๆฌกๅฌๅˆฐไบ† LangGPT ไฝœ่€…ไบ‘ไธญๆฑŸๆ ‘ๅ…ณไบŽโ€œ็ป“ๆž„ๅŒ–ๆ็คบ่ฏโ€็š„ๅˆ†ไบซ๏ผŒ่ฎฉไบบๆ„Ÿ่งฆ้ข‡ๆทฑใ€‚่™ฝ็„ถๅฝ“ๅ‰ Agent ๆฆ‚ๅฟต็ซ็ƒญ๏ผŒๅฑ‚ๅ‡บไธ็ฉท็š„ๆก†ๆžถ่ฎฉไบบ็œผ่Šฑ็ผญไนฑ๏ผŒไฝ†ๅ›žๅฝ’ๆœฌ่ดจๆˆ‘ไปฌๅฐฑไผšๅ‘็Žฐ๏ผšSystem Prompt ็š„ๅบ•ๅฑ‚่ฎพ่ฎกใ€ไธŠไธ‹ๆ–‡ๅทฅ็จ‹ไปฅๅŠๆŒ‡ไปค้ตๅพชๆœบๅˆถ๏ผŒๆ‰ๆ˜ฏๅ†ณๅฎšไธ€ไธช Agent ็ต้ญ‚็š„ๅ…ณ้”ฎใ€‚\\nๆญฃๅทงๅคงๅ›ข้˜Ÿ่‡ช็ ”็š„้›ถไปฃ็  Agent ๅนณๅฐ่ฟ‘ๆœŸๅ‘ๅธƒไบ†ๆ–ฐ็‰ˆๆœฌ๏ผŒไธบไบ†ไบฒๆต‹ๅนณๅฐๆ€ง่ƒฝๅนถๅฎžๆˆ˜ๆผ”็ปƒ็ป“ๆž„ๅŒ– Prompt ็š„็ผ–ๅ†™ๆŠ€ๅทง๏ผŒๆˆ‘ๅ†ณๅฎšๅˆ›ๅปบไธ€ไธชโ€œ่ฏ—ๆญŒๅฐ็ฒพ็ตโ€ Agentใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ไธช่ถฃๅ‘ณๅฎž้ชŒ๏ผŒๆ›ดๆ˜ฏไธบไบ†ๆŽข็ดข AI ๅœจๆ–‡ๅญฆๅˆ›ไฝœ่ฟ™็งโ€œๆ„Ÿๆ€ง้ข†ๅŸŸโ€ไธญ๏ผŒๅฆ‚ไฝ•้€š่ฟ‡โ€œ็†ๆ€ง็š„็ป“ๆž„็บฆๆŸโ€่พพๅˆฐๆ›ด้ซ˜็š„่พ“ๅ‡บไธŠ้™ใ€‚\\n 2. ๅนณๅฐไธŽ\"}],\"็ฝ‘็ปœไธŽ้€šไฟก\":[{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"frontmatter\":{\"date\":\"2026-03-05 16:54:35\",\"title\":\"ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"aliases\":[\"Server-Sent Events\",\"HTTP Streaming\"],\"tldr\":\"ๆทฑๅ…ฅ่งฃๆžๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผŒๆไพ›ไปŽๆฆ‚ๅฟตๅˆฐ็”Ÿไบงๅฎž่ทต็š„ๅฎŒๆ•ด่งฃๅ†ณๆ–นๆกˆใ€‚\",\"description\":\"่พจๆžๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ็š„ๆฆ‚ๅฟตไธŽๅฑ‚ๆฌกๅ…ณ็ณป๏ผŒ่ฏฆ่งฃๅฎขๆˆท็ซฏไธŽๆœๅŠก็ซฏๅฎž็Žฐๆ–นๆกˆ๏ผŒๆไพ›็”Ÿไบงๅฎž่ทตๅฎŒๆ•ดๆŒ‡ๅ—ใ€‚\",\"tags\":[\"tutorial\",\"SSE\",\"HTTP Streaming\",\"ๅ…จๆ ˆ\"],\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"permalink\":\"/fullstack/networking/sse-practice\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"date\":\"2026-03-05 16:54:35\",\"capture\":\"<script setup\\n import HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n> ๆ‘˜่ฆๆ€ป็ป“: ้’ˆๅฏนๅผ€ๅ‘่€…ๅฎนๆ˜“ๆททๆท†ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ็š„้—ฎ้ข˜๏ผŒไปŽๆฆ‚ๅฟตๅฑ‚ๆฌกๅ‡บๅ‘ๅŽ˜ๆธ…ไบŒ่€…ๆœฌ่ดจๅŒบๅˆซไธŽๅไฝœๅ…ณ็ณป๏ผŒๆŒ‡ๅ‡บๆตๅผ HTTP ๆ˜ฏๅบ•ๅฑ‚ไผ ่พ“ๆœบๅˆถ่€Œ SSE ๆ˜ฏๅบ”็”จๅฑ‚ๆ•ฐๆฎๆ ผๅผ็บฆๅฎšใ€‚ๆ–‡็ซ ไพๆฌกไป‹็ปๅŽŸ็”Ÿ EventSource APIใ€fetch + ReadableStream ่ฟ›้˜ถๆ–นๆกˆใ€@microsoft/fetch-event-source ๅทฅไธš็บงๅฎž็Žฐ็ญ‰ไธ‰็งๅฎขๆˆท็ซฏๆ–นๆกˆ๏ผŒๅนถไปฅ Nes\"},{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"frontmatter\":{\"date\":\"2026-02-25 22:10:48\",\"title\":\"HTTP ่ฝฎ่ฏขไผ˜ๅŒ–ๆŒ‡ๅ—๏ผš้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"tldr\":\"่ฏฆ่งฃ้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅฎž็ŽฐๅŽŸ็†๏ผŒๆไพ› HTTP ่ฝฎ่ฏขไผ˜ๅŒ–็ญ–็•ฅไธŽ้€‰ๅž‹ๅ†ณ็ญ–ๆ ‘ใ€‚\",\"description\":\"ๆทฑๅ…ฅๅ‰–ๆž้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๆ ธๅฟƒๆœบๅˆถ๏ผŒๆไพ› TypeScript/NestJS ๅฎžๆˆ˜ไปฃ็ ๏ผŒๅนถๆž„ๅปบๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–ๆ ‘ไธŽ้€‚็”จๅœบๆ™ฏ้€ŸๆŸฅใ€‚\",\"tags\":[\"HTTP ่ฝฎ่ฏข\",\"้€€้ฟ่ฝฎ่ฏข\",\"้•ฟ่ฝฎ่ฏข\"],\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"permalink\":\"/fullstack/networking-polling-optimization\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"HTTP ่ฝฎ่ฏขไผ˜ๅŒ–ๆŒ‡ๅ—๏ผš้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"date\":\"2026-02-25 22:10:48\",\"capture\":\"1. ๅผ•่จ€\\nๅœจ็Žฐไปฃ Web ๅผ€ๅ‘ไธญ๏ผŒWebSocket ๅ’Œ Server-Sent Events (SSE) ๅธธๅธธ่ขซ่ง†ไธบๅฎžๆ—ถ้€šไฟก็š„้“ถๅผนใ€‚็„ถ่€Œ๏ผŒHTTP ่ฝฎ่ฏข๏ผˆPolling๏ผ‰ไฝœไธบๆœ€ๆœด็ด ็š„ๅฎžๆ—ถ้€šไฟกๆ–นๆกˆ๏ผŒ้žไฝ†ๆฒกๆœ‰้€€ๅ‡บๅކๅฒ่ˆžๅฐ๏ผŒๅ่€Œๅœจ็‰นๅฎš็š„ๅคๆ‚ไธšๅŠกๅœบๆ™ฏไธญๅคงๆ”พๅผ‚ๅฝฉใ€‚\\n> ๐Ÿ“– ๅฆ‚ๆžœไฝ ๅฏน HTTP ่ฝฎ่ฏขๅœจๆ•ดไธช Web ้€šไฟกๅ่ฎฎไฝ“็ณปไธญ็š„ๅฎšไฝๅฐšไธๆธ…ๆ™ฐ๏ผŒๆŽจ่ๅ…ˆ้˜…่ฏป Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—๏ผŒไบ†่งฃ่ฝฎ่ฏขไธŽ็Ÿญ่ฟžๆŽฅใ€้•ฟ่ฟžๆŽฅใ€WebSocketใ€SSE ็ญ‰ๆ–นๆกˆ็š„ๆผ”่ฟ›ๅ…ณ็ณปไธŽ้€‚็”จ่พน็•Œ๏ผŒๅ†็ป“ๅˆๆœฌๆ–‡ๆทฑๅ…ฅๅฎž่ทตใ€‚\\nๅœจๅฝ“ๅ‰ไผ—ๅคš้กถ็บง็š„ AI AIGC ๅบ”็”จ๏ผˆๅฆ‚ Midjourne\"},{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-02-24 08:40:31\",\"title\":\"Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"tldr\":\"ๆทฑๅ…ฅๅˆ†ๆžไบ”็ง Web ้€šไฟกๅ่ฎฎ๏ผŒๆไพ› AI ๆ—ถไปฃ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—ไธŽๆœ€ไฝณๅฎž่ทตใ€‚\",\"description\":\"ๆทฑๅ…ฅๅ‰–ๆžไผ ็ปŸ HTTPใ€ๆตๅผ HTTPใ€SSEใ€WebSocketใ€Webhooksใ€HTTP ่ฝฎ่ฏข็š„ๅŽŸ็†ไธŽ็‰นๆ€ง๏ผŒ็ป“ๅˆ AI ๅœบๆ™ฏๆไพ›ๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–็Ÿฉ้˜ตใ€‚\",\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"tags\":[\"HTTP\",\"HTTP ่ฝฎ่ฏข\",\"SSE\",\"WebSocket\",\"Webhooks\"],\"permalink\":\"/fullstack/networking-protocol-selection-guide\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"date\":\"2026-02-24 08:40:31\",\"capture\":\"1. ๅผ•่จ€\\nHTTP ๆ˜ฏไธ€็งๅŸบไบŽๆ–‡ๆœฌ็š„้€šไฟกๅ่ฎฎ๏ผŒไธป่ฆ็”จไบŽ Web ๆต่งˆๅ™จใ€็งปๅŠจๅบ”็”จใ€ๆกŒ้ขๅบ”็”จ็ญ‰ๅฎขๆˆท็ซฏๅ’Œ Web ๆœๅŠกๅ™จไน‹้—ด็š„ๆ•ฐๆฎไผ ่พ“ใ€‚ไผ ็ปŸ HTTP ้‡‡็”จๅŒๆญฅ็š„่ฏทๆฑ‚-ๅ“ๅบ”ๆจกๅผ๏ผš`่ฏทๆฑ‚ -> ็ญ‰ๅพ… -> ๅฎŒๆ•ดๅ“ๅบ”`ใ€‚่ฟ™็งๆ–นๅผ่™ฝ่ƒฝๆปก่ถณๅคงๅคšๆ•ฐๅœบๆ™ฏ๏ผŒไฝ†ๅœจๅฎžๆ—ถๆ€ง่ฆๆฑ‚่พƒ้ซ˜็š„้ข†ๅŸŸโ€”โ€”ๅฆ‚ๆธธๆˆใ€่Šๅคฉใ€่ง†้ข‘ไผš่ฎฎ๏ผŒไปฅๅŠ AI ๆ—ถไปฃ็š„ๅฏน่ฏๅผๅบ”็”จโ€”โ€”ๅดๆ˜พๅพ—ๅŠ›ไธไปŽๅฟƒใ€‚\\nไธบ่งฃๅ†ณ่ฟ™ไธ€้—ฎ้ข˜๏ผŒไธš็•Œๅ‘ๅฑ•ๅ‡บไบ†ๅคš็งๅฎžๆ—ถ Web ้€šไฟกๆ–นๆกˆใ€‚ๆœฌๆ–‡ๅฐ†ๅ›ด็ป• ๆตๅผ HTTPใ€SSEใ€WebSocketใ€Webhooksใ€HTTP ่ฝฎ่ฏข ่ฟ™ไบ”็งไธปๆตๆŠ€ๆœฏ๏ผŒไปŽๅŽŸ็†ใ€็‰นๆ€งใ€้€‚็”จๅœบๆ™ฏๅ‡บๅ‘๏ผŒๆŽข่ฎจๅฎƒไปฌๅœจ็Žฐไปฃๅˆ†ๅธƒๅผๆžถๆž„ไธญ็š„้€‰ๅž‹็ญ–็•ฅไธŽๅทฅ็จ‹ๅฎž่ทตใ€‚\\n 2\"}],\"ๅ‰็ซฏๅทฅ็จ‹\":[{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-02-10 23:33:19\",\"title\":\"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ๅฝ“ AI ๆ‰ฟๆŽฅไบ† 30% ็š„็ผ–็ ๆ‰ง่กŒๆ—ถ๏ผŒๅผ€ๅ‘่€…้œ€้€š่ฟ‡โ€œ่ง„ๆ ผ้ฉฑๅŠจ๏ผˆSDD๏ผ‰โ€้‡ๅคบ 70% ็š„่ฎพ่ฎกไธปๆƒ๏ผšไปŽ่‡ชๆฒป็ป„ไปถๅˆ’ๅˆ†ๅˆฐๅ•ๅ‘ๆ•ฐๆฎๆตๆ‹“ๆ‰‘็š„ๆทฑๅบฆๆŽจๆผ”ใ€‚\",\"description\":\"ๆœฌๆ–‡ๆŽข่ฎจๅœจ AI ๅขžๅผบๅผ€ๅ‘่ƒŒๆ™ฏไธ‹๏ผŒๅฆ‚ไฝ•้‡ๅก‘ React ็ป„ไปถ่ฎพ่ฎกๅŽŸๅˆ™ใ€‚ๆถต็›– SRP ่Œ่ดฃๅˆ’ๅˆ†ใ€้™ๆ€็‰ˆๆœฌๅŸบ็บฟใ€ๆœ€ๅฐ็Šถๆ€๏ผˆDerived Data๏ผ‰ๆŽจๅฏผไปฅๅŠ SDD ไบบๆœบๅไฝœๆจกๅผ็š„ๅทฅ็จ‹่ฝๅœฐใ€‚\",\"tags\":[\"tutorial\",\"react\",\"component-design\",\"state-management\",\"ai-augmented\",\"specification-driven\"],\"permalink\":\"/fullstack/react-design-philosophy-ai-augmented\",\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-02-10 23:33:19\",\"capture\":\"<script setup\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n 1. ๅผ•่จ€\\nๅœจ่ฝฏไปถๅทฅ็จ‹ไธญ๏ผŒ็บฆ 70% ็š„ๆ—ถ้—ดๅบ”ๆŠ•ๅ…ฅไบŽๆžถๆž„่ฎพ่ฎกใ€้œ€ๆฑ‚ๆ‹†่งฃไธŽๆŽฅๅฃ่ฏญไน‰ๆŽจๆ•ฒ๏ผŒไป… 30% ็”จไบŽๅฎž้™…็ผ–็ ใ€‚่ฟ›ๅ…ฅ AI ๅไฝœๆ—ถไปฃๅŽ๏ผŒ่ฟ™ไธ€ๆฏ”ไพ‹ไพ็„ถๅšๅฆ‚็ฃ็Ÿณโ€”โ€”ๅผ€ๅ‘่€…ๅฟ…้กปๅ…ˆๅฎŒๆˆๆทฑๅบฆๆ€่€ƒ๏ผŒๅฐ†โ€œๆธ…ๆ™ฐ็š„้—ฎ้ข˜่ง„ๆ ผ๏ผˆSpecification๏ผ‰โ€ไบค็ป™ AI๏ผŒAI ๆ‰่ƒฝ่พ“ๅ‡บ้ซ˜่ดจ้‡ไปฃ็ ใ€‚<HighLightText type=\\\"note\\\" bold>AI ๆๅ‡็š„ๆ˜ฏ 30% ็ผ–็ ้˜ถๆฎต็š„ๆ‰ง่กŒๅŠ›๏ผŒ่€Œ้žๅ–\"},{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/11.React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/11.React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"frontmatter\":{\"date\":\"2025-11-15 09:20:23\",\"title\":\"ไธๆญขไบŽ Fetch๏ผšReact ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"aliases\":[\"SWR\",\"TanStack Query\",\"React\",\"ๆœๅŠก็ซฏ็Šถๆ€\",\"ไน่ง‚ๆ›ดๆ–ฐ\",\"ๅทฅ็จ‹ๅŒ–\"],\"tldr\":\"ๆทฑๅ…ฅ่งฃๆž SWR ็š„ๆž็ฎ€ๅ่ฎฎไธŽ TanStack Query ็š„็ฒพๅฏ†็Šถๆ€ๆœบใ€‚้€š่ฟ‡ๅฏนๆฏ”็ผ“ๅญ˜ๅคฑๆ•ˆใ€ไน่ง‚ๆ›ดๆ–ฐ็ญ‰ๆ ธๅฟƒๅœบๆ™ฏ๏ผŒไธบ้ซ˜ๅคๆ‚ๅบฆ B ็ซฏๅบ”็”จไธŽ่ฝป้‡็บง้กน็›ฎๆไพ›ๆธ…ๆ™ฐ็š„ๆžถๆž„้€‰ๅž‹ๆจกๅž‹ใ€‚\",\"description\":\"ๆทฑๅบฆๅฏนๆฏ” React ็”Ÿๆ€ไธญ SWR ไธŽ TanStack Query ไธคๅคงๆ–นๆกˆใ€‚ไปŽ stale-while-revalidate ๆœบๅˆถๅˆฐๅผ‚ๆญฅ็Šถๆ€ๆœบๆžถๆž„๏ผŒๆถต็›–ไพ่ต–ๆŸฅ่ฏขใ€ๆ•ฐๆฎ่ฝฌๆขๅŠๆžถๆž„็บงไน่ง‚ๆ›ดๆ–ฐๅฎžๆˆ˜ใ€‚ๆ—จๅœจๅธฎๅŠฉๅผ€ๅ‘่€…ๅœจๅคๆ‚ไธšๅŠกไธญๆž„ๅปบ็กฎๅฎšๆ€ง็š„ๆœๅŠก็ซฏ็Šถๆ€ๅŸบๅบงใ€‚\",\"permalink\":\"/fullstack/server-state-management\",\"tags\":[\"SWR\",\"TanStack Query\",\"ๅ‰็ซฏๅทฅ็จ‹\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไธๆญขไบŽ Fetch๏ผšReact ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"date\":\"2025-11-15 09:20:23\",\"capture\":\"1. ๅผ•่จ€\\nๅœจ็Žฐไปฃๅ‰็ซฏๅทฅ็จ‹ไธญ๏ผŒ็Šถๆ€ๅฏไธฅๆ ผๅŒบๅˆ†ไธบ UI ็Šถๆ€๏ผˆUI State๏ผ‰ ไธŽ ๆœๅŠก็ซฏ็Šถๆ€๏ผˆServer State๏ผ‰ ไธค็ฑปใ€‚ๅฏนไบŽ UI ็Šถๆ€็š„็ฎก็†๏ผŒๅผ€ๅ‘่€…ๅทฒ่พƒไธบ็†Ÿๆ‚‰๏ผŒ้€šๅธธๅฏๅ€ŸๅŠฉ `useState`ใ€`useEffect` ็ญ‰ Hooks๏ผŒๆˆ– `zustand`ใ€`jotai` ็ญ‰็Šถๆ€็ฎก็†ๅบ“ๆฅๅฎž็Žฐใ€‚็„ถ่€Œ๏ผŒๆœๅŠก็ซฏ็Šถๆ€็š„็ฎก็†ๅพ€ๅพ€็ผบไน็ปŸไธ€ไธ”้ซ˜ๆ•ˆ็š„่งฃๅ†ณๆ–นๆกˆ๏ผŒๅผ€ๅ‘่€…้€šๅธธ้œ€่ฆ่‡ช่กŒๅฎž็Žฐใ€‚\\nๅœจไผ ็ปŸ็š„ๆ•ฐๆฎ่Žทๅ–ๆต็จ‹ไธญ๏ผŒๆˆ‘ไปฌไธ€่ˆฌไฝฟ็”จ `fetch` ๆˆ– `axios` ๅ‘ๅŽ็ซฏๆˆ– REST API ๅ‘้€ HTTP ่ฏทๆฑ‚๏ผŒ้šๅŽๆ‰‹ๅŠจๅฐ†ๆ•ฐๆฎ่Žทๅ–้€ป่พ‘ไธŽๅ‰็ซฏไธšๅŠก้€ป่พ‘ๅŠ UI ็Šถๆ€็ฎก็†่ฟ›่กŒๆ•ดๅˆ๏ผŒไปฅๅฎŒๆˆๆ•ฐๆฎๅค„็†ๅนถ้ฉฑๅŠจ็•Œ้ขๆ›ดๆ–ฐ\"},{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2025-11-14 22:33:39\",\"title\":\"JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"aliases\":[\"้™ๆ€็ซ™็‚น็”Ÿๆˆๅ™จ\",\"SSG\"],\"tldr\":\"้ข„ๆธฒๆŸ“้™ๆ€้กต้ข + ๅŠจๆ€ API๏ผŒCDN ๅˆ†ๅ‘ๅ…จ็ƒ๏ผŒๆ›ฟไปฃไผ ็ปŸๅŠจๆ€็ฝ‘็ซ™็š„ๅผ€ๅ‘้ƒจ็ฝฒ่Œƒๅผ\",\"description\":\"ไปŽๆ ธๅฟƒๆฆ‚ๅฟตใ€ๅทฅๅ…ท้“พ้€‰ๅž‹๏ผˆNext.js/Vercel/Supabase/Contentful๏ผ‰ๅˆฐไปŽ 0 ๆญๅปบๅšๅฎข็š„ๅฎŒๆ•ดๅฎž่ทต๏ผŒ่ฆ†็›– JAMStack ้€‚็”จไธŽไธ้€‚็”จๅœบๆ™ฏ๏ผŒๅธฎๅŠฉๅˆคๆ–ญไฝ•ๆ—ถ้€‰็”จ่ฏฅๆžถๆž„ใ€‚\",\"permalink\":\"/fullstack/jamstack\",\"tags\":[\"tutorial\",\"jamstack\",\"frontend-architecture\",\"next.js\",\"static-site-generator\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2025-11-14 22:33:39\",\"capture\":\"> \\n> ๅ…ถๆ ธๅฟƒๆœบๅˆถๆ˜ฏๅœจๆž„ๅปบๆ—ถๅฐ†้กต้ข้ข„ๆธฒๆŸ“ไธบ้™ๆ€ HTML/CSS/JS๏ผŒ้ƒจ็ฝฒ่‡ณ CDN ไพ›็”จๆˆทๅฐฑ่ฟ‘ๅŠ ่ฝฝ๏ผŒไป…ๅœจ้œ€่ฆๅŠจๆ€ๆ•ฐๆฎๆ—ถ้€š่ฟ‡ JavaScript ่ฐƒ็”จ API ่Žทๅ–ใ€‚็›ธ่พƒไบŽไผ ็ปŸๅŠจๆ€็ฝ‘็ซ™๏ผŒJAMStack ๅœจๆ€ง่ƒฝใ€ๅฏ้ ๆ€งใ€ๆ‰ฉๅฑ•ๆ€งใ€ๅฎ‰ๅ…จๆ€งๅŠ่ฟ็ปดๆˆๆœฌไธŠๅ…ทๆœ‰ๆ˜พ่‘—ไผ˜ๅŠฟใ€‚\\n> \\n> ๆœฌๆ–‡ๆขณ็†ไบ†ไธปๆตๆž„ๅปบๅทฅๅ…ท๏ผˆGatsbyใ€Next.jsใ€Nuxt.jsใ€11ty๏ผ‰ใ€้™ๆ€ๆ‰˜็ฎกๅนณๅฐ๏ผˆVercelใ€Netlifyใ€Cloudflare Pages๏ผ‰ใ€API/BaaS ๆœๅŠก๏ผˆSupabaseใ€Firebaseใ€Auth0๏ผ‰ๅŠๆ— ๅคด CMS๏ผˆContentfulใ€Sanityใ€Strapi\"}],\"่ต„ๆบๆŽจ่\":[{\"url\":\"/01.ๅ…จๆ ˆ/90.ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่/90.ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"relativePath\":\"/01.ๅ…จๆ ˆ/90.ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่/90.ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"frontmatter\":{\"date\":\"2026-02-06 15:58:53\",\"title\":\"ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡็ณป็ปŸๆขณ็†ไบ†็Žฐไปฃๅ…จๆ ˆๅผ€ๅ‘็š„ๅฎŒๆ•ดๆŠ€ๆœฏๅ›พ่ฐฑไธŽๆผ”่ฟ›่Œƒๅผ๏ผŒไธบๅผ€ๅ‘่€…ๆไพ›ไบ†ไธ€็ซ™ๅผ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—ใ€‚ๆ–‡็ซ ไปŽๅŸบ็Ÿณๅ‡บๅ‘๏ผŒ่ฆ†็›– Web ๆ ธๅฟƒ่ฏญ่จ€๏ผˆJS/TS๏ผ‰ ไธŽ ไธปๆต UI ๆก†ๆžถ๏ผˆReact/Vue/Svelte๏ผ‰๏ผŒๅนถๆŽจ่ไปฅ Tailwind CSS ๅ’Œ shadcn/ui ไธบไปฃ่กจ็š„็Žฐไปฃๆ ทๅผไธŽ็ป„ไปถๅŽŸ่ฏญใ€‚ๅœจๆ ธๅฟƒไธšๅŠก้€ป่พ‘ๅฑ‚๏ผŒๆทฑๅบฆๅฏนๆฏ”ไบ†่ฝป้‡ๅŒ–็Šถๆ€็ฎก็†ๆ–นๆกˆ๏ผˆ้ฆ–ๆŽจ Zustand/Jotai๏ผ‰๏ผŒๅนถ้‡็‚น่งฃๆžไบ†ๆ•ฐๆฎไบคไบ’็š„ไธ‰ๅคง็Žฐไปฃๆžถๆž„่Œƒๅผ๏ผšไปŽๅŸบ็ก€ Axios ๅˆฐ React Query ็Šถๆ€่ฐƒๅบฆ๏ผŒๅ†ๅˆฐ tRPC ๅ’Œ GraphQL ๅธฆๆฅ็š„ๅ…จๆ ˆ็ฑปๅž‹ๅฎ‰ๅ…จไธŽๅคš็ซฏ่šๅˆใ€‚ๅœจๅทฅ็จ‹ๅŒ–ไธŽๆœๅŠก็ซฏๆจกๅ—๏ผŒๆ–‡็ซ ๅ…จ้ขๆ‹ฅๆŠฑ Viteใ€Rsbuild ็ญ‰ๆž้€Ÿๆž„ๅปบๅทฅๅ…ท๏ผŒๅนถๅ‰–ๆžไบ† Next.js/Nuxt ๅŒๆž„ๅ…ƒๆก†ๆžถไธŽ NestJS ไผไธš็บง Node ๆœๅŠก็š„ๆœ€ไฝณ้€‚็”จๅœบๆ™ฏใ€‚ๆœ€ๅŽ๏ผŒ่พ…ไปฅ Vercel ็ญ‰็Žฐไปฃ่พน็ผ˜้ƒจ็ฝฒๅนณๅฐๅŠไธฐๅฏŒ็š„ๅผ€ๆบ็คพๅŒบๅญฆไน ่ต„ๆบใ€‚\",\"permalink\":\"/growth/full-stack-resources\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"date\":\"2026-02-06 15:58:53\",\"capture\":\"> - ๆ–‡็ซ ไปŽๅŸบ็Ÿณๅ‡บๅ‘๏ผŒ่ฆ†็›– Web ๆ ธๅฟƒ่ฏญ่จ€๏ผˆJS/TS๏ผ‰ ไธŽ ไธปๆต UI ๆก†ๆžถ๏ผˆReact/Vue/Svelte๏ผ‰๏ผŒๅนถๆŽจ่ไปฅ Tailwind CSS ๅ’Œ shadcn/ui ไธบไปฃ่กจ็š„็Žฐไปฃๆ ทๅผไธŽ็ป„ไปถๅŽŸ่ฏญใ€‚\\n> - ๅœจๆ ธๅฟƒไธšๅŠก้€ป่พ‘ๅฑ‚๏ผŒๆทฑๅบฆๅฏนๆฏ”ไบ†่ฝป้‡ๅŒ–็Šถๆ€็ฎก็†ๆ–นๆกˆ๏ผˆ้ฆ–ๆŽจ Zustand/Jotai๏ผ‰๏ผŒๅนถ้‡็‚น่งฃๆžไบ†ๆ•ฐๆฎไบคไบ’็š„ไธ‰ๅคง็Žฐไปฃๆžถๆž„่Œƒๅผ๏ผšไปŽๅŸบ็ก€ Axios ๅˆฐ React Query ็Šถๆ€่ฐƒๅบฆ๏ผŒๅ†ๅˆฐ tRPC ๅ’Œ GraphQL ๅธฆๆฅ็š„ๅ…จๆ ˆ็ฑปๅž‹ๅฎ‰ๅ…จไธŽๅคš็ซฏ่šๅˆใ€‚\\n> - ๅœจๅทฅ็จ‹ๅŒ–ไธŽๆœๅŠก็ซฏๆจกๅ—๏ผŒๆ–‡็ซ ๅ…จ้ขๆ‹ฅๆŠฑ Viteใ€Rsbuild ็ญ‰ๆž้€Ÿๆž„ๅปบๅทฅๅ…ท๏ผŒๅนถๅ‰–ๆžไบ† Next.js/N\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/11. LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/11. LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-01-06 15:58:53\",\"title\":\"LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆˆช่‡ณ 2026 ๅนด๏ผŒLLM API ๆœๅŠกๅทฒๅฝขๆˆ\\\"ๅฎ˜ๆ–น็›ด่ฟž + ็ฌฌไธ‰ๆ–น่šๅˆ\\\"็š„ๅŒ่ฝจๆ ผๅฑ€๏ผŒๆจกๅž‹่ƒฝๅŠ›ใ€ๅฎšไปทใ€ๅˆ่ง„ๆ€งไธŽๆŽฅๅ…ฅไพฟๅˆฉๆ€งๅทฎๅผ‚ๆ˜พ่‘—ใ€‚ๆœฌๆ–‡ไปŽ้€‰ๅž‹ๅ‰ๆ้—ฎๅ‡บๅ‘๏ผŒ็ณป็ปŸๆขณ็†ๅ›ฝ้™…ไธŽๅ›ฝๅ†…ไธปๆตๅฎ˜ๆ–น API ๅนณๅฐ๏ผŒไปฅๅŠ OpenRouterใ€็ก…ๅŸบๆตๅŠจ็ญ‰็ฌฌไธ‰ๆ–น่šๅˆๅนณๅฐ็š„ๆ ธๅฟƒ็‰น็‚น๏ผŒๅนถๆไพ›ๅŸบไบŽๅœบๆ™ฏ็š„ๅ†ณ็ญ–ๆก†ๆžถ๏ผŒๅธฎๅŠฉๅผ€ๅ‘่€…ๅ’Œไบงๅ“ๅ›ข้˜Ÿๅฟซ้€Ÿ้”ๅฎšๆœ€้€‚ๅˆ่‡ชๅทฑ็š„ๆ–นๆกˆใ€‚\",\"permalink\":\"/ai-learning/llm-api-resources\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"LLM API\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"date\":\"2026-01-06 15:58:53\",\"capture\":\"1. ้€‰ๆจกๅž‹ๅ‰๏ผŒๅ…ˆๆƒณๆธ…ๆฅš่ฟ™ๅ‡ ไปถไบ‹\\nๅœจๅฏนๆฏ”ๅ…ทไฝ“ๅนณๅฐไน‹ๅ‰๏ผŒๅฏไปŽไปฅไธ‹ๅ››ไธช็ปดๅบฆๆขณ็†่‡ช่บซ่ฏ‰ๆฑ‚๏ผŒ้ฟๅ…\\\"็œผ่Šฑ็ผญไนฑๅŽ้šไพฟ้€‰ไธ€ไธช\\\"๏ผš\\n| ็ปดๅบฆ | ๅ…ณ้”ฎ้—ฎ้ข˜ | ๅฝฑๅ“ๅ†ณ็ญ– |\\n|:-----|:--------|:--------|\\n| ไปปๅŠก็ฑปๅž‹ | ๆ˜ฏ้€š็”จๅฏน่ฏใ€ไปฃ็ ็”Ÿๆˆใ€้•ฟๆ–‡ๆกฃๅˆ†ๆž๏ผŒ่ฟ˜ๆ˜ฏๅคšๆจกๆ€็†่งฃ๏ผŸ | ไธๅŒๆจกๅž‹ๅœจๅž‚็›ด่ƒฝๅŠ›ไธŠๅทฎ่ทๆ‚ฌๆฎŠ |\\n| ๆˆๆœฌ้ข„็ฎ— | ๆฏๆœˆ่ฐƒ็”จ้‡็บง๏ผŸ่ƒฝๅฆๆŽฅๅ—ๆตทๅค–็ป“็ฎ—ไธŽๆฑ‡็އ้ฃŽ้™ฉ๏ผŸ | ๅ›ฝไบงๆจกๅž‹ Token ไปทๆ ผ้€šๅธธไฝŽ 3๏ฝž10 ๅ€ |\\n| ๅˆ่ง„ไธŽ้ƒจ็ฝฒ | ๆ•ฐๆฎ่ƒฝๅฆๅ‡บๅขƒ๏ผŸ่ƒฝๅฆไฝฟ็”จๆตทๅค–ๆœๅŠก๏ผŸๆ˜ฏๅฆ้œ€่ฆ็งๆœ‰ๅŒ–้ƒจ็ฝฒ๏ผŸ | ๆถ‰ๅŠๆ”ฟๅŠก/้‡‘่ž/ๅŒป็–—ๅœบๆ™ฏๅฟ…้กป่€ƒ่™‘ |\\n| ็ฝ‘็ปœ็Žฏๅขƒ | ๅผ€ๅ‘/้ƒจ็ฝฒ็Žฏๅขƒ่ƒฝๅฆ็จณๅฎš่ฎฟ\"},{\"url\":\"/01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ\",\"frontmatter\":{\"date\":\"2025-11-25 00:52:28\",\"title\":\"AI ็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡ๆทฑๅบฆ่งฃๆžไบ† AI ้ฉฑๅŠจ็ผ–็จ‹็š„ไธ‰ๅคงๆผ”่ฟ›่Œƒๅผ๏ผšVibe Coding๏ผˆ่‡ช็„ถ่ฏญ่จ€้›ถ้—จๆง›ๆž„ๅปบ๏ผ‰ใ€AI IDE๏ผˆ็ผ–่พ‘ๅ™จๆทฑๅบฆ่พ…ๅŠฉๆๆ•ˆ๏ผ‰ๅŠ Agentic Engineering๏ผˆ่‡ชไธปๅทฅ็จ‹ๅธˆๆ‰ง่กŒไปปๅŠก๏ผ‰ใ€‚้€š่ฟ‡ๆจชๅ‘ๅฏนๆฏ” Bolt.newใ€Cursorใ€Claude Code ็ญ‰ๅ‰ๆฒฟๅทฅๅ…ท๏ผŒๆ–‡็ซ ๅ‹พๅ‹’ๅ‡บไธ€ๆกไปŽโ€œๅฟซ้€ŸๅŽŸๅž‹โ€ๅˆฐโ€œ้ซ˜ๆ•ˆๅๅŒโ€ๅ†ๅˆฐโ€œ่‡ชไธปไบคไป˜โ€็š„่ฟ›้˜ถ่ทฏๅพ„ใ€‚ๆ ธๅฟƒๆ—จๅœจๆŒ‡ๅฏผ็”จๆˆทๅˆฉ็”จ AI ๅทฅๅ…ท็Ÿฉ้˜ตๆ‰“็ ดๆŠ€ๆœฏ่พน็•Œ๏ผŒๅฎž็ŽฐไปŽๅˆ›ๆ„ๆ่ฟฐๅˆฐๅทฅไธš็บงไบคไป˜็š„็”ŸไบงๅŠ›้ฃž่ทƒ๏ผŒ้‡ๅก‘่ฝฏไปถๅผ€ๅ‘ๅ…จ็”Ÿๅ‘ฝๅ‘จๆœŸใ€‚\",\"permalink\":\"/ai-learning/ai-coding-resources\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/source_sites_bg.png\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"AI Coding\",\"Vibe Coding\",\"Agentic Engineering\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"AI ็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่\",\"date\":\"2025-11-25 00:52:28\",\"capture\":\"1. ไธ‰็ง็ผ–็จ‹่Œƒๅผ้€Ÿ่งˆ\\n| ่Œƒๅผ | ไธ€ๅฅ่ฏๆ่ฟฐ | ไฝ ็š„่ง’่‰ฒ |\\n|:-----|:---------|:--------|\\n| Vibe Coding | ็”จ่‡ช็„ถ่ฏญ่จ€ๆ่ฟฐ้œ€ๆฑ‚๏ผŒAI ็›ดๆŽฅ็”Ÿๆˆๅฏ่ฟ่กŒ็š„ๅฎŒๆ•ด้กน็›ฎ | ๆ่ฟฐ้œ€ๆฑ‚๏ผŒ่ฎฉ AI ๅ†™ไปฃ็ (```ๆ–ฐๆ‰‹ๅ‹ๅฅฝ```) |\\n| AI IDE | ๅœจ็ผ–่พ‘ๅ™จ้‡Œๅผ•ๅ…ฅ AI ่พ…ๅŠฉ๏ผŒ่พนๅ†™่พน่กฅๅ…จใ€่พน้—ฎ่พนๆ”น | ไธปๅฏผๅผ€ๅ‘๏ผŒ่ฎฉ AI ๅšๅ‰ฏ้ฉพ้ฉถ(```ๆ›ดๅคšๆŽงๅˆถ```) |\\n| Agentic Engineering | AI ไฝœไธบ\\\"่‡ชไธปๅทฅ็จ‹ๅธˆ\\\"๏ผŒๆŽฅๆ”ถไปปๅŠกๅŽ่‡ชๅŠจ่ง„ๅˆ’ๅนถๆ‰ง่กŒๅ…จๅฅ—ไปฃ็ ๅทฅไฝœๆต | ๆไปปๅŠกใ€ๅฎก็ป“ๆžœ๏ผŒ่ฎฉ AI ๆ‰ง่กŒ(```ๆž่‡ดๆๆ•ˆ```) |\\nๆ–ฐๆ‰‹่ทฏ็บฟๅปบ่ฎฎ๏ผšๅ…ˆ\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"frontmatter\":{\"date\":\"2025-11-25 00:52:28\",\"title\":\"ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไธบไพฟไบŽ้ซ˜ๆ•ˆๅˆฉ็”จ AI ๅทฅๅ…ทๆๅ‡ๅญฆไน ใ€ๆœ็ดขๅ’Œๅˆ›ไฝœๆ•ˆ็އ๏ผŒๆœฌๆ–‡็ณป็ปŸๆ•ด็†ไบ†ไธปๆต็š„ AI ๅŠฉๆ‰‹ไธŽๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐ็›ธๅ…ณ่ต„ๆบใ€‚ๅ†…ๅฎนๅˆ†ไธบโ€œAI ๅŠฉๆ‰‹โ€๏ผˆๅฆ‚ ChatGPTใ€Claudeใ€Gemini ็ญ‰ๅฏน่ฏๅผๅŠฉๆ‰‹๏ผ‰ๅ’Œโ€œๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐโ€๏ผˆๅฆ‚ๅ†™ไฝœใ€็ป˜็”ป็ญ‰้ข†ๅŸŸ็š„ AI ๅทฅๅ…ทไธŽๅนณๅฐ๏ผ‰๏ผŒไธ”ๆ ‡ๆณจไบ†ๅ…ถๆ ธๅฟƒ่ƒฝๅŠ›ใ€้€‚ๅˆๅœบๆ™ฏ๏ผŒไปฅๅŠ็‰น่‰ฒไผ˜ๅŠฟใ€‚\",\"permalink\":\"/ai-learning/tools-assistant\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/source_sites_bg.png\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"AI ๅŠฉๆ‰‹\",\"AI ๆœ็ดข\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"date\":\"2025-11-25 00:52:28\",\"capture\":\"1. AI ๅŠฉๆ‰‹\\n> ้€‰ๆ‹ฉๅปบ่ฎฎ๏ผš ่‹ฑๆ–‡ไธบไธป โ†’ ไผ˜ๅ…ˆ ChatGPT / Claude / Gemini๏ผ›ไธญๆ–‡ไธบไธป โ†’ ไผ˜ๅ…ˆ Kimi / DeepSeek / ้€šไน‰ๅƒ้—ฎ๏ผ›้œ€่ฆ่”็ฝ‘ๅฎžๆ—ถไฟกๆฏ โ†’ Gemini / Grok๏ผ›้œ€่ฆๅˆ†ๆž้•ฟๆ–‡ๆกฃ โ†’ Claude / Kimi๏ผ›่ฟฝๆฑ‚ไฝŽๆˆๆœฌๅผ€ๆบ้ƒจ็ฝฒ โ†’ DeepSeekใ€‚\\n>\\n> ๆณจ๏ผš็›ฎๅ‰ๅ›ฝๅค–ๆจกๅž‹๏ผˆๅฆ‚ ChatGPTใ€Claudeใ€Gemini ็ญ‰๏ผ‰ๅœจ่‹ฑๆ–‡ๅค„็†ใ€ๅคšๆจกๆ€่ƒฝๅŠ›ใ€ๆ’ไปถ็”Ÿๆ€ๅ’Œ API ไธฐๅฏŒๆ€ง็ญ‰ๆ–น้ข๏ผŒๆ•ดไฝ“ไธŠไพ็„ถไผ˜ไบŽๅ›ฝๅ†…ๆจกๅž‹๏ผŒ้€‚ๅˆๅฏน่‹ฑๆ–‡ๅˆ›ไฝœใ€ๅคš่ฏญ่จ€ๆฒŸ้€šใ€ๅคๆ‚ๆŽจ็†ใ€ไปฃ็ ๅŠฉๆ‰‹็ญ‰ๅœบๆ™ฏๆœ‰ๆ›ด้ซ˜่ฆๆฑ‚็š„็”จๆˆทใ€‚ไธ่ฟ‡๏ผŒๅ›ฝๅ†…ๆจกๅž‹ๅœจไธญๆ–‡็†่งฃใ€ๆœฌๅœฐๅŒ–ใ€ๅˆ่ง„\"},{\"url\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/21.ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"relativePath\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/21.ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"frontmatter\":{\"date\":\"2025-11-10 12:52:28\",\"title\":\"ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจไฟกๆฏ้ซ˜ๅบฆ้€ๆ˜Ž็š„ๆ—ถไปฃ๏ผŒๆต…ๅฑ‚ไฟกๆฏๅทฎๅทฒ่ขซๅฝปๅบ•ๆŠนๅนณ๏ผŒไฟกๆฏๆœฌ่บซ็š„ไปทๅ€ผไธๆ–ญ็จ€้‡Šใ€‚ไบบไธŽไบบ็š„ๆ ธๅฟƒๅทฎ่ทไธๅ†ๆ˜ฏ่Žทๅ–ไฟกๆฏ็š„ๆธ ้“๏ผŒ่€Œๆ˜ฏ้ซ˜ไฟกๅ™ชๆฏ”ไฟกๆฏ็š„็”„ๅˆซ่ƒฝๅŠ›ใ€ๆทฑๅบฆๆ€่€ƒ่ƒฝๅŠ›ไธŽ่ฝๅœฐๆ‰ง่กŒๅŠ›๏ผŒๅ”ฏๆœ‰ไปฅๆ€่€ƒๆ ก้ชŒไฟกๆฏใ€ไปฅๆ‰ง่กŒ้ชŒ่ฏไปทๅ€ผ๏ผŒๅฝขๆˆโ€œไฟกๆฏ-ๅˆคๆ–ญ-ๅฎž่ทต-ๅ้ฆˆโ€็š„ๆ€่€ƒไธŽๆ‰ง่กŒ้—ญ็Žฏ๏ผŒๆ‰่ƒฝ็ช็ ดไฟกๆฏๅฃๅž’ใ€ๅˆ›้€ ็œŸๆญฃไปทๅ€ผใ€‚\",\"permalink\":\"/growth/distinguish-useful-information\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"ไฟกๆฏ็ญ›้€‰\",\"ไธชไบบๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"date\":\"2025-11-10 12:52:28\",\"capture\":\"ๅœจไบ’่”็ฝ‘ๆŠ€ๆœฏๆ™ฎๅŠ็š„ๅฝ“ไธ‹๏ผŒไฟกๆฏๅทฒไปŽโ€œ็จ€็ผบ่ต„ๆบโ€่ฝฌๅ˜ไธบโ€œๆณ›ๆปฅ่ต„ๆบโ€ใ€‚่ฟ‡ๅŽปไพ่ต–ๅœฐๅŸŸๅทฎใ€็จ€็ผบๆ€ง็š„ๆต…่กจๅฑ‚ไฟกๆฏๅทฎ้€ๆธ่ขซๆŠนๅนณ๏ผŒๅผ€ๅ‘่€…้€š่ฟ‡็ฝ‘็ปœๅฏ่ฝปๆพ่Žทๅ–ๅ„็ฑปๆŠ€ๆœฏๆ–‡ๆกฃใ€่กŒไธšๅŠจๆ€ใ€่ตš้’ฑๆจกๅผ๏ผŒไฝ†็œŸๆญฃ่ƒฝๅฐ†ไฟกๆฏ่ฝฌๅŒ–ไธบไปทๅ€ผ็š„ไปๆ˜ฏๅฐ‘ๆ•ฐไบบใ€‚ๆ ธๅฟƒ็Ÿ›็›พๅทฒไปŽโ€œ่Žทๅ–ไฟกๆฏโ€่ฝฌๅ˜ไธบโ€œ้ฉพ้ฉญไฟกๆฏโ€โ€”โ€”ไฟกๆฏๆœฌ่บซ็š„ไปทๅ€ผๅผฑๅŒ–๏ผŒ่€Œไฟกๆฏ่งฃ่ฏป่ƒฝๅŠ›ใ€่กŒๅŠจๆ‰ง่กŒๅŠ›ใ€็ญ›้€‰็”„ๅˆซๅŠ›ๆˆไธบๆ‹‰ๅผ€ๅทฎ่ท็š„ๅ…ณ้”ฎใ€‚\\n 1. ๆ‰“็ ดโ€œไฟกๆฏๅทฎโ€็š„็ณป็ปŸๆ€ง้”™่ง‰\\n่ฟ‡ๅŽป๏ผŒ็”ฑไบŽๅœฐๅŸŸ้™ๅˆถๅ’Œไผ ๆ’ญไป‹่ดจ็š„็จ€็ผบ๏ผŒ่ตš้’ฑๆˆ–ๆˆๅŠŸ็š„ๆจกๅผๅพ€ๅพ€ๆ˜ฏ็ฒ—ๆ”พ็š„๏ผŒๅปบ็ซ‹ๅœจๆต…่กจๅฑ‚็š„โ€œไฟกๆฏไธๅฏน็งฐโ€ไธŠ๏ผŒไฝ†้š็€ๆŠ€ๆœฏ็š„ๆผ”่ฟ›๏ผŒ่ฟ™็งไฝŽ็ปดๅบฆ็š„ไฟกๆฏๅทฎๆญฃๅœจ่ขซ่ฟ…้€ŸๆŠนๅนณใ€‚ไบบไปฌ็ปๅธธ้™ทๅ…ฅโ€œ่ตšไธๅˆฐ้’ฑ/ๆŠ“ไธไฝๆœบไผšๆ˜ฏๅ› ไธบ็ผบๅฐ‘ไฟกๆฏๅทฎโ€็š„่ฎค็Ÿฅๅๅทฎ๏ผŒไฝ†ๆœฌ่ดจ้—ฎ้ข˜ๅœจไบŽโ€œ\"}],\"ๅ…ณไบŽ\":[{\"url\":\"/40.ๅ…ณไบŽ/01.ๅ…ณไบŽๆˆ‘\",\"relativePath\":\"/40.ๅ…ณไบŽ/01.ๅ…ณไบŽๆˆ‘\",\"frontmatter\":{\"date\":\"2025-08-29 09:40:53\",\"title\":\"ๅ…ณไบŽๆˆ‘\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไปŽ Tech Stack ๅˆฐ Insight Stack๏ผŒๅฝ“ AI ๆŽฅ็ฎกไบ†ๅฎž็Žฐ๏ผŒๆˆ‘ๆ›ดๅ…ณๆณจๆžถๆž„็š„ๆƒ่กกไธŽไบงๅ“็š„ไปทๅ€ผ๏ผŒไธ“ๆณจ๏ผšๅทฅ็จ‹ๅŒ– Spec ไธŽ AI ็ผ–็จ‹็ฃจๅˆ็š„ๅฎž่ทต | Agent ่ฝๅœฐ | ็‹ฌ็ซ‹ไบงๅ“ใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/about_me_chinese.png\",\"permalink\":\"/about/me\",\"categories\":[\"ๅ…ณไบŽ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ…ณไบŽๆˆ‘\",\"date\":\"2025-08-29 09:40:53\",\"capture\":\"ๆˆ‘ๆ˜ฏ่ฐ\\nๆˆ‘ๆ˜ฏไธ€ๅๆ‹ฅๆœ‰ๅ…จๆ ˆ่ƒŒๆ™ฏ็š„ๅผ€ๅ‘่€…, ๆŠ€ๆœฏๅบ•่‰ฒๆบไบŽๅทฅไฝœๅ‡ ๅนดๅŽ็งฏ็ดฏไบ†่พƒไธบๆ‰Žๅฎž็š„ๅทฅ็จ‹ๅŒ–ๅฎž่ทตโ€”โ€”ไปŽๅŸบ็ก€็š„ Web ๅ‰็ซฏๅˆฐๅคๆ‚็š„่ทจๅนณๅฐๅฐ็จ‹ๅบๅŸบ็ก€ๆก†ๆžถ็š„ๆžถๆž„ๅ‡็บง๏ผŒๅ†ๅˆฐๅŸบไบŽ NodeJS ็š„ๆœๅŠก็ซฏๅผ€ๅ‘๏ผŒ่ฟ™ไบ›็ปๅކ้”ป็‚ผไบ†ๆˆ‘ๅฏน็ณป็ปŸๅคๆ‚ๅบฆ็š„ๆŽŒๆŽงๅŠ›ใ€ๅทฅ็จ‹ๅŒ–่ƒฝๅŠ›ไปฅๅŠ้กน็›ฎๆŽจๅŠจไธŽๅ›ข้˜Ÿๅˆไฝœ็š„่ƒฝๅŠ›ใ€‚\\n่‡ช 2023 ๅนด LLM ๆตชๆฝฎๆถŒ็Žฐไปฅๆฅ๏ผŒๆˆ‘ๆทฑๅบฆๆŠ•่บซไบŽ AI ็›ธๅ…ณ็š„ๆŠ€ๆœฏๆŽข็ดขใ€‚ๅœจๅทฅไฝœไธŽไธšไฝ™้กน็›ฎไธญ๏ผŒไธปๅฏผๆˆ–ๅ‚ไธŽไบ†ๅคšไธชๅŸบไบŽๅคงๆจกๅž‹็š„ๅบ”็”จ่ฝๅœฐ๏ผŒ็งฏ็ดฏไบ†ไปŽ Prompt ่ฐƒไผ˜ๅˆฐ Agentic Workflow ็ผ–ๆŽ’็š„ไธ€็บฟ็ป้ชŒ๏ผŒไนŸๅคšๆฌกๅ‚ๅŠ ไบ†ๅ›ฝๅ†… AI ็คพๅŒบ็›ธๅ…ณ็š„ๆŠ€ๆœฏๅˆ†ไบซไธŽไบคๆตๆดปๅŠจ๏ผŒไบ†่งฃไบ† AI ้ข†ๅŸŸๆœ€ๆ–ฐ็š„ๆŠ€ๆœฏ่ถ‹ๅŠฟไธŽๅฎž่ทตใ€‚\\n\\n็›ฎๅ‰๏ผŒๆˆ‘ไธป่ฆๅœจ\"}],\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹\",\"frontmatter\":{\"date\":\"2025-08-20 22:51:27\",\"title\":\"่Šไธ€่Š TypeScript ไธญ็š„ๆณ›ๅž‹\",\"tldr\":\"ๆณ›ๅž‹ๅฐ†็ฑปๅž‹ไฝœไธบๅ‚ๆ•ฐ๏ผŒไฝฟไปฃ็ ๅœจๅคš็ง็ฑปๅž‹ไธŠๅฎ‰ๅ…จ่ฟ่กŒ๏ผŒๆ˜ฏ TypeScript ็ฑปๅž‹ๆŠฝ่ฑก็š„ๆ ธๅฟƒ็‰นๆ€งใ€‚\",\"description\":\"ๆœฌๆ–‡็ณป็ปŸ่งฃๆž TypeScript ๆณ›ๅž‹็š„ๆ ธๅฟƒๆฆ‚ๅฟตไธŽๅทฅไฝœๆœบๅˆถ๏ผŒๅฏนๆฏ”ๆณ›ๅž‹ไธŽ any ็ฑปๅž‹็š„ๅทฎๅผ‚๏ผŒๆถต็›–ๆณ›ๅž‹ๅ‡ฝๆ•ฐใ€ๆŽฅๅฃใ€็ฑปใ€็ฑปๅž‹ๅˆซๅ็š„ๅฎž่ทต็”จๆณ•๏ผŒไปฅๅŠๅŸบๆœฌ็ฑปๅž‹็บฆๆŸใ€ๆŽฅๅฃ็บฆๆŸใ€ๅคš้‡็บฆๆŸใ€keyof ็บฆๆŸ็ญ‰้ซ˜้˜ถๆŠ€ๅทงไธŽๆœ€ไฝณๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/typescript-generic-types\",\"tags\":[\"tutorial\",\"typescript\",\"generics\",\"type-system\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่Šไธ€่Š TypeScript ไธญ็š„ๆณ›ๅž‹\",\"date\":\"2025-08-20 22:51:27\",\"capture\":\"1. ๆณ›ๅž‹็š„ๅŸบๆœฌๆฆ‚ๅฟตๅ’Œไฝœ็”จ\\n 1.1 ๆ ธๅฟƒๅฎšไน‰\\nๆณ›ๅž‹๏ผˆGenerics๏ผ‰ ๆ˜ฏ TypeScript ไธญไธ€็งๅผบๅคง็š„็ฑปๅž‹็ณป็ปŸ็‰นๆ€ง๏ผŒๅ…่ฎธๅฎšไน‰็ฑปๅž‹ๅ‚ๆ•ฐๅŒ–็š„็ป„ไปถ๏ผŒไฝฟไปฃ็ ่ƒฝๅคŸๅœจๅคš็ง็ฑปๅž‹ไธŠๅฎ‰ๅ…จ่ฟ่กŒ๏ผŒๅŒๆ—ถไฟๆŒ็ฑปๅž‹ๆฃ€ๆŸฅใ€‚ๆณ›ๅž‹็š„ๆ ธๅฟƒๆ€ๆƒณๆ˜ฏๅฐ†็ฑปๅž‹ไฝœไธบๅ‚ๆ•ฐไผ ้€’็ป™ๅ‡ฝๆ•ฐใ€ๆŽฅๅฃๆˆ–็ฑป๏ผŒๅฎž็Žฐ\\\"็ผ–ๅ†™ไธ€ๆฌก๏ผŒๅค็”จๅคšๆฌก\\\"็š„ๆ•ˆๆžœใ€‚\\n 1.2 ๆณ›ๅž‹ไธŽ any ็ฑปๅž‹็š„ๅฏนๆฏ”\\n| ็‰นๆ€ง | ๆณ›ๅž‹ | any ็ฑปๅž‹ |\\n|------|------|----------|\\n| ็ฑปๅž‹ๅฎ‰ๅ…จ | โœ… ็ผ–่ฏ‘ๆ—ถ่ฟ›่กŒ็ฑปๅž‹ๆฃ€ๆŸฅ | โŒ ๅฎŒๅ…จๅคฑๅŽป็ฑปๅž‹ๆฃ€ๆŸฅ |\\n| ไปฃ็ ๅค็”จ | โœ… ๆ”ฏๆŒๅคš็ง็ฑปๅž‹ๅค็”จ | โœ… ๆ”ฏๆŒๅคš็ง็ฑปๅž‹๏ผŒไฝ†ๅคฑๅŽป็ฑปๅž‹ไฟกๆฏ |\\n| ็ฑปๅž‹ๆŽจๆ–ญ | โœ… \"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2025-08-12 22:47:47\",\"title\":\"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—\",\"tldr\":\"TypeScript ๅฎŒๅ–„็š„็ผ–่ฏ‘ไฝ“็ณปไธŽ่ฐƒ่ฏ•ๅทฅๅ…ท้“พ๏ผŒๆ˜ฏๆž„ๅปบ้ซ˜่ดจ้‡ๅบ”็”จ็š„ๅŸบ็Ÿณใ€‚\",\"description\":\"ๆทฑๅ…ฅ่งฃๆž TypeScript ็ผ–่ฏ‘ๅทฅๅ…ท้“พไธŽ่ฐƒ่ฏ•ไฝ“็ณป๏ผŒๆถต็›– tsconfig.json ๆ ธๅฟƒ้…็ฝฎใ€Monorepo ้กน็›ฎ้…็ฝฎ๏ผˆextends/references๏ผ‰ใ€source map ่ฐƒ่ฏ•ใ€ESLint ไธŽ Jest ๅ•ๅ…ƒๆต‹่ฏ•็ญ‰ๅฎŒๆ•ดๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/typescript-compilation-debugging-guide\",\"tags\":[\"tutorial\",\"typescript\",\"compilation\",\"tooling\",\"eslint\",\"jest\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—\",\"date\":\"2025-08-12 22:47:47\",\"capture\":\"็ผ–ๅ†™ไปฃ็ ๅชๆ˜ฏๅผ€ๅ‘ๅทฅไฝœ็š„่ตท็‚น๏ผŒ็œŸๆญฃๅ†ณๅฎš้กน็›ฎ่ดจ้‡็š„ๆ˜ฏๅŽ็ปญ็š„็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•็Žฏ่Š‚ใ€‚TypeScript ไฝœไธบ JavaScript ็š„้™ๆ€็ฑปๅž‹่ถ…้›†๏ผŒไธไป…ๅธฆๆฅไบ†็ฑปๅž‹ๅฎ‰ๅ…จ๏ผŒๆ›ดๆไพ›ไบ†ๅผบๅคง็š„็ผ–่ฏ‘ๅทฅๅ…ทๅ’Œ่ฐƒ่ฏ•่ƒฝๅŠ›๏ผŒ่ฎฉๆˆ‘ไปฌ่ƒฝๅคŸๆ›ด้ซ˜ๆ•ˆๅœฐๆž„ๅปบๅ’Œ็ปดๆŠคๅฏ้ ็š„ๅบ”็”จ็จ‹ๅบใ€‚\\nๆœฌๆ–‡ๅฐ†ๅฏน TypeScript ้กน็›ฎ็š„็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•่ฟ›่กŒๆขณ็†๏ผŒๅŒ…ๆ‹ฌ็ผ–่ฏ‘ๅทฅๅ…ท TSC ็š„ไฝฟ็”จใ€็ผ–่ฏ‘้€‰้กน็š„้…็ฝฎใ€่ฐƒ่ฏ•ๅทฅๅ…ท็š„ไฝฟ็”จ็ญ‰ใ€‚\\n 1. TypeScript ็ผ–่ฏ‘้…็ฝฎไธŽ tsconfig.json\\nTSC๏ผˆTypeScript Compiler๏ผ‰ๆ˜ฏ TypeScript ๅฎ˜ๆ–นๆไพ›็š„็ผ–่ฏ‘ๅทฅๅ…ท๏ผŒ่ดŸ่ดฃๅฐ† TypeScript ไปฃ็ ๏ผˆ`.ts` ๆˆ– `.tsx`๏ผ‰่ฝฌๆขไธบ J\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview\",\"frontmatter\":{\"date\":\"2024-05-18 22:49:57\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ไปŽ ES Modules ๅˆฐๅคงๅž‹้กน็›ฎๅˆ†ๅฑ‚ๆžถๆž„ไธŽๅทฅ็จ‹ๅŒ–ๅฎž่ทต๏ผŒๆž„ๅปบๅ…จๆ ˆๆจกๅ—ๅŒ–็Ÿฅ่ฏ†ไฝ“็ณปใ€‚\",\"description\":\"็ณป็ปŸๆขณ็† JavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›๏ผˆIIFEโ†’CJSโ†’ESM๏ผ‰ใ€TypeScript ็ฑปๅž‹ๅขžๅผบใ€ๅˆ†ๅฑ‚ๆžถๆž„ไธŽ DDD ๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/module-programming-practice-guide\",\"tags\":[\"tutorial\",\"ESM\",\"DDD\",\"ๅพฎๅ‰็ซฏ\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2024-05-18 22:49:57\",\"capture\":\"1. ๅผ•่จ€\\nๆจกๅ—ๅŒ–็ผ–็จ‹ๆ˜ฏ็Žฐไปฃ JavaScript/TypeScript ๅผ€ๅ‘็š„ๆ ธๅฟƒๅŽŸๅˆ™๏ผŒๅฎƒ้€š่ฟ‡ๅฐ†ๅคๆ‚็ณป็ปŸๆ‹†ๅˆ†ไธบ็‹ฌ็ซ‹ๅฏๅค็”จ็š„ๆจกๅ—๏ผŒ้™ไฝŽ็ณป็ปŸๅคๆ‚ๆ€งๅนถๆ้ซ˜ๅฏ็ปดๆŠคๆ€งไธŽๅฏๅค็”จๆ€งใ€‚ๅ› ๆญค๏ผŒๆˆ‘ไปฌ้€š่ฟ‡็ณปๅˆ—ๆ–‡็ซ ่ฏฆ็ป†ไป‹็ปไบ†ๆจกๅ—ๅŒ–็š„ๅŸบ็ก€ๆฆ‚ๅฟตใ€ๆผ”่ฟ›ๅކ็จ‹ใ€ไธๅŒ่ง„่Œƒ็š„ๆทฑๅบฆ่งฃๆžใ€TypeScriptๆจกๅ—ๅŒ–ๅขžๅผบใ€ES Modules ๆ ธๅฟƒ่ฏญๆณ•ไธŽๅฎž่ทตใ€ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทตใ€ๅ‰็ซฏๅทฅ็จ‹ๅŒ–ไธญ็š„ๆจกๅ—ๅŒ–ใ€Node.jsไธญ็š„ๆจกๅ—ๅŒ–ๅฎž่ทตใ€ๅคงๅž‹้กน็›ฎไธญ็š„ๆจกๅ—ๅŒ–่ฎพ่ฎกใ€ๆจกๅ—ๅŒ–ไธŽไปฃ็ ็ปดๆŠคไปฅๅŠๆœชๆฅๅ‘ๅฑ•่ถ‹ๅŠฟใ€‚\\nๅ‰้ข็š„็ณปๅˆ—ๆ–‡็ซ ไธป่ฆๆœ‰๏ผš\\n- ๆจกๅ—ๅŒ–็ผ–็จ‹็ผ–็จ‹ๅˆไฝ“้ชŒไธŽๅŸบ็ก€ไป‹็ป\\n- JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\\n- ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒ\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–\",\"frontmatter\":{\"date\":\"2024-05-17 23:33:09\",\"title\":\"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“\",\"tldr\":\"Node.js CJS ไธŽ ESM ๅŒๆจกๅ…ฑๅญ˜๏ผšๆจกๅ—ๅŠ ่ฝฝๆœบๅˆถไธŽๅˆ†ๅฑ‚ๆžถๆž„ๅฎž่ทตใ€‚\",\"description\":\"่งฃๆž Node.js ไธญ CommonJS ไธŽ ES Modules ็š„ๅŒๆจกๅ…ฑๅญ˜็ญ–็•ฅ๏ผŒๆถต็›–ๆจกๅ—ๅŠ ่ฝฝไผ˜ๅ…ˆ็บงใ€็ผ“ๅญ˜ๆœบๅˆถใ€package.json exports ๆกไปถๅฏผๅ‡บๅŠ Monorepo ๆžถๆž„ๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/nodejs-module-programming-summary\",\"abstract\":\"Node.js ๆจกๅ—ๅŒ–็ปๅކไบ†ไปŽ CommonJS ็‹ฌ้œธๅคฉไธ‹ๅˆฐ ES Modules ๅ…จ้ขๆŽฅๅ…ฅ็š„่Œƒๅผ่ฝฌ็งปใ€‚ๅ…ฑๅญ˜็ญ–็•ฅ้€š่ฟ‡ .mjs/.cjs ๅŽ็ผ€ๅ’Œ package.json type ๅญ—ๆฎตๆŽงๅˆถไธค็ง่ง„่Œƒ็š„่พน็•Œ๏ผ›ESM ๅฏ็›ดๆŽฅ import CJS๏ผˆ่‡ชๅŠจๅŒ…่ฃ…ไธบ้ป˜่ฎคๅฏผๅ‡บ๏ผ‰๏ผŒไฝ† CJS ๆ— ๆณ• require ESM ๅฟ…้กปไฝฟ็”จๅŠจๆ€ importใ€‚ๆจกๅ—ๅŠ ่ฝฝ้ตๅพชๆ ธๅฟƒๆจกๅ—ไผ˜ๅ…ˆใ€ๆ–‡ไปถๆจกๅ—ใ€็›ฎๅฝ•ๆจกๅ—๏ผˆindex.js/package.json๏ผ‰ใ€node_modules ้€็บงๆŸฅๆ‰พ็š„ไผ˜ๅ…ˆ็บง๏ผ›require.cache ๅฎž็Žฐๆจกๅ—็ผ“ๅญ˜๏ผŒๆธ…้™ค็ผ“ๅญ˜๏ผˆdelete require.cache[path]๏ผ‰ๆ˜ฏ็ƒญๆ›ดๆ–ฐๅทฅๅ…ท็š„ๆ ธๅฟƒๆ“ไฝœใ€‚package.json exports ๅญ—ๆฎตๆ”ฏๆŒๆกไปถๅฏผๅ‡บ๏ผˆimport/require ่ฟ”ๅ›žไธๅŒๅ…ฅๅฃ๏ผ‰ใ€‚pnpm workspaces ๅ‡ญๅ€Ÿ็กฌ้“พๆŽฅๆœบๅˆถๆˆไธบ็Žฐไปฃ Monorepo ้ฆ–้€‰ใ€‚ๅŽ็ซฏๅˆ†ๅฑ‚ๆžถๆž„๏ผˆAPI/Service/Repository๏ผ‰ๅฎž็Žฐๅ…ณๆณจ็‚นๅˆ†็ฆป๏ผŒๆขๆ•ฐๆฎๅบ“ๅช้œ€ๆ”น Repository ๅฑ‚ใ€‚\",\"tags\":[\"concept\",\"node.js\",\"commonjs\",\"esm\",\"monorepo\",\"layered-architecture\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“\",\"date\":\"2024-05-17 23:33:09\",\"capture\":\"ๅฆ‚ๆžœ่ฏดๆต่งˆๅ™จ็ซฏ็š„ๆจกๅ—ๅŒ–ๆ˜ฏไธบไบ†\\\"ๆŒ‰้œ€ๅŠ ่ฝฝ\\\"๏ผŒ้‚ฃไนˆ Node.js ็š„ๆจกๅ—ๅŒ–ๅˆ™ๆ˜ฏไธบไบ†\\\"ไปฃ็ ็ป„็ป‡\\\"ใ€‚ไฝœไธบๅฐ† JavaScript ๅธฆๅ…ฅๆœๅŠกๅ™จ็ซฏ็š„ๅ…ˆ้ฉฑ๏ผŒNode.js ็ปๅކไบ†ไปŽ CommonJS (CJS) ็‹ฌ้œธๅคฉไธ‹ๅˆฐ ES Modules (ESM) ๅ…จ้ขๆŽฅๅ…ฅ็š„่Œƒๅผ่ฝฌ็งปใ€‚\\nๅœจๆœๅŠกๅ™จ็ซฏ๏ผŒๆจกๅ—ๅŒ–ไธไป…ไป…ๆ˜ฏไธบไบ†ๆ‹†ๅˆ†ไปฃ็ ๏ผŒๆ›ดๆ˜ฏไธบไบ†ๆž„ๅปบๆธ…ๆ™ฐ็š„้กน็›ฎ็ป“ๆž„ใ€็ฎก็†ไพ่ต–ๅ…ณ็ณป๏ผŒไปฅๅŠๅฎž็Žฐไปฃ็ ็š„ๅค็”จไธŽ็ปดๆŠคใ€‚\\n 1. CommonJS ไธŽ ES Modules ๅŒๆจกๅ…ฑๅญ˜\\nๅœจ็Žฐไปฃ Node.js ๅผ€ๅ‘ไธญ๏ผŒๆˆ‘ไปฌ็ปๅธธ้ขไธดไธค็ง่ง„่Œƒไบค็ป‡็š„ๆƒ…ๅ†ตใ€‚่ฟ™ไธไป…ๆ˜ฏๆ–‡ไปถๅŽ็ผ€็š„ๆ”นๅ˜๏ผŒๆ›ดๆ˜ฏๅŒๆญฅไธŽๅผ‚ๆญฅๅŠ ่ฝฝ้€ป่พ‘็š„ๅšๅผˆใ€‚\\nๅ…ฑๅญ˜็ญ–็•ฅ๏ผš\\n1. ๅŽ็ผ€ๅ†ณๅฎš่ฎบ๏ผš`.mjs\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต\",\"frontmatter\":{\"date\":\"2024-05-17 22:30:50\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ๆขณ็†ไธŽๆ€ป็ป“\",\"tldr\":\"ๆŽŒๆก้ซ˜ๅ†…่šไฝŽ่€ฆๅˆๅŽŸๅˆ™๏ผšๆจกๅ—ๅŒ–็ผ–็จ‹็š„่ฎพ่ฎกๅ‡†ๅˆ™ไธŽ็ฒ’ๅบฆๆŽงๅˆถใ€‚\",\"description\":\"็ณป็ปŸๆขณ็†ๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅ…ญๅคงๆ ธๅฟƒๅŽŸๅˆ™๏ผšๅ•ไธ€่Œ่ดฃใ€้ซ˜ๅ†…่šไฝŽ่€ฆๅˆใ€็ฒ’ๅบฆ่ฎพ่ฎกใ€ๅ‘ฝๅ่ง„่ŒƒๅŠๆจกๅ—็‰ˆๆœฌ็ฎก็†๏ผŒ้™„่ฏฆ็ป†็š„ๅทฅ็จ‹ๅฎž่ทตๅปบ่ฎฎไธŽ้ฟๅ‘ๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/fullstack/module-programming-principles-best-practices\",\"abstract\":\"ๅฆ‚ๆžœ่ฏดๆŽŒๆกๆจกๅ—ๅŒ–่ฏญๆณ•ๆ˜ฏๆœฏ๏ผŒ้‚ฃไนˆ็†่งฃๅ…ถ่ƒŒๅŽ็š„่ฎพ่ฎกๅŽŸๅˆ™ๅฐฑๆ˜ฏ้“ใ€‚ๅ•ไธ€่Œ่ดฃๅŽŸๅˆ™ๅผบ่ฐƒๆจกๅ—ๅชๅบ”ๆœ‰ไธ€ไธช่ขซๆ”นๅ˜็š„ๅŽŸๅ› ๏ผŒ้ฟๅ… God Object ๅๆจกๅผใ€‚้ซ˜ๅ†…่šไฝŽ่€ฆๅˆๆ˜ฏ่กก้‡ๆจกๅ—่ดจ้‡็š„็ปˆๆžๆ ‡ๅ‡†โ€”โ€”ๆจกๅ—ๅ†…้ƒจๅ…ƒ็ด ่”็ณป็ดงๅฏ†๏ผŒๆจกๅ—ไน‹้—ดไพ่ต–ๅ…ณ็ณปๅฐฝๅฏ่ƒฝ็ฎ€ๅ•ใ€‚็ฒ’ๅบฆ่ฎพ่ฎก่ฆๆฑ‚ๅ•ไธชๆจกๅ—ไฟๆŒๅœจ 100-500 ่กŒไน‹้—ด๏ผŒๅŠŸ่ƒฝ่ƒฝ็”จไธ€ๅฅ่ฏๆธ…ๆ™ฐๆ่ฟฐ๏ผŒๅ‡บ็Žฐๅคšๅˆ†ๆ”ฏๅคๆ‚้€ป่พ‘ๆ—ถ้€šๅธธๆ˜ฏๆ‹†ๅˆ†ไฟกๅทใ€‚ๅ‘ฝๅ่ง„่Œƒ็ปŸไธ€ๅ›ข้˜ŸๆฒŸ้€š่ฏญๅขƒ๏ผˆkebab-case ๆ–‡ไปถๅใ€camelCase ๆ–นๆณ•ๅใ€PascalCase ็ฑปๅ๏ผ‰ใ€‚ๆจกๅ—็‰ˆๆœฌ็ฎก็†้ตๅพช SemVer ่ฏญไน‰ๅŒ–็‰ˆๆœฌ๏ผŒไธบๅ…ฌๅ…ฑๆจกๅ—็š„็ปดๆŠค่€…ไธŽไฝฟ็”จ่€…ๅปบ็ซ‹ๅฅ‘็บฆใ€‚ๅผบ่ฐƒๆธ…ๆ™ฐ็š„ๆจกๅ—่พน็•Œๆ˜ฏ AI ่พ…ๅŠฉ็ผ–็จ‹ๆ—ถไปฃ AI ๅ‡†็กฎ็†่งฃไปฃ็ ็š„ๅ‰ๆใ€‚\",\"tags\":[\"concept\",\"solid-principles\",\"code-organization\",\"best-practices\",\"naming-conventions\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ๆขณ็†ไธŽๆ€ป็ป“\",\"date\":\"2024-05-17 22:30:50\",\"capture\":\"1. ๅ•ไธ€่Œ่ดฃๅŽŸๅˆ™\\nๆ ธๅฟƒๆ€ๆƒณ๏ผšไธ€ไธชๆจกๅ—ๅบ”ๅฝ“ๆœ‰ไธ”ๅชๆœ‰ไธ€ไธช่ขซๆ”นๅ˜็š„ๅŽŸๅ› ใ€‚\\nๆจกๅ—ไธๅบ”ๆˆไธบๅŠŸ่ƒฝ็š„โ€œๆ‚่ดง้“บโ€ใ€‚ๅฝ“ไธ€ไธชๆจกๅ—ๆ‰ฟๆ‹…ไบ†ๅคชๅคšไธ็›ธๅ…ณ็š„ไธšๅŠก้€ป่พ‘ๆ—ถ๏ผŒๅฎƒ็š„ๅคๆ‚ๅบฆไผšๅ‘ˆๆŒ‡ๆ•ฐ็บงไธŠๅ‡๏ผŒไปปไฝ•ๅพฎๅฐ็š„ๆ”นๅŠจ้ƒฝๅฏ่ƒฝๅผ•ๅ‘ๆ„ๆƒณไธๅˆฐ็š„่ฟž้”ๅๅบ”ใ€‚\\nไปฃ็ ๆผ”็คบ๏ผš\\n```javascript\\n// โœ… ๆŽจ่๏ผš่Œ่ดฃๆ‹†ๅˆ†ๆ˜Ž็กฎ\\n// user-service.js - ไป…ๅค„็†็”จๆˆทๆ•ฐๆฎ็š„ CRUD\\nexport const getUser = async (id) => { /* ... */ };\\n// auth-provider.js - ไป…ๅค„็†้‰ดๆƒ็Šถๆ€ไธŽ้€ป่พ‘\\nexport const login = async (credenti\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"frontmatter\":{\"date\":\"2024-05-16 21:27:36\",\"title\":\"ไปŽ้€ป่พ‘้š”็ฆปๅˆฐ็ฑปๅž‹ๅฅ‘็บฆ๏ผšTypeScript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"tldr\":\"TypeScript ๅฐ†ๆจกๅ—ไพ่ต–ๆๅ‡ไธบ็ผ–่ฏ‘ๆ—ถ็ฑปๅž‹ๅฅ‘็บฆ๏ผŒไปŽ import type ๅˆฐๅฃฐๆ˜Žๆ–‡ไปถใ€‚\",\"description\":\"็ณป็ปŸ่ฎฒ่งฃ TypeScript ๅฏน ES Modules ็š„็ฑปๅž‹ๅขžๅผบ๏ผŒๆถต็›– import type ่ฟ่กŒๆ—ถไผ˜ๅŒ–ใ€ๆŽฅๅฃๅฅ‘็บฆใ€ๅฃฐๆ˜Žๆ–‡ไปถ .d.ts ๅŠ tsconfig ๆจกๅ—ๅŒ–้…็ฝฎใ€‚\",\"permalink\":\"/fullstack/typescript-module-programming-enhancement\",\"tags\":[\"concept\",\"ๅ…จๆ ˆ\",\"typescript\",\"tsconfig\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไปŽ้€ป่พ‘้š”็ฆปๅˆฐ็ฑปๅž‹ๅฅ‘็บฆ๏ผšTypeScript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"date\":\"2024-05-16 21:27:36\",\"capture\":\"1. ๅผ•่จ€\\nๅœจๅŽŸ็”Ÿ JavaScript ๆจกๅ—ๅŒ–่งฃๅ†ณไบ†ไปฃ็ ็ป„็ป‡้—ฎ้ข˜ๅŽ๏ผŒTypeScript๏ผˆTS๏ผ‰่ฟ›ไธ€ๆญฅๅฐ†ๅ…ถๆŽจๅ‘ไบ†ๅทฅไธš็บง้ซ˜ๅบฆใ€‚TS ไธไป…ไป…ๆ˜ฏไธบๆจกๅ—ๆทปๅŠ ไบ†็ฑปๅž‹ๆ ‡ๆณจ๏ผŒๅฎƒ้€š่ฟ‡็ฑปๅž‹ๅฏผๅ‡บๅฏผๅ…ฅใ€็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ใ€ไปฅๅŠๅฃฐๆ˜Žๆ–‡ไปถ็ณป็ปŸ๏ผŒๅฐ†ๆจกๅ—้—ด็š„ไพ่ต–ๅ…ณ็ณปไปŽ็ฎ€ๅ•็š„โ€œไปฃ็ ๅผ•็”จโ€ๆๅ‡ๅˆฐไบ†โ€œๅฅ‘็บฆไบคไบ’โ€ใ€‚\\nๆœฌๆ–‡ๆˆ‘ไปฌๅฐ†่š็„ฆไบŽ TypeScript ๅฆ‚ไฝ•้€š่ฟ‡็ฑปๅž‹็ณป็ปŸๅขžๅผบๆจกๅ—ๅŒ–็ผ–็จ‹๏ผŒๅนถๆŽข่ฎจๅœจ็Žฐไปฃๅทฅ็จ‹๏ผˆๅฐคๅ…ถๆ˜ฏ TS 5.0+ ๆ—ถไปฃ๏ผ‰ไธ‹็š„ๆœ€ไฝณ้…็ฝฎๅฎž่ทตใ€‚\\n 2. ็ฑปๅž‹ๅฏผๅ‡บไธŽๅฏผๅ…ฅ๏ผšๆž่‡ด็š„่ฟ่กŒๆ—ถไผ˜ๅŒ–\\nTypeScript ๅฏน ES Modules ่ฏญๆณ•ๆœ€ๆ˜พ่‘—็š„ๆ‰ฉๅฑ•ๆ˜ฏๆ”ฏๆŒโ€œไป…็ฑปๅž‹โ€๏ผˆType-only๏ผ‰็š„ๅฏผๅ‡บไธŽๅฏผๅ…ฅใ€‚่ฟ™ไธไป…ๆ˜ฏ่ฏญไน‰ไธŠ็š„ๆธ…ๆ™ฐ๏ผŒๆ›ดๆ˜ฏๆ€ง\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"frontmatter\":{\"date\":\"2024-05-14 22:29:32\",\"title\":\"ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒๆ‹ฅๆŠฑๅŽŸ็”Ÿ๏ผšES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"tldr\":\"ES Modules ๆ ธๅฟƒ่ฏญๆณ•ไธŽๆ‰ง่กŒๆจกๅž‹๏ผš้™ๆ€ๅˆ†ๆžๅฆ‚ไฝ•้‡ๅก‘ๅ‰็ซฏๆž„ๅปบๆ•ˆ็އใ€‚\",\"description\":\"ๆทฑๅบฆ่งฃๆž ES Modules ๅ‘ฝๅๅฏผๅ‡บ/ๅฏผๅ…ฅใ€้ป˜่ฎคๅฏผๅ‡บใ€ๅŠจๆ€ๅฏผๅ…ฅ็ญ‰่ฏญๆณ•๏ผŒไปฅๅŠๆจกๅ—ๆ‰ง่กŒ้กบๅบใ€ๅพช็Žฏไพ่ต–ๅค„็†ไธŽ็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ๆœบๅˆถใ€‚\",\"permalink\":\"/fullstack/decode-es-modules\",\"tags\":[\"concept\",\"ESM\",\"static-analysis\",\"Tree-Shaking\",\"circular-dependency\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒๆ‹ฅๆŠฑๅŽŸ็”Ÿ๏ผšES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"date\":\"2024-05-14 22:29:32\",\"capture\":\"> \\n> ็†่งฃ ESM๏ผŒไธไป…ไป…ๆ˜ฏๅญฆไผš import ๅ’Œ export๏ผŒๆ›ด้‡่ฆ็š„ๆ˜ฏ็†่งฃๅฎƒๅฆ‚ไฝ•้€š่ฟ‡็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ๅฝปๅบ•ๆ”นๅ˜ไบ†ๅ‰็ซฏๆž„ๅปบ็š„ๆ•ˆ็އใ€‚\\n 1. ๅ‘ฝๅๅฏผๅ‡บไธŽๅฏผๅ…ฅ๏ผš็ฒพๅ‡†็š„ไปฃ็ ๅผ•็”จ\\nๅ‘ฝๅๅฏผๅ‡บ๏ผˆNamed Exports๏ผ‰ๆ˜ฏ ESM ๆœ€ๅธธ็”จ็š„ๅฝขๅผ๏ผŒๅฎƒๅ…่ฎธไธ€ไธชๆจกๅ—ๆšด้œฒๅคšไธชๆˆๅ‘˜ใ€‚ๅ…ถๆ ธๅฟƒไผ˜ๅŠฟๅœจไบŽ๏ผšๅฏผๅ…ฅๆ–นๅฏไปฅๆŒ‰้œ€ๅผ•ๅ…ฅ๏ผŒไธ” IDE ่ƒฝๆไพ›็ฒพๅ‡†็š„่กฅๅ…จใ€‚\\n่ฏญๆณ•ๅฎž่ทต๏ผš๏ผš\\n```javascript\\n// math.js - ๅ‘ฝๅๅฏผๅ‡บ\\n// ่กŒๅ†…ๅฏผๅ‡บ\\nexport const PI = 3.14159;\\nexport function circleArea(radius) {\\n return PI * rad\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†\",\"frontmatter\":{\"date\":\"2024-05-14 22:26:06\",\"title\":\"JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\",\"tldr\":\"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ็ญ‰ๆ ธๅฟƒ่ง„่Œƒ๏ผŒ้™„็Žฐไปฃ่ฟ็งป็ญ–็•ฅใ€‚\",\"description\":\"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ๅ››ๅคงๆจกๅ—ๅŒ–่ง„่Œƒ็š„ๆ ธๅฟƒ่ฏญๆณ•ไธŽ้€‚็”จๅœบๆ™ฏ๏ผŒ่งฃๆžๅ„่ง„่Œƒ็š„ๅ…ณ้”ฎๅทฎๅผ‚๏ผŒๅนถๆไพ›ไปŽๆ—ง่ง„่Œƒๅ‘ ESM ่ฟ็งป็š„ๅฎžๆ“็ญ–็•ฅใ€‚\",\"permalink\":\"/fullstack/different-module-programming-specifications\",\"tags\":[\"tutorial\",\"CommonJS\",\"AMD\",\"UMD\",\"ESM\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\",\"date\":\"2024-05-14 22:26:06\",\"capture\":\"ๅœจ JavaScript ่ฟ›ๅŒ–ๅฒไธŠ๏ผŒโ€œๆจกๅ—ๅŒ–โ€ๅง‹็ปˆๆ˜ฏไธ€ไธชๆ ธๅฟƒๅ‘ฝ้ข˜ใ€‚ไปŽๆ—ฉๆœŸ script ๆ ‡็ญพๆปกๅคฉ้ฃž็š„โ€œๆททๆฒŒๆ—ถไปฃโ€๏ผŒๅˆฐๅ„่ทฏ่ง„่Œƒ็พค้›„้€้นฟ็š„โ€œๆˆ˜ๅ›ฝๆ—ถไปฃโ€๏ผŒๅ†ๅˆฐๅฆ‚ไปŠ ES Modules ๅฎšไบŽไธ€ๅฐŠ๏ผŒๅผ€ๅ‘่€…ไปฌๅœจ่งฃๅ†ณไพ่ต–็ฎก็†ใ€ไฝœ็”จๅŸŸๆฑกๆŸ“ๅ’Œๅผ‚ๆญฅๅŠ ่ฝฝ็ญ‰้—ฎ้ข˜ไธŠไป˜ๅ‡บไบ†ๅทจๅคง็š„ๅŠชๅŠ›ใ€‚\\nๆœฌๆ–‡ๅฐ†ๅธฆไฝ ๆขณ็† JavaScript ๅކๅฒไธŠๆœ€้‡่ฆ็š„ๅ‡ ็งๆจกๅ—ๅŒ–่ง„่Œƒ๏ผŒไพฟไบŽๆž„ๅปบ่ตทๅ…จๆ ˆๅผ€ๅ‘็š„ๅบ•ๅฑ‚็Ÿฅ่ฏ†ๅ›พ่ฐฑใ€‚\\n 1. CommonJS ่ง„่Œƒ๏ผšNode.js ็”Ÿๆ€็š„ๅŸบ็Ÿณ\\nCommonJS ๆ˜ฏไผด้š Node.js ่ฏž็”Ÿ็š„่ง„่Œƒ,็”ฑ Kevin Dangoor ๆๅ‡บ๏ผŒๅˆ่กทๆ˜ฏ่ฎฉ JavaScript ่„ฑ็ฆปๆต่งˆๅ™จไนŸ่ƒฝๆž„ๅปบๅคๆ‚็š„็ณป็ปŸๅบ”็”จใ€‚ๅฎƒๆ˜ฏ Node.\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€\",\"frontmatter\":{\"date\":\"2024-05-12 22:43:28\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ๏ผšๆฆ‚ๅฟตใ€ๆผ”่ฟ›ไธŽ่ฎพ่ฎกๆจกๅผ\",\"tldr\":\"ไปŽๅ…จๅฑ€ๅ˜้‡ๅˆฐ ES Modules๏ผšJavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›ไธŽๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผๅฎž่ทตใ€‚\",\"description\":\"็ณป็ปŸ่ฎฒ่งฃ JavaScript ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€๏ผŒๆถต็›– IIFEใ€CommonJSใ€ES Modules ่ง„่Œƒๆผ”่ฟ›๏ผŒไปฅๅŠๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผไธŽๆจกๅ—ๅŒ–็š„็ป“ๅˆใ€‚\",\"permalink\":\"/fullstack/frontend-module-programming-basic\",\"tags\":[\"tutorial\",\"javascript\",\"modularization\",\"esm\",\"design-patterns\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ๏ผšๆฆ‚ๅฟตใ€ๆผ”่ฟ›ไธŽ่ฎพ่ฎกๆจกๅผ\",\"date\":\"2024-05-12 22:43:28\",\"capture\":\"1. ๅผ•่จ€\\n้š็€้กน็›ฎ่ง„ๆจกๆ—ฅ็›Š่†จ่ƒ€๏ผŒไปฃ็ ้‡ไปŽๅ‡ ๅƒ่กŒ่ฟ…้€Ÿๅขž้•ฟๅˆฐๆ•ฐไธ‡็”š่‡ณๆ•ฐๅไธ‡่กŒ๏ผŒๅฐ†ๆ‰€ๆœ‰้€ป่พ‘ๅกž่ฟ›ๅฐ‘ๆ•ฐๅ‡ ไธชๆ–‡ไปถ็š„ๅšๆณ•ๆ—ฉๅทฒ้šพไปฅไธบ็ปงใ€‚ๅœจ่ฟ™ๆ ท็š„่ƒŒๆ™ฏไธ‹๏ผŒๆจกๅ—ๅŒ–็ผ–็จ‹ๅบ”่ฟ่€Œ็”Ÿ๏ผŒๆˆไธบ็Žฐไปฃๅ‰็ซฏๅผ€ๅ‘็š„ๆ ‡้…ใ€‚\\nๅฎƒ็š„ๆ ธๅฟƒ็†ๅฟต็ฎ€ๆด่€Œไผ˜้›…๏ผšๅƒๆญ็งฏๆœจไธ€ๆ ท๏ผŒๅฐ†ๅบžๅคงๅคๆ‚็š„็ณป็ปŸๆ‹†่งฃไธบไธ€ไธชไธช็‹ฌ็ซ‹ใ€ๅŠŸ่ƒฝๅ•ไธ€ไธ”ๅฏๅค็”จ็š„ๆจกๅ—๏ผŒ่ฎฉๆฏไธชๆจกๅ—ๅ„ๅธๅ…ถ่Œ๏ผŒๅ†้€š่ฟ‡ๆ ‡ๅ‡†ๆŽฅๅฃ็ตๆดป็ป„ๅˆใ€‚\\n 2. ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ\\nๅœจๆทฑๅ…ฅ็†่ฎบไน‹ๅ‰๏ผŒ่ฎฉๆˆ‘ไปฌๅ…ˆ้€š่ฟ‡ไธ€ไธช็ฎ€ๅ•็š„ JavaScript ็คบไพ‹๏ผŒ็›ด่ง‚ๅœฐๆ„Ÿๅ—ไธ€ไธ‹ไป€ไนˆๆ˜ฏๆจกๅ—ๅŒ–ใ€‚ๅ‡่ฎพๆˆ‘ไปฌ้œ€่ฆๅค„็†ไธ€ไบ›ๆ•ฐๅญฆ่ฟ็ฎ—๏ผŒๆˆ‘ไปฌๅฏไปฅๅฐ†ๅ…ถๅฐ่ฃ…ๆˆไธ€ไธช็‹ฌ็ซ‹็š„ๅทฅๅ…ทๆจกๅ—๏ผš\\n```javascript\\n// math.js - ๅฎšไน‰ไธ€ไธชๆ•ฐๅญฆๅทฅๅ…ทๆจกๅ—\\nexp\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2024-03-20 22:41:41\",\"title\":\"ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ๅœจ้œ€ๆฑ‚่พน็•Œๅ†…่ฟฝๆฑ‚ๆœ€ๅฐๅคๆ‚ๅบฆโ€”โ€”ไธๆ˜ฏๆ‹’็ปๅคๆ‚๏ผŒ่€Œๆ˜ฏไธไธปๅŠจๅˆถ้€ ๅคๆ‚ใ€‚\",\"description\":\"ๆทฑๅ…ฅ่งฃๆžๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™ๅœจ็ผ–็จ‹ไธŽ่ฎพ่ฎกไธญ็š„ๅ…ญๅคงๅœบๆ™ฏ๏ผšๆ‹’็ป่ฟ‡ๅบฆ้ข„ๅˆคใ€็งป้™คๅ†—ไฝ™้€ป่พ‘ใ€ๅŒน้…ๆžถๆž„่ง„ๆจกใ€ๅ…‹ๅˆถไพ่ต–ๅผ•ๅ…ฅใ€ๅฐ่ฃ…ๆœ€ๅฐๆŽฅๅฃใ€ๅ…ˆๆŽ’ๆŸฅ็ฎ€ๅ•ๅŽŸๅ› ๏ผŒๅนถ็ป™ๅ‡บไธ‰ไธชๅ…ณ้”ฎ่พน็•Œใ€‚\",\"permalink\":\"/fullstack/occams-razor-software-design\",\"tags\":[\"concept\",\"engineering-fundamentals\",\"code-design\",\"software-engineering\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2024-03-20 22:41:41\",\"capture\":\"<script setup\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n> ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™็”ฑ 14 ไธ–็บช้€ป่พ‘ๅญฆๅฎถๅจๅป‰ยทๅฅฅๅกๅง†ๆๅ‡บ๏ผŒๅ…ถๆ ธๅฟƒไธบ\\\"ๅฆ‚ๆ— ๅฟ…่ฆ๏ผŒๅ‹ฟๅขžๅฎžไฝ“\\\"โ€”โ€”ๅœจๅคšไธชๅŒ็ญ‰ๆœ‰ๆ•ˆ็š„ๆ–นๆกˆไธญ๏ผŒ้€‰ๆ‹ฉๅ‡่ฎพๆœ€ๅฐ‘ใ€ๆœ€็ฎ€ๆด็š„้‚ฃไธชใ€‚่ฏฅๅŽŸๅˆ™ๅนถ้žๅฆๅฎšๅคๆ‚ๆ€ง๏ผŒ่€Œๆ˜ฏ้ฟๅ…ๆ— ๆ„ไน‰็š„่ฟ‡ๅบฆ่ฎพ่ฎกใ€‚ๆ–‡็ซ ไปŽ็ผ–็จ‹ไธŽ่ฎพ่ฎกๅฎž่ทตๅ‡บๅ‘๏ผŒไพๆฌกๆŽข่ฎจไบ†้œ€ๆฑ‚ๅฎž็Žฐใ€ไปฃ็ ๅฎž็Žฐใ€ๆžถๆž„่ฎพ่ฎกใ€ไพ่ต–็ฎก็†ใ€ๆŽฅๅฃ่ฎพ่ฎกใ€่ฐƒ่ฏ•ไผ˜ๅŒ–ๅ…ญๅคงๅœบๆ™ฏ็š„ๅไพ‹ไธŽๆญฃไพ‹๏ผŒๅนถๆ˜Ž็กฎๆŒ‡ๅ‡บไธ‰ไธชๅ…ณ้”ฎ่พน็•Œ๏ผšไธๅฏ็‰บ็‰ฒๅฏ็ปดๆŠคๆ€งใ€ๅฏๆ‰ฉๅฑ•ๆ€งใ€ๅฎ‰ๅ…จๆ€งๆขๅ–็ฎ€ๆดใ€‚\\n 1.\"}],\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview\",\"frontmatter\":{\"date\":\"2024-05-18 22:49:57\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ไปŽ ES Modules ๅˆฐๅคงๅž‹้กน็›ฎๅˆ†ๅฑ‚ๆžถๆž„ไธŽๅทฅ็จ‹ๅŒ–ๅฎž่ทต๏ผŒๆž„ๅปบๅ…จๆ ˆๆจกๅ—ๅŒ–็Ÿฅ่ฏ†ไฝ“็ณปใ€‚\",\"description\":\"็ณป็ปŸๆขณ็† JavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›๏ผˆIIFEโ†’CJSโ†’ESM๏ผ‰ใ€TypeScript ็ฑปๅž‹ๅขžๅผบใ€ๅˆ†ๅฑ‚ๆžถๆž„ไธŽ DDD ๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/module-programming-practice-guide\",\"tags\":[\"tutorial\",\"ESM\",\"DDD\",\"ๅพฎๅ‰็ซฏ\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2024-05-18 22:49:57\",\"capture\":\"1. ๅผ•่จ€\\nๆจกๅ—ๅŒ–็ผ–็จ‹ๆ˜ฏ็Žฐไปฃ JavaScript/TypeScript ๅผ€ๅ‘็š„ๆ ธๅฟƒๅŽŸๅˆ™๏ผŒๅฎƒ้€š่ฟ‡ๅฐ†ๅคๆ‚็ณป็ปŸๆ‹†ๅˆ†ไธบ็‹ฌ็ซ‹ๅฏๅค็”จ็š„ๆจกๅ—๏ผŒ้™ไฝŽ็ณป็ปŸๅคๆ‚ๆ€งๅนถๆ้ซ˜ๅฏ็ปดๆŠคๆ€งไธŽๅฏๅค็”จๆ€งใ€‚ๅ› ๆญค๏ผŒๆˆ‘ไปฌ้€š่ฟ‡็ณปๅˆ—ๆ–‡็ซ ่ฏฆ็ป†ไป‹็ปไบ†ๆจกๅ—ๅŒ–็š„ๅŸบ็ก€ๆฆ‚ๅฟตใ€ๆผ”่ฟ›ๅކ็จ‹ใ€ไธๅŒ่ง„่Œƒ็š„ๆทฑๅบฆ่งฃๆžใ€TypeScriptๆจกๅ—ๅŒ–ๅขžๅผบใ€ES Modules ๆ ธๅฟƒ่ฏญๆณ•ไธŽๅฎž่ทตใ€ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทตใ€ๅ‰็ซฏๅทฅ็จ‹ๅŒ–ไธญ็š„ๆจกๅ—ๅŒ–ใ€Node.jsไธญ็š„ๆจกๅ—ๅŒ–ๅฎž่ทตใ€ๅคงๅž‹้กน็›ฎไธญ็š„ๆจกๅ—ๅŒ–่ฎพ่ฎกใ€ๆจกๅ—ๅŒ–ไธŽไปฃ็ ็ปดๆŠคไปฅๅŠๆœชๆฅๅ‘ๅฑ•่ถ‹ๅŠฟใ€‚\\nๅ‰้ข็š„็ณปๅˆ—ๆ–‡็ซ ไธป่ฆๆœ‰๏ผš\\n- ๆจกๅ—ๅŒ–็ผ–็จ‹็ผ–็จ‹ๅˆไฝ“้ชŒไธŽๅŸบ็ก€ไป‹็ป\\n- JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\\n- ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒ\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–\",\"frontmatter\":{\"date\":\"2024-05-17 23:33:09\",\"title\":\"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“\",\"tldr\":\"Node.js CJS ไธŽ ESM ๅŒๆจกๅ…ฑๅญ˜๏ผšๆจกๅ—ๅŠ ่ฝฝๆœบๅˆถไธŽๅˆ†ๅฑ‚ๆžถๆž„ๅฎž่ทตใ€‚\",\"description\":\"่งฃๆž Node.js ไธญ CommonJS ไธŽ ES Modules ็š„ๅŒๆจกๅ…ฑๅญ˜็ญ–็•ฅ๏ผŒๆถต็›–ๆจกๅ—ๅŠ ่ฝฝไผ˜ๅ…ˆ็บงใ€็ผ“ๅญ˜ๆœบๅˆถใ€package.json exports ๆกไปถๅฏผๅ‡บๅŠ Monorepo ๆžถๆž„ๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/nodejs-module-programming-summary\",\"abstract\":\"Node.js ๆจกๅ—ๅŒ–็ปๅކไบ†ไปŽ CommonJS ็‹ฌ้œธๅคฉไธ‹ๅˆฐ ES Modules ๅ…จ้ขๆŽฅๅ…ฅ็š„่Œƒๅผ่ฝฌ็งปใ€‚ๅ…ฑๅญ˜็ญ–็•ฅ้€š่ฟ‡ .mjs/.cjs ๅŽ็ผ€ๅ’Œ package.json type ๅญ—ๆฎตๆŽงๅˆถไธค็ง่ง„่Œƒ็š„่พน็•Œ๏ผ›ESM ๅฏ็›ดๆŽฅ import CJS๏ผˆ่‡ชๅŠจๅŒ…่ฃ…ไธบ้ป˜่ฎคๅฏผๅ‡บ๏ผ‰๏ผŒไฝ† CJS ๆ— ๆณ• require ESM ๅฟ…้กปไฝฟ็”จๅŠจๆ€ importใ€‚ๆจกๅ—ๅŠ ่ฝฝ้ตๅพชๆ ธๅฟƒๆจกๅ—ไผ˜ๅ…ˆใ€ๆ–‡ไปถๆจกๅ—ใ€็›ฎๅฝ•ๆจกๅ—๏ผˆindex.js/package.json๏ผ‰ใ€node_modules ้€็บงๆŸฅๆ‰พ็š„ไผ˜ๅ…ˆ็บง๏ผ›require.cache ๅฎž็Žฐๆจกๅ—็ผ“ๅญ˜๏ผŒๆธ…้™ค็ผ“ๅญ˜๏ผˆdelete require.cache[path]๏ผ‰ๆ˜ฏ็ƒญๆ›ดๆ–ฐๅทฅๅ…ท็š„ๆ ธๅฟƒๆ“ไฝœใ€‚package.json exports ๅญ—ๆฎตๆ”ฏๆŒๆกไปถๅฏผๅ‡บ๏ผˆimport/require ่ฟ”ๅ›žไธๅŒๅ…ฅๅฃ๏ผ‰ใ€‚pnpm workspaces ๅ‡ญๅ€Ÿ็กฌ้“พๆŽฅๆœบๅˆถๆˆไธบ็Žฐไปฃ Monorepo ้ฆ–้€‰ใ€‚ๅŽ็ซฏๅˆ†ๅฑ‚ๆžถๆž„๏ผˆAPI/Service/Repository๏ผ‰ๅฎž็Žฐๅ…ณๆณจ็‚นๅˆ†็ฆป๏ผŒๆขๆ•ฐๆฎๅบ“ๅช้œ€ๆ”น Repository ๅฑ‚ใ€‚\",\"tags\":[\"concept\",\"node.js\",\"commonjs\",\"esm\",\"monorepo\",\"layered-architecture\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“\",\"date\":\"2024-05-17 23:33:09\",\"capture\":\"ๅฆ‚ๆžœ่ฏดๆต่งˆๅ™จ็ซฏ็š„ๆจกๅ—ๅŒ–ๆ˜ฏไธบไบ†\\\"ๆŒ‰้œ€ๅŠ ่ฝฝ\\\"๏ผŒ้‚ฃไนˆ Node.js ็š„ๆจกๅ—ๅŒ–ๅˆ™ๆ˜ฏไธบไบ†\\\"ไปฃ็ ็ป„็ป‡\\\"ใ€‚ไฝœไธบๅฐ† JavaScript ๅธฆๅ…ฅๆœๅŠกๅ™จ็ซฏ็š„ๅ…ˆ้ฉฑ๏ผŒNode.js ็ปๅކไบ†ไปŽ CommonJS (CJS) ็‹ฌ้œธๅคฉไธ‹ๅˆฐ ES Modules (ESM) ๅ…จ้ขๆŽฅๅ…ฅ็š„่Œƒๅผ่ฝฌ็งปใ€‚\\nๅœจๆœๅŠกๅ™จ็ซฏ๏ผŒๆจกๅ—ๅŒ–ไธไป…ไป…ๆ˜ฏไธบไบ†ๆ‹†ๅˆ†ไปฃ็ ๏ผŒๆ›ดๆ˜ฏไธบไบ†ๆž„ๅปบๆธ…ๆ™ฐ็š„้กน็›ฎ็ป“ๆž„ใ€็ฎก็†ไพ่ต–ๅ…ณ็ณป๏ผŒไปฅๅŠๅฎž็Žฐไปฃ็ ็š„ๅค็”จไธŽ็ปดๆŠคใ€‚\\n 1. CommonJS ไธŽ ES Modules ๅŒๆจกๅ…ฑๅญ˜\\nๅœจ็Žฐไปฃ Node.js ๅผ€ๅ‘ไธญ๏ผŒๆˆ‘ไปฌ็ปๅธธ้ขไธดไธค็ง่ง„่Œƒไบค็ป‡็š„ๆƒ…ๅ†ตใ€‚่ฟ™ไธไป…ๆ˜ฏๆ–‡ไปถๅŽ็ผ€็š„ๆ”นๅ˜๏ผŒๆ›ดๆ˜ฏๅŒๆญฅไธŽๅผ‚ๆญฅๅŠ ่ฝฝ้€ป่พ‘็š„ๅšๅผˆใ€‚\\nๅ…ฑๅญ˜็ญ–็•ฅ๏ผš\\n1. ๅŽ็ผ€ๅ†ณๅฎš่ฎบ๏ผš`.mjs\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต\",\"frontmatter\":{\"date\":\"2024-05-17 22:30:50\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ๆขณ็†ไธŽๆ€ป็ป“\",\"tldr\":\"ๆŽŒๆก้ซ˜ๅ†…่šไฝŽ่€ฆๅˆๅŽŸๅˆ™๏ผšๆจกๅ—ๅŒ–็ผ–็จ‹็š„่ฎพ่ฎกๅ‡†ๅˆ™ไธŽ็ฒ’ๅบฆๆŽงๅˆถใ€‚\",\"description\":\"็ณป็ปŸๆขณ็†ๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅ…ญๅคงๆ ธๅฟƒๅŽŸๅˆ™๏ผšๅ•ไธ€่Œ่ดฃใ€้ซ˜ๅ†…่šไฝŽ่€ฆๅˆใ€็ฒ’ๅบฆ่ฎพ่ฎกใ€ๅ‘ฝๅ่ง„่ŒƒๅŠๆจกๅ—็‰ˆๆœฌ็ฎก็†๏ผŒ้™„่ฏฆ็ป†็š„ๅทฅ็จ‹ๅฎž่ทตๅปบ่ฎฎไธŽ้ฟๅ‘ๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/fullstack/module-programming-principles-best-practices\",\"abstract\":\"ๅฆ‚ๆžœ่ฏดๆŽŒๆกๆจกๅ—ๅŒ–่ฏญๆณ•ๆ˜ฏๆœฏ๏ผŒ้‚ฃไนˆ็†่งฃๅ…ถ่ƒŒๅŽ็š„่ฎพ่ฎกๅŽŸๅˆ™ๅฐฑๆ˜ฏ้“ใ€‚ๅ•ไธ€่Œ่ดฃๅŽŸๅˆ™ๅผบ่ฐƒๆจกๅ—ๅชๅบ”ๆœ‰ไธ€ไธช่ขซๆ”นๅ˜็š„ๅŽŸๅ› ๏ผŒ้ฟๅ… God Object ๅๆจกๅผใ€‚้ซ˜ๅ†…่šไฝŽ่€ฆๅˆๆ˜ฏ่กก้‡ๆจกๅ—่ดจ้‡็š„็ปˆๆžๆ ‡ๅ‡†โ€”โ€”ๆจกๅ—ๅ†…้ƒจๅ…ƒ็ด ่”็ณป็ดงๅฏ†๏ผŒๆจกๅ—ไน‹้—ดไพ่ต–ๅ…ณ็ณปๅฐฝๅฏ่ƒฝ็ฎ€ๅ•ใ€‚็ฒ’ๅบฆ่ฎพ่ฎก่ฆๆฑ‚ๅ•ไธชๆจกๅ—ไฟๆŒๅœจ 100-500 ่กŒไน‹้—ด๏ผŒๅŠŸ่ƒฝ่ƒฝ็”จไธ€ๅฅ่ฏๆธ…ๆ™ฐๆ่ฟฐ๏ผŒๅ‡บ็Žฐๅคšๅˆ†ๆ”ฏๅคๆ‚้€ป่พ‘ๆ—ถ้€šๅธธๆ˜ฏๆ‹†ๅˆ†ไฟกๅทใ€‚ๅ‘ฝๅ่ง„่Œƒ็ปŸไธ€ๅ›ข้˜ŸๆฒŸ้€š่ฏญๅขƒ๏ผˆkebab-case ๆ–‡ไปถๅใ€camelCase ๆ–นๆณ•ๅใ€PascalCase ็ฑปๅ๏ผ‰ใ€‚ๆจกๅ—็‰ˆๆœฌ็ฎก็†้ตๅพช SemVer ่ฏญไน‰ๅŒ–็‰ˆๆœฌ๏ผŒไธบๅ…ฌๅ…ฑๆจกๅ—็š„็ปดๆŠค่€…ไธŽไฝฟ็”จ่€…ๅปบ็ซ‹ๅฅ‘็บฆใ€‚ๅผบ่ฐƒๆธ…ๆ™ฐ็š„ๆจกๅ—่พน็•Œๆ˜ฏ AI ่พ…ๅŠฉ็ผ–็จ‹ๆ—ถไปฃ AI ๅ‡†็กฎ็†่งฃไปฃ็ ็š„ๅ‰ๆใ€‚\",\"tags\":[\"concept\",\"solid-principles\",\"code-organization\",\"best-practices\",\"naming-conventions\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ๆขณ็†ไธŽๆ€ป็ป“\",\"date\":\"2024-05-17 22:30:50\",\"capture\":\"1. ๅ•ไธ€่Œ่ดฃๅŽŸๅˆ™\\nๆ ธๅฟƒๆ€ๆƒณ๏ผšไธ€ไธชๆจกๅ—ๅบ”ๅฝ“ๆœ‰ไธ”ๅชๆœ‰ไธ€ไธช่ขซๆ”นๅ˜็š„ๅŽŸๅ› ใ€‚\\nๆจกๅ—ไธๅบ”ๆˆไธบๅŠŸ่ƒฝ็š„โ€œๆ‚่ดง้“บโ€ใ€‚ๅฝ“ไธ€ไธชๆจกๅ—ๆ‰ฟๆ‹…ไบ†ๅคชๅคšไธ็›ธๅ…ณ็š„ไธšๅŠก้€ป่พ‘ๆ—ถ๏ผŒๅฎƒ็š„ๅคๆ‚ๅบฆไผšๅ‘ˆๆŒ‡ๆ•ฐ็บงไธŠๅ‡๏ผŒไปปไฝ•ๅพฎๅฐ็š„ๆ”นๅŠจ้ƒฝๅฏ่ƒฝๅผ•ๅ‘ๆ„ๆƒณไธๅˆฐ็š„่ฟž้”ๅๅบ”ใ€‚\\nไปฃ็ ๆผ”็คบ๏ผš\\n```javascript\\n// โœ… ๆŽจ่๏ผš่Œ่ดฃๆ‹†ๅˆ†ๆ˜Ž็กฎ\\n// user-service.js - ไป…ๅค„็†็”จๆˆทๆ•ฐๆฎ็š„ CRUD\\nexport const getUser = async (id) => { /* ... */ };\\n// auth-provider.js - ไป…ๅค„็†้‰ดๆƒ็Šถๆ€ไธŽ้€ป่พ‘\\nexport const login = async (credenti\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"frontmatter\":{\"date\":\"2024-05-16 21:27:36\",\"title\":\"ไปŽ้€ป่พ‘้š”็ฆปๅˆฐ็ฑปๅž‹ๅฅ‘็บฆ๏ผšTypeScript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"tldr\":\"TypeScript ๅฐ†ๆจกๅ—ไพ่ต–ๆๅ‡ไธบ็ผ–่ฏ‘ๆ—ถ็ฑปๅž‹ๅฅ‘็บฆ๏ผŒไปŽ import type ๅˆฐๅฃฐๆ˜Žๆ–‡ไปถใ€‚\",\"description\":\"็ณป็ปŸ่ฎฒ่งฃ TypeScript ๅฏน ES Modules ็š„็ฑปๅž‹ๅขžๅผบ๏ผŒๆถต็›– import type ่ฟ่กŒๆ—ถไผ˜ๅŒ–ใ€ๆŽฅๅฃๅฅ‘็บฆใ€ๅฃฐๆ˜Žๆ–‡ไปถ .d.ts ๅŠ tsconfig ๆจกๅ—ๅŒ–้…็ฝฎใ€‚\",\"permalink\":\"/fullstack/typescript-module-programming-enhancement\",\"tags\":[\"concept\",\"ๅ…จๆ ˆ\",\"typescript\",\"tsconfig\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไปŽ้€ป่พ‘้š”็ฆปๅˆฐ็ฑปๅž‹ๅฅ‘็บฆ๏ผšTypeScript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"date\":\"2024-05-16 21:27:36\",\"capture\":\"1. ๅผ•่จ€\\nๅœจๅŽŸ็”Ÿ JavaScript ๆจกๅ—ๅŒ–่งฃๅ†ณไบ†ไปฃ็ ็ป„็ป‡้—ฎ้ข˜ๅŽ๏ผŒTypeScript๏ผˆTS๏ผ‰่ฟ›ไธ€ๆญฅๅฐ†ๅ…ถๆŽจๅ‘ไบ†ๅทฅไธš็บง้ซ˜ๅบฆใ€‚TS ไธไป…ไป…ๆ˜ฏไธบๆจกๅ—ๆทปๅŠ ไบ†็ฑปๅž‹ๆ ‡ๆณจ๏ผŒๅฎƒ้€š่ฟ‡็ฑปๅž‹ๅฏผๅ‡บๅฏผๅ…ฅใ€็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ใ€ไปฅๅŠๅฃฐๆ˜Žๆ–‡ไปถ็ณป็ปŸ๏ผŒๅฐ†ๆจกๅ—้—ด็š„ไพ่ต–ๅ…ณ็ณปไปŽ็ฎ€ๅ•็š„โ€œไปฃ็ ๅผ•็”จโ€ๆๅ‡ๅˆฐไบ†โ€œๅฅ‘็บฆไบคไบ’โ€ใ€‚\\nๆœฌๆ–‡ๆˆ‘ไปฌๅฐ†่š็„ฆไบŽ TypeScript ๅฆ‚ไฝ•้€š่ฟ‡็ฑปๅž‹็ณป็ปŸๅขžๅผบๆจกๅ—ๅŒ–็ผ–็จ‹๏ผŒๅนถๆŽข่ฎจๅœจ็Žฐไปฃๅทฅ็จ‹๏ผˆๅฐคๅ…ถๆ˜ฏ TS 5.0+ ๆ—ถไปฃ๏ผ‰ไธ‹็š„ๆœ€ไฝณ้…็ฝฎๅฎž่ทตใ€‚\\n 2. ็ฑปๅž‹ๅฏผๅ‡บไธŽๅฏผๅ…ฅ๏ผšๆž่‡ด็š„่ฟ่กŒๆ—ถไผ˜ๅŒ–\\nTypeScript ๅฏน ES Modules ่ฏญๆณ•ๆœ€ๆ˜พ่‘—็š„ๆ‰ฉๅฑ•ๆ˜ฏๆ”ฏๆŒโ€œไป…็ฑปๅž‹โ€๏ผˆType-only๏ผ‰็š„ๅฏผๅ‡บไธŽๅฏผๅ…ฅใ€‚่ฟ™ไธไป…ๆ˜ฏ่ฏญไน‰ไธŠ็š„ๆธ…ๆ™ฐ๏ผŒๆ›ดๆ˜ฏๆ€ง\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"frontmatter\":{\"date\":\"2024-05-14 22:29:32\",\"title\":\"ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒๆ‹ฅๆŠฑๅŽŸ็”Ÿ๏ผšES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"tldr\":\"ES Modules ๆ ธๅฟƒ่ฏญๆณ•ไธŽๆ‰ง่กŒๆจกๅž‹๏ผš้™ๆ€ๅˆ†ๆžๅฆ‚ไฝ•้‡ๅก‘ๅ‰็ซฏๆž„ๅปบๆ•ˆ็އใ€‚\",\"description\":\"ๆทฑๅบฆ่งฃๆž ES Modules ๅ‘ฝๅๅฏผๅ‡บ/ๅฏผๅ…ฅใ€้ป˜่ฎคๅฏผๅ‡บใ€ๅŠจๆ€ๅฏผๅ…ฅ็ญ‰่ฏญๆณ•๏ผŒไปฅๅŠๆจกๅ—ๆ‰ง่กŒ้กบๅบใ€ๅพช็Žฏไพ่ต–ๅค„็†ไธŽ็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ๆœบๅˆถใ€‚\",\"permalink\":\"/fullstack/decode-es-modules\",\"tags\":[\"concept\",\"ESM\",\"static-analysis\",\"Tree-Shaking\",\"circular-dependency\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒๆ‹ฅๆŠฑๅŽŸ็”Ÿ๏ผšES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"date\":\"2024-05-14 22:29:32\",\"capture\":\"> \\n> ็†่งฃ ESM๏ผŒไธไป…ไป…ๆ˜ฏๅญฆไผš import ๅ’Œ export๏ผŒๆ›ด้‡่ฆ็š„ๆ˜ฏ็†่งฃๅฎƒๅฆ‚ไฝ•้€š่ฟ‡็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ๅฝปๅบ•ๆ”นๅ˜ไบ†ๅ‰็ซฏๆž„ๅปบ็š„ๆ•ˆ็އใ€‚\\n 1. ๅ‘ฝๅๅฏผๅ‡บไธŽๅฏผๅ…ฅ๏ผš็ฒพๅ‡†็š„ไปฃ็ ๅผ•็”จ\\nๅ‘ฝๅๅฏผๅ‡บ๏ผˆNamed Exports๏ผ‰ๆ˜ฏ ESM ๆœ€ๅธธ็”จ็š„ๅฝขๅผ๏ผŒๅฎƒๅ…่ฎธไธ€ไธชๆจกๅ—ๆšด้œฒๅคšไธชๆˆๅ‘˜ใ€‚ๅ…ถๆ ธๅฟƒไผ˜ๅŠฟๅœจไบŽ๏ผšๅฏผๅ…ฅๆ–นๅฏไปฅๆŒ‰้œ€ๅผ•ๅ…ฅ๏ผŒไธ” IDE ่ƒฝๆไพ›็ฒพๅ‡†็š„่กฅๅ…จใ€‚\\n่ฏญๆณ•ๅฎž่ทต๏ผš๏ผš\\n```javascript\\n// math.js - ๅ‘ฝๅๅฏผๅ‡บ\\n// ่กŒๅ†…ๅฏผๅ‡บ\\nexport const PI = 3.14159;\\nexport function circleArea(radius) {\\n return PI * rad\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†\",\"frontmatter\":{\"date\":\"2024-05-14 22:26:06\",\"title\":\"JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\",\"tldr\":\"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ็ญ‰ๆ ธๅฟƒ่ง„่Œƒ๏ผŒ้™„็Žฐไปฃ่ฟ็งป็ญ–็•ฅใ€‚\",\"description\":\"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ๅ››ๅคงๆจกๅ—ๅŒ–่ง„่Œƒ็š„ๆ ธๅฟƒ่ฏญๆณ•ไธŽ้€‚็”จๅœบๆ™ฏ๏ผŒ่งฃๆžๅ„่ง„่Œƒ็š„ๅ…ณ้”ฎๅทฎๅผ‚๏ผŒๅนถๆไพ›ไปŽๆ—ง่ง„่Œƒๅ‘ ESM ่ฟ็งป็š„ๅฎžๆ“็ญ–็•ฅใ€‚\",\"permalink\":\"/fullstack/different-module-programming-specifications\",\"tags\":[\"tutorial\",\"CommonJS\",\"AMD\",\"UMD\",\"ESM\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\",\"date\":\"2024-05-14 22:26:06\",\"capture\":\"ๅœจ JavaScript ่ฟ›ๅŒ–ๅฒไธŠ๏ผŒโ€œๆจกๅ—ๅŒ–โ€ๅง‹็ปˆๆ˜ฏไธ€ไธชๆ ธๅฟƒๅ‘ฝ้ข˜ใ€‚ไปŽๆ—ฉๆœŸ script ๆ ‡็ญพๆปกๅคฉ้ฃž็š„โ€œๆททๆฒŒๆ—ถไปฃโ€๏ผŒๅˆฐๅ„่ทฏ่ง„่Œƒ็พค้›„้€้นฟ็š„โ€œๆˆ˜ๅ›ฝๆ—ถไปฃโ€๏ผŒๅ†ๅˆฐๅฆ‚ไปŠ ES Modules ๅฎšไบŽไธ€ๅฐŠ๏ผŒๅผ€ๅ‘่€…ไปฌๅœจ่งฃๅ†ณไพ่ต–็ฎก็†ใ€ไฝœ็”จๅŸŸๆฑกๆŸ“ๅ’Œๅผ‚ๆญฅๅŠ ่ฝฝ็ญ‰้—ฎ้ข˜ไธŠไป˜ๅ‡บไบ†ๅทจๅคง็š„ๅŠชๅŠ›ใ€‚\\nๆœฌๆ–‡ๅฐ†ๅธฆไฝ ๆขณ็† JavaScript ๅކๅฒไธŠๆœ€้‡่ฆ็š„ๅ‡ ็งๆจกๅ—ๅŒ–่ง„่Œƒ๏ผŒไพฟไบŽๆž„ๅปบ่ตทๅ…จๆ ˆๅผ€ๅ‘็š„ๅบ•ๅฑ‚็Ÿฅ่ฏ†ๅ›พ่ฐฑใ€‚\\n 1. CommonJS ่ง„่Œƒ๏ผšNode.js ็”Ÿๆ€็š„ๅŸบ็Ÿณ\\nCommonJS ๆ˜ฏไผด้š Node.js ่ฏž็”Ÿ็š„่ง„่Œƒ,็”ฑ Kevin Dangoor ๆๅ‡บ๏ผŒๅˆ่กทๆ˜ฏ่ฎฉ JavaScript ่„ฑ็ฆปๆต่งˆๅ™จไนŸ่ƒฝๆž„ๅปบๅคๆ‚็š„็ณป็ปŸๅบ”็”จใ€‚ๅฎƒๆ˜ฏ Node.\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€\",\"frontmatter\":{\"date\":\"2024-05-12 22:43:28\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ๏ผšๆฆ‚ๅฟตใ€ๆผ”่ฟ›ไธŽ่ฎพ่ฎกๆจกๅผ\",\"tldr\":\"ไปŽๅ…จๅฑ€ๅ˜้‡ๅˆฐ ES Modules๏ผšJavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›ไธŽๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผๅฎž่ทตใ€‚\",\"description\":\"็ณป็ปŸ่ฎฒ่งฃ JavaScript ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€๏ผŒๆถต็›– IIFEใ€CommonJSใ€ES Modules ่ง„่Œƒๆผ”่ฟ›๏ผŒไปฅๅŠๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผไธŽๆจกๅ—ๅŒ–็š„็ป“ๅˆใ€‚\",\"permalink\":\"/fullstack/frontend-module-programming-basic\",\"tags\":[\"tutorial\",\"javascript\",\"modularization\",\"esm\",\"design-patterns\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ๏ผšๆฆ‚ๅฟตใ€ๆผ”่ฟ›ไธŽ่ฎพ่ฎกๆจกๅผ\",\"date\":\"2024-05-12 22:43:28\",\"capture\":\"1. ๅผ•่จ€\\n้š็€้กน็›ฎ่ง„ๆจกๆ—ฅ็›Š่†จ่ƒ€๏ผŒไปฃ็ ้‡ไปŽๅ‡ ๅƒ่กŒ่ฟ…้€Ÿๅขž้•ฟๅˆฐๆ•ฐไธ‡็”š่‡ณๆ•ฐๅไธ‡่กŒ๏ผŒๅฐ†ๆ‰€ๆœ‰้€ป่พ‘ๅกž่ฟ›ๅฐ‘ๆ•ฐๅ‡ ไธชๆ–‡ไปถ็š„ๅšๆณ•ๆ—ฉๅทฒ้šพไปฅไธบ็ปงใ€‚ๅœจ่ฟ™ๆ ท็š„่ƒŒๆ™ฏไธ‹๏ผŒๆจกๅ—ๅŒ–็ผ–็จ‹ๅบ”่ฟ่€Œ็”Ÿ๏ผŒๆˆไธบ็Žฐไปฃๅ‰็ซฏๅผ€ๅ‘็š„ๆ ‡้…ใ€‚\\nๅฎƒ็š„ๆ ธๅฟƒ็†ๅฟต็ฎ€ๆด่€Œไผ˜้›…๏ผšๅƒๆญ็งฏๆœจไธ€ๆ ท๏ผŒๅฐ†ๅบžๅคงๅคๆ‚็š„็ณป็ปŸๆ‹†่งฃไธบไธ€ไธชไธช็‹ฌ็ซ‹ใ€ๅŠŸ่ƒฝๅ•ไธ€ไธ”ๅฏๅค็”จ็š„ๆจกๅ—๏ผŒ่ฎฉๆฏไธชๆจกๅ—ๅ„ๅธๅ…ถ่Œ๏ผŒๅ†้€š่ฟ‡ๆ ‡ๅ‡†ๆŽฅๅฃ็ตๆดป็ป„ๅˆใ€‚\\n 2. ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ\\nๅœจๆทฑๅ…ฅ็†่ฎบไน‹ๅ‰๏ผŒ่ฎฉๆˆ‘ไปฌๅ…ˆ้€š่ฟ‡ไธ€ไธช็ฎ€ๅ•็š„ JavaScript ็คบไพ‹๏ผŒ็›ด่ง‚ๅœฐๆ„Ÿๅ—ไธ€ไธ‹ไป€ไนˆๆ˜ฏๆจกๅ—ๅŒ–ใ€‚ๅ‡่ฎพๆˆ‘ไปฌ้œ€่ฆๅค„็†ไธ€ไบ›ๆ•ฐๅญฆ่ฟ็ฎ—๏ผŒๆˆ‘ไปฌๅฏไปฅๅฐ†ๅ…ถๅฐ่ฃ…ๆˆไธ€ไธช็‹ฌ็ซ‹็š„ๅทฅๅ…ทๆจกๅ—๏ผš\\n```javascript\\n// math.js - ๅฎšไน‰ไธ€ไธชๆ•ฐๅญฆๅทฅๅ…ทๆจกๅ—\\nexp\"}],\"growth\":[{\"url\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/01.ๅฅฝไนฆๆŽจ่\",\"relativePath\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/01.ๅฅฝไนฆๆŽจ่\",\"frontmatter\":{\"title\":\"ๅฅฝไนฆๆŽจ่\",\"date\":\"2024-01-01 16:00:00\",\"description\":\"่ฏปไนฆๅฟƒๅพ—ใ€ๆŽจ่ไนฆ็ฑๅ’Œ้˜…่ฏปๆŠ€ๅทง\",\"categories\":[\"growth\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/books_reading_bg.png\",\"permalink\":\"/growth/books\",\"tags\":[\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\",\"่ต„ๆบๆŽจ่\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฅฝไนฆๆŽจ่\",\"date\":\"2024-01-01 16:00:00\",\"capture\":\"<script setup\\n import BookRecommend from './@fragment/BookRecommend.vue'\\n import {aiBooks, productSenseBooks, businessBooks, efficiencyBooks, growthBooks, humanSocialBooks, healthBooks} from './@fragment/recommends-data.ts'\\n</script>\\n 1. AI ไธŽๆ•ฐๅญฆๆ€็ปด\\n> ๅœจๅคงๆจกๅž‹ๅ‘ๅฑ•ๆ—ฅๆ–ฐๆœˆๅผ‚็š„ไปŠๅคฉ๏ผŒ็†่งฃ AI ๆœฌ่ดจไธŠๆ˜ฏๅœจๅ‡็บงๆˆ‘ไปฌ่ต„ๆทฑ็š„โ€œ่ฎค็Ÿฅๆ“\"}]},\"tags\":{\"Agent SDK\":[{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/10.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Deep Research Agent\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/10.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Deep Research Agent\",\"frontmatter\":{\"date\":\"2026-04-02 00:38:37\",\"title\":\"ๅฃฐๆ˜Žๅผๅคšๆ™บ่ƒฝไฝ“ๅๅŒ๏ผšๅŸบไบŽ Claude Agent SDK ๆž„ๅปบๆทฑๅบฆ็ ”็ฉถ็ณป็ปŸ\",\"description\":\"ๅฏนๅคๆ‚็ ”็ฉถไปปๅŠกๆ—ถ๏ผŒๅ•ๆ™บ่ƒฝไฝ“๏ผˆSingle-Agent๏ผ‰ๅธธๅ› ไธŠไธ‹ๆ–‡็จ€้‡Šๅ’Œ้€ป่พ‘็–ฒๅŠณๅฏผ่‡ดไบงๅ‡บ่ดจ้‡ไธ‹้™ใ€‚ๆœฌๆ–‡ๅŸบไบŽ Claude Agent SDK ๆŽข่ฎจไบ†ๅคšๆ™บ่ƒฝไฝ“็ณป็ปŸ๏ผˆMAS๏ผ‰็š„ๅทฅ็จ‹ๅŒ–่ฝๅœฐใ€‚้€š่ฟ‡โ€œLead + Subagentโ€็š„ๅฃฐๆ˜Žๅผๆžถๆž„๏ผŒๆˆ‘ไปฌๅฐ†ๆทฑๅบฆ็ ”็ฉถๆ‹†่งฃไธบๆœ็ดขใ€้‡ๅŒ–ๅˆ†ๆžใ€ๅฏ่ง†ๅŒ–็ป˜ๅ›พไธŽ็ป“ๆž„ๅŒ–ๅ†™ไฝœๅ››ไธช็‹ฌ็ซ‹็Žฏ่Š‚ใ€‚\",\"permalink\":\"/ai-agent/deepresearch-agent\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"],\"tags\":[\"Agent SDK\",\"Multi-Agent\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฃฐๆ˜Žๅผๅคšๆ™บ่ƒฝไฝ“ๅๅŒ๏ผšๅŸบไบŽ Claude Agent SDK ๆž„ๅปบๆทฑๅบฆ็ ”็ฉถ็ณป็ปŸ\",\"date\":\"2026-04-02 00:38:37\",\"capture\":\"> ๅฎž่ทต่ฏๆ˜Ž๏ผŒ้€š่ฟ‡ไธฅๆ ผ็š„่Œ่ดฃ้š”็ฆป๏ผˆๅฆ‚ Lead Agent ไป…่ดŸ่ดฃ่ฐƒๅบฆ๏ผ‰ไธŽๅทฅ็จ‹่พน็•Œ็บฆๆŸ๏ผˆๅฆ‚ Researcher ๅผบๅˆถๆๅ–้‡ๅŒ–ๆŒ‡ๆ ‡๏ผ‰๏ผŒMAS ่ƒฝๅคŸ็”Ÿๆˆๅ…ทๅค‡ไธ“ไธšๆ•ฐๆฎๅ›พ่กจๆ”ฏๆ’‘็š„ๆทฑๅบฆๆŠฅๅ‘Šใ€‚ๆœฌๆ–‡ๅฐ†ไปŽๆžถๆž„่ฎพ่ฎกใ€ๅทฅไฝœๆต็ผ–ๆŽ’ๅˆฐ PDF ่‡ชๅŠจ็”Ÿๆˆ๏ผŒๅฎŒๆ•ด่ฟ˜ๅŽŸ่ฟ™ไธ€โ€œAI ้ฉฑๅŠจ่ฐƒ็ ”ๆตๆฐด็บฟโ€็š„ๆž„ๅปบ่ฟ‡็จ‹๏ผŒๅนถๅฑ•็คบๅ…ถๅœจๆ•™่‚ฒ็ ”็ฉถๆกˆไพ‹ไธญ็š„ๅฎžๆˆ˜ๆ•ˆๆžœใ€‚\\n 1. ๅผ•่จ€\\nๅœจ AI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐไธ€ๆ–‡ไธญ๏ผŒๆˆ‘ไปฌๆŽข่ฎจไบ†ๅคšๆ™บ่ƒฝไฝ“็ณป็ปŸ๏ผˆMulti-Agent Systems, MAS๏ผ‰็š„็†่ฎบไผ˜ๅŠฟใ€‚ไปŽ็†่ฎบๅฑ‚้ข็œ‹๏ผŒ่ฟ™็ฑป็ณป็ปŸ้€š่ฟ‡ไปปๅŠกๅˆ†่งฃใ€่Œ่ดฃ้š”็ฆปไธŽๅนถ่กŒๅไฝœๆœบๅˆถ๏ผŒๆœ‰ๆ•ˆ็ช็ ดไบ†ๅ•ๆ™บ่ƒฝไฝ“ๅœจๅคๆ‚ไปปๅŠกไธญ็š„่ƒฝๅŠ›็“ถ้ขˆโ€”โ€”ไธไป…ๆ˜พ่‘—ๆๅ‡ไบ†ไปปๅŠกๅค„็†็š„ๅคฉ่Šฑๆฟ\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/20.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Agent\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/20.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Agent\",\"frontmatter\":{\"date\":\"2026-03-06 00:37:58\",\"title\":\"ๅ‘Šๅˆซๆ‰‹ๅŠจ Loop๏ผšๅ€ŸๅŠฉ Claude Agent SDK ๅฎž็Žฐ Agent ็š„ๅทฅ็จ‹ๅŒ–้—ญ็Žฏ\",\"description\":\"ๅœจ Agent ๆŠ€ๆœฏๅฟซ้€Ÿ่ตฐๅ‘ๆˆ็†Ÿ็š„ไปŠๅคฉ๏ผŒๅฆ‚ไฝ•ไฝŽๆˆๆœฌๆž„ๅปบๅ…ทๅค‡โ€œ่‡ชไธปๆดžๅฏŸโ€่ƒฝๅŠ›็š„ๆ™บ่ƒฝไฝ“๏ผŸๆœฌๆ–‡ๆทฑๅบฆๆ‹†่งฃ Anthropic ๅฎ˜ๆ–นๆŽจๅ‡บ็š„ Claude Agent SDK๏ผŒ่งฃๆžๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆ‰˜็ฎก Agent Loop ๅ’Œไผš่ฏๆŒไน…ๅŒ–ๆœบๅˆถ๏ผŒ่งฃๅ†ณ Agent ๅผ€ๅ‘ไธญ็š„็Šถๆ€็ฎก็†้šพ้ข˜ใ€‚ๆ–‡็ซ ้€š่ฟ‡ไปŽๆ— ็Šถๆ€ไบคไบ’ๅˆฐๅ…ทๅค‡ๆตๅผ่พ“ๅ‡บ่ƒฝๅŠ›็š„ TUI ่‡ชๅŠจๅŒ–ๅทฅๅ…ท่ฟ›้˜ถๅฎžๆˆ˜๏ผŒๅฑ•็คบไบ†ๆž„ๅปบไฝŽๆˆๆœฌใ€้ซ˜ๅฏ็”จ AI ๅŽŸ็”Ÿๅบ”็”จ็š„ๅฎŒๆ•ด่ทฏๅพ„ใ€‚\",\"permalink\":\"/ai-practice/claude-agent-sdk-basic-build\",\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"],\"tags\":[\"Agent\",\"Agent SDK\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ‘Šๅˆซๆ‰‹ๅŠจ Loop๏ผšๅ€ŸๅŠฉ Claude Agent SDK ๅฎž็Žฐ Agent ็š„ๅทฅ็จ‹ๅŒ–้—ญ็Žฏ\",\"date\":\"2026-03-06 00:37:58\",\"capture\":\"1. ๅผ•่จ€\\nๅฝ“ๅ‰๏ผŒAI Agent ็š„ๆผ”่ฟ›ๅทฒ่ฟ›ๅ…ฅไธ€ไธชๅดญๆ–ฐ็š„้˜ถๆฎตโ€”โ€”ไปŽ้œ€่ฆ้ข‘็นไบบๅทฅๅนฒ้ข„็š„\\\"ๅŠ่‡ชๅŠจ\\\"ๆจกๅผ๏ผŒ่ฟ›ๅŒ–ไธบ่ƒฝๅคŸ่‡ชไธปๆดžๅฏŸ็Žฏๅขƒๅ˜ๅŒ–ใ€ๅŠจๆ€่ฐƒๆ•ดๆ‰ง่กŒ็ญ–็•ฅใ€ๅฎž็ŽฐไธšๅŠกๆต็จ‹่‡ช้€‚ๅบ”็ผ–ๆŽ’็š„ๆ™บ่ƒฝๅŒ–็ณป็ปŸใ€‚Claude Codeใ€Manusใ€OpenClaw ็ญ‰ไปฃ่กจๆ€งไบงๅ“ๅฑ‚ๅ‡บไธ็ฉท๏ผŒไนŸๆ ‡ๅฟ—็€ Agent ๆŠ€ๆœฏๆญฃๅœจๅฟซ้€Ÿ่ตฐๅ‘ๆˆ็†ŸไธŽๆ™ฎๅŠใ€‚\\n่ฟ‘ๆœŸ๏ผŒ็ฌ”่€…ๅœจไธบไธชไบบๅšๅฎขๅผ•ๅ…ฅๆ™บ่ƒฝๅŒ–่ฟ่ฅ่ƒฝๅŠ›๏ผˆๅฆ‚ๅ†…ๅฎน่‡ชๅŠจๆ กๅฏนใ€ๅฎก็จฟไธŽๅ‘ๅธƒ๏ผ‰๏ผŒๆทฑๅ…ฅ็ ”็ฉถไบ†ๅคšๆฌพ Agent ๅผ€ๅ‘ๆก†ๆžถ๏ผŒๅฆ‚ Claude Agent SDKใ€Langchainใ€LangGraph ็ญ‰ใ€‚ๅœจ็ป่ฟ‡ๅˆๆญฅ็š„็ ”็ฉถๅฏนๆฏ”ๅˆ†ๆžๅŽ๏ผŒClaude Agent SDK ๆˆไธบไบ†ไฝŽๆˆๆœฌๆž„ๅปบ้ซ˜ๅฏ็”จ Agent\"}],\"Multi-Agent\":[{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/10.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Deep Research Agent\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/10.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Deep Research Agent\",\"frontmatter\":{\"date\":\"2026-04-02 00:38:37\",\"title\":\"ๅฃฐๆ˜Žๅผๅคšๆ™บ่ƒฝไฝ“ๅๅŒ๏ผšๅŸบไบŽ Claude Agent SDK ๆž„ๅปบๆทฑๅบฆ็ ”็ฉถ็ณป็ปŸ\",\"description\":\"ๅฏนๅคๆ‚็ ”็ฉถไปปๅŠกๆ—ถ๏ผŒๅ•ๆ™บ่ƒฝไฝ“๏ผˆSingle-Agent๏ผ‰ๅธธๅ› ไธŠไธ‹ๆ–‡็จ€้‡Šๅ’Œ้€ป่พ‘็–ฒๅŠณๅฏผ่‡ดไบงๅ‡บ่ดจ้‡ไธ‹้™ใ€‚ๆœฌๆ–‡ๅŸบไบŽ Claude Agent SDK ๆŽข่ฎจไบ†ๅคšๆ™บ่ƒฝไฝ“็ณป็ปŸ๏ผˆMAS๏ผ‰็š„ๅทฅ็จ‹ๅŒ–่ฝๅœฐใ€‚้€š่ฟ‡โ€œLead + Subagentโ€็š„ๅฃฐๆ˜Žๅผๆžถๆž„๏ผŒๆˆ‘ไปฌๅฐ†ๆทฑๅบฆ็ ”็ฉถๆ‹†่งฃไธบๆœ็ดขใ€้‡ๅŒ–ๅˆ†ๆžใ€ๅฏ่ง†ๅŒ–็ป˜ๅ›พไธŽ็ป“ๆž„ๅŒ–ๅ†™ไฝœๅ››ไธช็‹ฌ็ซ‹็Žฏ่Š‚ใ€‚\",\"permalink\":\"/ai-agent/deepresearch-agent\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"],\"tags\":[\"Agent SDK\",\"Multi-Agent\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฃฐๆ˜Žๅผๅคšๆ™บ่ƒฝไฝ“ๅๅŒ๏ผšๅŸบไบŽ Claude Agent SDK ๆž„ๅปบๆทฑๅบฆ็ ”็ฉถ็ณป็ปŸ\",\"date\":\"2026-04-02 00:38:37\",\"capture\":\"> ๅฎž่ทต่ฏๆ˜Ž๏ผŒ้€š่ฟ‡ไธฅๆ ผ็š„่Œ่ดฃ้š”็ฆป๏ผˆๅฆ‚ Lead Agent ไป…่ดŸ่ดฃ่ฐƒๅบฆ๏ผ‰ไธŽๅทฅ็จ‹่พน็•Œ็บฆๆŸ๏ผˆๅฆ‚ Researcher ๅผบๅˆถๆๅ–้‡ๅŒ–ๆŒ‡ๆ ‡๏ผ‰๏ผŒMAS ่ƒฝๅคŸ็”Ÿๆˆๅ…ทๅค‡ไธ“ไธšๆ•ฐๆฎๅ›พ่กจๆ”ฏๆ’‘็š„ๆทฑๅบฆๆŠฅๅ‘Šใ€‚ๆœฌๆ–‡ๅฐ†ไปŽๆžถๆž„่ฎพ่ฎกใ€ๅทฅไฝœๆต็ผ–ๆŽ’ๅˆฐ PDF ่‡ชๅŠจ็”Ÿๆˆ๏ผŒๅฎŒๆ•ด่ฟ˜ๅŽŸ่ฟ™ไธ€โ€œAI ้ฉฑๅŠจ่ฐƒ็ ”ๆตๆฐด็บฟโ€็š„ๆž„ๅปบ่ฟ‡็จ‹๏ผŒๅนถๅฑ•็คบๅ…ถๅœจๆ•™่‚ฒ็ ”็ฉถๆกˆไพ‹ไธญ็š„ๅฎžๆˆ˜ๆ•ˆๆžœใ€‚\\n 1. ๅผ•่จ€\\nๅœจ AI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐไธ€ๆ–‡ไธญ๏ผŒๆˆ‘ไปฌๆŽข่ฎจไบ†ๅคšๆ™บ่ƒฝไฝ“็ณป็ปŸ๏ผˆMulti-Agent Systems, MAS๏ผ‰็š„็†่ฎบไผ˜ๅŠฟใ€‚ไปŽ็†่ฎบๅฑ‚้ข็œ‹๏ผŒ่ฟ™็ฑป็ณป็ปŸ้€š่ฟ‡ไปปๅŠกๅˆ†่งฃใ€่Œ่ดฃ้š”็ฆปไธŽๅนถ่กŒๅไฝœๆœบๅˆถ๏ผŒๆœ‰ๆ•ˆ็ช็ ดไบ†ๅ•ๆ™บ่ƒฝไฝ“ๅœจๅคๆ‚ไปปๅŠกไธญ็š„่ƒฝๅŠ›็“ถ้ขˆโ€”โ€”ไธไป…ๆ˜พ่‘—ๆๅ‡ไบ†ไปปๅŠกๅค„็†็š„ๅคฉ่Šฑๆฟ\"}],\"Agent Skills\":[{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/10.Agent SKills\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/10.Agent SKills\",\"frontmatter\":{\"date\":\"2026-03-05 23:11:25\",\"title\":\"ๅฆ‚ไฝ•็ผ–ๅ†™ไธ€ไธช้ซ˜ๅฏ็”จ็š„ Agent Skill๏ผŸไปŽๆœบๅˆถๆ‹†่งฃๅˆฐ็”Ÿไบงๅฎž่ทตๆŒ‡ๅ—\",\"description\":\"ๅคง่ฏญ่จ€ๆจกๅž‹ๅœจ็‰นๅฎšๅทฅ็จ‹้ข†ๅŸŸๅธธ้ขไธดโ€œ็Ÿฅ่€Œไธ่กŒโ€็š„ๅ›ฐๅขƒใ€‚ๆœฌๆ–‡ๆทฑๅบฆๆ‹†่งฃ Anthropic ๆœ€ๆ–ฐๆŽจๅ‡บ็š„ Agent Skills ่ง„่Œƒ๏ผŒๆญ็ง˜ๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆธ่ฟ›ๅผๆŠซ้œฒไธŽไธ‰็บงๅŠ ่ฝฝๆœบๅˆถ๏ผŒๅœจๆŽงๅˆถ Token ๆˆๆœฌ็š„ๅŒๆ—ถๆ˜พ่‘—ๆๅ‡ Agent ็š„ไปปๅŠกๆ‰ง่กŒ็ฒพๅบฆใ€‚ๆ–‡็ซ ๆถต็›–ไบ†ไปŽๆ–‡ไปถๅคนๆžถๆž„่ฎพ่ฎกๅˆฐๅฎžๆˆ˜ git-workflow ็ผ–ๅ†™็š„ๅ…จๆต็จ‹ๆŒ‡ๅ—๏ผŒๅŠฉไฝ ๅฐ†้›ถๆ•ฃ็š„ Prompt ่ฝฌๅŒ–ไธบๆ ‡ๅ‡†ๅŒ–็š„ๆ•ฐๅญ—่ต„ไบงใ€‚\",\"permalink\":\"/ai-agent/skills-practice-summary\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\",\"Agent ็ณปๅˆ—\"],\"tags\":[\"Agent Skills\",\"Agent\",\"AI\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฆ‚ไฝ•็ผ–ๅ†™ไธ€ไธช้ซ˜ๅฏ็”จ็š„ Agent Skill๏ผŸไปŽๆœบๅˆถๆ‹†่งฃๅˆฐ็”Ÿไบงๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-03-05 23:11:25\",\"capture\":\"1. ๅผ•่จ€๏ผšAgent Skills ๆ˜ฏไป€ไนˆ๏ผŸ\\nๅœจๅคง่ฏญ่จ€ๆจกๅž‹๏ผˆLLM๏ผ‰็š„่ฝๅœฐๅฎž่ทตไธญ๏ผŒๅผ€ๅ‘่€…็ปๅธธ้ขไธดไธ€ไธชๅ…ฑๆ€งๆŒ‘ๆˆ˜๏ผšๆจกๅž‹ๅœจ็‰นๅฎš็ป†ๅˆ†้ข†ๅŸŸๅพ€ๅพ€ๅค„ไบŽโ€œ็Ÿฅ่€Œไธ่กŒโ€็š„็Šถๆ€โ€”โ€”่™ฝ็„ถๆ‹ฅๆœ‰ๅšๆ‚็š„็Ÿฅ่ฏ†๏ผŒๅด็ผบไนๆ‰ง่กŒๅคๆ‚ไปปๅŠก็š„ไธ“ไธš่ทฏๅพ„ใ€‚\\nไธบไบ†่งฃๅ†ณ่ฟ™ไธ€็—›็‚น๏ผŒAnthropic ๅœจๅ…ถๆ——่ˆฐๆจกๅž‹ Claude 3.7 ็ณปๅˆ—ไธญๆญฃๅผๆŽจๅ‡บไบ† Claude Skillsใ€‚่ฟ™ไธ€ๅŠŸ่ƒฝๅฐ† LLM ็š„่ƒฝๅŠ›ๅฐ่ฃ…ไธบ็›ด่ง‚็š„โ€œ่ƒฝๅŠ›ๆ–‡ไปถๅคนโ€๏ผŒๆžๅคงๆๅ‡ไบ†ๆ™บ่ƒฝไฝ“็š„ๅฎž็”จๆ€ง๏ผŒๅนถ่ฟ…้€Ÿๅœจๅผ€ๅ‘่€…็คพๅŒบๅผ•ๅ‘็ƒญ่ฎฎใ€‚2025 ๅนด 12 ๆœˆ๏ผŒ้š็€ Anthropic ่”ๅˆ็”Ÿๆ€ไผ™ไผดๆญฃๅผๅผ€ๆบ Agent Skills ่ง„่Œƒ๏ผŒAgent Skills ็š„ๆ ‡ๅ‡†ๅŒ–ไนŸๆญฃๅผๅผ€ๅฏ๏ผˆ่€Œ่ฟ™ไธ€่ƒฝๅŠ›\"}],\"Agent\":[{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/10.Agent SKills\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/10.Agent SKills\",\"frontmatter\":{\"date\":\"2026-03-05 23:11:25\",\"title\":\"ๅฆ‚ไฝ•็ผ–ๅ†™ไธ€ไธช้ซ˜ๅฏ็”จ็š„ Agent Skill๏ผŸไปŽๆœบๅˆถๆ‹†่งฃๅˆฐ็”Ÿไบงๅฎž่ทตๆŒ‡ๅ—\",\"description\":\"ๅคง่ฏญ่จ€ๆจกๅž‹ๅœจ็‰นๅฎšๅทฅ็จ‹้ข†ๅŸŸๅธธ้ขไธดโ€œ็Ÿฅ่€Œไธ่กŒโ€็š„ๅ›ฐๅขƒใ€‚ๆœฌๆ–‡ๆทฑๅบฆๆ‹†่งฃ Anthropic ๆœ€ๆ–ฐๆŽจๅ‡บ็š„ Agent Skills ่ง„่Œƒ๏ผŒๆญ็ง˜ๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆธ่ฟ›ๅผๆŠซ้œฒไธŽไธ‰็บงๅŠ ่ฝฝๆœบๅˆถ๏ผŒๅœจๆŽงๅˆถ Token ๆˆๆœฌ็š„ๅŒๆ—ถๆ˜พ่‘—ๆๅ‡ Agent ็š„ไปปๅŠกๆ‰ง่กŒ็ฒพๅบฆใ€‚ๆ–‡็ซ ๆถต็›–ไบ†ไปŽๆ–‡ไปถๅคนๆžถๆž„่ฎพ่ฎกๅˆฐๅฎžๆˆ˜ git-workflow ็ผ–ๅ†™็š„ๅ…จๆต็จ‹ๆŒ‡ๅ—๏ผŒๅŠฉไฝ ๅฐ†้›ถๆ•ฃ็š„ Prompt ่ฝฌๅŒ–ไธบๆ ‡ๅ‡†ๅŒ–็š„ๆ•ฐๅญ—่ต„ไบงใ€‚\",\"permalink\":\"/ai-agent/skills-practice-summary\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\",\"Agent ็ณปๅˆ—\"],\"tags\":[\"Agent Skills\",\"Agent\",\"AI\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฆ‚ไฝ•็ผ–ๅ†™ไธ€ไธช้ซ˜ๅฏ็”จ็š„ Agent Skill๏ผŸไปŽๆœบๅˆถๆ‹†่งฃๅˆฐ็”Ÿไบงๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-03-05 23:11:25\",\"capture\":\"1. ๅผ•่จ€๏ผšAgent Skills ๆ˜ฏไป€ไนˆ๏ผŸ\\nๅœจๅคง่ฏญ่จ€ๆจกๅž‹๏ผˆLLM๏ผ‰็š„่ฝๅœฐๅฎž่ทตไธญ๏ผŒๅผ€ๅ‘่€…็ปๅธธ้ขไธดไธ€ไธชๅ…ฑๆ€งๆŒ‘ๆˆ˜๏ผšๆจกๅž‹ๅœจ็‰นๅฎš็ป†ๅˆ†้ข†ๅŸŸๅพ€ๅพ€ๅค„ไบŽโ€œ็Ÿฅ่€Œไธ่กŒโ€็š„็Šถๆ€โ€”โ€”่™ฝ็„ถๆ‹ฅๆœ‰ๅšๆ‚็š„็Ÿฅ่ฏ†๏ผŒๅด็ผบไนๆ‰ง่กŒๅคๆ‚ไปปๅŠก็š„ไธ“ไธš่ทฏๅพ„ใ€‚\\nไธบไบ†่งฃๅ†ณ่ฟ™ไธ€็—›็‚น๏ผŒAnthropic ๅœจๅ…ถๆ——่ˆฐๆจกๅž‹ Claude 3.7 ็ณปๅˆ—ไธญๆญฃๅผๆŽจๅ‡บไบ† Claude Skillsใ€‚่ฟ™ไธ€ๅŠŸ่ƒฝๅฐ† LLM ็š„่ƒฝๅŠ›ๅฐ่ฃ…ไธบ็›ด่ง‚็š„โ€œ่ƒฝๅŠ›ๆ–‡ไปถๅคนโ€๏ผŒๆžๅคงๆๅ‡ไบ†ๆ™บ่ƒฝไฝ“็š„ๅฎž็”จๆ€ง๏ผŒๅนถ่ฟ…้€Ÿๅœจๅผ€ๅ‘่€…็คพๅŒบๅผ•ๅ‘็ƒญ่ฎฎใ€‚2025 ๅนด 12 ๆœˆ๏ผŒ้š็€ Anthropic ่”ๅˆ็”Ÿๆ€ไผ™ไผดๆญฃๅผๅผ€ๆบ Agent Skills ่ง„่Œƒ๏ผŒAgent Skills ็š„ๆ ‡ๅ‡†ๅŒ–ไนŸๆญฃๅผๅผ€ๅฏ๏ผˆ่€Œ่ฟ™ไธ€่ƒฝๅŠ›\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/03.ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผšๅฐ†้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/03.ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผšๅฐ†้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"frontmatter\":{\"date\":\"2026-02-06 15:48:23\",\"title\":\"ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผš้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผš้ขๅฏนๅฑ‚ๅ‡บไธ็ฉท็š„ Promptใ€MCPใ€Skills ๅ’Œ Subagents๏ผŒๅพˆๅคšๅผ€ๅ‘่€…ๅ’Œไบงๅ“็ป็†ๅธธๆ„Ÿๅˆฐๅ›ฐๆƒ‘๏ผš่ฟ™ไบ›็ป„ไปถ็ฉถ็ซŸๆ˜ฏ้‡ๅค้€ ่ฝฎๅญ๏ผŒ่ฟ˜ๆ˜ฏๅ„ๅธๅ…ถ่Œ็š„็งฏๆœจ๏ผŸๆœฌๆ–‡ๅฐ†ๆทฑๅบฆๆ‹†่งฃ Agentic ็”Ÿๆ€็š„ไบ”ๅคงๆ ธๅฟƒๆ”ฏๆŸฑ๏ผŒๆญ็คบๅฆ‚ไฝ•้€š่ฟ‡ไผ˜้›…็š„ๆžถๆž„่ฎพ่ฎกๅฎž็ŽฐๅๅŒ้—ญ็Žฏ๏ผŒๅฐ†้›ถๆ•ฃ็š„ AI ็ป„ไปถๆ‹ผ่ฃ…ๆˆไธ€ๅฅ—ๅฏๆŒ็ปญ่ฟ›ๅŒ–็š„ AI ๅŽŸ็”Ÿๆ“ไฝœ็ณป็ปŸ๏ผŒๆŠŠ็ขŽ็‰‡ๅŒ–็š„ AI ่ƒฝๅŠ›่ฝฌๅŒ–ไธบ้ซ˜ๅฏ็”จ็š„็”ŸไบงๅŠ›ๆตใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/ai-practice/agent_components_zh.png\",\"permalink\":\"/ai-agent/composition-ai-components\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"],\"tags\":[\"Agent\",\"AI\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผš้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"date\":\"2026-02-06 15:48:23\",\"capture\":\"<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/ai-practice/agent_components_zh.png\\\" style=\\\"width: 100%; border-radius: 8px; margin-bottom: 20px;\\\" alt=\\\"about site background\\\">\\n 1. ๅผ•่จ€\\n> ้—ฎ้ข˜๏ผšๅœจๆ™บ่ƒฝไฝ“็”Ÿๆ€้‡Œ๏ผŒๅ„ไธช็ป„ไปถๅˆฐๅบ•ๆ˜ฏๆ€ŽไนˆๅๅŒๅทฅไฝœ็š„๏ผŸ\\nๅฝ“ๅ‰๏ผŒAgent๏ผˆๆ™บ่ƒฝไฝ“๏ผ‰ๆŠ€ๆœฏๅ‘ๅฑ•่ฟ…็Œ›๏ผŒๅ„็ง่ฎพ่ฎกๆจกๅผใ€ๆ ธๅฟƒ็ป„ไปถไธŽๅทฅไฝœๆœบๅˆถๅฑ‚ๅ‡บไธ็ฉทใ€‚้ขๅฏน็นๆ‚็š„ๆ™บ่ƒฝไฝ“็”Ÿๆ€\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/20.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Agent\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/20.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Agent\",\"frontmatter\":{\"date\":\"2026-03-06 00:37:58\",\"title\":\"ๅ‘Šๅˆซๆ‰‹ๅŠจ Loop๏ผšๅ€ŸๅŠฉ Claude Agent SDK ๅฎž็Žฐ Agent ็š„ๅทฅ็จ‹ๅŒ–้—ญ็Žฏ\",\"description\":\"ๅœจ Agent ๆŠ€ๆœฏๅฟซ้€Ÿ่ตฐๅ‘ๆˆ็†Ÿ็š„ไปŠๅคฉ๏ผŒๅฆ‚ไฝ•ไฝŽๆˆๆœฌๆž„ๅปบๅ…ทๅค‡โ€œ่‡ชไธปๆดžๅฏŸโ€่ƒฝๅŠ›็š„ๆ™บ่ƒฝไฝ“๏ผŸๆœฌๆ–‡ๆทฑๅบฆๆ‹†่งฃ Anthropic ๅฎ˜ๆ–นๆŽจๅ‡บ็š„ Claude Agent SDK๏ผŒ่งฃๆžๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆ‰˜็ฎก Agent Loop ๅ’Œไผš่ฏๆŒไน…ๅŒ–ๆœบๅˆถ๏ผŒ่งฃๅ†ณ Agent ๅผ€ๅ‘ไธญ็š„็Šถๆ€็ฎก็†้šพ้ข˜ใ€‚ๆ–‡็ซ ้€š่ฟ‡ไปŽๆ— ็Šถๆ€ไบคไบ’ๅˆฐๅ…ทๅค‡ๆตๅผ่พ“ๅ‡บ่ƒฝๅŠ›็š„ TUI ่‡ชๅŠจๅŒ–ๅทฅๅ…ท่ฟ›้˜ถๅฎžๆˆ˜๏ผŒๅฑ•็คบไบ†ๆž„ๅปบไฝŽๆˆๆœฌใ€้ซ˜ๅฏ็”จ AI ๅŽŸ็”Ÿๅบ”็”จ็š„ๅฎŒๆ•ด่ทฏๅพ„ใ€‚\",\"permalink\":\"/ai-practice/claude-agent-sdk-basic-build\",\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"],\"tags\":[\"Agent\",\"Agent SDK\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ‘Šๅˆซๆ‰‹ๅŠจ Loop๏ผšๅ€ŸๅŠฉ Claude Agent SDK ๅฎž็Žฐ Agent ็š„ๅทฅ็จ‹ๅŒ–้—ญ็Žฏ\",\"date\":\"2026-03-06 00:37:58\",\"capture\":\"1. ๅผ•่จ€\\nๅฝ“ๅ‰๏ผŒAI Agent ็š„ๆผ”่ฟ›ๅทฒ่ฟ›ๅ…ฅไธ€ไธชๅดญๆ–ฐ็š„้˜ถๆฎตโ€”โ€”ไปŽ้œ€่ฆ้ข‘็นไบบๅทฅๅนฒ้ข„็š„\\\"ๅŠ่‡ชๅŠจ\\\"ๆจกๅผ๏ผŒ่ฟ›ๅŒ–ไธบ่ƒฝๅคŸ่‡ชไธปๆดžๅฏŸ็Žฏๅขƒๅ˜ๅŒ–ใ€ๅŠจๆ€่ฐƒๆ•ดๆ‰ง่กŒ็ญ–็•ฅใ€ๅฎž็ŽฐไธšๅŠกๆต็จ‹่‡ช้€‚ๅบ”็ผ–ๆŽ’็š„ๆ™บ่ƒฝๅŒ–็ณป็ปŸใ€‚Claude Codeใ€Manusใ€OpenClaw ็ญ‰ไปฃ่กจๆ€งไบงๅ“ๅฑ‚ๅ‡บไธ็ฉท๏ผŒไนŸๆ ‡ๅฟ—็€ Agent ๆŠ€ๆœฏๆญฃๅœจๅฟซ้€Ÿ่ตฐๅ‘ๆˆ็†ŸไธŽๆ™ฎๅŠใ€‚\\n่ฟ‘ๆœŸ๏ผŒ็ฌ”่€…ๅœจไธบไธชไบบๅšๅฎขๅผ•ๅ…ฅๆ™บ่ƒฝๅŒ–่ฟ่ฅ่ƒฝๅŠ›๏ผˆๅฆ‚ๅ†…ๅฎน่‡ชๅŠจๆ กๅฏนใ€ๅฎก็จฟไธŽๅ‘ๅธƒ๏ผ‰๏ผŒๆทฑๅ…ฅ็ ”็ฉถไบ†ๅคšๆฌพ Agent ๅผ€ๅ‘ๆก†ๆžถ๏ผŒๅฆ‚ Claude Agent SDKใ€Langchainใ€LangGraph ็ญ‰ใ€‚ๅœจ็ป่ฟ‡ๅˆๆญฅ็š„็ ”็ฉถๅฏนๆฏ”ๅˆ†ๆžๅŽ๏ผŒClaude Agent SDK ๆˆไธบไบ†ไฝŽๆˆๆœฌๆž„ๅปบ้ซ˜ๅฏ็”จ Agent\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/01.Agentๆฆ‚่งˆไธŽ็ปผ่ฟฐ\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/01.Agentๆฆ‚่งˆไธŽ็ปผ่ฟฐ\",\"frontmatter\":{\"date\":\"2026-02-12 22:31:00\",\"title\":\"ไปŽๆ็คบ่ฏๅˆฐๆ•ฐๅญ—ๅ‘˜ๅทฅ๏ผšAI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšAI ็š„่ฟ›ๅŒ–ๆญฃ็ปๅކไปŽโ€œๅฏน่ฏๆก†โ€ๅ‘โ€œๆ•ฐๅญ—ๅ‘˜ๅทฅโ€็š„ๆ นๆœฌๆ€ง่ทจ่ถŠใ€‚ๆœฌๆ–‡ๆ˜ฏไธ€็ฏ‡ๅ…ณไบŽ AI Agent ็š„ๅ…จๆ™ฏๆทฑๅบฆ็ปผ่ฟฐ๏ผŒๆ—จๅœจ่งฃๆž„ๆ™บ่ƒฝไฝ“ๅฆ‚ไฝ•ไปŽ็ฎ€ๅ•็š„ Prompt ๅ“ๅบ”่€…๏ผŒๆผ”ๅ˜ไธบๅ…ทๅค‡่‡ชไธป็›ฎๆ ‡ๆ‹†่งฃใ€้•ฟ็ŸญๆœŸ่ฎฐๅฟ†ไธŽๅคๆ‚็Žฏๅขƒไบคไบ’่ƒฝๅŠ›็š„โ€œๆ‰ง่กŒ่€…โ€ใ€‚ๆˆ‘ไปฌๅฐ†ๆทฑๅบฆๆ‹†่งฃ Agent ็š„ๅ››ๅคงๆŠ€ๆœฏๅŸบ็Ÿณ๏ผˆ่ง„ๅˆ’ใ€่ฎฐๅฟ†ใ€ๅทฅๅ…ทใ€่กŒๅŠจ๏ผ‰๏ผŒๅนถ่ฏฆ็ป†ๅ‰–ๆžไปŽ้€š็”จๅž‹ Agent ๅˆฐๅคšๆ™บ่ƒฝไฝ“ๅไฝœ๏ผˆMAS๏ผ‰ใ€ๅ†ๅˆฐ่ฟˆๅ‘ Agent OS ๆ—ถไปฃ็š„ OpenClaw ็ญ‰ไบ”ๅคงๆผ”่ฟ›ๅฝขๆ€ใ€‚ไธไป…ๆŽข่ฎจไบ†ๆŠ€ๆœฏๆžถๆž„็š„ๅฎž็Žฐ๏ผŒๆ›ดๆญ็คบไบ†่ฝฏไปถๅทฅ็จ‹ไปŽโ€œไปฅไบบไธบไธญๅฟƒโ€ๅ‘โ€œไปฅ AI ไธบไธญๅฟƒโ€็š„่Œƒๅผ้ฉๅ‘ฝโ€”โ€”ๅœจ Agent ้ฉฑๅŠจ็š„ๆ–ฐ็บชๅ…ƒ๏ผŒๆ ธๅฟƒ็ซžไบ‰ๅŠ›ๅฐ†ไธๅ†ๆ˜ฏไปฃ็ ้‡๏ผŒ่€Œๆ˜ฏ่ฐƒๅบฆ AI ้—ญ็Žฏ่งฃๅ†ณไธšๅŠก้—ฎ้ข˜็š„่ƒฝๅŠ›ใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/llm_learning_bg_1.png\",\"permalink\":\"/ai-agent/overview\",\"top\":true,\"categories\":[\"ai-practice\"],\"tags\":[\"AI Agent\",\"Agent\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไปŽๆ็คบ่ฏๅˆฐๆ•ฐๅญ—ๅ‘˜ๅทฅ๏ผšAI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐ\",\"date\":\"2026-02-12 22:31:00\",\"capture\":\"1. ไป€ไนˆๆ˜ฏ Agent๏ผŸโ€”โ€”ไปŽโ€œๅทฅๅ…ทโ€ๅˆฐโ€œๅฎžไฝ“โ€็š„่ฟ›ๅŒ–\\n> ๆ ธๅฟƒ้€ป่พ‘๏ผš็Žฐไปฃ Agent ็š„ๆœฌ่ดจๆ˜ฏ \\\"LLM (ๅคง่„‘) + ่ง„ๅˆ’ไธŽ่ฎฐๅฟ† (ๅฐ่„‘) + ๅทฅๅ…ท่ฐƒ็”จ (ๆ‰‹่„š)\\\"ใ€‚LLM ็š„ๆตท้‡็Ÿฅ่ฏ†ๅ‚จๅค‡่ฎฉ Agent ่ƒฝๅคŸ็ฒพๅ‡†็†่งฃๅคๆ‚ๆŒ‡ไปค๏ผŒๅนถๅฐ†ๅ…ถ่ฝฌๅŒ–ไธบๅฎž้™…่กŒๅŠจใ€‚\\nๅœจ AI ้ข†ๅŸŸ๏ผŒAgent๏ผˆๆ™บ่ƒฝไฝ“๏ผ‰ ๅนถ้žไธ€ไธชๆ–ฐๆฆ‚ๅฟต๏ผŒไฝ† LLM๏ผˆๅคง่ฏญ่จ€ๆจกๅž‹๏ผ‰็š„็ˆ†ๅ‘่ต‹ไบˆไบ†ๅฎƒ็œŸๆญฃ็š„โ€œ็ต้ญ‚โ€ใ€‚็ฎ€ๅ•ๆฅ่ฏด๏ผŒAgent ๆ˜ฏไธ€็ง่ƒฝๅคŸๆ„Ÿ็Ÿฅ็Žฏๅขƒใ€่‡ชไธปๅ†ณ็ญ–ๅนถๆ‰ง่กŒไปปๅŠก็š„ๆ™บ่ƒฝๅฎžไฝ“ใ€‚\\nๅฆ‚ๆžœ่ฏดไผ ็ปŸ็š„ AI ๆ˜ฏไธ€ไธชโ€œ้—ฎ็ญ”ๆœบโ€๏ผŒ้‚ฃไนˆ Agent ๅฐฑๆ˜ฏไธ€ไธชโ€œๆ‰ง่กŒ่€…โ€ใ€‚ๅฎƒๅ…ทๅค‡ไปฅไธ‹ๅ››ๅคงๆ ธๅฟƒ็‰น่ดจ๏ผš\\n* ่‡ชไธปๆ€ง (Autonomy)๏ผš ๆ— ้กปๆ—ถๅˆป็›ฏ็€๏ผŒ่ฎพๅฎš\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/60.ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/60.ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹\",\"frontmatter\":{\"date\":\"2024-06-14 22:00:00\",\"title\":\"ไธ€ๆฌก็”ฑ Product Sense ้ฉฑๅŠจ็š„ Agent ๆž้™ๅฎž่ทต\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšAI ๆ—ถไปฃ๏ผŒๅ†™ๅฅฝไปฃ็ ๅชๆ˜ฏๅŠๆ ผ็บฟใ€‚ๅœจไธ€ๆฌกๆž้™ๆŒ‘ๆˆ˜่ต›ไธญ๏ผŒๆˆ‘ไปฌ้€š่ฟ‡ๅฏน K12 ่ต›้“็”จๆˆท็—›็‚น็š„็ฒพๅ‡†โ€œ่ง†่ง’ๅˆ‡ๆขโ€๏ผŒๆ‰“้€ ๅ‡บไธ€ๆฌพๆŽˆไบบไปฅๆธ”็š„โ€œๆ•ฐๅญฆ่พ…ๅฏผๅฏผๅธˆโ€ๅนถๆ–ฉ่Žทๅคงๅฅ–ใ€‚ๆœฌๆ–‡ๅค็›˜ไบ† Agent ๆญๅปบ่ƒŒๅŽ็š„ๆ ธๅฟƒ SOP ่ฎพ่ฎก้€ป่พ‘๏ผšๆŠ€ๆœฏ็ปˆ็ฉถ่ฆๅ›žๅฝ’ๅฏน็œŸๅฎžไบบๆ€ง็š„ไฝ“ๅฏŸไธŽๅ…ณๆ€€ใ€‚\",\"coverImg\":\"/img/cover/llm_learning_bg_2.png\",\"permalink\":\"/ai-practice/math-bot\",\"categories\":[\"ai-practice\"],\"tags\":[\"Agent\",\"ไบงๅ“ Sense\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไธ€ๆฌก็”ฑ Product Sense ้ฉฑๅŠจ็š„ Agent ๆž้™ๅฎž่ทต\",\"date\":\"2024-06-14 22:00:00\",\"capture\":\"ๅœจๅˆšๅˆš่ฟ‡ๅŽป็š„ๅ‘จๆœซ๏ผŒๆˆ‘ๅ’Œๅฅฝๅ‹ๅ‚ๅŠ ไบ†ไธ€ๅœบ็”ฑๅƒๅธ† Agent ไธพๅŠž็š„็บฟไธ‹็คพๅŒบๆดปๅŠจใ€‚่ฟ™ๆ˜ฏไธ€ๅœบๅ……ๆปกๆžๅฎข็ฒพ็ฅž็š„โ€œๆž้™ๆŒ‘ๆˆ˜โ€โ€”โ€”ๆˆ‘ไปฌ้œ€่ฆๅœจๆžๅ…ถๆœ‰้™็š„ๆ—ถ้—ดๅ†…๏ผŒไปŽ้›ถๅผ€ๅง‹ๆž„ๆ€ใ€ๆญๅปบๅนถ็Žฐๅœบๅฑ•็คบไธ€ไธชๅฎŒๆ•ด็š„ Agent ๅบ”็”จใ€‚\\nไปคไบบๆƒŠๅ–œ็š„ๆ˜ฏ๏ผŒๆˆ‘ไปฌไธไป…้กบๅˆฉๅฎŒๆˆไบ†ๆž้™ๅผ€ๅ‘๏ผŒๆœ€็ปˆ่ฟ˜ๆ–ฉ่Žทไบ†ๅ…จๅœบ็š„ใ€Œๆœ€ไฝณๅบ”็”จๅฅ–ใ€ใ€‚\\nๅค็›˜่ฟ™ๆฌก็Ÿญๆš‚ๅด้ซ˜ๅฏ†ๅบฆ็š„ๅผ€ๅ‘ไฝ“้ชŒ๏ผŒๆœ€ๅคง็š„ๆ„Ÿ่งฆๆ˜ฏ๏ผšๅœจ AI ๆ—ถไปฃ๏ผŒๅ•็บฏ็š„ๅทฅ็จ‹ๅฎž็Žฐๅทฒ็ปไธๅ†ๆ˜ฏๅ”ฏไธ€็š„ๅฃๅž’๏ผŒ็œŸๆญฃ่ฎฉๅบ”็”จ่„ฑ้ข–่€Œๅ‡บ็š„๏ผŒๆ˜ฏๅฏน็œŸๅฎžไธšๅŠกๅœบๆ™ฏ็š„ๆดžๅฏŸๅŠ›ใ€‚ๅฝ“ (Engineering + Product) ร— AI ็š„้ฃž่ฝฎๅผ€ๅง‹่ฝฌๅŠจๆ—ถ๏ผŒๆŠ€ๆœฏๆ‰่ƒฝ็œŸๆญฃ่ฝฌๅŒ–ไธบ่งฃๅ†ณ้—ฎ้ข˜็š„ๅˆฉๅ™จใ€‚\\nไปฅไธ‹ๆ˜ฏๅ…ณไบŽ่ฟ™ๆฌกโ€œK12 ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹โ€ Agent ๆญๅปบ็š„ๅฎž\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/70.่ฏ—ๆญŒๅฐ็ฒพ็ต\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/70.่ฏ—ๆญŒๅฐ็ฒพ็ต\",\"frontmatter\":{\"date\":\"2024-04-19 22:15:38\",\"title\":\"้›ถไปฃ็ ไธ็ญ‰ไบŽ้›ถ้€ป่พ‘๏ผš็ป“ๆž„ๅŒ– Prompt ้ฉฑๅŠจไธ‹็š„ Agent ๆญๅปบๅฎžๆˆ˜\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจ Agent ๆฆ‚ๅฟตๆปกๅคฉ้ฃž็š„ๅฝ“ไธ‹๏ผŒๅ†ณๅฎšๅคงๆจกๅž‹ๅฎž้™…่กจ็Žฐ็š„ๅพ€ๅพ€ๆ˜ฏๆœ€ๅบ•ๅฑ‚็š„ System Prompt ่ฎพ่ฎกใ€‚ๆœฌๆ–‡่ฎฐๅฝ•ไบ†ๅ‘จๆœซๅˆฉ็”จๆ–‡ๅฟƒๆ™บ่ƒฝไฝ“ๅนณๅฐๆญๅปบโ€œ่ฏ—ๆญŒๅฐ็ฒพ็ตโ€็š„ๅฎŒๆ•ดๅฎž่ทตใ€‚้€š่ฟ‡ๅฏนๆฏ”โ€œไผ ็ปŸๅคงๆฎตๆ–‡ๆœฌโ€ไธŽโ€œLangGPT ็ป“ๆž„ๅŒ–โ€ไธค็ง Prompt ็š„ๅฎž้™…่พ“ๅ‡บ๏ผŒๆทฑๅบฆๆ‹†่งฃไบ†็ป“ๆž„ๅŒ– Prompt ๅฆ‚ไฝ•ๅƒโ€œๅ†™ไปฃ็ โ€ไธ€ๆ ท่ง„่Œƒ AI ็š„ๆ€่€ƒๅทฅไฝœๆต๏ผŒๆœ‰ๆ•ˆ่งฃๅ†ณๆŒ‡ไปคๆผ‚็งปไธŽๅนป่ง‰้—ฎ้ข˜ใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ๆฌก Prompt ่ฐƒไผ˜ๅฎž้ชŒ๏ผŒๆ›ดๆ˜ฏไธ€ๅœบๅ…ณไบŽ AI ไบงๅ“ Sense ไธŽๆœชๆฅไบคไบ’ๅฝขๆ€็š„ๆŽข็ดขใ€‚\",\"coverImg\":\"/img/cover/llm_learning_bg_2.png\",\"categories\":[\"ai-practice\"],\"permalink\":\"/ai-practice/poetry-bot\",\"tags\":[\"Agent\",\"AI\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"้›ถไปฃ็ ไธ็ญ‰ไบŽ้›ถ้€ป่พ‘๏ผš็ป“ๆž„ๅŒ– Prompt ้ฉฑๅŠจไธ‹็š„ Agent ๆญๅปบๅฎžๆˆ˜\",\"date\":\"2024-04-19 22:15:38\",\"capture\":\"1. ๅฎž่ทต่ƒŒๆ™ฏ\\nๅ‘จๆœซๅœจ็คพๅŒบๆดปๅŠจไธญๅ†ๆฌกๅฌๅˆฐไบ† LangGPT ไฝœ่€…ไบ‘ไธญๆฑŸๆ ‘ๅ…ณไบŽโ€œ็ป“ๆž„ๅŒ–ๆ็คบ่ฏโ€็š„ๅˆ†ไบซ๏ผŒ่ฎฉไบบๆ„Ÿ่งฆ้ข‡ๆทฑใ€‚่™ฝ็„ถๅฝ“ๅ‰ Agent ๆฆ‚ๅฟต็ซ็ƒญ๏ผŒๅฑ‚ๅ‡บไธ็ฉท็š„ๆก†ๆžถ่ฎฉไบบ็œผ่Šฑ็ผญไนฑ๏ผŒไฝ†ๅ›žๅฝ’ๆœฌ่ดจๆˆ‘ไปฌๅฐฑไผšๅ‘็Žฐ๏ผšSystem Prompt ็š„ๅบ•ๅฑ‚่ฎพ่ฎกใ€ไธŠไธ‹ๆ–‡ๅทฅ็จ‹ไปฅๅŠๆŒ‡ไปค้ตๅพชๆœบๅˆถ๏ผŒๆ‰ๆ˜ฏๅ†ณๅฎšไธ€ไธช Agent ็ต้ญ‚็š„ๅ…ณ้”ฎใ€‚\\nๆญฃๅทงๅคงๅ›ข้˜Ÿ่‡ช็ ”็š„้›ถไปฃ็  Agent ๅนณๅฐ่ฟ‘ๆœŸๅ‘ๅธƒไบ†ๆ–ฐ็‰ˆๆœฌ๏ผŒไธบไบ†ไบฒๆต‹ๅนณๅฐๆ€ง่ƒฝๅนถๅฎžๆˆ˜ๆผ”็ปƒ็ป“ๆž„ๅŒ– Prompt ็š„็ผ–ๅ†™ๆŠ€ๅทง๏ผŒๆˆ‘ๅ†ณๅฎšๅˆ›ๅปบไธ€ไธชโ€œ่ฏ—ๆญŒๅฐ็ฒพ็ตโ€ Agentใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ไธช่ถฃๅ‘ณๅฎž้ชŒ๏ผŒๆ›ดๆ˜ฏไธบไบ†ๆŽข็ดข AI ๅœจๆ–‡ๅญฆๅˆ›ไฝœ่ฟ™็งโ€œๆ„Ÿๆ€ง้ข†ๅŸŸโ€ไธญ๏ผŒๅฆ‚ไฝ•้€š่ฟ‡โ€œ็†ๆ€ง็š„็ป“ๆž„็บฆๆŸโ€่พพๅˆฐๆ›ด้ซ˜็š„่พ“ๅ‡บไธŠ้™ใ€‚\\n 2. ๅนณๅฐไธŽ\"}],\"AI\":[{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/10.Agent SKills\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/10.Agent SKills\",\"frontmatter\":{\"date\":\"2026-03-05 23:11:25\",\"title\":\"ๅฆ‚ไฝ•็ผ–ๅ†™ไธ€ไธช้ซ˜ๅฏ็”จ็š„ Agent Skill๏ผŸไปŽๆœบๅˆถๆ‹†่งฃๅˆฐ็”Ÿไบงๅฎž่ทตๆŒ‡ๅ—\",\"description\":\"ๅคง่ฏญ่จ€ๆจกๅž‹ๅœจ็‰นๅฎšๅทฅ็จ‹้ข†ๅŸŸๅธธ้ขไธดโ€œ็Ÿฅ่€Œไธ่กŒโ€็š„ๅ›ฐๅขƒใ€‚ๆœฌๆ–‡ๆทฑๅบฆๆ‹†่งฃ Anthropic ๆœ€ๆ–ฐๆŽจๅ‡บ็š„ Agent Skills ่ง„่Œƒ๏ผŒๆญ็ง˜ๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆธ่ฟ›ๅผๆŠซ้œฒไธŽไธ‰็บงๅŠ ่ฝฝๆœบๅˆถ๏ผŒๅœจๆŽงๅˆถ Token ๆˆๆœฌ็š„ๅŒๆ—ถๆ˜พ่‘—ๆๅ‡ Agent ็š„ไปปๅŠกๆ‰ง่กŒ็ฒพๅบฆใ€‚ๆ–‡็ซ ๆถต็›–ไบ†ไปŽๆ–‡ไปถๅคนๆžถๆž„่ฎพ่ฎกๅˆฐๅฎžๆˆ˜ git-workflow ็ผ–ๅ†™็š„ๅ…จๆต็จ‹ๆŒ‡ๅ—๏ผŒๅŠฉไฝ ๅฐ†้›ถๆ•ฃ็š„ Prompt ่ฝฌๅŒ–ไธบๆ ‡ๅ‡†ๅŒ–็š„ๆ•ฐๅญ—่ต„ไบงใ€‚\",\"permalink\":\"/ai-agent/skills-practice-summary\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\",\"Agent ็ณปๅˆ—\"],\"tags\":[\"Agent Skills\",\"Agent\",\"AI\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฆ‚ไฝ•็ผ–ๅ†™ไธ€ไธช้ซ˜ๅฏ็”จ็š„ Agent Skill๏ผŸไปŽๆœบๅˆถๆ‹†่งฃๅˆฐ็”Ÿไบงๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-03-05 23:11:25\",\"capture\":\"1. ๅผ•่จ€๏ผšAgent Skills ๆ˜ฏไป€ไนˆ๏ผŸ\\nๅœจๅคง่ฏญ่จ€ๆจกๅž‹๏ผˆLLM๏ผ‰็š„่ฝๅœฐๅฎž่ทตไธญ๏ผŒๅผ€ๅ‘่€…็ปๅธธ้ขไธดไธ€ไธชๅ…ฑๆ€งๆŒ‘ๆˆ˜๏ผšๆจกๅž‹ๅœจ็‰นๅฎš็ป†ๅˆ†้ข†ๅŸŸๅพ€ๅพ€ๅค„ไบŽโ€œ็Ÿฅ่€Œไธ่กŒโ€็š„็Šถๆ€โ€”โ€”่™ฝ็„ถๆ‹ฅๆœ‰ๅšๆ‚็š„็Ÿฅ่ฏ†๏ผŒๅด็ผบไนๆ‰ง่กŒๅคๆ‚ไปปๅŠก็š„ไธ“ไธš่ทฏๅพ„ใ€‚\\nไธบไบ†่งฃๅ†ณ่ฟ™ไธ€็—›็‚น๏ผŒAnthropic ๅœจๅ…ถๆ——่ˆฐๆจกๅž‹ Claude 3.7 ็ณปๅˆ—ไธญๆญฃๅผๆŽจๅ‡บไบ† Claude Skillsใ€‚่ฟ™ไธ€ๅŠŸ่ƒฝๅฐ† LLM ็š„่ƒฝๅŠ›ๅฐ่ฃ…ไธบ็›ด่ง‚็š„โ€œ่ƒฝๅŠ›ๆ–‡ไปถๅคนโ€๏ผŒๆžๅคงๆๅ‡ไบ†ๆ™บ่ƒฝไฝ“็š„ๅฎž็”จๆ€ง๏ผŒๅนถ่ฟ…้€Ÿๅœจๅผ€ๅ‘่€…็คพๅŒบๅผ•ๅ‘็ƒญ่ฎฎใ€‚2025 ๅนด 12 ๆœˆ๏ผŒ้š็€ Anthropic ่”ๅˆ็”Ÿๆ€ไผ™ไผดๆญฃๅผๅผ€ๆบ Agent Skills ่ง„่Œƒ๏ผŒAgent Skills ็š„ๆ ‡ๅ‡†ๅŒ–ไนŸๆญฃๅผๅผ€ๅฏ๏ผˆ่€Œ่ฟ™ไธ€่ƒฝๅŠ›\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/03.ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผšๅฐ†้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/03.ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผšๅฐ†้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"frontmatter\":{\"date\":\"2026-02-06 15:48:23\",\"title\":\"ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผš้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผš้ขๅฏนๅฑ‚ๅ‡บไธ็ฉท็š„ Promptใ€MCPใ€Skills ๅ’Œ Subagents๏ผŒๅพˆๅคšๅผ€ๅ‘่€…ๅ’Œไบงๅ“็ป็†ๅธธๆ„Ÿๅˆฐๅ›ฐๆƒ‘๏ผš่ฟ™ไบ›็ป„ไปถ็ฉถ็ซŸๆ˜ฏ้‡ๅค้€ ่ฝฎๅญ๏ผŒ่ฟ˜ๆ˜ฏๅ„ๅธๅ…ถ่Œ็š„็งฏๆœจ๏ผŸๆœฌๆ–‡ๅฐ†ๆทฑๅบฆๆ‹†่งฃ Agentic ็”Ÿๆ€็š„ไบ”ๅคงๆ ธๅฟƒๆ”ฏๆŸฑ๏ผŒๆญ็คบๅฆ‚ไฝ•้€š่ฟ‡ไผ˜้›…็š„ๆžถๆž„่ฎพ่ฎกๅฎž็ŽฐๅๅŒ้—ญ็Žฏ๏ผŒๅฐ†้›ถๆ•ฃ็š„ AI ็ป„ไปถๆ‹ผ่ฃ…ๆˆไธ€ๅฅ—ๅฏๆŒ็ปญ่ฟ›ๅŒ–็š„ AI ๅŽŸ็”Ÿๆ“ไฝœ็ณป็ปŸ๏ผŒๆŠŠ็ขŽ็‰‡ๅŒ–็š„ AI ่ƒฝๅŠ›่ฝฌๅŒ–ไธบ้ซ˜ๅฏ็”จ็š„็”ŸไบงๅŠ›ๆตใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/ai-practice/agent_components_zh.png\",\"permalink\":\"/ai-agent/composition-ai-components\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"],\"tags\":[\"Agent\",\"AI\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผš้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"date\":\"2026-02-06 15:48:23\",\"capture\":\"<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/ai-practice/agent_components_zh.png\\\" style=\\\"width: 100%; border-radius: 8px; margin-bottom: 20px;\\\" alt=\\\"about site background\\\">\\n 1. ๅผ•่จ€\\n> ้—ฎ้ข˜๏ผšๅœจๆ™บ่ƒฝไฝ“็”Ÿๆ€้‡Œ๏ผŒๅ„ไธช็ป„ไปถๅˆฐๅบ•ๆ˜ฏๆ€ŽไนˆๅๅŒๅทฅไฝœ็š„๏ผŸ\\nๅฝ“ๅ‰๏ผŒAgent๏ผˆๆ™บ่ƒฝไฝ“๏ผ‰ๆŠ€ๆœฏๅ‘ๅฑ•่ฟ…็Œ›๏ผŒๅ„็ง่ฎพ่ฎกๆจกๅผใ€ๆ ธๅฟƒ็ป„ไปถไธŽๅทฅไฝœๆœบๅˆถๅฑ‚ๅ‡บไธ็ฉทใ€‚้ขๅฏน็นๆ‚็š„ๆ™บ่ƒฝไฝ“็”Ÿๆ€\"},{\"url\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"relativePath\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"frontmatter\":{\"date\":\"2025-10-24 11:05:50\",\"title\":\"ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจ AI ้‡ๅก‘่ฝฏไปถๅทฅ็จ‹็š„ไปŠๅคฉ๏ผŒๅ…จๆ ˆไธๅ†ๆ˜ฏๆŠ€ๆœฏ็š„็บฟๆ€งๅ ๅŠ ๏ผŒๆญฃๅœจไปŽโ€œๆŠ€ๆœฏๆ ˆๅ †็ Œโ€่ฝฌๅ‘โ€œ่ฎค็Ÿฅๆ ˆ้‡ๆž„โ€ใ€‚ๆœฌๆ–‡ๆๅ‡บ โ€œ(ๅทฅ็จ‹ + ไบงๅ“) ร— AIโ€ ็š„ๆ–ฐๅ…ฌๅผ๏ผŒๅŠฉๅŠ›ๅผ€ๅ‘่€…ๆž„ๅปบโ€œๆดžๅฏŸ-ๆžถๆž„-ๆ ๆ†โ€่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”๏ผŒๅˆฉ็”จ AI ๆ ๆ†่ฎฉ่‡ชๅทฑ่ฟ›ๅŒ–ไธบไปทๅ€ผๅˆ›้€ ่€…ใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"permalink\":\"/fullstack/ai-native\",\"sticky\":1,\"top\":true,\"tags\":[\"ๅ…จๆ ˆ\",\"AI\",\"ไบงๅ“\"],\"categories\":[\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"date\":\"2025-10-24 11:05:50\",\"capture\":\"<script setup>\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n 1. ๅผ•่จ€\\nๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒๅฝ“ๆˆ‘ไปฌ่ฐˆ่ฎบโ€œๅ…จๆ ˆๅทฅ็จ‹ๅธˆโ€ๆ—ถ๏ผŒ่„‘ๆตทไธญๆตฎ็Žฐ็š„ๅพ€ๅพ€ๆ˜ฏไธ€ๅผ ๅ†—้•ฟไธ”ไปคไบบ็–ฒๆƒซ็š„ๆŠ€ๆœฏๅทฅๅบๆธ…ๅ•ใ€‚\\nๅฐฑๅƒๆˆ‘ๆ›พ็ปไปฅไธบ็š„้‚ฃๆ ท๏ผŒๅ…จๆ ˆๅฐฑๆ˜ฏ็บฟๆ€ง็š„ๆŠ€่ƒฝๅ ๅŠ ไธŽ็‰ฉ็†ๅผ็š„ๆŠ€ๆœฏๆ‹ผๆŽฅ๏ผŒๆ˜ฏไธ€็งไพ้ ไบบๅŠ›ๅŽปๅกซ่กฅๆŠ€ๆœฏ้ธฟๆฒŸ็š„โ€œ่ฅฟ่ฅฟๅผ—ๆ–ฏๅผโ€ๅŠชๅŠ›๏ผš\\n* ็บฟๆ€ง็š„ๆŠ€่ƒฝๅ ๅŠ ๏ผšๆˆ‘ไปฌ่ขซ่ฟซๆˆไธบโ€œๅ…จ่ƒฝๆ‰‹โ€๏ผŒๅทฆๆ‰‹็”จ React/Vue ๆž„ๅปบ็ฒพ็พŽ็š„ UI๏ผŒๅณๆ‰‹็”จ Node/Go ็ผ–ๅ†™้ซ˜ๅนถๅ‘ API๏ผŒไธญ้—ด่ฟ˜่ฆๅค„็†ๆ•ฐๆฎๅบ“็š„ ACI\"},{\"url\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"relativePath\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"frontmatter\":{\"date\":\"2024-01-15 22:16:00\",\"title\":\"่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไนฆๆŽฅไธŠๆ–‡ใ€Šๅ‘ๅ†…ๆ€ๅ˜ใ€‹๏ผŒๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ๅœจๅŽ็–ซๆƒ…ๆ—ถไปฃไปŽโ€œ้—ญๅ…ณโ€่ตฐๅ‘โ€œๅ‘ๅค–ไฝ“้ชŒโ€็š„ๅฐ่ฏ•ไธŽๅฟƒๅพ—ใ€‚้ขๅฏนๆœบๆขฐๆ‰ง่กŒๅธฆๆฅ็š„โ€œ็›ฎๆ ‡้šง้“โ€ๆ•ˆๅบ”๏ผŒ็ฌ”่€…ๅฐ่ฏ•่ทณๅ‡บๅ•ไธ€็š„็บฟๆ€ง่ง„ๅˆ’๏ผŒ่ฝฌ่€Œๅฏปๆฑ‚ๆ›ดๅบ•ๅฑ‚็š„่ฎค็Ÿฅ้€ป่พ‘ใ€‚ๆ–‡็ซ ้€š่ฟ‡้‡่ฏปใ€Š่ฆไบ‹็ฌฌไธ€ใ€‹ๅปบ็ซ‹ๅนณ่กก่ง‚๏ผŒๅˆฉ็”จ็ณป็ปŸๆ€็ปด๏ผˆๅขžๅผบ/่ฐƒ่Š‚ๅ›ž่ทฏ๏ผ‰ๆž„ๅปบๆดžๅฏŸๅŠ›๏ผŒๅนถ้‡ๆ–ฐๆ‹พ่ตทๆ•ฐๅญฆๆ€็ปด๏ผˆๆฆ‚็އใ€็จ€็–ๆ€งใ€ๅคšๆ ทๆ€ง๏ผ‰ไธŽ AI ่ง†่ง’ใ€‚่ฟ™ๆ˜ฏไธ€ๆฌกๅ…ณไบŽๅฆ‚ไฝ•็”จ็ง‘ๅญฆๆจกๅž‹ๆ›ฟไปฃๆœบๆขฐๆ‰ง่กŒ๏ผŒไปŽๆœฌ่ดจไธŠ้‡ๆž„ไธชไบบ่ฎค็Ÿฅไฝ“็ณป็š„ๆทฑๅบฆๅค็›˜ใ€‚\",\"permalink\":\"/growth/outer-experience\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/outer_experience_bg.png\",\"sticky\":1,\"top\":true,\"tags\":[\"็ณป็ปŸๆ€็ปด\",\"ๆ•ฐๅญฆๆ€็ปด\",\"ๆจกๅž‹ๆ€็ปด\",\"AI\",\"็–ซๆƒ…\"],\"categories\":[\"ไธชไบบๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"date\":\"2024-01-15 22:16:00\",\"capture\":\"1. ๅ†™ๅœจๅ‰้ข\\nๆ—ถๅ…‰่่‹’๏ผŒ็–ซๆƒ…ๅทฒ็ป็”ฑๆ”พๅผ€็Šถๆ€็ปง็ปญๆผ”ๅ˜ไธบ่ฟ‡ๅŽปๅผ็Šถๆ€๏ผŒๆˆ‘ไปฌไบบ็ฑปไนŸไปŽใ€Ž้—ญๅ…ณใ€่ตฐๅ‘ไบ†ใ€Ž่‡ช็”ฑใ€็š„็คพไผš็”Ÿๆดป็Šถๆ€ใ€‚็ฌ”่€…ไฝœไธบ็คพไผšไธญ็š„ๆ™ฎ้€šไธ€ๅ‘˜๏ผŒ่‡ช็„ถไนŸไธ็ฆปๅค–๏ผŒๅœจ 2023 ๅนดๅˆๆด‹ๆด‹ๆด’ๆด’ๅ†™ไบ†ไธ€็ฏ‡ๅœจๅฅๅบทใ€่ฏปไนฆไธŽๅญฆไน ใ€ๆ—ถ้—ด็ฎก็†ๅ’Œๆททๅˆๅทฅไฝœๅˆถๅ‡ ไธชๆ–น้ข็š„ๅฎž่ทตไธŽ็†่งฃ๏ผˆๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ๏ผ‰๏ผŒๅฐฑๅผ€ๅผ€ๅฟƒๅฟƒๅœฐๅ‘ๅ‰็œ‹๏ผŒๅญฆ็€ๅ‘ๅค–ไฝ“้ชŒไบ†ใ€‚\\n้‚ฃไนˆ้—ฎ้ข˜ๆฅไบ†๏ผŒ็›ธๆฏ”ไน‹ๅ‰ๅ†™ๅ‡บ้•ฟๆ–‡๏ผŒ็ฌ”่€…ๅˆๆ˜ฏ่ฟ‘ไธ€ๅนดๆฒกๆœ‰ๅ‘ๅค–่พ“ๅ‡บ่ฝฏๆ–‡ไบ†ใ€‚ๅ› ๆญค๏ผŒไนฆๆŽฅไธŠๆ–‡๏ผŒๆœฌๆฌก็ปง็ปญๆ–ฐๅขžไธ€็ฏ‡ไธญ็Ÿญๆ–‡๏ผŒๆผซ่ฐˆไธ€ไธ‹็–ซๆƒ…ๅŽ็š„ๅ‘ๅค–ไฝ“้ชŒใ€‚\\nๅœจๅ€’้€ผ่‡ชๅทฑๅ…ณๆณจ่บซไฝ“ๅฅๅบทๅ’Œๆ—ถ้—ด็ฎก็†ๅŽ๏ผŒ่™ฝ็„ถๅœจไฝ“้‡ๅ’Œๆ•ˆ็އไธคไธชๆ–น้ขๆœ‰ไธ€ๅฎš็š„ๆญฃๅ‘ๆ•ˆๆžœ๏ผŒไฝ†็ฌ”่€…ๅœจ่ฟž็ปญๅšๆŒ่ฝๅœฐๆ‹†่งฃๅ‡บๆฅ็š„็›ฎๆ ‡่ฟ‡็จ‹ไธญ๏ผŒๆœ‰ๆ—ถ\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/00.AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/00.AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ\",\"frontmatter\":{\"title\":\"AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"date\":\"2026-03-15 16:00:00\",\"description\":\"ๅ…จๆ™ฏๅผ AI ๅญฆไน ไธŽๅฎž่ทต็Ÿฅ่ฏ†ๅบ“๏ผŒ็ณป็ปŸๆฒ‰ๆท€ AI Agent ่ฎพ่ฎกๆจกๅผใ€ๅคงๆจกๅž‹ๅทฅ็จ‹ๅŒ–่ฝๅœฐใ€ๅผ€ๆบๅฐ้กน็›ฎๅŠ็คพๅŒบๆดปๅŠจ็ป้ชŒๆ€ป็ป“๏ผŒๆŒ็ปญ่ฟญไปฃไปŽ็†่ฎบๅˆฐ็”Ÿไบง็š„ๅฎŒๆ•ดๆ–นๆณ•่ฎบใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/llm_learning_bg_1.png\",\"permalink\":\"/ai-learning/overview\",\"categories\":[\"ai-practice\"],\"tags\":[\"AI\",\"LLM\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"date\":\"2026-03-15 16:00:00\",\"capture\":\"<!-- ็ฒพ้€‰ไธ“้ข˜ --\\n<script setup>\\nimport ArticleCardList from '@fragment/components/ArticleCardList.vue'\\nimport { aiLearningCategories } from '@fragment/data/ai-learning-data'\\n</script>\\n<ArticleCardList :categories=\\\"aiLearningCategories\\\" />\"},{\"url\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/02.้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/02.้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-03-02 11:05:50\",\"title\":\"้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ AI ๆž้€Ÿ้™ไฝŽไปฃ็ ็ผ–ๅ†™้—จๆง›๏ผŒๅ•็บฏ็š„โ€œไธšๅŠกไปฃ็ ็ฟป่ฏ‘ๅ™จโ€่ง’่‰ฒๆญฃๅŠ ้€Ÿ่ดฌๅ€ผใ€‚ๆœฌๆ–‡ไปŽๆŠ€ๆœฏๆผ”่ฟ›ไธŽไบงๅ“ๆ€่€ƒ็š„ไบคๆฑ‡็‚นๅ‡บๅ‘๏ผŒๅฐ† AI ๆ—ถไปฃ็š„ๅผ€ๅ‘่€…่ƒฝๅŠ›ๅ›พ่ฐฑ้‡ๆ–ฐๅˆ’ๅˆ†ไธบไธ‰ๅคงๆ ธๅฟƒๅœˆๅฑ‚๏ผšไบงๅ“ๅบ”็”จๅฑ‚๏ผˆInsight Stack๏ผ‰ใ€Agent ๅผ€ๅ‘ๅฑ‚ไธŽ AI ๅŸบ็ก€่ฎพๆ–ฝๅฑ‚ใ€‚ๆ— ่ฎบไฝ ๆ˜ฏๆทฑ่€•่ง†ๅ›พๅฑ‚ไบคไบ’ใ€็ฒพ้€š Node.js ็ญ‰ๆœๅŠก็ซฏๆžถๆž„็š„ๅผ€ๅ‘่€…๏ผŒ่ฟ˜ๆ˜ฏ่‡ดๅŠ›ไบŽๆŠ€ๆœฏ่ฝๅœฐ็š„ๆŽข็ดข่€…๏ผŒ้ƒฝ่ƒฝๅœจ่ฟ™ไปฝๆผ”่ฟ›ๆŒ‡ๅ—ไธญๆ‰พๅˆฐๆ‰“็ ด่ƒฝๅŠ›่พน็•Œใ€ๅ‘โ€œ่ถ…็บงไธชไฝ“โ€ไธŽโ€œAI ๆ™บ่ƒฝไฝ“ๆŒ‡ๆŒฅๅฎ˜โ€่ทƒ่ฟ็š„็ ดๅฑ€ไน‹้“ใ€‚\",\"permalink\":\"/fullstack/ai-engineer-capability\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"top\":true,\"tags\":[\"ๅ…จๆ ˆ\",\"AI\"],\"categories\":[\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"date\":\"2026-03-02 11:05:50\",\"capture\":\"<script setup>\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/ai_engineering_arc.png\\\" style=\\\"width: 100%; border-radius: 8px; margin-bottom: 20px;\\\" alt=\\\"about site back\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/11. LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/11. LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-01-06 15:58:53\",\"title\":\"LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆˆช่‡ณ 2026 ๅนด๏ผŒLLM API ๆœๅŠกๅทฒๅฝขๆˆ\\\"ๅฎ˜ๆ–น็›ด่ฟž + ็ฌฌไธ‰ๆ–น่šๅˆ\\\"็š„ๅŒ่ฝจๆ ผๅฑ€๏ผŒๆจกๅž‹่ƒฝๅŠ›ใ€ๅฎšไปทใ€ๅˆ่ง„ๆ€งไธŽๆŽฅๅ…ฅไพฟๅˆฉๆ€งๅทฎๅผ‚ๆ˜พ่‘—ใ€‚ๆœฌๆ–‡ไปŽ้€‰ๅž‹ๅ‰ๆ้—ฎๅ‡บๅ‘๏ผŒ็ณป็ปŸๆขณ็†ๅ›ฝ้™…ไธŽๅ›ฝๅ†…ไธปๆตๅฎ˜ๆ–น API ๅนณๅฐ๏ผŒไปฅๅŠ OpenRouterใ€็ก…ๅŸบๆตๅŠจ็ญ‰็ฌฌไธ‰ๆ–น่šๅˆๅนณๅฐ็š„ๆ ธๅฟƒ็‰น็‚น๏ผŒๅนถๆไพ›ๅŸบไบŽๅœบๆ™ฏ็š„ๅ†ณ็ญ–ๆก†ๆžถ๏ผŒๅธฎๅŠฉๅผ€ๅ‘่€…ๅ’Œไบงๅ“ๅ›ข้˜Ÿๅฟซ้€Ÿ้”ๅฎšๆœ€้€‚ๅˆ่‡ชๅทฑ็š„ๆ–นๆกˆใ€‚\",\"permalink\":\"/ai-learning/llm-api-resources\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"LLM API\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"date\":\"2026-01-06 15:58:53\",\"capture\":\"1. ้€‰ๆจกๅž‹ๅ‰๏ผŒๅ…ˆๆƒณๆธ…ๆฅš่ฟ™ๅ‡ ไปถไบ‹\\nๅœจๅฏนๆฏ”ๅ…ทไฝ“ๅนณๅฐไน‹ๅ‰๏ผŒๅฏไปŽไปฅไธ‹ๅ››ไธช็ปดๅบฆๆขณ็†่‡ช่บซ่ฏ‰ๆฑ‚๏ผŒ้ฟๅ…\\\"็œผ่Šฑ็ผญไนฑๅŽ้šไพฟ้€‰ไธ€ไธช\\\"๏ผš\\n| ็ปดๅบฆ | ๅ…ณ้”ฎ้—ฎ้ข˜ | ๅฝฑๅ“ๅ†ณ็ญ– |\\n|:-----|:--------|:--------|\\n| ไปปๅŠก็ฑปๅž‹ | ๆ˜ฏ้€š็”จๅฏน่ฏใ€ไปฃ็ ็”Ÿๆˆใ€้•ฟๆ–‡ๆกฃๅˆ†ๆž๏ผŒ่ฟ˜ๆ˜ฏๅคšๆจกๆ€็†่งฃ๏ผŸ | ไธๅŒๆจกๅž‹ๅœจๅž‚็›ด่ƒฝๅŠ›ไธŠๅทฎ่ทๆ‚ฌๆฎŠ |\\n| ๆˆๆœฌ้ข„็ฎ— | ๆฏๆœˆ่ฐƒ็”จ้‡็บง๏ผŸ่ƒฝๅฆๆŽฅๅ—ๆตทๅค–็ป“็ฎ—ไธŽๆฑ‡็އ้ฃŽ้™ฉ๏ผŸ | ๅ›ฝไบงๆจกๅž‹ Token ไปทๆ ผ้€šๅธธไฝŽ 3๏ฝž10 ๅ€ |\\n| ๅˆ่ง„ไธŽ้ƒจ็ฝฒ | ๆ•ฐๆฎ่ƒฝๅฆๅ‡บๅขƒ๏ผŸ่ƒฝๅฆไฝฟ็”จๆตทๅค–ๆœๅŠก๏ผŸๆ˜ฏๅฆ้œ€่ฆ็งๆœ‰ๅŒ–้ƒจ็ฝฒ๏ผŸ | ๆถ‰ๅŠๆ”ฟๅŠก/้‡‘่ž/ๅŒป็–—ๅœบๆ™ฏๅฟ…้กป่€ƒ่™‘ |\\n| ็ฝ‘็ปœ็Žฏๅขƒ | ๅผ€ๅ‘/้ƒจ็ฝฒ็Žฏๅขƒ่ƒฝๅฆ็จณๅฎš่ฎฟ\"},{\"url\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/10.่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"relativePath\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/10.่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"frontmatter\":{\"date\":\"2025-12-06 22:05:50\",\"title\":\"่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"description\":\"่ฝฏไปถๅทฅ็จ‹ๆญฃ็ปๅކไปŽโ€œๆ‰‹ๅ†™้€ป่พ‘โ€ๅ‘โ€œๆ„ๅ›พ่ฐƒๅบฆโ€็š„่Œƒๅผ่ฟๅพ™ใ€‚Anthropic ็š„็ ”็ฉถๆญ็คบไบ† AI ๅนถ้ž็ฎ€ๅ•็š„ๆๆ•ˆๅทฅๅ…ท๏ผŒ่€Œๆ˜ฏ้€š่ฟ‡้‡Šๆ”พ 27% ๆ›พ็ปโ€œไธๅˆ’็ฎ—โ€็š„ๅทฅ็จ‹ไปปๅŠก๏ผŒ้‡ๅก‘ไบ†่ฝฏไปถ่ดจ้‡็š„ๅฏ†ๅบฆใ€‚ๅœจ่‡ช็„ถ่ฏญ่จ€ๅณ็ผ–็จ‹่ฏญ่จ€็š„ๆ—ถไปฃ๏ผŒๆˆ‘ไปฌ้œ€่ฆ้€š่ฟ‡่ง„ๆ ผ้ฉฑๅŠจ๏ผˆSDD๏ผ‰ไธŽๅคšๆ™บ่ƒฝไฝ“็ผ–ๆŽ’๏ผŒ็ ด่งฃโ€œ็›‘็ฃๆ‚–่ฎบโ€ๅธฆๆฅ็š„ๆŠ€่ƒฝๅนณๅบธๅŒ–ๅฑๆœบ๏ผŒๅฐ† AI ็š„ๆฆ‚็އๆ€ง็”Ÿๆˆ้ฉฏๅŒ–ไธบ็กฎๅฎšๆ€ง็š„ๅทฅ็จ‹ไบคไป˜ใ€‚ๅฝ“็ผ–็ ๆˆๆœฌ่ถ‹ไบŽ้›ถ๏ผŒๅทฅ็จ‹ๅธˆ็š„็ปˆๆžๅฃๅž’ๅฐ†ๆ˜ฏๅฎšไน‰ๅฎŒ็พŽ็š„ๅ“ๅ‘ณ๏ผŒไปฅๅŠๅœจ AI ่ฟท้›พไธญ่ฏ†็ ดๅนณๅบธ็š„ๆดžๅฏŸๅŠ›ใ€‚\",\"permalink\":\"/fullstack/ai-change-work-workflow/\",\"top\":true,\"tags\":[\"ๅ…จๆ ˆ\",\"AI\"],\"categories\":[\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"date\":\"2025-12-06 22:05:50\",\"capture\":\"<script setup>\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\nๅœฐๅ€๏ผšHow AI is transforming work at Anthropic\\nๆ ธๅฟƒๆ ‡็ญพ๏ผš`AI่พ…ๅŠฉ็ผ–็จ‹` `ๅทฅ็จ‹` `่Œƒๅผ่ฝฌ็งป` `ๅทฅไฝœ่ฝฌๅž‹` `็”ŸไบงๅŠ›ๆๅ‡` `ๆŠ€่ƒฝๅ‘ๅฑ•` `ไบบๆœบๅไฝœ` \\nไธ€ๅฅ่ฏไป‹็ป๏ผšAnthropic ไธไป…ไป…ๆ˜ฏ AI ๅทฅๅ…ท็š„็”Ÿไบง่€…๏ผŒๆ›ดๆ˜ฏ็ฌฌไธ€ไธช่ฟ›ๅ…ฅโ€œๆœชๆฅๅฎž้ชŒๅฎคโ€็š„ๆทฑๅบฆ่ง‚ๅฏŸ่€…ใ€‚ไป–ไปฌ้€š่ฟ‡ๅ†…้ƒจๆ•ฐๆœˆ็š„ๅฎž้ชŒๆ•ฐๆฎๅ‘Š่ฏ‰ๆˆ‘ไปฌ๏ผšๅคงๆจกๅž‹ๅฏน่ฝฏไปถๅทฅ็จ‹็š„ๆ”น้€ ๏ผŒ็ป้ž็ฎ€ๅ•็š„โ€œๆๆ•ˆโ€๏ผŒ่€Œๆ˜ฏไธ€\"},{\"url\":\"/01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ\",\"frontmatter\":{\"date\":\"2025-11-25 00:52:28\",\"title\":\"AI ็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡ๆทฑๅบฆ่งฃๆžไบ† AI ้ฉฑๅŠจ็ผ–็จ‹็š„ไธ‰ๅคงๆผ”่ฟ›่Œƒๅผ๏ผšVibe Coding๏ผˆ่‡ช็„ถ่ฏญ่จ€้›ถ้—จๆง›ๆž„ๅปบ๏ผ‰ใ€AI IDE๏ผˆ็ผ–่พ‘ๅ™จๆทฑๅบฆ่พ…ๅŠฉๆๆ•ˆ๏ผ‰ๅŠ Agentic Engineering๏ผˆ่‡ชไธปๅทฅ็จ‹ๅธˆๆ‰ง่กŒไปปๅŠก๏ผ‰ใ€‚้€š่ฟ‡ๆจชๅ‘ๅฏนๆฏ” Bolt.newใ€Cursorใ€Claude Code ็ญ‰ๅ‰ๆฒฟๅทฅๅ…ท๏ผŒๆ–‡็ซ ๅ‹พๅ‹’ๅ‡บไธ€ๆกไปŽโ€œๅฟซ้€ŸๅŽŸๅž‹โ€ๅˆฐโ€œ้ซ˜ๆ•ˆๅๅŒโ€ๅ†ๅˆฐโ€œ่‡ชไธปไบคไป˜โ€็š„่ฟ›้˜ถ่ทฏๅพ„ใ€‚ๆ ธๅฟƒๆ—จๅœจๆŒ‡ๅฏผ็”จๆˆทๅˆฉ็”จ AI ๅทฅๅ…ท็Ÿฉ้˜ตๆ‰“็ ดๆŠ€ๆœฏ่พน็•Œ๏ผŒๅฎž็ŽฐไปŽๅˆ›ๆ„ๆ่ฟฐๅˆฐๅทฅไธš็บงไบคไป˜็š„็”ŸไบงๅŠ›้ฃž่ทƒ๏ผŒ้‡ๅก‘่ฝฏไปถๅผ€ๅ‘ๅ…จ็”Ÿๅ‘ฝๅ‘จๆœŸใ€‚\",\"permalink\":\"/ai-learning/ai-coding-resources\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/source_sites_bg.png\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"AI Coding\",\"Vibe Coding\",\"Agentic Engineering\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"AI ็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่\",\"date\":\"2025-11-25 00:52:28\",\"capture\":\"1. ไธ‰็ง็ผ–็จ‹่Œƒๅผ้€Ÿ่งˆ\\n| ่Œƒๅผ | ไธ€ๅฅ่ฏๆ่ฟฐ | ไฝ ็š„่ง’่‰ฒ |\\n|:-----|:---------|:--------|\\n| Vibe Coding | ็”จ่‡ช็„ถ่ฏญ่จ€ๆ่ฟฐ้œ€ๆฑ‚๏ผŒAI ็›ดๆŽฅ็”Ÿๆˆๅฏ่ฟ่กŒ็š„ๅฎŒๆ•ด้กน็›ฎ | ๆ่ฟฐ้œ€ๆฑ‚๏ผŒ่ฎฉ AI ๅ†™ไปฃ็ (```ๆ–ฐๆ‰‹ๅ‹ๅฅฝ```) |\\n| AI IDE | ๅœจ็ผ–่พ‘ๅ™จ้‡Œๅผ•ๅ…ฅ AI ่พ…ๅŠฉ๏ผŒ่พนๅ†™่พน่กฅๅ…จใ€่พน้—ฎ่พนๆ”น | ไธปๅฏผๅผ€ๅ‘๏ผŒ่ฎฉ AI ๅšๅ‰ฏ้ฉพ้ฉถ(```ๆ›ดๅคšๆŽงๅˆถ```) |\\n| Agentic Engineering | AI ไฝœไธบ\\\"่‡ชไธปๅทฅ็จ‹ๅธˆ\\\"๏ผŒๆŽฅๆ”ถไปปๅŠกๅŽ่‡ชๅŠจ่ง„ๅˆ’ๅนถๆ‰ง่กŒๅ…จๅฅ—ไปฃ็ ๅทฅไฝœๆต | ๆไปปๅŠกใ€ๅฎก็ป“ๆžœ๏ผŒ่ฎฉ AI ๆ‰ง่กŒ(```ๆž่‡ดๆๆ•ˆ```) |\\nๆ–ฐๆ‰‹่ทฏ็บฟๅปบ่ฎฎ๏ผšๅ…ˆ\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"frontmatter\":{\"date\":\"2025-11-25 00:52:28\",\"title\":\"ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไธบไพฟไบŽ้ซ˜ๆ•ˆๅˆฉ็”จ AI ๅทฅๅ…ทๆๅ‡ๅญฆไน ใ€ๆœ็ดขๅ’Œๅˆ›ไฝœๆ•ˆ็އ๏ผŒๆœฌๆ–‡็ณป็ปŸๆ•ด็†ไบ†ไธปๆต็š„ AI ๅŠฉๆ‰‹ไธŽๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐ็›ธๅ…ณ่ต„ๆบใ€‚ๅ†…ๅฎนๅˆ†ไธบโ€œAI ๅŠฉๆ‰‹โ€๏ผˆๅฆ‚ ChatGPTใ€Claudeใ€Gemini ็ญ‰ๅฏน่ฏๅผๅŠฉๆ‰‹๏ผ‰ๅ’Œโ€œๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐโ€๏ผˆๅฆ‚ๅ†™ไฝœใ€็ป˜็”ป็ญ‰้ข†ๅŸŸ็š„ AI ๅทฅๅ…ทไธŽๅนณๅฐ๏ผ‰๏ผŒไธ”ๆ ‡ๆณจไบ†ๅ…ถๆ ธๅฟƒ่ƒฝๅŠ›ใ€้€‚ๅˆๅœบๆ™ฏ๏ผŒไปฅๅŠ็‰น่‰ฒไผ˜ๅŠฟใ€‚\",\"permalink\":\"/ai-learning/tools-assistant\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/source_sites_bg.png\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"AI ๅŠฉๆ‰‹\",\"AI ๆœ็ดข\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"date\":\"2025-11-25 00:52:28\",\"capture\":\"1. AI ๅŠฉๆ‰‹\\n> ้€‰ๆ‹ฉๅปบ่ฎฎ๏ผš ่‹ฑๆ–‡ไธบไธป โ†’ ไผ˜ๅ…ˆ ChatGPT / Claude / Gemini๏ผ›ไธญๆ–‡ไธบไธป โ†’ ไผ˜ๅ…ˆ Kimi / DeepSeek / ้€šไน‰ๅƒ้—ฎ๏ผ›้œ€่ฆ่”็ฝ‘ๅฎžๆ—ถไฟกๆฏ โ†’ Gemini / Grok๏ผ›้œ€่ฆๅˆ†ๆž้•ฟๆ–‡ๆกฃ โ†’ Claude / Kimi๏ผ›่ฟฝๆฑ‚ไฝŽๆˆๆœฌๅผ€ๆบ้ƒจ็ฝฒ โ†’ DeepSeekใ€‚\\n>\\n> ๆณจ๏ผš็›ฎๅ‰ๅ›ฝๅค–ๆจกๅž‹๏ผˆๅฆ‚ ChatGPTใ€Claudeใ€Gemini ็ญ‰๏ผ‰ๅœจ่‹ฑๆ–‡ๅค„็†ใ€ๅคšๆจกๆ€่ƒฝๅŠ›ใ€ๆ’ไปถ็”Ÿๆ€ๅ’Œ API ไธฐๅฏŒๆ€ง็ญ‰ๆ–น้ข๏ผŒๆ•ดไฝ“ไธŠไพ็„ถไผ˜ไบŽๅ›ฝๅ†…ๆจกๅž‹๏ผŒ้€‚ๅˆๅฏน่‹ฑๆ–‡ๅˆ›ไฝœใ€ๅคš่ฏญ่จ€ๆฒŸ้€šใ€ๅคๆ‚ๆŽจ็†ใ€ไปฃ็ ๅŠฉๆ‰‹็ญ‰ๅœบๆ™ฏๆœ‰ๆ›ด้ซ˜่ฆๆฑ‚็š„็”จๆˆทใ€‚ไธ่ฟ‡๏ผŒๅ›ฝๅ†…ๆจกๅž‹ๅœจไธญๆ–‡็†่งฃใ€ๆœฌๅœฐๅŒ–ใ€ๅˆ่ง„\"},{\"url\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/20.่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"relativePath\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/20.่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"frontmatter\":{\"date\":\"2024-06-15 22:23:00\",\"title\":\"่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡็ป“ๅˆไฟ็ฝ—ใƒปๆ ผ้›ทๅŽ„ๅง†ใ€ŠHow to Do Great Workใ€‹ๆ ธๅฟƒ่ง‚็‚น๏ผŒๆŽข่ฎจ AI ๅŽŸ็”Ÿๆ—ถไปฃๅคๅˆๅž‹ไบบๆ‰็š„ๆ ธๅฟƒ็‰น่ดจใ€‚AI ่ฎฉๅŸบ็ก€ๆ‰ง่กŒ่ƒฝๅŠ›ๅฟซ้€Ÿ่ดฌๅ€ผ๏ผŒไบบๆ‰็š„ๆ ธๅฟƒๅฃๅž’ไธๅ†ๆ˜ฏ่งฃๅ†ณ้—ฎ้ข˜๏ผŒ่€Œๆ˜ฏๆๅ‡บไผ˜่ดจ้—ฎ้ข˜ใ€ๅŸนๅ…ป้žๅ…ฑ่ฏ†ๅ“ๅ‘ณใ€‚ๅŒๆ—ถ้œ€ๅšๅฎˆๆ™บๅŠ›่ฏšๅฎž๏ผŒๆ‹ฅๆœ‰ๆ‰“็ ดๅธธ่ง„็š„ๅˆ›ๆ–ฐๅ‹‡ๆฐ”๏ผŒๅ€ŸๅŠฉ AI ๆ”พๅคงไธชไบบๆˆ้•ฟๆ ๆ†๏ผŒไปฅๅฐๅˆ‡ๅฃๅฎž่ทตๅฎž็ŽฐๆŒ‡ๆ•ฐ็บงๆˆ้•ฟใ€‚ไบบ็ฑป็‹ฌๆœ‰็š„ๅฅฝๅฅ‡ๅฟƒ๏ผŒๆ˜ฏ็ช็ ด AI ๅนณๅบธใ€ๅ–ๅพ—ๆฐๅ‡บๆˆๅฐฑ็š„ๆœ€็ปˆๅบ•ๆฐ”ใ€‚\",\"coverImg\":\"/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense/ai-native-composite-talents\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"AI\",\"ๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"date\":\"2024-06-15 22:23:00\",\"capture\":\"> \\n> ๅŽŸๆ–‡ๅœฐๅ€๏ผšhttps://paulgraham.com/greatwork.html\\n> \\n> ๅŽŸๆ–‡ไฝœ่€…๏ผšPaul Graham๏ผˆไฟ็ฝ—ยทๆ ผ้›ทๅŽ„ๅง†๏ผ‰๏ผŒ็ก…่ฐท้กถ็บงๅญตๅŒ–ๅ™จ Y Combinator ๅˆ›ๅง‹ไบบ๏ผŒ่ขซ่ช‰ไธบโ€œ็ก…่ฐทๅˆ›ไธšๆ•™็ˆถโ€๏ผŒไนŸๆ˜ฏ็ปๅ…ธๆŠ€ๆœฏๅ“ฒๅญฆ่‘—ไฝœใ€Š้ป‘ๅฎขไธŽ็”ปๅฎถใ€‹็š„ไฝœ่€…ใ€‚\\n> \\n> ๆ–‡็ซ ่ƒŒๆ™ฏ๏ผšๅŽŸๆ–‡ๆ˜ฏไฟ็ฝ—ยทๆ ผ้›ทๅŽ„ๅง†ไน‹ๅ‰ๅ‡†ๅค‡ไบ†ๅŠๅนดไน‹ไน…็š„้‡็ฃ…้•ฟๆ–‡๏ผŒไป–่ฏ•ๅ›พ่ฎฒๆ˜Ž็™ฝไธ€ไธช้€‚็”จไบŽๆฏไธชไบบ็š„ไธป้ข˜โ€”โ€”ๅฆ‚ไฝ•ๅšๆˆใ€Œๅคงไบ‹ใ€๏ผˆgreat work๏ผ‰ใ€‚้€š่ฏปๅ…จๆ–‡๏ผŒไฝ ไผšๅ‘็Žฐ๏ผŒ่ฟ™ๆ˜ฏไธ€็ฏ‡้žๅธธๅฎž็”จ็š„ๅทฅไฝœๆŒ‡ๅ—๏ผŒๅนถไธ”ๅ…ถไธญ็š„่ฎธๅคšๅ†…ๅฎน๏ผŒ้ƒฝไธŽAIๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰ๆ‰€้œ€่ฆๅ…ทๅค‡็š„็‰น่ดจ้žๅธธไธ€่‡ดใ€‚\\n 1. ๅผ•่จ€๏ผš\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/70.่ฏ—ๆญŒๅฐ็ฒพ็ต\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/70.่ฏ—ๆญŒๅฐ็ฒพ็ต\",\"frontmatter\":{\"date\":\"2024-04-19 22:15:38\",\"title\":\"้›ถไปฃ็ ไธ็ญ‰ไบŽ้›ถ้€ป่พ‘๏ผš็ป“ๆž„ๅŒ– Prompt ้ฉฑๅŠจไธ‹็š„ Agent ๆญๅปบๅฎžๆˆ˜\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจ Agent ๆฆ‚ๅฟตๆปกๅคฉ้ฃž็š„ๅฝ“ไธ‹๏ผŒๅ†ณๅฎšๅคงๆจกๅž‹ๅฎž้™…่กจ็Žฐ็š„ๅพ€ๅพ€ๆ˜ฏๆœ€ๅบ•ๅฑ‚็š„ System Prompt ่ฎพ่ฎกใ€‚ๆœฌๆ–‡่ฎฐๅฝ•ไบ†ๅ‘จๆœซๅˆฉ็”จๆ–‡ๅฟƒๆ™บ่ƒฝไฝ“ๅนณๅฐๆญๅปบโ€œ่ฏ—ๆญŒๅฐ็ฒพ็ตโ€็š„ๅฎŒๆ•ดๅฎž่ทตใ€‚้€š่ฟ‡ๅฏนๆฏ”โ€œไผ ็ปŸๅคงๆฎตๆ–‡ๆœฌโ€ไธŽโ€œLangGPT ็ป“ๆž„ๅŒ–โ€ไธค็ง Prompt ็š„ๅฎž้™…่พ“ๅ‡บ๏ผŒๆทฑๅบฆๆ‹†่งฃไบ†็ป“ๆž„ๅŒ– Prompt ๅฆ‚ไฝ•ๅƒโ€œๅ†™ไปฃ็ โ€ไธ€ๆ ท่ง„่Œƒ AI ็š„ๆ€่€ƒๅทฅไฝœๆต๏ผŒๆœ‰ๆ•ˆ่งฃๅ†ณๆŒ‡ไปคๆผ‚็งปไธŽๅนป่ง‰้—ฎ้ข˜ใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ๆฌก Prompt ่ฐƒไผ˜ๅฎž้ชŒ๏ผŒๆ›ดๆ˜ฏไธ€ๅœบๅ…ณไบŽ AI ไบงๅ“ Sense ไธŽๆœชๆฅไบคไบ’ๅฝขๆ€็š„ๆŽข็ดขใ€‚\",\"coverImg\":\"/img/cover/llm_learning_bg_2.png\",\"categories\":[\"ai-practice\"],\"permalink\":\"/ai-practice/poetry-bot\",\"tags\":[\"Agent\",\"AI\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"้›ถไปฃ็ ไธ็ญ‰ไบŽ้›ถ้€ป่พ‘๏ผš็ป“ๆž„ๅŒ– Prompt ้ฉฑๅŠจไธ‹็š„ Agent ๆญๅปบๅฎžๆˆ˜\",\"date\":\"2024-04-19 22:15:38\",\"capture\":\"1. ๅฎž่ทต่ƒŒๆ™ฏ\\nๅ‘จๆœซๅœจ็คพๅŒบๆดปๅŠจไธญๅ†ๆฌกๅฌๅˆฐไบ† LangGPT ไฝœ่€…ไบ‘ไธญๆฑŸๆ ‘ๅ…ณไบŽโ€œ็ป“ๆž„ๅŒ–ๆ็คบ่ฏโ€็š„ๅˆ†ไบซ๏ผŒ่ฎฉไบบๆ„Ÿ่งฆ้ข‡ๆทฑใ€‚่™ฝ็„ถๅฝ“ๅ‰ Agent ๆฆ‚ๅฟต็ซ็ƒญ๏ผŒๅฑ‚ๅ‡บไธ็ฉท็š„ๆก†ๆžถ่ฎฉไบบ็œผ่Šฑ็ผญไนฑ๏ผŒไฝ†ๅ›žๅฝ’ๆœฌ่ดจๆˆ‘ไปฌๅฐฑไผšๅ‘็Žฐ๏ผšSystem Prompt ็š„ๅบ•ๅฑ‚่ฎพ่ฎกใ€ไธŠไธ‹ๆ–‡ๅทฅ็จ‹ไปฅๅŠๆŒ‡ไปค้ตๅพชๆœบๅˆถ๏ผŒๆ‰ๆ˜ฏๅ†ณๅฎšไธ€ไธช Agent ็ต้ญ‚็š„ๅ…ณ้”ฎใ€‚\\nๆญฃๅทงๅคงๅ›ข้˜Ÿ่‡ช็ ”็š„้›ถไปฃ็  Agent ๅนณๅฐ่ฟ‘ๆœŸๅ‘ๅธƒไบ†ๆ–ฐ็‰ˆๆœฌ๏ผŒไธบไบ†ไบฒๆต‹ๅนณๅฐๆ€ง่ƒฝๅนถๅฎžๆˆ˜ๆผ”็ปƒ็ป“ๆž„ๅŒ– Prompt ็š„็ผ–ๅ†™ๆŠ€ๅทง๏ผŒๆˆ‘ๅ†ณๅฎšๅˆ›ๅปบไธ€ไธชโ€œ่ฏ—ๆญŒๅฐ็ฒพ็ตโ€ Agentใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ไธช่ถฃๅ‘ณๅฎž้ชŒ๏ผŒๆ›ดๆ˜ฏไธบไบ†ๆŽข็ดข AI ๅœจๆ–‡ๅญฆๅˆ›ไฝœ่ฟ™็งโ€œๆ„Ÿๆ€ง้ข†ๅŸŸโ€ไธญ๏ผŒๅฆ‚ไฝ•้€š่ฟ‡โ€œ็†ๆ€ง็š„็ป“ๆž„็บฆๆŸโ€่พพๅˆฐๆ›ด้ซ˜็š„่พ“ๅ‡บไธŠ้™ใ€‚\\n 2. ๅนณๅฐไธŽ\"}],\"ๅ…จๆ ˆ\":[{\"url\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"relativePath\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"frontmatter\":{\"date\":\"2025-10-24 11:05:50\",\"title\":\"ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจ AI ้‡ๅก‘่ฝฏไปถๅทฅ็จ‹็š„ไปŠๅคฉ๏ผŒๅ…จๆ ˆไธๅ†ๆ˜ฏๆŠ€ๆœฏ็š„็บฟๆ€งๅ ๅŠ ๏ผŒๆญฃๅœจไปŽโ€œๆŠ€ๆœฏๆ ˆๅ †็ Œโ€่ฝฌๅ‘โ€œ่ฎค็Ÿฅๆ ˆ้‡ๆž„โ€ใ€‚ๆœฌๆ–‡ๆๅ‡บ โ€œ(ๅทฅ็จ‹ + ไบงๅ“) ร— AIโ€ ็š„ๆ–ฐๅ…ฌๅผ๏ผŒๅŠฉๅŠ›ๅผ€ๅ‘่€…ๆž„ๅปบโ€œๆดžๅฏŸ-ๆžถๆž„-ๆ ๆ†โ€่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”๏ผŒๅˆฉ็”จ AI ๆ ๆ†่ฎฉ่‡ชๅทฑ่ฟ›ๅŒ–ไธบไปทๅ€ผๅˆ›้€ ่€…ใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"permalink\":\"/fullstack/ai-native\",\"sticky\":1,\"top\":true,\"tags\":[\"ๅ…จๆ ˆ\",\"AI\",\"ไบงๅ“\"],\"categories\":[\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"date\":\"2025-10-24 11:05:50\",\"capture\":\"<script setup>\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n 1. ๅผ•่จ€\\nๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒๅฝ“ๆˆ‘ไปฌ่ฐˆ่ฎบโ€œๅ…จๆ ˆๅทฅ็จ‹ๅธˆโ€ๆ—ถ๏ผŒ่„‘ๆตทไธญๆตฎ็Žฐ็š„ๅพ€ๅพ€ๆ˜ฏไธ€ๅผ ๅ†—้•ฟไธ”ไปคไบบ็–ฒๆƒซ็š„ๆŠ€ๆœฏๅทฅๅบๆธ…ๅ•ใ€‚\\nๅฐฑๅƒๆˆ‘ๆ›พ็ปไปฅไธบ็š„้‚ฃๆ ท๏ผŒๅ…จๆ ˆๅฐฑๆ˜ฏ็บฟๆ€ง็š„ๆŠ€่ƒฝๅ ๅŠ ไธŽ็‰ฉ็†ๅผ็š„ๆŠ€ๆœฏๆ‹ผๆŽฅ๏ผŒๆ˜ฏไธ€็งไพ้ ไบบๅŠ›ๅŽปๅกซ่กฅๆŠ€ๆœฏ้ธฟๆฒŸ็š„โ€œ่ฅฟ่ฅฟๅผ—ๆ–ฏๅผโ€ๅŠชๅŠ›๏ผš\\n* ็บฟๆ€ง็š„ๆŠ€่ƒฝๅ ๅŠ ๏ผšๆˆ‘ไปฌ่ขซ่ฟซๆˆไธบโ€œๅ…จ่ƒฝๆ‰‹โ€๏ผŒๅทฆๆ‰‹็”จ React/Vue ๆž„ๅปบ็ฒพ็พŽ็š„ UI๏ผŒๅณๆ‰‹็”จ Node/Go ็ผ–ๅ†™้ซ˜ๅนถๅ‘ API๏ผŒไธญ้—ด่ฟ˜่ฆๅค„็†ๆ•ฐๆฎๅบ“็š„ ACI\"},{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/02.CSSๅทฅ็จ‹ๅŒ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/02.CSSๅทฅ็จ‹ๅŒ–\",\"frontmatter\":{\"date\":\"2026-03-10 22:05:50\",\"title\":\"ไปŽๅŽŸๅญๅŒ–ๅˆฐๅ˜ไฝ“้ฉฑๅŠจ๏ผš็Žฐไปฃ CSS ๅทฅ็จ‹ๅŒ–็š„ๆžถๆž„ๆผ”่ฟ›ไธŽๆททๅˆๅฎž่ทตๆŒ‡ๅ—\",\"description\":\"ๆœฌๆ–‡็ณป็ปŸๅ‰–ๆžไธปๆต CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆ็š„ๅบ•ๅฑ‚้€ป่พ‘๏ผŒๆๅ‡บโ€œๆ ทๅผ่ต„ไบง ROIโ€่ฏ„ไผฐๆจกๅž‹๏ผŒๅนถ้’ˆๅฏน Vue/React ็”Ÿๆ€็ป™ๅ‡บไบ†้ขๅ‘ AI ๆ—ถไปฃ็š„ไผไธš็บงๆททๅˆๆžถๆž„้€‰ๅž‹ๅปบ่ฎฎใ€‚\",\"permalink\":\"/full-stack/css-engineering\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"top\":true,\"categories\":[\"ๅ…จๆ ˆ\"],\"tags\":[\"ๅ…จๆ ˆ\",\"CSS\",\"ๅทฅ็จ‹ๅŒ–\",\"tailwindcss\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไปŽๅŽŸๅญๅŒ–ๅˆฐๅ˜ไฝ“้ฉฑๅŠจ๏ผš็Žฐไปฃ CSS ๅทฅ็จ‹ๅŒ–็š„ๆžถๆž„ๆผ”่ฟ›ไธŽๆททๅˆๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-03-10 22:05:50\",\"capture\":\"1. ๅผ•่จ€๏ผšไธปๆต CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆๆœ‰ๅ“ชไบ›๏ผŸ\\nๅœจ็Žฐไปฃๅ‰็ซฏๅผ€ๅ‘ไธญ๏ผŒ้š็€้กน็›ฎๅคๆ‚ๅบฆ็š„ๆ€ฅๅ‰งๆๅ‡๏ผŒๅŽŸ็”Ÿ CSS ๅธธๅธธ้ขไธดๅ…จๅฑ€ๆฑกๆŸ“ใ€ๅค็”จๅ›ฐ้šพใ€ๅฑ‚็บงๅตŒๅฅ—่ฟ‡ๆทฑไปฅๅŠ็ปดๆŠคๆˆๆœฌๆž้ซ˜็ญ‰้—ฎ้ข˜ใ€‚ไธบไบ†่งฃๅ†ณ่ฟ™ไบ›็—›็‚น๏ผŒ็คพๅŒบๅคšๅนดๆฅไธๆ–ญๆŽข็ดข๏ผŒๆฒ‰ๆท€ๅ‡บไบ†ๅคš็งไธปๆต็š„ CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆใ€‚\\n้™คๅŽŸ็”Ÿ CSS ไน‹ๅค–๏ผŒไธปๆตๆ–นๆกˆ่ฟ˜ๅŒ…ๆ‹ฌ้ข„ๅค„็†ๅ™จใ€CSS-in-JSใ€CSS Moduleใ€Scoped CSSใ€ๅŽŸๅญๅŒ– CSS ็ญ‰ใ€‚BEM ไฝœไธบไธ€็งๅŸบไบŽๅ‘ฝๅ็บฆๅฎšๆฅ่ง„้ฟๅ‘ฝๅๅ†ฒ็ช็š„ๆ—ฉๆœŸๆ–นๆกˆ๏ผŒๅœจ็Žฐไปฃๅ‰็ซฏๅทฅ็จ‹ไธญๅทฒๅŸบๆœฌไธๅ†ไฝฟ็”จ๏ผŒๅ› ๆญคๆœฌๆ–‡ไธๅ†ๅฏนๅ…ถๅฑ•ๅผ€่ฏฆ็ป†ๅˆ†ๆžใ€‚\\n> CSS ๅ‘ฝๅ่ง„่Œƒ๏ผˆBEM๏ผ‰๏ผš้€š่ฟ‡ไธฅๆ ผ็š„ๅ‘ฝๅ็บฆๅฎš๏ผˆๅฆ‚ Block__Element--Modif\"},{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"frontmatter\":{\"date\":\"2026-03-05 16:54:35\",\"title\":\"ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"aliases\":[\"Server-Sent Events\",\"HTTP Streaming\"],\"tldr\":\"ๆทฑๅ…ฅ่งฃๆžๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผŒๆไพ›ไปŽๆฆ‚ๅฟตๅˆฐ็”Ÿไบงๅฎž่ทต็š„ๅฎŒๆ•ด่งฃๅ†ณๆ–นๆกˆใ€‚\",\"description\":\"่พจๆžๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ็š„ๆฆ‚ๅฟตไธŽๅฑ‚ๆฌกๅ…ณ็ณป๏ผŒ่ฏฆ่งฃๅฎขๆˆท็ซฏไธŽๆœๅŠก็ซฏๅฎž็Žฐๆ–นๆกˆ๏ผŒๆไพ›็”Ÿไบงๅฎž่ทตๅฎŒๆ•ดๆŒ‡ๅ—ใ€‚\",\"tags\":[\"tutorial\",\"SSE\",\"HTTP Streaming\",\"ๅ…จๆ ˆ\"],\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"permalink\":\"/fullstack/networking/sse-practice\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"date\":\"2026-03-05 16:54:35\",\"capture\":\"<script setup\\n import HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n> ๆ‘˜่ฆๆ€ป็ป“: ้’ˆๅฏนๅผ€ๅ‘่€…ๅฎนๆ˜“ๆททๆท†ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ็š„้—ฎ้ข˜๏ผŒไปŽๆฆ‚ๅฟตๅฑ‚ๆฌกๅ‡บๅ‘ๅŽ˜ๆธ…ไบŒ่€…ๆœฌ่ดจๅŒบๅˆซไธŽๅไฝœๅ…ณ็ณป๏ผŒๆŒ‡ๅ‡บๆตๅผ HTTP ๆ˜ฏๅบ•ๅฑ‚ไผ ่พ“ๆœบๅˆถ่€Œ SSE ๆ˜ฏๅบ”็”จๅฑ‚ๆ•ฐๆฎๆ ผๅผ็บฆๅฎšใ€‚ๆ–‡็ซ ไพๆฌกไป‹็ปๅŽŸ็”Ÿ EventSource APIใ€fetch + ReadableStream ่ฟ›้˜ถๆ–นๆกˆใ€@microsoft/fetch-event-source ๅทฅไธš็บงๅฎž็Žฐ็ญ‰ไธ‰็งๅฎขๆˆท็ซฏๆ–นๆกˆ๏ผŒๅนถไปฅ Nes\"},{\"url\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/02.้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/02.้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-03-02 11:05:50\",\"title\":\"้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ AI ๆž้€Ÿ้™ไฝŽไปฃ็ ็ผ–ๅ†™้—จๆง›๏ผŒๅ•็บฏ็š„โ€œไธšๅŠกไปฃ็ ็ฟป่ฏ‘ๅ™จโ€่ง’่‰ฒๆญฃๅŠ ้€Ÿ่ดฌๅ€ผใ€‚ๆœฌๆ–‡ไปŽๆŠ€ๆœฏๆผ”่ฟ›ไธŽไบงๅ“ๆ€่€ƒ็š„ไบคๆฑ‡็‚นๅ‡บๅ‘๏ผŒๅฐ† AI ๆ—ถไปฃ็š„ๅผ€ๅ‘่€…่ƒฝๅŠ›ๅ›พ่ฐฑ้‡ๆ–ฐๅˆ’ๅˆ†ไธบไธ‰ๅคงๆ ธๅฟƒๅœˆๅฑ‚๏ผšไบงๅ“ๅบ”็”จๅฑ‚๏ผˆInsight Stack๏ผ‰ใ€Agent ๅผ€ๅ‘ๅฑ‚ไธŽ AI ๅŸบ็ก€่ฎพๆ–ฝๅฑ‚ใ€‚ๆ— ่ฎบไฝ ๆ˜ฏๆทฑ่€•่ง†ๅ›พๅฑ‚ไบคไบ’ใ€็ฒพ้€š Node.js ็ญ‰ๆœๅŠก็ซฏๆžถๆž„็š„ๅผ€ๅ‘่€…๏ผŒ่ฟ˜ๆ˜ฏ่‡ดๅŠ›ไบŽๆŠ€ๆœฏ่ฝๅœฐ็š„ๆŽข็ดข่€…๏ผŒ้ƒฝ่ƒฝๅœจ่ฟ™ไปฝๆผ”่ฟ›ๆŒ‡ๅ—ไธญๆ‰พๅˆฐๆ‰“็ ด่ƒฝๅŠ›่พน็•Œใ€ๅ‘โ€œ่ถ…็บงไธชไฝ“โ€ไธŽโ€œAI ๆ™บ่ƒฝไฝ“ๆŒ‡ๆŒฅๅฎ˜โ€่ทƒ่ฟ็š„็ ดๅฑ€ไน‹้“ใ€‚\",\"permalink\":\"/fullstack/ai-engineer-capability\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"top\":true,\"tags\":[\"ๅ…จๆ ˆ\",\"AI\"],\"categories\":[\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"date\":\"2026-03-02 11:05:50\",\"capture\":\"<script setup>\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/ai_engineering_arc.png\\\" style=\\\"width: 100%; border-radius: 8px; margin-bottom: 20px;\\\" alt=\\\"about site back\"},{\"url\":\"/01.ๅ…จๆ ˆ/90.ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่/90.ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"relativePath\":\"/01.ๅ…จๆ ˆ/90.ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่/90.ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"frontmatter\":{\"date\":\"2026-02-06 15:58:53\",\"title\":\"ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡็ณป็ปŸๆขณ็†ไบ†็Žฐไปฃๅ…จๆ ˆๅผ€ๅ‘็š„ๅฎŒๆ•ดๆŠ€ๆœฏๅ›พ่ฐฑไธŽๆผ”่ฟ›่Œƒๅผ๏ผŒไธบๅผ€ๅ‘่€…ๆไพ›ไบ†ไธ€็ซ™ๅผ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—ใ€‚ๆ–‡็ซ ไปŽๅŸบ็Ÿณๅ‡บๅ‘๏ผŒ่ฆ†็›– Web ๆ ธๅฟƒ่ฏญ่จ€๏ผˆJS/TS๏ผ‰ ไธŽ ไธปๆต UI ๆก†ๆžถ๏ผˆReact/Vue/Svelte๏ผ‰๏ผŒๅนถๆŽจ่ไปฅ Tailwind CSS ๅ’Œ shadcn/ui ไธบไปฃ่กจ็š„็Žฐไปฃๆ ทๅผไธŽ็ป„ไปถๅŽŸ่ฏญใ€‚ๅœจๆ ธๅฟƒไธšๅŠก้€ป่พ‘ๅฑ‚๏ผŒๆทฑๅบฆๅฏนๆฏ”ไบ†่ฝป้‡ๅŒ–็Šถๆ€็ฎก็†ๆ–นๆกˆ๏ผˆ้ฆ–ๆŽจ Zustand/Jotai๏ผ‰๏ผŒๅนถ้‡็‚น่งฃๆžไบ†ๆ•ฐๆฎไบคไบ’็š„ไธ‰ๅคง็Žฐไปฃๆžถๆž„่Œƒๅผ๏ผšไปŽๅŸบ็ก€ Axios ๅˆฐ React Query ็Šถๆ€่ฐƒๅบฆ๏ผŒๅ†ๅˆฐ tRPC ๅ’Œ GraphQL ๅธฆๆฅ็š„ๅ…จๆ ˆ็ฑปๅž‹ๅฎ‰ๅ…จไธŽๅคš็ซฏ่šๅˆใ€‚ๅœจๅทฅ็จ‹ๅŒ–ไธŽๆœๅŠก็ซฏๆจกๅ—๏ผŒๆ–‡็ซ ๅ…จ้ขๆ‹ฅๆŠฑ Viteใ€Rsbuild ็ญ‰ๆž้€Ÿๆž„ๅปบๅทฅๅ…ท๏ผŒๅนถๅ‰–ๆžไบ† Next.js/Nuxt ๅŒๆž„ๅ…ƒๆก†ๆžถไธŽ NestJS ไผไธš็บง Node ๆœๅŠก็š„ๆœ€ไฝณ้€‚็”จๅœบๆ™ฏใ€‚ๆœ€ๅŽ๏ผŒ่พ…ไปฅ Vercel ็ญ‰็Žฐไปฃ่พน็ผ˜้ƒจ็ฝฒๅนณๅฐๅŠไธฐๅฏŒ็š„ๅผ€ๆบ็คพๅŒบๅญฆไน ่ต„ๆบใ€‚\",\"permalink\":\"/growth/full-stack-resources\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"date\":\"2026-02-06 15:58:53\",\"capture\":\"> - ๆ–‡็ซ ไปŽๅŸบ็Ÿณๅ‡บๅ‘๏ผŒ่ฆ†็›– Web ๆ ธๅฟƒ่ฏญ่จ€๏ผˆJS/TS๏ผ‰ ไธŽ ไธปๆต UI ๆก†ๆžถ๏ผˆReact/Vue/Svelte๏ผ‰๏ผŒๅนถๆŽจ่ไปฅ Tailwind CSS ๅ’Œ shadcn/ui ไธบไปฃ่กจ็š„็Žฐไปฃๆ ทๅผไธŽ็ป„ไปถๅŽŸ่ฏญใ€‚\\n> - ๅœจๆ ธๅฟƒไธšๅŠก้€ป่พ‘ๅฑ‚๏ผŒๆทฑๅบฆๅฏนๆฏ”ไบ†่ฝป้‡ๅŒ–็Šถๆ€็ฎก็†ๆ–นๆกˆ๏ผˆ้ฆ–ๆŽจ Zustand/Jotai๏ผ‰๏ผŒๅนถ้‡็‚น่งฃๆžไบ†ๆ•ฐๆฎไบคไบ’็š„ไธ‰ๅคง็Žฐไปฃๆžถๆž„่Œƒๅผ๏ผšไปŽๅŸบ็ก€ Axios ๅˆฐ React Query ็Šถๆ€่ฐƒๅบฆ๏ผŒๅ†ๅˆฐ tRPC ๅ’Œ GraphQL ๅธฆๆฅ็š„ๅ…จๆ ˆ็ฑปๅž‹ๅฎ‰ๅ…จไธŽๅคš็ซฏ่šๅˆใ€‚\\n> - ๅœจๅทฅ็จ‹ๅŒ–ไธŽๆœๅŠก็ซฏๆจกๅ—๏ผŒๆ–‡็ซ ๅ…จ้ขๆ‹ฅๆŠฑ Viteใ€Rsbuild ็ญ‰ๆž้€Ÿๆž„ๅปบๅทฅๅ…ท๏ผŒๅนถๅ‰–ๆžไบ† Next.js/N\"},{\"url\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/10.่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"relativePath\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/10.่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"frontmatter\":{\"date\":\"2025-12-06 22:05:50\",\"title\":\"่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"description\":\"่ฝฏไปถๅทฅ็จ‹ๆญฃ็ปๅކไปŽโ€œๆ‰‹ๅ†™้€ป่พ‘โ€ๅ‘โ€œๆ„ๅ›พ่ฐƒๅบฆโ€็š„่Œƒๅผ่ฟๅพ™ใ€‚Anthropic ็š„็ ”็ฉถๆญ็คบไบ† AI ๅนถ้ž็ฎ€ๅ•็š„ๆๆ•ˆๅทฅๅ…ท๏ผŒ่€Œๆ˜ฏ้€š่ฟ‡้‡Šๆ”พ 27% ๆ›พ็ปโ€œไธๅˆ’็ฎ—โ€็š„ๅทฅ็จ‹ไปปๅŠก๏ผŒ้‡ๅก‘ไบ†่ฝฏไปถ่ดจ้‡็š„ๅฏ†ๅบฆใ€‚ๅœจ่‡ช็„ถ่ฏญ่จ€ๅณ็ผ–็จ‹่ฏญ่จ€็š„ๆ—ถไปฃ๏ผŒๆˆ‘ไปฌ้œ€่ฆ้€š่ฟ‡่ง„ๆ ผ้ฉฑๅŠจ๏ผˆSDD๏ผ‰ไธŽๅคšๆ™บ่ƒฝไฝ“็ผ–ๆŽ’๏ผŒ็ ด่งฃโ€œ็›‘็ฃๆ‚–่ฎบโ€ๅธฆๆฅ็š„ๆŠ€่ƒฝๅนณๅบธๅŒ–ๅฑๆœบ๏ผŒๅฐ† AI ็š„ๆฆ‚็އๆ€ง็”Ÿๆˆ้ฉฏๅŒ–ไธบ็กฎๅฎšๆ€ง็š„ๅทฅ็จ‹ไบคไป˜ใ€‚ๅฝ“็ผ–็ ๆˆๆœฌ่ถ‹ไบŽ้›ถ๏ผŒๅทฅ็จ‹ๅธˆ็š„็ปˆๆžๅฃๅž’ๅฐ†ๆ˜ฏๅฎšไน‰ๅฎŒ็พŽ็š„ๅ“ๅ‘ณ๏ผŒไปฅๅŠๅœจ AI ่ฟท้›พไธญ่ฏ†็ ดๅนณๅบธ็š„ๆดžๅฏŸๅŠ›ใ€‚\",\"permalink\":\"/fullstack/ai-change-work-workflow/\",\"top\":true,\"tags\":[\"ๅ…จๆ ˆ\",\"AI\"],\"categories\":[\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"date\":\"2025-12-06 22:05:50\",\"capture\":\"<script setup>\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\nๅœฐๅ€๏ผšHow AI is transforming work at Anthropic\\nๆ ธๅฟƒๆ ‡็ญพ๏ผš`AI่พ…ๅŠฉ็ผ–็จ‹` `ๅทฅ็จ‹` `่Œƒๅผ่ฝฌ็งป` `ๅทฅไฝœ่ฝฌๅž‹` `็”ŸไบงๅŠ›ๆๅ‡` `ๆŠ€่ƒฝๅ‘ๅฑ•` `ไบบๆœบๅไฝœ` \\nไธ€ๅฅ่ฏไป‹็ป๏ผšAnthropic ไธไป…ไป…ๆ˜ฏ AI ๅทฅๅ…ท็š„็”Ÿไบง่€…๏ผŒๆ›ดๆ˜ฏ็ฌฌไธ€ไธช่ฟ›ๅ…ฅโ€œๆœชๆฅๅฎž้ชŒๅฎคโ€็š„ๆทฑๅบฆ่ง‚ๅฏŸ่€…ใ€‚ไป–ไปฌ้€š่ฟ‡ๅ†…้ƒจๆ•ฐๆœˆ็š„ๅฎž้ชŒๆ•ฐๆฎๅ‘Š่ฏ‰ๆˆ‘ไปฌ๏ผšๅคงๆจกๅž‹ๅฏน่ฝฏไปถๅทฅ็จ‹็š„ๆ”น้€ ๏ผŒ็ป้ž็ฎ€ๅ•็š„โ€œๆๆ•ˆโ€๏ผŒ่€Œๆ˜ฏไธ€\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"frontmatter\":{\"date\":\"2024-05-16 21:27:36\",\"title\":\"ไปŽ้€ป่พ‘้š”็ฆปๅˆฐ็ฑปๅž‹ๅฅ‘็บฆ๏ผšTypeScript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"tldr\":\"TypeScript ๅฐ†ๆจกๅ—ไพ่ต–ๆๅ‡ไธบ็ผ–่ฏ‘ๆ—ถ็ฑปๅž‹ๅฅ‘็บฆ๏ผŒไปŽ import type ๅˆฐๅฃฐๆ˜Žๆ–‡ไปถใ€‚\",\"description\":\"็ณป็ปŸ่ฎฒ่งฃ TypeScript ๅฏน ES Modules ็š„็ฑปๅž‹ๅขžๅผบ๏ผŒๆถต็›– import type ่ฟ่กŒๆ—ถไผ˜ๅŒ–ใ€ๆŽฅๅฃๅฅ‘็บฆใ€ๅฃฐๆ˜Žๆ–‡ไปถ .d.ts ๅŠ tsconfig ๆจกๅ—ๅŒ–้…็ฝฎใ€‚\",\"permalink\":\"/fullstack/typescript-module-programming-enhancement\",\"tags\":[\"concept\",\"ๅ…จๆ ˆ\",\"typescript\",\"tsconfig\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไปŽ้€ป่พ‘้š”็ฆปๅˆฐ็ฑปๅž‹ๅฅ‘็บฆ๏ผšTypeScript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"date\":\"2024-05-16 21:27:36\",\"capture\":\"1. ๅผ•่จ€\\nๅœจๅŽŸ็”Ÿ JavaScript ๆจกๅ—ๅŒ–่งฃๅ†ณไบ†ไปฃ็ ็ป„็ป‡้—ฎ้ข˜ๅŽ๏ผŒTypeScript๏ผˆTS๏ผ‰่ฟ›ไธ€ๆญฅๅฐ†ๅ…ถๆŽจๅ‘ไบ†ๅทฅไธš็บง้ซ˜ๅบฆใ€‚TS ไธไป…ไป…ๆ˜ฏไธบๆจกๅ—ๆทปๅŠ ไบ†็ฑปๅž‹ๆ ‡ๆณจ๏ผŒๅฎƒ้€š่ฟ‡็ฑปๅž‹ๅฏผๅ‡บๅฏผๅ…ฅใ€็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ใ€ไปฅๅŠๅฃฐๆ˜Žๆ–‡ไปถ็ณป็ปŸ๏ผŒๅฐ†ๆจกๅ—้—ด็š„ไพ่ต–ๅ…ณ็ณปไปŽ็ฎ€ๅ•็š„โ€œไปฃ็ ๅผ•็”จโ€ๆๅ‡ๅˆฐไบ†โ€œๅฅ‘็บฆไบคไบ’โ€ใ€‚\\nๆœฌๆ–‡ๆˆ‘ไปฌๅฐ†่š็„ฆไบŽ TypeScript ๅฆ‚ไฝ•้€š่ฟ‡็ฑปๅž‹็ณป็ปŸๅขžๅผบๆจกๅ—ๅŒ–็ผ–็จ‹๏ผŒๅนถๆŽข่ฎจๅœจ็Žฐไปฃๅทฅ็จ‹๏ผˆๅฐคๅ…ถๆ˜ฏ TS 5.0+ ๆ—ถไปฃ๏ผ‰ไธ‹็š„ๆœ€ไฝณ้…็ฝฎๅฎž่ทตใ€‚\\n 2. ็ฑปๅž‹ๅฏผๅ‡บไธŽๅฏผๅ…ฅ๏ผšๆž่‡ด็š„่ฟ่กŒๆ—ถไผ˜ๅŒ–\\nTypeScript ๅฏน ES Modules ่ฏญๆณ•ๆœ€ๆ˜พ่‘—็š„ๆ‰ฉๅฑ•ๆ˜ฏๆ”ฏๆŒโ€œไป…็ฑปๅž‹โ€๏ผˆType-only๏ผ‰็š„ๅฏผๅ‡บไธŽๅฏผๅ…ฅใ€‚่ฟ™ไธไป…ๆ˜ฏ่ฏญไน‰ไธŠ็š„ๆธ…ๆ™ฐ๏ผŒๆ›ดๆ˜ฏๆ€ง\"}],\"ไบงๅ“\":[{\"url\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"relativePath\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"frontmatter\":{\"date\":\"2025-10-24 11:05:50\",\"title\":\"ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจ AI ้‡ๅก‘่ฝฏไปถๅทฅ็จ‹็š„ไปŠๅคฉ๏ผŒๅ…จๆ ˆไธๅ†ๆ˜ฏๆŠ€ๆœฏ็š„็บฟๆ€งๅ ๅŠ ๏ผŒๆญฃๅœจไปŽโ€œๆŠ€ๆœฏๆ ˆๅ †็ Œโ€่ฝฌๅ‘โ€œ่ฎค็Ÿฅๆ ˆ้‡ๆž„โ€ใ€‚ๆœฌๆ–‡ๆๅ‡บ โ€œ(ๅทฅ็จ‹ + ไบงๅ“) ร— AIโ€ ็š„ๆ–ฐๅ…ฌๅผ๏ผŒๅŠฉๅŠ›ๅผ€ๅ‘่€…ๆž„ๅปบโ€œๆดžๅฏŸ-ๆžถๆž„-ๆ ๆ†โ€่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”๏ผŒๅˆฉ็”จ AI ๆ ๆ†่ฎฉ่‡ชๅทฑ่ฟ›ๅŒ–ไธบไปทๅ€ผๅˆ›้€ ่€…ใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"permalink\":\"/fullstack/ai-native\",\"sticky\":1,\"top\":true,\"tags\":[\"ๅ…จๆ ˆ\",\"AI\",\"ไบงๅ“\"],\"categories\":[\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"date\":\"2025-10-24 11:05:50\",\"capture\":\"<script setup>\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n 1. ๅผ•่จ€\\nๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒๅฝ“ๆˆ‘ไปฌ่ฐˆ่ฎบโ€œๅ…จๆ ˆๅทฅ็จ‹ๅธˆโ€ๆ—ถ๏ผŒ่„‘ๆตทไธญๆตฎ็Žฐ็š„ๅพ€ๅพ€ๆ˜ฏไธ€ๅผ ๅ†—้•ฟไธ”ไปคไบบ็–ฒๆƒซ็š„ๆŠ€ๆœฏๅทฅๅบๆธ…ๅ•ใ€‚\\nๅฐฑๅƒๆˆ‘ๆ›พ็ปไปฅไธบ็š„้‚ฃๆ ท๏ผŒๅ…จๆ ˆๅฐฑๆ˜ฏ็บฟๆ€ง็š„ๆŠ€่ƒฝๅ ๅŠ ไธŽ็‰ฉ็†ๅผ็š„ๆŠ€ๆœฏๆ‹ผๆŽฅ๏ผŒๆ˜ฏไธ€็งไพ้ ไบบๅŠ›ๅŽปๅกซ่กฅๆŠ€ๆœฏ้ธฟๆฒŸ็š„โ€œ่ฅฟ่ฅฟๅผ—ๆ–ฏๅผโ€ๅŠชๅŠ›๏ผš\\n* ็บฟๆ€ง็š„ๆŠ€่ƒฝๅ ๅŠ ๏ผšๆˆ‘ไปฌ่ขซ่ฟซๆˆไธบโ€œๅ…จ่ƒฝๆ‰‹โ€๏ผŒๅทฆๆ‰‹็”จ React/Vue ๆž„ๅปบ็ฒพ็พŽ็š„ UI๏ผŒๅณๆ‰‹็”จ Node/Go ็ผ–ๅ†™้ซ˜ๅนถๅ‘ API๏ผŒไธญ้—ด่ฟ˜่ฆๅค„็†ๆ•ฐๆฎๅบ“็š„ ACI\"}],\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\":[{\"url\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/10.่ฏปไนฆไธ‰่ฆไธ‰ไธ่ฆ\",\"relativePath\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/10.่ฏปไนฆไธ‰่ฆไธ‰ไธ่ฆ\",\"frontmatter\":{\"date\":\"2025-03-06 11:42:20\",\"title\":\"่ฏปไนฆโ€œไธ‰่ฆโ€ๅ’Œโ€œไธ‰ไธ่ฆโ€\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจไฟกๆฏ็ˆ†็‚ธ็š„ๆ—ถไปฃ๏ผŒ่ฏปไนฆไพ็„ถๆ˜ฏ่Žทๅ–ๆทฑๅบฆ็Ÿฅ่ฏ†ๆœ€้ซ˜ๆ•ˆ็š„ๆ–นๅผไน‹ไธ€ใ€‚ไฝ†โ€œๆง่ตทไนฆโ€ๅนถไธ็ญ‰ไบŽโ€œๆœ‰ๆ”ถ่Žทโ€๏ผŒๆ€Žไนˆ่ฏปๅพ€ๅพ€ๆฏ”่ฏปไป€ไนˆๆ›ด้‡่ฆใ€‚ๆœฌๆ–‡ๆ€ป็ป“ไบ†้ซ˜ๆ•ˆ้˜…่ฏป็š„โ€œไธ‰่ฆโ€ไธŽโ€œไธ‰ไธ่ฆโ€๏ผšไปŽๅฎŒๆ•ด้˜…่ฏป่ง‚ๆ‘ฉๅคงๅธˆๆ€็ปดใ€ๅธฆ็€้—ฎ้ข˜ๆž„ๅปบ็Ÿฅ่ฏ†ๆ ‘๏ผŒๅˆฐ้€š่ฟ‡่ฎจ่ฎบๆฃ€้ชŒ็†่งฃ๏ผ›ๅŒๆ—ถๆ้†’้˜…่ฏป่€…่ญฆๆƒ•ๅ“€ๆ€จๅฟƒๆ€ๅฏน้˜…่ฏปๅˆ่กท็š„ๅผ‚ๅŒ–ใ€้ฟๅ…้™ทๅ…ฅๅฏน็‰ฉ็†ๅช’ไป‹็š„โ€œ็Žฉ็‰ฉไธงๅฟ—โ€๏ผŒไปฅๅŠๅˆ‡ๅฟŒ่„ฑ็ฆป็Žฐๅฎž็š„โ€œ็œŸ็ฉบโ€้˜…่ฏปใ€‚้˜…่ฏปไธไป…ๆ˜ฏๅ‘ๅ†…ๆŽข็ดข็š„็ฒพ็ฅžไน‹ๆ—…๏ผŒๆ›ดๆ˜ฏๅ‘ๅค–็†่งฃ็œŸๅฎžไธ–็•Œใ€ๅˆ›้€ ็คพไผšไปทๅ€ผ็š„ๅฎž็”จๅทฅๅ…ทใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/reading_need.png\",\"permalink\":\"/pages/growth/reading-tips\",\"sticky\":1,\"top\":true,\"categories\":[\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\"],\"tags\":[\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ฏปไนฆโ€œไธ‰่ฆโ€ๅ’Œโ€œไธ‰ไธ่ฆโ€\",\"date\":\"2025-03-06 11:42:20\",\"capture\":\"<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/reading_need.png\\\" style=\\\"width: 100%; border-radius: 8px; margin-bottom: 20px;\\\" alt=\\\"about site background\\\">\\n 1. ๆˆ‘ไปฌไธบไป€ไนˆ้œ€่ฆ่ฏปไนฆ๏ผŸ\\n่ฏปไนฆๆ˜ฏไปŽๅค–็•ŒๆŽฅๅ—ไฟกๆฏ็š„ไธ€็งๆ–นๅผ๏ผŒไธŽ่Šๅคฉใ€ๆต่งˆ็ฝ‘้กตใ€ๅฌๆ’ญๅฎขใ€็œ‹็”ต่ง†ๅนถๆ— ๆœฌ่ดจๅŒบๅˆซใ€‚ไฝ†ไนฆ่ฟ™็งๅช’ไป‹ไธŽๅ…ถไป–ไฟกๆฏๅช’ไป‹็›ธๆฏ”๏ผŒๆœ‰ๅ…ถ็‹ฌๆœ‰็š„ไผ˜ๅŠฟ๏ผš\\n- ๆทฑๅบฆไธŽไธฅ่ฐจ๏ผšไนฆ็ฑๅพ€ๅพ€ๆ˜ฏๅˆ›ไฝœ่€…ๅคšๅนดๆ€่€ƒใ€้•ฟๆœŸ\"},{\"url\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"relativePath\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"frontmatter\":{\"date\":\"2023-01-08 10:23:50\",\"title\":\"ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅฆ‚ไฝ•้ฟๅ…ๅ†…่€—๏ผŸๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ไธ‰ๅนด้—ด็š„โ€œ่‡ชๆˆ‘้‡ๆž„โ€ๅฎž้ชŒใ€‚ๆ–‡็ซ ๆ‘’ๅผƒไบ†ๅ•็บฏ็š„ๆƒ…็ปชๅฎฃๆณ„๏ผŒ่€Œๆ˜ฏๅˆฉ็”จๅˆ†่งฃๆณ•ใ€ๆธ่ฟ›ๆ˜Ž็ป†ๅ’Œ็ปŸ่ฎกๅˆ†ๆž็ญ‰ๅทฅ็จ‹ๆ€็ปด๏ผŒๅฏนๅฅๅบท้ฅฎ้ฃŸใ€็Ÿฅ่ฏ†ไฝ“็ณปใ€ๆ—ถ้—ดๅˆ†้…ๅŠ่ฟœ็จ‹ๅไฝœ่ฟ›่กŒไบ†็ณป็ปŸๅŒ–ๆ”น้€ ใ€‚่ฟ™ๆ˜ฏไธ€ไปฝๅ…ณไบŽๅฆ‚ไฝ•ๅœจๆ— ๅธธ็š„ๅค–้ƒจ็Žฏๅขƒไธญ๏ผŒๅปบ็ซ‹ๅ†…ๅœจ็กฎๅฎšๆ€ง็งฉๅบ็š„่กŒๅŠจๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/growth/inner-experience\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/refactor_life.png\",\"sticky\":1,\"top\":true,\"categories\":\"ไธชไบบๆˆ้•ฟ\",\"tags\":[\"ๅฅๅบท\",\"ๆ—ถ้—ด\",\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\",\"่ฟœ็จ‹ๅไฝœ\",\"็–ซๆƒ…\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"date\":\"2023-01-08 10:23:50\",\"capture\":\"<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/refactor_life.png\\\" alt=\\\"็›ฎๆ ‡ๅˆฐ่ทต่กŒๆ€็ปดๆต็จ‹็คบๆ„ๅ›พ\\\" style=\\\"width: 100%; border-radius: 8px;\\\" />\\n ๅ†™ๅœจๅ‰้ข\\n่‡ชๅŽปๅนด 7 ๆœˆไปฝ่ฟ็งปๅ‡ ็ฏ‡ๆ—งๆ–‡ๅŽ๏ผŒ็ฌ”่€…ๅฐฑๆฒกๆœ‰็ปง็ปญๅ†™่ฝฏๆ–‡ไบ†๏ผŒๆƒณไธๅˆฐๅ†ๆฌกๅ†™ๆ–‡็ซ ๆ—ถ็–ซๆƒ…ๆ”ฟ็ญ–ๅทฒ็ป่ฐƒๆ•ด๏ผŒไธ”ๅˆๆญฅๅฎž็Žฐไบ†ๅผ€ๆ”พใ€‚้‚ฃไนˆ้—ฎ้ข˜ๆฅไบ†๏ผŒไธบไป€ไนˆ่ฆ็ปง็ปญๅ†™ๆ–‡็ซ ๅ‘ข๏ผŸๆฆ‚ๆ‹ฌๆฅ่ฎฒ๏ผŒๆœ‰ไธคไธชๆ–น้ข็š„ๅŽŸๅ› ๏ผš\\n* ็›ดๆŽฅๅŽŸๅ› ๏ผš็–ซๆƒ…่ฟ™ไธ‰ๅนด๏ผŒๆฏไธชไบบ้ƒฝไฝ“้ชŒๅˆฐไบ†ไธๅŒไบŽไน‹ๅ‰็š„ โ€œ้šพโ€๏ผŒไนŸ้ƒฝๆœ‰\"},{\"url\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/01.ๅฅฝไนฆๆŽจ่\",\"relativePath\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/01.ๅฅฝไนฆๆŽจ่\",\"frontmatter\":{\"title\":\"ๅฅฝไนฆๆŽจ่\",\"date\":\"2024-01-01 16:00:00\",\"description\":\"่ฏปไนฆๅฟƒๅพ—ใ€ๆŽจ่ไนฆ็ฑๅ’Œ้˜…่ฏปๆŠ€ๅทง\",\"categories\":[\"growth\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/books_reading_bg.png\",\"permalink\":\"/growth/books\",\"tags\":[\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\",\"่ต„ๆบๆŽจ่\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฅฝไนฆๆŽจ่\",\"date\":\"2024-01-01 16:00:00\",\"capture\":\"<script setup\\n import BookRecommend from './@fragment/BookRecommend.vue'\\n import {aiBooks, productSenseBooks, businessBooks, efficiencyBooks, growthBooks, humanSocialBooks, healthBooks} from './@fragment/recommends-data.ts'\\n</script>\\n 1. AI ไธŽๆ•ฐๅญฆๆ€็ปด\\n> ๅœจๅคงๆจกๅž‹ๅ‘ๅฑ•ๆ—ฅๆ–ฐๆœˆๅผ‚็š„ไปŠๅคฉ๏ผŒ็†่งฃ AI ๆœฌ่ดจไธŠๆ˜ฏๅœจๅ‡็บงๆˆ‘ไปฌ่ต„ๆทฑ็š„โ€œ่ฎค็Ÿฅๆ“\"}],\"็ณป็ปŸๆ€็ปด\":[{\"url\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"relativePath\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"frontmatter\":{\"date\":\"2024-01-15 22:16:00\",\"title\":\"่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไนฆๆŽฅไธŠๆ–‡ใ€Šๅ‘ๅ†…ๆ€ๅ˜ใ€‹๏ผŒๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ๅœจๅŽ็–ซๆƒ…ๆ—ถไปฃไปŽโ€œ้—ญๅ…ณโ€่ตฐๅ‘โ€œๅ‘ๅค–ไฝ“้ชŒโ€็š„ๅฐ่ฏ•ไธŽๅฟƒๅพ—ใ€‚้ขๅฏนๆœบๆขฐๆ‰ง่กŒๅธฆๆฅ็š„โ€œ็›ฎๆ ‡้šง้“โ€ๆ•ˆๅบ”๏ผŒ็ฌ”่€…ๅฐ่ฏ•่ทณๅ‡บๅ•ไธ€็š„็บฟๆ€ง่ง„ๅˆ’๏ผŒ่ฝฌ่€Œๅฏปๆฑ‚ๆ›ดๅบ•ๅฑ‚็š„่ฎค็Ÿฅ้€ป่พ‘ใ€‚ๆ–‡็ซ ้€š่ฟ‡้‡่ฏปใ€Š่ฆไบ‹็ฌฌไธ€ใ€‹ๅปบ็ซ‹ๅนณ่กก่ง‚๏ผŒๅˆฉ็”จ็ณป็ปŸๆ€็ปด๏ผˆๅขžๅผบ/่ฐƒ่Š‚ๅ›ž่ทฏ๏ผ‰ๆž„ๅปบๆดžๅฏŸๅŠ›๏ผŒๅนถ้‡ๆ–ฐๆ‹พ่ตทๆ•ฐๅญฆๆ€็ปด๏ผˆๆฆ‚็އใ€็จ€็–ๆ€งใ€ๅคšๆ ทๆ€ง๏ผ‰ไธŽ AI ่ง†่ง’ใ€‚่ฟ™ๆ˜ฏไธ€ๆฌกๅ…ณไบŽๅฆ‚ไฝ•็”จ็ง‘ๅญฆๆจกๅž‹ๆ›ฟไปฃๆœบๆขฐๆ‰ง่กŒ๏ผŒไปŽๆœฌ่ดจไธŠ้‡ๆž„ไธชไบบ่ฎค็Ÿฅไฝ“็ณป็š„ๆทฑๅบฆๅค็›˜ใ€‚\",\"permalink\":\"/growth/outer-experience\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/outer_experience_bg.png\",\"sticky\":1,\"top\":true,\"tags\":[\"็ณป็ปŸๆ€็ปด\",\"ๆ•ฐๅญฆๆ€็ปด\",\"ๆจกๅž‹ๆ€็ปด\",\"AI\",\"็–ซๆƒ…\"],\"categories\":[\"ไธชไบบๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"date\":\"2024-01-15 22:16:00\",\"capture\":\"1. ๅ†™ๅœจๅ‰้ข\\nๆ—ถๅ…‰่่‹’๏ผŒ็–ซๆƒ…ๅทฒ็ป็”ฑๆ”พๅผ€็Šถๆ€็ปง็ปญๆผ”ๅ˜ไธบ่ฟ‡ๅŽปๅผ็Šถๆ€๏ผŒๆˆ‘ไปฌไบบ็ฑปไนŸไปŽใ€Ž้—ญๅ…ณใ€่ตฐๅ‘ไบ†ใ€Ž่‡ช็”ฑใ€็š„็คพไผš็”Ÿๆดป็Šถๆ€ใ€‚็ฌ”่€…ไฝœไธบ็คพไผšไธญ็š„ๆ™ฎ้€šไธ€ๅ‘˜๏ผŒ่‡ช็„ถไนŸไธ็ฆปๅค–๏ผŒๅœจ 2023 ๅนดๅˆๆด‹ๆด‹ๆด’ๆด’ๅ†™ไบ†ไธ€็ฏ‡ๅœจๅฅๅบทใ€่ฏปไนฆไธŽๅญฆไน ใ€ๆ—ถ้—ด็ฎก็†ๅ’Œๆททๅˆๅทฅไฝœๅˆถๅ‡ ไธชๆ–น้ข็š„ๅฎž่ทตไธŽ็†่งฃ๏ผˆๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ๏ผ‰๏ผŒๅฐฑๅผ€ๅผ€ๅฟƒๅฟƒๅœฐๅ‘ๅ‰็œ‹๏ผŒๅญฆ็€ๅ‘ๅค–ไฝ“้ชŒไบ†ใ€‚\\n้‚ฃไนˆ้—ฎ้ข˜ๆฅไบ†๏ผŒ็›ธๆฏ”ไน‹ๅ‰ๅ†™ๅ‡บ้•ฟๆ–‡๏ผŒ็ฌ”่€…ๅˆๆ˜ฏ่ฟ‘ไธ€ๅนดๆฒกๆœ‰ๅ‘ๅค–่พ“ๅ‡บ่ฝฏๆ–‡ไบ†ใ€‚ๅ› ๆญค๏ผŒไนฆๆŽฅไธŠๆ–‡๏ผŒๆœฌๆฌก็ปง็ปญๆ–ฐๅขžไธ€็ฏ‡ไธญ็Ÿญๆ–‡๏ผŒๆผซ่ฐˆไธ€ไธ‹็–ซๆƒ…ๅŽ็š„ๅ‘ๅค–ไฝ“้ชŒใ€‚\\nๅœจๅ€’้€ผ่‡ชๅทฑๅ…ณๆณจ่บซไฝ“ๅฅๅบทๅ’Œๆ—ถ้—ด็ฎก็†ๅŽ๏ผŒ่™ฝ็„ถๅœจไฝ“้‡ๅ’Œๆ•ˆ็އไธคไธชๆ–น้ขๆœ‰ไธ€ๅฎš็š„ๆญฃๅ‘ๆ•ˆๆžœ๏ผŒไฝ†็ฌ”่€…ๅœจ่ฟž็ปญๅšๆŒ่ฝๅœฐๆ‹†่งฃๅ‡บๆฅ็š„็›ฎๆ ‡่ฟ‡็จ‹ไธญ๏ผŒๆœ‰ๆ—ถ\"}],\"ๆ•ฐๅญฆๆ€็ปด\":[{\"url\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"relativePath\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"frontmatter\":{\"date\":\"2024-01-15 22:16:00\",\"title\":\"่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไนฆๆŽฅไธŠๆ–‡ใ€Šๅ‘ๅ†…ๆ€ๅ˜ใ€‹๏ผŒๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ๅœจๅŽ็–ซๆƒ…ๆ—ถไปฃไปŽโ€œ้—ญๅ…ณโ€่ตฐๅ‘โ€œๅ‘ๅค–ไฝ“้ชŒโ€็š„ๅฐ่ฏ•ไธŽๅฟƒๅพ—ใ€‚้ขๅฏนๆœบๆขฐๆ‰ง่กŒๅธฆๆฅ็š„โ€œ็›ฎๆ ‡้šง้“โ€ๆ•ˆๅบ”๏ผŒ็ฌ”่€…ๅฐ่ฏ•่ทณๅ‡บๅ•ไธ€็š„็บฟๆ€ง่ง„ๅˆ’๏ผŒ่ฝฌ่€Œๅฏปๆฑ‚ๆ›ดๅบ•ๅฑ‚็š„่ฎค็Ÿฅ้€ป่พ‘ใ€‚ๆ–‡็ซ ้€š่ฟ‡้‡่ฏปใ€Š่ฆไบ‹็ฌฌไธ€ใ€‹ๅปบ็ซ‹ๅนณ่กก่ง‚๏ผŒๅˆฉ็”จ็ณป็ปŸๆ€็ปด๏ผˆๅขžๅผบ/่ฐƒ่Š‚ๅ›ž่ทฏ๏ผ‰ๆž„ๅปบๆดžๅฏŸๅŠ›๏ผŒๅนถ้‡ๆ–ฐๆ‹พ่ตทๆ•ฐๅญฆๆ€็ปด๏ผˆๆฆ‚็އใ€็จ€็–ๆ€งใ€ๅคšๆ ทๆ€ง๏ผ‰ไธŽ AI ่ง†่ง’ใ€‚่ฟ™ๆ˜ฏไธ€ๆฌกๅ…ณไบŽๅฆ‚ไฝ•็”จ็ง‘ๅญฆๆจกๅž‹ๆ›ฟไปฃๆœบๆขฐๆ‰ง่กŒ๏ผŒไปŽๆœฌ่ดจไธŠ้‡ๆž„ไธชไบบ่ฎค็Ÿฅไฝ“็ณป็š„ๆทฑๅบฆๅค็›˜ใ€‚\",\"permalink\":\"/growth/outer-experience\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/outer_experience_bg.png\",\"sticky\":1,\"top\":true,\"tags\":[\"็ณป็ปŸๆ€็ปด\",\"ๆ•ฐๅญฆๆ€็ปด\",\"ๆจกๅž‹ๆ€็ปด\",\"AI\",\"็–ซๆƒ…\"],\"categories\":[\"ไธชไบบๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"date\":\"2024-01-15 22:16:00\",\"capture\":\"1. ๅ†™ๅœจๅ‰้ข\\nๆ—ถๅ…‰่่‹’๏ผŒ็–ซๆƒ…ๅทฒ็ป็”ฑๆ”พๅผ€็Šถๆ€็ปง็ปญๆผ”ๅ˜ไธบ่ฟ‡ๅŽปๅผ็Šถๆ€๏ผŒๆˆ‘ไปฌไบบ็ฑปไนŸไปŽใ€Ž้—ญๅ…ณใ€่ตฐๅ‘ไบ†ใ€Ž่‡ช็”ฑใ€็š„็คพไผš็”Ÿๆดป็Šถๆ€ใ€‚็ฌ”่€…ไฝœไธบ็คพไผšไธญ็š„ๆ™ฎ้€šไธ€ๅ‘˜๏ผŒ่‡ช็„ถไนŸไธ็ฆปๅค–๏ผŒๅœจ 2023 ๅนดๅˆๆด‹ๆด‹ๆด’ๆด’ๅ†™ไบ†ไธ€็ฏ‡ๅœจๅฅๅบทใ€่ฏปไนฆไธŽๅญฆไน ใ€ๆ—ถ้—ด็ฎก็†ๅ’Œๆททๅˆๅทฅไฝœๅˆถๅ‡ ไธชๆ–น้ข็š„ๅฎž่ทตไธŽ็†่งฃ๏ผˆๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ๏ผ‰๏ผŒๅฐฑๅผ€ๅผ€ๅฟƒๅฟƒๅœฐๅ‘ๅ‰็œ‹๏ผŒๅญฆ็€ๅ‘ๅค–ไฝ“้ชŒไบ†ใ€‚\\n้‚ฃไนˆ้—ฎ้ข˜ๆฅไบ†๏ผŒ็›ธๆฏ”ไน‹ๅ‰ๅ†™ๅ‡บ้•ฟๆ–‡๏ผŒ็ฌ”่€…ๅˆๆ˜ฏ่ฟ‘ไธ€ๅนดๆฒกๆœ‰ๅ‘ๅค–่พ“ๅ‡บ่ฝฏๆ–‡ไบ†ใ€‚ๅ› ๆญค๏ผŒไนฆๆŽฅไธŠๆ–‡๏ผŒๆœฌๆฌก็ปง็ปญๆ–ฐๅขžไธ€็ฏ‡ไธญ็Ÿญๆ–‡๏ผŒๆผซ่ฐˆไธ€ไธ‹็–ซๆƒ…ๅŽ็š„ๅ‘ๅค–ไฝ“้ชŒใ€‚\\nๅœจๅ€’้€ผ่‡ชๅทฑๅ…ณๆณจ่บซไฝ“ๅฅๅบทๅ’Œๆ—ถ้—ด็ฎก็†ๅŽ๏ผŒ่™ฝ็„ถๅœจไฝ“้‡ๅ’Œๆ•ˆ็އไธคไธชๆ–น้ขๆœ‰ไธ€ๅฎš็š„ๆญฃๅ‘ๆ•ˆๆžœ๏ผŒไฝ†็ฌ”่€…ๅœจ่ฟž็ปญๅšๆŒ่ฝๅœฐๆ‹†่งฃๅ‡บๆฅ็š„็›ฎๆ ‡่ฟ‡็จ‹ไธญ๏ผŒๆœ‰ๆ—ถ\"}],\"ๆจกๅž‹ๆ€็ปด\":[{\"url\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"relativePath\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"frontmatter\":{\"date\":\"2024-01-15 22:16:00\",\"title\":\"่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไนฆๆŽฅไธŠๆ–‡ใ€Šๅ‘ๅ†…ๆ€ๅ˜ใ€‹๏ผŒๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ๅœจๅŽ็–ซๆƒ…ๆ—ถไปฃไปŽโ€œ้—ญๅ…ณโ€่ตฐๅ‘โ€œๅ‘ๅค–ไฝ“้ชŒโ€็š„ๅฐ่ฏ•ไธŽๅฟƒๅพ—ใ€‚้ขๅฏนๆœบๆขฐๆ‰ง่กŒๅธฆๆฅ็š„โ€œ็›ฎๆ ‡้šง้“โ€ๆ•ˆๅบ”๏ผŒ็ฌ”่€…ๅฐ่ฏ•่ทณๅ‡บๅ•ไธ€็š„็บฟๆ€ง่ง„ๅˆ’๏ผŒ่ฝฌ่€Œๅฏปๆฑ‚ๆ›ดๅบ•ๅฑ‚็š„่ฎค็Ÿฅ้€ป่พ‘ใ€‚ๆ–‡็ซ ้€š่ฟ‡้‡่ฏปใ€Š่ฆไบ‹็ฌฌไธ€ใ€‹ๅปบ็ซ‹ๅนณ่กก่ง‚๏ผŒๅˆฉ็”จ็ณป็ปŸๆ€็ปด๏ผˆๅขžๅผบ/่ฐƒ่Š‚ๅ›ž่ทฏ๏ผ‰ๆž„ๅปบๆดžๅฏŸๅŠ›๏ผŒๅนถ้‡ๆ–ฐๆ‹พ่ตทๆ•ฐๅญฆๆ€็ปด๏ผˆๆฆ‚็އใ€็จ€็–ๆ€งใ€ๅคšๆ ทๆ€ง๏ผ‰ไธŽ AI ่ง†่ง’ใ€‚่ฟ™ๆ˜ฏไธ€ๆฌกๅ…ณไบŽๅฆ‚ไฝ•็”จ็ง‘ๅญฆๆจกๅž‹ๆ›ฟไปฃๆœบๆขฐๆ‰ง่กŒ๏ผŒไปŽๆœฌ่ดจไธŠ้‡ๆž„ไธชไบบ่ฎค็Ÿฅไฝ“็ณป็š„ๆทฑๅบฆๅค็›˜ใ€‚\",\"permalink\":\"/growth/outer-experience\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/outer_experience_bg.png\",\"sticky\":1,\"top\":true,\"tags\":[\"็ณป็ปŸๆ€็ปด\",\"ๆ•ฐๅญฆๆ€็ปด\",\"ๆจกๅž‹ๆ€็ปด\",\"AI\",\"็–ซๆƒ…\"],\"categories\":[\"ไธชไบบๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"date\":\"2024-01-15 22:16:00\",\"capture\":\"1. ๅ†™ๅœจๅ‰้ข\\nๆ—ถๅ…‰่่‹’๏ผŒ็–ซๆƒ…ๅทฒ็ป็”ฑๆ”พๅผ€็Šถๆ€็ปง็ปญๆผ”ๅ˜ไธบ่ฟ‡ๅŽปๅผ็Šถๆ€๏ผŒๆˆ‘ไปฌไบบ็ฑปไนŸไปŽใ€Ž้—ญๅ…ณใ€่ตฐๅ‘ไบ†ใ€Ž่‡ช็”ฑใ€็š„็คพไผš็”Ÿๆดป็Šถๆ€ใ€‚็ฌ”่€…ไฝœไธบ็คพไผšไธญ็š„ๆ™ฎ้€šไธ€ๅ‘˜๏ผŒ่‡ช็„ถไนŸไธ็ฆปๅค–๏ผŒๅœจ 2023 ๅนดๅˆๆด‹ๆด‹ๆด’ๆด’ๅ†™ไบ†ไธ€็ฏ‡ๅœจๅฅๅบทใ€่ฏปไนฆไธŽๅญฆไน ใ€ๆ—ถ้—ด็ฎก็†ๅ’Œๆททๅˆๅทฅไฝœๅˆถๅ‡ ไธชๆ–น้ข็š„ๅฎž่ทตไธŽ็†่งฃ๏ผˆๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ๏ผ‰๏ผŒๅฐฑๅผ€ๅผ€ๅฟƒๅฟƒๅœฐๅ‘ๅ‰็œ‹๏ผŒๅญฆ็€ๅ‘ๅค–ไฝ“้ชŒไบ†ใ€‚\\n้‚ฃไนˆ้—ฎ้ข˜ๆฅไบ†๏ผŒ็›ธๆฏ”ไน‹ๅ‰ๅ†™ๅ‡บ้•ฟๆ–‡๏ผŒ็ฌ”่€…ๅˆๆ˜ฏ่ฟ‘ไธ€ๅนดๆฒกๆœ‰ๅ‘ๅค–่พ“ๅ‡บ่ฝฏๆ–‡ไบ†ใ€‚ๅ› ๆญค๏ผŒไนฆๆŽฅไธŠๆ–‡๏ผŒๆœฌๆฌก็ปง็ปญๆ–ฐๅขžไธ€็ฏ‡ไธญ็Ÿญๆ–‡๏ผŒๆผซ่ฐˆไธ€ไธ‹็–ซๆƒ…ๅŽ็š„ๅ‘ๅค–ไฝ“้ชŒใ€‚\\nๅœจๅ€’้€ผ่‡ชๅทฑๅ…ณๆณจ่บซไฝ“ๅฅๅบทๅ’Œๆ—ถ้—ด็ฎก็†ๅŽ๏ผŒ่™ฝ็„ถๅœจไฝ“้‡ๅ’Œๆ•ˆ็އไธคไธชๆ–น้ขๆœ‰ไธ€ๅฎš็š„ๆญฃๅ‘ๆ•ˆๆžœ๏ผŒไฝ†็ฌ”่€…ๅœจ่ฟž็ปญๅšๆŒ่ฝๅœฐๆ‹†่งฃๅ‡บๆฅ็š„็›ฎๆ ‡่ฟ‡็จ‹ไธญ๏ผŒๆœ‰ๆ—ถ\"}],\"็–ซๆƒ…\":[{\"url\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"relativePath\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"frontmatter\":{\"date\":\"2024-01-15 22:16:00\",\"title\":\"่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไนฆๆŽฅไธŠๆ–‡ใ€Šๅ‘ๅ†…ๆ€ๅ˜ใ€‹๏ผŒๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ๅœจๅŽ็–ซๆƒ…ๆ—ถไปฃไปŽโ€œ้—ญๅ…ณโ€่ตฐๅ‘โ€œๅ‘ๅค–ไฝ“้ชŒโ€็š„ๅฐ่ฏ•ไธŽๅฟƒๅพ—ใ€‚้ขๅฏนๆœบๆขฐๆ‰ง่กŒๅธฆๆฅ็š„โ€œ็›ฎๆ ‡้šง้“โ€ๆ•ˆๅบ”๏ผŒ็ฌ”่€…ๅฐ่ฏ•่ทณๅ‡บๅ•ไธ€็š„็บฟๆ€ง่ง„ๅˆ’๏ผŒ่ฝฌ่€Œๅฏปๆฑ‚ๆ›ดๅบ•ๅฑ‚็š„่ฎค็Ÿฅ้€ป่พ‘ใ€‚ๆ–‡็ซ ้€š่ฟ‡้‡่ฏปใ€Š่ฆไบ‹็ฌฌไธ€ใ€‹ๅปบ็ซ‹ๅนณ่กก่ง‚๏ผŒๅˆฉ็”จ็ณป็ปŸๆ€็ปด๏ผˆๅขžๅผบ/่ฐƒ่Š‚ๅ›ž่ทฏ๏ผ‰ๆž„ๅปบๆดžๅฏŸๅŠ›๏ผŒๅนถ้‡ๆ–ฐๆ‹พ่ตทๆ•ฐๅญฆๆ€็ปด๏ผˆๆฆ‚็އใ€็จ€็–ๆ€งใ€ๅคšๆ ทๆ€ง๏ผ‰ไธŽ AI ่ง†่ง’ใ€‚่ฟ™ๆ˜ฏไธ€ๆฌกๅ…ณไบŽๅฆ‚ไฝ•็”จ็ง‘ๅญฆๆจกๅž‹ๆ›ฟไปฃๆœบๆขฐๆ‰ง่กŒ๏ผŒไปŽๆœฌ่ดจไธŠ้‡ๆž„ไธชไบบ่ฎค็Ÿฅไฝ“็ณป็š„ๆทฑๅบฆๅค็›˜ใ€‚\",\"permalink\":\"/growth/outer-experience\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/outer_experience_bg.png\",\"sticky\":1,\"top\":true,\"tags\":[\"็ณป็ปŸๆ€็ปด\",\"ๆ•ฐๅญฆๆ€็ปด\",\"ๆจกๅž‹ๆ€็ปด\",\"AI\",\"็–ซๆƒ…\"],\"categories\":[\"ไธชไบบๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"date\":\"2024-01-15 22:16:00\",\"capture\":\"1. ๅ†™ๅœจๅ‰้ข\\nๆ—ถๅ…‰่่‹’๏ผŒ็–ซๆƒ…ๅทฒ็ป็”ฑๆ”พๅผ€็Šถๆ€็ปง็ปญๆผ”ๅ˜ไธบ่ฟ‡ๅŽปๅผ็Šถๆ€๏ผŒๆˆ‘ไปฌไบบ็ฑปไนŸไปŽใ€Ž้—ญๅ…ณใ€่ตฐๅ‘ไบ†ใ€Ž่‡ช็”ฑใ€็š„็คพไผš็”Ÿๆดป็Šถๆ€ใ€‚็ฌ”่€…ไฝœไธบ็คพไผšไธญ็š„ๆ™ฎ้€šไธ€ๅ‘˜๏ผŒ่‡ช็„ถไนŸไธ็ฆปๅค–๏ผŒๅœจ 2023 ๅนดๅˆๆด‹ๆด‹ๆด’ๆด’ๅ†™ไบ†ไธ€็ฏ‡ๅœจๅฅๅบทใ€่ฏปไนฆไธŽๅญฆไน ใ€ๆ—ถ้—ด็ฎก็†ๅ’Œๆททๅˆๅทฅไฝœๅˆถๅ‡ ไธชๆ–น้ข็š„ๅฎž่ทตไธŽ็†่งฃ๏ผˆๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ๏ผ‰๏ผŒๅฐฑๅผ€ๅผ€ๅฟƒๅฟƒๅœฐๅ‘ๅ‰็œ‹๏ผŒๅญฆ็€ๅ‘ๅค–ไฝ“้ชŒไบ†ใ€‚\\n้‚ฃไนˆ้—ฎ้ข˜ๆฅไบ†๏ผŒ็›ธๆฏ”ไน‹ๅ‰ๅ†™ๅ‡บ้•ฟๆ–‡๏ผŒ็ฌ”่€…ๅˆๆ˜ฏ่ฟ‘ไธ€ๅนดๆฒกๆœ‰ๅ‘ๅค–่พ“ๅ‡บ่ฝฏๆ–‡ไบ†ใ€‚ๅ› ๆญค๏ผŒไนฆๆŽฅไธŠๆ–‡๏ผŒๆœฌๆฌก็ปง็ปญๆ–ฐๅขžไธ€็ฏ‡ไธญ็Ÿญๆ–‡๏ผŒๆผซ่ฐˆไธ€ไธ‹็–ซๆƒ…ๅŽ็š„ๅ‘ๅค–ไฝ“้ชŒใ€‚\\nๅœจๅ€’้€ผ่‡ชๅทฑๅ…ณๆณจ่บซไฝ“ๅฅๅบทๅ’Œๆ—ถ้—ด็ฎก็†ๅŽ๏ผŒ่™ฝ็„ถๅœจไฝ“้‡ๅ’Œๆ•ˆ็އไธคไธชๆ–น้ขๆœ‰ไธ€ๅฎš็š„ๆญฃๅ‘ๆ•ˆๆžœ๏ผŒไฝ†็ฌ”่€…ๅœจ่ฟž็ปญๅšๆŒ่ฝๅœฐๆ‹†่งฃๅ‡บๆฅ็š„็›ฎๆ ‡่ฟ‡็จ‹ไธญ๏ผŒๆœ‰ๆ—ถ\"},{\"url\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"relativePath\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"frontmatter\":{\"date\":\"2023-01-08 10:23:50\",\"title\":\"ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅฆ‚ไฝ•้ฟๅ…ๅ†…่€—๏ผŸๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ไธ‰ๅนด้—ด็š„โ€œ่‡ชๆˆ‘้‡ๆž„โ€ๅฎž้ชŒใ€‚ๆ–‡็ซ ๆ‘’ๅผƒไบ†ๅ•็บฏ็š„ๆƒ…็ปชๅฎฃๆณ„๏ผŒ่€Œๆ˜ฏๅˆฉ็”จๅˆ†่งฃๆณ•ใ€ๆธ่ฟ›ๆ˜Ž็ป†ๅ’Œ็ปŸ่ฎกๅˆ†ๆž็ญ‰ๅทฅ็จ‹ๆ€็ปด๏ผŒๅฏนๅฅๅบท้ฅฎ้ฃŸใ€็Ÿฅ่ฏ†ไฝ“็ณปใ€ๆ—ถ้—ดๅˆ†้…ๅŠ่ฟœ็จ‹ๅไฝœ่ฟ›่กŒไบ†็ณป็ปŸๅŒ–ๆ”น้€ ใ€‚่ฟ™ๆ˜ฏไธ€ไปฝๅ…ณไบŽๅฆ‚ไฝ•ๅœจๆ— ๅธธ็š„ๅค–้ƒจ็Žฏๅขƒไธญ๏ผŒๅปบ็ซ‹ๅ†…ๅœจ็กฎๅฎšๆ€ง็งฉๅบ็š„่กŒๅŠจๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/growth/inner-experience\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/refactor_life.png\",\"sticky\":1,\"top\":true,\"categories\":\"ไธชไบบๆˆ้•ฟ\",\"tags\":[\"ๅฅๅบท\",\"ๆ—ถ้—ด\",\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\",\"่ฟœ็จ‹ๅไฝœ\",\"็–ซๆƒ…\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"date\":\"2023-01-08 10:23:50\",\"capture\":\"<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/refactor_life.png\\\" alt=\\\"็›ฎๆ ‡ๅˆฐ่ทต่กŒๆ€็ปดๆต็จ‹็คบๆ„ๅ›พ\\\" style=\\\"width: 100%; border-radius: 8px;\\\" />\\n ๅ†™ๅœจๅ‰้ข\\n่‡ชๅŽปๅนด 7 ๆœˆไปฝ่ฟ็งปๅ‡ ็ฏ‡ๆ—งๆ–‡ๅŽ๏ผŒ็ฌ”่€…ๅฐฑๆฒกๆœ‰็ปง็ปญๅ†™่ฝฏๆ–‡ไบ†๏ผŒๆƒณไธๅˆฐๅ†ๆฌกๅ†™ๆ–‡็ซ ๆ—ถ็–ซๆƒ…ๆ”ฟ็ญ–ๅทฒ็ป่ฐƒๆ•ด๏ผŒไธ”ๅˆๆญฅๅฎž็Žฐไบ†ๅผ€ๆ”พใ€‚้‚ฃไนˆ้—ฎ้ข˜ๆฅไบ†๏ผŒไธบไป€ไนˆ่ฆ็ปง็ปญๅ†™ๆ–‡็ซ ๅ‘ข๏ผŸๆฆ‚ๆ‹ฌๆฅ่ฎฒ๏ผŒๆœ‰ไธคไธชๆ–น้ข็š„ๅŽŸๅ› ๏ผš\\n* ็›ดๆŽฅๅŽŸๅ› ๏ผš็–ซๆƒ…่ฟ™ไธ‰ๅนด๏ผŒๆฏไธชไบบ้ƒฝไฝ“้ชŒๅˆฐไบ†ไธๅŒไบŽไน‹ๅ‰็š„ โ€œ้šพโ€๏ผŒไนŸ้ƒฝๆœ‰\"}],\"ๅฅๅบท\":[{\"url\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"relativePath\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"frontmatter\":{\"date\":\"2023-01-08 10:23:50\",\"title\":\"ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅฆ‚ไฝ•้ฟๅ…ๅ†…่€—๏ผŸๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ไธ‰ๅนด้—ด็š„โ€œ่‡ชๆˆ‘้‡ๆž„โ€ๅฎž้ชŒใ€‚ๆ–‡็ซ ๆ‘’ๅผƒไบ†ๅ•็บฏ็š„ๆƒ…็ปชๅฎฃๆณ„๏ผŒ่€Œๆ˜ฏๅˆฉ็”จๅˆ†่งฃๆณ•ใ€ๆธ่ฟ›ๆ˜Ž็ป†ๅ’Œ็ปŸ่ฎกๅˆ†ๆž็ญ‰ๅทฅ็จ‹ๆ€็ปด๏ผŒๅฏนๅฅๅบท้ฅฎ้ฃŸใ€็Ÿฅ่ฏ†ไฝ“็ณปใ€ๆ—ถ้—ดๅˆ†้…ๅŠ่ฟœ็จ‹ๅไฝœ่ฟ›่กŒไบ†็ณป็ปŸๅŒ–ๆ”น้€ ใ€‚่ฟ™ๆ˜ฏไธ€ไปฝๅ…ณไบŽๅฆ‚ไฝ•ๅœจๆ— ๅธธ็š„ๅค–้ƒจ็Žฏๅขƒไธญ๏ผŒๅปบ็ซ‹ๅ†…ๅœจ็กฎๅฎšๆ€ง็งฉๅบ็š„่กŒๅŠจๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/growth/inner-experience\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/refactor_life.png\",\"sticky\":1,\"top\":true,\"categories\":\"ไธชไบบๆˆ้•ฟ\",\"tags\":[\"ๅฅๅบท\",\"ๆ—ถ้—ด\",\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\",\"่ฟœ็จ‹ๅไฝœ\",\"็–ซๆƒ…\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"date\":\"2023-01-08 10:23:50\",\"capture\":\"<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/refactor_life.png\\\" alt=\\\"็›ฎๆ ‡ๅˆฐ่ทต่กŒๆ€็ปดๆต็จ‹็คบๆ„ๅ›พ\\\" style=\\\"width: 100%; border-radius: 8px;\\\" />\\n ๅ†™ๅœจๅ‰้ข\\n่‡ชๅŽปๅนด 7 ๆœˆไปฝ่ฟ็งปๅ‡ ็ฏ‡ๆ—งๆ–‡ๅŽ๏ผŒ็ฌ”่€…ๅฐฑๆฒกๆœ‰็ปง็ปญๅ†™่ฝฏๆ–‡ไบ†๏ผŒๆƒณไธๅˆฐๅ†ๆฌกๅ†™ๆ–‡็ซ ๆ—ถ็–ซๆƒ…ๆ”ฟ็ญ–ๅทฒ็ป่ฐƒๆ•ด๏ผŒไธ”ๅˆๆญฅๅฎž็Žฐไบ†ๅผ€ๆ”พใ€‚้‚ฃไนˆ้—ฎ้ข˜ๆฅไบ†๏ผŒไธบไป€ไนˆ่ฆ็ปง็ปญๅ†™ๆ–‡็ซ ๅ‘ข๏ผŸๆฆ‚ๆ‹ฌๆฅ่ฎฒ๏ผŒๆœ‰ไธคไธชๆ–น้ข็š„ๅŽŸๅ› ๏ผš\\n* ็›ดๆŽฅๅŽŸๅ› ๏ผš็–ซๆƒ…่ฟ™ไธ‰ๅนด๏ผŒๆฏไธชไบบ้ƒฝไฝ“้ชŒๅˆฐไบ†ไธๅŒไบŽไน‹ๅ‰็š„ โ€œ้šพโ€๏ผŒไนŸ้ƒฝๆœ‰\"},{\"url\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/20.ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹้˜ถๆฎต้š็ฌ”ๆฑ‡ๆ€ป\",\"relativePath\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/20.ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹้˜ถๆฎต้š็ฌ”ๆฑ‡ๆ€ป\",\"frontmatter\":{\"date\":\"2022-09-12 08:16:00\",\"title\":\"็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ”นๅ–„็š„ๆ–นๅผๆŽจๅŠจๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไปŽโ€œไนฆ็”Ÿๆ„ๆฐ”โ€ๅˆฐๅˆๅ…ฅ็คพไผš็š„โ€œไธญๅนดๆฒน่…ปโ€ๅฑๆœบ๏ผŒไธ€ๆฌกๅฅๅบท่ญฆๆŠฅ่ฎฉ็ฌ”่€…ๅผ€ๅฏไบ†่ฟ™ๅœบๆทฑๅˆป็š„่‡ชๆˆ‘ๅฏน่ฏไธŽ่กŒๅŠจใ€‚ๆœฌๆ–‡่ฏฆ็ป†ๅค็›˜ไบ†็ฌ”่€…ไปŽๅฅๅบทๅฑๆœบๅ‡บๅ‘๏ผŒ้€š่ฟ‡ๅ››ไธช้˜ถๆฎต็š„ๅพชๅบๆธ่ฟ›๏ผŒๆˆๅŠŸๅฎž็Žฐไฝ“้‡็ฎก็†็š„่ฟ‡็จ‹ใ€‚ๅŒบๅˆซไบŽ็›ฒ็›ฎ่ทŸ้ฃŽ๏ผŒ็ฌ”่€…ๅœจๅฎž่ทตไธญๅผ•ๅ…ฅไบ†็›ฎๆ ‡ๆ‹†่งฃใ€ๆ•ฐๆฎ็›‘ๆŽง๏ผˆไฝ“่„‚็งคๆŒ‡ๆ ‡๏ผ‰ใ€่ทจ้ข†ๅŸŸ็ป้ชŒ่ฟ็งป๏ผˆๅฆ‚้กน็›ฎ็ฎก็†ใ€ๆ—ถ้—ด็ฎก็†๏ผ‰ไปฅๅŠๅฏนไธๅŒ็ญ–็•ฅ๏ผˆๅฆ‚ๆŽงๅˆถ้ฅฎ้ฃŸใ€ๅŠ ๅคงๆ— ๆฐง่ฟๅŠจใ€ๅฐ่ฏ•ไธๅƒไธป้ฃŸ๏ผ‰็š„่พฉ่ฏ้‡‡็บณใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ไปฝๅ‡่‚ฅ่ฎฐๅฝ•๏ผŒๆ›ดๆ˜ฏไธ€ๆฌก็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ€็ปด้‡ๆž„็”Ÿๆดป็งฉๅบใ€ๅฎž็Žฐ่บซๅฟƒๅ‡็บง็š„ๅฎžๆ“ๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/growth/weight-loss\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/health_bg.png\",\"top\":true,\"tags\":[\"ๅฅๅบท\",\"่ฟๅŠจ\"],\"categories\":[\"ไธชไบบๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ”นๅ–„็š„ๆ–นๅผๆŽจๅŠจๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹\",\"date\":\"2022-09-12 08:16:00\",\"capture\":\"ๅ†™ๅœจๅ‰้ข\\nๅœจ็ปๆตŽๅฟซ้€Ÿๅ‘ๅฑ•็š„ๅคง่ƒŒๆ™ฏไธ‹๏ผŒไธ€ๆ‰นๅˆไธ€ๆ‰น็š„ๅคงๅญฆ็”Ÿ้™†็ปญ่ตฐๅ‡บๆ ก้—จ่ฟ›ๅ…ฅ็คพไผšๅคง่ˆžๅฐใ€‚้š็€ๅนด้พ„ไธŽๅทฅไฝœๅนด้™็š„ๅขž้•ฟ๏ผŒไธ็Ÿฅ็ฝฎ่บซไบŽๅ…ถไธญ็š„ไฝ ๆ˜ฏๅฆๆ„Ÿๆ…จ่ฟ‡่‡ชๅทฑๅœจ้˜…ๅކไธŠไปŽโ€œไนฆ็”Ÿๆ„ๆฐ”โ€ๆธๆธๆผ”ๅ˜ไธบโ€œๅ››ๅนณๅ…ซ็จณ๏ผŒๆธธๅˆƒๆœ‰ไฝ™โ€๏ผ›ๅœจ่บซไฝ“ๅ…ปๆŠคๆ–น้ขไปŽโ€œ่บซๆๆ— ๆ•Œ๏ผŒๅนด้พ„ๆˆ่ฟท๏ผŒๅฎžๆ‰“ๅฎžไธ€ไธชไผ ๅฅ‡โ€ๆผ”ๅ˜ไธบโ€œไธญๅนดๆฒน่…ปโ€ใ€‚ๆฏไธชไบบๅคšๅฐ‘้ƒฝๆœ‰่‡ชๅทฑ็š„็ญ”ๆกˆ๏ผŒ็ฌ”่€…็š„็ญ”ๆกˆๆ˜ฏ๏ผš่ตฐๅ‡บๆ ก้—จ่ฟ›ๅ…ฅ็คพไผšๅŽ๏ผŒๅฝ“ๅˆๅฏน่บซ่พนไบบๆœ‰็‚น่‹›ๅˆป๏ผŒ้‡ไบ‹็ซๆ€ฅ็ซ็‡Ž็š„่‡ชๅทฑ้€ๆธๅพ—ๅˆฐไบ†ๆ”นๅ–„ใ€‚่บซไฝ“ๅดๅ› ๅŽŸๆœฌๅœจๅคงๅญฆๆ—ถๆฒกๆœ‰ๆ€Žไนˆๅœจๆ„๏ผŒ็ป่ฟ‡้•ฟๅนด็ดฏๆœˆๅœฐๆด—็คผไบฎไบ†ไธ€ๆฌกๅฐ็บข็ฏใ€‚ๅœจๅบทๅคๆœŸ้—ด๏ผŒไธๆญขไธ€ๆฌกๅๆ€่ฟ‡ไน‹ๅ‰็š„็”Ÿๆดปๆ–นๅผๅ’Œๅ…ฅไธ–ๆจกๅผ๏ผŒๆƒณไธ€ๆƒณ + ๅ››ๅค„็œ‹ไธ€็œ‹ๅŽ๏ผŒๆ…ขๆ…ขไนŸๅฐฑๅผ€ๆ‚Ÿไบ†๏ผŒ่‡ช็„ถ่ฆๅฏๅŠจไธ€ไบ›ๆ”นๅ˜ๅฐ่ฏ•ใ€‚\\nๅ› ๆญค๏ผŒไนŸๅฐฑๆœ‰ไบ†่ฟ™็ฏ‡ๅ‡่‚ฅ่ฟ™ไปถ\"}],\"ๆ—ถ้—ด\":[{\"url\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"relativePath\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"frontmatter\":{\"date\":\"2023-01-08 10:23:50\",\"title\":\"ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅฆ‚ไฝ•้ฟๅ…ๅ†…่€—๏ผŸๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ไธ‰ๅนด้—ด็š„โ€œ่‡ชๆˆ‘้‡ๆž„โ€ๅฎž้ชŒใ€‚ๆ–‡็ซ ๆ‘’ๅผƒไบ†ๅ•็บฏ็š„ๆƒ…็ปชๅฎฃๆณ„๏ผŒ่€Œๆ˜ฏๅˆฉ็”จๅˆ†่งฃๆณ•ใ€ๆธ่ฟ›ๆ˜Ž็ป†ๅ’Œ็ปŸ่ฎกๅˆ†ๆž็ญ‰ๅทฅ็จ‹ๆ€็ปด๏ผŒๅฏนๅฅๅบท้ฅฎ้ฃŸใ€็Ÿฅ่ฏ†ไฝ“็ณปใ€ๆ—ถ้—ดๅˆ†้…ๅŠ่ฟœ็จ‹ๅไฝœ่ฟ›่กŒไบ†็ณป็ปŸๅŒ–ๆ”น้€ ใ€‚่ฟ™ๆ˜ฏไธ€ไปฝๅ…ณไบŽๅฆ‚ไฝ•ๅœจๆ— ๅธธ็š„ๅค–้ƒจ็Žฏๅขƒไธญ๏ผŒๅปบ็ซ‹ๅ†…ๅœจ็กฎๅฎšๆ€ง็งฉๅบ็š„่กŒๅŠจๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/growth/inner-experience\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/refactor_life.png\",\"sticky\":1,\"top\":true,\"categories\":\"ไธชไบบๆˆ้•ฟ\",\"tags\":[\"ๅฅๅบท\",\"ๆ—ถ้—ด\",\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\",\"่ฟœ็จ‹ๅไฝœ\",\"็–ซๆƒ…\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"date\":\"2023-01-08 10:23:50\",\"capture\":\"<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/refactor_life.png\\\" alt=\\\"็›ฎๆ ‡ๅˆฐ่ทต่กŒๆ€็ปดๆต็จ‹็คบๆ„ๅ›พ\\\" style=\\\"width: 100%; border-radius: 8px;\\\" />\\n ๅ†™ๅœจๅ‰้ข\\n่‡ชๅŽปๅนด 7 ๆœˆไปฝ่ฟ็งปๅ‡ ็ฏ‡ๆ—งๆ–‡ๅŽ๏ผŒ็ฌ”่€…ๅฐฑๆฒกๆœ‰็ปง็ปญๅ†™่ฝฏๆ–‡ไบ†๏ผŒๆƒณไธๅˆฐๅ†ๆฌกๅ†™ๆ–‡็ซ ๆ—ถ็–ซๆƒ…ๆ”ฟ็ญ–ๅทฒ็ป่ฐƒๆ•ด๏ผŒไธ”ๅˆๆญฅๅฎž็Žฐไบ†ๅผ€ๆ”พใ€‚้‚ฃไนˆ้—ฎ้ข˜ๆฅไบ†๏ผŒไธบไป€ไนˆ่ฆ็ปง็ปญๅ†™ๆ–‡็ซ ๅ‘ข๏ผŸๆฆ‚ๆ‹ฌๆฅ่ฎฒ๏ผŒๆœ‰ไธคไธชๆ–น้ข็š„ๅŽŸๅ› ๏ผš\\n* ็›ดๆŽฅๅŽŸๅ› ๏ผš็–ซๆƒ…่ฟ™ไธ‰ๅนด๏ผŒๆฏไธชไบบ้ƒฝไฝ“้ชŒๅˆฐไบ†ไธๅŒไบŽไน‹ๅ‰็š„ โ€œ้šพโ€๏ผŒไนŸ้ƒฝๆœ‰\"}],\"่ฟœ็จ‹ๅไฝœ\":[{\"url\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"relativePath\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"frontmatter\":{\"date\":\"2023-01-08 10:23:50\",\"title\":\"ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅฆ‚ไฝ•้ฟๅ…ๅ†…่€—๏ผŸๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ไธ‰ๅนด้—ด็š„โ€œ่‡ชๆˆ‘้‡ๆž„โ€ๅฎž้ชŒใ€‚ๆ–‡็ซ ๆ‘’ๅผƒไบ†ๅ•็บฏ็š„ๆƒ…็ปชๅฎฃๆณ„๏ผŒ่€Œๆ˜ฏๅˆฉ็”จๅˆ†่งฃๆณ•ใ€ๆธ่ฟ›ๆ˜Ž็ป†ๅ’Œ็ปŸ่ฎกๅˆ†ๆž็ญ‰ๅทฅ็จ‹ๆ€็ปด๏ผŒๅฏนๅฅๅบท้ฅฎ้ฃŸใ€็Ÿฅ่ฏ†ไฝ“็ณปใ€ๆ—ถ้—ดๅˆ†้…ๅŠ่ฟœ็จ‹ๅไฝœ่ฟ›่กŒไบ†็ณป็ปŸๅŒ–ๆ”น้€ ใ€‚่ฟ™ๆ˜ฏไธ€ไปฝๅ…ณไบŽๅฆ‚ไฝ•ๅœจๆ— ๅธธ็š„ๅค–้ƒจ็Žฏๅขƒไธญ๏ผŒๅปบ็ซ‹ๅ†…ๅœจ็กฎๅฎšๆ€ง็งฉๅบ็š„่กŒๅŠจๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/growth/inner-experience\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/refactor_life.png\",\"sticky\":1,\"top\":true,\"categories\":\"ไธชไบบๆˆ้•ฟ\",\"tags\":[\"ๅฅๅบท\",\"ๆ—ถ้—ด\",\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\",\"่ฟœ็จ‹ๅไฝœ\",\"็–ซๆƒ…\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"date\":\"2023-01-08 10:23:50\",\"capture\":\"<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/refactor_life.png\\\" alt=\\\"็›ฎๆ ‡ๅˆฐ่ทต่กŒๆ€็ปดๆต็จ‹็คบๆ„ๅ›พ\\\" style=\\\"width: 100%; border-radius: 8px;\\\" />\\n ๅ†™ๅœจๅ‰้ข\\n่‡ชๅŽปๅนด 7 ๆœˆไปฝ่ฟ็งปๅ‡ ็ฏ‡ๆ—งๆ–‡ๅŽ๏ผŒ็ฌ”่€…ๅฐฑๆฒกๆœ‰็ปง็ปญๅ†™่ฝฏๆ–‡ไบ†๏ผŒๆƒณไธๅˆฐๅ†ๆฌกๅ†™ๆ–‡็ซ ๆ—ถ็–ซๆƒ…ๆ”ฟ็ญ–ๅทฒ็ป่ฐƒๆ•ด๏ผŒไธ”ๅˆๆญฅๅฎž็Žฐไบ†ๅผ€ๆ”พใ€‚้‚ฃไนˆ้—ฎ้ข˜ๆฅไบ†๏ผŒไธบไป€ไนˆ่ฆ็ปง็ปญๅ†™ๆ–‡็ซ ๅ‘ข๏ผŸๆฆ‚ๆ‹ฌๆฅ่ฎฒ๏ผŒๆœ‰ไธคไธชๆ–น้ข็š„ๅŽŸๅ› ๏ผš\\n* ็›ดๆŽฅๅŽŸๅ› ๏ผš็–ซๆƒ…่ฟ™ไธ‰ๅนด๏ผŒๆฏไธชไบบ้ƒฝไฝ“้ชŒๅˆฐไบ†ไธๅŒไบŽไน‹ๅ‰็š„ โ€œ้šพโ€๏ผŒไนŸ้ƒฝๆœ‰\"}],\"LLM\":[{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/00.AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/00.AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ\",\"frontmatter\":{\"title\":\"AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"date\":\"2026-03-15 16:00:00\",\"description\":\"ๅ…จๆ™ฏๅผ AI ๅญฆไน ไธŽๅฎž่ทต็Ÿฅ่ฏ†ๅบ“๏ผŒ็ณป็ปŸๆฒ‰ๆท€ AI Agent ่ฎพ่ฎกๆจกๅผใ€ๅคงๆจกๅž‹ๅทฅ็จ‹ๅŒ–่ฝๅœฐใ€ๅผ€ๆบๅฐ้กน็›ฎๅŠ็คพๅŒบๆดปๅŠจ็ป้ชŒๆ€ป็ป“๏ผŒๆŒ็ปญ่ฟญไปฃไปŽ็†่ฎบๅˆฐ็”Ÿไบง็š„ๅฎŒๆ•ดๆ–นๆณ•่ฎบใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/llm_learning_bg_1.png\",\"permalink\":\"/ai-learning/overview\",\"categories\":[\"ai-practice\"],\"tags\":[\"AI\",\"LLM\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"date\":\"2026-03-15 16:00:00\",\"capture\":\"<!-- ็ฒพ้€‰ไธ“้ข˜ --\\n<script setup>\\nimport ArticleCardList from '@fragment/components/ArticleCardList.vue'\\nimport { aiLearningCategories } from '@fragment/data/ai-learning-data'\\n</script>\\n<ArticleCardList :categories=\\\"aiLearningCategories\\\" />\"}],\"CSS\":[{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/02.CSSๅทฅ็จ‹ๅŒ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/02.CSSๅทฅ็จ‹ๅŒ–\",\"frontmatter\":{\"date\":\"2026-03-10 22:05:50\",\"title\":\"ไปŽๅŽŸๅญๅŒ–ๅˆฐๅ˜ไฝ“้ฉฑๅŠจ๏ผš็Žฐไปฃ CSS ๅทฅ็จ‹ๅŒ–็š„ๆžถๆž„ๆผ”่ฟ›ไธŽๆททๅˆๅฎž่ทตๆŒ‡ๅ—\",\"description\":\"ๆœฌๆ–‡็ณป็ปŸๅ‰–ๆžไธปๆต CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆ็š„ๅบ•ๅฑ‚้€ป่พ‘๏ผŒๆๅ‡บโ€œๆ ทๅผ่ต„ไบง ROIโ€่ฏ„ไผฐๆจกๅž‹๏ผŒๅนถ้’ˆๅฏน Vue/React ็”Ÿๆ€็ป™ๅ‡บไบ†้ขๅ‘ AI ๆ—ถไปฃ็š„ไผไธš็บงๆททๅˆๆžถๆž„้€‰ๅž‹ๅปบ่ฎฎใ€‚\",\"permalink\":\"/full-stack/css-engineering\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"top\":true,\"categories\":[\"ๅ…จๆ ˆ\"],\"tags\":[\"ๅ…จๆ ˆ\",\"CSS\",\"ๅทฅ็จ‹ๅŒ–\",\"tailwindcss\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไปŽๅŽŸๅญๅŒ–ๅˆฐๅ˜ไฝ“้ฉฑๅŠจ๏ผš็Žฐไปฃ CSS ๅทฅ็จ‹ๅŒ–็š„ๆžถๆž„ๆผ”่ฟ›ไธŽๆททๅˆๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-03-10 22:05:50\",\"capture\":\"1. ๅผ•่จ€๏ผšไธปๆต CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆๆœ‰ๅ“ชไบ›๏ผŸ\\nๅœจ็Žฐไปฃๅ‰็ซฏๅผ€ๅ‘ไธญ๏ผŒ้š็€้กน็›ฎๅคๆ‚ๅบฆ็š„ๆ€ฅๅ‰งๆๅ‡๏ผŒๅŽŸ็”Ÿ CSS ๅธธๅธธ้ขไธดๅ…จๅฑ€ๆฑกๆŸ“ใ€ๅค็”จๅ›ฐ้šพใ€ๅฑ‚็บงๅตŒๅฅ—่ฟ‡ๆทฑไปฅๅŠ็ปดๆŠคๆˆๆœฌๆž้ซ˜็ญ‰้—ฎ้ข˜ใ€‚ไธบไบ†่งฃๅ†ณ่ฟ™ไบ›็—›็‚น๏ผŒ็คพๅŒบๅคšๅนดๆฅไธๆ–ญๆŽข็ดข๏ผŒๆฒ‰ๆท€ๅ‡บไบ†ๅคš็งไธปๆต็š„ CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆใ€‚\\n้™คๅŽŸ็”Ÿ CSS ไน‹ๅค–๏ผŒไธปๆตๆ–นๆกˆ่ฟ˜ๅŒ…ๆ‹ฌ้ข„ๅค„็†ๅ™จใ€CSS-in-JSใ€CSS Moduleใ€Scoped CSSใ€ๅŽŸๅญๅŒ– CSS ็ญ‰ใ€‚BEM ไฝœไธบไธ€็งๅŸบไบŽๅ‘ฝๅ็บฆๅฎšๆฅ่ง„้ฟๅ‘ฝๅๅ†ฒ็ช็š„ๆ—ฉๆœŸๆ–นๆกˆ๏ผŒๅœจ็Žฐไปฃๅ‰็ซฏๅทฅ็จ‹ไธญๅทฒๅŸบๆœฌไธๅ†ไฝฟ็”จ๏ผŒๅ› ๆญคๆœฌๆ–‡ไธๅ†ๅฏนๅ…ถๅฑ•ๅผ€่ฏฆ็ป†ๅˆ†ๆžใ€‚\\n> CSS ๅ‘ฝๅ่ง„่Œƒ๏ผˆBEM๏ผ‰๏ผš้€š่ฟ‡ไธฅๆ ผ็š„ๅ‘ฝๅ็บฆๅฎš๏ผˆๅฆ‚ Block__Element--Modif\"}],\"ๅทฅ็จ‹ๅŒ–\":[{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/02.CSSๅทฅ็จ‹ๅŒ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/02.CSSๅทฅ็จ‹ๅŒ–\",\"frontmatter\":{\"date\":\"2026-03-10 22:05:50\",\"title\":\"ไปŽๅŽŸๅญๅŒ–ๅˆฐๅ˜ไฝ“้ฉฑๅŠจ๏ผš็Žฐไปฃ CSS ๅทฅ็จ‹ๅŒ–็š„ๆžถๆž„ๆผ”่ฟ›ไธŽๆททๅˆๅฎž่ทตๆŒ‡ๅ—\",\"description\":\"ๆœฌๆ–‡็ณป็ปŸๅ‰–ๆžไธปๆต CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆ็š„ๅบ•ๅฑ‚้€ป่พ‘๏ผŒๆๅ‡บโ€œๆ ทๅผ่ต„ไบง ROIโ€่ฏ„ไผฐๆจกๅž‹๏ผŒๅนถ้’ˆๅฏน Vue/React ็”Ÿๆ€็ป™ๅ‡บไบ†้ขๅ‘ AI ๆ—ถไปฃ็š„ไผไธš็บงๆททๅˆๆžถๆž„้€‰ๅž‹ๅปบ่ฎฎใ€‚\",\"permalink\":\"/full-stack/css-engineering\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"top\":true,\"categories\":[\"ๅ…จๆ ˆ\"],\"tags\":[\"ๅ…จๆ ˆ\",\"CSS\",\"ๅทฅ็จ‹ๅŒ–\",\"tailwindcss\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไปŽๅŽŸๅญๅŒ–ๅˆฐๅ˜ไฝ“้ฉฑๅŠจ๏ผš็Žฐไปฃ CSS ๅทฅ็จ‹ๅŒ–็š„ๆžถๆž„ๆผ”่ฟ›ไธŽๆททๅˆๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-03-10 22:05:50\",\"capture\":\"1. ๅผ•่จ€๏ผšไธปๆต CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆๆœ‰ๅ“ชไบ›๏ผŸ\\nๅœจ็Žฐไปฃๅ‰็ซฏๅผ€ๅ‘ไธญ๏ผŒ้š็€้กน็›ฎๅคๆ‚ๅบฆ็š„ๆ€ฅๅ‰งๆๅ‡๏ผŒๅŽŸ็”Ÿ CSS ๅธธๅธธ้ขไธดๅ…จๅฑ€ๆฑกๆŸ“ใ€ๅค็”จๅ›ฐ้šพใ€ๅฑ‚็บงๅตŒๅฅ—่ฟ‡ๆทฑไปฅๅŠ็ปดๆŠคๆˆๆœฌๆž้ซ˜็ญ‰้—ฎ้ข˜ใ€‚ไธบไบ†่งฃๅ†ณ่ฟ™ไบ›็—›็‚น๏ผŒ็คพๅŒบๅคšๅนดๆฅไธๆ–ญๆŽข็ดข๏ผŒๆฒ‰ๆท€ๅ‡บไบ†ๅคš็งไธปๆต็š„ CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆใ€‚\\n้™คๅŽŸ็”Ÿ CSS ไน‹ๅค–๏ผŒไธปๆตๆ–นๆกˆ่ฟ˜ๅŒ…ๆ‹ฌ้ข„ๅค„็†ๅ™จใ€CSS-in-JSใ€CSS Moduleใ€Scoped CSSใ€ๅŽŸๅญๅŒ– CSS ็ญ‰ใ€‚BEM ไฝœไธบไธ€็งๅŸบไบŽๅ‘ฝๅ็บฆๅฎšๆฅ่ง„้ฟๅ‘ฝๅๅ†ฒ็ช็š„ๆ—ฉๆœŸๆ–นๆกˆ๏ผŒๅœจ็Žฐไปฃๅ‰็ซฏๅทฅ็จ‹ไธญๅทฒๅŸบๆœฌไธๅ†ไฝฟ็”จ๏ผŒๅ› ๆญคๆœฌๆ–‡ไธๅ†ๅฏนๅ…ถๅฑ•ๅผ€่ฏฆ็ป†ๅˆ†ๆžใ€‚\\n> CSS ๅ‘ฝๅ่ง„่Œƒ๏ผˆBEM๏ผ‰๏ผš้€š่ฟ‡ไธฅๆ ผ็š„ๅ‘ฝๅ็บฆๅฎš๏ผˆๅฆ‚ Block__Element--Modif\"}],\"tailwindcss\":[{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/02.CSSๅทฅ็จ‹ๅŒ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/02.CSSๅทฅ็จ‹ๅŒ–\",\"frontmatter\":{\"date\":\"2026-03-10 22:05:50\",\"title\":\"ไปŽๅŽŸๅญๅŒ–ๅˆฐๅ˜ไฝ“้ฉฑๅŠจ๏ผš็Žฐไปฃ CSS ๅทฅ็จ‹ๅŒ–็š„ๆžถๆž„ๆผ”่ฟ›ไธŽๆททๅˆๅฎž่ทตๆŒ‡ๅ—\",\"description\":\"ๆœฌๆ–‡็ณป็ปŸๅ‰–ๆžไธปๆต CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆ็š„ๅบ•ๅฑ‚้€ป่พ‘๏ผŒๆๅ‡บโ€œๆ ทๅผ่ต„ไบง ROIโ€่ฏ„ไผฐๆจกๅž‹๏ผŒๅนถ้’ˆๅฏน Vue/React ็”Ÿๆ€็ป™ๅ‡บไบ†้ขๅ‘ AI ๆ—ถไปฃ็š„ไผไธš็บงๆททๅˆๆžถๆž„้€‰ๅž‹ๅปบ่ฎฎใ€‚\",\"permalink\":\"/full-stack/css-engineering\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"top\":true,\"categories\":[\"ๅ…จๆ ˆ\"],\"tags\":[\"ๅ…จๆ ˆ\",\"CSS\",\"ๅทฅ็จ‹ๅŒ–\",\"tailwindcss\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไปŽๅŽŸๅญๅŒ–ๅˆฐๅ˜ไฝ“้ฉฑๅŠจ๏ผš็Žฐไปฃ CSS ๅทฅ็จ‹ๅŒ–็š„ๆžถๆž„ๆผ”่ฟ›ไธŽๆททๅˆๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-03-10 22:05:50\",\"capture\":\"1. ๅผ•่จ€๏ผšไธปๆต CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆๆœ‰ๅ“ชไบ›๏ผŸ\\nๅœจ็Žฐไปฃๅ‰็ซฏๅผ€ๅ‘ไธญ๏ผŒ้š็€้กน็›ฎๅคๆ‚ๅบฆ็š„ๆ€ฅๅ‰งๆๅ‡๏ผŒๅŽŸ็”Ÿ CSS ๅธธๅธธ้ขไธดๅ…จๅฑ€ๆฑกๆŸ“ใ€ๅค็”จๅ›ฐ้šพใ€ๅฑ‚็บงๅตŒๅฅ—่ฟ‡ๆทฑไปฅๅŠ็ปดๆŠคๆˆๆœฌๆž้ซ˜็ญ‰้—ฎ้ข˜ใ€‚ไธบไบ†่งฃๅ†ณ่ฟ™ไบ›็—›็‚น๏ผŒ็คพๅŒบๅคšๅนดๆฅไธๆ–ญๆŽข็ดข๏ผŒๆฒ‰ๆท€ๅ‡บไบ†ๅคš็งไธปๆต็š„ CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆใ€‚\\n้™คๅŽŸ็”Ÿ CSS ไน‹ๅค–๏ผŒไธปๆตๆ–นๆกˆ่ฟ˜ๅŒ…ๆ‹ฌ้ข„ๅค„็†ๅ™จใ€CSS-in-JSใ€CSS Moduleใ€Scoped CSSใ€ๅŽŸๅญๅŒ– CSS ็ญ‰ใ€‚BEM ไฝœไธบไธ€็งๅŸบไบŽๅ‘ฝๅ็บฆๅฎšๆฅ่ง„้ฟๅ‘ฝๅๅ†ฒ็ช็š„ๆ—ฉๆœŸๆ–นๆกˆ๏ผŒๅœจ็Žฐไปฃๅ‰็ซฏๅทฅ็จ‹ไธญๅทฒๅŸบๆœฌไธๅ†ไฝฟ็”จ๏ผŒๅ› ๆญคๆœฌๆ–‡ไธๅ†ๅฏนๅ…ถๅฑ•ๅผ€่ฏฆ็ป†ๅˆ†ๆžใ€‚\\n> CSS ๅ‘ฝๅ่ง„่Œƒ๏ผˆBEM๏ผ‰๏ผš้€š่ฟ‡ไธฅๆ ผ็š„ๅ‘ฝๅ็บฆๅฎš๏ผˆๅฆ‚ Block__Element--Modif\"}],\"tutorial\":[{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"frontmatter\":{\"date\":\"2026-03-05 16:54:35\",\"title\":\"ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"aliases\":[\"Server-Sent Events\",\"HTTP Streaming\"],\"tldr\":\"ๆทฑๅ…ฅ่งฃๆžๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผŒๆไพ›ไปŽๆฆ‚ๅฟตๅˆฐ็”Ÿไบงๅฎž่ทต็š„ๅฎŒๆ•ด่งฃๅ†ณๆ–นๆกˆใ€‚\",\"description\":\"่พจๆžๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ็š„ๆฆ‚ๅฟตไธŽๅฑ‚ๆฌกๅ…ณ็ณป๏ผŒ่ฏฆ่งฃๅฎขๆˆท็ซฏไธŽๆœๅŠก็ซฏๅฎž็Žฐๆ–นๆกˆ๏ผŒๆไพ›็”Ÿไบงๅฎž่ทตๅฎŒๆ•ดๆŒ‡ๅ—ใ€‚\",\"tags\":[\"tutorial\",\"SSE\",\"HTTP Streaming\",\"ๅ…จๆ ˆ\"],\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"permalink\":\"/fullstack/networking/sse-practice\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"date\":\"2026-03-05 16:54:35\",\"capture\":\"<script setup\\n import HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n> ๆ‘˜่ฆๆ€ป็ป“: ้’ˆๅฏนๅผ€ๅ‘่€…ๅฎนๆ˜“ๆททๆท†ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ็š„้—ฎ้ข˜๏ผŒไปŽๆฆ‚ๅฟตๅฑ‚ๆฌกๅ‡บๅ‘ๅŽ˜ๆธ…ไบŒ่€…ๆœฌ่ดจๅŒบๅˆซไธŽๅไฝœๅ…ณ็ณป๏ผŒๆŒ‡ๅ‡บๆตๅผ HTTP ๆ˜ฏๅบ•ๅฑ‚ไผ ่พ“ๆœบๅˆถ่€Œ SSE ๆ˜ฏๅบ”็”จๅฑ‚ๆ•ฐๆฎๆ ผๅผ็บฆๅฎšใ€‚ๆ–‡็ซ ไพๆฌกไป‹็ปๅŽŸ็”Ÿ EventSource APIใ€fetch + ReadableStream ่ฟ›้˜ถๆ–นๆกˆใ€@microsoft/fetch-event-source ๅทฅไธš็บงๅฎž็Žฐ็ญ‰ไธ‰็งๅฎขๆˆท็ซฏๆ–นๆกˆ๏ผŒๅนถไปฅ Nes\"},{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-02-10 23:33:19\",\"title\":\"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ๅฝ“ AI ๆ‰ฟๆŽฅไบ† 30% ็š„็ผ–็ ๆ‰ง่กŒๆ—ถ๏ผŒๅผ€ๅ‘่€…้œ€้€š่ฟ‡โ€œ่ง„ๆ ผ้ฉฑๅŠจ๏ผˆSDD๏ผ‰โ€้‡ๅคบ 70% ็š„่ฎพ่ฎกไธปๆƒ๏ผšไปŽ่‡ชๆฒป็ป„ไปถๅˆ’ๅˆ†ๅˆฐๅ•ๅ‘ๆ•ฐๆฎๆตๆ‹“ๆ‰‘็š„ๆทฑๅบฆๆŽจๆผ”ใ€‚\",\"description\":\"ๆœฌๆ–‡ๆŽข่ฎจๅœจ AI ๅขžๅผบๅผ€ๅ‘่ƒŒๆ™ฏไธ‹๏ผŒๅฆ‚ไฝ•้‡ๅก‘ React ็ป„ไปถ่ฎพ่ฎกๅŽŸๅˆ™ใ€‚ๆถต็›– SRP ่Œ่ดฃๅˆ’ๅˆ†ใ€้™ๆ€็‰ˆๆœฌๅŸบ็บฟใ€ๆœ€ๅฐ็Šถๆ€๏ผˆDerived Data๏ผ‰ๆŽจๅฏผไปฅๅŠ SDD ไบบๆœบๅไฝœๆจกๅผ็š„ๅทฅ็จ‹่ฝๅœฐใ€‚\",\"tags\":[\"tutorial\",\"react\",\"component-design\",\"state-management\",\"ai-augmented\",\"specification-driven\"],\"permalink\":\"/fullstack/react-design-philosophy-ai-augmented\",\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-02-10 23:33:19\",\"capture\":\"<script setup\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n 1. ๅผ•่จ€\\nๅœจ่ฝฏไปถๅทฅ็จ‹ไธญ๏ผŒ็บฆ 70% ็š„ๆ—ถ้—ดๅบ”ๆŠ•ๅ…ฅไบŽๆžถๆž„่ฎพ่ฎกใ€้œ€ๆฑ‚ๆ‹†่งฃไธŽๆŽฅๅฃ่ฏญไน‰ๆŽจๆ•ฒ๏ผŒไป… 30% ็”จไบŽๅฎž้™…็ผ–็ ใ€‚่ฟ›ๅ…ฅ AI ๅไฝœๆ—ถไปฃๅŽ๏ผŒ่ฟ™ไธ€ๆฏ”ไพ‹ไพ็„ถๅšๅฆ‚็ฃ็Ÿณโ€”โ€”ๅผ€ๅ‘่€…ๅฟ…้กปๅ…ˆๅฎŒๆˆๆทฑๅบฆๆ€่€ƒ๏ผŒๅฐ†โ€œๆธ…ๆ™ฐ็š„้—ฎ้ข˜่ง„ๆ ผ๏ผˆSpecification๏ผ‰โ€ไบค็ป™ AI๏ผŒAI ๆ‰่ƒฝ่พ“ๅ‡บ้ซ˜่ดจ้‡ไปฃ็ ใ€‚<HighLightText type=\\\"note\\\" bold>AI ๆๅ‡็š„ๆ˜ฏ 30% ็ผ–็ ้˜ถๆฎต็š„ๆ‰ง่กŒๅŠ›๏ผŒ่€Œ้žๅ–\"},{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2025-11-14 22:33:39\",\"title\":\"JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"aliases\":[\"้™ๆ€็ซ™็‚น็”Ÿๆˆๅ™จ\",\"SSG\"],\"tldr\":\"้ข„ๆธฒๆŸ“้™ๆ€้กต้ข + ๅŠจๆ€ API๏ผŒCDN ๅˆ†ๅ‘ๅ…จ็ƒ๏ผŒๆ›ฟไปฃไผ ็ปŸๅŠจๆ€็ฝ‘็ซ™็š„ๅผ€ๅ‘้ƒจ็ฝฒ่Œƒๅผ\",\"description\":\"ไปŽๆ ธๅฟƒๆฆ‚ๅฟตใ€ๅทฅๅ…ท้“พ้€‰ๅž‹๏ผˆNext.js/Vercel/Supabase/Contentful๏ผ‰ๅˆฐไปŽ 0 ๆญๅปบๅšๅฎข็š„ๅฎŒๆ•ดๅฎž่ทต๏ผŒ่ฆ†็›– JAMStack ้€‚็”จไธŽไธ้€‚็”จๅœบๆ™ฏ๏ผŒๅธฎๅŠฉๅˆคๆ–ญไฝ•ๆ—ถ้€‰็”จ่ฏฅๆžถๆž„ใ€‚\",\"permalink\":\"/fullstack/jamstack\",\"tags\":[\"tutorial\",\"jamstack\",\"frontend-architecture\",\"next.js\",\"static-site-generator\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2025-11-14 22:33:39\",\"capture\":\"> \\n> ๅ…ถๆ ธๅฟƒๆœบๅˆถๆ˜ฏๅœจๆž„ๅปบๆ—ถๅฐ†้กต้ข้ข„ๆธฒๆŸ“ไธบ้™ๆ€ HTML/CSS/JS๏ผŒ้ƒจ็ฝฒ่‡ณ CDN ไพ›็”จๆˆทๅฐฑ่ฟ‘ๅŠ ่ฝฝ๏ผŒไป…ๅœจ้œ€่ฆๅŠจๆ€ๆ•ฐๆฎๆ—ถ้€š่ฟ‡ JavaScript ่ฐƒ็”จ API ่Žทๅ–ใ€‚็›ธ่พƒไบŽไผ ็ปŸๅŠจๆ€็ฝ‘็ซ™๏ผŒJAMStack ๅœจๆ€ง่ƒฝใ€ๅฏ้ ๆ€งใ€ๆ‰ฉๅฑ•ๆ€งใ€ๅฎ‰ๅ…จๆ€งๅŠ่ฟ็ปดๆˆๆœฌไธŠๅ…ทๆœ‰ๆ˜พ่‘—ไผ˜ๅŠฟใ€‚\\n> \\n> ๆœฌๆ–‡ๆขณ็†ไบ†ไธปๆตๆž„ๅปบๅทฅๅ…ท๏ผˆGatsbyใ€Next.jsใ€Nuxt.jsใ€11ty๏ผ‰ใ€้™ๆ€ๆ‰˜็ฎกๅนณๅฐ๏ผˆVercelใ€Netlifyใ€Cloudflare Pages๏ผ‰ใ€API/BaaS ๆœๅŠก๏ผˆSupabaseใ€Firebaseใ€Auth0๏ผ‰ๅŠๆ— ๅคด CMS๏ผˆContentfulใ€Sanityใ€Strapi\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹\",\"frontmatter\":{\"date\":\"2025-08-20 22:51:27\",\"title\":\"่Šไธ€่Š TypeScript ไธญ็š„ๆณ›ๅž‹\",\"tldr\":\"ๆณ›ๅž‹ๅฐ†็ฑปๅž‹ไฝœไธบๅ‚ๆ•ฐ๏ผŒไฝฟไปฃ็ ๅœจๅคš็ง็ฑปๅž‹ไธŠๅฎ‰ๅ…จ่ฟ่กŒ๏ผŒๆ˜ฏ TypeScript ็ฑปๅž‹ๆŠฝ่ฑก็š„ๆ ธๅฟƒ็‰นๆ€งใ€‚\",\"description\":\"ๆœฌๆ–‡็ณป็ปŸ่งฃๆž TypeScript ๆณ›ๅž‹็š„ๆ ธๅฟƒๆฆ‚ๅฟตไธŽๅทฅไฝœๆœบๅˆถ๏ผŒๅฏนๆฏ”ๆณ›ๅž‹ไธŽ any ็ฑปๅž‹็š„ๅทฎๅผ‚๏ผŒๆถต็›–ๆณ›ๅž‹ๅ‡ฝๆ•ฐใ€ๆŽฅๅฃใ€็ฑปใ€็ฑปๅž‹ๅˆซๅ็š„ๅฎž่ทต็”จๆณ•๏ผŒไปฅๅŠๅŸบๆœฌ็ฑปๅž‹็บฆๆŸใ€ๆŽฅๅฃ็บฆๆŸใ€ๅคš้‡็บฆๆŸใ€keyof ็บฆๆŸ็ญ‰้ซ˜้˜ถๆŠ€ๅทงไธŽๆœ€ไฝณๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/typescript-generic-types\",\"tags\":[\"tutorial\",\"typescript\",\"generics\",\"type-system\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่Šไธ€่Š TypeScript ไธญ็š„ๆณ›ๅž‹\",\"date\":\"2025-08-20 22:51:27\",\"capture\":\"1. ๆณ›ๅž‹็š„ๅŸบๆœฌๆฆ‚ๅฟตๅ’Œไฝœ็”จ\\n 1.1 ๆ ธๅฟƒๅฎšไน‰\\nๆณ›ๅž‹๏ผˆGenerics๏ผ‰ ๆ˜ฏ TypeScript ไธญไธ€็งๅผบๅคง็š„็ฑปๅž‹็ณป็ปŸ็‰นๆ€ง๏ผŒๅ…่ฎธๅฎšไน‰็ฑปๅž‹ๅ‚ๆ•ฐๅŒ–็š„็ป„ไปถ๏ผŒไฝฟไปฃ็ ่ƒฝๅคŸๅœจๅคš็ง็ฑปๅž‹ไธŠๅฎ‰ๅ…จ่ฟ่กŒ๏ผŒๅŒๆ—ถไฟๆŒ็ฑปๅž‹ๆฃ€ๆŸฅใ€‚ๆณ›ๅž‹็š„ๆ ธๅฟƒๆ€ๆƒณๆ˜ฏๅฐ†็ฑปๅž‹ไฝœไธบๅ‚ๆ•ฐไผ ้€’็ป™ๅ‡ฝๆ•ฐใ€ๆŽฅๅฃๆˆ–็ฑป๏ผŒๅฎž็Žฐ\\\"็ผ–ๅ†™ไธ€ๆฌก๏ผŒๅค็”จๅคšๆฌก\\\"็š„ๆ•ˆๆžœใ€‚\\n 1.2 ๆณ›ๅž‹ไธŽ any ็ฑปๅž‹็š„ๅฏนๆฏ”\\n| ็‰นๆ€ง | ๆณ›ๅž‹ | any ็ฑปๅž‹ |\\n|------|------|----------|\\n| ็ฑปๅž‹ๅฎ‰ๅ…จ | โœ… ็ผ–่ฏ‘ๆ—ถ่ฟ›่กŒ็ฑปๅž‹ๆฃ€ๆŸฅ | โŒ ๅฎŒๅ…จๅคฑๅŽป็ฑปๅž‹ๆฃ€ๆŸฅ |\\n| ไปฃ็ ๅค็”จ | โœ… ๆ”ฏๆŒๅคš็ง็ฑปๅž‹ๅค็”จ | โœ… ๆ”ฏๆŒๅคš็ง็ฑปๅž‹๏ผŒไฝ†ๅคฑๅŽป็ฑปๅž‹ไฟกๆฏ |\\n| ็ฑปๅž‹ๆŽจๆ–ญ | โœ… \"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2025-08-12 22:47:47\",\"title\":\"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—\",\"tldr\":\"TypeScript ๅฎŒๅ–„็š„็ผ–่ฏ‘ไฝ“็ณปไธŽ่ฐƒ่ฏ•ๅทฅๅ…ท้“พ๏ผŒๆ˜ฏๆž„ๅปบ้ซ˜่ดจ้‡ๅบ”็”จ็š„ๅŸบ็Ÿณใ€‚\",\"description\":\"ๆทฑๅ…ฅ่งฃๆž TypeScript ็ผ–่ฏ‘ๅทฅๅ…ท้“พไธŽ่ฐƒ่ฏ•ไฝ“็ณป๏ผŒๆถต็›– tsconfig.json ๆ ธๅฟƒ้…็ฝฎใ€Monorepo ้กน็›ฎ้…็ฝฎ๏ผˆextends/references๏ผ‰ใ€source map ่ฐƒ่ฏ•ใ€ESLint ไธŽ Jest ๅ•ๅ…ƒๆต‹่ฏ•็ญ‰ๅฎŒๆ•ดๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/typescript-compilation-debugging-guide\",\"tags\":[\"tutorial\",\"typescript\",\"compilation\",\"tooling\",\"eslint\",\"jest\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—\",\"date\":\"2025-08-12 22:47:47\",\"capture\":\"็ผ–ๅ†™ไปฃ็ ๅชๆ˜ฏๅผ€ๅ‘ๅทฅไฝœ็š„่ตท็‚น๏ผŒ็œŸๆญฃๅ†ณๅฎš้กน็›ฎ่ดจ้‡็š„ๆ˜ฏๅŽ็ปญ็š„็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•็Žฏ่Š‚ใ€‚TypeScript ไฝœไธบ JavaScript ็š„้™ๆ€็ฑปๅž‹่ถ…้›†๏ผŒไธไป…ๅธฆๆฅไบ†็ฑปๅž‹ๅฎ‰ๅ…จ๏ผŒๆ›ดๆไพ›ไบ†ๅผบๅคง็š„็ผ–่ฏ‘ๅทฅๅ…ทๅ’Œ่ฐƒ่ฏ•่ƒฝๅŠ›๏ผŒ่ฎฉๆˆ‘ไปฌ่ƒฝๅคŸๆ›ด้ซ˜ๆ•ˆๅœฐๆž„ๅปบๅ’Œ็ปดๆŠคๅฏ้ ็š„ๅบ”็”จ็จ‹ๅบใ€‚\\nๆœฌๆ–‡ๅฐ†ๅฏน TypeScript ้กน็›ฎ็š„็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•่ฟ›่กŒๆขณ็†๏ผŒๅŒ…ๆ‹ฌ็ผ–่ฏ‘ๅทฅๅ…ท TSC ็š„ไฝฟ็”จใ€็ผ–่ฏ‘้€‰้กน็š„้…็ฝฎใ€่ฐƒ่ฏ•ๅทฅๅ…ท็š„ไฝฟ็”จ็ญ‰ใ€‚\\n 1. TypeScript ็ผ–่ฏ‘้…็ฝฎไธŽ tsconfig.json\\nTSC๏ผˆTypeScript Compiler๏ผ‰ๆ˜ฏ TypeScript ๅฎ˜ๆ–นๆไพ›็š„็ผ–่ฏ‘ๅทฅๅ…ท๏ผŒ่ดŸ่ดฃๅฐ† TypeScript ไปฃ็ ๏ผˆ`.ts` ๆˆ– `.tsx`๏ผ‰่ฝฌๆขไธบ J\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview\",\"frontmatter\":{\"date\":\"2024-05-18 22:49:57\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ไปŽ ES Modules ๅˆฐๅคงๅž‹้กน็›ฎๅˆ†ๅฑ‚ๆžถๆž„ไธŽๅทฅ็จ‹ๅŒ–ๅฎž่ทต๏ผŒๆž„ๅปบๅ…จๆ ˆๆจกๅ—ๅŒ–็Ÿฅ่ฏ†ไฝ“็ณปใ€‚\",\"description\":\"็ณป็ปŸๆขณ็† JavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›๏ผˆIIFEโ†’CJSโ†’ESM๏ผ‰ใ€TypeScript ็ฑปๅž‹ๅขžๅผบใ€ๅˆ†ๅฑ‚ๆžถๆž„ไธŽ DDD ๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/module-programming-practice-guide\",\"tags\":[\"tutorial\",\"ESM\",\"DDD\",\"ๅพฎๅ‰็ซฏ\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2024-05-18 22:49:57\",\"capture\":\"1. ๅผ•่จ€\\nๆจกๅ—ๅŒ–็ผ–็จ‹ๆ˜ฏ็Žฐไปฃ JavaScript/TypeScript ๅผ€ๅ‘็š„ๆ ธๅฟƒๅŽŸๅˆ™๏ผŒๅฎƒ้€š่ฟ‡ๅฐ†ๅคๆ‚็ณป็ปŸๆ‹†ๅˆ†ไธบ็‹ฌ็ซ‹ๅฏๅค็”จ็š„ๆจกๅ—๏ผŒ้™ไฝŽ็ณป็ปŸๅคๆ‚ๆ€งๅนถๆ้ซ˜ๅฏ็ปดๆŠคๆ€งไธŽๅฏๅค็”จๆ€งใ€‚ๅ› ๆญค๏ผŒๆˆ‘ไปฌ้€š่ฟ‡็ณปๅˆ—ๆ–‡็ซ ่ฏฆ็ป†ไป‹็ปไบ†ๆจกๅ—ๅŒ–็š„ๅŸบ็ก€ๆฆ‚ๅฟตใ€ๆผ”่ฟ›ๅކ็จ‹ใ€ไธๅŒ่ง„่Œƒ็š„ๆทฑๅบฆ่งฃๆžใ€TypeScriptๆจกๅ—ๅŒ–ๅขžๅผบใ€ES Modules ๆ ธๅฟƒ่ฏญๆณ•ไธŽๅฎž่ทตใ€ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทตใ€ๅ‰็ซฏๅทฅ็จ‹ๅŒ–ไธญ็š„ๆจกๅ—ๅŒ–ใ€Node.jsไธญ็š„ๆจกๅ—ๅŒ–ๅฎž่ทตใ€ๅคงๅž‹้กน็›ฎไธญ็š„ๆจกๅ—ๅŒ–่ฎพ่ฎกใ€ๆจกๅ—ๅŒ–ไธŽไปฃ็ ็ปดๆŠคไปฅๅŠๆœชๆฅๅ‘ๅฑ•่ถ‹ๅŠฟใ€‚\\nๅ‰้ข็š„็ณปๅˆ—ๆ–‡็ซ ไธป่ฆๆœ‰๏ผš\\n- ๆจกๅ—ๅŒ–็ผ–็จ‹็ผ–็จ‹ๅˆไฝ“้ชŒไธŽๅŸบ็ก€ไป‹็ป\\n- JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\\n- ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒ\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†\",\"frontmatter\":{\"date\":\"2024-05-14 22:26:06\",\"title\":\"JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\",\"tldr\":\"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ็ญ‰ๆ ธๅฟƒ่ง„่Œƒ๏ผŒ้™„็Žฐไปฃ่ฟ็งป็ญ–็•ฅใ€‚\",\"description\":\"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ๅ››ๅคงๆจกๅ—ๅŒ–่ง„่Œƒ็š„ๆ ธๅฟƒ่ฏญๆณ•ไธŽ้€‚็”จๅœบๆ™ฏ๏ผŒ่งฃๆžๅ„่ง„่Œƒ็š„ๅ…ณ้”ฎๅทฎๅผ‚๏ผŒๅนถๆไพ›ไปŽๆ—ง่ง„่Œƒๅ‘ ESM ่ฟ็งป็š„ๅฎžๆ“็ญ–็•ฅใ€‚\",\"permalink\":\"/fullstack/different-module-programming-specifications\",\"tags\":[\"tutorial\",\"CommonJS\",\"AMD\",\"UMD\",\"ESM\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\",\"date\":\"2024-05-14 22:26:06\",\"capture\":\"ๅœจ JavaScript ่ฟ›ๅŒ–ๅฒไธŠ๏ผŒโ€œๆจกๅ—ๅŒ–โ€ๅง‹็ปˆๆ˜ฏไธ€ไธชๆ ธๅฟƒๅ‘ฝ้ข˜ใ€‚ไปŽๆ—ฉๆœŸ script ๆ ‡็ญพๆปกๅคฉ้ฃž็š„โ€œๆททๆฒŒๆ—ถไปฃโ€๏ผŒๅˆฐๅ„่ทฏ่ง„่Œƒ็พค้›„้€้นฟ็š„โ€œๆˆ˜ๅ›ฝๆ—ถไปฃโ€๏ผŒๅ†ๅˆฐๅฆ‚ไปŠ ES Modules ๅฎšไบŽไธ€ๅฐŠ๏ผŒๅผ€ๅ‘่€…ไปฌๅœจ่งฃๅ†ณไพ่ต–็ฎก็†ใ€ไฝœ็”จๅŸŸๆฑกๆŸ“ๅ’Œๅผ‚ๆญฅๅŠ ่ฝฝ็ญ‰้—ฎ้ข˜ไธŠไป˜ๅ‡บไบ†ๅทจๅคง็š„ๅŠชๅŠ›ใ€‚\\nๆœฌๆ–‡ๅฐ†ๅธฆไฝ ๆขณ็† JavaScript ๅކๅฒไธŠๆœ€้‡่ฆ็š„ๅ‡ ็งๆจกๅ—ๅŒ–่ง„่Œƒ๏ผŒไพฟไบŽๆž„ๅปบ่ตทๅ…จๆ ˆๅผ€ๅ‘็š„ๅบ•ๅฑ‚็Ÿฅ่ฏ†ๅ›พ่ฐฑใ€‚\\n 1. CommonJS ่ง„่Œƒ๏ผšNode.js ็”Ÿๆ€็š„ๅŸบ็Ÿณ\\nCommonJS ๆ˜ฏไผด้š Node.js ่ฏž็”Ÿ็š„่ง„่Œƒ,็”ฑ Kevin Dangoor ๆๅ‡บ๏ผŒๅˆ่กทๆ˜ฏ่ฎฉ JavaScript ่„ฑ็ฆปๆต่งˆๅ™จไนŸ่ƒฝๆž„ๅปบๅคๆ‚็š„็ณป็ปŸๅบ”็”จใ€‚ๅฎƒๆ˜ฏ Node.\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€\",\"frontmatter\":{\"date\":\"2024-05-12 22:43:28\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ๏ผšๆฆ‚ๅฟตใ€ๆผ”่ฟ›ไธŽ่ฎพ่ฎกๆจกๅผ\",\"tldr\":\"ไปŽๅ…จๅฑ€ๅ˜้‡ๅˆฐ ES Modules๏ผšJavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›ไธŽๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผๅฎž่ทตใ€‚\",\"description\":\"็ณป็ปŸ่ฎฒ่งฃ JavaScript ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€๏ผŒๆถต็›– IIFEใ€CommonJSใ€ES Modules ่ง„่Œƒๆผ”่ฟ›๏ผŒไปฅๅŠๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผไธŽๆจกๅ—ๅŒ–็š„็ป“ๅˆใ€‚\",\"permalink\":\"/fullstack/frontend-module-programming-basic\",\"tags\":[\"tutorial\",\"javascript\",\"modularization\",\"esm\",\"design-patterns\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ๏ผšๆฆ‚ๅฟตใ€ๆผ”่ฟ›ไธŽ่ฎพ่ฎกๆจกๅผ\",\"date\":\"2024-05-12 22:43:28\",\"capture\":\"1. ๅผ•่จ€\\n้š็€้กน็›ฎ่ง„ๆจกๆ—ฅ็›Š่†จ่ƒ€๏ผŒไปฃ็ ้‡ไปŽๅ‡ ๅƒ่กŒ่ฟ…้€Ÿๅขž้•ฟๅˆฐๆ•ฐไธ‡็”š่‡ณๆ•ฐๅไธ‡่กŒ๏ผŒๅฐ†ๆ‰€ๆœ‰้€ป่พ‘ๅกž่ฟ›ๅฐ‘ๆ•ฐๅ‡ ไธชๆ–‡ไปถ็š„ๅšๆณ•ๆ—ฉๅทฒ้šพไปฅไธบ็ปงใ€‚ๅœจ่ฟ™ๆ ท็š„่ƒŒๆ™ฏไธ‹๏ผŒๆจกๅ—ๅŒ–็ผ–็จ‹ๅบ”่ฟ่€Œ็”Ÿ๏ผŒๆˆไธบ็Žฐไปฃๅ‰็ซฏๅผ€ๅ‘็š„ๆ ‡้…ใ€‚\\nๅฎƒ็š„ๆ ธๅฟƒ็†ๅฟต็ฎ€ๆด่€Œไผ˜้›…๏ผšๅƒๆญ็งฏๆœจไธ€ๆ ท๏ผŒๅฐ†ๅบžๅคงๅคๆ‚็š„็ณป็ปŸๆ‹†่งฃไธบไธ€ไธชไธช็‹ฌ็ซ‹ใ€ๅŠŸ่ƒฝๅ•ไธ€ไธ”ๅฏๅค็”จ็š„ๆจกๅ—๏ผŒ่ฎฉๆฏไธชๆจกๅ—ๅ„ๅธๅ…ถ่Œ๏ผŒๅ†้€š่ฟ‡ๆ ‡ๅ‡†ๆŽฅๅฃ็ตๆดป็ป„ๅˆใ€‚\\n 2. ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ\\nๅœจๆทฑๅ…ฅ็†่ฎบไน‹ๅ‰๏ผŒ่ฎฉๆˆ‘ไปฌๅ…ˆ้€š่ฟ‡ไธ€ไธช็ฎ€ๅ•็š„ JavaScript ็คบไพ‹๏ผŒ็›ด่ง‚ๅœฐๆ„Ÿๅ—ไธ€ไธ‹ไป€ไนˆๆ˜ฏๆจกๅ—ๅŒ–ใ€‚ๅ‡่ฎพๆˆ‘ไปฌ้œ€่ฆๅค„็†ไธ€ไบ›ๆ•ฐๅญฆ่ฟ็ฎ—๏ผŒๆˆ‘ไปฌๅฏไปฅๅฐ†ๅ…ถๅฐ่ฃ…ๆˆไธ€ไธช็‹ฌ็ซ‹็š„ๅทฅๅ…ทๆจกๅ—๏ผš\\n```javascript\\n// math.js - ๅฎšไน‰ไธ€ไธชๆ•ฐๅญฆๅทฅๅ…ทๆจกๅ—\\nexp\"}],\"SSE\":[{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"frontmatter\":{\"date\":\"2026-03-05 16:54:35\",\"title\":\"ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"aliases\":[\"Server-Sent Events\",\"HTTP Streaming\"],\"tldr\":\"ๆทฑๅ…ฅ่งฃๆžๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผŒๆไพ›ไปŽๆฆ‚ๅฟตๅˆฐ็”Ÿไบงๅฎž่ทต็š„ๅฎŒๆ•ด่งฃๅ†ณๆ–นๆกˆใ€‚\",\"description\":\"่พจๆžๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ็š„ๆฆ‚ๅฟตไธŽๅฑ‚ๆฌกๅ…ณ็ณป๏ผŒ่ฏฆ่งฃๅฎขๆˆท็ซฏไธŽๆœๅŠก็ซฏๅฎž็Žฐๆ–นๆกˆ๏ผŒๆไพ›็”Ÿไบงๅฎž่ทตๅฎŒๆ•ดๆŒ‡ๅ—ใ€‚\",\"tags\":[\"tutorial\",\"SSE\",\"HTTP Streaming\",\"ๅ…จๆ ˆ\"],\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"permalink\":\"/fullstack/networking/sse-practice\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"date\":\"2026-03-05 16:54:35\",\"capture\":\"<script setup\\n import HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n> ๆ‘˜่ฆๆ€ป็ป“: ้’ˆๅฏนๅผ€ๅ‘่€…ๅฎนๆ˜“ๆททๆท†ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ็š„้—ฎ้ข˜๏ผŒไปŽๆฆ‚ๅฟตๅฑ‚ๆฌกๅ‡บๅ‘ๅŽ˜ๆธ…ไบŒ่€…ๆœฌ่ดจๅŒบๅˆซไธŽๅไฝœๅ…ณ็ณป๏ผŒๆŒ‡ๅ‡บๆตๅผ HTTP ๆ˜ฏๅบ•ๅฑ‚ไผ ่พ“ๆœบๅˆถ่€Œ SSE ๆ˜ฏๅบ”็”จๅฑ‚ๆ•ฐๆฎๆ ผๅผ็บฆๅฎšใ€‚ๆ–‡็ซ ไพๆฌกไป‹็ปๅŽŸ็”Ÿ EventSource APIใ€fetch + ReadableStream ่ฟ›้˜ถๆ–นๆกˆใ€@microsoft/fetch-event-source ๅทฅไธš็บงๅฎž็Žฐ็ญ‰ไธ‰็งๅฎขๆˆท็ซฏๆ–นๆกˆ๏ผŒๅนถไปฅ Nes\"},{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-02-24 08:40:31\",\"title\":\"Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"tldr\":\"ๆทฑๅ…ฅๅˆ†ๆžไบ”็ง Web ้€šไฟกๅ่ฎฎ๏ผŒๆไพ› AI ๆ—ถไปฃ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—ไธŽๆœ€ไฝณๅฎž่ทตใ€‚\",\"description\":\"ๆทฑๅ…ฅๅ‰–ๆžไผ ็ปŸ HTTPใ€ๆตๅผ HTTPใ€SSEใ€WebSocketใ€Webhooksใ€HTTP ่ฝฎ่ฏข็š„ๅŽŸ็†ไธŽ็‰นๆ€ง๏ผŒ็ป“ๅˆ AI ๅœบๆ™ฏๆไพ›ๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–็Ÿฉ้˜ตใ€‚\",\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"tags\":[\"HTTP\",\"HTTP ่ฝฎ่ฏข\",\"SSE\",\"WebSocket\",\"Webhooks\"],\"permalink\":\"/fullstack/networking-protocol-selection-guide\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"date\":\"2026-02-24 08:40:31\",\"capture\":\"1. ๅผ•่จ€\\nHTTP ๆ˜ฏไธ€็งๅŸบไบŽๆ–‡ๆœฌ็š„้€šไฟกๅ่ฎฎ๏ผŒไธป่ฆ็”จไบŽ Web ๆต่งˆๅ™จใ€็งปๅŠจๅบ”็”จใ€ๆกŒ้ขๅบ”็”จ็ญ‰ๅฎขๆˆท็ซฏๅ’Œ Web ๆœๅŠกๅ™จไน‹้—ด็š„ๆ•ฐๆฎไผ ่พ“ใ€‚ไผ ็ปŸ HTTP ้‡‡็”จๅŒๆญฅ็š„่ฏทๆฑ‚-ๅ“ๅบ”ๆจกๅผ๏ผš`่ฏทๆฑ‚ -> ็ญ‰ๅพ… -> ๅฎŒๆ•ดๅ“ๅบ”`ใ€‚่ฟ™็งๆ–นๅผ่™ฝ่ƒฝๆปก่ถณๅคงๅคšๆ•ฐๅœบๆ™ฏ๏ผŒไฝ†ๅœจๅฎžๆ—ถๆ€ง่ฆๆฑ‚่พƒ้ซ˜็š„้ข†ๅŸŸโ€”โ€”ๅฆ‚ๆธธๆˆใ€่Šๅคฉใ€่ง†้ข‘ไผš่ฎฎ๏ผŒไปฅๅŠ AI ๆ—ถไปฃ็š„ๅฏน่ฏๅผๅบ”็”จโ€”โ€”ๅดๆ˜พๅพ—ๅŠ›ไธไปŽๅฟƒใ€‚\\nไธบ่งฃๅ†ณ่ฟ™ไธ€้—ฎ้ข˜๏ผŒไธš็•Œๅ‘ๅฑ•ๅ‡บไบ†ๅคš็งๅฎžๆ—ถ Web ้€šไฟกๆ–นๆกˆใ€‚ๆœฌๆ–‡ๅฐ†ๅ›ด็ป• ๆตๅผ HTTPใ€SSEใ€WebSocketใ€Webhooksใ€HTTP ่ฝฎ่ฏข ่ฟ™ไบ”็งไธปๆตๆŠ€ๆœฏ๏ผŒไปŽๅŽŸ็†ใ€็‰นๆ€งใ€้€‚็”จๅœบๆ™ฏๅ‡บๅ‘๏ผŒๆŽข่ฎจๅฎƒไปฌๅœจ็Žฐไปฃๅˆ†ๅธƒๅผๆžถๆž„ไธญ็š„้€‰ๅž‹็ญ–็•ฅไธŽๅทฅ็จ‹ๅฎž่ทตใ€‚\\n 2\"}],\"HTTP Streaming\":[{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"frontmatter\":{\"date\":\"2026-03-05 16:54:35\",\"title\":\"ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"aliases\":[\"Server-Sent Events\",\"HTTP Streaming\"],\"tldr\":\"ๆทฑๅ…ฅ่งฃๆžๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผŒๆไพ›ไปŽๆฆ‚ๅฟตๅˆฐ็”Ÿไบงๅฎž่ทต็š„ๅฎŒๆ•ด่งฃๅ†ณๆ–นๆกˆใ€‚\",\"description\":\"่พจๆžๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ็š„ๆฆ‚ๅฟตไธŽๅฑ‚ๆฌกๅ…ณ็ณป๏ผŒ่ฏฆ่งฃๅฎขๆˆท็ซฏไธŽๆœๅŠก็ซฏๅฎž็Žฐๆ–นๆกˆ๏ผŒๆไพ›็”Ÿไบงๅฎž่ทตๅฎŒๆ•ดๆŒ‡ๅ—ใ€‚\",\"tags\":[\"tutorial\",\"SSE\",\"HTTP Streaming\",\"ๅ…จๆ ˆ\"],\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"permalink\":\"/fullstack/networking/sse-practice\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"date\":\"2026-03-05 16:54:35\",\"capture\":\"<script setup\\n import HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n> ๆ‘˜่ฆๆ€ป็ป“: ้’ˆๅฏนๅผ€ๅ‘่€…ๅฎนๆ˜“ๆททๆท†ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ็š„้—ฎ้ข˜๏ผŒไปŽๆฆ‚ๅฟตๅฑ‚ๆฌกๅ‡บๅ‘ๅŽ˜ๆธ…ไบŒ่€…ๆœฌ่ดจๅŒบๅˆซไธŽๅไฝœๅ…ณ็ณป๏ผŒๆŒ‡ๅ‡บๆตๅผ HTTP ๆ˜ฏๅบ•ๅฑ‚ไผ ่พ“ๆœบๅˆถ่€Œ SSE ๆ˜ฏๅบ”็”จๅฑ‚ๆ•ฐๆฎๆ ผๅผ็บฆๅฎšใ€‚ๆ–‡็ซ ไพๆฌกไป‹็ปๅŽŸ็”Ÿ EventSource APIใ€fetch + ReadableStream ่ฟ›้˜ถๆ–นๆกˆใ€@microsoft/fetch-event-source ๅทฅไธš็บงๅฎž็Žฐ็ญ‰ไธ‰็งๅฎขๆˆท็ซฏๆ–นๆกˆ๏ผŒๅนถไปฅ Nes\"}],\"HTTP ่ฝฎ่ฏข\":[{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"frontmatter\":{\"date\":\"2026-02-25 22:10:48\",\"title\":\"HTTP ่ฝฎ่ฏขไผ˜ๅŒ–ๆŒ‡ๅ—๏ผš้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"tldr\":\"่ฏฆ่งฃ้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅฎž็ŽฐๅŽŸ็†๏ผŒๆไพ› HTTP ่ฝฎ่ฏขไผ˜ๅŒ–็ญ–็•ฅไธŽ้€‰ๅž‹ๅ†ณ็ญ–ๆ ‘ใ€‚\",\"description\":\"ๆทฑๅ…ฅๅ‰–ๆž้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๆ ธๅฟƒๆœบๅˆถ๏ผŒๆไพ› TypeScript/NestJS ๅฎžๆˆ˜ไปฃ็ ๏ผŒๅนถๆž„ๅปบๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–ๆ ‘ไธŽ้€‚็”จๅœบๆ™ฏ้€ŸๆŸฅใ€‚\",\"tags\":[\"HTTP ่ฝฎ่ฏข\",\"้€€้ฟ่ฝฎ่ฏข\",\"้•ฟ่ฝฎ่ฏข\"],\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"permalink\":\"/fullstack/networking-polling-optimization\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"HTTP ่ฝฎ่ฏขไผ˜ๅŒ–ๆŒ‡ๅ—๏ผš้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"date\":\"2026-02-25 22:10:48\",\"capture\":\"1. ๅผ•่จ€\\nๅœจ็Žฐไปฃ Web ๅผ€ๅ‘ไธญ๏ผŒWebSocket ๅ’Œ Server-Sent Events (SSE) ๅธธๅธธ่ขซ่ง†ไธบๅฎžๆ—ถ้€šไฟก็š„้“ถๅผนใ€‚็„ถ่€Œ๏ผŒHTTP ่ฝฎ่ฏข๏ผˆPolling๏ผ‰ไฝœไธบๆœ€ๆœด็ด ็š„ๅฎžๆ—ถ้€šไฟกๆ–นๆกˆ๏ผŒ้žไฝ†ๆฒกๆœ‰้€€ๅ‡บๅކๅฒ่ˆžๅฐ๏ผŒๅ่€Œๅœจ็‰นๅฎš็š„ๅคๆ‚ไธšๅŠกๅœบๆ™ฏไธญๅคงๆ”พๅผ‚ๅฝฉใ€‚\\n> ๐Ÿ“– ๅฆ‚ๆžœไฝ ๅฏน HTTP ่ฝฎ่ฏขๅœจๆ•ดไธช Web ้€šไฟกๅ่ฎฎไฝ“็ณปไธญ็š„ๅฎšไฝๅฐšไธๆธ…ๆ™ฐ๏ผŒๆŽจ่ๅ…ˆ้˜…่ฏป Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—๏ผŒไบ†่งฃ่ฝฎ่ฏขไธŽ็Ÿญ่ฟžๆŽฅใ€้•ฟ่ฟžๆŽฅใ€WebSocketใ€SSE ็ญ‰ๆ–นๆกˆ็š„ๆผ”่ฟ›ๅ…ณ็ณปไธŽ้€‚็”จ่พน็•Œ๏ผŒๅ†็ป“ๅˆๆœฌๆ–‡ๆทฑๅ…ฅๅฎž่ทตใ€‚\\nๅœจๅฝ“ๅ‰ไผ—ๅคš้กถ็บง็š„ AI AIGC ๅบ”็”จ๏ผˆๅฆ‚ Midjourne\"},{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-02-24 08:40:31\",\"title\":\"Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"tldr\":\"ๆทฑๅ…ฅๅˆ†ๆžไบ”็ง Web ้€šไฟกๅ่ฎฎ๏ผŒๆไพ› AI ๆ—ถไปฃ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—ไธŽๆœ€ไฝณๅฎž่ทตใ€‚\",\"description\":\"ๆทฑๅ…ฅๅ‰–ๆžไผ ็ปŸ HTTPใ€ๆตๅผ HTTPใ€SSEใ€WebSocketใ€Webhooksใ€HTTP ่ฝฎ่ฏข็š„ๅŽŸ็†ไธŽ็‰นๆ€ง๏ผŒ็ป“ๅˆ AI ๅœบๆ™ฏๆไพ›ๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–็Ÿฉ้˜ตใ€‚\",\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"tags\":[\"HTTP\",\"HTTP ่ฝฎ่ฏข\",\"SSE\",\"WebSocket\",\"Webhooks\"],\"permalink\":\"/fullstack/networking-protocol-selection-guide\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"date\":\"2026-02-24 08:40:31\",\"capture\":\"1. ๅผ•่จ€\\nHTTP ๆ˜ฏไธ€็งๅŸบไบŽๆ–‡ๆœฌ็š„้€šไฟกๅ่ฎฎ๏ผŒไธป่ฆ็”จไบŽ Web ๆต่งˆๅ™จใ€็งปๅŠจๅบ”็”จใ€ๆกŒ้ขๅบ”็”จ็ญ‰ๅฎขๆˆท็ซฏๅ’Œ Web ๆœๅŠกๅ™จไน‹้—ด็š„ๆ•ฐๆฎไผ ่พ“ใ€‚ไผ ็ปŸ HTTP ้‡‡็”จๅŒๆญฅ็š„่ฏทๆฑ‚-ๅ“ๅบ”ๆจกๅผ๏ผš`่ฏทๆฑ‚ -> ็ญ‰ๅพ… -> ๅฎŒๆ•ดๅ“ๅบ”`ใ€‚่ฟ™็งๆ–นๅผ่™ฝ่ƒฝๆปก่ถณๅคงๅคšๆ•ฐๅœบๆ™ฏ๏ผŒไฝ†ๅœจๅฎžๆ—ถๆ€ง่ฆๆฑ‚่พƒ้ซ˜็š„้ข†ๅŸŸโ€”โ€”ๅฆ‚ๆธธๆˆใ€่Šๅคฉใ€่ง†้ข‘ไผš่ฎฎ๏ผŒไปฅๅŠ AI ๆ—ถไปฃ็š„ๅฏน่ฏๅผๅบ”็”จโ€”โ€”ๅดๆ˜พๅพ—ๅŠ›ไธไปŽๅฟƒใ€‚\\nไธบ่งฃๅ†ณ่ฟ™ไธ€้—ฎ้ข˜๏ผŒไธš็•Œๅ‘ๅฑ•ๅ‡บไบ†ๅคš็งๅฎžๆ—ถ Web ้€šไฟกๆ–นๆกˆใ€‚ๆœฌๆ–‡ๅฐ†ๅ›ด็ป• ๆตๅผ HTTPใ€SSEใ€WebSocketใ€Webhooksใ€HTTP ่ฝฎ่ฏข ่ฟ™ไบ”็งไธปๆตๆŠ€ๆœฏ๏ผŒไปŽๅŽŸ็†ใ€็‰นๆ€งใ€้€‚็”จๅœบๆ™ฏๅ‡บๅ‘๏ผŒๆŽข่ฎจๅฎƒไปฌๅœจ็Žฐไปฃๅˆ†ๅธƒๅผๆžถๆž„ไธญ็š„้€‰ๅž‹็ญ–็•ฅไธŽๅทฅ็จ‹ๅฎž่ทตใ€‚\\n 2\"}],\"้€€้ฟ่ฝฎ่ฏข\":[{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"frontmatter\":{\"date\":\"2026-02-25 22:10:48\",\"title\":\"HTTP ่ฝฎ่ฏขไผ˜ๅŒ–ๆŒ‡ๅ—๏ผš้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"tldr\":\"่ฏฆ่งฃ้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅฎž็ŽฐๅŽŸ็†๏ผŒๆไพ› HTTP ่ฝฎ่ฏขไผ˜ๅŒ–็ญ–็•ฅไธŽ้€‰ๅž‹ๅ†ณ็ญ–ๆ ‘ใ€‚\",\"description\":\"ๆทฑๅ…ฅๅ‰–ๆž้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๆ ธๅฟƒๆœบๅˆถ๏ผŒๆไพ› TypeScript/NestJS ๅฎžๆˆ˜ไปฃ็ ๏ผŒๅนถๆž„ๅปบๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–ๆ ‘ไธŽ้€‚็”จๅœบๆ™ฏ้€ŸๆŸฅใ€‚\",\"tags\":[\"HTTP ่ฝฎ่ฏข\",\"้€€้ฟ่ฝฎ่ฏข\",\"้•ฟ่ฝฎ่ฏข\"],\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"permalink\":\"/fullstack/networking-polling-optimization\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"HTTP ่ฝฎ่ฏขไผ˜ๅŒ–ๆŒ‡ๅ—๏ผš้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"date\":\"2026-02-25 22:10:48\",\"capture\":\"1. ๅผ•่จ€\\nๅœจ็Žฐไปฃ Web ๅผ€ๅ‘ไธญ๏ผŒWebSocket ๅ’Œ Server-Sent Events (SSE) ๅธธๅธธ่ขซ่ง†ไธบๅฎžๆ—ถ้€šไฟก็š„้“ถๅผนใ€‚็„ถ่€Œ๏ผŒHTTP ่ฝฎ่ฏข๏ผˆPolling๏ผ‰ไฝœไธบๆœ€ๆœด็ด ็š„ๅฎžๆ—ถ้€šไฟกๆ–นๆกˆ๏ผŒ้žไฝ†ๆฒกๆœ‰้€€ๅ‡บๅކๅฒ่ˆžๅฐ๏ผŒๅ่€Œๅœจ็‰นๅฎš็š„ๅคๆ‚ไธšๅŠกๅœบๆ™ฏไธญๅคงๆ”พๅผ‚ๅฝฉใ€‚\\n> ๐Ÿ“– ๅฆ‚ๆžœไฝ ๅฏน HTTP ่ฝฎ่ฏขๅœจๆ•ดไธช Web ้€šไฟกๅ่ฎฎไฝ“็ณปไธญ็š„ๅฎšไฝๅฐšไธๆธ…ๆ™ฐ๏ผŒๆŽจ่ๅ…ˆ้˜…่ฏป Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—๏ผŒไบ†่งฃ่ฝฎ่ฏขไธŽ็Ÿญ่ฟžๆŽฅใ€้•ฟ่ฟžๆŽฅใ€WebSocketใ€SSE ็ญ‰ๆ–นๆกˆ็š„ๆผ”่ฟ›ๅ…ณ็ณปไธŽ้€‚็”จ่พน็•Œ๏ผŒๅ†็ป“ๅˆๆœฌๆ–‡ๆทฑๅ…ฅๅฎž่ทตใ€‚\\nๅœจๅฝ“ๅ‰ไผ—ๅคš้กถ็บง็š„ AI AIGC ๅบ”็”จ๏ผˆๅฆ‚ Midjourne\"}],\"้•ฟ่ฝฎ่ฏข\":[{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"frontmatter\":{\"date\":\"2026-02-25 22:10:48\",\"title\":\"HTTP ่ฝฎ่ฏขไผ˜ๅŒ–ๆŒ‡ๅ—๏ผš้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"tldr\":\"่ฏฆ่งฃ้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅฎž็ŽฐๅŽŸ็†๏ผŒๆไพ› HTTP ่ฝฎ่ฏขไผ˜ๅŒ–็ญ–็•ฅไธŽ้€‰ๅž‹ๅ†ณ็ญ–ๆ ‘ใ€‚\",\"description\":\"ๆทฑๅ…ฅๅ‰–ๆž้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๆ ธๅฟƒๆœบๅˆถ๏ผŒๆไพ› TypeScript/NestJS ๅฎžๆˆ˜ไปฃ็ ๏ผŒๅนถๆž„ๅปบๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–ๆ ‘ไธŽ้€‚็”จๅœบๆ™ฏ้€ŸๆŸฅใ€‚\",\"tags\":[\"HTTP ่ฝฎ่ฏข\",\"้€€้ฟ่ฝฎ่ฏข\",\"้•ฟ่ฝฎ่ฏข\"],\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"permalink\":\"/fullstack/networking-polling-optimization\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"HTTP ่ฝฎ่ฏขไผ˜ๅŒ–ๆŒ‡ๅ—๏ผš้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"date\":\"2026-02-25 22:10:48\",\"capture\":\"1. ๅผ•่จ€\\nๅœจ็Žฐไปฃ Web ๅผ€ๅ‘ไธญ๏ผŒWebSocket ๅ’Œ Server-Sent Events (SSE) ๅธธๅธธ่ขซ่ง†ไธบๅฎžๆ—ถ้€šไฟก็š„้“ถๅผนใ€‚็„ถ่€Œ๏ผŒHTTP ่ฝฎ่ฏข๏ผˆPolling๏ผ‰ไฝœไธบๆœ€ๆœด็ด ็š„ๅฎžๆ—ถ้€šไฟกๆ–นๆกˆ๏ผŒ้žไฝ†ๆฒกๆœ‰้€€ๅ‡บๅކๅฒ่ˆžๅฐ๏ผŒๅ่€Œๅœจ็‰นๅฎš็š„ๅคๆ‚ไธšๅŠกๅœบๆ™ฏไธญๅคงๆ”พๅผ‚ๅฝฉใ€‚\\n> ๐Ÿ“– ๅฆ‚ๆžœไฝ ๅฏน HTTP ่ฝฎ่ฏขๅœจๆ•ดไธช Web ้€šไฟกๅ่ฎฎไฝ“็ณปไธญ็š„ๅฎšไฝๅฐšไธๆธ…ๆ™ฐ๏ผŒๆŽจ่ๅ…ˆ้˜…่ฏป Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—๏ผŒไบ†่งฃ่ฝฎ่ฏขไธŽ็Ÿญ่ฟžๆŽฅใ€้•ฟ่ฟžๆŽฅใ€WebSocketใ€SSE ็ญ‰ๆ–นๆกˆ็š„ๆผ”่ฟ›ๅ…ณ็ณปไธŽ้€‚็”จ่พน็•Œ๏ผŒๅ†็ป“ๅˆๆœฌๆ–‡ๆทฑๅ…ฅๅฎž่ทตใ€‚\\nๅœจๅฝ“ๅ‰ไผ—ๅคš้กถ็บง็š„ AI AIGC ๅบ”็”จ๏ผˆๅฆ‚ Midjourne\"}],\"HTTP\":[{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-02-24 08:40:31\",\"title\":\"Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"tldr\":\"ๆทฑๅ…ฅๅˆ†ๆžไบ”็ง Web ้€šไฟกๅ่ฎฎ๏ผŒๆไพ› AI ๆ—ถไปฃ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—ไธŽๆœ€ไฝณๅฎž่ทตใ€‚\",\"description\":\"ๆทฑๅ…ฅๅ‰–ๆžไผ ็ปŸ HTTPใ€ๆตๅผ HTTPใ€SSEใ€WebSocketใ€Webhooksใ€HTTP ่ฝฎ่ฏข็š„ๅŽŸ็†ไธŽ็‰นๆ€ง๏ผŒ็ป“ๅˆ AI ๅœบๆ™ฏๆไพ›ๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–็Ÿฉ้˜ตใ€‚\",\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"tags\":[\"HTTP\",\"HTTP ่ฝฎ่ฏข\",\"SSE\",\"WebSocket\",\"Webhooks\"],\"permalink\":\"/fullstack/networking-protocol-selection-guide\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"date\":\"2026-02-24 08:40:31\",\"capture\":\"1. ๅผ•่จ€\\nHTTP ๆ˜ฏไธ€็งๅŸบไบŽๆ–‡ๆœฌ็š„้€šไฟกๅ่ฎฎ๏ผŒไธป่ฆ็”จไบŽ Web ๆต่งˆๅ™จใ€็งปๅŠจๅบ”็”จใ€ๆกŒ้ขๅบ”็”จ็ญ‰ๅฎขๆˆท็ซฏๅ’Œ Web ๆœๅŠกๅ™จไน‹้—ด็š„ๆ•ฐๆฎไผ ่พ“ใ€‚ไผ ็ปŸ HTTP ้‡‡็”จๅŒๆญฅ็š„่ฏทๆฑ‚-ๅ“ๅบ”ๆจกๅผ๏ผš`่ฏทๆฑ‚ -> ็ญ‰ๅพ… -> ๅฎŒๆ•ดๅ“ๅบ”`ใ€‚่ฟ™็งๆ–นๅผ่™ฝ่ƒฝๆปก่ถณๅคงๅคšๆ•ฐๅœบๆ™ฏ๏ผŒไฝ†ๅœจๅฎžๆ—ถๆ€ง่ฆๆฑ‚่พƒ้ซ˜็š„้ข†ๅŸŸโ€”โ€”ๅฆ‚ๆธธๆˆใ€่Šๅคฉใ€่ง†้ข‘ไผš่ฎฎ๏ผŒไปฅๅŠ AI ๆ—ถไปฃ็š„ๅฏน่ฏๅผๅบ”็”จโ€”โ€”ๅดๆ˜พๅพ—ๅŠ›ไธไปŽๅฟƒใ€‚\\nไธบ่งฃๅ†ณ่ฟ™ไธ€้—ฎ้ข˜๏ผŒไธš็•Œๅ‘ๅฑ•ๅ‡บไบ†ๅคš็งๅฎžๆ—ถ Web ้€šไฟกๆ–นๆกˆใ€‚ๆœฌๆ–‡ๅฐ†ๅ›ด็ป• ๆตๅผ HTTPใ€SSEใ€WebSocketใ€Webhooksใ€HTTP ่ฝฎ่ฏข ่ฟ™ไบ”็งไธปๆตๆŠ€ๆœฏ๏ผŒไปŽๅŽŸ็†ใ€็‰นๆ€งใ€้€‚็”จๅœบๆ™ฏๅ‡บๅ‘๏ผŒๆŽข่ฎจๅฎƒไปฌๅœจ็Žฐไปฃๅˆ†ๅธƒๅผๆžถๆž„ไธญ็š„้€‰ๅž‹็ญ–็•ฅไธŽๅทฅ็จ‹ๅฎž่ทตใ€‚\\n 2\"}],\"WebSocket\":[{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-02-24 08:40:31\",\"title\":\"Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"tldr\":\"ๆทฑๅ…ฅๅˆ†ๆžไบ”็ง Web ้€šไฟกๅ่ฎฎ๏ผŒๆไพ› AI ๆ—ถไปฃ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—ไธŽๆœ€ไฝณๅฎž่ทตใ€‚\",\"description\":\"ๆทฑๅ…ฅๅ‰–ๆžไผ ็ปŸ HTTPใ€ๆตๅผ HTTPใ€SSEใ€WebSocketใ€Webhooksใ€HTTP ่ฝฎ่ฏข็š„ๅŽŸ็†ไธŽ็‰นๆ€ง๏ผŒ็ป“ๅˆ AI ๅœบๆ™ฏๆไพ›ๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–็Ÿฉ้˜ตใ€‚\",\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"tags\":[\"HTTP\",\"HTTP ่ฝฎ่ฏข\",\"SSE\",\"WebSocket\",\"Webhooks\"],\"permalink\":\"/fullstack/networking-protocol-selection-guide\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"date\":\"2026-02-24 08:40:31\",\"capture\":\"1. ๅผ•่จ€\\nHTTP ๆ˜ฏไธ€็งๅŸบไบŽๆ–‡ๆœฌ็š„้€šไฟกๅ่ฎฎ๏ผŒไธป่ฆ็”จไบŽ Web ๆต่งˆๅ™จใ€็งปๅŠจๅบ”็”จใ€ๆกŒ้ขๅบ”็”จ็ญ‰ๅฎขๆˆท็ซฏๅ’Œ Web ๆœๅŠกๅ™จไน‹้—ด็š„ๆ•ฐๆฎไผ ่พ“ใ€‚ไผ ็ปŸ HTTP ้‡‡็”จๅŒๆญฅ็š„่ฏทๆฑ‚-ๅ“ๅบ”ๆจกๅผ๏ผš`่ฏทๆฑ‚ -> ็ญ‰ๅพ… -> ๅฎŒๆ•ดๅ“ๅบ”`ใ€‚่ฟ™็งๆ–นๅผ่™ฝ่ƒฝๆปก่ถณๅคงๅคšๆ•ฐๅœบๆ™ฏ๏ผŒไฝ†ๅœจๅฎžๆ—ถๆ€ง่ฆๆฑ‚่พƒ้ซ˜็š„้ข†ๅŸŸโ€”โ€”ๅฆ‚ๆธธๆˆใ€่Šๅคฉใ€่ง†้ข‘ไผš่ฎฎ๏ผŒไปฅๅŠ AI ๆ—ถไปฃ็š„ๅฏน่ฏๅผๅบ”็”จโ€”โ€”ๅดๆ˜พๅพ—ๅŠ›ไธไปŽๅฟƒใ€‚\\nไธบ่งฃๅ†ณ่ฟ™ไธ€้—ฎ้ข˜๏ผŒไธš็•Œๅ‘ๅฑ•ๅ‡บไบ†ๅคš็งๅฎžๆ—ถ Web ้€šไฟกๆ–นๆกˆใ€‚ๆœฌๆ–‡ๅฐ†ๅ›ด็ป• ๆตๅผ HTTPใ€SSEใ€WebSocketใ€Webhooksใ€HTTP ่ฝฎ่ฏข ่ฟ™ไบ”็งไธปๆตๆŠ€ๆœฏ๏ผŒไปŽๅŽŸ็†ใ€็‰นๆ€งใ€้€‚็”จๅœบๆ™ฏๅ‡บๅ‘๏ผŒๆŽข่ฎจๅฎƒไปฌๅœจ็Žฐไปฃๅˆ†ๅธƒๅผๆžถๆž„ไธญ็š„้€‰ๅž‹็ญ–็•ฅไธŽๅทฅ็จ‹ๅฎž่ทตใ€‚\\n 2\"}],\"Webhooks\":[{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-02-24 08:40:31\",\"title\":\"Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"tldr\":\"ๆทฑๅ…ฅๅˆ†ๆžไบ”็ง Web ้€šไฟกๅ่ฎฎ๏ผŒๆไพ› AI ๆ—ถไปฃ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—ไธŽๆœ€ไฝณๅฎž่ทตใ€‚\",\"description\":\"ๆทฑๅ…ฅๅ‰–ๆžไผ ็ปŸ HTTPใ€ๆตๅผ HTTPใ€SSEใ€WebSocketใ€Webhooksใ€HTTP ่ฝฎ่ฏข็š„ๅŽŸ็†ไธŽ็‰นๆ€ง๏ผŒ็ป“ๅˆ AI ๅœบๆ™ฏๆไพ›ๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–็Ÿฉ้˜ตใ€‚\",\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"tags\":[\"HTTP\",\"HTTP ่ฝฎ่ฏข\",\"SSE\",\"WebSocket\",\"Webhooks\"],\"permalink\":\"/fullstack/networking-protocol-selection-guide\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"date\":\"2026-02-24 08:40:31\",\"capture\":\"1. ๅผ•่จ€\\nHTTP ๆ˜ฏไธ€็งๅŸบไบŽๆ–‡ๆœฌ็š„้€šไฟกๅ่ฎฎ๏ผŒไธป่ฆ็”จไบŽ Web ๆต่งˆๅ™จใ€็งปๅŠจๅบ”็”จใ€ๆกŒ้ขๅบ”็”จ็ญ‰ๅฎขๆˆท็ซฏๅ’Œ Web ๆœๅŠกๅ™จไน‹้—ด็š„ๆ•ฐๆฎไผ ่พ“ใ€‚ไผ ็ปŸ HTTP ้‡‡็”จๅŒๆญฅ็š„่ฏทๆฑ‚-ๅ“ๅบ”ๆจกๅผ๏ผš`่ฏทๆฑ‚ -> ็ญ‰ๅพ… -> ๅฎŒๆ•ดๅ“ๅบ”`ใ€‚่ฟ™็งๆ–นๅผ่™ฝ่ƒฝๆปก่ถณๅคงๅคšๆ•ฐๅœบๆ™ฏ๏ผŒไฝ†ๅœจๅฎžๆ—ถๆ€ง่ฆๆฑ‚่พƒ้ซ˜็š„้ข†ๅŸŸโ€”โ€”ๅฆ‚ๆธธๆˆใ€่Šๅคฉใ€่ง†้ข‘ไผš่ฎฎ๏ผŒไปฅๅŠ AI ๆ—ถไปฃ็š„ๅฏน่ฏๅผๅบ”็”จโ€”โ€”ๅดๆ˜พๅพ—ๅŠ›ไธไปŽๅฟƒใ€‚\\nไธบ่งฃๅ†ณ่ฟ™ไธ€้—ฎ้ข˜๏ผŒไธš็•Œๅ‘ๅฑ•ๅ‡บไบ†ๅคš็งๅฎžๆ—ถ Web ้€šไฟกๆ–นๆกˆใ€‚ๆœฌๆ–‡ๅฐ†ๅ›ด็ป• ๆตๅผ HTTPใ€SSEใ€WebSocketใ€Webhooksใ€HTTP ่ฝฎ่ฏข ่ฟ™ไบ”็งไธปๆตๆŠ€ๆœฏ๏ผŒไปŽๅŽŸ็†ใ€็‰นๆ€งใ€้€‚็”จๅœบๆ™ฏๅ‡บๅ‘๏ผŒๆŽข่ฎจๅฎƒไปฌๅœจ็Žฐไปฃๅˆ†ๅธƒๅผๆžถๆž„ไธญ็š„้€‰ๅž‹็ญ–็•ฅไธŽๅทฅ็จ‹ๅฎž่ทตใ€‚\\n 2\"}],\"AI Agent\":[{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/01.Agentๆฆ‚่งˆไธŽ็ปผ่ฟฐ\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/01.Agentๆฆ‚่งˆไธŽ็ปผ่ฟฐ\",\"frontmatter\":{\"date\":\"2026-02-12 22:31:00\",\"title\":\"ไปŽๆ็คบ่ฏๅˆฐๆ•ฐๅญ—ๅ‘˜ๅทฅ๏ผšAI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšAI ็š„่ฟ›ๅŒ–ๆญฃ็ปๅކไปŽโ€œๅฏน่ฏๆก†โ€ๅ‘โ€œๆ•ฐๅญ—ๅ‘˜ๅทฅโ€็š„ๆ นๆœฌๆ€ง่ทจ่ถŠใ€‚ๆœฌๆ–‡ๆ˜ฏไธ€็ฏ‡ๅ…ณไบŽ AI Agent ็š„ๅ…จๆ™ฏๆทฑๅบฆ็ปผ่ฟฐ๏ผŒๆ—จๅœจ่งฃๆž„ๆ™บ่ƒฝไฝ“ๅฆ‚ไฝ•ไปŽ็ฎ€ๅ•็š„ Prompt ๅ“ๅบ”่€…๏ผŒๆผ”ๅ˜ไธบๅ…ทๅค‡่‡ชไธป็›ฎๆ ‡ๆ‹†่งฃใ€้•ฟ็ŸญๆœŸ่ฎฐๅฟ†ไธŽๅคๆ‚็Žฏๅขƒไบคไบ’่ƒฝๅŠ›็š„โ€œๆ‰ง่กŒ่€…โ€ใ€‚ๆˆ‘ไปฌๅฐ†ๆทฑๅบฆๆ‹†่งฃ Agent ็š„ๅ››ๅคงๆŠ€ๆœฏๅŸบ็Ÿณ๏ผˆ่ง„ๅˆ’ใ€่ฎฐๅฟ†ใ€ๅทฅๅ…ทใ€่กŒๅŠจ๏ผ‰๏ผŒๅนถ่ฏฆ็ป†ๅ‰–ๆžไปŽ้€š็”จๅž‹ Agent ๅˆฐๅคšๆ™บ่ƒฝไฝ“ๅไฝœ๏ผˆMAS๏ผ‰ใ€ๅ†ๅˆฐ่ฟˆๅ‘ Agent OS ๆ—ถไปฃ็š„ OpenClaw ็ญ‰ไบ”ๅคงๆผ”่ฟ›ๅฝขๆ€ใ€‚ไธไป…ๆŽข่ฎจไบ†ๆŠ€ๆœฏๆžถๆž„็š„ๅฎž็Žฐ๏ผŒๆ›ดๆญ็คบไบ†่ฝฏไปถๅทฅ็จ‹ไปŽโ€œไปฅไบบไธบไธญๅฟƒโ€ๅ‘โ€œไปฅ AI ไธบไธญๅฟƒโ€็š„่Œƒๅผ้ฉๅ‘ฝโ€”โ€”ๅœจ Agent ้ฉฑๅŠจ็š„ๆ–ฐ็บชๅ…ƒ๏ผŒๆ ธๅฟƒ็ซžไบ‰ๅŠ›ๅฐ†ไธๅ†ๆ˜ฏไปฃ็ ้‡๏ผŒ่€Œๆ˜ฏ่ฐƒๅบฆ AI ้—ญ็Žฏ่งฃๅ†ณไธšๅŠก้—ฎ้ข˜็š„่ƒฝๅŠ›ใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/llm_learning_bg_1.png\",\"permalink\":\"/ai-agent/overview\",\"top\":true,\"categories\":[\"ai-practice\"],\"tags\":[\"AI Agent\",\"Agent\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไปŽๆ็คบ่ฏๅˆฐๆ•ฐๅญ—ๅ‘˜ๅทฅ๏ผšAI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐ\",\"date\":\"2026-02-12 22:31:00\",\"capture\":\"1. ไป€ไนˆๆ˜ฏ Agent๏ผŸโ€”โ€”ไปŽโ€œๅทฅๅ…ทโ€ๅˆฐโ€œๅฎžไฝ“โ€็š„่ฟ›ๅŒ–\\n> ๆ ธๅฟƒ้€ป่พ‘๏ผš็Žฐไปฃ Agent ็š„ๆœฌ่ดจๆ˜ฏ \\\"LLM (ๅคง่„‘) + ่ง„ๅˆ’ไธŽ่ฎฐๅฟ† (ๅฐ่„‘) + ๅทฅๅ…ท่ฐƒ็”จ (ๆ‰‹่„š)\\\"ใ€‚LLM ็š„ๆตท้‡็Ÿฅ่ฏ†ๅ‚จๅค‡่ฎฉ Agent ่ƒฝๅคŸ็ฒพๅ‡†็†่งฃๅคๆ‚ๆŒ‡ไปค๏ผŒๅนถๅฐ†ๅ…ถ่ฝฌๅŒ–ไธบๅฎž้™…่กŒๅŠจใ€‚\\nๅœจ AI ้ข†ๅŸŸ๏ผŒAgent๏ผˆๆ™บ่ƒฝไฝ“๏ผ‰ ๅนถ้žไธ€ไธชๆ–ฐๆฆ‚ๅฟต๏ผŒไฝ† LLM๏ผˆๅคง่ฏญ่จ€ๆจกๅž‹๏ผ‰็š„็ˆ†ๅ‘่ต‹ไบˆไบ†ๅฎƒ็œŸๆญฃ็š„โ€œ็ต้ญ‚โ€ใ€‚็ฎ€ๅ•ๆฅ่ฏด๏ผŒAgent ๆ˜ฏไธ€็ง่ƒฝๅคŸๆ„Ÿ็Ÿฅ็Žฏๅขƒใ€่‡ชไธปๅ†ณ็ญ–ๅนถๆ‰ง่กŒไปปๅŠก็š„ๆ™บ่ƒฝๅฎžไฝ“ใ€‚\\nๅฆ‚ๆžœ่ฏดไผ ็ปŸ็š„ AI ๆ˜ฏไธ€ไธชโ€œ้—ฎ็ญ”ๆœบโ€๏ผŒ้‚ฃไนˆ Agent ๅฐฑๆ˜ฏไธ€ไธชโ€œๆ‰ง่กŒ่€…โ€ใ€‚ๅฎƒๅ…ทๅค‡ไปฅไธ‹ๅ››ๅคงๆ ธๅฟƒ็‰น่ดจ๏ผš\\n* ่‡ชไธปๆ€ง (Autonomy)๏ผš ๆ— ้กปๆ—ถๅˆป็›ฏ็€๏ผŒ่ฎพๅฎš\"}],\"react\":[{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-02-10 23:33:19\",\"title\":\"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ๅฝ“ AI ๆ‰ฟๆŽฅไบ† 30% ็š„็ผ–็ ๆ‰ง่กŒๆ—ถ๏ผŒๅผ€ๅ‘่€…้œ€้€š่ฟ‡โ€œ่ง„ๆ ผ้ฉฑๅŠจ๏ผˆSDD๏ผ‰โ€้‡ๅคบ 70% ็š„่ฎพ่ฎกไธปๆƒ๏ผšไปŽ่‡ชๆฒป็ป„ไปถๅˆ’ๅˆ†ๅˆฐๅ•ๅ‘ๆ•ฐๆฎๆตๆ‹“ๆ‰‘็š„ๆทฑๅบฆๆŽจๆผ”ใ€‚\",\"description\":\"ๆœฌๆ–‡ๆŽข่ฎจๅœจ AI ๅขžๅผบๅผ€ๅ‘่ƒŒๆ™ฏไธ‹๏ผŒๅฆ‚ไฝ•้‡ๅก‘ React ็ป„ไปถ่ฎพ่ฎกๅŽŸๅˆ™ใ€‚ๆถต็›– SRP ่Œ่ดฃๅˆ’ๅˆ†ใ€้™ๆ€็‰ˆๆœฌๅŸบ็บฟใ€ๆœ€ๅฐ็Šถๆ€๏ผˆDerived Data๏ผ‰ๆŽจๅฏผไปฅๅŠ SDD ไบบๆœบๅไฝœๆจกๅผ็š„ๅทฅ็จ‹่ฝๅœฐใ€‚\",\"tags\":[\"tutorial\",\"react\",\"component-design\",\"state-management\",\"ai-augmented\",\"specification-driven\"],\"permalink\":\"/fullstack/react-design-philosophy-ai-augmented\",\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-02-10 23:33:19\",\"capture\":\"<script setup\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n 1. ๅผ•่จ€\\nๅœจ่ฝฏไปถๅทฅ็จ‹ไธญ๏ผŒ็บฆ 70% ็š„ๆ—ถ้—ดๅบ”ๆŠ•ๅ…ฅไบŽๆžถๆž„่ฎพ่ฎกใ€้œ€ๆฑ‚ๆ‹†่งฃไธŽๆŽฅๅฃ่ฏญไน‰ๆŽจๆ•ฒ๏ผŒไป… 30% ็”จไบŽๅฎž้™…็ผ–็ ใ€‚่ฟ›ๅ…ฅ AI ๅไฝœๆ—ถไปฃๅŽ๏ผŒ่ฟ™ไธ€ๆฏ”ไพ‹ไพ็„ถๅšๅฆ‚็ฃ็Ÿณโ€”โ€”ๅผ€ๅ‘่€…ๅฟ…้กปๅ…ˆๅฎŒๆˆๆทฑๅบฆๆ€่€ƒ๏ผŒๅฐ†โ€œๆธ…ๆ™ฐ็š„้—ฎ้ข˜่ง„ๆ ผ๏ผˆSpecification๏ผ‰โ€ไบค็ป™ AI๏ผŒAI ๆ‰่ƒฝ่พ“ๅ‡บ้ซ˜่ดจ้‡ไปฃ็ ใ€‚<HighLightText type=\\\"note\\\" bold>AI ๆๅ‡็š„ๆ˜ฏ 30% ็ผ–็ ้˜ถๆฎต็š„ๆ‰ง่กŒๅŠ›๏ผŒ่€Œ้žๅ–\"}],\"component-design\":[{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-02-10 23:33:19\",\"title\":\"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ๅฝ“ AI ๆ‰ฟๆŽฅไบ† 30% ็š„็ผ–็ ๆ‰ง่กŒๆ—ถ๏ผŒๅผ€ๅ‘่€…้œ€้€š่ฟ‡โ€œ่ง„ๆ ผ้ฉฑๅŠจ๏ผˆSDD๏ผ‰โ€้‡ๅคบ 70% ็š„่ฎพ่ฎกไธปๆƒ๏ผšไปŽ่‡ชๆฒป็ป„ไปถๅˆ’ๅˆ†ๅˆฐๅ•ๅ‘ๆ•ฐๆฎๆตๆ‹“ๆ‰‘็š„ๆทฑๅบฆๆŽจๆผ”ใ€‚\",\"description\":\"ๆœฌๆ–‡ๆŽข่ฎจๅœจ AI ๅขžๅผบๅผ€ๅ‘่ƒŒๆ™ฏไธ‹๏ผŒๅฆ‚ไฝ•้‡ๅก‘ React ็ป„ไปถ่ฎพ่ฎกๅŽŸๅˆ™ใ€‚ๆถต็›– SRP ่Œ่ดฃๅˆ’ๅˆ†ใ€้™ๆ€็‰ˆๆœฌๅŸบ็บฟใ€ๆœ€ๅฐ็Šถๆ€๏ผˆDerived Data๏ผ‰ๆŽจๅฏผไปฅๅŠ SDD ไบบๆœบๅไฝœๆจกๅผ็š„ๅทฅ็จ‹่ฝๅœฐใ€‚\",\"tags\":[\"tutorial\",\"react\",\"component-design\",\"state-management\",\"ai-augmented\",\"specification-driven\"],\"permalink\":\"/fullstack/react-design-philosophy-ai-augmented\",\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-02-10 23:33:19\",\"capture\":\"<script setup\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n 1. ๅผ•่จ€\\nๅœจ่ฝฏไปถๅทฅ็จ‹ไธญ๏ผŒ็บฆ 70% ็š„ๆ—ถ้—ดๅบ”ๆŠ•ๅ…ฅไบŽๆžถๆž„่ฎพ่ฎกใ€้œ€ๆฑ‚ๆ‹†่งฃไธŽๆŽฅๅฃ่ฏญไน‰ๆŽจๆ•ฒ๏ผŒไป… 30% ็”จไบŽๅฎž้™…็ผ–็ ใ€‚่ฟ›ๅ…ฅ AI ๅไฝœๆ—ถไปฃๅŽ๏ผŒ่ฟ™ไธ€ๆฏ”ไพ‹ไพ็„ถๅšๅฆ‚็ฃ็Ÿณโ€”โ€”ๅผ€ๅ‘่€…ๅฟ…้กปๅ…ˆๅฎŒๆˆๆทฑๅบฆๆ€่€ƒ๏ผŒๅฐ†โ€œๆธ…ๆ™ฐ็š„้—ฎ้ข˜่ง„ๆ ผ๏ผˆSpecification๏ผ‰โ€ไบค็ป™ AI๏ผŒAI ๆ‰่ƒฝ่พ“ๅ‡บ้ซ˜่ดจ้‡ไปฃ็ ใ€‚<HighLightText type=\\\"note\\\" bold>AI ๆๅ‡็š„ๆ˜ฏ 30% ็ผ–็ ้˜ถๆฎต็š„ๆ‰ง่กŒๅŠ›๏ผŒ่€Œ้žๅ–\"}],\"state-management\":[{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-02-10 23:33:19\",\"title\":\"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ๅฝ“ AI ๆ‰ฟๆŽฅไบ† 30% ็š„็ผ–็ ๆ‰ง่กŒๆ—ถ๏ผŒๅผ€ๅ‘่€…้œ€้€š่ฟ‡โ€œ่ง„ๆ ผ้ฉฑๅŠจ๏ผˆSDD๏ผ‰โ€้‡ๅคบ 70% ็š„่ฎพ่ฎกไธปๆƒ๏ผšไปŽ่‡ชๆฒป็ป„ไปถๅˆ’ๅˆ†ๅˆฐๅ•ๅ‘ๆ•ฐๆฎๆตๆ‹“ๆ‰‘็š„ๆทฑๅบฆๆŽจๆผ”ใ€‚\",\"description\":\"ๆœฌๆ–‡ๆŽข่ฎจๅœจ AI ๅขžๅผบๅผ€ๅ‘่ƒŒๆ™ฏไธ‹๏ผŒๅฆ‚ไฝ•้‡ๅก‘ React ็ป„ไปถ่ฎพ่ฎกๅŽŸๅˆ™ใ€‚ๆถต็›– SRP ่Œ่ดฃๅˆ’ๅˆ†ใ€้™ๆ€็‰ˆๆœฌๅŸบ็บฟใ€ๆœ€ๅฐ็Šถๆ€๏ผˆDerived Data๏ผ‰ๆŽจๅฏผไปฅๅŠ SDD ไบบๆœบๅไฝœๆจกๅผ็š„ๅทฅ็จ‹่ฝๅœฐใ€‚\",\"tags\":[\"tutorial\",\"react\",\"component-design\",\"state-management\",\"ai-augmented\",\"specification-driven\"],\"permalink\":\"/fullstack/react-design-philosophy-ai-augmented\",\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-02-10 23:33:19\",\"capture\":\"<script setup\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n 1. ๅผ•่จ€\\nๅœจ่ฝฏไปถๅทฅ็จ‹ไธญ๏ผŒ็บฆ 70% ็š„ๆ—ถ้—ดๅบ”ๆŠ•ๅ…ฅไบŽๆžถๆž„่ฎพ่ฎกใ€้œ€ๆฑ‚ๆ‹†่งฃไธŽๆŽฅๅฃ่ฏญไน‰ๆŽจๆ•ฒ๏ผŒไป… 30% ็”จไบŽๅฎž้™…็ผ–็ ใ€‚่ฟ›ๅ…ฅ AI ๅไฝœๆ—ถไปฃๅŽ๏ผŒ่ฟ™ไธ€ๆฏ”ไพ‹ไพ็„ถๅšๅฆ‚็ฃ็Ÿณโ€”โ€”ๅผ€ๅ‘่€…ๅฟ…้กปๅ…ˆๅฎŒๆˆๆทฑๅบฆๆ€่€ƒ๏ผŒๅฐ†โ€œๆธ…ๆ™ฐ็š„้—ฎ้ข˜่ง„ๆ ผ๏ผˆSpecification๏ผ‰โ€ไบค็ป™ AI๏ผŒAI ๆ‰่ƒฝ่พ“ๅ‡บ้ซ˜่ดจ้‡ไปฃ็ ใ€‚<HighLightText type=\\\"note\\\" bold>AI ๆๅ‡็š„ๆ˜ฏ 30% ็ผ–็ ้˜ถๆฎต็š„ๆ‰ง่กŒๅŠ›๏ผŒ่€Œ้žๅ–\"}],\"ai-augmented\":[{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-02-10 23:33:19\",\"title\":\"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ๅฝ“ AI ๆ‰ฟๆŽฅไบ† 30% ็š„็ผ–็ ๆ‰ง่กŒๆ—ถ๏ผŒๅผ€ๅ‘่€…้œ€้€š่ฟ‡โ€œ่ง„ๆ ผ้ฉฑๅŠจ๏ผˆSDD๏ผ‰โ€้‡ๅคบ 70% ็š„่ฎพ่ฎกไธปๆƒ๏ผšไปŽ่‡ชๆฒป็ป„ไปถๅˆ’ๅˆ†ๅˆฐๅ•ๅ‘ๆ•ฐๆฎๆตๆ‹“ๆ‰‘็š„ๆทฑๅบฆๆŽจๆผ”ใ€‚\",\"description\":\"ๆœฌๆ–‡ๆŽข่ฎจๅœจ AI ๅขžๅผบๅผ€ๅ‘่ƒŒๆ™ฏไธ‹๏ผŒๅฆ‚ไฝ•้‡ๅก‘ React ็ป„ไปถ่ฎพ่ฎกๅŽŸๅˆ™ใ€‚ๆถต็›– SRP ่Œ่ดฃๅˆ’ๅˆ†ใ€้™ๆ€็‰ˆๆœฌๅŸบ็บฟใ€ๆœ€ๅฐ็Šถๆ€๏ผˆDerived Data๏ผ‰ๆŽจๅฏผไปฅๅŠ SDD ไบบๆœบๅไฝœๆจกๅผ็š„ๅทฅ็จ‹่ฝๅœฐใ€‚\",\"tags\":[\"tutorial\",\"react\",\"component-design\",\"state-management\",\"ai-augmented\",\"specification-driven\"],\"permalink\":\"/fullstack/react-design-philosophy-ai-augmented\",\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-02-10 23:33:19\",\"capture\":\"<script setup\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n 1. ๅผ•่จ€\\nๅœจ่ฝฏไปถๅทฅ็จ‹ไธญ๏ผŒ็บฆ 70% ็š„ๆ—ถ้—ดๅบ”ๆŠ•ๅ…ฅไบŽๆžถๆž„่ฎพ่ฎกใ€้œ€ๆฑ‚ๆ‹†่งฃไธŽๆŽฅๅฃ่ฏญไน‰ๆŽจๆ•ฒ๏ผŒไป… 30% ็”จไบŽๅฎž้™…็ผ–็ ใ€‚่ฟ›ๅ…ฅ AI ๅไฝœๆ—ถไปฃๅŽ๏ผŒ่ฟ™ไธ€ๆฏ”ไพ‹ไพ็„ถๅšๅฆ‚็ฃ็Ÿณโ€”โ€”ๅผ€ๅ‘่€…ๅฟ…้กปๅ…ˆๅฎŒๆˆๆทฑๅบฆๆ€่€ƒ๏ผŒๅฐ†โ€œๆธ…ๆ™ฐ็š„้—ฎ้ข˜่ง„ๆ ผ๏ผˆSpecification๏ผ‰โ€ไบค็ป™ AI๏ผŒAI ๆ‰่ƒฝ่พ“ๅ‡บ้ซ˜่ดจ้‡ไปฃ็ ใ€‚<HighLightText type=\\\"note\\\" bold>AI ๆๅ‡็š„ๆ˜ฏ 30% ็ผ–็ ้˜ถๆฎต็š„ๆ‰ง่กŒๅŠ›๏ผŒ่€Œ้žๅ–\"}],\"specification-driven\":[{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-02-10 23:33:19\",\"title\":\"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ๅฝ“ AI ๆ‰ฟๆŽฅไบ† 30% ็š„็ผ–็ ๆ‰ง่กŒๆ—ถ๏ผŒๅผ€ๅ‘่€…้œ€้€š่ฟ‡โ€œ่ง„ๆ ผ้ฉฑๅŠจ๏ผˆSDD๏ผ‰โ€้‡ๅคบ 70% ็š„่ฎพ่ฎกไธปๆƒ๏ผšไปŽ่‡ชๆฒป็ป„ไปถๅˆ’ๅˆ†ๅˆฐๅ•ๅ‘ๆ•ฐๆฎๆตๆ‹“ๆ‰‘็š„ๆทฑๅบฆๆŽจๆผ”ใ€‚\",\"description\":\"ๆœฌๆ–‡ๆŽข่ฎจๅœจ AI ๅขžๅผบๅผ€ๅ‘่ƒŒๆ™ฏไธ‹๏ผŒๅฆ‚ไฝ•้‡ๅก‘ React ็ป„ไปถ่ฎพ่ฎกๅŽŸๅˆ™ใ€‚ๆถต็›– SRP ่Œ่ดฃๅˆ’ๅˆ†ใ€้™ๆ€็‰ˆๆœฌๅŸบ็บฟใ€ๆœ€ๅฐ็Šถๆ€๏ผˆDerived Data๏ผ‰ๆŽจๅฏผไปฅๅŠ SDD ไบบๆœบๅไฝœๆจกๅผ็š„ๅทฅ็จ‹่ฝๅœฐใ€‚\",\"tags\":[\"tutorial\",\"react\",\"component-design\",\"state-management\",\"ai-augmented\",\"specification-driven\"],\"permalink\":\"/fullstack/react-design-philosophy-ai-augmented\",\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-02-10 23:33:19\",\"capture\":\"<script setup\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n 1. ๅผ•่จ€\\nๅœจ่ฝฏไปถๅทฅ็จ‹ไธญ๏ผŒ็บฆ 70% ็š„ๆ—ถ้—ดๅบ”ๆŠ•ๅ…ฅไบŽๆžถๆž„่ฎพ่ฎกใ€้œ€ๆฑ‚ๆ‹†่งฃไธŽๆŽฅๅฃ่ฏญไน‰ๆŽจๆ•ฒ๏ผŒไป… 30% ็”จไบŽๅฎž้™…็ผ–็ ใ€‚่ฟ›ๅ…ฅ AI ๅไฝœๆ—ถไปฃๅŽ๏ผŒ่ฟ™ไธ€ๆฏ”ไพ‹ไพ็„ถๅšๅฆ‚็ฃ็Ÿณโ€”โ€”ๅผ€ๅ‘่€…ๅฟ…้กปๅ…ˆๅฎŒๆˆๆทฑๅบฆๆ€่€ƒ๏ผŒๅฐ†โ€œๆธ…ๆ™ฐ็š„้—ฎ้ข˜่ง„ๆ ผ๏ผˆSpecification๏ผ‰โ€ไบค็ป™ AI๏ผŒAI ๆ‰่ƒฝ่พ“ๅ‡บ้ซ˜่ดจ้‡ไปฃ็ ใ€‚<HighLightText type=\\\"note\\\" bold>AI ๆๅ‡็š„ๆ˜ฏ 30% ็ผ–็ ้˜ถๆฎต็š„ๆ‰ง่กŒๅŠ›๏ผŒ่€Œ้žๅ–\"}],\"่ต„ๆบๆŽจ่\":[{\"url\":\"/01.ๅ…จๆ ˆ/90.ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่/90.ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"relativePath\":\"/01.ๅ…จๆ ˆ/90.ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่/90.ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"frontmatter\":{\"date\":\"2026-02-06 15:58:53\",\"title\":\"ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡็ณป็ปŸๆขณ็†ไบ†็Žฐไปฃๅ…จๆ ˆๅผ€ๅ‘็š„ๅฎŒๆ•ดๆŠ€ๆœฏๅ›พ่ฐฑไธŽๆผ”่ฟ›่Œƒๅผ๏ผŒไธบๅผ€ๅ‘่€…ๆไพ›ไบ†ไธ€็ซ™ๅผ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—ใ€‚ๆ–‡็ซ ไปŽๅŸบ็Ÿณๅ‡บๅ‘๏ผŒ่ฆ†็›– Web ๆ ธๅฟƒ่ฏญ่จ€๏ผˆJS/TS๏ผ‰ ไธŽ ไธปๆต UI ๆก†ๆžถ๏ผˆReact/Vue/Svelte๏ผ‰๏ผŒๅนถๆŽจ่ไปฅ Tailwind CSS ๅ’Œ shadcn/ui ไธบไปฃ่กจ็š„็Žฐไปฃๆ ทๅผไธŽ็ป„ไปถๅŽŸ่ฏญใ€‚ๅœจๆ ธๅฟƒไธšๅŠก้€ป่พ‘ๅฑ‚๏ผŒๆทฑๅบฆๅฏนๆฏ”ไบ†่ฝป้‡ๅŒ–็Šถๆ€็ฎก็†ๆ–นๆกˆ๏ผˆ้ฆ–ๆŽจ Zustand/Jotai๏ผ‰๏ผŒๅนถ้‡็‚น่งฃๆžไบ†ๆ•ฐๆฎไบคไบ’็š„ไธ‰ๅคง็Žฐไปฃๆžถๆž„่Œƒๅผ๏ผšไปŽๅŸบ็ก€ Axios ๅˆฐ React Query ็Šถๆ€่ฐƒๅบฆ๏ผŒๅ†ๅˆฐ tRPC ๅ’Œ GraphQL ๅธฆๆฅ็š„ๅ…จๆ ˆ็ฑปๅž‹ๅฎ‰ๅ…จไธŽๅคš็ซฏ่šๅˆใ€‚ๅœจๅทฅ็จ‹ๅŒ–ไธŽๆœๅŠก็ซฏๆจกๅ—๏ผŒๆ–‡็ซ ๅ…จ้ขๆ‹ฅๆŠฑ Viteใ€Rsbuild ็ญ‰ๆž้€Ÿๆž„ๅปบๅทฅๅ…ท๏ผŒๅนถๅ‰–ๆžไบ† Next.js/Nuxt ๅŒๆž„ๅ…ƒๆก†ๆžถไธŽ NestJS ไผไธš็บง Node ๆœๅŠก็š„ๆœ€ไฝณ้€‚็”จๅœบๆ™ฏใ€‚ๆœ€ๅŽ๏ผŒ่พ…ไปฅ Vercel ็ญ‰็Žฐไปฃ่พน็ผ˜้ƒจ็ฝฒๅนณๅฐๅŠไธฐๅฏŒ็š„ๅผ€ๆบ็คพๅŒบๅญฆไน ่ต„ๆบใ€‚\",\"permalink\":\"/growth/full-stack-resources\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"date\":\"2026-02-06 15:58:53\",\"capture\":\"> - ๆ–‡็ซ ไปŽๅŸบ็Ÿณๅ‡บๅ‘๏ผŒ่ฆ†็›– Web ๆ ธๅฟƒ่ฏญ่จ€๏ผˆJS/TS๏ผ‰ ไธŽ ไธปๆต UI ๆก†ๆžถ๏ผˆReact/Vue/Svelte๏ผ‰๏ผŒๅนถๆŽจ่ไปฅ Tailwind CSS ๅ’Œ shadcn/ui ไธบไปฃ่กจ็š„็Žฐไปฃๆ ทๅผไธŽ็ป„ไปถๅŽŸ่ฏญใ€‚\\n> - ๅœจๆ ธๅฟƒไธšๅŠก้€ป่พ‘ๅฑ‚๏ผŒๆทฑๅบฆๅฏนๆฏ”ไบ†่ฝป้‡ๅŒ–็Šถๆ€็ฎก็†ๆ–นๆกˆ๏ผˆ้ฆ–ๆŽจ Zustand/Jotai๏ผ‰๏ผŒๅนถ้‡็‚น่งฃๆžไบ†ๆ•ฐๆฎไบคไบ’็š„ไธ‰ๅคง็Žฐไปฃๆžถๆž„่Œƒๅผ๏ผšไปŽๅŸบ็ก€ Axios ๅˆฐ React Query ็Šถๆ€่ฐƒๅบฆ๏ผŒๅ†ๅˆฐ tRPC ๅ’Œ GraphQL ๅธฆๆฅ็š„ๅ…จๆ ˆ็ฑปๅž‹ๅฎ‰ๅ…จไธŽๅคš็ซฏ่šๅˆใ€‚\\n> - ๅœจๅทฅ็จ‹ๅŒ–ไธŽๆœๅŠก็ซฏๆจกๅ—๏ผŒๆ–‡็ซ ๅ…จ้ขๆ‹ฅๆŠฑ Viteใ€Rsbuild ็ญ‰ๆž้€Ÿๆž„ๅปบๅทฅๅ…ท๏ผŒๅนถๅ‰–ๆžไบ† Next.js/N\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/11. LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/11. LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-01-06 15:58:53\",\"title\":\"LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆˆช่‡ณ 2026 ๅนด๏ผŒLLM API ๆœๅŠกๅทฒๅฝขๆˆ\\\"ๅฎ˜ๆ–น็›ด่ฟž + ็ฌฌไธ‰ๆ–น่šๅˆ\\\"็š„ๅŒ่ฝจๆ ผๅฑ€๏ผŒๆจกๅž‹่ƒฝๅŠ›ใ€ๅฎšไปทใ€ๅˆ่ง„ๆ€งไธŽๆŽฅๅ…ฅไพฟๅˆฉๆ€งๅทฎๅผ‚ๆ˜พ่‘—ใ€‚ๆœฌๆ–‡ไปŽ้€‰ๅž‹ๅ‰ๆ้—ฎๅ‡บๅ‘๏ผŒ็ณป็ปŸๆขณ็†ๅ›ฝ้™…ไธŽๅ›ฝๅ†…ไธปๆตๅฎ˜ๆ–น API ๅนณๅฐ๏ผŒไปฅๅŠ OpenRouterใ€็ก…ๅŸบๆตๅŠจ็ญ‰็ฌฌไธ‰ๆ–น่šๅˆๅนณๅฐ็š„ๆ ธๅฟƒ็‰น็‚น๏ผŒๅนถๆไพ›ๅŸบไบŽๅœบๆ™ฏ็š„ๅ†ณ็ญ–ๆก†ๆžถ๏ผŒๅธฎๅŠฉๅผ€ๅ‘่€…ๅ’Œไบงๅ“ๅ›ข้˜Ÿๅฟซ้€Ÿ้”ๅฎšๆœ€้€‚ๅˆ่‡ชๅทฑ็š„ๆ–นๆกˆใ€‚\",\"permalink\":\"/ai-learning/llm-api-resources\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"LLM API\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"date\":\"2026-01-06 15:58:53\",\"capture\":\"1. ้€‰ๆจกๅž‹ๅ‰๏ผŒๅ…ˆๆƒณๆธ…ๆฅš่ฟ™ๅ‡ ไปถไบ‹\\nๅœจๅฏนๆฏ”ๅ…ทไฝ“ๅนณๅฐไน‹ๅ‰๏ผŒๅฏไปŽไปฅไธ‹ๅ››ไธช็ปดๅบฆๆขณ็†่‡ช่บซ่ฏ‰ๆฑ‚๏ผŒ้ฟๅ…\\\"็œผ่Šฑ็ผญไนฑๅŽ้šไพฟ้€‰ไธ€ไธช\\\"๏ผš\\n| ็ปดๅบฆ | ๅ…ณ้”ฎ้—ฎ้ข˜ | ๅฝฑๅ“ๅ†ณ็ญ– |\\n|:-----|:--------|:--------|\\n| ไปปๅŠก็ฑปๅž‹ | ๆ˜ฏ้€š็”จๅฏน่ฏใ€ไปฃ็ ็”Ÿๆˆใ€้•ฟๆ–‡ๆกฃๅˆ†ๆž๏ผŒ่ฟ˜ๆ˜ฏๅคšๆจกๆ€็†่งฃ๏ผŸ | ไธๅŒๆจกๅž‹ๅœจๅž‚็›ด่ƒฝๅŠ›ไธŠๅทฎ่ทๆ‚ฌๆฎŠ |\\n| ๆˆๆœฌ้ข„็ฎ— | ๆฏๆœˆ่ฐƒ็”จ้‡็บง๏ผŸ่ƒฝๅฆๆŽฅๅ—ๆตทๅค–็ป“็ฎ—ไธŽๆฑ‡็އ้ฃŽ้™ฉ๏ผŸ | ๅ›ฝไบงๆจกๅž‹ Token ไปทๆ ผ้€šๅธธไฝŽ 3๏ฝž10 ๅ€ |\\n| ๅˆ่ง„ไธŽ้ƒจ็ฝฒ | ๆ•ฐๆฎ่ƒฝๅฆๅ‡บๅขƒ๏ผŸ่ƒฝๅฆไฝฟ็”จๆตทๅค–ๆœๅŠก๏ผŸๆ˜ฏๅฆ้œ€่ฆ็งๆœ‰ๅŒ–้ƒจ็ฝฒ๏ผŸ | ๆถ‰ๅŠๆ”ฟๅŠก/้‡‘่ž/ๅŒป็–—ๅœบๆ™ฏๅฟ…้กป่€ƒ่™‘ |\\n| ็ฝ‘็ปœ็Žฏๅขƒ | ๅผ€ๅ‘/้ƒจ็ฝฒ็Žฏๅขƒ่ƒฝๅฆ็จณๅฎš่ฎฟ\"},{\"url\":\"/01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ\",\"frontmatter\":{\"date\":\"2025-11-25 00:52:28\",\"title\":\"AI ็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡ๆทฑๅบฆ่งฃๆžไบ† AI ้ฉฑๅŠจ็ผ–็จ‹็š„ไธ‰ๅคงๆผ”่ฟ›่Œƒๅผ๏ผšVibe Coding๏ผˆ่‡ช็„ถ่ฏญ่จ€้›ถ้—จๆง›ๆž„ๅปบ๏ผ‰ใ€AI IDE๏ผˆ็ผ–่พ‘ๅ™จๆทฑๅบฆ่พ…ๅŠฉๆๆ•ˆ๏ผ‰ๅŠ Agentic Engineering๏ผˆ่‡ชไธปๅทฅ็จ‹ๅธˆๆ‰ง่กŒไปปๅŠก๏ผ‰ใ€‚้€š่ฟ‡ๆจชๅ‘ๅฏนๆฏ” Bolt.newใ€Cursorใ€Claude Code ็ญ‰ๅ‰ๆฒฟๅทฅๅ…ท๏ผŒๆ–‡็ซ ๅ‹พๅ‹’ๅ‡บไธ€ๆกไปŽโ€œๅฟซ้€ŸๅŽŸๅž‹โ€ๅˆฐโ€œ้ซ˜ๆ•ˆๅๅŒโ€ๅ†ๅˆฐโ€œ่‡ชไธปไบคไป˜โ€็š„่ฟ›้˜ถ่ทฏๅพ„ใ€‚ๆ ธๅฟƒๆ—จๅœจๆŒ‡ๅฏผ็”จๆˆทๅˆฉ็”จ AI ๅทฅๅ…ท็Ÿฉ้˜ตๆ‰“็ ดๆŠ€ๆœฏ่พน็•Œ๏ผŒๅฎž็ŽฐไปŽๅˆ›ๆ„ๆ่ฟฐๅˆฐๅทฅไธš็บงไบคไป˜็š„็”ŸไบงๅŠ›้ฃž่ทƒ๏ผŒ้‡ๅก‘่ฝฏไปถๅผ€ๅ‘ๅ…จ็”Ÿๅ‘ฝๅ‘จๆœŸใ€‚\",\"permalink\":\"/ai-learning/ai-coding-resources\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/source_sites_bg.png\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"AI Coding\",\"Vibe Coding\",\"Agentic Engineering\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"AI ็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่\",\"date\":\"2025-11-25 00:52:28\",\"capture\":\"1. ไธ‰็ง็ผ–็จ‹่Œƒๅผ้€Ÿ่งˆ\\n| ่Œƒๅผ | ไธ€ๅฅ่ฏๆ่ฟฐ | ไฝ ็š„่ง’่‰ฒ |\\n|:-----|:---------|:--------|\\n| Vibe Coding | ็”จ่‡ช็„ถ่ฏญ่จ€ๆ่ฟฐ้œ€ๆฑ‚๏ผŒAI ็›ดๆŽฅ็”Ÿๆˆๅฏ่ฟ่กŒ็š„ๅฎŒๆ•ด้กน็›ฎ | ๆ่ฟฐ้œ€ๆฑ‚๏ผŒ่ฎฉ AI ๅ†™ไปฃ็ (```ๆ–ฐๆ‰‹ๅ‹ๅฅฝ```) |\\n| AI IDE | ๅœจ็ผ–่พ‘ๅ™จ้‡Œๅผ•ๅ…ฅ AI ่พ…ๅŠฉ๏ผŒ่พนๅ†™่พน่กฅๅ…จใ€่พน้—ฎ่พนๆ”น | ไธปๅฏผๅผ€ๅ‘๏ผŒ่ฎฉ AI ๅšๅ‰ฏ้ฉพ้ฉถ(```ๆ›ดๅคšๆŽงๅˆถ```) |\\n| Agentic Engineering | AI ไฝœไธบ\\\"่‡ชไธปๅทฅ็จ‹ๅธˆ\\\"๏ผŒๆŽฅๆ”ถไปปๅŠกๅŽ่‡ชๅŠจ่ง„ๅˆ’ๅนถๆ‰ง่กŒๅ…จๅฅ—ไปฃ็ ๅทฅไฝœๆต | ๆไปปๅŠกใ€ๅฎก็ป“ๆžœ๏ผŒ่ฎฉ AI ๆ‰ง่กŒ(```ๆž่‡ดๆๆ•ˆ```) |\\nๆ–ฐๆ‰‹่ทฏ็บฟๅปบ่ฎฎ๏ผšๅ…ˆ\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"frontmatter\":{\"date\":\"2025-11-25 00:52:28\",\"title\":\"ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไธบไพฟไบŽ้ซ˜ๆ•ˆๅˆฉ็”จ AI ๅทฅๅ…ทๆๅ‡ๅญฆไน ใ€ๆœ็ดขๅ’Œๅˆ›ไฝœๆ•ˆ็އ๏ผŒๆœฌๆ–‡็ณป็ปŸๆ•ด็†ไบ†ไธปๆต็š„ AI ๅŠฉๆ‰‹ไธŽๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐ็›ธๅ…ณ่ต„ๆบใ€‚ๅ†…ๅฎนๅˆ†ไธบโ€œAI ๅŠฉๆ‰‹โ€๏ผˆๅฆ‚ ChatGPTใ€Claudeใ€Gemini ็ญ‰ๅฏน่ฏๅผๅŠฉๆ‰‹๏ผ‰ๅ’Œโ€œๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐโ€๏ผˆๅฆ‚ๅ†™ไฝœใ€็ป˜็”ป็ญ‰้ข†ๅŸŸ็š„ AI ๅทฅๅ…ทไธŽๅนณๅฐ๏ผ‰๏ผŒไธ”ๆ ‡ๆณจไบ†ๅ…ถๆ ธๅฟƒ่ƒฝๅŠ›ใ€้€‚ๅˆๅœบๆ™ฏ๏ผŒไปฅๅŠ็‰น่‰ฒไผ˜ๅŠฟใ€‚\",\"permalink\":\"/ai-learning/tools-assistant\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/source_sites_bg.png\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"AI ๅŠฉๆ‰‹\",\"AI ๆœ็ดข\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"date\":\"2025-11-25 00:52:28\",\"capture\":\"1. AI ๅŠฉๆ‰‹\\n> ้€‰ๆ‹ฉๅปบ่ฎฎ๏ผš ่‹ฑๆ–‡ไธบไธป โ†’ ไผ˜ๅ…ˆ ChatGPT / Claude / Gemini๏ผ›ไธญๆ–‡ไธบไธป โ†’ ไผ˜ๅ…ˆ Kimi / DeepSeek / ้€šไน‰ๅƒ้—ฎ๏ผ›้œ€่ฆ่”็ฝ‘ๅฎžๆ—ถไฟกๆฏ โ†’ Gemini / Grok๏ผ›้œ€่ฆๅˆ†ๆž้•ฟๆ–‡ๆกฃ โ†’ Claude / Kimi๏ผ›่ฟฝๆฑ‚ไฝŽๆˆๆœฌๅผ€ๆบ้ƒจ็ฝฒ โ†’ DeepSeekใ€‚\\n>\\n> ๆณจ๏ผš็›ฎๅ‰ๅ›ฝๅค–ๆจกๅž‹๏ผˆๅฆ‚ ChatGPTใ€Claudeใ€Gemini ็ญ‰๏ผ‰ๅœจ่‹ฑๆ–‡ๅค„็†ใ€ๅคšๆจกๆ€่ƒฝๅŠ›ใ€ๆ’ไปถ็”Ÿๆ€ๅ’Œ API ไธฐๅฏŒๆ€ง็ญ‰ๆ–น้ข๏ผŒๆ•ดไฝ“ไธŠไพ็„ถไผ˜ไบŽๅ›ฝๅ†…ๆจกๅž‹๏ผŒ้€‚ๅˆๅฏน่‹ฑๆ–‡ๅˆ›ไฝœใ€ๅคš่ฏญ่จ€ๆฒŸ้€šใ€ๅคๆ‚ๆŽจ็†ใ€ไปฃ็ ๅŠฉๆ‰‹็ญ‰ๅœบๆ™ฏๆœ‰ๆ›ด้ซ˜่ฆๆฑ‚็š„็”จๆˆทใ€‚ไธ่ฟ‡๏ผŒๅ›ฝๅ†…ๆจกๅž‹ๅœจไธญๆ–‡็†่งฃใ€ๆœฌๅœฐๅŒ–ใ€ๅˆ่ง„\"},{\"url\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/01.ๅฅฝไนฆๆŽจ่\",\"relativePath\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/01.ๅฅฝไนฆๆŽจ่\",\"frontmatter\":{\"title\":\"ๅฅฝไนฆๆŽจ่\",\"date\":\"2024-01-01 16:00:00\",\"description\":\"่ฏปไนฆๅฟƒๅพ—ใ€ๆŽจ่ไนฆ็ฑๅ’Œ้˜…่ฏปๆŠ€ๅทง\",\"categories\":[\"growth\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/books_reading_bg.png\",\"permalink\":\"/growth/books\",\"tags\":[\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\",\"่ต„ๆบๆŽจ่\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฅฝไนฆๆŽจ่\",\"date\":\"2024-01-01 16:00:00\",\"capture\":\"<script setup\\n import BookRecommend from './@fragment/BookRecommend.vue'\\n import {aiBooks, productSenseBooks, businessBooks, efficiencyBooks, growthBooks, humanSocialBooks, healthBooks} from './@fragment/recommends-data.ts'\\n</script>\\n 1. AI ไธŽๆ•ฐๅญฆๆ€็ปด\\n> ๅœจๅคงๆจกๅž‹ๅ‘ๅฑ•ๆ—ฅๆ–ฐๆœˆๅผ‚็š„ไปŠๅคฉ๏ผŒ็†่งฃ AI ๆœฌ่ดจไธŠๆ˜ฏๅœจๅ‡็บงๆˆ‘ไปฌ่ต„ๆทฑ็š„โ€œ่ฎค็Ÿฅๆ“\"}],\"LLM API\":[{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/11. LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/11. LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-01-06 15:58:53\",\"title\":\"LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆˆช่‡ณ 2026 ๅนด๏ผŒLLM API ๆœๅŠกๅทฒๅฝขๆˆ\\\"ๅฎ˜ๆ–น็›ด่ฟž + ็ฌฌไธ‰ๆ–น่šๅˆ\\\"็š„ๅŒ่ฝจๆ ผๅฑ€๏ผŒๆจกๅž‹่ƒฝๅŠ›ใ€ๅฎšไปทใ€ๅˆ่ง„ๆ€งไธŽๆŽฅๅ…ฅไพฟๅˆฉๆ€งๅทฎๅผ‚ๆ˜พ่‘—ใ€‚ๆœฌๆ–‡ไปŽ้€‰ๅž‹ๅ‰ๆ้—ฎๅ‡บๅ‘๏ผŒ็ณป็ปŸๆขณ็†ๅ›ฝ้™…ไธŽๅ›ฝๅ†…ไธปๆตๅฎ˜ๆ–น API ๅนณๅฐ๏ผŒไปฅๅŠ OpenRouterใ€็ก…ๅŸบๆตๅŠจ็ญ‰็ฌฌไธ‰ๆ–น่šๅˆๅนณๅฐ็š„ๆ ธๅฟƒ็‰น็‚น๏ผŒๅนถๆไพ›ๅŸบไบŽๅœบๆ™ฏ็š„ๅ†ณ็ญ–ๆก†ๆžถ๏ผŒๅธฎๅŠฉๅผ€ๅ‘่€…ๅ’Œไบงๅ“ๅ›ข้˜Ÿๅฟซ้€Ÿ้”ๅฎšๆœ€้€‚ๅˆ่‡ชๅทฑ็š„ๆ–นๆกˆใ€‚\",\"permalink\":\"/ai-learning/llm-api-resources\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"LLM API\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"date\":\"2026-01-06 15:58:53\",\"capture\":\"1. ้€‰ๆจกๅž‹ๅ‰๏ผŒๅ…ˆๆƒณๆธ…ๆฅš่ฟ™ๅ‡ ไปถไบ‹\\nๅœจๅฏนๆฏ”ๅ…ทไฝ“ๅนณๅฐไน‹ๅ‰๏ผŒๅฏไปŽไปฅไธ‹ๅ››ไธช็ปดๅบฆๆขณ็†่‡ช่บซ่ฏ‰ๆฑ‚๏ผŒ้ฟๅ…\\\"็œผ่Šฑ็ผญไนฑๅŽ้šไพฟ้€‰ไธ€ไธช\\\"๏ผš\\n| ็ปดๅบฆ | ๅ…ณ้”ฎ้—ฎ้ข˜ | ๅฝฑๅ“ๅ†ณ็ญ– |\\n|:-----|:--------|:--------|\\n| ไปปๅŠก็ฑปๅž‹ | ๆ˜ฏ้€š็”จๅฏน่ฏใ€ไปฃ็ ็”Ÿๆˆใ€้•ฟๆ–‡ๆกฃๅˆ†ๆž๏ผŒ่ฟ˜ๆ˜ฏๅคšๆจกๆ€็†่งฃ๏ผŸ | ไธๅŒๆจกๅž‹ๅœจๅž‚็›ด่ƒฝๅŠ›ไธŠๅทฎ่ทๆ‚ฌๆฎŠ |\\n| ๆˆๆœฌ้ข„็ฎ— | ๆฏๆœˆ่ฐƒ็”จ้‡็บง๏ผŸ่ƒฝๅฆๆŽฅๅ—ๆตทๅค–็ป“็ฎ—ไธŽๆฑ‡็އ้ฃŽ้™ฉ๏ผŸ | ๅ›ฝไบงๆจกๅž‹ Token ไปทๆ ผ้€šๅธธไฝŽ 3๏ฝž10 ๅ€ |\\n| ๅˆ่ง„ไธŽ้ƒจ็ฝฒ | ๆ•ฐๆฎ่ƒฝๅฆๅ‡บๅขƒ๏ผŸ่ƒฝๅฆไฝฟ็”จๆตทๅค–ๆœๅŠก๏ผŸๆ˜ฏๅฆ้œ€่ฆ็งๆœ‰ๅŒ–้ƒจ็ฝฒ๏ผŸ | ๆถ‰ๅŠๆ”ฟๅŠก/้‡‘่ž/ๅŒป็–—ๅœบๆ™ฏๅฟ…้กป่€ƒ่™‘ |\\n| ็ฝ‘็ปœ็Žฏๅขƒ | ๅผ€ๅ‘/้ƒจ็ฝฒ็Žฏๅขƒ่ƒฝๅฆ็จณๅฎš่ฎฟ\"}],\"AI Coding\":[{\"url\":\"/01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ\",\"frontmatter\":{\"date\":\"2025-11-25 00:52:28\",\"title\":\"AI ็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡ๆทฑๅบฆ่งฃๆžไบ† AI ้ฉฑๅŠจ็ผ–็จ‹็š„ไธ‰ๅคงๆผ”่ฟ›่Œƒๅผ๏ผšVibe Coding๏ผˆ่‡ช็„ถ่ฏญ่จ€้›ถ้—จๆง›ๆž„ๅปบ๏ผ‰ใ€AI IDE๏ผˆ็ผ–่พ‘ๅ™จๆทฑๅบฆ่พ…ๅŠฉๆๆ•ˆ๏ผ‰ๅŠ Agentic Engineering๏ผˆ่‡ชไธปๅทฅ็จ‹ๅธˆๆ‰ง่กŒไปปๅŠก๏ผ‰ใ€‚้€š่ฟ‡ๆจชๅ‘ๅฏนๆฏ” Bolt.newใ€Cursorใ€Claude Code ็ญ‰ๅ‰ๆฒฟๅทฅๅ…ท๏ผŒๆ–‡็ซ ๅ‹พๅ‹’ๅ‡บไธ€ๆกไปŽโ€œๅฟซ้€ŸๅŽŸๅž‹โ€ๅˆฐโ€œ้ซ˜ๆ•ˆๅๅŒโ€ๅ†ๅˆฐโ€œ่‡ชไธปไบคไป˜โ€็š„่ฟ›้˜ถ่ทฏๅพ„ใ€‚ๆ ธๅฟƒๆ—จๅœจๆŒ‡ๅฏผ็”จๆˆทๅˆฉ็”จ AI ๅทฅๅ…ท็Ÿฉ้˜ตๆ‰“็ ดๆŠ€ๆœฏ่พน็•Œ๏ผŒๅฎž็ŽฐไปŽๅˆ›ๆ„ๆ่ฟฐๅˆฐๅทฅไธš็บงไบคไป˜็š„็”ŸไบงๅŠ›้ฃž่ทƒ๏ผŒ้‡ๅก‘่ฝฏไปถๅผ€ๅ‘ๅ…จ็”Ÿๅ‘ฝๅ‘จๆœŸใ€‚\",\"permalink\":\"/ai-learning/ai-coding-resources\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/source_sites_bg.png\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"AI Coding\",\"Vibe Coding\",\"Agentic Engineering\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"AI ็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่\",\"date\":\"2025-11-25 00:52:28\",\"capture\":\"1. ไธ‰็ง็ผ–็จ‹่Œƒๅผ้€Ÿ่งˆ\\n| ่Œƒๅผ | ไธ€ๅฅ่ฏๆ่ฟฐ | ไฝ ็š„่ง’่‰ฒ |\\n|:-----|:---------|:--------|\\n| Vibe Coding | ็”จ่‡ช็„ถ่ฏญ่จ€ๆ่ฟฐ้œ€ๆฑ‚๏ผŒAI ็›ดๆŽฅ็”Ÿๆˆๅฏ่ฟ่กŒ็š„ๅฎŒๆ•ด้กน็›ฎ | ๆ่ฟฐ้œ€ๆฑ‚๏ผŒ่ฎฉ AI ๅ†™ไปฃ็ (```ๆ–ฐๆ‰‹ๅ‹ๅฅฝ```) |\\n| AI IDE | ๅœจ็ผ–่พ‘ๅ™จ้‡Œๅผ•ๅ…ฅ AI ่พ…ๅŠฉ๏ผŒ่พนๅ†™่พน่กฅๅ…จใ€่พน้—ฎ่พนๆ”น | ไธปๅฏผๅผ€ๅ‘๏ผŒ่ฎฉ AI ๅšๅ‰ฏ้ฉพ้ฉถ(```ๆ›ดๅคšๆŽงๅˆถ```) |\\n| Agentic Engineering | AI ไฝœไธบ\\\"่‡ชไธปๅทฅ็จ‹ๅธˆ\\\"๏ผŒๆŽฅๆ”ถไปปๅŠกๅŽ่‡ชๅŠจ่ง„ๅˆ’ๅนถๆ‰ง่กŒๅ…จๅฅ—ไปฃ็ ๅทฅไฝœๆต | ๆไปปๅŠกใ€ๅฎก็ป“ๆžœ๏ผŒ่ฎฉ AI ๆ‰ง่กŒ(```ๆž่‡ดๆๆ•ˆ```) |\\nๆ–ฐๆ‰‹่ทฏ็บฟๅปบ่ฎฎ๏ผšๅ…ˆ\"}],\"Vibe Coding\":[{\"url\":\"/01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ\",\"frontmatter\":{\"date\":\"2025-11-25 00:52:28\",\"title\":\"AI ็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡ๆทฑๅบฆ่งฃๆžไบ† AI ้ฉฑๅŠจ็ผ–็จ‹็š„ไธ‰ๅคงๆผ”่ฟ›่Œƒๅผ๏ผšVibe Coding๏ผˆ่‡ช็„ถ่ฏญ่จ€้›ถ้—จๆง›ๆž„ๅปบ๏ผ‰ใ€AI IDE๏ผˆ็ผ–่พ‘ๅ™จๆทฑๅบฆ่พ…ๅŠฉๆๆ•ˆ๏ผ‰ๅŠ Agentic Engineering๏ผˆ่‡ชไธปๅทฅ็จ‹ๅธˆๆ‰ง่กŒไปปๅŠก๏ผ‰ใ€‚้€š่ฟ‡ๆจชๅ‘ๅฏนๆฏ” Bolt.newใ€Cursorใ€Claude Code ็ญ‰ๅ‰ๆฒฟๅทฅๅ…ท๏ผŒๆ–‡็ซ ๅ‹พๅ‹’ๅ‡บไธ€ๆกไปŽโ€œๅฟซ้€ŸๅŽŸๅž‹โ€ๅˆฐโ€œ้ซ˜ๆ•ˆๅๅŒโ€ๅ†ๅˆฐโ€œ่‡ชไธปไบคไป˜โ€็š„่ฟ›้˜ถ่ทฏๅพ„ใ€‚ๆ ธๅฟƒๆ—จๅœจๆŒ‡ๅฏผ็”จๆˆทๅˆฉ็”จ AI ๅทฅๅ…ท็Ÿฉ้˜ตๆ‰“็ ดๆŠ€ๆœฏ่พน็•Œ๏ผŒๅฎž็ŽฐไปŽๅˆ›ๆ„ๆ่ฟฐๅˆฐๅทฅไธš็บงไบคไป˜็š„็”ŸไบงๅŠ›้ฃž่ทƒ๏ผŒ้‡ๅก‘่ฝฏไปถๅผ€ๅ‘ๅ…จ็”Ÿๅ‘ฝๅ‘จๆœŸใ€‚\",\"permalink\":\"/ai-learning/ai-coding-resources\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/source_sites_bg.png\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"AI Coding\",\"Vibe Coding\",\"Agentic Engineering\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"AI ็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่\",\"date\":\"2025-11-25 00:52:28\",\"capture\":\"1. ไธ‰็ง็ผ–็จ‹่Œƒๅผ้€Ÿ่งˆ\\n| ่Œƒๅผ | ไธ€ๅฅ่ฏๆ่ฟฐ | ไฝ ็š„่ง’่‰ฒ |\\n|:-----|:---------|:--------|\\n| Vibe Coding | ็”จ่‡ช็„ถ่ฏญ่จ€ๆ่ฟฐ้œ€ๆฑ‚๏ผŒAI ็›ดๆŽฅ็”Ÿๆˆๅฏ่ฟ่กŒ็š„ๅฎŒๆ•ด้กน็›ฎ | ๆ่ฟฐ้œ€ๆฑ‚๏ผŒ่ฎฉ AI ๅ†™ไปฃ็ (```ๆ–ฐๆ‰‹ๅ‹ๅฅฝ```) |\\n| AI IDE | ๅœจ็ผ–่พ‘ๅ™จ้‡Œๅผ•ๅ…ฅ AI ่พ…ๅŠฉ๏ผŒ่พนๅ†™่พน่กฅๅ…จใ€่พน้—ฎ่พนๆ”น | ไธปๅฏผๅผ€ๅ‘๏ผŒ่ฎฉ AI ๅšๅ‰ฏ้ฉพ้ฉถ(```ๆ›ดๅคšๆŽงๅˆถ```) |\\n| Agentic Engineering | AI ไฝœไธบ\\\"่‡ชไธปๅทฅ็จ‹ๅธˆ\\\"๏ผŒๆŽฅๆ”ถไปปๅŠกๅŽ่‡ชๅŠจ่ง„ๅˆ’ๅนถๆ‰ง่กŒๅ…จๅฅ—ไปฃ็ ๅทฅไฝœๆต | ๆไปปๅŠกใ€ๅฎก็ป“ๆžœ๏ผŒ่ฎฉ AI ๆ‰ง่กŒ(```ๆž่‡ดๆๆ•ˆ```) |\\nๆ–ฐๆ‰‹่ทฏ็บฟๅปบ่ฎฎ๏ผšๅ…ˆ\"}],\"Agentic Engineering\":[{\"url\":\"/01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ\",\"frontmatter\":{\"date\":\"2025-11-25 00:52:28\",\"title\":\"AI ็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡ๆทฑๅบฆ่งฃๆžไบ† AI ้ฉฑๅŠจ็ผ–็จ‹็š„ไธ‰ๅคงๆผ”่ฟ›่Œƒๅผ๏ผšVibe Coding๏ผˆ่‡ช็„ถ่ฏญ่จ€้›ถ้—จๆง›ๆž„ๅปบ๏ผ‰ใ€AI IDE๏ผˆ็ผ–่พ‘ๅ™จๆทฑๅบฆ่พ…ๅŠฉๆๆ•ˆ๏ผ‰ๅŠ Agentic Engineering๏ผˆ่‡ชไธปๅทฅ็จ‹ๅธˆๆ‰ง่กŒไปปๅŠก๏ผ‰ใ€‚้€š่ฟ‡ๆจชๅ‘ๅฏนๆฏ” Bolt.newใ€Cursorใ€Claude Code ็ญ‰ๅ‰ๆฒฟๅทฅๅ…ท๏ผŒๆ–‡็ซ ๅ‹พๅ‹’ๅ‡บไธ€ๆกไปŽโ€œๅฟซ้€ŸๅŽŸๅž‹โ€ๅˆฐโ€œ้ซ˜ๆ•ˆๅๅŒโ€ๅ†ๅˆฐโ€œ่‡ชไธปไบคไป˜โ€็š„่ฟ›้˜ถ่ทฏๅพ„ใ€‚ๆ ธๅฟƒๆ—จๅœจๆŒ‡ๅฏผ็”จๆˆทๅˆฉ็”จ AI ๅทฅๅ…ท็Ÿฉ้˜ตๆ‰“็ ดๆŠ€ๆœฏ่พน็•Œ๏ผŒๅฎž็ŽฐไปŽๅˆ›ๆ„ๆ่ฟฐๅˆฐๅทฅไธš็บงไบคไป˜็š„็”ŸไบงๅŠ›้ฃž่ทƒ๏ผŒ้‡ๅก‘่ฝฏไปถๅผ€ๅ‘ๅ…จ็”Ÿๅ‘ฝๅ‘จๆœŸใ€‚\",\"permalink\":\"/ai-learning/ai-coding-resources\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/source_sites_bg.png\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"AI Coding\",\"Vibe Coding\",\"Agentic Engineering\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"AI ็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่\",\"date\":\"2025-11-25 00:52:28\",\"capture\":\"1. ไธ‰็ง็ผ–็จ‹่Œƒๅผ้€Ÿ่งˆ\\n| ่Œƒๅผ | ไธ€ๅฅ่ฏๆ่ฟฐ | ไฝ ็š„่ง’่‰ฒ |\\n|:-----|:---------|:--------|\\n| Vibe Coding | ็”จ่‡ช็„ถ่ฏญ่จ€ๆ่ฟฐ้œ€ๆฑ‚๏ผŒAI ็›ดๆŽฅ็”Ÿๆˆๅฏ่ฟ่กŒ็š„ๅฎŒๆ•ด้กน็›ฎ | ๆ่ฟฐ้œ€ๆฑ‚๏ผŒ่ฎฉ AI ๅ†™ไปฃ็ (```ๆ–ฐๆ‰‹ๅ‹ๅฅฝ```) |\\n| AI IDE | ๅœจ็ผ–่พ‘ๅ™จ้‡Œๅผ•ๅ…ฅ AI ่พ…ๅŠฉ๏ผŒ่พนๅ†™่พน่กฅๅ…จใ€่พน้—ฎ่พนๆ”น | ไธปๅฏผๅผ€ๅ‘๏ผŒ่ฎฉ AI ๅšๅ‰ฏ้ฉพ้ฉถ(```ๆ›ดๅคšๆŽงๅˆถ```) |\\n| Agentic Engineering | AI ไฝœไธบ\\\"่‡ชไธปๅทฅ็จ‹ๅธˆ\\\"๏ผŒๆŽฅๆ”ถไปปๅŠกๅŽ่‡ชๅŠจ่ง„ๅˆ’ๅนถๆ‰ง่กŒๅ…จๅฅ—ไปฃ็ ๅทฅไฝœๆต | ๆไปปๅŠกใ€ๅฎก็ป“ๆžœ๏ผŒ่ฎฉ AI ๆ‰ง่กŒ(```ๆž่‡ดๆๆ•ˆ```) |\\nๆ–ฐๆ‰‹่ทฏ็บฟๅปบ่ฎฎ๏ผšๅ…ˆ\"}],\"AI ๅŠฉๆ‰‹\":[{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"frontmatter\":{\"date\":\"2025-11-25 00:52:28\",\"title\":\"ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไธบไพฟไบŽ้ซ˜ๆ•ˆๅˆฉ็”จ AI ๅทฅๅ…ทๆๅ‡ๅญฆไน ใ€ๆœ็ดขๅ’Œๅˆ›ไฝœๆ•ˆ็އ๏ผŒๆœฌๆ–‡็ณป็ปŸๆ•ด็†ไบ†ไธปๆต็š„ AI ๅŠฉๆ‰‹ไธŽๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐ็›ธๅ…ณ่ต„ๆบใ€‚ๅ†…ๅฎนๅˆ†ไธบโ€œAI ๅŠฉๆ‰‹โ€๏ผˆๅฆ‚ ChatGPTใ€Claudeใ€Gemini ็ญ‰ๅฏน่ฏๅผๅŠฉๆ‰‹๏ผ‰ๅ’Œโ€œๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐโ€๏ผˆๅฆ‚ๅ†™ไฝœใ€็ป˜็”ป็ญ‰้ข†ๅŸŸ็š„ AI ๅทฅๅ…ทไธŽๅนณๅฐ๏ผ‰๏ผŒไธ”ๆ ‡ๆณจไบ†ๅ…ถๆ ธๅฟƒ่ƒฝๅŠ›ใ€้€‚ๅˆๅœบๆ™ฏ๏ผŒไปฅๅŠ็‰น่‰ฒไผ˜ๅŠฟใ€‚\",\"permalink\":\"/ai-learning/tools-assistant\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/source_sites_bg.png\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"AI ๅŠฉๆ‰‹\",\"AI ๆœ็ดข\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"date\":\"2025-11-25 00:52:28\",\"capture\":\"1. AI ๅŠฉๆ‰‹\\n> ้€‰ๆ‹ฉๅปบ่ฎฎ๏ผš ่‹ฑๆ–‡ไธบไธป โ†’ ไผ˜ๅ…ˆ ChatGPT / Claude / Gemini๏ผ›ไธญๆ–‡ไธบไธป โ†’ ไผ˜ๅ…ˆ Kimi / DeepSeek / ้€šไน‰ๅƒ้—ฎ๏ผ›้œ€่ฆ่”็ฝ‘ๅฎžๆ—ถไฟกๆฏ โ†’ Gemini / Grok๏ผ›้œ€่ฆๅˆ†ๆž้•ฟๆ–‡ๆกฃ โ†’ Claude / Kimi๏ผ›่ฟฝๆฑ‚ไฝŽๆˆๆœฌๅผ€ๆบ้ƒจ็ฝฒ โ†’ DeepSeekใ€‚\\n>\\n> ๆณจ๏ผš็›ฎๅ‰ๅ›ฝๅค–ๆจกๅž‹๏ผˆๅฆ‚ ChatGPTใ€Claudeใ€Gemini ็ญ‰๏ผ‰ๅœจ่‹ฑๆ–‡ๅค„็†ใ€ๅคšๆจกๆ€่ƒฝๅŠ›ใ€ๆ’ไปถ็”Ÿๆ€ๅ’Œ API ไธฐๅฏŒๆ€ง็ญ‰ๆ–น้ข๏ผŒๆ•ดไฝ“ไธŠไพ็„ถไผ˜ไบŽๅ›ฝๅ†…ๆจกๅž‹๏ผŒ้€‚ๅˆๅฏน่‹ฑๆ–‡ๅˆ›ไฝœใ€ๅคš่ฏญ่จ€ๆฒŸ้€šใ€ๅคๆ‚ๆŽจ็†ใ€ไปฃ็ ๅŠฉๆ‰‹็ญ‰ๅœบๆ™ฏๆœ‰ๆ›ด้ซ˜่ฆๆฑ‚็š„็”จๆˆทใ€‚ไธ่ฟ‡๏ผŒๅ›ฝๅ†…ๆจกๅž‹ๅœจไธญๆ–‡็†่งฃใ€ๆœฌๅœฐๅŒ–ใ€ๅˆ่ง„\"}],\"AI ๆœ็ดข\":[{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"frontmatter\":{\"date\":\"2025-11-25 00:52:28\",\"title\":\"ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไธบไพฟไบŽ้ซ˜ๆ•ˆๅˆฉ็”จ AI ๅทฅๅ…ทๆๅ‡ๅญฆไน ใ€ๆœ็ดขๅ’Œๅˆ›ไฝœๆ•ˆ็އ๏ผŒๆœฌๆ–‡็ณป็ปŸๆ•ด็†ไบ†ไธปๆต็š„ AI ๅŠฉๆ‰‹ไธŽๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐ็›ธๅ…ณ่ต„ๆบใ€‚ๅ†…ๅฎนๅˆ†ไธบโ€œAI ๅŠฉๆ‰‹โ€๏ผˆๅฆ‚ ChatGPTใ€Claudeใ€Gemini ็ญ‰ๅฏน่ฏๅผๅŠฉๆ‰‹๏ผ‰ๅ’Œโ€œๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐโ€๏ผˆๅฆ‚ๅ†™ไฝœใ€็ป˜็”ป็ญ‰้ข†ๅŸŸ็š„ AI ๅทฅๅ…ทไธŽๅนณๅฐ๏ผ‰๏ผŒไธ”ๆ ‡ๆณจไบ†ๅ…ถๆ ธๅฟƒ่ƒฝๅŠ›ใ€้€‚ๅˆๅœบๆ™ฏ๏ผŒไปฅๅŠ็‰น่‰ฒไผ˜ๅŠฟใ€‚\",\"permalink\":\"/ai-learning/tools-assistant\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/source_sites_bg.png\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"AI ๅŠฉๆ‰‹\",\"AI ๆœ็ดข\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"date\":\"2025-11-25 00:52:28\",\"capture\":\"1. AI ๅŠฉๆ‰‹\\n> ้€‰ๆ‹ฉๅปบ่ฎฎ๏ผš ่‹ฑๆ–‡ไธบไธป โ†’ ไผ˜ๅ…ˆ ChatGPT / Claude / Gemini๏ผ›ไธญๆ–‡ไธบไธป โ†’ ไผ˜ๅ…ˆ Kimi / DeepSeek / ้€šไน‰ๅƒ้—ฎ๏ผ›้œ€่ฆ่”็ฝ‘ๅฎžๆ—ถไฟกๆฏ โ†’ Gemini / Grok๏ผ›้œ€่ฆๅˆ†ๆž้•ฟๆ–‡ๆกฃ โ†’ Claude / Kimi๏ผ›่ฟฝๆฑ‚ไฝŽๆˆๆœฌๅผ€ๆบ้ƒจ็ฝฒ โ†’ DeepSeekใ€‚\\n>\\n> ๆณจ๏ผš็›ฎๅ‰ๅ›ฝๅค–ๆจกๅž‹๏ผˆๅฆ‚ ChatGPTใ€Claudeใ€Gemini ็ญ‰๏ผ‰ๅœจ่‹ฑๆ–‡ๅค„็†ใ€ๅคšๆจกๆ€่ƒฝๅŠ›ใ€ๆ’ไปถ็”Ÿๆ€ๅ’Œ API ไธฐๅฏŒๆ€ง็ญ‰ๆ–น้ข๏ผŒๆ•ดไฝ“ไธŠไพ็„ถไผ˜ไบŽๅ›ฝๅ†…ๆจกๅž‹๏ผŒ้€‚ๅˆๅฏน่‹ฑๆ–‡ๅˆ›ไฝœใ€ๅคš่ฏญ่จ€ๆฒŸ้€šใ€ๅคๆ‚ๆŽจ็†ใ€ไปฃ็ ๅŠฉๆ‰‹็ญ‰ๅœบๆ™ฏๆœ‰ๆ›ด้ซ˜่ฆๆฑ‚็š„็”จๆˆทใ€‚ไธ่ฟ‡๏ผŒๅ›ฝๅ†…ๆจกๅž‹ๅœจไธญๆ–‡็†่งฃใ€ๆœฌๅœฐๅŒ–ใ€ๅˆ่ง„\"},{\"url\":\"/10.ไบงๅ“ Sense/01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž/11.AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"relativePath\":\"/10.ไบงๅ“ Sense/01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž/11.AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"frontmatter\":{\"date\":\"2024-05-08 08:56:21\",\"title\":\"AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจๅคงๆจกๅž‹้‡ๅก‘ไบ’่”็ฝ‘ไบคไบ’็š„ๅฝ“ไธ‹๏ผŒPerplexity ๅนถๆœช้€‰ๆ‹ฉๆˆไธบโ€œไธ‹ไธ€ไธช Googleโ€๏ผŒ่€Œๆ˜ฏไปฅโ€œ็Ÿฅ่ฏ†ๅ‘็Žฐๅผ•ๆ“Žโ€็š„ๅ…จๆ–ฐๅฎšไฝ๏ผŒ็ฒพๅ‡†ๅˆ‡ๅ…ฅ็Ÿฅ่ฏ†ๅทฅไฝœ่€…็š„ๆ ธๅฟƒๅทฅไฝœๆตใ€‚ๆœฌๆ–‡่ทณๅ‡บๅ•็บฏ็š„ๆจกๅž‹่ƒฝๅŠ›ๅฏนๆฏ”๏ผŒไปŽไบงๅ“ Sense ไธŽๅทฅ็จ‹้€ป่พ‘็š„ๅŒ้‡่ง†่ง’๏ผŒๆทฑๅบฆๆ‹†่งฃ Perplexity ็š„็ ดๅฑ€ไน‹้“ใ€‚ๆˆ‘ไปฌๅฐ†ๆŽข่ฎจๅฎƒๅฆ‚ไฝ•้€š่ฟ‡ๅ็›ด่ง‰็š„ UI ๅˆ›ๆ–ฐ้‡ๅก‘ไบคไบ’่ตท็‚น๏ผŒๅฆ‚ไฝ•ๅœจๅทฅ็จ‹ๅฑ‚้ขๆญป็ฃ•ๅฐพ้ƒจๅปถ่ฟŸไธŽๅนป่ง‰ๆŽงๅˆถ๏ผŒไปฅๅŠๅฎƒๅฆ‚ไฝ•ๅˆฉ็”จๅทจๅคด็š„ๅˆฉๆถฆ็އๆŠคๅŸŽๆฒณๅฎž็Žฐ้”™ไฝ็ซžไบ‰ใ€‚ๆœ€็ปˆ๏ผŒๆˆ‘ไปฌๅฐ†่ง†็บฟๆŠ•ๅ‘ๆœชๆฅ๏ผŒไธ€็ชฅ AI ไปŽ่ขซๅŠจๅ“ๅบ”่ตฐๅ‘ไธปๅŠจๆŽข็ดข็š„ๆผ”่ฟ›่“ๅ›พใ€‚\",\"permalink\":\"/product-sense/perplexity-knowledge-worker\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"AI ๆœ็ดข\",\"็Ÿฅ่ฏ†ๅ‘็Žฐ\",\"ไบงๅ“ Sense\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"date\":\"2024-05-08 08:56:21\",\"capture\":\"1. ๅผ•่จ€\\nๅœจ AI ๆตชๆฝฎไธ‹๏ผŒๆœ็ดขๅผ•ๆ“Ž็š„่Œƒๅผๆญฃๅœจๅ‘็”Ÿ่ฝฌ็งปใ€‚ไฝœไธบๅฝ“ๅ‰ๅค‡ๅ—็žฉ็›ฎ็š„ AI ๆœ็ดขไบงๅ“๏ผŒPerplexity ๅนถๆฒกๆœ‰่ฏ•ๅ›พๆˆไธบโ€œไธ‹ไธ€ไธช Googleโ€๏ผŒ่€Œๆ˜ฏๅฐ†่‡ชๅทฑๅฎšไน‰ไธบ็Ÿฅ่ฏ†ๅ‘็Žฐๅผ•ๆ“Žใ€‚\\nๅฏนไบŽๆฏๅคฉ้œ€่ฆๅค„็†ๆตท้‡ไฟกๆฏใ€่ฟ›่กŒๅคๆ‚ๅ†ณ็ญ–็š„็Ÿฅ่ฏ†ๅทฅไฝœ่€…่€Œ่จ€๏ผŒๅฆ‚ไฝ•้ซ˜ๆ•ˆๅœฐโ€œๅŽปๅ™ชโ€ๅนถ่Žทๅ–้ซ˜ไฟกๅบฆ็Ÿฅ่ฏ†ๆ˜ฏๆ ธๅฟƒ่ฏ‰ๆฑ‚ใ€‚็ฌ”่€…ๅฐ†ไปŽไบงๅ“ไบคไบ’ใ€ๆŠ€ๆœฏๅทฅ็จ‹ใ€ๅ•†ไธš้€ป่พ‘ไธŽๆœชๆฅๆผ”่ฟ›ๅ››ไธช็ปดๅบฆ๏ผŒๅˆ†ๆž Perplexity ๆ˜ฏๅฆ‚ไฝ•้‡ๅก‘ไฟกๆฏ่Žทๅ–ๅทฅไฝœๆต็š„ใ€‚\\nๆœฌๆ–‡ๆ—จๅœจ้€š่ฟ‡ๅฏน Perplexity ็š„ๆทฑๅบฆไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž๏ผŒๅธฎๅŠฉ่ฏป่€…็†่งฃ AI ๆœ็ดขไบงๅ“็š„่ฎพ่ฎก้€ป่พ‘ไธŽ็”จๆˆทไฝ“้ชŒไผ˜ๅŒ–่ทฏๅพ„๏ผŒๅŒๆ—ถไธบ็Ÿฅ่ฏ†ๅทฅไฝœ่€…ๆไพ›ๅฏ่ฝๅœฐ็š„ๆ•ˆ็އๆๅ‡ๆ–นๆณ•๏ผŒๅนถๅœจ่ฟ‡็จ‹ไธญๅŸนๅ…ป็ป“ๆž„ๅŒ–ไบงๅ“ๅˆ†ๆžๆ€็ปดใ€‚\\n\"}],\"ไบงๅ“ Sense\":[{\"url\":\"/10.ไบงๅ“ Sense/04.ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–/30.ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹่ฏปๅŽๆ„Ÿ\",\"relativePath\":\"/10.ไบงๅ“ Sense/04.ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–/30.ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹่ฏปๅŽๆ„Ÿ\",\"frontmatter\":{\"date\":\"2025-11-24 21:50:00\",\"title\":\"ๆ”พๅผƒๅขž้•ฟๆ‰งๅฟต๏ผŒไธบไป€ไนˆโ€œๅฐ่€Œ็พŽโ€ๆ‰ๆ˜ฏๅฏๆŒ็ปญไน‹่ทฏ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒ็ง‘ๆŠ€ไบ’่”็ฝ‘่กŒไธš็š„ๅ™ไบ‹้ƒฝ่ขซโ€œไธๆƒœไธ€ๅˆ‡ไปฃไปทๅฎž็Žฐ่ถ…็บฟๆ€งๅขž้•ฟโ€ๆ‰€ไธปๅฏผใ€‚ไปฟไฝ›ๅชๆœ‰ๆ‹ฟๅˆฐๅทจ้ข่ž่ต„ใ€็–ฏ็‹‚ๆ‹›ไบบใ€ๆˆไธบไผฐๅ€ผ็ ด็™พไบฟ็š„ๅบž็„ถๅคง็‰ฉ๏ผŒๆ‰็ฎ—ๅพ—ไธŠๆ˜ฏๆˆๅŠŸ็š„ๅˆ›ไธšใ€‚็„ถ่€Œ๏ผŒ่ฏปๅฎŒ่จๅธŒๅฐ”ยทๆ‹‰ๆ–‡ๅ‰ไบš็š„ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹ๅŽ๏ผŒ็ฌ”่€…่Žทๅพ—ไบ†ไธ€็งๆˆช็„ถไธๅŒ็š„ๅ•†ไธš่ง†่ง’๏ผšไผไธšๅญ˜ๅœจ็š„้ฆ–่ฆ็›ฎ็š„ไธๆ˜ฏไธบไบ†่ž่ต„ๅ’Œๆ‰ฉๅผ ๏ผŒ่€Œๆ˜ฏไธบไบ†้€š่ฟ‡่งฃๅ†ณ้—ฎ้ข˜ๆฅ่Žทๅพ—ๆŒ็ปญ็š„็›ˆๅˆฉใ€‚ ๆœฌๆ–‡็ป“ๅˆไนฆไธญ็š„ๆ ธๅฟƒ่ฎบ็‚นไธŽ่‡ช่บซ็š„็ ”ๅ‘่ง†่ง’๏ผŒๆŠŠๅฐ†่ฟ™ๆœฌไนฆ่ƒŒๅŽ็š„็ป่ฅ้€ป่พ‘ไธŽไบงๅ“ๅ“ฒๅญฆๆขณ็†ไธบๅ‡ ไธชๆ ธๅฟƒๅฑ‚้ข็š„ๆ€่€ƒใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense/small-rule-learn\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"ไบงๅ“ Sense\",\"ๅ•†ไธšๅŒ–\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆ”พๅผƒๅขž้•ฟๆ‰งๅฟต๏ผŒไธบไป€ไนˆโ€œๅฐ่€Œ็พŽโ€ๆ‰ๆ˜ฏๅฏๆŒ็ปญไน‹่ทฏ\",\"date\":\"2025-11-24 21:50:00\",\"capture\":\"ไนฆๅ๏ผšใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹\\nไฝœ่€…๏ผš[็พŽ] ่จๅธŒๅฐ”ยทๆ‹‰ๆ–‡ๅ‰ไบš\\nๆ ธๅฟƒๆ ‡็ญพ๏ผšๆž็ฎ€ๅˆ›ไธš๏ฝœ็คพๅŒบๆœฌไฝ๏ฝœๆŒ็ปญ็›ˆๅˆฉ๏ฝœๅˆ›ไฝœ่€…็ปๆตŽ\\nไธ€ๅฅ่ฏ็ฎ€่ฏ„๏ผšๅœจ็›ฒ็›ฎๅด‡ๆ‹œ่ง„ๆจกๆ‰ฉๅผ ็š„ๅ•†ไธš่ฏญๅขƒไธ‹๏ผŒ่ฟ™ๆ˜ฏไธ€ไปฝๅ†™็ป™็‹ฌ็ซ‹ๅˆ›ไฝœ่€…ไธŽๅผ€ๅ‘่€…็š„ๆธ…้†’ๆŒ‡ๅ—๏ผŒๆ•™ไผšๆˆ‘ไปฌๅฆ‚ไฝ•็”จๆœ€ๅฐ‘็š„่ต„ๆบ๏ผŒ่งฃๅ†ณ็œŸๅฎž็š„็—›็‚น๏ผŒๅนถ่Žทๅพ—้•ฟไน…็š„่‡ช็”ฑใ€‚\\nๆ›ดๅคšไนฆ็ฑๆŽจ่ไฟกๆฏๅฏๅ‚่€ƒ๏ผšไบงๅ“ Sense ไธŽๅ•†ไธšๅŒ–\\n 1. ็คพๅŒบๅ…ˆ่กŒ๏ผšไปŽโ€œๆˆ‘ๆ˜ฏ่ฐโ€ๅˆฐโ€œๆˆ‘่ƒฝไธบ่ฐ่งฃๅ†ณ้—ฎ้ข˜โ€\\nไผ ็ปŸๅ•†ไธš้€ป่พ‘ๅพ€ๅพ€ๆ˜ฏๅ…ˆๆž„ๆ€ไธ€ไธชๅฎๅคง็š„็‚นๅญ๏ผŒ้—ญ้—จ้€ ่ฝฆๆ‰“็ฃจไบงๅ“๏ผŒๆœ€ๅŽๅ†็ ธ้’ฑๅŽปๅธ‚ๅœบไธŠๅฏปๆ‰พ็›ฎๆ ‡็”จๆˆทใ€‚่€Œๆœฌไนฆๆๅ‡บไบ†ไธ€ไธช้ข ่ฆ†ๆ€ง็š„ๅๅ‘่ทฏๅพ„๏ผš็คพๅŒบ $\\\\rightarrow$ ้—ฎ้ข˜ $\\\\rightarrow$ ๆต็จ‹ $\\\\rightarrow$\"},{\"url\":\"/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/40.ๆดžๅฏŸๅŠ›ๆจกๅž‹\",\"relativePath\":\"/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/40.ๆดžๅฏŸๅŠ›ๆจกๅž‹\",\"frontmatter\":{\"date\":\"2025-11-14 16:00:00\",\"title\":\"ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผšๅฆ‚ไฝ•็œ‹้€ไบงๅ“ไธŽๆŠ€ๆœฏ่ƒŒๅŽ็š„็ณป็ปŸ้€ป่พ‘๏ผŸ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆ— ่ฎบๆ˜ฏๅšไบงๅ“ใ€ๆžๆŠ€ๆœฏ๏ผŒ่ฟ˜ๆ˜ฏๅบ”ๅฏนๆ—ฅๅธธๅทฅไฝœไธญ็š„ๅ„็งๆŒ‘ๆˆ˜๏ผŒไฝ ๆ˜ฏๅฆ้‡ๅˆฐ่ฟ‡่ฟ™ๆ ท็š„ๅ›ฐๅขƒ๏ผšๆ˜Žๆ˜ŽๆŒ‰็ป้ชŒ่กŒไบ‹๏ผŒๅดๅฑกๅฑก่ธฉๅ‘๏ผ›ๅˆš่งฃๅ†ณ่กจ้ข้—ฎ้ข˜๏ผŒ้šๆ‚ฃๅˆๅทๅœŸ้‡ๆฅใ€‚้—ฎ้ข˜ๆœชๅฟ…ๅ‡บๅœจๅŠชๅŠ›็จ‹ๅบฆ๏ผŒ่€ŒๅœจไบŽๆˆ‘ไปฌๅช็›ฏ็€่กจ่ฑก๏ผŒๅดๅฟฝ็•ฅไบ†่ƒŒๅŽ็œŸๆญฃ่ตทไฝœ็”จ็š„็ณป็ปŸ๏ผŒๆฒกๆœ‰็œ‹ๆ‡‚่—ๅœจ่ƒŒๅŽ็š„็ณป็ปŸใ€‚ไธบไป€ไนˆๅŒๆ ทๆ˜ฏ่งฃๅ†ณ้—ฎ้ข˜๏ผŒๆœ‰ไบบๅช่ƒฝโ€œๅคด็—›ๅŒปๅคดโ€๏ผŒๆœ‰ไบบๅด่ƒฝ็›ดๅ‡ปๆœฌ่ดจ๏ผŸ่ฟ™็ฏ‡ๆ–‡็ซ ๅฐ†็”จ้€šไฟ—ๆ˜“ๆ‡‚็š„ๆ–นๅผ๏ผŒๅธฆไฝ ๆ‹†่งฃไธ€ๅฅ—ๅฎž็”จ็š„ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผŒ่ฎฉๆˆ‘ไปฌๅญฆไผš้€่ฟ‡็Žฐ่ฑกๆŠ“ไฝๆœฌ่ดจ๏ผŒไปŽๆ นๆบไธŠ่งฃๅ†ณ้—ฎ้ข˜ใ€‚\",\"permalink\":\"/product-sense/insight-model\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"ไบงๅ“ Sense\",\"็ณป็ปŸๆดžๅฏŸๅŠ›\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผšๅฆ‚ไฝ•็œ‹้€ไบงๅ“ไธŽๆŠ€ๆœฏ่ƒŒๅŽ็š„็ณป็ปŸ้€ป่พ‘๏ผŸ\",\"date\":\"2025-11-14 16:00:00\",\"capture\":\"1. ่กจ่ฑก่ƒŒๅŽ่—็€ๅ†ณๅฎšไธ€ๅˆ‡็š„โ€œ็ณป็ปŸ้ป‘็›’โ€\\nๆˆ‘ไปฌๅœจๆ—ฅๅธธๅผ€ๅ‘ๆˆ–ไบงๅ“่ฎพ่ฎกไธญ๏ผŒๆ€ปๆ˜ฏ่ขซๅ„็งโ€œ่กจ่ฑกโ€ๅŒ…ๅ›ด๏ผšDAU ็ช็„ถไธ‹้™ไบ†ใ€็บฟไธŠๅ‡บ็Žฐไบ†ไธ€ไธชๅถ็Žฐ็š„ Bugใ€ๆŸไธชๅŠŸ่ƒฝ็š„่ฝฌๅŒ–็އไธๅŠ้ข„ๆœŸใ€‚ๆˆ‘ไปฌไน ๆƒฏไบ†็›ฏ็€่ฟ™ไบ›็œ‹ๅพ—่ง็š„็ป“ๆžœๆ‰พๅŽŸๅ› ๏ผŒๅดๅฟฝ็•ฅไบ†ไธ€ไธชๆ ธๅฟƒ็œŸ็›ธ๏ผšๆฏไธ€ไธช่กจ่ฑก่ƒŒๅŽ๏ผŒๅ…ถๅฎž้ƒฝ้š่—็€ไธ€ไธช่ฟ่ฝฌๅคๆ‚็š„โ€œ้ป‘็›’ๅญโ€๏ผŒๆญฃๆ˜ฏ่ฟ™ไธช้ป‘็›’ๅญๅ†ณๅฎšไบ†ไบ‹็‰ฉๅ‘ๅฑ•็š„ๅฎข่ง‚่ง„ๅพ‹ใ€‚ๆˆ‘ไปฌๅฏไปฅๆŠŠ่ฟ™ไธช้ป‘็›’ๅญ๏ผŒๅซๅšโ€œ็ณป็ปŸโ€ใ€‚\\n<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/product/system_tips.png\\\" style=\\\"width: 1\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/60.ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/60.ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹\",\"frontmatter\":{\"date\":\"2024-06-14 22:00:00\",\"title\":\"ไธ€ๆฌก็”ฑ Product Sense ้ฉฑๅŠจ็š„ Agent ๆž้™ๅฎž่ทต\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšAI ๆ—ถไปฃ๏ผŒๅ†™ๅฅฝไปฃ็ ๅชๆ˜ฏๅŠๆ ผ็บฟใ€‚ๅœจไธ€ๆฌกๆž้™ๆŒ‘ๆˆ˜่ต›ไธญ๏ผŒๆˆ‘ไปฌ้€š่ฟ‡ๅฏน K12 ่ต›้“็”จๆˆท็—›็‚น็š„็ฒพๅ‡†โ€œ่ง†่ง’ๅˆ‡ๆขโ€๏ผŒๆ‰“้€ ๅ‡บไธ€ๆฌพๆŽˆไบบไปฅๆธ”็š„โ€œๆ•ฐๅญฆ่พ…ๅฏผๅฏผๅธˆโ€ๅนถๆ–ฉ่Žทๅคงๅฅ–ใ€‚ๆœฌๆ–‡ๅค็›˜ไบ† Agent ๆญๅปบ่ƒŒๅŽ็š„ๆ ธๅฟƒ SOP ่ฎพ่ฎก้€ป่พ‘๏ผšๆŠ€ๆœฏ็ปˆ็ฉถ่ฆๅ›žๅฝ’ๅฏน็œŸๅฎžไบบๆ€ง็š„ไฝ“ๅฏŸไธŽๅ…ณๆ€€ใ€‚\",\"coverImg\":\"/img/cover/llm_learning_bg_2.png\",\"permalink\":\"/ai-practice/math-bot\",\"categories\":[\"ai-practice\"],\"tags\":[\"Agent\",\"ไบงๅ“ Sense\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไธ€ๆฌก็”ฑ Product Sense ้ฉฑๅŠจ็š„ Agent ๆž้™ๅฎž่ทต\",\"date\":\"2024-06-14 22:00:00\",\"capture\":\"ๅœจๅˆšๅˆš่ฟ‡ๅŽป็š„ๅ‘จๆœซ๏ผŒๆˆ‘ๅ’Œๅฅฝๅ‹ๅ‚ๅŠ ไบ†ไธ€ๅœบ็”ฑๅƒๅธ† Agent ไธพๅŠž็š„็บฟไธ‹็คพๅŒบๆดปๅŠจใ€‚่ฟ™ๆ˜ฏไธ€ๅœบๅ……ๆปกๆžๅฎข็ฒพ็ฅž็š„โ€œๆž้™ๆŒ‘ๆˆ˜โ€โ€”โ€”ๆˆ‘ไปฌ้œ€่ฆๅœจๆžๅ…ถๆœ‰้™็š„ๆ—ถ้—ดๅ†…๏ผŒไปŽ้›ถๅผ€ๅง‹ๆž„ๆ€ใ€ๆญๅปบๅนถ็Žฐๅœบๅฑ•็คบไธ€ไธชๅฎŒๆ•ด็š„ Agent ๅบ”็”จใ€‚\\nไปคไบบๆƒŠๅ–œ็š„ๆ˜ฏ๏ผŒๆˆ‘ไปฌไธไป…้กบๅˆฉๅฎŒๆˆไบ†ๆž้™ๅผ€ๅ‘๏ผŒๆœ€็ปˆ่ฟ˜ๆ–ฉ่Žทไบ†ๅ…จๅœบ็š„ใ€Œๆœ€ไฝณๅบ”็”จๅฅ–ใ€ใ€‚\\nๅค็›˜่ฟ™ๆฌก็Ÿญๆš‚ๅด้ซ˜ๅฏ†ๅบฆ็š„ๅผ€ๅ‘ไฝ“้ชŒ๏ผŒๆœ€ๅคง็š„ๆ„Ÿ่งฆๆ˜ฏ๏ผšๅœจ AI ๆ—ถไปฃ๏ผŒๅ•็บฏ็š„ๅทฅ็จ‹ๅฎž็Žฐๅทฒ็ปไธๅ†ๆ˜ฏๅ”ฏไธ€็š„ๅฃๅž’๏ผŒ็œŸๆญฃ่ฎฉๅบ”็”จ่„ฑ้ข–่€Œๅ‡บ็š„๏ผŒๆ˜ฏๅฏน็œŸๅฎžไธšๅŠกๅœบๆ™ฏ็š„ๆดžๅฏŸๅŠ›ใ€‚ๅฝ“ (Engineering + Product) ร— AI ็š„้ฃž่ฝฎๅผ€ๅง‹่ฝฌๅŠจๆ—ถ๏ผŒๆŠ€ๆœฏๆ‰่ƒฝ็œŸๆญฃ่ฝฌๅŒ–ไธบ่งฃๅ†ณ้—ฎ้ข˜็š„ๅˆฉๅ™จใ€‚\\nไปฅไธ‹ๆ˜ฏๅ…ณไบŽ่ฟ™ๆฌกโ€œK12 ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹โ€ Agent ๆญๅปบ็š„ๅฎž\"},{\"url\":\"/10.ไบงๅ“ Sense/01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž/11.AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"relativePath\":\"/10.ไบงๅ“ Sense/01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž/11.AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"frontmatter\":{\"date\":\"2024-05-08 08:56:21\",\"title\":\"AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจๅคงๆจกๅž‹้‡ๅก‘ไบ’่”็ฝ‘ไบคไบ’็š„ๅฝ“ไธ‹๏ผŒPerplexity ๅนถๆœช้€‰ๆ‹ฉๆˆไธบโ€œไธ‹ไธ€ไธช Googleโ€๏ผŒ่€Œๆ˜ฏไปฅโ€œ็Ÿฅ่ฏ†ๅ‘็Žฐๅผ•ๆ“Žโ€็š„ๅ…จๆ–ฐๅฎšไฝ๏ผŒ็ฒพๅ‡†ๅˆ‡ๅ…ฅ็Ÿฅ่ฏ†ๅทฅไฝœ่€…็š„ๆ ธๅฟƒๅทฅไฝœๆตใ€‚ๆœฌๆ–‡่ทณๅ‡บๅ•็บฏ็š„ๆจกๅž‹่ƒฝๅŠ›ๅฏนๆฏ”๏ผŒไปŽไบงๅ“ Sense ไธŽๅทฅ็จ‹้€ป่พ‘็š„ๅŒ้‡่ง†่ง’๏ผŒๆทฑๅบฆๆ‹†่งฃ Perplexity ็š„็ ดๅฑ€ไน‹้“ใ€‚ๆˆ‘ไปฌๅฐ†ๆŽข่ฎจๅฎƒๅฆ‚ไฝ•้€š่ฟ‡ๅ็›ด่ง‰็š„ UI ๅˆ›ๆ–ฐ้‡ๅก‘ไบคไบ’่ตท็‚น๏ผŒๅฆ‚ไฝ•ๅœจๅทฅ็จ‹ๅฑ‚้ขๆญป็ฃ•ๅฐพ้ƒจๅปถ่ฟŸไธŽๅนป่ง‰ๆŽงๅˆถ๏ผŒไปฅๅŠๅฎƒๅฆ‚ไฝ•ๅˆฉ็”จๅทจๅคด็š„ๅˆฉๆถฆ็އๆŠคๅŸŽๆฒณๅฎž็Žฐ้”™ไฝ็ซžไบ‰ใ€‚ๆœ€็ปˆ๏ผŒๆˆ‘ไปฌๅฐ†่ง†็บฟๆŠ•ๅ‘ๆœชๆฅ๏ผŒไธ€็ชฅ AI ไปŽ่ขซๅŠจๅ“ๅบ”่ตฐๅ‘ไธปๅŠจๆŽข็ดข็š„ๆผ”่ฟ›่“ๅ›พใ€‚\",\"permalink\":\"/product-sense/perplexity-knowledge-worker\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"AI ๆœ็ดข\",\"็Ÿฅ่ฏ†ๅ‘็Žฐ\",\"ไบงๅ“ Sense\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"date\":\"2024-05-08 08:56:21\",\"capture\":\"1. ๅผ•่จ€\\nๅœจ AI ๆตชๆฝฎไธ‹๏ผŒๆœ็ดขๅผ•ๆ“Ž็š„่Œƒๅผๆญฃๅœจๅ‘็”Ÿ่ฝฌ็งปใ€‚ไฝœไธบๅฝ“ๅ‰ๅค‡ๅ—็žฉ็›ฎ็š„ AI ๆœ็ดขไบงๅ“๏ผŒPerplexity ๅนถๆฒกๆœ‰่ฏ•ๅ›พๆˆไธบโ€œไธ‹ไธ€ไธช Googleโ€๏ผŒ่€Œๆ˜ฏๅฐ†่‡ชๅทฑๅฎšไน‰ไธบ็Ÿฅ่ฏ†ๅ‘็Žฐๅผ•ๆ“Žใ€‚\\nๅฏนไบŽๆฏๅคฉ้œ€่ฆๅค„็†ๆตท้‡ไฟกๆฏใ€่ฟ›่กŒๅคๆ‚ๅ†ณ็ญ–็š„็Ÿฅ่ฏ†ๅทฅไฝœ่€…่€Œ่จ€๏ผŒๅฆ‚ไฝ•้ซ˜ๆ•ˆๅœฐโ€œๅŽปๅ™ชโ€ๅนถ่Žทๅ–้ซ˜ไฟกๅบฆ็Ÿฅ่ฏ†ๆ˜ฏๆ ธๅฟƒ่ฏ‰ๆฑ‚ใ€‚็ฌ”่€…ๅฐ†ไปŽไบงๅ“ไบคไบ’ใ€ๆŠ€ๆœฏๅทฅ็จ‹ใ€ๅ•†ไธš้€ป่พ‘ไธŽๆœชๆฅๆผ”่ฟ›ๅ››ไธช็ปดๅบฆ๏ผŒๅˆ†ๆž Perplexity ๆ˜ฏๅฆ‚ไฝ•้‡ๅก‘ไฟกๆฏ่Žทๅ–ๅทฅไฝœๆต็š„ใ€‚\\nๆœฌๆ–‡ๆ—จๅœจ้€š่ฟ‡ๅฏน Perplexity ็š„ๆทฑๅบฆไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž๏ผŒๅธฎๅŠฉ่ฏป่€…็†่งฃ AI ๆœ็ดขไบงๅ“็š„่ฎพ่ฎก้€ป่พ‘ไธŽ็”จๆˆทไฝ“้ชŒไผ˜ๅŒ–่ทฏๅพ„๏ผŒๅŒๆ—ถไธบ็Ÿฅ่ฏ†ๅทฅไฝœ่€…ๆไพ›ๅฏ่ฝๅœฐ็š„ๆ•ˆ็އๆๅ‡ๆ–นๆณ•๏ผŒๅนถๅœจ่ฟ‡็จ‹ไธญๅŸนๅ…ป็ป“ๆž„ๅŒ–ไบงๅ“ๅˆ†ๆžๆ€็ปดใ€‚\\n\"}],\"ๅ•†ไธšๅŒ–\":[{\"url\":\"/10.ไบงๅ“ Sense/04.ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–/30.ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹่ฏปๅŽๆ„Ÿ\",\"relativePath\":\"/10.ไบงๅ“ Sense/04.ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–/30.ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹่ฏปๅŽๆ„Ÿ\",\"frontmatter\":{\"date\":\"2025-11-24 21:50:00\",\"title\":\"ๆ”พๅผƒๅขž้•ฟๆ‰งๅฟต๏ผŒไธบไป€ไนˆโ€œๅฐ่€Œ็พŽโ€ๆ‰ๆ˜ฏๅฏๆŒ็ปญไน‹่ทฏ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒ็ง‘ๆŠ€ไบ’่”็ฝ‘่กŒไธš็š„ๅ™ไบ‹้ƒฝ่ขซโ€œไธๆƒœไธ€ๅˆ‡ไปฃไปทๅฎž็Žฐ่ถ…็บฟๆ€งๅขž้•ฟโ€ๆ‰€ไธปๅฏผใ€‚ไปฟไฝ›ๅชๆœ‰ๆ‹ฟๅˆฐๅทจ้ข่ž่ต„ใ€็–ฏ็‹‚ๆ‹›ไบบใ€ๆˆไธบไผฐๅ€ผ็ ด็™พไบฟ็š„ๅบž็„ถๅคง็‰ฉ๏ผŒๆ‰็ฎ—ๅพ—ไธŠๆ˜ฏๆˆๅŠŸ็š„ๅˆ›ไธšใ€‚็„ถ่€Œ๏ผŒ่ฏปๅฎŒ่จๅธŒๅฐ”ยทๆ‹‰ๆ–‡ๅ‰ไบš็š„ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹ๅŽ๏ผŒ็ฌ”่€…่Žทๅพ—ไบ†ไธ€็งๆˆช็„ถไธๅŒ็š„ๅ•†ไธš่ง†่ง’๏ผšไผไธšๅญ˜ๅœจ็š„้ฆ–่ฆ็›ฎ็š„ไธๆ˜ฏไธบไบ†่ž่ต„ๅ’Œๆ‰ฉๅผ ๏ผŒ่€Œๆ˜ฏไธบไบ†้€š่ฟ‡่งฃๅ†ณ้—ฎ้ข˜ๆฅ่Žทๅพ—ๆŒ็ปญ็š„็›ˆๅˆฉใ€‚ ๆœฌๆ–‡็ป“ๅˆไนฆไธญ็š„ๆ ธๅฟƒ่ฎบ็‚นไธŽ่‡ช่บซ็š„็ ”ๅ‘่ง†่ง’๏ผŒๆŠŠๅฐ†่ฟ™ๆœฌไนฆ่ƒŒๅŽ็š„็ป่ฅ้€ป่พ‘ไธŽไบงๅ“ๅ“ฒๅญฆๆขณ็†ไธบๅ‡ ไธชๆ ธๅฟƒๅฑ‚้ข็š„ๆ€่€ƒใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense/small-rule-learn\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"ไบงๅ“ Sense\",\"ๅ•†ไธšๅŒ–\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆ”พๅผƒๅขž้•ฟๆ‰งๅฟต๏ผŒไธบไป€ไนˆโ€œๅฐ่€Œ็พŽโ€ๆ‰ๆ˜ฏๅฏๆŒ็ปญไน‹่ทฏ\",\"date\":\"2025-11-24 21:50:00\",\"capture\":\"ไนฆๅ๏ผšใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹\\nไฝœ่€…๏ผš[็พŽ] ่จๅธŒๅฐ”ยทๆ‹‰ๆ–‡ๅ‰ไบš\\nๆ ธๅฟƒๆ ‡็ญพ๏ผšๆž็ฎ€ๅˆ›ไธš๏ฝœ็คพๅŒบๆœฌไฝ๏ฝœๆŒ็ปญ็›ˆๅˆฉ๏ฝœๅˆ›ไฝœ่€…็ปๆตŽ\\nไธ€ๅฅ่ฏ็ฎ€่ฏ„๏ผšๅœจ็›ฒ็›ฎๅด‡ๆ‹œ่ง„ๆจกๆ‰ฉๅผ ็š„ๅ•†ไธš่ฏญๅขƒไธ‹๏ผŒ่ฟ™ๆ˜ฏไธ€ไปฝๅ†™็ป™็‹ฌ็ซ‹ๅˆ›ไฝœ่€…ไธŽๅผ€ๅ‘่€…็š„ๆธ…้†’ๆŒ‡ๅ—๏ผŒๆ•™ไผšๆˆ‘ไปฌๅฆ‚ไฝ•็”จๆœ€ๅฐ‘็š„่ต„ๆบ๏ผŒ่งฃๅ†ณ็œŸๅฎž็š„็—›็‚น๏ผŒๅนถ่Žทๅพ—้•ฟไน…็š„่‡ช็”ฑใ€‚\\nๆ›ดๅคšไนฆ็ฑๆŽจ่ไฟกๆฏๅฏๅ‚่€ƒ๏ผšไบงๅ“ Sense ไธŽๅ•†ไธšๅŒ–\\n 1. ็คพๅŒบๅ…ˆ่กŒ๏ผšไปŽโ€œๆˆ‘ๆ˜ฏ่ฐโ€ๅˆฐโ€œๆˆ‘่ƒฝไธบ่ฐ่งฃๅ†ณ้—ฎ้ข˜โ€\\nไผ ็ปŸๅ•†ไธš้€ป่พ‘ๅพ€ๅพ€ๆ˜ฏๅ…ˆๆž„ๆ€ไธ€ไธชๅฎๅคง็š„็‚นๅญ๏ผŒ้—ญ้—จ้€ ่ฝฆๆ‰“็ฃจไบงๅ“๏ผŒๆœ€ๅŽๅ†็ ธ้’ฑๅŽปๅธ‚ๅœบไธŠๅฏปๆ‰พ็›ฎๆ ‡็”จๆˆทใ€‚่€Œๆœฌไนฆๆๅ‡บไบ†ไธ€ไธช้ข ่ฆ†ๆ€ง็š„ๅๅ‘่ทฏๅพ„๏ผš็คพๅŒบ $\\\\rightarrow$ ้—ฎ้ข˜ $\\\\rightarrow$ ๆต็จ‹ $\\\\rightarrow$\"}],\"SWR\":[{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/11.React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/11.React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"frontmatter\":{\"date\":\"2025-11-15 09:20:23\",\"title\":\"ไธๆญขไบŽ Fetch๏ผšReact ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"aliases\":[\"SWR\",\"TanStack Query\",\"React\",\"ๆœๅŠก็ซฏ็Šถๆ€\",\"ไน่ง‚ๆ›ดๆ–ฐ\",\"ๅทฅ็จ‹ๅŒ–\"],\"tldr\":\"ๆทฑๅ…ฅ่งฃๆž SWR ็š„ๆž็ฎ€ๅ่ฎฎไธŽ TanStack Query ็š„็ฒพๅฏ†็Šถๆ€ๆœบใ€‚้€š่ฟ‡ๅฏนๆฏ”็ผ“ๅญ˜ๅคฑๆ•ˆใ€ไน่ง‚ๆ›ดๆ–ฐ็ญ‰ๆ ธๅฟƒๅœบๆ™ฏ๏ผŒไธบ้ซ˜ๅคๆ‚ๅบฆ B ็ซฏๅบ”็”จไธŽ่ฝป้‡็บง้กน็›ฎๆไพ›ๆธ…ๆ™ฐ็š„ๆžถๆž„้€‰ๅž‹ๆจกๅž‹ใ€‚\",\"description\":\"ๆทฑๅบฆๅฏนๆฏ” React ็”Ÿๆ€ไธญ SWR ไธŽ TanStack Query ไธคๅคงๆ–นๆกˆใ€‚ไปŽ stale-while-revalidate ๆœบๅˆถๅˆฐๅผ‚ๆญฅ็Šถๆ€ๆœบๆžถๆž„๏ผŒๆถต็›–ไพ่ต–ๆŸฅ่ฏขใ€ๆ•ฐๆฎ่ฝฌๆขๅŠๆžถๆž„็บงไน่ง‚ๆ›ดๆ–ฐๅฎžๆˆ˜ใ€‚ๆ—จๅœจๅธฎๅŠฉๅผ€ๅ‘่€…ๅœจๅคๆ‚ไธšๅŠกไธญๆž„ๅปบ็กฎๅฎšๆ€ง็š„ๆœๅŠก็ซฏ็Šถๆ€ๅŸบๅบงใ€‚\",\"permalink\":\"/fullstack/server-state-management\",\"tags\":[\"SWR\",\"TanStack Query\",\"ๅ‰็ซฏๅทฅ็จ‹\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไธๆญขไบŽ Fetch๏ผšReact ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"date\":\"2025-11-15 09:20:23\",\"capture\":\"1. ๅผ•่จ€\\nๅœจ็Žฐไปฃๅ‰็ซฏๅทฅ็จ‹ไธญ๏ผŒ็Šถๆ€ๅฏไธฅๆ ผๅŒบๅˆ†ไธบ UI ็Šถๆ€๏ผˆUI State๏ผ‰ ไธŽ ๆœๅŠก็ซฏ็Šถๆ€๏ผˆServer State๏ผ‰ ไธค็ฑปใ€‚ๅฏนไบŽ UI ็Šถๆ€็š„็ฎก็†๏ผŒๅผ€ๅ‘่€…ๅทฒ่พƒไธบ็†Ÿๆ‚‰๏ผŒ้€šๅธธๅฏๅ€ŸๅŠฉ `useState`ใ€`useEffect` ็ญ‰ Hooks๏ผŒๆˆ– `zustand`ใ€`jotai` ็ญ‰็Šถๆ€็ฎก็†ๅบ“ๆฅๅฎž็Žฐใ€‚็„ถ่€Œ๏ผŒๆœๅŠก็ซฏ็Šถๆ€็š„็ฎก็†ๅพ€ๅพ€็ผบไน็ปŸไธ€ไธ”้ซ˜ๆ•ˆ็š„่งฃๅ†ณๆ–นๆกˆ๏ผŒๅผ€ๅ‘่€…้€šๅธธ้œ€่ฆ่‡ช่กŒๅฎž็Žฐใ€‚\\nๅœจไผ ็ปŸ็š„ๆ•ฐๆฎ่Žทๅ–ๆต็จ‹ไธญ๏ผŒๆˆ‘ไปฌไธ€่ˆฌไฝฟ็”จ `fetch` ๆˆ– `axios` ๅ‘ๅŽ็ซฏๆˆ– REST API ๅ‘้€ HTTP ่ฏทๆฑ‚๏ผŒ้šๅŽๆ‰‹ๅŠจๅฐ†ๆ•ฐๆฎ่Žทๅ–้€ป่พ‘ไธŽๅ‰็ซฏไธšๅŠก้€ป่พ‘ๅŠ UI ็Šถๆ€็ฎก็†่ฟ›่กŒๆ•ดๅˆ๏ผŒไปฅๅฎŒๆˆๆ•ฐๆฎๅค„็†ๅนถ้ฉฑๅŠจ็•Œ้ขๆ›ดๆ–ฐ\"}],\"TanStack Query\":[{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/11.React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/11.React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"frontmatter\":{\"date\":\"2025-11-15 09:20:23\",\"title\":\"ไธๆญขไบŽ Fetch๏ผšReact ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"aliases\":[\"SWR\",\"TanStack Query\",\"React\",\"ๆœๅŠก็ซฏ็Šถๆ€\",\"ไน่ง‚ๆ›ดๆ–ฐ\",\"ๅทฅ็จ‹ๅŒ–\"],\"tldr\":\"ๆทฑๅ…ฅ่งฃๆž SWR ็š„ๆž็ฎ€ๅ่ฎฎไธŽ TanStack Query ็š„็ฒพๅฏ†็Šถๆ€ๆœบใ€‚้€š่ฟ‡ๅฏนๆฏ”็ผ“ๅญ˜ๅคฑๆ•ˆใ€ไน่ง‚ๆ›ดๆ–ฐ็ญ‰ๆ ธๅฟƒๅœบๆ™ฏ๏ผŒไธบ้ซ˜ๅคๆ‚ๅบฆ B ็ซฏๅบ”็”จไธŽ่ฝป้‡็บง้กน็›ฎๆไพ›ๆธ…ๆ™ฐ็š„ๆžถๆž„้€‰ๅž‹ๆจกๅž‹ใ€‚\",\"description\":\"ๆทฑๅบฆๅฏนๆฏ” React ็”Ÿๆ€ไธญ SWR ไธŽ TanStack Query ไธคๅคงๆ–นๆกˆใ€‚ไปŽ stale-while-revalidate ๆœบๅˆถๅˆฐๅผ‚ๆญฅ็Šถๆ€ๆœบๆžถๆž„๏ผŒๆถต็›–ไพ่ต–ๆŸฅ่ฏขใ€ๆ•ฐๆฎ่ฝฌๆขๅŠๆžถๆž„็บงไน่ง‚ๆ›ดๆ–ฐๅฎžๆˆ˜ใ€‚ๆ—จๅœจๅธฎๅŠฉๅผ€ๅ‘่€…ๅœจๅคๆ‚ไธšๅŠกไธญๆž„ๅปบ็กฎๅฎšๆ€ง็š„ๆœๅŠก็ซฏ็Šถๆ€ๅŸบๅบงใ€‚\",\"permalink\":\"/fullstack/server-state-management\",\"tags\":[\"SWR\",\"TanStack Query\",\"ๅ‰็ซฏๅทฅ็จ‹\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไธๆญขไบŽ Fetch๏ผšReact ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"date\":\"2025-11-15 09:20:23\",\"capture\":\"1. ๅผ•่จ€\\nๅœจ็Žฐไปฃๅ‰็ซฏๅทฅ็จ‹ไธญ๏ผŒ็Šถๆ€ๅฏไธฅๆ ผๅŒบๅˆ†ไธบ UI ็Šถๆ€๏ผˆUI State๏ผ‰ ไธŽ ๆœๅŠก็ซฏ็Šถๆ€๏ผˆServer State๏ผ‰ ไธค็ฑปใ€‚ๅฏนไบŽ UI ็Šถๆ€็š„็ฎก็†๏ผŒๅผ€ๅ‘่€…ๅทฒ่พƒไธบ็†Ÿๆ‚‰๏ผŒ้€šๅธธๅฏๅ€ŸๅŠฉ `useState`ใ€`useEffect` ็ญ‰ Hooks๏ผŒๆˆ– `zustand`ใ€`jotai` ็ญ‰็Šถๆ€็ฎก็†ๅบ“ๆฅๅฎž็Žฐใ€‚็„ถ่€Œ๏ผŒๆœๅŠก็ซฏ็Šถๆ€็š„็ฎก็†ๅพ€ๅพ€็ผบไน็ปŸไธ€ไธ”้ซ˜ๆ•ˆ็š„่งฃๅ†ณๆ–นๆกˆ๏ผŒๅผ€ๅ‘่€…้€šๅธธ้œ€่ฆ่‡ช่กŒๅฎž็Žฐใ€‚\\nๅœจไผ ็ปŸ็š„ๆ•ฐๆฎ่Žทๅ–ๆต็จ‹ไธญ๏ผŒๆˆ‘ไปฌไธ€่ˆฌไฝฟ็”จ `fetch` ๆˆ– `axios` ๅ‘ๅŽ็ซฏๆˆ– REST API ๅ‘้€ HTTP ่ฏทๆฑ‚๏ผŒ้šๅŽๆ‰‹ๅŠจๅฐ†ๆ•ฐๆฎ่Žทๅ–้€ป่พ‘ไธŽๅ‰็ซฏไธšๅŠก้€ป่พ‘ๅŠ UI ็Šถๆ€็ฎก็†่ฟ›่กŒๆ•ดๅˆ๏ผŒไปฅๅฎŒๆˆๆ•ฐๆฎๅค„็†ๅนถ้ฉฑๅŠจ็•Œ้ขๆ›ดๆ–ฐ\"}],\"ๅ‰็ซฏๅทฅ็จ‹\":[{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/11.React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/11.React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"frontmatter\":{\"date\":\"2025-11-15 09:20:23\",\"title\":\"ไธๆญขไบŽ Fetch๏ผšReact ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"aliases\":[\"SWR\",\"TanStack Query\",\"React\",\"ๆœๅŠก็ซฏ็Šถๆ€\",\"ไน่ง‚ๆ›ดๆ–ฐ\",\"ๅทฅ็จ‹ๅŒ–\"],\"tldr\":\"ๆทฑๅ…ฅ่งฃๆž SWR ็š„ๆž็ฎ€ๅ่ฎฎไธŽ TanStack Query ็š„็ฒพๅฏ†็Šถๆ€ๆœบใ€‚้€š่ฟ‡ๅฏนๆฏ”็ผ“ๅญ˜ๅคฑๆ•ˆใ€ไน่ง‚ๆ›ดๆ–ฐ็ญ‰ๆ ธๅฟƒๅœบๆ™ฏ๏ผŒไธบ้ซ˜ๅคๆ‚ๅบฆ B ็ซฏๅบ”็”จไธŽ่ฝป้‡็บง้กน็›ฎๆไพ›ๆธ…ๆ™ฐ็š„ๆžถๆž„้€‰ๅž‹ๆจกๅž‹ใ€‚\",\"description\":\"ๆทฑๅบฆๅฏนๆฏ” React ็”Ÿๆ€ไธญ SWR ไธŽ TanStack Query ไธคๅคงๆ–นๆกˆใ€‚ไปŽ stale-while-revalidate ๆœบๅˆถๅˆฐๅผ‚ๆญฅ็Šถๆ€ๆœบๆžถๆž„๏ผŒๆถต็›–ไพ่ต–ๆŸฅ่ฏขใ€ๆ•ฐๆฎ่ฝฌๆขๅŠๆžถๆž„็บงไน่ง‚ๆ›ดๆ–ฐๅฎžๆˆ˜ใ€‚ๆ—จๅœจๅธฎๅŠฉๅผ€ๅ‘่€…ๅœจๅคๆ‚ไธšๅŠกไธญๆž„ๅปบ็กฎๅฎšๆ€ง็š„ๆœๅŠก็ซฏ็Šถๆ€ๅŸบๅบงใ€‚\",\"permalink\":\"/fullstack/server-state-management\",\"tags\":[\"SWR\",\"TanStack Query\",\"ๅ‰็ซฏๅทฅ็จ‹\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไธๆญขไบŽ Fetch๏ผšReact ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"date\":\"2025-11-15 09:20:23\",\"capture\":\"1. ๅผ•่จ€\\nๅœจ็Žฐไปฃๅ‰็ซฏๅทฅ็จ‹ไธญ๏ผŒ็Šถๆ€ๅฏไธฅๆ ผๅŒบๅˆ†ไธบ UI ็Šถๆ€๏ผˆUI State๏ผ‰ ไธŽ ๆœๅŠก็ซฏ็Šถๆ€๏ผˆServer State๏ผ‰ ไธค็ฑปใ€‚ๅฏนไบŽ UI ็Šถๆ€็š„็ฎก็†๏ผŒๅผ€ๅ‘่€…ๅทฒ่พƒไธบ็†Ÿๆ‚‰๏ผŒ้€šๅธธๅฏๅ€ŸๅŠฉ `useState`ใ€`useEffect` ็ญ‰ Hooks๏ผŒๆˆ– `zustand`ใ€`jotai` ็ญ‰็Šถๆ€็ฎก็†ๅบ“ๆฅๅฎž็Žฐใ€‚็„ถ่€Œ๏ผŒๆœๅŠก็ซฏ็Šถๆ€็š„็ฎก็†ๅพ€ๅพ€็ผบไน็ปŸไธ€ไธ”้ซ˜ๆ•ˆ็š„่งฃๅ†ณๆ–นๆกˆ๏ผŒๅผ€ๅ‘่€…้€šๅธธ้œ€่ฆ่‡ช่กŒๅฎž็Žฐใ€‚\\nๅœจไผ ็ปŸ็š„ๆ•ฐๆฎ่Žทๅ–ๆต็จ‹ไธญ๏ผŒๆˆ‘ไปฌไธ€่ˆฌไฝฟ็”จ `fetch` ๆˆ– `axios` ๅ‘ๅŽ็ซฏๆˆ– REST API ๅ‘้€ HTTP ่ฏทๆฑ‚๏ผŒ้šๅŽๆ‰‹ๅŠจๅฐ†ๆ•ฐๆฎ่Žทๅ–้€ป่พ‘ไธŽๅ‰็ซฏไธšๅŠก้€ป่พ‘ๅŠ UI ็Šถๆ€็ฎก็†่ฟ›่กŒๆ•ดๅˆ๏ผŒไปฅๅฎŒๆˆๆ•ฐๆฎๅค„็†ๅนถ้ฉฑๅŠจ็•Œ้ขๆ›ดๆ–ฐ\"}],\"jamstack\":[{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2025-11-14 22:33:39\",\"title\":\"JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"aliases\":[\"้™ๆ€็ซ™็‚น็”Ÿๆˆๅ™จ\",\"SSG\"],\"tldr\":\"้ข„ๆธฒๆŸ“้™ๆ€้กต้ข + ๅŠจๆ€ API๏ผŒCDN ๅˆ†ๅ‘ๅ…จ็ƒ๏ผŒๆ›ฟไปฃไผ ็ปŸๅŠจๆ€็ฝ‘็ซ™็š„ๅผ€ๅ‘้ƒจ็ฝฒ่Œƒๅผ\",\"description\":\"ไปŽๆ ธๅฟƒๆฆ‚ๅฟตใ€ๅทฅๅ…ท้“พ้€‰ๅž‹๏ผˆNext.js/Vercel/Supabase/Contentful๏ผ‰ๅˆฐไปŽ 0 ๆญๅปบๅšๅฎข็š„ๅฎŒๆ•ดๅฎž่ทต๏ผŒ่ฆ†็›– JAMStack ้€‚็”จไธŽไธ้€‚็”จๅœบๆ™ฏ๏ผŒๅธฎๅŠฉๅˆคๆ–ญไฝ•ๆ—ถ้€‰็”จ่ฏฅๆžถๆž„ใ€‚\",\"permalink\":\"/fullstack/jamstack\",\"tags\":[\"tutorial\",\"jamstack\",\"frontend-architecture\",\"next.js\",\"static-site-generator\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2025-11-14 22:33:39\",\"capture\":\"> \\n> ๅ…ถๆ ธๅฟƒๆœบๅˆถๆ˜ฏๅœจๆž„ๅปบๆ—ถๅฐ†้กต้ข้ข„ๆธฒๆŸ“ไธบ้™ๆ€ HTML/CSS/JS๏ผŒ้ƒจ็ฝฒ่‡ณ CDN ไพ›็”จๆˆทๅฐฑ่ฟ‘ๅŠ ่ฝฝ๏ผŒไป…ๅœจ้œ€่ฆๅŠจๆ€ๆ•ฐๆฎๆ—ถ้€š่ฟ‡ JavaScript ่ฐƒ็”จ API ่Žทๅ–ใ€‚็›ธ่พƒไบŽไผ ็ปŸๅŠจๆ€็ฝ‘็ซ™๏ผŒJAMStack ๅœจๆ€ง่ƒฝใ€ๅฏ้ ๆ€งใ€ๆ‰ฉๅฑ•ๆ€งใ€ๅฎ‰ๅ…จๆ€งๅŠ่ฟ็ปดๆˆๆœฌไธŠๅ…ทๆœ‰ๆ˜พ่‘—ไผ˜ๅŠฟใ€‚\\n> \\n> ๆœฌๆ–‡ๆขณ็†ไบ†ไธปๆตๆž„ๅปบๅทฅๅ…ท๏ผˆGatsbyใ€Next.jsใ€Nuxt.jsใ€11ty๏ผ‰ใ€้™ๆ€ๆ‰˜็ฎกๅนณๅฐ๏ผˆVercelใ€Netlifyใ€Cloudflare Pages๏ผ‰ใ€API/BaaS ๆœๅŠก๏ผˆSupabaseใ€Firebaseใ€Auth0๏ผ‰ๅŠๆ— ๅคด CMS๏ผˆContentfulใ€Sanityใ€Strapi\"}],\"frontend-architecture\":[{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2025-11-14 22:33:39\",\"title\":\"JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"aliases\":[\"้™ๆ€็ซ™็‚น็”Ÿๆˆๅ™จ\",\"SSG\"],\"tldr\":\"้ข„ๆธฒๆŸ“้™ๆ€้กต้ข + ๅŠจๆ€ API๏ผŒCDN ๅˆ†ๅ‘ๅ…จ็ƒ๏ผŒๆ›ฟไปฃไผ ็ปŸๅŠจๆ€็ฝ‘็ซ™็š„ๅผ€ๅ‘้ƒจ็ฝฒ่Œƒๅผ\",\"description\":\"ไปŽๆ ธๅฟƒๆฆ‚ๅฟตใ€ๅทฅๅ…ท้“พ้€‰ๅž‹๏ผˆNext.js/Vercel/Supabase/Contentful๏ผ‰ๅˆฐไปŽ 0 ๆญๅปบๅšๅฎข็š„ๅฎŒๆ•ดๅฎž่ทต๏ผŒ่ฆ†็›– JAMStack ้€‚็”จไธŽไธ้€‚็”จๅœบๆ™ฏ๏ผŒๅธฎๅŠฉๅˆคๆ–ญไฝ•ๆ—ถ้€‰็”จ่ฏฅๆžถๆž„ใ€‚\",\"permalink\":\"/fullstack/jamstack\",\"tags\":[\"tutorial\",\"jamstack\",\"frontend-architecture\",\"next.js\",\"static-site-generator\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2025-11-14 22:33:39\",\"capture\":\"> \\n> ๅ…ถๆ ธๅฟƒๆœบๅˆถๆ˜ฏๅœจๆž„ๅปบๆ—ถๅฐ†้กต้ข้ข„ๆธฒๆŸ“ไธบ้™ๆ€ HTML/CSS/JS๏ผŒ้ƒจ็ฝฒ่‡ณ CDN ไพ›็”จๆˆทๅฐฑ่ฟ‘ๅŠ ่ฝฝ๏ผŒไป…ๅœจ้œ€่ฆๅŠจๆ€ๆ•ฐๆฎๆ—ถ้€š่ฟ‡ JavaScript ่ฐƒ็”จ API ่Žทๅ–ใ€‚็›ธ่พƒไบŽไผ ็ปŸๅŠจๆ€็ฝ‘็ซ™๏ผŒJAMStack ๅœจๆ€ง่ƒฝใ€ๅฏ้ ๆ€งใ€ๆ‰ฉๅฑ•ๆ€งใ€ๅฎ‰ๅ…จๆ€งๅŠ่ฟ็ปดๆˆๆœฌไธŠๅ…ทๆœ‰ๆ˜พ่‘—ไผ˜ๅŠฟใ€‚\\n> \\n> ๆœฌๆ–‡ๆขณ็†ไบ†ไธปๆตๆž„ๅปบๅทฅๅ…ท๏ผˆGatsbyใ€Next.jsใ€Nuxt.jsใ€11ty๏ผ‰ใ€้™ๆ€ๆ‰˜็ฎกๅนณๅฐ๏ผˆVercelใ€Netlifyใ€Cloudflare Pages๏ผ‰ใ€API/BaaS ๆœๅŠก๏ผˆSupabaseใ€Firebaseใ€Auth0๏ผ‰ๅŠๆ— ๅคด CMS๏ผˆContentfulใ€Sanityใ€Strapi\"}],\"next.js\":[{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2025-11-14 22:33:39\",\"title\":\"JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"aliases\":[\"้™ๆ€็ซ™็‚น็”Ÿๆˆๅ™จ\",\"SSG\"],\"tldr\":\"้ข„ๆธฒๆŸ“้™ๆ€้กต้ข + ๅŠจๆ€ API๏ผŒCDN ๅˆ†ๅ‘ๅ…จ็ƒ๏ผŒๆ›ฟไปฃไผ ็ปŸๅŠจๆ€็ฝ‘็ซ™็š„ๅผ€ๅ‘้ƒจ็ฝฒ่Œƒๅผ\",\"description\":\"ไปŽๆ ธๅฟƒๆฆ‚ๅฟตใ€ๅทฅๅ…ท้“พ้€‰ๅž‹๏ผˆNext.js/Vercel/Supabase/Contentful๏ผ‰ๅˆฐไปŽ 0 ๆญๅปบๅšๅฎข็š„ๅฎŒๆ•ดๅฎž่ทต๏ผŒ่ฆ†็›– JAMStack ้€‚็”จไธŽไธ้€‚็”จๅœบๆ™ฏ๏ผŒๅธฎๅŠฉๅˆคๆ–ญไฝ•ๆ—ถ้€‰็”จ่ฏฅๆžถๆž„ใ€‚\",\"permalink\":\"/fullstack/jamstack\",\"tags\":[\"tutorial\",\"jamstack\",\"frontend-architecture\",\"next.js\",\"static-site-generator\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2025-11-14 22:33:39\",\"capture\":\"> \\n> ๅ…ถๆ ธๅฟƒๆœบๅˆถๆ˜ฏๅœจๆž„ๅปบๆ—ถๅฐ†้กต้ข้ข„ๆธฒๆŸ“ไธบ้™ๆ€ HTML/CSS/JS๏ผŒ้ƒจ็ฝฒ่‡ณ CDN ไพ›็”จๆˆทๅฐฑ่ฟ‘ๅŠ ่ฝฝ๏ผŒไป…ๅœจ้œ€่ฆๅŠจๆ€ๆ•ฐๆฎๆ—ถ้€š่ฟ‡ JavaScript ่ฐƒ็”จ API ่Žทๅ–ใ€‚็›ธ่พƒไบŽไผ ็ปŸๅŠจๆ€็ฝ‘็ซ™๏ผŒJAMStack ๅœจๆ€ง่ƒฝใ€ๅฏ้ ๆ€งใ€ๆ‰ฉๅฑ•ๆ€งใ€ๅฎ‰ๅ…จๆ€งๅŠ่ฟ็ปดๆˆๆœฌไธŠๅ…ทๆœ‰ๆ˜พ่‘—ไผ˜ๅŠฟใ€‚\\n> \\n> ๆœฌๆ–‡ๆขณ็†ไบ†ไธปๆตๆž„ๅปบๅทฅๅ…ท๏ผˆGatsbyใ€Next.jsใ€Nuxt.jsใ€11ty๏ผ‰ใ€้™ๆ€ๆ‰˜็ฎกๅนณๅฐ๏ผˆVercelใ€Netlifyใ€Cloudflare Pages๏ผ‰ใ€API/BaaS ๆœๅŠก๏ผˆSupabaseใ€Firebaseใ€Auth0๏ผ‰ๅŠๆ— ๅคด CMS๏ผˆContentfulใ€Sanityใ€Strapi\"}],\"static-site-generator\":[{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2025-11-14 22:33:39\",\"title\":\"JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"aliases\":[\"้™ๆ€็ซ™็‚น็”Ÿๆˆๅ™จ\",\"SSG\"],\"tldr\":\"้ข„ๆธฒๆŸ“้™ๆ€้กต้ข + ๅŠจๆ€ API๏ผŒCDN ๅˆ†ๅ‘ๅ…จ็ƒ๏ผŒๆ›ฟไปฃไผ ็ปŸๅŠจๆ€็ฝ‘็ซ™็š„ๅผ€ๅ‘้ƒจ็ฝฒ่Œƒๅผ\",\"description\":\"ไปŽๆ ธๅฟƒๆฆ‚ๅฟตใ€ๅทฅๅ…ท้“พ้€‰ๅž‹๏ผˆNext.js/Vercel/Supabase/Contentful๏ผ‰ๅˆฐไปŽ 0 ๆญๅปบๅšๅฎข็š„ๅฎŒๆ•ดๅฎž่ทต๏ผŒ่ฆ†็›– JAMStack ้€‚็”จไธŽไธ้€‚็”จๅœบๆ™ฏ๏ผŒๅธฎๅŠฉๅˆคๆ–ญไฝ•ๆ—ถ้€‰็”จ่ฏฅๆžถๆž„ใ€‚\",\"permalink\":\"/fullstack/jamstack\",\"tags\":[\"tutorial\",\"jamstack\",\"frontend-architecture\",\"next.js\",\"static-site-generator\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2025-11-14 22:33:39\",\"capture\":\"> \\n> ๅ…ถๆ ธๅฟƒๆœบๅˆถๆ˜ฏๅœจๆž„ๅปบๆ—ถๅฐ†้กต้ข้ข„ๆธฒๆŸ“ไธบ้™ๆ€ HTML/CSS/JS๏ผŒ้ƒจ็ฝฒ่‡ณ CDN ไพ›็”จๆˆทๅฐฑ่ฟ‘ๅŠ ่ฝฝ๏ผŒไป…ๅœจ้œ€่ฆๅŠจๆ€ๆ•ฐๆฎๆ—ถ้€š่ฟ‡ JavaScript ่ฐƒ็”จ API ่Žทๅ–ใ€‚็›ธ่พƒไบŽไผ ็ปŸๅŠจๆ€็ฝ‘็ซ™๏ผŒJAMStack ๅœจๆ€ง่ƒฝใ€ๅฏ้ ๆ€งใ€ๆ‰ฉๅฑ•ๆ€งใ€ๅฎ‰ๅ…จๆ€งๅŠ่ฟ็ปดๆˆๆœฌไธŠๅ…ทๆœ‰ๆ˜พ่‘—ไผ˜ๅŠฟใ€‚\\n> \\n> ๆœฌๆ–‡ๆขณ็†ไบ†ไธปๆตๆž„ๅปบๅทฅๅ…ท๏ผˆGatsbyใ€Next.jsใ€Nuxt.jsใ€11ty๏ผ‰ใ€้™ๆ€ๆ‰˜็ฎกๅนณๅฐ๏ผˆVercelใ€Netlifyใ€Cloudflare Pages๏ผ‰ใ€API/BaaS ๆœๅŠก๏ผˆSupabaseใ€Firebaseใ€Auth0๏ผ‰ๅŠๆ— ๅคด CMS๏ผˆContentfulใ€Sanityใ€Strapi\"}],\"็ณป็ปŸๆดžๅฏŸๅŠ›\":[{\"url\":\"/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/40.ๆดžๅฏŸๅŠ›ๆจกๅž‹\",\"relativePath\":\"/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/40.ๆดžๅฏŸๅŠ›ๆจกๅž‹\",\"frontmatter\":{\"date\":\"2025-11-14 16:00:00\",\"title\":\"ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผšๅฆ‚ไฝ•็œ‹้€ไบงๅ“ไธŽๆŠ€ๆœฏ่ƒŒๅŽ็š„็ณป็ปŸ้€ป่พ‘๏ผŸ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆ— ่ฎบๆ˜ฏๅšไบงๅ“ใ€ๆžๆŠ€ๆœฏ๏ผŒ่ฟ˜ๆ˜ฏๅบ”ๅฏนๆ—ฅๅธธๅทฅไฝœไธญ็š„ๅ„็งๆŒ‘ๆˆ˜๏ผŒไฝ ๆ˜ฏๅฆ้‡ๅˆฐ่ฟ‡่ฟ™ๆ ท็š„ๅ›ฐๅขƒ๏ผšๆ˜Žๆ˜ŽๆŒ‰็ป้ชŒ่กŒไบ‹๏ผŒๅดๅฑกๅฑก่ธฉๅ‘๏ผ›ๅˆš่งฃๅ†ณ่กจ้ข้—ฎ้ข˜๏ผŒ้šๆ‚ฃๅˆๅทๅœŸ้‡ๆฅใ€‚้—ฎ้ข˜ๆœชๅฟ…ๅ‡บๅœจๅŠชๅŠ›็จ‹ๅบฆ๏ผŒ่€ŒๅœจไบŽๆˆ‘ไปฌๅช็›ฏ็€่กจ่ฑก๏ผŒๅดๅฟฝ็•ฅไบ†่ƒŒๅŽ็œŸๆญฃ่ตทไฝœ็”จ็š„็ณป็ปŸ๏ผŒๆฒกๆœ‰็œ‹ๆ‡‚่—ๅœจ่ƒŒๅŽ็š„็ณป็ปŸใ€‚ไธบไป€ไนˆๅŒๆ ทๆ˜ฏ่งฃๅ†ณ้—ฎ้ข˜๏ผŒๆœ‰ไบบๅช่ƒฝโ€œๅคด็—›ๅŒปๅคดโ€๏ผŒๆœ‰ไบบๅด่ƒฝ็›ดๅ‡ปๆœฌ่ดจ๏ผŸ่ฟ™็ฏ‡ๆ–‡็ซ ๅฐ†็”จ้€šไฟ—ๆ˜“ๆ‡‚็š„ๆ–นๅผ๏ผŒๅธฆไฝ ๆ‹†่งฃไธ€ๅฅ—ๅฎž็”จ็š„ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผŒ่ฎฉๆˆ‘ไปฌๅญฆไผš้€่ฟ‡็Žฐ่ฑกๆŠ“ไฝๆœฌ่ดจ๏ผŒไปŽๆ นๆบไธŠ่งฃๅ†ณ้—ฎ้ข˜ใ€‚\",\"permalink\":\"/product-sense/insight-model\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"ไบงๅ“ Sense\",\"็ณป็ปŸๆดžๅฏŸๅŠ›\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผšๅฆ‚ไฝ•็œ‹้€ไบงๅ“ไธŽๆŠ€ๆœฏ่ƒŒๅŽ็š„็ณป็ปŸ้€ป่พ‘๏ผŸ\",\"date\":\"2025-11-14 16:00:00\",\"capture\":\"1. ่กจ่ฑก่ƒŒๅŽ่—็€ๅ†ณๅฎšไธ€ๅˆ‡็š„โ€œ็ณป็ปŸ้ป‘็›’โ€\\nๆˆ‘ไปฌๅœจๆ—ฅๅธธๅผ€ๅ‘ๆˆ–ไบงๅ“่ฎพ่ฎกไธญ๏ผŒๆ€ปๆ˜ฏ่ขซๅ„็งโ€œ่กจ่ฑกโ€ๅŒ…ๅ›ด๏ผšDAU ็ช็„ถไธ‹้™ไบ†ใ€็บฟไธŠๅ‡บ็Žฐไบ†ไธ€ไธชๅถ็Žฐ็š„ Bugใ€ๆŸไธชๅŠŸ่ƒฝ็š„่ฝฌๅŒ–็އไธๅŠ้ข„ๆœŸใ€‚ๆˆ‘ไปฌไน ๆƒฏไบ†็›ฏ็€่ฟ™ไบ›็œ‹ๅพ—่ง็š„็ป“ๆžœๆ‰พๅŽŸๅ› ๏ผŒๅดๅฟฝ็•ฅไบ†ไธ€ไธชๆ ธๅฟƒ็œŸ็›ธ๏ผšๆฏไธ€ไธช่กจ่ฑก่ƒŒๅŽ๏ผŒๅ…ถๅฎž้ƒฝ้š่—็€ไธ€ไธช่ฟ่ฝฌๅคๆ‚็š„โ€œ้ป‘็›’ๅญโ€๏ผŒๆญฃๆ˜ฏ่ฟ™ไธช้ป‘็›’ๅญๅ†ณๅฎšไบ†ไบ‹็‰ฉๅ‘ๅฑ•็š„ๅฎข่ง‚่ง„ๅพ‹ใ€‚ๆˆ‘ไปฌๅฏไปฅๆŠŠ่ฟ™ไธช้ป‘็›’ๅญ๏ผŒๅซๅšโ€œ็ณป็ปŸโ€ใ€‚\\n<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/product/system_tips.png\\\" style=\\\"width: 1\"}],\"ไฟกๆฏ็ญ›้€‰\":[{\"url\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/21.ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"relativePath\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/21.ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"frontmatter\":{\"date\":\"2025-11-10 12:52:28\",\"title\":\"ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจไฟกๆฏ้ซ˜ๅบฆ้€ๆ˜Ž็š„ๆ—ถไปฃ๏ผŒๆต…ๅฑ‚ไฟกๆฏๅทฎๅทฒ่ขซๅฝปๅบ•ๆŠนๅนณ๏ผŒไฟกๆฏๆœฌ่บซ็š„ไปทๅ€ผไธๆ–ญ็จ€้‡Šใ€‚ไบบไธŽไบบ็š„ๆ ธๅฟƒๅทฎ่ทไธๅ†ๆ˜ฏ่Žทๅ–ไฟกๆฏ็š„ๆธ ้“๏ผŒ่€Œๆ˜ฏ้ซ˜ไฟกๅ™ชๆฏ”ไฟกๆฏ็š„็”„ๅˆซ่ƒฝๅŠ›ใ€ๆทฑๅบฆๆ€่€ƒ่ƒฝๅŠ›ไธŽ่ฝๅœฐๆ‰ง่กŒๅŠ›๏ผŒๅ”ฏๆœ‰ไปฅๆ€่€ƒๆ ก้ชŒไฟกๆฏใ€ไปฅๆ‰ง่กŒ้ชŒ่ฏไปทๅ€ผ๏ผŒๅฝขๆˆโ€œไฟกๆฏ-ๅˆคๆ–ญ-ๅฎž่ทต-ๅ้ฆˆโ€็š„ๆ€่€ƒไธŽๆ‰ง่กŒ้—ญ็Žฏ๏ผŒๆ‰่ƒฝ็ช็ ดไฟกๆฏๅฃๅž’ใ€ๅˆ›้€ ็œŸๆญฃไปทๅ€ผใ€‚\",\"permalink\":\"/growth/distinguish-useful-information\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"ไฟกๆฏ็ญ›้€‰\",\"ไธชไบบๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"date\":\"2025-11-10 12:52:28\",\"capture\":\"ๅœจไบ’่”็ฝ‘ๆŠ€ๆœฏๆ™ฎๅŠ็š„ๅฝ“ไธ‹๏ผŒไฟกๆฏๅทฒไปŽโ€œ็จ€็ผบ่ต„ๆบโ€่ฝฌๅ˜ไธบโ€œๆณ›ๆปฅ่ต„ๆบโ€ใ€‚่ฟ‡ๅŽปไพ่ต–ๅœฐๅŸŸๅทฎใ€็จ€็ผบๆ€ง็š„ๆต…่กจๅฑ‚ไฟกๆฏๅทฎ้€ๆธ่ขซๆŠนๅนณ๏ผŒๅผ€ๅ‘่€…้€š่ฟ‡็ฝ‘็ปœๅฏ่ฝปๆพ่Žทๅ–ๅ„็ฑปๆŠ€ๆœฏๆ–‡ๆกฃใ€่กŒไธšๅŠจๆ€ใ€่ตš้’ฑๆจกๅผ๏ผŒไฝ†็œŸๆญฃ่ƒฝๅฐ†ไฟกๆฏ่ฝฌๅŒ–ไธบไปทๅ€ผ็š„ไปๆ˜ฏๅฐ‘ๆ•ฐไบบใ€‚ๆ ธๅฟƒ็Ÿ›็›พๅทฒไปŽโ€œ่Žทๅ–ไฟกๆฏโ€่ฝฌๅ˜ไธบโ€œ้ฉพ้ฉญไฟกๆฏโ€โ€”โ€”ไฟกๆฏๆœฌ่บซ็š„ไปทๅ€ผๅผฑๅŒ–๏ผŒ่€Œไฟกๆฏ่งฃ่ฏป่ƒฝๅŠ›ใ€่กŒๅŠจๆ‰ง่กŒๅŠ›ใ€็ญ›้€‰็”„ๅˆซๅŠ›ๆˆไธบๆ‹‰ๅผ€ๅทฎ่ท็š„ๅ…ณ้”ฎใ€‚\\n 1. ๆ‰“็ ดโ€œไฟกๆฏๅทฎโ€็š„็ณป็ปŸๆ€ง้”™่ง‰\\n่ฟ‡ๅŽป๏ผŒ็”ฑไบŽๅœฐๅŸŸ้™ๅˆถๅ’Œไผ ๆ’ญไป‹่ดจ็š„็จ€็ผบ๏ผŒ่ตš้’ฑๆˆ–ๆˆๅŠŸ็š„ๆจกๅผๅพ€ๅพ€ๆ˜ฏ็ฒ—ๆ”พ็š„๏ผŒๅปบ็ซ‹ๅœจๆต…่กจๅฑ‚็š„โ€œไฟกๆฏไธๅฏน็งฐโ€ไธŠ๏ผŒไฝ†้š็€ๆŠ€ๆœฏ็š„ๆผ”่ฟ›๏ผŒ่ฟ™็งไฝŽ็ปดๅบฆ็š„ไฟกๆฏๅทฎๆญฃๅœจ่ขซ่ฟ…้€ŸๆŠนๅนณใ€‚ไบบไปฌ็ปๅธธ้™ทๅ…ฅโ€œ่ตšไธๅˆฐ้’ฑ/ๆŠ“ไธไฝๆœบไผšๆ˜ฏๅ› ไธบ็ผบๅฐ‘ไฟกๆฏๅทฎโ€็š„่ฎค็Ÿฅๅๅทฎ๏ผŒไฝ†ๆœฌ่ดจ้—ฎ้ข˜ๅœจไบŽโ€œ\"}],\"ไธชไบบๆˆ้•ฟ\":[{\"url\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/21.ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"relativePath\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/21.ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"frontmatter\":{\"date\":\"2025-11-10 12:52:28\",\"title\":\"ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจไฟกๆฏ้ซ˜ๅบฆ้€ๆ˜Ž็š„ๆ—ถไปฃ๏ผŒๆต…ๅฑ‚ไฟกๆฏๅทฎๅทฒ่ขซๅฝปๅบ•ๆŠนๅนณ๏ผŒไฟกๆฏๆœฌ่บซ็š„ไปทๅ€ผไธๆ–ญ็จ€้‡Šใ€‚ไบบไธŽไบบ็š„ๆ ธๅฟƒๅทฎ่ทไธๅ†ๆ˜ฏ่Žทๅ–ไฟกๆฏ็š„ๆธ ้“๏ผŒ่€Œๆ˜ฏ้ซ˜ไฟกๅ™ชๆฏ”ไฟกๆฏ็š„็”„ๅˆซ่ƒฝๅŠ›ใ€ๆทฑๅบฆๆ€่€ƒ่ƒฝๅŠ›ไธŽ่ฝๅœฐๆ‰ง่กŒๅŠ›๏ผŒๅ”ฏๆœ‰ไปฅๆ€่€ƒๆ ก้ชŒไฟกๆฏใ€ไปฅๆ‰ง่กŒ้ชŒ่ฏไปทๅ€ผ๏ผŒๅฝขๆˆโ€œไฟกๆฏ-ๅˆคๆ–ญ-ๅฎž่ทต-ๅ้ฆˆโ€็š„ๆ€่€ƒไธŽๆ‰ง่กŒ้—ญ็Žฏ๏ผŒๆ‰่ƒฝ็ช็ ดไฟกๆฏๅฃๅž’ใ€ๅˆ›้€ ็œŸๆญฃไปทๅ€ผใ€‚\",\"permalink\":\"/growth/distinguish-useful-information\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"ไฟกๆฏ็ญ›้€‰\",\"ไธชไบบๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"date\":\"2025-11-10 12:52:28\",\"capture\":\"ๅœจไบ’่”็ฝ‘ๆŠ€ๆœฏๆ™ฎๅŠ็š„ๅฝ“ไธ‹๏ผŒไฟกๆฏๅทฒไปŽโ€œ็จ€็ผบ่ต„ๆบโ€่ฝฌๅ˜ไธบโ€œๆณ›ๆปฅ่ต„ๆบโ€ใ€‚่ฟ‡ๅŽปไพ่ต–ๅœฐๅŸŸๅทฎใ€็จ€็ผบๆ€ง็š„ๆต…่กจๅฑ‚ไฟกๆฏๅทฎ้€ๆธ่ขซๆŠนๅนณ๏ผŒๅผ€ๅ‘่€…้€š่ฟ‡็ฝ‘็ปœๅฏ่ฝปๆพ่Žทๅ–ๅ„็ฑปๆŠ€ๆœฏๆ–‡ๆกฃใ€่กŒไธšๅŠจๆ€ใ€่ตš้’ฑๆจกๅผ๏ผŒไฝ†็œŸๆญฃ่ƒฝๅฐ†ไฟกๆฏ่ฝฌๅŒ–ไธบไปทๅ€ผ็š„ไปๆ˜ฏๅฐ‘ๆ•ฐไบบใ€‚ๆ ธๅฟƒ็Ÿ›็›พๅทฒไปŽโ€œ่Žทๅ–ไฟกๆฏโ€่ฝฌๅ˜ไธบโ€œ้ฉพ้ฉญไฟกๆฏโ€โ€”โ€”ไฟกๆฏๆœฌ่บซ็š„ไปทๅ€ผๅผฑๅŒ–๏ผŒ่€Œไฟกๆฏ่งฃ่ฏป่ƒฝๅŠ›ใ€่กŒๅŠจๆ‰ง่กŒๅŠ›ใ€็ญ›้€‰็”„ๅˆซๅŠ›ๆˆไธบๆ‹‰ๅผ€ๅทฎ่ท็š„ๅ…ณ้”ฎใ€‚\\n 1. ๆ‰“็ ดโ€œไฟกๆฏๅทฎโ€็š„็ณป็ปŸๆ€ง้”™่ง‰\\n่ฟ‡ๅŽป๏ผŒ็”ฑไบŽๅœฐๅŸŸ้™ๅˆถๅ’Œไผ ๆ’ญไป‹่ดจ็š„็จ€็ผบ๏ผŒ่ตš้’ฑๆˆ–ๆˆๅŠŸ็š„ๆจกๅผๅพ€ๅพ€ๆ˜ฏ็ฒ—ๆ”พ็š„๏ผŒๅปบ็ซ‹ๅœจๆต…่กจๅฑ‚็š„โ€œไฟกๆฏไธๅฏน็งฐโ€ไธŠ๏ผŒไฝ†้š็€ๆŠ€ๆœฏ็š„ๆผ”่ฟ›๏ผŒ่ฟ™็งไฝŽ็ปดๅบฆ็š„ไฟกๆฏๅทฎๆญฃๅœจ่ขซ่ฟ…้€ŸๆŠนๅนณใ€‚ไบบไปฌ็ปๅธธ้™ทๅ…ฅโ€œ่ตšไธๅˆฐ้’ฑ/ๆŠ“ไธไฝๆœบไผšๆ˜ฏๅ› ไธบ็ผบๅฐ‘ไฟกๆฏๅทฎโ€็š„่ฎค็Ÿฅๅๅทฎ๏ผŒไฝ†ๆœฌ่ดจ้—ฎ้ข˜ๅœจไบŽโ€œ\"}],\"typescript\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹\",\"frontmatter\":{\"date\":\"2025-08-20 22:51:27\",\"title\":\"่Šไธ€่Š TypeScript ไธญ็š„ๆณ›ๅž‹\",\"tldr\":\"ๆณ›ๅž‹ๅฐ†็ฑปๅž‹ไฝœไธบๅ‚ๆ•ฐ๏ผŒไฝฟไปฃ็ ๅœจๅคš็ง็ฑปๅž‹ไธŠๅฎ‰ๅ…จ่ฟ่กŒ๏ผŒๆ˜ฏ TypeScript ็ฑปๅž‹ๆŠฝ่ฑก็š„ๆ ธๅฟƒ็‰นๆ€งใ€‚\",\"description\":\"ๆœฌๆ–‡็ณป็ปŸ่งฃๆž TypeScript ๆณ›ๅž‹็š„ๆ ธๅฟƒๆฆ‚ๅฟตไธŽๅทฅไฝœๆœบๅˆถ๏ผŒๅฏนๆฏ”ๆณ›ๅž‹ไธŽ any ็ฑปๅž‹็š„ๅทฎๅผ‚๏ผŒๆถต็›–ๆณ›ๅž‹ๅ‡ฝๆ•ฐใ€ๆŽฅๅฃใ€็ฑปใ€็ฑปๅž‹ๅˆซๅ็š„ๅฎž่ทต็”จๆณ•๏ผŒไปฅๅŠๅŸบๆœฌ็ฑปๅž‹็บฆๆŸใ€ๆŽฅๅฃ็บฆๆŸใ€ๅคš้‡็บฆๆŸใ€keyof ็บฆๆŸ็ญ‰้ซ˜้˜ถๆŠ€ๅทงไธŽๆœ€ไฝณๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/typescript-generic-types\",\"tags\":[\"tutorial\",\"typescript\",\"generics\",\"type-system\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่Šไธ€่Š TypeScript ไธญ็š„ๆณ›ๅž‹\",\"date\":\"2025-08-20 22:51:27\",\"capture\":\"1. ๆณ›ๅž‹็š„ๅŸบๆœฌๆฆ‚ๅฟตๅ’Œไฝœ็”จ\\n 1.1 ๆ ธๅฟƒๅฎšไน‰\\nๆณ›ๅž‹๏ผˆGenerics๏ผ‰ ๆ˜ฏ TypeScript ไธญไธ€็งๅผบๅคง็š„็ฑปๅž‹็ณป็ปŸ็‰นๆ€ง๏ผŒๅ…่ฎธๅฎšไน‰็ฑปๅž‹ๅ‚ๆ•ฐๅŒ–็š„็ป„ไปถ๏ผŒไฝฟไปฃ็ ่ƒฝๅคŸๅœจๅคš็ง็ฑปๅž‹ไธŠๅฎ‰ๅ…จ่ฟ่กŒ๏ผŒๅŒๆ—ถไฟๆŒ็ฑปๅž‹ๆฃ€ๆŸฅใ€‚ๆณ›ๅž‹็š„ๆ ธๅฟƒๆ€ๆƒณๆ˜ฏๅฐ†็ฑปๅž‹ไฝœไธบๅ‚ๆ•ฐไผ ้€’็ป™ๅ‡ฝๆ•ฐใ€ๆŽฅๅฃๆˆ–็ฑป๏ผŒๅฎž็Žฐ\\\"็ผ–ๅ†™ไธ€ๆฌก๏ผŒๅค็”จๅคšๆฌก\\\"็š„ๆ•ˆๆžœใ€‚\\n 1.2 ๆณ›ๅž‹ไธŽ any ็ฑปๅž‹็š„ๅฏนๆฏ”\\n| ็‰นๆ€ง | ๆณ›ๅž‹ | any ็ฑปๅž‹ |\\n|------|------|----------|\\n| ็ฑปๅž‹ๅฎ‰ๅ…จ | โœ… ็ผ–่ฏ‘ๆ—ถ่ฟ›่กŒ็ฑปๅž‹ๆฃ€ๆŸฅ | โŒ ๅฎŒๅ…จๅคฑๅŽป็ฑปๅž‹ๆฃ€ๆŸฅ |\\n| ไปฃ็ ๅค็”จ | โœ… ๆ”ฏๆŒๅคš็ง็ฑปๅž‹ๅค็”จ | โœ… ๆ”ฏๆŒๅคš็ง็ฑปๅž‹๏ผŒไฝ†ๅคฑๅŽป็ฑปๅž‹ไฟกๆฏ |\\n| ็ฑปๅž‹ๆŽจๆ–ญ | โœ… \"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2025-08-12 22:47:47\",\"title\":\"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—\",\"tldr\":\"TypeScript ๅฎŒๅ–„็š„็ผ–่ฏ‘ไฝ“็ณปไธŽ่ฐƒ่ฏ•ๅทฅๅ…ท้“พ๏ผŒๆ˜ฏๆž„ๅปบ้ซ˜่ดจ้‡ๅบ”็”จ็š„ๅŸบ็Ÿณใ€‚\",\"description\":\"ๆทฑๅ…ฅ่งฃๆž TypeScript ็ผ–่ฏ‘ๅทฅๅ…ท้“พไธŽ่ฐƒ่ฏ•ไฝ“็ณป๏ผŒๆถต็›– tsconfig.json ๆ ธๅฟƒ้…็ฝฎใ€Monorepo ้กน็›ฎ้…็ฝฎ๏ผˆextends/references๏ผ‰ใ€source map ่ฐƒ่ฏ•ใ€ESLint ไธŽ Jest ๅ•ๅ…ƒๆต‹่ฏ•็ญ‰ๅฎŒๆ•ดๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/typescript-compilation-debugging-guide\",\"tags\":[\"tutorial\",\"typescript\",\"compilation\",\"tooling\",\"eslint\",\"jest\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—\",\"date\":\"2025-08-12 22:47:47\",\"capture\":\"็ผ–ๅ†™ไปฃ็ ๅชๆ˜ฏๅผ€ๅ‘ๅทฅไฝœ็š„่ตท็‚น๏ผŒ็œŸๆญฃๅ†ณๅฎš้กน็›ฎ่ดจ้‡็š„ๆ˜ฏๅŽ็ปญ็š„็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•็Žฏ่Š‚ใ€‚TypeScript ไฝœไธบ JavaScript ็š„้™ๆ€็ฑปๅž‹่ถ…้›†๏ผŒไธไป…ๅธฆๆฅไบ†็ฑปๅž‹ๅฎ‰ๅ…จ๏ผŒๆ›ดๆไพ›ไบ†ๅผบๅคง็š„็ผ–่ฏ‘ๅทฅๅ…ทๅ’Œ่ฐƒ่ฏ•่ƒฝๅŠ›๏ผŒ่ฎฉๆˆ‘ไปฌ่ƒฝๅคŸๆ›ด้ซ˜ๆ•ˆๅœฐๆž„ๅปบๅ’Œ็ปดๆŠคๅฏ้ ็š„ๅบ”็”จ็จ‹ๅบใ€‚\\nๆœฌๆ–‡ๅฐ†ๅฏน TypeScript ้กน็›ฎ็š„็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•่ฟ›่กŒๆขณ็†๏ผŒๅŒ…ๆ‹ฌ็ผ–่ฏ‘ๅทฅๅ…ท TSC ็š„ไฝฟ็”จใ€็ผ–่ฏ‘้€‰้กน็š„้…็ฝฎใ€่ฐƒ่ฏ•ๅทฅๅ…ท็š„ไฝฟ็”จ็ญ‰ใ€‚\\n 1. TypeScript ็ผ–่ฏ‘้…็ฝฎไธŽ tsconfig.json\\nTSC๏ผˆTypeScript Compiler๏ผ‰ๆ˜ฏ TypeScript ๅฎ˜ๆ–นๆไพ›็š„็ผ–่ฏ‘ๅทฅๅ…ท๏ผŒ่ดŸ่ดฃๅฐ† TypeScript ไปฃ็ ๏ผˆ`.ts` ๆˆ– `.tsx`๏ผ‰่ฝฌๆขไธบ J\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"frontmatter\":{\"date\":\"2024-05-16 21:27:36\",\"title\":\"ไปŽ้€ป่พ‘้š”็ฆปๅˆฐ็ฑปๅž‹ๅฅ‘็บฆ๏ผšTypeScript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"tldr\":\"TypeScript ๅฐ†ๆจกๅ—ไพ่ต–ๆๅ‡ไธบ็ผ–่ฏ‘ๆ—ถ็ฑปๅž‹ๅฅ‘็บฆ๏ผŒไปŽ import type ๅˆฐๅฃฐๆ˜Žๆ–‡ไปถใ€‚\",\"description\":\"็ณป็ปŸ่ฎฒ่งฃ TypeScript ๅฏน ES Modules ็š„็ฑปๅž‹ๅขžๅผบ๏ผŒๆถต็›– import type ่ฟ่กŒๆ—ถไผ˜ๅŒ–ใ€ๆŽฅๅฃๅฅ‘็บฆใ€ๅฃฐๆ˜Žๆ–‡ไปถ .d.ts ๅŠ tsconfig ๆจกๅ—ๅŒ–้…็ฝฎใ€‚\",\"permalink\":\"/fullstack/typescript-module-programming-enhancement\",\"tags\":[\"concept\",\"ๅ…จๆ ˆ\",\"typescript\",\"tsconfig\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไปŽ้€ป่พ‘้š”็ฆปๅˆฐ็ฑปๅž‹ๅฅ‘็บฆ๏ผšTypeScript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"date\":\"2024-05-16 21:27:36\",\"capture\":\"1. ๅผ•่จ€\\nๅœจๅŽŸ็”Ÿ JavaScript ๆจกๅ—ๅŒ–่งฃๅ†ณไบ†ไปฃ็ ็ป„็ป‡้—ฎ้ข˜ๅŽ๏ผŒTypeScript๏ผˆTS๏ผ‰่ฟ›ไธ€ๆญฅๅฐ†ๅ…ถๆŽจๅ‘ไบ†ๅทฅไธš็บง้ซ˜ๅบฆใ€‚TS ไธไป…ไป…ๆ˜ฏไธบๆจกๅ—ๆทปๅŠ ไบ†็ฑปๅž‹ๆ ‡ๆณจ๏ผŒๅฎƒ้€š่ฟ‡็ฑปๅž‹ๅฏผๅ‡บๅฏผๅ…ฅใ€็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ใ€ไปฅๅŠๅฃฐๆ˜Žๆ–‡ไปถ็ณป็ปŸ๏ผŒๅฐ†ๆจกๅ—้—ด็š„ไพ่ต–ๅ…ณ็ณปไปŽ็ฎ€ๅ•็š„โ€œไปฃ็ ๅผ•็”จโ€ๆๅ‡ๅˆฐไบ†โ€œๅฅ‘็บฆไบคไบ’โ€ใ€‚\\nๆœฌๆ–‡ๆˆ‘ไปฌๅฐ†่š็„ฆไบŽ TypeScript ๅฆ‚ไฝ•้€š่ฟ‡็ฑปๅž‹็ณป็ปŸๅขžๅผบๆจกๅ—ๅŒ–็ผ–็จ‹๏ผŒๅนถๆŽข่ฎจๅœจ็Žฐไปฃๅทฅ็จ‹๏ผˆๅฐคๅ…ถๆ˜ฏ TS 5.0+ ๆ—ถไปฃ๏ผ‰ไธ‹็š„ๆœ€ไฝณ้…็ฝฎๅฎž่ทตใ€‚\\n 2. ็ฑปๅž‹ๅฏผๅ‡บไธŽๅฏผๅ…ฅ๏ผšๆž่‡ด็š„่ฟ่กŒๆ—ถไผ˜ๅŒ–\\nTypeScript ๅฏน ES Modules ่ฏญๆณ•ๆœ€ๆ˜พ่‘—็š„ๆ‰ฉๅฑ•ๆ˜ฏๆ”ฏๆŒโ€œไป…็ฑปๅž‹โ€๏ผˆType-only๏ผ‰็š„ๅฏผๅ‡บไธŽๅฏผๅ…ฅใ€‚่ฟ™ไธไป…ๆ˜ฏ่ฏญไน‰ไธŠ็š„ๆธ…ๆ™ฐ๏ผŒๆ›ดๆ˜ฏๆ€ง\"}],\"generics\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹\",\"frontmatter\":{\"date\":\"2025-08-20 22:51:27\",\"title\":\"่Šไธ€่Š TypeScript ไธญ็š„ๆณ›ๅž‹\",\"tldr\":\"ๆณ›ๅž‹ๅฐ†็ฑปๅž‹ไฝœไธบๅ‚ๆ•ฐ๏ผŒไฝฟไปฃ็ ๅœจๅคš็ง็ฑปๅž‹ไธŠๅฎ‰ๅ…จ่ฟ่กŒ๏ผŒๆ˜ฏ TypeScript ็ฑปๅž‹ๆŠฝ่ฑก็š„ๆ ธๅฟƒ็‰นๆ€งใ€‚\",\"description\":\"ๆœฌๆ–‡็ณป็ปŸ่งฃๆž TypeScript ๆณ›ๅž‹็š„ๆ ธๅฟƒๆฆ‚ๅฟตไธŽๅทฅไฝœๆœบๅˆถ๏ผŒๅฏนๆฏ”ๆณ›ๅž‹ไธŽ any ็ฑปๅž‹็š„ๅทฎๅผ‚๏ผŒๆถต็›–ๆณ›ๅž‹ๅ‡ฝๆ•ฐใ€ๆŽฅๅฃใ€็ฑปใ€็ฑปๅž‹ๅˆซๅ็š„ๅฎž่ทต็”จๆณ•๏ผŒไปฅๅŠๅŸบๆœฌ็ฑปๅž‹็บฆๆŸใ€ๆŽฅๅฃ็บฆๆŸใ€ๅคš้‡็บฆๆŸใ€keyof ็บฆๆŸ็ญ‰้ซ˜้˜ถๆŠ€ๅทงไธŽๆœ€ไฝณๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/typescript-generic-types\",\"tags\":[\"tutorial\",\"typescript\",\"generics\",\"type-system\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่Šไธ€่Š TypeScript ไธญ็š„ๆณ›ๅž‹\",\"date\":\"2025-08-20 22:51:27\",\"capture\":\"1. ๆณ›ๅž‹็š„ๅŸบๆœฌๆฆ‚ๅฟตๅ’Œไฝœ็”จ\\n 1.1 ๆ ธๅฟƒๅฎšไน‰\\nๆณ›ๅž‹๏ผˆGenerics๏ผ‰ ๆ˜ฏ TypeScript ไธญไธ€็งๅผบๅคง็š„็ฑปๅž‹็ณป็ปŸ็‰นๆ€ง๏ผŒๅ…่ฎธๅฎšไน‰็ฑปๅž‹ๅ‚ๆ•ฐๅŒ–็š„็ป„ไปถ๏ผŒไฝฟไปฃ็ ่ƒฝๅคŸๅœจๅคš็ง็ฑปๅž‹ไธŠๅฎ‰ๅ…จ่ฟ่กŒ๏ผŒๅŒๆ—ถไฟๆŒ็ฑปๅž‹ๆฃ€ๆŸฅใ€‚ๆณ›ๅž‹็š„ๆ ธๅฟƒๆ€ๆƒณๆ˜ฏๅฐ†็ฑปๅž‹ไฝœไธบๅ‚ๆ•ฐไผ ้€’็ป™ๅ‡ฝๆ•ฐใ€ๆŽฅๅฃๆˆ–็ฑป๏ผŒๅฎž็Žฐ\\\"็ผ–ๅ†™ไธ€ๆฌก๏ผŒๅค็”จๅคšๆฌก\\\"็š„ๆ•ˆๆžœใ€‚\\n 1.2 ๆณ›ๅž‹ไธŽ any ็ฑปๅž‹็š„ๅฏนๆฏ”\\n| ็‰นๆ€ง | ๆณ›ๅž‹ | any ็ฑปๅž‹ |\\n|------|------|----------|\\n| ็ฑปๅž‹ๅฎ‰ๅ…จ | โœ… ็ผ–่ฏ‘ๆ—ถ่ฟ›่กŒ็ฑปๅž‹ๆฃ€ๆŸฅ | โŒ ๅฎŒๅ…จๅคฑๅŽป็ฑปๅž‹ๆฃ€ๆŸฅ |\\n| ไปฃ็ ๅค็”จ | โœ… ๆ”ฏๆŒๅคš็ง็ฑปๅž‹ๅค็”จ | โœ… ๆ”ฏๆŒๅคš็ง็ฑปๅž‹๏ผŒไฝ†ๅคฑๅŽป็ฑปๅž‹ไฟกๆฏ |\\n| ็ฑปๅž‹ๆŽจๆ–ญ | โœ… \"}],\"type-system\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹\",\"frontmatter\":{\"date\":\"2025-08-20 22:51:27\",\"title\":\"่Šไธ€่Š TypeScript ไธญ็š„ๆณ›ๅž‹\",\"tldr\":\"ๆณ›ๅž‹ๅฐ†็ฑปๅž‹ไฝœไธบๅ‚ๆ•ฐ๏ผŒไฝฟไปฃ็ ๅœจๅคš็ง็ฑปๅž‹ไธŠๅฎ‰ๅ…จ่ฟ่กŒ๏ผŒๆ˜ฏ TypeScript ็ฑปๅž‹ๆŠฝ่ฑก็š„ๆ ธๅฟƒ็‰นๆ€งใ€‚\",\"description\":\"ๆœฌๆ–‡็ณป็ปŸ่งฃๆž TypeScript ๆณ›ๅž‹็š„ๆ ธๅฟƒๆฆ‚ๅฟตไธŽๅทฅไฝœๆœบๅˆถ๏ผŒๅฏนๆฏ”ๆณ›ๅž‹ไธŽ any ็ฑปๅž‹็š„ๅทฎๅผ‚๏ผŒๆถต็›–ๆณ›ๅž‹ๅ‡ฝๆ•ฐใ€ๆŽฅๅฃใ€็ฑปใ€็ฑปๅž‹ๅˆซๅ็š„ๅฎž่ทต็”จๆณ•๏ผŒไปฅๅŠๅŸบๆœฌ็ฑปๅž‹็บฆๆŸใ€ๆŽฅๅฃ็บฆๆŸใ€ๅคš้‡็บฆๆŸใ€keyof ็บฆๆŸ็ญ‰้ซ˜้˜ถๆŠ€ๅทงไธŽๆœ€ไฝณๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/typescript-generic-types\",\"tags\":[\"tutorial\",\"typescript\",\"generics\",\"type-system\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่Šไธ€่Š TypeScript ไธญ็š„ๆณ›ๅž‹\",\"date\":\"2025-08-20 22:51:27\",\"capture\":\"1. ๆณ›ๅž‹็š„ๅŸบๆœฌๆฆ‚ๅฟตๅ’Œไฝœ็”จ\\n 1.1 ๆ ธๅฟƒๅฎšไน‰\\nๆณ›ๅž‹๏ผˆGenerics๏ผ‰ ๆ˜ฏ TypeScript ไธญไธ€็งๅผบๅคง็š„็ฑปๅž‹็ณป็ปŸ็‰นๆ€ง๏ผŒๅ…่ฎธๅฎšไน‰็ฑปๅž‹ๅ‚ๆ•ฐๅŒ–็š„็ป„ไปถ๏ผŒไฝฟไปฃ็ ่ƒฝๅคŸๅœจๅคš็ง็ฑปๅž‹ไธŠๅฎ‰ๅ…จ่ฟ่กŒ๏ผŒๅŒๆ—ถไฟๆŒ็ฑปๅž‹ๆฃ€ๆŸฅใ€‚ๆณ›ๅž‹็š„ๆ ธๅฟƒๆ€ๆƒณๆ˜ฏๅฐ†็ฑปๅž‹ไฝœไธบๅ‚ๆ•ฐไผ ้€’็ป™ๅ‡ฝๆ•ฐใ€ๆŽฅๅฃๆˆ–็ฑป๏ผŒๅฎž็Žฐ\\\"็ผ–ๅ†™ไธ€ๆฌก๏ผŒๅค็”จๅคšๆฌก\\\"็š„ๆ•ˆๆžœใ€‚\\n 1.2 ๆณ›ๅž‹ไธŽ any ็ฑปๅž‹็š„ๅฏนๆฏ”\\n| ็‰นๆ€ง | ๆณ›ๅž‹ | any ็ฑปๅž‹ |\\n|------|------|----------|\\n| ็ฑปๅž‹ๅฎ‰ๅ…จ | โœ… ็ผ–่ฏ‘ๆ—ถ่ฟ›่กŒ็ฑปๅž‹ๆฃ€ๆŸฅ | โŒ ๅฎŒๅ…จๅคฑๅŽป็ฑปๅž‹ๆฃ€ๆŸฅ |\\n| ไปฃ็ ๅค็”จ | โœ… ๆ”ฏๆŒๅคš็ง็ฑปๅž‹ๅค็”จ | โœ… ๆ”ฏๆŒๅคš็ง็ฑปๅž‹๏ผŒไฝ†ๅคฑๅŽป็ฑปๅž‹ไฟกๆฏ |\\n| ็ฑปๅž‹ๆŽจๆ–ญ | โœ… \"}],\"compilation\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2025-08-12 22:47:47\",\"title\":\"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—\",\"tldr\":\"TypeScript ๅฎŒๅ–„็š„็ผ–่ฏ‘ไฝ“็ณปไธŽ่ฐƒ่ฏ•ๅทฅๅ…ท้“พ๏ผŒๆ˜ฏๆž„ๅปบ้ซ˜่ดจ้‡ๅบ”็”จ็š„ๅŸบ็Ÿณใ€‚\",\"description\":\"ๆทฑๅ…ฅ่งฃๆž TypeScript ็ผ–่ฏ‘ๅทฅๅ…ท้“พไธŽ่ฐƒ่ฏ•ไฝ“็ณป๏ผŒๆถต็›– tsconfig.json ๆ ธๅฟƒ้…็ฝฎใ€Monorepo ้กน็›ฎ้…็ฝฎ๏ผˆextends/references๏ผ‰ใ€source map ่ฐƒ่ฏ•ใ€ESLint ไธŽ Jest ๅ•ๅ…ƒๆต‹่ฏ•็ญ‰ๅฎŒๆ•ดๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/typescript-compilation-debugging-guide\",\"tags\":[\"tutorial\",\"typescript\",\"compilation\",\"tooling\",\"eslint\",\"jest\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—\",\"date\":\"2025-08-12 22:47:47\",\"capture\":\"็ผ–ๅ†™ไปฃ็ ๅชๆ˜ฏๅผ€ๅ‘ๅทฅไฝœ็š„่ตท็‚น๏ผŒ็œŸๆญฃๅ†ณๅฎš้กน็›ฎ่ดจ้‡็š„ๆ˜ฏๅŽ็ปญ็š„็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•็Žฏ่Š‚ใ€‚TypeScript ไฝœไธบ JavaScript ็š„้™ๆ€็ฑปๅž‹่ถ…้›†๏ผŒไธไป…ๅธฆๆฅไบ†็ฑปๅž‹ๅฎ‰ๅ…จ๏ผŒๆ›ดๆไพ›ไบ†ๅผบๅคง็š„็ผ–่ฏ‘ๅทฅๅ…ทๅ’Œ่ฐƒ่ฏ•่ƒฝๅŠ›๏ผŒ่ฎฉๆˆ‘ไปฌ่ƒฝๅคŸๆ›ด้ซ˜ๆ•ˆๅœฐๆž„ๅปบๅ’Œ็ปดๆŠคๅฏ้ ็š„ๅบ”็”จ็จ‹ๅบใ€‚\\nๆœฌๆ–‡ๅฐ†ๅฏน TypeScript ้กน็›ฎ็š„็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•่ฟ›่กŒๆขณ็†๏ผŒๅŒ…ๆ‹ฌ็ผ–่ฏ‘ๅทฅๅ…ท TSC ็š„ไฝฟ็”จใ€็ผ–่ฏ‘้€‰้กน็š„้…็ฝฎใ€่ฐƒ่ฏ•ๅทฅๅ…ท็š„ไฝฟ็”จ็ญ‰ใ€‚\\n 1. TypeScript ็ผ–่ฏ‘้…็ฝฎไธŽ tsconfig.json\\nTSC๏ผˆTypeScript Compiler๏ผ‰ๆ˜ฏ TypeScript ๅฎ˜ๆ–นๆไพ›็š„็ผ–่ฏ‘ๅทฅๅ…ท๏ผŒ่ดŸ่ดฃๅฐ† TypeScript ไปฃ็ ๏ผˆ`.ts` ๆˆ– `.tsx`๏ผ‰่ฝฌๆขไธบ J\"}],\"tooling\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2025-08-12 22:47:47\",\"title\":\"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—\",\"tldr\":\"TypeScript ๅฎŒๅ–„็š„็ผ–่ฏ‘ไฝ“็ณปไธŽ่ฐƒ่ฏ•ๅทฅๅ…ท้“พ๏ผŒๆ˜ฏๆž„ๅปบ้ซ˜่ดจ้‡ๅบ”็”จ็š„ๅŸบ็Ÿณใ€‚\",\"description\":\"ๆทฑๅ…ฅ่งฃๆž TypeScript ็ผ–่ฏ‘ๅทฅๅ…ท้“พไธŽ่ฐƒ่ฏ•ไฝ“็ณป๏ผŒๆถต็›– tsconfig.json ๆ ธๅฟƒ้…็ฝฎใ€Monorepo ้กน็›ฎ้…็ฝฎ๏ผˆextends/references๏ผ‰ใ€source map ่ฐƒ่ฏ•ใ€ESLint ไธŽ Jest ๅ•ๅ…ƒๆต‹่ฏ•็ญ‰ๅฎŒๆ•ดๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/typescript-compilation-debugging-guide\",\"tags\":[\"tutorial\",\"typescript\",\"compilation\",\"tooling\",\"eslint\",\"jest\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—\",\"date\":\"2025-08-12 22:47:47\",\"capture\":\"็ผ–ๅ†™ไปฃ็ ๅชๆ˜ฏๅผ€ๅ‘ๅทฅไฝœ็š„่ตท็‚น๏ผŒ็œŸๆญฃๅ†ณๅฎš้กน็›ฎ่ดจ้‡็š„ๆ˜ฏๅŽ็ปญ็š„็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•็Žฏ่Š‚ใ€‚TypeScript ไฝœไธบ JavaScript ็š„้™ๆ€็ฑปๅž‹่ถ…้›†๏ผŒไธไป…ๅธฆๆฅไบ†็ฑปๅž‹ๅฎ‰ๅ…จ๏ผŒๆ›ดๆไพ›ไบ†ๅผบๅคง็š„็ผ–่ฏ‘ๅทฅๅ…ทๅ’Œ่ฐƒ่ฏ•่ƒฝๅŠ›๏ผŒ่ฎฉๆˆ‘ไปฌ่ƒฝๅคŸๆ›ด้ซ˜ๆ•ˆๅœฐๆž„ๅปบๅ’Œ็ปดๆŠคๅฏ้ ็š„ๅบ”็”จ็จ‹ๅบใ€‚\\nๆœฌๆ–‡ๅฐ†ๅฏน TypeScript ้กน็›ฎ็š„็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•่ฟ›่กŒๆขณ็†๏ผŒๅŒ…ๆ‹ฌ็ผ–่ฏ‘ๅทฅๅ…ท TSC ็š„ไฝฟ็”จใ€็ผ–่ฏ‘้€‰้กน็š„้…็ฝฎใ€่ฐƒ่ฏ•ๅทฅๅ…ท็š„ไฝฟ็”จ็ญ‰ใ€‚\\n 1. TypeScript ็ผ–่ฏ‘้…็ฝฎไธŽ tsconfig.json\\nTSC๏ผˆTypeScript Compiler๏ผ‰ๆ˜ฏ TypeScript ๅฎ˜ๆ–นๆไพ›็š„็ผ–่ฏ‘ๅทฅๅ…ท๏ผŒ่ดŸ่ดฃๅฐ† TypeScript ไปฃ็ ๏ผˆ`.ts` ๆˆ– `.tsx`๏ผ‰่ฝฌๆขไธบ J\"}],\"eslint\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2025-08-12 22:47:47\",\"title\":\"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—\",\"tldr\":\"TypeScript ๅฎŒๅ–„็š„็ผ–่ฏ‘ไฝ“็ณปไธŽ่ฐƒ่ฏ•ๅทฅๅ…ท้“พ๏ผŒๆ˜ฏๆž„ๅปบ้ซ˜่ดจ้‡ๅบ”็”จ็š„ๅŸบ็Ÿณใ€‚\",\"description\":\"ๆทฑๅ…ฅ่งฃๆž TypeScript ็ผ–่ฏ‘ๅทฅๅ…ท้“พไธŽ่ฐƒ่ฏ•ไฝ“็ณป๏ผŒๆถต็›– tsconfig.json ๆ ธๅฟƒ้…็ฝฎใ€Monorepo ้กน็›ฎ้…็ฝฎ๏ผˆextends/references๏ผ‰ใ€source map ่ฐƒ่ฏ•ใ€ESLint ไธŽ Jest ๅ•ๅ…ƒๆต‹่ฏ•็ญ‰ๅฎŒๆ•ดๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/typescript-compilation-debugging-guide\",\"tags\":[\"tutorial\",\"typescript\",\"compilation\",\"tooling\",\"eslint\",\"jest\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—\",\"date\":\"2025-08-12 22:47:47\",\"capture\":\"็ผ–ๅ†™ไปฃ็ ๅชๆ˜ฏๅผ€ๅ‘ๅทฅไฝœ็š„่ตท็‚น๏ผŒ็œŸๆญฃๅ†ณๅฎš้กน็›ฎ่ดจ้‡็š„ๆ˜ฏๅŽ็ปญ็š„็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•็Žฏ่Š‚ใ€‚TypeScript ไฝœไธบ JavaScript ็š„้™ๆ€็ฑปๅž‹่ถ…้›†๏ผŒไธไป…ๅธฆๆฅไบ†็ฑปๅž‹ๅฎ‰ๅ…จ๏ผŒๆ›ดๆไพ›ไบ†ๅผบๅคง็š„็ผ–่ฏ‘ๅทฅๅ…ทๅ’Œ่ฐƒ่ฏ•่ƒฝๅŠ›๏ผŒ่ฎฉๆˆ‘ไปฌ่ƒฝๅคŸๆ›ด้ซ˜ๆ•ˆๅœฐๆž„ๅปบๅ’Œ็ปดๆŠคๅฏ้ ็š„ๅบ”็”จ็จ‹ๅบใ€‚\\nๆœฌๆ–‡ๅฐ†ๅฏน TypeScript ้กน็›ฎ็š„็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•่ฟ›่กŒๆขณ็†๏ผŒๅŒ…ๆ‹ฌ็ผ–่ฏ‘ๅทฅๅ…ท TSC ็š„ไฝฟ็”จใ€็ผ–่ฏ‘้€‰้กน็š„้…็ฝฎใ€่ฐƒ่ฏ•ๅทฅๅ…ท็š„ไฝฟ็”จ็ญ‰ใ€‚\\n 1. TypeScript ็ผ–่ฏ‘้…็ฝฎไธŽ tsconfig.json\\nTSC๏ผˆTypeScript Compiler๏ผ‰ๆ˜ฏ TypeScript ๅฎ˜ๆ–นๆไพ›็š„็ผ–่ฏ‘ๅทฅๅ…ท๏ผŒ่ดŸ่ดฃๅฐ† TypeScript ไปฃ็ ๏ผˆ`.ts` ๆˆ– `.tsx`๏ผ‰่ฝฌๆขไธบ J\"}],\"jest\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2025-08-12 22:47:47\",\"title\":\"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—\",\"tldr\":\"TypeScript ๅฎŒๅ–„็š„็ผ–่ฏ‘ไฝ“็ณปไธŽ่ฐƒ่ฏ•ๅทฅๅ…ท้“พ๏ผŒๆ˜ฏๆž„ๅปบ้ซ˜่ดจ้‡ๅบ”็”จ็š„ๅŸบ็Ÿณใ€‚\",\"description\":\"ๆทฑๅ…ฅ่งฃๆž TypeScript ็ผ–่ฏ‘ๅทฅๅ…ท้“พไธŽ่ฐƒ่ฏ•ไฝ“็ณป๏ผŒๆถต็›– tsconfig.json ๆ ธๅฟƒ้…็ฝฎใ€Monorepo ้กน็›ฎ้…็ฝฎ๏ผˆextends/references๏ผ‰ใ€source map ่ฐƒ่ฏ•ใ€ESLint ไธŽ Jest ๅ•ๅ…ƒๆต‹่ฏ•็ญ‰ๅฎŒๆ•ดๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/typescript-compilation-debugging-guide\",\"tags\":[\"tutorial\",\"typescript\",\"compilation\",\"tooling\",\"eslint\",\"jest\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—\",\"date\":\"2025-08-12 22:47:47\",\"capture\":\"็ผ–ๅ†™ไปฃ็ ๅชๆ˜ฏๅผ€ๅ‘ๅทฅไฝœ็š„่ตท็‚น๏ผŒ็œŸๆญฃๅ†ณๅฎš้กน็›ฎ่ดจ้‡็š„ๆ˜ฏๅŽ็ปญ็š„็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•็Žฏ่Š‚ใ€‚TypeScript ไฝœไธบ JavaScript ็š„้™ๆ€็ฑปๅž‹่ถ…้›†๏ผŒไธไป…ๅธฆๆฅไบ†็ฑปๅž‹ๅฎ‰ๅ…จ๏ผŒๆ›ดๆไพ›ไบ†ๅผบๅคง็š„็ผ–่ฏ‘ๅทฅๅ…ทๅ’Œ่ฐƒ่ฏ•่ƒฝๅŠ›๏ผŒ่ฎฉๆˆ‘ไปฌ่ƒฝๅคŸๆ›ด้ซ˜ๆ•ˆๅœฐๆž„ๅปบๅ’Œ็ปดๆŠคๅฏ้ ็š„ๅบ”็”จ็จ‹ๅบใ€‚\\nๆœฌๆ–‡ๅฐ†ๅฏน TypeScript ้กน็›ฎ็š„็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•่ฟ›่กŒๆขณ็†๏ผŒๅŒ…ๆ‹ฌ็ผ–่ฏ‘ๅทฅๅ…ท TSC ็š„ไฝฟ็”จใ€็ผ–่ฏ‘้€‰้กน็š„้…็ฝฎใ€่ฐƒ่ฏ•ๅทฅๅ…ท็š„ไฝฟ็”จ็ญ‰ใ€‚\\n 1. TypeScript ็ผ–่ฏ‘้…็ฝฎไธŽ tsconfig.json\\nTSC๏ผˆTypeScript Compiler๏ผ‰ๆ˜ฏ TypeScript ๅฎ˜ๆ–นๆไพ›็š„็ผ–่ฏ‘ๅทฅๅ…ท๏ผŒ่ดŸ่ดฃๅฐ† TypeScript ไปฃ็ ๏ผˆ`.ts` ๆˆ– `.tsx`๏ผ‰่ฝฌๆขไธบ J\"}],\"ๆˆ้•ฟ\":[{\"url\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/20.่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"relativePath\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/20.่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"frontmatter\":{\"date\":\"2024-06-15 22:23:00\",\"title\":\"่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡็ป“ๅˆไฟ็ฝ—ใƒปๆ ผ้›ทๅŽ„ๅง†ใ€ŠHow to Do Great Workใ€‹ๆ ธๅฟƒ่ง‚็‚น๏ผŒๆŽข่ฎจ AI ๅŽŸ็”Ÿๆ—ถไปฃๅคๅˆๅž‹ไบบๆ‰็š„ๆ ธๅฟƒ็‰น่ดจใ€‚AI ่ฎฉๅŸบ็ก€ๆ‰ง่กŒ่ƒฝๅŠ›ๅฟซ้€Ÿ่ดฌๅ€ผ๏ผŒไบบๆ‰็š„ๆ ธๅฟƒๅฃๅž’ไธๅ†ๆ˜ฏ่งฃๅ†ณ้—ฎ้ข˜๏ผŒ่€Œๆ˜ฏๆๅ‡บไผ˜่ดจ้—ฎ้ข˜ใ€ๅŸนๅ…ป้žๅ…ฑ่ฏ†ๅ“ๅ‘ณใ€‚ๅŒๆ—ถ้œ€ๅšๅฎˆๆ™บๅŠ›่ฏšๅฎž๏ผŒๆ‹ฅๆœ‰ๆ‰“็ ดๅธธ่ง„็š„ๅˆ›ๆ–ฐๅ‹‡ๆฐ”๏ผŒๅ€ŸๅŠฉ AI ๆ”พๅคงไธชไบบๆˆ้•ฟๆ ๆ†๏ผŒไปฅๅฐๅˆ‡ๅฃๅฎž่ทตๅฎž็ŽฐๆŒ‡ๆ•ฐ็บงๆˆ้•ฟใ€‚ไบบ็ฑป็‹ฌๆœ‰็š„ๅฅฝๅฅ‡ๅฟƒ๏ผŒๆ˜ฏ็ช็ ด AI ๅนณๅบธใ€ๅ–ๅพ—ๆฐๅ‡บๆˆๅฐฑ็š„ๆœ€็ปˆๅบ•ๆฐ”ใ€‚\",\"coverImg\":\"/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense/ai-native-composite-talents\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"AI\",\"ๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"date\":\"2024-06-15 22:23:00\",\"capture\":\"> \\n> ๅŽŸๆ–‡ๅœฐๅ€๏ผšhttps://paulgraham.com/greatwork.html\\n> \\n> ๅŽŸๆ–‡ไฝœ่€…๏ผšPaul Graham๏ผˆไฟ็ฝ—ยทๆ ผ้›ทๅŽ„ๅง†๏ผ‰๏ผŒ็ก…่ฐท้กถ็บงๅญตๅŒ–ๅ™จ Y Combinator ๅˆ›ๅง‹ไบบ๏ผŒ่ขซ่ช‰ไธบโ€œ็ก…่ฐทๅˆ›ไธšๆ•™็ˆถโ€๏ผŒไนŸๆ˜ฏ็ปๅ…ธๆŠ€ๆœฏๅ“ฒๅญฆ่‘—ไฝœใ€Š้ป‘ๅฎขไธŽ็”ปๅฎถใ€‹็š„ไฝœ่€…ใ€‚\\n> \\n> ๆ–‡็ซ ่ƒŒๆ™ฏ๏ผšๅŽŸๆ–‡ๆ˜ฏไฟ็ฝ—ยทๆ ผ้›ทๅŽ„ๅง†ไน‹ๅ‰ๅ‡†ๅค‡ไบ†ๅŠๅนดไน‹ไน…็š„้‡็ฃ…้•ฟๆ–‡๏ผŒไป–่ฏ•ๅ›พ่ฎฒๆ˜Ž็™ฝไธ€ไธช้€‚็”จไบŽๆฏไธชไบบ็š„ไธป้ข˜โ€”โ€”ๅฆ‚ไฝ•ๅšๆˆใ€Œๅคงไบ‹ใ€๏ผˆgreat work๏ผ‰ใ€‚้€š่ฏปๅ…จๆ–‡๏ผŒไฝ ไผšๅ‘็Žฐ๏ผŒ่ฟ™ๆ˜ฏไธ€็ฏ‡้žๅธธๅฎž็”จ็š„ๅทฅไฝœๆŒ‡ๅ—๏ผŒๅนถไธ”ๅ…ถไธญ็š„่ฎธๅคšๅ†…ๅฎน๏ผŒ้ƒฝไธŽAIๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰ๆ‰€้œ€่ฆๅ…ทๅค‡็š„็‰น่ดจ้žๅธธไธ€่‡ดใ€‚\\n 1. ๅผ•่จ€๏ผš\"}],\"ESM\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview\",\"frontmatter\":{\"date\":\"2024-05-18 22:49:57\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ไปŽ ES Modules ๅˆฐๅคงๅž‹้กน็›ฎๅˆ†ๅฑ‚ๆžถๆž„ไธŽๅทฅ็จ‹ๅŒ–ๅฎž่ทต๏ผŒๆž„ๅปบๅ…จๆ ˆๆจกๅ—ๅŒ–็Ÿฅ่ฏ†ไฝ“็ณปใ€‚\",\"description\":\"็ณป็ปŸๆขณ็† JavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›๏ผˆIIFEโ†’CJSโ†’ESM๏ผ‰ใ€TypeScript ็ฑปๅž‹ๅขžๅผบใ€ๅˆ†ๅฑ‚ๆžถๆž„ไธŽ DDD ๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/module-programming-practice-guide\",\"tags\":[\"tutorial\",\"ESM\",\"DDD\",\"ๅพฎๅ‰็ซฏ\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2024-05-18 22:49:57\",\"capture\":\"1. ๅผ•่จ€\\nๆจกๅ—ๅŒ–็ผ–็จ‹ๆ˜ฏ็Žฐไปฃ JavaScript/TypeScript ๅผ€ๅ‘็š„ๆ ธๅฟƒๅŽŸๅˆ™๏ผŒๅฎƒ้€š่ฟ‡ๅฐ†ๅคๆ‚็ณป็ปŸๆ‹†ๅˆ†ไธบ็‹ฌ็ซ‹ๅฏๅค็”จ็š„ๆจกๅ—๏ผŒ้™ไฝŽ็ณป็ปŸๅคๆ‚ๆ€งๅนถๆ้ซ˜ๅฏ็ปดๆŠคๆ€งไธŽๅฏๅค็”จๆ€งใ€‚ๅ› ๆญค๏ผŒๆˆ‘ไปฌ้€š่ฟ‡็ณปๅˆ—ๆ–‡็ซ ่ฏฆ็ป†ไป‹็ปไบ†ๆจกๅ—ๅŒ–็š„ๅŸบ็ก€ๆฆ‚ๅฟตใ€ๆผ”่ฟ›ๅކ็จ‹ใ€ไธๅŒ่ง„่Œƒ็š„ๆทฑๅบฆ่งฃๆžใ€TypeScriptๆจกๅ—ๅŒ–ๅขžๅผบใ€ES Modules ๆ ธๅฟƒ่ฏญๆณ•ไธŽๅฎž่ทตใ€ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทตใ€ๅ‰็ซฏๅทฅ็จ‹ๅŒ–ไธญ็š„ๆจกๅ—ๅŒ–ใ€Node.jsไธญ็š„ๆจกๅ—ๅŒ–ๅฎž่ทตใ€ๅคงๅž‹้กน็›ฎไธญ็š„ๆจกๅ—ๅŒ–่ฎพ่ฎกใ€ๆจกๅ—ๅŒ–ไธŽไปฃ็ ็ปดๆŠคไปฅๅŠๆœชๆฅๅ‘ๅฑ•่ถ‹ๅŠฟใ€‚\\nๅ‰้ข็š„็ณปๅˆ—ๆ–‡็ซ ไธป่ฆๆœ‰๏ผš\\n- ๆจกๅ—ๅŒ–็ผ–็จ‹็ผ–็จ‹ๅˆไฝ“้ชŒไธŽๅŸบ็ก€ไป‹็ป\\n- JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\\n- ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒ\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"frontmatter\":{\"date\":\"2024-05-14 22:29:32\",\"title\":\"ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒๆ‹ฅๆŠฑๅŽŸ็”Ÿ๏ผšES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"tldr\":\"ES Modules ๆ ธๅฟƒ่ฏญๆณ•ไธŽๆ‰ง่กŒๆจกๅž‹๏ผš้™ๆ€ๅˆ†ๆžๅฆ‚ไฝ•้‡ๅก‘ๅ‰็ซฏๆž„ๅปบๆ•ˆ็އใ€‚\",\"description\":\"ๆทฑๅบฆ่งฃๆž ES Modules ๅ‘ฝๅๅฏผๅ‡บ/ๅฏผๅ…ฅใ€้ป˜่ฎคๅฏผๅ‡บใ€ๅŠจๆ€ๅฏผๅ…ฅ็ญ‰่ฏญๆณ•๏ผŒไปฅๅŠๆจกๅ—ๆ‰ง่กŒ้กบๅบใ€ๅพช็Žฏไพ่ต–ๅค„็†ไธŽ็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ๆœบๅˆถใ€‚\",\"permalink\":\"/fullstack/decode-es-modules\",\"tags\":[\"concept\",\"ESM\",\"static-analysis\",\"Tree-Shaking\",\"circular-dependency\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒๆ‹ฅๆŠฑๅŽŸ็”Ÿ๏ผšES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"date\":\"2024-05-14 22:29:32\",\"capture\":\"> \\n> ็†่งฃ ESM๏ผŒไธไป…ไป…ๆ˜ฏๅญฆไผš import ๅ’Œ export๏ผŒๆ›ด้‡่ฆ็š„ๆ˜ฏ็†่งฃๅฎƒๅฆ‚ไฝ•้€š่ฟ‡็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ๅฝปๅบ•ๆ”นๅ˜ไบ†ๅ‰็ซฏๆž„ๅปบ็š„ๆ•ˆ็އใ€‚\\n 1. ๅ‘ฝๅๅฏผๅ‡บไธŽๅฏผๅ…ฅ๏ผš็ฒพๅ‡†็š„ไปฃ็ ๅผ•็”จ\\nๅ‘ฝๅๅฏผๅ‡บ๏ผˆNamed Exports๏ผ‰ๆ˜ฏ ESM ๆœ€ๅธธ็”จ็š„ๅฝขๅผ๏ผŒๅฎƒๅ…่ฎธไธ€ไธชๆจกๅ—ๆšด้œฒๅคšไธชๆˆๅ‘˜ใ€‚ๅ…ถๆ ธๅฟƒไผ˜ๅŠฟๅœจไบŽ๏ผšๅฏผๅ…ฅๆ–นๅฏไปฅๆŒ‰้œ€ๅผ•ๅ…ฅ๏ผŒไธ” IDE ่ƒฝๆไพ›็ฒพๅ‡†็š„่กฅๅ…จใ€‚\\n่ฏญๆณ•ๅฎž่ทต๏ผš๏ผš\\n```javascript\\n// math.js - ๅ‘ฝๅๅฏผๅ‡บ\\n// ่กŒๅ†…ๅฏผๅ‡บ\\nexport const PI = 3.14159;\\nexport function circleArea(radius) {\\n return PI * rad\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†\",\"frontmatter\":{\"date\":\"2024-05-14 22:26:06\",\"title\":\"JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\",\"tldr\":\"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ็ญ‰ๆ ธๅฟƒ่ง„่Œƒ๏ผŒ้™„็Žฐไปฃ่ฟ็งป็ญ–็•ฅใ€‚\",\"description\":\"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ๅ››ๅคงๆจกๅ—ๅŒ–่ง„่Œƒ็š„ๆ ธๅฟƒ่ฏญๆณ•ไธŽ้€‚็”จๅœบๆ™ฏ๏ผŒ่งฃๆžๅ„่ง„่Œƒ็š„ๅ…ณ้”ฎๅทฎๅผ‚๏ผŒๅนถๆไพ›ไปŽๆ—ง่ง„่Œƒๅ‘ ESM ่ฟ็งป็š„ๅฎžๆ“็ญ–็•ฅใ€‚\",\"permalink\":\"/fullstack/different-module-programming-specifications\",\"tags\":[\"tutorial\",\"CommonJS\",\"AMD\",\"UMD\",\"ESM\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\",\"date\":\"2024-05-14 22:26:06\",\"capture\":\"ๅœจ JavaScript ่ฟ›ๅŒ–ๅฒไธŠ๏ผŒโ€œๆจกๅ—ๅŒ–โ€ๅง‹็ปˆๆ˜ฏไธ€ไธชๆ ธๅฟƒๅ‘ฝ้ข˜ใ€‚ไปŽๆ—ฉๆœŸ script ๆ ‡็ญพๆปกๅคฉ้ฃž็š„โ€œๆททๆฒŒๆ—ถไปฃโ€๏ผŒๅˆฐๅ„่ทฏ่ง„่Œƒ็พค้›„้€้นฟ็š„โ€œๆˆ˜ๅ›ฝๆ—ถไปฃโ€๏ผŒๅ†ๅˆฐๅฆ‚ไปŠ ES Modules ๅฎšไบŽไธ€ๅฐŠ๏ผŒๅผ€ๅ‘่€…ไปฌๅœจ่งฃๅ†ณไพ่ต–็ฎก็†ใ€ไฝœ็”จๅŸŸๆฑกๆŸ“ๅ’Œๅผ‚ๆญฅๅŠ ่ฝฝ็ญ‰้—ฎ้ข˜ไธŠไป˜ๅ‡บไบ†ๅทจๅคง็š„ๅŠชๅŠ›ใ€‚\\nๆœฌๆ–‡ๅฐ†ๅธฆไฝ ๆขณ็† JavaScript ๅކๅฒไธŠๆœ€้‡่ฆ็š„ๅ‡ ็งๆจกๅ—ๅŒ–่ง„่Œƒ๏ผŒไพฟไบŽๆž„ๅปบ่ตทๅ…จๆ ˆๅผ€ๅ‘็š„ๅบ•ๅฑ‚็Ÿฅ่ฏ†ๅ›พ่ฐฑใ€‚\\n 1. CommonJS ่ง„่Œƒ๏ผšNode.js ็”Ÿๆ€็š„ๅŸบ็Ÿณ\\nCommonJS ๆ˜ฏไผด้š Node.js ่ฏž็”Ÿ็š„่ง„่Œƒ,็”ฑ Kevin Dangoor ๆๅ‡บ๏ผŒๅˆ่กทๆ˜ฏ่ฎฉ JavaScript ่„ฑ็ฆปๆต่งˆๅ™จไนŸ่ƒฝๆž„ๅปบๅคๆ‚็š„็ณป็ปŸๅบ”็”จใ€‚ๅฎƒๆ˜ฏ Node.\"}],\"DDD\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview\",\"frontmatter\":{\"date\":\"2024-05-18 22:49:57\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ไปŽ ES Modules ๅˆฐๅคงๅž‹้กน็›ฎๅˆ†ๅฑ‚ๆžถๆž„ไธŽๅทฅ็จ‹ๅŒ–ๅฎž่ทต๏ผŒๆž„ๅปบๅ…จๆ ˆๆจกๅ—ๅŒ–็Ÿฅ่ฏ†ไฝ“็ณปใ€‚\",\"description\":\"็ณป็ปŸๆขณ็† JavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›๏ผˆIIFEโ†’CJSโ†’ESM๏ผ‰ใ€TypeScript ็ฑปๅž‹ๅขžๅผบใ€ๅˆ†ๅฑ‚ๆžถๆž„ไธŽ DDD ๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/module-programming-practice-guide\",\"tags\":[\"tutorial\",\"ESM\",\"DDD\",\"ๅพฎๅ‰็ซฏ\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2024-05-18 22:49:57\",\"capture\":\"1. ๅผ•่จ€\\nๆจกๅ—ๅŒ–็ผ–็จ‹ๆ˜ฏ็Žฐไปฃ JavaScript/TypeScript ๅผ€ๅ‘็š„ๆ ธๅฟƒๅŽŸๅˆ™๏ผŒๅฎƒ้€š่ฟ‡ๅฐ†ๅคๆ‚็ณป็ปŸๆ‹†ๅˆ†ไธบ็‹ฌ็ซ‹ๅฏๅค็”จ็š„ๆจกๅ—๏ผŒ้™ไฝŽ็ณป็ปŸๅคๆ‚ๆ€งๅนถๆ้ซ˜ๅฏ็ปดๆŠคๆ€งไธŽๅฏๅค็”จๆ€งใ€‚ๅ› ๆญค๏ผŒๆˆ‘ไปฌ้€š่ฟ‡็ณปๅˆ—ๆ–‡็ซ ่ฏฆ็ป†ไป‹็ปไบ†ๆจกๅ—ๅŒ–็š„ๅŸบ็ก€ๆฆ‚ๅฟตใ€ๆผ”่ฟ›ๅކ็จ‹ใ€ไธๅŒ่ง„่Œƒ็š„ๆทฑๅบฆ่งฃๆžใ€TypeScriptๆจกๅ—ๅŒ–ๅขžๅผบใ€ES Modules ๆ ธๅฟƒ่ฏญๆณ•ไธŽๅฎž่ทตใ€ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทตใ€ๅ‰็ซฏๅทฅ็จ‹ๅŒ–ไธญ็š„ๆจกๅ—ๅŒ–ใ€Node.jsไธญ็š„ๆจกๅ—ๅŒ–ๅฎž่ทตใ€ๅคงๅž‹้กน็›ฎไธญ็š„ๆจกๅ—ๅŒ–่ฎพ่ฎกใ€ๆจกๅ—ๅŒ–ไธŽไปฃ็ ็ปดๆŠคไปฅๅŠๆœชๆฅๅ‘ๅฑ•่ถ‹ๅŠฟใ€‚\\nๅ‰้ข็š„็ณปๅˆ—ๆ–‡็ซ ไธป่ฆๆœ‰๏ผš\\n- ๆจกๅ—ๅŒ–็ผ–็จ‹็ผ–็จ‹ๅˆไฝ“้ชŒไธŽๅŸบ็ก€ไป‹็ป\\n- JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\\n- ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒ\"}],\"ๅพฎๅ‰็ซฏ\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview\",\"frontmatter\":{\"date\":\"2024-05-18 22:49:57\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ไปŽ ES Modules ๅˆฐๅคงๅž‹้กน็›ฎๅˆ†ๅฑ‚ๆžถๆž„ไธŽๅทฅ็จ‹ๅŒ–ๅฎž่ทต๏ผŒๆž„ๅปบๅ…จๆ ˆๆจกๅ—ๅŒ–็Ÿฅ่ฏ†ไฝ“็ณปใ€‚\",\"description\":\"็ณป็ปŸๆขณ็† JavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›๏ผˆIIFEโ†’CJSโ†’ESM๏ผ‰ใ€TypeScript ็ฑปๅž‹ๅขžๅผบใ€ๅˆ†ๅฑ‚ๆžถๆž„ไธŽ DDD ๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/module-programming-practice-guide\",\"tags\":[\"tutorial\",\"ESM\",\"DDD\",\"ๅพฎๅ‰็ซฏ\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2024-05-18 22:49:57\",\"capture\":\"1. ๅผ•่จ€\\nๆจกๅ—ๅŒ–็ผ–็จ‹ๆ˜ฏ็Žฐไปฃ JavaScript/TypeScript ๅผ€ๅ‘็š„ๆ ธๅฟƒๅŽŸๅˆ™๏ผŒๅฎƒ้€š่ฟ‡ๅฐ†ๅคๆ‚็ณป็ปŸๆ‹†ๅˆ†ไธบ็‹ฌ็ซ‹ๅฏๅค็”จ็š„ๆจกๅ—๏ผŒ้™ไฝŽ็ณป็ปŸๅคๆ‚ๆ€งๅนถๆ้ซ˜ๅฏ็ปดๆŠคๆ€งไธŽๅฏๅค็”จๆ€งใ€‚ๅ› ๆญค๏ผŒๆˆ‘ไปฌ้€š่ฟ‡็ณปๅˆ—ๆ–‡็ซ ่ฏฆ็ป†ไป‹็ปไบ†ๆจกๅ—ๅŒ–็š„ๅŸบ็ก€ๆฆ‚ๅฟตใ€ๆผ”่ฟ›ๅކ็จ‹ใ€ไธๅŒ่ง„่Œƒ็š„ๆทฑๅบฆ่งฃๆžใ€TypeScriptๆจกๅ—ๅŒ–ๅขžๅผบใ€ES Modules ๆ ธๅฟƒ่ฏญๆณ•ไธŽๅฎž่ทตใ€ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทตใ€ๅ‰็ซฏๅทฅ็จ‹ๅŒ–ไธญ็š„ๆจกๅ—ๅŒ–ใ€Node.jsไธญ็š„ๆจกๅ—ๅŒ–ๅฎž่ทตใ€ๅคงๅž‹้กน็›ฎไธญ็š„ๆจกๅ—ๅŒ–่ฎพ่ฎกใ€ๆจกๅ—ๅŒ–ไธŽไปฃ็ ็ปดๆŠคไปฅๅŠๆœชๆฅๅ‘ๅฑ•่ถ‹ๅŠฟใ€‚\\nๅ‰้ข็š„็ณปๅˆ—ๆ–‡็ซ ไธป่ฆๆœ‰๏ผš\\n- ๆจกๅ—ๅŒ–็ผ–็จ‹็ผ–็จ‹ๅˆไฝ“้ชŒไธŽๅŸบ็ก€ไป‹็ป\\n- JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\\n- ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒ\"}],\"concept\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–\",\"frontmatter\":{\"date\":\"2024-05-17 23:33:09\",\"title\":\"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“\",\"tldr\":\"Node.js CJS ไธŽ ESM ๅŒๆจกๅ…ฑๅญ˜๏ผšๆจกๅ—ๅŠ ่ฝฝๆœบๅˆถไธŽๅˆ†ๅฑ‚ๆžถๆž„ๅฎž่ทตใ€‚\",\"description\":\"่งฃๆž Node.js ไธญ CommonJS ไธŽ ES Modules ็š„ๅŒๆจกๅ…ฑๅญ˜็ญ–็•ฅ๏ผŒๆถต็›–ๆจกๅ—ๅŠ ่ฝฝไผ˜ๅ…ˆ็บงใ€็ผ“ๅญ˜ๆœบๅˆถใ€package.json exports ๆกไปถๅฏผๅ‡บๅŠ Monorepo ๆžถๆž„ๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/nodejs-module-programming-summary\",\"abstract\":\"Node.js ๆจกๅ—ๅŒ–็ปๅކไบ†ไปŽ CommonJS ็‹ฌ้œธๅคฉไธ‹ๅˆฐ ES Modules ๅ…จ้ขๆŽฅๅ…ฅ็š„่Œƒๅผ่ฝฌ็งปใ€‚ๅ…ฑๅญ˜็ญ–็•ฅ้€š่ฟ‡ .mjs/.cjs ๅŽ็ผ€ๅ’Œ package.json type ๅญ—ๆฎตๆŽงๅˆถไธค็ง่ง„่Œƒ็š„่พน็•Œ๏ผ›ESM ๅฏ็›ดๆŽฅ import CJS๏ผˆ่‡ชๅŠจๅŒ…่ฃ…ไธบ้ป˜่ฎคๅฏผๅ‡บ๏ผ‰๏ผŒไฝ† CJS ๆ— ๆณ• require ESM ๅฟ…้กปไฝฟ็”จๅŠจๆ€ importใ€‚ๆจกๅ—ๅŠ ่ฝฝ้ตๅพชๆ ธๅฟƒๆจกๅ—ไผ˜ๅ…ˆใ€ๆ–‡ไปถๆจกๅ—ใ€็›ฎๅฝ•ๆจกๅ—๏ผˆindex.js/package.json๏ผ‰ใ€node_modules ้€็บงๆŸฅๆ‰พ็š„ไผ˜ๅ…ˆ็บง๏ผ›require.cache ๅฎž็Žฐๆจกๅ—็ผ“ๅญ˜๏ผŒๆธ…้™ค็ผ“ๅญ˜๏ผˆdelete require.cache[path]๏ผ‰ๆ˜ฏ็ƒญๆ›ดๆ–ฐๅทฅๅ…ท็š„ๆ ธๅฟƒๆ“ไฝœใ€‚package.json exports ๅญ—ๆฎตๆ”ฏๆŒๆกไปถๅฏผๅ‡บ๏ผˆimport/require ่ฟ”ๅ›žไธๅŒๅ…ฅๅฃ๏ผ‰ใ€‚pnpm workspaces ๅ‡ญๅ€Ÿ็กฌ้“พๆŽฅๆœบๅˆถๆˆไธบ็Žฐไปฃ Monorepo ้ฆ–้€‰ใ€‚ๅŽ็ซฏๅˆ†ๅฑ‚ๆžถๆž„๏ผˆAPI/Service/Repository๏ผ‰ๅฎž็Žฐๅ…ณๆณจ็‚นๅˆ†็ฆป๏ผŒๆขๆ•ฐๆฎๅบ“ๅช้œ€ๆ”น Repository ๅฑ‚ใ€‚\",\"tags\":[\"concept\",\"node.js\",\"commonjs\",\"esm\",\"monorepo\",\"layered-architecture\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“\",\"date\":\"2024-05-17 23:33:09\",\"capture\":\"ๅฆ‚ๆžœ่ฏดๆต่งˆๅ™จ็ซฏ็š„ๆจกๅ—ๅŒ–ๆ˜ฏไธบไบ†\\\"ๆŒ‰้œ€ๅŠ ่ฝฝ\\\"๏ผŒ้‚ฃไนˆ Node.js ็š„ๆจกๅ—ๅŒ–ๅˆ™ๆ˜ฏไธบไบ†\\\"ไปฃ็ ็ป„็ป‡\\\"ใ€‚ไฝœไธบๅฐ† JavaScript ๅธฆๅ…ฅๆœๅŠกๅ™จ็ซฏ็š„ๅ…ˆ้ฉฑ๏ผŒNode.js ็ปๅކไบ†ไปŽ CommonJS (CJS) ็‹ฌ้œธๅคฉไธ‹ๅˆฐ ES Modules (ESM) ๅ…จ้ขๆŽฅๅ…ฅ็š„่Œƒๅผ่ฝฌ็งปใ€‚\\nๅœจๆœๅŠกๅ™จ็ซฏ๏ผŒๆจกๅ—ๅŒ–ไธไป…ไป…ๆ˜ฏไธบไบ†ๆ‹†ๅˆ†ไปฃ็ ๏ผŒๆ›ดๆ˜ฏไธบไบ†ๆž„ๅปบๆธ…ๆ™ฐ็š„้กน็›ฎ็ป“ๆž„ใ€็ฎก็†ไพ่ต–ๅ…ณ็ณป๏ผŒไปฅๅŠๅฎž็Žฐไปฃ็ ็š„ๅค็”จไธŽ็ปดๆŠคใ€‚\\n 1. CommonJS ไธŽ ES Modules ๅŒๆจกๅ…ฑๅญ˜\\nๅœจ็Žฐไปฃ Node.js ๅผ€ๅ‘ไธญ๏ผŒๆˆ‘ไปฌ็ปๅธธ้ขไธดไธค็ง่ง„่Œƒไบค็ป‡็š„ๆƒ…ๅ†ตใ€‚่ฟ™ไธไป…ๆ˜ฏๆ–‡ไปถๅŽ็ผ€็š„ๆ”นๅ˜๏ผŒๆ›ดๆ˜ฏๅŒๆญฅไธŽๅผ‚ๆญฅๅŠ ่ฝฝ้€ป่พ‘็š„ๅšๅผˆใ€‚\\nๅ…ฑๅญ˜็ญ–็•ฅ๏ผš\\n1. ๅŽ็ผ€ๅ†ณๅฎš่ฎบ๏ผš`.mjs\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต\",\"frontmatter\":{\"date\":\"2024-05-17 22:30:50\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ๆขณ็†ไธŽๆ€ป็ป“\",\"tldr\":\"ๆŽŒๆก้ซ˜ๅ†…่šไฝŽ่€ฆๅˆๅŽŸๅˆ™๏ผšๆจกๅ—ๅŒ–็ผ–็จ‹็š„่ฎพ่ฎกๅ‡†ๅˆ™ไธŽ็ฒ’ๅบฆๆŽงๅˆถใ€‚\",\"description\":\"็ณป็ปŸๆขณ็†ๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅ…ญๅคงๆ ธๅฟƒๅŽŸๅˆ™๏ผšๅ•ไธ€่Œ่ดฃใ€้ซ˜ๅ†…่šไฝŽ่€ฆๅˆใ€็ฒ’ๅบฆ่ฎพ่ฎกใ€ๅ‘ฝๅ่ง„่ŒƒๅŠๆจกๅ—็‰ˆๆœฌ็ฎก็†๏ผŒ้™„่ฏฆ็ป†็š„ๅทฅ็จ‹ๅฎž่ทตๅปบ่ฎฎไธŽ้ฟๅ‘ๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/fullstack/module-programming-principles-best-practices\",\"abstract\":\"ๅฆ‚ๆžœ่ฏดๆŽŒๆกๆจกๅ—ๅŒ–่ฏญๆณ•ๆ˜ฏๆœฏ๏ผŒ้‚ฃไนˆ็†่งฃๅ…ถ่ƒŒๅŽ็š„่ฎพ่ฎกๅŽŸๅˆ™ๅฐฑๆ˜ฏ้“ใ€‚ๅ•ไธ€่Œ่ดฃๅŽŸๅˆ™ๅผบ่ฐƒๆจกๅ—ๅชๅบ”ๆœ‰ไธ€ไธช่ขซๆ”นๅ˜็š„ๅŽŸๅ› ๏ผŒ้ฟๅ… God Object ๅๆจกๅผใ€‚้ซ˜ๅ†…่šไฝŽ่€ฆๅˆๆ˜ฏ่กก้‡ๆจกๅ—่ดจ้‡็š„็ปˆๆžๆ ‡ๅ‡†โ€”โ€”ๆจกๅ—ๅ†…้ƒจๅ…ƒ็ด ่”็ณป็ดงๅฏ†๏ผŒๆจกๅ—ไน‹้—ดไพ่ต–ๅ…ณ็ณปๅฐฝๅฏ่ƒฝ็ฎ€ๅ•ใ€‚็ฒ’ๅบฆ่ฎพ่ฎก่ฆๆฑ‚ๅ•ไธชๆจกๅ—ไฟๆŒๅœจ 100-500 ่กŒไน‹้—ด๏ผŒๅŠŸ่ƒฝ่ƒฝ็”จไธ€ๅฅ่ฏๆธ…ๆ™ฐๆ่ฟฐ๏ผŒๅ‡บ็Žฐๅคšๅˆ†ๆ”ฏๅคๆ‚้€ป่พ‘ๆ—ถ้€šๅธธๆ˜ฏๆ‹†ๅˆ†ไฟกๅทใ€‚ๅ‘ฝๅ่ง„่Œƒ็ปŸไธ€ๅ›ข้˜ŸๆฒŸ้€š่ฏญๅขƒ๏ผˆkebab-case ๆ–‡ไปถๅใ€camelCase ๆ–นๆณ•ๅใ€PascalCase ็ฑปๅ๏ผ‰ใ€‚ๆจกๅ—็‰ˆๆœฌ็ฎก็†้ตๅพช SemVer ่ฏญไน‰ๅŒ–็‰ˆๆœฌ๏ผŒไธบๅ…ฌๅ…ฑๆจกๅ—็š„็ปดๆŠค่€…ไธŽไฝฟ็”จ่€…ๅปบ็ซ‹ๅฅ‘็บฆใ€‚ๅผบ่ฐƒๆธ…ๆ™ฐ็š„ๆจกๅ—่พน็•Œๆ˜ฏ AI ่พ…ๅŠฉ็ผ–็จ‹ๆ—ถไปฃ AI ๅ‡†็กฎ็†่งฃไปฃ็ ็š„ๅ‰ๆใ€‚\",\"tags\":[\"concept\",\"solid-principles\",\"code-organization\",\"best-practices\",\"naming-conventions\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ๆขณ็†ไธŽๆ€ป็ป“\",\"date\":\"2024-05-17 22:30:50\",\"capture\":\"1. ๅ•ไธ€่Œ่ดฃๅŽŸๅˆ™\\nๆ ธๅฟƒๆ€ๆƒณ๏ผšไธ€ไธชๆจกๅ—ๅบ”ๅฝ“ๆœ‰ไธ”ๅชๆœ‰ไธ€ไธช่ขซๆ”นๅ˜็š„ๅŽŸๅ› ใ€‚\\nๆจกๅ—ไธๅบ”ๆˆไธบๅŠŸ่ƒฝ็š„โ€œๆ‚่ดง้“บโ€ใ€‚ๅฝ“ไธ€ไธชๆจกๅ—ๆ‰ฟๆ‹…ไบ†ๅคชๅคšไธ็›ธๅ…ณ็š„ไธšๅŠก้€ป่พ‘ๆ—ถ๏ผŒๅฎƒ็š„ๅคๆ‚ๅบฆไผšๅ‘ˆๆŒ‡ๆ•ฐ็บงไธŠๅ‡๏ผŒไปปไฝ•ๅพฎๅฐ็š„ๆ”นๅŠจ้ƒฝๅฏ่ƒฝๅผ•ๅ‘ๆ„ๆƒณไธๅˆฐ็š„่ฟž้”ๅๅบ”ใ€‚\\nไปฃ็ ๆผ”็คบ๏ผš\\n```javascript\\n// โœ… ๆŽจ่๏ผš่Œ่ดฃๆ‹†ๅˆ†ๆ˜Ž็กฎ\\n// user-service.js - ไป…ๅค„็†็”จๆˆทๆ•ฐๆฎ็š„ CRUD\\nexport const getUser = async (id) => { /* ... */ };\\n// auth-provider.js - ไป…ๅค„็†้‰ดๆƒ็Šถๆ€ไธŽ้€ป่พ‘\\nexport const login = async (credenti\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"frontmatter\":{\"date\":\"2024-05-16 21:27:36\",\"title\":\"ไปŽ้€ป่พ‘้š”็ฆปๅˆฐ็ฑปๅž‹ๅฅ‘็บฆ๏ผšTypeScript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"tldr\":\"TypeScript ๅฐ†ๆจกๅ—ไพ่ต–ๆๅ‡ไธบ็ผ–่ฏ‘ๆ—ถ็ฑปๅž‹ๅฅ‘็บฆ๏ผŒไปŽ import type ๅˆฐๅฃฐๆ˜Žๆ–‡ไปถใ€‚\",\"description\":\"็ณป็ปŸ่ฎฒ่งฃ TypeScript ๅฏน ES Modules ็š„็ฑปๅž‹ๅขžๅผบ๏ผŒๆถต็›– import type ่ฟ่กŒๆ—ถไผ˜ๅŒ–ใ€ๆŽฅๅฃๅฅ‘็บฆใ€ๅฃฐๆ˜Žๆ–‡ไปถ .d.ts ๅŠ tsconfig ๆจกๅ—ๅŒ–้…็ฝฎใ€‚\",\"permalink\":\"/fullstack/typescript-module-programming-enhancement\",\"tags\":[\"concept\",\"ๅ…จๆ ˆ\",\"typescript\",\"tsconfig\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไปŽ้€ป่พ‘้š”็ฆปๅˆฐ็ฑปๅž‹ๅฅ‘็บฆ๏ผšTypeScript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"date\":\"2024-05-16 21:27:36\",\"capture\":\"1. ๅผ•่จ€\\nๅœจๅŽŸ็”Ÿ JavaScript ๆจกๅ—ๅŒ–่งฃๅ†ณไบ†ไปฃ็ ็ป„็ป‡้—ฎ้ข˜ๅŽ๏ผŒTypeScript๏ผˆTS๏ผ‰่ฟ›ไธ€ๆญฅๅฐ†ๅ…ถๆŽจๅ‘ไบ†ๅทฅไธš็บง้ซ˜ๅบฆใ€‚TS ไธไป…ไป…ๆ˜ฏไธบๆจกๅ—ๆทปๅŠ ไบ†็ฑปๅž‹ๆ ‡ๆณจ๏ผŒๅฎƒ้€š่ฟ‡็ฑปๅž‹ๅฏผๅ‡บๅฏผๅ…ฅใ€็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ใ€ไปฅๅŠๅฃฐๆ˜Žๆ–‡ไปถ็ณป็ปŸ๏ผŒๅฐ†ๆจกๅ—้—ด็š„ไพ่ต–ๅ…ณ็ณปไปŽ็ฎ€ๅ•็š„โ€œไปฃ็ ๅผ•็”จโ€ๆๅ‡ๅˆฐไบ†โ€œๅฅ‘็บฆไบคไบ’โ€ใ€‚\\nๆœฌๆ–‡ๆˆ‘ไปฌๅฐ†่š็„ฆไบŽ TypeScript ๅฆ‚ไฝ•้€š่ฟ‡็ฑปๅž‹็ณป็ปŸๅขžๅผบๆจกๅ—ๅŒ–็ผ–็จ‹๏ผŒๅนถๆŽข่ฎจๅœจ็Žฐไปฃๅทฅ็จ‹๏ผˆๅฐคๅ…ถๆ˜ฏ TS 5.0+ ๆ—ถไปฃ๏ผ‰ไธ‹็š„ๆœ€ไฝณ้…็ฝฎๅฎž่ทตใ€‚\\n 2. ็ฑปๅž‹ๅฏผๅ‡บไธŽๅฏผๅ…ฅ๏ผšๆž่‡ด็š„่ฟ่กŒๆ—ถไผ˜ๅŒ–\\nTypeScript ๅฏน ES Modules ่ฏญๆณ•ๆœ€ๆ˜พ่‘—็š„ๆ‰ฉๅฑ•ๆ˜ฏๆ”ฏๆŒโ€œไป…็ฑปๅž‹โ€๏ผˆType-only๏ผ‰็š„ๅฏผๅ‡บไธŽๅฏผๅ…ฅใ€‚่ฟ™ไธไป…ๆ˜ฏ่ฏญไน‰ไธŠ็š„ๆธ…ๆ™ฐ๏ผŒๆ›ดๆ˜ฏๆ€ง\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"frontmatter\":{\"date\":\"2024-05-14 22:29:32\",\"title\":\"ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒๆ‹ฅๆŠฑๅŽŸ็”Ÿ๏ผšES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"tldr\":\"ES Modules ๆ ธๅฟƒ่ฏญๆณ•ไธŽๆ‰ง่กŒๆจกๅž‹๏ผš้™ๆ€ๅˆ†ๆžๅฆ‚ไฝ•้‡ๅก‘ๅ‰็ซฏๆž„ๅปบๆ•ˆ็އใ€‚\",\"description\":\"ๆทฑๅบฆ่งฃๆž ES Modules ๅ‘ฝๅๅฏผๅ‡บ/ๅฏผๅ…ฅใ€้ป˜่ฎคๅฏผๅ‡บใ€ๅŠจๆ€ๅฏผๅ…ฅ็ญ‰่ฏญๆณ•๏ผŒไปฅๅŠๆจกๅ—ๆ‰ง่กŒ้กบๅบใ€ๅพช็Žฏไพ่ต–ๅค„็†ไธŽ็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ๆœบๅˆถใ€‚\",\"permalink\":\"/fullstack/decode-es-modules\",\"tags\":[\"concept\",\"ESM\",\"static-analysis\",\"Tree-Shaking\",\"circular-dependency\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒๆ‹ฅๆŠฑๅŽŸ็”Ÿ๏ผšES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"date\":\"2024-05-14 22:29:32\",\"capture\":\"> \\n> ็†่งฃ ESM๏ผŒไธไป…ไป…ๆ˜ฏๅญฆไผš import ๅ’Œ export๏ผŒๆ›ด้‡่ฆ็š„ๆ˜ฏ็†่งฃๅฎƒๅฆ‚ไฝ•้€š่ฟ‡็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ๅฝปๅบ•ๆ”นๅ˜ไบ†ๅ‰็ซฏๆž„ๅปบ็š„ๆ•ˆ็އใ€‚\\n 1. ๅ‘ฝๅๅฏผๅ‡บไธŽๅฏผๅ…ฅ๏ผš็ฒพๅ‡†็š„ไปฃ็ ๅผ•็”จ\\nๅ‘ฝๅๅฏผๅ‡บ๏ผˆNamed Exports๏ผ‰ๆ˜ฏ ESM ๆœ€ๅธธ็”จ็š„ๅฝขๅผ๏ผŒๅฎƒๅ…่ฎธไธ€ไธชๆจกๅ—ๆšด้œฒๅคšไธชๆˆๅ‘˜ใ€‚ๅ…ถๆ ธๅฟƒไผ˜ๅŠฟๅœจไบŽ๏ผšๅฏผๅ…ฅๆ–นๅฏไปฅๆŒ‰้œ€ๅผ•ๅ…ฅ๏ผŒไธ” IDE ่ƒฝๆไพ›็ฒพๅ‡†็š„่กฅๅ…จใ€‚\\n่ฏญๆณ•ๅฎž่ทต๏ผš๏ผš\\n```javascript\\n// math.js - ๅ‘ฝๅๅฏผๅ‡บ\\n// ่กŒๅ†…ๅฏผๅ‡บ\\nexport const PI = 3.14159;\\nexport function circleArea(radius) {\\n return PI * rad\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2024-03-20 22:41:41\",\"title\":\"ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ๅœจ้œ€ๆฑ‚่พน็•Œๅ†…่ฟฝๆฑ‚ๆœ€ๅฐๅคๆ‚ๅบฆโ€”โ€”ไธๆ˜ฏๆ‹’็ปๅคๆ‚๏ผŒ่€Œๆ˜ฏไธไธปๅŠจๅˆถ้€ ๅคๆ‚ใ€‚\",\"description\":\"ๆทฑๅ…ฅ่งฃๆžๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™ๅœจ็ผ–็จ‹ไธŽ่ฎพ่ฎกไธญ็š„ๅ…ญๅคงๅœบๆ™ฏ๏ผšๆ‹’็ป่ฟ‡ๅบฆ้ข„ๅˆคใ€็งป้™คๅ†—ไฝ™้€ป่พ‘ใ€ๅŒน้…ๆžถๆž„่ง„ๆจกใ€ๅ…‹ๅˆถไพ่ต–ๅผ•ๅ…ฅใ€ๅฐ่ฃ…ๆœ€ๅฐๆŽฅๅฃใ€ๅ…ˆๆŽ’ๆŸฅ็ฎ€ๅ•ๅŽŸๅ› ๏ผŒๅนถ็ป™ๅ‡บไธ‰ไธชๅ…ณ้”ฎ่พน็•Œใ€‚\",\"permalink\":\"/fullstack/occams-razor-software-design\",\"tags\":[\"concept\",\"engineering-fundamentals\",\"code-design\",\"software-engineering\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2024-03-20 22:41:41\",\"capture\":\"<script setup\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n> ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™็”ฑ 14 ไธ–็บช้€ป่พ‘ๅญฆๅฎถๅจๅป‰ยทๅฅฅๅกๅง†ๆๅ‡บ๏ผŒๅ…ถๆ ธๅฟƒไธบ\\\"ๅฆ‚ๆ— ๅฟ…่ฆ๏ผŒๅ‹ฟๅขžๅฎžไฝ“\\\"โ€”โ€”ๅœจๅคšไธชๅŒ็ญ‰ๆœ‰ๆ•ˆ็š„ๆ–นๆกˆไธญ๏ผŒ้€‰ๆ‹ฉๅ‡่ฎพๆœ€ๅฐ‘ใ€ๆœ€็ฎ€ๆด็š„้‚ฃไธชใ€‚่ฏฅๅŽŸๅˆ™ๅนถ้žๅฆๅฎšๅคๆ‚ๆ€ง๏ผŒ่€Œๆ˜ฏ้ฟๅ…ๆ— ๆ„ไน‰็š„่ฟ‡ๅบฆ่ฎพ่ฎกใ€‚ๆ–‡็ซ ไปŽ็ผ–็จ‹ไธŽ่ฎพ่ฎกๅฎž่ทตๅ‡บๅ‘๏ผŒไพๆฌกๆŽข่ฎจไบ†้œ€ๆฑ‚ๅฎž็Žฐใ€ไปฃ็ ๅฎž็Žฐใ€ๆžถๆž„่ฎพ่ฎกใ€ไพ่ต–็ฎก็†ใ€ๆŽฅๅฃ่ฎพ่ฎกใ€่ฐƒ่ฏ•ไผ˜ๅŒ–ๅ…ญๅคงๅœบๆ™ฏ็š„ๅไพ‹ไธŽๆญฃไพ‹๏ผŒๅนถๆ˜Ž็กฎๆŒ‡ๅ‡บไธ‰ไธชๅ…ณ้”ฎ่พน็•Œ๏ผšไธๅฏ็‰บ็‰ฒๅฏ็ปดๆŠคๆ€งใ€ๅฏๆ‰ฉๅฑ•ๆ€งใ€ๅฎ‰ๅ…จๆ€งๆขๅ–็ฎ€ๆดใ€‚\\n 1.\"}],\"node.js\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–\",\"frontmatter\":{\"date\":\"2024-05-17 23:33:09\",\"title\":\"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“\",\"tldr\":\"Node.js CJS ไธŽ ESM ๅŒๆจกๅ…ฑๅญ˜๏ผšๆจกๅ—ๅŠ ่ฝฝๆœบๅˆถไธŽๅˆ†ๅฑ‚ๆžถๆž„ๅฎž่ทตใ€‚\",\"description\":\"่งฃๆž Node.js ไธญ CommonJS ไธŽ ES Modules ็š„ๅŒๆจกๅ…ฑๅญ˜็ญ–็•ฅ๏ผŒๆถต็›–ๆจกๅ—ๅŠ ่ฝฝไผ˜ๅ…ˆ็บงใ€็ผ“ๅญ˜ๆœบๅˆถใ€package.json exports ๆกไปถๅฏผๅ‡บๅŠ Monorepo ๆžถๆž„ๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/nodejs-module-programming-summary\",\"abstract\":\"Node.js ๆจกๅ—ๅŒ–็ปๅކไบ†ไปŽ CommonJS ็‹ฌ้œธๅคฉไธ‹ๅˆฐ ES Modules ๅ…จ้ขๆŽฅๅ…ฅ็š„่Œƒๅผ่ฝฌ็งปใ€‚ๅ…ฑๅญ˜็ญ–็•ฅ้€š่ฟ‡ .mjs/.cjs ๅŽ็ผ€ๅ’Œ package.json type ๅญ—ๆฎตๆŽงๅˆถไธค็ง่ง„่Œƒ็š„่พน็•Œ๏ผ›ESM ๅฏ็›ดๆŽฅ import CJS๏ผˆ่‡ชๅŠจๅŒ…่ฃ…ไธบ้ป˜่ฎคๅฏผๅ‡บ๏ผ‰๏ผŒไฝ† CJS ๆ— ๆณ• require ESM ๅฟ…้กปไฝฟ็”จๅŠจๆ€ importใ€‚ๆจกๅ—ๅŠ ่ฝฝ้ตๅพชๆ ธๅฟƒๆจกๅ—ไผ˜ๅ…ˆใ€ๆ–‡ไปถๆจกๅ—ใ€็›ฎๅฝ•ๆจกๅ—๏ผˆindex.js/package.json๏ผ‰ใ€node_modules ้€็บงๆŸฅๆ‰พ็š„ไผ˜ๅ…ˆ็บง๏ผ›require.cache ๅฎž็Žฐๆจกๅ—็ผ“ๅญ˜๏ผŒๆธ…้™ค็ผ“ๅญ˜๏ผˆdelete require.cache[path]๏ผ‰ๆ˜ฏ็ƒญๆ›ดๆ–ฐๅทฅๅ…ท็š„ๆ ธๅฟƒๆ“ไฝœใ€‚package.json exports ๅญ—ๆฎตๆ”ฏๆŒๆกไปถๅฏผๅ‡บ๏ผˆimport/require ่ฟ”ๅ›žไธๅŒๅ…ฅๅฃ๏ผ‰ใ€‚pnpm workspaces ๅ‡ญๅ€Ÿ็กฌ้“พๆŽฅๆœบๅˆถๆˆไธบ็Žฐไปฃ Monorepo ้ฆ–้€‰ใ€‚ๅŽ็ซฏๅˆ†ๅฑ‚ๆžถๆž„๏ผˆAPI/Service/Repository๏ผ‰ๅฎž็Žฐๅ…ณๆณจ็‚นๅˆ†็ฆป๏ผŒๆขๆ•ฐๆฎๅบ“ๅช้œ€ๆ”น Repository ๅฑ‚ใ€‚\",\"tags\":[\"concept\",\"node.js\",\"commonjs\",\"esm\",\"monorepo\",\"layered-architecture\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“\",\"date\":\"2024-05-17 23:33:09\",\"capture\":\"ๅฆ‚ๆžœ่ฏดๆต่งˆๅ™จ็ซฏ็š„ๆจกๅ—ๅŒ–ๆ˜ฏไธบไบ†\\\"ๆŒ‰้œ€ๅŠ ่ฝฝ\\\"๏ผŒ้‚ฃไนˆ Node.js ็š„ๆจกๅ—ๅŒ–ๅˆ™ๆ˜ฏไธบไบ†\\\"ไปฃ็ ็ป„็ป‡\\\"ใ€‚ไฝœไธบๅฐ† JavaScript ๅธฆๅ…ฅๆœๅŠกๅ™จ็ซฏ็š„ๅ…ˆ้ฉฑ๏ผŒNode.js ็ปๅކไบ†ไปŽ CommonJS (CJS) ็‹ฌ้œธๅคฉไธ‹ๅˆฐ ES Modules (ESM) ๅ…จ้ขๆŽฅๅ…ฅ็š„่Œƒๅผ่ฝฌ็งปใ€‚\\nๅœจๆœๅŠกๅ™จ็ซฏ๏ผŒๆจกๅ—ๅŒ–ไธไป…ไป…ๆ˜ฏไธบไบ†ๆ‹†ๅˆ†ไปฃ็ ๏ผŒๆ›ดๆ˜ฏไธบไบ†ๆž„ๅปบๆธ…ๆ™ฐ็š„้กน็›ฎ็ป“ๆž„ใ€็ฎก็†ไพ่ต–ๅ…ณ็ณป๏ผŒไปฅๅŠๅฎž็Žฐไปฃ็ ็š„ๅค็”จไธŽ็ปดๆŠคใ€‚\\n 1. CommonJS ไธŽ ES Modules ๅŒๆจกๅ…ฑๅญ˜\\nๅœจ็Žฐไปฃ Node.js ๅผ€ๅ‘ไธญ๏ผŒๆˆ‘ไปฌ็ปๅธธ้ขไธดไธค็ง่ง„่Œƒไบค็ป‡็š„ๆƒ…ๅ†ตใ€‚่ฟ™ไธไป…ๆ˜ฏๆ–‡ไปถๅŽ็ผ€็š„ๆ”นๅ˜๏ผŒๆ›ดๆ˜ฏๅŒๆญฅไธŽๅผ‚ๆญฅๅŠ ่ฝฝ้€ป่พ‘็š„ๅšๅผˆใ€‚\\nๅ…ฑๅญ˜็ญ–็•ฅ๏ผš\\n1. ๅŽ็ผ€ๅ†ณๅฎš่ฎบ๏ผš`.mjs\"}],\"commonjs\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–\",\"frontmatter\":{\"date\":\"2024-05-17 23:33:09\",\"title\":\"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“\",\"tldr\":\"Node.js CJS ไธŽ ESM ๅŒๆจกๅ…ฑๅญ˜๏ผšๆจกๅ—ๅŠ ่ฝฝๆœบๅˆถไธŽๅˆ†ๅฑ‚ๆžถๆž„ๅฎž่ทตใ€‚\",\"description\":\"่งฃๆž Node.js ไธญ CommonJS ไธŽ ES Modules ็š„ๅŒๆจกๅ…ฑๅญ˜็ญ–็•ฅ๏ผŒๆถต็›–ๆจกๅ—ๅŠ ่ฝฝไผ˜ๅ…ˆ็บงใ€็ผ“ๅญ˜ๆœบๅˆถใ€package.json exports ๆกไปถๅฏผๅ‡บๅŠ Monorepo ๆžถๆž„ๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/nodejs-module-programming-summary\",\"abstract\":\"Node.js ๆจกๅ—ๅŒ–็ปๅކไบ†ไปŽ CommonJS ็‹ฌ้œธๅคฉไธ‹ๅˆฐ ES Modules ๅ…จ้ขๆŽฅๅ…ฅ็š„่Œƒๅผ่ฝฌ็งปใ€‚ๅ…ฑๅญ˜็ญ–็•ฅ้€š่ฟ‡ .mjs/.cjs ๅŽ็ผ€ๅ’Œ package.json type ๅญ—ๆฎตๆŽงๅˆถไธค็ง่ง„่Œƒ็š„่พน็•Œ๏ผ›ESM ๅฏ็›ดๆŽฅ import CJS๏ผˆ่‡ชๅŠจๅŒ…่ฃ…ไธบ้ป˜่ฎคๅฏผๅ‡บ๏ผ‰๏ผŒไฝ† CJS ๆ— ๆณ• require ESM ๅฟ…้กปไฝฟ็”จๅŠจๆ€ importใ€‚ๆจกๅ—ๅŠ ่ฝฝ้ตๅพชๆ ธๅฟƒๆจกๅ—ไผ˜ๅ…ˆใ€ๆ–‡ไปถๆจกๅ—ใ€็›ฎๅฝ•ๆจกๅ—๏ผˆindex.js/package.json๏ผ‰ใ€node_modules ้€็บงๆŸฅๆ‰พ็š„ไผ˜ๅ…ˆ็บง๏ผ›require.cache ๅฎž็Žฐๆจกๅ—็ผ“ๅญ˜๏ผŒๆธ…้™ค็ผ“ๅญ˜๏ผˆdelete require.cache[path]๏ผ‰ๆ˜ฏ็ƒญๆ›ดๆ–ฐๅทฅๅ…ท็š„ๆ ธๅฟƒๆ“ไฝœใ€‚package.json exports ๅญ—ๆฎตๆ”ฏๆŒๆกไปถๅฏผๅ‡บ๏ผˆimport/require ่ฟ”ๅ›žไธๅŒๅ…ฅๅฃ๏ผ‰ใ€‚pnpm workspaces ๅ‡ญๅ€Ÿ็กฌ้“พๆŽฅๆœบๅˆถๆˆไธบ็Žฐไปฃ Monorepo ้ฆ–้€‰ใ€‚ๅŽ็ซฏๅˆ†ๅฑ‚ๆžถๆž„๏ผˆAPI/Service/Repository๏ผ‰ๅฎž็Žฐๅ…ณๆณจ็‚นๅˆ†็ฆป๏ผŒๆขๆ•ฐๆฎๅบ“ๅช้œ€ๆ”น Repository ๅฑ‚ใ€‚\",\"tags\":[\"concept\",\"node.js\",\"commonjs\",\"esm\",\"monorepo\",\"layered-architecture\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“\",\"date\":\"2024-05-17 23:33:09\",\"capture\":\"ๅฆ‚ๆžœ่ฏดๆต่งˆๅ™จ็ซฏ็š„ๆจกๅ—ๅŒ–ๆ˜ฏไธบไบ†\\\"ๆŒ‰้œ€ๅŠ ่ฝฝ\\\"๏ผŒ้‚ฃไนˆ Node.js ็š„ๆจกๅ—ๅŒ–ๅˆ™ๆ˜ฏไธบไบ†\\\"ไปฃ็ ็ป„็ป‡\\\"ใ€‚ไฝœไธบๅฐ† JavaScript ๅธฆๅ…ฅๆœๅŠกๅ™จ็ซฏ็š„ๅ…ˆ้ฉฑ๏ผŒNode.js ็ปๅކไบ†ไปŽ CommonJS (CJS) ็‹ฌ้œธๅคฉไธ‹ๅˆฐ ES Modules (ESM) ๅ…จ้ขๆŽฅๅ…ฅ็š„่Œƒๅผ่ฝฌ็งปใ€‚\\nๅœจๆœๅŠกๅ™จ็ซฏ๏ผŒๆจกๅ—ๅŒ–ไธไป…ไป…ๆ˜ฏไธบไบ†ๆ‹†ๅˆ†ไปฃ็ ๏ผŒๆ›ดๆ˜ฏไธบไบ†ๆž„ๅปบๆธ…ๆ™ฐ็š„้กน็›ฎ็ป“ๆž„ใ€็ฎก็†ไพ่ต–ๅ…ณ็ณป๏ผŒไปฅๅŠๅฎž็Žฐไปฃ็ ็š„ๅค็”จไธŽ็ปดๆŠคใ€‚\\n 1. CommonJS ไธŽ ES Modules ๅŒๆจกๅ…ฑๅญ˜\\nๅœจ็Žฐไปฃ Node.js ๅผ€ๅ‘ไธญ๏ผŒๆˆ‘ไปฌ็ปๅธธ้ขไธดไธค็ง่ง„่Œƒไบค็ป‡็š„ๆƒ…ๅ†ตใ€‚่ฟ™ไธไป…ๆ˜ฏๆ–‡ไปถๅŽ็ผ€็š„ๆ”นๅ˜๏ผŒๆ›ดๆ˜ฏๅŒๆญฅไธŽๅผ‚ๆญฅๅŠ ่ฝฝ้€ป่พ‘็š„ๅšๅผˆใ€‚\\nๅ…ฑๅญ˜็ญ–็•ฅ๏ผš\\n1. ๅŽ็ผ€ๅ†ณๅฎš่ฎบ๏ผš`.mjs\"}],\"esm\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–\",\"frontmatter\":{\"date\":\"2024-05-17 23:33:09\",\"title\":\"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“\",\"tldr\":\"Node.js CJS ไธŽ ESM ๅŒๆจกๅ…ฑๅญ˜๏ผšๆจกๅ—ๅŠ ่ฝฝๆœบๅˆถไธŽๅˆ†ๅฑ‚ๆžถๆž„ๅฎž่ทตใ€‚\",\"description\":\"่งฃๆž Node.js ไธญ CommonJS ไธŽ ES Modules ็š„ๅŒๆจกๅ…ฑๅญ˜็ญ–็•ฅ๏ผŒๆถต็›–ๆจกๅ—ๅŠ ่ฝฝไผ˜ๅ…ˆ็บงใ€็ผ“ๅญ˜ๆœบๅˆถใ€package.json exports ๆกไปถๅฏผๅ‡บๅŠ Monorepo ๆžถๆž„ๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/nodejs-module-programming-summary\",\"abstract\":\"Node.js ๆจกๅ—ๅŒ–็ปๅކไบ†ไปŽ CommonJS ็‹ฌ้œธๅคฉไธ‹ๅˆฐ ES Modules ๅ…จ้ขๆŽฅๅ…ฅ็š„่Œƒๅผ่ฝฌ็งปใ€‚ๅ…ฑๅญ˜็ญ–็•ฅ้€š่ฟ‡ .mjs/.cjs ๅŽ็ผ€ๅ’Œ package.json type ๅญ—ๆฎตๆŽงๅˆถไธค็ง่ง„่Œƒ็š„่พน็•Œ๏ผ›ESM ๅฏ็›ดๆŽฅ import CJS๏ผˆ่‡ชๅŠจๅŒ…่ฃ…ไธบ้ป˜่ฎคๅฏผๅ‡บ๏ผ‰๏ผŒไฝ† CJS ๆ— ๆณ• require ESM ๅฟ…้กปไฝฟ็”จๅŠจๆ€ importใ€‚ๆจกๅ—ๅŠ ่ฝฝ้ตๅพชๆ ธๅฟƒๆจกๅ—ไผ˜ๅ…ˆใ€ๆ–‡ไปถๆจกๅ—ใ€็›ฎๅฝ•ๆจกๅ—๏ผˆindex.js/package.json๏ผ‰ใ€node_modules ้€็บงๆŸฅๆ‰พ็š„ไผ˜ๅ…ˆ็บง๏ผ›require.cache ๅฎž็Žฐๆจกๅ—็ผ“ๅญ˜๏ผŒๆธ…้™ค็ผ“ๅญ˜๏ผˆdelete require.cache[path]๏ผ‰ๆ˜ฏ็ƒญๆ›ดๆ–ฐๅทฅๅ…ท็š„ๆ ธๅฟƒๆ“ไฝœใ€‚package.json exports ๅญ—ๆฎตๆ”ฏๆŒๆกไปถๅฏผๅ‡บ๏ผˆimport/require ่ฟ”ๅ›žไธๅŒๅ…ฅๅฃ๏ผ‰ใ€‚pnpm workspaces ๅ‡ญๅ€Ÿ็กฌ้“พๆŽฅๆœบๅˆถๆˆไธบ็Žฐไปฃ Monorepo ้ฆ–้€‰ใ€‚ๅŽ็ซฏๅˆ†ๅฑ‚ๆžถๆž„๏ผˆAPI/Service/Repository๏ผ‰ๅฎž็Žฐๅ…ณๆณจ็‚นๅˆ†็ฆป๏ผŒๆขๆ•ฐๆฎๅบ“ๅช้œ€ๆ”น Repository ๅฑ‚ใ€‚\",\"tags\":[\"concept\",\"node.js\",\"commonjs\",\"esm\",\"monorepo\",\"layered-architecture\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“\",\"date\":\"2024-05-17 23:33:09\",\"capture\":\"ๅฆ‚ๆžœ่ฏดๆต่งˆๅ™จ็ซฏ็š„ๆจกๅ—ๅŒ–ๆ˜ฏไธบไบ†\\\"ๆŒ‰้œ€ๅŠ ่ฝฝ\\\"๏ผŒ้‚ฃไนˆ Node.js ็š„ๆจกๅ—ๅŒ–ๅˆ™ๆ˜ฏไธบไบ†\\\"ไปฃ็ ็ป„็ป‡\\\"ใ€‚ไฝœไธบๅฐ† JavaScript ๅธฆๅ…ฅๆœๅŠกๅ™จ็ซฏ็š„ๅ…ˆ้ฉฑ๏ผŒNode.js ็ปๅކไบ†ไปŽ CommonJS (CJS) ็‹ฌ้œธๅคฉไธ‹ๅˆฐ ES Modules (ESM) ๅ…จ้ขๆŽฅๅ…ฅ็š„่Œƒๅผ่ฝฌ็งปใ€‚\\nๅœจๆœๅŠกๅ™จ็ซฏ๏ผŒๆจกๅ—ๅŒ–ไธไป…ไป…ๆ˜ฏไธบไบ†ๆ‹†ๅˆ†ไปฃ็ ๏ผŒๆ›ดๆ˜ฏไธบไบ†ๆž„ๅปบๆธ…ๆ™ฐ็š„้กน็›ฎ็ป“ๆž„ใ€็ฎก็†ไพ่ต–ๅ…ณ็ณป๏ผŒไปฅๅŠๅฎž็Žฐไปฃ็ ็š„ๅค็”จไธŽ็ปดๆŠคใ€‚\\n 1. CommonJS ไธŽ ES Modules ๅŒๆจกๅ…ฑๅญ˜\\nๅœจ็Žฐไปฃ Node.js ๅผ€ๅ‘ไธญ๏ผŒๆˆ‘ไปฌ็ปๅธธ้ขไธดไธค็ง่ง„่Œƒไบค็ป‡็š„ๆƒ…ๅ†ตใ€‚่ฟ™ไธไป…ๆ˜ฏๆ–‡ไปถๅŽ็ผ€็š„ๆ”นๅ˜๏ผŒๆ›ดๆ˜ฏๅŒๆญฅไธŽๅผ‚ๆญฅๅŠ ่ฝฝ้€ป่พ‘็š„ๅšๅผˆใ€‚\\nๅ…ฑๅญ˜็ญ–็•ฅ๏ผš\\n1. ๅŽ็ผ€ๅ†ณๅฎš่ฎบ๏ผš`.mjs\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€\",\"frontmatter\":{\"date\":\"2024-05-12 22:43:28\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ๏ผšๆฆ‚ๅฟตใ€ๆผ”่ฟ›ไธŽ่ฎพ่ฎกๆจกๅผ\",\"tldr\":\"ไปŽๅ…จๅฑ€ๅ˜้‡ๅˆฐ ES Modules๏ผšJavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›ไธŽๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผๅฎž่ทตใ€‚\",\"description\":\"็ณป็ปŸ่ฎฒ่งฃ JavaScript ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€๏ผŒๆถต็›– IIFEใ€CommonJSใ€ES Modules ่ง„่Œƒๆผ”่ฟ›๏ผŒไปฅๅŠๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผไธŽๆจกๅ—ๅŒ–็š„็ป“ๅˆใ€‚\",\"permalink\":\"/fullstack/frontend-module-programming-basic\",\"tags\":[\"tutorial\",\"javascript\",\"modularization\",\"esm\",\"design-patterns\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ๏ผšๆฆ‚ๅฟตใ€ๆผ”่ฟ›ไธŽ่ฎพ่ฎกๆจกๅผ\",\"date\":\"2024-05-12 22:43:28\",\"capture\":\"1. ๅผ•่จ€\\n้š็€้กน็›ฎ่ง„ๆจกๆ—ฅ็›Š่†จ่ƒ€๏ผŒไปฃ็ ้‡ไปŽๅ‡ ๅƒ่กŒ่ฟ…้€Ÿๅขž้•ฟๅˆฐๆ•ฐไธ‡็”š่‡ณๆ•ฐๅไธ‡่กŒ๏ผŒๅฐ†ๆ‰€ๆœ‰้€ป่พ‘ๅกž่ฟ›ๅฐ‘ๆ•ฐๅ‡ ไธชๆ–‡ไปถ็š„ๅšๆณ•ๆ—ฉๅทฒ้šพไปฅไธบ็ปงใ€‚ๅœจ่ฟ™ๆ ท็š„่ƒŒๆ™ฏไธ‹๏ผŒๆจกๅ—ๅŒ–็ผ–็จ‹ๅบ”่ฟ่€Œ็”Ÿ๏ผŒๆˆไธบ็Žฐไปฃๅ‰็ซฏๅผ€ๅ‘็š„ๆ ‡้…ใ€‚\\nๅฎƒ็š„ๆ ธๅฟƒ็†ๅฟต็ฎ€ๆด่€Œไผ˜้›…๏ผšๅƒๆญ็งฏๆœจไธ€ๆ ท๏ผŒๅฐ†ๅบžๅคงๅคๆ‚็š„็ณป็ปŸๆ‹†่งฃไธบไธ€ไธชไธช็‹ฌ็ซ‹ใ€ๅŠŸ่ƒฝๅ•ไธ€ไธ”ๅฏๅค็”จ็š„ๆจกๅ—๏ผŒ่ฎฉๆฏไธชๆจกๅ—ๅ„ๅธๅ…ถ่Œ๏ผŒๅ†้€š่ฟ‡ๆ ‡ๅ‡†ๆŽฅๅฃ็ตๆดป็ป„ๅˆใ€‚\\n 2. ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ\\nๅœจๆทฑๅ…ฅ็†่ฎบไน‹ๅ‰๏ผŒ่ฎฉๆˆ‘ไปฌๅ…ˆ้€š่ฟ‡ไธ€ไธช็ฎ€ๅ•็š„ JavaScript ็คบไพ‹๏ผŒ็›ด่ง‚ๅœฐๆ„Ÿๅ—ไธ€ไธ‹ไป€ไนˆๆ˜ฏๆจกๅ—ๅŒ–ใ€‚ๅ‡่ฎพๆˆ‘ไปฌ้œ€่ฆๅค„็†ไธ€ไบ›ๆ•ฐๅญฆ่ฟ็ฎ—๏ผŒๆˆ‘ไปฌๅฏไปฅๅฐ†ๅ…ถๅฐ่ฃ…ๆˆไธ€ไธช็‹ฌ็ซ‹็š„ๅทฅๅ…ทๆจกๅ—๏ผš\\n```javascript\\n// math.js - ๅฎšไน‰ไธ€ไธชๆ•ฐๅญฆๅทฅๅ…ทๆจกๅ—\\nexp\"}],\"monorepo\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–\",\"frontmatter\":{\"date\":\"2024-05-17 23:33:09\",\"title\":\"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“\",\"tldr\":\"Node.js CJS ไธŽ ESM ๅŒๆจกๅ…ฑๅญ˜๏ผšๆจกๅ—ๅŠ ่ฝฝๆœบๅˆถไธŽๅˆ†ๅฑ‚ๆžถๆž„ๅฎž่ทตใ€‚\",\"description\":\"่งฃๆž Node.js ไธญ CommonJS ไธŽ ES Modules ็š„ๅŒๆจกๅ…ฑๅญ˜็ญ–็•ฅ๏ผŒๆถต็›–ๆจกๅ—ๅŠ ่ฝฝไผ˜ๅ…ˆ็บงใ€็ผ“ๅญ˜ๆœบๅˆถใ€package.json exports ๆกไปถๅฏผๅ‡บๅŠ Monorepo ๆžถๆž„ๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/nodejs-module-programming-summary\",\"abstract\":\"Node.js ๆจกๅ—ๅŒ–็ปๅކไบ†ไปŽ CommonJS ็‹ฌ้œธๅคฉไธ‹ๅˆฐ ES Modules ๅ…จ้ขๆŽฅๅ…ฅ็š„่Œƒๅผ่ฝฌ็งปใ€‚ๅ…ฑๅญ˜็ญ–็•ฅ้€š่ฟ‡ .mjs/.cjs ๅŽ็ผ€ๅ’Œ package.json type ๅญ—ๆฎตๆŽงๅˆถไธค็ง่ง„่Œƒ็š„่พน็•Œ๏ผ›ESM ๅฏ็›ดๆŽฅ import CJS๏ผˆ่‡ชๅŠจๅŒ…่ฃ…ไธบ้ป˜่ฎคๅฏผๅ‡บ๏ผ‰๏ผŒไฝ† CJS ๆ— ๆณ• require ESM ๅฟ…้กปไฝฟ็”จๅŠจๆ€ importใ€‚ๆจกๅ—ๅŠ ่ฝฝ้ตๅพชๆ ธๅฟƒๆจกๅ—ไผ˜ๅ…ˆใ€ๆ–‡ไปถๆจกๅ—ใ€็›ฎๅฝ•ๆจกๅ—๏ผˆindex.js/package.json๏ผ‰ใ€node_modules ้€็บงๆŸฅๆ‰พ็š„ไผ˜ๅ…ˆ็บง๏ผ›require.cache ๅฎž็Žฐๆจกๅ—็ผ“ๅญ˜๏ผŒๆธ…้™ค็ผ“ๅญ˜๏ผˆdelete require.cache[path]๏ผ‰ๆ˜ฏ็ƒญๆ›ดๆ–ฐๅทฅๅ…ท็š„ๆ ธๅฟƒๆ“ไฝœใ€‚package.json exports ๅญ—ๆฎตๆ”ฏๆŒๆกไปถๅฏผๅ‡บ๏ผˆimport/require ่ฟ”ๅ›žไธๅŒๅ…ฅๅฃ๏ผ‰ใ€‚pnpm workspaces ๅ‡ญๅ€Ÿ็กฌ้“พๆŽฅๆœบๅˆถๆˆไธบ็Žฐไปฃ Monorepo ้ฆ–้€‰ใ€‚ๅŽ็ซฏๅˆ†ๅฑ‚ๆžถๆž„๏ผˆAPI/Service/Repository๏ผ‰ๅฎž็Žฐๅ…ณๆณจ็‚นๅˆ†็ฆป๏ผŒๆขๆ•ฐๆฎๅบ“ๅช้œ€ๆ”น Repository ๅฑ‚ใ€‚\",\"tags\":[\"concept\",\"node.js\",\"commonjs\",\"esm\",\"monorepo\",\"layered-architecture\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“\",\"date\":\"2024-05-17 23:33:09\",\"capture\":\"ๅฆ‚ๆžœ่ฏดๆต่งˆๅ™จ็ซฏ็š„ๆจกๅ—ๅŒ–ๆ˜ฏไธบไบ†\\\"ๆŒ‰้œ€ๅŠ ่ฝฝ\\\"๏ผŒ้‚ฃไนˆ Node.js ็š„ๆจกๅ—ๅŒ–ๅˆ™ๆ˜ฏไธบไบ†\\\"ไปฃ็ ็ป„็ป‡\\\"ใ€‚ไฝœไธบๅฐ† JavaScript ๅธฆๅ…ฅๆœๅŠกๅ™จ็ซฏ็š„ๅ…ˆ้ฉฑ๏ผŒNode.js ็ปๅކไบ†ไปŽ CommonJS (CJS) ็‹ฌ้œธๅคฉไธ‹ๅˆฐ ES Modules (ESM) ๅ…จ้ขๆŽฅๅ…ฅ็š„่Œƒๅผ่ฝฌ็งปใ€‚\\nๅœจๆœๅŠกๅ™จ็ซฏ๏ผŒๆจกๅ—ๅŒ–ไธไป…ไป…ๆ˜ฏไธบไบ†ๆ‹†ๅˆ†ไปฃ็ ๏ผŒๆ›ดๆ˜ฏไธบไบ†ๆž„ๅปบๆธ…ๆ™ฐ็š„้กน็›ฎ็ป“ๆž„ใ€็ฎก็†ไพ่ต–ๅ…ณ็ณป๏ผŒไปฅๅŠๅฎž็Žฐไปฃ็ ็š„ๅค็”จไธŽ็ปดๆŠคใ€‚\\n 1. CommonJS ไธŽ ES Modules ๅŒๆจกๅ…ฑๅญ˜\\nๅœจ็Žฐไปฃ Node.js ๅผ€ๅ‘ไธญ๏ผŒๆˆ‘ไปฌ็ปๅธธ้ขไธดไธค็ง่ง„่Œƒไบค็ป‡็š„ๆƒ…ๅ†ตใ€‚่ฟ™ไธไป…ๆ˜ฏๆ–‡ไปถๅŽ็ผ€็š„ๆ”นๅ˜๏ผŒๆ›ดๆ˜ฏๅŒๆญฅไธŽๅผ‚ๆญฅๅŠ ่ฝฝ้€ป่พ‘็š„ๅšๅผˆใ€‚\\nๅ…ฑๅญ˜็ญ–็•ฅ๏ผš\\n1. ๅŽ็ผ€ๅ†ณๅฎš่ฎบ๏ผš`.mjs\"}],\"layered-architecture\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–\",\"frontmatter\":{\"date\":\"2024-05-17 23:33:09\",\"title\":\"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“\",\"tldr\":\"Node.js CJS ไธŽ ESM ๅŒๆจกๅ…ฑๅญ˜๏ผšๆจกๅ—ๅŠ ่ฝฝๆœบๅˆถไธŽๅˆ†ๅฑ‚ๆžถๆž„ๅฎž่ทตใ€‚\",\"description\":\"่งฃๆž Node.js ไธญ CommonJS ไธŽ ES Modules ็š„ๅŒๆจกๅ…ฑๅญ˜็ญ–็•ฅ๏ผŒๆถต็›–ๆจกๅ—ๅŠ ่ฝฝไผ˜ๅ…ˆ็บงใ€็ผ“ๅญ˜ๆœบๅˆถใ€package.json exports ๆกไปถๅฏผๅ‡บๅŠ Monorepo ๆžถๆž„ๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/nodejs-module-programming-summary\",\"abstract\":\"Node.js ๆจกๅ—ๅŒ–็ปๅކไบ†ไปŽ CommonJS ็‹ฌ้œธๅคฉไธ‹ๅˆฐ ES Modules ๅ…จ้ขๆŽฅๅ…ฅ็š„่Œƒๅผ่ฝฌ็งปใ€‚ๅ…ฑๅญ˜็ญ–็•ฅ้€š่ฟ‡ .mjs/.cjs ๅŽ็ผ€ๅ’Œ package.json type ๅญ—ๆฎตๆŽงๅˆถไธค็ง่ง„่Œƒ็š„่พน็•Œ๏ผ›ESM ๅฏ็›ดๆŽฅ import CJS๏ผˆ่‡ชๅŠจๅŒ…่ฃ…ไธบ้ป˜่ฎคๅฏผๅ‡บ๏ผ‰๏ผŒไฝ† CJS ๆ— ๆณ• require ESM ๅฟ…้กปไฝฟ็”จๅŠจๆ€ importใ€‚ๆจกๅ—ๅŠ ่ฝฝ้ตๅพชๆ ธๅฟƒๆจกๅ—ไผ˜ๅ…ˆใ€ๆ–‡ไปถๆจกๅ—ใ€็›ฎๅฝ•ๆจกๅ—๏ผˆindex.js/package.json๏ผ‰ใ€node_modules ้€็บงๆŸฅๆ‰พ็š„ไผ˜ๅ…ˆ็บง๏ผ›require.cache ๅฎž็Žฐๆจกๅ—็ผ“ๅญ˜๏ผŒๆธ…้™ค็ผ“ๅญ˜๏ผˆdelete require.cache[path]๏ผ‰ๆ˜ฏ็ƒญๆ›ดๆ–ฐๅทฅๅ…ท็š„ๆ ธๅฟƒๆ“ไฝœใ€‚package.json exports ๅญ—ๆฎตๆ”ฏๆŒๆกไปถๅฏผๅ‡บ๏ผˆimport/require ่ฟ”ๅ›žไธๅŒๅ…ฅๅฃ๏ผ‰ใ€‚pnpm workspaces ๅ‡ญๅ€Ÿ็กฌ้“พๆŽฅๆœบๅˆถๆˆไธบ็Žฐไปฃ Monorepo ้ฆ–้€‰ใ€‚ๅŽ็ซฏๅˆ†ๅฑ‚ๆžถๆž„๏ผˆAPI/Service/Repository๏ผ‰ๅฎž็Žฐๅ…ณๆณจ็‚นๅˆ†็ฆป๏ผŒๆขๆ•ฐๆฎๅบ“ๅช้œ€ๆ”น Repository ๅฑ‚ใ€‚\",\"tags\":[\"concept\",\"node.js\",\"commonjs\",\"esm\",\"monorepo\",\"layered-architecture\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“\",\"date\":\"2024-05-17 23:33:09\",\"capture\":\"ๅฆ‚ๆžœ่ฏดๆต่งˆๅ™จ็ซฏ็š„ๆจกๅ—ๅŒ–ๆ˜ฏไธบไบ†\\\"ๆŒ‰้œ€ๅŠ ่ฝฝ\\\"๏ผŒ้‚ฃไนˆ Node.js ็š„ๆจกๅ—ๅŒ–ๅˆ™ๆ˜ฏไธบไบ†\\\"ไปฃ็ ็ป„็ป‡\\\"ใ€‚ไฝœไธบๅฐ† JavaScript ๅธฆๅ…ฅๆœๅŠกๅ™จ็ซฏ็š„ๅ…ˆ้ฉฑ๏ผŒNode.js ็ปๅކไบ†ไปŽ CommonJS (CJS) ็‹ฌ้œธๅคฉไธ‹ๅˆฐ ES Modules (ESM) ๅ…จ้ขๆŽฅๅ…ฅ็š„่Œƒๅผ่ฝฌ็งปใ€‚\\nๅœจๆœๅŠกๅ™จ็ซฏ๏ผŒๆจกๅ—ๅŒ–ไธไป…ไป…ๆ˜ฏไธบไบ†ๆ‹†ๅˆ†ไปฃ็ ๏ผŒๆ›ดๆ˜ฏไธบไบ†ๆž„ๅปบๆธ…ๆ™ฐ็š„้กน็›ฎ็ป“ๆž„ใ€็ฎก็†ไพ่ต–ๅ…ณ็ณป๏ผŒไปฅๅŠๅฎž็Žฐไปฃ็ ็š„ๅค็”จไธŽ็ปดๆŠคใ€‚\\n 1. CommonJS ไธŽ ES Modules ๅŒๆจกๅ…ฑๅญ˜\\nๅœจ็Žฐไปฃ Node.js ๅผ€ๅ‘ไธญ๏ผŒๆˆ‘ไปฌ็ปๅธธ้ขไธดไธค็ง่ง„่Œƒไบค็ป‡็š„ๆƒ…ๅ†ตใ€‚่ฟ™ไธไป…ๆ˜ฏๆ–‡ไปถๅŽ็ผ€็š„ๆ”นๅ˜๏ผŒๆ›ดๆ˜ฏๅŒๆญฅไธŽๅผ‚ๆญฅๅŠ ่ฝฝ้€ป่พ‘็š„ๅšๅผˆใ€‚\\nๅ…ฑๅญ˜็ญ–็•ฅ๏ผš\\n1. ๅŽ็ผ€ๅ†ณๅฎš่ฎบ๏ผš`.mjs\"}],\"solid-principles\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต\",\"frontmatter\":{\"date\":\"2024-05-17 22:30:50\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ๆขณ็†ไธŽๆ€ป็ป“\",\"tldr\":\"ๆŽŒๆก้ซ˜ๅ†…่šไฝŽ่€ฆๅˆๅŽŸๅˆ™๏ผšๆจกๅ—ๅŒ–็ผ–็จ‹็š„่ฎพ่ฎกๅ‡†ๅˆ™ไธŽ็ฒ’ๅบฆๆŽงๅˆถใ€‚\",\"description\":\"็ณป็ปŸๆขณ็†ๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅ…ญๅคงๆ ธๅฟƒๅŽŸๅˆ™๏ผšๅ•ไธ€่Œ่ดฃใ€้ซ˜ๅ†…่šไฝŽ่€ฆๅˆใ€็ฒ’ๅบฆ่ฎพ่ฎกใ€ๅ‘ฝๅ่ง„่ŒƒๅŠๆจกๅ—็‰ˆๆœฌ็ฎก็†๏ผŒ้™„่ฏฆ็ป†็š„ๅทฅ็จ‹ๅฎž่ทตๅปบ่ฎฎไธŽ้ฟๅ‘ๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/fullstack/module-programming-principles-best-practices\",\"abstract\":\"ๅฆ‚ๆžœ่ฏดๆŽŒๆกๆจกๅ—ๅŒ–่ฏญๆณ•ๆ˜ฏๆœฏ๏ผŒ้‚ฃไนˆ็†่งฃๅ…ถ่ƒŒๅŽ็š„่ฎพ่ฎกๅŽŸๅˆ™ๅฐฑๆ˜ฏ้“ใ€‚ๅ•ไธ€่Œ่ดฃๅŽŸๅˆ™ๅผบ่ฐƒๆจกๅ—ๅชๅบ”ๆœ‰ไธ€ไธช่ขซๆ”นๅ˜็š„ๅŽŸๅ› ๏ผŒ้ฟๅ… God Object ๅๆจกๅผใ€‚้ซ˜ๅ†…่šไฝŽ่€ฆๅˆๆ˜ฏ่กก้‡ๆจกๅ—่ดจ้‡็š„็ปˆๆžๆ ‡ๅ‡†โ€”โ€”ๆจกๅ—ๅ†…้ƒจๅ…ƒ็ด ่”็ณป็ดงๅฏ†๏ผŒๆจกๅ—ไน‹้—ดไพ่ต–ๅ…ณ็ณปๅฐฝๅฏ่ƒฝ็ฎ€ๅ•ใ€‚็ฒ’ๅบฆ่ฎพ่ฎก่ฆๆฑ‚ๅ•ไธชๆจกๅ—ไฟๆŒๅœจ 100-500 ่กŒไน‹้—ด๏ผŒๅŠŸ่ƒฝ่ƒฝ็”จไธ€ๅฅ่ฏๆธ…ๆ™ฐๆ่ฟฐ๏ผŒๅ‡บ็Žฐๅคšๅˆ†ๆ”ฏๅคๆ‚้€ป่พ‘ๆ—ถ้€šๅธธๆ˜ฏๆ‹†ๅˆ†ไฟกๅทใ€‚ๅ‘ฝๅ่ง„่Œƒ็ปŸไธ€ๅ›ข้˜ŸๆฒŸ้€š่ฏญๅขƒ๏ผˆkebab-case ๆ–‡ไปถๅใ€camelCase ๆ–นๆณ•ๅใ€PascalCase ็ฑปๅ๏ผ‰ใ€‚ๆจกๅ—็‰ˆๆœฌ็ฎก็†้ตๅพช SemVer ่ฏญไน‰ๅŒ–็‰ˆๆœฌ๏ผŒไธบๅ…ฌๅ…ฑๆจกๅ—็š„็ปดๆŠค่€…ไธŽไฝฟ็”จ่€…ๅปบ็ซ‹ๅฅ‘็บฆใ€‚ๅผบ่ฐƒๆธ…ๆ™ฐ็š„ๆจกๅ—่พน็•Œๆ˜ฏ AI ่พ…ๅŠฉ็ผ–็จ‹ๆ—ถไปฃ AI ๅ‡†็กฎ็†่งฃไปฃ็ ็š„ๅ‰ๆใ€‚\",\"tags\":[\"concept\",\"solid-principles\",\"code-organization\",\"best-practices\",\"naming-conventions\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ๆขณ็†ไธŽๆ€ป็ป“\",\"date\":\"2024-05-17 22:30:50\",\"capture\":\"1. ๅ•ไธ€่Œ่ดฃๅŽŸๅˆ™\\nๆ ธๅฟƒๆ€ๆƒณ๏ผšไธ€ไธชๆจกๅ—ๅบ”ๅฝ“ๆœ‰ไธ”ๅชๆœ‰ไธ€ไธช่ขซๆ”นๅ˜็š„ๅŽŸๅ› ใ€‚\\nๆจกๅ—ไธๅบ”ๆˆไธบๅŠŸ่ƒฝ็š„โ€œๆ‚่ดง้“บโ€ใ€‚ๅฝ“ไธ€ไธชๆจกๅ—ๆ‰ฟๆ‹…ไบ†ๅคชๅคšไธ็›ธๅ…ณ็š„ไธšๅŠก้€ป่พ‘ๆ—ถ๏ผŒๅฎƒ็š„ๅคๆ‚ๅบฆไผšๅ‘ˆๆŒ‡ๆ•ฐ็บงไธŠๅ‡๏ผŒไปปไฝ•ๅพฎๅฐ็š„ๆ”นๅŠจ้ƒฝๅฏ่ƒฝๅผ•ๅ‘ๆ„ๆƒณไธๅˆฐ็š„่ฟž้”ๅๅบ”ใ€‚\\nไปฃ็ ๆผ”็คบ๏ผš\\n```javascript\\n// โœ… ๆŽจ่๏ผš่Œ่ดฃๆ‹†ๅˆ†ๆ˜Ž็กฎ\\n// user-service.js - ไป…ๅค„็†็”จๆˆทๆ•ฐๆฎ็š„ CRUD\\nexport const getUser = async (id) => { /* ... */ };\\n// auth-provider.js - ไป…ๅค„็†้‰ดๆƒ็Šถๆ€ไธŽ้€ป่พ‘\\nexport const login = async (credenti\"}],\"code-organization\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต\",\"frontmatter\":{\"date\":\"2024-05-17 22:30:50\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ๆขณ็†ไธŽๆ€ป็ป“\",\"tldr\":\"ๆŽŒๆก้ซ˜ๅ†…่šไฝŽ่€ฆๅˆๅŽŸๅˆ™๏ผšๆจกๅ—ๅŒ–็ผ–็จ‹็š„่ฎพ่ฎกๅ‡†ๅˆ™ไธŽ็ฒ’ๅบฆๆŽงๅˆถใ€‚\",\"description\":\"็ณป็ปŸๆขณ็†ๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅ…ญๅคงๆ ธๅฟƒๅŽŸๅˆ™๏ผšๅ•ไธ€่Œ่ดฃใ€้ซ˜ๅ†…่šไฝŽ่€ฆๅˆใ€็ฒ’ๅบฆ่ฎพ่ฎกใ€ๅ‘ฝๅ่ง„่ŒƒๅŠๆจกๅ—็‰ˆๆœฌ็ฎก็†๏ผŒ้™„่ฏฆ็ป†็š„ๅทฅ็จ‹ๅฎž่ทตๅปบ่ฎฎไธŽ้ฟๅ‘ๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/fullstack/module-programming-principles-best-practices\",\"abstract\":\"ๅฆ‚ๆžœ่ฏดๆŽŒๆกๆจกๅ—ๅŒ–่ฏญๆณ•ๆ˜ฏๆœฏ๏ผŒ้‚ฃไนˆ็†่งฃๅ…ถ่ƒŒๅŽ็š„่ฎพ่ฎกๅŽŸๅˆ™ๅฐฑๆ˜ฏ้“ใ€‚ๅ•ไธ€่Œ่ดฃๅŽŸๅˆ™ๅผบ่ฐƒๆจกๅ—ๅชๅบ”ๆœ‰ไธ€ไธช่ขซๆ”นๅ˜็š„ๅŽŸๅ› ๏ผŒ้ฟๅ… God Object ๅๆจกๅผใ€‚้ซ˜ๅ†…่šไฝŽ่€ฆๅˆๆ˜ฏ่กก้‡ๆจกๅ—่ดจ้‡็š„็ปˆๆžๆ ‡ๅ‡†โ€”โ€”ๆจกๅ—ๅ†…้ƒจๅ…ƒ็ด ่”็ณป็ดงๅฏ†๏ผŒๆจกๅ—ไน‹้—ดไพ่ต–ๅ…ณ็ณปๅฐฝๅฏ่ƒฝ็ฎ€ๅ•ใ€‚็ฒ’ๅบฆ่ฎพ่ฎก่ฆๆฑ‚ๅ•ไธชๆจกๅ—ไฟๆŒๅœจ 100-500 ่กŒไน‹้—ด๏ผŒๅŠŸ่ƒฝ่ƒฝ็”จไธ€ๅฅ่ฏๆธ…ๆ™ฐๆ่ฟฐ๏ผŒๅ‡บ็Žฐๅคšๅˆ†ๆ”ฏๅคๆ‚้€ป่พ‘ๆ—ถ้€šๅธธๆ˜ฏๆ‹†ๅˆ†ไฟกๅทใ€‚ๅ‘ฝๅ่ง„่Œƒ็ปŸไธ€ๅ›ข้˜ŸๆฒŸ้€š่ฏญๅขƒ๏ผˆkebab-case ๆ–‡ไปถๅใ€camelCase ๆ–นๆณ•ๅใ€PascalCase ็ฑปๅ๏ผ‰ใ€‚ๆจกๅ—็‰ˆๆœฌ็ฎก็†้ตๅพช SemVer ่ฏญไน‰ๅŒ–็‰ˆๆœฌ๏ผŒไธบๅ…ฌๅ…ฑๆจกๅ—็š„็ปดๆŠค่€…ไธŽไฝฟ็”จ่€…ๅปบ็ซ‹ๅฅ‘็บฆใ€‚ๅผบ่ฐƒๆธ…ๆ™ฐ็š„ๆจกๅ—่พน็•Œๆ˜ฏ AI ่พ…ๅŠฉ็ผ–็จ‹ๆ—ถไปฃ AI ๅ‡†็กฎ็†่งฃไปฃ็ ็š„ๅ‰ๆใ€‚\",\"tags\":[\"concept\",\"solid-principles\",\"code-organization\",\"best-practices\",\"naming-conventions\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ๆขณ็†ไธŽๆ€ป็ป“\",\"date\":\"2024-05-17 22:30:50\",\"capture\":\"1. ๅ•ไธ€่Œ่ดฃๅŽŸๅˆ™\\nๆ ธๅฟƒๆ€ๆƒณ๏ผšไธ€ไธชๆจกๅ—ๅบ”ๅฝ“ๆœ‰ไธ”ๅชๆœ‰ไธ€ไธช่ขซๆ”นๅ˜็š„ๅŽŸๅ› ใ€‚\\nๆจกๅ—ไธๅบ”ๆˆไธบๅŠŸ่ƒฝ็š„โ€œๆ‚่ดง้“บโ€ใ€‚ๅฝ“ไธ€ไธชๆจกๅ—ๆ‰ฟๆ‹…ไบ†ๅคชๅคšไธ็›ธๅ…ณ็š„ไธšๅŠก้€ป่พ‘ๆ—ถ๏ผŒๅฎƒ็š„ๅคๆ‚ๅบฆไผšๅ‘ˆๆŒ‡ๆ•ฐ็บงไธŠๅ‡๏ผŒไปปไฝ•ๅพฎๅฐ็š„ๆ”นๅŠจ้ƒฝๅฏ่ƒฝๅผ•ๅ‘ๆ„ๆƒณไธๅˆฐ็š„่ฟž้”ๅๅบ”ใ€‚\\nไปฃ็ ๆผ”็คบ๏ผš\\n```javascript\\n// โœ… ๆŽจ่๏ผš่Œ่ดฃๆ‹†ๅˆ†ๆ˜Ž็กฎ\\n// user-service.js - ไป…ๅค„็†็”จๆˆทๆ•ฐๆฎ็š„ CRUD\\nexport const getUser = async (id) => { /* ... */ };\\n// auth-provider.js - ไป…ๅค„็†้‰ดๆƒ็Šถๆ€ไธŽ้€ป่พ‘\\nexport const login = async (credenti\"}],\"best-practices\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต\",\"frontmatter\":{\"date\":\"2024-05-17 22:30:50\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ๆขณ็†ไธŽๆ€ป็ป“\",\"tldr\":\"ๆŽŒๆก้ซ˜ๅ†…่šไฝŽ่€ฆๅˆๅŽŸๅˆ™๏ผšๆจกๅ—ๅŒ–็ผ–็จ‹็š„่ฎพ่ฎกๅ‡†ๅˆ™ไธŽ็ฒ’ๅบฆๆŽงๅˆถใ€‚\",\"description\":\"็ณป็ปŸๆขณ็†ๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅ…ญๅคงๆ ธๅฟƒๅŽŸๅˆ™๏ผšๅ•ไธ€่Œ่ดฃใ€้ซ˜ๅ†…่šไฝŽ่€ฆๅˆใ€็ฒ’ๅบฆ่ฎพ่ฎกใ€ๅ‘ฝๅ่ง„่ŒƒๅŠๆจกๅ—็‰ˆๆœฌ็ฎก็†๏ผŒ้™„่ฏฆ็ป†็š„ๅทฅ็จ‹ๅฎž่ทตๅปบ่ฎฎไธŽ้ฟๅ‘ๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/fullstack/module-programming-principles-best-practices\",\"abstract\":\"ๅฆ‚ๆžœ่ฏดๆŽŒๆกๆจกๅ—ๅŒ–่ฏญๆณ•ๆ˜ฏๆœฏ๏ผŒ้‚ฃไนˆ็†่งฃๅ…ถ่ƒŒๅŽ็š„่ฎพ่ฎกๅŽŸๅˆ™ๅฐฑๆ˜ฏ้“ใ€‚ๅ•ไธ€่Œ่ดฃๅŽŸๅˆ™ๅผบ่ฐƒๆจกๅ—ๅชๅบ”ๆœ‰ไธ€ไธช่ขซๆ”นๅ˜็š„ๅŽŸๅ› ๏ผŒ้ฟๅ… God Object ๅๆจกๅผใ€‚้ซ˜ๅ†…่šไฝŽ่€ฆๅˆๆ˜ฏ่กก้‡ๆจกๅ—่ดจ้‡็š„็ปˆๆžๆ ‡ๅ‡†โ€”โ€”ๆจกๅ—ๅ†…้ƒจๅ…ƒ็ด ่”็ณป็ดงๅฏ†๏ผŒๆจกๅ—ไน‹้—ดไพ่ต–ๅ…ณ็ณปๅฐฝๅฏ่ƒฝ็ฎ€ๅ•ใ€‚็ฒ’ๅบฆ่ฎพ่ฎก่ฆๆฑ‚ๅ•ไธชๆจกๅ—ไฟๆŒๅœจ 100-500 ่กŒไน‹้—ด๏ผŒๅŠŸ่ƒฝ่ƒฝ็”จไธ€ๅฅ่ฏๆธ…ๆ™ฐๆ่ฟฐ๏ผŒๅ‡บ็Žฐๅคšๅˆ†ๆ”ฏๅคๆ‚้€ป่พ‘ๆ—ถ้€šๅธธๆ˜ฏๆ‹†ๅˆ†ไฟกๅทใ€‚ๅ‘ฝๅ่ง„่Œƒ็ปŸไธ€ๅ›ข้˜ŸๆฒŸ้€š่ฏญๅขƒ๏ผˆkebab-case ๆ–‡ไปถๅใ€camelCase ๆ–นๆณ•ๅใ€PascalCase ็ฑปๅ๏ผ‰ใ€‚ๆจกๅ—็‰ˆๆœฌ็ฎก็†้ตๅพช SemVer ่ฏญไน‰ๅŒ–็‰ˆๆœฌ๏ผŒไธบๅ…ฌๅ…ฑๆจกๅ—็š„็ปดๆŠค่€…ไธŽไฝฟ็”จ่€…ๅปบ็ซ‹ๅฅ‘็บฆใ€‚ๅผบ่ฐƒๆธ…ๆ™ฐ็š„ๆจกๅ—่พน็•Œๆ˜ฏ AI ่พ…ๅŠฉ็ผ–็จ‹ๆ—ถไปฃ AI ๅ‡†็กฎ็†่งฃไปฃ็ ็š„ๅ‰ๆใ€‚\",\"tags\":[\"concept\",\"solid-principles\",\"code-organization\",\"best-practices\",\"naming-conventions\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ๆขณ็†ไธŽๆ€ป็ป“\",\"date\":\"2024-05-17 22:30:50\",\"capture\":\"1. ๅ•ไธ€่Œ่ดฃๅŽŸๅˆ™\\nๆ ธๅฟƒๆ€ๆƒณ๏ผšไธ€ไธชๆจกๅ—ๅบ”ๅฝ“ๆœ‰ไธ”ๅชๆœ‰ไธ€ไธช่ขซๆ”นๅ˜็š„ๅŽŸๅ› ใ€‚\\nๆจกๅ—ไธๅบ”ๆˆไธบๅŠŸ่ƒฝ็š„โ€œๆ‚่ดง้“บโ€ใ€‚ๅฝ“ไธ€ไธชๆจกๅ—ๆ‰ฟๆ‹…ไบ†ๅคชๅคšไธ็›ธๅ…ณ็š„ไธšๅŠก้€ป่พ‘ๆ—ถ๏ผŒๅฎƒ็š„ๅคๆ‚ๅบฆไผšๅ‘ˆๆŒ‡ๆ•ฐ็บงไธŠๅ‡๏ผŒไปปไฝ•ๅพฎๅฐ็š„ๆ”นๅŠจ้ƒฝๅฏ่ƒฝๅผ•ๅ‘ๆ„ๆƒณไธๅˆฐ็š„่ฟž้”ๅๅบ”ใ€‚\\nไปฃ็ ๆผ”็คบ๏ผš\\n```javascript\\n// โœ… ๆŽจ่๏ผš่Œ่ดฃๆ‹†ๅˆ†ๆ˜Ž็กฎ\\n// user-service.js - ไป…ๅค„็†็”จๆˆทๆ•ฐๆฎ็š„ CRUD\\nexport const getUser = async (id) => { /* ... */ };\\n// auth-provider.js - ไป…ๅค„็†้‰ดๆƒ็Šถๆ€ไธŽ้€ป่พ‘\\nexport const login = async (credenti\"}],\"naming-conventions\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต\",\"frontmatter\":{\"date\":\"2024-05-17 22:30:50\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ๆขณ็†ไธŽๆ€ป็ป“\",\"tldr\":\"ๆŽŒๆก้ซ˜ๅ†…่šไฝŽ่€ฆๅˆๅŽŸๅˆ™๏ผšๆจกๅ—ๅŒ–็ผ–็จ‹็š„่ฎพ่ฎกๅ‡†ๅˆ™ไธŽ็ฒ’ๅบฆๆŽงๅˆถใ€‚\",\"description\":\"็ณป็ปŸๆขณ็†ๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅ…ญๅคงๆ ธๅฟƒๅŽŸๅˆ™๏ผšๅ•ไธ€่Œ่ดฃใ€้ซ˜ๅ†…่šไฝŽ่€ฆๅˆใ€็ฒ’ๅบฆ่ฎพ่ฎกใ€ๅ‘ฝๅ่ง„่ŒƒๅŠๆจกๅ—็‰ˆๆœฌ็ฎก็†๏ผŒ้™„่ฏฆ็ป†็š„ๅทฅ็จ‹ๅฎž่ทตๅปบ่ฎฎไธŽ้ฟๅ‘ๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/fullstack/module-programming-principles-best-practices\",\"abstract\":\"ๅฆ‚ๆžœ่ฏดๆŽŒๆกๆจกๅ—ๅŒ–่ฏญๆณ•ๆ˜ฏๆœฏ๏ผŒ้‚ฃไนˆ็†่งฃๅ…ถ่ƒŒๅŽ็š„่ฎพ่ฎกๅŽŸๅˆ™ๅฐฑๆ˜ฏ้“ใ€‚ๅ•ไธ€่Œ่ดฃๅŽŸๅˆ™ๅผบ่ฐƒๆจกๅ—ๅชๅบ”ๆœ‰ไธ€ไธช่ขซๆ”นๅ˜็š„ๅŽŸๅ› ๏ผŒ้ฟๅ… God Object ๅๆจกๅผใ€‚้ซ˜ๅ†…่šไฝŽ่€ฆๅˆๆ˜ฏ่กก้‡ๆจกๅ—่ดจ้‡็š„็ปˆๆžๆ ‡ๅ‡†โ€”โ€”ๆจกๅ—ๅ†…้ƒจๅ…ƒ็ด ่”็ณป็ดงๅฏ†๏ผŒๆจกๅ—ไน‹้—ดไพ่ต–ๅ…ณ็ณปๅฐฝๅฏ่ƒฝ็ฎ€ๅ•ใ€‚็ฒ’ๅบฆ่ฎพ่ฎก่ฆๆฑ‚ๅ•ไธชๆจกๅ—ไฟๆŒๅœจ 100-500 ่กŒไน‹้—ด๏ผŒๅŠŸ่ƒฝ่ƒฝ็”จไธ€ๅฅ่ฏๆธ…ๆ™ฐๆ่ฟฐ๏ผŒๅ‡บ็Žฐๅคšๅˆ†ๆ”ฏๅคๆ‚้€ป่พ‘ๆ—ถ้€šๅธธๆ˜ฏๆ‹†ๅˆ†ไฟกๅทใ€‚ๅ‘ฝๅ่ง„่Œƒ็ปŸไธ€ๅ›ข้˜ŸๆฒŸ้€š่ฏญๅขƒ๏ผˆkebab-case ๆ–‡ไปถๅใ€camelCase ๆ–นๆณ•ๅใ€PascalCase ็ฑปๅ๏ผ‰ใ€‚ๆจกๅ—็‰ˆๆœฌ็ฎก็†้ตๅพช SemVer ่ฏญไน‰ๅŒ–็‰ˆๆœฌ๏ผŒไธบๅ…ฌๅ…ฑๆจกๅ—็š„็ปดๆŠค่€…ไธŽไฝฟ็”จ่€…ๅปบ็ซ‹ๅฅ‘็บฆใ€‚ๅผบ่ฐƒๆธ…ๆ™ฐ็š„ๆจกๅ—่พน็•Œๆ˜ฏ AI ่พ…ๅŠฉ็ผ–็จ‹ๆ—ถไปฃ AI ๅ‡†็กฎ็†่งฃไปฃ็ ็š„ๅ‰ๆใ€‚\",\"tags\":[\"concept\",\"solid-principles\",\"code-organization\",\"best-practices\",\"naming-conventions\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ๆขณ็†ไธŽๆ€ป็ป“\",\"date\":\"2024-05-17 22:30:50\",\"capture\":\"1. ๅ•ไธ€่Œ่ดฃๅŽŸๅˆ™\\nๆ ธๅฟƒๆ€ๆƒณ๏ผšไธ€ไธชๆจกๅ—ๅบ”ๅฝ“ๆœ‰ไธ”ๅชๆœ‰ไธ€ไธช่ขซๆ”นๅ˜็š„ๅŽŸๅ› ใ€‚\\nๆจกๅ—ไธๅบ”ๆˆไธบๅŠŸ่ƒฝ็š„โ€œๆ‚่ดง้“บโ€ใ€‚ๅฝ“ไธ€ไธชๆจกๅ—ๆ‰ฟๆ‹…ไบ†ๅคชๅคšไธ็›ธๅ…ณ็š„ไธšๅŠก้€ป่พ‘ๆ—ถ๏ผŒๅฎƒ็š„ๅคๆ‚ๅบฆไผšๅ‘ˆๆŒ‡ๆ•ฐ็บงไธŠๅ‡๏ผŒไปปไฝ•ๅพฎๅฐ็š„ๆ”นๅŠจ้ƒฝๅฏ่ƒฝๅผ•ๅ‘ๆ„ๆƒณไธๅˆฐ็š„่ฟž้”ๅๅบ”ใ€‚\\nไปฃ็ ๆผ”็คบ๏ผš\\n```javascript\\n// โœ… ๆŽจ่๏ผš่Œ่ดฃๆ‹†ๅˆ†ๆ˜Ž็กฎ\\n// user-service.js - ไป…ๅค„็†็”จๆˆทๆ•ฐๆฎ็š„ CRUD\\nexport const getUser = async (id) => { /* ... */ };\\n// auth-provider.js - ไป…ๅค„็†้‰ดๆƒ็Šถๆ€ไธŽ้€ป่พ‘\\nexport const login = async (credenti\"}],\"tsconfig\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"frontmatter\":{\"date\":\"2024-05-16 21:27:36\",\"title\":\"ไปŽ้€ป่พ‘้š”็ฆปๅˆฐ็ฑปๅž‹ๅฅ‘็บฆ๏ผšTypeScript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"tldr\":\"TypeScript ๅฐ†ๆจกๅ—ไพ่ต–ๆๅ‡ไธบ็ผ–่ฏ‘ๆ—ถ็ฑปๅž‹ๅฅ‘็บฆ๏ผŒไปŽ import type ๅˆฐๅฃฐๆ˜Žๆ–‡ไปถใ€‚\",\"description\":\"็ณป็ปŸ่ฎฒ่งฃ TypeScript ๅฏน ES Modules ็š„็ฑปๅž‹ๅขžๅผบ๏ผŒๆถต็›– import type ่ฟ่กŒๆ—ถไผ˜ๅŒ–ใ€ๆŽฅๅฃๅฅ‘็บฆใ€ๅฃฐๆ˜Žๆ–‡ไปถ .d.ts ๅŠ tsconfig ๆจกๅ—ๅŒ–้…็ฝฎใ€‚\",\"permalink\":\"/fullstack/typescript-module-programming-enhancement\",\"tags\":[\"concept\",\"ๅ…จๆ ˆ\",\"typescript\",\"tsconfig\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไปŽ้€ป่พ‘้š”็ฆปๅˆฐ็ฑปๅž‹ๅฅ‘็บฆ๏ผšTypeScript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"date\":\"2024-05-16 21:27:36\",\"capture\":\"1. ๅผ•่จ€\\nๅœจๅŽŸ็”Ÿ JavaScript ๆจกๅ—ๅŒ–่งฃๅ†ณไบ†ไปฃ็ ็ป„็ป‡้—ฎ้ข˜ๅŽ๏ผŒTypeScript๏ผˆTS๏ผ‰่ฟ›ไธ€ๆญฅๅฐ†ๅ…ถๆŽจๅ‘ไบ†ๅทฅไธš็บง้ซ˜ๅบฆใ€‚TS ไธไป…ไป…ๆ˜ฏไธบๆจกๅ—ๆทปๅŠ ไบ†็ฑปๅž‹ๆ ‡ๆณจ๏ผŒๅฎƒ้€š่ฟ‡็ฑปๅž‹ๅฏผๅ‡บๅฏผๅ…ฅใ€็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ใ€ไปฅๅŠๅฃฐๆ˜Žๆ–‡ไปถ็ณป็ปŸ๏ผŒๅฐ†ๆจกๅ—้—ด็š„ไพ่ต–ๅ…ณ็ณปไปŽ็ฎ€ๅ•็š„โ€œไปฃ็ ๅผ•็”จโ€ๆๅ‡ๅˆฐไบ†โ€œๅฅ‘็บฆไบคไบ’โ€ใ€‚\\nๆœฌๆ–‡ๆˆ‘ไปฌๅฐ†่š็„ฆไบŽ TypeScript ๅฆ‚ไฝ•้€š่ฟ‡็ฑปๅž‹็ณป็ปŸๅขžๅผบๆจกๅ—ๅŒ–็ผ–็จ‹๏ผŒๅนถๆŽข่ฎจๅœจ็Žฐไปฃๅทฅ็จ‹๏ผˆๅฐคๅ…ถๆ˜ฏ TS 5.0+ ๆ—ถไปฃ๏ผ‰ไธ‹็š„ๆœ€ไฝณ้…็ฝฎๅฎž่ทตใ€‚\\n 2. ็ฑปๅž‹ๅฏผๅ‡บไธŽๅฏผๅ…ฅ๏ผšๆž่‡ด็š„่ฟ่กŒๆ—ถไผ˜ๅŒ–\\nTypeScript ๅฏน ES Modules ่ฏญๆณ•ๆœ€ๆ˜พ่‘—็š„ๆ‰ฉๅฑ•ๆ˜ฏๆ”ฏๆŒโ€œไป…็ฑปๅž‹โ€๏ผˆType-only๏ผ‰็š„ๅฏผๅ‡บไธŽๅฏผๅ…ฅใ€‚่ฟ™ไธไป…ๆ˜ฏ่ฏญไน‰ไธŠ็š„ๆธ…ๆ™ฐ๏ผŒๆ›ดๆ˜ฏๆ€ง\"}],\"static-analysis\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"frontmatter\":{\"date\":\"2024-05-14 22:29:32\",\"title\":\"ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒๆ‹ฅๆŠฑๅŽŸ็”Ÿ๏ผšES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"tldr\":\"ES Modules ๆ ธๅฟƒ่ฏญๆณ•ไธŽๆ‰ง่กŒๆจกๅž‹๏ผš้™ๆ€ๅˆ†ๆžๅฆ‚ไฝ•้‡ๅก‘ๅ‰็ซฏๆž„ๅปบๆ•ˆ็އใ€‚\",\"description\":\"ๆทฑๅบฆ่งฃๆž ES Modules ๅ‘ฝๅๅฏผๅ‡บ/ๅฏผๅ…ฅใ€้ป˜่ฎคๅฏผๅ‡บใ€ๅŠจๆ€ๅฏผๅ…ฅ็ญ‰่ฏญๆณ•๏ผŒไปฅๅŠๆจกๅ—ๆ‰ง่กŒ้กบๅบใ€ๅพช็Žฏไพ่ต–ๅค„็†ไธŽ็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ๆœบๅˆถใ€‚\",\"permalink\":\"/fullstack/decode-es-modules\",\"tags\":[\"concept\",\"ESM\",\"static-analysis\",\"Tree-Shaking\",\"circular-dependency\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒๆ‹ฅๆŠฑๅŽŸ็”Ÿ๏ผšES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"date\":\"2024-05-14 22:29:32\",\"capture\":\"> \\n> ็†่งฃ ESM๏ผŒไธไป…ไป…ๆ˜ฏๅญฆไผš import ๅ’Œ export๏ผŒๆ›ด้‡่ฆ็š„ๆ˜ฏ็†่งฃๅฎƒๅฆ‚ไฝ•้€š่ฟ‡็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ๅฝปๅบ•ๆ”นๅ˜ไบ†ๅ‰็ซฏๆž„ๅปบ็š„ๆ•ˆ็އใ€‚\\n 1. ๅ‘ฝๅๅฏผๅ‡บไธŽๅฏผๅ…ฅ๏ผš็ฒพๅ‡†็š„ไปฃ็ ๅผ•็”จ\\nๅ‘ฝๅๅฏผๅ‡บ๏ผˆNamed Exports๏ผ‰ๆ˜ฏ ESM ๆœ€ๅธธ็”จ็š„ๅฝขๅผ๏ผŒๅฎƒๅ…่ฎธไธ€ไธชๆจกๅ—ๆšด้œฒๅคšไธชๆˆๅ‘˜ใ€‚ๅ…ถๆ ธๅฟƒไผ˜ๅŠฟๅœจไบŽ๏ผšๅฏผๅ…ฅๆ–นๅฏไปฅๆŒ‰้œ€ๅผ•ๅ…ฅ๏ผŒไธ” IDE ่ƒฝๆไพ›็ฒพๅ‡†็š„่กฅๅ…จใ€‚\\n่ฏญๆณ•ๅฎž่ทต๏ผš๏ผš\\n```javascript\\n// math.js - ๅ‘ฝๅๅฏผๅ‡บ\\n// ่กŒๅ†…ๅฏผๅ‡บ\\nexport const PI = 3.14159;\\nexport function circleArea(radius) {\\n return PI * rad\"}],\"Tree-Shaking\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"frontmatter\":{\"date\":\"2024-05-14 22:29:32\",\"title\":\"ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒๆ‹ฅๆŠฑๅŽŸ็”Ÿ๏ผšES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"tldr\":\"ES Modules ๆ ธๅฟƒ่ฏญๆณ•ไธŽๆ‰ง่กŒๆจกๅž‹๏ผš้™ๆ€ๅˆ†ๆžๅฆ‚ไฝ•้‡ๅก‘ๅ‰็ซฏๆž„ๅปบๆ•ˆ็އใ€‚\",\"description\":\"ๆทฑๅบฆ่งฃๆž ES Modules ๅ‘ฝๅๅฏผๅ‡บ/ๅฏผๅ…ฅใ€้ป˜่ฎคๅฏผๅ‡บใ€ๅŠจๆ€ๅฏผๅ…ฅ็ญ‰่ฏญๆณ•๏ผŒไปฅๅŠๆจกๅ—ๆ‰ง่กŒ้กบๅบใ€ๅพช็Žฏไพ่ต–ๅค„็†ไธŽ็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ๆœบๅˆถใ€‚\",\"permalink\":\"/fullstack/decode-es-modules\",\"tags\":[\"concept\",\"ESM\",\"static-analysis\",\"Tree-Shaking\",\"circular-dependency\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒๆ‹ฅๆŠฑๅŽŸ็”Ÿ๏ผšES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"date\":\"2024-05-14 22:29:32\",\"capture\":\"> \\n> ็†่งฃ ESM๏ผŒไธไป…ไป…ๆ˜ฏๅญฆไผš import ๅ’Œ export๏ผŒๆ›ด้‡่ฆ็š„ๆ˜ฏ็†่งฃๅฎƒๅฆ‚ไฝ•้€š่ฟ‡็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ๅฝปๅบ•ๆ”นๅ˜ไบ†ๅ‰็ซฏๆž„ๅปบ็š„ๆ•ˆ็އใ€‚\\n 1. ๅ‘ฝๅๅฏผๅ‡บไธŽๅฏผๅ…ฅ๏ผš็ฒพๅ‡†็š„ไปฃ็ ๅผ•็”จ\\nๅ‘ฝๅๅฏผๅ‡บ๏ผˆNamed Exports๏ผ‰ๆ˜ฏ ESM ๆœ€ๅธธ็”จ็š„ๅฝขๅผ๏ผŒๅฎƒๅ…่ฎธไธ€ไธชๆจกๅ—ๆšด้œฒๅคšไธชๆˆๅ‘˜ใ€‚ๅ…ถๆ ธๅฟƒไผ˜ๅŠฟๅœจไบŽ๏ผšๅฏผๅ…ฅๆ–นๅฏไปฅๆŒ‰้œ€ๅผ•ๅ…ฅ๏ผŒไธ” IDE ่ƒฝๆไพ›็ฒพๅ‡†็š„่กฅๅ…จใ€‚\\n่ฏญๆณ•ๅฎž่ทต๏ผš๏ผš\\n```javascript\\n// math.js - ๅ‘ฝๅๅฏผๅ‡บ\\n// ่กŒๅ†…ๅฏผๅ‡บ\\nexport const PI = 3.14159;\\nexport function circleArea(radius) {\\n return PI * rad\"}],\"circular-dependency\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"frontmatter\":{\"date\":\"2024-05-14 22:29:32\",\"title\":\"ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒๆ‹ฅๆŠฑๅŽŸ็”Ÿ๏ผšES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"tldr\":\"ES Modules ๆ ธๅฟƒ่ฏญๆณ•ไธŽๆ‰ง่กŒๆจกๅž‹๏ผš้™ๆ€ๅˆ†ๆžๅฆ‚ไฝ•้‡ๅก‘ๅ‰็ซฏๆž„ๅปบๆ•ˆ็އใ€‚\",\"description\":\"ๆทฑๅบฆ่งฃๆž ES Modules ๅ‘ฝๅๅฏผๅ‡บ/ๅฏผๅ…ฅใ€้ป˜่ฎคๅฏผๅ‡บใ€ๅŠจๆ€ๅฏผๅ…ฅ็ญ‰่ฏญๆณ•๏ผŒไปฅๅŠๆจกๅ—ๆ‰ง่กŒ้กบๅบใ€ๅพช็Žฏไพ่ต–ๅค„็†ไธŽ็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ๆœบๅˆถใ€‚\",\"permalink\":\"/fullstack/decode-es-modules\",\"tags\":[\"concept\",\"ESM\",\"static-analysis\",\"Tree-Shaking\",\"circular-dependency\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒๆ‹ฅๆŠฑๅŽŸ็”Ÿ๏ผšES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"date\":\"2024-05-14 22:29:32\",\"capture\":\"> \\n> ็†่งฃ ESM๏ผŒไธไป…ไป…ๆ˜ฏๅญฆไผš import ๅ’Œ export๏ผŒๆ›ด้‡่ฆ็š„ๆ˜ฏ็†่งฃๅฎƒๅฆ‚ไฝ•้€š่ฟ‡็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ๅฝปๅบ•ๆ”นๅ˜ไบ†ๅ‰็ซฏๆž„ๅปบ็š„ๆ•ˆ็އใ€‚\\n 1. ๅ‘ฝๅๅฏผๅ‡บไธŽๅฏผๅ…ฅ๏ผš็ฒพๅ‡†็š„ไปฃ็ ๅผ•็”จ\\nๅ‘ฝๅๅฏผๅ‡บ๏ผˆNamed Exports๏ผ‰ๆ˜ฏ ESM ๆœ€ๅธธ็”จ็š„ๅฝขๅผ๏ผŒๅฎƒๅ…่ฎธไธ€ไธชๆจกๅ—ๆšด้œฒๅคšไธชๆˆๅ‘˜ใ€‚ๅ…ถๆ ธๅฟƒไผ˜ๅŠฟๅœจไบŽ๏ผšๅฏผๅ…ฅๆ–นๅฏไปฅๆŒ‰้œ€ๅผ•ๅ…ฅ๏ผŒไธ” IDE ่ƒฝๆไพ›็ฒพๅ‡†็š„่กฅๅ…จใ€‚\\n่ฏญๆณ•ๅฎž่ทต๏ผš๏ผš\\n```javascript\\n// math.js - ๅ‘ฝๅๅฏผๅ‡บ\\n// ่กŒๅ†…ๅฏผๅ‡บ\\nexport const PI = 3.14159;\\nexport function circleArea(radius) {\\n return PI * rad\"}],\"CommonJS\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†\",\"frontmatter\":{\"date\":\"2024-05-14 22:26:06\",\"title\":\"JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\",\"tldr\":\"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ็ญ‰ๆ ธๅฟƒ่ง„่Œƒ๏ผŒ้™„็Žฐไปฃ่ฟ็งป็ญ–็•ฅใ€‚\",\"description\":\"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ๅ››ๅคงๆจกๅ—ๅŒ–่ง„่Œƒ็š„ๆ ธๅฟƒ่ฏญๆณ•ไธŽ้€‚็”จๅœบๆ™ฏ๏ผŒ่งฃๆžๅ„่ง„่Œƒ็š„ๅ…ณ้”ฎๅทฎๅผ‚๏ผŒๅนถๆไพ›ไปŽๆ—ง่ง„่Œƒๅ‘ ESM ่ฟ็งป็š„ๅฎžๆ“็ญ–็•ฅใ€‚\",\"permalink\":\"/fullstack/different-module-programming-specifications\",\"tags\":[\"tutorial\",\"CommonJS\",\"AMD\",\"UMD\",\"ESM\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\",\"date\":\"2024-05-14 22:26:06\",\"capture\":\"ๅœจ JavaScript ่ฟ›ๅŒ–ๅฒไธŠ๏ผŒโ€œๆจกๅ—ๅŒ–โ€ๅง‹็ปˆๆ˜ฏไธ€ไธชๆ ธๅฟƒๅ‘ฝ้ข˜ใ€‚ไปŽๆ—ฉๆœŸ script ๆ ‡็ญพๆปกๅคฉ้ฃž็š„โ€œๆททๆฒŒๆ—ถไปฃโ€๏ผŒๅˆฐๅ„่ทฏ่ง„่Œƒ็พค้›„้€้นฟ็š„โ€œๆˆ˜ๅ›ฝๆ—ถไปฃโ€๏ผŒๅ†ๅˆฐๅฆ‚ไปŠ ES Modules ๅฎšไบŽไธ€ๅฐŠ๏ผŒๅผ€ๅ‘่€…ไปฌๅœจ่งฃๅ†ณไพ่ต–็ฎก็†ใ€ไฝœ็”จๅŸŸๆฑกๆŸ“ๅ’Œๅผ‚ๆญฅๅŠ ่ฝฝ็ญ‰้—ฎ้ข˜ไธŠไป˜ๅ‡บไบ†ๅทจๅคง็š„ๅŠชๅŠ›ใ€‚\\nๆœฌๆ–‡ๅฐ†ๅธฆไฝ ๆขณ็† JavaScript ๅކๅฒไธŠๆœ€้‡่ฆ็š„ๅ‡ ็งๆจกๅ—ๅŒ–่ง„่Œƒ๏ผŒไพฟไบŽๆž„ๅปบ่ตทๅ…จๆ ˆๅผ€ๅ‘็š„ๅบ•ๅฑ‚็Ÿฅ่ฏ†ๅ›พ่ฐฑใ€‚\\n 1. CommonJS ่ง„่Œƒ๏ผšNode.js ็”Ÿๆ€็š„ๅŸบ็Ÿณ\\nCommonJS ๆ˜ฏไผด้š Node.js ่ฏž็”Ÿ็š„่ง„่Œƒ,็”ฑ Kevin Dangoor ๆๅ‡บ๏ผŒๅˆ่กทๆ˜ฏ่ฎฉ JavaScript ่„ฑ็ฆปๆต่งˆๅ™จไนŸ่ƒฝๆž„ๅปบๅคๆ‚็š„็ณป็ปŸๅบ”็”จใ€‚ๅฎƒๆ˜ฏ Node.\"}],\"AMD\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†\",\"frontmatter\":{\"date\":\"2024-05-14 22:26:06\",\"title\":\"JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\",\"tldr\":\"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ็ญ‰ๆ ธๅฟƒ่ง„่Œƒ๏ผŒ้™„็Žฐไปฃ่ฟ็งป็ญ–็•ฅใ€‚\",\"description\":\"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ๅ››ๅคงๆจกๅ—ๅŒ–่ง„่Œƒ็š„ๆ ธๅฟƒ่ฏญๆณ•ไธŽ้€‚็”จๅœบๆ™ฏ๏ผŒ่งฃๆžๅ„่ง„่Œƒ็š„ๅ…ณ้”ฎๅทฎๅผ‚๏ผŒๅนถๆไพ›ไปŽๆ—ง่ง„่Œƒๅ‘ ESM ่ฟ็งป็š„ๅฎžๆ“็ญ–็•ฅใ€‚\",\"permalink\":\"/fullstack/different-module-programming-specifications\",\"tags\":[\"tutorial\",\"CommonJS\",\"AMD\",\"UMD\",\"ESM\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\",\"date\":\"2024-05-14 22:26:06\",\"capture\":\"ๅœจ JavaScript ่ฟ›ๅŒ–ๅฒไธŠ๏ผŒโ€œๆจกๅ—ๅŒ–โ€ๅง‹็ปˆๆ˜ฏไธ€ไธชๆ ธๅฟƒๅ‘ฝ้ข˜ใ€‚ไปŽๆ—ฉๆœŸ script ๆ ‡็ญพๆปกๅคฉ้ฃž็š„โ€œๆททๆฒŒๆ—ถไปฃโ€๏ผŒๅˆฐๅ„่ทฏ่ง„่Œƒ็พค้›„้€้นฟ็š„โ€œๆˆ˜ๅ›ฝๆ—ถไปฃโ€๏ผŒๅ†ๅˆฐๅฆ‚ไปŠ ES Modules ๅฎšไบŽไธ€ๅฐŠ๏ผŒๅผ€ๅ‘่€…ไปฌๅœจ่งฃๅ†ณไพ่ต–็ฎก็†ใ€ไฝœ็”จๅŸŸๆฑกๆŸ“ๅ’Œๅผ‚ๆญฅๅŠ ่ฝฝ็ญ‰้—ฎ้ข˜ไธŠไป˜ๅ‡บไบ†ๅทจๅคง็š„ๅŠชๅŠ›ใ€‚\\nๆœฌๆ–‡ๅฐ†ๅธฆไฝ ๆขณ็† JavaScript ๅކๅฒไธŠๆœ€้‡่ฆ็š„ๅ‡ ็งๆจกๅ—ๅŒ–่ง„่Œƒ๏ผŒไพฟไบŽๆž„ๅปบ่ตทๅ…จๆ ˆๅผ€ๅ‘็š„ๅบ•ๅฑ‚็Ÿฅ่ฏ†ๅ›พ่ฐฑใ€‚\\n 1. CommonJS ่ง„่Œƒ๏ผšNode.js ็”Ÿๆ€็š„ๅŸบ็Ÿณ\\nCommonJS ๆ˜ฏไผด้š Node.js ่ฏž็”Ÿ็š„่ง„่Œƒ,็”ฑ Kevin Dangoor ๆๅ‡บ๏ผŒๅˆ่กทๆ˜ฏ่ฎฉ JavaScript ่„ฑ็ฆปๆต่งˆๅ™จไนŸ่ƒฝๆž„ๅปบๅคๆ‚็š„็ณป็ปŸๅบ”็”จใ€‚ๅฎƒๆ˜ฏ Node.\"}],\"UMD\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†\",\"frontmatter\":{\"date\":\"2024-05-14 22:26:06\",\"title\":\"JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\",\"tldr\":\"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ็ญ‰ๆ ธๅฟƒ่ง„่Œƒ๏ผŒ้™„็Žฐไปฃ่ฟ็งป็ญ–็•ฅใ€‚\",\"description\":\"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ๅ››ๅคงๆจกๅ—ๅŒ–่ง„่Œƒ็š„ๆ ธๅฟƒ่ฏญๆณ•ไธŽ้€‚็”จๅœบๆ™ฏ๏ผŒ่งฃๆžๅ„่ง„่Œƒ็š„ๅ…ณ้”ฎๅทฎๅผ‚๏ผŒๅนถๆไพ›ไปŽๆ—ง่ง„่Œƒๅ‘ ESM ่ฟ็งป็š„ๅฎžๆ“็ญ–็•ฅใ€‚\",\"permalink\":\"/fullstack/different-module-programming-specifications\",\"tags\":[\"tutorial\",\"CommonJS\",\"AMD\",\"UMD\",\"ESM\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\",\"date\":\"2024-05-14 22:26:06\",\"capture\":\"ๅœจ JavaScript ่ฟ›ๅŒ–ๅฒไธŠ๏ผŒโ€œๆจกๅ—ๅŒ–โ€ๅง‹็ปˆๆ˜ฏไธ€ไธชๆ ธๅฟƒๅ‘ฝ้ข˜ใ€‚ไปŽๆ—ฉๆœŸ script ๆ ‡็ญพๆปกๅคฉ้ฃž็š„โ€œๆททๆฒŒๆ—ถไปฃโ€๏ผŒๅˆฐๅ„่ทฏ่ง„่Œƒ็พค้›„้€้นฟ็š„โ€œๆˆ˜ๅ›ฝๆ—ถไปฃโ€๏ผŒๅ†ๅˆฐๅฆ‚ไปŠ ES Modules ๅฎšไบŽไธ€ๅฐŠ๏ผŒๅผ€ๅ‘่€…ไปฌๅœจ่งฃๅ†ณไพ่ต–็ฎก็†ใ€ไฝœ็”จๅŸŸๆฑกๆŸ“ๅ’Œๅผ‚ๆญฅๅŠ ่ฝฝ็ญ‰้—ฎ้ข˜ไธŠไป˜ๅ‡บไบ†ๅทจๅคง็š„ๅŠชๅŠ›ใ€‚\\nๆœฌๆ–‡ๅฐ†ๅธฆไฝ ๆขณ็† JavaScript ๅކๅฒไธŠๆœ€้‡่ฆ็š„ๅ‡ ็งๆจกๅ—ๅŒ–่ง„่Œƒ๏ผŒไพฟไบŽๆž„ๅปบ่ตทๅ…จๆ ˆๅผ€ๅ‘็š„ๅบ•ๅฑ‚็Ÿฅ่ฏ†ๅ›พ่ฐฑใ€‚\\n 1. CommonJS ่ง„่Œƒ๏ผšNode.js ็”Ÿๆ€็š„ๅŸบ็Ÿณ\\nCommonJS ๆ˜ฏไผด้š Node.js ่ฏž็”Ÿ็š„่ง„่Œƒ,็”ฑ Kevin Dangoor ๆๅ‡บ๏ผŒๅˆ่กทๆ˜ฏ่ฎฉ JavaScript ่„ฑ็ฆปๆต่งˆๅ™จไนŸ่ƒฝๆž„ๅปบๅคๆ‚็š„็ณป็ปŸๅบ”็”จใ€‚ๅฎƒๆ˜ฏ Node.\"}],\"javascript\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€\",\"frontmatter\":{\"date\":\"2024-05-12 22:43:28\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ๏ผšๆฆ‚ๅฟตใ€ๆผ”่ฟ›ไธŽ่ฎพ่ฎกๆจกๅผ\",\"tldr\":\"ไปŽๅ…จๅฑ€ๅ˜้‡ๅˆฐ ES Modules๏ผšJavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›ไธŽๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผๅฎž่ทตใ€‚\",\"description\":\"็ณป็ปŸ่ฎฒ่งฃ JavaScript ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€๏ผŒๆถต็›– IIFEใ€CommonJSใ€ES Modules ่ง„่Œƒๆผ”่ฟ›๏ผŒไปฅๅŠๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผไธŽๆจกๅ—ๅŒ–็š„็ป“ๅˆใ€‚\",\"permalink\":\"/fullstack/frontend-module-programming-basic\",\"tags\":[\"tutorial\",\"javascript\",\"modularization\",\"esm\",\"design-patterns\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ๏ผšๆฆ‚ๅฟตใ€ๆผ”่ฟ›ไธŽ่ฎพ่ฎกๆจกๅผ\",\"date\":\"2024-05-12 22:43:28\",\"capture\":\"1. ๅผ•่จ€\\n้š็€้กน็›ฎ่ง„ๆจกๆ—ฅ็›Š่†จ่ƒ€๏ผŒไปฃ็ ้‡ไปŽๅ‡ ๅƒ่กŒ่ฟ…้€Ÿๅขž้•ฟๅˆฐๆ•ฐไธ‡็”š่‡ณๆ•ฐๅไธ‡่กŒ๏ผŒๅฐ†ๆ‰€ๆœ‰้€ป่พ‘ๅกž่ฟ›ๅฐ‘ๆ•ฐๅ‡ ไธชๆ–‡ไปถ็š„ๅšๆณ•ๆ—ฉๅทฒ้šพไปฅไธบ็ปงใ€‚ๅœจ่ฟ™ๆ ท็š„่ƒŒๆ™ฏไธ‹๏ผŒๆจกๅ—ๅŒ–็ผ–็จ‹ๅบ”่ฟ่€Œ็”Ÿ๏ผŒๆˆไธบ็Žฐไปฃๅ‰็ซฏๅผ€ๅ‘็š„ๆ ‡้…ใ€‚\\nๅฎƒ็š„ๆ ธๅฟƒ็†ๅฟต็ฎ€ๆด่€Œไผ˜้›…๏ผšๅƒๆญ็งฏๆœจไธ€ๆ ท๏ผŒๅฐ†ๅบžๅคงๅคๆ‚็š„็ณป็ปŸๆ‹†่งฃไธบไธ€ไธชไธช็‹ฌ็ซ‹ใ€ๅŠŸ่ƒฝๅ•ไธ€ไธ”ๅฏๅค็”จ็š„ๆจกๅ—๏ผŒ่ฎฉๆฏไธชๆจกๅ—ๅ„ๅธๅ…ถ่Œ๏ผŒๅ†้€š่ฟ‡ๆ ‡ๅ‡†ๆŽฅๅฃ็ตๆดป็ป„ๅˆใ€‚\\n 2. ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ\\nๅœจๆทฑๅ…ฅ็†่ฎบไน‹ๅ‰๏ผŒ่ฎฉๆˆ‘ไปฌๅ…ˆ้€š่ฟ‡ไธ€ไธช็ฎ€ๅ•็š„ JavaScript ็คบไพ‹๏ผŒ็›ด่ง‚ๅœฐๆ„Ÿๅ—ไธ€ไธ‹ไป€ไนˆๆ˜ฏๆจกๅ—ๅŒ–ใ€‚ๅ‡่ฎพๆˆ‘ไปฌ้œ€่ฆๅค„็†ไธ€ไบ›ๆ•ฐๅญฆ่ฟ็ฎ—๏ผŒๆˆ‘ไปฌๅฏไปฅๅฐ†ๅ…ถๅฐ่ฃ…ๆˆไธ€ไธช็‹ฌ็ซ‹็š„ๅทฅๅ…ทๆจกๅ—๏ผš\\n```javascript\\n// math.js - ๅฎšไน‰ไธ€ไธชๆ•ฐๅญฆๅทฅๅ…ทๆจกๅ—\\nexp\"}],\"modularization\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€\",\"frontmatter\":{\"date\":\"2024-05-12 22:43:28\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ๏ผšๆฆ‚ๅฟตใ€ๆผ”่ฟ›ไธŽ่ฎพ่ฎกๆจกๅผ\",\"tldr\":\"ไปŽๅ…จๅฑ€ๅ˜้‡ๅˆฐ ES Modules๏ผšJavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›ไธŽๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผๅฎž่ทตใ€‚\",\"description\":\"็ณป็ปŸ่ฎฒ่งฃ JavaScript ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€๏ผŒๆถต็›– IIFEใ€CommonJSใ€ES Modules ่ง„่Œƒๆผ”่ฟ›๏ผŒไปฅๅŠๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผไธŽๆจกๅ—ๅŒ–็š„็ป“ๅˆใ€‚\",\"permalink\":\"/fullstack/frontend-module-programming-basic\",\"tags\":[\"tutorial\",\"javascript\",\"modularization\",\"esm\",\"design-patterns\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ๏ผšๆฆ‚ๅฟตใ€ๆผ”่ฟ›ไธŽ่ฎพ่ฎกๆจกๅผ\",\"date\":\"2024-05-12 22:43:28\",\"capture\":\"1. ๅผ•่จ€\\n้š็€้กน็›ฎ่ง„ๆจกๆ—ฅ็›Š่†จ่ƒ€๏ผŒไปฃ็ ้‡ไปŽๅ‡ ๅƒ่กŒ่ฟ…้€Ÿๅขž้•ฟๅˆฐๆ•ฐไธ‡็”š่‡ณๆ•ฐๅไธ‡่กŒ๏ผŒๅฐ†ๆ‰€ๆœ‰้€ป่พ‘ๅกž่ฟ›ๅฐ‘ๆ•ฐๅ‡ ไธชๆ–‡ไปถ็š„ๅšๆณ•ๆ—ฉๅทฒ้šพไปฅไธบ็ปงใ€‚ๅœจ่ฟ™ๆ ท็š„่ƒŒๆ™ฏไธ‹๏ผŒๆจกๅ—ๅŒ–็ผ–็จ‹ๅบ”่ฟ่€Œ็”Ÿ๏ผŒๆˆไธบ็Žฐไปฃๅ‰็ซฏๅผ€ๅ‘็š„ๆ ‡้…ใ€‚\\nๅฎƒ็š„ๆ ธๅฟƒ็†ๅฟต็ฎ€ๆด่€Œไผ˜้›…๏ผšๅƒๆญ็งฏๆœจไธ€ๆ ท๏ผŒๅฐ†ๅบžๅคงๅคๆ‚็š„็ณป็ปŸๆ‹†่งฃไธบไธ€ไธชไธช็‹ฌ็ซ‹ใ€ๅŠŸ่ƒฝๅ•ไธ€ไธ”ๅฏๅค็”จ็š„ๆจกๅ—๏ผŒ่ฎฉๆฏไธชๆจกๅ—ๅ„ๅธๅ…ถ่Œ๏ผŒๅ†้€š่ฟ‡ๆ ‡ๅ‡†ๆŽฅๅฃ็ตๆดป็ป„ๅˆใ€‚\\n 2. ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ\\nๅœจๆทฑๅ…ฅ็†่ฎบไน‹ๅ‰๏ผŒ่ฎฉๆˆ‘ไปฌๅ…ˆ้€š่ฟ‡ไธ€ไธช็ฎ€ๅ•็š„ JavaScript ็คบไพ‹๏ผŒ็›ด่ง‚ๅœฐๆ„Ÿๅ—ไธ€ไธ‹ไป€ไนˆๆ˜ฏๆจกๅ—ๅŒ–ใ€‚ๅ‡่ฎพๆˆ‘ไปฌ้œ€่ฆๅค„็†ไธ€ไบ›ๆ•ฐๅญฆ่ฟ็ฎ—๏ผŒๆˆ‘ไปฌๅฏไปฅๅฐ†ๅ…ถๅฐ่ฃ…ๆˆไธ€ไธช็‹ฌ็ซ‹็š„ๅทฅๅ…ทๆจกๅ—๏ผš\\n```javascript\\n// math.js - ๅฎšไน‰ไธ€ไธชๆ•ฐๅญฆๅทฅๅ…ทๆจกๅ—\\nexp\"}],\"design-patterns\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€\",\"frontmatter\":{\"date\":\"2024-05-12 22:43:28\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ๏ผšๆฆ‚ๅฟตใ€ๆผ”่ฟ›ไธŽ่ฎพ่ฎกๆจกๅผ\",\"tldr\":\"ไปŽๅ…จๅฑ€ๅ˜้‡ๅˆฐ ES Modules๏ผšJavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›ไธŽๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผๅฎž่ทตใ€‚\",\"description\":\"็ณป็ปŸ่ฎฒ่งฃ JavaScript ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€๏ผŒๆถต็›– IIFEใ€CommonJSใ€ES Modules ่ง„่Œƒๆผ”่ฟ›๏ผŒไปฅๅŠๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผไธŽๆจกๅ—ๅŒ–็š„็ป“ๅˆใ€‚\",\"permalink\":\"/fullstack/frontend-module-programming-basic\",\"tags\":[\"tutorial\",\"javascript\",\"modularization\",\"esm\",\"design-patterns\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ๏ผšๆฆ‚ๅฟตใ€ๆผ”่ฟ›ไธŽ่ฎพ่ฎกๆจกๅผ\",\"date\":\"2024-05-12 22:43:28\",\"capture\":\"1. ๅผ•่จ€\\n้š็€้กน็›ฎ่ง„ๆจกๆ—ฅ็›Š่†จ่ƒ€๏ผŒไปฃ็ ้‡ไปŽๅ‡ ๅƒ่กŒ่ฟ…้€Ÿๅขž้•ฟๅˆฐๆ•ฐไธ‡็”š่‡ณๆ•ฐๅไธ‡่กŒ๏ผŒๅฐ†ๆ‰€ๆœ‰้€ป่พ‘ๅกž่ฟ›ๅฐ‘ๆ•ฐๅ‡ ไธชๆ–‡ไปถ็š„ๅšๆณ•ๆ—ฉๅทฒ้šพไปฅไธบ็ปงใ€‚ๅœจ่ฟ™ๆ ท็š„่ƒŒๆ™ฏไธ‹๏ผŒๆจกๅ—ๅŒ–็ผ–็จ‹ๅบ”่ฟ่€Œ็”Ÿ๏ผŒๆˆไธบ็Žฐไปฃๅ‰็ซฏๅผ€ๅ‘็š„ๆ ‡้…ใ€‚\\nๅฎƒ็š„ๆ ธๅฟƒ็†ๅฟต็ฎ€ๆด่€Œไผ˜้›…๏ผšๅƒๆญ็งฏๆœจไธ€ๆ ท๏ผŒๅฐ†ๅบžๅคงๅคๆ‚็š„็ณป็ปŸๆ‹†่งฃไธบไธ€ไธชไธช็‹ฌ็ซ‹ใ€ๅŠŸ่ƒฝๅ•ไธ€ไธ”ๅฏๅค็”จ็š„ๆจกๅ—๏ผŒ่ฎฉๆฏไธชๆจกๅ—ๅ„ๅธๅ…ถ่Œ๏ผŒๅ†้€š่ฟ‡ๆ ‡ๅ‡†ๆŽฅๅฃ็ตๆดป็ป„ๅˆใ€‚\\n 2. ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ\\nๅœจๆทฑๅ…ฅ็†่ฎบไน‹ๅ‰๏ผŒ่ฎฉๆˆ‘ไปฌๅ…ˆ้€š่ฟ‡ไธ€ไธช็ฎ€ๅ•็š„ JavaScript ็คบไพ‹๏ผŒ็›ด่ง‚ๅœฐๆ„Ÿๅ—ไธ€ไธ‹ไป€ไนˆๆ˜ฏๆจกๅ—ๅŒ–ใ€‚ๅ‡่ฎพๆˆ‘ไปฌ้œ€่ฆๅค„็†ไธ€ไบ›ๆ•ฐๅญฆ่ฟ็ฎ—๏ผŒๆˆ‘ไปฌๅฏไปฅๅฐ†ๅ…ถๅฐ่ฃ…ๆˆไธ€ไธช็‹ฌ็ซ‹็š„ๅทฅๅ…ทๆจกๅ—๏ผš\\n```javascript\\n// math.js - ๅฎšไน‰ไธ€ไธชๆ•ฐๅญฆๅทฅๅ…ทๆจกๅ—\\nexp\"}],\"็Ÿฅ่ฏ†ๅ‘็Žฐ\":[{\"url\":\"/10.ไบงๅ“ Sense/01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž/11.AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"relativePath\":\"/10.ไบงๅ“ Sense/01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž/11.AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"frontmatter\":{\"date\":\"2024-05-08 08:56:21\",\"title\":\"AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจๅคงๆจกๅž‹้‡ๅก‘ไบ’่”็ฝ‘ไบคไบ’็š„ๅฝ“ไธ‹๏ผŒPerplexity ๅนถๆœช้€‰ๆ‹ฉๆˆไธบโ€œไธ‹ไธ€ไธช Googleโ€๏ผŒ่€Œๆ˜ฏไปฅโ€œ็Ÿฅ่ฏ†ๅ‘็Žฐๅผ•ๆ“Žโ€็š„ๅ…จๆ–ฐๅฎšไฝ๏ผŒ็ฒพๅ‡†ๅˆ‡ๅ…ฅ็Ÿฅ่ฏ†ๅทฅไฝœ่€…็š„ๆ ธๅฟƒๅทฅไฝœๆตใ€‚ๆœฌๆ–‡่ทณๅ‡บๅ•็บฏ็š„ๆจกๅž‹่ƒฝๅŠ›ๅฏนๆฏ”๏ผŒไปŽไบงๅ“ Sense ไธŽๅทฅ็จ‹้€ป่พ‘็š„ๅŒ้‡่ง†่ง’๏ผŒๆทฑๅบฆๆ‹†่งฃ Perplexity ็š„็ ดๅฑ€ไน‹้“ใ€‚ๆˆ‘ไปฌๅฐ†ๆŽข่ฎจๅฎƒๅฆ‚ไฝ•้€š่ฟ‡ๅ็›ด่ง‰็š„ UI ๅˆ›ๆ–ฐ้‡ๅก‘ไบคไบ’่ตท็‚น๏ผŒๅฆ‚ไฝ•ๅœจๅทฅ็จ‹ๅฑ‚้ขๆญป็ฃ•ๅฐพ้ƒจๅปถ่ฟŸไธŽๅนป่ง‰ๆŽงๅˆถ๏ผŒไปฅๅŠๅฎƒๅฆ‚ไฝ•ๅˆฉ็”จๅทจๅคด็š„ๅˆฉๆถฆ็އๆŠคๅŸŽๆฒณๅฎž็Žฐ้”™ไฝ็ซžไบ‰ใ€‚ๆœ€็ปˆ๏ผŒๆˆ‘ไปฌๅฐ†่ง†็บฟๆŠ•ๅ‘ๆœชๆฅ๏ผŒไธ€็ชฅ AI ไปŽ่ขซๅŠจๅ“ๅบ”่ตฐๅ‘ไธปๅŠจๆŽข็ดข็š„ๆผ”่ฟ›่“ๅ›พใ€‚\",\"permalink\":\"/product-sense/perplexity-knowledge-worker\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"AI ๆœ็ดข\",\"็Ÿฅ่ฏ†ๅ‘็Žฐ\",\"ไบงๅ“ Sense\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"date\":\"2024-05-08 08:56:21\",\"capture\":\"1. ๅผ•่จ€\\nๅœจ AI ๆตชๆฝฎไธ‹๏ผŒๆœ็ดขๅผ•ๆ“Ž็š„่Œƒๅผๆญฃๅœจๅ‘็”Ÿ่ฝฌ็งปใ€‚ไฝœไธบๅฝ“ๅ‰ๅค‡ๅ—็žฉ็›ฎ็š„ AI ๆœ็ดขไบงๅ“๏ผŒPerplexity ๅนถๆฒกๆœ‰่ฏ•ๅ›พๆˆไธบโ€œไธ‹ไธ€ไธช Googleโ€๏ผŒ่€Œๆ˜ฏๅฐ†่‡ชๅทฑๅฎšไน‰ไธบ็Ÿฅ่ฏ†ๅ‘็Žฐๅผ•ๆ“Žใ€‚\\nๅฏนไบŽๆฏๅคฉ้œ€่ฆๅค„็†ๆตท้‡ไฟกๆฏใ€่ฟ›่กŒๅคๆ‚ๅ†ณ็ญ–็š„็Ÿฅ่ฏ†ๅทฅไฝœ่€…่€Œ่จ€๏ผŒๅฆ‚ไฝ•้ซ˜ๆ•ˆๅœฐโ€œๅŽปๅ™ชโ€ๅนถ่Žทๅ–้ซ˜ไฟกๅบฆ็Ÿฅ่ฏ†ๆ˜ฏๆ ธๅฟƒ่ฏ‰ๆฑ‚ใ€‚็ฌ”่€…ๅฐ†ไปŽไบงๅ“ไบคไบ’ใ€ๆŠ€ๆœฏๅทฅ็จ‹ใ€ๅ•†ไธš้€ป่พ‘ไธŽๆœชๆฅๆผ”่ฟ›ๅ››ไธช็ปดๅบฆ๏ผŒๅˆ†ๆž Perplexity ๆ˜ฏๅฆ‚ไฝ•้‡ๅก‘ไฟกๆฏ่Žทๅ–ๅทฅไฝœๆต็š„ใ€‚\\nๆœฌๆ–‡ๆ—จๅœจ้€š่ฟ‡ๅฏน Perplexity ็š„ๆทฑๅบฆไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž๏ผŒๅธฎๅŠฉ่ฏป่€…็†่งฃ AI ๆœ็ดขไบงๅ“็š„่ฎพ่ฎก้€ป่พ‘ไธŽ็”จๆˆทไฝ“้ชŒไผ˜ๅŒ–่ทฏๅพ„๏ผŒๅŒๆ—ถไธบ็Ÿฅ่ฏ†ๅทฅไฝœ่€…ๆไพ›ๅฏ่ฝๅœฐ็š„ๆ•ˆ็އๆๅ‡ๆ–นๆณ•๏ผŒๅนถๅœจ่ฟ‡็จ‹ไธญๅŸนๅ…ป็ป“ๆž„ๅŒ–ไบงๅ“ๅˆ†ๆžๆ€็ปดใ€‚\\n\"}],\"engineering-fundamentals\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2024-03-20 22:41:41\",\"title\":\"ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ๅœจ้œ€ๆฑ‚่พน็•Œๅ†…่ฟฝๆฑ‚ๆœ€ๅฐๅคๆ‚ๅบฆโ€”โ€”ไธๆ˜ฏๆ‹’็ปๅคๆ‚๏ผŒ่€Œๆ˜ฏไธไธปๅŠจๅˆถ้€ ๅคๆ‚ใ€‚\",\"description\":\"ๆทฑๅ…ฅ่งฃๆžๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™ๅœจ็ผ–็จ‹ไธŽ่ฎพ่ฎกไธญ็š„ๅ…ญๅคงๅœบๆ™ฏ๏ผšๆ‹’็ป่ฟ‡ๅบฆ้ข„ๅˆคใ€็งป้™คๅ†—ไฝ™้€ป่พ‘ใ€ๅŒน้…ๆžถๆž„่ง„ๆจกใ€ๅ…‹ๅˆถไพ่ต–ๅผ•ๅ…ฅใ€ๅฐ่ฃ…ๆœ€ๅฐๆŽฅๅฃใ€ๅ…ˆๆŽ’ๆŸฅ็ฎ€ๅ•ๅŽŸๅ› ๏ผŒๅนถ็ป™ๅ‡บไธ‰ไธชๅ…ณ้”ฎ่พน็•Œใ€‚\",\"permalink\":\"/fullstack/occams-razor-software-design\",\"tags\":[\"concept\",\"engineering-fundamentals\",\"code-design\",\"software-engineering\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2024-03-20 22:41:41\",\"capture\":\"<script setup\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n> ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™็”ฑ 14 ไธ–็บช้€ป่พ‘ๅญฆๅฎถๅจๅป‰ยทๅฅฅๅกๅง†ๆๅ‡บ๏ผŒๅ…ถๆ ธๅฟƒไธบ\\\"ๅฆ‚ๆ— ๅฟ…่ฆ๏ผŒๅ‹ฟๅขžๅฎžไฝ“\\\"โ€”โ€”ๅœจๅคšไธชๅŒ็ญ‰ๆœ‰ๆ•ˆ็š„ๆ–นๆกˆไธญ๏ผŒ้€‰ๆ‹ฉๅ‡่ฎพๆœ€ๅฐ‘ใ€ๆœ€็ฎ€ๆด็š„้‚ฃไธชใ€‚่ฏฅๅŽŸๅˆ™ๅนถ้žๅฆๅฎšๅคๆ‚ๆ€ง๏ผŒ่€Œๆ˜ฏ้ฟๅ…ๆ— ๆ„ไน‰็š„่ฟ‡ๅบฆ่ฎพ่ฎกใ€‚ๆ–‡็ซ ไปŽ็ผ–็จ‹ไธŽ่ฎพ่ฎกๅฎž่ทตๅ‡บๅ‘๏ผŒไพๆฌกๆŽข่ฎจไบ†้œ€ๆฑ‚ๅฎž็Žฐใ€ไปฃ็ ๅฎž็Žฐใ€ๆžถๆž„่ฎพ่ฎกใ€ไพ่ต–็ฎก็†ใ€ๆŽฅๅฃ่ฎพ่ฎกใ€่ฐƒ่ฏ•ไผ˜ๅŒ–ๅ…ญๅคงๅœบๆ™ฏ็š„ๅไพ‹ไธŽๆญฃไพ‹๏ผŒๅนถๆ˜Ž็กฎๆŒ‡ๅ‡บไธ‰ไธชๅ…ณ้”ฎ่พน็•Œ๏ผšไธๅฏ็‰บ็‰ฒๅฏ็ปดๆŠคๆ€งใ€ๅฏๆ‰ฉๅฑ•ๆ€งใ€ๅฎ‰ๅ…จๆ€งๆขๅ–็ฎ€ๆดใ€‚\\n 1.\"}],\"code-design\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2024-03-20 22:41:41\",\"title\":\"ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ๅœจ้œ€ๆฑ‚่พน็•Œๅ†…่ฟฝๆฑ‚ๆœ€ๅฐๅคๆ‚ๅบฆโ€”โ€”ไธๆ˜ฏๆ‹’็ปๅคๆ‚๏ผŒ่€Œๆ˜ฏไธไธปๅŠจๅˆถ้€ ๅคๆ‚ใ€‚\",\"description\":\"ๆทฑๅ…ฅ่งฃๆžๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™ๅœจ็ผ–็จ‹ไธŽ่ฎพ่ฎกไธญ็š„ๅ…ญๅคงๅœบๆ™ฏ๏ผšๆ‹’็ป่ฟ‡ๅบฆ้ข„ๅˆคใ€็งป้™คๅ†—ไฝ™้€ป่พ‘ใ€ๅŒน้…ๆžถๆž„่ง„ๆจกใ€ๅ…‹ๅˆถไพ่ต–ๅผ•ๅ…ฅใ€ๅฐ่ฃ…ๆœ€ๅฐๆŽฅๅฃใ€ๅ…ˆๆŽ’ๆŸฅ็ฎ€ๅ•ๅŽŸๅ› ๏ผŒๅนถ็ป™ๅ‡บไธ‰ไธชๅ…ณ้”ฎ่พน็•Œใ€‚\",\"permalink\":\"/fullstack/occams-razor-software-design\",\"tags\":[\"concept\",\"engineering-fundamentals\",\"code-design\",\"software-engineering\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2024-03-20 22:41:41\",\"capture\":\"<script setup\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n> ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™็”ฑ 14 ไธ–็บช้€ป่พ‘ๅญฆๅฎถๅจๅป‰ยทๅฅฅๅกๅง†ๆๅ‡บ๏ผŒๅ…ถๆ ธๅฟƒไธบ\\\"ๅฆ‚ๆ— ๅฟ…่ฆ๏ผŒๅ‹ฟๅขžๅฎžไฝ“\\\"โ€”โ€”ๅœจๅคšไธชๅŒ็ญ‰ๆœ‰ๆ•ˆ็š„ๆ–นๆกˆไธญ๏ผŒ้€‰ๆ‹ฉๅ‡่ฎพๆœ€ๅฐ‘ใ€ๆœ€็ฎ€ๆด็š„้‚ฃไธชใ€‚่ฏฅๅŽŸๅˆ™ๅนถ้žๅฆๅฎšๅคๆ‚ๆ€ง๏ผŒ่€Œๆ˜ฏ้ฟๅ…ๆ— ๆ„ไน‰็š„่ฟ‡ๅบฆ่ฎพ่ฎกใ€‚ๆ–‡็ซ ไปŽ็ผ–็จ‹ไธŽ่ฎพ่ฎกๅฎž่ทตๅ‡บๅ‘๏ผŒไพๆฌกๆŽข่ฎจไบ†้œ€ๆฑ‚ๅฎž็Žฐใ€ไปฃ็ ๅฎž็Žฐใ€ๆžถๆž„่ฎพ่ฎกใ€ไพ่ต–็ฎก็†ใ€ๆŽฅๅฃ่ฎพ่ฎกใ€่ฐƒ่ฏ•ไผ˜ๅŒ–ๅ…ญๅคงๅœบๆ™ฏ็š„ๅไพ‹ไธŽๆญฃไพ‹๏ผŒๅนถๆ˜Ž็กฎๆŒ‡ๅ‡บไธ‰ไธชๅ…ณ้”ฎ่พน็•Œ๏ผšไธๅฏ็‰บ็‰ฒๅฏ็ปดๆŠคๆ€งใ€ๅฏๆ‰ฉๅฑ•ๆ€งใ€ๅฎ‰ๅ…จๆ€งๆขๅ–็ฎ€ๆดใ€‚\\n 1.\"}],\"software-engineering\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2024-03-20 22:41:41\",\"title\":\"ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ๅœจ้œ€ๆฑ‚่พน็•Œๅ†…่ฟฝๆฑ‚ๆœ€ๅฐๅคๆ‚ๅบฆโ€”โ€”ไธๆ˜ฏๆ‹’็ปๅคๆ‚๏ผŒ่€Œๆ˜ฏไธไธปๅŠจๅˆถ้€ ๅคๆ‚ใ€‚\",\"description\":\"ๆทฑๅ…ฅ่งฃๆžๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™ๅœจ็ผ–็จ‹ไธŽ่ฎพ่ฎกไธญ็š„ๅ…ญๅคงๅœบๆ™ฏ๏ผšๆ‹’็ป่ฟ‡ๅบฆ้ข„ๅˆคใ€็งป้™คๅ†—ไฝ™้€ป่พ‘ใ€ๅŒน้…ๆžถๆž„่ง„ๆจกใ€ๅ…‹ๅˆถไพ่ต–ๅผ•ๅ…ฅใ€ๅฐ่ฃ…ๆœ€ๅฐๆŽฅๅฃใ€ๅ…ˆๆŽ’ๆŸฅ็ฎ€ๅ•ๅŽŸๅ› ๏ผŒๅนถ็ป™ๅ‡บไธ‰ไธชๅ…ณ้”ฎ่พน็•Œใ€‚\",\"permalink\":\"/fullstack/occams-razor-software-design\",\"tags\":[\"concept\",\"engineering-fundamentals\",\"code-design\",\"software-engineering\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2024-03-20 22:41:41\",\"capture\":\"<script setup\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n> ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™็”ฑ 14 ไธ–็บช้€ป่พ‘ๅญฆๅฎถๅจๅป‰ยทๅฅฅๅกๅง†ๆๅ‡บ๏ผŒๅ…ถๆ ธๅฟƒไธบ\\\"ๅฆ‚ๆ— ๅฟ…่ฆ๏ผŒๅ‹ฟๅขžๅฎžไฝ“\\\"โ€”โ€”ๅœจๅคšไธชๅŒ็ญ‰ๆœ‰ๆ•ˆ็š„ๆ–นๆกˆไธญ๏ผŒ้€‰ๆ‹ฉๅ‡่ฎพๆœ€ๅฐ‘ใ€ๆœ€็ฎ€ๆด็š„้‚ฃไธชใ€‚่ฏฅๅŽŸๅˆ™ๅนถ้žๅฆๅฎšๅคๆ‚ๆ€ง๏ผŒ่€Œๆ˜ฏ้ฟๅ…ๆ— ๆ„ไน‰็š„่ฟ‡ๅบฆ่ฎพ่ฎกใ€‚ๆ–‡็ซ ไปŽ็ผ–็จ‹ไธŽ่ฎพ่ฎกๅฎž่ทตๅ‡บๅ‘๏ผŒไพๆฌกๆŽข่ฎจไบ†้œ€ๆฑ‚ๅฎž็Žฐใ€ไปฃ็ ๅฎž็Žฐใ€ๆžถๆž„่ฎพ่ฎกใ€ไพ่ต–็ฎก็†ใ€ๆŽฅๅฃ่ฎพ่ฎกใ€่ฐƒ่ฏ•ไผ˜ๅŒ–ๅ…ญๅคงๅœบๆ™ฏ็š„ๅไพ‹ไธŽๆญฃไพ‹๏ผŒๅนถๆ˜Ž็กฎๆŒ‡ๅ‡บไธ‰ไธชๅ…ณ้”ฎ่พน็•Œ๏ผšไธๅฏ็‰บ็‰ฒๅฏ็ปดๆŠคๆ€งใ€ๅฏๆ‰ฉๅฑ•ๆ€งใ€ๅฎ‰ๅ…จๆ€งๆขๅ–็ฎ€ๆดใ€‚\\n 1.\"}],\"่ฟๅŠจ\":[{\"url\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/20.ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹้˜ถๆฎต้š็ฌ”ๆฑ‡ๆ€ป\",\"relativePath\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/20.ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹้˜ถๆฎต้š็ฌ”ๆฑ‡ๆ€ป\",\"frontmatter\":{\"date\":\"2022-09-12 08:16:00\",\"title\":\"็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ”นๅ–„็š„ๆ–นๅผๆŽจๅŠจๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไปŽโ€œไนฆ็”Ÿๆ„ๆฐ”โ€ๅˆฐๅˆๅ…ฅ็คพไผš็š„โ€œไธญๅนดๆฒน่…ปโ€ๅฑๆœบ๏ผŒไธ€ๆฌกๅฅๅบท่ญฆๆŠฅ่ฎฉ็ฌ”่€…ๅผ€ๅฏไบ†่ฟ™ๅœบๆทฑๅˆป็š„่‡ชๆˆ‘ๅฏน่ฏไธŽ่กŒๅŠจใ€‚ๆœฌๆ–‡่ฏฆ็ป†ๅค็›˜ไบ†็ฌ”่€…ไปŽๅฅๅบทๅฑๆœบๅ‡บๅ‘๏ผŒ้€š่ฟ‡ๅ››ไธช้˜ถๆฎต็š„ๅพชๅบๆธ่ฟ›๏ผŒๆˆๅŠŸๅฎž็Žฐไฝ“้‡็ฎก็†็š„่ฟ‡็จ‹ใ€‚ๅŒบๅˆซไบŽ็›ฒ็›ฎ่ทŸ้ฃŽ๏ผŒ็ฌ”่€…ๅœจๅฎž่ทตไธญๅผ•ๅ…ฅไบ†็›ฎๆ ‡ๆ‹†่งฃใ€ๆ•ฐๆฎ็›‘ๆŽง๏ผˆไฝ“่„‚็งคๆŒ‡ๆ ‡๏ผ‰ใ€่ทจ้ข†ๅŸŸ็ป้ชŒ่ฟ็งป๏ผˆๅฆ‚้กน็›ฎ็ฎก็†ใ€ๆ—ถ้—ด็ฎก็†๏ผ‰ไปฅๅŠๅฏนไธๅŒ็ญ–็•ฅ๏ผˆๅฆ‚ๆŽงๅˆถ้ฅฎ้ฃŸใ€ๅŠ ๅคงๆ— ๆฐง่ฟๅŠจใ€ๅฐ่ฏ•ไธๅƒไธป้ฃŸ๏ผ‰็š„่พฉ่ฏ้‡‡็บณใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ไปฝๅ‡่‚ฅ่ฎฐๅฝ•๏ผŒๆ›ดๆ˜ฏไธ€ๆฌก็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ€็ปด้‡ๆž„็”Ÿๆดป็งฉๅบใ€ๅฎž็Žฐ่บซๅฟƒๅ‡็บง็š„ๅฎžๆ“ๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/growth/weight-loss\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/health_bg.png\",\"top\":true,\"tags\":[\"ๅฅๅบท\",\"่ฟๅŠจ\"],\"categories\":[\"ไธชไบบๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ”นๅ–„็š„ๆ–นๅผๆŽจๅŠจๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹\",\"date\":\"2022-09-12 08:16:00\",\"capture\":\"ๅ†™ๅœจๅ‰้ข\\nๅœจ็ปๆตŽๅฟซ้€Ÿๅ‘ๅฑ•็š„ๅคง่ƒŒๆ™ฏไธ‹๏ผŒไธ€ๆ‰นๅˆไธ€ๆ‰น็š„ๅคงๅญฆ็”Ÿ้™†็ปญ่ตฐๅ‡บๆ ก้—จ่ฟ›ๅ…ฅ็คพไผšๅคง่ˆžๅฐใ€‚้š็€ๅนด้พ„ไธŽๅทฅไฝœๅนด้™็š„ๅขž้•ฟ๏ผŒไธ็Ÿฅ็ฝฎ่บซไบŽๅ…ถไธญ็š„ไฝ ๆ˜ฏๅฆๆ„Ÿๆ…จ่ฟ‡่‡ชๅทฑๅœจ้˜…ๅކไธŠไปŽโ€œไนฆ็”Ÿๆ„ๆฐ”โ€ๆธๆธๆผ”ๅ˜ไธบโ€œๅ››ๅนณๅ…ซ็จณ๏ผŒๆธธๅˆƒๆœ‰ไฝ™โ€๏ผ›ๅœจ่บซไฝ“ๅ…ปๆŠคๆ–น้ขไปŽโ€œ่บซๆๆ— ๆ•Œ๏ผŒๅนด้พ„ๆˆ่ฟท๏ผŒๅฎžๆ‰“ๅฎžไธ€ไธชไผ ๅฅ‡โ€ๆผ”ๅ˜ไธบโ€œไธญๅนดๆฒน่…ปโ€ใ€‚ๆฏไธชไบบๅคšๅฐ‘้ƒฝๆœ‰่‡ชๅทฑ็š„็ญ”ๆกˆ๏ผŒ็ฌ”่€…็š„็ญ”ๆกˆๆ˜ฏ๏ผš่ตฐๅ‡บๆ ก้—จ่ฟ›ๅ…ฅ็คพไผšๅŽ๏ผŒๅฝ“ๅˆๅฏน่บซ่พนไบบๆœ‰็‚น่‹›ๅˆป๏ผŒ้‡ไบ‹็ซๆ€ฅ็ซ็‡Ž็š„่‡ชๅทฑ้€ๆธๅพ—ๅˆฐไบ†ๆ”นๅ–„ใ€‚่บซไฝ“ๅดๅ› ๅŽŸๆœฌๅœจๅคงๅญฆๆ—ถๆฒกๆœ‰ๆ€Žไนˆๅœจๆ„๏ผŒ็ป่ฟ‡้•ฟๅนด็ดฏๆœˆๅœฐๆด—็คผไบฎไบ†ไธ€ๆฌกๅฐ็บข็ฏใ€‚ๅœจๅบทๅคๆœŸ้—ด๏ผŒไธๆญขไธ€ๆฌกๅๆ€่ฟ‡ไน‹ๅ‰็š„็”Ÿๆดปๆ–นๅผๅ’Œๅ…ฅไธ–ๆจกๅผ๏ผŒๆƒณไธ€ๆƒณ + ๅ››ๅค„็œ‹ไธ€็œ‹ๅŽ๏ผŒๆ…ขๆ…ขไนŸๅฐฑๅผ€ๆ‚Ÿไบ†๏ผŒ่‡ช็„ถ่ฆๅฏๅŠจไธ€ไบ›ๆ”นๅ˜ๅฐ่ฏ•ใ€‚\\nๅ› ๆญค๏ผŒไนŸๅฐฑๆœ‰ไบ†่ฟ™็ฏ‡ๅ‡่‚ฅ่ฟ™ไปถ\"}]}},\"groupCards\":{\"categories\":[{\"name\":\"AI ๅญฆไน ไธŽๅฎž่ทต\",\"length\":5},{\"name\":\"Agent ็ณปๅˆ—\",\"length\":1},{\"name\":\"ๅ…จๆ ˆ\",\"length\":21},{\"name\":\"ไบงๅ“ Sense\",\"length\":7},{\"name\":\"AI\",\"length\":2},{\"name\":\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\",\"length\":1},{\"name\":\"ไธชไบบๆˆ้•ฟ\",\"length\":3},{\"name\":\"ๅผ€ๆบๆดžๅฏŸ\",\"length\":2},{\"name\":\"ai-practice\",\"length\":4},{\"name\":\"็ฝ‘็ปœไธŽ้€šไฟก\",\"length\":3},{\"name\":\"ๅ‰็ซฏๅทฅ็จ‹\",\"length\":3},{\"name\":\"่ต„ๆบๆŽจ่\",\"length\":5},{\"name\":\"ๅ…ณไบŽ\",\"length\":1},{\"name\":\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"length\":10},{\"name\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\",\"length\":7},{\"name\":\"growth\",\"length\":1}],\"tags\":[{\"name\":\"Agent SDK\",\"length\":2},{\"name\":\"Multi-Agent\",\"length\":1},{\"name\":\"Agent Skills\",\"length\":1},{\"name\":\"Agent\",\"length\":6},{\"name\":\"AI\",\"length\":12},{\"name\":\"ๅ…จๆ ˆ\",\"length\":7},{\"name\":\"ไบงๅ“\",\"length\":1},{\"name\":\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\",\"length\":3},{\"name\":\"็ณป็ปŸๆ€็ปด\",\"length\":1},{\"name\":\"ๆ•ฐๅญฆๆ€็ปด\",\"length\":1},{\"name\":\"ๆจกๅž‹ๆ€็ปด\",\"length\":1},{\"name\":\"็–ซๆƒ…\",\"length\":2},{\"name\":\"ๅฅๅบท\",\"length\":2},{\"name\":\"ๆ—ถ้—ด\",\"length\":1},{\"name\":\"่ฟœ็จ‹ๅไฝœ\",\"length\":1},{\"name\":\"LLM\",\"length\":1},{\"name\":\"CSS\",\"length\":1},{\"name\":\"ๅทฅ็จ‹ๅŒ–\",\"length\":1},{\"name\":\"tailwindcss\",\"length\":1},{\"name\":\"tutorial\",\"length\":8},{\"name\":\"SSE\",\"length\":2},{\"name\":\"HTTP Streaming\",\"length\":1},{\"name\":\"HTTP ่ฝฎ่ฏข\",\"length\":2},{\"name\":\"้€€้ฟ่ฝฎ่ฏข\",\"length\":1},{\"name\":\"้•ฟ่ฝฎ่ฏข\",\"length\":1},{\"name\":\"HTTP\",\"length\":1},{\"name\":\"WebSocket\",\"length\":1},{\"name\":\"Webhooks\",\"length\":1},{\"name\":\"AI Agent\",\"length\":1},{\"name\":\"react\",\"length\":1},{\"name\":\"component-design\",\"length\":1},{\"name\":\"state-management\",\"length\":1},{\"name\":\"ai-augmented\",\"length\":1},{\"name\":\"specification-driven\",\"length\":1},{\"name\":\"่ต„ๆบๆŽจ่\",\"length\":5},{\"name\":\"LLM API\",\"length\":1},{\"name\":\"AI Coding\",\"length\":1},{\"name\":\"Vibe Coding\",\"length\":1},{\"name\":\"Agentic Engineering\",\"length\":1},{\"name\":\"AI ๅŠฉๆ‰‹\",\"length\":1},{\"name\":\"AI ๆœ็ดข\",\"length\":2},{\"name\":\"ไบงๅ“ Sense\",\"length\":4},{\"name\":\"ๅ•†ไธšๅŒ–\",\"length\":1},{\"name\":\"SWR\",\"length\":1},{\"name\":\"TanStack Query\",\"length\":1},{\"name\":\"ๅ‰็ซฏๅทฅ็จ‹\",\"length\":1},{\"name\":\"jamstack\",\"length\":1},{\"name\":\"frontend-architecture\",\"length\":1},{\"name\":\"next.js\",\"length\":1},{\"name\":\"static-site-generator\",\"length\":1},{\"name\":\"็ณป็ปŸๆดžๅฏŸๅŠ›\",\"length\":1},{\"name\":\"ไฟกๆฏ็ญ›้€‰\",\"length\":1},{\"name\":\"ไธชไบบๆˆ้•ฟ\",\"length\":1},{\"name\":\"typescript\",\"length\":3},{\"name\":\"generics\",\"length\":1},{\"name\":\"type-system\",\"length\":1},{\"name\":\"compilation\",\"length\":1},{\"name\":\"tooling\",\"length\":1},{\"name\":\"eslint\",\"length\":1},{\"name\":\"jest\",\"length\":1},{\"name\":\"ๆˆ้•ฟ\",\"length\":1},{\"name\":\"ESM\",\"length\":3},{\"name\":\"DDD\",\"length\":1},{\"name\":\"ๅพฎๅ‰็ซฏ\",\"length\":1},{\"name\":\"concept\",\"length\":5},{\"name\":\"node.js\",\"length\":1},{\"name\":\"commonjs\",\"length\":1},{\"name\":\"esm\",\"length\":2},{\"name\":\"monorepo\",\"length\":1},{\"name\":\"layered-architecture\",\"length\":1},{\"name\":\"solid-principles\",\"length\":1},{\"name\":\"code-organization\",\"length\":1},{\"name\":\"best-practices\",\"length\":1},{\"name\":\"naming-conventions\",\"length\":1},{\"name\":\"tsconfig\",\"length\":1},{\"name\":\"static-analysis\",\"length\":1},{\"name\":\"Tree-Shaking\",\"length\":1},{\"name\":\"circular-dependency\",\"length\":1},{\"name\":\"CommonJS\",\"length\":1},{\"name\":\"AMD\",\"length\":1},{\"name\":\"UMD\",\"length\":1},{\"name\":\"javascript\",\"length\":1},{\"name\":\"modularization\",\"length\":1},{\"name\":\"design-patterns\",\"length\":1},{\"name\":\"็Ÿฅ่ฏ†ๅ‘็Žฐ\",\"length\":1},{\"name\":\"engineering-fundamentals\",\"length\":1},{\"name\":\"code-design\",\"length\":1},{\"name\":\"software-engineering\",\"length\":1},{\"name\":\"่ฟๅŠจ\",\"length\":1}]}}},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":true,\"additionalConfig\":{}}")); \ No newline at end of file diff --git a/assets/chunks/metadata.7bed8ab7.js b/assets/chunks/metadata.7bed8ab7.js deleted file mode 100644 index f48e032d..00000000 --- a/assets/chunks/metadata.7bed8ab7.js +++ /dev/null @@ -1 +0,0 @@ -window.__VP_HASH_MAP__=JSON.parse("{\"01.ๅ…จๆ ˆ_00.overview.md\":\"DTl63cj_\",\"01.ๅ…จๆ ˆ_01.ai native ๅทฅ็จ‹ๆ€็ปด_01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ ai ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€.md\":\"Ch3CtLm0\",\"01.ๅ…จๆ ˆ_01.ai native ๅทฅ็จ‹ๆ€็ปด_02.้‡ๆž„ๅผ€ๅ‘่€…๏ผšai ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—.md\":\"w2dUgYOC\",\"01.ๅ…จๆ ˆ_01.ai native ๅทฅ็จ‹ๆ€็ปด_10.่ฏป anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป ai ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘.md\":\"BKsOQbXL\",\"01.ๅ…จๆ ˆ_10.ai ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—_00.ai็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ.md\":\"CQL4JXm2\",\"01.ๅ…จๆ ˆ_40.ๅ‰็ซฏๅทฅ็จ‹_01.react ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšai ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—.md\":\"C0-Qj7UG\",\"01.ๅ…จๆ ˆ_40.ๅ‰็ซฏๅทฅ็จ‹_02.cssๅทฅ็จ‹ๅŒ–.md\":\"B6Q9ssdl\",\"01.ๅ…จๆ ˆ_40.ๅ‰็ซฏๅทฅ็จ‹_03.jamstack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—.md\":\"BHFPzWx_\",\"01.ๅ…จๆ ˆ_40.ๅ‰็ซฏๅทฅ็จ‹_11.react ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ.md\":\"Bm5uQ9fk\",\"01.ๅ…จๆ ˆ_60.็ฝ‘็ปœไธŽ้€šไฟก_01.ไปŽ http ๅˆฐ websocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—.md\":\"DlstBmfn\",\"01.ๅ…จๆ ˆ_60.็ฝ‘็ปœไธŽ้€šไฟก_02.ๆตๅผ http ไธŽ sse ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต.md\":\"DBvMz_Gr\",\"01.ๅ…จๆ ˆ_60.็ฝ‘็ปœไธŽ้€šไฟก_03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–.md\":\"J0ycjaFX\",\"01.ๅ…จๆ ˆ_80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป_00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—.md\":\"DMY_isjL\",\"01.ๅ…จๆ ˆ_80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป_01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• typescript ้กน็›ฎๆŒ‡ๅ—.md\":\"DTw4Rt2C\",\"01.ๅ…จๆ ˆ_80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป_10.่Šไธ€่Š typescript ๆณ›ๅž‹.md\":\"CavsGSMv\",\"01.ๅ…จๆ ˆ_80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป_20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—_0.overview.md\":\"BdLdBuUH\",\"01.ๅ…จๆ ˆ_80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป_20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—_1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€.md\":\"f0WM8qM3\",\"01.ๅ…จๆ ˆ_80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป_20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—_2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†.md\":\"CDvbKLWO\",\"01.ๅ…จๆ ˆ_80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป_20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—_3.es modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž.md\":\"B-hcltGc\",\"01.ๅ…จๆ ˆ_80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป_20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—_4.typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ.md\":\"BJ-pD4L0\",\"01.ๅ…จๆ ˆ_80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป_20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—_5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต.md\":\"uR00Ga87\",\"01.ๅ…จๆ ˆ_80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป_20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—_6.่งฃๆž nodejs ไธญ็š„ๆจกๅ—ๅŒ–.md\":\"DRe2iUDr\",\"01.ๅ…จๆ ˆ_90.ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่_90.ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่.md\":\"Dq7Ydo7v\",\"10.ไบงๅ“ sense_00.ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ.md\":\"B9Ry8o94\",\"10.ไบงๅ“ sense_01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž_11.ai-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšperplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€….md\":\"BEH7EQLT\",\"10.ไบงๅ“ sense_02.ๆ–ฐ t ๅž‹ไบบ_20.่ฏปๅŽๆ„Ÿ๏ผšai ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ.md\":\"Du3qZ8xB\",\"10.ไบงๅ“ sense_02.ๆ–ฐ t ๅž‹ไบบ_21.ๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ sense.md\":\"JciUte9l\",\"10.ไบงๅ“ sense_04.ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–_30.ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹่ฏปๅŽๆ„Ÿ.md\":\"CbayMoYI\",\"10.ไบงๅ“ sense_05.ๆ–นๆณ•่ฎบ_40.ๆดžๅฏŸๅŠ›ๆจกๅž‹.md\":\"-U_WT1WE\",\"10.ไบงๅ“ sense_05.ๆ–นๆณ•่ฎบ_50.็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“.md\":\"D6Tetc-8\",\"20.ai ๅญฆไน ไธŽๅฎž่ทต_00.ai ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ.md\":\"C4OWiCyw\",\"20.ai ๅญฆไน ไธŽๅฎž่ทต_02.agent ็ณปๅˆ—_01.agentๆฆ‚่งˆไธŽ็ปผ่ฟฐ.md\":\"BIpWVkHy\",\"20.ai ๅญฆไน ไธŽๅฎž่ทต_02.agent ็ณปๅˆ—_02.agent ่ง„ๅˆ’ๆจกๅ—.md\":\"BEUNtIDI\",\"20.ai ๅญฆไน ไธŽๅฎž่ทต_02.agent ็ณปๅˆ—_03.ๆž„ๅปบ agentic ็”Ÿๆ€๏ผšๅฐ†้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต.md\":\"Bgi-7Dm_\",\"20.ai ๅญฆไน ไธŽๅฎž่ทต_02.agent ็ณปๅˆ—_10.agent skills.md\":\"DFSiQA8t\",\"20.ai ๅญฆไน ไธŽๅฎž่ทต_04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ_10.ๅŸบไบŽ claude agent sdk ๆญๅปบ deep research agent.md\":\"DOONNKFw\",\"20.ai ๅญฆไน ไธŽๅฎž่ทต_04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ_20.ๅŸบไบŽ claude agent sdk ๆญๅปบ agent.md\":\"CWhLwl8r\",\"20.ai ๅญฆไน ไธŽๅฎž่ทต_04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ_60.ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹.md\":\"DXM5G5Ag\",\"20.ai ๅญฆไน ไธŽๅฎž่ทต_04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ_70.่ฏ—ๆญŒๅฐ็ฒพ็ต.md\":\"j6xnTKI4\",\"20.ai ๅญฆไน ไธŽๅฎž่ทต_90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่_01.ๅฅฝ็”จ็š„ ai ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่.md\":\"vaSWKpLD\",\"20.ai ๅญฆไน ไธŽๅฎž่ทต_90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่_11. llm api ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—.md\":\"Pr48zsHZ\",\"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰_01.ๅฅฝไนฆๆŽจ่.md\":\"BVzgXE8N\",\"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰_10.่ฏปไนฆไธ‰่ฆไธ‰ไธ่ฆ.md\":\"DaAm_LXA\",\"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰_21.ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ.md\":\"Be9IJNun\",\"40.ๅ…ณไบŽ_01.ๅ…ณไบŽๆˆ‘.md\":\"BzNDwyw3\",\"40.ๅ…ณไบŽ_30.ๆˆ้•ฟ้š็ฌ”_01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘.md\":\"CJpPM59I\",\"40.ๅ…ณไบŽ_30.ๆˆ้•ฟ้š็ฌ”_10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ.md\":\"BIUhmRg0\",\"40.ๅ…ณไบŽ_30.ๆˆ้•ฟ้š็ฌ”_20.ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹้˜ถๆฎต้š็ฌ”ๆฑ‡ๆ€ป.md\":\"C1xoZ0dn\",\"@pages_categoriespage.md\":\"Cnp1svtv\",\"@pages_tagspage.md\":\"C5Ifm28k\",\"index.md\":\"Dpw0tPo2\"}");function deserializeFunctions(r){return Array.isArray(r)?r.map(deserializeFunctions):typeof r=="object"&&r!==null?Object.keys(r).reduce((t,n)=>(t[n]=deserializeFunctions(r[n]),t),{}):typeof r=="string"&&r.startsWith("_vp-fn_")?new Function(`return ${r.slice(7)}`)():r};window.__VP_SITE_DATA__=deserializeFunctions(JSON.parse("{\"lang\":\"zh-CN\",\"dir\":\"ltr\",\"title\":\"Insight Stack\",\"description\":\"A digital garden exploring the intersection of Full-stack Engineering, Product Thinking, and LLMs.,Built with VitePress and vitepress-theme-teek. Focus on Full-stack Engineering, Product Thinking, and LLMs.,VitePress ๆ‹ฅๆœ‰ไธ‰็งๅ…ธๅž‹็š„็Ÿฅ่ฏ†็ฎก็†ๅฝขๆ€๏ผš็ป“ๆž„ๅŒ–ใ€็ขŽ็‰‡ๅŒ–ใ€ไฝ“็ณปๅŒ–๏ผŒๅฏไปฅ่ฝปๆพๆž„ๅปบไธ€ไธช็ป“ๆž„ๅŒ–็Ÿฅ่ฏ†ๅบ“๏ผŒ้€‚็”จไธชไบบๅšๅฎขใ€ๆ–‡ๆกฃ็ซ™ใ€็Ÿฅ่ฏ†ๅบ“็ญ‰ๅœบๆ™ฏ\",\"base\":\"/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"teekTheme\":true,\"teekHome\":true,\"vpHome\":false,\"sidebarTrigger\":true,\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"banner\":{\"enabled\":true,\"name\":\"\",\"bgStyle\":\"pure\",\"pureBgColor\":\"#F7F5FA\",\"imgSrc\":[\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/image.png\"],\"mask\":false,\"descStyle\":\"switch\",\"description\":[\"Insight Stack = ๅทฅ็จ‹ๅŸบๅบง ร— ไบงๅ“ๆ€็ปด ร— AI ๅŽŸๅŠ›\",\"็œŸๆญฃ็š„ๅฅฝไบงๅ“ๆ˜ฏ่ฎฉๆŠ€ๆœฏ้šๅ…ฅ่ƒŒๆ™ฏ๏ผŒ่ฎฉไบคไบ’ๅ› ๅ…ฑ้ธฃ่€Œ็”Ÿ\"]},\"homeCardListPosition\":\"right\",\"homeCardSort\":[\"topArticle\",\"category\",\"tag\",\"docAnalysis\",\"friendLink\"],\"topArticle\":{\"enabled\":true,\"limit\":3,\"autoPage\":false,\"pageSpeed\":4000,\"dateFormat\":\"yyyy-MM-dd\"},\"category\":{\"enabled\":false,\"limit\":8,\"autoPage\":false,\"pageSpeed\":4000},\"friendLink\":{\"enabled\":false,\"limit\":5,\"list\":[{\"avatar\":\"https://vitepress.dev/vitepress-logo-large.svg\",\"name\":\"VitePress\",\"desc\":\"Vue ้ฉฑๅŠจ็š„้™ๆ€็ซ™็‚น็”Ÿๆˆๅ™จ\",\"link\":\"https://vitepress.dev/\"},{\"avatar\":\"https://vp.teek.top/teek-logo-large.png\",\"name\":\"vitepress-theme-teek\",\"desc\":\"Teekๅฎ˜็ฝ‘\",\"link\":\"https://vp.teek.top/\"}]},\"docAnalysis\":{\"enabled\":false},\"footerInfo\":{\"theme\":{\"name\":\"Theme By Teek@1.5.2\"},\"copyright\":{\"createYear\":2017,\"suffix\":\"Sqliang\"}},\"codeBlock\":{\"enabled\":false,\"collapseHeight\":700,\"overlay\":true,\"overlayHeight\":400,\"copiedDone\":\"_vp-fn_(TkMessage) => TkMessage.success(\\\"\\\\u590D\\\\u5236\\\\u6210\\\\u529F\\\\uFF01\\\")\"},\"articleShare\":{\"enabled\":true},\"articleUpdate\":{\"enabled\":false},\"post\":{},\"themeEnhance\":{\"layoutSwitch\":{\"defaultMode\":\"fullWidth\"}},\"logo\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/favicon.png\",\"darkModeSwitchLabel\":\"ไธป้ข˜\",\"sidebarMenuLabel\":\"่œๅ•\",\"returnToTopLabel\":\"่ฟ”ๅ›ž้กถ้ƒจ\",\"lastUpdatedText\":\"ไธŠๆฌกๆ›ดๆ–ฐๆ—ถ้—ด\",\"outline\":{\"level\":[2,4],\"label\":\"ๆœฌ้กตๅฏผ่ˆช\"},\"docFooter\":{\"prev\":\"ไธŠไธ€้กต\",\"next\":\"ไธ‹ไธ€้กต\"},\"nav\":[{\"text\":\"้ฆ–้กต\",\"link\":\"/\"},{\"text\":\"ๅ…จๆ ˆ\",\"items\":[{\"text\":\"\\n
\\n ๅ…จๆ™ฏไธ€่งˆ\\n
\\n \",\"link\":\"/fullstack/overview\",\"activeMatch\":\"01.ๅ…จๆ ˆ/00.overview\"},{\"text\":\"\\n
\\n AI Native ๅทฅ็จ‹ๆ€็ปด\\n
\\n \",\"link\":\"/fullstack/ai-native\",\"activeMatch\":\"01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\"},{\"text\":\"\\n
\\n AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\\n
\\n \",\"link\":\"/ai-learning/ai-coding-resources\",\"activeMatch\":\"01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ\"},{\"text\":\"\\n
\\n ๅ‰็ซฏๅทฅ็จ‹\\n
\\n \",\"link\":\"/fullstack/react-design-philosophy-ai-augmented\",\"activeMatch\":\"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\"},{\"text\":\"\\n
\\n ็ฝ‘็ปœไธŽ้€šไฟก\\n
\\n \",\"link\":\"/fullstack/networking-protocol-selection-guide\",\"activeMatch\":\"01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\"},{\"text\":\"\\n
\\n ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\\n
\\n \",\"link\":\"/fullstack/occams-razor-software-design\",\"activeMatch\":\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\"},{\"text\":\"\\n
\\n ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่\\n
\\n \",\"link\":\"/growth/full-stack-resources\",\"activeMatch\":\"01.ๅ…จๆ ˆ/90.ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่/90.ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\"}],\"activeMatch\":\"01.ๅ…จๆ ˆ/90.ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่\"},{\"text\":\"AI ๅญฆไน ไธŽๅฎž่ทต\",\"items\":[{\"text\":\"\\n
\\n ๅ…จๆ™ฏไธ€่งˆ\\n
\\n \",\"link\":\"/ai-learning/overview\",\"activeMatch\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/00.AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ\"},{\"text\":\"\\n
\\n Agent ็ณปๅˆ—\\n
\\n \",\"link\":\"/ai-agent/overview\",\"activeMatch\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/01.Agentๆฆ‚่งˆไธŽ็ปผ่ฟฐ\"},{\"text\":\"\\n
\\n ็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ\\n
\\n \",\"link\":\"/ai-agent/deepresearch-agent\",\"activeMatch\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/10.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Deep Research Agent\"},{\"text\":\"\\n
\\n ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่\\n
\\n \",\"link\":\"/ai-learning/tools-assistant\",\"activeMatch\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\"}],\"activeMatch\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่\"},{\"text\":\"ไบงๅ“ Sense\",\"items\":[{\"text\":\"\\n
\\n ๅ…จๆ™ฏไธ€่งˆ\\n
\\n \",\"link\":\"/product-sense\",\"activeMatch\":\"10.ไบงๅ“ Sense/00.ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\"},{\"text\":\"\\n
\\n ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž\\n
\\n \",\"link\":\"/product-sense/perplexity-knowledge-worker\",\"activeMatch\":\"10.ไบงๅ“ Sense/01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž/11.AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\"},{\"text\":\"\\n
\\n ๆ–ฐ T ๅž‹ไบบ\\n
\\n \",\"link\":\"/product-sense/ai-native-composite-talents\",\"activeMatch\":\"10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/20.่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\"},{\"text\":\"\\n
\\n ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–\\n
\\n \",\"link\":\"/product-sense/small-rule-learn\",\"activeMatch\":\"10.ไบงๅ“ Sense/04.ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–/30.ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹่ฏปๅŽๆ„Ÿ\"},{\"text\":\"\\n
\\n ๆ–นๆณ•่ฎบ\\n
\\n \",\"link\":\"/product-sense/insight-model\",\"activeMatch\":\"10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/40.ๆดžๅฏŸๅŠ›ๆจกๅž‹\"}],\"activeMatch\":\"10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ\"},{\"text\":\"ๆ‚ฆ่ฏปๆ‹พๅ…‰\",\"items\":[{\"text\":\"ๅฅฝไนฆๆŽจ่\",\"link\":\" /growth/books\"},{\"text\":\"่ฏปไนฆโ€œไธ‰่ฆโ€ๅ’Œโ€œไธ‰ไธ่ฆโ€\",\"link\":\"/pages/growth/reading-tips\",\"activeMatch\":\"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/10.่ฏปไนฆไธ‰่ฆไธ‰ไธ่ฆ\"},{\"text\":\"ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"link\":\"/growth/distinguish-useful-information\",\"activeMatch\":\"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/21.ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\"}],\"activeMatch\":\"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰\"},{\"text\":\"ๅ…ณไบŽ\",\"items\":[{\"text\":\"ๅ…ณไบŽๆˆ‘\",\"link\":\"/about/me\",\"activeMatch\":\"40.ๅ…ณไบŽ/01.ๅ…ณไบŽๆˆ‘\"},{\"text\":\"ๅ…ณไบŽๆœฌ็ซ™\",\"link\":\"/about/me#ๅ…ณไบŽๆœฌ็ซ™\"},{\"text\":\"ๆˆ้•ฟ้š็ฌ”\",\"link\":\"/growth/outer-experience\",\"activeMatch\":\"40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\"}],\"activeMatch\":\"40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”\"}],\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/sqliang\"},{\"icon\":{\"svg\":\"\"},\"link\":\"mailto:hfutsqliang@qq.com\"}],\"search\":{\"provider\":\"local\"},\"sidebar\":{\"/01.ๅ…จๆ ˆ/\":[{\"text\":\"ๅ…จๆ™ฏไธ€่งˆ\",\"collapsed\":true,\"link\":\"/01.ๅ…จๆ ˆ/00.overview\"},{\"text\":\"AI Native ๅทฅ็จ‹ๆ€็ปด\",\"collapsed\":true,\"items\":[{\"text\":\"ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"collapsed\":true,\"link\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\"},{\"text\":\"้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"collapsed\":true,\"link\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/02.้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\"},{\"text\":\"่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"collapsed\":true,\"link\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/10.่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\"}]},{\"text\":\"AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\",\"collapsed\":true,\"items\":[{\"text\":\"AI ็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่\",\"collapsed\":true,\"link\":\"/01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ\"}]},{\"text\":\"ๅ‰็ซฏๅทฅ็จ‹\",\"collapsed\":true,\"items\":[{\"text\":\"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"collapsed\":true,\"link\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\"},{\"text\":\"ไปŽๅŽŸๅญๅŒ–ๅˆฐๅ˜ไฝ“้ฉฑๅŠจ๏ผš็Žฐไปฃ CSS ๅทฅ็จ‹ๅŒ–็š„ๆžถๆž„ๆผ”่ฟ›ไธŽๆททๅˆๅฎž่ทตๆŒ‡ๅ—\",\"collapsed\":true,\"link\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/02.CSSๅทฅ็จ‹ๅŒ–\"},{\"text\":\"JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"collapsed\":true,\"link\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\"},{\"text\":\"ไธๆญขไบŽ Fetch๏ผšReact ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"collapsed\":true,\"link\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/11.React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\"}]},{\"text\":\"็ฝ‘็ปœไธŽ้€šไฟก\",\"collapsed\":true,\"items\":[{\"text\":\"Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"collapsed\":true,\"link\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\"},{\"text\":\"ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"collapsed\":true,\"link\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\"},{\"text\":\"HTTP ่ฝฎ่ฏขไผ˜ๅŒ–ๆŒ‡ๅ—๏ผš้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"collapsed\":true,\"link\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\"}]},{\"text\":\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"collapsed\":true,\"items\":[{\"text\":\"ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"collapsed\":true,\"link\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\"},{\"text\":\"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—\",\"collapsed\":true,\"link\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—\"},{\"text\":\"่Šไธ€่Š TypeScript ไธญ็š„ๆณ›ๅž‹\",\"collapsed\":true,\"link\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹\"},{\"text\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\",\"collapsed\":true,\"items\":[{\"text\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\",\"collapsed\":true,\"link\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview\"},{\"text\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ๏ผšๆฆ‚ๅฟตใ€ๆผ”่ฟ›ไธŽ่ฎพ่ฎกๆจกๅผ\",\"collapsed\":true,\"link\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€\"},{\"text\":\"JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\",\"collapsed\":true,\"link\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†\"},{\"text\":\"ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒๆ‹ฅๆŠฑๅŽŸ็”Ÿ๏ผšES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"collapsed\":true,\"link\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\"},{\"text\":\"ไปŽ้€ป่พ‘้š”็ฆปๅˆฐ็ฑปๅž‹ๅฅ‘็บฆ๏ผšTypeScript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"collapsed\":true,\"link\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\"},{\"text\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ๆขณ็†ไธŽๆ€ป็ป“\",\"collapsed\":true,\"link\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต\"},{\"text\":\"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“\",\"collapsed\":true,\"link\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–\"}]}]},{\"text\":\"ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่\",\"collapsed\":true,\"items\":[{\"text\":\"ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"collapsed\":true,\"link\":\"/01.ๅ…จๆ ˆ/90.ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่/90.ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\"}]}],\"/10.ไบงๅ“ Sense/\":[{\"text\":\"ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"collapsed\":true,\"link\":\"/10.ไบงๅ“ Sense/00.ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\"},{\"text\":\"ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž\",\"collapsed\":true,\"items\":[{\"text\":\"AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"collapsed\":true,\"link\":\"/10.ไบงๅ“ Sense/01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž/11.AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\"}]},{\"text\":\"ๆ–ฐ T ๅž‹ไบบ\",\"collapsed\":true,\"items\":[{\"text\":\"่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"collapsed\":true,\"link\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/20.่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\"},{\"text\":\"ๅฝ“โ€œๅฎž็Žฐโ€ไธๅ†ๆ˜ฏๅฃๅž’๏ผšๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense๏ผŸ\",\"collapsed\":true,\"link\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/21.ๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense\"}]},{\"text\":\"ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–\",\"collapsed\":true,\"items\":[{\"text\":\"ๆ”พๅผƒๅขž้•ฟๆ‰งๅฟต๏ผŒไธบไป€ไนˆโ€œๅฐ่€Œ็พŽโ€ๆ‰ๆ˜ฏๅฏๆŒ็ปญไน‹่ทฏ\",\"collapsed\":true,\"link\":\"/10.ไบงๅ“ Sense/04.ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–/30.ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹่ฏปๅŽๆ„Ÿ\"}]},{\"text\":\"ๆ–นๆณ•่ฎบ\",\"collapsed\":true,\"items\":[{\"text\":\"ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผšๅฆ‚ไฝ•็œ‹้€ไบงๅ“ไธŽๆŠ€ๆœฏ่ƒŒๅŽ็š„็ณป็ปŸ้€ป่พ‘๏ผŸ\",\"collapsed\":true,\"link\":\"/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/40.ๆดžๅฏŸๅŠ›ๆจกๅž‹\"},{\"text\":\"็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“\",\"collapsed\":true,\"link\":\"/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/50.็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“\"}]}],\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/\":[{\"text\":\"AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"collapsed\":true,\"link\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/00.AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ\"},{\"text\":\"Agent ็ณปๅˆ—\",\"collapsed\":true,\"items\":[{\"text\":\"ไปŽๆ็คบ่ฏๅˆฐๆ•ฐๅญ—ๅ‘˜ๅทฅ๏ผšAI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐ\",\"collapsed\":true,\"link\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/01.Agentๆฆ‚่งˆไธŽ็ปผ่ฟฐ\"},{\"text\":\"ๆŽขๅฏป Agent ๅ†ณ็ญ–ไธญๆžข๏ผš่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„่ง„ๅˆ’่Œƒๅผ\",\"collapsed\":true,\"link\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/02.Agent ่ง„ๅˆ’ๆจกๅ—\"},{\"text\":\"ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผš้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"collapsed\":true,\"link\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/03.ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผšๅฐ†้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\"},{\"text\":\"ๅฆ‚ไฝ•็ผ–ๅ†™ไธ€ไธช้ซ˜ๅฏ็”จ็š„ Agent Skill๏ผŸไปŽๆœบๅˆถๆ‹†่งฃๅˆฐ็”Ÿไบงๅฎž่ทตๆŒ‡ๅ—\",\"collapsed\":true,\"link\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/10.Agent SKills\"}]},{\"text\":\"็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ\",\"collapsed\":true,\"items\":[{\"text\":\"ๅฃฐๆ˜Žๅผๅคšๆ™บ่ƒฝไฝ“ๅๅŒ๏ผšๅŸบไบŽ Claude Agent SDK ๆž„ๅปบๆทฑๅบฆ็ ”็ฉถ็ณป็ปŸ\",\"collapsed\":true,\"link\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/10.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Deep Research Agent\"},{\"text\":\"ๅ‘Šๅˆซๆ‰‹ๅŠจ Loop๏ผšๅ€ŸๅŠฉ Claude Agent SDK ๅฎž็Žฐ Agent ็š„ๅทฅ็จ‹ๅŒ–้—ญ็Žฏ\",\"collapsed\":true,\"link\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/20.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Agent\"},{\"text\":\"ไธ€ๆฌก็”ฑ Product Sense ้ฉฑๅŠจ็š„ Agent ๆž้™ๅฎž่ทต\",\"collapsed\":true,\"link\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/60.ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹\"},{\"text\":\"้›ถไปฃ็ ไธ็ญ‰ไบŽ้›ถ้€ป่พ‘๏ผš็ป“ๆž„ๅŒ– Prompt ้ฉฑๅŠจไธ‹็š„ Agent ๆญๅปบๅฎžๆˆ˜\",\"collapsed\":true,\"link\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/70.่ฏ—ๆญŒๅฐ็ฒพ็ต\"}]},{\"text\":\"่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่\",\"collapsed\":true,\"items\":[{\"text\":\"ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"collapsed\":true,\"link\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\"},{\"text\":\"LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"collapsed\":true,\"link\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/11. LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\"}]}],\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/\":[{\"text\":\"ๅฅฝไนฆๆŽจ่\",\"collapsed\":true,\"link\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/01.ๅฅฝไนฆๆŽจ่\"},{\"text\":\"่ฏปไนฆโ€œไธ‰่ฆโ€ๅ’Œโ€œไธ‰ไธ่ฆโ€\",\"collapsed\":true,\"link\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/10.่ฏปไนฆไธ‰่ฆไธ‰ไธ่ฆ\"},{\"text\":\"ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"collapsed\":true,\"link\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/21.ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\"}],\"/40.ๅ…ณไบŽ/\":[{\"text\":\"ๅ…ณไบŽๆˆ‘\",\"collapsed\":true,\"link\":\"/40.ๅ…ณไบŽ/01.ๅ…ณไบŽๆˆ‘\"},{\"text\":\"ๆˆ้•ฟ้š็ฌ”\",\"collapsed\":true,\"items\":[{\"text\":\"่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"collapsed\":true,\"link\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\"},{\"text\":\"ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"collapsed\":true,\"link\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\"},{\"text\":\"็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ”นๅ–„็š„ๆ–นๅผๆŽจๅŠจๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹\",\"collapsed\":true,\"link\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/20.ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹้˜ถๆฎต้š็ฌ”ๆฑ‡ๆ€ป\"}]}]},\"permalinks\":{\"map\":{\"01.ๅ…จๆ ˆ/00.overview\":\"/fullstack/overview\",\"01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\":\"/fullstack/ai-native\",\"01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/02.้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\":\"/fullstack/ai-engineer-capability\",\"01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/10.่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\":\"/fullstack/ai-change-work-workflow\",\"01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ\":\"/ai-learning/ai-coding-resources\",\"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\":\"/fullstack/react-design-philosophy-ai-augmented\",\"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/02.CSSๅทฅ็จ‹ๅŒ–\":\"/full-stack/css-engineering\",\"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\":\"/fullstack/jamstack\",\"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/11.React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\":\"/fullstack/server-state-management\",\"01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\":\"/fullstack/networking-protocol-selection-guide\",\"01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\":\"/fullstack/networking/sse-practice\",\"01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\":\"/fullstack/networking-polling-optimization\",\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\":\"/fullstack/occams-razor-software-design\",\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—\":\"/fullstack/typescript-compilation-debugging-guide\",\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹\":\"/fullstack/typescript-generic-types\",\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview\":\"/fullstack/module-programming-practice-guide\",\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€\":\"/fullstack/frontend-module-programming-basic\",\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†\":\"/fullstack/different-module-programming-specifications\",\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\":\"/fullstack/decode-es-modules\",\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\":\"/fullstack/typescript-module-programming-enhancement\",\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต\":\"/fullstack/module-programming-principles-best-practices\",\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–\":\"/fullstack/nodejs-module-programming-summary\",\"01.ๅ…จๆ ˆ/90.ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่/90.ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\":\"/growth/full-stack-resources\",\"10.ไบงๅ“ Sense/00.ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\":\"/product-sense\",\"10.ไบงๅ“ Sense/01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž/11.AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\":\"/product-sense/perplexity-knowledge-worker\",\"10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/20.่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\":\"/product-sense/ai-native-composite-talents\",\"10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/21.ๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense\":\"/product-sense/engineer-build-product-sense\",\"10.ไบงๅ“ Sense/04.ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–/30.ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹่ฏปๅŽๆ„Ÿ\":\"/product-sense/small-rule-learn\",\"10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/40.ๆดžๅฏŸๅŠ›ๆจกๅž‹\":\"/product-sense/insight-model\",\"10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/50.็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“\":\"/product-sense/using-economics-thinking\",\"20.AI ๅญฆไน ไธŽๅฎž่ทต/00.AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ\":\"/ai-learning/overview\",\"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/01.Agentๆฆ‚่งˆไธŽ็ปผ่ฟฐ\":\"/ai-agent/overview\",\"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/02.Agent ่ง„ๅˆ’ๆจกๅ—\":\"/ai-agent/planning-module\",\"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/03.ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผšๅฐ†้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\":\"/ai-agent/composition-ai-components\",\"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/10.Agent SKills\":\"/ai-agent/skills-practice-summary\",\"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/10.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Deep Research Agent\":\"/ai-agent/deepresearch-agent\",\"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/20.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Agent\":\"/ai-practice/claude-agent-sdk-basic-build\",\"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/60.ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹\":\"/ai-practice/math-bot\",\"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/70.่ฏ—ๆญŒๅฐ็ฒพ็ต\":\"/ai-practice/poetry-bot\",\"20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\":\"/ai-learning/tools-assistant\",\"20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/11. LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\":\"/ai-learning/llm-api-resources\",\"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/01.ๅฅฝไนฆๆŽจ่\":\"/growth/books\",\"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/10.่ฏปไนฆไธ‰่ฆไธ‰ไธ่ฆ\":\"/pages/growth/reading-tips\",\"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/21.ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\":\"/growth/distinguish-useful-information\",\"40.ๅ…ณไบŽ/01.ๅ…ณไบŽๆˆ‘\":\"/about/me\",\"40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\":\"/growth/outer-experience\",\"40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\":\"/growth/inner-experience\",\"40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/20.ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹้˜ถๆฎต้š็ฌ”ๆฑ‡ๆ€ป\":\"/growth/weight-loss\",\"@pages/categoriesPage\":\"/categories\",\"@pages/tagsPage\":\"/tags\"},\"inv\":{\"/fullstack/overview\":\"01.ๅ…จๆ ˆ/00.overview\",\"/fullstack/ai-native\":\"01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"/fullstack/ai-engineer-capability\":\"01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/02.้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"/fullstack/ai-change-work-workflow\":\"01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/10.่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"/ai-learning/ai-coding-resources\":\"01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ\",\"/fullstack/react-design-philosophy-ai-augmented\":\"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"/full-stack/css-engineering\":\"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/02.CSSๅทฅ็จ‹ๅŒ–\",\"/fullstack/jamstack\":\"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"/fullstack/server-state-management\":\"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/11.React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"/fullstack/networking-protocol-selection-guide\":\"01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"/fullstack/networking/sse-practice\":\"01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"/fullstack/networking-polling-optimization\":\"01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"/fullstack/occams-razor-software-design\":\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"/fullstack/typescript-compilation-debugging-guide\":\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—\",\"/fullstack/typescript-generic-types\":\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹\",\"/fullstack/module-programming-practice-guide\":\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview\",\"/fullstack/frontend-module-programming-basic\":\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€\",\"/fullstack/different-module-programming-specifications\":\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†\",\"/fullstack/decode-es-modules\":\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"/fullstack/typescript-module-programming-enhancement\":\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"/fullstack/module-programming-principles-best-practices\":\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต\",\"/fullstack/nodejs-module-programming-summary\":\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–\",\"/growth/full-stack-resources\":\"01.ๅ…จๆ ˆ/90.ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่/90.ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"/product-sense\":\"10.ไบงๅ“ Sense/00.ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"/product-sense/perplexity-knowledge-worker\":\"10.ไบงๅ“ Sense/01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž/11.AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"/product-sense/ai-native-composite-talents\":\"10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/20.่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"/product-sense/engineer-build-product-sense\":\"10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/21.ๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense\",\"/product-sense/small-rule-learn\":\"10.ไบงๅ“ Sense/04.ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–/30.ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹่ฏปๅŽๆ„Ÿ\",\"/product-sense/insight-model\":\"10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/40.ๆดžๅฏŸๅŠ›ๆจกๅž‹\",\"/product-sense/using-economics-thinking\":\"10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/50.็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“\",\"/ai-learning/overview\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/00.AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ\",\"/ai-agent/overview\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/01.Agentๆฆ‚่งˆไธŽ็ปผ่ฟฐ\",\"/ai-agent/planning-module\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/02.Agent ่ง„ๅˆ’ๆจกๅ—\",\"/ai-agent/composition-ai-components\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/03.ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผšๅฐ†้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"/ai-agent/skills-practice-summary\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/10.Agent SKills\",\"/ai-agent/deepresearch-agent\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/10.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Deep Research Agent\",\"/ai-practice/claude-agent-sdk-basic-build\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/20.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Agent\",\"/ai-practice/math-bot\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/60.ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹\",\"/ai-practice/poetry-bot\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/70.่ฏ—ๆญŒๅฐ็ฒพ็ต\",\"/ai-learning/tools-assistant\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"/ai-learning/llm-api-resources\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/11. LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"/growth/books\":\"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/01.ๅฅฝไนฆๆŽจ่\",\"/pages/growth/reading-tips\":\"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/10.่ฏปไนฆไธ‰่ฆไธ‰ไธ่ฆ\",\"/growth/distinguish-useful-information\":\"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/21.ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"/about/me\":\"40.ๅ…ณไบŽ/01.ๅ…ณไบŽๆˆ‘\",\"/growth/outer-experience\":\"40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"/growth/inner-experience\":\"40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"/growth/weight-loss\":\"40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/20.ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹้˜ถๆฎต้š็ฌ”ๆฑ‡ๆ€ป\",\"/categories\":\"@pages/categoriesPage\",\"/tags\":\"@pages/tagsPage\"}},\"docAnalysisInfo\":{\"fileList\":[{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/00.overview.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/00.overview.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/02.้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/02.้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/10.่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/10.่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/02.CSSๅทฅ็จ‹ๅŒ–.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/02.CSSๅทฅ็จ‹ๅŒ–.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/11.React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/11.React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/90.ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่/90.ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/90.ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่/90.ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/10.ไบงๅ“ Sense/00.ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ.md\",\"relativePath\":\"10.ไบงๅ“ Sense/00.ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/10.ไบงๅ“ Sense/01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž/11.AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€….md\",\"relativePath\":\"10.ไบงๅ“ Sense/01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž/11.AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€….md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/20.่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ.md\",\"relativePath\":\"10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/20.่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/21.ๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense.md\",\"relativePath\":\"10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/21.ๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/10.ไบงๅ“ Sense/04.ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–/30.ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹่ฏปๅŽๆ„Ÿ.md\",\"relativePath\":\"10.ไบงๅ“ Sense/04.ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–/30.ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹่ฏปๅŽๆ„Ÿ.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/40.ๆดžๅฏŸๅŠ›ๆจกๅž‹.md\",\"relativePath\":\"10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/40.ๆดžๅฏŸๅŠ›ๆจกๅž‹.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/50.็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“.md\",\"relativePath\":\"10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/50.็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/20.AI ๅญฆไน ไธŽๅฎž่ทต/00.AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ.md\",\"relativePath\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/00.AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/01.Agentๆฆ‚่งˆไธŽ็ปผ่ฟฐ.md\",\"relativePath\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/01.Agentๆฆ‚่งˆไธŽ็ปผ่ฟฐ.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/02.Agent ่ง„ๅˆ’ๆจกๅ—.md\",\"relativePath\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/02.Agent ่ง„ๅˆ’ๆจกๅ—.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/03.ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผšๅฐ†้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต.md\",\"relativePath\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/03.ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผšๅฐ†้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/10.Agent SKills.md\",\"relativePath\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/10.Agent SKills.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/10.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Deep Research Agent.md\",\"relativePath\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/10.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Deep Research Agent.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/20.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Agent.md\",\"relativePath\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/20.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Agent.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/60.ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹.md\",\"relativePath\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/60.ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/70.่ฏ—ๆญŒๅฐ็ฒพ็ต.md\",\"relativePath\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/70.่ฏ—ๆญŒๅฐ็ฒพ็ต.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่.md\",\"relativePath\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/11. LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—.md\",\"relativePath\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/11. LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/01.ๅฅฝไนฆๆŽจ่.md\",\"relativePath\":\"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/01.ๅฅฝไนฆๆŽจ่.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/10.่ฏปไนฆไธ‰่ฆไธ‰ไธ่ฆ.md\",\"relativePath\":\"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/10.่ฏปไนฆไธ‰่ฆไธ‰ไธ่ฆ.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/21.ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ.md\",\"relativePath\":\"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/21.ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/40.ๅ…ณไบŽ/01.ๅ…ณไบŽๆˆ‘.md\",\"relativePath\":\"40.ๅ…ณไบŽ/01.ๅ…ณไบŽๆˆ‘.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘.md\",\"relativePath\":\"40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ.md\",\"relativePath\":\"40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ.md\"},{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/20.ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹้˜ถๆฎต้š็ฌ”ๆฑ‡ๆ€ป.md\",\"relativePath\":\"40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/20.ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹้˜ถๆฎต้š็ฌ”ๆฑ‡ๆ€ป.md\"}],\"totalFileWords\":174383,\"eachFileWords\":[{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/00.overview.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/00.overview.md\"},\"wordCount\":21,\"readingTime\":\"1m\",\"frontmatter\":{\"date\":{},\"title\":\"ๅ…จๆ™ฏไธ€่งˆ\",\"description\":\"ๆœฌ็ณปๅˆ—ๅ›ด็ป•็Žฐไปฃๅ…จๆ ˆๅผ€ๅ‘็š„่ƒฝๅŠ›ไฝ“็ณปๅฑ•ๅผ€๏ผŒไปŽ AI ๆ—ถไปฃ็š„ๅทฅ็จ‹ๆ€็ปดๅ‡บๅ‘๏ผŒ่ฆ†็›–ๅ‰็ซฏๅทฅ็จ‹๏ผˆReact/Vue/CSS๏ผ‰ใ€ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป๏ผˆTypeScript/JavaScript๏ผ‰ใ€ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่็ญ‰ๆ ธๅฟƒ้ข†ๅŸŸ๏ผŒๅธฎๅŠฉๆž„ๅปบไปŽ\\\"่ฎค็Ÿฅๅฑ‚ โ†’ ๆŠ€ๆœฏ้ข†ๅŸŸ โ†’ ๅทฅ็จ‹่ƒฝๅŠ› โ†’ ๅŸบ็ก€่ฎพๆ–ฝ\\\"็š„ๅฎŒๆ•ดๅ…จๆ ˆ็Ÿฅ่ฏ†ๅ›พ่ฐฑใ€‚\",\"categories\":[\"ๅ…จๆ ˆ\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"permalink\":\"/fullstack/overview\"}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€.md\"},\"wordCount\":2017,\"readingTime\":\"7.2m\",\"frontmatter\":{\"date\":{},\"title\":\"ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจ AI ้‡ๅก‘่ฝฏไปถๅทฅ็จ‹็š„ไปŠๅคฉ๏ผŒๅ…จๆ ˆไธๅ†ๆ˜ฏๆŠ€ๆœฏ็š„็บฟๆ€งๅ ๅŠ ๏ผŒๆญฃๅœจไปŽโ€œๆŠ€ๆœฏๆ ˆๅ †็ Œโ€่ฝฌๅ‘โ€œ่ฎค็Ÿฅๆ ˆ้‡ๆž„โ€ใ€‚ๆœฌๆ–‡ๆๅ‡บ โ€œ(ๅทฅ็จ‹ + ไบงๅ“) ร— AIโ€ ็š„ๆ–ฐๅ…ฌๅผ๏ผŒๅŠฉๅŠ›ๅผ€ๅ‘่€…ๆž„ๅปบโ€œๆดžๅฏŸ-ๆžถๆž„-ๆ ๆ†โ€่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”๏ผŒๅˆฉ็”จ AI ๆ ๆ†่ฎฉ่‡ชๅทฑ่ฟ›ๅŒ–ไธบไปทๅ€ผๅˆ›้€ ่€…ใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"permalink\":\"/fullstack/ai-native\",\"sticky\":1,\"top\":true,\"tags\":[\"ๅ…จๆ ˆ\",\"AI\",\"ไบงๅ“\"],\"categories\":[\"ๅ…จๆ ˆ\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/02.้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/02.้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—.md\"},\"wordCount\":3614,\"readingTime\":\"12.9m\",\"frontmatter\":{\"date\":{},\"title\":\"้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ AI ๆž้€Ÿ้™ไฝŽไปฃ็ ็ผ–ๅ†™้—จๆง›๏ผŒๅ•็บฏ็š„โ€œไธšๅŠกไปฃ็ ็ฟป่ฏ‘ๅ™จโ€่ง’่‰ฒๆญฃๅŠ ้€Ÿ่ดฌๅ€ผใ€‚ๆœฌๆ–‡ไปŽๆŠ€ๆœฏๆผ”่ฟ›ไธŽไบงๅ“ๆ€่€ƒ็š„ไบคๆฑ‡็‚นๅ‡บๅ‘๏ผŒๅฐ† AI ๆ—ถไปฃ็š„ๅผ€ๅ‘่€…่ƒฝๅŠ›ๅ›พ่ฐฑ้‡ๆ–ฐๅˆ’ๅˆ†ไธบไธ‰ๅคงๆ ธๅฟƒๅœˆๅฑ‚๏ผšไบงๅ“ๅบ”็”จๅฑ‚๏ผˆInsight Stack๏ผ‰ใ€Agent ๅผ€ๅ‘ๅฑ‚ไธŽ AI ๅŸบ็ก€่ฎพๆ–ฝๅฑ‚ใ€‚ๆ— ่ฎบไฝ ๆ˜ฏๆทฑ่€•่ง†ๅ›พๅฑ‚ไบคไบ’ใ€็ฒพ้€š Node.js ็ญ‰ๆœๅŠก็ซฏๆžถๆž„็š„ๅผ€ๅ‘่€…๏ผŒ่ฟ˜ๆ˜ฏ่‡ดๅŠ›ไบŽๆŠ€ๆœฏ่ฝๅœฐ็š„ๆŽข็ดข่€…๏ผŒ้ƒฝ่ƒฝๅœจ่ฟ™ไปฝๆผ”่ฟ›ๆŒ‡ๅ—ไธญๆ‰พๅˆฐๆ‰“็ ด่ƒฝๅŠ›่พน็•Œใ€ๅ‘โ€œ่ถ…็บงไธชไฝ“โ€ไธŽโ€œAI ๆ™บ่ƒฝไฝ“ๆŒ‡ๆŒฅๅฎ˜โ€่ทƒ่ฟ็š„็ ดๅฑ€ไน‹้“ใ€‚\",\"permalink\":\"/fullstack/ai-engineer-capability\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"top\":true,\"tags\":[\"ๅ…จๆ ˆ\",\"AI\"],\"categories\":[\"ๅ…จๆ ˆ\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/10.่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/10.่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘.md\"},\"wordCount\":4407,\"readingTime\":\"15.2m\",\"frontmatter\":{\"date\":{},\"title\":\"่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"description\":\"่ฝฏไปถๅทฅ็จ‹ๆญฃ็ปๅކไปŽโ€œๆ‰‹ๅ†™้€ป่พ‘โ€ๅ‘โ€œๆ„ๅ›พ่ฐƒๅบฆโ€็š„่Œƒๅผ่ฟๅพ™ใ€‚Anthropic ็š„็ ”็ฉถๆญ็คบไบ† AI ๅนถ้ž็ฎ€ๅ•็š„ๆๆ•ˆๅทฅๅ…ท๏ผŒ่€Œๆ˜ฏ้€š่ฟ‡้‡Šๆ”พ 27% ๆ›พ็ปโ€œไธๅˆ’็ฎ—โ€็š„ๅทฅ็จ‹ไปปๅŠก๏ผŒ้‡ๅก‘ไบ†่ฝฏไปถ่ดจ้‡็š„ๅฏ†ๅบฆใ€‚ๅœจ่‡ช็„ถ่ฏญ่จ€ๅณ็ผ–็จ‹่ฏญ่จ€็š„ๆ—ถไปฃ๏ผŒๆˆ‘ไปฌ้œ€่ฆ้€š่ฟ‡่ง„ๆ ผ้ฉฑๅŠจ๏ผˆSDD๏ผ‰ไธŽๅคšๆ™บ่ƒฝไฝ“็ผ–ๆŽ’๏ผŒ็ ด่งฃโ€œ็›‘็ฃๆ‚–่ฎบโ€ๅธฆๆฅ็š„ๆŠ€่ƒฝๅนณๅบธๅŒ–ๅฑๆœบ๏ผŒๅฐ† AI ็š„ๆฆ‚็އๆ€ง็”Ÿๆˆ้ฉฏๅŒ–ไธบ็กฎๅฎšๆ€ง็š„ๅทฅ็จ‹ไบคไป˜ใ€‚ๅฝ“็ผ–็ ๆˆๆœฌ่ถ‹ไบŽ้›ถ๏ผŒๅทฅ็จ‹ๅธˆ็š„็ปˆๆžๅฃๅž’ๅฐ†ๆ˜ฏๅฎšไน‰ๅฎŒ็พŽ็š„ๅ“ๅ‘ณ๏ผŒไปฅๅŠๅœจ AI ่ฟท้›พไธญ่ฏ†็ ดๅนณๅบธ็š„ๆดžๅฏŸๅŠ›ใ€‚\",\"permalink\":\"/fullstack/ai-change-work-workflow/\",\"top\":true,\"tags\":[\"ๅ…จๆ ˆ\",\"AI\"],\"categories\":[\"ๅ…จๆ ˆ\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ.md\"},\"wordCount\":3472,\"readingTime\":\"13.3m\",\"frontmatter\":{\"date\":{},\"title\":\"AI ็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡ๆทฑๅบฆ่งฃๆžไบ† AI ้ฉฑๅŠจ็ผ–็จ‹็š„ไธ‰ๅคงๆผ”่ฟ›่Œƒๅผ๏ผšVibe Coding๏ผˆ่‡ช็„ถ่ฏญ่จ€้›ถ้—จๆง›ๆž„ๅปบ๏ผ‰ใ€AI IDE๏ผˆ็ผ–่พ‘ๅ™จๆทฑๅบฆ่พ…ๅŠฉๆๆ•ˆ๏ผ‰ๅŠ Agentic Engineering๏ผˆ่‡ชไธปๅทฅ็จ‹ๅธˆๆ‰ง่กŒไปปๅŠก๏ผ‰ใ€‚้€š่ฟ‡ๆจชๅ‘ๅฏนๆฏ” Bolt.newใ€Cursorใ€Claude Code ็ญ‰ๅ‰ๆฒฟๅทฅๅ…ท๏ผŒๆ–‡็ซ ๅ‹พๅ‹’ๅ‡บไธ€ๆกไปŽโ€œๅฟซ้€ŸๅŽŸๅž‹โ€ๅˆฐโ€œ้ซ˜ๆ•ˆๅๅŒโ€ๅ†ๅˆฐโ€œ่‡ชไธปไบคไป˜โ€็š„่ฟ›้˜ถ่ทฏๅพ„ใ€‚ๆ ธๅฟƒๆ—จๅœจๆŒ‡ๅฏผ็”จๆˆทๅˆฉ็”จ AI ๅทฅๅ…ท็Ÿฉ้˜ตๆ‰“็ ดๆŠ€ๆœฏ่พน็•Œ๏ผŒๅฎž็ŽฐไปŽๅˆ›ๆ„ๆ่ฟฐๅˆฐๅทฅไธš็บงไบคไป˜็š„็”ŸไบงๅŠ›้ฃž่ทƒ๏ผŒ้‡ๅก‘่ฝฏไปถๅผ€ๅ‘ๅ…จ็”Ÿๅ‘ฝๅ‘จๆœŸใ€‚\",\"permalink\":\"/ai-learning/ai-coding-resources\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/source_sites_bg.png\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"AI Coding\",\"Vibe Coding\",\"Agentic Engineering\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—.md\"},\"wordCount\":5038,\"readingTime\":\"17.6m\",\"frontmatter\":{\"date\":{},\"title\":\"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ๅฝ“ AI ๆ‰ฟๆŽฅไบ† 30% ็š„็ผ–็ ๆ‰ง่กŒๆ—ถ๏ผŒๅผ€ๅ‘่€…้œ€้€š่ฟ‡โ€œ่ง„ๆ ผ้ฉฑๅŠจ๏ผˆSDD๏ผ‰โ€้‡ๅคบ 70% ็š„่ฎพ่ฎกไธปๆƒ๏ผšไปŽ่‡ชๆฒป็ป„ไปถๅˆ’ๅˆ†ๅˆฐๅ•ๅ‘ๆ•ฐๆฎๆตๆ‹“ๆ‰‘็š„ๆทฑๅบฆๆŽจๆผ”ใ€‚\",\"description\":\"ๆœฌๆ–‡ๆŽข่ฎจๅœจ AI ๅขžๅผบๅผ€ๅ‘่ƒŒๆ™ฏไธ‹๏ผŒๅฆ‚ไฝ•้‡ๅก‘ React ็ป„ไปถ่ฎพ่ฎกๅŽŸๅˆ™ใ€‚ๆถต็›– SRP ่Œ่ดฃๅˆ’ๅˆ†ใ€้™ๆ€็‰ˆๆœฌๅŸบ็บฟใ€ๆœ€ๅฐ็Šถๆ€๏ผˆDerived Data๏ผ‰ๆŽจๅฏผไปฅๅŠ SDD ไบบๆœบๅไฝœๆจกๅผ็š„ๅทฅ็จ‹่ฝๅœฐใ€‚\",\"tags\":[\"tutorial\",\"react\",\"component-design\",\"state-management\",\"ai-augmented\",\"specification-driven\"],\"permalink\":\"/fullstack/react-design-philosophy-ai-augmented\",\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/02.CSSๅทฅ็จ‹ๅŒ–.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/02.CSSๅทฅ็จ‹ๅŒ–.md\"},\"wordCount\":9015,\"readingTime\":\"34.1m\",\"frontmatter\":{\"date\":{},\"title\":\"ไปŽๅŽŸๅญๅŒ–ๅˆฐๅ˜ไฝ“้ฉฑๅŠจ๏ผš็Žฐไปฃ CSS ๅทฅ็จ‹ๅŒ–็š„ๆžถๆž„ๆผ”่ฟ›ไธŽๆททๅˆๅฎž่ทตๆŒ‡ๅ—\",\"description\":\"ๆœฌๆ–‡็ณป็ปŸๅ‰–ๆžไธปๆต CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆ็š„ๅบ•ๅฑ‚้€ป่พ‘๏ผŒๆๅ‡บโ€œๆ ทๅผ่ต„ไบง ROIโ€่ฏ„ไผฐๆจกๅž‹๏ผŒๅนถ้’ˆๅฏน Vue/React ็”Ÿๆ€็ป™ๅ‡บไบ†้ขๅ‘ AI ๆ—ถไปฃ็š„ไผไธš็บงๆททๅˆๆžถๆž„้€‰ๅž‹ๅปบ่ฎฎใ€‚\",\"permalink\":\"/full-stack/css-engineering\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"top\":true,\"categories\":[\"ๅ…จๆ ˆ\"],\"tags\":[\"ๅ…จๆ ˆ\",\"CSS\",\"ๅทฅ็จ‹ๅŒ–\",\"tailwindcss\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—.md\"},\"wordCount\":3628,\"readingTime\":\"15m\",\"frontmatter\":{\"date\":{},\"title\":\"JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"aliases\":[\"้™ๆ€็ซ™็‚น็”Ÿๆˆๅ™จ\",\"SSG\"],\"tldr\":\"้ข„ๆธฒๆŸ“้™ๆ€้กต้ข + ๅŠจๆ€ API๏ผŒCDN ๅˆ†ๅ‘ๅ…จ็ƒ๏ผŒๆ›ฟไปฃไผ ็ปŸๅŠจๆ€็ฝ‘็ซ™็š„ๅผ€ๅ‘้ƒจ็ฝฒ่Œƒๅผ\",\"description\":\"ไปŽๆ ธๅฟƒๆฆ‚ๅฟตใ€ๅทฅๅ…ท้“พ้€‰ๅž‹๏ผˆNext.js/Vercel/Supabase/Contentful๏ผ‰ๅˆฐไปŽ 0 ๆญๅปบๅšๅฎข็š„ๅฎŒๆ•ดๅฎž่ทต๏ผŒ่ฆ†็›– JAMStack ้€‚็”จไธŽไธ้€‚็”จๅœบๆ™ฏ๏ผŒๅธฎๅŠฉๅˆคๆ–ญไฝ•ๆ—ถ้€‰็”จ่ฏฅๆžถๆž„ใ€‚\",\"permalink\":\"/fullstack/jamstack\",\"tags\":[\"tutorial\",\"jamstack\",\"frontend-architecture\",\"next.js\",\"static-site-generator\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/11.React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/11.React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ.md\"},\"wordCount\":4949,\"readingTime\":\"19.2m\",\"frontmatter\":{\"date\":{},\"title\":\"ไธๆญขไบŽ Fetch๏ผšReact ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"aliases\":[\"SWR\",\"TanStack Query\",\"React\",\"ๆœๅŠก็ซฏ็Šถๆ€\",\"ไน่ง‚ๆ›ดๆ–ฐ\",\"ๅทฅ็จ‹ๅŒ–\"],\"tldr\":\"ๆทฑๅ…ฅ่งฃๆž SWR ็š„ๆž็ฎ€ๅ่ฎฎไธŽ TanStack Query ็š„็ฒพๅฏ†็Šถๆ€ๆœบใ€‚้€š่ฟ‡ๅฏนๆฏ”็ผ“ๅญ˜ๅคฑๆ•ˆใ€ไน่ง‚ๆ›ดๆ–ฐ็ญ‰ๆ ธๅฟƒๅœบๆ™ฏ๏ผŒไธบ้ซ˜ๅคๆ‚ๅบฆ B ็ซฏๅบ”็”จไธŽ่ฝป้‡็บง้กน็›ฎๆไพ›ๆธ…ๆ™ฐ็š„ๆžถๆž„้€‰ๅž‹ๆจกๅž‹ใ€‚\",\"description\":\"ๆทฑๅบฆๅฏนๆฏ” React ็”Ÿๆ€ไธญ SWR ไธŽ TanStack Query ไธคๅคงๆ–นๆกˆใ€‚ไปŽ stale-while-revalidate ๆœบๅˆถๅˆฐๅผ‚ๆญฅ็Šถๆ€ๆœบๆžถๆž„๏ผŒๆถต็›–ไพ่ต–ๆŸฅ่ฏขใ€ๆ•ฐๆฎ่ฝฌๆขๅŠๆžถๆž„็บงไน่ง‚ๆ›ดๆ–ฐๅฎžๆˆ˜ใ€‚ๆ—จๅœจๅธฎๅŠฉๅผ€ๅ‘่€…ๅœจๅคๆ‚ไธšๅŠกไธญๆž„ๅปบ็กฎๅฎšๆ€ง็š„ๆœๅŠก็ซฏ็Šถๆ€ๅŸบๅบงใ€‚\",\"permalink\":\"/fullstack/server-state-management\",\"tags\":[\"SWR\",\"TanStack Query\",\"ๅ‰็ซฏๅทฅ็จ‹\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—.md\"},\"wordCount\":6770,\"readingTime\":\"23.9m\",\"frontmatter\":{\"date\":{},\"title\":\"Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"tldr\":\"ๆทฑๅ…ฅๅˆ†ๆžไบ”็ง Web ้€šไฟกๅ่ฎฎ๏ผŒๆไพ› AI ๆ—ถไปฃ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—ไธŽๆœ€ไฝณๅฎž่ทตใ€‚\",\"description\":\"ๆทฑๅ…ฅๅ‰–ๆžไผ ็ปŸ HTTPใ€ๆตๅผ HTTPใ€SSEใ€WebSocketใ€Webhooksใ€HTTP ่ฝฎ่ฏข็š„ๅŽŸ็†ไธŽ็‰นๆ€ง๏ผŒ็ป“ๅˆ AI ๅœบๆ™ฏๆไพ›ๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–็Ÿฉ้˜ตใ€‚\",\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"tags\":[\"HTTP\",\"HTTP ่ฝฎ่ฏข\",\"SSE\",\"WebSocket\",\"Webhooks\"],\"permalink\":\"/fullstack/networking-protocol-selection-guide\"}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต.md\"},\"wordCount\":6634,\"readingTime\":\"26.8m\",\"frontmatter\":{\"date\":{},\"title\":\"ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"aliases\":[\"Server-Sent Events\",\"HTTP Streaming\"],\"tldr\":\"ๆทฑๅ…ฅ่งฃๆžๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผŒๆไพ›ไปŽๆฆ‚ๅฟตๅˆฐ็”Ÿไบงๅฎž่ทต็š„ๅฎŒๆ•ด่งฃๅ†ณๆ–นๆกˆใ€‚\",\"description\":\"่พจๆžๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ็š„ๆฆ‚ๅฟตไธŽๅฑ‚ๆฌกๅ…ณ็ณป๏ผŒ่ฏฆ่งฃๅฎขๆˆท็ซฏไธŽๆœๅŠก็ซฏๅฎž็Žฐๆ–นๆกˆ๏ผŒๆไพ›็”Ÿไบงๅฎž่ทตๅฎŒๆ•ดๆŒ‡ๅ—ใ€‚\",\"tags\":[\"tutorial\",\"SSE\",\"HTTP Streaming\",\"ๅ…จๆ ˆ\"],\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"permalink\":\"/fullstack/networking/sse-practice\"}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–.md\"},\"wordCount\":3295,\"readingTime\":\"12.1m\",\"frontmatter\":{\"date\":{},\"title\":\"HTTP ่ฝฎ่ฏขไผ˜ๅŒ–ๆŒ‡ๅ—๏ผš้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"tldr\":\"่ฏฆ่งฃ้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅฎž็ŽฐๅŽŸ็†๏ผŒๆไพ› HTTP ่ฝฎ่ฏขไผ˜ๅŒ–็ญ–็•ฅไธŽ้€‰ๅž‹ๅ†ณ็ญ–ๆ ‘ใ€‚\",\"description\":\"ๆทฑๅ…ฅๅ‰–ๆž้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๆ ธๅฟƒๆœบๅˆถ๏ผŒๆไพ› TypeScript/NestJS ๅฎžๆˆ˜ไปฃ็ ๏ผŒๅนถๆž„ๅปบๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–ๆ ‘ไธŽ้€‚็”จๅœบๆ™ฏ้€ŸๆŸฅใ€‚\",\"tags\":[\"HTTP ่ฝฎ่ฏข\",\"้€€้ฟ่ฝฎ่ฏข\",\"้•ฟ่ฝฎ่ฏข\"],\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"permalink\":\"/fullstack/networking-polling-optimization\"}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—.md\"},\"wordCount\":3233,\"readingTime\":\"11.6m\",\"frontmatter\":{\"date\":{},\"title\":\"ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ๅœจ้œ€ๆฑ‚่พน็•Œๅ†…่ฟฝๆฑ‚ๆœ€ๅฐๅคๆ‚ๅบฆโ€”โ€”ไธๆ˜ฏๆ‹’็ปๅคๆ‚๏ผŒ่€Œๆ˜ฏไธไธปๅŠจๅˆถ้€ ๅคๆ‚ใ€‚\",\"description\":\"ๆทฑๅ…ฅ่งฃๆžๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™ๅœจ็ผ–็จ‹ไธŽ่ฎพ่ฎกไธญ็š„ๅ…ญๅคงๅœบๆ™ฏ๏ผšๆ‹’็ป่ฟ‡ๅบฆ้ข„ๅˆคใ€็งป้™คๅ†—ไฝ™้€ป่พ‘ใ€ๅŒน้…ๆžถๆž„่ง„ๆจกใ€ๅ…‹ๅˆถไพ่ต–ๅผ•ๅ…ฅใ€ๅฐ่ฃ…ๆœ€ๅฐๆŽฅๅฃใ€ๅ…ˆๆŽ’ๆŸฅ็ฎ€ๅ•ๅŽŸๅ› ๏ผŒๅนถ็ป™ๅ‡บไธ‰ไธชๅ…ณ้”ฎ่พน็•Œใ€‚\",\"permalink\":\"/fullstack/occams-razor-software-design\",\"tags\":[\"concept\",\"engineering-fundamentals\",\"code-design\",\"software-engineering\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—.md\"},\"wordCount\":5040,\"readingTime\":\"20m\",\"frontmatter\":{\"date\":{},\"title\":\"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—\",\"tldr\":\"TypeScript ๅฎŒๅ–„็š„็ผ–่ฏ‘ไฝ“็ณปไธŽ่ฐƒ่ฏ•ๅทฅๅ…ท้“พ๏ผŒๆ˜ฏๆž„ๅปบ้ซ˜่ดจ้‡ๅบ”็”จ็š„ๅŸบ็Ÿณใ€‚\",\"description\":\"ๆทฑๅ…ฅ่งฃๆž TypeScript ็ผ–่ฏ‘ๅทฅๅ…ท้“พไธŽ่ฐƒ่ฏ•ไฝ“็ณป๏ผŒๆถต็›– tsconfig.json ๆ ธๅฟƒ้…็ฝฎใ€Monorepo ้กน็›ฎ้…็ฝฎ๏ผˆextends/references๏ผ‰ใ€source map ่ฐƒ่ฏ•ใ€ESLint ไธŽ Jest ๅ•ๅ…ƒๆต‹่ฏ•็ญ‰ๅฎŒๆ•ดๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/typescript-compilation-debugging-guide\",\"tags\":[\"tutorial\",\"typescript\",\"compilation\",\"tooling\",\"eslint\",\"jest\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹.md\"},\"wordCount\":5614,\"readingTime\":\"21.5m\",\"frontmatter\":{\"date\":{},\"title\":\"่Šไธ€่Š TypeScript ไธญ็š„ๆณ›ๅž‹\",\"tldr\":\"ๆณ›ๅž‹ๅฐ†็ฑปๅž‹ไฝœไธบๅ‚ๆ•ฐ๏ผŒไฝฟไปฃ็ ๅœจๅคš็ง็ฑปๅž‹ไธŠๅฎ‰ๅ…จ่ฟ่กŒ๏ผŒๆ˜ฏ TypeScript ็ฑปๅž‹ๆŠฝ่ฑก็š„ๆ ธๅฟƒ็‰นๆ€งใ€‚\",\"description\":\"ๆœฌๆ–‡็ณป็ปŸ่งฃๆž TypeScript ๆณ›ๅž‹็š„ๆ ธๅฟƒๆฆ‚ๅฟตไธŽๅทฅไฝœๆœบๅˆถ๏ผŒๅฏนๆฏ”ๆณ›ๅž‹ไธŽ any ็ฑปๅž‹็š„ๅทฎๅผ‚๏ผŒๆถต็›–ๆณ›ๅž‹ๅ‡ฝๆ•ฐใ€ๆŽฅๅฃใ€็ฑปใ€็ฑปๅž‹ๅˆซๅ็š„ๅฎž่ทต็”จๆณ•๏ผŒไปฅๅŠๅŸบๆœฌ็ฑปๅž‹็บฆๆŸใ€ๆŽฅๅฃ็บฆๆŸใ€ๅคš้‡็บฆๆŸใ€keyof ็บฆๆŸ็ญ‰้ซ˜้˜ถๆŠ€ๅทงไธŽๆœ€ไฝณๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/typescript-generic-types\",\"tags\":[\"tutorial\",\"typescript\",\"generics\",\"type-system\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview.md\"},\"wordCount\":7414,\"readingTime\":\"30.9m\",\"frontmatter\":{\"date\":{},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ไปŽ ES Modules ๅˆฐๅคงๅž‹้กน็›ฎๅˆ†ๅฑ‚ๆžถๆž„ไธŽๅทฅ็จ‹ๅŒ–ๅฎž่ทต๏ผŒๆž„ๅปบๅ…จๆ ˆๆจกๅ—ๅŒ–็Ÿฅ่ฏ†ไฝ“็ณปใ€‚\",\"description\":\"็ณป็ปŸๆขณ็† JavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›๏ผˆIIFEโ†’CJSโ†’ESM๏ผ‰ใ€TypeScript ็ฑปๅž‹ๅขžๅผบใ€ๅˆ†ๅฑ‚ๆžถๆž„ไธŽ DDD ๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/module-programming-practice-guide\",\"tags\":[\"tutorial\",\"ESM\",\"DDD\",\"ๅพฎๅ‰็ซฏ\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€.md\"},\"wordCount\":2099,\"readingTime\":\"7.8m\",\"frontmatter\":{\"date\":{},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ๏ผšๆฆ‚ๅฟตใ€ๆผ”่ฟ›ไธŽ่ฎพ่ฎกๆจกๅผ\",\"tldr\":\"ไปŽๅ…จๅฑ€ๅ˜้‡ๅˆฐ ES Modules๏ผšJavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›ไธŽๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผๅฎž่ทตใ€‚\",\"description\":\"็ณป็ปŸ่ฎฒ่งฃ JavaScript ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€๏ผŒๆถต็›– IIFEใ€CommonJSใ€ES Modules ่ง„่Œƒๆผ”่ฟ›๏ผŒไปฅๅŠๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผไธŽๆจกๅ—ๅŒ–็š„็ป“ๅˆใ€‚\",\"permalink\":\"/fullstack/frontend-module-programming-basic\",\"tags\":[\"tutorial\",\"javascript\",\"modularization\",\"esm\",\"design-patterns\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†.md\"},\"wordCount\":1889,\"readingTime\":\"7.2m\",\"frontmatter\":{\"date\":{},\"title\":\"JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\",\"tldr\":\"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ็ญ‰ๆ ธๅฟƒ่ง„่Œƒ๏ผŒ้™„็Žฐไปฃ่ฟ็งป็ญ–็•ฅใ€‚\",\"description\":\"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ๅ››ๅคงๆจกๅ—ๅŒ–่ง„่Œƒ็š„ๆ ธๅฟƒ่ฏญๆณ•ไธŽ้€‚็”จๅœบๆ™ฏ๏ผŒ่งฃๆžๅ„่ง„่Œƒ็š„ๅ…ณ้”ฎๅทฎๅผ‚๏ผŒๅนถๆไพ›ไปŽๆ—ง่ง„่Œƒๅ‘ ESM ่ฟ็งป็š„ๅฎžๆ“็ญ–็•ฅใ€‚\",\"permalink\":\"/fullstack/different-module-programming-specifications\",\"tags\":[\"tutorial\",\"CommonJS\",\"AMD\",\"UMD\",\"ESM\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž.md\"},\"wordCount\":1767,\"readingTime\":\"7.5m\",\"frontmatter\":{\"date\":{},\"title\":\"ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒๆ‹ฅๆŠฑๅŽŸ็”Ÿ๏ผšES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"tldr\":\"ES Modules ๆ ธๅฟƒ่ฏญๆณ•ไธŽๆ‰ง่กŒๆจกๅž‹๏ผš้™ๆ€ๅˆ†ๆžๅฆ‚ไฝ•้‡ๅก‘ๅ‰็ซฏๆž„ๅปบๆ•ˆ็އใ€‚\",\"description\":\"ๆทฑๅบฆ่งฃๆž ES Modules ๅ‘ฝๅๅฏผๅ‡บ/ๅฏผๅ…ฅใ€้ป˜่ฎคๅฏผๅ‡บใ€ๅŠจๆ€ๅฏผๅ…ฅ็ญ‰่ฏญๆณ•๏ผŒไปฅๅŠๆจกๅ—ๆ‰ง่กŒ้กบๅบใ€ๅพช็Žฏไพ่ต–ๅค„็†ไธŽ็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ๆœบๅˆถใ€‚\",\"permalink\":\"/fullstack/decode-es-modules\",\"tags\":[\"concept\",\"ESM\",\"static-analysis\",\"Tree-Shaking\",\"circular-dependency\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ.md\"},\"wordCount\":1576,\"readingTime\":\"6.1m\",\"frontmatter\":{\"date\":{},\"title\":\"ไปŽ้€ป่พ‘้š”็ฆปๅˆฐ็ฑปๅž‹ๅฅ‘็บฆ๏ผšTypeScript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"tldr\":\"TypeScript ๅฐ†ๆจกๅ—ไพ่ต–ๆๅ‡ไธบ็ผ–่ฏ‘ๆ—ถ็ฑปๅž‹ๅฅ‘็บฆ๏ผŒไปŽ import type ๅˆฐๅฃฐๆ˜Žๆ–‡ไปถใ€‚\",\"description\":\"็ณป็ปŸ่ฎฒ่งฃ TypeScript ๅฏน ES Modules ็š„็ฑปๅž‹ๅขžๅผบ๏ผŒๆถต็›– import type ่ฟ่กŒๆ—ถไผ˜ๅŒ–ใ€ๆŽฅๅฃๅฅ‘็บฆใ€ๅฃฐๆ˜Žๆ–‡ไปถ .d.ts ๅŠ tsconfig ๆจกๅ—ๅŒ–้…็ฝฎใ€‚\",\"permalink\":\"/fullstack/typescript-module-programming-enhancement\",\"tags\":[\"concept\",\"ๅ…จๆ ˆ\",\"typescript\",\"tsconfig\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต.md\"},\"wordCount\":1303,\"readingTime\":\"4.9m\",\"frontmatter\":{\"date\":{},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ๆขณ็†ไธŽๆ€ป็ป“\",\"tldr\":\"ๆŽŒๆก้ซ˜ๅ†…่šไฝŽ่€ฆๅˆๅŽŸๅˆ™๏ผšๆจกๅ—ๅŒ–็ผ–็จ‹็š„่ฎพ่ฎกๅ‡†ๅˆ™ไธŽ็ฒ’ๅบฆๆŽงๅˆถใ€‚\",\"description\":\"็ณป็ปŸๆขณ็†ๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅ…ญๅคงๆ ธๅฟƒๅŽŸๅˆ™๏ผšๅ•ไธ€่Œ่ดฃใ€้ซ˜ๅ†…่šไฝŽ่€ฆๅˆใ€็ฒ’ๅบฆ่ฎพ่ฎกใ€ๅ‘ฝๅ่ง„่ŒƒๅŠๆจกๅ—็‰ˆๆœฌ็ฎก็†๏ผŒ้™„่ฏฆ็ป†็š„ๅทฅ็จ‹ๅฎž่ทตๅปบ่ฎฎไธŽ้ฟๅ‘ๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/fullstack/module-programming-principles-best-practices\",\"abstract\":\"ๅฆ‚ๆžœ่ฏดๆŽŒๆกๆจกๅ—ๅŒ–่ฏญๆณ•ๆ˜ฏๆœฏ๏ผŒ้‚ฃไนˆ็†่งฃๅ…ถ่ƒŒๅŽ็š„่ฎพ่ฎกๅŽŸๅˆ™ๅฐฑๆ˜ฏ้“ใ€‚ๅ•ไธ€่Œ่ดฃๅŽŸๅˆ™ๅผบ่ฐƒๆจกๅ—ๅชๅบ”ๆœ‰ไธ€ไธช่ขซๆ”นๅ˜็š„ๅŽŸๅ› ๏ผŒ้ฟๅ… God Object ๅๆจกๅผใ€‚้ซ˜ๅ†…่šไฝŽ่€ฆๅˆๆ˜ฏ่กก้‡ๆจกๅ—่ดจ้‡็š„็ปˆๆžๆ ‡ๅ‡†โ€”โ€”ๆจกๅ—ๅ†…้ƒจๅ…ƒ็ด ่”็ณป็ดงๅฏ†๏ผŒๆจกๅ—ไน‹้—ดไพ่ต–ๅ…ณ็ณปๅฐฝๅฏ่ƒฝ็ฎ€ๅ•ใ€‚็ฒ’ๅบฆ่ฎพ่ฎก่ฆๆฑ‚ๅ•ไธชๆจกๅ—ไฟๆŒๅœจ 100-500 ่กŒไน‹้—ด๏ผŒๅŠŸ่ƒฝ่ƒฝ็”จไธ€ๅฅ่ฏๆธ…ๆ™ฐๆ่ฟฐ๏ผŒๅ‡บ็Žฐๅคšๅˆ†ๆ”ฏๅคๆ‚้€ป่พ‘ๆ—ถ้€šๅธธๆ˜ฏๆ‹†ๅˆ†ไฟกๅทใ€‚ๅ‘ฝๅ่ง„่Œƒ็ปŸไธ€ๅ›ข้˜ŸๆฒŸ้€š่ฏญๅขƒ๏ผˆkebab-case ๆ–‡ไปถๅใ€camelCase ๆ–นๆณ•ๅใ€PascalCase ็ฑปๅ๏ผ‰ใ€‚ๆจกๅ—็‰ˆๆœฌ็ฎก็†้ตๅพช SemVer ่ฏญไน‰ๅŒ–็‰ˆๆœฌ๏ผŒไธบๅ…ฌๅ…ฑๆจกๅ—็š„็ปดๆŠค่€…ไธŽไฝฟ็”จ่€…ๅปบ็ซ‹ๅฅ‘็บฆใ€‚ๅผบ่ฐƒๆธ…ๆ™ฐ็š„ๆจกๅ—่พน็•Œๆ˜ฏ AI ่พ…ๅŠฉ็ผ–็จ‹ๆ—ถไปฃ AI ๅ‡†็กฎ็†่งฃไปฃ็ ็š„ๅ‰ๆใ€‚\",\"tags\":[\"concept\",\"solid-principles\",\"code-organization\",\"best-practices\",\"naming-conventions\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–.md\"},\"wordCount\":1240,\"readingTime\":\"4.7m\",\"frontmatter\":{\"date\":{},\"title\":\"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“\",\"tldr\":\"Node.js CJS ไธŽ ESM ๅŒๆจกๅ…ฑๅญ˜๏ผšๆจกๅ—ๅŠ ่ฝฝๆœบๅˆถไธŽๅˆ†ๅฑ‚ๆžถๆž„ๅฎž่ทตใ€‚\",\"description\":\"่งฃๆž Node.js ไธญ CommonJS ไธŽ ES Modules ็š„ๅŒๆจกๅ…ฑๅญ˜็ญ–็•ฅ๏ผŒๆถต็›–ๆจกๅ—ๅŠ ่ฝฝไผ˜ๅ…ˆ็บงใ€็ผ“ๅญ˜ๆœบๅˆถใ€package.json exports ๆกไปถๅฏผๅ‡บๅŠ Monorepo ๆžถๆž„ๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/nodejs-module-programming-summary\",\"abstract\":\"Node.js ๆจกๅ—ๅŒ–็ปๅކไบ†ไปŽ CommonJS ็‹ฌ้œธๅคฉไธ‹ๅˆฐ ES Modules ๅ…จ้ขๆŽฅๅ…ฅ็š„่Œƒๅผ่ฝฌ็งปใ€‚ๅ…ฑๅญ˜็ญ–็•ฅ้€š่ฟ‡ .mjs/.cjs ๅŽ็ผ€ๅ’Œ package.json type ๅญ—ๆฎตๆŽงๅˆถไธค็ง่ง„่Œƒ็š„่พน็•Œ๏ผ›ESM ๅฏ็›ดๆŽฅ import CJS๏ผˆ่‡ชๅŠจๅŒ…่ฃ…ไธบ้ป˜่ฎคๅฏผๅ‡บ๏ผ‰๏ผŒไฝ† CJS ๆ— ๆณ• require ESM ๅฟ…้กปไฝฟ็”จๅŠจๆ€ importใ€‚ๆจกๅ—ๅŠ ่ฝฝ้ตๅพชๆ ธๅฟƒๆจกๅ—ไผ˜ๅ…ˆใ€ๆ–‡ไปถๆจกๅ—ใ€็›ฎๅฝ•ๆจกๅ—๏ผˆindex.js/package.json๏ผ‰ใ€node_modules ้€็บงๆŸฅๆ‰พ็š„ไผ˜ๅ…ˆ็บง๏ผ›require.cache ๅฎž็Žฐๆจกๅ—็ผ“ๅญ˜๏ผŒๆธ…้™ค็ผ“ๅญ˜๏ผˆdelete require.cache[path]๏ผ‰ๆ˜ฏ็ƒญๆ›ดๆ–ฐๅทฅๅ…ท็š„ๆ ธๅฟƒๆ“ไฝœใ€‚package.json exports ๅญ—ๆฎตๆ”ฏๆŒๆกไปถๅฏผๅ‡บ๏ผˆimport/require ่ฟ”ๅ›žไธๅŒๅ…ฅๅฃ๏ผ‰ใ€‚pnpm workspaces ๅ‡ญๅ€Ÿ็กฌ้“พๆŽฅๆœบๅˆถๆˆไธบ็Žฐไปฃ Monorepo ้ฆ–้€‰ใ€‚ๅŽ็ซฏๅˆ†ๅฑ‚ๆžถๆž„๏ผˆAPI/Service/Repository๏ผ‰ๅฎž็Žฐๅ…ณๆณจ็‚นๅˆ†็ฆป๏ผŒๆขๆ•ฐๆฎๅบ“ๅช้œ€ๆ”น Repository ๅฑ‚ใ€‚\",\"tags\":[\"concept\",\"node.js\",\"commonjs\",\"esm\",\"monorepo\",\"layered-architecture\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/01.ๅ…จๆ ˆ/90.ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่/90.ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่.md\",\"relativePath\":\"01.ๅ…จๆ ˆ/90.ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่/90.ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่.md\"},\"wordCount\":7425,\"readingTime\":\"30.1m\",\"frontmatter\":{\"date\":{},\"title\":\"ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡็ณป็ปŸๆขณ็†ไบ†็Žฐไปฃๅ…จๆ ˆๅผ€ๅ‘็š„ๅฎŒๆ•ดๆŠ€ๆœฏๅ›พ่ฐฑไธŽๆผ”่ฟ›่Œƒๅผ๏ผŒไธบๅผ€ๅ‘่€…ๆไพ›ไบ†ไธ€็ซ™ๅผ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—ใ€‚ๆ–‡็ซ ไปŽๅŸบ็Ÿณๅ‡บๅ‘๏ผŒ่ฆ†็›– Web ๆ ธๅฟƒ่ฏญ่จ€๏ผˆJS/TS๏ผ‰ ไธŽ ไธปๆต UI ๆก†ๆžถ๏ผˆReact/Vue/Svelte๏ผ‰๏ผŒๅนถๆŽจ่ไปฅ Tailwind CSS ๅ’Œ shadcn/ui ไธบไปฃ่กจ็š„็Žฐไปฃๆ ทๅผไธŽ็ป„ไปถๅŽŸ่ฏญใ€‚ๅœจๆ ธๅฟƒไธšๅŠก้€ป่พ‘ๅฑ‚๏ผŒๆทฑๅบฆๅฏนๆฏ”ไบ†่ฝป้‡ๅŒ–็Šถๆ€็ฎก็†ๆ–นๆกˆ๏ผˆ้ฆ–ๆŽจ Zustand/Jotai๏ผ‰๏ผŒๅนถ้‡็‚น่งฃๆžไบ†ๆ•ฐๆฎไบคไบ’็š„ไธ‰ๅคง็Žฐไปฃๆžถๆž„่Œƒๅผ๏ผšไปŽๅŸบ็ก€ Axios ๅˆฐ React Query ็Šถๆ€่ฐƒๅบฆ๏ผŒๅ†ๅˆฐ tRPC ๅ’Œ GraphQL ๅธฆๆฅ็š„ๅ…จๆ ˆ็ฑปๅž‹ๅฎ‰ๅ…จไธŽๅคš็ซฏ่šๅˆใ€‚ๅœจๅทฅ็จ‹ๅŒ–ไธŽๆœๅŠก็ซฏๆจกๅ—๏ผŒๆ–‡็ซ ๅ…จ้ขๆ‹ฅๆŠฑ Viteใ€Rsbuild ็ญ‰ๆž้€Ÿๆž„ๅปบๅทฅๅ…ท๏ผŒๅนถๅ‰–ๆžไบ† Next.js/Nuxt ๅŒๆž„ๅ…ƒๆก†ๆžถไธŽ NestJS ไผไธš็บง Node ๆœๅŠก็š„ๆœ€ไฝณ้€‚็”จๅœบๆ™ฏใ€‚ๆœ€ๅŽ๏ผŒ่พ…ไปฅ Vercel ็ญ‰็Žฐไปฃ่พน็ผ˜้ƒจ็ฝฒๅนณๅฐๅŠไธฐๅฏŒ็š„ๅผ€ๆบ็คพๅŒบๅญฆไน ่ต„ๆบใ€‚\",\"permalink\":\"/growth/full-stack-resources\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"ๅ…จๆ ˆ\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/10.ไบงๅ“ Sense/00.ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ.md\",\"relativePath\":\"10.ไบงๅ“ Sense/00.ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ.md\"},\"wordCount\":429,\"readingTime\":\"1.5m\",\"frontmatter\":{\"date\":{},\"title\":\"ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"description\":\"ไบงๅ“ Sense ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ๏ผŒๆถต็›– AI ไบงๅ“่ง‚ๅฏŸใ€ๅคๅˆๅž‹ไบบๆ‰ๆˆ้•ฟใ€ๅ•†ไธšๅŒ–ๆ€่€ƒๅŠๆ–นๆณ•่ฎบๆ€ป็ป“็ญ‰ใ€‚\",\"categories\":[\"ไบงๅ“ Sense\",\"AI\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense\"}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/10.ไบงๅ“ Sense/01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž/11.AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€….md\",\"relativePath\":\"10.ไบงๅ“ Sense/01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž/11.AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€….md\"},\"wordCount\":1833,\"readingTime\":\"6.3m\",\"frontmatter\":{\"date\":{},\"title\":\"AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจๅคงๆจกๅž‹้‡ๅก‘ไบ’่”็ฝ‘ไบคไบ’็š„ๅฝ“ไธ‹๏ผŒPerplexity ๅนถๆœช้€‰ๆ‹ฉๆˆไธบโ€œไธ‹ไธ€ไธช Googleโ€๏ผŒ่€Œๆ˜ฏไปฅโ€œ็Ÿฅ่ฏ†ๅ‘็Žฐๅผ•ๆ“Žโ€็š„ๅ…จๆ–ฐๅฎšไฝ๏ผŒ็ฒพๅ‡†ๅˆ‡ๅ…ฅ็Ÿฅ่ฏ†ๅทฅไฝœ่€…็š„ๆ ธๅฟƒๅทฅไฝœๆตใ€‚ๆœฌๆ–‡่ทณๅ‡บๅ•็บฏ็š„ๆจกๅž‹่ƒฝๅŠ›ๅฏนๆฏ”๏ผŒไปŽไบงๅ“ Sense ไธŽๅทฅ็จ‹้€ป่พ‘็š„ๅŒ้‡่ง†่ง’๏ผŒๆทฑๅบฆๆ‹†่งฃ Perplexity ็š„็ ดๅฑ€ไน‹้“ใ€‚ๆˆ‘ไปฌๅฐ†ๆŽข่ฎจๅฎƒๅฆ‚ไฝ•้€š่ฟ‡ๅ็›ด่ง‰็š„ UI ๅˆ›ๆ–ฐ้‡ๅก‘ไบคไบ’่ตท็‚น๏ผŒๅฆ‚ไฝ•ๅœจๅทฅ็จ‹ๅฑ‚้ขๆญป็ฃ•ๅฐพ้ƒจๅปถ่ฟŸไธŽๅนป่ง‰ๆŽงๅˆถ๏ผŒไปฅๅŠๅฎƒๅฆ‚ไฝ•ๅˆฉ็”จๅทจๅคด็š„ๅˆฉๆถฆ็އๆŠคๅŸŽๆฒณๅฎž็Žฐ้”™ไฝ็ซžไบ‰ใ€‚ๆœ€็ปˆ๏ผŒๆˆ‘ไปฌๅฐ†่ง†็บฟๆŠ•ๅ‘ๆœชๆฅ๏ผŒไธ€็ชฅ AI ไปŽ่ขซๅŠจๅ“ๅบ”่ตฐๅ‘ไธปๅŠจๆŽข็ดข็š„ๆผ”่ฟ›่“ๅ›พใ€‚\",\"permalink\":\"/product-sense/perplexity-knowledge-worker\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"AI ๆœ็ดข\",\"็Ÿฅ่ฏ†ๅ‘็Žฐ\",\"ไบงๅ“ Sense\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/20.่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ.md\",\"relativePath\":\"10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/20.่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ.md\"},\"wordCount\":1994,\"readingTime\":\"6.8m\",\"frontmatter\":{\"date\":{},\"title\":\"่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡็ป“ๅˆไฟ็ฝ—ใƒปๆ ผ้›ทๅŽ„ๅง†ใ€ŠHow to Do Great Workใ€‹ๆ ธๅฟƒ่ง‚็‚น๏ผŒๆŽข่ฎจ AI ๅŽŸ็”Ÿๆ—ถไปฃๅคๅˆๅž‹ไบบๆ‰็š„ๆ ธๅฟƒ็‰น่ดจใ€‚AI ่ฎฉๅŸบ็ก€ๆ‰ง่กŒ่ƒฝๅŠ›ๅฟซ้€Ÿ่ดฌๅ€ผ๏ผŒไบบๆ‰็š„ๆ ธๅฟƒๅฃๅž’ไธๅ†ๆ˜ฏ่งฃๅ†ณ้—ฎ้ข˜๏ผŒ่€Œๆ˜ฏๆๅ‡บไผ˜่ดจ้—ฎ้ข˜ใ€ๅŸนๅ…ป้žๅ…ฑ่ฏ†ๅ“ๅ‘ณใ€‚ๅŒๆ—ถ้œ€ๅšๅฎˆๆ™บๅŠ›่ฏšๅฎž๏ผŒๆ‹ฅๆœ‰ๆ‰“็ ดๅธธ่ง„็š„ๅˆ›ๆ–ฐๅ‹‡ๆฐ”๏ผŒๅ€ŸๅŠฉ AI ๆ”พๅคงไธชไบบๆˆ้•ฟๆ ๆ†๏ผŒไปฅๅฐๅˆ‡ๅฃๅฎž่ทตๅฎž็ŽฐๆŒ‡ๆ•ฐ็บงๆˆ้•ฟใ€‚ไบบ็ฑป็‹ฌๆœ‰็š„ๅฅฝๅฅ‡ๅฟƒ๏ผŒๆ˜ฏ็ช็ ด AI ๅนณๅบธใ€ๅ–ๅพ—ๆฐๅ‡บๆˆๅฐฑ็š„ๆœ€็ปˆๅบ•ๆฐ”ใ€‚\",\"coverImg\":\"/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense/ai-native-composite-talents\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"AI\",\"ๆˆ้•ฟ\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/21.ๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense.md\",\"relativePath\":\"10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/21.ๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense.md\"},\"wordCount\":4356,\"readingTime\":\"15m\",\"frontmatter\":{\"date\":{},\"title\":\"ๅฝ“โ€œๅฎž็Žฐโ€ไธๅ†ๆ˜ฏๅฃๅž’๏ผšๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense๏ผŸ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ AI ่ฎฉไปฃ็ ็”Ÿๆˆ็š„่พน้™…ๆˆๆœฌ่ถ‹่ฟ‘ไบŽ้›ถ๏ผŒโ€œๆŠ€ๆœฏๅฎž็Žฐโ€ไธๅ†ๆ˜ฏไธๅฏ้€พ่ถŠ็š„ๅฃๅž’๏ผŒโ€œไบงๅ“ๆดžๅฏŸโ€่ƒฝๆž„็ญ‘่ตทๆ–ฐ็š„ๆ ธๅฟƒๆŠคๅŸŽๆฒณใ€‚ๆœฌๆ–‡ๆ‹’็ป็Ž„ๅญฆ๏ผŒๅฐ†ๆŠฝ่ฑก็š„ ไบงๅ“ Sense ่งฃๆž„ไธบไธ‰ไธชๆ ธๅฟƒๆ•ฐๅญฆๅ…ฌๅผ๏ผŒๅนถๆไพ›ไธ€ๅฅ—ๅŸบไบŽโ€œ้€†ๅ‘ๅทฅ็จ‹โ€็š„ๅˆปๆ„็ปƒไน ๆŒ‡ๅ—๏ผŒๅŠฉๅŠ›ๅผ€ๅ‘่€…ๅœจ็ฎ—ๅŠ›่ฟ‡ๅ‰ฉ็š„ๆ—ถไปฃ๏ผŒๅฎŒๆˆไปŽโ€œไปฃ็ ๅทฅๅŒ โ€ๅˆฐโ€œไปทๅ€ผๅˆ›้€ ่€…โ€็š„่ฎค็Ÿฅ่ทƒ่ฟใ€‚\",\"sticky\":1,\"top\":true,\"categories\":[\"ไบงๅ“ Sense\",\"AI\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense/engineer-build-product-sense\"}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/10.ไบงๅ“ Sense/04.ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–/30.ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹่ฏปๅŽๆ„Ÿ.md\",\"relativePath\":\"10.ไบงๅ“ Sense/04.ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–/30.ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹่ฏปๅŽๆ„Ÿ.md\"},\"wordCount\":1982,\"readingTime\":\"6.8m\",\"frontmatter\":{\"date\":{},\"title\":\"ๆ”พๅผƒๅขž้•ฟๆ‰งๅฟต๏ผŒไธบไป€ไนˆโ€œๅฐ่€Œ็พŽโ€ๆ‰ๆ˜ฏๅฏๆŒ็ปญไน‹่ทฏ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒ็ง‘ๆŠ€ไบ’่”็ฝ‘่กŒไธš็š„ๅ™ไบ‹้ƒฝ่ขซโ€œไธๆƒœไธ€ๅˆ‡ไปฃไปทๅฎž็Žฐ่ถ…็บฟๆ€งๅขž้•ฟโ€ๆ‰€ไธปๅฏผใ€‚ไปฟไฝ›ๅชๆœ‰ๆ‹ฟๅˆฐๅทจ้ข่ž่ต„ใ€็–ฏ็‹‚ๆ‹›ไบบใ€ๆˆไธบไผฐๅ€ผ็ ด็™พไบฟ็š„ๅบž็„ถๅคง็‰ฉ๏ผŒๆ‰็ฎ—ๅพ—ไธŠๆ˜ฏๆˆๅŠŸ็š„ๅˆ›ไธšใ€‚็„ถ่€Œ๏ผŒ่ฏปๅฎŒ่จๅธŒๅฐ”ยทๆ‹‰ๆ–‡ๅ‰ไบš็š„ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹ๅŽ๏ผŒ็ฌ”่€…่Žทๅพ—ไบ†ไธ€็งๆˆช็„ถไธๅŒ็š„ๅ•†ไธš่ง†่ง’๏ผšไผไธšๅญ˜ๅœจ็š„้ฆ–่ฆ็›ฎ็š„ไธๆ˜ฏไธบไบ†่ž่ต„ๅ’Œๆ‰ฉๅผ ๏ผŒ่€Œๆ˜ฏไธบไบ†้€š่ฟ‡่งฃๅ†ณ้—ฎ้ข˜ๆฅ่Žทๅพ—ๆŒ็ปญ็š„็›ˆๅˆฉใ€‚ ๆœฌๆ–‡็ป“ๅˆไนฆไธญ็š„ๆ ธๅฟƒ่ฎบ็‚นไธŽ่‡ช่บซ็š„็ ”ๅ‘่ง†่ง’๏ผŒๆŠŠๅฐ†่ฟ™ๆœฌไนฆ่ƒŒๅŽ็š„็ป่ฅ้€ป่พ‘ไธŽไบงๅ“ๅ“ฒๅญฆๆขณ็†ไธบๅ‡ ไธชๆ ธๅฟƒๅฑ‚้ข็š„ๆ€่€ƒใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense/small-rule-learn\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"ไบงๅ“ Sense\",\"ๅ•†ไธšๅŒ–\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/40.ๆดžๅฏŸๅŠ›ๆจกๅž‹.md\",\"relativePath\":\"10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/40.ๆดžๅฏŸๅŠ›ๆจกๅž‹.md\"},\"wordCount\":2572,\"readingTime\":\"9m\",\"frontmatter\":{\"date\":{},\"title\":\"ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผšๅฆ‚ไฝ•็œ‹้€ไบงๅ“ไธŽๆŠ€ๆœฏ่ƒŒๅŽ็š„็ณป็ปŸ้€ป่พ‘๏ผŸ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆ— ่ฎบๆ˜ฏๅšไบงๅ“ใ€ๆžๆŠ€ๆœฏ๏ผŒ่ฟ˜ๆ˜ฏๅบ”ๅฏนๆ—ฅๅธธๅทฅไฝœไธญ็š„ๅ„็งๆŒ‘ๆˆ˜๏ผŒไฝ ๆ˜ฏๅฆ้‡ๅˆฐ่ฟ‡่ฟ™ๆ ท็š„ๅ›ฐๅขƒ๏ผšๆ˜Žๆ˜ŽๆŒ‰็ป้ชŒ่กŒไบ‹๏ผŒๅดๅฑกๅฑก่ธฉๅ‘๏ผ›ๅˆš่งฃๅ†ณ่กจ้ข้—ฎ้ข˜๏ผŒ้šๆ‚ฃๅˆๅทๅœŸ้‡ๆฅใ€‚้—ฎ้ข˜ๆœชๅฟ…ๅ‡บๅœจๅŠชๅŠ›็จ‹ๅบฆ๏ผŒ่€ŒๅœจไบŽๆˆ‘ไปฌๅช็›ฏ็€่กจ่ฑก๏ผŒๅดๅฟฝ็•ฅไบ†่ƒŒๅŽ็œŸๆญฃ่ตทไฝœ็”จ็š„็ณป็ปŸ๏ผŒๆฒกๆœ‰็œ‹ๆ‡‚่—ๅœจ่ƒŒๅŽ็š„็ณป็ปŸใ€‚ไธบไป€ไนˆๅŒๆ ทๆ˜ฏ่งฃๅ†ณ้—ฎ้ข˜๏ผŒๆœ‰ไบบๅช่ƒฝโ€œๅคด็—›ๅŒปๅคดโ€๏ผŒๆœ‰ไบบๅด่ƒฝ็›ดๅ‡ปๆœฌ่ดจ๏ผŸ่ฟ™็ฏ‡ๆ–‡็ซ ๅฐ†็”จ้€šไฟ—ๆ˜“ๆ‡‚็š„ๆ–นๅผ๏ผŒๅธฆไฝ ๆ‹†่งฃไธ€ๅฅ—ๅฎž็”จ็š„ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผŒ่ฎฉๆˆ‘ไปฌๅญฆไผš้€่ฟ‡็Žฐ่ฑกๆŠ“ไฝๆœฌ่ดจ๏ผŒไปŽๆ นๆบไธŠ่งฃๅ†ณ้—ฎ้ข˜ใ€‚\",\"permalink\":\"/product-sense/insight-model\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"ไบงๅ“ Sense\",\"็ณป็ปŸๆดžๅฏŸๅŠ›\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/50.็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“.md\",\"relativePath\":\"10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/50.็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“.md\"},\"wordCount\":3150,\"readingTime\":\"10.7m\",\"frontmatter\":{\"date\":{},\"title\":\"็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“\",\"description\":\"ๅฐ†็ปๆตŽๅญฆๆ ธๅฟƒๅŽŸ็†่žๅˆ่ฟ›ไบงๅ“่ฎพ่ฎกๅ…จ็”Ÿๅ‘ฝๅ‘จๆœŸ็š„ๆ–นๆณ•่ฎบไฝ“็ณป๏ผŒๆž„ๅปบ็†ๆ€ง็š„โ€œไบงๅ“Senseโ€ใ€‚\",\"categories\":[\"ไบงๅ“ Sense\"],\"permalink\":\"/product-sense/using-economics-thinking\"}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/20.AI ๅญฆไน ไธŽๅฎž่ทต/00.AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ.md\",\"relativePath\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/00.AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ.md\"},\"wordCount\":25,\"readingTime\":\"1m\",\"frontmatter\":{\"title\":\"AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"date\":{},\"description\":\"ๅ…จๆ™ฏๅผ AI ๅญฆไน ไธŽๅฎž่ทต็Ÿฅ่ฏ†ๅบ“๏ผŒ็ณป็ปŸๆฒ‰ๆท€ AI Agent ่ฎพ่ฎกๆจกๅผใ€ๅคงๆจกๅž‹ๅทฅ็จ‹ๅŒ–่ฝๅœฐใ€ๅผ€ๆบๅฐ้กน็›ฎๅŠ็คพๅŒบๆดปๅŠจ็ป้ชŒๆ€ป็ป“๏ผŒๆŒ็ปญ่ฟญไปฃไปŽ็†่ฎบๅˆฐ็”Ÿไบง็š„ๅฎŒๆ•ดๆ–นๆณ•่ฎบใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/llm_learning_bg_1.png\",\"permalink\":\"/ai-learning/overview\",\"categories\":[\"ai-practice\"],\"tags\":[\"AI\",\"LLM\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/01.Agentๆฆ‚่งˆไธŽ็ปผ่ฟฐ.md\",\"relativePath\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/01.Agentๆฆ‚่งˆไธŽ็ปผ่ฟฐ.md\"},\"wordCount\":6363,\"readingTime\":\"22.1m\",\"frontmatter\":{\"date\":{},\"title\":\"ไปŽๆ็คบ่ฏๅˆฐๆ•ฐๅญ—ๅ‘˜ๅทฅ๏ผšAI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšAI ็š„่ฟ›ๅŒ–ๆญฃ็ปๅކไปŽโ€œๅฏน่ฏๆก†โ€ๅ‘โ€œๆ•ฐๅญ—ๅ‘˜ๅทฅโ€็š„ๆ นๆœฌๆ€ง่ทจ่ถŠใ€‚ๆœฌๆ–‡ๆ˜ฏไธ€็ฏ‡ๅ…ณไบŽ AI Agent ็š„ๅ…จๆ™ฏๆทฑๅบฆ็ปผ่ฟฐ๏ผŒๆ—จๅœจ่งฃๆž„ๆ™บ่ƒฝไฝ“ๅฆ‚ไฝ•ไปŽ็ฎ€ๅ•็š„ Prompt ๅ“ๅบ”่€…๏ผŒๆผ”ๅ˜ไธบๅ…ทๅค‡่‡ชไธป็›ฎๆ ‡ๆ‹†่งฃใ€้•ฟ็ŸญๆœŸ่ฎฐๅฟ†ไธŽๅคๆ‚็Žฏๅขƒไบคไบ’่ƒฝๅŠ›็š„โ€œๆ‰ง่กŒ่€…โ€ใ€‚ๆˆ‘ไปฌๅฐ†ๆทฑๅบฆๆ‹†่งฃ Agent ็š„ๅ››ๅคงๆŠ€ๆœฏๅŸบ็Ÿณ๏ผˆ่ง„ๅˆ’ใ€่ฎฐๅฟ†ใ€ๅทฅๅ…ทใ€่กŒๅŠจ๏ผ‰๏ผŒๅนถ่ฏฆ็ป†ๅ‰–ๆžไปŽ้€š็”จๅž‹ Agent ๅˆฐๅคšๆ™บ่ƒฝไฝ“ๅไฝœ๏ผˆMAS๏ผ‰ใ€ๅ†ๅˆฐ่ฟˆๅ‘ Agent OS ๆ—ถไปฃ็š„ OpenClaw ็ญ‰ไบ”ๅคงๆผ”่ฟ›ๅฝขๆ€ใ€‚ไธไป…ๆŽข่ฎจไบ†ๆŠ€ๆœฏๆžถๆž„็š„ๅฎž็Žฐ๏ผŒๆ›ดๆญ็คบไบ†่ฝฏไปถๅทฅ็จ‹ไปŽโ€œไปฅไบบไธบไธญๅฟƒโ€ๅ‘โ€œไปฅ AI ไธบไธญๅฟƒโ€็š„่Œƒๅผ้ฉๅ‘ฝโ€”โ€”ๅœจ Agent ้ฉฑๅŠจ็š„ๆ–ฐ็บชๅ…ƒ๏ผŒๆ ธๅฟƒ็ซžไบ‰ๅŠ›ๅฐ†ไธๅ†ๆ˜ฏไปฃ็ ้‡๏ผŒ่€Œๆ˜ฏ่ฐƒๅบฆ AI ้—ญ็Žฏ่งฃๅ†ณไธšๅŠก้—ฎ้ข˜็š„่ƒฝๅŠ›ใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/llm_learning_bg_1.png\",\"permalink\":\"/ai-agent/overview\",\"top\":true,\"categories\":[\"ai-practice\"],\"tags\":[\"AI Agent\",\"Agent\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/02.Agent ่ง„ๅˆ’ๆจกๅ—.md\",\"relativePath\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/02.Agent ่ง„ๅˆ’ๆจกๅ—.md\"},\"wordCount\":3028,\"readingTime\":\"10.6m\",\"frontmatter\":{\"date\":{},\"title\":\"ๆŽขๅฏป Agent ๅ†ณ็ญ–ไธญๆžข๏ผš่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„่ง„ๅˆ’่Œƒๅผ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฆ‚ๆžœ่ฏด LLM ๆ˜ฏ Agent ็š„ๅคง่„‘๏ผŒ่ง„ๅˆ’ๆจกๅ—ๅˆ™ๆ˜ฏๅ…ถ่ดŸ่ดฃๅคๆ‚ๅ†ณ็ญ–็š„โ€œๅ‰้ขๅถโ€ใ€‚ๆœฌๆ–‡ๆทฑๅบฆ่งฃๆž„ไบ† Agent ่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„ๆ ธๅฟƒ่ทฏๅพ„๏ผšไปŽไปปๅŠกๅˆ†่งฃ็š„้™ไฝŽ็†ตๅ€ผ๏ผŒๅˆฐ่‡ชๆˆ‘ๅๆ€็š„้—ญ็ŽฏๆŽงๅˆถใ€‚้€š่ฟ‡ๅฏนๆฏ”โ€œ่พน่ตฐ่พน็œ‹โ€็š„ ReAct ๅŠจๆ€ๅ“ๅบ”ๆจกๅผไธŽโ€œ่ฐ‹ๅฎšๅŽๅŠจโ€็š„ Plan-and-Execute ้ข„็ผ–ๆŽ’ๆจกๅผ๏ผŒๆœฌๆ–‡ๆญ็คบไบ†ๅฆ‚ไฝ•้’ˆๅฏน้•ฟ้“พ่ทฏๅทฅ็จ‹ไปปๅŠกๆž„ๅปบ็จณๅฅ็š„ๅ†ณ็ญ–่Œƒๅผ๏ผŒๅŠฉไฝ ๅฎŒๆˆไปŽโ€œ็ฎ€ๅ•ๆ็คบ่ฏโ€ๅˆฐโ€œๅคๆ‚ๆžถๆž„่ฎพ่ฎกโ€็š„่ฎค็Ÿฅ่ทƒ่ฟใ€‚\",\"permalink\":\"/ai-agent/planning-module\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/03.ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผšๅฐ†้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต.md\",\"relativePath\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/03.ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผšๅฐ†้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต.md\"},\"wordCount\":2685,\"readingTime\":\"9.4m\",\"frontmatter\":{\"date\":{},\"title\":\"ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผš้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผš้ขๅฏนๅฑ‚ๅ‡บไธ็ฉท็š„ Promptใ€MCPใ€Skills ๅ’Œ Subagents๏ผŒๅพˆๅคšๅผ€ๅ‘่€…ๅ’Œไบงๅ“็ป็†ๅธธๆ„Ÿๅˆฐๅ›ฐๆƒ‘๏ผš่ฟ™ไบ›็ป„ไปถ็ฉถ็ซŸๆ˜ฏ้‡ๅค้€ ่ฝฎๅญ๏ผŒ่ฟ˜ๆ˜ฏๅ„ๅธๅ…ถ่Œ็š„็งฏๆœจ๏ผŸๆœฌๆ–‡ๅฐ†ๆทฑๅบฆๆ‹†่งฃ Agentic ็”Ÿๆ€็š„ไบ”ๅคงๆ ธๅฟƒๆ”ฏๆŸฑ๏ผŒๆญ็คบๅฆ‚ไฝ•้€š่ฟ‡ไผ˜้›…็š„ๆžถๆž„่ฎพ่ฎกๅฎž็ŽฐๅๅŒ้—ญ็Žฏ๏ผŒๅฐ†้›ถๆ•ฃ็š„ AI ็ป„ไปถๆ‹ผ่ฃ…ๆˆไธ€ๅฅ—ๅฏๆŒ็ปญ่ฟ›ๅŒ–็š„ AI ๅŽŸ็”Ÿๆ“ไฝœ็ณป็ปŸ๏ผŒๆŠŠ็ขŽ็‰‡ๅŒ–็š„ AI ่ƒฝๅŠ›่ฝฌๅŒ–ไธบ้ซ˜ๅฏ็”จ็š„็”ŸไบงๅŠ›ๆตใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/ai-practice/agent_components_zh.png\",\"permalink\":\"/ai-agent/composition-ai-components\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"],\"tags\":[\"Agent\",\"AI\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/10.Agent SKills.md\",\"relativePath\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/10.Agent SKills.md\"},\"wordCount\":3915,\"readingTime\":\"14.6m\",\"frontmatter\":{\"date\":{},\"title\":\"ๅฆ‚ไฝ•็ผ–ๅ†™ไธ€ไธช้ซ˜ๅฏ็”จ็š„ Agent Skill๏ผŸไปŽๆœบๅˆถๆ‹†่งฃๅˆฐ็”Ÿไบงๅฎž่ทตๆŒ‡ๅ—\",\"description\":\"ๅคง่ฏญ่จ€ๆจกๅž‹ๅœจ็‰นๅฎšๅทฅ็จ‹้ข†ๅŸŸๅธธ้ขไธดโ€œ็Ÿฅ่€Œไธ่กŒโ€็š„ๅ›ฐๅขƒใ€‚ๆœฌๆ–‡ๆทฑๅบฆๆ‹†่งฃ Anthropic ๆœ€ๆ–ฐๆŽจๅ‡บ็š„ Agent Skills ่ง„่Œƒ๏ผŒๆญ็ง˜ๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆธ่ฟ›ๅผๆŠซ้œฒไธŽไธ‰็บงๅŠ ่ฝฝๆœบๅˆถ๏ผŒๅœจๆŽงๅˆถ Token ๆˆๆœฌ็š„ๅŒๆ—ถๆ˜พ่‘—ๆๅ‡ Agent ็š„ไปปๅŠกๆ‰ง่กŒ็ฒพๅบฆใ€‚ๆ–‡็ซ ๆถต็›–ไบ†ไปŽๆ–‡ไปถๅคนๆžถๆž„่ฎพ่ฎกๅˆฐๅฎžๆˆ˜ git-workflow ็ผ–ๅ†™็š„ๅ…จๆต็จ‹ๆŒ‡ๅ—๏ผŒๅŠฉไฝ ๅฐ†้›ถๆ•ฃ็š„ Prompt ่ฝฌๅŒ–ไธบๆ ‡ๅ‡†ๅŒ–็š„ๆ•ฐๅญ—่ต„ไบงใ€‚\",\"permalink\":\"/ai-agent/skills-practice-summary\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\",\"Agent ็ณปๅˆ—\"],\"tags\":[\"Agent Skills\",\"Agent\",\"AI\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/10.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Deep Research Agent.md\",\"relativePath\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/10.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Deep Research Agent.md\"},\"wordCount\":2889,\"readingTime\":\"11m\",\"frontmatter\":{\"date\":{},\"title\":\"ๅฃฐๆ˜Žๅผๅคšๆ™บ่ƒฝไฝ“ๅๅŒ๏ผšๅŸบไบŽ Claude Agent SDK ๆž„ๅปบๆทฑๅบฆ็ ”็ฉถ็ณป็ปŸ\",\"description\":\"ๅฏนๅคๆ‚็ ”็ฉถไปปๅŠกๆ—ถ๏ผŒๅ•ๆ™บ่ƒฝไฝ“๏ผˆSingle-Agent๏ผ‰ๅธธๅ› ไธŠไธ‹ๆ–‡็จ€้‡Šๅ’Œ้€ป่พ‘็–ฒๅŠณๅฏผ่‡ดไบงๅ‡บ่ดจ้‡ไธ‹้™ใ€‚ๆœฌๆ–‡ๅŸบไบŽ Claude Agent SDK ๆŽข่ฎจไบ†ๅคšๆ™บ่ƒฝไฝ“็ณป็ปŸ๏ผˆMAS๏ผ‰็š„ๅทฅ็จ‹ๅŒ–่ฝๅœฐใ€‚้€š่ฟ‡โ€œLead + Subagentโ€็š„ๅฃฐๆ˜Žๅผๆžถๆž„๏ผŒๆˆ‘ไปฌๅฐ†ๆทฑๅบฆ็ ”็ฉถๆ‹†่งฃไธบๆœ็ดขใ€้‡ๅŒ–ๅˆ†ๆžใ€ๅฏ่ง†ๅŒ–็ป˜ๅ›พไธŽ็ป“ๆž„ๅŒ–ๅ†™ไฝœๅ››ไธช็‹ฌ็ซ‹็Žฏ่Š‚ใ€‚\",\"permalink\":\"/ai-agent/deepresearch-agent\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"],\"tags\":[\"Agent SDK\",\"Multi-Agent\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/20.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Agent.md\",\"relativePath\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/20.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Agent.md\"},\"wordCount\":2778,\"readingTime\":\"11.2m\",\"frontmatter\":{\"date\":{},\"title\":\"ๅ‘Šๅˆซๆ‰‹ๅŠจ Loop๏ผšๅ€ŸๅŠฉ Claude Agent SDK ๅฎž็Žฐ Agent ็š„ๅทฅ็จ‹ๅŒ–้—ญ็Žฏ\",\"description\":\"ๅœจ Agent ๆŠ€ๆœฏๅฟซ้€Ÿ่ตฐๅ‘ๆˆ็†Ÿ็š„ไปŠๅคฉ๏ผŒๅฆ‚ไฝ•ไฝŽๆˆๆœฌๆž„ๅปบๅ…ทๅค‡โ€œ่‡ชไธปๆดžๅฏŸโ€่ƒฝๅŠ›็š„ๆ™บ่ƒฝไฝ“๏ผŸๆœฌๆ–‡ๆทฑๅบฆๆ‹†่งฃ Anthropic ๅฎ˜ๆ–นๆŽจๅ‡บ็š„ Claude Agent SDK๏ผŒ่งฃๆžๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆ‰˜็ฎก Agent Loop ๅ’Œไผš่ฏๆŒไน…ๅŒ–ๆœบๅˆถ๏ผŒ่งฃๅ†ณ Agent ๅผ€ๅ‘ไธญ็š„็Šถๆ€็ฎก็†้šพ้ข˜ใ€‚ๆ–‡็ซ ้€š่ฟ‡ไปŽๆ— ็Šถๆ€ไบคไบ’ๅˆฐๅ…ทๅค‡ๆตๅผ่พ“ๅ‡บ่ƒฝๅŠ›็š„ TUI ่‡ชๅŠจๅŒ–ๅทฅๅ…ท่ฟ›้˜ถๅฎžๆˆ˜๏ผŒๅฑ•็คบไบ†ๆž„ๅปบไฝŽๆˆๆœฌใ€้ซ˜ๅฏ็”จ AI ๅŽŸ็”Ÿๅบ”็”จ็š„ๅฎŒๆ•ด่ทฏๅพ„ใ€‚\",\"permalink\":\"/ai-practice/claude-agent-sdk-basic-build\",\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"],\"tags\":[\"Agent\",\"Agent SDK\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/60.ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹.md\",\"relativePath\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/60.ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹.md\"},\"wordCount\":2122,\"readingTime\":\"7.2m\",\"frontmatter\":{\"date\":{},\"title\":\"ไธ€ๆฌก็”ฑ Product Sense ้ฉฑๅŠจ็š„ Agent ๆž้™ๅฎž่ทต\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšAI ๆ—ถไปฃ๏ผŒๅ†™ๅฅฝไปฃ็ ๅชๆ˜ฏๅŠๆ ผ็บฟใ€‚ๅœจไธ€ๆฌกๆž้™ๆŒ‘ๆˆ˜่ต›ไธญ๏ผŒๆˆ‘ไปฌ้€š่ฟ‡ๅฏน K12 ่ต›้“็”จๆˆท็—›็‚น็š„็ฒพๅ‡†โ€œ่ง†่ง’ๅˆ‡ๆขโ€๏ผŒๆ‰“้€ ๅ‡บไธ€ๆฌพๆŽˆไบบไปฅๆธ”็š„โ€œๆ•ฐๅญฆ่พ…ๅฏผๅฏผๅธˆโ€ๅนถๆ–ฉ่Žทๅคงๅฅ–ใ€‚ๆœฌๆ–‡ๅค็›˜ไบ† Agent ๆญๅปบ่ƒŒๅŽ็š„ๆ ธๅฟƒ SOP ่ฎพ่ฎก้€ป่พ‘๏ผšๆŠ€ๆœฏ็ปˆ็ฉถ่ฆๅ›žๅฝ’ๅฏน็œŸๅฎžไบบๆ€ง็š„ไฝ“ๅฏŸไธŽๅ…ณๆ€€ใ€‚\",\"coverImg\":\"/img/cover/llm_learning_bg_2.png\",\"permalink\":\"/ai-practice/math-bot\",\"categories\":[\"ai-practice\"],\"tags\":[\"Agent\",\"ไบงๅ“ Sense\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/70.่ฏ—ๆญŒๅฐ็ฒพ็ต.md\",\"relativePath\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/70.่ฏ—ๆญŒๅฐ็ฒพ็ต.md\"},\"wordCount\":4145,\"readingTime\":\"14.2m\",\"frontmatter\":{\"date\":{},\"title\":\"้›ถไปฃ็ ไธ็ญ‰ไบŽ้›ถ้€ป่พ‘๏ผš็ป“ๆž„ๅŒ– Prompt ้ฉฑๅŠจไธ‹็š„ Agent ๆญๅปบๅฎžๆˆ˜\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจ Agent ๆฆ‚ๅฟตๆปกๅคฉ้ฃž็š„ๅฝ“ไธ‹๏ผŒๅ†ณๅฎšๅคงๆจกๅž‹ๅฎž้™…่กจ็Žฐ็š„ๅพ€ๅพ€ๆ˜ฏๆœ€ๅบ•ๅฑ‚็š„ System Prompt ่ฎพ่ฎกใ€‚ๆœฌๆ–‡่ฎฐๅฝ•ไบ†ๅ‘จๆœซๅˆฉ็”จๆ–‡ๅฟƒๆ™บ่ƒฝไฝ“ๅนณๅฐๆญๅปบโ€œ่ฏ—ๆญŒๅฐ็ฒพ็ตโ€็š„ๅฎŒๆ•ดๅฎž่ทตใ€‚้€š่ฟ‡ๅฏนๆฏ”โ€œไผ ็ปŸๅคงๆฎตๆ–‡ๆœฌโ€ไธŽโ€œLangGPT ็ป“ๆž„ๅŒ–โ€ไธค็ง Prompt ็š„ๅฎž้™…่พ“ๅ‡บ๏ผŒๆทฑๅบฆๆ‹†่งฃไบ†็ป“ๆž„ๅŒ– Prompt ๅฆ‚ไฝ•ๅƒโ€œๅ†™ไปฃ็ โ€ไธ€ๆ ท่ง„่Œƒ AI ็š„ๆ€่€ƒๅทฅไฝœๆต๏ผŒๆœ‰ๆ•ˆ่งฃๅ†ณๆŒ‡ไปคๆผ‚็งปไธŽๅนป่ง‰้—ฎ้ข˜ใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ๆฌก Prompt ่ฐƒไผ˜ๅฎž้ชŒ๏ผŒๆ›ดๆ˜ฏไธ€ๅœบๅ…ณไบŽ AI ไบงๅ“ Sense ไธŽๆœชๆฅไบคไบ’ๅฝขๆ€็š„ๆŽข็ดขใ€‚\",\"coverImg\":\"/img/cover/llm_learning_bg_2.png\",\"categories\":[\"ai-practice\"],\"permalink\":\"/ai-practice/poetry-bot\",\"tags\":[\"Agent\",\"AI\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่.md\",\"relativePath\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่.md\"},\"wordCount\":5451,\"readingTime\":\"20.6m\",\"frontmatter\":{\"date\":{},\"title\":\"ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไธบไพฟไบŽ้ซ˜ๆ•ˆๅˆฉ็”จ AI ๅทฅๅ…ทๆๅ‡ๅญฆไน ใ€ๆœ็ดขๅ’Œๅˆ›ไฝœๆ•ˆ็އ๏ผŒๆœฌๆ–‡็ณป็ปŸๆ•ด็†ไบ†ไธปๆต็š„ AI ๅŠฉๆ‰‹ไธŽๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐ็›ธๅ…ณ่ต„ๆบใ€‚ๅ†…ๅฎนๅˆ†ไธบโ€œAI ๅŠฉๆ‰‹โ€๏ผˆๅฆ‚ ChatGPTใ€Claudeใ€Gemini ็ญ‰ๅฏน่ฏๅผๅŠฉๆ‰‹๏ผ‰ๅ’Œโ€œๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐโ€๏ผˆๅฆ‚ๅ†™ไฝœใ€็ป˜็”ป็ญ‰้ข†ๅŸŸ็š„ AI ๅทฅๅ…ทไธŽๅนณๅฐ๏ผ‰๏ผŒไธ”ๆ ‡ๆณจไบ†ๅ…ถๆ ธๅฟƒ่ƒฝๅŠ›ใ€้€‚ๅˆๅœบๆ™ฏ๏ผŒไปฅๅŠ็‰น่‰ฒไผ˜ๅŠฟใ€‚\",\"permalink\":\"/ai-learning/tools-assistant\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/source_sites_bg.png\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"AI ๅŠฉๆ‰‹\",\"AI ๆœ็ดข\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/11. LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—.md\",\"relativePath\":\"20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/11. LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—.md\"},\"wordCount\":3534,\"readingTime\":\"13.6m\",\"frontmatter\":{\"date\":{},\"title\":\"LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆˆช่‡ณ 2026 ๅนด๏ผŒLLM API ๆœๅŠกๅทฒๅฝขๆˆ\\\"ๅฎ˜ๆ–น็›ด่ฟž + ็ฌฌไธ‰ๆ–น่šๅˆ\\\"็š„ๅŒ่ฝจๆ ผๅฑ€๏ผŒๆจกๅž‹่ƒฝๅŠ›ใ€ๅฎšไปทใ€ๅˆ่ง„ๆ€งไธŽๆŽฅๅ…ฅไพฟๅˆฉๆ€งๅทฎๅผ‚ๆ˜พ่‘—ใ€‚ๆœฌๆ–‡ไปŽ้€‰ๅž‹ๅ‰ๆ้—ฎๅ‡บๅ‘๏ผŒ็ณป็ปŸๆขณ็†ๅ›ฝ้™…ไธŽๅ›ฝๅ†…ไธปๆตๅฎ˜ๆ–น API ๅนณๅฐ๏ผŒไปฅๅŠ OpenRouterใ€็ก…ๅŸบๆตๅŠจ็ญ‰็ฌฌไธ‰ๆ–น่šๅˆๅนณๅฐ็š„ๆ ธๅฟƒ็‰น็‚น๏ผŒๅนถๆไพ›ๅŸบไบŽๅœบๆ™ฏ็š„ๅ†ณ็ญ–ๆก†ๆžถ๏ผŒๅธฎๅŠฉๅผ€ๅ‘่€…ๅ’Œไบงๅ“ๅ›ข้˜Ÿๅฟซ้€Ÿ้”ๅฎšๆœ€้€‚ๅˆ่‡ชๅทฑ็š„ๆ–นๆกˆใ€‚\",\"permalink\":\"/ai-learning/llm-api-resources\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"LLM API\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/01.ๅฅฝไนฆๆŽจ่.md\",\"relativePath\":\"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/01.ๅฅฝไนฆๆŽจ่.md\"},\"wordCount\":1847,\"readingTime\":\"6.4m\",\"frontmatter\":{\"title\":\"ๅฅฝไนฆๆŽจ่\",\"date\":{},\"description\":\"่ฏปไนฆๅฟƒๅพ—ใ€ๆŽจ่ไนฆ็ฑๅ’Œ้˜…่ฏปๆŠ€ๅทง\",\"categories\":[\"growth\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/books_reading_bg.png\",\"permalink\":\"/growth/books\",\"tags\":[\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\",\"่ต„ๆบๆŽจ่\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/10.่ฏปไนฆไธ‰่ฆไธ‰ไธ่ฆ.md\",\"relativePath\":\"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/10.่ฏปไนฆไธ‰่ฆไธ‰ไธ่ฆ.md\"},\"wordCount\":3593,\"readingTime\":\"12m\",\"frontmatter\":{\"date\":{},\"title\":\"่ฏปไนฆโ€œไธ‰่ฆโ€ๅ’Œโ€œไธ‰ไธ่ฆโ€\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจไฟกๆฏ็ˆ†็‚ธ็š„ๆ—ถไปฃ๏ผŒ่ฏปไนฆไพ็„ถๆ˜ฏ่Žทๅ–ๆทฑๅบฆ็Ÿฅ่ฏ†ๆœ€้ซ˜ๆ•ˆ็š„ๆ–นๅผไน‹ไธ€ใ€‚ไฝ†โ€œๆง่ตทไนฆโ€ๅนถไธ็ญ‰ไบŽโ€œๆœ‰ๆ”ถ่Žทโ€๏ผŒๆ€Žไนˆ่ฏปๅพ€ๅพ€ๆฏ”่ฏปไป€ไนˆๆ›ด้‡่ฆใ€‚ๆœฌๆ–‡ๆ€ป็ป“ไบ†้ซ˜ๆ•ˆ้˜…่ฏป็š„โ€œไธ‰่ฆโ€ไธŽโ€œไธ‰ไธ่ฆโ€๏ผšไปŽๅฎŒๆ•ด้˜…่ฏป่ง‚ๆ‘ฉๅคงๅธˆๆ€็ปดใ€ๅธฆ็€้—ฎ้ข˜ๆž„ๅปบ็Ÿฅ่ฏ†ๆ ‘๏ผŒๅˆฐ้€š่ฟ‡่ฎจ่ฎบๆฃ€้ชŒ็†่งฃ๏ผ›ๅŒๆ—ถๆ้†’้˜…่ฏป่€…่ญฆๆƒ•ๅ“€ๆ€จๅฟƒๆ€ๅฏน้˜…่ฏปๅˆ่กท็š„ๅผ‚ๅŒ–ใ€้ฟๅ…้™ทๅ…ฅๅฏน็‰ฉ็†ๅช’ไป‹็š„โ€œ็Žฉ็‰ฉไธงๅฟ—โ€๏ผŒไปฅๅŠๅˆ‡ๅฟŒ่„ฑ็ฆป็Žฐๅฎž็š„โ€œ็œŸ็ฉบโ€้˜…่ฏปใ€‚้˜…่ฏปไธไป…ๆ˜ฏๅ‘ๅ†…ๆŽข็ดข็š„็ฒพ็ฅžไน‹ๆ—…๏ผŒๆ›ดๆ˜ฏๅ‘ๅค–็†่งฃ็œŸๅฎžไธ–็•Œใ€ๅˆ›้€ ็คพไผšไปทๅ€ผ็š„ๅฎž็”จๅทฅๅ…ทใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/reading_need.png\",\"permalink\":\"/pages/growth/reading-tips\",\"sticky\":1,\"top\":true,\"categories\":[\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\"],\"tags\":[\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/21.ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ.md\",\"relativePath\":\"30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/21.ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ.md\"},\"wordCount\":2443,\"readingTime\":\"8.2m\",\"frontmatter\":{\"date\":{},\"title\":\"ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจไฟกๆฏ้ซ˜ๅบฆ้€ๆ˜Ž็š„ๆ—ถไปฃ๏ผŒๆต…ๅฑ‚ไฟกๆฏๅทฎๅทฒ่ขซๅฝปๅบ•ๆŠนๅนณ๏ผŒไฟกๆฏๆœฌ่บซ็š„ไปทๅ€ผไธๆ–ญ็จ€้‡Šใ€‚ไบบไธŽไบบ็š„ๆ ธๅฟƒๅทฎ่ทไธๅ†ๆ˜ฏ่Žทๅ–ไฟกๆฏ็š„ๆธ ้“๏ผŒ่€Œๆ˜ฏ้ซ˜ไฟกๅ™ชๆฏ”ไฟกๆฏ็š„็”„ๅˆซ่ƒฝๅŠ›ใ€ๆทฑๅบฆๆ€่€ƒ่ƒฝๅŠ›ไธŽ่ฝๅœฐๆ‰ง่กŒๅŠ›๏ผŒๅ”ฏๆœ‰ไปฅๆ€่€ƒๆ ก้ชŒไฟกๆฏใ€ไปฅๆ‰ง่กŒ้ชŒ่ฏไปทๅ€ผ๏ผŒๅฝขๆˆโ€œไฟกๆฏ-ๅˆคๆ–ญ-ๅฎž่ทต-ๅ้ฆˆโ€็š„ๆ€่€ƒไธŽๆ‰ง่กŒ้—ญ็Žฏ๏ผŒๆ‰่ƒฝ็ช็ ดไฟกๆฏๅฃๅž’ใ€ๅˆ›้€ ็œŸๆญฃไปทๅ€ผใ€‚\",\"permalink\":\"/growth/distinguish-useful-information\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"ไฟกๆฏ็ญ›้€‰\",\"ไธชไบบๆˆ้•ฟ\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/40.ๅ…ณไบŽ/01.ๅ…ณไบŽๆˆ‘.md\",\"relativePath\":\"40.ๅ…ณไบŽ/01.ๅ…ณไบŽๆˆ‘.md\"},\"wordCount\":1634,\"readingTime\":\"5.9m\",\"frontmatter\":{\"date\":{},\"title\":\"ๅ…ณไบŽๆˆ‘\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไปŽ Tech Stack ๅˆฐ Insight Stack๏ผŒๅฝ“ AI ๆŽฅ็ฎกไบ†ๅฎž็Žฐ๏ผŒๆˆ‘ๆ›ดๅ…ณๆณจๆžถๆž„็š„ๆƒ่กกไธŽไบงๅ“็š„ไปทๅ€ผ๏ผŒไธ“ๆณจ๏ผšๅทฅ็จ‹ๅŒ– Spec ไธŽ AI ็ผ–็จ‹็ฃจๅˆ็š„ๅฎž่ทต | Agent ่ฝๅœฐ | ็‹ฌ็ซ‹ไบงๅ“ใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/about_me_chinese.png\",\"permalink\":\"/about/me\",\"categories\":[\"ๅ…ณไบŽ\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘.md\",\"relativePath\":\"40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘.md\"},\"wordCount\":6205,\"readingTime\":\"22.2m\",\"frontmatter\":{\"date\":{},\"title\":\"่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไนฆๆŽฅไธŠๆ–‡ใ€Šๅ‘ๅ†…ๆ€ๅ˜ใ€‹๏ผŒๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ๅœจๅŽ็–ซๆƒ…ๆ—ถไปฃไปŽโ€œ้—ญๅ…ณโ€่ตฐๅ‘โ€œๅ‘ๅค–ไฝ“้ชŒโ€็š„ๅฐ่ฏ•ไธŽๅฟƒๅพ—ใ€‚้ขๅฏนๆœบๆขฐๆ‰ง่กŒๅธฆๆฅ็š„โ€œ็›ฎๆ ‡้šง้“โ€ๆ•ˆๅบ”๏ผŒ็ฌ”่€…ๅฐ่ฏ•่ทณๅ‡บๅ•ไธ€็š„็บฟๆ€ง่ง„ๅˆ’๏ผŒ่ฝฌ่€Œๅฏปๆฑ‚ๆ›ดๅบ•ๅฑ‚็š„่ฎค็Ÿฅ้€ป่พ‘ใ€‚ๆ–‡็ซ ้€š่ฟ‡้‡่ฏปใ€Š่ฆไบ‹็ฌฌไธ€ใ€‹ๅปบ็ซ‹ๅนณ่กก่ง‚๏ผŒๅˆฉ็”จ็ณป็ปŸๆ€็ปด๏ผˆๅขžๅผบ/่ฐƒ่Š‚ๅ›ž่ทฏ๏ผ‰ๆž„ๅปบๆดžๅฏŸๅŠ›๏ผŒๅนถ้‡ๆ–ฐๆ‹พ่ตทๆ•ฐๅญฆๆ€็ปด๏ผˆๆฆ‚็އใ€็จ€็–ๆ€งใ€ๅคšๆ ทๆ€ง๏ผ‰ไธŽ AI ่ง†่ง’ใ€‚่ฟ™ๆ˜ฏไธ€ๆฌกๅ…ณไบŽๅฆ‚ไฝ•็”จ็ง‘ๅญฆๆจกๅž‹ๆ›ฟไปฃๆœบๆขฐๆ‰ง่กŒ๏ผŒไปŽๆœฌ่ดจไธŠ้‡ๆž„ไธชไบบ่ฎค็Ÿฅไฝ“็ณป็š„ๆทฑๅบฆๅค็›˜ใ€‚\",\"permalink\":\"/growth/outer-experience\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/outer_experience_bg.png\",\"sticky\":1,\"top\":true,\"tags\":[\"็ณป็ปŸๆ€็ปด\",\"ๆ•ฐๅญฆๆ€็ปด\",\"ๆจกๅž‹ๆ€็ปด\",\"AI\",\"็–ซๆƒ…\"],\"categories\":[\"ไธชไบบๆˆ้•ฟ\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ.md\",\"relativePath\":\"40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ.md\"},\"wordCount\":9941,\"readingTime\":\"33.9m\",\"frontmatter\":{\"date\":{},\"title\":\"ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅฆ‚ไฝ•้ฟๅ…ๅ†…่€—๏ผŸๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ไธ‰ๅนด้—ด็š„โ€œ่‡ชๆˆ‘้‡ๆž„โ€ๅฎž้ชŒใ€‚ๆ–‡็ซ ๆ‘’ๅผƒไบ†ๅ•็บฏ็š„ๆƒ…็ปชๅฎฃๆณ„๏ผŒ่€Œๆ˜ฏๅˆฉ็”จๅˆ†่งฃๆณ•ใ€ๆธ่ฟ›ๆ˜Ž็ป†ๅ’Œ็ปŸ่ฎกๅˆ†ๆž็ญ‰ๅทฅ็จ‹ๆ€็ปด๏ผŒๅฏนๅฅๅบท้ฅฎ้ฃŸใ€็Ÿฅ่ฏ†ไฝ“็ณปใ€ๆ—ถ้—ดๅˆ†้…ๅŠ่ฟœ็จ‹ๅไฝœ่ฟ›่กŒไบ†็ณป็ปŸๅŒ–ๆ”น้€ ใ€‚่ฟ™ๆ˜ฏไธ€ไปฝๅ…ณไบŽๅฆ‚ไฝ•ๅœจๆ— ๅธธ็š„ๅค–้ƒจ็Žฏๅขƒไธญ๏ผŒๅปบ็ซ‹ๅ†…ๅœจ็กฎๅฎšๆ€ง็งฉๅบ็š„่กŒๅŠจๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/growth/inner-experience\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/refactor_life.png\",\"sticky\":1,\"top\":true,\"categories\":\"ไธชไบบๆˆ้•ฟ\",\"tags\":[\"ๅฅๅบท\",\"ๆ—ถ้—ด\",\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\",\"่ฟœ็จ‹ๅไฝœ\",\"็–ซๆƒ…\"]}},{\"fileInfo\":{\"filePath\":\"/home/runner/work/insight-stack-blog/insight-stack-blog/docs/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/20.ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹้˜ถๆฎต้š็ฌ”ๆฑ‡ๆ€ป.md\",\"relativePath\":\"40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/20.ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹้˜ถๆฎต้š็ฌ”ๆฑ‡ๆ€ป.md\"},\"wordCount\":4009,\"readingTime\":\"13.5m\",\"frontmatter\":{\"date\":{},\"title\":\"็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ”นๅ–„็š„ๆ–นๅผๆŽจๅŠจๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไปŽโ€œไนฆ็”Ÿๆ„ๆฐ”โ€ๅˆฐๅˆๅ…ฅ็คพไผš็š„โ€œไธญๅนดๆฒน่…ปโ€ๅฑๆœบ๏ผŒไธ€ๆฌกๅฅๅบท่ญฆๆŠฅ่ฎฉ็ฌ”่€…ๅผ€ๅฏไบ†่ฟ™ๅœบๆทฑๅˆป็š„่‡ชๆˆ‘ๅฏน่ฏไธŽ่กŒๅŠจใ€‚ๆœฌๆ–‡่ฏฆ็ป†ๅค็›˜ไบ†็ฌ”่€…ไปŽๅฅๅบทๅฑๆœบๅ‡บๅ‘๏ผŒ้€š่ฟ‡ๅ››ไธช้˜ถๆฎต็š„ๅพชๅบๆธ่ฟ›๏ผŒๆˆๅŠŸๅฎž็Žฐไฝ“้‡็ฎก็†็š„่ฟ‡็จ‹ใ€‚ๅŒบๅˆซไบŽ็›ฒ็›ฎ่ทŸ้ฃŽ๏ผŒ็ฌ”่€…ๅœจๅฎž่ทตไธญๅผ•ๅ…ฅไบ†็›ฎๆ ‡ๆ‹†่งฃใ€ๆ•ฐๆฎ็›‘ๆŽง๏ผˆไฝ“่„‚็งคๆŒ‡ๆ ‡๏ผ‰ใ€่ทจ้ข†ๅŸŸ็ป้ชŒ่ฟ็งป๏ผˆๅฆ‚้กน็›ฎ็ฎก็†ใ€ๆ—ถ้—ด็ฎก็†๏ผ‰ไปฅๅŠๅฏนไธๅŒ็ญ–็•ฅ๏ผˆๅฆ‚ๆŽงๅˆถ้ฅฎ้ฃŸใ€ๅŠ ๅคงๆ— ๆฐง่ฟๅŠจใ€ๅฐ่ฏ•ไธๅƒไธป้ฃŸ๏ผ‰็š„่พฉ่ฏ้‡‡็บณใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ไปฝๅ‡่‚ฅ่ฎฐๅฝ•๏ผŒๆ›ดๆ˜ฏไธ€ๆฌก็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ€็ปด้‡ๆž„็”Ÿๆดป็งฉๅบใ€ๅฎž็Žฐ่บซๅฟƒๅ‡็บง็š„ๅฎžๆ“ๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/growth/weight-loss\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/health_bg.png\",\"top\":true,\"tags\":[\"ๅฅๅบท\",\"่ฟๅŠจ\"],\"categories\":[\"ไธชไบบๆˆ้•ฟ\"]}}],\"lastCommitTime\":\"2026-04-21 14:29:07\"},\"catalogues\":{\"arr\":[],\"map\":{},\"inv\":{}},\"posts\":{\"allPosts\":[{\"url\":\"/01.ๅ…จๆ ˆ/00.overview\",\"relativePath\":\"/01.ๅ…จๆ ˆ/00.overview\",\"frontmatter\":{\"date\":\"2026-03-19 23:05:50\",\"title\":\"ๅ…จๆ™ฏไธ€่งˆ\",\"description\":\"ๆœฌ็ณปๅˆ—ๅ›ด็ป•็Žฐไปฃๅ…จๆ ˆๅผ€ๅ‘็š„่ƒฝๅŠ›ไฝ“็ณปๅฑ•ๅผ€๏ผŒไปŽ AI ๆ—ถไปฃ็š„ๅทฅ็จ‹ๆ€็ปดๅ‡บๅ‘๏ผŒ่ฆ†็›–ๅ‰็ซฏๅทฅ็จ‹๏ผˆReact/Vue/CSS๏ผ‰ใ€ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป๏ผˆTypeScript/JavaScript๏ผ‰ใ€ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่็ญ‰ๆ ธๅฟƒ้ข†ๅŸŸ๏ผŒๅธฎๅŠฉๆž„ๅปบไปŽ\\\"่ฎค็Ÿฅๅฑ‚ โ†’ ๆŠ€ๆœฏ้ข†ๅŸŸ โ†’ ๅทฅ็จ‹่ƒฝๅŠ› โ†’ ๅŸบ็ก€่ฎพๆ–ฝ\\\"็š„ๅฎŒๆ•ดๅ…จๆ ˆ็Ÿฅ่ฏ†ๅ›พ่ฐฑใ€‚\",\"categories\":[\"ๅ…จๆ ˆ\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"permalink\":\"/fullstack/overview\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ…จๆ™ฏไธ€่งˆ\",\"date\":\"2026-03-19 23:05:50\",\"capture\":\"<script setup\\nimport ArticleCardList from '@fragment/components/ArticleCardList.vue'\\nimport { fullStackCategories } from '@fragment/data/full-stack-data'\\n</script>\\n<ArticleCardList :categories=\\\"fullStackCategories\\\" />\"},{\"url\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"relativePath\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"frontmatter\":{\"date\":\"2025-10-24 11:05:50\",\"title\":\"ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจ AI ้‡ๅก‘่ฝฏไปถๅทฅ็จ‹็š„ไปŠๅคฉ๏ผŒๅ…จๆ ˆไธๅ†ๆ˜ฏๆŠ€ๆœฏ็š„็บฟๆ€งๅ ๅŠ ๏ผŒๆญฃๅœจไปŽโ€œๆŠ€ๆœฏๆ ˆๅ †็ Œโ€่ฝฌๅ‘โ€œ่ฎค็Ÿฅๆ ˆ้‡ๆž„โ€ใ€‚ๆœฌๆ–‡ๆๅ‡บ โ€œ(ๅทฅ็จ‹ + ไบงๅ“) ร— AIโ€ ็š„ๆ–ฐๅ…ฌๅผ๏ผŒๅŠฉๅŠ›ๅผ€ๅ‘่€…ๆž„ๅปบโ€œๆดžๅฏŸ-ๆžถๆž„-ๆ ๆ†โ€่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”๏ผŒๅˆฉ็”จ AI ๆ ๆ†่ฎฉ่‡ชๅทฑ่ฟ›ๅŒ–ไธบไปทๅ€ผๅˆ›้€ ่€…ใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"permalink\":\"/fullstack/ai-native\",\"sticky\":1,\"top\":true,\"tags\":[\"ๅ…จๆ ˆ\",\"AI\",\"ไบงๅ“\"],\"categories\":[\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"date\":\"2025-10-24 11:05:50\",\"capture\":\"<script setup>\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n 1. ๅผ•่จ€\\nๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒๅฝ“ๆˆ‘ไปฌ่ฐˆ่ฎบโ€œๅ…จๆ ˆๅทฅ็จ‹ๅธˆโ€ๆ—ถ๏ผŒ่„‘ๆตทไธญๆตฎ็Žฐ็š„ๅพ€ๅพ€ๆ˜ฏไธ€ๅผ ๅ†—้•ฟไธ”ไปคไบบ็–ฒๆƒซ็š„ๆŠ€ๆœฏๅทฅๅบๆธ…ๅ•ใ€‚\\nๅฐฑๅƒๆˆ‘ๆ›พ็ปไปฅไธบ็š„้‚ฃๆ ท๏ผŒๅ…จๆ ˆๅฐฑๆ˜ฏ็บฟๆ€ง็š„ๆŠ€่ƒฝๅ ๅŠ ไธŽ็‰ฉ็†ๅผ็š„ๆŠ€ๆœฏๆ‹ผๆŽฅ๏ผŒๆ˜ฏไธ€็งไพ้ ไบบๅŠ›ๅŽปๅกซ่กฅๆŠ€ๆœฏ้ธฟๆฒŸ็š„โ€œ่ฅฟ่ฅฟๅผ—ๆ–ฏๅผโ€ๅŠชๅŠ›๏ผš\\n* ็บฟๆ€ง็š„ๆŠ€่ƒฝๅ ๅŠ ๏ผšๆˆ‘ไปฌ่ขซ่ฟซๆˆไธบโ€œๅ…จ่ƒฝๆ‰‹โ€๏ผŒๅทฆๆ‰‹็”จ React/Vue ๆž„ๅปบ็ฒพ็พŽ็š„ UI๏ผŒๅณๆ‰‹็”จ Node/Go ็ผ–ๅ†™้ซ˜ๅนถๅ‘ API๏ผŒไธญ้—ด่ฟ˜่ฆๅค„็†ๆ•ฐๆฎๅบ“็š„ ACI\"},{\"url\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/02.้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/02.้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-03-02 11:05:50\",\"title\":\"้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ AI ๆž้€Ÿ้™ไฝŽไปฃ็ ็ผ–ๅ†™้—จๆง›๏ผŒๅ•็บฏ็š„โ€œไธšๅŠกไปฃ็ ็ฟป่ฏ‘ๅ™จโ€่ง’่‰ฒๆญฃๅŠ ้€Ÿ่ดฌๅ€ผใ€‚ๆœฌๆ–‡ไปŽๆŠ€ๆœฏๆผ”่ฟ›ไธŽไบงๅ“ๆ€่€ƒ็š„ไบคๆฑ‡็‚นๅ‡บๅ‘๏ผŒๅฐ† AI ๆ—ถไปฃ็š„ๅผ€ๅ‘่€…่ƒฝๅŠ›ๅ›พ่ฐฑ้‡ๆ–ฐๅˆ’ๅˆ†ไธบไธ‰ๅคงๆ ธๅฟƒๅœˆๅฑ‚๏ผšไบงๅ“ๅบ”็”จๅฑ‚๏ผˆInsight Stack๏ผ‰ใ€Agent ๅผ€ๅ‘ๅฑ‚ไธŽ AI ๅŸบ็ก€่ฎพๆ–ฝๅฑ‚ใ€‚ๆ— ่ฎบไฝ ๆ˜ฏๆทฑ่€•่ง†ๅ›พๅฑ‚ไบคไบ’ใ€็ฒพ้€š Node.js ็ญ‰ๆœๅŠก็ซฏๆžถๆž„็š„ๅผ€ๅ‘่€…๏ผŒ่ฟ˜ๆ˜ฏ่‡ดๅŠ›ไบŽๆŠ€ๆœฏ่ฝๅœฐ็š„ๆŽข็ดข่€…๏ผŒ้ƒฝ่ƒฝๅœจ่ฟ™ไปฝๆผ”่ฟ›ๆŒ‡ๅ—ไธญๆ‰พๅˆฐๆ‰“็ ด่ƒฝๅŠ›่พน็•Œใ€ๅ‘โ€œ่ถ…็บงไธชไฝ“โ€ไธŽโ€œAI ๆ™บ่ƒฝไฝ“ๆŒ‡ๆŒฅๅฎ˜โ€่ทƒ่ฟ็š„็ ดๅฑ€ไน‹้“ใ€‚\",\"permalink\":\"/fullstack/ai-engineer-capability\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"top\":true,\"tags\":[\"ๅ…จๆ ˆ\",\"AI\"],\"categories\":[\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"date\":\"2026-03-02 11:05:50\",\"capture\":\"<script setup>\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/ai_engineering_arc.png\\\" style=\\\"width: 100%; border-radius: 8px; margin-bottom: 20px;\\\" alt=\\\"about site back\"},{\"url\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/10.่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"relativePath\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/10.่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"frontmatter\":{\"date\":\"2025-12-06 22:05:50\",\"title\":\"่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"description\":\"่ฝฏไปถๅทฅ็จ‹ๆญฃ็ปๅކไปŽโ€œๆ‰‹ๅ†™้€ป่พ‘โ€ๅ‘โ€œๆ„ๅ›พ่ฐƒๅบฆโ€็š„่Œƒๅผ่ฟๅพ™ใ€‚Anthropic ็š„็ ”็ฉถๆญ็คบไบ† AI ๅนถ้ž็ฎ€ๅ•็š„ๆๆ•ˆๅทฅๅ…ท๏ผŒ่€Œๆ˜ฏ้€š่ฟ‡้‡Šๆ”พ 27% ๆ›พ็ปโ€œไธๅˆ’็ฎ—โ€็š„ๅทฅ็จ‹ไปปๅŠก๏ผŒ้‡ๅก‘ไบ†่ฝฏไปถ่ดจ้‡็š„ๅฏ†ๅบฆใ€‚ๅœจ่‡ช็„ถ่ฏญ่จ€ๅณ็ผ–็จ‹่ฏญ่จ€็š„ๆ—ถไปฃ๏ผŒๆˆ‘ไปฌ้œ€่ฆ้€š่ฟ‡่ง„ๆ ผ้ฉฑๅŠจ๏ผˆSDD๏ผ‰ไธŽๅคšๆ™บ่ƒฝไฝ“็ผ–ๆŽ’๏ผŒ็ ด่งฃโ€œ็›‘็ฃๆ‚–่ฎบโ€ๅธฆๆฅ็š„ๆŠ€่ƒฝๅนณๅบธๅŒ–ๅฑๆœบ๏ผŒๅฐ† AI ็š„ๆฆ‚็އๆ€ง็”Ÿๆˆ้ฉฏๅŒ–ไธบ็กฎๅฎšๆ€ง็š„ๅทฅ็จ‹ไบคไป˜ใ€‚ๅฝ“็ผ–็ ๆˆๆœฌ่ถ‹ไบŽ้›ถ๏ผŒๅทฅ็จ‹ๅธˆ็š„็ปˆๆžๅฃๅž’ๅฐ†ๆ˜ฏๅฎšไน‰ๅฎŒ็พŽ็š„ๅ“ๅ‘ณ๏ผŒไปฅๅŠๅœจ AI ่ฟท้›พไธญ่ฏ†็ ดๅนณๅบธ็š„ๆดžๅฏŸๅŠ›ใ€‚\",\"permalink\":\"/fullstack/ai-change-work-workflow/\",\"top\":true,\"tags\":[\"ๅ…จๆ ˆ\",\"AI\"],\"categories\":[\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"date\":\"2025-12-06 22:05:50\",\"capture\":\"<script setup>\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\nๅœฐๅ€๏ผšHow AI is transforming work at Anthropic\\nๆ ธๅฟƒๆ ‡็ญพ๏ผš`AI่พ…ๅŠฉ็ผ–็จ‹` `ๅทฅ็จ‹` `่Œƒๅผ่ฝฌ็งป` `ๅทฅไฝœ่ฝฌๅž‹` `็”ŸไบงๅŠ›ๆๅ‡` `ๆŠ€่ƒฝๅ‘ๅฑ•` `ไบบๆœบๅไฝœ` \\nไธ€ๅฅ่ฏไป‹็ป๏ผšAnthropic ไธไป…ไป…ๆ˜ฏ AI ๅทฅๅ…ท็š„็”Ÿไบง่€…๏ผŒๆ›ดๆ˜ฏ็ฌฌไธ€ไธช่ฟ›ๅ…ฅโ€œๆœชๆฅๅฎž้ชŒๅฎคโ€็š„ๆทฑๅบฆ่ง‚ๅฏŸ่€…ใ€‚ไป–ไปฌ้€š่ฟ‡ๅ†…้ƒจๆ•ฐๆœˆ็š„ๅฎž้ชŒๆ•ฐๆฎๅ‘Š่ฏ‰ๆˆ‘ไปฌ๏ผšๅคงๆจกๅž‹ๅฏน่ฝฏไปถๅทฅ็จ‹็š„ๆ”น้€ ๏ผŒ็ป้ž็ฎ€ๅ•็š„โ€œๆๆ•ˆโ€๏ผŒ่€Œๆ˜ฏไธ€\"},{\"url\":\"/01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ\",\"frontmatter\":{\"date\":\"2025-11-25 00:52:28\",\"title\":\"AI ็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡ๆทฑๅบฆ่งฃๆžไบ† AI ้ฉฑๅŠจ็ผ–็จ‹็š„ไธ‰ๅคงๆผ”่ฟ›่Œƒๅผ๏ผšVibe Coding๏ผˆ่‡ช็„ถ่ฏญ่จ€้›ถ้—จๆง›ๆž„ๅปบ๏ผ‰ใ€AI IDE๏ผˆ็ผ–่พ‘ๅ™จๆทฑๅบฆ่พ…ๅŠฉๆๆ•ˆ๏ผ‰ๅŠ Agentic Engineering๏ผˆ่‡ชไธปๅทฅ็จ‹ๅธˆๆ‰ง่กŒไปปๅŠก๏ผ‰ใ€‚้€š่ฟ‡ๆจชๅ‘ๅฏนๆฏ” Bolt.newใ€Cursorใ€Claude Code ็ญ‰ๅ‰ๆฒฟๅทฅๅ…ท๏ผŒๆ–‡็ซ ๅ‹พๅ‹’ๅ‡บไธ€ๆกไปŽโ€œๅฟซ้€ŸๅŽŸๅž‹โ€ๅˆฐโ€œ้ซ˜ๆ•ˆๅๅŒโ€ๅ†ๅˆฐโ€œ่‡ชไธปไบคไป˜โ€็š„่ฟ›้˜ถ่ทฏๅพ„ใ€‚ๆ ธๅฟƒๆ—จๅœจๆŒ‡ๅฏผ็”จๆˆทๅˆฉ็”จ AI ๅทฅๅ…ท็Ÿฉ้˜ตๆ‰“็ ดๆŠ€ๆœฏ่พน็•Œ๏ผŒๅฎž็ŽฐไปŽๅˆ›ๆ„ๆ่ฟฐๅˆฐๅทฅไธš็บงไบคไป˜็š„็”ŸไบงๅŠ›้ฃž่ทƒ๏ผŒ้‡ๅก‘่ฝฏไปถๅผ€ๅ‘ๅ…จ็”Ÿๅ‘ฝๅ‘จๆœŸใ€‚\",\"permalink\":\"/ai-learning/ai-coding-resources\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/source_sites_bg.png\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"AI Coding\",\"Vibe Coding\",\"Agentic Engineering\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"AI ็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่\",\"date\":\"2025-11-25 00:52:28\",\"capture\":\"1. ไธ‰็ง็ผ–็จ‹่Œƒๅผ้€Ÿ่งˆ\\n| ่Œƒๅผ | ไธ€ๅฅ่ฏๆ่ฟฐ | ไฝ ็š„่ง’่‰ฒ |\\n|:-----|:---------|:--------|\\n| Vibe Coding | ็”จ่‡ช็„ถ่ฏญ่จ€ๆ่ฟฐ้œ€ๆฑ‚๏ผŒAI ็›ดๆŽฅ็”Ÿๆˆๅฏ่ฟ่กŒ็š„ๅฎŒๆ•ด้กน็›ฎ | ๆ่ฟฐ้œ€ๆฑ‚๏ผŒ่ฎฉ AI ๅ†™ไปฃ็ (```ๆ–ฐๆ‰‹ๅ‹ๅฅฝ```) |\\n| AI IDE | ๅœจ็ผ–่พ‘ๅ™จ้‡Œๅผ•ๅ…ฅ AI ่พ…ๅŠฉ๏ผŒ่พนๅ†™่พน่กฅๅ…จใ€่พน้—ฎ่พนๆ”น | ไธปๅฏผๅผ€ๅ‘๏ผŒ่ฎฉ AI ๅšๅ‰ฏ้ฉพ้ฉถ(```ๆ›ดๅคšๆŽงๅˆถ```) |\\n| Agentic Engineering | AI ไฝœไธบ\\\"่‡ชไธปๅทฅ็จ‹ๅธˆ\\\"๏ผŒๆŽฅๆ”ถไปปๅŠกๅŽ่‡ชๅŠจ่ง„ๅˆ’ๅนถๆ‰ง่กŒๅ…จๅฅ—ไปฃ็ ๅทฅไฝœๆต | ๆไปปๅŠกใ€ๅฎก็ป“ๆžœ๏ผŒ่ฎฉ AI ๆ‰ง่กŒ(```ๆž่‡ดๆๆ•ˆ```) |\\nๆ–ฐๆ‰‹่ทฏ็บฟๅปบ่ฎฎ๏ผšๅ…ˆ\"},{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-02-10 23:33:19\",\"title\":\"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ๅฝ“ AI ๆ‰ฟๆŽฅไบ† 30% ็š„็ผ–็ ๆ‰ง่กŒๆ—ถ๏ผŒๅผ€ๅ‘่€…้œ€้€š่ฟ‡โ€œ่ง„ๆ ผ้ฉฑๅŠจ๏ผˆSDD๏ผ‰โ€้‡ๅคบ 70% ็š„่ฎพ่ฎกไธปๆƒ๏ผšไปŽ่‡ชๆฒป็ป„ไปถๅˆ’ๅˆ†ๅˆฐๅ•ๅ‘ๆ•ฐๆฎๆตๆ‹“ๆ‰‘็š„ๆทฑๅบฆๆŽจๆผ”ใ€‚\",\"description\":\"ๆœฌๆ–‡ๆŽข่ฎจๅœจ AI ๅขžๅผบๅผ€ๅ‘่ƒŒๆ™ฏไธ‹๏ผŒๅฆ‚ไฝ•้‡ๅก‘ React ็ป„ไปถ่ฎพ่ฎกๅŽŸๅˆ™ใ€‚ๆถต็›– SRP ่Œ่ดฃๅˆ’ๅˆ†ใ€้™ๆ€็‰ˆๆœฌๅŸบ็บฟใ€ๆœ€ๅฐ็Šถๆ€๏ผˆDerived Data๏ผ‰ๆŽจๅฏผไปฅๅŠ SDD ไบบๆœบๅไฝœๆจกๅผ็š„ๅทฅ็จ‹่ฝๅœฐใ€‚\",\"tags\":[\"tutorial\",\"react\",\"component-design\",\"state-management\",\"ai-augmented\",\"specification-driven\"],\"permalink\":\"/fullstack/react-design-philosophy-ai-augmented\",\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-02-10 23:33:19\",\"capture\":\"<script setup\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n 1. ๅผ•่จ€\\nๅœจ่ฝฏไปถๅทฅ็จ‹ไธญ๏ผŒ็บฆ 70% ็š„ๆ—ถ้—ดๅบ”ๆŠ•ๅ…ฅไบŽๆžถๆž„่ฎพ่ฎกใ€้œ€ๆฑ‚ๆ‹†่งฃไธŽๆŽฅๅฃ่ฏญไน‰ๆŽจๆ•ฒ๏ผŒไป… 30% ็”จไบŽๅฎž้™…็ผ–็ ใ€‚่ฟ›ๅ…ฅ AI ๅไฝœๆ—ถไปฃๅŽ๏ผŒ่ฟ™ไธ€ๆฏ”ไพ‹ไพ็„ถๅšๅฆ‚็ฃ็Ÿณโ€”โ€”ๅผ€ๅ‘่€…ๅฟ…้กปๅ…ˆๅฎŒๆˆๆทฑๅบฆๆ€่€ƒ๏ผŒๅฐ†โ€œๆธ…ๆ™ฐ็š„้—ฎ้ข˜่ง„ๆ ผ๏ผˆSpecification๏ผ‰โ€ไบค็ป™ AI๏ผŒAI ๆ‰่ƒฝ่พ“ๅ‡บ้ซ˜่ดจ้‡ไปฃ็ ใ€‚<HighLightText type=\\\"note\\\" bold>AI ๆๅ‡็š„ๆ˜ฏ 30% ็ผ–็ ้˜ถๆฎต็š„ๆ‰ง่กŒๅŠ›๏ผŒ่€Œ้žๅ–\"},{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/02.CSSๅทฅ็จ‹ๅŒ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/02.CSSๅทฅ็จ‹ๅŒ–\",\"frontmatter\":{\"date\":\"2026-03-10 22:05:50\",\"title\":\"ไปŽๅŽŸๅญๅŒ–ๅˆฐๅ˜ไฝ“้ฉฑๅŠจ๏ผš็Žฐไปฃ CSS ๅทฅ็จ‹ๅŒ–็š„ๆžถๆž„ๆผ”่ฟ›ไธŽๆททๅˆๅฎž่ทตๆŒ‡ๅ—\",\"description\":\"ๆœฌๆ–‡็ณป็ปŸๅ‰–ๆžไธปๆต CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆ็š„ๅบ•ๅฑ‚้€ป่พ‘๏ผŒๆๅ‡บโ€œๆ ทๅผ่ต„ไบง ROIโ€่ฏ„ไผฐๆจกๅž‹๏ผŒๅนถ้’ˆๅฏน Vue/React ็”Ÿๆ€็ป™ๅ‡บไบ†้ขๅ‘ AI ๆ—ถไปฃ็š„ไผไธš็บงๆททๅˆๆžถๆž„้€‰ๅž‹ๅปบ่ฎฎใ€‚\",\"permalink\":\"/full-stack/css-engineering\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"top\":true,\"categories\":[\"ๅ…จๆ ˆ\"],\"tags\":[\"ๅ…จๆ ˆ\",\"CSS\",\"ๅทฅ็จ‹ๅŒ–\",\"tailwindcss\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไปŽๅŽŸๅญๅŒ–ๅˆฐๅ˜ไฝ“้ฉฑๅŠจ๏ผš็Žฐไปฃ CSS ๅทฅ็จ‹ๅŒ–็š„ๆžถๆž„ๆผ”่ฟ›ไธŽๆททๅˆๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-03-10 22:05:50\",\"capture\":\"1. ๅผ•่จ€๏ผšไธปๆต CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆๆœ‰ๅ“ชไบ›๏ผŸ\\nๅœจ็Žฐไปฃๅ‰็ซฏๅผ€ๅ‘ไธญ๏ผŒ้š็€้กน็›ฎๅคๆ‚ๅบฆ็š„ๆ€ฅๅ‰งๆๅ‡๏ผŒๅŽŸ็”Ÿ CSS ๅธธๅธธ้ขไธดๅ…จๅฑ€ๆฑกๆŸ“ใ€ๅค็”จๅ›ฐ้šพใ€ๅฑ‚็บงๅตŒๅฅ—่ฟ‡ๆทฑไปฅๅŠ็ปดๆŠคๆˆๆœฌๆž้ซ˜็ญ‰้—ฎ้ข˜ใ€‚ไธบไบ†่งฃๅ†ณ่ฟ™ไบ›็—›็‚น๏ผŒ็คพๅŒบๅคšๅนดๆฅไธๆ–ญๆŽข็ดข๏ผŒๆฒ‰ๆท€ๅ‡บไบ†ๅคš็งไธปๆต็š„ CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆใ€‚\\n้™คๅŽŸ็”Ÿ CSS ไน‹ๅค–๏ผŒไธปๆตๆ–นๆกˆ่ฟ˜ๅŒ…ๆ‹ฌ้ข„ๅค„็†ๅ™จใ€CSS-in-JSใ€CSS Moduleใ€Scoped CSSใ€ๅŽŸๅญๅŒ– CSS ็ญ‰ใ€‚BEM ไฝœไธบไธ€็งๅŸบไบŽๅ‘ฝๅ็บฆๅฎšๆฅ่ง„้ฟๅ‘ฝๅๅ†ฒ็ช็š„ๆ—ฉๆœŸๆ–นๆกˆ๏ผŒๅœจ็Žฐไปฃๅ‰็ซฏๅทฅ็จ‹ไธญๅทฒๅŸบๆœฌไธๅ†ไฝฟ็”จ๏ผŒๅ› ๆญคๆœฌๆ–‡ไธๅ†ๅฏนๅ…ถๅฑ•ๅผ€่ฏฆ็ป†ๅˆ†ๆžใ€‚\\n> CSS ๅ‘ฝๅ่ง„่Œƒ๏ผˆBEM๏ผ‰๏ผš้€š่ฟ‡ไธฅๆ ผ็š„ๅ‘ฝๅ็บฆๅฎš๏ผˆๅฆ‚ Block__Element--Modif\"},{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2025-11-14 22:33:39\",\"title\":\"JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"aliases\":[\"้™ๆ€็ซ™็‚น็”Ÿๆˆๅ™จ\",\"SSG\"],\"tldr\":\"้ข„ๆธฒๆŸ“้™ๆ€้กต้ข + ๅŠจๆ€ API๏ผŒCDN ๅˆ†ๅ‘ๅ…จ็ƒ๏ผŒๆ›ฟไปฃไผ ็ปŸๅŠจๆ€็ฝ‘็ซ™็š„ๅผ€ๅ‘้ƒจ็ฝฒ่Œƒๅผ\",\"description\":\"ไปŽๆ ธๅฟƒๆฆ‚ๅฟตใ€ๅทฅๅ…ท้“พ้€‰ๅž‹๏ผˆNext.js/Vercel/Supabase/Contentful๏ผ‰ๅˆฐไปŽ 0 ๆญๅปบๅšๅฎข็š„ๅฎŒๆ•ดๅฎž่ทต๏ผŒ่ฆ†็›– JAMStack ้€‚็”จไธŽไธ้€‚็”จๅœบๆ™ฏ๏ผŒๅธฎๅŠฉๅˆคๆ–ญไฝ•ๆ—ถ้€‰็”จ่ฏฅๆžถๆž„ใ€‚\",\"permalink\":\"/fullstack/jamstack\",\"tags\":[\"tutorial\",\"jamstack\",\"frontend-architecture\",\"next.js\",\"static-site-generator\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2025-11-14 22:33:39\",\"capture\":\"> \\n> ๅ…ถๆ ธๅฟƒๆœบๅˆถๆ˜ฏๅœจๆž„ๅปบๆ—ถๅฐ†้กต้ข้ข„ๆธฒๆŸ“ไธบ้™ๆ€ HTML/CSS/JS๏ผŒ้ƒจ็ฝฒ่‡ณ CDN ไพ›็”จๆˆทๅฐฑ่ฟ‘ๅŠ ่ฝฝ๏ผŒไป…ๅœจ้œ€่ฆๅŠจๆ€ๆ•ฐๆฎๆ—ถ้€š่ฟ‡ JavaScript ่ฐƒ็”จ API ่Žทๅ–ใ€‚็›ธ่พƒไบŽไผ ็ปŸๅŠจๆ€็ฝ‘็ซ™๏ผŒJAMStack ๅœจๆ€ง่ƒฝใ€ๅฏ้ ๆ€งใ€ๆ‰ฉๅฑ•ๆ€งใ€ๅฎ‰ๅ…จๆ€งๅŠ่ฟ็ปดๆˆๆœฌไธŠๅ…ทๆœ‰ๆ˜พ่‘—ไผ˜ๅŠฟใ€‚\\n> \\n> ๆœฌๆ–‡ๆขณ็†ไบ†ไธปๆตๆž„ๅปบๅทฅๅ…ท๏ผˆGatsbyใ€Next.jsใ€Nuxt.jsใ€11ty๏ผ‰ใ€้™ๆ€ๆ‰˜็ฎกๅนณๅฐ๏ผˆVercelใ€Netlifyใ€Cloudflare Pages๏ผ‰ใ€API/BaaS ๆœๅŠก๏ผˆSupabaseใ€Firebaseใ€Auth0๏ผ‰ๅŠๆ— ๅคด CMS๏ผˆContentfulใ€Sanityใ€Strapi\"},{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/11.React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/11.React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"frontmatter\":{\"date\":\"2025-11-15 09:20:23\",\"title\":\"ไธๆญขไบŽ Fetch๏ผšReact ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"aliases\":[\"SWR\",\"TanStack Query\",\"React\",\"ๆœๅŠก็ซฏ็Šถๆ€\",\"ไน่ง‚ๆ›ดๆ–ฐ\",\"ๅทฅ็จ‹ๅŒ–\"],\"tldr\":\"ๆทฑๅ…ฅ่งฃๆž SWR ็š„ๆž็ฎ€ๅ่ฎฎไธŽ TanStack Query ็š„็ฒพๅฏ†็Šถๆ€ๆœบใ€‚้€š่ฟ‡ๅฏนๆฏ”็ผ“ๅญ˜ๅคฑๆ•ˆใ€ไน่ง‚ๆ›ดๆ–ฐ็ญ‰ๆ ธๅฟƒๅœบๆ™ฏ๏ผŒไธบ้ซ˜ๅคๆ‚ๅบฆ B ็ซฏๅบ”็”จไธŽ่ฝป้‡็บง้กน็›ฎๆไพ›ๆธ…ๆ™ฐ็š„ๆžถๆž„้€‰ๅž‹ๆจกๅž‹ใ€‚\",\"description\":\"ๆทฑๅบฆๅฏนๆฏ” React ็”Ÿๆ€ไธญ SWR ไธŽ TanStack Query ไธคๅคงๆ–นๆกˆใ€‚ไปŽ stale-while-revalidate ๆœบๅˆถๅˆฐๅผ‚ๆญฅ็Šถๆ€ๆœบๆžถๆž„๏ผŒๆถต็›–ไพ่ต–ๆŸฅ่ฏขใ€ๆ•ฐๆฎ่ฝฌๆขๅŠๆžถๆž„็บงไน่ง‚ๆ›ดๆ–ฐๅฎžๆˆ˜ใ€‚ๆ—จๅœจๅธฎๅŠฉๅผ€ๅ‘่€…ๅœจๅคๆ‚ไธšๅŠกไธญๆž„ๅปบ็กฎๅฎšๆ€ง็š„ๆœๅŠก็ซฏ็Šถๆ€ๅŸบๅบงใ€‚\",\"permalink\":\"/fullstack/server-state-management\",\"tags\":[\"SWR\",\"TanStack Query\",\"ๅ‰็ซฏๅทฅ็จ‹\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไธๆญขไบŽ Fetch๏ผšReact ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"date\":\"2025-11-15 09:20:23\",\"capture\":\"1. ๅผ•่จ€\\nๅœจ็Žฐไปฃๅ‰็ซฏๅทฅ็จ‹ไธญ๏ผŒ็Šถๆ€ๅฏไธฅๆ ผๅŒบๅˆ†ไธบ UI ็Šถๆ€๏ผˆUI State๏ผ‰ ไธŽ ๆœๅŠก็ซฏ็Šถๆ€๏ผˆServer State๏ผ‰ ไธค็ฑปใ€‚ๅฏนไบŽ UI ็Šถๆ€็š„็ฎก็†๏ผŒๅผ€ๅ‘่€…ๅทฒ่พƒไธบ็†Ÿๆ‚‰๏ผŒ้€šๅธธๅฏๅ€ŸๅŠฉ `useState`ใ€`useEffect` ็ญ‰ Hooks๏ผŒๆˆ– `zustand`ใ€`jotai` ็ญ‰็Šถๆ€็ฎก็†ๅบ“ๆฅๅฎž็Žฐใ€‚็„ถ่€Œ๏ผŒๆœๅŠก็ซฏ็Šถๆ€็š„็ฎก็†ๅพ€ๅพ€็ผบไน็ปŸไธ€ไธ”้ซ˜ๆ•ˆ็š„่งฃๅ†ณๆ–นๆกˆ๏ผŒๅผ€ๅ‘่€…้€šๅธธ้œ€่ฆ่‡ช่กŒๅฎž็Žฐใ€‚\\nๅœจไผ ็ปŸ็š„ๆ•ฐๆฎ่Žทๅ–ๆต็จ‹ไธญ๏ผŒๆˆ‘ไปฌไธ€่ˆฌไฝฟ็”จ `fetch` ๆˆ– `axios` ๅ‘ๅŽ็ซฏๆˆ– REST API ๅ‘้€ HTTP ่ฏทๆฑ‚๏ผŒ้šๅŽๆ‰‹ๅŠจๅฐ†ๆ•ฐๆฎ่Žทๅ–้€ป่พ‘ไธŽๅ‰็ซฏไธšๅŠก้€ป่พ‘ๅŠ UI ็Šถๆ€็ฎก็†่ฟ›่กŒๆ•ดๅˆ๏ผŒไปฅๅฎŒๆˆๆ•ฐๆฎๅค„็†ๅนถ้ฉฑๅŠจ็•Œ้ขๆ›ดๆ–ฐ\"},{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-02-24 08:40:31\",\"title\":\"Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"tldr\":\"ๆทฑๅ…ฅๅˆ†ๆžไบ”็ง Web ้€šไฟกๅ่ฎฎ๏ผŒๆไพ› AI ๆ—ถไปฃ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—ไธŽๆœ€ไฝณๅฎž่ทตใ€‚\",\"description\":\"ๆทฑๅ…ฅๅ‰–ๆžไผ ็ปŸ HTTPใ€ๆตๅผ HTTPใ€SSEใ€WebSocketใ€Webhooksใ€HTTP ่ฝฎ่ฏข็š„ๅŽŸ็†ไธŽ็‰นๆ€ง๏ผŒ็ป“ๅˆ AI ๅœบๆ™ฏๆไพ›ๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–็Ÿฉ้˜ตใ€‚\",\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"tags\":[\"HTTP\",\"HTTP ่ฝฎ่ฏข\",\"SSE\",\"WebSocket\",\"Webhooks\"],\"permalink\":\"/fullstack/networking-protocol-selection-guide\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"date\":\"2026-02-24 08:40:31\",\"capture\":\"1. ๅผ•่จ€\\nHTTP ๆ˜ฏไธ€็งๅŸบไบŽๆ–‡ๆœฌ็š„้€šไฟกๅ่ฎฎ๏ผŒไธป่ฆ็”จไบŽ Web ๆต่งˆๅ™จใ€็งปๅŠจๅบ”็”จใ€ๆกŒ้ขๅบ”็”จ็ญ‰ๅฎขๆˆท็ซฏๅ’Œ Web ๆœๅŠกๅ™จไน‹้—ด็š„ๆ•ฐๆฎไผ ่พ“ใ€‚ไผ ็ปŸ HTTP ้‡‡็”จๅŒๆญฅ็š„่ฏทๆฑ‚-ๅ“ๅบ”ๆจกๅผ๏ผš`่ฏทๆฑ‚ -> ็ญ‰ๅพ… -> ๅฎŒๆ•ดๅ“ๅบ”`ใ€‚่ฟ™็งๆ–นๅผ่™ฝ่ƒฝๆปก่ถณๅคงๅคšๆ•ฐๅœบๆ™ฏ๏ผŒไฝ†ๅœจๅฎžๆ—ถๆ€ง่ฆๆฑ‚่พƒ้ซ˜็š„้ข†ๅŸŸโ€”โ€”ๅฆ‚ๆธธๆˆใ€่Šๅคฉใ€่ง†้ข‘ไผš่ฎฎ๏ผŒไปฅๅŠ AI ๆ—ถไปฃ็š„ๅฏน่ฏๅผๅบ”็”จโ€”โ€”ๅดๆ˜พๅพ—ๅŠ›ไธไปŽๅฟƒใ€‚\\nไธบ่งฃๅ†ณ่ฟ™ไธ€้—ฎ้ข˜๏ผŒไธš็•Œๅ‘ๅฑ•ๅ‡บไบ†ๅคš็งๅฎžๆ—ถ Web ้€šไฟกๆ–นๆกˆใ€‚ๆœฌๆ–‡ๅฐ†ๅ›ด็ป• ๆตๅผ HTTPใ€SSEใ€WebSocketใ€Webhooksใ€HTTP ่ฝฎ่ฏข ่ฟ™ไบ”็งไธปๆตๆŠ€ๆœฏ๏ผŒไปŽๅŽŸ็†ใ€็‰นๆ€งใ€้€‚็”จๅœบๆ™ฏๅ‡บๅ‘๏ผŒๆŽข่ฎจๅฎƒไปฌๅœจ็Žฐไปฃๅˆ†ๅธƒๅผๆžถๆž„ไธญ็š„้€‰ๅž‹็ญ–็•ฅไธŽๅทฅ็จ‹ๅฎž่ทตใ€‚\\n 2\"},{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"frontmatter\":{\"date\":\"2026-03-05 16:54:35\",\"title\":\"ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"aliases\":[\"Server-Sent Events\",\"HTTP Streaming\"],\"tldr\":\"ๆทฑๅ…ฅ่งฃๆžๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผŒๆไพ›ไปŽๆฆ‚ๅฟตๅˆฐ็”Ÿไบงๅฎž่ทต็š„ๅฎŒๆ•ด่งฃๅ†ณๆ–นๆกˆใ€‚\",\"description\":\"่พจๆžๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ็š„ๆฆ‚ๅฟตไธŽๅฑ‚ๆฌกๅ…ณ็ณป๏ผŒ่ฏฆ่งฃๅฎขๆˆท็ซฏไธŽๆœๅŠก็ซฏๅฎž็Žฐๆ–นๆกˆ๏ผŒๆไพ›็”Ÿไบงๅฎž่ทตๅฎŒๆ•ดๆŒ‡ๅ—ใ€‚\",\"tags\":[\"tutorial\",\"SSE\",\"HTTP Streaming\",\"ๅ…จๆ ˆ\"],\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"permalink\":\"/fullstack/networking/sse-practice\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"date\":\"2026-03-05 16:54:35\",\"capture\":\"<script setup\\n import HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n> ๆ‘˜่ฆๆ€ป็ป“: ้’ˆๅฏนๅผ€ๅ‘่€…ๅฎนๆ˜“ๆททๆท†ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ็š„้—ฎ้ข˜๏ผŒไปŽๆฆ‚ๅฟตๅฑ‚ๆฌกๅ‡บๅ‘ๅŽ˜ๆธ…ไบŒ่€…ๆœฌ่ดจๅŒบๅˆซไธŽๅไฝœๅ…ณ็ณป๏ผŒๆŒ‡ๅ‡บๆตๅผ HTTP ๆ˜ฏๅบ•ๅฑ‚ไผ ่พ“ๆœบๅˆถ่€Œ SSE ๆ˜ฏๅบ”็”จๅฑ‚ๆ•ฐๆฎๆ ผๅผ็บฆๅฎšใ€‚ๆ–‡็ซ ไพๆฌกไป‹็ปๅŽŸ็”Ÿ EventSource APIใ€fetch + ReadableStream ่ฟ›้˜ถๆ–นๆกˆใ€@microsoft/fetch-event-source ๅทฅไธš็บงๅฎž็Žฐ็ญ‰ไธ‰็งๅฎขๆˆท็ซฏๆ–นๆกˆ๏ผŒๅนถไปฅ Nes\"},{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"frontmatter\":{\"date\":\"2026-02-25 22:10:48\",\"title\":\"HTTP ่ฝฎ่ฏขไผ˜ๅŒ–ๆŒ‡ๅ—๏ผš้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"tldr\":\"่ฏฆ่งฃ้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅฎž็ŽฐๅŽŸ็†๏ผŒๆไพ› HTTP ่ฝฎ่ฏขไผ˜ๅŒ–็ญ–็•ฅไธŽ้€‰ๅž‹ๅ†ณ็ญ–ๆ ‘ใ€‚\",\"description\":\"ๆทฑๅ…ฅๅ‰–ๆž้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๆ ธๅฟƒๆœบๅˆถ๏ผŒๆไพ› TypeScript/NestJS ๅฎžๆˆ˜ไปฃ็ ๏ผŒๅนถๆž„ๅปบๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–ๆ ‘ไธŽ้€‚็”จๅœบๆ™ฏ้€ŸๆŸฅใ€‚\",\"tags\":[\"HTTP ่ฝฎ่ฏข\",\"้€€้ฟ่ฝฎ่ฏข\",\"้•ฟ่ฝฎ่ฏข\"],\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"permalink\":\"/fullstack/networking-polling-optimization\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"HTTP ่ฝฎ่ฏขไผ˜ๅŒ–ๆŒ‡ๅ—๏ผš้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"date\":\"2026-02-25 22:10:48\",\"capture\":\"1. ๅผ•่จ€\\nๅœจ็Žฐไปฃ Web ๅผ€ๅ‘ไธญ๏ผŒWebSocket ๅ’Œ Server-Sent Events (SSE) ๅธธๅธธ่ขซ่ง†ไธบๅฎžๆ—ถ้€šไฟก็š„้“ถๅผนใ€‚็„ถ่€Œ๏ผŒHTTP ่ฝฎ่ฏข๏ผˆPolling๏ผ‰ไฝœไธบๆœ€ๆœด็ด ็š„ๅฎžๆ—ถ้€šไฟกๆ–นๆกˆ๏ผŒ้žไฝ†ๆฒกๆœ‰้€€ๅ‡บๅކๅฒ่ˆžๅฐ๏ผŒๅ่€Œๅœจ็‰นๅฎš็š„ๅคๆ‚ไธšๅŠกๅœบๆ™ฏไธญๅคงๆ”พๅผ‚ๅฝฉใ€‚\\n> ๐Ÿ“– ๅฆ‚ๆžœไฝ ๅฏน HTTP ่ฝฎ่ฏขๅœจๆ•ดไธช Web ้€šไฟกๅ่ฎฎไฝ“็ณปไธญ็š„ๅฎšไฝๅฐšไธๆธ…ๆ™ฐ๏ผŒๆŽจ่ๅ…ˆ้˜…่ฏป Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—๏ผŒไบ†่งฃ่ฝฎ่ฏขไธŽ็Ÿญ่ฟžๆŽฅใ€้•ฟ่ฟžๆŽฅใ€WebSocketใ€SSE ็ญ‰ๆ–นๆกˆ็š„ๆผ”่ฟ›ๅ…ณ็ณปไธŽ้€‚็”จ่พน็•Œ๏ผŒๅ†็ป“ๅˆๆœฌๆ–‡ๆทฑๅ…ฅๅฎž่ทตใ€‚\\nๅœจๅฝ“ๅ‰ไผ—ๅคš้กถ็บง็š„ AI AIGC ๅบ”็”จ๏ผˆๅฆ‚ Midjourne\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2024-03-20 22:41:41\",\"title\":\"ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ๅœจ้œ€ๆฑ‚่พน็•Œๅ†…่ฟฝๆฑ‚ๆœ€ๅฐๅคๆ‚ๅบฆโ€”โ€”ไธๆ˜ฏๆ‹’็ปๅคๆ‚๏ผŒ่€Œๆ˜ฏไธไธปๅŠจๅˆถ้€ ๅคๆ‚ใ€‚\",\"description\":\"ๆทฑๅ…ฅ่งฃๆžๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™ๅœจ็ผ–็จ‹ไธŽ่ฎพ่ฎกไธญ็š„ๅ…ญๅคงๅœบๆ™ฏ๏ผšๆ‹’็ป่ฟ‡ๅบฆ้ข„ๅˆคใ€็งป้™คๅ†—ไฝ™้€ป่พ‘ใ€ๅŒน้…ๆžถๆž„่ง„ๆจกใ€ๅ…‹ๅˆถไพ่ต–ๅผ•ๅ…ฅใ€ๅฐ่ฃ…ๆœ€ๅฐๆŽฅๅฃใ€ๅ…ˆๆŽ’ๆŸฅ็ฎ€ๅ•ๅŽŸๅ› ๏ผŒๅนถ็ป™ๅ‡บไธ‰ไธชๅ…ณ้”ฎ่พน็•Œใ€‚\",\"permalink\":\"/fullstack/occams-razor-software-design\",\"tags\":[\"concept\",\"engineering-fundamentals\",\"code-design\",\"software-engineering\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2024-03-20 22:41:41\",\"capture\":\"<script setup\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n> ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™็”ฑ 14 ไธ–็บช้€ป่พ‘ๅญฆๅฎถๅจๅป‰ยทๅฅฅๅกๅง†ๆๅ‡บ๏ผŒๅ…ถๆ ธๅฟƒไธบ\\\"ๅฆ‚ๆ— ๅฟ…่ฆ๏ผŒๅ‹ฟๅขžๅฎžไฝ“\\\"โ€”โ€”ๅœจๅคšไธชๅŒ็ญ‰ๆœ‰ๆ•ˆ็š„ๆ–นๆกˆไธญ๏ผŒ้€‰ๆ‹ฉๅ‡่ฎพๆœ€ๅฐ‘ใ€ๆœ€็ฎ€ๆด็š„้‚ฃไธชใ€‚่ฏฅๅŽŸๅˆ™ๅนถ้žๅฆๅฎšๅคๆ‚ๆ€ง๏ผŒ่€Œๆ˜ฏ้ฟๅ…ๆ— ๆ„ไน‰็š„่ฟ‡ๅบฆ่ฎพ่ฎกใ€‚ๆ–‡็ซ ไปŽ็ผ–็จ‹ไธŽ่ฎพ่ฎกๅฎž่ทตๅ‡บๅ‘๏ผŒไพๆฌกๆŽข่ฎจไบ†้œ€ๆฑ‚ๅฎž็Žฐใ€ไปฃ็ ๅฎž็Žฐใ€ๆžถๆž„่ฎพ่ฎกใ€ไพ่ต–็ฎก็†ใ€ๆŽฅๅฃ่ฎพ่ฎกใ€่ฐƒ่ฏ•ไผ˜ๅŒ–ๅ…ญๅคงๅœบๆ™ฏ็š„ๅไพ‹ไธŽๆญฃไพ‹๏ผŒๅนถๆ˜Ž็กฎๆŒ‡ๅ‡บไธ‰ไธชๅ…ณ้”ฎ่พน็•Œ๏ผšไธๅฏ็‰บ็‰ฒๅฏ็ปดๆŠคๆ€งใ€ๅฏๆ‰ฉๅฑ•ๆ€งใ€ๅฎ‰ๅ…จๆ€งๆขๅ–็ฎ€ๆดใ€‚\\n 1.\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2025-08-12 22:47:47\",\"title\":\"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—\",\"tldr\":\"TypeScript ๅฎŒๅ–„็š„็ผ–่ฏ‘ไฝ“็ณปไธŽ่ฐƒ่ฏ•ๅทฅๅ…ท้“พ๏ผŒๆ˜ฏๆž„ๅปบ้ซ˜่ดจ้‡ๅบ”็”จ็š„ๅŸบ็Ÿณใ€‚\",\"description\":\"ๆทฑๅ…ฅ่งฃๆž TypeScript ็ผ–่ฏ‘ๅทฅๅ…ท้“พไธŽ่ฐƒ่ฏ•ไฝ“็ณป๏ผŒๆถต็›– tsconfig.json ๆ ธๅฟƒ้…็ฝฎใ€Monorepo ้กน็›ฎ้…็ฝฎ๏ผˆextends/references๏ผ‰ใ€source map ่ฐƒ่ฏ•ใ€ESLint ไธŽ Jest ๅ•ๅ…ƒๆต‹่ฏ•็ญ‰ๅฎŒๆ•ดๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/typescript-compilation-debugging-guide\",\"tags\":[\"tutorial\",\"typescript\",\"compilation\",\"tooling\",\"eslint\",\"jest\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—\",\"date\":\"2025-08-12 22:47:47\",\"capture\":\"็ผ–ๅ†™ไปฃ็ ๅชๆ˜ฏๅผ€ๅ‘ๅทฅไฝœ็š„่ตท็‚น๏ผŒ็œŸๆญฃๅ†ณๅฎš้กน็›ฎ่ดจ้‡็š„ๆ˜ฏๅŽ็ปญ็š„็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•็Žฏ่Š‚ใ€‚TypeScript ไฝœไธบ JavaScript ็š„้™ๆ€็ฑปๅž‹่ถ…้›†๏ผŒไธไป…ๅธฆๆฅไบ†็ฑปๅž‹ๅฎ‰ๅ…จ๏ผŒๆ›ดๆไพ›ไบ†ๅผบๅคง็š„็ผ–่ฏ‘ๅทฅๅ…ทๅ’Œ่ฐƒ่ฏ•่ƒฝๅŠ›๏ผŒ่ฎฉๆˆ‘ไปฌ่ƒฝๅคŸๆ›ด้ซ˜ๆ•ˆๅœฐๆž„ๅปบๅ’Œ็ปดๆŠคๅฏ้ ็š„ๅบ”็”จ็จ‹ๅบใ€‚\\nๆœฌๆ–‡ๅฐ†ๅฏน TypeScript ้กน็›ฎ็š„็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•่ฟ›่กŒๆขณ็†๏ผŒๅŒ…ๆ‹ฌ็ผ–่ฏ‘ๅทฅๅ…ท TSC ็š„ไฝฟ็”จใ€็ผ–่ฏ‘้€‰้กน็š„้…็ฝฎใ€่ฐƒ่ฏ•ๅทฅๅ…ท็š„ไฝฟ็”จ็ญ‰ใ€‚\\n 1. TypeScript ็ผ–่ฏ‘้…็ฝฎไธŽ tsconfig.json\\nTSC๏ผˆTypeScript Compiler๏ผ‰ๆ˜ฏ TypeScript ๅฎ˜ๆ–นๆไพ›็š„็ผ–่ฏ‘ๅทฅๅ…ท๏ผŒ่ดŸ่ดฃๅฐ† TypeScript ไปฃ็ ๏ผˆ`.ts` ๆˆ– `.tsx`๏ผ‰่ฝฌๆขไธบ J\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹\",\"frontmatter\":{\"date\":\"2025-08-20 22:51:27\",\"title\":\"่Šไธ€่Š TypeScript ไธญ็š„ๆณ›ๅž‹\",\"tldr\":\"ๆณ›ๅž‹ๅฐ†็ฑปๅž‹ไฝœไธบๅ‚ๆ•ฐ๏ผŒไฝฟไปฃ็ ๅœจๅคš็ง็ฑปๅž‹ไธŠๅฎ‰ๅ…จ่ฟ่กŒ๏ผŒๆ˜ฏ TypeScript ็ฑปๅž‹ๆŠฝ่ฑก็š„ๆ ธๅฟƒ็‰นๆ€งใ€‚\",\"description\":\"ๆœฌๆ–‡็ณป็ปŸ่งฃๆž TypeScript ๆณ›ๅž‹็š„ๆ ธๅฟƒๆฆ‚ๅฟตไธŽๅทฅไฝœๆœบๅˆถ๏ผŒๅฏนๆฏ”ๆณ›ๅž‹ไธŽ any ็ฑปๅž‹็š„ๅทฎๅผ‚๏ผŒๆถต็›–ๆณ›ๅž‹ๅ‡ฝๆ•ฐใ€ๆŽฅๅฃใ€็ฑปใ€็ฑปๅž‹ๅˆซๅ็š„ๅฎž่ทต็”จๆณ•๏ผŒไปฅๅŠๅŸบๆœฌ็ฑปๅž‹็บฆๆŸใ€ๆŽฅๅฃ็บฆๆŸใ€ๅคš้‡็บฆๆŸใ€keyof ็บฆๆŸ็ญ‰้ซ˜้˜ถๆŠ€ๅทงไธŽๆœ€ไฝณๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/typescript-generic-types\",\"tags\":[\"tutorial\",\"typescript\",\"generics\",\"type-system\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่Šไธ€่Š TypeScript ไธญ็š„ๆณ›ๅž‹\",\"date\":\"2025-08-20 22:51:27\",\"capture\":\"1. ๆณ›ๅž‹็š„ๅŸบๆœฌๆฆ‚ๅฟตๅ’Œไฝœ็”จ\\n 1.1 ๆ ธๅฟƒๅฎšไน‰\\nๆณ›ๅž‹๏ผˆGenerics๏ผ‰ ๆ˜ฏ TypeScript ไธญไธ€็งๅผบๅคง็š„็ฑปๅž‹็ณป็ปŸ็‰นๆ€ง๏ผŒๅ…่ฎธๅฎšไน‰็ฑปๅž‹ๅ‚ๆ•ฐๅŒ–็š„็ป„ไปถ๏ผŒไฝฟไปฃ็ ่ƒฝๅคŸๅœจๅคš็ง็ฑปๅž‹ไธŠๅฎ‰ๅ…จ่ฟ่กŒ๏ผŒๅŒๆ—ถไฟๆŒ็ฑปๅž‹ๆฃ€ๆŸฅใ€‚ๆณ›ๅž‹็š„ๆ ธๅฟƒๆ€ๆƒณๆ˜ฏๅฐ†็ฑปๅž‹ไฝœไธบๅ‚ๆ•ฐไผ ้€’็ป™ๅ‡ฝๆ•ฐใ€ๆŽฅๅฃๆˆ–็ฑป๏ผŒๅฎž็Žฐ\\\"็ผ–ๅ†™ไธ€ๆฌก๏ผŒๅค็”จๅคšๆฌก\\\"็š„ๆ•ˆๆžœใ€‚\\n 1.2 ๆณ›ๅž‹ไธŽ any ็ฑปๅž‹็š„ๅฏนๆฏ”\\n| ็‰นๆ€ง | ๆณ›ๅž‹ | any ็ฑปๅž‹ |\\n|------|------|----------|\\n| ็ฑปๅž‹ๅฎ‰ๅ…จ | โœ… ็ผ–่ฏ‘ๆ—ถ่ฟ›่กŒ็ฑปๅž‹ๆฃ€ๆŸฅ | โŒ ๅฎŒๅ…จๅคฑๅŽป็ฑปๅž‹ๆฃ€ๆŸฅ |\\n| ไปฃ็ ๅค็”จ | โœ… ๆ”ฏๆŒๅคš็ง็ฑปๅž‹ๅค็”จ | โœ… ๆ”ฏๆŒๅคš็ง็ฑปๅž‹๏ผŒไฝ†ๅคฑๅŽป็ฑปๅž‹ไฟกๆฏ |\\n| ็ฑปๅž‹ๆŽจๆ–ญ | โœ… \"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview\",\"frontmatter\":{\"date\":\"2024-05-18 22:49:57\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ไปŽ ES Modules ๅˆฐๅคงๅž‹้กน็›ฎๅˆ†ๅฑ‚ๆžถๆž„ไธŽๅทฅ็จ‹ๅŒ–ๅฎž่ทต๏ผŒๆž„ๅปบๅ…จๆ ˆๆจกๅ—ๅŒ–็Ÿฅ่ฏ†ไฝ“็ณปใ€‚\",\"description\":\"็ณป็ปŸๆขณ็† JavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›๏ผˆIIFEโ†’CJSโ†’ESM๏ผ‰ใ€TypeScript ็ฑปๅž‹ๅขžๅผบใ€ๅˆ†ๅฑ‚ๆžถๆž„ไธŽ DDD ๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/module-programming-practice-guide\",\"tags\":[\"tutorial\",\"ESM\",\"DDD\",\"ๅพฎๅ‰็ซฏ\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2024-05-18 22:49:57\",\"capture\":\"1. ๅผ•่จ€\\nๆจกๅ—ๅŒ–็ผ–็จ‹ๆ˜ฏ็Žฐไปฃ JavaScript/TypeScript ๅผ€ๅ‘็š„ๆ ธๅฟƒๅŽŸๅˆ™๏ผŒๅฎƒ้€š่ฟ‡ๅฐ†ๅคๆ‚็ณป็ปŸๆ‹†ๅˆ†ไธบ็‹ฌ็ซ‹ๅฏๅค็”จ็š„ๆจกๅ—๏ผŒ้™ไฝŽ็ณป็ปŸๅคๆ‚ๆ€งๅนถๆ้ซ˜ๅฏ็ปดๆŠคๆ€งไธŽๅฏๅค็”จๆ€งใ€‚ๅ› ๆญค๏ผŒๆˆ‘ไปฌ้€š่ฟ‡็ณปๅˆ—ๆ–‡็ซ ่ฏฆ็ป†ไป‹็ปไบ†ๆจกๅ—ๅŒ–็š„ๅŸบ็ก€ๆฆ‚ๅฟตใ€ๆผ”่ฟ›ๅކ็จ‹ใ€ไธๅŒ่ง„่Œƒ็š„ๆทฑๅบฆ่งฃๆžใ€TypeScriptๆจกๅ—ๅŒ–ๅขžๅผบใ€ES Modules ๆ ธๅฟƒ่ฏญๆณ•ไธŽๅฎž่ทตใ€ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทตใ€ๅ‰็ซฏๅทฅ็จ‹ๅŒ–ไธญ็š„ๆจกๅ—ๅŒ–ใ€Node.jsไธญ็š„ๆจกๅ—ๅŒ–ๅฎž่ทตใ€ๅคงๅž‹้กน็›ฎไธญ็š„ๆจกๅ—ๅŒ–่ฎพ่ฎกใ€ๆจกๅ—ๅŒ–ไธŽไปฃ็ ็ปดๆŠคไปฅๅŠๆœชๆฅๅ‘ๅฑ•่ถ‹ๅŠฟใ€‚\\nๅ‰้ข็š„็ณปๅˆ—ๆ–‡็ซ ไธป่ฆๆœ‰๏ผš\\n- ๆจกๅ—ๅŒ–็ผ–็จ‹็ผ–็จ‹ๅˆไฝ“้ชŒไธŽๅŸบ็ก€ไป‹็ป\\n- JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\\n- ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒ\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€\",\"frontmatter\":{\"date\":\"2024-05-12 22:43:28\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ๏ผšๆฆ‚ๅฟตใ€ๆผ”่ฟ›ไธŽ่ฎพ่ฎกๆจกๅผ\",\"tldr\":\"ไปŽๅ…จๅฑ€ๅ˜้‡ๅˆฐ ES Modules๏ผšJavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›ไธŽๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผๅฎž่ทตใ€‚\",\"description\":\"็ณป็ปŸ่ฎฒ่งฃ JavaScript ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€๏ผŒๆถต็›– IIFEใ€CommonJSใ€ES Modules ่ง„่Œƒๆผ”่ฟ›๏ผŒไปฅๅŠๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผไธŽๆจกๅ—ๅŒ–็š„็ป“ๅˆใ€‚\",\"permalink\":\"/fullstack/frontend-module-programming-basic\",\"tags\":[\"tutorial\",\"javascript\",\"modularization\",\"esm\",\"design-patterns\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ๏ผšๆฆ‚ๅฟตใ€ๆผ”่ฟ›ไธŽ่ฎพ่ฎกๆจกๅผ\",\"date\":\"2024-05-12 22:43:28\",\"capture\":\"1. ๅผ•่จ€\\n้š็€้กน็›ฎ่ง„ๆจกๆ—ฅ็›Š่†จ่ƒ€๏ผŒไปฃ็ ้‡ไปŽๅ‡ ๅƒ่กŒ่ฟ…้€Ÿๅขž้•ฟๅˆฐๆ•ฐไธ‡็”š่‡ณๆ•ฐๅไธ‡่กŒ๏ผŒๅฐ†ๆ‰€ๆœ‰้€ป่พ‘ๅกž่ฟ›ๅฐ‘ๆ•ฐๅ‡ ไธชๆ–‡ไปถ็š„ๅšๆณ•ๆ—ฉๅทฒ้šพไปฅไธบ็ปงใ€‚ๅœจ่ฟ™ๆ ท็š„่ƒŒๆ™ฏไธ‹๏ผŒๆจกๅ—ๅŒ–็ผ–็จ‹ๅบ”่ฟ่€Œ็”Ÿ๏ผŒๆˆไธบ็Žฐไปฃๅ‰็ซฏๅผ€ๅ‘็š„ๆ ‡้…ใ€‚\\nๅฎƒ็š„ๆ ธๅฟƒ็†ๅฟต็ฎ€ๆด่€Œไผ˜้›…๏ผšๅƒๆญ็งฏๆœจไธ€ๆ ท๏ผŒๅฐ†ๅบžๅคงๅคๆ‚็š„็ณป็ปŸๆ‹†่งฃไธบไธ€ไธชไธช็‹ฌ็ซ‹ใ€ๅŠŸ่ƒฝๅ•ไธ€ไธ”ๅฏๅค็”จ็š„ๆจกๅ—๏ผŒ่ฎฉๆฏไธชๆจกๅ—ๅ„ๅธๅ…ถ่Œ๏ผŒๅ†้€š่ฟ‡ๆ ‡ๅ‡†ๆŽฅๅฃ็ตๆดป็ป„ๅˆใ€‚\\n 2. ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ\\nๅœจๆทฑๅ…ฅ็†่ฎบไน‹ๅ‰๏ผŒ่ฎฉๆˆ‘ไปฌๅ…ˆ้€š่ฟ‡ไธ€ไธช็ฎ€ๅ•็š„ JavaScript ็คบไพ‹๏ผŒ็›ด่ง‚ๅœฐๆ„Ÿๅ—ไธ€ไธ‹ไป€ไนˆๆ˜ฏๆจกๅ—ๅŒ–ใ€‚ๅ‡่ฎพๆˆ‘ไปฌ้œ€่ฆๅค„็†ไธ€ไบ›ๆ•ฐๅญฆ่ฟ็ฎ—๏ผŒๆˆ‘ไปฌๅฏไปฅๅฐ†ๅ…ถๅฐ่ฃ…ๆˆไธ€ไธช็‹ฌ็ซ‹็š„ๅทฅๅ…ทๆจกๅ—๏ผš\\n```javascript\\n// math.js - ๅฎšไน‰ไธ€ไธชๆ•ฐๅญฆๅทฅๅ…ทๆจกๅ—\\nexp\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†\",\"frontmatter\":{\"date\":\"2024-05-14 22:26:06\",\"title\":\"JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\",\"tldr\":\"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ็ญ‰ๆ ธๅฟƒ่ง„่Œƒ๏ผŒ้™„็Žฐไปฃ่ฟ็งป็ญ–็•ฅใ€‚\",\"description\":\"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ๅ››ๅคงๆจกๅ—ๅŒ–่ง„่Œƒ็š„ๆ ธๅฟƒ่ฏญๆณ•ไธŽ้€‚็”จๅœบๆ™ฏ๏ผŒ่งฃๆžๅ„่ง„่Œƒ็š„ๅ…ณ้”ฎๅทฎๅผ‚๏ผŒๅนถๆไพ›ไปŽๆ—ง่ง„่Œƒๅ‘ ESM ่ฟ็งป็š„ๅฎžๆ“็ญ–็•ฅใ€‚\",\"permalink\":\"/fullstack/different-module-programming-specifications\",\"tags\":[\"tutorial\",\"CommonJS\",\"AMD\",\"UMD\",\"ESM\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\",\"date\":\"2024-05-14 22:26:06\",\"capture\":\"ๅœจ JavaScript ่ฟ›ๅŒ–ๅฒไธŠ๏ผŒโ€œๆจกๅ—ๅŒ–โ€ๅง‹็ปˆๆ˜ฏไธ€ไธชๆ ธๅฟƒๅ‘ฝ้ข˜ใ€‚ไปŽๆ—ฉๆœŸ script ๆ ‡็ญพๆปกๅคฉ้ฃž็š„โ€œๆททๆฒŒๆ—ถไปฃโ€๏ผŒๅˆฐๅ„่ทฏ่ง„่Œƒ็พค้›„้€้นฟ็š„โ€œๆˆ˜ๅ›ฝๆ—ถไปฃโ€๏ผŒๅ†ๅˆฐๅฆ‚ไปŠ ES Modules ๅฎšไบŽไธ€ๅฐŠ๏ผŒๅผ€ๅ‘่€…ไปฌๅœจ่งฃๅ†ณไพ่ต–็ฎก็†ใ€ไฝœ็”จๅŸŸๆฑกๆŸ“ๅ’Œๅผ‚ๆญฅๅŠ ่ฝฝ็ญ‰้—ฎ้ข˜ไธŠไป˜ๅ‡บไบ†ๅทจๅคง็š„ๅŠชๅŠ›ใ€‚\\nๆœฌๆ–‡ๅฐ†ๅธฆไฝ ๆขณ็† JavaScript ๅކๅฒไธŠๆœ€้‡่ฆ็š„ๅ‡ ็งๆจกๅ—ๅŒ–่ง„่Œƒ๏ผŒไพฟไบŽๆž„ๅปบ่ตทๅ…จๆ ˆๅผ€ๅ‘็š„ๅบ•ๅฑ‚็Ÿฅ่ฏ†ๅ›พ่ฐฑใ€‚\\n 1. CommonJS ่ง„่Œƒ๏ผšNode.js ็”Ÿๆ€็š„ๅŸบ็Ÿณ\\nCommonJS ๆ˜ฏไผด้š Node.js ่ฏž็”Ÿ็š„่ง„่Œƒ,็”ฑ Kevin Dangoor ๆๅ‡บ๏ผŒๅˆ่กทๆ˜ฏ่ฎฉ JavaScript ่„ฑ็ฆปๆต่งˆๅ™จไนŸ่ƒฝๆž„ๅปบๅคๆ‚็š„็ณป็ปŸๅบ”็”จใ€‚ๅฎƒๆ˜ฏ Node.\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"frontmatter\":{\"date\":\"2024-05-14 22:29:32\",\"title\":\"ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒๆ‹ฅๆŠฑๅŽŸ็”Ÿ๏ผšES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"tldr\":\"ES Modules ๆ ธๅฟƒ่ฏญๆณ•ไธŽๆ‰ง่กŒๆจกๅž‹๏ผš้™ๆ€ๅˆ†ๆžๅฆ‚ไฝ•้‡ๅก‘ๅ‰็ซฏๆž„ๅปบๆ•ˆ็އใ€‚\",\"description\":\"ๆทฑๅบฆ่งฃๆž ES Modules ๅ‘ฝๅๅฏผๅ‡บ/ๅฏผๅ…ฅใ€้ป˜่ฎคๅฏผๅ‡บใ€ๅŠจๆ€ๅฏผๅ…ฅ็ญ‰่ฏญๆณ•๏ผŒไปฅๅŠๆจกๅ—ๆ‰ง่กŒ้กบๅบใ€ๅพช็Žฏไพ่ต–ๅค„็†ไธŽ็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ๆœบๅˆถใ€‚\",\"permalink\":\"/fullstack/decode-es-modules\",\"tags\":[\"concept\",\"ESM\",\"static-analysis\",\"Tree-Shaking\",\"circular-dependency\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒๆ‹ฅๆŠฑๅŽŸ็”Ÿ๏ผšES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"date\":\"2024-05-14 22:29:32\",\"capture\":\"> \\n> ็†่งฃ ESM๏ผŒไธไป…ไป…ๆ˜ฏๅญฆไผš import ๅ’Œ export๏ผŒๆ›ด้‡่ฆ็š„ๆ˜ฏ็†่งฃๅฎƒๅฆ‚ไฝ•้€š่ฟ‡็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ๅฝปๅบ•ๆ”นๅ˜ไบ†ๅ‰็ซฏๆž„ๅปบ็š„ๆ•ˆ็އใ€‚\\n 1. ๅ‘ฝๅๅฏผๅ‡บไธŽๅฏผๅ…ฅ๏ผš็ฒพๅ‡†็š„ไปฃ็ ๅผ•็”จ\\nๅ‘ฝๅๅฏผๅ‡บ๏ผˆNamed Exports๏ผ‰ๆ˜ฏ ESM ๆœ€ๅธธ็”จ็š„ๅฝขๅผ๏ผŒๅฎƒๅ…่ฎธไธ€ไธชๆจกๅ—ๆšด้œฒๅคšไธชๆˆๅ‘˜ใ€‚ๅ…ถๆ ธๅฟƒไผ˜ๅŠฟๅœจไบŽ๏ผšๅฏผๅ…ฅๆ–นๅฏไปฅๆŒ‰้œ€ๅผ•ๅ…ฅ๏ผŒไธ” IDE ่ƒฝๆไพ›็ฒพๅ‡†็š„่กฅๅ…จใ€‚\\n่ฏญๆณ•ๅฎž่ทต๏ผš๏ผš\\n```javascript\\n// math.js - ๅ‘ฝๅๅฏผๅ‡บ\\n// ่กŒๅ†…ๅฏผๅ‡บ\\nexport const PI = 3.14159;\\nexport function circleArea(radius) {\\n return PI * rad\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"frontmatter\":{\"date\":\"2024-05-16 21:27:36\",\"title\":\"ไปŽ้€ป่พ‘้š”็ฆปๅˆฐ็ฑปๅž‹ๅฅ‘็บฆ๏ผšTypeScript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"tldr\":\"TypeScript ๅฐ†ๆจกๅ—ไพ่ต–ๆๅ‡ไธบ็ผ–่ฏ‘ๆ—ถ็ฑปๅž‹ๅฅ‘็บฆ๏ผŒไปŽ import type ๅˆฐๅฃฐๆ˜Žๆ–‡ไปถใ€‚\",\"description\":\"็ณป็ปŸ่ฎฒ่งฃ TypeScript ๅฏน ES Modules ็š„็ฑปๅž‹ๅขžๅผบ๏ผŒๆถต็›– import type ่ฟ่กŒๆ—ถไผ˜ๅŒ–ใ€ๆŽฅๅฃๅฅ‘็บฆใ€ๅฃฐๆ˜Žๆ–‡ไปถ .d.ts ๅŠ tsconfig ๆจกๅ—ๅŒ–้…็ฝฎใ€‚\",\"permalink\":\"/fullstack/typescript-module-programming-enhancement\",\"tags\":[\"concept\",\"ๅ…จๆ ˆ\",\"typescript\",\"tsconfig\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไปŽ้€ป่พ‘้š”็ฆปๅˆฐ็ฑปๅž‹ๅฅ‘็บฆ๏ผšTypeScript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"date\":\"2024-05-16 21:27:36\",\"capture\":\"1. ๅผ•่จ€\\nๅœจๅŽŸ็”Ÿ JavaScript ๆจกๅ—ๅŒ–่งฃๅ†ณไบ†ไปฃ็ ็ป„็ป‡้—ฎ้ข˜ๅŽ๏ผŒTypeScript๏ผˆTS๏ผ‰่ฟ›ไธ€ๆญฅๅฐ†ๅ…ถๆŽจๅ‘ไบ†ๅทฅไธš็บง้ซ˜ๅบฆใ€‚TS ไธไป…ไป…ๆ˜ฏไธบๆจกๅ—ๆทปๅŠ ไบ†็ฑปๅž‹ๆ ‡ๆณจ๏ผŒๅฎƒ้€š่ฟ‡็ฑปๅž‹ๅฏผๅ‡บๅฏผๅ…ฅใ€็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ใ€ไปฅๅŠๅฃฐๆ˜Žๆ–‡ไปถ็ณป็ปŸ๏ผŒๅฐ†ๆจกๅ—้—ด็š„ไพ่ต–ๅ…ณ็ณปไปŽ็ฎ€ๅ•็š„โ€œไปฃ็ ๅผ•็”จโ€ๆๅ‡ๅˆฐไบ†โ€œๅฅ‘็บฆไบคไบ’โ€ใ€‚\\nๆœฌๆ–‡ๆˆ‘ไปฌๅฐ†่š็„ฆไบŽ TypeScript ๅฆ‚ไฝ•้€š่ฟ‡็ฑปๅž‹็ณป็ปŸๅขžๅผบๆจกๅ—ๅŒ–็ผ–็จ‹๏ผŒๅนถๆŽข่ฎจๅœจ็Žฐไปฃๅทฅ็จ‹๏ผˆๅฐคๅ…ถๆ˜ฏ TS 5.0+ ๆ—ถไปฃ๏ผ‰ไธ‹็š„ๆœ€ไฝณ้…็ฝฎๅฎž่ทตใ€‚\\n 2. ็ฑปๅž‹ๅฏผๅ‡บไธŽๅฏผๅ…ฅ๏ผšๆž่‡ด็š„่ฟ่กŒๆ—ถไผ˜ๅŒ–\\nTypeScript ๅฏน ES Modules ่ฏญๆณ•ๆœ€ๆ˜พ่‘—็š„ๆ‰ฉๅฑ•ๆ˜ฏๆ”ฏๆŒโ€œไป…็ฑปๅž‹โ€๏ผˆType-only๏ผ‰็š„ๅฏผๅ‡บไธŽๅฏผๅ…ฅใ€‚่ฟ™ไธไป…ๆ˜ฏ่ฏญไน‰ไธŠ็š„ๆธ…ๆ™ฐ๏ผŒๆ›ดๆ˜ฏๆ€ง\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต\",\"frontmatter\":{\"date\":\"2024-05-17 22:30:50\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ๆขณ็†ไธŽๆ€ป็ป“\",\"tldr\":\"ๆŽŒๆก้ซ˜ๅ†…่šไฝŽ่€ฆๅˆๅŽŸๅˆ™๏ผšๆจกๅ—ๅŒ–็ผ–็จ‹็š„่ฎพ่ฎกๅ‡†ๅˆ™ไธŽ็ฒ’ๅบฆๆŽงๅˆถใ€‚\",\"description\":\"็ณป็ปŸๆขณ็†ๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅ…ญๅคงๆ ธๅฟƒๅŽŸๅˆ™๏ผšๅ•ไธ€่Œ่ดฃใ€้ซ˜ๅ†…่šไฝŽ่€ฆๅˆใ€็ฒ’ๅบฆ่ฎพ่ฎกใ€ๅ‘ฝๅ่ง„่ŒƒๅŠๆจกๅ—็‰ˆๆœฌ็ฎก็†๏ผŒ้™„่ฏฆ็ป†็š„ๅทฅ็จ‹ๅฎž่ทตๅปบ่ฎฎไธŽ้ฟๅ‘ๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/fullstack/module-programming-principles-best-practices\",\"abstract\":\"ๅฆ‚ๆžœ่ฏดๆŽŒๆกๆจกๅ—ๅŒ–่ฏญๆณ•ๆ˜ฏๆœฏ๏ผŒ้‚ฃไนˆ็†่งฃๅ…ถ่ƒŒๅŽ็š„่ฎพ่ฎกๅŽŸๅˆ™ๅฐฑๆ˜ฏ้“ใ€‚ๅ•ไธ€่Œ่ดฃๅŽŸๅˆ™ๅผบ่ฐƒๆจกๅ—ๅชๅบ”ๆœ‰ไธ€ไธช่ขซๆ”นๅ˜็š„ๅŽŸๅ› ๏ผŒ้ฟๅ… God Object ๅๆจกๅผใ€‚้ซ˜ๅ†…่šไฝŽ่€ฆๅˆๆ˜ฏ่กก้‡ๆจกๅ—่ดจ้‡็š„็ปˆๆžๆ ‡ๅ‡†โ€”โ€”ๆจกๅ—ๅ†…้ƒจๅ…ƒ็ด ่”็ณป็ดงๅฏ†๏ผŒๆจกๅ—ไน‹้—ดไพ่ต–ๅ…ณ็ณปๅฐฝๅฏ่ƒฝ็ฎ€ๅ•ใ€‚็ฒ’ๅบฆ่ฎพ่ฎก่ฆๆฑ‚ๅ•ไธชๆจกๅ—ไฟๆŒๅœจ 100-500 ่กŒไน‹้—ด๏ผŒๅŠŸ่ƒฝ่ƒฝ็”จไธ€ๅฅ่ฏๆธ…ๆ™ฐๆ่ฟฐ๏ผŒๅ‡บ็Žฐๅคšๅˆ†ๆ”ฏๅคๆ‚้€ป่พ‘ๆ—ถ้€šๅธธๆ˜ฏๆ‹†ๅˆ†ไฟกๅทใ€‚ๅ‘ฝๅ่ง„่Œƒ็ปŸไธ€ๅ›ข้˜ŸๆฒŸ้€š่ฏญๅขƒ๏ผˆkebab-case ๆ–‡ไปถๅใ€camelCase ๆ–นๆณ•ๅใ€PascalCase ็ฑปๅ๏ผ‰ใ€‚ๆจกๅ—็‰ˆๆœฌ็ฎก็†้ตๅพช SemVer ่ฏญไน‰ๅŒ–็‰ˆๆœฌ๏ผŒไธบๅ…ฌๅ…ฑๆจกๅ—็š„็ปดๆŠค่€…ไธŽไฝฟ็”จ่€…ๅปบ็ซ‹ๅฅ‘็บฆใ€‚ๅผบ่ฐƒๆธ…ๆ™ฐ็š„ๆจกๅ—่พน็•Œๆ˜ฏ AI ่พ…ๅŠฉ็ผ–็จ‹ๆ—ถไปฃ AI ๅ‡†็กฎ็†่งฃไปฃ็ ็š„ๅ‰ๆใ€‚\",\"tags\":[\"concept\",\"solid-principles\",\"code-organization\",\"best-practices\",\"naming-conventions\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ๆขณ็†ไธŽๆ€ป็ป“\",\"date\":\"2024-05-17 22:30:50\",\"capture\":\"1. ๅ•ไธ€่Œ่ดฃๅŽŸๅˆ™\\nๆ ธๅฟƒๆ€ๆƒณ๏ผšไธ€ไธชๆจกๅ—ๅบ”ๅฝ“ๆœ‰ไธ”ๅชๆœ‰ไธ€ไธช่ขซๆ”นๅ˜็š„ๅŽŸๅ› ใ€‚\\nๆจกๅ—ไธๅบ”ๆˆไธบๅŠŸ่ƒฝ็š„โ€œๆ‚่ดง้“บโ€ใ€‚ๅฝ“ไธ€ไธชๆจกๅ—ๆ‰ฟๆ‹…ไบ†ๅคชๅคšไธ็›ธๅ…ณ็š„ไธšๅŠก้€ป่พ‘ๆ—ถ๏ผŒๅฎƒ็š„ๅคๆ‚ๅบฆไผšๅ‘ˆๆŒ‡ๆ•ฐ็บงไธŠๅ‡๏ผŒไปปไฝ•ๅพฎๅฐ็š„ๆ”นๅŠจ้ƒฝๅฏ่ƒฝๅผ•ๅ‘ๆ„ๆƒณไธๅˆฐ็š„่ฟž้”ๅๅบ”ใ€‚\\nไปฃ็ ๆผ”็คบ๏ผš\\n```javascript\\n// โœ… ๆŽจ่๏ผš่Œ่ดฃๆ‹†ๅˆ†ๆ˜Ž็กฎ\\n// user-service.js - ไป…ๅค„็†็”จๆˆทๆ•ฐๆฎ็š„ CRUD\\nexport const getUser = async (id) => { /* ... */ };\\n// auth-provider.js - ไป…ๅค„็†้‰ดๆƒ็Šถๆ€ไธŽ้€ป่พ‘\\nexport const login = async (credenti\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–\",\"frontmatter\":{\"date\":\"2024-05-17 23:33:09\",\"title\":\"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“\",\"tldr\":\"Node.js CJS ไธŽ ESM ๅŒๆจกๅ…ฑๅญ˜๏ผšๆจกๅ—ๅŠ ่ฝฝๆœบๅˆถไธŽๅˆ†ๅฑ‚ๆžถๆž„ๅฎž่ทตใ€‚\",\"description\":\"่งฃๆž Node.js ไธญ CommonJS ไธŽ ES Modules ็š„ๅŒๆจกๅ…ฑๅญ˜็ญ–็•ฅ๏ผŒๆถต็›–ๆจกๅ—ๅŠ ่ฝฝไผ˜ๅ…ˆ็บงใ€็ผ“ๅญ˜ๆœบๅˆถใ€package.json exports ๆกไปถๅฏผๅ‡บๅŠ Monorepo ๆžถๆž„ๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/nodejs-module-programming-summary\",\"abstract\":\"Node.js ๆจกๅ—ๅŒ–็ปๅކไบ†ไปŽ CommonJS ็‹ฌ้œธๅคฉไธ‹ๅˆฐ ES Modules ๅ…จ้ขๆŽฅๅ…ฅ็š„่Œƒๅผ่ฝฌ็งปใ€‚ๅ…ฑๅญ˜็ญ–็•ฅ้€š่ฟ‡ .mjs/.cjs ๅŽ็ผ€ๅ’Œ package.json type ๅญ—ๆฎตๆŽงๅˆถไธค็ง่ง„่Œƒ็š„่พน็•Œ๏ผ›ESM ๅฏ็›ดๆŽฅ import CJS๏ผˆ่‡ชๅŠจๅŒ…่ฃ…ไธบ้ป˜่ฎคๅฏผๅ‡บ๏ผ‰๏ผŒไฝ† CJS ๆ— ๆณ• require ESM ๅฟ…้กปไฝฟ็”จๅŠจๆ€ importใ€‚ๆจกๅ—ๅŠ ่ฝฝ้ตๅพชๆ ธๅฟƒๆจกๅ—ไผ˜ๅ…ˆใ€ๆ–‡ไปถๆจกๅ—ใ€็›ฎๅฝ•ๆจกๅ—๏ผˆindex.js/package.json๏ผ‰ใ€node_modules ้€็บงๆŸฅๆ‰พ็š„ไผ˜ๅ…ˆ็บง๏ผ›require.cache ๅฎž็Žฐๆจกๅ—็ผ“ๅญ˜๏ผŒๆธ…้™ค็ผ“ๅญ˜๏ผˆdelete require.cache[path]๏ผ‰ๆ˜ฏ็ƒญๆ›ดๆ–ฐๅทฅๅ…ท็š„ๆ ธๅฟƒๆ“ไฝœใ€‚package.json exports ๅญ—ๆฎตๆ”ฏๆŒๆกไปถๅฏผๅ‡บ๏ผˆimport/require ่ฟ”ๅ›žไธๅŒๅ…ฅๅฃ๏ผ‰ใ€‚pnpm workspaces ๅ‡ญๅ€Ÿ็กฌ้“พๆŽฅๆœบๅˆถๆˆไธบ็Žฐไปฃ Monorepo ้ฆ–้€‰ใ€‚ๅŽ็ซฏๅˆ†ๅฑ‚ๆžถๆž„๏ผˆAPI/Service/Repository๏ผ‰ๅฎž็Žฐๅ…ณๆณจ็‚นๅˆ†็ฆป๏ผŒๆขๆ•ฐๆฎๅบ“ๅช้œ€ๆ”น Repository ๅฑ‚ใ€‚\",\"tags\":[\"concept\",\"node.js\",\"commonjs\",\"esm\",\"monorepo\",\"layered-architecture\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“\",\"date\":\"2024-05-17 23:33:09\",\"capture\":\"ๅฆ‚ๆžœ่ฏดๆต่งˆๅ™จ็ซฏ็š„ๆจกๅ—ๅŒ–ๆ˜ฏไธบไบ†\\\"ๆŒ‰้œ€ๅŠ ่ฝฝ\\\"๏ผŒ้‚ฃไนˆ Node.js ็š„ๆจกๅ—ๅŒ–ๅˆ™ๆ˜ฏไธบไบ†\\\"ไปฃ็ ็ป„็ป‡\\\"ใ€‚ไฝœไธบๅฐ† JavaScript ๅธฆๅ…ฅๆœๅŠกๅ™จ็ซฏ็š„ๅ…ˆ้ฉฑ๏ผŒNode.js ็ปๅކไบ†ไปŽ CommonJS (CJS) ็‹ฌ้œธๅคฉไธ‹ๅˆฐ ES Modules (ESM) ๅ…จ้ขๆŽฅๅ…ฅ็š„่Œƒๅผ่ฝฌ็งปใ€‚\\nๅœจๆœๅŠกๅ™จ็ซฏ๏ผŒๆจกๅ—ๅŒ–ไธไป…ไป…ๆ˜ฏไธบไบ†ๆ‹†ๅˆ†ไปฃ็ ๏ผŒๆ›ดๆ˜ฏไธบไบ†ๆž„ๅปบๆธ…ๆ™ฐ็š„้กน็›ฎ็ป“ๆž„ใ€็ฎก็†ไพ่ต–ๅ…ณ็ณป๏ผŒไปฅๅŠๅฎž็Žฐไปฃ็ ็š„ๅค็”จไธŽ็ปดๆŠคใ€‚\\n 1. CommonJS ไธŽ ES Modules ๅŒๆจกๅ…ฑๅญ˜\\nๅœจ็Žฐไปฃ Node.js ๅผ€ๅ‘ไธญ๏ผŒๆˆ‘ไปฌ็ปๅธธ้ขไธดไธค็ง่ง„่Œƒไบค็ป‡็š„ๆƒ…ๅ†ตใ€‚่ฟ™ไธไป…ๆ˜ฏๆ–‡ไปถๅŽ็ผ€็š„ๆ”นๅ˜๏ผŒๆ›ดๆ˜ฏๅŒๆญฅไธŽๅผ‚ๆญฅๅŠ ่ฝฝ้€ป่พ‘็š„ๅšๅผˆใ€‚\\nๅ…ฑๅญ˜็ญ–็•ฅ๏ผš\\n1. ๅŽ็ผ€ๅ†ณๅฎš่ฎบ๏ผš`.mjs\"},{\"url\":\"/01.ๅ…จๆ ˆ/90.ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่/90.ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"relativePath\":\"/01.ๅ…จๆ ˆ/90.ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่/90.ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"frontmatter\":{\"date\":\"2026-02-06 15:58:53\",\"title\":\"ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡็ณป็ปŸๆขณ็†ไบ†็Žฐไปฃๅ…จๆ ˆๅผ€ๅ‘็š„ๅฎŒๆ•ดๆŠ€ๆœฏๅ›พ่ฐฑไธŽๆผ”่ฟ›่Œƒๅผ๏ผŒไธบๅผ€ๅ‘่€…ๆไพ›ไบ†ไธ€็ซ™ๅผ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—ใ€‚ๆ–‡็ซ ไปŽๅŸบ็Ÿณๅ‡บๅ‘๏ผŒ่ฆ†็›– Web ๆ ธๅฟƒ่ฏญ่จ€๏ผˆJS/TS๏ผ‰ ไธŽ ไธปๆต UI ๆก†ๆžถ๏ผˆReact/Vue/Svelte๏ผ‰๏ผŒๅนถๆŽจ่ไปฅ Tailwind CSS ๅ’Œ shadcn/ui ไธบไปฃ่กจ็š„็Žฐไปฃๆ ทๅผไธŽ็ป„ไปถๅŽŸ่ฏญใ€‚ๅœจๆ ธๅฟƒไธšๅŠก้€ป่พ‘ๅฑ‚๏ผŒๆทฑๅบฆๅฏนๆฏ”ไบ†่ฝป้‡ๅŒ–็Šถๆ€็ฎก็†ๆ–นๆกˆ๏ผˆ้ฆ–ๆŽจ Zustand/Jotai๏ผ‰๏ผŒๅนถ้‡็‚น่งฃๆžไบ†ๆ•ฐๆฎไบคไบ’็š„ไธ‰ๅคง็Žฐไปฃๆžถๆž„่Œƒๅผ๏ผšไปŽๅŸบ็ก€ Axios ๅˆฐ React Query ็Šถๆ€่ฐƒๅบฆ๏ผŒๅ†ๅˆฐ tRPC ๅ’Œ GraphQL ๅธฆๆฅ็š„ๅ…จๆ ˆ็ฑปๅž‹ๅฎ‰ๅ…จไธŽๅคš็ซฏ่šๅˆใ€‚ๅœจๅทฅ็จ‹ๅŒ–ไธŽๆœๅŠก็ซฏๆจกๅ—๏ผŒๆ–‡็ซ ๅ…จ้ขๆ‹ฅๆŠฑ Viteใ€Rsbuild ็ญ‰ๆž้€Ÿๆž„ๅปบๅทฅๅ…ท๏ผŒๅนถๅ‰–ๆžไบ† Next.js/Nuxt ๅŒๆž„ๅ…ƒๆก†ๆžถไธŽ NestJS ไผไธš็บง Node ๆœๅŠก็š„ๆœ€ไฝณ้€‚็”จๅœบๆ™ฏใ€‚ๆœ€ๅŽ๏ผŒ่พ…ไปฅ Vercel ็ญ‰็Žฐไปฃ่พน็ผ˜้ƒจ็ฝฒๅนณๅฐๅŠไธฐๅฏŒ็š„ๅผ€ๆบ็คพๅŒบๅญฆไน ่ต„ๆบใ€‚\",\"permalink\":\"/growth/full-stack-resources\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"date\":\"2026-02-06 15:58:53\",\"capture\":\"> - ๆ–‡็ซ ไปŽๅŸบ็Ÿณๅ‡บๅ‘๏ผŒ่ฆ†็›– Web ๆ ธๅฟƒ่ฏญ่จ€๏ผˆJS/TS๏ผ‰ ไธŽ ไธปๆต UI ๆก†ๆžถ๏ผˆReact/Vue/Svelte๏ผ‰๏ผŒๅนถๆŽจ่ไปฅ Tailwind CSS ๅ’Œ shadcn/ui ไธบไปฃ่กจ็š„็Žฐไปฃๆ ทๅผไธŽ็ป„ไปถๅŽŸ่ฏญใ€‚\\n> - ๅœจๆ ธๅฟƒไธšๅŠก้€ป่พ‘ๅฑ‚๏ผŒๆทฑๅบฆๅฏนๆฏ”ไบ†่ฝป้‡ๅŒ–็Šถๆ€็ฎก็†ๆ–นๆกˆ๏ผˆ้ฆ–ๆŽจ Zustand/Jotai๏ผ‰๏ผŒๅนถ้‡็‚น่งฃๆžไบ†ๆ•ฐๆฎไบคไบ’็š„ไธ‰ๅคง็Žฐไปฃๆžถๆž„่Œƒๅผ๏ผšไปŽๅŸบ็ก€ Axios ๅˆฐ React Query ็Šถๆ€่ฐƒๅบฆ๏ผŒๅ†ๅˆฐ tRPC ๅ’Œ GraphQL ๅธฆๆฅ็š„ๅ…จๆ ˆ็ฑปๅž‹ๅฎ‰ๅ…จไธŽๅคš็ซฏ่šๅˆใ€‚\\n> - ๅœจๅทฅ็จ‹ๅŒ–ไธŽๆœๅŠก็ซฏๆจกๅ—๏ผŒๆ–‡็ซ ๅ…จ้ขๆ‹ฅๆŠฑ Viteใ€Rsbuild ็ญ‰ๆž้€Ÿๆž„ๅปบๅทฅๅ…ท๏ผŒๅนถๅ‰–ๆžไบ† Next.js/N\"},{\"url\":\"/10.ไบงๅ“ Sense/00.ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"relativePath\":\"/10.ไบงๅ“ Sense/00.ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"frontmatter\":{\"date\":\"2026-03-19 23:05:50\",\"title\":\"ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"description\":\"ไบงๅ“ Sense ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ๏ผŒๆถต็›– AI ไบงๅ“่ง‚ๅฏŸใ€ๅคๅˆๅž‹ไบบๆ‰ๆˆ้•ฟใ€ๅ•†ไธšๅŒ–ๆ€่€ƒๅŠๆ–นๆณ•่ฎบๆ€ป็ป“็ญ‰ใ€‚\",\"categories\":[\"ไบงๅ“ Sense\",\"AI\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"date\":\"2026-03-19 23:05:50\",\"capture\":\"> * ่ฟฝๆฑ‚้ซ˜ๆ ๆ†โ€”โ€”ไปฅๆž็ฎ€ๆŠ€ๆœฏ่งฃๅ†ณๅคๆ‚้—ฎ้ข˜๏ผŒๆ‹’็ปไธบ็‚ซๆŠ€่€Œ่ฎพ่ฎก็š„ไผช้œ€ๆฑ‚๏ผ›\\n> * ๅนณ่กกๆ„Ÿๆ€งไธŽ็†ๆ€งโ€”โ€”ๆ—ขๅ…ฑๆƒ…็”จๆˆท็š„็œŸๅฎžๅœบๆ™ฏไธŽๆƒ…็ปช๏ผŒๅˆๅ†ท้™่ฟฝๆบฏ็—›็‚นๆœฌ่ดจ๏ผŒ่ฎฉไบงๅ“ๆ—ขๆœ‰ๆธฉๅบฆ๏ผŒๅˆไธ่‡ณไบŽๆฒฆไธบๅŠŸ่ƒฝ็š„ๅ †็ Œใ€‚\\n่งฃๆž„่ฟ™็งไบงๅ“ Sense ็š„ๅŸบ็ก€ๅœจไบŽๅฏนๆŠ•ๅ…ฅไบงๅ‡บๆฏ”๏ผˆROI๏ผ‰็š„ๆž่‡ด่ฟฝๆฑ‚ไธŽๅฏนไบบๆ€ง็š„ๆทฑๅบฆๅ‰–ๆž๏ผš\\n* ไธ€ๆ–น้ข๏ผŒๅ“่ถŠ็š„ไบงๅ“ๅ—…่ง‰ๆ„ๅ‘ณ็€ๅฏปๆ‰พโ€œ้ซ˜ๆ ๆ†่งฃโ€๏ผŒ็”จๆœ€ๅ…‹ๅˆถ็š„ๆŠ€ๆœฏๅคๆ‚ๅบฆๅŽปๆ’ฌๅŠจๆœ€ๅนฟๆณ›ไธ”ๅผบ็ƒˆ็š„็”จๆˆทไปทๅ€ผ๏ผŒๆžœๆ–ญ่ง„้ฟไธบไบ†ๆŠ€ๆœฏ่€ŒๆŠ€ๆœฏ็š„ไผช้œ€ๆฑ‚้™ท้˜ฑใ€‚\\n* ๅฆไธ€ๆ–น้ข๏ผŒๆ—ข้œ€่ฆ่ฎพ่บซๅค„ๅœฐๆ„Ÿ็Ÿฅ็”จๆˆท็š„็œŸๅฎžไฝฟ็”จๅœบๆ™ฏไธŽๆƒ…็ปช๏ผŒๅˆๅฟ…้กปไฟๆŒ็†ๆ€งๅŽป่ฟฝ้—ฎ็—›็‚น็š„ๆ นๆบ๏ผŒ็กฎไฟไบงๅ“ๆ—ขไธๆฒฆไธบ่‡ƒ่‚ฟ็š„้œ€ๆฑ‚่ฎธๆ„ฟๆฑ ๏ผŒไนŸไธๅ˜ๆˆ็ผบไนไบบๆ€งๆธฉๅบฆ็š„ๅ†ฐๅ†ทๆœบๅ™จใ€‚\\n<im\"},{\"url\":\"/10.ไบงๅ“ Sense/01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž/11.AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"relativePath\":\"/10.ไบงๅ“ Sense/01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž/11.AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"frontmatter\":{\"date\":\"2024-05-08 08:56:21\",\"title\":\"AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจๅคงๆจกๅž‹้‡ๅก‘ไบ’่”็ฝ‘ไบคไบ’็š„ๅฝ“ไธ‹๏ผŒPerplexity ๅนถๆœช้€‰ๆ‹ฉๆˆไธบโ€œไธ‹ไธ€ไธช Googleโ€๏ผŒ่€Œๆ˜ฏไปฅโ€œ็Ÿฅ่ฏ†ๅ‘็Žฐๅผ•ๆ“Žโ€็š„ๅ…จๆ–ฐๅฎšไฝ๏ผŒ็ฒพๅ‡†ๅˆ‡ๅ…ฅ็Ÿฅ่ฏ†ๅทฅไฝœ่€…็š„ๆ ธๅฟƒๅทฅไฝœๆตใ€‚ๆœฌๆ–‡่ทณๅ‡บๅ•็บฏ็š„ๆจกๅž‹่ƒฝๅŠ›ๅฏนๆฏ”๏ผŒไปŽไบงๅ“ Sense ไธŽๅทฅ็จ‹้€ป่พ‘็š„ๅŒ้‡่ง†่ง’๏ผŒๆทฑๅบฆๆ‹†่งฃ Perplexity ็š„็ ดๅฑ€ไน‹้“ใ€‚ๆˆ‘ไปฌๅฐ†ๆŽข่ฎจๅฎƒๅฆ‚ไฝ•้€š่ฟ‡ๅ็›ด่ง‰็š„ UI ๅˆ›ๆ–ฐ้‡ๅก‘ไบคไบ’่ตท็‚น๏ผŒๅฆ‚ไฝ•ๅœจๅทฅ็จ‹ๅฑ‚้ขๆญป็ฃ•ๅฐพ้ƒจๅปถ่ฟŸไธŽๅนป่ง‰ๆŽงๅˆถ๏ผŒไปฅๅŠๅฎƒๅฆ‚ไฝ•ๅˆฉ็”จๅทจๅคด็š„ๅˆฉๆถฆ็އๆŠคๅŸŽๆฒณๅฎž็Žฐ้”™ไฝ็ซžไบ‰ใ€‚ๆœ€็ปˆ๏ผŒๆˆ‘ไปฌๅฐ†่ง†็บฟๆŠ•ๅ‘ๆœชๆฅ๏ผŒไธ€็ชฅ AI ไปŽ่ขซๅŠจๅ“ๅบ”่ตฐๅ‘ไธปๅŠจๆŽข็ดข็š„ๆผ”่ฟ›่“ๅ›พใ€‚\",\"permalink\":\"/product-sense/perplexity-knowledge-worker\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"AI ๆœ็ดข\",\"็Ÿฅ่ฏ†ๅ‘็Žฐ\",\"ไบงๅ“ Sense\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"date\":\"2024-05-08 08:56:21\",\"capture\":\"1. ๅผ•่จ€\\nๅœจ AI ๆตชๆฝฎไธ‹๏ผŒๆœ็ดขๅผ•ๆ“Ž็š„่Œƒๅผๆญฃๅœจๅ‘็”Ÿ่ฝฌ็งปใ€‚ไฝœไธบๅฝ“ๅ‰ๅค‡ๅ—็žฉ็›ฎ็š„ AI ๆœ็ดขไบงๅ“๏ผŒPerplexity ๅนถๆฒกๆœ‰่ฏ•ๅ›พๆˆไธบโ€œไธ‹ไธ€ไธช Googleโ€๏ผŒ่€Œๆ˜ฏๅฐ†่‡ชๅทฑๅฎšไน‰ไธบ็Ÿฅ่ฏ†ๅ‘็Žฐๅผ•ๆ“Žใ€‚\\nๅฏนไบŽๆฏๅคฉ้œ€่ฆๅค„็†ๆตท้‡ไฟกๆฏใ€่ฟ›่กŒๅคๆ‚ๅ†ณ็ญ–็š„็Ÿฅ่ฏ†ๅทฅไฝœ่€…่€Œ่จ€๏ผŒๅฆ‚ไฝ•้ซ˜ๆ•ˆๅœฐโ€œๅŽปๅ™ชโ€ๅนถ่Žทๅ–้ซ˜ไฟกๅบฆ็Ÿฅ่ฏ†ๆ˜ฏๆ ธๅฟƒ่ฏ‰ๆฑ‚ใ€‚็ฌ”่€…ๅฐ†ไปŽไบงๅ“ไบคไบ’ใ€ๆŠ€ๆœฏๅทฅ็จ‹ใ€ๅ•†ไธš้€ป่พ‘ไธŽๆœชๆฅๆผ”่ฟ›ๅ››ไธช็ปดๅบฆ๏ผŒๅˆ†ๆž Perplexity ๆ˜ฏๅฆ‚ไฝ•้‡ๅก‘ไฟกๆฏ่Žทๅ–ๅทฅไฝœๆต็š„ใ€‚\\nๆœฌๆ–‡ๆ—จๅœจ้€š่ฟ‡ๅฏน Perplexity ็š„ๆทฑๅบฆไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž๏ผŒๅธฎๅŠฉ่ฏป่€…็†่งฃ AI ๆœ็ดขไบงๅ“็š„่ฎพ่ฎก้€ป่พ‘ไธŽ็”จๆˆทไฝ“้ชŒไผ˜ๅŒ–่ทฏๅพ„๏ผŒๅŒๆ—ถไธบ็Ÿฅ่ฏ†ๅทฅไฝœ่€…ๆไพ›ๅฏ่ฝๅœฐ็š„ๆ•ˆ็އๆๅ‡ๆ–นๆณ•๏ผŒๅนถๅœจ่ฟ‡็จ‹ไธญๅŸนๅ…ป็ป“ๆž„ๅŒ–ไบงๅ“ๅˆ†ๆžๆ€็ปดใ€‚\\n\"},{\"url\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/20.่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"relativePath\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/20.่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"frontmatter\":{\"date\":\"2024-06-15 22:23:00\",\"title\":\"่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡็ป“ๅˆไฟ็ฝ—ใƒปๆ ผ้›ทๅŽ„ๅง†ใ€ŠHow to Do Great Workใ€‹ๆ ธๅฟƒ่ง‚็‚น๏ผŒๆŽข่ฎจ AI ๅŽŸ็”Ÿๆ—ถไปฃๅคๅˆๅž‹ไบบๆ‰็š„ๆ ธๅฟƒ็‰น่ดจใ€‚AI ่ฎฉๅŸบ็ก€ๆ‰ง่กŒ่ƒฝๅŠ›ๅฟซ้€Ÿ่ดฌๅ€ผ๏ผŒไบบๆ‰็š„ๆ ธๅฟƒๅฃๅž’ไธๅ†ๆ˜ฏ่งฃๅ†ณ้—ฎ้ข˜๏ผŒ่€Œๆ˜ฏๆๅ‡บไผ˜่ดจ้—ฎ้ข˜ใ€ๅŸนๅ…ป้žๅ…ฑ่ฏ†ๅ“ๅ‘ณใ€‚ๅŒๆ—ถ้œ€ๅšๅฎˆๆ™บๅŠ›่ฏšๅฎž๏ผŒๆ‹ฅๆœ‰ๆ‰“็ ดๅธธ่ง„็š„ๅˆ›ๆ–ฐๅ‹‡ๆฐ”๏ผŒๅ€ŸๅŠฉ AI ๆ”พๅคงไธชไบบๆˆ้•ฟๆ ๆ†๏ผŒไปฅๅฐๅˆ‡ๅฃๅฎž่ทตๅฎž็ŽฐๆŒ‡ๆ•ฐ็บงๆˆ้•ฟใ€‚ไบบ็ฑป็‹ฌๆœ‰็š„ๅฅฝๅฅ‡ๅฟƒ๏ผŒๆ˜ฏ็ช็ ด AI ๅนณๅบธใ€ๅ–ๅพ—ๆฐๅ‡บๆˆๅฐฑ็š„ๆœ€็ปˆๅบ•ๆฐ”ใ€‚\",\"coverImg\":\"/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense/ai-native-composite-talents\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"AI\",\"ๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"date\":\"2024-06-15 22:23:00\",\"capture\":\"> \\n> ๅŽŸๆ–‡ๅœฐๅ€๏ผšhttps://paulgraham.com/greatwork.html\\n> \\n> ๅŽŸๆ–‡ไฝœ่€…๏ผšPaul Graham๏ผˆไฟ็ฝ—ยทๆ ผ้›ทๅŽ„ๅง†๏ผ‰๏ผŒ็ก…่ฐท้กถ็บงๅญตๅŒ–ๅ™จ Y Combinator ๅˆ›ๅง‹ไบบ๏ผŒ่ขซ่ช‰ไธบโ€œ็ก…่ฐทๅˆ›ไธšๆ•™็ˆถโ€๏ผŒไนŸๆ˜ฏ็ปๅ…ธๆŠ€ๆœฏๅ“ฒๅญฆ่‘—ไฝœใ€Š้ป‘ๅฎขไธŽ็”ปๅฎถใ€‹็š„ไฝœ่€…ใ€‚\\n> \\n> ๆ–‡็ซ ่ƒŒๆ™ฏ๏ผšๅŽŸๆ–‡ๆ˜ฏไฟ็ฝ—ยทๆ ผ้›ทๅŽ„ๅง†ไน‹ๅ‰ๅ‡†ๅค‡ไบ†ๅŠๅนดไน‹ไน…็š„้‡็ฃ…้•ฟๆ–‡๏ผŒไป–่ฏ•ๅ›พ่ฎฒๆ˜Ž็™ฝไธ€ไธช้€‚็”จไบŽๆฏไธชไบบ็š„ไธป้ข˜โ€”โ€”ๅฆ‚ไฝ•ๅšๆˆใ€Œๅคงไบ‹ใ€๏ผˆgreat work๏ผ‰ใ€‚้€š่ฏปๅ…จๆ–‡๏ผŒไฝ ไผšๅ‘็Žฐ๏ผŒ่ฟ™ๆ˜ฏไธ€็ฏ‡้žๅธธๅฎž็”จ็š„ๅทฅไฝœๆŒ‡ๅ—๏ผŒๅนถไธ”ๅ…ถไธญ็š„่ฎธๅคšๅ†…ๅฎน๏ผŒ้ƒฝไธŽAIๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰ๆ‰€้œ€่ฆๅ…ทๅค‡็š„็‰น่ดจ้žๅธธไธ€่‡ดใ€‚\\n 1. ๅผ•่จ€๏ผš\"},{\"url\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/21.ๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense\",\"relativePath\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/21.ๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense\",\"frontmatter\":{\"date\":\"2025-10-23 16:05:50\",\"title\":\"ๅฝ“โ€œๅฎž็Žฐโ€ไธๅ†ๆ˜ฏๅฃๅž’๏ผšๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense๏ผŸ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ AI ่ฎฉไปฃ็ ็”Ÿๆˆ็š„่พน้™…ๆˆๆœฌ่ถ‹่ฟ‘ไบŽ้›ถ๏ผŒโ€œๆŠ€ๆœฏๅฎž็Žฐโ€ไธๅ†ๆ˜ฏไธๅฏ้€พ่ถŠ็š„ๅฃๅž’๏ผŒโ€œไบงๅ“ๆดžๅฏŸโ€่ƒฝๆž„็ญ‘่ตทๆ–ฐ็š„ๆ ธๅฟƒๆŠคๅŸŽๆฒณใ€‚ๆœฌๆ–‡ๆ‹’็ป็Ž„ๅญฆ๏ผŒๅฐ†ๆŠฝ่ฑก็š„ ไบงๅ“ Sense ่งฃๆž„ไธบไธ‰ไธชๆ ธๅฟƒๆ•ฐๅญฆๅ…ฌๅผ๏ผŒๅนถๆไพ›ไธ€ๅฅ—ๅŸบไบŽโ€œ้€†ๅ‘ๅทฅ็จ‹โ€็š„ๅˆปๆ„็ปƒไน ๆŒ‡ๅ—๏ผŒๅŠฉๅŠ›ๅผ€ๅ‘่€…ๅœจ็ฎ—ๅŠ›่ฟ‡ๅ‰ฉ็š„ๆ—ถไปฃ๏ผŒๅฎŒๆˆไปŽโ€œไปฃ็ ๅทฅๅŒ โ€ๅˆฐโ€œไปทๅ€ผๅˆ›้€ ่€…โ€็š„่ฎค็Ÿฅ่ทƒ่ฟใ€‚\",\"sticky\":1,\"top\":true,\"categories\":[\"ไบงๅ“ Sense\",\"AI\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense/engineer-build-product-sense\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฝ“โ€œๅฎž็Žฐโ€ไธๅ†ๆ˜ฏๅฃๅž’๏ผšๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense๏ผŸ\",\"date\":\"2025-10-23 16:05:50\",\"capture\":\"1. ๅผ•่จ€\\nๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒไบงๅ“ Sense๏ผˆไบงๅ“ๆ„Ÿ๏ผ‰ ่ขซ่ง†ไธบไธ€็ง็Ž„ๅญฆใ€‚ๅฎƒไผผไนŽๆ˜ฏไน”ๅธƒๆ–ฏๅผ็š„็ตๅ…‰ไธ€็Žฐ๏ผŒๆˆ–ๆ˜ฏๅผ ๅฐ้พ™ๅผ็š„โ€œ็‹ฌๆ–ญไธ“่กŒโ€ใ€‚\\nไฝ†ๅฏนไบŽๅคงๅคšๆ•ฐๅทฅ็จ‹ๅธˆใ€ไบงๅ“็ป็†ไนƒ่‡ณ็‹ฌ็ซ‹ๅผ€ๅ‘่€…่€Œ่จ€๏ผŒๅฐ†่ƒฝๅŠ›ๅฏ„ๆ‰˜ไบŽโ€œๅคฉ่ต‹โ€ๆ˜ฏๅฑ้™ฉ็š„ใ€‚ๆˆ‘่ฎคไธบ๏ผŒไบงๅ“ Sense ๅนถ้žไธๅฏๆ‰ๆ‘ธ็š„้ป‘้ญ”ๆณ•๏ผŒ่€Œๆ˜ฏไธ€ๅฅ—็ป่ฟ‡้ซ˜้ข‘่ฎญ็ปƒๅŽๅ†…ๅŒ–ไธบๆœฌ่ƒฝ็š„ๆ€็ปด็ฎ—ๆณ•ใ€‚ ๅฐฑๅƒ่ต„ๆทฑ็จ‹ๅบๅ‘˜็œ‹ๅˆฐไธ€ๆฎตไปฃ็ ๅฐฑ่ƒฝๅ—…ๅ‡บ \\\"Code Smell\\\"๏ผˆไปฃ็ ๅผ‚ๅ‘ณ๏ผ‰๏ผŒ่ต„ๆทฑไบงๅ“ไบบไนŸ่ƒฝๅœจ็žฌ้—ดๅˆคๆ–ญไธ€ไธช้œ€ๆฑ‚ๆ˜ฏโ€œ็œŸ็—›็‚นโ€่ฟ˜ๆ˜ฏโ€œไผช้œ€ๆฑ‚โ€ใ€‚\\nไธ€ไธชๆˆๅŠŸ็š„ไบงๅ“ๅ†ณ็ญ–๏ผŒๅพ€ๅพ€ๅ‘็”Ÿๅœจไธ‰ไธช็ปดๅบฆ็š„ไบคๆฑ‡็‚น๏ผš\\n* ็”จๆˆทไปทๅ€ผๆดžๅฏŸ๏ผˆUser Value Insight๏ผ‰๏ผšไธไป…ๅฌๆ‡‚็”จๆˆท่ฏดโ€œๆƒณ่ฆๆ›ดๅฟซ็š„้ฉฌโ€๏ผŒๆ›ด่ƒฝๆดžๅฏŸไป–ๅ…ถๅฎžโ€œๆƒณๆ›ด\"},{\"url\":\"/10.ไบงๅ“ Sense/04.ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–/30.ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹่ฏปๅŽๆ„Ÿ\",\"relativePath\":\"/10.ไบงๅ“ Sense/04.ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–/30.ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹่ฏปๅŽๆ„Ÿ\",\"frontmatter\":{\"date\":\"2025-11-24 21:50:00\",\"title\":\"ๆ”พๅผƒๅขž้•ฟๆ‰งๅฟต๏ผŒไธบไป€ไนˆโ€œๅฐ่€Œ็พŽโ€ๆ‰ๆ˜ฏๅฏๆŒ็ปญไน‹่ทฏ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒ็ง‘ๆŠ€ไบ’่”็ฝ‘่กŒไธš็š„ๅ™ไบ‹้ƒฝ่ขซโ€œไธๆƒœไธ€ๅˆ‡ไปฃไปทๅฎž็Žฐ่ถ…็บฟๆ€งๅขž้•ฟโ€ๆ‰€ไธปๅฏผใ€‚ไปฟไฝ›ๅชๆœ‰ๆ‹ฟๅˆฐๅทจ้ข่ž่ต„ใ€็–ฏ็‹‚ๆ‹›ไบบใ€ๆˆไธบไผฐๅ€ผ็ ด็™พไบฟ็š„ๅบž็„ถๅคง็‰ฉ๏ผŒๆ‰็ฎ—ๅพ—ไธŠๆ˜ฏๆˆๅŠŸ็š„ๅˆ›ไธšใ€‚็„ถ่€Œ๏ผŒ่ฏปๅฎŒ่จๅธŒๅฐ”ยทๆ‹‰ๆ–‡ๅ‰ไบš็š„ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹ๅŽ๏ผŒ็ฌ”่€…่Žทๅพ—ไบ†ไธ€็งๆˆช็„ถไธๅŒ็š„ๅ•†ไธš่ง†่ง’๏ผšไผไธšๅญ˜ๅœจ็š„้ฆ–่ฆ็›ฎ็š„ไธๆ˜ฏไธบไบ†่ž่ต„ๅ’Œๆ‰ฉๅผ ๏ผŒ่€Œๆ˜ฏไธบไบ†้€š่ฟ‡่งฃๅ†ณ้—ฎ้ข˜ๆฅ่Žทๅพ—ๆŒ็ปญ็š„็›ˆๅˆฉใ€‚ ๆœฌๆ–‡็ป“ๅˆไนฆไธญ็š„ๆ ธๅฟƒ่ฎบ็‚นไธŽ่‡ช่บซ็š„็ ”ๅ‘่ง†่ง’๏ผŒๆŠŠๅฐ†่ฟ™ๆœฌไนฆ่ƒŒๅŽ็š„็ป่ฅ้€ป่พ‘ไธŽไบงๅ“ๅ“ฒๅญฆๆขณ็†ไธบๅ‡ ไธชๆ ธๅฟƒๅฑ‚้ข็š„ๆ€่€ƒใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense/small-rule-learn\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"ไบงๅ“ Sense\",\"ๅ•†ไธšๅŒ–\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆ”พๅผƒๅขž้•ฟๆ‰งๅฟต๏ผŒไธบไป€ไนˆโ€œๅฐ่€Œ็พŽโ€ๆ‰ๆ˜ฏๅฏๆŒ็ปญไน‹่ทฏ\",\"date\":\"2025-11-24 21:50:00\",\"capture\":\"ไนฆๅ๏ผšใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹\\nไฝœ่€…๏ผš[็พŽ] ่จๅธŒๅฐ”ยทๆ‹‰ๆ–‡ๅ‰ไบš\\nๆ ธๅฟƒๆ ‡็ญพ๏ผšๆž็ฎ€ๅˆ›ไธš๏ฝœ็คพๅŒบๆœฌไฝ๏ฝœๆŒ็ปญ็›ˆๅˆฉ๏ฝœๅˆ›ไฝœ่€…็ปๆตŽ\\nไธ€ๅฅ่ฏ็ฎ€่ฏ„๏ผšๅœจ็›ฒ็›ฎๅด‡ๆ‹œ่ง„ๆจกๆ‰ฉๅผ ็š„ๅ•†ไธš่ฏญๅขƒไธ‹๏ผŒ่ฟ™ๆ˜ฏไธ€ไปฝๅ†™็ป™็‹ฌ็ซ‹ๅˆ›ไฝœ่€…ไธŽๅผ€ๅ‘่€…็š„ๆธ…้†’ๆŒ‡ๅ—๏ผŒๆ•™ไผšๆˆ‘ไปฌๅฆ‚ไฝ•็”จๆœ€ๅฐ‘็š„่ต„ๆบ๏ผŒ่งฃๅ†ณ็œŸๅฎž็š„็—›็‚น๏ผŒๅนถ่Žทๅพ—้•ฟไน…็š„่‡ช็”ฑใ€‚\\nๆ›ดๅคšไนฆ็ฑๆŽจ่ไฟกๆฏๅฏๅ‚่€ƒ๏ผšไบงๅ“ Sense ไธŽๅ•†ไธšๅŒ–\\n 1. ็คพๅŒบๅ…ˆ่กŒ๏ผšไปŽโ€œๆˆ‘ๆ˜ฏ่ฐโ€ๅˆฐโ€œๆˆ‘่ƒฝไธบ่ฐ่งฃๅ†ณ้—ฎ้ข˜โ€\\nไผ ็ปŸๅ•†ไธš้€ป่พ‘ๅพ€ๅพ€ๆ˜ฏๅ…ˆๆž„ๆ€ไธ€ไธชๅฎๅคง็š„็‚นๅญ๏ผŒ้—ญ้—จ้€ ่ฝฆๆ‰“็ฃจไบงๅ“๏ผŒๆœ€ๅŽๅ†็ ธ้’ฑๅŽปๅธ‚ๅœบไธŠๅฏปๆ‰พ็›ฎๆ ‡็”จๆˆทใ€‚่€Œๆœฌไนฆๆๅ‡บไบ†ไธ€ไธช้ข ่ฆ†ๆ€ง็š„ๅๅ‘่ทฏๅพ„๏ผš็คพๅŒบ $\\\\rightarrow$ ้—ฎ้ข˜ $\\\\rightarrow$ ๆต็จ‹ $\\\\rightarrow$\"},{\"url\":\"/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/40.ๆดžๅฏŸๅŠ›ๆจกๅž‹\",\"relativePath\":\"/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/40.ๆดžๅฏŸๅŠ›ๆจกๅž‹\",\"frontmatter\":{\"date\":\"2025-11-14 16:00:00\",\"title\":\"ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผšๅฆ‚ไฝ•็œ‹้€ไบงๅ“ไธŽๆŠ€ๆœฏ่ƒŒๅŽ็š„็ณป็ปŸ้€ป่พ‘๏ผŸ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆ— ่ฎบๆ˜ฏๅšไบงๅ“ใ€ๆžๆŠ€ๆœฏ๏ผŒ่ฟ˜ๆ˜ฏๅบ”ๅฏนๆ—ฅๅธธๅทฅไฝœไธญ็š„ๅ„็งๆŒ‘ๆˆ˜๏ผŒไฝ ๆ˜ฏๅฆ้‡ๅˆฐ่ฟ‡่ฟ™ๆ ท็š„ๅ›ฐๅขƒ๏ผšๆ˜Žๆ˜ŽๆŒ‰็ป้ชŒ่กŒไบ‹๏ผŒๅดๅฑกๅฑก่ธฉๅ‘๏ผ›ๅˆš่งฃๅ†ณ่กจ้ข้—ฎ้ข˜๏ผŒ้šๆ‚ฃๅˆๅทๅœŸ้‡ๆฅใ€‚้—ฎ้ข˜ๆœชๅฟ…ๅ‡บๅœจๅŠชๅŠ›็จ‹ๅบฆ๏ผŒ่€ŒๅœจไบŽๆˆ‘ไปฌๅช็›ฏ็€่กจ่ฑก๏ผŒๅดๅฟฝ็•ฅไบ†่ƒŒๅŽ็œŸๆญฃ่ตทไฝœ็”จ็š„็ณป็ปŸ๏ผŒๆฒกๆœ‰็œ‹ๆ‡‚่—ๅœจ่ƒŒๅŽ็š„็ณป็ปŸใ€‚ไธบไป€ไนˆๅŒๆ ทๆ˜ฏ่งฃๅ†ณ้—ฎ้ข˜๏ผŒๆœ‰ไบบๅช่ƒฝโ€œๅคด็—›ๅŒปๅคดโ€๏ผŒๆœ‰ไบบๅด่ƒฝ็›ดๅ‡ปๆœฌ่ดจ๏ผŸ่ฟ™็ฏ‡ๆ–‡็ซ ๅฐ†็”จ้€šไฟ—ๆ˜“ๆ‡‚็š„ๆ–นๅผ๏ผŒๅธฆไฝ ๆ‹†่งฃไธ€ๅฅ—ๅฎž็”จ็š„ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผŒ่ฎฉๆˆ‘ไปฌๅญฆไผš้€่ฟ‡็Žฐ่ฑกๆŠ“ไฝๆœฌ่ดจ๏ผŒไปŽๆ นๆบไธŠ่งฃๅ†ณ้—ฎ้ข˜ใ€‚\",\"permalink\":\"/product-sense/insight-model\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"ไบงๅ“ Sense\",\"็ณป็ปŸๆดžๅฏŸๅŠ›\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผšๅฆ‚ไฝ•็œ‹้€ไบงๅ“ไธŽๆŠ€ๆœฏ่ƒŒๅŽ็š„็ณป็ปŸ้€ป่พ‘๏ผŸ\",\"date\":\"2025-11-14 16:00:00\",\"capture\":\"1. ่กจ่ฑก่ƒŒๅŽ่—็€ๅ†ณๅฎšไธ€ๅˆ‡็š„โ€œ็ณป็ปŸ้ป‘็›’โ€\\nๆˆ‘ไปฌๅœจๆ—ฅๅธธๅผ€ๅ‘ๆˆ–ไบงๅ“่ฎพ่ฎกไธญ๏ผŒๆ€ปๆ˜ฏ่ขซๅ„็งโ€œ่กจ่ฑกโ€ๅŒ…ๅ›ด๏ผšDAU ็ช็„ถไธ‹้™ไบ†ใ€็บฟไธŠๅ‡บ็Žฐไบ†ไธ€ไธชๅถ็Žฐ็š„ Bugใ€ๆŸไธชๅŠŸ่ƒฝ็š„่ฝฌๅŒ–็އไธๅŠ้ข„ๆœŸใ€‚ๆˆ‘ไปฌไน ๆƒฏไบ†็›ฏ็€่ฟ™ไบ›็œ‹ๅพ—่ง็š„็ป“ๆžœๆ‰พๅŽŸๅ› ๏ผŒๅดๅฟฝ็•ฅไบ†ไธ€ไธชๆ ธๅฟƒ็œŸ็›ธ๏ผšๆฏไธ€ไธช่กจ่ฑก่ƒŒๅŽ๏ผŒๅ…ถๅฎž้ƒฝ้š่—็€ไธ€ไธช่ฟ่ฝฌๅคๆ‚็š„โ€œ้ป‘็›’ๅญโ€๏ผŒๆญฃๆ˜ฏ่ฟ™ไธช้ป‘็›’ๅญๅ†ณๅฎšไบ†ไบ‹็‰ฉๅ‘ๅฑ•็š„ๅฎข่ง‚่ง„ๅพ‹ใ€‚ๆˆ‘ไปฌๅฏไปฅๆŠŠ่ฟ™ไธช้ป‘็›’ๅญ๏ผŒๅซๅšโ€œ็ณป็ปŸโ€ใ€‚\\n<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/product/system_tips.png\\\" style=\\\"width: 1\"},{\"url\":\"/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/50.็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“\",\"relativePath\":\"/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/50.็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“\",\"frontmatter\":{\"date\":\"2024-01-01 16:00:00\",\"title\":\"็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“\",\"description\":\"ๅฐ†็ปๆตŽๅญฆๆ ธๅฟƒๅŽŸ็†่žๅˆ่ฟ›ไบงๅ“่ฎพ่ฎกๅ…จ็”Ÿๅ‘ฝๅ‘จๆœŸ็š„ๆ–นๆณ•่ฎบไฝ“็ณป๏ผŒๆž„ๅปบ็†ๆ€ง็š„โ€œไบงๅ“Senseโ€ใ€‚\",\"categories\":[\"ไบงๅ“ Sense\"],\"permalink\":\"/product-sense/using-economics-thinking\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“\",\"date\":\"2024-01-01 16:00:00\",\"capture\":\"ๅœจไบงๅ“็ฎก็†็š„ๅนฟ้˜”ๅคฉๅœฐไธญ๏ผŒๆˆ‘ไปฌๅพ€ๅพ€ๅผบ่ฐƒโ€œไบงๅ“ Senseโ€๏ผˆProduct Sense๏ผ‰โ€”โ€”ไธ€็งๅฏน็”จๆˆท้œ€ๆฑ‚ใ€ๅธ‚ๅœบ้ฃŽๅ‘ๅ’ŒๆŠ€ๆœฏๆฝœๅŠ›็š„็›ด่ง‰ๆ€งๆ•ๆ‰ใ€‚็„ถ่€Œ๏ผŒ่ฟ™็ง Sense ็ป้žๅ‡ญ็ฉบ่€Œๆฅ็š„็ตๅ…‰ไน็Žฐ๏ผŒๅฎƒ้œ€่ฆ็จณๅ›บ็š„็†ๆ€งๅœฐๅŸบใ€‚ๅœจไผ—ๅคšๅญฆ็ง‘ไธญ๏ผŒ็ปๆตŽๅญฆๆ— ็–‘ๆไพ›ไบ†ๆœ€ๅบ•ๅฑ‚็š„้€ป่พ‘ๆ”ฏๆŸฑใ€‚\\n็ปๆตŽๅญฆไธไป…ไป…ๆ˜ฏๅ…ณไบŽ้‡‘้’ฑๅ’Œๅธ‚ๅœบ็š„็ง‘ๅญฆ๏ผŒๅฎƒๆ›ดๆ˜ฏไธ€็ง่งฃๅ†ณ้—ฎ้ข˜ใ€ไผ˜ๅŒ–ๅ†ณ็ญ–็š„ๆ–นๅผใ€‚ๅฏนไบงๅ“ไบบ่€Œ่จ€๏ผŒๅ€Ÿ้‰ด็ปๆตŽๅญฆๆ€็ปด๏ผŒๆ„ๅ‘ณ็€่ƒฝๅคŸ็†ๆ™บๅœฐๆƒ่กกๅˆฉๅผŠ๏ผŒๆ›ด็ฒพๅ‡†ๅœฐๅฎšไปท๏ผŒๆ›ดๆทฑๅˆปๅœฐๆดžๅฏŸไบบๆ€ง๏ผŒๆœ€็ปˆๅœจ้”™็ปผๅคๆ‚็š„็บฆๆŸๆกไปถไธ‹๏ผŒๆฑ‚่งฃๅ‡บ็”จๆˆทไปทๅ€ผไธŽๅ•†ไธšไปทๅ€ผๅนถ้‡็š„ๆœ€ไผ˜่งฃใ€‚\\n 1. ็”Ÿๆดป้‡Œ็š„็ปๆตŽๅญฆๆดžๅฏŸโ€”โ€”ๆดžๅฏŸไธไป…ๆ˜ฏๅ…ณไบŽ้œ€ๆฑ‚๏ผŒๆ›ดๆ˜ฏๅ…ณไบŽๆˆๆœฌไธŽๅšๅผˆ\\nๆˆ‘ไปฌๅธธ่ขซๆ—ฅๅธธ็Žฐ่ฑก็š„โ€œๅˆ็†ๆ€งโ€ๆ‰€่ฟทๆƒ‘๏ผŒ่€Œ็ปๆตŽๅญฆ\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/00.AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/00.AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ\",\"frontmatter\":{\"title\":\"AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"date\":\"2026-03-15 16:00:00\",\"description\":\"ๅ…จๆ™ฏๅผ AI ๅญฆไน ไธŽๅฎž่ทต็Ÿฅ่ฏ†ๅบ“๏ผŒ็ณป็ปŸๆฒ‰ๆท€ AI Agent ่ฎพ่ฎกๆจกๅผใ€ๅคงๆจกๅž‹ๅทฅ็จ‹ๅŒ–่ฝๅœฐใ€ๅผ€ๆบๅฐ้กน็›ฎๅŠ็คพๅŒบๆดปๅŠจ็ป้ชŒๆ€ป็ป“๏ผŒๆŒ็ปญ่ฟญไปฃไปŽ็†่ฎบๅˆฐ็”Ÿไบง็š„ๅฎŒๆ•ดๆ–นๆณ•่ฎบใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/llm_learning_bg_1.png\",\"permalink\":\"/ai-learning/overview\",\"categories\":[\"ai-practice\"],\"tags\":[\"AI\",\"LLM\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"date\":\"2026-03-15 16:00:00\",\"capture\":\"<!-- ็ฒพ้€‰ไธ“้ข˜ --\\n<script setup>\\nimport ArticleCardList from '@fragment/components/ArticleCardList.vue'\\nimport { aiLearningCategories } from '@fragment/data/ai-learning-data'\\n</script>\\n<ArticleCardList :categories=\\\"aiLearningCategories\\\" />\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/01.Agentๆฆ‚่งˆไธŽ็ปผ่ฟฐ\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/01.Agentๆฆ‚่งˆไธŽ็ปผ่ฟฐ\",\"frontmatter\":{\"date\":\"2026-02-12 22:31:00\",\"title\":\"ไปŽๆ็คบ่ฏๅˆฐๆ•ฐๅญ—ๅ‘˜ๅทฅ๏ผšAI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšAI ็š„่ฟ›ๅŒ–ๆญฃ็ปๅކไปŽโ€œๅฏน่ฏๆก†โ€ๅ‘โ€œๆ•ฐๅญ—ๅ‘˜ๅทฅโ€็š„ๆ นๆœฌๆ€ง่ทจ่ถŠใ€‚ๆœฌๆ–‡ๆ˜ฏไธ€็ฏ‡ๅ…ณไบŽ AI Agent ็š„ๅ…จๆ™ฏๆทฑๅบฆ็ปผ่ฟฐ๏ผŒๆ—จๅœจ่งฃๆž„ๆ™บ่ƒฝไฝ“ๅฆ‚ไฝ•ไปŽ็ฎ€ๅ•็š„ Prompt ๅ“ๅบ”่€…๏ผŒๆผ”ๅ˜ไธบๅ…ทๅค‡่‡ชไธป็›ฎๆ ‡ๆ‹†่งฃใ€้•ฟ็ŸญๆœŸ่ฎฐๅฟ†ไธŽๅคๆ‚็Žฏๅขƒไบคไบ’่ƒฝๅŠ›็š„โ€œๆ‰ง่กŒ่€…โ€ใ€‚ๆˆ‘ไปฌๅฐ†ๆทฑๅบฆๆ‹†่งฃ Agent ็š„ๅ››ๅคงๆŠ€ๆœฏๅŸบ็Ÿณ๏ผˆ่ง„ๅˆ’ใ€่ฎฐๅฟ†ใ€ๅทฅๅ…ทใ€่กŒๅŠจ๏ผ‰๏ผŒๅนถ่ฏฆ็ป†ๅ‰–ๆžไปŽ้€š็”จๅž‹ Agent ๅˆฐๅคšๆ™บ่ƒฝไฝ“ๅไฝœ๏ผˆMAS๏ผ‰ใ€ๅ†ๅˆฐ่ฟˆๅ‘ Agent OS ๆ—ถไปฃ็š„ OpenClaw ็ญ‰ไบ”ๅคงๆผ”่ฟ›ๅฝขๆ€ใ€‚ไธไป…ๆŽข่ฎจไบ†ๆŠ€ๆœฏๆžถๆž„็š„ๅฎž็Žฐ๏ผŒๆ›ดๆญ็คบไบ†่ฝฏไปถๅทฅ็จ‹ไปŽโ€œไปฅไบบไธบไธญๅฟƒโ€ๅ‘โ€œไปฅ AI ไธบไธญๅฟƒโ€็š„่Œƒๅผ้ฉๅ‘ฝโ€”โ€”ๅœจ Agent ้ฉฑๅŠจ็š„ๆ–ฐ็บชๅ…ƒ๏ผŒๆ ธๅฟƒ็ซžไบ‰ๅŠ›ๅฐ†ไธๅ†ๆ˜ฏไปฃ็ ้‡๏ผŒ่€Œๆ˜ฏ่ฐƒๅบฆ AI ้—ญ็Žฏ่งฃๅ†ณไธšๅŠก้—ฎ้ข˜็š„่ƒฝๅŠ›ใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/llm_learning_bg_1.png\",\"permalink\":\"/ai-agent/overview\",\"top\":true,\"categories\":[\"ai-practice\"],\"tags\":[\"AI Agent\",\"Agent\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไปŽๆ็คบ่ฏๅˆฐๆ•ฐๅญ—ๅ‘˜ๅทฅ๏ผšAI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐ\",\"date\":\"2026-02-12 22:31:00\",\"capture\":\"1. ไป€ไนˆๆ˜ฏ Agent๏ผŸโ€”โ€”ไปŽโ€œๅทฅๅ…ทโ€ๅˆฐโ€œๅฎžไฝ“โ€็š„่ฟ›ๅŒ–\\n> ๆ ธๅฟƒ้€ป่พ‘๏ผš็Žฐไปฃ Agent ็š„ๆœฌ่ดจๆ˜ฏ \\\"LLM (ๅคง่„‘) + ่ง„ๅˆ’ไธŽ่ฎฐๅฟ† (ๅฐ่„‘) + ๅทฅๅ…ท่ฐƒ็”จ (ๆ‰‹่„š)\\\"ใ€‚LLM ็š„ๆตท้‡็Ÿฅ่ฏ†ๅ‚จๅค‡่ฎฉ Agent ่ƒฝๅคŸ็ฒพๅ‡†็†่งฃๅคๆ‚ๆŒ‡ไปค๏ผŒๅนถๅฐ†ๅ…ถ่ฝฌๅŒ–ไธบๅฎž้™…่กŒๅŠจใ€‚\\nๅœจ AI ้ข†ๅŸŸ๏ผŒAgent๏ผˆๆ™บ่ƒฝไฝ“๏ผ‰ ๅนถ้žไธ€ไธชๆ–ฐๆฆ‚ๅฟต๏ผŒไฝ† LLM๏ผˆๅคง่ฏญ่จ€ๆจกๅž‹๏ผ‰็š„็ˆ†ๅ‘่ต‹ไบˆไบ†ๅฎƒ็œŸๆญฃ็š„โ€œ็ต้ญ‚โ€ใ€‚็ฎ€ๅ•ๆฅ่ฏด๏ผŒAgent ๆ˜ฏไธ€็ง่ƒฝๅคŸๆ„Ÿ็Ÿฅ็Žฏๅขƒใ€่‡ชไธปๅ†ณ็ญ–ๅนถๆ‰ง่กŒไปปๅŠก็š„ๆ™บ่ƒฝๅฎžไฝ“ใ€‚\\nๅฆ‚ๆžœ่ฏดไผ ็ปŸ็š„ AI ๆ˜ฏไธ€ไธชโ€œ้—ฎ็ญ”ๆœบโ€๏ผŒ้‚ฃไนˆ Agent ๅฐฑๆ˜ฏไธ€ไธชโ€œๆ‰ง่กŒ่€…โ€ใ€‚ๅฎƒๅ…ทๅค‡ไปฅไธ‹ๅ››ๅคงๆ ธๅฟƒ็‰น่ดจ๏ผš\\n* ่‡ชไธปๆ€ง (Autonomy)๏ผš ๆ— ้กปๆ—ถๅˆป็›ฏ็€๏ผŒ่ฎพๅฎš\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/02.Agent ่ง„ๅˆ’ๆจกๅ—\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/02.Agent ่ง„ๅˆ’ๆจกๅ—\",\"frontmatter\":{\"date\":\"2026-02-24 20:52:37\",\"title\":\"ๆŽขๅฏป Agent ๅ†ณ็ญ–ไธญๆžข๏ผš่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„่ง„ๅˆ’่Œƒๅผ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฆ‚ๆžœ่ฏด LLM ๆ˜ฏ Agent ็š„ๅคง่„‘๏ผŒ่ง„ๅˆ’ๆจกๅ—ๅˆ™ๆ˜ฏๅ…ถ่ดŸ่ดฃๅคๆ‚ๅ†ณ็ญ–็š„โ€œๅ‰้ขๅถโ€ใ€‚ๆœฌๆ–‡ๆทฑๅบฆ่งฃๆž„ไบ† Agent ่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„ๆ ธๅฟƒ่ทฏๅพ„๏ผšไปŽไปปๅŠกๅˆ†่งฃ็š„้™ไฝŽ็†ตๅ€ผ๏ผŒๅˆฐ่‡ชๆˆ‘ๅๆ€็š„้—ญ็ŽฏๆŽงๅˆถใ€‚้€š่ฟ‡ๅฏนๆฏ”โ€œ่พน่ตฐ่พน็œ‹โ€็š„ ReAct ๅŠจๆ€ๅ“ๅบ”ๆจกๅผไธŽโ€œ่ฐ‹ๅฎšๅŽๅŠจโ€็š„ Plan-and-Execute ้ข„็ผ–ๆŽ’ๆจกๅผ๏ผŒๆœฌๆ–‡ๆญ็คบไบ†ๅฆ‚ไฝ•้’ˆๅฏน้•ฟ้“พ่ทฏๅทฅ็จ‹ไปปๅŠกๆž„ๅปบ็จณๅฅ็š„ๅ†ณ็ญ–่Œƒๅผ๏ผŒๅŠฉไฝ ๅฎŒๆˆไปŽโ€œ็ฎ€ๅ•ๆ็คบ่ฏโ€ๅˆฐโ€œๅคๆ‚ๆžถๆž„่ฎพ่ฎกโ€็š„่ฎค็Ÿฅ่ทƒ่ฟใ€‚\",\"permalink\":\"/ai-agent/planning-module\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆŽขๅฏป Agent ๅ†ณ็ญ–ไธญๆžข๏ผš่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„่ง„ๅˆ’่Œƒๅผ\",\"date\":\"2026-02-24 20:52:37\",\"capture\":\"1. ๅผ•่จ€\\nๅœจไบบ็ฑปๅคง่„‘ไธญ๏ผŒๅ‰้ขๅถ็šฎๅฑ‚่ดŸ่ดฃๅคๆ‚็š„่ฎค็Ÿฅ่ง„ๅˆ’ใ€ๅ†ณ็ญ–ๅ’Œ็คพไบค่กจ็Žฐใ€‚ๅฏนไบŽไธ€ไธช Agent ่€Œ่จ€๏ผŒ่ง„ๅˆ’ๆจกๅ—ๆญฃๆ˜ฏๅฎƒ็š„โ€œๅ‰้ขๅถโ€โ€”โ€”ๅฎƒๅ†ณๅฎšไบ† Agent ๆ˜ฏๅชไผšๆœบๆขฐๅ“ๅบ”ๆŒ‡ไปค็š„โ€œๆœจๅถโ€๏ผŒ่ฟ˜ๆ˜ฏ่ƒฝ็‹ฌ็ซ‹ๆ‹†่งฃ็›ฎๆ ‡ใ€ๅœจๅคๆ‚็Žฏๅขƒไธญๅฏปๆ‰พๆœ€ไผ˜่ทฏๅพ„็š„โ€œๆ•ฐๅญ—ๅ‘˜ๅทฅโ€ใ€‚\\nAgent ็š„่ง„ๅˆ’่ƒฝๅŠ›ไธป่ฆ็”ฑไธค้ƒจๅˆ†ๅๅŒ้ฉฑๅŠจ๏ผšไปปๅŠกๅˆ†่งฃไธŽ่‡ชๆˆ‘ๅๆ€ใ€‚\\n 2. ไปปๅŠกๅˆ†่งฃ๏ผšๅŒ–็นไธบ็ฎ€็š„็ญ–็•ฅ\\nไปปๅŠกๅˆ†่งฃๆ˜ฏๆŒ‡ๅฐ†ไธ€ไธชๅคๆ‚็š„็›ฎๆ ‡ๆˆ–ไปปๅŠกๆ‹†่งฃไธบๅคšไธชๅ…ทไฝ“ใ€ๅฏๆ“ไฝœ็š„็š„ๅญไปปๅŠก๏ผŒไปฅไพฟ Agent ่ƒฝๅคŸๆ›ด้ซ˜ๆ•ˆๅœฐๆ‰ง่กŒๅ’Œ็ฎก็†ใ€‚ๅ…ถๆœฌ่ดจๆ˜ฏ้™ไฝŽ้—ฎ้ข˜็š„็†ตๅ€ผ๏ผŒ่ฎฉ Agent ่ƒฝๅคŸ่š็„ฆไบŽๆฏไธ€ไธช็ป†ๅฐ็š„็กฎๅฎšๆ€งๆญฅ้ชค๏ผŒไปŽ่€Œ้€ๆญฅ่งฃๅ†ณ้—ฎ้ข˜๏ผŒๆ้ซ˜่ง„ๅˆ’็š„ๅฏ่กŒๆ€งๅ’Œๆ‰ง่กŒๆ•ˆ็އใ€‚\\nๆ นๆฎโ€œ่ง„ๅˆ’โ€ไธŽโ€œๆ‰ง่กŒโ€ๅ‘\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/03.ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผšๅฐ†้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/03.ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผšๅฐ†้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"frontmatter\":{\"date\":\"2026-02-06 15:48:23\",\"title\":\"ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผš้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผš้ขๅฏนๅฑ‚ๅ‡บไธ็ฉท็š„ Promptใ€MCPใ€Skills ๅ’Œ Subagents๏ผŒๅพˆๅคšๅผ€ๅ‘่€…ๅ’Œไบงๅ“็ป็†ๅธธๆ„Ÿๅˆฐๅ›ฐๆƒ‘๏ผš่ฟ™ไบ›็ป„ไปถ็ฉถ็ซŸๆ˜ฏ้‡ๅค้€ ่ฝฎๅญ๏ผŒ่ฟ˜ๆ˜ฏๅ„ๅธๅ…ถ่Œ็š„็งฏๆœจ๏ผŸๆœฌๆ–‡ๅฐ†ๆทฑๅบฆๆ‹†่งฃ Agentic ็”Ÿๆ€็š„ไบ”ๅคงๆ ธๅฟƒๆ”ฏๆŸฑ๏ผŒๆญ็คบๅฆ‚ไฝ•้€š่ฟ‡ไผ˜้›…็š„ๆžถๆž„่ฎพ่ฎกๅฎž็ŽฐๅๅŒ้—ญ็Žฏ๏ผŒๅฐ†้›ถๆ•ฃ็š„ AI ็ป„ไปถๆ‹ผ่ฃ…ๆˆไธ€ๅฅ—ๅฏๆŒ็ปญ่ฟ›ๅŒ–็š„ AI ๅŽŸ็”Ÿๆ“ไฝœ็ณป็ปŸ๏ผŒๆŠŠ็ขŽ็‰‡ๅŒ–็š„ AI ่ƒฝๅŠ›่ฝฌๅŒ–ไธบ้ซ˜ๅฏ็”จ็š„็”ŸไบงๅŠ›ๆตใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/ai-practice/agent_components_zh.png\",\"permalink\":\"/ai-agent/composition-ai-components\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"],\"tags\":[\"Agent\",\"AI\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผš้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"date\":\"2026-02-06 15:48:23\",\"capture\":\"<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/ai-practice/agent_components_zh.png\\\" style=\\\"width: 100%; border-radius: 8px; margin-bottom: 20px;\\\" alt=\\\"about site background\\\">\\n 1. ๅผ•่จ€\\n> ้—ฎ้ข˜๏ผšๅœจๆ™บ่ƒฝไฝ“็”Ÿๆ€้‡Œ๏ผŒๅ„ไธช็ป„ไปถๅˆฐๅบ•ๆ˜ฏๆ€ŽไนˆๅๅŒๅทฅไฝœ็š„๏ผŸ\\nๅฝ“ๅ‰๏ผŒAgent๏ผˆๆ™บ่ƒฝไฝ“๏ผ‰ๆŠ€ๆœฏๅ‘ๅฑ•่ฟ…็Œ›๏ผŒๅ„็ง่ฎพ่ฎกๆจกๅผใ€ๆ ธๅฟƒ็ป„ไปถไธŽๅทฅไฝœๆœบๅˆถๅฑ‚ๅ‡บไธ็ฉทใ€‚้ขๅฏน็นๆ‚็š„ๆ™บ่ƒฝไฝ“็”Ÿๆ€\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/10.Agent SKills\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/10.Agent SKills\",\"frontmatter\":{\"date\":\"2026-03-05 23:11:25\",\"title\":\"ๅฆ‚ไฝ•็ผ–ๅ†™ไธ€ไธช้ซ˜ๅฏ็”จ็š„ Agent Skill๏ผŸไปŽๆœบๅˆถๆ‹†่งฃๅˆฐ็”Ÿไบงๅฎž่ทตๆŒ‡ๅ—\",\"description\":\"ๅคง่ฏญ่จ€ๆจกๅž‹ๅœจ็‰นๅฎšๅทฅ็จ‹้ข†ๅŸŸๅธธ้ขไธดโ€œ็Ÿฅ่€Œไธ่กŒโ€็š„ๅ›ฐๅขƒใ€‚ๆœฌๆ–‡ๆทฑๅบฆๆ‹†่งฃ Anthropic ๆœ€ๆ–ฐๆŽจๅ‡บ็š„ Agent Skills ่ง„่Œƒ๏ผŒๆญ็ง˜ๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆธ่ฟ›ๅผๆŠซ้œฒไธŽไธ‰็บงๅŠ ่ฝฝๆœบๅˆถ๏ผŒๅœจๆŽงๅˆถ Token ๆˆๆœฌ็š„ๅŒๆ—ถๆ˜พ่‘—ๆๅ‡ Agent ็š„ไปปๅŠกๆ‰ง่กŒ็ฒพๅบฆใ€‚ๆ–‡็ซ ๆถต็›–ไบ†ไปŽๆ–‡ไปถๅคนๆžถๆž„่ฎพ่ฎกๅˆฐๅฎžๆˆ˜ git-workflow ็ผ–ๅ†™็š„ๅ…จๆต็จ‹ๆŒ‡ๅ—๏ผŒๅŠฉไฝ ๅฐ†้›ถๆ•ฃ็š„ Prompt ่ฝฌๅŒ–ไธบๆ ‡ๅ‡†ๅŒ–็š„ๆ•ฐๅญ—่ต„ไบงใ€‚\",\"permalink\":\"/ai-agent/skills-practice-summary\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\",\"Agent ็ณปๅˆ—\"],\"tags\":[\"Agent Skills\",\"Agent\",\"AI\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฆ‚ไฝ•็ผ–ๅ†™ไธ€ไธช้ซ˜ๅฏ็”จ็š„ Agent Skill๏ผŸไปŽๆœบๅˆถๆ‹†่งฃๅˆฐ็”Ÿไบงๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-03-05 23:11:25\",\"capture\":\"1. ๅผ•่จ€๏ผšAgent Skills ๆ˜ฏไป€ไนˆ๏ผŸ\\nๅœจๅคง่ฏญ่จ€ๆจกๅž‹๏ผˆLLM๏ผ‰็š„่ฝๅœฐๅฎž่ทตไธญ๏ผŒๅผ€ๅ‘่€…็ปๅธธ้ขไธดไธ€ไธชๅ…ฑๆ€งๆŒ‘ๆˆ˜๏ผšๆจกๅž‹ๅœจ็‰นๅฎš็ป†ๅˆ†้ข†ๅŸŸๅพ€ๅพ€ๅค„ไบŽโ€œ็Ÿฅ่€Œไธ่กŒโ€็š„็Šถๆ€โ€”โ€”่™ฝ็„ถๆ‹ฅๆœ‰ๅšๆ‚็š„็Ÿฅ่ฏ†๏ผŒๅด็ผบไนๆ‰ง่กŒๅคๆ‚ไปปๅŠก็š„ไธ“ไธš่ทฏๅพ„ใ€‚\\nไธบไบ†่งฃๅ†ณ่ฟ™ไธ€็—›็‚น๏ผŒAnthropic ๅœจๅ…ถๆ——่ˆฐๆจกๅž‹ Claude 3.7 ็ณปๅˆ—ไธญๆญฃๅผๆŽจๅ‡บไบ† Claude Skillsใ€‚่ฟ™ไธ€ๅŠŸ่ƒฝๅฐ† LLM ็š„่ƒฝๅŠ›ๅฐ่ฃ…ไธบ็›ด่ง‚็š„โ€œ่ƒฝๅŠ›ๆ–‡ไปถๅคนโ€๏ผŒๆžๅคงๆๅ‡ไบ†ๆ™บ่ƒฝไฝ“็š„ๅฎž็”จๆ€ง๏ผŒๅนถ่ฟ…้€Ÿๅœจๅผ€ๅ‘่€…็คพๅŒบๅผ•ๅ‘็ƒญ่ฎฎใ€‚2025 ๅนด 12 ๆœˆ๏ผŒ้š็€ Anthropic ่”ๅˆ็”Ÿๆ€ไผ™ไผดๆญฃๅผๅผ€ๆบ Agent Skills ่ง„่Œƒ๏ผŒAgent Skills ็š„ๆ ‡ๅ‡†ๅŒ–ไนŸๆญฃๅผๅผ€ๅฏ๏ผˆ่€Œ่ฟ™ไธ€่ƒฝๅŠ›\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/10.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Deep Research Agent\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/10.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Deep Research Agent\",\"frontmatter\":{\"date\":\"2026-04-02 00:38:37\",\"title\":\"ๅฃฐๆ˜Žๅผๅคšๆ™บ่ƒฝไฝ“ๅๅŒ๏ผšๅŸบไบŽ Claude Agent SDK ๆž„ๅปบๆทฑๅบฆ็ ”็ฉถ็ณป็ปŸ\",\"description\":\"ๅฏนๅคๆ‚็ ”็ฉถไปปๅŠกๆ—ถ๏ผŒๅ•ๆ™บ่ƒฝไฝ“๏ผˆSingle-Agent๏ผ‰ๅธธๅ› ไธŠไธ‹ๆ–‡็จ€้‡Šๅ’Œ้€ป่พ‘็–ฒๅŠณๅฏผ่‡ดไบงๅ‡บ่ดจ้‡ไธ‹้™ใ€‚ๆœฌๆ–‡ๅŸบไบŽ Claude Agent SDK ๆŽข่ฎจไบ†ๅคšๆ™บ่ƒฝไฝ“็ณป็ปŸ๏ผˆMAS๏ผ‰็š„ๅทฅ็จ‹ๅŒ–่ฝๅœฐใ€‚้€š่ฟ‡โ€œLead + Subagentโ€็š„ๅฃฐๆ˜Žๅผๆžถๆž„๏ผŒๆˆ‘ไปฌๅฐ†ๆทฑๅบฆ็ ”็ฉถๆ‹†่งฃไธบๆœ็ดขใ€้‡ๅŒ–ๅˆ†ๆžใ€ๅฏ่ง†ๅŒ–็ป˜ๅ›พไธŽ็ป“ๆž„ๅŒ–ๅ†™ไฝœๅ››ไธช็‹ฌ็ซ‹็Žฏ่Š‚ใ€‚\",\"permalink\":\"/ai-agent/deepresearch-agent\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"],\"tags\":[\"Agent SDK\",\"Multi-Agent\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฃฐๆ˜Žๅผๅคšๆ™บ่ƒฝไฝ“ๅๅŒ๏ผšๅŸบไบŽ Claude Agent SDK ๆž„ๅปบๆทฑๅบฆ็ ”็ฉถ็ณป็ปŸ\",\"date\":\"2026-04-02 00:38:37\",\"capture\":\"> ๅฎž่ทต่ฏๆ˜Ž๏ผŒ้€š่ฟ‡ไธฅๆ ผ็š„่Œ่ดฃ้š”็ฆป๏ผˆๅฆ‚ Lead Agent ไป…่ดŸ่ดฃ่ฐƒๅบฆ๏ผ‰ไธŽๅทฅ็จ‹่พน็•Œ็บฆๆŸ๏ผˆๅฆ‚ Researcher ๅผบๅˆถๆๅ–้‡ๅŒ–ๆŒ‡ๆ ‡๏ผ‰๏ผŒMAS ่ƒฝๅคŸ็”Ÿๆˆๅ…ทๅค‡ไธ“ไธšๆ•ฐๆฎๅ›พ่กจๆ”ฏๆ’‘็š„ๆทฑๅบฆๆŠฅๅ‘Šใ€‚ๆœฌๆ–‡ๅฐ†ไปŽๆžถๆž„่ฎพ่ฎกใ€ๅทฅไฝœๆต็ผ–ๆŽ’ๅˆฐ PDF ่‡ชๅŠจ็”Ÿๆˆ๏ผŒๅฎŒๆ•ด่ฟ˜ๅŽŸ่ฟ™ไธ€โ€œAI ้ฉฑๅŠจ่ฐƒ็ ”ๆตๆฐด็บฟโ€็š„ๆž„ๅปบ่ฟ‡็จ‹๏ผŒๅนถๅฑ•็คบๅ…ถๅœจๆ•™่‚ฒ็ ”็ฉถๆกˆไพ‹ไธญ็š„ๅฎžๆˆ˜ๆ•ˆๆžœใ€‚\\n 1. ๅผ•่จ€\\nๅœจ AI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐไธ€ๆ–‡ไธญ๏ผŒๆˆ‘ไปฌๆŽข่ฎจไบ†ๅคšๆ™บ่ƒฝไฝ“็ณป็ปŸ๏ผˆMulti-Agent Systems, MAS๏ผ‰็š„็†่ฎบไผ˜ๅŠฟใ€‚ไปŽ็†่ฎบๅฑ‚้ข็œ‹๏ผŒ่ฟ™็ฑป็ณป็ปŸ้€š่ฟ‡ไปปๅŠกๅˆ†่งฃใ€่Œ่ดฃ้š”็ฆปไธŽๅนถ่กŒๅไฝœๆœบๅˆถ๏ผŒๆœ‰ๆ•ˆ็ช็ ดไบ†ๅ•ๆ™บ่ƒฝไฝ“ๅœจๅคๆ‚ไปปๅŠกไธญ็š„่ƒฝๅŠ›็“ถ้ขˆโ€”โ€”ไธไป…ๆ˜พ่‘—ๆๅ‡ไบ†ไปปๅŠกๅค„็†็š„ๅคฉ่Šฑๆฟ\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/20.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Agent\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/20.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Agent\",\"frontmatter\":{\"date\":\"2026-03-06 00:37:58\",\"title\":\"ๅ‘Šๅˆซๆ‰‹ๅŠจ Loop๏ผšๅ€ŸๅŠฉ Claude Agent SDK ๅฎž็Žฐ Agent ็š„ๅทฅ็จ‹ๅŒ–้—ญ็Žฏ\",\"description\":\"ๅœจ Agent ๆŠ€ๆœฏๅฟซ้€Ÿ่ตฐๅ‘ๆˆ็†Ÿ็š„ไปŠๅคฉ๏ผŒๅฆ‚ไฝ•ไฝŽๆˆๆœฌๆž„ๅปบๅ…ทๅค‡โ€œ่‡ชไธปๆดžๅฏŸโ€่ƒฝๅŠ›็š„ๆ™บ่ƒฝไฝ“๏ผŸๆœฌๆ–‡ๆทฑๅบฆๆ‹†่งฃ Anthropic ๅฎ˜ๆ–นๆŽจๅ‡บ็š„ Claude Agent SDK๏ผŒ่งฃๆžๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆ‰˜็ฎก Agent Loop ๅ’Œไผš่ฏๆŒไน…ๅŒ–ๆœบๅˆถ๏ผŒ่งฃๅ†ณ Agent ๅผ€ๅ‘ไธญ็š„็Šถๆ€็ฎก็†้šพ้ข˜ใ€‚ๆ–‡็ซ ้€š่ฟ‡ไปŽๆ— ็Šถๆ€ไบคไบ’ๅˆฐๅ…ทๅค‡ๆตๅผ่พ“ๅ‡บ่ƒฝๅŠ›็š„ TUI ่‡ชๅŠจๅŒ–ๅทฅๅ…ท่ฟ›้˜ถๅฎžๆˆ˜๏ผŒๅฑ•็คบไบ†ๆž„ๅปบไฝŽๆˆๆœฌใ€้ซ˜ๅฏ็”จ AI ๅŽŸ็”Ÿๅบ”็”จ็š„ๅฎŒๆ•ด่ทฏๅพ„ใ€‚\",\"permalink\":\"/ai-practice/claude-agent-sdk-basic-build\",\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"],\"tags\":[\"Agent\",\"Agent SDK\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ‘Šๅˆซๆ‰‹ๅŠจ Loop๏ผšๅ€ŸๅŠฉ Claude Agent SDK ๅฎž็Žฐ Agent ็š„ๅทฅ็จ‹ๅŒ–้—ญ็Žฏ\",\"date\":\"2026-03-06 00:37:58\",\"capture\":\"1. ๅผ•่จ€\\nๅฝ“ๅ‰๏ผŒAI Agent ็š„ๆผ”่ฟ›ๅทฒ่ฟ›ๅ…ฅไธ€ไธชๅดญๆ–ฐ็š„้˜ถๆฎตโ€”โ€”ไปŽ้œ€่ฆ้ข‘็นไบบๅทฅๅนฒ้ข„็š„\\\"ๅŠ่‡ชๅŠจ\\\"ๆจกๅผ๏ผŒ่ฟ›ๅŒ–ไธบ่ƒฝๅคŸ่‡ชไธปๆดžๅฏŸ็Žฏๅขƒๅ˜ๅŒ–ใ€ๅŠจๆ€่ฐƒๆ•ดๆ‰ง่กŒ็ญ–็•ฅใ€ๅฎž็ŽฐไธšๅŠกๆต็จ‹่‡ช้€‚ๅบ”็ผ–ๆŽ’็š„ๆ™บ่ƒฝๅŒ–็ณป็ปŸใ€‚Claude Codeใ€Manusใ€OpenClaw ็ญ‰ไปฃ่กจๆ€งไบงๅ“ๅฑ‚ๅ‡บไธ็ฉท๏ผŒไนŸๆ ‡ๅฟ—็€ Agent ๆŠ€ๆœฏๆญฃๅœจๅฟซ้€Ÿ่ตฐๅ‘ๆˆ็†ŸไธŽๆ™ฎๅŠใ€‚\\n่ฟ‘ๆœŸ๏ผŒ็ฌ”่€…ๅœจไธบไธชไบบๅšๅฎขๅผ•ๅ…ฅๆ™บ่ƒฝๅŒ–่ฟ่ฅ่ƒฝๅŠ›๏ผˆๅฆ‚ๅ†…ๅฎน่‡ชๅŠจๆ กๅฏนใ€ๅฎก็จฟไธŽๅ‘ๅธƒ๏ผ‰๏ผŒๆทฑๅ…ฅ็ ”็ฉถไบ†ๅคšๆฌพ Agent ๅผ€ๅ‘ๆก†ๆžถ๏ผŒๅฆ‚ Claude Agent SDKใ€Langchainใ€LangGraph ็ญ‰ใ€‚ๅœจ็ป่ฟ‡ๅˆๆญฅ็š„็ ”็ฉถๅฏนๆฏ”ๅˆ†ๆžๅŽ๏ผŒClaude Agent SDK ๆˆไธบไบ†ไฝŽๆˆๆœฌๆž„ๅปบ้ซ˜ๅฏ็”จ Agent\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/60.ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/60.ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹\",\"frontmatter\":{\"date\":\"2024-06-14 22:00:00\",\"title\":\"ไธ€ๆฌก็”ฑ Product Sense ้ฉฑๅŠจ็š„ Agent ๆž้™ๅฎž่ทต\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšAI ๆ—ถไปฃ๏ผŒๅ†™ๅฅฝไปฃ็ ๅชๆ˜ฏๅŠๆ ผ็บฟใ€‚ๅœจไธ€ๆฌกๆž้™ๆŒ‘ๆˆ˜่ต›ไธญ๏ผŒๆˆ‘ไปฌ้€š่ฟ‡ๅฏน K12 ่ต›้“็”จๆˆท็—›็‚น็š„็ฒพๅ‡†โ€œ่ง†่ง’ๅˆ‡ๆขโ€๏ผŒๆ‰“้€ ๅ‡บไธ€ๆฌพๆŽˆไบบไปฅๆธ”็š„โ€œๆ•ฐๅญฆ่พ…ๅฏผๅฏผๅธˆโ€ๅนถๆ–ฉ่Žทๅคงๅฅ–ใ€‚ๆœฌๆ–‡ๅค็›˜ไบ† Agent ๆญๅปบ่ƒŒๅŽ็š„ๆ ธๅฟƒ SOP ่ฎพ่ฎก้€ป่พ‘๏ผšๆŠ€ๆœฏ็ปˆ็ฉถ่ฆๅ›žๅฝ’ๅฏน็œŸๅฎžไบบๆ€ง็š„ไฝ“ๅฏŸไธŽๅ…ณๆ€€ใ€‚\",\"coverImg\":\"/img/cover/llm_learning_bg_2.png\",\"permalink\":\"/ai-practice/math-bot\",\"categories\":[\"ai-practice\"],\"tags\":[\"Agent\",\"ไบงๅ“ Sense\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไธ€ๆฌก็”ฑ Product Sense ้ฉฑๅŠจ็š„ Agent ๆž้™ๅฎž่ทต\",\"date\":\"2024-06-14 22:00:00\",\"capture\":\"ๅœจๅˆšๅˆš่ฟ‡ๅŽป็š„ๅ‘จๆœซ๏ผŒๆˆ‘ๅ’Œๅฅฝๅ‹ๅ‚ๅŠ ไบ†ไธ€ๅœบ็”ฑๅƒๅธ† Agent ไธพๅŠž็š„็บฟไธ‹็คพๅŒบๆดปๅŠจใ€‚่ฟ™ๆ˜ฏไธ€ๅœบๅ……ๆปกๆžๅฎข็ฒพ็ฅž็š„โ€œๆž้™ๆŒ‘ๆˆ˜โ€โ€”โ€”ๆˆ‘ไปฌ้œ€่ฆๅœจๆžๅ…ถๆœ‰้™็š„ๆ—ถ้—ดๅ†…๏ผŒไปŽ้›ถๅผ€ๅง‹ๆž„ๆ€ใ€ๆญๅปบๅนถ็Žฐๅœบๅฑ•็คบไธ€ไธชๅฎŒๆ•ด็š„ Agent ๅบ”็”จใ€‚\\nไปคไบบๆƒŠๅ–œ็š„ๆ˜ฏ๏ผŒๆˆ‘ไปฌไธไป…้กบๅˆฉๅฎŒๆˆไบ†ๆž้™ๅผ€ๅ‘๏ผŒๆœ€็ปˆ่ฟ˜ๆ–ฉ่Žทไบ†ๅ…จๅœบ็š„ใ€Œๆœ€ไฝณๅบ”็”จๅฅ–ใ€ใ€‚\\nๅค็›˜่ฟ™ๆฌก็Ÿญๆš‚ๅด้ซ˜ๅฏ†ๅบฆ็š„ๅผ€ๅ‘ไฝ“้ชŒ๏ผŒๆœ€ๅคง็š„ๆ„Ÿ่งฆๆ˜ฏ๏ผšๅœจ AI ๆ—ถไปฃ๏ผŒๅ•็บฏ็š„ๅทฅ็จ‹ๅฎž็Žฐๅทฒ็ปไธๅ†ๆ˜ฏๅ”ฏไธ€็š„ๅฃๅž’๏ผŒ็œŸๆญฃ่ฎฉๅบ”็”จ่„ฑ้ข–่€Œๅ‡บ็š„๏ผŒๆ˜ฏๅฏน็œŸๅฎžไธšๅŠกๅœบๆ™ฏ็š„ๆดžๅฏŸๅŠ›ใ€‚ๅฝ“ (Engineering + Product) ร— AI ็š„้ฃž่ฝฎๅผ€ๅง‹่ฝฌๅŠจๆ—ถ๏ผŒๆŠ€ๆœฏๆ‰่ƒฝ็œŸๆญฃ่ฝฌๅŒ–ไธบ่งฃๅ†ณ้—ฎ้ข˜็š„ๅˆฉๅ™จใ€‚\\nไปฅไธ‹ๆ˜ฏๅ…ณไบŽ่ฟ™ๆฌกโ€œK12 ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹โ€ Agent ๆญๅปบ็š„ๅฎž\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/70.่ฏ—ๆญŒๅฐ็ฒพ็ต\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/70.่ฏ—ๆญŒๅฐ็ฒพ็ต\",\"frontmatter\":{\"date\":\"2024-04-19 22:15:38\",\"title\":\"้›ถไปฃ็ ไธ็ญ‰ไบŽ้›ถ้€ป่พ‘๏ผš็ป“ๆž„ๅŒ– Prompt ้ฉฑๅŠจไธ‹็š„ Agent ๆญๅปบๅฎžๆˆ˜\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจ Agent ๆฆ‚ๅฟตๆปกๅคฉ้ฃž็š„ๅฝ“ไธ‹๏ผŒๅ†ณๅฎšๅคงๆจกๅž‹ๅฎž้™…่กจ็Žฐ็š„ๅพ€ๅพ€ๆ˜ฏๆœ€ๅบ•ๅฑ‚็š„ System Prompt ่ฎพ่ฎกใ€‚ๆœฌๆ–‡่ฎฐๅฝ•ไบ†ๅ‘จๆœซๅˆฉ็”จๆ–‡ๅฟƒๆ™บ่ƒฝไฝ“ๅนณๅฐๆญๅปบโ€œ่ฏ—ๆญŒๅฐ็ฒพ็ตโ€็š„ๅฎŒๆ•ดๅฎž่ทตใ€‚้€š่ฟ‡ๅฏนๆฏ”โ€œไผ ็ปŸๅคงๆฎตๆ–‡ๆœฌโ€ไธŽโ€œLangGPT ็ป“ๆž„ๅŒ–โ€ไธค็ง Prompt ็š„ๅฎž้™…่พ“ๅ‡บ๏ผŒๆทฑๅบฆๆ‹†่งฃไบ†็ป“ๆž„ๅŒ– Prompt ๅฆ‚ไฝ•ๅƒโ€œๅ†™ไปฃ็ โ€ไธ€ๆ ท่ง„่Œƒ AI ็š„ๆ€่€ƒๅทฅไฝœๆต๏ผŒๆœ‰ๆ•ˆ่งฃๅ†ณๆŒ‡ไปคๆผ‚็งปไธŽๅนป่ง‰้—ฎ้ข˜ใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ๆฌก Prompt ่ฐƒไผ˜ๅฎž้ชŒ๏ผŒๆ›ดๆ˜ฏไธ€ๅœบๅ…ณไบŽ AI ไบงๅ“ Sense ไธŽๆœชๆฅไบคไบ’ๅฝขๆ€็š„ๆŽข็ดขใ€‚\",\"coverImg\":\"/img/cover/llm_learning_bg_2.png\",\"categories\":[\"ai-practice\"],\"permalink\":\"/ai-practice/poetry-bot\",\"tags\":[\"Agent\",\"AI\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"้›ถไปฃ็ ไธ็ญ‰ไบŽ้›ถ้€ป่พ‘๏ผš็ป“ๆž„ๅŒ– Prompt ้ฉฑๅŠจไธ‹็š„ Agent ๆญๅปบๅฎžๆˆ˜\",\"date\":\"2024-04-19 22:15:38\",\"capture\":\"1. ๅฎž่ทต่ƒŒๆ™ฏ\\nๅ‘จๆœซๅœจ็คพๅŒบๆดปๅŠจไธญๅ†ๆฌกๅฌๅˆฐไบ† LangGPT ไฝœ่€…ไบ‘ไธญๆฑŸๆ ‘ๅ…ณไบŽโ€œ็ป“ๆž„ๅŒ–ๆ็คบ่ฏโ€็š„ๅˆ†ไบซ๏ผŒ่ฎฉไบบๆ„Ÿ่งฆ้ข‡ๆทฑใ€‚่™ฝ็„ถๅฝ“ๅ‰ Agent ๆฆ‚ๅฟต็ซ็ƒญ๏ผŒๅฑ‚ๅ‡บไธ็ฉท็š„ๆก†ๆžถ่ฎฉไบบ็œผ่Šฑ็ผญไนฑ๏ผŒไฝ†ๅ›žๅฝ’ๆœฌ่ดจๆˆ‘ไปฌๅฐฑไผšๅ‘็Žฐ๏ผšSystem Prompt ็š„ๅบ•ๅฑ‚่ฎพ่ฎกใ€ไธŠไธ‹ๆ–‡ๅทฅ็จ‹ไปฅๅŠๆŒ‡ไปค้ตๅพชๆœบๅˆถ๏ผŒๆ‰ๆ˜ฏๅ†ณๅฎšไธ€ไธช Agent ็ต้ญ‚็š„ๅ…ณ้”ฎใ€‚\\nๆญฃๅทงๅคงๅ›ข้˜Ÿ่‡ช็ ”็š„้›ถไปฃ็  Agent ๅนณๅฐ่ฟ‘ๆœŸๅ‘ๅธƒไบ†ๆ–ฐ็‰ˆๆœฌ๏ผŒไธบไบ†ไบฒๆต‹ๅนณๅฐๆ€ง่ƒฝๅนถๅฎžๆˆ˜ๆผ”็ปƒ็ป“ๆž„ๅŒ– Prompt ็š„็ผ–ๅ†™ๆŠ€ๅทง๏ผŒๆˆ‘ๅ†ณๅฎšๅˆ›ๅปบไธ€ไธชโ€œ่ฏ—ๆญŒๅฐ็ฒพ็ตโ€ Agentใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ไธช่ถฃๅ‘ณๅฎž้ชŒ๏ผŒๆ›ดๆ˜ฏไธบไบ†ๆŽข็ดข AI ๅœจๆ–‡ๅญฆๅˆ›ไฝœ่ฟ™็งโ€œๆ„Ÿๆ€ง้ข†ๅŸŸโ€ไธญ๏ผŒๅฆ‚ไฝ•้€š่ฟ‡โ€œ็†ๆ€ง็š„็ป“ๆž„็บฆๆŸโ€่พพๅˆฐๆ›ด้ซ˜็š„่พ“ๅ‡บไธŠ้™ใ€‚\\n 2. ๅนณๅฐไธŽ\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"frontmatter\":{\"date\":\"2025-11-25 00:52:28\",\"title\":\"ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไธบไพฟไบŽ้ซ˜ๆ•ˆๅˆฉ็”จ AI ๅทฅๅ…ทๆๅ‡ๅญฆไน ใ€ๆœ็ดขๅ’Œๅˆ›ไฝœๆ•ˆ็އ๏ผŒๆœฌๆ–‡็ณป็ปŸๆ•ด็†ไบ†ไธปๆต็š„ AI ๅŠฉๆ‰‹ไธŽๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐ็›ธๅ…ณ่ต„ๆบใ€‚ๅ†…ๅฎนๅˆ†ไธบโ€œAI ๅŠฉๆ‰‹โ€๏ผˆๅฆ‚ ChatGPTใ€Claudeใ€Gemini ็ญ‰ๅฏน่ฏๅผๅŠฉๆ‰‹๏ผ‰ๅ’Œโ€œๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐโ€๏ผˆๅฆ‚ๅ†™ไฝœใ€็ป˜็”ป็ญ‰้ข†ๅŸŸ็š„ AI ๅทฅๅ…ทไธŽๅนณๅฐ๏ผ‰๏ผŒไธ”ๆ ‡ๆณจไบ†ๅ…ถๆ ธๅฟƒ่ƒฝๅŠ›ใ€้€‚ๅˆๅœบๆ™ฏ๏ผŒไปฅๅŠ็‰น่‰ฒไผ˜ๅŠฟใ€‚\",\"permalink\":\"/ai-learning/tools-assistant\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/source_sites_bg.png\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"AI ๅŠฉๆ‰‹\",\"AI ๆœ็ดข\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"date\":\"2025-11-25 00:52:28\",\"capture\":\"1. AI ๅŠฉๆ‰‹\\n> ้€‰ๆ‹ฉๅปบ่ฎฎ๏ผš ่‹ฑๆ–‡ไธบไธป โ†’ ไผ˜ๅ…ˆ ChatGPT / Claude / Gemini๏ผ›ไธญๆ–‡ไธบไธป โ†’ ไผ˜ๅ…ˆ Kimi / DeepSeek / ้€šไน‰ๅƒ้—ฎ๏ผ›้œ€่ฆ่”็ฝ‘ๅฎžๆ—ถไฟกๆฏ โ†’ Gemini / Grok๏ผ›้œ€่ฆๅˆ†ๆž้•ฟๆ–‡ๆกฃ โ†’ Claude / Kimi๏ผ›่ฟฝๆฑ‚ไฝŽๆˆๆœฌๅผ€ๆบ้ƒจ็ฝฒ โ†’ DeepSeekใ€‚\\n>\\n> ๆณจ๏ผš็›ฎๅ‰ๅ›ฝๅค–ๆจกๅž‹๏ผˆๅฆ‚ ChatGPTใ€Claudeใ€Gemini ็ญ‰๏ผ‰ๅœจ่‹ฑๆ–‡ๅค„็†ใ€ๅคšๆจกๆ€่ƒฝๅŠ›ใ€ๆ’ไปถ็”Ÿๆ€ๅ’Œ API ไธฐๅฏŒๆ€ง็ญ‰ๆ–น้ข๏ผŒๆ•ดไฝ“ไธŠไพ็„ถไผ˜ไบŽๅ›ฝๅ†…ๆจกๅž‹๏ผŒ้€‚ๅˆๅฏน่‹ฑๆ–‡ๅˆ›ไฝœใ€ๅคš่ฏญ่จ€ๆฒŸ้€šใ€ๅคๆ‚ๆŽจ็†ใ€ไปฃ็ ๅŠฉๆ‰‹็ญ‰ๅœบๆ™ฏๆœ‰ๆ›ด้ซ˜่ฆๆฑ‚็š„็”จๆˆทใ€‚ไธ่ฟ‡๏ผŒๅ›ฝๅ†…ๆจกๅž‹ๅœจไธญๆ–‡็†่งฃใ€ๆœฌๅœฐๅŒ–ใ€ๅˆ่ง„\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/11. LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/11. LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-01-06 15:58:53\",\"title\":\"LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆˆช่‡ณ 2026 ๅนด๏ผŒLLM API ๆœๅŠกๅทฒๅฝขๆˆ\\\"ๅฎ˜ๆ–น็›ด่ฟž + ็ฌฌไธ‰ๆ–น่šๅˆ\\\"็š„ๅŒ่ฝจๆ ผๅฑ€๏ผŒๆจกๅž‹่ƒฝๅŠ›ใ€ๅฎšไปทใ€ๅˆ่ง„ๆ€งไธŽๆŽฅๅ…ฅไพฟๅˆฉๆ€งๅทฎๅผ‚ๆ˜พ่‘—ใ€‚ๆœฌๆ–‡ไปŽ้€‰ๅž‹ๅ‰ๆ้—ฎๅ‡บๅ‘๏ผŒ็ณป็ปŸๆขณ็†ๅ›ฝ้™…ไธŽๅ›ฝๅ†…ไธปๆตๅฎ˜ๆ–น API ๅนณๅฐ๏ผŒไปฅๅŠ OpenRouterใ€็ก…ๅŸบๆตๅŠจ็ญ‰็ฌฌไธ‰ๆ–น่šๅˆๅนณๅฐ็š„ๆ ธๅฟƒ็‰น็‚น๏ผŒๅนถๆไพ›ๅŸบไบŽๅœบๆ™ฏ็š„ๅ†ณ็ญ–ๆก†ๆžถ๏ผŒๅธฎๅŠฉๅผ€ๅ‘่€…ๅ’Œไบงๅ“ๅ›ข้˜Ÿๅฟซ้€Ÿ้”ๅฎšๆœ€้€‚ๅˆ่‡ชๅทฑ็š„ๆ–นๆกˆใ€‚\",\"permalink\":\"/ai-learning/llm-api-resources\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"LLM API\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"date\":\"2026-01-06 15:58:53\",\"capture\":\"1. ้€‰ๆจกๅž‹ๅ‰๏ผŒๅ…ˆๆƒณๆธ…ๆฅš่ฟ™ๅ‡ ไปถไบ‹\\nๅœจๅฏนๆฏ”ๅ…ทไฝ“ๅนณๅฐไน‹ๅ‰๏ผŒๅฏไปŽไปฅไธ‹ๅ››ไธช็ปดๅบฆๆขณ็†่‡ช่บซ่ฏ‰ๆฑ‚๏ผŒ้ฟๅ…\\\"็œผ่Šฑ็ผญไนฑๅŽ้šไพฟ้€‰ไธ€ไธช\\\"๏ผš\\n| ็ปดๅบฆ | ๅ…ณ้”ฎ้—ฎ้ข˜ | ๅฝฑๅ“ๅ†ณ็ญ– |\\n|:-----|:--------|:--------|\\n| ไปปๅŠก็ฑปๅž‹ | ๆ˜ฏ้€š็”จๅฏน่ฏใ€ไปฃ็ ็”Ÿๆˆใ€้•ฟๆ–‡ๆกฃๅˆ†ๆž๏ผŒ่ฟ˜ๆ˜ฏๅคšๆจกๆ€็†่งฃ๏ผŸ | ไธๅŒๆจกๅž‹ๅœจๅž‚็›ด่ƒฝๅŠ›ไธŠๅทฎ่ทๆ‚ฌๆฎŠ |\\n| ๆˆๆœฌ้ข„็ฎ— | ๆฏๆœˆ่ฐƒ็”จ้‡็บง๏ผŸ่ƒฝๅฆๆŽฅๅ—ๆตทๅค–็ป“็ฎ—ไธŽๆฑ‡็އ้ฃŽ้™ฉ๏ผŸ | ๅ›ฝไบงๆจกๅž‹ Token ไปทๆ ผ้€šๅธธไฝŽ 3๏ฝž10 ๅ€ |\\n| ๅˆ่ง„ไธŽ้ƒจ็ฝฒ | ๆ•ฐๆฎ่ƒฝๅฆๅ‡บๅขƒ๏ผŸ่ƒฝๅฆไฝฟ็”จๆตทๅค–ๆœๅŠก๏ผŸๆ˜ฏๅฆ้œ€่ฆ็งๆœ‰ๅŒ–้ƒจ็ฝฒ๏ผŸ | ๆถ‰ๅŠๆ”ฟๅŠก/้‡‘่ž/ๅŒป็–—ๅœบๆ™ฏๅฟ…้กป่€ƒ่™‘ |\\n| ็ฝ‘็ปœ็Žฏๅขƒ | ๅผ€ๅ‘/้ƒจ็ฝฒ็Žฏๅขƒ่ƒฝๅฆ็จณๅฎš่ฎฟ\"},{\"url\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/01.ๅฅฝไนฆๆŽจ่\",\"relativePath\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/01.ๅฅฝไนฆๆŽจ่\",\"frontmatter\":{\"title\":\"ๅฅฝไนฆๆŽจ่\",\"date\":\"2024-01-01 16:00:00\",\"description\":\"่ฏปไนฆๅฟƒๅพ—ใ€ๆŽจ่ไนฆ็ฑๅ’Œ้˜…่ฏปๆŠ€ๅทง\",\"categories\":[\"growth\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/books_reading_bg.png\",\"permalink\":\"/growth/books\",\"tags\":[\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\",\"่ต„ๆบๆŽจ่\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฅฝไนฆๆŽจ่\",\"date\":\"2024-01-01 16:00:00\",\"capture\":\"<script setup\\n import BookRecommend from './@fragment/BookRecommend.vue'\\n import {aiBooks, productSenseBooks, businessBooks, efficiencyBooks, growthBooks, humanSocialBooks, healthBooks} from './@fragment/recommends-data.ts'\\n</script>\\n 1. AI ไธŽๆ•ฐๅญฆๆ€็ปด\\n> ๅœจๅคงๆจกๅž‹ๅ‘ๅฑ•ๆ—ฅๆ–ฐๆœˆๅผ‚็š„ไปŠๅคฉ๏ผŒ็†่งฃ AI ๆœฌ่ดจไธŠๆ˜ฏๅœจๅ‡็บงๆˆ‘ไปฌ่ต„ๆทฑ็š„โ€œ่ฎค็Ÿฅๆ“\"},{\"url\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/10.่ฏปไนฆไธ‰่ฆไธ‰ไธ่ฆ\",\"relativePath\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/10.่ฏปไนฆไธ‰่ฆไธ‰ไธ่ฆ\",\"frontmatter\":{\"date\":\"2025-03-06 11:42:20\",\"title\":\"่ฏปไนฆโ€œไธ‰่ฆโ€ๅ’Œโ€œไธ‰ไธ่ฆโ€\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจไฟกๆฏ็ˆ†็‚ธ็š„ๆ—ถไปฃ๏ผŒ่ฏปไนฆไพ็„ถๆ˜ฏ่Žทๅ–ๆทฑๅบฆ็Ÿฅ่ฏ†ๆœ€้ซ˜ๆ•ˆ็š„ๆ–นๅผไน‹ไธ€ใ€‚ไฝ†โ€œๆง่ตทไนฆโ€ๅนถไธ็ญ‰ไบŽโ€œๆœ‰ๆ”ถ่Žทโ€๏ผŒๆ€Žไนˆ่ฏปๅพ€ๅพ€ๆฏ”่ฏปไป€ไนˆๆ›ด้‡่ฆใ€‚ๆœฌๆ–‡ๆ€ป็ป“ไบ†้ซ˜ๆ•ˆ้˜…่ฏป็š„โ€œไธ‰่ฆโ€ไธŽโ€œไธ‰ไธ่ฆโ€๏ผšไปŽๅฎŒๆ•ด้˜…่ฏป่ง‚ๆ‘ฉๅคงๅธˆๆ€็ปดใ€ๅธฆ็€้—ฎ้ข˜ๆž„ๅปบ็Ÿฅ่ฏ†ๆ ‘๏ผŒๅˆฐ้€š่ฟ‡่ฎจ่ฎบๆฃ€้ชŒ็†่งฃ๏ผ›ๅŒๆ—ถๆ้†’้˜…่ฏป่€…่ญฆๆƒ•ๅ“€ๆ€จๅฟƒๆ€ๅฏน้˜…่ฏปๅˆ่กท็š„ๅผ‚ๅŒ–ใ€้ฟๅ…้™ทๅ…ฅๅฏน็‰ฉ็†ๅช’ไป‹็š„โ€œ็Žฉ็‰ฉไธงๅฟ—โ€๏ผŒไปฅๅŠๅˆ‡ๅฟŒ่„ฑ็ฆป็Žฐๅฎž็š„โ€œ็œŸ็ฉบโ€้˜…่ฏปใ€‚้˜…่ฏปไธไป…ๆ˜ฏๅ‘ๅ†…ๆŽข็ดข็š„็ฒพ็ฅžไน‹ๆ—…๏ผŒๆ›ดๆ˜ฏๅ‘ๅค–็†่งฃ็œŸๅฎžไธ–็•Œใ€ๅˆ›้€ ็คพไผšไปทๅ€ผ็š„ๅฎž็”จๅทฅๅ…ทใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/reading_need.png\",\"permalink\":\"/pages/growth/reading-tips\",\"sticky\":1,\"top\":true,\"categories\":[\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\"],\"tags\":[\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ฏปไนฆโ€œไธ‰่ฆโ€ๅ’Œโ€œไธ‰ไธ่ฆโ€\",\"date\":\"2025-03-06 11:42:20\",\"capture\":\"<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/reading_need.png\\\" style=\\\"width: 100%; border-radius: 8px; margin-bottom: 20px;\\\" alt=\\\"about site background\\\">\\n 1. ๆˆ‘ไปฌไธบไป€ไนˆ้œ€่ฆ่ฏปไนฆ๏ผŸ\\n่ฏปไนฆๆ˜ฏไปŽๅค–็•ŒๆŽฅๅ—ไฟกๆฏ็š„ไธ€็งๆ–นๅผ๏ผŒไธŽ่Šๅคฉใ€ๆต่งˆ็ฝ‘้กตใ€ๅฌๆ’ญๅฎขใ€็œ‹็”ต่ง†ๅนถๆ— ๆœฌ่ดจๅŒบๅˆซใ€‚ไฝ†ไนฆ่ฟ™็งๅช’ไป‹ไธŽๅ…ถไป–ไฟกๆฏๅช’ไป‹็›ธๆฏ”๏ผŒๆœ‰ๅ…ถ็‹ฌๆœ‰็š„ไผ˜ๅŠฟ๏ผš\\n- ๆทฑๅบฆไธŽไธฅ่ฐจ๏ผšไนฆ็ฑๅพ€ๅพ€ๆ˜ฏๅˆ›ไฝœ่€…ๅคšๅนดๆ€่€ƒใ€้•ฟๆœŸ\"},{\"url\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/21.ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"relativePath\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/21.ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"frontmatter\":{\"date\":\"2025-11-10 12:52:28\",\"title\":\"ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจไฟกๆฏ้ซ˜ๅบฆ้€ๆ˜Ž็š„ๆ—ถไปฃ๏ผŒๆต…ๅฑ‚ไฟกๆฏๅทฎๅทฒ่ขซๅฝปๅบ•ๆŠนๅนณ๏ผŒไฟกๆฏๆœฌ่บซ็š„ไปทๅ€ผไธๆ–ญ็จ€้‡Šใ€‚ไบบไธŽไบบ็š„ๆ ธๅฟƒๅทฎ่ทไธๅ†ๆ˜ฏ่Žทๅ–ไฟกๆฏ็š„ๆธ ้“๏ผŒ่€Œๆ˜ฏ้ซ˜ไฟกๅ™ชๆฏ”ไฟกๆฏ็š„็”„ๅˆซ่ƒฝๅŠ›ใ€ๆทฑๅบฆๆ€่€ƒ่ƒฝๅŠ›ไธŽ่ฝๅœฐๆ‰ง่กŒๅŠ›๏ผŒๅ”ฏๆœ‰ไปฅๆ€่€ƒๆ ก้ชŒไฟกๆฏใ€ไปฅๆ‰ง่กŒ้ชŒ่ฏไปทๅ€ผ๏ผŒๅฝขๆˆโ€œไฟกๆฏ-ๅˆคๆ–ญ-ๅฎž่ทต-ๅ้ฆˆโ€็š„ๆ€่€ƒไธŽๆ‰ง่กŒ้—ญ็Žฏ๏ผŒๆ‰่ƒฝ็ช็ ดไฟกๆฏๅฃๅž’ใ€ๅˆ›้€ ็œŸๆญฃไปทๅ€ผใ€‚\",\"permalink\":\"/growth/distinguish-useful-information\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"ไฟกๆฏ็ญ›้€‰\",\"ไธชไบบๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"date\":\"2025-11-10 12:52:28\",\"capture\":\"ๅœจไบ’่”็ฝ‘ๆŠ€ๆœฏๆ™ฎๅŠ็š„ๅฝ“ไธ‹๏ผŒไฟกๆฏๅทฒไปŽโ€œ็จ€็ผบ่ต„ๆบโ€่ฝฌๅ˜ไธบโ€œๆณ›ๆปฅ่ต„ๆบโ€ใ€‚่ฟ‡ๅŽปไพ่ต–ๅœฐๅŸŸๅทฎใ€็จ€็ผบๆ€ง็š„ๆต…่กจๅฑ‚ไฟกๆฏๅทฎ้€ๆธ่ขซๆŠนๅนณ๏ผŒๅผ€ๅ‘่€…้€š่ฟ‡็ฝ‘็ปœๅฏ่ฝปๆพ่Žทๅ–ๅ„็ฑปๆŠ€ๆœฏๆ–‡ๆกฃใ€่กŒไธšๅŠจๆ€ใ€่ตš้’ฑๆจกๅผ๏ผŒไฝ†็œŸๆญฃ่ƒฝๅฐ†ไฟกๆฏ่ฝฌๅŒ–ไธบไปทๅ€ผ็š„ไปๆ˜ฏๅฐ‘ๆ•ฐไบบใ€‚ๆ ธๅฟƒ็Ÿ›็›พๅทฒไปŽโ€œ่Žทๅ–ไฟกๆฏโ€่ฝฌๅ˜ไธบโ€œ้ฉพ้ฉญไฟกๆฏโ€โ€”โ€”ไฟกๆฏๆœฌ่บซ็š„ไปทๅ€ผๅผฑๅŒ–๏ผŒ่€Œไฟกๆฏ่งฃ่ฏป่ƒฝๅŠ›ใ€่กŒๅŠจๆ‰ง่กŒๅŠ›ใ€็ญ›้€‰็”„ๅˆซๅŠ›ๆˆไธบๆ‹‰ๅผ€ๅทฎ่ท็š„ๅ…ณ้”ฎใ€‚\\n 1. ๆ‰“็ ดโ€œไฟกๆฏๅทฎโ€็š„็ณป็ปŸๆ€ง้”™่ง‰\\n่ฟ‡ๅŽป๏ผŒ็”ฑไบŽๅœฐๅŸŸ้™ๅˆถๅ’Œไผ ๆ’ญไป‹่ดจ็š„็จ€็ผบ๏ผŒ่ตš้’ฑๆˆ–ๆˆๅŠŸ็š„ๆจกๅผๅพ€ๅพ€ๆ˜ฏ็ฒ—ๆ”พ็š„๏ผŒๅปบ็ซ‹ๅœจๆต…่กจๅฑ‚็š„โ€œไฟกๆฏไธๅฏน็งฐโ€ไธŠ๏ผŒไฝ†้š็€ๆŠ€ๆœฏ็š„ๆผ”่ฟ›๏ผŒ่ฟ™็งไฝŽ็ปดๅบฆ็š„ไฟกๆฏๅทฎๆญฃๅœจ่ขซ่ฟ…้€ŸๆŠนๅนณใ€‚ไบบไปฌ็ปๅธธ้™ทๅ…ฅโ€œ่ตšไธๅˆฐ้’ฑ/ๆŠ“ไธไฝๆœบไผšๆ˜ฏๅ› ไธบ็ผบๅฐ‘ไฟกๆฏๅทฎโ€็š„่ฎค็Ÿฅๅๅทฎ๏ผŒไฝ†ๆœฌ่ดจ้—ฎ้ข˜ๅœจไบŽโ€œ\"},{\"url\":\"/40.ๅ…ณไบŽ/01.ๅ…ณไบŽๆˆ‘\",\"relativePath\":\"/40.ๅ…ณไบŽ/01.ๅ…ณไบŽๆˆ‘\",\"frontmatter\":{\"date\":\"2025-08-29 09:40:53\",\"title\":\"ๅ…ณไบŽๆˆ‘\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไปŽ Tech Stack ๅˆฐ Insight Stack๏ผŒๅฝ“ AI ๆŽฅ็ฎกไบ†ๅฎž็Žฐ๏ผŒๆˆ‘ๆ›ดๅ…ณๆณจๆžถๆž„็š„ๆƒ่กกไธŽไบงๅ“็š„ไปทๅ€ผ๏ผŒไธ“ๆณจ๏ผšๅทฅ็จ‹ๅŒ– Spec ไธŽ AI ็ผ–็จ‹็ฃจๅˆ็š„ๅฎž่ทต | Agent ่ฝๅœฐ | ็‹ฌ็ซ‹ไบงๅ“ใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/about_me_chinese.png\",\"permalink\":\"/about/me\",\"categories\":[\"ๅ…ณไบŽ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ…ณไบŽๆˆ‘\",\"date\":\"2025-08-29 09:40:53\",\"capture\":\"ๆˆ‘ๆ˜ฏ่ฐ\\nๆˆ‘ๆ˜ฏไธ€ๅๆ‹ฅๆœ‰ๅ…จๆ ˆ่ƒŒๆ™ฏ็š„ๅผ€ๅ‘่€…, ๆŠ€ๆœฏๅบ•่‰ฒๆบไบŽๅทฅไฝœๅ‡ ๅนดๅŽ็งฏ็ดฏไบ†่พƒไธบๆ‰Žๅฎž็š„ๅทฅ็จ‹ๅŒ–ๅฎž่ทตโ€”โ€”ไปŽๅŸบ็ก€็š„ Web ๅ‰็ซฏๅˆฐๅคๆ‚็š„่ทจๅนณๅฐๅฐ็จ‹ๅบๅŸบ็ก€ๆก†ๆžถ็š„ๆžถๆž„ๅ‡็บง๏ผŒๅ†ๅˆฐๅŸบไบŽ NodeJS ็š„ๆœๅŠก็ซฏๅผ€ๅ‘๏ผŒ่ฟ™ไบ›็ปๅކ้”ป็‚ผไบ†ๆˆ‘ๅฏน็ณป็ปŸๅคๆ‚ๅบฆ็š„ๆŽŒๆŽงๅŠ›ใ€ๅทฅ็จ‹ๅŒ–่ƒฝๅŠ›ไปฅๅŠ้กน็›ฎๆŽจๅŠจไธŽๅ›ข้˜Ÿๅˆไฝœ็š„่ƒฝๅŠ›ใ€‚\\n่‡ช 2023 ๅนด LLM ๆตชๆฝฎๆถŒ็Žฐไปฅๆฅ๏ผŒๆˆ‘ๆทฑๅบฆๆŠ•่บซไบŽ AI ็›ธๅ…ณ็š„ๆŠ€ๆœฏๆŽข็ดขใ€‚ๅœจๅทฅไฝœไธŽไธšไฝ™้กน็›ฎไธญ๏ผŒไธปๅฏผๆˆ–ๅ‚ไธŽไบ†ๅคšไธชๅŸบไบŽๅคงๆจกๅž‹็š„ๅบ”็”จ่ฝๅœฐ๏ผŒ็งฏ็ดฏไบ†ไปŽ Prompt ่ฐƒไผ˜ๅˆฐ Agentic Workflow ็ผ–ๆŽ’็š„ไธ€็บฟ็ป้ชŒ๏ผŒไนŸๅคšๆฌกๅ‚ๅŠ ไบ†ๅ›ฝๅ†… AI ็คพๅŒบ็›ธๅ…ณ็š„ๆŠ€ๆœฏๅˆ†ไบซไธŽไบคๆตๆดปๅŠจ๏ผŒไบ†่งฃไบ† AI ้ข†ๅŸŸๆœ€ๆ–ฐ็š„ๆŠ€ๆœฏ่ถ‹ๅŠฟไธŽๅฎž่ทตใ€‚\\n\\n็›ฎๅ‰๏ผŒๆˆ‘ไธป่ฆๅœจ\"},{\"url\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"relativePath\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"frontmatter\":{\"date\":\"2024-01-15 22:16:00\",\"title\":\"่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไนฆๆŽฅไธŠๆ–‡ใ€Šๅ‘ๅ†…ๆ€ๅ˜ใ€‹๏ผŒๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ๅœจๅŽ็–ซๆƒ…ๆ—ถไปฃไปŽโ€œ้—ญๅ…ณโ€่ตฐๅ‘โ€œๅ‘ๅค–ไฝ“้ชŒโ€็š„ๅฐ่ฏ•ไธŽๅฟƒๅพ—ใ€‚้ขๅฏนๆœบๆขฐๆ‰ง่กŒๅธฆๆฅ็š„โ€œ็›ฎๆ ‡้šง้“โ€ๆ•ˆๅบ”๏ผŒ็ฌ”่€…ๅฐ่ฏ•่ทณๅ‡บๅ•ไธ€็š„็บฟๆ€ง่ง„ๅˆ’๏ผŒ่ฝฌ่€Œๅฏปๆฑ‚ๆ›ดๅบ•ๅฑ‚็š„่ฎค็Ÿฅ้€ป่พ‘ใ€‚ๆ–‡็ซ ้€š่ฟ‡้‡่ฏปใ€Š่ฆไบ‹็ฌฌไธ€ใ€‹ๅปบ็ซ‹ๅนณ่กก่ง‚๏ผŒๅˆฉ็”จ็ณป็ปŸๆ€็ปด๏ผˆๅขžๅผบ/่ฐƒ่Š‚ๅ›ž่ทฏ๏ผ‰ๆž„ๅปบๆดžๅฏŸๅŠ›๏ผŒๅนถ้‡ๆ–ฐๆ‹พ่ตทๆ•ฐๅญฆๆ€็ปด๏ผˆๆฆ‚็އใ€็จ€็–ๆ€งใ€ๅคšๆ ทๆ€ง๏ผ‰ไธŽ AI ่ง†่ง’ใ€‚่ฟ™ๆ˜ฏไธ€ๆฌกๅ…ณไบŽๅฆ‚ไฝ•็”จ็ง‘ๅญฆๆจกๅž‹ๆ›ฟไปฃๆœบๆขฐๆ‰ง่กŒ๏ผŒไปŽๆœฌ่ดจไธŠ้‡ๆž„ไธชไบบ่ฎค็Ÿฅไฝ“็ณป็š„ๆทฑๅบฆๅค็›˜ใ€‚\",\"permalink\":\"/growth/outer-experience\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/outer_experience_bg.png\",\"sticky\":1,\"top\":true,\"tags\":[\"็ณป็ปŸๆ€็ปด\",\"ๆ•ฐๅญฆๆ€็ปด\",\"ๆจกๅž‹ๆ€็ปด\",\"AI\",\"็–ซๆƒ…\"],\"categories\":[\"ไธชไบบๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"date\":\"2024-01-15 22:16:00\",\"capture\":\"1. ๅ†™ๅœจๅ‰้ข\\nๆ—ถๅ…‰่่‹’๏ผŒ็–ซๆƒ…ๅทฒ็ป็”ฑๆ”พๅผ€็Šถๆ€็ปง็ปญๆผ”ๅ˜ไธบ่ฟ‡ๅŽปๅผ็Šถๆ€๏ผŒๆˆ‘ไปฌไบบ็ฑปไนŸไปŽใ€Ž้—ญๅ…ณใ€่ตฐๅ‘ไบ†ใ€Ž่‡ช็”ฑใ€็š„็คพไผš็”Ÿๆดป็Šถๆ€ใ€‚็ฌ”่€…ไฝœไธบ็คพไผšไธญ็š„ๆ™ฎ้€šไธ€ๅ‘˜๏ผŒ่‡ช็„ถไนŸไธ็ฆปๅค–๏ผŒๅœจ 2023 ๅนดๅˆๆด‹ๆด‹ๆด’ๆด’ๅ†™ไบ†ไธ€็ฏ‡ๅœจๅฅๅบทใ€่ฏปไนฆไธŽๅญฆไน ใ€ๆ—ถ้—ด็ฎก็†ๅ’Œๆททๅˆๅทฅไฝœๅˆถๅ‡ ไธชๆ–น้ข็š„ๅฎž่ทตไธŽ็†่งฃ๏ผˆๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ๏ผ‰๏ผŒๅฐฑๅผ€ๅผ€ๅฟƒๅฟƒๅœฐๅ‘ๅ‰็œ‹๏ผŒๅญฆ็€ๅ‘ๅค–ไฝ“้ชŒไบ†ใ€‚\\n้‚ฃไนˆ้—ฎ้ข˜ๆฅไบ†๏ผŒ็›ธๆฏ”ไน‹ๅ‰ๅ†™ๅ‡บ้•ฟๆ–‡๏ผŒ็ฌ”่€…ๅˆๆ˜ฏ่ฟ‘ไธ€ๅนดๆฒกๆœ‰ๅ‘ๅค–่พ“ๅ‡บ่ฝฏๆ–‡ไบ†ใ€‚ๅ› ๆญค๏ผŒไนฆๆŽฅไธŠๆ–‡๏ผŒๆœฌๆฌก็ปง็ปญๆ–ฐๅขžไธ€็ฏ‡ไธญ็Ÿญๆ–‡๏ผŒๆผซ่ฐˆไธ€ไธ‹็–ซๆƒ…ๅŽ็š„ๅ‘ๅค–ไฝ“้ชŒใ€‚\\nๅœจๅ€’้€ผ่‡ชๅทฑๅ…ณๆณจ่บซไฝ“ๅฅๅบทๅ’Œๆ—ถ้—ด็ฎก็†ๅŽ๏ผŒ่™ฝ็„ถๅœจไฝ“้‡ๅ’Œๆ•ˆ็އไธคไธชๆ–น้ขๆœ‰ไธ€ๅฎš็š„ๆญฃๅ‘ๆ•ˆๆžœ๏ผŒไฝ†็ฌ”่€…ๅœจ่ฟž็ปญๅšๆŒ่ฝๅœฐๆ‹†่งฃๅ‡บๆฅ็š„็›ฎๆ ‡่ฟ‡็จ‹ไธญ๏ผŒๆœ‰ๆ—ถ\"},{\"url\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"relativePath\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"frontmatter\":{\"date\":\"2023-01-08 10:23:50\",\"title\":\"ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅฆ‚ไฝ•้ฟๅ…ๅ†…่€—๏ผŸๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ไธ‰ๅนด้—ด็š„โ€œ่‡ชๆˆ‘้‡ๆž„โ€ๅฎž้ชŒใ€‚ๆ–‡็ซ ๆ‘’ๅผƒไบ†ๅ•็บฏ็š„ๆƒ…็ปชๅฎฃๆณ„๏ผŒ่€Œๆ˜ฏๅˆฉ็”จๅˆ†่งฃๆณ•ใ€ๆธ่ฟ›ๆ˜Ž็ป†ๅ’Œ็ปŸ่ฎกๅˆ†ๆž็ญ‰ๅทฅ็จ‹ๆ€็ปด๏ผŒๅฏนๅฅๅบท้ฅฎ้ฃŸใ€็Ÿฅ่ฏ†ไฝ“็ณปใ€ๆ—ถ้—ดๅˆ†้…ๅŠ่ฟœ็จ‹ๅไฝœ่ฟ›่กŒไบ†็ณป็ปŸๅŒ–ๆ”น้€ ใ€‚่ฟ™ๆ˜ฏไธ€ไปฝๅ…ณไบŽๅฆ‚ไฝ•ๅœจๆ— ๅธธ็š„ๅค–้ƒจ็Žฏๅขƒไธญ๏ผŒๅปบ็ซ‹ๅ†…ๅœจ็กฎๅฎšๆ€ง็งฉๅบ็š„่กŒๅŠจๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/growth/inner-experience\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/refactor_life.png\",\"sticky\":1,\"top\":true,\"categories\":\"ไธชไบบๆˆ้•ฟ\",\"tags\":[\"ๅฅๅบท\",\"ๆ—ถ้—ด\",\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\",\"่ฟœ็จ‹ๅไฝœ\",\"็–ซๆƒ…\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"date\":\"2023-01-08 10:23:50\",\"capture\":\"<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/refactor_life.png\\\" alt=\\\"็›ฎๆ ‡ๅˆฐ่ทต่กŒๆ€็ปดๆต็จ‹็คบๆ„ๅ›พ\\\" style=\\\"width: 100%; border-radius: 8px;\\\" />\\n ๅ†™ๅœจๅ‰้ข\\n่‡ชๅŽปๅนด 7 ๆœˆไปฝ่ฟ็งปๅ‡ ็ฏ‡ๆ—งๆ–‡ๅŽ๏ผŒ็ฌ”่€…ๅฐฑๆฒกๆœ‰็ปง็ปญๅ†™่ฝฏๆ–‡ไบ†๏ผŒๆƒณไธๅˆฐๅ†ๆฌกๅ†™ๆ–‡็ซ ๆ—ถ็–ซๆƒ…ๆ”ฟ็ญ–ๅทฒ็ป่ฐƒๆ•ด๏ผŒไธ”ๅˆๆญฅๅฎž็Žฐไบ†ๅผ€ๆ”พใ€‚้‚ฃไนˆ้—ฎ้ข˜ๆฅไบ†๏ผŒไธบไป€ไนˆ่ฆ็ปง็ปญๅ†™ๆ–‡็ซ ๅ‘ข๏ผŸๆฆ‚ๆ‹ฌๆฅ่ฎฒ๏ผŒๆœ‰ไธคไธชๆ–น้ข็š„ๅŽŸๅ› ๏ผš\\n* ็›ดๆŽฅๅŽŸๅ› ๏ผš็–ซๆƒ…่ฟ™ไธ‰ๅนด๏ผŒๆฏไธชไบบ้ƒฝไฝ“้ชŒๅˆฐไบ†ไธๅŒไบŽไน‹ๅ‰็š„ โ€œ้šพโ€๏ผŒไนŸ้ƒฝๆœ‰\"},{\"url\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/20.ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹้˜ถๆฎต้š็ฌ”ๆฑ‡ๆ€ป\",\"relativePath\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/20.ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹้˜ถๆฎต้š็ฌ”ๆฑ‡ๆ€ป\",\"frontmatter\":{\"date\":\"2022-09-12 08:16:00\",\"title\":\"็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ”นๅ–„็š„ๆ–นๅผๆŽจๅŠจๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไปŽโ€œไนฆ็”Ÿๆ„ๆฐ”โ€ๅˆฐๅˆๅ…ฅ็คพไผš็š„โ€œไธญๅนดๆฒน่…ปโ€ๅฑๆœบ๏ผŒไธ€ๆฌกๅฅๅบท่ญฆๆŠฅ่ฎฉ็ฌ”่€…ๅผ€ๅฏไบ†่ฟ™ๅœบๆทฑๅˆป็š„่‡ชๆˆ‘ๅฏน่ฏไธŽ่กŒๅŠจใ€‚ๆœฌๆ–‡่ฏฆ็ป†ๅค็›˜ไบ†็ฌ”่€…ไปŽๅฅๅบทๅฑๆœบๅ‡บๅ‘๏ผŒ้€š่ฟ‡ๅ››ไธช้˜ถๆฎต็š„ๅพชๅบๆธ่ฟ›๏ผŒๆˆๅŠŸๅฎž็Žฐไฝ“้‡็ฎก็†็š„่ฟ‡็จ‹ใ€‚ๅŒบๅˆซไบŽ็›ฒ็›ฎ่ทŸ้ฃŽ๏ผŒ็ฌ”่€…ๅœจๅฎž่ทตไธญๅผ•ๅ…ฅไบ†็›ฎๆ ‡ๆ‹†่งฃใ€ๆ•ฐๆฎ็›‘ๆŽง๏ผˆไฝ“่„‚็งคๆŒ‡ๆ ‡๏ผ‰ใ€่ทจ้ข†ๅŸŸ็ป้ชŒ่ฟ็งป๏ผˆๅฆ‚้กน็›ฎ็ฎก็†ใ€ๆ—ถ้—ด็ฎก็†๏ผ‰ไปฅๅŠๅฏนไธๅŒ็ญ–็•ฅ๏ผˆๅฆ‚ๆŽงๅˆถ้ฅฎ้ฃŸใ€ๅŠ ๅคงๆ— ๆฐง่ฟๅŠจใ€ๅฐ่ฏ•ไธๅƒไธป้ฃŸ๏ผ‰็š„่พฉ่ฏ้‡‡็บณใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ไปฝๅ‡่‚ฅ่ฎฐๅฝ•๏ผŒๆ›ดๆ˜ฏไธ€ๆฌก็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ€็ปด้‡ๆž„็”Ÿๆดป็งฉๅบใ€ๅฎž็Žฐ่บซๅฟƒๅ‡็บง็š„ๅฎžๆ“ๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/growth/weight-loss\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/health_bg.png\",\"top\":true,\"tags\":[\"ๅฅๅบท\",\"่ฟๅŠจ\"],\"categories\":[\"ไธชไบบๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ”นๅ–„็š„ๆ–นๅผๆŽจๅŠจๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹\",\"date\":\"2022-09-12 08:16:00\",\"capture\":\"ๅ†™ๅœจๅ‰้ข\\nๅœจ็ปๆตŽๅฟซ้€Ÿๅ‘ๅฑ•็š„ๅคง่ƒŒๆ™ฏไธ‹๏ผŒไธ€ๆ‰นๅˆไธ€ๆ‰น็š„ๅคงๅญฆ็”Ÿ้™†็ปญ่ตฐๅ‡บๆ ก้—จ่ฟ›ๅ…ฅ็คพไผšๅคง่ˆžๅฐใ€‚้š็€ๅนด้พ„ไธŽๅทฅไฝœๅนด้™็š„ๅขž้•ฟ๏ผŒไธ็Ÿฅ็ฝฎ่บซไบŽๅ…ถไธญ็š„ไฝ ๆ˜ฏๅฆๆ„Ÿๆ…จ่ฟ‡่‡ชๅทฑๅœจ้˜…ๅކไธŠไปŽโ€œไนฆ็”Ÿๆ„ๆฐ”โ€ๆธๆธๆผ”ๅ˜ไธบโ€œๅ››ๅนณๅ…ซ็จณ๏ผŒๆธธๅˆƒๆœ‰ไฝ™โ€๏ผ›ๅœจ่บซไฝ“ๅ…ปๆŠคๆ–น้ขไปŽโ€œ่บซๆๆ— ๆ•Œ๏ผŒๅนด้พ„ๆˆ่ฟท๏ผŒๅฎžๆ‰“ๅฎžไธ€ไธชไผ ๅฅ‡โ€ๆผ”ๅ˜ไธบโ€œไธญๅนดๆฒน่…ปโ€ใ€‚ๆฏไธชไบบๅคšๅฐ‘้ƒฝๆœ‰่‡ชๅทฑ็š„็ญ”ๆกˆ๏ผŒ็ฌ”่€…็š„็ญ”ๆกˆๆ˜ฏ๏ผš่ตฐๅ‡บๆ ก้—จ่ฟ›ๅ…ฅ็คพไผšๅŽ๏ผŒๅฝ“ๅˆๅฏน่บซ่พนไบบๆœ‰็‚น่‹›ๅˆป๏ผŒ้‡ไบ‹็ซๆ€ฅ็ซ็‡Ž็š„่‡ชๅทฑ้€ๆธๅพ—ๅˆฐไบ†ๆ”นๅ–„ใ€‚่บซไฝ“ๅดๅ› ๅŽŸๆœฌๅœจๅคงๅญฆๆ—ถๆฒกๆœ‰ๆ€Žไนˆๅœจๆ„๏ผŒ็ป่ฟ‡้•ฟๅนด็ดฏๆœˆๅœฐๆด—็คผไบฎไบ†ไธ€ๆฌกๅฐ็บข็ฏใ€‚ๅœจๅบทๅคๆœŸ้—ด๏ผŒไธๆญขไธ€ๆฌกๅๆ€่ฟ‡ไน‹ๅ‰็š„็”Ÿๆดปๆ–นๅผๅ’Œๅ…ฅไธ–ๆจกๅผ๏ผŒๆƒณไธ€ๆƒณ + ๅ››ๅค„็œ‹ไธ€็œ‹ๅŽ๏ผŒๆ…ขๆ…ขไนŸๅฐฑๅผ€ๆ‚Ÿไบ†๏ผŒ่‡ช็„ถ่ฆๅฏๅŠจไธ€ไบ›ๆ”นๅ˜ๅฐ่ฏ•ใ€‚\\nๅ› ๆญค๏ผŒไนŸๅฐฑๆœ‰ไบ†่ฟ™็ฏ‡ๅ‡่‚ฅ่ฟ™ไปถ\"},{\"url\":\"/@pages/categoriesPage\",\"relativePath\":\"/@pages/categoriesPage\",\"frontmatter\":{\"title\":\"ๅˆ†็ฑป\",\"categoriesPage\":true,\"permalink\":\"/categories\",\"article\":false,\"layout\":\"home\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅˆ†็ฑป\",\"date\":\"2026-04-21 06:29:18\",\"capture\":\"\"},{\"url\":\"/@pages/tagsPage\",\"relativePath\":\"/@pages/tagsPage\",\"frontmatter\":{\"title\":\"ๆ ‡็ญพ\",\"permalink\":\"/tags\",\"tagsPage\":true,\"article\":false,\"layout\":\"home\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆ ‡็ญพ\",\"date\":\"2026-04-21 06:29:18\",\"capture\":\"\"},{\"url\":\"/\",\"relativePath\":\"/\",\"frontmatter\":{\"layout\":\"home\",\"title\":\"้ฆ–้กต\",\"titleTemplate\":\":title | Insight Stack Blog\",\"tk\":{\"teekHome\":true,\"features\":[{\"title\":\"ๅ…จๆ ˆ\",\"details\":\"Engineering ร— Product ร— AI\",\"link\":\"/fullstack/overview\",\"image\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/topic/icon_full_stack_circle.webp\"},{\"title\":\"AI ๅญฆไน ไธŽๅฎž่ทต\",\"details\":\"Model ร— Agent ร— Engineering\",\"link\":\"/ai-learning/overview\",\"image\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/topic/icon_llm_circle.webp\"},{\"title\":\"ไบงๅ“ Sense\",\"details\":\"Impact ร— Simplicity\",\"link\":\"/product-sense\",\"image\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/topic/icon_product_sense_circle.webp\"}]},\"hero\":{\"name\":\"Insight Stack Blog\",\"text\":\"AI & ๅ…จๆ ˆๆŠ€ๆœฏ & ไบงๅ“ๆ€่€ƒไธŽๆˆ้•ฟ่ฎฐๅฝ•\",\"tagline\":\"โœจๆŽข็ดขๆŠ€ๆœฏๅ‰ๆฒฟ๏ผŒๆฒ‰ๆท€ไบงๅ“ๆ€่€ƒ๏ผŒ่ฎฐๅฝ•ๆˆ้•ฟ็‚นๆปด๏ผŒ็›ธไฟกๆ—ถ้—ด็š„ๅŠ›้‡\",\"actions\":[{\"theme\":\"brand\",\"text\":\"ๅ…ณไบŽๆˆ‘\",\"link\":\"/about/me\"},{\"theme\":\"alt\",\"text\":\"่ต„ๆบๆŽจ่\",\"link\":\"/growth/sites\"},{\"theme\":\"alt\",\"text\":\"ไนฆ็ฑๆŽจ่\",\"link\":\"/growth/books\"}],\"image\":{\"src\":\"/img/full-stack/insight_stack.png\",\"alt\":\"Insight Stack Blog\"}},\"features\":[{\"icon\":\"๐Ÿ“–\",\"title\":\"ๅ…จๆ ˆๆŠ€ๆœฏ\",\"details\":\"ๅ‰็ซฏ & NodeJS & Python ็ญ‰\",\"link\":\"/fullstack/overview\"},{\"icon\":\"๐ŸŽ‰\",\"title\":\"ไบงๅ“ Sense\",\"details\":\"ไบงๅ“ Sense = ็”จๆˆทไปทๅ€ผๆดžๅฏŸ ร— ๅ•†ไธšๅฏ่กŒๆ€ง ร— ๆŠ€ๆœฏๅฏๅฎž็Žฐๆ€ง\",\"link\":\"/product-sense\"},{\"icon\":\"๐ŸŽ‡\",\"title\":\"LLM ๅบ”็”จๅญฆไน ไธŽๅฎž่ทต\",\"details\":\"ๆขณ็†ๅคง่ฏญ่จ€ๆจกๅž‹ๅบ”็”จใ€Agent ๆŠ€ๆœฏใ€ไธŠไธ‹ๆ–‡ๅทฅ็จ‹ไธŽAI็ผ–็จ‹็ญ‰ไธ“้ข˜๏ผŒๆŽข็ดข AI ๆ—ถไปฃ็š„ๆŠ€ๆœฏไธŽๅบ”็”จใ€‚\",\"link\":\"/ai-learning/overview\"},{\"icon\":\"๐Ÿ“\",\"title\":\"ไธชไบบๆˆ้•ฟ\",\"details\":\"ๆ”ถๅฝ•ไธ€ไบ›ไธ้”™็š„็ซ™็‚นใ€ๆŠ€ๆœฏๅ‘จๅˆŠใ€AI ็ญ‰่ต„ๆบ๏ผŒๆ€ป็ป“ไธชไบบๅœจๆ—ถ้—ด็ฎก็†ใ€ๆ•ˆ็އๅทฅๅ…ทใ€ๅฅๅบท็ฎก็†็ญ‰ๆ–น้ข็š„ๆˆ้•ฟ็ป้ชŒใ€‚\",\"link\":\"/about/me\"}]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"้ฆ–้กต\",\"date\":\"2026-04-21 06:29:18\",\"capture\":\"<style\\n/* ๅฝฉ่™นๅŠจ็”ป */\\n:root {\\n animation: rainbow 12s linear infinite;\\n}\\n.tk-avatar {\\n height: var(--tk-avatar-size) !important;\\n width: var(--tk-avatar-size) !important;\\n}\\n.tk-avatar--circle {\\n border-radius: 50% !important;\\n}\\n.vp-doc hero-text {\\n display: none !important;\\n}\\n@media (min-w\"}],\"originPosts\":[{\"url\":\"/01.ๅ…จๆ ˆ/00.overview\",\"relativePath\":\"/01.ๅ…จๆ ˆ/00.overview\",\"frontmatter\":{\"date\":\"2026-03-19 23:05:50\",\"title\":\"ๅ…จๆ™ฏไธ€่งˆ\",\"description\":\"ๆœฌ็ณปๅˆ—ๅ›ด็ป•็Žฐไปฃๅ…จๆ ˆๅผ€ๅ‘็š„่ƒฝๅŠ›ไฝ“็ณปๅฑ•ๅผ€๏ผŒไปŽ AI ๆ—ถไปฃ็š„ๅทฅ็จ‹ๆ€็ปดๅ‡บๅ‘๏ผŒ่ฆ†็›–ๅ‰็ซฏๅทฅ็จ‹๏ผˆReact/Vue/CSS๏ผ‰ใ€ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป๏ผˆTypeScript/JavaScript๏ผ‰ใ€ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่็ญ‰ๆ ธๅฟƒ้ข†ๅŸŸ๏ผŒๅธฎๅŠฉๆž„ๅปบไปŽ\\\"่ฎค็Ÿฅๅฑ‚ โ†’ ๆŠ€ๆœฏ้ข†ๅŸŸ โ†’ ๅทฅ็จ‹่ƒฝๅŠ› โ†’ ๅŸบ็ก€่ฎพๆ–ฝ\\\"็š„ๅฎŒๆ•ดๅ…จๆ ˆ็Ÿฅ่ฏ†ๅ›พ่ฐฑใ€‚\",\"categories\":[\"ๅ…จๆ ˆ\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"permalink\":\"/fullstack/overview\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ…จๆ™ฏไธ€่งˆ\",\"date\":\"2026-03-19 23:05:50\",\"capture\":\"<script setup\\nimport ArticleCardList from '@fragment/components/ArticleCardList.vue'\\nimport { fullStackCategories } from '@fragment/data/full-stack-data'\\n</script>\\n<ArticleCardList :categories=\\\"fullStackCategories\\\" />\"},{\"url\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"relativePath\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"frontmatter\":{\"date\":\"2025-10-24 11:05:50\",\"title\":\"ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจ AI ้‡ๅก‘่ฝฏไปถๅทฅ็จ‹็š„ไปŠๅคฉ๏ผŒๅ…จๆ ˆไธๅ†ๆ˜ฏๆŠ€ๆœฏ็š„็บฟๆ€งๅ ๅŠ ๏ผŒๆญฃๅœจไปŽโ€œๆŠ€ๆœฏๆ ˆๅ †็ Œโ€่ฝฌๅ‘โ€œ่ฎค็Ÿฅๆ ˆ้‡ๆž„โ€ใ€‚ๆœฌๆ–‡ๆๅ‡บ โ€œ(ๅทฅ็จ‹ + ไบงๅ“) ร— AIโ€ ็š„ๆ–ฐๅ…ฌๅผ๏ผŒๅŠฉๅŠ›ๅผ€ๅ‘่€…ๆž„ๅปบโ€œๆดžๅฏŸ-ๆžถๆž„-ๆ ๆ†โ€่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”๏ผŒๅˆฉ็”จ AI ๆ ๆ†่ฎฉ่‡ชๅทฑ่ฟ›ๅŒ–ไธบไปทๅ€ผๅˆ›้€ ่€…ใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"permalink\":\"/fullstack/ai-native\",\"sticky\":1,\"top\":true,\"tags\":[\"ๅ…จๆ ˆ\",\"AI\",\"ไบงๅ“\"],\"categories\":[\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"date\":\"2025-10-24 11:05:50\",\"capture\":\"<script setup>\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n 1. ๅผ•่จ€\\nๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒๅฝ“ๆˆ‘ไปฌ่ฐˆ่ฎบโ€œๅ…จๆ ˆๅทฅ็จ‹ๅธˆโ€ๆ—ถ๏ผŒ่„‘ๆตทไธญๆตฎ็Žฐ็š„ๅพ€ๅพ€ๆ˜ฏไธ€ๅผ ๅ†—้•ฟไธ”ไปคไบบ็–ฒๆƒซ็š„ๆŠ€ๆœฏๅทฅๅบๆธ…ๅ•ใ€‚\\nๅฐฑๅƒๆˆ‘ๆ›พ็ปไปฅไธบ็š„้‚ฃๆ ท๏ผŒๅ…จๆ ˆๅฐฑๆ˜ฏ็บฟๆ€ง็š„ๆŠ€่ƒฝๅ ๅŠ ไธŽ็‰ฉ็†ๅผ็š„ๆŠ€ๆœฏๆ‹ผๆŽฅ๏ผŒๆ˜ฏไธ€็งไพ้ ไบบๅŠ›ๅŽปๅกซ่กฅๆŠ€ๆœฏ้ธฟๆฒŸ็š„โ€œ่ฅฟ่ฅฟๅผ—ๆ–ฏๅผโ€ๅŠชๅŠ›๏ผš\\n* ็บฟๆ€ง็š„ๆŠ€่ƒฝๅ ๅŠ ๏ผšๆˆ‘ไปฌ่ขซ่ฟซๆˆไธบโ€œๅ…จ่ƒฝๆ‰‹โ€๏ผŒๅทฆๆ‰‹็”จ React/Vue ๆž„ๅปบ็ฒพ็พŽ็š„ UI๏ผŒๅณๆ‰‹็”จ Node/Go ็ผ–ๅ†™้ซ˜ๅนถๅ‘ API๏ผŒไธญ้—ด่ฟ˜่ฆๅค„็†ๆ•ฐๆฎๅบ“็š„ ACI\"},{\"url\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/02.้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/02.้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-03-02 11:05:50\",\"title\":\"้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ AI ๆž้€Ÿ้™ไฝŽไปฃ็ ็ผ–ๅ†™้—จๆง›๏ผŒๅ•็บฏ็š„โ€œไธšๅŠกไปฃ็ ็ฟป่ฏ‘ๅ™จโ€่ง’่‰ฒๆญฃๅŠ ้€Ÿ่ดฌๅ€ผใ€‚ๆœฌๆ–‡ไปŽๆŠ€ๆœฏๆผ”่ฟ›ไธŽไบงๅ“ๆ€่€ƒ็š„ไบคๆฑ‡็‚นๅ‡บๅ‘๏ผŒๅฐ† AI ๆ—ถไปฃ็š„ๅผ€ๅ‘่€…่ƒฝๅŠ›ๅ›พ่ฐฑ้‡ๆ–ฐๅˆ’ๅˆ†ไธบไธ‰ๅคงๆ ธๅฟƒๅœˆๅฑ‚๏ผšไบงๅ“ๅบ”็”จๅฑ‚๏ผˆInsight Stack๏ผ‰ใ€Agent ๅผ€ๅ‘ๅฑ‚ไธŽ AI ๅŸบ็ก€่ฎพๆ–ฝๅฑ‚ใ€‚ๆ— ่ฎบไฝ ๆ˜ฏๆทฑ่€•่ง†ๅ›พๅฑ‚ไบคไบ’ใ€็ฒพ้€š Node.js ็ญ‰ๆœๅŠก็ซฏๆžถๆž„็š„ๅผ€ๅ‘่€…๏ผŒ่ฟ˜ๆ˜ฏ่‡ดๅŠ›ไบŽๆŠ€ๆœฏ่ฝๅœฐ็š„ๆŽข็ดข่€…๏ผŒ้ƒฝ่ƒฝๅœจ่ฟ™ไปฝๆผ”่ฟ›ๆŒ‡ๅ—ไธญๆ‰พๅˆฐๆ‰“็ ด่ƒฝๅŠ›่พน็•Œใ€ๅ‘โ€œ่ถ…็บงไธชไฝ“โ€ไธŽโ€œAI ๆ™บ่ƒฝไฝ“ๆŒ‡ๆŒฅๅฎ˜โ€่ทƒ่ฟ็š„็ ดๅฑ€ไน‹้“ใ€‚\",\"permalink\":\"/fullstack/ai-engineer-capability\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"top\":true,\"tags\":[\"ๅ…จๆ ˆ\",\"AI\"],\"categories\":[\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"date\":\"2026-03-02 11:05:50\",\"capture\":\"<script setup>\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/ai_engineering_arc.png\\\" style=\\\"width: 100%; border-radius: 8px; margin-bottom: 20px;\\\" alt=\\\"about site back\"},{\"url\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/10.่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"relativePath\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/10.่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"frontmatter\":{\"date\":\"2025-12-06 22:05:50\",\"title\":\"่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"description\":\"่ฝฏไปถๅทฅ็จ‹ๆญฃ็ปๅކไปŽโ€œๆ‰‹ๅ†™้€ป่พ‘โ€ๅ‘โ€œๆ„ๅ›พ่ฐƒๅบฆโ€็š„่Œƒๅผ่ฟๅพ™ใ€‚Anthropic ็š„็ ”็ฉถๆญ็คบไบ† AI ๅนถ้ž็ฎ€ๅ•็š„ๆๆ•ˆๅทฅๅ…ท๏ผŒ่€Œๆ˜ฏ้€š่ฟ‡้‡Šๆ”พ 27% ๆ›พ็ปโ€œไธๅˆ’็ฎ—โ€็š„ๅทฅ็จ‹ไปปๅŠก๏ผŒ้‡ๅก‘ไบ†่ฝฏไปถ่ดจ้‡็š„ๅฏ†ๅบฆใ€‚ๅœจ่‡ช็„ถ่ฏญ่จ€ๅณ็ผ–็จ‹่ฏญ่จ€็š„ๆ—ถไปฃ๏ผŒๆˆ‘ไปฌ้œ€่ฆ้€š่ฟ‡่ง„ๆ ผ้ฉฑๅŠจ๏ผˆSDD๏ผ‰ไธŽๅคšๆ™บ่ƒฝไฝ“็ผ–ๆŽ’๏ผŒ็ ด่งฃโ€œ็›‘็ฃๆ‚–่ฎบโ€ๅธฆๆฅ็š„ๆŠ€่ƒฝๅนณๅบธๅŒ–ๅฑๆœบ๏ผŒๅฐ† AI ็š„ๆฆ‚็އๆ€ง็”Ÿๆˆ้ฉฏๅŒ–ไธบ็กฎๅฎšๆ€ง็š„ๅทฅ็จ‹ไบคไป˜ใ€‚ๅฝ“็ผ–็ ๆˆๆœฌ่ถ‹ไบŽ้›ถ๏ผŒๅทฅ็จ‹ๅธˆ็š„็ปˆๆžๅฃๅž’ๅฐ†ๆ˜ฏๅฎšไน‰ๅฎŒ็พŽ็š„ๅ“ๅ‘ณ๏ผŒไปฅๅŠๅœจ AI ่ฟท้›พไธญ่ฏ†็ ดๅนณๅบธ็š„ๆดžๅฏŸๅŠ›ใ€‚\",\"permalink\":\"/fullstack/ai-change-work-workflow/\",\"top\":true,\"tags\":[\"ๅ…จๆ ˆ\",\"AI\"],\"categories\":[\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"date\":\"2025-12-06 22:05:50\",\"capture\":\"<script setup>\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\nๅœฐๅ€๏ผšHow AI is transforming work at Anthropic\\nๆ ธๅฟƒๆ ‡็ญพ๏ผš`AI่พ…ๅŠฉ็ผ–็จ‹` `ๅทฅ็จ‹` `่Œƒๅผ่ฝฌ็งป` `ๅทฅไฝœ่ฝฌๅž‹` `็”ŸไบงๅŠ›ๆๅ‡` `ๆŠ€่ƒฝๅ‘ๅฑ•` `ไบบๆœบๅไฝœ` \\nไธ€ๅฅ่ฏไป‹็ป๏ผšAnthropic ไธไป…ไป…ๆ˜ฏ AI ๅทฅๅ…ท็š„็”Ÿไบง่€…๏ผŒๆ›ดๆ˜ฏ็ฌฌไธ€ไธช่ฟ›ๅ…ฅโ€œๆœชๆฅๅฎž้ชŒๅฎคโ€็š„ๆทฑๅบฆ่ง‚ๅฏŸ่€…ใ€‚ไป–ไปฌ้€š่ฟ‡ๅ†…้ƒจๆ•ฐๆœˆ็š„ๅฎž้ชŒๆ•ฐๆฎๅ‘Š่ฏ‰ๆˆ‘ไปฌ๏ผšๅคงๆจกๅž‹ๅฏน่ฝฏไปถๅทฅ็จ‹็š„ๆ”น้€ ๏ผŒ็ป้ž็ฎ€ๅ•็š„โ€œๆๆ•ˆโ€๏ผŒ่€Œๆ˜ฏไธ€\"},{\"url\":\"/01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ\",\"frontmatter\":{\"date\":\"2025-11-25 00:52:28\",\"title\":\"AI ็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡ๆทฑๅบฆ่งฃๆžไบ† AI ้ฉฑๅŠจ็ผ–็จ‹็š„ไธ‰ๅคงๆผ”่ฟ›่Œƒๅผ๏ผšVibe Coding๏ผˆ่‡ช็„ถ่ฏญ่จ€้›ถ้—จๆง›ๆž„ๅปบ๏ผ‰ใ€AI IDE๏ผˆ็ผ–่พ‘ๅ™จๆทฑๅบฆ่พ…ๅŠฉๆๆ•ˆ๏ผ‰ๅŠ Agentic Engineering๏ผˆ่‡ชไธปๅทฅ็จ‹ๅธˆๆ‰ง่กŒไปปๅŠก๏ผ‰ใ€‚้€š่ฟ‡ๆจชๅ‘ๅฏนๆฏ” Bolt.newใ€Cursorใ€Claude Code ็ญ‰ๅ‰ๆฒฟๅทฅๅ…ท๏ผŒๆ–‡็ซ ๅ‹พๅ‹’ๅ‡บไธ€ๆกไปŽโ€œๅฟซ้€ŸๅŽŸๅž‹โ€ๅˆฐโ€œ้ซ˜ๆ•ˆๅๅŒโ€ๅ†ๅˆฐโ€œ่‡ชไธปไบคไป˜โ€็š„่ฟ›้˜ถ่ทฏๅพ„ใ€‚ๆ ธๅฟƒๆ—จๅœจๆŒ‡ๅฏผ็”จๆˆทๅˆฉ็”จ AI ๅทฅๅ…ท็Ÿฉ้˜ตๆ‰“็ ดๆŠ€ๆœฏ่พน็•Œ๏ผŒๅฎž็ŽฐไปŽๅˆ›ๆ„ๆ่ฟฐๅˆฐๅทฅไธš็บงไบคไป˜็š„็”ŸไบงๅŠ›้ฃž่ทƒ๏ผŒ้‡ๅก‘่ฝฏไปถๅผ€ๅ‘ๅ…จ็”Ÿๅ‘ฝๅ‘จๆœŸใ€‚\",\"permalink\":\"/ai-learning/ai-coding-resources\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/source_sites_bg.png\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"AI Coding\",\"Vibe Coding\",\"Agentic Engineering\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"AI ็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่\",\"date\":\"2025-11-25 00:52:28\",\"capture\":\"1. ไธ‰็ง็ผ–็จ‹่Œƒๅผ้€Ÿ่งˆ\\n| ่Œƒๅผ | ไธ€ๅฅ่ฏๆ่ฟฐ | ไฝ ็š„่ง’่‰ฒ |\\n|:-----|:---------|:--------|\\n| Vibe Coding | ็”จ่‡ช็„ถ่ฏญ่จ€ๆ่ฟฐ้œ€ๆฑ‚๏ผŒAI ็›ดๆŽฅ็”Ÿๆˆๅฏ่ฟ่กŒ็š„ๅฎŒๆ•ด้กน็›ฎ | ๆ่ฟฐ้œ€ๆฑ‚๏ผŒ่ฎฉ AI ๅ†™ไปฃ็ (```ๆ–ฐๆ‰‹ๅ‹ๅฅฝ```) |\\n| AI IDE | ๅœจ็ผ–่พ‘ๅ™จ้‡Œๅผ•ๅ…ฅ AI ่พ…ๅŠฉ๏ผŒ่พนๅ†™่พน่กฅๅ…จใ€่พน้—ฎ่พนๆ”น | ไธปๅฏผๅผ€ๅ‘๏ผŒ่ฎฉ AI ๅšๅ‰ฏ้ฉพ้ฉถ(```ๆ›ดๅคšๆŽงๅˆถ```) |\\n| Agentic Engineering | AI ไฝœไธบ\\\"่‡ชไธปๅทฅ็จ‹ๅธˆ\\\"๏ผŒๆŽฅๆ”ถไปปๅŠกๅŽ่‡ชๅŠจ่ง„ๅˆ’ๅนถๆ‰ง่กŒๅ…จๅฅ—ไปฃ็ ๅทฅไฝœๆต | ๆไปปๅŠกใ€ๅฎก็ป“ๆžœ๏ผŒ่ฎฉ AI ๆ‰ง่กŒ(```ๆž่‡ดๆๆ•ˆ```) |\\nๆ–ฐๆ‰‹่ทฏ็บฟๅปบ่ฎฎ๏ผšๅ…ˆ\"},{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-02-10 23:33:19\",\"title\":\"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ๅฝ“ AI ๆ‰ฟๆŽฅไบ† 30% ็š„็ผ–็ ๆ‰ง่กŒๆ—ถ๏ผŒๅผ€ๅ‘่€…้œ€้€š่ฟ‡โ€œ่ง„ๆ ผ้ฉฑๅŠจ๏ผˆSDD๏ผ‰โ€้‡ๅคบ 70% ็š„่ฎพ่ฎกไธปๆƒ๏ผšไปŽ่‡ชๆฒป็ป„ไปถๅˆ’ๅˆ†ๅˆฐๅ•ๅ‘ๆ•ฐๆฎๆตๆ‹“ๆ‰‘็š„ๆทฑๅบฆๆŽจๆผ”ใ€‚\",\"description\":\"ๆœฌๆ–‡ๆŽข่ฎจๅœจ AI ๅขžๅผบๅผ€ๅ‘่ƒŒๆ™ฏไธ‹๏ผŒๅฆ‚ไฝ•้‡ๅก‘ React ็ป„ไปถ่ฎพ่ฎกๅŽŸๅˆ™ใ€‚ๆถต็›– SRP ่Œ่ดฃๅˆ’ๅˆ†ใ€้™ๆ€็‰ˆๆœฌๅŸบ็บฟใ€ๆœ€ๅฐ็Šถๆ€๏ผˆDerived Data๏ผ‰ๆŽจๅฏผไปฅๅŠ SDD ไบบๆœบๅไฝœๆจกๅผ็š„ๅทฅ็จ‹่ฝๅœฐใ€‚\",\"tags\":[\"tutorial\",\"react\",\"component-design\",\"state-management\",\"ai-augmented\",\"specification-driven\"],\"permalink\":\"/fullstack/react-design-philosophy-ai-augmented\",\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-02-10 23:33:19\",\"capture\":\"<script setup\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n 1. ๅผ•่จ€\\nๅœจ่ฝฏไปถๅทฅ็จ‹ไธญ๏ผŒ็บฆ 70% ็š„ๆ—ถ้—ดๅบ”ๆŠ•ๅ…ฅไบŽๆžถๆž„่ฎพ่ฎกใ€้œ€ๆฑ‚ๆ‹†่งฃไธŽๆŽฅๅฃ่ฏญไน‰ๆŽจๆ•ฒ๏ผŒไป… 30% ็”จไบŽๅฎž้™…็ผ–็ ใ€‚่ฟ›ๅ…ฅ AI ๅไฝœๆ—ถไปฃๅŽ๏ผŒ่ฟ™ไธ€ๆฏ”ไพ‹ไพ็„ถๅšๅฆ‚็ฃ็Ÿณโ€”โ€”ๅผ€ๅ‘่€…ๅฟ…้กปๅ…ˆๅฎŒๆˆๆทฑๅบฆๆ€่€ƒ๏ผŒๅฐ†โ€œๆธ…ๆ™ฐ็š„้—ฎ้ข˜่ง„ๆ ผ๏ผˆSpecification๏ผ‰โ€ไบค็ป™ AI๏ผŒAI ๆ‰่ƒฝ่พ“ๅ‡บ้ซ˜่ดจ้‡ไปฃ็ ใ€‚<HighLightText type=\\\"note\\\" bold>AI ๆๅ‡็š„ๆ˜ฏ 30% ็ผ–็ ้˜ถๆฎต็š„ๆ‰ง่กŒๅŠ›๏ผŒ่€Œ้žๅ–\"},{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/02.CSSๅทฅ็จ‹ๅŒ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/02.CSSๅทฅ็จ‹ๅŒ–\",\"frontmatter\":{\"date\":\"2026-03-10 22:05:50\",\"title\":\"ไปŽๅŽŸๅญๅŒ–ๅˆฐๅ˜ไฝ“้ฉฑๅŠจ๏ผš็Žฐไปฃ CSS ๅทฅ็จ‹ๅŒ–็š„ๆžถๆž„ๆผ”่ฟ›ไธŽๆททๅˆๅฎž่ทตๆŒ‡ๅ—\",\"description\":\"ๆœฌๆ–‡็ณป็ปŸๅ‰–ๆžไธปๆต CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆ็š„ๅบ•ๅฑ‚้€ป่พ‘๏ผŒๆๅ‡บโ€œๆ ทๅผ่ต„ไบง ROIโ€่ฏ„ไผฐๆจกๅž‹๏ผŒๅนถ้’ˆๅฏน Vue/React ็”Ÿๆ€็ป™ๅ‡บไบ†้ขๅ‘ AI ๆ—ถไปฃ็š„ไผไธš็บงๆททๅˆๆžถๆž„้€‰ๅž‹ๅปบ่ฎฎใ€‚\",\"permalink\":\"/full-stack/css-engineering\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"top\":true,\"categories\":[\"ๅ…จๆ ˆ\"],\"tags\":[\"ๅ…จๆ ˆ\",\"CSS\",\"ๅทฅ็จ‹ๅŒ–\",\"tailwindcss\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไปŽๅŽŸๅญๅŒ–ๅˆฐๅ˜ไฝ“้ฉฑๅŠจ๏ผš็Žฐไปฃ CSS ๅทฅ็จ‹ๅŒ–็š„ๆžถๆž„ๆผ”่ฟ›ไธŽๆททๅˆๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-03-10 22:05:50\",\"capture\":\"1. ๅผ•่จ€๏ผšไธปๆต CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆๆœ‰ๅ“ชไบ›๏ผŸ\\nๅœจ็Žฐไปฃๅ‰็ซฏๅผ€ๅ‘ไธญ๏ผŒ้š็€้กน็›ฎๅคๆ‚ๅบฆ็š„ๆ€ฅๅ‰งๆๅ‡๏ผŒๅŽŸ็”Ÿ CSS ๅธธๅธธ้ขไธดๅ…จๅฑ€ๆฑกๆŸ“ใ€ๅค็”จๅ›ฐ้šพใ€ๅฑ‚็บงๅตŒๅฅ—่ฟ‡ๆทฑไปฅๅŠ็ปดๆŠคๆˆๆœฌๆž้ซ˜็ญ‰้—ฎ้ข˜ใ€‚ไธบไบ†่งฃๅ†ณ่ฟ™ไบ›็—›็‚น๏ผŒ็คพๅŒบๅคšๅนดๆฅไธๆ–ญๆŽข็ดข๏ผŒๆฒ‰ๆท€ๅ‡บไบ†ๅคš็งไธปๆต็š„ CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆใ€‚\\n้™คๅŽŸ็”Ÿ CSS ไน‹ๅค–๏ผŒไธปๆตๆ–นๆกˆ่ฟ˜ๅŒ…ๆ‹ฌ้ข„ๅค„็†ๅ™จใ€CSS-in-JSใ€CSS Moduleใ€Scoped CSSใ€ๅŽŸๅญๅŒ– CSS ็ญ‰ใ€‚BEM ไฝœไธบไธ€็งๅŸบไบŽๅ‘ฝๅ็บฆๅฎšๆฅ่ง„้ฟๅ‘ฝๅๅ†ฒ็ช็š„ๆ—ฉๆœŸๆ–นๆกˆ๏ผŒๅœจ็Žฐไปฃๅ‰็ซฏๅทฅ็จ‹ไธญๅทฒๅŸบๆœฌไธๅ†ไฝฟ็”จ๏ผŒๅ› ๆญคๆœฌๆ–‡ไธๅ†ๅฏนๅ…ถๅฑ•ๅผ€่ฏฆ็ป†ๅˆ†ๆžใ€‚\\n> CSS ๅ‘ฝๅ่ง„่Œƒ๏ผˆBEM๏ผ‰๏ผš้€š่ฟ‡ไธฅๆ ผ็š„ๅ‘ฝๅ็บฆๅฎš๏ผˆๅฆ‚ Block__Element--Modif\"},{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2025-11-14 22:33:39\",\"title\":\"JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"aliases\":[\"้™ๆ€็ซ™็‚น็”Ÿๆˆๅ™จ\",\"SSG\"],\"tldr\":\"้ข„ๆธฒๆŸ“้™ๆ€้กต้ข + ๅŠจๆ€ API๏ผŒCDN ๅˆ†ๅ‘ๅ…จ็ƒ๏ผŒๆ›ฟไปฃไผ ็ปŸๅŠจๆ€็ฝ‘็ซ™็š„ๅผ€ๅ‘้ƒจ็ฝฒ่Œƒๅผ\",\"description\":\"ไปŽๆ ธๅฟƒๆฆ‚ๅฟตใ€ๅทฅๅ…ท้“พ้€‰ๅž‹๏ผˆNext.js/Vercel/Supabase/Contentful๏ผ‰ๅˆฐไปŽ 0 ๆญๅปบๅšๅฎข็š„ๅฎŒๆ•ดๅฎž่ทต๏ผŒ่ฆ†็›– JAMStack ้€‚็”จไธŽไธ้€‚็”จๅœบๆ™ฏ๏ผŒๅธฎๅŠฉๅˆคๆ–ญไฝ•ๆ—ถ้€‰็”จ่ฏฅๆžถๆž„ใ€‚\",\"permalink\":\"/fullstack/jamstack\",\"tags\":[\"tutorial\",\"jamstack\",\"frontend-architecture\",\"next.js\",\"static-site-generator\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2025-11-14 22:33:39\",\"capture\":\"> \\n> ๅ…ถๆ ธๅฟƒๆœบๅˆถๆ˜ฏๅœจๆž„ๅปบๆ—ถๅฐ†้กต้ข้ข„ๆธฒๆŸ“ไธบ้™ๆ€ HTML/CSS/JS๏ผŒ้ƒจ็ฝฒ่‡ณ CDN ไพ›็”จๆˆทๅฐฑ่ฟ‘ๅŠ ่ฝฝ๏ผŒไป…ๅœจ้œ€่ฆๅŠจๆ€ๆ•ฐๆฎๆ—ถ้€š่ฟ‡ JavaScript ่ฐƒ็”จ API ่Žทๅ–ใ€‚็›ธ่พƒไบŽไผ ็ปŸๅŠจๆ€็ฝ‘็ซ™๏ผŒJAMStack ๅœจๆ€ง่ƒฝใ€ๅฏ้ ๆ€งใ€ๆ‰ฉๅฑ•ๆ€งใ€ๅฎ‰ๅ…จๆ€งๅŠ่ฟ็ปดๆˆๆœฌไธŠๅ…ทๆœ‰ๆ˜พ่‘—ไผ˜ๅŠฟใ€‚\\n> \\n> ๆœฌๆ–‡ๆขณ็†ไบ†ไธปๆตๆž„ๅปบๅทฅๅ…ท๏ผˆGatsbyใ€Next.jsใ€Nuxt.jsใ€11ty๏ผ‰ใ€้™ๆ€ๆ‰˜็ฎกๅนณๅฐ๏ผˆVercelใ€Netlifyใ€Cloudflare Pages๏ผ‰ใ€API/BaaS ๆœๅŠก๏ผˆSupabaseใ€Firebaseใ€Auth0๏ผ‰ๅŠๆ— ๅคด CMS๏ผˆContentfulใ€Sanityใ€Strapi\"},{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/11.React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/11.React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"frontmatter\":{\"date\":\"2025-11-15 09:20:23\",\"title\":\"ไธๆญขไบŽ Fetch๏ผšReact ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"aliases\":[\"SWR\",\"TanStack Query\",\"React\",\"ๆœๅŠก็ซฏ็Šถๆ€\",\"ไน่ง‚ๆ›ดๆ–ฐ\",\"ๅทฅ็จ‹ๅŒ–\"],\"tldr\":\"ๆทฑๅ…ฅ่งฃๆž SWR ็š„ๆž็ฎ€ๅ่ฎฎไธŽ TanStack Query ็š„็ฒพๅฏ†็Šถๆ€ๆœบใ€‚้€š่ฟ‡ๅฏนๆฏ”็ผ“ๅญ˜ๅคฑๆ•ˆใ€ไน่ง‚ๆ›ดๆ–ฐ็ญ‰ๆ ธๅฟƒๅœบๆ™ฏ๏ผŒไธบ้ซ˜ๅคๆ‚ๅบฆ B ็ซฏๅบ”็”จไธŽ่ฝป้‡็บง้กน็›ฎๆไพ›ๆธ…ๆ™ฐ็š„ๆžถๆž„้€‰ๅž‹ๆจกๅž‹ใ€‚\",\"description\":\"ๆทฑๅบฆๅฏนๆฏ” React ็”Ÿๆ€ไธญ SWR ไธŽ TanStack Query ไธคๅคงๆ–นๆกˆใ€‚ไปŽ stale-while-revalidate ๆœบๅˆถๅˆฐๅผ‚ๆญฅ็Šถๆ€ๆœบๆžถๆž„๏ผŒๆถต็›–ไพ่ต–ๆŸฅ่ฏขใ€ๆ•ฐๆฎ่ฝฌๆขๅŠๆžถๆž„็บงไน่ง‚ๆ›ดๆ–ฐๅฎžๆˆ˜ใ€‚ๆ—จๅœจๅธฎๅŠฉๅผ€ๅ‘่€…ๅœจๅคๆ‚ไธšๅŠกไธญๆž„ๅปบ็กฎๅฎšๆ€ง็š„ๆœๅŠก็ซฏ็Šถๆ€ๅŸบๅบงใ€‚\",\"permalink\":\"/fullstack/server-state-management\",\"tags\":[\"SWR\",\"TanStack Query\",\"ๅ‰็ซฏๅทฅ็จ‹\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไธๆญขไบŽ Fetch๏ผšReact ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"date\":\"2025-11-15 09:20:23\",\"capture\":\"1. ๅผ•่จ€\\nๅœจ็Žฐไปฃๅ‰็ซฏๅทฅ็จ‹ไธญ๏ผŒ็Šถๆ€ๅฏไธฅๆ ผๅŒบๅˆ†ไธบ UI ็Šถๆ€๏ผˆUI State๏ผ‰ ไธŽ ๆœๅŠก็ซฏ็Šถๆ€๏ผˆServer State๏ผ‰ ไธค็ฑปใ€‚ๅฏนไบŽ UI ็Šถๆ€็š„็ฎก็†๏ผŒๅผ€ๅ‘่€…ๅทฒ่พƒไธบ็†Ÿๆ‚‰๏ผŒ้€šๅธธๅฏๅ€ŸๅŠฉ `useState`ใ€`useEffect` ็ญ‰ Hooks๏ผŒๆˆ– `zustand`ใ€`jotai` ็ญ‰็Šถๆ€็ฎก็†ๅบ“ๆฅๅฎž็Žฐใ€‚็„ถ่€Œ๏ผŒๆœๅŠก็ซฏ็Šถๆ€็š„็ฎก็†ๅพ€ๅพ€็ผบไน็ปŸไธ€ไธ”้ซ˜ๆ•ˆ็š„่งฃๅ†ณๆ–นๆกˆ๏ผŒๅผ€ๅ‘่€…้€šๅธธ้œ€่ฆ่‡ช่กŒๅฎž็Žฐใ€‚\\nๅœจไผ ็ปŸ็š„ๆ•ฐๆฎ่Žทๅ–ๆต็จ‹ไธญ๏ผŒๆˆ‘ไปฌไธ€่ˆฌไฝฟ็”จ `fetch` ๆˆ– `axios` ๅ‘ๅŽ็ซฏๆˆ– REST API ๅ‘้€ HTTP ่ฏทๆฑ‚๏ผŒ้šๅŽๆ‰‹ๅŠจๅฐ†ๆ•ฐๆฎ่Žทๅ–้€ป่พ‘ไธŽๅ‰็ซฏไธšๅŠก้€ป่พ‘ๅŠ UI ็Šถๆ€็ฎก็†่ฟ›่กŒๆ•ดๅˆ๏ผŒไปฅๅฎŒๆˆๆ•ฐๆฎๅค„็†ๅนถ้ฉฑๅŠจ็•Œ้ขๆ›ดๆ–ฐ\"},{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-02-24 08:40:31\",\"title\":\"Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"tldr\":\"ๆทฑๅ…ฅๅˆ†ๆžไบ”็ง Web ้€šไฟกๅ่ฎฎ๏ผŒๆไพ› AI ๆ—ถไปฃ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—ไธŽๆœ€ไฝณๅฎž่ทตใ€‚\",\"description\":\"ๆทฑๅ…ฅๅ‰–ๆžไผ ็ปŸ HTTPใ€ๆตๅผ HTTPใ€SSEใ€WebSocketใ€Webhooksใ€HTTP ่ฝฎ่ฏข็š„ๅŽŸ็†ไธŽ็‰นๆ€ง๏ผŒ็ป“ๅˆ AI ๅœบๆ™ฏๆไพ›ๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–็Ÿฉ้˜ตใ€‚\",\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"tags\":[\"HTTP\",\"HTTP ่ฝฎ่ฏข\",\"SSE\",\"WebSocket\",\"Webhooks\"],\"permalink\":\"/fullstack/networking-protocol-selection-guide\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"date\":\"2026-02-24 08:40:31\",\"capture\":\"1. ๅผ•่จ€\\nHTTP ๆ˜ฏไธ€็งๅŸบไบŽๆ–‡ๆœฌ็š„้€šไฟกๅ่ฎฎ๏ผŒไธป่ฆ็”จไบŽ Web ๆต่งˆๅ™จใ€็งปๅŠจๅบ”็”จใ€ๆกŒ้ขๅบ”็”จ็ญ‰ๅฎขๆˆท็ซฏๅ’Œ Web ๆœๅŠกๅ™จไน‹้—ด็š„ๆ•ฐๆฎไผ ่พ“ใ€‚ไผ ็ปŸ HTTP ้‡‡็”จๅŒๆญฅ็š„่ฏทๆฑ‚-ๅ“ๅบ”ๆจกๅผ๏ผš`่ฏทๆฑ‚ -> ็ญ‰ๅพ… -> ๅฎŒๆ•ดๅ“ๅบ”`ใ€‚่ฟ™็งๆ–นๅผ่™ฝ่ƒฝๆปก่ถณๅคงๅคšๆ•ฐๅœบๆ™ฏ๏ผŒไฝ†ๅœจๅฎžๆ—ถๆ€ง่ฆๆฑ‚่พƒ้ซ˜็š„้ข†ๅŸŸโ€”โ€”ๅฆ‚ๆธธๆˆใ€่Šๅคฉใ€่ง†้ข‘ไผš่ฎฎ๏ผŒไปฅๅŠ AI ๆ—ถไปฃ็š„ๅฏน่ฏๅผๅบ”็”จโ€”โ€”ๅดๆ˜พๅพ—ๅŠ›ไธไปŽๅฟƒใ€‚\\nไธบ่งฃๅ†ณ่ฟ™ไธ€้—ฎ้ข˜๏ผŒไธš็•Œๅ‘ๅฑ•ๅ‡บไบ†ๅคš็งๅฎžๆ—ถ Web ้€šไฟกๆ–นๆกˆใ€‚ๆœฌๆ–‡ๅฐ†ๅ›ด็ป• ๆตๅผ HTTPใ€SSEใ€WebSocketใ€Webhooksใ€HTTP ่ฝฎ่ฏข ่ฟ™ไบ”็งไธปๆตๆŠ€ๆœฏ๏ผŒไปŽๅŽŸ็†ใ€็‰นๆ€งใ€้€‚็”จๅœบๆ™ฏๅ‡บๅ‘๏ผŒๆŽข่ฎจๅฎƒไปฌๅœจ็Žฐไปฃๅˆ†ๅธƒๅผๆžถๆž„ไธญ็š„้€‰ๅž‹็ญ–็•ฅไธŽๅทฅ็จ‹ๅฎž่ทตใ€‚\\n 2\"},{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"frontmatter\":{\"date\":\"2026-03-05 16:54:35\",\"title\":\"ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"aliases\":[\"Server-Sent Events\",\"HTTP Streaming\"],\"tldr\":\"ๆทฑๅ…ฅ่งฃๆžๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผŒๆไพ›ไปŽๆฆ‚ๅฟตๅˆฐ็”Ÿไบงๅฎž่ทต็š„ๅฎŒๆ•ด่งฃๅ†ณๆ–นๆกˆใ€‚\",\"description\":\"่พจๆžๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ็š„ๆฆ‚ๅฟตไธŽๅฑ‚ๆฌกๅ…ณ็ณป๏ผŒ่ฏฆ่งฃๅฎขๆˆท็ซฏไธŽๆœๅŠก็ซฏๅฎž็Žฐๆ–นๆกˆ๏ผŒๆไพ›็”Ÿไบงๅฎž่ทตๅฎŒๆ•ดๆŒ‡ๅ—ใ€‚\",\"tags\":[\"tutorial\",\"SSE\",\"HTTP Streaming\",\"ๅ…จๆ ˆ\"],\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"permalink\":\"/fullstack/networking/sse-practice\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"date\":\"2026-03-05 16:54:35\",\"capture\":\"<script setup\\n import HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n> ๆ‘˜่ฆๆ€ป็ป“: ้’ˆๅฏนๅผ€ๅ‘่€…ๅฎนๆ˜“ๆททๆท†ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ็š„้—ฎ้ข˜๏ผŒไปŽๆฆ‚ๅฟตๅฑ‚ๆฌกๅ‡บๅ‘ๅŽ˜ๆธ…ไบŒ่€…ๆœฌ่ดจๅŒบๅˆซไธŽๅไฝœๅ…ณ็ณป๏ผŒๆŒ‡ๅ‡บๆตๅผ HTTP ๆ˜ฏๅบ•ๅฑ‚ไผ ่พ“ๆœบๅˆถ่€Œ SSE ๆ˜ฏๅบ”็”จๅฑ‚ๆ•ฐๆฎๆ ผๅผ็บฆๅฎšใ€‚ๆ–‡็ซ ไพๆฌกไป‹็ปๅŽŸ็”Ÿ EventSource APIใ€fetch + ReadableStream ่ฟ›้˜ถๆ–นๆกˆใ€@microsoft/fetch-event-source ๅทฅไธš็บงๅฎž็Žฐ็ญ‰ไธ‰็งๅฎขๆˆท็ซฏๆ–นๆกˆ๏ผŒๅนถไปฅ Nes\"},{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"frontmatter\":{\"date\":\"2026-02-25 22:10:48\",\"title\":\"HTTP ่ฝฎ่ฏขไผ˜ๅŒ–ๆŒ‡ๅ—๏ผš้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"tldr\":\"่ฏฆ่งฃ้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅฎž็ŽฐๅŽŸ็†๏ผŒๆไพ› HTTP ่ฝฎ่ฏขไผ˜ๅŒ–็ญ–็•ฅไธŽ้€‰ๅž‹ๅ†ณ็ญ–ๆ ‘ใ€‚\",\"description\":\"ๆทฑๅ…ฅๅ‰–ๆž้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๆ ธๅฟƒๆœบๅˆถ๏ผŒๆไพ› TypeScript/NestJS ๅฎžๆˆ˜ไปฃ็ ๏ผŒๅนถๆž„ๅปบๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–ๆ ‘ไธŽ้€‚็”จๅœบๆ™ฏ้€ŸๆŸฅใ€‚\",\"tags\":[\"HTTP ่ฝฎ่ฏข\",\"้€€้ฟ่ฝฎ่ฏข\",\"้•ฟ่ฝฎ่ฏข\"],\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"permalink\":\"/fullstack/networking-polling-optimization\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"HTTP ่ฝฎ่ฏขไผ˜ๅŒ–ๆŒ‡ๅ—๏ผš้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"date\":\"2026-02-25 22:10:48\",\"capture\":\"1. ๅผ•่จ€\\nๅœจ็Žฐไปฃ Web ๅผ€ๅ‘ไธญ๏ผŒWebSocket ๅ’Œ Server-Sent Events (SSE) ๅธธๅธธ่ขซ่ง†ไธบๅฎžๆ—ถ้€šไฟก็š„้“ถๅผนใ€‚็„ถ่€Œ๏ผŒHTTP ่ฝฎ่ฏข๏ผˆPolling๏ผ‰ไฝœไธบๆœ€ๆœด็ด ็š„ๅฎžๆ—ถ้€šไฟกๆ–นๆกˆ๏ผŒ้žไฝ†ๆฒกๆœ‰้€€ๅ‡บๅކๅฒ่ˆžๅฐ๏ผŒๅ่€Œๅœจ็‰นๅฎš็š„ๅคๆ‚ไธšๅŠกๅœบๆ™ฏไธญๅคงๆ”พๅผ‚ๅฝฉใ€‚\\n> ๐Ÿ“– ๅฆ‚ๆžœไฝ ๅฏน HTTP ่ฝฎ่ฏขๅœจๆ•ดไธช Web ้€šไฟกๅ่ฎฎไฝ“็ณปไธญ็š„ๅฎšไฝๅฐšไธๆธ…ๆ™ฐ๏ผŒๆŽจ่ๅ…ˆ้˜…่ฏป Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—๏ผŒไบ†่งฃ่ฝฎ่ฏขไธŽ็Ÿญ่ฟžๆŽฅใ€้•ฟ่ฟžๆŽฅใ€WebSocketใ€SSE ็ญ‰ๆ–นๆกˆ็š„ๆผ”่ฟ›ๅ…ณ็ณปไธŽ้€‚็”จ่พน็•Œ๏ผŒๅ†็ป“ๅˆๆœฌๆ–‡ๆทฑๅ…ฅๅฎž่ทตใ€‚\\nๅœจๅฝ“ๅ‰ไผ—ๅคš้กถ็บง็š„ AI AIGC ๅบ”็”จ๏ผˆๅฆ‚ Midjourne\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2024-03-20 22:41:41\",\"title\":\"ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ๅœจ้œ€ๆฑ‚่พน็•Œๅ†…่ฟฝๆฑ‚ๆœ€ๅฐๅคๆ‚ๅบฆโ€”โ€”ไธๆ˜ฏๆ‹’็ปๅคๆ‚๏ผŒ่€Œๆ˜ฏไธไธปๅŠจๅˆถ้€ ๅคๆ‚ใ€‚\",\"description\":\"ๆทฑๅ…ฅ่งฃๆžๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™ๅœจ็ผ–็จ‹ไธŽ่ฎพ่ฎกไธญ็š„ๅ…ญๅคงๅœบๆ™ฏ๏ผšๆ‹’็ป่ฟ‡ๅบฆ้ข„ๅˆคใ€็งป้™คๅ†—ไฝ™้€ป่พ‘ใ€ๅŒน้…ๆžถๆž„่ง„ๆจกใ€ๅ…‹ๅˆถไพ่ต–ๅผ•ๅ…ฅใ€ๅฐ่ฃ…ๆœ€ๅฐๆŽฅๅฃใ€ๅ…ˆๆŽ’ๆŸฅ็ฎ€ๅ•ๅŽŸๅ› ๏ผŒๅนถ็ป™ๅ‡บไธ‰ไธชๅ…ณ้”ฎ่พน็•Œใ€‚\",\"permalink\":\"/fullstack/occams-razor-software-design\",\"tags\":[\"concept\",\"engineering-fundamentals\",\"code-design\",\"software-engineering\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2024-03-20 22:41:41\",\"capture\":\"<script setup\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n> ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™็”ฑ 14 ไธ–็บช้€ป่พ‘ๅญฆๅฎถๅจๅป‰ยทๅฅฅๅกๅง†ๆๅ‡บ๏ผŒๅ…ถๆ ธๅฟƒไธบ\\\"ๅฆ‚ๆ— ๅฟ…่ฆ๏ผŒๅ‹ฟๅขžๅฎžไฝ“\\\"โ€”โ€”ๅœจๅคšไธชๅŒ็ญ‰ๆœ‰ๆ•ˆ็š„ๆ–นๆกˆไธญ๏ผŒ้€‰ๆ‹ฉๅ‡่ฎพๆœ€ๅฐ‘ใ€ๆœ€็ฎ€ๆด็š„้‚ฃไธชใ€‚่ฏฅๅŽŸๅˆ™ๅนถ้žๅฆๅฎšๅคๆ‚ๆ€ง๏ผŒ่€Œๆ˜ฏ้ฟๅ…ๆ— ๆ„ไน‰็š„่ฟ‡ๅบฆ่ฎพ่ฎกใ€‚ๆ–‡็ซ ไปŽ็ผ–็จ‹ไธŽ่ฎพ่ฎกๅฎž่ทตๅ‡บๅ‘๏ผŒไพๆฌกๆŽข่ฎจไบ†้œ€ๆฑ‚ๅฎž็Žฐใ€ไปฃ็ ๅฎž็Žฐใ€ๆžถๆž„่ฎพ่ฎกใ€ไพ่ต–็ฎก็†ใ€ๆŽฅๅฃ่ฎพ่ฎกใ€่ฐƒ่ฏ•ไผ˜ๅŒ–ๅ…ญๅคงๅœบๆ™ฏ็š„ๅไพ‹ไธŽๆญฃไพ‹๏ผŒๅนถๆ˜Ž็กฎๆŒ‡ๅ‡บไธ‰ไธชๅ…ณ้”ฎ่พน็•Œ๏ผšไธๅฏ็‰บ็‰ฒๅฏ็ปดๆŠคๆ€งใ€ๅฏๆ‰ฉๅฑ•ๆ€งใ€ๅฎ‰ๅ…จๆ€งๆขๅ–็ฎ€ๆดใ€‚\\n 1.\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2025-08-12 22:47:47\",\"title\":\"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—\",\"tldr\":\"TypeScript ๅฎŒๅ–„็š„็ผ–่ฏ‘ไฝ“็ณปไธŽ่ฐƒ่ฏ•ๅทฅๅ…ท้“พ๏ผŒๆ˜ฏๆž„ๅปบ้ซ˜่ดจ้‡ๅบ”็”จ็š„ๅŸบ็Ÿณใ€‚\",\"description\":\"ๆทฑๅ…ฅ่งฃๆž TypeScript ็ผ–่ฏ‘ๅทฅๅ…ท้“พไธŽ่ฐƒ่ฏ•ไฝ“็ณป๏ผŒๆถต็›– tsconfig.json ๆ ธๅฟƒ้…็ฝฎใ€Monorepo ้กน็›ฎ้…็ฝฎ๏ผˆextends/references๏ผ‰ใ€source map ่ฐƒ่ฏ•ใ€ESLint ไธŽ Jest ๅ•ๅ…ƒๆต‹่ฏ•็ญ‰ๅฎŒๆ•ดๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/typescript-compilation-debugging-guide\",\"tags\":[\"tutorial\",\"typescript\",\"compilation\",\"tooling\",\"eslint\",\"jest\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—\",\"date\":\"2025-08-12 22:47:47\",\"capture\":\"็ผ–ๅ†™ไปฃ็ ๅชๆ˜ฏๅผ€ๅ‘ๅทฅไฝœ็š„่ตท็‚น๏ผŒ็œŸๆญฃๅ†ณๅฎš้กน็›ฎ่ดจ้‡็š„ๆ˜ฏๅŽ็ปญ็š„็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•็Žฏ่Š‚ใ€‚TypeScript ไฝœไธบ JavaScript ็š„้™ๆ€็ฑปๅž‹่ถ…้›†๏ผŒไธไป…ๅธฆๆฅไบ†็ฑปๅž‹ๅฎ‰ๅ…จ๏ผŒๆ›ดๆไพ›ไบ†ๅผบๅคง็š„็ผ–่ฏ‘ๅทฅๅ…ทๅ’Œ่ฐƒ่ฏ•่ƒฝๅŠ›๏ผŒ่ฎฉๆˆ‘ไปฌ่ƒฝๅคŸๆ›ด้ซ˜ๆ•ˆๅœฐๆž„ๅปบๅ’Œ็ปดๆŠคๅฏ้ ็š„ๅบ”็”จ็จ‹ๅบใ€‚\\nๆœฌๆ–‡ๅฐ†ๅฏน TypeScript ้กน็›ฎ็š„็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•่ฟ›่กŒๆขณ็†๏ผŒๅŒ…ๆ‹ฌ็ผ–่ฏ‘ๅทฅๅ…ท TSC ็š„ไฝฟ็”จใ€็ผ–่ฏ‘้€‰้กน็š„้…็ฝฎใ€่ฐƒ่ฏ•ๅทฅๅ…ท็š„ไฝฟ็”จ็ญ‰ใ€‚\\n 1. TypeScript ็ผ–่ฏ‘้…็ฝฎไธŽ tsconfig.json\\nTSC๏ผˆTypeScript Compiler๏ผ‰ๆ˜ฏ TypeScript ๅฎ˜ๆ–นๆไพ›็š„็ผ–่ฏ‘ๅทฅๅ…ท๏ผŒ่ดŸ่ดฃๅฐ† TypeScript ไปฃ็ ๏ผˆ`.ts` ๆˆ– `.tsx`๏ผ‰่ฝฌๆขไธบ J\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹\",\"frontmatter\":{\"date\":\"2025-08-20 22:51:27\",\"title\":\"่Šไธ€่Š TypeScript ไธญ็š„ๆณ›ๅž‹\",\"tldr\":\"ๆณ›ๅž‹ๅฐ†็ฑปๅž‹ไฝœไธบๅ‚ๆ•ฐ๏ผŒไฝฟไปฃ็ ๅœจๅคš็ง็ฑปๅž‹ไธŠๅฎ‰ๅ…จ่ฟ่กŒ๏ผŒๆ˜ฏ TypeScript ็ฑปๅž‹ๆŠฝ่ฑก็š„ๆ ธๅฟƒ็‰นๆ€งใ€‚\",\"description\":\"ๆœฌๆ–‡็ณป็ปŸ่งฃๆž TypeScript ๆณ›ๅž‹็š„ๆ ธๅฟƒๆฆ‚ๅฟตไธŽๅทฅไฝœๆœบๅˆถ๏ผŒๅฏนๆฏ”ๆณ›ๅž‹ไธŽ any ็ฑปๅž‹็š„ๅทฎๅผ‚๏ผŒๆถต็›–ๆณ›ๅž‹ๅ‡ฝๆ•ฐใ€ๆŽฅๅฃใ€็ฑปใ€็ฑปๅž‹ๅˆซๅ็š„ๅฎž่ทต็”จๆณ•๏ผŒไปฅๅŠๅŸบๆœฌ็ฑปๅž‹็บฆๆŸใ€ๆŽฅๅฃ็บฆๆŸใ€ๅคš้‡็บฆๆŸใ€keyof ็บฆๆŸ็ญ‰้ซ˜้˜ถๆŠ€ๅทงไธŽๆœ€ไฝณๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/typescript-generic-types\",\"tags\":[\"tutorial\",\"typescript\",\"generics\",\"type-system\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่Šไธ€่Š TypeScript ไธญ็š„ๆณ›ๅž‹\",\"date\":\"2025-08-20 22:51:27\",\"capture\":\"1. ๆณ›ๅž‹็š„ๅŸบๆœฌๆฆ‚ๅฟตๅ’Œไฝœ็”จ\\n 1.1 ๆ ธๅฟƒๅฎšไน‰\\nๆณ›ๅž‹๏ผˆGenerics๏ผ‰ ๆ˜ฏ TypeScript ไธญไธ€็งๅผบๅคง็š„็ฑปๅž‹็ณป็ปŸ็‰นๆ€ง๏ผŒๅ…่ฎธๅฎšไน‰็ฑปๅž‹ๅ‚ๆ•ฐๅŒ–็š„็ป„ไปถ๏ผŒไฝฟไปฃ็ ่ƒฝๅคŸๅœจๅคš็ง็ฑปๅž‹ไธŠๅฎ‰ๅ…จ่ฟ่กŒ๏ผŒๅŒๆ—ถไฟๆŒ็ฑปๅž‹ๆฃ€ๆŸฅใ€‚ๆณ›ๅž‹็š„ๆ ธๅฟƒๆ€ๆƒณๆ˜ฏๅฐ†็ฑปๅž‹ไฝœไธบๅ‚ๆ•ฐไผ ้€’็ป™ๅ‡ฝๆ•ฐใ€ๆŽฅๅฃๆˆ–็ฑป๏ผŒๅฎž็Žฐ\\\"็ผ–ๅ†™ไธ€ๆฌก๏ผŒๅค็”จๅคšๆฌก\\\"็š„ๆ•ˆๆžœใ€‚\\n 1.2 ๆณ›ๅž‹ไธŽ any ็ฑปๅž‹็š„ๅฏนๆฏ”\\n| ็‰นๆ€ง | ๆณ›ๅž‹ | any ็ฑปๅž‹ |\\n|------|------|----------|\\n| ็ฑปๅž‹ๅฎ‰ๅ…จ | โœ… ็ผ–่ฏ‘ๆ—ถ่ฟ›่กŒ็ฑปๅž‹ๆฃ€ๆŸฅ | โŒ ๅฎŒๅ…จๅคฑๅŽป็ฑปๅž‹ๆฃ€ๆŸฅ |\\n| ไปฃ็ ๅค็”จ | โœ… ๆ”ฏๆŒๅคš็ง็ฑปๅž‹ๅค็”จ | โœ… ๆ”ฏๆŒๅคš็ง็ฑปๅž‹๏ผŒไฝ†ๅคฑๅŽป็ฑปๅž‹ไฟกๆฏ |\\n| ็ฑปๅž‹ๆŽจๆ–ญ | โœ… \"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview\",\"frontmatter\":{\"date\":\"2024-05-18 22:49:57\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ไปŽ ES Modules ๅˆฐๅคงๅž‹้กน็›ฎๅˆ†ๅฑ‚ๆžถๆž„ไธŽๅทฅ็จ‹ๅŒ–ๅฎž่ทต๏ผŒๆž„ๅปบๅ…จๆ ˆๆจกๅ—ๅŒ–็Ÿฅ่ฏ†ไฝ“็ณปใ€‚\",\"description\":\"็ณป็ปŸๆขณ็† JavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›๏ผˆIIFEโ†’CJSโ†’ESM๏ผ‰ใ€TypeScript ็ฑปๅž‹ๅขžๅผบใ€ๅˆ†ๅฑ‚ๆžถๆž„ไธŽ DDD ๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/module-programming-practice-guide\",\"tags\":[\"tutorial\",\"ESM\",\"DDD\",\"ๅพฎๅ‰็ซฏ\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2024-05-18 22:49:57\",\"capture\":\"1. ๅผ•่จ€\\nๆจกๅ—ๅŒ–็ผ–็จ‹ๆ˜ฏ็Žฐไปฃ JavaScript/TypeScript ๅผ€ๅ‘็š„ๆ ธๅฟƒๅŽŸๅˆ™๏ผŒๅฎƒ้€š่ฟ‡ๅฐ†ๅคๆ‚็ณป็ปŸๆ‹†ๅˆ†ไธบ็‹ฌ็ซ‹ๅฏๅค็”จ็š„ๆจกๅ—๏ผŒ้™ไฝŽ็ณป็ปŸๅคๆ‚ๆ€งๅนถๆ้ซ˜ๅฏ็ปดๆŠคๆ€งไธŽๅฏๅค็”จๆ€งใ€‚ๅ› ๆญค๏ผŒๆˆ‘ไปฌ้€š่ฟ‡็ณปๅˆ—ๆ–‡็ซ ่ฏฆ็ป†ไป‹็ปไบ†ๆจกๅ—ๅŒ–็š„ๅŸบ็ก€ๆฆ‚ๅฟตใ€ๆผ”่ฟ›ๅކ็จ‹ใ€ไธๅŒ่ง„่Œƒ็š„ๆทฑๅบฆ่งฃๆžใ€TypeScriptๆจกๅ—ๅŒ–ๅขžๅผบใ€ES Modules ๆ ธๅฟƒ่ฏญๆณ•ไธŽๅฎž่ทตใ€ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทตใ€ๅ‰็ซฏๅทฅ็จ‹ๅŒ–ไธญ็š„ๆจกๅ—ๅŒ–ใ€Node.jsไธญ็š„ๆจกๅ—ๅŒ–ๅฎž่ทตใ€ๅคงๅž‹้กน็›ฎไธญ็š„ๆจกๅ—ๅŒ–่ฎพ่ฎกใ€ๆจกๅ—ๅŒ–ไธŽไปฃ็ ็ปดๆŠคไปฅๅŠๆœชๆฅๅ‘ๅฑ•่ถ‹ๅŠฟใ€‚\\nๅ‰้ข็š„็ณปๅˆ—ๆ–‡็ซ ไธป่ฆๆœ‰๏ผš\\n- ๆจกๅ—ๅŒ–็ผ–็จ‹็ผ–็จ‹ๅˆไฝ“้ชŒไธŽๅŸบ็ก€ไป‹็ป\\n- JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\\n- ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒ\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€\",\"frontmatter\":{\"date\":\"2024-05-12 22:43:28\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ๏ผšๆฆ‚ๅฟตใ€ๆผ”่ฟ›ไธŽ่ฎพ่ฎกๆจกๅผ\",\"tldr\":\"ไปŽๅ…จๅฑ€ๅ˜้‡ๅˆฐ ES Modules๏ผšJavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›ไธŽๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผๅฎž่ทตใ€‚\",\"description\":\"็ณป็ปŸ่ฎฒ่งฃ JavaScript ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€๏ผŒๆถต็›– IIFEใ€CommonJSใ€ES Modules ่ง„่Œƒๆผ”่ฟ›๏ผŒไปฅๅŠๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผไธŽๆจกๅ—ๅŒ–็š„็ป“ๅˆใ€‚\",\"permalink\":\"/fullstack/frontend-module-programming-basic\",\"tags\":[\"tutorial\",\"javascript\",\"modularization\",\"esm\",\"design-patterns\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ๏ผšๆฆ‚ๅฟตใ€ๆผ”่ฟ›ไธŽ่ฎพ่ฎกๆจกๅผ\",\"date\":\"2024-05-12 22:43:28\",\"capture\":\"1. ๅผ•่จ€\\n้š็€้กน็›ฎ่ง„ๆจกๆ—ฅ็›Š่†จ่ƒ€๏ผŒไปฃ็ ้‡ไปŽๅ‡ ๅƒ่กŒ่ฟ…้€Ÿๅขž้•ฟๅˆฐๆ•ฐไธ‡็”š่‡ณๆ•ฐๅไธ‡่กŒ๏ผŒๅฐ†ๆ‰€ๆœ‰้€ป่พ‘ๅกž่ฟ›ๅฐ‘ๆ•ฐๅ‡ ไธชๆ–‡ไปถ็š„ๅšๆณ•ๆ—ฉๅทฒ้šพไปฅไธบ็ปงใ€‚ๅœจ่ฟ™ๆ ท็š„่ƒŒๆ™ฏไธ‹๏ผŒๆจกๅ—ๅŒ–็ผ–็จ‹ๅบ”่ฟ่€Œ็”Ÿ๏ผŒๆˆไธบ็Žฐไปฃๅ‰็ซฏๅผ€ๅ‘็š„ๆ ‡้…ใ€‚\\nๅฎƒ็š„ๆ ธๅฟƒ็†ๅฟต็ฎ€ๆด่€Œไผ˜้›…๏ผšๅƒๆญ็งฏๆœจไธ€ๆ ท๏ผŒๅฐ†ๅบžๅคงๅคๆ‚็š„็ณป็ปŸๆ‹†่งฃไธบไธ€ไธชไธช็‹ฌ็ซ‹ใ€ๅŠŸ่ƒฝๅ•ไธ€ไธ”ๅฏๅค็”จ็š„ๆจกๅ—๏ผŒ่ฎฉๆฏไธชๆจกๅ—ๅ„ๅธๅ…ถ่Œ๏ผŒๅ†้€š่ฟ‡ๆ ‡ๅ‡†ๆŽฅๅฃ็ตๆดป็ป„ๅˆใ€‚\\n 2. ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ\\nๅœจๆทฑๅ…ฅ็†่ฎบไน‹ๅ‰๏ผŒ่ฎฉๆˆ‘ไปฌๅ…ˆ้€š่ฟ‡ไธ€ไธช็ฎ€ๅ•็š„ JavaScript ็คบไพ‹๏ผŒ็›ด่ง‚ๅœฐๆ„Ÿๅ—ไธ€ไธ‹ไป€ไนˆๆ˜ฏๆจกๅ—ๅŒ–ใ€‚ๅ‡่ฎพๆˆ‘ไปฌ้œ€่ฆๅค„็†ไธ€ไบ›ๆ•ฐๅญฆ่ฟ็ฎ—๏ผŒๆˆ‘ไปฌๅฏไปฅๅฐ†ๅ…ถๅฐ่ฃ…ๆˆไธ€ไธช็‹ฌ็ซ‹็š„ๅทฅๅ…ทๆจกๅ—๏ผš\\n```javascript\\n// math.js - ๅฎšไน‰ไธ€ไธชๆ•ฐๅญฆๅทฅๅ…ทๆจกๅ—\\nexp\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†\",\"frontmatter\":{\"date\":\"2024-05-14 22:26:06\",\"title\":\"JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\",\"tldr\":\"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ็ญ‰ๆ ธๅฟƒ่ง„่Œƒ๏ผŒ้™„็Žฐไปฃ่ฟ็งป็ญ–็•ฅใ€‚\",\"description\":\"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ๅ››ๅคงๆจกๅ—ๅŒ–่ง„่Œƒ็š„ๆ ธๅฟƒ่ฏญๆณ•ไธŽ้€‚็”จๅœบๆ™ฏ๏ผŒ่งฃๆžๅ„่ง„่Œƒ็š„ๅ…ณ้”ฎๅทฎๅผ‚๏ผŒๅนถๆไพ›ไปŽๆ—ง่ง„่Œƒๅ‘ ESM ่ฟ็งป็š„ๅฎžๆ“็ญ–็•ฅใ€‚\",\"permalink\":\"/fullstack/different-module-programming-specifications\",\"tags\":[\"tutorial\",\"CommonJS\",\"AMD\",\"UMD\",\"ESM\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\",\"date\":\"2024-05-14 22:26:06\",\"capture\":\"ๅœจ JavaScript ่ฟ›ๅŒ–ๅฒไธŠ๏ผŒโ€œๆจกๅ—ๅŒ–โ€ๅง‹็ปˆๆ˜ฏไธ€ไธชๆ ธๅฟƒๅ‘ฝ้ข˜ใ€‚ไปŽๆ—ฉๆœŸ script ๆ ‡็ญพๆปกๅคฉ้ฃž็š„โ€œๆททๆฒŒๆ—ถไปฃโ€๏ผŒๅˆฐๅ„่ทฏ่ง„่Œƒ็พค้›„้€้นฟ็š„โ€œๆˆ˜ๅ›ฝๆ—ถไปฃโ€๏ผŒๅ†ๅˆฐๅฆ‚ไปŠ ES Modules ๅฎšไบŽไธ€ๅฐŠ๏ผŒๅผ€ๅ‘่€…ไปฌๅœจ่งฃๅ†ณไพ่ต–็ฎก็†ใ€ไฝœ็”จๅŸŸๆฑกๆŸ“ๅ’Œๅผ‚ๆญฅๅŠ ่ฝฝ็ญ‰้—ฎ้ข˜ไธŠไป˜ๅ‡บไบ†ๅทจๅคง็š„ๅŠชๅŠ›ใ€‚\\nๆœฌๆ–‡ๅฐ†ๅธฆไฝ ๆขณ็† JavaScript ๅކๅฒไธŠๆœ€้‡่ฆ็š„ๅ‡ ็งๆจกๅ—ๅŒ–่ง„่Œƒ๏ผŒไพฟไบŽๆž„ๅปบ่ตทๅ…จๆ ˆๅผ€ๅ‘็š„ๅบ•ๅฑ‚็Ÿฅ่ฏ†ๅ›พ่ฐฑใ€‚\\n 1. CommonJS ่ง„่Œƒ๏ผšNode.js ็”Ÿๆ€็š„ๅŸบ็Ÿณ\\nCommonJS ๆ˜ฏไผด้š Node.js ่ฏž็”Ÿ็š„่ง„่Œƒ,็”ฑ Kevin Dangoor ๆๅ‡บ๏ผŒๅˆ่กทๆ˜ฏ่ฎฉ JavaScript ่„ฑ็ฆปๆต่งˆๅ™จไนŸ่ƒฝๆž„ๅปบๅคๆ‚็š„็ณป็ปŸๅบ”็”จใ€‚ๅฎƒๆ˜ฏ Node.\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"frontmatter\":{\"date\":\"2024-05-14 22:29:32\",\"title\":\"ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒๆ‹ฅๆŠฑๅŽŸ็”Ÿ๏ผšES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"tldr\":\"ES Modules ๆ ธๅฟƒ่ฏญๆณ•ไธŽๆ‰ง่กŒๆจกๅž‹๏ผš้™ๆ€ๅˆ†ๆžๅฆ‚ไฝ•้‡ๅก‘ๅ‰็ซฏๆž„ๅปบๆ•ˆ็އใ€‚\",\"description\":\"ๆทฑๅบฆ่งฃๆž ES Modules ๅ‘ฝๅๅฏผๅ‡บ/ๅฏผๅ…ฅใ€้ป˜่ฎคๅฏผๅ‡บใ€ๅŠจๆ€ๅฏผๅ…ฅ็ญ‰่ฏญๆณ•๏ผŒไปฅๅŠๆจกๅ—ๆ‰ง่กŒ้กบๅบใ€ๅพช็Žฏไพ่ต–ๅค„็†ไธŽ็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ๆœบๅˆถใ€‚\",\"permalink\":\"/fullstack/decode-es-modules\",\"tags\":[\"concept\",\"ESM\",\"static-analysis\",\"Tree-Shaking\",\"circular-dependency\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒๆ‹ฅๆŠฑๅŽŸ็”Ÿ๏ผšES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"date\":\"2024-05-14 22:29:32\",\"capture\":\"> \\n> ็†่งฃ ESM๏ผŒไธไป…ไป…ๆ˜ฏๅญฆไผš import ๅ’Œ export๏ผŒๆ›ด้‡่ฆ็š„ๆ˜ฏ็†่งฃๅฎƒๅฆ‚ไฝ•้€š่ฟ‡็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ๅฝปๅบ•ๆ”นๅ˜ไบ†ๅ‰็ซฏๆž„ๅปบ็š„ๆ•ˆ็އใ€‚\\n 1. ๅ‘ฝๅๅฏผๅ‡บไธŽๅฏผๅ…ฅ๏ผš็ฒพๅ‡†็š„ไปฃ็ ๅผ•็”จ\\nๅ‘ฝๅๅฏผๅ‡บ๏ผˆNamed Exports๏ผ‰ๆ˜ฏ ESM ๆœ€ๅธธ็”จ็š„ๅฝขๅผ๏ผŒๅฎƒๅ…่ฎธไธ€ไธชๆจกๅ—ๆšด้œฒๅคšไธชๆˆๅ‘˜ใ€‚ๅ…ถๆ ธๅฟƒไผ˜ๅŠฟๅœจไบŽ๏ผšๅฏผๅ…ฅๆ–นๅฏไปฅๆŒ‰้œ€ๅผ•ๅ…ฅ๏ผŒไธ” IDE ่ƒฝๆไพ›็ฒพๅ‡†็š„่กฅๅ…จใ€‚\\n่ฏญๆณ•ๅฎž่ทต๏ผš๏ผš\\n```javascript\\n// math.js - ๅ‘ฝๅๅฏผๅ‡บ\\n// ่กŒๅ†…ๅฏผๅ‡บ\\nexport const PI = 3.14159;\\nexport function circleArea(radius) {\\n return PI * rad\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"frontmatter\":{\"date\":\"2024-05-16 21:27:36\",\"title\":\"ไปŽ้€ป่พ‘้š”็ฆปๅˆฐ็ฑปๅž‹ๅฅ‘็บฆ๏ผšTypeScript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"tldr\":\"TypeScript ๅฐ†ๆจกๅ—ไพ่ต–ๆๅ‡ไธบ็ผ–่ฏ‘ๆ—ถ็ฑปๅž‹ๅฅ‘็บฆ๏ผŒไปŽ import type ๅˆฐๅฃฐๆ˜Žๆ–‡ไปถใ€‚\",\"description\":\"็ณป็ปŸ่ฎฒ่งฃ TypeScript ๅฏน ES Modules ็š„็ฑปๅž‹ๅขžๅผบ๏ผŒๆถต็›– import type ่ฟ่กŒๆ—ถไผ˜ๅŒ–ใ€ๆŽฅๅฃๅฅ‘็บฆใ€ๅฃฐๆ˜Žๆ–‡ไปถ .d.ts ๅŠ tsconfig ๆจกๅ—ๅŒ–้…็ฝฎใ€‚\",\"permalink\":\"/fullstack/typescript-module-programming-enhancement\",\"tags\":[\"concept\",\"ๅ…จๆ ˆ\",\"typescript\",\"tsconfig\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไปŽ้€ป่พ‘้š”็ฆปๅˆฐ็ฑปๅž‹ๅฅ‘็บฆ๏ผšTypeScript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"date\":\"2024-05-16 21:27:36\",\"capture\":\"1. ๅผ•่จ€\\nๅœจๅŽŸ็”Ÿ JavaScript ๆจกๅ—ๅŒ–่งฃๅ†ณไบ†ไปฃ็ ็ป„็ป‡้—ฎ้ข˜ๅŽ๏ผŒTypeScript๏ผˆTS๏ผ‰่ฟ›ไธ€ๆญฅๅฐ†ๅ…ถๆŽจๅ‘ไบ†ๅทฅไธš็บง้ซ˜ๅบฆใ€‚TS ไธไป…ไป…ๆ˜ฏไธบๆจกๅ—ๆทปๅŠ ไบ†็ฑปๅž‹ๆ ‡ๆณจ๏ผŒๅฎƒ้€š่ฟ‡็ฑปๅž‹ๅฏผๅ‡บๅฏผๅ…ฅใ€็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ใ€ไปฅๅŠๅฃฐๆ˜Žๆ–‡ไปถ็ณป็ปŸ๏ผŒๅฐ†ๆจกๅ—้—ด็š„ไพ่ต–ๅ…ณ็ณปไปŽ็ฎ€ๅ•็š„โ€œไปฃ็ ๅผ•็”จโ€ๆๅ‡ๅˆฐไบ†โ€œๅฅ‘็บฆไบคไบ’โ€ใ€‚\\nๆœฌๆ–‡ๆˆ‘ไปฌๅฐ†่š็„ฆไบŽ TypeScript ๅฆ‚ไฝ•้€š่ฟ‡็ฑปๅž‹็ณป็ปŸๅขžๅผบๆจกๅ—ๅŒ–็ผ–็จ‹๏ผŒๅนถๆŽข่ฎจๅœจ็Žฐไปฃๅทฅ็จ‹๏ผˆๅฐคๅ…ถๆ˜ฏ TS 5.0+ ๆ—ถไปฃ๏ผ‰ไธ‹็š„ๆœ€ไฝณ้…็ฝฎๅฎž่ทตใ€‚\\n 2. ็ฑปๅž‹ๅฏผๅ‡บไธŽๅฏผๅ…ฅ๏ผšๆž่‡ด็š„่ฟ่กŒๆ—ถไผ˜ๅŒ–\\nTypeScript ๅฏน ES Modules ่ฏญๆณ•ๆœ€ๆ˜พ่‘—็š„ๆ‰ฉๅฑ•ๆ˜ฏๆ”ฏๆŒโ€œไป…็ฑปๅž‹โ€๏ผˆType-only๏ผ‰็š„ๅฏผๅ‡บไธŽๅฏผๅ…ฅใ€‚่ฟ™ไธไป…ๆ˜ฏ่ฏญไน‰ไธŠ็š„ๆธ…ๆ™ฐ๏ผŒๆ›ดๆ˜ฏๆ€ง\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต\",\"frontmatter\":{\"date\":\"2024-05-17 22:30:50\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ๆขณ็†ไธŽๆ€ป็ป“\",\"tldr\":\"ๆŽŒๆก้ซ˜ๅ†…่šไฝŽ่€ฆๅˆๅŽŸๅˆ™๏ผšๆจกๅ—ๅŒ–็ผ–็จ‹็š„่ฎพ่ฎกๅ‡†ๅˆ™ไธŽ็ฒ’ๅบฆๆŽงๅˆถใ€‚\",\"description\":\"็ณป็ปŸๆขณ็†ๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅ…ญๅคงๆ ธๅฟƒๅŽŸๅˆ™๏ผšๅ•ไธ€่Œ่ดฃใ€้ซ˜ๅ†…่šไฝŽ่€ฆๅˆใ€็ฒ’ๅบฆ่ฎพ่ฎกใ€ๅ‘ฝๅ่ง„่ŒƒๅŠๆจกๅ—็‰ˆๆœฌ็ฎก็†๏ผŒ้™„่ฏฆ็ป†็š„ๅทฅ็จ‹ๅฎž่ทตๅปบ่ฎฎไธŽ้ฟๅ‘ๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/fullstack/module-programming-principles-best-practices\",\"abstract\":\"ๅฆ‚ๆžœ่ฏดๆŽŒๆกๆจกๅ—ๅŒ–่ฏญๆณ•ๆ˜ฏๆœฏ๏ผŒ้‚ฃไนˆ็†่งฃๅ…ถ่ƒŒๅŽ็š„่ฎพ่ฎกๅŽŸๅˆ™ๅฐฑๆ˜ฏ้“ใ€‚ๅ•ไธ€่Œ่ดฃๅŽŸๅˆ™ๅผบ่ฐƒๆจกๅ—ๅชๅบ”ๆœ‰ไธ€ไธช่ขซๆ”นๅ˜็š„ๅŽŸๅ› ๏ผŒ้ฟๅ… God Object ๅๆจกๅผใ€‚้ซ˜ๅ†…่šไฝŽ่€ฆๅˆๆ˜ฏ่กก้‡ๆจกๅ—่ดจ้‡็š„็ปˆๆžๆ ‡ๅ‡†โ€”โ€”ๆจกๅ—ๅ†…้ƒจๅ…ƒ็ด ่”็ณป็ดงๅฏ†๏ผŒๆจกๅ—ไน‹้—ดไพ่ต–ๅ…ณ็ณปๅฐฝๅฏ่ƒฝ็ฎ€ๅ•ใ€‚็ฒ’ๅบฆ่ฎพ่ฎก่ฆๆฑ‚ๅ•ไธชๆจกๅ—ไฟๆŒๅœจ 100-500 ่กŒไน‹้—ด๏ผŒๅŠŸ่ƒฝ่ƒฝ็”จไธ€ๅฅ่ฏๆธ…ๆ™ฐๆ่ฟฐ๏ผŒๅ‡บ็Žฐๅคšๅˆ†ๆ”ฏๅคๆ‚้€ป่พ‘ๆ—ถ้€šๅธธๆ˜ฏๆ‹†ๅˆ†ไฟกๅทใ€‚ๅ‘ฝๅ่ง„่Œƒ็ปŸไธ€ๅ›ข้˜ŸๆฒŸ้€š่ฏญๅขƒ๏ผˆkebab-case ๆ–‡ไปถๅใ€camelCase ๆ–นๆณ•ๅใ€PascalCase ็ฑปๅ๏ผ‰ใ€‚ๆจกๅ—็‰ˆๆœฌ็ฎก็†้ตๅพช SemVer ่ฏญไน‰ๅŒ–็‰ˆๆœฌ๏ผŒไธบๅ…ฌๅ…ฑๆจกๅ—็š„็ปดๆŠค่€…ไธŽไฝฟ็”จ่€…ๅปบ็ซ‹ๅฅ‘็บฆใ€‚ๅผบ่ฐƒๆธ…ๆ™ฐ็š„ๆจกๅ—่พน็•Œๆ˜ฏ AI ่พ…ๅŠฉ็ผ–็จ‹ๆ—ถไปฃ AI ๅ‡†็กฎ็†่งฃไปฃ็ ็š„ๅ‰ๆใ€‚\",\"tags\":[\"concept\",\"solid-principles\",\"code-organization\",\"best-practices\",\"naming-conventions\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ๆขณ็†ไธŽๆ€ป็ป“\",\"date\":\"2024-05-17 22:30:50\",\"capture\":\"1. ๅ•ไธ€่Œ่ดฃๅŽŸๅˆ™\\nๆ ธๅฟƒๆ€ๆƒณ๏ผšไธ€ไธชๆจกๅ—ๅบ”ๅฝ“ๆœ‰ไธ”ๅชๆœ‰ไธ€ไธช่ขซๆ”นๅ˜็š„ๅŽŸๅ› ใ€‚\\nๆจกๅ—ไธๅบ”ๆˆไธบๅŠŸ่ƒฝ็š„โ€œๆ‚่ดง้“บโ€ใ€‚ๅฝ“ไธ€ไธชๆจกๅ—ๆ‰ฟๆ‹…ไบ†ๅคชๅคšไธ็›ธๅ…ณ็š„ไธšๅŠก้€ป่พ‘ๆ—ถ๏ผŒๅฎƒ็š„ๅคๆ‚ๅบฆไผšๅ‘ˆๆŒ‡ๆ•ฐ็บงไธŠๅ‡๏ผŒไปปไฝ•ๅพฎๅฐ็š„ๆ”นๅŠจ้ƒฝๅฏ่ƒฝๅผ•ๅ‘ๆ„ๆƒณไธๅˆฐ็š„่ฟž้”ๅๅบ”ใ€‚\\nไปฃ็ ๆผ”็คบ๏ผš\\n```javascript\\n// โœ… ๆŽจ่๏ผš่Œ่ดฃๆ‹†ๅˆ†ๆ˜Ž็กฎ\\n// user-service.js - ไป…ๅค„็†็”จๆˆทๆ•ฐๆฎ็š„ CRUD\\nexport const getUser = async (id) => { /* ... */ };\\n// auth-provider.js - ไป…ๅค„็†้‰ดๆƒ็Šถๆ€ไธŽ้€ป่พ‘\\nexport const login = async (credenti\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–\",\"frontmatter\":{\"date\":\"2024-05-17 23:33:09\",\"title\":\"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“\",\"tldr\":\"Node.js CJS ไธŽ ESM ๅŒๆจกๅ…ฑๅญ˜๏ผšๆจกๅ—ๅŠ ่ฝฝๆœบๅˆถไธŽๅˆ†ๅฑ‚ๆžถๆž„ๅฎž่ทตใ€‚\",\"description\":\"่งฃๆž Node.js ไธญ CommonJS ไธŽ ES Modules ็š„ๅŒๆจกๅ…ฑๅญ˜็ญ–็•ฅ๏ผŒๆถต็›–ๆจกๅ—ๅŠ ่ฝฝไผ˜ๅ…ˆ็บงใ€็ผ“ๅญ˜ๆœบๅˆถใ€package.json exports ๆกไปถๅฏผๅ‡บๅŠ Monorepo ๆžถๆž„ๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/nodejs-module-programming-summary\",\"abstract\":\"Node.js ๆจกๅ—ๅŒ–็ปๅކไบ†ไปŽ CommonJS ็‹ฌ้œธๅคฉไธ‹ๅˆฐ ES Modules ๅ…จ้ขๆŽฅๅ…ฅ็š„่Œƒๅผ่ฝฌ็งปใ€‚ๅ…ฑๅญ˜็ญ–็•ฅ้€š่ฟ‡ .mjs/.cjs ๅŽ็ผ€ๅ’Œ package.json type ๅญ—ๆฎตๆŽงๅˆถไธค็ง่ง„่Œƒ็š„่พน็•Œ๏ผ›ESM ๅฏ็›ดๆŽฅ import CJS๏ผˆ่‡ชๅŠจๅŒ…่ฃ…ไธบ้ป˜่ฎคๅฏผๅ‡บ๏ผ‰๏ผŒไฝ† CJS ๆ— ๆณ• require ESM ๅฟ…้กปไฝฟ็”จๅŠจๆ€ importใ€‚ๆจกๅ—ๅŠ ่ฝฝ้ตๅพชๆ ธๅฟƒๆจกๅ—ไผ˜ๅ…ˆใ€ๆ–‡ไปถๆจกๅ—ใ€็›ฎๅฝ•ๆจกๅ—๏ผˆindex.js/package.json๏ผ‰ใ€node_modules ้€็บงๆŸฅๆ‰พ็š„ไผ˜ๅ…ˆ็บง๏ผ›require.cache ๅฎž็Žฐๆจกๅ—็ผ“ๅญ˜๏ผŒๆธ…้™ค็ผ“ๅญ˜๏ผˆdelete require.cache[path]๏ผ‰ๆ˜ฏ็ƒญๆ›ดๆ–ฐๅทฅๅ…ท็š„ๆ ธๅฟƒๆ“ไฝœใ€‚package.json exports ๅญ—ๆฎตๆ”ฏๆŒๆกไปถๅฏผๅ‡บ๏ผˆimport/require ่ฟ”ๅ›žไธๅŒๅ…ฅๅฃ๏ผ‰ใ€‚pnpm workspaces ๅ‡ญๅ€Ÿ็กฌ้“พๆŽฅๆœบๅˆถๆˆไธบ็Žฐไปฃ Monorepo ้ฆ–้€‰ใ€‚ๅŽ็ซฏๅˆ†ๅฑ‚ๆžถๆž„๏ผˆAPI/Service/Repository๏ผ‰ๅฎž็Žฐๅ…ณๆณจ็‚นๅˆ†็ฆป๏ผŒๆขๆ•ฐๆฎๅบ“ๅช้œ€ๆ”น Repository ๅฑ‚ใ€‚\",\"tags\":[\"concept\",\"node.js\",\"commonjs\",\"esm\",\"monorepo\",\"layered-architecture\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“\",\"date\":\"2024-05-17 23:33:09\",\"capture\":\"ๅฆ‚ๆžœ่ฏดๆต่งˆๅ™จ็ซฏ็š„ๆจกๅ—ๅŒ–ๆ˜ฏไธบไบ†\\\"ๆŒ‰้œ€ๅŠ ่ฝฝ\\\"๏ผŒ้‚ฃไนˆ Node.js ็š„ๆจกๅ—ๅŒ–ๅˆ™ๆ˜ฏไธบไบ†\\\"ไปฃ็ ็ป„็ป‡\\\"ใ€‚ไฝœไธบๅฐ† JavaScript ๅธฆๅ…ฅๆœๅŠกๅ™จ็ซฏ็š„ๅ…ˆ้ฉฑ๏ผŒNode.js ็ปๅކไบ†ไปŽ CommonJS (CJS) ็‹ฌ้œธๅคฉไธ‹ๅˆฐ ES Modules (ESM) ๅ…จ้ขๆŽฅๅ…ฅ็š„่Œƒๅผ่ฝฌ็งปใ€‚\\nๅœจๆœๅŠกๅ™จ็ซฏ๏ผŒๆจกๅ—ๅŒ–ไธไป…ไป…ๆ˜ฏไธบไบ†ๆ‹†ๅˆ†ไปฃ็ ๏ผŒๆ›ดๆ˜ฏไธบไบ†ๆž„ๅปบๆธ…ๆ™ฐ็š„้กน็›ฎ็ป“ๆž„ใ€็ฎก็†ไพ่ต–ๅ…ณ็ณป๏ผŒไปฅๅŠๅฎž็Žฐไปฃ็ ็š„ๅค็”จไธŽ็ปดๆŠคใ€‚\\n 1. CommonJS ไธŽ ES Modules ๅŒๆจกๅ…ฑๅญ˜\\nๅœจ็Žฐไปฃ Node.js ๅผ€ๅ‘ไธญ๏ผŒๆˆ‘ไปฌ็ปๅธธ้ขไธดไธค็ง่ง„่Œƒไบค็ป‡็š„ๆƒ…ๅ†ตใ€‚่ฟ™ไธไป…ๆ˜ฏๆ–‡ไปถๅŽ็ผ€็š„ๆ”นๅ˜๏ผŒๆ›ดๆ˜ฏๅŒๆญฅไธŽๅผ‚ๆญฅๅŠ ่ฝฝ้€ป่พ‘็š„ๅšๅผˆใ€‚\\nๅ…ฑๅญ˜็ญ–็•ฅ๏ผš\\n1. ๅŽ็ผ€ๅ†ณๅฎš่ฎบ๏ผš`.mjs\"},{\"url\":\"/01.ๅ…จๆ ˆ/90.ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่/90.ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"relativePath\":\"/01.ๅ…จๆ ˆ/90.ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่/90.ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"frontmatter\":{\"date\":\"2026-02-06 15:58:53\",\"title\":\"ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡็ณป็ปŸๆขณ็†ไบ†็Žฐไปฃๅ…จๆ ˆๅผ€ๅ‘็š„ๅฎŒๆ•ดๆŠ€ๆœฏๅ›พ่ฐฑไธŽๆผ”่ฟ›่Œƒๅผ๏ผŒไธบๅผ€ๅ‘่€…ๆไพ›ไบ†ไธ€็ซ™ๅผ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—ใ€‚ๆ–‡็ซ ไปŽๅŸบ็Ÿณๅ‡บๅ‘๏ผŒ่ฆ†็›– Web ๆ ธๅฟƒ่ฏญ่จ€๏ผˆJS/TS๏ผ‰ ไธŽ ไธปๆต UI ๆก†ๆžถ๏ผˆReact/Vue/Svelte๏ผ‰๏ผŒๅนถๆŽจ่ไปฅ Tailwind CSS ๅ’Œ shadcn/ui ไธบไปฃ่กจ็š„็Žฐไปฃๆ ทๅผไธŽ็ป„ไปถๅŽŸ่ฏญใ€‚ๅœจๆ ธๅฟƒไธšๅŠก้€ป่พ‘ๅฑ‚๏ผŒๆทฑๅบฆๅฏนๆฏ”ไบ†่ฝป้‡ๅŒ–็Šถๆ€็ฎก็†ๆ–นๆกˆ๏ผˆ้ฆ–ๆŽจ Zustand/Jotai๏ผ‰๏ผŒๅนถ้‡็‚น่งฃๆžไบ†ๆ•ฐๆฎไบคไบ’็š„ไธ‰ๅคง็Žฐไปฃๆžถๆž„่Œƒๅผ๏ผšไปŽๅŸบ็ก€ Axios ๅˆฐ React Query ็Šถๆ€่ฐƒๅบฆ๏ผŒๅ†ๅˆฐ tRPC ๅ’Œ GraphQL ๅธฆๆฅ็š„ๅ…จๆ ˆ็ฑปๅž‹ๅฎ‰ๅ…จไธŽๅคš็ซฏ่šๅˆใ€‚ๅœจๅทฅ็จ‹ๅŒ–ไธŽๆœๅŠก็ซฏๆจกๅ—๏ผŒๆ–‡็ซ ๅ…จ้ขๆ‹ฅๆŠฑ Viteใ€Rsbuild ็ญ‰ๆž้€Ÿๆž„ๅปบๅทฅๅ…ท๏ผŒๅนถๅ‰–ๆžไบ† Next.js/Nuxt ๅŒๆž„ๅ…ƒๆก†ๆžถไธŽ NestJS ไผไธš็บง Node ๆœๅŠก็š„ๆœ€ไฝณ้€‚็”จๅœบๆ™ฏใ€‚ๆœ€ๅŽ๏ผŒ่พ…ไปฅ Vercel ็ญ‰็Žฐไปฃ่พน็ผ˜้ƒจ็ฝฒๅนณๅฐๅŠไธฐๅฏŒ็š„ๅผ€ๆบ็คพๅŒบๅญฆไน ่ต„ๆบใ€‚\",\"permalink\":\"/growth/full-stack-resources\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"date\":\"2026-02-06 15:58:53\",\"capture\":\"> - ๆ–‡็ซ ไปŽๅŸบ็Ÿณๅ‡บๅ‘๏ผŒ่ฆ†็›– Web ๆ ธๅฟƒ่ฏญ่จ€๏ผˆJS/TS๏ผ‰ ไธŽ ไธปๆต UI ๆก†ๆžถ๏ผˆReact/Vue/Svelte๏ผ‰๏ผŒๅนถๆŽจ่ไปฅ Tailwind CSS ๅ’Œ shadcn/ui ไธบไปฃ่กจ็š„็Žฐไปฃๆ ทๅผไธŽ็ป„ไปถๅŽŸ่ฏญใ€‚\\n> - ๅœจๆ ธๅฟƒไธšๅŠก้€ป่พ‘ๅฑ‚๏ผŒๆทฑๅบฆๅฏนๆฏ”ไบ†่ฝป้‡ๅŒ–็Šถๆ€็ฎก็†ๆ–นๆกˆ๏ผˆ้ฆ–ๆŽจ Zustand/Jotai๏ผ‰๏ผŒๅนถ้‡็‚น่งฃๆžไบ†ๆ•ฐๆฎไบคไบ’็š„ไธ‰ๅคง็Žฐไปฃๆžถๆž„่Œƒๅผ๏ผšไปŽๅŸบ็ก€ Axios ๅˆฐ React Query ็Šถๆ€่ฐƒๅบฆ๏ผŒๅ†ๅˆฐ tRPC ๅ’Œ GraphQL ๅธฆๆฅ็š„ๅ…จๆ ˆ็ฑปๅž‹ๅฎ‰ๅ…จไธŽๅคš็ซฏ่šๅˆใ€‚\\n> - ๅœจๅทฅ็จ‹ๅŒ–ไธŽๆœๅŠก็ซฏๆจกๅ—๏ผŒๆ–‡็ซ ๅ…จ้ขๆ‹ฅๆŠฑ Viteใ€Rsbuild ็ญ‰ๆž้€Ÿๆž„ๅปบๅทฅๅ…ท๏ผŒๅนถๅ‰–ๆžไบ† Next.js/N\"},{\"url\":\"/10.ไบงๅ“ Sense/00.ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"relativePath\":\"/10.ไบงๅ“ Sense/00.ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"frontmatter\":{\"date\":\"2026-03-19 23:05:50\",\"title\":\"ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"description\":\"ไบงๅ“ Sense ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ๏ผŒๆถต็›– AI ไบงๅ“่ง‚ๅฏŸใ€ๅคๅˆๅž‹ไบบๆ‰ๆˆ้•ฟใ€ๅ•†ไธšๅŒ–ๆ€่€ƒๅŠๆ–นๆณ•่ฎบๆ€ป็ป“็ญ‰ใ€‚\",\"categories\":[\"ไบงๅ“ Sense\",\"AI\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"date\":\"2026-03-19 23:05:50\",\"capture\":\"> * ่ฟฝๆฑ‚้ซ˜ๆ ๆ†โ€”โ€”ไปฅๆž็ฎ€ๆŠ€ๆœฏ่งฃๅ†ณๅคๆ‚้—ฎ้ข˜๏ผŒๆ‹’็ปไธบ็‚ซๆŠ€่€Œ่ฎพ่ฎก็š„ไผช้œ€ๆฑ‚๏ผ›\\n> * ๅนณ่กกๆ„Ÿๆ€งไธŽ็†ๆ€งโ€”โ€”ๆ—ขๅ…ฑๆƒ…็”จๆˆท็š„็œŸๅฎžๅœบๆ™ฏไธŽๆƒ…็ปช๏ผŒๅˆๅ†ท้™่ฟฝๆบฏ็—›็‚นๆœฌ่ดจ๏ผŒ่ฎฉไบงๅ“ๆ—ขๆœ‰ๆธฉๅบฆ๏ผŒๅˆไธ่‡ณไบŽๆฒฆไธบๅŠŸ่ƒฝ็š„ๅ †็ Œใ€‚\\n่งฃๆž„่ฟ™็งไบงๅ“ Sense ็š„ๅŸบ็ก€ๅœจไบŽๅฏนๆŠ•ๅ…ฅไบงๅ‡บๆฏ”๏ผˆROI๏ผ‰็š„ๆž่‡ด่ฟฝๆฑ‚ไธŽๅฏนไบบๆ€ง็š„ๆทฑๅบฆๅ‰–ๆž๏ผš\\n* ไธ€ๆ–น้ข๏ผŒๅ“่ถŠ็š„ไบงๅ“ๅ—…่ง‰ๆ„ๅ‘ณ็€ๅฏปๆ‰พโ€œ้ซ˜ๆ ๆ†่งฃโ€๏ผŒ็”จๆœ€ๅ…‹ๅˆถ็š„ๆŠ€ๆœฏๅคๆ‚ๅบฆๅŽปๆ’ฌๅŠจๆœ€ๅนฟๆณ›ไธ”ๅผบ็ƒˆ็š„็”จๆˆทไปทๅ€ผ๏ผŒๆžœๆ–ญ่ง„้ฟไธบไบ†ๆŠ€ๆœฏ่€ŒๆŠ€ๆœฏ็š„ไผช้œ€ๆฑ‚้™ท้˜ฑใ€‚\\n* ๅฆไธ€ๆ–น้ข๏ผŒๆ—ข้œ€่ฆ่ฎพ่บซๅค„ๅœฐๆ„Ÿ็Ÿฅ็”จๆˆท็š„็œŸๅฎžไฝฟ็”จๅœบๆ™ฏไธŽๆƒ…็ปช๏ผŒๅˆๅฟ…้กปไฟๆŒ็†ๆ€งๅŽป่ฟฝ้—ฎ็—›็‚น็š„ๆ นๆบ๏ผŒ็กฎไฟไบงๅ“ๆ—ขไธๆฒฆไธบ่‡ƒ่‚ฟ็š„้œ€ๆฑ‚่ฎธๆ„ฟๆฑ ๏ผŒไนŸไธๅ˜ๆˆ็ผบไนไบบๆ€งๆธฉๅบฆ็š„ๅ†ฐๅ†ทๆœบๅ™จใ€‚\\n<im\"},{\"url\":\"/10.ไบงๅ“ Sense/01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž/11.AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"relativePath\":\"/10.ไบงๅ“ Sense/01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž/11.AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"frontmatter\":{\"date\":\"2024-05-08 08:56:21\",\"title\":\"AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจๅคงๆจกๅž‹้‡ๅก‘ไบ’่”็ฝ‘ไบคไบ’็š„ๅฝ“ไธ‹๏ผŒPerplexity ๅนถๆœช้€‰ๆ‹ฉๆˆไธบโ€œไธ‹ไธ€ไธช Googleโ€๏ผŒ่€Œๆ˜ฏไปฅโ€œ็Ÿฅ่ฏ†ๅ‘็Žฐๅผ•ๆ“Žโ€็š„ๅ…จๆ–ฐๅฎšไฝ๏ผŒ็ฒพๅ‡†ๅˆ‡ๅ…ฅ็Ÿฅ่ฏ†ๅทฅไฝœ่€…็š„ๆ ธๅฟƒๅทฅไฝœๆตใ€‚ๆœฌๆ–‡่ทณๅ‡บๅ•็บฏ็š„ๆจกๅž‹่ƒฝๅŠ›ๅฏนๆฏ”๏ผŒไปŽไบงๅ“ Sense ไธŽๅทฅ็จ‹้€ป่พ‘็š„ๅŒ้‡่ง†่ง’๏ผŒๆทฑๅบฆๆ‹†่งฃ Perplexity ็š„็ ดๅฑ€ไน‹้“ใ€‚ๆˆ‘ไปฌๅฐ†ๆŽข่ฎจๅฎƒๅฆ‚ไฝ•้€š่ฟ‡ๅ็›ด่ง‰็š„ UI ๅˆ›ๆ–ฐ้‡ๅก‘ไบคไบ’่ตท็‚น๏ผŒๅฆ‚ไฝ•ๅœจๅทฅ็จ‹ๅฑ‚้ขๆญป็ฃ•ๅฐพ้ƒจๅปถ่ฟŸไธŽๅนป่ง‰ๆŽงๅˆถ๏ผŒไปฅๅŠๅฎƒๅฆ‚ไฝ•ๅˆฉ็”จๅทจๅคด็š„ๅˆฉๆถฆ็އๆŠคๅŸŽๆฒณๅฎž็Žฐ้”™ไฝ็ซžไบ‰ใ€‚ๆœ€็ปˆ๏ผŒๆˆ‘ไปฌๅฐ†่ง†็บฟๆŠ•ๅ‘ๆœชๆฅ๏ผŒไธ€็ชฅ AI ไปŽ่ขซๅŠจๅ“ๅบ”่ตฐๅ‘ไธปๅŠจๆŽข็ดข็š„ๆผ”่ฟ›่“ๅ›พใ€‚\",\"permalink\":\"/product-sense/perplexity-knowledge-worker\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"AI ๆœ็ดข\",\"็Ÿฅ่ฏ†ๅ‘็Žฐ\",\"ไบงๅ“ Sense\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"date\":\"2024-05-08 08:56:21\",\"capture\":\"1. ๅผ•่จ€\\nๅœจ AI ๆตชๆฝฎไธ‹๏ผŒๆœ็ดขๅผ•ๆ“Ž็š„่Œƒๅผๆญฃๅœจๅ‘็”Ÿ่ฝฌ็งปใ€‚ไฝœไธบๅฝ“ๅ‰ๅค‡ๅ—็žฉ็›ฎ็š„ AI ๆœ็ดขไบงๅ“๏ผŒPerplexity ๅนถๆฒกๆœ‰่ฏ•ๅ›พๆˆไธบโ€œไธ‹ไธ€ไธช Googleโ€๏ผŒ่€Œๆ˜ฏๅฐ†่‡ชๅทฑๅฎšไน‰ไธบ็Ÿฅ่ฏ†ๅ‘็Žฐๅผ•ๆ“Žใ€‚\\nๅฏนไบŽๆฏๅคฉ้œ€่ฆๅค„็†ๆตท้‡ไฟกๆฏใ€่ฟ›่กŒๅคๆ‚ๅ†ณ็ญ–็š„็Ÿฅ่ฏ†ๅทฅไฝœ่€…่€Œ่จ€๏ผŒๅฆ‚ไฝ•้ซ˜ๆ•ˆๅœฐโ€œๅŽปๅ™ชโ€ๅนถ่Žทๅ–้ซ˜ไฟกๅบฆ็Ÿฅ่ฏ†ๆ˜ฏๆ ธๅฟƒ่ฏ‰ๆฑ‚ใ€‚็ฌ”่€…ๅฐ†ไปŽไบงๅ“ไบคไบ’ใ€ๆŠ€ๆœฏๅทฅ็จ‹ใ€ๅ•†ไธš้€ป่พ‘ไธŽๆœชๆฅๆผ”่ฟ›ๅ››ไธช็ปดๅบฆ๏ผŒๅˆ†ๆž Perplexity ๆ˜ฏๅฆ‚ไฝ•้‡ๅก‘ไฟกๆฏ่Žทๅ–ๅทฅไฝœๆต็š„ใ€‚\\nๆœฌๆ–‡ๆ—จๅœจ้€š่ฟ‡ๅฏน Perplexity ็š„ๆทฑๅบฆไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž๏ผŒๅธฎๅŠฉ่ฏป่€…็†่งฃ AI ๆœ็ดขไบงๅ“็š„่ฎพ่ฎก้€ป่พ‘ไธŽ็”จๆˆทไฝ“้ชŒไผ˜ๅŒ–่ทฏๅพ„๏ผŒๅŒๆ—ถไธบ็Ÿฅ่ฏ†ๅทฅไฝœ่€…ๆไพ›ๅฏ่ฝๅœฐ็š„ๆ•ˆ็އๆๅ‡ๆ–นๆณ•๏ผŒๅนถๅœจ่ฟ‡็จ‹ไธญๅŸนๅ…ป็ป“ๆž„ๅŒ–ไบงๅ“ๅˆ†ๆžๆ€็ปดใ€‚\\n\"},{\"url\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/20.่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"relativePath\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/20.่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"frontmatter\":{\"date\":\"2024-06-15 22:23:00\",\"title\":\"่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡็ป“ๅˆไฟ็ฝ—ใƒปๆ ผ้›ทๅŽ„ๅง†ใ€ŠHow to Do Great Workใ€‹ๆ ธๅฟƒ่ง‚็‚น๏ผŒๆŽข่ฎจ AI ๅŽŸ็”Ÿๆ—ถไปฃๅคๅˆๅž‹ไบบๆ‰็š„ๆ ธๅฟƒ็‰น่ดจใ€‚AI ่ฎฉๅŸบ็ก€ๆ‰ง่กŒ่ƒฝๅŠ›ๅฟซ้€Ÿ่ดฌๅ€ผ๏ผŒไบบๆ‰็š„ๆ ธๅฟƒๅฃๅž’ไธๅ†ๆ˜ฏ่งฃๅ†ณ้—ฎ้ข˜๏ผŒ่€Œๆ˜ฏๆๅ‡บไผ˜่ดจ้—ฎ้ข˜ใ€ๅŸนๅ…ป้žๅ…ฑ่ฏ†ๅ“ๅ‘ณใ€‚ๅŒๆ—ถ้œ€ๅšๅฎˆๆ™บๅŠ›่ฏšๅฎž๏ผŒๆ‹ฅๆœ‰ๆ‰“็ ดๅธธ่ง„็š„ๅˆ›ๆ–ฐๅ‹‡ๆฐ”๏ผŒๅ€ŸๅŠฉ AI ๆ”พๅคงไธชไบบๆˆ้•ฟๆ ๆ†๏ผŒไปฅๅฐๅˆ‡ๅฃๅฎž่ทตๅฎž็ŽฐๆŒ‡ๆ•ฐ็บงๆˆ้•ฟใ€‚ไบบ็ฑป็‹ฌๆœ‰็š„ๅฅฝๅฅ‡ๅฟƒ๏ผŒๆ˜ฏ็ช็ ด AI ๅนณๅบธใ€ๅ–ๅพ—ๆฐๅ‡บๆˆๅฐฑ็š„ๆœ€็ปˆๅบ•ๆฐ”ใ€‚\",\"coverImg\":\"/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense/ai-native-composite-talents\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"AI\",\"ๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"date\":\"2024-06-15 22:23:00\",\"capture\":\"> \\n> ๅŽŸๆ–‡ๅœฐๅ€๏ผšhttps://paulgraham.com/greatwork.html\\n> \\n> ๅŽŸๆ–‡ไฝœ่€…๏ผšPaul Graham๏ผˆไฟ็ฝ—ยทๆ ผ้›ทๅŽ„ๅง†๏ผ‰๏ผŒ็ก…่ฐท้กถ็บงๅญตๅŒ–ๅ™จ Y Combinator ๅˆ›ๅง‹ไบบ๏ผŒ่ขซ่ช‰ไธบโ€œ็ก…่ฐทๅˆ›ไธšๆ•™็ˆถโ€๏ผŒไนŸๆ˜ฏ็ปๅ…ธๆŠ€ๆœฏๅ“ฒๅญฆ่‘—ไฝœใ€Š้ป‘ๅฎขไธŽ็”ปๅฎถใ€‹็š„ไฝœ่€…ใ€‚\\n> \\n> ๆ–‡็ซ ่ƒŒๆ™ฏ๏ผšๅŽŸๆ–‡ๆ˜ฏไฟ็ฝ—ยทๆ ผ้›ทๅŽ„ๅง†ไน‹ๅ‰ๅ‡†ๅค‡ไบ†ๅŠๅนดไน‹ไน…็š„้‡็ฃ…้•ฟๆ–‡๏ผŒไป–่ฏ•ๅ›พ่ฎฒๆ˜Ž็™ฝไธ€ไธช้€‚็”จไบŽๆฏไธชไบบ็š„ไธป้ข˜โ€”โ€”ๅฆ‚ไฝ•ๅšๆˆใ€Œๅคงไบ‹ใ€๏ผˆgreat work๏ผ‰ใ€‚้€š่ฏปๅ…จๆ–‡๏ผŒไฝ ไผšๅ‘็Žฐ๏ผŒ่ฟ™ๆ˜ฏไธ€็ฏ‡้žๅธธๅฎž็”จ็š„ๅทฅไฝœๆŒ‡ๅ—๏ผŒๅนถไธ”ๅ…ถไธญ็š„่ฎธๅคšๅ†…ๅฎน๏ผŒ้ƒฝไธŽAIๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰ๆ‰€้œ€่ฆๅ…ทๅค‡็š„็‰น่ดจ้žๅธธไธ€่‡ดใ€‚\\n 1. ๅผ•่จ€๏ผš\"},{\"url\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/21.ๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense\",\"relativePath\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/21.ๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense\",\"frontmatter\":{\"date\":\"2025-10-23 16:05:50\",\"title\":\"ๅฝ“โ€œๅฎž็Žฐโ€ไธๅ†ๆ˜ฏๅฃๅž’๏ผšๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense๏ผŸ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ AI ่ฎฉไปฃ็ ็”Ÿๆˆ็š„่พน้™…ๆˆๆœฌ่ถ‹่ฟ‘ไบŽ้›ถ๏ผŒโ€œๆŠ€ๆœฏๅฎž็Žฐโ€ไธๅ†ๆ˜ฏไธๅฏ้€พ่ถŠ็š„ๅฃๅž’๏ผŒโ€œไบงๅ“ๆดžๅฏŸโ€่ƒฝๆž„็ญ‘่ตทๆ–ฐ็š„ๆ ธๅฟƒๆŠคๅŸŽๆฒณใ€‚ๆœฌๆ–‡ๆ‹’็ป็Ž„ๅญฆ๏ผŒๅฐ†ๆŠฝ่ฑก็š„ ไบงๅ“ Sense ่งฃๆž„ไธบไธ‰ไธชๆ ธๅฟƒๆ•ฐๅญฆๅ…ฌๅผ๏ผŒๅนถๆไพ›ไธ€ๅฅ—ๅŸบไบŽโ€œ้€†ๅ‘ๅทฅ็จ‹โ€็š„ๅˆปๆ„็ปƒไน ๆŒ‡ๅ—๏ผŒๅŠฉๅŠ›ๅผ€ๅ‘่€…ๅœจ็ฎ—ๅŠ›่ฟ‡ๅ‰ฉ็š„ๆ—ถไปฃ๏ผŒๅฎŒๆˆไปŽโ€œไปฃ็ ๅทฅๅŒ โ€ๅˆฐโ€œไปทๅ€ผๅˆ›้€ ่€…โ€็š„่ฎค็Ÿฅ่ทƒ่ฟใ€‚\",\"sticky\":1,\"top\":true,\"categories\":[\"ไบงๅ“ Sense\",\"AI\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense/engineer-build-product-sense\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฝ“โ€œๅฎž็Žฐโ€ไธๅ†ๆ˜ฏๅฃๅž’๏ผšๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense๏ผŸ\",\"date\":\"2025-10-23 16:05:50\",\"capture\":\"1. ๅผ•่จ€\\nๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒไบงๅ“ Sense๏ผˆไบงๅ“ๆ„Ÿ๏ผ‰ ่ขซ่ง†ไธบไธ€็ง็Ž„ๅญฆใ€‚ๅฎƒไผผไนŽๆ˜ฏไน”ๅธƒๆ–ฏๅผ็š„็ตๅ…‰ไธ€็Žฐ๏ผŒๆˆ–ๆ˜ฏๅผ ๅฐ้พ™ๅผ็š„โ€œ็‹ฌๆ–ญไธ“่กŒโ€ใ€‚\\nไฝ†ๅฏนไบŽๅคงๅคšๆ•ฐๅทฅ็จ‹ๅธˆใ€ไบงๅ“็ป็†ไนƒ่‡ณ็‹ฌ็ซ‹ๅผ€ๅ‘่€…่€Œ่จ€๏ผŒๅฐ†่ƒฝๅŠ›ๅฏ„ๆ‰˜ไบŽโ€œๅคฉ่ต‹โ€ๆ˜ฏๅฑ้™ฉ็š„ใ€‚ๆˆ‘่ฎคไธบ๏ผŒไบงๅ“ Sense ๅนถ้žไธๅฏๆ‰ๆ‘ธ็š„้ป‘้ญ”ๆณ•๏ผŒ่€Œๆ˜ฏไธ€ๅฅ—็ป่ฟ‡้ซ˜้ข‘่ฎญ็ปƒๅŽๅ†…ๅŒ–ไธบๆœฌ่ƒฝ็š„ๆ€็ปด็ฎ—ๆณ•ใ€‚ ๅฐฑๅƒ่ต„ๆทฑ็จ‹ๅบๅ‘˜็œ‹ๅˆฐไธ€ๆฎตไปฃ็ ๅฐฑ่ƒฝๅ—…ๅ‡บ \\\"Code Smell\\\"๏ผˆไปฃ็ ๅผ‚ๅ‘ณ๏ผ‰๏ผŒ่ต„ๆทฑไบงๅ“ไบบไนŸ่ƒฝๅœจ็žฌ้—ดๅˆคๆ–ญไธ€ไธช้œ€ๆฑ‚ๆ˜ฏโ€œ็œŸ็—›็‚นโ€่ฟ˜ๆ˜ฏโ€œไผช้œ€ๆฑ‚โ€ใ€‚\\nไธ€ไธชๆˆๅŠŸ็š„ไบงๅ“ๅ†ณ็ญ–๏ผŒๅพ€ๅพ€ๅ‘็”Ÿๅœจไธ‰ไธช็ปดๅบฆ็š„ไบคๆฑ‡็‚น๏ผš\\n* ็”จๆˆทไปทๅ€ผๆดžๅฏŸ๏ผˆUser Value Insight๏ผ‰๏ผšไธไป…ๅฌๆ‡‚็”จๆˆท่ฏดโ€œๆƒณ่ฆๆ›ดๅฟซ็š„้ฉฌโ€๏ผŒๆ›ด่ƒฝๆดžๅฏŸไป–ๅ…ถๅฎžโ€œๆƒณๆ›ด\"},{\"url\":\"/10.ไบงๅ“ Sense/04.ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–/30.ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹่ฏปๅŽๆ„Ÿ\",\"relativePath\":\"/10.ไบงๅ“ Sense/04.ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–/30.ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹่ฏปๅŽๆ„Ÿ\",\"frontmatter\":{\"date\":\"2025-11-24 21:50:00\",\"title\":\"ๆ”พๅผƒๅขž้•ฟๆ‰งๅฟต๏ผŒไธบไป€ไนˆโ€œๅฐ่€Œ็พŽโ€ๆ‰ๆ˜ฏๅฏๆŒ็ปญไน‹่ทฏ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒ็ง‘ๆŠ€ไบ’่”็ฝ‘่กŒไธš็š„ๅ™ไบ‹้ƒฝ่ขซโ€œไธๆƒœไธ€ๅˆ‡ไปฃไปทๅฎž็Žฐ่ถ…็บฟๆ€งๅขž้•ฟโ€ๆ‰€ไธปๅฏผใ€‚ไปฟไฝ›ๅชๆœ‰ๆ‹ฟๅˆฐๅทจ้ข่ž่ต„ใ€็–ฏ็‹‚ๆ‹›ไบบใ€ๆˆไธบไผฐๅ€ผ็ ด็™พไบฟ็š„ๅบž็„ถๅคง็‰ฉ๏ผŒๆ‰็ฎ—ๅพ—ไธŠๆ˜ฏๆˆๅŠŸ็š„ๅˆ›ไธšใ€‚็„ถ่€Œ๏ผŒ่ฏปๅฎŒ่จๅธŒๅฐ”ยทๆ‹‰ๆ–‡ๅ‰ไบš็š„ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹ๅŽ๏ผŒ็ฌ”่€…่Žทๅพ—ไบ†ไธ€็งๆˆช็„ถไธๅŒ็š„ๅ•†ไธš่ง†่ง’๏ผšไผไธšๅญ˜ๅœจ็š„้ฆ–่ฆ็›ฎ็š„ไธๆ˜ฏไธบไบ†่ž่ต„ๅ’Œๆ‰ฉๅผ ๏ผŒ่€Œๆ˜ฏไธบไบ†้€š่ฟ‡่งฃๅ†ณ้—ฎ้ข˜ๆฅ่Žทๅพ—ๆŒ็ปญ็š„็›ˆๅˆฉใ€‚ ๆœฌๆ–‡็ป“ๅˆไนฆไธญ็š„ๆ ธๅฟƒ่ฎบ็‚นไธŽ่‡ช่บซ็š„็ ”ๅ‘่ง†่ง’๏ผŒๆŠŠๅฐ†่ฟ™ๆœฌไนฆ่ƒŒๅŽ็š„็ป่ฅ้€ป่พ‘ไธŽไบงๅ“ๅ“ฒๅญฆๆขณ็†ไธบๅ‡ ไธชๆ ธๅฟƒๅฑ‚้ข็š„ๆ€่€ƒใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense/small-rule-learn\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"ไบงๅ“ Sense\",\"ๅ•†ไธšๅŒ–\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆ”พๅผƒๅขž้•ฟๆ‰งๅฟต๏ผŒไธบไป€ไนˆโ€œๅฐ่€Œ็พŽโ€ๆ‰ๆ˜ฏๅฏๆŒ็ปญไน‹่ทฏ\",\"date\":\"2025-11-24 21:50:00\",\"capture\":\"ไนฆๅ๏ผšใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹\\nไฝœ่€…๏ผš[็พŽ] ่จๅธŒๅฐ”ยทๆ‹‰ๆ–‡ๅ‰ไบš\\nๆ ธๅฟƒๆ ‡็ญพ๏ผšๆž็ฎ€ๅˆ›ไธš๏ฝœ็คพๅŒบๆœฌไฝ๏ฝœๆŒ็ปญ็›ˆๅˆฉ๏ฝœๅˆ›ไฝœ่€…็ปๆตŽ\\nไธ€ๅฅ่ฏ็ฎ€่ฏ„๏ผšๅœจ็›ฒ็›ฎๅด‡ๆ‹œ่ง„ๆจกๆ‰ฉๅผ ็š„ๅ•†ไธš่ฏญๅขƒไธ‹๏ผŒ่ฟ™ๆ˜ฏไธ€ไปฝๅ†™็ป™็‹ฌ็ซ‹ๅˆ›ไฝœ่€…ไธŽๅผ€ๅ‘่€…็š„ๆธ…้†’ๆŒ‡ๅ—๏ผŒๆ•™ไผšๆˆ‘ไปฌๅฆ‚ไฝ•็”จๆœ€ๅฐ‘็š„่ต„ๆบ๏ผŒ่งฃๅ†ณ็œŸๅฎž็š„็—›็‚น๏ผŒๅนถ่Žทๅพ—้•ฟไน…็š„่‡ช็”ฑใ€‚\\nๆ›ดๅคšไนฆ็ฑๆŽจ่ไฟกๆฏๅฏๅ‚่€ƒ๏ผšไบงๅ“ Sense ไธŽๅ•†ไธšๅŒ–\\n 1. ็คพๅŒบๅ…ˆ่กŒ๏ผšไปŽโ€œๆˆ‘ๆ˜ฏ่ฐโ€ๅˆฐโ€œๆˆ‘่ƒฝไธบ่ฐ่งฃๅ†ณ้—ฎ้ข˜โ€\\nไผ ็ปŸๅ•†ไธš้€ป่พ‘ๅพ€ๅพ€ๆ˜ฏๅ…ˆๆž„ๆ€ไธ€ไธชๅฎๅคง็š„็‚นๅญ๏ผŒ้—ญ้—จ้€ ่ฝฆๆ‰“็ฃจไบงๅ“๏ผŒๆœ€ๅŽๅ†็ ธ้’ฑๅŽปๅธ‚ๅœบไธŠๅฏปๆ‰พ็›ฎๆ ‡็”จๆˆทใ€‚่€Œๆœฌไนฆๆๅ‡บไบ†ไธ€ไธช้ข ่ฆ†ๆ€ง็š„ๅๅ‘่ทฏๅพ„๏ผš็คพๅŒบ $\\\\rightarrow$ ้—ฎ้ข˜ $\\\\rightarrow$ ๆต็จ‹ $\\\\rightarrow$\"},{\"url\":\"/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/40.ๆดžๅฏŸๅŠ›ๆจกๅž‹\",\"relativePath\":\"/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/40.ๆดžๅฏŸๅŠ›ๆจกๅž‹\",\"frontmatter\":{\"date\":\"2025-11-14 16:00:00\",\"title\":\"ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผšๅฆ‚ไฝ•็œ‹้€ไบงๅ“ไธŽๆŠ€ๆœฏ่ƒŒๅŽ็š„็ณป็ปŸ้€ป่พ‘๏ผŸ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆ— ่ฎบๆ˜ฏๅšไบงๅ“ใ€ๆžๆŠ€ๆœฏ๏ผŒ่ฟ˜ๆ˜ฏๅบ”ๅฏนๆ—ฅๅธธๅทฅไฝœไธญ็š„ๅ„็งๆŒ‘ๆˆ˜๏ผŒไฝ ๆ˜ฏๅฆ้‡ๅˆฐ่ฟ‡่ฟ™ๆ ท็š„ๅ›ฐๅขƒ๏ผšๆ˜Žๆ˜ŽๆŒ‰็ป้ชŒ่กŒไบ‹๏ผŒๅดๅฑกๅฑก่ธฉๅ‘๏ผ›ๅˆš่งฃๅ†ณ่กจ้ข้—ฎ้ข˜๏ผŒ้šๆ‚ฃๅˆๅทๅœŸ้‡ๆฅใ€‚้—ฎ้ข˜ๆœชๅฟ…ๅ‡บๅœจๅŠชๅŠ›็จ‹ๅบฆ๏ผŒ่€ŒๅœจไบŽๆˆ‘ไปฌๅช็›ฏ็€่กจ่ฑก๏ผŒๅดๅฟฝ็•ฅไบ†่ƒŒๅŽ็œŸๆญฃ่ตทไฝœ็”จ็š„็ณป็ปŸ๏ผŒๆฒกๆœ‰็œ‹ๆ‡‚่—ๅœจ่ƒŒๅŽ็š„็ณป็ปŸใ€‚ไธบไป€ไนˆๅŒๆ ทๆ˜ฏ่งฃๅ†ณ้—ฎ้ข˜๏ผŒๆœ‰ไบบๅช่ƒฝโ€œๅคด็—›ๅŒปๅคดโ€๏ผŒๆœ‰ไบบๅด่ƒฝ็›ดๅ‡ปๆœฌ่ดจ๏ผŸ่ฟ™็ฏ‡ๆ–‡็ซ ๅฐ†็”จ้€šไฟ—ๆ˜“ๆ‡‚็š„ๆ–นๅผ๏ผŒๅธฆไฝ ๆ‹†่งฃไธ€ๅฅ—ๅฎž็”จ็š„ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผŒ่ฎฉๆˆ‘ไปฌๅญฆไผš้€่ฟ‡็Žฐ่ฑกๆŠ“ไฝๆœฌ่ดจ๏ผŒไปŽๆ นๆบไธŠ่งฃๅ†ณ้—ฎ้ข˜ใ€‚\",\"permalink\":\"/product-sense/insight-model\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"ไบงๅ“ Sense\",\"็ณป็ปŸๆดžๅฏŸๅŠ›\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผšๅฆ‚ไฝ•็œ‹้€ไบงๅ“ไธŽๆŠ€ๆœฏ่ƒŒๅŽ็š„็ณป็ปŸ้€ป่พ‘๏ผŸ\",\"date\":\"2025-11-14 16:00:00\",\"capture\":\"1. ่กจ่ฑก่ƒŒๅŽ่—็€ๅ†ณๅฎšไธ€ๅˆ‡็š„โ€œ็ณป็ปŸ้ป‘็›’โ€\\nๆˆ‘ไปฌๅœจๆ—ฅๅธธๅผ€ๅ‘ๆˆ–ไบงๅ“่ฎพ่ฎกไธญ๏ผŒๆ€ปๆ˜ฏ่ขซๅ„็งโ€œ่กจ่ฑกโ€ๅŒ…ๅ›ด๏ผšDAU ็ช็„ถไธ‹้™ไบ†ใ€็บฟไธŠๅ‡บ็Žฐไบ†ไธ€ไธชๅถ็Žฐ็š„ Bugใ€ๆŸไธชๅŠŸ่ƒฝ็š„่ฝฌๅŒ–็އไธๅŠ้ข„ๆœŸใ€‚ๆˆ‘ไปฌไน ๆƒฏไบ†็›ฏ็€่ฟ™ไบ›็œ‹ๅพ—่ง็š„็ป“ๆžœๆ‰พๅŽŸๅ› ๏ผŒๅดๅฟฝ็•ฅไบ†ไธ€ไธชๆ ธๅฟƒ็œŸ็›ธ๏ผšๆฏไธ€ไธช่กจ่ฑก่ƒŒๅŽ๏ผŒๅ…ถๅฎž้ƒฝ้š่—็€ไธ€ไธช่ฟ่ฝฌๅคๆ‚็š„โ€œ้ป‘็›’ๅญโ€๏ผŒๆญฃๆ˜ฏ่ฟ™ไธช้ป‘็›’ๅญๅ†ณๅฎšไบ†ไบ‹็‰ฉๅ‘ๅฑ•็š„ๅฎข่ง‚่ง„ๅพ‹ใ€‚ๆˆ‘ไปฌๅฏไปฅๆŠŠ่ฟ™ไธช้ป‘็›’ๅญ๏ผŒๅซๅšโ€œ็ณป็ปŸโ€ใ€‚\\n<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/product/system_tips.png\\\" style=\\\"width: 1\"},{\"url\":\"/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/50.็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“\",\"relativePath\":\"/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/50.็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“\",\"frontmatter\":{\"date\":\"2024-01-01 16:00:00\",\"title\":\"็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“\",\"description\":\"ๅฐ†็ปๆตŽๅญฆๆ ธๅฟƒๅŽŸ็†่žๅˆ่ฟ›ไบงๅ“่ฎพ่ฎกๅ…จ็”Ÿๅ‘ฝๅ‘จๆœŸ็š„ๆ–นๆณ•่ฎบไฝ“็ณป๏ผŒๆž„ๅปบ็†ๆ€ง็š„โ€œไบงๅ“Senseโ€ใ€‚\",\"categories\":[\"ไบงๅ“ Sense\"],\"permalink\":\"/product-sense/using-economics-thinking\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“\",\"date\":\"2024-01-01 16:00:00\",\"capture\":\"ๅœจไบงๅ“็ฎก็†็š„ๅนฟ้˜”ๅคฉๅœฐไธญ๏ผŒๆˆ‘ไปฌๅพ€ๅพ€ๅผบ่ฐƒโ€œไบงๅ“ Senseโ€๏ผˆProduct Sense๏ผ‰โ€”โ€”ไธ€็งๅฏน็”จๆˆท้œ€ๆฑ‚ใ€ๅธ‚ๅœบ้ฃŽๅ‘ๅ’ŒๆŠ€ๆœฏๆฝœๅŠ›็š„็›ด่ง‰ๆ€งๆ•ๆ‰ใ€‚็„ถ่€Œ๏ผŒ่ฟ™็ง Sense ็ป้žๅ‡ญ็ฉบ่€Œๆฅ็š„็ตๅ…‰ไน็Žฐ๏ผŒๅฎƒ้œ€่ฆ็จณๅ›บ็š„็†ๆ€งๅœฐๅŸบใ€‚ๅœจไผ—ๅคšๅญฆ็ง‘ไธญ๏ผŒ็ปๆตŽๅญฆๆ— ็–‘ๆไพ›ไบ†ๆœ€ๅบ•ๅฑ‚็š„้€ป่พ‘ๆ”ฏๆŸฑใ€‚\\n็ปๆตŽๅญฆไธไป…ไป…ๆ˜ฏๅ…ณไบŽ้‡‘้’ฑๅ’Œๅธ‚ๅœบ็š„็ง‘ๅญฆ๏ผŒๅฎƒๆ›ดๆ˜ฏไธ€็ง่งฃๅ†ณ้—ฎ้ข˜ใ€ไผ˜ๅŒ–ๅ†ณ็ญ–็š„ๆ–นๅผใ€‚ๅฏนไบงๅ“ไบบ่€Œ่จ€๏ผŒๅ€Ÿ้‰ด็ปๆตŽๅญฆๆ€็ปด๏ผŒๆ„ๅ‘ณ็€่ƒฝๅคŸ็†ๆ™บๅœฐๆƒ่กกๅˆฉๅผŠ๏ผŒๆ›ด็ฒพๅ‡†ๅœฐๅฎšไปท๏ผŒๆ›ดๆทฑๅˆปๅœฐๆดžๅฏŸไบบๆ€ง๏ผŒๆœ€็ปˆๅœจ้”™็ปผๅคๆ‚็š„็บฆๆŸๆกไปถไธ‹๏ผŒๆฑ‚่งฃๅ‡บ็”จๆˆทไปทๅ€ผไธŽๅ•†ไธšไปทๅ€ผๅนถ้‡็š„ๆœ€ไผ˜่งฃใ€‚\\n 1. ็”Ÿๆดป้‡Œ็š„็ปๆตŽๅญฆๆดžๅฏŸโ€”โ€”ๆดžๅฏŸไธไป…ๆ˜ฏๅ…ณไบŽ้œ€ๆฑ‚๏ผŒๆ›ดๆ˜ฏๅ…ณไบŽๆˆๆœฌไธŽๅšๅผˆ\\nๆˆ‘ไปฌๅธธ่ขซๆ—ฅๅธธ็Žฐ่ฑก็š„โ€œๅˆ็†ๆ€งโ€ๆ‰€่ฟทๆƒ‘๏ผŒ่€Œ็ปๆตŽๅญฆ\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/00.AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/00.AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ\",\"frontmatter\":{\"title\":\"AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"date\":\"2026-03-15 16:00:00\",\"description\":\"ๅ…จๆ™ฏๅผ AI ๅญฆไน ไธŽๅฎž่ทต็Ÿฅ่ฏ†ๅบ“๏ผŒ็ณป็ปŸๆฒ‰ๆท€ AI Agent ่ฎพ่ฎกๆจกๅผใ€ๅคงๆจกๅž‹ๅทฅ็จ‹ๅŒ–่ฝๅœฐใ€ๅผ€ๆบๅฐ้กน็›ฎๅŠ็คพๅŒบๆดปๅŠจ็ป้ชŒๆ€ป็ป“๏ผŒๆŒ็ปญ่ฟญไปฃไปŽ็†่ฎบๅˆฐ็”Ÿไบง็š„ๅฎŒๆ•ดๆ–นๆณ•่ฎบใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/llm_learning_bg_1.png\",\"permalink\":\"/ai-learning/overview\",\"categories\":[\"ai-practice\"],\"tags\":[\"AI\",\"LLM\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"date\":\"2026-03-15 16:00:00\",\"capture\":\"<!-- ็ฒพ้€‰ไธ“้ข˜ --\\n<script setup>\\nimport ArticleCardList from '@fragment/components/ArticleCardList.vue'\\nimport { aiLearningCategories } from '@fragment/data/ai-learning-data'\\n</script>\\n<ArticleCardList :categories=\\\"aiLearningCategories\\\" />\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/01.Agentๆฆ‚่งˆไธŽ็ปผ่ฟฐ\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/01.Agentๆฆ‚่งˆไธŽ็ปผ่ฟฐ\",\"frontmatter\":{\"date\":\"2026-02-12 22:31:00\",\"title\":\"ไปŽๆ็คบ่ฏๅˆฐๆ•ฐๅญ—ๅ‘˜ๅทฅ๏ผšAI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšAI ็š„่ฟ›ๅŒ–ๆญฃ็ปๅކไปŽโ€œๅฏน่ฏๆก†โ€ๅ‘โ€œๆ•ฐๅญ—ๅ‘˜ๅทฅโ€็š„ๆ นๆœฌๆ€ง่ทจ่ถŠใ€‚ๆœฌๆ–‡ๆ˜ฏไธ€็ฏ‡ๅ…ณไบŽ AI Agent ็š„ๅ…จๆ™ฏๆทฑๅบฆ็ปผ่ฟฐ๏ผŒๆ—จๅœจ่งฃๆž„ๆ™บ่ƒฝไฝ“ๅฆ‚ไฝ•ไปŽ็ฎ€ๅ•็š„ Prompt ๅ“ๅบ”่€…๏ผŒๆผ”ๅ˜ไธบๅ…ทๅค‡่‡ชไธป็›ฎๆ ‡ๆ‹†่งฃใ€้•ฟ็ŸญๆœŸ่ฎฐๅฟ†ไธŽๅคๆ‚็Žฏๅขƒไบคไบ’่ƒฝๅŠ›็š„โ€œๆ‰ง่กŒ่€…โ€ใ€‚ๆˆ‘ไปฌๅฐ†ๆทฑๅบฆๆ‹†่งฃ Agent ็š„ๅ››ๅคงๆŠ€ๆœฏๅŸบ็Ÿณ๏ผˆ่ง„ๅˆ’ใ€่ฎฐๅฟ†ใ€ๅทฅๅ…ทใ€่กŒๅŠจ๏ผ‰๏ผŒๅนถ่ฏฆ็ป†ๅ‰–ๆžไปŽ้€š็”จๅž‹ Agent ๅˆฐๅคšๆ™บ่ƒฝไฝ“ๅไฝœ๏ผˆMAS๏ผ‰ใ€ๅ†ๅˆฐ่ฟˆๅ‘ Agent OS ๆ—ถไปฃ็š„ OpenClaw ็ญ‰ไบ”ๅคงๆผ”่ฟ›ๅฝขๆ€ใ€‚ไธไป…ๆŽข่ฎจไบ†ๆŠ€ๆœฏๆžถๆž„็š„ๅฎž็Žฐ๏ผŒๆ›ดๆญ็คบไบ†่ฝฏไปถๅทฅ็จ‹ไปŽโ€œไปฅไบบไธบไธญๅฟƒโ€ๅ‘โ€œไปฅ AI ไธบไธญๅฟƒโ€็š„่Œƒๅผ้ฉๅ‘ฝโ€”โ€”ๅœจ Agent ้ฉฑๅŠจ็š„ๆ–ฐ็บชๅ…ƒ๏ผŒๆ ธๅฟƒ็ซžไบ‰ๅŠ›ๅฐ†ไธๅ†ๆ˜ฏไปฃ็ ้‡๏ผŒ่€Œๆ˜ฏ่ฐƒๅบฆ AI ้—ญ็Žฏ่งฃๅ†ณไธšๅŠก้—ฎ้ข˜็š„่ƒฝๅŠ›ใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/llm_learning_bg_1.png\",\"permalink\":\"/ai-agent/overview\",\"top\":true,\"categories\":[\"ai-practice\"],\"tags\":[\"AI Agent\",\"Agent\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไปŽๆ็คบ่ฏๅˆฐๆ•ฐๅญ—ๅ‘˜ๅทฅ๏ผšAI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐ\",\"date\":\"2026-02-12 22:31:00\",\"capture\":\"1. ไป€ไนˆๆ˜ฏ Agent๏ผŸโ€”โ€”ไปŽโ€œๅทฅๅ…ทโ€ๅˆฐโ€œๅฎžไฝ“โ€็š„่ฟ›ๅŒ–\\n> ๆ ธๅฟƒ้€ป่พ‘๏ผš็Žฐไปฃ Agent ็š„ๆœฌ่ดจๆ˜ฏ \\\"LLM (ๅคง่„‘) + ่ง„ๅˆ’ไธŽ่ฎฐๅฟ† (ๅฐ่„‘) + ๅทฅๅ…ท่ฐƒ็”จ (ๆ‰‹่„š)\\\"ใ€‚LLM ็š„ๆตท้‡็Ÿฅ่ฏ†ๅ‚จๅค‡่ฎฉ Agent ่ƒฝๅคŸ็ฒพๅ‡†็†่งฃๅคๆ‚ๆŒ‡ไปค๏ผŒๅนถๅฐ†ๅ…ถ่ฝฌๅŒ–ไธบๅฎž้™…่กŒๅŠจใ€‚\\nๅœจ AI ้ข†ๅŸŸ๏ผŒAgent๏ผˆๆ™บ่ƒฝไฝ“๏ผ‰ ๅนถ้žไธ€ไธชๆ–ฐๆฆ‚ๅฟต๏ผŒไฝ† LLM๏ผˆๅคง่ฏญ่จ€ๆจกๅž‹๏ผ‰็š„็ˆ†ๅ‘่ต‹ไบˆไบ†ๅฎƒ็œŸๆญฃ็š„โ€œ็ต้ญ‚โ€ใ€‚็ฎ€ๅ•ๆฅ่ฏด๏ผŒAgent ๆ˜ฏไธ€็ง่ƒฝๅคŸๆ„Ÿ็Ÿฅ็Žฏๅขƒใ€่‡ชไธปๅ†ณ็ญ–ๅนถๆ‰ง่กŒไปปๅŠก็š„ๆ™บ่ƒฝๅฎžไฝ“ใ€‚\\nๅฆ‚ๆžœ่ฏดไผ ็ปŸ็š„ AI ๆ˜ฏไธ€ไธชโ€œ้—ฎ็ญ”ๆœบโ€๏ผŒ้‚ฃไนˆ Agent ๅฐฑๆ˜ฏไธ€ไธชโ€œๆ‰ง่กŒ่€…โ€ใ€‚ๅฎƒๅ…ทๅค‡ไปฅไธ‹ๅ››ๅคงๆ ธๅฟƒ็‰น่ดจ๏ผš\\n* ่‡ชไธปๆ€ง (Autonomy)๏ผš ๆ— ้กปๆ—ถๅˆป็›ฏ็€๏ผŒ่ฎพๅฎš\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/02.Agent ่ง„ๅˆ’ๆจกๅ—\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/02.Agent ่ง„ๅˆ’ๆจกๅ—\",\"frontmatter\":{\"date\":\"2026-02-24 20:52:37\",\"title\":\"ๆŽขๅฏป Agent ๅ†ณ็ญ–ไธญๆžข๏ผš่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„่ง„ๅˆ’่Œƒๅผ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฆ‚ๆžœ่ฏด LLM ๆ˜ฏ Agent ็š„ๅคง่„‘๏ผŒ่ง„ๅˆ’ๆจกๅ—ๅˆ™ๆ˜ฏๅ…ถ่ดŸ่ดฃๅคๆ‚ๅ†ณ็ญ–็š„โ€œๅ‰้ขๅถโ€ใ€‚ๆœฌๆ–‡ๆทฑๅบฆ่งฃๆž„ไบ† Agent ่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„ๆ ธๅฟƒ่ทฏๅพ„๏ผšไปŽไปปๅŠกๅˆ†่งฃ็š„้™ไฝŽ็†ตๅ€ผ๏ผŒๅˆฐ่‡ชๆˆ‘ๅๆ€็š„้—ญ็ŽฏๆŽงๅˆถใ€‚้€š่ฟ‡ๅฏนๆฏ”โ€œ่พน่ตฐ่พน็œ‹โ€็š„ ReAct ๅŠจๆ€ๅ“ๅบ”ๆจกๅผไธŽโ€œ่ฐ‹ๅฎšๅŽๅŠจโ€็š„ Plan-and-Execute ้ข„็ผ–ๆŽ’ๆจกๅผ๏ผŒๆœฌๆ–‡ๆญ็คบไบ†ๅฆ‚ไฝ•้’ˆๅฏน้•ฟ้“พ่ทฏๅทฅ็จ‹ไปปๅŠกๆž„ๅปบ็จณๅฅ็š„ๅ†ณ็ญ–่Œƒๅผ๏ผŒๅŠฉไฝ ๅฎŒๆˆไปŽโ€œ็ฎ€ๅ•ๆ็คบ่ฏโ€ๅˆฐโ€œๅคๆ‚ๆžถๆž„่ฎพ่ฎกโ€็š„่ฎค็Ÿฅ่ทƒ่ฟใ€‚\",\"permalink\":\"/ai-agent/planning-module\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆŽขๅฏป Agent ๅ†ณ็ญ–ไธญๆžข๏ผš่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„่ง„ๅˆ’่Œƒๅผ\",\"date\":\"2026-02-24 20:52:37\",\"capture\":\"1. ๅผ•่จ€\\nๅœจไบบ็ฑปๅคง่„‘ไธญ๏ผŒๅ‰้ขๅถ็šฎๅฑ‚่ดŸ่ดฃๅคๆ‚็š„่ฎค็Ÿฅ่ง„ๅˆ’ใ€ๅ†ณ็ญ–ๅ’Œ็คพไบค่กจ็Žฐใ€‚ๅฏนไบŽไธ€ไธช Agent ่€Œ่จ€๏ผŒ่ง„ๅˆ’ๆจกๅ—ๆญฃๆ˜ฏๅฎƒ็š„โ€œๅ‰้ขๅถโ€โ€”โ€”ๅฎƒๅ†ณๅฎšไบ† Agent ๆ˜ฏๅชไผšๆœบๆขฐๅ“ๅบ”ๆŒ‡ไปค็š„โ€œๆœจๅถโ€๏ผŒ่ฟ˜ๆ˜ฏ่ƒฝ็‹ฌ็ซ‹ๆ‹†่งฃ็›ฎๆ ‡ใ€ๅœจๅคๆ‚็Žฏๅขƒไธญๅฏปๆ‰พๆœ€ไผ˜่ทฏๅพ„็š„โ€œๆ•ฐๅญ—ๅ‘˜ๅทฅโ€ใ€‚\\nAgent ็š„่ง„ๅˆ’่ƒฝๅŠ›ไธป่ฆ็”ฑไธค้ƒจๅˆ†ๅๅŒ้ฉฑๅŠจ๏ผšไปปๅŠกๅˆ†่งฃไธŽ่‡ชๆˆ‘ๅๆ€ใ€‚\\n 2. ไปปๅŠกๅˆ†่งฃ๏ผšๅŒ–็นไธบ็ฎ€็š„็ญ–็•ฅ\\nไปปๅŠกๅˆ†่งฃๆ˜ฏๆŒ‡ๅฐ†ไธ€ไธชๅคๆ‚็š„็›ฎๆ ‡ๆˆ–ไปปๅŠกๆ‹†่งฃไธบๅคšไธชๅ…ทไฝ“ใ€ๅฏๆ“ไฝœ็š„็š„ๅญไปปๅŠก๏ผŒไปฅไพฟ Agent ่ƒฝๅคŸๆ›ด้ซ˜ๆ•ˆๅœฐๆ‰ง่กŒๅ’Œ็ฎก็†ใ€‚ๅ…ถๆœฌ่ดจๆ˜ฏ้™ไฝŽ้—ฎ้ข˜็š„็†ตๅ€ผ๏ผŒ่ฎฉ Agent ่ƒฝๅคŸ่š็„ฆไบŽๆฏไธ€ไธช็ป†ๅฐ็š„็กฎๅฎšๆ€งๆญฅ้ชค๏ผŒไปŽ่€Œ้€ๆญฅ่งฃๅ†ณ้—ฎ้ข˜๏ผŒๆ้ซ˜่ง„ๅˆ’็š„ๅฏ่กŒๆ€งๅ’Œๆ‰ง่กŒๆ•ˆ็އใ€‚\\nๆ นๆฎโ€œ่ง„ๅˆ’โ€ไธŽโ€œๆ‰ง่กŒโ€ๅ‘\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/03.ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผšๅฐ†้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/03.ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผšๅฐ†้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"frontmatter\":{\"date\":\"2026-02-06 15:48:23\",\"title\":\"ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผš้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผš้ขๅฏนๅฑ‚ๅ‡บไธ็ฉท็š„ Promptใ€MCPใ€Skills ๅ’Œ Subagents๏ผŒๅพˆๅคšๅผ€ๅ‘่€…ๅ’Œไบงๅ“็ป็†ๅธธๆ„Ÿๅˆฐๅ›ฐๆƒ‘๏ผš่ฟ™ไบ›็ป„ไปถ็ฉถ็ซŸๆ˜ฏ้‡ๅค้€ ่ฝฎๅญ๏ผŒ่ฟ˜ๆ˜ฏๅ„ๅธๅ…ถ่Œ็š„็งฏๆœจ๏ผŸๆœฌๆ–‡ๅฐ†ๆทฑๅบฆๆ‹†่งฃ Agentic ็”Ÿๆ€็š„ไบ”ๅคงๆ ธๅฟƒๆ”ฏๆŸฑ๏ผŒๆญ็คบๅฆ‚ไฝ•้€š่ฟ‡ไผ˜้›…็š„ๆžถๆž„่ฎพ่ฎกๅฎž็ŽฐๅๅŒ้—ญ็Žฏ๏ผŒๅฐ†้›ถๆ•ฃ็š„ AI ็ป„ไปถๆ‹ผ่ฃ…ๆˆไธ€ๅฅ—ๅฏๆŒ็ปญ่ฟ›ๅŒ–็š„ AI ๅŽŸ็”Ÿๆ“ไฝœ็ณป็ปŸ๏ผŒๆŠŠ็ขŽ็‰‡ๅŒ–็š„ AI ่ƒฝๅŠ›่ฝฌๅŒ–ไธบ้ซ˜ๅฏ็”จ็š„็”ŸไบงๅŠ›ๆตใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/ai-practice/agent_components_zh.png\",\"permalink\":\"/ai-agent/composition-ai-components\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"],\"tags\":[\"Agent\",\"AI\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผš้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"date\":\"2026-02-06 15:48:23\",\"capture\":\"<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/ai-practice/agent_components_zh.png\\\" style=\\\"width: 100%; border-radius: 8px; margin-bottom: 20px;\\\" alt=\\\"about site background\\\">\\n 1. ๅผ•่จ€\\n> ้—ฎ้ข˜๏ผšๅœจๆ™บ่ƒฝไฝ“็”Ÿๆ€้‡Œ๏ผŒๅ„ไธช็ป„ไปถๅˆฐๅบ•ๆ˜ฏๆ€ŽไนˆๅๅŒๅทฅไฝœ็š„๏ผŸ\\nๅฝ“ๅ‰๏ผŒAgent๏ผˆๆ™บ่ƒฝไฝ“๏ผ‰ๆŠ€ๆœฏๅ‘ๅฑ•่ฟ…็Œ›๏ผŒๅ„็ง่ฎพ่ฎกๆจกๅผใ€ๆ ธๅฟƒ็ป„ไปถไธŽๅทฅไฝœๆœบๅˆถๅฑ‚ๅ‡บไธ็ฉทใ€‚้ขๅฏน็นๆ‚็š„ๆ™บ่ƒฝไฝ“็”Ÿๆ€\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/10.Agent SKills\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/10.Agent SKills\",\"frontmatter\":{\"date\":\"2026-03-05 23:11:25\",\"title\":\"ๅฆ‚ไฝ•็ผ–ๅ†™ไธ€ไธช้ซ˜ๅฏ็”จ็š„ Agent Skill๏ผŸไปŽๆœบๅˆถๆ‹†่งฃๅˆฐ็”Ÿไบงๅฎž่ทตๆŒ‡ๅ—\",\"description\":\"ๅคง่ฏญ่จ€ๆจกๅž‹ๅœจ็‰นๅฎšๅทฅ็จ‹้ข†ๅŸŸๅธธ้ขไธดโ€œ็Ÿฅ่€Œไธ่กŒโ€็š„ๅ›ฐๅขƒใ€‚ๆœฌๆ–‡ๆทฑๅบฆๆ‹†่งฃ Anthropic ๆœ€ๆ–ฐๆŽจๅ‡บ็š„ Agent Skills ่ง„่Œƒ๏ผŒๆญ็ง˜ๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆธ่ฟ›ๅผๆŠซ้œฒไธŽไธ‰็บงๅŠ ่ฝฝๆœบๅˆถ๏ผŒๅœจๆŽงๅˆถ Token ๆˆๆœฌ็š„ๅŒๆ—ถๆ˜พ่‘—ๆๅ‡ Agent ็š„ไปปๅŠกๆ‰ง่กŒ็ฒพๅบฆใ€‚ๆ–‡็ซ ๆถต็›–ไบ†ไปŽๆ–‡ไปถๅคนๆžถๆž„่ฎพ่ฎกๅˆฐๅฎžๆˆ˜ git-workflow ็ผ–ๅ†™็š„ๅ…จๆต็จ‹ๆŒ‡ๅ—๏ผŒๅŠฉไฝ ๅฐ†้›ถๆ•ฃ็š„ Prompt ่ฝฌๅŒ–ไธบๆ ‡ๅ‡†ๅŒ–็š„ๆ•ฐๅญ—่ต„ไบงใ€‚\",\"permalink\":\"/ai-agent/skills-practice-summary\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\",\"Agent ็ณปๅˆ—\"],\"tags\":[\"Agent Skills\",\"Agent\",\"AI\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฆ‚ไฝ•็ผ–ๅ†™ไธ€ไธช้ซ˜ๅฏ็”จ็š„ Agent Skill๏ผŸไปŽๆœบๅˆถๆ‹†่งฃๅˆฐ็”Ÿไบงๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-03-05 23:11:25\",\"capture\":\"1. ๅผ•่จ€๏ผšAgent Skills ๆ˜ฏไป€ไนˆ๏ผŸ\\nๅœจๅคง่ฏญ่จ€ๆจกๅž‹๏ผˆLLM๏ผ‰็š„่ฝๅœฐๅฎž่ทตไธญ๏ผŒๅผ€ๅ‘่€…็ปๅธธ้ขไธดไธ€ไธชๅ…ฑๆ€งๆŒ‘ๆˆ˜๏ผšๆจกๅž‹ๅœจ็‰นๅฎš็ป†ๅˆ†้ข†ๅŸŸๅพ€ๅพ€ๅค„ไบŽโ€œ็Ÿฅ่€Œไธ่กŒโ€็š„็Šถๆ€โ€”โ€”่™ฝ็„ถๆ‹ฅๆœ‰ๅšๆ‚็š„็Ÿฅ่ฏ†๏ผŒๅด็ผบไนๆ‰ง่กŒๅคๆ‚ไปปๅŠก็š„ไธ“ไธš่ทฏๅพ„ใ€‚\\nไธบไบ†่งฃๅ†ณ่ฟ™ไธ€็—›็‚น๏ผŒAnthropic ๅœจๅ…ถๆ——่ˆฐๆจกๅž‹ Claude 3.7 ็ณปๅˆ—ไธญๆญฃๅผๆŽจๅ‡บไบ† Claude Skillsใ€‚่ฟ™ไธ€ๅŠŸ่ƒฝๅฐ† LLM ็š„่ƒฝๅŠ›ๅฐ่ฃ…ไธบ็›ด่ง‚็š„โ€œ่ƒฝๅŠ›ๆ–‡ไปถๅคนโ€๏ผŒๆžๅคงๆๅ‡ไบ†ๆ™บ่ƒฝไฝ“็š„ๅฎž็”จๆ€ง๏ผŒๅนถ่ฟ…้€Ÿๅœจๅผ€ๅ‘่€…็คพๅŒบๅผ•ๅ‘็ƒญ่ฎฎใ€‚2025 ๅนด 12 ๆœˆ๏ผŒ้š็€ Anthropic ่”ๅˆ็”Ÿๆ€ไผ™ไผดๆญฃๅผๅผ€ๆบ Agent Skills ่ง„่Œƒ๏ผŒAgent Skills ็š„ๆ ‡ๅ‡†ๅŒ–ไนŸๆญฃๅผๅผ€ๅฏ๏ผˆ่€Œ่ฟ™ไธ€่ƒฝๅŠ›\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/10.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Deep Research Agent\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/10.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Deep Research Agent\",\"frontmatter\":{\"date\":\"2026-04-02 00:38:37\",\"title\":\"ๅฃฐๆ˜Žๅผๅคšๆ™บ่ƒฝไฝ“ๅๅŒ๏ผšๅŸบไบŽ Claude Agent SDK ๆž„ๅปบๆทฑๅบฆ็ ”็ฉถ็ณป็ปŸ\",\"description\":\"ๅฏนๅคๆ‚็ ”็ฉถไปปๅŠกๆ—ถ๏ผŒๅ•ๆ™บ่ƒฝไฝ“๏ผˆSingle-Agent๏ผ‰ๅธธๅ› ไธŠไธ‹ๆ–‡็จ€้‡Šๅ’Œ้€ป่พ‘็–ฒๅŠณๅฏผ่‡ดไบงๅ‡บ่ดจ้‡ไธ‹้™ใ€‚ๆœฌๆ–‡ๅŸบไบŽ Claude Agent SDK ๆŽข่ฎจไบ†ๅคšๆ™บ่ƒฝไฝ“็ณป็ปŸ๏ผˆMAS๏ผ‰็š„ๅทฅ็จ‹ๅŒ–่ฝๅœฐใ€‚้€š่ฟ‡โ€œLead + Subagentโ€็š„ๅฃฐๆ˜Žๅผๆžถๆž„๏ผŒๆˆ‘ไปฌๅฐ†ๆทฑๅบฆ็ ”็ฉถๆ‹†่งฃไธบๆœ็ดขใ€้‡ๅŒ–ๅˆ†ๆžใ€ๅฏ่ง†ๅŒ–็ป˜ๅ›พไธŽ็ป“ๆž„ๅŒ–ๅ†™ไฝœๅ››ไธช็‹ฌ็ซ‹็Žฏ่Š‚ใ€‚\",\"permalink\":\"/ai-agent/deepresearch-agent\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"],\"tags\":[\"Agent SDK\",\"Multi-Agent\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฃฐๆ˜Žๅผๅคšๆ™บ่ƒฝไฝ“ๅๅŒ๏ผšๅŸบไบŽ Claude Agent SDK ๆž„ๅปบๆทฑๅบฆ็ ”็ฉถ็ณป็ปŸ\",\"date\":\"2026-04-02 00:38:37\",\"capture\":\"> ๅฎž่ทต่ฏๆ˜Ž๏ผŒ้€š่ฟ‡ไธฅๆ ผ็š„่Œ่ดฃ้š”็ฆป๏ผˆๅฆ‚ Lead Agent ไป…่ดŸ่ดฃ่ฐƒๅบฆ๏ผ‰ไธŽๅทฅ็จ‹่พน็•Œ็บฆๆŸ๏ผˆๅฆ‚ Researcher ๅผบๅˆถๆๅ–้‡ๅŒ–ๆŒ‡ๆ ‡๏ผ‰๏ผŒMAS ่ƒฝๅคŸ็”Ÿๆˆๅ…ทๅค‡ไธ“ไธšๆ•ฐๆฎๅ›พ่กจๆ”ฏๆ’‘็š„ๆทฑๅบฆๆŠฅๅ‘Šใ€‚ๆœฌๆ–‡ๅฐ†ไปŽๆžถๆž„่ฎพ่ฎกใ€ๅทฅไฝœๆต็ผ–ๆŽ’ๅˆฐ PDF ่‡ชๅŠจ็”Ÿๆˆ๏ผŒๅฎŒๆ•ด่ฟ˜ๅŽŸ่ฟ™ไธ€โ€œAI ้ฉฑๅŠจ่ฐƒ็ ”ๆตๆฐด็บฟโ€็š„ๆž„ๅปบ่ฟ‡็จ‹๏ผŒๅนถๅฑ•็คบๅ…ถๅœจๆ•™่‚ฒ็ ”็ฉถๆกˆไพ‹ไธญ็š„ๅฎžๆˆ˜ๆ•ˆๆžœใ€‚\\n 1. ๅผ•่จ€\\nๅœจ AI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐไธ€ๆ–‡ไธญ๏ผŒๆˆ‘ไปฌๆŽข่ฎจไบ†ๅคšๆ™บ่ƒฝไฝ“็ณป็ปŸ๏ผˆMulti-Agent Systems, MAS๏ผ‰็š„็†่ฎบไผ˜ๅŠฟใ€‚ไปŽ็†่ฎบๅฑ‚้ข็œ‹๏ผŒ่ฟ™็ฑป็ณป็ปŸ้€š่ฟ‡ไปปๅŠกๅˆ†่งฃใ€่Œ่ดฃ้š”็ฆปไธŽๅนถ่กŒๅไฝœๆœบๅˆถ๏ผŒๆœ‰ๆ•ˆ็ช็ ดไบ†ๅ•ๆ™บ่ƒฝไฝ“ๅœจๅคๆ‚ไปปๅŠกไธญ็š„่ƒฝๅŠ›็“ถ้ขˆโ€”โ€”ไธไป…ๆ˜พ่‘—ๆๅ‡ไบ†ไปปๅŠกๅค„็†็š„ๅคฉ่Šฑๆฟ\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/20.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Agent\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/20.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Agent\",\"frontmatter\":{\"date\":\"2026-03-06 00:37:58\",\"title\":\"ๅ‘Šๅˆซๆ‰‹ๅŠจ Loop๏ผšๅ€ŸๅŠฉ Claude Agent SDK ๅฎž็Žฐ Agent ็š„ๅทฅ็จ‹ๅŒ–้—ญ็Žฏ\",\"description\":\"ๅœจ Agent ๆŠ€ๆœฏๅฟซ้€Ÿ่ตฐๅ‘ๆˆ็†Ÿ็š„ไปŠๅคฉ๏ผŒๅฆ‚ไฝ•ไฝŽๆˆๆœฌๆž„ๅปบๅ…ทๅค‡โ€œ่‡ชไธปๆดžๅฏŸโ€่ƒฝๅŠ›็š„ๆ™บ่ƒฝไฝ“๏ผŸๆœฌๆ–‡ๆทฑๅบฆๆ‹†่งฃ Anthropic ๅฎ˜ๆ–นๆŽจๅ‡บ็š„ Claude Agent SDK๏ผŒ่งฃๆžๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆ‰˜็ฎก Agent Loop ๅ’Œไผš่ฏๆŒไน…ๅŒ–ๆœบๅˆถ๏ผŒ่งฃๅ†ณ Agent ๅผ€ๅ‘ไธญ็š„็Šถๆ€็ฎก็†้šพ้ข˜ใ€‚ๆ–‡็ซ ้€š่ฟ‡ไปŽๆ— ็Šถๆ€ไบคไบ’ๅˆฐๅ…ทๅค‡ๆตๅผ่พ“ๅ‡บ่ƒฝๅŠ›็š„ TUI ่‡ชๅŠจๅŒ–ๅทฅๅ…ท่ฟ›้˜ถๅฎžๆˆ˜๏ผŒๅฑ•็คบไบ†ๆž„ๅปบไฝŽๆˆๆœฌใ€้ซ˜ๅฏ็”จ AI ๅŽŸ็”Ÿๅบ”็”จ็š„ๅฎŒๆ•ด่ทฏๅพ„ใ€‚\",\"permalink\":\"/ai-practice/claude-agent-sdk-basic-build\",\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"],\"tags\":[\"Agent\",\"Agent SDK\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ‘Šๅˆซๆ‰‹ๅŠจ Loop๏ผšๅ€ŸๅŠฉ Claude Agent SDK ๅฎž็Žฐ Agent ็š„ๅทฅ็จ‹ๅŒ–้—ญ็Žฏ\",\"date\":\"2026-03-06 00:37:58\",\"capture\":\"1. ๅผ•่จ€\\nๅฝ“ๅ‰๏ผŒAI Agent ็š„ๆผ”่ฟ›ๅทฒ่ฟ›ๅ…ฅไธ€ไธชๅดญๆ–ฐ็š„้˜ถๆฎตโ€”โ€”ไปŽ้œ€่ฆ้ข‘็นไบบๅทฅๅนฒ้ข„็š„\\\"ๅŠ่‡ชๅŠจ\\\"ๆจกๅผ๏ผŒ่ฟ›ๅŒ–ไธบ่ƒฝๅคŸ่‡ชไธปๆดžๅฏŸ็Žฏๅขƒๅ˜ๅŒ–ใ€ๅŠจๆ€่ฐƒๆ•ดๆ‰ง่กŒ็ญ–็•ฅใ€ๅฎž็ŽฐไธšๅŠกๆต็จ‹่‡ช้€‚ๅบ”็ผ–ๆŽ’็š„ๆ™บ่ƒฝๅŒ–็ณป็ปŸใ€‚Claude Codeใ€Manusใ€OpenClaw ็ญ‰ไปฃ่กจๆ€งไบงๅ“ๅฑ‚ๅ‡บไธ็ฉท๏ผŒไนŸๆ ‡ๅฟ—็€ Agent ๆŠ€ๆœฏๆญฃๅœจๅฟซ้€Ÿ่ตฐๅ‘ๆˆ็†ŸไธŽๆ™ฎๅŠใ€‚\\n่ฟ‘ๆœŸ๏ผŒ็ฌ”่€…ๅœจไธบไธชไบบๅšๅฎขๅผ•ๅ…ฅๆ™บ่ƒฝๅŒ–่ฟ่ฅ่ƒฝๅŠ›๏ผˆๅฆ‚ๅ†…ๅฎน่‡ชๅŠจๆ กๅฏนใ€ๅฎก็จฟไธŽๅ‘ๅธƒ๏ผ‰๏ผŒๆทฑๅ…ฅ็ ”็ฉถไบ†ๅคšๆฌพ Agent ๅผ€ๅ‘ๆก†ๆžถ๏ผŒๅฆ‚ Claude Agent SDKใ€Langchainใ€LangGraph ็ญ‰ใ€‚ๅœจ็ป่ฟ‡ๅˆๆญฅ็š„็ ”็ฉถๅฏนๆฏ”ๅˆ†ๆžๅŽ๏ผŒClaude Agent SDK ๆˆไธบไบ†ไฝŽๆˆๆœฌๆž„ๅปบ้ซ˜ๅฏ็”จ Agent\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/60.ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/60.ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹\",\"frontmatter\":{\"date\":\"2024-06-14 22:00:00\",\"title\":\"ไธ€ๆฌก็”ฑ Product Sense ้ฉฑๅŠจ็š„ Agent ๆž้™ๅฎž่ทต\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšAI ๆ—ถไปฃ๏ผŒๅ†™ๅฅฝไปฃ็ ๅชๆ˜ฏๅŠๆ ผ็บฟใ€‚ๅœจไธ€ๆฌกๆž้™ๆŒ‘ๆˆ˜่ต›ไธญ๏ผŒๆˆ‘ไปฌ้€š่ฟ‡ๅฏน K12 ่ต›้“็”จๆˆท็—›็‚น็š„็ฒพๅ‡†โ€œ่ง†่ง’ๅˆ‡ๆขโ€๏ผŒๆ‰“้€ ๅ‡บไธ€ๆฌพๆŽˆไบบไปฅๆธ”็š„โ€œๆ•ฐๅญฆ่พ…ๅฏผๅฏผๅธˆโ€ๅนถๆ–ฉ่Žทๅคงๅฅ–ใ€‚ๆœฌๆ–‡ๅค็›˜ไบ† Agent ๆญๅปบ่ƒŒๅŽ็š„ๆ ธๅฟƒ SOP ่ฎพ่ฎก้€ป่พ‘๏ผšๆŠ€ๆœฏ็ปˆ็ฉถ่ฆๅ›žๅฝ’ๅฏน็œŸๅฎžไบบๆ€ง็š„ไฝ“ๅฏŸไธŽๅ…ณๆ€€ใ€‚\",\"coverImg\":\"/img/cover/llm_learning_bg_2.png\",\"permalink\":\"/ai-practice/math-bot\",\"categories\":[\"ai-practice\"],\"tags\":[\"Agent\",\"ไบงๅ“ Sense\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไธ€ๆฌก็”ฑ Product Sense ้ฉฑๅŠจ็š„ Agent ๆž้™ๅฎž่ทต\",\"date\":\"2024-06-14 22:00:00\",\"capture\":\"ๅœจๅˆšๅˆš่ฟ‡ๅŽป็š„ๅ‘จๆœซ๏ผŒๆˆ‘ๅ’Œๅฅฝๅ‹ๅ‚ๅŠ ไบ†ไธ€ๅœบ็”ฑๅƒๅธ† Agent ไธพๅŠž็š„็บฟไธ‹็คพๅŒบๆดปๅŠจใ€‚่ฟ™ๆ˜ฏไธ€ๅœบๅ……ๆปกๆžๅฎข็ฒพ็ฅž็š„โ€œๆž้™ๆŒ‘ๆˆ˜โ€โ€”โ€”ๆˆ‘ไปฌ้œ€่ฆๅœจๆžๅ…ถๆœ‰้™็š„ๆ—ถ้—ดๅ†…๏ผŒไปŽ้›ถๅผ€ๅง‹ๆž„ๆ€ใ€ๆญๅปบๅนถ็Žฐๅœบๅฑ•็คบไธ€ไธชๅฎŒๆ•ด็š„ Agent ๅบ”็”จใ€‚\\nไปคไบบๆƒŠๅ–œ็š„ๆ˜ฏ๏ผŒๆˆ‘ไปฌไธไป…้กบๅˆฉๅฎŒๆˆไบ†ๆž้™ๅผ€ๅ‘๏ผŒๆœ€็ปˆ่ฟ˜ๆ–ฉ่Žทไบ†ๅ…จๅœบ็š„ใ€Œๆœ€ไฝณๅบ”็”จๅฅ–ใ€ใ€‚\\nๅค็›˜่ฟ™ๆฌก็Ÿญๆš‚ๅด้ซ˜ๅฏ†ๅบฆ็š„ๅผ€ๅ‘ไฝ“้ชŒ๏ผŒๆœ€ๅคง็š„ๆ„Ÿ่งฆๆ˜ฏ๏ผšๅœจ AI ๆ—ถไปฃ๏ผŒๅ•็บฏ็š„ๅทฅ็จ‹ๅฎž็Žฐๅทฒ็ปไธๅ†ๆ˜ฏๅ”ฏไธ€็š„ๅฃๅž’๏ผŒ็œŸๆญฃ่ฎฉๅบ”็”จ่„ฑ้ข–่€Œๅ‡บ็š„๏ผŒๆ˜ฏๅฏน็œŸๅฎžไธšๅŠกๅœบๆ™ฏ็š„ๆดžๅฏŸๅŠ›ใ€‚ๅฝ“ (Engineering + Product) ร— AI ็š„้ฃž่ฝฎๅผ€ๅง‹่ฝฌๅŠจๆ—ถ๏ผŒๆŠ€ๆœฏๆ‰่ƒฝ็œŸๆญฃ่ฝฌๅŒ–ไธบ่งฃๅ†ณ้—ฎ้ข˜็š„ๅˆฉๅ™จใ€‚\\nไปฅไธ‹ๆ˜ฏๅ…ณไบŽ่ฟ™ๆฌกโ€œK12 ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹โ€ Agent ๆญๅปบ็š„ๅฎž\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/70.่ฏ—ๆญŒๅฐ็ฒพ็ต\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/70.่ฏ—ๆญŒๅฐ็ฒพ็ต\",\"frontmatter\":{\"date\":\"2024-04-19 22:15:38\",\"title\":\"้›ถไปฃ็ ไธ็ญ‰ไบŽ้›ถ้€ป่พ‘๏ผš็ป“ๆž„ๅŒ– Prompt ้ฉฑๅŠจไธ‹็š„ Agent ๆญๅปบๅฎžๆˆ˜\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจ Agent ๆฆ‚ๅฟตๆปกๅคฉ้ฃž็š„ๅฝ“ไธ‹๏ผŒๅ†ณๅฎšๅคงๆจกๅž‹ๅฎž้™…่กจ็Žฐ็š„ๅพ€ๅพ€ๆ˜ฏๆœ€ๅบ•ๅฑ‚็š„ System Prompt ่ฎพ่ฎกใ€‚ๆœฌๆ–‡่ฎฐๅฝ•ไบ†ๅ‘จๆœซๅˆฉ็”จๆ–‡ๅฟƒๆ™บ่ƒฝไฝ“ๅนณๅฐๆญๅปบโ€œ่ฏ—ๆญŒๅฐ็ฒพ็ตโ€็š„ๅฎŒๆ•ดๅฎž่ทตใ€‚้€š่ฟ‡ๅฏนๆฏ”โ€œไผ ็ปŸๅคงๆฎตๆ–‡ๆœฌโ€ไธŽโ€œLangGPT ็ป“ๆž„ๅŒ–โ€ไธค็ง Prompt ็š„ๅฎž้™…่พ“ๅ‡บ๏ผŒๆทฑๅบฆๆ‹†่งฃไบ†็ป“ๆž„ๅŒ– Prompt ๅฆ‚ไฝ•ๅƒโ€œๅ†™ไปฃ็ โ€ไธ€ๆ ท่ง„่Œƒ AI ็š„ๆ€่€ƒๅทฅไฝœๆต๏ผŒๆœ‰ๆ•ˆ่งฃๅ†ณๆŒ‡ไปคๆผ‚็งปไธŽๅนป่ง‰้—ฎ้ข˜ใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ๆฌก Prompt ่ฐƒไผ˜ๅฎž้ชŒ๏ผŒๆ›ดๆ˜ฏไธ€ๅœบๅ…ณไบŽ AI ไบงๅ“ Sense ไธŽๆœชๆฅไบคไบ’ๅฝขๆ€็š„ๆŽข็ดขใ€‚\",\"coverImg\":\"/img/cover/llm_learning_bg_2.png\",\"categories\":[\"ai-practice\"],\"permalink\":\"/ai-practice/poetry-bot\",\"tags\":[\"Agent\",\"AI\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"้›ถไปฃ็ ไธ็ญ‰ไบŽ้›ถ้€ป่พ‘๏ผš็ป“ๆž„ๅŒ– Prompt ้ฉฑๅŠจไธ‹็š„ Agent ๆญๅปบๅฎžๆˆ˜\",\"date\":\"2024-04-19 22:15:38\",\"capture\":\"1. ๅฎž่ทต่ƒŒๆ™ฏ\\nๅ‘จๆœซๅœจ็คพๅŒบๆดปๅŠจไธญๅ†ๆฌกๅฌๅˆฐไบ† LangGPT ไฝœ่€…ไบ‘ไธญๆฑŸๆ ‘ๅ…ณไบŽโ€œ็ป“ๆž„ๅŒ–ๆ็คบ่ฏโ€็š„ๅˆ†ไบซ๏ผŒ่ฎฉไบบๆ„Ÿ่งฆ้ข‡ๆทฑใ€‚่™ฝ็„ถๅฝ“ๅ‰ Agent ๆฆ‚ๅฟต็ซ็ƒญ๏ผŒๅฑ‚ๅ‡บไธ็ฉท็š„ๆก†ๆžถ่ฎฉไบบ็œผ่Šฑ็ผญไนฑ๏ผŒไฝ†ๅ›žๅฝ’ๆœฌ่ดจๆˆ‘ไปฌๅฐฑไผšๅ‘็Žฐ๏ผšSystem Prompt ็š„ๅบ•ๅฑ‚่ฎพ่ฎกใ€ไธŠไธ‹ๆ–‡ๅทฅ็จ‹ไปฅๅŠๆŒ‡ไปค้ตๅพชๆœบๅˆถ๏ผŒๆ‰ๆ˜ฏๅ†ณๅฎšไธ€ไธช Agent ็ต้ญ‚็š„ๅ…ณ้”ฎใ€‚\\nๆญฃๅทงๅคงๅ›ข้˜Ÿ่‡ช็ ”็š„้›ถไปฃ็  Agent ๅนณๅฐ่ฟ‘ๆœŸๅ‘ๅธƒไบ†ๆ–ฐ็‰ˆๆœฌ๏ผŒไธบไบ†ไบฒๆต‹ๅนณๅฐๆ€ง่ƒฝๅนถๅฎžๆˆ˜ๆผ”็ปƒ็ป“ๆž„ๅŒ– Prompt ็š„็ผ–ๅ†™ๆŠ€ๅทง๏ผŒๆˆ‘ๅ†ณๅฎšๅˆ›ๅปบไธ€ไธชโ€œ่ฏ—ๆญŒๅฐ็ฒพ็ตโ€ Agentใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ไธช่ถฃๅ‘ณๅฎž้ชŒ๏ผŒๆ›ดๆ˜ฏไธบไบ†ๆŽข็ดข AI ๅœจๆ–‡ๅญฆๅˆ›ไฝœ่ฟ™็งโ€œๆ„Ÿๆ€ง้ข†ๅŸŸโ€ไธญ๏ผŒๅฆ‚ไฝ•้€š่ฟ‡โ€œ็†ๆ€ง็š„็ป“ๆž„็บฆๆŸโ€่พพๅˆฐๆ›ด้ซ˜็š„่พ“ๅ‡บไธŠ้™ใ€‚\\n 2. ๅนณๅฐไธŽ\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"frontmatter\":{\"date\":\"2025-11-25 00:52:28\",\"title\":\"ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไธบไพฟไบŽ้ซ˜ๆ•ˆๅˆฉ็”จ AI ๅทฅๅ…ทๆๅ‡ๅญฆไน ใ€ๆœ็ดขๅ’Œๅˆ›ไฝœๆ•ˆ็އ๏ผŒๆœฌๆ–‡็ณป็ปŸๆ•ด็†ไบ†ไธปๆต็š„ AI ๅŠฉๆ‰‹ไธŽๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐ็›ธๅ…ณ่ต„ๆบใ€‚ๅ†…ๅฎนๅˆ†ไธบโ€œAI ๅŠฉๆ‰‹โ€๏ผˆๅฆ‚ ChatGPTใ€Claudeใ€Gemini ็ญ‰ๅฏน่ฏๅผๅŠฉๆ‰‹๏ผ‰ๅ’Œโ€œๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐโ€๏ผˆๅฆ‚ๅ†™ไฝœใ€็ป˜็”ป็ญ‰้ข†ๅŸŸ็š„ AI ๅทฅๅ…ทไธŽๅนณๅฐ๏ผ‰๏ผŒไธ”ๆ ‡ๆณจไบ†ๅ…ถๆ ธๅฟƒ่ƒฝๅŠ›ใ€้€‚ๅˆๅœบๆ™ฏ๏ผŒไปฅๅŠ็‰น่‰ฒไผ˜ๅŠฟใ€‚\",\"permalink\":\"/ai-learning/tools-assistant\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/source_sites_bg.png\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"AI ๅŠฉๆ‰‹\",\"AI ๆœ็ดข\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"date\":\"2025-11-25 00:52:28\",\"capture\":\"1. AI ๅŠฉๆ‰‹\\n> ้€‰ๆ‹ฉๅปบ่ฎฎ๏ผš ่‹ฑๆ–‡ไธบไธป โ†’ ไผ˜ๅ…ˆ ChatGPT / Claude / Gemini๏ผ›ไธญๆ–‡ไธบไธป โ†’ ไผ˜ๅ…ˆ Kimi / DeepSeek / ้€šไน‰ๅƒ้—ฎ๏ผ›้œ€่ฆ่”็ฝ‘ๅฎžๆ—ถไฟกๆฏ โ†’ Gemini / Grok๏ผ›้œ€่ฆๅˆ†ๆž้•ฟๆ–‡ๆกฃ โ†’ Claude / Kimi๏ผ›่ฟฝๆฑ‚ไฝŽๆˆๆœฌๅผ€ๆบ้ƒจ็ฝฒ โ†’ DeepSeekใ€‚\\n>\\n> ๆณจ๏ผš็›ฎๅ‰ๅ›ฝๅค–ๆจกๅž‹๏ผˆๅฆ‚ ChatGPTใ€Claudeใ€Gemini ็ญ‰๏ผ‰ๅœจ่‹ฑๆ–‡ๅค„็†ใ€ๅคšๆจกๆ€่ƒฝๅŠ›ใ€ๆ’ไปถ็”Ÿๆ€ๅ’Œ API ไธฐๅฏŒๆ€ง็ญ‰ๆ–น้ข๏ผŒๆ•ดไฝ“ไธŠไพ็„ถไผ˜ไบŽๅ›ฝๅ†…ๆจกๅž‹๏ผŒ้€‚ๅˆๅฏน่‹ฑๆ–‡ๅˆ›ไฝœใ€ๅคš่ฏญ่จ€ๆฒŸ้€šใ€ๅคๆ‚ๆŽจ็†ใ€ไปฃ็ ๅŠฉๆ‰‹็ญ‰ๅœบๆ™ฏๆœ‰ๆ›ด้ซ˜่ฆๆฑ‚็š„็”จๆˆทใ€‚ไธ่ฟ‡๏ผŒๅ›ฝๅ†…ๆจกๅž‹ๅœจไธญๆ–‡็†่งฃใ€ๆœฌๅœฐๅŒ–ใ€ๅˆ่ง„\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/11. LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/11. LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-01-06 15:58:53\",\"title\":\"LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆˆช่‡ณ 2026 ๅนด๏ผŒLLM API ๆœๅŠกๅทฒๅฝขๆˆ\\\"ๅฎ˜ๆ–น็›ด่ฟž + ็ฌฌไธ‰ๆ–น่šๅˆ\\\"็š„ๅŒ่ฝจๆ ผๅฑ€๏ผŒๆจกๅž‹่ƒฝๅŠ›ใ€ๅฎšไปทใ€ๅˆ่ง„ๆ€งไธŽๆŽฅๅ…ฅไพฟๅˆฉๆ€งๅทฎๅผ‚ๆ˜พ่‘—ใ€‚ๆœฌๆ–‡ไปŽ้€‰ๅž‹ๅ‰ๆ้—ฎๅ‡บๅ‘๏ผŒ็ณป็ปŸๆขณ็†ๅ›ฝ้™…ไธŽๅ›ฝๅ†…ไธปๆตๅฎ˜ๆ–น API ๅนณๅฐ๏ผŒไปฅๅŠ OpenRouterใ€็ก…ๅŸบๆตๅŠจ็ญ‰็ฌฌไธ‰ๆ–น่šๅˆๅนณๅฐ็š„ๆ ธๅฟƒ็‰น็‚น๏ผŒๅนถๆไพ›ๅŸบไบŽๅœบๆ™ฏ็š„ๅ†ณ็ญ–ๆก†ๆžถ๏ผŒๅธฎๅŠฉๅผ€ๅ‘่€…ๅ’Œไบงๅ“ๅ›ข้˜Ÿๅฟซ้€Ÿ้”ๅฎšๆœ€้€‚ๅˆ่‡ชๅทฑ็š„ๆ–นๆกˆใ€‚\",\"permalink\":\"/ai-learning/llm-api-resources\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"LLM API\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"date\":\"2026-01-06 15:58:53\",\"capture\":\"1. ้€‰ๆจกๅž‹ๅ‰๏ผŒๅ…ˆๆƒณๆธ…ๆฅš่ฟ™ๅ‡ ไปถไบ‹\\nๅœจๅฏนๆฏ”ๅ…ทไฝ“ๅนณๅฐไน‹ๅ‰๏ผŒๅฏไปŽไปฅไธ‹ๅ››ไธช็ปดๅบฆๆขณ็†่‡ช่บซ่ฏ‰ๆฑ‚๏ผŒ้ฟๅ…\\\"็œผ่Šฑ็ผญไนฑๅŽ้šไพฟ้€‰ไธ€ไธช\\\"๏ผš\\n| ็ปดๅบฆ | ๅ…ณ้”ฎ้—ฎ้ข˜ | ๅฝฑๅ“ๅ†ณ็ญ– |\\n|:-----|:--------|:--------|\\n| ไปปๅŠก็ฑปๅž‹ | ๆ˜ฏ้€š็”จๅฏน่ฏใ€ไปฃ็ ็”Ÿๆˆใ€้•ฟๆ–‡ๆกฃๅˆ†ๆž๏ผŒ่ฟ˜ๆ˜ฏๅคšๆจกๆ€็†่งฃ๏ผŸ | ไธๅŒๆจกๅž‹ๅœจๅž‚็›ด่ƒฝๅŠ›ไธŠๅทฎ่ทๆ‚ฌๆฎŠ |\\n| ๆˆๆœฌ้ข„็ฎ— | ๆฏๆœˆ่ฐƒ็”จ้‡็บง๏ผŸ่ƒฝๅฆๆŽฅๅ—ๆตทๅค–็ป“็ฎ—ไธŽๆฑ‡็އ้ฃŽ้™ฉ๏ผŸ | ๅ›ฝไบงๆจกๅž‹ Token ไปทๆ ผ้€šๅธธไฝŽ 3๏ฝž10 ๅ€ |\\n| ๅˆ่ง„ไธŽ้ƒจ็ฝฒ | ๆ•ฐๆฎ่ƒฝๅฆๅ‡บๅขƒ๏ผŸ่ƒฝๅฆไฝฟ็”จๆตทๅค–ๆœๅŠก๏ผŸๆ˜ฏๅฆ้œ€่ฆ็งๆœ‰ๅŒ–้ƒจ็ฝฒ๏ผŸ | ๆถ‰ๅŠๆ”ฟๅŠก/้‡‘่ž/ๅŒป็–—ๅœบๆ™ฏๅฟ…้กป่€ƒ่™‘ |\\n| ็ฝ‘็ปœ็Žฏๅขƒ | ๅผ€ๅ‘/้ƒจ็ฝฒ็Žฏๅขƒ่ƒฝๅฆ็จณๅฎš่ฎฟ\"},{\"url\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/01.ๅฅฝไนฆๆŽจ่\",\"relativePath\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/01.ๅฅฝไนฆๆŽจ่\",\"frontmatter\":{\"title\":\"ๅฅฝไนฆๆŽจ่\",\"date\":\"2024-01-01 16:00:00\",\"description\":\"่ฏปไนฆๅฟƒๅพ—ใ€ๆŽจ่ไนฆ็ฑๅ’Œ้˜…่ฏปๆŠ€ๅทง\",\"categories\":[\"growth\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/books_reading_bg.png\",\"permalink\":\"/growth/books\",\"tags\":[\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\",\"่ต„ๆบๆŽจ่\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฅฝไนฆๆŽจ่\",\"date\":\"2024-01-01 16:00:00\",\"capture\":\"<script setup\\n import BookRecommend from './@fragment/BookRecommend.vue'\\n import {aiBooks, productSenseBooks, businessBooks, efficiencyBooks, growthBooks, humanSocialBooks, healthBooks} from './@fragment/recommends-data.ts'\\n</script>\\n 1. AI ไธŽๆ•ฐๅญฆๆ€็ปด\\n> ๅœจๅคงๆจกๅž‹ๅ‘ๅฑ•ๆ—ฅๆ–ฐๆœˆๅผ‚็š„ไปŠๅคฉ๏ผŒ็†่งฃ AI ๆœฌ่ดจไธŠๆ˜ฏๅœจๅ‡็บงๆˆ‘ไปฌ่ต„ๆทฑ็š„โ€œ่ฎค็Ÿฅๆ“\"},{\"url\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/10.่ฏปไนฆไธ‰่ฆไธ‰ไธ่ฆ\",\"relativePath\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/10.่ฏปไนฆไธ‰่ฆไธ‰ไธ่ฆ\",\"frontmatter\":{\"date\":\"2025-03-06 11:42:20\",\"title\":\"่ฏปไนฆโ€œไธ‰่ฆโ€ๅ’Œโ€œไธ‰ไธ่ฆโ€\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจไฟกๆฏ็ˆ†็‚ธ็š„ๆ—ถไปฃ๏ผŒ่ฏปไนฆไพ็„ถๆ˜ฏ่Žทๅ–ๆทฑๅบฆ็Ÿฅ่ฏ†ๆœ€้ซ˜ๆ•ˆ็š„ๆ–นๅผไน‹ไธ€ใ€‚ไฝ†โ€œๆง่ตทไนฆโ€ๅนถไธ็ญ‰ไบŽโ€œๆœ‰ๆ”ถ่Žทโ€๏ผŒๆ€Žไนˆ่ฏปๅพ€ๅพ€ๆฏ”่ฏปไป€ไนˆๆ›ด้‡่ฆใ€‚ๆœฌๆ–‡ๆ€ป็ป“ไบ†้ซ˜ๆ•ˆ้˜…่ฏป็š„โ€œไธ‰่ฆโ€ไธŽโ€œไธ‰ไธ่ฆโ€๏ผšไปŽๅฎŒๆ•ด้˜…่ฏป่ง‚ๆ‘ฉๅคงๅธˆๆ€็ปดใ€ๅธฆ็€้—ฎ้ข˜ๆž„ๅปบ็Ÿฅ่ฏ†ๆ ‘๏ผŒๅˆฐ้€š่ฟ‡่ฎจ่ฎบๆฃ€้ชŒ็†่งฃ๏ผ›ๅŒๆ—ถๆ้†’้˜…่ฏป่€…่ญฆๆƒ•ๅ“€ๆ€จๅฟƒๆ€ๅฏน้˜…่ฏปๅˆ่กท็š„ๅผ‚ๅŒ–ใ€้ฟๅ…้™ทๅ…ฅๅฏน็‰ฉ็†ๅช’ไป‹็š„โ€œ็Žฉ็‰ฉไธงๅฟ—โ€๏ผŒไปฅๅŠๅˆ‡ๅฟŒ่„ฑ็ฆป็Žฐๅฎž็š„โ€œ็œŸ็ฉบโ€้˜…่ฏปใ€‚้˜…่ฏปไธไป…ๆ˜ฏๅ‘ๅ†…ๆŽข็ดข็š„็ฒพ็ฅžไน‹ๆ—…๏ผŒๆ›ดๆ˜ฏๅ‘ๅค–็†่งฃ็œŸๅฎžไธ–็•Œใ€ๅˆ›้€ ็คพไผšไปทๅ€ผ็š„ๅฎž็”จๅทฅๅ…ทใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/reading_need.png\",\"permalink\":\"/pages/growth/reading-tips\",\"sticky\":1,\"top\":true,\"categories\":[\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\"],\"tags\":[\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ฏปไนฆโ€œไธ‰่ฆโ€ๅ’Œโ€œไธ‰ไธ่ฆโ€\",\"date\":\"2025-03-06 11:42:20\",\"capture\":\"<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/reading_need.png\\\" style=\\\"width: 100%; border-radius: 8px; margin-bottom: 20px;\\\" alt=\\\"about site background\\\">\\n 1. ๆˆ‘ไปฌไธบไป€ไนˆ้œ€่ฆ่ฏปไนฆ๏ผŸ\\n่ฏปไนฆๆ˜ฏไปŽๅค–็•ŒๆŽฅๅ—ไฟกๆฏ็š„ไธ€็งๆ–นๅผ๏ผŒไธŽ่Šๅคฉใ€ๆต่งˆ็ฝ‘้กตใ€ๅฌๆ’ญๅฎขใ€็œ‹็”ต่ง†ๅนถๆ— ๆœฌ่ดจๅŒบๅˆซใ€‚ไฝ†ไนฆ่ฟ™็งๅช’ไป‹ไธŽๅ…ถไป–ไฟกๆฏๅช’ไป‹็›ธๆฏ”๏ผŒๆœ‰ๅ…ถ็‹ฌๆœ‰็š„ไผ˜ๅŠฟ๏ผš\\n- ๆทฑๅบฆไธŽไธฅ่ฐจ๏ผšไนฆ็ฑๅพ€ๅพ€ๆ˜ฏๅˆ›ไฝœ่€…ๅคšๅนดๆ€่€ƒใ€้•ฟๆœŸ\"},{\"url\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/21.ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"relativePath\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/21.ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"frontmatter\":{\"date\":\"2025-11-10 12:52:28\",\"title\":\"ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจไฟกๆฏ้ซ˜ๅบฆ้€ๆ˜Ž็š„ๆ—ถไปฃ๏ผŒๆต…ๅฑ‚ไฟกๆฏๅทฎๅทฒ่ขซๅฝปๅบ•ๆŠนๅนณ๏ผŒไฟกๆฏๆœฌ่บซ็š„ไปทๅ€ผไธๆ–ญ็จ€้‡Šใ€‚ไบบไธŽไบบ็š„ๆ ธๅฟƒๅทฎ่ทไธๅ†ๆ˜ฏ่Žทๅ–ไฟกๆฏ็š„ๆธ ้“๏ผŒ่€Œๆ˜ฏ้ซ˜ไฟกๅ™ชๆฏ”ไฟกๆฏ็š„็”„ๅˆซ่ƒฝๅŠ›ใ€ๆทฑๅบฆๆ€่€ƒ่ƒฝๅŠ›ไธŽ่ฝๅœฐๆ‰ง่กŒๅŠ›๏ผŒๅ”ฏๆœ‰ไปฅๆ€่€ƒๆ ก้ชŒไฟกๆฏใ€ไปฅๆ‰ง่กŒ้ชŒ่ฏไปทๅ€ผ๏ผŒๅฝขๆˆโ€œไฟกๆฏ-ๅˆคๆ–ญ-ๅฎž่ทต-ๅ้ฆˆโ€็š„ๆ€่€ƒไธŽๆ‰ง่กŒ้—ญ็Žฏ๏ผŒๆ‰่ƒฝ็ช็ ดไฟกๆฏๅฃๅž’ใ€ๅˆ›้€ ็œŸๆญฃไปทๅ€ผใ€‚\",\"permalink\":\"/growth/distinguish-useful-information\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"ไฟกๆฏ็ญ›้€‰\",\"ไธชไบบๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"date\":\"2025-11-10 12:52:28\",\"capture\":\"ๅœจไบ’่”็ฝ‘ๆŠ€ๆœฏๆ™ฎๅŠ็š„ๅฝ“ไธ‹๏ผŒไฟกๆฏๅทฒไปŽโ€œ็จ€็ผบ่ต„ๆบโ€่ฝฌๅ˜ไธบโ€œๆณ›ๆปฅ่ต„ๆบโ€ใ€‚่ฟ‡ๅŽปไพ่ต–ๅœฐๅŸŸๅทฎใ€็จ€็ผบๆ€ง็š„ๆต…่กจๅฑ‚ไฟกๆฏๅทฎ้€ๆธ่ขซๆŠนๅนณ๏ผŒๅผ€ๅ‘่€…้€š่ฟ‡็ฝ‘็ปœๅฏ่ฝปๆพ่Žทๅ–ๅ„็ฑปๆŠ€ๆœฏๆ–‡ๆกฃใ€่กŒไธšๅŠจๆ€ใ€่ตš้’ฑๆจกๅผ๏ผŒไฝ†็œŸๆญฃ่ƒฝๅฐ†ไฟกๆฏ่ฝฌๅŒ–ไธบไปทๅ€ผ็š„ไปๆ˜ฏๅฐ‘ๆ•ฐไบบใ€‚ๆ ธๅฟƒ็Ÿ›็›พๅทฒไปŽโ€œ่Žทๅ–ไฟกๆฏโ€่ฝฌๅ˜ไธบโ€œ้ฉพ้ฉญไฟกๆฏโ€โ€”โ€”ไฟกๆฏๆœฌ่บซ็š„ไปทๅ€ผๅผฑๅŒ–๏ผŒ่€Œไฟกๆฏ่งฃ่ฏป่ƒฝๅŠ›ใ€่กŒๅŠจๆ‰ง่กŒๅŠ›ใ€็ญ›้€‰็”„ๅˆซๅŠ›ๆˆไธบๆ‹‰ๅผ€ๅทฎ่ท็š„ๅ…ณ้”ฎใ€‚\\n 1. ๆ‰“็ ดโ€œไฟกๆฏๅทฎโ€็š„็ณป็ปŸๆ€ง้”™่ง‰\\n่ฟ‡ๅŽป๏ผŒ็”ฑไบŽๅœฐๅŸŸ้™ๅˆถๅ’Œไผ ๆ’ญไป‹่ดจ็š„็จ€็ผบ๏ผŒ่ตš้’ฑๆˆ–ๆˆๅŠŸ็š„ๆจกๅผๅพ€ๅพ€ๆ˜ฏ็ฒ—ๆ”พ็š„๏ผŒๅปบ็ซ‹ๅœจๆต…่กจๅฑ‚็š„โ€œไฟกๆฏไธๅฏน็งฐโ€ไธŠ๏ผŒไฝ†้š็€ๆŠ€ๆœฏ็š„ๆผ”่ฟ›๏ผŒ่ฟ™็งไฝŽ็ปดๅบฆ็š„ไฟกๆฏๅทฎๆญฃๅœจ่ขซ่ฟ…้€ŸๆŠนๅนณใ€‚ไบบไปฌ็ปๅธธ้™ทๅ…ฅโ€œ่ตšไธๅˆฐ้’ฑ/ๆŠ“ไธไฝๆœบไผšๆ˜ฏๅ› ไธบ็ผบๅฐ‘ไฟกๆฏๅทฎโ€็š„่ฎค็Ÿฅๅๅทฎ๏ผŒไฝ†ๆœฌ่ดจ้—ฎ้ข˜ๅœจไบŽโ€œ\"},{\"url\":\"/40.ๅ…ณไบŽ/01.ๅ…ณไบŽๆˆ‘\",\"relativePath\":\"/40.ๅ…ณไบŽ/01.ๅ…ณไบŽๆˆ‘\",\"frontmatter\":{\"date\":\"2025-08-29 09:40:53\",\"title\":\"ๅ…ณไบŽๆˆ‘\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไปŽ Tech Stack ๅˆฐ Insight Stack๏ผŒๅฝ“ AI ๆŽฅ็ฎกไบ†ๅฎž็Žฐ๏ผŒๆˆ‘ๆ›ดๅ…ณๆณจๆžถๆž„็š„ๆƒ่กกไธŽไบงๅ“็š„ไปทๅ€ผ๏ผŒไธ“ๆณจ๏ผšๅทฅ็จ‹ๅŒ– Spec ไธŽ AI ็ผ–็จ‹็ฃจๅˆ็š„ๅฎž่ทต | Agent ่ฝๅœฐ | ็‹ฌ็ซ‹ไบงๅ“ใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/about_me_chinese.png\",\"permalink\":\"/about/me\",\"categories\":[\"ๅ…ณไบŽ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ…ณไบŽๆˆ‘\",\"date\":\"2025-08-29 09:40:53\",\"capture\":\"ๆˆ‘ๆ˜ฏ่ฐ\\nๆˆ‘ๆ˜ฏไธ€ๅๆ‹ฅๆœ‰ๅ…จๆ ˆ่ƒŒๆ™ฏ็š„ๅผ€ๅ‘่€…, ๆŠ€ๆœฏๅบ•่‰ฒๆบไบŽๅทฅไฝœๅ‡ ๅนดๅŽ็งฏ็ดฏไบ†่พƒไธบๆ‰Žๅฎž็š„ๅทฅ็จ‹ๅŒ–ๅฎž่ทตโ€”โ€”ไปŽๅŸบ็ก€็š„ Web ๅ‰็ซฏๅˆฐๅคๆ‚็š„่ทจๅนณๅฐๅฐ็จ‹ๅบๅŸบ็ก€ๆก†ๆžถ็š„ๆžถๆž„ๅ‡็บง๏ผŒๅ†ๅˆฐๅŸบไบŽ NodeJS ็š„ๆœๅŠก็ซฏๅผ€ๅ‘๏ผŒ่ฟ™ไบ›็ปๅކ้”ป็‚ผไบ†ๆˆ‘ๅฏน็ณป็ปŸๅคๆ‚ๅบฆ็š„ๆŽŒๆŽงๅŠ›ใ€ๅทฅ็จ‹ๅŒ–่ƒฝๅŠ›ไปฅๅŠ้กน็›ฎๆŽจๅŠจไธŽๅ›ข้˜Ÿๅˆไฝœ็š„่ƒฝๅŠ›ใ€‚\\n่‡ช 2023 ๅนด LLM ๆตชๆฝฎๆถŒ็Žฐไปฅๆฅ๏ผŒๆˆ‘ๆทฑๅบฆๆŠ•่บซไบŽ AI ็›ธๅ…ณ็š„ๆŠ€ๆœฏๆŽข็ดขใ€‚ๅœจๅทฅไฝœไธŽไธšไฝ™้กน็›ฎไธญ๏ผŒไธปๅฏผๆˆ–ๅ‚ไธŽไบ†ๅคšไธชๅŸบไบŽๅคงๆจกๅž‹็š„ๅบ”็”จ่ฝๅœฐ๏ผŒ็งฏ็ดฏไบ†ไปŽ Prompt ่ฐƒไผ˜ๅˆฐ Agentic Workflow ็ผ–ๆŽ’็š„ไธ€็บฟ็ป้ชŒ๏ผŒไนŸๅคšๆฌกๅ‚ๅŠ ไบ†ๅ›ฝๅ†… AI ็คพๅŒบ็›ธๅ…ณ็š„ๆŠ€ๆœฏๅˆ†ไบซไธŽไบคๆตๆดปๅŠจ๏ผŒไบ†่งฃไบ† AI ้ข†ๅŸŸๆœ€ๆ–ฐ็š„ๆŠ€ๆœฏ่ถ‹ๅŠฟไธŽๅฎž่ทตใ€‚\\n\\n็›ฎๅ‰๏ผŒๆˆ‘ไธป่ฆๅœจ\"},{\"url\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"relativePath\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"frontmatter\":{\"date\":\"2024-01-15 22:16:00\",\"title\":\"่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไนฆๆŽฅไธŠๆ–‡ใ€Šๅ‘ๅ†…ๆ€ๅ˜ใ€‹๏ผŒๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ๅœจๅŽ็–ซๆƒ…ๆ—ถไปฃไปŽโ€œ้—ญๅ…ณโ€่ตฐๅ‘โ€œๅ‘ๅค–ไฝ“้ชŒโ€็š„ๅฐ่ฏ•ไธŽๅฟƒๅพ—ใ€‚้ขๅฏนๆœบๆขฐๆ‰ง่กŒๅธฆๆฅ็š„โ€œ็›ฎๆ ‡้šง้“โ€ๆ•ˆๅบ”๏ผŒ็ฌ”่€…ๅฐ่ฏ•่ทณๅ‡บๅ•ไธ€็š„็บฟๆ€ง่ง„ๅˆ’๏ผŒ่ฝฌ่€Œๅฏปๆฑ‚ๆ›ดๅบ•ๅฑ‚็š„่ฎค็Ÿฅ้€ป่พ‘ใ€‚ๆ–‡็ซ ้€š่ฟ‡้‡่ฏปใ€Š่ฆไบ‹็ฌฌไธ€ใ€‹ๅปบ็ซ‹ๅนณ่กก่ง‚๏ผŒๅˆฉ็”จ็ณป็ปŸๆ€็ปด๏ผˆๅขžๅผบ/่ฐƒ่Š‚ๅ›ž่ทฏ๏ผ‰ๆž„ๅปบๆดžๅฏŸๅŠ›๏ผŒๅนถ้‡ๆ–ฐๆ‹พ่ตทๆ•ฐๅญฆๆ€็ปด๏ผˆๆฆ‚็އใ€็จ€็–ๆ€งใ€ๅคšๆ ทๆ€ง๏ผ‰ไธŽ AI ่ง†่ง’ใ€‚่ฟ™ๆ˜ฏไธ€ๆฌกๅ…ณไบŽๅฆ‚ไฝ•็”จ็ง‘ๅญฆๆจกๅž‹ๆ›ฟไปฃๆœบๆขฐๆ‰ง่กŒ๏ผŒไปŽๆœฌ่ดจไธŠ้‡ๆž„ไธชไบบ่ฎค็Ÿฅไฝ“็ณป็š„ๆทฑๅบฆๅค็›˜ใ€‚\",\"permalink\":\"/growth/outer-experience\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/outer_experience_bg.png\",\"sticky\":1,\"top\":true,\"tags\":[\"็ณป็ปŸๆ€็ปด\",\"ๆ•ฐๅญฆๆ€็ปด\",\"ๆจกๅž‹ๆ€็ปด\",\"AI\",\"็–ซๆƒ…\"],\"categories\":[\"ไธชไบบๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"date\":\"2024-01-15 22:16:00\",\"capture\":\"1. ๅ†™ๅœจๅ‰้ข\\nๆ—ถๅ…‰่่‹’๏ผŒ็–ซๆƒ…ๅทฒ็ป็”ฑๆ”พๅผ€็Šถๆ€็ปง็ปญๆผ”ๅ˜ไธบ่ฟ‡ๅŽปๅผ็Šถๆ€๏ผŒๆˆ‘ไปฌไบบ็ฑปไนŸไปŽใ€Ž้—ญๅ…ณใ€่ตฐๅ‘ไบ†ใ€Ž่‡ช็”ฑใ€็š„็คพไผš็”Ÿๆดป็Šถๆ€ใ€‚็ฌ”่€…ไฝœไธบ็คพไผšไธญ็š„ๆ™ฎ้€šไธ€ๅ‘˜๏ผŒ่‡ช็„ถไนŸไธ็ฆปๅค–๏ผŒๅœจ 2023 ๅนดๅˆๆด‹ๆด‹ๆด’ๆด’ๅ†™ไบ†ไธ€็ฏ‡ๅœจๅฅๅบทใ€่ฏปไนฆไธŽๅญฆไน ใ€ๆ—ถ้—ด็ฎก็†ๅ’Œๆททๅˆๅทฅไฝœๅˆถๅ‡ ไธชๆ–น้ข็š„ๅฎž่ทตไธŽ็†่งฃ๏ผˆๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ๏ผ‰๏ผŒๅฐฑๅผ€ๅผ€ๅฟƒๅฟƒๅœฐๅ‘ๅ‰็œ‹๏ผŒๅญฆ็€ๅ‘ๅค–ไฝ“้ชŒไบ†ใ€‚\\n้‚ฃไนˆ้—ฎ้ข˜ๆฅไบ†๏ผŒ็›ธๆฏ”ไน‹ๅ‰ๅ†™ๅ‡บ้•ฟๆ–‡๏ผŒ็ฌ”่€…ๅˆๆ˜ฏ่ฟ‘ไธ€ๅนดๆฒกๆœ‰ๅ‘ๅค–่พ“ๅ‡บ่ฝฏๆ–‡ไบ†ใ€‚ๅ› ๆญค๏ผŒไนฆๆŽฅไธŠๆ–‡๏ผŒๆœฌๆฌก็ปง็ปญๆ–ฐๅขžไธ€็ฏ‡ไธญ็Ÿญๆ–‡๏ผŒๆผซ่ฐˆไธ€ไธ‹็–ซๆƒ…ๅŽ็š„ๅ‘ๅค–ไฝ“้ชŒใ€‚\\nๅœจๅ€’้€ผ่‡ชๅทฑๅ…ณๆณจ่บซไฝ“ๅฅๅบทๅ’Œๆ—ถ้—ด็ฎก็†ๅŽ๏ผŒ่™ฝ็„ถๅœจไฝ“้‡ๅ’Œๆ•ˆ็އไธคไธชๆ–น้ขๆœ‰ไธ€ๅฎš็š„ๆญฃๅ‘ๆ•ˆๆžœ๏ผŒไฝ†็ฌ”่€…ๅœจ่ฟž็ปญๅšๆŒ่ฝๅœฐๆ‹†่งฃๅ‡บๆฅ็š„็›ฎๆ ‡่ฟ‡็จ‹ไธญ๏ผŒๆœ‰ๆ—ถ\"},{\"url\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"relativePath\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"frontmatter\":{\"date\":\"2023-01-08 10:23:50\",\"title\":\"ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅฆ‚ไฝ•้ฟๅ…ๅ†…่€—๏ผŸๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ไธ‰ๅนด้—ด็š„โ€œ่‡ชๆˆ‘้‡ๆž„โ€ๅฎž้ชŒใ€‚ๆ–‡็ซ ๆ‘’ๅผƒไบ†ๅ•็บฏ็š„ๆƒ…็ปชๅฎฃๆณ„๏ผŒ่€Œๆ˜ฏๅˆฉ็”จๅˆ†่งฃๆณ•ใ€ๆธ่ฟ›ๆ˜Ž็ป†ๅ’Œ็ปŸ่ฎกๅˆ†ๆž็ญ‰ๅทฅ็จ‹ๆ€็ปด๏ผŒๅฏนๅฅๅบท้ฅฎ้ฃŸใ€็Ÿฅ่ฏ†ไฝ“็ณปใ€ๆ—ถ้—ดๅˆ†้…ๅŠ่ฟœ็จ‹ๅไฝœ่ฟ›่กŒไบ†็ณป็ปŸๅŒ–ๆ”น้€ ใ€‚่ฟ™ๆ˜ฏไธ€ไปฝๅ…ณไบŽๅฆ‚ไฝ•ๅœจๆ— ๅธธ็š„ๅค–้ƒจ็Žฏๅขƒไธญ๏ผŒๅปบ็ซ‹ๅ†…ๅœจ็กฎๅฎšๆ€ง็งฉๅบ็š„่กŒๅŠจๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/growth/inner-experience\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/refactor_life.png\",\"sticky\":1,\"top\":true,\"categories\":\"ไธชไบบๆˆ้•ฟ\",\"tags\":[\"ๅฅๅบท\",\"ๆ—ถ้—ด\",\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\",\"่ฟœ็จ‹ๅไฝœ\",\"็–ซๆƒ…\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"date\":\"2023-01-08 10:23:50\",\"capture\":\"<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/refactor_life.png\\\" alt=\\\"็›ฎๆ ‡ๅˆฐ่ทต่กŒๆ€็ปดๆต็จ‹็คบๆ„ๅ›พ\\\" style=\\\"width: 100%; border-radius: 8px;\\\" />\\n ๅ†™ๅœจๅ‰้ข\\n่‡ชๅŽปๅนด 7 ๆœˆไปฝ่ฟ็งปๅ‡ ็ฏ‡ๆ—งๆ–‡ๅŽ๏ผŒ็ฌ”่€…ๅฐฑๆฒกๆœ‰็ปง็ปญๅ†™่ฝฏๆ–‡ไบ†๏ผŒๆƒณไธๅˆฐๅ†ๆฌกๅ†™ๆ–‡็ซ ๆ—ถ็–ซๆƒ…ๆ”ฟ็ญ–ๅทฒ็ป่ฐƒๆ•ด๏ผŒไธ”ๅˆๆญฅๅฎž็Žฐไบ†ๅผ€ๆ”พใ€‚้‚ฃไนˆ้—ฎ้ข˜ๆฅไบ†๏ผŒไธบไป€ไนˆ่ฆ็ปง็ปญๅ†™ๆ–‡็ซ ๅ‘ข๏ผŸๆฆ‚ๆ‹ฌๆฅ่ฎฒ๏ผŒๆœ‰ไธคไธชๆ–น้ข็š„ๅŽŸๅ› ๏ผš\\n* ็›ดๆŽฅๅŽŸๅ› ๏ผš็–ซๆƒ…่ฟ™ไธ‰ๅนด๏ผŒๆฏไธชไบบ้ƒฝไฝ“้ชŒๅˆฐไบ†ไธๅŒไบŽไน‹ๅ‰็š„ โ€œ้šพโ€๏ผŒไนŸ้ƒฝๆœ‰\"},{\"url\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/20.ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹้˜ถๆฎต้š็ฌ”ๆฑ‡ๆ€ป\",\"relativePath\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/20.ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹้˜ถๆฎต้š็ฌ”ๆฑ‡ๆ€ป\",\"frontmatter\":{\"date\":\"2022-09-12 08:16:00\",\"title\":\"็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ”นๅ–„็š„ๆ–นๅผๆŽจๅŠจๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไปŽโ€œไนฆ็”Ÿๆ„ๆฐ”โ€ๅˆฐๅˆๅ…ฅ็คพไผš็š„โ€œไธญๅนดๆฒน่…ปโ€ๅฑๆœบ๏ผŒไธ€ๆฌกๅฅๅบท่ญฆๆŠฅ่ฎฉ็ฌ”่€…ๅผ€ๅฏไบ†่ฟ™ๅœบๆทฑๅˆป็š„่‡ชๆˆ‘ๅฏน่ฏไธŽ่กŒๅŠจใ€‚ๆœฌๆ–‡่ฏฆ็ป†ๅค็›˜ไบ†็ฌ”่€…ไปŽๅฅๅบทๅฑๆœบๅ‡บๅ‘๏ผŒ้€š่ฟ‡ๅ››ไธช้˜ถๆฎต็š„ๅพชๅบๆธ่ฟ›๏ผŒๆˆๅŠŸๅฎž็Žฐไฝ“้‡็ฎก็†็š„่ฟ‡็จ‹ใ€‚ๅŒบๅˆซไบŽ็›ฒ็›ฎ่ทŸ้ฃŽ๏ผŒ็ฌ”่€…ๅœจๅฎž่ทตไธญๅผ•ๅ…ฅไบ†็›ฎๆ ‡ๆ‹†่งฃใ€ๆ•ฐๆฎ็›‘ๆŽง๏ผˆไฝ“่„‚็งคๆŒ‡ๆ ‡๏ผ‰ใ€่ทจ้ข†ๅŸŸ็ป้ชŒ่ฟ็งป๏ผˆๅฆ‚้กน็›ฎ็ฎก็†ใ€ๆ—ถ้—ด็ฎก็†๏ผ‰ไปฅๅŠๅฏนไธๅŒ็ญ–็•ฅ๏ผˆๅฆ‚ๆŽงๅˆถ้ฅฎ้ฃŸใ€ๅŠ ๅคงๆ— ๆฐง่ฟๅŠจใ€ๅฐ่ฏ•ไธๅƒไธป้ฃŸ๏ผ‰็š„่พฉ่ฏ้‡‡็บณใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ไปฝๅ‡่‚ฅ่ฎฐๅฝ•๏ผŒๆ›ดๆ˜ฏไธ€ๆฌก็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ€็ปด้‡ๆž„็”Ÿๆดป็งฉๅบใ€ๅฎž็Žฐ่บซๅฟƒๅ‡็บง็š„ๅฎžๆ“ๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/growth/weight-loss\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/health_bg.png\",\"top\":true,\"tags\":[\"ๅฅๅบท\",\"่ฟๅŠจ\"],\"categories\":[\"ไธชไบบๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ”นๅ–„็š„ๆ–นๅผๆŽจๅŠจๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹\",\"date\":\"2022-09-12 08:16:00\",\"capture\":\"ๅ†™ๅœจๅ‰้ข\\nๅœจ็ปๆตŽๅฟซ้€Ÿๅ‘ๅฑ•็š„ๅคง่ƒŒๆ™ฏไธ‹๏ผŒไธ€ๆ‰นๅˆไธ€ๆ‰น็š„ๅคงๅญฆ็”Ÿ้™†็ปญ่ตฐๅ‡บๆ ก้—จ่ฟ›ๅ…ฅ็คพไผšๅคง่ˆžๅฐใ€‚้š็€ๅนด้พ„ไธŽๅทฅไฝœๅนด้™็š„ๅขž้•ฟ๏ผŒไธ็Ÿฅ็ฝฎ่บซไบŽๅ…ถไธญ็š„ไฝ ๆ˜ฏๅฆๆ„Ÿๆ…จ่ฟ‡่‡ชๅทฑๅœจ้˜…ๅކไธŠไปŽโ€œไนฆ็”Ÿๆ„ๆฐ”โ€ๆธๆธๆผ”ๅ˜ไธบโ€œๅ››ๅนณๅ…ซ็จณ๏ผŒๆธธๅˆƒๆœ‰ไฝ™โ€๏ผ›ๅœจ่บซไฝ“ๅ…ปๆŠคๆ–น้ขไปŽโ€œ่บซๆๆ— ๆ•Œ๏ผŒๅนด้พ„ๆˆ่ฟท๏ผŒๅฎžๆ‰“ๅฎžไธ€ไธชไผ ๅฅ‡โ€ๆผ”ๅ˜ไธบโ€œไธญๅนดๆฒน่…ปโ€ใ€‚ๆฏไธชไบบๅคšๅฐ‘้ƒฝๆœ‰่‡ชๅทฑ็š„็ญ”ๆกˆ๏ผŒ็ฌ”่€…็š„็ญ”ๆกˆๆ˜ฏ๏ผš่ตฐๅ‡บๆ ก้—จ่ฟ›ๅ…ฅ็คพไผšๅŽ๏ผŒๅฝ“ๅˆๅฏน่บซ่พนไบบๆœ‰็‚น่‹›ๅˆป๏ผŒ้‡ไบ‹็ซๆ€ฅ็ซ็‡Ž็š„่‡ชๅทฑ้€ๆธๅพ—ๅˆฐไบ†ๆ”นๅ–„ใ€‚่บซไฝ“ๅดๅ› ๅŽŸๆœฌๅœจๅคงๅญฆๆ—ถๆฒกๆœ‰ๆ€Žไนˆๅœจๆ„๏ผŒ็ป่ฟ‡้•ฟๅนด็ดฏๆœˆๅœฐๆด—็คผไบฎไบ†ไธ€ๆฌกๅฐ็บข็ฏใ€‚ๅœจๅบทๅคๆœŸ้—ด๏ผŒไธๆญขไธ€ๆฌกๅๆ€่ฟ‡ไน‹ๅ‰็š„็”Ÿๆดปๆ–นๅผๅ’Œๅ…ฅไธ–ๆจกๅผ๏ผŒๆƒณไธ€ๆƒณ + ๅ››ๅค„็œ‹ไธ€็œ‹ๅŽ๏ผŒๆ…ขๆ…ขไนŸๅฐฑๅผ€ๆ‚Ÿไบ†๏ผŒ่‡ช็„ถ่ฆๅฏๅŠจไธ€ไบ›ๆ”นๅ˜ๅฐ่ฏ•ใ€‚\\nๅ› ๆญค๏ผŒไนŸๅฐฑๆœ‰ไบ†่ฟ™็ฏ‡ๅ‡่‚ฅ่ฟ™ไปถ\"}],\"sortPostsByDateAndSticky\":[{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/10.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Deep Research Agent\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/10.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Deep Research Agent\",\"frontmatter\":{\"date\":\"2026-04-02 00:38:37\",\"title\":\"ๅฃฐๆ˜Žๅผๅคšๆ™บ่ƒฝไฝ“ๅๅŒ๏ผšๅŸบไบŽ Claude Agent SDK ๆž„ๅปบๆทฑๅบฆ็ ”็ฉถ็ณป็ปŸ\",\"description\":\"ๅฏนๅคๆ‚็ ”็ฉถไปปๅŠกๆ—ถ๏ผŒๅ•ๆ™บ่ƒฝไฝ“๏ผˆSingle-Agent๏ผ‰ๅธธๅ› ไธŠไธ‹ๆ–‡็จ€้‡Šๅ’Œ้€ป่พ‘็–ฒๅŠณๅฏผ่‡ดไบงๅ‡บ่ดจ้‡ไธ‹้™ใ€‚ๆœฌๆ–‡ๅŸบไบŽ Claude Agent SDK ๆŽข่ฎจไบ†ๅคšๆ™บ่ƒฝไฝ“็ณป็ปŸ๏ผˆMAS๏ผ‰็š„ๅทฅ็จ‹ๅŒ–่ฝๅœฐใ€‚้€š่ฟ‡โ€œLead + Subagentโ€็š„ๅฃฐๆ˜Žๅผๆžถๆž„๏ผŒๆˆ‘ไปฌๅฐ†ๆทฑๅบฆ็ ”็ฉถๆ‹†่งฃไธบๆœ็ดขใ€้‡ๅŒ–ๅˆ†ๆžใ€ๅฏ่ง†ๅŒ–็ป˜ๅ›พไธŽ็ป“ๆž„ๅŒ–ๅ†™ไฝœๅ››ไธช็‹ฌ็ซ‹็Žฏ่Š‚ใ€‚\",\"permalink\":\"/ai-agent/deepresearch-agent\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"],\"tags\":[\"Agent SDK\",\"Multi-Agent\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฃฐๆ˜Žๅผๅคšๆ™บ่ƒฝไฝ“ๅๅŒ๏ผšๅŸบไบŽ Claude Agent SDK ๆž„ๅปบๆทฑๅบฆ็ ”็ฉถ็ณป็ปŸ\",\"date\":\"2026-04-02 00:38:37\",\"capture\":\"> ๅฎž่ทต่ฏๆ˜Ž๏ผŒ้€š่ฟ‡ไธฅๆ ผ็š„่Œ่ดฃ้š”็ฆป๏ผˆๅฆ‚ Lead Agent ไป…่ดŸ่ดฃ่ฐƒๅบฆ๏ผ‰ไธŽๅทฅ็จ‹่พน็•Œ็บฆๆŸ๏ผˆๅฆ‚ Researcher ๅผบๅˆถๆๅ–้‡ๅŒ–ๆŒ‡ๆ ‡๏ผ‰๏ผŒMAS ่ƒฝๅคŸ็”Ÿๆˆๅ…ทๅค‡ไธ“ไธšๆ•ฐๆฎๅ›พ่กจๆ”ฏๆ’‘็š„ๆทฑๅบฆๆŠฅๅ‘Šใ€‚ๆœฌๆ–‡ๅฐ†ไปŽๆžถๆž„่ฎพ่ฎกใ€ๅทฅไฝœๆต็ผ–ๆŽ’ๅˆฐ PDF ่‡ชๅŠจ็”Ÿๆˆ๏ผŒๅฎŒๆ•ด่ฟ˜ๅŽŸ่ฟ™ไธ€โ€œAI ้ฉฑๅŠจ่ฐƒ็ ”ๆตๆฐด็บฟโ€็š„ๆž„ๅปบ่ฟ‡็จ‹๏ผŒๅนถๅฑ•็คบๅ…ถๅœจๆ•™่‚ฒ็ ”็ฉถๆกˆไพ‹ไธญ็š„ๅฎžๆˆ˜ๆ•ˆๆžœใ€‚\\n 1. ๅผ•่จ€\\nๅœจ AI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐไธ€ๆ–‡ไธญ๏ผŒๆˆ‘ไปฌๆŽข่ฎจไบ†ๅคšๆ™บ่ƒฝไฝ“็ณป็ปŸ๏ผˆMulti-Agent Systems, MAS๏ผ‰็š„็†่ฎบไผ˜ๅŠฟใ€‚ไปŽ็†่ฎบๅฑ‚้ข็œ‹๏ผŒ่ฟ™็ฑป็ณป็ปŸ้€š่ฟ‡ไปปๅŠกๅˆ†่งฃใ€่Œ่ดฃ้š”็ฆปไธŽๅนถ่กŒๅไฝœๆœบๅˆถ๏ผŒๆœ‰ๆ•ˆ็ช็ ดไบ†ๅ•ๆ™บ่ƒฝไฝ“ๅœจๅคๆ‚ไปปๅŠกไธญ็š„่ƒฝๅŠ›็“ถ้ขˆโ€”โ€”ไธไป…ๆ˜พ่‘—ๆๅ‡ไบ†ไปปๅŠกๅค„็†็š„ๅคฉ่Šฑๆฟ\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/10.Agent SKills\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/10.Agent SKills\",\"frontmatter\":{\"date\":\"2026-03-05 23:11:25\",\"title\":\"ๅฆ‚ไฝ•็ผ–ๅ†™ไธ€ไธช้ซ˜ๅฏ็”จ็š„ Agent Skill๏ผŸไปŽๆœบๅˆถๆ‹†่งฃๅˆฐ็”Ÿไบงๅฎž่ทตๆŒ‡ๅ—\",\"description\":\"ๅคง่ฏญ่จ€ๆจกๅž‹ๅœจ็‰นๅฎšๅทฅ็จ‹้ข†ๅŸŸๅธธ้ขไธดโ€œ็Ÿฅ่€Œไธ่กŒโ€็š„ๅ›ฐๅขƒใ€‚ๆœฌๆ–‡ๆทฑๅบฆๆ‹†่งฃ Anthropic ๆœ€ๆ–ฐๆŽจๅ‡บ็š„ Agent Skills ่ง„่Œƒ๏ผŒๆญ็ง˜ๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆธ่ฟ›ๅผๆŠซ้œฒไธŽไธ‰็บงๅŠ ่ฝฝๆœบๅˆถ๏ผŒๅœจๆŽงๅˆถ Token ๆˆๆœฌ็š„ๅŒๆ—ถๆ˜พ่‘—ๆๅ‡ Agent ็š„ไปปๅŠกๆ‰ง่กŒ็ฒพๅบฆใ€‚ๆ–‡็ซ ๆถต็›–ไบ†ไปŽๆ–‡ไปถๅคนๆžถๆž„่ฎพ่ฎกๅˆฐๅฎžๆˆ˜ git-workflow ็ผ–ๅ†™็š„ๅ…จๆต็จ‹ๆŒ‡ๅ—๏ผŒๅŠฉไฝ ๅฐ†้›ถๆ•ฃ็š„ Prompt ่ฝฌๅŒ–ไธบๆ ‡ๅ‡†ๅŒ–็š„ๆ•ฐๅญ—่ต„ไบงใ€‚\",\"permalink\":\"/ai-agent/skills-practice-summary\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\",\"Agent ็ณปๅˆ—\"],\"tags\":[\"Agent Skills\",\"Agent\",\"AI\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฆ‚ไฝ•็ผ–ๅ†™ไธ€ไธช้ซ˜ๅฏ็”จ็š„ Agent Skill๏ผŸไปŽๆœบๅˆถๆ‹†่งฃๅˆฐ็”Ÿไบงๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-03-05 23:11:25\",\"capture\":\"1. ๅผ•่จ€๏ผšAgent Skills ๆ˜ฏไป€ไนˆ๏ผŸ\\nๅœจๅคง่ฏญ่จ€ๆจกๅž‹๏ผˆLLM๏ผ‰็š„่ฝๅœฐๅฎž่ทตไธญ๏ผŒๅผ€ๅ‘่€…็ปๅธธ้ขไธดไธ€ไธชๅ…ฑๆ€งๆŒ‘ๆˆ˜๏ผšๆจกๅž‹ๅœจ็‰นๅฎš็ป†ๅˆ†้ข†ๅŸŸๅพ€ๅพ€ๅค„ไบŽโ€œ็Ÿฅ่€Œไธ่กŒโ€็š„็Šถๆ€โ€”โ€”่™ฝ็„ถๆ‹ฅๆœ‰ๅšๆ‚็š„็Ÿฅ่ฏ†๏ผŒๅด็ผบไนๆ‰ง่กŒๅคๆ‚ไปปๅŠก็š„ไธ“ไธš่ทฏๅพ„ใ€‚\\nไธบไบ†่งฃๅ†ณ่ฟ™ไธ€็—›็‚น๏ผŒAnthropic ๅœจๅ…ถๆ——่ˆฐๆจกๅž‹ Claude 3.7 ็ณปๅˆ—ไธญๆญฃๅผๆŽจๅ‡บไบ† Claude Skillsใ€‚่ฟ™ไธ€ๅŠŸ่ƒฝๅฐ† LLM ็š„่ƒฝๅŠ›ๅฐ่ฃ…ไธบ็›ด่ง‚็š„โ€œ่ƒฝๅŠ›ๆ–‡ไปถๅคนโ€๏ผŒๆžๅคงๆๅ‡ไบ†ๆ™บ่ƒฝไฝ“็š„ๅฎž็”จๆ€ง๏ผŒๅนถ่ฟ…้€Ÿๅœจๅผ€ๅ‘่€…็คพๅŒบๅผ•ๅ‘็ƒญ่ฎฎใ€‚2025 ๅนด 12 ๆœˆ๏ผŒ้š็€ Anthropic ่”ๅˆ็”Ÿๆ€ไผ™ไผดๆญฃๅผๅผ€ๆบ Agent Skills ่ง„่Œƒ๏ผŒAgent Skills ็š„ๆ ‡ๅ‡†ๅŒ–ไนŸๆญฃๅผๅผ€ๅฏ๏ผˆ่€Œ่ฟ™ไธ€่ƒฝๅŠ›\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/02.Agent ่ง„ๅˆ’ๆจกๅ—\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/02.Agent ่ง„ๅˆ’ๆจกๅ—\",\"frontmatter\":{\"date\":\"2026-02-24 20:52:37\",\"title\":\"ๆŽขๅฏป Agent ๅ†ณ็ญ–ไธญๆžข๏ผš่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„่ง„ๅˆ’่Œƒๅผ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฆ‚ๆžœ่ฏด LLM ๆ˜ฏ Agent ็š„ๅคง่„‘๏ผŒ่ง„ๅˆ’ๆจกๅ—ๅˆ™ๆ˜ฏๅ…ถ่ดŸ่ดฃๅคๆ‚ๅ†ณ็ญ–็š„โ€œๅ‰้ขๅถโ€ใ€‚ๆœฌๆ–‡ๆทฑๅบฆ่งฃๆž„ไบ† Agent ่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„ๆ ธๅฟƒ่ทฏๅพ„๏ผšไปŽไปปๅŠกๅˆ†่งฃ็š„้™ไฝŽ็†ตๅ€ผ๏ผŒๅˆฐ่‡ชๆˆ‘ๅๆ€็š„้—ญ็ŽฏๆŽงๅˆถใ€‚้€š่ฟ‡ๅฏนๆฏ”โ€œ่พน่ตฐ่พน็œ‹โ€็š„ ReAct ๅŠจๆ€ๅ“ๅบ”ๆจกๅผไธŽโ€œ่ฐ‹ๅฎšๅŽๅŠจโ€็š„ Plan-and-Execute ้ข„็ผ–ๆŽ’ๆจกๅผ๏ผŒๆœฌๆ–‡ๆญ็คบไบ†ๅฆ‚ไฝ•้’ˆๅฏน้•ฟ้“พ่ทฏๅทฅ็จ‹ไปปๅŠกๆž„ๅปบ็จณๅฅ็š„ๅ†ณ็ญ–่Œƒๅผ๏ผŒๅŠฉไฝ ๅฎŒๆˆไปŽโ€œ็ฎ€ๅ•ๆ็คบ่ฏโ€ๅˆฐโ€œๅคๆ‚ๆžถๆž„่ฎพ่ฎกโ€็š„่ฎค็Ÿฅ่ทƒ่ฟใ€‚\",\"permalink\":\"/ai-agent/planning-module\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆŽขๅฏป Agent ๅ†ณ็ญ–ไธญๆžข๏ผš่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„่ง„ๅˆ’่Œƒๅผ\",\"date\":\"2026-02-24 20:52:37\",\"capture\":\"1. ๅผ•่จ€\\nๅœจไบบ็ฑปๅคง่„‘ไธญ๏ผŒๅ‰้ขๅถ็šฎๅฑ‚่ดŸ่ดฃๅคๆ‚็š„่ฎค็Ÿฅ่ง„ๅˆ’ใ€ๅ†ณ็ญ–ๅ’Œ็คพไบค่กจ็Žฐใ€‚ๅฏนไบŽไธ€ไธช Agent ่€Œ่จ€๏ผŒ่ง„ๅˆ’ๆจกๅ—ๆญฃๆ˜ฏๅฎƒ็š„โ€œๅ‰้ขๅถโ€โ€”โ€”ๅฎƒๅ†ณๅฎšไบ† Agent ๆ˜ฏๅชไผšๆœบๆขฐๅ“ๅบ”ๆŒ‡ไปค็š„โ€œๆœจๅถโ€๏ผŒ่ฟ˜ๆ˜ฏ่ƒฝ็‹ฌ็ซ‹ๆ‹†่งฃ็›ฎๆ ‡ใ€ๅœจๅคๆ‚็Žฏๅขƒไธญๅฏปๆ‰พๆœ€ไผ˜่ทฏๅพ„็š„โ€œๆ•ฐๅญ—ๅ‘˜ๅทฅโ€ใ€‚\\nAgent ็š„่ง„ๅˆ’่ƒฝๅŠ›ไธป่ฆ็”ฑไธค้ƒจๅˆ†ๅๅŒ้ฉฑๅŠจ๏ผšไปปๅŠกๅˆ†่งฃไธŽ่‡ชๆˆ‘ๅๆ€ใ€‚\\n 2. ไปปๅŠกๅˆ†่งฃ๏ผšๅŒ–็นไธบ็ฎ€็š„็ญ–็•ฅ\\nไปปๅŠกๅˆ†่งฃๆ˜ฏๆŒ‡ๅฐ†ไธ€ไธชๅคๆ‚็š„็›ฎๆ ‡ๆˆ–ไปปๅŠกๆ‹†่งฃไธบๅคšไธชๅ…ทไฝ“ใ€ๅฏๆ“ไฝœ็š„็š„ๅญไปปๅŠก๏ผŒไปฅไพฟ Agent ่ƒฝๅคŸๆ›ด้ซ˜ๆ•ˆๅœฐๆ‰ง่กŒๅ’Œ็ฎก็†ใ€‚ๅ…ถๆœฌ่ดจๆ˜ฏ้™ไฝŽ้—ฎ้ข˜็š„็†ตๅ€ผ๏ผŒ่ฎฉ Agent ่ƒฝๅคŸ่š็„ฆไบŽๆฏไธ€ไธช็ป†ๅฐ็š„็กฎๅฎšๆ€งๆญฅ้ชค๏ผŒไปŽ่€Œ้€ๆญฅ่งฃๅ†ณ้—ฎ้ข˜๏ผŒๆ้ซ˜่ง„ๅˆ’็š„ๅฏ่กŒๆ€งๅ’Œๆ‰ง่กŒๆ•ˆ็އใ€‚\\nๆ นๆฎโ€œ่ง„ๅˆ’โ€ไธŽโ€œๆ‰ง่กŒโ€ๅ‘\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/03.ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผšๅฐ†้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/03.ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผšๅฐ†้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"frontmatter\":{\"date\":\"2026-02-06 15:48:23\",\"title\":\"ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผš้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผš้ขๅฏนๅฑ‚ๅ‡บไธ็ฉท็š„ Promptใ€MCPใ€Skills ๅ’Œ Subagents๏ผŒๅพˆๅคšๅผ€ๅ‘่€…ๅ’Œไบงๅ“็ป็†ๅธธๆ„Ÿๅˆฐๅ›ฐๆƒ‘๏ผš่ฟ™ไบ›็ป„ไปถ็ฉถ็ซŸๆ˜ฏ้‡ๅค้€ ่ฝฎๅญ๏ผŒ่ฟ˜ๆ˜ฏๅ„ๅธๅ…ถ่Œ็š„็งฏๆœจ๏ผŸๆœฌๆ–‡ๅฐ†ๆทฑๅบฆๆ‹†่งฃ Agentic ็”Ÿๆ€็š„ไบ”ๅคงๆ ธๅฟƒๆ”ฏๆŸฑ๏ผŒๆญ็คบๅฆ‚ไฝ•้€š่ฟ‡ไผ˜้›…็š„ๆžถๆž„่ฎพ่ฎกๅฎž็ŽฐๅๅŒ้—ญ็Žฏ๏ผŒๅฐ†้›ถๆ•ฃ็š„ AI ็ป„ไปถๆ‹ผ่ฃ…ๆˆไธ€ๅฅ—ๅฏๆŒ็ปญ่ฟ›ๅŒ–็š„ AI ๅŽŸ็”Ÿๆ“ไฝœ็ณป็ปŸ๏ผŒๆŠŠ็ขŽ็‰‡ๅŒ–็š„ AI ่ƒฝๅŠ›่ฝฌๅŒ–ไธบ้ซ˜ๅฏ็”จ็š„็”ŸไบงๅŠ›ๆตใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/ai-practice/agent_components_zh.png\",\"permalink\":\"/ai-agent/composition-ai-components\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"],\"tags\":[\"Agent\",\"AI\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผš้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"date\":\"2026-02-06 15:48:23\",\"capture\":\"<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/ai-practice/agent_components_zh.png\\\" style=\\\"width: 100%; border-radius: 8px; margin-bottom: 20px;\\\" alt=\\\"about site background\\\">\\n 1. ๅผ•่จ€\\n> ้—ฎ้ข˜๏ผšๅœจๆ™บ่ƒฝไฝ“็”Ÿๆ€้‡Œ๏ผŒๅ„ไธช็ป„ไปถๅˆฐๅบ•ๆ˜ฏๆ€ŽไนˆๅๅŒๅทฅไฝœ็š„๏ผŸ\\nๅฝ“ๅ‰๏ผŒAgent๏ผˆๆ™บ่ƒฝไฝ“๏ผ‰ๆŠ€ๆœฏๅ‘ๅฑ•่ฟ…็Œ›๏ผŒๅ„็ง่ฎพ่ฎกๆจกๅผใ€ๆ ธๅฟƒ็ป„ไปถไธŽๅทฅไฝœๆœบๅˆถๅฑ‚ๅ‡บไธ็ฉทใ€‚้ขๅฏน็นๆ‚็š„ๆ™บ่ƒฝไฝ“็”Ÿๆ€\"},{\"url\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"relativePath\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"frontmatter\":{\"date\":\"2025-10-24 11:05:50\",\"title\":\"ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจ AI ้‡ๅก‘่ฝฏไปถๅทฅ็จ‹็š„ไปŠๅคฉ๏ผŒๅ…จๆ ˆไธๅ†ๆ˜ฏๆŠ€ๆœฏ็š„็บฟๆ€งๅ ๅŠ ๏ผŒๆญฃๅœจไปŽโ€œๆŠ€ๆœฏๆ ˆๅ †็ Œโ€่ฝฌๅ‘โ€œ่ฎค็Ÿฅๆ ˆ้‡ๆž„โ€ใ€‚ๆœฌๆ–‡ๆๅ‡บ โ€œ(ๅทฅ็จ‹ + ไบงๅ“) ร— AIโ€ ็š„ๆ–ฐๅ…ฌๅผ๏ผŒๅŠฉๅŠ›ๅผ€ๅ‘่€…ๆž„ๅปบโ€œๆดžๅฏŸ-ๆžถๆž„-ๆ ๆ†โ€่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”๏ผŒๅˆฉ็”จ AI ๆ ๆ†่ฎฉ่‡ชๅทฑ่ฟ›ๅŒ–ไธบไปทๅ€ผๅˆ›้€ ่€…ใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"permalink\":\"/fullstack/ai-native\",\"sticky\":1,\"top\":true,\"tags\":[\"ๅ…จๆ ˆ\",\"AI\",\"ไบงๅ“\"],\"categories\":[\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"date\":\"2025-10-24 11:05:50\",\"capture\":\"<script setup>\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n 1. ๅผ•่จ€\\nๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒๅฝ“ๆˆ‘ไปฌ่ฐˆ่ฎบโ€œๅ…จๆ ˆๅทฅ็จ‹ๅธˆโ€ๆ—ถ๏ผŒ่„‘ๆตทไธญๆตฎ็Žฐ็š„ๅพ€ๅพ€ๆ˜ฏไธ€ๅผ ๅ†—้•ฟไธ”ไปคไบบ็–ฒๆƒซ็š„ๆŠ€ๆœฏๅทฅๅบๆธ…ๅ•ใ€‚\\nๅฐฑๅƒๆˆ‘ๆ›พ็ปไปฅไธบ็š„้‚ฃๆ ท๏ผŒๅ…จๆ ˆๅฐฑๆ˜ฏ็บฟๆ€ง็š„ๆŠ€่ƒฝๅ ๅŠ ไธŽ็‰ฉ็†ๅผ็š„ๆŠ€ๆœฏๆ‹ผๆŽฅ๏ผŒๆ˜ฏไธ€็งไพ้ ไบบๅŠ›ๅŽปๅกซ่กฅๆŠ€ๆœฏ้ธฟๆฒŸ็š„โ€œ่ฅฟ่ฅฟๅผ—ๆ–ฏๅผโ€ๅŠชๅŠ›๏ผš\\n* ็บฟๆ€ง็š„ๆŠ€่ƒฝๅ ๅŠ ๏ผšๆˆ‘ไปฌ่ขซ่ฟซๆˆไธบโ€œๅ…จ่ƒฝๆ‰‹โ€๏ผŒๅทฆๆ‰‹็”จ React/Vue ๆž„ๅปบ็ฒพ็พŽ็š„ UI๏ผŒๅณๆ‰‹็”จ Node/Go ็ผ–ๅ†™้ซ˜ๅนถๅ‘ API๏ผŒไธญ้—ด่ฟ˜่ฆๅค„็†ๆ•ฐๆฎๅบ“็š„ ACI\"},{\"url\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/21.ๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense\",\"relativePath\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/21.ๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense\",\"frontmatter\":{\"date\":\"2025-10-23 16:05:50\",\"title\":\"ๅฝ“โ€œๅฎž็Žฐโ€ไธๅ†ๆ˜ฏๅฃๅž’๏ผšๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense๏ผŸ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ AI ่ฎฉไปฃ็ ็”Ÿๆˆ็š„่พน้™…ๆˆๆœฌ่ถ‹่ฟ‘ไบŽ้›ถ๏ผŒโ€œๆŠ€ๆœฏๅฎž็Žฐโ€ไธๅ†ๆ˜ฏไธๅฏ้€พ่ถŠ็š„ๅฃๅž’๏ผŒโ€œไบงๅ“ๆดžๅฏŸโ€่ƒฝๆž„็ญ‘่ตทๆ–ฐ็š„ๆ ธๅฟƒๆŠคๅŸŽๆฒณใ€‚ๆœฌๆ–‡ๆ‹’็ป็Ž„ๅญฆ๏ผŒๅฐ†ๆŠฝ่ฑก็š„ ไบงๅ“ Sense ่งฃๆž„ไธบไธ‰ไธชๆ ธๅฟƒๆ•ฐๅญฆๅ…ฌๅผ๏ผŒๅนถๆไพ›ไธ€ๅฅ—ๅŸบไบŽโ€œ้€†ๅ‘ๅทฅ็จ‹โ€็š„ๅˆปๆ„็ปƒไน ๆŒ‡ๅ—๏ผŒๅŠฉๅŠ›ๅผ€ๅ‘่€…ๅœจ็ฎ—ๅŠ›่ฟ‡ๅ‰ฉ็š„ๆ—ถไปฃ๏ผŒๅฎŒๆˆไปŽโ€œไปฃ็ ๅทฅๅŒ โ€ๅˆฐโ€œไปทๅ€ผๅˆ›้€ ่€…โ€็š„่ฎค็Ÿฅ่ทƒ่ฟใ€‚\",\"sticky\":1,\"top\":true,\"categories\":[\"ไบงๅ“ Sense\",\"AI\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense/engineer-build-product-sense\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฝ“โ€œๅฎž็Žฐโ€ไธๅ†ๆ˜ฏๅฃๅž’๏ผšๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense๏ผŸ\",\"date\":\"2025-10-23 16:05:50\",\"capture\":\"1. ๅผ•่จ€\\nๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒไบงๅ“ Sense๏ผˆไบงๅ“ๆ„Ÿ๏ผ‰ ่ขซ่ง†ไธบไธ€็ง็Ž„ๅญฆใ€‚ๅฎƒไผผไนŽๆ˜ฏไน”ๅธƒๆ–ฏๅผ็š„็ตๅ…‰ไธ€็Žฐ๏ผŒๆˆ–ๆ˜ฏๅผ ๅฐ้พ™ๅผ็š„โ€œ็‹ฌๆ–ญไธ“่กŒโ€ใ€‚\\nไฝ†ๅฏนไบŽๅคงๅคšๆ•ฐๅทฅ็จ‹ๅธˆใ€ไบงๅ“็ป็†ไนƒ่‡ณ็‹ฌ็ซ‹ๅผ€ๅ‘่€…่€Œ่จ€๏ผŒๅฐ†่ƒฝๅŠ›ๅฏ„ๆ‰˜ไบŽโ€œๅคฉ่ต‹โ€ๆ˜ฏๅฑ้™ฉ็š„ใ€‚ๆˆ‘่ฎคไธบ๏ผŒไบงๅ“ Sense ๅนถ้žไธๅฏๆ‰ๆ‘ธ็š„้ป‘้ญ”ๆณ•๏ผŒ่€Œๆ˜ฏไธ€ๅฅ—็ป่ฟ‡้ซ˜้ข‘่ฎญ็ปƒๅŽๅ†…ๅŒ–ไธบๆœฌ่ƒฝ็š„ๆ€็ปด็ฎ—ๆณ•ใ€‚ ๅฐฑๅƒ่ต„ๆทฑ็จ‹ๅบๅ‘˜็œ‹ๅˆฐไธ€ๆฎตไปฃ็ ๅฐฑ่ƒฝๅ—…ๅ‡บ \\\"Code Smell\\\"๏ผˆไปฃ็ ๅผ‚ๅ‘ณ๏ผ‰๏ผŒ่ต„ๆทฑไบงๅ“ไบบไนŸ่ƒฝๅœจ็žฌ้—ดๅˆคๆ–ญไธ€ไธช้œ€ๆฑ‚ๆ˜ฏโ€œ็œŸ็—›็‚นโ€่ฟ˜ๆ˜ฏโ€œไผช้œ€ๆฑ‚โ€ใ€‚\\nไธ€ไธชๆˆๅŠŸ็š„ไบงๅ“ๅ†ณ็ญ–๏ผŒๅพ€ๅพ€ๅ‘็”Ÿๅœจไธ‰ไธช็ปดๅบฆ็š„ไบคๆฑ‡็‚น๏ผš\\n* ็”จๆˆทไปทๅ€ผๆดžๅฏŸ๏ผˆUser Value Insight๏ผ‰๏ผšไธไป…ๅฌๆ‡‚็”จๆˆท่ฏดโ€œๆƒณ่ฆๆ›ดๅฟซ็š„้ฉฌโ€๏ผŒๆ›ด่ƒฝๆดžๅฏŸไป–ๅ…ถๅฎžโ€œๆƒณๆ›ด\"},{\"url\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/10.่ฏปไนฆไธ‰่ฆไธ‰ไธ่ฆ\",\"relativePath\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/10.่ฏปไนฆไธ‰่ฆไธ‰ไธ่ฆ\",\"frontmatter\":{\"date\":\"2025-03-06 11:42:20\",\"title\":\"่ฏปไนฆโ€œไธ‰่ฆโ€ๅ’Œโ€œไธ‰ไธ่ฆโ€\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจไฟกๆฏ็ˆ†็‚ธ็š„ๆ—ถไปฃ๏ผŒ่ฏปไนฆไพ็„ถๆ˜ฏ่Žทๅ–ๆทฑๅบฆ็Ÿฅ่ฏ†ๆœ€้ซ˜ๆ•ˆ็š„ๆ–นๅผไน‹ไธ€ใ€‚ไฝ†โ€œๆง่ตทไนฆโ€ๅนถไธ็ญ‰ไบŽโ€œๆœ‰ๆ”ถ่Žทโ€๏ผŒๆ€Žไนˆ่ฏปๅพ€ๅพ€ๆฏ”่ฏปไป€ไนˆๆ›ด้‡่ฆใ€‚ๆœฌๆ–‡ๆ€ป็ป“ไบ†้ซ˜ๆ•ˆ้˜…่ฏป็š„โ€œไธ‰่ฆโ€ไธŽโ€œไธ‰ไธ่ฆโ€๏ผšไปŽๅฎŒๆ•ด้˜…่ฏป่ง‚ๆ‘ฉๅคงๅธˆๆ€็ปดใ€ๅธฆ็€้—ฎ้ข˜ๆž„ๅปบ็Ÿฅ่ฏ†ๆ ‘๏ผŒๅˆฐ้€š่ฟ‡่ฎจ่ฎบๆฃ€้ชŒ็†่งฃ๏ผ›ๅŒๆ—ถๆ้†’้˜…่ฏป่€…่ญฆๆƒ•ๅ“€ๆ€จๅฟƒๆ€ๅฏน้˜…่ฏปๅˆ่กท็š„ๅผ‚ๅŒ–ใ€้ฟๅ…้™ทๅ…ฅๅฏน็‰ฉ็†ๅช’ไป‹็š„โ€œ็Žฉ็‰ฉไธงๅฟ—โ€๏ผŒไปฅๅŠๅˆ‡ๅฟŒ่„ฑ็ฆป็Žฐๅฎž็š„โ€œ็œŸ็ฉบโ€้˜…่ฏปใ€‚้˜…่ฏปไธไป…ๆ˜ฏๅ‘ๅ†…ๆŽข็ดข็š„็ฒพ็ฅžไน‹ๆ—…๏ผŒๆ›ดๆ˜ฏๅ‘ๅค–็†่งฃ็œŸๅฎžไธ–็•Œใ€ๅˆ›้€ ็คพไผšไปทๅ€ผ็š„ๅฎž็”จๅทฅๅ…ทใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/reading_need.png\",\"permalink\":\"/pages/growth/reading-tips\",\"sticky\":1,\"top\":true,\"categories\":[\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\"],\"tags\":[\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ฏปไนฆโ€œไธ‰่ฆโ€ๅ’Œโ€œไธ‰ไธ่ฆโ€\",\"date\":\"2025-03-06 11:42:20\",\"capture\":\"<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/reading_need.png\\\" style=\\\"width: 100%; border-radius: 8px; margin-bottom: 20px;\\\" alt=\\\"about site background\\\">\\n 1. ๆˆ‘ไปฌไธบไป€ไนˆ้œ€่ฆ่ฏปไนฆ๏ผŸ\\n่ฏปไนฆๆ˜ฏไปŽๅค–็•ŒๆŽฅๅ—ไฟกๆฏ็š„ไธ€็งๆ–นๅผ๏ผŒไธŽ่Šๅคฉใ€ๆต่งˆ็ฝ‘้กตใ€ๅฌๆ’ญๅฎขใ€็œ‹็”ต่ง†ๅนถๆ— ๆœฌ่ดจๅŒบๅˆซใ€‚ไฝ†ไนฆ่ฟ™็งๅช’ไป‹ไธŽๅ…ถไป–ไฟกๆฏๅช’ไป‹็›ธๆฏ”๏ผŒๆœ‰ๅ…ถ็‹ฌๆœ‰็š„ไผ˜ๅŠฟ๏ผš\\n- ๆทฑๅบฆไธŽไธฅ่ฐจ๏ผšไนฆ็ฑๅพ€ๅพ€ๆ˜ฏๅˆ›ไฝœ่€…ๅคšๅนดๆ€่€ƒใ€้•ฟๆœŸ\"},{\"url\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"relativePath\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"frontmatter\":{\"date\":\"2024-01-15 22:16:00\",\"title\":\"่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไนฆๆŽฅไธŠๆ–‡ใ€Šๅ‘ๅ†…ๆ€ๅ˜ใ€‹๏ผŒๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ๅœจๅŽ็–ซๆƒ…ๆ—ถไปฃไปŽโ€œ้—ญๅ…ณโ€่ตฐๅ‘โ€œๅ‘ๅค–ไฝ“้ชŒโ€็š„ๅฐ่ฏ•ไธŽๅฟƒๅพ—ใ€‚้ขๅฏนๆœบๆขฐๆ‰ง่กŒๅธฆๆฅ็š„โ€œ็›ฎๆ ‡้šง้“โ€ๆ•ˆๅบ”๏ผŒ็ฌ”่€…ๅฐ่ฏ•่ทณๅ‡บๅ•ไธ€็š„็บฟๆ€ง่ง„ๅˆ’๏ผŒ่ฝฌ่€Œๅฏปๆฑ‚ๆ›ดๅบ•ๅฑ‚็š„่ฎค็Ÿฅ้€ป่พ‘ใ€‚ๆ–‡็ซ ้€š่ฟ‡้‡่ฏปใ€Š่ฆไบ‹็ฌฌไธ€ใ€‹ๅปบ็ซ‹ๅนณ่กก่ง‚๏ผŒๅˆฉ็”จ็ณป็ปŸๆ€็ปด๏ผˆๅขžๅผบ/่ฐƒ่Š‚ๅ›ž่ทฏ๏ผ‰ๆž„ๅปบๆดžๅฏŸๅŠ›๏ผŒๅนถ้‡ๆ–ฐๆ‹พ่ตทๆ•ฐๅญฆๆ€็ปด๏ผˆๆฆ‚็އใ€็จ€็–ๆ€งใ€ๅคšๆ ทๆ€ง๏ผ‰ไธŽ AI ่ง†่ง’ใ€‚่ฟ™ๆ˜ฏไธ€ๆฌกๅ…ณไบŽๅฆ‚ไฝ•็”จ็ง‘ๅญฆๆจกๅž‹ๆ›ฟไปฃๆœบๆขฐๆ‰ง่กŒ๏ผŒไปŽๆœฌ่ดจไธŠ้‡ๆž„ไธชไบบ่ฎค็Ÿฅไฝ“็ณป็š„ๆทฑๅบฆๅค็›˜ใ€‚\",\"permalink\":\"/growth/outer-experience\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/outer_experience_bg.png\",\"sticky\":1,\"top\":true,\"tags\":[\"็ณป็ปŸๆ€็ปด\",\"ๆ•ฐๅญฆๆ€็ปด\",\"ๆจกๅž‹ๆ€็ปด\",\"AI\",\"็–ซๆƒ…\"],\"categories\":[\"ไธชไบบๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"date\":\"2024-01-15 22:16:00\",\"capture\":\"1. ๅ†™ๅœจๅ‰้ข\\nๆ—ถๅ…‰่่‹’๏ผŒ็–ซๆƒ…ๅทฒ็ป็”ฑๆ”พๅผ€็Šถๆ€็ปง็ปญๆผ”ๅ˜ไธบ่ฟ‡ๅŽปๅผ็Šถๆ€๏ผŒๆˆ‘ไปฌไบบ็ฑปไนŸไปŽใ€Ž้—ญๅ…ณใ€่ตฐๅ‘ไบ†ใ€Ž่‡ช็”ฑใ€็š„็คพไผš็”Ÿๆดป็Šถๆ€ใ€‚็ฌ”่€…ไฝœไธบ็คพไผšไธญ็š„ๆ™ฎ้€šไธ€ๅ‘˜๏ผŒ่‡ช็„ถไนŸไธ็ฆปๅค–๏ผŒๅœจ 2023 ๅนดๅˆๆด‹ๆด‹ๆด’ๆด’ๅ†™ไบ†ไธ€็ฏ‡ๅœจๅฅๅบทใ€่ฏปไนฆไธŽๅญฆไน ใ€ๆ—ถ้—ด็ฎก็†ๅ’Œๆททๅˆๅทฅไฝœๅˆถๅ‡ ไธชๆ–น้ข็š„ๅฎž่ทตไธŽ็†่งฃ๏ผˆๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ๏ผ‰๏ผŒๅฐฑๅผ€ๅผ€ๅฟƒๅฟƒๅœฐๅ‘ๅ‰็œ‹๏ผŒๅญฆ็€ๅ‘ๅค–ไฝ“้ชŒไบ†ใ€‚\\n้‚ฃไนˆ้—ฎ้ข˜ๆฅไบ†๏ผŒ็›ธๆฏ”ไน‹ๅ‰ๅ†™ๅ‡บ้•ฟๆ–‡๏ผŒ็ฌ”่€…ๅˆๆ˜ฏ่ฟ‘ไธ€ๅนดๆฒกๆœ‰ๅ‘ๅค–่พ“ๅ‡บ่ฝฏๆ–‡ไบ†ใ€‚ๅ› ๆญค๏ผŒไนฆๆŽฅไธŠๆ–‡๏ผŒๆœฌๆฌก็ปง็ปญๆ–ฐๅขžไธ€็ฏ‡ไธญ็Ÿญๆ–‡๏ผŒๆผซ่ฐˆไธ€ไธ‹็–ซๆƒ…ๅŽ็š„ๅ‘ๅค–ไฝ“้ชŒใ€‚\\nๅœจๅ€’้€ผ่‡ชๅทฑๅ…ณๆณจ่บซไฝ“ๅฅๅบทๅ’Œๆ—ถ้—ด็ฎก็†ๅŽ๏ผŒ่™ฝ็„ถๅœจไฝ“้‡ๅ’Œๆ•ˆ็އไธคไธชๆ–น้ขๆœ‰ไธ€ๅฎš็š„ๆญฃๅ‘ๆ•ˆๆžœ๏ผŒไฝ†็ฌ”่€…ๅœจ่ฟž็ปญๅšๆŒ่ฝๅœฐๆ‹†่งฃๅ‡บๆฅ็š„็›ฎๆ ‡่ฟ‡็จ‹ไธญ๏ผŒๆœ‰ๆ—ถ\"},{\"url\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"relativePath\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"frontmatter\":{\"date\":\"2023-01-08 10:23:50\",\"title\":\"ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅฆ‚ไฝ•้ฟๅ…ๅ†…่€—๏ผŸๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ไธ‰ๅนด้—ด็š„โ€œ่‡ชๆˆ‘้‡ๆž„โ€ๅฎž้ชŒใ€‚ๆ–‡็ซ ๆ‘’ๅผƒไบ†ๅ•็บฏ็š„ๆƒ…็ปชๅฎฃๆณ„๏ผŒ่€Œๆ˜ฏๅˆฉ็”จๅˆ†่งฃๆณ•ใ€ๆธ่ฟ›ๆ˜Ž็ป†ๅ’Œ็ปŸ่ฎกๅˆ†ๆž็ญ‰ๅทฅ็จ‹ๆ€็ปด๏ผŒๅฏนๅฅๅบท้ฅฎ้ฃŸใ€็Ÿฅ่ฏ†ไฝ“็ณปใ€ๆ—ถ้—ดๅˆ†้…ๅŠ่ฟœ็จ‹ๅไฝœ่ฟ›่กŒไบ†็ณป็ปŸๅŒ–ๆ”น้€ ใ€‚่ฟ™ๆ˜ฏไธ€ไปฝๅ…ณไบŽๅฆ‚ไฝ•ๅœจๆ— ๅธธ็š„ๅค–้ƒจ็Žฏๅขƒไธญ๏ผŒๅปบ็ซ‹ๅ†…ๅœจ็กฎๅฎšๆ€ง็งฉๅบ็š„่กŒๅŠจๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/growth/inner-experience\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/refactor_life.png\",\"sticky\":1,\"top\":true,\"categories\":\"ไธชไบบๆˆ้•ฟ\",\"tags\":[\"ๅฅๅบท\",\"ๆ—ถ้—ด\",\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\",\"่ฟœ็จ‹ๅไฝœ\",\"็–ซๆƒ…\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"date\":\"2023-01-08 10:23:50\",\"capture\":\"<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/refactor_life.png\\\" alt=\\\"็›ฎๆ ‡ๅˆฐ่ทต่กŒๆ€็ปดๆต็จ‹็คบๆ„ๅ›พ\\\" style=\\\"width: 100%; border-radius: 8px;\\\" />\\n ๅ†™ๅœจๅ‰้ข\\n่‡ชๅŽปๅนด 7 ๆœˆไปฝ่ฟ็งปๅ‡ ็ฏ‡ๆ—งๆ–‡ๅŽ๏ผŒ็ฌ”่€…ๅฐฑๆฒกๆœ‰็ปง็ปญๅ†™่ฝฏๆ–‡ไบ†๏ผŒๆƒณไธๅˆฐๅ†ๆฌกๅ†™ๆ–‡็ซ ๆ—ถ็–ซๆƒ…ๆ”ฟ็ญ–ๅทฒ็ป่ฐƒๆ•ด๏ผŒไธ”ๅˆๆญฅๅฎž็Žฐไบ†ๅผ€ๆ”พใ€‚้‚ฃไนˆ้—ฎ้ข˜ๆฅไบ†๏ผŒไธบไป€ไนˆ่ฆ็ปง็ปญๅ†™ๆ–‡็ซ ๅ‘ข๏ผŸๆฆ‚ๆ‹ฌๆฅ่ฎฒ๏ผŒๆœ‰ไธคไธชๆ–น้ข็š„ๅŽŸๅ› ๏ผš\\n* ็›ดๆŽฅๅŽŸๅ› ๏ผš็–ซๆƒ…่ฟ™ไธ‰ๅนด๏ผŒๆฏไธชไบบ้ƒฝไฝ“้ชŒๅˆฐไบ†ไธๅŒไบŽไน‹ๅ‰็š„ โ€œ้šพโ€๏ผŒไนŸ้ƒฝๆœ‰\"},{\"url\":\"/01.ๅ…จๆ ˆ/00.overview\",\"relativePath\":\"/01.ๅ…จๆ ˆ/00.overview\",\"frontmatter\":{\"date\":\"2026-03-19 23:05:50\",\"title\":\"ๅ…จๆ™ฏไธ€่งˆ\",\"description\":\"ๆœฌ็ณปๅˆ—ๅ›ด็ป•็Žฐไปฃๅ…จๆ ˆๅผ€ๅ‘็š„่ƒฝๅŠ›ไฝ“็ณปๅฑ•ๅผ€๏ผŒไปŽ AI ๆ—ถไปฃ็š„ๅทฅ็จ‹ๆ€็ปดๅ‡บๅ‘๏ผŒ่ฆ†็›–ๅ‰็ซฏๅทฅ็จ‹๏ผˆReact/Vue/CSS๏ผ‰ใ€ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป๏ผˆTypeScript/JavaScript๏ผ‰ใ€ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่็ญ‰ๆ ธๅฟƒ้ข†ๅŸŸ๏ผŒๅธฎๅŠฉๆž„ๅปบไปŽ\\\"่ฎค็Ÿฅๅฑ‚ โ†’ ๆŠ€ๆœฏ้ข†ๅŸŸ โ†’ ๅทฅ็จ‹่ƒฝๅŠ› โ†’ ๅŸบ็ก€่ฎพๆ–ฝ\\\"็š„ๅฎŒๆ•ดๅ…จๆ ˆ็Ÿฅ่ฏ†ๅ›พ่ฐฑใ€‚\",\"categories\":[\"ๅ…จๆ ˆ\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"permalink\":\"/fullstack/overview\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ…จๆ™ฏไธ€่งˆ\",\"date\":\"2026-03-19 23:05:50\",\"capture\":\"<script setup\\nimport ArticleCardList from '@fragment/components/ArticleCardList.vue'\\nimport { fullStackCategories } from '@fragment/data/full-stack-data'\\n</script>\\n<ArticleCardList :categories=\\\"fullStackCategories\\\" />\"},{\"url\":\"/10.ไบงๅ“ Sense/00.ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"relativePath\":\"/10.ไบงๅ“ Sense/00.ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"frontmatter\":{\"date\":\"2026-03-19 23:05:50\",\"title\":\"ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"description\":\"ไบงๅ“ Sense ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ๏ผŒๆถต็›– AI ไบงๅ“่ง‚ๅฏŸใ€ๅคๅˆๅž‹ไบบๆ‰ๆˆ้•ฟใ€ๅ•†ไธšๅŒ–ๆ€่€ƒๅŠๆ–นๆณ•่ฎบๆ€ป็ป“็ญ‰ใ€‚\",\"categories\":[\"ไบงๅ“ Sense\",\"AI\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"date\":\"2026-03-19 23:05:50\",\"capture\":\"> * ่ฟฝๆฑ‚้ซ˜ๆ ๆ†โ€”โ€”ไปฅๆž็ฎ€ๆŠ€ๆœฏ่งฃๅ†ณๅคๆ‚้—ฎ้ข˜๏ผŒๆ‹’็ปไธบ็‚ซๆŠ€่€Œ่ฎพ่ฎก็š„ไผช้œ€ๆฑ‚๏ผ›\\n> * ๅนณ่กกๆ„Ÿๆ€งไธŽ็†ๆ€งโ€”โ€”ๆ—ขๅ…ฑๆƒ…็”จๆˆท็š„็œŸๅฎžๅœบๆ™ฏไธŽๆƒ…็ปช๏ผŒๅˆๅ†ท้™่ฟฝๆบฏ็—›็‚นๆœฌ่ดจ๏ผŒ่ฎฉไบงๅ“ๆ—ขๆœ‰ๆธฉๅบฆ๏ผŒๅˆไธ่‡ณไบŽๆฒฆไธบๅŠŸ่ƒฝ็š„ๅ †็ Œใ€‚\\n่งฃๆž„่ฟ™็งไบงๅ“ Sense ็š„ๅŸบ็ก€ๅœจไบŽๅฏนๆŠ•ๅ…ฅไบงๅ‡บๆฏ”๏ผˆROI๏ผ‰็š„ๆž่‡ด่ฟฝๆฑ‚ไธŽๅฏนไบบๆ€ง็š„ๆทฑๅบฆๅ‰–ๆž๏ผš\\n* ไธ€ๆ–น้ข๏ผŒๅ“่ถŠ็š„ไบงๅ“ๅ—…่ง‰ๆ„ๅ‘ณ็€ๅฏปๆ‰พโ€œ้ซ˜ๆ ๆ†่งฃโ€๏ผŒ็”จๆœ€ๅ…‹ๅˆถ็š„ๆŠ€ๆœฏๅคๆ‚ๅบฆๅŽปๆ’ฌๅŠจๆœ€ๅนฟๆณ›ไธ”ๅผบ็ƒˆ็š„็”จๆˆทไปทๅ€ผ๏ผŒๆžœๆ–ญ่ง„้ฟไธบไบ†ๆŠ€ๆœฏ่€ŒๆŠ€ๆœฏ็š„ไผช้œ€ๆฑ‚้™ท้˜ฑใ€‚\\n* ๅฆไธ€ๆ–น้ข๏ผŒๆ—ข้œ€่ฆ่ฎพ่บซๅค„ๅœฐๆ„Ÿ็Ÿฅ็”จๆˆท็š„็œŸๅฎžไฝฟ็”จๅœบๆ™ฏไธŽๆƒ…็ปช๏ผŒๅˆๅฟ…้กปไฟๆŒ็†ๆ€งๅŽป่ฟฝ้—ฎ็—›็‚น็š„ๆ นๆบ๏ผŒ็กฎไฟไบงๅ“ๆ—ขไธๆฒฆไธบ่‡ƒ่‚ฟ็š„้œ€ๆฑ‚่ฎธๆ„ฟๆฑ ๏ผŒไนŸไธๅ˜ๆˆ็ผบไนไบบๆ€งๆธฉๅบฆ็š„ๅ†ฐๅ†ทๆœบๅ™จใ€‚\\n<im\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/00.AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/00.AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ\",\"frontmatter\":{\"title\":\"AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"date\":\"2026-03-15 16:00:00\",\"description\":\"ๅ…จๆ™ฏๅผ AI ๅญฆไน ไธŽๅฎž่ทต็Ÿฅ่ฏ†ๅบ“๏ผŒ็ณป็ปŸๆฒ‰ๆท€ AI Agent ่ฎพ่ฎกๆจกๅผใ€ๅคงๆจกๅž‹ๅทฅ็จ‹ๅŒ–่ฝๅœฐใ€ๅผ€ๆบๅฐ้กน็›ฎๅŠ็คพๅŒบๆดปๅŠจ็ป้ชŒๆ€ป็ป“๏ผŒๆŒ็ปญ่ฟญไปฃไปŽ็†่ฎบๅˆฐ็”Ÿไบง็š„ๅฎŒๆ•ดๆ–นๆณ•่ฎบใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/llm_learning_bg_1.png\",\"permalink\":\"/ai-learning/overview\",\"categories\":[\"ai-practice\"],\"tags\":[\"AI\",\"LLM\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"date\":\"2026-03-15 16:00:00\",\"capture\":\"<!-- ็ฒพ้€‰ไธ“้ข˜ --\\n<script setup>\\nimport ArticleCardList from '@fragment/components/ArticleCardList.vue'\\nimport { aiLearningCategories } from '@fragment/data/ai-learning-data'\\n</script>\\n<ArticleCardList :categories=\\\"aiLearningCategories\\\" />\"},{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/02.CSSๅทฅ็จ‹ๅŒ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/02.CSSๅทฅ็จ‹ๅŒ–\",\"frontmatter\":{\"date\":\"2026-03-10 22:05:50\",\"title\":\"ไปŽๅŽŸๅญๅŒ–ๅˆฐๅ˜ไฝ“้ฉฑๅŠจ๏ผš็Žฐไปฃ CSS ๅทฅ็จ‹ๅŒ–็š„ๆžถๆž„ๆผ”่ฟ›ไธŽๆททๅˆๅฎž่ทตๆŒ‡ๅ—\",\"description\":\"ๆœฌๆ–‡็ณป็ปŸๅ‰–ๆžไธปๆต CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆ็š„ๅบ•ๅฑ‚้€ป่พ‘๏ผŒๆๅ‡บโ€œๆ ทๅผ่ต„ไบง ROIโ€่ฏ„ไผฐๆจกๅž‹๏ผŒๅนถ้’ˆๅฏน Vue/React ็”Ÿๆ€็ป™ๅ‡บไบ†้ขๅ‘ AI ๆ—ถไปฃ็š„ไผไธš็บงๆททๅˆๆžถๆž„้€‰ๅž‹ๅปบ่ฎฎใ€‚\",\"permalink\":\"/full-stack/css-engineering\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"top\":true,\"categories\":[\"ๅ…จๆ ˆ\"],\"tags\":[\"ๅ…จๆ ˆ\",\"CSS\",\"ๅทฅ็จ‹ๅŒ–\",\"tailwindcss\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไปŽๅŽŸๅญๅŒ–ๅˆฐๅ˜ไฝ“้ฉฑๅŠจ๏ผš็Žฐไปฃ CSS ๅทฅ็จ‹ๅŒ–็š„ๆžถๆž„ๆผ”่ฟ›ไธŽๆททๅˆๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-03-10 22:05:50\",\"capture\":\"1. ๅผ•่จ€๏ผšไธปๆต CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆๆœ‰ๅ“ชไบ›๏ผŸ\\nๅœจ็Žฐไปฃๅ‰็ซฏๅผ€ๅ‘ไธญ๏ผŒ้š็€้กน็›ฎๅคๆ‚ๅบฆ็š„ๆ€ฅๅ‰งๆๅ‡๏ผŒๅŽŸ็”Ÿ CSS ๅธธๅธธ้ขไธดๅ…จๅฑ€ๆฑกๆŸ“ใ€ๅค็”จๅ›ฐ้šพใ€ๅฑ‚็บงๅตŒๅฅ—่ฟ‡ๆทฑไปฅๅŠ็ปดๆŠคๆˆๆœฌๆž้ซ˜็ญ‰้—ฎ้ข˜ใ€‚ไธบไบ†่งฃๅ†ณ่ฟ™ไบ›็—›็‚น๏ผŒ็คพๅŒบๅคšๅนดๆฅไธๆ–ญๆŽข็ดข๏ผŒๆฒ‰ๆท€ๅ‡บไบ†ๅคš็งไธปๆต็š„ CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆใ€‚\\n้™คๅŽŸ็”Ÿ CSS ไน‹ๅค–๏ผŒไธปๆตๆ–นๆกˆ่ฟ˜ๅŒ…ๆ‹ฌ้ข„ๅค„็†ๅ™จใ€CSS-in-JSใ€CSS Moduleใ€Scoped CSSใ€ๅŽŸๅญๅŒ– CSS ็ญ‰ใ€‚BEM ไฝœไธบไธ€็งๅŸบไบŽๅ‘ฝๅ็บฆๅฎšๆฅ่ง„้ฟๅ‘ฝๅๅ†ฒ็ช็š„ๆ—ฉๆœŸๆ–นๆกˆ๏ผŒๅœจ็Žฐไปฃๅ‰็ซฏๅทฅ็จ‹ไธญๅทฒๅŸบๆœฌไธๅ†ไฝฟ็”จ๏ผŒๅ› ๆญคๆœฌๆ–‡ไธๅ†ๅฏนๅ…ถๅฑ•ๅผ€่ฏฆ็ป†ๅˆ†ๆžใ€‚\\n> CSS ๅ‘ฝๅ่ง„่Œƒ๏ผˆBEM๏ผ‰๏ผš้€š่ฟ‡ไธฅๆ ผ็š„ๅ‘ฝๅ็บฆๅฎš๏ผˆๅฆ‚ Block__Element--Modif\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/20.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Agent\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/20.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Agent\",\"frontmatter\":{\"date\":\"2026-03-06 00:37:58\",\"title\":\"ๅ‘Šๅˆซๆ‰‹ๅŠจ Loop๏ผšๅ€ŸๅŠฉ Claude Agent SDK ๅฎž็Žฐ Agent ็š„ๅทฅ็จ‹ๅŒ–้—ญ็Žฏ\",\"description\":\"ๅœจ Agent ๆŠ€ๆœฏๅฟซ้€Ÿ่ตฐๅ‘ๆˆ็†Ÿ็š„ไปŠๅคฉ๏ผŒๅฆ‚ไฝ•ไฝŽๆˆๆœฌๆž„ๅปบๅ…ทๅค‡โ€œ่‡ชไธปๆดžๅฏŸโ€่ƒฝๅŠ›็š„ๆ™บ่ƒฝไฝ“๏ผŸๆœฌๆ–‡ๆทฑๅบฆๆ‹†่งฃ Anthropic ๅฎ˜ๆ–นๆŽจๅ‡บ็š„ Claude Agent SDK๏ผŒ่งฃๆžๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆ‰˜็ฎก Agent Loop ๅ’Œไผš่ฏๆŒไน…ๅŒ–ๆœบๅˆถ๏ผŒ่งฃๅ†ณ Agent ๅผ€ๅ‘ไธญ็š„็Šถๆ€็ฎก็†้šพ้ข˜ใ€‚ๆ–‡็ซ ้€š่ฟ‡ไปŽๆ— ็Šถๆ€ไบคไบ’ๅˆฐๅ…ทๅค‡ๆตๅผ่พ“ๅ‡บ่ƒฝๅŠ›็š„ TUI ่‡ชๅŠจๅŒ–ๅทฅๅ…ท่ฟ›้˜ถๅฎžๆˆ˜๏ผŒๅฑ•็คบไบ†ๆž„ๅปบไฝŽๆˆๆœฌใ€้ซ˜ๅฏ็”จ AI ๅŽŸ็”Ÿๅบ”็”จ็š„ๅฎŒๆ•ด่ทฏๅพ„ใ€‚\",\"permalink\":\"/ai-practice/claude-agent-sdk-basic-build\",\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"],\"tags\":[\"Agent\",\"Agent SDK\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ‘Šๅˆซๆ‰‹ๅŠจ Loop๏ผšๅ€ŸๅŠฉ Claude Agent SDK ๅฎž็Žฐ Agent ็š„ๅทฅ็จ‹ๅŒ–้—ญ็Žฏ\",\"date\":\"2026-03-06 00:37:58\",\"capture\":\"1. ๅผ•่จ€\\nๅฝ“ๅ‰๏ผŒAI Agent ็š„ๆผ”่ฟ›ๅทฒ่ฟ›ๅ…ฅไธ€ไธชๅดญๆ–ฐ็š„้˜ถๆฎตโ€”โ€”ไปŽ้œ€่ฆ้ข‘็นไบบๅทฅๅนฒ้ข„็š„\\\"ๅŠ่‡ชๅŠจ\\\"ๆจกๅผ๏ผŒ่ฟ›ๅŒ–ไธบ่ƒฝๅคŸ่‡ชไธปๆดžๅฏŸ็Žฏๅขƒๅ˜ๅŒ–ใ€ๅŠจๆ€่ฐƒๆ•ดๆ‰ง่กŒ็ญ–็•ฅใ€ๅฎž็ŽฐไธšๅŠกๆต็จ‹่‡ช้€‚ๅบ”็ผ–ๆŽ’็š„ๆ™บ่ƒฝๅŒ–็ณป็ปŸใ€‚Claude Codeใ€Manusใ€OpenClaw ็ญ‰ไปฃ่กจๆ€งไบงๅ“ๅฑ‚ๅ‡บไธ็ฉท๏ผŒไนŸๆ ‡ๅฟ—็€ Agent ๆŠ€ๆœฏๆญฃๅœจๅฟซ้€Ÿ่ตฐๅ‘ๆˆ็†ŸไธŽๆ™ฎๅŠใ€‚\\n่ฟ‘ๆœŸ๏ผŒ็ฌ”่€…ๅœจไธบไธชไบบๅšๅฎขๅผ•ๅ…ฅๆ™บ่ƒฝๅŒ–่ฟ่ฅ่ƒฝๅŠ›๏ผˆๅฆ‚ๅ†…ๅฎน่‡ชๅŠจๆ กๅฏนใ€ๅฎก็จฟไธŽๅ‘ๅธƒ๏ผ‰๏ผŒๆทฑๅ…ฅ็ ”็ฉถไบ†ๅคšๆฌพ Agent ๅผ€ๅ‘ๆก†ๆžถ๏ผŒๅฆ‚ Claude Agent SDKใ€Langchainใ€LangGraph ็ญ‰ใ€‚ๅœจ็ป่ฟ‡ๅˆๆญฅ็š„็ ”็ฉถๅฏนๆฏ”ๅˆ†ๆžๅŽ๏ผŒClaude Agent SDK ๆˆไธบไบ†ไฝŽๆˆๆœฌๆž„ๅปบ้ซ˜ๅฏ็”จ Agent\"},{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"frontmatter\":{\"date\":\"2026-03-05 16:54:35\",\"title\":\"ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"aliases\":[\"Server-Sent Events\",\"HTTP Streaming\"],\"tldr\":\"ๆทฑๅ…ฅ่งฃๆžๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผŒๆไพ›ไปŽๆฆ‚ๅฟตๅˆฐ็”Ÿไบงๅฎž่ทต็š„ๅฎŒๆ•ด่งฃๅ†ณๆ–นๆกˆใ€‚\",\"description\":\"่พจๆžๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ็š„ๆฆ‚ๅฟตไธŽๅฑ‚ๆฌกๅ…ณ็ณป๏ผŒ่ฏฆ่งฃๅฎขๆˆท็ซฏไธŽๆœๅŠก็ซฏๅฎž็Žฐๆ–นๆกˆ๏ผŒๆไพ›็”Ÿไบงๅฎž่ทตๅฎŒๆ•ดๆŒ‡ๅ—ใ€‚\",\"tags\":[\"tutorial\",\"SSE\",\"HTTP Streaming\",\"ๅ…จๆ ˆ\"],\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"permalink\":\"/fullstack/networking/sse-practice\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"date\":\"2026-03-05 16:54:35\",\"capture\":\"<script setup\\n import HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n> ๆ‘˜่ฆๆ€ป็ป“: ้’ˆๅฏนๅผ€ๅ‘่€…ๅฎนๆ˜“ๆททๆท†ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ็š„้—ฎ้ข˜๏ผŒไปŽๆฆ‚ๅฟตๅฑ‚ๆฌกๅ‡บๅ‘ๅŽ˜ๆธ…ไบŒ่€…ๆœฌ่ดจๅŒบๅˆซไธŽๅไฝœๅ…ณ็ณป๏ผŒๆŒ‡ๅ‡บๆตๅผ HTTP ๆ˜ฏๅบ•ๅฑ‚ไผ ่พ“ๆœบๅˆถ่€Œ SSE ๆ˜ฏๅบ”็”จๅฑ‚ๆ•ฐๆฎๆ ผๅผ็บฆๅฎšใ€‚ๆ–‡็ซ ไพๆฌกไป‹็ปๅŽŸ็”Ÿ EventSource APIใ€fetch + ReadableStream ่ฟ›้˜ถๆ–นๆกˆใ€@microsoft/fetch-event-source ๅทฅไธš็บงๅฎž็Žฐ็ญ‰ไธ‰็งๅฎขๆˆท็ซฏๆ–นๆกˆ๏ผŒๅนถไปฅ Nes\"},{\"url\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/02.้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/02.้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-03-02 11:05:50\",\"title\":\"้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ AI ๆž้€Ÿ้™ไฝŽไปฃ็ ็ผ–ๅ†™้—จๆง›๏ผŒๅ•็บฏ็š„โ€œไธšๅŠกไปฃ็ ็ฟป่ฏ‘ๅ™จโ€่ง’่‰ฒๆญฃๅŠ ้€Ÿ่ดฌๅ€ผใ€‚ๆœฌๆ–‡ไปŽๆŠ€ๆœฏๆผ”่ฟ›ไธŽไบงๅ“ๆ€่€ƒ็š„ไบคๆฑ‡็‚นๅ‡บๅ‘๏ผŒๅฐ† AI ๆ—ถไปฃ็š„ๅผ€ๅ‘่€…่ƒฝๅŠ›ๅ›พ่ฐฑ้‡ๆ–ฐๅˆ’ๅˆ†ไธบไธ‰ๅคงๆ ธๅฟƒๅœˆๅฑ‚๏ผšไบงๅ“ๅบ”็”จๅฑ‚๏ผˆInsight Stack๏ผ‰ใ€Agent ๅผ€ๅ‘ๅฑ‚ไธŽ AI ๅŸบ็ก€่ฎพๆ–ฝๅฑ‚ใ€‚ๆ— ่ฎบไฝ ๆ˜ฏๆทฑ่€•่ง†ๅ›พๅฑ‚ไบคไบ’ใ€็ฒพ้€š Node.js ็ญ‰ๆœๅŠก็ซฏๆžถๆž„็š„ๅผ€ๅ‘่€…๏ผŒ่ฟ˜ๆ˜ฏ่‡ดๅŠ›ไบŽๆŠ€ๆœฏ่ฝๅœฐ็š„ๆŽข็ดข่€…๏ผŒ้ƒฝ่ƒฝๅœจ่ฟ™ไปฝๆผ”่ฟ›ๆŒ‡ๅ—ไธญๆ‰พๅˆฐๆ‰“็ ด่ƒฝๅŠ›่พน็•Œใ€ๅ‘โ€œ่ถ…็บงไธชไฝ“โ€ไธŽโ€œAI ๆ™บ่ƒฝไฝ“ๆŒ‡ๆŒฅๅฎ˜โ€่ทƒ่ฟ็š„็ ดๅฑ€ไน‹้“ใ€‚\",\"permalink\":\"/fullstack/ai-engineer-capability\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"top\":true,\"tags\":[\"ๅ…จๆ ˆ\",\"AI\"],\"categories\":[\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"date\":\"2026-03-02 11:05:50\",\"capture\":\"<script setup>\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/ai_engineering_arc.png\\\" style=\\\"width: 100%; border-radius: 8px; margin-bottom: 20px;\\\" alt=\\\"about site back\"},{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"frontmatter\":{\"date\":\"2026-02-25 22:10:48\",\"title\":\"HTTP ่ฝฎ่ฏขไผ˜ๅŒ–ๆŒ‡ๅ—๏ผš้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"tldr\":\"่ฏฆ่งฃ้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅฎž็ŽฐๅŽŸ็†๏ผŒๆไพ› HTTP ่ฝฎ่ฏขไผ˜ๅŒ–็ญ–็•ฅไธŽ้€‰ๅž‹ๅ†ณ็ญ–ๆ ‘ใ€‚\",\"description\":\"ๆทฑๅ…ฅๅ‰–ๆž้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๆ ธๅฟƒๆœบๅˆถ๏ผŒๆไพ› TypeScript/NestJS ๅฎžๆˆ˜ไปฃ็ ๏ผŒๅนถๆž„ๅปบๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–ๆ ‘ไธŽ้€‚็”จๅœบๆ™ฏ้€ŸๆŸฅใ€‚\",\"tags\":[\"HTTP ่ฝฎ่ฏข\",\"้€€้ฟ่ฝฎ่ฏข\",\"้•ฟ่ฝฎ่ฏข\"],\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"permalink\":\"/fullstack/networking-polling-optimization\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"HTTP ่ฝฎ่ฏขไผ˜ๅŒ–ๆŒ‡ๅ—๏ผš้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"date\":\"2026-02-25 22:10:48\",\"capture\":\"1. ๅผ•่จ€\\nๅœจ็Žฐไปฃ Web ๅผ€ๅ‘ไธญ๏ผŒWebSocket ๅ’Œ Server-Sent Events (SSE) ๅธธๅธธ่ขซ่ง†ไธบๅฎžๆ—ถ้€šไฟก็š„้“ถๅผนใ€‚็„ถ่€Œ๏ผŒHTTP ่ฝฎ่ฏข๏ผˆPolling๏ผ‰ไฝœไธบๆœ€ๆœด็ด ็š„ๅฎžๆ—ถ้€šไฟกๆ–นๆกˆ๏ผŒ้žไฝ†ๆฒกๆœ‰้€€ๅ‡บๅކๅฒ่ˆžๅฐ๏ผŒๅ่€Œๅœจ็‰นๅฎš็š„ๅคๆ‚ไธšๅŠกๅœบๆ™ฏไธญๅคงๆ”พๅผ‚ๅฝฉใ€‚\\n> ๐Ÿ“– ๅฆ‚ๆžœไฝ ๅฏน HTTP ่ฝฎ่ฏขๅœจๆ•ดไธช Web ้€šไฟกๅ่ฎฎไฝ“็ณปไธญ็š„ๅฎšไฝๅฐšไธๆธ…ๆ™ฐ๏ผŒๆŽจ่ๅ…ˆ้˜…่ฏป Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—๏ผŒไบ†่งฃ่ฝฎ่ฏขไธŽ็Ÿญ่ฟžๆŽฅใ€้•ฟ่ฟžๆŽฅใ€WebSocketใ€SSE ็ญ‰ๆ–นๆกˆ็š„ๆผ”่ฟ›ๅ…ณ็ณปไธŽ้€‚็”จ่พน็•Œ๏ผŒๅ†็ป“ๅˆๆœฌๆ–‡ๆทฑๅ…ฅๅฎž่ทตใ€‚\\nๅœจๅฝ“ๅ‰ไผ—ๅคš้กถ็บง็š„ AI AIGC ๅบ”็”จ๏ผˆๅฆ‚ Midjourne\"},{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-02-24 08:40:31\",\"title\":\"Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"tldr\":\"ๆทฑๅ…ฅๅˆ†ๆžไบ”็ง Web ้€šไฟกๅ่ฎฎ๏ผŒๆไพ› AI ๆ—ถไปฃ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—ไธŽๆœ€ไฝณๅฎž่ทตใ€‚\",\"description\":\"ๆทฑๅ…ฅๅ‰–ๆžไผ ็ปŸ HTTPใ€ๆตๅผ HTTPใ€SSEใ€WebSocketใ€Webhooksใ€HTTP ่ฝฎ่ฏข็š„ๅŽŸ็†ไธŽ็‰นๆ€ง๏ผŒ็ป“ๅˆ AI ๅœบๆ™ฏๆไพ›ๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–็Ÿฉ้˜ตใ€‚\",\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"tags\":[\"HTTP\",\"HTTP ่ฝฎ่ฏข\",\"SSE\",\"WebSocket\",\"Webhooks\"],\"permalink\":\"/fullstack/networking-protocol-selection-guide\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"date\":\"2026-02-24 08:40:31\",\"capture\":\"1. ๅผ•่จ€\\nHTTP ๆ˜ฏไธ€็งๅŸบไบŽๆ–‡ๆœฌ็š„้€šไฟกๅ่ฎฎ๏ผŒไธป่ฆ็”จไบŽ Web ๆต่งˆๅ™จใ€็งปๅŠจๅบ”็”จใ€ๆกŒ้ขๅบ”็”จ็ญ‰ๅฎขๆˆท็ซฏๅ’Œ Web ๆœๅŠกๅ™จไน‹้—ด็š„ๆ•ฐๆฎไผ ่พ“ใ€‚ไผ ็ปŸ HTTP ้‡‡็”จๅŒๆญฅ็š„่ฏทๆฑ‚-ๅ“ๅบ”ๆจกๅผ๏ผš`่ฏทๆฑ‚ -> ็ญ‰ๅพ… -> ๅฎŒๆ•ดๅ“ๅบ”`ใ€‚่ฟ™็งๆ–นๅผ่™ฝ่ƒฝๆปก่ถณๅคงๅคšๆ•ฐๅœบๆ™ฏ๏ผŒไฝ†ๅœจๅฎžๆ—ถๆ€ง่ฆๆฑ‚่พƒ้ซ˜็š„้ข†ๅŸŸโ€”โ€”ๅฆ‚ๆธธๆˆใ€่Šๅคฉใ€่ง†้ข‘ไผš่ฎฎ๏ผŒไปฅๅŠ AI ๆ—ถไปฃ็š„ๅฏน่ฏๅผๅบ”็”จโ€”โ€”ๅดๆ˜พๅพ—ๅŠ›ไธไปŽๅฟƒใ€‚\\nไธบ่งฃๅ†ณ่ฟ™ไธ€้—ฎ้ข˜๏ผŒไธš็•Œๅ‘ๅฑ•ๅ‡บไบ†ๅคš็งๅฎžๆ—ถ Web ้€šไฟกๆ–นๆกˆใ€‚ๆœฌๆ–‡ๅฐ†ๅ›ด็ป• ๆตๅผ HTTPใ€SSEใ€WebSocketใ€Webhooksใ€HTTP ่ฝฎ่ฏข ่ฟ™ไบ”็งไธปๆตๆŠ€ๆœฏ๏ผŒไปŽๅŽŸ็†ใ€็‰นๆ€งใ€้€‚็”จๅœบๆ™ฏๅ‡บๅ‘๏ผŒๆŽข่ฎจๅฎƒไปฌๅœจ็Žฐไปฃๅˆ†ๅธƒๅผๆžถๆž„ไธญ็š„้€‰ๅž‹็ญ–็•ฅไธŽๅทฅ็จ‹ๅฎž่ทตใ€‚\\n 2\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/01.Agentๆฆ‚่งˆไธŽ็ปผ่ฟฐ\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/01.Agentๆฆ‚่งˆไธŽ็ปผ่ฟฐ\",\"frontmatter\":{\"date\":\"2026-02-12 22:31:00\",\"title\":\"ไปŽๆ็คบ่ฏๅˆฐๆ•ฐๅญ—ๅ‘˜ๅทฅ๏ผšAI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšAI ็š„่ฟ›ๅŒ–ๆญฃ็ปๅކไปŽโ€œๅฏน่ฏๆก†โ€ๅ‘โ€œๆ•ฐๅญ—ๅ‘˜ๅทฅโ€็š„ๆ นๆœฌๆ€ง่ทจ่ถŠใ€‚ๆœฌๆ–‡ๆ˜ฏไธ€็ฏ‡ๅ…ณไบŽ AI Agent ็š„ๅ…จๆ™ฏๆทฑๅบฆ็ปผ่ฟฐ๏ผŒๆ—จๅœจ่งฃๆž„ๆ™บ่ƒฝไฝ“ๅฆ‚ไฝ•ไปŽ็ฎ€ๅ•็š„ Prompt ๅ“ๅบ”่€…๏ผŒๆผ”ๅ˜ไธบๅ…ทๅค‡่‡ชไธป็›ฎๆ ‡ๆ‹†่งฃใ€้•ฟ็ŸญๆœŸ่ฎฐๅฟ†ไธŽๅคๆ‚็Žฏๅขƒไบคไบ’่ƒฝๅŠ›็š„โ€œๆ‰ง่กŒ่€…โ€ใ€‚ๆˆ‘ไปฌๅฐ†ๆทฑๅบฆๆ‹†่งฃ Agent ็š„ๅ››ๅคงๆŠ€ๆœฏๅŸบ็Ÿณ๏ผˆ่ง„ๅˆ’ใ€่ฎฐๅฟ†ใ€ๅทฅๅ…ทใ€่กŒๅŠจ๏ผ‰๏ผŒๅนถ่ฏฆ็ป†ๅ‰–ๆžไปŽ้€š็”จๅž‹ Agent ๅˆฐๅคšๆ™บ่ƒฝไฝ“ๅไฝœ๏ผˆMAS๏ผ‰ใ€ๅ†ๅˆฐ่ฟˆๅ‘ Agent OS ๆ—ถไปฃ็š„ OpenClaw ็ญ‰ไบ”ๅคงๆผ”่ฟ›ๅฝขๆ€ใ€‚ไธไป…ๆŽข่ฎจไบ†ๆŠ€ๆœฏๆžถๆž„็š„ๅฎž็Žฐ๏ผŒๆ›ดๆญ็คบไบ†่ฝฏไปถๅทฅ็จ‹ไปŽโ€œไปฅไบบไธบไธญๅฟƒโ€ๅ‘โ€œไปฅ AI ไธบไธญๅฟƒโ€็š„่Œƒๅผ้ฉๅ‘ฝโ€”โ€”ๅœจ Agent ้ฉฑๅŠจ็š„ๆ–ฐ็บชๅ…ƒ๏ผŒๆ ธๅฟƒ็ซžไบ‰ๅŠ›ๅฐ†ไธๅ†ๆ˜ฏไปฃ็ ้‡๏ผŒ่€Œๆ˜ฏ่ฐƒๅบฆ AI ้—ญ็Žฏ่งฃๅ†ณไธšๅŠก้—ฎ้ข˜็š„่ƒฝๅŠ›ใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/llm_learning_bg_1.png\",\"permalink\":\"/ai-agent/overview\",\"top\":true,\"categories\":[\"ai-practice\"],\"tags\":[\"AI Agent\",\"Agent\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไปŽๆ็คบ่ฏๅˆฐๆ•ฐๅญ—ๅ‘˜ๅทฅ๏ผšAI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐ\",\"date\":\"2026-02-12 22:31:00\",\"capture\":\"1. ไป€ไนˆๆ˜ฏ Agent๏ผŸโ€”โ€”ไปŽโ€œๅทฅๅ…ทโ€ๅˆฐโ€œๅฎžไฝ“โ€็š„่ฟ›ๅŒ–\\n> ๆ ธๅฟƒ้€ป่พ‘๏ผš็Žฐไปฃ Agent ็š„ๆœฌ่ดจๆ˜ฏ \\\"LLM (ๅคง่„‘) + ่ง„ๅˆ’ไธŽ่ฎฐๅฟ† (ๅฐ่„‘) + ๅทฅๅ…ท่ฐƒ็”จ (ๆ‰‹่„š)\\\"ใ€‚LLM ็š„ๆตท้‡็Ÿฅ่ฏ†ๅ‚จๅค‡่ฎฉ Agent ่ƒฝๅคŸ็ฒพๅ‡†็†่งฃๅคๆ‚ๆŒ‡ไปค๏ผŒๅนถๅฐ†ๅ…ถ่ฝฌๅŒ–ไธบๅฎž้™…่กŒๅŠจใ€‚\\nๅœจ AI ้ข†ๅŸŸ๏ผŒAgent๏ผˆๆ™บ่ƒฝไฝ“๏ผ‰ ๅนถ้žไธ€ไธชๆ–ฐๆฆ‚ๅฟต๏ผŒไฝ† LLM๏ผˆๅคง่ฏญ่จ€ๆจกๅž‹๏ผ‰็š„็ˆ†ๅ‘่ต‹ไบˆไบ†ๅฎƒ็œŸๆญฃ็š„โ€œ็ต้ญ‚โ€ใ€‚็ฎ€ๅ•ๆฅ่ฏด๏ผŒAgent ๆ˜ฏไธ€็ง่ƒฝๅคŸๆ„Ÿ็Ÿฅ็Žฏๅขƒใ€่‡ชไธปๅ†ณ็ญ–ๅนถๆ‰ง่กŒไปปๅŠก็š„ๆ™บ่ƒฝๅฎžไฝ“ใ€‚\\nๅฆ‚ๆžœ่ฏดไผ ็ปŸ็š„ AI ๆ˜ฏไธ€ไธชโ€œ้—ฎ็ญ”ๆœบโ€๏ผŒ้‚ฃไนˆ Agent ๅฐฑๆ˜ฏไธ€ไธชโ€œๆ‰ง่กŒ่€…โ€ใ€‚ๅฎƒๅ…ทๅค‡ไปฅไธ‹ๅ››ๅคงๆ ธๅฟƒ็‰น่ดจ๏ผš\\n* ่‡ชไธปๆ€ง (Autonomy)๏ผš ๆ— ้กปๆ—ถๅˆป็›ฏ็€๏ผŒ่ฎพๅฎš\"},{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-02-10 23:33:19\",\"title\":\"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ๅฝ“ AI ๆ‰ฟๆŽฅไบ† 30% ็š„็ผ–็ ๆ‰ง่กŒๆ—ถ๏ผŒๅผ€ๅ‘่€…้œ€้€š่ฟ‡โ€œ่ง„ๆ ผ้ฉฑๅŠจ๏ผˆSDD๏ผ‰โ€้‡ๅคบ 70% ็š„่ฎพ่ฎกไธปๆƒ๏ผšไปŽ่‡ชๆฒป็ป„ไปถๅˆ’ๅˆ†ๅˆฐๅ•ๅ‘ๆ•ฐๆฎๆตๆ‹“ๆ‰‘็š„ๆทฑๅบฆๆŽจๆผ”ใ€‚\",\"description\":\"ๆœฌๆ–‡ๆŽข่ฎจๅœจ AI ๅขžๅผบๅผ€ๅ‘่ƒŒๆ™ฏไธ‹๏ผŒๅฆ‚ไฝ•้‡ๅก‘ React ็ป„ไปถ่ฎพ่ฎกๅŽŸๅˆ™ใ€‚ๆถต็›– SRP ่Œ่ดฃๅˆ’ๅˆ†ใ€้™ๆ€็‰ˆๆœฌๅŸบ็บฟใ€ๆœ€ๅฐ็Šถๆ€๏ผˆDerived Data๏ผ‰ๆŽจๅฏผไปฅๅŠ SDD ไบบๆœบๅไฝœๆจกๅผ็š„ๅทฅ็จ‹่ฝๅœฐใ€‚\",\"tags\":[\"tutorial\",\"react\",\"component-design\",\"state-management\",\"ai-augmented\",\"specification-driven\"],\"permalink\":\"/fullstack/react-design-philosophy-ai-augmented\",\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-02-10 23:33:19\",\"capture\":\"<script setup\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n 1. ๅผ•่จ€\\nๅœจ่ฝฏไปถๅทฅ็จ‹ไธญ๏ผŒ็บฆ 70% ็š„ๆ—ถ้—ดๅบ”ๆŠ•ๅ…ฅไบŽๆžถๆž„่ฎพ่ฎกใ€้œ€ๆฑ‚ๆ‹†่งฃไธŽๆŽฅๅฃ่ฏญไน‰ๆŽจๆ•ฒ๏ผŒไป… 30% ็”จไบŽๅฎž้™…็ผ–็ ใ€‚่ฟ›ๅ…ฅ AI ๅไฝœๆ—ถไปฃๅŽ๏ผŒ่ฟ™ไธ€ๆฏ”ไพ‹ไพ็„ถๅšๅฆ‚็ฃ็Ÿณโ€”โ€”ๅผ€ๅ‘่€…ๅฟ…้กปๅ…ˆๅฎŒๆˆๆทฑๅบฆๆ€่€ƒ๏ผŒๅฐ†โ€œๆธ…ๆ™ฐ็š„้—ฎ้ข˜่ง„ๆ ผ๏ผˆSpecification๏ผ‰โ€ไบค็ป™ AI๏ผŒAI ๆ‰่ƒฝ่พ“ๅ‡บ้ซ˜่ดจ้‡ไปฃ็ ใ€‚<HighLightText type=\\\"note\\\" bold>AI ๆๅ‡็š„ๆ˜ฏ 30% ็ผ–็ ้˜ถๆฎต็š„ๆ‰ง่กŒๅŠ›๏ผŒ่€Œ้žๅ–\"},{\"url\":\"/01.ๅ…จๆ ˆ/90.ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่/90.ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"relativePath\":\"/01.ๅ…จๆ ˆ/90.ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่/90.ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"frontmatter\":{\"date\":\"2026-02-06 15:58:53\",\"title\":\"ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡็ณป็ปŸๆขณ็†ไบ†็Žฐไปฃๅ…จๆ ˆๅผ€ๅ‘็š„ๅฎŒๆ•ดๆŠ€ๆœฏๅ›พ่ฐฑไธŽๆผ”่ฟ›่Œƒๅผ๏ผŒไธบๅผ€ๅ‘่€…ๆไพ›ไบ†ไธ€็ซ™ๅผ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—ใ€‚ๆ–‡็ซ ไปŽๅŸบ็Ÿณๅ‡บๅ‘๏ผŒ่ฆ†็›– Web ๆ ธๅฟƒ่ฏญ่จ€๏ผˆJS/TS๏ผ‰ ไธŽ ไธปๆต UI ๆก†ๆžถ๏ผˆReact/Vue/Svelte๏ผ‰๏ผŒๅนถๆŽจ่ไปฅ Tailwind CSS ๅ’Œ shadcn/ui ไธบไปฃ่กจ็š„็Žฐไปฃๆ ทๅผไธŽ็ป„ไปถๅŽŸ่ฏญใ€‚ๅœจๆ ธๅฟƒไธšๅŠก้€ป่พ‘ๅฑ‚๏ผŒๆทฑๅบฆๅฏนๆฏ”ไบ†่ฝป้‡ๅŒ–็Šถๆ€็ฎก็†ๆ–นๆกˆ๏ผˆ้ฆ–ๆŽจ Zustand/Jotai๏ผ‰๏ผŒๅนถ้‡็‚น่งฃๆžไบ†ๆ•ฐๆฎไบคไบ’็š„ไธ‰ๅคง็Žฐไปฃๆžถๆž„่Œƒๅผ๏ผšไปŽๅŸบ็ก€ Axios ๅˆฐ React Query ็Šถๆ€่ฐƒๅบฆ๏ผŒๅ†ๅˆฐ tRPC ๅ’Œ GraphQL ๅธฆๆฅ็š„ๅ…จๆ ˆ็ฑปๅž‹ๅฎ‰ๅ…จไธŽๅคš็ซฏ่šๅˆใ€‚ๅœจๅทฅ็จ‹ๅŒ–ไธŽๆœๅŠก็ซฏๆจกๅ—๏ผŒๆ–‡็ซ ๅ…จ้ขๆ‹ฅๆŠฑ Viteใ€Rsbuild ็ญ‰ๆž้€Ÿๆž„ๅปบๅทฅๅ…ท๏ผŒๅนถๅ‰–ๆžไบ† Next.js/Nuxt ๅŒๆž„ๅ…ƒๆก†ๆžถไธŽ NestJS ไผไธš็บง Node ๆœๅŠก็š„ๆœ€ไฝณ้€‚็”จๅœบๆ™ฏใ€‚ๆœ€ๅŽ๏ผŒ่พ…ไปฅ Vercel ็ญ‰็Žฐไปฃ่พน็ผ˜้ƒจ็ฝฒๅนณๅฐๅŠไธฐๅฏŒ็š„ๅผ€ๆบ็คพๅŒบๅญฆไน ่ต„ๆบใ€‚\",\"permalink\":\"/growth/full-stack-resources\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"date\":\"2026-02-06 15:58:53\",\"capture\":\"> - ๆ–‡็ซ ไปŽๅŸบ็Ÿณๅ‡บๅ‘๏ผŒ่ฆ†็›– Web ๆ ธๅฟƒ่ฏญ่จ€๏ผˆJS/TS๏ผ‰ ไธŽ ไธปๆต UI ๆก†ๆžถ๏ผˆReact/Vue/Svelte๏ผ‰๏ผŒๅนถๆŽจ่ไปฅ Tailwind CSS ๅ’Œ shadcn/ui ไธบไปฃ่กจ็š„็Žฐไปฃๆ ทๅผไธŽ็ป„ไปถๅŽŸ่ฏญใ€‚\\n> - ๅœจๆ ธๅฟƒไธšๅŠก้€ป่พ‘ๅฑ‚๏ผŒๆทฑๅบฆๅฏนๆฏ”ไบ†่ฝป้‡ๅŒ–็Šถๆ€็ฎก็†ๆ–นๆกˆ๏ผˆ้ฆ–ๆŽจ Zustand/Jotai๏ผ‰๏ผŒๅนถ้‡็‚น่งฃๆžไบ†ๆ•ฐๆฎไบคไบ’็š„ไธ‰ๅคง็Žฐไปฃๆžถๆž„่Œƒๅผ๏ผšไปŽๅŸบ็ก€ Axios ๅˆฐ React Query ็Šถๆ€่ฐƒๅบฆ๏ผŒๅ†ๅˆฐ tRPC ๅ’Œ GraphQL ๅธฆๆฅ็š„ๅ…จๆ ˆ็ฑปๅž‹ๅฎ‰ๅ…จไธŽๅคš็ซฏ่šๅˆใ€‚\\n> - ๅœจๅทฅ็จ‹ๅŒ–ไธŽๆœๅŠก็ซฏๆจกๅ—๏ผŒๆ–‡็ซ ๅ…จ้ขๆ‹ฅๆŠฑ Viteใ€Rsbuild ็ญ‰ๆž้€Ÿๆž„ๅปบๅทฅๅ…ท๏ผŒๅนถๅ‰–ๆžไบ† Next.js/N\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/11. LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/11. LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-01-06 15:58:53\",\"title\":\"LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆˆช่‡ณ 2026 ๅนด๏ผŒLLM API ๆœๅŠกๅทฒๅฝขๆˆ\\\"ๅฎ˜ๆ–น็›ด่ฟž + ็ฌฌไธ‰ๆ–น่šๅˆ\\\"็š„ๅŒ่ฝจๆ ผๅฑ€๏ผŒๆจกๅž‹่ƒฝๅŠ›ใ€ๅฎšไปทใ€ๅˆ่ง„ๆ€งไธŽๆŽฅๅ…ฅไพฟๅˆฉๆ€งๅทฎๅผ‚ๆ˜พ่‘—ใ€‚ๆœฌๆ–‡ไปŽ้€‰ๅž‹ๅ‰ๆ้—ฎๅ‡บๅ‘๏ผŒ็ณป็ปŸๆขณ็†ๅ›ฝ้™…ไธŽๅ›ฝๅ†…ไธปๆตๅฎ˜ๆ–น API ๅนณๅฐ๏ผŒไปฅๅŠ OpenRouterใ€็ก…ๅŸบๆตๅŠจ็ญ‰็ฌฌไธ‰ๆ–น่šๅˆๅนณๅฐ็š„ๆ ธๅฟƒ็‰น็‚น๏ผŒๅนถๆไพ›ๅŸบไบŽๅœบๆ™ฏ็š„ๅ†ณ็ญ–ๆก†ๆžถ๏ผŒๅธฎๅŠฉๅผ€ๅ‘่€…ๅ’Œไบงๅ“ๅ›ข้˜Ÿๅฟซ้€Ÿ้”ๅฎšๆœ€้€‚ๅˆ่‡ชๅทฑ็š„ๆ–นๆกˆใ€‚\",\"permalink\":\"/ai-learning/llm-api-resources\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"LLM API\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"date\":\"2026-01-06 15:58:53\",\"capture\":\"1. ้€‰ๆจกๅž‹ๅ‰๏ผŒๅ…ˆๆƒณๆธ…ๆฅš่ฟ™ๅ‡ ไปถไบ‹\\nๅœจๅฏนๆฏ”ๅ…ทไฝ“ๅนณๅฐไน‹ๅ‰๏ผŒๅฏไปŽไปฅไธ‹ๅ››ไธช็ปดๅบฆๆขณ็†่‡ช่บซ่ฏ‰ๆฑ‚๏ผŒ้ฟๅ…\\\"็œผ่Šฑ็ผญไนฑๅŽ้šไพฟ้€‰ไธ€ไธช\\\"๏ผš\\n| ็ปดๅบฆ | ๅ…ณ้”ฎ้—ฎ้ข˜ | ๅฝฑๅ“ๅ†ณ็ญ– |\\n|:-----|:--------|:--------|\\n| ไปปๅŠก็ฑปๅž‹ | ๆ˜ฏ้€š็”จๅฏน่ฏใ€ไปฃ็ ็”Ÿๆˆใ€้•ฟๆ–‡ๆกฃๅˆ†ๆž๏ผŒ่ฟ˜ๆ˜ฏๅคšๆจกๆ€็†่งฃ๏ผŸ | ไธๅŒๆจกๅž‹ๅœจๅž‚็›ด่ƒฝๅŠ›ไธŠๅทฎ่ทๆ‚ฌๆฎŠ |\\n| ๆˆๆœฌ้ข„็ฎ— | ๆฏๆœˆ่ฐƒ็”จ้‡็บง๏ผŸ่ƒฝๅฆๆŽฅๅ—ๆตทๅค–็ป“็ฎ—ไธŽๆฑ‡็އ้ฃŽ้™ฉ๏ผŸ | ๅ›ฝไบงๆจกๅž‹ Token ไปทๆ ผ้€šๅธธไฝŽ 3๏ฝž10 ๅ€ |\\n| ๅˆ่ง„ไธŽ้ƒจ็ฝฒ | ๆ•ฐๆฎ่ƒฝๅฆๅ‡บๅขƒ๏ผŸ่ƒฝๅฆไฝฟ็”จๆตทๅค–ๆœๅŠก๏ผŸๆ˜ฏๅฆ้œ€่ฆ็งๆœ‰ๅŒ–้ƒจ็ฝฒ๏ผŸ | ๆถ‰ๅŠๆ”ฟๅŠก/้‡‘่ž/ๅŒป็–—ๅœบๆ™ฏๅฟ…้กป่€ƒ่™‘ |\\n| ็ฝ‘็ปœ็Žฏๅขƒ | ๅผ€ๅ‘/้ƒจ็ฝฒ็Žฏๅขƒ่ƒฝๅฆ็จณๅฎš่ฎฟ\"},{\"url\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/10.่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"relativePath\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/10.่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"frontmatter\":{\"date\":\"2025-12-06 22:05:50\",\"title\":\"่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"description\":\"่ฝฏไปถๅทฅ็จ‹ๆญฃ็ปๅކไปŽโ€œๆ‰‹ๅ†™้€ป่พ‘โ€ๅ‘โ€œๆ„ๅ›พ่ฐƒๅบฆโ€็š„่Œƒๅผ่ฟๅพ™ใ€‚Anthropic ็š„็ ”็ฉถๆญ็คบไบ† AI ๅนถ้ž็ฎ€ๅ•็š„ๆๆ•ˆๅทฅๅ…ท๏ผŒ่€Œๆ˜ฏ้€š่ฟ‡้‡Šๆ”พ 27% ๆ›พ็ปโ€œไธๅˆ’็ฎ—โ€็š„ๅทฅ็จ‹ไปปๅŠก๏ผŒ้‡ๅก‘ไบ†่ฝฏไปถ่ดจ้‡็š„ๅฏ†ๅบฆใ€‚ๅœจ่‡ช็„ถ่ฏญ่จ€ๅณ็ผ–็จ‹่ฏญ่จ€็š„ๆ—ถไปฃ๏ผŒๆˆ‘ไปฌ้œ€่ฆ้€š่ฟ‡่ง„ๆ ผ้ฉฑๅŠจ๏ผˆSDD๏ผ‰ไธŽๅคšๆ™บ่ƒฝไฝ“็ผ–ๆŽ’๏ผŒ็ ด่งฃโ€œ็›‘็ฃๆ‚–่ฎบโ€ๅธฆๆฅ็š„ๆŠ€่ƒฝๅนณๅบธๅŒ–ๅฑๆœบ๏ผŒๅฐ† AI ็š„ๆฆ‚็އๆ€ง็”Ÿๆˆ้ฉฏๅŒ–ไธบ็กฎๅฎšๆ€ง็š„ๅทฅ็จ‹ไบคไป˜ใ€‚ๅฝ“็ผ–็ ๆˆๆœฌ่ถ‹ไบŽ้›ถ๏ผŒๅทฅ็จ‹ๅธˆ็š„็ปˆๆžๅฃๅž’ๅฐ†ๆ˜ฏๅฎšไน‰ๅฎŒ็พŽ็š„ๅ“ๅ‘ณ๏ผŒไปฅๅŠๅœจ AI ่ฟท้›พไธญ่ฏ†็ ดๅนณๅบธ็š„ๆดžๅฏŸๅŠ›ใ€‚\",\"permalink\":\"/fullstack/ai-change-work-workflow/\",\"top\":true,\"tags\":[\"ๅ…จๆ ˆ\",\"AI\"],\"categories\":[\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"date\":\"2025-12-06 22:05:50\",\"capture\":\"<script setup>\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\nๅœฐๅ€๏ผšHow AI is transforming work at Anthropic\\nๆ ธๅฟƒๆ ‡็ญพ๏ผš`AI่พ…ๅŠฉ็ผ–็จ‹` `ๅทฅ็จ‹` `่Œƒๅผ่ฝฌ็งป` `ๅทฅไฝœ่ฝฌๅž‹` `็”ŸไบงๅŠ›ๆๅ‡` `ๆŠ€่ƒฝๅ‘ๅฑ•` `ไบบๆœบๅไฝœ` \\nไธ€ๅฅ่ฏไป‹็ป๏ผšAnthropic ไธไป…ไป…ๆ˜ฏ AI ๅทฅๅ…ท็š„็”Ÿไบง่€…๏ผŒๆ›ดๆ˜ฏ็ฌฌไธ€ไธช่ฟ›ๅ…ฅโ€œๆœชๆฅๅฎž้ชŒๅฎคโ€็š„ๆทฑๅบฆ่ง‚ๅฏŸ่€…ใ€‚ไป–ไปฌ้€š่ฟ‡ๅ†…้ƒจๆ•ฐๆœˆ็š„ๅฎž้ชŒๆ•ฐๆฎๅ‘Š่ฏ‰ๆˆ‘ไปฌ๏ผšๅคงๆจกๅž‹ๅฏน่ฝฏไปถๅทฅ็จ‹็š„ๆ”น้€ ๏ผŒ็ป้ž็ฎ€ๅ•็š„โ€œๆๆ•ˆโ€๏ผŒ่€Œๆ˜ฏไธ€\"},{\"url\":\"/01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ\",\"frontmatter\":{\"date\":\"2025-11-25 00:52:28\",\"title\":\"AI ็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡ๆทฑๅบฆ่งฃๆžไบ† AI ้ฉฑๅŠจ็ผ–็จ‹็š„ไธ‰ๅคงๆผ”่ฟ›่Œƒๅผ๏ผšVibe Coding๏ผˆ่‡ช็„ถ่ฏญ่จ€้›ถ้—จๆง›ๆž„ๅปบ๏ผ‰ใ€AI IDE๏ผˆ็ผ–่พ‘ๅ™จๆทฑๅบฆ่พ…ๅŠฉๆๆ•ˆ๏ผ‰ๅŠ Agentic Engineering๏ผˆ่‡ชไธปๅทฅ็จ‹ๅธˆๆ‰ง่กŒไปปๅŠก๏ผ‰ใ€‚้€š่ฟ‡ๆจชๅ‘ๅฏนๆฏ” Bolt.newใ€Cursorใ€Claude Code ็ญ‰ๅ‰ๆฒฟๅทฅๅ…ท๏ผŒๆ–‡็ซ ๅ‹พๅ‹’ๅ‡บไธ€ๆกไปŽโ€œๅฟซ้€ŸๅŽŸๅž‹โ€ๅˆฐโ€œ้ซ˜ๆ•ˆๅๅŒโ€ๅ†ๅˆฐโ€œ่‡ชไธปไบคไป˜โ€็š„่ฟ›้˜ถ่ทฏๅพ„ใ€‚ๆ ธๅฟƒๆ—จๅœจๆŒ‡ๅฏผ็”จๆˆทๅˆฉ็”จ AI ๅทฅๅ…ท็Ÿฉ้˜ตๆ‰“็ ดๆŠ€ๆœฏ่พน็•Œ๏ผŒๅฎž็ŽฐไปŽๅˆ›ๆ„ๆ่ฟฐๅˆฐๅทฅไธš็บงไบคไป˜็š„็”ŸไบงๅŠ›้ฃž่ทƒ๏ผŒ้‡ๅก‘่ฝฏไปถๅผ€ๅ‘ๅ…จ็”Ÿๅ‘ฝๅ‘จๆœŸใ€‚\",\"permalink\":\"/ai-learning/ai-coding-resources\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/source_sites_bg.png\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"AI Coding\",\"Vibe Coding\",\"Agentic Engineering\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"AI ็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่\",\"date\":\"2025-11-25 00:52:28\",\"capture\":\"1. ไธ‰็ง็ผ–็จ‹่Œƒๅผ้€Ÿ่งˆ\\n| ่Œƒๅผ | ไธ€ๅฅ่ฏๆ่ฟฐ | ไฝ ็š„่ง’่‰ฒ |\\n|:-----|:---------|:--------|\\n| Vibe Coding | ็”จ่‡ช็„ถ่ฏญ่จ€ๆ่ฟฐ้œ€ๆฑ‚๏ผŒAI ็›ดๆŽฅ็”Ÿๆˆๅฏ่ฟ่กŒ็š„ๅฎŒๆ•ด้กน็›ฎ | ๆ่ฟฐ้œ€ๆฑ‚๏ผŒ่ฎฉ AI ๅ†™ไปฃ็ (```ๆ–ฐๆ‰‹ๅ‹ๅฅฝ```) |\\n| AI IDE | ๅœจ็ผ–่พ‘ๅ™จ้‡Œๅผ•ๅ…ฅ AI ่พ…ๅŠฉ๏ผŒ่พนๅ†™่พน่กฅๅ…จใ€่พน้—ฎ่พนๆ”น | ไธปๅฏผๅผ€ๅ‘๏ผŒ่ฎฉ AI ๅšๅ‰ฏ้ฉพ้ฉถ(```ๆ›ดๅคšๆŽงๅˆถ```) |\\n| Agentic Engineering | AI ไฝœไธบ\\\"่‡ชไธปๅทฅ็จ‹ๅธˆ\\\"๏ผŒๆŽฅๆ”ถไปปๅŠกๅŽ่‡ชๅŠจ่ง„ๅˆ’ๅนถๆ‰ง่กŒๅ…จๅฅ—ไปฃ็ ๅทฅไฝœๆต | ๆไปปๅŠกใ€ๅฎก็ป“ๆžœ๏ผŒ่ฎฉ AI ๆ‰ง่กŒ(```ๆž่‡ดๆๆ•ˆ```) |\\nๆ–ฐๆ‰‹่ทฏ็บฟๅปบ่ฎฎ๏ผšๅ…ˆ\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"frontmatter\":{\"date\":\"2025-11-25 00:52:28\",\"title\":\"ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไธบไพฟไบŽ้ซ˜ๆ•ˆๅˆฉ็”จ AI ๅทฅๅ…ทๆๅ‡ๅญฆไน ใ€ๆœ็ดขๅ’Œๅˆ›ไฝœๆ•ˆ็އ๏ผŒๆœฌๆ–‡็ณป็ปŸๆ•ด็†ไบ†ไธปๆต็š„ AI ๅŠฉๆ‰‹ไธŽๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐ็›ธๅ…ณ่ต„ๆบใ€‚ๅ†…ๅฎนๅˆ†ไธบโ€œAI ๅŠฉๆ‰‹โ€๏ผˆๅฆ‚ ChatGPTใ€Claudeใ€Gemini ็ญ‰ๅฏน่ฏๅผๅŠฉๆ‰‹๏ผ‰ๅ’Œโ€œๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐโ€๏ผˆๅฆ‚ๅ†™ไฝœใ€็ป˜็”ป็ญ‰้ข†ๅŸŸ็š„ AI ๅทฅๅ…ทไธŽๅนณๅฐ๏ผ‰๏ผŒไธ”ๆ ‡ๆณจไบ†ๅ…ถๆ ธๅฟƒ่ƒฝๅŠ›ใ€้€‚ๅˆๅœบๆ™ฏ๏ผŒไปฅๅŠ็‰น่‰ฒไผ˜ๅŠฟใ€‚\",\"permalink\":\"/ai-learning/tools-assistant\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/source_sites_bg.png\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"AI ๅŠฉๆ‰‹\",\"AI ๆœ็ดข\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"date\":\"2025-11-25 00:52:28\",\"capture\":\"1. AI ๅŠฉๆ‰‹\\n> ้€‰ๆ‹ฉๅปบ่ฎฎ๏ผš ่‹ฑๆ–‡ไธบไธป โ†’ ไผ˜ๅ…ˆ ChatGPT / Claude / Gemini๏ผ›ไธญๆ–‡ไธบไธป โ†’ ไผ˜ๅ…ˆ Kimi / DeepSeek / ้€šไน‰ๅƒ้—ฎ๏ผ›้œ€่ฆ่”็ฝ‘ๅฎžๆ—ถไฟกๆฏ โ†’ Gemini / Grok๏ผ›้œ€่ฆๅˆ†ๆž้•ฟๆ–‡ๆกฃ โ†’ Claude / Kimi๏ผ›่ฟฝๆฑ‚ไฝŽๆˆๆœฌๅผ€ๆบ้ƒจ็ฝฒ โ†’ DeepSeekใ€‚\\n>\\n> ๆณจ๏ผš็›ฎๅ‰ๅ›ฝๅค–ๆจกๅž‹๏ผˆๅฆ‚ ChatGPTใ€Claudeใ€Gemini ็ญ‰๏ผ‰ๅœจ่‹ฑๆ–‡ๅค„็†ใ€ๅคšๆจกๆ€่ƒฝๅŠ›ใ€ๆ’ไปถ็”Ÿๆ€ๅ’Œ API ไธฐๅฏŒๆ€ง็ญ‰ๆ–น้ข๏ผŒๆ•ดไฝ“ไธŠไพ็„ถไผ˜ไบŽๅ›ฝๅ†…ๆจกๅž‹๏ผŒ้€‚ๅˆๅฏน่‹ฑๆ–‡ๅˆ›ไฝœใ€ๅคš่ฏญ่จ€ๆฒŸ้€šใ€ๅคๆ‚ๆŽจ็†ใ€ไปฃ็ ๅŠฉๆ‰‹็ญ‰ๅœบๆ™ฏๆœ‰ๆ›ด้ซ˜่ฆๆฑ‚็š„็”จๆˆทใ€‚ไธ่ฟ‡๏ผŒๅ›ฝๅ†…ๆจกๅž‹ๅœจไธญๆ–‡็†่งฃใ€ๆœฌๅœฐๅŒ–ใ€ๅˆ่ง„\"},{\"url\":\"/10.ไบงๅ“ Sense/04.ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–/30.ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹่ฏปๅŽๆ„Ÿ\",\"relativePath\":\"/10.ไบงๅ“ Sense/04.ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–/30.ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹่ฏปๅŽๆ„Ÿ\",\"frontmatter\":{\"date\":\"2025-11-24 21:50:00\",\"title\":\"ๆ”พๅผƒๅขž้•ฟๆ‰งๅฟต๏ผŒไธบไป€ไนˆโ€œๅฐ่€Œ็พŽโ€ๆ‰ๆ˜ฏๅฏๆŒ็ปญไน‹่ทฏ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒ็ง‘ๆŠ€ไบ’่”็ฝ‘่กŒไธš็š„ๅ™ไบ‹้ƒฝ่ขซโ€œไธๆƒœไธ€ๅˆ‡ไปฃไปทๅฎž็Žฐ่ถ…็บฟๆ€งๅขž้•ฟโ€ๆ‰€ไธปๅฏผใ€‚ไปฟไฝ›ๅชๆœ‰ๆ‹ฟๅˆฐๅทจ้ข่ž่ต„ใ€็–ฏ็‹‚ๆ‹›ไบบใ€ๆˆไธบไผฐๅ€ผ็ ด็™พไบฟ็š„ๅบž็„ถๅคง็‰ฉ๏ผŒๆ‰็ฎ—ๅพ—ไธŠๆ˜ฏๆˆๅŠŸ็š„ๅˆ›ไธšใ€‚็„ถ่€Œ๏ผŒ่ฏปๅฎŒ่จๅธŒๅฐ”ยทๆ‹‰ๆ–‡ๅ‰ไบš็š„ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹ๅŽ๏ผŒ็ฌ”่€…่Žทๅพ—ไบ†ไธ€็งๆˆช็„ถไธๅŒ็š„ๅ•†ไธš่ง†่ง’๏ผšไผไธšๅญ˜ๅœจ็š„้ฆ–่ฆ็›ฎ็š„ไธๆ˜ฏไธบไบ†่ž่ต„ๅ’Œๆ‰ฉๅผ ๏ผŒ่€Œๆ˜ฏไธบไบ†้€š่ฟ‡่งฃๅ†ณ้—ฎ้ข˜ๆฅ่Žทๅพ—ๆŒ็ปญ็š„็›ˆๅˆฉใ€‚ ๆœฌๆ–‡็ป“ๅˆไนฆไธญ็š„ๆ ธๅฟƒ่ฎบ็‚นไธŽ่‡ช่บซ็š„็ ”ๅ‘่ง†่ง’๏ผŒๆŠŠๅฐ†่ฟ™ๆœฌไนฆ่ƒŒๅŽ็š„็ป่ฅ้€ป่พ‘ไธŽไบงๅ“ๅ“ฒๅญฆๆขณ็†ไธบๅ‡ ไธชๆ ธๅฟƒๅฑ‚้ข็š„ๆ€่€ƒใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense/small-rule-learn\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"ไบงๅ“ Sense\",\"ๅ•†ไธšๅŒ–\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆ”พๅผƒๅขž้•ฟๆ‰งๅฟต๏ผŒไธบไป€ไนˆโ€œๅฐ่€Œ็พŽโ€ๆ‰ๆ˜ฏๅฏๆŒ็ปญไน‹่ทฏ\",\"date\":\"2025-11-24 21:50:00\",\"capture\":\"ไนฆๅ๏ผšใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹\\nไฝœ่€…๏ผš[็พŽ] ่จๅธŒๅฐ”ยทๆ‹‰ๆ–‡ๅ‰ไบš\\nๆ ธๅฟƒๆ ‡็ญพ๏ผšๆž็ฎ€ๅˆ›ไธš๏ฝœ็คพๅŒบๆœฌไฝ๏ฝœๆŒ็ปญ็›ˆๅˆฉ๏ฝœๅˆ›ไฝœ่€…็ปๆตŽ\\nไธ€ๅฅ่ฏ็ฎ€่ฏ„๏ผšๅœจ็›ฒ็›ฎๅด‡ๆ‹œ่ง„ๆจกๆ‰ฉๅผ ็š„ๅ•†ไธš่ฏญๅขƒไธ‹๏ผŒ่ฟ™ๆ˜ฏไธ€ไปฝๅ†™็ป™็‹ฌ็ซ‹ๅˆ›ไฝœ่€…ไธŽๅผ€ๅ‘่€…็š„ๆธ…้†’ๆŒ‡ๅ—๏ผŒๆ•™ไผšๆˆ‘ไปฌๅฆ‚ไฝ•็”จๆœ€ๅฐ‘็š„่ต„ๆบ๏ผŒ่งฃๅ†ณ็œŸๅฎž็š„็—›็‚น๏ผŒๅนถ่Žทๅพ—้•ฟไน…็š„่‡ช็”ฑใ€‚\\nๆ›ดๅคšไนฆ็ฑๆŽจ่ไฟกๆฏๅฏๅ‚่€ƒ๏ผšไบงๅ“ Sense ไธŽๅ•†ไธšๅŒ–\\n 1. ็คพๅŒบๅ…ˆ่กŒ๏ผšไปŽโ€œๆˆ‘ๆ˜ฏ่ฐโ€ๅˆฐโ€œๆˆ‘่ƒฝไธบ่ฐ่งฃๅ†ณ้—ฎ้ข˜โ€\\nไผ ็ปŸๅ•†ไธš้€ป่พ‘ๅพ€ๅพ€ๆ˜ฏๅ…ˆๆž„ๆ€ไธ€ไธชๅฎๅคง็š„็‚นๅญ๏ผŒ้—ญ้—จ้€ ่ฝฆๆ‰“็ฃจไบงๅ“๏ผŒๆœ€ๅŽๅ†็ ธ้’ฑๅŽปๅธ‚ๅœบไธŠๅฏปๆ‰พ็›ฎๆ ‡็”จๆˆทใ€‚่€Œๆœฌไนฆๆๅ‡บไบ†ไธ€ไธช้ข ่ฆ†ๆ€ง็š„ๅๅ‘่ทฏๅพ„๏ผš็คพๅŒบ $\\\\rightarrow$ ้—ฎ้ข˜ $\\\\rightarrow$ ๆต็จ‹ $\\\\rightarrow$\"},{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/11.React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/11.React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"frontmatter\":{\"date\":\"2025-11-15 09:20:23\",\"title\":\"ไธๆญขไบŽ Fetch๏ผšReact ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"aliases\":[\"SWR\",\"TanStack Query\",\"React\",\"ๆœๅŠก็ซฏ็Šถๆ€\",\"ไน่ง‚ๆ›ดๆ–ฐ\",\"ๅทฅ็จ‹ๅŒ–\"],\"tldr\":\"ๆทฑๅ…ฅ่งฃๆž SWR ็š„ๆž็ฎ€ๅ่ฎฎไธŽ TanStack Query ็š„็ฒพๅฏ†็Šถๆ€ๆœบใ€‚้€š่ฟ‡ๅฏนๆฏ”็ผ“ๅญ˜ๅคฑๆ•ˆใ€ไน่ง‚ๆ›ดๆ–ฐ็ญ‰ๆ ธๅฟƒๅœบๆ™ฏ๏ผŒไธบ้ซ˜ๅคๆ‚ๅบฆ B ็ซฏๅบ”็”จไธŽ่ฝป้‡็บง้กน็›ฎๆไพ›ๆธ…ๆ™ฐ็š„ๆžถๆž„้€‰ๅž‹ๆจกๅž‹ใ€‚\",\"description\":\"ๆทฑๅบฆๅฏนๆฏ” React ็”Ÿๆ€ไธญ SWR ไธŽ TanStack Query ไธคๅคงๆ–นๆกˆใ€‚ไปŽ stale-while-revalidate ๆœบๅˆถๅˆฐๅผ‚ๆญฅ็Šถๆ€ๆœบๆžถๆž„๏ผŒๆถต็›–ไพ่ต–ๆŸฅ่ฏขใ€ๆ•ฐๆฎ่ฝฌๆขๅŠๆžถๆž„็บงไน่ง‚ๆ›ดๆ–ฐๅฎžๆˆ˜ใ€‚ๆ—จๅœจๅธฎๅŠฉๅผ€ๅ‘่€…ๅœจๅคๆ‚ไธšๅŠกไธญๆž„ๅปบ็กฎๅฎšๆ€ง็š„ๆœๅŠก็ซฏ็Šถๆ€ๅŸบๅบงใ€‚\",\"permalink\":\"/fullstack/server-state-management\",\"tags\":[\"SWR\",\"TanStack Query\",\"ๅ‰็ซฏๅทฅ็จ‹\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไธๆญขไบŽ Fetch๏ผšReact ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"date\":\"2025-11-15 09:20:23\",\"capture\":\"1. ๅผ•่จ€\\nๅœจ็Žฐไปฃๅ‰็ซฏๅทฅ็จ‹ไธญ๏ผŒ็Šถๆ€ๅฏไธฅๆ ผๅŒบๅˆ†ไธบ UI ็Šถๆ€๏ผˆUI State๏ผ‰ ไธŽ ๆœๅŠก็ซฏ็Šถๆ€๏ผˆServer State๏ผ‰ ไธค็ฑปใ€‚ๅฏนไบŽ UI ็Šถๆ€็š„็ฎก็†๏ผŒๅผ€ๅ‘่€…ๅทฒ่พƒไธบ็†Ÿๆ‚‰๏ผŒ้€šๅธธๅฏๅ€ŸๅŠฉ `useState`ใ€`useEffect` ็ญ‰ Hooks๏ผŒๆˆ– `zustand`ใ€`jotai` ็ญ‰็Šถๆ€็ฎก็†ๅบ“ๆฅๅฎž็Žฐใ€‚็„ถ่€Œ๏ผŒๆœๅŠก็ซฏ็Šถๆ€็š„็ฎก็†ๅพ€ๅพ€็ผบไน็ปŸไธ€ไธ”้ซ˜ๆ•ˆ็š„่งฃๅ†ณๆ–นๆกˆ๏ผŒๅผ€ๅ‘่€…้€šๅธธ้œ€่ฆ่‡ช่กŒๅฎž็Žฐใ€‚\\nๅœจไผ ็ปŸ็š„ๆ•ฐๆฎ่Žทๅ–ๆต็จ‹ไธญ๏ผŒๆˆ‘ไปฌไธ€่ˆฌไฝฟ็”จ `fetch` ๆˆ– `axios` ๅ‘ๅŽ็ซฏๆˆ– REST API ๅ‘้€ HTTP ่ฏทๆฑ‚๏ผŒ้šๅŽๆ‰‹ๅŠจๅฐ†ๆ•ฐๆฎ่Žทๅ–้€ป่พ‘ไธŽๅ‰็ซฏไธšๅŠก้€ป่พ‘ๅŠ UI ็Šถๆ€็ฎก็†่ฟ›่กŒๆ•ดๅˆ๏ผŒไปฅๅฎŒๆˆๆ•ฐๆฎๅค„็†ๅนถ้ฉฑๅŠจ็•Œ้ขๆ›ดๆ–ฐ\"},{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2025-11-14 22:33:39\",\"title\":\"JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"aliases\":[\"้™ๆ€็ซ™็‚น็”Ÿๆˆๅ™จ\",\"SSG\"],\"tldr\":\"้ข„ๆธฒๆŸ“้™ๆ€้กต้ข + ๅŠจๆ€ API๏ผŒCDN ๅˆ†ๅ‘ๅ…จ็ƒ๏ผŒๆ›ฟไปฃไผ ็ปŸๅŠจๆ€็ฝ‘็ซ™็š„ๅผ€ๅ‘้ƒจ็ฝฒ่Œƒๅผ\",\"description\":\"ไปŽๆ ธๅฟƒๆฆ‚ๅฟตใ€ๅทฅๅ…ท้“พ้€‰ๅž‹๏ผˆNext.js/Vercel/Supabase/Contentful๏ผ‰ๅˆฐไปŽ 0 ๆญๅปบๅšๅฎข็š„ๅฎŒๆ•ดๅฎž่ทต๏ผŒ่ฆ†็›– JAMStack ้€‚็”จไธŽไธ้€‚็”จๅœบๆ™ฏ๏ผŒๅธฎๅŠฉๅˆคๆ–ญไฝ•ๆ—ถ้€‰็”จ่ฏฅๆžถๆž„ใ€‚\",\"permalink\":\"/fullstack/jamstack\",\"tags\":[\"tutorial\",\"jamstack\",\"frontend-architecture\",\"next.js\",\"static-site-generator\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2025-11-14 22:33:39\",\"capture\":\"> \\n> ๅ…ถๆ ธๅฟƒๆœบๅˆถๆ˜ฏๅœจๆž„ๅปบๆ—ถๅฐ†้กต้ข้ข„ๆธฒๆŸ“ไธบ้™ๆ€ HTML/CSS/JS๏ผŒ้ƒจ็ฝฒ่‡ณ CDN ไพ›็”จๆˆทๅฐฑ่ฟ‘ๅŠ ่ฝฝ๏ผŒไป…ๅœจ้œ€่ฆๅŠจๆ€ๆ•ฐๆฎๆ—ถ้€š่ฟ‡ JavaScript ่ฐƒ็”จ API ่Žทๅ–ใ€‚็›ธ่พƒไบŽไผ ็ปŸๅŠจๆ€็ฝ‘็ซ™๏ผŒJAMStack ๅœจๆ€ง่ƒฝใ€ๅฏ้ ๆ€งใ€ๆ‰ฉๅฑ•ๆ€งใ€ๅฎ‰ๅ…จๆ€งๅŠ่ฟ็ปดๆˆๆœฌไธŠๅ…ทๆœ‰ๆ˜พ่‘—ไผ˜ๅŠฟใ€‚\\n> \\n> ๆœฌๆ–‡ๆขณ็†ไบ†ไธปๆตๆž„ๅปบๅทฅๅ…ท๏ผˆGatsbyใ€Next.jsใ€Nuxt.jsใ€11ty๏ผ‰ใ€้™ๆ€ๆ‰˜็ฎกๅนณๅฐ๏ผˆVercelใ€Netlifyใ€Cloudflare Pages๏ผ‰ใ€API/BaaS ๆœๅŠก๏ผˆSupabaseใ€Firebaseใ€Auth0๏ผ‰ๅŠๆ— ๅคด CMS๏ผˆContentfulใ€Sanityใ€Strapi\"},{\"url\":\"/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/40.ๆดžๅฏŸๅŠ›ๆจกๅž‹\",\"relativePath\":\"/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/40.ๆดžๅฏŸๅŠ›ๆจกๅž‹\",\"frontmatter\":{\"date\":\"2025-11-14 16:00:00\",\"title\":\"ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผšๅฆ‚ไฝ•็œ‹้€ไบงๅ“ไธŽๆŠ€ๆœฏ่ƒŒๅŽ็š„็ณป็ปŸ้€ป่พ‘๏ผŸ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆ— ่ฎบๆ˜ฏๅšไบงๅ“ใ€ๆžๆŠ€ๆœฏ๏ผŒ่ฟ˜ๆ˜ฏๅบ”ๅฏนๆ—ฅๅธธๅทฅไฝœไธญ็š„ๅ„็งๆŒ‘ๆˆ˜๏ผŒไฝ ๆ˜ฏๅฆ้‡ๅˆฐ่ฟ‡่ฟ™ๆ ท็š„ๅ›ฐๅขƒ๏ผšๆ˜Žๆ˜ŽๆŒ‰็ป้ชŒ่กŒไบ‹๏ผŒๅดๅฑกๅฑก่ธฉๅ‘๏ผ›ๅˆš่งฃๅ†ณ่กจ้ข้—ฎ้ข˜๏ผŒ้šๆ‚ฃๅˆๅทๅœŸ้‡ๆฅใ€‚้—ฎ้ข˜ๆœชๅฟ…ๅ‡บๅœจๅŠชๅŠ›็จ‹ๅบฆ๏ผŒ่€ŒๅœจไบŽๆˆ‘ไปฌๅช็›ฏ็€่กจ่ฑก๏ผŒๅดๅฟฝ็•ฅไบ†่ƒŒๅŽ็œŸๆญฃ่ตทไฝœ็”จ็š„็ณป็ปŸ๏ผŒๆฒกๆœ‰็œ‹ๆ‡‚่—ๅœจ่ƒŒๅŽ็š„็ณป็ปŸใ€‚ไธบไป€ไนˆๅŒๆ ทๆ˜ฏ่งฃๅ†ณ้—ฎ้ข˜๏ผŒๆœ‰ไบบๅช่ƒฝโ€œๅคด็—›ๅŒปๅคดโ€๏ผŒๆœ‰ไบบๅด่ƒฝ็›ดๅ‡ปๆœฌ่ดจ๏ผŸ่ฟ™็ฏ‡ๆ–‡็ซ ๅฐ†็”จ้€šไฟ—ๆ˜“ๆ‡‚็š„ๆ–นๅผ๏ผŒๅธฆไฝ ๆ‹†่งฃไธ€ๅฅ—ๅฎž็”จ็š„ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผŒ่ฎฉๆˆ‘ไปฌๅญฆไผš้€่ฟ‡็Žฐ่ฑกๆŠ“ไฝๆœฌ่ดจ๏ผŒไปŽๆ นๆบไธŠ่งฃๅ†ณ้—ฎ้ข˜ใ€‚\",\"permalink\":\"/product-sense/insight-model\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"ไบงๅ“ Sense\",\"็ณป็ปŸๆดžๅฏŸๅŠ›\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผšๅฆ‚ไฝ•็œ‹้€ไบงๅ“ไธŽๆŠ€ๆœฏ่ƒŒๅŽ็š„็ณป็ปŸ้€ป่พ‘๏ผŸ\",\"date\":\"2025-11-14 16:00:00\",\"capture\":\"1. ่กจ่ฑก่ƒŒๅŽ่—็€ๅ†ณๅฎšไธ€ๅˆ‡็š„โ€œ็ณป็ปŸ้ป‘็›’โ€\\nๆˆ‘ไปฌๅœจๆ—ฅๅธธๅผ€ๅ‘ๆˆ–ไบงๅ“่ฎพ่ฎกไธญ๏ผŒๆ€ปๆ˜ฏ่ขซๅ„็งโ€œ่กจ่ฑกโ€ๅŒ…ๅ›ด๏ผšDAU ็ช็„ถไธ‹้™ไบ†ใ€็บฟไธŠๅ‡บ็Žฐไบ†ไธ€ไธชๅถ็Žฐ็š„ Bugใ€ๆŸไธชๅŠŸ่ƒฝ็š„่ฝฌๅŒ–็އไธๅŠ้ข„ๆœŸใ€‚ๆˆ‘ไปฌไน ๆƒฏไบ†็›ฏ็€่ฟ™ไบ›็œ‹ๅพ—่ง็š„็ป“ๆžœๆ‰พๅŽŸๅ› ๏ผŒๅดๅฟฝ็•ฅไบ†ไธ€ไธชๆ ธๅฟƒ็œŸ็›ธ๏ผšๆฏไธ€ไธช่กจ่ฑก่ƒŒๅŽ๏ผŒๅ…ถๅฎž้ƒฝ้š่—็€ไธ€ไธช่ฟ่ฝฌๅคๆ‚็š„โ€œ้ป‘็›’ๅญโ€๏ผŒๆญฃๆ˜ฏ่ฟ™ไธช้ป‘็›’ๅญๅ†ณๅฎšไบ†ไบ‹็‰ฉๅ‘ๅฑ•็š„ๅฎข่ง‚่ง„ๅพ‹ใ€‚ๆˆ‘ไปฌๅฏไปฅๆŠŠ่ฟ™ไธช้ป‘็›’ๅญ๏ผŒๅซๅšโ€œ็ณป็ปŸโ€ใ€‚\\n<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/product/system_tips.png\\\" style=\\\"width: 1\"},{\"url\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/21.ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"relativePath\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/21.ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"frontmatter\":{\"date\":\"2025-11-10 12:52:28\",\"title\":\"ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจไฟกๆฏ้ซ˜ๅบฆ้€ๆ˜Ž็š„ๆ—ถไปฃ๏ผŒๆต…ๅฑ‚ไฟกๆฏๅทฎๅทฒ่ขซๅฝปๅบ•ๆŠนๅนณ๏ผŒไฟกๆฏๆœฌ่บซ็š„ไปทๅ€ผไธๆ–ญ็จ€้‡Šใ€‚ไบบไธŽไบบ็š„ๆ ธๅฟƒๅทฎ่ทไธๅ†ๆ˜ฏ่Žทๅ–ไฟกๆฏ็š„ๆธ ้“๏ผŒ่€Œๆ˜ฏ้ซ˜ไฟกๅ™ชๆฏ”ไฟกๆฏ็š„็”„ๅˆซ่ƒฝๅŠ›ใ€ๆทฑๅบฆๆ€่€ƒ่ƒฝๅŠ›ไธŽ่ฝๅœฐๆ‰ง่กŒๅŠ›๏ผŒๅ”ฏๆœ‰ไปฅๆ€่€ƒๆ ก้ชŒไฟกๆฏใ€ไปฅๆ‰ง่กŒ้ชŒ่ฏไปทๅ€ผ๏ผŒๅฝขๆˆโ€œไฟกๆฏ-ๅˆคๆ–ญ-ๅฎž่ทต-ๅ้ฆˆโ€็š„ๆ€่€ƒไธŽๆ‰ง่กŒ้—ญ็Žฏ๏ผŒๆ‰่ƒฝ็ช็ ดไฟกๆฏๅฃๅž’ใ€ๅˆ›้€ ็œŸๆญฃไปทๅ€ผใ€‚\",\"permalink\":\"/growth/distinguish-useful-information\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"ไฟกๆฏ็ญ›้€‰\",\"ไธชไบบๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"date\":\"2025-11-10 12:52:28\",\"capture\":\"ๅœจไบ’่”็ฝ‘ๆŠ€ๆœฏๆ™ฎๅŠ็š„ๅฝ“ไธ‹๏ผŒไฟกๆฏๅทฒไปŽโ€œ็จ€็ผบ่ต„ๆบโ€่ฝฌๅ˜ไธบโ€œๆณ›ๆปฅ่ต„ๆบโ€ใ€‚่ฟ‡ๅŽปไพ่ต–ๅœฐๅŸŸๅทฎใ€็จ€็ผบๆ€ง็š„ๆต…่กจๅฑ‚ไฟกๆฏๅทฎ้€ๆธ่ขซๆŠนๅนณ๏ผŒๅผ€ๅ‘่€…้€š่ฟ‡็ฝ‘็ปœๅฏ่ฝปๆพ่Žทๅ–ๅ„็ฑปๆŠ€ๆœฏๆ–‡ๆกฃใ€่กŒไธšๅŠจๆ€ใ€่ตš้’ฑๆจกๅผ๏ผŒไฝ†็œŸๆญฃ่ƒฝๅฐ†ไฟกๆฏ่ฝฌๅŒ–ไธบไปทๅ€ผ็š„ไปๆ˜ฏๅฐ‘ๆ•ฐไบบใ€‚ๆ ธๅฟƒ็Ÿ›็›พๅทฒไปŽโ€œ่Žทๅ–ไฟกๆฏโ€่ฝฌๅ˜ไธบโ€œ้ฉพ้ฉญไฟกๆฏโ€โ€”โ€”ไฟกๆฏๆœฌ่บซ็š„ไปทๅ€ผๅผฑๅŒ–๏ผŒ่€Œไฟกๆฏ่งฃ่ฏป่ƒฝๅŠ›ใ€่กŒๅŠจๆ‰ง่กŒๅŠ›ใ€็ญ›้€‰็”„ๅˆซๅŠ›ๆˆไธบๆ‹‰ๅผ€ๅทฎ่ท็š„ๅ…ณ้”ฎใ€‚\\n 1. ๆ‰“็ ดโ€œไฟกๆฏๅทฎโ€็š„็ณป็ปŸๆ€ง้”™่ง‰\\n่ฟ‡ๅŽป๏ผŒ็”ฑไบŽๅœฐๅŸŸ้™ๅˆถๅ’Œไผ ๆ’ญไป‹่ดจ็š„็จ€็ผบ๏ผŒ่ตš้’ฑๆˆ–ๆˆๅŠŸ็š„ๆจกๅผๅพ€ๅพ€ๆ˜ฏ็ฒ—ๆ”พ็š„๏ผŒๅปบ็ซ‹ๅœจๆต…่กจๅฑ‚็š„โ€œไฟกๆฏไธๅฏน็งฐโ€ไธŠ๏ผŒไฝ†้š็€ๆŠ€ๆœฏ็š„ๆผ”่ฟ›๏ผŒ่ฟ™็งไฝŽ็ปดๅบฆ็š„ไฟกๆฏๅทฎๆญฃๅœจ่ขซ่ฟ…้€ŸๆŠนๅนณใ€‚ไบบไปฌ็ปๅธธ้™ทๅ…ฅโ€œ่ตšไธๅˆฐ้’ฑ/ๆŠ“ไธไฝๆœบไผšๆ˜ฏๅ› ไธบ็ผบๅฐ‘ไฟกๆฏๅทฎโ€็š„่ฎค็Ÿฅๅๅทฎ๏ผŒไฝ†ๆœฌ่ดจ้—ฎ้ข˜ๅœจไบŽโ€œ\"},{\"url\":\"/40.ๅ…ณไบŽ/01.ๅ…ณไบŽๆˆ‘\",\"relativePath\":\"/40.ๅ…ณไบŽ/01.ๅ…ณไบŽๆˆ‘\",\"frontmatter\":{\"date\":\"2025-08-29 09:40:53\",\"title\":\"ๅ…ณไบŽๆˆ‘\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไปŽ Tech Stack ๅˆฐ Insight Stack๏ผŒๅฝ“ AI ๆŽฅ็ฎกไบ†ๅฎž็Žฐ๏ผŒๆˆ‘ๆ›ดๅ…ณๆณจๆžถๆž„็š„ๆƒ่กกไธŽไบงๅ“็š„ไปทๅ€ผ๏ผŒไธ“ๆณจ๏ผšๅทฅ็จ‹ๅŒ– Spec ไธŽ AI ็ผ–็จ‹็ฃจๅˆ็š„ๅฎž่ทต | Agent ่ฝๅœฐ | ็‹ฌ็ซ‹ไบงๅ“ใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/about_me_chinese.png\",\"permalink\":\"/about/me\",\"categories\":[\"ๅ…ณไบŽ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ…ณไบŽๆˆ‘\",\"date\":\"2025-08-29 09:40:53\",\"capture\":\"ๆˆ‘ๆ˜ฏ่ฐ\\nๆˆ‘ๆ˜ฏไธ€ๅๆ‹ฅๆœ‰ๅ…จๆ ˆ่ƒŒๆ™ฏ็š„ๅผ€ๅ‘่€…, ๆŠ€ๆœฏๅบ•่‰ฒๆบไบŽๅทฅไฝœๅ‡ ๅนดๅŽ็งฏ็ดฏไบ†่พƒไธบๆ‰Žๅฎž็š„ๅทฅ็จ‹ๅŒ–ๅฎž่ทตโ€”โ€”ไปŽๅŸบ็ก€็š„ Web ๅ‰็ซฏๅˆฐๅคๆ‚็š„่ทจๅนณๅฐๅฐ็จ‹ๅบๅŸบ็ก€ๆก†ๆžถ็š„ๆžถๆž„ๅ‡็บง๏ผŒๅ†ๅˆฐๅŸบไบŽ NodeJS ็š„ๆœๅŠก็ซฏๅผ€ๅ‘๏ผŒ่ฟ™ไบ›็ปๅކ้”ป็‚ผไบ†ๆˆ‘ๅฏน็ณป็ปŸๅคๆ‚ๅบฆ็š„ๆŽŒๆŽงๅŠ›ใ€ๅทฅ็จ‹ๅŒ–่ƒฝๅŠ›ไปฅๅŠ้กน็›ฎๆŽจๅŠจไธŽๅ›ข้˜Ÿๅˆไฝœ็š„่ƒฝๅŠ›ใ€‚\\n่‡ช 2023 ๅนด LLM ๆตชๆฝฎๆถŒ็Žฐไปฅๆฅ๏ผŒๆˆ‘ๆทฑๅบฆๆŠ•่บซไบŽ AI ็›ธๅ…ณ็š„ๆŠ€ๆœฏๆŽข็ดขใ€‚ๅœจๅทฅไฝœไธŽไธšไฝ™้กน็›ฎไธญ๏ผŒไธปๅฏผๆˆ–ๅ‚ไธŽไบ†ๅคšไธชๅŸบไบŽๅคงๆจกๅž‹็š„ๅบ”็”จ่ฝๅœฐ๏ผŒ็งฏ็ดฏไบ†ไปŽ Prompt ่ฐƒไผ˜ๅˆฐ Agentic Workflow ็ผ–ๆŽ’็š„ไธ€็บฟ็ป้ชŒ๏ผŒไนŸๅคšๆฌกๅ‚ๅŠ ไบ†ๅ›ฝๅ†… AI ็คพๅŒบ็›ธๅ…ณ็š„ๆŠ€ๆœฏๅˆ†ไบซไธŽไบคๆตๆดปๅŠจ๏ผŒไบ†่งฃไบ† AI ้ข†ๅŸŸๆœ€ๆ–ฐ็š„ๆŠ€ๆœฏ่ถ‹ๅŠฟไธŽๅฎž่ทตใ€‚\\n\\n็›ฎๅ‰๏ผŒๆˆ‘ไธป่ฆๅœจ\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹\",\"frontmatter\":{\"date\":\"2025-08-20 22:51:27\",\"title\":\"่Šไธ€่Š TypeScript ไธญ็š„ๆณ›ๅž‹\",\"tldr\":\"ๆณ›ๅž‹ๅฐ†็ฑปๅž‹ไฝœไธบๅ‚ๆ•ฐ๏ผŒไฝฟไปฃ็ ๅœจๅคš็ง็ฑปๅž‹ไธŠๅฎ‰ๅ…จ่ฟ่กŒ๏ผŒๆ˜ฏ TypeScript ็ฑปๅž‹ๆŠฝ่ฑก็š„ๆ ธๅฟƒ็‰นๆ€งใ€‚\",\"description\":\"ๆœฌๆ–‡็ณป็ปŸ่งฃๆž TypeScript ๆณ›ๅž‹็š„ๆ ธๅฟƒๆฆ‚ๅฟตไธŽๅทฅไฝœๆœบๅˆถ๏ผŒๅฏนๆฏ”ๆณ›ๅž‹ไธŽ any ็ฑปๅž‹็š„ๅทฎๅผ‚๏ผŒๆถต็›–ๆณ›ๅž‹ๅ‡ฝๆ•ฐใ€ๆŽฅๅฃใ€็ฑปใ€็ฑปๅž‹ๅˆซๅ็š„ๅฎž่ทต็”จๆณ•๏ผŒไปฅๅŠๅŸบๆœฌ็ฑปๅž‹็บฆๆŸใ€ๆŽฅๅฃ็บฆๆŸใ€ๅคš้‡็บฆๆŸใ€keyof ็บฆๆŸ็ญ‰้ซ˜้˜ถๆŠ€ๅทงไธŽๆœ€ไฝณๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/typescript-generic-types\",\"tags\":[\"tutorial\",\"typescript\",\"generics\",\"type-system\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่Šไธ€่Š TypeScript ไธญ็š„ๆณ›ๅž‹\",\"date\":\"2025-08-20 22:51:27\",\"capture\":\"1. ๆณ›ๅž‹็š„ๅŸบๆœฌๆฆ‚ๅฟตๅ’Œไฝœ็”จ\\n 1.1 ๆ ธๅฟƒๅฎšไน‰\\nๆณ›ๅž‹๏ผˆGenerics๏ผ‰ ๆ˜ฏ TypeScript ไธญไธ€็งๅผบๅคง็š„็ฑปๅž‹็ณป็ปŸ็‰นๆ€ง๏ผŒๅ…่ฎธๅฎšไน‰็ฑปๅž‹ๅ‚ๆ•ฐๅŒ–็š„็ป„ไปถ๏ผŒไฝฟไปฃ็ ่ƒฝๅคŸๅœจๅคš็ง็ฑปๅž‹ไธŠๅฎ‰ๅ…จ่ฟ่กŒ๏ผŒๅŒๆ—ถไฟๆŒ็ฑปๅž‹ๆฃ€ๆŸฅใ€‚ๆณ›ๅž‹็š„ๆ ธๅฟƒๆ€ๆƒณๆ˜ฏๅฐ†็ฑปๅž‹ไฝœไธบๅ‚ๆ•ฐไผ ้€’็ป™ๅ‡ฝๆ•ฐใ€ๆŽฅๅฃๆˆ–็ฑป๏ผŒๅฎž็Žฐ\\\"็ผ–ๅ†™ไธ€ๆฌก๏ผŒๅค็”จๅคšๆฌก\\\"็š„ๆ•ˆๆžœใ€‚\\n 1.2 ๆณ›ๅž‹ไธŽ any ็ฑปๅž‹็š„ๅฏนๆฏ”\\n| ็‰นๆ€ง | ๆณ›ๅž‹ | any ็ฑปๅž‹ |\\n|------|------|----------|\\n| ็ฑปๅž‹ๅฎ‰ๅ…จ | โœ… ็ผ–่ฏ‘ๆ—ถ่ฟ›่กŒ็ฑปๅž‹ๆฃ€ๆŸฅ | โŒ ๅฎŒๅ…จๅคฑๅŽป็ฑปๅž‹ๆฃ€ๆŸฅ |\\n| ไปฃ็ ๅค็”จ | โœ… ๆ”ฏๆŒๅคš็ง็ฑปๅž‹ๅค็”จ | โœ… ๆ”ฏๆŒๅคš็ง็ฑปๅž‹๏ผŒไฝ†ๅคฑๅŽป็ฑปๅž‹ไฟกๆฏ |\\n| ็ฑปๅž‹ๆŽจๆ–ญ | โœ… \"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2025-08-12 22:47:47\",\"title\":\"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—\",\"tldr\":\"TypeScript ๅฎŒๅ–„็š„็ผ–่ฏ‘ไฝ“็ณปไธŽ่ฐƒ่ฏ•ๅทฅๅ…ท้“พ๏ผŒๆ˜ฏๆž„ๅปบ้ซ˜่ดจ้‡ๅบ”็”จ็š„ๅŸบ็Ÿณใ€‚\",\"description\":\"ๆทฑๅ…ฅ่งฃๆž TypeScript ็ผ–่ฏ‘ๅทฅๅ…ท้“พไธŽ่ฐƒ่ฏ•ไฝ“็ณป๏ผŒๆถต็›– tsconfig.json ๆ ธๅฟƒ้…็ฝฎใ€Monorepo ้กน็›ฎ้…็ฝฎ๏ผˆextends/references๏ผ‰ใ€source map ่ฐƒ่ฏ•ใ€ESLint ไธŽ Jest ๅ•ๅ…ƒๆต‹่ฏ•็ญ‰ๅฎŒๆ•ดๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/typescript-compilation-debugging-guide\",\"tags\":[\"tutorial\",\"typescript\",\"compilation\",\"tooling\",\"eslint\",\"jest\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—\",\"date\":\"2025-08-12 22:47:47\",\"capture\":\"็ผ–ๅ†™ไปฃ็ ๅชๆ˜ฏๅผ€ๅ‘ๅทฅไฝœ็š„่ตท็‚น๏ผŒ็œŸๆญฃๅ†ณๅฎš้กน็›ฎ่ดจ้‡็š„ๆ˜ฏๅŽ็ปญ็š„็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•็Žฏ่Š‚ใ€‚TypeScript ไฝœไธบ JavaScript ็š„้™ๆ€็ฑปๅž‹่ถ…้›†๏ผŒไธไป…ๅธฆๆฅไบ†็ฑปๅž‹ๅฎ‰ๅ…จ๏ผŒๆ›ดๆไพ›ไบ†ๅผบๅคง็š„็ผ–่ฏ‘ๅทฅๅ…ทๅ’Œ่ฐƒ่ฏ•่ƒฝๅŠ›๏ผŒ่ฎฉๆˆ‘ไปฌ่ƒฝๅคŸๆ›ด้ซ˜ๆ•ˆๅœฐๆž„ๅปบๅ’Œ็ปดๆŠคๅฏ้ ็š„ๅบ”็”จ็จ‹ๅบใ€‚\\nๆœฌๆ–‡ๅฐ†ๅฏน TypeScript ้กน็›ฎ็š„็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•่ฟ›่กŒๆขณ็†๏ผŒๅŒ…ๆ‹ฌ็ผ–่ฏ‘ๅทฅๅ…ท TSC ็š„ไฝฟ็”จใ€็ผ–่ฏ‘้€‰้กน็š„้…็ฝฎใ€่ฐƒ่ฏ•ๅทฅๅ…ท็š„ไฝฟ็”จ็ญ‰ใ€‚\\n 1. TypeScript ็ผ–่ฏ‘้…็ฝฎไธŽ tsconfig.json\\nTSC๏ผˆTypeScript Compiler๏ผ‰ๆ˜ฏ TypeScript ๅฎ˜ๆ–นๆไพ›็š„็ผ–่ฏ‘ๅทฅๅ…ท๏ผŒ่ดŸ่ดฃๅฐ† TypeScript ไปฃ็ ๏ผˆ`.ts` ๆˆ– `.tsx`๏ผ‰่ฝฌๆขไธบ J\"},{\"url\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/20.่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"relativePath\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/20.่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"frontmatter\":{\"date\":\"2024-06-15 22:23:00\",\"title\":\"่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡็ป“ๅˆไฟ็ฝ—ใƒปๆ ผ้›ทๅŽ„ๅง†ใ€ŠHow to Do Great Workใ€‹ๆ ธๅฟƒ่ง‚็‚น๏ผŒๆŽข่ฎจ AI ๅŽŸ็”Ÿๆ—ถไปฃๅคๅˆๅž‹ไบบๆ‰็š„ๆ ธๅฟƒ็‰น่ดจใ€‚AI ่ฎฉๅŸบ็ก€ๆ‰ง่กŒ่ƒฝๅŠ›ๅฟซ้€Ÿ่ดฌๅ€ผ๏ผŒไบบๆ‰็š„ๆ ธๅฟƒๅฃๅž’ไธๅ†ๆ˜ฏ่งฃๅ†ณ้—ฎ้ข˜๏ผŒ่€Œๆ˜ฏๆๅ‡บไผ˜่ดจ้—ฎ้ข˜ใ€ๅŸนๅ…ป้žๅ…ฑ่ฏ†ๅ“ๅ‘ณใ€‚ๅŒๆ—ถ้œ€ๅšๅฎˆๆ™บๅŠ›่ฏšๅฎž๏ผŒๆ‹ฅๆœ‰ๆ‰“็ ดๅธธ่ง„็š„ๅˆ›ๆ–ฐๅ‹‡ๆฐ”๏ผŒๅ€ŸๅŠฉ AI ๆ”พๅคงไธชไบบๆˆ้•ฟๆ ๆ†๏ผŒไปฅๅฐๅˆ‡ๅฃๅฎž่ทตๅฎž็ŽฐๆŒ‡ๆ•ฐ็บงๆˆ้•ฟใ€‚ไบบ็ฑป็‹ฌๆœ‰็š„ๅฅฝๅฅ‡ๅฟƒ๏ผŒๆ˜ฏ็ช็ ด AI ๅนณๅบธใ€ๅ–ๅพ—ๆฐๅ‡บๆˆๅฐฑ็š„ๆœ€็ปˆๅบ•ๆฐ”ใ€‚\",\"coverImg\":\"/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense/ai-native-composite-talents\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"AI\",\"ๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"date\":\"2024-06-15 22:23:00\",\"capture\":\"> \\n> ๅŽŸๆ–‡ๅœฐๅ€๏ผšhttps://paulgraham.com/greatwork.html\\n> \\n> ๅŽŸๆ–‡ไฝœ่€…๏ผšPaul Graham๏ผˆไฟ็ฝ—ยทๆ ผ้›ทๅŽ„ๅง†๏ผ‰๏ผŒ็ก…่ฐท้กถ็บงๅญตๅŒ–ๅ™จ Y Combinator ๅˆ›ๅง‹ไบบ๏ผŒ่ขซ่ช‰ไธบโ€œ็ก…่ฐทๅˆ›ไธšๆ•™็ˆถโ€๏ผŒไนŸๆ˜ฏ็ปๅ…ธๆŠ€ๆœฏๅ“ฒๅญฆ่‘—ไฝœใ€Š้ป‘ๅฎขไธŽ็”ปๅฎถใ€‹็š„ไฝœ่€…ใ€‚\\n> \\n> ๆ–‡็ซ ่ƒŒๆ™ฏ๏ผšๅŽŸๆ–‡ๆ˜ฏไฟ็ฝ—ยทๆ ผ้›ทๅŽ„ๅง†ไน‹ๅ‰ๅ‡†ๅค‡ไบ†ๅŠๅนดไน‹ไน…็š„้‡็ฃ…้•ฟๆ–‡๏ผŒไป–่ฏ•ๅ›พ่ฎฒๆ˜Ž็™ฝไธ€ไธช้€‚็”จไบŽๆฏไธชไบบ็š„ไธป้ข˜โ€”โ€”ๅฆ‚ไฝ•ๅšๆˆใ€Œๅคงไบ‹ใ€๏ผˆgreat work๏ผ‰ใ€‚้€š่ฏปๅ…จๆ–‡๏ผŒไฝ ไผšๅ‘็Žฐ๏ผŒ่ฟ™ๆ˜ฏไธ€็ฏ‡้žๅธธๅฎž็”จ็š„ๅทฅไฝœๆŒ‡ๅ—๏ผŒๅนถไธ”ๅ…ถไธญ็š„่ฎธๅคšๅ†…ๅฎน๏ผŒ้ƒฝไธŽAIๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰ๆ‰€้œ€่ฆๅ…ทๅค‡็š„็‰น่ดจ้žๅธธไธ€่‡ดใ€‚\\n 1. ๅผ•่จ€๏ผš\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/60.ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/60.ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹\",\"frontmatter\":{\"date\":\"2024-06-14 22:00:00\",\"title\":\"ไธ€ๆฌก็”ฑ Product Sense ้ฉฑๅŠจ็š„ Agent ๆž้™ๅฎž่ทต\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšAI ๆ—ถไปฃ๏ผŒๅ†™ๅฅฝไปฃ็ ๅชๆ˜ฏๅŠๆ ผ็บฟใ€‚ๅœจไธ€ๆฌกๆž้™ๆŒ‘ๆˆ˜่ต›ไธญ๏ผŒๆˆ‘ไปฌ้€š่ฟ‡ๅฏน K12 ่ต›้“็”จๆˆท็—›็‚น็š„็ฒพๅ‡†โ€œ่ง†่ง’ๅˆ‡ๆขโ€๏ผŒๆ‰“้€ ๅ‡บไธ€ๆฌพๆŽˆไบบไปฅๆธ”็š„โ€œๆ•ฐๅญฆ่พ…ๅฏผๅฏผๅธˆโ€ๅนถๆ–ฉ่Žทๅคงๅฅ–ใ€‚ๆœฌๆ–‡ๅค็›˜ไบ† Agent ๆญๅปบ่ƒŒๅŽ็š„ๆ ธๅฟƒ SOP ่ฎพ่ฎก้€ป่พ‘๏ผšๆŠ€ๆœฏ็ปˆ็ฉถ่ฆๅ›žๅฝ’ๅฏน็œŸๅฎžไบบๆ€ง็š„ไฝ“ๅฏŸไธŽๅ…ณๆ€€ใ€‚\",\"coverImg\":\"/img/cover/llm_learning_bg_2.png\",\"permalink\":\"/ai-practice/math-bot\",\"categories\":[\"ai-practice\"],\"tags\":[\"Agent\",\"ไบงๅ“ Sense\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไธ€ๆฌก็”ฑ Product Sense ้ฉฑๅŠจ็š„ Agent ๆž้™ๅฎž่ทต\",\"date\":\"2024-06-14 22:00:00\",\"capture\":\"ๅœจๅˆšๅˆš่ฟ‡ๅŽป็š„ๅ‘จๆœซ๏ผŒๆˆ‘ๅ’Œๅฅฝๅ‹ๅ‚ๅŠ ไบ†ไธ€ๅœบ็”ฑๅƒๅธ† Agent ไธพๅŠž็š„็บฟไธ‹็คพๅŒบๆดปๅŠจใ€‚่ฟ™ๆ˜ฏไธ€ๅœบๅ……ๆปกๆžๅฎข็ฒพ็ฅž็š„โ€œๆž้™ๆŒ‘ๆˆ˜โ€โ€”โ€”ๆˆ‘ไปฌ้œ€่ฆๅœจๆžๅ…ถๆœ‰้™็š„ๆ—ถ้—ดๅ†…๏ผŒไปŽ้›ถๅผ€ๅง‹ๆž„ๆ€ใ€ๆญๅปบๅนถ็Žฐๅœบๅฑ•็คบไธ€ไธชๅฎŒๆ•ด็š„ Agent ๅบ”็”จใ€‚\\nไปคไบบๆƒŠๅ–œ็š„ๆ˜ฏ๏ผŒๆˆ‘ไปฌไธไป…้กบๅˆฉๅฎŒๆˆไบ†ๆž้™ๅผ€ๅ‘๏ผŒๆœ€็ปˆ่ฟ˜ๆ–ฉ่Žทไบ†ๅ…จๅœบ็š„ใ€Œๆœ€ไฝณๅบ”็”จๅฅ–ใ€ใ€‚\\nๅค็›˜่ฟ™ๆฌก็Ÿญๆš‚ๅด้ซ˜ๅฏ†ๅบฆ็š„ๅผ€ๅ‘ไฝ“้ชŒ๏ผŒๆœ€ๅคง็š„ๆ„Ÿ่งฆๆ˜ฏ๏ผšๅœจ AI ๆ—ถไปฃ๏ผŒๅ•็บฏ็š„ๅทฅ็จ‹ๅฎž็Žฐๅทฒ็ปไธๅ†ๆ˜ฏๅ”ฏไธ€็š„ๅฃๅž’๏ผŒ็œŸๆญฃ่ฎฉๅบ”็”จ่„ฑ้ข–่€Œๅ‡บ็š„๏ผŒๆ˜ฏๅฏน็œŸๅฎžไธšๅŠกๅœบๆ™ฏ็š„ๆดžๅฏŸๅŠ›ใ€‚ๅฝ“ (Engineering + Product) ร— AI ็š„้ฃž่ฝฎๅผ€ๅง‹่ฝฌๅŠจๆ—ถ๏ผŒๆŠ€ๆœฏๆ‰่ƒฝ็œŸๆญฃ่ฝฌๅŒ–ไธบ่งฃๅ†ณ้—ฎ้ข˜็š„ๅˆฉๅ™จใ€‚\\nไปฅไธ‹ๆ˜ฏๅ…ณไบŽ่ฟ™ๆฌกโ€œK12 ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹โ€ Agent ๆญๅปบ็š„ๅฎž\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview\",\"frontmatter\":{\"date\":\"2024-05-18 22:49:57\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ไปŽ ES Modules ๅˆฐๅคงๅž‹้กน็›ฎๅˆ†ๅฑ‚ๆžถๆž„ไธŽๅทฅ็จ‹ๅŒ–ๅฎž่ทต๏ผŒๆž„ๅปบๅ…จๆ ˆๆจกๅ—ๅŒ–็Ÿฅ่ฏ†ไฝ“็ณปใ€‚\",\"description\":\"็ณป็ปŸๆขณ็† JavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›๏ผˆIIFEโ†’CJSโ†’ESM๏ผ‰ใ€TypeScript ็ฑปๅž‹ๅขžๅผบใ€ๅˆ†ๅฑ‚ๆžถๆž„ไธŽ DDD ๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/module-programming-practice-guide\",\"tags\":[\"tutorial\",\"ESM\",\"DDD\",\"ๅพฎๅ‰็ซฏ\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2024-05-18 22:49:57\",\"capture\":\"1. ๅผ•่จ€\\nๆจกๅ—ๅŒ–็ผ–็จ‹ๆ˜ฏ็Žฐไปฃ JavaScript/TypeScript ๅผ€ๅ‘็š„ๆ ธๅฟƒๅŽŸๅˆ™๏ผŒๅฎƒ้€š่ฟ‡ๅฐ†ๅคๆ‚็ณป็ปŸๆ‹†ๅˆ†ไธบ็‹ฌ็ซ‹ๅฏๅค็”จ็š„ๆจกๅ—๏ผŒ้™ไฝŽ็ณป็ปŸๅคๆ‚ๆ€งๅนถๆ้ซ˜ๅฏ็ปดๆŠคๆ€งไธŽๅฏๅค็”จๆ€งใ€‚ๅ› ๆญค๏ผŒๆˆ‘ไปฌ้€š่ฟ‡็ณปๅˆ—ๆ–‡็ซ ่ฏฆ็ป†ไป‹็ปไบ†ๆจกๅ—ๅŒ–็š„ๅŸบ็ก€ๆฆ‚ๅฟตใ€ๆผ”่ฟ›ๅކ็จ‹ใ€ไธๅŒ่ง„่Œƒ็š„ๆทฑๅบฆ่งฃๆžใ€TypeScriptๆจกๅ—ๅŒ–ๅขžๅผบใ€ES Modules ๆ ธๅฟƒ่ฏญๆณ•ไธŽๅฎž่ทตใ€ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทตใ€ๅ‰็ซฏๅทฅ็จ‹ๅŒ–ไธญ็š„ๆจกๅ—ๅŒ–ใ€Node.jsไธญ็š„ๆจกๅ—ๅŒ–ๅฎž่ทตใ€ๅคงๅž‹้กน็›ฎไธญ็š„ๆจกๅ—ๅŒ–่ฎพ่ฎกใ€ๆจกๅ—ๅŒ–ไธŽไปฃ็ ็ปดๆŠคไปฅๅŠๆœชๆฅๅ‘ๅฑ•่ถ‹ๅŠฟใ€‚\\nๅ‰้ข็š„็ณปๅˆ—ๆ–‡็ซ ไธป่ฆๆœ‰๏ผš\\n- ๆจกๅ—ๅŒ–็ผ–็จ‹็ผ–็จ‹ๅˆไฝ“้ชŒไธŽๅŸบ็ก€ไป‹็ป\\n- JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\\n- ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒ\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–\",\"frontmatter\":{\"date\":\"2024-05-17 23:33:09\",\"title\":\"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“\",\"tldr\":\"Node.js CJS ไธŽ ESM ๅŒๆจกๅ…ฑๅญ˜๏ผšๆจกๅ—ๅŠ ่ฝฝๆœบๅˆถไธŽๅˆ†ๅฑ‚ๆžถๆž„ๅฎž่ทตใ€‚\",\"description\":\"่งฃๆž Node.js ไธญ CommonJS ไธŽ ES Modules ็š„ๅŒๆจกๅ…ฑๅญ˜็ญ–็•ฅ๏ผŒๆถต็›–ๆจกๅ—ๅŠ ่ฝฝไผ˜ๅ…ˆ็บงใ€็ผ“ๅญ˜ๆœบๅˆถใ€package.json exports ๆกไปถๅฏผๅ‡บๅŠ Monorepo ๆžถๆž„ๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/nodejs-module-programming-summary\",\"abstract\":\"Node.js ๆจกๅ—ๅŒ–็ปๅކไบ†ไปŽ CommonJS ็‹ฌ้œธๅคฉไธ‹ๅˆฐ ES Modules ๅ…จ้ขๆŽฅๅ…ฅ็š„่Œƒๅผ่ฝฌ็งปใ€‚ๅ…ฑๅญ˜็ญ–็•ฅ้€š่ฟ‡ .mjs/.cjs ๅŽ็ผ€ๅ’Œ package.json type ๅญ—ๆฎตๆŽงๅˆถไธค็ง่ง„่Œƒ็š„่พน็•Œ๏ผ›ESM ๅฏ็›ดๆŽฅ import CJS๏ผˆ่‡ชๅŠจๅŒ…่ฃ…ไธบ้ป˜่ฎคๅฏผๅ‡บ๏ผ‰๏ผŒไฝ† CJS ๆ— ๆณ• require ESM ๅฟ…้กปไฝฟ็”จๅŠจๆ€ importใ€‚ๆจกๅ—ๅŠ ่ฝฝ้ตๅพชๆ ธๅฟƒๆจกๅ—ไผ˜ๅ…ˆใ€ๆ–‡ไปถๆจกๅ—ใ€็›ฎๅฝ•ๆจกๅ—๏ผˆindex.js/package.json๏ผ‰ใ€node_modules ้€็บงๆŸฅๆ‰พ็š„ไผ˜ๅ…ˆ็บง๏ผ›require.cache ๅฎž็Žฐๆจกๅ—็ผ“ๅญ˜๏ผŒๆธ…้™ค็ผ“ๅญ˜๏ผˆdelete require.cache[path]๏ผ‰ๆ˜ฏ็ƒญๆ›ดๆ–ฐๅทฅๅ…ท็š„ๆ ธๅฟƒๆ“ไฝœใ€‚package.json exports ๅญ—ๆฎตๆ”ฏๆŒๆกไปถๅฏผๅ‡บ๏ผˆimport/require ่ฟ”ๅ›žไธๅŒๅ…ฅๅฃ๏ผ‰ใ€‚pnpm workspaces ๅ‡ญๅ€Ÿ็กฌ้“พๆŽฅๆœบๅˆถๆˆไธบ็Žฐไปฃ Monorepo ้ฆ–้€‰ใ€‚ๅŽ็ซฏๅˆ†ๅฑ‚ๆžถๆž„๏ผˆAPI/Service/Repository๏ผ‰ๅฎž็Žฐๅ…ณๆณจ็‚นๅˆ†็ฆป๏ผŒๆขๆ•ฐๆฎๅบ“ๅช้œ€ๆ”น Repository ๅฑ‚ใ€‚\",\"tags\":[\"concept\",\"node.js\",\"commonjs\",\"esm\",\"monorepo\",\"layered-architecture\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“\",\"date\":\"2024-05-17 23:33:09\",\"capture\":\"ๅฆ‚ๆžœ่ฏดๆต่งˆๅ™จ็ซฏ็š„ๆจกๅ—ๅŒ–ๆ˜ฏไธบไบ†\\\"ๆŒ‰้œ€ๅŠ ่ฝฝ\\\"๏ผŒ้‚ฃไนˆ Node.js ็š„ๆจกๅ—ๅŒ–ๅˆ™ๆ˜ฏไธบไบ†\\\"ไปฃ็ ็ป„็ป‡\\\"ใ€‚ไฝœไธบๅฐ† JavaScript ๅธฆๅ…ฅๆœๅŠกๅ™จ็ซฏ็š„ๅ…ˆ้ฉฑ๏ผŒNode.js ็ปๅކไบ†ไปŽ CommonJS (CJS) ็‹ฌ้œธๅคฉไธ‹ๅˆฐ ES Modules (ESM) ๅ…จ้ขๆŽฅๅ…ฅ็š„่Œƒๅผ่ฝฌ็งปใ€‚\\nๅœจๆœๅŠกๅ™จ็ซฏ๏ผŒๆจกๅ—ๅŒ–ไธไป…ไป…ๆ˜ฏไธบไบ†ๆ‹†ๅˆ†ไปฃ็ ๏ผŒๆ›ดๆ˜ฏไธบไบ†ๆž„ๅปบๆธ…ๆ™ฐ็š„้กน็›ฎ็ป“ๆž„ใ€็ฎก็†ไพ่ต–ๅ…ณ็ณป๏ผŒไปฅๅŠๅฎž็Žฐไปฃ็ ็š„ๅค็”จไธŽ็ปดๆŠคใ€‚\\n 1. CommonJS ไธŽ ES Modules ๅŒๆจกๅ…ฑๅญ˜\\nๅœจ็Žฐไปฃ Node.js ๅผ€ๅ‘ไธญ๏ผŒๆˆ‘ไปฌ็ปๅธธ้ขไธดไธค็ง่ง„่Œƒไบค็ป‡็š„ๆƒ…ๅ†ตใ€‚่ฟ™ไธไป…ๆ˜ฏๆ–‡ไปถๅŽ็ผ€็š„ๆ”นๅ˜๏ผŒๆ›ดๆ˜ฏๅŒๆญฅไธŽๅผ‚ๆญฅๅŠ ่ฝฝ้€ป่พ‘็š„ๅšๅผˆใ€‚\\nๅ…ฑๅญ˜็ญ–็•ฅ๏ผš\\n1. ๅŽ็ผ€ๅ†ณๅฎš่ฎบ๏ผš`.mjs\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต\",\"frontmatter\":{\"date\":\"2024-05-17 22:30:50\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ๆขณ็†ไธŽๆ€ป็ป“\",\"tldr\":\"ๆŽŒๆก้ซ˜ๅ†…่šไฝŽ่€ฆๅˆๅŽŸๅˆ™๏ผšๆจกๅ—ๅŒ–็ผ–็จ‹็š„่ฎพ่ฎกๅ‡†ๅˆ™ไธŽ็ฒ’ๅบฆๆŽงๅˆถใ€‚\",\"description\":\"็ณป็ปŸๆขณ็†ๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅ…ญๅคงๆ ธๅฟƒๅŽŸๅˆ™๏ผšๅ•ไธ€่Œ่ดฃใ€้ซ˜ๅ†…่šไฝŽ่€ฆๅˆใ€็ฒ’ๅบฆ่ฎพ่ฎกใ€ๅ‘ฝๅ่ง„่ŒƒๅŠๆจกๅ—็‰ˆๆœฌ็ฎก็†๏ผŒ้™„่ฏฆ็ป†็š„ๅทฅ็จ‹ๅฎž่ทตๅปบ่ฎฎไธŽ้ฟๅ‘ๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/fullstack/module-programming-principles-best-practices\",\"abstract\":\"ๅฆ‚ๆžœ่ฏดๆŽŒๆกๆจกๅ—ๅŒ–่ฏญๆณ•ๆ˜ฏๆœฏ๏ผŒ้‚ฃไนˆ็†่งฃๅ…ถ่ƒŒๅŽ็š„่ฎพ่ฎกๅŽŸๅˆ™ๅฐฑๆ˜ฏ้“ใ€‚ๅ•ไธ€่Œ่ดฃๅŽŸๅˆ™ๅผบ่ฐƒๆจกๅ—ๅชๅบ”ๆœ‰ไธ€ไธช่ขซๆ”นๅ˜็š„ๅŽŸๅ› ๏ผŒ้ฟๅ… God Object ๅๆจกๅผใ€‚้ซ˜ๅ†…่šไฝŽ่€ฆๅˆๆ˜ฏ่กก้‡ๆจกๅ—่ดจ้‡็š„็ปˆๆžๆ ‡ๅ‡†โ€”โ€”ๆจกๅ—ๅ†…้ƒจๅ…ƒ็ด ่”็ณป็ดงๅฏ†๏ผŒๆจกๅ—ไน‹้—ดไพ่ต–ๅ…ณ็ณปๅฐฝๅฏ่ƒฝ็ฎ€ๅ•ใ€‚็ฒ’ๅบฆ่ฎพ่ฎก่ฆๆฑ‚ๅ•ไธชๆจกๅ—ไฟๆŒๅœจ 100-500 ่กŒไน‹้—ด๏ผŒๅŠŸ่ƒฝ่ƒฝ็”จไธ€ๅฅ่ฏๆธ…ๆ™ฐๆ่ฟฐ๏ผŒๅ‡บ็Žฐๅคšๅˆ†ๆ”ฏๅคๆ‚้€ป่พ‘ๆ—ถ้€šๅธธๆ˜ฏๆ‹†ๅˆ†ไฟกๅทใ€‚ๅ‘ฝๅ่ง„่Œƒ็ปŸไธ€ๅ›ข้˜ŸๆฒŸ้€š่ฏญๅขƒ๏ผˆkebab-case ๆ–‡ไปถๅใ€camelCase ๆ–นๆณ•ๅใ€PascalCase ็ฑปๅ๏ผ‰ใ€‚ๆจกๅ—็‰ˆๆœฌ็ฎก็†้ตๅพช SemVer ่ฏญไน‰ๅŒ–็‰ˆๆœฌ๏ผŒไธบๅ…ฌๅ…ฑๆจกๅ—็š„็ปดๆŠค่€…ไธŽไฝฟ็”จ่€…ๅปบ็ซ‹ๅฅ‘็บฆใ€‚ๅผบ่ฐƒๆธ…ๆ™ฐ็š„ๆจกๅ—่พน็•Œๆ˜ฏ AI ่พ…ๅŠฉ็ผ–็จ‹ๆ—ถไปฃ AI ๅ‡†็กฎ็†่งฃไปฃ็ ็š„ๅ‰ๆใ€‚\",\"tags\":[\"concept\",\"solid-principles\",\"code-organization\",\"best-practices\",\"naming-conventions\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ๆขณ็†ไธŽๆ€ป็ป“\",\"date\":\"2024-05-17 22:30:50\",\"capture\":\"1. ๅ•ไธ€่Œ่ดฃๅŽŸๅˆ™\\nๆ ธๅฟƒๆ€ๆƒณ๏ผšไธ€ไธชๆจกๅ—ๅบ”ๅฝ“ๆœ‰ไธ”ๅชๆœ‰ไธ€ไธช่ขซๆ”นๅ˜็š„ๅŽŸๅ› ใ€‚\\nๆจกๅ—ไธๅบ”ๆˆไธบๅŠŸ่ƒฝ็š„โ€œๆ‚่ดง้“บโ€ใ€‚ๅฝ“ไธ€ไธชๆจกๅ—ๆ‰ฟๆ‹…ไบ†ๅคชๅคšไธ็›ธๅ…ณ็š„ไธšๅŠก้€ป่พ‘ๆ—ถ๏ผŒๅฎƒ็š„ๅคๆ‚ๅบฆไผšๅ‘ˆๆŒ‡ๆ•ฐ็บงไธŠๅ‡๏ผŒไปปไฝ•ๅพฎๅฐ็š„ๆ”นๅŠจ้ƒฝๅฏ่ƒฝๅผ•ๅ‘ๆ„ๆƒณไธๅˆฐ็š„่ฟž้”ๅๅบ”ใ€‚\\nไปฃ็ ๆผ”็คบ๏ผš\\n```javascript\\n// โœ… ๆŽจ่๏ผš่Œ่ดฃๆ‹†ๅˆ†ๆ˜Ž็กฎ\\n// user-service.js - ไป…ๅค„็†็”จๆˆทๆ•ฐๆฎ็š„ CRUD\\nexport const getUser = async (id) => { /* ... */ };\\n// auth-provider.js - ไป…ๅค„็†้‰ดๆƒ็Šถๆ€ไธŽ้€ป่พ‘\\nexport const login = async (credenti\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"frontmatter\":{\"date\":\"2024-05-16 21:27:36\",\"title\":\"ไปŽ้€ป่พ‘้š”็ฆปๅˆฐ็ฑปๅž‹ๅฅ‘็บฆ๏ผšTypeScript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"tldr\":\"TypeScript ๅฐ†ๆจกๅ—ไพ่ต–ๆๅ‡ไธบ็ผ–่ฏ‘ๆ—ถ็ฑปๅž‹ๅฅ‘็บฆ๏ผŒไปŽ import type ๅˆฐๅฃฐๆ˜Žๆ–‡ไปถใ€‚\",\"description\":\"็ณป็ปŸ่ฎฒ่งฃ TypeScript ๅฏน ES Modules ็š„็ฑปๅž‹ๅขžๅผบ๏ผŒๆถต็›– import type ่ฟ่กŒๆ—ถไผ˜ๅŒ–ใ€ๆŽฅๅฃๅฅ‘็บฆใ€ๅฃฐๆ˜Žๆ–‡ไปถ .d.ts ๅŠ tsconfig ๆจกๅ—ๅŒ–้…็ฝฎใ€‚\",\"permalink\":\"/fullstack/typescript-module-programming-enhancement\",\"tags\":[\"concept\",\"ๅ…จๆ ˆ\",\"typescript\",\"tsconfig\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไปŽ้€ป่พ‘้š”็ฆปๅˆฐ็ฑปๅž‹ๅฅ‘็บฆ๏ผšTypeScript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"date\":\"2024-05-16 21:27:36\",\"capture\":\"1. ๅผ•่จ€\\nๅœจๅŽŸ็”Ÿ JavaScript ๆจกๅ—ๅŒ–่งฃๅ†ณไบ†ไปฃ็ ็ป„็ป‡้—ฎ้ข˜ๅŽ๏ผŒTypeScript๏ผˆTS๏ผ‰่ฟ›ไธ€ๆญฅๅฐ†ๅ…ถๆŽจๅ‘ไบ†ๅทฅไธš็บง้ซ˜ๅบฆใ€‚TS ไธไป…ไป…ๆ˜ฏไธบๆจกๅ—ๆทปๅŠ ไบ†็ฑปๅž‹ๆ ‡ๆณจ๏ผŒๅฎƒ้€š่ฟ‡็ฑปๅž‹ๅฏผๅ‡บๅฏผๅ…ฅใ€็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ใ€ไปฅๅŠๅฃฐๆ˜Žๆ–‡ไปถ็ณป็ปŸ๏ผŒๅฐ†ๆจกๅ—้—ด็š„ไพ่ต–ๅ…ณ็ณปไปŽ็ฎ€ๅ•็š„โ€œไปฃ็ ๅผ•็”จโ€ๆๅ‡ๅˆฐไบ†โ€œๅฅ‘็บฆไบคไบ’โ€ใ€‚\\nๆœฌๆ–‡ๆˆ‘ไปฌๅฐ†่š็„ฆไบŽ TypeScript ๅฆ‚ไฝ•้€š่ฟ‡็ฑปๅž‹็ณป็ปŸๅขžๅผบๆจกๅ—ๅŒ–็ผ–็จ‹๏ผŒๅนถๆŽข่ฎจๅœจ็Žฐไปฃๅทฅ็จ‹๏ผˆๅฐคๅ…ถๆ˜ฏ TS 5.0+ ๆ—ถไปฃ๏ผ‰ไธ‹็š„ๆœ€ไฝณ้…็ฝฎๅฎž่ทตใ€‚\\n 2. ็ฑปๅž‹ๅฏผๅ‡บไธŽๅฏผๅ…ฅ๏ผšๆž่‡ด็š„่ฟ่กŒๆ—ถไผ˜ๅŒ–\\nTypeScript ๅฏน ES Modules ่ฏญๆณ•ๆœ€ๆ˜พ่‘—็š„ๆ‰ฉๅฑ•ๆ˜ฏๆ”ฏๆŒโ€œไป…็ฑปๅž‹โ€๏ผˆType-only๏ผ‰็š„ๅฏผๅ‡บไธŽๅฏผๅ…ฅใ€‚่ฟ™ไธไป…ๆ˜ฏ่ฏญไน‰ไธŠ็š„ๆธ…ๆ™ฐ๏ผŒๆ›ดๆ˜ฏๆ€ง\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"frontmatter\":{\"date\":\"2024-05-14 22:29:32\",\"title\":\"ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒๆ‹ฅๆŠฑๅŽŸ็”Ÿ๏ผšES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"tldr\":\"ES Modules ๆ ธๅฟƒ่ฏญๆณ•ไธŽๆ‰ง่กŒๆจกๅž‹๏ผš้™ๆ€ๅˆ†ๆžๅฆ‚ไฝ•้‡ๅก‘ๅ‰็ซฏๆž„ๅปบๆ•ˆ็އใ€‚\",\"description\":\"ๆทฑๅบฆ่งฃๆž ES Modules ๅ‘ฝๅๅฏผๅ‡บ/ๅฏผๅ…ฅใ€้ป˜่ฎคๅฏผๅ‡บใ€ๅŠจๆ€ๅฏผๅ…ฅ็ญ‰่ฏญๆณ•๏ผŒไปฅๅŠๆจกๅ—ๆ‰ง่กŒ้กบๅบใ€ๅพช็Žฏไพ่ต–ๅค„็†ไธŽ็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ๆœบๅˆถใ€‚\",\"permalink\":\"/fullstack/decode-es-modules\",\"tags\":[\"concept\",\"ESM\",\"static-analysis\",\"Tree-Shaking\",\"circular-dependency\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒๆ‹ฅๆŠฑๅŽŸ็”Ÿ๏ผšES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"date\":\"2024-05-14 22:29:32\",\"capture\":\"> \\n> ็†่งฃ ESM๏ผŒไธไป…ไป…ๆ˜ฏๅญฆไผš import ๅ’Œ export๏ผŒๆ›ด้‡่ฆ็š„ๆ˜ฏ็†่งฃๅฎƒๅฆ‚ไฝ•้€š่ฟ‡็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ๅฝปๅบ•ๆ”นๅ˜ไบ†ๅ‰็ซฏๆž„ๅปบ็š„ๆ•ˆ็އใ€‚\\n 1. ๅ‘ฝๅๅฏผๅ‡บไธŽๅฏผๅ…ฅ๏ผš็ฒพๅ‡†็š„ไปฃ็ ๅผ•็”จ\\nๅ‘ฝๅๅฏผๅ‡บ๏ผˆNamed Exports๏ผ‰ๆ˜ฏ ESM ๆœ€ๅธธ็”จ็š„ๅฝขๅผ๏ผŒๅฎƒๅ…่ฎธไธ€ไธชๆจกๅ—ๆšด้œฒๅคšไธชๆˆๅ‘˜ใ€‚ๅ…ถๆ ธๅฟƒไผ˜ๅŠฟๅœจไบŽ๏ผšๅฏผๅ…ฅๆ–นๅฏไปฅๆŒ‰้œ€ๅผ•ๅ…ฅ๏ผŒไธ” IDE ่ƒฝๆไพ›็ฒพๅ‡†็š„่กฅๅ…จใ€‚\\n่ฏญๆณ•ๅฎž่ทต๏ผš๏ผš\\n```javascript\\n// math.js - ๅ‘ฝๅๅฏผๅ‡บ\\n// ่กŒๅ†…ๅฏผๅ‡บ\\nexport const PI = 3.14159;\\nexport function circleArea(radius) {\\n return PI * rad\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†\",\"frontmatter\":{\"date\":\"2024-05-14 22:26:06\",\"title\":\"JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\",\"tldr\":\"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ็ญ‰ๆ ธๅฟƒ่ง„่Œƒ๏ผŒ้™„็Žฐไปฃ่ฟ็งป็ญ–็•ฅใ€‚\",\"description\":\"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ๅ››ๅคงๆจกๅ—ๅŒ–่ง„่Œƒ็š„ๆ ธๅฟƒ่ฏญๆณ•ไธŽ้€‚็”จๅœบๆ™ฏ๏ผŒ่งฃๆžๅ„่ง„่Œƒ็š„ๅ…ณ้”ฎๅทฎๅผ‚๏ผŒๅนถๆไพ›ไปŽๆ—ง่ง„่Œƒๅ‘ ESM ่ฟ็งป็š„ๅฎžๆ“็ญ–็•ฅใ€‚\",\"permalink\":\"/fullstack/different-module-programming-specifications\",\"tags\":[\"tutorial\",\"CommonJS\",\"AMD\",\"UMD\",\"ESM\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\",\"date\":\"2024-05-14 22:26:06\",\"capture\":\"ๅœจ JavaScript ่ฟ›ๅŒ–ๅฒไธŠ๏ผŒโ€œๆจกๅ—ๅŒ–โ€ๅง‹็ปˆๆ˜ฏไธ€ไธชๆ ธๅฟƒๅ‘ฝ้ข˜ใ€‚ไปŽๆ—ฉๆœŸ script ๆ ‡็ญพๆปกๅคฉ้ฃž็š„โ€œๆททๆฒŒๆ—ถไปฃโ€๏ผŒๅˆฐๅ„่ทฏ่ง„่Œƒ็พค้›„้€้นฟ็š„โ€œๆˆ˜ๅ›ฝๆ—ถไปฃโ€๏ผŒๅ†ๅˆฐๅฆ‚ไปŠ ES Modules ๅฎšไบŽไธ€ๅฐŠ๏ผŒๅผ€ๅ‘่€…ไปฌๅœจ่งฃๅ†ณไพ่ต–็ฎก็†ใ€ไฝœ็”จๅŸŸๆฑกๆŸ“ๅ’Œๅผ‚ๆญฅๅŠ ่ฝฝ็ญ‰้—ฎ้ข˜ไธŠไป˜ๅ‡บไบ†ๅทจๅคง็š„ๅŠชๅŠ›ใ€‚\\nๆœฌๆ–‡ๅฐ†ๅธฆไฝ ๆขณ็† JavaScript ๅކๅฒไธŠๆœ€้‡่ฆ็š„ๅ‡ ็งๆจกๅ—ๅŒ–่ง„่Œƒ๏ผŒไพฟไบŽๆž„ๅปบ่ตทๅ…จๆ ˆๅผ€ๅ‘็š„ๅบ•ๅฑ‚็Ÿฅ่ฏ†ๅ›พ่ฐฑใ€‚\\n 1. CommonJS ่ง„่Œƒ๏ผšNode.js ็”Ÿๆ€็š„ๅŸบ็Ÿณ\\nCommonJS ๆ˜ฏไผด้š Node.js ่ฏž็”Ÿ็š„่ง„่Œƒ,็”ฑ Kevin Dangoor ๆๅ‡บ๏ผŒๅˆ่กทๆ˜ฏ่ฎฉ JavaScript ่„ฑ็ฆปๆต่งˆๅ™จไนŸ่ƒฝๆž„ๅปบๅคๆ‚็š„็ณป็ปŸๅบ”็”จใ€‚ๅฎƒๆ˜ฏ Node.\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€\",\"frontmatter\":{\"date\":\"2024-05-12 22:43:28\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ๏ผšๆฆ‚ๅฟตใ€ๆผ”่ฟ›ไธŽ่ฎพ่ฎกๆจกๅผ\",\"tldr\":\"ไปŽๅ…จๅฑ€ๅ˜้‡ๅˆฐ ES Modules๏ผšJavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›ไธŽๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผๅฎž่ทตใ€‚\",\"description\":\"็ณป็ปŸ่ฎฒ่งฃ JavaScript ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€๏ผŒๆถต็›– IIFEใ€CommonJSใ€ES Modules ่ง„่Œƒๆผ”่ฟ›๏ผŒไปฅๅŠๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผไธŽๆจกๅ—ๅŒ–็š„็ป“ๅˆใ€‚\",\"permalink\":\"/fullstack/frontend-module-programming-basic\",\"tags\":[\"tutorial\",\"javascript\",\"modularization\",\"esm\",\"design-patterns\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ๏ผšๆฆ‚ๅฟตใ€ๆผ”่ฟ›ไธŽ่ฎพ่ฎกๆจกๅผ\",\"date\":\"2024-05-12 22:43:28\",\"capture\":\"1. ๅผ•่จ€\\n้š็€้กน็›ฎ่ง„ๆจกๆ—ฅ็›Š่†จ่ƒ€๏ผŒไปฃ็ ้‡ไปŽๅ‡ ๅƒ่กŒ่ฟ…้€Ÿๅขž้•ฟๅˆฐๆ•ฐไธ‡็”š่‡ณๆ•ฐๅไธ‡่กŒ๏ผŒๅฐ†ๆ‰€ๆœ‰้€ป่พ‘ๅกž่ฟ›ๅฐ‘ๆ•ฐๅ‡ ไธชๆ–‡ไปถ็š„ๅšๆณ•ๆ—ฉๅทฒ้šพไปฅไธบ็ปงใ€‚ๅœจ่ฟ™ๆ ท็š„่ƒŒๆ™ฏไธ‹๏ผŒๆจกๅ—ๅŒ–็ผ–็จ‹ๅบ”่ฟ่€Œ็”Ÿ๏ผŒๆˆไธบ็Žฐไปฃๅ‰็ซฏๅผ€ๅ‘็š„ๆ ‡้…ใ€‚\\nๅฎƒ็š„ๆ ธๅฟƒ็†ๅฟต็ฎ€ๆด่€Œไผ˜้›…๏ผšๅƒๆญ็งฏๆœจไธ€ๆ ท๏ผŒๅฐ†ๅบžๅคงๅคๆ‚็š„็ณป็ปŸๆ‹†่งฃไธบไธ€ไธชไธช็‹ฌ็ซ‹ใ€ๅŠŸ่ƒฝๅ•ไธ€ไธ”ๅฏๅค็”จ็š„ๆจกๅ—๏ผŒ่ฎฉๆฏไธชๆจกๅ—ๅ„ๅธๅ…ถ่Œ๏ผŒๅ†้€š่ฟ‡ๆ ‡ๅ‡†ๆŽฅๅฃ็ตๆดป็ป„ๅˆใ€‚\\n 2. ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ\\nๅœจๆทฑๅ…ฅ็†่ฎบไน‹ๅ‰๏ผŒ่ฎฉๆˆ‘ไปฌๅ…ˆ้€š่ฟ‡ไธ€ไธช็ฎ€ๅ•็š„ JavaScript ็คบไพ‹๏ผŒ็›ด่ง‚ๅœฐๆ„Ÿๅ—ไธ€ไธ‹ไป€ไนˆๆ˜ฏๆจกๅ—ๅŒ–ใ€‚ๅ‡่ฎพๆˆ‘ไปฌ้œ€่ฆๅค„็†ไธ€ไบ›ๆ•ฐๅญฆ่ฟ็ฎ—๏ผŒๆˆ‘ไปฌๅฏไปฅๅฐ†ๅ…ถๅฐ่ฃ…ๆˆไธ€ไธช็‹ฌ็ซ‹็š„ๅทฅๅ…ทๆจกๅ—๏ผš\\n```javascript\\n// math.js - ๅฎšไน‰ไธ€ไธชๆ•ฐๅญฆๅทฅๅ…ทๆจกๅ—\\nexp\"},{\"url\":\"/10.ไบงๅ“ Sense/01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž/11.AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"relativePath\":\"/10.ไบงๅ“ Sense/01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž/11.AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"frontmatter\":{\"date\":\"2024-05-08 08:56:21\",\"title\":\"AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจๅคงๆจกๅž‹้‡ๅก‘ไบ’่”็ฝ‘ไบคไบ’็š„ๅฝ“ไธ‹๏ผŒPerplexity ๅนถๆœช้€‰ๆ‹ฉๆˆไธบโ€œไธ‹ไธ€ไธช Googleโ€๏ผŒ่€Œๆ˜ฏไปฅโ€œ็Ÿฅ่ฏ†ๅ‘็Žฐๅผ•ๆ“Žโ€็š„ๅ…จๆ–ฐๅฎšไฝ๏ผŒ็ฒพๅ‡†ๅˆ‡ๅ…ฅ็Ÿฅ่ฏ†ๅทฅไฝœ่€…็š„ๆ ธๅฟƒๅทฅไฝœๆตใ€‚ๆœฌๆ–‡่ทณๅ‡บๅ•็บฏ็š„ๆจกๅž‹่ƒฝๅŠ›ๅฏนๆฏ”๏ผŒไปŽไบงๅ“ Sense ไธŽๅทฅ็จ‹้€ป่พ‘็š„ๅŒ้‡่ง†่ง’๏ผŒๆทฑๅบฆๆ‹†่งฃ Perplexity ็š„็ ดๅฑ€ไน‹้“ใ€‚ๆˆ‘ไปฌๅฐ†ๆŽข่ฎจๅฎƒๅฆ‚ไฝ•้€š่ฟ‡ๅ็›ด่ง‰็š„ UI ๅˆ›ๆ–ฐ้‡ๅก‘ไบคไบ’่ตท็‚น๏ผŒๅฆ‚ไฝ•ๅœจๅทฅ็จ‹ๅฑ‚้ขๆญป็ฃ•ๅฐพ้ƒจๅปถ่ฟŸไธŽๅนป่ง‰ๆŽงๅˆถ๏ผŒไปฅๅŠๅฎƒๅฆ‚ไฝ•ๅˆฉ็”จๅทจๅคด็š„ๅˆฉๆถฆ็އๆŠคๅŸŽๆฒณๅฎž็Žฐ้”™ไฝ็ซžไบ‰ใ€‚ๆœ€็ปˆ๏ผŒๆˆ‘ไปฌๅฐ†่ง†็บฟๆŠ•ๅ‘ๆœชๆฅ๏ผŒไธ€็ชฅ AI ไปŽ่ขซๅŠจๅ“ๅบ”่ตฐๅ‘ไธปๅŠจๆŽข็ดข็š„ๆผ”่ฟ›่“ๅ›พใ€‚\",\"permalink\":\"/product-sense/perplexity-knowledge-worker\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"AI ๆœ็ดข\",\"็Ÿฅ่ฏ†ๅ‘็Žฐ\",\"ไบงๅ“ Sense\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"date\":\"2024-05-08 08:56:21\",\"capture\":\"1. ๅผ•่จ€\\nๅœจ AI ๆตชๆฝฎไธ‹๏ผŒๆœ็ดขๅผ•ๆ“Ž็š„่Œƒๅผๆญฃๅœจๅ‘็”Ÿ่ฝฌ็งปใ€‚ไฝœไธบๅฝ“ๅ‰ๅค‡ๅ—็žฉ็›ฎ็š„ AI ๆœ็ดขไบงๅ“๏ผŒPerplexity ๅนถๆฒกๆœ‰่ฏ•ๅ›พๆˆไธบโ€œไธ‹ไธ€ไธช Googleโ€๏ผŒ่€Œๆ˜ฏๅฐ†่‡ชๅทฑๅฎšไน‰ไธบ็Ÿฅ่ฏ†ๅ‘็Žฐๅผ•ๆ“Žใ€‚\\nๅฏนไบŽๆฏๅคฉ้œ€่ฆๅค„็†ๆตท้‡ไฟกๆฏใ€่ฟ›่กŒๅคๆ‚ๅ†ณ็ญ–็š„็Ÿฅ่ฏ†ๅทฅไฝœ่€…่€Œ่จ€๏ผŒๅฆ‚ไฝ•้ซ˜ๆ•ˆๅœฐโ€œๅŽปๅ™ชโ€ๅนถ่Žทๅ–้ซ˜ไฟกๅบฆ็Ÿฅ่ฏ†ๆ˜ฏๆ ธๅฟƒ่ฏ‰ๆฑ‚ใ€‚็ฌ”่€…ๅฐ†ไปŽไบงๅ“ไบคไบ’ใ€ๆŠ€ๆœฏๅทฅ็จ‹ใ€ๅ•†ไธš้€ป่พ‘ไธŽๆœชๆฅๆผ”่ฟ›ๅ››ไธช็ปดๅบฆ๏ผŒๅˆ†ๆž Perplexity ๆ˜ฏๅฆ‚ไฝ•้‡ๅก‘ไฟกๆฏ่Žทๅ–ๅทฅไฝœๆต็š„ใ€‚\\nๆœฌๆ–‡ๆ—จๅœจ้€š่ฟ‡ๅฏน Perplexity ็š„ๆทฑๅบฆไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž๏ผŒๅธฎๅŠฉ่ฏป่€…็†่งฃ AI ๆœ็ดขไบงๅ“็š„่ฎพ่ฎก้€ป่พ‘ไธŽ็”จๆˆทไฝ“้ชŒไผ˜ๅŒ–่ทฏๅพ„๏ผŒๅŒๆ—ถไธบ็Ÿฅ่ฏ†ๅทฅไฝœ่€…ๆไพ›ๅฏ่ฝๅœฐ็š„ๆ•ˆ็އๆๅ‡ๆ–นๆณ•๏ผŒๅนถๅœจ่ฟ‡็จ‹ไธญๅŸนๅ…ป็ป“ๆž„ๅŒ–ไบงๅ“ๅˆ†ๆžๆ€็ปดใ€‚\\n\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/70.่ฏ—ๆญŒๅฐ็ฒพ็ต\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/70.่ฏ—ๆญŒๅฐ็ฒพ็ต\",\"frontmatter\":{\"date\":\"2024-04-19 22:15:38\",\"title\":\"้›ถไปฃ็ ไธ็ญ‰ไบŽ้›ถ้€ป่พ‘๏ผš็ป“ๆž„ๅŒ– Prompt ้ฉฑๅŠจไธ‹็š„ Agent ๆญๅปบๅฎžๆˆ˜\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจ Agent ๆฆ‚ๅฟตๆปกๅคฉ้ฃž็š„ๅฝ“ไธ‹๏ผŒๅ†ณๅฎšๅคงๆจกๅž‹ๅฎž้™…่กจ็Žฐ็š„ๅพ€ๅพ€ๆ˜ฏๆœ€ๅบ•ๅฑ‚็š„ System Prompt ่ฎพ่ฎกใ€‚ๆœฌๆ–‡่ฎฐๅฝ•ไบ†ๅ‘จๆœซๅˆฉ็”จๆ–‡ๅฟƒๆ™บ่ƒฝไฝ“ๅนณๅฐๆญๅปบโ€œ่ฏ—ๆญŒๅฐ็ฒพ็ตโ€็š„ๅฎŒๆ•ดๅฎž่ทตใ€‚้€š่ฟ‡ๅฏนๆฏ”โ€œไผ ็ปŸๅคงๆฎตๆ–‡ๆœฌโ€ไธŽโ€œLangGPT ็ป“ๆž„ๅŒ–โ€ไธค็ง Prompt ็š„ๅฎž้™…่พ“ๅ‡บ๏ผŒๆทฑๅบฆๆ‹†่งฃไบ†็ป“ๆž„ๅŒ– Prompt ๅฆ‚ไฝ•ๅƒโ€œๅ†™ไปฃ็ โ€ไธ€ๆ ท่ง„่Œƒ AI ็š„ๆ€่€ƒๅทฅไฝœๆต๏ผŒๆœ‰ๆ•ˆ่งฃๅ†ณๆŒ‡ไปคๆผ‚็งปไธŽๅนป่ง‰้—ฎ้ข˜ใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ๆฌก Prompt ่ฐƒไผ˜ๅฎž้ชŒ๏ผŒๆ›ดๆ˜ฏไธ€ๅœบๅ…ณไบŽ AI ไบงๅ“ Sense ไธŽๆœชๆฅไบคไบ’ๅฝขๆ€็š„ๆŽข็ดขใ€‚\",\"coverImg\":\"/img/cover/llm_learning_bg_2.png\",\"categories\":[\"ai-practice\"],\"permalink\":\"/ai-practice/poetry-bot\",\"tags\":[\"Agent\",\"AI\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"้›ถไปฃ็ ไธ็ญ‰ไบŽ้›ถ้€ป่พ‘๏ผš็ป“ๆž„ๅŒ– Prompt ้ฉฑๅŠจไธ‹็š„ Agent ๆญๅปบๅฎžๆˆ˜\",\"date\":\"2024-04-19 22:15:38\",\"capture\":\"1. ๅฎž่ทต่ƒŒๆ™ฏ\\nๅ‘จๆœซๅœจ็คพๅŒบๆดปๅŠจไธญๅ†ๆฌกๅฌๅˆฐไบ† LangGPT ไฝœ่€…ไบ‘ไธญๆฑŸๆ ‘ๅ…ณไบŽโ€œ็ป“ๆž„ๅŒ–ๆ็คบ่ฏโ€็š„ๅˆ†ไบซ๏ผŒ่ฎฉไบบๆ„Ÿ่งฆ้ข‡ๆทฑใ€‚่™ฝ็„ถๅฝ“ๅ‰ Agent ๆฆ‚ๅฟต็ซ็ƒญ๏ผŒๅฑ‚ๅ‡บไธ็ฉท็š„ๆก†ๆžถ่ฎฉไบบ็œผ่Šฑ็ผญไนฑ๏ผŒไฝ†ๅ›žๅฝ’ๆœฌ่ดจๆˆ‘ไปฌๅฐฑไผšๅ‘็Žฐ๏ผšSystem Prompt ็š„ๅบ•ๅฑ‚่ฎพ่ฎกใ€ไธŠไธ‹ๆ–‡ๅทฅ็จ‹ไปฅๅŠๆŒ‡ไปค้ตๅพชๆœบๅˆถ๏ผŒๆ‰ๆ˜ฏๅ†ณๅฎšไธ€ไธช Agent ็ต้ญ‚็š„ๅ…ณ้”ฎใ€‚\\nๆญฃๅทงๅคงๅ›ข้˜Ÿ่‡ช็ ”็š„้›ถไปฃ็  Agent ๅนณๅฐ่ฟ‘ๆœŸๅ‘ๅธƒไบ†ๆ–ฐ็‰ˆๆœฌ๏ผŒไธบไบ†ไบฒๆต‹ๅนณๅฐๆ€ง่ƒฝๅนถๅฎžๆˆ˜ๆผ”็ปƒ็ป“ๆž„ๅŒ– Prompt ็š„็ผ–ๅ†™ๆŠ€ๅทง๏ผŒๆˆ‘ๅ†ณๅฎšๅˆ›ๅปบไธ€ไธชโ€œ่ฏ—ๆญŒๅฐ็ฒพ็ตโ€ Agentใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ไธช่ถฃๅ‘ณๅฎž้ชŒ๏ผŒๆ›ดๆ˜ฏไธบไบ†ๆŽข็ดข AI ๅœจๆ–‡ๅญฆๅˆ›ไฝœ่ฟ™็งโ€œๆ„Ÿๆ€ง้ข†ๅŸŸโ€ไธญ๏ผŒๅฆ‚ไฝ•้€š่ฟ‡โ€œ็†ๆ€ง็š„็ป“ๆž„็บฆๆŸโ€่พพๅˆฐๆ›ด้ซ˜็š„่พ“ๅ‡บไธŠ้™ใ€‚\\n 2. ๅนณๅฐไธŽ\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2024-03-20 22:41:41\",\"title\":\"ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ๅœจ้œ€ๆฑ‚่พน็•Œๅ†…่ฟฝๆฑ‚ๆœ€ๅฐๅคๆ‚ๅบฆโ€”โ€”ไธๆ˜ฏๆ‹’็ปๅคๆ‚๏ผŒ่€Œๆ˜ฏไธไธปๅŠจๅˆถ้€ ๅคๆ‚ใ€‚\",\"description\":\"ๆทฑๅ…ฅ่งฃๆžๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™ๅœจ็ผ–็จ‹ไธŽ่ฎพ่ฎกไธญ็š„ๅ…ญๅคงๅœบๆ™ฏ๏ผšๆ‹’็ป่ฟ‡ๅบฆ้ข„ๅˆคใ€็งป้™คๅ†—ไฝ™้€ป่พ‘ใ€ๅŒน้…ๆžถๆž„่ง„ๆจกใ€ๅ…‹ๅˆถไพ่ต–ๅผ•ๅ…ฅใ€ๅฐ่ฃ…ๆœ€ๅฐๆŽฅๅฃใ€ๅ…ˆๆŽ’ๆŸฅ็ฎ€ๅ•ๅŽŸๅ› ๏ผŒๅนถ็ป™ๅ‡บไธ‰ไธชๅ…ณ้”ฎ่พน็•Œใ€‚\",\"permalink\":\"/fullstack/occams-razor-software-design\",\"tags\":[\"concept\",\"engineering-fundamentals\",\"code-design\",\"software-engineering\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2024-03-20 22:41:41\",\"capture\":\"<script setup\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n> ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™็”ฑ 14 ไธ–็บช้€ป่พ‘ๅญฆๅฎถๅจๅป‰ยทๅฅฅๅกๅง†ๆๅ‡บ๏ผŒๅ…ถๆ ธๅฟƒไธบ\\\"ๅฆ‚ๆ— ๅฟ…่ฆ๏ผŒๅ‹ฟๅขžๅฎžไฝ“\\\"โ€”โ€”ๅœจๅคšไธชๅŒ็ญ‰ๆœ‰ๆ•ˆ็š„ๆ–นๆกˆไธญ๏ผŒ้€‰ๆ‹ฉๅ‡่ฎพๆœ€ๅฐ‘ใ€ๆœ€็ฎ€ๆด็š„้‚ฃไธชใ€‚่ฏฅๅŽŸๅˆ™ๅนถ้žๅฆๅฎšๅคๆ‚ๆ€ง๏ผŒ่€Œๆ˜ฏ้ฟๅ…ๆ— ๆ„ไน‰็š„่ฟ‡ๅบฆ่ฎพ่ฎกใ€‚ๆ–‡็ซ ไปŽ็ผ–็จ‹ไธŽ่ฎพ่ฎกๅฎž่ทตๅ‡บๅ‘๏ผŒไพๆฌกๆŽข่ฎจไบ†้œ€ๆฑ‚ๅฎž็Žฐใ€ไปฃ็ ๅฎž็Žฐใ€ๆžถๆž„่ฎพ่ฎกใ€ไพ่ต–็ฎก็†ใ€ๆŽฅๅฃ่ฎพ่ฎกใ€่ฐƒ่ฏ•ไผ˜ๅŒ–ๅ…ญๅคงๅœบๆ™ฏ็š„ๅไพ‹ไธŽๆญฃไพ‹๏ผŒๅนถๆ˜Ž็กฎๆŒ‡ๅ‡บไธ‰ไธชๅ…ณ้”ฎ่พน็•Œ๏ผšไธๅฏ็‰บ็‰ฒๅฏ็ปดๆŠคๆ€งใ€ๅฏๆ‰ฉๅฑ•ๆ€งใ€ๅฎ‰ๅ…จๆ€งๆขๅ–็ฎ€ๆดใ€‚\\n 1.\"},{\"url\":\"/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/50.็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“\",\"relativePath\":\"/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/50.็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“\",\"frontmatter\":{\"date\":\"2024-01-01 16:00:00\",\"title\":\"็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“\",\"description\":\"ๅฐ†็ปๆตŽๅญฆๆ ธๅฟƒๅŽŸ็†่žๅˆ่ฟ›ไบงๅ“่ฎพ่ฎกๅ…จ็”Ÿๅ‘ฝๅ‘จๆœŸ็š„ๆ–นๆณ•่ฎบไฝ“็ณป๏ผŒๆž„ๅปบ็†ๆ€ง็š„โ€œไบงๅ“Senseโ€ใ€‚\",\"categories\":[\"ไบงๅ“ Sense\"],\"permalink\":\"/product-sense/using-economics-thinking\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“\",\"date\":\"2024-01-01 16:00:00\",\"capture\":\"ๅœจไบงๅ“็ฎก็†็š„ๅนฟ้˜”ๅคฉๅœฐไธญ๏ผŒๆˆ‘ไปฌๅพ€ๅพ€ๅผบ่ฐƒโ€œไบงๅ“ Senseโ€๏ผˆProduct Sense๏ผ‰โ€”โ€”ไธ€็งๅฏน็”จๆˆท้œ€ๆฑ‚ใ€ๅธ‚ๅœบ้ฃŽๅ‘ๅ’ŒๆŠ€ๆœฏๆฝœๅŠ›็š„็›ด่ง‰ๆ€งๆ•ๆ‰ใ€‚็„ถ่€Œ๏ผŒ่ฟ™็ง Sense ็ป้žๅ‡ญ็ฉบ่€Œๆฅ็š„็ตๅ…‰ไน็Žฐ๏ผŒๅฎƒ้œ€่ฆ็จณๅ›บ็š„็†ๆ€งๅœฐๅŸบใ€‚ๅœจไผ—ๅคšๅญฆ็ง‘ไธญ๏ผŒ็ปๆตŽๅญฆๆ— ็–‘ๆไพ›ไบ†ๆœ€ๅบ•ๅฑ‚็š„้€ป่พ‘ๆ”ฏๆŸฑใ€‚\\n็ปๆตŽๅญฆไธไป…ไป…ๆ˜ฏๅ…ณไบŽ้‡‘้’ฑๅ’Œๅธ‚ๅœบ็š„็ง‘ๅญฆ๏ผŒๅฎƒๆ›ดๆ˜ฏไธ€็ง่งฃๅ†ณ้—ฎ้ข˜ใ€ไผ˜ๅŒ–ๅ†ณ็ญ–็š„ๆ–นๅผใ€‚ๅฏนไบงๅ“ไบบ่€Œ่จ€๏ผŒๅ€Ÿ้‰ด็ปๆตŽๅญฆๆ€็ปด๏ผŒๆ„ๅ‘ณ็€่ƒฝๅคŸ็†ๆ™บๅœฐๆƒ่กกๅˆฉๅผŠ๏ผŒๆ›ด็ฒพๅ‡†ๅœฐๅฎšไปท๏ผŒๆ›ดๆทฑๅˆปๅœฐๆดžๅฏŸไบบๆ€ง๏ผŒๆœ€็ปˆๅœจ้”™็ปผๅคๆ‚็š„็บฆๆŸๆกไปถไธ‹๏ผŒๆฑ‚่งฃๅ‡บ็”จๆˆทไปทๅ€ผไธŽๅ•†ไธšไปทๅ€ผๅนถ้‡็š„ๆœ€ไผ˜่งฃใ€‚\\n 1. ็”Ÿๆดป้‡Œ็š„็ปๆตŽๅญฆๆดžๅฏŸโ€”โ€”ๆดžๅฏŸไธไป…ๆ˜ฏๅ…ณไบŽ้œ€ๆฑ‚๏ผŒๆ›ดๆ˜ฏๅ…ณไบŽๆˆๆœฌไธŽๅšๅผˆ\\nๆˆ‘ไปฌๅธธ่ขซๆ—ฅๅธธ็Žฐ่ฑก็š„โ€œๅˆ็†ๆ€งโ€ๆ‰€่ฟทๆƒ‘๏ผŒ่€Œ็ปๆตŽๅญฆ\"},{\"url\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/01.ๅฅฝไนฆๆŽจ่\",\"relativePath\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/01.ๅฅฝไนฆๆŽจ่\",\"frontmatter\":{\"title\":\"ๅฅฝไนฆๆŽจ่\",\"date\":\"2024-01-01 16:00:00\",\"description\":\"่ฏปไนฆๅฟƒๅพ—ใ€ๆŽจ่ไนฆ็ฑๅ’Œ้˜…่ฏปๆŠ€ๅทง\",\"categories\":[\"growth\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/books_reading_bg.png\",\"permalink\":\"/growth/books\",\"tags\":[\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\",\"่ต„ๆบๆŽจ่\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฅฝไนฆๆŽจ่\",\"date\":\"2024-01-01 16:00:00\",\"capture\":\"<script setup\\n import BookRecommend from './@fragment/BookRecommend.vue'\\n import {aiBooks, productSenseBooks, businessBooks, efficiencyBooks, growthBooks, humanSocialBooks, healthBooks} from './@fragment/recommends-data.ts'\\n</script>\\n 1. AI ไธŽๆ•ฐๅญฆๆ€็ปด\\n> ๅœจๅคงๆจกๅž‹ๅ‘ๅฑ•ๆ—ฅๆ–ฐๆœˆๅผ‚็š„ไปŠๅคฉ๏ผŒ็†่งฃ AI ๆœฌ่ดจไธŠๆ˜ฏๅœจๅ‡็บงๆˆ‘ไปฌ่ต„ๆทฑ็š„โ€œ่ฎค็Ÿฅๆ“\"},{\"url\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/20.ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹้˜ถๆฎต้š็ฌ”ๆฑ‡ๆ€ป\",\"relativePath\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/20.ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹้˜ถๆฎต้š็ฌ”ๆฑ‡ๆ€ป\",\"frontmatter\":{\"date\":\"2022-09-12 08:16:00\",\"title\":\"็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ”นๅ–„็š„ๆ–นๅผๆŽจๅŠจๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไปŽโ€œไนฆ็”Ÿๆ„ๆฐ”โ€ๅˆฐๅˆๅ…ฅ็คพไผš็š„โ€œไธญๅนดๆฒน่…ปโ€ๅฑๆœบ๏ผŒไธ€ๆฌกๅฅๅบท่ญฆๆŠฅ่ฎฉ็ฌ”่€…ๅผ€ๅฏไบ†่ฟ™ๅœบๆทฑๅˆป็š„่‡ชๆˆ‘ๅฏน่ฏไธŽ่กŒๅŠจใ€‚ๆœฌๆ–‡่ฏฆ็ป†ๅค็›˜ไบ†็ฌ”่€…ไปŽๅฅๅบทๅฑๆœบๅ‡บๅ‘๏ผŒ้€š่ฟ‡ๅ››ไธช้˜ถๆฎต็š„ๅพชๅบๆธ่ฟ›๏ผŒๆˆๅŠŸๅฎž็Žฐไฝ“้‡็ฎก็†็š„่ฟ‡็จ‹ใ€‚ๅŒบๅˆซไบŽ็›ฒ็›ฎ่ทŸ้ฃŽ๏ผŒ็ฌ”่€…ๅœจๅฎž่ทตไธญๅผ•ๅ…ฅไบ†็›ฎๆ ‡ๆ‹†่งฃใ€ๆ•ฐๆฎ็›‘ๆŽง๏ผˆไฝ“่„‚็งคๆŒ‡ๆ ‡๏ผ‰ใ€่ทจ้ข†ๅŸŸ็ป้ชŒ่ฟ็งป๏ผˆๅฆ‚้กน็›ฎ็ฎก็†ใ€ๆ—ถ้—ด็ฎก็†๏ผ‰ไปฅๅŠๅฏนไธๅŒ็ญ–็•ฅ๏ผˆๅฆ‚ๆŽงๅˆถ้ฅฎ้ฃŸใ€ๅŠ ๅคงๆ— ๆฐง่ฟๅŠจใ€ๅฐ่ฏ•ไธๅƒไธป้ฃŸ๏ผ‰็š„่พฉ่ฏ้‡‡็บณใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ไปฝๅ‡่‚ฅ่ฎฐๅฝ•๏ผŒๆ›ดๆ˜ฏไธ€ๆฌก็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ€็ปด้‡ๆž„็”Ÿๆดป็งฉๅบใ€ๅฎž็Žฐ่บซๅฟƒๅ‡็บง็š„ๅฎžๆ“ๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/growth/weight-loss\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/health_bg.png\",\"top\":true,\"tags\":[\"ๅฅๅบท\",\"่ฟๅŠจ\"],\"categories\":[\"ไธชไบบๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ”นๅ–„็š„ๆ–นๅผๆŽจๅŠจๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹\",\"date\":\"2022-09-12 08:16:00\",\"capture\":\"ๅ†™ๅœจๅ‰้ข\\nๅœจ็ปๆตŽๅฟซ้€Ÿๅ‘ๅฑ•็š„ๅคง่ƒŒๆ™ฏไธ‹๏ผŒไธ€ๆ‰นๅˆไธ€ๆ‰น็š„ๅคงๅญฆ็”Ÿ้™†็ปญ่ตฐๅ‡บๆ ก้—จ่ฟ›ๅ…ฅ็คพไผšๅคง่ˆžๅฐใ€‚้š็€ๅนด้พ„ไธŽๅทฅไฝœๅนด้™็š„ๅขž้•ฟ๏ผŒไธ็Ÿฅ็ฝฎ่บซไบŽๅ…ถไธญ็š„ไฝ ๆ˜ฏๅฆๆ„Ÿๆ…จ่ฟ‡่‡ชๅทฑๅœจ้˜…ๅކไธŠไปŽโ€œไนฆ็”Ÿๆ„ๆฐ”โ€ๆธๆธๆผ”ๅ˜ไธบโ€œๅ››ๅนณๅ…ซ็จณ๏ผŒๆธธๅˆƒๆœ‰ไฝ™โ€๏ผ›ๅœจ่บซไฝ“ๅ…ปๆŠคๆ–น้ขไปŽโ€œ่บซๆๆ— ๆ•Œ๏ผŒๅนด้พ„ๆˆ่ฟท๏ผŒๅฎžๆ‰“ๅฎžไธ€ไธชไผ ๅฅ‡โ€ๆผ”ๅ˜ไธบโ€œไธญๅนดๆฒน่…ปโ€ใ€‚ๆฏไธชไบบๅคšๅฐ‘้ƒฝๆœ‰่‡ชๅทฑ็š„็ญ”ๆกˆ๏ผŒ็ฌ”่€…็š„็ญ”ๆกˆๆ˜ฏ๏ผš่ตฐๅ‡บๆ ก้—จ่ฟ›ๅ…ฅ็คพไผšๅŽ๏ผŒๅฝ“ๅˆๅฏน่บซ่พนไบบๆœ‰็‚น่‹›ๅˆป๏ผŒ้‡ไบ‹็ซๆ€ฅ็ซ็‡Ž็š„่‡ชๅทฑ้€ๆธๅพ—ๅˆฐไบ†ๆ”นๅ–„ใ€‚่บซไฝ“ๅดๅ› ๅŽŸๆœฌๅœจๅคงๅญฆๆ—ถๆฒกๆœ‰ๆ€Žไนˆๅœจๆ„๏ผŒ็ป่ฟ‡้•ฟๅนด็ดฏๆœˆๅœฐๆด—็คผไบฎไบ†ไธ€ๆฌกๅฐ็บข็ฏใ€‚ๅœจๅบทๅคๆœŸ้—ด๏ผŒไธๆญขไธ€ๆฌกๅๆ€่ฟ‡ไน‹ๅ‰็š„็”Ÿๆดปๆ–นๅผๅ’Œๅ…ฅไธ–ๆจกๅผ๏ผŒๆƒณไธ€ๆƒณ + ๅ››ๅค„็œ‹ไธ€็œ‹ๅŽ๏ผŒๆ…ขๆ…ขไนŸๅฐฑๅผ€ๆ‚Ÿไบ†๏ผŒ่‡ช็„ถ่ฆๅฏๅŠจไธ€ไบ›ๆ”นๅ˜ๅฐ่ฏ•ใ€‚\\nๅ› ๆญค๏ผŒไนŸๅฐฑๆœ‰ไบ†่ฟ™็ฏ‡ๅ‡่‚ฅ่ฟ™ไปถ\"}],\"sortPostsByDate\":[{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/10.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Deep Research Agent\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/10.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Deep Research Agent\",\"frontmatter\":{\"date\":\"2026-04-02 00:38:37\",\"title\":\"ๅฃฐๆ˜Žๅผๅคšๆ™บ่ƒฝไฝ“ๅๅŒ๏ผšๅŸบไบŽ Claude Agent SDK ๆž„ๅปบๆทฑๅบฆ็ ”็ฉถ็ณป็ปŸ\",\"description\":\"ๅฏนๅคๆ‚็ ”็ฉถไปปๅŠกๆ—ถ๏ผŒๅ•ๆ™บ่ƒฝไฝ“๏ผˆSingle-Agent๏ผ‰ๅธธๅ› ไธŠไธ‹ๆ–‡็จ€้‡Šๅ’Œ้€ป่พ‘็–ฒๅŠณๅฏผ่‡ดไบงๅ‡บ่ดจ้‡ไธ‹้™ใ€‚ๆœฌๆ–‡ๅŸบไบŽ Claude Agent SDK ๆŽข่ฎจไบ†ๅคšๆ™บ่ƒฝไฝ“็ณป็ปŸ๏ผˆMAS๏ผ‰็š„ๅทฅ็จ‹ๅŒ–่ฝๅœฐใ€‚้€š่ฟ‡โ€œLead + Subagentโ€็š„ๅฃฐๆ˜Žๅผๆžถๆž„๏ผŒๆˆ‘ไปฌๅฐ†ๆทฑๅบฆ็ ”็ฉถๆ‹†่งฃไธบๆœ็ดขใ€้‡ๅŒ–ๅˆ†ๆžใ€ๅฏ่ง†ๅŒ–็ป˜ๅ›พไธŽ็ป“ๆž„ๅŒ–ๅ†™ไฝœๅ››ไธช็‹ฌ็ซ‹็Žฏ่Š‚ใ€‚\",\"permalink\":\"/ai-agent/deepresearch-agent\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"],\"tags\":[\"Agent SDK\",\"Multi-Agent\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฃฐๆ˜Žๅผๅคšๆ™บ่ƒฝไฝ“ๅๅŒ๏ผšๅŸบไบŽ Claude Agent SDK ๆž„ๅปบๆทฑๅบฆ็ ”็ฉถ็ณป็ปŸ\",\"date\":\"2026-04-02 00:38:37\",\"capture\":\"> ๅฎž่ทต่ฏๆ˜Ž๏ผŒ้€š่ฟ‡ไธฅๆ ผ็š„่Œ่ดฃ้š”็ฆป๏ผˆๅฆ‚ Lead Agent ไป…่ดŸ่ดฃ่ฐƒๅบฆ๏ผ‰ไธŽๅทฅ็จ‹่พน็•Œ็บฆๆŸ๏ผˆๅฆ‚ Researcher ๅผบๅˆถๆๅ–้‡ๅŒ–ๆŒ‡ๆ ‡๏ผ‰๏ผŒMAS ่ƒฝๅคŸ็”Ÿๆˆๅ…ทๅค‡ไธ“ไธšๆ•ฐๆฎๅ›พ่กจๆ”ฏๆ’‘็š„ๆทฑๅบฆๆŠฅๅ‘Šใ€‚ๆœฌๆ–‡ๅฐ†ไปŽๆžถๆž„่ฎพ่ฎกใ€ๅทฅไฝœๆต็ผ–ๆŽ’ๅˆฐ PDF ่‡ชๅŠจ็”Ÿๆˆ๏ผŒๅฎŒๆ•ด่ฟ˜ๅŽŸ่ฟ™ไธ€โ€œAI ้ฉฑๅŠจ่ฐƒ็ ”ๆตๆฐด็บฟโ€็š„ๆž„ๅปบ่ฟ‡็จ‹๏ผŒๅนถๅฑ•็คบๅ…ถๅœจๆ•™่‚ฒ็ ”็ฉถๆกˆไพ‹ไธญ็š„ๅฎžๆˆ˜ๆ•ˆๆžœใ€‚\\n 1. ๅผ•่จ€\\nๅœจ AI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐไธ€ๆ–‡ไธญ๏ผŒๆˆ‘ไปฌๆŽข่ฎจไบ†ๅคšๆ™บ่ƒฝไฝ“็ณป็ปŸ๏ผˆMulti-Agent Systems, MAS๏ผ‰็š„็†่ฎบไผ˜ๅŠฟใ€‚ไปŽ็†่ฎบๅฑ‚้ข็œ‹๏ผŒ่ฟ™็ฑป็ณป็ปŸ้€š่ฟ‡ไปปๅŠกๅˆ†่งฃใ€่Œ่ดฃ้š”็ฆปไธŽๅนถ่กŒๅไฝœๆœบๅˆถ๏ผŒๆœ‰ๆ•ˆ็ช็ ดไบ†ๅ•ๆ™บ่ƒฝไฝ“ๅœจๅคๆ‚ไปปๅŠกไธญ็š„่ƒฝๅŠ›็“ถ้ขˆโ€”โ€”ไธไป…ๆ˜พ่‘—ๆๅ‡ไบ†ไปปๅŠกๅค„็†็š„ๅคฉ่Šฑๆฟ\"},{\"url\":\"/01.ๅ…จๆ ˆ/00.overview\",\"relativePath\":\"/01.ๅ…จๆ ˆ/00.overview\",\"frontmatter\":{\"date\":\"2026-03-19 23:05:50\",\"title\":\"ๅ…จๆ™ฏไธ€่งˆ\",\"description\":\"ๆœฌ็ณปๅˆ—ๅ›ด็ป•็Žฐไปฃๅ…จๆ ˆๅผ€ๅ‘็š„่ƒฝๅŠ›ไฝ“็ณปๅฑ•ๅผ€๏ผŒไปŽ AI ๆ—ถไปฃ็š„ๅทฅ็จ‹ๆ€็ปดๅ‡บๅ‘๏ผŒ่ฆ†็›–ๅ‰็ซฏๅทฅ็จ‹๏ผˆReact/Vue/CSS๏ผ‰ใ€ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป๏ผˆTypeScript/JavaScript๏ผ‰ใ€ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่็ญ‰ๆ ธๅฟƒ้ข†ๅŸŸ๏ผŒๅธฎๅŠฉๆž„ๅปบไปŽ\\\"่ฎค็Ÿฅๅฑ‚ โ†’ ๆŠ€ๆœฏ้ข†ๅŸŸ โ†’ ๅทฅ็จ‹่ƒฝๅŠ› โ†’ ๅŸบ็ก€่ฎพๆ–ฝ\\\"็š„ๅฎŒๆ•ดๅ…จๆ ˆ็Ÿฅ่ฏ†ๅ›พ่ฐฑใ€‚\",\"categories\":[\"ๅ…จๆ ˆ\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"permalink\":\"/fullstack/overview\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ…จๆ™ฏไธ€่งˆ\",\"date\":\"2026-03-19 23:05:50\",\"capture\":\"<script setup\\nimport ArticleCardList from '@fragment/components/ArticleCardList.vue'\\nimport { fullStackCategories } from '@fragment/data/full-stack-data'\\n</script>\\n<ArticleCardList :categories=\\\"fullStackCategories\\\" />\"},{\"url\":\"/10.ไบงๅ“ Sense/00.ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"relativePath\":\"/10.ไบงๅ“ Sense/00.ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"frontmatter\":{\"date\":\"2026-03-19 23:05:50\",\"title\":\"ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"description\":\"ไบงๅ“ Sense ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ๏ผŒๆถต็›– AI ไบงๅ“่ง‚ๅฏŸใ€ๅคๅˆๅž‹ไบบๆ‰ๆˆ้•ฟใ€ๅ•†ไธšๅŒ–ๆ€่€ƒๅŠๆ–นๆณ•่ฎบๆ€ป็ป“็ญ‰ใ€‚\",\"categories\":[\"ไบงๅ“ Sense\",\"AI\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"date\":\"2026-03-19 23:05:50\",\"capture\":\"> * ่ฟฝๆฑ‚้ซ˜ๆ ๆ†โ€”โ€”ไปฅๆž็ฎ€ๆŠ€ๆœฏ่งฃๅ†ณๅคๆ‚้—ฎ้ข˜๏ผŒๆ‹’็ปไธบ็‚ซๆŠ€่€Œ่ฎพ่ฎก็š„ไผช้œ€ๆฑ‚๏ผ›\\n> * ๅนณ่กกๆ„Ÿๆ€งไธŽ็†ๆ€งโ€”โ€”ๆ—ขๅ…ฑๆƒ…็”จๆˆท็š„็œŸๅฎžๅœบๆ™ฏไธŽๆƒ…็ปช๏ผŒๅˆๅ†ท้™่ฟฝๆบฏ็—›็‚นๆœฌ่ดจ๏ผŒ่ฎฉไบงๅ“ๆ—ขๆœ‰ๆธฉๅบฆ๏ผŒๅˆไธ่‡ณไบŽๆฒฆไธบๅŠŸ่ƒฝ็š„ๅ †็ Œใ€‚\\n่งฃๆž„่ฟ™็งไบงๅ“ Sense ็š„ๅŸบ็ก€ๅœจไบŽๅฏนๆŠ•ๅ…ฅไบงๅ‡บๆฏ”๏ผˆROI๏ผ‰็š„ๆž่‡ด่ฟฝๆฑ‚ไธŽๅฏนไบบๆ€ง็š„ๆทฑๅบฆๅ‰–ๆž๏ผš\\n* ไธ€ๆ–น้ข๏ผŒๅ“่ถŠ็š„ไบงๅ“ๅ—…่ง‰ๆ„ๅ‘ณ็€ๅฏปๆ‰พโ€œ้ซ˜ๆ ๆ†่งฃโ€๏ผŒ็”จๆœ€ๅ…‹ๅˆถ็š„ๆŠ€ๆœฏๅคๆ‚ๅบฆๅŽปๆ’ฌๅŠจๆœ€ๅนฟๆณ›ไธ”ๅผบ็ƒˆ็š„็”จๆˆทไปทๅ€ผ๏ผŒๆžœๆ–ญ่ง„้ฟไธบไบ†ๆŠ€ๆœฏ่€ŒๆŠ€ๆœฏ็š„ไผช้œ€ๆฑ‚้™ท้˜ฑใ€‚\\n* ๅฆไธ€ๆ–น้ข๏ผŒๆ—ข้œ€่ฆ่ฎพ่บซๅค„ๅœฐๆ„Ÿ็Ÿฅ็”จๆˆท็š„็œŸๅฎžไฝฟ็”จๅœบๆ™ฏไธŽๆƒ…็ปช๏ผŒๅˆๅฟ…้กปไฟๆŒ็†ๆ€งๅŽป่ฟฝ้—ฎ็—›็‚น็š„ๆ นๆบ๏ผŒ็กฎไฟไบงๅ“ๆ—ขไธๆฒฆไธบ่‡ƒ่‚ฟ็š„้œ€ๆฑ‚่ฎธๆ„ฟๆฑ ๏ผŒไนŸไธๅ˜ๆˆ็ผบไนไบบๆ€งๆธฉๅบฆ็š„ๅ†ฐๅ†ทๆœบๅ™จใ€‚\\n<im\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/00.AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/00.AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ\",\"frontmatter\":{\"title\":\"AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"date\":\"2026-03-15 16:00:00\",\"description\":\"ๅ…จๆ™ฏๅผ AI ๅญฆไน ไธŽๅฎž่ทต็Ÿฅ่ฏ†ๅบ“๏ผŒ็ณป็ปŸๆฒ‰ๆท€ AI Agent ่ฎพ่ฎกๆจกๅผใ€ๅคงๆจกๅž‹ๅทฅ็จ‹ๅŒ–่ฝๅœฐใ€ๅผ€ๆบๅฐ้กน็›ฎๅŠ็คพๅŒบๆดปๅŠจ็ป้ชŒๆ€ป็ป“๏ผŒๆŒ็ปญ่ฟญไปฃไปŽ็†่ฎบๅˆฐ็”Ÿไบง็š„ๅฎŒๆ•ดๆ–นๆณ•่ฎบใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/llm_learning_bg_1.png\",\"permalink\":\"/ai-learning/overview\",\"categories\":[\"ai-practice\"],\"tags\":[\"AI\",\"LLM\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"date\":\"2026-03-15 16:00:00\",\"capture\":\"<!-- ็ฒพ้€‰ไธ“้ข˜ --\\n<script setup>\\nimport ArticleCardList from '@fragment/components/ArticleCardList.vue'\\nimport { aiLearningCategories } from '@fragment/data/ai-learning-data'\\n</script>\\n<ArticleCardList :categories=\\\"aiLearningCategories\\\" />\"},{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/02.CSSๅทฅ็จ‹ๅŒ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/02.CSSๅทฅ็จ‹ๅŒ–\",\"frontmatter\":{\"date\":\"2026-03-10 22:05:50\",\"title\":\"ไปŽๅŽŸๅญๅŒ–ๅˆฐๅ˜ไฝ“้ฉฑๅŠจ๏ผš็Žฐไปฃ CSS ๅทฅ็จ‹ๅŒ–็š„ๆžถๆž„ๆผ”่ฟ›ไธŽๆททๅˆๅฎž่ทตๆŒ‡ๅ—\",\"description\":\"ๆœฌๆ–‡็ณป็ปŸๅ‰–ๆžไธปๆต CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆ็š„ๅบ•ๅฑ‚้€ป่พ‘๏ผŒๆๅ‡บโ€œๆ ทๅผ่ต„ไบง ROIโ€่ฏ„ไผฐๆจกๅž‹๏ผŒๅนถ้’ˆๅฏน Vue/React ็”Ÿๆ€็ป™ๅ‡บไบ†้ขๅ‘ AI ๆ—ถไปฃ็š„ไผไธš็บงๆททๅˆๆžถๆž„้€‰ๅž‹ๅปบ่ฎฎใ€‚\",\"permalink\":\"/full-stack/css-engineering\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"top\":true,\"categories\":[\"ๅ…จๆ ˆ\"],\"tags\":[\"ๅ…จๆ ˆ\",\"CSS\",\"ๅทฅ็จ‹ๅŒ–\",\"tailwindcss\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไปŽๅŽŸๅญๅŒ–ๅˆฐๅ˜ไฝ“้ฉฑๅŠจ๏ผš็Žฐไปฃ CSS ๅทฅ็จ‹ๅŒ–็š„ๆžถๆž„ๆผ”่ฟ›ไธŽๆททๅˆๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-03-10 22:05:50\",\"capture\":\"1. ๅผ•่จ€๏ผšไธปๆต CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆๆœ‰ๅ“ชไบ›๏ผŸ\\nๅœจ็Žฐไปฃๅ‰็ซฏๅผ€ๅ‘ไธญ๏ผŒ้š็€้กน็›ฎๅคๆ‚ๅบฆ็š„ๆ€ฅๅ‰งๆๅ‡๏ผŒๅŽŸ็”Ÿ CSS ๅธธๅธธ้ขไธดๅ…จๅฑ€ๆฑกๆŸ“ใ€ๅค็”จๅ›ฐ้šพใ€ๅฑ‚็บงๅตŒๅฅ—่ฟ‡ๆทฑไปฅๅŠ็ปดๆŠคๆˆๆœฌๆž้ซ˜็ญ‰้—ฎ้ข˜ใ€‚ไธบไบ†่งฃๅ†ณ่ฟ™ไบ›็—›็‚น๏ผŒ็คพๅŒบๅคšๅนดๆฅไธๆ–ญๆŽข็ดข๏ผŒๆฒ‰ๆท€ๅ‡บไบ†ๅคš็งไธปๆต็š„ CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆใ€‚\\n้™คๅŽŸ็”Ÿ CSS ไน‹ๅค–๏ผŒไธปๆตๆ–นๆกˆ่ฟ˜ๅŒ…ๆ‹ฌ้ข„ๅค„็†ๅ™จใ€CSS-in-JSใ€CSS Moduleใ€Scoped CSSใ€ๅŽŸๅญๅŒ– CSS ็ญ‰ใ€‚BEM ไฝœไธบไธ€็งๅŸบไบŽๅ‘ฝๅ็บฆๅฎšๆฅ่ง„้ฟๅ‘ฝๅๅ†ฒ็ช็š„ๆ—ฉๆœŸๆ–นๆกˆ๏ผŒๅœจ็Žฐไปฃๅ‰็ซฏๅทฅ็จ‹ไธญๅทฒๅŸบๆœฌไธๅ†ไฝฟ็”จ๏ผŒๅ› ๆญคๆœฌๆ–‡ไธๅ†ๅฏนๅ…ถๅฑ•ๅผ€่ฏฆ็ป†ๅˆ†ๆžใ€‚\\n> CSS ๅ‘ฝๅ่ง„่Œƒ๏ผˆBEM๏ผ‰๏ผš้€š่ฟ‡ไธฅๆ ผ็š„ๅ‘ฝๅ็บฆๅฎš๏ผˆๅฆ‚ Block__Element--Modif\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/20.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Agent\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/20.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Agent\",\"frontmatter\":{\"date\":\"2026-03-06 00:37:58\",\"title\":\"ๅ‘Šๅˆซๆ‰‹ๅŠจ Loop๏ผšๅ€ŸๅŠฉ Claude Agent SDK ๅฎž็Žฐ Agent ็š„ๅทฅ็จ‹ๅŒ–้—ญ็Žฏ\",\"description\":\"ๅœจ Agent ๆŠ€ๆœฏๅฟซ้€Ÿ่ตฐๅ‘ๆˆ็†Ÿ็š„ไปŠๅคฉ๏ผŒๅฆ‚ไฝ•ไฝŽๆˆๆœฌๆž„ๅปบๅ…ทๅค‡โ€œ่‡ชไธปๆดžๅฏŸโ€่ƒฝๅŠ›็š„ๆ™บ่ƒฝไฝ“๏ผŸๆœฌๆ–‡ๆทฑๅบฆๆ‹†่งฃ Anthropic ๅฎ˜ๆ–นๆŽจๅ‡บ็š„ Claude Agent SDK๏ผŒ่งฃๆžๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆ‰˜็ฎก Agent Loop ๅ’Œไผš่ฏๆŒไน…ๅŒ–ๆœบๅˆถ๏ผŒ่งฃๅ†ณ Agent ๅผ€ๅ‘ไธญ็š„็Šถๆ€็ฎก็†้šพ้ข˜ใ€‚ๆ–‡็ซ ้€š่ฟ‡ไปŽๆ— ็Šถๆ€ไบคไบ’ๅˆฐๅ…ทๅค‡ๆตๅผ่พ“ๅ‡บ่ƒฝๅŠ›็š„ TUI ่‡ชๅŠจๅŒ–ๅทฅๅ…ท่ฟ›้˜ถๅฎžๆˆ˜๏ผŒๅฑ•็คบไบ†ๆž„ๅปบไฝŽๆˆๆœฌใ€้ซ˜ๅฏ็”จ AI ๅŽŸ็”Ÿๅบ”็”จ็š„ๅฎŒๆ•ด่ทฏๅพ„ใ€‚\",\"permalink\":\"/ai-practice/claude-agent-sdk-basic-build\",\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"],\"tags\":[\"Agent\",\"Agent SDK\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ‘Šๅˆซๆ‰‹ๅŠจ Loop๏ผšๅ€ŸๅŠฉ Claude Agent SDK ๅฎž็Žฐ Agent ็š„ๅทฅ็จ‹ๅŒ–้—ญ็Žฏ\",\"date\":\"2026-03-06 00:37:58\",\"capture\":\"1. ๅผ•่จ€\\nๅฝ“ๅ‰๏ผŒAI Agent ็š„ๆผ”่ฟ›ๅทฒ่ฟ›ๅ…ฅไธ€ไธชๅดญๆ–ฐ็š„้˜ถๆฎตโ€”โ€”ไปŽ้œ€่ฆ้ข‘็นไบบๅทฅๅนฒ้ข„็š„\\\"ๅŠ่‡ชๅŠจ\\\"ๆจกๅผ๏ผŒ่ฟ›ๅŒ–ไธบ่ƒฝๅคŸ่‡ชไธปๆดžๅฏŸ็Žฏๅขƒๅ˜ๅŒ–ใ€ๅŠจๆ€่ฐƒๆ•ดๆ‰ง่กŒ็ญ–็•ฅใ€ๅฎž็ŽฐไธšๅŠกๆต็จ‹่‡ช้€‚ๅบ”็ผ–ๆŽ’็š„ๆ™บ่ƒฝๅŒ–็ณป็ปŸใ€‚Claude Codeใ€Manusใ€OpenClaw ็ญ‰ไปฃ่กจๆ€งไบงๅ“ๅฑ‚ๅ‡บไธ็ฉท๏ผŒไนŸๆ ‡ๅฟ—็€ Agent ๆŠ€ๆœฏๆญฃๅœจๅฟซ้€Ÿ่ตฐๅ‘ๆˆ็†ŸไธŽๆ™ฎๅŠใ€‚\\n่ฟ‘ๆœŸ๏ผŒ็ฌ”่€…ๅœจไธบไธชไบบๅšๅฎขๅผ•ๅ…ฅๆ™บ่ƒฝๅŒ–่ฟ่ฅ่ƒฝๅŠ›๏ผˆๅฆ‚ๅ†…ๅฎน่‡ชๅŠจๆ กๅฏนใ€ๅฎก็จฟไธŽๅ‘ๅธƒ๏ผ‰๏ผŒๆทฑๅ…ฅ็ ”็ฉถไบ†ๅคšๆฌพ Agent ๅผ€ๅ‘ๆก†ๆžถ๏ผŒๅฆ‚ Claude Agent SDKใ€Langchainใ€LangGraph ็ญ‰ใ€‚ๅœจ็ป่ฟ‡ๅˆๆญฅ็š„็ ”็ฉถๅฏนๆฏ”ๅˆ†ๆžๅŽ๏ผŒClaude Agent SDK ๆˆไธบไบ†ไฝŽๆˆๆœฌๆž„ๅปบ้ซ˜ๅฏ็”จ Agent\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/10.Agent SKills\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/10.Agent SKills\",\"frontmatter\":{\"date\":\"2026-03-05 23:11:25\",\"title\":\"ๅฆ‚ไฝ•็ผ–ๅ†™ไธ€ไธช้ซ˜ๅฏ็”จ็š„ Agent Skill๏ผŸไปŽๆœบๅˆถๆ‹†่งฃๅˆฐ็”Ÿไบงๅฎž่ทตๆŒ‡ๅ—\",\"description\":\"ๅคง่ฏญ่จ€ๆจกๅž‹ๅœจ็‰นๅฎšๅทฅ็จ‹้ข†ๅŸŸๅธธ้ขไธดโ€œ็Ÿฅ่€Œไธ่กŒโ€็š„ๅ›ฐๅขƒใ€‚ๆœฌๆ–‡ๆทฑๅบฆๆ‹†่งฃ Anthropic ๆœ€ๆ–ฐๆŽจๅ‡บ็š„ Agent Skills ่ง„่Œƒ๏ผŒๆญ็ง˜ๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆธ่ฟ›ๅผๆŠซ้œฒไธŽไธ‰็บงๅŠ ่ฝฝๆœบๅˆถ๏ผŒๅœจๆŽงๅˆถ Token ๆˆๆœฌ็š„ๅŒๆ—ถๆ˜พ่‘—ๆๅ‡ Agent ็š„ไปปๅŠกๆ‰ง่กŒ็ฒพๅบฆใ€‚ๆ–‡็ซ ๆถต็›–ไบ†ไปŽๆ–‡ไปถๅคนๆžถๆž„่ฎพ่ฎกๅˆฐๅฎžๆˆ˜ git-workflow ็ผ–ๅ†™็š„ๅ…จๆต็จ‹ๆŒ‡ๅ—๏ผŒๅŠฉไฝ ๅฐ†้›ถๆ•ฃ็š„ Prompt ่ฝฌๅŒ–ไธบๆ ‡ๅ‡†ๅŒ–็š„ๆ•ฐๅญ—่ต„ไบงใ€‚\",\"permalink\":\"/ai-agent/skills-practice-summary\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\",\"Agent ็ณปๅˆ—\"],\"tags\":[\"Agent Skills\",\"Agent\",\"AI\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฆ‚ไฝ•็ผ–ๅ†™ไธ€ไธช้ซ˜ๅฏ็”จ็š„ Agent Skill๏ผŸไปŽๆœบๅˆถๆ‹†่งฃๅˆฐ็”Ÿไบงๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-03-05 23:11:25\",\"capture\":\"1. ๅผ•่จ€๏ผšAgent Skills ๆ˜ฏไป€ไนˆ๏ผŸ\\nๅœจๅคง่ฏญ่จ€ๆจกๅž‹๏ผˆLLM๏ผ‰็š„่ฝๅœฐๅฎž่ทตไธญ๏ผŒๅผ€ๅ‘่€…็ปๅธธ้ขไธดไธ€ไธชๅ…ฑๆ€งๆŒ‘ๆˆ˜๏ผšๆจกๅž‹ๅœจ็‰นๅฎš็ป†ๅˆ†้ข†ๅŸŸๅพ€ๅพ€ๅค„ไบŽโ€œ็Ÿฅ่€Œไธ่กŒโ€็š„็Šถๆ€โ€”โ€”่™ฝ็„ถๆ‹ฅๆœ‰ๅšๆ‚็š„็Ÿฅ่ฏ†๏ผŒๅด็ผบไนๆ‰ง่กŒๅคๆ‚ไปปๅŠก็š„ไธ“ไธš่ทฏๅพ„ใ€‚\\nไธบไบ†่งฃๅ†ณ่ฟ™ไธ€็—›็‚น๏ผŒAnthropic ๅœจๅ…ถๆ——่ˆฐๆจกๅž‹ Claude 3.7 ็ณปๅˆ—ไธญๆญฃๅผๆŽจๅ‡บไบ† Claude Skillsใ€‚่ฟ™ไธ€ๅŠŸ่ƒฝๅฐ† LLM ็š„่ƒฝๅŠ›ๅฐ่ฃ…ไธบ็›ด่ง‚็š„โ€œ่ƒฝๅŠ›ๆ–‡ไปถๅคนโ€๏ผŒๆžๅคงๆๅ‡ไบ†ๆ™บ่ƒฝไฝ“็š„ๅฎž็”จๆ€ง๏ผŒๅนถ่ฟ…้€Ÿๅœจๅผ€ๅ‘่€…็คพๅŒบๅผ•ๅ‘็ƒญ่ฎฎใ€‚2025 ๅนด 12 ๆœˆ๏ผŒ้š็€ Anthropic ่”ๅˆ็”Ÿๆ€ไผ™ไผดๆญฃๅผๅผ€ๆบ Agent Skills ่ง„่Œƒ๏ผŒAgent Skills ็š„ๆ ‡ๅ‡†ๅŒ–ไนŸๆญฃๅผๅผ€ๅฏ๏ผˆ่€Œ่ฟ™ไธ€่ƒฝๅŠ›\"},{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"frontmatter\":{\"date\":\"2026-03-05 16:54:35\",\"title\":\"ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"aliases\":[\"Server-Sent Events\",\"HTTP Streaming\"],\"tldr\":\"ๆทฑๅ…ฅ่งฃๆžๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผŒๆไพ›ไปŽๆฆ‚ๅฟตๅˆฐ็”Ÿไบงๅฎž่ทต็š„ๅฎŒๆ•ด่งฃๅ†ณๆ–นๆกˆใ€‚\",\"description\":\"่พจๆžๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ็š„ๆฆ‚ๅฟตไธŽๅฑ‚ๆฌกๅ…ณ็ณป๏ผŒ่ฏฆ่งฃๅฎขๆˆท็ซฏไธŽๆœๅŠก็ซฏๅฎž็Žฐๆ–นๆกˆ๏ผŒๆไพ›็”Ÿไบงๅฎž่ทตๅฎŒๆ•ดๆŒ‡ๅ—ใ€‚\",\"tags\":[\"tutorial\",\"SSE\",\"HTTP Streaming\",\"ๅ…จๆ ˆ\"],\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"permalink\":\"/fullstack/networking/sse-practice\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"date\":\"2026-03-05 16:54:35\",\"capture\":\"<script setup\\n import HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n> ๆ‘˜่ฆๆ€ป็ป“: ้’ˆๅฏนๅผ€ๅ‘่€…ๅฎนๆ˜“ๆททๆท†ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ็š„้—ฎ้ข˜๏ผŒไปŽๆฆ‚ๅฟตๅฑ‚ๆฌกๅ‡บๅ‘ๅŽ˜ๆธ…ไบŒ่€…ๆœฌ่ดจๅŒบๅˆซไธŽๅไฝœๅ…ณ็ณป๏ผŒๆŒ‡ๅ‡บๆตๅผ HTTP ๆ˜ฏๅบ•ๅฑ‚ไผ ่พ“ๆœบๅˆถ่€Œ SSE ๆ˜ฏๅบ”็”จๅฑ‚ๆ•ฐๆฎๆ ผๅผ็บฆๅฎšใ€‚ๆ–‡็ซ ไพๆฌกไป‹็ปๅŽŸ็”Ÿ EventSource APIใ€fetch + ReadableStream ่ฟ›้˜ถๆ–นๆกˆใ€@microsoft/fetch-event-source ๅทฅไธš็บงๅฎž็Žฐ็ญ‰ไธ‰็งๅฎขๆˆท็ซฏๆ–นๆกˆ๏ผŒๅนถไปฅ Nes\"},{\"url\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/02.้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/02.้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-03-02 11:05:50\",\"title\":\"้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ AI ๆž้€Ÿ้™ไฝŽไปฃ็ ็ผ–ๅ†™้—จๆง›๏ผŒๅ•็บฏ็š„โ€œไธšๅŠกไปฃ็ ็ฟป่ฏ‘ๅ™จโ€่ง’่‰ฒๆญฃๅŠ ้€Ÿ่ดฌๅ€ผใ€‚ๆœฌๆ–‡ไปŽๆŠ€ๆœฏๆผ”่ฟ›ไธŽไบงๅ“ๆ€่€ƒ็š„ไบคๆฑ‡็‚นๅ‡บๅ‘๏ผŒๅฐ† AI ๆ—ถไปฃ็š„ๅผ€ๅ‘่€…่ƒฝๅŠ›ๅ›พ่ฐฑ้‡ๆ–ฐๅˆ’ๅˆ†ไธบไธ‰ๅคงๆ ธๅฟƒๅœˆๅฑ‚๏ผšไบงๅ“ๅบ”็”จๅฑ‚๏ผˆInsight Stack๏ผ‰ใ€Agent ๅผ€ๅ‘ๅฑ‚ไธŽ AI ๅŸบ็ก€่ฎพๆ–ฝๅฑ‚ใ€‚ๆ— ่ฎบไฝ ๆ˜ฏๆทฑ่€•่ง†ๅ›พๅฑ‚ไบคไบ’ใ€็ฒพ้€š Node.js ็ญ‰ๆœๅŠก็ซฏๆžถๆž„็š„ๅผ€ๅ‘่€…๏ผŒ่ฟ˜ๆ˜ฏ่‡ดๅŠ›ไบŽๆŠ€ๆœฏ่ฝๅœฐ็š„ๆŽข็ดข่€…๏ผŒ้ƒฝ่ƒฝๅœจ่ฟ™ไปฝๆผ”่ฟ›ๆŒ‡ๅ—ไธญๆ‰พๅˆฐๆ‰“็ ด่ƒฝๅŠ›่พน็•Œใ€ๅ‘โ€œ่ถ…็บงไธชไฝ“โ€ไธŽโ€œAI ๆ™บ่ƒฝไฝ“ๆŒ‡ๆŒฅๅฎ˜โ€่ทƒ่ฟ็š„็ ดๅฑ€ไน‹้“ใ€‚\",\"permalink\":\"/fullstack/ai-engineer-capability\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"top\":true,\"tags\":[\"ๅ…จๆ ˆ\",\"AI\"],\"categories\":[\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"date\":\"2026-03-02 11:05:50\",\"capture\":\"<script setup>\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/ai_engineering_arc.png\\\" style=\\\"width: 100%; border-radius: 8px; margin-bottom: 20px;\\\" alt=\\\"about site back\"},{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"frontmatter\":{\"date\":\"2026-02-25 22:10:48\",\"title\":\"HTTP ่ฝฎ่ฏขไผ˜ๅŒ–ๆŒ‡ๅ—๏ผš้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"tldr\":\"่ฏฆ่งฃ้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅฎž็ŽฐๅŽŸ็†๏ผŒๆไพ› HTTP ่ฝฎ่ฏขไผ˜ๅŒ–็ญ–็•ฅไธŽ้€‰ๅž‹ๅ†ณ็ญ–ๆ ‘ใ€‚\",\"description\":\"ๆทฑๅ…ฅๅ‰–ๆž้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๆ ธๅฟƒๆœบๅˆถ๏ผŒๆไพ› TypeScript/NestJS ๅฎžๆˆ˜ไปฃ็ ๏ผŒๅนถๆž„ๅปบๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–ๆ ‘ไธŽ้€‚็”จๅœบๆ™ฏ้€ŸๆŸฅใ€‚\",\"tags\":[\"HTTP ่ฝฎ่ฏข\",\"้€€้ฟ่ฝฎ่ฏข\",\"้•ฟ่ฝฎ่ฏข\"],\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"permalink\":\"/fullstack/networking-polling-optimization\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"HTTP ่ฝฎ่ฏขไผ˜ๅŒ–ๆŒ‡ๅ—๏ผš้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"date\":\"2026-02-25 22:10:48\",\"capture\":\"1. ๅผ•่จ€\\nๅœจ็Žฐไปฃ Web ๅผ€ๅ‘ไธญ๏ผŒWebSocket ๅ’Œ Server-Sent Events (SSE) ๅธธๅธธ่ขซ่ง†ไธบๅฎžๆ—ถ้€šไฟก็š„้“ถๅผนใ€‚็„ถ่€Œ๏ผŒHTTP ่ฝฎ่ฏข๏ผˆPolling๏ผ‰ไฝœไธบๆœ€ๆœด็ด ็š„ๅฎžๆ—ถ้€šไฟกๆ–นๆกˆ๏ผŒ้žไฝ†ๆฒกๆœ‰้€€ๅ‡บๅކๅฒ่ˆžๅฐ๏ผŒๅ่€Œๅœจ็‰นๅฎš็š„ๅคๆ‚ไธšๅŠกๅœบๆ™ฏไธญๅคงๆ”พๅผ‚ๅฝฉใ€‚\\n> ๐Ÿ“– ๅฆ‚ๆžœไฝ ๅฏน HTTP ่ฝฎ่ฏขๅœจๆ•ดไธช Web ้€šไฟกๅ่ฎฎไฝ“็ณปไธญ็š„ๅฎšไฝๅฐšไธๆธ…ๆ™ฐ๏ผŒๆŽจ่ๅ…ˆ้˜…่ฏป Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—๏ผŒไบ†่งฃ่ฝฎ่ฏขไธŽ็Ÿญ่ฟžๆŽฅใ€้•ฟ่ฟžๆŽฅใ€WebSocketใ€SSE ็ญ‰ๆ–นๆกˆ็š„ๆผ”่ฟ›ๅ…ณ็ณปไธŽ้€‚็”จ่พน็•Œ๏ผŒๅ†็ป“ๅˆๆœฌๆ–‡ๆทฑๅ…ฅๅฎž่ทตใ€‚\\nๅœจๅฝ“ๅ‰ไผ—ๅคš้กถ็บง็š„ AI AIGC ๅบ”็”จ๏ผˆๅฆ‚ Midjourne\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/02.Agent ่ง„ๅˆ’ๆจกๅ—\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/02.Agent ่ง„ๅˆ’ๆจกๅ—\",\"frontmatter\":{\"date\":\"2026-02-24 20:52:37\",\"title\":\"ๆŽขๅฏป Agent ๅ†ณ็ญ–ไธญๆžข๏ผš่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„่ง„ๅˆ’่Œƒๅผ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฆ‚ๆžœ่ฏด LLM ๆ˜ฏ Agent ็š„ๅคง่„‘๏ผŒ่ง„ๅˆ’ๆจกๅ—ๅˆ™ๆ˜ฏๅ…ถ่ดŸ่ดฃๅคๆ‚ๅ†ณ็ญ–็š„โ€œๅ‰้ขๅถโ€ใ€‚ๆœฌๆ–‡ๆทฑๅบฆ่งฃๆž„ไบ† Agent ่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„ๆ ธๅฟƒ่ทฏๅพ„๏ผšไปŽไปปๅŠกๅˆ†่งฃ็š„้™ไฝŽ็†ตๅ€ผ๏ผŒๅˆฐ่‡ชๆˆ‘ๅๆ€็š„้—ญ็ŽฏๆŽงๅˆถใ€‚้€š่ฟ‡ๅฏนๆฏ”โ€œ่พน่ตฐ่พน็œ‹โ€็š„ ReAct ๅŠจๆ€ๅ“ๅบ”ๆจกๅผไธŽโ€œ่ฐ‹ๅฎšๅŽๅŠจโ€็š„ Plan-and-Execute ้ข„็ผ–ๆŽ’ๆจกๅผ๏ผŒๆœฌๆ–‡ๆญ็คบไบ†ๅฆ‚ไฝ•้’ˆๅฏน้•ฟ้“พ่ทฏๅทฅ็จ‹ไปปๅŠกๆž„ๅปบ็จณๅฅ็š„ๅ†ณ็ญ–่Œƒๅผ๏ผŒๅŠฉไฝ ๅฎŒๆˆไปŽโ€œ็ฎ€ๅ•ๆ็คบ่ฏโ€ๅˆฐโ€œๅคๆ‚ๆžถๆž„่ฎพ่ฎกโ€็š„่ฎค็Ÿฅ่ทƒ่ฟใ€‚\",\"permalink\":\"/ai-agent/planning-module\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆŽขๅฏป Agent ๅ†ณ็ญ–ไธญๆžข๏ผš่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„่ง„ๅˆ’่Œƒๅผ\",\"date\":\"2026-02-24 20:52:37\",\"capture\":\"1. ๅผ•่จ€\\nๅœจไบบ็ฑปๅคง่„‘ไธญ๏ผŒๅ‰้ขๅถ็šฎๅฑ‚่ดŸ่ดฃๅคๆ‚็š„่ฎค็Ÿฅ่ง„ๅˆ’ใ€ๅ†ณ็ญ–ๅ’Œ็คพไบค่กจ็Žฐใ€‚ๅฏนไบŽไธ€ไธช Agent ่€Œ่จ€๏ผŒ่ง„ๅˆ’ๆจกๅ—ๆญฃๆ˜ฏๅฎƒ็š„โ€œๅ‰้ขๅถโ€โ€”โ€”ๅฎƒๅ†ณๅฎšไบ† Agent ๆ˜ฏๅชไผšๆœบๆขฐๅ“ๅบ”ๆŒ‡ไปค็š„โ€œๆœจๅถโ€๏ผŒ่ฟ˜ๆ˜ฏ่ƒฝ็‹ฌ็ซ‹ๆ‹†่งฃ็›ฎๆ ‡ใ€ๅœจๅคๆ‚็Žฏๅขƒไธญๅฏปๆ‰พๆœ€ไผ˜่ทฏๅพ„็š„โ€œๆ•ฐๅญ—ๅ‘˜ๅทฅโ€ใ€‚\\nAgent ็š„่ง„ๅˆ’่ƒฝๅŠ›ไธป่ฆ็”ฑไธค้ƒจๅˆ†ๅๅŒ้ฉฑๅŠจ๏ผšไปปๅŠกๅˆ†่งฃไธŽ่‡ชๆˆ‘ๅๆ€ใ€‚\\n 2. ไปปๅŠกๅˆ†่งฃ๏ผšๅŒ–็นไธบ็ฎ€็š„็ญ–็•ฅ\\nไปปๅŠกๅˆ†่งฃๆ˜ฏๆŒ‡ๅฐ†ไธ€ไธชๅคๆ‚็š„็›ฎๆ ‡ๆˆ–ไปปๅŠกๆ‹†่งฃไธบๅคšไธชๅ…ทไฝ“ใ€ๅฏๆ“ไฝœ็š„็š„ๅญไปปๅŠก๏ผŒไปฅไพฟ Agent ่ƒฝๅคŸๆ›ด้ซ˜ๆ•ˆๅœฐๆ‰ง่กŒๅ’Œ็ฎก็†ใ€‚ๅ…ถๆœฌ่ดจๆ˜ฏ้™ไฝŽ้—ฎ้ข˜็š„็†ตๅ€ผ๏ผŒ่ฎฉ Agent ่ƒฝๅคŸ่š็„ฆไบŽๆฏไธ€ไธช็ป†ๅฐ็š„็กฎๅฎšๆ€งๆญฅ้ชค๏ผŒไปŽ่€Œ้€ๆญฅ่งฃๅ†ณ้—ฎ้ข˜๏ผŒๆ้ซ˜่ง„ๅˆ’็š„ๅฏ่กŒๆ€งๅ’Œๆ‰ง่กŒๆ•ˆ็އใ€‚\\nๆ นๆฎโ€œ่ง„ๅˆ’โ€ไธŽโ€œๆ‰ง่กŒโ€ๅ‘\"},{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-02-24 08:40:31\",\"title\":\"Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"tldr\":\"ๆทฑๅ…ฅๅˆ†ๆžไบ”็ง Web ้€šไฟกๅ่ฎฎ๏ผŒๆไพ› AI ๆ—ถไปฃ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—ไธŽๆœ€ไฝณๅฎž่ทตใ€‚\",\"description\":\"ๆทฑๅ…ฅๅ‰–ๆžไผ ็ปŸ HTTPใ€ๆตๅผ HTTPใ€SSEใ€WebSocketใ€Webhooksใ€HTTP ่ฝฎ่ฏข็š„ๅŽŸ็†ไธŽ็‰นๆ€ง๏ผŒ็ป“ๅˆ AI ๅœบๆ™ฏๆไพ›ๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–็Ÿฉ้˜ตใ€‚\",\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"tags\":[\"HTTP\",\"HTTP ่ฝฎ่ฏข\",\"SSE\",\"WebSocket\",\"Webhooks\"],\"permalink\":\"/fullstack/networking-protocol-selection-guide\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"date\":\"2026-02-24 08:40:31\",\"capture\":\"1. ๅผ•่จ€\\nHTTP ๆ˜ฏไธ€็งๅŸบไบŽๆ–‡ๆœฌ็š„้€šไฟกๅ่ฎฎ๏ผŒไธป่ฆ็”จไบŽ Web ๆต่งˆๅ™จใ€็งปๅŠจๅบ”็”จใ€ๆกŒ้ขๅบ”็”จ็ญ‰ๅฎขๆˆท็ซฏๅ’Œ Web ๆœๅŠกๅ™จไน‹้—ด็š„ๆ•ฐๆฎไผ ่พ“ใ€‚ไผ ็ปŸ HTTP ้‡‡็”จๅŒๆญฅ็š„่ฏทๆฑ‚-ๅ“ๅบ”ๆจกๅผ๏ผš`่ฏทๆฑ‚ -> ็ญ‰ๅพ… -> ๅฎŒๆ•ดๅ“ๅบ”`ใ€‚่ฟ™็งๆ–นๅผ่™ฝ่ƒฝๆปก่ถณๅคงๅคšๆ•ฐๅœบๆ™ฏ๏ผŒไฝ†ๅœจๅฎžๆ—ถๆ€ง่ฆๆฑ‚่พƒ้ซ˜็š„้ข†ๅŸŸโ€”โ€”ๅฆ‚ๆธธๆˆใ€่Šๅคฉใ€่ง†้ข‘ไผš่ฎฎ๏ผŒไปฅๅŠ AI ๆ—ถไปฃ็š„ๅฏน่ฏๅผๅบ”็”จโ€”โ€”ๅดๆ˜พๅพ—ๅŠ›ไธไปŽๅฟƒใ€‚\\nไธบ่งฃๅ†ณ่ฟ™ไธ€้—ฎ้ข˜๏ผŒไธš็•Œๅ‘ๅฑ•ๅ‡บไบ†ๅคš็งๅฎžๆ—ถ Web ้€šไฟกๆ–นๆกˆใ€‚ๆœฌๆ–‡ๅฐ†ๅ›ด็ป• ๆตๅผ HTTPใ€SSEใ€WebSocketใ€Webhooksใ€HTTP ่ฝฎ่ฏข ่ฟ™ไบ”็งไธปๆตๆŠ€ๆœฏ๏ผŒไปŽๅŽŸ็†ใ€็‰นๆ€งใ€้€‚็”จๅœบๆ™ฏๅ‡บๅ‘๏ผŒๆŽข่ฎจๅฎƒไปฌๅœจ็Žฐไปฃๅˆ†ๅธƒๅผๆžถๆž„ไธญ็š„้€‰ๅž‹็ญ–็•ฅไธŽๅทฅ็จ‹ๅฎž่ทตใ€‚\\n 2\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/01.Agentๆฆ‚่งˆไธŽ็ปผ่ฟฐ\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/01.Agentๆฆ‚่งˆไธŽ็ปผ่ฟฐ\",\"frontmatter\":{\"date\":\"2026-02-12 22:31:00\",\"title\":\"ไปŽๆ็คบ่ฏๅˆฐๆ•ฐๅญ—ๅ‘˜ๅทฅ๏ผšAI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšAI ็š„่ฟ›ๅŒ–ๆญฃ็ปๅކไปŽโ€œๅฏน่ฏๆก†โ€ๅ‘โ€œๆ•ฐๅญ—ๅ‘˜ๅทฅโ€็š„ๆ นๆœฌๆ€ง่ทจ่ถŠใ€‚ๆœฌๆ–‡ๆ˜ฏไธ€็ฏ‡ๅ…ณไบŽ AI Agent ็š„ๅ…จๆ™ฏๆทฑๅบฆ็ปผ่ฟฐ๏ผŒๆ—จๅœจ่งฃๆž„ๆ™บ่ƒฝไฝ“ๅฆ‚ไฝ•ไปŽ็ฎ€ๅ•็š„ Prompt ๅ“ๅบ”่€…๏ผŒๆผ”ๅ˜ไธบๅ…ทๅค‡่‡ชไธป็›ฎๆ ‡ๆ‹†่งฃใ€้•ฟ็ŸญๆœŸ่ฎฐๅฟ†ไธŽๅคๆ‚็Žฏๅขƒไบคไบ’่ƒฝๅŠ›็š„โ€œๆ‰ง่กŒ่€…โ€ใ€‚ๆˆ‘ไปฌๅฐ†ๆทฑๅบฆๆ‹†่งฃ Agent ็š„ๅ››ๅคงๆŠ€ๆœฏๅŸบ็Ÿณ๏ผˆ่ง„ๅˆ’ใ€่ฎฐๅฟ†ใ€ๅทฅๅ…ทใ€่กŒๅŠจ๏ผ‰๏ผŒๅนถ่ฏฆ็ป†ๅ‰–ๆžไปŽ้€š็”จๅž‹ Agent ๅˆฐๅคšๆ™บ่ƒฝไฝ“ๅไฝœ๏ผˆMAS๏ผ‰ใ€ๅ†ๅˆฐ่ฟˆๅ‘ Agent OS ๆ—ถไปฃ็š„ OpenClaw ็ญ‰ไบ”ๅคงๆผ”่ฟ›ๅฝขๆ€ใ€‚ไธไป…ๆŽข่ฎจไบ†ๆŠ€ๆœฏๆžถๆž„็š„ๅฎž็Žฐ๏ผŒๆ›ดๆญ็คบไบ†่ฝฏไปถๅทฅ็จ‹ไปŽโ€œไปฅไบบไธบไธญๅฟƒโ€ๅ‘โ€œไปฅ AI ไธบไธญๅฟƒโ€็š„่Œƒๅผ้ฉๅ‘ฝโ€”โ€”ๅœจ Agent ้ฉฑๅŠจ็š„ๆ–ฐ็บชๅ…ƒ๏ผŒๆ ธๅฟƒ็ซžไบ‰ๅŠ›ๅฐ†ไธๅ†ๆ˜ฏไปฃ็ ้‡๏ผŒ่€Œๆ˜ฏ่ฐƒๅบฆ AI ้—ญ็Žฏ่งฃๅ†ณไธšๅŠก้—ฎ้ข˜็š„่ƒฝๅŠ›ใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/llm_learning_bg_1.png\",\"permalink\":\"/ai-agent/overview\",\"top\":true,\"categories\":[\"ai-practice\"],\"tags\":[\"AI Agent\",\"Agent\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไปŽๆ็คบ่ฏๅˆฐๆ•ฐๅญ—ๅ‘˜ๅทฅ๏ผšAI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐ\",\"date\":\"2026-02-12 22:31:00\",\"capture\":\"1. ไป€ไนˆๆ˜ฏ Agent๏ผŸโ€”โ€”ไปŽโ€œๅทฅๅ…ทโ€ๅˆฐโ€œๅฎžไฝ“โ€็š„่ฟ›ๅŒ–\\n> ๆ ธๅฟƒ้€ป่พ‘๏ผš็Žฐไปฃ Agent ็š„ๆœฌ่ดจๆ˜ฏ \\\"LLM (ๅคง่„‘) + ่ง„ๅˆ’ไธŽ่ฎฐๅฟ† (ๅฐ่„‘) + ๅทฅๅ…ท่ฐƒ็”จ (ๆ‰‹่„š)\\\"ใ€‚LLM ็š„ๆตท้‡็Ÿฅ่ฏ†ๅ‚จๅค‡่ฎฉ Agent ่ƒฝๅคŸ็ฒพๅ‡†็†่งฃๅคๆ‚ๆŒ‡ไปค๏ผŒๅนถๅฐ†ๅ…ถ่ฝฌๅŒ–ไธบๅฎž้™…่กŒๅŠจใ€‚\\nๅœจ AI ้ข†ๅŸŸ๏ผŒAgent๏ผˆๆ™บ่ƒฝไฝ“๏ผ‰ ๅนถ้žไธ€ไธชๆ–ฐๆฆ‚ๅฟต๏ผŒไฝ† LLM๏ผˆๅคง่ฏญ่จ€ๆจกๅž‹๏ผ‰็š„็ˆ†ๅ‘่ต‹ไบˆไบ†ๅฎƒ็œŸๆญฃ็š„โ€œ็ต้ญ‚โ€ใ€‚็ฎ€ๅ•ๆฅ่ฏด๏ผŒAgent ๆ˜ฏไธ€็ง่ƒฝๅคŸๆ„Ÿ็Ÿฅ็Žฏๅขƒใ€่‡ชไธปๅ†ณ็ญ–ๅนถๆ‰ง่กŒไปปๅŠก็š„ๆ™บ่ƒฝๅฎžไฝ“ใ€‚\\nๅฆ‚ๆžœ่ฏดไผ ็ปŸ็š„ AI ๆ˜ฏไธ€ไธชโ€œ้—ฎ็ญ”ๆœบโ€๏ผŒ้‚ฃไนˆ Agent ๅฐฑๆ˜ฏไธ€ไธชโ€œๆ‰ง่กŒ่€…โ€ใ€‚ๅฎƒๅ…ทๅค‡ไปฅไธ‹ๅ››ๅคงๆ ธๅฟƒ็‰น่ดจ๏ผš\\n* ่‡ชไธปๆ€ง (Autonomy)๏ผš ๆ— ้กปๆ—ถๅˆป็›ฏ็€๏ผŒ่ฎพๅฎš\"},{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-02-10 23:33:19\",\"title\":\"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ๅฝ“ AI ๆ‰ฟๆŽฅไบ† 30% ็š„็ผ–็ ๆ‰ง่กŒๆ—ถ๏ผŒๅผ€ๅ‘่€…้œ€้€š่ฟ‡โ€œ่ง„ๆ ผ้ฉฑๅŠจ๏ผˆSDD๏ผ‰โ€้‡ๅคบ 70% ็š„่ฎพ่ฎกไธปๆƒ๏ผšไปŽ่‡ชๆฒป็ป„ไปถๅˆ’ๅˆ†ๅˆฐๅ•ๅ‘ๆ•ฐๆฎๆตๆ‹“ๆ‰‘็š„ๆทฑๅบฆๆŽจๆผ”ใ€‚\",\"description\":\"ๆœฌๆ–‡ๆŽข่ฎจๅœจ AI ๅขžๅผบๅผ€ๅ‘่ƒŒๆ™ฏไธ‹๏ผŒๅฆ‚ไฝ•้‡ๅก‘ React ็ป„ไปถ่ฎพ่ฎกๅŽŸๅˆ™ใ€‚ๆถต็›– SRP ่Œ่ดฃๅˆ’ๅˆ†ใ€้™ๆ€็‰ˆๆœฌๅŸบ็บฟใ€ๆœ€ๅฐ็Šถๆ€๏ผˆDerived Data๏ผ‰ๆŽจๅฏผไปฅๅŠ SDD ไบบๆœบๅไฝœๆจกๅผ็š„ๅทฅ็จ‹่ฝๅœฐใ€‚\",\"tags\":[\"tutorial\",\"react\",\"component-design\",\"state-management\",\"ai-augmented\",\"specification-driven\"],\"permalink\":\"/fullstack/react-design-philosophy-ai-augmented\",\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-02-10 23:33:19\",\"capture\":\"<script setup\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n 1. ๅผ•่จ€\\nๅœจ่ฝฏไปถๅทฅ็จ‹ไธญ๏ผŒ็บฆ 70% ็š„ๆ—ถ้—ดๅบ”ๆŠ•ๅ…ฅไบŽๆžถๆž„่ฎพ่ฎกใ€้œ€ๆฑ‚ๆ‹†่งฃไธŽๆŽฅๅฃ่ฏญไน‰ๆŽจๆ•ฒ๏ผŒไป… 30% ็”จไบŽๅฎž้™…็ผ–็ ใ€‚่ฟ›ๅ…ฅ AI ๅไฝœๆ—ถไปฃๅŽ๏ผŒ่ฟ™ไธ€ๆฏ”ไพ‹ไพ็„ถๅšๅฆ‚็ฃ็Ÿณโ€”โ€”ๅผ€ๅ‘่€…ๅฟ…้กปๅ…ˆๅฎŒๆˆๆทฑๅบฆๆ€่€ƒ๏ผŒๅฐ†โ€œๆธ…ๆ™ฐ็š„้—ฎ้ข˜่ง„ๆ ผ๏ผˆSpecification๏ผ‰โ€ไบค็ป™ AI๏ผŒAI ๆ‰่ƒฝ่พ“ๅ‡บ้ซ˜่ดจ้‡ไปฃ็ ใ€‚<HighLightText type=\\\"note\\\" bold>AI ๆๅ‡็š„ๆ˜ฏ 30% ็ผ–็ ้˜ถๆฎต็š„ๆ‰ง่กŒๅŠ›๏ผŒ่€Œ้žๅ–\"},{\"url\":\"/01.ๅ…จๆ ˆ/90.ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่/90.ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"relativePath\":\"/01.ๅ…จๆ ˆ/90.ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่/90.ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"frontmatter\":{\"date\":\"2026-02-06 15:58:53\",\"title\":\"ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡็ณป็ปŸๆขณ็†ไบ†็Žฐไปฃๅ…จๆ ˆๅผ€ๅ‘็š„ๅฎŒๆ•ดๆŠ€ๆœฏๅ›พ่ฐฑไธŽๆผ”่ฟ›่Œƒๅผ๏ผŒไธบๅผ€ๅ‘่€…ๆไพ›ไบ†ไธ€็ซ™ๅผ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—ใ€‚ๆ–‡็ซ ไปŽๅŸบ็Ÿณๅ‡บๅ‘๏ผŒ่ฆ†็›– Web ๆ ธๅฟƒ่ฏญ่จ€๏ผˆJS/TS๏ผ‰ ไธŽ ไธปๆต UI ๆก†ๆžถ๏ผˆReact/Vue/Svelte๏ผ‰๏ผŒๅนถๆŽจ่ไปฅ Tailwind CSS ๅ’Œ shadcn/ui ไธบไปฃ่กจ็š„็Žฐไปฃๆ ทๅผไธŽ็ป„ไปถๅŽŸ่ฏญใ€‚ๅœจๆ ธๅฟƒไธšๅŠก้€ป่พ‘ๅฑ‚๏ผŒๆทฑๅบฆๅฏนๆฏ”ไบ†่ฝป้‡ๅŒ–็Šถๆ€็ฎก็†ๆ–นๆกˆ๏ผˆ้ฆ–ๆŽจ Zustand/Jotai๏ผ‰๏ผŒๅนถ้‡็‚น่งฃๆžไบ†ๆ•ฐๆฎไบคไบ’็š„ไธ‰ๅคง็Žฐไปฃๆžถๆž„่Œƒๅผ๏ผšไปŽๅŸบ็ก€ Axios ๅˆฐ React Query ็Šถๆ€่ฐƒๅบฆ๏ผŒๅ†ๅˆฐ tRPC ๅ’Œ GraphQL ๅธฆๆฅ็š„ๅ…จๆ ˆ็ฑปๅž‹ๅฎ‰ๅ…จไธŽๅคš็ซฏ่šๅˆใ€‚ๅœจๅทฅ็จ‹ๅŒ–ไธŽๆœๅŠก็ซฏๆจกๅ—๏ผŒๆ–‡็ซ ๅ…จ้ขๆ‹ฅๆŠฑ Viteใ€Rsbuild ็ญ‰ๆž้€Ÿๆž„ๅปบๅทฅๅ…ท๏ผŒๅนถๅ‰–ๆžไบ† Next.js/Nuxt ๅŒๆž„ๅ…ƒๆก†ๆžถไธŽ NestJS ไผไธš็บง Node ๆœๅŠก็š„ๆœ€ไฝณ้€‚็”จๅœบๆ™ฏใ€‚ๆœ€ๅŽ๏ผŒ่พ…ไปฅ Vercel ็ญ‰็Žฐไปฃ่พน็ผ˜้ƒจ็ฝฒๅนณๅฐๅŠไธฐๅฏŒ็š„ๅผ€ๆบ็คพๅŒบๅญฆไน ่ต„ๆบใ€‚\",\"permalink\":\"/growth/full-stack-resources\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"date\":\"2026-02-06 15:58:53\",\"capture\":\"> - ๆ–‡็ซ ไปŽๅŸบ็Ÿณๅ‡บๅ‘๏ผŒ่ฆ†็›– Web ๆ ธๅฟƒ่ฏญ่จ€๏ผˆJS/TS๏ผ‰ ไธŽ ไธปๆต UI ๆก†ๆžถ๏ผˆReact/Vue/Svelte๏ผ‰๏ผŒๅนถๆŽจ่ไปฅ Tailwind CSS ๅ’Œ shadcn/ui ไธบไปฃ่กจ็š„็Žฐไปฃๆ ทๅผไธŽ็ป„ไปถๅŽŸ่ฏญใ€‚\\n> - ๅœจๆ ธๅฟƒไธšๅŠก้€ป่พ‘ๅฑ‚๏ผŒๆทฑๅบฆๅฏนๆฏ”ไบ†่ฝป้‡ๅŒ–็Šถๆ€็ฎก็†ๆ–นๆกˆ๏ผˆ้ฆ–ๆŽจ Zustand/Jotai๏ผ‰๏ผŒๅนถ้‡็‚น่งฃๆžไบ†ๆ•ฐๆฎไบคไบ’็š„ไธ‰ๅคง็Žฐไปฃๆžถๆž„่Œƒๅผ๏ผšไปŽๅŸบ็ก€ Axios ๅˆฐ React Query ็Šถๆ€่ฐƒๅบฆ๏ผŒๅ†ๅˆฐ tRPC ๅ’Œ GraphQL ๅธฆๆฅ็š„ๅ…จๆ ˆ็ฑปๅž‹ๅฎ‰ๅ…จไธŽๅคš็ซฏ่šๅˆใ€‚\\n> - ๅœจๅทฅ็จ‹ๅŒ–ไธŽๆœๅŠก็ซฏๆจกๅ—๏ผŒๆ–‡็ซ ๅ…จ้ขๆ‹ฅๆŠฑ Viteใ€Rsbuild ็ญ‰ๆž้€Ÿๆž„ๅปบๅทฅๅ…ท๏ผŒๅนถๅ‰–ๆžไบ† Next.js/N\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/03.ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผšๅฐ†้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/03.ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผšๅฐ†้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"frontmatter\":{\"date\":\"2026-02-06 15:48:23\",\"title\":\"ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผš้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผš้ขๅฏนๅฑ‚ๅ‡บไธ็ฉท็š„ Promptใ€MCPใ€Skills ๅ’Œ Subagents๏ผŒๅพˆๅคšๅผ€ๅ‘่€…ๅ’Œไบงๅ“็ป็†ๅธธๆ„Ÿๅˆฐๅ›ฐๆƒ‘๏ผš่ฟ™ไบ›็ป„ไปถ็ฉถ็ซŸๆ˜ฏ้‡ๅค้€ ่ฝฎๅญ๏ผŒ่ฟ˜ๆ˜ฏๅ„ๅธๅ…ถ่Œ็š„็งฏๆœจ๏ผŸๆœฌๆ–‡ๅฐ†ๆทฑๅบฆๆ‹†่งฃ Agentic ็”Ÿๆ€็š„ไบ”ๅคงๆ ธๅฟƒๆ”ฏๆŸฑ๏ผŒๆญ็คบๅฆ‚ไฝ•้€š่ฟ‡ไผ˜้›…็š„ๆžถๆž„่ฎพ่ฎกๅฎž็ŽฐๅๅŒ้—ญ็Žฏ๏ผŒๅฐ†้›ถๆ•ฃ็š„ AI ็ป„ไปถๆ‹ผ่ฃ…ๆˆไธ€ๅฅ—ๅฏๆŒ็ปญ่ฟ›ๅŒ–็š„ AI ๅŽŸ็”Ÿๆ“ไฝœ็ณป็ปŸ๏ผŒๆŠŠ็ขŽ็‰‡ๅŒ–็š„ AI ่ƒฝๅŠ›่ฝฌๅŒ–ไธบ้ซ˜ๅฏ็”จ็š„็”ŸไบงๅŠ›ๆตใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/ai-practice/agent_components_zh.png\",\"permalink\":\"/ai-agent/composition-ai-components\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"],\"tags\":[\"Agent\",\"AI\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผš้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"date\":\"2026-02-06 15:48:23\",\"capture\":\"<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/ai-practice/agent_components_zh.png\\\" style=\\\"width: 100%; border-radius: 8px; margin-bottom: 20px;\\\" alt=\\\"about site background\\\">\\n 1. ๅผ•่จ€\\n> ้—ฎ้ข˜๏ผšๅœจๆ™บ่ƒฝไฝ“็”Ÿๆ€้‡Œ๏ผŒๅ„ไธช็ป„ไปถๅˆฐๅบ•ๆ˜ฏๆ€ŽไนˆๅๅŒๅทฅไฝœ็š„๏ผŸ\\nๅฝ“ๅ‰๏ผŒAgent๏ผˆๆ™บ่ƒฝไฝ“๏ผ‰ๆŠ€ๆœฏๅ‘ๅฑ•่ฟ…็Œ›๏ผŒๅ„็ง่ฎพ่ฎกๆจกๅผใ€ๆ ธๅฟƒ็ป„ไปถไธŽๅทฅไฝœๆœบๅˆถๅฑ‚ๅ‡บไธ็ฉทใ€‚้ขๅฏน็นๆ‚็š„ๆ™บ่ƒฝไฝ“็”Ÿๆ€\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/11. LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/11. LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-01-06 15:58:53\",\"title\":\"LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆˆช่‡ณ 2026 ๅนด๏ผŒLLM API ๆœๅŠกๅทฒๅฝขๆˆ\\\"ๅฎ˜ๆ–น็›ด่ฟž + ็ฌฌไธ‰ๆ–น่šๅˆ\\\"็š„ๅŒ่ฝจๆ ผๅฑ€๏ผŒๆจกๅž‹่ƒฝๅŠ›ใ€ๅฎšไปทใ€ๅˆ่ง„ๆ€งไธŽๆŽฅๅ…ฅไพฟๅˆฉๆ€งๅทฎๅผ‚ๆ˜พ่‘—ใ€‚ๆœฌๆ–‡ไปŽ้€‰ๅž‹ๅ‰ๆ้—ฎๅ‡บๅ‘๏ผŒ็ณป็ปŸๆขณ็†ๅ›ฝ้™…ไธŽๅ›ฝๅ†…ไธปๆตๅฎ˜ๆ–น API ๅนณๅฐ๏ผŒไปฅๅŠ OpenRouterใ€็ก…ๅŸบๆตๅŠจ็ญ‰็ฌฌไธ‰ๆ–น่šๅˆๅนณๅฐ็š„ๆ ธๅฟƒ็‰น็‚น๏ผŒๅนถๆไพ›ๅŸบไบŽๅœบๆ™ฏ็š„ๅ†ณ็ญ–ๆก†ๆžถ๏ผŒๅธฎๅŠฉๅผ€ๅ‘่€…ๅ’Œไบงๅ“ๅ›ข้˜Ÿๅฟซ้€Ÿ้”ๅฎšๆœ€้€‚ๅˆ่‡ชๅทฑ็š„ๆ–นๆกˆใ€‚\",\"permalink\":\"/ai-learning/llm-api-resources\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"LLM API\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"date\":\"2026-01-06 15:58:53\",\"capture\":\"1. ้€‰ๆจกๅž‹ๅ‰๏ผŒๅ…ˆๆƒณๆธ…ๆฅš่ฟ™ๅ‡ ไปถไบ‹\\nๅœจๅฏนๆฏ”ๅ…ทไฝ“ๅนณๅฐไน‹ๅ‰๏ผŒๅฏไปŽไปฅไธ‹ๅ››ไธช็ปดๅบฆๆขณ็†่‡ช่บซ่ฏ‰ๆฑ‚๏ผŒ้ฟๅ…\\\"็œผ่Šฑ็ผญไนฑๅŽ้šไพฟ้€‰ไธ€ไธช\\\"๏ผš\\n| ็ปดๅบฆ | ๅ…ณ้”ฎ้—ฎ้ข˜ | ๅฝฑๅ“ๅ†ณ็ญ– |\\n|:-----|:--------|:--------|\\n| ไปปๅŠก็ฑปๅž‹ | ๆ˜ฏ้€š็”จๅฏน่ฏใ€ไปฃ็ ็”Ÿๆˆใ€้•ฟๆ–‡ๆกฃๅˆ†ๆž๏ผŒ่ฟ˜ๆ˜ฏๅคšๆจกๆ€็†่งฃ๏ผŸ | ไธๅŒๆจกๅž‹ๅœจๅž‚็›ด่ƒฝๅŠ›ไธŠๅทฎ่ทๆ‚ฌๆฎŠ |\\n| ๆˆๆœฌ้ข„็ฎ— | ๆฏๆœˆ่ฐƒ็”จ้‡็บง๏ผŸ่ƒฝๅฆๆŽฅๅ—ๆตทๅค–็ป“็ฎ—ไธŽๆฑ‡็އ้ฃŽ้™ฉ๏ผŸ | ๅ›ฝไบงๆจกๅž‹ Token ไปทๆ ผ้€šๅธธไฝŽ 3๏ฝž10 ๅ€ |\\n| ๅˆ่ง„ไธŽ้ƒจ็ฝฒ | ๆ•ฐๆฎ่ƒฝๅฆๅ‡บๅขƒ๏ผŸ่ƒฝๅฆไฝฟ็”จๆตทๅค–ๆœๅŠก๏ผŸๆ˜ฏๅฆ้œ€่ฆ็งๆœ‰ๅŒ–้ƒจ็ฝฒ๏ผŸ | ๆถ‰ๅŠๆ”ฟๅŠก/้‡‘่ž/ๅŒป็–—ๅœบๆ™ฏๅฟ…้กป่€ƒ่™‘ |\\n| ็ฝ‘็ปœ็Žฏๅขƒ | ๅผ€ๅ‘/้ƒจ็ฝฒ็Žฏๅขƒ่ƒฝๅฆ็จณๅฎš่ฎฟ\"},{\"url\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/10.่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"relativePath\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/10.่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"frontmatter\":{\"date\":\"2025-12-06 22:05:50\",\"title\":\"่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"description\":\"่ฝฏไปถๅทฅ็จ‹ๆญฃ็ปๅކไปŽโ€œๆ‰‹ๅ†™้€ป่พ‘โ€ๅ‘โ€œๆ„ๅ›พ่ฐƒๅบฆโ€็š„่Œƒๅผ่ฟๅพ™ใ€‚Anthropic ็š„็ ”็ฉถๆญ็คบไบ† AI ๅนถ้ž็ฎ€ๅ•็š„ๆๆ•ˆๅทฅๅ…ท๏ผŒ่€Œๆ˜ฏ้€š่ฟ‡้‡Šๆ”พ 27% ๆ›พ็ปโ€œไธๅˆ’็ฎ—โ€็š„ๅทฅ็จ‹ไปปๅŠก๏ผŒ้‡ๅก‘ไบ†่ฝฏไปถ่ดจ้‡็š„ๅฏ†ๅบฆใ€‚ๅœจ่‡ช็„ถ่ฏญ่จ€ๅณ็ผ–็จ‹่ฏญ่จ€็š„ๆ—ถไปฃ๏ผŒๆˆ‘ไปฌ้œ€่ฆ้€š่ฟ‡่ง„ๆ ผ้ฉฑๅŠจ๏ผˆSDD๏ผ‰ไธŽๅคšๆ™บ่ƒฝไฝ“็ผ–ๆŽ’๏ผŒ็ ด่งฃโ€œ็›‘็ฃๆ‚–่ฎบโ€ๅธฆๆฅ็š„ๆŠ€่ƒฝๅนณๅบธๅŒ–ๅฑๆœบ๏ผŒๅฐ† AI ็š„ๆฆ‚็އๆ€ง็”Ÿๆˆ้ฉฏๅŒ–ไธบ็กฎๅฎšๆ€ง็š„ๅทฅ็จ‹ไบคไป˜ใ€‚ๅฝ“็ผ–็ ๆˆๆœฌ่ถ‹ไบŽ้›ถ๏ผŒๅทฅ็จ‹ๅธˆ็š„็ปˆๆžๅฃๅž’ๅฐ†ๆ˜ฏๅฎšไน‰ๅฎŒ็พŽ็š„ๅ“ๅ‘ณ๏ผŒไปฅๅŠๅœจ AI ่ฟท้›พไธญ่ฏ†็ ดๅนณๅบธ็š„ๆดžๅฏŸๅŠ›ใ€‚\",\"permalink\":\"/fullstack/ai-change-work-workflow/\",\"top\":true,\"tags\":[\"ๅ…จๆ ˆ\",\"AI\"],\"categories\":[\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"date\":\"2025-12-06 22:05:50\",\"capture\":\"<script setup>\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\nๅœฐๅ€๏ผšHow AI is transforming work at Anthropic\\nๆ ธๅฟƒๆ ‡็ญพ๏ผš`AI่พ…ๅŠฉ็ผ–็จ‹` `ๅทฅ็จ‹` `่Œƒๅผ่ฝฌ็งป` `ๅทฅไฝœ่ฝฌๅž‹` `็”ŸไบงๅŠ›ๆๅ‡` `ๆŠ€่ƒฝๅ‘ๅฑ•` `ไบบๆœบๅไฝœ` \\nไธ€ๅฅ่ฏไป‹็ป๏ผšAnthropic ไธไป…ไป…ๆ˜ฏ AI ๅทฅๅ…ท็š„็”Ÿไบง่€…๏ผŒๆ›ดๆ˜ฏ็ฌฌไธ€ไธช่ฟ›ๅ…ฅโ€œๆœชๆฅๅฎž้ชŒๅฎคโ€็š„ๆทฑๅบฆ่ง‚ๅฏŸ่€…ใ€‚ไป–ไปฌ้€š่ฟ‡ๅ†…้ƒจๆ•ฐๆœˆ็š„ๅฎž้ชŒๆ•ฐๆฎๅ‘Š่ฏ‰ๆˆ‘ไปฌ๏ผšๅคงๆจกๅž‹ๅฏน่ฝฏไปถๅทฅ็จ‹็š„ๆ”น้€ ๏ผŒ็ป้ž็ฎ€ๅ•็š„โ€œๆๆ•ˆโ€๏ผŒ่€Œๆ˜ฏไธ€\"},{\"url\":\"/01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ\",\"frontmatter\":{\"date\":\"2025-11-25 00:52:28\",\"title\":\"AI ็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡ๆทฑๅบฆ่งฃๆžไบ† AI ้ฉฑๅŠจ็ผ–็จ‹็š„ไธ‰ๅคงๆผ”่ฟ›่Œƒๅผ๏ผšVibe Coding๏ผˆ่‡ช็„ถ่ฏญ่จ€้›ถ้—จๆง›ๆž„ๅปบ๏ผ‰ใ€AI IDE๏ผˆ็ผ–่พ‘ๅ™จๆทฑๅบฆ่พ…ๅŠฉๆๆ•ˆ๏ผ‰ๅŠ Agentic Engineering๏ผˆ่‡ชไธปๅทฅ็จ‹ๅธˆๆ‰ง่กŒไปปๅŠก๏ผ‰ใ€‚้€š่ฟ‡ๆจชๅ‘ๅฏนๆฏ” Bolt.newใ€Cursorใ€Claude Code ็ญ‰ๅ‰ๆฒฟๅทฅๅ…ท๏ผŒๆ–‡็ซ ๅ‹พๅ‹’ๅ‡บไธ€ๆกไปŽโ€œๅฟซ้€ŸๅŽŸๅž‹โ€ๅˆฐโ€œ้ซ˜ๆ•ˆๅๅŒโ€ๅ†ๅˆฐโ€œ่‡ชไธปไบคไป˜โ€็š„่ฟ›้˜ถ่ทฏๅพ„ใ€‚ๆ ธๅฟƒๆ—จๅœจๆŒ‡ๅฏผ็”จๆˆทๅˆฉ็”จ AI ๅทฅๅ…ท็Ÿฉ้˜ตๆ‰“็ ดๆŠ€ๆœฏ่พน็•Œ๏ผŒๅฎž็ŽฐไปŽๅˆ›ๆ„ๆ่ฟฐๅˆฐๅทฅไธš็บงไบคไป˜็š„็”ŸไบงๅŠ›้ฃž่ทƒ๏ผŒ้‡ๅก‘่ฝฏไปถๅผ€ๅ‘ๅ…จ็”Ÿๅ‘ฝๅ‘จๆœŸใ€‚\",\"permalink\":\"/ai-learning/ai-coding-resources\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/source_sites_bg.png\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"AI Coding\",\"Vibe Coding\",\"Agentic Engineering\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"AI ็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่\",\"date\":\"2025-11-25 00:52:28\",\"capture\":\"1. ไธ‰็ง็ผ–็จ‹่Œƒๅผ้€Ÿ่งˆ\\n| ่Œƒๅผ | ไธ€ๅฅ่ฏๆ่ฟฐ | ไฝ ็š„่ง’่‰ฒ |\\n|:-----|:---------|:--------|\\n| Vibe Coding | ็”จ่‡ช็„ถ่ฏญ่จ€ๆ่ฟฐ้œ€ๆฑ‚๏ผŒAI ็›ดๆŽฅ็”Ÿๆˆๅฏ่ฟ่กŒ็š„ๅฎŒๆ•ด้กน็›ฎ | ๆ่ฟฐ้œ€ๆฑ‚๏ผŒ่ฎฉ AI ๅ†™ไปฃ็ (```ๆ–ฐๆ‰‹ๅ‹ๅฅฝ```) |\\n| AI IDE | ๅœจ็ผ–่พ‘ๅ™จ้‡Œๅผ•ๅ…ฅ AI ่พ…ๅŠฉ๏ผŒ่พนๅ†™่พน่กฅๅ…จใ€่พน้—ฎ่พนๆ”น | ไธปๅฏผๅผ€ๅ‘๏ผŒ่ฎฉ AI ๅšๅ‰ฏ้ฉพ้ฉถ(```ๆ›ดๅคšๆŽงๅˆถ```) |\\n| Agentic Engineering | AI ไฝœไธบ\\\"่‡ชไธปๅทฅ็จ‹ๅธˆ\\\"๏ผŒๆŽฅๆ”ถไปปๅŠกๅŽ่‡ชๅŠจ่ง„ๅˆ’ๅนถๆ‰ง่กŒๅ…จๅฅ—ไปฃ็ ๅทฅไฝœๆต | ๆไปปๅŠกใ€ๅฎก็ป“ๆžœ๏ผŒ่ฎฉ AI ๆ‰ง่กŒ(```ๆž่‡ดๆๆ•ˆ```) |\\nๆ–ฐๆ‰‹่ทฏ็บฟๅปบ่ฎฎ๏ผšๅ…ˆ\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"frontmatter\":{\"date\":\"2025-11-25 00:52:28\",\"title\":\"ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไธบไพฟไบŽ้ซ˜ๆ•ˆๅˆฉ็”จ AI ๅทฅๅ…ทๆๅ‡ๅญฆไน ใ€ๆœ็ดขๅ’Œๅˆ›ไฝœๆ•ˆ็އ๏ผŒๆœฌๆ–‡็ณป็ปŸๆ•ด็†ไบ†ไธปๆต็š„ AI ๅŠฉๆ‰‹ไธŽๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐ็›ธๅ…ณ่ต„ๆบใ€‚ๅ†…ๅฎนๅˆ†ไธบโ€œAI ๅŠฉๆ‰‹โ€๏ผˆๅฆ‚ ChatGPTใ€Claudeใ€Gemini ็ญ‰ๅฏน่ฏๅผๅŠฉๆ‰‹๏ผ‰ๅ’Œโ€œๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐโ€๏ผˆๅฆ‚ๅ†™ไฝœใ€็ป˜็”ป็ญ‰้ข†ๅŸŸ็š„ AI ๅทฅๅ…ทไธŽๅนณๅฐ๏ผ‰๏ผŒไธ”ๆ ‡ๆณจไบ†ๅ…ถๆ ธๅฟƒ่ƒฝๅŠ›ใ€้€‚ๅˆๅœบๆ™ฏ๏ผŒไปฅๅŠ็‰น่‰ฒไผ˜ๅŠฟใ€‚\",\"permalink\":\"/ai-learning/tools-assistant\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/source_sites_bg.png\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"AI ๅŠฉๆ‰‹\",\"AI ๆœ็ดข\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"date\":\"2025-11-25 00:52:28\",\"capture\":\"1. AI ๅŠฉๆ‰‹\\n> ้€‰ๆ‹ฉๅปบ่ฎฎ๏ผš ่‹ฑๆ–‡ไธบไธป โ†’ ไผ˜ๅ…ˆ ChatGPT / Claude / Gemini๏ผ›ไธญๆ–‡ไธบไธป โ†’ ไผ˜ๅ…ˆ Kimi / DeepSeek / ้€šไน‰ๅƒ้—ฎ๏ผ›้œ€่ฆ่”็ฝ‘ๅฎžๆ—ถไฟกๆฏ โ†’ Gemini / Grok๏ผ›้œ€่ฆๅˆ†ๆž้•ฟๆ–‡ๆกฃ โ†’ Claude / Kimi๏ผ›่ฟฝๆฑ‚ไฝŽๆˆๆœฌๅผ€ๆบ้ƒจ็ฝฒ โ†’ DeepSeekใ€‚\\n>\\n> ๆณจ๏ผš็›ฎๅ‰ๅ›ฝๅค–ๆจกๅž‹๏ผˆๅฆ‚ ChatGPTใ€Claudeใ€Gemini ็ญ‰๏ผ‰ๅœจ่‹ฑๆ–‡ๅค„็†ใ€ๅคšๆจกๆ€่ƒฝๅŠ›ใ€ๆ’ไปถ็”Ÿๆ€ๅ’Œ API ไธฐๅฏŒๆ€ง็ญ‰ๆ–น้ข๏ผŒๆ•ดไฝ“ไธŠไพ็„ถไผ˜ไบŽๅ›ฝๅ†…ๆจกๅž‹๏ผŒ้€‚ๅˆๅฏน่‹ฑๆ–‡ๅˆ›ไฝœใ€ๅคš่ฏญ่จ€ๆฒŸ้€šใ€ๅคๆ‚ๆŽจ็†ใ€ไปฃ็ ๅŠฉๆ‰‹็ญ‰ๅœบๆ™ฏๆœ‰ๆ›ด้ซ˜่ฆๆฑ‚็š„็”จๆˆทใ€‚ไธ่ฟ‡๏ผŒๅ›ฝๅ†…ๆจกๅž‹ๅœจไธญๆ–‡็†่งฃใ€ๆœฌๅœฐๅŒ–ใ€ๅˆ่ง„\"},{\"url\":\"/10.ไบงๅ“ Sense/04.ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–/30.ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹่ฏปๅŽๆ„Ÿ\",\"relativePath\":\"/10.ไบงๅ“ Sense/04.ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–/30.ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹่ฏปๅŽๆ„Ÿ\",\"frontmatter\":{\"date\":\"2025-11-24 21:50:00\",\"title\":\"ๆ”พๅผƒๅขž้•ฟๆ‰งๅฟต๏ผŒไธบไป€ไนˆโ€œๅฐ่€Œ็พŽโ€ๆ‰ๆ˜ฏๅฏๆŒ็ปญไน‹่ทฏ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒ็ง‘ๆŠ€ไบ’่”็ฝ‘่กŒไธš็š„ๅ™ไบ‹้ƒฝ่ขซโ€œไธๆƒœไธ€ๅˆ‡ไปฃไปทๅฎž็Žฐ่ถ…็บฟๆ€งๅขž้•ฟโ€ๆ‰€ไธปๅฏผใ€‚ไปฟไฝ›ๅชๆœ‰ๆ‹ฟๅˆฐๅทจ้ข่ž่ต„ใ€็–ฏ็‹‚ๆ‹›ไบบใ€ๆˆไธบไผฐๅ€ผ็ ด็™พไบฟ็š„ๅบž็„ถๅคง็‰ฉ๏ผŒๆ‰็ฎ—ๅพ—ไธŠๆ˜ฏๆˆๅŠŸ็š„ๅˆ›ไธšใ€‚็„ถ่€Œ๏ผŒ่ฏปๅฎŒ่จๅธŒๅฐ”ยทๆ‹‰ๆ–‡ๅ‰ไบš็š„ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹ๅŽ๏ผŒ็ฌ”่€…่Žทๅพ—ไบ†ไธ€็งๆˆช็„ถไธๅŒ็š„ๅ•†ไธš่ง†่ง’๏ผšไผไธšๅญ˜ๅœจ็š„้ฆ–่ฆ็›ฎ็š„ไธๆ˜ฏไธบไบ†่ž่ต„ๅ’Œๆ‰ฉๅผ ๏ผŒ่€Œๆ˜ฏไธบไบ†้€š่ฟ‡่งฃๅ†ณ้—ฎ้ข˜ๆฅ่Žทๅพ—ๆŒ็ปญ็š„็›ˆๅˆฉใ€‚ ๆœฌๆ–‡็ป“ๅˆไนฆไธญ็š„ๆ ธๅฟƒ่ฎบ็‚นไธŽ่‡ช่บซ็š„็ ”ๅ‘่ง†่ง’๏ผŒๆŠŠๅฐ†่ฟ™ๆœฌไนฆ่ƒŒๅŽ็š„็ป่ฅ้€ป่พ‘ไธŽไบงๅ“ๅ“ฒๅญฆๆขณ็†ไธบๅ‡ ไธชๆ ธๅฟƒๅฑ‚้ข็š„ๆ€่€ƒใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense/small-rule-learn\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"ไบงๅ“ Sense\",\"ๅ•†ไธšๅŒ–\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆ”พๅผƒๅขž้•ฟๆ‰งๅฟต๏ผŒไธบไป€ไนˆโ€œๅฐ่€Œ็พŽโ€ๆ‰ๆ˜ฏๅฏๆŒ็ปญไน‹่ทฏ\",\"date\":\"2025-11-24 21:50:00\",\"capture\":\"ไนฆๅ๏ผšใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹\\nไฝœ่€…๏ผš[็พŽ] ่จๅธŒๅฐ”ยทๆ‹‰ๆ–‡ๅ‰ไบš\\nๆ ธๅฟƒๆ ‡็ญพ๏ผšๆž็ฎ€ๅˆ›ไธš๏ฝœ็คพๅŒบๆœฌไฝ๏ฝœๆŒ็ปญ็›ˆๅˆฉ๏ฝœๅˆ›ไฝœ่€…็ปๆตŽ\\nไธ€ๅฅ่ฏ็ฎ€่ฏ„๏ผšๅœจ็›ฒ็›ฎๅด‡ๆ‹œ่ง„ๆจกๆ‰ฉๅผ ็š„ๅ•†ไธš่ฏญๅขƒไธ‹๏ผŒ่ฟ™ๆ˜ฏไธ€ไปฝๅ†™็ป™็‹ฌ็ซ‹ๅˆ›ไฝœ่€…ไธŽๅผ€ๅ‘่€…็š„ๆธ…้†’ๆŒ‡ๅ—๏ผŒๆ•™ไผšๆˆ‘ไปฌๅฆ‚ไฝ•็”จๆœ€ๅฐ‘็š„่ต„ๆบ๏ผŒ่งฃๅ†ณ็œŸๅฎž็š„็—›็‚น๏ผŒๅนถ่Žทๅพ—้•ฟไน…็š„่‡ช็”ฑใ€‚\\nๆ›ดๅคšไนฆ็ฑๆŽจ่ไฟกๆฏๅฏๅ‚่€ƒ๏ผšไบงๅ“ Sense ไธŽๅ•†ไธšๅŒ–\\n 1. ็คพๅŒบๅ…ˆ่กŒ๏ผšไปŽโ€œๆˆ‘ๆ˜ฏ่ฐโ€ๅˆฐโ€œๆˆ‘่ƒฝไธบ่ฐ่งฃๅ†ณ้—ฎ้ข˜โ€\\nไผ ็ปŸๅ•†ไธš้€ป่พ‘ๅพ€ๅพ€ๆ˜ฏๅ…ˆๆž„ๆ€ไธ€ไธชๅฎๅคง็š„็‚นๅญ๏ผŒ้—ญ้—จ้€ ่ฝฆๆ‰“็ฃจไบงๅ“๏ผŒๆœ€ๅŽๅ†็ ธ้’ฑๅŽปๅธ‚ๅœบไธŠๅฏปๆ‰พ็›ฎๆ ‡็”จๆˆทใ€‚่€Œๆœฌไนฆๆๅ‡บไบ†ไธ€ไธช้ข ่ฆ†ๆ€ง็š„ๅๅ‘่ทฏๅพ„๏ผš็คพๅŒบ $\\\\rightarrow$ ้—ฎ้ข˜ $\\\\rightarrow$ ๆต็จ‹ $\\\\rightarrow$\"},{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/11.React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/11.React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"frontmatter\":{\"date\":\"2025-11-15 09:20:23\",\"title\":\"ไธๆญขไบŽ Fetch๏ผšReact ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"aliases\":[\"SWR\",\"TanStack Query\",\"React\",\"ๆœๅŠก็ซฏ็Šถๆ€\",\"ไน่ง‚ๆ›ดๆ–ฐ\",\"ๅทฅ็จ‹ๅŒ–\"],\"tldr\":\"ๆทฑๅ…ฅ่งฃๆž SWR ็š„ๆž็ฎ€ๅ่ฎฎไธŽ TanStack Query ็š„็ฒพๅฏ†็Šถๆ€ๆœบใ€‚้€š่ฟ‡ๅฏนๆฏ”็ผ“ๅญ˜ๅคฑๆ•ˆใ€ไน่ง‚ๆ›ดๆ–ฐ็ญ‰ๆ ธๅฟƒๅœบๆ™ฏ๏ผŒไธบ้ซ˜ๅคๆ‚ๅบฆ B ็ซฏๅบ”็”จไธŽ่ฝป้‡็บง้กน็›ฎๆไพ›ๆธ…ๆ™ฐ็š„ๆžถๆž„้€‰ๅž‹ๆจกๅž‹ใ€‚\",\"description\":\"ๆทฑๅบฆๅฏนๆฏ” React ็”Ÿๆ€ไธญ SWR ไธŽ TanStack Query ไธคๅคงๆ–นๆกˆใ€‚ไปŽ stale-while-revalidate ๆœบๅˆถๅˆฐๅผ‚ๆญฅ็Šถๆ€ๆœบๆžถๆž„๏ผŒๆถต็›–ไพ่ต–ๆŸฅ่ฏขใ€ๆ•ฐๆฎ่ฝฌๆขๅŠๆžถๆž„็บงไน่ง‚ๆ›ดๆ–ฐๅฎžๆˆ˜ใ€‚ๆ—จๅœจๅธฎๅŠฉๅผ€ๅ‘่€…ๅœจๅคๆ‚ไธšๅŠกไธญๆž„ๅปบ็กฎๅฎšๆ€ง็š„ๆœๅŠก็ซฏ็Šถๆ€ๅŸบๅบงใ€‚\",\"permalink\":\"/fullstack/server-state-management\",\"tags\":[\"SWR\",\"TanStack Query\",\"ๅ‰็ซฏๅทฅ็จ‹\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไธๆญขไบŽ Fetch๏ผšReact ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"date\":\"2025-11-15 09:20:23\",\"capture\":\"1. ๅผ•่จ€\\nๅœจ็Žฐไปฃๅ‰็ซฏๅทฅ็จ‹ไธญ๏ผŒ็Šถๆ€ๅฏไธฅๆ ผๅŒบๅˆ†ไธบ UI ็Šถๆ€๏ผˆUI State๏ผ‰ ไธŽ ๆœๅŠก็ซฏ็Šถๆ€๏ผˆServer State๏ผ‰ ไธค็ฑปใ€‚ๅฏนไบŽ UI ็Šถๆ€็š„็ฎก็†๏ผŒๅผ€ๅ‘่€…ๅทฒ่พƒไธบ็†Ÿๆ‚‰๏ผŒ้€šๅธธๅฏๅ€ŸๅŠฉ `useState`ใ€`useEffect` ็ญ‰ Hooks๏ผŒๆˆ– `zustand`ใ€`jotai` ็ญ‰็Šถๆ€็ฎก็†ๅบ“ๆฅๅฎž็Žฐใ€‚็„ถ่€Œ๏ผŒๆœๅŠก็ซฏ็Šถๆ€็š„็ฎก็†ๅพ€ๅพ€็ผบไน็ปŸไธ€ไธ”้ซ˜ๆ•ˆ็š„่งฃๅ†ณๆ–นๆกˆ๏ผŒๅผ€ๅ‘่€…้€šๅธธ้œ€่ฆ่‡ช่กŒๅฎž็Žฐใ€‚\\nๅœจไผ ็ปŸ็š„ๆ•ฐๆฎ่Žทๅ–ๆต็จ‹ไธญ๏ผŒๆˆ‘ไปฌไธ€่ˆฌไฝฟ็”จ `fetch` ๆˆ– `axios` ๅ‘ๅŽ็ซฏๆˆ– REST API ๅ‘้€ HTTP ่ฏทๆฑ‚๏ผŒ้šๅŽๆ‰‹ๅŠจๅฐ†ๆ•ฐๆฎ่Žทๅ–้€ป่พ‘ไธŽๅ‰็ซฏไธšๅŠก้€ป่พ‘ๅŠ UI ็Šถๆ€็ฎก็†่ฟ›่กŒๆ•ดๅˆ๏ผŒไปฅๅฎŒๆˆๆ•ฐๆฎๅค„็†ๅนถ้ฉฑๅŠจ็•Œ้ขๆ›ดๆ–ฐ\"},{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2025-11-14 22:33:39\",\"title\":\"JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"aliases\":[\"้™ๆ€็ซ™็‚น็”Ÿๆˆๅ™จ\",\"SSG\"],\"tldr\":\"้ข„ๆธฒๆŸ“้™ๆ€้กต้ข + ๅŠจๆ€ API๏ผŒCDN ๅˆ†ๅ‘ๅ…จ็ƒ๏ผŒๆ›ฟไปฃไผ ็ปŸๅŠจๆ€็ฝ‘็ซ™็š„ๅผ€ๅ‘้ƒจ็ฝฒ่Œƒๅผ\",\"description\":\"ไปŽๆ ธๅฟƒๆฆ‚ๅฟตใ€ๅทฅๅ…ท้“พ้€‰ๅž‹๏ผˆNext.js/Vercel/Supabase/Contentful๏ผ‰ๅˆฐไปŽ 0 ๆญๅปบๅšๅฎข็š„ๅฎŒๆ•ดๅฎž่ทต๏ผŒ่ฆ†็›– JAMStack ้€‚็”จไธŽไธ้€‚็”จๅœบๆ™ฏ๏ผŒๅธฎๅŠฉๅˆคๆ–ญไฝ•ๆ—ถ้€‰็”จ่ฏฅๆžถๆž„ใ€‚\",\"permalink\":\"/fullstack/jamstack\",\"tags\":[\"tutorial\",\"jamstack\",\"frontend-architecture\",\"next.js\",\"static-site-generator\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2025-11-14 22:33:39\",\"capture\":\"> \\n> ๅ…ถๆ ธๅฟƒๆœบๅˆถๆ˜ฏๅœจๆž„ๅปบๆ—ถๅฐ†้กต้ข้ข„ๆธฒๆŸ“ไธบ้™ๆ€ HTML/CSS/JS๏ผŒ้ƒจ็ฝฒ่‡ณ CDN ไพ›็”จๆˆทๅฐฑ่ฟ‘ๅŠ ่ฝฝ๏ผŒไป…ๅœจ้œ€่ฆๅŠจๆ€ๆ•ฐๆฎๆ—ถ้€š่ฟ‡ JavaScript ่ฐƒ็”จ API ่Žทๅ–ใ€‚็›ธ่พƒไบŽไผ ็ปŸๅŠจๆ€็ฝ‘็ซ™๏ผŒJAMStack ๅœจๆ€ง่ƒฝใ€ๅฏ้ ๆ€งใ€ๆ‰ฉๅฑ•ๆ€งใ€ๅฎ‰ๅ…จๆ€งๅŠ่ฟ็ปดๆˆๆœฌไธŠๅ…ทๆœ‰ๆ˜พ่‘—ไผ˜ๅŠฟใ€‚\\n> \\n> ๆœฌๆ–‡ๆขณ็†ไบ†ไธปๆตๆž„ๅปบๅทฅๅ…ท๏ผˆGatsbyใ€Next.jsใ€Nuxt.jsใ€11ty๏ผ‰ใ€้™ๆ€ๆ‰˜็ฎกๅนณๅฐ๏ผˆVercelใ€Netlifyใ€Cloudflare Pages๏ผ‰ใ€API/BaaS ๆœๅŠก๏ผˆSupabaseใ€Firebaseใ€Auth0๏ผ‰ๅŠๆ— ๅคด CMS๏ผˆContentfulใ€Sanityใ€Strapi\"},{\"url\":\"/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/40.ๆดžๅฏŸๅŠ›ๆจกๅž‹\",\"relativePath\":\"/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/40.ๆดžๅฏŸๅŠ›ๆจกๅž‹\",\"frontmatter\":{\"date\":\"2025-11-14 16:00:00\",\"title\":\"ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผšๅฆ‚ไฝ•็œ‹้€ไบงๅ“ไธŽๆŠ€ๆœฏ่ƒŒๅŽ็š„็ณป็ปŸ้€ป่พ‘๏ผŸ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆ— ่ฎบๆ˜ฏๅšไบงๅ“ใ€ๆžๆŠ€ๆœฏ๏ผŒ่ฟ˜ๆ˜ฏๅบ”ๅฏนๆ—ฅๅธธๅทฅไฝœไธญ็š„ๅ„็งๆŒ‘ๆˆ˜๏ผŒไฝ ๆ˜ฏๅฆ้‡ๅˆฐ่ฟ‡่ฟ™ๆ ท็š„ๅ›ฐๅขƒ๏ผšๆ˜Žๆ˜ŽๆŒ‰็ป้ชŒ่กŒไบ‹๏ผŒๅดๅฑกๅฑก่ธฉๅ‘๏ผ›ๅˆš่งฃๅ†ณ่กจ้ข้—ฎ้ข˜๏ผŒ้šๆ‚ฃๅˆๅทๅœŸ้‡ๆฅใ€‚้—ฎ้ข˜ๆœชๅฟ…ๅ‡บๅœจๅŠชๅŠ›็จ‹ๅบฆ๏ผŒ่€ŒๅœจไบŽๆˆ‘ไปฌๅช็›ฏ็€่กจ่ฑก๏ผŒๅดๅฟฝ็•ฅไบ†่ƒŒๅŽ็œŸๆญฃ่ตทไฝœ็”จ็š„็ณป็ปŸ๏ผŒๆฒกๆœ‰็œ‹ๆ‡‚่—ๅœจ่ƒŒๅŽ็š„็ณป็ปŸใ€‚ไธบไป€ไนˆๅŒๆ ทๆ˜ฏ่งฃๅ†ณ้—ฎ้ข˜๏ผŒๆœ‰ไบบๅช่ƒฝโ€œๅคด็—›ๅŒปๅคดโ€๏ผŒๆœ‰ไบบๅด่ƒฝ็›ดๅ‡ปๆœฌ่ดจ๏ผŸ่ฟ™็ฏ‡ๆ–‡็ซ ๅฐ†็”จ้€šไฟ—ๆ˜“ๆ‡‚็š„ๆ–นๅผ๏ผŒๅธฆไฝ ๆ‹†่งฃไธ€ๅฅ—ๅฎž็”จ็š„ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผŒ่ฎฉๆˆ‘ไปฌๅญฆไผš้€่ฟ‡็Žฐ่ฑกๆŠ“ไฝๆœฌ่ดจ๏ผŒไปŽๆ นๆบไธŠ่งฃๅ†ณ้—ฎ้ข˜ใ€‚\",\"permalink\":\"/product-sense/insight-model\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"ไบงๅ“ Sense\",\"็ณป็ปŸๆดžๅฏŸๅŠ›\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผšๅฆ‚ไฝ•็œ‹้€ไบงๅ“ไธŽๆŠ€ๆœฏ่ƒŒๅŽ็š„็ณป็ปŸ้€ป่พ‘๏ผŸ\",\"date\":\"2025-11-14 16:00:00\",\"capture\":\"1. ่กจ่ฑก่ƒŒๅŽ่—็€ๅ†ณๅฎšไธ€ๅˆ‡็š„โ€œ็ณป็ปŸ้ป‘็›’โ€\\nๆˆ‘ไปฌๅœจๆ—ฅๅธธๅผ€ๅ‘ๆˆ–ไบงๅ“่ฎพ่ฎกไธญ๏ผŒๆ€ปๆ˜ฏ่ขซๅ„็งโ€œ่กจ่ฑกโ€ๅŒ…ๅ›ด๏ผšDAU ็ช็„ถไธ‹้™ไบ†ใ€็บฟไธŠๅ‡บ็Žฐไบ†ไธ€ไธชๅถ็Žฐ็š„ Bugใ€ๆŸไธชๅŠŸ่ƒฝ็š„่ฝฌๅŒ–็އไธๅŠ้ข„ๆœŸใ€‚ๆˆ‘ไปฌไน ๆƒฏไบ†็›ฏ็€่ฟ™ไบ›็œ‹ๅพ—่ง็š„็ป“ๆžœๆ‰พๅŽŸๅ› ๏ผŒๅดๅฟฝ็•ฅไบ†ไธ€ไธชๆ ธๅฟƒ็œŸ็›ธ๏ผšๆฏไธ€ไธช่กจ่ฑก่ƒŒๅŽ๏ผŒๅ…ถๅฎž้ƒฝ้š่—็€ไธ€ไธช่ฟ่ฝฌๅคๆ‚็š„โ€œ้ป‘็›’ๅญโ€๏ผŒๆญฃๆ˜ฏ่ฟ™ไธช้ป‘็›’ๅญๅ†ณๅฎšไบ†ไบ‹็‰ฉๅ‘ๅฑ•็š„ๅฎข่ง‚่ง„ๅพ‹ใ€‚ๆˆ‘ไปฌๅฏไปฅๆŠŠ่ฟ™ไธช้ป‘็›’ๅญ๏ผŒๅซๅšโ€œ็ณป็ปŸโ€ใ€‚\\n<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/product/system_tips.png\\\" style=\\\"width: 1\"},{\"url\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/21.ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"relativePath\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/21.ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"frontmatter\":{\"date\":\"2025-11-10 12:52:28\",\"title\":\"ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจไฟกๆฏ้ซ˜ๅบฆ้€ๆ˜Ž็š„ๆ—ถไปฃ๏ผŒๆต…ๅฑ‚ไฟกๆฏๅทฎๅทฒ่ขซๅฝปๅบ•ๆŠนๅนณ๏ผŒไฟกๆฏๆœฌ่บซ็š„ไปทๅ€ผไธๆ–ญ็จ€้‡Šใ€‚ไบบไธŽไบบ็š„ๆ ธๅฟƒๅทฎ่ทไธๅ†ๆ˜ฏ่Žทๅ–ไฟกๆฏ็š„ๆธ ้“๏ผŒ่€Œๆ˜ฏ้ซ˜ไฟกๅ™ชๆฏ”ไฟกๆฏ็š„็”„ๅˆซ่ƒฝๅŠ›ใ€ๆทฑๅบฆๆ€่€ƒ่ƒฝๅŠ›ไธŽ่ฝๅœฐๆ‰ง่กŒๅŠ›๏ผŒๅ”ฏๆœ‰ไปฅๆ€่€ƒๆ ก้ชŒไฟกๆฏใ€ไปฅๆ‰ง่กŒ้ชŒ่ฏไปทๅ€ผ๏ผŒๅฝขๆˆโ€œไฟกๆฏ-ๅˆคๆ–ญ-ๅฎž่ทต-ๅ้ฆˆโ€็š„ๆ€่€ƒไธŽๆ‰ง่กŒ้—ญ็Žฏ๏ผŒๆ‰่ƒฝ็ช็ ดไฟกๆฏๅฃๅž’ใ€ๅˆ›้€ ็œŸๆญฃไปทๅ€ผใ€‚\",\"permalink\":\"/growth/distinguish-useful-information\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"ไฟกๆฏ็ญ›้€‰\",\"ไธชไบบๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"date\":\"2025-11-10 12:52:28\",\"capture\":\"ๅœจไบ’่”็ฝ‘ๆŠ€ๆœฏๆ™ฎๅŠ็š„ๅฝ“ไธ‹๏ผŒไฟกๆฏๅทฒไปŽโ€œ็จ€็ผบ่ต„ๆบโ€่ฝฌๅ˜ไธบโ€œๆณ›ๆปฅ่ต„ๆบโ€ใ€‚่ฟ‡ๅŽปไพ่ต–ๅœฐๅŸŸๅทฎใ€็จ€็ผบๆ€ง็š„ๆต…่กจๅฑ‚ไฟกๆฏๅทฎ้€ๆธ่ขซๆŠนๅนณ๏ผŒๅผ€ๅ‘่€…้€š่ฟ‡็ฝ‘็ปœๅฏ่ฝปๆพ่Žทๅ–ๅ„็ฑปๆŠ€ๆœฏๆ–‡ๆกฃใ€่กŒไธšๅŠจๆ€ใ€่ตš้’ฑๆจกๅผ๏ผŒไฝ†็œŸๆญฃ่ƒฝๅฐ†ไฟกๆฏ่ฝฌๅŒ–ไธบไปทๅ€ผ็š„ไปๆ˜ฏๅฐ‘ๆ•ฐไบบใ€‚ๆ ธๅฟƒ็Ÿ›็›พๅทฒไปŽโ€œ่Žทๅ–ไฟกๆฏโ€่ฝฌๅ˜ไธบโ€œ้ฉพ้ฉญไฟกๆฏโ€โ€”โ€”ไฟกๆฏๆœฌ่บซ็š„ไปทๅ€ผๅผฑๅŒ–๏ผŒ่€Œไฟกๆฏ่งฃ่ฏป่ƒฝๅŠ›ใ€่กŒๅŠจๆ‰ง่กŒๅŠ›ใ€็ญ›้€‰็”„ๅˆซๅŠ›ๆˆไธบๆ‹‰ๅผ€ๅทฎ่ท็š„ๅ…ณ้”ฎใ€‚\\n 1. ๆ‰“็ ดโ€œไฟกๆฏๅทฎโ€็š„็ณป็ปŸๆ€ง้”™่ง‰\\n่ฟ‡ๅŽป๏ผŒ็”ฑไบŽๅœฐๅŸŸ้™ๅˆถๅ’Œไผ ๆ’ญไป‹่ดจ็š„็จ€็ผบ๏ผŒ่ตš้’ฑๆˆ–ๆˆๅŠŸ็š„ๆจกๅผๅพ€ๅพ€ๆ˜ฏ็ฒ—ๆ”พ็š„๏ผŒๅปบ็ซ‹ๅœจๆต…่กจๅฑ‚็š„โ€œไฟกๆฏไธๅฏน็งฐโ€ไธŠ๏ผŒไฝ†้š็€ๆŠ€ๆœฏ็š„ๆผ”่ฟ›๏ผŒ่ฟ™็งไฝŽ็ปดๅบฆ็š„ไฟกๆฏๅทฎๆญฃๅœจ่ขซ่ฟ…้€ŸๆŠนๅนณใ€‚ไบบไปฌ็ปๅธธ้™ทๅ…ฅโ€œ่ตšไธๅˆฐ้’ฑ/ๆŠ“ไธไฝๆœบไผšๆ˜ฏๅ› ไธบ็ผบๅฐ‘ไฟกๆฏๅทฎโ€็š„่ฎค็Ÿฅๅๅทฎ๏ผŒไฝ†ๆœฌ่ดจ้—ฎ้ข˜ๅœจไบŽโ€œ\"},{\"url\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"relativePath\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"frontmatter\":{\"date\":\"2025-10-24 11:05:50\",\"title\":\"ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจ AI ้‡ๅก‘่ฝฏไปถๅทฅ็จ‹็š„ไปŠๅคฉ๏ผŒๅ…จๆ ˆไธๅ†ๆ˜ฏๆŠ€ๆœฏ็š„็บฟๆ€งๅ ๅŠ ๏ผŒๆญฃๅœจไปŽโ€œๆŠ€ๆœฏๆ ˆๅ †็ Œโ€่ฝฌๅ‘โ€œ่ฎค็Ÿฅๆ ˆ้‡ๆž„โ€ใ€‚ๆœฌๆ–‡ๆๅ‡บ โ€œ(ๅทฅ็จ‹ + ไบงๅ“) ร— AIโ€ ็š„ๆ–ฐๅ…ฌๅผ๏ผŒๅŠฉๅŠ›ๅผ€ๅ‘่€…ๆž„ๅปบโ€œๆดžๅฏŸ-ๆžถๆž„-ๆ ๆ†โ€่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”๏ผŒๅˆฉ็”จ AI ๆ ๆ†่ฎฉ่‡ชๅทฑ่ฟ›ๅŒ–ไธบไปทๅ€ผๅˆ›้€ ่€…ใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"permalink\":\"/fullstack/ai-native\",\"sticky\":1,\"top\":true,\"tags\":[\"ๅ…จๆ ˆ\",\"AI\",\"ไบงๅ“\"],\"categories\":[\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"date\":\"2025-10-24 11:05:50\",\"capture\":\"<script setup>\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n 1. ๅผ•่จ€\\nๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒๅฝ“ๆˆ‘ไปฌ่ฐˆ่ฎบโ€œๅ…จๆ ˆๅทฅ็จ‹ๅธˆโ€ๆ—ถ๏ผŒ่„‘ๆตทไธญๆตฎ็Žฐ็š„ๅพ€ๅพ€ๆ˜ฏไธ€ๅผ ๅ†—้•ฟไธ”ไปคไบบ็–ฒๆƒซ็š„ๆŠ€ๆœฏๅทฅๅบๆธ…ๅ•ใ€‚\\nๅฐฑๅƒๆˆ‘ๆ›พ็ปไปฅไธบ็š„้‚ฃๆ ท๏ผŒๅ…จๆ ˆๅฐฑๆ˜ฏ็บฟๆ€ง็š„ๆŠ€่ƒฝๅ ๅŠ ไธŽ็‰ฉ็†ๅผ็š„ๆŠ€ๆœฏๆ‹ผๆŽฅ๏ผŒๆ˜ฏไธ€็งไพ้ ไบบๅŠ›ๅŽปๅกซ่กฅๆŠ€ๆœฏ้ธฟๆฒŸ็š„โ€œ่ฅฟ่ฅฟๅผ—ๆ–ฏๅผโ€ๅŠชๅŠ›๏ผš\\n* ็บฟๆ€ง็š„ๆŠ€่ƒฝๅ ๅŠ ๏ผšๆˆ‘ไปฌ่ขซ่ฟซๆˆไธบโ€œๅ…จ่ƒฝๆ‰‹โ€๏ผŒๅทฆๆ‰‹็”จ React/Vue ๆž„ๅปบ็ฒพ็พŽ็š„ UI๏ผŒๅณๆ‰‹็”จ Node/Go ็ผ–ๅ†™้ซ˜ๅนถๅ‘ API๏ผŒไธญ้—ด่ฟ˜่ฆๅค„็†ๆ•ฐๆฎๅบ“็š„ ACI\"},{\"url\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/21.ๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense\",\"relativePath\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/21.ๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense\",\"frontmatter\":{\"date\":\"2025-10-23 16:05:50\",\"title\":\"ๅฝ“โ€œๅฎž็Žฐโ€ไธๅ†ๆ˜ฏๅฃๅž’๏ผšๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense๏ผŸ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ AI ่ฎฉไปฃ็ ็”Ÿๆˆ็š„่พน้™…ๆˆๆœฌ่ถ‹่ฟ‘ไบŽ้›ถ๏ผŒโ€œๆŠ€ๆœฏๅฎž็Žฐโ€ไธๅ†ๆ˜ฏไธๅฏ้€พ่ถŠ็š„ๅฃๅž’๏ผŒโ€œไบงๅ“ๆดžๅฏŸโ€่ƒฝๆž„็ญ‘่ตทๆ–ฐ็š„ๆ ธๅฟƒๆŠคๅŸŽๆฒณใ€‚ๆœฌๆ–‡ๆ‹’็ป็Ž„ๅญฆ๏ผŒๅฐ†ๆŠฝ่ฑก็š„ ไบงๅ“ Sense ่งฃๆž„ไธบไธ‰ไธชๆ ธๅฟƒๆ•ฐๅญฆๅ…ฌๅผ๏ผŒๅนถๆไพ›ไธ€ๅฅ—ๅŸบไบŽโ€œ้€†ๅ‘ๅทฅ็จ‹โ€็š„ๅˆปๆ„็ปƒไน ๆŒ‡ๅ—๏ผŒๅŠฉๅŠ›ๅผ€ๅ‘่€…ๅœจ็ฎ—ๅŠ›่ฟ‡ๅ‰ฉ็š„ๆ—ถไปฃ๏ผŒๅฎŒๆˆไปŽโ€œไปฃ็ ๅทฅๅŒ โ€ๅˆฐโ€œไปทๅ€ผๅˆ›้€ ่€…โ€็š„่ฎค็Ÿฅ่ทƒ่ฟใ€‚\",\"sticky\":1,\"top\":true,\"categories\":[\"ไบงๅ“ Sense\",\"AI\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense/engineer-build-product-sense\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฝ“โ€œๅฎž็Žฐโ€ไธๅ†ๆ˜ฏๅฃๅž’๏ผšๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense๏ผŸ\",\"date\":\"2025-10-23 16:05:50\",\"capture\":\"1. ๅผ•่จ€\\nๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒไบงๅ“ Sense๏ผˆไบงๅ“ๆ„Ÿ๏ผ‰ ่ขซ่ง†ไธบไธ€็ง็Ž„ๅญฆใ€‚ๅฎƒไผผไนŽๆ˜ฏไน”ๅธƒๆ–ฏๅผ็š„็ตๅ…‰ไธ€็Žฐ๏ผŒๆˆ–ๆ˜ฏๅผ ๅฐ้พ™ๅผ็š„โ€œ็‹ฌๆ–ญไธ“่กŒโ€ใ€‚\\nไฝ†ๅฏนไบŽๅคงๅคšๆ•ฐๅทฅ็จ‹ๅธˆใ€ไบงๅ“็ป็†ไนƒ่‡ณ็‹ฌ็ซ‹ๅผ€ๅ‘่€…่€Œ่จ€๏ผŒๅฐ†่ƒฝๅŠ›ๅฏ„ๆ‰˜ไบŽโ€œๅคฉ่ต‹โ€ๆ˜ฏๅฑ้™ฉ็š„ใ€‚ๆˆ‘่ฎคไธบ๏ผŒไบงๅ“ Sense ๅนถ้žไธๅฏๆ‰ๆ‘ธ็š„้ป‘้ญ”ๆณ•๏ผŒ่€Œๆ˜ฏไธ€ๅฅ—็ป่ฟ‡้ซ˜้ข‘่ฎญ็ปƒๅŽๅ†…ๅŒ–ไธบๆœฌ่ƒฝ็š„ๆ€็ปด็ฎ—ๆณ•ใ€‚ ๅฐฑๅƒ่ต„ๆทฑ็จ‹ๅบๅ‘˜็œ‹ๅˆฐไธ€ๆฎตไปฃ็ ๅฐฑ่ƒฝๅ—…ๅ‡บ \\\"Code Smell\\\"๏ผˆไปฃ็ ๅผ‚ๅ‘ณ๏ผ‰๏ผŒ่ต„ๆทฑไบงๅ“ไบบไนŸ่ƒฝๅœจ็žฌ้—ดๅˆคๆ–ญไธ€ไธช้œ€ๆฑ‚ๆ˜ฏโ€œ็œŸ็—›็‚นโ€่ฟ˜ๆ˜ฏโ€œไผช้œ€ๆฑ‚โ€ใ€‚\\nไธ€ไธชๆˆๅŠŸ็š„ไบงๅ“ๅ†ณ็ญ–๏ผŒๅพ€ๅพ€ๅ‘็”Ÿๅœจไธ‰ไธช็ปดๅบฆ็š„ไบคๆฑ‡็‚น๏ผš\\n* ็”จๆˆทไปทๅ€ผๆดžๅฏŸ๏ผˆUser Value Insight๏ผ‰๏ผšไธไป…ๅฌๆ‡‚็”จๆˆท่ฏดโ€œๆƒณ่ฆๆ›ดๅฟซ็š„้ฉฌโ€๏ผŒๆ›ด่ƒฝๆดžๅฏŸไป–ๅ…ถๅฎžโ€œๆƒณๆ›ด\"},{\"url\":\"/40.ๅ…ณไบŽ/01.ๅ…ณไบŽๆˆ‘\",\"relativePath\":\"/40.ๅ…ณไบŽ/01.ๅ…ณไบŽๆˆ‘\",\"frontmatter\":{\"date\":\"2025-08-29 09:40:53\",\"title\":\"ๅ…ณไบŽๆˆ‘\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไปŽ Tech Stack ๅˆฐ Insight Stack๏ผŒๅฝ“ AI ๆŽฅ็ฎกไบ†ๅฎž็Žฐ๏ผŒๆˆ‘ๆ›ดๅ…ณๆณจๆžถๆž„็š„ๆƒ่กกไธŽไบงๅ“็š„ไปทๅ€ผ๏ผŒไธ“ๆณจ๏ผšๅทฅ็จ‹ๅŒ– Spec ไธŽ AI ็ผ–็จ‹็ฃจๅˆ็š„ๅฎž่ทต | Agent ่ฝๅœฐ | ็‹ฌ็ซ‹ไบงๅ“ใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/about_me_chinese.png\",\"permalink\":\"/about/me\",\"categories\":[\"ๅ…ณไบŽ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ…ณไบŽๆˆ‘\",\"date\":\"2025-08-29 09:40:53\",\"capture\":\"ๆˆ‘ๆ˜ฏ่ฐ\\nๆˆ‘ๆ˜ฏไธ€ๅๆ‹ฅๆœ‰ๅ…จๆ ˆ่ƒŒๆ™ฏ็š„ๅผ€ๅ‘่€…, ๆŠ€ๆœฏๅบ•่‰ฒๆบไบŽๅทฅไฝœๅ‡ ๅนดๅŽ็งฏ็ดฏไบ†่พƒไธบๆ‰Žๅฎž็š„ๅทฅ็จ‹ๅŒ–ๅฎž่ทตโ€”โ€”ไปŽๅŸบ็ก€็š„ Web ๅ‰็ซฏๅˆฐๅคๆ‚็š„่ทจๅนณๅฐๅฐ็จ‹ๅบๅŸบ็ก€ๆก†ๆžถ็š„ๆžถๆž„ๅ‡็บง๏ผŒๅ†ๅˆฐๅŸบไบŽ NodeJS ็š„ๆœๅŠก็ซฏๅผ€ๅ‘๏ผŒ่ฟ™ไบ›็ปๅކ้”ป็‚ผไบ†ๆˆ‘ๅฏน็ณป็ปŸๅคๆ‚ๅบฆ็š„ๆŽŒๆŽงๅŠ›ใ€ๅทฅ็จ‹ๅŒ–่ƒฝๅŠ›ไปฅๅŠ้กน็›ฎๆŽจๅŠจไธŽๅ›ข้˜Ÿๅˆไฝœ็š„่ƒฝๅŠ›ใ€‚\\n่‡ช 2023 ๅนด LLM ๆตชๆฝฎๆถŒ็Žฐไปฅๆฅ๏ผŒๆˆ‘ๆทฑๅบฆๆŠ•่บซไบŽ AI ็›ธๅ…ณ็š„ๆŠ€ๆœฏๆŽข็ดขใ€‚ๅœจๅทฅไฝœไธŽไธšไฝ™้กน็›ฎไธญ๏ผŒไธปๅฏผๆˆ–ๅ‚ไธŽไบ†ๅคšไธชๅŸบไบŽๅคงๆจกๅž‹็š„ๅบ”็”จ่ฝๅœฐ๏ผŒ็งฏ็ดฏไบ†ไปŽ Prompt ่ฐƒไผ˜ๅˆฐ Agentic Workflow ็ผ–ๆŽ’็š„ไธ€็บฟ็ป้ชŒ๏ผŒไนŸๅคšๆฌกๅ‚ๅŠ ไบ†ๅ›ฝๅ†… AI ็คพๅŒบ็›ธๅ…ณ็š„ๆŠ€ๆœฏๅˆ†ไบซไธŽไบคๆตๆดปๅŠจ๏ผŒไบ†่งฃไบ† AI ้ข†ๅŸŸๆœ€ๆ–ฐ็š„ๆŠ€ๆœฏ่ถ‹ๅŠฟไธŽๅฎž่ทตใ€‚\\n\\n็›ฎๅ‰๏ผŒๆˆ‘ไธป่ฆๅœจ\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹\",\"frontmatter\":{\"date\":\"2025-08-20 22:51:27\",\"title\":\"่Šไธ€่Š TypeScript ไธญ็š„ๆณ›ๅž‹\",\"tldr\":\"ๆณ›ๅž‹ๅฐ†็ฑปๅž‹ไฝœไธบๅ‚ๆ•ฐ๏ผŒไฝฟไปฃ็ ๅœจๅคš็ง็ฑปๅž‹ไธŠๅฎ‰ๅ…จ่ฟ่กŒ๏ผŒๆ˜ฏ TypeScript ็ฑปๅž‹ๆŠฝ่ฑก็š„ๆ ธๅฟƒ็‰นๆ€งใ€‚\",\"description\":\"ๆœฌๆ–‡็ณป็ปŸ่งฃๆž TypeScript ๆณ›ๅž‹็š„ๆ ธๅฟƒๆฆ‚ๅฟตไธŽๅทฅไฝœๆœบๅˆถ๏ผŒๅฏนๆฏ”ๆณ›ๅž‹ไธŽ any ็ฑปๅž‹็š„ๅทฎๅผ‚๏ผŒๆถต็›–ๆณ›ๅž‹ๅ‡ฝๆ•ฐใ€ๆŽฅๅฃใ€็ฑปใ€็ฑปๅž‹ๅˆซๅ็š„ๅฎž่ทต็”จๆณ•๏ผŒไปฅๅŠๅŸบๆœฌ็ฑปๅž‹็บฆๆŸใ€ๆŽฅๅฃ็บฆๆŸใ€ๅคš้‡็บฆๆŸใ€keyof ็บฆๆŸ็ญ‰้ซ˜้˜ถๆŠ€ๅทงไธŽๆœ€ไฝณๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/typescript-generic-types\",\"tags\":[\"tutorial\",\"typescript\",\"generics\",\"type-system\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่Šไธ€่Š TypeScript ไธญ็š„ๆณ›ๅž‹\",\"date\":\"2025-08-20 22:51:27\",\"capture\":\"1. ๆณ›ๅž‹็š„ๅŸบๆœฌๆฆ‚ๅฟตๅ’Œไฝœ็”จ\\n 1.1 ๆ ธๅฟƒๅฎšไน‰\\nๆณ›ๅž‹๏ผˆGenerics๏ผ‰ ๆ˜ฏ TypeScript ไธญไธ€็งๅผบๅคง็š„็ฑปๅž‹็ณป็ปŸ็‰นๆ€ง๏ผŒๅ…่ฎธๅฎšไน‰็ฑปๅž‹ๅ‚ๆ•ฐๅŒ–็š„็ป„ไปถ๏ผŒไฝฟไปฃ็ ่ƒฝๅคŸๅœจๅคš็ง็ฑปๅž‹ไธŠๅฎ‰ๅ…จ่ฟ่กŒ๏ผŒๅŒๆ—ถไฟๆŒ็ฑปๅž‹ๆฃ€ๆŸฅใ€‚ๆณ›ๅž‹็š„ๆ ธๅฟƒๆ€ๆƒณๆ˜ฏๅฐ†็ฑปๅž‹ไฝœไธบๅ‚ๆ•ฐไผ ้€’็ป™ๅ‡ฝๆ•ฐใ€ๆŽฅๅฃๆˆ–็ฑป๏ผŒๅฎž็Žฐ\\\"็ผ–ๅ†™ไธ€ๆฌก๏ผŒๅค็”จๅคšๆฌก\\\"็š„ๆ•ˆๆžœใ€‚\\n 1.2 ๆณ›ๅž‹ไธŽ any ็ฑปๅž‹็š„ๅฏนๆฏ”\\n| ็‰นๆ€ง | ๆณ›ๅž‹ | any ็ฑปๅž‹ |\\n|------|------|----------|\\n| ็ฑปๅž‹ๅฎ‰ๅ…จ | โœ… ็ผ–่ฏ‘ๆ—ถ่ฟ›่กŒ็ฑปๅž‹ๆฃ€ๆŸฅ | โŒ ๅฎŒๅ…จๅคฑๅŽป็ฑปๅž‹ๆฃ€ๆŸฅ |\\n| ไปฃ็ ๅค็”จ | โœ… ๆ”ฏๆŒๅคš็ง็ฑปๅž‹ๅค็”จ | โœ… ๆ”ฏๆŒๅคš็ง็ฑปๅž‹๏ผŒไฝ†ๅคฑๅŽป็ฑปๅž‹ไฟกๆฏ |\\n| ็ฑปๅž‹ๆŽจๆ–ญ | โœ… \"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2025-08-12 22:47:47\",\"title\":\"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—\",\"tldr\":\"TypeScript ๅฎŒๅ–„็š„็ผ–่ฏ‘ไฝ“็ณปไธŽ่ฐƒ่ฏ•ๅทฅๅ…ท้“พ๏ผŒๆ˜ฏๆž„ๅปบ้ซ˜่ดจ้‡ๅบ”็”จ็š„ๅŸบ็Ÿณใ€‚\",\"description\":\"ๆทฑๅ…ฅ่งฃๆž TypeScript ็ผ–่ฏ‘ๅทฅๅ…ท้“พไธŽ่ฐƒ่ฏ•ไฝ“็ณป๏ผŒๆถต็›– tsconfig.json ๆ ธๅฟƒ้…็ฝฎใ€Monorepo ้กน็›ฎ้…็ฝฎ๏ผˆextends/references๏ผ‰ใ€source map ่ฐƒ่ฏ•ใ€ESLint ไธŽ Jest ๅ•ๅ…ƒๆต‹่ฏ•็ญ‰ๅฎŒๆ•ดๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/typescript-compilation-debugging-guide\",\"tags\":[\"tutorial\",\"typescript\",\"compilation\",\"tooling\",\"eslint\",\"jest\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—\",\"date\":\"2025-08-12 22:47:47\",\"capture\":\"็ผ–ๅ†™ไปฃ็ ๅชๆ˜ฏๅผ€ๅ‘ๅทฅไฝœ็š„่ตท็‚น๏ผŒ็œŸๆญฃๅ†ณๅฎš้กน็›ฎ่ดจ้‡็š„ๆ˜ฏๅŽ็ปญ็š„็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•็Žฏ่Š‚ใ€‚TypeScript ไฝœไธบ JavaScript ็š„้™ๆ€็ฑปๅž‹่ถ…้›†๏ผŒไธไป…ๅธฆๆฅไบ†็ฑปๅž‹ๅฎ‰ๅ…จ๏ผŒๆ›ดๆไพ›ไบ†ๅผบๅคง็š„็ผ–่ฏ‘ๅทฅๅ…ทๅ’Œ่ฐƒ่ฏ•่ƒฝๅŠ›๏ผŒ่ฎฉๆˆ‘ไปฌ่ƒฝๅคŸๆ›ด้ซ˜ๆ•ˆๅœฐๆž„ๅปบๅ’Œ็ปดๆŠคๅฏ้ ็š„ๅบ”็”จ็จ‹ๅบใ€‚\\nๆœฌๆ–‡ๅฐ†ๅฏน TypeScript ้กน็›ฎ็š„็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•่ฟ›่กŒๆขณ็†๏ผŒๅŒ…ๆ‹ฌ็ผ–่ฏ‘ๅทฅๅ…ท TSC ็š„ไฝฟ็”จใ€็ผ–่ฏ‘้€‰้กน็š„้…็ฝฎใ€่ฐƒ่ฏ•ๅทฅๅ…ท็š„ไฝฟ็”จ็ญ‰ใ€‚\\n 1. TypeScript ็ผ–่ฏ‘้…็ฝฎไธŽ tsconfig.json\\nTSC๏ผˆTypeScript Compiler๏ผ‰ๆ˜ฏ TypeScript ๅฎ˜ๆ–นๆไพ›็š„็ผ–่ฏ‘ๅทฅๅ…ท๏ผŒ่ดŸ่ดฃๅฐ† TypeScript ไปฃ็ ๏ผˆ`.ts` ๆˆ– `.tsx`๏ผ‰่ฝฌๆขไธบ J\"},{\"url\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/10.่ฏปไนฆไธ‰่ฆไธ‰ไธ่ฆ\",\"relativePath\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/10.่ฏปไนฆไธ‰่ฆไธ‰ไธ่ฆ\",\"frontmatter\":{\"date\":\"2025-03-06 11:42:20\",\"title\":\"่ฏปไนฆโ€œไธ‰่ฆโ€ๅ’Œโ€œไธ‰ไธ่ฆโ€\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจไฟกๆฏ็ˆ†็‚ธ็š„ๆ—ถไปฃ๏ผŒ่ฏปไนฆไพ็„ถๆ˜ฏ่Žทๅ–ๆทฑๅบฆ็Ÿฅ่ฏ†ๆœ€้ซ˜ๆ•ˆ็š„ๆ–นๅผไน‹ไธ€ใ€‚ไฝ†โ€œๆง่ตทไนฆโ€ๅนถไธ็ญ‰ไบŽโ€œๆœ‰ๆ”ถ่Žทโ€๏ผŒๆ€Žไนˆ่ฏปๅพ€ๅพ€ๆฏ”่ฏปไป€ไนˆๆ›ด้‡่ฆใ€‚ๆœฌๆ–‡ๆ€ป็ป“ไบ†้ซ˜ๆ•ˆ้˜…่ฏป็š„โ€œไธ‰่ฆโ€ไธŽโ€œไธ‰ไธ่ฆโ€๏ผšไปŽๅฎŒๆ•ด้˜…่ฏป่ง‚ๆ‘ฉๅคงๅธˆๆ€็ปดใ€ๅธฆ็€้—ฎ้ข˜ๆž„ๅปบ็Ÿฅ่ฏ†ๆ ‘๏ผŒๅˆฐ้€š่ฟ‡่ฎจ่ฎบๆฃ€้ชŒ็†่งฃ๏ผ›ๅŒๆ—ถๆ้†’้˜…่ฏป่€…่ญฆๆƒ•ๅ“€ๆ€จๅฟƒๆ€ๅฏน้˜…่ฏปๅˆ่กท็š„ๅผ‚ๅŒ–ใ€้ฟๅ…้™ทๅ…ฅๅฏน็‰ฉ็†ๅช’ไป‹็š„โ€œ็Žฉ็‰ฉไธงๅฟ—โ€๏ผŒไปฅๅŠๅˆ‡ๅฟŒ่„ฑ็ฆป็Žฐๅฎž็š„โ€œ็œŸ็ฉบโ€้˜…่ฏปใ€‚้˜…่ฏปไธไป…ๆ˜ฏๅ‘ๅ†…ๆŽข็ดข็š„็ฒพ็ฅžไน‹ๆ—…๏ผŒๆ›ดๆ˜ฏๅ‘ๅค–็†่งฃ็œŸๅฎžไธ–็•Œใ€ๅˆ›้€ ็คพไผšไปทๅ€ผ็š„ๅฎž็”จๅทฅๅ…ทใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/reading_need.png\",\"permalink\":\"/pages/growth/reading-tips\",\"sticky\":1,\"top\":true,\"categories\":[\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\"],\"tags\":[\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ฏปไนฆโ€œไธ‰่ฆโ€ๅ’Œโ€œไธ‰ไธ่ฆโ€\",\"date\":\"2025-03-06 11:42:20\",\"capture\":\"<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/reading_need.png\\\" style=\\\"width: 100%; border-radius: 8px; margin-bottom: 20px;\\\" alt=\\\"about site background\\\">\\n 1. ๆˆ‘ไปฌไธบไป€ไนˆ้œ€่ฆ่ฏปไนฆ๏ผŸ\\n่ฏปไนฆๆ˜ฏไปŽๅค–็•ŒๆŽฅๅ—ไฟกๆฏ็š„ไธ€็งๆ–นๅผ๏ผŒไธŽ่Šๅคฉใ€ๆต่งˆ็ฝ‘้กตใ€ๅฌๆ’ญๅฎขใ€็œ‹็”ต่ง†ๅนถๆ— ๆœฌ่ดจๅŒบๅˆซใ€‚ไฝ†ไนฆ่ฟ™็งๅช’ไป‹ไธŽๅ…ถไป–ไฟกๆฏๅช’ไป‹็›ธๆฏ”๏ผŒๆœ‰ๅ…ถ็‹ฌๆœ‰็š„ไผ˜ๅŠฟ๏ผš\\n- ๆทฑๅบฆไธŽไธฅ่ฐจ๏ผšไนฆ็ฑๅพ€ๅพ€ๆ˜ฏๅˆ›ไฝœ่€…ๅคšๅนดๆ€่€ƒใ€้•ฟๆœŸ\"},{\"url\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/20.่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"relativePath\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/20.่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"frontmatter\":{\"date\":\"2024-06-15 22:23:00\",\"title\":\"่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡็ป“ๅˆไฟ็ฝ—ใƒปๆ ผ้›ทๅŽ„ๅง†ใ€ŠHow to Do Great Workใ€‹ๆ ธๅฟƒ่ง‚็‚น๏ผŒๆŽข่ฎจ AI ๅŽŸ็”Ÿๆ—ถไปฃๅคๅˆๅž‹ไบบๆ‰็š„ๆ ธๅฟƒ็‰น่ดจใ€‚AI ่ฎฉๅŸบ็ก€ๆ‰ง่กŒ่ƒฝๅŠ›ๅฟซ้€Ÿ่ดฌๅ€ผ๏ผŒไบบๆ‰็š„ๆ ธๅฟƒๅฃๅž’ไธๅ†ๆ˜ฏ่งฃๅ†ณ้—ฎ้ข˜๏ผŒ่€Œๆ˜ฏๆๅ‡บไผ˜่ดจ้—ฎ้ข˜ใ€ๅŸนๅ…ป้žๅ…ฑ่ฏ†ๅ“ๅ‘ณใ€‚ๅŒๆ—ถ้œ€ๅšๅฎˆๆ™บๅŠ›่ฏšๅฎž๏ผŒๆ‹ฅๆœ‰ๆ‰“็ ดๅธธ่ง„็š„ๅˆ›ๆ–ฐๅ‹‡ๆฐ”๏ผŒๅ€ŸๅŠฉ AI ๆ”พๅคงไธชไบบๆˆ้•ฟๆ ๆ†๏ผŒไปฅๅฐๅˆ‡ๅฃๅฎž่ทตๅฎž็ŽฐๆŒ‡ๆ•ฐ็บงๆˆ้•ฟใ€‚ไบบ็ฑป็‹ฌๆœ‰็š„ๅฅฝๅฅ‡ๅฟƒ๏ผŒๆ˜ฏ็ช็ ด AI ๅนณๅบธใ€ๅ–ๅพ—ๆฐๅ‡บๆˆๅฐฑ็š„ๆœ€็ปˆๅบ•ๆฐ”ใ€‚\",\"coverImg\":\"/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense/ai-native-composite-talents\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"AI\",\"ๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"date\":\"2024-06-15 22:23:00\",\"capture\":\"> \\n> ๅŽŸๆ–‡ๅœฐๅ€๏ผšhttps://paulgraham.com/greatwork.html\\n> \\n> ๅŽŸๆ–‡ไฝœ่€…๏ผšPaul Graham๏ผˆไฟ็ฝ—ยทๆ ผ้›ทๅŽ„ๅง†๏ผ‰๏ผŒ็ก…่ฐท้กถ็บงๅญตๅŒ–ๅ™จ Y Combinator ๅˆ›ๅง‹ไบบ๏ผŒ่ขซ่ช‰ไธบโ€œ็ก…่ฐทๅˆ›ไธšๆ•™็ˆถโ€๏ผŒไนŸๆ˜ฏ็ปๅ…ธๆŠ€ๆœฏๅ“ฒๅญฆ่‘—ไฝœใ€Š้ป‘ๅฎขไธŽ็”ปๅฎถใ€‹็š„ไฝœ่€…ใ€‚\\n> \\n> ๆ–‡็ซ ่ƒŒๆ™ฏ๏ผšๅŽŸๆ–‡ๆ˜ฏไฟ็ฝ—ยทๆ ผ้›ทๅŽ„ๅง†ไน‹ๅ‰ๅ‡†ๅค‡ไบ†ๅŠๅนดไน‹ไน…็š„้‡็ฃ…้•ฟๆ–‡๏ผŒไป–่ฏ•ๅ›พ่ฎฒๆ˜Ž็™ฝไธ€ไธช้€‚็”จไบŽๆฏไธชไบบ็š„ไธป้ข˜โ€”โ€”ๅฆ‚ไฝ•ๅšๆˆใ€Œๅคงไบ‹ใ€๏ผˆgreat work๏ผ‰ใ€‚้€š่ฏปๅ…จๆ–‡๏ผŒไฝ ไผšๅ‘็Žฐ๏ผŒ่ฟ™ๆ˜ฏไธ€็ฏ‡้žๅธธๅฎž็”จ็š„ๅทฅไฝœๆŒ‡ๅ—๏ผŒๅนถไธ”ๅ…ถไธญ็š„่ฎธๅคšๅ†…ๅฎน๏ผŒ้ƒฝไธŽAIๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰ๆ‰€้œ€่ฆๅ…ทๅค‡็š„็‰น่ดจ้žๅธธไธ€่‡ดใ€‚\\n 1. ๅผ•่จ€๏ผš\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/60.ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/60.ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹\",\"frontmatter\":{\"date\":\"2024-06-14 22:00:00\",\"title\":\"ไธ€ๆฌก็”ฑ Product Sense ้ฉฑๅŠจ็š„ Agent ๆž้™ๅฎž่ทต\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšAI ๆ—ถไปฃ๏ผŒๅ†™ๅฅฝไปฃ็ ๅชๆ˜ฏๅŠๆ ผ็บฟใ€‚ๅœจไธ€ๆฌกๆž้™ๆŒ‘ๆˆ˜่ต›ไธญ๏ผŒๆˆ‘ไปฌ้€š่ฟ‡ๅฏน K12 ่ต›้“็”จๆˆท็—›็‚น็š„็ฒพๅ‡†โ€œ่ง†่ง’ๅˆ‡ๆขโ€๏ผŒๆ‰“้€ ๅ‡บไธ€ๆฌพๆŽˆไบบไปฅๆธ”็š„โ€œๆ•ฐๅญฆ่พ…ๅฏผๅฏผๅธˆโ€ๅนถๆ–ฉ่Žทๅคงๅฅ–ใ€‚ๆœฌๆ–‡ๅค็›˜ไบ† Agent ๆญๅปบ่ƒŒๅŽ็š„ๆ ธๅฟƒ SOP ่ฎพ่ฎก้€ป่พ‘๏ผšๆŠ€ๆœฏ็ปˆ็ฉถ่ฆๅ›žๅฝ’ๅฏน็œŸๅฎžไบบๆ€ง็š„ไฝ“ๅฏŸไธŽๅ…ณๆ€€ใ€‚\",\"coverImg\":\"/img/cover/llm_learning_bg_2.png\",\"permalink\":\"/ai-practice/math-bot\",\"categories\":[\"ai-practice\"],\"tags\":[\"Agent\",\"ไบงๅ“ Sense\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไธ€ๆฌก็”ฑ Product Sense ้ฉฑๅŠจ็š„ Agent ๆž้™ๅฎž่ทต\",\"date\":\"2024-06-14 22:00:00\",\"capture\":\"ๅœจๅˆšๅˆš่ฟ‡ๅŽป็š„ๅ‘จๆœซ๏ผŒๆˆ‘ๅ’Œๅฅฝๅ‹ๅ‚ๅŠ ไบ†ไธ€ๅœบ็”ฑๅƒๅธ† Agent ไธพๅŠž็š„็บฟไธ‹็คพๅŒบๆดปๅŠจใ€‚่ฟ™ๆ˜ฏไธ€ๅœบๅ……ๆปกๆžๅฎข็ฒพ็ฅž็š„โ€œๆž้™ๆŒ‘ๆˆ˜โ€โ€”โ€”ๆˆ‘ไปฌ้œ€่ฆๅœจๆžๅ…ถๆœ‰้™็š„ๆ—ถ้—ดๅ†…๏ผŒไปŽ้›ถๅผ€ๅง‹ๆž„ๆ€ใ€ๆญๅปบๅนถ็Žฐๅœบๅฑ•็คบไธ€ไธชๅฎŒๆ•ด็š„ Agent ๅบ”็”จใ€‚\\nไปคไบบๆƒŠๅ–œ็š„ๆ˜ฏ๏ผŒๆˆ‘ไปฌไธไป…้กบๅˆฉๅฎŒๆˆไบ†ๆž้™ๅผ€ๅ‘๏ผŒๆœ€็ปˆ่ฟ˜ๆ–ฉ่Žทไบ†ๅ…จๅœบ็š„ใ€Œๆœ€ไฝณๅบ”็”จๅฅ–ใ€ใ€‚\\nๅค็›˜่ฟ™ๆฌก็Ÿญๆš‚ๅด้ซ˜ๅฏ†ๅบฆ็š„ๅผ€ๅ‘ไฝ“้ชŒ๏ผŒๆœ€ๅคง็š„ๆ„Ÿ่งฆๆ˜ฏ๏ผšๅœจ AI ๆ—ถไปฃ๏ผŒๅ•็บฏ็š„ๅทฅ็จ‹ๅฎž็Žฐๅทฒ็ปไธๅ†ๆ˜ฏๅ”ฏไธ€็š„ๅฃๅž’๏ผŒ็œŸๆญฃ่ฎฉๅบ”็”จ่„ฑ้ข–่€Œๅ‡บ็š„๏ผŒๆ˜ฏๅฏน็œŸๅฎžไธšๅŠกๅœบๆ™ฏ็š„ๆดžๅฏŸๅŠ›ใ€‚ๅฝ“ (Engineering + Product) ร— AI ็š„้ฃž่ฝฎๅผ€ๅง‹่ฝฌๅŠจๆ—ถ๏ผŒๆŠ€ๆœฏๆ‰่ƒฝ็œŸๆญฃ่ฝฌๅŒ–ไธบ่งฃๅ†ณ้—ฎ้ข˜็š„ๅˆฉๅ™จใ€‚\\nไปฅไธ‹ๆ˜ฏๅ…ณไบŽ่ฟ™ๆฌกโ€œK12 ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹โ€ Agent ๆญๅปบ็š„ๅฎž\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview\",\"frontmatter\":{\"date\":\"2024-05-18 22:49:57\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ไปŽ ES Modules ๅˆฐๅคงๅž‹้กน็›ฎๅˆ†ๅฑ‚ๆžถๆž„ไธŽๅทฅ็จ‹ๅŒ–ๅฎž่ทต๏ผŒๆž„ๅปบๅ…จๆ ˆๆจกๅ—ๅŒ–็Ÿฅ่ฏ†ไฝ“็ณปใ€‚\",\"description\":\"็ณป็ปŸๆขณ็† JavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›๏ผˆIIFEโ†’CJSโ†’ESM๏ผ‰ใ€TypeScript ็ฑปๅž‹ๅขžๅผบใ€ๅˆ†ๅฑ‚ๆžถๆž„ไธŽ DDD ๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/module-programming-practice-guide\",\"tags\":[\"tutorial\",\"ESM\",\"DDD\",\"ๅพฎๅ‰็ซฏ\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2024-05-18 22:49:57\",\"capture\":\"1. ๅผ•่จ€\\nๆจกๅ—ๅŒ–็ผ–็จ‹ๆ˜ฏ็Žฐไปฃ JavaScript/TypeScript ๅผ€ๅ‘็š„ๆ ธๅฟƒๅŽŸๅˆ™๏ผŒๅฎƒ้€š่ฟ‡ๅฐ†ๅคๆ‚็ณป็ปŸๆ‹†ๅˆ†ไธบ็‹ฌ็ซ‹ๅฏๅค็”จ็š„ๆจกๅ—๏ผŒ้™ไฝŽ็ณป็ปŸๅคๆ‚ๆ€งๅนถๆ้ซ˜ๅฏ็ปดๆŠคๆ€งไธŽๅฏๅค็”จๆ€งใ€‚ๅ› ๆญค๏ผŒๆˆ‘ไปฌ้€š่ฟ‡็ณปๅˆ—ๆ–‡็ซ ่ฏฆ็ป†ไป‹็ปไบ†ๆจกๅ—ๅŒ–็š„ๅŸบ็ก€ๆฆ‚ๅฟตใ€ๆผ”่ฟ›ๅކ็จ‹ใ€ไธๅŒ่ง„่Œƒ็š„ๆทฑๅบฆ่งฃๆžใ€TypeScriptๆจกๅ—ๅŒ–ๅขžๅผบใ€ES Modules ๆ ธๅฟƒ่ฏญๆณ•ไธŽๅฎž่ทตใ€ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทตใ€ๅ‰็ซฏๅทฅ็จ‹ๅŒ–ไธญ็š„ๆจกๅ—ๅŒ–ใ€Node.jsไธญ็š„ๆจกๅ—ๅŒ–ๅฎž่ทตใ€ๅคงๅž‹้กน็›ฎไธญ็š„ๆจกๅ—ๅŒ–่ฎพ่ฎกใ€ๆจกๅ—ๅŒ–ไธŽไปฃ็ ็ปดๆŠคไปฅๅŠๆœชๆฅๅ‘ๅฑ•่ถ‹ๅŠฟใ€‚\\nๅ‰้ข็š„็ณปๅˆ—ๆ–‡็ซ ไธป่ฆๆœ‰๏ผš\\n- ๆจกๅ—ๅŒ–็ผ–็จ‹็ผ–็จ‹ๅˆไฝ“้ชŒไธŽๅŸบ็ก€ไป‹็ป\\n- JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\\n- ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒ\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–\",\"frontmatter\":{\"date\":\"2024-05-17 23:33:09\",\"title\":\"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“\",\"tldr\":\"Node.js CJS ไธŽ ESM ๅŒๆจกๅ…ฑๅญ˜๏ผšๆจกๅ—ๅŠ ่ฝฝๆœบๅˆถไธŽๅˆ†ๅฑ‚ๆžถๆž„ๅฎž่ทตใ€‚\",\"description\":\"่งฃๆž Node.js ไธญ CommonJS ไธŽ ES Modules ็š„ๅŒๆจกๅ…ฑๅญ˜็ญ–็•ฅ๏ผŒๆถต็›–ๆจกๅ—ๅŠ ่ฝฝไผ˜ๅ…ˆ็บงใ€็ผ“ๅญ˜ๆœบๅˆถใ€package.json exports ๆกไปถๅฏผๅ‡บๅŠ Monorepo ๆžถๆž„ๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/nodejs-module-programming-summary\",\"abstract\":\"Node.js ๆจกๅ—ๅŒ–็ปๅކไบ†ไปŽ CommonJS ็‹ฌ้œธๅคฉไธ‹ๅˆฐ ES Modules ๅ…จ้ขๆŽฅๅ…ฅ็š„่Œƒๅผ่ฝฌ็งปใ€‚ๅ…ฑๅญ˜็ญ–็•ฅ้€š่ฟ‡ .mjs/.cjs ๅŽ็ผ€ๅ’Œ package.json type ๅญ—ๆฎตๆŽงๅˆถไธค็ง่ง„่Œƒ็š„่พน็•Œ๏ผ›ESM ๅฏ็›ดๆŽฅ import CJS๏ผˆ่‡ชๅŠจๅŒ…่ฃ…ไธบ้ป˜่ฎคๅฏผๅ‡บ๏ผ‰๏ผŒไฝ† CJS ๆ— ๆณ• require ESM ๅฟ…้กปไฝฟ็”จๅŠจๆ€ importใ€‚ๆจกๅ—ๅŠ ่ฝฝ้ตๅพชๆ ธๅฟƒๆจกๅ—ไผ˜ๅ…ˆใ€ๆ–‡ไปถๆจกๅ—ใ€็›ฎๅฝ•ๆจกๅ—๏ผˆindex.js/package.json๏ผ‰ใ€node_modules ้€็บงๆŸฅๆ‰พ็š„ไผ˜ๅ…ˆ็บง๏ผ›require.cache ๅฎž็Žฐๆจกๅ—็ผ“ๅญ˜๏ผŒๆธ…้™ค็ผ“ๅญ˜๏ผˆdelete require.cache[path]๏ผ‰ๆ˜ฏ็ƒญๆ›ดๆ–ฐๅทฅๅ…ท็š„ๆ ธๅฟƒๆ“ไฝœใ€‚package.json exports ๅญ—ๆฎตๆ”ฏๆŒๆกไปถๅฏผๅ‡บ๏ผˆimport/require ่ฟ”ๅ›žไธๅŒๅ…ฅๅฃ๏ผ‰ใ€‚pnpm workspaces ๅ‡ญๅ€Ÿ็กฌ้“พๆŽฅๆœบๅˆถๆˆไธบ็Žฐไปฃ Monorepo ้ฆ–้€‰ใ€‚ๅŽ็ซฏๅˆ†ๅฑ‚ๆžถๆž„๏ผˆAPI/Service/Repository๏ผ‰ๅฎž็Žฐๅ…ณๆณจ็‚นๅˆ†็ฆป๏ผŒๆขๆ•ฐๆฎๅบ“ๅช้œ€ๆ”น Repository ๅฑ‚ใ€‚\",\"tags\":[\"concept\",\"node.js\",\"commonjs\",\"esm\",\"monorepo\",\"layered-architecture\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“\",\"date\":\"2024-05-17 23:33:09\",\"capture\":\"ๅฆ‚ๆžœ่ฏดๆต่งˆๅ™จ็ซฏ็š„ๆจกๅ—ๅŒ–ๆ˜ฏไธบไบ†\\\"ๆŒ‰้œ€ๅŠ ่ฝฝ\\\"๏ผŒ้‚ฃไนˆ Node.js ็š„ๆจกๅ—ๅŒ–ๅˆ™ๆ˜ฏไธบไบ†\\\"ไปฃ็ ็ป„็ป‡\\\"ใ€‚ไฝœไธบๅฐ† JavaScript ๅธฆๅ…ฅๆœๅŠกๅ™จ็ซฏ็š„ๅ…ˆ้ฉฑ๏ผŒNode.js ็ปๅކไบ†ไปŽ CommonJS (CJS) ็‹ฌ้œธๅคฉไธ‹ๅˆฐ ES Modules (ESM) ๅ…จ้ขๆŽฅๅ…ฅ็š„่Œƒๅผ่ฝฌ็งปใ€‚\\nๅœจๆœๅŠกๅ™จ็ซฏ๏ผŒๆจกๅ—ๅŒ–ไธไป…ไป…ๆ˜ฏไธบไบ†ๆ‹†ๅˆ†ไปฃ็ ๏ผŒๆ›ดๆ˜ฏไธบไบ†ๆž„ๅปบๆธ…ๆ™ฐ็š„้กน็›ฎ็ป“ๆž„ใ€็ฎก็†ไพ่ต–ๅ…ณ็ณป๏ผŒไปฅๅŠๅฎž็Žฐไปฃ็ ็š„ๅค็”จไธŽ็ปดๆŠคใ€‚\\n 1. CommonJS ไธŽ ES Modules ๅŒๆจกๅ…ฑๅญ˜\\nๅœจ็Žฐไปฃ Node.js ๅผ€ๅ‘ไธญ๏ผŒๆˆ‘ไปฌ็ปๅธธ้ขไธดไธค็ง่ง„่Œƒไบค็ป‡็š„ๆƒ…ๅ†ตใ€‚่ฟ™ไธไป…ๆ˜ฏๆ–‡ไปถๅŽ็ผ€็š„ๆ”นๅ˜๏ผŒๆ›ดๆ˜ฏๅŒๆญฅไธŽๅผ‚ๆญฅๅŠ ่ฝฝ้€ป่พ‘็š„ๅšๅผˆใ€‚\\nๅ…ฑๅญ˜็ญ–็•ฅ๏ผš\\n1. ๅŽ็ผ€ๅ†ณๅฎš่ฎบ๏ผš`.mjs\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต\",\"frontmatter\":{\"date\":\"2024-05-17 22:30:50\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ๆขณ็†ไธŽๆ€ป็ป“\",\"tldr\":\"ๆŽŒๆก้ซ˜ๅ†…่šไฝŽ่€ฆๅˆๅŽŸๅˆ™๏ผšๆจกๅ—ๅŒ–็ผ–็จ‹็š„่ฎพ่ฎกๅ‡†ๅˆ™ไธŽ็ฒ’ๅบฆๆŽงๅˆถใ€‚\",\"description\":\"็ณป็ปŸๆขณ็†ๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅ…ญๅคงๆ ธๅฟƒๅŽŸๅˆ™๏ผšๅ•ไธ€่Œ่ดฃใ€้ซ˜ๅ†…่šไฝŽ่€ฆๅˆใ€็ฒ’ๅบฆ่ฎพ่ฎกใ€ๅ‘ฝๅ่ง„่ŒƒๅŠๆจกๅ—็‰ˆๆœฌ็ฎก็†๏ผŒ้™„่ฏฆ็ป†็š„ๅทฅ็จ‹ๅฎž่ทตๅปบ่ฎฎไธŽ้ฟๅ‘ๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/fullstack/module-programming-principles-best-practices\",\"abstract\":\"ๅฆ‚ๆžœ่ฏดๆŽŒๆกๆจกๅ—ๅŒ–่ฏญๆณ•ๆ˜ฏๆœฏ๏ผŒ้‚ฃไนˆ็†่งฃๅ…ถ่ƒŒๅŽ็š„่ฎพ่ฎกๅŽŸๅˆ™ๅฐฑๆ˜ฏ้“ใ€‚ๅ•ไธ€่Œ่ดฃๅŽŸๅˆ™ๅผบ่ฐƒๆจกๅ—ๅชๅบ”ๆœ‰ไธ€ไธช่ขซๆ”นๅ˜็š„ๅŽŸๅ› ๏ผŒ้ฟๅ… God Object ๅๆจกๅผใ€‚้ซ˜ๅ†…่šไฝŽ่€ฆๅˆๆ˜ฏ่กก้‡ๆจกๅ—่ดจ้‡็š„็ปˆๆžๆ ‡ๅ‡†โ€”โ€”ๆจกๅ—ๅ†…้ƒจๅ…ƒ็ด ่”็ณป็ดงๅฏ†๏ผŒๆจกๅ—ไน‹้—ดไพ่ต–ๅ…ณ็ณปๅฐฝๅฏ่ƒฝ็ฎ€ๅ•ใ€‚็ฒ’ๅบฆ่ฎพ่ฎก่ฆๆฑ‚ๅ•ไธชๆจกๅ—ไฟๆŒๅœจ 100-500 ่กŒไน‹้—ด๏ผŒๅŠŸ่ƒฝ่ƒฝ็”จไธ€ๅฅ่ฏๆธ…ๆ™ฐๆ่ฟฐ๏ผŒๅ‡บ็Žฐๅคšๅˆ†ๆ”ฏๅคๆ‚้€ป่พ‘ๆ—ถ้€šๅธธๆ˜ฏๆ‹†ๅˆ†ไฟกๅทใ€‚ๅ‘ฝๅ่ง„่Œƒ็ปŸไธ€ๅ›ข้˜ŸๆฒŸ้€š่ฏญๅขƒ๏ผˆkebab-case ๆ–‡ไปถๅใ€camelCase ๆ–นๆณ•ๅใ€PascalCase ็ฑปๅ๏ผ‰ใ€‚ๆจกๅ—็‰ˆๆœฌ็ฎก็†้ตๅพช SemVer ่ฏญไน‰ๅŒ–็‰ˆๆœฌ๏ผŒไธบๅ…ฌๅ…ฑๆจกๅ—็š„็ปดๆŠค่€…ไธŽไฝฟ็”จ่€…ๅปบ็ซ‹ๅฅ‘็บฆใ€‚ๅผบ่ฐƒๆธ…ๆ™ฐ็š„ๆจกๅ—่พน็•Œๆ˜ฏ AI ่พ…ๅŠฉ็ผ–็จ‹ๆ—ถไปฃ AI ๅ‡†็กฎ็†่งฃไปฃ็ ็š„ๅ‰ๆใ€‚\",\"tags\":[\"concept\",\"solid-principles\",\"code-organization\",\"best-practices\",\"naming-conventions\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ๆขณ็†ไธŽๆ€ป็ป“\",\"date\":\"2024-05-17 22:30:50\",\"capture\":\"1. ๅ•ไธ€่Œ่ดฃๅŽŸๅˆ™\\nๆ ธๅฟƒๆ€ๆƒณ๏ผšไธ€ไธชๆจกๅ—ๅบ”ๅฝ“ๆœ‰ไธ”ๅชๆœ‰ไธ€ไธช่ขซๆ”นๅ˜็š„ๅŽŸๅ› ใ€‚\\nๆจกๅ—ไธๅบ”ๆˆไธบๅŠŸ่ƒฝ็š„โ€œๆ‚่ดง้“บโ€ใ€‚ๅฝ“ไธ€ไธชๆจกๅ—ๆ‰ฟๆ‹…ไบ†ๅคชๅคšไธ็›ธๅ…ณ็š„ไธšๅŠก้€ป่พ‘ๆ—ถ๏ผŒๅฎƒ็š„ๅคๆ‚ๅบฆไผšๅ‘ˆๆŒ‡ๆ•ฐ็บงไธŠๅ‡๏ผŒไปปไฝ•ๅพฎๅฐ็š„ๆ”นๅŠจ้ƒฝๅฏ่ƒฝๅผ•ๅ‘ๆ„ๆƒณไธๅˆฐ็š„่ฟž้”ๅๅบ”ใ€‚\\nไปฃ็ ๆผ”็คบ๏ผš\\n```javascript\\n// โœ… ๆŽจ่๏ผš่Œ่ดฃๆ‹†ๅˆ†ๆ˜Ž็กฎ\\n// user-service.js - ไป…ๅค„็†็”จๆˆทๆ•ฐๆฎ็š„ CRUD\\nexport const getUser = async (id) => { /* ... */ };\\n// auth-provider.js - ไป…ๅค„็†้‰ดๆƒ็Šถๆ€ไธŽ้€ป่พ‘\\nexport const login = async (credenti\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"frontmatter\":{\"date\":\"2024-05-16 21:27:36\",\"title\":\"ไปŽ้€ป่พ‘้š”็ฆปๅˆฐ็ฑปๅž‹ๅฅ‘็บฆ๏ผšTypeScript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"tldr\":\"TypeScript ๅฐ†ๆจกๅ—ไพ่ต–ๆๅ‡ไธบ็ผ–่ฏ‘ๆ—ถ็ฑปๅž‹ๅฅ‘็บฆ๏ผŒไปŽ import type ๅˆฐๅฃฐๆ˜Žๆ–‡ไปถใ€‚\",\"description\":\"็ณป็ปŸ่ฎฒ่งฃ TypeScript ๅฏน ES Modules ็š„็ฑปๅž‹ๅขžๅผบ๏ผŒๆถต็›– import type ่ฟ่กŒๆ—ถไผ˜ๅŒ–ใ€ๆŽฅๅฃๅฅ‘็บฆใ€ๅฃฐๆ˜Žๆ–‡ไปถ .d.ts ๅŠ tsconfig ๆจกๅ—ๅŒ–้…็ฝฎใ€‚\",\"permalink\":\"/fullstack/typescript-module-programming-enhancement\",\"tags\":[\"concept\",\"ๅ…จๆ ˆ\",\"typescript\",\"tsconfig\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไปŽ้€ป่พ‘้š”็ฆปๅˆฐ็ฑปๅž‹ๅฅ‘็บฆ๏ผšTypeScript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"date\":\"2024-05-16 21:27:36\",\"capture\":\"1. ๅผ•่จ€\\nๅœจๅŽŸ็”Ÿ JavaScript ๆจกๅ—ๅŒ–่งฃๅ†ณไบ†ไปฃ็ ็ป„็ป‡้—ฎ้ข˜ๅŽ๏ผŒTypeScript๏ผˆTS๏ผ‰่ฟ›ไธ€ๆญฅๅฐ†ๅ…ถๆŽจๅ‘ไบ†ๅทฅไธš็บง้ซ˜ๅบฆใ€‚TS ไธไป…ไป…ๆ˜ฏไธบๆจกๅ—ๆทปๅŠ ไบ†็ฑปๅž‹ๆ ‡ๆณจ๏ผŒๅฎƒ้€š่ฟ‡็ฑปๅž‹ๅฏผๅ‡บๅฏผๅ…ฅใ€็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ใ€ไปฅๅŠๅฃฐๆ˜Žๆ–‡ไปถ็ณป็ปŸ๏ผŒๅฐ†ๆจกๅ—้—ด็š„ไพ่ต–ๅ…ณ็ณปไปŽ็ฎ€ๅ•็š„โ€œไปฃ็ ๅผ•็”จโ€ๆๅ‡ๅˆฐไบ†โ€œๅฅ‘็บฆไบคไบ’โ€ใ€‚\\nๆœฌๆ–‡ๆˆ‘ไปฌๅฐ†่š็„ฆไบŽ TypeScript ๅฆ‚ไฝ•้€š่ฟ‡็ฑปๅž‹็ณป็ปŸๅขžๅผบๆจกๅ—ๅŒ–็ผ–็จ‹๏ผŒๅนถๆŽข่ฎจๅœจ็Žฐไปฃๅทฅ็จ‹๏ผˆๅฐคๅ…ถๆ˜ฏ TS 5.0+ ๆ—ถไปฃ๏ผ‰ไธ‹็š„ๆœ€ไฝณ้…็ฝฎๅฎž่ทตใ€‚\\n 2. ็ฑปๅž‹ๅฏผๅ‡บไธŽๅฏผๅ…ฅ๏ผšๆž่‡ด็š„่ฟ่กŒๆ—ถไผ˜ๅŒ–\\nTypeScript ๅฏน ES Modules ่ฏญๆณ•ๆœ€ๆ˜พ่‘—็š„ๆ‰ฉๅฑ•ๆ˜ฏๆ”ฏๆŒโ€œไป…็ฑปๅž‹โ€๏ผˆType-only๏ผ‰็š„ๅฏผๅ‡บไธŽๅฏผๅ…ฅใ€‚่ฟ™ไธไป…ๆ˜ฏ่ฏญไน‰ไธŠ็š„ๆธ…ๆ™ฐ๏ผŒๆ›ดๆ˜ฏๆ€ง\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"frontmatter\":{\"date\":\"2024-05-14 22:29:32\",\"title\":\"ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒๆ‹ฅๆŠฑๅŽŸ็”Ÿ๏ผšES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"tldr\":\"ES Modules ๆ ธๅฟƒ่ฏญๆณ•ไธŽๆ‰ง่กŒๆจกๅž‹๏ผš้™ๆ€ๅˆ†ๆžๅฆ‚ไฝ•้‡ๅก‘ๅ‰็ซฏๆž„ๅปบๆ•ˆ็އใ€‚\",\"description\":\"ๆทฑๅบฆ่งฃๆž ES Modules ๅ‘ฝๅๅฏผๅ‡บ/ๅฏผๅ…ฅใ€้ป˜่ฎคๅฏผๅ‡บใ€ๅŠจๆ€ๅฏผๅ…ฅ็ญ‰่ฏญๆณ•๏ผŒไปฅๅŠๆจกๅ—ๆ‰ง่กŒ้กบๅบใ€ๅพช็Žฏไพ่ต–ๅค„็†ไธŽ็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ๆœบๅˆถใ€‚\",\"permalink\":\"/fullstack/decode-es-modules\",\"tags\":[\"concept\",\"ESM\",\"static-analysis\",\"Tree-Shaking\",\"circular-dependency\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒๆ‹ฅๆŠฑๅŽŸ็”Ÿ๏ผšES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"date\":\"2024-05-14 22:29:32\",\"capture\":\"> \\n> ็†่งฃ ESM๏ผŒไธไป…ไป…ๆ˜ฏๅญฆไผš import ๅ’Œ export๏ผŒๆ›ด้‡่ฆ็š„ๆ˜ฏ็†่งฃๅฎƒๅฆ‚ไฝ•้€š่ฟ‡็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ๅฝปๅบ•ๆ”นๅ˜ไบ†ๅ‰็ซฏๆž„ๅปบ็š„ๆ•ˆ็އใ€‚\\n 1. ๅ‘ฝๅๅฏผๅ‡บไธŽๅฏผๅ…ฅ๏ผš็ฒพๅ‡†็š„ไปฃ็ ๅผ•็”จ\\nๅ‘ฝๅๅฏผๅ‡บ๏ผˆNamed Exports๏ผ‰ๆ˜ฏ ESM ๆœ€ๅธธ็”จ็š„ๅฝขๅผ๏ผŒๅฎƒๅ…่ฎธไธ€ไธชๆจกๅ—ๆšด้œฒๅคšไธชๆˆๅ‘˜ใ€‚ๅ…ถๆ ธๅฟƒไผ˜ๅŠฟๅœจไบŽ๏ผšๅฏผๅ…ฅๆ–นๅฏไปฅๆŒ‰้œ€ๅผ•ๅ…ฅ๏ผŒไธ” IDE ่ƒฝๆไพ›็ฒพๅ‡†็š„่กฅๅ…จใ€‚\\n่ฏญๆณ•ๅฎž่ทต๏ผš๏ผš\\n```javascript\\n// math.js - ๅ‘ฝๅๅฏผๅ‡บ\\n// ่กŒๅ†…ๅฏผๅ‡บ\\nexport const PI = 3.14159;\\nexport function circleArea(radius) {\\n return PI * rad\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†\",\"frontmatter\":{\"date\":\"2024-05-14 22:26:06\",\"title\":\"JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\",\"tldr\":\"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ็ญ‰ๆ ธๅฟƒ่ง„่Œƒ๏ผŒ้™„็Žฐไปฃ่ฟ็งป็ญ–็•ฅใ€‚\",\"description\":\"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ๅ››ๅคงๆจกๅ—ๅŒ–่ง„่Œƒ็š„ๆ ธๅฟƒ่ฏญๆณ•ไธŽ้€‚็”จๅœบๆ™ฏ๏ผŒ่งฃๆžๅ„่ง„่Œƒ็š„ๅ…ณ้”ฎๅทฎๅผ‚๏ผŒๅนถๆไพ›ไปŽๆ—ง่ง„่Œƒๅ‘ ESM ่ฟ็งป็š„ๅฎžๆ“็ญ–็•ฅใ€‚\",\"permalink\":\"/fullstack/different-module-programming-specifications\",\"tags\":[\"tutorial\",\"CommonJS\",\"AMD\",\"UMD\",\"ESM\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\",\"date\":\"2024-05-14 22:26:06\",\"capture\":\"ๅœจ JavaScript ่ฟ›ๅŒ–ๅฒไธŠ๏ผŒโ€œๆจกๅ—ๅŒ–โ€ๅง‹็ปˆๆ˜ฏไธ€ไธชๆ ธๅฟƒๅ‘ฝ้ข˜ใ€‚ไปŽๆ—ฉๆœŸ script ๆ ‡็ญพๆปกๅคฉ้ฃž็š„โ€œๆททๆฒŒๆ—ถไปฃโ€๏ผŒๅˆฐๅ„่ทฏ่ง„่Œƒ็พค้›„้€้นฟ็š„โ€œๆˆ˜ๅ›ฝๆ—ถไปฃโ€๏ผŒๅ†ๅˆฐๅฆ‚ไปŠ ES Modules ๅฎšไบŽไธ€ๅฐŠ๏ผŒๅผ€ๅ‘่€…ไปฌๅœจ่งฃๅ†ณไพ่ต–็ฎก็†ใ€ไฝœ็”จๅŸŸๆฑกๆŸ“ๅ’Œๅผ‚ๆญฅๅŠ ่ฝฝ็ญ‰้—ฎ้ข˜ไธŠไป˜ๅ‡บไบ†ๅทจๅคง็š„ๅŠชๅŠ›ใ€‚\\nๆœฌๆ–‡ๅฐ†ๅธฆไฝ ๆขณ็† JavaScript ๅކๅฒไธŠๆœ€้‡่ฆ็š„ๅ‡ ็งๆจกๅ—ๅŒ–่ง„่Œƒ๏ผŒไพฟไบŽๆž„ๅปบ่ตทๅ…จๆ ˆๅผ€ๅ‘็š„ๅบ•ๅฑ‚็Ÿฅ่ฏ†ๅ›พ่ฐฑใ€‚\\n 1. CommonJS ่ง„่Œƒ๏ผšNode.js ็”Ÿๆ€็š„ๅŸบ็Ÿณ\\nCommonJS ๆ˜ฏไผด้š Node.js ่ฏž็”Ÿ็š„่ง„่Œƒ,็”ฑ Kevin Dangoor ๆๅ‡บ๏ผŒๅˆ่กทๆ˜ฏ่ฎฉ JavaScript ่„ฑ็ฆปๆต่งˆๅ™จไนŸ่ƒฝๆž„ๅปบๅคๆ‚็š„็ณป็ปŸๅบ”็”จใ€‚ๅฎƒๆ˜ฏ Node.\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€\",\"frontmatter\":{\"date\":\"2024-05-12 22:43:28\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ๏ผšๆฆ‚ๅฟตใ€ๆผ”่ฟ›ไธŽ่ฎพ่ฎกๆจกๅผ\",\"tldr\":\"ไปŽๅ…จๅฑ€ๅ˜้‡ๅˆฐ ES Modules๏ผšJavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›ไธŽๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผๅฎž่ทตใ€‚\",\"description\":\"็ณป็ปŸ่ฎฒ่งฃ JavaScript ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€๏ผŒๆถต็›– IIFEใ€CommonJSใ€ES Modules ่ง„่Œƒๆผ”่ฟ›๏ผŒไปฅๅŠๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผไธŽๆจกๅ—ๅŒ–็š„็ป“ๅˆใ€‚\",\"permalink\":\"/fullstack/frontend-module-programming-basic\",\"tags\":[\"tutorial\",\"javascript\",\"modularization\",\"esm\",\"design-patterns\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ๏ผšๆฆ‚ๅฟตใ€ๆผ”่ฟ›ไธŽ่ฎพ่ฎกๆจกๅผ\",\"date\":\"2024-05-12 22:43:28\",\"capture\":\"1. ๅผ•่จ€\\n้š็€้กน็›ฎ่ง„ๆจกๆ—ฅ็›Š่†จ่ƒ€๏ผŒไปฃ็ ้‡ไปŽๅ‡ ๅƒ่กŒ่ฟ…้€Ÿๅขž้•ฟๅˆฐๆ•ฐไธ‡็”š่‡ณๆ•ฐๅไธ‡่กŒ๏ผŒๅฐ†ๆ‰€ๆœ‰้€ป่พ‘ๅกž่ฟ›ๅฐ‘ๆ•ฐๅ‡ ไธชๆ–‡ไปถ็š„ๅšๆณ•ๆ—ฉๅทฒ้šพไปฅไธบ็ปงใ€‚ๅœจ่ฟ™ๆ ท็š„่ƒŒๆ™ฏไธ‹๏ผŒๆจกๅ—ๅŒ–็ผ–็จ‹ๅบ”่ฟ่€Œ็”Ÿ๏ผŒๆˆไธบ็Žฐไปฃๅ‰็ซฏๅผ€ๅ‘็š„ๆ ‡้…ใ€‚\\nๅฎƒ็š„ๆ ธๅฟƒ็†ๅฟต็ฎ€ๆด่€Œไผ˜้›…๏ผšๅƒๆญ็งฏๆœจไธ€ๆ ท๏ผŒๅฐ†ๅบžๅคงๅคๆ‚็š„็ณป็ปŸๆ‹†่งฃไธบไธ€ไธชไธช็‹ฌ็ซ‹ใ€ๅŠŸ่ƒฝๅ•ไธ€ไธ”ๅฏๅค็”จ็š„ๆจกๅ—๏ผŒ่ฎฉๆฏไธชๆจกๅ—ๅ„ๅธๅ…ถ่Œ๏ผŒๅ†้€š่ฟ‡ๆ ‡ๅ‡†ๆŽฅๅฃ็ตๆดป็ป„ๅˆใ€‚\\n 2. ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ\\nๅœจๆทฑๅ…ฅ็†่ฎบไน‹ๅ‰๏ผŒ่ฎฉๆˆ‘ไปฌๅ…ˆ้€š่ฟ‡ไธ€ไธช็ฎ€ๅ•็š„ JavaScript ็คบไพ‹๏ผŒ็›ด่ง‚ๅœฐๆ„Ÿๅ—ไธ€ไธ‹ไป€ไนˆๆ˜ฏๆจกๅ—ๅŒ–ใ€‚ๅ‡่ฎพๆˆ‘ไปฌ้œ€่ฆๅค„็†ไธ€ไบ›ๆ•ฐๅญฆ่ฟ็ฎ—๏ผŒๆˆ‘ไปฌๅฏไปฅๅฐ†ๅ…ถๅฐ่ฃ…ๆˆไธ€ไธช็‹ฌ็ซ‹็š„ๅทฅๅ…ทๆจกๅ—๏ผš\\n```javascript\\n// math.js - ๅฎšไน‰ไธ€ไธชๆ•ฐๅญฆๅทฅๅ…ทๆจกๅ—\\nexp\"},{\"url\":\"/10.ไบงๅ“ Sense/01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž/11.AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"relativePath\":\"/10.ไบงๅ“ Sense/01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž/11.AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"frontmatter\":{\"date\":\"2024-05-08 08:56:21\",\"title\":\"AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจๅคงๆจกๅž‹้‡ๅก‘ไบ’่”็ฝ‘ไบคไบ’็š„ๅฝ“ไธ‹๏ผŒPerplexity ๅนถๆœช้€‰ๆ‹ฉๆˆไธบโ€œไธ‹ไธ€ไธช Googleโ€๏ผŒ่€Œๆ˜ฏไปฅโ€œ็Ÿฅ่ฏ†ๅ‘็Žฐๅผ•ๆ“Žโ€็š„ๅ…จๆ–ฐๅฎšไฝ๏ผŒ็ฒพๅ‡†ๅˆ‡ๅ…ฅ็Ÿฅ่ฏ†ๅทฅไฝœ่€…็š„ๆ ธๅฟƒๅทฅไฝœๆตใ€‚ๆœฌๆ–‡่ทณๅ‡บๅ•็บฏ็š„ๆจกๅž‹่ƒฝๅŠ›ๅฏนๆฏ”๏ผŒไปŽไบงๅ“ Sense ไธŽๅทฅ็จ‹้€ป่พ‘็š„ๅŒ้‡่ง†่ง’๏ผŒๆทฑๅบฆๆ‹†่งฃ Perplexity ็š„็ ดๅฑ€ไน‹้“ใ€‚ๆˆ‘ไปฌๅฐ†ๆŽข่ฎจๅฎƒๅฆ‚ไฝ•้€š่ฟ‡ๅ็›ด่ง‰็š„ UI ๅˆ›ๆ–ฐ้‡ๅก‘ไบคไบ’่ตท็‚น๏ผŒๅฆ‚ไฝ•ๅœจๅทฅ็จ‹ๅฑ‚้ขๆญป็ฃ•ๅฐพ้ƒจๅปถ่ฟŸไธŽๅนป่ง‰ๆŽงๅˆถ๏ผŒไปฅๅŠๅฎƒๅฆ‚ไฝ•ๅˆฉ็”จๅทจๅคด็š„ๅˆฉๆถฆ็އๆŠคๅŸŽๆฒณๅฎž็Žฐ้”™ไฝ็ซžไบ‰ใ€‚ๆœ€็ปˆ๏ผŒๆˆ‘ไปฌๅฐ†่ง†็บฟๆŠ•ๅ‘ๆœชๆฅ๏ผŒไธ€็ชฅ AI ไปŽ่ขซๅŠจๅ“ๅบ”่ตฐๅ‘ไธปๅŠจๆŽข็ดข็š„ๆผ”่ฟ›่“ๅ›พใ€‚\",\"permalink\":\"/product-sense/perplexity-knowledge-worker\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"AI ๆœ็ดข\",\"็Ÿฅ่ฏ†ๅ‘็Žฐ\",\"ไบงๅ“ Sense\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"date\":\"2024-05-08 08:56:21\",\"capture\":\"1. ๅผ•่จ€\\nๅœจ AI ๆตชๆฝฎไธ‹๏ผŒๆœ็ดขๅผ•ๆ“Ž็š„่Œƒๅผๆญฃๅœจๅ‘็”Ÿ่ฝฌ็งปใ€‚ไฝœไธบๅฝ“ๅ‰ๅค‡ๅ—็žฉ็›ฎ็š„ AI ๆœ็ดขไบงๅ“๏ผŒPerplexity ๅนถๆฒกๆœ‰่ฏ•ๅ›พๆˆไธบโ€œไธ‹ไธ€ไธช Googleโ€๏ผŒ่€Œๆ˜ฏๅฐ†่‡ชๅทฑๅฎšไน‰ไธบ็Ÿฅ่ฏ†ๅ‘็Žฐๅผ•ๆ“Žใ€‚\\nๅฏนไบŽๆฏๅคฉ้œ€่ฆๅค„็†ๆตท้‡ไฟกๆฏใ€่ฟ›่กŒๅคๆ‚ๅ†ณ็ญ–็š„็Ÿฅ่ฏ†ๅทฅไฝœ่€…่€Œ่จ€๏ผŒๅฆ‚ไฝ•้ซ˜ๆ•ˆๅœฐโ€œๅŽปๅ™ชโ€ๅนถ่Žทๅ–้ซ˜ไฟกๅบฆ็Ÿฅ่ฏ†ๆ˜ฏๆ ธๅฟƒ่ฏ‰ๆฑ‚ใ€‚็ฌ”่€…ๅฐ†ไปŽไบงๅ“ไบคไบ’ใ€ๆŠ€ๆœฏๅทฅ็จ‹ใ€ๅ•†ไธš้€ป่พ‘ไธŽๆœชๆฅๆผ”่ฟ›ๅ››ไธช็ปดๅบฆ๏ผŒๅˆ†ๆž Perplexity ๆ˜ฏๅฆ‚ไฝ•้‡ๅก‘ไฟกๆฏ่Žทๅ–ๅทฅไฝœๆต็š„ใ€‚\\nๆœฌๆ–‡ๆ—จๅœจ้€š่ฟ‡ๅฏน Perplexity ็š„ๆทฑๅบฆไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž๏ผŒๅธฎๅŠฉ่ฏป่€…็†่งฃ AI ๆœ็ดขไบงๅ“็š„่ฎพ่ฎก้€ป่พ‘ไธŽ็”จๆˆทไฝ“้ชŒไผ˜ๅŒ–่ทฏๅพ„๏ผŒๅŒๆ—ถไธบ็Ÿฅ่ฏ†ๅทฅไฝœ่€…ๆไพ›ๅฏ่ฝๅœฐ็š„ๆ•ˆ็އๆๅ‡ๆ–นๆณ•๏ผŒๅนถๅœจ่ฟ‡็จ‹ไธญๅŸนๅ…ป็ป“ๆž„ๅŒ–ไบงๅ“ๅˆ†ๆžๆ€็ปดใ€‚\\n\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/70.่ฏ—ๆญŒๅฐ็ฒพ็ต\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/70.่ฏ—ๆญŒๅฐ็ฒพ็ต\",\"frontmatter\":{\"date\":\"2024-04-19 22:15:38\",\"title\":\"้›ถไปฃ็ ไธ็ญ‰ไบŽ้›ถ้€ป่พ‘๏ผš็ป“ๆž„ๅŒ– Prompt ้ฉฑๅŠจไธ‹็š„ Agent ๆญๅปบๅฎžๆˆ˜\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจ Agent ๆฆ‚ๅฟตๆปกๅคฉ้ฃž็š„ๅฝ“ไธ‹๏ผŒๅ†ณๅฎšๅคงๆจกๅž‹ๅฎž้™…่กจ็Žฐ็š„ๅพ€ๅพ€ๆ˜ฏๆœ€ๅบ•ๅฑ‚็š„ System Prompt ่ฎพ่ฎกใ€‚ๆœฌๆ–‡่ฎฐๅฝ•ไบ†ๅ‘จๆœซๅˆฉ็”จๆ–‡ๅฟƒๆ™บ่ƒฝไฝ“ๅนณๅฐๆญๅปบโ€œ่ฏ—ๆญŒๅฐ็ฒพ็ตโ€็š„ๅฎŒๆ•ดๅฎž่ทตใ€‚้€š่ฟ‡ๅฏนๆฏ”โ€œไผ ็ปŸๅคงๆฎตๆ–‡ๆœฌโ€ไธŽโ€œLangGPT ็ป“ๆž„ๅŒ–โ€ไธค็ง Prompt ็š„ๅฎž้™…่พ“ๅ‡บ๏ผŒๆทฑๅบฆๆ‹†่งฃไบ†็ป“ๆž„ๅŒ– Prompt ๅฆ‚ไฝ•ๅƒโ€œๅ†™ไปฃ็ โ€ไธ€ๆ ท่ง„่Œƒ AI ็š„ๆ€่€ƒๅทฅไฝœๆต๏ผŒๆœ‰ๆ•ˆ่งฃๅ†ณๆŒ‡ไปคๆผ‚็งปไธŽๅนป่ง‰้—ฎ้ข˜ใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ๆฌก Prompt ่ฐƒไผ˜ๅฎž้ชŒ๏ผŒๆ›ดๆ˜ฏไธ€ๅœบๅ…ณไบŽ AI ไบงๅ“ Sense ไธŽๆœชๆฅไบคไบ’ๅฝขๆ€็š„ๆŽข็ดขใ€‚\",\"coverImg\":\"/img/cover/llm_learning_bg_2.png\",\"categories\":[\"ai-practice\"],\"permalink\":\"/ai-practice/poetry-bot\",\"tags\":[\"Agent\",\"AI\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"้›ถไปฃ็ ไธ็ญ‰ไบŽ้›ถ้€ป่พ‘๏ผš็ป“ๆž„ๅŒ– Prompt ้ฉฑๅŠจไธ‹็š„ Agent ๆญๅปบๅฎžๆˆ˜\",\"date\":\"2024-04-19 22:15:38\",\"capture\":\"1. ๅฎž่ทต่ƒŒๆ™ฏ\\nๅ‘จๆœซๅœจ็คพๅŒบๆดปๅŠจไธญๅ†ๆฌกๅฌๅˆฐไบ† LangGPT ไฝœ่€…ไบ‘ไธญๆฑŸๆ ‘ๅ…ณไบŽโ€œ็ป“ๆž„ๅŒ–ๆ็คบ่ฏโ€็š„ๅˆ†ไบซ๏ผŒ่ฎฉไบบๆ„Ÿ่งฆ้ข‡ๆทฑใ€‚่™ฝ็„ถๅฝ“ๅ‰ Agent ๆฆ‚ๅฟต็ซ็ƒญ๏ผŒๅฑ‚ๅ‡บไธ็ฉท็š„ๆก†ๆžถ่ฎฉไบบ็œผ่Šฑ็ผญไนฑ๏ผŒไฝ†ๅ›žๅฝ’ๆœฌ่ดจๆˆ‘ไปฌๅฐฑไผšๅ‘็Žฐ๏ผšSystem Prompt ็š„ๅบ•ๅฑ‚่ฎพ่ฎกใ€ไธŠไธ‹ๆ–‡ๅทฅ็จ‹ไปฅๅŠๆŒ‡ไปค้ตๅพชๆœบๅˆถ๏ผŒๆ‰ๆ˜ฏๅ†ณๅฎšไธ€ไธช Agent ็ต้ญ‚็š„ๅ…ณ้”ฎใ€‚\\nๆญฃๅทงๅคงๅ›ข้˜Ÿ่‡ช็ ”็š„้›ถไปฃ็  Agent ๅนณๅฐ่ฟ‘ๆœŸๅ‘ๅธƒไบ†ๆ–ฐ็‰ˆๆœฌ๏ผŒไธบไบ†ไบฒๆต‹ๅนณๅฐๆ€ง่ƒฝๅนถๅฎžๆˆ˜ๆผ”็ปƒ็ป“ๆž„ๅŒ– Prompt ็š„็ผ–ๅ†™ๆŠ€ๅทง๏ผŒๆˆ‘ๅ†ณๅฎšๅˆ›ๅปบไธ€ไธชโ€œ่ฏ—ๆญŒๅฐ็ฒพ็ตโ€ Agentใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ไธช่ถฃๅ‘ณๅฎž้ชŒ๏ผŒๆ›ดๆ˜ฏไธบไบ†ๆŽข็ดข AI ๅœจๆ–‡ๅญฆๅˆ›ไฝœ่ฟ™็งโ€œๆ„Ÿๆ€ง้ข†ๅŸŸโ€ไธญ๏ผŒๅฆ‚ไฝ•้€š่ฟ‡โ€œ็†ๆ€ง็š„็ป“ๆž„็บฆๆŸโ€่พพๅˆฐๆ›ด้ซ˜็š„่พ“ๅ‡บไธŠ้™ใ€‚\\n 2. ๅนณๅฐไธŽ\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2024-03-20 22:41:41\",\"title\":\"ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ๅœจ้œ€ๆฑ‚่พน็•Œๅ†…่ฟฝๆฑ‚ๆœ€ๅฐๅคๆ‚ๅบฆโ€”โ€”ไธๆ˜ฏๆ‹’็ปๅคๆ‚๏ผŒ่€Œๆ˜ฏไธไธปๅŠจๅˆถ้€ ๅคๆ‚ใ€‚\",\"description\":\"ๆทฑๅ…ฅ่งฃๆžๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™ๅœจ็ผ–็จ‹ไธŽ่ฎพ่ฎกไธญ็š„ๅ…ญๅคงๅœบๆ™ฏ๏ผšๆ‹’็ป่ฟ‡ๅบฆ้ข„ๅˆคใ€็งป้™คๅ†—ไฝ™้€ป่พ‘ใ€ๅŒน้…ๆžถๆž„่ง„ๆจกใ€ๅ…‹ๅˆถไพ่ต–ๅผ•ๅ…ฅใ€ๅฐ่ฃ…ๆœ€ๅฐๆŽฅๅฃใ€ๅ…ˆๆŽ’ๆŸฅ็ฎ€ๅ•ๅŽŸๅ› ๏ผŒๅนถ็ป™ๅ‡บไธ‰ไธชๅ…ณ้”ฎ่พน็•Œใ€‚\",\"permalink\":\"/fullstack/occams-razor-software-design\",\"tags\":[\"concept\",\"engineering-fundamentals\",\"code-design\",\"software-engineering\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2024-03-20 22:41:41\",\"capture\":\"<script setup\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n> ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™็”ฑ 14 ไธ–็บช้€ป่พ‘ๅญฆๅฎถๅจๅป‰ยทๅฅฅๅกๅง†ๆๅ‡บ๏ผŒๅ…ถๆ ธๅฟƒไธบ\\\"ๅฆ‚ๆ— ๅฟ…่ฆ๏ผŒๅ‹ฟๅขžๅฎžไฝ“\\\"โ€”โ€”ๅœจๅคšไธชๅŒ็ญ‰ๆœ‰ๆ•ˆ็š„ๆ–นๆกˆไธญ๏ผŒ้€‰ๆ‹ฉๅ‡่ฎพๆœ€ๅฐ‘ใ€ๆœ€็ฎ€ๆด็š„้‚ฃไธชใ€‚่ฏฅๅŽŸๅˆ™ๅนถ้žๅฆๅฎšๅคๆ‚ๆ€ง๏ผŒ่€Œๆ˜ฏ้ฟๅ…ๆ— ๆ„ไน‰็š„่ฟ‡ๅบฆ่ฎพ่ฎกใ€‚ๆ–‡็ซ ไปŽ็ผ–็จ‹ไธŽ่ฎพ่ฎกๅฎž่ทตๅ‡บๅ‘๏ผŒไพๆฌกๆŽข่ฎจไบ†้œ€ๆฑ‚ๅฎž็Žฐใ€ไปฃ็ ๅฎž็Žฐใ€ๆžถๆž„่ฎพ่ฎกใ€ไพ่ต–็ฎก็†ใ€ๆŽฅๅฃ่ฎพ่ฎกใ€่ฐƒ่ฏ•ไผ˜ๅŒ–ๅ…ญๅคงๅœบๆ™ฏ็š„ๅไพ‹ไธŽๆญฃไพ‹๏ผŒๅนถๆ˜Ž็กฎๆŒ‡ๅ‡บไธ‰ไธชๅ…ณ้”ฎ่พน็•Œ๏ผšไธๅฏ็‰บ็‰ฒๅฏ็ปดๆŠคๆ€งใ€ๅฏๆ‰ฉๅฑ•ๆ€งใ€ๅฎ‰ๅ…จๆ€งๆขๅ–็ฎ€ๆดใ€‚\\n 1.\"},{\"url\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"relativePath\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"frontmatter\":{\"date\":\"2024-01-15 22:16:00\",\"title\":\"่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไนฆๆŽฅไธŠๆ–‡ใ€Šๅ‘ๅ†…ๆ€ๅ˜ใ€‹๏ผŒๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ๅœจๅŽ็–ซๆƒ…ๆ—ถไปฃไปŽโ€œ้—ญๅ…ณโ€่ตฐๅ‘โ€œๅ‘ๅค–ไฝ“้ชŒโ€็š„ๅฐ่ฏ•ไธŽๅฟƒๅพ—ใ€‚้ขๅฏนๆœบๆขฐๆ‰ง่กŒๅธฆๆฅ็š„โ€œ็›ฎๆ ‡้šง้“โ€ๆ•ˆๅบ”๏ผŒ็ฌ”่€…ๅฐ่ฏ•่ทณๅ‡บๅ•ไธ€็š„็บฟๆ€ง่ง„ๅˆ’๏ผŒ่ฝฌ่€Œๅฏปๆฑ‚ๆ›ดๅบ•ๅฑ‚็š„่ฎค็Ÿฅ้€ป่พ‘ใ€‚ๆ–‡็ซ ้€š่ฟ‡้‡่ฏปใ€Š่ฆไบ‹็ฌฌไธ€ใ€‹ๅปบ็ซ‹ๅนณ่กก่ง‚๏ผŒๅˆฉ็”จ็ณป็ปŸๆ€็ปด๏ผˆๅขžๅผบ/่ฐƒ่Š‚ๅ›ž่ทฏ๏ผ‰ๆž„ๅปบๆดžๅฏŸๅŠ›๏ผŒๅนถ้‡ๆ–ฐๆ‹พ่ตทๆ•ฐๅญฆๆ€็ปด๏ผˆๆฆ‚็އใ€็จ€็–ๆ€งใ€ๅคšๆ ทๆ€ง๏ผ‰ไธŽ AI ่ง†่ง’ใ€‚่ฟ™ๆ˜ฏไธ€ๆฌกๅ…ณไบŽๅฆ‚ไฝ•็”จ็ง‘ๅญฆๆจกๅž‹ๆ›ฟไปฃๆœบๆขฐๆ‰ง่กŒ๏ผŒไปŽๆœฌ่ดจไธŠ้‡ๆž„ไธชไบบ่ฎค็Ÿฅไฝ“็ณป็š„ๆทฑๅบฆๅค็›˜ใ€‚\",\"permalink\":\"/growth/outer-experience\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/outer_experience_bg.png\",\"sticky\":1,\"top\":true,\"tags\":[\"็ณป็ปŸๆ€็ปด\",\"ๆ•ฐๅญฆๆ€็ปด\",\"ๆจกๅž‹ๆ€็ปด\",\"AI\",\"็–ซๆƒ…\"],\"categories\":[\"ไธชไบบๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"date\":\"2024-01-15 22:16:00\",\"capture\":\"1. ๅ†™ๅœจๅ‰้ข\\nๆ—ถๅ…‰่่‹’๏ผŒ็–ซๆƒ…ๅทฒ็ป็”ฑๆ”พๅผ€็Šถๆ€็ปง็ปญๆผ”ๅ˜ไธบ่ฟ‡ๅŽปๅผ็Šถๆ€๏ผŒๆˆ‘ไปฌไบบ็ฑปไนŸไปŽใ€Ž้—ญๅ…ณใ€่ตฐๅ‘ไบ†ใ€Ž่‡ช็”ฑใ€็š„็คพไผš็”Ÿๆดป็Šถๆ€ใ€‚็ฌ”่€…ไฝœไธบ็คพไผšไธญ็š„ๆ™ฎ้€šไธ€ๅ‘˜๏ผŒ่‡ช็„ถไนŸไธ็ฆปๅค–๏ผŒๅœจ 2023 ๅนดๅˆๆด‹ๆด‹ๆด’ๆด’ๅ†™ไบ†ไธ€็ฏ‡ๅœจๅฅๅบทใ€่ฏปไนฆไธŽๅญฆไน ใ€ๆ—ถ้—ด็ฎก็†ๅ’Œๆททๅˆๅทฅไฝœๅˆถๅ‡ ไธชๆ–น้ข็š„ๅฎž่ทตไธŽ็†่งฃ๏ผˆๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ๏ผ‰๏ผŒๅฐฑๅผ€ๅผ€ๅฟƒๅฟƒๅœฐๅ‘ๅ‰็œ‹๏ผŒๅญฆ็€ๅ‘ๅค–ไฝ“้ชŒไบ†ใ€‚\\n้‚ฃไนˆ้—ฎ้ข˜ๆฅไบ†๏ผŒ็›ธๆฏ”ไน‹ๅ‰ๅ†™ๅ‡บ้•ฟๆ–‡๏ผŒ็ฌ”่€…ๅˆๆ˜ฏ่ฟ‘ไธ€ๅนดๆฒกๆœ‰ๅ‘ๅค–่พ“ๅ‡บ่ฝฏๆ–‡ไบ†ใ€‚ๅ› ๆญค๏ผŒไนฆๆŽฅไธŠๆ–‡๏ผŒๆœฌๆฌก็ปง็ปญๆ–ฐๅขžไธ€็ฏ‡ไธญ็Ÿญๆ–‡๏ผŒๆผซ่ฐˆไธ€ไธ‹็–ซๆƒ…ๅŽ็š„ๅ‘ๅค–ไฝ“้ชŒใ€‚\\nๅœจๅ€’้€ผ่‡ชๅทฑๅ…ณๆณจ่บซไฝ“ๅฅๅบทๅ’Œๆ—ถ้—ด็ฎก็†ๅŽ๏ผŒ่™ฝ็„ถๅœจไฝ“้‡ๅ’Œๆ•ˆ็އไธคไธชๆ–น้ขๆœ‰ไธ€ๅฎš็š„ๆญฃๅ‘ๆ•ˆๆžœ๏ผŒไฝ†็ฌ”่€…ๅœจ่ฟž็ปญๅšๆŒ่ฝๅœฐๆ‹†่งฃๅ‡บๆฅ็š„็›ฎๆ ‡่ฟ‡็จ‹ไธญ๏ผŒๆœ‰ๆ—ถ\"},{\"url\":\"/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/50.็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“\",\"relativePath\":\"/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/50.็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“\",\"frontmatter\":{\"date\":\"2024-01-01 16:00:00\",\"title\":\"็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“\",\"description\":\"ๅฐ†็ปๆตŽๅญฆๆ ธๅฟƒๅŽŸ็†่žๅˆ่ฟ›ไบงๅ“่ฎพ่ฎกๅ…จ็”Ÿๅ‘ฝๅ‘จๆœŸ็š„ๆ–นๆณ•่ฎบไฝ“็ณป๏ผŒๆž„ๅปบ็†ๆ€ง็š„โ€œไบงๅ“Senseโ€ใ€‚\",\"categories\":[\"ไบงๅ“ Sense\"],\"permalink\":\"/product-sense/using-economics-thinking\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“\",\"date\":\"2024-01-01 16:00:00\",\"capture\":\"ๅœจไบงๅ“็ฎก็†็š„ๅนฟ้˜”ๅคฉๅœฐไธญ๏ผŒๆˆ‘ไปฌๅพ€ๅพ€ๅผบ่ฐƒโ€œไบงๅ“ Senseโ€๏ผˆProduct Sense๏ผ‰โ€”โ€”ไธ€็งๅฏน็”จๆˆท้œ€ๆฑ‚ใ€ๅธ‚ๅœบ้ฃŽๅ‘ๅ’ŒๆŠ€ๆœฏๆฝœๅŠ›็š„็›ด่ง‰ๆ€งๆ•ๆ‰ใ€‚็„ถ่€Œ๏ผŒ่ฟ™็ง Sense ็ป้žๅ‡ญ็ฉบ่€Œๆฅ็š„็ตๅ…‰ไน็Žฐ๏ผŒๅฎƒ้œ€่ฆ็จณๅ›บ็š„็†ๆ€งๅœฐๅŸบใ€‚ๅœจไผ—ๅคšๅญฆ็ง‘ไธญ๏ผŒ็ปๆตŽๅญฆๆ— ็–‘ๆไพ›ไบ†ๆœ€ๅบ•ๅฑ‚็š„้€ป่พ‘ๆ”ฏๆŸฑใ€‚\\n็ปๆตŽๅญฆไธไป…ไป…ๆ˜ฏๅ…ณไบŽ้‡‘้’ฑๅ’Œๅธ‚ๅœบ็š„็ง‘ๅญฆ๏ผŒๅฎƒๆ›ดๆ˜ฏไธ€็ง่งฃๅ†ณ้—ฎ้ข˜ใ€ไผ˜ๅŒ–ๅ†ณ็ญ–็š„ๆ–นๅผใ€‚ๅฏนไบงๅ“ไบบ่€Œ่จ€๏ผŒๅ€Ÿ้‰ด็ปๆตŽๅญฆๆ€็ปด๏ผŒๆ„ๅ‘ณ็€่ƒฝๅคŸ็†ๆ™บๅœฐๆƒ่กกๅˆฉๅผŠ๏ผŒๆ›ด็ฒพๅ‡†ๅœฐๅฎšไปท๏ผŒๆ›ดๆทฑๅˆปๅœฐๆดžๅฏŸไบบๆ€ง๏ผŒๆœ€็ปˆๅœจ้”™็ปผๅคๆ‚็š„็บฆๆŸๆกไปถไธ‹๏ผŒๆฑ‚่งฃๅ‡บ็”จๆˆทไปทๅ€ผไธŽๅ•†ไธšไปทๅ€ผๅนถ้‡็š„ๆœ€ไผ˜่งฃใ€‚\\n 1. ็”Ÿๆดป้‡Œ็š„็ปๆตŽๅญฆๆดžๅฏŸโ€”โ€”ๆดžๅฏŸไธไป…ๆ˜ฏๅ…ณไบŽ้œ€ๆฑ‚๏ผŒๆ›ดๆ˜ฏๅ…ณไบŽๆˆๆœฌไธŽๅšๅผˆ\\nๆˆ‘ไปฌๅธธ่ขซๆ—ฅๅธธ็Žฐ่ฑก็š„โ€œๅˆ็†ๆ€งโ€ๆ‰€่ฟทๆƒ‘๏ผŒ่€Œ็ปๆตŽๅญฆ\"},{\"url\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/01.ๅฅฝไนฆๆŽจ่\",\"relativePath\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/01.ๅฅฝไนฆๆŽจ่\",\"frontmatter\":{\"title\":\"ๅฅฝไนฆๆŽจ่\",\"date\":\"2024-01-01 16:00:00\",\"description\":\"่ฏปไนฆๅฟƒๅพ—ใ€ๆŽจ่ไนฆ็ฑๅ’Œ้˜…่ฏปๆŠ€ๅทง\",\"categories\":[\"growth\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/books_reading_bg.png\",\"permalink\":\"/growth/books\",\"tags\":[\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\",\"่ต„ๆบๆŽจ่\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฅฝไนฆๆŽจ่\",\"date\":\"2024-01-01 16:00:00\",\"capture\":\"<script setup\\n import BookRecommend from './@fragment/BookRecommend.vue'\\n import {aiBooks, productSenseBooks, businessBooks, efficiencyBooks, growthBooks, humanSocialBooks, healthBooks} from './@fragment/recommends-data.ts'\\n</script>\\n 1. AI ไธŽๆ•ฐๅญฆๆ€็ปด\\n> ๅœจๅคงๆจกๅž‹ๅ‘ๅฑ•ๆ—ฅๆ–ฐๆœˆๅผ‚็š„ไปŠๅคฉ๏ผŒ็†่งฃ AI ๆœฌ่ดจไธŠๆ˜ฏๅœจๅ‡็บงๆˆ‘ไปฌ่ต„ๆทฑ็š„โ€œ่ฎค็Ÿฅๆ“\"},{\"url\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"relativePath\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"frontmatter\":{\"date\":\"2023-01-08 10:23:50\",\"title\":\"ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅฆ‚ไฝ•้ฟๅ…ๅ†…่€—๏ผŸๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ไธ‰ๅนด้—ด็š„โ€œ่‡ชๆˆ‘้‡ๆž„โ€ๅฎž้ชŒใ€‚ๆ–‡็ซ ๆ‘’ๅผƒไบ†ๅ•็บฏ็š„ๆƒ…็ปชๅฎฃๆณ„๏ผŒ่€Œๆ˜ฏๅˆฉ็”จๅˆ†่งฃๆณ•ใ€ๆธ่ฟ›ๆ˜Ž็ป†ๅ’Œ็ปŸ่ฎกๅˆ†ๆž็ญ‰ๅทฅ็จ‹ๆ€็ปด๏ผŒๅฏนๅฅๅบท้ฅฎ้ฃŸใ€็Ÿฅ่ฏ†ไฝ“็ณปใ€ๆ—ถ้—ดๅˆ†้…ๅŠ่ฟœ็จ‹ๅไฝœ่ฟ›่กŒไบ†็ณป็ปŸๅŒ–ๆ”น้€ ใ€‚่ฟ™ๆ˜ฏไธ€ไปฝๅ…ณไบŽๅฆ‚ไฝ•ๅœจๆ— ๅธธ็š„ๅค–้ƒจ็Žฏๅขƒไธญ๏ผŒๅปบ็ซ‹ๅ†…ๅœจ็กฎๅฎšๆ€ง็งฉๅบ็š„่กŒๅŠจๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/growth/inner-experience\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/refactor_life.png\",\"sticky\":1,\"top\":true,\"categories\":\"ไธชไบบๆˆ้•ฟ\",\"tags\":[\"ๅฅๅบท\",\"ๆ—ถ้—ด\",\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\",\"่ฟœ็จ‹ๅไฝœ\",\"็–ซๆƒ…\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"date\":\"2023-01-08 10:23:50\",\"capture\":\"<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/refactor_life.png\\\" alt=\\\"็›ฎๆ ‡ๅˆฐ่ทต่กŒๆ€็ปดๆต็จ‹็คบๆ„ๅ›พ\\\" style=\\\"width: 100%; border-radius: 8px;\\\" />\\n ๅ†™ๅœจๅ‰้ข\\n่‡ชๅŽปๅนด 7 ๆœˆไปฝ่ฟ็งปๅ‡ ็ฏ‡ๆ—งๆ–‡ๅŽ๏ผŒ็ฌ”่€…ๅฐฑๆฒกๆœ‰็ปง็ปญๅ†™่ฝฏๆ–‡ไบ†๏ผŒๆƒณไธๅˆฐๅ†ๆฌกๅ†™ๆ–‡็ซ ๆ—ถ็–ซๆƒ…ๆ”ฟ็ญ–ๅทฒ็ป่ฐƒๆ•ด๏ผŒไธ”ๅˆๆญฅๅฎž็Žฐไบ†ๅผ€ๆ”พใ€‚้‚ฃไนˆ้—ฎ้ข˜ๆฅไบ†๏ผŒไธบไป€ไนˆ่ฆ็ปง็ปญๅ†™ๆ–‡็ซ ๅ‘ข๏ผŸๆฆ‚ๆ‹ฌๆฅ่ฎฒ๏ผŒๆœ‰ไธคไธชๆ–น้ข็š„ๅŽŸๅ› ๏ผš\\n* ็›ดๆŽฅๅŽŸๅ› ๏ผš็–ซๆƒ…่ฟ™ไธ‰ๅนด๏ผŒๆฏไธชไบบ้ƒฝไฝ“้ชŒๅˆฐไบ†ไธๅŒไบŽไน‹ๅ‰็š„ โ€œ้šพโ€๏ผŒไนŸ้ƒฝๆœ‰\"},{\"url\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/20.ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹้˜ถๆฎต้š็ฌ”ๆฑ‡ๆ€ป\",\"relativePath\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/20.ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹้˜ถๆฎต้š็ฌ”ๆฑ‡ๆ€ป\",\"frontmatter\":{\"date\":\"2022-09-12 08:16:00\",\"title\":\"็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ”นๅ–„็š„ๆ–นๅผๆŽจๅŠจๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไปŽโ€œไนฆ็”Ÿๆ„ๆฐ”โ€ๅˆฐๅˆๅ…ฅ็คพไผš็š„โ€œไธญๅนดๆฒน่…ปโ€ๅฑๆœบ๏ผŒไธ€ๆฌกๅฅๅบท่ญฆๆŠฅ่ฎฉ็ฌ”่€…ๅผ€ๅฏไบ†่ฟ™ๅœบๆทฑๅˆป็š„่‡ชๆˆ‘ๅฏน่ฏไธŽ่กŒๅŠจใ€‚ๆœฌๆ–‡่ฏฆ็ป†ๅค็›˜ไบ†็ฌ”่€…ไปŽๅฅๅบทๅฑๆœบๅ‡บๅ‘๏ผŒ้€š่ฟ‡ๅ››ไธช้˜ถๆฎต็š„ๅพชๅบๆธ่ฟ›๏ผŒๆˆๅŠŸๅฎž็Žฐไฝ“้‡็ฎก็†็š„่ฟ‡็จ‹ใ€‚ๅŒบๅˆซไบŽ็›ฒ็›ฎ่ทŸ้ฃŽ๏ผŒ็ฌ”่€…ๅœจๅฎž่ทตไธญๅผ•ๅ…ฅไบ†็›ฎๆ ‡ๆ‹†่งฃใ€ๆ•ฐๆฎ็›‘ๆŽง๏ผˆไฝ“่„‚็งคๆŒ‡ๆ ‡๏ผ‰ใ€่ทจ้ข†ๅŸŸ็ป้ชŒ่ฟ็งป๏ผˆๅฆ‚้กน็›ฎ็ฎก็†ใ€ๆ—ถ้—ด็ฎก็†๏ผ‰ไปฅๅŠๅฏนไธๅŒ็ญ–็•ฅ๏ผˆๅฆ‚ๆŽงๅˆถ้ฅฎ้ฃŸใ€ๅŠ ๅคงๆ— ๆฐง่ฟๅŠจใ€ๅฐ่ฏ•ไธๅƒไธป้ฃŸ๏ผ‰็š„่พฉ่ฏ้‡‡็บณใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ไปฝๅ‡่‚ฅ่ฎฐๅฝ•๏ผŒๆ›ดๆ˜ฏไธ€ๆฌก็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ€็ปด้‡ๆž„็”Ÿๆดป็งฉๅบใ€ๅฎž็Žฐ่บซๅฟƒๅ‡็บง็š„ๅฎžๆ“ๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/growth/weight-loss\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/health_bg.png\",\"top\":true,\"tags\":[\"ๅฅๅบท\",\"่ฟๅŠจ\"],\"categories\":[\"ไธชไบบๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ”นๅ–„็š„ๆ–นๅผๆŽจๅŠจๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹\",\"date\":\"2022-09-12 08:16:00\",\"capture\":\"ๅ†™ๅœจๅ‰้ข\\nๅœจ็ปๆตŽๅฟซ้€Ÿๅ‘ๅฑ•็š„ๅคง่ƒŒๆ™ฏไธ‹๏ผŒไธ€ๆ‰นๅˆไธ€ๆ‰น็š„ๅคงๅญฆ็”Ÿ้™†็ปญ่ตฐๅ‡บๆ ก้—จ่ฟ›ๅ…ฅ็คพไผšๅคง่ˆžๅฐใ€‚้š็€ๅนด้พ„ไธŽๅทฅไฝœๅนด้™็š„ๅขž้•ฟ๏ผŒไธ็Ÿฅ็ฝฎ่บซไบŽๅ…ถไธญ็š„ไฝ ๆ˜ฏๅฆๆ„Ÿๆ…จ่ฟ‡่‡ชๅทฑๅœจ้˜…ๅކไธŠไปŽโ€œไนฆ็”Ÿๆ„ๆฐ”โ€ๆธๆธๆผ”ๅ˜ไธบโ€œๅ››ๅนณๅ…ซ็จณ๏ผŒๆธธๅˆƒๆœ‰ไฝ™โ€๏ผ›ๅœจ่บซไฝ“ๅ…ปๆŠคๆ–น้ขไปŽโ€œ่บซๆๆ— ๆ•Œ๏ผŒๅนด้พ„ๆˆ่ฟท๏ผŒๅฎžๆ‰“ๅฎžไธ€ไธชไผ ๅฅ‡โ€ๆผ”ๅ˜ไธบโ€œไธญๅนดๆฒน่…ปโ€ใ€‚ๆฏไธชไบบๅคšๅฐ‘้ƒฝๆœ‰่‡ชๅทฑ็š„็ญ”ๆกˆ๏ผŒ็ฌ”่€…็š„็ญ”ๆกˆๆ˜ฏ๏ผš่ตฐๅ‡บๆ ก้—จ่ฟ›ๅ…ฅ็คพไผšๅŽ๏ผŒๅฝ“ๅˆๅฏน่บซ่พนไบบๆœ‰็‚น่‹›ๅˆป๏ผŒ้‡ไบ‹็ซๆ€ฅ็ซ็‡Ž็š„่‡ชๅทฑ้€ๆธๅพ—ๅˆฐไบ†ๆ”นๅ–„ใ€‚่บซไฝ“ๅดๅ› ๅŽŸๆœฌๅœจๅคงๅญฆๆ—ถๆฒกๆœ‰ๆ€Žไนˆๅœจๆ„๏ผŒ็ป่ฟ‡้•ฟๅนด็ดฏๆœˆๅœฐๆด—็คผไบฎไบ†ไธ€ๆฌกๅฐ็บข็ฏใ€‚ๅœจๅบทๅคๆœŸ้—ด๏ผŒไธๆญขไธ€ๆฌกๅๆ€่ฟ‡ไน‹ๅ‰็š„็”Ÿๆดปๆ–นๅผๅ’Œๅ…ฅไธ–ๆจกๅผ๏ผŒๆƒณไธ€ๆƒณ + ๅ››ๅค„็œ‹ไธ€็œ‹ๅŽ๏ผŒๆ…ขๆ…ขไนŸๅฐฑๅผ€ๆ‚Ÿไบ†๏ผŒ่‡ช็„ถ่ฆๅฏๅŠจไธ€ไบ›ๆ”นๅ˜ๅฐ่ฏ•ใ€‚\\nๅ› ๆญค๏ผŒไนŸๅฐฑๆœ‰ไบ†่ฟ™็ฏ‡ๅ‡่‚ฅ่ฟ™ไปถ\"}],\"groupPostsByYear\":{\"2026 \":[{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/10.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Deep Research Agent\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/10.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Deep Research Agent\",\"frontmatter\":{\"date\":\"2026-04-02 00:38:37\",\"title\":\"ๅฃฐๆ˜Žๅผๅคšๆ™บ่ƒฝไฝ“ๅๅŒ๏ผšๅŸบไบŽ Claude Agent SDK ๆž„ๅปบๆทฑๅบฆ็ ”็ฉถ็ณป็ปŸ\",\"description\":\"ๅฏนๅคๆ‚็ ”็ฉถไปปๅŠกๆ—ถ๏ผŒๅ•ๆ™บ่ƒฝไฝ“๏ผˆSingle-Agent๏ผ‰ๅธธๅ› ไธŠไธ‹ๆ–‡็จ€้‡Šๅ’Œ้€ป่พ‘็–ฒๅŠณๅฏผ่‡ดไบงๅ‡บ่ดจ้‡ไธ‹้™ใ€‚ๆœฌๆ–‡ๅŸบไบŽ Claude Agent SDK ๆŽข่ฎจไบ†ๅคšๆ™บ่ƒฝไฝ“็ณป็ปŸ๏ผˆMAS๏ผ‰็š„ๅทฅ็จ‹ๅŒ–่ฝๅœฐใ€‚้€š่ฟ‡โ€œLead + Subagentโ€็š„ๅฃฐๆ˜Žๅผๆžถๆž„๏ผŒๆˆ‘ไปฌๅฐ†ๆทฑๅบฆ็ ”็ฉถๆ‹†่งฃไธบๆœ็ดขใ€้‡ๅŒ–ๅˆ†ๆžใ€ๅฏ่ง†ๅŒ–็ป˜ๅ›พไธŽ็ป“ๆž„ๅŒ–ๅ†™ไฝœๅ››ไธช็‹ฌ็ซ‹็Žฏ่Š‚ใ€‚\",\"permalink\":\"/ai-agent/deepresearch-agent\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"],\"tags\":[\"Agent SDK\",\"Multi-Agent\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฃฐๆ˜Žๅผๅคšๆ™บ่ƒฝไฝ“ๅๅŒ๏ผšๅŸบไบŽ Claude Agent SDK ๆž„ๅปบๆทฑๅบฆ็ ”็ฉถ็ณป็ปŸ\",\"date\":\"2026-04-02 00:38:37\",\"capture\":\"> ๅฎž่ทต่ฏๆ˜Ž๏ผŒ้€š่ฟ‡ไธฅๆ ผ็š„่Œ่ดฃ้š”็ฆป๏ผˆๅฆ‚ Lead Agent ไป…่ดŸ่ดฃ่ฐƒๅบฆ๏ผ‰ไธŽๅทฅ็จ‹่พน็•Œ็บฆๆŸ๏ผˆๅฆ‚ Researcher ๅผบๅˆถๆๅ–้‡ๅŒ–ๆŒ‡ๆ ‡๏ผ‰๏ผŒMAS ่ƒฝๅคŸ็”Ÿๆˆๅ…ทๅค‡ไธ“ไธšๆ•ฐๆฎๅ›พ่กจๆ”ฏๆ’‘็š„ๆทฑๅบฆๆŠฅๅ‘Šใ€‚ๆœฌๆ–‡ๅฐ†ไปŽๆžถๆž„่ฎพ่ฎกใ€ๅทฅไฝœๆต็ผ–ๆŽ’ๅˆฐ PDF ่‡ชๅŠจ็”Ÿๆˆ๏ผŒๅฎŒๆ•ด่ฟ˜ๅŽŸ่ฟ™ไธ€โ€œAI ้ฉฑๅŠจ่ฐƒ็ ”ๆตๆฐด็บฟโ€็š„ๆž„ๅปบ่ฟ‡็จ‹๏ผŒๅนถๅฑ•็คบๅ…ถๅœจๆ•™่‚ฒ็ ”็ฉถๆกˆไพ‹ไธญ็š„ๅฎžๆˆ˜ๆ•ˆๆžœใ€‚\\n 1. ๅผ•่จ€\\nๅœจ AI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐไธ€ๆ–‡ไธญ๏ผŒๆˆ‘ไปฌๆŽข่ฎจไบ†ๅคšๆ™บ่ƒฝไฝ“็ณป็ปŸ๏ผˆMulti-Agent Systems, MAS๏ผ‰็š„็†่ฎบไผ˜ๅŠฟใ€‚ไปŽ็†่ฎบๅฑ‚้ข็œ‹๏ผŒ่ฟ™็ฑป็ณป็ปŸ้€š่ฟ‡ไปปๅŠกๅˆ†่งฃใ€่Œ่ดฃ้š”็ฆปไธŽๅนถ่กŒๅไฝœๆœบๅˆถ๏ผŒๆœ‰ๆ•ˆ็ช็ ดไบ†ๅ•ๆ™บ่ƒฝไฝ“ๅœจๅคๆ‚ไปปๅŠกไธญ็š„่ƒฝๅŠ›็“ถ้ขˆโ€”โ€”ไธไป…ๆ˜พ่‘—ๆๅ‡ไบ†ไปปๅŠกๅค„็†็š„ๅคฉ่Šฑๆฟ\"},{\"url\":\"/01.ๅ…จๆ ˆ/00.overview\",\"relativePath\":\"/01.ๅ…จๆ ˆ/00.overview\",\"frontmatter\":{\"date\":\"2026-03-19 23:05:50\",\"title\":\"ๅ…จๆ™ฏไธ€่งˆ\",\"description\":\"ๆœฌ็ณปๅˆ—ๅ›ด็ป•็Žฐไปฃๅ…จๆ ˆๅผ€ๅ‘็š„่ƒฝๅŠ›ไฝ“็ณปๅฑ•ๅผ€๏ผŒไปŽ AI ๆ—ถไปฃ็š„ๅทฅ็จ‹ๆ€็ปดๅ‡บๅ‘๏ผŒ่ฆ†็›–ๅ‰็ซฏๅทฅ็จ‹๏ผˆReact/Vue/CSS๏ผ‰ใ€ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป๏ผˆTypeScript/JavaScript๏ผ‰ใ€ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่็ญ‰ๆ ธๅฟƒ้ข†ๅŸŸ๏ผŒๅธฎๅŠฉๆž„ๅปบไปŽ\\\"่ฎค็Ÿฅๅฑ‚ โ†’ ๆŠ€ๆœฏ้ข†ๅŸŸ โ†’ ๅทฅ็จ‹่ƒฝๅŠ› โ†’ ๅŸบ็ก€่ฎพๆ–ฝ\\\"็š„ๅฎŒๆ•ดๅ…จๆ ˆ็Ÿฅ่ฏ†ๅ›พ่ฐฑใ€‚\",\"categories\":[\"ๅ…จๆ ˆ\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"permalink\":\"/fullstack/overview\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ…จๆ™ฏไธ€่งˆ\",\"date\":\"2026-03-19 23:05:50\",\"capture\":\"<script setup\\nimport ArticleCardList from '@fragment/components/ArticleCardList.vue'\\nimport { fullStackCategories } from '@fragment/data/full-stack-data'\\n</script>\\n<ArticleCardList :categories=\\\"fullStackCategories\\\" />\"},{\"url\":\"/10.ไบงๅ“ Sense/00.ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"relativePath\":\"/10.ไบงๅ“ Sense/00.ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"frontmatter\":{\"date\":\"2026-03-19 23:05:50\",\"title\":\"ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"description\":\"ไบงๅ“ Sense ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ๏ผŒๆถต็›– AI ไบงๅ“่ง‚ๅฏŸใ€ๅคๅˆๅž‹ไบบๆ‰ๆˆ้•ฟใ€ๅ•†ไธšๅŒ–ๆ€่€ƒๅŠๆ–นๆณ•่ฎบๆ€ป็ป“็ญ‰ใ€‚\",\"categories\":[\"ไบงๅ“ Sense\",\"AI\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"date\":\"2026-03-19 23:05:50\",\"capture\":\"> * ่ฟฝๆฑ‚้ซ˜ๆ ๆ†โ€”โ€”ไปฅๆž็ฎ€ๆŠ€ๆœฏ่งฃๅ†ณๅคๆ‚้—ฎ้ข˜๏ผŒๆ‹’็ปไธบ็‚ซๆŠ€่€Œ่ฎพ่ฎก็š„ไผช้œ€ๆฑ‚๏ผ›\\n> * ๅนณ่กกๆ„Ÿๆ€งไธŽ็†ๆ€งโ€”โ€”ๆ—ขๅ…ฑๆƒ…็”จๆˆท็š„็œŸๅฎžๅœบๆ™ฏไธŽๆƒ…็ปช๏ผŒๅˆๅ†ท้™่ฟฝๆบฏ็—›็‚นๆœฌ่ดจ๏ผŒ่ฎฉไบงๅ“ๆ—ขๆœ‰ๆธฉๅบฆ๏ผŒๅˆไธ่‡ณไบŽๆฒฆไธบๅŠŸ่ƒฝ็š„ๅ †็ Œใ€‚\\n่งฃๆž„่ฟ™็งไบงๅ“ Sense ็š„ๅŸบ็ก€ๅœจไบŽๅฏนๆŠ•ๅ…ฅไบงๅ‡บๆฏ”๏ผˆROI๏ผ‰็š„ๆž่‡ด่ฟฝๆฑ‚ไธŽๅฏนไบบๆ€ง็š„ๆทฑๅบฆๅ‰–ๆž๏ผš\\n* ไธ€ๆ–น้ข๏ผŒๅ“่ถŠ็š„ไบงๅ“ๅ—…่ง‰ๆ„ๅ‘ณ็€ๅฏปๆ‰พโ€œ้ซ˜ๆ ๆ†่งฃโ€๏ผŒ็”จๆœ€ๅ…‹ๅˆถ็š„ๆŠ€ๆœฏๅคๆ‚ๅบฆๅŽปๆ’ฌๅŠจๆœ€ๅนฟๆณ›ไธ”ๅผบ็ƒˆ็š„็”จๆˆทไปทๅ€ผ๏ผŒๆžœๆ–ญ่ง„้ฟไธบไบ†ๆŠ€ๆœฏ่€ŒๆŠ€ๆœฏ็š„ไผช้œ€ๆฑ‚้™ท้˜ฑใ€‚\\n* ๅฆไธ€ๆ–น้ข๏ผŒๆ—ข้œ€่ฆ่ฎพ่บซๅค„ๅœฐๆ„Ÿ็Ÿฅ็”จๆˆท็š„็œŸๅฎžไฝฟ็”จๅœบๆ™ฏไธŽๆƒ…็ปช๏ผŒๅˆๅฟ…้กปไฟๆŒ็†ๆ€งๅŽป่ฟฝ้—ฎ็—›็‚น็š„ๆ นๆบ๏ผŒ็กฎไฟไบงๅ“ๆ—ขไธๆฒฆไธบ่‡ƒ่‚ฟ็š„้œ€ๆฑ‚่ฎธๆ„ฟๆฑ ๏ผŒไนŸไธๅ˜ๆˆ็ผบไนไบบๆ€งๆธฉๅบฆ็š„ๅ†ฐๅ†ทๆœบๅ™จใ€‚\\n<im\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/00.AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/00.AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ\",\"frontmatter\":{\"title\":\"AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"date\":\"2026-03-15 16:00:00\",\"description\":\"ๅ…จๆ™ฏๅผ AI ๅญฆไน ไธŽๅฎž่ทต็Ÿฅ่ฏ†ๅบ“๏ผŒ็ณป็ปŸๆฒ‰ๆท€ AI Agent ่ฎพ่ฎกๆจกๅผใ€ๅคงๆจกๅž‹ๅทฅ็จ‹ๅŒ–่ฝๅœฐใ€ๅผ€ๆบๅฐ้กน็›ฎๅŠ็คพๅŒบๆดปๅŠจ็ป้ชŒๆ€ป็ป“๏ผŒๆŒ็ปญ่ฟญไปฃไปŽ็†่ฎบๅˆฐ็”Ÿไบง็š„ๅฎŒๆ•ดๆ–นๆณ•่ฎบใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/llm_learning_bg_1.png\",\"permalink\":\"/ai-learning/overview\",\"categories\":[\"ai-practice\"],\"tags\":[\"AI\",\"LLM\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"date\":\"2026-03-15 16:00:00\",\"capture\":\"<!-- ็ฒพ้€‰ไธ“้ข˜ --\\n<script setup>\\nimport ArticleCardList from '@fragment/components/ArticleCardList.vue'\\nimport { aiLearningCategories } from '@fragment/data/ai-learning-data'\\n</script>\\n<ArticleCardList :categories=\\\"aiLearningCategories\\\" />\"},{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/02.CSSๅทฅ็จ‹ๅŒ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/02.CSSๅทฅ็จ‹ๅŒ–\",\"frontmatter\":{\"date\":\"2026-03-10 22:05:50\",\"title\":\"ไปŽๅŽŸๅญๅŒ–ๅˆฐๅ˜ไฝ“้ฉฑๅŠจ๏ผš็Žฐไปฃ CSS ๅทฅ็จ‹ๅŒ–็š„ๆžถๆž„ๆผ”่ฟ›ไธŽๆททๅˆๅฎž่ทตๆŒ‡ๅ—\",\"description\":\"ๆœฌๆ–‡็ณป็ปŸๅ‰–ๆžไธปๆต CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆ็š„ๅบ•ๅฑ‚้€ป่พ‘๏ผŒๆๅ‡บโ€œๆ ทๅผ่ต„ไบง ROIโ€่ฏ„ไผฐๆจกๅž‹๏ผŒๅนถ้’ˆๅฏน Vue/React ็”Ÿๆ€็ป™ๅ‡บไบ†้ขๅ‘ AI ๆ—ถไปฃ็š„ไผไธš็บงๆททๅˆๆžถๆž„้€‰ๅž‹ๅปบ่ฎฎใ€‚\",\"permalink\":\"/full-stack/css-engineering\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"top\":true,\"categories\":[\"ๅ…จๆ ˆ\"],\"tags\":[\"ๅ…จๆ ˆ\",\"CSS\",\"ๅทฅ็จ‹ๅŒ–\",\"tailwindcss\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไปŽๅŽŸๅญๅŒ–ๅˆฐๅ˜ไฝ“้ฉฑๅŠจ๏ผš็Žฐไปฃ CSS ๅทฅ็จ‹ๅŒ–็š„ๆžถๆž„ๆผ”่ฟ›ไธŽๆททๅˆๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-03-10 22:05:50\",\"capture\":\"1. ๅผ•่จ€๏ผšไธปๆต CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆๆœ‰ๅ“ชไบ›๏ผŸ\\nๅœจ็Žฐไปฃๅ‰็ซฏๅผ€ๅ‘ไธญ๏ผŒ้š็€้กน็›ฎๅคๆ‚ๅบฆ็š„ๆ€ฅๅ‰งๆๅ‡๏ผŒๅŽŸ็”Ÿ CSS ๅธธๅธธ้ขไธดๅ…จๅฑ€ๆฑกๆŸ“ใ€ๅค็”จๅ›ฐ้šพใ€ๅฑ‚็บงๅตŒๅฅ—่ฟ‡ๆทฑไปฅๅŠ็ปดๆŠคๆˆๆœฌๆž้ซ˜็ญ‰้—ฎ้ข˜ใ€‚ไธบไบ†่งฃๅ†ณ่ฟ™ไบ›็—›็‚น๏ผŒ็คพๅŒบๅคšๅนดๆฅไธๆ–ญๆŽข็ดข๏ผŒๆฒ‰ๆท€ๅ‡บไบ†ๅคš็งไธปๆต็š„ CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆใ€‚\\n้™คๅŽŸ็”Ÿ CSS ไน‹ๅค–๏ผŒไธปๆตๆ–นๆกˆ่ฟ˜ๅŒ…ๆ‹ฌ้ข„ๅค„็†ๅ™จใ€CSS-in-JSใ€CSS Moduleใ€Scoped CSSใ€ๅŽŸๅญๅŒ– CSS ็ญ‰ใ€‚BEM ไฝœไธบไธ€็งๅŸบไบŽๅ‘ฝๅ็บฆๅฎšๆฅ่ง„้ฟๅ‘ฝๅๅ†ฒ็ช็š„ๆ—ฉๆœŸๆ–นๆกˆ๏ผŒๅœจ็Žฐไปฃๅ‰็ซฏๅทฅ็จ‹ไธญๅทฒๅŸบๆœฌไธๅ†ไฝฟ็”จ๏ผŒๅ› ๆญคๆœฌๆ–‡ไธๅ†ๅฏนๅ…ถๅฑ•ๅผ€่ฏฆ็ป†ๅˆ†ๆžใ€‚\\n> CSS ๅ‘ฝๅ่ง„่Œƒ๏ผˆBEM๏ผ‰๏ผš้€š่ฟ‡ไธฅๆ ผ็š„ๅ‘ฝๅ็บฆๅฎš๏ผˆๅฆ‚ Block__Element--Modif\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/20.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Agent\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/20.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Agent\",\"frontmatter\":{\"date\":\"2026-03-06 00:37:58\",\"title\":\"ๅ‘Šๅˆซๆ‰‹ๅŠจ Loop๏ผšๅ€ŸๅŠฉ Claude Agent SDK ๅฎž็Žฐ Agent ็š„ๅทฅ็จ‹ๅŒ–้—ญ็Žฏ\",\"description\":\"ๅœจ Agent ๆŠ€ๆœฏๅฟซ้€Ÿ่ตฐๅ‘ๆˆ็†Ÿ็š„ไปŠๅคฉ๏ผŒๅฆ‚ไฝ•ไฝŽๆˆๆœฌๆž„ๅปบๅ…ทๅค‡โ€œ่‡ชไธปๆดžๅฏŸโ€่ƒฝๅŠ›็š„ๆ™บ่ƒฝไฝ“๏ผŸๆœฌๆ–‡ๆทฑๅบฆๆ‹†่งฃ Anthropic ๅฎ˜ๆ–นๆŽจๅ‡บ็š„ Claude Agent SDK๏ผŒ่งฃๆžๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆ‰˜็ฎก Agent Loop ๅ’Œไผš่ฏๆŒไน…ๅŒ–ๆœบๅˆถ๏ผŒ่งฃๅ†ณ Agent ๅผ€ๅ‘ไธญ็š„็Šถๆ€็ฎก็†้šพ้ข˜ใ€‚ๆ–‡็ซ ้€š่ฟ‡ไปŽๆ— ็Šถๆ€ไบคไบ’ๅˆฐๅ…ทๅค‡ๆตๅผ่พ“ๅ‡บ่ƒฝๅŠ›็š„ TUI ่‡ชๅŠจๅŒ–ๅทฅๅ…ท่ฟ›้˜ถๅฎžๆˆ˜๏ผŒๅฑ•็คบไบ†ๆž„ๅปบไฝŽๆˆๆœฌใ€้ซ˜ๅฏ็”จ AI ๅŽŸ็”Ÿๅบ”็”จ็š„ๅฎŒๆ•ด่ทฏๅพ„ใ€‚\",\"permalink\":\"/ai-practice/claude-agent-sdk-basic-build\",\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"],\"tags\":[\"Agent\",\"Agent SDK\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ‘Šๅˆซๆ‰‹ๅŠจ Loop๏ผšๅ€ŸๅŠฉ Claude Agent SDK ๅฎž็Žฐ Agent ็š„ๅทฅ็จ‹ๅŒ–้—ญ็Žฏ\",\"date\":\"2026-03-06 00:37:58\",\"capture\":\"1. ๅผ•่จ€\\nๅฝ“ๅ‰๏ผŒAI Agent ็š„ๆผ”่ฟ›ๅทฒ่ฟ›ๅ…ฅไธ€ไธชๅดญๆ–ฐ็š„้˜ถๆฎตโ€”โ€”ไปŽ้œ€่ฆ้ข‘็นไบบๅทฅๅนฒ้ข„็š„\\\"ๅŠ่‡ชๅŠจ\\\"ๆจกๅผ๏ผŒ่ฟ›ๅŒ–ไธบ่ƒฝๅคŸ่‡ชไธปๆดžๅฏŸ็Žฏๅขƒๅ˜ๅŒ–ใ€ๅŠจๆ€่ฐƒๆ•ดๆ‰ง่กŒ็ญ–็•ฅใ€ๅฎž็ŽฐไธšๅŠกๆต็จ‹่‡ช้€‚ๅบ”็ผ–ๆŽ’็š„ๆ™บ่ƒฝๅŒ–็ณป็ปŸใ€‚Claude Codeใ€Manusใ€OpenClaw ็ญ‰ไปฃ่กจๆ€งไบงๅ“ๅฑ‚ๅ‡บไธ็ฉท๏ผŒไนŸๆ ‡ๅฟ—็€ Agent ๆŠ€ๆœฏๆญฃๅœจๅฟซ้€Ÿ่ตฐๅ‘ๆˆ็†ŸไธŽๆ™ฎๅŠใ€‚\\n่ฟ‘ๆœŸ๏ผŒ็ฌ”่€…ๅœจไธบไธชไบบๅšๅฎขๅผ•ๅ…ฅๆ™บ่ƒฝๅŒ–่ฟ่ฅ่ƒฝๅŠ›๏ผˆๅฆ‚ๅ†…ๅฎน่‡ชๅŠจๆ กๅฏนใ€ๅฎก็จฟไธŽๅ‘ๅธƒ๏ผ‰๏ผŒๆทฑๅ…ฅ็ ”็ฉถไบ†ๅคšๆฌพ Agent ๅผ€ๅ‘ๆก†ๆžถ๏ผŒๅฆ‚ Claude Agent SDKใ€Langchainใ€LangGraph ็ญ‰ใ€‚ๅœจ็ป่ฟ‡ๅˆๆญฅ็š„็ ”็ฉถๅฏนๆฏ”ๅˆ†ๆžๅŽ๏ผŒClaude Agent SDK ๆˆไธบไบ†ไฝŽๆˆๆœฌๆž„ๅปบ้ซ˜ๅฏ็”จ Agent\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/10.Agent SKills\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/10.Agent SKills\",\"frontmatter\":{\"date\":\"2026-03-05 23:11:25\",\"title\":\"ๅฆ‚ไฝ•็ผ–ๅ†™ไธ€ไธช้ซ˜ๅฏ็”จ็š„ Agent Skill๏ผŸไปŽๆœบๅˆถๆ‹†่งฃๅˆฐ็”Ÿไบงๅฎž่ทตๆŒ‡ๅ—\",\"description\":\"ๅคง่ฏญ่จ€ๆจกๅž‹ๅœจ็‰นๅฎšๅทฅ็จ‹้ข†ๅŸŸๅธธ้ขไธดโ€œ็Ÿฅ่€Œไธ่กŒโ€็š„ๅ›ฐๅขƒใ€‚ๆœฌๆ–‡ๆทฑๅบฆๆ‹†่งฃ Anthropic ๆœ€ๆ–ฐๆŽจๅ‡บ็š„ Agent Skills ่ง„่Œƒ๏ผŒๆญ็ง˜ๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆธ่ฟ›ๅผๆŠซ้œฒไธŽไธ‰็บงๅŠ ่ฝฝๆœบๅˆถ๏ผŒๅœจๆŽงๅˆถ Token ๆˆๆœฌ็š„ๅŒๆ—ถๆ˜พ่‘—ๆๅ‡ Agent ็š„ไปปๅŠกๆ‰ง่กŒ็ฒพๅบฆใ€‚ๆ–‡็ซ ๆถต็›–ไบ†ไปŽๆ–‡ไปถๅคนๆžถๆž„่ฎพ่ฎกๅˆฐๅฎžๆˆ˜ git-workflow ็ผ–ๅ†™็š„ๅ…จๆต็จ‹ๆŒ‡ๅ—๏ผŒๅŠฉไฝ ๅฐ†้›ถๆ•ฃ็š„ Prompt ่ฝฌๅŒ–ไธบๆ ‡ๅ‡†ๅŒ–็š„ๆ•ฐๅญ—่ต„ไบงใ€‚\",\"permalink\":\"/ai-agent/skills-practice-summary\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\",\"Agent ็ณปๅˆ—\"],\"tags\":[\"Agent Skills\",\"Agent\",\"AI\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฆ‚ไฝ•็ผ–ๅ†™ไธ€ไธช้ซ˜ๅฏ็”จ็š„ Agent Skill๏ผŸไปŽๆœบๅˆถๆ‹†่งฃๅˆฐ็”Ÿไบงๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-03-05 23:11:25\",\"capture\":\"1. ๅผ•่จ€๏ผšAgent Skills ๆ˜ฏไป€ไนˆ๏ผŸ\\nๅœจๅคง่ฏญ่จ€ๆจกๅž‹๏ผˆLLM๏ผ‰็š„่ฝๅœฐๅฎž่ทตไธญ๏ผŒๅผ€ๅ‘่€…็ปๅธธ้ขไธดไธ€ไธชๅ…ฑๆ€งๆŒ‘ๆˆ˜๏ผšๆจกๅž‹ๅœจ็‰นๅฎš็ป†ๅˆ†้ข†ๅŸŸๅพ€ๅพ€ๅค„ไบŽโ€œ็Ÿฅ่€Œไธ่กŒโ€็š„็Šถๆ€โ€”โ€”่™ฝ็„ถๆ‹ฅๆœ‰ๅšๆ‚็š„็Ÿฅ่ฏ†๏ผŒๅด็ผบไนๆ‰ง่กŒๅคๆ‚ไปปๅŠก็š„ไธ“ไธš่ทฏๅพ„ใ€‚\\nไธบไบ†่งฃๅ†ณ่ฟ™ไธ€็—›็‚น๏ผŒAnthropic ๅœจๅ…ถๆ——่ˆฐๆจกๅž‹ Claude 3.7 ็ณปๅˆ—ไธญๆญฃๅผๆŽจๅ‡บไบ† Claude Skillsใ€‚่ฟ™ไธ€ๅŠŸ่ƒฝๅฐ† LLM ็š„่ƒฝๅŠ›ๅฐ่ฃ…ไธบ็›ด่ง‚็š„โ€œ่ƒฝๅŠ›ๆ–‡ไปถๅคนโ€๏ผŒๆžๅคงๆๅ‡ไบ†ๆ™บ่ƒฝไฝ“็š„ๅฎž็”จๆ€ง๏ผŒๅนถ่ฟ…้€Ÿๅœจๅผ€ๅ‘่€…็คพๅŒบๅผ•ๅ‘็ƒญ่ฎฎใ€‚2025 ๅนด 12 ๆœˆ๏ผŒ้š็€ Anthropic ่”ๅˆ็”Ÿๆ€ไผ™ไผดๆญฃๅผๅผ€ๆบ Agent Skills ่ง„่Œƒ๏ผŒAgent Skills ็š„ๆ ‡ๅ‡†ๅŒ–ไนŸๆญฃๅผๅผ€ๅฏ๏ผˆ่€Œ่ฟ™ไธ€่ƒฝๅŠ›\"},{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"frontmatter\":{\"date\":\"2026-03-05 16:54:35\",\"title\":\"ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"aliases\":[\"Server-Sent Events\",\"HTTP Streaming\"],\"tldr\":\"ๆทฑๅ…ฅ่งฃๆžๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผŒๆไพ›ไปŽๆฆ‚ๅฟตๅˆฐ็”Ÿไบงๅฎž่ทต็š„ๅฎŒๆ•ด่งฃๅ†ณๆ–นๆกˆใ€‚\",\"description\":\"่พจๆžๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ็š„ๆฆ‚ๅฟตไธŽๅฑ‚ๆฌกๅ…ณ็ณป๏ผŒ่ฏฆ่งฃๅฎขๆˆท็ซฏไธŽๆœๅŠก็ซฏๅฎž็Žฐๆ–นๆกˆ๏ผŒๆไพ›็”Ÿไบงๅฎž่ทตๅฎŒๆ•ดๆŒ‡ๅ—ใ€‚\",\"tags\":[\"tutorial\",\"SSE\",\"HTTP Streaming\",\"ๅ…จๆ ˆ\"],\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"permalink\":\"/fullstack/networking/sse-practice\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"date\":\"2026-03-05 16:54:35\",\"capture\":\"<script setup\\n import HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n> ๆ‘˜่ฆๆ€ป็ป“: ้’ˆๅฏนๅผ€ๅ‘่€…ๅฎนๆ˜“ๆททๆท†ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ็š„้—ฎ้ข˜๏ผŒไปŽๆฆ‚ๅฟตๅฑ‚ๆฌกๅ‡บๅ‘ๅŽ˜ๆธ…ไบŒ่€…ๆœฌ่ดจๅŒบๅˆซไธŽๅไฝœๅ…ณ็ณป๏ผŒๆŒ‡ๅ‡บๆตๅผ HTTP ๆ˜ฏๅบ•ๅฑ‚ไผ ่พ“ๆœบๅˆถ่€Œ SSE ๆ˜ฏๅบ”็”จๅฑ‚ๆ•ฐๆฎๆ ผๅผ็บฆๅฎšใ€‚ๆ–‡็ซ ไพๆฌกไป‹็ปๅŽŸ็”Ÿ EventSource APIใ€fetch + ReadableStream ่ฟ›้˜ถๆ–นๆกˆใ€@microsoft/fetch-event-source ๅทฅไธš็บงๅฎž็Žฐ็ญ‰ไธ‰็งๅฎขๆˆท็ซฏๆ–นๆกˆ๏ผŒๅนถไปฅ Nes\"},{\"url\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/02.้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/02.้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-03-02 11:05:50\",\"title\":\"้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ AI ๆž้€Ÿ้™ไฝŽไปฃ็ ็ผ–ๅ†™้—จๆง›๏ผŒๅ•็บฏ็š„โ€œไธšๅŠกไปฃ็ ็ฟป่ฏ‘ๅ™จโ€่ง’่‰ฒๆญฃๅŠ ้€Ÿ่ดฌๅ€ผใ€‚ๆœฌๆ–‡ไปŽๆŠ€ๆœฏๆผ”่ฟ›ไธŽไบงๅ“ๆ€่€ƒ็š„ไบคๆฑ‡็‚นๅ‡บๅ‘๏ผŒๅฐ† AI ๆ—ถไปฃ็š„ๅผ€ๅ‘่€…่ƒฝๅŠ›ๅ›พ่ฐฑ้‡ๆ–ฐๅˆ’ๅˆ†ไธบไธ‰ๅคงๆ ธๅฟƒๅœˆๅฑ‚๏ผšไบงๅ“ๅบ”็”จๅฑ‚๏ผˆInsight Stack๏ผ‰ใ€Agent ๅผ€ๅ‘ๅฑ‚ไธŽ AI ๅŸบ็ก€่ฎพๆ–ฝๅฑ‚ใ€‚ๆ— ่ฎบไฝ ๆ˜ฏๆทฑ่€•่ง†ๅ›พๅฑ‚ไบคไบ’ใ€็ฒพ้€š Node.js ็ญ‰ๆœๅŠก็ซฏๆžถๆž„็š„ๅผ€ๅ‘่€…๏ผŒ่ฟ˜ๆ˜ฏ่‡ดๅŠ›ไบŽๆŠ€ๆœฏ่ฝๅœฐ็š„ๆŽข็ดข่€…๏ผŒ้ƒฝ่ƒฝๅœจ่ฟ™ไปฝๆผ”่ฟ›ๆŒ‡ๅ—ไธญๆ‰พๅˆฐๆ‰“็ ด่ƒฝๅŠ›่พน็•Œใ€ๅ‘โ€œ่ถ…็บงไธชไฝ“โ€ไธŽโ€œAI ๆ™บ่ƒฝไฝ“ๆŒ‡ๆŒฅๅฎ˜โ€่ทƒ่ฟ็š„็ ดๅฑ€ไน‹้“ใ€‚\",\"permalink\":\"/fullstack/ai-engineer-capability\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"top\":true,\"tags\":[\"ๅ…จๆ ˆ\",\"AI\"],\"categories\":[\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"date\":\"2026-03-02 11:05:50\",\"capture\":\"<script setup>\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/ai_engineering_arc.png\\\" style=\\\"width: 100%; border-radius: 8px; margin-bottom: 20px;\\\" alt=\\\"about site back\"},{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"frontmatter\":{\"date\":\"2026-02-25 22:10:48\",\"title\":\"HTTP ่ฝฎ่ฏขไผ˜ๅŒ–ๆŒ‡ๅ—๏ผš้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"tldr\":\"่ฏฆ่งฃ้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅฎž็ŽฐๅŽŸ็†๏ผŒๆไพ› HTTP ่ฝฎ่ฏขไผ˜ๅŒ–็ญ–็•ฅไธŽ้€‰ๅž‹ๅ†ณ็ญ–ๆ ‘ใ€‚\",\"description\":\"ๆทฑๅ…ฅๅ‰–ๆž้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๆ ธๅฟƒๆœบๅˆถ๏ผŒๆไพ› TypeScript/NestJS ๅฎžๆˆ˜ไปฃ็ ๏ผŒๅนถๆž„ๅปบๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–ๆ ‘ไธŽ้€‚็”จๅœบๆ™ฏ้€ŸๆŸฅใ€‚\",\"tags\":[\"HTTP ่ฝฎ่ฏข\",\"้€€้ฟ่ฝฎ่ฏข\",\"้•ฟ่ฝฎ่ฏข\"],\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"permalink\":\"/fullstack/networking-polling-optimization\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"HTTP ่ฝฎ่ฏขไผ˜ๅŒ–ๆŒ‡ๅ—๏ผš้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"date\":\"2026-02-25 22:10:48\",\"capture\":\"1. ๅผ•่จ€\\nๅœจ็Žฐไปฃ Web ๅผ€ๅ‘ไธญ๏ผŒWebSocket ๅ’Œ Server-Sent Events (SSE) ๅธธๅธธ่ขซ่ง†ไธบๅฎžๆ—ถ้€šไฟก็š„้“ถๅผนใ€‚็„ถ่€Œ๏ผŒHTTP ่ฝฎ่ฏข๏ผˆPolling๏ผ‰ไฝœไธบๆœ€ๆœด็ด ็š„ๅฎžๆ—ถ้€šไฟกๆ–นๆกˆ๏ผŒ้žไฝ†ๆฒกๆœ‰้€€ๅ‡บๅކๅฒ่ˆžๅฐ๏ผŒๅ่€Œๅœจ็‰นๅฎš็š„ๅคๆ‚ไธšๅŠกๅœบๆ™ฏไธญๅคงๆ”พๅผ‚ๅฝฉใ€‚\\n> ๐Ÿ“– ๅฆ‚ๆžœไฝ ๅฏน HTTP ่ฝฎ่ฏขๅœจๆ•ดไธช Web ้€šไฟกๅ่ฎฎไฝ“็ณปไธญ็š„ๅฎšไฝๅฐšไธๆธ…ๆ™ฐ๏ผŒๆŽจ่ๅ…ˆ้˜…่ฏป Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—๏ผŒไบ†่งฃ่ฝฎ่ฏขไธŽ็Ÿญ่ฟžๆŽฅใ€้•ฟ่ฟžๆŽฅใ€WebSocketใ€SSE ็ญ‰ๆ–นๆกˆ็š„ๆผ”่ฟ›ๅ…ณ็ณปไธŽ้€‚็”จ่พน็•Œ๏ผŒๅ†็ป“ๅˆๆœฌๆ–‡ๆทฑๅ…ฅๅฎž่ทตใ€‚\\nๅœจๅฝ“ๅ‰ไผ—ๅคš้กถ็บง็š„ AI AIGC ๅบ”็”จ๏ผˆๅฆ‚ Midjourne\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/02.Agent ่ง„ๅˆ’ๆจกๅ—\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/02.Agent ่ง„ๅˆ’ๆจกๅ—\",\"frontmatter\":{\"date\":\"2026-02-24 20:52:37\",\"title\":\"ๆŽขๅฏป Agent ๅ†ณ็ญ–ไธญๆžข๏ผš่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„่ง„ๅˆ’่Œƒๅผ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฆ‚ๆžœ่ฏด LLM ๆ˜ฏ Agent ็š„ๅคง่„‘๏ผŒ่ง„ๅˆ’ๆจกๅ—ๅˆ™ๆ˜ฏๅ…ถ่ดŸ่ดฃๅคๆ‚ๅ†ณ็ญ–็š„โ€œๅ‰้ขๅถโ€ใ€‚ๆœฌๆ–‡ๆทฑๅบฆ่งฃๆž„ไบ† Agent ่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„ๆ ธๅฟƒ่ทฏๅพ„๏ผšไปŽไปปๅŠกๅˆ†่งฃ็š„้™ไฝŽ็†ตๅ€ผ๏ผŒๅˆฐ่‡ชๆˆ‘ๅๆ€็š„้—ญ็ŽฏๆŽงๅˆถใ€‚้€š่ฟ‡ๅฏนๆฏ”โ€œ่พน่ตฐ่พน็œ‹โ€็š„ ReAct ๅŠจๆ€ๅ“ๅบ”ๆจกๅผไธŽโ€œ่ฐ‹ๅฎšๅŽๅŠจโ€็š„ Plan-and-Execute ้ข„็ผ–ๆŽ’ๆจกๅผ๏ผŒๆœฌๆ–‡ๆญ็คบไบ†ๅฆ‚ไฝ•้’ˆๅฏน้•ฟ้“พ่ทฏๅทฅ็จ‹ไปปๅŠกๆž„ๅปบ็จณๅฅ็š„ๅ†ณ็ญ–่Œƒๅผ๏ผŒๅŠฉไฝ ๅฎŒๆˆไปŽโ€œ็ฎ€ๅ•ๆ็คบ่ฏโ€ๅˆฐโ€œๅคๆ‚ๆžถๆž„่ฎพ่ฎกโ€็š„่ฎค็Ÿฅ่ทƒ่ฟใ€‚\",\"permalink\":\"/ai-agent/planning-module\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆŽขๅฏป Agent ๅ†ณ็ญ–ไธญๆžข๏ผš่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„่ง„ๅˆ’่Œƒๅผ\",\"date\":\"2026-02-24 20:52:37\",\"capture\":\"1. ๅผ•่จ€\\nๅœจไบบ็ฑปๅคง่„‘ไธญ๏ผŒๅ‰้ขๅถ็šฎๅฑ‚่ดŸ่ดฃๅคๆ‚็š„่ฎค็Ÿฅ่ง„ๅˆ’ใ€ๅ†ณ็ญ–ๅ’Œ็คพไบค่กจ็Žฐใ€‚ๅฏนไบŽไธ€ไธช Agent ่€Œ่จ€๏ผŒ่ง„ๅˆ’ๆจกๅ—ๆญฃๆ˜ฏๅฎƒ็š„โ€œๅ‰้ขๅถโ€โ€”โ€”ๅฎƒๅ†ณๅฎšไบ† Agent ๆ˜ฏๅชไผšๆœบๆขฐๅ“ๅบ”ๆŒ‡ไปค็š„โ€œๆœจๅถโ€๏ผŒ่ฟ˜ๆ˜ฏ่ƒฝ็‹ฌ็ซ‹ๆ‹†่งฃ็›ฎๆ ‡ใ€ๅœจๅคๆ‚็Žฏๅขƒไธญๅฏปๆ‰พๆœ€ไผ˜่ทฏๅพ„็š„โ€œๆ•ฐๅญ—ๅ‘˜ๅทฅโ€ใ€‚\\nAgent ็š„่ง„ๅˆ’่ƒฝๅŠ›ไธป่ฆ็”ฑไธค้ƒจๅˆ†ๅๅŒ้ฉฑๅŠจ๏ผšไปปๅŠกๅˆ†่งฃไธŽ่‡ชๆˆ‘ๅๆ€ใ€‚\\n 2. ไปปๅŠกๅˆ†่งฃ๏ผšๅŒ–็นไธบ็ฎ€็š„็ญ–็•ฅ\\nไปปๅŠกๅˆ†่งฃๆ˜ฏๆŒ‡ๅฐ†ไธ€ไธชๅคๆ‚็š„็›ฎๆ ‡ๆˆ–ไปปๅŠกๆ‹†่งฃไธบๅคšไธชๅ…ทไฝ“ใ€ๅฏๆ“ไฝœ็š„็š„ๅญไปปๅŠก๏ผŒไปฅไพฟ Agent ่ƒฝๅคŸๆ›ด้ซ˜ๆ•ˆๅœฐๆ‰ง่กŒๅ’Œ็ฎก็†ใ€‚ๅ…ถๆœฌ่ดจๆ˜ฏ้™ไฝŽ้—ฎ้ข˜็š„็†ตๅ€ผ๏ผŒ่ฎฉ Agent ่ƒฝๅคŸ่š็„ฆไบŽๆฏไธ€ไธช็ป†ๅฐ็š„็กฎๅฎšๆ€งๆญฅ้ชค๏ผŒไปŽ่€Œ้€ๆญฅ่งฃๅ†ณ้—ฎ้ข˜๏ผŒๆ้ซ˜่ง„ๅˆ’็š„ๅฏ่กŒๆ€งๅ’Œๆ‰ง่กŒๆ•ˆ็އใ€‚\\nๆ นๆฎโ€œ่ง„ๅˆ’โ€ไธŽโ€œๆ‰ง่กŒโ€ๅ‘\"},{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-02-24 08:40:31\",\"title\":\"Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"tldr\":\"ๆทฑๅ…ฅๅˆ†ๆžไบ”็ง Web ้€šไฟกๅ่ฎฎ๏ผŒๆไพ› AI ๆ—ถไปฃ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—ไธŽๆœ€ไฝณๅฎž่ทตใ€‚\",\"description\":\"ๆทฑๅ…ฅๅ‰–ๆžไผ ็ปŸ HTTPใ€ๆตๅผ HTTPใ€SSEใ€WebSocketใ€Webhooksใ€HTTP ่ฝฎ่ฏข็š„ๅŽŸ็†ไธŽ็‰นๆ€ง๏ผŒ็ป“ๅˆ AI ๅœบๆ™ฏๆไพ›ๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–็Ÿฉ้˜ตใ€‚\",\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"tags\":[\"HTTP\",\"HTTP ่ฝฎ่ฏข\",\"SSE\",\"WebSocket\",\"Webhooks\"],\"permalink\":\"/fullstack/networking-protocol-selection-guide\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"date\":\"2026-02-24 08:40:31\",\"capture\":\"1. ๅผ•่จ€\\nHTTP ๆ˜ฏไธ€็งๅŸบไบŽๆ–‡ๆœฌ็š„้€šไฟกๅ่ฎฎ๏ผŒไธป่ฆ็”จไบŽ Web ๆต่งˆๅ™จใ€็งปๅŠจๅบ”็”จใ€ๆกŒ้ขๅบ”็”จ็ญ‰ๅฎขๆˆท็ซฏๅ’Œ Web ๆœๅŠกๅ™จไน‹้—ด็š„ๆ•ฐๆฎไผ ่พ“ใ€‚ไผ ็ปŸ HTTP ้‡‡็”จๅŒๆญฅ็š„่ฏทๆฑ‚-ๅ“ๅบ”ๆจกๅผ๏ผš`่ฏทๆฑ‚ -> ็ญ‰ๅพ… -> ๅฎŒๆ•ดๅ“ๅบ”`ใ€‚่ฟ™็งๆ–นๅผ่™ฝ่ƒฝๆปก่ถณๅคงๅคšๆ•ฐๅœบๆ™ฏ๏ผŒไฝ†ๅœจๅฎžๆ—ถๆ€ง่ฆๆฑ‚่พƒ้ซ˜็š„้ข†ๅŸŸโ€”โ€”ๅฆ‚ๆธธๆˆใ€่Šๅคฉใ€่ง†้ข‘ไผš่ฎฎ๏ผŒไปฅๅŠ AI ๆ—ถไปฃ็š„ๅฏน่ฏๅผๅบ”็”จโ€”โ€”ๅดๆ˜พๅพ—ๅŠ›ไธไปŽๅฟƒใ€‚\\nไธบ่งฃๅ†ณ่ฟ™ไธ€้—ฎ้ข˜๏ผŒไธš็•Œๅ‘ๅฑ•ๅ‡บไบ†ๅคš็งๅฎžๆ—ถ Web ้€šไฟกๆ–นๆกˆใ€‚ๆœฌๆ–‡ๅฐ†ๅ›ด็ป• ๆตๅผ HTTPใ€SSEใ€WebSocketใ€Webhooksใ€HTTP ่ฝฎ่ฏข ่ฟ™ไบ”็งไธปๆตๆŠ€ๆœฏ๏ผŒไปŽๅŽŸ็†ใ€็‰นๆ€งใ€้€‚็”จๅœบๆ™ฏๅ‡บๅ‘๏ผŒๆŽข่ฎจๅฎƒไปฌๅœจ็Žฐไปฃๅˆ†ๅธƒๅผๆžถๆž„ไธญ็š„้€‰ๅž‹็ญ–็•ฅไธŽๅทฅ็จ‹ๅฎž่ทตใ€‚\\n 2\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/01.Agentๆฆ‚่งˆไธŽ็ปผ่ฟฐ\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/01.Agentๆฆ‚่งˆไธŽ็ปผ่ฟฐ\",\"frontmatter\":{\"date\":\"2026-02-12 22:31:00\",\"title\":\"ไปŽๆ็คบ่ฏๅˆฐๆ•ฐๅญ—ๅ‘˜ๅทฅ๏ผšAI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšAI ็š„่ฟ›ๅŒ–ๆญฃ็ปๅކไปŽโ€œๅฏน่ฏๆก†โ€ๅ‘โ€œๆ•ฐๅญ—ๅ‘˜ๅทฅโ€็š„ๆ นๆœฌๆ€ง่ทจ่ถŠใ€‚ๆœฌๆ–‡ๆ˜ฏไธ€็ฏ‡ๅ…ณไบŽ AI Agent ็š„ๅ…จๆ™ฏๆทฑๅบฆ็ปผ่ฟฐ๏ผŒๆ—จๅœจ่งฃๆž„ๆ™บ่ƒฝไฝ“ๅฆ‚ไฝ•ไปŽ็ฎ€ๅ•็š„ Prompt ๅ“ๅบ”่€…๏ผŒๆผ”ๅ˜ไธบๅ…ทๅค‡่‡ชไธป็›ฎๆ ‡ๆ‹†่งฃใ€้•ฟ็ŸญๆœŸ่ฎฐๅฟ†ไธŽๅคๆ‚็Žฏๅขƒไบคไบ’่ƒฝๅŠ›็š„โ€œๆ‰ง่กŒ่€…โ€ใ€‚ๆˆ‘ไปฌๅฐ†ๆทฑๅบฆๆ‹†่งฃ Agent ็š„ๅ››ๅคงๆŠ€ๆœฏๅŸบ็Ÿณ๏ผˆ่ง„ๅˆ’ใ€่ฎฐๅฟ†ใ€ๅทฅๅ…ทใ€่กŒๅŠจ๏ผ‰๏ผŒๅนถ่ฏฆ็ป†ๅ‰–ๆžไปŽ้€š็”จๅž‹ Agent ๅˆฐๅคšๆ™บ่ƒฝไฝ“ๅไฝœ๏ผˆMAS๏ผ‰ใ€ๅ†ๅˆฐ่ฟˆๅ‘ Agent OS ๆ—ถไปฃ็š„ OpenClaw ็ญ‰ไบ”ๅคงๆผ”่ฟ›ๅฝขๆ€ใ€‚ไธไป…ๆŽข่ฎจไบ†ๆŠ€ๆœฏๆžถๆž„็š„ๅฎž็Žฐ๏ผŒๆ›ดๆญ็คบไบ†่ฝฏไปถๅทฅ็จ‹ไปŽโ€œไปฅไบบไธบไธญๅฟƒโ€ๅ‘โ€œไปฅ AI ไธบไธญๅฟƒโ€็š„่Œƒๅผ้ฉๅ‘ฝโ€”โ€”ๅœจ Agent ้ฉฑๅŠจ็š„ๆ–ฐ็บชๅ…ƒ๏ผŒๆ ธๅฟƒ็ซžไบ‰ๅŠ›ๅฐ†ไธๅ†ๆ˜ฏไปฃ็ ้‡๏ผŒ่€Œๆ˜ฏ่ฐƒๅบฆ AI ้—ญ็Žฏ่งฃๅ†ณไธšๅŠก้—ฎ้ข˜็š„่ƒฝๅŠ›ใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/llm_learning_bg_1.png\",\"permalink\":\"/ai-agent/overview\",\"top\":true,\"categories\":[\"ai-practice\"],\"tags\":[\"AI Agent\",\"Agent\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไปŽๆ็คบ่ฏๅˆฐๆ•ฐๅญ—ๅ‘˜ๅทฅ๏ผšAI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐ\",\"date\":\"2026-02-12 22:31:00\",\"capture\":\"1. ไป€ไนˆๆ˜ฏ Agent๏ผŸโ€”โ€”ไปŽโ€œๅทฅๅ…ทโ€ๅˆฐโ€œๅฎžไฝ“โ€็š„่ฟ›ๅŒ–\\n> ๆ ธๅฟƒ้€ป่พ‘๏ผš็Žฐไปฃ Agent ็š„ๆœฌ่ดจๆ˜ฏ \\\"LLM (ๅคง่„‘) + ่ง„ๅˆ’ไธŽ่ฎฐๅฟ† (ๅฐ่„‘) + ๅทฅๅ…ท่ฐƒ็”จ (ๆ‰‹่„š)\\\"ใ€‚LLM ็š„ๆตท้‡็Ÿฅ่ฏ†ๅ‚จๅค‡่ฎฉ Agent ่ƒฝๅคŸ็ฒพๅ‡†็†่งฃๅคๆ‚ๆŒ‡ไปค๏ผŒๅนถๅฐ†ๅ…ถ่ฝฌๅŒ–ไธบๅฎž้™…่กŒๅŠจใ€‚\\nๅœจ AI ้ข†ๅŸŸ๏ผŒAgent๏ผˆๆ™บ่ƒฝไฝ“๏ผ‰ ๅนถ้žไธ€ไธชๆ–ฐๆฆ‚ๅฟต๏ผŒไฝ† LLM๏ผˆๅคง่ฏญ่จ€ๆจกๅž‹๏ผ‰็š„็ˆ†ๅ‘่ต‹ไบˆไบ†ๅฎƒ็œŸๆญฃ็š„โ€œ็ต้ญ‚โ€ใ€‚็ฎ€ๅ•ๆฅ่ฏด๏ผŒAgent ๆ˜ฏไธ€็ง่ƒฝๅคŸๆ„Ÿ็Ÿฅ็Žฏๅขƒใ€่‡ชไธปๅ†ณ็ญ–ๅนถๆ‰ง่กŒไปปๅŠก็š„ๆ™บ่ƒฝๅฎžไฝ“ใ€‚\\nๅฆ‚ๆžœ่ฏดไผ ็ปŸ็š„ AI ๆ˜ฏไธ€ไธชโ€œ้—ฎ็ญ”ๆœบโ€๏ผŒ้‚ฃไนˆ Agent ๅฐฑๆ˜ฏไธ€ไธชโ€œๆ‰ง่กŒ่€…โ€ใ€‚ๅฎƒๅ…ทๅค‡ไปฅไธ‹ๅ››ๅคงๆ ธๅฟƒ็‰น่ดจ๏ผš\\n* ่‡ชไธปๆ€ง (Autonomy)๏ผš ๆ— ้กปๆ—ถๅˆป็›ฏ็€๏ผŒ่ฎพๅฎš\"},{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-02-10 23:33:19\",\"title\":\"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ๅฝ“ AI ๆ‰ฟๆŽฅไบ† 30% ็š„็ผ–็ ๆ‰ง่กŒๆ—ถ๏ผŒๅผ€ๅ‘่€…้œ€้€š่ฟ‡โ€œ่ง„ๆ ผ้ฉฑๅŠจ๏ผˆSDD๏ผ‰โ€้‡ๅคบ 70% ็š„่ฎพ่ฎกไธปๆƒ๏ผšไปŽ่‡ชๆฒป็ป„ไปถๅˆ’ๅˆ†ๅˆฐๅ•ๅ‘ๆ•ฐๆฎๆตๆ‹“ๆ‰‘็š„ๆทฑๅบฆๆŽจๆผ”ใ€‚\",\"description\":\"ๆœฌๆ–‡ๆŽข่ฎจๅœจ AI ๅขžๅผบๅผ€ๅ‘่ƒŒๆ™ฏไธ‹๏ผŒๅฆ‚ไฝ•้‡ๅก‘ React ็ป„ไปถ่ฎพ่ฎกๅŽŸๅˆ™ใ€‚ๆถต็›– SRP ่Œ่ดฃๅˆ’ๅˆ†ใ€้™ๆ€็‰ˆๆœฌๅŸบ็บฟใ€ๆœ€ๅฐ็Šถๆ€๏ผˆDerived Data๏ผ‰ๆŽจๅฏผไปฅๅŠ SDD ไบบๆœบๅไฝœๆจกๅผ็š„ๅทฅ็จ‹่ฝๅœฐใ€‚\",\"tags\":[\"tutorial\",\"react\",\"component-design\",\"state-management\",\"ai-augmented\",\"specification-driven\"],\"permalink\":\"/fullstack/react-design-philosophy-ai-augmented\",\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-02-10 23:33:19\",\"capture\":\"<script setup\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n 1. ๅผ•่จ€\\nๅœจ่ฝฏไปถๅทฅ็จ‹ไธญ๏ผŒ็บฆ 70% ็š„ๆ—ถ้—ดๅบ”ๆŠ•ๅ…ฅไบŽๆžถๆž„่ฎพ่ฎกใ€้œ€ๆฑ‚ๆ‹†่งฃไธŽๆŽฅๅฃ่ฏญไน‰ๆŽจๆ•ฒ๏ผŒไป… 30% ็”จไบŽๅฎž้™…็ผ–็ ใ€‚่ฟ›ๅ…ฅ AI ๅไฝœๆ—ถไปฃๅŽ๏ผŒ่ฟ™ไธ€ๆฏ”ไพ‹ไพ็„ถๅšๅฆ‚็ฃ็Ÿณโ€”โ€”ๅผ€ๅ‘่€…ๅฟ…้กปๅ…ˆๅฎŒๆˆๆทฑๅบฆๆ€่€ƒ๏ผŒๅฐ†โ€œๆธ…ๆ™ฐ็š„้—ฎ้ข˜่ง„ๆ ผ๏ผˆSpecification๏ผ‰โ€ไบค็ป™ AI๏ผŒAI ๆ‰่ƒฝ่พ“ๅ‡บ้ซ˜่ดจ้‡ไปฃ็ ใ€‚<HighLightText type=\\\"note\\\" bold>AI ๆๅ‡็š„ๆ˜ฏ 30% ็ผ–็ ้˜ถๆฎต็š„ๆ‰ง่กŒๅŠ›๏ผŒ่€Œ้žๅ–\"},{\"url\":\"/01.ๅ…จๆ ˆ/90.ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่/90.ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"relativePath\":\"/01.ๅ…จๆ ˆ/90.ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่/90.ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"frontmatter\":{\"date\":\"2026-02-06 15:58:53\",\"title\":\"ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡็ณป็ปŸๆขณ็†ไบ†็Žฐไปฃๅ…จๆ ˆๅผ€ๅ‘็š„ๅฎŒๆ•ดๆŠ€ๆœฏๅ›พ่ฐฑไธŽๆผ”่ฟ›่Œƒๅผ๏ผŒไธบๅผ€ๅ‘่€…ๆไพ›ไบ†ไธ€็ซ™ๅผ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—ใ€‚ๆ–‡็ซ ไปŽๅŸบ็Ÿณๅ‡บๅ‘๏ผŒ่ฆ†็›– Web ๆ ธๅฟƒ่ฏญ่จ€๏ผˆJS/TS๏ผ‰ ไธŽ ไธปๆต UI ๆก†ๆžถ๏ผˆReact/Vue/Svelte๏ผ‰๏ผŒๅนถๆŽจ่ไปฅ Tailwind CSS ๅ’Œ shadcn/ui ไธบไปฃ่กจ็š„็Žฐไปฃๆ ทๅผไธŽ็ป„ไปถๅŽŸ่ฏญใ€‚ๅœจๆ ธๅฟƒไธšๅŠก้€ป่พ‘ๅฑ‚๏ผŒๆทฑๅบฆๅฏนๆฏ”ไบ†่ฝป้‡ๅŒ–็Šถๆ€็ฎก็†ๆ–นๆกˆ๏ผˆ้ฆ–ๆŽจ Zustand/Jotai๏ผ‰๏ผŒๅนถ้‡็‚น่งฃๆžไบ†ๆ•ฐๆฎไบคไบ’็š„ไธ‰ๅคง็Žฐไปฃๆžถๆž„่Œƒๅผ๏ผšไปŽๅŸบ็ก€ Axios ๅˆฐ React Query ็Šถๆ€่ฐƒๅบฆ๏ผŒๅ†ๅˆฐ tRPC ๅ’Œ GraphQL ๅธฆๆฅ็š„ๅ…จๆ ˆ็ฑปๅž‹ๅฎ‰ๅ…จไธŽๅคš็ซฏ่šๅˆใ€‚ๅœจๅทฅ็จ‹ๅŒ–ไธŽๆœๅŠก็ซฏๆจกๅ—๏ผŒๆ–‡็ซ ๅ…จ้ขๆ‹ฅๆŠฑ Viteใ€Rsbuild ็ญ‰ๆž้€Ÿๆž„ๅปบๅทฅๅ…ท๏ผŒๅนถๅ‰–ๆžไบ† Next.js/Nuxt ๅŒๆž„ๅ…ƒๆก†ๆžถไธŽ NestJS ไผไธš็บง Node ๆœๅŠก็š„ๆœ€ไฝณ้€‚็”จๅœบๆ™ฏใ€‚ๆœ€ๅŽ๏ผŒ่พ…ไปฅ Vercel ็ญ‰็Žฐไปฃ่พน็ผ˜้ƒจ็ฝฒๅนณๅฐๅŠไธฐๅฏŒ็š„ๅผ€ๆบ็คพๅŒบๅญฆไน ่ต„ๆบใ€‚\",\"permalink\":\"/growth/full-stack-resources\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"date\":\"2026-02-06 15:58:53\",\"capture\":\"> - ๆ–‡็ซ ไปŽๅŸบ็Ÿณๅ‡บๅ‘๏ผŒ่ฆ†็›– Web ๆ ธๅฟƒ่ฏญ่จ€๏ผˆJS/TS๏ผ‰ ไธŽ ไธปๆต UI ๆก†ๆžถ๏ผˆReact/Vue/Svelte๏ผ‰๏ผŒๅนถๆŽจ่ไปฅ Tailwind CSS ๅ’Œ shadcn/ui ไธบไปฃ่กจ็š„็Žฐไปฃๆ ทๅผไธŽ็ป„ไปถๅŽŸ่ฏญใ€‚\\n> - ๅœจๆ ธๅฟƒไธšๅŠก้€ป่พ‘ๅฑ‚๏ผŒๆทฑๅบฆๅฏนๆฏ”ไบ†่ฝป้‡ๅŒ–็Šถๆ€็ฎก็†ๆ–นๆกˆ๏ผˆ้ฆ–ๆŽจ Zustand/Jotai๏ผ‰๏ผŒๅนถ้‡็‚น่งฃๆžไบ†ๆ•ฐๆฎไบคไบ’็š„ไธ‰ๅคง็Žฐไปฃๆžถๆž„่Œƒๅผ๏ผšไปŽๅŸบ็ก€ Axios ๅˆฐ React Query ็Šถๆ€่ฐƒๅบฆ๏ผŒๅ†ๅˆฐ tRPC ๅ’Œ GraphQL ๅธฆๆฅ็š„ๅ…จๆ ˆ็ฑปๅž‹ๅฎ‰ๅ…จไธŽๅคš็ซฏ่šๅˆใ€‚\\n> - ๅœจๅทฅ็จ‹ๅŒ–ไธŽๆœๅŠก็ซฏๆจกๅ—๏ผŒๆ–‡็ซ ๅ…จ้ขๆ‹ฅๆŠฑ Viteใ€Rsbuild ็ญ‰ๆž้€Ÿๆž„ๅปบๅทฅๅ…ท๏ผŒๅนถๅ‰–ๆžไบ† Next.js/N\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/03.ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผšๅฐ†้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/03.ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผšๅฐ†้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"frontmatter\":{\"date\":\"2026-02-06 15:48:23\",\"title\":\"ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผš้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผš้ขๅฏนๅฑ‚ๅ‡บไธ็ฉท็š„ Promptใ€MCPใ€Skills ๅ’Œ Subagents๏ผŒๅพˆๅคšๅผ€ๅ‘่€…ๅ’Œไบงๅ“็ป็†ๅธธๆ„Ÿๅˆฐๅ›ฐๆƒ‘๏ผš่ฟ™ไบ›็ป„ไปถ็ฉถ็ซŸๆ˜ฏ้‡ๅค้€ ่ฝฎๅญ๏ผŒ่ฟ˜ๆ˜ฏๅ„ๅธๅ…ถ่Œ็š„็งฏๆœจ๏ผŸๆœฌๆ–‡ๅฐ†ๆทฑๅบฆๆ‹†่งฃ Agentic ็”Ÿๆ€็š„ไบ”ๅคงๆ ธๅฟƒๆ”ฏๆŸฑ๏ผŒๆญ็คบๅฆ‚ไฝ•้€š่ฟ‡ไผ˜้›…็š„ๆžถๆž„่ฎพ่ฎกๅฎž็ŽฐๅๅŒ้—ญ็Žฏ๏ผŒๅฐ†้›ถๆ•ฃ็š„ AI ็ป„ไปถๆ‹ผ่ฃ…ๆˆไธ€ๅฅ—ๅฏๆŒ็ปญ่ฟ›ๅŒ–็š„ AI ๅŽŸ็”Ÿๆ“ไฝœ็ณป็ปŸ๏ผŒๆŠŠ็ขŽ็‰‡ๅŒ–็š„ AI ่ƒฝๅŠ›่ฝฌๅŒ–ไธบ้ซ˜ๅฏ็”จ็š„็”ŸไบงๅŠ›ๆตใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/ai-practice/agent_components_zh.png\",\"permalink\":\"/ai-agent/composition-ai-components\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"],\"tags\":[\"Agent\",\"AI\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผš้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"date\":\"2026-02-06 15:48:23\",\"capture\":\"<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/ai-practice/agent_components_zh.png\\\" style=\\\"width: 100%; border-radius: 8px; margin-bottom: 20px;\\\" alt=\\\"about site background\\\">\\n 1. ๅผ•่จ€\\n> ้—ฎ้ข˜๏ผšๅœจๆ™บ่ƒฝไฝ“็”Ÿๆ€้‡Œ๏ผŒๅ„ไธช็ป„ไปถๅˆฐๅบ•ๆ˜ฏๆ€ŽไนˆๅๅŒๅทฅไฝœ็š„๏ผŸ\\nๅฝ“ๅ‰๏ผŒAgent๏ผˆๆ™บ่ƒฝไฝ“๏ผ‰ๆŠ€ๆœฏๅ‘ๅฑ•่ฟ…็Œ›๏ผŒๅ„็ง่ฎพ่ฎกๆจกๅผใ€ๆ ธๅฟƒ็ป„ไปถไธŽๅทฅไฝœๆœบๅˆถๅฑ‚ๅ‡บไธ็ฉทใ€‚้ขๅฏน็นๆ‚็š„ๆ™บ่ƒฝไฝ“็”Ÿๆ€\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/11. LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/11. LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-01-06 15:58:53\",\"title\":\"LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆˆช่‡ณ 2026 ๅนด๏ผŒLLM API ๆœๅŠกๅทฒๅฝขๆˆ\\\"ๅฎ˜ๆ–น็›ด่ฟž + ็ฌฌไธ‰ๆ–น่šๅˆ\\\"็š„ๅŒ่ฝจๆ ผๅฑ€๏ผŒๆจกๅž‹่ƒฝๅŠ›ใ€ๅฎšไปทใ€ๅˆ่ง„ๆ€งไธŽๆŽฅๅ…ฅไพฟๅˆฉๆ€งๅทฎๅผ‚ๆ˜พ่‘—ใ€‚ๆœฌๆ–‡ไปŽ้€‰ๅž‹ๅ‰ๆ้—ฎๅ‡บๅ‘๏ผŒ็ณป็ปŸๆขณ็†ๅ›ฝ้™…ไธŽๅ›ฝๅ†…ไธปๆตๅฎ˜ๆ–น API ๅนณๅฐ๏ผŒไปฅๅŠ OpenRouterใ€็ก…ๅŸบๆตๅŠจ็ญ‰็ฌฌไธ‰ๆ–น่šๅˆๅนณๅฐ็š„ๆ ธๅฟƒ็‰น็‚น๏ผŒๅนถๆไพ›ๅŸบไบŽๅœบๆ™ฏ็š„ๅ†ณ็ญ–ๆก†ๆžถ๏ผŒๅธฎๅŠฉๅผ€ๅ‘่€…ๅ’Œไบงๅ“ๅ›ข้˜Ÿๅฟซ้€Ÿ้”ๅฎšๆœ€้€‚ๅˆ่‡ชๅทฑ็š„ๆ–นๆกˆใ€‚\",\"permalink\":\"/ai-learning/llm-api-resources\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"LLM API\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"date\":\"2026-01-06 15:58:53\",\"capture\":\"1. ้€‰ๆจกๅž‹ๅ‰๏ผŒๅ…ˆๆƒณๆธ…ๆฅš่ฟ™ๅ‡ ไปถไบ‹\\nๅœจๅฏนๆฏ”ๅ…ทไฝ“ๅนณๅฐไน‹ๅ‰๏ผŒๅฏไปŽไปฅไธ‹ๅ››ไธช็ปดๅบฆๆขณ็†่‡ช่บซ่ฏ‰ๆฑ‚๏ผŒ้ฟๅ…\\\"็œผ่Šฑ็ผญไนฑๅŽ้šไพฟ้€‰ไธ€ไธช\\\"๏ผš\\n| ็ปดๅบฆ | ๅ…ณ้”ฎ้—ฎ้ข˜ | ๅฝฑๅ“ๅ†ณ็ญ– |\\n|:-----|:--------|:--------|\\n| ไปปๅŠก็ฑปๅž‹ | ๆ˜ฏ้€š็”จๅฏน่ฏใ€ไปฃ็ ็”Ÿๆˆใ€้•ฟๆ–‡ๆกฃๅˆ†ๆž๏ผŒ่ฟ˜ๆ˜ฏๅคšๆจกๆ€็†่งฃ๏ผŸ | ไธๅŒๆจกๅž‹ๅœจๅž‚็›ด่ƒฝๅŠ›ไธŠๅทฎ่ทๆ‚ฌๆฎŠ |\\n| ๆˆๆœฌ้ข„็ฎ— | ๆฏๆœˆ่ฐƒ็”จ้‡็บง๏ผŸ่ƒฝๅฆๆŽฅๅ—ๆตทๅค–็ป“็ฎ—ไธŽๆฑ‡็އ้ฃŽ้™ฉ๏ผŸ | ๅ›ฝไบงๆจกๅž‹ Token ไปทๆ ผ้€šๅธธไฝŽ 3๏ฝž10 ๅ€ |\\n| ๅˆ่ง„ไธŽ้ƒจ็ฝฒ | ๆ•ฐๆฎ่ƒฝๅฆๅ‡บๅขƒ๏ผŸ่ƒฝๅฆไฝฟ็”จๆตทๅค–ๆœๅŠก๏ผŸๆ˜ฏๅฆ้œ€่ฆ็งๆœ‰ๅŒ–้ƒจ็ฝฒ๏ผŸ | ๆถ‰ๅŠๆ”ฟๅŠก/้‡‘่ž/ๅŒป็–—ๅœบๆ™ฏๅฟ…้กป่€ƒ่™‘ |\\n| ็ฝ‘็ปœ็Žฏๅขƒ | ๅผ€ๅ‘/้ƒจ็ฝฒ็Žฏๅขƒ่ƒฝๅฆ็จณๅฎš่ฎฟ\"}],\"2025 \":[{\"url\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/10.่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"relativePath\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/10.่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"frontmatter\":{\"date\":\"2025-12-06 22:05:50\",\"title\":\"่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"description\":\"่ฝฏไปถๅทฅ็จ‹ๆญฃ็ปๅކไปŽโ€œๆ‰‹ๅ†™้€ป่พ‘โ€ๅ‘โ€œๆ„ๅ›พ่ฐƒๅบฆโ€็š„่Œƒๅผ่ฟๅพ™ใ€‚Anthropic ็š„็ ”็ฉถๆญ็คบไบ† AI ๅนถ้ž็ฎ€ๅ•็š„ๆๆ•ˆๅทฅๅ…ท๏ผŒ่€Œๆ˜ฏ้€š่ฟ‡้‡Šๆ”พ 27% ๆ›พ็ปโ€œไธๅˆ’็ฎ—โ€็š„ๅทฅ็จ‹ไปปๅŠก๏ผŒ้‡ๅก‘ไบ†่ฝฏไปถ่ดจ้‡็š„ๅฏ†ๅบฆใ€‚ๅœจ่‡ช็„ถ่ฏญ่จ€ๅณ็ผ–็จ‹่ฏญ่จ€็š„ๆ—ถไปฃ๏ผŒๆˆ‘ไปฌ้œ€่ฆ้€š่ฟ‡่ง„ๆ ผ้ฉฑๅŠจ๏ผˆSDD๏ผ‰ไธŽๅคšๆ™บ่ƒฝไฝ“็ผ–ๆŽ’๏ผŒ็ ด่งฃโ€œ็›‘็ฃๆ‚–่ฎบโ€ๅธฆๆฅ็š„ๆŠ€่ƒฝๅนณๅบธๅŒ–ๅฑๆœบ๏ผŒๅฐ† AI ็š„ๆฆ‚็އๆ€ง็”Ÿๆˆ้ฉฏๅŒ–ไธบ็กฎๅฎšๆ€ง็š„ๅทฅ็จ‹ไบคไป˜ใ€‚ๅฝ“็ผ–็ ๆˆๆœฌ่ถ‹ไบŽ้›ถ๏ผŒๅทฅ็จ‹ๅธˆ็š„็ปˆๆžๅฃๅž’ๅฐ†ๆ˜ฏๅฎšไน‰ๅฎŒ็พŽ็š„ๅ“ๅ‘ณ๏ผŒไปฅๅŠๅœจ AI ่ฟท้›พไธญ่ฏ†็ ดๅนณๅบธ็š„ๆดžๅฏŸๅŠ›ใ€‚\",\"permalink\":\"/fullstack/ai-change-work-workflow/\",\"top\":true,\"tags\":[\"ๅ…จๆ ˆ\",\"AI\"],\"categories\":[\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"date\":\"2025-12-06 22:05:50\",\"capture\":\"<script setup>\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\nๅœฐๅ€๏ผšHow AI is transforming work at Anthropic\\nๆ ธๅฟƒๆ ‡็ญพ๏ผš`AI่พ…ๅŠฉ็ผ–็จ‹` `ๅทฅ็จ‹` `่Œƒๅผ่ฝฌ็งป` `ๅทฅไฝœ่ฝฌๅž‹` `็”ŸไบงๅŠ›ๆๅ‡` `ๆŠ€่ƒฝๅ‘ๅฑ•` `ไบบๆœบๅไฝœ` \\nไธ€ๅฅ่ฏไป‹็ป๏ผšAnthropic ไธไป…ไป…ๆ˜ฏ AI ๅทฅๅ…ท็š„็”Ÿไบง่€…๏ผŒๆ›ดๆ˜ฏ็ฌฌไธ€ไธช่ฟ›ๅ…ฅโ€œๆœชๆฅๅฎž้ชŒๅฎคโ€็š„ๆทฑๅบฆ่ง‚ๅฏŸ่€…ใ€‚ไป–ไปฌ้€š่ฟ‡ๅ†…้ƒจๆ•ฐๆœˆ็š„ๅฎž้ชŒๆ•ฐๆฎๅ‘Š่ฏ‰ๆˆ‘ไปฌ๏ผšๅคงๆจกๅž‹ๅฏน่ฝฏไปถๅทฅ็จ‹็š„ๆ”น้€ ๏ผŒ็ป้ž็ฎ€ๅ•็š„โ€œๆๆ•ˆโ€๏ผŒ่€Œๆ˜ฏไธ€\"},{\"url\":\"/01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ\",\"frontmatter\":{\"date\":\"2025-11-25 00:52:28\",\"title\":\"AI ็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡ๆทฑๅบฆ่งฃๆžไบ† AI ้ฉฑๅŠจ็ผ–็จ‹็š„ไธ‰ๅคงๆผ”่ฟ›่Œƒๅผ๏ผšVibe Coding๏ผˆ่‡ช็„ถ่ฏญ่จ€้›ถ้—จๆง›ๆž„ๅปบ๏ผ‰ใ€AI IDE๏ผˆ็ผ–่พ‘ๅ™จๆทฑๅบฆ่พ…ๅŠฉๆๆ•ˆ๏ผ‰ๅŠ Agentic Engineering๏ผˆ่‡ชไธปๅทฅ็จ‹ๅธˆๆ‰ง่กŒไปปๅŠก๏ผ‰ใ€‚้€š่ฟ‡ๆจชๅ‘ๅฏนๆฏ” Bolt.newใ€Cursorใ€Claude Code ็ญ‰ๅ‰ๆฒฟๅทฅๅ…ท๏ผŒๆ–‡็ซ ๅ‹พๅ‹’ๅ‡บไธ€ๆกไปŽโ€œๅฟซ้€ŸๅŽŸๅž‹โ€ๅˆฐโ€œ้ซ˜ๆ•ˆๅๅŒโ€ๅ†ๅˆฐโ€œ่‡ชไธปไบคไป˜โ€็š„่ฟ›้˜ถ่ทฏๅพ„ใ€‚ๆ ธๅฟƒๆ—จๅœจๆŒ‡ๅฏผ็”จๆˆทๅˆฉ็”จ AI ๅทฅๅ…ท็Ÿฉ้˜ตๆ‰“็ ดๆŠ€ๆœฏ่พน็•Œ๏ผŒๅฎž็ŽฐไปŽๅˆ›ๆ„ๆ่ฟฐๅˆฐๅทฅไธš็บงไบคไป˜็š„็”ŸไบงๅŠ›้ฃž่ทƒ๏ผŒ้‡ๅก‘่ฝฏไปถๅผ€ๅ‘ๅ…จ็”Ÿๅ‘ฝๅ‘จๆœŸใ€‚\",\"permalink\":\"/ai-learning/ai-coding-resources\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/source_sites_bg.png\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"AI Coding\",\"Vibe Coding\",\"Agentic Engineering\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"AI ็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่\",\"date\":\"2025-11-25 00:52:28\",\"capture\":\"1. ไธ‰็ง็ผ–็จ‹่Œƒๅผ้€Ÿ่งˆ\\n| ่Œƒๅผ | ไธ€ๅฅ่ฏๆ่ฟฐ | ไฝ ็š„่ง’่‰ฒ |\\n|:-----|:---------|:--------|\\n| Vibe Coding | ็”จ่‡ช็„ถ่ฏญ่จ€ๆ่ฟฐ้œ€ๆฑ‚๏ผŒAI ็›ดๆŽฅ็”Ÿๆˆๅฏ่ฟ่กŒ็š„ๅฎŒๆ•ด้กน็›ฎ | ๆ่ฟฐ้œ€ๆฑ‚๏ผŒ่ฎฉ AI ๅ†™ไปฃ็ (```ๆ–ฐๆ‰‹ๅ‹ๅฅฝ```) |\\n| AI IDE | ๅœจ็ผ–่พ‘ๅ™จ้‡Œๅผ•ๅ…ฅ AI ่พ…ๅŠฉ๏ผŒ่พนๅ†™่พน่กฅๅ…จใ€่พน้—ฎ่พนๆ”น | ไธปๅฏผๅผ€ๅ‘๏ผŒ่ฎฉ AI ๅšๅ‰ฏ้ฉพ้ฉถ(```ๆ›ดๅคšๆŽงๅˆถ```) |\\n| Agentic Engineering | AI ไฝœไธบ\\\"่‡ชไธปๅทฅ็จ‹ๅธˆ\\\"๏ผŒๆŽฅๆ”ถไปปๅŠกๅŽ่‡ชๅŠจ่ง„ๅˆ’ๅนถๆ‰ง่กŒๅ…จๅฅ—ไปฃ็ ๅทฅไฝœๆต | ๆไปปๅŠกใ€ๅฎก็ป“ๆžœ๏ผŒ่ฎฉ AI ๆ‰ง่กŒ(```ๆž่‡ดๆๆ•ˆ```) |\\nๆ–ฐๆ‰‹่ทฏ็บฟๅปบ่ฎฎ๏ผšๅ…ˆ\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"frontmatter\":{\"date\":\"2025-11-25 00:52:28\",\"title\":\"ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไธบไพฟไบŽ้ซ˜ๆ•ˆๅˆฉ็”จ AI ๅทฅๅ…ทๆๅ‡ๅญฆไน ใ€ๆœ็ดขๅ’Œๅˆ›ไฝœๆ•ˆ็އ๏ผŒๆœฌๆ–‡็ณป็ปŸๆ•ด็†ไบ†ไธปๆต็š„ AI ๅŠฉๆ‰‹ไธŽๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐ็›ธๅ…ณ่ต„ๆบใ€‚ๅ†…ๅฎนๅˆ†ไธบโ€œAI ๅŠฉๆ‰‹โ€๏ผˆๅฆ‚ ChatGPTใ€Claudeใ€Gemini ็ญ‰ๅฏน่ฏๅผๅŠฉๆ‰‹๏ผ‰ๅ’Œโ€œๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐโ€๏ผˆๅฆ‚ๅ†™ไฝœใ€็ป˜็”ป็ญ‰้ข†ๅŸŸ็š„ AI ๅทฅๅ…ทไธŽๅนณๅฐ๏ผ‰๏ผŒไธ”ๆ ‡ๆณจไบ†ๅ…ถๆ ธๅฟƒ่ƒฝๅŠ›ใ€้€‚ๅˆๅœบๆ™ฏ๏ผŒไปฅๅŠ็‰น่‰ฒไผ˜ๅŠฟใ€‚\",\"permalink\":\"/ai-learning/tools-assistant\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/source_sites_bg.png\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"AI ๅŠฉๆ‰‹\",\"AI ๆœ็ดข\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"date\":\"2025-11-25 00:52:28\",\"capture\":\"1. AI ๅŠฉๆ‰‹\\n> ้€‰ๆ‹ฉๅปบ่ฎฎ๏ผš ่‹ฑๆ–‡ไธบไธป โ†’ ไผ˜ๅ…ˆ ChatGPT / Claude / Gemini๏ผ›ไธญๆ–‡ไธบไธป โ†’ ไผ˜ๅ…ˆ Kimi / DeepSeek / ้€šไน‰ๅƒ้—ฎ๏ผ›้œ€่ฆ่”็ฝ‘ๅฎžๆ—ถไฟกๆฏ โ†’ Gemini / Grok๏ผ›้œ€่ฆๅˆ†ๆž้•ฟๆ–‡ๆกฃ โ†’ Claude / Kimi๏ผ›่ฟฝๆฑ‚ไฝŽๆˆๆœฌๅผ€ๆบ้ƒจ็ฝฒ โ†’ DeepSeekใ€‚\\n>\\n> ๆณจ๏ผš็›ฎๅ‰ๅ›ฝๅค–ๆจกๅž‹๏ผˆๅฆ‚ ChatGPTใ€Claudeใ€Gemini ็ญ‰๏ผ‰ๅœจ่‹ฑๆ–‡ๅค„็†ใ€ๅคšๆจกๆ€่ƒฝๅŠ›ใ€ๆ’ไปถ็”Ÿๆ€ๅ’Œ API ไธฐๅฏŒๆ€ง็ญ‰ๆ–น้ข๏ผŒๆ•ดไฝ“ไธŠไพ็„ถไผ˜ไบŽๅ›ฝๅ†…ๆจกๅž‹๏ผŒ้€‚ๅˆๅฏน่‹ฑๆ–‡ๅˆ›ไฝœใ€ๅคš่ฏญ่จ€ๆฒŸ้€šใ€ๅคๆ‚ๆŽจ็†ใ€ไปฃ็ ๅŠฉๆ‰‹็ญ‰ๅœบๆ™ฏๆœ‰ๆ›ด้ซ˜่ฆๆฑ‚็š„็”จๆˆทใ€‚ไธ่ฟ‡๏ผŒๅ›ฝๅ†…ๆจกๅž‹ๅœจไธญๆ–‡็†่งฃใ€ๆœฌๅœฐๅŒ–ใ€ๅˆ่ง„\"},{\"url\":\"/10.ไบงๅ“ Sense/04.ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–/30.ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹่ฏปๅŽๆ„Ÿ\",\"relativePath\":\"/10.ไบงๅ“ Sense/04.ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–/30.ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹่ฏปๅŽๆ„Ÿ\",\"frontmatter\":{\"date\":\"2025-11-24 21:50:00\",\"title\":\"ๆ”พๅผƒๅขž้•ฟๆ‰งๅฟต๏ผŒไธบไป€ไนˆโ€œๅฐ่€Œ็พŽโ€ๆ‰ๆ˜ฏๅฏๆŒ็ปญไน‹่ทฏ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒ็ง‘ๆŠ€ไบ’่”็ฝ‘่กŒไธš็š„ๅ™ไบ‹้ƒฝ่ขซโ€œไธๆƒœไธ€ๅˆ‡ไปฃไปทๅฎž็Žฐ่ถ…็บฟๆ€งๅขž้•ฟโ€ๆ‰€ไธปๅฏผใ€‚ไปฟไฝ›ๅชๆœ‰ๆ‹ฟๅˆฐๅทจ้ข่ž่ต„ใ€็–ฏ็‹‚ๆ‹›ไบบใ€ๆˆไธบไผฐๅ€ผ็ ด็™พไบฟ็š„ๅบž็„ถๅคง็‰ฉ๏ผŒๆ‰็ฎ—ๅพ—ไธŠๆ˜ฏๆˆๅŠŸ็š„ๅˆ›ไธšใ€‚็„ถ่€Œ๏ผŒ่ฏปๅฎŒ่จๅธŒๅฐ”ยทๆ‹‰ๆ–‡ๅ‰ไบš็š„ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹ๅŽ๏ผŒ็ฌ”่€…่Žทๅพ—ไบ†ไธ€็งๆˆช็„ถไธๅŒ็š„ๅ•†ไธš่ง†่ง’๏ผšไผไธšๅญ˜ๅœจ็š„้ฆ–่ฆ็›ฎ็š„ไธๆ˜ฏไธบไบ†่ž่ต„ๅ’Œๆ‰ฉๅผ ๏ผŒ่€Œๆ˜ฏไธบไบ†้€š่ฟ‡่งฃๅ†ณ้—ฎ้ข˜ๆฅ่Žทๅพ—ๆŒ็ปญ็š„็›ˆๅˆฉใ€‚ ๆœฌๆ–‡็ป“ๅˆไนฆไธญ็š„ๆ ธๅฟƒ่ฎบ็‚นไธŽ่‡ช่บซ็š„็ ”ๅ‘่ง†่ง’๏ผŒๆŠŠๅฐ†่ฟ™ๆœฌไนฆ่ƒŒๅŽ็š„็ป่ฅ้€ป่พ‘ไธŽไบงๅ“ๅ“ฒๅญฆๆขณ็†ไธบๅ‡ ไธชๆ ธๅฟƒๅฑ‚้ข็š„ๆ€่€ƒใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense/small-rule-learn\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"ไบงๅ“ Sense\",\"ๅ•†ไธšๅŒ–\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆ”พๅผƒๅขž้•ฟๆ‰งๅฟต๏ผŒไธบไป€ไนˆโ€œๅฐ่€Œ็พŽโ€ๆ‰ๆ˜ฏๅฏๆŒ็ปญไน‹่ทฏ\",\"date\":\"2025-11-24 21:50:00\",\"capture\":\"ไนฆๅ๏ผšใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹\\nไฝœ่€…๏ผš[็พŽ] ่จๅธŒๅฐ”ยทๆ‹‰ๆ–‡ๅ‰ไบš\\nๆ ธๅฟƒๆ ‡็ญพ๏ผšๆž็ฎ€ๅˆ›ไธš๏ฝœ็คพๅŒบๆœฌไฝ๏ฝœๆŒ็ปญ็›ˆๅˆฉ๏ฝœๅˆ›ไฝœ่€…็ปๆตŽ\\nไธ€ๅฅ่ฏ็ฎ€่ฏ„๏ผšๅœจ็›ฒ็›ฎๅด‡ๆ‹œ่ง„ๆจกๆ‰ฉๅผ ็š„ๅ•†ไธš่ฏญๅขƒไธ‹๏ผŒ่ฟ™ๆ˜ฏไธ€ไปฝๅ†™็ป™็‹ฌ็ซ‹ๅˆ›ไฝœ่€…ไธŽๅผ€ๅ‘่€…็š„ๆธ…้†’ๆŒ‡ๅ—๏ผŒๆ•™ไผšๆˆ‘ไปฌๅฆ‚ไฝ•็”จๆœ€ๅฐ‘็š„่ต„ๆบ๏ผŒ่งฃๅ†ณ็œŸๅฎž็š„็—›็‚น๏ผŒๅนถ่Žทๅพ—้•ฟไน…็š„่‡ช็”ฑใ€‚\\nๆ›ดๅคšไนฆ็ฑๆŽจ่ไฟกๆฏๅฏๅ‚่€ƒ๏ผšไบงๅ“ Sense ไธŽๅ•†ไธšๅŒ–\\n 1. ็คพๅŒบๅ…ˆ่กŒ๏ผšไปŽโ€œๆˆ‘ๆ˜ฏ่ฐโ€ๅˆฐโ€œๆˆ‘่ƒฝไธบ่ฐ่งฃๅ†ณ้—ฎ้ข˜โ€\\nไผ ็ปŸๅ•†ไธš้€ป่พ‘ๅพ€ๅพ€ๆ˜ฏๅ…ˆๆž„ๆ€ไธ€ไธชๅฎๅคง็š„็‚นๅญ๏ผŒ้—ญ้—จ้€ ่ฝฆๆ‰“็ฃจไบงๅ“๏ผŒๆœ€ๅŽๅ†็ ธ้’ฑๅŽปๅธ‚ๅœบไธŠๅฏปๆ‰พ็›ฎๆ ‡็”จๆˆทใ€‚่€Œๆœฌไนฆๆๅ‡บไบ†ไธ€ไธช้ข ่ฆ†ๆ€ง็š„ๅๅ‘่ทฏๅพ„๏ผš็คพๅŒบ $\\\\rightarrow$ ้—ฎ้ข˜ $\\\\rightarrow$ ๆต็จ‹ $\\\\rightarrow$\"},{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/11.React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/11.React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"frontmatter\":{\"date\":\"2025-11-15 09:20:23\",\"title\":\"ไธๆญขไบŽ Fetch๏ผšReact ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"aliases\":[\"SWR\",\"TanStack Query\",\"React\",\"ๆœๅŠก็ซฏ็Šถๆ€\",\"ไน่ง‚ๆ›ดๆ–ฐ\",\"ๅทฅ็จ‹ๅŒ–\"],\"tldr\":\"ๆทฑๅ…ฅ่งฃๆž SWR ็š„ๆž็ฎ€ๅ่ฎฎไธŽ TanStack Query ็š„็ฒพๅฏ†็Šถๆ€ๆœบใ€‚้€š่ฟ‡ๅฏนๆฏ”็ผ“ๅญ˜ๅคฑๆ•ˆใ€ไน่ง‚ๆ›ดๆ–ฐ็ญ‰ๆ ธๅฟƒๅœบๆ™ฏ๏ผŒไธบ้ซ˜ๅคๆ‚ๅบฆ B ็ซฏๅบ”็”จไธŽ่ฝป้‡็บง้กน็›ฎๆไพ›ๆธ…ๆ™ฐ็š„ๆžถๆž„้€‰ๅž‹ๆจกๅž‹ใ€‚\",\"description\":\"ๆทฑๅบฆๅฏนๆฏ” React ็”Ÿๆ€ไธญ SWR ไธŽ TanStack Query ไธคๅคงๆ–นๆกˆใ€‚ไปŽ stale-while-revalidate ๆœบๅˆถๅˆฐๅผ‚ๆญฅ็Šถๆ€ๆœบๆžถๆž„๏ผŒๆถต็›–ไพ่ต–ๆŸฅ่ฏขใ€ๆ•ฐๆฎ่ฝฌๆขๅŠๆžถๆž„็บงไน่ง‚ๆ›ดๆ–ฐๅฎžๆˆ˜ใ€‚ๆ—จๅœจๅธฎๅŠฉๅผ€ๅ‘่€…ๅœจๅคๆ‚ไธšๅŠกไธญๆž„ๅปบ็กฎๅฎšๆ€ง็š„ๆœๅŠก็ซฏ็Šถๆ€ๅŸบๅบงใ€‚\",\"permalink\":\"/fullstack/server-state-management\",\"tags\":[\"SWR\",\"TanStack Query\",\"ๅ‰็ซฏๅทฅ็จ‹\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไธๆญขไบŽ Fetch๏ผšReact ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"date\":\"2025-11-15 09:20:23\",\"capture\":\"1. ๅผ•่จ€\\nๅœจ็Žฐไปฃๅ‰็ซฏๅทฅ็จ‹ไธญ๏ผŒ็Šถๆ€ๅฏไธฅๆ ผๅŒบๅˆ†ไธบ UI ็Šถๆ€๏ผˆUI State๏ผ‰ ไธŽ ๆœๅŠก็ซฏ็Šถๆ€๏ผˆServer State๏ผ‰ ไธค็ฑปใ€‚ๅฏนไบŽ UI ็Šถๆ€็š„็ฎก็†๏ผŒๅผ€ๅ‘่€…ๅทฒ่พƒไธบ็†Ÿๆ‚‰๏ผŒ้€šๅธธๅฏๅ€ŸๅŠฉ `useState`ใ€`useEffect` ็ญ‰ Hooks๏ผŒๆˆ– `zustand`ใ€`jotai` ็ญ‰็Šถๆ€็ฎก็†ๅบ“ๆฅๅฎž็Žฐใ€‚็„ถ่€Œ๏ผŒๆœๅŠก็ซฏ็Šถๆ€็š„็ฎก็†ๅพ€ๅพ€็ผบไน็ปŸไธ€ไธ”้ซ˜ๆ•ˆ็š„่งฃๅ†ณๆ–นๆกˆ๏ผŒๅผ€ๅ‘่€…้€šๅธธ้œ€่ฆ่‡ช่กŒๅฎž็Žฐใ€‚\\nๅœจไผ ็ปŸ็š„ๆ•ฐๆฎ่Žทๅ–ๆต็จ‹ไธญ๏ผŒๆˆ‘ไปฌไธ€่ˆฌไฝฟ็”จ `fetch` ๆˆ– `axios` ๅ‘ๅŽ็ซฏๆˆ– REST API ๅ‘้€ HTTP ่ฏทๆฑ‚๏ผŒ้šๅŽๆ‰‹ๅŠจๅฐ†ๆ•ฐๆฎ่Žทๅ–้€ป่พ‘ไธŽๅ‰็ซฏไธšๅŠก้€ป่พ‘ๅŠ UI ็Šถๆ€็ฎก็†่ฟ›่กŒๆ•ดๅˆ๏ผŒไปฅๅฎŒๆˆๆ•ฐๆฎๅค„็†ๅนถ้ฉฑๅŠจ็•Œ้ขๆ›ดๆ–ฐ\"},{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2025-11-14 22:33:39\",\"title\":\"JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"aliases\":[\"้™ๆ€็ซ™็‚น็”Ÿๆˆๅ™จ\",\"SSG\"],\"tldr\":\"้ข„ๆธฒๆŸ“้™ๆ€้กต้ข + ๅŠจๆ€ API๏ผŒCDN ๅˆ†ๅ‘ๅ…จ็ƒ๏ผŒๆ›ฟไปฃไผ ็ปŸๅŠจๆ€็ฝ‘็ซ™็š„ๅผ€ๅ‘้ƒจ็ฝฒ่Œƒๅผ\",\"description\":\"ไปŽๆ ธๅฟƒๆฆ‚ๅฟตใ€ๅทฅๅ…ท้“พ้€‰ๅž‹๏ผˆNext.js/Vercel/Supabase/Contentful๏ผ‰ๅˆฐไปŽ 0 ๆญๅปบๅšๅฎข็š„ๅฎŒๆ•ดๅฎž่ทต๏ผŒ่ฆ†็›– JAMStack ้€‚็”จไธŽไธ้€‚็”จๅœบๆ™ฏ๏ผŒๅธฎๅŠฉๅˆคๆ–ญไฝ•ๆ—ถ้€‰็”จ่ฏฅๆžถๆž„ใ€‚\",\"permalink\":\"/fullstack/jamstack\",\"tags\":[\"tutorial\",\"jamstack\",\"frontend-architecture\",\"next.js\",\"static-site-generator\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2025-11-14 22:33:39\",\"capture\":\"> \\n> ๅ…ถๆ ธๅฟƒๆœบๅˆถๆ˜ฏๅœจๆž„ๅปบๆ—ถๅฐ†้กต้ข้ข„ๆธฒๆŸ“ไธบ้™ๆ€ HTML/CSS/JS๏ผŒ้ƒจ็ฝฒ่‡ณ CDN ไพ›็”จๆˆทๅฐฑ่ฟ‘ๅŠ ่ฝฝ๏ผŒไป…ๅœจ้œ€่ฆๅŠจๆ€ๆ•ฐๆฎๆ—ถ้€š่ฟ‡ JavaScript ่ฐƒ็”จ API ่Žทๅ–ใ€‚็›ธ่พƒไบŽไผ ็ปŸๅŠจๆ€็ฝ‘็ซ™๏ผŒJAMStack ๅœจๆ€ง่ƒฝใ€ๅฏ้ ๆ€งใ€ๆ‰ฉๅฑ•ๆ€งใ€ๅฎ‰ๅ…จๆ€งๅŠ่ฟ็ปดๆˆๆœฌไธŠๅ…ทๆœ‰ๆ˜พ่‘—ไผ˜ๅŠฟใ€‚\\n> \\n> ๆœฌๆ–‡ๆขณ็†ไบ†ไธปๆตๆž„ๅปบๅทฅๅ…ท๏ผˆGatsbyใ€Next.jsใ€Nuxt.jsใ€11ty๏ผ‰ใ€้™ๆ€ๆ‰˜็ฎกๅนณๅฐ๏ผˆVercelใ€Netlifyใ€Cloudflare Pages๏ผ‰ใ€API/BaaS ๆœๅŠก๏ผˆSupabaseใ€Firebaseใ€Auth0๏ผ‰ๅŠๆ— ๅคด CMS๏ผˆContentfulใ€Sanityใ€Strapi\"},{\"url\":\"/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/40.ๆดžๅฏŸๅŠ›ๆจกๅž‹\",\"relativePath\":\"/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/40.ๆดžๅฏŸๅŠ›ๆจกๅž‹\",\"frontmatter\":{\"date\":\"2025-11-14 16:00:00\",\"title\":\"ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผšๅฆ‚ไฝ•็œ‹้€ไบงๅ“ไธŽๆŠ€ๆœฏ่ƒŒๅŽ็š„็ณป็ปŸ้€ป่พ‘๏ผŸ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆ— ่ฎบๆ˜ฏๅšไบงๅ“ใ€ๆžๆŠ€ๆœฏ๏ผŒ่ฟ˜ๆ˜ฏๅบ”ๅฏนๆ—ฅๅธธๅทฅไฝœไธญ็š„ๅ„็งๆŒ‘ๆˆ˜๏ผŒไฝ ๆ˜ฏๅฆ้‡ๅˆฐ่ฟ‡่ฟ™ๆ ท็š„ๅ›ฐๅขƒ๏ผšๆ˜Žๆ˜ŽๆŒ‰็ป้ชŒ่กŒไบ‹๏ผŒๅดๅฑกๅฑก่ธฉๅ‘๏ผ›ๅˆš่งฃๅ†ณ่กจ้ข้—ฎ้ข˜๏ผŒ้šๆ‚ฃๅˆๅทๅœŸ้‡ๆฅใ€‚้—ฎ้ข˜ๆœชๅฟ…ๅ‡บๅœจๅŠชๅŠ›็จ‹ๅบฆ๏ผŒ่€ŒๅœจไบŽๆˆ‘ไปฌๅช็›ฏ็€่กจ่ฑก๏ผŒๅดๅฟฝ็•ฅไบ†่ƒŒๅŽ็œŸๆญฃ่ตทไฝœ็”จ็š„็ณป็ปŸ๏ผŒๆฒกๆœ‰็œ‹ๆ‡‚่—ๅœจ่ƒŒๅŽ็š„็ณป็ปŸใ€‚ไธบไป€ไนˆๅŒๆ ทๆ˜ฏ่งฃๅ†ณ้—ฎ้ข˜๏ผŒๆœ‰ไบบๅช่ƒฝโ€œๅคด็—›ๅŒปๅคดโ€๏ผŒๆœ‰ไบบๅด่ƒฝ็›ดๅ‡ปๆœฌ่ดจ๏ผŸ่ฟ™็ฏ‡ๆ–‡็ซ ๅฐ†็”จ้€šไฟ—ๆ˜“ๆ‡‚็š„ๆ–นๅผ๏ผŒๅธฆไฝ ๆ‹†่งฃไธ€ๅฅ—ๅฎž็”จ็š„ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผŒ่ฎฉๆˆ‘ไปฌๅญฆไผš้€่ฟ‡็Žฐ่ฑกๆŠ“ไฝๆœฌ่ดจ๏ผŒไปŽๆ นๆบไธŠ่งฃๅ†ณ้—ฎ้ข˜ใ€‚\",\"permalink\":\"/product-sense/insight-model\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"ไบงๅ“ Sense\",\"็ณป็ปŸๆดžๅฏŸๅŠ›\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผšๅฆ‚ไฝ•็œ‹้€ไบงๅ“ไธŽๆŠ€ๆœฏ่ƒŒๅŽ็š„็ณป็ปŸ้€ป่พ‘๏ผŸ\",\"date\":\"2025-11-14 16:00:00\",\"capture\":\"1. ่กจ่ฑก่ƒŒๅŽ่—็€ๅ†ณๅฎšไธ€ๅˆ‡็š„โ€œ็ณป็ปŸ้ป‘็›’โ€\\nๆˆ‘ไปฌๅœจๆ—ฅๅธธๅผ€ๅ‘ๆˆ–ไบงๅ“่ฎพ่ฎกไธญ๏ผŒๆ€ปๆ˜ฏ่ขซๅ„็งโ€œ่กจ่ฑกโ€ๅŒ…ๅ›ด๏ผšDAU ็ช็„ถไธ‹้™ไบ†ใ€็บฟไธŠๅ‡บ็Žฐไบ†ไธ€ไธชๅถ็Žฐ็š„ Bugใ€ๆŸไธชๅŠŸ่ƒฝ็š„่ฝฌๅŒ–็އไธๅŠ้ข„ๆœŸใ€‚ๆˆ‘ไปฌไน ๆƒฏไบ†็›ฏ็€่ฟ™ไบ›็œ‹ๅพ—่ง็š„็ป“ๆžœๆ‰พๅŽŸๅ› ๏ผŒๅดๅฟฝ็•ฅไบ†ไธ€ไธชๆ ธๅฟƒ็œŸ็›ธ๏ผšๆฏไธ€ไธช่กจ่ฑก่ƒŒๅŽ๏ผŒๅ…ถๅฎž้ƒฝ้š่—็€ไธ€ไธช่ฟ่ฝฌๅคๆ‚็š„โ€œ้ป‘็›’ๅญโ€๏ผŒๆญฃๆ˜ฏ่ฟ™ไธช้ป‘็›’ๅญๅ†ณๅฎšไบ†ไบ‹็‰ฉๅ‘ๅฑ•็š„ๅฎข่ง‚่ง„ๅพ‹ใ€‚ๆˆ‘ไปฌๅฏไปฅๆŠŠ่ฟ™ไธช้ป‘็›’ๅญ๏ผŒๅซๅšโ€œ็ณป็ปŸโ€ใ€‚\\n<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/product/system_tips.png\\\" style=\\\"width: 1\"},{\"url\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/21.ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"relativePath\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/21.ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"frontmatter\":{\"date\":\"2025-11-10 12:52:28\",\"title\":\"ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจไฟกๆฏ้ซ˜ๅบฆ้€ๆ˜Ž็š„ๆ—ถไปฃ๏ผŒๆต…ๅฑ‚ไฟกๆฏๅทฎๅทฒ่ขซๅฝปๅบ•ๆŠนๅนณ๏ผŒไฟกๆฏๆœฌ่บซ็š„ไปทๅ€ผไธๆ–ญ็จ€้‡Šใ€‚ไบบไธŽไบบ็š„ๆ ธๅฟƒๅทฎ่ทไธๅ†ๆ˜ฏ่Žทๅ–ไฟกๆฏ็š„ๆธ ้“๏ผŒ่€Œๆ˜ฏ้ซ˜ไฟกๅ™ชๆฏ”ไฟกๆฏ็š„็”„ๅˆซ่ƒฝๅŠ›ใ€ๆทฑๅบฆๆ€่€ƒ่ƒฝๅŠ›ไธŽ่ฝๅœฐๆ‰ง่กŒๅŠ›๏ผŒๅ”ฏๆœ‰ไปฅๆ€่€ƒๆ ก้ชŒไฟกๆฏใ€ไปฅๆ‰ง่กŒ้ชŒ่ฏไปทๅ€ผ๏ผŒๅฝขๆˆโ€œไฟกๆฏ-ๅˆคๆ–ญ-ๅฎž่ทต-ๅ้ฆˆโ€็š„ๆ€่€ƒไธŽๆ‰ง่กŒ้—ญ็Žฏ๏ผŒๆ‰่ƒฝ็ช็ ดไฟกๆฏๅฃๅž’ใ€ๅˆ›้€ ็œŸๆญฃไปทๅ€ผใ€‚\",\"permalink\":\"/growth/distinguish-useful-information\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"ไฟกๆฏ็ญ›้€‰\",\"ไธชไบบๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"date\":\"2025-11-10 12:52:28\",\"capture\":\"ๅœจไบ’่”็ฝ‘ๆŠ€ๆœฏๆ™ฎๅŠ็š„ๅฝ“ไธ‹๏ผŒไฟกๆฏๅทฒไปŽโ€œ็จ€็ผบ่ต„ๆบโ€่ฝฌๅ˜ไธบโ€œๆณ›ๆปฅ่ต„ๆบโ€ใ€‚่ฟ‡ๅŽปไพ่ต–ๅœฐๅŸŸๅทฎใ€็จ€็ผบๆ€ง็š„ๆต…่กจๅฑ‚ไฟกๆฏๅทฎ้€ๆธ่ขซๆŠนๅนณ๏ผŒๅผ€ๅ‘่€…้€š่ฟ‡็ฝ‘็ปœๅฏ่ฝปๆพ่Žทๅ–ๅ„็ฑปๆŠ€ๆœฏๆ–‡ๆกฃใ€่กŒไธšๅŠจๆ€ใ€่ตš้’ฑๆจกๅผ๏ผŒไฝ†็œŸๆญฃ่ƒฝๅฐ†ไฟกๆฏ่ฝฌๅŒ–ไธบไปทๅ€ผ็š„ไปๆ˜ฏๅฐ‘ๆ•ฐไบบใ€‚ๆ ธๅฟƒ็Ÿ›็›พๅทฒไปŽโ€œ่Žทๅ–ไฟกๆฏโ€่ฝฌๅ˜ไธบโ€œ้ฉพ้ฉญไฟกๆฏโ€โ€”โ€”ไฟกๆฏๆœฌ่บซ็š„ไปทๅ€ผๅผฑๅŒ–๏ผŒ่€Œไฟกๆฏ่งฃ่ฏป่ƒฝๅŠ›ใ€่กŒๅŠจๆ‰ง่กŒๅŠ›ใ€็ญ›้€‰็”„ๅˆซๅŠ›ๆˆไธบๆ‹‰ๅผ€ๅทฎ่ท็š„ๅ…ณ้”ฎใ€‚\\n 1. ๆ‰“็ ดโ€œไฟกๆฏๅทฎโ€็š„็ณป็ปŸๆ€ง้”™่ง‰\\n่ฟ‡ๅŽป๏ผŒ็”ฑไบŽๅœฐๅŸŸ้™ๅˆถๅ’Œไผ ๆ’ญไป‹่ดจ็š„็จ€็ผบ๏ผŒ่ตš้’ฑๆˆ–ๆˆๅŠŸ็š„ๆจกๅผๅพ€ๅพ€ๆ˜ฏ็ฒ—ๆ”พ็š„๏ผŒๅปบ็ซ‹ๅœจๆต…่กจๅฑ‚็š„โ€œไฟกๆฏไธๅฏน็งฐโ€ไธŠ๏ผŒไฝ†้š็€ๆŠ€ๆœฏ็š„ๆผ”่ฟ›๏ผŒ่ฟ™็งไฝŽ็ปดๅบฆ็š„ไฟกๆฏๅทฎๆญฃๅœจ่ขซ่ฟ…้€ŸๆŠนๅนณใ€‚ไบบไปฌ็ปๅธธ้™ทๅ…ฅโ€œ่ตšไธๅˆฐ้’ฑ/ๆŠ“ไธไฝๆœบไผšๆ˜ฏๅ› ไธบ็ผบๅฐ‘ไฟกๆฏๅทฎโ€็š„่ฎค็Ÿฅๅๅทฎ๏ผŒไฝ†ๆœฌ่ดจ้—ฎ้ข˜ๅœจไบŽโ€œ\"},{\"url\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"relativePath\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"frontmatter\":{\"date\":\"2025-10-24 11:05:50\",\"title\":\"ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจ AI ้‡ๅก‘่ฝฏไปถๅทฅ็จ‹็š„ไปŠๅคฉ๏ผŒๅ…จๆ ˆไธๅ†ๆ˜ฏๆŠ€ๆœฏ็š„็บฟๆ€งๅ ๅŠ ๏ผŒๆญฃๅœจไปŽโ€œๆŠ€ๆœฏๆ ˆๅ †็ Œโ€่ฝฌๅ‘โ€œ่ฎค็Ÿฅๆ ˆ้‡ๆž„โ€ใ€‚ๆœฌๆ–‡ๆๅ‡บ โ€œ(ๅทฅ็จ‹ + ไบงๅ“) ร— AIโ€ ็š„ๆ–ฐๅ…ฌๅผ๏ผŒๅŠฉๅŠ›ๅผ€ๅ‘่€…ๆž„ๅปบโ€œๆดžๅฏŸ-ๆžถๆž„-ๆ ๆ†โ€่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”๏ผŒๅˆฉ็”จ AI ๆ ๆ†่ฎฉ่‡ชๅทฑ่ฟ›ๅŒ–ไธบไปทๅ€ผๅˆ›้€ ่€…ใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"permalink\":\"/fullstack/ai-native\",\"sticky\":1,\"top\":true,\"tags\":[\"ๅ…จๆ ˆ\",\"AI\",\"ไบงๅ“\"],\"categories\":[\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"date\":\"2025-10-24 11:05:50\",\"capture\":\"<script setup>\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n 1. ๅผ•่จ€\\nๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒๅฝ“ๆˆ‘ไปฌ่ฐˆ่ฎบโ€œๅ…จๆ ˆๅทฅ็จ‹ๅธˆโ€ๆ—ถ๏ผŒ่„‘ๆตทไธญๆตฎ็Žฐ็š„ๅพ€ๅพ€ๆ˜ฏไธ€ๅผ ๅ†—้•ฟไธ”ไปคไบบ็–ฒๆƒซ็š„ๆŠ€ๆœฏๅทฅๅบๆธ…ๅ•ใ€‚\\nๅฐฑๅƒๆˆ‘ๆ›พ็ปไปฅไธบ็š„้‚ฃๆ ท๏ผŒๅ…จๆ ˆๅฐฑๆ˜ฏ็บฟๆ€ง็š„ๆŠ€่ƒฝๅ ๅŠ ไธŽ็‰ฉ็†ๅผ็š„ๆŠ€ๆœฏๆ‹ผๆŽฅ๏ผŒๆ˜ฏไธ€็งไพ้ ไบบๅŠ›ๅŽปๅกซ่กฅๆŠ€ๆœฏ้ธฟๆฒŸ็š„โ€œ่ฅฟ่ฅฟๅผ—ๆ–ฏๅผโ€ๅŠชๅŠ›๏ผš\\n* ็บฟๆ€ง็š„ๆŠ€่ƒฝๅ ๅŠ ๏ผšๆˆ‘ไปฌ่ขซ่ฟซๆˆไธบโ€œๅ…จ่ƒฝๆ‰‹โ€๏ผŒๅทฆๆ‰‹็”จ React/Vue ๆž„ๅปบ็ฒพ็พŽ็š„ UI๏ผŒๅณๆ‰‹็”จ Node/Go ็ผ–ๅ†™้ซ˜ๅนถๅ‘ API๏ผŒไธญ้—ด่ฟ˜่ฆๅค„็†ๆ•ฐๆฎๅบ“็š„ ACI\"},{\"url\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/21.ๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense\",\"relativePath\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/21.ๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense\",\"frontmatter\":{\"date\":\"2025-10-23 16:05:50\",\"title\":\"ๅฝ“โ€œๅฎž็Žฐโ€ไธๅ†ๆ˜ฏๅฃๅž’๏ผšๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense๏ผŸ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ AI ่ฎฉไปฃ็ ็”Ÿๆˆ็š„่พน้™…ๆˆๆœฌ่ถ‹่ฟ‘ไบŽ้›ถ๏ผŒโ€œๆŠ€ๆœฏๅฎž็Žฐโ€ไธๅ†ๆ˜ฏไธๅฏ้€พ่ถŠ็š„ๅฃๅž’๏ผŒโ€œไบงๅ“ๆดžๅฏŸโ€่ƒฝๆž„็ญ‘่ตทๆ–ฐ็š„ๆ ธๅฟƒๆŠคๅŸŽๆฒณใ€‚ๆœฌๆ–‡ๆ‹’็ป็Ž„ๅญฆ๏ผŒๅฐ†ๆŠฝ่ฑก็š„ ไบงๅ“ Sense ่งฃๆž„ไธบไธ‰ไธชๆ ธๅฟƒๆ•ฐๅญฆๅ…ฌๅผ๏ผŒๅนถๆไพ›ไธ€ๅฅ—ๅŸบไบŽโ€œ้€†ๅ‘ๅทฅ็จ‹โ€็š„ๅˆปๆ„็ปƒไน ๆŒ‡ๅ—๏ผŒๅŠฉๅŠ›ๅผ€ๅ‘่€…ๅœจ็ฎ—ๅŠ›่ฟ‡ๅ‰ฉ็š„ๆ—ถไปฃ๏ผŒๅฎŒๆˆไปŽโ€œไปฃ็ ๅทฅๅŒ โ€ๅˆฐโ€œไปทๅ€ผๅˆ›้€ ่€…โ€็š„่ฎค็Ÿฅ่ทƒ่ฟใ€‚\",\"sticky\":1,\"top\":true,\"categories\":[\"ไบงๅ“ Sense\",\"AI\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense/engineer-build-product-sense\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฝ“โ€œๅฎž็Žฐโ€ไธๅ†ๆ˜ฏๅฃๅž’๏ผšๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense๏ผŸ\",\"date\":\"2025-10-23 16:05:50\",\"capture\":\"1. ๅผ•่จ€\\nๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒไบงๅ“ Sense๏ผˆไบงๅ“ๆ„Ÿ๏ผ‰ ่ขซ่ง†ไธบไธ€็ง็Ž„ๅญฆใ€‚ๅฎƒไผผไนŽๆ˜ฏไน”ๅธƒๆ–ฏๅผ็š„็ตๅ…‰ไธ€็Žฐ๏ผŒๆˆ–ๆ˜ฏๅผ ๅฐ้พ™ๅผ็š„โ€œ็‹ฌๆ–ญไธ“่กŒโ€ใ€‚\\nไฝ†ๅฏนไบŽๅคงๅคšๆ•ฐๅทฅ็จ‹ๅธˆใ€ไบงๅ“็ป็†ไนƒ่‡ณ็‹ฌ็ซ‹ๅผ€ๅ‘่€…่€Œ่จ€๏ผŒๅฐ†่ƒฝๅŠ›ๅฏ„ๆ‰˜ไบŽโ€œๅคฉ่ต‹โ€ๆ˜ฏๅฑ้™ฉ็š„ใ€‚ๆˆ‘่ฎคไธบ๏ผŒไบงๅ“ Sense ๅนถ้žไธๅฏๆ‰ๆ‘ธ็š„้ป‘้ญ”ๆณ•๏ผŒ่€Œๆ˜ฏไธ€ๅฅ—็ป่ฟ‡้ซ˜้ข‘่ฎญ็ปƒๅŽๅ†…ๅŒ–ไธบๆœฌ่ƒฝ็š„ๆ€็ปด็ฎ—ๆณ•ใ€‚ ๅฐฑๅƒ่ต„ๆทฑ็จ‹ๅบๅ‘˜็œ‹ๅˆฐไธ€ๆฎตไปฃ็ ๅฐฑ่ƒฝๅ—…ๅ‡บ \\\"Code Smell\\\"๏ผˆไปฃ็ ๅผ‚ๅ‘ณ๏ผ‰๏ผŒ่ต„ๆทฑไบงๅ“ไบบไนŸ่ƒฝๅœจ็žฌ้—ดๅˆคๆ–ญไธ€ไธช้œ€ๆฑ‚ๆ˜ฏโ€œ็œŸ็—›็‚นโ€่ฟ˜ๆ˜ฏโ€œไผช้œ€ๆฑ‚โ€ใ€‚\\nไธ€ไธชๆˆๅŠŸ็š„ไบงๅ“ๅ†ณ็ญ–๏ผŒๅพ€ๅพ€ๅ‘็”Ÿๅœจไธ‰ไธช็ปดๅบฆ็š„ไบคๆฑ‡็‚น๏ผš\\n* ็”จๆˆทไปทๅ€ผๆดžๅฏŸ๏ผˆUser Value Insight๏ผ‰๏ผšไธไป…ๅฌๆ‡‚็”จๆˆท่ฏดโ€œๆƒณ่ฆๆ›ดๅฟซ็š„้ฉฌโ€๏ผŒๆ›ด่ƒฝๆดžๅฏŸไป–ๅ…ถๅฎžโ€œๆƒณๆ›ด\"},{\"url\":\"/40.ๅ…ณไบŽ/01.ๅ…ณไบŽๆˆ‘\",\"relativePath\":\"/40.ๅ…ณไบŽ/01.ๅ…ณไบŽๆˆ‘\",\"frontmatter\":{\"date\":\"2025-08-29 09:40:53\",\"title\":\"ๅ…ณไบŽๆˆ‘\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไปŽ Tech Stack ๅˆฐ Insight Stack๏ผŒๅฝ“ AI ๆŽฅ็ฎกไบ†ๅฎž็Žฐ๏ผŒๆˆ‘ๆ›ดๅ…ณๆณจๆžถๆž„็š„ๆƒ่กกไธŽไบงๅ“็š„ไปทๅ€ผ๏ผŒไธ“ๆณจ๏ผšๅทฅ็จ‹ๅŒ– Spec ไธŽ AI ็ผ–็จ‹็ฃจๅˆ็š„ๅฎž่ทต | Agent ่ฝๅœฐ | ็‹ฌ็ซ‹ไบงๅ“ใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/about_me_chinese.png\",\"permalink\":\"/about/me\",\"categories\":[\"ๅ…ณไบŽ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ…ณไบŽๆˆ‘\",\"date\":\"2025-08-29 09:40:53\",\"capture\":\"ๆˆ‘ๆ˜ฏ่ฐ\\nๆˆ‘ๆ˜ฏไธ€ๅๆ‹ฅๆœ‰ๅ…จๆ ˆ่ƒŒๆ™ฏ็š„ๅผ€ๅ‘่€…, ๆŠ€ๆœฏๅบ•่‰ฒๆบไบŽๅทฅไฝœๅ‡ ๅนดๅŽ็งฏ็ดฏไบ†่พƒไธบๆ‰Žๅฎž็š„ๅทฅ็จ‹ๅŒ–ๅฎž่ทตโ€”โ€”ไปŽๅŸบ็ก€็š„ Web ๅ‰็ซฏๅˆฐๅคๆ‚็š„่ทจๅนณๅฐๅฐ็จ‹ๅบๅŸบ็ก€ๆก†ๆžถ็š„ๆžถๆž„ๅ‡็บง๏ผŒๅ†ๅˆฐๅŸบไบŽ NodeJS ็š„ๆœๅŠก็ซฏๅผ€ๅ‘๏ผŒ่ฟ™ไบ›็ปๅކ้”ป็‚ผไบ†ๆˆ‘ๅฏน็ณป็ปŸๅคๆ‚ๅบฆ็š„ๆŽŒๆŽงๅŠ›ใ€ๅทฅ็จ‹ๅŒ–่ƒฝๅŠ›ไปฅๅŠ้กน็›ฎๆŽจๅŠจไธŽๅ›ข้˜Ÿๅˆไฝœ็š„่ƒฝๅŠ›ใ€‚\\n่‡ช 2023 ๅนด LLM ๆตชๆฝฎๆถŒ็Žฐไปฅๆฅ๏ผŒๆˆ‘ๆทฑๅบฆๆŠ•่บซไบŽ AI ็›ธๅ…ณ็š„ๆŠ€ๆœฏๆŽข็ดขใ€‚ๅœจๅทฅไฝœไธŽไธšไฝ™้กน็›ฎไธญ๏ผŒไธปๅฏผๆˆ–ๅ‚ไธŽไบ†ๅคšไธชๅŸบไบŽๅคงๆจกๅž‹็š„ๅบ”็”จ่ฝๅœฐ๏ผŒ็งฏ็ดฏไบ†ไปŽ Prompt ่ฐƒไผ˜ๅˆฐ Agentic Workflow ็ผ–ๆŽ’็š„ไธ€็บฟ็ป้ชŒ๏ผŒไนŸๅคšๆฌกๅ‚ๅŠ ไบ†ๅ›ฝๅ†… AI ็คพๅŒบ็›ธๅ…ณ็š„ๆŠ€ๆœฏๅˆ†ไบซไธŽไบคๆตๆดปๅŠจ๏ผŒไบ†่งฃไบ† AI ้ข†ๅŸŸๆœ€ๆ–ฐ็š„ๆŠ€ๆœฏ่ถ‹ๅŠฟไธŽๅฎž่ทตใ€‚\\n\\n็›ฎๅ‰๏ผŒๆˆ‘ไธป่ฆๅœจ\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹\",\"frontmatter\":{\"date\":\"2025-08-20 22:51:27\",\"title\":\"่Šไธ€่Š TypeScript ไธญ็š„ๆณ›ๅž‹\",\"tldr\":\"ๆณ›ๅž‹ๅฐ†็ฑปๅž‹ไฝœไธบๅ‚ๆ•ฐ๏ผŒไฝฟไปฃ็ ๅœจๅคš็ง็ฑปๅž‹ไธŠๅฎ‰ๅ…จ่ฟ่กŒ๏ผŒๆ˜ฏ TypeScript ็ฑปๅž‹ๆŠฝ่ฑก็š„ๆ ธๅฟƒ็‰นๆ€งใ€‚\",\"description\":\"ๆœฌๆ–‡็ณป็ปŸ่งฃๆž TypeScript ๆณ›ๅž‹็š„ๆ ธๅฟƒๆฆ‚ๅฟตไธŽๅทฅไฝœๆœบๅˆถ๏ผŒๅฏนๆฏ”ๆณ›ๅž‹ไธŽ any ็ฑปๅž‹็š„ๅทฎๅผ‚๏ผŒๆถต็›–ๆณ›ๅž‹ๅ‡ฝๆ•ฐใ€ๆŽฅๅฃใ€็ฑปใ€็ฑปๅž‹ๅˆซๅ็š„ๅฎž่ทต็”จๆณ•๏ผŒไปฅๅŠๅŸบๆœฌ็ฑปๅž‹็บฆๆŸใ€ๆŽฅๅฃ็บฆๆŸใ€ๅคš้‡็บฆๆŸใ€keyof ็บฆๆŸ็ญ‰้ซ˜้˜ถๆŠ€ๅทงไธŽๆœ€ไฝณๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/typescript-generic-types\",\"tags\":[\"tutorial\",\"typescript\",\"generics\",\"type-system\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่Šไธ€่Š TypeScript ไธญ็š„ๆณ›ๅž‹\",\"date\":\"2025-08-20 22:51:27\",\"capture\":\"1. ๆณ›ๅž‹็š„ๅŸบๆœฌๆฆ‚ๅฟตๅ’Œไฝœ็”จ\\n 1.1 ๆ ธๅฟƒๅฎšไน‰\\nๆณ›ๅž‹๏ผˆGenerics๏ผ‰ ๆ˜ฏ TypeScript ไธญไธ€็งๅผบๅคง็š„็ฑปๅž‹็ณป็ปŸ็‰นๆ€ง๏ผŒๅ…่ฎธๅฎšไน‰็ฑปๅž‹ๅ‚ๆ•ฐๅŒ–็š„็ป„ไปถ๏ผŒไฝฟไปฃ็ ่ƒฝๅคŸๅœจๅคš็ง็ฑปๅž‹ไธŠๅฎ‰ๅ…จ่ฟ่กŒ๏ผŒๅŒๆ—ถไฟๆŒ็ฑปๅž‹ๆฃ€ๆŸฅใ€‚ๆณ›ๅž‹็š„ๆ ธๅฟƒๆ€ๆƒณๆ˜ฏๅฐ†็ฑปๅž‹ไฝœไธบๅ‚ๆ•ฐไผ ้€’็ป™ๅ‡ฝๆ•ฐใ€ๆŽฅๅฃๆˆ–็ฑป๏ผŒๅฎž็Žฐ\\\"็ผ–ๅ†™ไธ€ๆฌก๏ผŒๅค็”จๅคšๆฌก\\\"็š„ๆ•ˆๆžœใ€‚\\n 1.2 ๆณ›ๅž‹ไธŽ any ็ฑปๅž‹็š„ๅฏนๆฏ”\\n| ็‰นๆ€ง | ๆณ›ๅž‹ | any ็ฑปๅž‹ |\\n|------|------|----------|\\n| ็ฑปๅž‹ๅฎ‰ๅ…จ | โœ… ็ผ–่ฏ‘ๆ—ถ่ฟ›่กŒ็ฑปๅž‹ๆฃ€ๆŸฅ | โŒ ๅฎŒๅ…จๅคฑๅŽป็ฑปๅž‹ๆฃ€ๆŸฅ |\\n| ไปฃ็ ๅค็”จ | โœ… ๆ”ฏๆŒๅคš็ง็ฑปๅž‹ๅค็”จ | โœ… ๆ”ฏๆŒๅคš็ง็ฑปๅž‹๏ผŒไฝ†ๅคฑๅŽป็ฑปๅž‹ไฟกๆฏ |\\n| ็ฑปๅž‹ๆŽจๆ–ญ | โœ… \"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2025-08-12 22:47:47\",\"title\":\"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—\",\"tldr\":\"TypeScript ๅฎŒๅ–„็š„็ผ–่ฏ‘ไฝ“็ณปไธŽ่ฐƒ่ฏ•ๅทฅๅ…ท้“พ๏ผŒๆ˜ฏๆž„ๅปบ้ซ˜่ดจ้‡ๅบ”็”จ็š„ๅŸบ็Ÿณใ€‚\",\"description\":\"ๆทฑๅ…ฅ่งฃๆž TypeScript ็ผ–่ฏ‘ๅทฅๅ…ท้“พไธŽ่ฐƒ่ฏ•ไฝ“็ณป๏ผŒๆถต็›– tsconfig.json ๆ ธๅฟƒ้…็ฝฎใ€Monorepo ้กน็›ฎ้…็ฝฎ๏ผˆextends/references๏ผ‰ใ€source map ่ฐƒ่ฏ•ใ€ESLint ไธŽ Jest ๅ•ๅ…ƒๆต‹่ฏ•็ญ‰ๅฎŒๆ•ดๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/typescript-compilation-debugging-guide\",\"tags\":[\"tutorial\",\"typescript\",\"compilation\",\"tooling\",\"eslint\",\"jest\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—\",\"date\":\"2025-08-12 22:47:47\",\"capture\":\"็ผ–ๅ†™ไปฃ็ ๅชๆ˜ฏๅผ€ๅ‘ๅทฅไฝœ็š„่ตท็‚น๏ผŒ็œŸๆญฃๅ†ณๅฎš้กน็›ฎ่ดจ้‡็š„ๆ˜ฏๅŽ็ปญ็š„็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•็Žฏ่Š‚ใ€‚TypeScript ไฝœไธบ JavaScript ็š„้™ๆ€็ฑปๅž‹่ถ…้›†๏ผŒไธไป…ๅธฆๆฅไบ†็ฑปๅž‹ๅฎ‰ๅ…จ๏ผŒๆ›ดๆไพ›ไบ†ๅผบๅคง็š„็ผ–่ฏ‘ๅทฅๅ…ทๅ’Œ่ฐƒ่ฏ•่ƒฝๅŠ›๏ผŒ่ฎฉๆˆ‘ไปฌ่ƒฝๅคŸๆ›ด้ซ˜ๆ•ˆๅœฐๆž„ๅปบๅ’Œ็ปดๆŠคๅฏ้ ็š„ๅบ”็”จ็จ‹ๅบใ€‚\\nๆœฌๆ–‡ๅฐ†ๅฏน TypeScript ้กน็›ฎ็š„็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•่ฟ›่กŒๆขณ็†๏ผŒๅŒ…ๆ‹ฌ็ผ–่ฏ‘ๅทฅๅ…ท TSC ็š„ไฝฟ็”จใ€็ผ–่ฏ‘้€‰้กน็š„้…็ฝฎใ€่ฐƒ่ฏ•ๅทฅๅ…ท็š„ไฝฟ็”จ็ญ‰ใ€‚\\n 1. TypeScript ็ผ–่ฏ‘้…็ฝฎไธŽ tsconfig.json\\nTSC๏ผˆTypeScript Compiler๏ผ‰ๆ˜ฏ TypeScript ๅฎ˜ๆ–นๆไพ›็š„็ผ–่ฏ‘ๅทฅๅ…ท๏ผŒ่ดŸ่ดฃๅฐ† TypeScript ไปฃ็ ๏ผˆ`.ts` ๆˆ– `.tsx`๏ผ‰่ฝฌๆขไธบ J\"},{\"url\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/10.่ฏปไนฆไธ‰่ฆไธ‰ไธ่ฆ\",\"relativePath\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/10.่ฏปไนฆไธ‰่ฆไธ‰ไธ่ฆ\",\"frontmatter\":{\"date\":\"2025-03-06 11:42:20\",\"title\":\"่ฏปไนฆโ€œไธ‰่ฆโ€ๅ’Œโ€œไธ‰ไธ่ฆโ€\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจไฟกๆฏ็ˆ†็‚ธ็š„ๆ—ถไปฃ๏ผŒ่ฏปไนฆไพ็„ถๆ˜ฏ่Žทๅ–ๆทฑๅบฆ็Ÿฅ่ฏ†ๆœ€้ซ˜ๆ•ˆ็š„ๆ–นๅผไน‹ไธ€ใ€‚ไฝ†โ€œๆง่ตทไนฆโ€ๅนถไธ็ญ‰ไบŽโ€œๆœ‰ๆ”ถ่Žทโ€๏ผŒๆ€Žไนˆ่ฏปๅพ€ๅพ€ๆฏ”่ฏปไป€ไนˆๆ›ด้‡่ฆใ€‚ๆœฌๆ–‡ๆ€ป็ป“ไบ†้ซ˜ๆ•ˆ้˜…่ฏป็š„โ€œไธ‰่ฆโ€ไธŽโ€œไธ‰ไธ่ฆโ€๏ผšไปŽๅฎŒๆ•ด้˜…่ฏป่ง‚ๆ‘ฉๅคงๅธˆๆ€็ปดใ€ๅธฆ็€้—ฎ้ข˜ๆž„ๅปบ็Ÿฅ่ฏ†ๆ ‘๏ผŒๅˆฐ้€š่ฟ‡่ฎจ่ฎบๆฃ€้ชŒ็†่งฃ๏ผ›ๅŒๆ—ถๆ้†’้˜…่ฏป่€…่ญฆๆƒ•ๅ“€ๆ€จๅฟƒๆ€ๅฏน้˜…่ฏปๅˆ่กท็š„ๅผ‚ๅŒ–ใ€้ฟๅ…้™ทๅ…ฅๅฏน็‰ฉ็†ๅช’ไป‹็š„โ€œ็Žฉ็‰ฉไธงๅฟ—โ€๏ผŒไปฅๅŠๅˆ‡ๅฟŒ่„ฑ็ฆป็Žฐๅฎž็š„โ€œ็œŸ็ฉบโ€้˜…่ฏปใ€‚้˜…่ฏปไธไป…ๆ˜ฏๅ‘ๅ†…ๆŽข็ดข็š„็ฒพ็ฅžไน‹ๆ—…๏ผŒๆ›ดๆ˜ฏๅ‘ๅค–็†่งฃ็œŸๅฎžไธ–็•Œใ€ๅˆ›้€ ็คพไผšไปทๅ€ผ็š„ๅฎž็”จๅทฅๅ…ทใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/reading_need.png\",\"permalink\":\"/pages/growth/reading-tips\",\"sticky\":1,\"top\":true,\"categories\":[\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\"],\"tags\":[\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ฏปไนฆโ€œไธ‰่ฆโ€ๅ’Œโ€œไธ‰ไธ่ฆโ€\",\"date\":\"2025-03-06 11:42:20\",\"capture\":\"<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/reading_need.png\\\" style=\\\"width: 100%; border-radius: 8px; margin-bottom: 20px;\\\" alt=\\\"about site background\\\">\\n 1. ๆˆ‘ไปฌไธบไป€ไนˆ้œ€่ฆ่ฏปไนฆ๏ผŸ\\n่ฏปไนฆๆ˜ฏไปŽๅค–็•ŒๆŽฅๅ—ไฟกๆฏ็š„ไธ€็งๆ–นๅผ๏ผŒไธŽ่Šๅคฉใ€ๆต่งˆ็ฝ‘้กตใ€ๅฌๆ’ญๅฎขใ€็œ‹็”ต่ง†ๅนถๆ— ๆœฌ่ดจๅŒบๅˆซใ€‚ไฝ†ไนฆ่ฟ™็งๅช’ไป‹ไธŽๅ…ถไป–ไฟกๆฏๅช’ไป‹็›ธๆฏ”๏ผŒๆœ‰ๅ…ถ็‹ฌๆœ‰็š„ไผ˜ๅŠฟ๏ผš\\n- ๆทฑๅบฆไธŽไธฅ่ฐจ๏ผšไนฆ็ฑๅพ€ๅพ€ๆ˜ฏๅˆ›ไฝœ่€…ๅคšๅนดๆ€่€ƒใ€้•ฟๆœŸ\"}],\"2024 \":[{\"url\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/20.่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"relativePath\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/20.่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"frontmatter\":{\"date\":\"2024-06-15 22:23:00\",\"title\":\"่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡็ป“ๅˆไฟ็ฝ—ใƒปๆ ผ้›ทๅŽ„ๅง†ใ€ŠHow to Do Great Workใ€‹ๆ ธๅฟƒ่ง‚็‚น๏ผŒๆŽข่ฎจ AI ๅŽŸ็”Ÿๆ—ถไปฃๅคๅˆๅž‹ไบบๆ‰็š„ๆ ธๅฟƒ็‰น่ดจใ€‚AI ่ฎฉๅŸบ็ก€ๆ‰ง่กŒ่ƒฝๅŠ›ๅฟซ้€Ÿ่ดฌๅ€ผ๏ผŒไบบๆ‰็š„ๆ ธๅฟƒๅฃๅž’ไธๅ†ๆ˜ฏ่งฃๅ†ณ้—ฎ้ข˜๏ผŒ่€Œๆ˜ฏๆๅ‡บไผ˜่ดจ้—ฎ้ข˜ใ€ๅŸนๅ…ป้žๅ…ฑ่ฏ†ๅ“ๅ‘ณใ€‚ๅŒๆ—ถ้œ€ๅšๅฎˆๆ™บๅŠ›่ฏšๅฎž๏ผŒๆ‹ฅๆœ‰ๆ‰“็ ดๅธธ่ง„็š„ๅˆ›ๆ–ฐๅ‹‡ๆฐ”๏ผŒๅ€ŸๅŠฉ AI ๆ”พๅคงไธชไบบๆˆ้•ฟๆ ๆ†๏ผŒไปฅๅฐๅˆ‡ๅฃๅฎž่ทตๅฎž็ŽฐๆŒ‡ๆ•ฐ็บงๆˆ้•ฟใ€‚ไบบ็ฑป็‹ฌๆœ‰็š„ๅฅฝๅฅ‡ๅฟƒ๏ผŒๆ˜ฏ็ช็ ด AI ๅนณๅบธใ€ๅ–ๅพ—ๆฐๅ‡บๆˆๅฐฑ็š„ๆœ€็ปˆๅบ•ๆฐ”ใ€‚\",\"coverImg\":\"/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense/ai-native-composite-talents\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"AI\",\"ๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"date\":\"2024-06-15 22:23:00\",\"capture\":\"> \\n> ๅŽŸๆ–‡ๅœฐๅ€๏ผšhttps://paulgraham.com/greatwork.html\\n> \\n> ๅŽŸๆ–‡ไฝœ่€…๏ผšPaul Graham๏ผˆไฟ็ฝ—ยทๆ ผ้›ทๅŽ„ๅง†๏ผ‰๏ผŒ็ก…่ฐท้กถ็บงๅญตๅŒ–ๅ™จ Y Combinator ๅˆ›ๅง‹ไบบ๏ผŒ่ขซ่ช‰ไธบโ€œ็ก…่ฐทๅˆ›ไธšๆ•™็ˆถโ€๏ผŒไนŸๆ˜ฏ็ปๅ…ธๆŠ€ๆœฏๅ“ฒๅญฆ่‘—ไฝœใ€Š้ป‘ๅฎขไธŽ็”ปๅฎถใ€‹็š„ไฝœ่€…ใ€‚\\n> \\n> ๆ–‡็ซ ่ƒŒๆ™ฏ๏ผšๅŽŸๆ–‡ๆ˜ฏไฟ็ฝ—ยทๆ ผ้›ทๅŽ„ๅง†ไน‹ๅ‰ๅ‡†ๅค‡ไบ†ๅŠๅนดไน‹ไน…็š„้‡็ฃ…้•ฟๆ–‡๏ผŒไป–่ฏ•ๅ›พ่ฎฒๆ˜Ž็™ฝไธ€ไธช้€‚็”จไบŽๆฏไธชไบบ็š„ไธป้ข˜โ€”โ€”ๅฆ‚ไฝ•ๅšๆˆใ€Œๅคงไบ‹ใ€๏ผˆgreat work๏ผ‰ใ€‚้€š่ฏปๅ…จๆ–‡๏ผŒไฝ ไผšๅ‘็Žฐ๏ผŒ่ฟ™ๆ˜ฏไธ€็ฏ‡้žๅธธๅฎž็”จ็š„ๅทฅไฝœๆŒ‡ๅ—๏ผŒๅนถไธ”ๅ…ถไธญ็š„่ฎธๅคšๅ†…ๅฎน๏ผŒ้ƒฝไธŽAIๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰ๆ‰€้œ€่ฆๅ…ทๅค‡็š„็‰น่ดจ้žๅธธไธ€่‡ดใ€‚\\n 1. ๅผ•่จ€๏ผš\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/60.ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/60.ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹\",\"frontmatter\":{\"date\":\"2024-06-14 22:00:00\",\"title\":\"ไธ€ๆฌก็”ฑ Product Sense ้ฉฑๅŠจ็š„ Agent ๆž้™ๅฎž่ทต\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšAI ๆ—ถไปฃ๏ผŒๅ†™ๅฅฝไปฃ็ ๅชๆ˜ฏๅŠๆ ผ็บฟใ€‚ๅœจไธ€ๆฌกๆž้™ๆŒ‘ๆˆ˜่ต›ไธญ๏ผŒๆˆ‘ไปฌ้€š่ฟ‡ๅฏน K12 ่ต›้“็”จๆˆท็—›็‚น็š„็ฒพๅ‡†โ€œ่ง†่ง’ๅˆ‡ๆขโ€๏ผŒๆ‰“้€ ๅ‡บไธ€ๆฌพๆŽˆไบบไปฅๆธ”็š„โ€œๆ•ฐๅญฆ่พ…ๅฏผๅฏผๅธˆโ€ๅนถๆ–ฉ่Žทๅคงๅฅ–ใ€‚ๆœฌๆ–‡ๅค็›˜ไบ† Agent ๆญๅปบ่ƒŒๅŽ็š„ๆ ธๅฟƒ SOP ่ฎพ่ฎก้€ป่พ‘๏ผšๆŠ€ๆœฏ็ปˆ็ฉถ่ฆๅ›žๅฝ’ๅฏน็œŸๅฎžไบบๆ€ง็š„ไฝ“ๅฏŸไธŽๅ…ณๆ€€ใ€‚\",\"coverImg\":\"/img/cover/llm_learning_bg_2.png\",\"permalink\":\"/ai-practice/math-bot\",\"categories\":[\"ai-practice\"],\"tags\":[\"Agent\",\"ไบงๅ“ Sense\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไธ€ๆฌก็”ฑ Product Sense ้ฉฑๅŠจ็š„ Agent ๆž้™ๅฎž่ทต\",\"date\":\"2024-06-14 22:00:00\",\"capture\":\"ๅœจๅˆšๅˆš่ฟ‡ๅŽป็š„ๅ‘จๆœซ๏ผŒๆˆ‘ๅ’Œๅฅฝๅ‹ๅ‚ๅŠ ไบ†ไธ€ๅœบ็”ฑๅƒๅธ† Agent ไธพๅŠž็š„็บฟไธ‹็คพๅŒบๆดปๅŠจใ€‚่ฟ™ๆ˜ฏไธ€ๅœบๅ……ๆปกๆžๅฎข็ฒพ็ฅž็š„โ€œๆž้™ๆŒ‘ๆˆ˜โ€โ€”โ€”ๆˆ‘ไปฌ้œ€่ฆๅœจๆžๅ…ถๆœ‰้™็š„ๆ—ถ้—ดๅ†…๏ผŒไปŽ้›ถๅผ€ๅง‹ๆž„ๆ€ใ€ๆญๅปบๅนถ็Žฐๅœบๅฑ•็คบไธ€ไธชๅฎŒๆ•ด็š„ Agent ๅบ”็”จใ€‚\\nไปคไบบๆƒŠๅ–œ็š„ๆ˜ฏ๏ผŒๆˆ‘ไปฌไธไป…้กบๅˆฉๅฎŒๆˆไบ†ๆž้™ๅผ€ๅ‘๏ผŒๆœ€็ปˆ่ฟ˜ๆ–ฉ่Žทไบ†ๅ…จๅœบ็š„ใ€Œๆœ€ไฝณๅบ”็”จๅฅ–ใ€ใ€‚\\nๅค็›˜่ฟ™ๆฌก็Ÿญๆš‚ๅด้ซ˜ๅฏ†ๅบฆ็š„ๅผ€ๅ‘ไฝ“้ชŒ๏ผŒๆœ€ๅคง็š„ๆ„Ÿ่งฆๆ˜ฏ๏ผšๅœจ AI ๆ—ถไปฃ๏ผŒๅ•็บฏ็š„ๅทฅ็จ‹ๅฎž็Žฐๅทฒ็ปไธๅ†ๆ˜ฏๅ”ฏไธ€็š„ๅฃๅž’๏ผŒ็œŸๆญฃ่ฎฉๅบ”็”จ่„ฑ้ข–่€Œๅ‡บ็š„๏ผŒๆ˜ฏๅฏน็œŸๅฎžไธšๅŠกๅœบๆ™ฏ็š„ๆดžๅฏŸๅŠ›ใ€‚ๅฝ“ (Engineering + Product) ร— AI ็š„้ฃž่ฝฎๅผ€ๅง‹่ฝฌๅŠจๆ—ถ๏ผŒๆŠ€ๆœฏๆ‰่ƒฝ็œŸๆญฃ่ฝฌๅŒ–ไธบ่งฃๅ†ณ้—ฎ้ข˜็š„ๅˆฉๅ™จใ€‚\\nไปฅไธ‹ๆ˜ฏๅ…ณไบŽ่ฟ™ๆฌกโ€œK12 ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹โ€ Agent ๆญๅปบ็š„ๅฎž\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview\",\"frontmatter\":{\"date\":\"2024-05-18 22:49:57\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ไปŽ ES Modules ๅˆฐๅคงๅž‹้กน็›ฎๅˆ†ๅฑ‚ๆžถๆž„ไธŽๅทฅ็จ‹ๅŒ–ๅฎž่ทต๏ผŒๆž„ๅปบๅ…จๆ ˆๆจกๅ—ๅŒ–็Ÿฅ่ฏ†ไฝ“็ณปใ€‚\",\"description\":\"็ณป็ปŸๆขณ็† JavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›๏ผˆIIFEโ†’CJSโ†’ESM๏ผ‰ใ€TypeScript ็ฑปๅž‹ๅขžๅผบใ€ๅˆ†ๅฑ‚ๆžถๆž„ไธŽ DDD ๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/module-programming-practice-guide\",\"tags\":[\"tutorial\",\"ESM\",\"DDD\",\"ๅพฎๅ‰็ซฏ\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2024-05-18 22:49:57\",\"capture\":\"1. ๅผ•่จ€\\nๆจกๅ—ๅŒ–็ผ–็จ‹ๆ˜ฏ็Žฐไปฃ JavaScript/TypeScript ๅผ€ๅ‘็š„ๆ ธๅฟƒๅŽŸๅˆ™๏ผŒๅฎƒ้€š่ฟ‡ๅฐ†ๅคๆ‚็ณป็ปŸๆ‹†ๅˆ†ไธบ็‹ฌ็ซ‹ๅฏๅค็”จ็š„ๆจกๅ—๏ผŒ้™ไฝŽ็ณป็ปŸๅคๆ‚ๆ€งๅนถๆ้ซ˜ๅฏ็ปดๆŠคๆ€งไธŽๅฏๅค็”จๆ€งใ€‚ๅ› ๆญค๏ผŒๆˆ‘ไปฌ้€š่ฟ‡็ณปๅˆ—ๆ–‡็ซ ่ฏฆ็ป†ไป‹็ปไบ†ๆจกๅ—ๅŒ–็š„ๅŸบ็ก€ๆฆ‚ๅฟตใ€ๆผ”่ฟ›ๅކ็จ‹ใ€ไธๅŒ่ง„่Œƒ็š„ๆทฑๅบฆ่งฃๆžใ€TypeScriptๆจกๅ—ๅŒ–ๅขžๅผบใ€ES Modules ๆ ธๅฟƒ่ฏญๆณ•ไธŽๅฎž่ทตใ€ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทตใ€ๅ‰็ซฏๅทฅ็จ‹ๅŒ–ไธญ็š„ๆจกๅ—ๅŒ–ใ€Node.jsไธญ็š„ๆจกๅ—ๅŒ–ๅฎž่ทตใ€ๅคงๅž‹้กน็›ฎไธญ็š„ๆจกๅ—ๅŒ–่ฎพ่ฎกใ€ๆจกๅ—ๅŒ–ไธŽไปฃ็ ็ปดๆŠคไปฅๅŠๆœชๆฅๅ‘ๅฑ•่ถ‹ๅŠฟใ€‚\\nๅ‰้ข็š„็ณปๅˆ—ๆ–‡็ซ ไธป่ฆๆœ‰๏ผš\\n- ๆจกๅ—ๅŒ–็ผ–็จ‹็ผ–็จ‹ๅˆไฝ“้ชŒไธŽๅŸบ็ก€ไป‹็ป\\n- JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\\n- ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒ\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–\",\"frontmatter\":{\"date\":\"2024-05-17 23:33:09\",\"title\":\"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“\",\"tldr\":\"Node.js CJS ไธŽ ESM ๅŒๆจกๅ…ฑๅญ˜๏ผšๆจกๅ—ๅŠ ่ฝฝๆœบๅˆถไธŽๅˆ†ๅฑ‚ๆžถๆž„ๅฎž่ทตใ€‚\",\"description\":\"่งฃๆž Node.js ไธญ CommonJS ไธŽ ES Modules ็š„ๅŒๆจกๅ…ฑๅญ˜็ญ–็•ฅ๏ผŒๆถต็›–ๆจกๅ—ๅŠ ่ฝฝไผ˜ๅ…ˆ็บงใ€็ผ“ๅญ˜ๆœบๅˆถใ€package.json exports ๆกไปถๅฏผๅ‡บๅŠ Monorepo ๆžถๆž„ๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/nodejs-module-programming-summary\",\"abstract\":\"Node.js ๆจกๅ—ๅŒ–็ปๅކไบ†ไปŽ CommonJS ็‹ฌ้œธๅคฉไธ‹ๅˆฐ ES Modules ๅ…จ้ขๆŽฅๅ…ฅ็š„่Œƒๅผ่ฝฌ็งปใ€‚ๅ…ฑๅญ˜็ญ–็•ฅ้€š่ฟ‡ .mjs/.cjs ๅŽ็ผ€ๅ’Œ package.json type ๅญ—ๆฎตๆŽงๅˆถไธค็ง่ง„่Œƒ็š„่พน็•Œ๏ผ›ESM ๅฏ็›ดๆŽฅ import CJS๏ผˆ่‡ชๅŠจๅŒ…่ฃ…ไธบ้ป˜่ฎคๅฏผๅ‡บ๏ผ‰๏ผŒไฝ† CJS ๆ— ๆณ• require ESM ๅฟ…้กปไฝฟ็”จๅŠจๆ€ importใ€‚ๆจกๅ—ๅŠ ่ฝฝ้ตๅพชๆ ธๅฟƒๆจกๅ—ไผ˜ๅ…ˆใ€ๆ–‡ไปถๆจกๅ—ใ€็›ฎๅฝ•ๆจกๅ—๏ผˆindex.js/package.json๏ผ‰ใ€node_modules ้€็บงๆŸฅๆ‰พ็š„ไผ˜ๅ…ˆ็บง๏ผ›require.cache ๅฎž็Žฐๆจกๅ—็ผ“ๅญ˜๏ผŒๆธ…้™ค็ผ“ๅญ˜๏ผˆdelete require.cache[path]๏ผ‰ๆ˜ฏ็ƒญๆ›ดๆ–ฐๅทฅๅ…ท็š„ๆ ธๅฟƒๆ“ไฝœใ€‚package.json exports ๅญ—ๆฎตๆ”ฏๆŒๆกไปถๅฏผๅ‡บ๏ผˆimport/require ่ฟ”ๅ›žไธๅŒๅ…ฅๅฃ๏ผ‰ใ€‚pnpm workspaces ๅ‡ญๅ€Ÿ็กฌ้“พๆŽฅๆœบๅˆถๆˆไธบ็Žฐไปฃ Monorepo ้ฆ–้€‰ใ€‚ๅŽ็ซฏๅˆ†ๅฑ‚ๆžถๆž„๏ผˆAPI/Service/Repository๏ผ‰ๅฎž็Žฐๅ…ณๆณจ็‚นๅˆ†็ฆป๏ผŒๆขๆ•ฐๆฎๅบ“ๅช้œ€ๆ”น Repository ๅฑ‚ใ€‚\",\"tags\":[\"concept\",\"node.js\",\"commonjs\",\"esm\",\"monorepo\",\"layered-architecture\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“\",\"date\":\"2024-05-17 23:33:09\",\"capture\":\"ๅฆ‚ๆžœ่ฏดๆต่งˆๅ™จ็ซฏ็š„ๆจกๅ—ๅŒ–ๆ˜ฏไธบไบ†\\\"ๆŒ‰้œ€ๅŠ ่ฝฝ\\\"๏ผŒ้‚ฃไนˆ Node.js ็š„ๆจกๅ—ๅŒ–ๅˆ™ๆ˜ฏไธบไบ†\\\"ไปฃ็ ็ป„็ป‡\\\"ใ€‚ไฝœไธบๅฐ† JavaScript ๅธฆๅ…ฅๆœๅŠกๅ™จ็ซฏ็š„ๅ…ˆ้ฉฑ๏ผŒNode.js ็ปๅކไบ†ไปŽ CommonJS (CJS) ็‹ฌ้œธๅคฉไธ‹ๅˆฐ ES Modules (ESM) ๅ…จ้ขๆŽฅๅ…ฅ็š„่Œƒๅผ่ฝฌ็งปใ€‚\\nๅœจๆœๅŠกๅ™จ็ซฏ๏ผŒๆจกๅ—ๅŒ–ไธไป…ไป…ๆ˜ฏไธบไบ†ๆ‹†ๅˆ†ไปฃ็ ๏ผŒๆ›ดๆ˜ฏไธบไบ†ๆž„ๅปบๆธ…ๆ™ฐ็š„้กน็›ฎ็ป“ๆž„ใ€็ฎก็†ไพ่ต–ๅ…ณ็ณป๏ผŒไปฅๅŠๅฎž็Žฐไปฃ็ ็š„ๅค็”จไธŽ็ปดๆŠคใ€‚\\n 1. CommonJS ไธŽ ES Modules ๅŒๆจกๅ…ฑๅญ˜\\nๅœจ็Žฐไปฃ Node.js ๅผ€ๅ‘ไธญ๏ผŒๆˆ‘ไปฌ็ปๅธธ้ขไธดไธค็ง่ง„่Œƒไบค็ป‡็š„ๆƒ…ๅ†ตใ€‚่ฟ™ไธไป…ๆ˜ฏๆ–‡ไปถๅŽ็ผ€็š„ๆ”นๅ˜๏ผŒๆ›ดๆ˜ฏๅŒๆญฅไธŽๅผ‚ๆญฅๅŠ ่ฝฝ้€ป่พ‘็š„ๅšๅผˆใ€‚\\nๅ…ฑๅญ˜็ญ–็•ฅ๏ผš\\n1. ๅŽ็ผ€ๅ†ณๅฎš่ฎบ๏ผš`.mjs\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต\",\"frontmatter\":{\"date\":\"2024-05-17 22:30:50\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ๆขณ็†ไธŽๆ€ป็ป“\",\"tldr\":\"ๆŽŒๆก้ซ˜ๅ†…่šไฝŽ่€ฆๅˆๅŽŸๅˆ™๏ผšๆจกๅ—ๅŒ–็ผ–็จ‹็š„่ฎพ่ฎกๅ‡†ๅˆ™ไธŽ็ฒ’ๅบฆๆŽงๅˆถใ€‚\",\"description\":\"็ณป็ปŸๆขณ็†ๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅ…ญๅคงๆ ธๅฟƒๅŽŸๅˆ™๏ผšๅ•ไธ€่Œ่ดฃใ€้ซ˜ๅ†…่šไฝŽ่€ฆๅˆใ€็ฒ’ๅบฆ่ฎพ่ฎกใ€ๅ‘ฝๅ่ง„่ŒƒๅŠๆจกๅ—็‰ˆๆœฌ็ฎก็†๏ผŒ้™„่ฏฆ็ป†็š„ๅทฅ็จ‹ๅฎž่ทตๅปบ่ฎฎไธŽ้ฟๅ‘ๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/fullstack/module-programming-principles-best-practices\",\"abstract\":\"ๅฆ‚ๆžœ่ฏดๆŽŒๆกๆจกๅ—ๅŒ–่ฏญๆณ•ๆ˜ฏๆœฏ๏ผŒ้‚ฃไนˆ็†่งฃๅ…ถ่ƒŒๅŽ็š„่ฎพ่ฎกๅŽŸๅˆ™ๅฐฑๆ˜ฏ้“ใ€‚ๅ•ไธ€่Œ่ดฃๅŽŸๅˆ™ๅผบ่ฐƒๆจกๅ—ๅชๅบ”ๆœ‰ไธ€ไธช่ขซๆ”นๅ˜็š„ๅŽŸๅ› ๏ผŒ้ฟๅ… God Object ๅๆจกๅผใ€‚้ซ˜ๅ†…่šไฝŽ่€ฆๅˆๆ˜ฏ่กก้‡ๆจกๅ—่ดจ้‡็š„็ปˆๆžๆ ‡ๅ‡†โ€”โ€”ๆจกๅ—ๅ†…้ƒจๅ…ƒ็ด ่”็ณป็ดงๅฏ†๏ผŒๆจกๅ—ไน‹้—ดไพ่ต–ๅ…ณ็ณปๅฐฝๅฏ่ƒฝ็ฎ€ๅ•ใ€‚็ฒ’ๅบฆ่ฎพ่ฎก่ฆๆฑ‚ๅ•ไธชๆจกๅ—ไฟๆŒๅœจ 100-500 ่กŒไน‹้—ด๏ผŒๅŠŸ่ƒฝ่ƒฝ็”จไธ€ๅฅ่ฏๆธ…ๆ™ฐๆ่ฟฐ๏ผŒๅ‡บ็Žฐๅคšๅˆ†ๆ”ฏๅคๆ‚้€ป่พ‘ๆ—ถ้€šๅธธๆ˜ฏๆ‹†ๅˆ†ไฟกๅทใ€‚ๅ‘ฝๅ่ง„่Œƒ็ปŸไธ€ๅ›ข้˜ŸๆฒŸ้€š่ฏญๅขƒ๏ผˆkebab-case ๆ–‡ไปถๅใ€camelCase ๆ–นๆณ•ๅใ€PascalCase ็ฑปๅ๏ผ‰ใ€‚ๆจกๅ—็‰ˆๆœฌ็ฎก็†้ตๅพช SemVer ่ฏญไน‰ๅŒ–็‰ˆๆœฌ๏ผŒไธบๅ…ฌๅ…ฑๆจกๅ—็š„็ปดๆŠค่€…ไธŽไฝฟ็”จ่€…ๅปบ็ซ‹ๅฅ‘็บฆใ€‚ๅผบ่ฐƒๆธ…ๆ™ฐ็š„ๆจกๅ—่พน็•Œๆ˜ฏ AI ่พ…ๅŠฉ็ผ–็จ‹ๆ—ถไปฃ AI ๅ‡†็กฎ็†่งฃไปฃ็ ็š„ๅ‰ๆใ€‚\",\"tags\":[\"concept\",\"solid-principles\",\"code-organization\",\"best-practices\",\"naming-conventions\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ๆขณ็†ไธŽๆ€ป็ป“\",\"date\":\"2024-05-17 22:30:50\",\"capture\":\"1. ๅ•ไธ€่Œ่ดฃๅŽŸๅˆ™\\nๆ ธๅฟƒๆ€ๆƒณ๏ผšไธ€ไธชๆจกๅ—ๅบ”ๅฝ“ๆœ‰ไธ”ๅชๆœ‰ไธ€ไธช่ขซๆ”นๅ˜็š„ๅŽŸๅ› ใ€‚\\nๆจกๅ—ไธๅบ”ๆˆไธบๅŠŸ่ƒฝ็š„โ€œๆ‚่ดง้“บโ€ใ€‚ๅฝ“ไธ€ไธชๆจกๅ—ๆ‰ฟๆ‹…ไบ†ๅคชๅคšไธ็›ธๅ…ณ็š„ไธšๅŠก้€ป่พ‘ๆ—ถ๏ผŒๅฎƒ็š„ๅคๆ‚ๅบฆไผšๅ‘ˆๆŒ‡ๆ•ฐ็บงไธŠๅ‡๏ผŒไปปไฝ•ๅพฎๅฐ็š„ๆ”นๅŠจ้ƒฝๅฏ่ƒฝๅผ•ๅ‘ๆ„ๆƒณไธๅˆฐ็š„่ฟž้”ๅๅบ”ใ€‚\\nไปฃ็ ๆผ”็คบ๏ผš\\n```javascript\\n// โœ… ๆŽจ่๏ผš่Œ่ดฃๆ‹†ๅˆ†ๆ˜Ž็กฎ\\n// user-service.js - ไป…ๅค„็†็”จๆˆทๆ•ฐๆฎ็š„ CRUD\\nexport const getUser = async (id) => { /* ... */ };\\n// auth-provider.js - ไป…ๅค„็†้‰ดๆƒ็Šถๆ€ไธŽ้€ป่พ‘\\nexport const login = async (credenti\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"frontmatter\":{\"date\":\"2024-05-16 21:27:36\",\"title\":\"ไปŽ้€ป่พ‘้š”็ฆปๅˆฐ็ฑปๅž‹ๅฅ‘็บฆ๏ผšTypeScript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"tldr\":\"TypeScript ๅฐ†ๆจกๅ—ไพ่ต–ๆๅ‡ไธบ็ผ–่ฏ‘ๆ—ถ็ฑปๅž‹ๅฅ‘็บฆ๏ผŒไปŽ import type ๅˆฐๅฃฐๆ˜Žๆ–‡ไปถใ€‚\",\"description\":\"็ณป็ปŸ่ฎฒ่งฃ TypeScript ๅฏน ES Modules ็š„็ฑปๅž‹ๅขžๅผบ๏ผŒๆถต็›– import type ่ฟ่กŒๆ—ถไผ˜ๅŒ–ใ€ๆŽฅๅฃๅฅ‘็บฆใ€ๅฃฐๆ˜Žๆ–‡ไปถ .d.ts ๅŠ tsconfig ๆจกๅ—ๅŒ–้…็ฝฎใ€‚\",\"permalink\":\"/fullstack/typescript-module-programming-enhancement\",\"tags\":[\"concept\",\"ๅ…จๆ ˆ\",\"typescript\",\"tsconfig\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไปŽ้€ป่พ‘้š”็ฆปๅˆฐ็ฑปๅž‹ๅฅ‘็บฆ๏ผšTypeScript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"date\":\"2024-05-16 21:27:36\",\"capture\":\"1. ๅผ•่จ€\\nๅœจๅŽŸ็”Ÿ JavaScript ๆจกๅ—ๅŒ–่งฃๅ†ณไบ†ไปฃ็ ็ป„็ป‡้—ฎ้ข˜ๅŽ๏ผŒTypeScript๏ผˆTS๏ผ‰่ฟ›ไธ€ๆญฅๅฐ†ๅ…ถๆŽจๅ‘ไบ†ๅทฅไธš็บง้ซ˜ๅบฆใ€‚TS ไธไป…ไป…ๆ˜ฏไธบๆจกๅ—ๆทปๅŠ ไบ†็ฑปๅž‹ๆ ‡ๆณจ๏ผŒๅฎƒ้€š่ฟ‡็ฑปๅž‹ๅฏผๅ‡บๅฏผๅ…ฅใ€็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ใ€ไปฅๅŠๅฃฐๆ˜Žๆ–‡ไปถ็ณป็ปŸ๏ผŒๅฐ†ๆจกๅ—้—ด็š„ไพ่ต–ๅ…ณ็ณปไปŽ็ฎ€ๅ•็š„โ€œไปฃ็ ๅผ•็”จโ€ๆๅ‡ๅˆฐไบ†โ€œๅฅ‘็บฆไบคไบ’โ€ใ€‚\\nๆœฌๆ–‡ๆˆ‘ไปฌๅฐ†่š็„ฆไบŽ TypeScript ๅฆ‚ไฝ•้€š่ฟ‡็ฑปๅž‹็ณป็ปŸๅขžๅผบๆจกๅ—ๅŒ–็ผ–็จ‹๏ผŒๅนถๆŽข่ฎจๅœจ็Žฐไปฃๅทฅ็จ‹๏ผˆๅฐคๅ…ถๆ˜ฏ TS 5.0+ ๆ—ถไปฃ๏ผ‰ไธ‹็š„ๆœ€ไฝณ้…็ฝฎๅฎž่ทตใ€‚\\n 2. ็ฑปๅž‹ๅฏผๅ‡บไธŽๅฏผๅ…ฅ๏ผšๆž่‡ด็š„่ฟ่กŒๆ—ถไผ˜ๅŒ–\\nTypeScript ๅฏน ES Modules ่ฏญๆณ•ๆœ€ๆ˜พ่‘—็š„ๆ‰ฉๅฑ•ๆ˜ฏๆ”ฏๆŒโ€œไป…็ฑปๅž‹โ€๏ผˆType-only๏ผ‰็š„ๅฏผๅ‡บไธŽๅฏผๅ…ฅใ€‚่ฟ™ไธไป…ๆ˜ฏ่ฏญไน‰ไธŠ็š„ๆธ…ๆ™ฐ๏ผŒๆ›ดๆ˜ฏๆ€ง\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"frontmatter\":{\"date\":\"2024-05-14 22:29:32\",\"title\":\"ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒๆ‹ฅๆŠฑๅŽŸ็”Ÿ๏ผšES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"tldr\":\"ES Modules ๆ ธๅฟƒ่ฏญๆณ•ไธŽๆ‰ง่กŒๆจกๅž‹๏ผš้™ๆ€ๅˆ†ๆžๅฆ‚ไฝ•้‡ๅก‘ๅ‰็ซฏๆž„ๅปบๆ•ˆ็އใ€‚\",\"description\":\"ๆทฑๅบฆ่งฃๆž ES Modules ๅ‘ฝๅๅฏผๅ‡บ/ๅฏผๅ…ฅใ€้ป˜่ฎคๅฏผๅ‡บใ€ๅŠจๆ€ๅฏผๅ…ฅ็ญ‰่ฏญๆณ•๏ผŒไปฅๅŠๆจกๅ—ๆ‰ง่กŒ้กบๅบใ€ๅพช็Žฏไพ่ต–ๅค„็†ไธŽ็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ๆœบๅˆถใ€‚\",\"permalink\":\"/fullstack/decode-es-modules\",\"tags\":[\"concept\",\"ESM\",\"static-analysis\",\"Tree-Shaking\",\"circular-dependency\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒๆ‹ฅๆŠฑๅŽŸ็”Ÿ๏ผšES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"date\":\"2024-05-14 22:29:32\",\"capture\":\"> \\n> ็†่งฃ ESM๏ผŒไธไป…ไป…ๆ˜ฏๅญฆไผš import ๅ’Œ export๏ผŒๆ›ด้‡่ฆ็š„ๆ˜ฏ็†่งฃๅฎƒๅฆ‚ไฝ•้€š่ฟ‡็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ๅฝปๅบ•ๆ”นๅ˜ไบ†ๅ‰็ซฏๆž„ๅปบ็š„ๆ•ˆ็އใ€‚\\n 1. ๅ‘ฝๅๅฏผๅ‡บไธŽๅฏผๅ…ฅ๏ผš็ฒพๅ‡†็š„ไปฃ็ ๅผ•็”จ\\nๅ‘ฝๅๅฏผๅ‡บ๏ผˆNamed Exports๏ผ‰ๆ˜ฏ ESM ๆœ€ๅธธ็”จ็š„ๅฝขๅผ๏ผŒๅฎƒๅ…่ฎธไธ€ไธชๆจกๅ—ๆšด้œฒๅคšไธชๆˆๅ‘˜ใ€‚ๅ…ถๆ ธๅฟƒไผ˜ๅŠฟๅœจไบŽ๏ผšๅฏผๅ…ฅๆ–นๅฏไปฅๆŒ‰้œ€ๅผ•ๅ…ฅ๏ผŒไธ” IDE ่ƒฝๆไพ›็ฒพๅ‡†็š„่กฅๅ…จใ€‚\\n่ฏญๆณ•ๅฎž่ทต๏ผš๏ผš\\n```javascript\\n// math.js - ๅ‘ฝๅๅฏผๅ‡บ\\n// ่กŒๅ†…ๅฏผๅ‡บ\\nexport const PI = 3.14159;\\nexport function circleArea(radius) {\\n return PI * rad\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†\",\"frontmatter\":{\"date\":\"2024-05-14 22:26:06\",\"title\":\"JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\",\"tldr\":\"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ็ญ‰ๆ ธๅฟƒ่ง„่Œƒ๏ผŒ้™„็Žฐไปฃ่ฟ็งป็ญ–็•ฅใ€‚\",\"description\":\"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ๅ››ๅคงๆจกๅ—ๅŒ–่ง„่Œƒ็š„ๆ ธๅฟƒ่ฏญๆณ•ไธŽ้€‚็”จๅœบๆ™ฏ๏ผŒ่งฃๆžๅ„่ง„่Œƒ็š„ๅ…ณ้”ฎๅทฎๅผ‚๏ผŒๅนถๆไพ›ไปŽๆ—ง่ง„่Œƒๅ‘ ESM ่ฟ็งป็š„ๅฎžๆ“็ญ–็•ฅใ€‚\",\"permalink\":\"/fullstack/different-module-programming-specifications\",\"tags\":[\"tutorial\",\"CommonJS\",\"AMD\",\"UMD\",\"ESM\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\",\"date\":\"2024-05-14 22:26:06\",\"capture\":\"ๅœจ JavaScript ่ฟ›ๅŒ–ๅฒไธŠ๏ผŒโ€œๆจกๅ—ๅŒ–โ€ๅง‹็ปˆๆ˜ฏไธ€ไธชๆ ธๅฟƒๅ‘ฝ้ข˜ใ€‚ไปŽๆ—ฉๆœŸ script ๆ ‡็ญพๆปกๅคฉ้ฃž็š„โ€œๆททๆฒŒๆ—ถไปฃโ€๏ผŒๅˆฐๅ„่ทฏ่ง„่Œƒ็พค้›„้€้นฟ็š„โ€œๆˆ˜ๅ›ฝๆ—ถไปฃโ€๏ผŒๅ†ๅˆฐๅฆ‚ไปŠ ES Modules ๅฎšไบŽไธ€ๅฐŠ๏ผŒๅผ€ๅ‘่€…ไปฌๅœจ่งฃๅ†ณไพ่ต–็ฎก็†ใ€ไฝœ็”จๅŸŸๆฑกๆŸ“ๅ’Œๅผ‚ๆญฅๅŠ ่ฝฝ็ญ‰้—ฎ้ข˜ไธŠไป˜ๅ‡บไบ†ๅทจๅคง็š„ๅŠชๅŠ›ใ€‚\\nๆœฌๆ–‡ๅฐ†ๅธฆไฝ ๆขณ็† JavaScript ๅކๅฒไธŠๆœ€้‡่ฆ็š„ๅ‡ ็งๆจกๅ—ๅŒ–่ง„่Œƒ๏ผŒไพฟไบŽๆž„ๅปบ่ตทๅ…จๆ ˆๅผ€ๅ‘็š„ๅบ•ๅฑ‚็Ÿฅ่ฏ†ๅ›พ่ฐฑใ€‚\\n 1. CommonJS ่ง„่Œƒ๏ผšNode.js ็”Ÿๆ€็š„ๅŸบ็Ÿณ\\nCommonJS ๆ˜ฏไผด้š Node.js ่ฏž็”Ÿ็š„่ง„่Œƒ,็”ฑ Kevin Dangoor ๆๅ‡บ๏ผŒๅˆ่กทๆ˜ฏ่ฎฉ JavaScript ่„ฑ็ฆปๆต่งˆๅ™จไนŸ่ƒฝๆž„ๅปบๅคๆ‚็š„็ณป็ปŸๅบ”็”จใ€‚ๅฎƒๆ˜ฏ Node.\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€\",\"frontmatter\":{\"date\":\"2024-05-12 22:43:28\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ๏ผšๆฆ‚ๅฟตใ€ๆผ”่ฟ›ไธŽ่ฎพ่ฎกๆจกๅผ\",\"tldr\":\"ไปŽๅ…จๅฑ€ๅ˜้‡ๅˆฐ ES Modules๏ผšJavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›ไธŽๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผๅฎž่ทตใ€‚\",\"description\":\"็ณป็ปŸ่ฎฒ่งฃ JavaScript ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€๏ผŒๆถต็›– IIFEใ€CommonJSใ€ES Modules ่ง„่Œƒๆผ”่ฟ›๏ผŒไปฅๅŠๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผไธŽๆจกๅ—ๅŒ–็š„็ป“ๅˆใ€‚\",\"permalink\":\"/fullstack/frontend-module-programming-basic\",\"tags\":[\"tutorial\",\"javascript\",\"modularization\",\"esm\",\"design-patterns\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ๏ผšๆฆ‚ๅฟตใ€ๆผ”่ฟ›ไธŽ่ฎพ่ฎกๆจกๅผ\",\"date\":\"2024-05-12 22:43:28\",\"capture\":\"1. ๅผ•่จ€\\n้š็€้กน็›ฎ่ง„ๆจกๆ—ฅ็›Š่†จ่ƒ€๏ผŒไปฃ็ ้‡ไปŽๅ‡ ๅƒ่กŒ่ฟ…้€Ÿๅขž้•ฟๅˆฐๆ•ฐไธ‡็”š่‡ณๆ•ฐๅไธ‡่กŒ๏ผŒๅฐ†ๆ‰€ๆœ‰้€ป่พ‘ๅกž่ฟ›ๅฐ‘ๆ•ฐๅ‡ ไธชๆ–‡ไปถ็š„ๅšๆณ•ๆ—ฉๅทฒ้šพไปฅไธบ็ปงใ€‚ๅœจ่ฟ™ๆ ท็š„่ƒŒๆ™ฏไธ‹๏ผŒๆจกๅ—ๅŒ–็ผ–็จ‹ๅบ”่ฟ่€Œ็”Ÿ๏ผŒๆˆไธบ็Žฐไปฃๅ‰็ซฏๅผ€ๅ‘็š„ๆ ‡้…ใ€‚\\nๅฎƒ็š„ๆ ธๅฟƒ็†ๅฟต็ฎ€ๆด่€Œไผ˜้›…๏ผšๅƒๆญ็งฏๆœจไธ€ๆ ท๏ผŒๅฐ†ๅบžๅคงๅคๆ‚็š„็ณป็ปŸๆ‹†่งฃไธบไธ€ไธชไธช็‹ฌ็ซ‹ใ€ๅŠŸ่ƒฝๅ•ไธ€ไธ”ๅฏๅค็”จ็š„ๆจกๅ—๏ผŒ่ฎฉๆฏไธชๆจกๅ—ๅ„ๅธๅ…ถ่Œ๏ผŒๅ†้€š่ฟ‡ๆ ‡ๅ‡†ๆŽฅๅฃ็ตๆดป็ป„ๅˆใ€‚\\n 2. ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ\\nๅœจๆทฑๅ…ฅ็†่ฎบไน‹ๅ‰๏ผŒ่ฎฉๆˆ‘ไปฌๅ…ˆ้€š่ฟ‡ไธ€ไธช็ฎ€ๅ•็š„ JavaScript ็คบไพ‹๏ผŒ็›ด่ง‚ๅœฐๆ„Ÿๅ—ไธ€ไธ‹ไป€ไนˆๆ˜ฏๆจกๅ—ๅŒ–ใ€‚ๅ‡่ฎพๆˆ‘ไปฌ้œ€่ฆๅค„็†ไธ€ไบ›ๆ•ฐๅญฆ่ฟ็ฎ—๏ผŒๆˆ‘ไปฌๅฏไปฅๅฐ†ๅ…ถๅฐ่ฃ…ๆˆไธ€ไธช็‹ฌ็ซ‹็š„ๅทฅๅ…ทๆจกๅ—๏ผš\\n```javascript\\n// math.js - ๅฎšไน‰ไธ€ไธชๆ•ฐๅญฆๅทฅๅ…ทๆจกๅ—\\nexp\"},{\"url\":\"/10.ไบงๅ“ Sense/01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž/11.AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"relativePath\":\"/10.ไบงๅ“ Sense/01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž/11.AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"frontmatter\":{\"date\":\"2024-05-08 08:56:21\",\"title\":\"AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจๅคงๆจกๅž‹้‡ๅก‘ไบ’่”็ฝ‘ไบคไบ’็š„ๅฝ“ไธ‹๏ผŒPerplexity ๅนถๆœช้€‰ๆ‹ฉๆˆไธบโ€œไธ‹ไธ€ไธช Googleโ€๏ผŒ่€Œๆ˜ฏไปฅโ€œ็Ÿฅ่ฏ†ๅ‘็Žฐๅผ•ๆ“Žโ€็š„ๅ…จๆ–ฐๅฎšไฝ๏ผŒ็ฒพๅ‡†ๅˆ‡ๅ…ฅ็Ÿฅ่ฏ†ๅทฅไฝœ่€…็š„ๆ ธๅฟƒๅทฅไฝœๆตใ€‚ๆœฌๆ–‡่ทณๅ‡บๅ•็บฏ็š„ๆจกๅž‹่ƒฝๅŠ›ๅฏนๆฏ”๏ผŒไปŽไบงๅ“ Sense ไธŽๅทฅ็จ‹้€ป่พ‘็š„ๅŒ้‡่ง†่ง’๏ผŒๆทฑๅบฆๆ‹†่งฃ Perplexity ็š„็ ดๅฑ€ไน‹้“ใ€‚ๆˆ‘ไปฌๅฐ†ๆŽข่ฎจๅฎƒๅฆ‚ไฝ•้€š่ฟ‡ๅ็›ด่ง‰็š„ UI ๅˆ›ๆ–ฐ้‡ๅก‘ไบคไบ’่ตท็‚น๏ผŒๅฆ‚ไฝ•ๅœจๅทฅ็จ‹ๅฑ‚้ขๆญป็ฃ•ๅฐพ้ƒจๅปถ่ฟŸไธŽๅนป่ง‰ๆŽงๅˆถ๏ผŒไปฅๅŠๅฎƒๅฆ‚ไฝ•ๅˆฉ็”จๅทจๅคด็š„ๅˆฉๆถฆ็އๆŠคๅŸŽๆฒณๅฎž็Žฐ้”™ไฝ็ซžไบ‰ใ€‚ๆœ€็ปˆ๏ผŒๆˆ‘ไปฌๅฐ†่ง†็บฟๆŠ•ๅ‘ๆœชๆฅ๏ผŒไธ€็ชฅ AI ไปŽ่ขซๅŠจๅ“ๅบ”่ตฐๅ‘ไธปๅŠจๆŽข็ดข็š„ๆผ”่ฟ›่“ๅ›พใ€‚\",\"permalink\":\"/product-sense/perplexity-knowledge-worker\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"AI ๆœ็ดข\",\"็Ÿฅ่ฏ†ๅ‘็Žฐ\",\"ไบงๅ“ Sense\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"date\":\"2024-05-08 08:56:21\",\"capture\":\"1. ๅผ•่จ€\\nๅœจ AI ๆตชๆฝฎไธ‹๏ผŒๆœ็ดขๅผ•ๆ“Ž็š„่Œƒๅผๆญฃๅœจๅ‘็”Ÿ่ฝฌ็งปใ€‚ไฝœไธบๅฝ“ๅ‰ๅค‡ๅ—็žฉ็›ฎ็š„ AI ๆœ็ดขไบงๅ“๏ผŒPerplexity ๅนถๆฒกๆœ‰่ฏ•ๅ›พๆˆไธบโ€œไธ‹ไธ€ไธช Googleโ€๏ผŒ่€Œๆ˜ฏๅฐ†่‡ชๅทฑๅฎšไน‰ไธบ็Ÿฅ่ฏ†ๅ‘็Žฐๅผ•ๆ“Žใ€‚\\nๅฏนไบŽๆฏๅคฉ้œ€่ฆๅค„็†ๆตท้‡ไฟกๆฏใ€่ฟ›่กŒๅคๆ‚ๅ†ณ็ญ–็š„็Ÿฅ่ฏ†ๅทฅไฝœ่€…่€Œ่จ€๏ผŒๅฆ‚ไฝ•้ซ˜ๆ•ˆๅœฐโ€œๅŽปๅ™ชโ€ๅนถ่Žทๅ–้ซ˜ไฟกๅบฆ็Ÿฅ่ฏ†ๆ˜ฏๆ ธๅฟƒ่ฏ‰ๆฑ‚ใ€‚็ฌ”่€…ๅฐ†ไปŽไบงๅ“ไบคไบ’ใ€ๆŠ€ๆœฏๅทฅ็จ‹ใ€ๅ•†ไธš้€ป่พ‘ไธŽๆœชๆฅๆผ”่ฟ›ๅ››ไธช็ปดๅบฆ๏ผŒๅˆ†ๆž Perplexity ๆ˜ฏๅฆ‚ไฝ•้‡ๅก‘ไฟกๆฏ่Žทๅ–ๅทฅไฝœๆต็š„ใ€‚\\nๆœฌๆ–‡ๆ—จๅœจ้€š่ฟ‡ๅฏน Perplexity ็š„ๆทฑๅบฆไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž๏ผŒๅธฎๅŠฉ่ฏป่€…็†่งฃ AI ๆœ็ดขไบงๅ“็š„่ฎพ่ฎก้€ป่พ‘ไธŽ็”จๆˆทไฝ“้ชŒไผ˜ๅŒ–่ทฏๅพ„๏ผŒๅŒๆ—ถไธบ็Ÿฅ่ฏ†ๅทฅไฝœ่€…ๆไพ›ๅฏ่ฝๅœฐ็š„ๆ•ˆ็އๆๅ‡ๆ–นๆณ•๏ผŒๅนถๅœจ่ฟ‡็จ‹ไธญๅŸนๅ…ป็ป“ๆž„ๅŒ–ไบงๅ“ๅˆ†ๆžๆ€็ปดใ€‚\\n\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/70.่ฏ—ๆญŒๅฐ็ฒพ็ต\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/70.่ฏ—ๆญŒๅฐ็ฒพ็ต\",\"frontmatter\":{\"date\":\"2024-04-19 22:15:38\",\"title\":\"้›ถไปฃ็ ไธ็ญ‰ไบŽ้›ถ้€ป่พ‘๏ผš็ป“ๆž„ๅŒ– Prompt ้ฉฑๅŠจไธ‹็š„ Agent ๆญๅปบๅฎžๆˆ˜\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจ Agent ๆฆ‚ๅฟตๆปกๅคฉ้ฃž็š„ๅฝ“ไธ‹๏ผŒๅ†ณๅฎšๅคงๆจกๅž‹ๅฎž้™…่กจ็Žฐ็š„ๅพ€ๅพ€ๆ˜ฏๆœ€ๅบ•ๅฑ‚็š„ System Prompt ่ฎพ่ฎกใ€‚ๆœฌๆ–‡่ฎฐๅฝ•ไบ†ๅ‘จๆœซๅˆฉ็”จๆ–‡ๅฟƒๆ™บ่ƒฝไฝ“ๅนณๅฐๆญๅปบโ€œ่ฏ—ๆญŒๅฐ็ฒพ็ตโ€็š„ๅฎŒๆ•ดๅฎž่ทตใ€‚้€š่ฟ‡ๅฏนๆฏ”โ€œไผ ็ปŸๅคงๆฎตๆ–‡ๆœฌโ€ไธŽโ€œLangGPT ็ป“ๆž„ๅŒ–โ€ไธค็ง Prompt ็š„ๅฎž้™…่พ“ๅ‡บ๏ผŒๆทฑๅบฆๆ‹†่งฃไบ†็ป“ๆž„ๅŒ– Prompt ๅฆ‚ไฝ•ๅƒโ€œๅ†™ไปฃ็ โ€ไธ€ๆ ท่ง„่Œƒ AI ็š„ๆ€่€ƒๅทฅไฝœๆต๏ผŒๆœ‰ๆ•ˆ่งฃๅ†ณๆŒ‡ไปคๆผ‚็งปไธŽๅนป่ง‰้—ฎ้ข˜ใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ๆฌก Prompt ่ฐƒไผ˜ๅฎž้ชŒ๏ผŒๆ›ดๆ˜ฏไธ€ๅœบๅ…ณไบŽ AI ไบงๅ“ Sense ไธŽๆœชๆฅไบคไบ’ๅฝขๆ€็š„ๆŽข็ดขใ€‚\",\"coverImg\":\"/img/cover/llm_learning_bg_2.png\",\"categories\":[\"ai-practice\"],\"permalink\":\"/ai-practice/poetry-bot\",\"tags\":[\"Agent\",\"AI\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"้›ถไปฃ็ ไธ็ญ‰ไบŽ้›ถ้€ป่พ‘๏ผš็ป“ๆž„ๅŒ– Prompt ้ฉฑๅŠจไธ‹็š„ Agent ๆญๅปบๅฎžๆˆ˜\",\"date\":\"2024-04-19 22:15:38\",\"capture\":\"1. ๅฎž่ทต่ƒŒๆ™ฏ\\nๅ‘จๆœซๅœจ็คพๅŒบๆดปๅŠจไธญๅ†ๆฌกๅฌๅˆฐไบ† LangGPT ไฝœ่€…ไบ‘ไธญๆฑŸๆ ‘ๅ…ณไบŽโ€œ็ป“ๆž„ๅŒ–ๆ็คบ่ฏโ€็š„ๅˆ†ไบซ๏ผŒ่ฎฉไบบๆ„Ÿ่งฆ้ข‡ๆทฑใ€‚่™ฝ็„ถๅฝ“ๅ‰ Agent ๆฆ‚ๅฟต็ซ็ƒญ๏ผŒๅฑ‚ๅ‡บไธ็ฉท็š„ๆก†ๆžถ่ฎฉไบบ็œผ่Šฑ็ผญไนฑ๏ผŒไฝ†ๅ›žๅฝ’ๆœฌ่ดจๆˆ‘ไปฌๅฐฑไผšๅ‘็Žฐ๏ผšSystem Prompt ็š„ๅบ•ๅฑ‚่ฎพ่ฎกใ€ไธŠไธ‹ๆ–‡ๅทฅ็จ‹ไปฅๅŠๆŒ‡ไปค้ตๅพชๆœบๅˆถ๏ผŒๆ‰ๆ˜ฏๅ†ณๅฎšไธ€ไธช Agent ็ต้ญ‚็š„ๅ…ณ้”ฎใ€‚\\nๆญฃๅทงๅคงๅ›ข้˜Ÿ่‡ช็ ”็š„้›ถไปฃ็  Agent ๅนณๅฐ่ฟ‘ๆœŸๅ‘ๅธƒไบ†ๆ–ฐ็‰ˆๆœฌ๏ผŒไธบไบ†ไบฒๆต‹ๅนณๅฐๆ€ง่ƒฝๅนถๅฎžๆˆ˜ๆผ”็ปƒ็ป“ๆž„ๅŒ– Prompt ็š„็ผ–ๅ†™ๆŠ€ๅทง๏ผŒๆˆ‘ๅ†ณๅฎšๅˆ›ๅปบไธ€ไธชโ€œ่ฏ—ๆญŒๅฐ็ฒพ็ตโ€ Agentใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ไธช่ถฃๅ‘ณๅฎž้ชŒ๏ผŒๆ›ดๆ˜ฏไธบไบ†ๆŽข็ดข AI ๅœจๆ–‡ๅญฆๅˆ›ไฝœ่ฟ™็งโ€œๆ„Ÿๆ€ง้ข†ๅŸŸโ€ไธญ๏ผŒๅฆ‚ไฝ•้€š่ฟ‡โ€œ็†ๆ€ง็š„็ป“ๆž„็บฆๆŸโ€่พพๅˆฐๆ›ด้ซ˜็š„่พ“ๅ‡บไธŠ้™ใ€‚\\n 2. ๅนณๅฐไธŽ\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2024-03-20 22:41:41\",\"title\":\"ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ๅœจ้œ€ๆฑ‚่พน็•Œๅ†…่ฟฝๆฑ‚ๆœ€ๅฐๅคๆ‚ๅบฆโ€”โ€”ไธๆ˜ฏๆ‹’็ปๅคๆ‚๏ผŒ่€Œๆ˜ฏไธไธปๅŠจๅˆถ้€ ๅคๆ‚ใ€‚\",\"description\":\"ๆทฑๅ…ฅ่งฃๆžๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™ๅœจ็ผ–็จ‹ไธŽ่ฎพ่ฎกไธญ็š„ๅ…ญๅคงๅœบๆ™ฏ๏ผšๆ‹’็ป่ฟ‡ๅบฆ้ข„ๅˆคใ€็งป้™คๅ†—ไฝ™้€ป่พ‘ใ€ๅŒน้…ๆžถๆž„่ง„ๆจกใ€ๅ…‹ๅˆถไพ่ต–ๅผ•ๅ…ฅใ€ๅฐ่ฃ…ๆœ€ๅฐๆŽฅๅฃใ€ๅ…ˆๆŽ’ๆŸฅ็ฎ€ๅ•ๅŽŸๅ› ๏ผŒๅนถ็ป™ๅ‡บไธ‰ไธชๅ…ณ้”ฎ่พน็•Œใ€‚\",\"permalink\":\"/fullstack/occams-razor-software-design\",\"tags\":[\"concept\",\"engineering-fundamentals\",\"code-design\",\"software-engineering\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2024-03-20 22:41:41\",\"capture\":\"<script setup\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n> ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™็”ฑ 14 ไธ–็บช้€ป่พ‘ๅญฆๅฎถๅจๅป‰ยทๅฅฅๅกๅง†ๆๅ‡บ๏ผŒๅ…ถๆ ธๅฟƒไธบ\\\"ๅฆ‚ๆ— ๅฟ…่ฆ๏ผŒๅ‹ฟๅขžๅฎžไฝ“\\\"โ€”โ€”ๅœจๅคšไธชๅŒ็ญ‰ๆœ‰ๆ•ˆ็š„ๆ–นๆกˆไธญ๏ผŒ้€‰ๆ‹ฉๅ‡่ฎพๆœ€ๅฐ‘ใ€ๆœ€็ฎ€ๆด็š„้‚ฃไธชใ€‚่ฏฅๅŽŸๅˆ™ๅนถ้žๅฆๅฎšๅคๆ‚ๆ€ง๏ผŒ่€Œๆ˜ฏ้ฟๅ…ๆ— ๆ„ไน‰็š„่ฟ‡ๅบฆ่ฎพ่ฎกใ€‚ๆ–‡็ซ ไปŽ็ผ–็จ‹ไธŽ่ฎพ่ฎกๅฎž่ทตๅ‡บๅ‘๏ผŒไพๆฌกๆŽข่ฎจไบ†้œ€ๆฑ‚ๅฎž็Žฐใ€ไปฃ็ ๅฎž็Žฐใ€ๆžถๆž„่ฎพ่ฎกใ€ไพ่ต–็ฎก็†ใ€ๆŽฅๅฃ่ฎพ่ฎกใ€่ฐƒ่ฏ•ไผ˜ๅŒ–ๅ…ญๅคงๅœบๆ™ฏ็š„ๅไพ‹ไธŽๆญฃไพ‹๏ผŒๅนถๆ˜Ž็กฎๆŒ‡ๅ‡บไธ‰ไธชๅ…ณ้”ฎ่พน็•Œ๏ผšไธๅฏ็‰บ็‰ฒๅฏ็ปดๆŠคๆ€งใ€ๅฏๆ‰ฉๅฑ•ๆ€งใ€ๅฎ‰ๅ…จๆ€งๆขๅ–็ฎ€ๆดใ€‚\\n 1.\"},{\"url\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"relativePath\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"frontmatter\":{\"date\":\"2024-01-15 22:16:00\",\"title\":\"่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไนฆๆŽฅไธŠๆ–‡ใ€Šๅ‘ๅ†…ๆ€ๅ˜ใ€‹๏ผŒๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ๅœจๅŽ็–ซๆƒ…ๆ—ถไปฃไปŽโ€œ้—ญๅ…ณโ€่ตฐๅ‘โ€œๅ‘ๅค–ไฝ“้ชŒโ€็š„ๅฐ่ฏ•ไธŽๅฟƒๅพ—ใ€‚้ขๅฏนๆœบๆขฐๆ‰ง่กŒๅธฆๆฅ็š„โ€œ็›ฎๆ ‡้šง้“โ€ๆ•ˆๅบ”๏ผŒ็ฌ”่€…ๅฐ่ฏ•่ทณๅ‡บๅ•ไธ€็š„็บฟๆ€ง่ง„ๅˆ’๏ผŒ่ฝฌ่€Œๅฏปๆฑ‚ๆ›ดๅบ•ๅฑ‚็š„่ฎค็Ÿฅ้€ป่พ‘ใ€‚ๆ–‡็ซ ้€š่ฟ‡้‡่ฏปใ€Š่ฆไบ‹็ฌฌไธ€ใ€‹ๅปบ็ซ‹ๅนณ่กก่ง‚๏ผŒๅˆฉ็”จ็ณป็ปŸๆ€็ปด๏ผˆๅขžๅผบ/่ฐƒ่Š‚ๅ›ž่ทฏ๏ผ‰ๆž„ๅปบๆดžๅฏŸๅŠ›๏ผŒๅนถ้‡ๆ–ฐๆ‹พ่ตทๆ•ฐๅญฆๆ€็ปด๏ผˆๆฆ‚็އใ€็จ€็–ๆ€งใ€ๅคšๆ ทๆ€ง๏ผ‰ไธŽ AI ่ง†่ง’ใ€‚่ฟ™ๆ˜ฏไธ€ๆฌกๅ…ณไบŽๅฆ‚ไฝ•็”จ็ง‘ๅญฆๆจกๅž‹ๆ›ฟไปฃๆœบๆขฐๆ‰ง่กŒ๏ผŒไปŽๆœฌ่ดจไธŠ้‡ๆž„ไธชไบบ่ฎค็Ÿฅไฝ“็ณป็š„ๆทฑๅบฆๅค็›˜ใ€‚\",\"permalink\":\"/growth/outer-experience\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/outer_experience_bg.png\",\"sticky\":1,\"top\":true,\"tags\":[\"็ณป็ปŸๆ€็ปด\",\"ๆ•ฐๅญฆๆ€็ปด\",\"ๆจกๅž‹ๆ€็ปด\",\"AI\",\"็–ซๆƒ…\"],\"categories\":[\"ไธชไบบๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"date\":\"2024-01-15 22:16:00\",\"capture\":\"1. ๅ†™ๅœจๅ‰้ข\\nๆ—ถๅ…‰่่‹’๏ผŒ็–ซๆƒ…ๅทฒ็ป็”ฑๆ”พๅผ€็Šถๆ€็ปง็ปญๆผ”ๅ˜ไธบ่ฟ‡ๅŽปๅผ็Šถๆ€๏ผŒๆˆ‘ไปฌไบบ็ฑปไนŸไปŽใ€Ž้—ญๅ…ณใ€่ตฐๅ‘ไบ†ใ€Ž่‡ช็”ฑใ€็š„็คพไผš็”Ÿๆดป็Šถๆ€ใ€‚็ฌ”่€…ไฝœไธบ็คพไผšไธญ็š„ๆ™ฎ้€šไธ€ๅ‘˜๏ผŒ่‡ช็„ถไนŸไธ็ฆปๅค–๏ผŒๅœจ 2023 ๅนดๅˆๆด‹ๆด‹ๆด’ๆด’ๅ†™ไบ†ไธ€็ฏ‡ๅœจๅฅๅบทใ€่ฏปไนฆไธŽๅญฆไน ใ€ๆ—ถ้—ด็ฎก็†ๅ’Œๆททๅˆๅทฅไฝœๅˆถๅ‡ ไธชๆ–น้ข็š„ๅฎž่ทตไธŽ็†่งฃ๏ผˆๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ๏ผ‰๏ผŒๅฐฑๅผ€ๅผ€ๅฟƒๅฟƒๅœฐๅ‘ๅ‰็œ‹๏ผŒๅญฆ็€ๅ‘ๅค–ไฝ“้ชŒไบ†ใ€‚\\n้‚ฃไนˆ้—ฎ้ข˜ๆฅไบ†๏ผŒ็›ธๆฏ”ไน‹ๅ‰ๅ†™ๅ‡บ้•ฟๆ–‡๏ผŒ็ฌ”่€…ๅˆๆ˜ฏ่ฟ‘ไธ€ๅนดๆฒกๆœ‰ๅ‘ๅค–่พ“ๅ‡บ่ฝฏๆ–‡ไบ†ใ€‚ๅ› ๆญค๏ผŒไนฆๆŽฅไธŠๆ–‡๏ผŒๆœฌๆฌก็ปง็ปญๆ–ฐๅขžไธ€็ฏ‡ไธญ็Ÿญๆ–‡๏ผŒๆผซ่ฐˆไธ€ไธ‹็–ซๆƒ…ๅŽ็š„ๅ‘ๅค–ไฝ“้ชŒใ€‚\\nๅœจๅ€’้€ผ่‡ชๅทฑๅ…ณๆณจ่บซไฝ“ๅฅๅบทๅ’Œๆ—ถ้—ด็ฎก็†ๅŽ๏ผŒ่™ฝ็„ถๅœจไฝ“้‡ๅ’Œๆ•ˆ็އไธคไธชๆ–น้ขๆœ‰ไธ€ๅฎš็š„ๆญฃๅ‘ๆ•ˆๆžœ๏ผŒไฝ†็ฌ”่€…ๅœจ่ฟž็ปญๅšๆŒ่ฝๅœฐๆ‹†่งฃๅ‡บๆฅ็š„็›ฎๆ ‡่ฟ‡็จ‹ไธญ๏ผŒๆœ‰ๆ—ถ\"},{\"url\":\"/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/50.็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“\",\"relativePath\":\"/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/50.็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“\",\"frontmatter\":{\"date\":\"2024-01-01 16:00:00\",\"title\":\"็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“\",\"description\":\"ๅฐ†็ปๆตŽๅญฆๆ ธๅฟƒๅŽŸ็†่žๅˆ่ฟ›ไบงๅ“่ฎพ่ฎกๅ…จ็”Ÿๅ‘ฝๅ‘จๆœŸ็š„ๆ–นๆณ•่ฎบไฝ“็ณป๏ผŒๆž„ๅปบ็†ๆ€ง็š„โ€œไบงๅ“Senseโ€ใ€‚\",\"categories\":[\"ไบงๅ“ Sense\"],\"permalink\":\"/product-sense/using-economics-thinking\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“\",\"date\":\"2024-01-01 16:00:00\",\"capture\":\"ๅœจไบงๅ“็ฎก็†็š„ๅนฟ้˜”ๅคฉๅœฐไธญ๏ผŒๆˆ‘ไปฌๅพ€ๅพ€ๅผบ่ฐƒโ€œไบงๅ“ Senseโ€๏ผˆProduct Sense๏ผ‰โ€”โ€”ไธ€็งๅฏน็”จๆˆท้œ€ๆฑ‚ใ€ๅธ‚ๅœบ้ฃŽๅ‘ๅ’ŒๆŠ€ๆœฏๆฝœๅŠ›็š„็›ด่ง‰ๆ€งๆ•ๆ‰ใ€‚็„ถ่€Œ๏ผŒ่ฟ™็ง Sense ็ป้žๅ‡ญ็ฉบ่€Œๆฅ็š„็ตๅ…‰ไน็Žฐ๏ผŒๅฎƒ้œ€่ฆ็จณๅ›บ็š„็†ๆ€งๅœฐๅŸบใ€‚ๅœจไผ—ๅคšๅญฆ็ง‘ไธญ๏ผŒ็ปๆตŽๅญฆๆ— ็–‘ๆไพ›ไบ†ๆœ€ๅบ•ๅฑ‚็š„้€ป่พ‘ๆ”ฏๆŸฑใ€‚\\n็ปๆตŽๅญฆไธไป…ไป…ๆ˜ฏๅ…ณไบŽ้‡‘้’ฑๅ’Œๅธ‚ๅœบ็š„็ง‘ๅญฆ๏ผŒๅฎƒๆ›ดๆ˜ฏไธ€็ง่งฃๅ†ณ้—ฎ้ข˜ใ€ไผ˜ๅŒ–ๅ†ณ็ญ–็š„ๆ–นๅผใ€‚ๅฏนไบงๅ“ไบบ่€Œ่จ€๏ผŒๅ€Ÿ้‰ด็ปๆตŽๅญฆๆ€็ปด๏ผŒๆ„ๅ‘ณ็€่ƒฝๅคŸ็†ๆ™บๅœฐๆƒ่กกๅˆฉๅผŠ๏ผŒๆ›ด็ฒพๅ‡†ๅœฐๅฎšไปท๏ผŒๆ›ดๆทฑๅˆปๅœฐๆดžๅฏŸไบบๆ€ง๏ผŒๆœ€็ปˆๅœจ้”™็ปผๅคๆ‚็š„็บฆๆŸๆกไปถไธ‹๏ผŒๆฑ‚่งฃๅ‡บ็”จๆˆทไปทๅ€ผไธŽๅ•†ไธšไปทๅ€ผๅนถ้‡็š„ๆœ€ไผ˜่งฃใ€‚\\n 1. ็”Ÿๆดป้‡Œ็š„็ปๆตŽๅญฆๆดžๅฏŸโ€”โ€”ๆดžๅฏŸไธไป…ๆ˜ฏๅ…ณไบŽ้œ€ๆฑ‚๏ผŒๆ›ดๆ˜ฏๅ…ณไบŽๆˆๆœฌไธŽๅšๅผˆ\\nๆˆ‘ไปฌๅธธ่ขซๆ—ฅๅธธ็Žฐ่ฑก็š„โ€œๅˆ็†ๆ€งโ€ๆ‰€่ฟทๆƒ‘๏ผŒ่€Œ็ปๆตŽๅญฆ\"},{\"url\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/01.ๅฅฝไนฆๆŽจ่\",\"relativePath\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/01.ๅฅฝไนฆๆŽจ่\",\"frontmatter\":{\"title\":\"ๅฅฝไนฆๆŽจ่\",\"date\":\"2024-01-01 16:00:00\",\"description\":\"่ฏปไนฆๅฟƒๅพ—ใ€ๆŽจ่ไนฆ็ฑๅ’Œ้˜…่ฏปๆŠ€ๅทง\",\"categories\":[\"growth\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/books_reading_bg.png\",\"permalink\":\"/growth/books\",\"tags\":[\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\",\"่ต„ๆบๆŽจ่\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฅฝไนฆๆŽจ่\",\"date\":\"2024-01-01 16:00:00\",\"capture\":\"<script setup\\n import BookRecommend from './@fragment/BookRecommend.vue'\\n import {aiBooks, productSenseBooks, businessBooks, efficiencyBooks, growthBooks, humanSocialBooks, healthBooks} from './@fragment/recommends-data.ts'\\n</script>\\n 1. AI ไธŽๆ•ฐๅญฆๆ€็ปด\\n> ๅœจๅคงๆจกๅž‹ๅ‘ๅฑ•ๆ—ฅๆ–ฐๆœˆๅผ‚็š„ไปŠๅคฉ๏ผŒ็†่งฃ AI ๆœฌ่ดจไธŠๆ˜ฏๅœจๅ‡็บงๆˆ‘ไปฌ่ต„ๆทฑ็š„โ€œ่ฎค็Ÿฅๆ“\"}],\"2023 \":[{\"url\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"relativePath\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"frontmatter\":{\"date\":\"2023-01-08 10:23:50\",\"title\":\"ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅฆ‚ไฝ•้ฟๅ…ๅ†…่€—๏ผŸๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ไธ‰ๅนด้—ด็š„โ€œ่‡ชๆˆ‘้‡ๆž„โ€ๅฎž้ชŒใ€‚ๆ–‡็ซ ๆ‘’ๅผƒไบ†ๅ•็บฏ็š„ๆƒ…็ปชๅฎฃๆณ„๏ผŒ่€Œๆ˜ฏๅˆฉ็”จๅˆ†่งฃๆณ•ใ€ๆธ่ฟ›ๆ˜Ž็ป†ๅ’Œ็ปŸ่ฎกๅˆ†ๆž็ญ‰ๅทฅ็จ‹ๆ€็ปด๏ผŒๅฏนๅฅๅบท้ฅฎ้ฃŸใ€็Ÿฅ่ฏ†ไฝ“็ณปใ€ๆ—ถ้—ดๅˆ†้…ๅŠ่ฟœ็จ‹ๅไฝœ่ฟ›่กŒไบ†็ณป็ปŸๅŒ–ๆ”น้€ ใ€‚่ฟ™ๆ˜ฏไธ€ไปฝๅ…ณไบŽๅฆ‚ไฝ•ๅœจๆ— ๅธธ็š„ๅค–้ƒจ็Žฏๅขƒไธญ๏ผŒๅปบ็ซ‹ๅ†…ๅœจ็กฎๅฎšๆ€ง็งฉๅบ็š„่กŒๅŠจๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/growth/inner-experience\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/refactor_life.png\",\"sticky\":1,\"top\":true,\"categories\":\"ไธชไบบๆˆ้•ฟ\",\"tags\":[\"ๅฅๅบท\",\"ๆ—ถ้—ด\",\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\",\"่ฟœ็จ‹ๅไฝœ\",\"็–ซๆƒ…\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"date\":\"2023-01-08 10:23:50\",\"capture\":\"<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/refactor_life.png\\\" alt=\\\"็›ฎๆ ‡ๅˆฐ่ทต่กŒๆ€็ปดๆต็จ‹็คบๆ„ๅ›พ\\\" style=\\\"width: 100%; border-radius: 8px;\\\" />\\n ๅ†™ๅœจๅ‰้ข\\n่‡ชๅŽปๅนด 7 ๆœˆไปฝ่ฟ็งปๅ‡ ็ฏ‡ๆ—งๆ–‡ๅŽ๏ผŒ็ฌ”่€…ๅฐฑๆฒกๆœ‰็ปง็ปญๅ†™่ฝฏๆ–‡ไบ†๏ผŒๆƒณไธๅˆฐๅ†ๆฌกๅ†™ๆ–‡็ซ ๆ—ถ็–ซๆƒ…ๆ”ฟ็ญ–ๅทฒ็ป่ฐƒๆ•ด๏ผŒไธ”ๅˆๆญฅๅฎž็Žฐไบ†ๅผ€ๆ”พใ€‚้‚ฃไนˆ้—ฎ้ข˜ๆฅไบ†๏ผŒไธบไป€ไนˆ่ฆ็ปง็ปญๅ†™ๆ–‡็ซ ๅ‘ข๏ผŸๆฆ‚ๆ‹ฌๆฅ่ฎฒ๏ผŒๆœ‰ไธคไธชๆ–น้ข็š„ๅŽŸๅ› ๏ผš\\n* ็›ดๆŽฅๅŽŸๅ› ๏ผš็–ซๆƒ…่ฟ™ไธ‰ๅนด๏ผŒๆฏไธชไบบ้ƒฝไฝ“้ชŒๅˆฐไบ†ไธๅŒไบŽไน‹ๅ‰็š„ โ€œ้šพโ€๏ผŒไนŸ้ƒฝๆœ‰\"}],\"2022 \":[{\"url\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/20.ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹้˜ถๆฎต้š็ฌ”ๆฑ‡ๆ€ป\",\"relativePath\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/20.ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹้˜ถๆฎต้š็ฌ”ๆฑ‡ๆ€ป\",\"frontmatter\":{\"date\":\"2022-09-12 08:16:00\",\"title\":\"็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ”นๅ–„็š„ๆ–นๅผๆŽจๅŠจๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไปŽโ€œไนฆ็”Ÿๆ„ๆฐ”โ€ๅˆฐๅˆๅ…ฅ็คพไผš็š„โ€œไธญๅนดๆฒน่…ปโ€ๅฑๆœบ๏ผŒไธ€ๆฌกๅฅๅบท่ญฆๆŠฅ่ฎฉ็ฌ”่€…ๅผ€ๅฏไบ†่ฟ™ๅœบๆทฑๅˆป็š„่‡ชๆˆ‘ๅฏน่ฏไธŽ่กŒๅŠจใ€‚ๆœฌๆ–‡่ฏฆ็ป†ๅค็›˜ไบ†็ฌ”่€…ไปŽๅฅๅบทๅฑๆœบๅ‡บๅ‘๏ผŒ้€š่ฟ‡ๅ››ไธช้˜ถๆฎต็š„ๅพชๅบๆธ่ฟ›๏ผŒๆˆๅŠŸๅฎž็Žฐไฝ“้‡็ฎก็†็š„่ฟ‡็จ‹ใ€‚ๅŒบๅˆซไบŽ็›ฒ็›ฎ่ทŸ้ฃŽ๏ผŒ็ฌ”่€…ๅœจๅฎž่ทตไธญๅผ•ๅ…ฅไบ†็›ฎๆ ‡ๆ‹†่งฃใ€ๆ•ฐๆฎ็›‘ๆŽง๏ผˆไฝ“่„‚็งคๆŒ‡ๆ ‡๏ผ‰ใ€่ทจ้ข†ๅŸŸ็ป้ชŒ่ฟ็งป๏ผˆๅฆ‚้กน็›ฎ็ฎก็†ใ€ๆ—ถ้—ด็ฎก็†๏ผ‰ไปฅๅŠๅฏนไธๅŒ็ญ–็•ฅ๏ผˆๅฆ‚ๆŽงๅˆถ้ฅฎ้ฃŸใ€ๅŠ ๅคงๆ— ๆฐง่ฟๅŠจใ€ๅฐ่ฏ•ไธๅƒไธป้ฃŸ๏ผ‰็š„่พฉ่ฏ้‡‡็บณใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ไปฝๅ‡่‚ฅ่ฎฐๅฝ•๏ผŒๆ›ดๆ˜ฏไธ€ๆฌก็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ€็ปด้‡ๆž„็”Ÿๆดป็งฉๅบใ€ๅฎž็Žฐ่บซๅฟƒๅ‡็บง็š„ๅฎžๆ“ๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/growth/weight-loss\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/health_bg.png\",\"top\":true,\"tags\":[\"ๅฅๅบท\",\"่ฟๅŠจ\"],\"categories\":[\"ไธชไบบๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ”นๅ–„็š„ๆ–นๅผๆŽจๅŠจๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹\",\"date\":\"2022-09-12 08:16:00\",\"capture\":\"ๅ†™ๅœจๅ‰้ข\\nๅœจ็ปๆตŽๅฟซ้€Ÿๅ‘ๅฑ•็š„ๅคง่ƒŒๆ™ฏไธ‹๏ผŒไธ€ๆ‰นๅˆไธ€ๆ‰น็š„ๅคงๅญฆ็”Ÿ้™†็ปญ่ตฐๅ‡บๆ ก้—จ่ฟ›ๅ…ฅ็คพไผšๅคง่ˆžๅฐใ€‚้š็€ๅนด้พ„ไธŽๅทฅไฝœๅนด้™็š„ๅขž้•ฟ๏ผŒไธ็Ÿฅ็ฝฎ่บซไบŽๅ…ถไธญ็š„ไฝ ๆ˜ฏๅฆๆ„Ÿๆ…จ่ฟ‡่‡ชๅทฑๅœจ้˜…ๅކไธŠไปŽโ€œไนฆ็”Ÿๆ„ๆฐ”โ€ๆธๆธๆผ”ๅ˜ไธบโ€œๅ››ๅนณๅ…ซ็จณ๏ผŒๆธธๅˆƒๆœ‰ไฝ™โ€๏ผ›ๅœจ่บซไฝ“ๅ…ปๆŠคๆ–น้ขไปŽโ€œ่บซๆๆ— ๆ•Œ๏ผŒๅนด้พ„ๆˆ่ฟท๏ผŒๅฎžๆ‰“ๅฎžไธ€ไธชไผ ๅฅ‡โ€ๆผ”ๅ˜ไธบโ€œไธญๅนดๆฒน่…ปโ€ใ€‚ๆฏไธชไบบๅคšๅฐ‘้ƒฝๆœ‰่‡ชๅทฑ็š„็ญ”ๆกˆ๏ผŒ็ฌ”่€…็š„็ญ”ๆกˆๆ˜ฏ๏ผš่ตฐๅ‡บๆ ก้—จ่ฟ›ๅ…ฅ็คพไผšๅŽ๏ผŒๅฝ“ๅˆๅฏน่บซ่พนไบบๆœ‰็‚น่‹›ๅˆป๏ผŒ้‡ไบ‹็ซๆ€ฅ็ซ็‡Ž็š„่‡ชๅทฑ้€ๆธๅพ—ๅˆฐไบ†ๆ”นๅ–„ใ€‚่บซไฝ“ๅดๅ› ๅŽŸๆœฌๅœจๅคงๅญฆๆ—ถๆฒกๆœ‰ๆ€Žไนˆๅœจๆ„๏ผŒ็ป่ฟ‡้•ฟๅนด็ดฏๆœˆๅœฐๆด—็คผไบฎไบ†ไธ€ๆฌกๅฐ็บข็ฏใ€‚ๅœจๅบทๅคๆœŸ้—ด๏ผŒไธๆญขไธ€ๆฌกๅๆ€่ฟ‡ไน‹ๅ‰็š„็”Ÿๆดปๆ–นๅผๅ’Œๅ…ฅไธ–ๆจกๅผ๏ผŒๆƒณไธ€ๆƒณ + ๅ››ๅค„็œ‹ไธ€็œ‹ๅŽ๏ผŒๆ…ขๆ…ขไนŸๅฐฑๅผ€ๆ‚Ÿไบ†๏ผŒ่‡ช็„ถ่ฆๅฏๅŠจไธ€ไบ›ๆ”นๅ˜ๅฐ่ฏ•ใ€‚\\nๅ› ๆญค๏ผŒไนŸๅฐฑๆœ‰ไบ†่ฟ™็ฏ‡ๅ‡่‚ฅ่ฟ™ไปถ\"}]},\"groupPostsByYearMonth\":{\"2026 \":{\"04\":[{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/10.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Deep Research Agent\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/10.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Deep Research Agent\",\"frontmatter\":{\"date\":\"2026-04-02 00:38:37\",\"title\":\"ๅฃฐๆ˜Žๅผๅคšๆ™บ่ƒฝไฝ“ๅๅŒ๏ผšๅŸบไบŽ Claude Agent SDK ๆž„ๅปบๆทฑๅบฆ็ ”็ฉถ็ณป็ปŸ\",\"description\":\"ๅฏนๅคๆ‚็ ”็ฉถไปปๅŠกๆ—ถ๏ผŒๅ•ๆ™บ่ƒฝไฝ“๏ผˆSingle-Agent๏ผ‰ๅธธๅ› ไธŠไธ‹ๆ–‡็จ€้‡Šๅ’Œ้€ป่พ‘็–ฒๅŠณๅฏผ่‡ดไบงๅ‡บ่ดจ้‡ไธ‹้™ใ€‚ๆœฌๆ–‡ๅŸบไบŽ Claude Agent SDK ๆŽข่ฎจไบ†ๅคšๆ™บ่ƒฝไฝ“็ณป็ปŸ๏ผˆMAS๏ผ‰็š„ๅทฅ็จ‹ๅŒ–่ฝๅœฐใ€‚้€š่ฟ‡โ€œLead + Subagentโ€็š„ๅฃฐๆ˜Žๅผๆžถๆž„๏ผŒๆˆ‘ไปฌๅฐ†ๆทฑๅบฆ็ ”็ฉถๆ‹†่งฃไธบๆœ็ดขใ€้‡ๅŒ–ๅˆ†ๆžใ€ๅฏ่ง†ๅŒ–็ป˜ๅ›พไธŽ็ป“ๆž„ๅŒ–ๅ†™ไฝœๅ››ไธช็‹ฌ็ซ‹็Žฏ่Š‚ใ€‚\",\"permalink\":\"/ai-agent/deepresearch-agent\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"],\"tags\":[\"Agent SDK\",\"Multi-Agent\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฃฐๆ˜Žๅผๅคšๆ™บ่ƒฝไฝ“ๅๅŒ๏ผšๅŸบไบŽ Claude Agent SDK ๆž„ๅปบๆทฑๅบฆ็ ”็ฉถ็ณป็ปŸ\",\"date\":\"2026-04-02 00:38:37\",\"capture\":\"> ๅฎž่ทต่ฏๆ˜Ž๏ผŒ้€š่ฟ‡ไธฅๆ ผ็š„่Œ่ดฃ้š”็ฆป๏ผˆๅฆ‚ Lead Agent ไป…่ดŸ่ดฃ่ฐƒๅบฆ๏ผ‰ไธŽๅทฅ็จ‹่พน็•Œ็บฆๆŸ๏ผˆๅฆ‚ Researcher ๅผบๅˆถๆๅ–้‡ๅŒ–ๆŒ‡ๆ ‡๏ผ‰๏ผŒMAS ่ƒฝๅคŸ็”Ÿๆˆๅ…ทๅค‡ไธ“ไธšๆ•ฐๆฎๅ›พ่กจๆ”ฏๆ’‘็š„ๆทฑๅบฆๆŠฅๅ‘Šใ€‚ๆœฌๆ–‡ๅฐ†ไปŽๆžถๆž„่ฎพ่ฎกใ€ๅทฅไฝœๆต็ผ–ๆŽ’ๅˆฐ PDF ่‡ชๅŠจ็”Ÿๆˆ๏ผŒๅฎŒๆ•ด่ฟ˜ๅŽŸ่ฟ™ไธ€โ€œAI ้ฉฑๅŠจ่ฐƒ็ ”ๆตๆฐด็บฟโ€็š„ๆž„ๅปบ่ฟ‡็จ‹๏ผŒๅนถๅฑ•็คบๅ…ถๅœจๆ•™่‚ฒ็ ”็ฉถๆกˆไพ‹ไธญ็š„ๅฎžๆˆ˜ๆ•ˆๆžœใ€‚\\n 1. ๅผ•่จ€\\nๅœจ AI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐไธ€ๆ–‡ไธญ๏ผŒๆˆ‘ไปฌๆŽข่ฎจไบ†ๅคšๆ™บ่ƒฝไฝ“็ณป็ปŸ๏ผˆMulti-Agent Systems, MAS๏ผ‰็š„็†่ฎบไผ˜ๅŠฟใ€‚ไปŽ็†่ฎบๅฑ‚้ข็œ‹๏ผŒ่ฟ™็ฑป็ณป็ปŸ้€š่ฟ‡ไปปๅŠกๅˆ†่งฃใ€่Œ่ดฃ้š”็ฆปไธŽๅนถ่กŒๅไฝœๆœบๅˆถ๏ผŒๆœ‰ๆ•ˆ็ช็ ดไบ†ๅ•ๆ™บ่ƒฝไฝ“ๅœจๅคๆ‚ไปปๅŠกไธญ็š„่ƒฝๅŠ›็“ถ้ขˆโ€”โ€”ไธไป…ๆ˜พ่‘—ๆๅ‡ไบ†ไปปๅŠกๅค„็†็š„ๅคฉ่Šฑๆฟ\"}],\"03\":[{\"url\":\"/01.ๅ…จๆ ˆ/00.overview\",\"relativePath\":\"/01.ๅ…จๆ ˆ/00.overview\",\"frontmatter\":{\"date\":\"2026-03-19 23:05:50\",\"title\":\"ๅ…จๆ™ฏไธ€่งˆ\",\"description\":\"ๆœฌ็ณปๅˆ—ๅ›ด็ป•็Žฐไปฃๅ…จๆ ˆๅผ€ๅ‘็š„่ƒฝๅŠ›ไฝ“็ณปๅฑ•ๅผ€๏ผŒไปŽ AI ๆ—ถไปฃ็š„ๅทฅ็จ‹ๆ€็ปดๅ‡บๅ‘๏ผŒ่ฆ†็›–ๅ‰็ซฏๅทฅ็จ‹๏ผˆReact/Vue/CSS๏ผ‰ใ€ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป๏ผˆTypeScript/JavaScript๏ผ‰ใ€ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่็ญ‰ๆ ธๅฟƒ้ข†ๅŸŸ๏ผŒๅธฎๅŠฉๆž„ๅปบไปŽ\\\"่ฎค็Ÿฅๅฑ‚ โ†’ ๆŠ€ๆœฏ้ข†ๅŸŸ โ†’ ๅทฅ็จ‹่ƒฝๅŠ› โ†’ ๅŸบ็ก€่ฎพๆ–ฝ\\\"็š„ๅฎŒๆ•ดๅ…จๆ ˆ็Ÿฅ่ฏ†ๅ›พ่ฐฑใ€‚\",\"categories\":[\"ๅ…จๆ ˆ\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"permalink\":\"/fullstack/overview\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ…จๆ™ฏไธ€่งˆ\",\"date\":\"2026-03-19 23:05:50\",\"capture\":\"<script setup\\nimport ArticleCardList from '@fragment/components/ArticleCardList.vue'\\nimport { fullStackCategories } from '@fragment/data/full-stack-data'\\n</script>\\n<ArticleCardList :categories=\\\"fullStackCategories\\\" />\"},{\"url\":\"/10.ไบงๅ“ Sense/00.ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"relativePath\":\"/10.ไบงๅ“ Sense/00.ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"frontmatter\":{\"date\":\"2026-03-19 23:05:50\",\"title\":\"ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"description\":\"ไบงๅ“ Sense ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ๏ผŒๆถต็›– AI ไบงๅ“่ง‚ๅฏŸใ€ๅคๅˆๅž‹ไบบๆ‰ๆˆ้•ฟใ€ๅ•†ไธšๅŒ–ๆ€่€ƒๅŠๆ–นๆณ•่ฎบๆ€ป็ป“็ญ‰ใ€‚\",\"categories\":[\"ไบงๅ“ Sense\",\"AI\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"date\":\"2026-03-19 23:05:50\",\"capture\":\"> * ่ฟฝๆฑ‚้ซ˜ๆ ๆ†โ€”โ€”ไปฅๆž็ฎ€ๆŠ€ๆœฏ่งฃๅ†ณๅคๆ‚้—ฎ้ข˜๏ผŒๆ‹’็ปไธบ็‚ซๆŠ€่€Œ่ฎพ่ฎก็š„ไผช้œ€ๆฑ‚๏ผ›\\n> * ๅนณ่กกๆ„Ÿๆ€งไธŽ็†ๆ€งโ€”โ€”ๆ—ขๅ…ฑๆƒ…็”จๆˆท็š„็œŸๅฎžๅœบๆ™ฏไธŽๆƒ…็ปช๏ผŒๅˆๅ†ท้™่ฟฝๆบฏ็—›็‚นๆœฌ่ดจ๏ผŒ่ฎฉไบงๅ“ๆ—ขๆœ‰ๆธฉๅบฆ๏ผŒๅˆไธ่‡ณไบŽๆฒฆไธบๅŠŸ่ƒฝ็š„ๅ †็ Œใ€‚\\n่งฃๆž„่ฟ™็งไบงๅ“ Sense ็š„ๅŸบ็ก€ๅœจไบŽๅฏนๆŠ•ๅ…ฅไบงๅ‡บๆฏ”๏ผˆROI๏ผ‰็š„ๆž่‡ด่ฟฝๆฑ‚ไธŽๅฏนไบบๆ€ง็š„ๆทฑๅบฆๅ‰–ๆž๏ผš\\n* ไธ€ๆ–น้ข๏ผŒๅ“่ถŠ็š„ไบงๅ“ๅ—…่ง‰ๆ„ๅ‘ณ็€ๅฏปๆ‰พโ€œ้ซ˜ๆ ๆ†่งฃโ€๏ผŒ็”จๆœ€ๅ…‹ๅˆถ็š„ๆŠ€ๆœฏๅคๆ‚ๅบฆๅŽปๆ’ฌๅŠจๆœ€ๅนฟๆณ›ไธ”ๅผบ็ƒˆ็š„็”จๆˆทไปทๅ€ผ๏ผŒๆžœๆ–ญ่ง„้ฟไธบไบ†ๆŠ€ๆœฏ่€ŒๆŠ€ๆœฏ็š„ไผช้œ€ๆฑ‚้™ท้˜ฑใ€‚\\n* ๅฆไธ€ๆ–น้ข๏ผŒๆ—ข้œ€่ฆ่ฎพ่บซๅค„ๅœฐๆ„Ÿ็Ÿฅ็”จๆˆท็š„็œŸๅฎžไฝฟ็”จๅœบๆ™ฏไธŽๆƒ…็ปช๏ผŒๅˆๅฟ…้กปไฟๆŒ็†ๆ€งๅŽป่ฟฝ้—ฎ็—›็‚น็š„ๆ นๆบ๏ผŒ็กฎไฟไบงๅ“ๆ—ขไธๆฒฆไธบ่‡ƒ่‚ฟ็š„้œ€ๆฑ‚่ฎธๆ„ฟๆฑ ๏ผŒไนŸไธๅ˜ๆˆ็ผบไนไบบๆ€งๆธฉๅบฆ็š„ๅ†ฐๅ†ทๆœบๅ™จใ€‚\\n<im\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/00.AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/00.AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ\",\"frontmatter\":{\"title\":\"AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"date\":\"2026-03-15 16:00:00\",\"description\":\"ๅ…จๆ™ฏๅผ AI ๅญฆไน ไธŽๅฎž่ทต็Ÿฅ่ฏ†ๅบ“๏ผŒ็ณป็ปŸๆฒ‰ๆท€ AI Agent ่ฎพ่ฎกๆจกๅผใ€ๅคงๆจกๅž‹ๅทฅ็จ‹ๅŒ–่ฝๅœฐใ€ๅผ€ๆบๅฐ้กน็›ฎๅŠ็คพๅŒบๆดปๅŠจ็ป้ชŒๆ€ป็ป“๏ผŒๆŒ็ปญ่ฟญไปฃไปŽ็†่ฎบๅˆฐ็”Ÿไบง็š„ๅฎŒๆ•ดๆ–นๆณ•่ฎบใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/llm_learning_bg_1.png\",\"permalink\":\"/ai-learning/overview\",\"categories\":[\"ai-practice\"],\"tags\":[\"AI\",\"LLM\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"date\":\"2026-03-15 16:00:00\",\"capture\":\"<!-- ็ฒพ้€‰ไธ“้ข˜ --\\n<script setup>\\nimport ArticleCardList from '@fragment/components/ArticleCardList.vue'\\nimport { aiLearningCategories } from '@fragment/data/ai-learning-data'\\n</script>\\n<ArticleCardList :categories=\\\"aiLearningCategories\\\" />\"},{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/02.CSSๅทฅ็จ‹ๅŒ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/02.CSSๅทฅ็จ‹ๅŒ–\",\"frontmatter\":{\"date\":\"2026-03-10 22:05:50\",\"title\":\"ไปŽๅŽŸๅญๅŒ–ๅˆฐๅ˜ไฝ“้ฉฑๅŠจ๏ผš็Žฐไปฃ CSS ๅทฅ็จ‹ๅŒ–็š„ๆžถๆž„ๆผ”่ฟ›ไธŽๆททๅˆๅฎž่ทตๆŒ‡ๅ—\",\"description\":\"ๆœฌๆ–‡็ณป็ปŸๅ‰–ๆžไธปๆต CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆ็š„ๅบ•ๅฑ‚้€ป่พ‘๏ผŒๆๅ‡บโ€œๆ ทๅผ่ต„ไบง ROIโ€่ฏ„ไผฐๆจกๅž‹๏ผŒๅนถ้’ˆๅฏน Vue/React ็”Ÿๆ€็ป™ๅ‡บไบ†้ขๅ‘ AI ๆ—ถไปฃ็š„ไผไธš็บงๆททๅˆๆžถๆž„้€‰ๅž‹ๅปบ่ฎฎใ€‚\",\"permalink\":\"/full-stack/css-engineering\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"top\":true,\"categories\":[\"ๅ…จๆ ˆ\"],\"tags\":[\"ๅ…จๆ ˆ\",\"CSS\",\"ๅทฅ็จ‹ๅŒ–\",\"tailwindcss\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไปŽๅŽŸๅญๅŒ–ๅˆฐๅ˜ไฝ“้ฉฑๅŠจ๏ผš็Žฐไปฃ CSS ๅทฅ็จ‹ๅŒ–็š„ๆžถๆž„ๆผ”่ฟ›ไธŽๆททๅˆๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-03-10 22:05:50\",\"capture\":\"1. ๅผ•่จ€๏ผšไธปๆต CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆๆœ‰ๅ“ชไบ›๏ผŸ\\nๅœจ็Žฐไปฃๅ‰็ซฏๅผ€ๅ‘ไธญ๏ผŒ้š็€้กน็›ฎๅคๆ‚ๅบฆ็š„ๆ€ฅๅ‰งๆๅ‡๏ผŒๅŽŸ็”Ÿ CSS ๅธธๅธธ้ขไธดๅ…จๅฑ€ๆฑกๆŸ“ใ€ๅค็”จๅ›ฐ้šพใ€ๅฑ‚็บงๅตŒๅฅ—่ฟ‡ๆทฑไปฅๅŠ็ปดๆŠคๆˆๆœฌๆž้ซ˜็ญ‰้—ฎ้ข˜ใ€‚ไธบไบ†่งฃๅ†ณ่ฟ™ไบ›็—›็‚น๏ผŒ็คพๅŒบๅคšๅนดๆฅไธๆ–ญๆŽข็ดข๏ผŒๆฒ‰ๆท€ๅ‡บไบ†ๅคš็งไธปๆต็š„ CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆใ€‚\\n้™คๅŽŸ็”Ÿ CSS ไน‹ๅค–๏ผŒไธปๆตๆ–นๆกˆ่ฟ˜ๅŒ…ๆ‹ฌ้ข„ๅค„็†ๅ™จใ€CSS-in-JSใ€CSS Moduleใ€Scoped CSSใ€ๅŽŸๅญๅŒ– CSS ็ญ‰ใ€‚BEM ไฝœไธบไธ€็งๅŸบไบŽๅ‘ฝๅ็บฆๅฎšๆฅ่ง„้ฟๅ‘ฝๅๅ†ฒ็ช็š„ๆ—ฉๆœŸๆ–นๆกˆ๏ผŒๅœจ็Žฐไปฃๅ‰็ซฏๅทฅ็จ‹ไธญๅทฒๅŸบๆœฌไธๅ†ไฝฟ็”จ๏ผŒๅ› ๆญคๆœฌๆ–‡ไธๅ†ๅฏนๅ…ถๅฑ•ๅผ€่ฏฆ็ป†ๅˆ†ๆžใ€‚\\n> CSS ๅ‘ฝๅ่ง„่Œƒ๏ผˆBEM๏ผ‰๏ผš้€š่ฟ‡ไธฅๆ ผ็š„ๅ‘ฝๅ็บฆๅฎš๏ผˆๅฆ‚ Block__Element--Modif\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/20.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Agent\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/20.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Agent\",\"frontmatter\":{\"date\":\"2026-03-06 00:37:58\",\"title\":\"ๅ‘Šๅˆซๆ‰‹ๅŠจ Loop๏ผšๅ€ŸๅŠฉ Claude Agent SDK ๅฎž็Žฐ Agent ็š„ๅทฅ็จ‹ๅŒ–้—ญ็Žฏ\",\"description\":\"ๅœจ Agent ๆŠ€ๆœฏๅฟซ้€Ÿ่ตฐๅ‘ๆˆ็†Ÿ็š„ไปŠๅคฉ๏ผŒๅฆ‚ไฝ•ไฝŽๆˆๆœฌๆž„ๅปบๅ…ทๅค‡โ€œ่‡ชไธปๆดžๅฏŸโ€่ƒฝๅŠ›็š„ๆ™บ่ƒฝไฝ“๏ผŸๆœฌๆ–‡ๆทฑๅบฆๆ‹†่งฃ Anthropic ๅฎ˜ๆ–นๆŽจๅ‡บ็š„ Claude Agent SDK๏ผŒ่งฃๆžๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆ‰˜็ฎก Agent Loop ๅ’Œไผš่ฏๆŒไน…ๅŒ–ๆœบๅˆถ๏ผŒ่งฃๅ†ณ Agent ๅผ€ๅ‘ไธญ็š„็Šถๆ€็ฎก็†้šพ้ข˜ใ€‚ๆ–‡็ซ ้€š่ฟ‡ไปŽๆ— ็Šถๆ€ไบคไบ’ๅˆฐๅ…ทๅค‡ๆตๅผ่พ“ๅ‡บ่ƒฝๅŠ›็š„ TUI ่‡ชๅŠจๅŒ–ๅทฅๅ…ท่ฟ›้˜ถๅฎžๆˆ˜๏ผŒๅฑ•็คบไบ†ๆž„ๅปบไฝŽๆˆๆœฌใ€้ซ˜ๅฏ็”จ AI ๅŽŸ็”Ÿๅบ”็”จ็š„ๅฎŒๆ•ด่ทฏๅพ„ใ€‚\",\"permalink\":\"/ai-practice/claude-agent-sdk-basic-build\",\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"],\"tags\":[\"Agent\",\"Agent SDK\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ‘Šๅˆซๆ‰‹ๅŠจ Loop๏ผšๅ€ŸๅŠฉ Claude Agent SDK ๅฎž็Žฐ Agent ็š„ๅทฅ็จ‹ๅŒ–้—ญ็Žฏ\",\"date\":\"2026-03-06 00:37:58\",\"capture\":\"1. ๅผ•่จ€\\nๅฝ“ๅ‰๏ผŒAI Agent ็š„ๆผ”่ฟ›ๅทฒ่ฟ›ๅ…ฅไธ€ไธชๅดญๆ–ฐ็š„้˜ถๆฎตโ€”โ€”ไปŽ้œ€่ฆ้ข‘็นไบบๅทฅๅนฒ้ข„็š„\\\"ๅŠ่‡ชๅŠจ\\\"ๆจกๅผ๏ผŒ่ฟ›ๅŒ–ไธบ่ƒฝๅคŸ่‡ชไธปๆดžๅฏŸ็Žฏๅขƒๅ˜ๅŒ–ใ€ๅŠจๆ€่ฐƒๆ•ดๆ‰ง่กŒ็ญ–็•ฅใ€ๅฎž็ŽฐไธšๅŠกๆต็จ‹่‡ช้€‚ๅบ”็ผ–ๆŽ’็š„ๆ™บ่ƒฝๅŒ–็ณป็ปŸใ€‚Claude Codeใ€Manusใ€OpenClaw ็ญ‰ไปฃ่กจๆ€งไบงๅ“ๅฑ‚ๅ‡บไธ็ฉท๏ผŒไนŸๆ ‡ๅฟ—็€ Agent ๆŠ€ๆœฏๆญฃๅœจๅฟซ้€Ÿ่ตฐๅ‘ๆˆ็†ŸไธŽๆ™ฎๅŠใ€‚\\n่ฟ‘ๆœŸ๏ผŒ็ฌ”่€…ๅœจไธบไธชไบบๅšๅฎขๅผ•ๅ…ฅๆ™บ่ƒฝๅŒ–่ฟ่ฅ่ƒฝๅŠ›๏ผˆๅฆ‚ๅ†…ๅฎน่‡ชๅŠจๆ กๅฏนใ€ๅฎก็จฟไธŽๅ‘ๅธƒ๏ผ‰๏ผŒๆทฑๅ…ฅ็ ”็ฉถไบ†ๅคšๆฌพ Agent ๅผ€ๅ‘ๆก†ๆžถ๏ผŒๅฆ‚ Claude Agent SDKใ€Langchainใ€LangGraph ็ญ‰ใ€‚ๅœจ็ป่ฟ‡ๅˆๆญฅ็š„็ ”็ฉถๅฏนๆฏ”ๅˆ†ๆžๅŽ๏ผŒClaude Agent SDK ๆˆไธบไบ†ไฝŽๆˆๆœฌๆž„ๅปบ้ซ˜ๅฏ็”จ Agent\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/10.Agent SKills\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/10.Agent SKills\",\"frontmatter\":{\"date\":\"2026-03-05 23:11:25\",\"title\":\"ๅฆ‚ไฝ•็ผ–ๅ†™ไธ€ไธช้ซ˜ๅฏ็”จ็š„ Agent Skill๏ผŸไปŽๆœบๅˆถๆ‹†่งฃๅˆฐ็”Ÿไบงๅฎž่ทตๆŒ‡ๅ—\",\"description\":\"ๅคง่ฏญ่จ€ๆจกๅž‹ๅœจ็‰นๅฎšๅทฅ็จ‹้ข†ๅŸŸๅธธ้ขไธดโ€œ็Ÿฅ่€Œไธ่กŒโ€็š„ๅ›ฐๅขƒใ€‚ๆœฌๆ–‡ๆทฑๅบฆๆ‹†่งฃ Anthropic ๆœ€ๆ–ฐๆŽจๅ‡บ็š„ Agent Skills ่ง„่Œƒ๏ผŒๆญ็ง˜ๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆธ่ฟ›ๅผๆŠซ้œฒไธŽไธ‰็บงๅŠ ่ฝฝๆœบๅˆถ๏ผŒๅœจๆŽงๅˆถ Token ๆˆๆœฌ็š„ๅŒๆ—ถๆ˜พ่‘—ๆๅ‡ Agent ็š„ไปปๅŠกๆ‰ง่กŒ็ฒพๅบฆใ€‚ๆ–‡็ซ ๆถต็›–ไบ†ไปŽๆ–‡ไปถๅคนๆžถๆž„่ฎพ่ฎกๅˆฐๅฎžๆˆ˜ git-workflow ็ผ–ๅ†™็š„ๅ…จๆต็จ‹ๆŒ‡ๅ—๏ผŒๅŠฉไฝ ๅฐ†้›ถๆ•ฃ็š„ Prompt ่ฝฌๅŒ–ไธบๆ ‡ๅ‡†ๅŒ–็š„ๆ•ฐๅญ—่ต„ไบงใ€‚\",\"permalink\":\"/ai-agent/skills-practice-summary\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\",\"Agent ็ณปๅˆ—\"],\"tags\":[\"Agent Skills\",\"Agent\",\"AI\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฆ‚ไฝ•็ผ–ๅ†™ไธ€ไธช้ซ˜ๅฏ็”จ็š„ Agent Skill๏ผŸไปŽๆœบๅˆถๆ‹†่งฃๅˆฐ็”Ÿไบงๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-03-05 23:11:25\",\"capture\":\"1. ๅผ•่จ€๏ผšAgent Skills ๆ˜ฏไป€ไนˆ๏ผŸ\\nๅœจๅคง่ฏญ่จ€ๆจกๅž‹๏ผˆLLM๏ผ‰็š„่ฝๅœฐๅฎž่ทตไธญ๏ผŒๅผ€ๅ‘่€…็ปๅธธ้ขไธดไธ€ไธชๅ…ฑๆ€งๆŒ‘ๆˆ˜๏ผšๆจกๅž‹ๅœจ็‰นๅฎš็ป†ๅˆ†้ข†ๅŸŸๅพ€ๅพ€ๅค„ไบŽโ€œ็Ÿฅ่€Œไธ่กŒโ€็š„็Šถๆ€โ€”โ€”่™ฝ็„ถๆ‹ฅๆœ‰ๅšๆ‚็š„็Ÿฅ่ฏ†๏ผŒๅด็ผบไนๆ‰ง่กŒๅคๆ‚ไปปๅŠก็š„ไธ“ไธš่ทฏๅพ„ใ€‚\\nไธบไบ†่งฃๅ†ณ่ฟ™ไธ€็—›็‚น๏ผŒAnthropic ๅœจๅ…ถๆ——่ˆฐๆจกๅž‹ Claude 3.7 ็ณปๅˆ—ไธญๆญฃๅผๆŽจๅ‡บไบ† Claude Skillsใ€‚่ฟ™ไธ€ๅŠŸ่ƒฝๅฐ† LLM ็š„่ƒฝๅŠ›ๅฐ่ฃ…ไธบ็›ด่ง‚็š„โ€œ่ƒฝๅŠ›ๆ–‡ไปถๅคนโ€๏ผŒๆžๅคงๆๅ‡ไบ†ๆ™บ่ƒฝไฝ“็š„ๅฎž็”จๆ€ง๏ผŒๅนถ่ฟ…้€Ÿๅœจๅผ€ๅ‘่€…็คพๅŒบๅผ•ๅ‘็ƒญ่ฎฎใ€‚2025 ๅนด 12 ๆœˆ๏ผŒ้š็€ Anthropic ่”ๅˆ็”Ÿๆ€ไผ™ไผดๆญฃๅผๅผ€ๆบ Agent Skills ่ง„่Œƒ๏ผŒAgent Skills ็š„ๆ ‡ๅ‡†ๅŒ–ไนŸๆญฃๅผๅผ€ๅฏ๏ผˆ่€Œ่ฟ™ไธ€่ƒฝๅŠ›\"},{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"frontmatter\":{\"date\":\"2026-03-05 16:54:35\",\"title\":\"ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"aliases\":[\"Server-Sent Events\",\"HTTP Streaming\"],\"tldr\":\"ๆทฑๅ…ฅ่งฃๆžๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผŒๆไพ›ไปŽๆฆ‚ๅฟตๅˆฐ็”Ÿไบงๅฎž่ทต็š„ๅฎŒๆ•ด่งฃๅ†ณๆ–นๆกˆใ€‚\",\"description\":\"่พจๆžๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ็š„ๆฆ‚ๅฟตไธŽๅฑ‚ๆฌกๅ…ณ็ณป๏ผŒ่ฏฆ่งฃๅฎขๆˆท็ซฏไธŽๆœๅŠก็ซฏๅฎž็Žฐๆ–นๆกˆ๏ผŒๆไพ›็”Ÿไบงๅฎž่ทตๅฎŒๆ•ดๆŒ‡ๅ—ใ€‚\",\"tags\":[\"tutorial\",\"SSE\",\"HTTP Streaming\",\"ๅ…จๆ ˆ\"],\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"permalink\":\"/fullstack/networking/sse-practice\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"date\":\"2026-03-05 16:54:35\",\"capture\":\"<script setup\\n import HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n> ๆ‘˜่ฆๆ€ป็ป“: ้’ˆๅฏนๅผ€ๅ‘่€…ๅฎนๆ˜“ๆททๆท†ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ็š„้—ฎ้ข˜๏ผŒไปŽๆฆ‚ๅฟตๅฑ‚ๆฌกๅ‡บๅ‘ๅŽ˜ๆธ…ไบŒ่€…ๆœฌ่ดจๅŒบๅˆซไธŽๅไฝœๅ…ณ็ณป๏ผŒๆŒ‡ๅ‡บๆตๅผ HTTP ๆ˜ฏๅบ•ๅฑ‚ไผ ่พ“ๆœบๅˆถ่€Œ SSE ๆ˜ฏๅบ”็”จๅฑ‚ๆ•ฐๆฎๆ ผๅผ็บฆๅฎšใ€‚ๆ–‡็ซ ไพๆฌกไป‹็ปๅŽŸ็”Ÿ EventSource APIใ€fetch + ReadableStream ่ฟ›้˜ถๆ–นๆกˆใ€@microsoft/fetch-event-source ๅทฅไธš็บงๅฎž็Žฐ็ญ‰ไธ‰็งๅฎขๆˆท็ซฏๆ–นๆกˆ๏ผŒๅนถไปฅ Nes\"},{\"url\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/02.้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/02.้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-03-02 11:05:50\",\"title\":\"้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ AI ๆž้€Ÿ้™ไฝŽไปฃ็ ็ผ–ๅ†™้—จๆง›๏ผŒๅ•็บฏ็š„โ€œไธšๅŠกไปฃ็ ็ฟป่ฏ‘ๅ™จโ€่ง’่‰ฒๆญฃๅŠ ้€Ÿ่ดฌๅ€ผใ€‚ๆœฌๆ–‡ไปŽๆŠ€ๆœฏๆผ”่ฟ›ไธŽไบงๅ“ๆ€่€ƒ็š„ไบคๆฑ‡็‚นๅ‡บๅ‘๏ผŒๅฐ† AI ๆ—ถไปฃ็š„ๅผ€ๅ‘่€…่ƒฝๅŠ›ๅ›พ่ฐฑ้‡ๆ–ฐๅˆ’ๅˆ†ไธบไธ‰ๅคงๆ ธๅฟƒๅœˆๅฑ‚๏ผšไบงๅ“ๅบ”็”จๅฑ‚๏ผˆInsight Stack๏ผ‰ใ€Agent ๅผ€ๅ‘ๅฑ‚ไธŽ AI ๅŸบ็ก€่ฎพๆ–ฝๅฑ‚ใ€‚ๆ— ่ฎบไฝ ๆ˜ฏๆทฑ่€•่ง†ๅ›พๅฑ‚ไบคไบ’ใ€็ฒพ้€š Node.js ็ญ‰ๆœๅŠก็ซฏๆžถๆž„็š„ๅผ€ๅ‘่€…๏ผŒ่ฟ˜ๆ˜ฏ่‡ดๅŠ›ไบŽๆŠ€ๆœฏ่ฝๅœฐ็š„ๆŽข็ดข่€…๏ผŒ้ƒฝ่ƒฝๅœจ่ฟ™ไปฝๆผ”่ฟ›ๆŒ‡ๅ—ไธญๆ‰พๅˆฐๆ‰“็ ด่ƒฝๅŠ›่พน็•Œใ€ๅ‘โ€œ่ถ…็บงไธชไฝ“โ€ไธŽโ€œAI ๆ™บ่ƒฝไฝ“ๆŒ‡ๆŒฅๅฎ˜โ€่ทƒ่ฟ็š„็ ดๅฑ€ไน‹้“ใ€‚\",\"permalink\":\"/fullstack/ai-engineer-capability\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"top\":true,\"tags\":[\"ๅ…จๆ ˆ\",\"AI\"],\"categories\":[\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"date\":\"2026-03-02 11:05:50\",\"capture\":\"<script setup>\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/ai_engineering_arc.png\\\" style=\\\"width: 100%; border-radius: 8px; margin-bottom: 20px;\\\" alt=\\\"about site back\"}],\"02\":[{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"frontmatter\":{\"date\":\"2026-02-25 22:10:48\",\"title\":\"HTTP ่ฝฎ่ฏขไผ˜ๅŒ–ๆŒ‡ๅ—๏ผš้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"tldr\":\"่ฏฆ่งฃ้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅฎž็ŽฐๅŽŸ็†๏ผŒๆไพ› HTTP ่ฝฎ่ฏขไผ˜ๅŒ–็ญ–็•ฅไธŽ้€‰ๅž‹ๅ†ณ็ญ–ๆ ‘ใ€‚\",\"description\":\"ๆทฑๅ…ฅๅ‰–ๆž้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๆ ธๅฟƒๆœบๅˆถ๏ผŒๆไพ› TypeScript/NestJS ๅฎžๆˆ˜ไปฃ็ ๏ผŒๅนถๆž„ๅปบๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–ๆ ‘ไธŽ้€‚็”จๅœบๆ™ฏ้€ŸๆŸฅใ€‚\",\"tags\":[\"HTTP ่ฝฎ่ฏข\",\"้€€้ฟ่ฝฎ่ฏข\",\"้•ฟ่ฝฎ่ฏข\"],\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"permalink\":\"/fullstack/networking-polling-optimization\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"HTTP ่ฝฎ่ฏขไผ˜ๅŒ–ๆŒ‡ๅ—๏ผš้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"date\":\"2026-02-25 22:10:48\",\"capture\":\"1. ๅผ•่จ€\\nๅœจ็Žฐไปฃ Web ๅผ€ๅ‘ไธญ๏ผŒWebSocket ๅ’Œ Server-Sent Events (SSE) ๅธธๅธธ่ขซ่ง†ไธบๅฎžๆ—ถ้€šไฟก็š„้“ถๅผนใ€‚็„ถ่€Œ๏ผŒHTTP ่ฝฎ่ฏข๏ผˆPolling๏ผ‰ไฝœไธบๆœ€ๆœด็ด ็š„ๅฎžๆ—ถ้€šไฟกๆ–นๆกˆ๏ผŒ้žไฝ†ๆฒกๆœ‰้€€ๅ‡บๅކๅฒ่ˆžๅฐ๏ผŒๅ่€Œๅœจ็‰นๅฎš็š„ๅคๆ‚ไธšๅŠกๅœบๆ™ฏไธญๅคงๆ”พๅผ‚ๅฝฉใ€‚\\n> ๐Ÿ“– ๅฆ‚ๆžœไฝ ๅฏน HTTP ่ฝฎ่ฏขๅœจๆ•ดไธช Web ้€šไฟกๅ่ฎฎไฝ“็ณปไธญ็š„ๅฎšไฝๅฐšไธๆธ…ๆ™ฐ๏ผŒๆŽจ่ๅ…ˆ้˜…่ฏป Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—๏ผŒไบ†่งฃ่ฝฎ่ฏขไธŽ็Ÿญ่ฟžๆŽฅใ€้•ฟ่ฟžๆŽฅใ€WebSocketใ€SSE ็ญ‰ๆ–นๆกˆ็š„ๆผ”่ฟ›ๅ…ณ็ณปไธŽ้€‚็”จ่พน็•Œ๏ผŒๅ†็ป“ๅˆๆœฌๆ–‡ๆทฑๅ…ฅๅฎž่ทตใ€‚\\nๅœจๅฝ“ๅ‰ไผ—ๅคš้กถ็บง็š„ AI AIGC ๅบ”็”จ๏ผˆๅฆ‚ Midjourne\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/02.Agent ่ง„ๅˆ’ๆจกๅ—\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/02.Agent ่ง„ๅˆ’ๆจกๅ—\",\"frontmatter\":{\"date\":\"2026-02-24 20:52:37\",\"title\":\"ๆŽขๅฏป Agent ๅ†ณ็ญ–ไธญๆžข๏ผš่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„่ง„ๅˆ’่Œƒๅผ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฆ‚ๆžœ่ฏด LLM ๆ˜ฏ Agent ็š„ๅคง่„‘๏ผŒ่ง„ๅˆ’ๆจกๅ—ๅˆ™ๆ˜ฏๅ…ถ่ดŸ่ดฃๅคๆ‚ๅ†ณ็ญ–็š„โ€œๅ‰้ขๅถโ€ใ€‚ๆœฌๆ–‡ๆทฑๅบฆ่งฃๆž„ไบ† Agent ่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„ๆ ธๅฟƒ่ทฏๅพ„๏ผšไปŽไปปๅŠกๅˆ†่งฃ็š„้™ไฝŽ็†ตๅ€ผ๏ผŒๅˆฐ่‡ชๆˆ‘ๅๆ€็š„้—ญ็ŽฏๆŽงๅˆถใ€‚้€š่ฟ‡ๅฏนๆฏ”โ€œ่พน่ตฐ่พน็œ‹โ€็š„ ReAct ๅŠจๆ€ๅ“ๅบ”ๆจกๅผไธŽโ€œ่ฐ‹ๅฎšๅŽๅŠจโ€็š„ Plan-and-Execute ้ข„็ผ–ๆŽ’ๆจกๅผ๏ผŒๆœฌๆ–‡ๆญ็คบไบ†ๅฆ‚ไฝ•้’ˆๅฏน้•ฟ้“พ่ทฏๅทฅ็จ‹ไปปๅŠกๆž„ๅปบ็จณๅฅ็š„ๅ†ณ็ญ–่Œƒๅผ๏ผŒๅŠฉไฝ ๅฎŒๆˆไปŽโ€œ็ฎ€ๅ•ๆ็คบ่ฏโ€ๅˆฐโ€œๅคๆ‚ๆžถๆž„่ฎพ่ฎกโ€็š„่ฎค็Ÿฅ่ทƒ่ฟใ€‚\",\"permalink\":\"/ai-agent/planning-module\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆŽขๅฏป Agent ๅ†ณ็ญ–ไธญๆžข๏ผš่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„่ง„ๅˆ’่Œƒๅผ\",\"date\":\"2026-02-24 20:52:37\",\"capture\":\"1. ๅผ•่จ€\\nๅœจไบบ็ฑปๅคง่„‘ไธญ๏ผŒๅ‰้ขๅถ็šฎๅฑ‚่ดŸ่ดฃๅคๆ‚็š„่ฎค็Ÿฅ่ง„ๅˆ’ใ€ๅ†ณ็ญ–ๅ’Œ็คพไบค่กจ็Žฐใ€‚ๅฏนไบŽไธ€ไธช Agent ่€Œ่จ€๏ผŒ่ง„ๅˆ’ๆจกๅ—ๆญฃๆ˜ฏๅฎƒ็š„โ€œๅ‰้ขๅถโ€โ€”โ€”ๅฎƒๅ†ณๅฎšไบ† Agent ๆ˜ฏๅชไผšๆœบๆขฐๅ“ๅบ”ๆŒ‡ไปค็š„โ€œๆœจๅถโ€๏ผŒ่ฟ˜ๆ˜ฏ่ƒฝ็‹ฌ็ซ‹ๆ‹†่งฃ็›ฎๆ ‡ใ€ๅœจๅคๆ‚็Žฏๅขƒไธญๅฏปๆ‰พๆœ€ไผ˜่ทฏๅพ„็š„โ€œๆ•ฐๅญ—ๅ‘˜ๅทฅโ€ใ€‚\\nAgent ็š„่ง„ๅˆ’่ƒฝๅŠ›ไธป่ฆ็”ฑไธค้ƒจๅˆ†ๅๅŒ้ฉฑๅŠจ๏ผšไปปๅŠกๅˆ†่งฃไธŽ่‡ชๆˆ‘ๅๆ€ใ€‚\\n 2. ไปปๅŠกๅˆ†่งฃ๏ผšๅŒ–็นไธบ็ฎ€็š„็ญ–็•ฅ\\nไปปๅŠกๅˆ†่งฃๆ˜ฏๆŒ‡ๅฐ†ไธ€ไธชๅคๆ‚็š„็›ฎๆ ‡ๆˆ–ไปปๅŠกๆ‹†่งฃไธบๅคšไธชๅ…ทไฝ“ใ€ๅฏๆ“ไฝœ็š„็š„ๅญไปปๅŠก๏ผŒไปฅไพฟ Agent ่ƒฝๅคŸๆ›ด้ซ˜ๆ•ˆๅœฐๆ‰ง่กŒๅ’Œ็ฎก็†ใ€‚ๅ…ถๆœฌ่ดจๆ˜ฏ้™ไฝŽ้—ฎ้ข˜็š„็†ตๅ€ผ๏ผŒ่ฎฉ Agent ่ƒฝๅคŸ่š็„ฆไบŽๆฏไธ€ไธช็ป†ๅฐ็š„็กฎๅฎšๆ€งๆญฅ้ชค๏ผŒไปŽ่€Œ้€ๆญฅ่งฃๅ†ณ้—ฎ้ข˜๏ผŒๆ้ซ˜่ง„ๅˆ’็š„ๅฏ่กŒๆ€งๅ’Œๆ‰ง่กŒๆ•ˆ็އใ€‚\\nๆ นๆฎโ€œ่ง„ๅˆ’โ€ไธŽโ€œๆ‰ง่กŒโ€ๅ‘\"},{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-02-24 08:40:31\",\"title\":\"Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"tldr\":\"ๆทฑๅ…ฅๅˆ†ๆžไบ”็ง Web ้€šไฟกๅ่ฎฎ๏ผŒๆไพ› AI ๆ—ถไปฃ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—ไธŽๆœ€ไฝณๅฎž่ทตใ€‚\",\"description\":\"ๆทฑๅ…ฅๅ‰–ๆžไผ ็ปŸ HTTPใ€ๆตๅผ HTTPใ€SSEใ€WebSocketใ€Webhooksใ€HTTP ่ฝฎ่ฏข็š„ๅŽŸ็†ไธŽ็‰นๆ€ง๏ผŒ็ป“ๅˆ AI ๅœบๆ™ฏๆไพ›ๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–็Ÿฉ้˜ตใ€‚\",\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"tags\":[\"HTTP\",\"HTTP ่ฝฎ่ฏข\",\"SSE\",\"WebSocket\",\"Webhooks\"],\"permalink\":\"/fullstack/networking-protocol-selection-guide\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"date\":\"2026-02-24 08:40:31\",\"capture\":\"1. ๅผ•่จ€\\nHTTP ๆ˜ฏไธ€็งๅŸบไบŽๆ–‡ๆœฌ็š„้€šไฟกๅ่ฎฎ๏ผŒไธป่ฆ็”จไบŽ Web ๆต่งˆๅ™จใ€็งปๅŠจๅบ”็”จใ€ๆกŒ้ขๅบ”็”จ็ญ‰ๅฎขๆˆท็ซฏๅ’Œ Web ๆœๅŠกๅ™จไน‹้—ด็š„ๆ•ฐๆฎไผ ่พ“ใ€‚ไผ ็ปŸ HTTP ้‡‡็”จๅŒๆญฅ็š„่ฏทๆฑ‚-ๅ“ๅบ”ๆจกๅผ๏ผš`่ฏทๆฑ‚ -> ็ญ‰ๅพ… -> ๅฎŒๆ•ดๅ“ๅบ”`ใ€‚่ฟ™็งๆ–นๅผ่™ฝ่ƒฝๆปก่ถณๅคงๅคšๆ•ฐๅœบๆ™ฏ๏ผŒไฝ†ๅœจๅฎžๆ—ถๆ€ง่ฆๆฑ‚่พƒ้ซ˜็š„้ข†ๅŸŸโ€”โ€”ๅฆ‚ๆธธๆˆใ€่Šๅคฉใ€่ง†้ข‘ไผš่ฎฎ๏ผŒไปฅๅŠ AI ๆ—ถไปฃ็š„ๅฏน่ฏๅผๅบ”็”จโ€”โ€”ๅดๆ˜พๅพ—ๅŠ›ไธไปŽๅฟƒใ€‚\\nไธบ่งฃๅ†ณ่ฟ™ไธ€้—ฎ้ข˜๏ผŒไธš็•Œๅ‘ๅฑ•ๅ‡บไบ†ๅคš็งๅฎžๆ—ถ Web ้€šไฟกๆ–นๆกˆใ€‚ๆœฌๆ–‡ๅฐ†ๅ›ด็ป• ๆตๅผ HTTPใ€SSEใ€WebSocketใ€Webhooksใ€HTTP ่ฝฎ่ฏข ่ฟ™ไบ”็งไธปๆตๆŠ€ๆœฏ๏ผŒไปŽๅŽŸ็†ใ€็‰นๆ€งใ€้€‚็”จๅœบๆ™ฏๅ‡บๅ‘๏ผŒๆŽข่ฎจๅฎƒไปฌๅœจ็Žฐไปฃๅˆ†ๅธƒๅผๆžถๆž„ไธญ็š„้€‰ๅž‹็ญ–็•ฅไธŽๅทฅ็จ‹ๅฎž่ทตใ€‚\\n 2\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/01.Agentๆฆ‚่งˆไธŽ็ปผ่ฟฐ\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/01.Agentๆฆ‚่งˆไธŽ็ปผ่ฟฐ\",\"frontmatter\":{\"date\":\"2026-02-12 22:31:00\",\"title\":\"ไปŽๆ็คบ่ฏๅˆฐๆ•ฐๅญ—ๅ‘˜ๅทฅ๏ผšAI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšAI ็š„่ฟ›ๅŒ–ๆญฃ็ปๅކไปŽโ€œๅฏน่ฏๆก†โ€ๅ‘โ€œๆ•ฐๅญ—ๅ‘˜ๅทฅโ€็š„ๆ นๆœฌๆ€ง่ทจ่ถŠใ€‚ๆœฌๆ–‡ๆ˜ฏไธ€็ฏ‡ๅ…ณไบŽ AI Agent ็š„ๅ…จๆ™ฏๆทฑๅบฆ็ปผ่ฟฐ๏ผŒๆ—จๅœจ่งฃๆž„ๆ™บ่ƒฝไฝ“ๅฆ‚ไฝ•ไปŽ็ฎ€ๅ•็š„ Prompt ๅ“ๅบ”่€…๏ผŒๆผ”ๅ˜ไธบๅ…ทๅค‡่‡ชไธป็›ฎๆ ‡ๆ‹†่งฃใ€้•ฟ็ŸญๆœŸ่ฎฐๅฟ†ไธŽๅคๆ‚็Žฏๅขƒไบคไบ’่ƒฝๅŠ›็š„โ€œๆ‰ง่กŒ่€…โ€ใ€‚ๆˆ‘ไปฌๅฐ†ๆทฑๅบฆๆ‹†่งฃ Agent ็š„ๅ››ๅคงๆŠ€ๆœฏๅŸบ็Ÿณ๏ผˆ่ง„ๅˆ’ใ€่ฎฐๅฟ†ใ€ๅทฅๅ…ทใ€่กŒๅŠจ๏ผ‰๏ผŒๅนถ่ฏฆ็ป†ๅ‰–ๆžไปŽ้€š็”จๅž‹ Agent ๅˆฐๅคšๆ™บ่ƒฝไฝ“ๅไฝœ๏ผˆMAS๏ผ‰ใ€ๅ†ๅˆฐ่ฟˆๅ‘ Agent OS ๆ—ถไปฃ็š„ OpenClaw ็ญ‰ไบ”ๅคงๆผ”่ฟ›ๅฝขๆ€ใ€‚ไธไป…ๆŽข่ฎจไบ†ๆŠ€ๆœฏๆžถๆž„็š„ๅฎž็Žฐ๏ผŒๆ›ดๆญ็คบไบ†่ฝฏไปถๅทฅ็จ‹ไปŽโ€œไปฅไบบไธบไธญๅฟƒโ€ๅ‘โ€œไปฅ AI ไธบไธญๅฟƒโ€็š„่Œƒๅผ้ฉๅ‘ฝโ€”โ€”ๅœจ Agent ้ฉฑๅŠจ็š„ๆ–ฐ็บชๅ…ƒ๏ผŒๆ ธๅฟƒ็ซžไบ‰ๅŠ›ๅฐ†ไธๅ†ๆ˜ฏไปฃ็ ้‡๏ผŒ่€Œๆ˜ฏ่ฐƒๅบฆ AI ้—ญ็Žฏ่งฃๅ†ณไธšๅŠก้—ฎ้ข˜็š„่ƒฝๅŠ›ใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/llm_learning_bg_1.png\",\"permalink\":\"/ai-agent/overview\",\"top\":true,\"categories\":[\"ai-practice\"],\"tags\":[\"AI Agent\",\"Agent\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไปŽๆ็คบ่ฏๅˆฐๆ•ฐๅญ—ๅ‘˜ๅทฅ๏ผšAI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐ\",\"date\":\"2026-02-12 22:31:00\",\"capture\":\"1. ไป€ไนˆๆ˜ฏ Agent๏ผŸโ€”โ€”ไปŽโ€œๅทฅๅ…ทโ€ๅˆฐโ€œๅฎžไฝ“โ€็š„่ฟ›ๅŒ–\\n> ๆ ธๅฟƒ้€ป่พ‘๏ผš็Žฐไปฃ Agent ็š„ๆœฌ่ดจๆ˜ฏ \\\"LLM (ๅคง่„‘) + ่ง„ๅˆ’ไธŽ่ฎฐๅฟ† (ๅฐ่„‘) + ๅทฅๅ…ท่ฐƒ็”จ (ๆ‰‹่„š)\\\"ใ€‚LLM ็š„ๆตท้‡็Ÿฅ่ฏ†ๅ‚จๅค‡่ฎฉ Agent ่ƒฝๅคŸ็ฒพๅ‡†็†่งฃๅคๆ‚ๆŒ‡ไปค๏ผŒๅนถๅฐ†ๅ…ถ่ฝฌๅŒ–ไธบๅฎž้™…่กŒๅŠจใ€‚\\nๅœจ AI ้ข†ๅŸŸ๏ผŒAgent๏ผˆๆ™บ่ƒฝไฝ“๏ผ‰ ๅนถ้žไธ€ไธชๆ–ฐๆฆ‚ๅฟต๏ผŒไฝ† LLM๏ผˆๅคง่ฏญ่จ€ๆจกๅž‹๏ผ‰็š„็ˆ†ๅ‘่ต‹ไบˆไบ†ๅฎƒ็œŸๆญฃ็š„โ€œ็ต้ญ‚โ€ใ€‚็ฎ€ๅ•ๆฅ่ฏด๏ผŒAgent ๆ˜ฏไธ€็ง่ƒฝๅคŸๆ„Ÿ็Ÿฅ็Žฏๅขƒใ€่‡ชไธปๅ†ณ็ญ–ๅนถๆ‰ง่กŒไปปๅŠก็š„ๆ™บ่ƒฝๅฎžไฝ“ใ€‚\\nๅฆ‚ๆžœ่ฏดไผ ็ปŸ็š„ AI ๆ˜ฏไธ€ไธชโ€œ้—ฎ็ญ”ๆœบโ€๏ผŒ้‚ฃไนˆ Agent ๅฐฑๆ˜ฏไธ€ไธชโ€œๆ‰ง่กŒ่€…โ€ใ€‚ๅฎƒๅ…ทๅค‡ไปฅไธ‹ๅ››ๅคงๆ ธๅฟƒ็‰น่ดจ๏ผš\\n* ่‡ชไธปๆ€ง (Autonomy)๏ผš ๆ— ้กปๆ—ถๅˆป็›ฏ็€๏ผŒ่ฎพๅฎš\"},{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-02-10 23:33:19\",\"title\":\"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ๅฝ“ AI ๆ‰ฟๆŽฅไบ† 30% ็š„็ผ–็ ๆ‰ง่กŒๆ—ถ๏ผŒๅผ€ๅ‘่€…้œ€้€š่ฟ‡โ€œ่ง„ๆ ผ้ฉฑๅŠจ๏ผˆSDD๏ผ‰โ€้‡ๅคบ 70% ็š„่ฎพ่ฎกไธปๆƒ๏ผšไปŽ่‡ชๆฒป็ป„ไปถๅˆ’ๅˆ†ๅˆฐๅ•ๅ‘ๆ•ฐๆฎๆตๆ‹“ๆ‰‘็š„ๆทฑๅบฆๆŽจๆผ”ใ€‚\",\"description\":\"ๆœฌๆ–‡ๆŽข่ฎจๅœจ AI ๅขžๅผบๅผ€ๅ‘่ƒŒๆ™ฏไธ‹๏ผŒๅฆ‚ไฝ•้‡ๅก‘ React ็ป„ไปถ่ฎพ่ฎกๅŽŸๅˆ™ใ€‚ๆถต็›– SRP ่Œ่ดฃๅˆ’ๅˆ†ใ€้™ๆ€็‰ˆๆœฌๅŸบ็บฟใ€ๆœ€ๅฐ็Šถๆ€๏ผˆDerived Data๏ผ‰ๆŽจๅฏผไปฅๅŠ SDD ไบบๆœบๅไฝœๆจกๅผ็š„ๅทฅ็จ‹่ฝๅœฐใ€‚\",\"tags\":[\"tutorial\",\"react\",\"component-design\",\"state-management\",\"ai-augmented\",\"specification-driven\"],\"permalink\":\"/fullstack/react-design-philosophy-ai-augmented\",\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-02-10 23:33:19\",\"capture\":\"<script setup\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n 1. ๅผ•่จ€\\nๅœจ่ฝฏไปถๅทฅ็จ‹ไธญ๏ผŒ็บฆ 70% ็š„ๆ—ถ้—ดๅบ”ๆŠ•ๅ…ฅไบŽๆžถๆž„่ฎพ่ฎกใ€้œ€ๆฑ‚ๆ‹†่งฃไธŽๆŽฅๅฃ่ฏญไน‰ๆŽจๆ•ฒ๏ผŒไป… 30% ็”จไบŽๅฎž้™…็ผ–็ ใ€‚่ฟ›ๅ…ฅ AI ๅไฝœๆ—ถไปฃๅŽ๏ผŒ่ฟ™ไธ€ๆฏ”ไพ‹ไพ็„ถๅšๅฆ‚็ฃ็Ÿณโ€”โ€”ๅผ€ๅ‘่€…ๅฟ…้กปๅ…ˆๅฎŒๆˆๆทฑๅบฆๆ€่€ƒ๏ผŒๅฐ†โ€œๆธ…ๆ™ฐ็š„้—ฎ้ข˜่ง„ๆ ผ๏ผˆSpecification๏ผ‰โ€ไบค็ป™ AI๏ผŒAI ๆ‰่ƒฝ่พ“ๅ‡บ้ซ˜่ดจ้‡ไปฃ็ ใ€‚<HighLightText type=\\\"note\\\" bold>AI ๆๅ‡็š„ๆ˜ฏ 30% ็ผ–็ ้˜ถๆฎต็š„ๆ‰ง่กŒๅŠ›๏ผŒ่€Œ้žๅ–\"},{\"url\":\"/01.ๅ…จๆ ˆ/90.ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่/90.ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"relativePath\":\"/01.ๅ…จๆ ˆ/90.ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่/90.ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"frontmatter\":{\"date\":\"2026-02-06 15:58:53\",\"title\":\"ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡็ณป็ปŸๆขณ็†ไบ†็Žฐไปฃๅ…จๆ ˆๅผ€ๅ‘็š„ๅฎŒๆ•ดๆŠ€ๆœฏๅ›พ่ฐฑไธŽๆผ”่ฟ›่Œƒๅผ๏ผŒไธบๅผ€ๅ‘่€…ๆไพ›ไบ†ไธ€็ซ™ๅผ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—ใ€‚ๆ–‡็ซ ไปŽๅŸบ็Ÿณๅ‡บๅ‘๏ผŒ่ฆ†็›– Web ๆ ธๅฟƒ่ฏญ่จ€๏ผˆJS/TS๏ผ‰ ไธŽ ไธปๆต UI ๆก†ๆžถ๏ผˆReact/Vue/Svelte๏ผ‰๏ผŒๅนถๆŽจ่ไปฅ Tailwind CSS ๅ’Œ shadcn/ui ไธบไปฃ่กจ็š„็Žฐไปฃๆ ทๅผไธŽ็ป„ไปถๅŽŸ่ฏญใ€‚ๅœจๆ ธๅฟƒไธšๅŠก้€ป่พ‘ๅฑ‚๏ผŒๆทฑๅบฆๅฏนๆฏ”ไบ†่ฝป้‡ๅŒ–็Šถๆ€็ฎก็†ๆ–นๆกˆ๏ผˆ้ฆ–ๆŽจ Zustand/Jotai๏ผ‰๏ผŒๅนถ้‡็‚น่งฃๆžไบ†ๆ•ฐๆฎไบคไบ’็š„ไธ‰ๅคง็Žฐไปฃๆžถๆž„่Œƒๅผ๏ผšไปŽๅŸบ็ก€ Axios ๅˆฐ React Query ็Šถๆ€่ฐƒๅบฆ๏ผŒๅ†ๅˆฐ tRPC ๅ’Œ GraphQL ๅธฆๆฅ็š„ๅ…จๆ ˆ็ฑปๅž‹ๅฎ‰ๅ…จไธŽๅคš็ซฏ่šๅˆใ€‚ๅœจๅทฅ็จ‹ๅŒ–ไธŽๆœๅŠก็ซฏๆจกๅ—๏ผŒๆ–‡็ซ ๅ…จ้ขๆ‹ฅๆŠฑ Viteใ€Rsbuild ็ญ‰ๆž้€Ÿๆž„ๅปบๅทฅๅ…ท๏ผŒๅนถๅ‰–ๆžไบ† Next.js/Nuxt ๅŒๆž„ๅ…ƒๆก†ๆžถไธŽ NestJS ไผไธš็บง Node ๆœๅŠก็š„ๆœ€ไฝณ้€‚็”จๅœบๆ™ฏใ€‚ๆœ€ๅŽ๏ผŒ่พ…ไปฅ Vercel ็ญ‰็Žฐไปฃ่พน็ผ˜้ƒจ็ฝฒๅนณๅฐๅŠไธฐๅฏŒ็š„ๅผ€ๆบ็คพๅŒบๅญฆไน ่ต„ๆบใ€‚\",\"permalink\":\"/growth/full-stack-resources\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"date\":\"2026-02-06 15:58:53\",\"capture\":\"> - ๆ–‡็ซ ไปŽๅŸบ็Ÿณๅ‡บๅ‘๏ผŒ่ฆ†็›– Web ๆ ธๅฟƒ่ฏญ่จ€๏ผˆJS/TS๏ผ‰ ไธŽ ไธปๆต UI ๆก†ๆžถ๏ผˆReact/Vue/Svelte๏ผ‰๏ผŒๅนถๆŽจ่ไปฅ Tailwind CSS ๅ’Œ shadcn/ui ไธบไปฃ่กจ็š„็Žฐไปฃๆ ทๅผไธŽ็ป„ไปถๅŽŸ่ฏญใ€‚\\n> - ๅœจๆ ธๅฟƒไธšๅŠก้€ป่พ‘ๅฑ‚๏ผŒๆทฑๅบฆๅฏนๆฏ”ไบ†่ฝป้‡ๅŒ–็Šถๆ€็ฎก็†ๆ–นๆกˆ๏ผˆ้ฆ–ๆŽจ Zustand/Jotai๏ผ‰๏ผŒๅนถ้‡็‚น่งฃๆžไบ†ๆ•ฐๆฎไบคไบ’็š„ไธ‰ๅคง็Žฐไปฃๆžถๆž„่Œƒๅผ๏ผšไปŽๅŸบ็ก€ Axios ๅˆฐ React Query ็Šถๆ€่ฐƒๅบฆ๏ผŒๅ†ๅˆฐ tRPC ๅ’Œ GraphQL ๅธฆๆฅ็š„ๅ…จๆ ˆ็ฑปๅž‹ๅฎ‰ๅ…จไธŽๅคš็ซฏ่šๅˆใ€‚\\n> - ๅœจๅทฅ็จ‹ๅŒ–ไธŽๆœๅŠก็ซฏๆจกๅ—๏ผŒๆ–‡็ซ ๅ…จ้ขๆ‹ฅๆŠฑ Viteใ€Rsbuild ็ญ‰ๆž้€Ÿๆž„ๅปบๅทฅๅ…ท๏ผŒๅนถๅ‰–ๆžไบ† Next.js/N\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/03.ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผšๅฐ†้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/03.ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผšๅฐ†้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"frontmatter\":{\"date\":\"2026-02-06 15:48:23\",\"title\":\"ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผš้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผš้ขๅฏนๅฑ‚ๅ‡บไธ็ฉท็š„ Promptใ€MCPใ€Skills ๅ’Œ Subagents๏ผŒๅพˆๅคšๅผ€ๅ‘่€…ๅ’Œไบงๅ“็ป็†ๅธธๆ„Ÿๅˆฐๅ›ฐๆƒ‘๏ผš่ฟ™ไบ›็ป„ไปถ็ฉถ็ซŸๆ˜ฏ้‡ๅค้€ ่ฝฎๅญ๏ผŒ่ฟ˜ๆ˜ฏๅ„ๅธๅ…ถ่Œ็š„็งฏๆœจ๏ผŸๆœฌๆ–‡ๅฐ†ๆทฑๅบฆๆ‹†่งฃ Agentic ็”Ÿๆ€็š„ไบ”ๅคงๆ ธๅฟƒๆ”ฏๆŸฑ๏ผŒๆญ็คบๅฆ‚ไฝ•้€š่ฟ‡ไผ˜้›…็š„ๆžถๆž„่ฎพ่ฎกๅฎž็ŽฐๅๅŒ้—ญ็Žฏ๏ผŒๅฐ†้›ถๆ•ฃ็š„ AI ็ป„ไปถๆ‹ผ่ฃ…ๆˆไธ€ๅฅ—ๅฏๆŒ็ปญ่ฟ›ๅŒ–็š„ AI ๅŽŸ็”Ÿๆ“ไฝœ็ณป็ปŸ๏ผŒๆŠŠ็ขŽ็‰‡ๅŒ–็š„ AI ่ƒฝๅŠ›่ฝฌๅŒ–ไธบ้ซ˜ๅฏ็”จ็š„็”ŸไบงๅŠ›ๆตใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/ai-practice/agent_components_zh.png\",\"permalink\":\"/ai-agent/composition-ai-components\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"],\"tags\":[\"Agent\",\"AI\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผš้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"date\":\"2026-02-06 15:48:23\",\"capture\":\"<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/ai-practice/agent_components_zh.png\\\" style=\\\"width: 100%; border-radius: 8px; margin-bottom: 20px;\\\" alt=\\\"about site background\\\">\\n 1. ๅผ•่จ€\\n> ้—ฎ้ข˜๏ผšๅœจๆ™บ่ƒฝไฝ“็”Ÿๆ€้‡Œ๏ผŒๅ„ไธช็ป„ไปถๅˆฐๅบ•ๆ˜ฏๆ€ŽไนˆๅๅŒๅทฅไฝœ็š„๏ผŸ\\nๅฝ“ๅ‰๏ผŒAgent๏ผˆๆ™บ่ƒฝไฝ“๏ผ‰ๆŠ€ๆœฏๅ‘ๅฑ•่ฟ…็Œ›๏ผŒๅ„็ง่ฎพ่ฎกๆจกๅผใ€ๆ ธๅฟƒ็ป„ไปถไธŽๅทฅไฝœๆœบๅˆถๅฑ‚ๅ‡บไธ็ฉทใ€‚้ขๅฏน็นๆ‚็š„ๆ™บ่ƒฝไฝ“็”Ÿๆ€\"}],\"01\":[{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/11. LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/11. LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-01-06 15:58:53\",\"title\":\"LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆˆช่‡ณ 2026 ๅนด๏ผŒLLM API ๆœๅŠกๅทฒๅฝขๆˆ\\\"ๅฎ˜ๆ–น็›ด่ฟž + ็ฌฌไธ‰ๆ–น่šๅˆ\\\"็š„ๅŒ่ฝจๆ ผๅฑ€๏ผŒๆจกๅž‹่ƒฝๅŠ›ใ€ๅฎšไปทใ€ๅˆ่ง„ๆ€งไธŽๆŽฅๅ…ฅไพฟๅˆฉๆ€งๅทฎๅผ‚ๆ˜พ่‘—ใ€‚ๆœฌๆ–‡ไปŽ้€‰ๅž‹ๅ‰ๆ้—ฎๅ‡บๅ‘๏ผŒ็ณป็ปŸๆขณ็†ๅ›ฝ้™…ไธŽๅ›ฝๅ†…ไธปๆตๅฎ˜ๆ–น API ๅนณๅฐ๏ผŒไปฅๅŠ OpenRouterใ€็ก…ๅŸบๆตๅŠจ็ญ‰็ฌฌไธ‰ๆ–น่šๅˆๅนณๅฐ็š„ๆ ธๅฟƒ็‰น็‚น๏ผŒๅนถๆไพ›ๅŸบไบŽๅœบๆ™ฏ็š„ๅ†ณ็ญ–ๆก†ๆžถ๏ผŒๅธฎๅŠฉๅผ€ๅ‘่€…ๅ’Œไบงๅ“ๅ›ข้˜Ÿๅฟซ้€Ÿ้”ๅฎšๆœ€้€‚ๅˆ่‡ชๅทฑ็š„ๆ–นๆกˆใ€‚\",\"permalink\":\"/ai-learning/llm-api-resources\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"LLM API\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"date\":\"2026-01-06 15:58:53\",\"capture\":\"1. ้€‰ๆจกๅž‹ๅ‰๏ผŒๅ…ˆๆƒณๆธ…ๆฅš่ฟ™ๅ‡ ไปถไบ‹\\nๅœจๅฏนๆฏ”ๅ…ทไฝ“ๅนณๅฐไน‹ๅ‰๏ผŒๅฏไปŽไปฅไธ‹ๅ››ไธช็ปดๅบฆๆขณ็†่‡ช่บซ่ฏ‰ๆฑ‚๏ผŒ้ฟๅ…\\\"็œผ่Šฑ็ผญไนฑๅŽ้šไพฟ้€‰ไธ€ไธช\\\"๏ผš\\n| ็ปดๅบฆ | ๅ…ณ้”ฎ้—ฎ้ข˜ | ๅฝฑๅ“ๅ†ณ็ญ– |\\n|:-----|:--------|:--------|\\n| ไปปๅŠก็ฑปๅž‹ | ๆ˜ฏ้€š็”จๅฏน่ฏใ€ไปฃ็ ็”Ÿๆˆใ€้•ฟๆ–‡ๆกฃๅˆ†ๆž๏ผŒ่ฟ˜ๆ˜ฏๅคšๆจกๆ€็†่งฃ๏ผŸ | ไธๅŒๆจกๅž‹ๅœจๅž‚็›ด่ƒฝๅŠ›ไธŠๅทฎ่ทๆ‚ฌๆฎŠ |\\n| ๆˆๆœฌ้ข„็ฎ— | ๆฏๆœˆ่ฐƒ็”จ้‡็บง๏ผŸ่ƒฝๅฆๆŽฅๅ—ๆตทๅค–็ป“็ฎ—ไธŽๆฑ‡็އ้ฃŽ้™ฉ๏ผŸ | ๅ›ฝไบงๆจกๅž‹ Token ไปทๆ ผ้€šๅธธไฝŽ 3๏ฝž10 ๅ€ |\\n| ๅˆ่ง„ไธŽ้ƒจ็ฝฒ | ๆ•ฐๆฎ่ƒฝๅฆๅ‡บๅขƒ๏ผŸ่ƒฝๅฆไฝฟ็”จๆตทๅค–ๆœๅŠก๏ผŸๆ˜ฏๅฆ้œ€่ฆ็งๆœ‰ๅŒ–้ƒจ็ฝฒ๏ผŸ | ๆถ‰ๅŠๆ”ฟๅŠก/้‡‘่ž/ๅŒป็–—ๅœบๆ™ฏๅฟ…้กป่€ƒ่™‘ |\\n| ็ฝ‘็ปœ็Žฏๅขƒ | ๅผ€ๅ‘/้ƒจ็ฝฒ็Žฏๅขƒ่ƒฝๅฆ็จณๅฎš่ฎฟ\"}]},\"2025 \":{\"10\":[{\"url\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"relativePath\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"frontmatter\":{\"date\":\"2025-10-24 11:05:50\",\"title\":\"ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจ AI ้‡ๅก‘่ฝฏไปถๅทฅ็จ‹็š„ไปŠๅคฉ๏ผŒๅ…จๆ ˆไธๅ†ๆ˜ฏๆŠ€ๆœฏ็š„็บฟๆ€งๅ ๅŠ ๏ผŒๆญฃๅœจไปŽโ€œๆŠ€ๆœฏๆ ˆๅ †็ Œโ€่ฝฌๅ‘โ€œ่ฎค็Ÿฅๆ ˆ้‡ๆž„โ€ใ€‚ๆœฌๆ–‡ๆๅ‡บ โ€œ(ๅทฅ็จ‹ + ไบงๅ“) ร— AIโ€ ็š„ๆ–ฐๅ…ฌๅผ๏ผŒๅŠฉๅŠ›ๅผ€ๅ‘่€…ๆž„ๅปบโ€œๆดžๅฏŸ-ๆžถๆž„-ๆ ๆ†โ€่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”๏ผŒๅˆฉ็”จ AI ๆ ๆ†่ฎฉ่‡ชๅทฑ่ฟ›ๅŒ–ไธบไปทๅ€ผๅˆ›้€ ่€…ใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"permalink\":\"/fullstack/ai-native\",\"sticky\":1,\"top\":true,\"tags\":[\"ๅ…จๆ ˆ\",\"AI\",\"ไบงๅ“\"],\"categories\":[\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"date\":\"2025-10-24 11:05:50\",\"capture\":\"<script setup>\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n 1. ๅผ•่จ€\\nๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒๅฝ“ๆˆ‘ไปฌ่ฐˆ่ฎบโ€œๅ…จๆ ˆๅทฅ็จ‹ๅธˆโ€ๆ—ถ๏ผŒ่„‘ๆตทไธญๆตฎ็Žฐ็š„ๅพ€ๅพ€ๆ˜ฏไธ€ๅผ ๅ†—้•ฟไธ”ไปคไบบ็–ฒๆƒซ็š„ๆŠ€ๆœฏๅทฅๅบๆธ…ๅ•ใ€‚\\nๅฐฑๅƒๆˆ‘ๆ›พ็ปไปฅไธบ็š„้‚ฃๆ ท๏ผŒๅ…จๆ ˆๅฐฑๆ˜ฏ็บฟๆ€ง็š„ๆŠ€่ƒฝๅ ๅŠ ไธŽ็‰ฉ็†ๅผ็š„ๆŠ€ๆœฏๆ‹ผๆŽฅ๏ผŒๆ˜ฏไธ€็งไพ้ ไบบๅŠ›ๅŽปๅกซ่กฅๆŠ€ๆœฏ้ธฟๆฒŸ็š„โ€œ่ฅฟ่ฅฟๅผ—ๆ–ฏๅผโ€ๅŠชๅŠ›๏ผš\\n* ็บฟๆ€ง็š„ๆŠ€่ƒฝๅ ๅŠ ๏ผšๆˆ‘ไปฌ่ขซ่ฟซๆˆไธบโ€œๅ…จ่ƒฝๆ‰‹โ€๏ผŒๅทฆๆ‰‹็”จ React/Vue ๆž„ๅปบ็ฒพ็พŽ็š„ UI๏ผŒๅณๆ‰‹็”จ Node/Go ็ผ–ๅ†™้ซ˜ๅนถๅ‘ API๏ผŒไธญ้—ด่ฟ˜่ฆๅค„็†ๆ•ฐๆฎๅบ“็š„ ACI\"},{\"url\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/21.ๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense\",\"relativePath\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/21.ๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense\",\"frontmatter\":{\"date\":\"2025-10-23 16:05:50\",\"title\":\"ๅฝ“โ€œๅฎž็Žฐโ€ไธๅ†ๆ˜ฏๅฃๅž’๏ผšๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense๏ผŸ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ AI ่ฎฉไปฃ็ ็”Ÿๆˆ็š„่พน้™…ๆˆๆœฌ่ถ‹่ฟ‘ไบŽ้›ถ๏ผŒโ€œๆŠ€ๆœฏๅฎž็Žฐโ€ไธๅ†ๆ˜ฏไธๅฏ้€พ่ถŠ็š„ๅฃๅž’๏ผŒโ€œไบงๅ“ๆดžๅฏŸโ€่ƒฝๆž„็ญ‘่ตทๆ–ฐ็š„ๆ ธๅฟƒๆŠคๅŸŽๆฒณใ€‚ๆœฌๆ–‡ๆ‹’็ป็Ž„ๅญฆ๏ผŒๅฐ†ๆŠฝ่ฑก็š„ ไบงๅ“ Sense ่งฃๆž„ไธบไธ‰ไธชๆ ธๅฟƒๆ•ฐๅญฆๅ…ฌๅผ๏ผŒๅนถๆไพ›ไธ€ๅฅ—ๅŸบไบŽโ€œ้€†ๅ‘ๅทฅ็จ‹โ€็š„ๅˆปๆ„็ปƒไน ๆŒ‡ๅ—๏ผŒๅŠฉๅŠ›ๅผ€ๅ‘่€…ๅœจ็ฎ—ๅŠ›่ฟ‡ๅ‰ฉ็š„ๆ—ถไปฃ๏ผŒๅฎŒๆˆไปŽโ€œไปฃ็ ๅทฅๅŒ โ€ๅˆฐโ€œไปทๅ€ผๅˆ›้€ ่€…โ€็š„่ฎค็Ÿฅ่ทƒ่ฟใ€‚\",\"sticky\":1,\"top\":true,\"categories\":[\"ไบงๅ“ Sense\",\"AI\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense/engineer-build-product-sense\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฝ“โ€œๅฎž็Žฐโ€ไธๅ†ๆ˜ฏๅฃๅž’๏ผšๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense๏ผŸ\",\"date\":\"2025-10-23 16:05:50\",\"capture\":\"1. ๅผ•่จ€\\nๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒไบงๅ“ Sense๏ผˆไบงๅ“ๆ„Ÿ๏ผ‰ ่ขซ่ง†ไธบไธ€็ง็Ž„ๅญฆใ€‚ๅฎƒไผผไนŽๆ˜ฏไน”ๅธƒๆ–ฏๅผ็š„็ตๅ…‰ไธ€็Žฐ๏ผŒๆˆ–ๆ˜ฏๅผ ๅฐ้พ™ๅผ็š„โ€œ็‹ฌๆ–ญไธ“่กŒโ€ใ€‚\\nไฝ†ๅฏนไบŽๅคงๅคšๆ•ฐๅทฅ็จ‹ๅธˆใ€ไบงๅ“็ป็†ไนƒ่‡ณ็‹ฌ็ซ‹ๅผ€ๅ‘่€…่€Œ่จ€๏ผŒๅฐ†่ƒฝๅŠ›ๅฏ„ๆ‰˜ไบŽโ€œๅคฉ่ต‹โ€ๆ˜ฏๅฑ้™ฉ็š„ใ€‚ๆˆ‘่ฎคไธบ๏ผŒไบงๅ“ Sense ๅนถ้žไธๅฏๆ‰ๆ‘ธ็š„้ป‘้ญ”ๆณ•๏ผŒ่€Œๆ˜ฏไธ€ๅฅ—็ป่ฟ‡้ซ˜้ข‘่ฎญ็ปƒๅŽๅ†…ๅŒ–ไธบๆœฌ่ƒฝ็š„ๆ€็ปด็ฎ—ๆณ•ใ€‚ ๅฐฑๅƒ่ต„ๆทฑ็จ‹ๅบๅ‘˜็œ‹ๅˆฐไธ€ๆฎตไปฃ็ ๅฐฑ่ƒฝๅ—…ๅ‡บ \\\"Code Smell\\\"๏ผˆไปฃ็ ๅผ‚ๅ‘ณ๏ผ‰๏ผŒ่ต„ๆทฑไบงๅ“ไบบไนŸ่ƒฝๅœจ็žฌ้—ดๅˆคๆ–ญไธ€ไธช้œ€ๆฑ‚ๆ˜ฏโ€œ็œŸ็—›็‚นโ€่ฟ˜ๆ˜ฏโ€œไผช้œ€ๆฑ‚โ€ใ€‚\\nไธ€ไธชๆˆๅŠŸ็š„ไบงๅ“ๅ†ณ็ญ–๏ผŒๅพ€ๅพ€ๅ‘็”Ÿๅœจไธ‰ไธช็ปดๅบฆ็š„ไบคๆฑ‡็‚น๏ผš\\n* ็”จๆˆทไปทๅ€ผๆดžๅฏŸ๏ผˆUser Value Insight๏ผ‰๏ผšไธไป…ๅฌๆ‡‚็”จๆˆท่ฏดโ€œๆƒณ่ฆๆ›ดๅฟซ็š„้ฉฌโ€๏ผŒๆ›ด่ƒฝๆดžๅฏŸไป–ๅ…ถๅฎžโ€œๆƒณๆ›ด\"}],\"11\":[{\"url\":\"/01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ\",\"frontmatter\":{\"date\":\"2025-11-25 00:52:28\",\"title\":\"AI ็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡ๆทฑๅบฆ่งฃๆžไบ† AI ้ฉฑๅŠจ็ผ–็จ‹็š„ไธ‰ๅคงๆผ”่ฟ›่Œƒๅผ๏ผšVibe Coding๏ผˆ่‡ช็„ถ่ฏญ่จ€้›ถ้—จๆง›ๆž„ๅปบ๏ผ‰ใ€AI IDE๏ผˆ็ผ–่พ‘ๅ™จๆทฑๅบฆ่พ…ๅŠฉๆๆ•ˆ๏ผ‰ๅŠ Agentic Engineering๏ผˆ่‡ชไธปๅทฅ็จ‹ๅธˆๆ‰ง่กŒไปปๅŠก๏ผ‰ใ€‚้€š่ฟ‡ๆจชๅ‘ๅฏนๆฏ” Bolt.newใ€Cursorใ€Claude Code ็ญ‰ๅ‰ๆฒฟๅทฅๅ…ท๏ผŒๆ–‡็ซ ๅ‹พๅ‹’ๅ‡บไธ€ๆกไปŽโ€œๅฟซ้€ŸๅŽŸๅž‹โ€ๅˆฐโ€œ้ซ˜ๆ•ˆๅๅŒโ€ๅ†ๅˆฐโ€œ่‡ชไธปไบคไป˜โ€็š„่ฟ›้˜ถ่ทฏๅพ„ใ€‚ๆ ธๅฟƒๆ—จๅœจๆŒ‡ๅฏผ็”จๆˆทๅˆฉ็”จ AI ๅทฅๅ…ท็Ÿฉ้˜ตๆ‰“็ ดๆŠ€ๆœฏ่พน็•Œ๏ผŒๅฎž็ŽฐไปŽๅˆ›ๆ„ๆ่ฟฐๅˆฐๅทฅไธš็บงไบคไป˜็š„็”ŸไบงๅŠ›้ฃž่ทƒ๏ผŒ้‡ๅก‘่ฝฏไปถๅผ€ๅ‘ๅ…จ็”Ÿๅ‘ฝๅ‘จๆœŸใ€‚\",\"permalink\":\"/ai-learning/ai-coding-resources\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/source_sites_bg.png\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"AI Coding\",\"Vibe Coding\",\"Agentic Engineering\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"AI ็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่\",\"date\":\"2025-11-25 00:52:28\",\"capture\":\"1. ไธ‰็ง็ผ–็จ‹่Œƒๅผ้€Ÿ่งˆ\\n| ่Œƒๅผ | ไธ€ๅฅ่ฏๆ่ฟฐ | ไฝ ็š„่ง’่‰ฒ |\\n|:-----|:---------|:--------|\\n| Vibe Coding | ็”จ่‡ช็„ถ่ฏญ่จ€ๆ่ฟฐ้œ€ๆฑ‚๏ผŒAI ็›ดๆŽฅ็”Ÿๆˆๅฏ่ฟ่กŒ็š„ๅฎŒๆ•ด้กน็›ฎ | ๆ่ฟฐ้œ€ๆฑ‚๏ผŒ่ฎฉ AI ๅ†™ไปฃ็ (```ๆ–ฐๆ‰‹ๅ‹ๅฅฝ```) |\\n| AI IDE | ๅœจ็ผ–่พ‘ๅ™จ้‡Œๅผ•ๅ…ฅ AI ่พ…ๅŠฉ๏ผŒ่พนๅ†™่พน่กฅๅ…จใ€่พน้—ฎ่พนๆ”น | ไธปๅฏผๅผ€ๅ‘๏ผŒ่ฎฉ AI ๅšๅ‰ฏ้ฉพ้ฉถ(```ๆ›ดๅคšๆŽงๅˆถ```) |\\n| Agentic Engineering | AI ไฝœไธบ\\\"่‡ชไธปๅทฅ็จ‹ๅธˆ\\\"๏ผŒๆŽฅๆ”ถไปปๅŠกๅŽ่‡ชๅŠจ่ง„ๅˆ’ๅนถๆ‰ง่กŒๅ…จๅฅ—ไปฃ็ ๅทฅไฝœๆต | ๆไปปๅŠกใ€ๅฎก็ป“ๆžœ๏ผŒ่ฎฉ AI ๆ‰ง่กŒ(```ๆž่‡ดๆๆ•ˆ```) |\\nๆ–ฐๆ‰‹่ทฏ็บฟๅปบ่ฎฎ๏ผšๅ…ˆ\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"frontmatter\":{\"date\":\"2025-11-25 00:52:28\",\"title\":\"ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไธบไพฟไบŽ้ซ˜ๆ•ˆๅˆฉ็”จ AI ๅทฅๅ…ทๆๅ‡ๅญฆไน ใ€ๆœ็ดขๅ’Œๅˆ›ไฝœๆ•ˆ็އ๏ผŒๆœฌๆ–‡็ณป็ปŸๆ•ด็†ไบ†ไธปๆต็š„ AI ๅŠฉๆ‰‹ไธŽๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐ็›ธๅ…ณ่ต„ๆบใ€‚ๅ†…ๅฎนๅˆ†ไธบโ€œAI ๅŠฉๆ‰‹โ€๏ผˆๅฆ‚ ChatGPTใ€Claudeใ€Gemini ็ญ‰ๅฏน่ฏๅผๅŠฉๆ‰‹๏ผ‰ๅ’Œโ€œๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐโ€๏ผˆๅฆ‚ๅ†™ไฝœใ€็ป˜็”ป็ญ‰้ข†ๅŸŸ็š„ AI ๅทฅๅ…ทไธŽๅนณๅฐ๏ผ‰๏ผŒไธ”ๆ ‡ๆณจไบ†ๅ…ถๆ ธๅฟƒ่ƒฝๅŠ›ใ€้€‚ๅˆๅœบๆ™ฏ๏ผŒไปฅๅŠ็‰น่‰ฒไผ˜ๅŠฟใ€‚\",\"permalink\":\"/ai-learning/tools-assistant\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/source_sites_bg.png\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"AI ๅŠฉๆ‰‹\",\"AI ๆœ็ดข\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"date\":\"2025-11-25 00:52:28\",\"capture\":\"1. AI ๅŠฉๆ‰‹\\n> ้€‰ๆ‹ฉๅปบ่ฎฎ๏ผš ่‹ฑๆ–‡ไธบไธป โ†’ ไผ˜ๅ…ˆ ChatGPT / Claude / Gemini๏ผ›ไธญๆ–‡ไธบไธป โ†’ ไผ˜ๅ…ˆ Kimi / DeepSeek / ้€šไน‰ๅƒ้—ฎ๏ผ›้œ€่ฆ่”็ฝ‘ๅฎžๆ—ถไฟกๆฏ โ†’ Gemini / Grok๏ผ›้œ€่ฆๅˆ†ๆž้•ฟๆ–‡ๆกฃ โ†’ Claude / Kimi๏ผ›่ฟฝๆฑ‚ไฝŽๆˆๆœฌๅผ€ๆบ้ƒจ็ฝฒ โ†’ DeepSeekใ€‚\\n>\\n> ๆณจ๏ผš็›ฎๅ‰ๅ›ฝๅค–ๆจกๅž‹๏ผˆๅฆ‚ ChatGPTใ€Claudeใ€Gemini ็ญ‰๏ผ‰ๅœจ่‹ฑๆ–‡ๅค„็†ใ€ๅคšๆจกๆ€่ƒฝๅŠ›ใ€ๆ’ไปถ็”Ÿๆ€ๅ’Œ API ไธฐๅฏŒๆ€ง็ญ‰ๆ–น้ข๏ผŒๆ•ดไฝ“ไธŠไพ็„ถไผ˜ไบŽๅ›ฝๅ†…ๆจกๅž‹๏ผŒ้€‚ๅˆๅฏน่‹ฑๆ–‡ๅˆ›ไฝœใ€ๅคš่ฏญ่จ€ๆฒŸ้€šใ€ๅคๆ‚ๆŽจ็†ใ€ไปฃ็ ๅŠฉๆ‰‹็ญ‰ๅœบๆ™ฏๆœ‰ๆ›ด้ซ˜่ฆๆฑ‚็š„็”จๆˆทใ€‚ไธ่ฟ‡๏ผŒๅ›ฝๅ†…ๆจกๅž‹ๅœจไธญๆ–‡็†่งฃใ€ๆœฌๅœฐๅŒ–ใ€ๅˆ่ง„\"},{\"url\":\"/10.ไบงๅ“ Sense/04.ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–/30.ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹่ฏปๅŽๆ„Ÿ\",\"relativePath\":\"/10.ไบงๅ“ Sense/04.ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–/30.ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹่ฏปๅŽๆ„Ÿ\",\"frontmatter\":{\"date\":\"2025-11-24 21:50:00\",\"title\":\"ๆ”พๅผƒๅขž้•ฟๆ‰งๅฟต๏ผŒไธบไป€ไนˆโ€œๅฐ่€Œ็พŽโ€ๆ‰ๆ˜ฏๅฏๆŒ็ปญไน‹่ทฏ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒ็ง‘ๆŠ€ไบ’่”็ฝ‘่กŒไธš็š„ๅ™ไบ‹้ƒฝ่ขซโ€œไธๆƒœไธ€ๅˆ‡ไปฃไปทๅฎž็Žฐ่ถ…็บฟๆ€งๅขž้•ฟโ€ๆ‰€ไธปๅฏผใ€‚ไปฟไฝ›ๅชๆœ‰ๆ‹ฟๅˆฐๅทจ้ข่ž่ต„ใ€็–ฏ็‹‚ๆ‹›ไบบใ€ๆˆไธบไผฐๅ€ผ็ ด็™พไบฟ็š„ๅบž็„ถๅคง็‰ฉ๏ผŒๆ‰็ฎ—ๅพ—ไธŠๆ˜ฏๆˆๅŠŸ็š„ๅˆ›ไธšใ€‚็„ถ่€Œ๏ผŒ่ฏปๅฎŒ่จๅธŒๅฐ”ยทๆ‹‰ๆ–‡ๅ‰ไบš็š„ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹ๅŽ๏ผŒ็ฌ”่€…่Žทๅพ—ไบ†ไธ€็งๆˆช็„ถไธๅŒ็š„ๅ•†ไธš่ง†่ง’๏ผšไผไธšๅญ˜ๅœจ็š„้ฆ–่ฆ็›ฎ็š„ไธๆ˜ฏไธบไบ†่ž่ต„ๅ’Œๆ‰ฉๅผ ๏ผŒ่€Œๆ˜ฏไธบไบ†้€š่ฟ‡่งฃๅ†ณ้—ฎ้ข˜ๆฅ่Žทๅพ—ๆŒ็ปญ็š„็›ˆๅˆฉใ€‚ ๆœฌๆ–‡็ป“ๅˆไนฆไธญ็š„ๆ ธๅฟƒ่ฎบ็‚นไธŽ่‡ช่บซ็š„็ ”ๅ‘่ง†่ง’๏ผŒๆŠŠๅฐ†่ฟ™ๆœฌไนฆ่ƒŒๅŽ็š„็ป่ฅ้€ป่พ‘ไธŽไบงๅ“ๅ“ฒๅญฆๆขณ็†ไธบๅ‡ ไธชๆ ธๅฟƒๅฑ‚้ข็š„ๆ€่€ƒใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense/small-rule-learn\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"ไบงๅ“ Sense\",\"ๅ•†ไธšๅŒ–\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆ”พๅผƒๅขž้•ฟๆ‰งๅฟต๏ผŒไธบไป€ไนˆโ€œๅฐ่€Œ็พŽโ€ๆ‰ๆ˜ฏๅฏๆŒ็ปญไน‹่ทฏ\",\"date\":\"2025-11-24 21:50:00\",\"capture\":\"ไนฆๅ๏ผšใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹\\nไฝœ่€…๏ผš[็พŽ] ่จๅธŒๅฐ”ยทๆ‹‰ๆ–‡ๅ‰ไบš\\nๆ ธๅฟƒๆ ‡็ญพ๏ผšๆž็ฎ€ๅˆ›ไธš๏ฝœ็คพๅŒบๆœฌไฝ๏ฝœๆŒ็ปญ็›ˆๅˆฉ๏ฝœๅˆ›ไฝœ่€…็ปๆตŽ\\nไธ€ๅฅ่ฏ็ฎ€่ฏ„๏ผšๅœจ็›ฒ็›ฎๅด‡ๆ‹œ่ง„ๆจกๆ‰ฉๅผ ็š„ๅ•†ไธš่ฏญๅขƒไธ‹๏ผŒ่ฟ™ๆ˜ฏไธ€ไปฝๅ†™็ป™็‹ฌ็ซ‹ๅˆ›ไฝœ่€…ไธŽๅผ€ๅ‘่€…็š„ๆธ…้†’ๆŒ‡ๅ—๏ผŒๆ•™ไผšๆˆ‘ไปฌๅฆ‚ไฝ•็”จๆœ€ๅฐ‘็š„่ต„ๆบ๏ผŒ่งฃๅ†ณ็œŸๅฎž็š„็—›็‚น๏ผŒๅนถ่Žทๅพ—้•ฟไน…็š„่‡ช็”ฑใ€‚\\nๆ›ดๅคšไนฆ็ฑๆŽจ่ไฟกๆฏๅฏๅ‚่€ƒ๏ผšไบงๅ“ Sense ไธŽๅ•†ไธšๅŒ–\\n 1. ็คพๅŒบๅ…ˆ่กŒ๏ผšไปŽโ€œๆˆ‘ๆ˜ฏ่ฐโ€ๅˆฐโ€œๆˆ‘่ƒฝไธบ่ฐ่งฃๅ†ณ้—ฎ้ข˜โ€\\nไผ ็ปŸๅ•†ไธš้€ป่พ‘ๅพ€ๅพ€ๆ˜ฏๅ…ˆๆž„ๆ€ไธ€ไธชๅฎๅคง็š„็‚นๅญ๏ผŒ้—ญ้—จ้€ ่ฝฆๆ‰“็ฃจไบงๅ“๏ผŒๆœ€ๅŽๅ†็ ธ้’ฑๅŽปๅธ‚ๅœบไธŠๅฏปๆ‰พ็›ฎๆ ‡็”จๆˆทใ€‚่€Œๆœฌไนฆๆๅ‡บไบ†ไธ€ไธช้ข ่ฆ†ๆ€ง็š„ๅๅ‘่ทฏๅพ„๏ผš็คพๅŒบ $\\\\rightarrow$ ้—ฎ้ข˜ $\\\\rightarrow$ ๆต็จ‹ $\\\\rightarrow$\"},{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/11.React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/11.React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"frontmatter\":{\"date\":\"2025-11-15 09:20:23\",\"title\":\"ไธๆญขไบŽ Fetch๏ผšReact ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"aliases\":[\"SWR\",\"TanStack Query\",\"React\",\"ๆœๅŠก็ซฏ็Šถๆ€\",\"ไน่ง‚ๆ›ดๆ–ฐ\",\"ๅทฅ็จ‹ๅŒ–\"],\"tldr\":\"ๆทฑๅ…ฅ่งฃๆž SWR ็š„ๆž็ฎ€ๅ่ฎฎไธŽ TanStack Query ็š„็ฒพๅฏ†็Šถๆ€ๆœบใ€‚้€š่ฟ‡ๅฏนๆฏ”็ผ“ๅญ˜ๅคฑๆ•ˆใ€ไน่ง‚ๆ›ดๆ–ฐ็ญ‰ๆ ธๅฟƒๅœบๆ™ฏ๏ผŒไธบ้ซ˜ๅคๆ‚ๅบฆ B ็ซฏๅบ”็”จไธŽ่ฝป้‡็บง้กน็›ฎๆไพ›ๆธ…ๆ™ฐ็š„ๆžถๆž„้€‰ๅž‹ๆจกๅž‹ใ€‚\",\"description\":\"ๆทฑๅบฆๅฏนๆฏ” React ็”Ÿๆ€ไธญ SWR ไธŽ TanStack Query ไธคๅคงๆ–นๆกˆใ€‚ไปŽ stale-while-revalidate ๆœบๅˆถๅˆฐๅผ‚ๆญฅ็Šถๆ€ๆœบๆžถๆž„๏ผŒๆถต็›–ไพ่ต–ๆŸฅ่ฏขใ€ๆ•ฐๆฎ่ฝฌๆขๅŠๆžถๆž„็บงไน่ง‚ๆ›ดๆ–ฐๅฎžๆˆ˜ใ€‚ๆ—จๅœจๅธฎๅŠฉๅผ€ๅ‘่€…ๅœจๅคๆ‚ไธšๅŠกไธญๆž„ๅปบ็กฎๅฎšๆ€ง็š„ๆœๅŠก็ซฏ็Šถๆ€ๅŸบๅบงใ€‚\",\"permalink\":\"/fullstack/server-state-management\",\"tags\":[\"SWR\",\"TanStack Query\",\"ๅ‰็ซฏๅทฅ็จ‹\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไธๆญขไบŽ Fetch๏ผšReact ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"date\":\"2025-11-15 09:20:23\",\"capture\":\"1. ๅผ•่จ€\\nๅœจ็Žฐไปฃๅ‰็ซฏๅทฅ็จ‹ไธญ๏ผŒ็Šถๆ€ๅฏไธฅๆ ผๅŒบๅˆ†ไธบ UI ็Šถๆ€๏ผˆUI State๏ผ‰ ไธŽ ๆœๅŠก็ซฏ็Šถๆ€๏ผˆServer State๏ผ‰ ไธค็ฑปใ€‚ๅฏนไบŽ UI ็Šถๆ€็š„็ฎก็†๏ผŒๅผ€ๅ‘่€…ๅทฒ่พƒไธบ็†Ÿๆ‚‰๏ผŒ้€šๅธธๅฏๅ€ŸๅŠฉ `useState`ใ€`useEffect` ็ญ‰ Hooks๏ผŒๆˆ– `zustand`ใ€`jotai` ็ญ‰็Šถๆ€็ฎก็†ๅบ“ๆฅๅฎž็Žฐใ€‚็„ถ่€Œ๏ผŒๆœๅŠก็ซฏ็Šถๆ€็š„็ฎก็†ๅพ€ๅพ€็ผบไน็ปŸไธ€ไธ”้ซ˜ๆ•ˆ็š„่งฃๅ†ณๆ–นๆกˆ๏ผŒๅผ€ๅ‘่€…้€šๅธธ้œ€่ฆ่‡ช่กŒๅฎž็Žฐใ€‚\\nๅœจไผ ็ปŸ็š„ๆ•ฐๆฎ่Žทๅ–ๆต็จ‹ไธญ๏ผŒๆˆ‘ไปฌไธ€่ˆฌไฝฟ็”จ `fetch` ๆˆ– `axios` ๅ‘ๅŽ็ซฏๆˆ– REST API ๅ‘้€ HTTP ่ฏทๆฑ‚๏ผŒ้šๅŽๆ‰‹ๅŠจๅฐ†ๆ•ฐๆฎ่Žทๅ–้€ป่พ‘ไธŽๅ‰็ซฏไธšๅŠก้€ป่พ‘ๅŠ UI ็Šถๆ€็ฎก็†่ฟ›่กŒๆ•ดๅˆ๏ผŒไปฅๅฎŒๆˆๆ•ฐๆฎๅค„็†ๅนถ้ฉฑๅŠจ็•Œ้ขๆ›ดๆ–ฐ\"},{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2025-11-14 22:33:39\",\"title\":\"JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"aliases\":[\"้™ๆ€็ซ™็‚น็”Ÿๆˆๅ™จ\",\"SSG\"],\"tldr\":\"้ข„ๆธฒๆŸ“้™ๆ€้กต้ข + ๅŠจๆ€ API๏ผŒCDN ๅˆ†ๅ‘ๅ…จ็ƒ๏ผŒๆ›ฟไปฃไผ ็ปŸๅŠจๆ€็ฝ‘็ซ™็š„ๅผ€ๅ‘้ƒจ็ฝฒ่Œƒๅผ\",\"description\":\"ไปŽๆ ธๅฟƒๆฆ‚ๅฟตใ€ๅทฅๅ…ท้“พ้€‰ๅž‹๏ผˆNext.js/Vercel/Supabase/Contentful๏ผ‰ๅˆฐไปŽ 0 ๆญๅปบๅšๅฎข็š„ๅฎŒๆ•ดๅฎž่ทต๏ผŒ่ฆ†็›– JAMStack ้€‚็”จไธŽไธ้€‚็”จๅœบๆ™ฏ๏ผŒๅธฎๅŠฉๅˆคๆ–ญไฝ•ๆ—ถ้€‰็”จ่ฏฅๆžถๆž„ใ€‚\",\"permalink\":\"/fullstack/jamstack\",\"tags\":[\"tutorial\",\"jamstack\",\"frontend-architecture\",\"next.js\",\"static-site-generator\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2025-11-14 22:33:39\",\"capture\":\"> \\n> ๅ…ถๆ ธๅฟƒๆœบๅˆถๆ˜ฏๅœจๆž„ๅปบๆ—ถๅฐ†้กต้ข้ข„ๆธฒๆŸ“ไธบ้™ๆ€ HTML/CSS/JS๏ผŒ้ƒจ็ฝฒ่‡ณ CDN ไพ›็”จๆˆทๅฐฑ่ฟ‘ๅŠ ่ฝฝ๏ผŒไป…ๅœจ้œ€่ฆๅŠจๆ€ๆ•ฐๆฎๆ—ถ้€š่ฟ‡ JavaScript ่ฐƒ็”จ API ่Žทๅ–ใ€‚็›ธ่พƒไบŽไผ ็ปŸๅŠจๆ€็ฝ‘็ซ™๏ผŒJAMStack ๅœจๆ€ง่ƒฝใ€ๅฏ้ ๆ€งใ€ๆ‰ฉๅฑ•ๆ€งใ€ๅฎ‰ๅ…จๆ€งๅŠ่ฟ็ปดๆˆๆœฌไธŠๅ…ทๆœ‰ๆ˜พ่‘—ไผ˜ๅŠฟใ€‚\\n> \\n> ๆœฌๆ–‡ๆขณ็†ไบ†ไธปๆตๆž„ๅปบๅทฅๅ…ท๏ผˆGatsbyใ€Next.jsใ€Nuxt.jsใ€11ty๏ผ‰ใ€้™ๆ€ๆ‰˜็ฎกๅนณๅฐ๏ผˆVercelใ€Netlifyใ€Cloudflare Pages๏ผ‰ใ€API/BaaS ๆœๅŠก๏ผˆSupabaseใ€Firebaseใ€Auth0๏ผ‰ๅŠๆ— ๅคด CMS๏ผˆContentfulใ€Sanityใ€Strapi\"},{\"url\":\"/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/40.ๆดžๅฏŸๅŠ›ๆจกๅž‹\",\"relativePath\":\"/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/40.ๆดžๅฏŸๅŠ›ๆจกๅž‹\",\"frontmatter\":{\"date\":\"2025-11-14 16:00:00\",\"title\":\"ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผšๅฆ‚ไฝ•็œ‹้€ไบงๅ“ไธŽๆŠ€ๆœฏ่ƒŒๅŽ็š„็ณป็ปŸ้€ป่พ‘๏ผŸ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆ— ่ฎบๆ˜ฏๅšไบงๅ“ใ€ๆžๆŠ€ๆœฏ๏ผŒ่ฟ˜ๆ˜ฏๅบ”ๅฏนๆ—ฅๅธธๅทฅไฝœไธญ็š„ๅ„็งๆŒ‘ๆˆ˜๏ผŒไฝ ๆ˜ฏๅฆ้‡ๅˆฐ่ฟ‡่ฟ™ๆ ท็š„ๅ›ฐๅขƒ๏ผšๆ˜Žๆ˜ŽๆŒ‰็ป้ชŒ่กŒไบ‹๏ผŒๅดๅฑกๅฑก่ธฉๅ‘๏ผ›ๅˆš่งฃๅ†ณ่กจ้ข้—ฎ้ข˜๏ผŒ้šๆ‚ฃๅˆๅทๅœŸ้‡ๆฅใ€‚้—ฎ้ข˜ๆœชๅฟ…ๅ‡บๅœจๅŠชๅŠ›็จ‹ๅบฆ๏ผŒ่€ŒๅœจไบŽๆˆ‘ไปฌๅช็›ฏ็€่กจ่ฑก๏ผŒๅดๅฟฝ็•ฅไบ†่ƒŒๅŽ็œŸๆญฃ่ตทไฝœ็”จ็š„็ณป็ปŸ๏ผŒๆฒกๆœ‰็œ‹ๆ‡‚่—ๅœจ่ƒŒๅŽ็š„็ณป็ปŸใ€‚ไธบไป€ไนˆๅŒๆ ทๆ˜ฏ่งฃๅ†ณ้—ฎ้ข˜๏ผŒๆœ‰ไบบๅช่ƒฝโ€œๅคด็—›ๅŒปๅคดโ€๏ผŒๆœ‰ไบบๅด่ƒฝ็›ดๅ‡ปๆœฌ่ดจ๏ผŸ่ฟ™็ฏ‡ๆ–‡็ซ ๅฐ†็”จ้€šไฟ—ๆ˜“ๆ‡‚็š„ๆ–นๅผ๏ผŒๅธฆไฝ ๆ‹†่งฃไธ€ๅฅ—ๅฎž็”จ็š„ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผŒ่ฎฉๆˆ‘ไปฌๅญฆไผš้€่ฟ‡็Žฐ่ฑกๆŠ“ไฝๆœฌ่ดจ๏ผŒไปŽๆ นๆบไธŠ่งฃๅ†ณ้—ฎ้ข˜ใ€‚\",\"permalink\":\"/product-sense/insight-model\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"ไบงๅ“ Sense\",\"็ณป็ปŸๆดžๅฏŸๅŠ›\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผšๅฆ‚ไฝ•็œ‹้€ไบงๅ“ไธŽๆŠ€ๆœฏ่ƒŒๅŽ็š„็ณป็ปŸ้€ป่พ‘๏ผŸ\",\"date\":\"2025-11-14 16:00:00\",\"capture\":\"1. ่กจ่ฑก่ƒŒๅŽ่—็€ๅ†ณๅฎšไธ€ๅˆ‡็š„โ€œ็ณป็ปŸ้ป‘็›’โ€\\nๆˆ‘ไปฌๅœจๆ—ฅๅธธๅผ€ๅ‘ๆˆ–ไบงๅ“่ฎพ่ฎกไธญ๏ผŒๆ€ปๆ˜ฏ่ขซๅ„็งโ€œ่กจ่ฑกโ€ๅŒ…ๅ›ด๏ผšDAU ็ช็„ถไธ‹้™ไบ†ใ€็บฟไธŠๅ‡บ็Žฐไบ†ไธ€ไธชๅถ็Žฐ็š„ Bugใ€ๆŸไธชๅŠŸ่ƒฝ็š„่ฝฌๅŒ–็އไธๅŠ้ข„ๆœŸใ€‚ๆˆ‘ไปฌไน ๆƒฏไบ†็›ฏ็€่ฟ™ไบ›็œ‹ๅพ—่ง็š„็ป“ๆžœๆ‰พๅŽŸๅ› ๏ผŒๅดๅฟฝ็•ฅไบ†ไธ€ไธชๆ ธๅฟƒ็œŸ็›ธ๏ผšๆฏไธ€ไธช่กจ่ฑก่ƒŒๅŽ๏ผŒๅ…ถๅฎž้ƒฝ้š่—็€ไธ€ไธช่ฟ่ฝฌๅคๆ‚็š„โ€œ้ป‘็›’ๅญโ€๏ผŒๆญฃๆ˜ฏ่ฟ™ไธช้ป‘็›’ๅญๅ†ณๅฎšไบ†ไบ‹็‰ฉๅ‘ๅฑ•็š„ๅฎข่ง‚่ง„ๅพ‹ใ€‚ๆˆ‘ไปฌๅฏไปฅๆŠŠ่ฟ™ไธช้ป‘็›’ๅญ๏ผŒๅซๅšโ€œ็ณป็ปŸโ€ใ€‚\\n<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/product/system_tips.png\\\" style=\\\"width: 1\"},{\"url\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/21.ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"relativePath\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/21.ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"frontmatter\":{\"date\":\"2025-11-10 12:52:28\",\"title\":\"ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจไฟกๆฏ้ซ˜ๅบฆ้€ๆ˜Ž็š„ๆ—ถไปฃ๏ผŒๆต…ๅฑ‚ไฟกๆฏๅทฎๅทฒ่ขซๅฝปๅบ•ๆŠนๅนณ๏ผŒไฟกๆฏๆœฌ่บซ็š„ไปทๅ€ผไธๆ–ญ็จ€้‡Šใ€‚ไบบไธŽไบบ็š„ๆ ธๅฟƒๅทฎ่ทไธๅ†ๆ˜ฏ่Žทๅ–ไฟกๆฏ็š„ๆธ ้“๏ผŒ่€Œๆ˜ฏ้ซ˜ไฟกๅ™ชๆฏ”ไฟกๆฏ็š„็”„ๅˆซ่ƒฝๅŠ›ใ€ๆทฑๅบฆๆ€่€ƒ่ƒฝๅŠ›ไธŽ่ฝๅœฐๆ‰ง่กŒๅŠ›๏ผŒๅ”ฏๆœ‰ไปฅๆ€่€ƒๆ ก้ชŒไฟกๆฏใ€ไปฅๆ‰ง่กŒ้ชŒ่ฏไปทๅ€ผ๏ผŒๅฝขๆˆโ€œไฟกๆฏ-ๅˆคๆ–ญ-ๅฎž่ทต-ๅ้ฆˆโ€็š„ๆ€่€ƒไธŽๆ‰ง่กŒ้—ญ็Žฏ๏ผŒๆ‰่ƒฝ็ช็ ดไฟกๆฏๅฃๅž’ใ€ๅˆ›้€ ็œŸๆญฃไปทๅ€ผใ€‚\",\"permalink\":\"/growth/distinguish-useful-information\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"ไฟกๆฏ็ญ›้€‰\",\"ไธชไบบๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"date\":\"2025-11-10 12:52:28\",\"capture\":\"ๅœจไบ’่”็ฝ‘ๆŠ€ๆœฏๆ™ฎๅŠ็š„ๅฝ“ไธ‹๏ผŒไฟกๆฏๅทฒไปŽโ€œ็จ€็ผบ่ต„ๆบโ€่ฝฌๅ˜ไธบโ€œๆณ›ๆปฅ่ต„ๆบโ€ใ€‚่ฟ‡ๅŽปไพ่ต–ๅœฐๅŸŸๅทฎใ€็จ€็ผบๆ€ง็š„ๆต…่กจๅฑ‚ไฟกๆฏๅทฎ้€ๆธ่ขซๆŠนๅนณ๏ผŒๅผ€ๅ‘่€…้€š่ฟ‡็ฝ‘็ปœๅฏ่ฝปๆพ่Žทๅ–ๅ„็ฑปๆŠ€ๆœฏๆ–‡ๆกฃใ€่กŒไธšๅŠจๆ€ใ€่ตš้’ฑๆจกๅผ๏ผŒไฝ†็œŸๆญฃ่ƒฝๅฐ†ไฟกๆฏ่ฝฌๅŒ–ไธบไปทๅ€ผ็š„ไปๆ˜ฏๅฐ‘ๆ•ฐไบบใ€‚ๆ ธๅฟƒ็Ÿ›็›พๅทฒไปŽโ€œ่Žทๅ–ไฟกๆฏโ€่ฝฌๅ˜ไธบโ€œ้ฉพ้ฉญไฟกๆฏโ€โ€”โ€”ไฟกๆฏๆœฌ่บซ็š„ไปทๅ€ผๅผฑๅŒ–๏ผŒ่€Œไฟกๆฏ่งฃ่ฏป่ƒฝๅŠ›ใ€่กŒๅŠจๆ‰ง่กŒๅŠ›ใ€็ญ›้€‰็”„ๅˆซๅŠ›ๆˆไธบๆ‹‰ๅผ€ๅทฎ่ท็š„ๅ…ณ้”ฎใ€‚\\n 1. ๆ‰“็ ดโ€œไฟกๆฏๅทฎโ€็š„็ณป็ปŸๆ€ง้”™่ง‰\\n่ฟ‡ๅŽป๏ผŒ็”ฑไบŽๅœฐๅŸŸ้™ๅˆถๅ’Œไผ ๆ’ญไป‹่ดจ็š„็จ€็ผบ๏ผŒ่ตš้’ฑๆˆ–ๆˆๅŠŸ็š„ๆจกๅผๅพ€ๅพ€ๆ˜ฏ็ฒ—ๆ”พ็š„๏ผŒๅปบ็ซ‹ๅœจๆต…่กจๅฑ‚็š„โ€œไฟกๆฏไธๅฏน็งฐโ€ไธŠ๏ผŒไฝ†้š็€ๆŠ€ๆœฏ็š„ๆผ”่ฟ›๏ผŒ่ฟ™็งไฝŽ็ปดๅบฆ็š„ไฟกๆฏๅทฎๆญฃๅœจ่ขซ่ฟ…้€ŸๆŠนๅนณใ€‚ไบบไปฌ็ปๅธธ้™ทๅ…ฅโ€œ่ตšไธๅˆฐ้’ฑ/ๆŠ“ไธไฝๆœบไผšๆ˜ฏๅ› ไธบ็ผบๅฐ‘ไฟกๆฏๅทฎโ€็š„่ฎค็Ÿฅๅๅทฎ๏ผŒไฝ†ๆœฌ่ดจ้—ฎ้ข˜ๅœจไบŽโ€œ\"}],\"12\":[{\"url\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/10.่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"relativePath\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/10.่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"frontmatter\":{\"date\":\"2025-12-06 22:05:50\",\"title\":\"่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"description\":\"่ฝฏไปถๅทฅ็จ‹ๆญฃ็ปๅކไปŽโ€œๆ‰‹ๅ†™้€ป่พ‘โ€ๅ‘โ€œๆ„ๅ›พ่ฐƒๅบฆโ€็š„่Œƒๅผ่ฟๅพ™ใ€‚Anthropic ็š„็ ”็ฉถๆญ็คบไบ† AI ๅนถ้ž็ฎ€ๅ•็š„ๆๆ•ˆๅทฅๅ…ท๏ผŒ่€Œๆ˜ฏ้€š่ฟ‡้‡Šๆ”พ 27% ๆ›พ็ปโ€œไธๅˆ’็ฎ—โ€็š„ๅทฅ็จ‹ไปปๅŠก๏ผŒ้‡ๅก‘ไบ†่ฝฏไปถ่ดจ้‡็š„ๅฏ†ๅบฆใ€‚ๅœจ่‡ช็„ถ่ฏญ่จ€ๅณ็ผ–็จ‹่ฏญ่จ€็š„ๆ—ถไปฃ๏ผŒๆˆ‘ไปฌ้œ€่ฆ้€š่ฟ‡่ง„ๆ ผ้ฉฑๅŠจ๏ผˆSDD๏ผ‰ไธŽๅคšๆ™บ่ƒฝไฝ“็ผ–ๆŽ’๏ผŒ็ ด่งฃโ€œ็›‘็ฃๆ‚–่ฎบโ€ๅธฆๆฅ็š„ๆŠ€่ƒฝๅนณๅบธๅŒ–ๅฑๆœบ๏ผŒๅฐ† AI ็š„ๆฆ‚็އๆ€ง็”Ÿๆˆ้ฉฏๅŒ–ไธบ็กฎๅฎšๆ€ง็š„ๅทฅ็จ‹ไบคไป˜ใ€‚ๅฝ“็ผ–็ ๆˆๆœฌ่ถ‹ไบŽ้›ถ๏ผŒๅทฅ็จ‹ๅธˆ็š„็ปˆๆžๅฃๅž’ๅฐ†ๆ˜ฏๅฎšไน‰ๅฎŒ็พŽ็š„ๅ“ๅ‘ณ๏ผŒไปฅๅŠๅœจ AI ่ฟท้›พไธญ่ฏ†็ ดๅนณๅบธ็š„ๆดžๅฏŸๅŠ›ใ€‚\",\"permalink\":\"/fullstack/ai-change-work-workflow/\",\"top\":true,\"tags\":[\"ๅ…จๆ ˆ\",\"AI\"],\"categories\":[\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"date\":\"2025-12-06 22:05:50\",\"capture\":\"<script setup>\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\nๅœฐๅ€๏ผšHow AI is transforming work at Anthropic\\nๆ ธๅฟƒๆ ‡็ญพ๏ผš`AI่พ…ๅŠฉ็ผ–็จ‹` `ๅทฅ็จ‹` `่Œƒๅผ่ฝฌ็งป` `ๅทฅไฝœ่ฝฌๅž‹` `็”ŸไบงๅŠ›ๆๅ‡` `ๆŠ€่ƒฝๅ‘ๅฑ•` `ไบบๆœบๅไฝœ` \\nไธ€ๅฅ่ฏไป‹็ป๏ผšAnthropic ไธไป…ไป…ๆ˜ฏ AI ๅทฅๅ…ท็š„็”Ÿไบง่€…๏ผŒๆ›ดๆ˜ฏ็ฌฌไธ€ไธช่ฟ›ๅ…ฅโ€œๆœชๆฅๅฎž้ชŒๅฎคโ€็š„ๆทฑๅบฆ่ง‚ๅฏŸ่€…ใ€‚ไป–ไปฌ้€š่ฟ‡ๅ†…้ƒจๆ•ฐๆœˆ็š„ๅฎž้ชŒๆ•ฐๆฎๅ‘Š่ฏ‰ๆˆ‘ไปฌ๏ผšๅคงๆจกๅž‹ๅฏน่ฝฏไปถๅทฅ็จ‹็š„ๆ”น้€ ๏ผŒ็ป้ž็ฎ€ๅ•็š„โ€œๆๆ•ˆโ€๏ผŒ่€Œๆ˜ฏไธ€\"}],\"08\":[{\"url\":\"/40.ๅ…ณไบŽ/01.ๅ…ณไบŽๆˆ‘\",\"relativePath\":\"/40.ๅ…ณไบŽ/01.ๅ…ณไบŽๆˆ‘\",\"frontmatter\":{\"date\":\"2025-08-29 09:40:53\",\"title\":\"ๅ…ณไบŽๆˆ‘\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไปŽ Tech Stack ๅˆฐ Insight Stack๏ผŒๅฝ“ AI ๆŽฅ็ฎกไบ†ๅฎž็Žฐ๏ผŒๆˆ‘ๆ›ดๅ…ณๆณจๆžถๆž„็š„ๆƒ่กกไธŽไบงๅ“็š„ไปทๅ€ผ๏ผŒไธ“ๆณจ๏ผšๅทฅ็จ‹ๅŒ– Spec ไธŽ AI ็ผ–็จ‹็ฃจๅˆ็š„ๅฎž่ทต | Agent ่ฝๅœฐ | ็‹ฌ็ซ‹ไบงๅ“ใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/about_me_chinese.png\",\"permalink\":\"/about/me\",\"categories\":[\"ๅ…ณไบŽ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ…ณไบŽๆˆ‘\",\"date\":\"2025-08-29 09:40:53\",\"capture\":\"ๆˆ‘ๆ˜ฏ่ฐ\\nๆˆ‘ๆ˜ฏไธ€ๅๆ‹ฅๆœ‰ๅ…จๆ ˆ่ƒŒๆ™ฏ็š„ๅผ€ๅ‘่€…, ๆŠ€ๆœฏๅบ•่‰ฒๆบไบŽๅทฅไฝœๅ‡ ๅนดๅŽ็งฏ็ดฏไบ†่พƒไธบๆ‰Žๅฎž็š„ๅทฅ็จ‹ๅŒ–ๅฎž่ทตโ€”โ€”ไปŽๅŸบ็ก€็š„ Web ๅ‰็ซฏๅˆฐๅคๆ‚็š„่ทจๅนณๅฐๅฐ็จ‹ๅบๅŸบ็ก€ๆก†ๆžถ็š„ๆžถๆž„ๅ‡็บง๏ผŒๅ†ๅˆฐๅŸบไบŽ NodeJS ็š„ๆœๅŠก็ซฏๅผ€ๅ‘๏ผŒ่ฟ™ไบ›็ปๅކ้”ป็‚ผไบ†ๆˆ‘ๅฏน็ณป็ปŸๅคๆ‚ๅบฆ็š„ๆŽŒๆŽงๅŠ›ใ€ๅทฅ็จ‹ๅŒ–่ƒฝๅŠ›ไปฅๅŠ้กน็›ฎๆŽจๅŠจไธŽๅ›ข้˜Ÿๅˆไฝœ็š„่ƒฝๅŠ›ใ€‚\\n่‡ช 2023 ๅนด LLM ๆตชๆฝฎๆถŒ็Žฐไปฅๆฅ๏ผŒๆˆ‘ๆทฑๅบฆๆŠ•่บซไบŽ AI ็›ธๅ…ณ็š„ๆŠ€ๆœฏๆŽข็ดขใ€‚ๅœจๅทฅไฝœไธŽไธšไฝ™้กน็›ฎไธญ๏ผŒไธปๅฏผๆˆ–ๅ‚ไธŽไบ†ๅคšไธชๅŸบไบŽๅคงๆจกๅž‹็š„ๅบ”็”จ่ฝๅœฐ๏ผŒ็งฏ็ดฏไบ†ไปŽ Prompt ่ฐƒไผ˜ๅˆฐ Agentic Workflow ็ผ–ๆŽ’็š„ไธ€็บฟ็ป้ชŒ๏ผŒไนŸๅคšๆฌกๅ‚ๅŠ ไบ†ๅ›ฝๅ†… AI ็คพๅŒบ็›ธๅ…ณ็š„ๆŠ€ๆœฏๅˆ†ไบซไธŽไบคๆตๆดปๅŠจ๏ผŒไบ†่งฃไบ† AI ้ข†ๅŸŸๆœ€ๆ–ฐ็š„ๆŠ€ๆœฏ่ถ‹ๅŠฟไธŽๅฎž่ทตใ€‚\\n\\n็›ฎๅ‰๏ผŒๆˆ‘ไธป่ฆๅœจ\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹\",\"frontmatter\":{\"date\":\"2025-08-20 22:51:27\",\"title\":\"่Šไธ€่Š TypeScript ไธญ็š„ๆณ›ๅž‹\",\"tldr\":\"ๆณ›ๅž‹ๅฐ†็ฑปๅž‹ไฝœไธบๅ‚ๆ•ฐ๏ผŒไฝฟไปฃ็ ๅœจๅคš็ง็ฑปๅž‹ไธŠๅฎ‰ๅ…จ่ฟ่กŒ๏ผŒๆ˜ฏ TypeScript ็ฑปๅž‹ๆŠฝ่ฑก็š„ๆ ธๅฟƒ็‰นๆ€งใ€‚\",\"description\":\"ๆœฌๆ–‡็ณป็ปŸ่งฃๆž TypeScript ๆณ›ๅž‹็š„ๆ ธๅฟƒๆฆ‚ๅฟตไธŽๅทฅไฝœๆœบๅˆถ๏ผŒๅฏนๆฏ”ๆณ›ๅž‹ไธŽ any ็ฑปๅž‹็š„ๅทฎๅผ‚๏ผŒๆถต็›–ๆณ›ๅž‹ๅ‡ฝๆ•ฐใ€ๆŽฅๅฃใ€็ฑปใ€็ฑปๅž‹ๅˆซๅ็š„ๅฎž่ทต็”จๆณ•๏ผŒไปฅๅŠๅŸบๆœฌ็ฑปๅž‹็บฆๆŸใ€ๆŽฅๅฃ็บฆๆŸใ€ๅคš้‡็บฆๆŸใ€keyof ็บฆๆŸ็ญ‰้ซ˜้˜ถๆŠ€ๅทงไธŽๆœ€ไฝณๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/typescript-generic-types\",\"tags\":[\"tutorial\",\"typescript\",\"generics\",\"type-system\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่Šไธ€่Š TypeScript ไธญ็š„ๆณ›ๅž‹\",\"date\":\"2025-08-20 22:51:27\",\"capture\":\"1. ๆณ›ๅž‹็š„ๅŸบๆœฌๆฆ‚ๅฟตๅ’Œไฝœ็”จ\\n 1.1 ๆ ธๅฟƒๅฎšไน‰\\nๆณ›ๅž‹๏ผˆGenerics๏ผ‰ ๆ˜ฏ TypeScript ไธญไธ€็งๅผบๅคง็š„็ฑปๅž‹็ณป็ปŸ็‰นๆ€ง๏ผŒๅ…่ฎธๅฎšไน‰็ฑปๅž‹ๅ‚ๆ•ฐๅŒ–็š„็ป„ไปถ๏ผŒไฝฟไปฃ็ ่ƒฝๅคŸๅœจๅคš็ง็ฑปๅž‹ไธŠๅฎ‰ๅ…จ่ฟ่กŒ๏ผŒๅŒๆ—ถไฟๆŒ็ฑปๅž‹ๆฃ€ๆŸฅใ€‚ๆณ›ๅž‹็š„ๆ ธๅฟƒๆ€ๆƒณๆ˜ฏๅฐ†็ฑปๅž‹ไฝœไธบๅ‚ๆ•ฐไผ ้€’็ป™ๅ‡ฝๆ•ฐใ€ๆŽฅๅฃๆˆ–็ฑป๏ผŒๅฎž็Žฐ\\\"็ผ–ๅ†™ไธ€ๆฌก๏ผŒๅค็”จๅคšๆฌก\\\"็š„ๆ•ˆๆžœใ€‚\\n 1.2 ๆณ›ๅž‹ไธŽ any ็ฑปๅž‹็š„ๅฏนๆฏ”\\n| ็‰นๆ€ง | ๆณ›ๅž‹ | any ็ฑปๅž‹ |\\n|------|------|----------|\\n| ็ฑปๅž‹ๅฎ‰ๅ…จ | โœ… ็ผ–่ฏ‘ๆ—ถ่ฟ›่กŒ็ฑปๅž‹ๆฃ€ๆŸฅ | โŒ ๅฎŒๅ…จๅคฑๅŽป็ฑปๅž‹ๆฃ€ๆŸฅ |\\n| ไปฃ็ ๅค็”จ | โœ… ๆ”ฏๆŒๅคš็ง็ฑปๅž‹ๅค็”จ | โœ… ๆ”ฏๆŒๅคš็ง็ฑปๅž‹๏ผŒไฝ†ๅคฑๅŽป็ฑปๅž‹ไฟกๆฏ |\\n| ็ฑปๅž‹ๆŽจๆ–ญ | โœ… \"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2025-08-12 22:47:47\",\"title\":\"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—\",\"tldr\":\"TypeScript ๅฎŒๅ–„็š„็ผ–่ฏ‘ไฝ“็ณปไธŽ่ฐƒ่ฏ•ๅทฅๅ…ท้“พ๏ผŒๆ˜ฏๆž„ๅปบ้ซ˜่ดจ้‡ๅบ”็”จ็š„ๅŸบ็Ÿณใ€‚\",\"description\":\"ๆทฑๅ…ฅ่งฃๆž TypeScript ็ผ–่ฏ‘ๅทฅๅ…ท้“พไธŽ่ฐƒ่ฏ•ไฝ“็ณป๏ผŒๆถต็›– tsconfig.json ๆ ธๅฟƒ้…็ฝฎใ€Monorepo ้กน็›ฎ้…็ฝฎ๏ผˆextends/references๏ผ‰ใ€source map ่ฐƒ่ฏ•ใ€ESLint ไธŽ Jest ๅ•ๅ…ƒๆต‹่ฏ•็ญ‰ๅฎŒๆ•ดๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/typescript-compilation-debugging-guide\",\"tags\":[\"tutorial\",\"typescript\",\"compilation\",\"tooling\",\"eslint\",\"jest\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—\",\"date\":\"2025-08-12 22:47:47\",\"capture\":\"็ผ–ๅ†™ไปฃ็ ๅชๆ˜ฏๅผ€ๅ‘ๅทฅไฝœ็š„่ตท็‚น๏ผŒ็œŸๆญฃๅ†ณๅฎš้กน็›ฎ่ดจ้‡็š„ๆ˜ฏๅŽ็ปญ็š„็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•็Žฏ่Š‚ใ€‚TypeScript ไฝœไธบ JavaScript ็š„้™ๆ€็ฑปๅž‹่ถ…้›†๏ผŒไธไป…ๅธฆๆฅไบ†็ฑปๅž‹ๅฎ‰ๅ…จ๏ผŒๆ›ดๆไพ›ไบ†ๅผบๅคง็š„็ผ–่ฏ‘ๅทฅๅ…ทๅ’Œ่ฐƒ่ฏ•่ƒฝๅŠ›๏ผŒ่ฎฉๆˆ‘ไปฌ่ƒฝๅคŸๆ›ด้ซ˜ๆ•ˆๅœฐๆž„ๅปบๅ’Œ็ปดๆŠคๅฏ้ ็š„ๅบ”็”จ็จ‹ๅบใ€‚\\nๆœฌๆ–‡ๅฐ†ๅฏน TypeScript ้กน็›ฎ็š„็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•่ฟ›่กŒๆขณ็†๏ผŒๅŒ…ๆ‹ฌ็ผ–่ฏ‘ๅทฅๅ…ท TSC ็š„ไฝฟ็”จใ€็ผ–่ฏ‘้€‰้กน็š„้…็ฝฎใ€่ฐƒ่ฏ•ๅทฅๅ…ท็š„ไฝฟ็”จ็ญ‰ใ€‚\\n 1. TypeScript ็ผ–่ฏ‘้…็ฝฎไธŽ tsconfig.json\\nTSC๏ผˆTypeScript Compiler๏ผ‰ๆ˜ฏ TypeScript ๅฎ˜ๆ–นๆไพ›็š„็ผ–่ฏ‘ๅทฅๅ…ท๏ผŒ่ดŸ่ดฃๅฐ† TypeScript ไปฃ็ ๏ผˆ`.ts` ๆˆ– `.tsx`๏ผ‰่ฝฌๆขไธบ J\"}],\"03\":[{\"url\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/10.่ฏปไนฆไธ‰่ฆไธ‰ไธ่ฆ\",\"relativePath\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/10.่ฏปไนฆไธ‰่ฆไธ‰ไธ่ฆ\",\"frontmatter\":{\"date\":\"2025-03-06 11:42:20\",\"title\":\"่ฏปไนฆโ€œไธ‰่ฆโ€ๅ’Œโ€œไธ‰ไธ่ฆโ€\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจไฟกๆฏ็ˆ†็‚ธ็š„ๆ—ถไปฃ๏ผŒ่ฏปไนฆไพ็„ถๆ˜ฏ่Žทๅ–ๆทฑๅบฆ็Ÿฅ่ฏ†ๆœ€้ซ˜ๆ•ˆ็š„ๆ–นๅผไน‹ไธ€ใ€‚ไฝ†โ€œๆง่ตทไนฆโ€ๅนถไธ็ญ‰ไบŽโ€œๆœ‰ๆ”ถ่Žทโ€๏ผŒๆ€Žไนˆ่ฏปๅพ€ๅพ€ๆฏ”่ฏปไป€ไนˆๆ›ด้‡่ฆใ€‚ๆœฌๆ–‡ๆ€ป็ป“ไบ†้ซ˜ๆ•ˆ้˜…่ฏป็š„โ€œไธ‰่ฆโ€ไธŽโ€œไธ‰ไธ่ฆโ€๏ผšไปŽๅฎŒๆ•ด้˜…่ฏป่ง‚ๆ‘ฉๅคงๅธˆๆ€็ปดใ€ๅธฆ็€้—ฎ้ข˜ๆž„ๅปบ็Ÿฅ่ฏ†ๆ ‘๏ผŒๅˆฐ้€š่ฟ‡่ฎจ่ฎบๆฃ€้ชŒ็†่งฃ๏ผ›ๅŒๆ—ถๆ้†’้˜…่ฏป่€…่ญฆๆƒ•ๅ“€ๆ€จๅฟƒๆ€ๅฏน้˜…่ฏปๅˆ่กท็š„ๅผ‚ๅŒ–ใ€้ฟๅ…้™ทๅ…ฅๅฏน็‰ฉ็†ๅช’ไป‹็š„โ€œ็Žฉ็‰ฉไธงๅฟ—โ€๏ผŒไปฅๅŠๅˆ‡ๅฟŒ่„ฑ็ฆป็Žฐๅฎž็š„โ€œ็œŸ็ฉบโ€้˜…่ฏปใ€‚้˜…่ฏปไธไป…ๆ˜ฏๅ‘ๅ†…ๆŽข็ดข็š„็ฒพ็ฅžไน‹ๆ—…๏ผŒๆ›ดๆ˜ฏๅ‘ๅค–็†่งฃ็œŸๅฎžไธ–็•Œใ€ๅˆ›้€ ็คพไผšไปทๅ€ผ็š„ๅฎž็”จๅทฅๅ…ทใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/reading_need.png\",\"permalink\":\"/pages/growth/reading-tips\",\"sticky\":1,\"top\":true,\"categories\":[\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\"],\"tags\":[\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ฏปไนฆโ€œไธ‰่ฆโ€ๅ’Œโ€œไธ‰ไธ่ฆโ€\",\"date\":\"2025-03-06 11:42:20\",\"capture\":\"<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/reading_need.png\\\" style=\\\"width: 100%; border-radius: 8px; margin-bottom: 20px;\\\" alt=\\\"about site background\\\">\\n 1. ๆˆ‘ไปฌไธบไป€ไนˆ้œ€่ฆ่ฏปไนฆ๏ผŸ\\n่ฏปไนฆๆ˜ฏไปŽๅค–็•ŒๆŽฅๅ—ไฟกๆฏ็š„ไธ€็งๆ–นๅผ๏ผŒไธŽ่Šๅคฉใ€ๆต่งˆ็ฝ‘้กตใ€ๅฌๆ’ญๅฎขใ€็œ‹็”ต่ง†ๅนถๆ— ๆœฌ่ดจๅŒบๅˆซใ€‚ไฝ†ไนฆ่ฟ™็งๅช’ไป‹ไธŽๅ…ถไป–ไฟกๆฏๅช’ไป‹็›ธๆฏ”๏ผŒๆœ‰ๅ…ถ็‹ฌๆœ‰็š„ไผ˜ๅŠฟ๏ผš\\n- ๆทฑๅบฆไธŽไธฅ่ฐจ๏ผšไนฆ็ฑๅพ€ๅพ€ๆ˜ฏๅˆ›ไฝœ่€…ๅคšๅนดๆ€่€ƒใ€้•ฟๆœŸ\"}]},\"2024 \":{\"06\":[{\"url\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/20.่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"relativePath\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/20.่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"frontmatter\":{\"date\":\"2024-06-15 22:23:00\",\"title\":\"่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡็ป“ๅˆไฟ็ฝ—ใƒปๆ ผ้›ทๅŽ„ๅง†ใ€ŠHow to Do Great Workใ€‹ๆ ธๅฟƒ่ง‚็‚น๏ผŒๆŽข่ฎจ AI ๅŽŸ็”Ÿๆ—ถไปฃๅคๅˆๅž‹ไบบๆ‰็š„ๆ ธๅฟƒ็‰น่ดจใ€‚AI ่ฎฉๅŸบ็ก€ๆ‰ง่กŒ่ƒฝๅŠ›ๅฟซ้€Ÿ่ดฌๅ€ผ๏ผŒไบบๆ‰็š„ๆ ธๅฟƒๅฃๅž’ไธๅ†ๆ˜ฏ่งฃๅ†ณ้—ฎ้ข˜๏ผŒ่€Œๆ˜ฏๆๅ‡บไผ˜่ดจ้—ฎ้ข˜ใ€ๅŸนๅ…ป้žๅ…ฑ่ฏ†ๅ“ๅ‘ณใ€‚ๅŒๆ—ถ้œ€ๅšๅฎˆๆ™บๅŠ›่ฏšๅฎž๏ผŒๆ‹ฅๆœ‰ๆ‰“็ ดๅธธ่ง„็š„ๅˆ›ๆ–ฐๅ‹‡ๆฐ”๏ผŒๅ€ŸๅŠฉ AI ๆ”พๅคงไธชไบบๆˆ้•ฟๆ ๆ†๏ผŒไปฅๅฐๅˆ‡ๅฃๅฎž่ทตๅฎž็ŽฐๆŒ‡ๆ•ฐ็บงๆˆ้•ฟใ€‚ไบบ็ฑป็‹ฌๆœ‰็š„ๅฅฝๅฅ‡ๅฟƒ๏ผŒๆ˜ฏ็ช็ ด AI ๅนณๅบธใ€ๅ–ๅพ—ๆฐๅ‡บๆˆๅฐฑ็š„ๆœ€็ปˆๅบ•ๆฐ”ใ€‚\",\"coverImg\":\"/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense/ai-native-composite-talents\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"AI\",\"ๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"date\":\"2024-06-15 22:23:00\",\"capture\":\"> \\n> ๅŽŸๆ–‡ๅœฐๅ€๏ผšhttps://paulgraham.com/greatwork.html\\n> \\n> ๅŽŸๆ–‡ไฝœ่€…๏ผšPaul Graham๏ผˆไฟ็ฝ—ยทๆ ผ้›ทๅŽ„ๅง†๏ผ‰๏ผŒ็ก…่ฐท้กถ็บงๅญตๅŒ–ๅ™จ Y Combinator ๅˆ›ๅง‹ไบบ๏ผŒ่ขซ่ช‰ไธบโ€œ็ก…่ฐทๅˆ›ไธšๆ•™็ˆถโ€๏ผŒไนŸๆ˜ฏ็ปๅ…ธๆŠ€ๆœฏๅ“ฒๅญฆ่‘—ไฝœใ€Š้ป‘ๅฎขไธŽ็”ปๅฎถใ€‹็š„ไฝœ่€…ใ€‚\\n> \\n> ๆ–‡็ซ ่ƒŒๆ™ฏ๏ผšๅŽŸๆ–‡ๆ˜ฏไฟ็ฝ—ยทๆ ผ้›ทๅŽ„ๅง†ไน‹ๅ‰ๅ‡†ๅค‡ไบ†ๅŠๅนดไน‹ไน…็š„้‡็ฃ…้•ฟๆ–‡๏ผŒไป–่ฏ•ๅ›พ่ฎฒๆ˜Ž็™ฝไธ€ไธช้€‚็”จไบŽๆฏไธชไบบ็š„ไธป้ข˜โ€”โ€”ๅฆ‚ไฝ•ๅšๆˆใ€Œๅคงไบ‹ใ€๏ผˆgreat work๏ผ‰ใ€‚้€š่ฏปๅ…จๆ–‡๏ผŒไฝ ไผšๅ‘็Žฐ๏ผŒ่ฟ™ๆ˜ฏไธ€็ฏ‡้žๅธธๅฎž็”จ็š„ๅทฅไฝœๆŒ‡ๅ—๏ผŒๅนถไธ”ๅ…ถไธญ็š„่ฎธๅคšๅ†…ๅฎน๏ผŒ้ƒฝไธŽAIๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰ๆ‰€้œ€่ฆๅ…ทๅค‡็š„็‰น่ดจ้žๅธธไธ€่‡ดใ€‚\\n 1. ๅผ•่จ€๏ผš\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/60.ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/60.ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹\",\"frontmatter\":{\"date\":\"2024-06-14 22:00:00\",\"title\":\"ไธ€ๆฌก็”ฑ Product Sense ้ฉฑๅŠจ็š„ Agent ๆž้™ๅฎž่ทต\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšAI ๆ—ถไปฃ๏ผŒๅ†™ๅฅฝไปฃ็ ๅชๆ˜ฏๅŠๆ ผ็บฟใ€‚ๅœจไธ€ๆฌกๆž้™ๆŒ‘ๆˆ˜่ต›ไธญ๏ผŒๆˆ‘ไปฌ้€š่ฟ‡ๅฏน K12 ่ต›้“็”จๆˆท็—›็‚น็š„็ฒพๅ‡†โ€œ่ง†่ง’ๅˆ‡ๆขโ€๏ผŒๆ‰“้€ ๅ‡บไธ€ๆฌพๆŽˆไบบไปฅๆธ”็š„โ€œๆ•ฐๅญฆ่พ…ๅฏผๅฏผๅธˆโ€ๅนถๆ–ฉ่Žทๅคงๅฅ–ใ€‚ๆœฌๆ–‡ๅค็›˜ไบ† Agent ๆญๅปบ่ƒŒๅŽ็š„ๆ ธๅฟƒ SOP ่ฎพ่ฎก้€ป่พ‘๏ผšๆŠ€ๆœฏ็ปˆ็ฉถ่ฆๅ›žๅฝ’ๅฏน็œŸๅฎžไบบๆ€ง็š„ไฝ“ๅฏŸไธŽๅ…ณๆ€€ใ€‚\",\"coverImg\":\"/img/cover/llm_learning_bg_2.png\",\"permalink\":\"/ai-practice/math-bot\",\"categories\":[\"ai-practice\"],\"tags\":[\"Agent\",\"ไบงๅ“ Sense\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไธ€ๆฌก็”ฑ Product Sense ้ฉฑๅŠจ็š„ Agent ๆž้™ๅฎž่ทต\",\"date\":\"2024-06-14 22:00:00\",\"capture\":\"ๅœจๅˆšๅˆš่ฟ‡ๅŽป็š„ๅ‘จๆœซ๏ผŒๆˆ‘ๅ’Œๅฅฝๅ‹ๅ‚ๅŠ ไบ†ไธ€ๅœบ็”ฑๅƒๅธ† Agent ไธพๅŠž็š„็บฟไธ‹็คพๅŒบๆดปๅŠจใ€‚่ฟ™ๆ˜ฏไธ€ๅœบๅ……ๆปกๆžๅฎข็ฒพ็ฅž็š„โ€œๆž้™ๆŒ‘ๆˆ˜โ€โ€”โ€”ๆˆ‘ไปฌ้œ€่ฆๅœจๆžๅ…ถๆœ‰้™็š„ๆ—ถ้—ดๅ†…๏ผŒไปŽ้›ถๅผ€ๅง‹ๆž„ๆ€ใ€ๆญๅปบๅนถ็Žฐๅœบๅฑ•็คบไธ€ไธชๅฎŒๆ•ด็š„ Agent ๅบ”็”จใ€‚\\nไปคไบบๆƒŠๅ–œ็š„ๆ˜ฏ๏ผŒๆˆ‘ไปฌไธไป…้กบๅˆฉๅฎŒๆˆไบ†ๆž้™ๅผ€ๅ‘๏ผŒๆœ€็ปˆ่ฟ˜ๆ–ฉ่Žทไบ†ๅ…จๅœบ็š„ใ€Œๆœ€ไฝณๅบ”็”จๅฅ–ใ€ใ€‚\\nๅค็›˜่ฟ™ๆฌก็Ÿญๆš‚ๅด้ซ˜ๅฏ†ๅบฆ็š„ๅผ€ๅ‘ไฝ“้ชŒ๏ผŒๆœ€ๅคง็š„ๆ„Ÿ่งฆๆ˜ฏ๏ผšๅœจ AI ๆ—ถไปฃ๏ผŒๅ•็บฏ็š„ๅทฅ็จ‹ๅฎž็Žฐๅทฒ็ปไธๅ†ๆ˜ฏๅ”ฏไธ€็š„ๅฃๅž’๏ผŒ็œŸๆญฃ่ฎฉๅบ”็”จ่„ฑ้ข–่€Œๅ‡บ็š„๏ผŒๆ˜ฏๅฏน็œŸๅฎžไธšๅŠกๅœบๆ™ฏ็š„ๆดžๅฏŸๅŠ›ใ€‚ๅฝ“ (Engineering + Product) ร— AI ็š„้ฃž่ฝฎๅผ€ๅง‹่ฝฌๅŠจๆ—ถ๏ผŒๆŠ€ๆœฏๆ‰่ƒฝ็œŸๆญฃ่ฝฌๅŒ–ไธบ่งฃๅ†ณ้—ฎ้ข˜็š„ๅˆฉๅ™จใ€‚\\nไปฅไธ‹ๆ˜ฏๅ…ณไบŽ่ฟ™ๆฌกโ€œK12 ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹โ€ Agent ๆญๅปบ็š„ๅฎž\"}],\"05\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview\",\"frontmatter\":{\"date\":\"2024-05-18 22:49:57\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ไปŽ ES Modules ๅˆฐๅคงๅž‹้กน็›ฎๅˆ†ๅฑ‚ๆžถๆž„ไธŽๅทฅ็จ‹ๅŒ–ๅฎž่ทต๏ผŒๆž„ๅปบๅ…จๆ ˆๆจกๅ—ๅŒ–็Ÿฅ่ฏ†ไฝ“็ณปใ€‚\",\"description\":\"็ณป็ปŸๆขณ็† JavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›๏ผˆIIFEโ†’CJSโ†’ESM๏ผ‰ใ€TypeScript ็ฑปๅž‹ๅขžๅผบใ€ๅˆ†ๅฑ‚ๆžถๆž„ไธŽ DDD ๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/module-programming-practice-guide\",\"tags\":[\"tutorial\",\"ESM\",\"DDD\",\"ๅพฎๅ‰็ซฏ\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2024-05-18 22:49:57\",\"capture\":\"1. ๅผ•่จ€\\nๆจกๅ—ๅŒ–็ผ–็จ‹ๆ˜ฏ็Žฐไปฃ JavaScript/TypeScript ๅผ€ๅ‘็š„ๆ ธๅฟƒๅŽŸๅˆ™๏ผŒๅฎƒ้€š่ฟ‡ๅฐ†ๅคๆ‚็ณป็ปŸๆ‹†ๅˆ†ไธบ็‹ฌ็ซ‹ๅฏๅค็”จ็š„ๆจกๅ—๏ผŒ้™ไฝŽ็ณป็ปŸๅคๆ‚ๆ€งๅนถๆ้ซ˜ๅฏ็ปดๆŠคๆ€งไธŽๅฏๅค็”จๆ€งใ€‚ๅ› ๆญค๏ผŒๆˆ‘ไปฌ้€š่ฟ‡็ณปๅˆ—ๆ–‡็ซ ่ฏฆ็ป†ไป‹็ปไบ†ๆจกๅ—ๅŒ–็š„ๅŸบ็ก€ๆฆ‚ๅฟตใ€ๆผ”่ฟ›ๅކ็จ‹ใ€ไธๅŒ่ง„่Œƒ็š„ๆทฑๅบฆ่งฃๆžใ€TypeScriptๆจกๅ—ๅŒ–ๅขžๅผบใ€ES Modules ๆ ธๅฟƒ่ฏญๆณ•ไธŽๅฎž่ทตใ€ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทตใ€ๅ‰็ซฏๅทฅ็จ‹ๅŒ–ไธญ็š„ๆจกๅ—ๅŒ–ใ€Node.jsไธญ็š„ๆจกๅ—ๅŒ–ๅฎž่ทตใ€ๅคงๅž‹้กน็›ฎไธญ็š„ๆจกๅ—ๅŒ–่ฎพ่ฎกใ€ๆจกๅ—ๅŒ–ไธŽไปฃ็ ็ปดๆŠคไปฅๅŠๆœชๆฅๅ‘ๅฑ•่ถ‹ๅŠฟใ€‚\\nๅ‰้ข็š„็ณปๅˆ—ๆ–‡็ซ ไธป่ฆๆœ‰๏ผš\\n- ๆจกๅ—ๅŒ–็ผ–็จ‹็ผ–็จ‹ๅˆไฝ“้ชŒไธŽๅŸบ็ก€ไป‹็ป\\n- JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\\n- ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒ\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–\",\"frontmatter\":{\"date\":\"2024-05-17 23:33:09\",\"title\":\"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“\",\"tldr\":\"Node.js CJS ไธŽ ESM ๅŒๆจกๅ…ฑๅญ˜๏ผšๆจกๅ—ๅŠ ่ฝฝๆœบๅˆถไธŽๅˆ†ๅฑ‚ๆžถๆž„ๅฎž่ทตใ€‚\",\"description\":\"่งฃๆž Node.js ไธญ CommonJS ไธŽ ES Modules ็š„ๅŒๆจกๅ…ฑๅญ˜็ญ–็•ฅ๏ผŒๆถต็›–ๆจกๅ—ๅŠ ่ฝฝไผ˜ๅ…ˆ็บงใ€็ผ“ๅญ˜ๆœบๅˆถใ€package.json exports ๆกไปถๅฏผๅ‡บๅŠ Monorepo ๆžถๆž„ๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/nodejs-module-programming-summary\",\"abstract\":\"Node.js ๆจกๅ—ๅŒ–็ปๅކไบ†ไปŽ CommonJS ็‹ฌ้œธๅคฉไธ‹ๅˆฐ ES Modules ๅ…จ้ขๆŽฅๅ…ฅ็š„่Œƒๅผ่ฝฌ็งปใ€‚ๅ…ฑๅญ˜็ญ–็•ฅ้€š่ฟ‡ .mjs/.cjs ๅŽ็ผ€ๅ’Œ package.json type ๅญ—ๆฎตๆŽงๅˆถไธค็ง่ง„่Œƒ็š„่พน็•Œ๏ผ›ESM ๅฏ็›ดๆŽฅ import CJS๏ผˆ่‡ชๅŠจๅŒ…่ฃ…ไธบ้ป˜่ฎคๅฏผๅ‡บ๏ผ‰๏ผŒไฝ† CJS ๆ— ๆณ• require ESM ๅฟ…้กปไฝฟ็”จๅŠจๆ€ importใ€‚ๆจกๅ—ๅŠ ่ฝฝ้ตๅพชๆ ธๅฟƒๆจกๅ—ไผ˜ๅ…ˆใ€ๆ–‡ไปถๆจกๅ—ใ€็›ฎๅฝ•ๆจกๅ—๏ผˆindex.js/package.json๏ผ‰ใ€node_modules ้€็บงๆŸฅๆ‰พ็š„ไผ˜ๅ…ˆ็บง๏ผ›require.cache ๅฎž็Žฐๆจกๅ—็ผ“ๅญ˜๏ผŒๆธ…้™ค็ผ“ๅญ˜๏ผˆdelete require.cache[path]๏ผ‰ๆ˜ฏ็ƒญๆ›ดๆ–ฐๅทฅๅ…ท็š„ๆ ธๅฟƒๆ“ไฝœใ€‚package.json exports ๅญ—ๆฎตๆ”ฏๆŒๆกไปถๅฏผๅ‡บ๏ผˆimport/require ่ฟ”ๅ›žไธๅŒๅ…ฅๅฃ๏ผ‰ใ€‚pnpm workspaces ๅ‡ญๅ€Ÿ็กฌ้“พๆŽฅๆœบๅˆถๆˆไธบ็Žฐไปฃ Monorepo ้ฆ–้€‰ใ€‚ๅŽ็ซฏๅˆ†ๅฑ‚ๆžถๆž„๏ผˆAPI/Service/Repository๏ผ‰ๅฎž็Žฐๅ…ณๆณจ็‚นๅˆ†็ฆป๏ผŒๆขๆ•ฐๆฎๅบ“ๅช้œ€ๆ”น Repository ๅฑ‚ใ€‚\",\"tags\":[\"concept\",\"node.js\",\"commonjs\",\"esm\",\"monorepo\",\"layered-architecture\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“\",\"date\":\"2024-05-17 23:33:09\",\"capture\":\"ๅฆ‚ๆžœ่ฏดๆต่งˆๅ™จ็ซฏ็š„ๆจกๅ—ๅŒ–ๆ˜ฏไธบไบ†\\\"ๆŒ‰้œ€ๅŠ ่ฝฝ\\\"๏ผŒ้‚ฃไนˆ Node.js ็š„ๆจกๅ—ๅŒ–ๅˆ™ๆ˜ฏไธบไบ†\\\"ไปฃ็ ็ป„็ป‡\\\"ใ€‚ไฝœไธบๅฐ† JavaScript ๅธฆๅ…ฅๆœๅŠกๅ™จ็ซฏ็š„ๅ…ˆ้ฉฑ๏ผŒNode.js ็ปๅކไบ†ไปŽ CommonJS (CJS) ็‹ฌ้œธๅคฉไธ‹ๅˆฐ ES Modules (ESM) ๅ…จ้ขๆŽฅๅ…ฅ็š„่Œƒๅผ่ฝฌ็งปใ€‚\\nๅœจๆœๅŠกๅ™จ็ซฏ๏ผŒๆจกๅ—ๅŒ–ไธไป…ไป…ๆ˜ฏไธบไบ†ๆ‹†ๅˆ†ไปฃ็ ๏ผŒๆ›ดๆ˜ฏไธบไบ†ๆž„ๅปบๆธ…ๆ™ฐ็š„้กน็›ฎ็ป“ๆž„ใ€็ฎก็†ไพ่ต–ๅ…ณ็ณป๏ผŒไปฅๅŠๅฎž็Žฐไปฃ็ ็š„ๅค็”จไธŽ็ปดๆŠคใ€‚\\n 1. CommonJS ไธŽ ES Modules ๅŒๆจกๅ…ฑๅญ˜\\nๅœจ็Žฐไปฃ Node.js ๅผ€ๅ‘ไธญ๏ผŒๆˆ‘ไปฌ็ปๅธธ้ขไธดไธค็ง่ง„่Œƒไบค็ป‡็š„ๆƒ…ๅ†ตใ€‚่ฟ™ไธไป…ๆ˜ฏๆ–‡ไปถๅŽ็ผ€็š„ๆ”นๅ˜๏ผŒๆ›ดๆ˜ฏๅŒๆญฅไธŽๅผ‚ๆญฅๅŠ ่ฝฝ้€ป่พ‘็š„ๅšๅผˆใ€‚\\nๅ…ฑๅญ˜็ญ–็•ฅ๏ผš\\n1. ๅŽ็ผ€ๅ†ณๅฎš่ฎบ๏ผš`.mjs\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต\",\"frontmatter\":{\"date\":\"2024-05-17 22:30:50\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ๆขณ็†ไธŽๆ€ป็ป“\",\"tldr\":\"ๆŽŒๆก้ซ˜ๅ†…่šไฝŽ่€ฆๅˆๅŽŸๅˆ™๏ผšๆจกๅ—ๅŒ–็ผ–็จ‹็š„่ฎพ่ฎกๅ‡†ๅˆ™ไธŽ็ฒ’ๅบฆๆŽงๅˆถใ€‚\",\"description\":\"็ณป็ปŸๆขณ็†ๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅ…ญๅคงๆ ธๅฟƒๅŽŸๅˆ™๏ผšๅ•ไธ€่Œ่ดฃใ€้ซ˜ๅ†…่šไฝŽ่€ฆๅˆใ€็ฒ’ๅบฆ่ฎพ่ฎกใ€ๅ‘ฝๅ่ง„่ŒƒๅŠๆจกๅ—็‰ˆๆœฌ็ฎก็†๏ผŒ้™„่ฏฆ็ป†็š„ๅทฅ็จ‹ๅฎž่ทตๅปบ่ฎฎไธŽ้ฟๅ‘ๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/fullstack/module-programming-principles-best-practices\",\"abstract\":\"ๅฆ‚ๆžœ่ฏดๆŽŒๆกๆจกๅ—ๅŒ–่ฏญๆณ•ๆ˜ฏๆœฏ๏ผŒ้‚ฃไนˆ็†่งฃๅ…ถ่ƒŒๅŽ็š„่ฎพ่ฎกๅŽŸๅˆ™ๅฐฑๆ˜ฏ้“ใ€‚ๅ•ไธ€่Œ่ดฃๅŽŸๅˆ™ๅผบ่ฐƒๆจกๅ—ๅชๅบ”ๆœ‰ไธ€ไธช่ขซๆ”นๅ˜็š„ๅŽŸๅ› ๏ผŒ้ฟๅ… God Object ๅๆจกๅผใ€‚้ซ˜ๅ†…่šไฝŽ่€ฆๅˆๆ˜ฏ่กก้‡ๆจกๅ—่ดจ้‡็š„็ปˆๆžๆ ‡ๅ‡†โ€”โ€”ๆจกๅ—ๅ†…้ƒจๅ…ƒ็ด ่”็ณป็ดงๅฏ†๏ผŒๆจกๅ—ไน‹้—ดไพ่ต–ๅ…ณ็ณปๅฐฝๅฏ่ƒฝ็ฎ€ๅ•ใ€‚็ฒ’ๅบฆ่ฎพ่ฎก่ฆๆฑ‚ๅ•ไธชๆจกๅ—ไฟๆŒๅœจ 100-500 ่กŒไน‹้—ด๏ผŒๅŠŸ่ƒฝ่ƒฝ็”จไธ€ๅฅ่ฏๆธ…ๆ™ฐๆ่ฟฐ๏ผŒๅ‡บ็Žฐๅคšๅˆ†ๆ”ฏๅคๆ‚้€ป่พ‘ๆ—ถ้€šๅธธๆ˜ฏๆ‹†ๅˆ†ไฟกๅทใ€‚ๅ‘ฝๅ่ง„่Œƒ็ปŸไธ€ๅ›ข้˜ŸๆฒŸ้€š่ฏญๅขƒ๏ผˆkebab-case ๆ–‡ไปถๅใ€camelCase ๆ–นๆณ•ๅใ€PascalCase ็ฑปๅ๏ผ‰ใ€‚ๆจกๅ—็‰ˆๆœฌ็ฎก็†้ตๅพช SemVer ่ฏญไน‰ๅŒ–็‰ˆๆœฌ๏ผŒไธบๅ…ฌๅ…ฑๆจกๅ—็š„็ปดๆŠค่€…ไธŽไฝฟ็”จ่€…ๅปบ็ซ‹ๅฅ‘็บฆใ€‚ๅผบ่ฐƒๆธ…ๆ™ฐ็š„ๆจกๅ—่พน็•Œๆ˜ฏ AI ่พ…ๅŠฉ็ผ–็จ‹ๆ—ถไปฃ AI ๅ‡†็กฎ็†่งฃไปฃ็ ็š„ๅ‰ๆใ€‚\",\"tags\":[\"concept\",\"solid-principles\",\"code-organization\",\"best-practices\",\"naming-conventions\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ๆขณ็†ไธŽๆ€ป็ป“\",\"date\":\"2024-05-17 22:30:50\",\"capture\":\"1. ๅ•ไธ€่Œ่ดฃๅŽŸๅˆ™\\nๆ ธๅฟƒๆ€ๆƒณ๏ผšไธ€ไธชๆจกๅ—ๅบ”ๅฝ“ๆœ‰ไธ”ๅชๆœ‰ไธ€ไธช่ขซๆ”นๅ˜็š„ๅŽŸๅ› ใ€‚\\nๆจกๅ—ไธๅบ”ๆˆไธบๅŠŸ่ƒฝ็š„โ€œๆ‚่ดง้“บโ€ใ€‚ๅฝ“ไธ€ไธชๆจกๅ—ๆ‰ฟๆ‹…ไบ†ๅคชๅคšไธ็›ธๅ…ณ็š„ไธšๅŠก้€ป่พ‘ๆ—ถ๏ผŒๅฎƒ็š„ๅคๆ‚ๅบฆไผšๅ‘ˆๆŒ‡ๆ•ฐ็บงไธŠๅ‡๏ผŒไปปไฝ•ๅพฎๅฐ็š„ๆ”นๅŠจ้ƒฝๅฏ่ƒฝๅผ•ๅ‘ๆ„ๆƒณไธๅˆฐ็š„่ฟž้”ๅๅบ”ใ€‚\\nไปฃ็ ๆผ”็คบ๏ผš\\n```javascript\\n// โœ… ๆŽจ่๏ผš่Œ่ดฃๆ‹†ๅˆ†ๆ˜Ž็กฎ\\n// user-service.js - ไป…ๅค„็†็”จๆˆทๆ•ฐๆฎ็š„ CRUD\\nexport const getUser = async (id) => { /* ... */ };\\n// auth-provider.js - ไป…ๅค„็†้‰ดๆƒ็Šถๆ€ไธŽ้€ป่พ‘\\nexport const login = async (credenti\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"frontmatter\":{\"date\":\"2024-05-16 21:27:36\",\"title\":\"ไปŽ้€ป่พ‘้š”็ฆปๅˆฐ็ฑปๅž‹ๅฅ‘็บฆ๏ผšTypeScript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"tldr\":\"TypeScript ๅฐ†ๆจกๅ—ไพ่ต–ๆๅ‡ไธบ็ผ–่ฏ‘ๆ—ถ็ฑปๅž‹ๅฅ‘็บฆ๏ผŒไปŽ import type ๅˆฐๅฃฐๆ˜Žๆ–‡ไปถใ€‚\",\"description\":\"็ณป็ปŸ่ฎฒ่งฃ TypeScript ๅฏน ES Modules ็š„็ฑปๅž‹ๅขžๅผบ๏ผŒๆถต็›– import type ่ฟ่กŒๆ—ถไผ˜ๅŒ–ใ€ๆŽฅๅฃๅฅ‘็บฆใ€ๅฃฐๆ˜Žๆ–‡ไปถ .d.ts ๅŠ tsconfig ๆจกๅ—ๅŒ–้…็ฝฎใ€‚\",\"permalink\":\"/fullstack/typescript-module-programming-enhancement\",\"tags\":[\"concept\",\"ๅ…จๆ ˆ\",\"typescript\",\"tsconfig\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไปŽ้€ป่พ‘้š”็ฆปๅˆฐ็ฑปๅž‹ๅฅ‘็บฆ๏ผšTypeScript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"date\":\"2024-05-16 21:27:36\",\"capture\":\"1. ๅผ•่จ€\\nๅœจๅŽŸ็”Ÿ JavaScript ๆจกๅ—ๅŒ–่งฃๅ†ณไบ†ไปฃ็ ็ป„็ป‡้—ฎ้ข˜ๅŽ๏ผŒTypeScript๏ผˆTS๏ผ‰่ฟ›ไธ€ๆญฅๅฐ†ๅ…ถๆŽจๅ‘ไบ†ๅทฅไธš็บง้ซ˜ๅบฆใ€‚TS ไธไป…ไป…ๆ˜ฏไธบๆจกๅ—ๆทปๅŠ ไบ†็ฑปๅž‹ๆ ‡ๆณจ๏ผŒๅฎƒ้€š่ฟ‡็ฑปๅž‹ๅฏผๅ‡บๅฏผๅ…ฅใ€็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ใ€ไปฅๅŠๅฃฐๆ˜Žๆ–‡ไปถ็ณป็ปŸ๏ผŒๅฐ†ๆจกๅ—้—ด็š„ไพ่ต–ๅ…ณ็ณปไปŽ็ฎ€ๅ•็š„โ€œไปฃ็ ๅผ•็”จโ€ๆๅ‡ๅˆฐไบ†โ€œๅฅ‘็บฆไบคไบ’โ€ใ€‚\\nๆœฌๆ–‡ๆˆ‘ไปฌๅฐ†่š็„ฆไบŽ TypeScript ๅฆ‚ไฝ•้€š่ฟ‡็ฑปๅž‹็ณป็ปŸๅขžๅผบๆจกๅ—ๅŒ–็ผ–็จ‹๏ผŒๅนถๆŽข่ฎจๅœจ็Žฐไปฃๅทฅ็จ‹๏ผˆๅฐคๅ…ถๆ˜ฏ TS 5.0+ ๆ—ถไปฃ๏ผ‰ไธ‹็š„ๆœ€ไฝณ้…็ฝฎๅฎž่ทตใ€‚\\n 2. ็ฑปๅž‹ๅฏผๅ‡บไธŽๅฏผๅ…ฅ๏ผšๆž่‡ด็š„่ฟ่กŒๆ—ถไผ˜ๅŒ–\\nTypeScript ๅฏน ES Modules ่ฏญๆณ•ๆœ€ๆ˜พ่‘—็š„ๆ‰ฉๅฑ•ๆ˜ฏๆ”ฏๆŒโ€œไป…็ฑปๅž‹โ€๏ผˆType-only๏ผ‰็š„ๅฏผๅ‡บไธŽๅฏผๅ…ฅใ€‚่ฟ™ไธไป…ๆ˜ฏ่ฏญไน‰ไธŠ็š„ๆธ…ๆ™ฐ๏ผŒๆ›ดๆ˜ฏๆ€ง\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"frontmatter\":{\"date\":\"2024-05-14 22:29:32\",\"title\":\"ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒๆ‹ฅๆŠฑๅŽŸ็”Ÿ๏ผšES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"tldr\":\"ES Modules ๆ ธๅฟƒ่ฏญๆณ•ไธŽๆ‰ง่กŒๆจกๅž‹๏ผš้™ๆ€ๅˆ†ๆžๅฆ‚ไฝ•้‡ๅก‘ๅ‰็ซฏๆž„ๅปบๆ•ˆ็އใ€‚\",\"description\":\"ๆทฑๅบฆ่งฃๆž ES Modules ๅ‘ฝๅๅฏผๅ‡บ/ๅฏผๅ…ฅใ€้ป˜่ฎคๅฏผๅ‡บใ€ๅŠจๆ€ๅฏผๅ…ฅ็ญ‰่ฏญๆณ•๏ผŒไปฅๅŠๆจกๅ—ๆ‰ง่กŒ้กบๅบใ€ๅพช็Žฏไพ่ต–ๅค„็†ไธŽ็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ๆœบๅˆถใ€‚\",\"permalink\":\"/fullstack/decode-es-modules\",\"tags\":[\"concept\",\"ESM\",\"static-analysis\",\"Tree-Shaking\",\"circular-dependency\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒๆ‹ฅๆŠฑๅŽŸ็”Ÿ๏ผšES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"date\":\"2024-05-14 22:29:32\",\"capture\":\"> \\n> ็†่งฃ ESM๏ผŒไธไป…ไป…ๆ˜ฏๅญฆไผš import ๅ’Œ export๏ผŒๆ›ด้‡่ฆ็š„ๆ˜ฏ็†่งฃๅฎƒๅฆ‚ไฝ•้€š่ฟ‡็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ๅฝปๅบ•ๆ”นๅ˜ไบ†ๅ‰็ซฏๆž„ๅปบ็š„ๆ•ˆ็އใ€‚\\n 1. ๅ‘ฝๅๅฏผๅ‡บไธŽๅฏผๅ…ฅ๏ผš็ฒพๅ‡†็š„ไปฃ็ ๅผ•็”จ\\nๅ‘ฝๅๅฏผๅ‡บ๏ผˆNamed Exports๏ผ‰ๆ˜ฏ ESM ๆœ€ๅธธ็”จ็š„ๅฝขๅผ๏ผŒๅฎƒๅ…่ฎธไธ€ไธชๆจกๅ—ๆšด้œฒๅคšไธชๆˆๅ‘˜ใ€‚ๅ…ถๆ ธๅฟƒไผ˜ๅŠฟๅœจไบŽ๏ผšๅฏผๅ…ฅๆ–นๅฏไปฅๆŒ‰้œ€ๅผ•ๅ…ฅ๏ผŒไธ” IDE ่ƒฝๆไพ›็ฒพๅ‡†็š„่กฅๅ…จใ€‚\\n่ฏญๆณ•ๅฎž่ทต๏ผš๏ผš\\n```javascript\\n// math.js - ๅ‘ฝๅๅฏผๅ‡บ\\n// ่กŒๅ†…ๅฏผๅ‡บ\\nexport const PI = 3.14159;\\nexport function circleArea(radius) {\\n return PI * rad\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†\",\"frontmatter\":{\"date\":\"2024-05-14 22:26:06\",\"title\":\"JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\",\"tldr\":\"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ็ญ‰ๆ ธๅฟƒ่ง„่Œƒ๏ผŒ้™„็Žฐไปฃ่ฟ็งป็ญ–็•ฅใ€‚\",\"description\":\"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ๅ››ๅคงๆจกๅ—ๅŒ–่ง„่Œƒ็š„ๆ ธๅฟƒ่ฏญๆณ•ไธŽ้€‚็”จๅœบๆ™ฏ๏ผŒ่งฃๆžๅ„่ง„่Œƒ็š„ๅ…ณ้”ฎๅทฎๅผ‚๏ผŒๅนถๆไพ›ไปŽๆ—ง่ง„่Œƒๅ‘ ESM ่ฟ็งป็š„ๅฎžๆ“็ญ–็•ฅใ€‚\",\"permalink\":\"/fullstack/different-module-programming-specifications\",\"tags\":[\"tutorial\",\"CommonJS\",\"AMD\",\"UMD\",\"ESM\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\",\"date\":\"2024-05-14 22:26:06\",\"capture\":\"ๅœจ JavaScript ่ฟ›ๅŒ–ๅฒไธŠ๏ผŒโ€œๆจกๅ—ๅŒ–โ€ๅง‹็ปˆๆ˜ฏไธ€ไธชๆ ธๅฟƒๅ‘ฝ้ข˜ใ€‚ไปŽๆ—ฉๆœŸ script ๆ ‡็ญพๆปกๅคฉ้ฃž็š„โ€œๆททๆฒŒๆ—ถไปฃโ€๏ผŒๅˆฐๅ„่ทฏ่ง„่Œƒ็พค้›„้€้นฟ็š„โ€œๆˆ˜ๅ›ฝๆ—ถไปฃโ€๏ผŒๅ†ๅˆฐๅฆ‚ไปŠ ES Modules ๅฎšไบŽไธ€ๅฐŠ๏ผŒๅผ€ๅ‘่€…ไปฌๅœจ่งฃๅ†ณไพ่ต–็ฎก็†ใ€ไฝœ็”จๅŸŸๆฑกๆŸ“ๅ’Œๅผ‚ๆญฅๅŠ ่ฝฝ็ญ‰้—ฎ้ข˜ไธŠไป˜ๅ‡บไบ†ๅทจๅคง็š„ๅŠชๅŠ›ใ€‚\\nๆœฌๆ–‡ๅฐ†ๅธฆไฝ ๆขณ็† JavaScript ๅކๅฒไธŠๆœ€้‡่ฆ็š„ๅ‡ ็งๆจกๅ—ๅŒ–่ง„่Œƒ๏ผŒไพฟไบŽๆž„ๅปบ่ตทๅ…จๆ ˆๅผ€ๅ‘็š„ๅบ•ๅฑ‚็Ÿฅ่ฏ†ๅ›พ่ฐฑใ€‚\\n 1. CommonJS ่ง„่Œƒ๏ผšNode.js ็”Ÿๆ€็š„ๅŸบ็Ÿณ\\nCommonJS ๆ˜ฏไผด้š Node.js ่ฏž็”Ÿ็š„่ง„่Œƒ,็”ฑ Kevin Dangoor ๆๅ‡บ๏ผŒๅˆ่กทๆ˜ฏ่ฎฉ JavaScript ่„ฑ็ฆปๆต่งˆๅ™จไนŸ่ƒฝๆž„ๅปบๅคๆ‚็š„็ณป็ปŸๅบ”็”จใ€‚ๅฎƒๆ˜ฏ Node.\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€\",\"frontmatter\":{\"date\":\"2024-05-12 22:43:28\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ๏ผšๆฆ‚ๅฟตใ€ๆผ”่ฟ›ไธŽ่ฎพ่ฎกๆจกๅผ\",\"tldr\":\"ไปŽๅ…จๅฑ€ๅ˜้‡ๅˆฐ ES Modules๏ผšJavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›ไธŽๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผๅฎž่ทตใ€‚\",\"description\":\"็ณป็ปŸ่ฎฒ่งฃ JavaScript ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€๏ผŒๆถต็›– IIFEใ€CommonJSใ€ES Modules ่ง„่Œƒๆผ”่ฟ›๏ผŒไปฅๅŠๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผไธŽๆจกๅ—ๅŒ–็š„็ป“ๅˆใ€‚\",\"permalink\":\"/fullstack/frontend-module-programming-basic\",\"tags\":[\"tutorial\",\"javascript\",\"modularization\",\"esm\",\"design-patterns\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ๏ผšๆฆ‚ๅฟตใ€ๆผ”่ฟ›ไธŽ่ฎพ่ฎกๆจกๅผ\",\"date\":\"2024-05-12 22:43:28\",\"capture\":\"1. ๅผ•่จ€\\n้š็€้กน็›ฎ่ง„ๆจกๆ—ฅ็›Š่†จ่ƒ€๏ผŒไปฃ็ ้‡ไปŽๅ‡ ๅƒ่กŒ่ฟ…้€Ÿๅขž้•ฟๅˆฐๆ•ฐไธ‡็”š่‡ณๆ•ฐๅไธ‡่กŒ๏ผŒๅฐ†ๆ‰€ๆœ‰้€ป่พ‘ๅกž่ฟ›ๅฐ‘ๆ•ฐๅ‡ ไธชๆ–‡ไปถ็š„ๅšๆณ•ๆ—ฉๅทฒ้šพไปฅไธบ็ปงใ€‚ๅœจ่ฟ™ๆ ท็š„่ƒŒๆ™ฏไธ‹๏ผŒๆจกๅ—ๅŒ–็ผ–็จ‹ๅบ”่ฟ่€Œ็”Ÿ๏ผŒๆˆไธบ็Žฐไปฃๅ‰็ซฏๅผ€ๅ‘็š„ๆ ‡้…ใ€‚\\nๅฎƒ็š„ๆ ธๅฟƒ็†ๅฟต็ฎ€ๆด่€Œไผ˜้›…๏ผšๅƒๆญ็งฏๆœจไธ€ๆ ท๏ผŒๅฐ†ๅบžๅคงๅคๆ‚็š„็ณป็ปŸๆ‹†่งฃไธบไธ€ไธชไธช็‹ฌ็ซ‹ใ€ๅŠŸ่ƒฝๅ•ไธ€ไธ”ๅฏๅค็”จ็š„ๆจกๅ—๏ผŒ่ฎฉๆฏไธชๆจกๅ—ๅ„ๅธๅ…ถ่Œ๏ผŒๅ†้€š่ฟ‡ๆ ‡ๅ‡†ๆŽฅๅฃ็ตๆดป็ป„ๅˆใ€‚\\n 2. ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ\\nๅœจๆทฑๅ…ฅ็†่ฎบไน‹ๅ‰๏ผŒ่ฎฉๆˆ‘ไปฌๅ…ˆ้€š่ฟ‡ไธ€ไธช็ฎ€ๅ•็š„ JavaScript ็คบไพ‹๏ผŒ็›ด่ง‚ๅœฐๆ„Ÿๅ—ไธ€ไธ‹ไป€ไนˆๆ˜ฏๆจกๅ—ๅŒ–ใ€‚ๅ‡่ฎพๆˆ‘ไปฌ้œ€่ฆๅค„็†ไธ€ไบ›ๆ•ฐๅญฆ่ฟ็ฎ—๏ผŒๆˆ‘ไปฌๅฏไปฅๅฐ†ๅ…ถๅฐ่ฃ…ๆˆไธ€ไธช็‹ฌ็ซ‹็š„ๅทฅๅ…ทๆจกๅ—๏ผš\\n```javascript\\n// math.js - ๅฎšไน‰ไธ€ไธชๆ•ฐๅญฆๅทฅๅ…ทๆจกๅ—\\nexp\"},{\"url\":\"/10.ไบงๅ“ Sense/01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž/11.AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"relativePath\":\"/10.ไบงๅ“ Sense/01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž/11.AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"frontmatter\":{\"date\":\"2024-05-08 08:56:21\",\"title\":\"AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจๅคงๆจกๅž‹้‡ๅก‘ไบ’่”็ฝ‘ไบคไบ’็š„ๅฝ“ไธ‹๏ผŒPerplexity ๅนถๆœช้€‰ๆ‹ฉๆˆไธบโ€œไธ‹ไธ€ไธช Googleโ€๏ผŒ่€Œๆ˜ฏไปฅโ€œ็Ÿฅ่ฏ†ๅ‘็Žฐๅผ•ๆ“Žโ€็š„ๅ…จๆ–ฐๅฎšไฝ๏ผŒ็ฒพๅ‡†ๅˆ‡ๅ…ฅ็Ÿฅ่ฏ†ๅทฅไฝœ่€…็š„ๆ ธๅฟƒๅทฅไฝœๆตใ€‚ๆœฌๆ–‡่ทณๅ‡บๅ•็บฏ็š„ๆจกๅž‹่ƒฝๅŠ›ๅฏนๆฏ”๏ผŒไปŽไบงๅ“ Sense ไธŽๅทฅ็จ‹้€ป่พ‘็š„ๅŒ้‡่ง†่ง’๏ผŒๆทฑๅบฆๆ‹†่งฃ Perplexity ็š„็ ดๅฑ€ไน‹้“ใ€‚ๆˆ‘ไปฌๅฐ†ๆŽข่ฎจๅฎƒๅฆ‚ไฝ•้€š่ฟ‡ๅ็›ด่ง‰็š„ UI ๅˆ›ๆ–ฐ้‡ๅก‘ไบคไบ’่ตท็‚น๏ผŒๅฆ‚ไฝ•ๅœจๅทฅ็จ‹ๅฑ‚้ขๆญป็ฃ•ๅฐพ้ƒจๅปถ่ฟŸไธŽๅนป่ง‰ๆŽงๅˆถ๏ผŒไปฅๅŠๅฎƒๅฆ‚ไฝ•ๅˆฉ็”จๅทจๅคด็š„ๅˆฉๆถฆ็އๆŠคๅŸŽๆฒณๅฎž็Žฐ้”™ไฝ็ซžไบ‰ใ€‚ๆœ€็ปˆ๏ผŒๆˆ‘ไปฌๅฐ†่ง†็บฟๆŠ•ๅ‘ๆœชๆฅ๏ผŒไธ€็ชฅ AI ไปŽ่ขซๅŠจๅ“ๅบ”่ตฐๅ‘ไธปๅŠจๆŽข็ดข็š„ๆผ”่ฟ›่“ๅ›พใ€‚\",\"permalink\":\"/product-sense/perplexity-knowledge-worker\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"AI ๆœ็ดข\",\"็Ÿฅ่ฏ†ๅ‘็Žฐ\",\"ไบงๅ“ Sense\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"date\":\"2024-05-08 08:56:21\",\"capture\":\"1. ๅผ•่จ€\\nๅœจ AI ๆตชๆฝฎไธ‹๏ผŒๆœ็ดขๅผ•ๆ“Ž็š„่Œƒๅผๆญฃๅœจๅ‘็”Ÿ่ฝฌ็งปใ€‚ไฝœไธบๅฝ“ๅ‰ๅค‡ๅ—็žฉ็›ฎ็š„ AI ๆœ็ดขไบงๅ“๏ผŒPerplexity ๅนถๆฒกๆœ‰่ฏ•ๅ›พๆˆไธบโ€œไธ‹ไธ€ไธช Googleโ€๏ผŒ่€Œๆ˜ฏๅฐ†่‡ชๅทฑๅฎšไน‰ไธบ็Ÿฅ่ฏ†ๅ‘็Žฐๅผ•ๆ“Žใ€‚\\nๅฏนไบŽๆฏๅคฉ้œ€่ฆๅค„็†ๆตท้‡ไฟกๆฏใ€่ฟ›่กŒๅคๆ‚ๅ†ณ็ญ–็š„็Ÿฅ่ฏ†ๅทฅไฝœ่€…่€Œ่จ€๏ผŒๅฆ‚ไฝ•้ซ˜ๆ•ˆๅœฐโ€œๅŽปๅ™ชโ€ๅนถ่Žทๅ–้ซ˜ไฟกๅบฆ็Ÿฅ่ฏ†ๆ˜ฏๆ ธๅฟƒ่ฏ‰ๆฑ‚ใ€‚็ฌ”่€…ๅฐ†ไปŽไบงๅ“ไบคไบ’ใ€ๆŠ€ๆœฏๅทฅ็จ‹ใ€ๅ•†ไธš้€ป่พ‘ไธŽๆœชๆฅๆผ”่ฟ›ๅ››ไธช็ปดๅบฆ๏ผŒๅˆ†ๆž Perplexity ๆ˜ฏๅฆ‚ไฝ•้‡ๅก‘ไฟกๆฏ่Žทๅ–ๅทฅไฝœๆต็š„ใ€‚\\nๆœฌๆ–‡ๆ—จๅœจ้€š่ฟ‡ๅฏน Perplexity ็š„ๆทฑๅบฆไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž๏ผŒๅธฎๅŠฉ่ฏป่€…็†่งฃ AI ๆœ็ดขไบงๅ“็š„่ฎพ่ฎก้€ป่พ‘ไธŽ็”จๆˆทไฝ“้ชŒไผ˜ๅŒ–่ทฏๅพ„๏ผŒๅŒๆ—ถไธบ็Ÿฅ่ฏ†ๅทฅไฝœ่€…ๆไพ›ๅฏ่ฝๅœฐ็š„ๆ•ˆ็އๆๅ‡ๆ–นๆณ•๏ผŒๅนถๅœจ่ฟ‡็จ‹ไธญๅŸนๅ…ป็ป“ๆž„ๅŒ–ไบงๅ“ๅˆ†ๆžๆ€็ปดใ€‚\\n\"}],\"04\":[{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/70.่ฏ—ๆญŒๅฐ็ฒพ็ต\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/70.่ฏ—ๆญŒๅฐ็ฒพ็ต\",\"frontmatter\":{\"date\":\"2024-04-19 22:15:38\",\"title\":\"้›ถไปฃ็ ไธ็ญ‰ไบŽ้›ถ้€ป่พ‘๏ผš็ป“ๆž„ๅŒ– Prompt ้ฉฑๅŠจไธ‹็š„ Agent ๆญๅปบๅฎžๆˆ˜\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจ Agent ๆฆ‚ๅฟตๆปกๅคฉ้ฃž็š„ๅฝ“ไธ‹๏ผŒๅ†ณๅฎšๅคงๆจกๅž‹ๅฎž้™…่กจ็Žฐ็š„ๅพ€ๅพ€ๆ˜ฏๆœ€ๅบ•ๅฑ‚็š„ System Prompt ่ฎพ่ฎกใ€‚ๆœฌๆ–‡่ฎฐๅฝ•ไบ†ๅ‘จๆœซๅˆฉ็”จๆ–‡ๅฟƒๆ™บ่ƒฝไฝ“ๅนณๅฐๆญๅปบโ€œ่ฏ—ๆญŒๅฐ็ฒพ็ตโ€็š„ๅฎŒๆ•ดๅฎž่ทตใ€‚้€š่ฟ‡ๅฏนๆฏ”โ€œไผ ็ปŸๅคงๆฎตๆ–‡ๆœฌโ€ไธŽโ€œLangGPT ็ป“ๆž„ๅŒ–โ€ไธค็ง Prompt ็š„ๅฎž้™…่พ“ๅ‡บ๏ผŒๆทฑๅบฆๆ‹†่งฃไบ†็ป“ๆž„ๅŒ– Prompt ๅฆ‚ไฝ•ๅƒโ€œๅ†™ไปฃ็ โ€ไธ€ๆ ท่ง„่Œƒ AI ็š„ๆ€่€ƒๅทฅไฝœๆต๏ผŒๆœ‰ๆ•ˆ่งฃๅ†ณๆŒ‡ไปคๆผ‚็งปไธŽๅนป่ง‰้—ฎ้ข˜ใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ๆฌก Prompt ่ฐƒไผ˜ๅฎž้ชŒ๏ผŒๆ›ดๆ˜ฏไธ€ๅœบๅ…ณไบŽ AI ไบงๅ“ Sense ไธŽๆœชๆฅไบคไบ’ๅฝขๆ€็š„ๆŽข็ดขใ€‚\",\"coverImg\":\"/img/cover/llm_learning_bg_2.png\",\"categories\":[\"ai-practice\"],\"permalink\":\"/ai-practice/poetry-bot\",\"tags\":[\"Agent\",\"AI\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"้›ถไปฃ็ ไธ็ญ‰ไบŽ้›ถ้€ป่พ‘๏ผš็ป“ๆž„ๅŒ– Prompt ้ฉฑๅŠจไธ‹็š„ Agent ๆญๅปบๅฎžๆˆ˜\",\"date\":\"2024-04-19 22:15:38\",\"capture\":\"1. ๅฎž่ทต่ƒŒๆ™ฏ\\nๅ‘จๆœซๅœจ็คพๅŒบๆดปๅŠจไธญๅ†ๆฌกๅฌๅˆฐไบ† LangGPT ไฝœ่€…ไบ‘ไธญๆฑŸๆ ‘ๅ…ณไบŽโ€œ็ป“ๆž„ๅŒ–ๆ็คบ่ฏโ€็š„ๅˆ†ไบซ๏ผŒ่ฎฉไบบๆ„Ÿ่งฆ้ข‡ๆทฑใ€‚่™ฝ็„ถๅฝ“ๅ‰ Agent ๆฆ‚ๅฟต็ซ็ƒญ๏ผŒๅฑ‚ๅ‡บไธ็ฉท็š„ๆก†ๆžถ่ฎฉไบบ็œผ่Šฑ็ผญไนฑ๏ผŒไฝ†ๅ›žๅฝ’ๆœฌ่ดจๆˆ‘ไปฌๅฐฑไผšๅ‘็Žฐ๏ผšSystem Prompt ็š„ๅบ•ๅฑ‚่ฎพ่ฎกใ€ไธŠไธ‹ๆ–‡ๅทฅ็จ‹ไปฅๅŠๆŒ‡ไปค้ตๅพชๆœบๅˆถ๏ผŒๆ‰ๆ˜ฏๅ†ณๅฎšไธ€ไธช Agent ็ต้ญ‚็š„ๅ…ณ้”ฎใ€‚\\nๆญฃๅทงๅคงๅ›ข้˜Ÿ่‡ช็ ”็š„้›ถไปฃ็  Agent ๅนณๅฐ่ฟ‘ๆœŸๅ‘ๅธƒไบ†ๆ–ฐ็‰ˆๆœฌ๏ผŒไธบไบ†ไบฒๆต‹ๅนณๅฐๆ€ง่ƒฝๅนถๅฎžๆˆ˜ๆผ”็ปƒ็ป“ๆž„ๅŒ– Prompt ็š„็ผ–ๅ†™ๆŠ€ๅทง๏ผŒๆˆ‘ๅ†ณๅฎšๅˆ›ๅปบไธ€ไธชโ€œ่ฏ—ๆญŒๅฐ็ฒพ็ตโ€ Agentใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ไธช่ถฃๅ‘ณๅฎž้ชŒ๏ผŒๆ›ดๆ˜ฏไธบไบ†ๆŽข็ดข AI ๅœจๆ–‡ๅญฆๅˆ›ไฝœ่ฟ™็งโ€œๆ„Ÿๆ€ง้ข†ๅŸŸโ€ไธญ๏ผŒๅฆ‚ไฝ•้€š่ฟ‡โ€œ็†ๆ€ง็š„็ป“ๆž„็บฆๆŸโ€่พพๅˆฐๆ›ด้ซ˜็š„่พ“ๅ‡บไธŠ้™ใ€‚\\n 2. ๅนณๅฐไธŽ\"}],\"03\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2024-03-20 22:41:41\",\"title\":\"ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ๅœจ้œ€ๆฑ‚่พน็•Œๅ†…่ฟฝๆฑ‚ๆœ€ๅฐๅคๆ‚ๅบฆโ€”โ€”ไธๆ˜ฏๆ‹’็ปๅคๆ‚๏ผŒ่€Œๆ˜ฏไธไธปๅŠจๅˆถ้€ ๅคๆ‚ใ€‚\",\"description\":\"ๆทฑๅ…ฅ่งฃๆžๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™ๅœจ็ผ–็จ‹ไธŽ่ฎพ่ฎกไธญ็š„ๅ…ญๅคงๅœบๆ™ฏ๏ผšๆ‹’็ป่ฟ‡ๅบฆ้ข„ๅˆคใ€็งป้™คๅ†—ไฝ™้€ป่พ‘ใ€ๅŒน้…ๆžถๆž„่ง„ๆจกใ€ๅ…‹ๅˆถไพ่ต–ๅผ•ๅ…ฅใ€ๅฐ่ฃ…ๆœ€ๅฐๆŽฅๅฃใ€ๅ…ˆๆŽ’ๆŸฅ็ฎ€ๅ•ๅŽŸๅ› ๏ผŒๅนถ็ป™ๅ‡บไธ‰ไธชๅ…ณ้”ฎ่พน็•Œใ€‚\",\"permalink\":\"/fullstack/occams-razor-software-design\",\"tags\":[\"concept\",\"engineering-fundamentals\",\"code-design\",\"software-engineering\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2024-03-20 22:41:41\",\"capture\":\"<script setup\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n> ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™็”ฑ 14 ไธ–็บช้€ป่พ‘ๅญฆๅฎถๅจๅป‰ยทๅฅฅๅกๅง†ๆๅ‡บ๏ผŒๅ…ถๆ ธๅฟƒไธบ\\\"ๅฆ‚ๆ— ๅฟ…่ฆ๏ผŒๅ‹ฟๅขžๅฎžไฝ“\\\"โ€”โ€”ๅœจๅคšไธชๅŒ็ญ‰ๆœ‰ๆ•ˆ็š„ๆ–นๆกˆไธญ๏ผŒ้€‰ๆ‹ฉๅ‡่ฎพๆœ€ๅฐ‘ใ€ๆœ€็ฎ€ๆด็š„้‚ฃไธชใ€‚่ฏฅๅŽŸๅˆ™ๅนถ้žๅฆๅฎšๅคๆ‚ๆ€ง๏ผŒ่€Œๆ˜ฏ้ฟๅ…ๆ— ๆ„ไน‰็š„่ฟ‡ๅบฆ่ฎพ่ฎกใ€‚ๆ–‡็ซ ไปŽ็ผ–็จ‹ไธŽ่ฎพ่ฎกๅฎž่ทตๅ‡บๅ‘๏ผŒไพๆฌกๆŽข่ฎจไบ†้œ€ๆฑ‚ๅฎž็Žฐใ€ไปฃ็ ๅฎž็Žฐใ€ๆžถๆž„่ฎพ่ฎกใ€ไพ่ต–็ฎก็†ใ€ๆŽฅๅฃ่ฎพ่ฎกใ€่ฐƒ่ฏ•ไผ˜ๅŒ–ๅ…ญๅคงๅœบๆ™ฏ็š„ๅไพ‹ไธŽๆญฃไพ‹๏ผŒๅนถๆ˜Ž็กฎๆŒ‡ๅ‡บไธ‰ไธชๅ…ณ้”ฎ่พน็•Œ๏ผšไธๅฏ็‰บ็‰ฒๅฏ็ปดๆŠคๆ€งใ€ๅฏๆ‰ฉๅฑ•ๆ€งใ€ๅฎ‰ๅ…จๆ€งๆขๅ–็ฎ€ๆดใ€‚\\n 1.\"}],\"01\":[{\"url\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"relativePath\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"frontmatter\":{\"date\":\"2024-01-15 22:16:00\",\"title\":\"่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไนฆๆŽฅไธŠๆ–‡ใ€Šๅ‘ๅ†…ๆ€ๅ˜ใ€‹๏ผŒๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ๅœจๅŽ็–ซๆƒ…ๆ—ถไปฃไปŽโ€œ้—ญๅ…ณโ€่ตฐๅ‘โ€œๅ‘ๅค–ไฝ“้ชŒโ€็š„ๅฐ่ฏ•ไธŽๅฟƒๅพ—ใ€‚้ขๅฏนๆœบๆขฐๆ‰ง่กŒๅธฆๆฅ็š„โ€œ็›ฎๆ ‡้šง้“โ€ๆ•ˆๅบ”๏ผŒ็ฌ”่€…ๅฐ่ฏ•่ทณๅ‡บๅ•ไธ€็š„็บฟๆ€ง่ง„ๅˆ’๏ผŒ่ฝฌ่€Œๅฏปๆฑ‚ๆ›ดๅบ•ๅฑ‚็š„่ฎค็Ÿฅ้€ป่พ‘ใ€‚ๆ–‡็ซ ้€š่ฟ‡้‡่ฏปใ€Š่ฆไบ‹็ฌฌไธ€ใ€‹ๅปบ็ซ‹ๅนณ่กก่ง‚๏ผŒๅˆฉ็”จ็ณป็ปŸๆ€็ปด๏ผˆๅขžๅผบ/่ฐƒ่Š‚ๅ›ž่ทฏ๏ผ‰ๆž„ๅปบๆดžๅฏŸๅŠ›๏ผŒๅนถ้‡ๆ–ฐๆ‹พ่ตทๆ•ฐๅญฆๆ€็ปด๏ผˆๆฆ‚็އใ€็จ€็–ๆ€งใ€ๅคšๆ ทๆ€ง๏ผ‰ไธŽ AI ่ง†่ง’ใ€‚่ฟ™ๆ˜ฏไธ€ๆฌกๅ…ณไบŽๅฆ‚ไฝ•็”จ็ง‘ๅญฆๆจกๅž‹ๆ›ฟไปฃๆœบๆขฐๆ‰ง่กŒ๏ผŒไปŽๆœฌ่ดจไธŠ้‡ๆž„ไธชไบบ่ฎค็Ÿฅไฝ“็ณป็š„ๆทฑๅบฆๅค็›˜ใ€‚\",\"permalink\":\"/growth/outer-experience\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/outer_experience_bg.png\",\"sticky\":1,\"top\":true,\"tags\":[\"็ณป็ปŸๆ€็ปด\",\"ๆ•ฐๅญฆๆ€็ปด\",\"ๆจกๅž‹ๆ€็ปด\",\"AI\",\"็–ซๆƒ…\"],\"categories\":[\"ไธชไบบๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"date\":\"2024-01-15 22:16:00\",\"capture\":\"1. ๅ†™ๅœจๅ‰้ข\\nๆ—ถๅ…‰่่‹’๏ผŒ็–ซๆƒ…ๅทฒ็ป็”ฑๆ”พๅผ€็Šถๆ€็ปง็ปญๆผ”ๅ˜ไธบ่ฟ‡ๅŽปๅผ็Šถๆ€๏ผŒๆˆ‘ไปฌไบบ็ฑปไนŸไปŽใ€Ž้—ญๅ…ณใ€่ตฐๅ‘ไบ†ใ€Ž่‡ช็”ฑใ€็š„็คพไผš็”Ÿๆดป็Šถๆ€ใ€‚็ฌ”่€…ไฝœไธบ็คพไผšไธญ็š„ๆ™ฎ้€šไธ€ๅ‘˜๏ผŒ่‡ช็„ถไนŸไธ็ฆปๅค–๏ผŒๅœจ 2023 ๅนดๅˆๆด‹ๆด‹ๆด’ๆด’ๅ†™ไบ†ไธ€็ฏ‡ๅœจๅฅๅบทใ€่ฏปไนฆไธŽๅญฆไน ใ€ๆ—ถ้—ด็ฎก็†ๅ’Œๆททๅˆๅทฅไฝœๅˆถๅ‡ ไธชๆ–น้ข็š„ๅฎž่ทตไธŽ็†่งฃ๏ผˆๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ๏ผ‰๏ผŒๅฐฑๅผ€ๅผ€ๅฟƒๅฟƒๅœฐๅ‘ๅ‰็œ‹๏ผŒๅญฆ็€ๅ‘ๅค–ไฝ“้ชŒไบ†ใ€‚\\n้‚ฃไนˆ้—ฎ้ข˜ๆฅไบ†๏ผŒ็›ธๆฏ”ไน‹ๅ‰ๅ†™ๅ‡บ้•ฟๆ–‡๏ผŒ็ฌ”่€…ๅˆๆ˜ฏ่ฟ‘ไธ€ๅนดๆฒกๆœ‰ๅ‘ๅค–่พ“ๅ‡บ่ฝฏๆ–‡ไบ†ใ€‚ๅ› ๆญค๏ผŒไนฆๆŽฅไธŠๆ–‡๏ผŒๆœฌๆฌก็ปง็ปญๆ–ฐๅขžไธ€็ฏ‡ไธญ็Ÿญๆ–‡๏ผŒๆผซ่ฐˆไธ€ไธ‹็–ซๆƒ…ๅŽ็š„ๅ‘ๅค–ไฝ“้ชŒใ€‚\\nๅœจๅ€’้€ผ่‡ชๅทฑๅ…ณๆณจ่บซไฝ“ๅฅๅบทๅ’Œๆ—ถ้—ด็ฎก็†ๅŽ๏ผŒ่™ฝ็„ถๅœจไฝ“้‡ๅ’Œๆ•ˆ็އไธคไธชๆ–น้ขๆœ‰ไธ€ๅฎš็š„ๆญฃๅ‘ๆ•ˆๆžœ๏ผŒไฝ†็ฌ”่€…ๅœจ่ฟž็ปญๅšๆŒ่ฝๅœฐๆ‹†่งฃๅ‡บๆฅ็š„็›ฎๆ ‡่ฟ‡็จ‹ไธญ๏ผŒๆœ‰ๆ—ถ\"},{\"url\":\"/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/50.็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“\",\"relativePath\":\"/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/50.็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“\",\"frontmatter\":{\"date\":\"2024-01-01 16:00:00\",\"title\":\"็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“\",\"description\":\"ๅฐ†็ปๆตŽๅญฆๆ ธๅฟƒๅŽŸ็†่žๅˆ่ฟ›ไบงๅ“่ฎพ่ฎกๅ…จ็”Ÿๅ‘ฝๅ‘จๆœŸ็š„ๆ–นๆณ•่ฎบไฝ“็ณป๏ผŒๆž„ๅปบ็†ๆ€ง็š„โ€œไบงๅ“Senseโ€ใ€‚\",\"categories\":[\"ไบงๅ“ Sense\"],\"permalink\":\"/product-sense/using-economics-thinking\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“\",\"date\":\"2024-01-01 16:00:00\",\"capture\":\"ๅœจไบงๅ“็ฎก็†็š„ๅนฟ้˜”ๅคฉๅœฐไธญ๏ผŒๆˆ‘ไปฌๅพ€ๅพ€ๅผบ่ฐƒโ€œไบงๅ“ Senseโ€๏ผˆProduct Sense๏ผ‰โ€”โ€”ไธ€็งๅฏน็”จๆˆท้œ€ๆฑ‚ใ€ๅธ‚ๅœบ้ฃŽๅ‘ๅ’ŒๆŠ€ๆœฏๆฝœๅŠ›็š„็›ด่ง‰ๆ€งๆ•ๆ‰ใ€‚็„ถ่€Œ๏ผŒ่ฟ™็ง Sense ็ป้žๅ‡ญ็ฉบ่€Œๆฅ็š„็ตๅ…‰ไน็Žฐ๏ผŒๅฎƒ้œ€่ฆ็จณๅ›บ็š„็†ๆ€งๅœฐๅŸบใ€‚ๅœจไผ—ๅคšๅญฆ็ง‘ไธญ๏ผŒ็ปๆตŽๅญฆๆ— ็–‘ๆไพ›ไบ†ๆœ€ๅบ•ๅฑ‚็š„้€ป่พ‘ๆ”ฏๆŸฑใ€‚\\n็ปๆตŽๅญฆไธไป…ไป…ๆ˜ฏๅ…ณไบŽ้‡‘้’ฑๅ’Œๅธ‚ๅœบ็š„็ง‘ๅญฆ๏ผŒๅฎƒๆ›ดๆ˜ฏไธ€็ง่งฃๅ†ณ้—ฎ้ข˜ใ€ไผ˜ๅŒ–ๅ†ณ็ญ–็š„ๆ–นๅผใ€‚ๅฏนไบงๅ“ไบบ่€Œ่จ€๏ผŒๅ€Ÿ้‰ด็ปๆตŽๅญฆๆ€็ปด๏ผŒๆ„ๅ‘ณ็€่ƒฝๅคŸ็†ๆ™บๅœฐๆƒ่กกๅˆฉๅผŠ๏ผŒๆ›ด็ฒพๅ‡†ๅœฐๅฎšไปท๏ผŒๆ›ดๆทฑๅˆปๅœฐๆดžๅฏŸไบบๆ€ง๏ผŒๆœ€็ปˆๅœจ้”™็ปผๅคๆ‚็š„็บฆๆŸๆกไปถไธ‹๏ผŒๆฑ‚่งฃๅ‡บ็”จๆˆทไปทๅ€ผไธŽๅ•†ไธšไปทๅ€ผๅนถ้‡็š„ๆœ€ไผ˜่งฃใ€‚\\n 1. ็”Ÿๆดป้‡Œ็š„็ปๆตŽๅญฆๆดžๅฏŸโ€”โ€”ๆดžๅฏŸไธไป…ๆ˜ฏๅ…ณไบŽ้œ€ๆฑ‚๏ผŒๆ›ดๆ˜ฏๅ…ณไบŽๆˆๆœฌไธŽๅšๅผˆ\\nๆˆ‘ไปฌๅธธ่ขซๆ—ฅๅธธ็Žฐ่ฑก็š„โ€œๅˆ็†ๆ€งโ€ๆ‰€่ฟทๆƒ‘๏ผŒ่€Œ็ปๆตŽๅญฆ\"},{\"url\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/01.ๅฅฝไนฆๆŽจ่\",\"relativePath\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/01.ๅฅฝไนฆๆŽจ่\",\"frontmatter\":{\"title\":\"ๅฅฝไนฆๆŽจ่\",\"date\":\"2024-01-01 16:00:00\",\"description\":\"่ฏปไนฆๅฟƒๅพ—ใ€ๆŽจ่ไนฆ็ฑๅ’Œ้˜…่ฏปๆŠ€ๅทง\",\"categories\":[\"growth\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/books_reading_bg.png\",\"permalink\":\"/growth/books\",\"tags\":[\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\",\"่ต„ๆบๆŽจ่\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฅฝไนฆๆŽจ่\",\"date\":\"2024-01-01 16:00:00\",\"capture\":\"<script setup\\n import BookRecommend from './@fragment/BookRecommend.vue'\\n import {aiBooks, productSenseBooks, businessBooks, efficiencyBooks, growthBooks, humanSocialBooks, healthBooks} from './@fragment/recommends-data.ts'\\n</script>\\n 1. AI ไธŽๆ•ฐๅญฆๆ€็ปด\\n> ๅœจๅคงๆจกๅž‹ๅ‘ๅฑ•ๆ—ฅๆ–ฐๆœˆๅผ‚็š„ไปŠๅคฉ๏ผŒ็†่งฃ AI ๆœฌ่ดจไธŠๆ˜ฏๅœจๅ‡็บงๆˆ‘ไปฌ่ต„ๆทฑ็š„โ€œ่ฎค็Ÿฅๆ“\"}]},\"2023 \":{\"01\":[{\"url\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"relativePath\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"frontmatter\":{\"date\":\"2023-01-08 10:23:50\",\"title\":\"ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅฆ‚ไฝ•้ฟๅ…ๅ†…่€—๏ผŸๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ไธ‰ๅนด้—ด็š„โ€œ่‡ชๆˆ‘้‡ๆž„โ€ๅฎž้ชŒใ€‚ๆ–‡็ซ ๆ‘’ๅผƒไบ†ๅ•็บฏ็š„ๆƒ…็ปชๅฎฃๆณ„๏ผŒ่€Œๆ˜ฏๅˆฉ็”จๅˆ†่งฃๆณ•ใ€ๆธ่ฟ›ๆ˜Ž็ป†ๅ’Œ็ปŸ่ฎกๅˆ†ๆž็ญ‰ๅทฅ็จ‹ๆ€็ปด๏ผŒๅฏนๅฅๅบท้ฅฎ้ฃŸใ€็Ÿฅ่ฏ†ไฝ“็ณปใ€ๆ—ถ้—ดๅˆ†้…ๅŠ่ฟœ็จ‹ๅไฝœ่ฟ›่กŒไบ†็ณป็ปŸๅŒ–ๆ”น้€ ใ€‚่ฟ™ๆ˜ฏไธ€ไปฝๅ…ณไบŽๅฆ‚ไฝ•ๅœจๆ— ๅธธ็š„ๅค–้ƒจ็Žฏๅขƒไธญ๏ผŒๅปบ็ซ‹ๅ†…ๅœจ็กฎๅฎšๆ€ง็งฉๅบ็š„่กŒๅŠจๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/growth/inner-experience\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/refactor_life.png\",\"sticky\":1,\"top\":true,\"categories\":\"ไธชไบบๆˆ้•ฟ\",\"tags\":[\"ๅฅๅบท\",\"ๆ—ถ้—ด\",\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\",\"่ฟœ็จ‹ๅไฝœ\",\"็–ซๆƒ…\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"date\":\"2023-01-08 10:23:50\",\"capture\":\"<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/refactor_life.png\\\" alt=\\\"็›ฎๆ ‡ๅˆฐ่ทต่กŒๆ€็ปดๆต็จ‹็คบๆ„ๅ›พ\\\" style=\\\"width: 100%; border-radius: 8px;\\\" />\\n ๅ†™ๅœจๅ‰้ข\\n่‡ชๅŽปๅนด 7 ๆœˆไปฝ่ฟ็งปๅ‡ ็ฏ‡ๆ—งๆ–‡ๅŽ๏ผŒ็ฌ”่€…ๅฐฑๆฒกๆœ‰็ปง็ปญๅ†™่ฝฏๆ–‡ไบ†๏ผŒๆƒณไธๅˆฐๅ†ๆฌกๅ†™ๆ–‡็ซ ๆ—ถ็–ซๆƒ…ๆ”ฟ็ญ–ๅทฒ็ป่ฐƒๆ•ด๏ผŒไธ”ๅˆๆญฅๅฎž็Žฐไบ†ๅผ€ๆ”พใ€‚้‚ฃไนˆ้—ฎ้ข˜ๆฅไบ†๏ผŒไธบไป€ไนˆ่ฆ็ปง็ปญๅ†™ๆ–‡็ซ ๅ‘ข๏ผŸๆฆ‚ๆ‹ฌๆฅ่ฎฒ๏ผŒๆœ‰ไธคไธชๆ–น้ข็š„ๅŽŸๅ› ๏ผš\\n* ็›ดๆŽฅๅŽŸๅ› ๏ผš็–ซๆƒ…่ฟ™ไธ‰ๅนด๏ผŒๆฏไธชไบบ้ƒฝไฝ“้ชŒๅˆฐไบ†ไธๅŒไบŽไน‹ๅ‰็š„ โ€œ้šพโ€๏ผŒไนŸ้ƒฝๆœ‰\"}]},\"2022 \":{\"09\":[{\"url\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/20.ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹้˜ถๆฎต้š็ฌ”ๆฑ‡ๆ€ป\",\"relativePath\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/20.ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹้˜ถๆฎต้š็ฌ”ๆฑ‡ๆ€ป\",\"frontmatter\":{\"date\":\"2022-09-12 08:16:00\",\"title\":\"็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ”นๅ–„็š„ๆ–นๅผๆŽจๅŠจๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไปŽโ€œไนฆ็”Ÿๆ„ๆฐ”โ€ๅˆฐๅˆๅ…ฅ็คพไผš็š„โ€œไธญๅนดๆฒน่…ปโ€ๅฑๆœบ๏ผŒไธ€ๆฌกๅฅๅบท่ญฆๆŠฅ่ฎฉ็ฌ”่€…ๅผ€ๅฏไบ†่ฟ™ๅœบๆทฑๅˆป็š„่‡ชๆˆ‘ๅฏน่ฏไธŽ่กŒๅŠจใ€‚ๆœฌๆ–‡่ฏฆ็ป†ๅค็›˜ไบ†็ฌ”่€…ไปŽๅฅๅบทๅฑๆœบๅ‡บๅ‘๏ผŒ้€š่ฟ‡ๅ››ไธช้˜ถๆฎต็š„ๅพชๅบๆธ่ฟ›๏ผŒๆˆๅŠŸๅฎž็Žฐไฝ“้‡็ฎก็†็š„่ฟ‡็จ‹ใ€‚ๅŒบๅˆซไบŽ็›ฒ็›ฎ่ทŸ้ฃŽ๏ผŒ็ฌ”่€…ๅœจๅฎž่ทตไธญๅผ•ๅ…ฅไบ†็›ฎๆ ‡ๆ‹†่งฃใ€ๆ•ฐๆฎ็›‘ๆŽง๏ผˆไฝ“่„‚็งคๆŒ‡ๆ ‡๏ผ‰ใ€่ทจ้ข†ๅŸŸ็ป้ชŒ่ฟ็งป๏ผˆๅฆ‚้กน็›ฎ็ฎก็†ใ€ๆ—ถ้—ด็ฎก็†๏ผ‰ไปฅๅŠๅฏนไธๅŒ็ญ–็•ฅ๏ผˆๅฆ‚ๆŽงๅˆถ้ฅฎ้ฃŸใ€ๅŠ ๅคงๆ— ๆฐง่ฟๅŠจใ€ๅฐ่ฏ•ไธๅƒไธป้ฃŸ๏ผ‰็š„่พฉ่ฏ้‡‡็บณใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ไปฝๅ‡่‚ฅ่ฎฐๅฝ•๏ผŒๆ›ดๆ˜ฏไธ€ๆฌก็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ€็ปด้‡ๆž„็”Ÿๆดป็งฉๅบใ€ๅฎž็Žฐ่บซๅฟƒๅ‡็บง็š„ๅฎžๆ“ๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/growth/weight-loss\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/health_bg.png\",\"top\":true,\"tags\":[\"ๅฅๅบท\",\"่ฟๅŠจ\"],\"categories\":[\"ไธชไบบๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ”นๅ–„็š„ๆ–นๅผๆŽจๅŠจๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹\",\"date\":\"2022-09-12 08:16:00\",\"capture\":\"ๅ†™ๅœจๅ‰้ข\\nๅœจ็ปๆตŽๅฟซ้€Ÿๅ‘ๅฑ•็š„ๅคง่ƒŒๆ™ฏไธ‹๏ผŒไธ€ๆ‰นๅˆไธ€ๆ‰น็š„ๅคงๅญฆ็”Ÿ้™†็ปญ่ตฐๅ‡บๆ ก้—จ่ฟ›ๅ…ฅ็คพไผšๅคง่ˆžๅฐใ€‚้š็€ๅนด้พ„ไธŽๅทฅไฝœๅนด้™็š„ๅขž้•ฟ๏ผŒไธ็Ÿฅ็ฝฎ่บซไบŽๅ…ถไธญ็š„ไฝ ๆ˜ฏๅฆๆ„Ÿๆ…จ่ฟ‡่‡ชๅทฑๅœจ้˜…ๅކไธŠไปŽโ€œไนฆ็”Ÿๆ„ๆฐ”โ€ๆธๆธๆผ”ๅ˜ไธบโ€œๅ››ๅนณๅ…ซ็จณ๏ผŒๆธธๅˆƒๆœ‰ไฝ™โ€๏ผ›ๅœจ่บซไฝ“ๅ…ปๆŠคๆ–น้ขไปŽโ€œ่บซๆๆ— ๆ•Œ๏ผŒๅนด้พ„ๆˆ่ฟท๏ผŒๅฎžๆ‰“ๅฎžไธ€ไธชไผ ๅฅ‡โ€ๆผ”ๅ˜ไธบโ€œไธญๅนดๆฒน่…ปโ€ใ€‚ๆฏไธชไบบๅคšๅฐ‘้ƒฝๆœ‰่‡ชๅทฑ็š„็ญ”ๆกˆ๏ผŒ็ฌ”่€…็š„็ญ”ๆกˆๆ˜ฏ๏ผš่ตฐๅ‡บๆ ก้—จ่ฟ›ๅ…ฅ็คพไผšๅŽ๏ผŒๅฝ“ๅˆๅฏน่บซ่พนไบบๆœ‰็‚น่‹›ๅˆป๏ผŒ้‡ไบ‹็ซๆ€ฅ็ซ็‡Ž็š„่‡ชๅทฑ้€ๆธๅพ—ๅˆฐไบ†ๆ”นๅ–„ใ€‚่บซไฝ“ๅดๅ› ๅŽŸๆœฌๅœจๅคงๅญฆๆ—ถๆฒกๆœ‰ๆ€Žไนˆๅœจๆ„๏ผŒ็ป่ฟ‡้•ฟๅนด็ดฏๆœˆๅœฐๆด—็คผไบฎไบ†ไธ€ๆฌกๅฐ็บข็ฏใ€‚ๅœจๅบทๅคๆœŸ้—ด๏ผŒไธๆญขไธ€ๆฌกๅๆ€่ฟ‡ไน‹ๅ‰็š„็”Ÿๆดปๆ–นๅผๅ’Œๅ…ฅไธ–ๆจกๅผ๏ผŒๆƒณไธ€ๆƒณ + ๅ››ๅค„็œ‹ไธ€็œ‹ๅŽ๏ผŒๆ…ขๆ…ขไนŸๅฐฑๅผ€ๆ‚Ÿไบ†๏ผŒ่‡ช็„ถ่ฆๅฏๅŠจไธ€ไบ›ๆ”นๅ˜ๅฐ่ฏ•ใ€‚\\nๅ› ๆญค๏ผŒไนŸๅฐฑๆœ‰ไบ†่ฟ™็ฏ‡ๅ‡่‚ฅ่ฟ™ไปถ\"}]}},\"groupPosts\":{\"categories\":{\"AI ๅญฆไน ไธŽๅฎž่ทต\":[{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/10.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Deep Research Agent\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/10.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Deep Research Agent\",\"frontmatter\":{\"date\":\"2026-04-02 00:38:37\",\"title\":\"ๅฃฐๆ˜Žๅผๅคšๆ™บ่ƒฝไฝ“ๅๅŒ๏ผšๅŸบไบŽ Claude Agent SDK ๆž„ๅปบๆทฑๅบฆ็ ”็ฉถ็ณป็ปŸ\",\"description\":\"ๅฏนๅคๆ‚็ ”็ฉถไปปๅŠกๆ—ถ๏ผŒๅ•ๆ™บ่ƒฝไฝ“๏ผˆSingle-Agent๏ผ‰ๅธธๅ› ไธŠไธ‹ๆ–‡็จ€้‡Šๅ’Œ้€ป่พ‘็–ฒๅŠณๅฏผ่‡ดไบงๅ‡บ่ดจ้‡ไธ‹้™ใ€‚ๆœฌๆ–‡ๅŸบไบŽ Claude Agent SDK ๆŽข่ฎจไบ†ๅคšๆ™บ่ƒฝไฝ“็ณป็ปŸ๏ผˆMAS๏ผ‰็š„ๅทฅ็จ‹ๅŒ–่ฝๅœฐใ€‚้€š่ฟ‡โ€œLead + Subagentโ€็š„ๅฃฐๆ˜Žๅผๆžถๆž„๏ผŒๆˆ‘ไปฌๅฐ†ๆทฑๅบฆ็ ”็ฉถๆ‹†่งฃไธบๆœ็ดขใ€้‡ๅŒ–ๅˆ†ๆžใ€ๅฏ่ง†ๅŒ–็ป˜ๅ›พไธŽ็ป“ๆž„ๅŒ–ๅ†™ไฝœๅ››ไธช็‹ฌ็ซ‹็Žฏ่Š‚ใ€‚\",\"permalink\":\"/ai-agent/deepresearch-agent\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"],\"tags\":[\"Agent SDK\",\"Multi-Agent\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฃฐๆ˜Žๅผๅคšๆ™บ่ƒฝไฝ“ๅๅŒ๏ผšๅŸบไบŽ Claude Agent SDK ๆž„ๅปบๆทฑๅบฆ็ ”็ฉถ็ณป็ปŸ\",\"date\":\"2026-04-02 00:38:37\",\"capture\":\"> ๅฎž่ทต่ฏๆ˜Ž๏ผŒ้€š่ฟ‡ไธฅๆ ผ็š„่Œ่ดฃ้š”็ฆป๏ผˆๅฆ‚ Lead Agent ไป…่ดŸ่ดฃ่ฐƒๅบฆ๏ผ‰ไธŽๅทฅ็จ‹่พน็•Œ็บฆๆŸ๏ผˆๅฆ‚ Researcher ๅผบๅˆถๆๅ–้‡ๅŒ–ๆŒ‡ๆ ‡๏ผ‰๏ผŒMAS ่ƒฝๅคŸ็”Ÿๆˆๅ…ทๅค‡ไธ“ไธšๆ•ฐๆฎๅ›พ่กจๆ”ฏๆ’‘็š„ๆทฑๅบฆๆŠฅๅ‘Šใ€‚ๆœฌๆ–‡ๅฐ†ไปŽๆžถๆž„่ฎพ่ฎกใ€ๅทฅไฝœๆต็ผ–ๆŽ’ๅˆฐ PDF ่‡ชๅŠจ็”Ÿๆˆ๏ผŒๅฎŒๆ•ด่ฟ˜ๅŽŸ่ฟ™ไธ€โ€œAI ้ฉฑๅŠจ่ฐƒ็ ”ๆตๆฐด็บฟโ€็š„ๆž„ๅปบ่ฟ‡็จ‹๏ผŒๅนถๅฑ•็คบๅ…ถๅœจๆ•™่‚ฒ็ ”็ฉถๆกˆไพ‹ไธญ็š„ๅฎžๆˆ˜ๆ•ˆๆžœใ€‚\\n 1. ๅผ•่จ€\\nๅœจ AI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐไธ€ๆ–‡ไธญ๏ผŒๆˆ‘ไปฌๆŽข่ฎจไบ†ๅคšๆ™บ่ƒฝไฝ“็ณป็ปŸ๏ผˆMulti-Agent Systems, MAS๏ผ‰็š„็†่ฎบไผ˜ๅŠฟใ€‚ไปŽ็†่ฎบๅฑ‚้ข็œ‹๏ผŒ่ฟ™็ฑป็ณป็ปŸ้€š่ฟ‡ไปปๅŠกๅˆ†่งฃใ€่Œ่ดฃ้š”็ฆปไธŽๅนถ่กŒๅไฝœๆœบๅˆถ๏ผŒๆœ‰ๆ•ˆ็ช็ ดไบ†ๅ•ๆ™บ่ƒฝไฝ“ๅœจๅคๆ‚ไปปๅŠกไธญ็š„่ƒฝๅŠ›็“ถ้ขˆโ€”โ€”ไธไป…ๆ˜พ่‘—ๆๅ‡ไบ†ไปปๅŠกๅค„็†็š„ๅคฉ่Šฑๆฟ\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/10.Agent SKills\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/10.Agent SKills\",\"frontmatter\":{\"date\":\"2026-03-05 23:11:25\",\"title\":\"ๅฆ‚ไฝ•็ผ–ๅ†™ไธ€ไธช้ซ˜ๅฏ็”จ็š„ Agent Skill๏ผŸไปŽๆœบๅˆถๆ‹†่งฃๅˆฐ็”Ÿไบงๅฎž่ทตๆŒ‡ๅ—\",\"description\":\"ๅคง่ฏญ่จ€ๆจกๅž‹ๅœจ็‰นๅฎšๅทฅ็จ‹้ข†ๅŸŸๅธธ้ขไธดโ€œ็Ÿฅ่€Œไธ่กŒโ€็š„ๅ›ฐๅขƒใ€‚ๆœฌๆ–‡ๆทฑๅบฆๆ‹†่งฃ Anthropic ๆœ€ๆ–ฐๆŽจๅ‡บ็š„ Agent Skills ่ง„่Œƒ๏ผŒๆญ็ง˜ๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆธ่ฟ›ๅผๆŠซ้œฒไธŽไธ‰็บงๅŠ ่ฝฝๆœบๅˆถ๏ผŒๅœจๆŽงๅˆถ Token ๆˆๆœฌ็š„ๅŒๆ—ถๆ˜พ่‘—ๆๅ‡ Agent ็š„ไปปๅŠกๆ‰ง่กŒ็ฒพๅบฆใ€‚ๆ–‡็ซ ๆถต็›–ไบ†ไปŽๆ–‡ไปถๅคนๆžถๆž„่ฎพ่ฎกๅˆฐๅฎžๆˆ˜ git-workflow ็ผ–ๅ†™็š„ๅ…จๆต็จ‹ๆŒ‡ๅ—๏ผŒๅŠฉไฝ ๅฐ†้›ถๆ•ฃ็š„ Prompt ่ฝฌๅŒ–ไธบๆ ‡ๅ‡†ๅŒ–็š„ๆ•ฐๅญ—่ต„ไบงใ€‚\",\"permalink\":\"/ai-agent/skills-practice-summary\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\",\"Agent ็ณปๅˆ—\"],\"tags\":[\"Agent Skills\",\"Agent\",\"AI\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฆ‚ไฝ•็ผ–ๅ†™ไธ€ไธช้ซ˜ๅฏ็”จ็š„ Agent Skill๏ผŸไปŽๆœบๅˆถๆ‹†่งฃๅˆฐ็”Ÿไบงๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-03-05 23:11:25\",\"capture\":\"1. ๅผ•่จ€๏ผšAgent Skills ๆ˜ฏไป€ไนˆ๏ผŸ\\nๅœจๅคง่ฏญ่จ€ๆจกๅž‹๏ผˆLLM๏ผ‰็š„่ฝๅœฐๅฎž่ทตไธญ๏ผŒๅผ€ๅ‘่€…็ปๅธธ้ขไธดไธ€ไธชๅ…ฑๆ€งๆŒ‘ๆˆ˜๏ผšๆจกๅž‹ๅœจ็‰นๅฎš็ป†ๅˆ†้ข†ๅŸŸๅพ€ๅพ€ๅค„ไบŽโ€œ็Ÿฅ่€Œไธ่กŒโ€็š„็Šถๆ€โ€”โ€”่™ฝ็„ถๆ‹ฅๆœ‰ๅšๆ‚็š„็Ÿฅ่ฏ†๏ผŒๅด็ผบไนๆ‰ง่กŒๅคๆ‚ไปปๅŠก็š„ไธ“ไธš่ทฏๅพ„ใ€‚\\nไธบไบ†่งฃๅ†ณ่ฟ™ไธ€็—›็‚น๏ผŒAnthropic ๅœจๅ…ถๆ——่ˆฐๆจกๅž‹ Claude 3.7 ็ณปๅˆ—ไธญๆญฃๅผๆŽจๅ‡บไบ† Claude Skillsใ€‚่ฟ™ไธ€ๅŠŸ่ƒฝๅฐ† LLM ็š„่ƒฝๅŠ›ๅฐ่ฃ…ไธบ็›ด่ง‚็š„โ€œ่ƒฝๅŠ›ๆ–‡ไปถๅคนโ€๏ผŒๆžๅคงๆๅ‡ไบ†ๆ™บ่ƒฝไฝ“็š„ๅฎž็”จๆ€ง๏ผŒๅนถ่ฟ…้€Ÿๅœจๅผ€ๅ‘่€…็คพๅŒบๅผ•ๅ‘็ƒญ่ฎฎใ€‚2025 ๅนด 12 ๆœˆ๏ผŒ้š็€ Anthropic ่”ๅˆ็”Ÿๆ€ไผ™ไผดๆญฃๅผๅผ€ๆบ Agent Skills ่ง„่Œƒ๏ผŒAgent Skills ็š„ๆ ‡ๅ‡†ๅŒ–ไนŸๆญฃๅผๅผ€ๅฏ๏ผˆ่€Œ่ฟ™ไธ€่ƒฝๅŠ›\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/02.Agent ่ง„ๅˆ’ๆจกๅ—\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/02.Agent ่ง„ๅˆ’ๆจกๅ—\",\"frontmatter\":{\"date\":\"2026-02-24 20:52:37\",\"title\":\"ๆŽขๅฏป Agent ๅ†ณ็ญ–ไธญๆžข๏ผš่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„่ง„ๅˆ’่Œƒๅผ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฆ‚ๆžœ่ฏด LLM ๆ˜ฏ Agent ็š„ๅคง่„‘๏ผŒ่ง„ๅˆ’ๆจกๅ—ๅˆ™ๆ˜ฏๅ…ถ่ดŸ่ดฃๅคๆ‚ๅ†ณ็ญ–็š„โ€œๅ‰้ขๅถโ€ใ€‚ๆœฌๆ–‡ๆทฑๅบฆ่งฃๆž„ไบ† Agent ่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„ๆ ธๅฟƒ่ทฏๅพ„๏ผšไปŽไปปๅŠกๅˆ†่งฃ็š„้™ไฝŽ็†ตๅ€ผ๏ผŒๅˆฐ่‡ชๆˆ‘ๅๆ€็š„้—ญ็ŽฏๆŽงๅˆถใ€‚้€š่ฟ‡ๅฏนๆฏ”โ€œ่พน่ตฐ่พน็œ‹โ€็š„ ReAct ๅŠจๆ€ๅ“ๅบ”ๆจกๅผไธŽโ€œ่ฐ‹ๅฎšๅŽๅŠจโ€็š„ Plan-and-Execute ้ข„็ผ–ๆŽ’ๆจกๅผ๏ผŒๆœฌๆ–‡ๆญ็คบไบ†ๅฆ‚ไฝ•้’ˆๅฏน้•ฟ้“พ่ทฏๅทฅ็จ‹ไปปๅŠกๆž„ๅปบ็จณๅฅ็š„ๅ†ณ็ญ–่Œƒๅผ๏ผŒๅŠฉไฝ ๅฎŒๆˆไปŽโ€œ็ฎ€ๅ•ๆ็คบ่ฏโ€ๅˆฐโ€œๅคๆ‚ๆžถๆž„่ฎพ่ฎกโ€็š„่ฎค็Ÿฅ่ทƒ่ฟใ€‚\",\"permalink\":\"/ai-agent/planning-module\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆŽขๅฏป Agent ๅ†ณ็ญ–ไธญๆžข๏ผš่ฟˆๅ‘็กฎๅฎšๆ€งๆ‰ง่กŒ็š„่ง„ๅˆ’่Œƒๅผ\",\"date\":\"2026-02-24 20:52:37\",\"capture\":\"1. ๅผ•่จ€\\nๅœจไบบ็ฑปๅคง่„‘ไธญ๏ผŒๅ‰้ขๅถ็šฎๅฑ‚่ดŸ่ดฃๅคๆ‚็š„่ฎค็Ÿฅ่ง„ๅˆ’ใ€ๅ†ณ็ญ–ๅ’Œ็คพไบค่กจ็Žฐใ€‚ๅฏนไบŽไธ€ไธช Agent ่€Œ่จ€๏ผŒ่ง„ๅˆ’ๆจกๅ—ๆญฃๆ˜ฏๅฎƒ็š„โ€œๅ‰้ขๅถโ€โ€”โ€”ๅฎƒๅ†ณๅฎšไบ† Agent ๆ˜ฏๅชไผšๆœบๆขฐๅ“ๅบ”ๆŒ‡ไปค็š„โ€œๆœจๅถโ€๏ผŒ่ฟ˜ๆ˜ฏ่ƒฝ็‹ฌ็ซ‹ๆ‹†่งฃ็›ฎๆ ‡ใ€ๅœจๅคๆ‚็Žฏๅขƒไธญๅฏปๆ‰พๆœ€ไผ˜่ทฏๅพ„็š„โ€œๆ•ฐๅญ—ๅ‘˜ๅทฅโ€ใ€‚\\nAgent ็š„่ง„ๅˆ’่ƒฝๅŠ›ไธป่ฆ็”ฑไธค้ƒจๅˆ†ๅๅŒ้ฉฑๅŠจ๏ผšไปปๅŠกๅˆ†่งฃไธŽ่‡ชๆˆ‘ๅๆ€ใ€‚\\n 2. ไปปๅŠกๅˆ†่งฃ๏ผšๅŒ–็นไธบ็ฎ€็š„็ญ–็•ฅ\\nไปปๅŠกๅˆ†่งฃๆ˜ฏๆŒ‡ๅฐ†ไธ€ไธชๅคๆ‚็š„็›ฎๆ ‡ๆˆ–ไปปๅŠกๆ‹†่งฃไธบๅคšไธชๅ…ทไฝ“ใ€ๅฏๆ“ไฝœ็š„็š„ๅญไปปๅŠก๏ผŒไปฅไพฟ Agent ่ƒฝๅคŸๆ›ด้ซ˜ๆ•ˆๅœฐๆ‰ง่กŒๅ’Œ็ฎก็†ใ€‚ๅ…ถๆœฌ่ดจๆ˜ฏ้™ไฝŽ้—ฎ้ข˜็š„็†ตๅ€ผ๏ผŒ่ฎฉ Agent ่ƒฝๅคŸ่š็„ฆไบŽๆฏไธ€ไธช็ป†ๅฐ็š„็กฎๅฎšๆ€งๆญฅ้ชค๏ผŒไปŽ่€Œ้€ๆญฅ่งฃๅ†ณ้—ฎ้ข˜๏ผŒๆ้ซ˜่ง„ๅˆ’็š„ๅฏ่กŒๆ€งๅ’Œๆ‰ง่กŒๆ•ˆ็އใ€‚\\nๆ นๆฎโ€œ่ง„ๅˆ’โ€ไธŽโ€œๆ‰ง่กŒโ€ๅ‘\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/03.ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผšๅฐ†้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/03.ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผšๅฐ†้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"frontmatter\":{\"date\":\"2026-02-06 15:48:23\",\"title\":\"ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผš้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผš้ขๅฏนๅฑ‚ๅ‡บไธ็ฉท็š„ Promptใ€MCPใ€Skills ๅ’Œ Subagents๏ผŒๅพˆๅคšๅผ€ๅ‘่€…ๅ’Œไบงๅ“็ป็†ๅธธๆ„Ÿๅˆฐๅ›ฐๆƒ‘๏ผš่ฟ™ไบ›็ป„ไปถ็ฉถ็ซŸๆ˜ฏ้‡ๅค้€ ่ฝฎๅญ๏ผŒ่ฟ˜ๆ˜ฏๅ„ๅธๅ…ถ่Œ็š„็งฏๆœจ๏ผŸๆœฌๆ–‡ๅฐ†ๆทฑๅบฆๆ‹†่งฃ Agentic ็”Ÿๆ€็š„ไบ”ๅคงๆ ธๅฟƒๆ”ฏๆŸฑ๏ผŒๆญ็คบๅฆ‚ไฝ•้€š่ฟ‡ไผ˜้›…็š„ๆžถๆž„่ฎพ่ฎกๅฎž็ŽฐๅๅŒ้—ญ็Žฏ๏ผŒๅฐ†้›ถๆ•ฃ็š„ AI ็ป„ไปถๆ‹ผ่ฃ…ๆˆไธ€ๅฅ—ๅฏๆŒ็ปญ่ฟ›ๅŒ–็š„ AI ๅŽŸ็”Ÿๆ“ไฝœ็ณป็ปŸ๏ผŒๆŠŠ็ขŽ็‰‡ๅŒ–็š„ AI ่ƒฝๅŠ›่ฝฌๅŒ–ไธบ้ซ˜ๅฏ็”จ็š„็”ŸไบงๅŠ›ๆตใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/ai-practice/agent_components_zh.png\",\"permalink\":\"/ai-agent/composition-ai-components\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"],\"tags\":[\"Agent\",\"AI\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผš้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"date\":\"2026-02-06 15:48:23\",\"capture\":\"<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/ai-practice/agent_components_zh.png\\\" style=\\\"width: 100%; border-radius: 8px; margin-bottom: 20px;\\\" alt=\\\"about site background\\\">\\n 1. ๅผ•่จ€\\n> ้—ฎ้ข˜๏ผšๅœจๆ™บ่ƒฝไฝ“็”Ÿๆ€้‡Œ๏ผŒๅ„ไธช็ป„ไปถๅˆฐๅบ•ๆ˜ฏๆ€ŽไนˆๅๅŒๅทฅไฝœ็š„๏ผŸ\\nๅฝ“ๅ‰๏ผŒAgent๏ผˆๆ™บ่ƒฝไฝ“๏ผ‰ๆŠ€ๆœฏๅ‘ๅฑ•่ฟ…็Œ›๏ผŒๅ„็ง่ฎพ่ฎกๆจกๅผใ€ๆ ธๅฟƒ็ป„ไปถไธŽๅทฅไฝœๆœบๅˆถๅฑ‚ๅ‡บไธ็ฉทใ€‚้ขๅฏน็นๆ‚็š„ๆ™บ่ƒฝไฝ“็”Ÿๆ€\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/20.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Agent\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/20.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Agent\",\"frontmatter\":{\"date\":\"2026-03-06 00:37:58\",\"title\":\"ๅ‘Šๅˆซๆ‰‹ๅŠจ Loop๏ผšๅ€ŸๅŠฉ Claude Agent SDK ๅฎž็Žฐ Agent ็š„ๅทฅ็จ‹ๅŒ–้—ญ็Žฏ\",\"description\":\"ๅœจ Agent ๆŠ€ๆœฏๅฟซ้€Ÿ่ตฐๅ‘ๆˆ็†Ÿ็š„ไปŠๅคฉ๏ผŒๅฆ‚ไฝ•ไฝŽๆˆๆœฌๆž„ๅปบๅ…ทๅค‡โ€œ่‡ชไธปๆดžๅฏŸโ€่ƒฝๅŠ›็š„ๆ™บ่ƒฝไฝ“๏ผŸๆœฌๆ–‡ๆทฑๅบฆๆ‹†่งฃ Anthropic ๅฎ˜ๆ–นๆŽจๅ‡บ็š„ Claude Agent SDK๏ผŒ่งฃๆžๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆ‰˜็ฎก Agent Loop ๅ’Œไผš่ฏๆŒไน…ๅŒ–ๆœบๅˆถ๏ผŒ่งฃๅ†ณ Agent ๅผ€ๅ‘ไธญ็š„็Šถๆ€็ฎก็†้šพ้ข˜ใ€‚ๆ–‡็ซ ้€š่ฟ‡ไปŽๆ— ็Šถๆ€ไบคไบ’ๅˆฐๅ…ทๅค‡ๆตๅผ่พ“ๅ‡บ่ƒฝๅŠ›็š„ TUI ่‡ชๅŠจๅŒ–ๅทฅๅ…ท่ฟ›้˜ถๅฎžๆˆ˜๏ผŒๅฑ•็คบไบ†ๆž„ๅปบไฝŽๆˆๆœฌใ€้ซ˜ๅฏ็”จ AI ๅŽŸ็”Ÿๅบ”็”จ็š„ๅฎŒๆ•ด่ทฏๅพ„ใ€‚\",\"permalink\":\"/ai-practice/claude-agent-sdk-basic-build\",\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"],\"tags\":[\"Agent\",\"Agent SDK\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ‘Šๅˆซๆ‰‹ๅŠจ Loop๏ผšๅ€ŸๅŠฉ Claude Agent SDK ๅฎž็Žฐ Agent ็š„ๅทฅ็จ‹ๅŒ–้—ญ็Žฏ\",\"date\":\"2026-03-06 00:37:58\",\"capture\":\"1. ๅผ•่จ€\\nๅฝ“ๅ‰๏ผŒAI Agent ็š„ๆผ”่ฟ›ๅทฒ่ฟ›ๅ…ฅไธ€ไธชๅดญๆ–ฐ็š„้˜ถๆฎตโ€”โ€”ไปŽ้œ€่ฆ้ข‘็นไบบๅทฅๅนฒ้ข„็š„\\\"ๅŠ่‡ชๅŠจ\\\"ๆจกๅผ๏ผŒ่ฟ›ๅŒ–ไธบ่ƒฝๅคŸ่‡ชไธปๆดžๅฏŸ็Žฏๅขƒๅ˜ๅŒ–ใ€ๅŠจๆ€่ฐƒๆ•ดๆ‰ง่กŒ็ญ–็•ฅใ€ๅฎž็ŽฐไธšๅŠกๆต็จ‹่‡ช้€‚ๅบ”็ผ–ๆŽ’็š„ๆ™บ่ƒฝๅŒ–็ณป็ปŸใ€‚Claude Codeใ€Manusใ€OpenClaw ็ญ‰ไปฃ่กจๆ€งไบงๅ“ๅฑ‚ๅ‡บไธ็ฉท๏ผŒไนŸๆ ‡ๅฟ—็€ Agent ๆŠ€ๆœฏๆญฃๅœจๅฟซ้€Ÿ่ตฐๅ‘ๆˆ็†ŸไธŽๆ™ฎๅŠใ€‚\\n่ฟ‘ๆœŸ๏ผŒ็ฌ”่€…ๅœจไธบไธชไบบๅšๅฎขๅผ•ๅ…ฅๆ™บ่ƒฝๅŒ–่ฟ่ฅ่ƒฝๅŠ›๏ผˆๅฆ‚ๅ†…ๅฎน่‡ชๅŠจๆ กๅฏนใ€ๅฎก็จฟไธŽๅ‘ๅธƒ๏ผ‰๏ผŒๆทฑๅ…ฅ็ ”็ฉถไบ†ๅคšๆฌพ Agent ๅผ€ๅ‘ๆก†ๆžถ๏ผŒๅฆ‚ Claude Agent SDKใ€Langchainใ€LangGraph ็ญ‰ใ€‚ๅœจ็ป่ฟ‡ๅˆๆญฅ็š„็ ”็ฉถๅฏนๆฏ”ๅˆ†ๆžๅŽ๏ผŒClaude Agent SDK ๆˆไธบไบ†ไฝŽๆˆๆœฌๆž„ๅปบ้ซ˜ๅฏ็”จ Agent\"}],\"Agent ็ณปๅˆ—\":[{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/10.Agent SKills\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/10.Agent SKills\",\"frontmatter\":{\"date\":\"2026-03-05 23:11:25\",\"title\":\"ๅฆ‚ไฝ•็ผ–ๅ†™ไธ€ไธช้ซ˜ๅฏ็”จ็š„ Agent Skill๏ผŸไปŽๆœบๅˆถๆ‹†่งฃๅˆฐ็”Ÿไบงๅฎž่ทตๆŒ‡ๅ—\",\"description\":\"ๅคง่ฏญ่จ€ๆจกๅž‹ๅœจ็‰นๅฎšๅทฅ็จ‹้ข†ๅŸŸๅธธ้ขไธดโ€œ็Ÿฅ่€Œไธ่กŒโ€็š„ๅ›ฐๅขƒใ€‚ๆœฌๆ–‡ๆทฑๅบฆๆ‹†่งฃ Anthropic ๆœ€ๆ–ฐๆŽจๅ‡บ็š„ Agent Skills ่ง„่Œƒ๏ผŒๆญ็ง˜ๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆธ่ฟ›ๅผๆŠซ้œฒไธŽไธ‰็บงๅŠ ่ฝฝๆœบๅˆถ๏ผŒๅœจๆŽงๅˆถ Token ๆˆๆœฌ็š„ๅŒๆ—ถๆ˜พ่‘—ๆๅ‡ Agent ็š„ไปปๅŠกๆ‰ง่กŒ็ฒพๅบฆใ€‚ๆ–‡็ซ ๆถต็›–ไบ†ไปŽๆ–‡ไปถๅคนๆžถๆž„่ฎพ่ฎกๅˆฐๅฎžๆˆ˜ git-workflow ็ผ–ๅ†™็š„ๅ…จๆต็จ‹ๆŒ‡ๅ—๏ผŒๅŠฉไฝ ๅฐ†้›ถๆ•ฃ็š„ Prompt ่ฝฌๅŒ–ไธบๆ ‡ๅ‡†ๅŒ–็š„ๆ•ฐๅญ—่ต„ไบงใ€‚\",\"permalink\":\"/ai-agent/skills-practice-summary\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\",\"Agent ็ณปๅˆ—\"],\"tags\":[\"Agent Skills\",\"Agent\",\"AI\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฆ‚ไฝ•็ผ–ๅ†™ไธ€ไธช้ซ˜ๅฏ็”จ็š„ Agent Skill๏ผŸไปŽๆœบๅˆถๆ‹†่งฃๅˆฐ็”Ÿไบงๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-03-05 23:11:25\",\"capture\":\"1. ๅผ•่จ€๏ผšAgent Skills ๆ˜ฏไป€ไนˆ๏ผŸ\\nๅœจๅคง่ฏญ่จ€ๆจกๅž‹๏ผˆLLM๏ผ‰็š„่ฝๅœฐๅฎž่ทตไธญ๏ผŒๅผ€ๅ‘่€…็ปๅธธ้ขไธดไธ€ไธชๅ…ฑๆ€งๆŒ‘ๆˆ˜๏ผšๆจกๅž‹ๅœจ็‰นๅฎš็ป†ๅˆ†้ข†ๅŸŸๅพ€ๅพ€ๅค„ไบŽโ€œ็Ÿฅ่€Œไธ่กŒโ€็š„็Šถๆ€โ€”โ€”่™ฝ็„ถๆ‹ฅๆœ‰ๅšๆ‚็š„็Ÿฅ่ฏ†๏ผŒๅด็ผบไนๆ‰ง่กŒๅคๆ‚ไปปๅŠก็š„ไธ“ไธš่ทฏๅพ„ใ€‚\\nไธบไบ†่งฃๅ†ณ่ฟ™ไธ€็—›็‚น๏ผŒAnthropic ๅœจๅ…ถๆ——่ˆฐๆจกๅž‹ Claude 3.7 ็ณปๅˆ—ไธญๆญฃๅผๆŽจๅ‡บไบ† Claude Skillsใ€‚่ฟ™ไธ€ๅŠŸ่ƒฝๅฐ† LLM ็š„่ƒฝๅŠ›ๅฐ่ฃ…ไธบ็›ด่ง‚็š„โ€œ่ƒฝๅŠ›ๆ–‡ไปถๅคนโ€๏ผŒๆžๅคงๆๅ‡ไบ†ๆ™บ่ƒฝไฝ“็š„ๅฎž็”จๆ€ง๏ผŒๅนถ่ฟ…้€Ÿๅœจๅผ€ๅ‘่€…็คพๅŒบๅผ•ๅ‘็ƒญ่ฎฎใ€‚2025 ๅนด 12 ๆœˆ๏ผŒ้š็€ Anthropic ่”ๅˆ็”Ÿๆ€ไผ™ไผดๆญฃๅผๅผ€ๆบ Agent Skills ่ง„่Œƒ๏ผŒAgent Skills ็š„ๆ ‡ๅ‡†ๅŒ–ไนŸๆญฃๅผๅผ€ๅฏ๏ผˆ่€Œ่ฟ™ไธ€่ƒฝๅŠ›\"}],\"ๅ…จๆ ˆ\":[{\"url\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"relativePath\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"frontmatter\":{\"date\":\"2025-10-24 11:05:50\",\"title\":\"ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจ AI ้‡ๅก‘่ฝฏไปถๅทฅ็จ‹็š„ไปŠๅคฉ๏ผŒๅ…จๆ ˆไธๅ†ๆ˜ฏๆŠ€ๆœฏ็š„็บฟๆ€งๅ ๅŠ ๏ผŒๆญฃๅœจไปŽโ€œๆŠ€ๆœฏๆ ˆๅ †็ Œโ€่ฝฌๅ‘โ€œ่ฎค็Ÿฅๆ ˆ้‡ๆž„โ€ใ€‚ๆœฌๆ–‡ๆๅ‡บ โ€œ(ๅทฅ็จ‹ + ไบงๅ“) ร— AIโ€ ็š„ๆ–ฐๅ…ฌๅผ๏ผŒๅŠฉๅŠ›ๅผ€ๅ‘่€…ๆž„ๅปบโ€œๆดžๅฏŸ-ๆžถๆž„-ๆ ๆ†โ€่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”๏ผŒๅˆฉ็”จ AI ๆ ๆ†่ฎฉ่‡ชๅทฑ่ฟ›ๅŒ–ไธบไปทๅ€ผๅˆ›้€ ่€…ใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"permalink\":\"/fullstack/ai-native\",\"sticky\":1,\"top\":true,\"tags\":[\"ๅ…จๆ ˆ\",\"AI\",\"ไบงๅ“\"],\"categories\":[\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"date\":\"2025-10-24 11:05:50\",\"capture\":\"<script setup>\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n 1. ๅผ•่จ€\\nๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒๅฝ“ๆˆ‘ไปฌ่ฐˆ่ฎบโ€œๅ…จๆ ˆๅทฅ็จ‹ๅธˆโ€ๆ—ถ๏ผŒ่„‘ๆตทไธญๆตฎ็Žฐ็š„ๅพ€ๅพ€ๆ˜ฏไธ€ๅผ ๅ†—้•ฟไธ”ไปคไบบ็–ฒๆƒซ็š„ๆŠ€ๆœฏๅทฅๅบๆธ…ๅ•ใ€‚\\nๅฐฑๅƒๆˆ‘ๆ›พ็ปไปฅไธบ็š„้‚ฃๆ ท๏ผŒๅ…จๆ ˆๅฐฑๆ˜ฏ็บฟๆ€ง็š„ๆŠ€่ƒฝๅ ๅŠ ไธŽ็‰ฉ็†ๅผ็š„ๆŠ€ๆœฏๆ‹ผๆŽฅ๏ผŒๆ˜ฏไธ€็งไพ้ ไบบๅŠ›ๅŽปๅกซ่กฅๆŠ€ๆœฏ้ธฟๆฒŸ็š„โ€œ่ฅฟ่ฅฟๅผ—ๆ–ฏๅผโ€ๅŠชๅŠ›๏ผš\\n* ็บฟๆ€ง็š„ๆŠ€่ƒฝๅ ๅŠ ๏ผšๆˆ‘ไปฌ่ขซ่ฟซๆˆไธบโ€œๅ…จ่ƒฝๆ‰‹โ€๏ผŒๅทฆๆ‰‹็”จ React/Vue ๆž„ๅปบ็ฒพ็พŽ็š„ UI๏ผŒๅณๆ‰‹็”จ Node/Go ็ผ–ๅ†™้ซ˜ๅนถๅ‘ API๏ผŒไธญ้—ด่ฟ˜่ฆๅค„็†ๆ•ฐๆฎๅบ“็š„ ACI\"},{\"url\":\"/01.ๅ…จๆ ˆ/00.overview\",\"relativePath\":\"/01.ๅ…จๆ ˆ/00.overview\",\"frontmatter\":{\"date\":\"2026-03-19 23:05:50\",\"title\":\"ๅ…จๆ™ฏไธ€่งˆ\",\"description\":\"ๆœฌ็ณปๅˆ—ๅ›ด็ป•็Žฐไปฃๅ…จๆ ˆๅผ€ๅ‘็š„่ƒฝๅŠ›ไฝ“็ณปๅฑ•ๅผ€๏ผŒไปŽ AI ๆ—ถไปฃ็š„ๅทฅ็จ‹ๆ€็ปดๅ‡บๅ‘๏ผŒ่ฆ†็›–ๅ‰็ซฏๅทฅ็จ‹๏ผˆReact/Vue/CSS๏ผ‰ใ€ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป๏ผˆTypeScript/JavaScript๏ผ‰ใ€ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่็ญ‰ๆ ธๅฟƒ้ข†ๅŸŸ๏ผŒๅธฎๅŠฉๆž„ๅปบไปŽ\\\"่ฎค็Ÿฅๅฑ‚ โ†’ ๆŠ€ๆœฏ้ข†ๅŸŸ โ†’ ๅทฅ็จ‹่ƒฝๅŠ› โ†’ ๅŸบ็ก€่ฎพๆ–ฝ\\\"็š„ๅฎŒๆ•ดๅ…จๆ ˆ็Ÿฅ่ฏ†ๅ›พ่ฐฑใ€‚\",\"categories\":[\"ๅ…จๆ ˆ\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"permalink\":\"/fullstack/overview\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ…จๆ™ฏไธ€่งˆ\",\"date\":\"2026-03-19 23:05:50\",\"capture\":\"<script setup\\nimport ArticleCardList from '@fragment/components/ArticleCardList.vue'\\nimport { fullStackCategories } from '@fragment/data/full-stack-data'\\n</script>\\n<ArticleCardList :categories=\\\"fullStackCategories\\\" />\"},{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/02.CSSๅทฅ็จ‹ๅŒ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/02.CSSๅทฅ็จ‹ๅŒ–\",\"frontmatter\":{\"date\":\"2026-03-10 22:05:50\",\"title\":\"ไปŽๅŽŸๅญๅŒ–ๅˆฐๅ˜ไฝ“้ฉฑๅŠจ๏ผš็Žฐไปฃ CSS ๅทฅ็จ‹ๅŒ–็š„ๆžถๆž„ๆผ”่ฟ›ไธŽๆททๅˆๅฎž่ทตๆŒ‡ๅ—\",\"description\":\"ๆœฌๆ–‡็ณป็ปŸๅ‰–ๆžไธปๆต CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆ็š„ๅบ•ๅฑ‚้€ป่พ‘๏ผŒๆๅ‡บโ€œๆ ทๅผ่ต„ไบง ROIโ€่ฏ„ไผฐๆจกๅž‹๏ผŒๅนถ้’ˆๅฏน Vue/React ็”Ÿๆ€็ป™ๅ‡บไบ†้ขๅ‘ AI ๆ—ถไปฃ็š„ไผไธš็บงๆททๅˆๆžถๆž„้€‰ๅž‹ๅปบ่ฎฎใ€‚\",\"permalink\":\"/full-stack/css-engineering\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"top\":true,\"categories\":[\"ๅ…จๆ ˆ\"],\"tags\":[\"ๅ…จๆ ˆ\",\"CSS\",\"ๅทฅ็จ‹ๅŒ–\",\"tailwindcss\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไปŽๅŽŸๅญๅŒ–ๅˆฐๅ˜ไฝ“้ฉฑๅŠจ๏ผš็Žฐไปฃ CSS ๅทฅ็จ‹ๅŒ–็š„ๆžถๆž„ๆผ”่ฟ›ไธŽๆททๅˆๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-03-10 22:05:50\",\"capture\":\"1. ๅผ•่จ€๏ผšไธปๆต CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆๆœ‰ๅ“ชไบ›๏ผŸ\\nๅœจ็Žฐไปฃๅ‰็ซฏๅผ€ๅ‘ไธญ๏ผŒ้š็€้กน็›ฎๅคๆ‚ๅบฆ็š„ๆ€ฅๅ‰งๆๅ‡๏ผŒๅŽŸ็”Ÿ CSS ๅธธๅธธ้ขไธดๅ…จๅฑ€ๆฑกๆŸ“ใ€ๅค็”จๅ›ฐ้šพใ€ๅฑ‚็บงๅตŒๅฅ—่ฟ‡ๆทฑไปฅๅŠ็ปดๆŠคๆˆๆœฌๆž้ซ˜็ญ‰้—ฎ้ข˜ใ€‚ไธบไบ†่งฃๅ†ณ่ฟ™ไบ›็—›็‚น๏ผŒ็คพๅŒบๅคšๅนดๆฅไธๆ–ญๆŽข็ดข๏ผŒๆฒ‰ๆท€ๅ‡บไบ†ๅคš็งไธปๆต็š„ CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆใ€‚\\n้™คๅŽŸ็”Ÿ CSS ไน‹ๅค–๏ผŒไธปๆตๆ–นๆกˆ่ฟ˜ๅŒ…ๆ‹ฌ้ข„ๅค„็†ๅ™จใ€CSS-in-JSใ€CSS Moduleใ€Scoped CSSใ€ๅŽŸๅญๅŒ– CSS ็ญ‰ใ€‚BEM ไฝœไธบไธ€็งๅŸบไบŽๅ‘ฝๅ็บฆๅฎšๆฅ่ง„้ฟๅ‘ฝๅๅ†ฒ็ช็š„ๆ—ฉๆœŸๆ–นๆกˆ๏ผŒๅœจ็Žฐไปฃๅ‰็ซฏๅทฅ็จ‹ไธญๅทฒๅŸบๆœฌไธๅ†ไฝฟ็”จ๏ผŒๅ› ๆญคๆœฌๆ–‡ไธๅ†ๅฏนๅ…ถๅฑ•ๅผ€่ฏฆ็ป†ๅˆ†ๆžใ€‚\\n> CSS ๅ‘ฝๅ่ง„่Œƒ๏ผˆBEM๏ผ‰๏ผš้€š่ฟ‡ไธฅๆ ผ็š„ๅ‘ฝๅ็บฆๅฎš๏ผˆๅฆ‚ Block__Element--Modif\"},{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"frontmatter\":{\"date\":\"2026-03-05 16:54:35\",\"title\":\"ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"aliases\":[\"Server-Sent Events\",\"HTTP Streaming\"],\"tldr\":\"ๆทฑๅ…ฅ่งฃๆžๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผŒๆไพ›ไปŽๆฆ‚ๅฟตๅˆฐ็”Ÿไบงๅฎž่ทต็š„ๅฎŒๆ•ด่งฃๅ†ณๆ–นๆกˆใ€‚\",\"description\":\"่พจๆžๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ็š„ๆฆ‚ๅฟตไธŽๅฑ‚ๆฌกๅ…ณ็ณป๏ผŒ่ฏฆ่งฃๅฎขๆˆท็ซฏไธŽๆœๅŠก็ซฏๅฎž็Žฐๆ–นๆกˆ๏ผŒๆไพ›็”Ÿไบงๅฎž่ทตๅฎŒๆ•ดๆŒ‡ๅ—ใ€‚\",\"tags\":[\"tutorial\",\"SSE\",\"HTTP Streaming\",\"ๅ…จๆ ˆ\"],\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"permalink\":\"/fullstack/networking/sse-practice\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"date\":\"2026-03-05 16:54:35\",\"capture\":\"<script setup\\n import HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n> ๆ‘˜่ฆๆ€ป็ป“: ้’ˆๅฏนๅผ€ๅ‘่€…ๅฎนๆ˜“ๆททๆท†ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ็š„้—ฎ้ข˜๏ผŒไปŽๆฆ‚ๅฟตๅฑ‚ๆฌกๅ‡บๅ‘ๅŽ˜ๆธ…ไบŒ่€…ๆœฌ่ดจๅŒบๅˆซไธŽๅไฝœๅ…ณ็ณป๏ผŒๆŒ‡ๅ‡บๆตๅผ HTTP ๆ˜ฏๅบ•ๅฑ‚ไผ ่พ“ๆœบๅˆถ่€Œ SSE ๆ˜ฏๅบ”็”จๅฑ‚ๆ•ฐๆฎๆ ผๅผ็บฆๅฎšใ€‚ๆ–‡็ซ ไพๆฌกไป‹็ปๅŽŸ็”Ÿ EventSource APIใ€fetch + ReadableStream ่ฟ›้˜ถๆ–นๆกˆใ€@microsoft/fetch-event-source ๅทฅไธš็บงๅฎž็Žฐ็ญ‰ไธ‰็งๅฎขๆˆท็ซฏๆ–นๆกˆ๏ผŒๅนถไปฅ Nes\"},{\"url\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/02.้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/02.้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-03-02 11:05:50\",\"title\":\"้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ AI ๆž้€Ÿ้™ไฝŽไปฃ็ ็ผ–ๅ†™้—จๆง›๏ผŒๅ•็บฏ็š„โ€œไธšๅŠกไปฃ็ ็ฟป่ฏ‘ๅ™จโ€่ง’่‰ฒๆญฃๅŠ ้€Ÿ่ดฌๅ€ผใ€‚ๆœฌๆ–‡ไปŽๆŠ€ๆœฏๆผ”่ฟ›ไธŽไบงๅ“ๆ€่€ƒ็š„ไบคๆฑ‡็‚นๅ‡บๅ‘๏ผŒๅฐ† AI ๆ—ถไปฃ็š„ๅผ€ๅ‘่€…่ƒฝๅŠ›ๅ›พ่ฐฑ้‡ๆ–ฐๅˆ’ๅˆ†ไธบไธ‰ๅคงๆ ธๅฟƒๅœˆๅฑ‚๏ผšไบงๅ“ๅบ”็”จๅฑ‚๏ผˆInsight Stack๏ผ‰ใ€Agent ๅผ€ๅ‘ๅฑ‚ไธŽ AI ๅŸบ็ก€่ฎพๆ–ฝๅฑ‚ใ€‚ๆ— ่ฎบไฝ ๆ˜ฏๆทฑ่€•่ง†ๅ›พๅฑ‚ไบคไบ’ใ€็ฒพ้€š Node.js ็ญ‰ๆœๅŠก็ซฏๆžถๆž„็š„ๅผ€ๅ‘่€…๏ผŒ่ฟ˜ๆ˜ฏ่‡ดๅŠ›ไบŽๆŠ€ๆœฏ่ฝๅœฐ็š„ๆŽข็ดข่€…๏ผŒ้ƒฝ่ƒฝๅœจ่ฟ™ไปฝๆผ”่ฟ›ๆŒ‡ๅ—ไธญๆ‰พๅˆฐๆ‰“็ ด่ƒฝๅŠ›่พน็•Œใ€ๅ‘โ€œ่ถ…็บงไธชไฝ“โ€ไธŽโ€œAI ๆ™บ่ƒฝไฝ“ๆŒ‡ๆŒฅๅฎ˜โ€่ทƒ่ฟ็š„็ ดๅฑ€ไน‹้“ใ€‚\",\"permalink\":\"/fullstack/ai-engineer-capability\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"top\":true,\"tags\":[\"ๅ…จๆ ˆ\",\"AI\"],\"categories\":[\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"date\":\"2026-03-02 11:05:50\",\"capture\":\"<script setup>\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/ai_engineering_arc.png\\\" style=\\\"width: 100%; border-radius: 8px; margin-bottom: 20px;\\\" alt=\\\"about site back\"},{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"frontmatter\":{\"date\":\"2026-02-25 22:10:48\",\"title\":\"HTTP ่ฝฎ่ฏขไผ˜ๅŒ–ๆŒ‡ๅ—๏ผš้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"tldr\":\"่ฏฆ่งฃ้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅฎž็ŽฐๅŽŸ็†๏ผŒๆไพ› HTTP ่ฝฎ่ฏขไผ˜ๅŒ–็ญ–็•ฅไธŽ้€‰ๅž‹ๅ†ณ็ญ–ๆ ‘ใ€‚\",\"description\":\"ๆทฑๅ…ฅๅ‰–ๆž้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๆ ธๅฟƒๆœบๅˆถ๏ผŒๆไพ› TypeScript/NestJS ๅฎžๆˆ˜ไปฃ็ ๏ผŒๅนถๆž„ๅปบๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–ๆ ‘ไธŽ้€‚็”จๅœบๆ™ฏ้€ŸๆŸฅใ€‚\",\"tags\":[\"HTTP ่ฝฎ่ฏข\",\"้€€้ฟ่ฝฎ่ฏข\",\"้•ฟ่ฝฎ่ฏข\"],\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"permalink\":\"/fullstack/networking-polling-optimization\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"HTTP ่ฝฎ่ฏขไผ˜ๅŒ–ๆŒ‡ๅ—๏ผš้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"date\":\"2026-02-25 22:10:48\",\"capture\":\"1. ๅผ•่จ€\\nๅœจ็Žฐไปฃ Web ๅผ€ๅ‘ไธญ๏ผŒWebSocket ๅ’Œ Server-Sent Events (SSE) ๅธธๅธธ่ขซ่ง†ไธบๅฎžๆ—ถ้€šไฟก็š„้“ถๅผนใ€‚็„ถ่€Œ๏ผŒHTTP ่ฝฎ่ฏข๏ผˆPolling๏ผ‰ไฝœไธบๆœ€ๆœด็ด ็š„ๅฎžๆ—ถ้€šไฟกๆ–นๆกˆ๏ผŒ้žไฝ†ๆฒกๆœ‰้€€ๅ‡บๅކๅฒ่ˆžๅฐ๏ผŒๅ่€Œๅœจ็‰นๅฎš็š„ๅคๆ‚ไธšๅŠกๅœบๆ™ฏไธญๅคงๆ”พๅผ‚ๅฝฉใ€‚\\n> ๐Ÿ“– ๅฆ‚ๆžœไฝ ๅฏน HTTP ่ฝฎ่ฏขๅœจๆ•ดไธช Web ้€šไฟกๅ่ฎฎไฝ“็ณปไธญ็š„ๅฎšไฝๅฐšไธๆธ…ๆ™ฐ๏ผŒๆŽจ่ๅ…ˆ้˜…่ฏป Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—๏ผŒไบ†่งฃ่ฝฎ่ฏขไธŽ็Ÿญ่ฟžๆŽฅใ€้•ฟ่ฟžๆŽฅใ€WebSocketใ€SSE ็ญ‰ๆ–นๆกˆ็š„ๆผ”่ฟ›ๅ…ณ็ณปไธŽ้€‚็”จ่พน็•Œ๏ผŒๅ†็ป“ๅˆๆœฌๆ–‡ๆทฑๅ…ฅๅฎž่ทตใ€‚\\nๅœจๅฝ“ๅ‰ไผ—ๅคš้กถ็บง็š„ AI AIGC ๅบ”็”จ๏ผˆๅฆ‚ Midjourne\"},{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-02-24 08:40:31\",\"title\":\"Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"tldr\":\"ๆทฑๅ…ฅๅˆ†ๆžไบ”็ง Web ้€šไฟกๅ่ฎฎ๏ผŒๆไพ› AI ๆ—ถไปฃ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—ไธŽๆœ€ไฝณๅฎž่ทตใ€‚\",\"description\":\"ๆทฑๅ…ฅๅ‰–ๆžไผ ็ปŸ HTTPใ€ๆตๅผ HTTPใ€SSEใ€WebSocketใ€Webhooksใ€HTTP ่ฝฎ่ฏข็š„ๅŽŸ็†ไธŽ็‰นๆ€ง๏ผŒ็ป“ๅˆ AI ๅœบๆ™ฏๆไพ›ๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–็Ÿฉ้˜ตใ€‚\",\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"tags\":[\"HTTP\",\"HTTP ่ฝฎ่ฏข\",\"SSE\",\"WebSocket\",\"Webhooks\"],\"permalink\":\"/fullstack/networking-protocol-selection-guide\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"date\":\"2026-02-24 08:40:31\",\"capture\":\"1. ๅผ•่จ€\\nHTTP ๆ˜ฏไธ€็งๅŸบไบŽๆ–‡ๆœฌ็š„้€šไฟกๅ่ฎฎ๏ผŒไธป่ฆ็”จไบŽ Web ๆต่งˆๅ™จใ€็งปๅŠจๅบ”็”จใ€ๆกŒ้ขๅบ”็”จ็ญ‰ๅฎขๆˆท็ซฏๅ’Œ Web ๆœๅŠกๅ™จไน‹้—ด็š„ๆ•ฐๆฎไผ ่พ“ใ€‚ไผ ็ปŸ HTTP ้‡‡็”จๅŒๆญฅ็š„่ฏทๆฑ‚-ๅ“ๅบ”ๆจกๅผ๏ผš`่ฏทๆฑ‚ -> ็ญ‰ๅพ… -> ๅฎŒๆ•ดๅ“ๅบ”`ใ€‚่ฟ™็งๆ–นๅผ่™ฝ่ƒฝๆปก่ถณๅคงๅคšๆ•ฐๅœบๆ™ฏ๏ผŒไฝ†ๅœจๅฎžๆ—ถๆ€ง่ฆๆฑ‚่พƒ้ซ˜็š„้ข†ๅŸŸโ€”โ€”ๅฆ‚ๆธธๆˆใ€่Šๅคฉใ€่ง†้ข‘ไผš่ฎฎ๏ผŒไปฅๅŠ AI ๆ—ถไปฃ็š„ๅฏน่ฏๅผๅบ”็”จโ€”โ€”ๅดๆ˜พๅพ—ๅŠ›ไธไปŽๅฟƒใ€‚\\nไธบ่งฃๅ†ณ่ฟ™ไธ€้—ฎ้ข˜๏ผŒไธš็•Œๅ‘ๅฑ•ๅ‡บไบ†ๅคš็งๅฎžๆ—ถ Web ้€šไฟกๆ–นๆกˆใ€‚ๆœฌๆ–‡ๅฐ†ๅ›ด็ป• ๆตๅผ HTTPใ€SSEใ€WebSocketใ€Webhooksใ€HTTP ่ฝฎ่ฏข ่ฟ™ไบ”็งไธปๆตๆŠ€ๆœฏ๏ผŒไปŽๅŽŸ็†ใ€็‰นๆ€งใ€้€‚็”จๅœบๆ™ฏๅ‡บๅ‘๏ผŒๆŽข่ฎจๅฎƒไปฌๅœจ็Žฐไปฃๅˆ†ๅธƒๅผๆžถๆž„ไธญ็š„้€‰ๅž‹็ญ–็•ฅไธŽๅทฅ็จ‹ๅฎž่ทตใ€‚\\n 2\"},{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-02-10 23:33:19\",\"title\":\"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ๅฝ“ AI ๆ‰ฟๆŽฅไบ† 30% ็š„็ผ–็ ๆ‰ง่กŒๆ—ถ๏ผŒๅผ€ๅ‘่€…้œ€้€š่ฟ‡โ€œ่ง„ๆ ผ้ฉฑๅŠจ๏ผˆSDD๏ผ‰โ€้‡ๅคบ 70% ็š„่ฎพ่ฎกไธปๆƒ๏ผšไปŽ่‡ชๆฒป็ป„ไปถๅˆ’ๅˆ†ๅˆฐๅ•ๅ‘ๆ•ฐๆฎๆตๆ‹“ๆ‰‘็š„ๆทฑๅบฆๆŽจๆผ”ใ€‚\",\"description\":\"ๆœฌๆ–‡ๆŽข่ฎจๅœจ AI ๅขžๅผบๅผ€ๅ‘่ƒŒๆ™ฏไธ‹๏ผŒๅฆ‚ไฝ•้‡ๅก‘ React ็ป„ไปถ่ฎพ่ฎกๅŽŸๅˆ™ใ€‚ๆถต็›– SRP ่Œ่ดฃๅˆ’ๅˆ†ใ€้™ๆ€็‰ˆๆœฌๅŸบ็บฟใ€ๆœ€ๅฐ็Šถๆ€๏ผˆDerived Data๏ผ‰ๆŽจๅฏผไปฅๅŠ SDD ไบบๆœบๅไฝœๆจกๅผ็š„ๅทฅ็จ‹่ฝๅœฐใ€‚\",\"tags\":[\"tutorial\",\"react\",\"component-design\",\"state-management\",\"ai-augmented\",\"specification-driven\"],\"permalink\":\"/fullstack/react-design-philosophy-ai-augmented\",\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-02-10 23:33:19\",\"capture\":\"<script setup\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n 1. ๅผ•่จ€\\nๅœจ่ฝฏไปถๅทฅ็จ‹ไธญ๏ผŒ็บฆ 70% ็š„ๆ—ถ้—ดๅบ”ๆŠ•ๅ…ฅไบŽๆžถๆž„่ฎพ่ฎกใ€้œ€ๆฑ‚ๆ‹†่งฃไธŽๆŽฅๅฃ่ฏญไน‰ๆŽจๆ•ฒ๏ผŒไป… 30% ็”จไบŽๅฎž้™…็ผ–็ ใ€‚่ฟ›ๅ…ฅ AI ๅไฝœๆ—ถไปฃๅŽ๏ผŒ่ฟ™ไธ€ๆฏ”ไพ‹ไพ็„ถๅšๅฆ‚็ฃ็Ÿณโ€”โ€”ๅผ€ๅ‘่€…ๅฟ…้กปๅ…ˆๅฎŒๆˆๆทฑๅบฆๆ€่€ƒ๏ผŒๅฐ†โ€œๆธ…ๆ™ฐ็š„้—ฎ้ข˜่ง„ๆ ผ๏ผˆSpecification๏ผ‰โ€ไบค็ป™ AI๏ผŒAI ๆ‰่ƒฝ่พ“ๅ‡บ้ซ˜่ดจ้‡ไปฃ็ ใ€‚<HighLightText type=\\\"note\\\" bold>AI ๆๅ‡็š„ๆ˜ฏ 30% ็ผ–็ ้˜ถๆฎต็š„ๆ‰ง่กŒๅŠ›๏ผŒ่€Œ้žๅ–\"},{\"url\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/10.่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"relativePath\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/10.่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"frontmatter\":{\"date\":\"2025-12-06 22:05:50\",\"title\":\"่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"description\":\"่ฝฏไปถๅทฅ็จ‹ๆญฃ็ปๅކไปŽโ€œๆ‰‹ๅ†™้€ป่พ‘โ€ๅ‘โ€œๆ„ๅ›พ่ฐƒๅบฆโ€็š„่Œƒๅผ่ฟๅพ™ใ€‚Anthropic ็š„็ ”็ฉถๆญ็คบไบ† AI ๅนถ้ž็ฎ€ๅ•็š„ๆๆ•ˆๅทฅๅ…ท๏ผŒ่€Œๆ˜ฏ้€š่ฟ‡้‡Šๆ”พ 27% ๆ›พ็ปโ€œไธๅˆ’็ฎ—โ€็š„ๅทฅ็จ‹ไปปๅŠก๏ผŒ้‡ๅก‘ไบ†่ฝฏไปถ่ดจ้‡็š„ๅฏ†ๅบฆใ€‚ๅœจ่‡ช็„ถ่ฏญ่จ€ๅณ็ผ–็จ‹่ฏญ่จ€็š„ๆ—ถไปฃ๏ผŒๆˆ‘ไปฌ้œ€่ฆ้€š่ฟ‡่ง„ๆ ผ้ฉฑๅŠจ๏ผˆSDD๏ผ‰ไธŽๅคšๆ™บ่ƒฝไฝ“็ผ–ๆŽ’๏ผŒ็ ด่งฃโ€œ็›‘็ฃๆ‚–่ฎบโ€ๅธฆๆฅ็š„ๆŠ€่ƒฝๅนณๅบธๅŒ–ๅฑๆœบ๏ผŒๅฐ† AI ็š„ๆฆ‚็އๆ€ง็”Ÿๆˆ้ฉฏๅŒ–ไธบ็กฎๅฎšๆ€ง็š„ๅทฅ็จ‹ไบคไป˜ใ€‚ๅฝ“็ผ–็ ๆˆๆœฌ่ถ‹ไบŽ้›ถ๏ผŒๅทฅ็จ‹ๅธˆ็š„็ปˆๆžๅฃๅž’ๅฐ†ๆ˜ฏๅฎšไน‰ๅฎŒ็พŽ็š„ๅ“ๅ‘ณ๏ผŒไปฅๅŠๅœจ AI ่ฟท้›พไธญ่ฏ†็ ดๅนณๅบธ็š„ๆดžๅฏŸๅŠ›ใ€‚\",\"permalink\":\"/fullstack/ai-change-work-workflow/\",\"top\":true,\"tags\":[\"ๅ…จๆ ˆ\",\"AI\"],\"categories\":[\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"date\":\"2025-12-06 22:05:50\",\"capture\":\"<script setup>\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\nๅœฐๅ€๏ผšHow AI is transforming work at Anthropic\\nๆ ธๅฟƒๆ ‡็ญพ๏ผš`AI่พ…ๅŠฉ็ผ–็จ‹` `ๅทฅ็จ‹` `่Œƒๅผ่ฝฌ็งป` `ๅทฅไฝœ่ฝฌๅž‹` `็”ŸไบงๅŠ›ๆๅ‡` `ๆŠ€่ƒฝๅ‘ๅฑ•` `ไบบๆœบๅไฝœ` \\nไธ€ๅฅ่ฏไป‹็ป๏ผšAnthropic ไธไป…ไป…ๆ˜ฏ AI ๅทฅๅ…ท็š„็”Ÿไบง่€…๏ผŒๆ›ดๆ˜ฏ็ฌฌไธ€ไธช่ฟ›ๅ…ฅโ€œๆœชๆฅๅฎž้ชŒๅฎคโ€็š„ๆทฑๅบฆ่ง‚ๅฏŸ่€…ใ€‚ไป–ไปฌ้€š่ฟ‡ๅ†…้ƒจๆ•ฐๆœˆ็š„ๅฎž้ชŒๆ•ฐๆฎๅ‘Š่ฏ‰ๆˆ‘ไปฌ๏ผšๅคงๆจกๅž‹ๅฏน่ฝฏไปถๅทฅ็จ‹็š„ๆ”น้€ ๏ผŒ็ป้ž็ฎ€ๅ•็š„โ€œๆๆ•ˆโ€๏ผŒ่€Œๆ˜ฏไธ€\"},{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/11.React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/11.React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"frontmatter\":{\"date\":\"2025-11-15 09:20:23\",\"title\":\"ไธๆญขไบŽ Fetch๏ผšReact ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"aliases\":[\"SWR\",\"TanStack Query\",\"React\",\"ๆœๅŠก็ซฏ็Šถๆ€\",\"ไน่ง‚ๆ›ดๆ–ฐ\",\"ๅทฅ็จ‹ๅŒ–\"],\"tldr\":\"ๆทฑๅ…ฅ่งฃๆž SWR ็š„ๆž็ฎ€ๅ่ฎฎไธŽ TanStack Query ็š„็ฒพๅฏ†็Šถๆ€ๆœบใ€‚้€š่ฟ‡ๅฏนๆฏ”็ผ“ๅญ˜ๅคฑๆ•ˆใ€ไน่ง‚ๆ›ดๆ–ฐ็ญ‰ๆ ธๅฟƒๅœบๆ™ฏ๏ผŒไธบ้ซ˜ๅคๆ‚ๅบฆ B ็ซฏๅบ”็”จไธŽ่ฝป้‡็บง้กน็›ฎๆไพ›ๆธ…ๆ™ฐ็š„ๆžถๆž„้€‰ๅž‹ๆจกๅž‹ใ€‚\",\"description\":\"ๆทฑๅบฆๅฏนๆฏ” React ็”Ÿๆ€ไธญ SWR ไธŽ TanStack Query ไธคๅคงๆ–นๆกˆใ€‚ไปŽ stale-while-revalidate ๆœบๅˆถๅˆฐๅผ‚ๆญฅ็Šถๆ€ๆœบๆžถๆž„๏ผŒๆถต็›–ไพ่ต–ๆŸฅ่ฏขใ€ๆ•ฐๆฎ่ฝฌๆขๅŠๆžถๆž„็บงไน่ง‚ๆ›ดๆ–ฐๅฎžๆˆ˜ใ€‚ๆ—จๅœจๅธฎๅŠฉๅผ€ๅ‘่€…ๅœจๅคๆ‚ไธšๅŠกไธญๆž„ๅปบ็กฎๅฎšๆ€ง็š„ๆœๅŠก็ซฏ็Šถๆ€ๅŸบๅบงใ€‚\",\"permalink\":\"/fullstack/server-state-management\",\"tags\":[\"SWR\",\"TanStack Query\",\"ๅ‰็ซฏๅทฅ็จ‹\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไธๆญขไบŽ Fetch๏ผšReact ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"date\":\"2025-11-15 09:20:23\",\"capture\":\"1. ๅผ•่จ€\\nๅœจ็Žฐไปฃๅ‰็ซฏๅทฅ็จ‹ไธญ๏ผŒ็Šถๆ€ๅฏไธฅๆ ผๅŒบๅˆ†ไธบ UI ็Šถๆ€๏ผˆUI State๏ผ‰ ไธŽ ๆœๅŠก็ซฏ็Šถๆ€๏ผˆServer State๏ผ‰ ไธค็ฑปใ€‚ๅฏนไบŽ UI ็Šถๆ€็š„็ฎก็†๏ผŒๅผ€ๅ‘่€…ๅทฒ่พƒไธบ็†Ÿๆ‚‰๏ผŒ้€šๅธธๅฏๅ€ŸๅŠฉ `useState`ใ€`useEffect` ็ญ‰ Hooks๏ผŒๆˆ– `zustand`ใ€`jotai` ็ญ‰็Šถๆ€็ฎก็†ๅบ“ๆฅๅฎž็Žฐใ€‚็„ถ่€Œ๏ผŒๆœๅŠก็ซฏ็Šถๆ€็š„็ฎก็†ๅพ€ๅพ€็ผบไน็ปŸไธ€ไธ”้ซ˜ๆ•ˆ็š„่งฃๅ†ณๆ–นๆกˆ๏ผŒๅผ€ๅ‘่€…้€šๅธธ้œ€่ฆ่‡ช่กŒๅฎž็Žฐใ€‚\\nๅœจไผ ็ปŸ็š„ๆ•ฐๆฎ่Žทๅ–ๆต็จ‹ไธญ๏ผŒๆˆ‘ไปฌไธ€่ˆฌไฝฟ็”จ `fetch` ๆˆ– `axios` ๅ‘ๅŽ็ซฏๆˆ– REST API ๅ‘้€ HTTP ่ฏทๆฑ‚๏ผŒ้šๅŽๆ‰‹ๅŠจๅฐ†ๆ•ฐๆฎ่Žทๅ–้€ป่พ‘ไธŽๅ‰็ซฏไธšๅŠก้€ป่พ‘ๅŠ UI ็Šถๆ€็ฎก็†่ฟ›่กŒๆ•ดๅˆ๏ผŒไปฅๅฎŒๆˆๆ•ฐๆฎๅค„็†ๅนถ้ฉฑๅŠจ็•Œ้ขๆ›ดๆ–ฐ\"},{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2025-11-14 22:33:39\",\"title\":\"JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"aliases\":[\"้™ๆ€็ซ™็‚น็”Ÿๆˆๅ™จ\",\"SSG\"],\"tldr\":\"้ข„ๆธฒๆŸ“้™ๆ€้กต้ข + ๅŠจๆ€ API๏ผŒCDN ๅˆ†ๅ‘ๅ…จ็ƒ๏ผŒๆ›ฟไปฃไผ ็ปŸๅŠจๆ€็ฝ‘็ซ™็š„ๅผ€ๅ‘้ƒจ็ฝฒ่Œƒๅผ\",\"description\":\"ไปŽๆ ธๅฟƒๆฆ‚ๅฟตใ€ๅทฅๅ…ท้“พ้€‰ๅž‹๏ผˆNext.js/Vercel/Supabase/Contentful๏ผ‰ๅˆฐไปŽ 0 ๆญๅปบๅšๅฎข็š„ๅฎŒๆ•ดๅฎž่ทต๏ผŒ่ฆ†็›– JAMStack ้€‚็”จไธŽไธ้€‚็”จๅœบๆ™ฏ๏ผŒๅธฎๅŠฉๅˆคๆ–ญไฝ•ๆ—ถ้€‰็”จ่ฏฅๆžถๆž„ใ€‚\",\"permalink\":\"/fullstack/jamstack\",\"tags\":[\"tutorial\",\"jamstack\",\"frontend-architecture\",\"next.js\",\"static-site-generator\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2025-11-14 22:33:39\",\"capture\":\"> \\n> ๅ…ถๆ ธๅฟƒๆœบๅˆถๆ˜ฏๅœจๆž„ๅปบๆ—ถๅฐ†้กต้ข้ข„ๆธฒๆŸ“ไธบ้™ๆ€ HTML/CSS/JS๏ผŒ้ƒจ็ฝฒ่‡ณ CDN ไพ›็”จๆˆทๅฐฑ่ฟ‘ๅŠ ่ฝฝ๏ผŒไป…ๅœจ้œ€่ฆๅŠจๆ€ๆ•ฐๆฎๆ—ถ้€š่ฟ‡ JavaScript ่ฐƒ็”จ API ่Žทๅ–ใ€‚็›ธ่พƒไบŽไผ ็ปŸๅŠจๆ€็ฝ‘็ซ™๏ผŒJAMStack ๅœจๆ€ง่ƒฝใ€ๅฏ้ ๆ€งใ€ๆ‰ฉๅฑ•ๆ€งใ€ๅฎ‰ๅ…จๆ€งๅŠ่ฟ็ปดๆˆๆœฌไธŠๅ…ทๆœ‰ๆ˜พ่‘—ไผ˜ๅŠฟใ€‚\\n> \\n> ๆœฌๆ–‡ๆขณ็†ไบ†ไธปๆตๆž„ๅปบๅทฅๅ…ท๏ผˆGatsbyใ€Next.jsใ€Nuxt.jsใ€11ty๏ผ‰ใ€้™ๆ€ๆ‰˜็ฎกๅนณๅฐ๏ผˆVercelใ€Netlifyใ€Cloudflare Pages๏ผ‰ใ€API/BaaS ๆœๅŠก๏ผˆSupabaseใ€Firebaseใ€Auth0๏ผ‰ๅŠๆ— ๅคด CMS๏ผˆContentfulใ€Sanityใ€Strapi\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹\",\"frontmatter\":{\"date\":\"2025-08-20 22:51:27\",\"title\":\"่Šไธ€่Š TypeScript ไธญ็š„ๆณ›ๅž‹\",\"tldr\":\"ๆณ›ๅž‹ๅฐ†็ฑปๅž‹ไฝœไธบๅ‚ๆ•ฐ๏ผŒไฝฟไปฃ็ ๅœจๅคš็ง็ฑปๅž‹ไธŠๅฎ‰ๅ…จ่ฟ่กŒ๏ผŒๆ˜ฏ TypeScript ็ฑปๅž‹ๆŠฝ่ฑก็š„ๆ ธๅฟƒ็‰นๆ€งใ€‚\",\"description\":\"ๆœฌๆ–‡็ณป็ปŸ่งฃๆž TypeScript ๆณ›ๅž‹็š„ๆ ธๅฟƒๆฆ‚ๅฟตไธŽๅทฅไฝœๆœบๅˆถ๏ผŒๅฏนๆฏ”ๆณ›ๅž‹ไธŽ any ็ฑปๅž‹็š„ๅทฎๅผ‚๏ผŒๆถต็›–ๆณ›ๅž‹ๅ‡ฝๆ•ฐใ€ๆŽฅๅฃใ€็ฑปใ€็ฑปๅž‹ๅˆซๅ็š„ๅฎž่ทต็”จๆณ•๏ผŒไปฅๅŠๅŸบๆœฌ็ฑปๅž‹็บฆๆŸใ€ๆŽฅๅฃ็บฆๆŸใ€ๅคš้‡็บฆๆŸใ€keyof ็บฆๆŸ็ญ‰้ซ˜้˜ถๆŠ€ๅทงไธŽๆœ€ไฝณๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/typescript-generic-types\",\"tags\":[\"tutorial\",\"typescript\",\"generics\",\"type-system\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่Šไธ€่Š TypeScript ไธญ็š„ๆณ›ๅž‹\",\"date\":\"2025-08-20 22:51:27\",\"capture\":\"1. ๆณ›ๅž‹็š„ๅŸบๆœฌๆฆ‚ๅฟตๅ’Œไฝœ็”จ\\n 1.1 ๆ ธๅฟƒๅฎšไน‰\\nๆณ›ๅž‹๏ผˆGenerics๏ผ‰ ๆ˜ฏ TypeScript ไธญไธ€็งๅผบๅคง็š„็ฑปๅž‹็ณป็ปŸ็‰นๆ€ง๏ผŒๅ…่ฎธๅฎšไน‰็ฑปๅž‹ๅ‚ๆ•ฐๅŒ–็š„็ป„ไปถ๏ผŒไฝฟไปฃ็ ่ƒฝๅคŸๅœจๅคš็ง็ฑปๅž‹ไธŠๅฎ‰ๅ…จ่ฟ่กŒ๏ผŒๅŒๆ—ถไฟๆŒ็ฑปๅž‹ๆฃ€ๆŸฅใ€‚ๆณ›ๅž‹็š„ๆ ธๅฟƒๆ€ๆƒณๆ˜ฏๅฐ†็ฑปๅž‹ไฝœไธบๅ‚ๆ•ฐไผ ้€’็ป™ๅ‡ฝๆ•ฐใ€ๆŽฅๅฃๆˆ–็ฑป๏ผŒๅฎž็Žฐ\\\"็ผ–ๅ†™ไธ€ๆฌก๏ผŒๅค็”จๅคšๆฌก\\\"็š„ๆ•ˆๆžœใ€‚\\n 1.2 ๆณ›ๅž‹ไธŽ any ็ฑปๅž‹็š„ๅฏนๆฏ”\\n| ็‰นๆ€ง | ๆณ›ๅž‹ | any ็ฑปๅž‹ |\\n|------|------|----------|\\n| ็ฑปๅž‹ๅฎ‰ๅ…จ | โœ… ็ผ–่ฏ‘ๆ—ถ่ฟ›่กŒ็ฑปๅž‹ๆฃ€ๆŸฅ | โŒ ๅฎŒๅ…จๅคฑๅŽป็ฑปๅž‹ๆฃ€ๆŸฅ |\\n| ไปฃ็ ๅค็”จ | โœ… ๆ”ฏๆŒๅคš็ง็ฑปๅž‹ๅค็”จ | โœ… ๆ”ฏๆŒๅคš็ง็ฑปๅž‹๏ผŒไฝ†ๅคฑๅŽป็ฑปๅž‹ไฟกๆฏ |\\n| ็ฑปๅž‹ๆŽจๆ–ญ | โœ… \"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2025-08-12 22:47:47\",\"title\":\"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—\",\"tldr\":\"TypeScript ๅฎŒๅ–„็š„็ผ–่ฏ‘ไฝ“็ณปไธŽ่ฐƒ่ฏ•ๅทฅๅ…ท้“พ๏ผŒๆ˜ฏๆž„ๅปบ้ซ˜่ดจ้‡ๅบ”็”จ็š„ๅŸบ็Ÿณใ€‚\",\"description\":\"ๆทฑๅ…ฅ่งฃๆž TypeScript ็ผ–่ฏ‘ๅทฅๅ…ท้“พไธŽ่ฐƒ่ฏ•ไฝ“็ณป๏ผŒๆถต็›– tsconfig.json ๆ ธๅฟƒ้…็ฝฎใ€Monorepo ้กน็›ฎ้…็ฝฎ๏ผˆextends/references๏ผ‰ใ€source map ่ฐƒ่ฏ•ใ€ESLint ไธŽ Jest ๅ•ๅ…ƒๆต‹่ฏ•็ญ‰ๅฎŒๆ•ดๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/typescript-compilation-debugging-guide\",\"tags\":[\"tutorial\",\"typescript\",\"compilation\",\"tooling\",\"eslint\",\"jest\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—\",\"date\":\"2025-08-12 22:47:47\",\"capture\":\"็ผ–ๅ†™ไปฃ็ ๅชๆ˜ฏๅผ€ๅ‘ๅทฅไฝœ็š„่ตท็‚น๏ผŒ็œŸๆญฃๅ†ณๅฎš้กน็›ฎ่ดจ้‡็š„ๆ˜ฏๅŽ็ปญ็š„็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•็Žฏ่Š‚ใ€‚TypeScript ไฝœไธบ JavaScript ็š„้™ๆ€็ฑปๅž‹่ถ…้›†๏ผŒไธไป…ๅธฆๆฅไบ†็ฑปๅž‹ๅฎ‰ๅ…จ๏ผŒๆ›ดๆไพ›ไบ†ๅผบๅคง็š„็ผ–่ฏ‘ๅทฅๅ…ทๅ’Œ่ฐƒ่ฏ•่ƒฝๅŠ›๏ผŒ่ฎฉๆˆ‘ไปฌ่ƒฝๅคŸๆ›ด้ซ˜ๆ•ˆๅœฐๆž„ๅปบๅ’Œ็ปดๆŠคๅฏ้ ็š„ๅบ”็”จ็จ‹ๅบใ€‚\\nๆœฌๆ–‡ๅฐ†ๅฏน TypeScript ้กน็›ฎ็š„็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•่ฟ›่กŒๆขณ็†๏ผŒๅŒ…ๆ‹ฌ็ผ–่ฏ‘ๅทฅๅ…ท TSC ็š„ไฝฟ็”จใ€็ผ–่ฏ‘้€‰้กน็š„้…็ฝฎใ€่ฐƒ่ฏ•ๅทฅๅ…ท็š„ไฝฟ็”จ็ญ‰ใ€‚\\n 1. TypeScript ็ผ–่ฏ‘้…็ฝฎไธŽ tsconfig.json\\nTSC๏ผˆTypeScript Compiler๏ผ‰ๆ˜ฏ TypeScript ๅฎ˜ๆ–นๆไพ›็š„็ผ–่ฏ‘ๅทฅๅ…ท๏ผŒ่ดŸ่ดฃๅฐ† TypeScript ไปฃ็ ๏ผˆ`.ts` ๆˆ– `.tsx`๏ผ‰่ฝฌๆขไธบ J\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview\",\"frontmatter\":{\"date\":\"2024-05-18 22:49:57\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ไปŽ ES Modules ๅˆฐๅคงๅž‹้กน็›ฎๅˆ†ๅฑ‚ๆžถๆž„ไธŽๅทฅ็จ‹ๅŒ–ๅฎž่ทต๏ผŒๆž„ๅปบๅ…จๆ ˆๆจกๅ—ๅŒ–็Ÿฅ่ฏ†ไฝ“็ณปใ€‚\",\"description\":\"็ณป็ปŸๆขณ็† JavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›๏ผˆIIFEโ†’CJSโ†’ESM๏ผ‰ใ€TypeScript ็ฑปๅž‹ๅขžๅผบใ€ๅˆ†ๅฑ‚ๆžถๆž„ไธŽ DDD ๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/module-programming-practice-guide\",\"tags\":[\"tutorial\",\"ESM\",\"DDD\",\"ๅพฎๅ‰็ซฏ\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2024-05-18 22:49:57\",\"capture\":\"1. ๅผ•่จ€\\nๆจกๅ—ๅŒ–็ผ–็จ‹ๆ˜ฏ็Žฐไปฃ JavaScript/TypeScript ๅผ€ๅ‘็š„ๆ ธๅฟƒๅŽŸๅˆ™๏ผŒๅฎƒ้€š่ฟ‡ๅฐ†ๅคๆ‚็ณป็ปŸๆ‹†ๅˆ†ไธบ็‹ฌ็ซ‹ๅฏๅค็”จ็š„ๆจกๅ—๏ผŒ้™ไฝŽ็ณป็ปŸๅคๆ‚ๆ€งๅนถๆ้ซ˜ๅฏ็ปดๆŠคๆ€งไธŽๅฏๅค็”จๆ€งใ€‚ๅ› ๆญค๏ผŒๆˆ‘ไปฌ้€š่ฟ‡็ณปๅˆ—ๆ–‡็ซ ่ฏฆ็ป†ไป‹็ปไบ†ๆจกๅ—ๅŒ–็š„ๅŸบ็ก€ๆฆ‚ๅฟตใ€ๆผ”่ฟ›ๅކ็จ‹ใ€ไธๅŒ่ง„่Œƒ็š„ๆทฑๅบฆ่งฃๆžใ€TypeScriptๆจกๅ—ๅŒ–ๅขžๅผบใ€ES Modules ๆ ธๅฟƒ่ฏญๆณ•ไธŽๅฎž่ทตใ€ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทตใ€ๅ‰็ซฏๅทฅ็จ‹ๅŒ–ไธญ็š„ๆจกๅ—ๅŒ–ใ€Node.jsไธญ็š„ๆจกๅ—ๅŒ–ๅฎž่ทตใ€ๅคงๅž‹้กน็›ฎไธญ็š„ๆจกๅ—ๅŒ–่ฎพ่ฎกใ€ๆจกๅ—ๅŒ–ไธŽไปฃ็ ็ปดๆŠคไปฅๅŠๆœชๆฅๅ‘ๅฑ•่ถ‹ๅŠฟใ€‚\\nๅ‰้ข็š„็ณปๅˆ—ๆ–‡็ซ ไธป่ฆๆœ‰๏ผš\\n- ๆจกๅ—ๅŒ–็ผ–็จ‹็ผ–็จ‹ๅˆไฝ“้ชŒไธŽๅŸบ็ก€ไป‹็ป\\n- JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\\n- ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒ\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–\",\"frontmatter\":{\"date\":\"2024-05-17 23:33:09\",\"title\":\"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“\",\"tldr\":\"Node.js CJS ไธŽ ESM ๅŒๆจกๅ…ฑๅญ˜๏ผšๆจกๅ—ๅŠ ่ฝฝๆœบๅˆถไธŽๅˆ†ๅฑ‚ๆžถๆž„ๅฎž่ทตใ€‚\",\"description\":\"่งฃๆž Node.js ไธญ CommonJS ไธŽ ES Modules ็š„ๅŒๆจกๅ…ฑๅญ˜็ญ–็•ฅ๏ผŒๆถต็›–ๆจกๅ—ๅŠ ่ฝฝไผ˜ๅ…ˆ็บงใ€็ผ“ๅญ˜ๆœบๅˆถใ€package.json exports ๆกไปถๅฏผๅ‡บๅŠ Monorepo ๆžถๆž„ๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/nodejs-module-programming-summary\",\"abstract\":\"Node.js ๆจกๅ—ๅŒ–็ปๅކไบ†ไปŽ CommonJS ็‹ฌ้œธๅคฉไธ‹ๅˆฐ ES Modules ๅ…จ้ขๆŽฅๅ…ฅ็š„่Œƒๅผ่ฝฌ็งปใ€‚ๅ…ฑๅญ˜็ญ–็•ฅ้€š่ฟ‡ .mjs/.cjs ๅŽ็ผ€ๅ’Œ package.json type ๅญ—ๆฎตๆŽงๅˆถไธค็ง่ง„่Œƒ็š„่พน็•Œ๏ผ›ESM ๅฏ็›ดๆŽฅ import CJS๏ผˆ่‡ชๅŠจๅŒ…่ฃ…ไธบ้ป˜่ฎคๅฏผๅ‡บ๏ผ‰๏ผŒไฝ† CJS ๆ— ๆณ• require ESM ๅฟ…้กปไฝฟ็”จๅŠจๆ€ importใ€‚ๆจกๅ—ๅŠ ่ฝฝ้ตๅพชๆ ธๅฟƒๆจกๅ—ไผ˜ๅ…ˆใ€ๆ–‡ไปถๆจกๅ—ใ€็›ฎๅฝ•ๆจกๅ—๏ผˆindex.js/package.json๏ผ‰ใ€node_modules ้€็บงๆŸฅๆ‰พ็š„ไผ˜ๅ…ˆ็บง๏ผ›require.cache ๅฎž็Žฐๆจกๅ—็ผ“ๅญ˜๏ผŒๆธ…้™ค็ผ“ๅญ˜๏ผˆdelete require.cache[path]๏ผ‰ๆ˜ฏ็ƒญๆ›ดๆ–ฐๅทฅๅ…ท็š„ๆ ธๅฟƒๆ“ไฝœใ€‚package.json exports ๅญ—ๆฎตๆ”ฏๆŒๆกไปถๅฏผๅ‡บ๏ผˆimport/require ่ฟ”ๅ›žไธๅŒๅ…ฅๅฃ๏ผ‰ใ€‚pnpm workspaces ๅ‡ญๅ€Ÿ็กฌ้“พๆŽฅๆœบๅˆถๆˆไธบ็Žฐไปฃ Monorepo ้ฆ–้€‰ใ€‚ๅŽ็ซฏๅˆ†ๅฑ‚ๆžถๆž„๏ผˆAPI/Service/Repository๏ผ‰ๅฎž็Žฐๅ…ณๆณจ็‚นๅˆ†็ฆป๏ผŒๆขๆ•ฐๆฎๅบ“ๅช้œ€ๆ”น Repository ๅฑ‚ใ€‚\",\"tags\":[\"concept\",\"node.js\",\"commonjs\",\"esm\",\"monorepo\",\"layered-architecture\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“\",\"date\":\"2024-05-17 23:33:09\",\"capture\":\"ๅฆ‚ๆžœ่ฏดๆต่งˆๅ™จ็ซฏ็š„ๆจกๅ—ๅŒ–ๆ˜ฏไธบไบ†\\\"ๆŒ‰้œ€ๅŠ ่ฝฝ\\\"๏ผŒ้‚ฃไนˆ Node.js ็š„ๆจกๅ—ๅŒ–ๅˆ™ๆ˜ฏไธบไบ†\\\"ไปฃ็ ็ป„็ป‡\\\"ใ€‚ไฝœไธบๅฐ† JavaScript ๅธฆๅ…ฅๆœๅŠกๅ™จ็ซฏ็š„ๅ…ˆ้ฉฑ๏ผŒNode.js ็ปๅކไบ†ไปŽ CommonJS (CJS) ็‹ฌ้œธๅคฉไธ‹ๅˆฐ ES Modules (ESM) ๅ…จ้ขๆŽฅๅ…ฅ็š„่Œƒๅผ่ฝฌ็งปใ€‚\\nๅœจๆœๅŠกๅ™จ็ซฏ๏ผŒๆจกๅ—ๅŒ–ไธไป…ไป…ๆ˜ฏไธบไบ†ๆ‹†ๅˆ†ไปฃ็ ๏ผŒๆ›ดๆ˜ฏไธบไบ†ๆž„ๅปบๆธ…ๆ™ฐ็š„้กน็›ฎ็ป“ๆž„ใ€็ฎก็†ไพ่ต–ๅ…ณ็ณป๏ผŒไปฅๅŠๅฎž็Žฐไปฃ็ ็š„ๅค็”จไธŽ็ปดๆŠคใ€‚\\n 1. CommonJS ไธŽ ES Modules ๅŒๆจกๅ…ฑๅญ˜\\nๅœจ็Žฐไปฃ Node.js ๅผ€ๅ‘ไธญ๏ผŒๆˆ‘ไปฌ็ปๅธธ้ขไธดไธค็ง่ง„่Œƒไบค็ป‡็š„ๆƒ…ๅ†ตใ€‚่ฟ™ไธไป…ๆ˜ฏๆ–‡ไปถๅŽ็ผ€็š„ๆ”นๅ˜๏ผŒๆ›ดๆ˜ฏๅŒๆญฅไธŽๅผ‚ๆญฅๅŠ ่ฝฝ้€ป่พ‘็š„ๅšๅผˆใ€‚\\nๅ…ฑๅญ˜็ญ–็•ฅ๏ผš\\n1. ๅŽ็ผ€ๅ†ณๅฎš่ฎบ๏ผš`.mjs\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต\",\"frontmatter\":{\"date\":\"2024-05-17 22:30:50\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ๆขณ็†ไธŽๆ€ป็ป“\",\"tldr\":\"ๆŽŒๆก้ซ˜ๅ†…่šไฝŽ่€ฆๅˆๅŽŸๅˆ™๏ผšๆจกๅ—ๅŒ–็ผ–็จ‹็š„่ฎพ่ฎกๅ‡†ๅˆ™ไธŽ็ฒ’ๅบฆๆŽงๅˆถใ€‚\",\"description\":\"็ณป็ปŸๆขณ็†ๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅ…ญๅคงๆ ธๅฟƒๅŽŸๅˆ™๏ผšๅ•ไธ€่Œ่ดฃใ€้ซ˜ๅ†…่šไฝŽ่€ฆๅˆใ€็ฒ’ๅบฆ่ฎพ่ฎกใ€ๅ‘ฝๅ่ง„่ŒƒๅŠๆจกๅ—็‰ˆๆœฌ็ฎก็†๏ผŒ้™„่ฏฆ็ป†็š„ๅทฅ็จ‹ๅฎž่ทตๅปบ่ฎฎไธŽ้ฟๅ‘ๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/fullstack/module-programming-principles-best-practices\",\"abstract\":\"ๅฆ‚ๆžœ่ฏดๆŽŒๆกๆจกๅ—ๅŒ–่ฏญๆณ•ๆ˜ฏๆœฏ๏ผŒ้‚ฃไนˆ็†่งฃๅ…ถ่ƒŒๅŽ็š„่ฎพ่ฎกๅŽŸๅˆ™ๅฐฑๆ˜ฏ้“ใ€‚ๅ•ไธ€่Œ่ดฃๅŽŸๅˆ™ๅผบ่ฐƒๆจกๅ—ๅชๅบ”ๆœ‰ไธ€ไธช่ขซๆ”นๅ˜็š„ๅŽŸๅ› ๏ผŒ้ฟๅ… God Object ๅๆจกๅผใ€‚้ซ˜ๅ†…่šไฝŽ่€ฆๅˆๆ˜ฏ่กก้‡ๆจกๅ—่ดจ้‡็š„็ปˆๆžๆ ‡ๅ‡†โ€”โ€”ๆจกๅ—ๅ†…้ƒจๅ…ƒ็ด ่”็ณป็ดงๅฏ†๏ผŒๆจกๅ—ไน‹้—ดไพ่ต–ๅ…ณ็ณปๅฐฝๅฏ่ƒฝ็ฎ€ๅ•ใ€‚็ฒ’ๅบฆ่ฎพ่ฎก่ฆๆฑ‚ๅ•ไธชๆจกๅ—ไฟๆŒๅœจ 100-500 ่กŒไน‹้—ด๏ผŒๅŠŸ่ƒฝ่ƒฝ็”จไธ€ๅฅ่ฏๆธ…ๆ™ฐๆ่ฟฐ๏ผŒๅ‡บ็Žฐๅคšๅˆ†ๆ”ฏๅคๆ‚้€ป่พ‘ๆ—ถ้€šๅธธๆ˜ฏๆ‹†ๅˆ†ไฟกๅทใ€‚ๅ‘ฝๅ่ง„่Œƒ็ปŸไธ€ๅ›ข้˜ŸๆฒŸ้€š่ฏญๅขƒ๏ผˆkebab-case ๆ–‡ไปถๅใ€camelCase ๆ–นๆณ•ๅใ€PascalCase ็ฑปๅ๏ผ‰ใ€‚ๆจกๅ—็‰ˆๆœฌ็ฎก็†้ตๅพช SemVer ่ฏญไน‰ๅŒ–็‰ˆๆœฌ๏ผŒไธบๅ…ฌๅ…ฑๆจกๅ—็š„็ปดๆŠค่€…ไธŽไฝฟ็”จ่€…ๅปบ็ซ‹ๅฅ‘็บฆใ€‚ๅผบ่ฐƒๆธ…ๆ™ฐ็š„ๆจกๅ—่พน็•Œๆ˜ฏ AI ่พ…ๅŠฉ็ผ–็จ‹ๆ—ถไปฃ AI ๅ‡†็กฎ็†่งฃไปฃ็ ็š„ๅ‰ๆใ€‚\",\"tags\":[\"concept\",\"solid-principles\",\"code-organization\",\"best-practices\",\"naming-conventions\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ๆขณ็†ไธŽๆ€ป็ป“\",\"date\":\"2024-05-17 22:30:50\",\"capture\":\"1. ๅ•ไธ€่Œ่ดฃๅŽŸๅˆ™\\nๆ ธๅฟƒๆ€ๆƒณ๏ผšไธ€ไธชๆจกๅ—ๅบ”ๅฝ“ๆœ‰ไธ”ๅชๆœ‰ไธ€ไธช่ขซๆ”นๅ˜็š„ๅŽŸๅ› ใ€‚\\nๆจกๅ—ไธๅบ”ๆˆไธบๅŠŸ่ƒฝ็š„โ€œๆ‚่ดง้“บโ€ใ€‚ๅฝ“ไธ€ไธชๆจกๅ—ๆ‰ฟๆ‹…ไบ†ๅคชๅคšไธ็›ธๅ…ณ็š„ไธšๅŠก้€ป่พ‘ๆ—ถ๏ผŒๅฎƒ็š„ๅคๆ‚ๅบฆไผšๅ‘ˆๆŒ‡ๆ•ฐ็บงไธŠๅ‡๏ผŒไปปไฝ•ๅพฎๅฐ็š„ๆ”นๅŠจ้ƒฝๅฏ่ƒฝๅผ•ๅ‘ๆ„ๆƒณไธๅˆฐ็š„่ฟž้”ๅๅบ”ใ€‚\\nไปฃ็ ๆผ”็คบ๏ผš\\n```javascript\\n// โœ… ๆŽจ่๏ผš่Œ่ดฃๆ‹†ๅˆ†ๆ˜Ž็กฎ\\n// user-service.js - ไป…ๅค„็†็”จๆˆทๆ•ฐๆฎ็š„ CRUD\\nexport const getUser = async (id) => { /* ... */ };\\n// auth-provider.js - ไป…ๅค„็†้‰ดๆƒ็Šถๆ€ไธŽ้€ป่พ‘\\nexport const login = async (credenti\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"frontmatter\":{\"date\":\"2024-05-16 21:27:36\",\"title\":\"ไปŽ้€ป่พ‘้š”็ฆปๅˆฐ็ฑปๅž‹ๅฅ‘็บฆ๏ผšTypeScript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"tldr\":\"TypeScript ๅฐ†ๆจกๅ—ไพ่ต–ๆๅ‡ไธบ็ผ–่ฏ‘ๆ—ถ็ฑปๅž‹ๅฅ‘็บฆ๏ผŒไปŽ import type ๅˆฐๅฃฐๆ˜Žๆ–‡ไปถใ€‚\",\"description\":\"็ณป็ปŸ่ฎฒ่งฃ TypeScript ๅฏน ES Modules ็š„็ฑปๅž‹ๅขžๅผบ๏ผŒๆถต็›– import type ่ฟ่กŒๆ—ถไผ˜ๅŒ–ใ€ๆŽฅๅฃๅฅ‘็บฆใ€ๅฃฐๆ˜Žๆ–‡ไปถ .d.ts ๅŠ tsconfig ๆจกๅ—ๅŒ–้…็ฝฎใ€‚\",\"permalink\":\"/fullstack/typescript-module-programming-enhancement\",\"tags\":[\"concept\",\"ๅ…จๆ ˆ\",\"typescript\",\"tsconfig\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไปŽ้€ป่พ‘้š”็ฆปๅˆฐ็ฑปๅž‹ๅฅ‘็บฆ๏ผšTypeScript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"date\":\"2024-05-16 21:27:36\",\"capture\":\"1. ๅผ•่จ€\\nๅœจๅŽŸ็”Ÿ JavaScript ๆจกๅ—ๅŒ–่งฃๅ†ณไบ†ไปฃ็ ็ป„็ป‡้—ฎ้ข˜ๅŽ๏ผŒTypeScript๏ผˆTS๏ผ‰่ฟ›ไธ€ๆญฅๅฐ†ๅ…ถๆŽจๅ‘ไบ†ๅทฅไธš็บง้ซ˜ๅบฆใ€‚TS ไธไป…ไป…ๆ˜ฏไธบๆจกๅ—ๆทปๅŠ ไบ†็ฑปๅž‹ๆ ‡ๆณจ๏ผŒๅฎƒ้€š่ฟ‡็ฑปๅž‹ๅฏผๅ‡บๅฏผๅ…ฅใ€็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ใ€ไปฅๅŠๅฃฐๆ˜Žๆ–‡ไปถ็ณป็ปŸ๏ผŒๅฐ†ๆจกๅ—้—ด็š„ไพ่ต–ๅ…ณ็ณปไปŽ็ฎ€ๅ•็š„โ€œไปฃ็ ๅผ•็”จโ€ๆๅ‡ๅˆฐไบ†โ€œๅฅ‘็บฆไบคไบ’โ€ใ€‚\\nๆœฌๆ–‡ๆˆ‘ไปฌๅฐ†่š็„ฆไบŽ TypeScript ๅฆ‚ไฝ•้€š่ฟ‡็ฑปๅž‹็ณป็ปŸๅขžๅผบๆจกๅ—ๅŒ–็ผ–็จ‹๏ผŒๅนถๆŽข่ฎจๅœจ็Žฐไปฃๅทฅ็จ‹๏ผˆๅฐคๅ…ถๆ˜ฏ TS 5.0+ ๆ—ถไปฃ๏ผ‰ไธ‹็š„ๆœ€ไฝณ้…็ฝฎๅฎž่ทตใ€‚\\n 2. ็ฑปๅž‹ๅฏผๅ‡บไธŽๅฏผๅ…ฅ๏ผšๆž่‡ด็š„่ฟ่กŒๆ—ถไผ˜ๅŒ–\\nTypeScript ๅฏน ES Modules ่ฏญๆณ•ๆœ€ๆ˜พ่‘—็š„ๆ‰ฉๅฑ•ๆ˜ฏๆ”ฏๆŒโ€œไป…็ฑปๅž‹โ€๏ผˆType-only๏ผ‰็š„ๅฏผๅ‡บไธŽๅฏผๅ…ฅใ€‚่ฟ™ไธไป…ๆ˜ฏ่ฏญไน‰ไธŠ็š„ๆธ…ๆ™ฐ๏ผŒๆ›ดๆ˜ฏๆ€ง\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"frontmatter\":{\"date\":\"2024-05-14 22:29:32\",\"title\":\"ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒๆ‹ฅๆŠฑๅŽŸ็”Ÿ๏ผšES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"tldr\":\"ES Modules ๆ ธๅฟƒ่ฏญๆณ•ไธŽๆ‰ง่กŒๆจกๅž‹๏ผš้™ๆ€ๅˆ†ๆžๅฆ‚ไฝ•้‡ๅก‘ๅ‰็ซฏๆž„ๅปบๆ•ˆ็އใ€‚\",\"description\":\"ๆทฑๅบฆ่งฃๆž ES Modules ๅ‘ฝๅๅฏผๅ‡บ/ๅฏผๅ…ฅใ€้ป˜่ฎคๅฏผๅ‡บใ€ๅŠจๆ€ๅฏผๅ…ฅ็ญ‰่ฏญๆณ•๏ผŒไปฅๅŠๆจกๅ—ๆ‰ง่กŒ้กบๅบใ€ๅพช็Žฏไพ่ต–ๅค„็†ไธŽ็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ๆœบๅˆถใ€‚\",\"permalink\":\"/fullstack/decode-es-modules\",\"tags\":[\"concept\",\"ESM\",\"static-analysis\",\"Tree-Shaking\",\"circular-dependency\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒๆ‹ฅๆŠฑๅŽŸ็”Ÿ๏ผšES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"date\":\"2024-05-14 22:29:32\",\"capture\":\"> \\n> ็†่งฃ ESM๏ผŒไธไป…ไป…ๆ˜ฏๅญฆไผš import ๅ’Œ export๏ผŒๆ›ด้‡่ฆ็š„ๆ˜ฏ็†่งฃๅฎƒๅฆ‚ไฝ•้€š่ฟ‡็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ๅฝปๅบ•ๆ”นๅ˜ไบ†ๅ‰็ซฏๆž„ๅปบ็š„ๆ•ˆ็އใ€‚\\n 1. ๅ‘ฝๅๅฏผๅ‡บไธŽๅฏผๅ…ฅ๏ผš็ฒพๅ‡†็š„ไปฃ็ ๅผ•็”จ\\nๅ‘ฝๅๅฏผๅ‡บ๏ผˆNamed Exports๏ผ‰ๆ˜ฏ ESM ๆœ€ๅธธ็”จ็š„ๅฝขๅผ๏ผŒๅฎƒๅ…่ฎธไธ€ไธชๆจกๅ—ๆšด้œฒๅคšไธชๆˆๅ‘˜ใ€‚ๅ…ถๆ ธๅฟƒไผ˜ๅŠฟๅœจไบŽ๏ผšๅฏผๅ…ฅๆ–นๅฏไปฅๆŒ‰้œ€ๅผ•ๅ…ฅ๏ผŒไธ” IDE ่ƒฝๆไพ›็ฒพๅ‡†็š„่กฅๅ…จใ€‚\\n่ฏญๆณ•ๅฎž่ทต๏ผš๏ผš\\n```javascript\\n// math.js - ๅ‘ฝๅๅฏผๅ‡บ\\n// ่กŒๅ†…ๅฏผๅ‡บ\\nexport const PI = 3.14159;\\nexport function circleArea(radius) {\\n return PI * rad\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†\",\"frontmatter\":{\"date\":\"2024-05-14 22:26:06\",\"title\":\"JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\",\"tldr\":\"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ็ญ‰ๆ ธๅฟƒ่ง„่Œƒ๏ผŒ้™„็Žฐไปฃ่ฟ็งป็ญ–็•ฅใ€‚\",\"description\":\"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ๅ››ๅคงๆจกๅ—ๅŒ–่ง„่Œƒ็š„ๆ ธๅฟƒ่ฏญๆณ•ไธŽ้€‚็”จๅœบๆ™ฏ๏ผŒ่งฃๆžๅ„่ง„่Œƒ็š„ๅ…ณ้”ฎๅทฎๅผ‚๏ผŒๅนถๆไพ›ไปŽๆ—ง่ง„่Œƒๅ‘ ESM ่ฟ็งป็š„ๅฎžๆ“็ญ–็•ฅใ€‚\",\"permalink\":\"/fullstack/different-module-programming-specifications\",\"tags\":[\"tutorial\",\"CommonJS\",\"AMD\",\"UMD\",\"ESM\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\",\"date\":\"2024-05-14 22:26:06\",\"capture\":\"ๅœจ JavaScript ่ฟ›ๅŒ–ๅฒไธŠ๏ผŒโ€œๆจกๅ—ๅŒ–โ€ๅง‹็ปˆๆ˜ฏไธ€ไธชๆ ธๅฟƒๅ‘ฝ้ข˜ใ€‚ไปŽๆ—ฉๆœŸ script ๆ ‡็ญพๆปกๅคฉ้ฃž็š„โ€œๆททๆฒŒๆ—ถไปฃโ€๏ผŒๅˆฐๅ„่ทฏ่ง„่Œƒ็พค้›„้€้นฟ็š„โ€œๆˆ˜ๅ›ฝๆ—ถไปฃโ€๏ผŒๅ†ๅˆฐๅฆ‚ไปŠ ES Modules ๅฎšไบŽไธ€ๅฐŠ๏ผŒๅผ€ๅ‘่€…ไปฌๅœจ่งฃๅ†ณไพ่ต–็ฎก็†ใ€ไฝœ็”จๅŸŸๆฑกๆŸ“ๅ’Œๅผ‚ๆญฅๅŠ ่ฝฝ็ญ‰้—ฎ้ข˜ไธŠไป˜ๅ‡บไบ†ๅทจๅคง็š„ๅŠชๅŠ›ใ€‚\\nๆœฌๆ–‡ๅฐ†ๅธฆไฝ ๆขณ็† JavaScript ๅކๅฒไธŠๆœ€้‡่ฆ็š„ๅ‡ ็งๆจกๅ—ๅŒ–่ง„่Œƒ๏ผŒไพฟไบŽๆž„ๅปบ่ตทๅ…จๆ ˆๅผ€ๅ‘็š„ๅบ•ๅฑ‚็Ÿฅ่ฏ†ๅ›พ่ฐฑใ€‚\\n 1. CommonJS ่ง„่Œƒ๏ผšNode.js ็”Ÿๆ€็š„ๅŸบ็Ÿณ\\nCommonJS ๆ˜ฏไผด้š Node.js ่ฏž็”Ÿ็š„่ง„่Œƒ,็”ฑ Kevin Dangoor ๆๅ‡บ๏ผŒๅˆ่กทๆ˜ฏ่ฎฉ JavaScript ่„ฑ็ฆปๆต่งˆๅ™จไนŸ่ƒฝๆž„ๅปบๅคๆ‚็š„็ณป็ปŸๅบ”็”จใ€‚ๅฎƒๆ˜ฏ Node.\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€\",\"frontmatter\":{\"date\":\"2024-05-12 22:43:28\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ๏ผšๆฆ‚ๅฟตใ€ๆผ”่ฟ›ไธŽ่ฎพ่ฎกๆจกๅผ\",\"tldr\":\"ไปŽๅ…จๅฑ€ๅ˜้‡ๅˆฐ ES Modules๏ผšJavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›ไธŽๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผๅฎž่ทตใ€‚\",\"description\":\"็ณป็ปŸ่ฎฒ่งฃ JavaScript ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€๏ผŒๆถต็›– IIFEใ€CommonJSใ€ES Modules ่ง„่Œƒๆผ”่ฟ›๏ผŒไปฅๅŠๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผไธŽๆจกๅ—ๅŒ–็š„็ป“ๅˆใ€‚\",\"permalink\":\"/fullstack/frontend-module-programming-basic\",\"tags\":[\"tutorial\",\"javascript\",\"modularization\",\"esm\",\"design-patterns\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ๏ผšๆฆ‚ๅฟตใ€ๆผ”่ฟ›ไธŽ่ฎพ่ฎกๆจกๅผ\",\"date\":\"2024-05-12 22:43:28\",\"capture\":\"1. ๅผ•่จ€\\n้š็€้กน็›ฎ่ง„ๆจกๆ—ฅ็›Š่†จ่ƒ€๏ผŒไปฃ็ ้‡ไปŽๅ‡ ๅƒ่กŒ่ฟ…้€Ÿๅขž้•ฟๅˆฐๆ•ฐไธ‡็”š่‡ณๆ•ฐๅไธ‡่กŒ๏ผŒๅฐ†ๆ‰€ๆœ‰้€ป่พ‘ๅกž่ฟ›ๅฐ‘ๆ•ฐๅ‡ ไธชๆ–‡ไปถ็š„ๅšๆณ•ๆ—ฉๅทฒ้šพไปฅไธบ็ปงใ€‚ๅœจ่ฟ™ๆ ท็š„่ƒŒๆ™ฏไธ‹๏ผŒๆจกๅ—ๅŒ–็ผ–็จ‹ๅบ”่ฟ่€Œ็”Ÿ๏ผŒๆˆไธบ็Žฐไปฃๅ‰็ซฏๅผ€ๅ‘็š„ๆ ‡้…ใ€‚\\nๅฎƒ็š„ๆ ธๅฟƒ็†ๅฟต็ฎ€ๆด่€Œไผ˜้›…๏ผšๅƒๆญ็งฏๆœจไธ€ๆ ท๏ผŒๅฐ†ๅบžๅคงๅคๆ‚็š„็ณป็ปŸๆ‹†่งฃไธบไธ€ไธชไธช็‹ฌ็ซ‹ใ€ๅŠŸ่ƒฝๅ•ไธ€ไธ”ๅฏๅค็”จ็š„ๆจกๅ—๏ผŒ่ฎฉๆฏไธชๆจกๅ—ๅ„ๅธๅ…ถ่Œ๏ผŒๅ†้€š่ฟ‡ๆ ‡ๅ‡†ๆŽฅๅฃ็ตๆดป็ป„ๅˆใ€‚\\n 2. ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ\\nๅœจๆทฑๅ…ฅ็†่ฎบไน‹ๅ‰๏ผŒ่ฎฉๆˆ‘ไปฌๅ…ˆ้€š่ฟ‡ไธ€ไธช็ฎ€ๅ•็š„ JavaScript ็คบไพ‹๏ผŒ็›ด่ง‚ๅœฐๆ„Ÿๅ—ไธ€ไธ‹ไป€ไนˆๆ˜ฏๆจกๅ—ๅŒ–ใ€‚ๅ‡่ฎพๆˆ‘ไปฌ้œ€่ฆๅค„็†ไธ€ไบ›ๆ•ฐๅญฆ่ฟ็ฎ—๏ผŒๆˆ‘ไปฌๅฏไปฅๅฐ†ๅ…ถๅฐ่ฃ…ๆˆไธ€ไธช็‹ฌ็ซ‹็š„ๅทฅๅ…ทๆจกๅ—๏ผš\\n```javascript\\n// math.js - ๅฎšไน‰ไธ€ไธชๆ•ฐๅญฆๅทฅๅ…ทๆจกๅ—\\nexp\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2024-03-20 22:41:41\",\"title\":\"ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ๅœจ้œ€ๆฑ‚่พน็•Œๅ†…่ฟฝๆฑ‚ๆœ€ๅฐๅคๆ‚ๅบฆโ€”โ€”ไธๆ˜ฏๆ‹’็ปๅคๆ‚๏ผŒ่€Œๆ˜ฏไธไธปๅŠจๅˆถ้€ ๅคๆ‚ใ€‚\",\"description\":\"ๆทฑๅ…ฅ่งฃๆžๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™ๅœจ็ผ–็จ‹ไธŽ่ฎพ่ฎกไธญ็š„ๅ…ญๅคงๅœบๆ™ฏ๏ผšๆ‹’็ป่ฟ‡ๅบฆ้ข„ๅˆคใ€็งป้™คๅ†—ไฝ™้€ป่พ‘ใ€ๅŒน้…ๆžถๆž„่ง„ๆจกใ€ๅ…‹ๅˆถไพ่ต–ๅผ•ๅ…ฅใ€ๅฐ่ฃ…ๆœ€ๅฐๆŽฅๅฃใ€ๅ…ˆๆŽ’ๆŸฅ็ฎ€ๅ•ๅŽŸๅ› ๏ผŒๅนถ็ป™ๅ‡บไธ‰ไธชๅ…ณ้”ฎ่พน็•Œใ€‚\",\"permalink\":\"/fullstack/occams-razor-software-design\",\"tags\":[\"concept\",\"engineering-fundamentals\",\"code-design\",\"software-engineering\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2024-03-20 22:41:41\",\"capture\":\"<script setup\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n> ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™็”ฑ 14 ไธ–็บช้€ป่พ‘ๅญฆๅฎถๅจๅป‰ยทๅฅฅๅกๅง†ๆๅ‡บ๏ผŒๅ…ถๆ ธๅฟƒไธบ\\\"ๅฆ‚ๆ— ๅฟ…่ฆ๏ผŒๅ‹ฟๅขžๅฎžไฝ“\\\"โ€”โ€”ๅœจๅคšไธชๅŒ็ญ‰ๆœ‰ๆ•ˆ็š„ๆ–นๆกˆไธญ๏ผŒ้€‰ๆ‹ฉๅ‡่ฎพๆœ€ๅฐ‘ใ€ๆœ€็ฎ€ๆด็š„้‚ฃไธชใ€‚่ฏฅๅŽŸๅˆ™ๅนถ้žๅฆๅฎšๅคๆ‚ๆ€ง๏ผŒ่€Œๆ˜ฏ้ฟๅ…ๆ— ๆ„ไน‰็š„่ฟ‡ๅบฆ่ฎพ่ฎกใ€‚ๆ–‡็ซ ไปŽ็ผ–็จ‹ไธŽ่ฎพ่ฎกๅฎž่ทตๅ‡บๅ‘๏ผŒไพๆฌกๆŽข่ฎจไบ†้œ€ๆฑ‚ๅฎž็Žฐใ€ไปฃ็ ๅฎž็Žฐใ€ๆžถๆž„่ฎพ่ฎกใ€ไพ่ต–็ฎก็†ใ€ๆŽฅๅฃ่ฎพ่ฎกใ€่ฐƒ่ฏ•ไผ˜ๅŒ–ๅ…ญๅคงๅœบๆ™ฏ็š„ๅไพ‹ไธŽๆญฃไพ‹๏ผŒๅนถๆ˜Ž็กฎๆŒ‡ๅ‡บไธ‰ไธชๅ…ณ้”ฎ่พน็•Œ๏ผšไธๅฏ็‰บ็‰ฒๅฏ็ปดๆŠคๆ€งใ€ๅฏๆ‰ฉๅฑ•ๆ€งใ€ๅฎ‰ๅ…จๆ€งๆขๅ–็ฎ€ๆดใ€‚\\n 1.\"}],\"ไบงๅ“ Sense\":[{\"url\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/21.ๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense\",\"relativePath\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/21.ๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense\",\"frontmatter\":{\"date\":\"2025-10-23 16:05:50\",\"title\":\"ๅฝ“โ€œๅฎž็Žฐโ€ไธๅ†ๆ˜ฏๅฃๅž’๏ผšๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense๏ผŸ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ AI ่ฎฉไปฃ็ ็”Ÿๆˆ็š„่พน้™…ๆˆๆœฌ่ถ‹่ฟ‘ไบŽ้›ถ๏ผŒโ€œๆŠ€ๆœฏๅฎž็Žฐโ€ไธๅ†ๆ˜ฏไธๅฏ้€พ่ถŠ็š„ๅฃๅž’๏ผŒโ€œไบงๅ“ๆดžๅฏŸโ€่ƒฝๆž„็ญ‘่ตทๆ–ฐ็š„ๆ ธๅฟƒๆŠคๅŸŽๆฒณใ€‚ๆœฌๆ–‡ๆ‹’็ป็Ž„ๅญฆ๏ผŒๅฐ†ๆŠฝ่ฑก็š„ ไบงๅ“ Sense ่งฃๆž„ไธบไธ‰ไธชๆ ธๅฟƒๆ•ฐๅญฆๅ…ฌๅผ๏ผŒๅนถๆไพ›ไธ€ๅฅ—ๅŸบไบŽโ€œ้€†ๅ‘ๅทฅ็จ‹โ€็š„ๅˆปๆ„็ปƒไน ๆŒ‡ๅ—๏ผŒๅŠฉๅŠ›ๅผ€ๅ‘่€…ๅœจ็ฎ—ๅŠ›่ฟ‡ๅ‰ฉ็š„ๆ—ถไปฃ๏ผŒๅฎŒๆˆไปŽโ€œไปฃ็ ๅทฅๅŒ โ€ๅˆฐโ€œไปทๅ€ผๅˆ›้€ ่€…โ€็š„่ฎค็Ÿฅ่ทƒ่ฟใ€‚\",\"sticky\":1,\"top\":true,\"categories\":[\"ไบงๅ“ Sense\",\"AI\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense/engineer-build-product-sense\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฝ“โ€œๅฎž็Žฐโ€ไธๅ†ๆ˜ฏๅฃๅž’๏ผšๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense๏ผŸ\",\"date\":\"2025-10-23 16:05:50\",\"capture\":\"1. ๅผ•่จ€\\nๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒไบงๅ“ Sense๏ผˆไบงๅ“ๆ„Ÿ๏ผ‰ ่ขซ่ง†ไธบไธ€็ง็Ž„ๅญฆใ€‚ๅฎƒไผผไนŽๆ˜ฏไน”ๅธƒๆ–ฏๅผ็š„็ตๅ…‰ไธ€็Žฐ๏ผŒๆˆ–ๆ˜ฏๅผ ๅฐ้พ™ๅผ็š„โ€œ็‹ฌๆ–ญไธ“่กŒโ€ใ€‚\\nไฝ†ๅฏนไบŽๅคงๅคšๆ•ฐๅทฅ็จ‹ๅธˆใ€ไบงๅ“็ป็†ไนƒ่‡ณ็‹ฌ็ซ‹ๅผ€ๅ‘่€…่€Œ่จ€๏ผŒๅฐ†่ƒฝๅŠ›ๅฏ„ๆ‰˜ไบŽโ€œๅคฉ่ต‹โ€ๆ˜ฏๅฑ้™ฉ็š„ใ€‚ๆˆ‘่ฎคไธบ๏ผŒไบงๅ“ Sense ๅนถ้žไธๅฏๆ‰ๆ‘ธ็š„้ป‘้ญ”ๆณ•๏ผŒ่€Œๆ˜ฏไธ€ๅฅ—็ป่ฟ‡้ซ˜้ข‘่ฎญ็ปƒๅŽๅ†…ๅŒ–ไธบๆœฌ่ƒฝ็š„ๆ€็ปด็ฎ—ๆณ•ใ€‚ ๅฐฑๅƒ่ต„ๆทฑ็จ‹ๅบๅ‘˜็œ‹ๅˆฐไธ€ๆฎตไปฃ็ ๅฐฑ่ƒฝๅ—…ๅ‡บ \\\"Code Smell\\\"๏ผˆไปฃ็ ๅผ‚ๅ‘ณ๏ผ‰๏ผŒ่ต„ๆทฑไบงๅ“ไบบไนŸ่ƒฝๅœจ็žฌ้—ดๅˆคๆ–ญไธ€ไธช้œ€ๆฑ‚ๆ˜ฏโ€œ็œŸ็—›็‚นโ€่ฟ˜ๆ˜ฏโ€œไผช้œ€ๆฑ‚โ€ใ€‚\\nไธ€ไธชๆˆๅŠŸ็š„ไบงๅ“ๅ†ณ็ญ–๏ผŒๅพ€ๅพ€ๅ‘็”Ÿๅœจไธ‰ไธช็ปดๅบฆ็š„ไบคๆฑ‡็‚น๏ผš\\n* ็”จๆˆทไปทๅ€ผๆดžๅฏŸ๏ผˆUser Value Insight๏ผ‰๏ผšไธไป…ๅฌๆ‡‚็”จๆˆท่ฏดโ€œๆƒณ่ฆๆ›ดๅฟซ็š„้ฉฌโ€๏ผŒๆ›ด่ƒฝๆดžๅฏŸไป–ๅ…ถๅฎžโ€œๆƒณๆ›ด\"},{\"url\":\"/10.ไบงๅ“ Sense/00.ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"relativePath\":\"/10.ไบงๅ“ Sense/00.ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"frontmatter\":{\"date\":\"2026-03-19 23:05:50\",\"title\":\"ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"description\":\"ไบงๅ“ Sense ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ๏ผŒๆถต็›– AI ไบงๅ“่ง‚ๅฏŸใ€ๅคๅˆๅž‹ไบบๆ‰ๆˆ้•ฟใ€ๅ•†ไธšๅŒ–ๆ€่€ƒๅŠๆ–นๆณ•่ฎบๆ€ป็ป“็ญ‰ใ€‚\",\"categories\":[\"ไบงๅ“ Sense\",\"AI\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"date\":\"2026-03-19 23:05:50\",\"capture\":\"> * ่ฟฝๆฑ‚้ซ˜ๆ ๆ†โ€”โ€”ไปฅๆž็ฎ€ๆŠ€ๆœฏ่งฃๅ†ณๅคๆ‚้—ฎ้ข˜๏ผŒๆ‹’็ปไธบ็‚ซๆŠ€่€Œ่ฎพ่ฎก็š„ไผช้œ€ๆฑ‚๏ผ›\\n> * ๅนณ่กกๆ„Ÿๆ€งไธŽ็†ๆ€งโ€”โ€”ๆ—ขๅ…ฑๆƒ…็”จๆˆท็š„็œŸๅฎžๅœบๆ™ฏไธŽๆƒ…็ปช๏ผŒๅˆๅ†ท้™่ฟฝๆบฏ็—›็‚นๆœฌ่ดจ๏ผŒ่ฎฉไบงๅ“ๆ—ขๆœ‰ๆธฉๅบฆ๏ผŒๅˆไธ่‡ณไบŽๆฒฆไธบๅŠŸ่ƒฝ็š„ๅ †็ Œใ€‚\\n่งฃๆž„่ฟ™็งไบงๅ“ Sense ็š„ๅŸบ็ก€ๅœจไบŽๅฏนๆŠ•ๅ…ฅไบงๅ‡บๆฏ”๏ผˆROI๏ผ‰็š„ๆž่‡ด่ฟฝๆฑ‚ไธŽๅฏนไบบๆ€ง็š„ๆทฑๅบฆๅ‰–ๆž๏ผš\\n* ไธ€ๆ–น้ข๏ผŒๅ“่ถŠ็š„ไบงๅ“ๅ—…่ง‰ๆ„ๅ‘ณ็€ๅฏปๆ‰พโ€œ้ซ˜ๆ ๆ†่งฃโ€๏ผŒ็”จๆœ€ๅ…‹ๅˆถ็š„ๆŠ€ๆœฏๅคๆ‚ๅบฆๅŽปๆ’ฌๅŠจๆœ€ๅนฟๆณ›ไธ”ๅผบ็ƒˆ็š„็”จๆˆทไปทๅ€ผ๏ผŒๆžœๆ–ญ่ง„้ฟไธบไบ†ๆŠ€ๆœฏ่€ŒๆŠ€ๆœฏ็š„ไผช้œ€ๆฑ‚้™ท้˜ฑใ€‚\\n* ๅฆไธ€ๆ–น้ข๏ผŒๆ—ข้œ€่ฆ่ฎพ่บซๅค„ๅœฐๆ„Ÿ็Ÿฅ็”จๆˆท็š„็œŸๅฎžไฝฟ็”จๅœบๆ™ฏไธŽๆƒ…็ปช๏ผŒๅˆๅฟ…้กปไฟๆŒ็†ๆ€งๅŽป่ฟฝ้—ฎ็—›็‚น็š„ๆ นๆบ๏ผŒ็กฎไฟไบงๅ“ๆ—ขไธๆฒฆไธบ่‡ƒ่‚ฟ็š„้œ€ๆฑ‚่ฎธๆ„ฟๆฑ ๏ผŒไนŸไธๅ˜ๆˆ็ผบไนไบบๆ€งๆธฉๅบฆ็š„ๅ†ฐๅ†ทๆœบๅ™จใ€‚\\n<im\"},{\"url\":\"/10.ไบงๅ“ Sense/04.ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–/30.ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹่ฏปๅŽๆ„Ÿ\",\"relativePath\":\"/10.ไบงๅ“ Sense/04.ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–/30.ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹่ฏปๅŽๆ„Ÿ\",\"frontmatter\":{\"date\":\"2025-11-24 21:50:00\",\"title\":\"ๆ”พๅผƒๅขž้•ฟๆ‰งๅฟต๏ผŒไธบไป€ไนˆโ€œๅฐ่€Œ็พŽโ€ๆ‰ๆ˜ฏๅฏๆŒ็ปญไน‹่ทฏ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒ็ง‘ๆŠ€ไบ’่”็ฝ‘่กŒไธš็š„ๅ™ไบ‹้ƒฝ่ขซโ€œไธๆƒœไธ€ๅˆ‡ไปฃไปทๅฎž็Žฐ่ถ…็บฟๆ€งๅขž้•ฟโ€ๆ‰€ไธปๅฏผใ€‚ไปฟไฝ›ๅชๆœ‰ๆ‹ฟๅˆฐๅทจ้ข่ž่ต„ใ€็–ฏ็‹‚ๆ‹›ไบบใ€ๆˆไธบไผฐๅ€ผ็ ด็™พไบฟ็š„ๅบž็„ถๅคง็‰ฉ๏ผŒๆ‰็ฎ—ๅพ—ไธŠๆ˜ฏๆˆๅŠŸ็š„ๅˆ›ไธšใ€‚็„ถ่€Œ๏ผŒ่ฏปๅฎŒ่จๅธŒๅฐ”ยทๆ‹‰ๆ–‡ๅ‰ไบš็š„ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹ๅŽ๏ผŒ็ฌ”่€…่Žทๅพ—ไบ†ไธ€็งๆˆช็„ถไธๅŒ็š„ๅ•†ไธš่ง†่ง’๏ผšไผไธšๅญ˜ๅœจ็š„้ฆ–่ฆ็›ฎ็š„ไธๆ˜ฏไธบไบ†่ž่ต„ๅ’Œๆ‰ฉๅผ ๏ผŒ่€Œๆ˜ฏไธบไบ†้€š่ฟ‡่งฃๅ†ณ้—ฎ้ข˜ๆฅ่Žทๅพ—ๆŒ็ปญ็š„็›ˆๅˆฉใ€‚ ๆœฌๆ–‡็ป“ๅˆไนฆไธญ็š„ๆ ธๅฟƒ่ฎบ็‚นไธŽ่‡ช่บซ็š„็ ”ๅ‘่ง†่ง’๏ผŒๆŠŠๅฐ†่ฟ™ๆœฌไนฆ่ƒŒๅŽ็š„็ป่ฅ้€ป่พ‘ไธŽไบงๅ“ๅ“ฒๅญฆๆขณ็†ไธบๅ‡ ไธชๆ ธๅฟƒๅฑ‚้ข็š„ๆ€่€ƒใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense/small-rule-learn\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"ไบงๅ“ Sense\",\"ๅ•†ไธšๅŒ–\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆ”พๅผƒๅขž้•ฟๆ‰งๅฟต๏ผŒไธบไป€ไนˆโ€œๅฐ่€Œ็พŽโ€ๆ‰ๆ˜ฏๅฏๆŒ็ปญไน‹่ทฏ\",\"date\":\"2025-11-24 21:50:00\",\"capture\":\"ไนฆๅ๏ผšใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹\\nไฝœ่€…๏ผš[็พŽ] ่จๅธŒๅฐ”ยทๆ‹‰ๆ–‡ๅ‰ไบš\\nๆ ธๅฟƒๆ ‡็ญพ๏ผšๆž็ฎ€ๅˆ›ไธš๏ฝœ็คพๅŒบๆœฌไฝ๏ฝœๆŒ็ปญ็›ˆๅˆฉ๏ฝœๅˆ›ไฝœ่€…็ปๆตŽ\\nไธ€ๅฅ่ฏ็ฎ€่ฏ„๏ผšๅœจ็›ฒ็›ฎๅด‡ๆ‹œ่ง„ๆจกๆ‰ฉๅผ ็š„ๅ•†ไธš่ฏญๅขƒไธ‹๏ผŒ่ฟ™ๆ˜ฏไธ€ไปฝๅ†™็ป™็‹ฌ็ซ‹ๅˆ›ไฝœ่€…ไธŽๅผ€ๅ‘่€…็š„ๆธ…้†’ๆŒ‡ๅ—๏ผŒๆ•™ไผšๆˆ‘ไปฌๅฆ‚ไฝ•็”จๆœ€ๅฐ‘็š„่ต„ๆบ๏ผŒ่งฃๅ†ณ็œŸๅฎž็š„็—›็‚น๏ผŒๅนถ่Žทๅพ—้•ฟไน…็š„่‡ช็”ฑใ€‚\\nๆ›ดๅคšไนฆ็ฑๆŽจ่ไฟกๆฏๅฏๅ‚่€ƒ๏ผšไบงๅ“ Sense ไธŽๅ•†ไธšๅŒ–\\n 1. ็คพๅŒบๅ…ˆ่กŒ๏ผšไปŽโ€œๆˆ‘ๆ˜ฏ่ฐโ€ๅˆฐโ€œๆˆ‘่ƒฝไธบ่ฐ่งฃๅ†ณ้—ฎ้ข˜โ€\\nไผ ็ปŸๅ•†ไธš้€ป่พ‘ๅพ€ๅพ€ๆ˜ฏๅ…ˆๆž„ๆ€ไธ€ไธชๅฎๅคง็š„็‚นๅญ๏ผŒ้—ญ้—จ้€ ่ฝฆๆ‰“็ฃจไบงๅ“๏ผŒๆœ€ๅŽๅ†็ ธ้’ฑๅŽปๅธ‚ๅœบไธŠๅฏปๆ‰พ็›ฎๆ ‡็”จๆˆทใ€‚่€Œๆœฌไนฆๆๅ‡บไบ†ไธ€ไธช้ข ่ฆ†ๆ€ง็š„ๅๅ‘่ทฏๅพ„๏ผš็คพๅŒบ $\\\\rightarrow$ ้—ฎ้ข˜ $\\\\rightarrow$ ๆต็จ‹ $\\\\rightarrow$\"},{\"url\":\"/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/40.ๆดžๅฏŸๅŠ›ๆจกๅž‹\",\"relativePath\":\"/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/40.ๆดžๅฏŸๅŠ›ๆจกๅž‹\",\"frontmatter\":{\"date\":\"2025-11-14 16:00:00\",\"title\":\"ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผšๅฆ‚ไฝ•็œ‹้€ไบงๅ“ไธŽๆŠ€ๆœฏ่ƒŒๅŽ็š„็ณป็ปŸ้€ป่พ‘๏ผŸ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆ— ่ฎบๆ˜ฏๅšไบงๅ“ใ€ๆžๆŠ€ๆœฏ๏ผŒ่ฟ˜ๆ˜ฏๅบ”ๅฏนๆ—ฅๅธธๅทฅไฝœไธญ็š„ๅ„็งๆŒ‘ๆˆ˜๏ผŒไฝ ๆ˜ฏๅฆ้‡ๅˆฐ่ฟ‡่ฟ™ๆ ท็š„ๅ›ฐๅขƒ๏ผšๆ˜Žๆ˜ŽๆŒ‰็ป้ชŒ่กŒไบ‹๏ผŒๅดๅฑกๅฑก่ธฉๅ‘๏ผ›ๅˆš่งฃๅ†ณ่กจ้ข้—ฎ้ข˜๏ผŒ้šๆ‚ฃๅˆๅทๅœŸ้‡ๆฅใ€‚้—ฎ้ข˜ๆœชๅฟ…ๅ‡บๅœจๅŠชๅŠ›็จ‹ๅบฆ๏ผŒ่€ŒๅœจไบŽๆˆ‘ไปฌๅช็›ฏ็€่กจ่ฑก๏ผŒๅดๅฟฝ็•ฅไบ†่ƒŒๅŽ็œŸๆญฃ่ตทไฝœ็”จ็š„็ณป็ปŸ๏ผŒๆฒกๆœ‰็œ‹ๆ‡‚่—ๅœจ่ƒŒๅŽ็š„็ณป็ปŸใ€‚ไธบไป€ไนˆๅŒๆ ทๆ˜ฏ่งฃๅ†ณ้—ฎ้ข˜๏ผŒๆœ‰ไบบๅช่ƒฝโ€œๅคด็—›ๅŒปๅคดโ€๏ผŒๆœ‰ไบบๅด่ƒฝ็›ดๅ‡ปๆœฌ่ดจ๏ผŸ่ฟ™็ฏ‡ๆ–‡็ซ ๅฐ†็”จ้€šไฟ—ๆ˜“ๆ‡‚็š„ๆ–นๅผ๏ผŒๅธฆไฝ ๆ‹†่งฃไธ€ๅฅ—ๅฎž็”จ็š„ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผŒ่ฎฉๆˆ‘ไปฌๅญฆไผš้€่ฟ‡็Žฐ่ฑกๆŠ“ไฝๆœฌ่ดจ๏ผŒไปŽๆ นๆบไธŠ่งฃๅ†ณ้—ฎ้ข˜ใ€‚\",\"permalink\":\"/product-sense/insight-model\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"ไบงๅ“ Sense\",\"็ณป็ปŸๆดžๅฏŸๅŠ›\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผšๅฆ‚ไฝ•็œ‹้€ไบงๅ“ไธŽๆŠ€ๆœฏ่ƒŒๅŽ็š„็ณป็ปŸ้€ป่พ‘๏ผŸ\",\"date\":\"2025-11-14 16:00:00\",\"capture\":\"1. ่กจ่ฑก่ƒŒๅŽ่—็€ๅ†ณๅฎšไธ€ๅˆ‡็š„โ€œ็ณป็ปŸ้ป‘็›’โ€\\nๆˆ‘ไปฌๅœจๆ—ฅๅธธๅผ€ๅ‘ๆˆ–ไบงๅ“่ฎพ่ฎกไธญ๏ผŒๆ€ปๆ˜ฏ่ขซๅ„็งโ€œ่กจ่ฑกโ€ๅŒ…ๅ›ด๏ผšDAU ็ช็„ถไธ‹้™ไบ†ใ€็บฟไธŠๅ‡บ็Žฐไบ†ไธ€ไธชๅถ็Žฐ็š„ Bugใ€ๆŸไธชๅŠŸ่ƒฝ็š„่ฝฌๅŒ–็އไธๅŠ้ข„ๆœŸใ€‚ๆˆ‘ไปฌไน ๆƒฏไบ†็›ฏ็€่ฟ™ไบ›็œ‹ๅพ—่ง็š„็ป“ๆžœๆ‰พๅŽŸๅ› ๏ผŒๅดๅฟฝ็•ฅไบ†ไธ€ไธชๆ ธๅฟƒ็œŸ็›ธ๏ผšๆฏไธ€ไธช่กจ่ฑก่ƒŒๅŽ๏ผŒๅ…ถๅฎž้ƒฝ้š่—็€ไธ€ไธช่ฟ่ฝฌๅคๆ‚็š„โ€œ้ป‘็›’ๅญโ€๏ผŒๆญฃๆ˜ฏ่ฟ™ไธช้ป‘็›’ๅญๅ†ณๅฎšไบ†ไบ‹็‰ฉๅ‘ๅฑ•็š„ๅฎข่ง‚่ง„ๅพ‹ใ€‚ๆˆ‘ไปฌๅฏไปฅๆŠŠ่ฟ™ไธช้ป‘็›’ๅญ๏ผŒๅซๅšโ€œ็ณป็ปŸโ€ใ€‚\\n<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/product/system_tips.png\\\" style=\\\"width: 1\"},{\"url\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/20.่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"relativePath\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/20.่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"frontmatter\":{\"date\":\"2024-06-15 22:23:00\",\"title\":\"่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡็ป“ๅˆไฟ็ฝ—ใƒปๆ ผ้›ทๅŽ„ๅง†ใ€ŠHow to Do Great Workใ€‹ๆ ธๅฟƒ่ง‚็‚น๏ผŒๆŽข่ฎจ AI ๅŽŸ็”Ÿๆ—ถไปฃๅคๅˆๅž‹ไบบๆ‰็š„ๆ ธๅฟƒ็‰น่ดจใ€‚AI ่ฎฉๅŸบ็ก€ๆ‰ง่กŒ่ƒฝๅŠ›ๅฟซ้€Ÿ่ดฌๅ€ผ๏ผŒไบบๆ‰็š„ๆ ธๅฟƒๅฃๅž’ไธๅ†ๆ˜ฏ่งฃๅ†ณ้—ฎ้ข˜๏ผŒ่€Œๆ˜ฏๆๅ‡บไผ˜่ดจ้—ฎ้ข˜ใ€ๅŸนๅ…ป้žๅ…ฑ่ฏ†ๅ“ๅ‘ณใ€‚ๅŒๆ—ถ้œ€ๅšๅฎˆๆ™บๅŠ›่ฏšๅฎž๏ผŒๆ‹ฅๆœ‰ๆ‰“็ ดๅธธ่ง„็š„ๅˆ›ๆ–ฐๅ‹‡ๆฐ”๏ผŒๅ€ŸๅŠฉ AI ๆ”พๅคงไธชไบบๆˆ้•ฟๆ ๆ†๏ผŒไปฅๅฐๅˆ‡ๅฃๅฎž่ทตๅฎž็ŽฐๆŒ‡ๆ•ฐ็บงๆˆ้•ฟใ€‚ไบบ็ฑป็‹ฌๆœ‰็š„ๅฅฝๅฅ‡ๅฟƒ๏ผŒๆ˜ฏ็ช็ ด AI ๅนณๅบธใ€ๅ–ๅพ—ๆฐๅ‡บๆˆๅฐฑ็š„ๆœ€็ปˆๅบ•ๆฐ”ใ€‚\",\"coverImg\":\"/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense/ai-native-composite-talents\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"AI\",\"ๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"date\":\"2024-06-15 22:23:00\",\"capture\":\"> \\n> ๅŽŸๆ–‡ๅœฐๅ€๏ผšhttps://paulgraham.com/greatwork.html\\n> \\n> ๅŽŸๆ–‡ไฝœ่€…๏ผšPaul Graham๏ผˆไฟ็ฝ—ยทๆ ผ้›ทๅŽ„ๅง†๏ผ‰๏ผŒ็ก…่ฐท้กถ็บงๅญตๅŒ–ๅ™จ Y Combinator ๅˆ›ๅง‹ไบบ๏ผŒ่ขซ่ช‰ไธบโ€œ็ก…่ฐทๅˆ›ไธšๆ•™็ˆถโ€๏ผŒไนŸๆ˜ฏ็ปๅ…ธๆŠ€ๆœฏๅ“ฒๅญฆ่‘—ไฝœใ€Š้ป‘ๅฎขไธŽ็”ปๅฎถใ€‹็š„ไฝœ่€…ใ€‚\\n> \\n> ๆ–‡็ซ ่ƒŒๆ™ฏ๏ผšๅŽŸๆ–‡ๆ˜ฏไฟ็ฝ—ยทๆ ผ้›ทๅŽ„ๅง†ไน‹ๅ‰ๅ‡†ๅค‡ไบ†ๅŠๅนดไน‹ไน…็š„้‡็ฃ…้•ฟๆ–‡๏ผŒไป–่ฏ•ๅ›พ่ฎฒๆ˜Ž็™ฝไธ€ไธช้€‚็”จไบŽๆฏไธชไบบ็š„ไธป้ข˜โ€”โ€”ๅฆ‚ไฝ•ๅšๆˆใ€Œๅคงไบ‹ใ€๏ผˆgreat work๏ผ‰ใ€‚้€š่ฏปๅ…จๆ–‡๏ผŒไฝ ไผšๅ‘็Žฐ๏ผŒ่ฟ™ๆ˜ฏไธ€็ฏ‡้žๅธธๅฎž็”จ็š„ๅทฅไฝœๆŒ‡ๅ—๏ผŒๅนถไธ”ๅ…ถไธญ็š„่ฎธๅคšๅ†…ๅฎน๏ผŒ้ƒฝไธŽAIๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰ๆ‰€้œ€่ฆๅ…ทๅค‡็š„็‰น่ดจ้žๅธธไธ€่‡ดใ€‚\\n 1. ๅผ•่จ€๏ผš\"},{\"url\":\"/10.ไบงๅ“ Sense/01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž/11.AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"relativePath\":\"/10.ไบงๅ“ Sense/01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž/11.AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"frontmatter\":{\"date\":\"2024-05-08 08:56:21\",\"title\":\"AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจๅคงๆจกๅž‹้‡ๅก‘ไบ’่”็ฝ‘ไบคไบ’็š„ๅฝ“ไธ‹๏ผŒPerplexity ๅนถๆœช้€‰ๆ‹ฉๆˆไธบโ€œไธ‹ไธ€ไธช Googleโ€๏ผŒ่€Œๆ˜ฏไปฅโ€œ็Ÿฅ่ฏ†ๅ‘็Žฐๅผ•ๆ“Žโ€็š„ๅ…จๆ–ฐๅฎšไฝ๏ผŒ็ฒพๅ‡†ๅˆ‡ๅ…ฅ็Ÿฅ่ฏ†ๅทฅไฝœ่€…็š„ๆ ธๅฟƒๅทฅไฝœๆตใ€‚ๆœฌๆ–‡่ทณๅ‡บๅ•็บฏ็š„ๆจกๅž‹่ƒฝๅŠ›ๅฏนๆฏ”๏ผŒไปŽไบงๅ“ Sense ไธŽๅทฅ็จ‹้€ป่พ‘็š„ๅŒ้‡่ง†่ง’๏ผŒๆทฑๅบฆๆ‹†่งฃ Perplexity ็š„็ ดๅฑ€ไน‹้“ใ€‚ๆˆ‘ไปฌๅฐ†ๆŽข่ฎจๅฎƒๅฆ‚ไฝ•้€š่ฟ‡ๅ็›ด่ง‰็š„ UI ๅˆ›ๆ–ฐ้‡ๅก‘ไบคไบ’่ตท็‚น๏ผŒๅฆ‚ไฝ•ๅœจๅทฅ็จ‹ๅฑ‚้ขๆญป็ฃ•ๅฐพ้ƒจๅปถ่ฟŸไธŽๅนป่ง‰ๆŽงๅˆถ๏ผŒไปฅๅŠๅฎƒๅฆ‚ไฝ•ๅˆฉ็”จๅทจๅคด็š„ๅˆฉๆถฆ็އๆŠคๅŸŽๆฒณๅฎž็Žฐ้”™ไฝ็ซžไบ‰ใ€‚ๆœ€็ปˆ๏ผŒๆˆ‘ไปฌๅฐ†่ง†็บฟๆŠ•ๅ‘ๆœชๆฅ๏ผŒไธ€็ชฅ AI ไปŽ่ขซๅŠจๅ“ๅบ”่ตฐๅ‘ไธปๅŠจๆŽข็ดข็š„ๆผ”่ฟ›่“ๅ›พใ€‚\",\"permalink\":\"/product-sense/perplexity-knowledge-worker\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"AI ๆœ็ดข\",\"็Ÿฅ่ฏ†ๅ‘็Žฐ\",\"ไบงๅ“ Sense\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"date\":\"2024-05-08 08:56:21\",\"capture\":\"1. ๅผ•่จ€\\nๅœจ AI ๆตชๆฝฎไธ‹๏ผŒๆœ็ดขๅผ•ๆ“Ž็š„่Œƒๅผๆญฃๅœจๅ‘็”Ÿ่ฝฌ็งปใ€‚ไฝœไธบๅฝ“ๅ‰ๅค‡ๅ—็žฉ็›ฎ็š„ AI ๆœ็ดขไบงๅ“๏ผŒPerplexity ๅนถๆฒกๆœ‰่ฏ•ๅ›พๆˆไธบโ€œไธ‹ไธ€ไธช Googleโ€๏ผŒ่€Œๆ˜ฏๅฐ†่‡ชๅทฑๅฎšไน‰ไธบ็Ÿฅ่ฏ†ๅ‘็Žฐๅผ•ๆ“Žใ€‚\\nๅฏนไบŽๆฏๅคฉ้œ€่ฆๅค„็†ๆตท้‡ไฟกๆฏใ€่ฟ›่กŒๅคๆ‚ๅ†ณ็ญ–็š„็Ÿฅ่ฏ†ๅทฅไฝœ่€…่€Œ่จ€๏ผŒๅฆ‚ไฝ•้ซ˜ๆ•ˆๅœฐโ€œๅŽปๅ™ชโ€ๅนถ่Žทๅ–้ซ˜ไฟกๅบฆ็Ÿฅ่ฏ†ๆ˜ฏๆ ธๅฟƒ่ฏ‰ๆฑ‚ใ€‚็ฌ”่€…ๅฐ†ไปŽไบงๅ“ไบคไบ’ใ€ๆŠ€ๆœฏๅทฅ็จ‹ใ€ๅ•†ไธš้€ป่พ‘ไธŽๆœชๆฅๆผ”่ฟ›ๅ››ไธช็ปดๅบฆ๏ผŒๅˆ†ๆž Perplexity ๆ˜ฏๅฆ‚ไฝ•้‡ๅก‘ไฟกๆฏ่Žทๅ–ๅทฅไฝœๆต็š„ใ€‚\\nๆœฌๆ–‡ๆ—จๅœจ้€š่ฟ‡ๅฏน Perplexity ็š„ๆทฑๅบฆไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž๏ผŒๅธฎๅŠฉ่ฏป่€…็†่งฃ AI ๆœ็ดขไบงๅ“็š„่ฎพ่ฎก้€ป่พ‘ไธŽ็”จๆˆทไฝ“้ชŒไผ˜ๅŒ–่ทฏๅพ„๏ผŒๅŒๆ—ถไธบ็Ÿฅ่ฏ†ๅทฅไฝœ่€…ๆไพ›ๅฏ่ฝๅœฐ็š„ๆ•ˆ็އๆๅ‡ๆ–นๆณ•๏ผŒๅนถๅœจ่ฟ‡็จ‹ไธญๅŸนๅ…ป็ป“ๆž„ๅŒ–ไบงๅ“ๅˆ†ๆžๆ€็ปดใ€‚\\n\"},{\"url\":\"/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/50.็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“\",\"relativePath\":\"/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/50.็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“\",\"frontmatter\":{\"date\":\"2024-01-01 16:00:00\",\"title\":\"็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“\",\"description\":\"ๅฐ†็ปๆตŽๅญฆๆ ธๅฟƒๅŽŸ็†่žๅˆ่ฟ›ไบงๅ“่ฎพ่ฎกๅ…จ็”Ÿๅ‘ฝๅ‘จๆœŸ็š„ๆ–นๆณ•่ฎบไฝ“็ณป๏ผŒๆž„ๅปบ็†ๆ€ง็š„โ€œไบงๅ“Senseโ€ใ€‚\",\"categories\":[\"ไบงๅ“ Sense\"],\"permalink\":\"/product-sense/using-economics-thinking\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“\",\"date\":\"2024-01-01 16:00:00\",\"capture\":\"ๅœจไบงๅ“็ฎก็†็š„ๅนฟ้˜”ๅคฉๅœฐไธญ๏ผŒๆˆ‘ไปฌๅพ€ๅพ€ๅผบ่ฐƒโ€œไบงๅ“ Senseโ€๏ผˆProduct Sense๏ผ‰โ€”โ€”ไธ€็งๅฏน็”จๆˆท้œ€ๆฑ‚ใ€ๅธ‚ๅœบ้ฃŽๅ‘ๅ’ŒๆŠ€ๆœฏๆฝœๅŠ›็š„็›ด่ง‰ๆ€งๆ•ๆ‰ใ€‚็„ถ่€Œ๏ผŒ่ฟ™็ง Sense ็ป้žๅ‡ญ็ฉบ่€Œๆฅ็š„็ตๅ…‰ไน็Žฐ๏ผŒๅฎƒ้œ€่ฆ็จณๅ›บ็š„็†ๆ€งๅœฐๅŸบใ€‚ๅœจไผ—ๅคšๅญฆ็ง‘ไธญ๏ผŒ็ปๆตŽๅญฆๆ— ็–‘ๆไพ›ไบ†ๆœ€ๅบ•ๅฑ‚็š„้€ป่พ‘ๆ”ฏๆŸฑใ€‚\\n็ปๆตŽๅญฆไธไป…ไป…ๆ˜ฏๅ…ณไบŽ้‡‘้’ฑๅ’Œๅธ‚ๅœบ็š„็ง‘ๅญฆ๏ผŒๅฎƒๆ›ดๆ˜ฏไธ€็ง่งฃๅ†ณ้—ฎ้ข˜ใ€ไผ˜ๅŒ–ๅ†ณ็ญ–็š„ๆ–นๅผใ€‚ๅฏนไบงๅ“ไบบ่€Œ่จ€๏ผŒๅ€Ÿ้‰ด็ปๆตŽๅญฆๆ€็ปด๏ผŒๆ„ๅ‘ณ็€่ƒฝๅคŸ็†ๆ™บๅœฐๆƒ่กกๅˆฉๅผŠ๏ผŒๆ›ด็ฒพๅ‡†ๅœฐๅฎšไปท๏ผŒๆ›ดๆทฑๅˆปๅœฐๆดžๅฏŸไบบๆ€ง๏ผŒๆœ€็ปˆๅœจ้”™็ปผๅคๆ‚็š„็บฆๆŸๆกไปถไธ‹๏ผŒๆฑ‚่งฃๅ‡บ็”จๆˆทไปทๅ€ผไธŽๅ•†ไธšไปทๅ€ผๅนถ้‡็š„ๆœ€ไผ˜่งฃใ€‚\\n 1. ็”Ÿๆดป้‡Œ็š„็ปๆตŽๅญฆๆดžๅฏŸโ€”โ€”ๆดžๅฏŸไธไป…ๆ˜ฏๅ…ณไบŽ้œ€ๆฑ‚๏ผŒๆ›ดๆ˜ฏๅ…ณไบŽๆˆๆœฌไธŽๅšๅผˆ\\nๆˆ‘ไปฌๅธธ่ขซๆ—ฅๅธธ็Žฐ่ฑก็š„โ€œๅˆ็†ๆ€งโ€ๆ‰€่ฟทๆƒ‘๏ผŒ่€Œ็ปๆตŽๅญฆ\"}],\"AI\":[{\"url\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/21.ๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense\",\"relativePath\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/21.ๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense\",\"frontmatter\":{\"date\":\"2025-10-23 16:05:50\",\"title\":\"ๅฝ“โ€œๅฎž็Žฐโ€ไธๅ†ๆ˜ฏๅฃๅž’๏ผšๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense๏ผŸ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ AI ่ฎฉไปฃ็ ็”Ÿๆˆ็š„่พน้™…ๆˆๆœฌ่ถ‹่ฟ‘ไบŽ้›ถ๏ผŒโ€œๆŠ€ๆœฏๅฎž็Žฐโ€ไธๅ†ๆ˜ฏไธๅฏ้€พ่ถŠ็š„ๅฃๅž’๏ผŒโ€œไบงๅ“ๆดžๅฏŸโ€่ƒฝๆž„็ญ‘่ตทๆ–ฐ็š„ๆ ธๅฟƒๆŠคๅŸŽๆฒณใ€‚ๆœฌๆ–‡ๆ‹’็ป็Ž„ๅญฆ๏ผŒๅฐ†ๆŠฝ่ฑก็š„ ไบงๅ“ Sense ่งฃๆž„ไธบไธ‰ไธชๆ ธๅฟƒๆ•ฐๅญฆๅ…ฌๅผ๏ผŒๅนถๆไพ›ไธ€ๅฅ—ๅŸบไบŽโ€œ้€†ๅ‘ๅทฅ็จ‹โ€็š„ๅˆปๆ„็ปƒไน ๆŒ‡ๅ—๏ผŒๅŠฉๅŠ›ๅผ€ๅ‘่€…ๅœจ็ฎ—ๅŠ›่ฟ‡ๅ‰ฉ็š„ๆ—ถไปฃ๏ผŒๅฎŒๆˆไปŽโ€œไปฃ็ ๅทฅๅŒ โ€ๅˆฐโ€œไปทๅ€ผๅˆ›้€ ่€…โ€็š„่ฎค็Ÿฅ่ทƒ่ฟใ€‚\",\"sticky\":1,\"top\":true,\"categories\":[\"ไบงๅ“ Sense\",\"AI\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense/engineer-build-product-sense\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฝ“โ€œๅฎž็Žฐโ€ไธๅ†ๆ˜ฏๅฃๅž’๏ผšๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense๏ผŸ\",\"date\":\"2025-10-23 16:05:50\",\"capture\":\"1. ๅผ•่จ€\\nๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒไบงๅ“ Sense๏ผˆไบงๅ“ๆ„Ÿ๏ผ‰ ่ขซ่ง†ไธบไธ€็ง็Ž„ๅญฆใ€‚ๅฎƒไผผไนŽๆ˜ฏไน”ๅธƒๆ–ฏๅผ็š„็ตๅ…‰ไธ€็Žฐ๏ผŒๆˆ–ๆ˜ฏๅผ ๅฐ้พ™ๅผ็š„โ€œ็‹ฌๆ–ญไธ“่กŒโ€ใ€‚\\nไฝ†ๅฏนไบŽๅคงๅคšๆ•ฐๅทฅ็จ‹ๅธˆใ€ไบงๅ“็ป็†ไนƒ่‡ณ็‹ฌ็ซ‹ๅผ€ๅ‘่€…่€Œ่จ€๏ผŒๅฐ†่ƒฝๅŠ›ๅฏ„ๆ‰˜ไบŽโ€œๅคฉ่ต‹โ€ๆ˜ฏๅฑ้™ฉ็š„ใ€‚ๆˆ‘่ฎคไธบ๏ผŒไบงๅ“ Sense ๅนถ้žไธๅฏๆ‰ๆ‘ธ็š„้ป‘้ญ”ๆณ•๏ผŒ่€Œๆ˜ฏไธ€ๅฅ—็ป่ฟ‡้ซ˜้ข‘่ฎญ็ปƒๅŽๅ†…ๅŒ–ไธบๆœฌ่ƒฝ็š„ๆ€็ปด็ฎ—ๆณ•ใ€‚ ๅฐฑๅƒ่ต„ๆทฑ็จ‹ๅบๅ‘˜็œ‹ๅˆฐไธ€ๆฎตไปฃ็ ๅฐฑ่ƒฝๅ—…ๅ‡บ \\\"Code Smell\\\"๏ผˆไปฃ็ ๅผ‚ๅ‘ณ๏ผ‰๏ผŒ่ต„ๆทฑไบงๅ“ไบบไนŸ่ƒฝๅœจ็žฌ้—ดๅˆคๆ–ญไธ€ไธช้œ€ๆฑ‚ๆ˜ฏโ€œ็œŸ็—›็‚นโ€่ฟ˜ๆ˜ฏโ€œไผช้œ€ๆฑ‚โ€ใ€‚\\nไธ€ไธชๆˆๅŠŸ็š„ไบงๅ“ๅ†ณ็ญ–๏ผŒๅพ€ๅพ€ๅ‘็”Ÿๅœจไธ‰ไธช็ปดๅบฆ็š„ไบคๆฑ‡็‚น๏ผš\\n* ็”จๆˆทไปทๅ€ผๆดžๅฏŸ๏ผˆUser Value Insight๏ผ‰๏ผšไธไป…ๅฌๆ‡‚็”จๆˆท่ฏดโ€œๆƒณ่ฆๆ›ดๅฟซ็š„้ฉฌโ€๏ผŒๆ›ด่ƒฝๆดžๅฏŸไป–ๅ…ถๅฎžโ€œๆƒณๆ›ด\"},{\"url\":\"/10.ไบงๅ“ Sense/00.ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"relativePath\":\"/10.ไบงๅ“ Sense/00.ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"frontmatter\":{\"date\":\"2026-03-19 23:05:50\",\"title\":\"ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"description\":\"ไบงๅ“ Sense ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ๏ผŒๆถต็›– AI ไบงๅ“่ง‚ๅฏŸใ€ๅคๅˆๅž‹ไบบๆ‰ๆˆ้•ฟใ€ๅ•†ไธšๅŒ–ๆ€่€ƒๅŠๆ–นๆณ•่ฎบๆ€ป็ป“็ญ‰ใ€‚\",\"categories\":[\"ไบงๅ“ Sense\",\"AI\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"date\":\"2026-03-19 23:05:50\",\"capture\":\"> * ่ฟฝๆฑ‚้ซ˜ๆ ๆ†โ€”โ€”ไปฅๆž็ฎ€ๆŠ€ๆœฏ่งฃๅ†ณๅคๆ‚้—ฎ้ข˜๏ผŒๆ‹’็ปไธบ็‚ซๆŠ€่€Œ่ฎพ่ฎก็š„ไผช้œ€ๆฑ‚๏ผ›\\n> * ๅนณ่กกๆ„Ÿๆ€งไธŽ็†ๆ€งโ€”โ€”ๆ—ขๅ…ฑๆƒ…็”จๆˆท็š„็œŸๅฎžๅœบๆ™ฏไธŽๆƒ…็ปช๏ผŒๅˆๅ†ท้™่ฟฝๆบฏ็—›็‚นๆœฌ่ดจ๏ผŒ่ฎฉไบงๅ“ๆ—ขๆœ‰ๆธฉๅบฆ๏ผŒๅˆไธ่‡ณไบŽๆฒฆไธบๅŠŸ่ƒฝ็š„ๅ †็ Œใ€‚\\n่งฃๆž„่ฟ™็งไบงๅ“ Sense ็š„ๅŸบ็ก€ๅœจไบŽๅฏนๆŠ•ๅ…ฅไบงๅ‡บๆฏ”๏ผˆROI๏ผ‰็š„ๆž่‡ด่ฟฝๆฑ‚ไธŽๅฏนไบบๆ€ง็š„ๆทฑๅบฆๅ‰–ๆž๏ผš\\n* ไธ€ๆ–น้ข๏ผŒๅ“่ถŠ็š„ไบงๅ“ๅ—…่ง‰ๆ„ๅ‘ณ็€ๅฏปๆ‰พโ€œ้ซ˜ๆ ๆ†่งฃโ€๏ผŒ็”จๆœ€ๅ…‹ๅˆถ็š„ๆŠ€ๆœฏๅคๆ‚ๅบฆๅŽปๆ’ฌๅŠจๆœ€ๅนฟๆณ›ไธ”ๅผบ็ƒˆ็š„็”จๆˆทไปทๅ€ผ๏ผŒๆžœๆ–ญ่ง„้ฟไธบไบ†ๆŠ€ๆœฏ่€ŒๆŠ€ๆœฏ็š„ไผช้œ€ๆฑ‚้™ท้˜ฑใ€‚\\n* ๅฆไธ€ๆ–น้ข๏ผŒๆ—ข้œ€่ฆ่ฎพ่บซๅค„ๅœฐๆ„Ÿ็Ÿฅ็”จๆˆท็š„็œŸๅฎžไฝฟ็”จๅœบๆ™ฏไธŽๆƒ…็ปช๏ผŒๅˆๅฟ…้กปไฟๆŒ็†ๆ€งๅŽป่ฟฝ้—ฎ็—›็‚น็š„ๆ นๆบ๏ผŒ็กฎไฟไบงๅ“ๆ—ขไธๆฒฆไธบ่‡ƒ่‚ฟ็š„้œ€ๆฑ‚่ฎธๆ„ฟๆฑ ๏ผŒไนŸไธๅ˜ๆˆ็ผบไนไบบๆ€งๆธฉๅบฆ็š„ๅ†ฐๅ†ทๆœบๅ™จใ€‚\\n<im\"}],\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\":[{\"url\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/10.่ฏปไนฆไธ‰่ฆไธ‰ไธ่ฆ\",\"relativePath\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/10.่ฏปไนฆไธ‰่ฆไธ‰ไธ่ฆ\",\"frontmatter\":{\"date\":\"2025-03-06 11:42:20\",\"title\":\"่ฏปไนฆโ€œไธ‰่ฆโ€ๅ’Œโ€œไธ‰ไธ่ฆโ€\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจไฟกๆฏ็ˆ†็‚ธ็š„ๆ—ถไปฃ๏ผŒ่ฏปไนฆไพ็„ถๆ˜ฏ่Žทๅ–ๆทฑๅบฆ็Ÿฅ่ฏ†ๆœ€้ซ˜ๆ•ˆ็š„ๆ–นๅผไน‹ไธ€ใ€‚ไฝ†โ€œๆง่ตทไนฆโ€ๅนถไธ็ญ‰ไบŽโ€œๆœ‰ๆ”ถ่Žทโ€๏ผŒๆ€Žไนˆ่ฏปๅพ€ๅพ€ๆฏ”่ฏปไป€ไนˆๆ›ด้‡่ฆใ€‚ๆœฌๆ–‡ๆ€ป็ป“ไบ†้ซ˜ๆ•ˆ้˜…่ฏป็š„โ€œไธ‰่ฆโ€ไธŽโ€œไธ‰ไธ่ฆโ€๏ผšไปŽๅฎŒๆ•ด้˜…่ฏป่ง‚ๆ‘ฉๅคงๅธˆๆ€็ปดใ€ๅธฆ็€้—ฎ้ข˜ๆž„ๅปบ็Ÿฅ่ฏ†ๆ ‘๏ผŒๅˆฐ้€š่ฟ‡่ฎจ่ฎบๆฃ€้ชŒ็†่งฃ๏ผ›ๅŒๆ—ถๆ้†’้˜…่ฏป่€…่ญฆๆƒ•ๅ“€ๆ€จๅฟƒๆ€ๅฏน้˜…่ฏปๅˆ่กท็š„ๅผ‚ๅŒ–ใ€้ฟๅ…้™ทๅ…ฅๅฏน็‰ฉ็†ๅช’ไป‹็š„โ€œ็Žฉ็‰ฉไธงๅฟ—โ€๏ผŒไปฅๅŠๅˆ‡ๅฟŒ่„ฑ็ฆป็Žฐๅฎž็š„โ€œ็œŸ็ฉบโ€้˜…่ฏปใ€‚้˜…่ฏปไธไป…ๆ˜ฏๅ‘ๅ†…ๆŽข็ดข็š„็ฒพ็ฅžไน‹ๆ—…๏ผŒๆ›ดๆ˜ฏๅ‘ๅค–็†่งฃ็œŸๅฎžไธ–็•Œใ€ๅˆ›้€ ็คพไผšไปทๅ€ผ็š„ๅฎž็”จๅทฅๅ…ทใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/reading_need.png\",\"permalink\":\"/pages/growth/reading-tips\",\"sticky\":1,\"top\":true,\"categories\":[\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\"],\"tags\":[\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ฏปไนฆโ€œไธ‰่ฆโ€ๅ’Œโ€œไธ‰ไธ่ฆโ€\",\"date\":\"2025-03-06 11:42:20\",\"capture\":\"<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/reading_need.png\\\" style=\\\"width: 100%; border-radius: 8px; margin-bottom: 20px;\\\" alt=\\\"about site background\\\">\\n 1. ๆˆ‘ไปฌไธบไป€ไนˆ้œ€่ฆ่ฏปไนฆ๏ผŸ\\n่ฏปไนฆๆ˜ฏไปŽๅค–็•ŒๆŽฅๅ—ไฟกๆฏ็š„ไธ€็งๆ–นๅผ๏ผŒไธŽ่Šๅคฉใ€ๆต่งˆ็ฝ‘้กตใ€ๅฌๆ’ญๅฎขใ€็œ‹็”ต่ง†ๅนถๆ— ๆœฌ่ดจๅŒบๅˆซใ€‚ไฝ†ไนฆ่ฟ™็งๅช’ไป‹ไธŽๅ…ถไป–ไฟกๆฏๅช’ไป‹็›ธๆฏ”๏ผŒๆœ‰ๅ…ถ็‹ฌๆœ‰็š„ไผ˜ๅŠฟ๏ผš\\n- ๆทฑๅบฆไธŽไธฅ่ฐจ๏ผšไนฆ็ฑๅพ€ๅพ€ๆ˜ฏๅˆ›ไฝœ่€…ๅคšๅนดๆ€่€ƒใ€้•ฟๆœŸ\"}],\"ไธชไบบๆˆ้•ฟ\":[{\"url\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"relativePath\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"frontmatter\":{\"date\":\"2024-01-15 22:16:00\",\"title\":\"่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไนฆๆŽฅไธŠๆ–‡ใ€Šๅ‘ๅ†…ๆ€ๅ˜ใ€‹๏ผŒๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ๅœจๅŽ็–ซๆƒ…ๆ—ถไปฃไปŽโ€œ้—ญๅ…ณโ€่ตฐๅ‘โ€œๅ‘ๅค–ไฝ“้ชŒโ€็š„ๅฐ่ฏ•ไธŽๅฟƒๅพ—ใ€‚้ขๅฏนๆœบๆขฐๆ‰ง่กŒๅธฆๆฅ็š„โ€œ็›ฎๆ ‡้šง้“โ€ๆ•ˆๅบ”๏ผŒ็ฌ”่€…ๅฐ่ฏ•่ทณๅ‡บๅ•ไธ€็š„็บฟๆ€ง่ง„ๅˆ’๏ผŒ่ฝฌ่€Œๅฏปๆฑ‚ๆ›ดๅบ•ๅฑ‚็š„่ฎค็Ÿฅ้€ป่พ‘ใ€‚ๆ–‡็ซ ้€š่ฟ‡้‡่ฏปใ€Š่ฆไบ‹็ฌฌไธ€ใ€‹ๅปบ็ซ‹ๅนณ่กก่ง‚๏ผŒๅˆฉ็”จ็ณป็ปŸๆ€็ปด๏ผˆๅขžๅผบ/่ฐƒ่Š‚ๅ›ž่ทฏ๏ผ‰ๆž„ๅปบๆดžๅฏŸๅŠ›๏ผŒๅนถ้‡ๆ–ฐๆ‹พ่ตทๆ•ฐๅญฆๆ€็ปด๏ผˆๆฆ‚็އใ€็จ€็–ๆ€งใ€ๅคšๆ ทๆ€ง๏ผ‰ไธŽ AI ่ง†่ง’ใ€‚่ฟ™ๆ˜ฏไธ€ๆฌกๅ…ณไบŽๅฆ‚ไฝ•็”จ็ง‘ๅญฆๆจกๅž‹ๆ›ฟไปฃๆœบๆขฐๆ‰ง่กŒ๏ผŒไปŽๆœฌ่ดจไธŠ้‡ๆž„ไธชไบบ่ฎค็Ÿฅไฝ“็ณป็š„ๆทฑๅบฆๅค็›˜ใ€‚\",\"permalink\":\"/growth/outer-experience\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/outer_experience_bg.png\",\"sticky\":1,\"top\":true,\"tags\":[\"็ณป็ปŸๆ€็ปด\",\"ๆ•ฐๅญฆๆ€็ปด\",\"ๆจกๅž‹ๆ€็ปด\",\"AI\",\"็–ซๆƒ…\"],\"categories\":[\"ไธชไบบๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"date\":\"2024-01-15 22:16:00\",\"capture\":\"1. ๅ†™ๅœจๅ‰้ข\\nๆ—ถๅ…‰่่‹’๏ผŒ็–ซๆƒ…ๅทฒ็ป็”ฑๆ”พๅผ€็Šถๆ€็ปง็ปญๆผ”ๅ˜ไธบ่ฟ‡ๅŽปๅผ็Šถๆ€๏ผŒๆˆ‘ไปฌไบบ็ฑปไนŸไปŽใ€Ž้—ญๅ…ณใ€่ตฐๅ‘ไบ†ใ€Ž่‡ช็”ฑใ€็š„็คพไผš็”Ÿๆดป็Šถๆ€ใ€‚็ฌ”่€…ไฝœไธบ็คพไผšไธญ็š„ๆ™ฎ้€šไธ€ๅ‘˜๏ผŒ่‡ช็„ถไนŸไธ็ฆปๅค–๏ผŒๅœจ 2023 ๅนดๅˆๆด‹ๆด‹ๆด’ๆด’ๅ†™ไบ†ไธ€็ฏ‡ๅœจๅฅๅบทใ€่ฏปไนฆไธŽๅญฆไน ใ€ๆ—ถ้—ด็ฎก็†ๅ’Œๆททๅˆๅทฅไฝœๅˆถๅ‡ ไธชๆ–น้ข็š„ๅฎž่ทตไธŽ็†่งฃ๏ผˆๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ๏ผ‰๏ผŒๅฐฑๅผ€ๅผ€ๅฟƒๅฟƒๅœฐๅ‘ๅ‰็œ‹๏ผŒๅญฆ็€ๅ‘ๅค–ไฝ“้ชŒไบ†ใ€‚\\n้‚ฃไนˆ้—ฎ้ข˜ๆฅไบ†๏ผŒ็›ธๆฏ”ไน‹ๅ‰ๅ†™ๅ‡บ้•ฟๆ–‡๏ผŒ็ฌ”่€…ๅˆๆ˜ฏ่ฟ‘ไธ€ๅนดๆฒกๆœ‰ๅ‘ๅค–่พ“ๅ‡บ่ฝฏๆ–‡ไบ†ใ€‚ๅ› ๆญค๏ผŒไนฆๆŽฅไธŠๆ–‡๏ผŒๆœฌๆฌก็ปง็ปญๆ–ฐๅขžไธ€็ฏ‡ไธญ็Ÿญๆ–‡๏ผŒๆผซ่ฐˆไธ€ไธ‹็–ซๆƒ…ๅŽ็š„ๅ‘ๅค–ไฝ“้ชŒใ€‚\\nๅœจๅ€’้€ผ่‡ชๅทฑๅ…ณๆณจ่บซไฝ“ๅฅๅบทๅ’Œๆ—ถ้—ด็ฎก็†ๅŽ๏ผŒ่™ฝ็„ถๅœจไฝ“้‡ๅ’Œๆ•ˆ็އไธคไธชๆ–น้ขๆœ‰ไธ€ๅฎš็š„ๆญฃๅ‘ๆ•ˆๆžœ๏ผŒไฝ†็ฌ”่€…ๅœจ่ฟž็ปญๅšๆŒ่ฝๅœฐๆ‹†่งฃๅ‡บๆฅ็š„็›ฎๆ ‡่ฟ‡็จ‹ไธญ๏ผŒๆœ‰ๆ—ถ\"},{\"url\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"relativePath\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"frontmatter\":{\"date\":\"2023-01-08 10:23:50\",\"title\":\"ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅฆ‚ไฝ•้ฟๅ…ๅ†…่€—๏ผŸๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ไธ‰ๅนด้—ด็š„โ€œ่‡ชๆˆ‘้‡ๆž„โ€ๅฎž้ชŒใ€‚ๆ–‡็ซ ๆ‘’ๅผƒไบ†ๅ•็บฏ็š„ๆƒ…็ปชๅฎฃๆณ„๏ผŒ่€Œๆ˜ฏๅˆฉ็”จๅˆ†่งฃๆณ•ใ€ๆธ่ฟ›ๆ˜Ž็ป†ๅ’Œ็ปŸ่ฎกๅˆ†ๆž็ญ‰ๅทฅ็จ‹ๆ€็ปด๏ผŒๅฏนๅฅๅบท้ฅฎ้ฃŸใ€็Ÿฅ่ฏ†ไฝ“็ณปใ€ๆ—ถ้—ดๅˆ†้…ๅŠ่ฟœ็จ‹ๅไฝœ่ฟ›่กŒไบ†็ณป็ปŸๅŒ–ๆ”น้€ ใ€‚่ฟ™ๆ˜ฏไธ€ไปฝๅ…ณไบŽๅฆ‚ไฝ•ๅœจๆ— ๅธธ็š„ๅค–้ƒจ็Žฏๅขƒไธญ๏ผŒๅปบ็ซ‹ๅ†…ๅœจ็กฎๅฎšๆ€ง็งฉๅบ็š„่กŒๅŠจๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/growth/inner-experience\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/refactor_life.png\",\"sticky\":1,\"top\":true,\"categories\":\"ไธชไบบๆˆ้•ฟ\",\"tags\":[\"ๅฅๅบท\",\"ๆ—ถ้—ด\",\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\",\"่ฟœ็จ‹ๅไฝœ\",\"็–ซๆƒ…\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"date\":\"2023-01-08 10:23:50\",\"capture\":\"<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/refactor_life.png\\\" alt=\\\"็›ฎๆ ‡ๅˆฐ่ทต่กŒๆ€็ปดๆต็จ‹็คบๆ„ๅ›พ\\\" style=\\\"width: 100%; border-radius: 8px;\\\" />\\n ๅ†™ๅœจๅ‰้ข\\n่‡ชๅŽปๅนด 7 ๆœˆไปฝ่ฟ็งปๅ‡ ็ฏ‡ๆ—งๆ–‡ๅŽ๏ผŒ็ฌ”่€…ๅฐฑๆฒกๆœ‰็ปง็ปญๅ†™่ฝฏๆ–‡ไบ†๏ผŒๆƒณไธๅˆฐๅ†ๆฌกๅ†™ๆ–‡็ซ ๆ—ถ็–ซๆƒ…ๆ”ฟ็ญ–ๅทฒ็ป่ฐƒๆ•ด๏ผŒไธ”ๅˆๆญฅๅฎž็Žฐไบ†ๅผ€ๆ”พใ€‚้‚ฃไนˆ้—ฎ้ข˜ๆฅไบ†๏ผŒไธบไป€ไนˆ่ฆ็ปง็ปญๅ†™ๆ–‡็ซ ๅ‘ข๏ผŸๆฆ‚ๆ‹ฌๆฅ่ฎฒ๏ผŒๆœ‰ไธคไธชๆ–น้ข็š„ๅŽŸๅ› ๏ผš\\n* ็›ดๆŽฅๅŽŸๅ› ๏ผš็–ซๆƒ…่ฟ™ไธ‰ๅนด๏ผŒๆฏไธชไบบ้ƒฝไฝ“้ชŒๅˆฐไบ†ไธๅŒไบŽไน‹ๅ‰็š„ โ€œ้šพโ€๏ผŒไนŸ้ƒฝๆœ‰\"},{\"url\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/20.ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹้˜ถๆฎต้š็ฌ”ๆฑ‡ๆ€ป\",\"relativePath\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/20.ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹้˜ถๆฎต้š็ฌ”ๆฑ‡ๆ€ป\",\"frontmatter\":{\"date\":\"2022-09-12 08:16:00\",\"title\":\"็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ”นๅ–„็š„ๆ–นๅผๆŽจๅŠจๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไปŽโ€œไนฆ็”Ÿๆ„ๆฐ”โ€ๅˆฐๅˆๅ…ฅ็คพไผš็š„โ€œไธญๅนดๆฒน่…ปโ€ๅฑๆœบ๏ผŒไธ€ๆฌกๅฅๅบท่ญฆๆŠฅ่ฎฉ็ฌ”่€…ๅผ€ๅฏไบ†่ฟ™ๅœบๆทฑๅˆป็š„่‡ชๆˆ‘ๅฏน่ฏไธŽ่กŒๅŠจใ€‚ๆœฌๆ–‡่ฏฆ็ป†ๅค็›˜ไบ†็ฌ”่€…ไปŽๅฅๅบทๅฑๆœบๅ‡บๅ‘๏ผŒ้€š่ฟ‡ๅ››ไธช้˜ถๆฎต็š„ๅพชๅบๆธ่ฟ›๏ผŒๆˆๅŠŸๅฎž็Žฐไฝ“้‡็ฎก็†็š„่ฟ‡็จ‹ใ€‚ๅŒบๅˆซไบŽ็›ฒ็›ฎ่ทŸ้ฃŽ๏ผŒ็ฌ”่€…ๅœจๅฎž่ทตไธญๅผ•ๅ…ฅไบ†็›ฎๆ ‡ๆ‹†่งฃใ€ๆ•ฐๆฎ็›‘ๆŽง๏ผˆไฝ“่„‚็งคๆŒ‡ๆ ‡๏ผ‰ใ€่ทจ้ข†ๅŸŸ็ป้ชŒ่ฟ็งป๏ผˆๅฆ‚้กน็›ฎ็ฎก็†ใ€ๆ—ถ้—ด็ฎก็†๏ผ‰ไปฅๅŠๅฏนไธๅŒ็ญ–็•ฅ๏ผˆๅฆ‚ๆŽงๅˆถ้ฅฎ้ฃŸใ€ๅŠ ๅคงๆ— ๆฐง่ฟๅŠจใ€ๅฐ่ฏ•ไธๅƒไธป้ฃŸ๏ผ‰็š„่พฉ่ฏ้‡‡็บณใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ไปฝๅ‡่‚ฅ่ฎฐๅฝ•๏ผŒๆ›ดๆ˜ฏไธ€ๆฌก็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ€็ปด้‡ๆž„็”Ÿๆดป็งฉๅบใ€ๅฎž็Žฐ่บซๅฟƒๅ‡็บง็š„ๅฎžๆ“ๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/growth/weight-loss\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/health_bg.png\",\"top\":true,\"tags\":[\"ๅฅๅบท\",\"่ฟๅŠจ\"],\"categories\":[\"ไธชไบบๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ”นๅ–„็š„ๆ–นๅผๆŽจๅŠจๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹\",\"date\":\"2022-09-12 08:16:00\",\"capture\":\"ๅ†™ๅœจๅ‰้ข\\nๅœจ็ปๆตŽๅฟซ้€Ÿๅ‘ๅฑ•็š„ๅคง่ƒŒๆ™ฏไธ‹๏ผŒไธ€ๆ‰นๅˆไธ€ๆ‰น็š„ๅคงๅญฆ็”Ÿ้™†็ปญ่ตฐๅ‡บๆ ก้—จ่ฟ›ๅ…ฅ็คพไผšๅคง่ˆžๅฐใ€‚้š็€ๅนด้พ„ไธŽๅทฅไฝœๅนด้™็š„ๅขž้•ฟ๏ผŒไธ็Ÿฅ็ฝฎ่บซไบŽๅ…ถไธญ็š„ไฝ ๆ˜ฏๅฆๆ„Ÿๆ…จ่ฟ‡่‡ชๅทฑๅœจ้˜…ๅކไธŠไปŽโ€œไนฆ็”Ÿๆ„ๆฐ”โ€ๆธๆธๆผ”ๅ˜ไธบโ€œๅ››ๅนณๅ…ซ็จณ๏ผŒๆธธๅˆƒๆœ‰ไฝ™โ€๏ผ›ๅœจ่บซไฝ“ๅ…ปๆŠคๆ–น้ขไปŽโ€œ่บซๆๆ— ๆ•Œ๏ผŒๅนด้พ„ๆˆ่ฟท๏ผŒๅฎžๆ‰“ๅฎžไธ€ไธชไผ ๅฅ‡โ€ๆผ”ๅ˜ไธบโ€œไธญๅนดๆฒน่…ปโ€ใ€‚ๆฏไธชไบบๅคšๅฐ‘้ƒฝๆœ‰่‡ชๅทฑ็š„็ญ”ๆกˆ๏ผŒ็ฌ”่€…็š„็ญ”ๆกˆๆ˜ฏ๏ผš่ตฐๅ‡บๆ ก้—จ่ฟ›ๅ…ฅ็คพไผšๅŽ๏ผŒๅฝ“ๅˆๅฏน่บซ่พนไบบๆœ‰็‚น่‹›ๅˆป๏ผŒ้‡ไบ‹็ซๆ€ฅ็ซ็‡Ž็š„่‡ชๅทฑ้€ๆธๅพ—ๅˆฐไบ†ๆ”นๅ–„ใ€‚่บซไฝ“ๅดๅ› ๅŽŸๆœฌๅœจๅคงๅญฆๆ—ถๆฒกๆœ‰ๆ€Žไนˆๅœจๆ„๏ผŒ็ป่ฟ‡้•ฟๅนด็ดฏๆœˆๅœฐๆด—็คผไบฎไบ†ไธ€ๆฌกๅฐ็บข็ฏใ€‚ๅœจๅบทๅคๆœŸ้—ด๏ผŒไธๆญขไธ€ๆฌกๅๆ€่ฟ‡ไน‹ๅ‰็š„็”Ÿๆดปๆ–นๅผๅ’Œๅ…ฅไธ–ๆจกๅผ๏ผŒๆƒณไธ€ๆƒณ + ๅ››ๅค„็œ‹ไธ€็œ‹ๅŽ๏ผŒๆ…ขๆ…ขไนŸๅฐฑๅผ€ๆ‚Ÿไบ†๏ผŒ่‡ช็„ถ่ฆๅฏๅŠจไธ€ไบ›ๆ”นๅ˜ๅฐ่ฏ•ใ€‚\\nๅ› ๆญค๏ผŒไนŸๅฐฑๆœ‰ไบ†่ฟ™็ฏ‡ๅ‡่‚ฅ่ฟ™ไปถ\"}],\"ai-practice\":[{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/00.AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/00.AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ\",\"frontmatter\":{\"title\":\"AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"date\":\"2026-03-15 16:00:00\",\"description\":\"ๅ…จๆ™ฏๅผ AI ๅญฆไน ไธŽๅฎž่ทต็Ÿฅ่ฏ†ๅบ“๏ผŒ็ณป็ปŸๆฒ‰ๆท€ AI Agent ่ฎพ่ฎกๆจกๅผใ€ๅคงๆจกๅž‹ๅทฅ็จ‹ๅŒ–่ฝๅœฐใ€ๅผ€ๆบๅฐ้กน็›ฎๅŠ็คพๅŒบๆดปๅŠจ็ป้ชŒๆ€ป็ป“๏ผŒๆŒ็ปญ่ฟญไปฃไปŽ็†่ฎบๅˆฐ็”Ÿไบง็š„ๅฎŒๆ•ดๆ–นๆณ•่ฎบใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/llm_learning_bg_1.png\",\"permalink\":\"/ai-learning/overview\",\"categories\":[\"ai-practice\"],\"tags\":[\"AI\",\"LLM\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"date\":\"2026-03-15 16:00:00\",\"capture\":\"<!-- ็ฒพ้€‰ไธ“้ข˜ --\\n<script setup>\\nimport ArticleCardList from '@fragment/components/ArticleCardList.vue'\\nimport { aiLearningCategories } from '@fragment/data/ai-learning-data'\\n</script>\\n<ArticleCardList :categories=\\\"aiLearningCategories\\\" />\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/01.Agentๆฆ‚่งˆไธŽ็ปผ่ฟฐ\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/01.Agentๆฆ‚่งˆไธŽ็ปผ่ฟฐ\",\"frontmatter\":{\"date\":\"2026-02-12 22:31:00\",\"title\":\"ไปŽๆ็คบ่ฏๅˆฐๆ•ฐๅญ—ๅ‘˜ๅทฅ๏ผšAI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšAI ็š„่ฟ›ๅŒ–ๆญฃ็ปๅކไปŽโ€œๅฏน่ฏๆก†โ€ๅ‘โ€œๆ•ฐๅญ—ๅ‘˜ๅทฅโ€็š„ๆ นๆœฌๆ€ง่ทจ่ถŠใ€‚ๆœฌๆ–‡ๆ˜ฏไธ€็ฏ‡ๅ…ณไบŽ AI Agent ็š„ๅ…จๆ™ฏๆทฑๅบฆ็ปผ่ฟฐ๏ผŒๆ—จๅœจ่งฃๆž„ๆ™บ่ƒฝไฝ“ๅฆ‚ไฝ•ไปŽ็ฎ€ๅ•็š„ Prompt ๅ“ๅบ”่€…๏ผŒๆผ”ๅ˜ไธบๅ…ทๅค‡่‡ชไธป็›ฎๆ ‡ๆ‹†่งฃใ€้•ฟ็ŸญๆœŸ่ฎฐๅฟ†ไธŽๅคๆ‚็Žฏๅขƒไบคไบ’่ƒฝๅŠ›็š„โ€œๆ‰ง่กŒ่€…โ€ใ€‚ๆˆ‘ไปฌๅฐ†ๆทฑๅบฆๆ‹†่งฃ Agent ็š„ๅ››ๅคงๆŠ€ๆœฏๅŸบ็Ÿณ๏ผˆ่ง„ๅˆ’ใ€่ฎฐๅฟ†ใ€ๅทฅๅ…ทใ€่กŒๅŠจ๏ผ‰๏ผŒๅนถ่ฏฆ็ป†ๅ‰–ๆžไปŽ้€š็”จๅž‹ Agent ๅˆฐๅคšๆ™บ่ƒฝไฝ“ๅไฝœ๏ผˆMAS๏ผ‰ใ€ๅ†ๅˆฐ่ฟˆๅ‘ Agent OS ๆ—ถไปฃ็š„ OpenClaw ็ญ‰ไบ”ๅคงๆผ”่ฟ›ๅฝขๆ€ใ€‚ไธไป…ๆŽข่ฎจไบ†ๆŠ€ๆœฏๆžถๆž„็š„ๅฎž็Žฐ๏ผŒๆ›ดๆญ็คบไบ†่ฝฏไปถๅทฅ็จ‹ไปŽโ€œไปฅไบบไธบไธญๅฟƒโ€ๅ‘โ€œไปฅ AI ไธบไธญๅฟƒโ€็š„่Œƒๅผ้ฉๅ‘ฝโ€”โ€”ๅœจ Agent ้ฉฑๅŠจ็š„ๆ–ฐ็บชๅ…ƒ๏ผŒๆ ธๅฟƒ็ซžไบ‰ๅŠ›ๅฐ†ไธๅ†ๆ˜ฏไปฃ็ ้‡๏ผŒ่€Œๆ˜ฏ่ฐƒๅบฆ AI ้—ญ็Žฏ่งฃๅ†ณไธšๅŠก้—ฎ้ข˜็š„่ƒฝๅŠ›ใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/llm_learning_bg_1.png\",\"permalink\":\"/ai-agent/overview\",\"top\":true,\"categories\":[\"ai-practice\"],\"tags\":[\"AI Agent\",\"Agent\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไปŽๆ็คบ่ฏๅˆฐๆ•ฐๅญ—ๅ‘˜ๅทฅ๏ผšAI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐ\",\"date\":\"2026-02-12 22:31:00\",\"capture\":\"1. ไป€ไนˆๆ˜ฏ Agent๏ผŸโ€”โ€”ไปŽโ€œๅทฅๅ…ทโ€ๅˆฐโ€œๅฎžไฝ“โ€็š„่ฟ›ๅŒ–\\n> ๆ ธๅฟƒ้€ป่พ‘๏ผš็Žฐไปฃ Agent ็š„ๆœฌ่ดจๆ˜ฏ \\\"LLM (ๅคง่„‘) + ่ง„ๅˆ’ไธŽ่ฎฐๅฟ† (ๅฐ่„‘) + ๅทฅๅ…ท่ฐƒ็”จ (ๆ‰‹่„š)\\\"ใ€‚LLM ็š„ๆตท้‡็Ÿฅ่ฏ†ๅ‚จๅค‡่ฎฉ Agent ่ƒฝๅคŸ็ฒพๅ‡†็†่งฃๅคๆ‚ๆŒ‡ไปค๏ผŒๅนถๅฐ†ๅ…ถ่ฝฌๅŒ–ไธบๅฎž้™…่กŒๅŠจใ€‚\\nๅœจ AI ้ข†ๅŸŸ๏ผŒAgent๏ผˆๆ™บ่ƒฝไฝ“๏ผ‰ ๅนถ้žไธ€ไธชๆ–ฐๆฆ‚ๅฟต๏ผŒไฝ† LLM๏ผˆๅคง่ฏญ่จ€ๆจกๅž‹๏ผ‰็š„็ˆ†ๅ‘่ต‹ไบˆไบ†ๅฎƒ็œŸๆญฃ็š„โ€œ็ต้ญ‚โ€ใ€‚็ฎ€ๅ•ๆฅ่ฏด๏ผŒAgent ๆ˜ฏไธ€็ง่ƒฝๅคŸๆ„Ÿ็Ÿฅ็Žฏๅขƒใ€่‡ชไธปๅ†ณ็ญ–ๅนถๆ‰ง่กŒไปปๅŠก็š„ๆ™บ่ƒฝๅฎžไฝ“ใ€‚\\nๅฆ‚ๆžœ่ฏดไผ ็ปŸ็š„ AI ๆ˜ฏไธ€ไธชโ€œ้—ฎ็ญ”ๆœบโ€๏ผŒ้‚ฃไนˆ Agent ๅฐฑๆ˜ฏไธ€ไธชโ€œๆ‰ง่กŒ่€…โ€ใ€‚ๅฎƒๅ…ทๅค‡ไปฅไธ‹ๅ››ๅคงๆ ธๅฟƒ็‰น่ดจ๏ผš\\n* ่‡ชไธปๆ€ง (Autonomy)๏ผš ๆ— ้กปๆ—ถๅˆป็›ฏ็€๏ผŒ่ฎพๅฎš\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/60.ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/60.ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹\",\"frontmatter\":{\"date\":\"2024-06-14 22:00:00\",\"title\":\"ไธ€ๆฌก็”ฑ Product Sense ้ฉฑๅŠจ็š„ Agent ๆž้™ๅฎž่ทต\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšAI ๆ—ถไปฃ๏ผŒๅ†™ๅฅฝไปฃ็ ๅชๆ˜ฏๅŠๆ ผ็บฟใ€‚ๅœจไธ€ๆฌกๆž้™ๆŒ‘ๆˆ˜่ต›ไธญ๏ผŒๆˆ‘ไปฌ้€š่ฟ‡ๅฏน K12 ่ต›้“็”จๆˆท็—›็‚น็š„็ฒพๅ‡†โ€œ่ง†่ง’ๅˆ‡ๆขโ€๏ผŒๆ‰“้€ ๅ‡บไธ€ๆฌพๆŽˆไบบไปฅๆธ”็š„โ€œๆ•ฐๅญฆ่พ…ๅฏผๅฏผๅธˆโ€ๅนถๆ–ฉ่Žทๅคงๅฅ–ใ€‚ๆœฌๆ–‡ๅค็›˜ไบ† Agent ๆญๅปบ่ƒŒๅŽ็š„ๆ ธๅฟƒ SOP ่ฎพ่ฎก้€ป่พ‘๏ผšๆŠ€ๆœฏ็ปˆ็ฉถ่ฆๅ›žๅฝ’ๅฏน็œŸๅฎžไบบๆ€ง็š„ไฝ“ๅฏŸไธŽๅ…ณๆ€€ใ€‚\",\"coverImg\":\"/img/cover/llm_learning_bg_2.png\",\"permalink\":\"/ai-practice/math-bot\",\"categories\":[\"ai-practice\"],\"tags\":[\"Agent\",\"ไบงๅ“ Sense\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไธ€ๆฌก็”ฑ Product Sense ้ฉฑๅŠจ็š„ Agent ๆž้™ๅฎž่ทต\",\"date\":\"2024-06-14 22:00:00\",\"capture\":\"ๅœจๅˆšๅˆš่ฟ‡ๅŽป็š„ๅ‘จๆœซ๏ผŒๆˆ‘ๅ’Œๅฅฝๅ‹ๅ‚ๅŠ ไบ†ไธ€ๅœบ็”ฑๅƒๅธ† Agent ไธพๅŠž็š„็บฟไธ‹็คพๅŒบๆดปๅŠจใ€‚่ฟ™ๆ˜ฏไธ€ๅœบๅ……ๆปกๆžๅฎข็ฒพ็ฅž็š„โ€œๆž้™ๆŒ‘ๆˆ˜โ€โ€”โ€”ๆˆ‘ไปฌ้œ€่ฆๅœจๆžๅ…ถๆœ‰้™็š„ๆ—ถ้—ดๅ†…๏ผŒไปŽ้›ถๅผ€ๅง‹ๆž„ๆ€ใ€ๆญๅปบๅนถ็Žฐๅœบๅฑ•็คบไธ€ไธชๅฎŒๆ•ด็š„ Agent ๅบ”็”จใ€‚\\nไปคไบบๆƒŠๅ–œ็š„ๆ˜ฏ๏ผŒๆˆ‘ไปฌไธไป…้กบๅˆฉๅฎŒๆˆไบ†ๆž้™ๅผ€ๅ‘๏ผŒๆœ€็ปˆ่ฟ˜ๆ–ฉ่Žทไบ†ๅ…จๅœบ็š„ใ€Œๆœ€ไฝณๅบ”็”จๅฅ–ใ€ใ€‚\\nๅค็›˜่ฟ™ๆฌก็Ÿญๆš‚ๅด้ซ˜ๅฏ†ๅบฆ็š„ๅผ€ๅ‘ไฝ“้ชŒ๏ผŒๆœ€ๅคง็š„ๆ„Ÿ่งฆๆ˜ฏ๏ผšๅœจ AI ๆ—ถไปฃ๏ผŒๅ•็บฏ็š„ๅทฅ็จ‹ๅฎž็Žฐๅทฒ็ปไธๅ†ๆ˜ฏๅ”ฏไธ€็š„ๅฃๅž’๏ผŒ็œŸๆญฃ่ฎฉๅบ”็”จ่„ฑ้ข–่€Œๅ‡บ็š„๏ผŒๆ˜ฏๅฏน็œŸๅฎžไธšๅŠกๅœบๆ™ฏ็š„ๆดžๅฏŸๅŠ›ใ€‚ๅฝ“ (Engineering + Product) ร— AI ็š„้ฃž่ฝฎๅผ€ๅง‹่ฝฌๅŠจๆ—ถ๏ผŒๆŠ€ๆœฏๆ‰่ƒฝ็œŸๆญฃ่ฝฌๅŒ–ไธบ่งฃๅ†ณ้—ฎ้ข˜็š„ๅˆฉๅ™จใ€‚\\nไปฅไธ‹ๆ˜ฏๅ…ณไบŽ่ฟ™ๆฌกโ€œK12 ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹โ€ Agent ๆญๅปบ็š„ๅฎž\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/70.่ฏ—ๆญŒๅฐ็ฒพ็ต\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/70.่ฏ—ๆญŒๅฐ็ฒพ็ต\",\"frontmatter\":{\"date\":\"2024-04-19 22:15:38\",\"title\":\"้›ถไปฃ็ ไธ็ญ‰ไบŽ้›ถ้€ป่พ‘๏ผš็ป“ๆž„ๅŒ– Prompt ้ฉฑๅŠจไธ‹็š„ Agent ๆญๅปบๅฎžๆˆ˜\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจ Agent ๆฆ‚ๅฟตๆปกๅคฉ้ฃž็š„ๅฝ“ไธ‹๏ผŒๅ†ณๅฎšๅคงๆจกๅž‹ๅฎž้™…่กจ็Žฐ็š„ๅพ€ๅพ€ๆ˜ฏๆœ€ๅบ•ๅฑ‚็š„ System Prompt ่ฎพ่ฎกใ€‚ๆœฌๆ–‡่ฎฐๅฝ•ไบ†ๅ‘จๆœซๅˆฉ็”จๆ–‡ๅฟƒๆ™บ่ƒฝไฝ“ๅนณๅฐๆญๅปบโ€œ่ฏ—ๆญŒๅฐ็ฒพ็ตโ€็š„ๅฎŒๆ•ดๅฎž่ทตใ€‚้€š่ฟ‡ๅฏนๆฏ”โ€œไผ ็ปŸๅคงๆฎตๆ–‡ๆœฌโ€ไธŽโ€œLangGPT ็ป“ๆž„ๅŒ–โ€ไธค็ง Prompt ็š„ๅฎž้™…่พ“ๅ‡บ๏ผŒๆทฑๅบฆๆ‹†่งฃไบ†็ป“ๆž„ๅŒ– Prompt ๅฆ‚ไฝ•ๅƒโ€œๅ†™ไปฃ็ โ€ไธ€ๆ ท่ง„่Œƒ AI ็š„ๆ€่€ƒๅทฅไฝœๆต๏ผŒๆœ‰ๆ•ˆ่งฃๅ†ณๆŒ‡ไปคๆผ‚็งปไธŽๅนป่ง‰้—ฎ้ข˜ใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ๆฌก Prompt ่ฐƒไผ˜ๅฎž้ชŒ๏ผŒๆ›ดๆ˜ฏไธ€ๅœบๅ…ณไบŽ AI ไบงๅ“ Sense ไธŽๆœชๆฅไบคไบ’ๅฝขๆ€็š„ๆŽข็ดขใ€‚\",\"coverImg\":\"/img/cover/llm_learning_bg_2.png\",\"categories\":[\"ai-practice\"],\"permalink\":\"/ai-practice/poetry-bot\",\"tags\":[\"Agent\",\"AI\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"้›ถไปฃ็ ไธ็ญ‰ไบŽ้›ถ้€ป่พ‘๏ผš็ป“ๆž„ๅŒ– Prompt ้ฉฑๅŠจไธ‹็š„ Agent ๆญๅปบๅฎžๆˆ˜\",\"date\":\"2024-04-19 22:15:38\",\"capture\":\"1. ๅฎž่ทต่ƒŒๆ™ฏ\\nๅ‘จๆœซๅœจ็คพๅŒบๆดปๅŠจไธญๅ†ๆฌกๅฌๅˆฐไบ† LangGPT ไฝœ่€…ไบ‘ไธญๆฑŸๆ ‘ๅ…ณไบŽโ€œ็ป“ๆž„ๅŒ–ๆ็คบ่ฏโ€็š„ๅˆ†ไบซ๏ผŒ่ฎฉไบบๆ„Ÿ่งฆ้ข‡ๆทฑใ€‚่™ฝ็„ถๅฝ“ๅ‰ Agent ๆฆ‚ๅฟต็ซ็ƒญ๏ผŒๅฑ‚ๅ‡บไธ็ฉท็š„ๆก†ๆžถ่ฎฉไบบ็œผ่Šฑ็ผญไนฑ๏ผŒไฝ†ๅ›žๅฝ’ๆœฌ่ดจๆˆ‘ไปฌๅฐฑไผšๅ‘็Žฐ๏ผšSystem Prompt ็š„ๅบ•ๅฑ‚่ฎพ่ฎกใ€ไธŠไธ‹ๆ–‡ๅทฅ็จ‹ไปฅๅŠๆŒ‡ไปค้ตๅพชๆœบๅˆถ๏ผŒๆ‰ๆ˜ฏๅ†ณๅฎšไธ€ไธช Agent ็ต้ญ‚็š„ๅ…ณ้”ฎใ€‚\\nๆญฃๅทงๅคงๅ›ข้˜Ÿ่‡ช็ ”็š„้›ถไปฃ็  Agent ๅนณๅฐ่ฟ‘ๆœŸๅ‘ๅธƒไบ†ๆ–ฐ็‰ˆๆœฌ๏ผŒไธบไบ†ไบฒๆต‹ๅนณๅฐๆ€ง่ƒฝๅนถๅฎžๆˆ˜ๆผ”็ปƒ็ป“ๆž„ๅŒ– Prompt ็š„็ผ–ๅ†™ๆŠ€ๅทง๏ผŒๆˆ‘ๅ†ณๅฎšๅˆ›ๅปบไธ€ไธชโ€œ่ฏ—ๆญŒๅฐ็ฒพ็ตโ€ Agentใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ไธช่ถฃๅ‘ณๅฎž้ชŒ๏ผŒๆ›ดๆ˜ฏไธบไบ†ๆŽข็ดข AI ๅœจๆ–‡ๅญฆๅˆ›ไฝœ่ฟ™็งโ€œๆ„Ÿๆ€ง้ข†ๅŸŸโ€ไธญ๏ผŒๅฆ‚ไฝ•้€š่ฟ‡โ€œ็†ๆ€ง็š„็ป“ๆž„็บฆๆŸโ€่พพๅˆฐๆ›ด้ซ˜็š„่พ“ๅ‡บไธŠ้™ใ€‚\\n 2. ๅนณๅฐไธŽ\"}],\"็ฝ‘็ปœไธŽ้€šไฟก\":[{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"frontmatter\":{\"date\":\"2026-03-05 16:54:35\",\"title\":\"ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"aliases\":[\"Server-Sent Events\",\"HTTP Streaming\"],\"tldr\":\"ๆทฑๅ…ฅ่งฃๆžๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผŒๆไพ›ไปŽๆฆ‚ๅฟตๅˆฐ็”Ÿไบงๅฎž่ทต็š„ๅฎŒๆ•ด่งฃๅ†ณๆ–นๆกˆใ€‚\",\"description\":\"่พจๆžๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ็š„ๆฆ‚ๅฟตไธŽๅฑ‚ๆฌกๅ…ณ็ณป๏ผŒ่ฏฆ่งฃๅฎขๆˆท็ซฏไธŽๆœๅŠก็ซฏๅฎž็Žฐๆ–นๆกˆ๏ผŒๆไพ›็”Ÿไบงๅฎž่ทตๅฎŒๆ•ดๆŒ‡ๅ—ใ€‚\",\"tags\":[\"tutorial\",\"SSE\",\"HTTP Streaming\",\"ๅ…จๆ ˆ\"],\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"permalink\":\"/fullstack/networking/sse-practice\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"date\":\"2026-03-05 16:54:35\",\"capture\":\"<script setup\\n import HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n> ๆ‘˜่ฆๆ€ป็ป“: ้’ˆๅฏนๅผ€ๅ‘่€…ๅฎนๆ˜“ๆททๆท†ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ็š„้—ฎ้ข˜๏ผŒไปŽๆฆ‚ๅฟตๅฑ‚ๆฌกๅ‡บๅ‘ๅŽ˜ๆธ…ไบŒ่€…ๆœฌ่ดจๅŒบๅˆซไธŽๅไฝœๅ…ณ็ณป๏ผŒๆŒ‡ๅ‡บๆตๅผ HTTP ๆ˜ฏๅบ•ๅฑ‚ไผ ่พ“ๆœบๅˆถ่€Œ SSE ๆ˜ฏๅบ”็”จๅฑ‚ๆ•ฐๆฎๆ ผๅผ็บฆๅฎšใ€‚ๆ–‡็ซ ไพๆฌกไป‹็ปๅŽŸ็”Ÿ EventSource APIใ€fetch + ReadableStream ่ฟ›้˜ถๆ–นๆกˆใ€@microsoft/fetch-event-source ๅทฅไธš็บงๅฎž็Žฐ็ญ‰ไธ‰็งๅฎขๆˆท็ซฏๆ–นๆกˆ๏ผŒๅนถไปฅ Nes\"},{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"frontmatter\":{\"date\":\"2026-02-25 22:10:48\",\"title\":\"HTTP ่ฝฎ่ฏขไผ˜ๅŒ–ๆŒ‡ๅ—๏ผš้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"tldr\":\"่ฏฆ่งฃ้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅฎž็ŽฐๅŽŸ็†๏ผŒๆไพ› HTTP ่ฝฎ่ฏขไผ˜ๅŒ–็ญ–็•ฅไธŽ้€‰ๅž‹ๅ†ณ็ญ–ๆ ‘ใ€‚\",\"description\":\"ๆทฑๅ…ฅๅ‰–ๆž้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๆ ธๅฟƒๆœบๅˆถ๏ผŒๆไพ› TypeScript/NestJS ๅฎžๆˆ˜ไปฃ็ ๏ผŒๅนถๆž„ๅปบๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–ๆ ‘ไธŽ้€‚็”จๅœบๆ™ฏ้€ŸๆŸฅใ€‚\",\"tags\":[\"HTTP ่ฝฎ่ฏข\",\"้€€้ฟ่ฝฎ่ฏข\",\"้•ฟ่ฝฎ่ฏข\"],\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"permalink\":\"/fullstack/networking-polling-optimization\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"HTTP ่ฝฎ่ฏขไผ˜ๅŒ–ๆŒ‡ๅ—๏ผš้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"date\":\"2026-02-25 22:10:48\",\"capture\":\"1. ๅผ•่จ€\\nๅœจ็Žฐไปฃ Web ๅผ€ๅ‘ไธญ๏ผŒWebSocket ๅ’Œ Server-Sent Events (SSE) ๅธธๅธธ่ขซ่ง†ไธบๅฎžๆ—ถ้€šไฟก็š„้“ถๅผนใ€‚็„ถ่€Œ๏ผŒHTTP ่ฝฎ่ฏข๏ผˆPolling๏ผ‰ไฝœไธบๆœ€ๆœด็ด ็š„ๅฎžๆ—ถ้€šไฟกๆ–นๆกˆ๏ผŒ้žไฝ†ๆฒกๆœ‰้€€ๅ‡บๅކๅฒ่ˆžๅฐ๏ผŒๅ่€Œๅœจ็‰นๅฎš็š„ๅคๆ‚ไธšๅŠกๅœบๆ™ฏไธญๅคงๆ”พๅผ‚ๅฝฉใ€‚\\n> ๐Ÿ“– ๅฆ‚ๆžœไฝ ๅฏน HTTP ่ฝฎ่ฏขๅœจๆ•ดไธช Web ้€šไฟกๅ่ฎฎไฝ“็ณปไธญ็š„ๅฎšไฝๅฐšไธๆธ…ๆ™ฐ๏ผŒๆŽจ่ๅ…ˆ้˜…่ฏป Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—๏ผŒไบ†่งฃ่ฝฎ่ฏขไธŽ็Ÿญ่ฟžๆŽฅใ€้•ฟ่ฟžๆŽฅใ€WebSocketใ€SSE ็ญ‰ๆ–นๆกˆ็š„ๆผ”่ฟ›ๅ…ณ็ณปไธŽ้€‚็”จ่พน็•Œ๏ผŒๅ†็ป“ๅˆๆœฌๆ–‡ๆทฑๅ…ฅๅฎž่ทตใ€‚\\nๅœจๅฝ“ๅ‰ไผ—ๅคš้กถ็บง็š„ AI AIGC ๅบ”็”จ๏ผˆๅฆ‚ Midjourne\"},{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-02-24 08:40:31\",\"title\":\"Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"tldr\":\"ๆทฑๅ…ฅๅˆ†ๆžไบ”็ง Web ้€šไฟกๅ่ฎฎ๏ผŒๆไพ› AI ๆ—ถไปฃ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—ไธŽๆœ€ไฝณๅฎž่ทตใ€‚\",\"description\":\"ๆทฑๅ…ฅๅ‰–ๆžไผ ็ปŸ HTTPใ€ๆตๅผ HTTPใ€SSEใ€WebSocketใ€Webhooksใ€HTTP ่ฝฎ่ฏข็š„ๅŽŸ็†ไธŽ็‰นๆ€ง๏ผŒ็ป“ๅˆ AI ๅœบๆ™ฏๆไพ›ๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–็Ÿฉ้˜ตใ€‚\",\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"tags\":[\"HTTP\",\"HTTP ่ฝฎ่ฏข\",\"SSE\",\"WebSocket\",\"Webhooks\"],\"permalink\":\"/fullstack/networking-protocol-selection-guide\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"date\":\"2026-02-24 08:40:31\",\"capture\":\"1. ๅผ•่จ€\\nHTTP ๆ˜ฏไธ€็งๅŸบไบŽๆ–‡ๆœฌ็š„้€šไฟกๅ่ฎฎ๏ผŒไธป่ฆ็”จไบŽ Web ๆต่งˆๅ™จใ€็งปๅŠจๅบ”็”จใ€ๆกŒ้ขๅบ”็”จ็ญ‰ๅฎขๆˆท็ซฏๅ’Œ Web ๆœๅŠกๅ™จไน‹้—ด็š„ๆ•ฐๆฎไผ ่พ“ใ€‚ไผ ็ปŸ HTTP ้‡‡็”จๅŒๆญฅ็š„่ฏทๆฑ‚-ๅ“ๅบ”ๆจกๅผ๏ผš`่ฏทๆฑ‚ -> ็ญ‰ๅพ… -> ๅฎŒๆ•ดๅ“ๅบ”`ใ€‚่ฟ™็งๆ–นๅผ่™ฝ่ƒฝๆปก่ถณๅคงๅคšๆ•ฐๅœบๆ™ฏ๏ผŒไฝ†ๅœจๅฎžๆ—ถๆ€ง่ฆๆฑ‚่พƒ้ซ˜็š„้ข†ๅŸŸโ€”โ€”ๅฆ‚ๆธธๆˆใ€่Šๅคฉใ€่ง†้ข‘ไผš่ฎฎ๏ผŒไปฅๅŠ AI ๆ—ถไปฃ็š„ๅฏน่ฏๅผๅบ”็”จโ€”โ€”ๅดๆ˜พๅพ—ๅŠ›ไธไปŽๅฟƒใ€‚\\nไธบ่งฃๅ†ณ่ฟ™ไธ€้—ฎ้ข˜๏ผŒไธš็•Œๅ‘ๅฑ•ๅ‡บไบ†ๅคš็งๅฎžๆ—ถ Web ้€šไฟกๆ–นๆกˆใ€‚ๆœฌๆ–‡ๅฐ†ๅ›ด็ป• ๆตๅผ HTTPใ€SSEใ€WebSocketใ€Webhooksใ€HTTP ่ฝฎ่ฏข ่ฟ™ไบ”็งไธปๆตๆŠ€ๆœฏ๏ผŒไปŽๅŽŸ็†ใ€็‰นๆ€งใ€้€‚็”จๅœบๆ™ฏๅ‡บๅ‘๏ผŒๆŽข่ฎจๅฎƒไปฌๅœจ็Žฐไปฃๅˆ†ๅธƒๅผๆžถๆž„ไธญ็š„้€‰ๅž‹็ญ–็•ฅไธŽๅทฅ็จ‹ๅฎž่ทตใ€‚\\n 2\"}],\"ๅ‰็ซฏๅทฅ็จ‹\":[{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-02-10 23:33:19\",\"title\":\"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ๅฝ“ AI ๆ‰ฟๆŽฅไบ† 30% ็š„็ผ–็ ๆ‰ง่กŒๆ—ถ๏ผŒๅผ€ๅ‘่€…้œ€้€š่ฟ‡โ€œ่ง„ๆ ผ้ฉฑๅŠจ๏ผˆSDD๏ผ‰โ€้‡ๅคบ 70% ็š„่ฎพ่ฎกไธปๆƒ๏ผšไปŽ่‡ชๆฒป็ป„ไปถๅˆ’ๅˆ†ๅˆฐๅ•ๅ‘ๆ•ฐๆฎๆตๆ‹“ๆ‰‘็š„ๆทฑๅบฆๆŽจๆผ”ใ€‚\",\"description\":\"ๆœฌๆ–‡ๆŽข่ฎจๅœจ AI ๅขžๅผบๅผ€ๅ‘่ƒŒๆ™ฏไธ‹๏ผŒๅฆ‚ไฝ•้‡ๅก‘ React ็ป„ไปถ่ฎพ่ฎกๅŽŸๅˆ™ใ€‚ๆถต็›– SRP ่Œ่ดฃๅˆ’ๅˆ†ใ€้™ๆ€็‰ˆๆœฌๅŸบ็บฟใ€ๆœ€ๅฐ็Šถๆ€๏ผˆDerived Data๏ผ‰ๆŽจๅฏผไปฅๅŠ SDD ไบบๆœบๅไฝœๆจกๅผ็š„ๅทฅ็จ‹่ฝๅœฐใ€‚\",\"tags\":[\"tutorial\",\"react\",\"component-design\",\"state-management\",\"ai-augmented\",\"specification-driven\"],\"permalink\":\"/fullstack/react-design-philosophy-ai-augmented\",\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-02-10 23:33:19\",\"capture\":\"<script setup\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n 1. ๅผ•่จ€\\nๅœจ่ฝฏไปถๅทฅ็จ‹ไธญ๏ผŒ็บฆ 70% ็š„ๆ—ถ้—ดๅบ”ๆŠ•ๅ…ฅไบŽๆžถๆž„่ฎพ่ฎกใ€้œ€ๆฑ‚ๆ‹†่งฃไธŽๆŽฅๅฃ่ฏญไน‰ๆŽจๆ•ฒ๏ผŒไป… 30% ็”จไบŽๅฎž้™…็ผ–็ ใ€‚่ฟ›ๅ…ฅ AI ๅไฝœๆ—ถไปฃๅŽ๏ผŒ่ฟ™ไธ€ๆฏ”ไพ‹ไพ็„ถๅšๅฆ‚็ฃ็Ÿณโ€”โ€”ๅผ€ๅ‘่€…ๅฟ…้กปๅ…ˆๅฎŒๆˆๆทฑๅบฆๆ€่€ƒ๏ผŒๅฐ†โ€œๆธ…ๆ™ฐ็š„้—ฎ้ข˜่ง„ๆ ผ๏ผˆSpecification๏ผ‰โ€ไบค็ป™ AI๏ผŒAI ๆ‰่ƒฝ่พ“ๅ‡บ้ซ˜่ดจ้‡ไปฃ็ ใ€‚<HighLightText type=\\\"note\\\" bold>AI ๆๅ‡็š„ๆ˜ฏ 30% ็ผ–็ ้˜ถๆฎต็š„ๆ‰ง่กŒๅŠ›๏ผŒ่€Œ้žๅ–\"},{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/11.React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/11.React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"frontmatter\":{\"date\":\"2025-11-15 09:20:23\",\"title\":\"ไธๆญขไบŽ Fetch๏ผšReact ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"aliases\":[\"SWR\",\"TanStack Query\",\"React\",\"ๆœๅŠก็ซฏ็Šถๆ€\",\"ไน่ง‚ๆ›ดๆ–ฐ\",\"ๅทฅ็จ‹ๅŒ–\"],\"tldr\":\"ๆทฑๅ…ฅ่งฃๆž SWR ็š„ๆž็ฎ€ๅ่ฎฎไธŽ TanStack Query ็š„็ฒพๅฏ†็Šถๆ€ๆœบใ€‚้€š่ฟ‡ๅฏนๆฏ”็ผ“ๅญ˜ๅคฑๆ•ˆใ€ไน่ง‚ๆ›ดๆ–ฐ็ญ‰ๆ ธๅฟƒๅœบๆ™ฏ๏ผŒไธบ้ซ˜ๅคๆ‚ๅบฆ B ็ซฏๅบ”็”จไธŽ่ฝป้‡็บง้กน็›ฎๆไพ›ๆธ…ๆ™ฐ็š„ๆžถๆž„้€‰ๅž‹ๆจกๅž‹ใ€‚\",\"description\":\"ๆทฑๅบฆๅฏนๆฏ” React ็”Ÿๆ€ไธญ SWR ไธŽ TanStack Query ไธคๅคงๆ–นๆกˆใ€‚ไปŽ stale-while-revalidate ๆœบๅˆถๅˆฐๅผ‚ๆญฅ็Šถๆ€ๆœบๆžถๆž„๏ผŒๆถต็›–ไพ่ต–ๆŸฅ่ฏขใ€ๆ•ฐๆฎ่ฝฌๆขๅŠๆžถๆž„็บงไน่ง‚ๆ›ดๆ–ฐๅฎžๆˆ˜ใ€‚ๆ—จๅœจๅธฎๅŠฉๅผ€ๅ‘่€…ๅœจๅคๆ‚ไธšๅŠกไธญๆž„ๅปบ็กฎๅฎšๆ€ง็š„ๆœๅŠก็ซฏ็Šถๆ€ๅŸบๅบงใ€‚\",\"permalink\":\"/fullstack/server-state-management\",\"tags\":[\"SWR\",\"TanStack Query\",\"ๅ‰็ซฏๅทฅ็จ‹\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไธๆญขไบŽ Fetch๏ผšReact ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"date\":\"2025-11-15 09:20:23\",\"capture\":\"1. ๅผ•่จ€\\nๅœจ็Žฐไปฃๅ‰็ซฏๅทฅ็จ‹ไธญ๏ผŒ็Šถๆ€ๅฏไธฅๆ ผๅŒบๅˆ†ไธบ UI ็Šถๆ€๏ผˆUI State๏ผ‰ ไธŽ ๆœๅŠก็ซฏ็Šถๆ€๏ผˆServer State๏ผ‰ ไธค็ฑปใ€‚ๅฏนไบŽ UI ็Šถๆ€็š„็ฎก็†๏ผŒๅผ€ๅ‘่€…ๅทฒ่พƒไธบ็†Ÿๆ‚‰๏ผŒ้€šๅธธๅฏๅ€ŸๅŠฉ `useState`ใ€`useEffect` ็ญ‰ Hooks๏ผŒๆˆ– `zustand`ใ€`jotai` ็ญ‰็Šถๆ€็ฎก็†ๅบ“ๆฅๅฎž็Žฐใ€‚็„ถ่€Œ๏ผŒๆœๅŠก็ซฏ็Šถๆ€็š„็ฎก็†ๅพ€ๅพ€็ผบไน็ปŸไธ€ไธ”้ซ˜ๆ•ˆ็š„่งฃๅ†ณๆ–นๆกˆ๏ผŒๅผ€ๅ‘่€…้€šๅธธ้œ€่ฆ่‡ช่กŒๅฎž็Žฐใ€‚\\nๅœจไผ ็ปŸ็š„ๆ•ฐๆฎ่Žทๅ–ๆต็จ‹ไธญ๏ผŒๆˆ‘ไปฌไธ€่ˆฌไฝฟ็”จ `fetch` ๆˆ– `axios` ๅ‘ๅŽ็ซฏๆˆ– REST API ๅ‘้€ HTTP ่ฏทๆฑ‚๏ผŒ้šๅŽๆ‰‹ๅŠจๅฐ†ๆ•ฐๆฎ่Žทๅ–้€ป่พ‘ไธŽๅ‰็ซฏไธšๅŠก้€ป่พ‘ๅŠ UI ็Šถๆ€็ฎก็†่ฟ›่กŒๆ•ดๅˆ๏ผŒไปฅๅฎŒๆˆๆ•ฐๆฎๅค„็†ๅนถ้ฉฑๅŠจ็•Œ้ขๆ›ดๆ–ฐ\"},{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2025-11-14 22:33:39\",\"title\":\"JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"aliases\":[\"้™ๆ€็ซ™็‚น็”Ÿๆˆๅ™จ\",\"SSG\"],\"tldr\":\"้ข„ๆธฒๆŸ“้™ๆ€้กต้ข + ๅŠจๆ€ API๏ผŒCDN ๅˆ†ๅ‘ๅ…จ็ƒ๏ผŒๆ›ฟไปฃไผ ็ปŸๅŠจๆ€็ฝ‘็ซ™็š„ๅผ€ๅ‘้ƒจ็ฝฒ่Œƒๅผ\",\"description\":\"ไปŽๆ ธๅฟƒๆฆ‚ๅฟตใ€ๅทฅๅ…ท้“พ้€‰ๅž‹๏ผˆNext.js/Vercel/Supabase/Contentful๏ผ‰ๅˆฐไปŽ 0 ๆญๅปบๅšๅฎข็š„ๅฎŒๆ•ดๅฎž่ทต๏ผŒ่ฆ†็›– JAMStack ้€‚็”จไธŽไธ้€‚็”จๅœบๆ™ฏ๏ผŒๅธฎๅŠฉๅˆคๆ–ญไฝ•ๆ—ถ้€‰็”จ่ฏฅๆžถๆž„ใ€‚\",\"permalink\":\"/fullstack/jamstack\",\"tags\":[\"tutorial\",\"jamstack\",\"frontend-architecture\",\"next.js\",\"static-site-generator\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2025-11-14 22:33:39\",\"capture\":\"> \\n> ๅ…ถๆ ธๅฟƒๆœบๅˆถๆ˜ฏๅœจๆž„ๅปบๆ—ถๅฐ†้กต้ข้ข„ๆธฒๆŸ“ไธบ้™ๆ€ HTML/CSS/JS๏ผŒ้ƒจ็ฝฒ่‡ณ CDN ไพ›็”จๆˆทๅฐฑ่ฟ‘ๅŠ ่ฝฝ๏ผŒไป…ๅœจ้œ€่ฆๅŠจๆ€ๆ•ฐๆฎๆ—ถ้€š่ฟ‡ JavaScript ่ฐƒ็”จ API ่Žทๅ–ใ€‚็›ธ่พƒไบŽไผ ็ปŸๅŠจๆ€็ฝ‘็ซ™๏ผŒJAMStack ๅœจๆ€ง่ƒฝใ€ๅฏ้ ๆ€งใ€ๆ‰ฉๅฑ•ๆ€งใ€ๅฎ‰ๅ…จๆ€งๅŠ่ฟ็ปดๆˆๆœฌไธŠๅ…ทๆœ‰ๆ˜พ่‘—ไผ˜ๅŠฟใ€‚\\n> \\n> ๆœฌๆ–‡ๆขณ็†ไบ†ไธปๆตๆž„ๅปบๅทฅๅ…ท๏ผˆGatsbyใ€Next.jsใ€Nuxt.jsใ€11ty๏ผ‰ใ€้™ๆ€ๆ‰˜็ฎกๅนณๅฐ๏ผˆVercelใ€Netlifyใ€Cloudflare Pages๏ผ‰ใ€API/BaaS ๆœๅŠก๏ผˆSupabaseใ€Firebaseใ€Auth0๏ผ‰ๅŠๆ— ๅคด CMS๏ผˆContentfulใ€Sanityใ€Strapi\"}],\"่ต„ๆบๆŽจ่\":[{\"url\":\"/01.ๅ…จๆ ˆ/90.ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่/90.ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"relativePath\":\"/01.ๅ…จๆ ˆ/90.ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่/90.ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"frontmatter\":{\"date\":\"2026-02-06 15:58:53\",\"title\":\"ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡็ณป็ปŸๆขณ็†ไบ†็Žฐไปฃๅ…จๆ ˆๅผ€ๅ‘็š„ๅฎŒๆ•ดๆŠ€ๆœฏๅ›พ่ฐฑไธŽๆผ”่ฟ›่Œƒๅผ๏ผŒไธบๅผ€ๅ‘่€…ๆไพ›ไบ†ไธ€็ซ™ๅผ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—ใ€‚ๆ–‡็ซ ไปŽๅŸบ็Ÿณๅ‡บๅ‘๏ผŒ่ฆ†็›– Web ๆ ธๅฟƒ่ฏญ่จ€๏ผˆJS/TS๏ผ‰ ไธŽ ไธปๆต UI ๆก†ๆžถ๏ผˆReact/Vue/Svelte๏ผ‰๏ผŒๅนถๆŽจ่ไปฅ Tailwind CSS ๅ’Œ shadcn/ui ไธบไปฃ่กจ็š„็Žฐไปฃๆ ทๅผไธŽ็ป„ไปถๅŽŸ่ฏญใ€‚ๅœจๆ ธๅฟƒไธšๅŠก้€ป่พ‘ๅฑ‚๏ผŒๆทฑๅบฆๅฏนๆฏ”ไบ†่ฝป้‡ๅŒ–็Šถๆ€็ฎก็†ๆ–นๆกˆ๏ผˆ้ฆ–ๆŽจ Zustand/Jotai๏ผ‰๏ผŒๅนถ้‡็‚น่งฃๆžไบ†ๆ•ฐๆฎไบคไบ’็š„ไธ‰ๅคง็Žฐไปฃๆžถๆž„่Œƒๅผ๏ผšไปŽๅŸบ็ก€ Axios ๅˆฐ React Query ็Šถๆ€่ฐƒๅบฆ๏ผŒๅ†ๅˆฐ tRPC ๅ’Œ GraphQL ๅธฆๆฅ็š„ๅ…จๆ ˆ็ฑปๅž‹ๅฎ‰ๅ…จไธŽๅคš็ซฏ่šๅˆใ€‚ๅœจๅทฅ็จ‹ๅŒ–ไธŽๆœๅŠก็ซฏๆจกๅ—๏ผŒๆ–‡็ซ ๅ…จ้ขๆ‹ฅๆŠฑ Viteใ€Rsbuild ็ญ‰ๆž้€Ÿๆž„ๅปบๅทฅๅ…ท๏ผŒๅนถๅ‰–ๆžไบ† Next.js/Nuxt ๅŒๆž„ๅ…ƒๆก†ๆžถไธŽ NestJS ไผไธš็บง Node ๆœๅŠก็š„ๆœ€ไฝณ้€‚็”จๅœบๆ™ฏใ€‚ๆœ€ๅŽ๏ผŒ่พ…ไปฅ Vercel ็ญ‰็Žฐไปฃ่พน็ผ˜้ƒจ็ฝฒๅนณๅฐๅŠไธฐๅฏŒ็š„ๅผ€ๆบ็คพๅŒบๅญฆไน ่ต„ๆบใ€‚\",\"permalink\":\"/growth/full-stack-resources\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"date\":\"2026-02-06 15:58:53\",\"capture\":\"> - ๆ–‡็ซ ไปŽๅŸบ็Ÿณๅ‡บๅ‘๏ผŒ่ฆ†็›– Web ๆ ธๅฟƒ่ฏญ่จ€๏ผˆJS/TS๏ผ‰ ไธŽ ไธปๆต UI ๆก†ๆžถ๏ผˆReact/Vue/Svelte๏ผ‰๏ผŒๅนถๆŽจ่ไปฅ Tailwind CSS ๅ’Œ shadcn/ui ไธบไปฃ่กจ็š„็Žฐไปฃๆ ทๅผไธŽ็ป„ไปถๅŽŸ่ฏญใ€‚\\n> - ๅœจๆ ธๅฟƒไธšๅŠก้€ป่พ‘ๅฑ‚๏ผŒๆทฑๅบฆๅฏนๆฏ”ไบ†่ฝป้‡ๅŒ–็Šถๆ€็ฎก็†ๆ–นๆกˆ๏ผˆ้ฆ–ๆŽจ Zustand/Jotai๏ผ‰๏ผŒๅนถ้‡็‚น่งฃๆžไบ†ๆ•ฐๆฎไบคไบ’็š„ไธ‰ๅคง็Žฐไปฃๆžถๆž„่Œƒๅผ๏ผšไปŽๅŸบ็ก€ Axios ๅˆฐ React Query ็Šถๆ€่ฐƒๅบฆ๏ผŒๅ†ๅˆฐ tRPC ๅ’Œ GraphQL ๅธฆๆฅ็š„ๅ…จๆ ˆ็ฑปๅž‹ๅฎ‰ๅ…จไธŽๅคš็ซฏ่šๅˆใ€‚\\n> - ๅœจๅทฅ็จ‹ๅŒ–ไธŽๆœๅŠก็ซฏๆจกๅ—๏ผŒๆ–‡็ซ ๅ…จ้ขๆ‹ฅๆŠฑ Viteใ€Rsbuild ็ญ‰ๆž้€Ÿๆž„ๅปบๅทฅๅ…ท๏ผŒๅนถๅ‰–ๆžไบ† Next.js/N\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/11. LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/11. LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-01-06 15:58:53\",\"title\":\"LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆˆช่‡ณ 2026 ๅนด๏ผŒLLM API ๆœๅŠกๅทฒๅฝขๆˆ\\\"ๅฎ˜ๆ–น็›ด่ฟž + ็ฌฌไธ‰ๆ–น่šๅˆ\\\"็š„ๅŒ่ฝจๆ ผๅฑ€๏ผŒๆจกๅž‹่ƒฝๅŠ›ใ€ๅฎšไปทใ€ๅˆ่ง„ๆ€งไธŽๆŽฅๅ…ฅไพฟๅˆฉๆ€งๅทฎๅผ‚ๆ˜พ่‘—ใ€‚ๆœฌๆ–‡ไปŽ้€‰ๅž‹ๅ‰ๆ้—ฎๅ‡บๅ‘๏ผŒ็ณป็ปŸๆขณ็†ๅ›ฝ้™…ไธŽๅ›ฝๅ†…ไธปๆตๅฎ˜ๆ–น API ๅนณๅฐ๏ผŒไปฅๅŠ OpenRouterใ€็ก…ๅŸบๆตๅŠจ็ญ‰็ฌฌไธ‰ๆ–น่šๅˆๅนณๅฐ็š„ๆ ธๅฟƒ็‰น็‚น๏ผŒๅนถๆไพ›ๅŸบไบŽๅœบๆ™ฏ็š„ๅ†ณ็ญ–ๆก†ๆžถ๏ผŒๅธฎๅŠฉๅผ€ๅ‘่€…ๅ’Œไบงๅ“ๅ›ข้˜Ÿๅฟซ้€Ÿ้”ๅฎšๆœ€้€‚ๅˆ่‡ชๅทฑ็š„ๆ–นๆกˆใ€‚\",\"permalink\":\"/ai-learning/llm-api-resources\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"LLM API\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"date\":\"2026-01-06 15:58:53\",\"capture\":\"1. ้€‰ๆจกๅž‹ๅ‰๏ผŒๅ…ˆๆƒณๆธ…ๆฅš่ฟ™ๅ‡ ไปถไบ‹\\nๅœจๅฏนๆฏ”ๅ…ทไฝ“ๅนณๅฐไน‹ๅ‰๏ผŒๅฏไปŽไปฅไธ‹ๅ››ไธช็ปดๅบฆๆขณ็†่‡ช่บซ่ฏ‰ๆฑ‚๏ผŒ้ฟๅ…\\\"็œผ่Šฑ็ผญไนฑๅŽ้šไพฟ้€‰ไธ€ไธช\\\"๏ผš\\n| ็ปดๅบฆ | ๅ…ณ้”ฎ้—ฎ้ข˜ | ๅฝฑๅ“ๅ†ณ็ญ– |\\n|:-----|:--------|:--------|\\n| ไปปๅŠก็ฑปๅž‹ | ๆ˜ฏ้€š็”จๅฏน่ฏใ€ไปฃ็ ็”Ÿๆˆใ€้•ฟๆ–‡ๆกฃๅˆ†ๆž๏ผŒ่ฟ˜ๆ˜ฏๅคšๆจกๆ€็†่งฃ๏ผŸ | ไธๅŒๆจกๅž‹ๅœจๅž‚็›ด่ƒฝๅŠ›ไธŠๅทฎ่ทๆ‚ฌๆฎŠ |\\n| ๆˆๆœฌ้ข„็ฎ— | ๆฏๆœˆ่ฐƒ็”จ้‡็บง๏ผŸ่ƒฝๅฆๆŽฅๅ—ๆตทๅค–็ป“็ฎ—ไธŽๆฑ‡็އ้ฃŽ้™ฉ๏ผŸ | ๅ›ฝไบงๆจกๅž‹ Token ไปทๆ ผ้€šๅธธไฝŽ 3๏ฝž10 ๅ€ |\\n| ๅˆ่ง„ไธŽ้ƒจ็ฝฒ | ๆ•ฐๆฎ่ƒฝๅฆๅ‡บๅขƒ๏ผŸ่ƒฝๅฆไฝฟ็”จๆตทๅค–ๆœๅŠก๏ผŸๆ˜ฏๅฆ้œ€่ฆ็งๆœ‰ๅŒ–้ƒจ็ฝฒ๏ผŸ | ๆถ‰ๅŠๆ”ฟๅŠก/้‡‘่ž/ๅŒป็–—ๅœบๆ™ฏๅฟ…้กป่€ƒ่™‘ |\\n| ็ฝ‘็ปœ็Žฏๅขƒ | ๅผ€ๅ‘/้ƒจ็ฝฒ็Žฏๅขƒ่ƒฝๅฆ็จณๅฎš่ฎฟ\"},{\"url\":\"/01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ\",\"frontmatter\":{\"date\":\"2025-11-25 00:52:28\",\"title\":\"AI ็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡ๆทฑๅบฆ่งฃๆžไบ† AI ้ฉฑๅŠจ็ผ–็จ‹็š„ไธ‰ๅคงๆผ”่ฟ›่Œƒๅผ๏ผšVibe Coding๏ผˆ่‡ช็„ถ่ฏญ่จ€้›ถ้—จๆง›ๆž„ๅปบ๏ผ‰ใ€AI IDE๏ผˆ็ผ–่พ‘ๅ™จๆทฑๅบฆ่พ…ๅŠฉๆๆ•ˆ๏ผ‰ๅŠ Agentic Engineering๏ผˆ่‡ชไธปๅทฅ็จ‹ๅธˆๆ‰ง่กŒไปปๅŠก๏ผ‰ใ€‚้€š่ฟ‡ๆจชๅ‘ๅฏนๆฏ” Bolt.newใ€Cursorใ€Claude Code ็ญ‰ๅ‰ๆฒฟๅทฅๅ…ท๏ผŒๆ–‡็ซ ๅ‹พๅ‹’ๅ‡บไธ€ๆกไปŽโ€œๅฟซ้€ŸๅŽŸๅž‹โ€ๅˆฐโ€œ้ซ˜ๆ•ˆๅๅŒโ€ๅ†ๅˆฐโ€œ่‡ชไธปไบคไป˜โ€็š„่ฟ›้˜ถ่ทฏๅพ„ใ€‚ๆ ธๅฟƒๆ—จๅœจๆŒ‡ๅฏผ็”จๆˆทๅˆฉ็”จ AI ๅทฅๅ…ท็Ÿฉ้˜ตๆ‰“็ ดๆŠ€ๆœฏ่พน็•Œ๏ผŒๅฎž็ŽฐไปŽๅˆ›ๆ„ๆ่ฟฐๅˆฐๅทฅไธš็บงไบคไป˜็š„็”ŸไบงๅŠ›้ฃž่ทƒ๏ผŒ้‡ๅก‘่ฝฏไปถๅผ€ๅ‘ๅ…จ็”Ÿๅ‘ฝๅ‘จๆœŸใ€‚\",\"permalink\":\"/ai-learning/ai-coding-resources\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/source_sites_bg.png\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"AI Coding\",\"Vibe Coding\",\"Agentic Engineering\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"AI ็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่\",\"date\":\"2025-11-25 00:52:28\",\"capture\":\"1. ไธ‰็ง็ผ–็จ‹่Œƒๅผ้€Ÿ่งˆ\\n| ่Œƒๅผ | ไธ€ๅฅ่ฏๆ่ฟฐ | ไฝ ็š„่ง’่‰ฒ |\\n|:-----|:---------|:--------|\\n| Vibe Coding | ็”จ่‡ช็„ถ่ฏญ่จ€ๆ่ฟฐ้œ€ๆฑ‚๏ผŒAI ็›ดๆŽฅ็”Ÿๆˆๅฏ่ฟ่กŒ็š„ๅฎŒๆ•ด้กน็›ฎ | ๆ่ฟฐ้œ€ๆฑ‚๏ผŒ่ฎฉ AI ๅ†™ไปฃ็ (```ๆ–ฐๆ‰‹ๅ‹ๅฅฝ```) |\\n| AI IDE | ๅœจ็ผ–่พ‘ๅ™จ้‡Œๅผ•ๅ…ฅ AI ่พ…ๅŠฉ๏ผŒ่พนๅ†™่พน่กฅๅ…จใ€่พน้—ฎ่พนๆ”น | ไธปๅฏผๅผ€ๅ‘๏ผŒ่ฎฉ AI ๅšๅ‰ฏ้ฉพ้ฉถ(```ๆ›ดๅคšๆŽงๅˆถ```) |\\n| Agentic Engineering | AI ไฝœไธบ\\\"่‡ชไธปๅทฅ็จ‹ๅธˆ\\\"๏ผŒๆŽฅๆ”ถไปปๅŠกๅŽ่‡ชๅŠจ่ง„ๅˆ’ๅนถๆ‰ง่กŒๅ…จๅฅ—ไปฃ็ ๅทฅไฝœๆต | ๆไปปๅŠกใ€ๅฎก็ป“ๆžœ๏ผŒ่ฎฉ AI ๆ‰ง่กŒ(```ๆž่‡ดๆๆ•ˆ```) |\\nๆ–ฐๆ‰‹่ทฏ็บฟๅปบ่ฎฎ๏ผšๅ…ˆ\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"frontmatter\":{\"date\":\"2025-11-25 00:52:28\",\"title\":\"ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไธบไพฟไบŽ้ซ˜ๆ•ˆๅˆฉ็”จ AI ๅทฅๅ…ทๆๅ‡ๅญฆไน ใ€ๆœ็ดขๅ’Œๅˆ›ไฝœๆ•ˆ็އ๏ผŒๆœฌๆ–‡็ณป็ปŸๆ•ด็†ไบ†ไธปๆต็š„ AI ๅŠฉๆ‰‹ไธŽๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐ็›ธๅ…ณ่ต„ๆบใ€‚ๅ†…ๅฎนๅˆ†ไธบโ€œAI ๅŠฉๆ‰‹โ€๏ผˆๅฆ‚ ChatGPTใ€Claudeใ€Gemini ็ญ‰ๅฏน่ฏๅผๅŠฉๆ‰‹๏ผ‰ๅ’Œโ€œๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐโ€๏ผˆๅฆ‚ๅ†™ไฝœใ€็ป˜็”ป็ญ‰้ข†ๅŸŸ็š„ AI ๅทฅๅ…ทไธŽๅนณๅฐ๏ผ‰๏ผŒไธ”ๆ ‡ๆณจไบ†ๅ…ถๆ ธๅฟƒ่ƒฝๅŠ›ใ€้€‚ๅˆๅœบๆ™ฏ๏ผŒไปฅๅŠ็‰น่‰ฒไผ˜ๅŠฟใ€‚\",\"permalink\":\"/ai-learning/tools-assistant\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/source_sites_bg.png\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"AI ๅŠฉๆ‰‹\",\"AI ๆœ็ดข\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"date\":\"2025-11-25 00:52:28\",\"capture\":\"1. AI ๅŠฉๆ‰‹\\n> ้€‰ๆ‹ฉๅปบ่ฎฎ๏ผš ่‹ฑๆ–‡ไธบไธป โ†’ ไผ˜ๅ…ˆ ChatGPT / Claude / Gemini๏ผ›ไธญๆ–‡ไธบไธป โ†’ ไผ˜ๅ…ˆ Kimi / DeepSeek / ้€šไน‰ๅƒ้—ฎ๏ผ›้œ€่ฆ่”็ฝ‘ๅฎžๆ—ถไฟกๆฏ โ†’ Gemini / Grok๏ผ›้œ€่ฆๅˆ†ๆž้•ฟๆ–‡ๆกฃ โ†’ Claude / Kimi๏ผ›่ฟฝๆฑ‚ไฝŽๆˆๆœฌๅผ€ๆบ้ƒจ็ฝฒ โ†’ DeepSeekใ€‚\\n>\\n> ๆณจ๏ผš็›ฎๅ‰ๅ›ฝๅค–ๆจกๅž‹๏ผˆๅฆ‚ ChatGPTใ€Claudeใ€Gemini ็ญ‰๏ผ‰ๅœจ่‹ฑๆ–‡ๅค„็†ใ€ๅคšๆจกๆ€่ƒฝๅŠ›ใ€ๆ’ไปถ็”Ÿๆ€ๅ’Œ API ไธฐๅฏŒๆ€ง็ญ‰ๆ–น้ข๏ผŒๆ•ดไฝ“ไธŠไพ็„ถไผ˜ไบŽๅ›ฝๅ†…ๆจกๅž‹๏ผŒ้€‚ๅˆๅฏน่‹ฑๆ–‡ๅˆ›ไฝœใ€ๅคš่ฏญ่จ€ๆฒŸ้€šใ€ๅคๆ‚ๆŽจ็†ใ€ไปฃ็ ๅŠฉๆ‰‹็ญ‰ๅœบๆ™ฏๆœ‰ๆ›ด้ซ˜่ฆๆฑ‚็š„็”จๆˆทใ€‚ไธ่ฟ‡๏ผŒๅ›ฝๅ†…ๆจกๅž‹ๅœจไธญๆ–‡็†่งฃใ€ๆœฌๅœฐๅŒ–ใ€ๅˆ่ง„\"},{\"url\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/21.ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"relativePath\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/21.ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"frontmatter\":{\"date\":\"2025-11-10 12:52:28\",\"title\":\"ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจไฟกๆฏ้ซ˜ๅบฆ้€ๆ˜Ž็š„ๆ—ถไปฃ๏ผŒๆต…ๅฑ‚ไฟกๆฏๅทฎๅทฒ่ขซๅฝปๅบ•ๆŠนๅนณ๏ผŒไฟกๆฏๆœฌ่บซ็š„ไปทๅ€ผไธๆ–ญ็จ€้‡Šใ€‚ไบบไธŽไบบ็š„ๆ ธๅฟƒๅทฎ่ทไธๅ†ๆ˜ฏ่Žทๅ–ไฟกๆฏ็š„ๆธ ้“๏ผŒ่€Œๆ˜ฏ้ซ˜ไฟกๅ™ชๆฏ”ไฟกๆฏ็š„็”„ๅˆซ่ƒฝๅŠ›ใ€ๆทฑๅบฆๆ€่€ƒ่ƒฝๅŠ›ไธŽ่ฝๅœฐๆ‰ง่กŒๅŠ›๏ผŒๅ”ฏๆœ‰ไปฅๆ€่€ƒๆ ก้ชŒไฟกๆฏใ€ไปฅๆ‰ง่กŒ้ชŒ่ฏไปทๅ€ผ๏ผŒๅฝขๆˆโ€œไฟกๆฏ-ๅˆคๆ–ญ-ๅฎž่ทต-ๅ้ฆˆโ€็š„ๆ€่€ƒไธŽๆ‰ง่กŒ้—ญ็Žฏ๏ผŒๆ‰่ƒฝ็ช็ ดไฟกๆฏๅฃๅž’ใ€ๅˆ›้€ ็œŸๆญฃไปทๅ€ผใ€‚\",\"permalink\":\"/growth/distinguish-useful-information\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"ไฟกๆฏ็ญ›้€‰\",\"ไธชไบบๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"date\":\"2025-11-10 12:52:28\",\"capture\":\"ๅœจไบ’่”็ฝ‘ๆŠ€ๆœฏๆ™ฎๅŠ็š„ๅฝ“ไธ‹๏ผŒไฟกๆฏๅทฒไปŽโ€œ็จ€็ผบ่ต„ๆบโ€่ฝฌๅ˜ไธบโ€œๆณ›ๆปฅ่ต„ๆบโ€ใ€‚่ฟ‡ๅŽปไพ่ต–ๅœฐๅŸŸๅทฎใ€็จ€็ผบๆ€ง็š„ๆต…่กจๅฑ‚ไฟกๆฏๅทฎ้€ๆธ่ขซๆŠนๅนณ๏ผŒๅผ€ๅ‘่€…้€š่ฟ‡็ฝ‘็ปœๅฏ่ฝปๆพ่Žทๅ–ๅ„็ฑปๆŠ€ๆœฏๆ–‡ๆกฃใ€่กŒไธšๅŠจๆ€ใ€่ตš้’ฑๆจกๅผ๏ผŒไฝ†็œŸๆญฃ่ƒฝๅฐ†ไฟกๆฏ่ฝฌๅŒ–ไธบไปทๅ€ผ็š„ไปๆ˜ฏๅฐ‘ๆ•ฐไบบใ€‚ๆ ธๅฟƒ็Ÿ›็›พๅทฒไปŽโ€œ่Žทๅ–ไฟกๆฏโ€่ฝฌๅ˜ไธบโ€œ้ฉพ้ฉญไฟกๆฏโ€โ€”โ€”ไฟกๆฏๆœฌ่บซ็š„ไปทๅ€ผๅผฑๅŒ–๏ผŒ่€Œไฟกๆฏ่งฃ่ฏป่ƒฝๅŠ›ใ€่กŒๅŠจๆ‰ง่กŒๅŠ›ใ€็ญ›้€‰็”„ๅˆซๅŠ›ๆˆไธบๆ‹‰ๅผ€ๅทฎ่ท็š„ๅ…ณ้”ฎใ€‚\\n 1. ๆ‰“็ ดโ€œไฟกๆฏๅทฎโ€็š„็ณป็ปŸๆ€ง้”™่ง‰\\n่ฟ‡ๅŽป๏ผŒ็”ฑไบŽๅœฐๅŸŸ้™ๅˆถๅ’Œไผ ๆ’ญไป‹่ดจ็š„็จ€็ผบ๏ผŒ่ตš้’ฑๆˆ–ๆˆๅŠŸ็š„ๆจกๅผๅพ€ๅพ€ๆ˜ฏ็ฒ—ๆ”พ็š„๏ผŒๅปบ็ซ‹ๅœจๆต…่กจๅฑ‚็š„โ€œไฟกๆฏไธๅฏน็งฐโ€ไธŠ๏ผŒไฝ†้š็€ๆŠ€ๆœฏ็š„ๆผ”่ฟ›๏ผŒ่ฟ™็งไฝŽ็ปดๅบฆ็š„ไฟกๆฏๅทฎๆญฃๅœจ่ขซ่ฟ…้€ŸๆŠนๅนณใ€‚ไบบไปฌ็ปๅธธ้™ทๅ…ฅโ€œ่ตšไธๅˆฐ้’ฑ/ๆŠ“ไธไฝๆœบไผšๆ˜ฏๅ› ไธบ็ผบๅฐ‘ไฟกๆฏๅทฎโ€็š„่ฎค็Ÿฅๅๅทฎ๏ผŒไฝ†ๆœฌ่ดจ้—ฎ้ข˜ๅœจไบŽโ€œ\"}],\"ๅ…ณไบŽ\":[{\"url\":\"/40.ๅ…ณไบŽ/01.ๅ…ณไบŽๆˆ‘\",\"relativePath\":\"/40.ๅ…ณไบŽ/01.ๅ…ณไบŽๆˆ‘\",\"frontmatter\":{\"date\":\"2025-08-29 09:40:53\",\"title\":\"ๅ…ณไบŽๆˆ‘\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไปŽ Tech Stack ๅˆฐ Insight Stack๏ผŒๅฝ“ AI ๆŽฅ็ฎกไบ†ๅฎž็Žฐ๏ผŒๆˆ‘ๆ›ดๅ…ณๆณจๆžถๆž„็š„ๆƒ่กกไธŽไบงๅ“็š„ไปทๅ€ผ๏ผŒไธ“ๆณจ๏ผšๅทฅ็จ‹ๅŒ– Spec ไธŽ AI ็ผ–็จ‹็ฃจๅˆ็š„ๅฎž่ทต | Agent ่ฝๅœฐ | ็‹ฌ็ซ‹ไบงๅ“ใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/about_me_chinese.png\",\"permalink\":\"/about/me\",\"categories\":[\"ๅ…ณไบŽ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ…ณไบŽๆˆ‘\",\"date\":\"2025-08-29 09:40:53\",\"capture\":\"ๆˆ‘ๆ˜ฏ่ฐ\\nๆˆ‘ๆ˜ฏไธ€ๅๆ‹ฅๆœ‰ๅ…จๆ ˆ่ƒŒๆ™ฏ็š„ๅผ€ๅ‘่€…, ๆŠ€ๆœฏๅบ•่‰ฒๆบไบŽๅทฅไฝœๅ‡ ๅนดๅŽ็งฏ็ดฏไบ†่พƒไธบๆ‰Žๅฎž็š„ๅทฅ็จ‹ๅŒ–ๅฎž่ทตโ€”โ€”ไปŽๅŸบ็ก€็š„ Web ๅ‰็ซฏๅˆฐๅคๆ‚็š„่ทจๅนณๅฐๅฐ็จ‹ๅบๅŸบ็ก€ๆก†ๆžถ็š„ๆžถๆž„ๅ‡็บง๏ผŒๅ†ๅˆฐๅŸบไบŽ NodeJS ็š„ๆœๅŠก็ซฏๅผ€ๅ‘๏ผŒ่ฟ™ไบ›็ปๅކ้”ป็‚ผไบ†ๆˆ‘ๅฏน็ณป็ปŸๅคๆ‚ๅบฆ็š„ๆŽŒๆŽงๅŠ›ใ€ๅทฅ็จ‹ๅŒ–่ƒฝๅŠ›ไปฅๅŠ้กน็›ฎๆŽจๅŠจไธŽๅ›ข้˜Ÿๅˆไฝœ็š„่ƒฝๅŠ›ใ€‚\\n่‡ช 2023 ๅนด LLM ๆตชๆฝฎๆถŒ็Žฐไปฅๆฅ๏ผŒๆˆ‘ๆทฑๅบฆๆŠ•่บซไบŽ AI ็›ธๅ…ณ็š„ๆŠ€ๆœฏๆŽข็ดขใ€‚ๅœจๅทฅไฝœไธŽไธšไฝ™้กน็›ฎไธญ๏ผŒไธปๅฏผๆˆ–ๅ‚ไธŽไบ†ๅคšไธชๅŸบไบŽๅคงๆจกๅž‹็š„ๅบ”็”จ่ฝๅœฐ๏ผŒ็งฏ็ดฏไบ†ไปŽ Prompt ่ฐƒไผ˜ๅˆฐ Agentic Workflow ็ผ–ๆŽ’็š„ไธ€็บฟ็ป้ชŒ๏ผŒไนŸๅคšๆฌกๅ‚ๅŠ ไบ†ๅ›ฝๅ†… AI ็คพๅŒบ็›ธๅ…ณ็š„ๆŠ€ๆœฏๅˆ†ไบซไธŽไบคๆตๆดปๅŠจ๏ผŒไบ†่งฃไบ† AI ้ข†ๅŸŸๆœ€ๆ–ฐ็š„ๆŠ€ๆœฏ่ถ‹ๅŠฟไธŽๅฎž่ทตใ€‚\\n\\n็›ฎๅ‰๏ผŒๆˆ‘ไธป่ฆๅœจ\"}],\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹\",\"frontmatter\":{\"date\":\"2025-08-20 22:51:27\",\"title\":\"่Šไธ€่Š TypeScript ไธญ็š„ๆณ›ๅž‹\",\"tldr\":\"ๆณ›ๅž‹ๅฐ†็ฑปๅž‹ไฝœไธบๅ‚ๆ•ฐ๏ผŒไฝฟไปฃ็ ๅœจๅคš็ง็ฑปๅž‹ไธŠๅฎ‰ๅ…จ่ฟ่กŒ๏ผŒๆ˜ฏ TypeScript ็ฑปๅž‹ๆŠฝ่ฑก็š„ๆ ธๅฟƒ็‰นๆ€งใ€‚\",\"description\":\"ๆœฌๆ–‡็ณป็ปŸ่งฃๆž TypeScript ๆณ›ๅž‹็š„ๆ ธๅฟƒๆฆ‚ๅฟตไธŽๅทฅไฝœๆœบๅˆถ๏ผŒๅฏนๆฏ”ๆณ›ๅž‹ไธŽ any ็ฑปๅž‹็š„ๅทฎๅผ‚๏ผŒๆถต็›–ๆณ›ๅž‹ๅ‡ฝๆ•ฐใ€ๆŽฅๅฃใ€็ฑปใ€็ฑปๅž‹ๅˆซๅ็š„ๅฎž่ทต็”จๆณ•๏ผŒไปฅๅŠๅŸบๆœฌ็ฑปๅž‹็บฆๆŸใ€ๆŽฅๅฃ็บฆๆŸใ€ๅคš้‡็บฆๆŸใ€keyof ็บฆๆŸ็ญ‰้ซ˜้˜ถๆŠ€ๅทงไธŽๆœ€ไฝณๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/typescript-generic-types\",\"tags\":[\"tutorial\",\"typescript\",\"generics\",\"type-system\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่Šไธ€่Š TypeScript ไธญ็š„ๆณ›ๅž‹\",\"date\":\"2025-08-20 22:51:27\",\"capture\":\"1. ๆณ›ๅž‹็š„ๅŸบๆœฌๆฆ‚ๅฟตๅ’Œไฝœ็”จ\\n 1.1 ๆ ธๅฟƒๅฎšไน‰\\nๆณ›ๅž‹๏ผˆGenerics๏ผ‰ ๆ˜ฏ TypeScript ไธญไธ€็งๅผบๅคง็š„็ฑปๅž‹็ณป็ปŸ็‰นๆ€ง๏ผŒๅ…่ฎธๅฎšไน‰็ฑปๅž‹ๅ‚ๆ•ฐๅŒ–็š„็ป„ไปถ๏ผŒไฝฟไปฃ็ ่ƒฝๅคŸๅœจๅคš็ง็ฑปๅž‹ไธŠๅฎ‰ๅ…จ่ฟ่กŒ๏ผŒๅŒๆ—ถไฟๆŒ็ฑปๅž‹ๆฃ€ๆŸฅใ€‚ๆณ›ๅž‹็š„ๆ ธๅฟƒๆ€ๆƒณๆ˜ฏๅฐ†็ฑปๅž‹ไฝœไธบๅ‚ๆ•ฐไผ ้€’็ป™ๅ‡ฝๆ•ฐใ€ๆŽฅๅฃๆˆ–็ฑป๏ผŒๅฎž็Žฐ\\\"็ผ–ๅ†™ไธ€ๆฌก๏ผŒๅค็”จๅคšๆฌก\\\"็š„ๆ•ˆๆžœใ€‚\\n 1.2 ๆณ›ๅž‹ไธŽ any ็ฑปๅž‹็š„ๅฏนๆฏ”\\n| ็‰นๆ€ง | ๆณ›ๅž‹ | any ็ฑปๅž‹ |\\n|------|------|----------|\\n| ็ฑปๅž‹ๅฎ‰ๅ…จ | โœ… ็ผ–่ฏ‘ๆ—ถ่ฟ›่กŒ็ฑปๅž‹ๆฃ€ๆŸฅ | โŒ ๅฎŒๅ…จๅคฑๅŽป็ฑปๅž‹ๆฃ€ๆŸฅ |\\n| ไปฃ็ ๅค็”จ | โœ… ๆ”ฏๆŒๅคš็ง็ฑปๅž‹ๅค็”จ | โœ… ๆ”ฏๆŒๅคš็ง็ฑปๅž‹๏ผŒไฝ†ๅคฑๅŽป็ฑปๅž‹ไฟกๆฏ |\\n| ็ฑปๅž‹ๆŽจๆ–ญ | โœ… \"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2025-08-12 22:47:47\",\"title\":\"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—\",\"tldr\":\"TypeScript ๅฎŒๅ–„็š„็ผ–่ฏ‘ไฝ“็ณปไธŽ่ฐƒ่ฏ•ๅทฅๅ…ท้“พ๏ผŒๆ˜ฏๆž„ๅปบ้ซ˜่ดจ้‡ๅบ”็”จ็š„ๅŸบ็Ÿณใ€‚\",\"description\":\"ๆทฑๅ…ฅ่งฃๆž TypeScript ็ผ–่ฏ‘ๅทฅๅ…ท้“พไธŽ่ฐƒ่ฏ•ไฝ“็ณป๏ผŒๆถต็›– tsconfig.json ๆ ธๅฟƒ้…็ฝฎใ€Monorepo ้กน็›ฎ้…็ฝฎ๏ผˆextends/references๏ผ‰ใ€source map ่ฐƒ่ฏ•ใ€ESLint ไธŽ Jest ๅ•ๅ…ƒๆต‹่ฏ•็ญ‰ๅฎŒๆ•ดๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/typescript-compilation-debugging-guide\",\"tags\":[\"tutorial\",\"typescript\",\"compilation\",\"tooling\",\"eslint\",\"jest\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—\",\"date\":\"2025-08-12 22:47:47\",\"capture\":\"็ผ–ๅ†™ไปฃ็ ๅชๆ˜ฏๅผ€ๅ‘ๅทฅไฝœ็š„่ตท็‚น๏ผŒ็œŸๆญฃๅ†ณๅฎš้กน็›ฎ่ดจ้‡็š„ๆ˜ฏๅŽ็ปญ็š„็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•็Žฏ่Š‚ใ€‚TypeScript ไฝœไธบ JavaScript ็š„้™ๆ€็ฑปๅž‹่ถ…้›†๏ผŒไธไป…ๅธฆๆฅไบ†็ฑปๅž‹ๅฎ‰ๅ…จ๏ผŒๆ›ดๆไพ›ไบ†ๅผบๅคง็š„็ผ–่ฏ‘ๅทฅๅ…ทๅ’Œ่ฐƒ่ฏ•่ƒฝๅŠ›๏ผŒ่ฎฉๆˆ‘ไปฌ่ƒฝๅคŸๆ›ด้ซ˜ๆ•ˆๅœฐๆž„ๅปบๅ’Œ็ปดๆŠคๅฏ้ ็š„ๅบ”็”จ็จ‹ๅบใ€‚\\nๆœฌๆ–‡ๅฐ†ๅฏน TypeScript ้กน็›ฎ็š„็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•่ฟ›่กŒๆขณ็†๏ผŒๅŒ…ๆ‹ฌ็ผ–่ฏ‘ๅทฅๅ…ท TSC ็š„ไฝฟ็”จใ€็ผ–่ฏ‘้€‰้กน็š„้…็ฝฎใ€่ฐƒ่ฏ•ๅทฅๅ…ท็š„ไฝฟ็”จ็ญ‰ใ€‚\\n 1. TypeScript ็ผ–่ฏ‘้…็ฝฎไธŽ tsconfig.json\\nTSC๏ผˆTypeScript Compiler๏ผ‰ๆ˜ฏ TypeScript ๅฎ˜ๆ–นๆไพ›็š„็ผ–่ฏ‘ๅทฅๅ…ท๏ผŒ่ดŸ่ดฃๅฐ† TypeScript ไปฃ็ ๏ผˆ`.ts` ๆˆ– `.tsx`๏ผ‰่ฝฌๆขไธบ J\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview\",\"frontmatter\":{\"date\":\"2024-05-18 22:49:57\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ไปŽ ES Modules ๅˆฐๅคงๅž‹้กน็›ฎๅˆ†ๅฑ‚ๆžถๆž„ไธŽๅทฅ็จ‹ๅŒ–ๅฎž่ทต๏ผŒๆž„ๅปบๅ…จๆ ˆๆจกๅ—ๅŒ–็Ÿฅ่ฏ†ไฝ“็ณปใ€‚\",\"description\":\"็ณป็ปŸๆขณ็† JavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›๏ผˆIIFEโ†’CJSโ†’ESM๏ผ‰ใ€TypeScript ็ฑปๅž‹ๅขžๅผบใ€ๅˆ†ๅฑ‚ๆžถๆž„ไธŽ DDD ๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/module-programming-practice-guide\",\"tags\":[\"tutorial\",\"ESM\",\"DDD\",\"ๅพฎๅ‰็ซฏ\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2024-05-18 22:49:57\",\"capture\":\"1. ๅผ•่จ€\\nๆจกๅ—ๅŒ–็ผ–็จ‹ๆ˜ฏ็Žฐไปฃ JavaScript/TypeScript ๅผ€ๅ‘็š„ๆ ธๅฟƒๅŽŸๅˆ™๏ผŒๅฎƒ้€š่ฟ‡ๅฐ†ๅคๆ‚็ณป็ปŸๆ‹†ๅˆ†ไธบ็‹ฌ็ซ‹ๅฏๅค็”จ็š„ๆจกๅ—๏ผŒ้™ไฝŽ็ณป็ปŸๅคๆ‚ๆ€งๅนถๆ้ซ˜ๅฏ็ปดๆŠคๆ€งไธŽๅฏๅค็”จๆ€งใ€‚ๅ› ๆญค๏ผŒๆˆ‘ไปฌ้€š่ฟ‡็ณปๅˆ—ๆ–‡็ซ ่ฏฆ็ป†ไป‹็ปไบ†ๆจกๅ—ๅŒ–็š„ๅŸบ็ก€ๆฆ‚ๅฟตใ€ๆผ”่ฟ›ๅކ็จ‹ใ€ไธๅŒ่ง„่Œƒ็š„ๆทฑๅบฆ่งฃๆžใ€TypeScriptๆจกๅ—ๅŒ–ๅขžๅผบใ€ES Modules ๆ ธๅฟƒ่ฏญๆณ•ไธŽๅฎž่ทตใ€ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทตใ€ๅ‰็ซฏๅทฅ็จ‹ๅŒ–ไธญ็š„ๆจกๅ—ๅŒ–ใ€Node.jsไธญ็š„ๆจกๅ—ๅŒ–ๅฎž่ทตใ€ๅคงๅž‹้กน็›ฎไธญ็š„ๆจกๅ—ๅŒ–่ฎพ่ฎกใ€ๆจกๅ—ๅŒ–ไธŽไปฃ็ ็ปดๆŠคไปฅๅŠๆœชๆฅๅ‘ๅฑ•่ถ‹ๅŠฟใ€‚\\nๅ‰้ข็š„็ณปๅˆ—ๆ–‡็ซ ไธป่ฆๆœ‰๏ผš\\n- ๆจกๅ—ๅŒ–็ผ–็จ‹็ผ–็จ‹ๅˆไฝ“้ชŒไธŽๅŸบ็ก€ไป‹็ป\\n- JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\\n- ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒ\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–\",\"frontmatter\":{\"date\":\"2024-05-17 23:33:09\",\"title\":\"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“\",\"tldr\":\"Node.js CJS ไธŽ ESM ๅŒๆจกๅ…ฑๅญ˜๏ผšๆจกๅ—ๅŠ ่ฝฝๆœบๅˆถไธŽๅˆ†ๅฑ‚ๆžถๆž„ๅฎž่ทตใ€‚\",\"description\":\"่งฃๆž Node.js ไธญ CommonJS ไธŽ ES Modules ็š„ๅŒๆจกๅ…ฑๅญ˜็ญ–็•ฅ๏ผŒๆถต็›–ๆจกๅ—ๅŠ ่ฝฝไผ˜ๅ…ˆ็บงใ€็ผ“ๅญ˜ๆœบๅˆถใ€package.json exports ๆกไปถๅฏผๅ‡บๅŠ Monorepo ๆžถๆž„ๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/nodejs-module-programming-summary\",\"abstract\":\"Node.js ๆจกๅ—ๅŒ–็ปๅކไบ†ไปŽ CommonJS ็‹ฌ้œธๅคฉไธ‹ๅˆฐ ES Modules ๅ…จ้ขๆŽฅๅ…ฅ็š„่Œƒๅผ่ฝฌ็งปใ€‚ๅ…ฑๅญ˜็ญ–็•ฅ้€š่ฟ‡ .mjs/.cjs ๅŽ็ผ€ๅ’Œ package.json type ๅญ—ๆฎตๆŽงๅˆถไธค็ง่ง„่Œƒ็š„่พน็•Œ๏ผ›ESM ๅฏ็›ดๆŽฅ import CJS๏ผˆ่‡ชๅŠจๅŒ…่ฃ…ไธบ้ป˜่ฎคๅฏผๅ‡บ๏ผ‰๏ผŒไฝ† CJS ๆ— ๆณ• require ESM ๅฟ…้กปไฝฟ็”จๅŠจๆ€ importใ€‚ๆจกๅ—ๅŠ ่ฝฝ้ตๅพชๆ ธๅฟƒๆจกๅ—ไผ˜ๅ…ˆใ€ๆ–‡ไปถๆจกๅ—ใ€็›ฎๅฝ•ๆจกๅ—๏ผˆindex.js/package.json๏ผ‰ใ€node_modules ้€็บงๆŸฅๆ‰พ็š„ไผ˜ๅ…ˆ็บง๏ผ›require.cache ๅฎž็Žฐๆจกๅ—็ผ“ๅญ˜๏ผŒๆธ…้™ค็ผ“ๅญ˜๏ผˆdelete require.cache[path]๏ผ‰ๆ˜ฏ็ƒญๆ›ดๆ–ฐๅทฅๅ…ท็š„ๆ ธๅฟƒๆ“ไฝœใ€‚package.json exports ๅญ—ๆฎตๆ”ฏๆŒๆกไปถๅฏผๅ‡บ๏ผˆimport/require ่ฟ”ๅ›žไธๅŒๅ…ฅๅฃ๏ผ‰ใ€‚pnpm workspaces ๅ‡ญๅ€Ÿ็กฌ้“พๆŽฅๆœบๅˆถๆˆไธบ็Žฐไปฃ Monorepo ้ฆ–้€‰ใ€‚ๅŽ็ซฏๅˆ†ๅฑ‚ๆžถๆž„๏ผˆAPI/Service/Repository๏ผ‰ๅฎž็Žฐๅ…ณๆณจ็‚นๅˆ†็ฆป๏ผŒๆขๆ•ฐๆฎๅบ“ๅช้œ€ๆ”น Repository ๅฑ‚ใ€‚\",\"tags\":[\"concept\",\"node.js\",\"commonjs\",\"esm\",\"monorepo\",\"layered-architecture\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“\",\"date\":\"2024-05-17 23:33:09\",\"capture\":\"ๅฆ‚ๆžœ่ฏดๆต่งˆๅ™จ็ซฏ็š„ๆจกๅ—ๅŒ–ๆ˜ฏไธบไบ†\\\"ๆŒ‰้œ€ๅŠ ่ฝฝ\\\"๏ผŒ้‚ฃไนˆ Node.js ็š„ๆจกๅ—ๅŒ–ๅˆ™ๆ˜ฏไธบไบ†\\\"ไปฃ็ ็ป„็ป‡\\\"ใ€‚ไฝœไธบๅฐ† JavaScript ๅธฆๅ…ฅๆœๅŠกๅ™จ็ซฏ็š„ๅ…ˆ้ฉฑ๏ผŒNode.js ็ปๅކไบ†ไปŽ CommonJS (CJS) ็‹ฌ้œธๅคฉไธ‹ๅˆฐ ES Modules (ESM) ๅ…จ้ขๆŽฅๅ…ฅ็š„่Œƒๅผ่ฝฌ็งปใ€‚\\nๅœจๆœๅŠกๅ™จ็ซฏ๏ผŒๆจกๅ—ๅŒ–ไธไป…ไป…ๆ˜ฏไธบไบ†ๆ‹†ๅˆ†ไปฃ็ ๏ผŒๆ›ดๆ˜ฏไธบไบ†ๆž„ๅปบๆธ…ๆ™ฐ็š„้กน็›ฎ็ป“ๆž„ใ€็ฎก็†ไพ่ต–ๅ…ณ็ณป๏ผŒไปฅๅŠๅฎž็Žฐไปฃ็ ็š„ๅค็”จไธŽ็ปดๆŠคใ€‚\\n 1. CommonJS ไธŽ ES Modules ๅŒๆจกๅ…ฑๅญ˜\\nๅœจ็Žฐไปฃ Node.js ๅผ€ๅ‘ไธญ๏ผŒๆˆ‘ไปฌ็ปๅธธ้ขไธดไธค็ง่ง„่Œƒไบค็ป‡็š„ๆƒ…ๅ†ตใ€‚่ฟ™ไธไป…ๆ˜ฏๆ–‡ไปถๅŽ็ผ€็š„ๆ”นๅ˜๏ผŒๆ›ดๆ˜ฏๅŒๆญฅไธŽๅผ‚ๆญฅๅŠ ่ฝฝ้€ป่พ‘็š„ๅšๅผˆใ€‚\\nๅ…ฑๅญ˜็ญ–็•ฅ๏ผš\\n1. ๅŽ็ผ€ๅ†ณๅฎš่ฎบ๏ผš`.mjs\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต\",\"frontmatter\":{\"date\":\"2024-05-17 22:30:50\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ๆขณ็†ไธŽๆ€ป็ป“\",\"tldr\":\"ๆŽŒๆก้ซ˜ๅ†…่šไฝŽ่€ฆๅˆๅŽŸๅˆ™๏ผšๆจกๅ—ๅŒ–็ผ–็จ‹็š„่ฎพ่ฎกๅ‡†ๅˆ™ไธŽ็ฒ’ๅบฆๆŽงๅˆถใ€‚\",\"description\":\"็ณป็ปŸๆขณ็†ๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅ…ญๅคงๆ ธๅฟƒๅŽŸๅˆ™๏ผšๅ•ไธ€่Œ่ดฃใ€้ซ˜ๅ†…่šไฝŽ่€ฆๅˆใ€็ฒ’ๅบฆ่ฎพ่ฎกใ€ๅ‘ฝๅ่ง„่ŒƒๅŠๆจกๅ—็‰ˆๆœฌ็ฎก็†๏ผŒ้™„่ฏฆ็ป†็š„ๅทฅ็จ‹ๅฎž่ทตๅปบ่ฎฎไธŽ้ฟๅ‘ๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/fullstack/module-programming-principles-best-practices\",\"abstract\":\"ๅฆ‚ๆžœ่ฏดๆŽŒๆกๆจกๅ—ๅŒ–่ฏญๆณ•ๆ˜ฏๆœฏ๏ผŒ้‚ฃไนˆ็†่งฃๅ…ถ่ƒŒๅŽ็š„่ฎพ่ฎกๅŽŸๅˆ™ๅฐฑๆ˜ฏ้“ใ€‚ๅ•ไธ€่Œ่ดฃๅŽŸๅˆ™ๅผบ่ฐƒๆจกๅ—ๅชๅบ”ๆœ‰ไธ€ไธช่ขซๆ”นๅ˜็š„ๅŽŸๅ› ๏ผŒ้ฟๅ… God Object ๅๆจกๅผใ€‚้ซ˜ๅ†…่šไฝŽ่€ฆๅˆๆ˜ฏ่กก้‡ๆจกๅ—่ดจ้‡็š„็ปˆๆžๆ ‡ๅ‡†โ€”โ€”ๆจกๅ—ๅ†…้ƒจๅ…ƒ็ด ่”็ณป็ดงๅฏ†๏ผŒๆจกๅ—ไน‹้—ดไพ่ต–ๅ…ณ็ณปๅฐฝๅฏ่ƒฝ็ฎ€ๅ•ใ€‚็ฒ’ๅบฆ่ฎพ่ฎก่ฆๆฑ‚ๅ•ไธชๆจกๅ—ไฟๆŒๅœจ 100-500 ่กŒไน‹้—ด๏ผŒๅŠŸ่ƒฝ่ƒฝ็”จไธ€ๅฅ่ฏๆธ…ๆ™ฐๆ่ฟฐ๏ผŒๅ‡บ็Žฐๅคšๅˆ†ๆ”ฏๅคๆ‚้€ป่พ‘ๆ—ถ้€šๅธธๆ˜ฏๆ‹†ๅˆ†ไฟกๅทใ€‚ๅ‘ฝๅ่ง„่Œƒ็ปŸไธ€ๅ›ข้˜ŸๆฒŸ้€š่ฏญๅขƒ๏ผˆkebab-case ๆ–‡ไปถๅใ€camelCase ๆ–นๆณ•ๅใ€PascalCase ็ฑปๅ๏ผ‰ใ€‚ๆจกๅ—็‰ˆๆœฌ็ฎก็†้ตๅพช SemVer ่ฏญไน‰ๅŒ–็‰ˆๆœฌ๏ผŒไธบๅ…ฌๅ…ฑๆจกๅ—็š„็ปดๆŠค่€…ไธŽไฝฟ็”จ่€…ๅปบ็ซ‹ๅฅ‘็บฆใ€‚ๅผบ่ฐƒๆธ…ๆ™ฐ็š„ๆจกๅ—่พน็•Œๆ˜ฏ AI ่พ…ๅŠฉ็ผ–็จ‹ๆ—ถไปฃ AI ๅ‡†็กฎ็†่งฃไปฃ็ ็š„ๅ‰ๆใ€‚\",\"tags\":[\"concept\",\"solid-principles\",\"code-organization\",\"best-practices\",\"naming-conventions\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ๆขณ็†ไธŽๆ€ป็ป“\",\"date\":\"2024-05-17 22:30:50\",\"capture\":\"1. ๅ•ไธ€่Œ่ดฃๅŽŸๅˆ™\\nๆ ธๅฟƒๆ€ๆƒณ๏ผšไธ€ไธชๆจกๅ—ๅบ”ๅฝ“ๆœ‰ไธ”ๅชๆœ‰ไธ€ไธช่ขซๆ”นๅ˜็š„ๅŽŸๅ› ใ€‚\\nๆจกๅ—ไธๅบ”ๆˆไธบๅŠŸ่ƒฝ็š„โ€œๆ‚่ดง้“บโ€ใ€‚ๅฝ“ไธ€ไธชๆจกๅ—ๆ‰ฟๆ‹…ไบ†ๅคชๅคšไธ็›ธๅ…ณ็š„ไธšๅŠก้€ป่พ‘ๆ—ถ๏ผŒๅฎƒ็š„ๅคๆ‚ๅบฆไผšๅ‘ˆๆŒ‡ๆ•ฐ็บงไธŠๅ‡๏ผŒไปปไฝ•ๅพฎๅฐ็š„ๆ”นๅŠจ้ƒฝๅฏ่ƒฝๅผ•ๅ‘ๆ„ๆƒณไธๅˆฐ็š„่ฟž้”ๅๅบ”ใ€‚\\nไปฃ็ ๆผ”็คบ๏ผš\\n```javascript\\n// โœ… ๆŽจ่๏ผš่Œ่ดฃๆ‹†ๅˆ†ๆ˜Ž็กฎ\\n// user-service.js - ไป…ๅค„็†็”จๆˆทๆ•ฐๆฎ็š„ CRUD\\nexport const getUser = async (id) => { /* ... */ };\\n// auth-provider.js - ไป…ๅค„็†้‰ดๆƒ็Šถๆ€ไธŽ้€ป่พ‘\\nexport const login = async (credenti\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"frontmatter\":{\"date\":\"2024-05-16 21:27:36\",\"title\":\"ไปŽ้€ป่พ‘้š”็ฆปๅˆฐ็ฑปๅž‹ๅฅ‘็บฆ๏ผšTypeScript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"tldr\":\"TypeScript ๅฐ†ๆจกๅ—ไพ่ต–ๆๅ‡ไธบ็ผ–่ฏ‘ๆ—ถ็ฑปๅž‹ๅฅ‘็บฆ๏ผŒไปŽ import type ๅˆฐๅฃฐๆ˜Žๆ–‡ไปถใ€‚\",\"description\":\"็ณป็ปŸ่ฎฒ่งฃ TypeScript ๅฏน ES Modules ็š„็ฑปๅž‹ๅขžๅผบ๏ผŒๆถต็›– import type ่ฟ่กŒๆ—ถไผ˜ๅŒ–ใ€ๆŽฅๅฃๅฅ‘็บฆใ€ๅฃฐๆ˜Žๆ–‡ไปถ .d.ts ๅŠ tsconfig ๆจกๅ—ๅŒ–้…็ฝฎใ€‚\",\"permalink\":\"/fullstack/typescript-module-programming-enhancement\",\"tags\":[\"concept\",\"ๅ…จๆ ˆ\",\"typescript\",\"tsconfig\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไปŽ้€ป่พ‘้š”็ฆปๅˆฐ็ฑปๅž‹ๅฅ‘็บฆ๏ผšTypeScript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"date\":\"2024-05-16 21:27:36\",\"capture\":\"1. ๅผ•่จ€\\nๅœจๅŽŸ็”Ÿ JavaScript ๆจกๅ—ๅŒ–่งฃๅ†ณไบ†ไปฃ็ ็ป„็ป‡้—ฎ้ข˜ๅŽ๏ผŒTypeScript๏ผˆTS๏ผ‰่ฟ›ไธ€ๆญฅๅฐ†ๅ…ถๆŽจๅ‘ไบ†ๅทฅไธš็บง้ซ˜ๅบฆใ€‚TS ไธไป…ไป…ๆ˜ฏไธบๆจกๅ—ๆทปๅŠ ไบ†็ฑปๅž‹ๆ ‡ๆณจ๏ผŒๅฎƒ้€š่ฟ‡็ฑปๅž‹ๅฏผๅ‡บๅฏผๅ…ฅใ€็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ใ€ไปฅๅŠๅฃฐๆ˜Žๆ–‡ไปถ็ณป็ปŸ๏ผŒๅฐ†ๆจกๅ—้—ด็š„ไพ่ต–ๅ…ณ็ณปไปŽ็ฎ€ๅ•็š„โ€œไปฃ็ ๅผ•็”จโ€ๆๅ‡ๅˆฐไบ†โ€œๅฅ‘็บฆไบคไบ’โ€ใ€‚\\nๆœฌๆ–‡ๆˆ‘ไปฌๅฐ†่š็„ฆไบŽ TypeScript ๅฆ‚ไฝ•้€š่ฟ‡็ฑปๅž‹็ณป็ปŸๅขžๅผบๆจกๅ—ๅŒ–็ผ–็จ‹๏ผŒๅนถๆŽข่ฎจๅœจ็Žฐไปฃๅทฅ็จ‹๏ผˆๅฐคๅ…ถๆ˜ฏ TS 5.0+ ๆ—ถไปฃ๏ผ‰ไธ‹็š„ๆœ€ไฝณ้…็ฝฎๅฎž่ทตใ€‚\\n 2. ็ฑปๅž‹ๅฏผๅ‡บไธŽๅฏผๅ…ฅ๏ผšๆž่‡ด็š„่ฟ่กŒๆ—ถไผ˜ๅŒ–\\nTypeScript ๅฏน ES Modules ่ฏญๆณ•ๆœ€ๆ˜พ่‘—็š„ๆ‰ฉๅฑ•ๆ˜ฏๆ”ฏๆŒโ€œไป…็ฑปๅž‹โ€๏ผˆType-only๏ผ‰็š„ๅฏผๅ‡บไธŽๅฏผๅ…ฅใ€‚่ฟ™ไธไป…ๆ˜ฏ่ฏญไน‰ไธŠ็š„ๆธ…ๆ™ฐ๏ผŒๆ›ดๆ˜ฏๆ€ง\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"frontmatter\":{\"date\":\"2024-05-14 22:29:32\",\"title\":\"ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒๆ‹ฅๆŠฑๅŽŸ็”Ÿ๏ผšES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"tldr\":\"ES Modules ๆ ธๅฟƒ่ฏญๆณ•ไธŽๆ‰ง่กŒๆจกๅž‹๏ผš้™ๆ€ๅˆ†ๆžๅฆ‚ไฝ•้‡ๅก‘ๅ‰็ซฏๆž„ๅปบๆ•ˆ็އใ€‚\",\"description\":\"ๆทฑๅบฆ่งฃๆž ES Modules ๅ‘ฝๅๅฏผๅ‡บ/ๅฏผๅ…ฅใ€้ป˜่ฎคๅฏผๅ‡บใ€ๅŠจๆ€ๅฏผๅ…ฅ็ญ‰่ฏญๆณ•๏ผŒไปฅๅŠๆจกๅ—ๆ‰ง่กŒ้กบๅบใ€ๅพช็Žฏไพ่ต–ๅค„็†ไธŽ็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ๆœบๅˆถใ€‚\",\"permalink\":\"/fullstack/decode-es-modules\",\"tags\":[\"concept\",\"ESM\",\"static-analysis\",\"Tree-Shaking\",\"circular-dependency\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒๆ‹ฅๆŠฑๅŽŸ็”Ÿ๏ผšES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"date\":\"2024-05-14 22:29:32\",\"capture\":\"> \\n> ็†่งฃ ESM๏ผŒไธไป…ไป…ๆ˜ฏๅญฆไผš import ๅ’Œ export๏ผŒๆ›ด้‡่ฆ็š„ๆ˜ฏ็†่งฃๅฎƒๅฆ‚ไฝ•้€š่ฟ‡็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ๅฝปๅบ•ๆ”นๅ˜ไบ†ๅ‰็ซฏๆž„ๅปบ็š„ๆ•ˆ็އใ€‚\\n 1. ๅ‘ฝๅๅฏผๅ‡บไธŽๅฏผๅ…ฅ๏ผš็ฒพๅ‡†็š„ไปฃ็ ๅผ•็”จ\\nๅ‘ฝๅๅฏผๅ‡บ๏ผˆNamed Exports๏ผ‰ๆ˜ฏ ESM ๆœ€ๅธธ็”จ็š„ๅฝขๅผ๏ผŒๅฎƒๅ…่ฎธไธ€ไธชๆจกๅ—ๆšด้œฒๅคšไธชๆˆๅ‘˜ใ€‚ๅ…ถๆ ธๅฟƒไผ˜ๅŠฟๅœจไบŽ๏ผšๅฏผๅ…ฅๆ–นๅฏไปฅๆŒ‰้œ€ๅผ•ๅ…ฅ๏ผŒไธ” IDE ่ƒฝๆไพ›็ฒพๅ‡†็š„่กฅๅ…จใ€‚\\n่ฏญๆณ•ๅฎž่ทต๏ผš๏ผš\\n```javascript\\n// math.js - ๅ‘ฝๅๅฏผๅ‡บ\\n// ่กŒๅ†…ๅฏผๅ‡บ\\nexport const PI = 3.14159;\\nexport function circleArea(radius) {\\n return PI * rad\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†\",\"frontmatter\":{\"date\":\"2024-05-14 22:26:06\",\"title\":\"JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\",\"tldr\":\"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ็ญ‰ๆ ธๅฟƒ่ง„่Œƒ๏ผŒ้™„็Žฐไปฃ่ฟ็งป็ญ–็•ฅใ€‚\",\"description\":\"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ๅ››ๅคงๆจกๅ—ๅŒ–่ง„่Œƒ็š„ๆ ธๅฟƒ่ฏญๆณ•ไธŽ้€‚็”จๅœบๆ™ฏ๏ผŒ่งฃๆžๅ„่ง„่Œƒ็š„ๅ…ณ้”ฎๅทฎๅผ‚๏ผŒๅนถๆไพ›ไปŽๆ—ง่ง„่Œƒๅ‘ ESM ่ฟ็งป็š„ๅฎžๆ“็ญ–็•ฅใ€‚\",\"permalink\":\"/fullstack/different-module-programming-specifications\",\"tags\":[\"tutorial\",\"CommonJS\",\"AMD\",\"UMD\",\"ESM\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\",\"date\":\"2024-05-14 22:26:06\",\"capture\":\"ๅœจ JavaScript ่ฟ›ๅŒ–ๅฒไธŠ๏ผŒโ€œๆจกๅ—ๅŒ–โ€ๅง‹็ปˆๆ˜ฏไธ€ไธชๆ ธๅฟƒๅ‘ฝ้ข˜ใ€‚ไปŽๆ—ฉๆœŸ script ๆ ‡็ญพๆปกๅคฉ้ฃž็š„โ€œๆททๆฒŒๆ—ถไปฃโ€๏ผŒๅˆฐๅ„่ทฏ่ง„่Œƒ็พค้›„้€้นฟ็š„โ€œๆˆ˜ๅ›ฝๆ—ถไปฃโ€๏ผŒๅ†ๅˆฐๅฆ‚ไปŠ ES Modules ๅฎšไบŽไธ€ๅฐŠ๏ผŒๅผ€ๅ‘่€…ไปฌๅœจ่งฃๅ†ณไพ่ต–็ฎก็†ใ€ไฝœ็”จๅŸŸๆฑกๆŸ“ๅ’Œๅผ‚ๆญฅๅŠ ่ฝฝ็ญ‰้—ฎ้ข˜ไธŠไป˜ๅ‡บไบ†ๅทจๅคง็š„ๅŠชๅŠ›ใ€‚\\nๆœฌๆ–‡ๅฐ†ๅธฆไฝ ๆขณ็† JavaScript ๅކๅฒไธŠๆœ€้‡่ฆ็š„ๅ‡ ็งๆจกๅ—ๅŒ–่ง„่Œƒ๏ผŒไพฟไบŽๆž„ๅปบ่ตทๅ…จๆ ˆๅผ€ๅ‘็š„ๅบ•ๅฑ‚็Ÿฅ่ฏ†ๅ›พ่ฐฑใ€‚\\n 1. CommonJS ่ง„่Œƒ๏ผšNode.js ็”Ÿๆ€็š„ๅŸบ็Ÿณ\\nCommonJS ๆ˜ฏไผด้š Node.js ่ฏž็”Ÿ็š„่ง„่Œƒ,็”ฑ Kevin Dangoor ๆๅ‡บ๏ผŒๅˆ่กทๆ˜ฏ่ฎฉ JavaScript ่„ฑ็ฆปๆต่งˆๅ™จไนŸ่ƒฝๆž„ๅปบๅคๆ‚็š„็ณป็ปŸๅบ”็”จใ€‚ๅฎƒๆ˜ฏ Node.\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€\",\"frontmatter\":{\"date\":\"2024-05-12 22:43:28\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ๏ผšๆฆ‚ๅฟตใ€ๆผ”่ฟ›ไธŽ่ฎพ่ฎกๆจกๅผ\",\"tldr\":\"ไปŽๅ…จๅฑ€ๅ˜้‡ๅˆฐ ES Modules๏ผšJavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›ไธŽๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผๅฎž่ทตใ€‚\",\"description\":\"็ณป็ปŸ่ฎฒ่งฃ JavaScript ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€๏ผŒๆถต็›– IIFEใ€CommonJSใ€ES Modules ่ง„่Œƒๆผ”่ฟ›๏ผŒไปฅๅŠๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผไธŽๆจกๅ—ๅŒ–็š„็ป“ๅˆใ€‚\",\"permalink\":\"/fullstack/frontend-module-programming-basic\",\"tags\":[\"tutorial\",\"javascript\",\"modularization\",\"esm\",\"design-patterns\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ๏ผšๆฆ‚ๅฟตใ€ๆผ”่ฟ›ไธŽ่ฎพ่ฎกๆจกๅผ\",\"date\":\"2024-05-12 22:43:28\",\"capture\":\"1. ๅผ•่จ€\\n้š็€้กน็›ฎ่ง„ๆจกๆ—ฅ็›Š่†จ่ƒ€๏ผŒไปฃ็ ้‡ไปŽๅ‡ ๅƒ่กŒ่ฟ…้€Ÿๅขž้•ฟๅˆฐๆ•ฐไธ‡็”š่‡ณๆ•ฐๅไธ‡่กŒ๏ผŒๅฐ†ๆ‰€ๆœ‰้€ป่พ‘ๅกž่ฟ›ๅฐ‘ๆ•ฐๅ‡ ไธชๆ–‡ไปถ็š„ๅšๆณ•ๆ—ฉๅทฒ้šพไปฅไธบ็ปงใ€‚ๅœจ่ฟ™ๆ ท็š„่ƒŒๆ™ฏไธ‹๏ผŒๆจกๅ—ๅŒ–็ผ–็จ‹ๅบ”่ฟ่€Œ็”Ÿ๏ผŒๆˆไธบ็Žฐไปฃๅ‰็ซฏๅผ€ๅ‘็š„ๆ ‡้…ใ€‚\\nๅฎƒ็š„ๆ ธๅฟƒ็†ๅฟต็ฎ€ๆด่€Œไผ˜้›…๏ผšๅƒๆญ็งฏๆœจไธ€ๆ ท๏ผŒๅฐ†ๅบžๅคงๅคๆ‚็š„็ณป็ปŸๆ‹†่งฃไธบไธ€ไธชไธช็‹ฌ็ซ‹ใ€ๅŠŸ่ƒฝๅ•ไธ€ไธ”ๅฏๅค็”จ็š„ๆจกๅ—๏ผŒ่ฎฉๆฏไธชๆจกๅ—ๅ„ๅธๅ…ถ่Œ๏ผŒๅ†้€š่ฟ‡ๆ ‡ๅ‡†ๆŽฅๅฃ็ตๆดป็ป„ๅˆใ€‚\\n 2. ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ\\nๅœจๆทฑๅ…ฅ็†่ฎบไน‹ๅ‰๏ผŒ่ฎฉๆˆ‘ไปฌๅ…ˆ้€š่ฟ‡ไธ€ไธช็ฎ€ๅ•็š„ JavaScript ็คบไพ‹๏ผŒ็›ด่ง‚ๅœฐๆ„Ÿๅ—ไธ€ไธ‹ไป€ไนˆๆ˜ฏๆจกๅ—ๅŒ–ใ€‚ๅ‡่ฎพๆˆ‘ไปฌ้œ€่ฆๅค„็†ไธ€ไบ›ๆ•ฐๅญฆ่ฟ็ฎ—๏ผŒๆˆ‘ไปฌๅฏไปฅๅฐ†ๅ…ถๅฐ่ฃ…ๆˆไธ€ไธช็‹ฌ็ซ‹็š„ๅทฅๅ…ทๆจกๅ—๏ผš\\n```javascript\\n// math.js - ๅฎšไน‰ไธ€ไธชๆ•ฐๅญฆๅทฅๅ…ทๆจกๅ—\\nexp\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2024-03-20 22:41:41\",\"title\":\"ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ๅœจ้œ€ๆฑ‚่พน็•Œๅ†…่ฟฝๆฑ‚ๆœ€ๅฐๅคๆ‚ๅบฆโ€”โ€”ไธๆ˜ฏๆ‹’็ปๅคๆ‚๏ผŒ่€Œๆ˜ฏไธไธปๅŠจๅˆถ้€ ๅคๆ‚ใ€‚\",\"description\":\"ๆทฑๅ…ฅ่งฃๆžๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™ๅœจ็ผ–็จ‹ไธŽ่ฎพ่ฎกไธญ็š„ๅ…ญๅคงๅœบๆ™ฏ๏ผšๆ‹’็ป่ฟ‡ๅบฆ้ข„ๅˆคใ€็งป้™คๅ†—ไฝ™้€ป่พ‘ใ€ๅŒน้…ๆžถๆž„่ง„ๆจกใ€ๅ…‹ๅˆถไพ่ต–ๅผ•ๅ…ฅใ€ๅฐ่ฃ…ๆœ€ๅฐๆŽฅๅฃใ€ๅ…ˆๆŽ’ๆŸฅ็ฎ€ๅ•ๅŽŸๅ› ๏ผŒๅนถ็ป™ๅ‡บไธ‰ไธชๅ…ณ้”ฎ่พน็•Œใ€‚\",\"permalink\":\"/fullstack/occams-razor-software-design\",\"tags\":[\"concept\",\"engineering-fundamentals\",\"code-design\",\"software-engineering\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2024-03-20 22:41:41\",\"capture\":\"<script setup\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n> ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™็”ฑ 14 ไธ–็บช้€ป่พ‘ๅญฆๅฎถๅจๅป‰ยทๅฅฅๅกๅง†ๆๅ‡บ๏ผŒๅ…ถๆ ธๅฟƒไธบ\\\"ๅฆ‚ๆ— ๅฟ…่ฆ๏ผŒๅ‹ฟๅขžๅฎžไฝ“\\\"โ€”โ€”ๅœจๅคšไธชๅŒ็ญ‰ๆœ‰ๆ•ˆ็š„ๆ–นๆกˆไธญ๏ผŒ้€‰ๆ‹ฉๅ‡่ฎพๆœ€ๅฐ‘ใ€ๆœ€็ฎ€ๆด็š„้‚ฃไธชใ€‚่ฏฅๅŽŸๅˆ™ๅนถ้žๅฆๅฎšๅคๆ‚ๆ€ง๏ผŒ่€Œๆ˜ฏ้ฟๅ…ๆ— ๆ„ไน‰็š„่ฟ‡ๅบฆ่ฎพ่ฎกใ€‚ๆ–‡็ซ ไปŽ็ผ–็จ‹ไธŽ่ฎพ่ฎกๅฎž่ทตๅ‡บๅ‘๏ผŒไพๆฌกๆŽข่ฎจไบ†้œ€ๆฑ‚ๅฎž็Žฐใ€ไปฃ็ ๅฎž็Žฐใ€ๆžถๆž„่ฎพ่ฎกใ€ไพ่ต–็ฎก็†ใ€ๆŽฅๅฃ่ฎพ่ฎกใ€่ฐƒ่ฏ•ไผ˜ๅŒ–ๅ…ญๅคงๅœบๆ™ฏ็š„ๅไพ‹ไธŽๆญฃไพ‹๏ผŒๅนถๆ˜Ž็กฎๆŒ‡ๅ‡บไธ‰ไธชๅ…ณ้”ฎ่พน็•Œ๏ผšไธๅฏ็‰บ็‰ฒๅฏ็ปดๆŠคๆ€งใ€ๅฏๆ‰ฉๅฑ•ๆ€งใ€ๅฎ‰ๅ…จๆ€งๆขๅ–็ฎ€ๆดใ€‚\\n 1.\"}],\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview\",\"frontmatter\":{\"date\":\"2024-05-18 22:49:57\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ไปŽ ES Modules ๅˆฐๅคงๅž‹้กน็›ฎๅˆ†ๅฑ‚ๆžถๆž„ไธŽๅทฅ็จ‹ๅŒ–ๅฎž่ทต๏ผŒๆž„ๅปบๅ…จๆ ˆๆจกๅ—ๅŒ–็Ÿฅ่ฏ†ไฝ“็ณปใ€‚\",\"description\":\"็ณป็ปŸๆขณ็† JavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›๏ผˆIIFEโ†’CJSโ†’ESM๏ผ‰ใ€TypeScript ็ฑปๅž‹ๅขžๅผบใ€ๅˆ†ๅฑ‚ๆžถๆž„ไธŽ DDD ๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/module-programming-practice-guide\",\"tags\":[\"tutorial\",\"ESM\",\"DDD\",\"ๅพฎๅ‰็ซฏ\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2024-05-18 22:49:57\",\"capture\":\"1. ๅผ•่จ€\\nๆจกๅ—ๅŒ–็ผ–็จ‹ๆ˜ฏ็Žฐไปฃ JavaScript/TypeScript ๅผ€ๅ‘็š„ๆ ธๅฟƒๅŽŸๅˆ™๏ผŒๅฎƒ้€š่ฟ‡ๅฐ†ๅคๆ‚็ณป็ปŸๆ‹†ๅˆ†ไธบ็‹ฌ็ซ‹ๅฏๅค็”จ็š„ๆจกๅ—๏ผŒ้™ไฝŽ็ณป็ปŸๅคๆ‚ๆ€งๅนถๆ้ซ˜ๅฏ็ปดๆŠคๆ€งไธŽๅฏๅค็”จๆ€งใ€‚ๅ› ๆญค๏ผŒๆˆ‘ไปฌ้€š่ฟ‡็ณปๅˆ—ๆ–‡็ซ ่ฏฆ็ป†ไป‹็ปไบ†ๆจกๅ—ๅŒ–็š„ๅŸบ็ก€ๆฆ‚ๅฟตใ€ๆผ”่ฟ›ๅކ็จ‹ใ€ไธๅŒ่ง„่Œƒ็š„ๆทฑๅบฆ่งฃๆžใ€TypeScriptๆจกๅ—ๅŒ–ๅขžๅผบใ€ES Modules ๆ ธๅฟƒ่ฏญๆณ•ไธŽๅฎž่ทตใ€ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทตใ€ๅ‰็ซฏๅทฅ็จ‹ๅŒ–ไธญ็š„ๆจกๅ—ๅŒ–ใ€Node.jsไธญ็š„ๆจกๅ—ๅŒ–ๅฎž่ทตใ€ๅคงๅž‹้กน็›ฎไธญ็š„ๆจกๅ—ๅŒ–่ฎพ่ฎกใ€ๆจกๅ—ๅŒ–ไธŽไปฃ็ ็ปดๆŠคไปฅๅŠๆœชๆฅๅ‘ๅฑ•่ถ‹ๅŠฟใ€‚\\nๅ‰้ข็š„็ณปๅˆ—ๆ–‡็ซ ไธป่ฆๆœ‰๏ผš\\n- ๆจกๅ—ๅŒ–็ผ–็จ‹็ผ–็จ‹ๅˆไฝ“้ชŒไธŽๅŸบ็ก€ไป‹็ป\\n- JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\\n- ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒ\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–\",\"frontmatter\":{\"date\":\"2024-05-17 23:33:09\",\"title\":\"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“\",\"tldr\":\"Node.js CJS ไธŽ ESM ๅŒๆจกๅ…ฑๅญ˜๏ผšๆจกๅ—ๅŠ ่ฝฝๆœบๅˆถไธŽๅˆ†ๅฑ‚ๆžถๆž„ๅฎž่ทตใ€‚\",\"description\":\"่งฃๆž Node.js ไธญ CommonJS ไธŽ ES Modules ็š„ๅŒๆจกๅ…ฑๅญ˜็ญ–็•ฅ๏ผŒๆถต็›–ๆจกๅ—ๅŠ ่ฝฝไผ˜ๅ…ˆ็บงใ€็ผ“ๅญ˜ๆœบๅˆถใ€package.json exports ๆกไปถๅฏผๅ‡บๅŠ Monorepo ๆžถๆž„ๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/nodejs-module-programming-summary\",\"abstract\":\"Node.js ๆจกๅ—ๅŒ–็ปๅކไบ†ไปŽ CommonJS ็‹ฌ้œธๅคฉไธ‹ๅˆฐ ES Modules ๅ…จ้ขๆŽฅๅ…ฅ็š„่Œƒๅผ่ฝฌ็งปใ€‚ๅ…ฑๅญ˜็ญ–็•ฅ้€š่ฟ‡ .mjs/.cjs ๅŽ็ผ€ๅ’Œ package.json type ๅญ—ๆฎตๆŽงๅˆถไธค็ง่ง„่Œƒ็š„่พน็•Œ๏ผ›ESM ๅฏ็›ดๆŽฅ import CJS๏ผˆ่‡ชๅŠจๅŒ…่ฃ…ไธบ้ป˜่ฎคๅฏผๅ‡บ๏ผ‰๏ผŒไฝ† CJS ๆ— ๆณ• require ESM ๅฟ…้กปไฝฟ็”จๅŠจๆ€ importใ€‚ๆจกๅ—ๅŠ ่ฝฝ้ตๅพชๆ ธๅฟƒๆจกๅ—ไผ˜ๅ…ˆใ€ๆ–‡ไปถๆจกๅ—ใ€็›ฎๅฝ•ๆจกๅ—๏ผˆindex.js/package.json๏ผ‰ใ€node_modules ้€็บงๆŸฅๆ‰พ็š„ไผ˜ๅ…ˆ็บง๏ผ›require.cache ๅฎž็Žฐๆจกๅ—็ผ“ๅญ˜๏ผŒๆธ…้™ค็ผ“ๅญ˜๏ผˆdelete require.cache[path]๏ผ‰ๆ˜ฏ็ƒญๆ›ดๆ–ฐๅทฅๅ…ท็š„ๆ ธๅฟƒๆ“ไฝœใ€‚package.json exports ๅญ—ๆฎตๆ”ฏๆŒๆกไปถๅฏผๅ‡บ๏ผˆimport/require ่ฟ”ๅ›žไธๅŒๅ…ฅๅฃ๏ผ‰ใ€‚pnpm workspaces ๅ‡ญๅ€Ÿ็กฌ้“พๆŽฅๆœบๅˆถๆˆไธบ็Žฐไปฃ Monorepo ้ฆ–้€‰ใ€‚ๅŽ็ซฏๅˆ†ๅฑ‚ๆžถๆž„๏ผˆAPI/Service/Repository๏ผ‰ๅฎž็Žฐๅ…ณๆณจ็‚นๅˆ†็ฆป๏ผŒๆขๆ•ฐๆฎๅบ“ๅช้œ€ๆ”น Repository ๅฑ‚ใ€‚\",\"tags\":[\"concept\",\"node.js\",\"commonjs\",\"esm\",\"monorepo\",\"layered-architecture\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“\",\"date\":\"2024-05-17 23:33:09\",\"capture\":\"ๅฆ‚ๆžœ่ฏดๆต่งˆๅ™จ็ซฏ็š„ๆจกๅ—ๅŒ–ๆ˜ฏไธบไบ†\\\"ๆŒ‰้œ€ๅŠ ่ฝฝ\\\"๏ผŒ้‚ฃไนˆ Node.js ็š„ๆจกๅ—ๅŒ–ๅˆ™ๆ˜ฏไธบไบ†\\\"ไปฃ็ ็ป„็ป‡\\\"ใ€‚ไฝœไธบๅฐ† JavaScript ๅธฆๅ…ฅๆœๅŠกๅ™จ็ซฏ็š„ๅ…ˆ้ฉฑ๏ผŒNode.js ็ปๅކไบ†ไปŽ CommonJS (CJS) ็‹ฌ้œธๅคฉไธ‹ๅˆฐ ES Modules (ESM) ๅ…จ้ขๆŽฅๅ…ฅ็š„่Œƒๅผ่ฝฌ็งปใ€‚\\nๅœจๆœๅŠกๅ™จ็ซฏ๏ผŒๆจกๅ—ๅŒ–ไธไป…ไป…ๆ˜ฏไธบไบ†ๆ‹†ๅˆ†ไปฃ็ ๏ผŒๆ›ดๆ˜ฏไธบไบ†ๆž„ๅปบๆธ…ๆ™ฐ็š„้กน็›ฎ็ป“ๆž„ใ€็ฎก็†ไพ่ต–ๅ…ณ็ณป๏ผŒไปฅๅŠๅฎž็Žฐไปฃ็ ็š„ๅค็”จไธŽ็ปดๆŠคใ€‚\\n 1. CommonJS ไธŽ ES Modules ๅŒๆจกๅ…ฑๅญ˜\\nๅœจ็Žฐไปฃ Node.js ๅผ€ๅ‘ไธญ๏ผŒๆˆ‘ไปฌ็ปๅธธ้ขไธดไธค็ง่ง„่Œƒไบค็ป‡็š„ๆƒ…ๅ†ตใ€‚่ฟ™ไธไป…ๆ˜ฏๆ–‡ไปถๅŽ็ผ€็š„ๆ”นๅ˜๏ผŒๆ›ดๆ˜ฏๅŒๆญฅไธŽๅผ‚ๆญฅๅŠ ่ฝฝ้€ป่พ‘็š„ๅšๅผˆใ€‚\\nๅ…ฑๅญ˜็ญ–็•ฅ๏ผš\\n1. ๅŽ็ผ€ๅ†ณๅฎš่ฎบ๏ผš`.mjs\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต\",\"frontmatter\":{\"date\":\"2024-05-17 22:30:50\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ๆขณ็†ไธŽๆ€ป็ป“\",\"tldr\":\"ๆŽŒๆก้ซ˜ๅ†…่šไฝŽ่€ฆๅˆๅŽŸๅˆ™๏ผšๆจกๅ—ๅŒ–็ผ–็จ‹็š„่ฎพ่ฎกๅ‡†ๅˆ™ไธŽ็ฒ’ๅบฆๆŽงๅˆถใ€‚\",\"description\":\"็ณป็ปŸๆขณ็†ๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅ…ญๅคงๆ ธๅฟƒๅŽŸๅˆ™๏ผšๅ•ไธ€่Œ่ดฃใ€้ซ˜ๅ†…่šไฝŽ่€ฆๅˆใ€็ฒ’ๅบฆ่ฎพ่ฎกใ€ๅ‘ฝๅ่ง„่ŒƒๅŠๆจกๅ—็‰ˆๆœฌ็ฎก็†๏ผŒ้™„่ฏฆ็ป†็š„ๅทฅ็จ‹ๅฎž่ทตๅปบ่ฎฎไธŽ้ฟๅ‘ๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/fullstack/module-programming-principles-best-practices\",\"abstract\":\"ๅฆ‚ๆžœ่ฏดๆŽŒๆกๆจกๅ—ๅŒ–่ฏญๆณ•ๆ˜ฏๆœฏ๏ผŒ้‚ฃไนˆ็†่งฃๅ…ถ่ƒŒๅŽ็š„่ฎพ่ฎกๅŽŸๅˆ™ๅฐฑๆ˜ฏ้“ใ€‚ๅ•ไธ€่Œ่ดฃๅŽŸๅˆ™ๅผบ่ฐƒๆจกๅ—ๅชๅบ”ๆœ‰ไธ€ไธช่ขซๆ”นๅ˜็š„ๅŽŸๅ› ๏ผŒ้ฟๅ… God Object ๅๆจกๅผใ€‚้ซ˜ๅ†…่šไฝŽ่€ฆๅˆๆ˜ฏ่กก้‡ๆจกๅ—่ดจ้‡็š„็ปˆๆžๆ ‡ๅ‡†โ€”โ€”ๆจกๅ—ๅ†…้ƒจๅ…ƒ็ด ่”็ณป็ดงๅฏ†๏ผŒๆจกๅ—ไน‹้—ดไพ่ต–ๅ…ณ็ณปๅฐฝๅฏ่ƒฝ็ฎ€ๅ•ใ€‚็ฒ’ๅบฆ่ฎพ่ฎก่ฆๆฑ‚ๅ•ไธชๆจกๅ—ไฟๆŒๅœจ 100-500 ่กŒไน‹้—ด๏ผŒๅŠŸ่ƒฝ่ƒฝ็”จไธ€ๅฅ่ฏๆธ…ๆ™ฐๆ่ฟฐ๏ผŒๅ‡บ็Žฐๅคšๅˆ†ๆ”ฏๅคๆ‚้€ป่พ‘ๆ—ถ้€šๅธธๆ˜ฏๆ‹†ๅˆ†ไฟกๅทใ€‚ๅ‘ฝๅ่ง„่Œƒ็ปŸไธ€ๅ›ข้˜ŸๆฒŸ้€š่ฏญๅขƒ๏ผˆkebab-case ๆ–‡ไปถๅใ€camelCase ๆ–นๆณ•ๅใ€PascalCase ็ฑปๅ๏ผ‰ใ€‚ๆจกๅ—็‰ˆๆœฌ็ฎก็†้ตๅพช SemVer ่ฏญไน‰ๅŒ–็‰ˆๆœฌ๏ผŒไธบๅ…ฌๅ…ฑๆจกๅ—็š„็ปดๆŠค่€…ไธŽไฝฟ็”จ่€…ๅปบ็ซ‹ๅฅ‘็บฆใ€‚ๅผบ่ฐƒๆธ…ๆ™ฐ็š„ๆจกๅ—่พน็•Œๆ˜ฏ AI ่พ…ๅŠฉ็ผ–็จ‹ๆ—ถไปฃ AI ๅ‡†็กฎ็†่งฃไปฃ็ ็š„ๅ‰ๆใ€‚\",\"tags\":[\"concept\",\"solid-principles\",\"code-organization\",\"best-practices\",\"naming-conventions\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ๆขณ็†ไธŽๆ€ป็ป“\",\"date\":\"2024-05-17 22:30:50\",\"capture\":\"1. ๅ•ไธ€่Œ่ดฃๅŽŸๅˆ™\\nๆ ธๅฟƒๆ€ๆƒณ๏ผšไธ€ไธชๆจกๅ—ๅบ”ๅฝ“ๆœ‰ไธ”ๅชๆœ‰ไธ€ไธช่ขซๆ”นๅ˜็š„ๅŽŸๅ› ใ€‚\\nๆจกๅ—ไธๅบ”ๆˆไธบๅŠŸ่ƒฝ็š„โ€œๆ‚่ดง้“บโ€ใ€‚ๅฝ“ไธ€ไธชๆจกๅ—ๆ‰ฟๆ‹…ไบ†ๅคชๅคšไธ็›ธๅ…ณ็š„ไธšๅŠก้€ป่พ‘ๆ—ถ๏ผŒๅฎƒ็š„ๅคๆ‚ๅบฆไผšๅ‘ˆๆŒ‡ๆ•ฐ็บงไธŠๅ‡๏ผŒไปปไฝ•ๅพฎๅฐ็š„ๆ”นๅŠจ้ƒฝๅฏ่ƒฝๅผ•ๅ‘ๆ„ๆƒณไธๅˆฐ็š„่ฟž้”ๅๅบ”ใ€‚\\nไปฃ็ ๆผ”็คบ๏ผš\\n```javascript\\n// โœ… ๆŽจ่๏ผš่Œ่ดฃๆ‹†ๅˆ†ๆ˜Ž็กฎ\\n// user-service.js - ไป…ๅค„็†็”จๆˆทๆ•ฐๆฎ็š„ CRUD\\nexport const getUser = async (id) => { /* ... */ };\\n// auth-provider.js - ไป…ๅค„็†้‰ดๆƒ็Šถๆ€ไธŽ้€ป่พ‘\\nexport const login = async (credenti\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"frontmatter\":{\"date\":\"2024-05-16 21:27:36\",\"title\":\"ไปŽ้€ป่พ‘้š”็ฆปๅˆฐ็ฑปๅž‹ๅฅ‘็บฆ๏ผšTypeScript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"tldr\":\"TypeScript ๅฐ†ๆจกๅ—ไพ่ต–ๆๅ‡ไธบ็ผ–่ฏ‘ๆ—ถ็ฑปๅž‹ๅฅ‘็บฆ๏ผŒไปŽ import type ๅˆฐๅฃฐๆ˜Žๆ–‡ไปถใ€‚\",\"description\":\"็ณป็ปŸ่ฎฒ่งฃ TypeScript ๅฏน ES Modules ็š„็ฑปๅž‹ๅขžๅผบ๏ผŒๆถต็›– import type ่ฟ่กŒๆ—ถไผ˜ๅŒ–ใ€ๆŽฅๅฃๅฅ‘็บฆใ€ๅฃฐๆ˜Žๆ–‡ไปถ .d.ts ๅŠ tsconfig ๆจกๅ—ๅŒ–้…็ฝฎใ€‚\",\"permalink\":\"/fullstack/typescript-module-programming-enhancement\",\"tags\":[\"concept\",\"ๅ…จๆ ˆ\",\"typescript\",\"tsconfig\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไปŽ้€ป่พ‘้š”็ฆปๅˆฐ็ฑปๅž‹ๅฅ‘็บฆ๏ผšTypeScript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"date\":\"2024-05-16 21:27:36\",\"capture\":\"1. ๅผ•่จ€\\nๅœจๅŽŸ็”Ÿ JavaScript ๆจกๅ—ๅŒ–่งฃๅ†ณไบ†ไปฃ็ ็ป„็ป‡้—ฎ้ข˜ๅŽ๏ผŒTypeScript๏ผˆTS๏ผ‰่ฟ›ไธ€ๆญฅๅฐ†ๅ…ถๆŽจๅ‘ไบ†ๅทฅไธš็บง้ซ˜ๅบฆใ€‚TS ไธไป…ไป…ๆ˜ฏไธบๆจกๅ—ๆทปๅŠ ไบ†็ฑปๅž‹ๆ ‡ๆณจ๏ผŒๅฎƒ้€š่ฟ‡็ฑปๅž‹ๅฏผๅ‡บๅฏผๅ…ฅใ€็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ใ€ไปฅๅŠๅฃฐๆ˜Žๆ–‡ไปถ็ณป็ปŸ๏ผŒๅฐ†ๆจกๅ—้—ด็š„ไพ่ต–ๅ…ณ็ณปไปŽ็ฎ€ๅ•็š„โ€œไปฃ็ ๅผ•็”จโ€ๆๅ‡ๅˆฐไบ†โ€œๅฅ‘็บฆไบคไบ’โ€ใ€‚\\nๆœฌๆ–‡ๆˆ‘ไปฌๅฐ†่š็„ฆไบŽ TypeScript ๅฆ‚ไฝ•้€š่ฟ‡็ฑปๅž‹็ณป็ปŸๅขžๅผบๆจกๅ—ๅŒ–็ผ–็จ‹๏ผŒๅนถๆŽข่ฎจๅœจ็Žฐไปฃๅทฅ็จ‹๏ผˆๅฐคๅ…ถๆ˜ฏ TS 5.0+ ๆ—ถไปฃ๏ผ‰ไธ‹็š„ๆœ€ไฝณ้…็ฝฎๅฎž่ทตใ€‚\\n 2. ็ฑปๅž‹ๅฏผๅ‡บไธŽๅฏผๅ…ฅ๏ผšๆž่‡ด็š„่ฟ่กŒๆ—ถไผ˜ๅŒ–\\nTypeScript ๅฏน ES Modules ่ฏญๆณ•ๆœ€ๆ˜พ่‘—็š„ๆ‰ฉๅฑ•ๆ˜ฏๆ”ฏๆŒโ€œไป…็ฑปๅž‹โ€๏ผˆType-only๏ผ‰็š„ๅฏผๅ‡บไธŽๅฏผๅ…ฅใ€‚่ฟ™ไธไป…ๆ˜ฏ่ฏญไน‰ไธŠ็š„ๆธ…ๆ™ฐ๏ผŒๆ›ดๆ˜ฏๆ€ง\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"frontmatter\":{\"date\":\"2024-05-14 22:29:32\",\"title\":\"ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒๆ‹ฅๆŠฑๅŽŸ็”Ÿ๏ผšES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"tldr\":\"ES Modules ๆ ธๅฟƒ่ฏญๆณ•ไธŽๆ‰ง่กŒๆจกๅž‹๏ผš้™ๆ€ๅˆ†ๆžๅฆ‚ไฝ•้‡ๅก‘ๅ‰็ซฏๆž„ๅปบๆ•ˆ็އใ€‚\",\"description\":\"ๆทฑๅบฆ่งฃๆž ES Modules ๅ‘ฝๅๅฏผๅ‡บ/ๅฏผๅ…ฅใ€้ป˜่ฎคๅฏผๅ‡บใ€ๅŠจๆ€ๅฏผๅ…ฅ็ญ‰่ฏญๆณ•๏ผŒไปฅๅŠๆจกๅ—ๆ‰ง่กŒ้กบๅบใ€ๅพช็Žฏไพ่ต–ๅค„็†ไธŽ็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ๆœบๅˆถใ€‚\",\"permalink\":\"/fullstack/decode-es-modules\",\"tags\":[\"concept\",\"ESM\",\"static-analysis\",\"Tree-Shaking\",\"circular-dependency\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒๆ‹ฅๆŠฑๅŽŸ็”Ÿ๏ผšES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"date\":\"2024-05-14 22:29:32\",\"capture\":\"> \\n> ็†่งฃ ESM๏ผŒไธไป…ไป…ๆ˜ฏๅญฆไผš import ๅ’Œ export๏ผŒๆ›ด้‡่ฆ็š„ๆ˜ฏ็†่งฃๅฎƒๅฆ‚ไฝ•้€š่ฟ‡็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ๅฝปๅบ•ๆ”นๅ˜ไบ†ๅ‰็ซฏๆž„ๅปบ็š„ๆ•ˆ็އใ€‚\\n 1. ๅ‘ฝๅๅฏผๅ‡บไธŽๅฏผๅ…ฅ๏ผš็ฒพๅ‡†็š„ไปฃ็ ๅผ•็”จ\\nๅ‘ฝๅๅฏผๅ‡บ๏ผˆNamed Exports๏ผ‰ๆ˜ฏ ESM ๆœ€ๅธธ็”จ็š„ๅฝขๅผ๏ผŒๅฎƒๅ…่ฎธไธ€ไธชๆจกๅ—ๆšด้œฒๅคšไธชๆˆๅ‘˜ใ€‚ๅ…ถๆ ธๅฟƒไผ˜ๅŠฟๅœจไบŽ๏ผšๅฏผๅ…ฅๆ–นๅฏไปฅๆŒ‰้œ€ๅผ•ๅ…ฅ๏ผŒไธ” IDE ่ƒฝๆไพ›็ฒพๅ‡†็š„่กฅๅ…จใ€‚\\n่ฏญๆณ•ๅฎž่ทต๏ผš๏ผš\\n```javascript\\n// math.js - ๅ‘ฝๅๅฏผๅ‡บ\\n// ่กŒๅ†…ๅฏผๅ‡บ\\nexport const PI = 3.14159;\\nexport function circleArea(radius) {\\n return PI * rad\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†\",\"frontmatter\":{\"date\":\"2024-05-14 22:26:06\",\"title\":\"JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\",\"tldr\":\"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ็ญ‰ๆ ธๅฟƒ่ง„่Œƒ๏ผŒ้™„็Žฐไปฃ่ฟ็งป็ญ–็•ฅใ€‚\",\"description\":\"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ๅ››ๅคงๆจกๅ—ๅŒ–่ง„่Œƒ็š„ๆ ธๅฟƒ่ฏญๆณ•ไธŽ้€‚็”จๅœบๆ™ฏ๏ผŒ่งฃๆžๅ„่ง„่Œƒ็š„ๅ…ณ้”ฎๅทฎๅผ‚๏ผŒๅนถๆไพ›ไปŽๆ—ง่ง„่Œƒๅ‘ ESM ่ฟ็งป็š„ๅฎžๆ“็ญ–็•ฅใ€‚\",\"permalink\":\"/fullstack/different-module-programming-specifications\",\"tags\":[\"tutorial\",\"CommonJS\",\"AMD\",\"UMD\",\"ESM\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\",\"date\":\"2024-05-14 22:26:06\",\"capture\":\"ๅœจ JavaScript ่ฟ›ๅŒ–ๅฒไธŠ๏ผŒโ€œๆจกๅ—ๅŒ–โ€ๅง‹็ปˆๆ˜ฏไธ€ไธชๆ ธๅฟƒๅ‘ฝ้ข˜ใ€‚ไปŽๆ—ฉๆœŸ script ๆ ‡็ญพๆปกๅคฉ้ฃž็š„โ€œๆททๆฒŒๆ—ถไปฃโ€๏ผŒๅˆฐๅ„่ทฏ่ง„่Œƒ็พค้›„้€้นฟ็š„โ€œๆˆ˜ๅ›ฝๆ—ถไปฃโ€๏ผŒๅ†ๅˆฐๅฆ‚ไปŠ ES Modules ๅฎšไบŽไธ€ๅฐŠ๏ผŒๅผ€ๅ‘่€…ไปฌๅœจ่งฃๅ†ณไพ่ต–็ฎก็†ใ€ไฝœ็”จๅŸŸๆฑกๆŸ“ๅ’Œๅผ‚ๆญฅๅŠ ่ฝฝ็ญ‰้—ฎ้ข˜ไธŠไป˜ๅ‡บไบ†ๅทจๅคง็š„ๅŠชๅŠ›ใ€‚\\nๆœฌๆ–‡ๅฐ†ๅธฆไฝ ๆขณ็† JavaScript ๅކๅฒไธŠๆœ€้‡่ฆ็š„ๅ‡ ็งๆจกๅ—ๅŒ–่ง„่Œƒ๏ผŒไพฟไบŽๆž„ๅปบ่ตทๅ…จๆ ˆๅผ€ๅ‘็š„ๅบ•ๅฑ‚็Ÿฅ่ฏ†ๅ›พ่ฐฑใ€‚\\n 1. CommonJS ่ง„่Œƒ๏ผšNode.js ็”Ÿๆ€็š„ๅŸบ็Ÿณ\\nCommonJS ๆ˜ฏไผด้š Node.js ่ฏž็”Ÿ็š„่ง„่Œƒ,็”ฑ Kevin Dangoor ๆๅ‡บ๏ผŒๅˆ่กทๆ˜ฏ่ฎฉ JavaScript ่„ฑ็ฆปๆต่งˆๅ™จไนŸ่ƒฝๆž„ๅปบๅคๆ‚็š„็ณป็ปŸๅบ”็”จใ€‚ๅฎƒๆ˜ฏ Node.\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€\",\"frontmatter\":{\"date\":\"2024-05-12 22:43:28\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ๏ผšๆฆ‚ๅฟตใ€ๆผ”่ฟ›ไธŽ่ฎพ่ฎกๆจกๅผ\",\"tldr\":\"ไปŽๅ…จๅฑ€ๅ˜้‡ๅˆฐ ES Modules๏ผšJavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›ไธŽๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผๅฎž่ทตใ€‚\",\"description\":\"็ณป็ปŸ่ฎฒ่งฃ JavaScript ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€๏ผŒๆถต็›– IIFEใ€CommonJSใ€ES Modules ่ง„่Œƒๆผ”่ฟ›๏ผŒไปฅๅŠๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผไธŽๆจกๅ—ๅŒ–็š„็ป“ๅˆใ€‚\",\"permalink\":\"/fullstack/frontend-module-programming-basic\",\"tags\":[\"tutorial\",\"javascript\",\"modularization\",\"esm\",\"design-patterns\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ๏ผšๆฆ‚ๅฟตใ€ๆผ”่ฟ›ไธŽ่ฎพ่ฎกๆจกๅผ\",\"date\":\"2024-05-12 22:43:28\",\"capture\":\"1. ๅผ•่จ€\\n้š็€้กน็›ฎ่ง„ๆจกๆ—ฅ็›Š่†จ่ƒ€๏ผŒไปฃ็ ้‡ไปŽๅ‡ ๅƒ่กŒ่ฟ…้€Ÿๅขž้•ฟๅˆฐๆ•ฐไธ‡็”š่‡ณๆ•ฐๅไธ‡่กŒ๏ผŒๅฐ†ๆ‰€ๆœ‰้€ป่พ‘ๅกž่ฟ›ๅฐ‘ๆ•ฐๅ‡ ไธชๆ–‡ไปถ็š„ๅšๆณ•ๆ—ฉๅทฒ้šพไปฅไธบ็ปงใ€‚ๅœจ่ฟ™ๆ ท็š„่ƒŒๆ™ฏไธ‹๏ผŒๆจกๅ—ๅŒ–็ผ–็จ‹ๅบ”่ฟ่€Œ็”Ÿ๏ผŒๆˆไธบ็Žฐไปฃๅ‰็ซฏๅผ€ๅ‘็š„ๆ ‡้…ใ€‚\\nๅฎƒ็š„ๆ ธๅฟƒ็†ๅฟต็ฎ€ๆด่€Œไผ˜้›…๏ผšๅƒๆญ็งฏๆœจไธ€ๆ ท๏ผŒๅฐ†ๅบžๅคงๅคๆ‚็š„็ณป็ปŸๆ‹†่งฃไธบไธ€ไธชไธช็‹ฌ็ซ‹ใ€ๅŠŸ่ƒฝๅ•ไธ€ไธ”ๅฏๅค็”จ็š„ๆจกๅ—๏ผŒ่ฎฉๆฏไธชๆจกๅ—ๅ„ๅธๅ…ถ่Œ๏ผŒๅ†้€š่ฟ‡ๆ ‡ๅ‡†ๆŽฅๅฃ็ตๆดป็ป„ๅˆใ€‚\\n 2. ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ\\nๅœจๆทฑๅ…ฅ็†่ฎบไน‹ๅ‰๏ผŒ่ฎฉๆˆ‘ไปฌๅ…ˆ้€š่ฟ‡ไธ€ไธช็ฎ€ๅ•็š„ JavaScript ็คบไพ‹๏ผŒ็›ด่ง‚ๅœฐๆ„Ÿๅ—ไธ€ไธ‹ไป€ไนˆๆ˜ฏๆจกๅ—ๅŒ–ใ€‚ๅ‡่ฎพๆˆ‘ไปฌ้œ€่ฆๅค„็†ไธ€ไบ›ๆ•ฐๅญฆ่ฟ็ฎ—๏ผŒๆˆ‘ไปฌๅฏไปฅๅฐ†ๅ…ถๅฐ่ฃ…ๆˆไธ€ไธช็‹ฌ็ซ‹็š„ๅทฅๅ…ทๆจกๅ—๏ผš\\n```javascript\\n// math.js - ๅฎšไน‰ไธ€ไธชๆ•ฐๅญฆๅทฅๅ…ทๆจกๅ—\\nexp\"}],\"growth\":[{\"url\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/01.ๅฅฝไนฆๆŽจ่\",\"relativePath\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/01.ๅฅฝไนฆๆŽจ่\",\"frontmatter\":{\"title\":\"ๅฅฝไนฆๆŽจ่\",\"date\":\"2024-01-01 16:00:00\",\"description\":\"่ฏปไนฆๅฟƒๅพ—ใ€ๆŽจ่ไนฆ็ฑๅ’Œ้˜…่ฏปๆŠ€ๅทง\",\"categories\":[\"growth\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/books_reading_bg.png\",\"permalink\":\"/growth/books\",\"tags\":[\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\",\"่ต„ๆบๆŽจ่\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฅฝไนฆๆŽจ่\",\"date\":\"2024-01-01 16:00:00\",\"capture\":\"<script setup\\n import BookRecommend from './@fragment/BookRecommend.vue'\\n import {aiBooks, productSenseBooks, businessBooks, efficiencyBooks, growthBooks, humanSocialBooks, healthBooks} from './@fragment/recommends-data.ts'\\n</script>\\n 1. AI ไธŽๆ•ฐๅญฆๆ€็ปด\\n> ๅœจๅคงๆจกๅž‹ๅ‘ๅฑ•ๆ—ฅๆ–ฐๆœˆๅผ‚็š„ไปŠๅคฉ๏ผŒ็†่งฃ AI ๆœฌ่ดจไธŠๆ˜ฏๅœจๅ‡็บงๆˆ‘ไปฌ่ต„ๆทฑ็š„โ€œ่ฎค็Ÿฅๆ“\"}]},\"tags\":{\"Agent SDK\":[{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/10.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Deep Research Agent\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/10.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Deep Research Agent\",\"frontmatter\":{\"date\":\"2026-04-02 00:38:37\",\"title\":\"ๅฃฐๆ˜Žๅผๅคšๆ™บ่ƒฝไฝ“ๅๅŒ๏ผšๅŸบไบŽ Claude Agent SDK ๆž„ๅปบๆทฑๅบฆ็ ”็ฉถ็ณป็ปŸ\",\"description\":\"ๅฏนๅคๆ‚็ ”็ฉถไปปๅŠกๆ—ถ๏ผŒๅ•ๆ™บ่ƒฝไฝ“๏ผˆSingle-Agent๏ผ‰ๅธธๅ› ไธŠไธ‹ๆ–‡็จ€้‡Šๅ’Œ้€ป่พ‘็–ฒๅŠณๅฏผ่‡ดไบงๅ‡บ่ดจ้‡ไธ‹้™ใ€‚ๆœฌๆ–‡ๅŸบไบŽ Claude Agent SDK ๆŽข่ฎจไบ†ๅคšๆ™บ่ƒฝไฝ“็ณป็ปŸ๏ผˆMAS๏ผ‰็š„ๅทฅ็จ‹ๅŒ–่ฝๅœฐใ€‚้€š่ฟ‡โ€œLead + Subagentโ€็š„ๅฃฐๆ˜Žๅผๆžถๆž„๏ผŒๆˆ‘ไปฌๅฐ†ๆทฑๅบฆ็ ”็ฉถๆ‹†่งฃไธบๆœ็ดขใ€้‡ๅŒ–ๅˆ†ๆžใ€ๅฏ่ง†ๅŒ–็ป˜ๅ›พไธŽ็ป“ๆž„ๅŒ–ๅ†™ไฝœๅ››ไธช็‹ฌ็ซ‹็Žฏ่Š‚ใ€‚\",\"permalink\":\"/ai-agent/deepresearch-agent\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"],\"tags\":[\"Agent SDK\",\"Multi-Agent\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฃฐๆ˜Žๅผๅคšๆ™บ่ƒฝไฝ“ๅๅŒ๏ผšๅŸบไบŽ Claude Agent SDK ๆž„ๅปบๆทฑๅบฆ็ ”็ฉถ็ณป็ปŸ\",\"date\":\"2026-04-02 00:38:37\",\"capture\":\"> ๅฎž่ทต่ฏๆ˜Ž๏ผŒ้€š่ฟ‡ไธฅๆ ผ็š„่Œ่ดฃ้š”็ฆป๏ผˆๅฆ‚ Lead Agent ไป…่ดŸ่ดฃ่ฐƒๅบฆ๏ผ‰ไธŽๅทฅ็จ‹่พน็•Œ็บฆๆŸ๏ผˆๅฆ‚ Researcher ๅผบๅˆถๆๅ–้‡ๅŒ–ๆŒ‡ๆ ‡๏ผ‰๏ผŒMAS ่ƒฝๅคŸ็”Ÿๆˆๅ…ทๅค‡ไธ“ไธšๆ•ฐๆฎๅ›พ่กจๆ”ฏๆ’‘็š„ๆทฑๅบฆๆŠฅๅ‘Šใ€‚ๆœฌๆ–‡ๅฐ†ไปŽๆžถๆž„่ฎพ่ฎกใ€ๅทฅไฝœๆต็ผ–ๆŽ’ๅˆฐ PDF ่‡ชๅŠจ็”Ÿๆˆ๏ผŒๅฎŒๆ•ด่ฟ˜ๅŽŸ่ฟ™ไธ€โ€œAI ้ฉฑๅŠจ่ฐƒ็ ”ๆตๆฐด็บฟโ€็š„ๆž„ๅปบ่ฟ‡็จ‹๏ผŒๅนถๅฑ•็คบๅ…ถๅœจๆ•™่‚ฒ็ ”็ฉถๆกˆไพ‹ไธญ็š„ๅฎžๆˆ˜ๆ•ˆๆžœใ€‚\\n 1. ๅผ•่จ€\\nๅœจ AI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐไธ€ๆ–‡ไธญ๏ผŒๆˆ‘ไปฌๆŽข่ฎจไบ†ๅคšๆ™บ่ƒฝไฝ“็ณป็ปŸ๏ผˆMulti-Agent Systems, MAS๏ผ‰็š„็†่ฎบไผ˜ๅŠฟใ€‚ไปŽ็†่ฎบๅฑ‚้ข็œ‹๏ผŒ่ฟ™็ฑป็ณป็ปŸ้€š่ฟ‡ไปปๅŠกๅˆ†่งฃใ€่Œ่ดฃ้š”็ฆปไธŽๅนถ่กŒๅไฝœๆœบๅˆถ๏ผŒๆœ‰ๆ•ˆ็ช็ ดไบ†ๅ•ๆ™บ่ƒฝไฝ“ๅœจๅคๆ‚ไปปๅŠกไธญ็š„่ƒฝๅŠ›็“ถ้ขˆโ€”โ€”ไธไป…ๆ˜พ่‘—ๆๅ‡ไบ†ไปปๅŠกๅค„็†็š„ๅคฉ่Šฑๆฟ\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/20.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Agent\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/20.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Agent\",\"frontmatter\":{\"date\":\"2026-03-06 00:37:58\",\"title\":\"ๅ‘Šๅˆซๆ‰‹ๅŠจ Loop๏ผšๅ€ŸๅŠฉ Claude Agent SDK ๅฎž็Žฐ Agent ็š„ๅทฅ็จ‹ๅŒ–้—ญ็Žฏ\",\"description\":\"ๅœจ Agent ๆŠ€ๆœฏๅฟซ้€Ÿ่ตฐๅ‘ๆˆ็†Ÿ็š„ไปŠๅคฉ๏ผŒๅฆ‚ไฝ•ไฝŽๆˆๆœฌๆž„ๅปบๅ…ทๅค‡โ€œ่‡ชไธปๆดžๅฏŸโ€่ƒฝๅŠ›็š„ๆ™บ่ƒฝไฝ“๏ผŸๆœฌๆ–‡ๆทฑๅบฆๆ‹†่งฃ Anthropic ๅฎ˜ๆ–นๆŽจๅ‡บ็š„ Claude Agent SDK๏ผŒ่งฃๆžๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆ‰˜็ฎก Agent Loop ๅ’Œไผš่ฏๆŒไน…ๅŒ–ๆœบๅˆถ๏ผŒ่งฃๅ†ณ Agent ๅผ€ๅ‘ไธญ็š„็Šถๆ€็ฎก็†้šพ้ข˜ใ€‚ๆ–‡็ซ ้€š่ฟ‡ไปŽๆ— ็Šถๆ€ไบคไบ’ๅˆฐๅ…ทๅค‡ๆตๅผ่พ“ๅ‡บ่ƒฝๅŠ›็š„ TUI ่‡ชๅŠจๅŒ–ๅทฅๅ…ท่ฟ›้˜ถๅฎžๆˆ˜๏ผŒๅฑ•็คบไบ†ๆž„ๅปบไฝŽๆˆๆœฌใ€้ซ˜ๅฏ็”จ AI ๅŽŸ็”Ÿๅบ”็”จ็š„ๅฎŒๆ•ด่ทฏๅพ„ใ€‚\",\"permalink\":\"/ai-practice/claude-agent-sdk-basic-build\",\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"],\"tags\":[\"Agent\",\"Agent SDK\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ‘Šๅˆซๆ‰‹ๅŠจ Loop๏ผšๅ€ŸๅŠฉ Claude Agent SDK ๅฎž็Žฐ Agent ็š„ๅทฅ็จ‹ๅŒ–้—ญ็Žฏ\",\"date\":\"2026-03-06 00:37:58\",\"capture\":\"1. ๅผ•่จ€\\nๅฝ“ๅ‰๏ผŒAI Agent ็š„ๆผ”่ฟ›ๅทฒ่ฟ›ๅ…ฅไธ€ไธชๅดญๆ–ฐ็š„้˜ถๆฎตโ€”โ€”ไปŽ้œ€่ฆ้ข‘็นไบบๅทฅๅนฒ้ข„็š„\\\"ๅŠ่‡ชๅŠจ\\\"ๆจกๅผ๏ผŒ่ฟ›ๅŒ–ไธบ่ƒฝๅคŸ่‡ชไธปๆดžๅฏŸ็Žฏๅขƒๅ˜ๅŒ–ใ€ๅŠจๆ€่ฐƒๆ•ดๆ‰ง่กŒ็ญ–็•ฅใ€ๅฎž็ŽฐไธšๅŠกๆต็จ‹่‡ช้€‚ๅบ”็ผ–ๆŽ’็š„ๆ™บ่ƒฝๅŒ–็ณป็ปŸใ€‚Claude Codeใ€Manusใ€OpenClaw ็ญ‰ไปฃ่กจๆ€งไบงๅ“ๅฑ‚ๅ‡บไธ็ฉท๏ผŒไนŸๆ ‡ๅฟ—็€ Agent ๆŠ€ๆœฏๆญฃๅœจๅฟซ้€Ÿ่ตฐๅ‘ๆˆ็†ŸไธŽๆ™ฎๅŠใ€‚\\n่ฟ‘ๆœŸ๏ผŒ็ฌ”่€…ๅœจไธบไธชไบบๅšๅฎขๅผ•ๅ…ฅๆ™บ่ƒฝๅŒ–่ฟ่ฅ่ƒฝๅŠ›๏ผˆๅฆ‚ๅ†…ๅฎน่‡ชๅŠจๆ กๅฏนใ€ๅฎก็จฟไธŽๅ‘ๅธƒ๏ผ‰๏ผŒๆทฑๅ…ฅ็ ”็ฉถไบ†ๅคšๆฌพ Agent ๅผ€ๅ‘ๆก†ๆžถ๏ผŒๅฆ‚ Claude Agent SDKใ€Langchainใ€LangGraph ็ญ‰ใ€‚ๅœจ็ป่ฟ‡ๅˆๆญฅ็š„็ ”็ฉถๅฏนๆฏ”ๅˆ†ๆžๅŽ๏ผŒClaude Agent SDK ๆˆไธบไบ†ไฝŽๆˆๆœฌๆž„ๅปบ้ซ˜ๅฏ็”จ Agent\"}],\"Multi-Agent\":[{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/10.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Deep Research Agent\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/10.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Deep Research Agent\",\"frontmatter\":{\"date\":\"2026-04-02 00:38:37\",\"title\":\"ๅฃฐๆ˜Žๅผๅคšๆ™บ่ƒฝไฝ“ๅๅŒ๏ผšๅŸบไบŽ Claude Agent SDK ๆž„ๅปบๆทฑๅบฆ็ ”็ฉถ็ณป็ปŸ\",\"description\":\"ๅฏนๅคๆ‚็ ”็ฉถไปปๅŠกๆ—ถ๏ผŒๅ•ๆ™บ่ƒฝไฝ“๏ผˆSingle-Agent๏ผ‰ๅธธๅ› ไธŠไธ‹ๆ–‡็จ€้‡Šๅ’Œ้€ป่พ‘็–ฒๅŠณๅฏผ่‡ดไบงๅ‡บ่ดจ้‡ไธ‹้™ใ€‚ๆœฌๆ–‡ๅŸบไบŽ Claude Agent SDK ๆŽข่ฎจไบ†ๅคšๆ™บ่ƒฝไฝ“็ณป็ปŸ๏ผˆMAS๏ผ‰็š„ๅทฅ็จ‹ๅŒ–่ฝๅœฐใ€‚้€š่ฟ‡โ€œLead + Subagentโ€็š„ๅฃฐๆ˜Žๅผๆžถๆž„๏ผŒๆˆ‘ไปฌๅฐ†ๆทฑๅบฆ็ ”็ฉถๆ‹†่งฃไธบๆœ็ดขใ€้‡ๅŒ–ๅˆ†ๆžใ€ๅฏ่ง†ๅŒ–็ป˜ๅ›พไธŽ็ป“ๆž„ๅŒ–ๅ†™ไฝœๅ››ไธช็‹ฌ็ซ‹็Žฏ่Š‚ใ€‚\",\"permalink\":\"/ai-agent/deepresearch-agent\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"],\"tags\":[\"Agent SDK\",\"Multi-Agent\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฃฐๆ˜Žๅผๅคšๆ™บ่ƒฝไฝ“ๅๅŒ๏ผšๅŸบไบŽ Claude Agent SDK ๆž„ๅปบๆทฑๅบฆ็ ”็ฉถ็ณป็ปŸ\",\"date\":\"2026-04-02 00:38:37\",\"capture\":\"> ๅฎž่ทต่ฏๆ˜Ž๏ผŒ้€š่ฟ‡ไธฅๆ ผ็š„่Œ่ดฃ้š”็ฆป๏ผˆๅฆ‚ Lead Agent ไป…่ดŸ่ดฃ่ฐƒๅบฆ๏ผ‰ไธŽๅทฅ็จ‹่พน็•Œ็บฆๆŸ๏ผˆๅฆ‚ Researcher ๅผบๅˆถๆๅ–้‡ๅŒ–ๆŒ‡ๆ ‡๏ผ‰๏ผŒMAS ่ƒฝๅคŸ็”Ÿๆˆๅ…ทๅค‡ไธ“ไธšๆ•ฐๆฎๅ›พ่กจๆ”ฏๆ’‘็š„ๆทฑๅบฆๆŠฅๅ‘Šใ€‚ๆœฌๆ–‡ๅฐ†ไปŽๆžถๆž„่ฎพ่ฎกใ€ๅทฅไฝœๆต็ผ–ๆŽ’ๅˆฐ PDF ่‡ชๅŠจ็”Ÿๆˆ๏ผŒๅฎŒๆ•ด่ฟ˜ๅŽŸ่ฟ™ไธ€โ€œAI ้ฉฑๅŠจ่ฐƒ็ ”ๆตๆฐด็บฟโ€็š„ๆž„ๅปบ่ฟ‡็จ‹๏ผŒๅนถๅฑ•็คบๅ…ถๅœจๆ•™่‚ฒ็ ”็ฉถๆกˆไพ‹ไธญ็š„ๅฎžๆˆ˜ๆ•ˆๆžœใ€‚\\n 1. ๅผ•่จ€\\nๅœจ AI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐไธ€ๆ–‡ไธญ๏ผŒๆˆ‘ไปฌๆŽข่ฎจไบ†ๅคšๆ™บ่ƒฝไฝ“็ณป็ปŸ๏ผˆMulti-Agent Systems, MAS๏ผ‰็š„็†่ฎบไผ˜ๅŠฟใ€‚ไปŽ็†่ฎบๅฑ‚้ข็œ‹๏ผŒ่ฟ™็ฑป็ณป็ปŸ้€š่ฟ‡ไปปๅŠกๅˆ†่งฃใ€่Œ่ดฃ้š”็ฆปไธŽๅนถ่กŒๅไฝœๆœบๅˆถ๏ผŒๆœ‰ๆ•ˆ็ช็ ดไบ†ๅ•ๆ™บ่ƒฝไฝ“ๅœจๅคๆ‚ไปปๅŠกไธญ็š„่ƒฝๅŠ›็“ถ้ขˆโ€”โ€”ไธไป…ๆ˜พ่‘—ๆๅ‡ไบ†ไปปๅŠกๅค„็†็š„ๅคฉ่Šฑๆฟ\"}],\"Agent Skills\":[{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/10.Agent SKills\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/10.Agent SKills\",\"frontmatter\":{\"date\":\"2026-03-05 23:11:25\",\"title\":\"ๅฆ‚ไฝ•็ผ–ๅ†™ไธ€ไธช้ซ˜ๅฏ็”จ็š„ Agent Skill๏ผŸไปŽๆœบๅˆถๆ‹†่งฃๅˆฐ็”Ÿไบงๅฎž่ทตๆŒ‡ๅ—\",\"description\":\"ๅคง่ฏญ่จ€ๆจกๅž‹ๅœจ็‰นๅฎšๅทฅ็จ‹้ข†ๅŸŸๅธธ้ขไธดโ€œ็Ÿฅ่€Œไธ่กŒโ€็š„ๅ›ฐๅขƒใ€‚ๆœฌๆ–‡ๆทฑๅบฆๆ‹†่งฃ Anthropic ๆœ€ๆ–ฐๆŽจๅ‡บ็š„ Agent Skills ่ง„่Œƒ๏ผŒๆญ็ง˜ๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆธ่ฟ›ๅผๆŠซ้œฒไธŽไธ‰็บงๅŠ ่ฝฝๆœบๅˆถ๏ผŒๅœจๆŽงๅˆถ Token ๆˆๆœฌ็š„ๅŒๆ—ถๆ˜พ่‘—ๆๅ‡ Agent ็š„ไปปๅŠกๆ‰ง่กŒ็ฒพๅบฆใ€‚ๆ–‡็ซ ๆถต็›–ไบ†ไปŽๆ–‡ไปถๅคนๆžถๆž„่ฎพ่ฎกๅˆฐๅฎžๆˆ˜ git-workflow ็ผ–ๅ†™็š„ๅ…จๆต็จ‹ๆŒ‡ๅ—๏ผŒๅŠฉไฝ ๅฐ†้›ถๆ•ฃ็š„ Prompt ่ฝฌๅŒ–ไธบๆ ‡ๅ‡†ๅŒ–็š„ๆ•ฐๅญ—่ต„ไบงใ€‚\",\"permalink\":\"/ai-agent/skills-practice-summary\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\",\"Agent ็ณปๅˆ—\"],\"tags\":[\"Agent Skills\",\"Agent\",\"AI\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฆ‚ไฝ•็ผ–ๅ†™ไธ€ไธช้ซ˜ๅฏ็”จ็š„ Agent Skill๏ผŸไปŽๆœบๅˆถๆ‹†่งฃๅˆฐ็”Ÿไบงๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-03-05 23:11:25\",\"capture\":\"1. ๅผ•่จ€๏ผšAgent Skills ๆ˜ฏไป€ไนˆ๏ผŸ\\nๅœจๅคง่ฏญ่จ€ๆจกๅž‹๏ผˆLLM๏ผ‰็š„่ฝๅœฐๅฎž่ทตไธญ๏ผŒๅผ€ๅ‘่€…็ปๅธธ้ขไธดไธ€ไธชๅ…ฑๆ€งๆŒ‘ๆˆ˜๏ผšๆจกๅž‹ๅœจ็‰นๅฎš็ป†ๅˆ†้ข†ๅŸŸๅพ€ๅพ€ๅค„ไบŽโ€œ็Ÿฅ่€Œไธ่กŒโ€็š„็Šถๆ€โ€”โ€”่™ฝ็„ถๆ‹ฅๆœ‰ๅšๆ‚็š„็Ÿฅ่ฏ†๏ผŒๅด็ผบไนๆ‰ง่กŒๅคๆ‚ไปปๅŠก็š„ไธ“ไธš่ทฏๅพ„ใ€‚\\nไธบไบ†่งฃๅ†ณ่ฟ™ไธ€็—›็‚น๏ผŒAnthropic ๅœจๅ…ถๆ——่ˆฐๆจกๅž‹ Claude 3.7 ็ณปๅˆ—ไธญๆญฃๅผๆŽจๅ‡บไบ† Claude Skillsใ€‚่ฟ™ไธ€ๅŠŸ่ƒฝๅฐ† LLM ็š„่ƒฝๅŠ›ๅฐ่ฃ…ไธบ็›ด่ง‚็š„โ€œ่ƒฝๅŠ›ๆ–‡ไปถๅคนโ€๏ผŒๆžๅคงๆๅ‡ไบ†ๆ™บ่ƒฝไฝ“็š„ๅฎž็”จๆ€ง๏ผŒๅนถ่ฟ…้€Ÿๅœจๅผ€ๅ‘่€…็คพๅŒบๅผ•ๅ‘็ƒญ่ฎฎใ€‚2025 ๅนด 12 ๆœˆ๏ผŒ้š็€ Anthropic ่”ๅˆ็”Ÿๆ€ไผ™ไผดๆญฃๅผๅผ€ๆบ Agent Skills ่ง„่Œƒ๏ผŒAgent Skills ็š„ๆ ‡ๅ‡†ๅŒ–ไนŸๆญฃๅผๅผ€ๅฏ๏ผˆ่€Œ่ฟ™ไธ€่ƒฝๅŠ›\"}],\"Agent\":[{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/10.Agent SKills\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/10.Agent SKills\",\"frontmatter\":{\"date\":\"2026-03-05 23:11:25\",\"title\":\"ๅฆ‚ไฝ•็ผ–ๅ†™ไธ€ไธช้ซ˜ๅฏ็”จ็š„ Agent Skill๏ผŸไปŽๆœบๅˆถๆ‹†่งฃๅˆฐ็”Ÿไบงๅฎž่ทตๆŒ‡ๅ—\",\"description\":\"ๅคง่ฏญ่จ€ๆจกๅž‹ๅœจ็‰นๅฎšๅทฅ็จ‹้ข†ๅŸŸๅธธ้ขไธดโ€œ็Ÿฅ่€Œไธ่กŒโ€็š„ๅ›ฐๅขƒใ€‚ๆœฌๆ–‡ๆทฑๅบฆๆ‹†่งฃ Anthropic ๆœ€ๆ–ฐๆŽจๅ‡บ็š„ Agent Skills ่ง„่Œƒ๏ผŒๆญ็ง˜ๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆธ่ฟ›ๅผๆŠซ้œฒไธŽไธ‰็บงๅŠ ่ฝฝๆœบๅˆถ๏ผŒๅœจๆŽงๅˆถ Token ๆˆๆœฌ็š„ๅŒๆ—ถๆ˜พ่‘—ๆๅ‡ Agent ็š„ไปปๅŠกๆ‰ง่กŒ็ฒพๅบฆใ€‚ๆ–‡็ซ ๆถต็›–ไบ†ไปŽๆ–‡ไปถๅคนๆžถๆž„่ฎพ่ฎกๅˆฐๅฎžๆˆ˜ git-workflow ็ผ–ๅ†™็š„ๅ…จๆต็จ‹ๆŒ‡ๅ—๏ผŒๅŠฉไฝ ๅฐ†้›ถๆ•ฃ็š„ Prompt ่ฝฌๅŒ–ไธบๆ ‡ๅ‡†ๅŒ–็š„ๆ•ฐๅญ—่ต„ไบงใ€‚\",\"permalink\":\"/ai-agent/skills-practice-summary\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\",\"Agent ็ณปๅˆ—\"],\"tags\":[\"Agent Skills\",\"Agent\",\"AI\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฆ‚ไฝ•็ผ–ๅ†™ไธ€ไธช้ซ˜ๅฏ็”จ็š„ Agent Skill๏ผŸไปŽๆœบๅˆถๆ‹†่งฃๅˆฐ็”Ÿไบงๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-03-05 23:11:25\",\"capture\":\"1. ๅผ•่จ€๏ผšAgent Skills ๆ˜ฏไป€ไนˆ๏ผŸ\\nๅœจๅคง่ฏญ่จ€ๆจกๅž‹๏ผˆLLM๏ผ‰็š„่ฝๅœฐๅฎž่ทตไธญ๏ผŒๅผ€ๅ‘่€…็ปๅธธ้ขไธดไธ€ไธชๅ…ฑๆ€งๆŒ‘ๆˆ˜๏ผšๆจกๅž‹ๅœจ็‰นๅฎš็ป†ๅˆ†้ข†ๅŸŸๅพ€ๅพ€ๅค„ไบŽโ€œ็Ÿฅ่€Œไธ่กŒโ€็š„็Šถๆ€โ€”โ€”่™ฝ็„ถๆ‹ฅๆœ‰ๅšๆ‚็š„็Ÿฅ่ฏ†๏ผŒๅด็ผบไนๆ‰ง่กŒๅคๆ‚ไปปๅŠก็š„ไธ“ไธš่ทฏๅพ„ใ€‚\\nไธบไบ†่งฃๅ†ณ่ฟ™ไธ€็—›็‚น๏ผŒAnthropic ๅœจๅ…ถๆ——่ˆฐๆจกๅž‹ Claude 3.7 ็ณปๅˆ—ไธญๆญฃๅผๆŽจๅ‡บไบ† Claude Skillsใ€‚่ฟ™ไธ€ๅŠŸ่ƒฝๅฐ† LLM ็š„่ƒฝๅŠ›ๅฐ่ฃ…ไธบ็›ด่ง‚็š„โ€œ่ƒฝๅŠ›ๆ–‡ไปถๅคนโ€๏ผŒๆžๅคงๆๅ‡ไบ†ๆ™บ่ƒฝไฝ“็š„ๅฎž็”จๆ€ง๏ผŒๅนถ่ฟ…้€Ÿๅœจๅผ€ๅ‘่€…็คพๅŒบๅผ•ๅ‘็ƒญ่ฎฎใ€‚2025 ๅนด 12 ๆœˆ๏ผŒ้š็€ Anthropic ่”ๅˆ็”Ÿๆ€ไผ™ไผดๆญฃๅผๅผ€ๆบ Agent Skills ่ง„่Œƒ๏ผŒAgent Skills ็š„ๆ ‡ๅ‡†ๅŒ–ไนŸๆญฃๅผๅผ€ๅฏ๏ผˆ่€Œ่ฟ™ไธ€่ƒฝๅŠ›\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/03.ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผšๅฐ†้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/03.ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผšๅฐ†้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"frontmatter\":{\"date\":\"2026-02-06 15:48:23\",\"title\":\"ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผš้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผš้ขๅฏนๅฑ‚ๅ‡บไธ็ฉท็š„ Promptใ€MCPใ€Skills ๅ’Œ Subagents๏ผŒๅพˆๅคšๅผ€ๅ‘่€…ๅ’Œไบงๅ“็ป็†ๅธธๆ„Ÿๅˆฐๅ›ฐๆƒ‘๏ผš่ฟ™ไบ›็ป„ไปถ็ฉถ็ซŸๆ˜ฏ้‡ๅค้€ ่ฝฎๅญ๏ผŒ่ฟ˜ๆ˜ฏๅ„ๅธๅ…ถ่Œ็š„็งฏๆœจ๏ผŸๆœฌๆ–‡ๅฐ†ๆทฑๅบฆๆ‹†่งฃ Agentic ็”Ÿๆ€็š„ไบ”ๅคงๆ ธๅฟƒๆ”ฏๆŸฑ๏ผŒๆญ็คบๅฆ‚ไฝ•้€š่ฟ‡ไผ˜้›…็š„ๆžถๆž„่ฎพ่ฎกๅฎž็ŽฐๅๅŒ้—ญ็Žฏ๏ผŒๅฐ†้›ถๆ•ฃ็š„ AI ็ป„ไปถๆ‹ผ่ฃ…ๆˆไธ€ๅฅ—ๅฏๆŒ็ปญ่ฟ›ๅŒ–็š„ AI ๅŽŸ็”Ÿๆ“ไฝœ็ณป็ปŸ๏ผŒๆŠŠ็ขŽ็‰‡ๅŒ–็š„ AI ่ƒฝๅŠ›่ฝฌๅŒ–ไธบ้ซ˜ๅฏ็”จ็š„็”ŸไบงๅŠ›ๆตใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/ai-practice/agent_components_zh.png\",\"permalink\":\"/ai-agent/composition-ai-components\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"],\"tags\":[\"Agent\",\"AI\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผš้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"date\":\"2026-02-06 15:48:23\",\"capture\":\"<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/ai-practice/agent_components_zh.png\\\" style=\\\"width: 100%; border-radius: 8px; margin-bottom: 20px;\\\" alt=\\\"about site background\\\">\\n 1. ๅผ•่จ€\\n> ้—ฎ้ข˜๏ผšๅœจๆ™บ่ƒฝไฝ“็”Ÿๆ€้‡Œ๏ผŒๅ„ไธช็ป„ไปถๅˆฐๅบ•ๆ˜ฏๆ€ŽไนˆๅๅŒๅทฅไฝœ็š„๏ผŸ\\nๅฝ“ๅ‰๏ผŒAgent๏ผˆๆ™บ่ƒฝไฝ“๏ผ‰ๆŠ€ๆœฏๅ‘ๅฑ•่ฟ…็Œ›๏ผŒๅ„็ง่ฎพ่ฎกๆจกๅผใ€ๆ ธๅฟƒ็ป„ไปถไธŽๅทฅไฝœๆœบๅˆถๅฑ‚ๅ‡บไธ็ฉทใ€‚้ขๅฏน็นๆ‚็š„ๆ™บ่ƒฝไฝ“็”Ÿๆ€\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/20.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Agent\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/20.ๅŸบไบŽ Claude Agent SDK ๆญๅปบ Agent\",\"frontmatter\":{\"date\":\"2026-03-06 00:37:58\",\"title\":\"ๅ‘Šๅˆซๆ‰‹ๅŠจ Loop๏ผšๅ€ŸๅŠฉ Claude Agent SDK ๅฎž็Žฐ Agent ็š„ๅทฅ็จ‹ๅŒ–้—ญ็Žฏ\",\"description\":\"ๅœจ Agent ๆŠ€ๆœฏๅฟซ้€Ÿ่ตฐๅ‘ๆˆ็†Ÿ็š„ไปŠๅคฉ๏ผŒๅฆ‚ไฝ•ไฝŽๆˆๆœฌๆž„ๅปบๅ…ทๅค‡โ€œ่‡ชไธปๆดžๅฏŸโ€่ƒฝๅŠ›็š„ๆ™บ่ƒฝไฝ“๏ผŸๆœฌๆ–‡ๆทฑๅบฆๆ‹†่งฃ Anthropic ๅฎ˜ๆ–นๆŽจๅ‡บ็š„ Claude Agent SDK๏ผŒ่งฃๆžๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆ‰˜็ฎก Agent Loop ๅ’Œไผš่ฏๆŒไน…ๅŒ–ๆœบๅˆถ๏ผŒ่งฃๅ†ณ Agent ๅผ€ๅ‘ไธญ็š„็Šถๆ€็ฎก็†้šพ้ข˜ใ€‚ๆ–‡็ซ ้€š่ฟ‡ไปŽๆ— ็Šถๆ€ไบคไบ’ๅˆฐๅ…ทๅค‡ๆตๅผ่พ“ๅ‡บ่ƒฝๅŠ›็š„ TUI ่‡ชๅŠจๅŒ–ๅทฅๅ…ท่ฟ›้˜ถๅฎžๆˆ˜๏ผŒๅฑ•็คบไบ†ๆž„ๅปบไฝŽๆˆๆœฌใ€้ซ˜ๅฏ็”จ AI ๅŽŸ็”Ÿๅบ”็”จ็š„ๅฎŒๆ•ด่ทฏๅพ„ใ€‚\",\"permalink\":\"/ai-practice/claude-agent-sdk-basic-build\",\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"],\"tags\":[\"Agent\",\"Agent SDK\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ‘Šๅˆซๆ‰‹ๅŠจ Loop๏ผšๅ€ŸๅŠฉ Claude Agent SDK ๅฎž็Žฐ Agent ็š„ๅทฅ็จ‹ๅŒ–้—ญ็Žฏ\",\"date\":\"2026-03-06 00:37:58\",\"capture\":\"1. ๅผ•่จ€\\nๅฝ“ๅ‰๏ผŒAI Agent ็š„ๆผ”่ฟ›ๅทฒ่ฟ›ๅ…ฅไธ€ไธชๅดญๆ–ฐ็š„้˜ถๆฎตโ€”โ€”ไปŽ้œ€่ฆ้ข‘็นไบบๅทฅๅนฒ้ข„็š„\\\"ๅŠ่‡ชๅŠจ\\\"ๆจกๅผ๏ผŒ่ฟ›ๅŒ–ไธบ่ƒฝๅคŸ่‡ชไธปๆดžๅฏŸ็Žฏๅขƒๅ˜ๅŒ–ใ€ๅŠจๆ€่ฐƒๆ•ดๆ‰ง่กŒ็ญ–็•ฅใ€ๅฎž็ŽฐไธšๅŠกๆต็จ‹่‡ช้€‚ๅบ”็ผ–ๆŽ’็š„ๆ™บ่ƒฝๅŒ–็ณป็ปŸใ€‚Claude Codeใ€Manusใ€OpenClaw ็ญ‰ไปฃ่กจๆ€งไบงๅ“ๅฑ‚ๅ‡บไธ็ฉท๏ผŒไนŸๆ ‡ๅฟ—็€ Agent ๆŠ€ๆœฏๆญฃๅœจๅฟซ้€Ÿ่ตฐๅ‘ๆˆ็†ŸไธŽๆ™ฎๅŠใ€‚\\n่ฟ‘ๆœŸ๏ผŒ็ฌ”่€…ๅœจไธบไธชไบบๅšๅฎขๅผ•ๅ…ฅๆ™บ่ƒฝๅŒ–่ฟ่ฅ่ƒฝๅŠ›๏ผˆๅฆ‚ๅ†…ๅฎน่‡ชๅŠจๆ กๅฏนใ€ๅฎก็จฟไธŽๅ‘ๅธƒ๏ผ‰๏ผŒๆทฑๅ…ฅ็ ”็ฉถไบ†ๅคšๆฌพ Agent ๅผ€ๅ‘ๆก†ๆžถ๏ผŒๅฆ‚ Claude Agent SDKใ€Langchainใ€LangGraph ็ญ‰ใ€‚ๅœจ็ป่ฟ‡ๅˆๆญฅ็š„็ ”็ฉถๅฏนๆฏ”ๅˆ†ๆžๅŽ๏ผŒClaude Agent SDK ๆˆไธบไบ†ไฝŽๆˆๆœฌๆž„ๅปบ้ซ˜ๅฏ็”จ Agent\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/01.Agentๆฆ‚่งˆไธŽ็ปผ่ฟฐ\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/01.Agentๆฆ‚่งˆไธŽ็ปผ่ฟฐ\",\"frontmatter\":{\"date\":\"2026-02-12 22:31:00\",\"title\":\"ไปŽๆ็คบ่ฏๅˆฐๆ•ฐๅญ—ๅ‘˜ๅทฅ๏ผšAI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšAI ็š„่ฟ›ๅŒ–ๆญฃ็ปๅކไปŽโ€œๅฏน่ฏๆก†โ€ๅ‘โ€œๆ•ฐๅญ—ๅ‘˜ๅทฅโ€็š„ๆ นๆœฌๆ€ง่ทจ่ถŠใ€‚ๆœฌๆ–‡ๆ˜ฏไธ€็ฏ‡ๅ…ณไบŽ AI Agent ็š„ๅ…จๆ™ฏๆทฑๅบฆ็ปผ่ฟฐ๏ผŒๆ—จๅœจ่งฃๆž„ๆ™บ่ƒฝไฝ“ๅฆ‚ไฝ•ไปŽ็ฎ€ๅ•็š„ Prompt ๅ“ๅบ”่€…๏ผŒๆผ”ๅ˜ไธบๅ…ทๅค‡่‡ชไธป็›ฎๆ ‡ๆ‹†่งฃใ€้•ฟ็ŸญๆœŸ่ฎฐๅฟ†ไธŽๅคๆ‚็Žฏๅขƒไบคไบ’่ƒฝๅŠ›็š„โ€œๆ‰ง่กŒ่€…โ€ใ€‚ๆˆ‘ไปฌๅฐ†ๆทฑๅบฆๆ‹†่งฃ Agent ็š„ๅ››ๅคงๆŠ€ๆœฏๅŸบ็Ÿณ๏ผˆ่ง„ๅˆ’ใ€่ฎฐๅฟ†ใ€ๅทฅๅ…ทใ€่กŒๅŠจ๏ผ‰๏ผŒๅนถ่ฏฆ็ป†ๅ‰–ๆžไปŽ้€š็”จๅž‹ Agent ๅˆฐๅคšๆ™บ่ƒฝไฝ“ๅไฝœ๏ผˆMAS๏ผ‰ใ€ๅ†ๅˆฐ่ฟˆๅ‘ Agent OS ๆ—ถไปฃ็š„ OpenClaw ็ญ‰ไบ”ๅคงๆผ”่ฟ›ๅฝขๆ€ใ€‚ไธไป…ๆŽข่ฎจไบ†ๆŠ€ๆœฏๆžถๆž„็š„ๅฎž็Žฐ๏ผŒๆ›ดๆญ็คบไบ†่ฝฏไปถๅทฅ็จ‹ไปŽโ€œไปฅไบบไธบไธญๅฟƒโ€ๅ‘โ€œไปฅ AI ไธบไธญๅฟƒโ€็š„่Œƒๅผ้ฉๅ‘ฝโ€”โ€”ๅœจ Agent ้ฉฑๅŠจ็š„ๆ–ฐ็บชๅ…ƒ๏ผŒๆ ธๅฟƒ็ซžไบ‰ๅŠ›ๅฐ†ไธๅ†ๆ˜ฏไปฃ็ ้‡๏ผŒ่€Œๆ˜ฏ่ฐƒๅบฆ AI ้—ญ็Žฏ่งฃๅ†ณไธšๅŠก้—ฎ้ข˜็š„่ƒฝๅŠ›ใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/llm_learning_bg_1.png\",\"permalink\":\"/ai-agent/overview\",\"top\":true,\"categories\":[\"ai-practice\"],\"tags\":[\"AI Agent\",\"Agent\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไปŽๆ็คบ่ฏๅˆฐๆ•ฐๅญ—ๅ‘˜ๅทฅ๏ผšAI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐ\",\"date\":\"2026-02-12 22:31:00\",\"capture\":\"1. ไป€ไนˆๆ˜ฏ Agent๏ผŸโ€”โ€”ไปŽโ€œๅทฅๅ…ทโ€ๅˆฐโ€œๅฎžไฝ“โ€็š„่ฟ›ๅŒ–\\n> ๆ ธๅฟƒ้€ป่พ‘๏ผš็Žฐไปฃ Agent ็š„ๆœฌ่ดจๆ˜ฏ \\\"LLM (ๅคง่„‘) + ่ง„ๅˆ’ไธŽ่ฎฐๅฟ† (ๅฐ่„‘) + ๅทฅๅ…ท่ฐƒ็”จ (ๆ‰‹่„š)\\\"ใ€‚LLM ็š„ๆตท้‡็Ÿฅ่ฏ†ๅ‚จๅค‡่ฎฉ Agent ่ƒฝๅคŸ็ฒพๅ‡†็†่งฃๅคๆ‚ๆŒ‡ไปค๏ผŒๅนถๅฐ†ๅ…ถ่ฝฌๅŒ–ไธบๅฎž้™…่กŒๅŠจใ€‚\\nๅœจ AI ้ข†ๅŸŸ๏ผŒAgent๏ผˆๆ™บ่ƒฝไฝ“๏ผ‰ ๅนถ้žไธ€ไธชๆ–ฐๆฆ‚ๅฟต๏ผŒไฝ† LLM๏ผˆๅคง่ฏญ่จ€ๆจกๅž‹๏ผ‰็š„็ˆ†ๅ‘่ต‹ไบˆไบ†ๅฎƒ็œŸๆญฃ็š„โ€œ็ต้ญ‚โ€ใ€‚็ฎ€ๅ•ๆฅ่ฏด๏ผŒAgent ๆ˜ฏไธ€็ง่ƒฝๅคŸๆ„Ÿ็Ÿฅ็Žฏๅขƒใ€่‡ชไธปๅ†ณ็ญ–ๅนถๆ‰ง่กŒไปปๅŠก็š„ๆ™บ่ƒฝๅฎžไฝ“ใ€‚\\nๅฆ‚ๆžœ่ฏดไผ ็ปŸ็š„ AI ๆ˜ฏไธ€ไธชโ€œ้—ฎ็ญ”ๆœบโ€๏ผŒ้‚ฃไนˆ Agent ๅฐฑๆ˜ฏไธ€ไธชโ€œๆ‰ง่กŒ่€…โ€ใ€‚ๅฎƒๅ…ทๅค‡ไปฅไธ‹ๅ››ๅคงๆ ธๅฟƒ็‰น่ดจ๏ผš\\n* ่‡ชไธปๆ€ง (Autonomy)๏ผš ๆ— ้กปๆ—ถๅˆป็›ฏ็€๏ผŒ่ฎพๅฎš\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/60.ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/60.ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹\",\"frontmatter\":{\"date\":\"2024-06-14 22:00:00\",\"title\":\"ไธ€ๆฌก็”ฑ Product Sense ้ฉฑๅŠจ็š„ Agent ๆž้™ๅฎž่ทต\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšAI ๆ—ถไปฃ๏ผŒๅ†™ๅฅฝไปฃ็ ๅชๆ˜ฏๅŠๆ ผ็บฟใ€‚ๅœจไธ€ๆฌกๆž้™ๆŒ‘ๆˆ˜่ต›ไธญ๏ผŒๆˆ‘ไปฌ้€š่ฟ‡ๅฏน K12 ่ต›้“็”จๆˆท็—›็‚น็š„็ฒพๅ‡†โ€œ่ง†่ง’ๅˆ‡ๆขโ€๏ผŒๆ‰“้€ ๅ‡บไธ€ๆฌพๆŽˆไบบไปฅๆธ”็š„โ€œๆ•ฐๅญฆ่พ…ๅฏผๅฏผๅธˆโ€ๅนถๆ–ฉ่Žทๅคงๅฅ–ใ€‚ๆœฌๆ–‡ๅค็›˜ไบ† Agent ๆญๅปบ่ƒŒๅŽ็š„ๆ ธๅฟƒ SOP ่ฎพ่ฎก้€ป่พ‘๏ผšๆŠ€ๆœฏ็ปˆ็ฉถ่ฆๅ›žๅฝ’ๅฏน็œŸๅฎžไบบๆ€ง็š„ไฝ“ๅฏŸไธŽๅ…ณๆ€€ใ€‚\",\"coverImg\":\"/img/cover/llm_learning_bg_2.png\",\"permalink\":\"/ai-practice/math-bot\",\"categories\":[\"ai-practice\"],\"tags\":[\"Agent\",\"ไบงๅ“ Sense\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไธ€ๆฌก็”ฑ Product Sense ้ฉฑๅŠจ็š„ Agent ๆž้™ๅฎž่ทต\",\"date\":\"2024-06-14 22:00:00\",\"capture\":\"ๅœจๅˆšๅˆš่ฟ‡ๅŽป็š„ๅ‘จๆœซ๏ผŒๆˆ‘ๅ’Œๅฅฝๅ‹ๅ‚ๅŠ ไบ†ไธ€ๅœบ็”ฑๅƒๅธ† Agent ไธพๅŠž็š„็บฟไธ‹็คพๅŒบๆดปๅŠจใ€‚่ฟ™ๆ˜ฏไธ€ๅœบๅ……ๆปกๆžๅฎข็ฒพ็ฅž็š„โ€œๆž้™ๆŒ‘ๆˆ˜โ€โ€”โ€”ๆˆ‘ไปฌ้œ€่ฆๅœจๆžๅ…ถๆœ‰้™็š„ๆ—ถ้—ดๅ†…๏ผŒไปŽ้›ถๅผ€ๅง‹ๆž„ๆ€ใ€ๆญๅปบๅนถ็Žฐๅœบๅฑ•็คบไธ€ไธชๅฎŒๆ•ด็š„ Agent ๅบ”็”จใ€‚\\nไปคไบบๆƒŠๅ–œ็š„ๆ˜ฏ๏ผŒๆˆ‘ไปฌไธไป…้กบๅˆฉๅฎŒๆˆไบ†ๆž้™ๅผ€ๅ‘๏ผŒๆœ€็ปˆ่ฟ˜ๆ–ฉ่Žทไบ†ๅ…จๅœบ็š„ใ€Œๆœ€ไฝณๅบ”็”จๅฅ–ใ€ใ€‚\\nๅค็›˜่ฟ™ๆฌก็Ÿญๆš‚ๅด้ซ˜ๅฏ†ๅบฆ็š„ๅผ€ๅ‘ไฝ“้ชŒ๏ผŒๆœ€ๅคง็š„ๆ„Ÿ่งฆๆ˜ฏ๏ผšๅœจ AI ๆ—ถไปฃ๏ผŒๅ•็บฏ็š„ๅทฅ็จ‹ๅฎž็Žฐๅทฒ็ปไธๅ†ๆ˜ฏๅ”ฏไธ€็š„ๅฃๅž’๏ผŒ็œŸๆญฃ่ฎฉๅบ”็”จ่„ฑ้ข–่€Œๅ‡บ็š„๏ผŒๆ˜ฏๅฏน็œŸๅฎžไธšๅŠกๅœบๆ™ฏ็š„ๆดžๅฏŸๅŠ›ใ€‚ๅฝ“ (Engineering + Product) ร— AI ็š„้ฃž่ฝฎๅผ€ๅง‹่ฝฌๅŠจๆ—ถ๏ผŒๆŠ€ๆœฏๆ‰่ƒฝ็œŸๆญฃ่ฝฌๅŒ–ไธบ่งฃๅ†ณ้—ฎ้ข˜็š„ๅˆฉๅ™จใ€‚\\nไปฅไธ‹ๆ˜ฏๅ…ณไบŽ่ฟ™ๆฌกโ€œK12 ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹โ€ Agent ๆญๅปบ็š„ๅฎž\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/70.่ฏ—ๆญŒๅฐ็ฒพ็ต\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/70.่ฏ—ๆญŒๅฐ็ฒพ็ต\",\"frontmatter\":{\"date\":\"2024-04-19 22:15:38\",\"title\":\"้›ถไปฃ็ ไธ็ญ‰ไบŽ้›ถ้€ป่พ‘๏ผš็ป“ๆž„ๅŒ– Prompt ้ฉฑๅŠจไธ‹็š„ Agent ๆญๅปบๅฎžๆˆ˜\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจ Agent ๆฆ‚ๅฟตๆปกๅคฉ้ฃž็š„ๅฝ“ไธ‹๏ผŒๅ†ณๅฎšๅคงๆจกๅž‹ๅฎž้™…่กจ็Žฐ็š„ๅพ€ๅพ€ๆ˜ฏๆœ€ๅบ•ๅฑ‚็š„ System Prompt ่ฎพ่ฎกใ€‚ๆœฌๆ–‡่ฎฐๅฝ•ไบ†ๅ‘จๆœซๅˆฉ็”จๆ–‡ๅฟƒๆ™บ่ƒฝไฝ“ๅนณๅฐๆญๅปบโ€œ่ฏ—ๆญŒๅฐ็ฒพ็ตโ€็š„ๅฎŒๆ•ดๅฎž่ทตใ€‚้€š่ฟ‡ๅฏนๆฏ”โ€œไผ ็ปŸๅคงๆฎตๆ–‡ๆœฌโ€ไธŽโ€œLangGPT ็ป“ๆž„ๅŒ–โ€ไธค็ง Prompt ็š„ๅฎž้™…่พ“ๅ‡บ๏ผŒๆทฑๅบฆๆ‹†่งฃไบ†็ป“ๆž„ๅŒ– Prompt ๅฆ‚ไฝ•ๅƒโ€œๅ†™ไปฃ็ โ€ไธ€ๆ ท่ง„่Œƒ AI ็š„ๆ€่€ƒๅทฅไฝœๆต๏ผŒๆœ‰ๆ•ˆ่งฃๅ†ณๆŒ‡ไปคๆผ‚็งปไธŽๅนป่ง‰้—ฎ้ข˜ใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ๆฌก Prompt ่ฐƒไผ˜ๅฎž้ชŒ๏ผŒๆ›ดๆ˜ฏไธ€ๅœบๅ…ณไบŽ AI ไบงๅ“ Sense ไธŽๆœชๆฅไบคไบ’ๅฝขๆ€็š„ๆŽข็ดขใ€‚\",\"coverImg\":\"/img/cover/llm_learning_bg_2.png\",\"categories\":[\"ai-practice\"],\"permalink\":\"/ai-practice/poetry-bot\",\"tags\":[\"Agent\",\"AI\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"้›ถไปฃ็ ไธ็ญ‰ไบŽ้›ถ้€ป่พ‘๏ผš็ป“ๆž„ๅŒ– Prompt ้ฉฑๅŠจไธ‹็š„ Agent ๆญๅปบๅฎžๆˆ˜\",\"date\":\"2024-04-19 22:15:38\",\"capture\":\"1. ๅฎž่ทต่ƒŒๆ™ฏ\\nๅ‘จๆœซๅœจ็คพๅŒบๆดปๅŠจไธญๅ†ๆฌกๅฌๅˆฐไบ† LangGPT ไฝœ่€…ไบ‘ไธญๆฑŸๆ ‘ๅ…ณไบŽโ€œ็ป“ๆž„ๅŒ–ๆ็คบ่ฏโ€็š„ๅˆ†ไบซ๏ผŒ่ฎฉไบบๆ„Ÿ่งฆ้ข‡ๆทฑใ€‚่™ฝ็„ถๅฝ“ๅ‰ Agent ๆฆ‚ๅฟต็ซ็ƒญ๏ผŒๅฑ‚ๅ‡บไธ็ฉท็š„ๆก†ๆžถ่ฎฉไบบ็œผ่Šฑ็ผญไนฑ๏ผŒไฝ†ๅ›žๅฝ’ๆœฌ่ดจๆˆ‘ไปฌๅฐฑไผšๅ‘็Žฐ๏ผšSystem Prompt ็š„ๅบ•ๅฑ‚่ฎพ่ฎกใ€ไธŠไธ‹ๆ–‡ๅทฅ็จ‹ไปฅๅŠๆŒ‡ไปค้ตๅพชๆœบๅˆถ๏ผŒๆ‰ๆ˜ฏๅ†ณๅฎšไธ€ไธช Agent ็ต้ญ‚็š„ๅ…ณ้”ฎใ€‚\\nๆญฃๅทงๅคงๅ›ข้˜Ÿ่‡ช็ ”็š„้›ถไปฃ็  Agent ๅนณๅฐ่ฟ‘ๆœŸๅ‘ๅธƒไบ†ๆ–ฐ็‰ˆๆœฌ๏ผŒไธบไบ†ไบฒๆต‹ๅนณๅฐๆ€ง่ƒฝๅนถๅฎžๆˆ˜ๆผ”็ปƒ็ป“ๆž„ๅŒ– Prompt ็š„็ผ–ๅ†™ๆŠ€ๅทง๏ผŒๆˆ‘ๅ†ณๅฎšๅˆ›ๅปบไธ€ไธชโ€œ่ฏ—ๆญŒๅฐ็ฒพ็ตโ€ Agentใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ไธช่ถฃๅ‘ณๅฎž้ชŒ๏ผŒๆ›ดๆ˜ฏไธบไบ†ๆŽข็ดข AI ๅœจๆ–‡ๅญฆๅˆ›ไฝœ่ฟ™็งโ€œๆ„Ÿๆ€ง้ข†ๅŸŸโ€ไธญ๏ผŒๅฆ‚ไฝ•้€š่ฟ‡โ€œ็†ๆ€ง็š„็ป“ๆž„็บฆๆŸโ€่พพๅˆฐๆ›ด้ซ˜็š„่พ“ๅ‡บไธŠ้™ใ€‚\\n 2. ๅนณๅฐไธŽ\"}],\"AI\":[{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/10.Agent SKills\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/10.Agent SKills\",\"frontmatter\":{\"date\":\"2026-03-05 23:11:25\",\"title\":\"ๅฆ‚ไฝ•็ผ–ๅ†™ไธ€ไธช้ซ˜ๅฏ็”จ็š„ Agent Skill๏ผŸไปŽๆœบๅˆถๆ‹†่งฃๅˆฐ็”Ÿไบงๅฎž่ทตๆŒ‡ๅ—\",\"description\":\"ๅคง่ฏญ่จ€ๆจกๅž‹ๅœจ็‰นๅฎšๅทฅ็จ‹้ข†ๅŸŸๅธธ้ขไธดโ€œ็Ÿฅ่€Œไธ่กŒโ€็š„ๅ›ฐๅขƒใ€‚ๆœฌๆ–‡ๆทฑๅบฆๆ‹†่งฃ Anthropic ๆœ€ๆ–ฐๆŽจๅ‡บ็š„ Agent Skills ่ง„่Œƒ๏ผŒๆญ็ง˜ๅ…ถๅฆ‚ไฝ•้€š่ฟ‡ๆธ่ฟ›ๅผๆŠซ้œฒไธŽไธ‰็บงๅŠ ่ฝฝๆœบๅˆถ๏ผŒๅœจๆŽงๅˆถ Token ๆˆๆœฌ็š„ๅŒๆ—ถๆ˜พ่‘—ๆๅ‡ Agent ็š„ไปปๅŠกๆ‰ง่กŒ็ฒพๅบฆใ€‚ๆ–‡็ซ ๆถต็›–ไบ†ไปŽๆ–‡ไปถๅคนๆžถๆž„่ฎพ่ฎกๅˆฐๅฎžๆˆ˜ git-workflow ็ผ–ๅ†™็š„ๅ…จๆต็จ‹ๆŒ‡ๅ—๏ผŒๅŠฉไฝ ๅฐ†้›ถๆ•ฃ็š„ Prompt ่ฝฌๅŒ–ไธบๆ ‡ๅ‡†ๅŒ–็š„ๆ•ฐๅญ—่ต„ไบงใ€‚\",\"permalink\":\"/ai-agent/skills-practice-summary\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\",\"Agent ็ณปๅˆ—\"],\"tags\":[\"Agent Skills\",\"Agent\",\"AI\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฆ‚ไฝ•็ผ–ๅ†™ไธ€ไธช้ซ˜ๅฏ็”จ็š„ Agent Skill๏ผŸไปŽๆœบๅˆถๆ‹†่งฃๅˆฐ็”Ÿไบงๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-03-05 23:11:25\",\"capture\":\"1. ๅผ•่จ€๏ผšAgent Skills ๆ˜ฏไป€ไนˆ๏ผŸ\\nๅœจๅคง่ฏญ่จ€ๆจกๅž‹๏ผˆLLM๏ผ‰็š„่ฝๅœฐๅฎž่ทตไธญ๏ผŒๅผ€ๅ‘่€…็ปๅธธ้ขไธดไธ€ไธชๅ…ฑๆ€งๆŒ‘ๆˆ˜๏ผšๆจกๅž‹ๅœจ็‰นๅฎš็ป†ๅˆ†้ข†ๅŸŸๅพ€ๅพ€ๅค„ไบŽโ€œ็Ÿฅ่€Œไธ่กŒโ€็š„็Šถๆ€โ€”โ€”่™ฝ็„ถๆ‹ฅๆœ‰ๅšๆ‚็š„็Ÿฅ่ฏ†๏ผŒๅด็ผบไนๆ‰ง่กŒๅคๆ‚ไปปๅŠก็š„ไธ“ไธš่ทฏๅพ„ใ€‚\\nไธบไบ†่งฃๅ†ณ่ฟ™ไธ€็—›็‚น๏ผŒAnthropic ๅœจๅ…ถๆ——่ˆฐๆจกๅž‹ Claude 3.7 ็ณปๅˆ—ไธญๆญฃๅผๆŽจๅ‡บไบ† Claude Skillsใ€‚่ฟ™ไธ€ๅŠŸ่ƒฝๅฐ† LLM ็š„่ƒฝๅŠ›ๅฐ่ฃ…ไธบ็›ด่ง‚็š„โ€œ่ƒฝๅŠ›ๆ–‡ไปถๅคนโ€๏ผŒๆžๅคงๆๅ‡ไบ†ๆ™บ่ƒฝไฝ“็š„ๅฎž็”จๆ€ง๏ผŒๅนถ่ฟ…้€Ÿๅœจๅผ€ๅ‘่€…็คพๅŒบๅผ•ๅ‘็ƒญ่ฎฎใ€‚2025 ๅนด 12 ๆœˆ๏ผŒ้š็€ Anthropic ่”ๅˆ็”Ÿๆ€ไผ™ไผดๆญฃๅผๅผ€ๆบ Agent Skills ่ง„่Œƒ๏ผŒAgent Skills ็š„ๆ ‡ๅ‡†ๅŒ–ไนŸๆญฃๅผๅผ€ๅฏ๏ผˆ่€Œ่ฟ™ไธ€่ƒฝๅŠ›\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/03.ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผšๅฐ†้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/03.ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผšๅฐ†้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"frontmatter\":{\"date\":\"2026-02-06 15:48:23\",\"title\":\"ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผš้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผš้ขๅฏนๅฑ‚ๅ‡บไธ็ฉท็š„ Promptใ€MCPใ€Skills ๅ’Œ Subagents๏ผŒๅพˆๅคšๅผ€ๅ‘่€…ๅ’Œไบงๅ“็ป็†ๅธธๆ„Ÿๅˆฐๅ›ฐๆƒ‘๏ผš่ฟ™ไบ›็ป„ไปถ็ฉถ็ซŸๆ˜ฏ้‡ๅค้€ ่ฝฎๅญ๏ผŒ่ฟ˜ๆ˜ฏๅ„ๅธๅ…ถ่Œ็š„็งฏๆœจ๏ผŸๆœฌๆ–‡ๅฐ†ๆทฑๅบฆๆ‹†่งฃ Agentic ็”Ÿๆ€็š„ไบ”ๅคงๆ ธๅฟƒๆ”ฏๆŸฑ๏ผŒๆญ็คบๅฆ‚ไฝ•้€š่ฟ‡ไผ˜้›…็š„ๆžถๆž„่ฎพ่ฎกๅฎž็ŽฐๅๅŒ้—ญ็Žฏ๏ผŒๅฐ†้›ถๆ•ฃ็š„ AI ็ป„ไปถๆ‹ผ่ฃ…ๆˆไธ€ๅฅ—ๅฏๆŒ็ปญ่ฟ›ๅŒ–็š„ AI ๅŽŸ็”Ÿๆ“ไฝœ็ณป็ปŸ๏ผŒๆŠŠ็ขŽ็‰‡ๅŒ–็š„ AI ่ƒฝๅŠ›่ฝฌๅŒ–ไธบ้ซ˜ๅฏ็”จ็š„็”ŸไบงๅŠ›ๆตใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/ai-practice/agent_components_zh.png\",\"permalink\":\"/ai-agent/composition-ai-components\",\"sticky\":1,\"top\":true,\"categories\":[\"AI ๅญฆไน ไธŽๅฎž่ทต\"],\"tags\":[\"Agent\",\"AI\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆž„ๅปบ Agentic ็”Ÿๆ€๏ผš้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต\",\"date\":\"2026-02-06 15:48:23\",\"capture\":\"<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/ai-practice/agent_components_zh.png\\\" style=\\\"width: 100%; border-radius: 8px; margin-bottom: 20px;\\\" alt=\\\"about site background\\\">\\n 1. ๅผ•่จ€\\n> ้—ฎ้ข˜๏ผšๅœจๆ™บ่ƒฝไฝ“็”Ÿๆ€้‡Œ๏ผŒๅ„ไธช็ป„ไปถๅˆฐๅบ•ๆ˜ฏๆ€ŽไนˆๅๅŒๅทฅไฝœ็š„๏ผŸ\\nๅฝ“ๅ‰๏ผŒAgent๏ผˆๆ™บ่ƒฝไฝ“๏ผ‰ๆŠ€ๆœฏๅ‘ๅฑ•่ฟ…็Œ›๏ผŒๅ„็ง่ฎพ่ฎกๆจกๅผใ€ๆ ธๅฟƒ็ป„ไปถไธŽๅทฅไฝœๆœบๅˆถๅฑ‚ๅ‡บไธ็ฉทใ€‚้ขๅฏน็นๆ‚็š„ๆ™บ่ƒฝไฝ“็”Ÿๆ€\"},{\"url\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"relativePath\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"frontmatter\":{\"date\":\"2025-10-24 11:05:50\",\"title\":\"ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจ AI ้‡ๅก‘่ฝฏไปถๅทฅ็จ‹็š„ไปŠๅคฉ๏ผŒๅ…จๆ ˆไธๅ†ๆ˜ฏๆŠ€ๆœฏ็š„็บฟๆ€งๅ ๅŠ ๏ผŒๆญฃๅœจไปŽโ€œๆŠ€ๆœฏๆ ˆๅ †็ Œโ€่ฝฌๅ‘โ€œ่ฎค็Ÿฅๆ ˆ้‡ๆž„โ€ใ€‚ๆœฌๆ–‡ๆๅ‡บ โ€œ(ๅทฅ็จ‹ + ไบงๅ“) ร— AIโ€ ็š„ๆ–ฐๅ…ฌๅผ๏ผŒๅŠฉๅŠ›ๅผ€ๅ‘่€…ๆž„ๅปบโ€œๆดžๅฏŸ-ๆžถๆž„-ๆ ๆ†โ€่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”๏ผŒๅˆฉ็”จ AI ๆ ๆ†่ฎฉ่‡ชๅทฑ่ฟ›ๅŒ–ไธบไปทๅ€ผๅˆ›้€ ่€…ใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"permalink\":\"/fullstack/ai-native\",\"sticky\":1,\"top\":true,\"tags\":[\"ๅ…จๆ ˆ\",\"AI\",\"ไบงๅ“\"],\"categories\":[\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"date\":\"2025-10-24 11:05:50\",\"capture\":\"<script setup>\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n 1. ๅผ•่จ€\\nๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒๅฝ“ๆˆ‘ไปฌ่ฐˆ่ฎบโ€œๅ…จๆ ˆๅทฅ็จ‹ๅธˆโ€ๆ—ถ๏ผŒ่„‘ๆตทไธญๆตฎ็Žฐ็š„ๅพ€ๅพ€ๆ˜ฏไธ€ๅผ ๅ†—้•ฟไธ”ไปคไบบ็–ฒๆƒซ็š„ๆŠ€ๆœฏๅทฅๅบๆธ…ๅ•ใ€‚\\nๅฐฑๅƒๆˆ‘ๆ›พ็ปไปฅไธบ็š„้‚ฃๆ ท๏ผŒๅ…จๆ ˆๅฐฑๆ˜ฏ็บฟๆ€ง็š„ๆŠ€่ƒฝๅ ๅŠ ไธŽ็‰ฉ็†ๅผ็š„ๆŠ€ๆœฏๆ‹ผๆŽฅ๏ผŒๆ˜ฏไธ€็งไพ้ ไบบๅŠ›ๅŽปๅกซ่กฅๆŠ€ๆœฏ้ธฟๆฒŸ็š„โ€œ่ฅฟ่ฅฟๅผ—ๆ–ฏๅผโ€ๅŠชๅŠ›๏ผš\\n* ็บฟๆ€ง็š„ๆŠ€่ƒฝๅ ๅŠ ๏ผšๆˆ‘ไปฌ่ขซ่ฟซๆˆไธบโ€œๅ…จ่ƒฝๆ‰‹โ€๏ผŒๅทฆๆ‰‹็”จ React/Vue ๆž„ๅปบ็ฒพ็พŽ็š„ UI๏ผŒๅณๆ‰‹็”จ Node/Go ็ผ–ๅ†™้ซ˜ๅนถๅ‘ API๏ผŒไธญ้—ด่ฟ˜่ฆๅค„็†ๆ•ฐๆฎๅบ“็š„ ACI\"},{\"url\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"relativePath\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"frontmatter\":{\"date\":\"2024-01-15 22:16:00\",\"title\":\"่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไนฆๆŽฅไธŠๆ–‡ใ€Šๅ‘ๅ†…ๆ€ๅ˜ใ€‹๏ผŒๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ๅœจๅŽ็–ซๆƒ…ๆ—ถไปฃไปŽโ€œ้—ญๅ…ณโ€่ตฐๅ‘โ€œๅ‘ๅค–ไฝ“้ชŒโ€็š„ๅฐ่ฏ•ไธŽๅฟƒๅพ—ใ€‚้ขๅฏนๆœบๆขฐๆ‰ง่กŒๅธฆๆฅ็š„โ€œ็›ฎๆ ‡้šง้“โ€ๆ•ˆๅบ”๏ผŒ็ฌ”่€…ๅฐ่ฏ•่ทณๅ‡บๅ•ไธ€็š„็บฟๆ€ง่ง„ๅˆ’๏ผŒ่ฝฌ่€Œๅฏปๆฑ‚ๆ›ดๅบ•ๅฑ‚็š„่ฎค็Ÿฅ้€ป่พ‘ใ€‚ๆ–‡็ซ ้€š่ฟ‡้‡่ฏปใ€Š่ฆไบ‹็ฌฌไธ€ใ€‹ๅปบ็ซ‹ๅนณ่กก่ง‚๏ผŒๅˆฉ็”จ็ณป็ปŸๆ€็ปด๏ผˆๅขžๅผบ/่ฐƒ่Š‚ๅ›ž่ทฏ๏ผ‰ๆž„ๅปบๆดžๅฏŸๅŠ›๏ผŒๅนถ้‡ๆ–ฐๆ‹พ่ตทๆ•ฐๅญฆๆ€็ปด๏ผˆๆฆ‚็އใ€็จ€็–ๆ€งใ€ๅคšๆ ทๆ€ง๏ผ‰ไธŽ AI ่ง†่ง’ใ€‚่ฟ™ๆ˜ฏไธ€ๆฌกๅ…ณไบŽๅฆ‚ไฝ•็”จ็ง‘ๅญฆๆจกๅž‹ๆ›ฟไปฃๆœบๆขฐๆ‰ง่กŒ๏ผŒไปŽๆœฌ่ดจไธŠ้‡ๆž„ไธชไบบ่ฎค็Ÿฅไฝ“็ณป็š„ๆทฑๅบฆๅค็›˜ใ€‚\",\"permalink\":\"/growth/outer-experience\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/outer_experience_bg.png\",\"sticky\":1,\"top\":true,\"tags\":[\"็ณป็ปŸๆ€็ปด\",\"ๆ•ฐๅญฆๆ€็ปด\",\"ๆจกๅž‹ๆ€็ปด\",\"AI\",\"็–ซๆƒ…\"],\"categories\":[\"ไธชไบบๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"date\":\"2024-01-15 22:16:00\",\"capture\":\"1. ๅ†™ๅœจๅ‰้ข\\nๆ—ถๅ…‰่่‹’๏ผŒ็–ซๆƒ…ๅทฒ็ป็”ฑๆ”พๅผ€็Šถๆ€็ปง็ปญๆผ”ๅ˜ไธบ่ฟ‡ๅŽปๅผ็Šถๆ€๏ผŒๆˆ‘ไปฌไบบ็ฑปไนŸไปŽใ€Ž้—ญๅ…ณใ€่ตฐๅ‘ไบ†ใ€Ž่‡ช็”ฑใ€็š„็คพไผš็”Ÿๆดป็Šถๆ€ใ€‚็ฌ”่€…ไฝœไธบ็คพไผšไธญ็š„ๆ™ฎ้€šไธ€ๅ‘˜๏ผŒ่‡ช็„ถไนŸไธ็ฆปๅค–๏ผŒๅœจ 2023 ๅนดๅˆๆด‹ๆด‹ๆด’ๆด’ๅ†™ไบ†ไธ€็ฏ‡ๅœจๅฅๅบทใ€่ฏปไนฆไธŽๅญฆไน ใ€ๆ—ถ้—ด็ฎก็†ๅ’Œๆททๅˆๅทฅไฝœๅˆถๅ‡ ไธชๆ–น้ข็š„ๅฎž่ทตไธŽ็†่งฃ๏ผˆๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ๏ผ‰๏ผŒๅฐฑๅผ€ๅผ€ๅฟƒๅฟƒๅœฐๅ‘ๅ‰็œ‹๏ผŒๅญฆ็€ๅ‘ๅค–ไฝ“้ชŒไบ†ใ€‚\\n้‚ฃไนˆ้—ฎ้ข˜ๆฅไบ†๏ผŒ็›ธๆฏ”ไน‹ๅ‰ๅ†™ๅ‡บ้•ฟๆ–‡๏ผŒ็ฌ”่€…ๅˆๆ˜ฏ่ฟ‘ไธ€ๅนดๆฒกๆœ‰ๅ‘ๅค–่พ“ๅ‡บ่ฝฏๆ–‡ไบ†ใ€‚ๅ› ๆญค๏ผŒไนฆๆŽฅไธŠๆ–‡๏ผŒๆœฌๆฌก็ปง็ปญๆ–ฐๅขžไธ€็ฏ‡ไธญ็Ÿญๆ–‡๏ผŒๆผซ่ฐˆไธ€ไธ‹็–ซๆƒ…ๅŽ็š„ๅ‘ๅค–ไฝ“้ชŒใ€‚\\nๅœจๅ€’้€ผ่‡ชๅทฑๅ…ณๆณจ่บซไฝ“ๅฅๅบทๅ’Œๆ—ถ้—ด็ฎก็†ๅŽ๏ผŒ่™ฝ็„ถๅœจไฝ“้‡ๅ’Œๆ•ˆ็އไธคไธชๆ–น้ขๆœ‰ไธ€ๅฎš็š„ๆญฃๅ‘ๆ•ˆๆžœ๏ผŒไฝ†็ฌ”่€…ๅœจ่ฟž็ปญๅšๆŒ่ฝๅœฐๆ‹†่งฃๅ‡บๆฅ็š„็›ฎๆ ‡่ฟ‡็จ‹ไธญ๏ผŒๆœ‰ๆ—ถ\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/00.AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/00.AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ\",\"frontmatter\":{\"title\":\"AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"date\":\"2026-03-15 16:00:00\",\"description\":\"ๅ…จๆ™ฏๅผ AI ๅญฆไน ไธŽๅฎž่ทต็Ÿฅ่ฏ†ๅบ“๏ผŒ็ณป็ปŸๆฒ‰ๆท€ AI Agent ่ฎพ่ฎกๆจกๅผใ€ๅคงๆจกๅž‹ๅทฅ็จ‹ๅŒ–่ฝๅœฐใ€ๅผ€ๆบๅฐ้กน็›ฎๅŠ็คพๅŒบๆดปๅŠจ็ป้ชŒๆ€ป็ป“๏ผŒๆŒ็ปญ่ฟญไปฃไปŽ็†่ฎบๅˆฐ็”Ÿไบง็š„ๅฎŒๆ•ดๆ–นๆณ•่ฎบใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/llm_learning_bg_1.png\",\"permalink\":\"/ai-learning/overview\",\"categories\":[\"ai-practice\"],\"tags\":[\"AI\",\"LLM\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"date\":\"2026-03-15 16:00:00\",\"capture\":\"<!-- ็ฒพ้€‰ไธ“้ข˜ --\\n<script setup>\\nimport ArticleCardList from '@fragment/components/ArticleCardList.vue'\\nimport { aiLearningCategories } from '@fragment/data/ai-learning-data'\\n</script>\\n<ArticleCardList :categories=\\\"aiLearningCategories\\\" />\"},{\"url\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/02.้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/02.้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-03-02 11:05:50\",\"title\":\"้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ AI ๆž้€Ÿ้™ไฝŽไปฃ็ ็ผ–ๅ†™้—จๆง›๏ผŒๅ•็บฏ็š„โ€œไธšๅŠกไปฃ็ ็ฟป่ฏ‘ๅ™จโ€่ง’่‰ฒๆญฃๅŠ ้€Ÿ่ดฌๅ€ผใ€‚ๆœฌๆ–‡ไปŽๆŠ€ๆœฏๆผ”่ฟ›ไธŽไบงๅ“ๆ€่€ƒ็š„ไบคๆฑ‡็‚นๅ‡บๅ‘๏ผŒๅฐ† AI ๆ—ถไปฃ็š„ๅผ€ๅ‘่€…่ƒฝๅŠ›ๅ›พ่ฐฑ้‡ๆ–ฐๅˆ’ๅˆ†ไธบไธ‰ๅคงๆ ธๅฟƒๅœˆๅฑ‚๏ผšไบงๅ“ๅบ”็”จๅฑ‚๏ผˆInsight Stack๏ผ‰ใ€Agent ๅผ€ๅ‘ๅฑ‚ไธŽ AI ๅŸบ็ก€่ฎพๆ–ฝๅฑ‚ใ€‚ๆ— ่ฎบไฝ ๆ˜ฏๆทฑ่€•่ง†ๅ›พๅฑ‚ไบคไบ’ใ€็ฒพ้€š Node.js ็ญ‰ๆœๅŠก็ซฏๆžถๆž„็š„ๅผ€ๅ‘่€…๏ผŒ่ฟ˜ๆ˜ฏ่‡ดๅŠ›ไบŽๆŠ€ๆœฏ่ฝๅœฐ็š„ๆŽข็ดข่€…๏ผŒ้ƒฝ่ƒฝๅœจ่ฟ™ไปฝๆผ”่ฟ›ๆŒ‡ๅ—ไธญๆ‰พๅˆฐๆ‰“็ ด่ƒฝๅŠ›่พน็•Œใ€ๅ‘โ€œ่ถ…็บงไธชไฝ“โ€ไธŽโ€œAI ๆ™บ่ƒฝไฝ“ๆŒ‡ๆŒฅๅฎ˜โ€่ทƒ่ฟ็š„็ ดๅฑ€ไน‹้“ใ€‚\",\"permalink\":\"/fullstack/ai-engineer-capability\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"top\":true,\"tags\":[\"ๅ…จๆ ˆ\",\"AI\"],\"categories\":[\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"date\":\"2026-03-02 11:05:50\",\"capture\":\"<script setup>\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/ai_engineering_arc.png\\\" style=\\\"width: 100%; border-radius: 8px; margin-bottom: 20px;\\\" alt=\\\"about site back\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/11. LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/11. LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-01-06 15:58:53\",\"title\":\"LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆˆช่‡ณ 2026 ๅนด๏ผŒLLM API ๆœๅŠกๅทฒๅฝขๆˆ\\\"ๅฎ˜ๆ–น็›ด่ฟž + ็ฌฌไธ‰ๆ–น่šๅˆ\\\"็š„ๅŒ่ฝจๆ ผๅฑ€๏ผŒๆจกๅž‹่ƒฝๅŠ›ใ€ๅฎšไปทใ€ๅˆ่ง„ๆ€งไธŽๆŽฅๅ…ฅไพฟๅˆฉๆ€งๅทฎๅผ‚ๆ˜พ่‘—ใ€‚ๆœฌๆ–‡ไปŽ้€‰ๅž‹ๅ‰ๆ้—ฎๅ‡บๅ‘๏ผŒ็ณป็ปŸๆขณ็†ๅ›ฝ้™…ไธŽๅ›ฝๅ†…ไธปๆตๅฎ˜ๆ–น API ๅนณๅฐ๏ผŒไปฅๅŠ OpenRouterใ€็ก…ๅŸบๆตๅŠจ็ญ‰็ฌฌไธ‰ๆ–น่šๅˆๅนณๅฐ็š„ๆ ธๅฟƒ็‰น็‚น๏ผŒๅนถๆไพ›ๅŸบไบŽๅœบๆ™ฏ็š„ๅ†ณ็ญ–ๆก†ๆžถ๏ผŒๅธฎๅŠฉๅผ€ๅ‘่€…ๅ’Œไบงๅ“ๅ›ข้˜Ÿๅฟซ้€Ÿ้”ๅฎšๆœ€้€‚ๅˆ่‡ชๅทฑ็š„ๆ–นๆกˆใ€‚\",\"permalink\":\"/ai-learning/llm-api-resources\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"LLM API\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"date\":\"2026-01-06 15:58:53\",\"capture\":\"1. ้€‰ๆจกๅž‹ๅ‰๏ผŒๅ…ˆๆƒณๆธ…ๆฅš่ฟ™ๅ‡ ไปถไบ‹\\nๅœจๅฏนๆฏ”ๅ…ทไฝ“ๅนณๅฐไน‹ๅ‰๏ผŒๅฏไปŽไปฅไธ‹ๅ››ไธช็ปดๅบฆๆขณ็†่‡ช่บซ่ฏ‰ๆฑ‚๏ผŒ้ฟๅ…\\\"็œผ่Šฑ็ผญไนฑๅŽ้šไพฟ้€‰ไธ€ไธช\\\"๏ผš\\n| ็ปดๅบฆ | ๅ…ณ้”ฎ้—ฎ้ข˜ | ๅฝฑๅ“ๅ†ณ็ญ– |\\n|:-----|:--------|:--------|\\n| ไปปๅŠก็ฑปๅž‹ | ๆ˜ฏ้€š็”จๅฏน่ฏใ€ไปฃ็ ็”Ÿๆˆใ€้•ฟๆ–‡ๆกฃๅˆ†ๆž๏ผŒ่ฟ˜ๆ˜ฏๅคšๆจกๆ€็†่งฃ๏ผŸ | ไธๅŒๆจกๅž‹ๅœจๅž‚็›ด่ƒฝๅŠ›ไธŠๅทฎ่ทๆ‚ฌๆฎŠ |\\n| ๆˆๆœฌ้ข„็ฎ— | ๆฏๆœˆ่ฐƒ็”จ้‡็บง๏ผŸ่ƒฝๅฆๆŽฅๅ—ๆตทๅค–็ป“็ฎ—ไธŽๆฑ‡็އ้ฃŽ้™ฉ๏ผŸ | ๅ›ฝไบงๆจกๅž‹ Token ไปทๆ ผ้€šๅธธไฝŽ 3๏ฝž10 ๅ€ |\\n| ๅˆ่ง„ไธŽ้ƒจ็ฝฒ | ๆ•ฐๆฎ่ƒฝๅฆๅ‡บๅขƒ๏ผŸ่ƒฝๅฆไฝฟ็”จๆตทๅค–ๆœๅŠก๏ผŸๆ˜ฏๅฆ้œ€่ฆ็งๆœ‰ๅŒ–้ƒจ็ฝฒ๏ผŸ | ๆถ‰ๅŠๆ”ฟๅŠก/้‡‘่ž/ๅŒป็–—ๅœบๆ™ฏๅฟ…้กป่€ƒ่™‘ |\\n| ็ฝ‘็ปœ็Žฏๅขƒ | ๅผ€ๅ‘/้ƒจ็ฝฒ็Žฏๅขƒ่ƒฝๅฆ็จณๅฎš่ฎฟ\"},{\"url\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/10.่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"relativePath\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/10.่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"frontmatter\":{\"date\":\"2025-12-06 22:05:50\",\"title\":\"่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"description\":\"่ฝฏไปถๅทฅ็จ‹ๆญฃ็ปๅކไปŽโ€œๆ‰‹ๅ†™้€ป่พ‘โ€ๅ‘โ€œๆ„ๅ›พ่ฐƒๅบฆโ€็š„่Œƒๅผ่ฟๅพ™ใ€‚Anthropic ็š„็ ”็ฉถๆญ็คบไบ† AI ๅนถ้ž็ฎ€ๅ•็š„ๆๆ•ˆๅทฅๅ…ท๏ผŒ่€Œๆ˜ฏ้€š่ฟ‡้‡Šๆ”พ 27% ๆ›พ็ปโ€œไธๅˆ’็ฎ—โ€็š„ๅทฅ็จ‹ไปปๅŠก๏ผŒ้‡ๅก‘ไบ†่ฝฏไปถ่ดจ้‡็š„ๅฏ†ๅบฆใ€‚ๅœจ่‡ช็„ถ่ฏญ่จ€ๅณ็ผ–็จ‹่ฏญ่จ€็š„ๆ—ถไปฃ๏ผŒๆˆ‘ไปฌ้œ€่ฆ้€š่ฟ‡่ง„ๆ ผ้ฉฑๅŠจ๏ผˆSDD๏ผ‰ไธŽๅคšๆ™บ่ƒฝไฝ“็ผ–ๆŽ’๏ผŒ็ ด่งฃโ€œ็›‘็ฃๆ‚–่ฎบโ€ๅธฆๆฅ็š„ๆŠ€่ƒฝๅนณๅบธๅŒ–ๅฑๆœบ๏ผŒๅฐ† AI ็š„ๆฆ‚็އๆ€ง็”Ÿๆˆ้ฉฏๅŒ–ไธบ็กฎๅฎšๆ€ง็š„ๅทฅ็จ‹ไบคไป˜ใ€‚ๅฝ“็ผ–็ ๆˆๆœฌ่ถ‹ไบŽ้›ถ๏ผŒๅทฅ็จ‹ๅธˆ็š„็ปˆๆžๅฃๅž’ๅฐ†ๆ˜ฏๅฎšไน‰ๅฎŒ็พŽ็š„ๅ“ๅ‘ณ๏ผŒไปฅๅŠๅœจ AI ่ฟท้›พไธญ่ฏ†็ ดๅนณๅบธ็š„ๆดžๅฏŸๅŠ›ใ€‚\",\"permalink\":\"/fullstack/ai-change-work-workflow/\",\"top\":true,\"tags\":[\"ๅ…จๆ ˆ\",\"AI\"],\"categories\":[\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"date\":\"2025-12-06 22:05:50\",\"capture\":\"<script setup>\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\nๅœฐๅ€๏ผšHow AI is transforming work at Anthropic\\nๆ ธๅฟƒๆ ‡็ญพ๏ผš`AI่พ…ๅŠฉ็ผ–็จ‹` `ๅทฅ็จ‹` `่Œƒๅผ่ฝฌ็งป` `ๅทฅไฝœ่ฝฌๅž‹` `็”ŸไบงๅŠ›ๆๅ‡` `ๆŠ€่ƒฝๅ‘ๅฑ•` `ไบบๆœบๅไฝœ` \\nไธ€ๅฅ่ฏไป‹็ป๏ผšAnthropic ไธไป…ไป…ๆ˜ฏ AI ๅทฅๅ…ท็š„็”Ÿไบง่€…๏ผŒๆ›ดๆ˜ฏ็ฌฌไธ€ไธช่ฟ›ๅ…ฅโ€œๆœชๆฅๅฎž้ชŒๅฎคโ€็š„ๆทฑๅบฆ่ง‚ๅฏŸ่€…ใ€‚ไป–ไปฌ้€š่ฟ‡ๅ†…้ƒจๆ•ฐๆœˆ็š„ๅฎž้ชŒๆ•ฐๆฎๅ‘Š่ฏ‰ๆˆ‘ไปฌ๏ผšๅคงๆจกๅž‹ๅฏน่ฝฏไปถๅทฅ็จ‹็š„ๆ”น้€ ๏ผŒ็ป้ž็ฎ€ๅ•็š„โ€œๆๆ•ˆโ€๏ผŒ่€Œๆ˜ฏไธ€\"},{\"url\":\"/01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ\",\"frontmatter\":{\"date\":\"2025-11-25 00:52:28\",\"title\":\"AI ็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡ๆทฑๅบฆ่งฃๆžไบ† AI ้ฉฑๅŠจ็ผ–็จ‹็š„ไธ‰ๅคงๆผ”่ฟ›่Œƒๅผ๏ผšVibe Coding๏ผˆ่‡ช็„ถ่ฏญ่จ€้›ถ้—จๆง›ๆž„ๅปบ๏ผ‰ใ€AI IDE๏ผˆ็ผ–่พ‘ๅ™จๆทฑๅบฆ่พ…ๅŠฉๆๆ•ˆ๏ผ‰ๅŠ Agentic Engineering๏ผˆ่‡ชไธปๅทฅ็จ‹ๅธˆๆ‰ง่กŒไปปๅŠก๏ผ‰ใ€‚้€š่ฟ‡ๆจชๅ‘ๅฏนๆฏ” Bolt.newใ€Cursorใ€Claude Code ็ญ‰ๅ‰ๆฒฟๅทฅๅ…ท๏ผŒๆ–‡็ซ ๅ‹พๅ‹’ๅ‡บไธ€ๆกไปŽโ€œๅฟซ้€ŸๅŽŸๅž‹โ€ๅˆฐโ€œ้ซ˜ๆ•ˆๅๅŒโ€ๅ†ๅˆฐโ€œ่‡ชไธปไบคไป˜โ€็š„่ฟ›้˜ถ่ทฏๅพ„ใ€‚ๆ ธๅฟƒๆ—จๅœจๆŒ‡ๅฏผ็”จๆˆทๅˆฉ็”จ AI ๅทฅๅ…ท็Ÿฉ้˜ตๆ‰“็ ดๆŠ€ๆœฏ่พน็•Œ๏ผŒๅฎž็ŽฐไปŽๅˆ›ๆ„ๆ่ฟฐๅˆฐๅทฅไธš็บงไบคไป˜็š„็”ŸไบงๅŠ›้ฃž่ทƒ๏ผŒ้‡ๅก‘่ฝฏไปถๅผ€ๅ‘ๅ…จ็”Ÿๅ‘ฝๅ‘จๆœŸใ€‚\",\"permalink\":\"/ai-learning/ai-coding-resources\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/source_sites_bg.png\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"AI Coding\",\"Vibe Coding\",\"Agentic Engineering\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"AI ็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่\",\"date\":\"2025-11-25 00:52:28\",\"capture\":\"1. ไธ‰็ง็ผ–็จ‹่Œƒๅผ้€Ÿ่งˆ\\n| ่Œƒๅผ | ไธ€ๅฅ่ฏๆ่ฟฐ | ไฝ ็š„่ง’่‰ฒ |\\n|:-----|:---------|:--------|\\n| Vibe Coding | ็”จ่‡ช็„ถ่ฏญ่จ€ๆ่ฟฐ้œ€ๆฑ‚๏ผŒAI ็›ดๆŽฅ็”Ÿๆˆๅฏ่ฟ่กŒ็š„ๅฎŒๆ•ด้กน็›ฎ | ๆ่ฟฐ้œ€ๆฑ‚๏ผŒ่ฎฉ AI ๅ†™ไปฃ็ (```ๆ–ฐๆ‰‹ๅ‹ๅฅฝ```) |\\n| AI IDE | ๅœจ็ผ–่พ‘ๅ™จ้‡Œๅผ•ๅ…ฅ AI ่พ…ๅŠฉ๏ผŒ่พนๅ†™่พน่กฅๅ…จใ€่พน้—ฎ่พนๆ”น | ไธปๅฏผๅผ€ๅ‘๏ผŒ่ฎฉ AI ๅšๅ‰ฏ้ฉพ้ฉถ(```ๆ›ดๅคšๆŽงๅˆถ```) |\\n| Agentic Engineering | AI ไฝœไธบ\\\"่‡ชไธปๅทฅ็จ‹ๅธˆ\\\"๏ผŒๆŽฅๆ”ถไปปๅŠกๅŽ่‡ชๅŠจ่ง„ๅˆ’ๅนถๆ‰ง่กŒๅ…จๅฅ—ไปฃ็ ๅทฅไฝœๆต | ๆไปปๅŠกใ€ๅฎก็ป“ๆžœ๏ผŒ่ฎฉ AI ๆ‰ง่กŒ(```ๆž่‡ดๆๆ•ˆ```) |\\nๆ–ฐๆ‰‹่ทฏ็บฟๅปบ่ฎฎ๏ผšๅ…ˆ\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"frontmatter\":{\"date\":\"2025-11-25 00:52:28\",\"title\":\"ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไธบไพฟไบŽ้ซ˜ๆ•ˆๅˆฉ็”จ AI ๅทฅๅ…ทๆๅ‡ๅญฆไน ใ€ๆœ็ดขๅ’Œๅˆ›ไฝœๆ•ˆ็އ๏ผŒๆœฌๆ–‡็ณป็ปŸๆ•ด็†ไบ†ไธปๆต็š„ AI ๅŠฉๆ‰‹ไธŽๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐ็›ธๅ…ณ่ต„ๆบใ€‚ๅ†…ๅฎนๅˆ†ไธบโ€œAI ๅŠฉๆ‰‹โ€๏ผˆๅฆ‚ ChatGPTใ€Claudeใ€Gemini ็ญ‰ๅฏน่ฏๅผๅŠฉๆ‰‹๏ผ‰ๅ’Œโ€œๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐโ€๏ผˆๅฆ‚ๅ†™ไฝœใ€็ป˜็”ป็ญ‰้ข†ๅŸŸ็š„ AI ๅทฅๅ…ทไธŽๅนณๅฐ๏ผ‰๏ผŒไธ”ๆ ‡ๆณจไบ†ๅ…ถๆ ธๅฟƒ่ƒฝๅŠ›ใ€้€‚ๅˆๅœบๆ™ฏ๏ผŒไปฅๅŠ็‰น่‰ฒไผ˜ๅŠฟใ€‚\",\"permalink\":\"/ai-learning/tools-assistant\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/source_sites_bg.png\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"AI ๅŠฉๆ‰‹\",\"AI ๆœ็ดข\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"date\":\"2025-11-25 00:52:28\",\"capture\":\"1. AI ๅŠฉๆ‰‹\\n> ้€‰ๆ‹ฉๅปบ่ฎฎ๏ผš ่‹ฑๆ–‡ไธบไธป โ†’ ไผ˜ๅ…ˆ ChatGPT / Claude / Gemini๏ผ›ไธญๆ–‡ไธบไธป โ†’ ไผ˜ๅ…ˆ Kimi / DeepSeek / ้€šไน‰ๅƒ้—ฎ๏ผ›้œ€่ฆ่”็ฝ‘ๅฎžๆ—ถไฟกๆฏ โ†’ Gemini / Grok๏ผ›้œ€่ฆๅˆ†ๆž้•ฟๆ–‡ๆกฃ โ†’ Claude / Kimi๏ผ›่ฟฝๆฑ‚ไฝŽๆˆๆœฌๅผ€ๆบ้ƒจ็ฝฒ โ†’ DeepSeekใ€‚\\n>\\n> ๆณจ๏ผš็›ฎๅ‰ๅ›ฝๅค–ๆจกๅž‹๏ผˆๅฆ‚ ChatGPTใ€Claudeใ€Gemini ็ญ‰๏ผ‰ๅœจ่‹ฑๆ–‡ๅค„็†ใ€ๅคšๆจกๆ€่ƒฝๅŠ›ใ€ๆ’ไปถ็”Ÿๆ€ๅ’Œ API ไธฐๅฏŒๆ€ง็ญ‰ๆ–น้ข๏ผŒๆ•ดไฝ“ไธŠไพ็„ถไผ˜ไบŽๅ›ฝๅ†…ๆจกๅž‹๏ผŒ้€‚ๅˆๅฏน่‹ฑๆ–‡ๅˆ›ไฝœใ€ๅคš่ฏญ่จ€ๆฒŸ้€šใ€ๅคๆ‚ๆŽจ็†ใ€ไปฃ็ ๅŠฉๆ‰‹็ญ‰ๅœบๆ™ฏๆœ‰ๆ›ด้ซ˜่ฆๆฑ‚็š„็”จๆˆทใ€‚ไธ่ฟ‡๏ผŒๅ›ฝๅ†…ๆจกๅž‹ๅœจไธญๆ–‡็†่งฃใ€ๆœฌๅœฐๅŒ–ใ€ๅˆ่ง„\"},{\"url\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/20.่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"relativePath\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/20.่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"frontmatter\":{\"date\":\"2024-06-15 22:23:00\",\"title\":\"่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡็ป“ๅˆไฟ็ฝ—ใƒปๆ ผ้›ทๅŽ„ๅง†ใ€ŠHow to Do Great Workใ€‹ๆ ธๅฟƒ่ง‚็‚น๏ผŒๆŽข่ฎจ AI ๅŽŸ็”Ÿๆ—ถไปฃๅคๅˆๅž‹ไบบๆ‰็š„ๆ ธๅฟƒ็‰น่ดจใ€‚AI ่ฎฉๅŸบ็ก€ๆ‰ง่กŒ่ƒฝๅŠ›ๅฟซ้€Ÿ่ดฌๅ€ผ๏ผŒไบบๆ‰็š„ๆ ธๅฟƒๅฃๅž’ไธๅ†ๆ˜ฏ่งฃๅ†ณ้—ฎ้ข˜๏ผŒ่€Œๆ˜ฏๆๅ‡บไผ˜่ดจ้—ฎ้ข˜ใ€ๅŸนๅ…ป้žๅ…ฑ่ฏ†ๅ“ๅ‘ณใ€‚ๅŒๆ—ถ้œ€ๅšๅฎˆๆ™บๅŠ›่ฏšๅฎž๏ผŒๆ‹ฅๆœ‰ๆ‰“็ ดๅธธ่ง„็š„ๅˆ›ๆ–ฐๅ‹‡ๆฐ”๏ผŒๅ€ŸๅŠฉ AI ๆ”พๅคงไธชไบบๆˆ้•ฟๆ ๆ†๏ผŒไปฅๅฐๅˆ‡ๅฃๅฎž่ทตๅฎž็ŽฐๆŒ‡ๆ•ฐ็บงๆˆ้•ฟใ€‚ไบบ็ฑป็‹ฌๆœ‰็š„ๅฅฝๅฅ‡ๅฟƒ๏ผŒๆ˜ฏ็ช็ ด AI ๅนณๅบธใ€ๅ–ๅพ—ๆฐๅ‡บๆˆๅฐฑ็š„ๆœ€็ปˆๅบ•ๆฐ”ใ€‚\",\"coverImg\":\"/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense/ai-native-composite-talents\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"AI\",\"ๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"date\":\"2024-06-15 22:23:00\",\"capture\":\"> \\n> ๅŽŸๆ–‡ๅœฐๅ€๏ผšhttps://paulgraham.com/greatwork.html\\n> \\n> ๅŽŸๆ–‡ไฝœ่€…๏ผšPaul Graham๏ผˆไฟ็ฝ—ยทๆ ผ้›ทๅŽ„ๅง†๏ผ‰๏ผŒ็ก…่ฐท้กถ็บงๅญตๅŒ–ๅ™จ Y Combinator ๅˆ›ๅง‹ไบบ๏ผŒ่ขซ่ช‰ไธบโ€œ็ก…่ฐทๅˆ›ไธšๆ•™็ˆถโ€๏ผŒไนŸๆ˜ฏ็ปๅ…ธๆŠ€ๆœฏๅ“ฒๅญฆ่‘—ไฝœใ€Š้ป‘ๅฎขไธŽ็”ปๅฎถใ€‹็š„ไฝœ่€…ใ€‚\\n> \\n> ๆ–‡็ซ ่ƒŒๆ™ฏ๏ผšๅŽŸๆ–‡ๆ˜ฏไฟ็ฝ—ยทๆ ผ้›ทๅŽ„ๅง†ไน‹ๅ‰ๅ‡†ๅค‡ไบ†ๅŠๅนดไน‹ไน…็š„้‡็ฃ…้•ฟๆ–‡๏ผŒไป–่ฏ•ๅ›พ่ฎฒๆ˜Ž็™ฝไธ€ไธช้€‚็”จไบŽๆฏไธชไบบ็š„ไธป้ข˜โ€”โ€”ๅฆ‚ไฝ•ๅšๆˆใ€Œๅคงไบ‹ใ€๏ผˆgreat work๏ผ‰ใ€‚้€š่ฏปๅ…จๆ–‡๏ผŒไฝ ไผšๅ‘็Žฐ๏ผŒ่ฟ™ๆ˜ฏไธ€็ฏ‡้žๅธธๅฎž็”จ็š„ๅทฅไฝœๆŒ‡ๅ—๏ผŒๅนถไธ”ๅ…ถไธญ็š„่ฎธๅคšๅ†…ๅฎน๏ผŒ้ƒฝไธŽAIๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰ๆ‰€้œ€่ฆๅ…ทๅค‡็š„็‰น่ดจ้žๅธธไธ€่‡ดใ€‚\\n 1. ๅผ•่จ€๏ผš\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/70.่ฏ—ๆญŒๅฐ็ฒพ็ต\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/70.่ฏ—ๆญŒๅฐ็ฒพ็ต\",\"frontmatter\":{\"date\":\"2024-04-19 22:15:38\",\"title\":\"้›ถไปฃ็ ไธ็ญ‰ไบŽ้›ถ้€ป่พ‘๏ผš็ป“ๆž„ๅŒ– Prompt ้ฉฑๅŠจไธ‹็š„ Agent ๆญๅปบๅฎžๆˆ˜\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจ Agent ๆฆ‚ๅฟตๆปกๅคฉ้ฃž็š„ๅฝ“ไธ‹๏ผŒๅ†ณๅฎšๅคงๆจกๅž‹ๅฎž้™…่กจ็Žฐ็š„ๅพ€ๅพ€ๆ˜ฏๆœ€ๅบ•ๅฑ‚็š„ System Prompt ่ฎพ่ฎกใ€‚ๆœฌๆ–‡่ฎฐๅฝ•ไบ†ๅ‘จๆœซๅˆฉ็”จๆ–‡ๅฟƒๆ™บ่ƒฝไฝ“ๅนณๅฐๆญๅปบโ€œ่ฏ—ๆญŒๅฐ็ฒพ็ตโ€็š„ๅฎŒๆ•ดๅฎž่ทตใ€‚้€š่ฟ‡ๅฏนๆฏ”โ€œไผ ็ปŸๅคงๆฎตๆ–‡ๆœฌโ€ไธŽโ€œLangGPT ็ป“ๆž„ๅŒ–โ€ไธค็ง Prompt ็š„ๅฎž้™…่พ“ๅ‡บ๏ผŒๆทฑๅบฆๆ‹†่งฃไบ†็ป“ๆž„ๅŒ– Prompt ๅฆ‚ไฝ•ๅƒโ€œๅ†™ไปฃ็ โ€ไธ€ๆ ท่ง„่Œƒ AI ็š„ๆ€่€ƒๅทฅไฝœๆต๏ผŒๆœ‰ๆ•ˆ่งฃๅ†ณๆŒ‡ไปคๆผ‚็งปไธŽๅนป่ง‰้—ฎ้ข˜ใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ๆฌก Prompt ่ฐƒไผ˜ๅฎž้ชŒ๏ผŒๆ›ดๆ˜ฏไธ€ๅœบๅ…ณไบŽ AI ไบงๅ“ Sense ไธŽๆœชๆฅไบคไบ’ๅฝขๆ€็š„ๆŽข็ดขใ€‚\",\"coverImg\":\"/img/cover/llm_learning_bg_2.png\",\"categories\":[\"ai-practice\"],\"permalink\":\"/ai-practice/poetry-bot\",\"tags\":[\"Agent\",\"AI\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"้›ถไปฃ็ ไธ็ญ‰ไบŽ้›ถ้€ป่พ‘๏ผš็ป“ๆž„ๅŒ– Prompt ้ฉฑๅŠจไธ‹็š„ Agent ๆญๅปบๅฎžๆˆ˜\",\"date\":\"2024-04-19 22:15:38\",\"capture\":\"1. ๅฎž่ทต่ƒŒๆ™ฏ\\nๅ‘จๆœซๅœจ็คพๅŒบๆดปๅŠจไธญๅ†ๆฌกๅฌๅˆฐไบ† LangGPT ไฝœ่€…ไบ‘ไธญๆฑŸๆ ‘ๅ…ณไบŽโ€œ็ป“ๆž„ๅŒ–ๆ็คบ่ฏโ€็š„ๅˆ†ไบซ๏ผŒ่ฎฉไบบๆ„Ÿ่งฆ้ข‡ๆทฑใ€‚่™ฝ็„ถๅฝ“ๅ‰ Agent ๆฆ‚ๅฟต็ซ็ƒญ๏ผŒๅฑ‚ๅ‡บไธ็ฉท็š„ๆก†ๆžถ่ฎฉไบบ็œผ่Šฑ็ผญไนฑ๏ผŒไฝ†ๅ›žๅฝ’ๆœฌ่ดจๆˆ‘ไปฌๅฐฑไผšๅ‘็Žฐ๏ผšSystem Prompt ็š„ๅบ•ๅฑ‚่ฎพ่ฎกใ€ไธŠไธ‹ๆ–‡ๅทฅ็จ‹ไปฅๅŠๆŒ‡ไปค้ตๅพชๆœบๅˆถ๏ผŒๆ‰ๆ˜ฏๅ†ณๅฎšไธ€ไธช Agent ็ต้ญ‚็š„ๅ…ณ้”ฎใ€‚\\nๆญฃๅทงๅคงๅ›ข้˜Ÿ่‡ช็ ”็š„้›ถไปฃ็  Agent ๅนณๅฐ่ฟ‘ๆœŸๅ‘ๅธƒไบ†ๆ–ฐ็‰ˆๆœฌ๏ผŒไธบไบ†ไบฒๆต‹ๅนณๅฐๆ€ง่ƒฝๅนถๅฎžๆˆ˜ๆผ”็ปƒ็ป“ๆž„ๅŒ– Prompt ็š„็ผ–ๅ†™ๆŠ€ๅทง๏ผŒๆˆ‘ๅ†ณๅฎšๅˆ›ๅปบไธ€ไธชโ€œ่ฏ—ๆญŒๅฐ็ฒพ็ตโ€ Agentใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ไธช่ถฃๅ‘ณๅฎž้ชŒ๏ผŒๆ›ดๆ˜ฏไธบไบ†ๆŽข็ดข AI ๅœจๆ–‡ๅญฆๅˆ›ไฝœ่ฟ™็งโ€œๆ„Ÿๆ€ง้ข†ๅŸŸโ€ไธญ๏ผŒๅฆ‚ไฝ•้€š่ฟ‡โ€œ็†ๆ€ง็š„็ป“ๆž„็บฆๆŸโ€่พพๅˆฐๆ›ด้ซ˜็š„่พ“ๅ‡บไธŠ้™ใ€‚\\n 2. ๅนณๅฐไธŽ\"}],\"ๅ…จๆ ˆ\":[{\"url\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"relativePath\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"frontmatter\":{\"date\":\"2025-10-24 11:05:50\",\"title\":\"ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจ AI ้‡ๅก‘่ฝฏไปถๅทฅ็จ‹็š„ไปŠๅคฉ๏ผŒๅ…จๆ ˆไธๅ†ๆ˜ฏๆŠ€ๆœฏ็š„็บฟๆ€งๅ ๅŠ ๏ผŒๆญฃๅœจไปŽโ€œๆŠ€ๆœฏๆ ˆๅ †็ Œโ€่ฝฌๅ‘โ€œ่ฎค็Ÿฅๆ ˆ้‡ๆž„โ€ใ€‚ๆœฌๆ–‡ๆๅ‡บ โ€œ(ๅทฅ็จ‹ + ไบงๅ“) ร— AIโ€ ็š„ๆ–ฐๅ…ฌๅผ๏ผŒๅŠฉๅŠ›ๅผ€ๅ‘่€…ๆž„ๅปบโ€œๆดžๅฏŸ-ๆžถๆž„-ๆ ๆ†โ€่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”๏ผŒๅˆฉ็”จ AI ๆ ๆ†่ฎฉ่‡ชๅทฑ่ฟ›ๅŒ–ไธบไปทๅ€ผๅˆ›้€ ่€…ใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"permalink\":\"/fullstack/ai-native\",\"sticky\":1,\"top\":true,\"tags\":[\"ๅ…จๆ ˆ\",\"AI\",\"ไบงๅ“\"],\"categories\":[\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"date\":\"2025-10-24 11:05:50\",\"capture\":\"<script setup>\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n 1. ๅผ•่จ€\\nๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒๅฝ“ๆˆ‘ไปฌ่ฐˆ่ฎบโ€œๅ…จๆ ˆๅทฅ็จ‹ๅธˆโ€ๆ—ถ๏ผŒ่„‘ๆตทไธญๆตฎ็Žฐ็š„ๅพ€ๅพ€ๆ˜ฏไธ€ๅผ ๅ†—้•ฟไธ”ไปคไบบ็–ฒๆƒซ็š„ๆŠ€ๆœฏๅทฅๅบๆธ…ๅ•ใ€‚\\nๅฐฑๅƒๆˆ‘ๆ›พ็ปไปฅไธบ็š„้‚ฃๆ ท๏ผŒๅ…จๆ ˆๅฐฑๆ˜ฏ็บฟๆ€ง็š„ๆŠ€่ƒฝๅ ๅŠ ไธŽ็‰ฉ็†ๅผ็š„ๆŠ€ๆœฏๆ‹ผๆŽฅ๏ผŒๆ˜ฏไธ€็งไพ้ ไบบๅŠ›ๅŽปๅกซ่กฅๆŠ€ๆœฏ้ธฟๆฒŸ็š„โ€œ่ฅฟ่ฅฟๅผ—ๆ–ฏๅผโ€ๅŠชๅŠ›๏ผš\\n* ็บฟๆ€ง็š„ๆŠ€่ƒฝๅ ๅŠ ๏ผšๆˆ‘ไปฌ่ขซ่ฟซๆˆไธบโ€œๅ…จ่ƒฝๆ‰‹โ€๏ผŒๅทฆๆ‰‹็”จ React/Vue ๆž„ๅปบ็ฒพ็พŽ็š„ UI๏ผŒๅณๆ‰‹็”จ Node/Go ็ผ–ๅ†™้ซ˜ๅนถๅ‘ API๏ผŒไธญ้—ด่ฟ˜่ฆๅค„็†ๆ•ฐๆฎๅบ“็š„ ACI\"},{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/02.CSSๅทฅ็จ‹ๅŒ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/02.CSSๅทฅ็จ‹ๅŒ–\",\"frontmatter\":{\"date\":\"2026-03-10 22:05:50\",\"title\":\"ไปŽๅŽŸๅญๅŒ–ๅˆฐๅ˜ไฝ“้ฉฑๅŠจ๏ผš็Žฐไปฃ CSS ๅทฅ็จ‹ๅŒ–็š„ๆžถๆž„ๆผ”่ฟ›ไธŽๆททๅˆๅฎž่ทตๆŒ‡ๅ—\",\"description\":\"ๆœฌๆ–‡็ณป็ปŸๅ‰–ๆžไธปๆต CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆ็š„ๅบ•ๅฑ‚้€ป่พ‘๏ผŒๆๅ‡บโ€œๆ ทๅผ่ต„ไบง ROIโ€่ฏ„ไผฐๆจกๅž‹๏ผŒๅนถ้’ˆๅฏน Vue/React ็”Ÿๆ€็ป™ๅ‡บไบ†้ขๅ‘ AI ๆ—ถไปฃ็š„ไผไธš็บงๆททๅˆๆžถๆž„้€‰ๅž‹ๅปบ่ฎฎใ€‚\",\"permalink\":\"/full-stack/css-engineering\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"top\":true,\"categories\":[\"ๅ…จๆ ˆ\"],\"tags\":[\"ๅ…จๆ ˆ\",\"CSS\",\"ๅทฅ็จ‹ๅŒ–\",\"tailwindcss\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไปŽๅŽŸๅญๅŒ–ๅˆฐๅ˜ไฝ“้ฉฑๅŠจ๏ผš็Žฐไปฃ CSS ๅทฅ็จ‹ๅŒ–็š„ๆžถๆž„ๆผ”่ฟ›ไธŽๆททๅˆๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-03-10 22:05:50\",\"capture\":\"1. ๅผ•่จ€๏ผšไธปๆต CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆๆœ‰ๅ“ชไบ›๏ผŸ\\nๅœจ็Žฐไปฃๅ‰็ซฏๅผ€ๅ‘ไธญ๏ผŒ้š็€้กน็›ฎๅคๆ‚ๅบฆ็š„ๆ€ฅๅ‰งๆๅ‡๏ผŒๅŽŸ็”Ÿ CSS ๅธธๅธธ้ขไธดๅ…จๅฑ€ๆฑกๆŸ“ใ€ๅค็”จๅ›ฐ้šพใ€ๅฑ‚็บงๅตŒๅฅ—่ฟ‡ๆทฑไปฅๅŠ็ปดๆŠคๆˆๆœฌๆž้ซ˜็ญ‰้—ฎ้ข˜ใ€‚ไธบไบ†่งฃๅ†ณ่ฟ™ไบ›็—›็‚น๏ผŒ็คพๅŒบๅคšๅนดๆฅไธๆ–ญๆŽข็ดข๏ผŒๆฒ‰ๆท€ๅ‡บไบ†ๅคš็งไธปๆต็š„ CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆใ€‚\\n้™คๅŽŸ็”Ÿ CSS ไน‹ๅค–๏ผŒไธปๆตๆ–นๆกˆ่ฟ˜ๅŒ…ๆ‹ฌ้ข„ๅค„็†ๅ™จใ€CSS-in-JSใ€CSS Moduleใ€Scoped CSSใ€ๅŽŸๅญๅŒ– CSS ็ญ‰ใ€‚BEM ไฝœไธบไธ€็งๅŸบไบŽๅ‘ฝๅ็บฆๅฎšๆฅ่ง„้ฟๅ‘ฝๅๅ†ฒ็ช็š„ๆ—ฉๆœŸๆ–นๆกˆ๏ผŒๅœจ็Žฐไปฃๅ‰็ซฏๅทฅ็จ‹ไธญๅทฒๅŸบๆœฌไธๅ†ไฝฟ็”จ๏ผŒๅ› ๆญคๆœฌๆ–‡ไธๅ†ๅฏนๅ…ถๅฑ•ๅผ€่ฏฆ็ป†ๅˆ†ๆžใ€‚\\n> CSS ๅ‘ฝๅ่ง„่Œƒ๏ผˆBEM๏ผ‰๏ผš้€š่ฟ‡ไธฅๆ ผ็š„ๅ‘ฝๅ็บฆๅฎš๏ผˆๅฆ‚ Block__Element--Modif\"},{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"frontmatter\":{\"date\":\"2026-03-05 16:54:35\",\"title\":\"ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"aliases\":[\"Server-Sent Events\",\"HTTP Streaming\"],\"tldr\":\"ๆทฑๅ…ฅ่งฃๆžๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผŒๆไพ›ไปŽๆฆ‚ๅฟตๅˆฐ็”Ÿไบงๅฎž่ทต็š„ๅฎŒๆ•ด่งฃๅ†ณๆ–นๆกˆใ€‚\",\"description\":\"่พจๆžๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ็š„ๆฆ‚ๅฟตไธŽๅฑ‚ๆฌกๅ…ณ็ณป๏ผŒ่ฏฆ่งฃๅฎขๆˆท็ซฏไธŽๆœๅŠก็ซฏๅฎž็Žฐๆ–นๆกˆ๏ผŒๆไพ›็”Ÿไบงๅฎž่ทตๅฎŒๆ•ดๆŒ‡ๅ—ใ€‚\",\"tags\":[\"tutorial\",\"SSE\",\"HTTP Streaming\",\"ๅ…จๆ ˆ\"],\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"permalink\":\"/fullstack/networking/sse-practice\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"date\":\"2026-03-05 16:54:35\",\"capture\":\"<script setup\\n import HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n> ๆ‘˜่ฆๆ€ป็ป“: ้’ˆๅฏนๅผ€ๅ‘่€…ๅฎนๆ˜“ๆททๆท†ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ็š„้—ฎ้ข˜๏ผŒไปŽๆฆ‚ๅฟตๅฑ‚ๆฌกๅ‡บๅ‘ๅŽ˜ๆธ…ไบŒ่€…ๆœฌ่ดจๅŒบๅˆซไธŽๅไฝœๅ…ณ็ณป๏ผŒๆŒ‡ๅ‡บๆตๅผ HTTP ๆ˜ฏๅบ•ๅฑ‚ไผ ่พ“ๆœบๅˆถ่€Œ SSE ๆ˜ฏๅบ”็”จๅฑ‚ๆ•ฐๆฎๆ ผๅผ็บฆๅฎšใ€‚ๆ–‡็ซ ไพๆฌกไป‹็ปๅŽŸ็”Ÿ EventSource APIใ€fetch + ReadableStream ่ฟ›้˜ถๆ–นๆกˆใ€@microsoft/fetch-event-source ๅทฅไธš็บงๅฎž็Žฐ็ญ‰ไธ‰็งๅฎขๆˆท็ซฏๆ–นๆกˆ๏ผŒๅนถไปฅ Nes\"},{\"url\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/02.้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/02.้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-03-02 11:05:50\",\"title\":\"้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ AI ๆž้€Ÿ้™ไฝŽไปฃ็ ็ผ–ๅ†™้—จๆง›๏ผŒๅ•็บฏ็š„โ€œไธšๅŠกไปฃ็ ็ฟป่ฏ‘ๅ™จโ€่ง’่‰ฒๆญฃๅŠ ้€Ÿ่ดฌๅ€ผใ€‚ๆœฌๆ–‡ไปŽๆŠ€ๆœฏๆผ”่ฟ›ไธŽไบงๅ“ๆ€่€ƒ็š„ไบคๆฑ‡็‚นๅ‡บๅ‘๏ผŒๅฐ† AI ๆ—ถไปฃ็š„ๅผ€ๅ‘่€…่ƒฝๅŠ›ๅ›พ่ฐฑ้‡ๆ–ฐๅˆ’ๅˆ†ไธบไธ‰ๅคงๆ ธๅฟƒๅœˆๅฑ‚๏ผšไบงๅ“ๅบ”็”จๅฑ‚๏ผˆInsight Stack๏ผ‰ใ€Agent ๅผ€ๅ‘ๅฑ‚ไธŽ AI ๅŸบ็ก€่ฎพๆ–ฝๅฑ‚ใ€‚ๆ— ่ฎบไฝ ๆ˜ฏๆทฑ่€•่ง†ๅ›พๅฑ‚ไบคไบ’ใ€็ฒพ้€š Node.js ็ญ‰ๆœๅŠก็ซฏๆžถๆž„็š„ๅผ€ๅ‘่€…๏ผŒ่ฟ˜ๆ˜ฏ่‡ดๅŠ›ไบŽๆŠ€ๆœฏ่ฝๅœฐ็š„ๆŽข็ดข่€…๏ผŒ้ƒฝ่ƒฝๅœจ่ฟ™ไปฝๆผ”่ฟ›ๆŒ‡ๅ—ไธญๆ‰พๅˆฐๆ‰“็ ด่ƒฝๅŠ›่พน็•Œใ€ๅ‘โ€œ่ถ…็บงไธชไฝ“โ€ไธŽโ€œAI ๆ™บ่ƒฝไฝ“ๆŒ‡ๆŒฅๅฎ˜โ€่ทƒ่ฟ็š„็ ดๅฑ€ไน‹้“ใ€‚\",\"permalink\":\"/fullstack/ai-engineer-capability\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"top\":true,\"tags\":[\"ๅ…จๆ ˆ\",\"AI\"],\"categories\":[\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"้‡ๆž„ๅผ€ๅ‘่€…๏ผšAI ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—\",\"date\":\"2026-03-02 11:05:50\",\"capture\":\"<script setup>\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/ai_engineering_arc.png\\\" style=\\\"width: 100%; border-radius: 8px; margin-bottom: 20px;\\\" alt=\\\"about site back\"},{\"url\":\"/01.ๅ…จๆ ˆ/90.ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่/90.ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"relativePath\":\"/01.ๅ…จๆ ˆ/90.ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่/90.ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"frontmatter\":{\"date\":\"2026-02-06 15:58:53\",\"title\":\"ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡็ณป็ปŸๆขณ็†ไบ†็Žฐไปฃๅ…จๆ ˆๅผ€ๅ‘็š„ๅฎŒๆ•ดๆŠ€ๆœฏๅ›พ่ฐฑไธŽๆผ”่ฟ›่Œƒๅผ๏ผŒไธบๅผ€ๅ‘่€…ๆไพ›ไบ†ไธ€็ซ™ๅผ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—ใ€‚ๆ–‡็ซ ไปŽๅŸบ็Ÿณๅ‡บๅ‘๏ผŒ่ฆ†็›– Web ๆ ธๅฟƒ่ฏญ่จ€๏ผˆJS/TS๏ผ‰ ไธŽ ไธปๆต UI ๆก†ๆžถ๏ผˆReact/Vue/Svelte๏ผ‰๏ผŒๅนถๆŽจ่ไปฅ Tailwind CSS ๅ’Œ shadcn/ui ไธบไปฃ่กจ็š„็Žฐไปฃๆ ทๅผไธŽ็ป„ไปถๅŽŸ่ฏญใ€‚ๅœจๆ ธๅฟƒไธšๅŠก้€ป่พ‘ๅฑ‚๏ผŒๆทฑๅบฆๅฏนๆฏ”ไบ†่ฝป้‡ๅŒ–็Šถๆ€็ฎก็†ๆ–นๆกˆ๏ผˆ้ฆ–ๆŽจ Zustand/Jotai๏ผ‰๏ผŒๅนถ้‡็‚น่งฃๆžไบ†ๆ•ฐๆฎไบคไบ’็š„ไธ‰ๅคง็Žฐไปฃๆžถๆž„่Œƒๅผ๏ผšไปŽๅŸบ็ก€ Axios ๅˆฐ React Query ็Šถๆ€่ฐƒๅบฆ๏ผŒๅ†ๅˆฐ tRPC ๅ’Œ GraphQL ๅธฆๆฅ็š„ๅ…จๆ ˆ็ฑปๅž‹ๅฎ‰ๅ…จไธŽๅคš็ซฏ่šๅˆใ€‚ๅœจๅทฅ็จ‹ๅŒ–ไธŽๆœๅŠก็ซฏๆจกๅ—๏ผŒๆ–‡็ซ ๅ…จ้ขๆ‹ฅๆŠฑ Viteใ€Rsbuild ็ญ‰ๆž้€Ÿๆž„ๅปบๅทฅๅ…ท๏ผŒๅนถๅ‰–ๆžไบ† Next.js/Nuxt ๅŒๆž„ๅ…ƒๆก†ๆžถไธŽ NestJS ไผไธš็บง Node ๆœๅŠก็š„ๆœ€ไฝณ้€‚็”จๅœบๆ™ฏใ€‚ๆœ€ๅŽ๏ผŒ่พ…ไปฅ Vercel ็ญ‰็Žฐไปฃ่พน็ผ˜้ƒจ็ฝฒๅนณๅฐๅŠไธฐๅฏŒ็š„ๅผ€ๆบ็คพๅŒบๅญฆไน ่ต„ๆบใ€‚\",\"permalink\":\"/growth/full-stack-resources\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"date\":\"2026-02-06 15:58:53\",\"capture\":\"> - ๆ–‡็ซ ไปŽๅŸบ็Ÿณๅ‡บๅ‘๏ผŒ่ฆ†็›– Web ๆ ธๅฟƒ่ฏญ่จ€๏ผˆJS/TS๏ผ‰ ไธŽ ไธปๆต UI ๆก†ๆžถ๏ผˆReact/Vue/Svelte๏ผ‰๏ผŒๅนถๆŽจ่ไปฅ Tailwind CSS ๅ’Œ shadcn/ui ไธบไปฃ่กจ็š„็Žฐไปฃๆ ทๅผไธŽ็ป„ไปถๅŽŸ่ฏญใ€‚\\n> - ๅœจๆ ธๅฟƒไธšๅŠก้€ป่พ‘ๅฑ‚๏ผŒๆทฑๅบฆๅฏนๆฏ”ไบ†่ฝป้‡ๅŒ–็Šถๆ€็ฎก็†ๆ–นๆกˆ๏ผˆ้ฆ–ๆŽจ Zustand/Jotai๏ผ‰๏ผŒๅนถ้‡็‚น่งฃๆžไบ†ๆ•ฐๆฎไบคไบ’็š„ไธ‰ๅคง็Žฐไปฃๆžถๆž„่Œƒๅผ๏ผšไปŽๅŸบ็ก€ Axios ๅˆฐ React Query ็Šถๆ€่ฐƒๅบฆ๏ผŒๅ†ๅˆฐ tRPC ๅ’Œ GraphQL ๅธฆๆฅ็š„ๅ…จๆ ˆ็ฑปๅž‹ๅฎ‰ๅ…จไธŽๅคš็ซฏ่šๅˆใ€‚\\n> - ๅœจๅทฅ็จ‹ๅŒ–ไธŽๆœๅŠก็ซฏๆจกๅ—๏ผŒๆ–‡็ซ ๅ…จ้ขๆ‹ฅๆŠฑ Viteใ€Rsbuild ็ญ‰ๆž้€Ÿๆž„ๅปบๅทฅๅ…ท๏ผŒๅนถๅ‰–ๆžไบ† Next.js/N\"},{\"url\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/10.่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"relativePath\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/10.่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"frontmatter\":{\"date\":\"2025-12-06 22:05:50\",\"title\":\"่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"description\":\"่ฝฏไปถๅทฅ็จ‹ๆญฃ็ปๅކไปŽโ€œๆ‰‹ๅ†™้€ป่พ‘โ€ๅ‘โ€œๆ„ๅ›พ่ฐƒๅบฆโ€็š„่Œƒๅผ่ฟๅพ™ใ€‚Anthropic ็š„็ ”็ฉถๆญ็คบไบ† AI ๅนถ้ž็ฎ€ๅ•็š„ๆๆ•ˆๅทฅๅ…ท๏ผŒ่€Œๆ˜ฏ้€š่ฟ‡้‡Šๆ”พ 27% ๆ›พ็ปโ€œไธๅˆ’็ฎ—โ€็š„ๅทฅ็จ‹ไปปๅŠก๏ผŒ้‡ๅก‘ไบ†่ฝฏไปถ่ดจ้‡็š„ๅฏ†ๅบฆใ€‚ๅœจ่‡ช็„ถ่ฏญ่จ€ๅณ็ผ–็จ‹่ฏญ่จ€็š„ๆ—ถไปฃ๏ผŒๆˆ‘ไปฌ้œ€่ฆ้€š่ฟ‡่ง„ๆ ผ้ฉฑๅŠจ๏ผˆSDD๏ผ‰ไธŽๅคšๆ™บ่ƒฝไฝ“็ผ–ๆŽ’๏ผŒ็ ด่งฃโ€œ็›‘็ฃๆ‚–่ฎบโ€ๅธฆๆฅ็š„ๆŠ€่ƒฝๅนณๅบธๅŒ–ๅฑๆœบ๏ผŒๅฐ† AI ็š„ๆฆ‚็އๆ€ง็”Ÿๆˆ้ฉฏๅŒ–ไธบ็กฎๅฎšๆ€ง็š„ๅทฅ็จ‹ไบคไป˜ใ€‚ๅฝ“็ผ–็ ๆˆๆœฌ่ถ‹ไบŽ้›ถ๏ผŒๅทฅ็จ‹ๅธˆ็š„็ปˆๆžๅฃๅž’ๅฐ†ๆ˜ฏๅฎšไน‰ๅฎŒ็พŽ็š„ๅ“ๅ‘ณ๏ผŒไปฅๅŠๅœจ AI ่ฟท้›พไธญ่ฏ†็ ดๅนณๅบธ็š„ๆดžๅฏŸๅŠ›ใ€‚\",\"permalink\":\"/fullstack/ai-change-work-workflow/\",\"top\":true,\"tags\":[\"ๅ…จๆ ˆ\",\"AI\"],\"categories\":[\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ฏป Anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป AI ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘\",\"date\":\"2025-12-06 22:05:50\",\"capture\":\"<script setup>\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\nๅœฐๅ€๏ผšHow AI is transforming work at Anthropic\\nๆ ธๅฟƒๆ ‡็ญพ๏ผš`AI่พ…ๅŠฉ็ผ–็จ‹` `ๅทฅ็จ‹` `่Œƒๅผ่ฝฌ็งป` `ๅทฅไฝœ่ฝฌๅž‹` `็”ŸไบงๅŠ›ๆๅ‡` `ๆŠ€่ƒฝๅ‘ๅฑ•` `ไบบๆœบๅไฝœ` \\nไธ€ๅฅ่ฏไป‹็ป๏ผšAnthropic ไธไป…ไป…ๆ˜ฏ AI ๅทฅๅ…ท็š„็”Ÿไบง่€…๏ผŒๆ›ดๆ˜ฏ็ฌฌไธ€ไธช่ฟ›ๅ…ฅโ€œๆœชๆฅๅฎž้ชŒๅฎคโ€็š„ๆทฑๅบฆ่ง‚ๅฏŸ่€…ใ€‚ไป–ไปฌ้€š่ฟ‡ๅ†…้ƒจๆ•ฐๆœˆ็š„ๅฎž้ชŒๆ•ฐๆฎๅ‘Š่ฏ‰ๆˆ‘ไปฌ๏ผšๅคงๆจกๅž‹ๅฏน่ฝฏไปถๅทฅ็จ‹็š„ๆ”น้€ ๏ผŒ็ป้ž็ฎ€ๅ•็š„โ€œๆๆ•ˆโ€๏ผŒ่€Œๆ˜ฏไธ€\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"frontmatter\":{\"date\":\"2024-05-16 21:27:36\",\"title\":\"ไปŽ้€ป่พ‘้š”็ฆปๅˆฐ็ฑปๅž‹ๅฅ‘็บฆ๏ผšTypeScript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"tldr\":\"TypeScript ๅฐ†ๆจกๅ—ไพ่ต–ๆๅ‡ไธบ็ผ–่ฏ‘ๆ—ถ็ฑปๅž‹ๅฅ‘็บฆ๏ผŒไปŽ import type ๅˆฐๅฃฐๆ˜Žๆ–‡ไปถใ€‚\",\"description\":\"็ณป็ปŸ่ฎฒ่งฃ TypeScript ๅฏน ES Modules ็š„็ฑปๅž‹ๅขžๅผบ๏ผŒๆถต็›– import type ่ฟ่กŒๆ—ถไผ˜ๅŒ–ใ€ๆŽฅๅฃๅฅ‘็บฆใ€ๅฃฐๆ˜Žๆ–‡ไปถ .d.ts ๅŠ tsconfig ๆจกๅ—ๅŒ–้…็ฝฎใ€‚\",\"permalink\":\"/fullstack/typescript-module-programming-enhancement\",\"tags\":[\"concept\",\"ๅ…จๆ ˆ\",\"typescript\",\"tsconfig\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไปŽ้€ป่พ‘้š”็ฆปๅˆฐ็ฑปๅž‹ๅฅ‘็บฆ๏ผšTypeScript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"date\":\"2024-05-16 21:27:36\",\"capture\":\"1. ๅผ•่จ€\\nๅœจๅŽŸ็”Ÿ JavaScript ๆจกๅ—ๅŒ–่งฃๅ†ณไบ†ไปฃ็ ็ป„็ป‡้—ฎ้ข˜ๅŽ๏ผŒTypeScript๏ผˆTS๏ผ‰่ฟ›ไธ€ๆญฅๅฐ†ๅ…ถๆŽจๅ‘ไบ†ๅทฅไธš็บง้ซ˜ๅบฆใ€‚TS ไธไป…ไป…ๆ˜ฏไธบๆจกๅ—ๆทปๅŠ ไบ†็ฑปๅž‹ๆ ‡ๆณจ๏ผŒๅฎƒ้€š่ฟ‡็ฑปๅž‹ๅฏผๅ‡บๅฏผๅ…ฅใ€็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ใ€ไปฅๅŠๅฃฐๆ˜Žๆ–‡ไปถ็ณป็ปŸ๏ผŒๅฐ†ๆจกๅ—้—ด็š„ไพ่ต–ๅ…ณ็ณปไปŽ็ฎ€ๅ•็š„โ€œไปฃ็ ๅผ•็”จโ€ๆๅ‡ๅˆฐไบ†โ€œๅฅ‘็บฆไบคไบ’โ€ใ€‚\\nๆœฌๆ–‡ๆˆ‘ไปฌๅฐ†่š็„ฆไบŽ TypeScript ๅฆ‚ไฝ•้€š่ฟ‡็ฑปๅž‹็ณป็ปŸๅขžๅผบๆจกๅ—ๅŒ–็ผ–็จ‹๏ผŒๅนถๆŽข่ฎจๅœจ็Žฐไปฃๅทฅ็จ‹๏ผˆๅฐคๅ…ถๆ˜ฏ TS 5.0+ ๆ—ถไปฃ๏ผ‰ไธ‹็š„ๆœ€ไฝณ้…็ฝฎๅฎž่ทตใ€‚\\n 2. ็ฑปๅž‹ๅฏผๅ‡บไธŽๅฏผๅ…ฅ๏ผšๆž่‡ด็š„่ฟ่กŒๆ—ถไผ˜ๅŒ–\\nTypeScript ๅฏน ES Modules ่ฏญๆณ•ๆœ€ๆ˜พ่‘—็š„ๆ‰ฉๅฑ•ๆ˜ฏๆ”ฏๆŒโ€œไป…็ฑปๅž‹โ€๏ผˆType-only๏ผ‰็š„ๅฏผๅ‡บไธŽๅฏผๅ…ฅใ€‚่ฟ™ไธไป…ๆ˜ฏ่ฏญไน‰ไธŠ็š„ๆธ…ๆ™ฐ๏ผŒๆ›ดๆ˜ฏๆ€ง\"}],\"ไบงๅ“\":[{\"url\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"relativePath\":\"/01.ๅ…จๆ ˆ/01.AI Native ๅทฅ็จ‹ๆ€็ปด/01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"frontmatter\":{\"date\":\"2025-10-24 11:05:50\",\"title\":\"ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจ AI ้‡ๅก‘่ฝฏไปถๅทฅ็จ‹็š„ไปŠๅคฉ๏ผŒๅ…จๆ ˆไธๅ†ๆ˜ฏๆŠ€ๆœฏ็š„็บฟๆ€งๅ ๅŠ ๏ผŒๆญฃๅœจไปŽโ€œๆŠ€ๆœฏๆ ˆๅ †็ Œโ€่ฝฌๅ‘โ€œ่ฎค็Ÿฅๆ ˆ้‡ๆž„โ€ใ€‚ๆœฌๆ–‡ๆๅ‡บ โ€œ(ๅทฅ็จ‹ + ไบงๅ“) ร— AIโ€ ็š„ๆ–ฐๅ…ฌๅผ๏ผŒๅŠฉๅŠ›ๅผ€ๅ‘่€…ๆž„ๅปบโ€œๆดžๅฏŸ-ๆžถๆž„-ๆ ๆ†โ€่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”๏ผŒๅˆฉ็”จ AI ๆ ๆ†่ฎฉ่‡ชๅทฑ่ฟ›ๅŒ–ไธบไปทๅ€ผๅˆ›้€ ่€…ใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"permalink\":\"/fullstack/ai-native\",\"sticky\":1,\"top\":true,\"tags\":[\"ๅ…จๆ ˆ\",\"AI\",\"ไบงๅ“\"],\"categories\":[\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ AI ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€\",\"date\":\"2025-10-24 11:05:50\",\"capture\":\"<script setup>\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n 1. ๅผ•่จ€\\nๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒๅฝ“ๆˆ‘ไปฌ่ฐˆ่ฎบโ€œๅ…จๆ ˆๅทฅ็จ‹ๅธˆโ€ๆ—ถ๏ผŒ่„‘ๆตทไธญๆตฎ็Žฐ็š„ๅพ€ๅพ€ๆ˜ฏไธ€ๅผ ๅ†—้•ฟไธ”ไปคไบบ็–ฒๆƒซ็š„ๆŠ€ๆœฏๅทฅๅบๆธ…ๅ•ใ€‚\\nๅฐฑๅƒๆˆ‘ๆ›พ็ปไปฅไธบ็š„้‚ฃๆ ท๏ผŒๅ…จๆ ˆๅฐฑๆ˜ฏ็บฟๆ€ง็š„ๆŠ€่ƒฝๅ ๅŠ ไธŽ็‰ฉ็†ๅผ็š„ๆŠ€ๆœฏๆ‹ผๆŽฅ๏ผŒๆ˜ฏไธ€็งไพ้ ไบบๅŠ›ๅŽปๅกซ่กฅๆŠ€ๆœฏ้ธฟๆฒŸ็š„โ€œ่ฅฟ่ฅฟๅผ—ๆ–ฏๅผโ€ๅŠชๅŠ›๏ผš\\n* ็บฟๆ€ง็š„ๆŠ€่ƒฝๅ ๅŠ ๏ผšๆˆ‘ไปฌ่ขซ่ฟซๆˆไธบโ€œๅ…จ่ƒฝๆ‰‹โ€๏ผŒๅทฆๆ‰‹็”จ React/Vue ๆž„ๅปบ็ฒพ็พŽ็š„ UI๏ผŒๅณๆ‰‹็”จ Node/Go ็ผ–ๅ†™้ซ˜ๅนถๅ‘ API๏ผŒไธญ้—ด่ฟ˜่ฆๅค„็†ๆ•ฐๆฎๅบ“็š„ ACI\"}],\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\":[{\"url\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/10.่ฏปไนฆไธ‰่ฆไธ‰ไธ่ฆ\",\"relativePath\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/10.่ฏปไนฆไธ‰่ฆไธ‰ไธ่ฆ\",\"frontmatter\":{\"date\":\"2025-03-06 11:42:20\",\"title\":\"่ฏปไนฆโ€œไธ‰่ฆโ€ๅ’Œโ€œไธ‰ไธ่ฆโ€\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจไฟกๆฏ็ˆ†็‚ธ็š„ๆ—ถไปฃ๏ผŒ่ฏปไนฆไพ็„ถๆ˜ฏ่Žทๅ–ๆทฑๅบฆ็Ÿฅ่ฏ†ๆœ€้ซ˜ๆ•ˆ็š„ๆ–นๅผไน‹ไธ€ใ€‚ไฝ†โ€œๆง่ตทไนฆโ€ๅนถไธ็ญ‰ไบŽโ€œๆœ‰ๆ”ถ่Žทโ€๏ผŒๆ€Žไนˆ่ฏปๅพ€ๅพ€ๆฏ”่ฏปไป€ไนˆๆ›ด้‡่ฆใ€‚ๆœฌๆ–‡ๆ€ป็ป“ไบ†้ซ˜ๆ•ˆ้˜…่ฏป็š„โ€œไธ‰่ฆโ€ไธŽโ€œไธ‰ไธ่ฆโ€๏ผšไปŽๅฎŒๆ•ด้˜…่ฏป่ง‚ๆ‘ฉๅคงๅธˆๆ€็ปดใ€ๅธฆ็€้—ฎ้ข˜ๆž„ๅปบ็Ÿฅ่ฏ†ๆ ‘๏ผŒๅˆฐ้€š่ฟ‡่ฎจ่ฎบๆฃ€้ชŒ็†่งฃ๏ผ›ๅŒๆ—ถๆ้†’้˜…่ฏป่€…่ญฆๆƒ•ๅ“€ๆ€จๅฟƒๆ€ๅฏน้˜…่ฏปๅˆ่กท็š„ๅผ‚ๅŒ–ใ€้ฟๅ…้™ทๅ…ฅๅฏน็‰ฉ็†ๅช’ไป‹็š„โ€œ็Žฉ็‰ฉไธงๅฟ—โ€๏ผŒไปฅๅŠๅˆ‡ๅฟŒ่„ฑ็ฆป็Žฐๅฎž็š„โ€œ็œŸ็ฉบโ€้˜…่ฏปใ€‚้˜…่ฏปไธไป…ๆ˜ฏๅ‘ๅ†…ๆŽข็ดข็š„็ฒพ็ฅžไน‹ๆ—…๏ผŒๆ›ดๆ˜ฏๅ‘ๅค–็†่งฃ็œŸๅฎžไธ–็•Œใ€ๅˆ›้€ ็คพไผšไปทๅ€ผ็š„ๅฎž็”จๅทฅๅ…ทใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/reading_need.png\",\"permalink\":\"/pages/growth/reading-tips\",\"sticky\":1,\"top\":true,\"categories\":[\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\"],\"tags\":[\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ฏปไนฆโ€œไธ‰่ฆโ€ๅ’Œโ€œไธ‰ไธ่ฆโ€\",\"date\":\"2025-03-06 11:42:20\",\"capture\":\"<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/reading_need.png\\\" style=\\\"width: 100%; border-radius: 8px; margin-bottom: 20px;\\\" alt=\\\"about site background\\\">\\n 1. ๆˆ‘ไปฌไธบไป€ไนˆ้œ€่ฆ่ฏปไนฆ๏ผŸ\\n่ฏปไนฆๆ˜ฏไปŽๅค–็•ŒๆŽฅๅ—ไฟกๆฏ็š„ไธ€็งๆ–นๅผ๏ผŒไธŽ่Šๅคฉใ€ๆต่งˆ็ฝ‘้กตใ€ๅฌๆ’ญๅฎขใ€็œ‹็”ต่ง†ๅนถๆ— ๆœฌ่ดจๅŒบๅˆซใ€‚ไฝ†ไนฆ่ฟ™็งๅช’ไป‹ไธŽๅ…ถไป–ไฟกๆฏๅช’ไป‹็›ธๆฏ”๏ผŒๆœ‰ๅ…ถ็‹ฌๆœ‰็š„ไผ˜ๅŠฟ๏ผš\\n- ๆทฑๅบฆไธŽไธฅ่ฐจ๏ผšไนฆ็ฑๅพ€ๅพ€ๆ˜ฏๅˆ›ไฝœ่€…ๅคšๅนดๆ€่€ƒใ€้•ฟๆœŸ\"},{\"url\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"relativePath\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"frontmatter\":{\"date\":\"2023-01-08 10:23:50\",\"title\":\"ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅฆ‚ไฝ•้ฟๅ…ๅ†…่€—๏ผŸๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ไธ‰ๅนด้—ด็š„โ€œ่‡ชๆˆ‘้‡ๆž„โ€ๅฎž้ชŒใ€‚ๆ–‡็ซ ๆ‘’ๅผƒไบ†ๅ•็บฏ็š„ๆƒ…็ปชๅฎฃๆณ„๏ผŒ่€Œๆ˜ฏๅˆฉ็”จๅˆ†่งฃๆณ•ใ€ๆธ่ฟ›ๆ˜Ž็ป†ๅ’Œ็ปŸ่ฎกๅˆ†ๆž็ญ‰ๅทฅ็จ‹ๆ€็ปด๏ผŒๅฏนๅฅๅบท้ฅฎ้ฃŸใ€็Ÿฅ่ฏ†ไฝ“็ณปใ€ๆ—ถ้—ดๅˆ†้…ๅŠ่ฟœ็จ‹ๅไฝœ่ฟ›่กŒไบ†็ณป็ปŸๅŒ–ๆ”น้€ ใ€‚่ฟ™ๆ˜ฏไธ€ไปฝๅ…ณไบŽๅฆ‚ไฝ•ๅœจๆ— ๅธธ็š„ๅค–้ƒจ็Žฏๅขƒไธญ๏ผŒๅปบ็ซ‹ๅ†…ๅœจ็กฎๅฎšๆ€ง็งฉๅบ็š„่กŒๅŠจๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/growth/inner-experience\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/refactor_life.png\",\"sticky\":1,\"top\":true,\"categories\":\"ไธชไบบๆˆ้•ฟ\",\"tags\":[\"ๅฅๅบท\",\"ๆ—ถ้—ด\",\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\",\"่ฟœ็จ‹ๅไฝœ\",\"็–ซๆƒ…\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"date\":\"2023-01-08 10:23:50\",\"capture\":\"<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/refactor_life.png\\\" alt=\\\"็›ฎๆ ‡ๅˆฐ่ทต่กŒๆ€็ปดๆต็จ‹็คบๆ„ๅ›พ\\\" style=\\\"width: 100%; border-radius: 8px;\\\" />\\n ๅ†™ๅœจๅ‰้ข\\n่‡ชๅŽปๅนด 7 ๆœˆไปฝ่ฟ็งปๅ‡ ็ฏ‡ๆ—งๆ–‡ๅŽ๏ผŒ็ฌ”่€…ๅฐฑๆฒกๆœ‰็ปง็ปญๅ†™่ฝฏๆ–‡ไบ†๏ผŒๆƒณไธๅˆฐๅ†ๆฌกๅ†™ๆ–‡็ซ ๆ—ถ็–ซๆƒ…ๆ”ฟ็ญ–ๅทฒ็ป่ฐƒๆ•ด๏ผŒไธ”ๅˆๆญฅๅฎž็Žฐไบ†ๅผ€ๆ”พใ€‚้‚ฃไนˆ้—ฎ้ข˜ๆฅไบ†๏ผŒไธบไป€ไนˆ่ฆ็ปง็ปญๅ†™ๆ–‡็ซ ๅ‘ข๏ผŸๆฆ‚ๆ‹ฌๆฅ่ฎฒ๏ผŒๆœ‰ไธคไธชๆ–น้ข็š„ๅŽŸๅ› ๏ผš\\n* ็›ดๆŽฅๅŽŸๅ› ๏ผš็–ซๆƒ…่ฟ™ไธ‰ๅนด๏ผŒๆฏไธชไบบ้ƒฝไฝ“้ชŒๅˆฐไบ†ไธๅŒไบŽไน‹ๅ‰็š„ โ€œ้šพโ€๏ผŒไนŸ้ƒฝๆœ‰\"},{\"url\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/01.ๅฅฝไนฆๆŽจ่\",\"relativePath\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/01.ๅฅฝไนฆๆŽจ่\",\"frontmatter\":{\"title\":\"ๅฅฝไนฆๆŽจ่\",\"date\":\"2024-01-01 16:00:00\",\"description\":\"่ฏปไนฆๅฟƒๅพ—ใ€ๆŽจ่ไนฆ็ฑๅ’Œ้˜…่ฏปๆŠ€ๅทง\",\"categories\":[\"growth\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/books_reading_bg.png\",\"permalink\":\"/growth/books\",\"tags\":[\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\",\"่ต„ๆบๆŽจ่\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฅฝไนฆๆŽจ่\",\"date\":\"2024-01-01 16:00:00\",\"capture\":\"<script setup\\n import BookRecommend from './@fragment/BookRecommend.vue'\\n import {aiBooks, productSenseBooks, businessBooks, efficiencyBooks, growthBooks, humanSocialBooks, healthBooks} from './@fragment/recommends-data.ts'\\n</script>\\n 1. AI ไธŽๆ•ฐๅญฆๆ€็ปด\\n> ๅœจๅคงๆจกๅž‹ๅ‘ๅฑ•ๆ—ฅๆ–ฐๆœˆๅผ‚็š„ไปŠๅคฉ๏ผŒ็†่งฃ AI ๆœฌ่ดจไธŠๆ˜ฏๅœจๅ‡็บงๆˆ‘ไปฌ่ต„ๆทฑ็š„โ€œ่ฎค็Ÿฅๆ“\"}],\"็ณป็ปŸๆ€็ปด\":[{\"url\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"relativePath\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"frontmatter\":{\"date\":\"2024-01-15 22:16:00\",\"title\":\"่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไนฆๆŽฅไธŠๆ–‡ใ€Šๅ‘ๅ†…ๆ€ๅ˜ใ€‹๏ผŒๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ๅœจๅŽ็–ซๆƒ…ๆ—ถไปฃไปŽโ€œ้—ญๅ…ณโ€่ตฐๅ‘โ€œๅ‘ๅค–ไฝ“้ชŒโ€็š„ๅฐ่ฏ•ไธŽๅฟƒๅพ—ใ€‚้ขๅฏนๆœบๆขฐๆ‰ง่กŒๅธฆๆฅ็š„โ€œ็›ฎๆ ‡้šง้“โ€ๆ•ˆๅบ”๏ผŒ็ฌ”่€…ๅฐ่ฏ•่ทณๅ‡บๅ•ไธ€็š„็บฟๆ€ง่ง„ๅˆ’๏ผŒ่ฝฌ่€Œๅฏปๆฑ‚ๆ›ดๅบ•ๅฑ‚็š„่ฎค็Ÿฅ้€ป่พ‘ใ€‚ๆ–‡็ซ ้€š่ฟ‡้‡่ฏปใ€Š่ฆไบ‹็ฌฌไธ€ใ€‹ๅปบ็ซ‹ๅนณ่กก่ง‚๏ผŒๅˆฉ็”จ็ณป็ปŸๆ€็ปด๏ผˆๅขžๅผบ/่ฐƒ่Š‚ๅ›ž่ทฏ๏ผ‰ๆž„ๅปบๆดžๅฏŸๅŠ›๏ผŒๅนถ้‡ๆ–ฐๆ‹พ่ตทๆ•ฐๅญฆๆ€็ปด๏ผˆๆฆ‚็އใ€็จ€็–ๆ€งใ€ๅคšๆ ทๆ€ง๏ผ‰ไธŽ AI ่ง†่ง’ใ€‚่ฟ™ๆ˜ฏไธ€ๆฌกๅ…ณไบŽๅฆ‚ไฝ•็”จ็ง‘ๅญฆๆจกๅž‹ๆ›ฟไปฃๆœบๆขฐๆ‰ง่กŒ๏ผŒไปŽๆœฌ่ดจไธŠ้‡ๆž„ไธชไบบ่ฎค็Ÿฅไฝ“็ณป็š„ๆทฑๅบฆๅค็›˜ใ€‚\",\"permalink\":\"/growth/outer-experience\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/outer_experience_bg.png\",\"sticky\":1,\"top\":true,\"tags\":[\"็ณป็ปŸๆ€็ปด\",\"ๆ•ฐๅญฆๆ€็ปด\",\"ๆจกๅž‹ๆ€็ปด\",\"AI\",\"็–ซๆƒ…\"],\"categories\":[\"ไธชไบบๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"date\":\"2024-01-15 22:16:00\",\"capture\":\"1. ๅ†™ๅœจๅ‰้ข\\nๆ—ถๅ…‰่่‹’๏ผŒ็–ซๆƒ…ๅทฒ็ป็”ฑๆ”พๅผ€็Šถๆ€็ปง็ปญๆผ”ๅ˜ไธบ่ฟ‡ๅŽปๅผ็Šถๆ€๏ผŒๆˆ‘ไปฌไบบ็ฑปไนŸไปŽใ€Ž้—ญๅ…ณใ€่ตฐๅ‘ไบ†ใ€Ž่‡ช็”ฑใ€็š„็คพไผš็”Ÿๆดป็Šถๆ€ใ€‚็ฌ”่€…ไฝœไธบ็คพไผšไธญ็š„ๆ™ฎ้€šไธ€ๅ‘˜๏ผŒ่‡ช็„ถไนŸไธ็ฆปๅค–๏ผŒๅœจ 2023 ๅนดๅˆๆด‹ๆด‹ๆด’ๆด’ๅ†™ไบ†ไธ€็ฏ‡ๅœจๅฅๅบทใ€่ฏปไนฆไธŽๅญฆไน ใ€ๆ—ถ้—ด็ฎก็†ๅ’Œๆททๅˆๅทฅไฝœๅˆถๅ‡ ไธชๆ–น้ข็š„ๅฎž่ทตไธŽ็†่งฃ๏ผˆๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ๏ผ‰๏ผŒๅฐฑๅผ€ๅผ€ๅฟƒๅฟƒๅœฐๅ‘ๅ‰็œ‹๏ผŒๅญฆ็€ๅ‘ๅค–ไฝ“้ชŒไบ†ใ€‚\\n้‚ฃไนˆ้—ฎ้ข˜ๆฅไบ†๏ผŒ็›ธๆฏ”ไน‹ๅ‰ๅ†™ๅ‡บ้•ฟๆ–‡๏ผŒ็ฌ”่€…ๅˆๆ˜ฏ่ฟ‘ไธ€ๅนดๆฒกๆœ‰ๅ‘ๅค–่พ“ๅ‡บ่ฝฏๆ–‡ไบ†ใ€‚ๅ› ๆญค๏ผŒไนฆๆŽฅไธŠๆ–‡๏ผŒๆœฌๆฌก็ปง็ปญๆ–ฐๅขžไธ€็ฏ‡ไธญ็Ÿญๆ–‡๏ผŒๆผซ่ฐˆไธ€ไธ‹็–ซๆƒ…ๅŽ็š„ๅ‘ๅค–ไฝ“้ชŒใ€‚\\nๅœจๅ€’้€ผ่‡ชๅทฑๅ…ณๆณจ่บซไฝ“ๅฅๅบทๅ’Œๆ—ถ้—ด็ฎก็†ๅŽ๏ผŒ่™ฝ็„ถๅœจไฝ“้‡ๅ’Œๆ•ˆ็އไธคไธชๆ–น้ขๆœ‰ไธ€ๅฎš็š„ๆญฃๅ‘ๆ•ˆๆžœ๏ผŒไฝ†็ฌ”่€…ๅœจ่ฟž็ปญๅšๆŒ่ฝๅœฐๆ‹†่งฃๅ‡บๆฅ็š„็›ฎๆ ‡่ฟ‡็จ‹ไธญ๏ผŒๆœ‰ๆ—ถ\"}],\"ๆ•ฐๅญฆๆ€็ปด\":[{\"url\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"relativePath\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"frontmatter\":{\"date\":\"2024-01-15 22:16:00\",\"title\":\"่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไนฆๆŽฅไธŠๆ–‡ใ€Šๅ‘ๅ†…ๆ€ๅ˜ใ€‹๏ผŒๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ๅœจๅŽ็–ซๆƒ…ๆ—ถไปฃไปŽโ€œ้—ญๅ…ณโ€่ตฐๅ‘โ€œๅ‘ๅค–ไฝ“้ชŒโ€็š„ๅฐ่ฏ•ไธŽๅฟƒๅพ—ใ€‚้ขๅฏนๆœบๆขฐๆ‰ง่กŒๅธฆๆฅ็š„โ€œ็›ฎๆ ‡้šง้“โ€ๆ•ˆๅบ”๏ผŒ็ฌ”่€…ๅฐ่ฏ•่ทณๅ‡บๅ•ไธ€็š„็บฟๆ€ง่ง„ๅˆ’๏ผŒ่ฝฌ่€Œๅฏปๆฑ‚ๆ›ดๅบ•ๅฑ‚็š„่ฎค็Ÿฅ้€ป่พ‘ใ€‚ๆ–‡็ซ ้€š่ฟ‡้‡่ฏปใ€Š่ฆไบ‹็ฌฌไธ€ใ€‹ๅปบ็ซ‹ๅนณ่กก่ง‚๏ผŒๅˆฉ็”จ็ณป็ปŸๆ€็ปด๏ผˆๅขžๅผบ/่ฐƒ่Š‚ๅ›ž่ทฏ๏ผ‰ๆž„ๅปบๆดžๅฏŸๅŠ›๏ผŒๅนถ้‡ๆ–ฐๆ‹พ่ตทๆ•ฐๅญฆๆ€็ปด๏ผˆๆฆ‚็އใ€็จ€็–ๆ€งใ€ๅคšๆ ทๆ€ง๏ผ‰ไธŽ AI ่ง†่ง’ใ€‚่ฟ™ๆ˜ฏไธ€ๆฌกๅ…ณไบŽๅฆ‚ไฝ•็”จ็ง‘ๅญฆๆจกๅž‹ๆ›ฟไปฃๆœบๆขฐๆ‰ง่กŒ๏ผŒไปŽๆœฌ่ดจไธŠ้‡ๆž„ไธชไบบ่ฎค็Ÿฅไฝ“็ณป็š„ๆทฑๅบฆๅค็›˜ใ€‚\",\"permalink\":\"/growth/outer-experience\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/outer_experience_bg.png\",\"sticky\":1,\"top\":true,\"tags\":[\"็ณป็ปŸๆ€็ปด\",\"ๆ•ฐๅญฆๆ€็ปด\",\"ๆจกๅž‹ๆ€็ปด\",\"AI\",\"็–ซๆƒ…\"],\"categories\":[\"ไธชไบบๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"date\":\"2024-01-15 22:16:00\",\"capture\":\"1. ๅ†™ๅœจๅ‰้ข\\nๆ—ถๅ…‰่่‹’๏ผŒ็–ซๆƒ…ๅทฒ็ป็”ฑๆ”พๅผ€็Šถๆ€็ปง็ปญๆผ”ๅ˜ไธบ่ฟ‡ๅŽปๅผ็Šถๆ€๏ผŒๆˆ‘ไปฌไบบ็ฑปไนŸไปŽใ€Ž้—ญๅ…ณใ€่ตฐๅ‘ไบ†ใ€Ž่‡ช็”ฑใ€็š„็คพไผš็”Ÿๆดป็Šถๆ€ใ€‚็ฌ”่€…ไฝœไธบ็คพไผšไธญ็š„ๆ™ฎ้€šไธ€ๅ‘˜๏ผŒ่‡ช็„ถไนŸไธ็ฆปๅค–๏ผŒๅœจ 2023 ๅนดๅˆๆด‹ๆด‹ๆด’ๆด’ๅ†™ไบ†ไธ€็ฏ‡ๅœจๅฅๅบทใ€่ฏปไนฆไธŽๅญฆไน ใ€ๆ—ถ้—ด็ฎก็†ๅ’Œๆททๅˆๅทฅไฝœๅˆถๅ‡ ไธชๆ–น้ข็š„ๅฎž่ทตไธŽ็†่งฃ๏ผˆๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ๏ผ‰๏ผŒๅฐฑๅผ€ๅผ€ๅฟƒๅฟƒๅœฐๅ‘ๅ‰็œ‹๏ผŒๅญฆ็€ๅ‘ๅค–ไฝ“้ชŒไบ†ใ€‚\\n้‚ฃไนˆ้—ฎ้ข˜ๆฅไบ†๏ผŒ็›ธๆฏ”ไน‹ๅ‰ๅ†™ๅ‡บ้•ฟๆ–‡๏ผŒ็ฌ”่€…ๅˆๆ˜ฏ่ฟ‘ไธ€ๅนดๆฒกๆœ‰ๅ‘ๅค–่พ“ๅ‡บ่ฝฏๆ–‡ไบ†ใ€‚ๅ› ๆญค๏ผŒไนฆๆŽฅไธŠๆ–‡๏ผŒๆœฌๆฌก็ปง็ปญๆ–ฐๅขžไธ€็ฏ‡ไธญ็Ÿญๆ–‡๏ผŒๆผซ่ฐˆไธ€ไธ‹็–ซๆƒ…ๅŽ็š„ๅ‘ๅค–ไฝ“้ชŒใ€‚\\nๅœจๅ€’้€ผ่‡ชๅทฑๅ…ณๆณจ่บซไฝ“ๅฅๅบทๅ’Œๆ—ถ้—ด็ฎก็†ๅŽ๏ผŒ่™ฝ็„ถๅœจไฝ“้‡ๅ’Œๆ•ˆ็އไธคไธชๆ–น้ขๆœ‰ไธ€ๅฎš็š„ๆญฃๅ‘ๆ•ˆๆžœ๏ผŒไฝ†็ฌ”่€…ๅœจ่ฟž็ปญๅšๆŒ่ฝๅœฐๆ‹†่งฃๅ‡บๆฅ็š„็›ฎๆ ‡่ฟ‡็จ‹ไธญ๏ผŒๆœ‰ๆ—ถ\"}],\"ๆจกๅž‹ๆ€็ปด\":[{\"url\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"relativePath\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"frontmatter\":{\"date\":\"2024-01-15 22:16:00\",\"title\":\"่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไนฆๆŽฅไธŠๆ–‡ใ€Šๅ‘ๅ†…ๆ€ๅ˜ใ€‹๏ผŒๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ๅœจๅŽ็–ซๆƒ…ๆ—ถไปฃไปŽโ€œ้—ญๅ…ณโ€่ตฐๅ‘โ€œๅ‘ๅค–ไฝ“้ชŒโ€็š„ๅฐ่ฏ•ไธŽๅฟƒๅพ—ใ€‚้ขๅฏนๆœบๆขฐๆ‰ง่กŒๅธฆๆฅ็š„โ€œ็›ฎๆ ‡้šง้“โ€ๆ•ˆๅบ”๏ผŒ็ฌ”่€…ๅฐ่ฏ•่ทณๅ‡บๅ•ไธ€็š„็บฟๆ€ง่ง„ๅˆ’๏ผŒ่ฝฌ่€Œๅฏปๆฑ‚ๆ›ดๅบ•ๅฑ‚็š„่ฎค็Ÿฅ้€ป่พ‘ใ€‚ๆ–‡็ซ ้€š่ฟ‡้‡่ฏปใ€Š่ฆไบ‹็ฌฌไธ€ใ€‹ๅปบ็ซ‹ๅนณ่กก่ง‚๏ผŒๅˆฉ็”จ็ณป็ปŸๆ€็ปด๏ผˆๅขžๅผบ/่ฐƒ่Š‚ๅ›ž่ทฏ๏ผ‰ๆž„ๅปบๆดžๅฏŸๅŠ›๏ผŒๅนถ้‡ๆ–ฐๆ‹พ่ตทๆ•ฐๅญฆๆ€็ปด๏ผˆๆฆ‚็އใ€็จ€็–ๆ€งใ€ๅคšๆ ทๆ€ง๏ผ‰ไธŽ AI ่ง†่ง’ใ€‚่ฟ™ๆ˜ฏไธ€ๆฌกๅ…ณไบŽๅฆ‚ไฝ•็”จ็ง‘ๅญฆๆจกๅž‹ๆ›ฟไปฃๆœบๆขฐๆ‰ง่กŒ๏ผŒไปŽๆœฌ่ดจไธŠ้‡ๆž„ไธชไบบ่ฎค็Ÿฅไฝ“็ณป็š„ๆทฑๅบฆๅค็›˜ใ€‚\",\"permalink\":\"/growth/outer-experience\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/outer_experience_bg.png\",\"sticky\":1,\"top\":true,\"tags\":[\"็ณป็ปŸๆ€็ปด\",\"ๆ•ฐๅญฆๆ€็ปด\",\"ๆจกๅž‹ๆ€็ปด\",\"AI\",\"็–ซๆƒ…\"],\"categories\":[\"ไธชไบบๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"date\":\"2024-01-15 22:16:00\",\"capture\":\"1. ๅ†™ๅœจๅ‰้ข\\nๆ—ถๅ…‰่่‹’๏ผŒ็–ซๆƒ…ๅทฒ็ป็”ฑๆ”พๅผ€็Šถๆ€็ปง็ปญๆผ”ๅ˜ไธบ่ฟ‡ๅŽปๅผ็Šถๆ€๏ผŒๆˆ‘ไปฌไบบ็ฑปไนŸไปŽใ€Ž้—ญๅ…ณใ€่ตฐๅ‘ไบ†ใ€Ž่‡ช็”ฑใ€็š„็คพไผš็”Ÿๆดป็Šถๆ€ใ€‚็ฌ”่€…ไฝœไธบ็คพไผšไธญ็š„ๆ™ฎ้€šไธ€ๅ‘˜๏ผŒ่‡ช็„ถไนŸไธ็ฆปๅค–๏ผŒๅœจ 2023 ๅนดๅˆๆด‹ๆด‹ๆด’ๆด’ๅ†™ไบ†ไธ€็ฏ‡ๅœจๅฅๅบทใ€่ฏปไนฆไธŽๅญฆไน ใ€ๆ—ถ้—ด็ฎก็†ๅ’Œๆททๅˆๅทฅไฝœๅˆถๅ‡ ไธชๆ–น้ข็š„ๅฎž่ทตไธŽ็†่งฃ๏ผˆๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ๏ผ‰๏ผŒๅฐฑๅผ€ๅผ€ๅฟƒๅฟƒๅœฐๅ‘ๅ‰็œ‹๏ผŒๅญฆ็€ๅ‘ๅค–ไฝ“้ชŒไบ†ใ€‚\\n้‚ฃไนˆ้—ฎ้ข˜ๆฅไบ†๏ผŒ็›ธๆฏ”ไน‹ๅ‰ๅ†™ๅ‡บ้•ฟๆ–‡๏ผŒ็ฌ”่€…ๅˆๆ˜ฏ่ฟ‘ไธ€ๅนดๆฒกๆœ‰ๅ‘ๅค–่พ“ๅ‡บ่ฝฏๆ–‡ไบ†ใ€‚ๅ› ๆญค๏ผŒไนฆๆŽฅไธŠๆ–‡๏ผŒๆœฌๆฌก็ปง็ปญๆ–ฐๅขžไธ€็ฏ‡ไธญ็Ÿญๆ–‡๏ผŒๆผซ่ฐˆไธ€ไธ‹็–ซๆƒ…ๅŽ็š„ๅ‘ๅค–ไฝ“้ชŒใ€‚\\nๅœจๅ€’้€ผ่‡ชๅทฑๅ…ณๆณจ่บซไฝ“ๅฅๅบทๅ’Œๆ—ถ้—ด็ฎก็†ๅŽ๏ผŒ่™ฝ็„ถๅœจไฝ“้‡ๅ’Œๆ•ˆ็އไธคไธชๆ–น้ขๆœ‰ไธ€ๅฎš็š„ๆญฃๅ‘ๆ•ˆๆžœ๏ผŒไฝ†็ฌ”่€…ๅœจ่ฟž็ปญๅšๆŒ่ฝๅœฐๆ‹†่งฃๅ‡บๆฅ็š„็›ฎๆ ‡่ฟ‡็จ‹ไธญ๏ผŒๆœ‰ๆ—ถ\"}],\"็–ซๆƒ…\":[{\"url\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"relativePath\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"frontmatter\":{\"date\":\"2024-01-15 22:16:00\",\"title\":\"่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไนฆๆŽฅไธŠๆ–‡ใ€Šๅ‘ๅ†…ๆ€ๅ˜ใ€‹๏ผŒๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ๅœจๅŽ็–ซๆƒ…ๆ—ถไปฃไปŽโ€œ้—ญๅ…ณโ€่ตฐๅ‘โ€œๅ‘ๅค–ไฝ“้ชŒโ€็š„ๅฐ่ฏ•ไธŽๅฟƒๅพ—ใ€‚้ขๅฏนๆœบๆขฐๆ‰ง่กŒๅธฆๆฅ็š„โ€œ็›ฎๆ ‡้šง้“โ€ๆ•ˆๅบ”๏ผŒ็ฌ”่€…ๅฐ่ฏ•่ทณๅ‡บๅ•ไธ€็š„็บฟๆ€ง่ง„ๅˆ’๏ผŒ่ฝฌ่€Œๅฏปๆฑ‚ๆ›ดๅบ•ๅฑ‚็š„่ฎค็Ÿฅ้€ป่พ‘ใ€‚ๆ–‡็ซ ้€š่ฟ‡้‡่ฏปใ€Š่ฆไบ‹็ฌฌไธ€ใ€‹ๅปบ็ซ‹ๅนณ่กก่ง‚๏ผŒๅˆฉ็”จ็ณป็ปŸๆ€็ปด๏ผˆๅขžๅผบ/่ฐƒ่Š‚ๅ›ž่ทฏ๏ผ‰ๆž„ๅปบๆดžๅฏŸๅŠ›๏ผŒๅนถ้‡ๆ–ฐๆ‹พ่ตทๆ•ฐๅญฆๆ€็ปด๏ผˆๆฆ‚็އใ€็จ€็–ๆ€งใ€ๅคšๆ ทๆ€ง๏ผ‰ไธŽ AI ่ง†่ง’ใ€‚่ฟ™ๆ˜ฏไธ€ๆฌกๅ…ณไบŽๅฆ‚ไฝ•็”จ็ง‘ๅญฆๆจกๅž‹ๆ›ฟไปฃๆœบๆขฐๆ‰ง่กŒ๏ผŒไปŽๆœฌ่ดจไธŠ้‡ๆž„ไธชไบบ่ฎค็Ÿฅไฝ“็ณป็š„ๆทฑๅบฆๅค็›˜ใ€‚\",\"permalink\":\"/growth/outer-experience\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/outer_experience_bg.png\",\"sticky\":1,\"top\":true,\"tags\":[\"็ณป็ปŸๆ€็ปด\",\"ๆ•ฐๅญฆๆ€็ปด\",\"ๆจกๅž‹ๆ€็ปด\",\"AI\",\"็–ซๆƒ…\"],\"categories\":[\"ไธชไบบๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘\",\"date\":\"2024-01-15 22:16:00\",\"capture\":\"1. ๅ†™ๅœจๅ‰้ข\\nๆ—ถๅ…‰่่‹’๏ผŒ็–ซๆƒ…ๅทฒ็ป็”ฑๆ”พๅผ€็Šถๆ€็ปง็ปญๆผ”ๅ˜ไธบ่ฟ‡ๅŽปๅผ็Šถๆ€๏ผŒๆˆ‘ไปฌไบบ็ฑปไนŸไปŽใ€Ž้—ญๅ…ณใ€่ตฐๅ‘ไบ†ใ€Ž่‡ช็”ฑใ€็š„็คพไผš็”Ÿๆดป็Šถๆ€ใ€‚็ฌ”่€…ไฝœไธบ็คพไผšไธญ็š„ๆ™ฎ้€šไธ€ๅ‘˜๏ผŒ่‡ช็„ถไนŸไธ็ฆปๅค–๏ผŒๅœจ 2023 ๅนดๅˆๆด‹ๆด‹ๆด’ๆด’ๅ†™ไบ†ไธ€็ฏ‡ๅœจๅฅๅบทใ€่ฏปไนฆไธŽๅญฆไน ใ€ๆ—ถ้—ด็ฎก็†ๅ’Œๆททๅˆๅทฅไฝœๅˆถๅ‡ ไธชๆ–น้ข็š„ๅฎž่ทตไธŽ็†่งฃ๏ผˆๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ๏ผ‰๏ผŒๅฐฑๅผ€ๅผ€ๅฟƒๅฟƒๅœฐๅ‘ๅ‰็œ‹๏ผŒๅญฆ็€ๅ‘ๅค–ไฝ“้ชŒไบ†ใ€‚\\n้‚ฃไนˆ้—ฎ้ข˜ๆฅไบ†๏ผŒ็›ธๆฏ”ไน‹ๅ‰ๅ†™ๅ‡บ้•ฟๆ–‡๏ผŒ็ฌ”่€…ๅˆๆ˜ฏ่ฟ‘ไธ€ๅนดๆฒกๆœ‰ๅ‘ๅค–่พ“ๅ‡บ่ฝฏๆ–‡ไบ†ใ€‚ๅ› ๆญค๏ผŒไนฆๆŽฅไธŠๆ–‡๏ผŒๆœฌๆฌก็ปง็ปญๆ–ฐๅขžไธ€็ฏ‡ไธญ็Ÿญๆ–‡๏ผŒๆผซ่ฐˆไธ€ไธ‹็–ซๆƒ…ๅŽ็š„ๅ‘ๅค–ไฝ“้ชŒใ€‚\\nๅœจๅ€’้€ผ่‡ชๅทฑๅ…ณๆณจ่บซไฝ“ๅฅๅบทๅ’Œๆ—ถ้—ด็ฎก็†ๅŽ๏ผŒ่™ฝ็„ถๅœจไฝ“้‡ๅ’Œๆ•ˆ็އไธคไธชๆ–น้ขๆœ‰ไธ€ๅฎš็š„ๆญฃๅ‘ๆ•ˆๆžœ๏ผŒไฝ†็ฌ”่€…ๅœจ่ฟž็ปญๅšๆŒ่ฝๅœฐๆ‹†่งฃๅ‡บๆฅ็š„็›ฎๆ ‡่ฟ‡็จ‹ไธญ๏ผŒๆœ‰ๆ—ถ\"},{\"url\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"relativePath\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"frontmatter\":{\"date\":\"2023-01-08 10:23:50\",\"title\":\"ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅฆ‚ไฝ•้ฟๅ…ๅ†…่€—๏ผŸๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ไธ‰ๅนด้—ด็š„โ€œ่‡ชๆˆ‘้‡ๆž„โ€ๅฎž้ชŒใ€‚ๆ–‡็ซ ๆ‘’ๅผƒไบ†ๅ•็บฏ็š„ๆƒ…็ปชๅฎฃๆณ„๏ผŒ่€Œๆ˜ฏๅˆฉ็”จๅˆ†่งฃๆณ•ใ€ๆธ่ฟ›ๆ˜Ž็ป†ๅ’Œ็ปŸ่ฎกๅˆ†ๆž็ญ‰ๅทฅ็จ‹ๆ€็ปด๏ผŒๅฏนๅฅๅบท้ฅฎ้ฃŸใ€็Ÿฅ่ฏ†ไฝ“็ณปใ€ๆ—ถ้—ดๅˆ†้…ๅŠ่ฟœ็จ‹ๅไฝœ่ฟ›่กŒไบ†็ณป็ปŸๅŒ–ๆ”น้€ ใ€‚่ฟ™ๆ˜ฏไธ€ไปฝๅ…ณไบŽๅฆ‚ไฝ•ๅœจๆ— ๅธธ็š„ๅค–้ƒจ็Žฏๅขƒไธญ๏ผŒๅปบ็ซ‹ๅ†…ๅœจ็กฎๅฎšๆ€ง็งฉๅบ็š„่กŒๅŠจๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/growth/inner-experience\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/refactor_life.png\",\"sticky\":1,\"top\":true,\"categories\":\"ไธชไบบๆˆ้•ฟ\",\"tags\":[\"ๅฅๅบท\",\"ๆ—ถ้—ด\",\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\",\"่ฟœ็จ‹ๅไฝœ\",\"็–ซๆƒ…\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"date\":\"2023-01-08 10:23:50\",\"capture\":\"<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/refactor_life.png\\\" alt=\\\"็›ฎๆ ‡ๅˆฐ่ทต่กŒๆ€็ปดๆต็จ‹็คบๆ„ๅ›พ\\\" style=\\\"width: 100%; border-radius: 8px;\\\" />\\n ๅ†™ๅœจๅ‰้ข\\n่‡ชๅŽปๅนด 7 ๆœˆไปฝ่ฟ็งปๅ‡ ็ฏ‡ๆ—งๆ–‡ๅŽ๏ผŒ็ฌ”่€…ๅฐฑๆฒกๆœ‰็ปง็ปญๅ†™่ฝฏๆ–‡ไบ†๏ผŒๆƒณไธๅˆฐๅ†ๆฌกๅ†™ๆ–‡็ซ ๆ—ถ็–ซๆƒ…ๆ”ฟ็ญ–ๅทฒ็ป่ฐƒๆ•ด๏ผŒไธ”ๅˆๆญฅๅฎž็Žฐไบ†ๅผ€ๆ”พใ€‚้‚ฃไนˆ้—ฎ้ข˜ๆฅไบ†๏ผŒไธบไป€ไนˆ่ฆ็ปง็ปญๅ†™ๆ–‡็ซ ๅ‘ข๏ผŸๆฆ‚ๆ‹ฌๆฅ่ฎฒ๏ผŒๆœ‰ไธคไธชๆ–น้ข็š„ๅŽŸๅ› ๏ผš\\n* ็›ดๆŽฅๅŽŸๅ› ๏ผš็–ซๆƒ…่ฟ™ไธ‰ๅนด๏ผŒๆฏไธชไบบ้ƒฝไฝ“้ชŒๅˆฐไบ†ไธๅŒไบŽไน‹ๅ‰็š„ โ€œ้šพโ€๏ผŒไนŸ้ƒฝๆœ‰\"}],\"ๅฅๅบท\":[{\"url\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"relativePath\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"frontmatter\":{\"date\":\"2023-01-08 10:23:50\",\"title\":\"ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅฆ‚ไฝ•้ฟๅ…ๅ†…่€—๏ผŸๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ไธ‰ๅนด้—ด็š„โ€œ่‡ชๆˆ‘้‡ๆž„โ€ๅฎž้ชŒใ€‚ๆ–‡็ซ ๆ‘’ๅผƒไบ†ๅ•็บฏ็š„ๆƒ…็ปชๅฎฃๆณ„๏ผŒ่€Œๆ˜ฏๅˆฉ็”จๅˆ†่งฃๆณ•ใ€ๆธ่ฟ›ๆ˜Ž็ป†ๅ’Œ็ปŸ่ฎกๅˆ†ๆž็ญ‰ๅทฅ็จ‹ๆ€็ปด๏ผŒๅฏนๅฅๅบท้ฅฎ้ฃŸใ€็Ÿฅ่ฏ†ไฝ“็ณปใ€ๆ—ถ้—ดๅˆ†้…ๅŠ่ฟœ็จ‹ๅไฝœ่ฟ›่กŒไบ†็ณป็ปŸๅŒ–ๆ”น้€ ใ€‚่ฟ™ๆ˜ฏไธ€ไปฝๅ…ณไบŽๅฆ‚ไฝ•ๅœจๆ— ๅธธ็š„ๅค–้ƒจ็Žฏๅขƒไธญ๏ผŒๅปบ็ซ‹ๅ†…ๅœจ็กฎๅฎšๆ€ง็งฉๅบ็š„่กŒๅŠจๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/growth/inner-experience\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/refactor_life.png\",\"sticky\":1,\"top\":true,\"categories\":\"ไธชไบบๆˆ้•ฟ\",\"tags\":[\"ๅฅๅบท\",\"ๆ—ถ้—ด\",\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\",\"่ฟœ็จ‹ๅไฝœ\",\"็–ซๆƒ…\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"date\":\"2023-01-08 10:23:50\",\"capture\":\"<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/refactor_life.png\\\" alt=\\\"็›ฎๆ ‡ๅˆฐ่ทต่กŒๆ€็ปดๆต็จ‹็คบๆ„ๅ›พ\\\" style=\\\"width: 100%; border-radius: 8px;\\\" />\\n ๅ†™ๅœจๅ‰้ข\\n่‡ชๅŽปๅนด 7 ๆœˆไปฝ่ฟ็งปๅ‡ ็ฏ‡ๆ—งๆ–‡ๅŽ๏ผŒ็ฌ”่€…ๅฐฑๆฒกๆœ‰็ปง็ปญๅ†™่ฝฏๆ–‡ไบ†๏ผŒๆƒณไธๅˆฐๅ†ๆฌกๅ†™ๆ–‡็ซ ๆ—ถ็–ซๆƒ…ๆ”ฟ็ญ–ๅทฒ็ป่ฐƒๆ•ด๏ผŒไธ”ๅˆๆญฅๅฎž็Žฐไบ†ๅผ€ๆ”พใ€‚้‚ฃไนˆ้—ฎ้ข˜ๆฅไบ†๏ผŒไธบไป€ไนˆ่ฆ็ปง็ปญๅ†™ๆ–‡็ซ ๅ‘ข๏ผŸๆฆ‚ๆ‹ฌๆฅ่ฎฒ๏ผŒๆœ‰ไธคไธชๆ–น้ข็š„ๅŽŸๅ› ๏ผš\\n* ็›ดๆŽฅๅŽŸๅ› ๏ผš็–ซๆƒ…่ฟ™ไธ‰ๅนด๏ผŒๆฏไธชไบบ้ƒฝไฝ“้ชŒๅˆฐไบ†ไธๅŒไบŽไน‹ๅ‰็š„ โ€œ้šพโ€๏ผŒไนŸ้ƒฝๆœ‰\"},{\"url\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/20.ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹้˜ถๆฎต้š็ฌ”ๆฑ‡ๆ€ป\",\"relativePath\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/20.ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹้˜ถๆฎต้š็ฌ”ๆฑ‡ๆ€ป\",\"frontmatter\":{\"date\":\"2022-09-12 08:16:00\",\"title\":\"็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ”นๅ–„็š„ๆ–นๅผๆŽจๅŠจๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไปŽโ€œไนฆ็”Ÿๆ„ๆฐ”โ€ๅˆฐๅˆๅ…ฅ็คพไผš็š„โ€œไธญๅนดๆฒน่…ปโ€ๅฑๆœบ๏ผŒไธ€ๆฌกๅฅๅบท่ญฆๆŠฅ่ฎฉ็ฌ”่€…ๅผ€ๅฏไบ†่ฟ™ๅœบๆทฑๅˆป็š„่‡ชๆˆ‘ๅฏน่ฏไธŽ่กŒๅŠจใ€‚ๆœฌๆ–‡่ฏฆ็ป†ๅค็›˜ไบ†็ฌ”่€…ไปŽๅฅๅบทๅฑๆœบๅ‡บๅ‘๏ผŒ้€š่ฟ‡ๅ››ไธช้˜ถๆฎต็š„ๅพชๅบๆธ่ฟ›๏ผŒๆˆๅŠŸๅฎž็Žฐไฝ“้‡็ฎก็†็š„่ฟ‡็จ‹ใ€‚ๅŒบๅˆซไบŽ็›ฒ็›ฎ่ทŸ้ฃŽ๏ผŒ็ฌ”่€…ๅœจๅฎž่ทตไธญๅผ•ๅ…ฅไบ†็›ฎๆ ‡ๆ‹†่งฃใ€ๆ•ฐๆฎ็›‘ๆŽง๏ผˆไฝ“่„‚็งคๆŒ‡ๆ ‡๏ผ‰ใ€่ทจ้ข†ๅŸŸ็ป้ชŒ่ฟ็งป๏ผˆๅฆ‚้กน็›ฎ็ฎก็†ใ€ๆ—ถ้—ด็ฎก็†๏ผ‰ไปฅๅŠๅฏนไธๅŒ็ญ–็•ฅ๏ผˆๅฆ‚ๆŽงๅˆถ้ฅฎ้ฃŸใ€ๅŠ ๅคงๆ— ๆฐง่ฟๅŠจใ€ๅฐ่ฏ•ไธๅƒไธป้ฃŸ๏ผ‰็š„่พฉ่ฏ้‡‡็บณใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ไปฝๅ‡่‚ฅ่ฎฐๅฝ•๏ผŒๆ›ดๆ˜ฏไธ€ๆฌก็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ€็ปด้‡ๆž„็”Ÿๆดป็งฉๅบใ€ๅฎž็Žฐ่บซๅฟƒๅ‡็บง็š„ๅฎžๆ“ๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/growth/weight-loss\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/health_bg.png\",\"top\":true,\"tags\":[\"ๅฅๅบท\",\"่ฟๅŠจ\"],\"categories\":[\"ไธชไบบๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ”นๅ–„็š„ๆ–นๅผๆŽจๅŠจๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹\",\"date\":\"2022-09-12 08:16:00\",\"capture\":\"ๅ†™ๅœจๅ‰้ข\\nๅœจ็ปๆตŽๅฟซ้€Ÿๅ‘ๅฑ•็š„ๅคง่ƒŒๆ™ฏไธ‹๏ผŒไธ€ๆ‰นๅˆไธ€ๆ‰น็š„ๅคงๅญฆ็”Ÿ้™†็ปญ่ตฐๅ‡บๆ ก้—จ่ฟ›ๅ…ฅ็คพไผšๅคง่ˆžๅฐใ€‚้š็€ๅนด้พ„ไธŽๅทฅไฝœๅนด้™็š„ๅขž้•ฟ๏ผŒไธ็Ÿฅ็ฝฎ่บซไบŽๅ…ถไธญ็š„ไฝ ๆ˜ฏๅฆๆ„Ÿๆ…จ่ฟ‡่‡ชๅทฑๅœจ้˜…ๅކไธŠไปŽโ€œไนฆ็”Ÿๆ„ๆฐ”โ€ๆธๆธๆผ”ๅ˜ไธบโ€œๅ››ๅนณๅ…ซ็จณ๏ผŒๆธธๅˆƒๆœ‰ไฝ™โ€๏ผ›ๅœจ่บซไฝ“ๅ…ปๆŠคๆ–น้ขไปŽโ€œ่บซๆๆ— ๆ•Œ๏ผŒๅนด้พ„ๆˆ่ฟท๏ผŒๅฎžๆ‰“ๅฎžไธ€ไธชไผ ๅฅ‡โ€ๆผ”ๅ˜ไธบโ€œไธญๅนดๆฒน่…ปโ€ใ€‚ๆฏไธชไบบๅคšๅฐ‘้ƒฝๆœ‰่‡ชๅทฑ็š„็ญ”ๆกˆ๏ผŒ็ฌ”่€…็š„็ญ”ๆกˆๆ˜ฏ๏ผš่ตฐๅ‡บๆ ก้—จ่ฟ›ๅ…ฅ็คพไผšๅŽ๏ผŒๅฝ“ๅˆๅฏน่บซ่พนไบบๆœ‰็‚น่‹›ๅˆป๏ผŒ้‡ไบ‹็ซๆ€ฅ็ซ็‡Ž็š„่‡ชๅทฑ้€ๆธๅพ—ๅˆฐไบ†ๆ”นๅ–„ใ€‚่บซไฝ“ๅดๅ› ๅŽŸๆœฌๅœจๅคงๅญฆๆ—ถๆฒกๆœ‰ๆ€Žไนˆๅœจๆ„๏ผŒ็ป่ฟ‡้•ฟๅนด็ดฏๆœˆๅœฐๆด—็คผไบฎไบ†ไธ€ๆฌกๅฐ็บข็ฏใ€‚ๅœจๅบทๅคๆœŸ้—ด๏ผŒไธๆญขไธ€ๆฌกๅๆ€่ฟ‡ไน‹ๅ‰็š„็”Ÿๆดปๆ–นๅผๅ’Œๅ…ฅไธ–ๆจกๅผ๏ผŒๆƒณไธ€ๆƒณ + ๅ››ๅค„็œ‹ไธ€็œ‹ๅŽ๏ผŒๆ…ขๆ…ขไนŸๅฐฑๅผ€ๆ‚Ÿไบ†๏ผŒ่‡ช็„ถ่ฆๅฏๅŠจไธ€ไบ›ๆ”นๅ˜ๅฐ่ฏ•ใ€‚\\nๅ› ๆญค๏ผŒไนŸๅฐฑๆœ‰ไบ†่ฟ™็ฏ‡ๅ‡่‚ฅ่ฟ™ไปถ\"}],\"ๆ—ถ้—ด\":[{\"url\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"relativePath\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"frontmatter\":{\"date\":\"2023-01-08 10:23:50\",\"title\":\"ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅฆ‚ไฝ•้ฟๅ…ๅ†…่€—๏ผŸๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ไธ‰ๅนด้—ด็š„โ€œ่‡ชๆˆ‘้‡ๆž„โ€ๅฎž้ชŒใ€‚ๆ–‡็ซ ๆ‘’ๅผƒไบ†ๅ•็บฏ็š„ๆƒ…็ปชๅฎฃๆณ„๏ผŒ่€Œๆ˜ฏๅˆฉ็”จๅˆ†่งฃๆณ•ใ€ๆธ่ฟ›ๆ˜Ž็ป†ๅ’Œ็ปŸ่ฎกๅˆ†ๆž็ญ‰ๅทฅ็จ‹ๆ€็ปด๏ผŒๅฏนๅฅๅบท้ฅฎ้ฃŸใ€็Ÿฅ่ฏ†ไฝ“็ณปใ€ๆ—ถ้—ดๅˆ†้…ๅŠ่ฟœ็จ‹ๅไฝœ่ฟ›่กŒไบ†็ณป็ปŸๅŒ–ๆ”น้€ ใ€‚่ฟ™ๆ˜ฏไธ€ไปฝๅ…ณไบŽๅฆ‚ไฝ•ๅœจๆ— ๅธธ็š„ๅค–้ƒจ็Žฏๅขƒไธญ๏ผŒๅปบ็ซ‹ๅ†…ๅœจ็กฎๅฎšๆ€ง็งฉๅบ็š„่กŒๅŠจๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/growth/inner-experience\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/refactor_life.png\",\"sticky\":1,\"top\":true,\"categories\":\"ไธชไบบๆˆ้•ฟ\",\"tags\":[\"ๅฅๅบท\",\"ๆ—ถ้—ด\",\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\",\"่ฟœ็จ‹ๅไฝœ\",\"็–ซๆƒ…\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"date\":\"2023-01-08 10:23:50\",\"capture\":\"<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/refactor_life.png\\\" alt=\\\"็›ฎๆ ‡ๅˆฐ่ทต่กŒๆ€็ปดๆต็จ‹็คบๆ„ๅ›พ\\\" style=\\\"width: 100%; border-radius: 8px;\\\" />\\n ๅ†™ๅœจๅ‰้ข\\n่‡ชๅŽปๅนด 7 ๆœˆไปฝ่ฟ็งปๅ‡ ็ฏ‡ๆ—งๆ–‡ๅŽ๏ผŒ็ฌ”่€…ๅฐฑๆฒกๆœ‰็ปง็ปญๅ†™่ฝฏๆ–‡ไบ†๏ผŒๆƒณไธๅˆฐๅ†ๆฌกๅ†™ๆ–‡็ซ ๆ—ถ็–ซๆƒ…ๆ”ฟ็ญ–ๅทฒ็ป่ฐƒๆ•ด๏ผŒไธ”ๅˆๆญฅๅฎž็Žฐไบ†ๅผ€ๆ”พใ€‚้‚ฃไนˆ้—ฎ้ข˜ๆฅไบ†๏ผŒไธบไป€ไนˆ่ฆ็ปง็ปญๅ†™ๆ–‡็ซ ๅ‘ข๏ผŸๆฆ‚ๆ‹ฌๆฅ่ฎฒ๏ผŒๆœ‰ไธคไธชๆ–น้ข็š„ๅŽŸๅ› ๏ผš\\n* ็›ดๆŽฅๅŽŸๅ› ๏ผš็–ซๆƒ…่ฟ™ไธ‰ๅนด๏ผŒๆฏไธชไบบ้ƒฝไฝ“้ชŒๅˆฐไบ†ไธๅŒไบŽไน‹ๅ‰็š„ โ€œ้šพโ€๏ผŒไนŸ้ƒฝๆœ‰\"}],\"่ฟœ็จ‹ๅไฝœ\":[{\"url\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"relativePath\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"frontmatter\":{\"date\":\"2023-01-08 10:23:50\",\"title\":\"ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฝ“ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅฆ‚ไฝ•้ฟๅ…ๅ†…่€—๏ผŸๆœฌๆ–‡่ฎฐๅฝ•ไบ†็ฌ”่€…ไธ‰ๅนด้—ด็š„โ€œ่‡ชๆˆ‘้‡ๆž„โ€ๅฎž้ชŒใ€‚ๆ–‡็ซ ๆ‘’ๅผƒไบ†ๅ•็บฏ็š„ๆƒ…็ปชๅฎฃๆณ„๏ผŒ่€Œๆ˜ฏๅˆฉ็”จๅˆ†่งฃๆณ•ใ€ๆธ่ฟ›ๆ˜Ž็ป†ๅ’Œ็ปŸ่ฎกๅˆ†ๆž็ญ‰ๅทฅ็จ‹ๆ€็ปด๏ผŒๅฏนๅฅๅบท้ฅฎ้ฃŸใ€็Ÿฅ่ฏ†ไฝ“็ณปใ€ๆ—ถ้—ดๅˆ†้…ๅŠ่ฟœ็จ‹ๅไฝœ่ฟ›่กŒไบ†็ณป็ปŸๅŒ–ๆ”น้€ ใ€‚่ฟ™ๆ˜ฏไธ€ไปฝๅ…ณไบŽๅฆ‚ไฝ•ๅœจๆ— ๅธธ็š„ๅค–้ƒจ็Žฏๅขƒไธญ๏ผŒๅปบ็ซ‹ๅ†…ๅœจ็กฎๅฎšๆ€ง็งฉๅบ็š„่กŒๅŠจๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/growth/inner-experience\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/refactor_life.png\",\"sticky\":1,\"top\":true,\"categories\":\"ไธชไบบๆˆ้•ฟ\",\"tags\":[\"ๅฅๅบท\",\"ๆ—ถ้—ด\",\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\",\"่ฟœ็จ‹ๅไฝœ\",\"็–ซๆƒ…\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ\",\"date\":\"2023-01-08 10:23:50\",\"capture\":\"<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/growth/refactor_life.png\\\" alt=\\\"็›ฎๆ ‡ๅˆฐ่ทต่กŒๆ€็ปดๆต็จ‹็คบๆ„ๅ›พ\\\" style=\\\"width: 100%; border-radius: 8px;\\\" />\\n ๅ†™ๅœจๅ‰้ข\\n่‡ชๅŽปๅนด 7 ๆœˆไปฝ่ฟ็งปๅ‡ ็ฏ‡ๆ—งๆ–‡ๅŽ๏ผŒ็ฌ”่€…ๅฐฑๆฒกๆœ‰็ปง็ปญๅ†™่ฝฏๆ–‡ไบ†๏ผŒๆƒณไธๅˆฐๅ†ๆฌกๅ†™ๆ–‡็ซ ๆ—ถ็–ซๆƒ…ๆ”ฟ็ญ–ๅทฒ็ป่ฐƒๆ•ด๏ผŒไธ”ๅˆๆญฅๅฎž็Žฐไบ†ๅผ€ๆ”พใ€‚้‚ฃไนˆ้—ฎ้ข˜ๆฅไบ†๏ผŒไธบไป€ไนˆ่ฆ็ปง็ปญๅ†™ๆ–‡็ซ ๅ‘ข๏ผŸๆฆ‚ๆ‹ฌๆฅ่ฎฒ๏ผŒๆœ‰ไธคไธชๆ–น้ข็š„ๅŽŸๅ› ๏ผš\\n* ็›ดๆŽฅๅŽŸๅ› ๏ผš็–ซๆƒ…่ฟ™ไธ‰ๅนด๏ผŒๆฏไธชไบบ้ƒฝไฝ“้ชŒๅˆฐไบ†ไธๅŒไบŽไน‹ๅ‰็š„ โ€œ้šพโ€๏ผŒไนŸ้ƒฝๆœ‰\"}],\"LLM\":[{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/00.AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/00.AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ\",\"frontmatter\":{\"title\":\"AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"date\":\"2026-03-15 16:00:00\",\"description\":\"ๅ…จๆ™ฏๅผ AI ๅญฆไน ไธŽๅฎž่ทต็Ÿฅ่ฏ†ๅบ“๏ผŒ็ณป็ปŸๆฒ‰ๆท€ AI Agent ่ฎพ่ฎกๆจกๅผใ€ๅคงๆจกๅž‹ๅทฅ็จ‹ๅŒ–่ฝๅœฐใ€ๅผ€ๆบๅฐ้กน็›ฎๅŠ็คพๅŒบๆดปๅŠจ็ป้ชŒๆ€ป็ป“๏ผŒๆŒ็ปญ่ฟญไปฃไปŽ็†่ฎบๅˆฐ็”Ÿไบง็š„ๅฎŒๆ•ดๆ–นๆณ•่ฎบใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/llm_learning_bg_1.png\",\"permalink\":\"/ai-learning/overview\",\"categories\":[\"ai-practice\"],\"tags\":[\"AI\",\"LLM\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ\",\"date\":\"2026-03-15 16:00:00\",\"capture\":\"<!-- ็ฒพ้€‰ไธ“้ข˜ --\\n<script setup>\\nimport ArticleCardList from '@fragment/components/ArticleCardList.vue'\\nimport { aiLearningCategories } from '@fragment/data/ai-learning-data'\\n</script>\\n<ArticleCardList :categories=\\\"aiLearningCategories\\\" />\"}],\"CSS\":[{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/02.CSSๅทฅ็จ‹ๅŒ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/02.CSSๅทฅ็จ‹ๅŒ–\",\"frontmatter\":{\"date\":\"2026-03-10 22:05:50\",\"title\":\"ไปŽๅŽŸๅญๅŒ–ๅˆฐๅ˜ไฝ“้ฉฑๅŠจ๏ผš็Žฐไปฃ CSS ๅทฅ็จ‹ๅŒ–็š„ๆžถๆž„ๆผ”่ฟ›ไธŽๆททๅˆๅฎž่ทตๆŒ‡ๅ—\",\"description\":\"ๆœฌๆ–‡็ณป็ปŸๅ‰–ๆžไธปๆต CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆ็š„ๅบ•ๅฑ‚้€ป่พ‘๏ผŒๆๅ‡บโ€œๆ ทๅผ่ต„ไบง ROIโ€่ฏ„ไผฐๆจกๅž‹๏ผŒๅนถ้’ˆๅฏน Vue/React ็”Ÿๆ€็ป™ๅ‡บไบ†้ขๅ‘ AI ๆ—ถไปฃ็š„ไผไธš็บงๆททๅˆๆžถๆž„้€‰ๅž‹ๅปบ่ฎฎใ€‚\",\"permalink\":\"/full-stack/css-engineering\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"top\":true,\"categories\":[\"ๅ…จๆ ˆ\"],\"tags\":[\"ๅ…จๆ ˆ\",\"CSS\",\"ๅทฅ็จ‹ๅŒ–\",\"tailwindcss\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไปŽๅŽŸๅญๅŒ–ๅˆฐๅ˜ไฝ“้ฉฑๅŠจ๏ผš็Žฐไปฃ CSS ๅทฅ็จ‹ๅŒ–็š„ๆžถๆž„ๆผ”่ฟ›ไธŽๆททๅˆๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-03-10 22:05:50\",\"capture\":\"1. ๅผ•่จ€๏ผšไธปๆต CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆๆœ‰ๅ“ชไบ›๏ผŸ\\nๅœจ็Žฐไปฃๅ‰็ซฏๅผ€ๅ‘ไธญ๏ผŒ้š็€้กน็›ฎๅคๆ‚ๅบฆ็š„ๆ€ฅๅ‰งๆๅ‡๏ผŒๅŽŸ็”Ÿ CSS ๅธธๅธธ้ขไธดๅ…จๅฑ€ๆฑกๆŸ“ใ€ๅค็”จๅ›ฐ้šพใ€ๅฑ‚็บงๅตŒๅฅ—่ฟ‡ๆทฑไปฅๅŠ็ปดๆŠคๆˆๆœฌๆž้ซ˜็ญ‰้—ฎ้ข˜ใ€‚ไธบไบ†่งฃๅ†ณ่ฟ™ไบ›็—›็‚น๏ผŒ็คพๅŒบๅคšๅนดๆฅไธๆ–ญๆŽข็ดข๏ผŒๆฒ‰ๆท€ๅ‡บไบ†ๅคš็งไธปๆต็š„ CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆใ€‚\\n้™คๅŽŸ็”Ÿ CSS ไน‹ๅค–๏ผŒไธปๆตๆ–นๆกˆ่ฟ˜ๅŒ…ๆ‹ฌ้ข„ๅค„็†ๅ™จใ€CSS-in-JSใ€CSS Moduleใ€Scoped CSSใ€ๅŽŸๅญๅŒ– CSS ็ญ‰ใ€‚BEM ไฝœไธบไธ€็งๅŸบไบŽๅ‘ฝๅ็บฆๅฎšๆฅ่ง„้ฟๅ‘ฝๅๅ†ฒ็ช็š„ๆ—ฉๆœŸๆ–นๆกˆ๏ผŒๅœจ็Žฐไปฃๅ‰็ซฏๅทฅ็จ‹ไธญๅทฒๅŸบๆœฌไธๅ†ไฝฟ็”จ๏ผŒๅ› ๆญคๆœฌๆ–‡ไธๅ†ๅฏนๅ…ถๅฑ•ๅผ€่ฏฆ็ป†ๅˆ†ๆžใ€‚\\n> CSS ๅ‘ฝๅ่ง„่Œƒ๏ผˆBEM๏ผ‰๏ผš้€š่ฟ‡ไธฅๆ ผ็š„ๅ‘ฝๅ็บฆๅฎš๏ผˆๅฆ‚ Block__Element--Modif\"}],\"ๅทฅ็จ‹ๅŒ–\":[{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/02.CSSๅทฅ็จ‹ๅŒ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/02.CSSๅทฅ็จ‹ๅŒ–\",\"frontmatter\":{\"date\":\"2026-03-10 22:05:50\",\"title\":\"ไปŽๅŽŸๅญๅŒ–ๅˆฐๅ˜ไฝ“้ฉฑๅŠจ๏ผš็Žฐไปฃ CSS ๅทฅ็จ‹ๅŒ–็š„ๆžถๆž„ๆผ”่ฟ›ไธŽๆททๅˆๅฎž่ทตๆŒ‡ๅ—\",\"description\":\"ๆœฌๆ–‡็ณป็ปŸๅ‰–ๆžไธปๆต CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆ็š„ๅบ•ๅฑ‚้€ป่พ‘๏ผŒๆๅ‡บโ€œๆ ทๅผ่ต„ไบง ROIโ€่ฏ„ไผฐๆจกๅž‹๏ผŒๅนถ้’ˆๅฏน Vue/React ็”Ÿๆ€็ป™ๅ‡บไบ†้ขๅ‘ AI ๆ—ถไปฃ็š„ไผไธš็บงๆททๅˆๆžถๆž„้€‰ๅž‹ๅปบ่ฎฎใ€‚\",\"permalink\":\"/full-stack/css-engineering\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"top\":true,\"categories\":[\"ๅ…จๆ ˆ\"],\"tags\":[\"ๅ…จๆ ˆ\",\"CSS\",\"ๅทฅ็จ‹ๅŒ–\",\"tailwindcss\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไปŽๅŽŸๅญๅŒ–ๅˆฐๅ˜ไฝ“้ฉฑๅŠจ๏ผš็Žฐไปฃ CSS ๅทฅ็จ‹ๅŒ–็š„ๆžถๆž„ๆผ”่ฟ›ไธŽๆททๅˆๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-03-10 22:05:50\",\"capture\":\"1. ๅผ•่จ€๏ผšไธปๆต CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆๆœ‰ๅ“ชไบ›๏ผŸ\\nๅœจ็Žฐไปฃๅ‰็ซฏๅผ€ๅ‘ไธญ๏ผŒ้š็€้กน็›ฎๅคๆ‚ๅบฆ็š„ๆ€ฅๅ‰งๆๅ‡๏ผŒๅŽŸ็”Ÿ CSS ๅธธๅธธ้ขไธดๅ…จๅฑ€ๆฑกๆŸ“ใ€ๅค็”จๅ›ฐ้šพใ€ๅฑ‚็บงๅตŒๅฅ—่ฟ‡ๆทฑไปฅๅŠ็ปดๆŠคๆˆๆœฌๆž้ซ˜็ญ‰้—ฎ้ข˜ใ€‚ไธบไบ†่งฃๅ†ณ่ฟ™ไบ›็—›็‚น๏ผŒ็คพๅŒบๅคšๅนดๆฅไธๆ–ญๆŽข็ดข๏ผŒๆฒ‰ๆท€ๅ‡บไบ†ๅคš็งไธปๆต็š„ CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆใ€‚\\n้™คๅŽŸ็”Ÿ CSS ไน‹ๅค–๏ผŒไธปๆตๆ–นๆกˆ่ฟ˜ๅŒ…ๆ‹ฌ้ข„ๅค„็†ๅ™จใ€CSS-in-JSใ€CSS Moduleใ€Scoped CSSใ€ๅŽŸๅญๅŒ– CSS ็ญ‰ใ€‚BEM ไฝœไธบไธ€็งๅŸบไบŽๅ‘ฝๅ็บฆๅฎšๆฅ่ง„้ฟๅ‘ฝๅๅ†ฒ็ช็š„ๆ—ฉๆœŸๆ–นๆกˆ๏ผŒๅœจ็Žฐไปฃๅ‰็ซฏๅทฅ็จ‹ไธญๅทฒๅŸบๆœฌไธๅ†ไฝฟ็”จ๏ผŒๅ› ๆญคๆœฌๆ–‡ไธๅ†ๅฏนๅ…ถๅฑ•ๅผ€่ฏฆ็ป†ๅˆ†ๆžใ€‚\\n> CSS ๅ‘ฝๅ่ง„่Œƒ๏ผˆBEM๏ผ‰๏ผš้€š่ฟ‡ไธฅๆ ผ็š„ๅ‘ฝๅ็บฆๅฎš๏ผˆๅฆ‚ Block__Element--Modif\"}],\"tailwindcss\":[{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/02.CSSๅทฅ็จ‹ๅŒ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/02.CSSๅทฅ็จ‹ๅŒ–\",\"frontmatter\":{\"date\":\"2026-03-10 22:05:50\",\"title\":\"ไปŽๅŽŸๅญๅŒ–ๅˆฐๅ˜ไฝ“้ฉฑๅŠจ๏ผš็Žฐไปฃ CSS ๅทฅ็จ‹ๅŒ–็š„ๆžถๆž„ๆผ”่ฟ›ไธŽๆททๅˆๅฎž่ทตๆŒ‡ๅ—\",\"description\":\"ๆœฌๆ–‡็ณป็ปŸๅ‰–ๆžไธปๆต CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆ็š„ๅบ•ๅฑ‚้€ป่พ‘๏ผŒๆๅ‡บโ€œๆ ทๅผ่ต„ไบง ROIโ€่ฏ„ไผฐๆจกๅž‹๏ผŒๅนถ้’ˆๅฏน Vue/React ็”Ÿๆ€็ป™ๅ‡บไบ†้ขๅ‘ AI ๆ—ถไปฃ็š„ไผไธš็บงๆททๅˆๆžถๆž„้€‰ๅž‹ๅปบ่ฎฎใ€‚\",\"permalink\":\"/full-stack/css-engineering\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/full-stack/insight_stack.png\",\"top\":true,\"categories\":[\"ๅ…จๆ ˆ\"],\"tags\":[\"ๅ…จๆ ˆ\",\"CSS\",\"ๅทฅ็จ‹ๅŒ–\",\"tailwindcss\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไปŽๅŽŸๅญๅŒ–ๅˆฐๅ˜ไฝ“้ฉฑๅŠจ๏ผš็Žฐไปฃ CSS ๅทฅ็จ‹ๅŒ–็š„ๆžถๆž„ๆผ”่ฟ›ไธŽๆททๅˆๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-03-10 22:05:50\",\"capture\":\"1. ๅผ•่จ€๏ผšไธปๆต CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆๆœ‰ๅ“ชไบ›๏ผŸ\\nๅœจ็Žฐไปฃๅ‰็ซฏๅผ€ๅ‘ไธญ๏ผŒ้š็€้กน็›ฎๅคๆ‚ๅบฆ็š„ๆ€ฅๅ‰งๆๅ‡๏ผŒๅŽŸ็”Ÿ CSS ๅธธๅธธ้ขไธดๅ…จๅฑ€ๆฑกๆŸ“ใ€ๅค็”จๅ›ฐ้šพใ€ๅฑ‚็บงๅตŒๅฅ—่ฟ‡ๆทฑไปฅๅŠ็ปดๆŠคๆˆๆœฌๆž้ซ˜็ญ‰้—ฎ้ข˜ใ€‚ไธบไบ†่งฃๅ†ณ่ฟ™ไบ›็—›็‚น๏ผŒ็คพๅŒบๅคšๅนดๆฅไธๆ–ญๆŽข็ดข๏ผŒๆฒ‰ๆท€ๅ‡บไบ†ๅคš็งไธปๆต็š„ CSS ๅทฅ็จ‹ๅŒ–ๆ–นๆกˆใ€‚\\n้™คๅŽŸ็”Ÿ CSS ไน‹ๅค–๏ผŒไธปๆตๆ–นๆกˆ่ฟ˜ๅŒ…ๆ‹ฌ้ข„ๅค„็†ๅ™จใ€CSS-in-JSใ€CSS Moduleใ€Scoped CSSใ€ๅŽŸๅญๅŒ– CSS ็ญ‰ใ€‚BEM ไฝœไธบไธ€็งๅŸบไบŽๅ‘ฝๅ็บฆๅฎšๆฅ่ง„้ฟๅ‘ฝๅๅ†ฒ็ช็š„ๆ—ฉๆœŸๆ–นๆกˆ๏ผŒๅœจ็Žฐไปฃๅ‰็ซฏๅทฅ็จ‹ไธญๅทฒๅŸบๆœฌไธๅ†ไฝฟ็”จ๏ผŒๅ› ๆญคๆœฌๆ–‡ไธๅ†ๅฏนๅ…ถๅฑ•ๅผ€่ฏฆ็ป†ๅˆ†ๆžใ€‚\\n> CSS ๅ‘ฝๅ่ง„่Œƒ๏ผˆBEM๏ผ‰๏ผš้€š่ฟ‡ไธฅๆ ผ็š„ๅ‘ฝๅ็บฆๅฎš๏ผˆๅฆ‚ Block__Element--Modif\"}],\"tutorial\":[{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"frontmatter\":{\"date\":\"2026-03-05 16:54:35\",\"title\":\"ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"aliases\":[\"Server-Sent Events\",\"HTTP Streaming\"],\"tldr\":\"ๆทฑๅ…ฅ่งฃๆžๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผŒๆไพ›ไปŽๆฆ‚ๅฟตๅˆฐ็”Ÿไบงๅฎž่ทต็š„ๅฎŒๆ•ด่งฃๅ†ณๆ–นๆกˆใ€‚\",\"description\":\"่พจๆžๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ็š„ๆฆ‚ๅฟตไธŽๅฑ‚ๆฌกๅ…ณ็ณป๏ผŒ่ฏฆ่งฃๅฎขๆˆท็ซฏไธŽๆœๅŠก็ซฏๅฎž็Žฐๆ–นๆกˆ๏ผŒๆไพ›็”Ÿไบงๅฎž่ทตๅฎŒๆ•ดๆŒ‡ๅ—ใ€‚\",\"tags\":[\"tutorial\",\"SSE\",\"HTTP Streaming\",\"ๅ…จๆ ˆ\"],\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"permalink\":\"/fullstack/networking/sse-practice\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"date\":\"2026-03-05 16:54:35\",\"capture\":\"<script setup\\n import HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n> ๆ‘˜่ฆๆ€ป็ป“: ้’ˆๅฏนๅผ€ๅ‘่€…ๅฎนๆ˜“ๆททๆท†ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ็š„้—ฎ้ข˜๏ผŒไปŽๆฆ‚ๅฟตๅฑ‚ๆฌกๅ‡บๅ‘ๅŽ˜ๆธ…ไบŒ่€…ๆœฌ่ดจๅŒบๅˆซไธŽๅไฝœๅ…ณ็ณป๏ผŒๆŒ‡ๅ‡บๆตๅผ HTTP ๆ˜ฏๅบ•ๅฑ‚ไผ ่พ“ๆœบๅˆถ่€Œ SSE ๆ˜ฏๅบ”็”จๅฑ‚ๆ•ฐๆฎๆ ผๅผ็บฆๅฎšใ€‚ๆ–‡็ซ ไพๆฌกไป‹็ปๅŽŸ็”Ÿ EventSource APIใ€fetch + ReadableStream ่ฟ›้˜ถๆ–นๆกˆใ€@microsoft/fetch-event-source ๅทฅไธš็บงๅฎž็Žฐ็ญ‰ไธ‰็งๅฎขๆˆท็ซฏๆ–นๆกˆ๏ผŒๅนถไปฅ Nes\"},{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-02-10 23:33:19\",\"title\":\"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ๅฝ“ AI ๆ‰ฟๆŽฅไบ† 30% ็š„็ผ–็ ๆ‰ง่กŒๆ—ถ๏ผŒๅผ€ๅ‘่€…้œ€้€š่ฟ‡โ€œ่ง„ๆ ผ้ฉฑๅŠจ๏ผˆSDD๏ผ‰โ€้‡ๅคบ 70% ็š„่ฎพ่ฎกไธปๆƒ๏ผšไปŽ่‡ชๆฒป็ป„ไปถๅˆ’ๅˆ†ๅˆฐๅ•ๅ‘ๆ•ฐๆฎๆตๆ‹“ๆ‰‘็š„ๆทฑๅบฆๆŽจๆผ”ใ€‚\",\"description\":\"ๆœฌๆ–‡ๆŽข่ฎจๅœจ AI ๅขžๅผบๅผ€ๅ‘่ƒŒๆ™ฏไธ‹๏ผŒๅฆ‚ไฝ•้‡ๅก‘ React ็ป„ไปถ่ฎพ่ฎกๅŽŸๅˆ™ใ€‚ๆถต็›– SRP ่Œ่ดฃๅˆ’ๅˆ†ใ€้™ๆ€็‰ˆๆœฌๅŸบ็บฟใ€ๆœ€ๅฐ็Šถๆ€๏ผˆDerived Data๏ผ‰ๆŽจๅฏผไปฅๅŠ SDD ไบบๆœบๅไฝœๆจกๅผ็š„ๅทฅ็จ‹่ฝๅœฐใ€‚\",\"tags\":[\"tutorial\",\"react\",\"component-design\",\"state-management\",\"ai-augmented\",\"specification-driven\"],\"permalink\":\"/fullstack/react-design-philosophy-ai-augmented\",\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-02-10 23:33:19\",\"capture\":\"<script setup\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n 1. ๅผ•่จ€\\nๅœจ่ฝฏไปถๅทฅ็จ‹ไธญ๏ผŒ็บฆ 70% ็š„ๆ—ถ้—ดๅบ”ๆŠ•ๅ…ฅไบŽๆžถๆž„่ฎพ่ฎกใ€้œ€ๆฑ‚ๆ‹†่งฃไธŽๆŽฅๅฃ่ฏญไน‰ๆŽจๆ•ฒ๏ผŒไป… 30% ็”จไบŽๅฎž้™…็ผ–็ ใ€‚่ฟ›ๅ…ฅ AI ๅไฝœๆ—ถไปฃๅŽ๏ผŒ่ฟ™ไธ€ๆฏ”ไพ‹ไพ็„ถๅšๅฆ‚็ฃ็Ÿณโ€”โ€”ๅผ€ๅ‘่€…ๅฟ…้กปๅ…ˆๅฎŒๆˆๆทฑๅบฆๆ€่€ƒ๏ผŒๅฐ†โ€œๆธ…ๆ™ฐ็š„้—ฎ้ข˜่ง„ๆ ผ๏ผˆSpecification๏ผ‰โ€ไบค็ป™ AI๏ผŒAI ๆ‰่ƒฝ่พ“ๅ‡บ้ซ˜่ดจ้‡ไปฃ็ ใ€‚<HighLightText type=\\\"note\\\" bold>AI ๆๅ‡็š„ๆ˜ฏ 30% ็ผ–็ ้˜ถๆฎต็š„ๆ‰ง่กŒๅŠ›๏ผŒ่€Œ้žๅ–\"},{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2025-11-14 22:33:39\",\"title\":\"JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"aliases\":[\"้™ๆ€็ซ™็‚น็”Ÿๆˆๅ™จ\",\"SSG\"],\"tldr\":\"้ข„ๆธฒๆŸ“้™ๆ€้กต้ข + ๅŠจๆ€ API๏ผŒCDN ๅˆ†ๅ‘ๅ…จ็ƒ๏ผŒๆ›ฟไปฃไผ ็ปŸๅŠจๆ€็ฝ‘็ซ™็š„ๅผ€ๅ‘้ƒจ็ฝฒ่Œƒๅผ\",\"description\":\"ไปŽๆ ธๅฟƒๆฆ‚ๅฟตใ€ๅทฅๅ…ท้“พ้€‰ๅž‹๏ผˆNext.js/Vercel/Supabase/Contentful๏ผ‰ๅˆฐไปŽ 0 ๆญๅปบๅšๅฎข็š„ๅฎŒๆ•ดๅฎž่ทต๏ผŒ่ฆ†็›– JAMStack ้€‚็”จไธŽไธ้€‚็”จๅœบๆ™ฏ๏ผŒๅธฎๅŠฉๅˆคๆ–ญไฝ•ๆ—ถ้€‰็”จ่ฏฅๆžถๆž„ใ€‚\",\"permalink\":\"/fullstack/jamstack\",\"tags\":[\"tutorial\",\"jamstack\",\"frontend-architecture\",\"next.js\",\"static-site-generator\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2025-11-14 22:33:39\",\"capture\":\"> \\n> ๅ…ถๆ ธๅฟƒๆœบๅˆถๆ˜ฏๅœจๆž„ๅปบๆ—ถๅฐ†้กต้ข้ข„ๆธฒๆŸ“ไธบ้™ๆ€ HTML/CSS/JS๏ผŒ้ƒจ็ฝฒ่‡ณ CDN ไพ›็”จๆˆทๅฐฑ่ฟ‘ๅŠ ่ฝฝ๏ผŒไป…ๅœจ้œ€่ฆๅŠจๆ€ๆ•ฐๆฎๆ—ถ้€š่ฟ‡ JavaScript ่ฐƒ็”จ API ่Žทๅ–ใ€‚็›ธ่พƒไบŽไผ ็ปŸๅŠจๆ€็ฝ‘็ซ™๏ผŒJAMStack ๅœจๆ€ง่ƒฝใ€ๅฏ้ ๆ€งใ€ๆ‰ฉๅฑ•ๆ€งใ€ๅฎ‰ๅ…จๆ€งๅŠ่ฟ็ปดๆˆๆœฌไธŠๅ…ทๆœ‰ๆ˜พ่‘—ไผ˜ๅŠฟใ€‚\\n> \\n> ๆœฌๆ–‡ๆขณ็†ไบ†ไธปๆตๆž„ๅปบๅทฅๅ…ท๏ผˆGatsbyใ€Next.jsใ€Nuxt.jsใ€11ty๏ผ‰ใ€้™ๆ€ๆ‰˜็ฎกๅนณๅฐ๏ผˆVercelใ€Netlifyใ€Cloudflare Pages๏ผ‰ใ€API/BaaS ๆœๅŠก๏ผˆSupabaseใ€Firebaseใ€Auth0๏ผ‰ๅŠๆ— ๅคด CMS๏ผˆContentfulใ€Sanityใ€Strapi\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹\",\"frontmatter\":{\"date\":\"2025-08-20 22:51:27\",\"title\":\"่Šไธ€่Š TypeScript ไธญ็š„ๆณ›ๅž‹\",\"tldr\":\"ๆณ›ๅž‹ๅฐ†็ฑปๅž‹ไฝœไธบๅ‚ๆ•ฐ๏ผŒไฝฟไปฃ็ ๅœจๅคš็ง็ฑปๅž‹ไธŠๅฎ‰ๅ…จ่ฟ่กŒ๏ผŒๆ˜ฏ TypeScript ็ฑปๅž‹ๆŠฝ่ฑก็š„ๆ ธๅฟƒ็‰นๆ€งใ€‚\",\"description\":\"ๆœฌๆ–‡็ณป็ปŸ่งฃๆž TypeScript ๆณ›ๅž‹็š„ๆ ธๅฟƒๆฆ‚ๅฟตไธŽๅทฅไฝœๆœบๅˆถ๏ผŒๅฏนๆฏ”ๆณ›ๅž‹ไธŽ any ็ฑปๅž‹็š„ๅทฎๅผ‚๏ผŒๆถต็›–ๆณ›ๅž‹ๅ‡ฝๆ•ฐใ€ๆŽฅๅฃใ€็ฑปใ€็ฑปๅž‹ๅˆซๅ็š„ๅฎž่ทต็”จๆณ•๏ผŒไปฅๅŠๅŸบๆœฌ็ฑปๅž‹็บฆๆŸใ€ๆŽฅๅฃ็บฆๆŸใ€ๅคš้‡็บฆๆŸใ€keyof ็บฆๆŸ็ญ‰้ซ˜้˜ถๆŠ€ๅทงไธŽๆœ€ไฝณๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/typescript-generic-types\",\"tags\":[\"tutorial\",\"typescript\",\"generics\",\"type-system\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่Šไธ€่Š TypeScript ไธญ็š„ๆณ›ๅž‹\",\"date\":\"2025-08-20 22:51:27\",\"capture\":\"1. ๆณ›ๅž‹็š„ๅŸบๆœฌๆฆ‚ๅฟตๅ’Œไฝœ็”จ\\n 1.1 ๆ ธๅฟƒๅฎšไน‰\\nๆณ›ๅž‹๏ผˆGenerics๏ผ‰ ๆ˜ฏ TypeScript ไธญไธ€็งๅผบๅคง็š„็ฑปๅž‹็ณป็ปŸ็‰นๆ€ง๏ผŒๅ…่ฎธๅฎšไน‰็ฑปๅž‹ๅ‚ๆ•ฐๅŒ–็š„็ป„ไปถ๏ผŒไฝฟไปฃ็ ่ƒฝๅคŸๅœจๅคš็ง็ฑปๅž‹ไธŠๅฎ‰ๅ…จ่ฟ่กŒ๏ผŒๅŒๆ—ถไฟๆŒ็ฑปๅž‹ๆฃ€ๆŸฅใ€‚ๆณ›ๅž‹็š„ๆ ธๅฟƒๆ€ๆƒณๆ˜ฏๅฐ†็ฑปๅž‹ไฝœไธบๅ‚ๆ•ฐไผ ้€’็ป™ๅ‡ฝๆ•ฐใ€ๆŽฅๅฃๆˆ–็ฑป๏ผŒๅฎž็Žฐ\\\"็ผ–ๅ†™ไธ€ๆฌก๏ผŒๅค็”จๅคšๆฌก\\\"็š„ๆ•ˆๆžœใ€‚\\n 1.2 ๆณ›ๅž‹ไธŽ any ็ฑปๅž‹็š„ๅฏนๆฏ”\\n| ็‰นๆ€ง | ๆณ›ๅž‹ | any ็ฑปๅž‹ |\\n|------|------|----------|\\n| ็ฑปๅž‹ๅฎ‰ๅ…จ | โœ… ็ผ–่ฏ‘ๆ—ถ่ฟ›่กŒ็ฑปๅž‹ๆฃ€ๆŸฅ | โŒ ๅฎŒๅ…จๅคฑๅŽป็ฑปๅž‹ๆฃ€ๆŸฅ |\\n| ไปฃ็ ๅค็”จ | โœ… ๆ”ฏๆŒๅคš็ง็ฑปๅž‹ๅค็”จ | โœ… ๆ”ฏๆŒๅคš็ง็ฑปๅž‹๏ผŒไฝ†ๅคฑๅŽป็ฑปๅž‹ไฟกๆฏ |\\n| ็ฑปๅž‹ๆŽจๆ–ญ | โœ… \"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2025-08-12 22:47:47\",\"title\":\"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—\",\"tldr\":\"TypeScript ๅฎŒๅ–„็š„็ผ–่ฏ‘ไฝ“็ณปไธŽ่ฐƒ่ฏ•ๅทฅๅ…ท้“พ๏ผŒๆ˜ฏๆž„ๅปบ้ซ˜่ดจ้‡ๅบ”็”จ็š„ๅŸบ็Ÿณใ€‚\",\"description\":\"ๆทฑๅ…ฅ่งฃๆž TypeScript ็ผ–่ฏ‘ๅทฅๅ…ท้“พไธŽ่ฐƒ่ฏ•ไฝ“็ณป๏ผŒๆถต็›– tsconfig.json ๆ ธๅฟƒ้…็ฝฎใ€Monorepo ้กน็›ฎ้…็ฝฎ๏ผˆextends/references๏ผ‰ใ€source map ่ฐƒ่ฏ•ใ€ESLint ไธŽ Jest ๅ•ๅ…ƒๆต‹่ฏ•็ญ‰ๅฎŒๆ•ดๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/typescript-compilation-debugging-guide\",\"tags\":[\"tutorial\",\"typescript\",\"compilation\",\"tooling\",\"eslint\",\"jest\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—\",\"date\":\"2025-08-12 22:47:47\",\"capture\":\"็ผ–ๅ†™ไปฃ็ ๅชๆ˜ฏๅผ€ๅ‘ๅทฅไฝœ็š„่ตท็‚น๏ผŒ็œŸๆญฃๅ†ณๅฎš้กน็›ฎ่ดจ้‡็š„ๆ˜ฏๅŽ็ปญ็š„็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•็Žฏ่Š‚ใ€‚TypeScript ไฝœไธบ JavaScript ็š„้™ๆ€็ฑปๅž‹่ถ…้›†๏ผŒไธไป…ๅธฆๆฅไบ†็ฑปๅž‹ๅฎ‰ๅ…จ๏ผŒๆ›ดๆไพ›ไบ†ๅผบๅคง็š„็ผ–่ฏ‘ๅทฅๅ…ทๅ’Œ่ฐƒ่ฏ•่ƒฝๅŠ›๏ผŒ่ฎฉๆˆ‘ไปฌ่ƒฝๅคŸๆ›ด้ซ˜ๆ•ˆๅœฐๆž„ๅปบๅ’Œ็ปดๆŠคๅฏ้ ็š„ๅบ”็”จ็จ‹ๅบใ€‚\\nๆœฌๆ–‡ๅฐ†ๅฏน TypeScript ้กน็›ฎ็š„็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•่ฟ›่กŒๆขณ็†๏ผŒๅŒ…ๆ‹ฌ็ผ–่ฏ‘ๅทฅๅ…ท TSC ็š„ไฝฟ็”จใ€็ผ–่ฏ‘้€‰้กน็š„้…็ฝฎใ€่ฐƒ่ฏ•ๅทฅๅ…ท็š„ไฝฟ็”จ็ญ‰ใ€‚\\n 1. TypeScript ็ผ–่ฏ‘้…็ฝฎไธŽ tsconfig.json\\nTSC๏ผˆTypeScript Compiler๏ผ‰ๆ˜ฏ TypeScript ๅฎ˜ๆ–นๆไพ›็š„็ผ–่ฏ‘ๅทฅๅ…ท๏ผŒ่ดŸ่ดฃๅฐ† TypeScript ไปฃ็ ๏ผˆ`.ts` ๆˆ– `.tsx`๏ผ‰่ฝฌๆขไธบ J\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview\",\"frontmatter\":{\"date\":\"2024-05-18 22:49:57\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ไปŽ ES Modules ๅˆฐๅคงๅž‹้กน็›ฎๅˆ†ๅฑ‚ๆžถๆž„ไธŽๅทฅ็จ‹ๅŒ–ๅฎž่ทต๏ผŒๆž„ๅปบๅ…จๆ ˆๆจกๅ—ๅŒ–็Ÿฅ่ฏ†ไฝ“็ณปใ€‚\",\"description\":\"็ณป็ปŸๆขณ็† JavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›๏ผˆIIFEโ†’CJSโ†’ESM๏ผ‰ใ€TypeScript ็ฑปๅž‹ๅขžๅผบใ€ๅˆ†ๅฑ‚ๆžถๆž„ไธŽ DDD ๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/module-programming-practice-guide\",\"tags\":[\"tutorial\",\"ESM\",\"DDD\",\"ๅพฎๅ‰็ซฏ\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2024-05-18 22:49:57\",\"capture\":\"1. ๅผ•่จ€\\nๆจกๅ—ๅŒ–็ผ–็จ‹ๆ˜ฏ็Žฐไปฃ JavaScript/TypeScript ๅผ€ๅ‘็š„ๆ ธๅฟƒๅŽŸๅˆ™๏ผŒๅฎƒ้€š่ฟ‡ๅฐ†ๅคๆ‚็ณป็ปŸๆ‹†ๅˆ†ไธบ็‹ฌ็ซ‹ๅฏๅค็”จ็š„ๆจกๅ—๏ผŒ้™ไฝŽ็ณป็ปŸๅคๆ‚ๆ€งๅนถๆ้ซ˜ๅฏ็ปดๆŠคๆ€งไธŽๅฏๅค็”จๆ€งใ€‚ๅ› ๆญค๏ผŒๆˆ‘ไปฌ้€š่ฟ‡็ณปๅˆ—ๆ–‡็ซ ่ฏฆ็ป†ไป‹็ปไบ†ๆจกๅ—ๅŒ–็š„ๅŸบ็ก€ๆฆ‚ๅฟตใ€ๆผ”่ฟ›ๅކ็จ‹ใ€ไธๅŒ่ง„่Œƒ็š„ๆทฑๅบฆ่งฃๆžใ€TypeScriptๆจกๅ—ๅŒ–ๅขžๅผบใ€ES Modules ๆ ธๅฟƒ่ฏญๆณ•ไธŽๅฎž่ทตใ€ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทตใ€ๅ‰็ซฏๅทฅ็จ‹ๅŒ–ไธญ็š„ๆจกๅ—ๅŒ–ใ€Node.jsไธญ็š„ๆจกๅ—ๅŒ–ๅฎž่ทตใ€ๅคงๅž‹้กน็›ฎไธญ็š„ๆจกๅ—ๅŒ–่ฎพ่ฎกใ€ๆจกๅ—ๅŒ–ไธŽไปฃ็ ็ปดๆŠคไปฅๅŠๆœชๆฅๅ‘ๅฑ•่ถ‹ๅŠฟใ€‚\\nๅ‰้ข็š„็ณปๅˆ—ๆ–‡็ซ ไธป่ฆๆœ‰๏ผš\\n- ๆจกๅ—ๅŒ–็ผ–็จ‹็ผ–็จ‹ๅˆไฝ“้ชŒไธŽๅŸบ็ก€ไป‹็ป\\n- JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\\n- ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒ\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†\",\"frontmatter\":{\"date\":\"2024-05-14 22:26:06\",\"title\":\"JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\",\"tldr\":\"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ็ญ‰ๆ ธๅฟƒ่ง„่Œƒ๏ผŒ้™„็Žฐไปฃ่ฟ็งป็ญ–็•ฅใ€‚\",\"description\":\"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ๅ››ๅคงๆจกๅ—ๅŒ–่ง„่Œƒ็š„ๆ ธๅฟƒ่ฏญๆณ•ไธŽ้€‚็”จๅœบๆ™ฏ๏ผŒ่งฃๆžๅ„่ง„่Œƒ็š„ๅ…ณ้”ฎๅทฎๅผ‚๏ผŒๅนถๆไพ›ไปŽๆ—ง่ง„่Œƒๅ‘ ESM ่ฟ็งป็š„ๅฎžๆ“็ญ–็•ฅใ€‚\",\"permalink\":\"/fullstack/different-module-programming-specifications\",\"tags\":[\"tutorial\",\"CommonJS\",\"AMD\",\"UMD\",\"ESM\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\",\"date\":\"2024-05-14 22:26:06\",\"capture\":\"ๅœจ JavaScript ่ฟ›ๅŒ–ๅฒไธŠ๏ผŒโ€œๆจกๅ—ๅŒ–โ€ๅง‹็ปˆๆ˜ฏไธ€ไธชๆ ธๅฟƒๅ‘ฝ้ข˜ใ€‚ไปŽๆ—ฉๆœŸ script ๆ ‡็ญพๆปกๅคฉ้ฃž็š„โ€œๆททๆฒŒๆ—ถไปฃโ€๏ผŒๅˆฐๅ„่ทฏ่ง„่Œƒ็พค้›„้€้นฟ็š„โ€œๆˆ˜ๅ›ฝๆ—ถไปฃโ€๏ผŒๅ†ๅˆฐๅฆ‚ไปŠ ES Modules ๅฎšไบŽไธ€ๅฐŠ๏ผŒๅผ€ๅ‘่€…ไปฌๅœจ่งฃๅ†ณไพ่ต–็ฎก็†ใ€ไฝœ็”จๅŸŸๆฑกๆŸ“ๅ’Œๅผ‚ๆญฅๅŠ ่ฝฝ็ญ‰้—ฎ้ข˜ไธŠไป˜ๅ‡บไบ†ๅทจๅคง็š„ๅŠชๅŠ›ใ€‚\\nๆœฌๆ–‡ๅฐ†ๅธฆไฝ ๆขณ็† JavaScript ๅކๅฒไธŠๆœ€้‡่ฆ็š„ๅ‡ ็งๆจกๅ—ๅŒ–่ง„่Œƒ๏ผŒไพฟไบŽๆž„ๅปบ่ตทๅ…จๆ ˆๅผ€ๅ‘็š„ๅบ•ๅฑ‚็Ÿฅ่ฏ†ๅ›พ่ฐฑใ€‚\\n 1. CommonJS ่ง„่Œƒ๏ผšNode.js ็”Ÿๆ€็š„ๅŸบ็Ÿณ\\nCommonJS ๆ˜ฏไผด้š Node.js ่ฏž็”Ÿ็š„่ง„่Œƒ,็”ฑ Kevin Dangoor ๆๅ‡บ๏ผŒๅˆ่กทๆ˜ฏ่ฎฉ JavaScript ่„ฑ็ฆปๆต่งˆๅ™จไนŸ่ƒฝๆž„ๅปบๅคๆ‚็š„็ณป็ปŸๅบ”็”จใ€‚ๅฎƒๆ˜ฏ Node.\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€\",\"frontmatter\":{\"date\":\"2024-05-12 22:43:28\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ๏ผšๆฆ‚ๅฟตใ€ๆผ”่ฟ›ไธŽ่ฎพ่ฎกๆจกๅผ\",\"tldr\":\"ไปŽๅ…จๅฑ€ๅ˜้‡ๅˆฐ ES Modules๏ผšJavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›ไธŽๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผๅฎž่ทตใ€‚\",\"description\":\"็ณป็ปŸ่ฎฒ่งฃ JavaScript ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€๏ผŒๆถต็›– IIFEใ€CommonJSใ€ES Modules ่ง„่Œƒๆผ”่ฟ›๏ผŒไปฅๅŠๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผไธŽๆจกๅ—ๅŒ–็š„็ป“ๅˆใ€‚\",\"permalink\":\"/fullstack/frontend-module-programming-basic\",\"tags\":[\"tutorial\",\"javascript\",\"modularization\",\"esm\",\"design-patterns\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ๏ผšๆฆ‚ๅฟตใ€ๆผ”่ฟ›ไธŽ่ฎพ่ฎกๆจกๅผ\",\"date\":\"2024-05-12 22:43:28\",\"capture\":\"1. ๅผ•่จ€\\n้š็€้กน็›ฎ่ง„ๆจกๆ—ฅ็›Š่†จ่ƒ€๏ผŒไปฃ็ ้‡ไปŽๅ‡ ๅƒ่กŒ่ฟ…้€Ÿๅขž้•ฟๅˆฐๆ•ฐไธ‡็”š่‡ณๆ•ฐๅไธ‡่กŒ๏ผŒๅฐ†ๆ‰€ๆœ‰้€ป่พ‘ๅกž่ฟ›ๅฐ‘ๆ•ฐๅ‡ ไธชๆ–‡ไปถ็š„ๅšๆณ•ๆ—ฉๅทฒ้šพไปฅไธบ็ปงใ€‚ๅœจ่ฟ™ๆ ท็š„่ƒŒๆ™ฏไธ‹๏ผŒๆจกๅ—ๅŒ–็ผ–็จ‹ๅบ”่ฟ่€Œ็”Ÿ๏ผŒๆˆไธบ็Žฐไปฃๅ‰็ซฏๅผ€ๅ‘็š„ๆ ‡้…ใ€‚\\nๅฎƒ็š„ๆ ธๅฟƒ็†ๅฟต็ฎ€ๆด่€Œไผ˜้›…๏ผšๅƒๆญ็งฏๆœจไธ€ๆ ท๏ผŒๅฐ†ๅบžๅคงๅคๆ‚็š„็ณป็ปŸๆ‹†่งฃไธบไธ€ไธชไธช็‹ฌ็ซ‹ใ€ๅŠŸ่ƒฝๅ•ไธ€ไธ”ๅฏๅค็”จ็š„ๆจกๅ—๏ผŒ่ฎฉๆฏไธชๆจกๅ—ๅ„ๅธๅ…ถ่Œ๏ผŒๅ†้€š่ฟ‡ๆ ‡ๅ‡†ๆŽฅๅฃ็ตๆดป็ป„ๅˆใ€‚\\n 2. ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ\\nๅœจๆทฑๅ…ฅ็†่ฎบไน‹ๅ‰๏ผŒ่ฎฉๆˆ‘ไปฌๅ…ˆ้€š่ฟ‡ไธ€ไธช็ฎ€ๅ•็š„ JavaScript ็คบไพ‹๏ผŒ็›ด่ง‚ๅœฐๆ„Ÿๅ—ไธ€ไธ‹ไป€ไนˆๆ˜ฏๆจกๅ—ๅŒ–ใ€‚ๅ‡่ฎพๆˆ‘ไปฌ้œ€่ฆๅค„็†ไธ€ไบ›ๆ•ฐๅญฆ่ฟ็ฎ—๏ผŒๆˆ‘ไปฌๅฏไปฅๅฐ†ๅ…ถๅฐ่ฃ…ๆˆไธ€ไธช็‹ฌ็ซ‹็š„ๅทฅๅ…ทๆจกๅ—๏ผš\\n```javascript\\n// math.js - ๅฎšไน‰ไธ€ไธชๆ•ฐๅญฆๅทฅๅ…ทๆจกๅ—\\nexp\"}],\"SSE\":[{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"frontmatter\":{\"date\":\"2026-03-05 16:54:35\",\"title\":\"ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"aliases\":[\"Server-Sent Events\",\"HTTP Streaming\"],\"tldr\":\"ๆทฑๅ…ฅ่งฃๆžๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผŒๆไพ›ไปŽๆฆ‚ๅฟตๅˆฐ็”Ÿไบงๅฎž่ทต็š„ๅฎŒๆ•ด่งฃๅ†ณๆ–นๆกˆใ€‚\",\"description\":\"่พจๆžๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ็š„ๆฆ‚ๅฟตไธŽๅฑ‚ๆฌกๅ…ณ็ณป๏ผŒ่ฏฆ่งฃๅฎขๆˆท็ซฏไธŽๆœๅŠก็ซฏๅฎž็Žฐๆ–นๆกˆ๏ผŒๆไพ›็”Ÿไบงๅฎž่ทตๅฎŒๆ•ดๆŒ‡ๅ—ใ€‚\",\"tags\":[\"tutorial\",\"SSE\",\"HTTP Streaming\",\"ๅ…จๆ ˆ\"],\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"permalink\":\"/fullstack/networking/sse-practice\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"date\":\"2026-03-05 16:54:35\",\"capture\":\"<script setup\\n import HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n> ๆ‘˜่ฆๆ€ป็ป“: ้’ˆๅฏนๅผ€ๅ‘่€…ๅฎนๆ˜“ๆททๆท†ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ็š„้—ฎ้ข˜๏ผŒไปŽๆฆ‚ๅฟตๅฑ‚ๆฌกๅ‡บๅ‘ๅŽ˜ๆธ…ไบŒ่€…ๆœฌ่ดจๅŒบๅˆซไธŽๅไฝœๅ…ณ็ณป๏ผŒๆŒ‡ๅ‡บๆตๅผ HTTP ๆ˜ฏๅบ•ๅฑ‚ไผ ่พ“ๆœบๅˆถ่€Œ SSE ๆ˜ฏๅบ”็”จๅฑ‚ๆ•ฐๆฎๆ ผๅผ็บฆๅฎšใ€‚ๆ–‡็ซ ไพๆฌกไป‹็ปๅŽŸ็”Ÿ EventSource APIใ€fetch + ReadableStream ่ฟ›้˜ถๆ–นๆกˆใ€@microsoft/fetch-event-source ๅทฅไธš็บงๅฎž็Žฐ็ญ‰ไธ‰็งๅฎขๆˆท็ซฏๆ–นๆกˆ๏ผŒๅนถไปฅ Nes\"},{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-02-24 08:40:31\",\"title\":\"Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"tldr\":\"ๆทฑๅ…ฅๅˆ†ๆžไบ”็ง Web ้€šไฟกๅ่ฎฎ๏ผŒๆไพ› AI ๆ—ถไปฃ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—ไธŽๆœ€ไฝณๅฎž่ทตใ€‚\",\"description\":\"ๆทฑๅ…ฅๅ‰–ๆžไผ ็ปŸ HTTPใ€ๆตๅผ HTTPใ€SSEใ€WebSocketใ€Webhooksใ€HTTP ่ฝฎ่ฏข็š„ๅŽŸ็†ไธŽ็‰นๆ€ง๏ผŒ็ป“ๅˆ AI ๅœบๆ™ฏๆไพ›ๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–็Ÿฉ้˜ตใ€‚\",\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"tags\":[\"HTTP\",\"HTTP ่ฝฎ่ฏข\",\"SSE\",\"WebSocket\",\"Webhooks\"],\"permalink\":\"/fullstack/networking-protocol-selection-guide\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"date\":\"2026-02-24 08:40:31\",\"capture\":\"1. ๅผ•่จ€\\nHTTP ๆ˜ฏไธ€็งๅŸบไบŽๆ–‡ๆœฌ็š„้€šไฟกๅ่ฎฎ๏ผŒไธป่ฆ็”จไบŽ Web ๆต่งˆๅ™จใ€็งปๅŠจๅบ”็”จใ€ๆกŒ้ขๅบ”็”จ็ญ‰ๅฎขๆˆท็ซฏๅ’Œ Web ๆœๅŠกๅ™จไน‹้—ด็š„ๆ•ฐๆฎไผ ่พ“ใ€‚ไผ ็ปŸ HTTP ้‡‡็”จๅŒๆญฅ็š„่ฏทๆฑ‚-ๅ“ๅบ”ๆจกๅผ๏ผš`่ฏทๆฑ‚ -> ็ญ‰ๅพ… -> ๅฎŒๆ•ดๅ“ๅบ”`ใ€‚่ฟ™็งๆ–นๅผ่™ฝ่ƒฝๆปก่ถณๅคงๅคšๆ•ฐๅœบๆ™ฏ๏ผŒไฝ†ๅœจๅฎžๆ—ถๆ€ง่ฆๆฑ‚่พƒ้ซ˜็š„้ข†ๅŸŸโ€”โ€”ๅฆ‚ๆธธๆˆใ€่Šๅคฉใ€่ง†้ข‘ไผš่ฎฎ๏ผŒไปฅๅŠ AI ๆ—ถไปฃ็š„ๅฏน่ฏๅผๅบ”็”จโ€”โ€”ๅดๆ˜พๅพ—ๅŠ›ไธไปŽๅฟƒใ€‚\\nไธบ่งฃๅ†ณ่ฟ™ไธ€้—ฎ้ข˜๏ผŒไธš็•Œๅ‘ๅฑ•ๅ‡บไบ†ๅคš็งๅฎžๆ—ถ Web ้€šไฟกๆ–นๆกˆใ€‚ๆœฌๆ–‡ๅฐ†ๅ›ด็ป• ๆตๅผ HTTPใ€SSEใ€WebSocketใ€Webhooksใ€HTTP ่ฝฎ่ฏข ่ฟ™ไบ”็งไธปๆตๆŠ€ๆœฏ๏ผŒไปŽๅŽŸ็†ใ€็‰นๆ€งใ€้€‚็”จๅœบๆ™ฏๅ‡บๅ‘๏ผŒๆŽข่ฎจๅฎƒไปฌๅœจ็Žฐไปฃๅˆ†ๅธƒๅผๆžถๆž„ไธญ็š„้€‰ๅž‹็ญ–็•ฅไธŽๅทฅ็จ‹ๅฎž่ทตใ€‚\\n 2\"}],\"HTTP Streaming\":[{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/02.ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"frontmatter\":{\"date\":\"2026-03-05 16:54:35\",\"title\":\"ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"aliases\":[\"Server-Sent Events\",\"HTTP Streaming\"],\"tldr\":\"ๆทฑๅ…ฅ่งฃๆžๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผŒๆไพ›ไปŽๆฆ‚ๅฟตๅˆฐ็”Ÿไบงๅฎž่ทต็š„ๅฎŒๆ•ด่งฃๅ†ณๆ–นๆกˆใ€‚\",\"description\":\"่พจๆžๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ็š„ๆฆ‚ๅฟตไธŽๅฑ‚ๆฌกๅ…ณ็ณป๏ผŒ่ฏฆ่งฃๅฎขๆˆท็ซฏไธŽๆœๅŠก็ซฏๅฎž็Žฐๆ–นๆกˆ๏ผŒๆไพ›็”Ÿไบงๅฎž่ทตๅฎŒๆ•ดๆŒ‡ๅ—ใ€‚\",\"tags\":[\"tutorial\",\"SSE\",\"HTTP Streaming\",\"ๅ…จๆ ˆ\"],\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"permalink\":\"/fullstack/networking/sse-practice\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต\",\"date\":\"2026-03-05 16:54:35\",\"capture\":\"<script setup\\n import HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n> ๆ‘˜่ฆๆ€ป็ป“: ้’ˆๅฏนๅผ€ๅ‘่€…ๅฎนๆ˜“ๆททๆท†ๆตๅผ HTTP ไธŽ SSE ๅ่ฎฎ็š„้—ฎ้ข˜๏ผŒไปŽๆฆ‚ๅฟตๅฑ‚ๆฌกๅ‡บๅ‘ๅŽ˜ๆธ…ไบŒ่€…ๆœฌ่ดจๅŒบๅˆซไธŽๅไฝœๅ…ณ็ณป๏ผŒๆŒ‡ๅ‡บๆตๅผ HTTP ๆ˜ฏๅบ•ๅฑ‚ไผ ่พ“ๆœบๅˆถ่€Œ SSE ๆ˜ฏๅบ”็”จๅฑ‚ๆ•ฐๆฎๆ ผๅผ็บฆๅฎšใ€‚ๆ–‡็ซ ไพๆฌกไป‹็ปๅŽŸ็”Ÿ EventSource APIใ€fetch + ReadableStream ่ฟ›้˜ถๆ–นๆกˆใ€@microsoft/fetch-event-source ๅทฅไธš็บงๅฎž็Žฐ็ญ‰ไธ‰็งๅฎขๆˆท็ซฏๆ–นๆกˆ๏ผŒๅนถไปฅ Nes\"}],\"HTTP ่ฝฎ่ฏข\":[{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"frontmatter\":{\"date\":\"2026-02-25 22:10:48\",\"title\":\"HTTP ่ฝฎ่ฏขไผ˜ๅŒ–ๆŒ‡ๅ—๏ผš้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"tldr\":\"่ฏฆ่งฃ้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅฎž็ŽฐๅŽŸ็†๏ผŒๆไพ› HTTP ่ฝฎ่ฏขไผ˜ๅŒ–็ญ–็•ฅไธŽ้€‰ๅž‹ๅ†ณ็ญ–ๆ ‘ใ€‚\",\"description\":\"ๆทฑๅ…ฅๅ‰–ๆž้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๆ ธๅฟƒๆœบๅˆถ๏ผŒๆไพ› TypeScript/NestJS ๅฎžๆˆ˜ไปฃ็ ๏ผŒๅนถๆž„ๅปบๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–ๆ ‘ไธŽ้€‚็”จๅœบๆ™ฏ้€ŸๆŸฅใ€‚\",\"tags\":[\"HTTP ่ฝฎ่ฏข\",\"้€€้ฟ่ฝฎ่ฏข\",\"้•ฟ่ฝฎ่ฏข\"],\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"permalink\":\"/fullstack/networking-polling-optimization\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"HTTP ่ฝฎ่ฏขไผ˜ๅŒ–ๆŒ‡ๅ—๏ผš้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"date\":\"2026-02-25 22:10:48\",\"capture\":\"1. ๅผ•่จ€\\nๅœจ็Žฐไปฃ Web ๅผ€ๅ‘ไธญ๏ผŒWebSocket ๅ’Œ Server-Sent Events (SSE) ๅธธๅธธ่ขซ่ง†ไธบๅฎžๆ—ถ้€šไฟก็š„้“ถๅผนใ€‚็„ถ่€Œ๏ผŒHTTP ่ฝฎ่ฏข๏ผˆPolling๏ผ‰ไฝœไธบๆœ€ๆœด็ด ็š„ๅฎžๆ—ถ้€šไฟกๆ–นๆกˆ๏ผŒ้žไฝ†ๆฒกๆœ‰้€€ๅ‡บๅކๅฒ่ˆžๅฐ๏ผŒๅ่€Œๅœจ็‰นๅฎš็š„ๅคๆ‚ไธšๅŠกๅœบๆ™ฏไธญๅคงๆ”พๅผ‚ๅฝฉใ€‚\\n> ๐Ÿ“– ๅฆ‚ๆžœไฝ ๅฏน HTTP ่ฝฎ่ฏขๅœจๆ•ดไธช Web ้€šไฟกๅ่ฎฎไฝ“็ณปไธญ็š„ๅฎšไฝๅฐšไธๆธ…ๆ™ฐ๏ผŒๆŽจ่ๅ…ˆ้˜…่ฏป Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—๏ผŒไบ†่งฃ่ฝฎ่ฏขไธŽ็Ÿญ่ฟžๆŽฅใ€้•ฟ่ฟžๆŽฅใ€WebSocketใ€SSE ็ญ‰ๆ–นๆกˆ็š„ๆผ”่ฟ›ๅ…ณ็ณปไธŽ้€‚็”จ่พน็•Œ๏ผŒๅ†็ป“ๅˆๆœฌๆ–‡ๆทฑๅ…ฅๅฎž่ทตใ€‚\\nๅœจๅฝ“ๅ‰ไผ—ๅคš้กถ็บง็š„ AI AIGC ๅบ”็”จ๏ผˆๅฆ‚ Midjourne\"},{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-02-24 08:40:31\",\"title\":\"Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"tldr\":\"ๆทฑๅ…ฅๅˆ†ๆžไบ”็ง Web ้€šไฟกๅ่ฎฎ๏ผŒๆไพ› AI ๆ—ถไปฃ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—ไธŽๆœ€ไฝณๅฎž่ทตใ€‚\",\"description\":\"ๆทฑๅ…ฅๅ‰–ๆžไผ ็ปŸ HTTPใ€ๆตๅผ HTTPใ€SSEใ€WebSocketใ€Webhooksใ€HTTP ่ฝฎ่ฏข็š„ๅŽŸ็†ไธŽ็‰นๆ€ง๏ผŒ็ป“ๅˆ AI ๅœบๆ™ฏๆไพ›ๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–็Ÿฉ้˜ตใ€‚\",\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"tags\":[\"HTTP\",\"HTTP ่ฝฎ่ฏข\",\"SSE\",\"WebSocket\",\"Webhooks\"],\"permalink\":\"/fullstack/networking-protocol-selection-guide\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"date\":\"2026-02-24 08:40:31\",\"capture\":\"1. ๅผ•่จ€\\nHTTP ๆ˜ฏไธ€็งๅŸบไบŽๆ–‡ๆœฌ็š„้€šไฟกๅ่ฎฎ๏ผŒไธป่ฆ็”จไบŽ Web ๆต่งˆๅ™จใ€็งปๅŠจๅบ”็”จใ€ๆกŒ้ขๅบ”็”จ็ญ‰ๅฎขๆˆท็ซฏๅ’Œ Web ๆœๅŠกๅ™จไน‹้—ด็š„ๆ•ฐๆฎไผ ่พ“ใ€‚ไผ ็ปŸ HTTP ้‡‡็”จๅŒๆญฅ็š„่ฏทๆฑ‚-ๅ“ๅบ”ๆจกๅผ๏ผš`่ฏทๆฑ‚ -> ็ญ‰ๅพ… -> ๅฎŒๆ•ดๅ“ๅบ”`ใ€‚่ฟ™็งๆ–นๅผ่™ฝ่ƒฝๆปก่ถณๅคงๅคšๆ•ฐๅœบๆ™ฏ๏ผŒไฝ†ๅœจๅฎžๆ—ถๆ€ง่ฆๆฑ‚่พƒ้ซ˜็š„้ข†ๅŸŸโ€”โ€”ๅฆ‚ๆธธๆˆใ€่Šๅคฉใ€่ง†้ข‘ไผš่ฎฎ๏ผŒไปฅๅŠ AI ๆ—ถไปฃ็š„ๅฏน่ฏๅผๅบ”็”จโ€”โ€”ๅดๆ˜พๅพ—ๅŠ›ไธไปŽๅฟƒใ€‚\\nไธบ่งฃๅ†ณ่ฟ™ไธ€้—ฎ้ข˜๏ผŒไธš็•Œๅ‘ๅฑ•ๅ‡บไบ†ๅคš็งๅฎžๆ—ถ Web ้€šไฟกๆ–นๆกˆใ€‚ๆœฌๆ–‡ๅฐ†ๅ›ด็ป• ๆตๅผ HTTPใ€SSEใ€WebSocketใ€Webhooksใ€HTTP ่ฝฎ่ฏข ่ฟ™ไบ”็งไธปๆตๆŠ€ๆœฏ๏ผŒไปŽๅŽŸ็†ใ€็‰นๆ€งใ€้€‚็”จๅœบๆ™ฏๅ‡บๅ‘๏ผŒๆŽข่ฎจๅฎƒไปฌๅœจ็Žฐไปฃๅˆ†ๅธƒๅผๆžถๆž„ไธญ็š„้€‰ๅž‹็ญ–็•ฅไธŽๅทฅ็จ‹ๅฎž่ทตใ€‚\\n 2\"}],\"้€€้ฟ่ฝฎ่ฏข\":[{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"frontmatter\":{\"date\":\"2026-02-25 22:10:48\",\"title\":\"HTTP ่ฝฎ่ฏขไผ˜ๅŒ–ๆŒ‡ๅ—๏ผš้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"tldr\":\"่ฏฆ่งฃ้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅฎž็ŽฐๅŽŸ็†๏ผŒๆไพ› HTTP ่ฝฎ่ฏขไผ˜ๅŒ–็ญ–็•ฅไธŽ้€‰ๅž‹ๅ†ณ็ญ–ๆ ‘ใ€‚\",\"description\":\"ๆทฑๅ…ฅๅ‰–ๆž้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๆ ธๅฟƒๆœบๅˆถ๏ผŒๆไพ› TypeScript/NestJS ๅฎžๆˆ˜ไปฃ็ ๏ผŒๅนถๆž„ๅปบๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–ๆ ‘ไธŽ้€‚็”จๅœบๆ™ฏ้€ŸๆŸฅใ€‚\",\"tags\":[\"HTTP ่ฝฎ่ฏข\",\"้€€้ฟ่ฝฎ่ฏข\",\"้•ฟ่ฝฎ่ฏข\"],\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"permalink\":\"/fullstack/networking-polling-optimization\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"HTTP ่ฝฎ่ฏขไผ˜ๅŒ–ๆŒ‡ๅ—๏ผš้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"date\":\"2026-02-25 22:10:48\",\"capture\":\"1. ๅผ•่จ€\\nๅœจ็Žฐไปฃ Web ๅผ€ๅ‘ไธญ๏ผŒWebSocket ๅ’Œ Server-Sent Events (SSE) ๅธธๅธธ่ขซ่ง†ไธบๅฎžๆ—ถ้€šไฟก็š„้“ถๅผนใ€‚็„ถ่€Œ๏ผŒHTTP ่ฝฎ่ฏข๏ผˆPolling๏ผ‰ไฝœไธบๆœ€ๆœด็ด ็š„ๅฎžๆ—ถ้€šไฟกๆ–นๆกˆ๏ผŒ้žไฝ†ๆฒกๆœ‰้€€ๅ‡บๅކๅฒ่ˆžๅฐ๏ผŒๅ่€Œๅœจ็‰นๅฎš็š„ๅคๆ‚ไธšๅŠกๅœบๆ™ฏไธญๅคงๆ”พๅผ‚ๅฝฉใ€‚\\n> ๐Ÿ“– ๅฆ‚ๆžœไฝ ๅฏน HTTP ่ฝฎ่ฏขๅœจๆ•ดไธช Web ้€šไฟกๅ่ฎฎไฝ“็ณปไธญ็š„ๅฎšไฝๅฐšไธๆธ…ๆ™ฐ๏ผŒๆŽจ่ๅ…ˆ้˜…่ฏป Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—๏ผŒไบ†่งฃ่ฝฎ่ฏขไธŽ็Ÿญ่ฟžๆŽฅใ€้•ฟ่ฟžๆŽฅใ€WebSocketใ€SSE ็ญ‰ๆ–นๆกˆ็š„ๆผ”่ฟ›ๅ…ณ็ณปไธŽ้€‚็”จ่พน็•Œ๏ผŒๅ†็ป“ๅˆๆœฌๆ–‡ๆทฑๅ…ฅๅฎž่ทตใ€‚\\nๅœจๅฝ“ๅ‰ไผ—ๅคš้กถ็บง็š„ AI AIGC ๅบ”็”จ๏ผˆๅฆ‚ Midjourne\"}],\"้•ฟ่ฝฎ่ฏข\":[{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"frontmatter\":{\"date\":\"2026-02-25 22:10:48\",\"title\":\"HTTP ่ฝฎ่ฏขไผ˜ๅŒ–ๆŒ‡ๅ—๏ผš้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"tldr\":\"่ฏฆ่งฃ้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅฎž็ŽฐๅŽŸ็†๏ผŒๆไพ› HTTP ่ฝฎ่ฏขไผ˜ๅŒ–็ญ–็•ฅไธŽ้€‰ๅž‹ๅ†ณ็ญ–ๆ ‘ใ€‚\",\"description\":\"ๆทฑๅ…ฅๅ‰–ๆž้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๆ ธๅฟƒๆœบๅˆถ๏ผŒๆไพ› TypeScript/NestJS ๅฎžๆˆ˜ไปฃ็ ๏ผŒๅนถๆž„ๅปบๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–ๆ ‘ไธŽ้€‚็”จๅœบๆ™ฏ้€ŸๆŸฅใ€‚\",\"tags\":[\"HTTP ่ฝฎ่ฏข\",\"้€€้ฟ่ฝฎ่ฏข\",\"้•ฟ่ฝฎ่ฏข\"],\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"permalink\":\"/fullstack/networking-polling-optimization\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"HTTP ่ฝฎ่ฏขไผ˜ๅŒ–ๆŒ‡ๅ—๏ผš้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–\",\"date\":\"2026-02-25 22:10:48\",\"capture\":\"1. ๅผ•่จ€\\nๅœจ็Žฐไปฃ Web ๅผ€ๅ‘ไธญ๏ผŒWebSocket ๅ’Œ Server-Sent Events (SSE) ๅธธๅธธ่ขซ่ง†ไธบๅฎžๆ—ถ้€šไฟก็š„้“ถๅผนใ€‚็„ถ่€Œ๏ผŒHTTP ่ฝฎ่ฏข๏ผˆPolling๏ผ‰ไฝœไธบๆœ€ๆœด็ด ็š„ๅฎžๆ—ถ้€šไฟกๆ–นๆกˆ๏ผŒ้žไฝ†ๆฒกๆœ‰้€€ๅ‡บๅކๅฒ่ˆžๅฐ๏ผŒๅ่€Œๅœจ็‰นๅฎš็š„ๅคๆ‚ไธšๅŠกๅœบๆ™ฏไธญๅคงๆ”พๅผ‚ๅฝฉใ€‚\\n> ๐Ÿ“– ๅฆ‚ๆžœไฝ ๅฏน HTTP ่ฝฎ่ฏขๅœจๆ•ดไธช Web ้€šไฟกๅ่ฎฎไฝ“็ณปไธญ็š„ๅฎšไฝๅฐšไธๆธ…ๆ™ฐ๏ผŒๆŽจ่ๅ…ˆ้˜…่ฏป Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—๏ผŒไบ†่งฃ่ฝฎ่ฏขไธŽ็Ÿญ่ฟžๆŽฅใ€้•ฟ่ฟžๆŽฅใ€WebSocketใ€SSE ็ญ‰ๆ–นๆกˆ็š„ๆผ”่ฟ›ๅ…ณ็ณปไธŽ้€‚็”จ่พน็•Œ๏ผŒๅ†็ป“ๅˆๆœฌๆ–‡ๆทฑๅ…ฅๅฎž่ทตใ€‚\\nๅœจๅฝ“ๅ‰ไผ—ๅคš้กถ็บง็š„ AI AIGC ๅบ”็”จ๏ผˆๅฆ‚ Midjourne\"}],\"HTTP\":[{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-02-24 08:40:31\",\"title\":\"Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"tldr\":\"ๆทฑๅ…ฅๅˆ†ๆžไบ”็ง Web ้€šไฟกๅ่ฎฎ๏ผŒๆไพ› AI ๆ—ถไปฃ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—ไธŽๆœ€ไฝณๅฎž่ทตใ€‚\",\"description\":\"ๆทฑๅ…ฅๅ‰–ๆžไผ ็ปŸ HTTPใ€ๆตๅผ HTTPใ€SSEใ€WebSocketใ€Webhooksใ€HTTP ่ฝฎ่ฏข็š„ๅŽŸ็†ไธŽ็‰นๆ€ง๏ผŒ็ป“ๅˆ AI ๅœบๆ™ฏๆไพ›ๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–็Ÿฉ้˜ตใ€‚\",\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"tags\":[\"HTTP\",\"HTTP ่ฝฎ่ฏข\",\"SSE\",\"WebSocket\",\"Webhooks\"],\"permalink\":\"/fullstack/networking-protocol-selection-guide\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"date\":\"2026-02-24 08:40:31\",\"capture\":\"1. ๅผ•่จ€\\nHTTP ๆ˜ฏไธ€็งๅŸบไบŽๆ–‡ๆœฌ็š„้€šไฟกๅ่ฎฎ๏ผŒไธป่ฆ็”จไบŽ Web ๆต่งˆๅ™จใ€็งปๅŠจๅบ”็”จใ€ๆกŒ้ขๅบ”็”จ็ญ‰ๅฎขๆˆท็ซฏๅ’Œ Web ๆœๅŠกๅ™จไน‹้—ด็š„ๆ•ฐๆฎไผ ่พ“ใ€‚ไผ ็ปŸ HTTP ้‡‡็”จๅŒๆญฅ็š„่ฏทๆฑ‚-ๅ“ๅบ”ๆจกๅผ๏ผš`่ฏทๆฑ‚ -> ็ญ‰ๅพ… -> ๅฎŒๆ•ดๅ“ๅบ”`ใ€‚่ฟ™็งๆ–นๅผ่™ฝ่ƒฝๆปก่ถณๅคงๅคšๆ•ฐๅœบๆ™ฏ๏ผŒไฝ†ๅœจๅฎžๆ—ถๆ€ง่ฆๆฑ‚่พƒ้ซ˜็š„้ข†ๅŸŸโ€”โ€”ๅฆ‚ๆธธๆˆใ€่Šๅคฉใ€่ง†้ข‘ไผš่ฎฎ๏ผŒไปฅๅŠ AI ๆ—ถไปฃ็š„ๅฏน่ฏๅผๅบ”็”จโ€”โ€”ๅดๆ˜พๅพ—ๅŠ›ไธไปŽๅฟƒใ€‚\\nไธบ่งฃๅ†ณ่ฟ™ไธ€้—ฎ้ข˜๏ผŒไธš็•Œๅ‘ๅฑ•ๅ‡บไบ†ๅคš็งๅฎžๆ—ถ Web ้€šไฟกๆ–นๆกˆใ€‚ๆœฌๆ–‡ๅฐ†ๅ›ด็ป• ๆตๅผ HTTPใ€SSEใ€WebSocketใ€Webhooksใ€HTTP ่ฝฎ่ฏข ่ฟ™ไบ”็งไธปๆตๆŠ€ๆœฏ๏ผŒไปŽๅŽŸ็†ใ€็‰นๆ€งใ€้€‚็”จๅœบๆ™ฏๅ‡บๅ‘๏ผŒๆŽข่ฎจๅฎƒไปฌๅœจ็Žฐไปฃๅˆ†ๅธƒๅผๆžถๆž„ไธญ็š„้€‰ๅž‹็ญ–็•ฅไธŽๅทฅ็จ‹ๅฎž่ทตใ€‚\\n 2\"}],\"WebSocket\":[{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-02-24 08:40:31\",\"title\":\"Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"tldr\":\"ๆทฑๅ…ฅๅˆ†ๆžไบ”็ง Web ้€šไฟกๅ่ฎฎ๏ผŒๆไพ› AI ๆ—ถไปฃ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—ไธŽๆœ€ไฝณๅฎž่ทตใ€‚\",\"description\":\"ๆทฑๅ…ฅๅ‰–ๆžไผ ็ปŸ HTTPใ€ๆตๅผ HTTPใ€SSEใ€WebSocketใ€Webhooksใ€HTTP ่ฝฎ่ฏข็š„ๅŽŸ็†ไธŽ็‰นๆ€ง๏ผŒ็ป“ๅˆ AI ๅœบๆ™ฏๆไพ›ๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–็Ÿฉ้˜ตใ€‚\",\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"tags\":[\"HTTP\",\"HTTP ่ฝฎ่ฏข\",\"SSE\",\"WebSocket\",\"Webhooks\"],\"permalink\":\"/fullstack/networking-protocol-selection-guide\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"date\":\"2026-02-24 08:40:31\",\"capture\":\"1. ๅผ•่จ€\\nHTTP ๆ˜ฏไธ€็งๅŸบไบŽๆ–‡ๆœฌ็š„้€šไฟกๅ่ฎฎ๏ผŒไธป่ฆ็”จไบŽ Web ๆต่งˆๅ™จใ€็งปๅŠจๅบ”็”จใ€ๆกŒ้ขๅบ”็”จ็ญ‰ๅฎขๆˆท็ซฏๅ’Œ Web ๆœๅŠกๅ™จไน‹้—ด็š„ๆ•ฐๆฎไผ ่พ“ใ€‚ไผ ็ปŸ HTTP ้‡‡็”จๅŒๆญฅ็š„่ฏทๆฑ‚-ๅ“ๅบ”ๆจกๅผ๏ผš`่ฏทๆฑ‚ -> ็ญ‰ๅพ… -> ๅฎŒๆ•ดๅ“ๅบ”`ใ€‚่ฟ™็งๆ–นๅผ่™ฝ่ƒฝๆปก่ถณๅคงๅคšๆ•ฐๅœบๆ™ฏ๏ผŒไฝ†ๅœจๅฎžๆ—ถๆ€ง่ฆๆฑ‚่พƒ้ซ˜็š„้ข†ๅŸŸโ€”โ€”ๅฆ‚ๆธธๆˆใ€่Šๅคฉใ€่ง†้ข‘ไผš่ฎฎ๏ผŒไปฅๅŠ AI ๆ—ถไปฃ็š„ๅฏน่ฏๅผๅบ”็”จโ€”โ€”ๅดๆ˜พๅพ—ๅŠ›ไธไปŽๅฟƒใ€‚\\nไธบ่งฃๅ†ณ่ฟ™ไธ€้—ฎ้ข˜๏ผŒไธš็•Œๅ‘ๅฑ•ๅ‡บไบ†ๅคš็งๅฎžๆ—ถ Web ้€šไฟกๆ–นๆกˆใ€‚ๆœฌๆ–‡ๅฐ†ๅ›ด็ป• ๆตๅผ HTTPใ€SSEใ€WebSocketใ€Webhooksใ€HTTP ่ฝฎ่ฏข ่ฟ™ไบ”็งไธปๆตๆŠ€ๆœฏ๏ผŒไปŽๅŽŸ็†ใ€็‰นๆ€งใ€้€‚็”จๅœบๆ™ฏๅ‡บๅ‘๏ผŒๆŽข่ฎจๅฎƒไปฌๅœจ็Žฐไปฃๅˆ†ๅธƒๅผๆžถๆž„ไธญ็š„้€‰ๅž‹็ญ–็•ฅไธŽๅทฅ็จ‹ๅฎž่ทตใ€‚\\n 2\"}],\"Webhooks\":[{\"url\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/01.ไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-02-24 08:40:31\",\"title\":\"Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"tldr\":\"ๆทฑๅ…ฅๅˆ†ๆžไบ”็ง Web ้€šไฟกๅ่ฎฎ๏ผŒๆไพ› AI ๆ—ถไปฃ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—ไธŽๆœ€ไฝณๅฎž่ทตใ€‚\",\"description\":\"ๆทฑๅ…ฅๅ‰–ๆžไผ ็ปŸ HTTPใ€ๆตๅผ HTTPใ€SSEใ€WebSocketใ€Webhooksใ€HTTP ่ฝฎ่ฏข็š„ๅŽŸ็†ไธŽ็‰นๆ€ง๏ผŒ็ป“ๅˆ AI ๅœบๆ™ฏๆไพ›ๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–็Ÿฉ้˜ตใ€‚\",\"categories\":[\"ๅ…จๆ ˆ\",\"็ฝ‘็ปœไธŽ้€šไฟก\"],\"tags\":[\"HTTP\",\"HTTP ่ฝฎ่ฏข\",\"SSE\",\"WebSocket\",\"Webhooks\"],\"permalink\":\"/fullstack/networking-protocol-selection-guide\"},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"Web ้€šไฟกๅ่ฎฎๅ…จๆ™ฏ๏ผšไปŽ HTTP ๅˆฐ WebSocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—\",\"date\":\"2026-02-24 08:40:31\",\"capture\":\"1. ๅผ•่จ€\\nHTTP ๆ˜ฏไธ€็งๅŸบไบŽๆ–‡ๆœฌ็š„้€šไฟกๅ่ฎฎ๏ผŒไธป่ฆ็”จไบŽ Web ๆต่งˆๅ™จใ€็งปๅŠจๅบ”็”จใ€ๆกŒ้ขๅบ”็”จ็ญ‰ๅฎขๆˆท็ซฏๅ’Œ Web ๆœๅŠกๅ™จไน‹้—ด็š„ๆ•ฐๆฎไผ ่พ“ใ€‚ไผ ็ปŸ HTTP ้‡‡็”จๅŒๆญฅ็š„่ฏทๆฑ‚-ๅ“ๅบ”ๆจกๅผ๏ผš`่ฏทๆฑ‚ -> ็ญ‰ๅพ… -> ๅฎŒๆ•ดๅ“ๅบ”`ใ€‚่ฟ™็งๆ–นๅผ่™ฝ่ƒฝๆปก่ถณๅคงๅคšๆ•ฐๅœบๆ™ฏ๏ผŒไฝ†ๅœจๅฎžๆ—ถๆ€ง่ฆๆฑ‚่พƒ้ซ˜็š„้ข†ๅŸŸโ€”โ€”ๅฆ‚ๆธธๆˆใ€่Šๅคฉใ€่ง†้ข‘ไผš่ฎฎ๏ผŒไปฅๅŠ AI ๆ—ถไปฃ็š„ๅฏน่ฏๅผๅบ”็”จโ€”โ€”ๅดๆ˜พๅพ—ๅŠ›ไธไปŽๅฟƒใ€‚\\nไธบ่งฃๅ†ณ่ฟ™ไธ€้—ฎ้ข˜๏ผŒไธš็•Œๅ‘ๅฑ•ๅ‡บไบ†ๅคš็งๅฎžๆ—ถ Web ้€šไฟกๆ–นๆกˆใ€‚ๆœฌๆ–‡ๅฐ†ๅ›ด็ป• ๆตๅผ HTTPใ€SSEใ€WebSocketใ€Webhooksใ€HTTP ่ฝฎ่ฏข ่ฟ™ไบ”็งไธปๆตๆŠ€ๆœฏ๏ผŒไปŽๅŽŸ็†ใ€็‰นๆ€งใ€้€‚็”จๅœบๆ™ฏๅ‡บๅ‘๏ผŒๆŽข่ฎจๅฎƒไปฌๅœจ็Žฐไปฃๅˆ†ๅธƒๅผๆžถๆž„ไธญ็š„้€‰ๅž‹็ญ–็•ฅไธŽๅทฅ็จ‹ๅฎž่ทตใ€‚\\n 2\"}],\"AI Agent\":[{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/01.Agentๆฆ‚่งˆไธŽ็ปผ่ฟฐ\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/02.Agent ็ณปๅˆ—/01.Agentๆฆ‚่งˆไธŽ็ปผ่ฟฐ\",\"frontmatter\":{\"date\":\"2026-02-12 22:31:00\",\"title\":\"ไปŽๆ็คบ่ฏๅˆฐๆ•ฐๅญ—ๅ‘˜ๅทฅ๏ผšAI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšAI ็š„่ฟ›ๅŒ–ๆญฃ็ปๅކไปŽโ€œๅฏน่ฏๆก†โ€ๅ‘โ€œๆ•ฐๅญ—ๅ‘˜ๅทฅโ€็š„ๆ นๆœฌๆ€ง่ทจ่ถŠใ€‚ๆœฌๆ–‡ๆ˜ฏไธ€็ฏ‡ๅ…ณไบŽ AI Agent ็š„ๅ…จๆ™ฏๆทฑๅบฆ็ปผ่ฟฐ๏ผŒๆ—จๅœจ่งฃๆž„ๆ™บ่ƒฝไฝ“ๅฆ‚ไฝ•ไปŽ็ฎ€ๅ•็š„ Prompt ๅ“ๅบ”่€…๏ผŒๆผ”ๅ˜ไธบๅ…ทๅค‡่‡ชไธป็›ฎๆ ‡ๆ‹†่งฃใ€้•ฟ็ŸญๆœŸ่ฎฐๅฟ†ไธŽๅคๆ‚็Žฏๅขƒไบคไบ’่ƒฝๅŠ›็š„โ€œๆ‰ง่กŒ่€…โ€ใ€‚ๆˆ‘ไปฌๅฐ†ๆทฑๅบฆๆ‹†่งฃ Agent ็š„ๅ››ๅคงๆŠ€ๆœฏๅŸบ็Ÿณ๏ผˆ่ง„ๅˆ’ใ€่ฎฐๅฟ†ใ€ๅทฅๅ…ทใ€่กŒๅŠจ๏ผ‰๏ผŒๅนถ่ฏฆ็ป†ๅ‰–ๆžไปŽ้€š็”จๅž‹ Agent ๅˆฐๅคšๆ™บ่ƒฝไฝ“ๅไฝœ๏ผˆMAS๏ผ‰ใ€ๅ†ๅˆฐ่ฟˆๅ‘ Agent OS ๆ—ถไปฃ็š„ OpenClaw ็ญ‰ไบ”ๅคงๆผ”่ฟ›ๅฝขๆ€ใ€‚ไธไป…ๆŽข่ฎจไบ†ๆŠ€ๆœฏๆžถๆž„็š„ๅฎž็Žฐ๏ผŒๆ›ดๆญ็คบไบ†่ฝฏไปถๅทฅ็จ‹ไปŽโ€œไปฅไบบไธบไธญๅฟƒโ€ๅ‘โ€œไปฅ AI ไธบไธญๅฟƒโ€็š„่Œƒๅผ้ฉๅ‘ฝโ€”โ€”ๅœจ Agent ้ฉฑๅŠจ็š„ๆ–ฐ็บชๅ…ƒ๏ผŒๆ ธๅฟƒ็ซžไบ‰ๅŠ›ๅฐ†ไธๅ†ๆ˜ฏไปฃ็ ้‡๏ผŒ่€Œๆ˜ฏ่ฐƒๅบฆ AI ้—ญ็Žฏ่งฃๅ†ณไธšๅŠก้—ฎ้ข˜็š„่ƒฝๅŠ›ใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/llm_learning_bg_1.png\",\"permalink\":\"/ai-agent/overview\",\"top\":true,\"categories\":[\"ai-practice\"],\"tags\":[\"AI Agent\",\"Agent\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไปŽๆ็คบ่ฏๅˆฐๆ•ฐๅญ—ๅ‘˜ๅทฅ๏ผšAI Agent ๆทฑๅบฆๅ…จๆ™ฏ็ปผ่ฟฐ\",\"date\":\"2026-02-12 22:31:00\",\"capture\":\"1. ไป€ไนˆๆ˜ฏ Agent๏ผŸโ€”โ€”ไปŽโ€œๅทฅๅ…ทโ€ๅˆฐโ€œๅฎžไฝ“โ€็š„่ฟ›ๅŒ–\\n> ๆ ธๅฟƒ้€ป่พ‘๏ผš็Žฐไปฃ Agent ็š„ๆœฌ่ดจๆ˜ฏ \\\"LLM (ๅคง่„‘) + ่ง„ๅˆ’ไธŽ่ฎฐๅฟ† (ๅฐ่„‘) + ๅทฅๅ…ท่ฐƒ็”จ (ๆ‰‹่„š)\\\"ใ€‚LLM ็š„ๆตท้‡็Ÿฅ่ฏ†ๅ‚จๅค‡่ฎฉ Agent ่ƒฝๅคŸ็ฒพๅ‡†็†่งฃๅคๆ‚ๆŒ‡ไปค๏ผŒๅนถๅฐ†ๅ…ถ่ฝฌๅŒ–ไธบๅฎž้™…่กŒๅŠจใ€‚\\nๅœจ AI ้ข†ๅŸŸ๏ผŒAgent๏ผˆๆ™บ่ƒฝไฝ“๏ผ‰ ๅนถ้žไธ€ไธชๆ–ฐๆฆ‚ๅฟต๏ผŒไฝ† LLM๏ผˆๅคง่ฏญ่จ€ๆจกๅž‹๏ผ‰็š„็ˆ†ๅ‘่ต‹ไบˆไบ†ๅฎƒ็œŸๆญฃ็š„โ€œ็ต้ญ‚โ€ใ€‚็ฎ€ๅ•ๆฅ่ฏด๏ผŒAgent ๆ˜ฏไธ€็ง่ƒฝๅคŸๆ„Ÿ็Ÿฅ็Žฏๅขƒใ€่‡ชไธปๅ†ณ็ญ–ๅนถๆ‰ง่กŒไปปๅŠก็š„ๆ™บ่ƒฝๅฎžไฝ“ใ€‚\\nๅฆ‚ๆžœ่ฏดไผ ็ปŸ็š„ AI ๆ˜ฏไธ€ไธชโ€œ้—ฎ็ญ”ๆœบโ€๏ผŒ้‚ฃไนˆ Agent ๅฐฑๆ˜ฏไธ€ไธชโ€œๆ‰ง่กŒ่€…โ€ใ€‚ๅฎƒๅ…ทๅค‡ไปฅไธ‹ๅ››ๅคงๆ ธๅฟƒ็‰น่ดจ๏ผš\\n* ่‡ชไธปๆ€ง (Autonomy)๏ผš ๆ— ้กปๆ—ถๅˆป็›ฏ็€๏ผŒ่ฎพๅฎš\"}],\"react\":[{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-02-10 23:33:19\",\"title\":\"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ๅฝ“ AI ๆ‰ฟๆŽฅไบ† 30% ็š„็ผ–็ ๆ‰ง่กŒๆ—ถ๏ผŒๅผ€ๅ‘่€…้œ€้€š่ฟ‡โ€œ่ง„ๆ ผ้ฉฑๅŠจ๏ผˆSDD๏ผ‰โ€้‡ๅคบ 70% ็š„่ฎพ่ฎกไธปๆƒ๏ผšไปŽ่‡ชๆฒป็ป„ไปถๅˆ’ๅˆ†ๅˆฐๅ•ๅ‘ๆ•ฐๆฎๆตๆ‹“ๆ‰‘็š„ๆทฑๅบฆๆŽจๆผ”ใ€‚\",\"description\":\"ๆœฌๆ–‡ๆŽข่ฎจๅœจ AI ๅขžๅผบๅผ€ๅ‘่ƒŒๆ™ฏไธ‹๏ผŒๅฆ‚ไฝ•้‡ๅก‘ React ็ป„ไปถ่ฎพ่ฎกๅŽŸๅˆ™ใ€‚ๆถต็›– SRP ่Œ่ดฃๅˆ’ๅˆ†ใ€้™ๆ€็‰ˆๆœฌๅŸบ็บฟใ€ๆœ€ๅฐ็Šถๆ€๏ผˆDerived Data๏ผ‰ๆŽจๅฏผไปฅๅŠ SDD ไบบๆœบๅไฝœๆจกๅผ็š„ๅทฅ็จ‹่ฝๅœฐใ€‚\",\"tags\":[\"tutorial\",\"react\",\"component-design\",\"state-management\",\"ai-augmented\",\"specification-driven\"],\"permalink\":\"/fullstack/react-design-philosophy-ai-augmented\",\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-02-10 23:33:19\",\"capture\":\"<script setup\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n 1. ๅผ•่จ€\\nๅœจ่ฝฏไปถๅทฅ็จ‹ไธญ๏ผŒ็บฆ 70% ็š„ๆ—ถ้—ดๅบ”ๆŠ•ๅ…ฅไบŽๆžถๆž„่ฎพ่ฎกใ€้œ€ๆฑ‚ๆ‹†่งฃไธŽๆŽฅๅฃ่ฏญไน‰ๆŽจๆ•ฒ๏ผŒไป… 30% ็”จไบŽๅฎž้™…็ผ–็ ใ€‚่ฟ›ๅ…ฅ AI ๅไฝœๆ—ถไปฃๅŽ๏ผŒ่ฟ™ไธ€ๆฏ”ไพ‹ไพ็„ถๅšๅฆ‚็ฃ็Ÿณโ€”โ€”ๅผ€ๅ‘่€…ๅฟ…้กปๅ…ˆๅฎŒๆˆๆทฑๅบฆๆ€่€ƒ๏ผŒๅฐ†โ€œๆธ…ๆ™ฐ็š„้—ฎ้ข˜่ง„ๆ ผ๏ผˆSpecification๏ผ‰โ€ไบค็ป™ AI๏ผŒAI ๆ‰่ƒฝ่พ“ๅ‡บ้ซ˜่ดจ้‡ไปฃ็ ใ€‚<HighLightText type=\\\"note\\\" bold>AI ๆๅ‡็š„ๆ˜ฏ 30% ็ผ–็ ้˜ถๆฎต็š„ๆ‰ง่กŒๅŠ›๏ผŒ่€Œ้žๅ–\"}],\"component-design\":[{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-02-10 23:33:19\",\"title\":\"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ๅฝ“ AI ๆ‰ฟๆŽฅไบ† 30% ็š„็ผ–็ ๆ‰ง่กŒๆ—ถ๏ผŒๅผ€ๅ‘่€…้œ€้€š่ฟ‡โ€œ่ง„ๆ ผ้ฉฑๅŠจ๏ผˆSDD๏ผ‰โ€้‡ๅคบ 70% ็š„่ฎพ่ฎกไธปๆƒ๏ผšไปŽ่‡ชๆฒป็ป„ไปถๅˆ’ๅˆ†ๅˆฐๅ•ๅ‘ๆ•ฐๆฎๆตๆ‹“ๆ‰‘็š„ๆทฑๅบฆๆŽจๆผ”ใ€‚\",\"description\":\"ๆœฌๆ–‡ๆŽข่ฎจๅœจ AI ๅขžๅผบๅผ€ๅ‘่ƒŒๆ™ฏไธ‹๏ผŒๅฆ‚ไฝ•้‡ๅก‘ React ็ป„ไปถ่ฎพ่ฎกๅŽŸๅˆ™ใ€‚ๆถต็›– SRP ่Œ่ดฃๅˆ’ๅˆ†ใ€้™ๆ€็‰ˆๆœฌๅŸบ็บฟใ€ๆœ€ๅฐ็Šถๆ€๏ผˆDerived Data๏ผ‰ๆŽจๅฏผไปฅๅŠ SDD ไบบๆœบๅไฝœๆจกๅผ็š„ๅทฅ็จ‹่ฝๅœฐใ€‚\",\"tags\":[\"tutorial\",\"react\",\"component-design\",\"state-management\",\"ai-augmented\",\"specification-driven\"],\"permalink\":\"/fullstack/react-design-philosophy-ai-augmented\",\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-02-10 23:33:19\",\"capture\":\"<script setup\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n 1. ๅผ•่จ€\\nๅœจ่ฝฏไปถๅทฅ็จ‹ไธญ๏ผŒ็บฆ 70% ็š„ๆ—ถ้—ดๅบ”ๆŠ•ๅ…ฅไบŽๆžถๆž„่ฎพ่ฎกใ€้œ€ๆฑ‚ๆ‹†่งฃไธŽๆŽฅๅฃ่ฏญไน‰ๆŽจๆ•ฒ๏ผŒไป… 30% ็”จไบŽๅฎž้™…็ผ–็ ใ€‚่ฟ›ๅ…ฅ AI ๅไฝœๆ—ถไปฃๅŽ๏ผŒ่ฟ™ไธ€ๆฏ”ไพ‹ไพ็„ถๅšๅฆ‚็ฃ็Ÿณโ€”โ€”ๅผ€ๅ‘่€…ๅฟ…้กปๅ…ˆๅฎŒๆˆๆทฑๅบฆๆ€่€ƒ๏ผŒๅฐ†โ€œๆธ…ๆ™ฐ็š„้—ฎ้ข˜่ง„ๆ ผ๏ผˆSpecification๏ผ‰โ€ไบค็ป™ AI๏ผŒAI ๆ‰่ƒฝ่พ“ๅ‡บ้ซ˜่ดจ้‡ไปฃ็ ใ€‚<HighLightText type=\\\"note\\\" bold>AI ๆๅ‡็š„ๆ˜ฏ 30% ็ผ–็ ้˜ถๆฎต็š„ๆ‰ง่กŒๅŠ›๏ผŒ่€Œ้žๅ–\"}],\"state-management\":[{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-02-10 23:33:19\",\"title\":\"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ๅฝ“ AI ๆ‰ฟๆŽฅไบ† 30% ็š„็ผ–็ ๆ‰ง่กŒๆ—ถ๏ผŒๅผ€ๅ‘่€…้œ€้€š่ฟ‡โ€œ่ง„ๆ ผ้ฉฑๅŠจ๏ผˆSDD๏ผ‰โ€้‡ๅคบ 70% ็š„่ฎพ่ฎกไธปๆƒ๏ผšไปŽ่‡ชๆฒป็ป„ไปถๅˆ’ๅˆ†ๅˆฐๅ•ๅ‘ๆ•ฐๆฎๆตๆ‹“ๆ‰‘็š„ๆทฑๅบฆๆŽจๆผ”ใ€‚\",\"description\":\"ๆœฌๆ–‡ๆŽข่ฎจๅœจ AI ๅขžๅผบๅผ€ๅ‘่ƒŒๆ™ฏไธ‹๏ผŒๅฆ‚ไฝ•้‡ๅก‘ React ็ป„ไปถ่ฎพ่ฎกๅŽŸๅˆ™ใ€‚ๆถต็›– SRP ่Œ่ดฃๅˆ’ๅˆ†ใ€้™ๆ€็‰ˆๆœฌๅŸบ็บฟใ€ๆœ€ๅฐ็Šถๆ€๏ผˆDerived Data๏ผ‰ๆŽจๅฏผไปฅๅŠ SDD ไบบๆœบๅไฝœๆจกๅผ็š„ๅทฅ็จ‹่ฝๅœฐใ€‚\",\"tags\":[\"tutorial\",\"react\",\"component-design\",\"state-management\",\"ai-augmented\",\"specification-driven\"],\"permalink\":\"/fullstack/react-design-philosophy-ai-augmented\",\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-02-10 23:33:19\",\"capture\":\"<script setup\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n 1. ๅผ•่จ€\\nๅœจ่ฝฏไปถๅทฅ็จ‹ไธญ๏ผŒ็บฆ 70% ็š„ๆ—ถ้—ดๅบ”ๆŠ•ๅ…ฅไบŽๆžถๆž„่ฎพ่ฎกใ€้œ€ๆฑ‚ๆ‹†่งฃไธŽๆŽฅๅฃ่ฏญไน‰ๆŽจๆ•ฒ๏ผŒไป… 30% ็”จไบŽๅฎž้™…็ผ–็ ใ€‚่ฟ›ๅ…ฅ AI ๅไฝœๆ—ถไปฃๅŽ๏ผŒ่ฟ™ไธ€ๆฏ”ไพ‹ไพ็„ถๅšๅฆ‚็ฃ็Ÿณโ€”โ€”ๅผ€ๅ‘่€…ๅฟ…้กปๅ…ˆๅฎŒๆˆๆทฑๅบฆๆ€่€ƒ๏ผŒๅฐ†โ€œๆธ…ๆ™ฐ็š„้—ฎ้ข˜่ง„ๆ ผ๏ผˆSpecification๏ผ‰โ€ไบค็ป™ AI๏ผŒAI ๆ‰่ƒฝ่พ“ๅ‡บ้ซ˜่ดจ้‡ไปฃ็ ใ€‚<HighLightText type=\\\"note\\\" bold>AI ๆๅ‡็š„ๆ˜ฏ 30% ็ผ–็ ้˜ถๆฎต็š„ๆ‰ง่กŒๅŠ›๏ผŒ่€Œ้žๅ–\"}],\"ai-augmented\":[{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-02-10 23:33:19\",\"title\":\"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ๅฝ“ AI ๆ‰ฟๆŽฅไบ† 30% ็š„็ผ–็ ๆ‰ง่กŒๆ—ถ๏ผŒๅผ€ๅ‘่€…้œ€้€š่ฟ‡โ€œ่ง„ๆ ผ้ฉฑๅŠจ๏ผˆSDD๏ผ‰โ€้‡ๅคบ 70% ็š„่ฎพ่ฎกไธปๆƒ๏ผšไปŽ่‡ชๆฒป็ป„ไปถๅˆ’ๅˆ†ๅˆฐๅ•ๅ‘ๆ•ฐๆฎๆตๆ‹“ๆ‰‘็š„ๆทฑๅบฆๆŽจๆผ”ใ€‚\",\"description\":\"ๆœฌๆ–‡ๆŽข่ฎจๅœจ AI ๅขžๅผบๅผ€ๅ‘่ƒŒๆ™ฏไธ‹๏ผŒๅฆ‚ไฝ•้‡ๅก‘ React ็ป„ไปถ่ฎพ่ฎกๅŽŸๅˆ™ใ€‚ๆถต็›– SRP ่Œ่ดฃๅˆ’ๅˆ†ใ€้™ๆ€็‰ˆๆœฌๅŸบ็บฟใ€ๆœ€ๅฐ็Šถๆ€๏ผˆDerived Data๏ผ‰ๆŽจๅฏผไปฅๅŠ SDD ไบบๆœบๅไฝœๆจกๅผ็š„ๅทฅ็จ‹่ฝๅœฐใ€‚\",\"tags\":[\"tutorial\",\"react\",\"component-design\",\"state-management\",\"ai-augmented\",\"specification-driven\"],\"permalink\":\"/fullstack/react-design-philosophy-ai-augmented\",\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-02-10 23:33:19\",\"capture\":\"<script setup\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n 1. ๅผ•่จ€\\nๅœจ่ฝฏไปถๅทฅ็จ‹ไธญ๏ผŒ็บฆ 70% ็š„ๆ—ถ้—ดๅบ”ๆŠ•ๅ…ฅไบŽๆžถๆž„่ฎพ่ฎกใ€้œ€ๆฑ‚ๆ‹†่งฃไธŽๆŽฅๅฃ่ฏญไน‰ๆŽจๆ•ฒ๏ผŒไป… 30% ็”จไบŽๅฎž้™…็ผ–็ ใ€‚่ฟ›ๅ…ฅ AI ๅไฝœๆ—ถไปฃๅŽ๏ผŒ่ฟ™ไธ€ๆฏ”ไพ‹ไพ็„ถๅšๅฆ‚็ฃ็Ÿณโ€”โ€”ๅผ€ๅ‘่€…ๅฟ…้กปๅ…ˆๅฎŒๆˆๆทฑๅบฆๆ€่€ƒ๏ผŒๅฐ†โ€œๆธ…ๆ™ฐ็š„้—ฎ้ข˜่ง„ๆ ผ๏ผˆSpecification๏ผ‰โ€ไบค็ป™ AI๏ผŒAI ๆ‰่ƒฝ่พ“ๅ‡บ้ซ˜่ดจ้‡ไปฃ็ ใ€‚<HighLightText type=\\\"note\\\" bold>AI ๆๅ‡็š„ๆ˜ฏ 30% ็ผ–็ ้˜ถๆฎต็š„ๆ‰ง่กŒๅŠ›๏ผŒ่€Œ้žๅ–\"}],\"specification-driven\":[{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/01.React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-02-10 23:33:19\",\"title\":\"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ๅฝ“ AI ๆ‰ฟๆŽฅไบ† 30% ็š„็ผ–็ ๆ‰ง่กŒๆ—ถ๏ผŒๅผ€ๅ‘่€…้œ€้€š่ฟ‡โ€œ่ง„ๆ ผ้ฉฑๅŠจ๏ผˆSDD๏ผ‰โ€้‡ๅคบ 70% ็š„่ฎพ่ฎกไธปๆƒ๏ผšไปŽ่‡ชๆฒป็ป„ไปถๅˆ’ๅˆ†ๅˆฐๅ•ๅ‘ๆ•ฐๆฎๆตๆ‹“ๆ‰‘็š„ๆทฑๅบฆๆŽจๆผ”ใ€‚\",\"description\":\"ๆœฌๆ–‡ๆŽข่ฎจๅœจ AI ๅขžๅผบๅผ€ๅ‘่ƒŒๆ™ฏไธ‹๏ผŒๅฆ‚ไฝ•้‡ๅก‘ React ็ป„ไปถ่ฎพ่ฎกๅŽŸๅˆ™ใ€‚ๆถต็›– SRP ่Œ่ดฃๅˆ’ๅˆ†ใ€้™ๆ€็‰ˆๆœฌๅŸบ็บฟใ€ๆœ€ๅฐ็Šถๆ€๏ผˆDerived Data๏ผ‰ๆŽจๅฏผไปฅๅŠ SDD ไบบๆœบๅไฝœๆจกๅผ็š„ๅทฅ็จ‹่ฝๅœฐใ€‚\",\"tags\":[\"tutorial\",\"react\",\"component-design\",\"state-management\",\"ai-augmented\",\"specification-driven\"],\"permalink\":\"/fullstack/react-design-philosophy-ai-augmented\",\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"React ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšAI ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2026-02-10 23:33:19\",\"capture\":\"<script setup\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n 1. ๅผ•่จ€\\nๅœจ่ฝฏไปถๅทฅ็จ‹ไธญ๏ผŒ็บฆ 70% ็š„ๆ—ถ้—ดๅบ”ๆŠ•ๅ…ฅไบŽๆžถๆž„่ฎพ่ฎกใ€้œ€ๆฑ‚ๆ‹†่งฃไธŽๆŽฅๅฃ่ฏญไน‰ๆŽจๆ•ฒ๏ผŒไป… 30% ็”จไบŽๅฎž้™…็ผ–็ ใ€‚่ฟ›ๅ…ฅ AI ๅไฝœๆ—ถไปฃๅŽ๏ผŒ่ฟ™ไธ€ๆฏ”ไพ‹ไพ็„ถๅšๅฆ‚็ฃ็Ÿณโ€”โ€”ๅผ€ๅ‘่€…ๅฟ…้กปๅ…ˆๅฎŒๆˆๆทฑๅบฆๆ€่€ƒ๏ผŒๅฐ†โ€œๆธ…ๆ™ฐ็š„้—ฎ้ข˜่ง„ๆ ผ๏ผˆSpecification๏ผ‰โ€ไบค็ป™ AI๏ผŒAI ๆ‰่ƒฝ่พ“ๅ‡บ้ซ˜่ดจ้‡ไปฃ็ ใ€‚<HighLightText type=\\\"note\\\" bold>AI ๆๅ‡็š„ๆ˜ฏ 30% ็ผ–็ ้˜ถๆฎต็š„ๆ‰ง่กŒๅŠ›๏ผŒ่€Œ้žๅ–\"}],\"่ต„ๆบๆŽจ่\":[{\"url\":\"/01.ๅ…จๆ ˆ/90.ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่/90.ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"relativePath\":\"/01.ๅ…จๆ ˆ/90.ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่/90.ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"frontmatter\":{\"date\":\"2026-02-06 15:58:53\",\"title\":\"ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡็ณป็ปŸๆขณ็†ไบ†็Žฐไปฃๅ…จๆ ˆๅผ€ๅ‘็š„ๅฎŒๆ•ดๆŠ€ๆœฏๅ›พ่ฐฑไธŽๆผ”่ฟ›่Œƒๅผ๏ผŒไธบๅผ€ๅ‘่€…ๆไพ›ไบ†ไธ€็ซ™ๅผ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—ใ€‚ๆ–‡็ซ ไปŽๅŸบ็Ÿณๅ‡บๅ‘๏ผŒ่ฆ†็›– Web ๆ ธๅฟƒ่ฏญ่จ€๏ผˆJS/TS๏ผ‰ ไธŽ ไธปๆต UI ๆก†ๆžถ๏ผˆReact/Vue/Svelte๏ผ‰๏ผŒๅนถๆŽจ่ไปฅ Tailwind CSS ๅ’Œ shadcn/ui ไธบไปฃ่กจ็š„็Žฐไปฃๆ ทๅผไธŽ็ป„ไปถๅŽŸ่ฏญใ€‚ๅœจๆ ธๅฟƒไธšๅŠก้€ป่พ‘ๅฑ‚๏ผŒๆทฑๅบฆๅฏนๆฏ”ไบ†่ฝป้‡ๅŒ–็Šถๆ€็ฎก็†ๆ–นๆกˆ๏ผˆ้ฆ–ๆŽจ Zustand/Jotai๏ผ‰๏ผŒๅนถ้‡็‚น่งฃๆžไบ†ๆ•ฐๆฎไบคไบ’็š„ไธ‰ๅคง็Žฐไปฃๆžถๆž„่Œƒๅผ๏ผšไปŽๅŸบ็ก€ Axios ๅˆฐ React Query ็Šถๆ€่ฐƒๅบฆ๏ผŒๅ†ๅˆฐ tRPC ๅ’Œ GraphQL ๅธฆๆฅ็š„ๅ…จๆ ˆ็ฑปๅž‹ๅฎ‰ๅ…จไธŽๅคš็ซฏ่šๅˆใ€‚ๅœจๅทฅ็จ‹ๅŒ–ไธŽๆœๅŠก็ซฏๆจกๅ—๏ผŒๆ–‡็ซ ๅ…จ้ขๆ‹ฅๆŠฑ Viteใ€Rsbuild ็ญ‰ๆž้€Ÿๆž„ๅปบๅทฅๅ…ท๏ผŒๅนถๅ‰–ๆžไบ† Next.js/Nuxt ๅŒๆž„ๅ…ƒๆก†ๆžถไธŽ NestJS ไผไธš็บง Node ๆœๅŠก็š„ๆœ€ไฝณ้€‚็”จๅœบๆ™ฏใ€‚ๆœ€ๅŽ๏ผŒ่พ…ไปฅ Vercel ็ญ‰็Žฐไปฃ่พน็ผ˜้ƒจ็ฝฒๅนณๅฐๅŠไธฐๅฏŒ็š„ๅผ€ๆบ็คพๅŒบๅญฆไน ่ต„ๆบใ€‚\",\"permalink\":\"/growth/full-stack-resources\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"ๅ…จๆ ˆ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่\",\"date\":\"2026-02-06 15:58:53\",\"capture\":\"> - ๆ–‡็ซ ไปŽๅŸบ็Ÿณๅ‡บๅ‘๏ผŒ่ฆ†็›– Web ๆ ธๅฟƒ่ฏญ่จ€๏ผˆJS/TS๏ผ‰ ไธŽ ไธปๆต UI ๆก†ๆžถ๏ผˆReact/Vue/Svelte๏ผ‰๏ผŒๅนถๆŽจ่ไปฅ Tailwind CSS ๅ’Œ shadcn/ui ไธบไปฃ่กจ็š„็Žฐไปฃๆ ทๅผไธŽ็ป„ไปถๅŽŸ่ฏญใ€‚\\n> - ๅœจๆ ธๅฟƒไธšๅŠก้€ป่พ‘ๅฑ‚๏ผŒๆทฑๅบฆๅฏนๆฏ”ไบ†่ฝป้‡ๅŒ–็Šถๆ€็ฎก็†ๆ–นๆกˆ๏ผˆ้ฆ–ๆŽจ Zustand/Jotai๏ผ‰๏ผŒๅนถ้‡็‚น่งฃๆžไบ†ๆ•ฐๆฎไบคไบ’็š„ไธ‰ๅคง็Žฐไปฃๆžถๆž„่Œƒๅผ๏ผšไปŽๅŸบ็ก€ Axios ๅˆฐ React Query ็Šถๆ€่ฐƒๅบฆ๏ผŒๅ†ๅˆฐ tRPC ๅ’Œ GraphQL ๅธฆๆฅ็š„ๅ…จๆ ˆ็ฑปๅž‹ๅฎ‰ๅ…จไธŽๅคš็ซฏ่šๅˆใ€‚\\n> - ๅœจๅทฅ็จ‹ๅŒ–ไธŽๆœๅŠก็ซฏๆจกๅ—๏ผŒๆ–‡็ซ ๅ…จ้ขๆ‹ฅๆŠฑ Viteใ€Rsbuild ็ญ‰ๆž้€Ÿๆž„ๅปบๅทฅๅ…ท๏ผŒๅนถๅ‰–ๆžไบ† Next.js/N\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/11. LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/11. LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-01-06 15:58:53\",\"title\":\"LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆˆช่‡ณ 2026 ๅนด๏ผŒLLM API ๆœๅŠกๅทฒๅฝขๆˆ\\\"ๅฎ˜ๆ–น็›ด่ฟž + ็ฌฌไธ‰ๆ–น่šๅˆ\\\"็š„ๅŒ่ฝจๆ ผๅฑ€๏ผŒๆจกๅž‹่ƒฝๅŠ›ใ€ๅฎšไปทใ€ๅˆ่ง„ๆ€งไธŽๆŽฅๅ…ฅไพฟๅˆฉๆ€งๅทฎๅผ‚ๆ˜พ่‘—ใ€‚ๆœฌๆ–‡ไปŽ้€‰ๅž‹ๅ‰ๆ้—ฎๅ‡บๅ‘๏ผŒ็ณป็ปŸๆขณ็†ๅ›ฝ้™…ไธŽๅ›ฝๅ†…ไธปๆตๅฎ˜ๆ–น API ๅนณๅฐ๏ผŒไปฅๅŠ OpenRouterใ€็ก…ๅŸบๆตๅŠจ็ญ‰็ฌฌไธ‰ๆ–น่šๅˆๅนณๅฐ็š„ๆ ธๅฟƒ็‰น็‚น๏ผŒๅนถๆไพ›ๅŸบไบŽๅœบๆ™ฏ็š„ๅ†ณ็ญ–ๆก†ๆžถ๏ผŒๅธฎๅŠฉๅผ€ๅ‘่€…ๅ’Œไบงๅ“ๅ›ข้˜Ÿๅฟซ้€Ÿ้”ๅฎšๆœ€้€‚ๅˆ่‡ชๅทฑ็š„ๆ–นๆกˆใ€‚\",\"permalink\":\"/ai-learning/llm-api-resources\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"LLM API\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"date\":\"2026-01-06 15:58:53\",\"capture\":\"1. ้€‰ๆจกๅž‹ๅ‰๏ผŒๅ…ˆๆƒณๆธ…ๆฅš่ฟ™ๅ‡ ไปถไบ‹\\nๅœจๅฏนๆฏ”ๅ…ทไฝ“ๅนณๅฐไน‹ๅ‰๏ผŒๅฏไปŽไปฅไธ‹ๅ››ไธช็ปดๅบฆๆขณ็†่‡ช่บซ่ฏ‰ๆฑ‚๏ผŒ้ฟๅ…\\\"็œผ่Šฑ็ผญไนฑๅŽ้šไพฟ้€‰ไธ€ไธช\\\"๏ผš\\n| ็ปดๅบฆ | ๅ…ณ้”ฎ้—ฎ้ข˜ | ๅฝฑๅ“ๅ†ณ็ญ– |\\n|:-----|:--------|:--------|\\n| ไปปๅŠก็ฑปๅž‹ | ๆ˜ฏ้€š็”จๅฏน่ฏใ€ไปฃ็ ็”Ÿๆˆใ€้•ฟๆ–‡ๆกฃๅˆ†ๆž๏ผŒ่ฟ˜ๆ˜ฏๅคšๆจกๆ€็†่งฃ๏ผŸ | ไธๅŒๆจกๅž‹ๅœจๅž‚็›ด่ƒฝๅŠ›ไธŠๅทฎ่ทๆ‚ฌๆฎŠ |\\n| ๆˆๆœฌ้ข„็ฎ— | ๆฏๆœˆ่ฐƒ็”จ้‡็บง๏ผŸ่ƒฝๅฆๆŽฅๅ—ๆตทๅค–็ป“็ฎ—ไธŽๆฑ‡็އ้ฃŽ้™ฉ๏ผŸ | ๅ›ฝไบงๆจกๅž‹ Token ไปทๆ ผ้€šๅธธไฝŽ 3๏ฝž10 ๅ€ |\\n| ๅˆ่ง„ไธŽ้ƒจ็ฝฒ | ๆ•ฐๆฎ่ƒฝๅฆๅ‡บๅขƒ๏ผŸ่ƒฝๅฆไฝฟ็”จๆตทๅค–ๆœๅŠก๏ผŸๆ˜ฏๅฆ้œ€่ฆ็งๆœ‰ๅŒ–้ƒจ็ฝฒ๏ผŸ | ๆถ‰ๅŠๆ”ฟๅŠก/้‡‘่ž/ๅŒป็–—ๅœบๆ™ฏๅฟ…้กป่€ƒ่™‘ |\\n| ็ฝ‘็ปœ็Žฏๅขƒ | ๅผ€ๅ‘/้ƒจ็ฝฒ็Žฏๅขƒ่ƒฝๅฆ็จณๅฎš่ฎฟ\"},{\"url\":\"/01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ\",\"frontmatter\":{\"date\":\"2025-11-25 00:52:28\",\"title\":\"AI ็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡ๆทฑๅบฆ่งฃๆžไบ† AI ้ฉฑๅŠจ็ผ–็จ‹็š„ไธ‰ๅคงๆผ”่ฟ›่Œƒๅผ๏ผšVibe Coding๏ผˆ่‡ช็„ถ่ฏญ่จ€้›ถ้—จๆง›ๆž„ๅปบ๏ผ‰ใ€AI IDE๏ผˆ็ผ–่พ‘ๅ™จๆทฑๅบฆ่พ…ๅŠฉๆๆ•ˆ๏ผ‰ๅŠ Agentic Engineering๏ผˆ่‡ชไธปๅทฅ็จ‹ๅธˆๆ‰ง่กŒไปปๅŠก๏ผ‰ใ€‚้€š่ฟ‡ๆจชๅ‘ๅฏนๆฏ” Bolt.newใ€Cursorใ€Claude Code ็ญ‰ๅ‰ๆฒฟๅทฅๅ…ท๏ผŒๆ–‡็ซ ๅ‹พๅ‹’ๅ‡บไธ€ๆกไปŽโ€œๅฟซ้€ŸๅŽŸๅž‹โ€ๅˆฐโ€œ้ซ˜ๆ•ˆๅๅŒโ€ๅ†ๅˆฐโ€œ่‡ชไธปไบคไป˜โ€็š„่ฟ›้˜ถ่ทฏๅพ„ใ€‚ๆ ธๅฟƒๆ—จๅœจๆŒ‡ๅฏผ็”จๆˆทๅˆฉ็”จ AI ๅทฅๅ…ท็Ÿฉ้˜ตๆ‰“็ ดๆŠ€ๆœฏ่พน็•Œ๏ผŒๅฎž็ŽฐไปŽๅˆ›ๆ„ๆ่ฟฐๅˆฐๅทฅไธš็บงไบคไป˜็š„็”ŸไบงๅŠ›้ฃž่ทƒ๏ผŒ้‡ๅก‘่ฝฏไปถๅผ€ๅ‘ๅ…จ็”Ÿๅ‘ฝๅ‘จๆœŸใ€‚\",\"permalink\":\"/ai-learning/ai-coding-resources\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/source_sites_bg.png\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"AI Coding\",\"Vibe Coding\",\"Agentic Engineering\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"AI ็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่\",\"date\":\"2025-11-25 00:52:28\",\"capture\":\"1. ไธ‰็ง็ผ–็จ‹่Œƒๅผ้€Ÿ่งˆ\\n| ่Œƒๅผ | ไธ€ๅฅ่ฏๆ่ฟฐ | ไฝ ็š„่ง’่‰ฒ |\\n|:-----|:---------|:--------|\\n| Vibe Coding | ็”จ่‡ช็„ถ่ฏญ่จ€ๆ่ฟฐ้œ€ๆฑ‚๏ผŒAI ็›ดๆŽฅ็”Ÿๆˆๅฏ่ฟ่กŒ็š„ๅฎŒๆ•ด้กน็›ฎ | ๆ่ฟฐ้œ€ๆฑ‚๏ผŒ่ฎฉ AI ๅ†™ไปฃ็ (```ๆ–ฐๆ‰‹ๅ‹ๅฅฝ```) |\\n| AI IDE | ๅœจ็ผ–่พ‘ๅ™จ้‡Œๅผ•ๅ…ฅ AI ่พ…ๅŠฉ๏ผŒ่พนๅ†™่พน่กฅๅ…จใ€่พน้—ฎ่พนๆ”น | ไธปๅฏผๅผ€ๅ‘๏ผŒ่ฎฉ AI ๅšๅ‰ฏ้ฉพ้ฉถ(```ๆ›ดๅคšๆŽงๅˆถ```) |\\n| Agentic Engineering | AI ไฝœไธบ\\\"่‡ชไธปๅทฅ็จ‹ๅธˆ\\\"๏ผŒๆŽฅๆ”ถไปปๅŠกๅŽ่‡ชๅŠจ่ง„ๅˆ’ๅนถๆ‰ง่กŒๅ…จๅฅ—ไปฃ็ ๅทฅไฝœๆต | ๆไปปๅŠกใ€ๅฎก็ป“ๆžœ๏ผŒ่ฎฉ AI ๆ‰ง่กŒ(```ๆž่‡ดๆๆ•ˆ```) |\\nๆ–ฐๆ‰‹่ทฏ็บฟๅปบ่ฎฎ๏ผšๅ…ˆ\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"frontmatter\":{\"date\":\"2025-11-25 00:52:28\",\"title\":\"ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไธบไพฟไบŽ้ซ˜ๆ•ˆๅˆฉ็”จ AI ๅทฅๅ…ทๆๅ‡ๅญฆไน ใ€ๆœ็ดขๅ’Œๅˆ›ไฝœๆ•ˆ็އ๏ผŒๆœฌๆ–‡็ณป็ปŸๆ•ด็†ไบ†ไธปๆต็š„ AI ๅŠฉๆ‰‹ไธŽๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐ็›ธๅ…ณ่ต„ๆบใ€‚ๅ†…ๅฎนๅˆ†ไธบโ€œAI ๅŠฉๆ‰‹โ€๏ผˆๅฆ‚ ChatGPTใ€Claudeใ€Gemini ็ญ‰ๅฏน่ฏๅผๅŠฉๆ‰‹๏ผ‰ๅ’Œโ€œๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐโ€๏ผˆๅฆ‚ๅ†™ไฝœใ€็ป˜็”ป็ญ‰้ข†ๅŸŸ็š„ AI ๅทฅๅ…ทไธŽๅนณๅฐ๏ผ‰๏ผŒไธ”ๆ ‡ๆณจไบ†ๅ…ถๆ ธๅฟƒ่ƒฝๅŠ›ใ€้€‚ๅˆๅœบๆ™ฏ๏ผŒไปฅๅŠ็‰น่‰ฒไผ˜ๅŠฟใ€‚\",\"permalink\":\"/ai-learning/tools-assistant\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/source_sites_bg.png\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"AI ๅŠฉๆ‰‹\",\"AI ๆœ็ดข\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"date\":\"2025-11-25 00:52:28\",\"capture\":\"1. AI ๅŠฉๆ‰‹\\n> ้€‰ๆ‹ฉๅปบ่ฎฎ๏ผš ่‹ฑๆ–‡ไธบไธป โ†’ ไผ˜ๅ…ˆ ChatGPT / Claude / Gemini๏ผ›ไธญๆ–‡ไธบไธป โ†’ ไผ˜ๅ…ˆ Kimi / DeepSeek / ้€šไน‰ๅƒ้—ฎ๏ผ›้œ€่ฆ่”็ฝ‘ๅฎžๆ—ถไฟกๆฏ โ†’ Gemini / Grok๏ผ›้œ€่ฆๅˆ†ๆž้•ฟๆ–‡ๆกฃ โ†’ Claude / Kimi๏ผ›่ฟฝๆฑ‚ไฝŽๆˆๆœฌๅผ€ๆบ้ƒจ็ฝฒ โ†’ DeepSeekใ€‚\\n>\\n> ๆณจ๏ผš็›ฎๅ‰ๅ›ฝๅค–ๆจกๅž‹๏ผˆๅฆ‚ ChatGPTใ€Claudeใ€Gemini ็ญ‰๏ผ‰ๅœจ่‹ฑๆ–‡ๅค„็†ใ€ๅคšๆจกๆ€่ƒฝๅŠ›ใ€ๆ’ไปถ็”Ÿๆ€ๅ’Œ API ไธฐๅฏŒๆ€ง็ญ‰ๆ–น้ข๏ผŒๆ•ดไฝ“ไธŠไพ็„ถไผ˜ไบŽๅ›ฝๅ†…ๆจกๅž‹๏ผŒ้€‚ๅˆๅฏน่‹ฑๆ–‡ๅˆ›ไฝœใ€ๅคš่ฏญ่จ€ๆฒŸ้€šใ€ๅคๆ‚ๆŽจ็†ใ€ไปฃ็ ๅŠฉๆ‰‹็ญ‰ๅœบๆ™ฏๆœ‰ๆ›ด้ซ˜่ฆๆฑ‚็š„็”จๆˆทใ€‚ไธ่ฟ‡๏ผŒๅ›ฝๅ†…ๆจกๅž‹ๅœจไธญๆ–‡็†่งฃใ€ๆœฌๅœฐๅŒ–ใ€ๅˆ่ง„\"},{\"url\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/01.ๅฅฝไนฆๆŽจ่\",\"relativePath\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/01.ๅฅฝไนฆๆŽจ่\",\"frontmatter\":{\"title\":\"ๅฅฝไนฆๆŽจ่\",\"date\":\"2024-01-01 16:00:00\",\"description\":\"่ฏปไนฆๅฟƒๅพ—ใ€ๆŽจ่ไนฆ็ฑๅ’Œ้˜…่ฏปๆŠ€ๅทง\",\"categories\":[\"growth\"],\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/books_reading_bg.png\",\"permalink\":\"/growth/books\",\"tags\":[\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\",\"่ต„ๆบๆŽจ่\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฅฝไนฆๆŽจ่\",\"date\":\"2024-01-01 16:00:00\",\"capture\":\"<script setup\\n import BookRecommend from './@fragment/BookRecommend.vue'\\n import {aiBooks, productSenseBooks, businessBooks, efficiencyBooks, growthBooks, humanSocialBooks, healthBooks} from './@fragment/recommends-data.ts'\\n</script>\\n 1. AI ไธŽๆ•ฐๅญฆๆ€็ปด\\n> ๅœจๅคงๆจกๅž‹ๅ‘ๅฑ•ๆ—ฅๆ–ฐๆœˆๅผ‚็š„ไปŠๅคฉ๏ผŒ็†่งฃ AI ๆœฌ่ดจไธŠๆ˜ฏๅœจๅ‡็บงๆˆ‘ไปฌ่ต„ๆทฑ็š„โ€œ่ฎค็Ÿฅๆ“\"}],\"LLM API\":[{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/11. LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/11. LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2026-01-06 15:58:53\",\"title\":\"LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆˆช่‡ณ 2026 ๅนด๏ผŒLLM API ๆœๅŠกๅทฒๅฝขๆˆ\\\"ๅฎ˜ๆ–น็›ด่ฟž + ็ฌฌไธ‰ๆ–น่šๅˆ\\\"็š„ๅŒ่ฝจๆ ผๅฑ€๏ผŒๆจกๅž‹่ƒฝๅŠ›ใ€ๅฎšไปทใ€ๅˆ่ง„ๆ€งไธŽๆŽฅๅ…ฅไพฟๅˆฉๆ€งๅทฎๅผ‚ๆ˜พ่‘—ใ€‚ๆœฌๆ–‡ไปŽ้€‰ๅž‹ๅ‰ๆ้—ฎๅ‡บๅ‘๏ผŒ็ณป็ปŸๆขณ็†ๅ›ฝ้™…ไธŽๅ›ฝๅ†…ไธปๆตๅฎ˜ๆ–น API ๅนณๅฐ๏ผŒไปฅๅŠ OpenRouterใ€็ก…ๅŸบๆตๅŠจ็ญ‰็ฌฌไธ‰ๆ–น่šๅˆๅนณๅฐ็š„ๆ ธๅฟƒ็‰น็‚น๏ผŒๅนถๆไพ›ๅŸบไบŽๅœบๆ™ฏ็š„ๅ†ณ็ญ–ๆก†ๆžถ๏ผŒๅธฎๅŠฉๅผ€ๅ‘่€…ๅ’Œไบงๅ“ๅ›ข้˜Ÿๅฟซ้€Ÿ้”ๅฎšๆœ€้€‚ๅˆ่‡ชๅทฑ็š„ๆ–นๆกˆใ€‚\",\"permalink\":\"/ai-learning/llm-api-resources\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"LLM API\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"LLM API ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—\",\"date\":\"2026-01-06 15:58:53\",\"capture\":\"1. ้€‰ๆจกๅž‹ๅ‰๏ผŒๅ…ˆๆƒณๆธ…ๆฅš่ฟ™ๅ‡ ไปถไบ‹\\nๅœจๅฏนๆฏ”ๅ…ทไฝ“ๅนณๅฐไน‹ๅ‰๏ผŒๅฏไปŽไปฅไธ‹ๅ››ไธช็ปดๅบฆๆขณ็†่‡ช่บซ่ฏ‰ๆฑ‚๏ผŒ้ฟๅ…\\\"็œผ่Šฑ็ผญไนฑๅŽ้šไพฟ้€‰ไธ€ไธช\\\"๏ผš\\n| ็ปดๅบฆ | ๅ…ณ้”ฎ้—ฎ้ข˜ | ๅฝฑๅ“ๅ†ณ็ญ– |\\n|:-----|:--------|:--------|\\n| ไปปๅŠก็ฑปๅž‹ | ๆ˜ฏ้€š็”จๅฏน่ฏใ€ไปฃ็ ็”Ÿๆˆใ€้•ฟๆ–‡ๆกฃๅˆ†ๆž๏ผŒ่ฟ˜ๆ˜ฏๅคšๆจกๆ€็†่งฃ๏ผŸ | ไธๅŒๆจกๅž‹ๅœจๅž‚็›ด่ƒฝๅŠ›ไธŠๅทฎ่ทๆ‚ฌๆฎŠ |\\n| ๆˆๆœฌ้ข„็ฎ— | ๆฏๆœˆ่ฐƒ็”จ้‡็บง๏ผŸ่ƒฝๅฆๆŽฅๅ—ๆตทๅค–็ป“็ฎ—ไธŽๆฑ‡็އ้ฃŽ้™ฉ๏ผŸ | ๅ›ฝไบงๆจกๅž‹ Token ไปทๆ ผ้€šๅธธไฝŽ 3๏ฝž10 ๅ€ |\\n| ๅˆ่ง„ไธŽ้ƒจ็ฝฒ | ๆ•ฐๆฎ่ƒฝๅฆๅ‡บๅขƒ๏ผŸ่ƒฝๅฆไฝฟ็”จๆตทๅค–ๆœๅŠก๏ผŸๆ˜ฏๅฆ้œ€่ฆ็งๆœ‰ๅŒ–้ƒจ็ฝฒ๏ผŸ | ๆถ‰ๅŠๆ”ฟๅŠก/้‡‘่ž/ๅŒป็–—ๅœบๆ™ฏๅฟ…้กป่€ƒ่™‘ |\\n| ็ฝ‘็ปœ็Žฏๅขƒ | ๅผ€ๅ‘/้ƒจ็ฝฒ็Žฏๅขƒ่ƒฝๅฆ็จณๅฎš่ฎฟ\"}],\"AI Coding\":[{\"url\":\"/01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ\",\"frontmatter\":{\"date\":\"2025-11-25 00:52:28\",\"title\":\"AI ็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡ๆทฑๅบฆ่งฃๆžไบ† AI ้ฉฑๅŠจ็ผ–็จ‹็š„ไธ‰ๅคงๆผ”่ฟ›่Œƒๅผ๏ผšVibe Coding๏ผˆ่‡ช็„ถ่ฏญ่จ€้›ถ้—จๆง›ๆž„ๅปบ๏ผ‰ใ€AI IDE๏ผˆ็ผ–่พ‘ๅ™จๆทฑๅบฆ่พ…ๅŠฉๆๆ•ˆ๏ผ‰ๅŠ Agentic Engineering๏ผˆ่‡ชไธปๅทฅ็จ‹ๅธˆๆ‰ง่กŒไปปๅŠก๏ผ‰ใ€‚้€š่ฟ‡ๆจชๅ‘ๅฏนๆฏ” Bolt.newใ€Cursorใ€Claude Code ็ญ‰ๅ‰ๆฒฟๅทฅๅ…ท๏ผŒๆ–‡็ซ ๅ‹พๅ‹’ๅ‡บไธ€ๆกไปŽโ€œๅฟซ้€ŸๅŽŸๅž‹โ€ๅˆฐโ€œ้ซ˜ๆ•ˆๅๅŒโ€ๅ†ๅˆฐโ€œ่‡ชไธปไบคไป˜โ€็š„่ฟ›้˜ถ่ทฏๅพ„ใ€‚ๆ ธๅฟƒๆ—จๅœจๆŒ‡ๅฏผ็”จๆˆทๅˆฉ็”จ AI ๅทฅๅ…ท็Ÿฉ้˜ตๆ‰“็ ดๆŠ€ๆœฏ่พน็•Œ๏ผŒๅฎž็ŽฐไปŽๅˆ›ๆ„ๆ่ฟฐๅˆฐๅทฅไธš็บงไบคไป˜็š„็”ŸไบงๅŠ›้ฃž่ทƒ๏ผŒ้‡ๅก‘่ฝฏไปถๅผ€ๅ‘ๅ…จ็”Ÿๅ‘ฝๅ‘จๆœŸใ€‚\",\"permalink\":\"/ai-learning/ai-coding-resources\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/source_sites_bg.png\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"AI Coding\",\"Vibe Coding\",\"Agentic Engineering\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"AI ็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่\",\"date\":\"2025-11-25 00:52:28\",\"capture\":\"1. ไธ‰็ง็ผ–็จ‹่Œƒๅผ้€Ÿ่งˆ\\n| ่Œƒๅผ | ไธ€ๅฅ่ฏๆ่ฟฐ | ไฝ ็š„่ง’่‰ฒ |\\n|:-----|:---------|:--------|\\n| Vibe Coding | ็”จ่‡ช็„ถ่ฏญ่จ€ๆ่ฟฐ้œ€ๆฑ‚๏ผŒAI ็›ดๆŽฅ็”Ÿๆˆๅฏ่ฟ่กŒ็š„ๅฎŒๆ•ด้กน็›ฎ | ๆ่ฟฐ้œ€ๆฑ‚๏ผŒ่ฎฉ AI ๅ†™ไปฃ็ (```ๆ–ฐๆ‰‹ๅ‹ๅฅฝ```) |\\n| AI IDE | ๅœจ็ผ–่พ‘ๅ™จ้‡Œๅผ•ๅ…ฅ AI ่พ…ๅŠฉ๏ผŒ่พนๅ†™่พน่กฅๅ…จใ€่พน้—ฎ่พนๆ”น | ไธปๅฏผๅผ€ๅ‘๏ผŒ่ฎฉ AI ๅšๅ‰ฏ้ฉพ้ฉถ(```ๆ›ดๅคšๆŽงๅˆถ```) |\\n| Agentic Engineering | AI ไฝœไธบ\\\"่‡ชไธปๅทฅ็จ‹ๅธˆ\\\"๏ผŒๆŽฅๆ”ถไปปๅŠกๅŽ่‡ชๅŠจ่ง„ๅˆ’ๅนถๆ‰ง่กŒๅ…จๅฅ—ไปฃ็ ๅทฅไฝœๆต | ๆไปปๅŠกใ€ๅฎก็ป“ๆžœ๏ผŒ่ฎฉ AI ๆ‰ง่กŒ(```ๆž่‡ดๆๆ•ˆ```) |\\nๆ–ฐๆ‰‹่ทฏ็บฟๅปบ่ฎฎ๏ผšๅ…ˆ\"}],\"Vibe Coding\":[{\"url\":\"/01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ\",\"frontmatter\":{\"date\":\"2025-11-25 00:52:28\",\"title\":\"AI ็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡ๆทฑๅบฆ่งฃๆžไบ† AI ้ฉฑๅŠจ็ผ–็จ‹็š„ไธ‰ๅคงๆผ”่ฟ›่Œƒๅผ๏ผšVibe Coding๏ผˆ่‡ช็„ถ่ฏญ่จ€้›ถ้—จๆง›ๆž„ๅปบ๏ผ‰ใ€AI IDE๏ผˆ็ผ–่พ‘ๅ™จๆทฑๅบฆ่พ…ๅŠฉๆๆ•ˆ๏ผ‰ๅŠ Agentic Engineering๏ผˆ่‡ชไธปๅทฅ็จ‹ๅธˆๆ‰ง่กŒไปปๅŠก๏ผ‰ใ€‚้€š่ฟ‡ๆจชๅ‘ๅฏนๆฏ” Bolt.newใ€Cursorใ€Claude Code ็ญ‰ๅ‰ๆฒฟๅทฅๅ…ท๏ผŒๆ–‡็ซ ๅ‹พๅ‹’ๅ‡บไธ€ๆกไปŽโ€œๅฟซ้€ŸๅŽŸๅž‹โ€ๅˆฐโ€œ้ซ˜ๆ•ˆๅๅŒโ€ๅ†ๅˆฐโ€œ่‡ชไธปไบคไป˜โ€็š„่ฟ›้˜ถ่ทฏๅพ„ใ€‚ๆ ธๅฟƒๆ—จๅœจๆŒ‡ๅฏผ็”จๆˆทๅˆฉ็”จ AI ๅทฅๅ…ท็Ÿฉ้˜ตๆ‰“็ ดๆŠ€ๆœฏ่พน็•Œ๏ผŒๅฎž็ŽฐไปŽๅˆ›ๆ„ๆ่ฟฐๅˆฐๅทฅไธš็บงไบคไป˜็š„็”ŸไบงๅŠ›้ฃž่ทƒ๏ผŒ้‡ๅก‘่ฝฏไปถๅผ€ๅ‘ๅ…จ็”Ÿๅ‘ฝๅ‘จๆœŸใ€‚\",\"permalink\":\"/ai-learning/ai-coding-resources\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/source_sites_bg.png\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"AI Coding\",\"Vibe Coding\",\"Agentic Engineering\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"AI ็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่\",\"date\":\"2025-11-25 00:52:28\",\"capture\":\"1. ไธ‰็ง็ผ–็จ‹่Œƒๅผ้€Ÿ่งˆ\\n| ่Œƒๅผ | ไธ€ๅฅ่ฏๆ่ฟฐ | ไฝ ็š„่ง’่‰ฒ |\\n|:-----|:---------|:--------|\\n| Vibe Coding | ็”จ่‡ช็„ถ่ฏญ่จ€ๆ่ฟฐ้œ€ๆฑ‚๏ผŒAI ็›ดๆŽฅ็”Ÿๆˆๅฏ่ฟ่กŒ็š„ๅฎŒๆ•ด้กน็›ฎ | ๆ่ฟฐ้œ€ๆฑ‚๏ผŒ่ฎฉ AI ๅ†™ไปฃ็ (```ๆ–ฐๆ‰‹ๅ‹ๅฅฝ```) |\\n| AI IDE | ๅœจ็ผ–่พ‘ๅ™จ้‡Œๅผ•ๅ…ฅ AI ่พ…ๅŠฉ๏ผŒ่พนๅ†™่พน่กฅๅ…จใ€่พน้—ฎ่พนๆ”น | ไธปๅฏผๅผ€ๅ‘๏ผŒ่ฎฉ AI ๅšๅ‰ฏ้ฉพ้ฉถ(```ๆ›ดๅคšๆŽงๅˆถ```) |\\n| Agentic Engineering | AI ไฝœไธบ\\\"่‡ชไธปๅทฅ็จ‹ๅธˆ\\\"๏ผŒๆŽฅๆ”ถไปปๅŠกๅŽ่‡ชๅŠจ่ง„ๅˆ’ๅนถๆ‰ง่กŒๅ…จๅฅ—ไปฃ็ ๅทฅไฝœๆต | ๆไปปๅŠกใ€ๅฎก็ป“ๆžœ๏ผŒ่ฎฉ AI ๆ‰ง่กŒ(```ๆž่‡ดๆๆ•ˆ```) |\\nๆ–ฐๆ‰‹่ทฏ็บฟๅปบ่ฎฎ๏ผšๅ…ˆ\"}],\"Agentic Engineering\":[{\"url\":\"/01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/10.AI ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/00.AI็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ\",\"frontmatter\":{\"date\":\"2025-11-25 00:52:28\",\"title\":\"AI ็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡ๆทฑๅบฆ่งฃๆžไบ† AI ้ฉฑๅŠจ็ผ–็จ‹็š„ไธ‰ๅคงๆผ”่ฟ›่Œƒๅผ๏ผšVibe Coding๏ผˆ่‡ช็„ถ่ฏญ่จ€้›ถ้—จๆง›ๆž„ๅปบ๏ผ‰ใ€AI IDE๏ผˆ็ผ–่พ‘ๅ™จๆทฑๅบฆ่พ…ๅŠฉๆๆ•ˆ๏ผ‰ๅŠ Agentic Engineering๏ผˆ่‡ชไธปๅทฅ็จ‹ๅธˆๆ‰ง่กŒไปปๅŠก๏ผ‰ใ€‚้€š่ฟ‡ๆจชๅ‘ๅฏนๆฏ” Bolt.newใ€Cursorใ€Claude Code ็ญ‰ๅ‰ๆฒฟๅทฅๅ…ท๏ผŒๆ–‡็ซ ๅ‹พๅ‹’ๅ‡บไธ€ๆกไปŽโ€œๅฟซ้€ŸๅŽŸๅž‹โ€ๅˆฐโ€œ้ซ˜ๆ•ˆๅๅŒโ€ๅ†ๅˆฐโ€œ่‡ชไธปไบคไป˜โ€็š„่ฟ›้˜ถ่ทฏๅพ„ใ€‚ๆ ธๅฟƒๆ—จๅœจๆŒ‡ๅฏผ็”จๆˆทๅˆฉ็”จ AI ๅทฅๅ…ท็Ÿฉ้˜ตๆ‰“็ ดๆŠ€ๆœฏ่พน็•Œ๏ผŒๅฎž็ŽฐไปŽๅˆ›ๆ„ๆ่ฟฐๅˆฐๅทฅไธš็บงไบคไป˜็š„็”ŸไบงๅŠ›้ฃž่ทƒ๏ผŒ้‡ๅก‘่ฝฏไปถๅผ€ๅ‘ๅ…จ็”Ÿๅ‘ฝๅ‘จๆœŸใ€‚\",\"permalink\":\"/ai-learning/ai-coding-resources\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/source_sites_bg.png\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"AI Coding\",\"Vibe Coding\",\"Agentic Engineering\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"AI ็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่\",\"date\":\"2025-11-25 00:52:28\",\"capture\":\"1. ไธ‰็ง็ผ–็จ‹่Œƒๅผ้€Ÿ่งˆ\\n| ่Œƒๅผ | ไธ€ๅฅ่ฏๆ่ฟฐ | ไฝ ็š„่ง’่‰ฒ |\\n|:-----|:---------|:--------|\\n| Vibe Coding | ็”จ่‡ช็„ถ่ฏญ่จ€ๆ่ฟฐ้œ€ๆฑ‚๏ผŒAI ็›ดๆŽฅ็”Ÿๆˆๅฏ่ฟ่กŒ็š„ๅฎŒๆ•ด้กน็›ฎ | ๆ่ฟฐ้œ€ๆฑ‚๏ผŒ่ฎฉ AI ๅ†™ไปฃ็ (```ๆ–ฐๆ‰‹ๅ‹ๅฅฝ```) |\\n| AI IDE | ๅœจ็ผ–่พ‘ๅ™จ้‡Œๅผ•ๅ…ฅ AI ่พ…ๅŠฉ๏ผŒ่พนๅ†™่พน่กฅๅ…จใ€่พน้—ฎ่พนๆ”น | ไธปๅฏผๅผ€ๅ‘๏ผŒ่ฎฉ AI ๅšๅ‰ฏ้ฉพ้ฉถ(```ๆ›ดๅคšๆŽงๅˆถ```) |\\n| Agentic Engineering | AI ไฝœไธบ\\\"่‡ชไธปๅทฅ็จ‹ๅธˆ\\\"๏ผŒๆŽฅๆ”ถไปปๅŠกๅŽ่‡ชๅŠจ่ง„ๅˆ’ๅนถๆ‰ง่กŒๅ…จๅฅ—ไปฃ็ ๅทฅไฝœๆต | ๆไปปๅŠกใ€ๅฎก็ป“ๆžœ๏ผŒ่ฎฉ AI ๆ‰ง่กŒ(```ๆž่‡ดๆๆ•ˆ```) |\\nๆ–ฐๆ‰‹่ทฏ็บฟๅปบ่ฎฎ๏ผšๅ…ˆ\"}],\"AI ๅŠฉๆ‰‹\":[{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"frontmatter\":{\"date\":\"2025-11-25 00:52:28\",\"title\":\"ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไธบไพฟไบŽ้ซ˜ๆ•ˆๅˆฉ็”จ AI ๅทฅๅ…ทๆๅ‡ๅญฆไน ใ€ๆœ็ดขๅ’Œๅˆ›ไฝœๆ•ˆ็އ๏ผŒๆœฌๆ–‡็ณป็ปŸๆ•ด็†ไบ†ไธปๆต็š„ AI ๅŠฉๆ‰‹ไธŽๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐ็›ธๅ…ณ่ต„ๆบใ€‚ๅ†…ๅฎนๅˆ†ไธบโ€œAI ๅŠฉๆ‰‹โ€๏ผˆๅฆ‚ ChatGPTใ€Claudeใ€Gemini ็ญ‰ๅฏน่ฏๅผๅŠฉๆ‰‹๏ผ‰ๅ’Œโ€œๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐโ€๏ผˆๅฆ‚ๅ†™ไฝœใ€็ป˜็”ป็ญ‰้ข†ๅŸŸ็š„ AI ๅทฅๅ…ทไธŽๅนณๅฐ๏ผ‰๏ผŒไธ”ๆ ‡ๆณจไบ†ๅ…ถๆ ธๅฟƒ่ƒฝๅŠ›ใ€้€‚ๅˆๅœบๆ™ฏ๏ผŒไปฅๅŠ็‰น่‰ฒไผ˜ๅŠฟใ€‚\",\"permalink\":\"/ai-learning/tools-assistant\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/source_sites_bg.png\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"AI ๅŠฉๆ‰‹\",\"AI ๆœ็ดข\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"date\":\"2025-11-25 00:52:28\",\"capture\":\"1. AI ๅŠฉๆ‰‹\\n> ้€‰ๆ‹ฉๅปบ่ฎฎ๏ผš ่‹ฑๆ–‡ไธบไธป โ†’ ไผ˜ๅ…ˆ ChatGPT / Claude / Gemini๏ผ›ไธญๆ–‡ไธบไธป โ†’ ไผ˜ๅ…ˆ Kimi / DeepSeek / ้€šไน‰ๅƒ้—ฎ๏ผ›้œ€่ฆ่”็ฝ‘ๅฎžๆ—ถไฟกๆฏ โ†’ Gemini / Grok๏ผ›้œ€่ฆๅˆ†ๆž้•ฟๆ–‡ๆกฃ โ†’ Claude / Kimi๏ผ›่ฟฝๆฑ‚ไฝŽๆˆๆœฌๅผ€ๆบ้ƒจ็ฝฒ โ†’ DeepSeekใ€‚\\n>\\n> ๆณจ๏ผš็›ฎๅ‰ๅ›ฝๅค–ๆจกๅž‹๏ผˆๅฆ‚ ChatGPTใ€Claudeใ€Gemini ็ญ‰๏ผ‰ๅœจ่‹ฑๆ–‡ๅค„็†ใ€ๅคšๆจกๆ€่ƒฝๅŠ›ใ€ๆ’ไปถ็”Ÿๆ€ๅ’Œ API ไธฐๅฏŒๆ€ง็ญ‰ๆ–น้ข๏ผŒๆ•ดไฝ“ไธŠไพ็„ถไผ˜ไบŽๅ›ฝๅ†…ๆจกๅž‹๏ผŒ้€‚ๅˆๅฏน่‹ฑๆ–‡ๅˆ›ไฝœใ€ๅคš่ฏญ่จ€ๆฒŸ้€šใ€ๅคๆ‚ๆŽจ็†ใ€ไปฃ็ ๅŠฉๆ‰‹็ญ‰ๅœบๆ™ฏๆœ‰ๆ›ด้ซ˜่ฆๆฑ‚็š„็”จๆˆทใ€‚ไธ่ฟ‡๏ผŒๅ›ฝๅ†…ๆจกๅž‹ๅœจไธญๆ–‡็†่งฃใ€ๆœฌๅœฐๅŒ–ใ€ๅˆ่ง„\"}],\"AI ๆœ็ดข\":[{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่/01.ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"frontmatter\":{\"date\":\"2025-11-25 00:52:28\",\"title\":\"ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไธบไพฟไบŽ้ซ˜ๆ•ˆๅˆฉ็”จ AI ๅทฅๅ…ทๆๅ‡ๅญฆไน ใ€ๆœ็ดขๅ’Œๅˆ›ไฝœๆ•ˆ็އ๏ผŒๆœฌๆ–‡็ณป็ปŸๆ•ด็†ไบ†ไธปๆต็š„ AI ๅŠฉๆ‰‹ไธŽๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐ็›ธๅ…ณ่ต„ๆบใ€‚ๅ†…ๅฎนๅˆ†ไธบโ€œAI ๅŠฉๆ‰‹โ€๏ผˆๅฆ‚ ChatGPTใ€Claudeใ€Gemini ็ญ‰ๅฏน่ฏๅผๅŠฉๆ‰‹๏ผ‰ๅ’Œโ€œๅ†…ๅฎนๅˆ›ไฝœๅนณๅฐโ€๏ผˆๅฆ‚ๅ†™ไฝœใ€็ป˜็”ป็ญ‰้ข†ๅŸŸ็š„ AI ๅทฅๅ…ทไธŽๅนณๅฐ๏ผ‰๏ผŒไธ”ๆ ‡ๆณจไบ†ๅ…ถๆ ธๅฟƒ่ƒฝๅŠ›ใ€้€‚ๅˆๅœบๆ™ฏ๏ผŒไปฅๅŠ็‰น่‰ฒไผ˜ๅŠฟใ€‚\",\"permalink\":\"/ai-learning/tools-assistant\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/source_sites_bg.png\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"่ต„ๆบๆŽจ่\",\"AI\",\"AI ๅŠฉๆ‰‹\",\"AI ๆœ็ดข\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฅฝ็”จ็š„ AI ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่\",\"date\":\"2025-11-25 00:52:28\",\"capture\":\"1. AI ๅŠฉๆ‰‹\\n> ้€‰ๆ‹ฉๅปบ่ฎฎ๏ผš ่‹ฑๆ–‡ไธบไธป โ†’ ไผ˜ๅ…ˆ ChatGPT / Claude / Gemini๏ผ›ไธญๆ–‡ไธบไธป โ†’ ไผ˜ๅ…ˆ Kimi / DeepSeek / ้€šไน‰ๅƒ้—ฎ๏ผ›้œ€่ฆ่”็ฝ‘ๅฎžๆ—ถไฟกๆฏ โ†’ Gemini / Grok๏ผ›้œ€่ฆๅˆ†ๆž้•ฟๆ–‡ๆกฃ โ†’ Claude / Kimi๏ผ›่ฟฝๆฑ‚ไฝŽๆˆๆœฌๅผ€ๆบ้ƒจ็ฝฒ โ†’ DeepSeekใ€‚\\n>\\n> ๆณจ๏ผš็›ฎๅ‰ๅ›ฝๅค–ๆจกๅž‹๏ผˆๅฆ‚ ChatGPTใ€Claudeใ€Gemini ็ญ‰๏ผ‰ๅœจ่‹ฑๆ–‡ๅค„็†ใ€ๅคšๆจกๆ€่ƒฝๅŠ›ใ€ๆ’ไปถ็”Ÿๆ€ๅ’Œ API ไธฐๅฏŒๆ€ง็ญ‰ๆ–น้ข๏ผŒๆ•ดไฝ“ไธŠไพ็„ถไผ˜ไบŽๅ›ฝๅ†…ๆจกๅž‹๏ผŒ้€‚ๅˆๅฏน่‹ฑๆ–‡ๅˆ›ไฝœใ€ๅคš่ฏญ่จ€ๆฒŸ้€šใ€ๅคๆ‚ๆŽจ็†ใ€ไปฃ็ ๅŠฉๆ‰‹็ญ‰ๅœบๆ™ฏๆœ‰ๆ›ด้ซ˜่ฆๆฑ‚็š„็”จๆˆทใ€‚ไธ่ฟ‡๏ผŒๅ›ฝๅ†…ๆจกๅž‹ๅœจไธญๆ–‡็†่งฃใ€ๆœฌๅœฐๅŒ–ใ€ๅˆ่ง„\"},{\"url\":\"/10.ไบงๅ“ Sense/01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž/11.AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"relativePath\":\"/10.ไบงๅ“ Sense/01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž/11.AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"frontmatter\":{\"date\":\"2024-05-08 08:56:21\",\"title\":\"AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจๅคงๆจกๅž‹้‡ๅก‘ไบ’่”็ฝ‘ไบคไบ’็š„ๅฝ“ไธ‹๏ผŒPerplexity ๅนถๆœช้€‰ๆ‹ฉๆˆไธบโ€œไธ‹ไธ€ไธช Googleโ€๏ผŒ่€Œๆ˜ฏไปฅโ€œ็Ÿฅ่ฏ†ๅ‘็Žฐๅผ•ๆ“Žโ€็š„ๅ…จๆ–ฐๅฎšไฝ๏ผŒ็ฒพๅ‡†ๅˆ‡ๅ…ฅ็Ÿฅ่ฏ†ๅทฅไฝœ่€…็š„ๆ ธๅฟƒๅทฅไฝœๆตใ€‚ๆœฌๆ–‡่ทณๅ‡บๅ•็บฏ็š„ๆจกๅž‹่ƒฝๅŠ›ๅฏนๆฏ”๏ผŒไปŽไบงๅ“ Sense ไธŽๅทฅ็จ‹้€ป่พ‘็š„ๅŒ้‡่ง†่ง’๏ผŒๆทฑๅบฆๆ‹†่งฃ Perplexity ็š„็ ดๅฑ€ไน‹้“ใ€‚ๆˆ‘ไปฌๅฐ†ๆŽข่ฎจๅฎƒๅฆ‚ไฝ•้€š่ฟ‡ๅ็›ด่ง‰็š„ UI ๅˆ›ๆ–ฐ้‡ๅก‘ไบคไบ’่ตท็‚น๏ผŒๅฆ‚ไฝ•ๅœจๅทฅ็จ‹ๅฑ‚้ขๆญป็ฃ•ๅฐพ้ƒจๅปถ่ฟŸไธŽๅนป่ง‰ๆŽงๅˆถ๏ผŒไปฅๅŠๅฎƒๅฆ‚ไฝ•ๅˆฉ็”จๅทจๅคด็š„ๅˆฉๆถฆ็އๆŠคๅŸŽๆฒณๅฎž็Žฐ้”™ไฝ็ซžไบ‰ใ€‚ๆœ€็ปˆ๏ผŒๆˆ‘ไปฌๅฐ†่ง†็บฟๆŠ•ๅ‘ๆœชๆฅ๏ผŒไธ€็ชฅ AI ไปŽ่ขซๅŠจๅ“ๅบ”่ตฐๅ‘ไธปๅŠจๆŽข็ดข็š„ๆผ”่ฟ›่“ๅ›พใ€‚\",\"permalink\":\"/product-sense/perplexity-knowledge-worker\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"AI ๆœ็ดข\",\"็Ÿฅ่ฏ†ๅ‘็Žฐ\",\"ไบงๅ“ Sense\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"date\":\"2024-05-08 08:56:21\",\"capture\":\"1. ๅผ•่จ€\\nๅœจ AI ๆตชๆฝฎไธ‹๏ผŒๆœ็ดขๅผ•ๆ“Ž็š„่Œƒๅผๆญฃๅœจๅ‘็”Ÿ่ฝฌ็งปใ€‚ไฝœไธบๅฝ“ๅ‰ๅค‡ๅ—็žฉ็›ฎ็š„ AI ๆœ็ดขไบงๅ“๏ผŒPerplexity ๅนถๆฒกๆœ‰่ฏ•ๅ›พๆˆไธบโ€œไธ‹ไธ€ไธช Googleโ€๏ผŒ่€Œๆ˜ฏๅฐ†่‡ชๅทฑๅฎšไน‰ไธบ็Ÿฅ่ฏ†ๅ‘็Žฐๅผ•ๆ“Žใ€‚\\nๅฏนไบŽๆฏๅคฉ้œ€่ฆๅค„็†ๆตท้‡ไฟกๆฏใ€่ฟ›่กŒๅคๆ‚ๅ†ณ็ญ–็š„็Ÿฅ่ฏ†ๅทฅไฝœ่€…่€Œ่จ€๏ผŒๅฆ‚ไฝ•้ซ˜ๆ•ˆๅœฐโ€œๅŽปๅ™ชโ€ๅนถ่Žทๅ–้ซ˜ไฟกๅบฆ็Ÿฅ่ฏ†ๆ˜ฏๆ ธๅฟƒ่ฏ‰ๆฑ‚ใ€‚็ฌ”่€…ๅฐ†ไปŽไบงๅ“ไบคไบ’ใ€ๆŠ€ๆœฏๅทฅ็จ‹ใ€ๅ•†ไธš้€ป่พ‘ไธŽๆœชๆฅๆผ”่ฟ›ๅ››ไธช็ปดๅบฆ๏ผŒๅˆ†ๆž Perplexity ๆ˜ฏๅฆ‚ไฝ•้‡ๅก‘ไฟกๆฏ่Žทๅ–ๅทฅไฝœๆต็š„ใ€‚\\nๆœฌๆ–‡ๆ—จๅœจ้€š่ฟ‡ๅฏน Perplexity ็š„ๆทฑๅบฆไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž๏ผŒๅธฎๅŠฉ่ฏป่€…็†่งฃ AI ๆœ็ดขไบงๅ“็š„่ฎพ่ฎก้€ป่พ‘ไธŽ็”จๆˆทไฝ“้ชŒไผ˜ๅŒ–่ทฏๅพ„๏ผŒๅŒๆ—ถไธบ็Ÿฅ่ฏ†ๅทฅไฝœ่€…ๆไพ›ๅฏ่ฝๅœฐ็š„ๆ•ˆ็އๆๅ‡ๆ–นๆณ•๏ผŒๅนถๅœจ่ฟ‡็จ‹ไธญๅŸนๅ…ป็ป“ๆž„ๅŒ–ไบงๅ“ๅˆ†ๆžๆ€็ปดใ€‚\\n\"}],\"ไบงๅ“ Sense\":[{\"url\":\"/10.ไบงๅ“ Sense/04.ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–/30.ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹่ฏปๅŽๆ„Ÿ\",\"relativePath\":\"/10.ไบงๅ“ Sense/04.ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–/30.ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹่ฏปๅŽๆ„Ÿ\",\"frontmatter\":{\"date\":\"2025-11-24 21:50:00\",\"title\":\"ๆ”พๅผƒๅขž้•ฟๆ‰งๅฟต๏ผŒไธบไป€ไนˆโ€œๅฐ่€Œ็พŽโ€ๆ‰ๆ˜ฏๅฏๆŒ็ปญไน‹่ทฏ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒ็ง‘ๆŠ€ไบ’่”็ฝ‘่กŒไธš็š„ๅ™ไบ‹้ƒฝ่ขซโ€œไธๆƒœไธ€ๅˆ‡ไปฃไปทๅฎž็Žฐ่ถ…็บฟๆ€งๅขž้•ฟโ€ๆ‰€ไธปๅฏผใ€‚ไปฟไฝ›ๅชๆœ‰ๆ‹ฟๅˆฐๅทจ้ข่ž่ต„ใ€็–ฏ็‹‚ๆ‹›ไบบใ€ๆˆไธบไผฐๅ€ผ็ ด็™พไบฟ็š„ๅบž็„ถๅคง็‰ฉ๏ผŒๆ‰็ฎ—ๅพ—ไธŠๆ˜ฏๆˆๅŠŸ็š„ๅˆ›ไธšใ€‚็„ถ่€Œ๏ผŒ่ฏปๅฎŒ่จๅธŒๅฐ”ยทๆ‹‰ๆ–‡ๅ‰ไบš็š„ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹ๅŽ๏ผŒ็ฌ”่€…่Žทๅพ—ไบ†ไธ€็งๆˆช็„ถไธๅŒ็š„ๅ•†ไธš่ง†่ง’๏ผšไผไธšๅญ˜ๅœจ็š„้ฆ–่ฆ็›ฎ็š„ไธๆ˜ฏไธบไบ†่ž่ต„ๅ’Œๆ‰ฉๅผ ๏ผŒ่€Œๆ˜ฏไธบไบ†้€š่ฟ‡่งฃๅ†ณ้—ฎ้ข˜ๆฅ่Žทๅพ—ๆŒ็ปญ็š„็›ˆๅˆฉใ€‚ ๆœฌๆ–‡็ป“ๅˆไนฆไธญ็š„ๆ ธๅฟƒ่ฎบ็‚นไธŽ่‡ช่บซ็š„็ ”ๅ‘่ง†่ง’๏ผŒๆŠŠๅฐ†่ฟ™ๆœฌไนฆ่ƒŒๅŽ็š„็ป่ฅ้€ป่พ‘ไธŽไบงๅ“ๅ“ฒๅญฆๆขณ็†ไธบๅ‡ ไธชๆ ธๅฟƒๅฑ‚้ข็š„ๆ€่€ƒใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense/small-rule-learn\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"ไบงๅ“ Sense\",\"ๅ•†ไธšๅŒ–\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆ”พๅผƒๅขž้•ฟๆ‰งๅฟต๏ผŒไธบไป€ไนˆโ€œๅฐ่€Œ็พŽโ€ๆ‰ๆ˜ฏๅฏๆŒ็ปญไน‹่ทฏ\",\"date\":\"2025-11-24 21:50:00\",\"capture\":\"ไนฆๅ๏ผšใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹\\nไฝœ่€…๏ผš[็พŽ] ่จๅธŒๅฐ”ยทๆ‹‰ๆ–‡ๅ‰ไบš\\nๆ ธๅฟƒๆ ‡็ญพ๏ผšๆž็ฎ€ๅˆ›ไธš๏ฝœ็คพๅŒบๆœฌไฝ๏ฝœๆŒ็ปญ็›ˆๅˆฉ๏ฝœๅˆ›ไฝœ่€…็ปๆตŽ\\nไธ€ๅฅ่ฏ็ฎ€่ฏ„๏ผšๅœจ็›ฒ็›ฎๅด‡ๆ‹œ่ง„ๆจกๆ‰ฉๅผ ็š„ๅ•†ไธš่ฏญๅขƒไธ‹๏ผŒ่ฟ™ๆ˜ฏไธ€ไปฝๅ†™็ป™็‹ฌ็ซ‹ๅˆ›ไฝœ่€…ไธŽๅผ€ๅ‘่€…็š„ๆธ…้†’ๆŒ‡ๅ—๏ผŒๆ•™ไผšๆˆ‘ไปฌๅฆ‚ไฝ•็”จๆœ€ๅฐ‘็š„่ต„ๆบ๏ผŒ่งฃๅ†ณ็œŸๅฎž็š„็—›็‚น๏ผŒๅนถ่Žทๅพ—้•ฟไน…็š„่‡ช็”ฑใ€‚\\nๆ›ดๅคšไนฆ็ฑๆŽจ่ไฟกๆฏๅฏๅ‚่€ƒ๏ผšไบงๅ“ Sense ไธŽๅ•†ไธšๅŒ–\\n 1. ็คพๅŒบๅ…ˆ่กŒ๏ผšไปŽโ€œๆˆ‘ๆ˜ฏ่ฐโ€ๅˆฐโ€œๆˆ‘่ƒฝไธบ่ฐ่งฃๅ†ณ้—ฎ้ข˜โ€\\nไผ ็ปŸๅ•†ไธš้€ป่พ‘ๅพ€ๅพ€ๆ˜ฏๅ…ˆๆž„ๆ€ไธ€ไธชๅฎๅคง็š„็‚นๅญ๏ผŒ้—ญ้—จ้€ ่ฝฆๆ‰“็ฃจไบงๅ“๏ผŒๆœ€ๅŽๅ†็ ธ้’ฑๅŽปๅธ‚ๅœบไธŠๅฏปๆ‰พ็›ฎๆ ‡็”จๆˆทใ€‚่€Œๆœฌไนฆๆๅ‡บไบ†ไธ€ไธช้ข ่ฆ†ๆ€ง็š„ๅๅ‘่ทฏๅพ„๏ผš็คพๅŒบ $\\\\rightarrow$ ้—ฎ้ข˜ $\\\\rightarrow$ ๆต็จ‹ $\\\\rightarrow$\"},{\"url\":\"/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/40.ๆดžๅฏŸๅŠ›ๆจกๅž‹\",\"relativePath\":\"/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/40.ๆดžๅฏŸๅŠ›ๆจกๅž‹\",\"frontmatter\":{\"date\":\"2025-11-14 16:00:00\",\"title\":\"ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผšๅฆ‚ไฝ•็œ‹้€ไบงๅ“ไธŽๆŠ€ๆœฏ่ƒŒๅŽ็š„็ณป็ปŸ้€ป่พ‘๏ผŸ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆ— ่ฎบๆ˜ฏๅšไบงๅ“ใ€ๆžๆŠ€ๆœฏ๏ผŒ่ฟ˜ๆ˜ฏๅบ”ๅฏนๆ—ฅๅธธๅทฅไฝœไธญ็š„ๅ„็งๆŒ‘ๆˆ˜๏ผŒไฝ ๆ˜ฏๅฆ้‡ๅˆฐ่ฟ‡่ฟ™ๆ ท็š„ๅ›ฐๅขƒ๏ผšๆ˜Žๆ˜ŽๆŒ‰็ป้ชŒ่กŒไบ‹๏ผŒๅดๅฑกๅฑก่ธฉๅ‘๏ผ›ๅˆš่งฃๅ†ณ่กจ้ข้—ฎ้ข˜๏ผŒ้šๆ‚ฃๅˆๅทๅœŸ้‡ๆฅใ€‚้—ฎ้ข˜ๆœชๅฟ…ๅ‡บๅœจๅŠชๅŠ›็จ‹ๅบฆ๏ผŒ่€ŒๅœจไบŽๆˆ‘ไปฌๅช็›ฏ็€่กจ่ฑก๏ผŒๅดๅฟฝ็•ฅไบ†่ƒŒๅŽ็œŸๆญฃ่ตทไฝœ็”จ็š„็ณป็ปŸ๏ผŒๆฒกๆœ‰็œ‹ๆ‡‚่—ๅœจ่ƒŒๅŽ็š„็ณป็ปŸใ€‚ไธบไป€ไนˆๅŒๆ ทๆ˜ฏ่งฃๅ†ณ้—ฎ้ข˜๏ผŒๆœ‰ไบบๅช่ƒฝโ€œๅคด็—›ๅŒปๅคดโ€๏ผŒๆœ‰ไบบๅด่ƒฝ็›ดๅ‡ปๆœฌ่ดจ๏ผŸ่ฟ™็ฏ‡ๆ–‡็ซ ๅฐ†็”จ้€šไฟ—ๆ˜“ๆ‡‚็š„ๆ–นๅผ๏ผŒๅธฆไฝ ๆ‹†่งฃไธ€ๅฅ—ๅฎž็”จ็š„ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผŒ่ฎฉๆˆ‘ไปฌๅญฆไผš้€่ฟ‡็Žฐ่ฑกๆŠ“ไฝๆœฌ่ดจ๏ผŒไปŽๆ นๆบไธŠ่งฃๅ†ณ้—ฎ้ข˜ใ€‚\",\"permalink\":\"/product-sense/insight-model\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"ไบงๅ“ Sense\",\"็ณป็ปŸๆดžๅฏŸๅŠ›\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผšๅฆ‚ไฝ•็œ‹้€ไบงๅ“ไธŽๆŠ€ๆœฏ่ƒŒๅŽ็š„็ณป็ปŸ้€ป่พ‘๏ผŸ\",\"date\":\"2025-11-14 16:00:00\",\"capture\":\"1. ่กจ่ฑก่ƒŒๅŽ่—็€ๅ†ณๅฎšไธ€ๅˆ‡็š„โ€œ็ณป็ปŸ้ป‘็›’โ€\\nๆˆ‘ไปฌๅœจๆ—ฅๅธธๅผ€ๅ‘ๆˆ–ไบงๅ“่ฎพ่ฎกไธญ๏ผŒๆ€ปๆ˜ฏ่ขซๅ„็งโ€œ่กจ่ฑกโ€ๅŒ…ๅ›ด๏ผšDAU ็ช็„ถไธ‹้™ไบ†ใ€็บฟไธŠๅ‡บ็Žฐไบ†ไธ€ไธชๅถ็Žฐ็š„ Bugใ€ๆŸไธชๅŠŸ่ƒฝ็š„่ฝฌๅŒ–็އไธๅŠ้ข„ๆœŸใ€‚ๆˆ‘ไปฌไน ๆƒฏไบ†็›ฏ็€่ฟ™ไบ›็œ‹ๅพ—่ง็š„็ป“ๆžœๆ‰พๅŽŸๅ› ๏ผŒๅดๅฟฝ็•ฅไบ†ไธ€ไธชๆ ธๅฟƒ็œŸ็›ธ๏ผšๆฏไธ€ไธช่กจ่ฑก่ƒŒๅŽ๏ผŒๅ…ถๅฎž้ƒฝ้š่—็€ไธ€ไธช่ฟ่ฝฌๅคๆ‚็š„โ€œ้ป‘็›’ๅญโ€๏ผŒๆญฃๆ˜ฏ่ฟ™ไธช้ป‘็›’ๅญๅ†ณๅฎšไบ†ไบ‹็‰ฉๅ‘ๅฑ•็š„ๅฎข่ง‚่ง„ๅพ‹ใ€‚ๆˆ‘ไปฌๅฏไปฅๆŠŠ่ฟ™ไธช้ป‘็›’ๅญ๏ผŒๅซๅšโ€œ็ณป็ปŸโ€ใ€‚\\n<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/product/system_tips.png\\\" style=\\\"width: 1\"},{\"url\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/60.ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹\",\"relativePath\":\"/20.AI ๅญฆไน ไธŽๅฎž่ทต/04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ/60.ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹\",\"frontmatter\":{\"date\":\"2024-06-14 22:00:00\",\"title\":\"ไธ€ๆฌก็”ฑ Product Sense ้ฉฑๅŠจ็š„ Agent ๆž้™ๅฎž่ทต\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšAI ๆ—ถไปฃ๏ผŒๅ†™ๅฅฝไปฃ็ ๅชๆ˜ฏๅŠๆ ผ็บฟใ€‚ๅœจไธ€ๆฌกๆž้™ๆŒ‘ๆˆ˜่ต›ไธญ๏ผŒๆˆ‘ไปฌ้€š่ฟ‡ๅฏน K12 ่ต›้“็”จๆˆท็—›็‚น็š„็ฒพๅ‡†โ€œ่ง†่ง’ๅˆ‡ๆขโ€๏ผŒๆ‰“้€ ๅ‡บไธ€ๆฌพๆŽˆไบบไปฅๆธ”็š„โ€œๆ•ฐๅญฆ่พ…ๅฏผๅฏผๅธˆโ€ๅนถๆ–ฉ่Žทๅคงๅฅ–ใ€‚ๆœฌๆ–‡ๅค็›˜ไบ† Agent ๆญๅปบ่ƒŒๅŽ็š„ๆ ธๅฟƒ SOP ่ฎพ่ฎก้€ป่พ‘๏ผšๆŠ€ๆœฏ็ปˆ็ฉถ่ฆๅ›žๅฝ’ๅฏน็œŸๅฎžไบบๆ€ง็š„ไฝ“ๅฏŸไธŽๅ…ณๆ€€ใ€‚\",\"coverImg\":\"/img/cover/llm_learning_bg_2.png\",\"permalink\":\"/ai-practice/math-bot\",\"categories\":[\"ai-practice\"],\"tags\":[\"Agent\",\"ไบงๅ“ Sense\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไธ€ๆฌก็”ฑ Product Sense ้ฉฑๅŠจ็š„ Agent ๆž้™ๅฎž่ทต\",\"date\":\"2024-06-14 22:00:00\",\"capture\":\"ๅœจๅˆšๅˆš่ฟ‡ๅŽป็š„ๅ‘จๆœซ๏ผŒๆˆ‘ๅ’Œๅฅฝๅ‹ๅ‚ๅŠ ไบ†ไธ€ๅœบ็”ฑๅƒๅธ† Agent ไธพๅŠž็š„็บฟไธ‹็คพๅŒบๆดปๅŠจใ€‚่ฟ™ๆ˜ฏไธ€ๅœบๅ……ๆปกๆžๅฎข็ฒพ็ฅž็š„โ€œๆž้™ๆŒ‘ๆˆ˜โ€โ€”โ€”ๆˆ‘ไปฌ้œ€่ฆๅœจๆžๅ…ถๆœ‰้™็š„ๆ—ถ้—ดๅ†…๏ผŒไปŽ้›ถๅผ€ๅง‹ๆž„ๆ€ใ€ๆญๅปบๅนถ็Žฐๅœบๅฑ•็คบไธ€ไธชๅฎŒๆ•ด็š„ Agent ๅบ”็”จใ€‚\\nไปคไบบๆƒŠๅ–œ็š„ๆ˜ฏ๏ผŒๆˆ‘ไปฌไธไป…้กบๅˆฉๅฎŒๆˆไบ†ๆž้™ๅผ€ๅ‘๏ผŒๆœ€็ปˆ่ฟ˜ๆ–ฉ่Žทไบ†ๅ…จๅœบ็š„ใ€Œๆœ€ไฝณๅบ”็”จๅฅ–ใ€ใ€‚\\nๅค็›˜่ฟ™ๆฌก็Ÿญๆš‚ๅด้ซ˜ๅฏ†ๅบฆ็š„ๅผ€ๅ‘ไฝ“้ชŒ๏ผŒๆœ€ๅคง็š„ๆ„Ÿ่งฆๆ˜ฏ๏ผšๅœจ AI ๆ—ถไปฃ๏ผŒๅ•็บฏ็š„ๅทฅ็จ‹ๅฎž็Žฐๅทฒ็ปไธๅ†ๆ˜ฏๅ”ฏไธ€็š„ๅฃๅž’๏ผŒ็œŸๆญฃ่ฎฉๅบ”็”จ่„ฑ้ข–่€Œๅ‡บ็š„๏ผŒๆ˜ฏๅฏน็œŸๅฎžไธšๅŠกๅœบๆ™ฏ็š„ๆดžๅฏŸๅŠ›ใ€‚ๅฝ“ (Engineering + Product) ร— AI ็š„้ฃž่ฝฎๅผ€ๅง‹่ฝฌๅŠจๆ—ถ๏ผŒๆŠ€ๆœฏๆ‰่ƒฝ็œŸๆญฃ่ฝฌๅŒ–ไธบ่งฃๅ†ณ้—ฎ้ข˜็š„ๅˆฉๅ™จใ€‚\\nไปฅไธ‹ๆ˜ฏๅ…ณไบŽ่ฟ™ๆฌกโ€œK12 ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹โ€ Agent ๆญๅปบ็š„ๅฎž\"},{\"url\":\"/10.ไบงๅ“ Sense/01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž/11.AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"relativePath\":\"/10.ไบงๅ“ Sense/01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž/11.AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"frontmatter\":{\"date\":\"2024-05-08 08:56:21\",\"title\":\"AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจๅคงๆจกๅž‹้‡ๅก‘ไบ’่”็ฝ‘ไบคไบ’็š„ๅฝ“ไธ‹๏ผŒPerplexity ๅนถๆœช้€‰ๆ‹ฉๆˆไธบโ€œไธ‹ไธ€ไธช Googleโ€๏ผŒ่€Œๆ˜ฏไปฅโ€œ็Ÿฅ่ฏ†ๅ‘็Žฐๅผ•ๆ“Žโ€็š„ๅ…จๆ–ฐๅฎšไฝ๏ผŒ็ฒพๅ‡†ๅˆ‡ๅ…ฅ็Ÿฅ่ฏ†ๅทฅไฝœ่€…็š„ๆ ธๅฟƒๅทฅไฝœๆตใ€‚ๆœฌๆ–‡่ทณๅ‡บๅ•็บฏ็š„ๆจกๅž‹่ƒฝๅŠ›ๅฏนๆฏ”๏ผŒไปŽไบงๅ“ Sense ไธŽๅทฅ็จ‹้€ป่พ‘็š„ๅŒ้‡่ง†่ง’๏ผŒๆทฑๅบฆๆ‹†่งฃ Perplexity ็š„็ ดๅฑ€ไน‹้“ใ€‚ๆˆ‘ไปฌๅฐ†ๆŽข่ฎจๅฎƒๅฆ‚ไฝ•้€š่ฟ‡ๅ็›ด่ง‰็š„ UI ๅˆ›ๆ–ฐ้‡ๅก‘ไบคไบ’่ตท็‚น๏ผŒๅฆ‚ไฝ•ๅœจๅทฅ็จ‹ๅฑ‚้ขๆญป็ฃ•ๅฐพ้ƒจๅปถ่ฟŸไธŽๅนป่ง‰ๆŽงๅˆถ๏ผŒไปฅๅŠๅฎƒๅฆ‚ไฝ•ๅˆฉ็”จๅทจๅคด็š„ๅˆฉๆถฆ็އๆŠคๅŸŽๆฒณๅฎž็Žฐ้”™ไฝ็ซžไบ‰ใ€‚ๆœ€็ปˆ๏ผŒๆˆ‘ไปฌๅฐ†่ง†็บฟๆŠ•ๅ‘ๆœชๆฅ๏ผŒไธ€็ชฅ AI ไปŽ่ขซๅŠจๅ“ๅบ”่ตฐๅ‘ไธปๅŠจๆŽข็ดข็š„ๆผ”่ฟ›่“ๅ›พใ€‚\",\"permalink\":\"/product-sense/perplexity-knowledge-worker\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"AI ๆœ็ดข\",\"็Ÿฅ่ฏ†ๅ‘็Žฐ\",\"ไบงๅ“ Sense\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"date\":\"2024-05-08 08:56:21\",\"capture\":\"1. ๅผ•่จ€\\nๅœจ AI ๆตชๆฝฎไธ‹๏ผŒๆœ็ดขๅผ•ๆ“Ž็š„่Œƒๅผๆญฃๅœจๅ‘็”Ÿ่ฝฌ็งปใ€‚ไฝœไธบๅฝ“ๅ‰ๅค‡ๅ—็žฉ็›ฎ็š„ AI ๆœ็ดขไบงๅ“๏ผŒPerplexity ๅนถๆฒกๆœ‰่ฏ•ๅ›พๆˆไธบโ€œไธ‹ไธ€ไธช Googleโ€๏ผŒ่€Œๆ˜ฏๅฐ†่‡ชๅทฑๅฎšไน‰ไธบ็Ÿฅ่ฏ†ๅ‘็Žฐๅผ•ๆ“Žใ€‚\\nๅฏนไบŽๆฏๅคฉ้œ€่ฆๅค„็†ๆตท้‡ไฟกๆฏใ€่ฟ›่กŒๅคๆ‚ๅ†ณ็ญ–็š„็Ÿฅ่ฏ†ๅทฅไฝœ่€…่€Œ่จ€๏ผŒๅฆ‚ไฝ•้ซ˜ๆ•ˆๅœฐโ€œๅŽปๅ™ชโ€ๅนถ่Žทๅ–้ซ˜ไฟกๅบฆ็Ÿฅ่ฏ†ๆ˜ฏๆ ธๅฟƒ่ฏ‰ๆฑ‚ใ€‚็ฌ”่€…ๅฐ†ไปŽไบงๅ“ไบคไบ’ใ€ๆŠ€ๆœฏๅทฅ็จ‹ใ€ๅ•†ไธš้€ป่พ‘ไธŽๆœชๆฅๆผ”่ฟ›ๅ››ไธช็ปดๅบฆ๏ผŒๅˆ†ๆž Perplexity ๆ˜ฏๅฆ‚ไฝ•้‡ๅก‘ไฟกๆฏ่Žทๅ–ๅทฅไฝœๆต็š„ใ€‚\\nๆœฌๆ–‡ๆ—จๅœจ้€š่ฟ‡ๅฏน Perplexity ็š„ๆทฑๅบฆไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž๏ผŒๅธฎๅŠฉ่ฏป่€…็†่งฃ AI ๆœ็ดขไบงๅ“็š„่ฎพ่ฎก้€ป่พ‘ไธŽ็”จๆˆทไฝ“้ชŒไผ˜ๅŒ–่ทฏๅพ„๏ผŒๅŒๆ—ถไธบ็Ÿฅ่ฏ†ๅทฅไฝœ่€…ๆไพ›ๅฏ่ฝๅœฐ็š„ๆ•ˆ็އๆๅ‡ๆ–นๆณ•๏ผŒๅนถๅœจ่ฟ‡็จ‹ไธญๅŸนๅ…ป็ป“ๆž„ๅŒ–ไบงๅ“ๅˆ†ๆžๆ€็ปดใ€‚\\n\"}],\"ๅ•†ไธšๅŒ–\":[{\"url\":\"/10.ไบงๅ“ Sense/04.ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–/30.ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹่ฏปๅŽๆ„Ÿ\",\"relativePath\":\"/10.ไบงๅ“ Sense/04.ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–/30.ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹่ฏปๅŽๆ„Ÿ\",\"frontmatter\":{\"date\":\"2025-11-24 21:50:00\",\"title\":\"ๆ”พๅผƒๅขž้•ฟๆ‰งๅฟต๏ผŒไธบไป€ไนˆโ€œๅฐ่€Œ็พŽโ€ๆ‰ๆ˜ฏๅฏๆŒ็ปญไน‹่ทฏ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจๅพˆ้•ฟไธ€ๆฎตๆ—ถ้—ด้‡Œ๏ผŒ็ง‘ๆŠ€ไบ’่”็ฝ‘่กŒไธš็š„ๅ™ไบ‹้ƒฝ่ขซโ€œไธๆƒœไธ€ๅˆ‡ไปฃไปทๅฎž็Žฐ่ถ…็บฟๆ€งๅขž้•ฟโ€ๆ‰€ไธปๅฏผใ€‚ไปฟไฝ›ๅชๆœ‰ๆ‹ฟๅˆฐๅทจ้ข่ž่ต„ใ€็–ฏ็‹‚ๆ‹›ไบบใ€ๆˆไธบไผฐๅ€ผ็ ด็™พไบฟ็š„ๅบž็„ถๅคง็‰ฉ๏ผŒๆ‰็ฎ—ๅพ—ไธŠๆ˜ฏๆˆๅŠŸ็š„ๅˆ›ไธšใ€‚็„ถ่€Œ๏ผŒ่ฏปๅฎŒ่จๅธŒๅฐ”ยทๆ‹‰ๆ–‡ๅ‰ไบš็š„ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹ๅŽ๏ผŒ็ฌ”่€…่Žทๅพ—ไบ†ไธ€็งๆˆช็„ถไธๅŒ็š„ๅ•†ไธš่ง†่ง’๏ผšไผไธšๅญ˜ๅœจ็š„้ฆ–่ฆ็›ฎ็š„ไธๆ˜ฏไธบไบ†่ž่ต„ๅ’Œๆ‰ฉๅผ ๏ผŒ่€Œๆ˜ฏไธบไบ†้€š่ฟ‡่งฃๅ†ณ้—ฎ้ข˜ๆฅ่Žทๅพ—ๆŒ็ปญ็š„็›ˆๅˆฉใ€‚ ๆœฌๆ–‡็ป“ๅˆไนฆไธญ็š„ๆ ธๅฟƒ่ฎบ็‚นไธŽ่‡ช่บซ็š„็ ”ๅ‘่ง†่ง’๏ผŒๆŠŠๅฐ†่ฟ™ๆœฌไนฆ่ƒŒๅŽ็š„็ป่ฅ้€ป่พ‘ไธŽไบงๅ“ๅ“ฒๅญฆๆขณ็†ไธบๅ‡ ไธชๆ ธๅฟƒๅฑ‚้ข็š„ๆ€่€ƒใ€‚\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense/small-rule-learn\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"ไบงๅ“ Sense\",\"ๅ•†ไธšๅŒ–\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆ”พๅผƒๅขž้•ฟๆ‰งๅฟต๏ผŒไธบไป€ไนˆโ€œๅฐ่€Œ็พŽโ€ๆ‰ๆ˜ฏๅฏๆŒ็ปญไน‹่ทฏ\",\"date\":\"2025-11-24 21:50:00\",\"capture\":\"ไนฆๅ๏ผšใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹\\nไฝœ่€…๏ผš[็พŽ] ่จๅธŒๅฐ”ยทๆ‹‰ๆ–‡ๅ‰ไบš\\nๆ ธๅฟƒๆ ‡็ญพ๏ผšๆž็ฎ€ๅˆ›ไธš๏ฝœ็คพๅŒบๆœฌไฝ๏ฝœๆŒ็ปญ็›ˆๅˆฉ๏ฝœๅˆ›ไฝœ่€…็ปๆตŽ\\nไธ€ๅฅ่ฏ็ฎ€่ฏ„๏ผšๅœจ็›ฒ็›ฎๅด‡ๆ‹œ่ง„ๆจกๆ‰ฉๅผ ็š„ๅ•†ไธš่ฏญๅขƒไธ‹๏ผŒ่ฟ™ๆ˜ฏไธ€ไปฝๅ†™็ป™็‹ฌ็ซ‹ๅˆ›ไฝœ่€…ไธŽๅผ€ๅ‘่€…็š„ๆธ…้†’ๆŒ‡ๅ—๏ผŒๆ•™ไผšๆˆ‘ไปฌๅฆ‚ไฝ•็”จๆœ€ๅฐ‘็š„่ต„ๆบ๏ผŒ่งฃๅ†ณ็œŸๅฎž็š„็—›็‚น๏ผŒๅนถ่Žทๅพ—้•ฟไน…็š„่‡ช็”ฑใ€‚\\nๆ›ดๅคšไนฆ็ฑๆŽจ่ไฟกๆฏๅฏๅ‚่€ƒ๏ผšไบงๅ“ Sense ไธŽๅ•†ไธšๅŒ–\\n 1. ็คพๅŒบๅ…ˆ่กŒ๏ผšไปŽโ€œๆˆ‘ๆ˜ฏ่ฐโ€ๅˆฐโ€œๆˆ‘่ƒฝไธบ่ฐ่งฃๅ†ณ้—ฎ้ข˜โ€\\nไผ ็ปŸๅ•†ไธš้€ป่พ‘ๅพ€ๅพ€ๆ˜ฏๅ…ˆๆž„ๆ€ไธ€ไธชๅฎๅคง็š„็‚นๅญ๏ผŒ้—ญ้—จ้€ ่ฝฆๆ‰“็ฃจไบงๅ“๏ผŒๆœ€ๅŽๅ†็ ธ้’ฑๅŽปๅธ‚ๅœบไธŠๅฏปๆ‰พ็›ฎๆ ‡็”จๆˆทใ€‚่€Œๆœฌไนฆๆๅ‡บไบ†ไธ€ไธช้ข ่ฆ†ๆ€ง็š„ๅๅ‘่ทฏๅพ„๏ผš็คพๅŒบ $\\\\rightarrow$ ้—ฎ้ข˜ $\\\\rightarrow$ ๆต็จ‹ $\\\\rightarrow$\"}],\"SWR\":[{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/11.React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/11.React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"frontmatter\":{\"date\":\"2025-11-15 09:20:23\",\"title\":\"ไธๆญขไบŽ Fetch๏ผšReact ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"aliases\":[\"SWR\",\"TanStack Query\",\"React\",\"ๆœๅŠก็ซฏ็Šถๆ€\",\"ไน่ง‚ๆ›ดๆ–ฐ\",\"ๅทฅ็จ‹ๅŒ–\"],\"tldr\":\"ๆทฑๅ…ฅ่งฃๆž SWR ็š„ๆž็ฎ€ๅ่ฎฎไธŽ TanStack Query ็š„็ฒพๅฏ†็Šถๆ€ๆœบใ€‚้€š่ฟ‡ๅฏนๆฏ”็ผ“ๅญ˜ๅคฑๆ•ˆใ€ไน่ง‚ๆ›ดๆ–ฐ็ญ‰ๆ ธๅฟƒๅœบๆ™ฏ๏ผŒไธบ้ซ˜ๅคๆ‚ๅบฆ B ็ซฏๅบ”็”จไธŽ่ฝป้‡็บง้กน็›ฎๆไพ›ๆธ…ๆ™ฐ็š„ๆžถๆž„้€‰ๅž‹ๆจกๅž‹ใ€‚\",\"description\":\"ๆทฑๅบฆๅฏนๆฏ” React ็”Ÿๆ€ไธญ SWR ไธŽ TanStack Query ไธคๅคงๆ–นๆกˆใ€‚ไปŽ stale-while-revalidate ๆœบๅˆถๅˆฐๅผ‚ๆญฅ็Šถๆ€ๆœบๆžถๆž„๏ผŒๆถต็›–ไพ่ต–ๆŸฅ่ฏขใ€ๆ•ฐๆฎ่ฝฌๆขๅŠๆžถๆž„็บงไน่ง‚ๆ›ดๆ–ฐๅฎžๆˆ˜ใ€‚ๆ—จๅœจๅธฎๅŠฉๅผ€ๅ‘่€…ๅœจๅคๆ‚ไธšๅŠกไธญๆž„ๅปบ็กฎๅฎšๆ€ง็š„ๆœๅŠก็ซฏ็Šถๆ€ๅŸบๅบงใ€‚\",\"permalink\":\"/fullstack/server-state-management\",\"tags\":[\"SWR\",\"TanStack Query\",\"ๅ‰็ซฏๅทฅ็จ‹\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไธๆญขไบŽ Fetch๏ผšReact ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"date\":\"2025-11-15 09:20:23\",\"capture\":\"1. ๅผ•่จ€\\nๅœจ็Žฐไปฃๅ‰็ซฏๅทฅ็จ‹ไธญ๏ผŒ็Šถๆ€ๅฏไธฅๆ ผๅŒบๅˆ†ไธบ UI ็Šถๆ€๏ผˆUI State๏ผ‰ ไธŽ ๆœๅŠก็ซฏ็Šถๆ€๏ผˆServer State๏ผ‰ ไธค็ฑปใ€‚ๅฏนไบŽ UI ็Šถๆ€็š„็ฎก็†๏ผŒๅผ€ๅ‘่€…ๅทฒ่พƒไธบ็†Ÿๆ‚‰๏ผŒ้€šๅธธๅฏๅ€ŸๅŠฉ `useState`ใ€`useEffect` ็ญ‰ Hooks๏ผŒๆˆ– `zustand`ใ€`jotai` ็ญ‰็Šถๆ€็ฎก็†ๅบ“ๆฅๅฎž็Žฐใ€‚็„ถ่€Œ๏ผŒๆœๅŠก็ซฏ็Šถๆ€็š„็ฎก็†ๅพ€ๅพ€็ผบไน็ปŸไธ€ไธ”้ซ˜ๆ•ˆ็š„่งฃๅ†ณๆ–นๆกˆ๏ผŒๅผ€ๅ‘่€…้€šๅธธ้œ€่ฆ่‡ช่กŒๅฎž็Žฐใ€‚\\nๅœจไผ ็ปŸ็š„ๆ•ฐๆฎ่Žทๅ–ๆต็จ‹ไธญ๏ผŒๆˆ‘ไปฌไธ€่ˆฌไฝฟ็”จ `fetch` ๆˆ– `axios` ๅ‘ๅŽ็ซฏๆˆ– REST API ๅ‘้€ HTTP ่ฏทๆฑ‚๏ผŒ้šๅŽๆ‰‹ๅŠจๅฐ†ๆ•ฐๆฎ่Žทๅ–้€ป่พ‘ไธŽๅ‰็ซฏไธšๅŠก้€ป่พ‘ๅŠ UI ็Šถๆ€็ฎก็†่ฟ›่กŒๆ•ดๅˆ๏ผŒไปฅๅฎŒๆˆๆ•ฐๆฎๅค„็†ๅนถ้ฉฑๅŠจ็•Œ้ขๆ›ดๆ–ฐ\"}],\"TanStack Query\":[{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/11.React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/11.React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"frontmatter\":{\"date\":\"2025-11-15 09:20:23\",\"title\":\"ไธๆญขไบŽ Fetch๏ผšReact ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"aliases\":[\"SWR\",\"TanStack Query\",\"React\",\"ๆœๅŠก็ซฏ็Šถๆ€\",\"ไน่ง‚ๆ›ดๆ–ฐ\",\"ๅทฅ็จ‹ๅŒ–\"],\"tldr\":\"ๆทฑๅ…ฅ่งฃๆž SWR ็š„ๆž็ฎ€ๅ่ฎฎไธŽ TanStack Query ็š„็ฒพๅฏ†็Šถๆ€ๆœบใ€‚้€š่ฟ‡ๅฏนๆฏ”็ผ“ๅญ˜ๅคฑๆ•ˆใ€ไน่ง‚ๆ›ดๆ–ฐ็ญ‰ๆ ธๅฟƒๅœบๆ™ฏ๏ผŒไธบ้ซ˜ๅคๆ‚ๅบฆ B ็ซฏๅบ”็”จไธŽ่ฝป้‡็บง้กน็›ฎๆไพ›ๆธ…ๆ™ฐ็š„ๆžถๆž„้€‰ๅž‹ๆจกๅž‹ใ€‚\",\"description\":\"ๆทฑๅบฆๅฏนๆฏ” React ็”Ÿๆ€ไธญ SWR ไธŽ TanStack Query ไธคๅคงๆ–นๆกˆใ€‚ไปŽ stale-while-revalidate ๆœบๅˆถๅˆฐๅผ‚ๆญฅ็Šถๆ€ๆœบๆžถๆž„๏ผŒๆถต็›–ไพ่ต–ๆŸฅ่ฏขใ€ๆ•ฐๆฎ่ฝฌๆขๅŠๆžถๆž„็บงไน่ง‚ๆ›ดๆ–ฐๅฎžๆˆ˜ใ€‚ๆ—จๅœจๅธฎๅŠฉๅผ€ๅ‘่€…ๅœจๅคๆ‚ไธšๅŠกไธญๆž„ๅปบ็กฎๅฎšๆ€ง็š„ๆœๅŠก็ซฏ็Šถๆ€ๅŸบๅบงใ€‚\",\"permalink\":\"/fullstack/server-state-management\",\"tags\":[\"SWR\",\"TanStack Query\",\"ๅ‰็ซฏๅทฅ็จ‹\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไธๆญขไบŽ Fetch๏ผšReact ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"date\":\"2025-11-15 09:20:23\",\"capture\":\"1. ๅผ•่จ€\\nๅœจ็Žฐไปฃๅ‰็ซฏๅทฅ็จ‹ไธญ๏ผŒ็Šถๆ€ๅฏไธฅๆ ผๅŒบๅˆ†ไธบ UI ็Šถๆ€๏ผˆUI State๏ผ‰ ไธŽ ๆœๅŠก็ซฏ็Šถๆ€๏ผˆServer State๏ผ‰ ไธค็ฑปใ€‚ๅฏนไบŽ UI ็Šถๆ€็š„็ฎก็†๏ผŒๅผ€ๅ‘่€…ๅทฒ่พƒไธบ็†Ÿๆ‚‰๏ผŒ้€šๅธธๅฏๅ€ŸๅŠฉ `useState`ใ€`useEffect` ็ญ‰ Hooks๏ผŒๆˆ– `zustand`ใ€`jotai` ็ญ‰็Šถๆ€็ฎก็†ๅบ“ๆฅๅฎž็Žฐใ€‚็„ถ่€Œ๏ผŒๆœๅŠก็ซฏ็Šถๆ€็š„็ฎก็†ๅพ€ๅพ€็ผบไน็ปŸไธ€ไธ”้ซ˜ๆ•ˆ็š„่งฃๅ†ณๆ–นๆกˆ๏ผŒๅผ€ๅ‘่€…้€šๅธธ้œ€่ฆ่‡ช่กŒๅฎž็Žฐใ€‚\\nๅœจไผ ็ปŸ็š„ๆ•ฐๆฎ่Žทๅ–ๆต็จ‹ไธญ๏ผŒๆˆ‘ไปฌไธ€่ˆฌไฝฟ็”จ `fetch` ๆˆ– `axios` ๅ‘ๅŽ็ซฏๆˆ– REST API ๅ‘้€ HTTP ่ฏทๆฑ‚๏ผŒ้šๅŽๆ‰‹ๅŠจๅฐ†ๆ•ฐๆฎ่Žทๅ–้€ป่พ‘ไธŽๅ‰็ซฏไธšๅŠก้€ป่พ‘ๅŠ UI ็Šถๆ€็ฎก็†่ฟ›่กŒๆ•ดๅˆ๏ผŒไปฅๅฎŒๆˆๆ•ฐๆฎๅค„็†ๅนถ้ฉฑๅŠจ็•Œ้ขๆ›ดๆ–ฐ\"}],\"ๅ‰็ซฏๅทฅ็จ‹\":[{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/11.React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/11.React ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"frontmatter\":{\"date\":\"2025-11-15 09:20:23\",\"title\":\"ไธๆญขไบŽ Fetch๏ผšReact ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"aliases\":[\"SWR\",\"TanStack Query\",\"React\",\"ๆœๅŠก็ซฏ็Šถๆ€\",\"ไน่ง‚ๆ›ดๆ–ฐ\",\"ๅทฅ็จ‹ๅŒ–\"],\"tldr\":\"ๆทฑๅ…ฅ่งฃๆž SWR ็š„ๆž็ฎ€ๅ่ฎฎไธŽ TanStack Query ็š„็ฒพๅฏ†็Šถๆ€ๆœบใ€‚้€š่ฟ‡ๅฏนๆฏ”็ผ“ๅญ˜ๅคฑๆ•ˆใ€ไน่ง‚ๆ›ดๆ–ฐ็ญ‰ๆ ธๅฟƒๅœบๆ™ฏ๏ผŒไธบ้ซ˜ๅคๆ‚ๅบฆ B ็ซฏๅบ”็”จไธŽ่ฝป้‡็บง้กน็›ฎๆไพ›ๆธ…ๆ™ฐ็š„ๆžถๆž„้€‰ๅž‹ๆจกๅž‹ใ€‚\",\"description\":\"ๆทฑๅบฆๅฏนๆฏ” React ็”Ÿๆ€ไธญ SWR ไธŽ TanStack Query ไธคๅคงๆ–นๆกˆใ€‚ไปŽ stale-while-revalidate ๆœบๅˆถๅˆฐๅผ‚ๆญฅ็Šถๆ€ๆœบๆžถๆž„๏ผŒๆถต็›–ไพ่ต–ๆŸฅ่ฏขใ€ๆ•ฐๆฎ่ฝฌๆขๅŠๆžถๆž„็บงไน่ง‚ๆ›ดๆ–ฐๅฎžๆˆ˜ใ€‚ๆ—จๅœจๅธฎๅŠฉๅผ€ๅ‘่€…ๅœจๅคๆ‚ไธšๅŠกไธญๆž„ๅปบ็กฎๅฎšๆ€ง็š„ๆœๅŠก็ซฏ็Šถๆ€ๅŸบๅบงใ€‚\",\"permalink\":\"/fullstack/server-state-management\",\"tags\":[\"SWR\",\"TanStack Query\",\"ๅ‰็ซฏๅทฅ็จ‹\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไธๆญขไบŽ Fetch๏ผšReact ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ\",\"date\":\"2025-11-15 09:20:23\",\"capture\":\"1. ๅผ•่จ€\\nๅœจ็Žฐไปฃๅ‰็ซฏๅทฅ็จ‹ไธญ๏ผŒ็Šถๆ€ๅฏไธฅๆ ผๅŒบๅˆ†ไธบ UI ็Šถๆ€๏ผˆUI State๏ผ‰ ไธŽ ๆœๅŠก็ซฏ็Šถๆ€๏ผˆServer State๏ผ‰ ไธค็ฑปใ€‚ๅฏนไบŽ UI ็Šถๆ€็š„็ฎก็†๏ผŒๅผ€ๅ‘่€…ๅทฒ่พƒไธบ็†Ÿๆ‚‰๏ผŒ้€šๅธธๅฏๅ€ŸๅŠฉ `useState`ใ€`useEffect` ็ญ‰ Hooks๏ผŒๆˆ– `zustand`ใ€`jotai` ็ญ‰็Šถๆ€็ฎก็†ๅบ“ๆฅๅฎž็Žฐใ€‚็„ถ่€Œ๏ผŒๆœๅŠก็ซฏ็Šถๆ€็š„็ฎก็†ๅพ€ๅพ€็ผบไน็ปŸไธ€ไธ”้ซ˜ๆ•ˆ็š„่งฃๅ†ณๆ–นๆกˆ๏ผŒๅผ€ๅ‘่€…้€šๅธธ้œ€่ฆ่‡ช่กŒๅฎž็Žฐใ€‚\\nๅœจไผ ็ปŸ็š„ๆ•ฐๆฎ่Žทๅ–ๆต็จ‹ไธญ๏ผŒๆˆ‘ไปฌไธ€่ˆฌไฝฟ็”จ `fetch` ๆˆ– `axios` ๅ‘ๅŽ็ซฏๆˆ– REST API ๅ‘้€ HTTP ่ฏทๆฑ‚๏ผŒ้šๅŽๆ‰‹ๅŠจๅฐ†ๆ•ฐๆฎ่Žทๅ–้€ป่พ‘ไธŽๅ‰็ซฏไธšๅŠก้€ป่พ‘ๅŠ UI ็Šถๆ€็ฎก็†่ฟ›่กŒๆ•ดๅˆ๏ผŒไปฅๅฎŒๆˆๆ•ฐๆฎๅค„็†ๅนถ้ฉฑๅŠจ็•Œ้ขๆ›ดๆ–ฐ\"}],\"jamstack\":[{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2025-11-14 22:33:39\",\"title\":\"JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"aliases\":[\"้™ๆ€็ซ™็‚น็”Ÿๆˆๅ™จ\",\"SSG\"],\"tldr\":\"้ข„ๆธฒๆŸ“้™ๆ€้กต้ข + ๅŠจๆ€ API๏ผŒCDN ๅˆ†ๅ‘ๅ…จ็ƒ๏ผŒๆ›ฟไปฃไผ ็ปŸๅŠจๆ€็ฝ‘็ซ™็š„ๅผ€ๅ‘้ƒจ็ฝฒ่Œƒๅผ\",\"description\":\"ไปŽๆ ธๅฟƒๆฆ‚ๅฟตใ€ๅทฅๅ…ท้“พ้€‰ๅž‹๏ผˆNext.js/Vercel/Supabase/Contentful๏ผ‰ๅˆฐไปŽ 0 ๆญๅปบๅšๅฎข็š„ๅฎŒๆ•ดๅฎž่ทต๏ผŒ่ฆ†็›– JAMStack ้€‚็”จไธŽไธ้€‚็”จๅœบๆ™ฏ๏ผŒๅธฎๅŠฉๅˆคๆ–ญไฝ•ๆ—ถ้€‰็”จ่ฏฅๆžถๆž„ใ€‚\",\"permalink\":\"/fullstack/jamstack\",\"tags\":[\"tutorial\",\"jamstack\",\"frontend-architecture\",\"next.js\",\"static-site-generator\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2025-11-14 22:33:39\",\"capture\":\"> \\n> ๅ…ถๆ ธๅฟƒๆœบๅˆถๆ˜ฏๅœจๆž„ๅปบๆ—ถๅฐ†้กต้ข้ข„ๆธฒๆŸ“ไธบ้™ๆ€ HTML/CSS/JS๏ผŒ้ƒจ็ฝฒ่‡ณ CDN ไพ›็”จๆˆทๅฐฑ่ฟ‘ๅŠ ่ฝฝ๏ผŒไป…ๅœจ้œ€่ฆๅŠจๆ€ๆ•ฐๆฎๆ—ถ้€š่ฟ‡ JavaScript ่ฐƒ็”จ API ่Žทๅ–ใ€‚็›ธ่พƒไบŽไผ ็ปŸๅŠจๆ€็ฝ‘็ซ™๏ผŒJAMStack ๅœจๆ€ง่ƒฝใ€ๅฏ้ ๆ€งใ€ๆ‰ฉๅฑ•ๆ€งใ€ๅฎ‰ๅ…จๆ€งๅŠ่ฟ็ปดๆˆๆœฌไธŠๅ…ทๆœ‰ๆ˜พ่‘—ไผ˜ๅŠฟใ€‚\\n> \\n> ๆœฌๆ–‡ๆขณ็†ไบ†ไธปๆตๆž„ๅปบๅทฅๅ…ท๏ผˆGatsbyใ€Next.jsใ€Nuxt.jsใ€11ty๏ผ‰ใ€้™ๆ€ๆ‰˜็ฎกๅนณๅฐ๏ผˆVercelใ€Netlifyใ€Cloudflare Pages๏ผ‰ใ€API/BaaS ๆœๅŠก๏ผˆSupabaseใ€Firebaseใ€Auth0๏ผ‰ๅŠๆ— ๅคด CMS๏ผˆContentfulใ€Sanityใ€Strapi\"}],\"frontend-architecture\":[{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2025-11-14 22:33:39\",\"title\":\"JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"aliases\":[\"้™ๆ€็ซ™็‚น็”Ÿๆˆๅ™จ\",\"SSG\"],\"tldr\":\"้ข„ๆธฒๆŸ“้™ๆ€้กต้ข + ๅŠจๆ€ API๏ผŒCDN ๅˆ†ๅ‘ๅ…จ็ƒ๏ผŒๆ›ฟไปฃไผ ็ปŸๅŠจๆ€็ฝ‘็ซ™็š„ๅผ€ๅ‘้ƒจ็ฝฒ่Œƒๅผ\",\"description\":\"ไปŽๆ ธๅฟƒๆฆ‚ๅฟตใ€ๅทฅๅ…ท้“พ้€‰ๅž‹๏ผˆNext.js/Vercel/Supabase/Contentful๏ผ‰ๅˆฐไปŽ 0 ๆญๅปบๅšๅฎข็š„ๅฎŒๆ•ดๅฎž่ทต๏ผŒ่ฆ†็›– JAMStack ้€‚็”จไธŽไธ้€‚็”จๅœบๆ™ฏ๏ผŒๅธฎๅŠฉๅˆคๆ–ญไฝ•ๆ—ถ้€‰็”จ่ฏฅๆžถๆž„ใ€‚\",\"permalink\":\"/fullstack/jamstack\",\"tags\":[\"tutorial\",\"jamstack\",\"frontend-architecture\",\"next.js\",\"static-site-generator\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2025-11-14 22:33:39\",\"capture\":\"> \\n> ๅ…ถๆ ธๅฟƒๆœบๅˆถๆ˜ฏๅœจๆž„ๅปบๆ—ถๅฐ†้กต้ข้ข„ๆธฒๆŸ“ไธบ้™ๆ€ HTML/CSS/JS๏ผŒ้ƒจ็ฝฒ่‡ณ CDN ไพ›็”จๆˆทๅฐฑ่ฟ‘ๅŠ ่ฝฝ๏ผŒไป…ๅœจ้œ€่ฆๅŠจๆ€ๆ•ฐๆฎๆ—ถ้€š่ฟ‡ JavaScript ่ฐƒ็”จ API ่Žทๅ–ใ€‚็›ธ่พƒไบŽไผ ็ปŸๅŠจๆ€็ฝ‘็ซ™๏ผŒJAMStack ๅœจๆ€ง่ƒฝใ€ๅฏ้ ๆ€งใ€ๆ‰ฉๅฑ•ๆ€งใ€ๅฎ‰ๅ…จๆ€งๅŠ่ฟ็ปดๆˆๆœฌไธŠๅ…ทๆœ‰ๆ˜พ่‘—ไผ˜ๅŠฟใ€‚\\n> \\n> ๆœฌๆ–‡ๆขณ็†ไบ†ไธปๆตๆž„ๅปบๅทฅๅ…ท๏ผˆGatsbyใ€Next.jsใ€Nuxt.jsใ€11ty๏ผ‰ใ€้™ๆ€ๆ‰˜็ฎกๅนณๅฐ๏ผˆVercelใ€Netlifyใ€Cloudflare Pages๏ผ‰ใ€API/BaaS ๆœๅŠก๏ผˆSupabaseใ€Firebaseใ€Auth0๏ผ‰ๅŠๆ— ๅคด CMS๏ผˆContentfulใ€Sanityใ€Strapi\"}],\"next.js\":[{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2025-11-14 22:33:39\",\"title\":\"JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"aliases\":[\"้™ๆ€็ซ™็‚น็”Ÿๆˆๅ™จ\",\"SSG\"],\"tldr\":\"้ข„ๆธฒๆŸ“้™ๆ€้กต้ข + ๅŠจๆ€ API๏ผŒCDN ๅˆ†ๅ‘ๅ…จ็ƒ๏ผŒๆ›ฟไปฃไผ ็ปŸๅŠจๆ€็ฝ‘็ซ™็š„ๅผ€ๅ‘้ƒจ็ฝฒ่Œƒๅผ\",\"description\":\"ไปŽๆ ธๅฟƒๆฆ‚ๅฟตใ€ๅทฅๅ…ท้“พ้€‰ๅž‹๏ผˆNext.js/Vercel/Supabase/Contentful๏ผ‰ๅˆฐไปŽ 0 ๆญๅปบๅšๅฎข็š„ๅฎŒๆ•ดๅฎž่ทต๏ผŒ่ฆ†็›– JAMStack ้€‚็”จไธŽไธ้€‚็”จๅœบๆ™ฏ๏ผŒๅธฎๅŠฉๅˆคๆ–ญไฝ•ๆ—ถ้€‰็”จ่ฏฅๆžถๆž„ใ€‚\",\"permalink\":\"/fullstack/jamstack\",\"tags\":[\"tutorial\",\"jamstack\",\"frontend-architecture\",\"next.js\",\"static-site-generator\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2025-11-14 22:33:39\",\"capture\":\"> \\n> ๅ…ถๆ ธๅฟƒๆœบๅˆถๆ˜ฏๅœจๆž„ๅปบๆ—ถๅฐ†้กต้ข้ข„ๆธฒๆŸ“ไธบ้™ๆ€ HTML/CSS/JS๏ผŒ้ƒจ็ฝฒ่‡ณ CDN ไพ›็”จๆˆทๅฐฑ่ฟ‘ๅŠ ่ฝฝ๏ผŒไป…ๅœจ้œ€่ฆๅŠจๆ€ๆ•ฐๆฎๆ—ถ้€š่ฟ‡ JavaScript ่ฐƒ็”จ API ่Žทๅ–ใ€‚็›ธ่พƒไบŽไผ ็ปŸๅŠจๆ€็ฝ‘็ซ™๏ผŒJAMStack ๅœจๆ€ง่ƒฝใ€ๅฏ้ ๆ€งใ€ๆ‰ฉๅฑ•ๆ€งใ€ๅฎ‰ๅ…จๆ€งๅŠ่ฟ็ปดๆˆๆœฌไธŠๅ…ทๆœ‰ๆ˜พ่‘—ไผ˜ๅŠฟใ€‚\\n> \\n> ๆœฌๆ–‡ๆขณ็†ไบ†ไธปๆตๆž„ๅปบๅทฅๅ…ท๏ผˆGatsbyใ€Next.jsใ€Nuxt.jsใ€11ty๏ผ‰ใ€้™ๆ€ๆ‰˜็ฎกๅนณๅฐ๏ผˆVercelใ€Netlifyใ€Cloudflare Pages๏ผ‰ใ€API/BaaS ๆœๅŠก๏ผˆSupabaseใ€Firebaseใ€Auth0๏ผ‰ๅŠๆ— ๅคด CMS๏ผˆContentfulใ€Sanityใ€Strapi\"}],\"static-site-generator\":[{\"url\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/40.ๅ‰็ซฏๅทฅ็จ‹/03.JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2025-11-14 22:33:39\",\"title\":\"JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"aliases\":[\"้™ๆ€็ซ™็‚น็”Ÿๆˆๅ™จ\",\"SSG\"],\"tldr\":\"้ข„ๆธฒๆŸ“้™ๆ€้กต้ข + ๅŠจๆ€ API๏ผŒCDN ๅˆ†ๅ‘ๅ…จ็ƒ๏ผŒๆ›ฟไปฃไผ ็ปŸๅŠจๆ€็ฝ‘็ซ™็š„ๅผ€ๅ‘้ƒจ็ฝฒ่Œƒๅผ\",\"description\":\"ไปŽๆ ธๅฟƒๆฆ‚ๅฟตใ€ๅทฅๅ…ท้“พ้€‰ๅž‹๏ผˆNext.js/Vercel/Supabase/Contentful๏ผ‰ๅˆฐไปŽ 0 ๆญๅปบๅšๅฎข็š„ๅฎŒๆ•ดๅฎž่ทต๏ผŒ่ฆ†็›– JAMStack ้€‚็”จไธŽไธ้€‚็”จๅœบๆ™ฏ๏ผŒๅธฎๅŠฉๅˆคๆ–ญไฝ•ๆ—ถ้€‰็”จ่ฏฅๆžถๆž„ใ€‚\",\"permalink\":\"/fullstack/jamstack\",\"tags\":[\"tutorial\",\"jamstack\",\"frontend-architecture\",\"next.js\",\"static-site-generator\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ‰็ซฏๅทฅ็จ‹\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"JAMStack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2025-11-14 22:33:39\",\"capture\":\"> \\n> ๅ…ถๆ ธๅฟƒๆœบๅˆถๆ˜ฏๅœจๆž„ๅปบๆ—ถๅฐ†้กต้ข้ข„ๆธฒๆŸ“ไธบ้™ๆ€ HTML/CSS/JS๏ผŒ้ƒจ็ฝฒ่‡ณ CDN ไพ›็”จๆˆทๅฐฑ่ฟ‘ๅŠ ่ฝฝ๏ผŒไป…ๅœจ้œ€่ฆๅŠจๆ€ๆ•ฐๆฎๆ—ถ้€š่ฟ‡ JavaScript ่ฐƒ็”จ API ่Žทๅ–ใ€‚็›ธ่พƒไบŽไผ ็ปŸๅŠจๆ€็ฝ‘็ซ™๏ผŒJAMStack ๅœจๆ€ง่ƒฝใ€ๅฏ้ ๆ€งใ€ๆ‰ฉๅฑ•ๆ€งใ€ๅฎ‰ๅ…จๆ€งๅŠ่ฟ็ปดๆˆๆœฌไธŠๅ…ทๆœ‰ๆ˜พ่‘—ไผ˜ๅŠฟใ€‚\\n> \\n> ๆœฌๆ–‡ๆขณ็†ไบ†ไธปๆตๆž„ๅปบๅทฅๅ…ท๏ผˆGatsbyใ€Next.jsใ€Nuxt.jsใ€11ty๏ผ‰ใ€้™ๆ€ๆ‰˜็ฎกๅนณๅฐ๏ผˆVercelใ€Netlifyใ€Cloudflare Pages๏ผ‰ใ€API/BaaS ๆœๅŠก๏ผˆSupabaseใ€Firebaseใ€Auth0๏ผ‰ๅŠๆ— ๅคด CMS๏ผˆContentfulใ€Sanityใ€Strapi\"}],\"็ณป็ปŸๆดžๅฏŸๅŠ›\":[{\"url\":\"/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/40.ๆดžๅฏŸๅŠ›ๆจกๅž‹\",\"relativePath\":\"/10.ไบงๅ“ Sense/05.ๆ–นๆณ•่ฎบ/40.ๆดžๅฏŸๅŠ›ๆจกๅž‹\",\"frontmatter\":{\"date\":\"2025-11-14 16:00:00\",\"title\":\"ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผšๅฆ‚ไฝ•็œ‹้€ไบงๅ“ไธŽๆŠ€ๆœฏ่ƒŒๅŽ็š„็ณป็ปŸ้€ป่พ‘๏ผŸ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆ— ่ฎบๆ˜ฏๅšไบงๅ“ใ€ๆžๆŠ€ๆœฏ๏ผŒ่ฟ˜ๆ˜ฏๅบ”ๅฏนๆ—ฅๅธธๅทฅไฝœไธญ็š„ๅ„็งๆŒ‘ๆˆ˜๏ผŒไฝ ๆ˜ฏๅฆ้‡ๅˆฐ่ฟ‡่ฟ™ๆ ท็š„ๅ›ฐๅขƒ๏ผšๆ˜Žๆ˜ŽๆŒ‰็ป้ชŒ่กŒไบ‹๏ผŒๅดๅฑกๅฑก่ธฉๅ‘๏ผ›ๅˆš่งฃๅ†ณ่กจ้ข้—ฎ้ข˜๏ผŒ้šๆ‚ฃๅˆๅทๅœŸ้‡ๆฅใ€‚้—ฎ้ข˜ๆœชๅฟ…ๅ‡บๅœจๅŠชๅŠ›็จ‹ๅบฆ๏ผŒ่€ŒๅœจไบŽๆˆ‘ไปฌๅช็›ฏ็€่กจ่ฑก๏ผŒๅดๅฟฝ็•ฅไบ†่ƒŒๅŽ็œŸๆญฃ่ตทไฝœ็”จ็š„็ณป็ปŸ๏ผŒๆฒกๆœ‰็œ‹ๆ‡‚่—ๅœจ่ƒŒๅŽ็š„็ณป็ปŸใ€‚ไธบไป€ไนˆๅŒๆ ทๆ˜ฏ่งฃๅ†ณ้—ฎ้ข˜๏ผŒๆœ‰ไบบๅช่ƒฝโ€œๅคด็—›ๅŒปๅคดโ€๏ผŒๆœ‰ไบบๅด่ƒฝ็›ดๅ‡ปๆœฌ่ดจ๏ผŸ่ฟ™็ฏ‡ๆ–‡็ซ ๅฐ†็”จ้€šไฟ—ๆ˜“ๆ‡‚็š„ๆ–นๅผ๏ผŒๅธฆไฝ ๆ‹†่งฃไธ€ๅฅ—ๅฎž็”จ็š„ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผŒ่ฎฉๆˆ‘ไปฌๅญฆไผš้€่ฟ‡็Žฐ่ฑกๆŠ“ไฝๆœฌ่ดจ๏ผŒไปŽๆ นๆบไธŠ่งฃๅ†ณ้—ฎ้ข˜ใ€‚\",\"permalink\":\"/product-sense/insight-model\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"ไบงๅ“ Sense\",\"็ณป็ปŸๆดžๅฏŸๅŠ›\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆดžๅฏŸๅŠ›ๆจกๅž‹๏ผšๅฆ‚ไฝ•็œ‹้€ไบงๅ“ไธŽๆŠ€ๆœฏ่ƒŒๅŽ็š„็ณป็ปŸ้€ป่พ‘๏ผŸ\",\"date\":\"2025-11-14 16:00:00\",\"capture\":\"1. ่กจ่ฑก่ƒŒๅŽ่—็€ๅ†ณๅฎšไธ€ๅˆ‡็š„โ€œ็ณป็ปŸ้ป‘็›’โ€\\nๆˆ‘ไปฌๅœจๆ—ฅๅธธๅผ€ๅ‘ๆˆ–ไบงๅ“่ฎพ่ฎกไธญ๏ผŒๆ€ปๆ˜ฏ่ขซๅ„็งโ€œ่กจ่ฑกโ€ๅŒ…ๅ›ด๏ผšDAU ็ช็„ถไธ‹้™ไบ†ใ€็บฟไธŠๅ‡บ็Žฐไบ†ไธ€ไธชๅถ็Žฐ็š„ Bugใ€ๆŸไธชๅŠŸ่ƒฝ็š„่ฝฌๅŒ–็އไธๅŠ้ข„ๆœŸใ€‚ๆˆ‘ไปฌไน ๆƒฏไบ†็›ฏ็€่ฟ™ไบ›็œ‹ๅพ—่ง็š„็ป“ๆžœๆ‰พๅŽŸๅ› ๏ผŒๅดๅฟฝ็•ฅไบ†ไธ€ไธชๆ ธๅฟƒ็œŸ็›ธ๏ผšๆฏไธ€ไธช่กจ่ฑก่ƒŒๅŽ๏ผŒๅ…ถๅฎž้ƒฝ้š่—็€ไธ€ไธช่ฟ่ฝฌๅคๆ‚็š„โ€œ้ป‘็›’ๅญโ€๏ผŒๆญฃๆ˜ฏ่ฟ™ไธช้ป‘็›’ๅญๅ†ณๅฎšไบ†ไบ‹็‰ฉๅ‘ๅฑ•็š„ๅฎข่ง‚่ง„ๅพ‹ใ€‚ๆˆ‘ไปฌๅฏไปฅๆŠŠ่ฟ™ไธช้ป‘็›’ๅญ๏ผŒๅซๅšโ€œ็ณป็ปŸโ€ใ€‚\\n<img src=\\\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/product/system_tips.png\\\" style=\\\"width: 1\"}],\"ไฟกๆฏ็ญ›้€‰\":[{\"url\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/21.ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"relativePath\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/21.ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"frontmatter\":{\"date\":\"2025-11-10 12:52:28\",\"title\":\"ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจไฟกๆฏ้ซ˜ๅบฆ้€ๆ˜Ž็š„ๆ—ถไปฃ๏ผŒๆต…ๅฑ‚ไฟกๆฏๅทฎๅทฒ่ขซๅฝปๅบ•ๆŠนๅนณ๏ผŒไฟกๆฏๆœฌ่บซ็š„ไปทๅ€ผไธๆ–ญ็จ€้‡Šใ€‚ไบบไธŽไบบ็š„ๆ ธๅฟƒๅทฎ่ทไธๅ†ๆ˜ฏ่Žทๅ–ไฟกๆฏ็š„ๆธ ้“๏ผŒ่€Œๆ˜ฏ้ซ˜ไฟกๅ™ชๆฏ”ไฟกๆฏ็š„็”„ๅˆซ่ƒฝๅŠ›ใ€ๆทฑๅบฆๆ€่€ƒ่ƒฝๅŠ›ไธŽ่ฝๅœฐๆ‰ง่กŒๅŠ›๏ผŒๅ”ฏๆœ‰ไปฅๆ€่€ƒๆ ก้ชŒไฟกๆฏใ€ไปฅๆ‰ง่กŒ้ชŒ่ฏไปทๅ€ผ๏ผŒๅฝขๆˆโ€œไฟกๆฏ-ๅˆคๆ–ญ-ๅฎž่ทต-ๅ้ฆˆโ€็š„ๆ€่€ƒไธŽๆ‰ง่กŒ้—ญ็Žฏ๏ผŒๆ‰่ƒฝ็ช็ ดไฟกๆฏๅฃๅž’ใ€ๅˆ›้€ ็œŸๆญฃไปทๅ€ผใ€‚\",\"permalink\":\"/growth/distinguish-useful-information\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"ไฟกๆฏ็ญ›้€‰\",\"ไธชไบบๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"date\":\"2025-11-10 12:52:28\",\"capture\":\"ๅœจไบ’่”็ฝ‘ๆŠ€ๆœฏๆ™ฎๅŠ็š„ๅฝ“ไธ‹๏ผŒไฟกๆฏๅทฒไปŽโ€œ็จ€็ผบ่ต„ๆบโ€่ฝฌๅ˜ไธบโ€œๆณ›ๆปฅ่ต„ๆบโ€ใ€‚่ฟ‡ๅŽปไพ่ต–ๅœฐๅŸŸๅทฎใ€็จ€็ผบๆ€ง็š„ๆต…่กจๅฑ‚ไฟกๆฏๅทฎ้€ๆธ่ขซๆŠนๅนณ๏ผŒๅผ€ๅ‘่€…้€š่ฟ‡็ฝ‘็ปœๅฏ่ฝปๆพ่Žทๅ–ๅ„็ฑปๆŠ€ๆœฏๆ–‡ๆกฃใ€่กŒไธšๅŠจๆ€ใ€่ตš้’ฑๆจกๅผ๏ผŒไฝ†็œŸๆญฃ่ƒฝๅฐ†ไฟกๆฏ่ฝฌๅŒ–ไธบไปทๅ€ผ็š„ไปๆ˜ฏๅฐ‘ๆ•ฐไบบใ€‚ๆ ธๅฟƒ็Ÿ›็›พๅทฒไปŽโ€œ่Žทๅ–ไฟกๆฏโ€่ฝฌๅ˜ไธบโ€œ้ฉพ้ฉญไฟกๆฏโ€โ€”โ€”ไฟกๆฏๆœฌ่บซ็š„ไปทๅ€ผๅผฑๅŒ–๏ผŒ่€Œไฟกๆฏ่งฃ่ฏป่ƒฝๅŠ›ใ€่กŒๅŠจๆ‰ง่กŒๅŠ›ใ€็ญ›้€‰็”„ๅˆซๅŠ›ๆˆไธบๆ‹‰ๅผ€ๅทฎ่ท็š„ๅ…ณ้”ฎใ€‚\\n 1. ๆ‰“็ ดโ€œไฟกๆฏๅทฎโ€็š„็ณป็ปŸๆ€ง้”™่ง‰\\n่ฟ‡ๅŽป๏ผŒ็”ฑไบŽๅœฐๅŸŸ้™ๅˆถๅ’Œไผ ๆ’ญไป‹่ดจ็š„็จ€็ผบ๏ผŒ่ตš้’ฑๆˆ–ๆˆๅŠŸ็š„ๆจกๅผๅพ€ๅพ€ๆ˜ฏ็ฒ—ๆ”พ็š„๏ผŒๅปบ็ซ‹ๅœจๆต…่กจๅฑ‚็š„โ€œไฟกๆฏไธๅฏน็งฐโ€ไธŠ๏ผŒไฝ†้š็€ๆŠ€ๆœฏ็š„ๆผ”่ฟ›๏ผŒ่ฟ™็งไฝŽ็ปดๅบฆ็š„ไฟกๆฏๅทฎๆญฃๅœจ่ขซ่ฟ…้€ŸๆŠนๅนณใ€‚ไบบไปฌ็ปๅธธ้™ทๅ…ฅโ€œ่ตšไธๅˆฐ้’ฑ/ๆŠ“ไธไฝๆœบไผšๆ˜ฏๅ› ไธบ็ผบๅฐ‘ไฟกๆฏๅทฎโ€็š„่ฎค็Ÿฅๅๅทฎ๏ผŒไฝ†ๆœฌ่ดจ้—ฎ้ข˜ๅœจไบŽโ€œ\"}],\"ไธชไบบๆˆ้•ฟ\":[{\"url\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/21.ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"relativePath\":\"/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/21.ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"frontmatter\":{\"date\":\"2025-11-10 12:52:28\",\"title\":\"ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจไฟกๆฏ้ซ˜ๅบฆ้€ๆ˜Ž็š„ๆ—ถไปฃ๏ผŒๆต…ๅฑ‚ไฟกๆฏๅทฎๅทฒ่ขซๅฝปๅบ•ๆŠนๅนณ๏ผŒไฟกๆฏๆœฌ่บซ็š„ไปทๅ€ผไธๆ–ญ็จ€้‡Šใ€‚ไบบไธŽไบบ็š„ๆ ธๅฟƒๅทฎ่ทไธๅ†ๆ˜ฏ่Žทๅ–ไฟกๆฏ็š„ๆธ ้“๏ผŒ่€Œๆ˜ฏ้ซ˜ไฟกๅ™ชๆฏ”ไฟกๆฏ็š„็”„ๅˆซ่ƒฝๅŠ›ใ€ๆทฑๅบฆๆ€่€ƒ่ƒฝๅŠ›ไธŽ่ฝๅœฐๆ‰ง่กŒๅŠ›๏ผŒๅ”ฏๆœ‰ไปฅๆ€่€ƒๆ ก้ชŒไฟกๆฏใ€ไปฅๆ‰ง่กŒ้ชŒ่ฏไปทๅ€ผ๏ผŒๅฝขๆˆโ€œไฟกๆฏ-ๅˆคๆ–ญ-ๅฎž่ทต-ๅ้ฆˆโ€็š„ๆ€่€ƒไธŽๆ‰ง่กŒ้—ญ็Žฏ๏ผŒๆ‰่ƒฝ็ช็ ดไฟกๆฏๅฃๅž’ใ€ๅˆ›้€ ็œŸๆญฃไปทๅ€ผใ€‚\",\"permalink\":\"/growth/distinguish-useful-information\",\"categories\":[\"่ต„ๆบๆŽจ่\"],\"tags\":[\"ไฟกๆฏ็ญ›้€‰\",\"ไธชไบบๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ\",\"date\":\"2025-11-10 12:52:28\",\"capture\":\"ๅœจไบ’่”็ฝ‘ๆŠ€ๆœฏๆ™ฎๅŠ็š„ๅฝ“ไธ‹๏ผŒไฟกๆฏๅทฒไปŽโ€œ็จ€็ผบ่ต„ๆบโ€่ฝฌๅ˜ไธบโ€œๆณ›ๆปฅ่ต„ๆบโ€ใ€‚่ฟ‡ๅŽปไพ่ต–ๅœฐๅŸŸๅทฎใ€็จ€็ผบๆ€ง็š„ๆต…่กจๅฑ‚ไฟกๆฏๅทฎ้€ๆธ่ขซๆŠนๅนณ๏ผŒๅผ€ๅ‘่€…้€š่ฟ‡็ฝ‘็ปœๅฏ่ฝปๆพ่Žทๅ–ๅ„็ฑปๆŠ€ๆœฏๆ–‡ๆกฃใ€่กŒไธšๅŠจๆ€ใ€่ตš้’ฑๆจกๅผ๏ผŒไฝ†็œŸๆญฃ่ƒฝๅฐ†ไฟกๆฏ่ฝฌๅŒ–ไธบไปทๅ€ผ็š„ไปๆ˜ฏๅฐ‘ๆ•ฐไบบใ€‚ๆ ธๅฟƒ็Ÿ›็›พๅทฒไปŽโ€œ่Žทๅ–ไฟกๆฏโ€่ฝฌๅ˜ไธบโ€œ้ฉพ้ฉญไฟกๆฏโ€โ€”โ€”ไฟกๆฏๆœฌ่บซ็š„ไปทๅ€ผๅผฑๅŒ–๏ผŒ่€Œไฟกๆฏ่งฃ่ฏป่ƒฝๅŠ›ใ€่กŒๅŠจๆ‰ง่กŒๅŠ›ใ€็ญ›้€‰็”„ๅˆซๅŠ›ๆˆไธบๆ‹‰ๅผ€ๅทฎ่ท็š„ๅ…ณ้”ฎใ€‚\\n 1. ๆ‰“็ ดโ€œไฟกๆฏๅทฎโ€็š„็ณป็ปŸๆ€ง้”™่ง‰\\n่ฟ‡ๅŽป๏ผŒ็”ฑไบŽๅœฐๅŸŸ้™ๅˆถๅ’Œไผ ๆ’ญไป‹่ดจ็š„็จ€็ผบ๏ผŒ่ตš้’ฑๆˆ–ๆˆๅŠŸ็š„ๆจกๅผๅพ€ๅพ€ๆ˜ฏ็ฒ—ๆ”พ็š„๏ผŒๅปบ็ซ‹ๅœจๆต…่กจๅฑ‚็š„โ€œไฟกๆฏไธๅฏน็งฐโ€ไธŠ๏ผŒไฝ†้š็€ๆŠ€ๆœฏ็š„ๆผ”่ฟ›๏ผŒ่ฟ™็งไฝŽ็ปดๅบฆ็š„ไฟกๆฏๅทฎๆญฃๅœจ่ขซ่ฟ…้€ŸๆŠนๅนณใ€‚ไบบไปฌ็ปๅธธ้™ทๅ…ฅโ€œ่ตšไธๅˆฐ้’ฑ/ๆŠ“ไธไฝๆœบไผšๆ˜ฏๅ› ไธบ็ผบๅฐ‘ไฟกๆฏๅทฎโ€็š„่ฎค็Ÿฅๅๅทฎ๏ผŒไฝ†ๆœฌ่ดจ้—ฎ้ข˜ๅœจไบŽโ€œ\"}],\"typescript\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹\",\"frontmatter\":{\"date\":\"2025-08-20 22:51:27\",\"title\":\"่Šไธ€่Š TypeScript ไธญ็š„ๆณ›ๅž‹\",\"tldr\":\"ๆณ›ๅž‹ๅฐ†็ฑปๅž‹ไฝœไธบๅ‚ๆ•ฐ๏ผŒไฝฟไปฃ็ ๅœจๅคš็ง็ฑปๅž‹ไธŠๅฎ‰ๅ…จ่ฟ่กŒ๏ผŒๆ˜ฏ TypeScript ็ฑปๅž‹ๆŠฝ่ฑก็š„ๆ ธๅฟƒ็‰นๆ€งใ€‚\",\"description\":\"ๆœฌๆ–‡็ณป็ปŸ่งฃๆž TypeScript ๆณ›ๅž‹็š„ๆ ธๅฟƒๆฆ‚ๅฟตไธŽๅทฅไฝœๆœบๅˆถ๏ผŒๅฏนๆฏ”ๆณ›ๅž‹ไธŽ any ็ฑปๅž‹็š„ๅทฎๅผ‚๏ผŒๆถต็›–ๆณ›ๅž‹ๅ‡ฝๆ•ฐใ€ๆŽฅๅฃใ€็ฑปใ€็ฑปๅž‹ๅˆซๅ็š„ๅฎž่ทต็”จๆณ•๏ผŒไปฅๅŠๅŸบๆœฌ็ฑปๅž‹็บฆๆŸใ€ๆŽฅๅฃ็บฆๆŸใ€ๅคš้‡็บฆๆŸใ€keyof ็บฆๆŸ็ญ‰้ซ˜้˜ถๆŠ€ๅทงไธŽๆœ€ไฝณๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/typescript-generic-types\",\"tags\":[\"tutorial\",\"typescript\",\"generics\",\"type-system\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่Šไธ€่Š TypeScript ไธญ็š„ๆณ›ๅž‹\",\"date\":\"2025-08-20 22:51:27\",\"capture\":\"1. ๆณ›ๅž‹็š„ๅŸบๆœฌๆฆ‚ๅฟตๅ’Œไฝœ็”จ\\n 1.1 ๆ ธๅฟƒๅฎšไน‰\\nๆณ›ๅž‹๏ผˆGenerics๏ผ‰ ๆ˜ฏ TypeScript ไธญไธ€็งๅผบๅคง็š„็ฑปๅž‹็ณป็ปŸ็‰นๆ€ง๏ผŒๅ…่ฎธๅฎšไน‰็ฑปๅž‹ๅ‚ๆ•ฐๅŒ–็š„็ป„ไปถ๏ผŒไฝฟไปฃ็ ่ƒฝๅคŸๅœจๅคš็ง็ฑปๅž‹ไธŠๅฎ‰ๅ…จ่ฟ่กŒ๏ผŒๅŒๆ—ถไฟๆŒ็ฑปๅž‹ๆฃ€ๆŸฅใ€‚ๆณ›ๅž‹็š„ๆ ธๅฟƒๆ€ๆƒณๆ˜ฏๅฐ†็ฑปๅž‹ไฝœไธบๅ‚ๆ•ฐไผ ้€’็ป™ๅ‡ฝๆ•ฐใ€ๆŽฅๅฃๆˆ–็ฑป๏ผŒๅฎž็Žฐ\\\"็ผ–ๅ†™ไธ€ๆฌก๏ผŒๅค็”จๅคšๆฌก\\\"็š„ๆ•ˆๆžœใ€‚\\n 1.2 ๆณ›ๅž‹ไธŽ any ็ฑปๅž‹็š„ๅฏนๆฏ”\\n| ็‰นๆ€ง | ๆณ›ๅž‹ | any ็ฑปๅž‹ |\\n|------|------|----------|\\n| ็ฑปๅž‹ๅฎ‰ๅ…จ | โœ… ็ผ–่ฏ‘ๆ—ถ่ฟ›่กŒ็ฑปๅž‹ๆฃ€ๆŸฅ | โŒ ๅฎŒๅ…จๅคฑๅŽป็ฑปๅž‹ๆฃ€ๆŸฅ |\\n| ไปฃ็ ๅค็”จ | โœ… ๆ”ฏๆŒๅคš็ง็ฑปๅž‹ๅค็”จ | โœ… ๆ”ฏๆŒๅคš็ง็ฑปๅž‹๏ผŒไฝ†ๅคฑๅŽป็ฑปๅž‹ไฟกๆฏ |\\n| ็ฑปๅž‹ๆŽจๆ–ญ | โœ… \"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2025-08-12 22:47:47\",\"title\":\"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—\",\"tldr\":\"TypeScript ๅฎŒๅ–„็š„็ผ–่ฏ‘ไฝ“็ณปไธŽ่ฐƒ่ฏ•ๅทฅๅ…ท้“พ๏ผŒๆ˜ฏๆž„ๅปบ้ซ˜่ดจ้‡ๅบ”็”จ็š„ๅŸบ็Ÿณใ€‚\",\"description\":\"ๆทฑๅ…ฅ่งฃๆž TypeScript ็ผ–่ฏ‘ๅทฅๅ…ท้“พไธŽ่ฐƒ่ฏ•ไฝ“็ณป๏ผŒๆถต็›– tsconfig.json ๆ ธๅฟƒ้…็ฝฎใ€Monorepo ้กน็›ฎ้…็ฝฎ๏ผˆextends/references๏ผ‰ใ€source map ่ฐƒ่ฏ•ใ€ESLint ไธŽ Jest ๅ•ๅ…ƒๆต‹่ฏ•็ญ‰ๅฎŒๆ•ดๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/typescript-compilation-debugging-guide\",\"tags\":[\"tutorial\",\"typescript\",\"compilation\",\"tooling\",\"eslint\",\"jest\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—\",\"date\":\"2025-08-12 22:47:47\",\"capture\":\"็ผ–ๅ†™ไปฃ็ ๅชๆ˜ฏๅผ€ๅ‘ๅทฅไฝœ็š„่ตท็‚น๏ผŒ็œŸๆญฃๅ†ณๅฎš้กน็›ฎ่ดจ้‡็š„ๆ˜ฏๅŽ็ปญ็š„็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•็Žฏ่Š‚ใ€‚TypeScript ไฝœไธบ JavaScript ็š„้™ๆ€็ฑปๅž‹่ถ…้›†๏ผŒไธไป…ๅธฆๆฅไบ†็ฑปๅž‹ๅฎ‰ๅ…จ๏ผŒๆ›ดๆไพ›ไบ†ๅผบๅคง็š„็ผ–่ฏ‘ๅทฅๅ…ทๅ’Œ่ฐƒ่ฏ•่ƒฝๅŠ›๏ผŒ่ฎฉๆˆ‘ไปฌ่ƒฝๅคŸๆ›ด้ซ˜ๆ•ˆๅœฐๆž„ๅปบๅ’Œ็ปดๆŠคๅฏ้ ็š„ๅบ”็”จ็จ‹ๅบใ€‚\\nๆœฌๆ–‡ๅฐ†ๅฏน TypeScript ้กน็›ฎ็š„็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•่ฟ›่กŒๆขณ็†๏ผŒๅŒ…ๆ‹ฌ็ผ–่ฏ‘ๅทฅๅ…ท TSC ็š„ไฝฟ็”จใ€็ผ–่ฏ‘้€‰้กน็š„้…็ฝฎใ€่ฐƒ่ฏ•ๅทฅๅ…ท็š„ไฝฟ็”จ็ญ‰ใ€‚\\n 1. TypeScript ็ผ–่ฏ‘้…็ฝฎไธŽ tsconfig.json\\nTSC๏ผˆTypeScript Compiler๏ผ‰ๆ˜ฏ TypeScript ๅฎ˜ๆ–นๆไพ›็š„็ผ–่ฏ‘ๅทฅๅ…ท๏ผŒ่ดŸ่ดฃๅฐ† TypeScript ไปฃ็ ๏ผˆ`.ts` ๆˆ– `.tsx`๏ผ‰่ฝฌๆขไธบ J\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"frontmatter\":{\"date\":\"2024-05-16 21:27:36\",\"title\":\"ไปŽ้€ป่พ‘้š”็ฆปๅˆฐ็ฑปๅž‹ๅฅ‘็บฆ๏ผšTypeScript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"tldr\":\"TypeScript ๅฐ†ๆจกๅ—ไพ่ต–ๆๅ‡ไธบ็ผ–่ฏ‘ๆ—ถ็ฑปๅž‹ๅฅ‘็บฆ๏ผŒไปŽ import type ๅˆฐๅฃฐๆ˜Žๆ–‡ไปถใ€‚\",\"description\":\"็ณป็ปŸ่ฎฒ่งฃ TypeScript ๅฏน ES Modules ็š„็ฑปๅž‹ๅขžๅผบ๏ผŒๆถต็›– import type ่ฟ่กŒๆ—ถไผ˜ๅŒ–ใ€ๆŽฅๅฃๅฅ‘็บฆใ€ๅฃฐๆ˜Žๆ–‡ไปถ .d.ts ๅŠ tsconfig ๆจกๅ—ๅŒ–้…็ฝฎใ€‚\",\"permalink\":\"/fullstack/typescript-module-programming-enhancement\",\"tags\":[\"concept\",\"ๅ…จๆ ˆ\",\"typescript\",\"tsconfig\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไปŽ้€ป่พ‘้š”็ฆปๅˆฐ็ฑปๅž‹ๅฅ‘็บฆ๏ผšTypeScript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"date\":\"2024-05-16 21:27:36\",\"capture\":\"1. ๅผ•่จ€\\nๅœจๅŽŸ็”Ÿ JavaScript ๆจกๅ—ๅŒ–่งฃๅ†ณไบ†ไปฃ็ ็ป„็ป‡้—ฎ้ข˜ๅŽ๏ผŒTypeScript๏ผˆTS๏ผ‰่ฟ›ไธ€ๆญฅๅฐ†ๅ…ถๆŽจๅ‘ไบ†ๅทฅไธš็บง้ซ˜ๅบฆใ€‚TS ไธไป…ไป…ๆ˜ฏไธบๆจกๅ—ๆทปๅŠ ไบ†็ฑปๅž‹ๆ ‡ๆณจ๏ผŒๅฎƒ้€š่ฟ‡็ฑปๅž‹ๅฏผๅ‡บๅฏผๅ…ฅใ€็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ใ€ไปฅๅŠๅฃฐๆ˜Žๆ–‡ไปถ็ณป็ปŸ๏ผŒๅฐ†ๆจกๅ—้—ด็š„ไพ่ต–ๅ…ณ็ณปไปŽ็ฎ€ๅ•็š„โ€œไปฃ็ ๅผ•็”จโ€ๆๅ‡ๅˆฐไบ†โ€œๅฅ‘็บฆไบคไบ’โ€ใ€‚\\nๆœฌๆ–‡ๆˆ‘ไปฌๅฐ†่š็„ฆไบŽ TypeScript ๅฆ‚ไฝ•้€š่ฟ‡็ฑปๅž‹็ณป็ปŸๅขžๅผบๆจกๅ—ๅŒ–็ผ–็จ‹๏ผŒๅนถๆŽข่ฎจๅœจ็Žฐไปฃๅทฅ็จ‹๏ผˆๅฐคๅ…ถๆ˜ฏ TS 5.0+ ๆ—ถไปฃ๏ผ‰ไธ‹็š„ๆœ€ไฝณ้…็ฝฎๅฎž่ทตใ€‚\\n 2. ็ฑปๅž‹ๅฏผๅ‡บไธŽๅฏผๅ…ฅ๏ผšๆž่‡ด็š„่ฟ่กŒๆ—ถไผ˜ๅŒ–\\nTypeScript ๅฏน ES Modules ่ฏญๆณ•ๆœ€ๆ˜พ่‘—็š„ๆ‰ฉๅฑ•ๆ˜ฏๆ”ฏๆŒโ€œไป…็ฑปๅž‹โ€๏ผˆType-only๏ผ‰็š„ๅฏผๅ‡บไธŽๅฏผๅ…ฅใ€‚่ฟ™ไธไป…ๆ˜ฏ่ฏญไน‰ไธŠ็š„ๆธ…ๆ™ฐ๏ผŒๆ›ดๆ˜ฏๆ€ง\"}],\"generics\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹\",\"frontmatter\":{\"date\":\"2025-08-20 22:51:27\",\"title\":\"่Šไธ€่Š TypeScript ไธญ็š„ๆณ›ๅž‹\",\"tldr\":\"ๆณ›ๅž‹ๅฐ†็ฑปๅž‹ไฝœไธบๅ‚ๆ•ฐ๏ผŒไฝฟไปฃ็ ๅœจๅคš็ง็ฑปๅž‹ไธŠๅฎ‰ๅ…จ่ฟ่กŒ๏ผŒๆ˜ฏ TypeScript ็ฑปๅž‹ๆŠฝ่ฑก็š„ๆ ธๅฟƒ็‰นๆ€งใ€‚\",\"description\":\"ๆœฌๆ–‡็ณป็ปŸ่งฃๆž TypeScript ๆณ›ๅž‹็š„ๆ ธๅฟƒๆฆ‚ๅฟตไธŽๅทฅไฝœๆœบๅˆถ๏ผŒๅฏนๆฏ”ๆณ›ๅž‹ไธŽ any ็ฑปๅž‹็š„ๅทฎๅผ‚๏ผŒๆถต็›–ๆณ›ๅž‹ๅ‡ฝๆ•ฐใ€ๆŽฅๅฃใ€็ฑปใ€็ฑปๅž‹ๅˆซๅ็š„ๅฎž่ทต็”จๆณ•๏ผŒไปฅๅŠๅŸบๆœฌ็ฑปๅž‹็บฆๆŸใ€ๆŽฅๅฃ็บฆๆŸใ€ๅคš้‡็บฆๆŸใ€keyof ็บฆๆŸ็ญ‰้ซ˜้˜ถๆŠ€ๅทงไธŽๆœ€ไฝณๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/typescript-generic-types\",\"tags\":[\"tutorial\",\"typescript\",\"generics\",\"type-system\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่Šไธ€่Š TypeScript ไธญ็š„ๆณ›ๅž‹\",\"date\":\"2025-08-20 22:51:27\",\"capture\":\"1. ๆณ›ๅž‹็š„ๅŸบๆœฌๆฆ‚ๅฟตๅ’Œไฝœ็”จ\\n 1.1 ๆ ธๅฟƒๅฎšไน‰\\nๆณ›ๅž‹๏ผˆGenerics๏ผ‰ ๆ˜ฏ TypeScript ไธญไธ€็งๅผบๅคง็š„็ฑปๅž‹็ณป็ปŸ็‰นๆ€ง๏ผŒๅ…่ฎธๅฎšไน‰็ฑปๅž‹ๅ‚ๆ•ฐๅŒ–็š„็ป„ไปถ๏ผŒไฝฟไปฃ็ ่ƒฝๅคŸๅœจๅคš็ง็ฑปๅž‹ไธŠๅฎ‰ๅ…จ่ฟ่กŒ๏ผŒๅŒๆ—ถไฟๆŒ็ฑปๅž‹ๆฃ€ๆŸฅใ€‚ๆณ›ๅž‹็š„ๆ ธๅฟƒๆ€ๆƒณๆ˜ฏๅฐ†็ฑปๅž‹ไฝœไธบๅ‚ๆ•ฐไผ ้€’็ป™ๅ‡ฝๆ•ฐใ€ๆŽฅๅฃๆˆ–็ฑป๏ผŒๅฎž็Žฐ\\\"็ผ–ๅ†™ไธ€ๆฌก๏ผŒๅค็”จๅคšๆฌก\\\"็š„ๆ•ˆๆžœใ€‚\\n 1.2 ๆณ›ๅž‹ไธŽ any ็ฑปๅž‹็š„ๅฏนๆฏ”\\n| ็‰นๆ€ง | ๆณ›ๅž‹ | any ็ฑปๅž‹ |\\n|------|------|----------|\\n| ็ฑปๅž‹ๅฎ‰ๅ…จ | โœ… ็ผ–่ฏ‘ๆ—ถ่ฟ›่กŒ็ฑปๅž‹ๆฃ€ๆŸฅ | โŒ ๅฎŒๅ…จๅคฑๅŽป็ฑปๅž‹ๆฃ€ๆŸฅ |\\n| ไปฃ็ ๅค็”จ | โœ… ๆ”ฏๆŒๅคš็ง็ฑปๅž‹ๅค็”จ | โœ… ๆ”ฏๆŒๅคš็ง็ฑปๅž‹๏ผŒไฝ†ๅคฑๅŽป็ฑปๅž‹ไฟกๆฏ |\\n| ็ฑปๅž‹ๆŽจๆ–ญ | โœ… \"}],\"type-system\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/10.่Šไธ€่Š Typescript ๆณ›ๅž‹\",\"frontmatter\":{\"date\":\"2025-08-20 22:51:27\",\"title\":\"่Šไธ€่Š TypeScript ไธญ็š„ๆณ›ๅž‹\",\"tldr\":\"ๆณ›ๅž‹ๅฐ†็ฑปๅž‹ไฝœไธบๅ‚ๆ•ฐ๏ผŒไฝฟไปฃ็ ๅœจๅคš็ง็ฑปๅž‹ไธŠๅฎ‰ๅ…จ่ฟ่กŒ๏ผŒๆ˜ฏ TypeScript ็ฑปๅž‹ๆŠฝ่ฑก็š„ๆ ธๅฟƒ็‰นๆ€งใ€‚\",\"description\":\"ๆœฌๆ–‡็ณป็ปŸ่งฃๆž TypeScript ๆณ›ๅž‹็š„ๆ ธๅฟƒๆฆ‚ๅฟตไธŽๅทฅไฝœๆœบๅˆถ๏ผŒๅฏนๆฏ”ๆณ›ๅž‹ไธŽ any ็ฑปๅž‹็š„ๅทฎๅผ‚๏ผŒๆถต็›–ๆณ›ๅž‹ๅ‡ฝๆ•ฐใ€ๆŽฅๅฃใ€็ฑปใ€็ฑปๅž‹ๅˆซๅ็š„ๅฎž่ทต็”จๆณ•๏ผŒไปฅๅŠๅŸบๆœฌ็ฑปๅž‹็บฆๆŸใ€ๆŽฅๅฃ็บฆๆŸใ€ๅคš้‡็บฆๆŸใ€keyof ็บฆๆŸ็ญ‰้ซ˜้˜ถๆŠ€ๅทงไธŽๆœ€ไฝณๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/typescript-generic-types\",\"tags\":[\"tutorial\",\"typescript\",\"generics\",\"type-system\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่Šไธ€่Š TypeScript ไธญ็š„ๆณ›ๅž‹\",\"date\":\"2025-08-20 22:51:27\",\"capture\":\"1. ๆณ›ๅž‹็š„ๅŸบๆœฌๆฆ‚ๅฟตๅ’Œไฝœ็”จ\\n 1.1 ๆ ธๅฟƒๅฎšไน‰\\nๆณ›ๅž‹๏ผˆGenerics๏ผ‰ ๆ˜ฏ TypeScript ไธญไธ€็งๅผบๅคง็š„็ฑปๅž‹็ณป็ปŸ็‰นๆ€ง๏ผŒๅ…่ฎธๅฎšไน‰็ฑปๅž‹ๅ‚ๆ•ฐๅŒ–็š„็ป„ไปถ๏ผŒไฝฟไปฃ็ ่ƒฝๅคŸๅœจๅคš็ง็ฑปๅž‹ไธŠๅฎ‰ๅ…จ่ฟ่กŒ๏ผŒๅŒๆ—ถไฟๆŒ็ฑปๅž‹ๆฃ€ๆŸฅใ€‚ๆณ›ๅž‹็š„ๆ ธๅฟƒๆ€ๆƒณๆ˜ฏๅฐ†็ฑปๅž‹ไฝœไธบๅ‚ๆ•ฐไผ ้€’็ป™ๅ‡ฝๆ•ฐใ€ๆŽฅๅฃๆˆ–็ฑป๏ผŒๅฎž็Žฐ\\\"็ผ–ๅ†™ไธ€ๆฌก๏ผŒๅค็”จๅคšๆฌก\\\"็š„ๆ•ˆๆžœใ€‚\\n 1.2 ๆณ›ๅž‹ไธŽ any ็ฑปๅž‹็š„ๅฏนๆฏ”\\n| ็‰นๆ€ง | ๆณ›ๅž‹ | any ็ฑปๅž‹ |\\n|------|------|----------|\\n| ็ฑปๅž‹ๅฎ‰ๅ…จ | โœ… ็ผ–่ฏ‘ๆ—ถ่ฟ›่กŒ็ฑปๅž‹ๆฃ€ๆŸฅ | โŒ ๅฎŒๅ…จๅคฑๅŽป็ฑปๅž‹ๆฃ€ๆŸฅ |\\n| ไปฃ็ ๅค็”จ | โœ… ๆ”ฏๆŒๅคš็ง็ฑปๅž‹ๅค็”จ | โœ… ๆ”ฏๆŒๅคš็ง็ฑปๅž‹๏ผŒไฝ†ๅคฑๅŽป็ฑปๅž‹ไฟกๆฏ |\\n| ็ฑปๅž‹ๆŽจๆ–ญ | โœ… \"}],\"compilation\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2025-08-12 22:47:47\",\"title\":\"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—\",\"tldr\":\"TypeScript ๅฎŒๅ–„็š„็ผ–่ฏ‘ไฝ“็ณปไธŽ่ฐƒ่ฏ•ๅทฅๅ…ท้“พ๏ผŒๆ˜ฏๆž„ๅปบ้ซ˜่ดจ้‡ๅบ”็”จ็š„ๅŸบ็Ÿณใ€‚\",\"description\":\"ๆทฑๅ…ฅ่งฃๆž TypeScript ็ผ–่ฏ‘ๅทฅๅ…ท้“พไธŽ่ฐƒ่ฏ•ไฝ“็ณป๏ผŒๆถต็›– tsconfig.json ๆ ธๅฟƒ้…็ฝฎใ€Monorepo ้กน็›ฎ้…็ฝฎ๏ผˆextends/references๏ผ‰ใ€source map ่ฐƒ่ฏ•ใ€ESLint ไธŽ Jest ๅ•ๅ…ƒๆต‹่ฏ•็ญ‰ๅฎŒๆ•ดๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/typescript-compilation-debugging-guide\",\"tags\":[\"tutorial\",\"typescript\",\"compilation\",\"tooling\",\"eslint\",\"jest\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—\",\"date\":\"2025-08-12 22:47:47\",\"capture\":\"็ผ–ๅ†™ไปฃ็ ๅชๆ˜ฏๅผ€ๅ‘ๅทฅไฝœ็š„่ตท็‚น๏ผŒ็œŸๆญฃๅ†ณๅฎš้กน็›ฎ่ดจ้‡็š„ๆ˜ฏๅŽ็ปญ็š„็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•็Žฏ่Š‚ใ€‚TypeScript ไฝœไธบ JavaScript ็š„้™ๆ€็ฑปๅž‹่ถ…้›†๏ผŒไธไป…ๅธฆๆฅไบ†็ฑปๅž‹ๅฎ‰ๅ…จ๏ผŒๆ›ดๆไพ›ไบ†ๅผบๅคง็š„็ผ–่ฏ‘ๅทฅๅ…ทๅ’Œ่ฐƒ่ฏ•่ƒฝๅŠ›๏ผŒ่ฎฉๆˆ‘ไปฌ่ƒฝๅคŸๆ›ด้ซ˜ๆ•ˆๅœฐๆž„ๅปบๅ’Œ็ปดๆŠคๅฏ้ ็š„ๅบ”็”จ็จ‹ๅบใ€‚\\nๆœฌๆ–‡ๅฐ†ๅฏน TypeScript ้กน็›ฎ็š„็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•่ฟ›่กŒๆขณ็†๏ผŒๅŒ…ๆ‹ฌ็ผ–่ฏ‘ๅทฅๅ…ท TSC ็š„ไฝฟ็”จใ€็ผ–่ฏ‘้€‰้กน็š„้…็ฝฎใ€่ฐƒ่ฏ•ๅทฅๅ…ท็š„ไฝฟ็”จ็ญ‰ใ€‚\\n 1. TypeScript ็ผ–่ฏ‘้…็ฝฎไธŽ tsconfig.json\\nTSC๏ผˆTypeScript Compiler๏ผ‰ๆ˜ฏ TypeScript ๅฎ˜ๆ–นๆไพ›็š„็ผ–่ฏ‘ๅทฅๅ…ท๏ผŒ่ดŸ่ดฃๅฐ† TypeScript ไปฃ็ ๏ผˆ`.ts` ๆˆ– `.tsx`๏ผ‰่ฝฌๆขไธบ J\"}],\"tooling\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2025-08-12 22:47:47\",\"title\":\"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—\",\"tldr\":\"TypeScript ๅฎŒๅ–„็š„็ผ–่ฏ‘ไฝ“็ณปไธŽ่ฐƒ่ฏ•ๅทฅๅ…ท้“พ๏ผŒๆ˜ฏๆž„ๅปบ้ซ˜่ดจ้‡ๅบ”็”จ็š„ๅŸบ็Ÿณใ€‚\",\"description\":\"ๆทฑๅ…ฅ่งฃๆž TypeScript ็ผ–่ฏ‘ๅทฅๅ…ท้“พไธŽ่ฐƒ่ฏ•ไฝ“็ณป๏ผŒๆถต็›– tsconfig.json ๆ ธๅฟƒ้…็ฝฎใ€Monorepo ้กน็›ฎ้…็ฝฎ๏ผˆextends/references๏ผ‰ใ€source map ่ฐƒ่ฏ•ใ€ESLint ไธŽ Jest ๅ•ๅ…ƒๆต‹่ฏ•็ญ‰ๅฎŒๆ•ดๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/typescript-compilation-debugging-guide\",\"tags\":[\"tutorial\",\"typescript\",\"compilation\",\"tooling\",\"eslint\",\"jest\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—\",\"date\":\"2025-08-12 22:47:47\",\"capture\":\"็ผ–ๅ†™ไปฃ็ ๅชๆ˜ฏๅผ€ๅ‘ๅทฅไฝœ็š„่ตท็‚น๏ผŒ็œŸๆญฃๅ†ณๅฎš้กน็›ฎ่ดจ้‡็š„ๆ˜ฏๅŽ็ปญ็š„็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•็Žฏ่Š‚ใ€‚TypeScript ไฝœไธบ JavaScript ็š„้™ๆ€็ฑปๅž‹่ถ…้›†๏ผŒไธไป…ๅธฆๆฅไบ†็ฑปๅž‹ๅฎ‰ๅ…จ๏ผŒๆ›ดๆไพ›ไบ†ๅผบๅคง็š„็ผ–่ฏ‘ๅทฅๅ…ทๅ’Œ่ฐƒ่ฏ•่ƒฝๅŠ›๏ผŒ่ฎฉๆˆ‘ไปฌ่ƒฝๅคŸๆ›ด้ซ˜ๆ•ˆๅœฐๆž„ๅปบๅ’Œ็ปดๆŠคๅฏ้ ็š„ๅบ”็”จ็จ‹ๅบใ€‚\\nๆœฌๆ–‡ๅฐ†ๅฏน TypeScript ้กน็›ฎ็š„็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•่ฟ›่กŒๆขณ็†๏ผŒๅŒ…ๆ‹ฌ็ผ–่ฏ‘ๅทฅๅ…ท TSC ็š„ไฝฟ็”จใ€็ผ–่ฏ‘้€‰้กน็š„้…็ฝฎใ€่ฐƒ่ฏ•ๅทฅๅ…ท็š„ไฝฟ็”จ็ญ‰ใ€‚\\n 1. TypeScript ็ผ–่ฏ‘้…็ฝฎไธŽ tsconfig.json\\nTSC๏ผˆTypeScript Compiler๏ผ‰ๆ˜ฏ TypeScript ๅฎ˜ๆ–นๆไพ›็š„็ผ–่ฏ‘ๅทฅๅ…ท๏ผŒ่ดŸ่ดฃๅฐ† TypeScript ไปฃ็ ๏ผˆ`.ts` ๆˆ– `.tsx`๏ผ‰่ฝฌๆขไธบ J\"}],\"eslint\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2025-08-12 22:47:47\",\"title\":\"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—\",\"tldr\":\"TypeScript ๅฎŒๅ–„็š„็ผ–่ฏ‘ไฝ“็ณปไธŽ่ฐƒ่ฏ•ๅทฅๅ…ท้“พ๏ผŒๆ˜ฏๆž„ๅปบ้ซ˜่ดจ้‡ๅบ”็”จ็š„ๅŸบ็Ÿณใ€‚\",\"description\":\"ๆทฑๅ…ฅ่งฃๆž TypeScript ็ผ–่ฏ‘ๅทฅๅ…ท้“พไธŽ่ฐƒ่ฏ•ไฝ“็ณป๏ผŒๆถต็›– tsconfig.json ๆ ธๅฟƒ้…็ฝฎใ€Monorepo ้กน็›ฎ้…็ฝฎ๏ผˆextends/references๏ผ‰ใ€source map ่ฐƒ่ฏ•ใ€ESLint ไธŽ Jest ๅ•ๅ…ƒๆต‹่ฏ•็ญ‰ๅฎŒๆ•ดๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/typescript-compilation-debugging-guide\",\"tags\":[\"tutorial\",\"typescript\",\"compilation\",\"tooling\",\"eslint\",\"jest\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—\",\"date\":\"2025-08-12 22:47:47\",\"capture\":\"็ผ–ๅ†™ไปฃ็ ๅชๆ˜ฏๅผ€ๅ‘ๅทฅไฝœ็š„่ตท็‚น๏ผŒ็œŸๆญฃๅ†ณๅฎš้กน็›ฎ่ดจ้‡็š„ๆ˜ฏๅŽ็ปญ็š„็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•็Žฏ่Š‚ใ€‚TypeScript ไฝœไธบ JavaScript ็š„้™ๆ€็ฑปๅž‹่ถ…้›†๏ผŒไธไป…ๅธฆๆฅไบ†็ฑปๅž‹ๅฎ‰ๅ…จ๏ผŒๆ›ดๆไพ›ไบ†ๅผบๅคง็š„็ผ–่ฏ‘ๅทฅๅ…ทๅ’Œ่ฐƒ่ฏ•่ƒฝๅŠ›๏ผŒ่ฎฉๆˆ‘ไปฌ่ƒฝๅคŸๆ›ด้ซ˜ๆ•ˆๅœฐๆž„ๅปบๅ’Œ็ปดๆŠคๅฏ้ ็š„ๅบ”็”จ็จ‹ๅบใ€‚\\nๆœฌๆ–‡ๅฐ†ๅฏน TypeScript ้กน็›ฎ็š„็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•่ฟ›่กŒๆขณ็†๏ผŒๅŒ…ๆ‹ฌ็ผ–่ฏ‘ๅทฅๅ…ท TSC ็š„ไฝฟ็”จใ€็ผ–่ฏ‘้€‰้กน็š„้…็ฝฎใ€่ฐƒ่ฏ•ๅทฅๅ…ท็š„ไฝฟ็”จ็ญ‰ใ€‚\\n 1. TypeScript ็ผ–่ฏ‘้…็ฝฎไธŽ tsconfig.json\\nTSC๏ผˆTypeScript Compiler๏ผ‰ๆ˜ฏ TypeScript ๅฎ˜ๆ–นๆไพ›็š„็ผ–่ฏ‘ๅทฅๅ…ท๏ผŒ่ดŸ่ดฃๅฐ† TypeScript ไปฃ็ ๏ผˆ`.ts` ๆˆ– `.tsx`๏ผ‰่ฝฌๆขไธบ J\"}],\"jest\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• TypeScript ้กน็›ฎๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2025-08-12 22:47:47\",\"title\":\"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—\",\"tldr\":\"TypeScript ๅฎŒๅ–„็š„็ผ–่ฏ‘ไฝ“็ณปไธŽ่ฐƒ่ฏ•ๅทฅๅ…ท้“พ๏ผŒๆ˜ฏๆž„ๅปบ้ซ˜่ดจ้‡ๅบ”็”จ็š„ๅŸบ็Ÿณใ€‚\",\"description\":\"ๆทฑๅ…ฅ่งฃๆž TypeScript ็ผ–่ฏ‘ๅทฅๅ…ท้“พไธŽ่ฐƒ่ฏ•ไฝ“็ณป๏ผŒๆถต็›– tsconfig.json ๆ ธๅฟƒ้…็ฝฎใ€Monorepo ้กน็›ฎ้…็ฝฎ๏ผˆextends/references๏ผ‰ใ€source map ่ฐƒ่ฏ•ใ€ESLint ไธŽ Jest ๅ•ๅ…ƒๆต‹่ฏ•็ญ‰ๅฎŒๆ•ดๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/typescript-compilation-debugging-guide\",\"tags\":[\"tutorial\",\"typescript\",\"compilation\",\"tooling\",\"eslint\",\"jest\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"TypeScript ็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•ๅฎŒๅ…จๆŒ‡ๅ—\",\"date\":\"2025-08-12 22:47:47\",\"capture\":\"็ผ–ๅ†™ไปฃ็ ๅชๆ˜ฏๅผ€ๅ‘ๅทฅไฝœ็š„่ตท็‚น๏ผŒ็œŸๆญฃๅ†ณๅฎš้กน็›ฎ่ดจ้‡็š„ๆ˜ฏๅŽ็ปญ็š„็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•็Žฏ่Š‚ใ€‚TypeScript ไฝœไธบ JavaScript ็š„้™ๆ€็ฑปๅž‹่ถ…้›†๏ผŒไธไป…ๅธฆๆฅไบ†็ฑปๅž‹ๅฎ‰ๅ…จ๏ผŒๆ›ดๆไพ›ไบ†ๅผบๅคง็š„็ผ–่ฏ‘ๅทฅๅ…ทๅ’Œ่ฐƒ่ฏ•่ƒฝๅŠ›๏ผŒ่ฎฉๆˆ‘ไปฌ่ƒฝๅคŸๆ›ด้ซ˜ๆ•ˆๅœฐๆž„ๅปบๅ’Œ็ปดๆŠคๅฏ้ ็š„ๅบ”็”จ็จ‹ๅบใ€‚\\nๆœฌๆ–‡ๅฐ†ๅฏน TypeScript ้กน็›ฎ็š„็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ•่ฟ›่กŒๆขณ็†๏ผŒๅŒ…ๆ‹ฌ็ผ–่ฏ‘ๅทฅๅ…ท TSC ็š„ไฝฟ็”จใ€็ผ–่ฏ‘้€‰้กน็š„้…็ฝฎใ€่ฐƒ่ฏ•ๅทฅๅ…ท็š„ไฝฟ็”จ็ญ‰ใ€‚\\n 1. TypeScript ็ผ–่ฏ‘้…็ฝฎไธŽ tsconfig.json\\nTSC๏ผˆTypeScript Compiler๏ผ‰ๆ˜ฏ TypeScript ๅฎ˜ๆ–นๆไพ›็š„็ผ–่ฏ‘ๅทฅๅ…ท๏ผŒ่ดŸ่ดฃๅฐ† TypeScript ไปฃ็ ๏ผˆ`.ts` ๆˆ– `.tsx`๏ผ‰่ฝฌๆขไธบ J\"}],\"ๆˆ้•ฟ\":[{\"url\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/20.่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"relativePath\":\"/10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/20.่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"frontmatter\":{\"date\":\"2024-06-15 22:23:00\",\"title\":\"่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๆœฌๆ–‡็ป“ๅˆไฟ็ฝ—ใƒปๆ ผ้›ทๅŽ„ๅง†ใ€ŠHow to Do Great Workใ€‹ๆ ธๅฟƒ่ง‚็‚น๏ผŒๆŽข่ฎจ AI ๅŽŸ็”Ÿๆ—ถไปฃๅคๅˆๅž‹ไบบๆ‰็š„ๆ ธๅฟƒ็‰น่ดจใ€‚AI ่ฎฉๅŸบ็ก€ๆ‰ง่กŒ่ƒฝๅŠ›ๅฟซ้€Ÿ่ดฌๅ€ผ๏ผŒไบบๆ‰็š„ๆ ธๅฟƒๅฃๅž’ไธๅ†ๆ˜ฏ่งฃๅ†ณ้—ฎ้ข˜๏ผŒ่€Œๆ˜ฏๆๅ‡บไผ˜่ดจ้—ฎ้ข˜ใ€ๅŸนๅ…ป้žๅ…ฑ่ฏ†ๅ“ๅ‘ณใ€‚ๅŒๆ—ถ้œ€ๅšๅฎˆๆ™บๅŠ›่ฏšๅฎž๏ผŒๆ‹ฅๆœ‰ๆ‰“็ ดๅธธ่ง„็š„ๅˆ›ๆ–ฐๅ‹‡ๆฐ”๏ผŒๅ€ŸๅŠฉ AI ๆ”พๅคงไธชไบบๆˆ้•ฟๆ ๆ†๏ผŒไปฅๅฐๅˆ‡ๅฃๅฎž่ทตๅฎž็ŽฐๆŒ‡ๆ•ฐ็บงๆˆ้•ฟใ€‚ไบบ็ฑป็‹ฌๆœ‰็š„ๅฅฝๅฅ‡ๅฟƒ๏ผŒๆ˜ฏ็ช็ ด AI ๅนณๅบธใ€ๅ–ๅพ—ๆฐๅ‡บๆˆๅฐฑ็š„ๆœ€็ปˆๅบ•ๆฐ”ใ€‚\",\"coverImg\":\"/img/cover/product_sense_bg.png\",\"permalink\":\"/product-sense/ai-native-composite-talents\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"AI\",\"ๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"่ฏปๅŽๆ„Ÿ๏ผšAI ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ\",\"date\":\"2024-06-15 22:23:00\",\"capture\":\"> \\n> ๅŽŸๆ–‡ๅœฐๅ€๏ผšhttps://paulgraham.com/greatwork.html\\n> \\n> ๅŽŸๆ–‡ไฝœ่€…๏ผšPaul Graham๏ผˆไฟ็ฝ—ยทๆ ผ้›ทๅŽ„ๅง†๏ผ‰๏ผŒ็ก…่ฐท้กถ็บงๅญตๅŒ–ๅ™จ Y Combinator ๅˆ›ๅง‹ไบบ๏ผŒ่ขซ่ช‰ไธบโ€œ็ก…่ฐทๅˆ›ไธšๆ•™็ˆถโ€๏ผŒไนŸๆ˜ฏ็ปๅ…ธๆŠ€ๆœฏๅ“ฒๅญฆ่‘—ไฝœใ€Š้ป‘ๅฎขไธŽ็”ปๅฎถใ€‹็š„ไฝœ่€…ใ€‚\\n> \\n> ๆ–‡็ซ ่ƒŒๆ™ฏ๏ผšๅŽŸๆ–‡ๆ˜ฏไฟ็ฝ—ยทๆ ผ้›ทๅŽ„ๅง†ไน‹ๅ‰ๅ‡†ๅค‡ไบ†ๅŠๅนดไน‹ไน…็š„้‡็ฃ…้•ฟๆ–‡๏ผŒไป–่ฏ•ๅ›พ่ฎฒๆ˜Ž็™ฝไธ€ไธช้€‚็”จไบŽๆฏไธชไบบ็š„ไธป้ข˜โ€”โ€”ๅฆ‚ไฝ•ๅšๆˆใ€Œๅคงไบ‹ใ€๏ผˆgreat work๏ผ‰ใ€‚้€š่ฏปๅ…จๆ–‡๏ผŒไฝ ไผšๅ‘็Žฐ๏ผŒ่ฟ™ๆ˜ฏไธ€็ฏ‡้žๅธธๅฎž็”จ็š„ๅทฅไฝœๆŒ‡ๅ—๏ผŒๅนถไธ”ๅ…ถไธญ็š„่ฎธๅคšๅ†…ๅฎน๏ผŒ้ƒฝไธŽAIๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰ๆ‰€้œ€่ฆๅ…ทๅค‡็š„็‰น่ดจ้žๅธธไธ€่‡ดใ€‚\\n 1. ๅผ•่จ€๏ผš\"}],\"ESM\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview\",\"frontmatter\":{\"date\":\"2024-05-18 22:49:57\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ไปŽ ES Modules ๅˆฐๅคงๅž‹้กน็›ฎๅˆ†ๅฑ‚ๆžถๆž„ไธŽๅทฅ็จ‹ๅŒ–ๅฎž่ทต๏ผŒๆž„ๅปบๅ…จๆ ˆๆจกๅ—ๅŒ–็Ÿฅ่ฏ†ไฝ“็ณปใ€‚\",\"description\":\"็ณป็ปŸๆขณ็† JavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›๏ผˆIIFEโ†’CJSโ†’ESM๏ผ‰ใ€TypeScript ็ฑปๅž‹ๅขžๅผบใ€ๅˆ†ๅฑ‚ๆžถๆž„ไธŽ DDD ๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/module-programming-practice-guide\",\"tags\":[\"tutorial\",\"ESM\",\"DDD\",\"ๅพฎๅ‰็ซฏ\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2024-05-18 22:49:57\",\"capture\":\"1. ๅผ•่จ€\\nๆจกๅ—ๅŒ–็ผ–็จ‹ๆ˜ฏ็Žฐไปฃ JavaScript/TypeScript ๅผ€ๅ‘็š„ๆ ธๅฟƒๅŽŸๅˆ™๏ผŒๅฎƒ้€š่ฟ‡ๅฐ†ๅคๆ‚็ณป็ปŸๆ‹†ๅˆ†ไธบ็‹ฌ็ซ‹ๅฏๅค็”จ็š„ๆจกๅ—๏ผŒ้™ไฝŽ็ณป็ปŸๅคๆ‚ๆ€งๅนถๆ้ซ˜ๅฏ็ปดๆŠคๆ€งไธŽๅฏๅค็”จๆ€งใ€‚ๅ› ๆญค๏ผŒๆˆ‘ไปฌ้€š่ฟ‡็ณปๅˆ—ๆ–‡็ซ ่ฏฆ็ป†ไป‹็ปไบ†ๆจกๅ—ๅŒ–็š„ๅŸบ็ก€ๆฆ‚ๅฟตใ€ๆผ”่ฟ›ๅކ็จ‹ใ€ไธๅŒ่ง„่Œƒ็š„ๆทฑๅบฆ่งฃๆžใ€TypeScriptๆจกๅ—ๅŒ–ๅขžๅผบใ€ES Modules ๆ ธๅฟƒ่ฏญๆณ•ไธŽๅฎž่ทตใ€ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทตใ€ๅ‰็ซฏๅทฅ็จ‹ๅŒ–ไธญ็š„ๆจกๅ—ๅŒ–ใ€Node.jsไธญ็š„ๆจกๅ—ๅŒ–ๅฎž่ทตใ€ๅคงๅž‹้กน็›ฎไธญ็š„ๆจกๅ—ๅŒ–่ฎพ่ฎกใ€ๆจกๅ—ๅŒ–ไธŽไปฃ็ ็ปดๆŠคไปฅๅŠๆœชๆฅๅ‘ๅฑ•่ถ‹ๅŠฟใ€‚\\nๅ‰้ข็š„็ณปๅˆ—ๆ–‡็ซ ไธป่ฆๆœ‰๏ผš\\n- ๆจกๅ—ๅŒ–็ผ–็จ‹็ผ–็จ‹ๅˆไฝ“้ชŒไธŽๅŸบ็ก€ไป‹็ป\\n- JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\\n- ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒ\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"frontmatter\":{\"date\":\"2024-05-14 22:29:32\",\"title\":\"ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒๆ‹ฅๆŠฑๅŽŸ็”Ÿ๏ผšES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"tldr\":\"ES Modules ๆ ธๅฟƒ่ฏญๆณ•ไธŽๆ‰ง่กŒๆจกๅž‹๏ผš้™ๆ€ๅˆ†ๆžๅฆ‚ไฝ•้‡ๅก‘ๅ‰็ซฏๆž„ๅปบๆ•ˆ็އใ€‚\",\"description\":\"ๆทฑๅบฆ่งฃๆž ES Modules ๅ‘ฝๅๅฏผๅ‡บ/ๅฏผๅ…ฅใ€้ป˜่ฎคๅฏผๅ‡บใ€ๅŠจๆ€ๅฏผๅ…ฅ็ญ‰่ฏญๆณ•๏ผŒไปฅๅŠๆจกๅ—ๆ‰ง่กŒ้กบๅบใ€ๅพช็Žฏไพ่ต–ๅค„็†ไธŽ็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ๆœบๅˆถใ€‚\",\"permalink\":\"/fullstack/decode-es-modules\",\"tags\":[\"concept\",\"ESM\",\"static-analysis\",\"Tree-Shaking\",\"circular-dependency\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒๆ‹ฅๆŠฑๅŽŸ็”Ÿ๏ผšES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"date\":\"2024-05-14 22:29:32\",\"capture\":\"> \\n> ็†่งฃ ESM๏ผŒไธไป…ไป…ๆ˜ฏๅญฆไผš import ๅ’Œ export๏ผŒๆ›ด้‡่ฆ็š„ๆ˜ฏ็†่งฃๅฎƒๅฆ‚ไฝ•้€š่ฟ‡็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ๅฝปๅบ•ๆ”นๅ˜ไบ†ๅ‰็ซฏๆž„ๅปบ็š„ๆ•ˆ็އใ€‚\\n 1. ๅ‘ฝๅๅฏผๅ‡บไธŽๅฏผๅ…ฅ๏ผš็ฒพๅ‡†็š„ไปฃ็ ๅผ•็”จ\\nๅ‘ฝๅๅฏผๅ‡บ๏ผˆNamed Exports๏ผ‰ๆ˜ฏ ESM ๆœ€ๅธธ็”จ็š„ๅฝขๅผ๏ผŒๅฎƒๅ…่ฎธไธ€ไธชๆจกๅ—ๆšด้œฒๅคšไธชๆˆๅ‘˜ใ€‚ๅ…ถๆ ธๅฟƒไผ˜ๅŠฟๅœจไบŽ๏ผšๅฏผๅ…ฅๆ–นๅฏไปฅๆŒ‰้œ€ๅผ•ๅ…ฅ๏ผŒไธ” IDE ่ƒฝๆไพ›็ฒพๅ‡†็š„่กฅๅ…จใ€‚\\n่ฏญๆณ•ๅฎž่ทต๏ผš๏ผš\\n```javascript\\n// math.js - ๅ‘ฝๅๅฏผๅ‡บ\\n// ่กŒๅ†…ๅฏผๅ‡บ\\nexport const PI = 3.14159;\\nexport function circleArea(radius) {\\n return PI * rad\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†\",\"frontmatter\":{\"date\":\"2024-05-14 22:26:06\",\"title\":\"JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\",\"tldr\":\"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ็ญ‰ๆ ธๅฟƒ่ง„่Œƒ๏ผŒ้™„็Žฐไปฃ่ฟ็งป็ญ–็•ฅใ€‚\",\"description\":\"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ๅ››ๅคงๆจกๅ—ๅŒ–่ง„่Œƒ็š„ๆ ธๅฟƒ่ฏญๆณ•ไธŽ้€‚็”จๅœบๆ™ฏ๏ผŒ่งฃๆžๅ„่ง„่Œƒ็š„ๅ…ณ้”ฎๅทฎๅผ‚๏ผŒๅนถๆไพ›ไปŽๆ—ง่ง„่Œƒๅ‘ ESM ่ฟ็งป็š„ๅฎžๆ“็ญ–็•ฅใ€‚\",\"permalink\":\"/fullstack/different-module-programming-specifications\",\"tags\":[\"tutorial\",\"CommonJS\",\"AMD\",\"UMD\",\"ESM\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\",\"date\":\"2024-05-14 22:26:06\",\"capture\":\"ๅœจ JavaScript ่ฟ›ๅŒ–ๅฒไธŠ๏ผŒโ€œๆจกๅ—ๅŒ–โ€ๅง‹็ปˆๆ˜ฏไธ€ไธชๆ ธๅฟƒๅ‘ฝ้ข˜ใ€‚ไปŽๆ—ฉๆœŸ script ๆ ‡็ญพๆปกๅคฉ้ฃž็š„โ€œๆททๆฒŒๆ—ถไปฃโ€๏ผŒๅˆฐๅ„่ทฏ่ง„่Œƒ็พค้›„้€้นฟ็š„โ€œๆˆ˜ๅ›ฝๆ—ถไปฃโ€๏ผŒๅ†ๅˆฐๅฆ‚ไปŠ ES Modules ๅฎšไบŽไธ€ๅฐŠ๏ผŒๅผ€ๅ‘่€…ไปฌๅœจ่งฃๅ†ณไพ่ต–็ฎก็†ใ€ไฝœ็”จๅŸŸๆฑกๆŸ“ๅ’Œๅผ‚ๆญฅๅŠ ่ฝฝ็ญ‰้—ฎ้ข˜ไธŠไป˜ๅ‡บไบ†ๅทจๅคง็š„ๅŠชๅŠ›ใ€‚\\nๆœฌๆ–‡ๅฐ†ๅธฆไฝ ๆขณ็† JavaScript ๅކๅฒไธŠๆœ€้‡่ฆ็š„ๅ‡ ็งๆจกๅ—ๅŒ–่ง„่Œƒ๏ผŒไพฟไบŽๆž„ๅปบ่ตทๅ…จๆ ˆๅผ€ๅ‘็š„ๅบ•ๅฑ‚็Ÿฅ่ฏ†ๅ›พ่ฐฑใ€‚\\n 1. CommonJS ่ง„่Œƒ๏ผšNode.js ็”Ÿๆ€็š„ๅŸบ็Ÿณ\\nCommonJS ๆ˜ฏไผด้š Node.js ่ฏž็”Ÿ็š„่ง„่Œƒ,็”ฑ Kevin Dangoor ๆๅ‡บ๏ผŒๅˆ่กทๆ˜ฏ่ฎฉ JavaScript ่„ฑ็ฆปๆต่งˆๅ™จไนŸ่ƒฝๆž„ๅปบๅคๆ‚็š„็ณป็ปŸๅบ”็”จใ€‚ๅฎƒๆ˜ฏ Node.\"}],\"DDD\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview\",\"frontmatter\":{\"date\":\"2024-05-18 22:49:57\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ไปŽ ES Modules ๅˆฐๅคงๅž‹้กน็›ฎๅˆ†ๅฑ‚ๆžถๆž„ไธŽๅทฅ็จ‹ๅŒ–ๅฎž่ทต๏ผŒๆž„ๅปบๅ…จๆ ˆๆจกๅ—ๅŒ–็Ÿฅ่ฏ†ไฝ“็ณปใ€‚\",\"description\":\"็ณป็ปŸๆขณ็† JavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›๏ผˆIIFEโ†’CJSโ†’ESM๏ผ‰ใ€TypeScript ็ฑปๅž‹ๅขžๅผบใ€ๅˆ†ๅฑ‚ๆžถๆž„ไธŽ DDD ๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/module-programming-practice-guide\",\"tags\":[\"tutorial\",\"ESM\",\"DDD\",\"ๅพฎๅ‰็ซฏ\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2024-05-18 22:49:57\",\"capture\":\"1. ๅผ•่จ€\\nๆจกๅ—ๅŒ–็ผ–็จ‹ๆ˜ฏ็Žฐไปฃ JavaScript/TypeScript ๅผ€ๅ‘็š„ๆ ธๅฟƒๅŽŸๅˆ™๏ผŒๅฎƒ้€š่ฟ‡ๅฐ†ๅคๆ‚็ณป็ปŸๆ‹†ๅˆ†ไธบ็‹ฌ็ซ‹ๅฏๅค็”จ็š„ๆจกๅ—๏ผŒ้™ไฝŽ็ณป็ปŸๅคๆ‚ๆ€งๅนถๆ้ซ˜ๅฏ็ปดๆŠคๆ€งไธŽๅฏๅค็”จๆ€งใ€‚ๅ› ๆญค๏ผŒๆˆ‘ไปฌ้€š่ฟ‡็ณปๅˆ—ๆ–‡็ซ ่ฏฆ็ป†ไป‹็ปไบ†ๆจกๅ—ๅŒ–็š„ๅŸบ็ก€ๆฆ‚ๅฟตใ€ๆผ”่ฟ›ๅކ็จ‹ใ€ไธๅŒ่ง„่Œƒ็š„ๆทฑๅบฆ่งฃๆžใ€TypeScriptๆจกๅ—ๅŒ–ๅขžๅผบใ€ES Modules ๆ ธๅฟƒ่ฏญๆณ•ไธŽๅฎž่ทตใ€ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทตใ€ๅ‰็ซฏๅทฅ็จ‹ๅŒ–ไธญ็š„ๆจกๅ—ๅŒ–ใ€Node.jsไธญ็š„ๆจกๅ—ๅŒ–ๅฎž่ทตใ€ๅคงๅž‹้กน็›ฎไธญ็š„ๆจกๅ—ๅŒ–่ฎพ่ฎกใ€ๆจกๅ—ๅŒ–ไธŽไปฃ็ ็ปดๆŠคไปฅๅŠๆœชๆฅๅ‘ๅฑ•่ถ‹ๅŠฟใ€‚\\nๅ‰้ข็š„็ณปๅˆ—ๆ–‡็ซ ไธป่ฆๆœ‰๏ผš\\n- ๆจกๅ—ๅŒ–็ผ–็จ‹็ผ–็จ‹ๅˆไฝ“้ชŒไธŽๅŸบ็ก€ไป‹็ป\\n- JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\\n- ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒ\"}],\"ๅพฎๅ‰็ซฏ\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/0.overview\",\"frontmatter\":{\"date\":\"2024-05-18 22:49:57\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ไปŽ ES Modules ๅˆฐๅคงๅž‹้กน็›ฎๅˆ†ๅฑ‚ๆžถๆž„ไธŽๅทฅ็จ‹ๅŒ–ๅฎž่ทต๏ผŒๆž„ๅปบๅ…จๆ ˆๆจกๅ—ๅŒ–็Ÿฅ่ฏ†ไฝ“็ณปใ€‚\",\"description\":\"็ณป็ปŸๆขณ็† JavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›๏ผˆIIFEโ†’CJSโ†’ESM๏ผ‰ใ€TypeScript ็ฑปๅž‹ๅขžๅผบใ€ๅˆ†ๅฑ‚ๆžถๆž„ไธŽ DDD ๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/module-programming-practice-guide\",\"tags\":[\"tutorial\",\"ESM\",\"DDD\",\"ๅพฎๅ‰็ซฏ\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2024-05-18 22:49:57\",\"capture\":\"1. ๅผ•่จ€\\nๆจกๅ—ๅŒ–็ผ–็จ‹ๆ˜ฏ็Žฐไปฃ JavaScript/TypeScript ๅผ€ๅ‘็š„ๆ ธๅฟƒๅŽŸๅˆ™๏ผŒๅฎƒ้€š่ฟ‡ๅฐ†ๅคๆ‚็ณป็ปŸๆ‹†ๅˆ†ไธบ็‹ฌ็ซ‹ๅฏๅค็”จ็š„ๆจกๅ—๏ผŒ้™ไฝŽ็ณป็ปŸๅคๆ‚ๆ€งๅนถๆ้ซ˜ๅฏ็ปดๆŠคๆ€งไธŽๅฏๅค็”จๆ€งใ€‚ๅ› ๆญค๏ผŒๆˆ‘ไปฌ้€š่ฟ‡็ณปๅˆ—ๆ–‡็ซ ่ฏฆ็ป†ไป‹็ปไบ†ๆจกๅ—ๅŒ–็š„ๅŸบ็ก€ๆฆ‚ๅฟตใ€ๆผ”่ฟ›ๅކ็จ‹ใ€ไธๅŒ่ง„่Œƒ็š„ๆทฑๅบฆ่งฃๆžใ€TypeScriptๆจกๅ—ๅŒ–ๅขžๅผบใ€ES Modules ๆ ธๅฟƒ่ฏญๆณ•ไธŽๅฎž่ทตใ€ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทตใ€ๅ‰็ซฏๅทฅ็จ‹ๅŒ–ไธญ็š„ๆจกๅ—ๅŒ–ใ€Node.jsไธญ็š„ๆจกๅ—ๅŒ–ๅฎž่ทตใ€ๅคงๅž‹้กน็›ฎไธญ็š„ๆจกๅ—ๅŒ–่ฎพ่ฎกใ€ๆจกๅ—ๅŒ–ไธŽไปฃ็ ็ปดๆŠคไปฅๅŠๆœชๆฅๅ‘ๅฑ•่ถ‹ๅŠฟใ€‚\\nๅ‰้ข็š„็ณปๅˆ—ๆ–‡็ซ ไธป่ฆๆœ‰๏ผš\\n- ๆจกๅ—ๅŒ–็ผ–็จ‹็ผ–็จ‹ๅˆไฝ“้ชŒไธŽๅŸบ็ก€ไป‹็ป\\n- JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\\n- ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒ\"}],\"concept\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–\",\"frontmatter\":{\"date\":\"2024-05-17 23:33:09\",\"title\":\"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“\",\"tldr\":\"Node.js CJS ไธŽ ESM ๅŒๆจกๅ…ฑๅญ˜๏ผšๆจกๅ—ๅŠ ่ฝฝๆœบๅˆถไธŽๅˆ†ๅฑ‚ๆžถๆž„ๅฎž่ทตใ€‚\",\"description\":\"่งฃๆž Node.js ไธญ CommonJS ไธŽ ES Modules ็š„ๅŒๆจกๅ…ฑๅญ˜็ญ–็•ฅ๏ผŒๆถต็›–ๆจกๅ—ๅŠ ่ฝฝไผ˜ๅ…ˆ็บงใ€็ผ“ๅญ˜ๆœบๅˆถใ€package.json exports ๆกไปถๅฏผๅ‡บๅŠ Monorepo ๆžถๆž„ๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/nodejs-module-programming-summary\",\"abstract\":\"Node.js ๆจกๅ—ๅŒ–็ปๅކไบ†ไปŽ CommonJS ็‹ฌ้œธๅคฉไธ‹ๅˆฐ ES Modules ๅ…จ้ขๆŽฅๅ…ฅ็š„่Œƒๅผ่ฝฌ็งปใ€‚ๅ…ฑๅญ˜็ญ–็•ฅ้€š่ฟ‡ .mjs/.cjs ๅŽ็ผ€ๅ’Œ package.json type ๅญ—ๆฎตๆŽงๅˆถไธค็ง่ง„่Œƒ็š„่พน็•Œ๏ผ›ESM ๅฏ็›ดๆŽฅ import CJS๏ผˆ่‡ชๅŠจๅŒ…่ฃ…ไธบ้ป˜่ฎคๅฏผๅ‡บ๏ผ‰๏ผŒไฝ† CJS ๆ— ๆณ• require ESM ๅฟ…้กปไฝฟ็”จๅŠจๆ€ importใ€‚ๆจกๅ—ๅŠ ่ฝฝ้ตๅพชๆ ธๅฟƒๆจกๅ—ไผ˜ๅ…ˆใ€ๆ–‡ไปถๆจกๅ—ใ€็›ฎๅฝ•ๆจกๅ—๏ผˆindex.js/package.json๏ผ‰ใ€node_modules ้€็บงๆŸฅๆ‰พ็š„ไผ˜ๅ…ˆ็บง๏ผ›require.cache ๅฎž็Žฐๆจกๅ—็ผ“ๅญ˜๏ผŒๆธ…้™ค็ผ“ๅญ˜๏ผˆdelete require.cache[path]๏ผ‰ๆ˜ฏ็ƒญๆ›ดๆ–ฐๅทฅๅ…ท็š„ๆ ธๅฟƒๆ“ไฝœใ€‚package.json exports ๅญ—ๆฎตๆ”ฏๆŒๆกไปถๅฏผๅ‡บ๏ผˆimport/require ่ฟ”ๅ›žไธๅŒๅ…ฅๅฃ๏ผ‰ใ€‚pnpm workspaces ๅ‡ญๅ€Ÿ็กฌ้“พๆŽฅๆœบๅˆถๆˆไธบ็Žฐไปฃ Monorepo ้ฆ–้€‰ใ€‚ๅŽ็ซฏๅˆ†ๅฑ‚ๆžถๆž„๏ผˆAPI/Service/Repository๏ผ‰ๅฎž็Žฐๅ…ณๆณจ็‚นๅˆ†็ฆป๏ผŒๆขๆ•ฐๆฎๅบ“ๅช้œ€ๆ”น Repository ๅฑ‚ใ€‚\",\"tags\":[\"concept\",\"node.js\",\"commonjs\",\"esm\",\"monorepo\",\"layered-architecture\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“\",\"date\":\"2024-05-17 23:33:09\",\"capture\":\"ๅฆ‚ๆžœ่ฏดๆต่งˆๅ™จ็ซฏ็š„ๆจกๅ—ๅŒ–ๆ˜ฏไธบไบ†\\\"ๆŒ‰้œ€ๅŠ ่ฝฝ\\\"๏ผŒ้‚ฃไนˆ Node.js ็š„ๆจกๅ—ๅŒ–ๅˆ™ๆ˜ฏไธบไบ†\\\"ไปฃ็ ็ป„็ป‡\\\"ใ€‚ไฝœไธบๅฐ† JavaScript ๅธฆๅ…ฅๆœๅŠกๅ™จ็ซฏ็š„ๅ…ˆ้ฉฑ๏ผŒNode.js ็ปๅކไบ†ไปŽ CommonJS (CJS) ็‹ฌ้œธๅคฉไธ‹ๅˆฐ ES Modules (ESM) ๅ…จ้ขๆŽฅๅ…ฅ็š„่Œƒๅผ่ฝฌ็งปใ€‚\\nๅœจๆœๅŠกๅ™จ็ซฏ๏ผŒๆจกๅ—ๅŒ–ไธไป…ไป…ๆ˜ฏไธบไบ†ๆ‹†ๅˆ†ไปฃ็ ๏ผŒๆ›ดๆ˜ฏไธบไบ†ๆž„ๅปบๆธ…ๆ™ฐ็š„้กน็›ฎ็ป“ๆž„ใ€็ฎก็†ไพ่ต–ๅ…ณ็ณป๏ผŒไปฅๅŠๅฎž็Žฐไปฃ็ ็š„ๅค็”จไธŽ็ปดๆŠคใ€‚\\n 1. CommonJS ไธŽ ES Modules ๅŒๆจกๅ…ฑๅญ˜\\nๅœจ็Žฐไปฃ Node.js ๅผ€ๅ‘ไธญ๏ผŒๆˆ‘ไปฌ็ปๅธธ้ขไธดไธค็ง่ง„่Œƒไบค็ป‡็š„ๆƒ…ๅ†ตใ€‚่ฟ™ไธไป…ๆ˜ฏๆ–‡ไปถๅŽ็ผ€็š„ๆ”นๅ˜๏ผŒๆ›ดๆ˜ฏๅŒๆญฅไธŽๅผ‚ๆญฅๅŠ ่ฝฝ้€ป่พ‘็š„ๅšๅผˆใ€‚\\nๅ…ฑๅญ˜็ญ–็•ฅ๏ผš\\n1. ๅŽ็ผ€ๅ†ณๅฎš่ฎบ๏ผš`.mjs\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต\",\"frontmatter\":{\"date\":\"2024-05-17 22:30:50\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ๆขณ็†ไธŽๆ€ป็ป“\",\"tldr\":\"ๆŽŒๆก้ซ˜ๅ†…่šไฝŽ่€ฆๅˆๅŽŸๅˆ™๏ผšๆจกๅ—ๅŒ–็ผ–็จ‹็š„่ฎพ่ฎกๅ‡†ๅˆ™ไธŽ็ฒ’ๅบฆๆŽงๅˆถใ€‚\",\"description\":\"็ณป็ปŸๆขณ็†ๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅ…ญๅคงๆ ธๅฟƒๅŽŸๅˆ™๏ผšๅ•ไธ€่Œ่ดฃใ€้ซ˜ๅ†…่šไฝŽ่€ฆๅˆใ€็ฒ’ๅบฆ่ฎพ่ฎกใ€ๅ‘ฝๅ่ง„่ŒƒๅŠๆจกๅ—็‰ˆๆœฌ็ฎก็†๏ผŒ้™„่ฏฆ็ป†็š„ๅทฅ็จ‹ๅฎž่ทตๅปบ่ฎฎไธŽ้ฟๅ‘ๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/fullstack/module-programming-principles-best-practices\",\"abstract\":\"ๅฆ‚ๆžœ่ฏดๆŽŒๆกๆจกๅ—ๅŒ–่ฏญๆณ•ๆ˜ฏๆœฏ๏ผŒ้‚ฃไนˆ็†่งฃๅ…ถ่ƒŒๅŽ็š„่ฎพ่ฎกๅŽŸๅˆ™ๅฐฑๆ˜ฏ้“ใ€‚ๅ•ไธ€่Œ่ดฃๅŽŸๅˆ™ๅผบ่ฐƒๆจกๅ—ๅชๅบ”ๆœ‰ไธ€ไธช่ขซๆ”นๅ˜็š„ๅŽŸๅ› ๏ผŒ้ฟๅ… God Object ๅๆจกๅผใ€‚้ซ˜ๅ†…่šไฝŽ่€ฆๅˆๆ˜ฏ่กก้‡ๆจกๅ—่ดจ้‡็š„็ปˆๆžๆ ‡ๅ‡†โ€”โ€”ๆจกๅ—ๅ†…้ƒจๅ…ƒ็ด ่”็ณป็ดงๅฏ†๏ผŒๆจกๅ—ไน‹้—ดไพ่ต–ๅ…ณ็ณปๅฐฝๅฏ่ƒฝ็ฎ€ๅ•ใ€‚็ฒ’ๅบฆ่ฎพ่ฎก่ฆๆฑ‚ๅ•ไธชๆจกๅ—ไฟๆŒๅœจ 100-500 ่กŒไน‹้—ด๏ผŒๅŠŸ่ƒฝ่ƒฝ็”จไธ€ๅฅ่ฏๆธ…ๆ™ฐๆ่ฟฐ๏ผŒๅ‡บ็Žฐๅคšๅˆ†ๆ”ฏๅคๆ‚้€ป่พ‘ๆ—ถ้€šๅธธๆ˜ฏๆ‹†ๅˆ†ไฟกๅทใ€‚ๅ‘ฝๅ่ง„่Œƒ็ปŸไธ€ๅ›ข้˜ŸๆฒŸ้€š่ฏญๅขƒ๏ผˆkebab-case ๆ–‡ไปถๅใ€camelCase ๆ–นๆณ•ๅใ€PascalCase ็ฑปๅ๏ผ‰ใ€‚ๆจกๅ—็‰ˆๆœฌ็ฎก็†้ตๅพช SemVer ่ฏญไน‰ๅŒ–็‰ˆๆœฌ๏ผŒไธบๅ…ฌๅ…ฑๆจกๅ—็š„็ปดๆŠค่€…ไธŽไฝฟ็”จ่€…ๅปบ็ซ‹ๅฅ‘็บฆใ€‚ๅผบ่ฐƒๆธ…ๆ™ฐ็š„ๆจกๅ—่พน็•Œๆ˜ฏ AI ่พ…ๅŠฉ็ผ–็จ‹ๆ—ถไปฃ AI ๅ‡†็กฎ็†่งฃไปฃ็ ็š„ๅ‰ๆใ€‚\",\"tags\":[\"concept\",\"solid-principles\",\"code-organization\",\"best-practices\",\"naming-conventions\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ๆขณ็†ไธŽๆ€ป็ป“\",\"date\":\"2024-05-17 22:30:50\",\"capture\":\"1. ๅ•ไธ€่Œ่ดฃๅŽŸๅˆ™\\nๆ ธๅฟƒๆ€ๆƒณ๏ผšไธ€ไธชๆจกๅ—ๅบ”ๅฝ“ๆœ‰ไธ”ๅชๆœ‰ไธ€ไธช่ขซๆ”นๅ˜็š„ๅŽŸๅ› ใ€‚\\nๆจกๅ—ไธๅบ”ๆˆไธบๅŠŸ่ƒฝ็š„โ€œๆ‚่ดง้“บโ€ใ€‚ๅฝ“ไธ€ไธชๆจกๅ—ๆ‰ฟๆ‹…ไบ†ๅคชๅคšไธ็›ธๅ…ณ็š„ไธšๅŠก้€ป่พ‘ๆ—ถ๏ผŒๅฎƒ็š„ๅคๆ‚ๅบฆไผšๅ‘ˆๆŒ‡ๆ•ฐ็บงไธŠๅ‡๏ผŒไปปไฝ•ๅพฎๅฐ็š„ๆ”นๅŠจ้ƒฝๅฏ่ƒฝๅผ•ๅ‘ๆ„ๆƒณไธๅˆฐ็š„่ฟž้”ๅๅบ”ใ€‚\\nไปฃ็ ๆผ”็คบ๏ผš\\n```javascript\\n// โœ… ๆŽจ่๏ผš่Œ่ดฃๆ‹†ๅˆ†ๆ˜Ž็กฎ\\n// user-service.js - ไป…ๅค„็†็”จๆˆทๆ•ฐๆฎ็š„ CRUD\\nexport const getUser = async (id) => { /* ... */ };\\n// auth-provider.js - ไป…ๅค„็†้‰ดๆƒ็Šถๆ€ไธŽ้€ป่พ‘\\nexport const login = async (credenti\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"frontmatter\":{\"date\":\"2024-05-16 21:27:36\",\"title\":\"ไปŽ้€ป่พ‘้š”็ฆปๅˆฐ็ฑปๅž‹ๅฅ‘็บฆ๏ผšTypeScript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"tldr\":\"TypeScript ๅฐ†ๆจกๅ—ไพ่ต–ๆๅ‡ไธบ็ผ–่ฏ‘ๆ—ถ็ฑปๅž‹ๅฅ‘็บฆ๏ผŒไปŽ import type ๅˆฐๅฃฐๆ˜Žๆ–‡ไปถใ€‚\",\"description\":\"็ณป็ปŸ่ฎฒ่งฃ TypeScript ๅฏน ES Modules ็š„็ฑปๅž‹ๅขžๅผบ๏ผŒๆถต็›– import type ่ฟ่กŒๆ—ถไผ˜ๅŒ–ใ€ๆŽฅๅฃๅฅ‘็บฆใ€ๅฃฐๆ˜Žๆ–‡ไปถ .d.ts ๅŠ tsconfig ๆจกๅ—ๅŒ–้…็ฝฎใ€‚\",\"permalink\":\"/fullstack/typescript-module-programming-enhancement\",\"tags\":[\"concept\",\"ๅ…จๆ ˆ\",\"typescript\",\"tsconfig\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไปŽ้€ป่พ‘้š”็ฆปๅˆฐ็ฑปๅž‹ๅฅ‘็บฆ๏ผšTypeScript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"date\":\"2024-05-16 21:27:36\",\"capture\":\"1. ๅผ•่จ€\\nๅœจๅŽŸ็”Ÿ JavaScript ๆจกๅ—ๅŒ–่งฃๅ†ณไบ†ไปฃ็ ็ป„็ป‡้—ฎ้ข˜ๅŽ๏ผŒTypeScript๏ผˆTS๏ผ‰่ฟ›ไธ€ๆญฅๅฐ†ๅ…ถๆŽจๅ‘ไบ†ๅทฅไธš็บง้ซ˜ๅบฆใ€‚TS ไธไป…ไป…ๆ˜ฏไธบๆจกๅ—ๆทปๅŠ ไบ†็ฑปๅž‹ๆ ‡ๆณจ๏ผŒๅฎƒ้€š่ฟ‡็ฑปๅž‹ๅฏผๅ‡บๅฏผๅ…ฅใ€็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ใ€ไปฅๅŠๅฃฐๆ˜Žๆ–‡ไปถ็ณป็ปŸ๏ผŒๅฐ†ๆจกๅ—้—ด็š„ไพ่ต–ๅ…ณ็ณปไปŽ็ฎ€ๅ•็š„โ€œไปฃ็ ๅผ•็”จโ€ๆๅ‡ๅˆฐไบ†โ€œๅฅ‘็บฆไบคไบ’โ€ใ€‚\\nๆœฌๆ–‡ๆˆ‘ไปฌๅฐ†่š็„ฆไบŽ TypeScript ๅฆ‚ไฝ•้€š่ฟ‡็ฑปๅž‹็ณป็ปŸๅขžๅผบๆจกๅ—ๅŒ–็ผ–็จ‹๏ผŒๅนถๆŽข่ฎจๅœจ็Žฐไปฃๅทฅ็จ‹๏ผˆๅฐคๅ…ถๆ˜ฏ TS 5.0+ ๆ—ถไปฃ๏ผ‰ไธ‹็š„ๆœ€ไฝณ้…็ฝฎๅฎž่ทตใ€‚\\n 2. ็ฑปๅž‹ๅฏผๅ‡บไธŽๅฏผๅ…ฅ๏ผšๆž่‡ด็š„่ฟ่กŒๆ—ถไผ˜ๅŒ–\\nTypeScript ๅฏน ES Modules ่ฏญๆณ•ๆœ€ๆ˜พ่‘—็š„ๆ‰ฉๅฑ•ๆ˜ฏๆ”ฏๆŒโ€œไป…็ฑปๅž‹โ€๏ผˆType-only๏ผ‰็š„ๅฏผๅ‡บไธŽๅฏผๅ…ฅใ€‚่ฟ™ไธไป…ๆ˜ฏ่ฏญไน‰ไธŠ็š„ๆธ…ๆ™ฐ๏ผŒๆ›ดๆ˜ฏๆ€ง\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"frontmatter\":{\"date\":\"2024-05-14 22:29:32\",\"title\":\"ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒๆ‹ฅๆŠฑๅŽŸ็”Ÿ๏ผšES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"tldr\":\"ES Modules ๆ ธๅฟƒ่ฏญๆณ•ไธŽๆ‰ง่กŒๆจกๅž‹๏ผš้™ๆ€ๅˆ†ๆžๅฆ‚ไฝ•้‡ๅก‘ๅ‰็ซฏๆž„ๅปบๆ•ˆ็އใ€‚\",\"description\":\"ๆทฑๅบฆ่งฃๆž ES Modules ๅ‘ฝๅๅฏผๅ‡บ/ๅฏผๅ…ฅใ€้ป˜่ฎคๅฏผๅ‡บใ€ๅŠจๆ€ๅฏผๅ…ฅ็ญ‰่ฏญๆณ•๏ผŒไปฅๅŠๆจกๅ—ๆ‰ง่กŒ้กบๅบใ€ๅพช็Žฏไพ่ต–ๅค„็†ไธŽ็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ๆœบๅˆถใ€‚\",\"permalink\":\"/fullstack/decode-es-modules\",\"tags\":[\"concept\",\"ESM\",\"static-analysis\",\"Tree-Shaking\",\"circular-dependency\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒๆ‹ฅๆŠฑๅŽŸ็”Ÿ๏ผšES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"date\":\"2024-05-14 22:29:32\",\"capture\":\"> \\n> ็†่งฃ ESM๏ผŒไธไป…ไป…ๆ˜ฏๅญฆไผš import ๅ’Œ export๏ผŒๆ›ด้‡่ฆ็š„ๆ˜ฏ็†่งฃๅฎƒๅฆ‚ไฝ•้€š่ฟ‡็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ๅฝปๅบ•ๆ”นๅ˜ไบ†ๅ‰็ซฏๆž„ๅปบ็š„ๆ•ˆ็އใ€‚\\n 1. ๅ‘ฝๅๅฏผๅ‡บไธŽๅฏผๅ…ฅ๏ผš็ฒพๅ‡†็š„ไปฃ็ ๅผ•็”จ\\nๅ‘ฝๅๅฏผๅ‡บ๏ผˆNamed Exports๏ผ‰ๆ˜ฏ ESM ๆœ€ๅธธ็”จ็š„ๅฝขๅผ๏ผŒๅฎƒๅ…่ฎธไธ€ไธชๆจกๅ—ๆšด้œฒๅคšไธชๆˆๅ‘˜ใ€‚ๅ…ถๆ ธๅฟƒไผ˜ๅŠฟๅœจไบŽ๏ผšๅฏผๅ…ฅๆ–นๅฏไปฅๆŒ‰้œ€ๅผ•ๅ…ฅ๏ผŒไธ” IDE ่ƒฝๆไพ›็ฒพๅ‡†็š„่กฅๅ…จใ€‚\\n่ฏญๆณ•ๅฎž่ทต๏ผš๏ผš\\n```javascript\\n// math.js - ๅ‘ฝๅๅฏผๅ‡บ\\n// ่กŒๅ†…ๅฏผๅ‡บ\\nexport const PI = 3.14159;\\nexport function circleArea(radius) {\\n return PI * rad\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2024-03-20 22:41:41\",\"title\":\"ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ๅœจ้œ€ๆฑ‚่พน็•Œๅ†…่ฟฝๆฑ‚ๆœ€ๅฐๅคๆ‚ๅบฆโ€”โ€”ไธๆ˜ฏๆ‹’็ปๅคๆ‚๏ผŒ่€Œๆ˜ฏไธไธปๅŠจๅˆถ้€ ๅคๆ‚ใ€‚\",\"description\":\"ๆทฑๅ…ฅ่งฃๆžๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™ๅœจ็ผ–็จ‹ไธŽ่ฎพ่ฎกไธญ็š„ๅ…ญๅคงๅœบๆ™ฏ๏ผšๆ‹’็ป่ฟ‡ๅบฆ้ข„ๅˆคใ€็งป้™คๅ†—ไฝ™้€ป่พ‘ใ€ๅŒน้…ๆžถๆž„่ง„ๆจกใ€ๅ…‹ๅˆถไพ่ต–ๅผ•ๅ…ฅใ€ๅฐ่ฃ…ๆœ€ๅฐๆŽฅๅฃใ€ๅ…ˆๆŽ’ๆŸฅ็ฎ€ๅ•ๅŽŸๅ› ๏ผŒๅนถ็ป™ๅ‡บไธ‰ไธชๅ…ณ้”ฎ่พน็•Œใ€‚\",\"permalink\":\"/fullstack/occams-razor-software-design\",\"tags\":[\"concept\",\"engineering-fundamentals\",\"code-design\",\"software-engineering\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2024-03-20 22:41:41\",\"capture\":\"<script setup\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n> ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™็”ฑ 14 ไธ–็บช้€ป่พ‘ๅญฆๅฎถๅจๅป‰ยทๅฅฅๅกๅง†ๆๅ‡บ๏ผŒๅ…ถๆ ธๅฟƒไธบ\\\"ๅฆ‚ๆ— ๅฟ…่ฆ๏ผŒๅ‹ฟๅขžๅฎžไฝ“\\\"โ€”โ€”ๅœจๅคšไธชๅŒ็ญ‰ๆœ‰ๆ•ˆ็š„ๆ–นๆกˆไธญ๏ผŒ้€‰ๆ‹ฉๅ‡่ฎพๆœ€ๅฐ‘ใ€ๆœ€็ฎ€ๆด็š„้‚ฃไธชใ€‚่ฏฅๅŽŸๅˆ™ๅนถ้žๅฆๅฎšๅคๆ‚ๆ€ง๏ผŒ่€Œๆ˜ฏ้ฟๅ…ๆ— ๆ„ไน‰็š„่ฟ‡ๅบฆ่ฎพ่ฎกใ€‚ๆ–‡็ซ ไปŽ็ผ–็จ‹ไธŽ่ฎพ่ฎกๅฎž่ทตๅ‡บๅ‘๏ผŒไพๆฌกๆŽข่ฎจไบ†้œ€ๆฑ‚ๅฎž็Žฐใ€ไปฃ็ ๅฎž็Žฐใ€ๆžถๆž„่ฎพ่ฎกใ€ไพ่ต–็ฎก็†ใ€ๆŽฅๅฃ่ฎพ่ฎกใ€่ฐƒ่ฏ•ไผ˜ๅŒ–ๅ…ญๅคงๅœบๆ™ฏ็š„ๅไพ‹ไธŽๆญฃไพ‹๏ผŒๅนถๆ˜Ž็กฎๆŒ‡ๅ‡บไธ‰ไธชๅ…ณ้”ฎ่พน็•Œ๏ผšไธๅฏ็‰บ็‰ฒๅฏ็ปดๆŠคๆ€งใ€ๅฏๆ‰ฉๅฑ•ๆ€งใ€ๅฎ‰ๅ…จๆ€งๆขๅ–็ฎ€ๆดใ€‚\\n 1.\"}],\"node.js\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–\",\"frontmatter\":{\"date\":\"2024-05-17 23:33:09\",\"title\":\"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“\",\"tldr\":\"Node.js CJS ไธŽ ESM ๅŒๆจกๅ…ฑๅญ˜๏ผšๆจกๅ—ๅŠ ่ฝฝๆœบๅˆถไธŽๅˆ†ๅฑ‚ๆžถๆž„ๅฎž่ทตใ€‚\",\"description\":\"่งฃๆž Node.js ไธญ CommonJS ไธŽ ES Modules ็š„ๅŒๆจกๅ…ฑๅญ˜็ญ–็•ฅ๏ผŒๆถต็›–ๆจกๅ—ๅŠ ่ฝฝไผ˜ๅ…ˆ็บงใ€็ผ“ๅญ˜ๆœบๅˆถใ€package.json exports ๆกไปถๅฏผๅ‡บๅŠ Monorepo ๆžถๆž„ๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/nodejs-module-programming-summary\",\"abstract\":\"Node.js ๆจกๅ—ๅŒ–็ปๅކไบ†ไปŽ CommonJS ็‹ฌ้œธๅคฉไธ‹ๅˆฐ ES Modules ๅ…จ้ขๆŽฅๅ…ฅ็š„่Œƒๅผ่ฝฌ็งปใ€‚ๅ…ฑๅญ˜็ญ–็•ฅ้€š่ฟ‡ .mjs/.cjs ๅŽ็ผ€ๅ’Œ package.json type ๅญ—ๆฎตๆŽงๅˆถไธค็ง่ง„่Œƒ็š„่พน็•Œ๏ผ›ESM ๅฏ็›ดๆŽฅ import CJS๏ผˆ่‡ชๅŠจๅŒ…่ฃ…ไธบ้ป˜่ฎคๅฏผๅ‡บ๏ผ‰๏ผŒไฝ† CJS ๆ— ๆณ• require ESM ๅฟ…้กปไฝฟ็”จๅŠจๆ€ importใ€‚ๆจกๅ—ๅŠ ่ฝฝ้ตๅพชๆ ธๅฟƒๆจกๅ—ไผ˜ๅ…ˆใ€ๆ–‡ไปถๆจกๅ—ใ€็›ฎๅฝ•ๆจกๅ—๏ผˆindex.js/package.json๏ผ‰ใ€node_modules ้€็บงๆŸฅๆ‰พ็š„ไผ˜ๅ…ˆ็บง๏ผ›require.cache ๅฎž็Žฐๆจกๅ—็ผ“ๅญ˜๏ผŒๆธ…้™ค็ผ“ๅญ˜๏ผˆdelete require.cache[path]๏ผ‰ๆ˜ฏ็ƒญๆ›ดๆ–ฐๅทฅๅ…ท็š„ๆ ธๅฟƒๆ“ไฝœใ€‚package.json exports ๅญ—ๆฎตๆ”ฏๆŒๆกไปถๅฏผๅ‡บ๏ผˆimport/require ่ฟ”ๅ›žไธๅŒๅ…ฅๅฃ๏ผ‰ใ€‚pnpm workspaces ๅ‡ญๅ€Ÿ็กฌ้“พๆŽฅๆœบๅˆถๆˆไธบ็Žฐไปฃ Monorepo ้ฆ–้€‰ใ€‚ๅŽ็ซฏๅˆ†ๅฑ‚ๆžถๆž„๏ผˆAPI/Service/Repository๏ผ‰ๅฎž็Žฐๅ…ณๆณจ็‚นๅˆ†็ฆป๏ผŒๆขๆ•ฐๆฎๅบ“ๅช้œ€ๆ”น Repository ๅฑ‚ใ€‚\",\"tags\":[\"concept\",\"node.js\",\"commonjs\",\"esm\",\"monorepo\",\"layered-architecture\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“\",\"date\":\"2024-05-17 23:33:09\",\"capture\":\"ๅฆ‚ๆžœ่ฏดๆต่งˆๅ™จ็ซฏ็š„ๆจกๅ—ๅŒ–ๆ˜ฏไธบไบ†\\\"ๆŒ‰้œ€ๅŠ ่ฝฝ\\\"๏ผŒ้‚ฃไนˆ Node.js ็š„ๆจกๅ—ๅŒ–ๅˆ™ๆ˜ฏไธบไบ†\\\"ไปฃ็ ็ป„็ป‡\\\"ใ€‚ไฝœไธบๅฐ† JavaScript ๅธฆๅ…ฅๆœๅŠกๅ™จ็ซฏ็š„ๅ…ˆ้ฉฑ๏ผŒNode.js ็ปๅކไบ†ไปŽ CommonJS (CJS) ็‹ฌ้œธๅคฉไธ‹ๅˆฐ ES Modules (ESM) ๅ…จ้ขๆŽฅๅ…ฅ็š„่Œƒๅผ่ฝฌ็งปใ€‚\\nๅœจๆœๅŠกๅ™จ็ซฏ๏ผŒๆจกๅ—ๅŒ–ไธไป…ไป…ๆ˜ฏไธบไบ†ๆ‹†ๅˆ†ไปฃ็ ๏ผŒๆ›ดๆ˜ฏไธบไบ†ๆž„ๅปบๆธ…ๆ™ฐ็š„้กน็›ฎ็ป“ๆž„ใ€็ฎก็†ไพ่ต–ๅ…ณ็ณป๏ผŒไปฅๅŠๅฎž็Žฐไปฃ็ ็š„ๅค็”จไธŽ็ปดๆŠคใ€‚\\n 1. CommonJS ไธŽ ES Modules ๅŒๆจกๅ…ฑๅญ˜\\nๅœจ็Žฐไปฃ Node.js ๅผ€ๅ‘ไธญ๏ผŒๆˆ‘ไปฌ็ปๅธธ้ขไธดไธค็ง่ง„่Œƒไบค็ป‡็š„ๆƒ…ๅ†ตใ€‚่ฟ™ไธไป…ๆ˜ฏๆ–‡ไปถๅŽ็ผ€็š„ๆ”นๅ˜๏ผŒๆ›ดๆ˜ฏๅŒๆญฅไธŽๅผ‚ๆญฅๅŠ ่ฝฝ้€ป่พ‘็š„ๅšๅผˆใ€‚\\nๅ…ฑๅญ˜็ญ–็•ฅ๏ผš\\n1. ๅŽ็ผ€ๅ†ณๅฎš่ฎบ๏ผš`.mjs\"}],\"commonjs\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–\",\"frontmatter\":{\"date\":\"2024-05-17 23:33:09\",\"title\":\"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“\",\"tldr\":\"Node.js CJS ไธŽ ESM ๅŒๆจกๅ…ฑๅญ˜๏ผšๆจกๅ—ๅŠ ่ฝฝๆœบๅˆถไธŽๅˆ†ๅฑ‚ๆžถๆž„ๅฎž่ทตใ€‚\",\"description\":\"่งฃๆž Node.js ไธญ CommonJS ไธŽ ES Modules ็š„ๅŒๆจกๅ…ฑๅญ˜็ญ–็•ฅ๏ผŒๆถต็›–ๆจกๅ—ๅŠ ่ฝฝไผ˜ๅ…ˆ็บงใ€็ผ“ๅญ˜ๆœบๅˆถใ€package.json exports ๆกไปถๅฏผๅ‡บๅŠ Monorepo ๆžถๆž„ๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/nodejs-module-programming-summary\",\"abstract\":\"Node.js ๆจกๅ—ๅŒ–็ปๅކไบ†ไปŽ CommonJS ็‹ฌ้œธๅคฉไธ‹ๅˆฐ ES Modules ๅ…จ้ขๆŽฅๅ…ฅ็š„่Œƒๅผ่ฝฌ็งปใ€‚ๅ…ฑๅญ˜็ญ–็•ฅ้€š่ฟ‡ .mjs/.cjs ๅŽ็ผ€ๅ’Œ package.json type ๅญ—ๆฎตๆŽงๅˆถไธค็ง่ง„่Œƒ็š„่พน็•Œ๏ผ›ESM ๅฏ็›ดๆŽฅ import CJS๏ผˆ่‡ชๅŠจๅŒ…่ฃ…ไธบ้ป˜่ฎคๅฏผๅ‡บ๏ผ‰๏ผŒไฝ† CJS ๆ— ๆณ• require ESM ๅฟ…้กปไฝฟ็”จๅŠจๆ€ importใ€‚ๆจกๅ—ๅŠ ่ฝฝ้ตๅพชๆ ธๅฟƒๆจกๅ—ไผ˜ๅ…ˆใ€ๆ–‡ไปถๆจกๅ—ใ€็›ฎๅฝ•ๆจกๅ—๏ผˆindex.js/package.json๏ผ‰ใ€node_modules ้€็บงๆŸฅๆ‰พ็š„ไผ˜ๅ…ˆ็บง๏ผ›require.cache ๅฎž็Žฐๆจกๅ—็ผ“ๅญ˜๏ผŒๆธ…้™ค็ผ“ๅญ˜๏ผˆdelete require.cache[path]๏ผ‰ๆ˜ฏ็ƒญๆ›ดๆ–ฐๅทฅๅ…ท็š„ๆ ธๅฟƒๆ“ไฝœใ€‚package.json exports ๅญ—ๆฎตๆ”ฏๆŒๆกไปถๅฏผๅ‡บ๏ผˆimport/require ่ฟ”ๅ›žไธๅŒๅ…ฅๅฃ๏ผ‰ใ€‚pnpm workspaces ๅ‡ญๅ€Ÿ็กฌ้“พๆŽฅๆœบๅˆถๆˆไธบ็Žฐไปฃ Monorepo ้ฆ–้€‰ใ€‚ๅŽ็ซฏๅˆ†ๅฑ‚ๆžถๆž„๏ผˆAPI/Service/Repository๏ผ‰ๅฎž็Žฐๅ…ณๆณจ็‚นๅˆ†็ฆป๏ผŒๆขๆ•ฐๆฎๅบ“ๅช้œ€ๆ”น Repository ๅฑ‚ใ€‚\",\"tags\":[\"concept\",\"node.js\",\"commonjs\",\"esm\",\"monorepo\",\"layered-architecture\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“\",\"date\":\"2024-05-17 23:33:09\",\"capture\":\"ๅฆ‚ๆžœ่ฏดๆต่งˆๅ™จ็ซฏ็š„ๆจกๅ—ๅŒ–ๆ˜ฏไธบไบ†\\\"ๆŒ‰้œ€ๅŠ ่ฝฝ\\\"๏ผŒ้‚ฃไนˆ Node.js ็š„ๆจกๅ—ๅŒ–ๅˆ™ๆ˜ฏไธบไบ†\\\"ไปฃ็ ็ป„็ป‡\\\"ใ€‚ไฝœไธบๅฐ† JavaScript ๅธฆๅ…ฅๆœๅŠกๅ™จ็ซฏ็š„ๅ…ˆ้ฉฑ๏ผŒNode.js ็ปๅކไบ†ไปŽ CommonJS (CJS) ็‹ฌ้œธๅคฉไธ‹ๅˆฐ ES Modules (ESM) ๅ…จ้ขๆŽฅๅ…ฅ็š„่Œƒๅผ่ฝฌ็งปใ€‚\\nๅœจๆœๅŠกๅ™จ็ซฏ๏ผŒๆจกๅ—ๅŒ–ไธไป…ไป…ๆ˜ฏไธบไบ†ๆ‹†ๅˆ†ไปฃ็ ๏ผŒๆ›ดๆ˜ฏไธบไบ†ๆž„ๅปบๆธ…ๆ™ฐ็š„้กน็›ฎ็ป“ๆž„ใ€็ฎก็†ไพ่ต–ๅ…ณ็ณป๏ผŒไปฅๅŠๅฎž็Žฐไปฃ็ ็š„ๅค็”จไธŽ็ปดๆŠคใ€‚\\n 1. CommonJS ไธŽ ES Modules ๅŒๆจกๅ…ฑๅญ˜\\nๅœจ็Žฐไปฃ Node.js ๅผ€ๅ‘ไธญ๏ผŒๆˆ‘ไปฌ็ปๅธธ้ขไธดไธค็ง่ง„่Œƒไบค็ป‡็š„ๆƒ…ๅ†ตใ€‚่ฟ™ไธไป…ๆ˜ฏๆ–‡ไปถๅŽ็ผ€็š„ๆ”นๅ˜๏ผŒๆ›ดๆ˜ฏๅŒๆญฅไธŽๅผ‚ๆญฅๅŠ ่ฝฝ้€ป่พ‘็š„ๅšๅผˆใ€‚\\nๅ…ฑๅญ˜็ญ–็•ฅ๏ผš\\n1. ๅŽ็ผ€ๅ†ณๅฎš่ฎบ๏ผš`.mjs\"}],\"esm\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–\",\"frontmatter\":{\"date\":\"2024-05-17 23:33:09\",\"title\":\"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“\",\"tldr\":\"Node.js CJS ไธŽ ESM ๅŒๆจกๅ…ฑๅญ˜๏ผšๆจกๅ—ๅŠ ่ฝฝๆœบๅˆถไธŽๅˆ†ๅฑ‚ๆžถๆž„ๅฎž่ทตใ€‚\",\"description\":\"่งฃๆž Node.js ไธญ CommonJS ไธŽ ES Modules ็š„ๅŒๆจกๅ…ฑๅญ˜็ญ–็•ฅ๏ผŒๆถต็›–ๆจกๅ—ๅŠ ่ฝฝไผ˜ๅ…ˆ็บงใ€็ผ“ๅญ˜ๆœบๅˆถใ€package.json exports ๆกไปถๅฏผๅ‡บๅŠ Monorepo ๆžถๆž„ๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/nodejs-module-programming-summary\",\"abstract\":\"Node.js ๆจกๅ—ๅŒ–็ปๅކไบ†ไปŽ CommonJS ็‹ฌ้œธๅคฉไธ‹ๅˆฐ ES Modules ๅ…จ้ขๆŽฅๅ…ฅ็š„่Œƒๅผ่ฝฌ็งปใ€‚ๅ…ฑๅญ˜็ญ–็•ฅ้€š่ฟ‡ .mjs/.cjs ๅŽ็ผ€ๅ’Œ package.json type ๅญ—ๆฎตๆŽงๅˆถไธค็ง่ง„่Œƒ็š„่พน็•Œ๏ผ›ESM ๅฏ็›ดๆŽฅ import CJS๏ผˆ่‡ชๅŠจๅŒ…่ฃ…ไธบ้ป˜่ฎคๅฏผๅ‡บ๏ผ‰๏ผŒไฝ† CJS ๆ— ๆณ• require ESM ๅฟ…้กปไฝฟ็”จๅŠจๆ€ importใ€‚ๆจกๅ—ๅŠ ่ฝฝ้ตๅพชๆ ธๅฟƒๆจกๅ—ไผ˜ๅ…ˆใ€ๆ–‡ไปถๆจกๅ—ใ€็›ฎๅฝ•ๆจกๅ—๏ผˆindex.js/package.json๏ผ‰ใ€node_modules ้€็บงๆŸฅๆ‰พ็š„ไผ˜ๅ…ˆ็บง๏ผ›require.cache ๅฎž็Žฐๆจกๅ—็ผ“ๅญ˜๏ผŒๆธ…้™ค็ผ“ๅญ˜๏ผˆdelete require.cache[path]๏ผ‰ๆ˜ฏ็ƒญๆ›ดๆ–ฐๅทฅๅ…ท็š„ๆ ธๅฟƒๆ“ไฝœใ€‚package.json exports ๅญ—ๆฎตๆ”ฏๆŒๆกไปถๅฏผๅ‡บ๏ผˆimport/require ่ฟ”ๅ›žไธๅŒๅ…ฅๅฃ๏ผ‰ใ€‚pnpm workspaces ๅ‡ญๅ€Ÿ็กฌ้“พๆŽฅๆœบๅˆถๆˆไธบ็Žฐไปฃ Monorepo ้ฆ–้€‰ใ€‚ๅŽ็ซฏๅˆ†ๅฑ‚ๆžถๆž„๏ผˆAPI/Service/Repository๏ผ‰ๅฎž็Žฐๅ…ณๆณจ็‚นๅˆ†็ฆป๏ผŒๆขๆ•ฐๆฎๅบ“ๅช้œ€ๆ”น Repository ๅฑ‚ใ€‚\",\"tags\":[\"concept\",\"node.js\",\"commonjs\",\"esm\",\"monorepo\",\"layered-architecture\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“\",\"date\":\"2024-05-17 23:33:09\",\"capture\":\"ๅฆ‚ๆžœ่ฏดๆต่งˆๅ™จ็ซฏ็š„ๆจกๅ—ๅŒ–ๆ˜ฏไธบไบ†\\\"ๆŒ‰้œ€ๅŠ ่ฝฝ\\\"๏ผŒ้‚ฃไนˆ Node.js ็š„ๆจกๅ—ๅŒ–ๅˆ™ๆ˜ฏไธบไบ†\\\"ไปฃ็ ็ป„็ป‡\\\"ใ€‚ไฝœไธบๅฐ† JavaScript ๅธฆๅ…ฅๆœๅŠกๅ™จ็ซฏ็š„ๅ…ˆ้ฉฑ๏ผŒNode.js ็ปๅކไบ†ไปŽ CommonJS (CJS) ็‹ฌ้œธๅคฉไธ‹ๅˆฐ ES Modules (ESM) ๅ…จ้ขๆŽฅๅ…ฅ็š„่Œƒๅผ่ฝฌ็งปใ€‚\\nๅœจๆœๅŠกๅ™จ็ซฏ๏ผŒๆจกๅ—ๅŒ–ไธไป…ไป…ๆ˜ฏไธบไบ†ๆ‹†ๅˆ†ไปฃ็ ๏ผŒๆ›ดๆ˜ฏไธบไบ†ๆž„ๅปบๆธ…ๆ™ฐ็š„้กน็›ฎ็ป“ๆž„ใ€็ฎก็†ไพ่ต–ๅ…ณ็ณป๏ผŒไปฅๅŠๅฎž็Žฐไปฃ็ ็š„ๅค็”จไธŽ็ปดๆŠคใ€‚\\n 1. CommonJS ไธŽ ES Modules ๅŒๆจกๅ…ฑๅญ˜\\nๅœจ็Žฐไปฃ Node.js ๅผ€ๅ‘ไธญ๏ผŒๆˆ‘ไปฌ็ปๅธธ้ขไธดไธค็ง่ง„่Œƒไบค็ป‡็š„ๆƒ…ๅ†ตใ€‚่ฟ™ไธไป…ๆ˜ฏๆ–‡ไปถๅŽ็ผ€็š„ๆ”นๅ˜๏ผŒๆ›ดๆ˜ฏๅŒๆญฅไธŽๅผ‚ๆญฅๅŠ ่ฝฝ้€ป่พ‘็š„ๅšๅผˆใ€‚\\nๅ…ฑๅญ˜็ญ–็•ฅ๏ผš\\n1. ๅŽ็ผ€ๅ†ณๅฎš่ฎบ๏ผš`.mjs\"},{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€\",\"frontmatter\":{\"date\":\"2024-05-12 22:43:28\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ๏ผšๆฆ‚ๅฟตใ€ๆผ”่ฟ›ไธŽ่ฎพ่ฎกๆจกๅผ\",\"tldr\":\"ไปŽๅ…จๅฑ€ๅ˜้‡ๅˆฐ ES Modules๏ผšJavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›ไธŽๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผๅฎž่ทตใ€‚\",\"description\":\"็ณป็ปŸ่ฎฒ่งฃ JavaScript ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€๏ผŒๆถต็›– IIFEใ€CommonJSใ€ES Modules ่ง„่Œƒๆผ”่ฟ›๏ผŒไปฅๅŠๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผไธŽๆจกๅ—ๅŒ–็š„็ป“ๅˆใ€‚\",\"permalink\":\"/fullstack/frontend-module-programming-basic\",\"tags\":[\"tutorial\",\"javascript\",\"modularization\",\"esm\",\"design-patterns\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ๏ผšๆฆ‚ๅฟตใ€ๆผ”่ฟ›ไธŽ่ฎพ่ฎกๆจกๅผ\",\"date\":\"2024-05-12 22:43:28\",\"capture\":\"1. ๅผ•่จ€\\n้š็€้กน็›ฎ่ง„ๆจกๆ—ฅ็›Š่†จ่ƒ€๏ผŒไปฃ็ ้‡ไปŽๅ‡ ๅƒ่กŒ่ฟ…้€Ÿๅขž้•ฟๅˆฐๆ•ฐไธ‡็”š่‡ณๆ•ฐๅไธ‡่กŒ๏ผŒๅฐ†ๆ‰€ๆœ‰้€ป่พ‘ๅกž่ฟ›ๅฐ‘ๆ•ฐๅ‡ ไธชๆ–‡ไปถ็š„ๅšๆณ•ๆ—ฉๅทฒ้šพไปฅไธบ็ปงใ€‚ๅœจ่ฟ™ๆ ท็š„่ƒŒๆ™ฏไธ‹๏ผŒๆจกๅ—ๅŒ–็ผ–็จ‹ๅบ”่ฟ่€Œ็”Ÿ๏ผŒๆˆไธบ็Žฐไปฃๅ‰็ซฏๅผ€ๅ‘็š„ๆ ‡้…ใ€‚\\nๅฎƒ็š„ๆ ธๅฟƒ็†ๅฟต็ฎ€ๆด่€Œไผ˜้›…๏ผšๅƒๆญ็งฏๆœจไธ€ๆ ท๏ผŒๅฐ†ๅบžๅคงๅคๆ‚็š„็ณป็ปŸๆ‹†่งฃไธบไธ€ไธชไธช็‹ฌ็ซ‹ใ€ๅŠŸ่ƒฝๅ•ไธ€ไธ”ๅฏๅค็”จ็š„ๆจกๅ—๏ผŒ่ฎฉๆฏไธชๆจกๅ—ๅ„ๅธๅ…ถ่Œ๏ผŒๅ†้€š่ฟ‡ๆ ‡ๅ‡†ๆŽฅๅฃ็ตๆดป็ป„ๅˆใ€‚\\n 2. ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ\\nๅœจๆทฑๅ…ฅ็†่ฎบไน‹ๅ‰๏ผŒ่ฎฉๆˆ‘ไปฌๅ…ˆ้€š่ฟ‡ไธ€ไธช็ฎ€ๅ•็š„ JavaScript ็คบไพ‹๏ผŒ็›ด่ง‚ๅœฐๆ„Ÿๅ—ไธ€ไธ‹ไป€ไนˆๆ˜ฏๆจกๅ—ๅŒ–ใ€‚ๅ‡่ฎพๆˆ‘ไปฌ้œ€่ฆๅค„็†ไธ€ไบ›ๆ•ฐๅญฆ่ฟ็ฎ—๏ผŒๆˆ‘ไปฌๅฏไปฅๅฐ†ๅ…ถๅฐ่ฃ…ๆˆไธ€ไธช็‹ฌ็ซ‹็š„ๅทฅๅ…ทๆจกๅ—๏ผš\\n```javascript\\n// math.js - ๅฎšไน‰ไธ€ไธชๆ•ฐๅญฆๅทฅๅ…ทๆจกๅ—\\nexp\"}],\"monorepo\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–\",\"frontmatter\":{\"date\":\"2024-05-17 23:33:09\",\"title\":\"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“\",\"tldr\":\"Node.js CJS ไธŽ ESM ๅŒๆจกๅ…ฑๅญ˜๏ผšๆจกๅ—ๅŠ ่ฝฝๆœบๅˆถไธŽๅˆ†ๅฑ‚ๆžถๆž„ๅฎž่ทตใ€‚\",\"description\":\"่งฃๆž Node.js ไธญ CommonJS ไธŽ ES Modules ็š„ๅŒๆจกๅ…ฑๅญ˜็ญ–็•ฅ๏ผŒๆถต็›–ๆจกๅ—ๅŠ ่ฝฝไผ˜ๅ…ˆ็บงใ€็ผ“ๅญ˜ๆœบๅˆถใ€package.json exports ๆกไปถๅฏผๅ‡บๅŠ Monorepo ๆžถๆž„ๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/nodejs-module-programming-summary\",\"abstract\":\"Node.js ๆจกๅ—ๅŒ–็ปๅކไบ†ไปŽ CommonJS ็‹ฌ้œธๅคฉไธ‹ๅˆฐ ES Modules ๅ…จ้ขๆŽฅๅ…ฅ็š„่Œƒๅผ่ฝฌ็งปใ€‚ๅ…ฑๅญ˜็ญ–็•ฅ้€š่ฟ‡ .mjs/.cjs ๅŽ็ผ€ๅ’Œ package.json type ๅญ—ๆฎตๆŽงๅˆถไธค็ง่ง„่Œƒ็š„่พน็•Œ๏ผ›ESM ๅฏ็›ดๆŽฅ import CJS๏ผˆ่‡ชๅŠจๅŒ…่ฃ…ไธบ้ป˜่ฎคๅฏผๅ‡บ๏ผ‰๏ผŒไฝ† CJS ๆ— ๆณ• require ESM ๅฟ…้กปไฝฟ็”จๅŠจๆ€ importใ€‚ๆจกๅ—ๅŠ ่ฝฝ้ตๅพชๆ ธๅฟƒๆจกๅ—ไผ˜ๅ…ˆใ€ๆ–‡ไปถๆจกๅ—ใ€็›ฎๅฝ•ๆจกๅ—๏ผˆindex.js/package.json๏ผ‰ใ€node_modules ้€็บงๆŸฅๆ‰พ็š„ไผ˜ๅ…ˆ็บง๏ผ›require.cache ๅฎž็Žฐๆจกๅ—็ผ“ๅญ˜๏ผŒๆธ…้™ค็ผ“ๅญ˜๏ผˆdelete require.cache[path]๏ผ‰ๆ˜ฏ็ƒญๆ›ดๆ–ฐๅทฅๅ…ท็š„ๆ ธๅฟƒๆ“ไฝœใ€‚package.json exports ๅญ—ๆฎตๆ”ฏๆŒๆกไปถๅฏผๅ‡บ๏ผˆimport/require ่ฟ”ๅ›žไธๅŒๅ…ฅๅฃ๏ผ‰ใ€‚pnpm workspaces ๅ‡ญๅ€Ÿ็กฌ้“พๆŽฅๆœบๅˆถๆˆไธบ็Žฐไปฃ Monorepo ้ฆ–้€‰ใ€‚ๅŽ็ซฏๅˆ†ๅฑ‚ๆžถๆž„๏ผˆAPI/Service/Repository๏ผ‰ๅฎž็Žฐๅ…ณๆณจ็‚นๅˆ†็ฆป๏ผŒๆขๆ•ฐๆฎๅบ“ๅช้œ€ๆ”น Repository ๅฑ‚ใ€‚\",\"tags\":[\"concept\",\"node.js\",\"commonjs\",\"esm\",\"monorepo\",\"layered-architecture\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“\",\"date\":\"2024-05-17 23:33:09\",\"capture\":\"ๅฆ‚ๆžœ่ฏดๆต่งˆๅ™จ็ซฏ็š„ๆจกๅ—ๅŒ–ๆ˜ฏไธบไบ†\\\"ๆŒ‰้œ€ๅŠ ่ฝฝ\\\"๏ผŒ้‚ฃไนˆ Node.js ็š„ๆจกๅ—ๅŒ–ๅˆ™ๆ˜ฏไธบไบ†\\\"ไปฃ็ ็ป„็ป‡\\\"ใ€‚ไฝœไธบๅฐ† JavaScript ๅธฆๅ…ฅๆœๅŠกๅ™จ็ซฏ็š„ๅ…ˆ้ฉฑ๏ผŒNode.js ็ปๅކไบ†ไปŽ CommonJS (CJS) ็‹ฌ้œธๅคฉไธ‹ๅˆฐ ES Modules (ESM) ๅ…จ้ขๆŽฅๅ…ฅ็š„่Œƒๅผ่ฝฌ็งปใ€‚\\nๅœจๆœๅŠกๅ™จ็ซฏ๏ผŒๆจกๅ—ๅŒ–ไธไป…ไป…ๆ˜ฏไธบไบ†ๆ‹†ๅˆ†ไปฃ็ ๏ผŒๆ›ดๆ˜ฏไธบไบ†ๆž„ๅปบๆธ…ๆ™ฐ็š„้กน็›ฎ็ป“ๆž„ใ€็ฎก็†ไพ่ต–ๅ…ณ็ณป๏ผŒไปฅๅŠๅฎž็Žฐไปฃ็ ็š„ๅค็”จไธŽ็ปดๆŠคใ€‚\\n 1. CommonJS ไธŽ ES Modules ๅŒๆจกๅ…ฑๅญ˜\\nๅœจ็Žฐไปฃ Node.js ๅผ€ๅ‘ไธญ๏ผŒๆˆ‘ไปฌ็ปๅธธ้ขไธดไธค็ง่ง„่Œƒไบค็ป‡็š„ๆƒ…ๅ†ตใ€‚่ฟ™ไธไป…ๆ˜ฏๆ–‡ไปถๅŽ็ผ€็š„ๆ”นๅ˜๏ผŒๆ›ดๆ˜ฏๅŒๆญฅไธŽๅผ‚ๆญฅๅŠ ่ฝฝ้€ป่พ‘็š„ๅšๅผˆใ€‚\\nๅ…ฑๅญ˜็ญ–็•ฅ๏ผš\\n1. ๅŽ็ผ€ๅ†ณๅฎš่ฎบ๏ผš`.mjs\"}],\"layered-architecture\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/6.่งฃๆž NodeJS ไธญ็š„ๆจกๅ—ๅŒ–\",\"frontmatter\":{\"date\":\"2024-05-17 23:33:09\",\"title\":\"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“\",\"tldr\":\"Node.js CJS ไธŽ ESM ๅŒๆจกๅ…ฑๅญ˜๏ผšๆจกๅ—ๅŠ ่ฝฝๆœบๅˆถไธŽๅˆ†ๅฑ‚ๆžถๆž„ๅฎž่ทตใ€‚\",\"description\":\"่งฃๆž Node.js ไธญ CommonJS ไธŽ ES Modules ็š„ๅŒๆจกๅ…ฑๅญ˜็ญ–็•ฅ๏ผŒๆถต็›–ๆจกๅ—ๅŠ ่ฝฝไผ˜ๅ…ˆ็บงใ€็ผ“ๅญ˜ๆœบๅˆถใ€package.json exports ๆกไปถๅฏผๅ‡บๅŠ Monorepo ๆžถๆž„ๅฎž่ทตใ€‚\",\"permalink\":\"/fullstack/nodejs-module-programming-summary\",\"abstract\":\"Node.js ๆจกๅ—ๅŒ–็ปๅކไบ†ไปŽ CommonJS ็‹ฌ้œธๅคฉไธ‹ๅˆฐ ES Modules ๅ…จ้ขๆŽฅๅ…ฅ็š„่Œƒๅผ่ฝฌ็งปใ€‚ๅ…ฑๅญ˜็ญ–็•ฅ้€š่ฟ‡ .mjs/.cjs ๅŽ็ผ€ๅ’Œ package.json type ๅญ—ๆฎตๆŽงๅˆถไธค็ง่ง„่Œƒ็š„่พน็•Œ๏ผ›ESM ๅฏ็›ดๆŽฅ import CJS๏ผˆ่‡ชๅŠจๅŒ…่ฃ…ไธบ้ป˜่ฎคๅฏผๅ‡บ๏ผ‰๏ผŒไฝ† CJS ๆ— ๆณ• require ESM ๅฟ…้กปไฝฟ็”จๅŠจๆ€ importใ€‚ๆจกๅ—ๅŠ ่ฝฝ้ตๅพชๆ ธๅฟƒๆจกๅ—ไผ˜ๅ…ˆใ€ๆ–‡ไปถๆจกๅ—ใ€็›ฎๅฝ•ๆจกๅ—๏ผˆindex.js/package.json๏ผ‰ใ€node_modules ้€็บงๆŸฅๆ‰พ็š„ไผ˜ๅ…ˆ็บง๏ผ›require.cache ๅฎž็Žฐๆจกๅ—็ผ“ๅญ˜๏ผŒๆธ…้™ค็ผ“ๅญ˜๏ผˆdelete require.cache[path]๏ผ‰ๆ˜ฏ็ƒญๆ›ดๆ–ฐๅทฅๅ…ท็š„ๆ ธๅฟƒๆ“ไฝœใ€‚package.json exports ๅญ—ๆฎตๆ”ฏๆŒๆกไปถๅฏผๅ‡บ๏ผˆimport/require ่ฟ”ๅ›žไธๅŒๅ…ฅๅฃ๏ผ‰ใ€‚pnpm workspaces ๅ‡ญๅ€Ÿ็กฌ้“พๆŽฅๆœบๅˆถๆˆไธบ็Žฐไปฃ Monorepo ้ฆ–้€‰ใ€‚ๅŽ็ซฏๅˆ†ๅฑ‚ๆžถๆž„๏ผˆAPI/Service/Repository๏ผ‰ๅฎž็Žฐๅ…ณๆณจ็‚นๅˆ†็ฆป๏ผŒๆขๆ•ฐๆฎๅบ“ๅช้œ€ๆ”น Repository ๅฑ‚ใ€‚\",\"tags\":[\"concept\",\"node.js\",\"commonjs\",\"esm\",\"monorepo\",\"layered-architecture\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"Node.js ๆจกๅ—ๅŒ–็ผ–็จ‹ๆขณ็†ไธŽๆ€ป็ป“\",\"date\":\"2024-05-17 23:33:09\",\"capture\":\"ๅฆ‚ๆžœ่ฏดๆต่งˆๅ™จ็ซฏ็š„ๆจกๅ—ๅŒ–ๆ˜ฏไธบไบ†\\\"ๆŒ‰้œ€ๅŠ ่ฝฝ\\\"๏ผŒ้‚ฃไนˆ Node.js ็š„ๆจกๅ—ๅŒ–ๅˆ™ๆ˜ฏไธบไบ†\\\"ไปฃ็ ็ป„็ป‡\\\"ใ€‚ไฝœไธบๅฐ† JavaScript ๅธฆๅ…ฅๆœๅŠกๅ™จ็ซฏ็š„ๅ…ˆ้ฉฑ๏ผŒNode.js ็ปๅކไบ†ไปŽ CommonJS (CJS) ็‹ฌ้œธๅคฉไธ‹ๅˆฐ ES Modules (ESM) ๅ…จ้ขๆŽฅๅ…ฅ็š„่Œƒๅผ่ฝฌ็งปใ€‚\\nๅœจๆœๅŠกๅ™จ็ซฏ๏ผŒๆจกๅ—ๅŒ–ไธไป…ไป…ๆ˜ฏไธบไบ†ๆ‹†ๅˆ†ไปฃ็ ๏ผŒๆ›ดๆ˜ฏไธบไบ†ๆž„ๅปบๆธ…ๆ™ฐ็š„้กน็›ฎ็ป“ๆž„ใ€็ฎก็†ไพ่ต–ๅ…ณ็ณป๏ผŒไปฅๅŠๅฎž็Žฐไปฃ็ ็š„ๅค็”จไธŽ็ปดๆŠคใ€‚\\n 1. CommonJS ไธŽ ES Modules ๅŒๆจกๅ…ฑๅญ˜\\nๅœจ็Žฐไปฃ Node.js ๅผ€ๅ‘ไธญ๏ผŒๆˆ‘ไปฌ็ปๅธธ้ขไธดไธค็ง่ง„่Œƒไบค็ป‡็š„ๆƒ…ๅ†ตใ€‚่ฟ™ไธไป…ๆ˜ฏๆ–‡ไปถๅŽ็ผ€็š„ๆ”นๅ˜๏ผŒๆ›ดๆ˜ฏๅŒๆญฅไธŽๅผ‚ๆญฅๅŠ ่ฝฝ้€ป่พ‘็š„ๅšๅผˆใ€‚\\nๅ…ฑๅญ˜็ญ–็•ฅ๏ผš\\n1. ๅŽ็ผ€ๅ†ณๅฎš่ฎบ๏ผš`.mjs\"}],\"solid-principles\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต\",\"frontmatter\":{\"date\":\"2024-05-17 22:30:50\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ๆขณ็†ไธŽๆ€ป็ป“\",\"tldr\":\"ๆŽŒๆก้ซ˜ๅ†…่šไฝŽ่€ฆๅˆๅŽŸๅˆ™๏ผšๆจกๅ—ๅŒ–็ผ–็จ‹็š„่ฎพ่ฎกๅ‡†ๅˆ™ไธŽ็ฒ’ๅบฆๆŽงๅˆถใ€‚\",\"description\":\"็ณป็ปŸๆขณ็†ๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅ…ญๅคงๆ ธๅฟƒๅŽŸๅˆ™๏ผšๅ•ไธ€่Œ่ดฃใ€้ซ˜ๅ†…่šไฝŽ่€ฆๅˆใ€็ฒ’ๅบฆ่ฎพ่ฎกใ€ๅ‘ฝๅ่ง„่ŒƒๅŠๆจกๅ—็‰ˆๆœฌ็ฎก็†๏ผŒ้™„่ฏฆ็ป†็š„ๅทฅ็จ‹ๅฎž่ทตๅปบ่ฎฎไธŽ้ฟๅ‘ๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/fullstack/module-programming-principles-best-practices\",\"abstract\":\"ๅฆ‚ๆžœ่ฏดๆŽŒๆกๆจกๅ—ๅŒ–่ฏญๆณ•ๆ˜ฏๆœฏ๏ผŒ้‚ฃไนˆ็†่งฃๅ…ถ่ƒŒๅŽ็š„่ฎพ่ฎกๅŽŸๅˆ™ๅฐฑๆ˜ฏ้“ใ€‚ๅ•ไธ€่Œ่ดฃๅŽŸๅˆ™ๅผบ่ฐƒๆจกๅ—ๅชๅบ”ๆœ‰ไธ€ไธช่ขซๆ”นๅ˜็š„ๅŽŸๅ› ๏ผŒ้ฟๅ… God Object ๅๆจกๅผใ€‚้ซ˜ๅ†…่šไฝŽ่€ฆๅˆๆ˜ฏ่กก้‡ๆจกๅ—่ดจ้‡็š„็ปˆๆžๆ ‡ๅ‡†โ€”โ€”ๆจกๅ—ๅ†…้ƒจๅ…ƒ็ด ่”็ณป็ดงๅฏ†๏ผŒๆจกๅ—ไน‹้—ดไพ่ต–ๅ…ณ็ณปๅฐฝๅฏ่ƒฝ็ฎ€ๅ•ใ€‚็ฒ’ๅบฆ่ฎพ่ฎก่ฆๆฑ‚ๅ•ไธชๆจกๅ—ไฟๆŒๅœจ 100-500 ่กŒไน‹้—ด๏ผŒๅŠŸ่ƒฝ่ƒฝ็”จไธ€ๅฅ่ฏๆธ…ๆ™ฐๆ่ฟฐ๏ผŒๅ‡บ็Žฐๅคšๅˆ†ๆ”ฏๅคๆ‚้€ป่พ‘ๆ—ถ้€šๅธธๆ˜ฏๆ‹†ๅˆ†ไฟกๅทใ€‚ๅ‘ฝๅ่ง„่Œƒ็ปŸไธ€ๅ›ข้˜ŸๆฒŸ้€š่ฏญๅขƒ๏ผˆkebab-case ๆ–‡ไปถๅใ€camelCase ๆ–นๆณ•ๅใ€PascalCase ็ฑปๅ๏ผ‰ใ€‚ๆจกๅ—็‰ˆๆœฌ็ฎก็†้ตๅพช SemVer ่ฏญไน‰ๅŒ–็‰ˆๆœฌ๏ผŒไธบๅ…ฌๅ…ฑๆจกๅ—็š„็ปดๆŠค่€…ไธŽไฝฟ็”จ่€…ๅปบ็ซ‹ๅฅ‘็บฆใ€‚ๅผบ่ฐƒๆธ…ๆ™ฐ็š„ๆจกๅ—่พน็•Œๆ˜ฏ AI ่พ…ๅŠฉ็ผ–็จ‹ๆ—ถไปฃ AI ๅ‡†็กฎ็†่งฃไปฃ็ ็š„ๅ‰ๆใ€‚\",\"tags\":[\"concept\",\"solid-principles\",\"code-organization\",\"best-practices\",\"naming-conventions\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ๆขณ็†ไธŽๆ€ป็ป“\",\"date\":\"2024-05-17 22:30:50\",\"capture\":\"1. ๅ•ไธ€่Œ่ดฃๅŽŸๅˆ™\\nๆ ธๅฟƒๆ€ๆƒณ๏ผšไธ€ไธชๆจกๅ—ๅบ”ๅฝ“ๆœ‰ไธ”ๅชๆœ‰ไธ€ไธช่ขซๆ”นๅ˜็š„ๅŽŸๅ› ใ€‚\\nๆจกๅ—ไธๅบ”ๆˆไธบๅŠŸ่ƒฝ็š„โ€œๆ‚่ดง้“บโ€ใ€‚ๅฝ“ไธ€ไธชๆจกๅ—ๆ‰ฟๆ‹…ไบ†ๅคชๅคšไธ็›ธๅ…ณ็š„ไธšๅŠก้€ป่พ‘ๆ—ถ๏ผŒๅฎƒ็š„ๅคๆ‚ๅบฆไผšๅ‘ˆๆŒ‡ๆ•ฐ็บงไธŠๅ‡๏ผŒไปปไฝ•ๅพฎๅฐ็š„ๆ”นๅŠจ้ƒฝๅฏ่ƒฝๅผ•ๅ‘ๆ„ๆƒณไธๅˆฐ็š„่ฟž้”ๅๅบ”ใ€‚\\nไปฃ็ ๆผ”็คบ๏ผš\\n```javascript\\n// โœ… ๆŽจ่๏ผš่Œ่ดฃๆ‹†ๅˆ†ๆ˜Ž็กฎ\\n// user-service.js - ไป…ๅค„็†็”จๆˆทๆ•ฐๆฎ็š„ CRUD\\nexport const getUser = async (id) => { /* ... */ };\\n// auth-provider.js - ไป…ๅค„็†้‰ดๆƒ็Šถๆ€ไธŽ้€ป่พ‘\\nexport const login = async (credenti\"}],\"code-organization\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต\",\"frontmatter\":{\"date\":\"2024-05-17 22:30:50\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ๆขณ็†ไธŽๆ€ป็ป“\",\"tldr\":\"ๆŽŒๆก้ซ˜ๅ†…่šไฝŽ่€ฆๅˆๅŽŸๅˆ™๏ผšๆจกๅ—ๅŒ–็ผ–็จ‹็š„่ฎพ่ฎกๅ‡†ๅˆ™ไธŽ็ฒ’ๅบฆๆŽงๅˆถใ€‚\",\"description\":\"็ณป็ปŸๆขณ็†ๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅ…ญๅคงๆ ธๅฟƒๅŽŸๅˆ™๏ผšๅ•ไธ€่Œ่ดฃใ€้ซ˜ๅ†…่šไฝŽ่€ฆๅˆใ€็ฒ’ๅบฆ่ฎพ่ฎกใ€ๅ‘ฝๅ่ง„่ŒƒๅŠๆจกๅ—็‰ˆๆœฌ็ฎก็†๏ผŒ้™„่ฏฆ็ป†็š„ๅทฅ็จ‹ๅฎž่ทตๅปบ่ฎฎไธŽ้ฟๅ‘ๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/fullstack/module-programming-principles-best-practices\",\"abstract\":\"ๅฆ‚ๆžœ่ฏดๆŽŒๆกๆจกๅ—ๅŒ–่ฏญๆณ•ๆ˜ฏๆœฏ๏ผŒ้‚ฃไนˆ็†่งฃๅ…ถ่ƒŒๅŽ็š„่ฎพ่ฎกๅŽŸๅˆ™ๅฐฑๆ˜ฏ้“ใ€‚ๅ•ไธ€่Œ่ดฃๅŽŸๅˆ™ๅผบ่ฐƒๆจกๅ—ๅชๅบ”ๆœ‰ไธ€ไธช่ขซๆ”นๅ˜็š„ๅŽŸๅ› ๏ผŒ้ฟๅ… God Object ๅๆจกๅผใ€‚้ซ˜ๅ†…่šไฝŽ่€ฆๅˆๆ˜ฏ่กก้‡ๆจกๅ—่ดจ้‡็š„็ปˆๆžๆ ‡ๅ‡†โ€”โ€”ๆจกๅ—ๅ†…้ƒจๅ…ƒ็ด ่”็ณป็ดงๅฏ†๏ผŒๆจกๅ—ไน‹้—ดไพ่ต–ๅ…ณ็ณปๅฐฝๅฏ่ƒฝ็ฎ€ๅ•ใ€‚็ฒ’ๅบฆ่ฎพ่ฎก่ฆๆฑ‚ๅ•ไธชๆจกๅ—ไฟๆŒๅœจ 100-500 ่กŒไน‹้—ด๏ผŒๅŠŸ่ƒฝ่ƒฝ็”จไธ€ๅฅ่ฏๆธ…ๆ™ฐๆ่ฟฐ๏ผŒๅ‡บ็Žฐๅคšๅˆ†ๆ”ฏๅคๆ‚้€ป่พ‘ๆ—ถ้€šๅธธๆ˜ฏๆ‹†ๅˆ†ไฟกๅทใ€‚ๅ‘ฝๅ่ง„่Œƒ็ปŸไธ€ๅ›ข้˜ŸๆฒŸ้€š่ฏญๅขƒ๏ผˆkebab-case ๆ–‡ไปถๅใ€camelCase ๆ–นๆณ•ๅใ€PascalCase ็ฑปๅ๏ผ‰ใ€‚ๆจกๅ—็‰ˆๆœฌ็ฎก็†้ตๅพช SemVer ่ฏญไน‰ๅŒ–็‰ˆๆœฌ๏ผŒไธบๅ…ฌๅ…ฑๆจกๅ—็š„็ปดๆŠค่€…ไธŽไฝฟ็”จ่€…ๅปบ็ซ‹ๅฅ‘็บฆใ€‚ๅผบ่ฐƒๆธ…ๆ™ฐ็š„ๆจกๅ—่พน็•Œๆ˜ฏ AI ่พ…ๅŠฉ็ผ–็จ‹ๆ—ถไปฃ AI ๅ‡†็กฎ็†่งฃไปฃ็ ็š„ๅ‰ๆใ€‚\",\"tags\":[\"concept\",\"solid-principles\",\"code-organization\",\"best-practices\",\"naming-conventions\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ๆขณ็†ไธŽๆ€ป็ป“\",\"date\":\"2024-05-17 22:30:50\",\"capture\":\"1. ๅ•ไธ€่Œ่ดฃๅŽŸๅˆ™\\nๆ ธๅฟƒๆ€ๆƒณ๏ผšไธ€ไธชๆจกๅ—ๅบ”ๅฝ“ๆœ‰ไธ”ๅชๆœ‰ไธ€ไธช่ขซๆ”นๅ˜็š„ๅŽŸๅ› ใ€‚\\nๆจกๅ—ไธๅบ”ๆˆไธบๅŠŸ่ƒฝ็š„โ€œๆ‚่ดง้“บโ€ใ€‚ๅฝ“ไธ€ไธชๆจกๅ—ๆ‰ฟๆ‹…ไบ†ๅคชๅคšไธ็›ธๅ…ณ็š„ไธšๅŠก้€ป่พ‘ๆ—ถ๏ผŒๅฎƒ็š„ๅคๆ‚ๅบฆไผšๅ‘ˆๆŒ‡ๆ•ฐ็บงไธŠๅ‡๏ผŒไปปไฝ•ๅพฎๅฐ็š„ๆ”นๅŠจ้ƒฝๅฏ่ƒฝๅผ•ๅ‘ๆ„ๆƒณไธๅˆฐ็š„่ฟž้”ๅๅบ”ใ€‚\\nไปฃ็ ๆผ”็คบ๏ผš\\n```javascript\\n// โœ… ๆŽจ่๏ผš่Œ่ดฃๆ‹†ๅˆ†ๆ˜Ž็กฎ\\n// user-service.js - ไป…ๅค„็†็”จๆˆทๆ•ฐๆฎ็š„ CRUD\\nexport const getUser = async (id) => { /* ... */ };\\n// auth-provider.js - ไป…ๅค„็†้‰ดๆƒ็Šถๆ€ไธŽ้€ป่พ‘\\nexport const login = async (credenti\"}],\"best-practices\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต\",\"frontmatter\":{\"date\":\"2024-05-17 22:30:50\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ๆขณ็†ไธŽๆ€ป็ป“\",\"tldr\":\"ๆŽŒๆก้ซ˜ๅ†…่šไฝŽ่€ฆๅˆๅŽŸๅˆ™๏ผšๆจกๅ—ๅŒ–็ผ–็จ‹็š„่ฎพ่ฎกๅ‡†ๅˆ™ไธŽ็ฒ’ๅบฆๆŽงๅˆถใ€‚\",\"description\":\"็ณป็ปŸๆขณ็†ๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅ…ญๅคงๆ ธๅฟƒๅŽŸๅˆ™๏ผšๅ•ไธ€่Œ่ดฃใ€้ซ˜ๅ†…่šไฝŽ่€ฆๅˆใ€็ฒ’ๅบฆ่ฎพ่ฎกใ€ๅ‘ฝๅ่ง„่ŒƒๅŠๆจกๅ—็‰ˆๆœฌ็ฎก็†๏ผŒ้™„่ฏฆ็ป†็š„ๅทฅ็จ‹ๅฎž่ทตๅปบ่ฎฎไธŽ้ฟๅ‘ๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/fullstack/module-programming-principles-best-practices\",\"abstract\":\"ๅฆ‚ๆžœ่ฏดๆŽŒๆกๆจกๅ—ๅŒ–่ฏญๆณ•ๆ˜ฏๆœฏ๏ผŒ้‚ฃไนˆ็†่งฃๅ…ถ่ƒŒๅŽ็š„่ฎพ่ฎกๅŽŸๅˆ™ๅฐฑๆ˜ฏ้“ใ€‚ๅ•ไธ€่Œ่ดฃๅŽŸๅˆ™ๅผบ่ฐƒๆจกๅ—ๅชๅบ”ๆœ‰ไธ€ไธช่ขซๆ”นๅ˜็š„ๅŽŸๅ› ๏ผŒ้ฟๅ… God Object ๅๆจกๅผใ€‚้ซ˜ๅ†…่šไฝŽ่€ฆๅˆๆ˜ฏ่กก้‡ๆจกๅ—่ดจ้‡็š„็ปˆๆžๆ ‡ๅ‡†โ€”โ€”ๆจกๅ—ๅ†…้ƒจๅ…ƒ็ด ่”็ณป็ดงๅฏ†๏ผŒๆจกๅ—ไน‹้—ดไพ่ต–ๅ…ณ็ณปๅฐฝๅฏ่ƒฝ็ฎ€ๅ•ใ€‚็ฒ’ๅบฆ่ฎพ่ฎก่ฆๆฑ‚ๅ•ไธชๆจกๅ—ไฟๆŒๅœจ 100-500 ่กŒไน‹้—ด๏ผŒๅŠŸ่ƒฝ่ƒฝ็”จไธ€ๅฅ่ฏๆธ…ๆ™ฐๆ่ฟฐ๏ผŒๅ‡บ็Žฐๅคšๅˆ†ๆ”ฏๅคๆ‚้€ป่พ‘ๆ—ถ้€šๅธธๆ˜ฏๆ‹†ๅˆ†ไฟกๅทใ€‚ๅ‘ฝๅ่ง„่Œƒ็ปŸไธ€ๅ›ข้˜ŸๆฒŸ้€š่ฏญๅขƒ๏ผˆkebab-case ๆ–‡ไปถๅใ€camelCase ๆ–นๆณ•ๅใ€PascalCase ็ฑปๅ๏ผ‰ใ€‚ๆจกๅ—็‰ˆๆœฌ็ฎก็†้ตๅพช SemVer ่ฏญไน‰ๅŒ–็‰ˆๆœฌ๏ผŒไธบๅ…ฌๅ…ฑๆจกๅ—็š„็ปดๆŠค่€…ไธŽไฝฟ็”จ่€…ๅปบ็ซ‹ๅฅ‘็บฆใ€‚ๅผบ่ฐƒๆธ…ๆ™ฐ็š„ๆจกๅ—่พน็•Œๆ˜ฏ AI ่พ…ๅŠฉ็ผ–็จ‹ๆ—ถไปฃ AI ๅ‡†็กฎ็†่งฃไปฃ็ ็š„ๅ‰ๆใ€‚\",\"tags\":[\"concept\",\"solid-principles\",\"code-organization\",\"best-practices\",\"naming-conventions\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ๆขณ็†ไธŽๆ€ป็ป“\",\"date\":\"2024-05-17 22:30:50\",\"capture\":\"1. ๅ•ไธ€่Œ่ดฃๅŽŸๅˆ™\\nๆ ธๅฟƒๆ€ๆƒณ๏ผšไธ€ไธชๆจกๅ—ๅบ”ๅฝ“ๆœ‰ไธ”ๅชๆœ‰ไธ€ไธช่ขซๆ”นๅ˜็š„ๅŽŸๅ› ใ€‚\\nๆจกๅ—ไธๅบ”ๆˆไธบๅŠŸ่ƒฝ็š„โ€œๆ‚่ดง้“บโ€ใ€‚ๅฝ“ไธ€ไธชๆจกๅ—ๆ‰ฟๆ‹…ไบ†ๅคชๅคšไธ็›ธๅ…ณ็š„ไธšๅŠก้€ป่พ‘ๆ—ถ๏ผŒๅฎƒ็š„ๅคๆ‚ๅบฆไผšๅ‘ˆๆŒ‡ๆ•ฐ็บงไธŠๅ‡๏ผŒไปปไฝ•ๅพฎๅฐ็š„ๆ”นๅŠจ้ƒฝๅฏ่ƒฝๅผ•ๅ‘ๆ„ๆƒณไธๅˆฐ็š„่ฟž้”ๅๅบ”ใ€‚\\nไปฃ็ ๆผ”็คบ๏ผš\\n```javascript\\n// โœ… ๆŽจ่๏ผš่Œ่ดฃๆ‹†ๅˆ†ๆ˜Ž็กฎ\\n// user-service.js - ไป…ๅค„็†็”จๆˆทๆ•ฐๆฎ็š„ CRUD\\nexport const getUser = async (id) => { /* ... */ };\\n// auth-provider.js - ไป…ๅค„็†้‰ดๆƒ็Šถๆ€ไธŽ้€ป่พ‘\\nexport const login = async (credenti\"}],\"naming-conventions\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต\",\"frontmatter\":{\"date\":\"2024-05-17 22:30:50\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ๆขณ็†ไธŽๆ€ป็ป“\",\"tldr\":\"ๆŽŒๆก้ซ˜ๅ†…่šไฝŽ่€ฆๅˆๅŽŸๅˆ™๏ผšๆจกๅ—ๅŒ–็ผ–็จ‹็š„่ฎพ่ฎกๅ‡†ๅˆ™ไธŽ็ฒ’ๅบฆๆŽงๅˆถใ€‚\",\"description\":\"็ณป็ปŸๆขณ็†ๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅ…ญๅคงๆ ธๅฟƒๅŽŸๅˆ™๏ผšๅ•ไธ€่Œ่ดฃใ€้ซ˜ๅ†…่šไฝŽ่€ฆๅˆใ€็ฒ’ๅบฆ่ฎพ่ฎกใ€ๅ‘ฝๅ่ง„่ŒƒๅŠๆจกๅ—็‰ˆๆœฌ็ฎก็†๏ผŒ้™„่ฏฆ็ป†็š„ๅทฅ็จ‹ๅฎž่ทตๅปบ่ฎฎไธŽ้ฟๅ‘ๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/fullstack/module-programming-principles-best-practices\",\"abstract\":\"ๅฆ‚ๆžœ่ฏดๆŽŒๆกๆจกๅ—ๅŒ–่ฏญๆณ•ๆ˜ฏๆœฏ๏ผŒ้‚ฃไนˆ็†่งฃๅ…ถ่ƒŒๅŽ็š„่ฎพ่ฎกๅŽŸๅˆ™ๅฐฑๆ˜ฏ้“ใ€‚ๅ•ไธ€่Œ่ดฃๅŽŸๅˆ™ๅผบ่ฐƒๆจกๅ—ๅชๅบ”ๆœ‰ไธ€ไธช่ขซๆ”นๅ˜็š„ๅŽŸๅ› ๏ผŒ้ฟๅ… God Object ๅๆจกๅผใ€‚้ซ˜ๅ†…่šไฝŽ่€ฆๅˆๆ˜ฏ่กก้‡ๆจกๅ—่ดจ้‡็š„็ปˆๆžๆ ‡ๅ‡†โ€”โ€”ๆจกๅ—ๅ†…้ƒจๅ…ƒ็ด ่”็ณป็ดงๅฏ†๏ผŒๆจกๅ—ไน‹้—ดไพ่ต–ๅ…ณ็ณปๅฐฝๅฏ่ƒฝ็ฎ€ๅ•ใ€‚็ฒ’ๅบฆ่ฎพ่ฎก่ฆๆฑ‚ๅ•ไธชๆจกๅ—ไฟๆŒๅœจ 100-500 ่กŒไน‹้—ด๏ผŒๅŠŸ่ƒฝ่ƒฝ็”จไธ€ๅฅ่ฏๆธ…ๆ™ฐๆ่ฟฐ๏ผŒๅ‡บ็Žฐๅคšๅˆ†ๆ”ฏๅคๆ‚้€ป่พ‘ๆ—ถ้€šๅธธๆ˜ฏๆ‹†ๅˆ†ไฟกๅทใ€‚ๅ‘ฝๅ่ง„่Œƒ็ปŸไธ€ๅ›ข้˜ŸๆฒŸ้€š่ฏญๅขƒ๏ผˆkebab-case ๆ–‡ไปถๅใ€camelCase ๆ–นๆณ•ๅใ€PascalCase ็ฑปๅ๏ผ‰ใ€‚ๆจกๅ—็‰ˆๆœฌ็ฎก็†้ตๅพช SemVer ่ฏญไน‰ๅŒ–็‰ˆๆœฌ๏ผŒไธบๅ…ฌๅ…ฑๆจกๅ—็š„็ปดๆŠค่€…ไธŽไฝฟ็”จ่€…ๅปบ็ซ‹ๅฅ‘็บฆใ€‚ๅผบ่ฐƒๆธ…ๆ™ฐ็š„ๆจกๅ—่พน็•Œๆ˜ฏ AI ่พ…ๅŠฉ็ผ–็จ‹ๆ—ถไปฃ AI ๅ‡†็กฎ็†่งฃไปฃ็ ็š„ๅ‰ๆใ€‚\",\"tags\":[\"concept\",\"solid-principles\",\"code-organization\",\"best-practices\",\"naming-conventions\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ๆขณ็†ไธŽๆ€ป็ป“\",\"date\":\"2024-05-17 22:30:50\",\"capture\":\"1. ๅ•ไธ€่Œ่ดฃๅŽŸๅˆ™\\nๆ ธๅฟƒๆ€ๆƒณ๏ผšไธ€ไธชๆจกๅ—ๅบ”ๅฝ“ๆœ‰ไธ”ๅชๆœ‰ไธ€ไธช่ขซๆ”นๅ˜็š„ๅŽŸๅ› ใ€‚\\nๆจกๅ—ไธๅบ”ๆˆไธบๅŠŸ่ƒฝ็š„โ€œๆ‚่ดง้“บโ€ใ€‚ๅฝ“ไธ€ไธชๆจกๅ—ๆ‰ฟๆ‹…ไบ†ๅคชๅคšไธ็›ธๅ…ณ็š„ไธšๅŠก้€ป่พ‘ๆ—ถ๏ผŒๅฎƒ็š„ๅคๆ‚ๅบฆไผšๅ‘ˆๆŒ‡ๆ•ฐ็บงไธŠๅ‡๏ผŒไปปไฝ•ๅพฎๅฐ็š„ๆ”นๅŠจ้ƒฝๅฏ่ƒฝๅผ•ๅ‘ๆ„ๆƒณไธๅˆฐ็š„่ฟž้”ๅๅบ”ใ€‚\\nไปฃ็ ๆผ”็คบ๏ผš\\n```javascript\\n// โœ… ๆŽจ่๏ผš่Œ่ดฃๆ‹†ๅˆ†ๆ˜Ž็กฎ\\n// user-service.js - ไป…ๅค„็†็”จๆˆทๆ•ฐๆฎ็š„ CRUD\\nexport const getUser = async (id) => { /* ... */ };\\n// auth-provider.js - ไป…ๅค„็†้‰ดๆƒ็Šถๆ€ไธŽ้€ป่พ‘\\nexport const login = async (credenti\"}],\"tsconfig\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/4.Typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"frontmatter\":{\"date\":\"2024-05-16 21:27:36\",\"title\":\"ไปŽ้€ป่พ‘้š”็ฆปๅˆฐ็ฑปๅž‹ๅฅ‘็บฆ๏ผšTypeScript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"tldr\":\"TypeScript ๅฐ†ๆจกๅ—ไพ่ต–ๆๅ‡ไธบ็ผ–่ฏ‘ๆ—ถ็ฑปๅž‹ๅฅ‘็บฆ๏ผŒไปŽ import type ๅˆฐๅฃฐๆ˜Žๆ–‡ไปถใ€‚\",\"description\":\"็ณป็ปŸ่ฎฒ่งฃ TypeScript ๅฏน ES Modules ็š„็ฑปๅž‹ๅขžๅผบ๏ผŒๆถต็›– import type ่ฟ่กŒๆ—ถไผ˜ๅŒ–ใ€ๆŽฅๅฃๅฅ‘็บฆใ€ๅฃฐๆ˜Žๆ–‡ไปถ .d.ts ๅŠ tsconfig ๆจกๅ—ๅŒ–้…็ฝฎใ€‚\",\"permalink\":\"/fullstack/typescript-module-programming-enhancement\",\"tags\":[\"concept\",\"ๅ…จๆ ˆ\",\"typescript\",\"tsconfig\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ไปŽ้€ป่พ‘้š”็ฆปๅˆฐ็ฑปๅž‹ๅฅ‘็บฆ๏ผšTypeScript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ\",\"date\":\"2024-05-16 21:27:36\",\"capture\":\"1. ๅผ•่จ€\\nๅœจๅŽŸ็”Ÿ JavaScript ๆจกๅ—ๅŒ–่งฃๅ†ณไบ†ไปฃ็ ็ป„็ป‡้—ฎ้ข˜ๅŽ๏ผŒTypeScript๏ผˆTS๏ผ‰่ฟ›ไธ€ๆญฅๅฐ†ๅ…ถๆŽจๅ‘ไบ†ๅทฅไธš็บง้ซ˜ๅบฆใ€‚TS ไธไป…ไป…ๆ˜ฏไธบๆจกๅ—ๆทปๅŠ ไบ†็ฑปๅž‹ๆ ‡ๆณจ๏ผŒๅฎƒ้€š่ฟ‡็ฑปๅž‹ๅฏผๅ‡บๅฏผๅ…ฅใ€็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ใ€ไปฅๅŠๅฃฐๆ˜Žๆ–‡ไปถ็ณป็ปŸ๏ผŒๅฐ†ๆจกๅ—้—ด็š„ไพ่ต–ๅ…ณ็ณปไปŽ็ฎ€ๅ•็š„โ€œไปฃ็ ๅผ•็”จโ€ๆๅ‡ๅˆฐไบ†โ€œๅฅ‘็บฆไบคไบ’โ€ใ€‚\\nๆœฌๆ–‡ๆˆ‘ไปฌๅฐ†่š็„ฆไบŽ TypeScript ๅฆ‚ไฝ•้€š่ฟ‡็ฑปๅž‹็ณป็ปŸๅขžๅผบๆจกๅ—ๅŒ–็ผ–็จ‹๏ผŒๅนถๆŽข่ฎจๅœจ็Žฐไปฃๅทฅ็จ‹๏ผˆๅฐคๅ…ถๆ˜ฏ TS 5.0+ ๆ—ถไปฃ๏ผ‰ไธ‹็š„ๆœ€ไฝณ้…็ฝฎๅฎž่ทตใ€‚\\n 2. ็ฑปๅž‹ๅฏผๅ‡บไธŽๅฏผๅ…ฅ๏ผšๆž่‡ด็š„่ฟ่กŒๆ—ถไผ˜ๅŒ–\\nTypeScript ๅฏน ES Modules ่ฏญๆณ•ๆœ€ๆ˜พ่‘—็š„ๆ‰ฉๅฑ•ๆ˜ฏๆ”ฏๆŒโ€œไป…็ฑปๅž‹โ€๏ผˆType-only๏ผ‰็š„ๅฏผๅ‡บไธŽๅฏผๅ…ฅใ€‚่ฟ™ไธไป…ๆ˜ฏ่ฏญไน‰ไธŠ็š„ๆธ…ๆ™ฐ๏ผŒๆ›ดๆ˜ฏๆ€ง\"}],\"static-analysis\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"frontmatter\":{\"date\":\"2024-05-14 22:29:32\",\"title\":\"ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒๆ‹ฅๆŠฑๅŽŸ็”Ÿ๏ผšES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"tldr\":\"ES Modules ๆ ธๅฟƒ่ฏญๆณ•ไธŽๆ‰ง่กŒๆจกๅž‹๏ผš้™ๆ€ๅˆ†ๆžๅฆ‚ไฝ•้‡ๅก‘ๅ‰็ซฏๆž„ๅปบๆ•ˆ็އใ€‚\",\"description\":\"ๆทฑๅบฆ่งฃๆž ES Modules ๅ‘ฝๅๅฏผๅ‡บ/ๅฏผๅ…ฅใ€้ป˜่ฎคๅฏผๅ‡บใ€ๅŠจๆ€ๅฏผๅ…ฅ็ญ‰่ฏญๆณ•๏ผŒไปฅๅŠๆจกๅ—ๆ‰ง่กŒ้กบๅบใ€ๅพช็Žฏไพ่ต–ๅค„็†ไธŽ็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ๆœบๅˆถใ€‚\",\"permalink\":\"/fullstack/decode-es-modules\",\"tags\":[\"concept\",\"ESM\",\"static-analysis\",\"Tree-Shaking\",\"circular-dependency\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒๆ‹ฅๆŠฑๅŽŸ็”Ÿ๏ผšES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"date\":\"2024-05-14 22:29:32\",\"capture\":\"> \\n> ็†่งฃ ESM๏ผŒไธไป…ไป…ๆ˜ฏๅญฆไผš import ๅ’Œ export๏ผŒๆ›ด้‡่ฆ็š„ๆ˜ฏ็†่งฃๅฎƒๅฆ‚ไฝ•้€š่ฟ‡็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ๅฝปๅบ•ๆ”นๅ˜ไบ†ๅ‰็ซฏๆž„ๅปบ็š„ๆ•ˆ็އใ€‚\\n 1. ๅ‘ฝๅๅฏผๅ‡บไธŽๅฏผๅ…ฅ๏ผš็ฒพๅ‡†็š„ไปฃ็ ๅผ•็”จ\\nๅ‘ฝๅๅฏผๅ‡บ๏ผˆNamed Exports๏ผ‰ๆ˜ฏ ESM ๆœ€ๅธธ็”จ็š„ๅฝขๅผ๏ผŒๅฎƒๅ…่ฎธไธ€ไธชๆจกๅ—ๆšด้œฒๅคšไธชๆˆๅ‘˜ใ€‚ๅ…ถๆ ธๅฟƒไผ˜ๅŠฟๅœจไบŽ๏ผšๅฏผๅ…ฅๆ–นๅฏไปฅๆŒ‰้œ€ๅผ•ๅ…ฅ๏ผŒไธ” IDE ่ƒฝๆไพ›็ฒพๅ‡†็š„่กฅๅ…จใ€‚\\n่ฏญๆณ•ๅฎž่ทต๏ผš๏ผš\\n```javascript\\n// math.js - ๅ‘ฝๅๅฏผๅ‡บ\\n// ่กŒๅ†…ๅฏผๅ‡บ\\nexport const PI = 3.14159;\\nexport function circleArea(radius) {\\n return PI * rad\"}],\"Tree-Shaking\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"frontmatter\":{\"date\":\"2024-05-14 22:29:32\",\"title\":\"ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒๆ‹ฅๆŠฑๅŽŸ็”Ÿ๏ผšES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"tldr\":\"ES Modules ๆ ธๅฟƒ่ฏญๆณ•ไธŽๆ‰ง่กŒๆจกๅž‹๏ผš้™ๆ€ๅˆ†ๆžๅฆ‚ไฝ•้‡ๅก‘ๅ‰็ซฏๆž„ๅปบๆ•ˆ็އใ€‚\",\"description\":\"ๆทฑๅบฆ่งฃๆž ES Modules ๅ‘ฝๅๅฏผๅ‡บ/ๅฏผๅ…ฅใ€้ป˜่ฎคๅฏผๅ‡บใ€ๅŠจๆ€ๅฏผๅ…ฅ็ญ‰่ฏญๆณ•๏ผŒไปฅๅŠๆจกๅ—ๆ‰ง่กŒ้กบๅบใ€ๅพช็Žฏไพ่ต–ๅค„็†ไธŽ็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ๆœบๅˆถใ€‚\",\"permalink\":\"/fullstack/decode-es-modules\",\"tags\":[\"concept\",\"ESM\",\"static-analysis\",\"Tree-Shaking\",\"circular-dependency\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒๆ‹ฅๆŠฑๅŽŸ็”Ÿ๏ผšES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"date\":\"2024-05-14 22:29:32\",\"capture\":\"> \\n> ็†่งฃ ESM๏ผŒไธไป…ไป…ๆ˜ฏๅญฆไผš import ๅ’Œ export๏ผŒๆ›ด้‡่ฆ็š„ๆ˜ฏ็†่งฃๅฎƒๅฆ‚ไฝ•้€š่ฟ‡็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ๅฝปๅบ•ๆ”นๅ˜ไบ†ๅ‰็ซฏๆž„ๅปบ็š„ๆ•ˆ็އใ€‚\\n 1. ๅ‘ฝๅๅฏผๅ‡บไธŽๅฏผๅ…ฅ๏ผš็ฒพๅ‡†็š„ไปฃ็ ๅผ•็”จ\\nๅ‘ฝๅๅฏผๅ‡บ๏ผˆNamed Exports๏ผ‰ๆ˜ฏ ESM ๆœ€ๅธธ็”จ็š„ๅฝขๅผ๏ผŒๅฎƒๅ…่ฎธไธ€ไธชๆจกๅ—ๆšด้œฒๅคšไธชๆˆๅ‘˜ใ€‚ๅ…ถๆ ธๅฟƒไผ˜ๅŠฟๅœจไบŽ๏ผšๅฏผๅ…ฅๆ–นๅฏไปฅๆŒ‰้œ€ๅผ•ๅ…ฅ๏ผŒไธ” IDE ่ƒฝๆไพ›็ฒพๅ‡†็š„่กฅๅ…จใ€‚\\n่ฏญๆณ•ๅฎž่ทต๏ผš๏ผš\\n```javascript\\n// math.js - ๅ‘ฝๅๅฏผๅ‡บ\\n// ่กŒๅ†…ๅฏผๅ‡บ\\nexport const PI = 3.14159;\\nexport function circleArea(radius) {\\n return PI * rad\"}],\"circular-dependency\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/3.ES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"frontmatter\":{\"date\":\"2024-05-14 22:29:32\",\"title\":\"ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒๆ‹ฅๆŠฑๅŽŸ็”Ÿ๏ผšES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"tldr\":\"ES Modules ๆ ธๅฟƒ่ฏญๆณ•ไธŽๆ‰ง่กŒๆจกๅž‹๏ผš้™ๆ€ๅˆ†ๆžๅฆ‚ไฝ•้‡ๅก‘ๅ‰็ซฏๆž„ๅปบๆ•ˆ็އใ€‚\",\"description\":\"ๆทฑๅบฆ่งฃๆž ES Modules ๅ‘ฝๅๅฏผๅ‡บ/ๅฏผๅ…ฅใ€้ป˜่ฎคๅฏผๅ‡บใ€ๅŠจๆ€ๅฏผๅ…ฅ็ญ‰่ฏญๆณ•๏ผŒไปฅๅŠๆจกๅ—ๆ‰ง่กŒ้กบๅบใ€ๅพช็Žฏไพ่ต–ๅค„็†ไธŽ็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ๆœบๅˆถใ€‚\",\"permalink\":\"/fullstack/decode-es-modules\",\"tags\":[\"concept\",\"ESM\",\"static-analysis\",\"Tree-Shaking\",\"circular-dependency\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅ›žๅฝ’ๆ ‡ๅ‡†๏ผŒๆ‹ฅๆŠฑๅŽŸ็”Ÿ๏ผšES Modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž\",\"date\":\"2024-05-14 22:29:32\",\"capture\":\"> \\n> ็†่งฃ ESM๏ผŒไธไป…ไป…ๆ˜ฏๅญฆไผš import ๅ’Œ export๏ผŒๆ›ด้‡่ฆ็š„ๆ˜ฏ็†่งฃๅฎƒๅฆ‚ไฝ•้€š่ฟ‡็ผ–่ฏ‘ๆ—ถไผ˜ๅŒ–ๅฝปๅบ•ๆ”นๅ˜ไบ†ๅ‰็ซฏๆž„ๅปบ็š„ๆ•ˆ็އใ€‚\\n 1. ๅ‘ฝๅๅฏผๅ‡บไธŽๅฏผๅ…ฅ๏ผš็ฒพๅ‡†็š„ไปฃ็ ๅผ•็”จ\\nๅ‘ฝๅๅฏผๅ‡บ๏ผˆNamed Exports๏ผ‰ๆ˜ฏ ESM ๆœ€ๅธธ็”จ็š„ๅฝขๅผ๏ผŒๅฎƒๅ…่ฎธไธ€ไธชๆจกๅ—ๆšด้œฒๅคšไธชๆˆๅ‘˜ใ€‚ๅ…ถๆ ธๅฟƒไผ˜ๅŠฟๅœจไบŽ๏ผšๅฏผๅ…ฅๆ–นๅฏไปฅๆŒ‰้œ€ๅผ•ๅ…ฅ๏ผŒไธ” IDE ่ƒฝๆไพ›็ฒพๅ‡†็š„่กฅๅ…จใ€‚\\n่ฏญๆณ•ๅฎž่ทต๏ผš๏ผš\\n```javascript\\n// math.js - ๅ‘ฝๅๅฏผๅ‡บ\\n// ่กŒๅ†…ๅฏผๅ‡บ\\nexport const PI = 3.14159;\\nexport function circleArea(radius) {\\n return PI * rad\"}],\"CommonJS\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†\",\"frontmatter\":{\"date\":\"2024-05-14 22:26:06\",\"title\":\"JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\",\"tldr\":\"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ็ญ‰ๆ ธๅฟƒ่ง„่Œƒ๏ผŒ้™„็Žฐไปฃ่ฟ็งป็ญ–็•ฅใ€‚\",\"description\":\"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ๅ››ๅคงๆจกๅ—ๅŒ–่ง„่Œƒ็š„ๆ ธๅฟƒ่ฏญๆณ•ไธŽ้€‚็”จๅœบๆ™ฏ๏ผŒ่งฃๆžๅ„่ง„่Œƒ็š„ๅ…ณ้”ฎๅทฎๅผ‚๏ผŒๅนถๆไพ›ไปŽๆ—ง่ง„่Œƒๅ‘ ESM ่ฟ็งป็š„ๅฎžๆ“็ญ–็•ฅใ€‚\",\"permalink\":\"/fullstack/different-module-programming-specifications\",\"tags\":[\"tutorial\",\"CommonJS\",\"AMD\",\"UMD\",\"ESM\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\",\"date\":\"2024-05-14 22:26:06\",\"capture\":\"ๅœจ JavaScript ่ฟ›ๅŒ–ๅฒไธŠ๏ผŒโ€œๆจกๅ—ๅŒ–โ€ๅง‹็ปˆๆ˜ฏไธ€ไธชๆ ธๅฟƒๅ‘ฝ้ข˜ใ€‚ไปŽๆ—ฉๆœŸ script ๆ ‡็ญพๆปกๅคฉ้ฃž็š„โ€œๆททๆฒŒๆ—ถไปฃโ€๏ผŒๅˆฐๅ„่ทฏ่ง„่Œƒ็พค้›„้€้นฟ็š„โ€œๆˆ˜ๅ›ฝๆ—ถไปฃโ€๏ผŒๅ†ๅˆฐๅฆ‚ไปŠ ES Modules ๅฎšไบŽไธ€ๅฐŠ๏ผŒๅผ€ๅ‘่€…ไปฌๅœจ่งฃๅ†ณไพ่ต–็ฎก็†ใ€ไฝœ็”จๅŸŸๆฑกๆŸ“ๅ’Œๅผ‚ๆญฅๅŠ ่ฝฝ็ญ‰้—ฎ้ข˜ไธŠไป˜ๅ‡บไบ†ๅทจๅคง็š„ๅŠชๅŠ›ใ€‚\\nๆœฌๆ–‡ๅฐ†ๅธฆไฝ ๆขณ็† JavaScript ๅކๅฒไธŠๆœ€้‡่ฆ็š„ๅ‡ ็งๆจกๅ—ๅŒ–่ง„่Œƒ๏ผŒไพฟไบŽๆž„ๅปบ่ตทๅ…จๆ ˆๅผ€ๅ‘็š„ๅบ•ๅฑ‚็Ÿฅ่ฏ†ๅ›พ่ฐฑใ€‚\\n 1. CommonJS ่ง„่Œƒ๏ผšNode.js ็”Ÿๆ€็š„ๅŸบ็Ÿณ\\nCommonJS ๆ˜ฏไผด้š Node.js ่ฏž็”Ÿ็š„่ง„่Œƒ,็”ฑ Kevin Dangoor ๆๅ‡บ๏ผŒๅˆ่กทๆ˜ฏ่ฎฉ JavaScript ่„ฑ็ฆปๆต่งˆๅ™จไนŸ่ƒฝๆž„ๅปบๅคๆ‚็š„็ณป็ปŸๅบ”็”จใ€‚ๅฎƒๆ˜ฏ Node.\"}],\"AMD\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†\",\"frontmatter\":{\"date\":\"2024-05-14 22:26:06\",\"title\":\"JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\",\"tldr\":\"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ็ญ‰ๆ ธๅฟƒ่ง„่Œƒ๏ผŒ้™„็Žฐไปฃ่ฟ็งป็ญ–็•ฅใ€‚\",\"description\":\"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ๅ››ๅคงๆจกๅ—ๅŒ–่ง„่Œƒ็š„ๆ ธๅฟƒ่ฏญๆณ•ไธŽ้€‚็”จๅœบๆ™ฏ๏ผŒ่งฃๆžๅ„่ง„่Œƒ็š„ๅ…ณ้”ฎๅทฎๅผ‚๏ผŒๅนถๆไพ›ไปŽๆ—ง่ง„่Œƒๅ‘ ESM ่ฟ็งป็š„ๅฎžๆ“็ญ–็•ฅใ€‚\",\"permalink\":\"/fullstack/different-module-programming-specifications\",\"tags\":[\"tutorial\",\"CommonJS\",\"AMD\",\"UMD\",\"ESM\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\",\"date\":\"2024-05-14 22:26:06\",\"capture\":\"ๅœจ JavaScript ่ฟ›ๅŒ–ๅฒไธŠ๏ผŒโ€œๆจกๅ—ๅŒ–โ€ๅง‹็ปˆๆ˜ฏไธ€ไธชๆ ธๅฟƒๅ‘ฝ้ข˜ใ€‚ไปŽๆ—ฉๆœŸ script ๆ ‡็ญพๆปกๅคฉ้ฃž็š„โ€œๆททๆฒŒๆ—ถไปฃโ€๏ผŒๅˆฐๅ„่ทฏ่ง„่Œƒ็พค้›„้€้นฟ็š„โ€œๆˆ˜ๅ›ฝๆ—ถไปฃโ€๏ผŒๅ†ๅˆฐๅฆ‚ไปŠ ES Modules ๅฎšไบŽไธ€ๅฐŠ๏ผŒๅผ€ๅ‘่€…ไปฌๅœจ่งฃๅ†ณไพ่ต–็ฎก็†ใ€ไฝœ็”จๅŸŸๆฑกๆŸ“ๅ’Œๅผ‚ๆญฅๅŠ ่ฝฝ็ญ‰้—ฎ้ข˜ไธŠไป˜ๅ‡บไบ†ๅทจๅคง็š„ๅŠชๅŠ›ใ€‚\\nๆœฌๆ–‡ๅฐ†ๅธฆไฝ ๆขณ็† JavaScript ๅކๅฒไธŠๆœ€้‡่ฆ็š„ๅ‡ ็งๆจกๅ—ๅŒ–่ง„่Œƒ๏ผŒไพฟไบŽๆž„ๅปบ่ตทๅ…จๆ ˆๅผ€ๅ‘็š„ๅบ•ๅฑ‚็Ÿฅ่ฏ†ๅ›พ่ฐฑใ€‚\\n 1. CommonJS ่ง„่Œƒ๏ผšNode.js ็”Ÿๆ€็š„ๅŸบ็Ÿณ\\nCommonJS ๆ˜ฏไผด้š Node.js ่ฏž็”Ÿ็š„่ง„่Œƒ,็”ฑ Kevin Dangoor ๆๅ‡บ๏ผŒๅˆ่กทๆ˜ฏ่ฎฉ JavaScript ่„ฑ็ฆปๆต่งˆๅ™จไนŸ่ƒฝๆž„ๅปบๅคๆ‚็š„็ณป็ปŸๅบ”็”จใ€‚ๅฎƒๆ˜ฏ Node.\"}],\"UMD\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†\",\"frontmatter\":{\"date\":\"2024-05-14 22:26:06\",\"title\":\"JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\",\"tldr\":\"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ็ญ‰ๆ ธๅฟƒ่ง„่Œƒ๏ผŒ้™„็Žฐไปฃ่ฟ็งป็ญ–็•ฅใ€‚\",\"description\":\"ๅ…จ้ขๆขณ็† CommonJSใ€AMDใ€UMDใ€ES Modules ๅ››ๅคงๆจกๅ—ๅŒ–่ง„่Œƒ็š„ๆ ธๅฟƒ่ฏญๆณ•ไธŽ้€‚็”จๅœบๆ™ฏ๏ผŒ่งฃๆžๅ„่ง„่Œƒ็š„ๅ…ณ้”ฎๅทฎๅผ‚๏ผŒๅนถๆไพ›ไปŽๆ—ง่ง„่Œƒๅ‘ ESM ่ฟ็งป็š„ๅฎžๆ“็ญ–็•ฅใ€‚\",\"permalink\":\"/fullstack/different-module-programming-specifications\",\"tags\":[\"tutorial\",\"CommonJS\",\"AMD\",\"UMD\",\"ESM\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"JavaScript ๆจกๅ—ๅŒ–่ง„่Œƒๅ…จๆ™ฏๅ›พ๏ผšไปŽ CJS ๅˆฐ ESM\",\"date\":\"2024-05-14 22:26:06\",\"capture\":\"ๅœจ JavaScript ่ฟ›ๅŒ–ๅฒไธŠ๏ผŒโ€œๆจกๅ—ๅŒ–โ€ๅง‹็ปˆๆ˜ฏไธ€ไธชๆ ธๅฟƒๅ‘ฝ้ข˜ใ€‚ไปŽๆ—ฉๆœŸ script ๆ ‡็ญพๆปกๅคฉ้ฃž็š„โ€œๆททๆฒŒๆ—ถไปฃโ€๏ผŒๅˆฐๅ„่ทฏ่ง„่Œƒ็พค้›„้€้นฟ็š„โ€œๆˆ˜ๅ›ฝๆ—ถไปฃโ€๏ผŒๅ†ๅˆฐๅฆ‚ไปŠ ES Modules ๅฎšไบŽไธ€ๅฐŠ๏ผŒๅผ€ๅ‘่€…ไปฌๅœจ่งฃๅ†ณไพ่ต–็ฎก็†ใ€ไฝœ็”จๅŸŸๆฑกๆŸ“ๅ’Œๅผ‚ๆญฅๅŠ ่ฝฝ็ญ‰้—ฎ้ข˜ไธŠไป˜ๅ‡บไบ†ๅทจๅคง็š„ๅŠชๅŠ›ใ€‚\\nๆœฌๆ–‡ๅฐ†ๅธฆไฝ ๆขณ็† JavaScript ๅކๅฒไธŠๆœ€้‡่ฆ็š„ๅ‡ ็งๆจกๅ—ๅŒ–่ง„่Œƒ๏ผŒไพฟไบŽๆž„ๅปบ่ตทๅ…จๆ ˆๅผ€ๅ‘็š„ๅบ•ๅฑ‚็Ÿฅ่ฏ†ๅ›พ่ฐฑใ€‚\\n 1. CommonJS ่ง„่Œƒ๏ผšNode.js ็”Ÿๆ€็š„ๅŸบ็Ÿณ\\nCommonJS ๆ˜ฏไผด้š Node.js ่ฏž็”Ÿ็š„่ง„่Œƒ,็”ฑ Kevin Dangoor ๆๅ‡บ๏ผŒๅˆ่กทๆ˜ฏ่ฎฉ JavaScript ่„ฑ็ฆปๆต่งˆๅ™จไนŸ่ƒฝๆž„ๅปบๅคๆ‚็š„็ณป็ปŸๅบ”็”จใ€‚ๅฎƒๆ˜ฏ Node.\"}],\"javascript\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€\",\"frontmatter\":{\"date\":\"2024-05-12 22:43:28\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ๏ผšๆฆ‚ๅฟตใ€ๆผ”่ฟ›ไธŽ่ฎพ่ฎกๆจกๅผ\",\"tldr\":\"ไปŽๅ…จๅฑ€ๅ˜้‡ๅˆฐ ES Modules๏ผšJavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›ไธŽๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผๅฎž่ทตใ€‚\",\"description\":\"็ณป็ปŸ่ฎฒ่งฃ JavaScript ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€๏ผŒๆถต็›– IIFEใ€CommonJSใ€ES Modules ่ง„่Œƒๆผ”่ฟ›๏ผŒไปฅๅŠๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผไธŽๆจกๅ—ๅŒ–็š„็ป“ๅˆใ€‚\",\"permalink\":\"/fullstack/frontend-module-programming-basic\",\"tags\":[\"tutorial\",\"javascript\",\"modularization\",\"esm\",\"design-patterns\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ๏ผšๆฆ‚ๅฟตใ€ๆผ”่ฟ›ไธŽ่ฎพ่ฎกๆจกๅผ\",\"date\":\"2024-05-12 22:43:28\",\"capture\":\"1. ๅผ•่จ€\\n้š็€้กน็›ฎ่ง„ๆจกๆ—ฅ็›Š่†จ่ƒ€๏ผŒไปฃ็ ้‡ไปŽๅ‡ ๅƒ่กŒ่ฟ…้€Ÿๅขž้•ฟๅˆฐๆ•ฐไธ‡็”š่‡ณๆ•ฐๅไธ‡่กŒ๏ผŒๅฐ†ๆ‰€ๆœ‰้€ป่พ‘ๅกž่ฟ›ๅฐ‘ๆ•ฐๅ‡ ไธชๆ–‡ไปถ็š„ๅšๆณ•ๆ—ฉๅทฒ้šพไปฅไธบ็ปงใ€‚ๅœจ่ฟ™ๆ ท็š„่ƒŒๆ™ฏไธ‹๏ผŒๆจกๅ—ๅŒ–็ผ–็จ‹ๅบ”่ฟ่€Œ็”Ÿ๏ผŒๆˆไธบ็Žฐไปฃๅ‰็ซฏๅผ€ๅ‘็š„ๆ ‡้…ใ€‚\\nๅฎƒ็š„ๆ ธๅฟƒ็†ๅฟต็ฎ€ๆด่€Œไผ˜้›…๏ผšๅƒๆญ็งฏๆœจไธ€ๆ ท๏ผŒๅฐ†ๅบžๅคงๅคๆ‚็š„็ณป็ปŸๆ‹†่งฃไธบไธ€ไธชไธช็‹ฌ็ซ‹ใ€ๅŠŸ่ƒฝๅ•ไธ€ไธ”ๅฏๅค็”จ็š„ๆจกๅ—๏ผŒ่ฎฉๆฏไธชๆจกๅ—ๅ„ๅธๅ…ถ่Œ๏ผŒๅ†้€š่ฟ‡ๆ ‡ๅ‡†ๆŽฅๅฃ็ตๆดป็ป„ๅˆใ€‚\\n 2. ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ\\nๅœจๆทฑๅ…ฅ็†่ฎบไน‹ๅ‰๏ผŒ่ฎฉๆˆ‘ไปฌๅ…ˆ้€š่ฟ‡ไธ€ไธช็ฎ€ๅ•็š„ JavaScript ็คบไพ‹๏ผŒ็›ด่ง‚ๅœฐๆ„Ÿๅ—ไธ€ไธ‹ไป€ไนˆๆ˜ฏๆจกๅ—ๅŒ–ใ€‚ๅ‡่ฎพๆˆ‘ไปฌ้œ€่ฆๅค„็†ไธ€ไบ›ๆ•ฐๅญฆ่ฟ็ฎ—๏ผŒๆˆ‘ไปฌๅฏไปฅๅฐ†ๅ…ถๅฐ่ฃ…ๆˆไธ€ไธช็‹ฌ็ซ‹็š„ๅทฅๅ…ทๆจกๅ—๏ผš\\n```javascript\\n// math.js - ๅฎšไน‰ไธ€ไธชๆ•ฐๅญฆๅทฅๅ…ทๆจกๅ—\\nexp\"}],\"modularization\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€\",\"frontmatter\":{\"date\":\"2024-05-12 22:43:28\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ๏ผšๆฆ‚ๅฟตใ€ๆผ”่ฟ›ไธŽ่ฎพ่ฎกๆจกๅผ\",\"tldr\":\"ไปŽๅ…จๅฑ€ๅ˜้‡ๅˆฐ ES Modules๏ผšJavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›ไธŽๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผๅฎž่ทตใ€‚\",\"description\":\"็ณป็ปŸ่ฎฒ่งฃ JavaScript ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€๏ผŒๆถต็›– IIFEใ€CommonJSใ€ES Modules ่ง„่Œƒๆผ”่ฟ›๏ผŒไปฅๅŠๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผไธŽๆจกๅ—ๅŒ–็š„็ป“ๅˆใ€‚\",\"permalink\":\"/fullstack/frontend-module-programming-basic\",\"tags\":[\"tutorial\",\"javascript\",\"modularization\",\"esm\",\"design-patterns\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ๏ผšๆฆ‚ๅฟตใ€ๆผ”่ฟ›ไธŽ่ฎพ่ฎกๆจกๅผ\",\"date\":\"2024-05-12 22:43:28\",\"capture\":\"1. ๅผ•่จ€\\n้š็€้กน็›ฎ่ง„ๆจกๆ—ฅ็›Š่†จ่ƒ€๏ผŒไปฃ็ ้‡ไปŽๅ‡ ๅƒ่กŒ่ฟ…้€Ÿๅขž้•ฟๅˆฐๆ•ฐไธ‡็”š่‡ณๆ•ฐๅไธ‡่กŒ๏ผŒๅฐ†ๆ‰€ๆœ‰้€ป่พ‘ๅกž่ฟ›ๅฐ‘ๆ•ฐๅ‡ ไธชๆ–‡ไปถ็š„ๅšๆณ•ๆ—ฉๅทฒ้šพไปฅไธบ็ปงใ€‚ๅœจ่ฟ™ๆ ท็š„่ƒŒๆ™ฏไธ‹๏ผŒๆจกๅ—ๅŒ–็ผ–็จ‹ๅบ”่ฟ่€Œ็”Ÿ๏ผŒๆˆไธบ็Žฐไปฃๅ‰็ซฏๅผ€ๅ‘็š„ๆ ‡้…ใ€‚\\nๅฎƒ็š„ๆ ธๅฟƒ็†ๅฟต็ฎ€ๆด่€Œไผ˜้›…๏ผšๅƒๆญ็งฏๆœจไธ€ๆ ท๏ผŒๅฐ†ๅบžๅคงๅคๆ‚็š„็ณป็ปŸๆ‹†่งฃไธบไธ€ไธชไธช็‹ฌ็ซ‹ใ€ๅŠŸ่ƒฝๅ•ไธ€ไธ”ๅฏๅค็”จ็š„ๆจกๅ—๏ผŒ่ฎฉๆฏไธชๆจกๅ—ๅ„ๅธๅ…ถ่Œ๏ผŒๅ†้€š่ฟ‡ๆ ‡ๅ‡†ๆŽฅๅฃ็ตๆดป็ป„ๅˆใ€‚\\n 2. ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ\\nๅœจๆทฑๅ…ฅ็†่ฎบไน‹ๅ‰๏ผŒ่ฎฉๆˆ‘ไปฌๅ…ˆ้€š่ฟ‡ไธ€ไธช็ฎ€ๅ•็š„ JavaScript ็คบไพ‹๏ผŒ็›ด่ง‚ๅœฐๆ„Ÿๅ—ไธ€ไธ‹ไป€ไนˆๆ˜ฏๆจกๅ—ๅŒ–ใ€‚ๅ‡่ฎพๆˆ‘ไปฌ้œ€่ฆๅค„็†ไธ€ไบ›ๆ•ฐๅญฆ่ฟ็ฎ—๏ผŒๆˆ‘ไปฌๅฏไปฅๅฐ†ๅ…ถๅฐ่ฃ…ๆˆไธ€ไธช็‹ฌ็ซ‹็š„ๅทฅๅ…ทๆจกๅ—๏ผš\\n```javascript\\n// math.js - ๅฎšไน‰ไธ€ไธชๆ•ฐๅญฆๅทฅๅ…ทๆจกๅ—\\nexp\"}],\"design-patterns\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—/1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€\",\"frontmatter\":{\"date\":\"2024-05-12 22:43:28\",\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ๏ผšๆฆ‚ๅฟตใ€ๆผ”่ฟ›ไธŽ่ฎพ่ฎกๆจกๅผ\",\"tldr\":\"ไปŽๅ…จๅฑ€ๅ˜้‡ๅˆฐ ES Modules๏ผšJavaScript ๆจกๅ—ๅŒ–ๆผ”่ฟ›ไธŽๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผๅฎž่ทตใ€‚\",\"description\":\"็ณป็ปŸ่ฎฒ่งฃ JavaScript ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€๏ผŒๆถต็›– IIFEใ€CommonJSใ€ES Modules ่ง„่Œƒๆผ”่ฟ›๏ผŒไปฅๅŠๅทฅๅŽ‚ใ€ๅ•ไพ‹ใ€่ง‚ๅฏŸ่€…็ญ‰่ฎพ่ฎกๆจกๅผไธŽๆจกๅ—ๅŒ–็š„็ป“ๅˆใ€‚\",\"permalink\":\"/fullstack/frontend-module-programming-basic\",\"tags\":[\"tutorial\",\"javascript\",\"modularization\",\"esm\",\"design-patterns\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ๏ผšๆฆ‚ๅฟตใ€ๆผ”่ฟ›ไธŽ่ฎพ่ฎกๆจกๅผ\",\"date\":\"2024-05-12 22:43:28\",\"capture\":\"1. ๅผ•่จ€\\n้š็€้กน็›ฎ่ง„ๆจกๆ—ฅ็›Š่†จ่ƒ€๏ผŒไปฃ็ ้‡ไปŽๅ‡ ๅƒ่กŒ่ฟ…้€Ÿๅขž้•ฟๅˆฐๆ•ฐไธ‡็”š่‡ณๆ•ฐๅไธ‡่กŒ๏ผŒๅฐ†ๆ‰€ๆœ‰้€ป่พ‘ๅกž่ฟ›ๅฐ‘ๆ•ฐๅ‡ ไธชๆ–‡ไปถ็š„ๅšๆณ•ๆ—ฉๅทฒ้šพไปฅไธบ็ปงใ€‚ๅœจ่ฟ™ๆ ท็š„่ƒŒๆ™ฏไธ‹๏ผŒๆจกๅ—ๅŒ–็ผ–็จ‹ๅบ”่ฟ่€Œ็”Ÿ๏ผŒๆˆไธบ็Žฐไปฃๅ‰็ซฏๅผ€ๅ‘็š„ๆ ‡้…ใ€‚\\nๅฎƒ็š„ๆ ธๅฟƒ็†ๅฟต็ฎ€ๆด่€Œไผ˜้›…๏ผšๅƒๆญ็งฏๆœจไธ€ๆ ท๏ผŒๅฐ†ๅบžๅคงๅคๆ‚็š„็ณป็ปŸๆ‹†่งฃไธบไธ€ไธชไธช็‹ฌ็ซ‹ใ€ๅŠŸ่ƒฝๅ•ไธ€ไธ”ๅฏๅค็”จ็š„ๆจกๅ—๏ผŒ่ฎฉๆฏไธชๆจกๅ—ๅ„ๅธๅ…ถ่Œ๏ผŒๅ†้€š่ฟ‡ๆ ‡ๅ‡†ๆŽฅๅฃ็ตๆดป็ป„ๅˆใ€‚\\n 2. ๆจกๅ—ๅŒ–็ผ–็จ‹ๅˆไฝ“้ชŒ\\nๅœจๆทฑๅ…ฅ็†่ฎบไน‹ๅ‰๏ผŒ่ฎฉๆˆ‘ไปฌๅ…ˆ้€š่ฟ‡ไธ€ไธช็ฎ€ๅ•็š„ JavaScript ็คบไพ‹๏ผŒ็›ด่ง‚ๅœฐๆ„Ÿๅ—ไธ€ไธ‹ไป€ไนˆๆ˜ฏๆจกๅ—ๅŒ–ใ€‚ๅ‡่ฎพๆˆ‘ไปฌ้œ€่ฆๅค„็†ไธ€ไบ›ๆ•ฐๅญฆ่ฟ็ฎ—๏ผŒๆˆ‘ไปฌๅฏไปฅๅฐ†ๅ…ถๅฐ่ฃ…ๆˆไธ€ไธช็‹ฌ็ซ‹็š„ๅทฅๅ…ทๆจกๅ—๏ผš\\n```javascript\\n// math.js - ๅฎšไน‰ไธ€ไธชๆ•ฐๅญฆๅทฅๅ…ทๆจกๅ—\\nexp\"}],\"็Ÿฅ่ฏ†ๅ‘็Žฐ\":[{\"url\":\"/10.ไบงๅ“ Sense/01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž/11.AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"relativePath\":\"/10.ไบงๅ“ Sense/01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž/11.AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"frontmatter\":{\"date\":\"2024-05-08 08:56:21\",\"title\":\"AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจๅคงๆจกๅž‹้‡ๅก‘ไบ’่”็ฝ‘ไบคไบ’็š„ๅฝ“ไธ‹๏ผŒPerplexity ๅนถๆœช้€‰ๆ‹ฉๆˆไธบโ€œไธ‹ไธ€ไธช Googleโ€๏ผŒ่€Œๆ˜ฏไปฅโ€œ็Ÿฅ่ฏ†ๅ‘็Žฐๅผ•ๆ“Žโ€็š„ๅ…จๆ–ฐๅฎšไฝ๏ผŒ็ฒพๅ‡†ๅˆ‡ๅ…ฅ็Ÿฅ่ฏ†ๅทฅไฝœ่€…็š„ๆ ธๅฟƒๅทฅไฝœๆตใ€‚ๆœฌๆ–‡่ทณๅ‡บๅ•็บฏ็š„ๆจกๅž‹่ƒฝๅŠ›ๅฏนๆฏ”๏ผŒไปŽไบงๅ“ Sense ไธŽๅทฅ็จ‹้€ป่พ‘็š„ๅŒ้‡่ง†่ง’๏ผŒๆทฑๅบฆๆ‹†่งฃ Perplexity ็š„็ ดๅฑ€ไน‹้“ใ€‚ๆˆ‘ไปฌๅฐ†ๆŽข่ฎจๅฎƒๅฆ‚ไฝ•้€š่ฟ‡ๅ็›ด่ง‰็š„ UI ๅˆ›ๆ–ฐ้‡ๅก‘ไบคไบ’่ตท็‚น๏ผŒๅฆ‚ไฝ•ๅœจๅทฅ็จ‹ๅฑ‚้ขๆญป็ฃ•ๅฐพ้ƒจๅปถ่ฟŸไธŽๅนป่ง‰ๆŽงๅˆถ๏ผŒไปฅๅŠๅฎƒๅฆ‚ไฝ•ๅˆฉ็”จๅทจๅคด็š„ๅˆฉๆถฆ็އๆŠคๅŸŽๆฒณๅฎž็Žฐ้”™ไฝ็ซžไบ‰ใ€‚ๆœ€็ปˆ๏ผŒๆˆ‘ไปฌๅฐ†่ง†็บฟๆŠ•ๅ‘ๆœชๆฅ๏ผŒไธ€็ชฅ AI ไปŽ่ขซๅŠจๅ“ๅบ”่ตฐๅ‘ไธปๅŠจๆŽข็ดข็š„ๆผ”่ฟ›่“ๅ›พใ€‚\",\"permalink\":\"/product-sense/perplexity-knowledge-worker\",\"categories\":[\"ไบงๅ“ Sense\"],\"tags\":[\"AI ๆœ็ดข\",\"็Ÿฅ่ฏ†ๅ‘็Žฐ\",\"ไบงๅ“ Sense\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"AI-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšPerplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€…\",\"date\":\"2024-05-08 08:56:21\",\"capture\":\"1. ๅผ•่จ€\\nๅœจ AI ๆตชๆฝฎไธ‹๏ผŒๆœ็ดขๅผ•ๆ“Ž็š„่Œƒๅผๆญฃๅœจๅ‘็”Ÿ่ฝฌ็งปใ€‚ไฝœไธบๅฝ“ๅ‰ๅค‡ๅ—็žฉ็›ฎ็š„ AI ๆœ็ดขไบงๅ“๏ผŒPerplexity ๅนถๆฒกๆœ‰่ฏ•ๅ›พๆˆไธบโ€œไธ‹ไธ€ไธช Googleโ€๏ผŒ่€Œๆ˜ฏๅฐ†่‡ชๅทฑๅฎšไน‰ไธบ็Ÿฅ่ฏ†ๅ‘็Žฐๅผ•ๆ“Žใ€‚\\nๅฏนไบŽๆฏๅคฉ้œ€่ฆๅค„็†ๆตท้‡ไฟกๆฏใ€่ฟ›่กŒๅคๆ‚ๅ†ณ็ญ–็š„็Ÿฅ่ฏ†ๅทฅไฝœ่€…่€Œ่จ€๏ผŒๅฆ‚ไฝ•้ซ˜ๆ•ˆๅœฐโ€œๅŽปๅ™ชโ€ๅนถ่Žทๅ–้ซ˜ไฟกๅบฆ็Ÿฅ่ฏ†ๆ˜ฏๆ ธๅฟƒ่ฏ‰ๆฑ‚ใ€‚็ฌ”่€…ๅฐ†ไปŽไบงๅ“ไบคไบ’ใ€ๆŠ€ๆœฏๅทฅ็จ‹ใ€ๅ•†ไธš้€ป่พ‘ไธŽๆœชๆฅๆผ”่ฟ›ๅ››ไธช็ปดๅบฆ๏ผŒๅˆ†ๆž Perplexity ๆ˜ฏๅฆ‚ไฝ•้‡ๅก‘ไฟกๆฏ่Žทๅ–ๅทฅไฝœๆต็š„ใ€‚\\nๆœฌๆ–‡ๆ—จๅœจ้€š่ฟ‡ๅฏน Perplexity ็š„ๆทฑๅบฆไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž๏ผŒๅธฎๅŠฉ่ฏป่€…็†่งฃ AI ๆœ็ดขไบงๅ“็š„่ฎพ่ฎก้€ป่พ‘ไธŽ็”จๆˆทไฝ“้ชŒไผ˜ๅŒ–่ทฏๅพ„๏ผŒๅŒๆ—ถไธบ็Ÿฅ่ฏ†ๅทฅไฝœ่€…ๆไพ›ๅฏ่ฝๅœฐ็š„ๆ•ˆ็އๆๅ‡ๆ–นๆณ•๏ผŒๅนถๅœจ่ฟ‡็จ‹ไธญๅŸนๅ…ป็ป“ๆž„ๅŒ–ไบงๅ“ๅˆ†ๆžๆ€็ปดใ€‚\\n\"}],\"engineering-fundamentals\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2024-03-20 22:41:41\",\"title\":\"ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ๅœจ้œ€ๆฑ‚่พน็•Œๅ†…่ฟฝๆฑ‚ๆœ€ๅฐๅคๆ‚ๅบฆโ€”โ€”ไธๆ˜ฏๆ‹’็ปๅคๆ‚๏ผŒ่€Œๆ˜ฏไธไธปๅŠจๅˆถ้€ ๅคๆ‚ใ€‚\",\"description\":\"ๆทฑๅ…ฅ่งฃๆžๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™ๅœจ็ผ–็จ‹ไธŽ่ฎพ่ฎกไธญ็š„ๅ…ญๅคงๅœบๆ™ฏ๏ผšๆ‹’็ป่ฟ‡ๅบฆ้ข„ๅˆคใ€็งป้™คๅ†—ไฝ™้€ป่พ‘ใ€ๅŒน้…ๆžถๆž„่ง„ๆจกใ€ๅ…‹ๅˆถไพ่ต–ๅผ•ๅ…ฅใ€ๅฐ่ฃ…ๆœ€ๅฐๆŽฅๅฃใ€ๅ…ˆๆŽ’ๆŸฅ็ฎ€ๅ•ๅŽŸๅ› ๏ผŒๅนถ็ป™ๅ‡บไธ‰ไธชๅ…ณ้”ฎ่พน็•Œใ€‚\",\"permalink\":\"/fullstack/occams-razor-software-design\",\"tags\":[\"concept\",\"engineering-fundamentals\",\"code-design\",\"software-engineering\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2024-03-20 22:41:41\",\"capture\":\"<script setup\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n> ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™็”ฑ 14 ไธ–็บช้€ป่พ‘ๅญฆๅฎถๅจๅป‰ยทๅฅฅๅกๅง†ๆๅ‡บ๏ผŒๅ…ถๆ ธๅฟƒไธบ\\\"ๅฆ‚ๆ— ๅฟ…่ฆ๏ผŒๅ‹ฟๅขžๅฎžไฝ“\\\"โ€”โ€”ๅœจๅคšไธชๅŒ็ญ‰ๆœ‰ๆ•ˆ็š„ๆ–นๆกˆไธญ๏ผŒ้€‰ๆ‹ฉๅ‡่ฎพๆœ€ๅฐ‘ใ€ๆœ€็ฎ€ๆด็š„้‚ฃไธชใ€‚่ฏฅๅŽŸๅˆ™ๅนถ้žๅฆๅฎšๅคๆ‚ๆ€ง๏ผŒ่€Œๆ˜ฏ้ฟๅ…ๆ— ๆ„ไน‰็š„่ฟ‡ๅบฆ่ฎพ่ฎกใ€‚ๆ–‡็ซ ไปŽ็ผ–็จ‹ไธŽ่ฎพ่ฎกๅฎž่ทตๅ‡บๅ‘๏ผŒไพๆฌกๆŽข่ฎจไบ†้œ€ๆฑ‚ๅฎž็Žฐใ€ไปฃ็ ๅฎž็Žฐใ€ๆžถๆž„่ฎพ่ฎกใ€ไพ่ต–็ฎก็†ใ€ๆŽฅๅฃ่ฎพ่ฎกใ€่ฐƒ่ฏ•ไผ˜ๅŒ–ๅ…ญๅคงๅœบๆ™ฏ็š„ๅไพ‹ไธŽๆญฃไพ‹๏ผŒๅนถๆ˜Ž็กฎๆŒ‡ๅ‡บไธ‰ไธชๅ…ณ้”ฎ่พน็•Œ๏ผšไธๅฏ็‰บ็‰ฒๅฏ็ปดๆŠคๆ€งใ€ๅฏๆ‰ฉๅฑ•ๆ€งใ€ๅฎ‰ๅ…จๆ€งๆขๅ–็ฎ€ๆดใ€‚\\n 1.\"}],\"code-design\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2024-03-20 22:41:41\",\"title\":\"ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ๅœจ้œ€ๆฑ‚่พน็•Œๅ†…่ฟฝๆฑ‚ๆœ€ๅฐๅคๆ‚ๅบฆโ€”โ€”ไธๆ˜ฏๆ‹’็ปๅคๆ‚๏ผŒ่€Œๆ˜ฏไธไธปๅŠจๅˆถ้€ ๅคๆ‚ใ€‚\",\"description\":\"ๆทฑๅ…ฅ่งฃๆžๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™ๅœจ็ผ–็จ‹ไธŽ่ฎพ่ฎกไธญ็š„ๅ…ญๅคงๅœบๆ™ฏ๏ผšๆ‹’็ป่ฟ‡ๅบฆ้ข„ๅˆคใ€็งป้™คๅ†—ไฝ™้€ป่พ‘ใ€ๅŒน้…ๆžถๆž„่ง„ๆจกใ€ๅ…‹ๅˆถไพ่ต–ๅผ•ๅ…ฅใ€ๅฐ่ฃ…ๆœ€ๅฐๆŽฅๅฃใ€ๅ…ˆๆŽ’ๆŸฅ็ฎ€ๅ•ๅŽŸๅ› ๏ผŒๅนถ็ป™ๅ‡บไธ‰ไธชๅ…ณ้”ฎ่พน็•Œใ€‚\",\"permalink\":\"/fullstack/occams-razor-software-design\",\"tags\":[\"concept\",\"engineering-fundamentals\",\"code-design\",\"software-engineering\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2024-03-20 22:41:41\",\"capture\":\"<script setup\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n> ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™็”ฑ 14 ไธ–็บช้€ป่พ‘ๅญฆๅฎถๅจๅป‰ยทๅฅฅๅกๅง†ๆๅ‡บ๏ผŒๅ…ถๆ ธๅฟƒไธบ\\\"ๅฆ‚ๆ— ๅฟ…่ฆ๏ผŒๅ‹ฟๅขžๅฎžไฝ“\\\"โ€”โ€”ๅœจๅคšไธชๅŒ็ญ‰ๆœ‰ๆ•ˆ็š„ๆ–นๆกˆไธญ๏ผŒ้€‰ๆ‹ฉๅ‡่ฎพๆœ€ๅฐ‘ใ€ๆœ€็ฎ€ๆด็š„้‚ฃไธชใ€‚่ฏฅๅŽŸๅˆ™ๅนถ้žๅฆๅฎšๅคๆ‚ๆ€ง๏ผŒ่€Œๆ˜ฏ้ฟๅ…ๆ— ๆ„ไน‰็š„่ฟ‡ๅบฆ่ฎพ่ฎกใ€‚ๆ–‡็ซ ไปŽ็ผ–็จ‹ไธŽ่ฎพ่ฎกๅฎž่ทตๅ‡บๅ‘๏ผŒไพๆฌกๆŽข่ฎจไบ†้œ€ๆฑ‚ๅฎž็Žฐใ€ไปฃ็ ๅฎž็Žฐใ€ๆžถๆž„่ฎพ่ฎกใ€ไพ่ต–็ฎก็†ใ€ๆŽฅๅฃ่ฎพ่ฎกใ€่ฐƒ่ฏ•ไผ˜ๅŒ–ๅ…ญๅคงๅœบๆ™ฏ็š„ๅไพ‹ไธŽๆญฃไพ‹๏ผŒๅนถๆ˜Ž็กฎๆŒ‡ๅ‡บไธ‰ไธชๅ…ณ้”ฎ่พน็•Œ๏ผšไธๅฏ็‰บ็‰ฒๅฏ็ปดๆŠคๆ€งใ€ๅฏๆ‰ฉๅฑ•ๆ€งใ€ๅฎ‰ๅ…จๆ€งๆขๅ–็ฎ€ๆดใ€‚\\n 1.\"}],\"software-engineering\":[{\"url\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"relativePath\":\"/01.ๅ…จๆ ˆ/80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป/00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"frontmatter\":{\"date\":\"2024-03-20 22:41:41\",\"title\":\"ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"tldr\":\"ๅœจ้œ€ๆฑ‚่พน็•Œๅ†…่ฟฝๆฑ‚ๆœ€ๅฐๅคๆ‚ๅบฆโ€”โ€”ไธๆ˜ฏๆ‹’็ปๅคๆ‚๏ผŒ่€Œๆ˜ฏไธไธปๅŠจๅˆถ้€ ๅคๆ‚ใ€‚\",\"description\":\"ๆทฑๅ…ฅ่งฃๆžๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™ๅœจ็ผ–็จ‹ไธŽ่ฎพ่ฎกไธญ็š„ๅ…ญๅคงๅœบๆ™ฏ๏ผšๆ‹’็ป่ฟ‡ๅบฆ้ข„ๅˆคใ€็งป้™คๅ†—ไฝ™้€ป่พ‘ใ€ๅŒน้…ๆžถๆž„่ง„ๆจกใ€ๅ…‹ๅˆถไพ่ต–ๅผ•ๅ…ฅใ€ๅฐ่ฃ…ๆœ€ๅฐๆŽฅๅฃใ€ๅ…ˆๆŽ’ๆŸฅ็ฎ€ๅ•ๅŽŸๅ› ๏ผŒๅนถ็ป™ๅ‡บไธ‰ไธชๅ…ณ้”ฎ่พน็•Œใ€‚\",\"permalink\":\"/fullstack/occams-razor-software-design\",\"tags\":[\"concept\",\"engineering-fundamentals\",\"code-design\",\"software-engineering\"],\"categories\":[\"ๅ…จๆ ˆ\",\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—\",\"date\":\"2024-03-20 22:41:41\",\"capture\":\"<script setup\\nimport HighLightText from '@fragment/components/HighLightText.vue'\\n</script>\\n> ๆ‘˜่ฆๆ€ป็ป“๏ผšๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™็”ฑ 14 ไธ–็บช้€ป่พ‘ๅญฆๅฎถๅจๅป‰ยทๅฅฅๅกๅง†ๆๅ‡บ๏ผŒๅ…ถๆ ธๅฟƒไธบ\\\"ๅฆ‚ๆ— ๅฟ…่ฆ๏ผŒๅ‹ฟๅขžๅฎžไฝ“\\\"โ€”โ€”ๅœจๅคšไธชๅŒ็ญ‰ๆœ‰ๆ•ˆ็š„ๆ–นๆกˆไธญ๏ผŒ้€‰ๆ‹ฉๅ‡่ฎพๆœ€ๅฐ‘ใ€ๆœ€็ฎ€ๆด็š„้‚ฃไธชใ€‚่ฏฅๅŽŸๅˆ™ๅนถ้žๅฆๅฎšๅคๆ‚ๆ€ง๏ผŒ่€Œๆ˜ฏ้ฟๅ…ๆ— ๆ„ไน‰็š„่ฟ‡ๅบฆ่ฎพ่ฎกใ€‚ๆ–‡็ซ ไปŽ็ผ–็จ‹ไธŽ่ฎพ่ฎกๅฎž่ทตๅ‡บๅ‘๏ผŒไพๆฌกๆŽข่ฎจไบ†้œ€ๆฑ‚ๅฎž็Žฐใ€ไปฃ็ ๅฎž็Žฐใ€ๆžถๆž„่ฎพ่ฎกใ€ไพ่ต–็ฎก็†ใ€ๆŽฅๅฃ่ฎพ่ฎกใ€่ฐƒ่ฏ•ไผ˜ๅŒ–ๅ…ญๅคงๅœบๆ™ฏ็š„ๅไพ‹ไธŽๆญฃไพ‹๏ผŒๅนถๆ˜Ž็กฎๆŒ‡ๅ‡บไธ‰ไธชๅ…ณ้”ฎ่พน็•Œ๏ผšไธๅฏ็‰บ็‰ฒๅฏ็ปดๆŠคๆ€งใ€ๅฏๆ‰ฉๅฑ•ๆ€งใ€ๅฎ‰ๅ…จๆ€งๆขๅ–็ฎ€ๆดใ€‚\\n 1.\"}],\"่ฟๅŠจ\":[{\"url\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/20.ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹้˜ถๆฎต้š็ฌ”ๆฑ‡ๆ€ป\",\"relativePath\":\"/40.ๅ…ณไบŽ/30.ๆˆ้•ฟ้š็ฌ”/20.ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹้˜ถๆฎต้š็ฌ”ๆฑ‡ๆ€ป\",\"frontmatter\":{\"date\":\"2022-09-12 08:16:00\",\"title\":\"็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ”นๅ–„็š„ๆ–นๅผๆŽจๅŠจๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹\",\"description\":\"ๆ‘˜่ฆๆ€ป็ป“๏ผšไปŽโ€œไนฆ็”Ÿๆ„ๆฐ”โ€ๅˆฐๅˆๅ…ฅ็คพไผš็š„โ€œไธญๅนดๆฒน่…ปโ€ๅฑๆœบ๏ผŒไธ€ๆฌกๅฅๅบท่ญฆๆŠฅ่ฎฉ็ฌ”่€…ๅผ€ๅฏไบ†่ฟ™ๅœบๆทฑๅˆป็š„่‡ชๆˆ‘ๅฏน่ฏไธŽ่กŒๅŠจใ€‚ๆœฌๆ–‡่ฏฆ็ป†ๅค็›˜ไบ†็ฌ”่€…ไปŽๅฅๅบทๅฑๆœบๅ‡บๅ‘๏ผŒ้€š่ฟ‡ๅ››ไธช้˜ถๆฎต็š„ๅพชๅบๆธ่ฟ›๏ผŒๆˆๅŠŸๅฎž็Žฐไฝ“้‡็ฎก็†็š„่ฟ‡็จ‹ใ€‚ๅŒบๅˆซไบŽ็›ฒ็›ฎ่ทŸ้ฃŽ๏ผŒ็ฌ”่€…ๅœจๅฎž่ทตไธญๅผ•ๅ…ฅไบ†็›ฎๆ ‡ๆ‹†่งฃใ€ๆ•ฐๆฎ็›‘ๆŽง๏ผˆไฝ“่„‚็งคๆŒ‡ๆ ‡๏ผ‰ใ€่ทจ้ข†ๅŸŸ็ป้ชŒ่ฟ็งป๏ผˆๅฆ‚้กน็›ฎ็ฎก็†ใ€ๆ—ถ้—ด็ฎก็†๏ผ‰ไปฅๅŠๅฏนไธๅŒ็ญ–็•ฅ๏ผˆๅฆ‚ๆŽงๅˆถ้ฅฎ้ฃŸใ€ๅŠ ๅคงๆ— ๆฐง่ฟๅŠจใ€ๅฐ่ฏ•ไธๅƒไธป้ฃŸ๏ผ‰็š„่พฉ่ฏ้‡‡็บณใ€‚่ฟ™ไธไป…ๆ˜ฏไธ€ไปฝๅ‡่‚ฅ่ฎฐๅฝ•๏ผŒๆ›ดๆ˜ฏไธ€ๆฌก็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ€็ปด้‡ๆž„็”Ÿๆดป็งฉๅบใ€ๅฎž็Žฐ่บซๅฟƒๅ‡็บง็š„ๅฎžๆ“ๆŒ‡ๅ—ใ€‚\",\"permalink\":\"/growth/weight-loss\",\"coverImg\":\"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/img/cover/health_bg.png\",\"top\":true,\"tags\":[\"ๅฅๅบท\",\"่ฟๅŠจ\"],\"categories\":[\"ไธชไบบๆˆ้•ฟ\"]},\"author\":{\"name\":\"sqliang\",\"link\":\"https://github.com/sqliang\"},\"title\":\"็”จ็ง‘ๅญฆไธŽ่ฟญไปฃๆ”นๅ–„็š„ๆ–นๅผๆŽจๅŠจๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹\",\"date\":\"2022-09-12 08:16:00\",\"capture\":\"ๅ†™ๅœจๅ‰้ข\\nๅœจ็ปๆตŽๅฟซ้€Ÿๅ‘ๅฑ•็š„ๅคง่ƒŒๆ™ฏไธ‹๏ผŒไธ€ๆ‰นๅˆไธ€ๆ‰น็š„ๅคงๅญฆ็”Ÿ้™†็ปญ่ตฐๅ‡บๆ ก้—จ่ฟ›ๅ…ฅ็คพไผšๅคง่ˆžๅฐใ€‚้š็€ๅนด้พ„ไธŽๅทฅไฝœๅนด้™็š„ๅขž้•ฟ๏ผŒไธ็Ÿฅ็ฝฎ่บซไบŽๅ…ถไธญ็š„ไฝ ๆ˜ฏๅฆๆ„Ÿๆ…จ่ฟ‡่‡ชๅทฑๅœจ้˜…ๅކไธŠไปŽโ€œไนฆ็”Ÿๆ„ๆฐ”โ€ๆธๆธๆผ”ๅ˜ไธบโ€œๅ››ๅนณๅ…ซ็จณ๏ผŒๆธธๅˆƒๆœ‰ไฝ™โ€๏ผ›ๅœจ่บซไฝ“ๅ…ปๆŠคๆ–น้ขไปŽโ€œ่บซๆๆ— ๆ•Œ๏ผŒๅนด้พ„ๆˆ่ฟท๏ผŒๅฎžๆ‰“ๅฎžไธ€ไธชไผ ๅฅ‡โ€ๆผ”ๅ˜ไธบโ€œไธญๅนดๆฒน่…ปโ€ใ€‚ๆฏไธชไบบๅคšๅฐ‘้ƒฝๆœ‰่‡ชๅทฑ็š„็ญ”ๆกˆ๏ผŒ็ฌ”่€…็š„็ญ”ๆกˆๆ˜ฏ๏ผš่ตฐๅ‡บๆ ก้—จ่ฟ›ๅ…ฅ็คพไผšๅŽ๏ผŒๅฝ“ๅˆๅฏน่บซ่พนไบบๆœ‰็‚น่‹›ๅˆป๏ผŒ้‡ไบ‹็ซๆ€ฅ็ซ็‡Ž็š„่‡ชๅทฑ้€ๆธๅพ—ๅˆฐไบ†ๆ”นๅ–„ใ€‚่บซไฝ“ๅดๅ› ๅŽŸๆœฌๅœจๅคงๅญฆๆ—ถๆฒกๆœ‰ๆ€Žไนˆๅœจๆ„๏ผŒ็ป่ฟ‡้•ฟๅนด็ดฏๆœˆๅœฐๆด—็คผไบฎไบ†ไธ€ๆฌกๅฐ็บข็ฏใ€‚ๅœจๅบทๅคๆœŸ้—ด๏ผŒไธๆญขไธ€ๆฌกๅๆ€่ฟ‡ไน‹ๅ‰็š„็”Ÿๆดปๆ–นๅผๅ’Œๅ…ฅไธ–ๆจกๅผ๏ผŒๆƒณไธ€ๆƒณ + ๅ››ๅค„็œ‹ไธ€็œ‹ๅŽ๏ผŒๆ…ขๆ…ขไนŸๅฐฑๅผ€ๆ‚Ÿไบ†๏ผŒ่‡ช็„ถ่ฆๅฏๅŠจไธ€ไบ›ๆ”นๅ˜ๅฐ่ฏ•ใ€‚\\nๅ› ๆญค๏ผŒไนŸๅฐฑๆœ‰ไบ†่ฟ™็ฏ‡ๅ‡่‚ฅ่ฟ™ไปถ\"}]}},\"groupCards\":{\"categories\":[{\"name\":\"AI ๅญฆไน ไธŽๅฎž่ทต\",\"length\":5},{\"name\":\"Agent ็ณปๅˆ—\",\"length\":1},{\"name\":\"ๅ…จๆ ˆ\",\"length\":21},{\"name\":\"ไบงๅ“ Sense\",\"length\":7},{\"name\":\"AI\",\"length\":2},{\"name\":\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\",\"length\":1},{\"name\":\"ไธชไบบๆˆ้•ฟ\",\"length\":3},{\"name\":\"ai-practice\",\"length\":4},{\"name\":\"็ฝ‘็ปœไธŽ้€šไฟก\",\"length\":3},{\"name\":\"ๅ‰็ซฏๅทฅ็จ‹\",\"length\":3},{\"name\":\"่ต„ๆบๆŽจ่\",\"length\":5},{\"name\":\"ๅ…ณไบŽ\",\"length\":1},{\"name\":\"ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป\",\"length\":10},{\"name\":\"ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—\",\"length\":7},{\"name\":\"growth\",\"length\":1}],\"tags\":[{\"name\":\"Agent SDK\",\"length\":2},{\"name\":\"Multi-Agent\",\"length\":1},{\"name\":\"Agent Skills\",\"length\":1},{\"name\":\"Agent\",\"length\":6},{\"name\":\"AI\",\"length\":12},{\"name\":\"ๅ…จๆ ˆ\",\"length\":7},{\"name\":\"ไบงๅ“\",\"length\":1},{\"name\":\"ๆ‚ฆ่ฏปๆ—ถๅ…‰\",\"length\":3},{\"name\":\"็ณป็ปŸๆ€็ปด\",\"length\":1},{\"name\":\"ๆ•ฐๅญฆๆ€็ปด\",\"length\":1},{\"name\":\"ๆจกๅž‹ๆ€็ปด\",\"length\":1},{\"name\":\"็–ซๆƒ…\",\"length\":2},{\"name\":\"ๅฅๅบท\",\"length\":2},{\"name\":\"ๆ—ถ้—ด\",\"length\":1},{\"name\":\"่ฟœ็จ‹ๅไฝœ\",\"length\":1},{\"name\":\"LLM\",\"length\":1},{\"name\":\"CSS\",\"length\":1},{\"name\":\"ๅทฅ็จ‹ๅŒ–\",\"length\":1},{\"name\":\"tailwindcss\",\"length\":1},{\"name\":\"tutorial\",\"length\":8},{\"name\":\"SSE\",\"length\":2},{\"name\":\"HTTP Streaming\",\"length\":1},{\"name\":\"HTTP ่ฝฎ่ฏข\",\"length\":2},{\"name\":\"้€€้ฟ่ฝฎ่ฏข\",\"length\":1},{\"name\":\"้•ฟ่ฝฎ่ฏข\",\"length\":1},{\"name\":\"HTTP\",\"length\":1},{\"name\":\"WebSocket\",\"length\":1},{\"name\":\"Webhooks\",\"length\":1},{\"name\":\"AI Agent\",\"length\":1},{\"name\":\"react\",\"length\":1},{\"name\":\"component-design\",\"length\":1},{\"name\":\"state-management\",\"length\":1},{\"name\":\"ai-augmented\",\"length\":1},{\"name\":\"specification-driven\",\"length\":1},{\"name\":\"่ต„ๆบๆŽจ่\",\"length\":5},{\"name\":\"LLM API\",\"length\":1},{\"name\":\"AI Coding\",\"length\":1},{\"name\":\"Vibe Coding\",\"length\":1},{\"name\":\"Agentic Engineering\",\"length\":1},{\"name\":\"AI ๅŠฉๆ‰‹\",\"length\":1},{\"name\":\"AI ๆœ็ดข\",\"length\":2},{\"name\":\"ไบงๅ“ Sense\",\"length\":4},{\"name\":\"ๅ•†ไธšๅŒ–\",\"length\":1},{\"name\":\"SWR\",\"length\":1},{\"name\":\"TanStack Query\",\"length\":1},{\"name\":\"ๅ‰็ซฏๅทฅ็จ‹\",\"length\":1},{\"name\":\"jamstack\",\"length\":1},{\"name\":\"frontend-architecture\",\"length\":1},{\"name\":\"next.js\",\"length\":1},{\"name\":\"static-site-generator\",\"length\":1},{\"name\":\"็ณป็ปŸๆดžๅฏŸๅŠ›\",\"length\":1},{\"name\":\"ไฟกๆฏ็ญ›้€‰\",\"length\":1},{\"name\":\"ไธชไบบๆˆ้•ฟ\",\"length\":1},{\"name\":\"typescript\",\"length\":3},{\"name\":\"generics\",\"length\":1},{\"name\":\"type-system\",\"length\":1},{\"name\":\"compilation\",\"length\":1},{\"name\":\"tooling\",\"length\":1},{\"name\":\"eslint\",\"length\":1},{\"name\":\"jest\",\"length\":1},{\"name\":\"ๆˆ้•ฟ\",\"length\":1},{\"name\":\"ESM\",\"length\":3},{\"name\":\"DDD\",\"length\":1},{\"name\":\"ๅพฎๅ‰็ซฏ\",\"length\":1},{\"name\":\"concept\",\"length\":5},{\"name\":\"node.js\",\"length\":1},{\"name\":\"commonjs\",\"length\":1},{\"name\":\"esm\",\"length\":2},{\"name\":\"monorepo\",\"length\":1},{\"name\":\"layered-architecture\",\"length\":1},{\"name\":\"solid-principles\",\"length\":1},{\"name\":\"code-organization\",\"length\":1},{\"name\":\"best-practices\",\"length\":1},{\"name\":\"naming-conventions\",\"length\":1},{\"name\":\"tsconfig\",\"length\":1},{\"name\":\"static-analysis\",\"length\":1},{\"name\":\"Tree-Shaking\",\"length\":1},{\"name\":\"circular-dependency\",\"length\":1},{\"name\":\"CommonJS\",\"length\":1},{\"name\":\"AMD\",\"length\":1},{\"name\":\"UMD\",\"length\":1},{\"name\":\"javascript\",\"length\":1},{\"name\":\"modularization\",\"length\":1},{\"name\":\"design-patterns\",\"length\":1},{\"name\":\"็Ÿฅ่ฏ†ๅ‘็Žฐ\",\"length\":1},{\"name\":\"engineering-fundamentals\",\"length\":1},{\"name\":\"code-design\",\"length\":1},{\"name\":\"software-engineering\",\"length\":1},{\"name\":\"่ฟๅŠจ\",\"length\":1}]}}},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":true,\"additionalConfig\":{}}")); \ No newline at end of file diff --git a/assets/chunks/vitepress-theme-teek.CJu9alwu.js b/assets/chunks/vitepress-theme-teek.CqY1sKvl.js similarity index 99% rename from assets/chunks/vitepress-theme-teek.CJu9alwu.js rename to assets/chunks/vitepress-theme-teek.CqY1sKvl.js index 2b36aa46..307614b6 100644 --- a/assets/chunks/vitepress-theme-teek.CJu9alwu.js +++ b/assets/chunks/vitepress-theme-teek.CqY1sKvl.js @@ -1,6 +1,6 @@ function ln(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const Le={},fo=[],Ht=()=>{},ao=()=>!1,Ys=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),ic=e=>e.startsWith("onUpdate:"),Ie=Object.assign,rc=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},A2=Object.prototype.hasOwnProperty,De=(e,t)=>A2.call(e,t),ce=Array.isArray,ho=e=>Io(e)==="[object Map]",Gs=e=>Io(e)==="[object Set]",Hu=e=>Io(e)==="[object Date]",$2=e=>Io(e)==="[object RegExp]",ye=e=>typeof e=="function",_e=e=>typeof e=="string",Gt=e=>typeof e=="symbol",Ue=e=>e!==null&&typeof e=="object",ac=e=>(Ue(e)||ye(e))&&ye(e.then)&&ye(e.catch),n1=Object.prototype.toString,Io=e=>n1.call(e),L2=e=>Io(e).slice(8,-1),Qr=e=>Io(e)==="[object Object]",lc=e=>_e(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Cs=ln(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),I2=ln("bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo"),Zr=e=>{const t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},P2=/-\w/g,tt=Zr(e=>e.replace(P2,t=>t.slice(1).toUpperCase())),M2=/\B([A-Z])/g,Kt=Zr(e=>e.replace(M2,"-$1").toLowerCase()),Js=Zr(e=>e.charAt(0).toUpperCase()+e.slice(1)),po=Zr(e=>e?`on${Js(e)}`:""),Ot=(e,t)=>!Object.is(e,t),mo=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:s,value:n})},ea=e=>{const t=parseFloat(e);return isNaN(t)?e:t},kr=e=>{const t=_e(e)?Number(e):NaN;return isNaN(t)?e:t};let zu;const ta=()=>zu||(zu=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{}),F2="Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error,Symbol",B2=ln(F2);function Fe(e){if(ce(e)){const t={};for(let n=0;n{if(n){const s=n.split(V2);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function T(e){let t="";if(_e(e))t=e;else if(ce(e))for(let n=0;nxs(n,t))}const r1=e=>!!(e&&e.__v_isRef===!0),W=e=>_e(e)?e:e==null?"":ce(e)||Ue(e)&&(e.toString===n1||!ye(e.toString))?r1(e)?W(e.value):JSON.stringify(e,a1,2):String(e),a1=(e,t)=>r1(t)?a1(e,t.value):ho(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,o],i)=>(n[Pa(s,i)+" =>"]=o,n),{})}:Gs(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Pa(n))}:Gt(t)?Pa(t):Ue(t)&&!ce(t)&&!Qr(t)?String(t):t,Pa=(e,t="")=>{var n;return Gt(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};function J2(e){return e==null?"initial":typeof e=="string"?e===""?" ":e:String(e)}let $t;class cc{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=$t,!t&&$t&&(this.index=($t.scopes||($t.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t0&&--this._on===0&&($t=this.prevScope,this.prevScope=void 0)}stop(t){if(this._active){this._active=!1;let n,s;for(n=0,s=this.effects.length;n0)return;if(Go){let t=Go;for(Go=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;Yo;){let t=Yo;for(Yo=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(s){e||(e=s)}t=n}}if(e)throw e}function f1(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function d1(e){let t,n=e.depsTail,s=n;for(;s;){const o=s.prevDep;s.version===-1?(s===n&&(n=o),hc(s),X2(s)):t=s,s.dep.activeLink=s.prevActiveLink,s.prevActiveLink=void 0,s=o}e.deps=t,e.depsTail=n}function ol(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(h1(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function h1(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===ii)||(e.globalVersion=ii,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!ol(e))))return;e.flags|=2;const t=e.dep,n=Qe,s=xn;Qe=e,xn=!0;try{f1(e);const o=e.fn(e._value);(t.version===0||Ot(o,e._value))&&(e.flags|=128,e._value=o,t.version++)}catch(o){throw t.version++,o}finally{Qe=n,xn=s,d1(e),e.flags&=-3}}function hc(e,t=!1){const{dep:n,prevSub:s,nextSub:o}=e;if(s&&(s.nextSub=o,e.prevSub=void 0),o&&(o.prevSub=s,e.nextSub=void 0),n.subs===e&&(n.subs=s,!s&&n.computed)){n.computed.flags&=-5;for(let i=n.computed.deps;i;i=i.nextDep)hc(i,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function X2(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}function Q2(e,t){e.effect instanceof oi&&(e=e.effect.fn);const n=new oi(e);t&&Ie(n,t);try{n.run()}catch(o){throw n.stop(),o}const s=n.run.bind(n);return s.effect=n,s}function Z2(e){e.effect.stop()}let xn=!0;const p1=[];function ss(){p1.push(xn),xn=!1}function os(){const e=p1.pop();xn=e===void 0?!0:e}function ju(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=Qe;Qe=void 0;try{t()}finally{Qe=n}}}let ii=0;class em{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class sa{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!Qe||!xn||Qe===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==Qe)n=this.activeLink=new em(Qe,this),Qe.deps?(n.prevDep=Qe.depsTail,Qe.depsTail.nextDep=n,Qe.depsTail=n):Qe.deps=Qe.depsTail=n,m1(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const s=n.nextDep;s.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=s),n.prevDep=Qe.depsTail,n.nextDep=void 0,Qe.depsTail.nextDep=n,Qe.depsTail=n,Qe.deps===n&&(Qe.deps=s)}return n}trigger(t){this.version++,ii++,this.notify(t)}notify(t){fc();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{dc()}}}function m1(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let s=t.deps;s;s=s.nextDep)m1(s)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const wr=new WeakMap,Os=Symbol(""),il=Symbol(""),ri=Symbol("");function Pt(e,t,n){if(xn&&Qe){let s=wr.get(e);s||wr.set(e,s=new Map);let o=s.get(n);o||(s.set(n,o=new sa),o.map=s,o.key=n),o.track()}}function Xn(e,t,n,s,o,i){const r=wr.get(e);if(!r){ii++;return}const a=c=>{c&&c.trigger()};if(fc(),t==="clear")r.forEach(a);else{const c=ce(e),u=c&&lc(n);if(c&&n==="length"){const f=Number(s);r.forEach((d,h)=>{(h==="length"||h===ri||!Gt(h)&&h>=f)&&a(d)})}else switch((n!==void 0||r.has(void 0))&&a(r.get(n)),u&&a(r.get(ri)),t){case"add":c?u&&a(r.get("length")):(a(r.get(Os)),ho(e)&&a(r.get(il)));break;case"delete":c||(a(r.get(Os)),ho(e)&&a(r.get(il)));break;case"set":ho(e)&&a(r.get(Os));break}}dc()}function tm(e,t){const n=wr.get(e);return n&&n.get(t)}function eo(e){const t=Pe(e);return t===e?t:(Pt(t,"iterate",ri),an(e)?t:t.map(_t))}function oa(e){return Pt(e=Pe(e),"iterate",ri),e}const nm={__proto__:null,[Symbol.iterator](){return Fa(this,Symbol.iterator,_t)},concat(...e){return eo(this).concat(...e.map(t=>ce(t)?eo(t):t))},entries(){return Fa(this,"entries",e=>(e[1]=_t(e[1]),e))},every(e,t){return qn(this,"every",e,t,void 0,arguments)},filter(e,t){return qn(this,"filter",e,t,n=>n.map(_t),arguments)},find(e,t){return qn(this,"find",e,t,_t,arguments)},findIndex(e,t){return qn(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return qn(this,"findLast",e,t,_t,arguments)},findLastIndex(e,t){return qn(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return qn(this,"forEach",e,t,void 0,arguments)},includes(...e){return Ba(this,"includes",e)},indexOf(...e){return Ba(this,"indexOf",e)},join(e){return eo(this).join(e)},lastIndexOf(...e){return Ba(this,"lastIndexOf",e)},map(e,t){return qn(this,"map",e,t,void 0,arguments)},pop(){return Ho(this,"pop")},push(...e){return Ho(this,"push",e)},reduce(e,...t){return Uu(this,"reduce",e,t)},reduceRight(e,...t){return Uu(this,"reduceRight",e,t)},shift(){return Ho(this,"shift")},some(e,t){return qn(this,"some",e,t,void 0,arguments)},splice(...e){return Ho(this,"splice",e)},toReversed(){return eo(this).toReversed()},toSorted(e){return eo(this).toSorted(e)},toSpliced(...e){return eo(this).toSpliced(...e)},unshift(...e){return Ho(this,"unshift",e)},values(){return Fa(this,"values",_t)}};function Fa(e,t,n){const s=oa(e),o=s[t]();return s!==e&&!an(e)&&(o._next=o.next,o.next=()=>{const i=o._next();return i.done||(i.value=n(i.value)),i}),o}const sm=Array.prototype;function qn(e,t,n,s,o,i){const r=oa(e),a=r!==e&&!an(e),c=r[t];if(c!==sm[t]){const d=c.apply(e,i);return a?_t(d):d}let u=n;r!==e&&(a?u=function(d,h){return n.call(this,_t(d),h,e)}:n.length>2&&(u=function(d,h){return n.call(this,d,h,e)}));const f=c.call(r,u,s);return a&&o?o(f):f}function Uu(e,t,n,s){const o=oa(e);let i=n;return o!==e&&(an(e)?n.length>3&&(i=function(r,a,c){return n.call(this,r,a,c,e)}):i=function(r,a,c){return n.call(this,r,_t(a),c,e)}),o[t](i,...s)}function Ba(e,t,n){const s=Pe(e);Pt(s,"iterate",ri);const o=s[t](...n);return(o===-1||o===!1)&&aa(n[0])?(n[0]=Pe(n[0]),s[t](...n)):o}function Ho(e,t,n=[]){ss(),fc();const s=Pe(e)[t].apply(e,n);return dc(),os(),s}const om=ln("__proto__,__v_isRef,__isVue"),g1=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Gt));function im(e){Gt(e)||(e=String(e));const t=Pe(this);return Pt(t,"has",e),t.hasOwnProperty(e)}class v1{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,s){if(n==="__v_skip")return t.__v_skip;const o=this._isReadonly,i=this._isShallow;if(n==="__v_isReactive")return!o;if(n==="__v_isReadonly")return o;if(n==="__v_isShallow")return i;if(n==="__v_raw")return s===(o?i?_1:C1:i?w1:k1).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const r=ce(t);if(!o){let c;if(r&&(c=nm[n]))return c;if(n==="hasOwnProperty")return im}const a=Reflect.get(t,n,Ye(t)?t:s);if((Gt(n)?g1.has(n):om(n))||(o||Pt(t,"get",n),i))return a;if(Ye(a)){const c=r&&lc(n)?a:a.value;return o&&Ue(c)?It(c):c}return Ue(a)?o?It(a):Dn(a):a}}class y1 extends v1{constructor(t=!1){super(!1,t)}set(t,n,s,o){let i=t[n];if(!this._isShallow){const c=is(i);if(!an(s)&&!is(s)&&(i=Pe(i),s=Pe(s)),!ce(t)&&Ye(i)&&!Ye(s))return c||(i.value=s),!0}const r=ce(t)&&lc(n)?Number(n)e,Bi=e=>Reflect.getPrototypeOf(e);function um(e,t,n){return function(...s){const o=this.__v_raw,i=Pe(o),r=ho(i),a=e==="entries"||e===Symbol.iterator&&r,c=e==="keys"&&r,u=o[e](...s),f=n?rl:t?Cr:_t;return!t&&Pt(i,"iterate",c?il:Os),{next(){const{value:d,done:h}=u.next();return h?{value:d,done:h}:{value:a?[f(d[0]),f(d[1])]:f(d),done:h}},[Symbol.iterator](){return this}}}}function Ni(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function fm(e,t){const n={get(o){const i=this.__v_raw,r=Pe(i),a=Pe(o);e||(Ot(o,a)&&Pt(r,"get",o),Pt(r,"get",a));const{has:c}=Bi(r),u=t?rl:e?Cr:_t;if(c.call(r,o))return u(i.get(o));if(c.call(r,a))return u(i.get(a));i!==r&&i.get(o)},get size(){const o=this.__v_raw;return!e&&Pt(Pe(o),"iterate",Os),o.size},has(o){const i=this.__v_raw,r=Pe(i),a=Pe(o);return e||(Ot(o,a)&&Pt(r,"has",o),Pt(r,"has",a)),o===a?i.has(o):i.has(o)||i.has(a)},forEach(o,i){const r=this,a=r.__v_raw,c=Pe(a),u=t?rl:e?Cr:_t;return!e&&Pt(c,"iterate",Os),a.forEach((f,d)=>o.call(i,u(f),u(d),r))}};return Ie(n,e?{add:Ni("add"),set:Ni("set"),delete:Ni("delete"),clear:Ni("clear")}:{add(o){!t&&!an(o)&&!is(o)&&(o=Pe(o));const i=Pe(this);return Bi(i).has.call(i,o)||(i.add(o),Xn(i,"add",o,o)),this},set(o,i){!t&&!an(i)&&!is(i)&&(i=Pe(i));const r=Pe(this),{has:a,get:c}=Bi(r);let u=a.call(r,o);u||(o=Pe(o),u=a.call(r,o));const f=c.call(r,o);return r.set(o,i),u?Ot(i,f)&&Xn(r,"set",o,i):Xn(r,"add",o,i),this},delete(o){const i=Pe(this),{has:r,get:a}=Bi(i);let c=r.call(i,o);c||(o=Pe(o),c=r.call(i,o)),a&&a.call(i,o);const u=i.delete(o);return c&&Xn(i,"delete",o,void 0),u},clear(){const o=Pe(this),i=o.size!==0,r=o.clear();return i&&Xn(o,"clear",void 0,void 0),r}}),["keys","values","entries",Symbol.iterator].forEach(o=>{n[o]=um(o,e,t)}),n}function ia(e,t){const n=fm(e,t);return(s,o,i)=>o==="__v_isReactive"?!e:o==="__v_isReadonly"?e:o==="__v_raw"?s:Reflect.get(De(n,o)&&o in s?n:s,o,i)}const dm={get:ia(!1,!1)},hm={get:ia(!1,!0)},pm={get:ia(!0,!1)},mm={get:ia(!0,!0)},k1=new WeakMap,w1=new WeakMap,C1=new WeakMap,_1=new WeakMap;function gm(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function vm(e){return e.__v_skip||!Object.isExtensible(e)?0:gm(L2(e))}function Dn(e){return is(e)?e:ra(e,!1,rm,dm,k1)}function pc(e){return ra(e,!1,lm,hm,w1)}function It(e){return ra(e,!0,am,pm,C1)}function al(e){return ra(e,!0,cm,mm,_1)}function ra(e,t,n,s,o){if(!Ue(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const i=vm(e);if(i===0)return e;const r=o.get(e);if(r)return r;const a=new Proxy(e,i===2?s:n);return o.set(e,a),a}function _s(e){return is(e)?_s(e.__v_raw):!!(e&&e.__v_isReactive)}function is(e){return!!(e&&e.__v_isReadonly)}function an(e){return!!(e&&e.__v_isShallow)}function aa(e){return e?!!e.__v_raw:!1}function Pe(e){const t=e&&e.__v_raw;return t?Pe(t):e}function go(e){return!De(e,"__v_skip")&&Object.isExtensible(e)&&s1(e,"__v_skip",!0),e}const _t=e=>Ue(e)?Dn(e):e,Cr=e=>Ue(e)?It(e):e;function Ye(e){return e?e.__v_isRef===!0:!1}function j(e){return S1(e,!1)}function ze(e){return S1(e,!0)}function S1(e,t){return Ye(e)?e:new ym(e,t)}class ym{constructor(t,n){this.dep=new sa,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:Pe(t),this._value=n?t:_t(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,s=this.__v_isShallow||an(t)||is(t);t=s?t:Pe(t),Ot(t,n)&&(this._rawValue=t,this._value=s?t:_t(t),this.dep.trigger())}}function bm(e){e.dep&&e.dep.trigger()}function l(e){return Ye(e)?e.value:e}function Se(e){return ye(e)?e():l(e)}const km={get:(e,t,n)=>t==="__v_raw"?e:l(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const o=e[t];return Ye(o)&&!Ye(n)?(o.value=n,!0):Reflect.set(e,t,n,s)}};function mc(e){return _s(e)?e:new Proxy(e,km)}class wm{constructor(t){this.__v_isRef=!0,this._value=void 0;const n=this.dep=new sa,{get:s,set:o}=t(n.track.bind(n),n.trigger.bind(n));this._get=s,this._set=o}get value(){return this._value=this._get()}set value(t){this._set(t)}}function gc(e){return new wm(e)}function Cm(e){const t=ce(e)?new Array(e.length):{};for(const n in e)t[n]=E1(e,n);return t}class _m{constructor(t,n,s){this._object=t,this._key=n,this._defaultValue=s,this.__v_isRef=!0,this._value=void 0}get value(){const t=this._object[this._key];return this._value=t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return tm(Pe(this._object),this._key)}}class Sm{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function T1(e,t,n){return Ye(e)?e:ye(e)?new Sm(e):Ue(e)&&arguments.length>1?E1(e,t,n):j(e)}function E1(e,t,n){const s=e[t];return Ye(s)?s:new _m(e,t,n)}class Tm{constructor(t,n,s){this.fn=t,this.setter=n,this._value=void 0,this.dep=new sa(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=ii-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=s}notify(){if(this.flags|=16,!(this.flags&8)&&Qe!==this)return u1(this,!0),!0}get value(){const t=this.dep.track();return h1(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Em(e,t,n=!1){let s,o;return ye(e)?s=e:(s=e.get,o=e.set),new Tm(s,o,n)}const xm={GET:"get",HAS:"has",ITERATE:"iterate"},Am={SET:"set",ADD:"add",DELETE:"delete",CLEAR:"clear"},Vi={},_r=new WeakMap;let gs;function $m(){return gs}function x1(e,t=!1,n=gs){if(n){let s=_r.get(n);s||_r.set(n,s=[]),s.push(e)}}function Lm(e,t,n=Le){const{immediate:s,deep:o,once:i,scheduler:r,augmentJob:a,call:c}=n,u=_=>o?_:an(_)||o===!1||o===0?Qn(_,1):Qn(_);let f,d,h,p,g=!1,v=!1;if(Ye(e)?(d=()=>e.value,g=an(e)):_s(e)?(d=()=>u(e),g=!0):ce(e)?(v=!0,g=e.some(_=>_s(_)||an(_)),d=()=>e.map(_=>{if(Ye(_))return _.value;if(_s(_))return u(_);if(ye(_))return c?c(_,2):_()})):ye(e)?t?d=c?()=>c(e,2):e:d=()=>{if(h){ss();try{h()}finally{os()}}const _=gs;gs=f;try{return c?c(e,3,[p]):e(p)}finally{gs=_}}:d=Ht,t&&o){const _=d,x=o===!0?1/0:o;d=()=>Qn(_(),x)}const k=_i(),b=()=>{f.stop(),k&&k.active&&rc(k.effects,f)};if(i&&t){const _=t;t=(...x)=>{_(...x),b()}}let w=v?new Array(e.length).fill(Vi):Vi;const y=_=>{if(!(!(f.flags&1)||!f.dirty&&!_))if(t){const x=f.run();if(o||g||(v?x.some((L,V)=>Ot(L,w[V])):Ot(x,w))){h&&h();const L=gs;gs=f;try{const V=[x,w===Vi?void 0:v&&w[0]===Vi?[]:w,p];w=x,c?c(t,3,V):t(...V)}finally{gs=L}}}else f.run()};return a&&a(y),f=new oi(d),f.scheduler=r?()=>r(y,!1):y,p=_=>x1(_,!1,f),h=f.onStop=()=>{const _=_r.get(f);if(_){if(c)c(_,4);else for(const x of _)x();_r.delete(f)}},t?s?y(!0):w=f.run():r?r(y.bind(null,!0),!0):f.run(),b.pause=f.pause.bind(f),b.resume=f.resume.bind(f),b.stop=b,b}function Qn(e,t=1/0,n){if(t<=0||!Ue(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,Ye(e))Qn(e.value,t,n);else if(ce(e))for(let s=0;s{Qn(s,t,n)});else if(Qr(e)){for(const s in e)Qn(e[s],t,n);for(const s of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,s)&&Qn(e[s],t,n)}return e}const A1=[];function Im(e){A1.push(e)}function Pm(){A1.pop()}function Mm(e,t){}const Fm={SETUP_FUNCTION:0,0:"SETUP_FUNCTION",RENDER_FUNCTION:1,1:"RENDER_FUNCTION",NATIVE_EVENT_HANDLER:5,5:"NATIVE_EVENT_HANDLER",COMPONENT_EVENT_HANDLER:6,6:"COMPONENT_EVENT_HANDLER",VNODE_HOOK:7,7:"VNODE_HOOK",DIRECTIVE_HOOK:8,8:"DIRECTIVE_HOOK",TRANSITION_HOOK:9,9:"TRANSITION_HOOK",APP_ERROR_HANDLER:10,10:"APP_ERROR_HANDLER",APP_WARN_HANDLER:11,11:"APP_WARN_HANDLER",FUNCTION_REF:12,12:"FUNCTION_REF",ASYNC_COMPONENT_LOADER:13,13:"ASYNC_COMPONENT_LOADER",SCHEDULER:14,14:"SCHEDULER",COMPONENT_UPDATE:15,15:"COMPONENT_UPDATE",APP_UNMOUNT_CLEANUP:16,16:"APP_UNMOUNT_CLEANUP"},Bm={sp:"serverPrefetch hook",bc:"beforeCreate hook",c:"created hook",bm:"beforeMount hook",m:"mounted hook",bu:"beforeUpdate hook",u:"updated",bum:"beforeUnmount hook",um:"unmounted hook",a:"activated hook",da:"deactivated hook",ec:"errorCaptured hook",rtc:"renderTracked hook",rtg:"renderTriggered hook",0:"setup function",1:"render function",2:"watcher getter",3:"watcher callback",4:"watcher cleanup function",5:"native event handler",6:"component event handler",7:"vnode hook",8:"directive hook",9:"transition hook",10:"app errorHandler",11:"app warnHandler",12:"ref function",13:"async component loader",14:"scheduler flush",15:"component update",16:"app unmount cleanup function"};function Po(e,t,n,s){try{return s?e(...s):e()}catch(o){Xs(o,t,n)}}function yn(e,t,n,s){if(ye(e)){const o=Po(e,t,n,s);return o&&ac(o)&&o.catch(i=>{Xs(i,t,n)}),o}if(ce(e)){const o=[];for(let i=0;i>>1,o=Dt[s],i=li(o);i=li(n)?Dt.push(e):Dt.splice(Vm(t),0,e),e.flags|=1,L1()}}function L1(){Sr||(Sr=$1.then(I1))}function ai(e){ce(e)?vo.push(...e):vs&&e.id===-1?vs.splice(oo+1,0,e):e.flags&1||(vo.push(e),e.flags|=1),L1()}function Wu(e,t,n=Bn+1){for(;nli(n)-li(s));if(vo.length=0,vs){vs.push(...t);return}for(vs=t,oo=0;ooe.id==null?e.flags&2?-1:1/0:e.id;function I1(e){try{for(Bn=0;Bnio.emit(o,...i)),Oi=[]):typeof window<"u"&&window.HTMLElement&&!((s=(n=window.navigator)==null?void 0:n.userAgent)!=null&&s.includes("jsdom"))?((t.__VUE_DEVTOOLS_HOOK_REPLAY__=t.__VUE_DEVTOOLS_HOOK_REPLAY__||[]).push(i=>{P1(i,t)}),setTimeout(()=>{io||(t.__VUE_DEVTOOLS_HOOK_REPLAY__=null,Oi=[])},3e3)):Oi=[]}let Tt=null,la=null;function ci(e){const t=Tt;return Tt=e,la=e&&e.type.__scopeId||null,t}function Om(e){la=e}function Dm(){la=null}const Rm=e=>O;function O(e,t=Tt,n){if(!t||e._n)return e;const s=(...o)=>{s._d&&di(-1);const i=ci(t);let r;try{r=e(...o)}finally{ci(i),s._d&&di(1)}return r};return s._n=!0,s._c=!0,s._d=!0,s}function et(e,t){if(Tt===null)return e;const n=xi(Tt),s=e.dirs||(e.dirs=[]);for(let o=0;oe.__isTeleport,Jo=e=>e&&(e.disabled||e.disabled===""),qu=e=>e&&(e.defer||e.defer===""),Ku=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Yu=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,ll=(e,t)=>{const n=e&&e.to;return _e(n)?t?t(n):null:n},B1={name:"Teleport",__isTeleport:!0,process(e,t,n,s,o,i,r,a,c,u){const{mc:f,pc:d,pbc:h,o:{insert:p,querySelector:g,createText:v,createComment:k}}=u,b=Jo(t.props);let{shapeFlag:w,children:y,dynamicChildren:_}=t;if(e==null){const x=t.el=v(""),L=t.anchor=v("");p(x,n,s),p(L,n,s);const V=(I,P)=>{w&16&&f(y,I,P,o,i,r,a,c)},E=()=>{const I=t.target=ll(t.props,g),P=N1(I,t,v,p);I&&(r!=="svg"&&Ku(I)?r="svg":r!=="mathml"&&Yu(I)&&(r="mathml"),o&&o.isCE&&(o.ce._teleportTargets||(o.ce._teleportTargets=new Set)).add(I),b||(V(I,P),rr(t,!1)))};b&&(V(n,L),rr(t,!0)),qu(t.props)?(t.el.__isMounted=!1,pt(()=>{E(),delete t.el.__isMounted},i)):E()}else{if(qu(t.props)&&e.el.__isMounted===!1){pt(()=>{B1.process(e,t,n,s,o,i,r,a,c,u)},i);return}t.el=e.el,t.targetStart=e.targetStart;const x=t.anchor=e.anchor,L=t.target=e.target,V=t.targetAnchor=e.targetAnchor,E=Jo(e.props),I=E?n:L,P=E?x:V;if(r==="svg"||Ku(L)?r="svg":(r==="mathml"||Yu(L))&&(r="mathml"),_?(h(e.dynamicChildren,_,I,o,i,r,a),Ic(e,t,!0)):c||d(e,t,I,P,o,i,r,a,!1),b)E?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Di(t,n,x,u,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const N=t.target=ll(t.props,g);N&&Di(t,N,null,u,0)}else E&&Di(t,L,V,u,1);rr(t,b)}},remove(e,t,n,{um:s,o:{remove:o}},i){const{shapeFlag:r,children:a,anchor:c,targetStart:u,targetAnchor:f,target:d,props:h}=e;if(d&&(o(u),o(f)),i&&o(c),r&16){const p=i||!Jo(h);for(let g=0;g{e.isMounted=!0}),ls(()=>{e.isUnmounting=!0}),e}const dn=[Function,Array],bc={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:dn,onEnter:dn,onAfterEnter:dn,onEnterCancelled:dn,onBeforeLeave:dn,onLeave:dn,onAfterLeave:dn,onLeaveCancelled:dn,onBeforeAppear:dn,onAppear:dn,onAfterAppear:dn,onAppearCancelled:dn},V1=e=>{const t=e.subTree;return t.component?V1(t.component):t},zm={name:"BaseTransition",props:bc,setup(e,{slots:t}){const n=dt(),s=yc();return()=>{const o=t.default&&ua(t.default(),!0);if(!o||!o.length)return;const i=O1(o),r=Pe(e),{mode:a}=r;if(s.isLeaving)return Na(i);const c=Gu(i);if(!c)return Na(i);let u=ko(c,r,s,n,d=>u=d);c.type!==ut&&rs(c,u);let f=n.subTree&&Gu(n.subTree);if(f&&f.type!==ut&&!Tn(f,c)&&V1(n).type!==ut){let d=ko(f,r,s,n);if(rs(f,d),a==="out-in"&&c.type!==ut)return s.isLeaving=!0,d.afterLeave=()=>{s.isLeaving=!1,n.job.flags&8||n.update(),delete d.afterLeave,f=void 0},Na(i);a==="in-out"&&c.type!==ut?d.delayLeave=(h,p,g)=>{const v=R1(s,f);v[String(f.key)]=f,h[Jn]=()=>{p(),h[Jn]=void 0,delete u.delayedLeave,f=void 0},u.delayedLeave=()=>{g(),delete u.delayedLeave,f=void 0}}:f=void 0}else f&&(f=void 0);return i}}};function O1(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==ut){t=n;break}}return t}const D1=zm;function R1(e,t){const{leavingVNodes:n}=e;let s=n.get(t.type);return s||(s=Object.create(null),n.set(t.type,s)),s}function ko(e,t,n,s,o){const{appear:i,mode:r,persisted:a=!1,onBeforeEnter:c,onEnter:u,onAfterEnter:f,onEnterCancelled:d,onBeforeLeave:h,onLeave:p,onAfterLeave:g,onLeaveCancelled:v,onBeforeAppear:k,onAppear:b,onAfterAppear:w,onAppearCancelled:y}=t,_=String(e.key),x=R1(n,e),L=(I,P)=>{I&&yn(I,s,9,P)},V=(I,P)=>{const N=P[1];L(I,P),ce(I)?I.every($=>$.length<=1)&&N():I.length<=1&&N()},E={mode:r,persisted:a,beforeEnter(I){let P=c;if(!n.isMounted)if(i)P=k||c;else return;I[Jn]&&I[Jn](!0);const N=x[_];N&&Tn(e,N)&&N.el[Jn]&&N.el[Jn](),L(P,[I])},enter(I){let P=u,N=f,$=d;if(!n.isMounted)if(i)P=b||u,N=w||f,$=y||d;else return;let U=!1;const q=I[Ri]=J=>{U||(U=!0,J?L($,[I]):L(N,[I]),E.delayedLeave&&E.delayedLeave(),I[Ri]=void 0)};P?V(P,[I,q]):q()},leave(I,P){const N=String(e.key);if(I[Ri]&&I[Ri](!0),n.isUnmounting)return P();L(h,[I]);let $=!1;const U=I[Jn]=q=>{$||($=!0,P(),q?L(v,[I]):L(g,[I]),I[Jn]=void 0,x[N]===e&&delete x[N])};x[N]=e,p?V(p,[I,U]):U()},clone(I){const P=ko(I,t,n,s,o);return o&&o(P),P}};return E}function Na(e){if(Si(e))return e=Rn(e),e.children=null,e}function Gu(e){if(!Si(e))return F1(e.type)&&e.children?O1(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&ye(n.default))return n.default()}}function rs(e,t){e.shapeFlag&6&&e.component?(e.transition=t,rs(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function ua(e,t=!1,n){let s=[],o=0;for(let i=0;i1)for(let i=0;in.value,set:i=>n.value=i})}return n}const Er=new WeakMap;function yo(e,t,n,s,o=!1){if(ce(e)){e.forEach((g,v)=>yo(g,t&&(ce(t)?t[v]:t),n,s,o));return}if(Ss(s)&&!o){s.shapeFlag&512&&s.type.__asyncResolved&&s.component.subTree.component&&yo(e,t,n,s.component.subTree);return}const i=s.shapeFlag&4?xi(s.component):s.el,r=o?null:i,{i:a,r:c}=e,u=t&&t.r,f=a.refs===Le?a.refs={}:a.refs,d=a.setupState,h=Pe(d),p=d===Le?ao:g=>De(h,g);if(u!=null&&u!==c){if(Ju(t),_e(u))f[u]=null,p(u)&&(d[u]=null);else if(Ye(u)){u.value=null;const g=t;g.k&&(f[g.k]=null)}}if(ye(c))Po(c,a,12,[r,f]);else{const g=_e(c),v=Ye(c);if(g||v){const k=()=>{if(e.f){const b=g?p(c)?d[c]:f[c]:c.value;if(o)ce(b)&&rc(b,i);else if(ce(b))b.includes(i)||b.push(i);else if(g)f[c]=[i],p(c)&&(d[c]=f[c]);else{const w=[i];c.value=w,e.k&&(f[e.k]=w)}}else g?(f[c]=r,p(c)&&(d[c]=r)):v&&(c.value=r,e.k&&(f[e.k]=r))};if(r){const b=()=>{k(),Er.delete(e)};b.id=-1,Er.set(e,b),pt(b,n)}else Ju(e),k()}}}function Ju(e){const t=Er.get(e);t&&(t.flags|=8,Er.delete(e))}let Xu=!1;const to=()=>{Xu||(console.error("Hydration completed but contains mismatches."),Xu=!0)},jm=e=>e.namespaceURI.includes("svg")&&e.tagName!=="foreignObject",Um=e=>e.namespaceURI.includes("MathML"),Hi=e=>{if(e.nodeType===1){if(jm(e))return"svg";if(Um(e))return"mathml"}},lo=e=>e.nodeType===8;function Wm(e){const{mt:t,p:n,o:{patchProp:s,createText:o,nextSibling:i,parentNode:r,remove:a,insert:c,createComment:u}}=e,f=(y,_)=>{if(!_.hasChildNodes()){n(null,y,_),Tr(),_._vnode=y;return}d(_.firstChild,y,null,null,null),Tr(),_._vnode=y},d=(y,_,x,L,V,E=!1)=>{E=E||!!_.dynamicChildren;const I=lo(y)&&y.data==="[",P=()=>v(y,_,x,L,V,I),{type:N,ref:$,shapeFlag:U,patchFlag:q}=_;let J=y.nodeType;_.el=y,q===-2&&(E=!1,_.dynamicChildren=null);let G=null;switch(N){case Ts:J!==3?_.children===""?(c(_.el=o(""),r(y),y),G=y):G=P():(y.data!==_.children&&(to(),y.data=_.children),G=i(y));break;case ut:w(y)?(G=i(y),b(_.el=y.content.firstChild,y,x)):J!==8||I?G=P():G=i(y);break;case Rs:if(I&&(y=i(y),J=y.nodeType),J===1||J===3){G=y;const ae=!_.children.length;for(let ne=0;ne<_.staticCount;ne++)ae&&(_.children+=G.nodeType===1?G.outerHTML:G.data),ne===_.staticCount-1&&(_.anchor=G),G=i(G);return I?i(G):G}else P();break;case Y:I?G=g(y,_,x,L,V,E):G=P();break;default:if(U&1)(J!==1||_.type.toLowerCase()!==y.tagName.toLowerCase())&&!w(y)?G=P():G=h(y,_,x,L,V,E);else if(U&6){_.slotScopeIds=V;const ae=r(y);if(I?G=k(y):lo(y)&&y.data==="teleport start"?G=k(y,y.data,"teleport end"):G=i(y),t(_,ae,null,x,L,Hi(ae),E),Ss(_)&&!_.type.__asyncResolved){let ne;I?(ne=H(Y),ne.anchor=G?G.previousSibling:ae.lastChild):ne=y.nodeType===3?rt(""):H("div"),ne.el=y,_.component.subTree=ne}}else U&64?J!==8?G=P():G=_.type.hydrate(y,_,x,L,V,E,e,p):U&128&&(G=_.type.hydrate(y,_,x,L,Hi(r(y)),V,E,e,d))}return $!=null&&yo($,null,L,_),G},h=(y,_,x,L,V,E)=>{E=E||!!_.dynamicChildren;const{type:I,props:P,patchFlag:N,shapeFlag:$,dirs:U,transition:q}=_,J=I==="input"||I==="option";if(J||N!==-1){U&&Nn(_,null,x,"created");let G=!1;if(w(y)){G=h0(null,q)&&x&&x.vnode.props&&x.vnode.props.appear;const ne=y.content.firstChild;if(G){const he=ne.getAttribute("class");he&&(ne.$cls=he),q.beforeEnter(ne)}b(ne,y,x),_.el=y=ne}if($&16&&!(P&&(P.innerHTML||P.textContent))){let ne=p(y.firstChild,_,y,x,L,V,E);for(;ne;){zi(y,1)||to();const he=ne;ne=ne.nextSibling,a(he)}}else if($&8){let ne=_.children;ne[0]===` `&&(y.tagName==="PRE"||y.tagName==="TEXTAREA")&&(ne=ne.slice(1));const{textContent:he}=y;he!==ne&&he!==ne.replace(/\r\n|\r/g,` -`)&&(zi(y,0)||to(),y.textContent=_.children)}if(P){if(J||!E||N&48){const ne=y.tagName.includes("-");for(const he in P)(J&&(he.endsWith("value")||he==="indeterminate")||Ys(he)&&!Cs(he)||he[0]==="."||ne)&&s(y,he,null,P[he],void 0,x)}else if(P.onClick)s(y,"onClick",null,P.onClick,void 0,x);else if(N&4&&_s(P.style))for(const ne in P.style)P.style[ne]}let ae;(ae=P&&P.onVnodeBeforeMount)&&Ut(ae,x,_),U&&Nn(_,null,x,"beforeMount"),((ae=P&&P.onVnodeMounted)||U||G)&&C0(()=>{ae&&Ut(ae,x,_),G&&q.enter(y),U&&Nn(_,null,x,"mounted")},L)}return y.nextSibling},p=(y,_,x,L,V,E,I)=>{I=I||!!_.dynamicChildren;const P=_.children,N=P.length;for(let $=0;${const{slotScopeIds:I}=_;I&&(V=V?V.concat(I):I);const P=r(y),N=p(i(y),_,P,x,L,V,E);return N&&lo(N)&&N.data==="]"?i(_.anchor=N):(to(),c(_.anchor=u("]"),P,N),N)},v=(y,_,x,L,V,E)=>{if(zi(y.parentElement,1)||to(),_.el=null,E){const N=k(y);for(;;){const $=i(y);if($&&$!==N)a($);else break}}const I=i(y),P=r(y);return a(y),n(null,_,P,I,x,L,Hi(P),V),x&&(x.vnode.el=_.el,pa(x,_.el)),I},k=(y,_="[",x="]")=>{let L=0;for(;y;)if(y=i(y),y&&lo(y)&&(y.data===_&&L++,y.data===x)){if(L===0)return i(y);L--}return y},b=(y,_,x)=>{const L=_.parentNode;L&&L.replaceChild(y,_);let V=x;for(;V;)V.vnode.el===_&&(V.vnode.el=V.subTree.el=y),V=V.parent},w=y=>y.nodeType===1&&y.tagName==="TEMPLATE";return[f,d]}const Qu="data-allow-mismatch",qm={0:"text",1:"children",2:"class",3:"style",4:"attribute"};function zi(e,t){if(t===0||t===1)for(;e&&!e.hasAttribute(Qu);)e=e.parentElement;const n=e&&e.getAttribute(Qu);if(n==null)return!1;if(n==="")return!0;{const s=n.split(",");return t===0&&s.includes("children")?!0:s.includes(qm[t])}}const Km=ta().requestIdleCallback||(e=>setTimeout(e,1)),Ym=ta().cancelIdleCallback||(e=>clearTimeout(e)),Gm=(e=1e4)=>t=>{const n=Km(t,{timeout:e});return()=>Ym(n)};function Jm(e){const{top:t,left:n,bottom:s,right:o}=e.getBoundingClientRect(),{innerHeight:i,innerWidth:r}=window;return(t>0&&t0&&s0&&n0&&o(t,n)=>{const s=new IntersectionObserver(o=>{for(const i of o)if(i.isIntersecting){s.disconnect(),t();break}},e);return n(o=>{if(o instanceof Element){if(Jm(o))return t(),s.disconnect(),!1;s.observe(o)}}),()=>s.disconnect()},Qm=e=>t=>{if(e){const n=matchMedia(e);if(n.matches)t();else return n.addEventListener("change",t,{once:!0}),()=>n.removeEventListener("change",t)}},Zm=(e=[])=>(t,n)=>{_e(e)&&(e=[e]);let s=!1;const o=r=>{s||(s=!0,i(),t(),r.target.dispatchEvent(new r.constructor(r.type,r)))},i=()=>{n(r=>{for(const a of e)r.removeEventListener(a,o)})};return n(r=>{for(const a of e)r.addEventListener(a,o,{once:!0})}),i};function eg(e,t){if(lo(e)&&e.data==="["){let n=1,s=e.nextSibling;for(;s;){if(s.nodeType===1){if(t(s)===!1)break}else if(lo(s))if(s.data==="]"){if(--n===0)break}else s.data==="["&&n++;s=s.nextSibling}}else t(e)}const Ss=e=>!!e.type.__asyncLoader;function wc(e){ye(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:s,delay:o=200,hydrate:i,timeout:r,suspensible:a=!0,onError:c}=e;let u=null,f,d=0;const h=()=>(d++,u=null,p()),p=()=>{let g;return u||(g=u=t().catch(v=>{if(v=v instanceof Error?v:new Error(String(v)),c)return new Promise((k,b)=>{c(v,()=>k(h()),()=>b(v),d+1)});throw v}).then(v=>g!==u&&u?u:(v&&(v.__esModule||v[Symbol.toStringTag]==="Module")&&(v=v.default),f=v,v)))};return z({name:"AsyncComponentWrapper",__asyncLoader:p,__asyncHydrate(g,v,k){let b=!1;(v.bu||(v.bu=[])).push(()=>b=!0);const w=()=>{b||k()},y=i?()=>{const _=i(w,x=>eg(g,x));_&&(v.bum||(v.bum=[])).push(_)}:w;f?y():p().then(()=>!v.isUnmounted&&y())},get __asyncResolved(){return f},setup(){const g=St;if(kc(g),f)return()=>ji(f,g);const v=y=>{u=null,Xs(y,g,13,!s)};if(a&&g.suspense||wo)return p().then(y=>()=>ji(y,g)).catch(y=>(v(y),()=>s?H(s,{error:y}):null));const k=j(!1),b=j(),w=j(!!o);return o&&setTimeout(()=>{w.value=!1},o),r!=null&&setTimeout(()=>{if(!k.value&&!b.value){const y=new Error(`Async component timed out after ${r}ms.`);v(y),b.value=y}},r),p().then(()=>{k.value=!0,g.parent&&Si(g.parent.vnode)&&g.parent.update()}).catch(y=>{v(y),b.value=y}),()=>{if(k.value&&f)return ji(f,g);if(b.value&&s)return H(s,{error:b.value});if(n&&!w.value)return ji(n,g)}}})}function ji(e,t){const{ref:n,props:s,children:o,ce:i}=t.vnode,r=H(e,s,o);return r.ref=n,r.ce=i,delete t.vnode.ce,r}const Si=e=>e.type.__isKeepAlive,tg={name:"KeepAlive",__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(e,{slots:t}){const n=dt(),s=n.ctx;if(!s.renderer)return()=>{const w=t.default&&t.default();return w&&w.length===1?w[0]:w};const o=new Map,i=new Set;let r=null;const a=n.suspense,{renderer:{p:c,m:u,um:f,o:{createElement:d}}}=s,h=d("div");s.activate=(w,y,_,x,L)=>{const V=w.component;u(w,y,_,0,a),c(V.vnode,w,y,_,V,a,x,w.slotScopeIds,L),pt(()=>{V.isDeactivated=!1,V.a&&mo(V.a);const E=w.props&&w.props.onVnodeMounted;E&&Ut(E,V.parent,w)},a)},s.deactivate=w=>{const y=w.component;Ar(y.m),Ar(y.a),u(w,h,null,1,a),pt(()=>{y.da&&mo(y.da);const _=w.props&&w.props.onVnodeUnmounted;_&&Ut(_,y.parent,w),y.isDeactivated=!0},a)};function p(w){Va(w),f(w,n,a,!0)}function g(w){o.forEach((y,_)=>{const x=bl(y.type);x&&!w(x)&&v(_)})}function v(w){const y=o.get(w);y&&(!r||!Tn(y,r))?p(y):r&&Va(r),o.delete(w),i.delete(w)}te(()=>[e.include,e.exclude],([w,y])=>{w&&g(_=>qo(w,_)),y&&g(_=>!qo(y,_))},{flush:"post",deep:!0});let k=null;const b=()=>{k!=null&&($r(n.subTree.type)?pt(()=>{o.set(k,Ui(n.subTree))},n.subTree.suspense):o.set(k,Ui(n.subTree)))};return be(b),Fo(b),ls(()=>{o.forEach(w=>{const{subTree:y,suspense:_}=n,x=Ui(y);if(w.type===x.type&&w.key===x.key){Va(x);const L=x.component.da;L&&pt(L,_);return}p(w)})}),()=>{if(k=null,!t.default)return r=null;const w=t.default(),y=w[0];if(w.length>1)return r=null,w;if(!Ln(y)||!(y.shapeFlag&4)&&!(y.shapeFlag&128))return r=null,y;let _=Ui(y);if(_.type===ut)return r=null,_;const x=_.type,L=bl(Ss(_)?_.type.__asyncResolved||{}:x),{include:V,exclude:E,max:I}=e;if(V&&(!L||!qo(V,L))||E&&L&&qo(E,L))return _.shapeFlag&=-257,r=_,y;const P=_.key==null?x:_.key,N=o.get(P);return _.el&&(_=Rn(_),y.shapeFlag&128&&(y.ssContent=_)),k=P,N?(_.el=N.el,_.component=N.component,_.transition&&rs(_,_.transition),_.shapeFlag|=512,i.delete(P),i.add(P)):(i.add(P),I&&i.size>parseInt(I,10)&&v(i.values().next().value)),_.shapeFlag|=256,r=_,$r(y.type)?y:_}}},ng=tg;function qo(e,t){return ce(e)?e.some(n=>qo(n,t)):_e(e)?e.split(",").includes(t):$2(e)?(e.lastIndex=0,e.test(t)):!1}function j1(e,t){W1(e,"a",t)}function U1(e,t){W1(e,"da",t)}function W1(e,t,n=St){const s=e.__wdc||(e.__wdc=()=>{let o=n;for(;o;){if(o.isDeactivated)return;o=o.parent}return e()});if(fa(t,s,n),n){let o=n.parent;for(;o&&o.parent;)Si(o.parent.vnode)&&sg(s,t,n,o),o=o.parent}}function sg(e,t,n,s){const o=fa(t,e,s,!0);cn(()=>{rc(s[t],o)},n)}function Va(e){e.shapeFlag&=-257,e.shapeFlag&=-513}function Ui(e){return e.shapeFlag&128?e.ssContent:e}function fa(e,t,n=St,s=!1){if(n){const o=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...r)=>{ss();const a=qs(n),c=yn(t,n,e,r);return a(),os(),c});return s?o.unshift(i):o.push(i),i}}const as=e=>(t,n=St)=>{(!wo||e==="sp")&&fa(e,(...s)=>t(...s),n)},Mo=as("bm"),be=as("m"),Cc=as("bu"),Fo=as("u"),ls=as("bum"),cn=as("um"),q1=as("sp"),K1=as("rtg"),Y1=as("rtc");function G1(e,t=St){fa("ec",e,t)}const _c="components",og="directives";function un(e,t){return Sc(_c,e,!0,t)||e}const J1=Symbol.for("v-ndc");function Be(e){return _e(e)?Sc(_c,e,!1)||e:e||J1}function ig(e){return Sc(og,e)}function Sc(e,t,n=!0,s=!1){const o=Tt||St;if(o){const i=o.type;if(e===_c){const a=bl(i,!1);if(a&&(a===t||a===tt(t)||a===Js(tt(t))))return i}const r=Zu(o[e]||i[e],t)||Zu(o.appContext[e],t);return!r&&s?i:r}}function Zu(e,t){return e&&(e[t]||e[tt(t)]||e[Js(tt(t))])}function le(e,t,n,s){let o;const i=n&&n[s],r=ce(e);if(r||_e(e)){const a=r&&_s(e);let c=!1,u=!1;a&&(c=!an(e),u=is(e),e=oa(e)),o=new Array(e.length);for(let f=0,d=e.length;ft(a,c,void 0,i&&i[c]));else{const a=Object.keys(e);o=new Array(a.length);for(let c=0,u=a.length;c{const i=s.fn(...o);return i&&(i.key=s.key),i}:s.fn)}return e}function M(e,t,n={},s,o){if(Tt.ce||Tt.parent&&Ss(Tt.parent)&&Tt.parent.ce){const u=Object.keys(n).length>0;return t!=="default"&&(n.name=t),m(),D(Y,null,[H("slot",n,s&&s())],u?-2:64)}let i=e[t];i&&i._c&&(i._d=!1),m();const r=i&&Tc(i(n)),a=n.key||r&&r.key,c=D(Y,{key:(a&&!Gt(a)?a:`_${t}`)+(!r&&s?"_fb":"")},r||(s?s():[]),r&&e._===1?64:-2);return!o&&c.scopeId&&(c.slotScopeIds=[c.scopeId+"-s"]),i&&i._c&&(i._d=!0),c}function Tc(e){return e.some(t=>Ln(t)?!(t.type===ut||t.type===Y&&!Tc(t.children)):!0)?e:null}function Ec(e,t){const n={};for(const s in e)n[t&&/[A-Z]/.test(s)?`on:${s}`:po(s)]=e[s];return n}const cl=e=>e?A0(e)?xi(e):cl(e.parent):null,Xo=Ie(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>cl(e.parent),$root:e=>cl(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>xc(e),$forceUpdate:e=>e.f||(e.f=()=>{vc(e.update)}),$nextTick:e=>e.n||(e.n=Oe.bind(e.proxy)),$watch:e=>Lg.bind(e)}),Oa=(e,t)=>e!==Le&&!e.__isScriptSetup&&De(e,t),ul={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:s,data:o,props:i,accessCache:r,type:a,appContext:c}=e;let u;if(t[0]!=="$"){const p=r[t];if(p!==void 0)switch(p){case 1:return s[t];case 2:return o[t];case 4:return n[t];case 3:return i[t]}else{if(Oa(s,t))return r[t]=1,s[t];if(o!==Le&&De(o,t))return r[t]=2,o[t];if((u=e.propsOptions[0])&&De(u,t))return r[t]=3,i[t];if(n!==Le&&De(n,t))return r[t]=4,n[t];fl&&(r[t]=0)}}const f=Xo[t];let d,h;if(f)return t==="$attrs"&&Pt(e.attrs,"get",""),f(e);if((d=a.__cssModules)&&(d=d[t]))return d;if(n!==Le&&De(n,t))return r[t]=4,n[t];if(h=c.config.globalProperties,De(h,t))return h[t]},set({_:e},t,n){const{data:s,setupState:o,ctx:i}=e;return Oa(o,t)?(o[t]=n,!0):s!==Le&&De(s,t)?(s[t]=n,!0):De(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:o,propsOptions:i,type:r}},a){let c,u;return!!(n[a]||e!==Le&&a[0]!=="$"&&De(e,a)||Oa(t,a)||(c=i[0])&&De(c,a)||De(s,a)||De(Xo,a)||De(o.config.globalProperties,a)||(u=r.__cssModules)&&u[a])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:De(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}},rg=Ie({},ul,{get(e,t){if(t!==Symbol.unscopables)return ul.get(e,t,e)},has(e,t){return t[0]!=="_"&&!B2(t)}});function ag(){return null}function lg(){return null}function cg(e){}function ug(e){}function fg(){return null}function dg(){}function hg(e,t){return null}function Ti(){return X1().slots}function pg(){return X1().attrs}function X1(e){const t=dt();return t.setupContext||(t.setupContext=I0(t))}function ui(e){return ce(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}function Q1(e,t){const n=ui(e);for(const s in t){if(s.startsWith("__skip"))continue;let o=n[s];o?ce(o)||ye(o)?o=n[s]={type:o,default:t[s]}:o.default=t[s]:o===null&&(o=n[s]={default:t[s]}),o&&t[`__skip_${s}`]&&(o.skipFactory=!0)}return n}function $n(e,t){return!e||!t?e||t:ce(e)&&ce(t)?e.concat(t):Ie({},ui(e),ui(t))}function Z1(e,t){const n={};for(const s in e)t.includes(s)||Object.defineProperty(n,s,{enumerable:!0,get:()=>e[s]});return n}function mg(e){const t=dt();let n=e();return gl(),ac(n)&&(n=n.catch(s=>{throw qs(t),s})),[n,()=>qs(t)]}let fl=!0;function gg(e){const t=xc(e),n=e.proxy,s=e.ctx;fl=!1,t.beforeCreate&&ef(t.beforeCreate,e,"bc");const{data:o,computed:i,methods:r,watch:a,provide:c,inject:u,created:f,beforeMount:d,mounted:h,beforeUpdate:p,updated:g,activated:v,deactivated:k,beforeDestroy:b,beforeUnmount:w,destroyed:y,unmounted:_,render:x,renderTracked:L,renderTriggered:V,errorCaptured:E,serverPrefetch:I,expose:P,inheritAttrs:N,components:$,directives:U,filters:q}=t;if(u&&vg(u,s,null),r)for(const ae in r){const ne=r[ae];ye(ne)&&(s[ae]=ne.bind(n))}if(o){const ae=o.call(n,n);Ue(ae)&&(e.data=Dn(ae))}if(fl=!0,i)for(const ae in i){const ne=i[ae],he=ye(ne)?ne.bind(n,n):ye(ne.get)?ne.get.bind(n,n):Ht,st=!ye(ne)&&ye(ne.set)?ne.set.bind(n):Ht,je=F({get:he,set:st});Object.defineProperty(s,ae,{enumerable:!0,configurable:!0,get:()=>je.value,set:yt=>je.value=yt})}if(a)for(const ae in a)e0(a[ae],s,n,ae);if(c){const ae=ye(c)?c.call(n):c;Reflect.ownKeys(ae).forEach(ne=>{In(ne,ae[ne])})}f&&ef(f,e,"c");function G(ae,ne){ce(ne)?ne.forEach(he=>ae(he.bind(n))):ne&&ae(ne.bind(n))}if(G(Mo,d),G(be,h),G(Cc,p),G(Fo,g),G(j1,v),G(U1,k),G(G1,E),G(Y1,L),G(K1,V),G(ls,w),G(cn,_),G(q1,I),ce(P))if(P.length){const ae=e.exposed||(e.exposed={});P.forEach(ne=>{Object.defineProperty(ae,ne,{get:()=>n[ne],set:he=>n[ne]=he,enumerable:!0})})}else e.exposed||(e.exposed={});x&&e.render===Ht&&(e.render=x),N!=null&&(e.inheritAttrs=N),$&&(e.components=$),U&&(e.directives=U),I&&kc(e)}function vg(e,t,n=Ht){ce(e)&&(e=dl(e));for(const s in e){const o=e[s];let i;Ue(o)?"default"in o?i=qe(o.from||s,o.default,!0):i=qe(o.from||s):i=qe(o),Ye(i)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>i.value,set:r=>i.value=r}):t[s]=i}}function ef(e,t,n){yn(ce(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function e0(e,t,n,s){let o=s.includes(".")?y0(n,s):()=>n[s];if(_e(e)){const i=t[e];ye(i)&&te(o,i)}else if(ye(e))te(o,e.bind(n));else if(Ue(e))if(ce(e))e.forEach(i=>e0(i,t,n,s));else{const i=ye(e.handler)?e.handler.bind(n):t[e.handler];ye(i)&&te(o,i,e)}}function xc(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:o,optionsCache:i,config:{optionMergeStrategies:r}}=e.appContext,a=i.get(t);let c;return a?c=a:!o.length&&!n&&!s?c=t:(c={},o.length&&o.forEach(u=>xr(c,u,r,!0)),xr(c,t,r)),Ue(t)&&i.set(t,c),c}function xr(e,t,n,s=!1){const{mixins:o,extends:i}=t;i&&xr(e,i,n,!0),o&&o.forEach(r=>xr(e,r,n,!0));for(const r in t)if(!(s&&r==="expose")){const a=yg[r]||n&&n[r];e[r]=a?a(e[r],t[r]):t[r]}return e}const yg={data:tf,props:nf,emits:nf,methods:Ko,computed:Ko,beforeCreate:Vt,created:Vt,beforeMount:Vt,mounted:Vt,beforeUpdate:Vt,updated:Vt,beforeDestroy:Vt,beforeUnmount:Vt,destroyed:Vt,unmounted:Vt,activated:Vt,deactivated:Vt,errorCaptured:Vt,serverPrefetch:Vt,components:Ko,directives:Ko,watch:kg,provide:tf,inject:bg};function tf(e,t){return t?e?function(){return Ie(ye(e)?e.call(this,this):e,ye(t)?t.call(this,this):t)}:t:e}function bg(e,t){return Ko(dl(e),dl(t))}function dl(e){if(ce(e)){const t={};for(let n=0;n1)return n&&ye(t)?t.call(s&&s.proxy):t}}function Ac(){return!!(dt()||Ds)}const n0={},s0=()=>Object.create(n0),o0=e=>Object.getPrototypeOf(e)===n0;function _g(e,t,n,s=!1){const o={},i=s0();e.propsDefaults=Object.create(null),i0(e,t,o,i);for(const r in e.propsOptions[0])r in o||(o[r]=void 0);n?e.props=s?o:pc(o):e.type.props?e.props=o:e.props=i,e.attrs=i}function Sg(e,t,n,s){const{props:o,attrs:i,vnode:{patchFlag:r}}=e,a=Pe(o),[c]=e.propsOptions;let u=!1;if((s||r>0)&&!(r&16)){if(r&8){const f=e.vnode.dynamicProps;for(let d=0;d{c=!0;const[h,p]=r0(d,t,!0);Ie(r,h),p&&a.push(...p)};!n&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}if(!i&&!c)return Ue(e)&&s.set(e,fo),fo;if(ce(i))for(let f=0;fe==="_"||e==="_ctx"||e==="$stable",Lc=e=>ce(e)?e.map(qt):[qt(e)],Eg=(e,t,n)=>{if(t._n)return t;const s=O((...o)=>Lc(t(...o)),n);return s._c=!1,s},a0=(e,t,n)=>{const s=e._ctx;for(const o in e){if($c(o))continue;const i=e[o];if(ye(i))t[o]=Eg(o,i,s);else if(i!=null){const r=Lc(i);t[o]=()=>r}}},l0=(e,t)=>{const n=Lc(t);e.slots.default=()=>n},c0=(e,t,n)=>{for(const s in t)(n||!$c(s))&&(e[s]=t[s])},xg=(e,t,n)=>{const s=e.slots=s0();if(e.vnode.shapeFlag&32){const o=t._;o?(c0(s,t,n),n&&s1(s,"_",o,!0)):a0(t,s)}else t&&l0(e,t)},Ag=(e,t,n)=>{const{vnode:s,slots:o}=e;let i=!0,r=Le;if(s.shapeFlag&32){const a=t._;a?n&&a===1?i=!1:c0(o,t,n):(i=!t.$stable,a0(t,o)),r=t}else t&&(l0(e,t),r={default:1});if(i)for(const a in o)!$c(a)&&r[a]==null&&delete o[a]},pt=C0;function u0(e){return d0(e)}function f0(e){return d0(e,Wm)}function d0(e,t){const n=ta();n.__VUE__=!0;const{insert:s,remove:o,patchProp:i,createElement:r,createText:a,createComment:c,setText:u,setElementText:f,parentNode:d,nextSibling:h,setScopeId:p=Ht,insertStaticContent:g}=e,v=(B,R,K,ee=null,X=null,Q=null,re=void 0,oe=null,se=!!R.dynamicChildren)=>{if(B===R)return;B&&!Tn(B,R)&&(ee=Ne(B),yt(B,X,Q,!0),B=null),R.patchFlag===-2&&(se=!1,R.dynamicChildren=null);const{type:Z,ref:ve,shapeFlag:ue}=R;switch(Z){case Ts:k(B,R,K,ee);break;case ut:b(B,R,K,ee);break;case Rs:B==null&&w(R,K,ee,re);break;case Y:$(B,R,K,ee,X,Q,re,oe,se);break;default:ue&1?x(B,R,K,ee,X,Q,re,oe,se):ue&6?U(B,R,K,ee,X,Q,re,oe,se):(ue&64||ue&128)&&Z.process(B,R,K,ee,X,Q,re,oe,se,bt)}ve!=null&&X?yo(ve,B&&B.ref,Q,R||B,!R):ve==null&&B&&B.ref!=null&&yo(B.ref,null,Q,B,!0)},k=(B,R,K,ee)=>{if(B==null)s(R.el=a(R.children),K,ee);else{const X=R.el=B.el;R.children!==B.children&&u(X,R.children)}},b=(B,R,K,ee)=>{B==null?s(R.el=c(R.children||""),K,ee):R.el=B.el},w=(B,R,K,ee)=>{[B.el,B.anchor]=g(B.children,R,K,ee,B.el,B.anchor)},y=({el:B,anchor:R},K,ee)=>{let X;for(;B&&B!==R;)X=h(B),s(B,K,ee),B=X;s(R,K,ee)},_=({el:B,anchor:R})=>{let K;for(;B&&B!==R;)K=h(B),o(B),B=K;o(R)},x=(B,R,K,ee,X,Q,re,oe,se)=>{if(R.type==="svg"?re="svg":R.type==="math"&&(re="mathml"),B==null)L(R,K,ee,X,Q,re,oe,se);else{const Z=B.el&&B.el._isVueCE?B.el:null;try{Z&&Z._beginPatch(),I(B,R,X,Q,re,oe,se)}finally{Z&&Z._endPatch()}}},L=(B,R,K,ee,X,Q,re,oe)=>{let se,Z;const{props:ve,shapeFlag:ue,transition:pe,dirs:Ce}=B;if(se=B.el=r(B.type,Q,ve&&ve.is,ve),ue&8?f(se,B.children):ue&16&&E(B.children,se,null,ee,X,Da(B,Q),re,oe),Ce&&Nn(B,null,ee,"created"),V(se,B,B.scopeId,re,ee),ve){for(const Xe in ve)Xe!=="value"&&!Cs(Xe)&&i(se,Xe,null,ve[Xe],Q,ee);"value"in ve&&i(se,"value",null,ve.value,Q),(Z=ve.onVnodeBeforeMount)&&Ut(Z,ee,B)}Ce&&Nn(B,null,ee,"beforeMount");const Me=h0(X,pe);Me&&pe.beforeEnter(se),s(se,R,K),((Z=ve&&ve.onVnodeMounted)||Me||Ce)&&pt(()=>{Z&&Ut(Z,ee,B),Me&&pe.enter(se),Ce&&Nn(B,null,ee,"mounted")},X)},V=(B,R,K,ee,X)=>{if(K&&p(B,K),ee)for(let Q=0;Q{for(let Z=se;Z{const oe=R.el=B.el;let{patchFlag:se,dynamicChildren:Z,dirs:ve}=R;se|=B.patchFlag&16;const ue=B.props||Le,pe=R.props||Le;let Ce;if(K&&Ps(K,!1),(Ce=pe.onVnodeBeforeUpdate)&&Ut(Ce,K,R,B),ve&&Nn(R,B,K,"beforeUpdate"),K&&Ps(K,!0),(ue.innerHTML&&pe.innerHTML==null||ue.textContent&&pe.textContent==null)&&f(oe,""),Z?P(B.dynamicChildren,Z,oe,K,ee,Da(R,X),Q):re||ne(B,R,oe,null,K,ee,Da(R,X),Q,!1),se>0){if(se&16)N(oe,ue,pe,K,X);else if(se&2&&ue.class!==pe.class&&i(oe,"class",null,pe.class,X),se&4&&i(oe,"style",ue.style,pe.style,X),se&8){const Me=R.dynamicProps;for(let Xe=0;Xe{Ce&&Ut(Ce,K,R,B),ve&&Nn(R,B,K,"updated")},ee)},P=(B,R,K,ee,X,Q,re)=>{for(let oe=0;oe{if(R!==K){if(R!==Le)for(const Q in R)!Cs(Q)&&!(Q in K)&&i(B,Q,R[Q],null,X,ee);for(const Q in K){if(Cs(Q))continue;const re=K[Q],oe=R[Q];re!==oe&&Q!=="value"&&i(B,Q,oe,re,X,ee)}"value"in K&&i(B,"value",R.value,K.value,X)}},$=(B,R,K,ee,X,Q,re,oe,se)=>{const Z=R.el=B?B.el:a(""),ve=R.anchor=B?B.anchor:a("");let{patchFlag:ue,dynamicChildren:pe,slotScopeIds:Ce}=R;Ce&&(oe=oe?oe.concat(Ce):Ce),B==null?(s(Z,K,ee),s(ve,K,ee),E(R.children||[],K,ve,X,Q,re,oe,se)):ue>0&&ue&64&&pe&&B.dynamicChildren?(P(B.dynamicChildren,pe,K,X,Q,re,oe),(R.key!=null||X&&R===X.subTree)&&Ic(B,R,!0)):ne(B,R,K,ve,X,Q,re,oe,se)},U=(B,R,K,ee,X,Q,re,oe,se)=>{R.slotScopeIds=oe,B==null?R.shapeFlag&512?X.ctx.activate(R,K,ee,re,se):q(R,K,ee,X,Q,re,se):J(B,R,se)},q=(B,R,K,ee,X,Q,re)=>{const oe=B.component=x0(B,ee,X);if(Si(B)&&(oe.ctx.renderer=bt),$0(oe,!1,re),oe.asyncDep){if(X&&X.registerDep(oe,G,re),!B.el){const se=oe.subTree=H(ut);b(null,se,R,K),B.placeholder=se.el}}else G(oe,B,R,K,X,Q,re)},J=(B,R,K)=>{const ee=R.component=B.component;if(Ng(B,R,K))if(ee.asyncDep&&!ee.asyncResolved){ae(ee,R,K);return}else ee.next=R,ee.update();else R.el=B.el,ee.vnode=R},G=(B,R,K,ee,X,Q,re)=>{const oe=()=>{if(B.isMounted){let{next:ue,bu:pe,u:Ce,parent:Me,vnode:Xe}=B;{const Zt=p0(B);if(Zt){ue&&(ue.el=Xe.el,ae(B,ue,re)),Zt.asyncDep.then(()=>{B.isUnmounted||oe()});return}}let We=ue,zt;Ps(B,!1),ue?(ue.el=Xe.el,ae(B,ue,re)):ue=Xe,pe&&mo(pe),(zt=ue.props&&ue.props.onVnodeBeforeUpdate)&&Ut(zt,Me,ue,Xe),Ps(B,!0);const Et=ar(B),wn=B.subTree;B.subTree=Et,v(wn,Et,d(wn.el),Ne(wn),B,X,Q),ue.el=Et.el,We===null&&pa(B,Et.el),Ce&&pt(Ce,X),(zt=ue.props&&ue.props.onVnodeUpdated)&&pt(()=>Ut(zt,Me,ue,Xe),X)}else{let ue;const{el:pe,props:Ce}=R,{bm:Me,m:Xe,parent:We,root:zt,type:Et}=B,wn=Ss(R);if(Ps(B,!1),Me&&mo(Me),!wn&&(ue=Ce&&Ce.onVnodeBeforeMount)&&Ut(ue,We,R),Ps(B,!0),pe&&Qt){const Zt=()=>{B.subTree=ar(B),Qt(pe,B.subTree,B,X,null)};wn&&Et.__asyncHydrate?Et.__asyncHydrate(pe,B,Zt):Zt()}else{zt.ce&&zt.ce._def.shadowRoot!==!1&&zt.ce._injectChildStyle(Et);const Zt=B.subTree=ar(B);v(null,Zt,K,ee,B,X,Q),R.el=Zt.el}if(Xe&&pt(Xe,X),!wn&&(ue=Ce&&Ce.onVnodeMounted)){const Zt=R;pt(()=>Ut(ue,We,Zt),X)}(R.shapeFlag&256||We&&Ss(We.vnode)&&We.vnode.shapeFlag&256)&&B.a&&pt(B.a,X),B.isMounted=!0,R=K=ee=null}};B.scope.on();const se=B.effect=new oi(oe);B.scope.off();const Z=B.update=se.run.bind(se),ve=B.job=se.runIfDirty.bind(se);ve.i=B,ve.id=B.uid,se.scheduler=()=>vc(ve),Ps(B,!0),Z()},ae=(B,R,K)=>{R.component=B;const ee=B.vnode.props;B.vnode=R,B.next=null,Sg(B,R.props,ee,K),Ag(B,R.children,K),ss(),Wu(B),os()},ne=(B,R,K,ee,X,Q,re,oe,se=!1)=>{const Z=B&&B.children,ve=B?B.shapeFlag:0,ue=R.children,{patchFlag:pe,shapeFlag:Ce}=R;if(pe>0){if(pe&128){st(Z,ue,K,ee,X,Q,re,oe,se);return}else if(pe&256){he(Z,ue,K,ee,X,Q,re,oe,se);return}}Ce&8?(ve&16&&we(Z,X,Q),ue!==Z&&f(K,ue)):ve&16?Ce&16?st(Z,ue,K,ee,X,Q,re,oe,se):we(Z,X,Q,!0):(ve&8&&f(K,""),Ce&16&&E(ue,K,ee,X,Q,re,oe,se))},he=(B,R,K,ee,X,Q,re,oe,se)=>{B=B||fo,R=R||fo;const Z=B.length,ve=R.length,ue=Math.min(Z,ve);let pe;for(pe=0;peve?we(B,X,Q,!0,!1,ue):E(R,K,ee,X,Q,re,oe,se,ue)},st=(B,R,K,ee,X,Q,re,oe,se)=>{let Z=0;const ve=R.length;let ue=B.length-1,pe=ve-1;for(;Z<=ue&&Z<=pe;){const Ce=B[Z],Me=R[Z]=se?ys(R[Z]):qt(R[Z]);if(Tn(Ce,Me))v(Ce,Me,K,null,X,Q,re,oe,se);else break;Z++}for(;Z<=ue&&Z<=pe;){const Ce=B[ue],Me=R[pe]=se?ys(R[pe]):qt(R[pe]);if(Tn(Ce,Me))v(Ce,Me,K,null,X,Q,re,oe,se);else break;ue--,pe--}if(Z>ue){if(Z<=pe){const Ce=pe+1,Me=Cepe)for(;Z<=ue;)yt(B[Z],X,Q,!0),Z++;else{const Ce=Z,Me=Z,Xe=new Map;for(Z=Me;Z<=pe;Z++){const en=R[Z]=se?ys(R[Z]):qt(R[Z]);en.key!=null&&Xe.set(en.key,Z)}let We,zt=0;const Et=pe-Me+1;let wn=!1,Zt=0;const Ro=new Array(Et);for(Z=0;Z=Et){yt(en,X,Q,!0);continue}let Mn;if(en.key!=null)Mn=Xe.get(en.key);else for(We=Me;We<=pe;We++)if(Ro[We-Me]===0&&Tn(en,R[We])){Mn=We;break}Mn===void 0?yt(en,X,Q,!0):(Ro[Mn-Me]=Z+1,Mn>=Zt?Zt=Mn:wn=!0,v(en,R[Mn],K,null,X,Q,re,oe,se),zt++)}const Ou=wn?$g(Ro):fo;for(We=Ou.length-1,Z=Et-1;Z>=0;Z--){const en=Me+Z,Mn=R[en],Du=R[en+1],Ru=en+1{const{el:Q,type:re,transition:oe,children:se,shapeFlag:Z}=B;if(Z&6){je(B.component.subTree,R,K,ee);return}if(Z&128){B.suspense.move(R,K,ee);return}if(Z&64){re.move(B,R,K,bt);return}if(re===Y){s(Q,R,K);for(let ue=0;ueoe.enter(Q),X);else{const{leave:ue,delayLeave:pe,afterLeave:Ce}=oe,Me=()=>{B.ctx.isUnmounted?o(Q):s(Q,R,K)},Xe=()=>{Q._isLeaving&&Q[Jn](!0),ue(Q,()=>{Me(),Ce&&Ce()})};pe?pe(Q,Me,Xe):Xe()}else s(Q,R,K)},yt=(B,R,K,ee=!1,X=!1)=>{const{type:Q,props:re,ref:oe,children:se,dynamicChildren:Z,shapeFlag:ve,patchFlag:ue,dirs:pe,cacheIndex:Ce}=B;if(ue===-2&&(X=!1),oe!=null&&(ss(),yo(oe,null,K,B,!0),os()),Ce!=null&&(R.renderCache[Ce]=void 0),ve&256){R.ctx.deactivate(B);return}const Me=ve&1&&pe,Xe=!Ss(B);let We;if(Xe&&(We=re&&re.onVnodeBeforeUnmount)&&Ut(We,R,B),ve&6)Zs(B.component,K,ee);else{if(ve&128){B.suspense.unmount(K,ee);return}Me&&Nn(B,null,R,"beforeUnmount"),ve&64?B.type.remove(B,R,K,bt,ee):Z&&!Z.hasOnce&&(Q!==Y||ue>0&&ue&64)?we(Z,R,K,!1,!0):(Q===Y&&ue&384||!X&&ve&16)&&we(se,R,K),ee&&Wn(B)}(Xe&&(We=re&&re.onVnodeUnmounted)||Me)&&pt(()=>{We&&Ut(We,R,B),Me&&Nn(B,null,R,"unmounted")},K)},Wn=B=>{const{type:R,el:K,anchor:ee,transition:X}=B;if(R===Y){us(K,ee);return}if(R===Rs){_(B);return}const Q=()=>{o(K),X&&!X.persisted&&X.afterLeave&&X.afterLeave()};if(B.shapeFlag&1&&X&&!X.persisted){const{leave:re,delayLeave:oe}=X,se=()=>re(K,Q);oe?oe(B.el,Q,se):se()}else Q()},us=(B,R)=>{let K;for(;B!==R;)K=h(B),o(B),B=K;o(R)},Zs=(B,R,K)=>{const{bum:ee,scope:X,job:Q,subTree:re,um:oe,m:se,a:Z}=B;Ar(se),Ar(Z),ee&&mo(ee),X.stop(),Q&&(Q.flags|=8,yt(re,B,R,K)),oe&&pt(oe,R),pt(()=>{B.isUnmounted=!0},R)},we=(B,R,K,ee=!1,X=!1,Q=0)=>{for(let re=Q;re{if(B.shapeFlag&6)return Ne(B.component.subTree);if(B.shapeFlag&128)return B.suspense.next();const R=h(B.anchor||B.el),K=R&&R[M1];return K?h(K):R};let Ke=!1;const gt=(B,R,K)=>{B==null?R._vnode&&yt(R._vnode,null,null,!0):v(R._vnode||null,B,R,null,null,null,K),R._vnode=B,Ke||(Ke=!0,Wu(),Tr(),Ke=!1)},bt={p:v,um:yt,m:je,r:Wn,mt:q,mc:E,pc:ne,pbc:P,n:Ne,o:e};let Nt,Qt;return t&&([Nt,Qt]=t(bt)),{render:gt,hydrate:Nt,createApp:Cg(gt,Nt)}}function Da({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function Ps({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function h0(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Ic(e,t,n=!1){const s=e.children,o=t.children;if(ce(s)&&ce(o))for(let i=0;i>1,e[n[a]]0&&(t[s]=n[i-1]),n[i]=s)}}for(i=n.length,r=n[i-1];i-- >0;)n[i]=r,r=t[r];return n}function p0(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:p0(t)}function Ar(e){if(e)for(let t=0;tqe(m0);function zn(e,t){return Ei(e,null,t)}function da(e,t){return Ei(e,null,{flush:"post"})}function v0(e,t){return Ei(e,null,{flush:"sync"})}function te(e,t,n){return Ei(e,t,n)}function Ei(e,t,n=Le){const{immediate:s,deep:o,flush:i,once:r}=n,a=Ie({},n),c=t&&s||!t&&i!=="post";let u;if(wo){if(i==="sync"){const p=g0();u=p.__watcherHandles||(p.__watcherHandles=[])}else if(!c){const p=()=>{};return p.stop=Ht,p.resume=Ht,p.pause=Ht,p}}const f=St;a.call=(p,g,v)=>yn(p,f,g,v);let d=!1;i==="post"?a.scheduler=p=>{pt(p,f&&f.suspense)}:i!=="sync"&&(d=!0,a.scheduler=(p,g)=>{g?p():vc(p)}),a.augmentJob=p=>{t&&(p.flags|=4),d&&(p.flags|=2,f&&(p.id=f.uid,p.i=f))};const h=Lm(e,t,a);return wo&&(u?u.push(h):c&&h()),h}function Lg(e,t,n){const s=this.proxy,o=_e(e)?e.includes(".")?y0(s,e):()=>s[e]:e.bind(s,s);let i;ye(t)?i=t:(i=t.handler,n=t);const r=qs(this),a=Ei(o,i.bind(s),n);return r(),a}function y0(e,t){const n=t.split(".");return()=>{let s=e;for(let o=0;o{let f,d=Le,h;return v0(()=>{const p=e[o];Ot(f,p)&&(f=p,u())}),{get(){return c(),n.get?n.get(f):f},set(p){const g=n.set?n.set(p):p;if(!Ot(g,f)&&!(d!==Le&&Ot(p,d)))return;const v=s.vnode.props;v&&(t in v||o in v||i in v)&&(`onUpdate:${t}`in v||`onUpdate:${o}`in v||`onUpdate:${i}`in v)||(f=p,u()),s.emit(`update:${t}`,g),Ot(p,g)&&Ot(p,d)&&!Ot(g,h)&&u(),d=p,h=g}}});return a[Symbol.iterator]=()=>{let c=0;return{next(){return c<2?{value:c++?r||Le:a,done:!1}:{done:!0}}}},a}const b0=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${tt(t)}Modifiers`]||e[`${Kt(t)}Modifiers`];function Ig(e,t,...n){if(e.isUnmounted)return;const s=e.vnode.props||Le;let o=n;const i=t.startsWith("update:"),r=i&&b0(s,t.slice(7));r&&(r.trim&&(o=n.map(f=>_e(f)?f.trim():f)),r.number&&(o=n.map(ea)));let a,c=s[a=po(t)]||s[a=po(tt(t))];!c&&i&&(c=s[a=po(Kt(t))]),c&&yn(c,e,6,o);const u=s[a+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[a])return;e.emitted[a]=!0,yn(u,e,6,o)}}const Pg=new WeakMap;function k0(e,t,n=!1){const s=n?Pg:t.emitsCache,o=s.get(e);if(o!==void 0)return o;const i=e.emits;let r={},a=!1;if(!ye(e)){const c=u=>{const f=k0(u,t,!0);f&&(a=!0,Ie(r,f))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!i&&!a?(Ue(e)&&s.set(e,null),null):(ce(i)?i.forEach(c=>r[c]=null):Ie(r,i),Ue(e)&&s.set(e,r),r)}function ha(e,t){return!e||!Ys(t)?!1:(t=t.slice(2).replace(/Once$/,""),De(e,t[0].toLowerCase()+t.slice(1))||De(e,Kt(t))||De(e,t))}function ar(e){const{type:t,vnode:n,proxy:s,withProxy:o,propsOptions:[i],slots:r,attrs:a,emit:c,render:u,renderCache:f,props:d,data:h,setupState:p,ctx:g,inheritAttrs:v}=e,k=ci(e);let b,w;try{if(n.shapeFlag&4){const _=o||s,x=_;b=qt(u.call(x,_,f,d,p,h,g)),w=a}else{const _=t;b=qt(_.length>1?_(d,{attrs:a,slots:r,emit:c}):_(d,null)),w=t.props?a:Fg(a)}}catch(_){Qo.length=0,Xs(_,e,1),b=H(ut)}let y=b;if(w&&v!==!1){const _=Object.keys(w),{shapeFlag:x}=y;_.length&&x&7&&(i&&_.some(ic)&&(w=Bg(w,i)),y=Rn(y,w,!1,!0))}return n.dirs&&(y=Rn(y,null,!1,!0),y.dirs=y.dirs?y.dirs.concat(n.dirs):n.dirs),n.transition&&rs(y,n.transition),b=y,ci(k),b}function Mg(e,t=!0){let n;for(let s=0;s{let t;for(const n in e)(n==="class"||n==="style"||Ys(n))&&((t||(t={}))[n]=e[n]);return t},Bg=(e,t)=>{const n={};for(const s in e)(!ic(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function Ng(e,t,n){const{props:s,children:o,component:i}=e,{props:r,children:a,patchFlag:c}=t,u=i.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return s?of(s,r,u):!!r;if(c&8){const f=t.dynamicProps;for(let d=0;de.__isSuspense;let pl=0;const Vg={name:"Suspense",__isSuspense:!0,process(e,t,n,s,o,i,r,a,c,u){if(e==null)Dg(t,n,s,o,i,r,a,c,u);else{if(i&&i.deps>0&&!e.suspense.isInFallback){t.suspense=e.suspense,t.suspense.vnode=t,t.el=e.el;return}Rg(e,t,n,s,o,r,a,c,u)}},hydrate:Hg,normalize:zg},Og=Vg;function fi(e,t){const n=e.props&&e.props[t];ye(n)&&n()}function Dg(e,t,n,s,o,i,r,a,c){const{p:u,o:{createElement:f}}=c,d=f("div"),h=e.suspense=w0(e,o,s,t,d,n,i,r,a,c);u(null,h.pendingBranch=e.ssContent,d,null,s,h,i,r),h.deps>0?(fi(e,"onPending"),fi(e,"onFallback"),u(null,e.ssFallback,t,n,s,null,i,r),bo(h,e.ssFallback)):h.resolve(!1,!0)}function Rg(e,t,n,s,o,i,r,a,{p:c,um:u,o:{createElement:f}}){const d=t.suspense=e.suspense;d.vnode=t,t.el=e.el;const h=t.ssContent,p=t.ssFallback,{activeBranch:g,pendingBranch:v,isInFallback:k,isHydrating:b}=d;if(v)d.pendingBranch=h,Tn(v,h)?(c(v,h,d.hiddenContainer,null,o,d,i,r,a),d.deps<=0?d.resolve():k&&(b||(c(g,p,n,s,o,null,i,r,a),bo(d,p)))):(d.pendingId=pl++,b?(d.isHydrating=!1,d.activeBranch=v):u(v,o,d),d.deps=0,d.effects.length=0,d.hiddenContainer=f("div"),k?(c(null,h,d.hiddenContainer,null,o,d,i,r,a),d.deps<=0?d.resolve():(c(g,p,n,s,o,null,i,r,a),bo(d,p))):g&&Tn(g,h)?(c(g,h,n,s,o,d,i,r,a),d.resolve(!0)):(c(null,h,d.hiddenContainer,null,o,d,i,r,a),d.deps<=0&&d.resolve()));else if(g&&Tn(g,h))c(g,h,n,s,o,d,i,r,a),bo(d,h);else if(fi(t,"onPending"),d.pendingBranch=h,h.shapeFlag&512?d.pendingId=h.component.suspenseId:d.pendingId=pl++,c(null,h,d.hiddenContainer,null,o,d,i,r,a),d.deps<=0)d.resolve();else{const{timeout:w,pendingId:y}=d;w>0?setTimeout(()=>{d.pendingId===y&&d.fallback(p)},w):w===0&&d.fallback(p)}}function w0(e,t,n,s,o,i,r,a,c,u,f=!1){const{p:d,m:h,um:p,n:g,o:{parentNode:v,remove:k}}=u;let b;const w=jg(e);w&&t&&t.pendingBranch&&(b=t.pendingId,t.deps++);const y=e.props?kr(e.props.timeout):void 0,_=i,x={vnode:e,parent:t,parentComponent:n,namespace:r,container:s,hiddenContainer:o,deps:0,pendingId:pl++,timeout:typeof y=="number"?y:-1,activeBranch:null,pendingBranch:null,isInFallback:!f,isHydrating:f,isUnmounted:!1,effects:[],resolve(L=!1,V=!1){const{vnode:E,activeBranch:I,pendingBranch:P,pendingId:N,effects:$,parentComponent:U,container:q,isInFallback:J}=x;let G=!1;x.isHydrating?x.isHydrating=!1:L||(G=I&&P.transition&&P.transition.mode==="out-in",G&&(I.transition.afterLeave=()=>{N===x.pendingId&&(h(P,q,i===_?g(I):i,0),ai($),J&&E.ssFallback&&(E.ssFallback.el=null))}),I&&(v(I.el)===q&&(i=g(I)),p(I,U,x,!0),!G&&J&&E.ssFallback&&(E.ssFallback.el=null)),G||h(P,q,i,0)),bo(x,P),x.pendingBranch=null,x.isInFallback=!1;let ae=x.parent,ne=!1;for(;ae;){if(ae.pendingBranch){ae.effects.push(...$),ne=!0;break}ae=ae.parent}!ne&&!G&&ai($),x.effects=[],w&&t&&t.pendingBranch&&b===t.pendingId&&(t.deps--,t.deps===0&&!V&&t.resolve()),fi(E,"onResolve")},fallback(L){if(!x.pendingBranch)return;const{vnode:V,activeBranch:E,parentComponent:I,container:P,namespace:N}=x;fi(V,"onFallback");const $=g(E),U=()=>{x.isInFallback&&(d(null,L,P,$,I,null,N,a,c),bo(x,L))},q=L.transition&&L.transition.mode==="out-in";q&&(E.transition.afterLeave=U),x.isInFallback=!0,p(E,I,null,!0),q||U()},move(L,V,E){x.activeBranch&&h(x.activeBranch,L,V,E),x.container=L},next(){return x.activeBranch&&g(x.activeBranch)},registerDep(L,V,E){const I=!!x.pendingBranch;I&&x.deps++;const P=L.vnode.el;L.asyncDep.catch(N=>{Xs(N,L,0)}).then(N=>{if(L.isUnmounted||x.isUnmounted||x.pendingId!==L.suspenseId)return;L.asyncResolved=!0;const{vnode:$}=L;vl(L,N,!1),P&&($.el=P);const U=!P&&L.subTree.el;V(L,$,v(P||L.subTree.el),P?null:g(L.subTree),x,r,E),U&&($.placeholder=null,k(U)),pa(L,$.el),I&&--x.deps===0&&x.resolve()})},unmount(L,V){x.isUnmounted=!0,x.activeBranch&&p(x.activeBranch,n,L,V),x.pendingBranch&&p(x.pendingBranch,n,L,V)}};return x}function Hg(e,t,n,s,o,i,r,a,c){const u=t.suspense=w0(t,s,n,e.parentNode,document.createElement("div"),null,o,i,r,a,!0),f=c(e,u.pendingBranch=t.ssContent,n,u,i,r);return u.deps===0&&u.resolve(!1,!0),f}function zg(e){const{shapeFlag:t,children:n}=e,s=t&32;e.ssContent=rf(s?n.default:n),e.ssFallback=s?rf(n.fallback):H(ut)}function rf(e){let t;if(ye(e)){const n=Ws&&e._c;n&&(e._d=!1,m()),e=e(),n&&(e._d=!0,t=Mt,_0())}return ce(e)&&(e=Mg(e)),e=qt(e),t&&!e.dynamicChildren&&(e.dynamicChildren=t.filter(n=>n!==e)),e}function C0(e,t){t&&t.pendingBranch?ce(e)?t.effects.push(...e):t.effects.push(e):ai(e)}function bo(e,t){e.activeBranch=t;const{vnode:n,parentComponent:s}=e;let o=t.el;for(;!o&&t.component;)t=t.component.subTree,o=t.el;n.el=o,s&&s.subTree===n&&(s.vnode.el=o,pa(s,o))}function jg(e){const t=e.props&&e.props.suspensible;return t!=null&&t!==!1}const Y=Symbol.for("v-fgt"),Ts=Symbol.for("v-txt"),ut=Symbol.for("v-cmt"),Rs=Symbol.for("v-stc"),Qo=[];let Mt=null;function m(e=!1){Qo.push(Mt=e?null:[])}function _0(){Qo.pop(),Mt=Qo[Qo.length-1]||null}let Ws=1;function di(e,t=!1){Ws+=e,e<0&&Mt&&t&&(Mt.hasOnce=!0)}function S0(e){return e.dynamicChildren=Ws>0?Mt||fo:null,_0(),Ws>0&&Mt&&Mt.push(e),e}function C(e,t,n,s,o,i){return S0(S(e,t,n,s,o,i,!0))}function D(e,t,n,s,o){return S0(H(e,t,n,s,o,!0))}function Ln(e){return e?e.__v_isVNode===!0:!1}function Tn(e,t){return e.type===t.type&&e.key===t.key}function Ug(e){}const T0=({key:e})=>e??null,lr=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?_e(e)||Ye(e)||ye(e)?{i:Tt,r:e,k:t,f:!!n}:e:null);function S(e,t=null,n=null,s=0,o=null,i=e===Y?0:1,r=!1,a=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&T0(t),ref:t&&lr(t),scopeId:la,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:s,dynamicProps:o,dynamicChildren:null,appContext:null,ctx:Tt};return a?(Pc(c,n),i&128&&e.normalize(c)):n&&(c.shapeFlag|=_e(n)?8:16),Ws>0&&!r&&Mt&&(c.patchFlag>0||i&6)&&c.patchFlag!==32&&Mt.push(c),c}const H=Wg;function Wg(e,t=null,n=null,s=0,o=null,i=!1){if((!e||e===J1)&&(e=ut),Ln(e)){const a=Rn(e,t,!0);return n&&Pc(a,n),Ws>0&&!i&&Mt&&(a.shapeFlag&6?Mt[Mt.indexOf(e)]=a:Mt.push(a)),a.patchFlag=-2,a}if(Qg(e)&&(e=e.__vccOpts),t){t=Ze(t);let{class:a,style:c}=t;a&&!_e(a)&&(t.class=T(a)),Ue(c)&&(aa(c)&&!ce(c)&&(c=Ie({},c)),t.style=Fe(c))}const r=_e(e)?1:$r(e)?128:F1(e)?64:Ue(e)?4:ye(e)?2:0;return S(e,t,n,s,o,r,i,!0)}function Ze(e){return e?aa(e)||o0(e)?Ie({},e):e:null}function Rn(e,t,n=!1,s=!1){const{props:o,ref:i,patchFlag:r,children:a,transition:c}=e,u=t?nt(o||{},t):o,f={__v_isVNode:!0,__v_skip:!0,type:e.type,props:u,key:u&&T0(u),ref:t&&t.ref?n&&i?ce(i)?i.concat(lr(t)):[i,lr(t)]:lr(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:a,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Y?r===-1?16:r|16:r,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Rn(e.ssContent),ssFallback:e.ssFallback&&Rn(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&s&&rs(f,c.clone(f)),f}function rt(e=" ",t=0){return H(Ts,null,e,t)}function E0(e,t){const n=H(Rs,null,e);return n.staticCount=t,n}function A(e="",t=!1){return t?(m(),D(ut,null,e)):H(ut,null,e)}function qt(e){return e==null||typeof e=="boolean"?H(ut):ce(e)?H(Y,null,e.slice()):Ln(e)?ys(e):H(Ts,null,String(e))}function ys(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Rn(e)}function Pc(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(ce(t))n=16;else if(typeof t=="object")if(s&65){const o=t.default;o&&(o._c&&(o._d=!1),Pc(e,o()),o._c&&(o._d=!0));return}else{n=32;const o=t._;!o&&!o0(t)?t._ctx=Tt:o===3&&Tt&&(Tt.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else ye(t)?(t={default:t,_ctx:Tt},n=32):(t=String(t),s&64?(n=16,t=[rt(t)]):n=8);e.children=t,e.shapeFlag|=n}function nt(...e){const t={};for(let n=0;nSt||Tt;let Lr,ml;{const e=ta(),t=(n,s)=>{let o;return(o=e[n])||(o=e[n]=[]),o.push(s),i=>{o.length>1?o.forEach(r=>r(i)):o[0](i)}};Lr=t("__VUE_INSTANCE_SETTERS__",n=>St=n),ml=t("__VUE_SSR_SETTERS__",n=>wo=n)}const qs=e=>{const t=St;return Lr(e),e.scope.on(),()=>{e.scope.off(),Lr(t)}},gl=()=>{St&&St.scope.off(),Lr(null)};function A0(e){return e.vnode.shapeFlag&4}let wo=!1;function $0(e,t=!1,n=!1){t&&ml(t);const{props:s,children:o}=e.vnode,i=A0(e);_g(e,s,i,t),xg(e,o,n||t);const r=i?Yg(e,t):void 0;return t&&ml(!1),r}function Yg(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,ul);const{setup:s}=n;if(s){ss();const o=e.setupContext=s.length>1?I0(e):null,i=qs(e),r=Po(s,e,0,[e.props,o]),a=ac(r);if(os(),i(),(a||e.sp)&&!Ss(e)&&kc(e),a){if(r.then(gl,gl),t)return r.then(c=>{vl(e,c,t)}).catch(c=>{Xs(c,e,0)});e.asyncDep=r}else vl(e,r,t)}else L0(e,t)}function vl(e,t,n){ye(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Ue(t)&&(e.setupState=mc(t)),L0(e,n)}let Ir,yl;function Gg(e){Ir=e,yl=t=>{t.render._rc&&(t.withProxy=new Proxy(t.ctx,rg))}}const Jg=()=>!Ir;function L0(e,t,n){const s=e.type;if(!e.render){if(!t&&Ir&&!s.render){const o=s.template||xc(e).template;if(o){const{isCustomElement:i,compilerOptions:r}=e.appContext.config,{delimiters:a,compilerOptions:c}=s,u=Ie(Ie({isCustomElement:i,delimiters:a},r),c);s.render=Ir(o,u)}}e.render=s.render||Ht,yl&&yl(e)}{const o=qs(e);ss();try{gg(e)}finally{os(),o()}}}const Xg={get(e,t){return Pt(e,"get",""),e[t]}};function I0(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,Xg),slots:e.slots,emit:e.emit,expose:t}}function xi(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(mc(go(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Xo)return Xo[n](e)},has(t,n){return n in t||n in Xo}})):e.proxy}function bl(e,t=!0){return ye(e)?e.displayName||e.name:e.name||t&&e.__name}function Qg(e){return ye(e)&&"__vccOpts"in e}const F=(e,t)=>Em(e,t,wo);function nn(e,t,n){try{di(-1);const s=arguments.length;return s===2?Ue(t)&&!ce(t)?Ln(t)?H(e,null,[t]):H(e,t):H(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&Ln(n)&&(n=[n]),H(e,t,n))}finally{di(1)}}function Zg(){}function ev(e,t,n,s){const o=n[s];if(o&&P0(o,e))return o;const i=t();return i.memo=e.slice(),i.cacheIndex=s,n[s]=i}function P0(e,t){const n=e.memo;if(n.length!=t.length)return!1;for(let s=0;s0&&Mt&&Mt.push(e),!0}const M0="3.5.24",tv=Ht,nv=Bm,sv=io,ov=P1,iv={createComponentInstance:x0,setupComponent:$0,renderComponentRoot:ar,setCurrentRenderingInstance:ci,isVNode:Ln,normalizeVNode:qt,getComponentPublicInstance:xi,ensureValidVNode:Tc,pushWarningContext:Im,popWarningContext:Pm},rv=iv,av=null,lv=null,cv=null;let kl;const af=typeof window<"u"&&window.trustedTypes;if(af)try{kl=af.createPolicy("vue",{createHTML:e=>e})}catch{}const F0=kl?e=>kl.createHTML(e):e=>e,uv="http://www.w3.org/2000/svg",fv="http://www.w3.org/1998/Math/MathML",Gn=typeof document<"u"?document:null,lf=Gn&&Gn.createElement("template"),dv={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const o=t==="svg"?Gn.createElementNS(uv,e):t==="mathml"?Gn.createElementNS(fv,e):n?Gn.createElement(e,{is:n}):Gn.createElement(e);return e==="select"&&s&&s.multiple!=null&&o.setAttribute("multiple",s.multiple),o},createText:e=>Gn.createTextNode(e),createComment:e=>Gn.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Gn.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,o,i){const r=n?n.previousSibling:t.lastChild;if(o&&(o===i||o.nextSibling))for(;t.insertBefore(o.cloneNode(!0),n),!(o===i||!(o=o.nextSibling)););else{lf.innerHTML=F0(s==="svg"?`${e}`:s==="mathml"?`${e}`:e);const a=lf.content;if(s==="svg"||s==="mathml"){const c=a.firstChild;for(;c.firstChild;)a.appendChild(c.firstChild);a.removeChild(c)}t.insertBefore(a,n)}return[r?r.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},fs="transition",zo="animation",Co=Symbol("_vtc"),B0={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},N0=Ie({},bc,B0),hv=e=>(e.displayName="Transition",e.props=N0,e),vt=hv((e,{slots:t})=>nn(D1,V0(e),t)),Ms=(e,t=[])=>{ce(e)?e.forEach(n=>n(...t)):e&&e(...t)},cf=e=>e?ce(e)?e.some(t=>t.length>1):e.length>1:!1;function V0(e){const t={};for(const $ in e)$ in B0||(t[$]=e[$]);if(e.css===!1)return t;const{name:n="v",type:s,duration:o,enterFromClass:i=`${n}-enter-from`,enterActiveClass:r=`${n}-enter-active`,enterToClass:a=`${n}-enter-to`,appearFromClass:c=i,appearActiveClass:u=r,appearToClass:f=a,leaveFromClass:d=`${n}-leave-from`,leaveActiveClass:h=`${n}-leave-active`,leaveToClass:p=`${n}-leave-to`}=e,g=pv(o),v=g&&g[0],k=g&&g[1],{onBeforeEnter:b,onEnter:w,onEnterCancelled:y,onLeave:_,onLeaveCancelled:x,onBeforeAppear:L=b,onAppear:V=w,onAppearCancelled:E=y}=t,I=($,U,q,J)=>{$._enterCancelled=J,ps($,U?f:a),ps($,U?u:r),q&&q()},P=($,U)=>{$._isLeaving=!1,ps($,d),ps($,p),ps($,h),U&&U()},N=$=>(U,q)=>{const J=$?V:w,G=()=>I(U,$,q);Ms(J,[U,G]),uf(()=>{ps(U,$?c:i),Fn(U,$?f:a),cf(J)||ff(U,s,v,G)})};return Ie(t,{onBeforeEnter($){Ms(b,[$]),Fn($,i),Fn($,r)},onBeforeAppear($){Ms(L,[$]),Fn($,c),Fn($,u)},onEnter:N(!1),onAppear:N(!0),onLeave($,U){$._isLeaving=!0;const q=()=>P($,U);Fn($,d),$._enterCancelled?(Fn($,h),wl($)):(wl($),Fn($,h)),uf(()=>{$._isLeaving&&(ps($,d),Fn($,p),cf(_)||ff($,s,k,q))}),Ms(_,[$,q])},onEnterCancelled($){I($,!1,void 0,!0),Ms(y,[$])},onAppearCancelled($){I($,!0,void 0,!0),Ms(E,[$])},onLeaveCancelled($){P($),Ms(x,[$])}})}function pv(e){if(e==null)return null;if(Ue(e))return[Ra(e.enter),Ra(e.leave)];{const t=Ra(e);return[t,t]}}function Ra(e){return kr(e)}function Fn(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Co]||(e[Co]=new Set)).add(t)}function ps(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const n=e[Co];n&&(n.delete(t),n.size||(e[Co]=void 0))}function uf(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let mv=0;function ff(e,t,n,s){const o=e._endId=++mv,i=()=>{o===e._endId&&s()};if(n!=null)return setTimeout(i,n);const{type:r,timeout:a,propCount:c}=O0(e,t);if(!r)return s();const u=r+"end";let f=0;const d=()=>{e.removeEventListener(u,h),i()},h=p=>{p.target===e&&++f>=c&&d()};setTimeout(()=>{f(n[g]||"").split(", "),o=s(`${fs}Delay`),i=s(`${fs}Duration`),r=df(o,i),a=s(`${zo}Delay`),c=s(`${zo}Duration`),u=df(a,c);let f=null,d=0,h=0;t===fs?r>0&&(f=fs,d=r,h=i.length):t===zo?u>0&&(f=zo,d=u,h=c.length):(d=Math.max(r,u),f=d>0?r>u?fs:zo:null,h=f?f===fs?i.length:c.length:0);const p=f===fs&&/\b(?:transform|all)(?:,|$)/.test(s(`${fs}Property`).toString());return{type:f,timeout:d,propCount:h,hasTransform:p}}function df(e,t){for(;e.lengthhf(n)+hf(e[s])))}function hf(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function wl(e){return(e?e.ownerDocument:document).body.offsetHeight}function gv(e,t,n){const s=e[Co];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Pr=Symbol("_vod"),D0=Symbol("_vsh"),at={name:"show",beforeMount(e,{value:t},{transition:n}){e[Pr]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):jo(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:s}){!t!=!n&&(s?t?(s.beforeEnter(e),jo(e,!0),s.enter(e)):s.leave(e,()=>{jo(e,!1)}):jo(e,t))},beforeUnmount(e,{value:t}){jo(e,t)}};function jo(e,t){e.style.display=t?e[Pr]:"none",e[D0]=!t}function vv(){at.getSSRProps=({value:e})=>{if(!e)return{style:{display:"none"}}}}const R0=Symbol("");function yv(e){const t=dt();if(!t)return;const n=t.ut=(o=e(t.proxy))=>{Array.from(document.querySelectorAll(`[data-v-owner="${t.uid}"]`)).forEach(i=>Mr(i,o))},s=()=>{const o=e(t.proxy);t.ce?Mr(t.ce,o):Cl(t.subTree,o),n(o)};Cc(()=>{ai(s)}),be(()=>{te(s,Ht,{flush:"post"});const o=new MutationObserver(s);o.observe(t.subTree.el.parentNode,{childList:!0}),cn(()=>o.disconnect())})}function Cl(e,t){if(e.shapeFlag&128){const n=e.suspense;e=n.activeBranch,n.pendingBranch&&!n.isHydrating&&n.effects.push(()=>{Cl(n.activeBranch,t)})}for(;e.component;)e=e.component.subTree;if(e.shapeFlag&1&&e.el)Mr(e.el,t);else if(e.type===Y)e.children.forEach(n=>Cl(n,t));else if(e.type===Rs){let{el:n,anchor:s}=e;for(;n&&(Mr(n,t),n!==s);)n=n.nextSibling}}function Mr(e,t){if(e.nodeType===1){const n=e.style;let s="";for(const o in t){const i=J2(t[o]);n.setProperty(`--${o}`,i),s+=`--${o}: ${i};`}n[R0]=s}}const bv=/(?:^|;)\s*display\s*:/;function kv(e,t,n){const s=e.style,o=_e(n);let i=!1;if(n&&!o){if(t)if(_e(t))for(const r of t.split(";")){const a=r.slice(0,r.indexOf(":")).trim();n[a]==null&&cr(s,a,"")}else for(const r in t)n[r]==null&&cr(s,r,"");for(const r in n)r==="display"&&(i=!0),cr(s,r,n[r])}else if(o){if(t!==n){const r=s[R0];r&&(n+=";"+r),s.cssText=n,i=bv.test(n)}}else t&&e.removeAttribute("style");Pr in e&&(e[Pr]=i?s.display:"",e[D0]&&(s.display="none"))}const pf=/\s*!important$/;function cr(e,t,n){if(ce(n))n.forEach(s=>cr(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=wv(e,t);pf.test(n)?e.setProperty(Kt(s),n.replace(pf,""),"important"):e[s]=n}}const mf=["Webkit","Moz","ms"],Ha={};function wv(e,t){const n=Ha[t];if(n)return n;let s=tt(t);if(s!=="filter"&&s in e)return Ha[t]=s;s=Js(s);for(let o=0;oza||(Tv.then(()=>za=0),za=Date.now());function xv(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;yn(Av(s,n.value),t,5,[s])};return n.value=e,n.attached=Ev(),n}function Av(e,t){if(ce(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(s=>o=>!o._stopped&&s&&s(o))}else return t}const wf=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,$v=(e,t,n,s,o,i)=>{const r=o==="svg";t==="class"?gv(e,s,r):t==="style"?kv(e,n,s):Ys(t)?ic(t)||_v(e,t,n,s,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Lv(e,t,s,r))?(yf(e,t,s),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&vf(e,t,s,r,i,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!_e(s))?yf(e,tt(t),s,i,t):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),vf(e,t,s,r))};function Lv(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&wf(t)&&ye(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const o=e.tagName;if(o==="IMG"||o==="VIDEO"||o==="CANVAS"||o==="SOURCE")return!1}return wf(t)&&_e(n)?!1:t in e}const Cf={};function H0(e,t,n){let s=z(e,t);Qr(s)&&(s=Ie({},s,t));class o extends ma{constructor(r){super(s,r,n)}}return o.def=s,o}const Iv=((e,t)=>H0(e,t,X0)),Pv=typeof HTMLElement<"u"?HTMLElement:class{};class ma extends Pv{constructor(t,n={},s=Br){super(),this._def=t,this._props=n,this._createApp=s,this._isVueCE=!0,this._instance=null,this._app=null,this._nonce=this._def.nonce,this._connected=!1,this._resolved=!1,this._patching=!1,this._dirty=!1,this._numberProps=null,this._styleChildren=new WeakSet,this._ob=null,this.shadowRoot&&s!==Br?this._root=this.shadowRoot:t.shadowRoot!==!1?(this.attachShadow(Ie({},t.shadowRootOptions,{mode:"open"})),this._root=this.shadowRoot):this._root=this}connectedCallback(){if(!this.isConnected)return;!this.shadowRoot&&!this._resolved&&this._parseSlots(),this._connected=!0;let t=this;for(;t=t&&(t.parentNode||t.host);)if(t instanceof ma){this._parent=t;break}this._instance||(this._resolved?this._mount(this._def):t&&t._pendingResolve?this._pendingResolve=t._pendingResolve.then(()=>{this._pendingResolve=void 0,this._resolveDef()}):this._resolveDef())}_setParent(t=this._parent){t&&(this._instance.parent=t._instance,this._inheritParentContext(t))}_inheritParentContext(t=this._parent){t&&this._app&&Object.setPrototypeOf(this._app._context.provides,t._instance.provides)}disconnectedCallback(){this._connected=!1,Oe(()=>{this._connected||(this._ob&&(this._ob.disconnect(),this._ob=null),this._app&&this._app.unmount(),this._instance&&(this._instance.ce=void 0),this._app=this._instance=null,this._teleportTargets&&(this._teleportTargets.clear(),this._teleportTargets=void 0))})}_processMutations(t){for(const n of t)this._setAttr(n.attributeName)}_resolveDef(){if(this._pendingResolve)return;for(let s=0;s{this._resolved=!0,this._pendingResolve=void 0;const{props:i,styles:r}=s;let a;if(i&&!ce(i))for(const c in i){const u=i[c];(u===Number||u&&u.type===Number)&&(c in this._props&&(this._props[c]=kr(this._props[c])),(a||(a=Object.create(null)))[tt(c)]=!0)}this._numberProps=a,this._resolveProps(s),this.shadowRoot&&this._applyStyles(r),this._mount(s)},n=this._def.__asyncLoader;n?this._pendingResolve=n().then(s=>{s.configureApp=this._def.configureApp,t(this._def=s,!0)}):t(this._def)}_mount(t){this._app=this._createApp(t),this._inheritParentContext(),t.configureApp&&t.configureApp(this._app),this._app._ceVNode=this._createVNode(),this._app.mount(this._root);const n=this._instance&&this._instance.exposed;if(n)for(const s in n)De(this,s)||Object.defineProperty(this,s,{get:()=>l(n[s])})}_resolveProps(t){const{props:n}=t,s=ce(n)?n:Object.keys(n||{});for(const o of Object.keys(this))o[0]!=="_"&&s.includes(o)&&this._setProp(o,this[o]);for(const o of s.map(tt))Object.defineProperty(this,o,{get(){return this._getProp(o)},set(i){this._setProp(o,i,!0,!this._patching)}})}_setAttr(t){if(t.startsWith("data-v-"))return;const n=this.hasAttribute(t);let s=n?this.getAttribute(t):Cf;const o=tt(t);n&&this._numberProps&&this._numberProps[o]&&(s=kr(s)),this._setProp(o,s,!1,!0)}_getProp(t){return this._props[t]}_setProp(t,n,s=!0,o=!1){if(n!==this._props[t]&&(this._dirty=!0,n===Cf?delete this._props[t]:(this._props[t]=n,t==="key"&&this._app&&(this._app._ceVNode.key=n)),o&&this._instance&&this._update(),s)){const i=this._ob;i&&(this._processMutations(i.takeRecords()),i.disconnect()),n===!0?this.setAttribute(Kt(t),""):typeof n=="string"||typeof n=="number"?this.setAttribute(Kt(t),n+""):n||this.removeAttribute(Kt(t)),i&&i.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),hi(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const n=H(this._def,Ie(t,this._props));return this._instance||(n.ce=s=>{this._instance=s,s.ce=this,s.isCE=!0;const o=(i,r)=>{this.dispatchEvent(new CustomEvent(i,Qr(r[0])?Ie({detail:r},r[0]):{detail:r}))};s.emit=(i,...r)=>{o(i,r),Kt(i)!==i&&o(Kt(i),r)},this._setParent()}),n}_applyStyles(t,n){if(!t)return;if(n){if(n===this._def||this._styleChildren.has(n))return;this._styleChildren.add(n)}const s=this._nonce;for(let o=t.length-1;o>=0;o--){const i=document.createElement("style");s&&i.setAttribute("nonce",s),i.textContent=t[o],this.shadowRoot.prepend(i)}}_parseSlots(){const t=this._slots={};let n;for(;n=this.firstChild;){const s=n.nodeType===1&&n.getAttribute("slot")||"default";(t[s]||(t[s]=[])).push(n),this.removeChild(n)}}_renderSlots(){const t=this._getSlots(),n=this._instance.type.__scopeId;for(let s=0;s(delete e.props.mode,e),Nv=Bv({name:"TransitionGroup",props:Ie({},N0,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=dt(),s=yc();let o,i;return Fo(()=>{if(!o.length)return;const r=e.moveClass||`${e.name||"v"}-move`;if(!Rv(o[0].el,n.vnode.el,r)){o=[];return}o.forEach(Vv),o.forEach(Ov);const a=o.filter(Dv);wl(n.vnode.el),a.forEach(c=>{const u=c.el,f=u.style;Fn(u,r),f.transform=f.webkitTransform=f.transitionDuration="";const d=u[Fr]=h=>{h&&h.target!==u||(!h||h.propertyName.endsWith("transform"))&&(u.removeEventListener("transitionend",d),u[Fr]=null,ps(u,r))};u.addEventListener("transitionend",d)}),o=[]}),()=>{const r=Pe(e),a=V0(r);let c=r.tag||Y;if(o=[],i)for(let u=0;u{a.split(/\s+/).forEach(c=>c&&s.classList.remove(c))}),n.split(/\s+/).forEach(a=>a&&s.classList.add(a)),s.style.display="none";const i=t.nodeType===1?t:t.parentNode;i.appendChild(s);const{hasTransform:r}=O0(s);return i.removeChild(s),r}const As=e=>{const t=e.props["onUpdate:modelValue"]||!1;return ce(t)?n=>mo(t,n):t};function Hv(e){e.target.composing=!0}function Sf(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const vn=Symbol("_assign");function Tf(e,t,n){return t&&(e=e.trim()),n&&(e=ea(e)),e}const _o={created(e,{modifiers:{lazy:t,trim:n,number:s}},o){e[vn]=As(o);const i=s||o.props&&o.props.type==="number";Zn(e,t?"change":"input",r=>{r.target.composing||e[vn](Tf(e.value,n,i))}),(n||i)&&Zn(e,"change",()=>{e.value=Tf(e.value,n,i)}),t||(Zn(e,"compositionstart",Hv),Zn(e,"compositionend",Sf),Zn(e,"change",Sf))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:s,trim:o,number:i}},r){if(e[vn]=As(r),e.composing)return;const a=(i||e.type==="number")&&!/^0\d/.test(e.value)?ea(e.value):e.value,c=t??"";a!==c&&(document.activeElement===e&&e.type!=="range"&&(s&&t===n||o&&e.value.trim()===c)||(e.value=c))}},Mc={deep:!0,created(e,t,n){e[vn]=As(n),Zn(e,"change",()=>{const s=e._modelValue,o=So(e),i=e.checked,r=e[vn];if(ce(s)){const a=na(s,o),c=a!==-1;if(i&&!c)r(s.concat(o));else if(!i&&c){const u=[...s];u.splice(a,1),r(u)}}else if(Gs(s)){const a=new Set(s);i?a.add(o):a.delete(o),r(a)}else r(q0(e,i))})},mounted:Ef,beforeUpdate(e,t,n){e[vn]=As(n),Ef(e,t,n)}};function Ef(e,{value:t,oldValue:n},s){e._modelValue=t;let o;if(ce(t))o=na(t,s.props.value)>-1;else if(Gs(t))o=t.has(s.props.value);else{if(t===n)return;o=xs(t,q0(e,!0))}e.checked!==o&&(e.checked=o)}const ga={created(e,{value:t},n){e.checked=xs(t,n.props.value),e[vn]=As(n),Zn(e,"change",()=>{e[vn](So(e))})},beforeUpdate(e,{value:t,oldValue:n},s){e[vn]=As(s),t!==n&&(e.checked=xs(t,s.props.value))}},W0={deep:!0,created(e,{value:t,modifiers:{number:n}},s){const o=Gs(t);Zn(e,"change",()=>{const i=Array.prototype.filter.call(e.options,r=>r.selected).map(r=>n?ea(So(r)):So(r));e[vn](e.multiple?o?new Set(i):i:i[0]),e._assigning=!0,Oe(()=>{e._assigning=!1})}),e[vn]=As(s)},mounted(e,{value:t}){xf(e,t)},beforeUpdate(e,t,n){e[vn]=As(n)},updated(e,{value:t}){e._assigning||xf(e,t)}};function xf(e,t){const n=e.multiple,s=ce(t);if(!(n&&!s&&!Gs(t))){for(let o=0,i=e.options.length;oString(u)===String(a)):r.selected=na(t,a)>-1}else r.selected=t.has(a);else if(xs(So(r),t)){e.selectedIndex!==o&&(e.selectedIndex=o);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function So(e){return"_value"in e?e._value:e.value}function q0(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const Fc={created(e,t,n){Wi(e,t,n,null,"created")},mounted(e,t,n){Wi(e,t,n,null,"mounted")},beforeUpdate(e,t,n,s){Wi(e,t,n,s,"beforeUpdate")},updated(e,t,n,s){Wi(e,t,n,s,"updated")}};function K0(e,t){switch(e){case"SELECT":return W0;case"TEXTAREA":return _o;default:switch(t){case"checkbox":return Mc;case"radio":return ga;default:return _o}}}function Wi(e,t,n,s,o){const r=K0(e.tagName,n.props&&n.props.type)[o];r&&r(e,t,n,s)}function zv(){_o.getSSRProps=({value:e})=>({value:e}),ga.getSSRProps=({value:e},t)=>{if(t.props&&xs(t.props.value,e))return{checked:!0}},Mc.getSSRProps=({value:e},t)=>{if(ce(e)){if(t.props&&na(e,t.props.value)>-1)return{checked:!0}}else if(Gs(e)){if(t.props&&e.has(t.props.value))return{checked:!0}}else if(e)return{checked:!0}},Fc.getSSRProps=(e,t)=>{if(typeof t.type!="string")return;const n=K0(t.type.toUpperCase(),t.props&&t.props.type);if(n.getSSRProps)return n.getSSRProps(e,t)}}const jv=["ctrl","shift","alt","meta"],Uv={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>jv.some(n=>e[`${n}Key`]&&!t.includes(n))},To=(e,t)=>{const n=e._withMods||(e._withMods={}),s=t.join(".");return n[s]||(n[s]=((o,...i)=>{for(let r=0;r{const n=e._withKeys||(e._withKeys={}),s=t.join(".");return n[s]||(n[s]=(o=>{if(!("key"in o))return;const i=Kt(o.key);if(t.some(r=>r===i||Wv[r]===i))return e(o)}))},Y0=Ie({patchProp:$v},dv);let Zo,Af=!1;function G0(){return Zo||(Zo=u0(Y0))}function J0(){return Zo=Af?Zo:f0(Y0),Af=!0,Zo}const hi=((...e)=>{G0().render(...e)}),qv=((...e)=>{J0().hydrate(...e)}),Br=((...e)=>{const t=G0().createApp(...e),{mount:n}=t;return t.mount=s=>{const o=Z0(s);if(!o)return;const i=t._component;!ye(i)&&!i.render&&!i.template&&(i.template=o.innerHTML),o.nodeType===1&&(o.textContent="");const r=n(o,!1,Q0(o));return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),r},t}),X0=((...e)=>{const t=J0().createApp(...e),{mount:n}=t;return t.mount=s=>{const o=Z0(s);if(o)return n(o,!0,Q0(o))},t});function Q0(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Z0(e){return _e(e)?document.querySelector(e):e}let $f=!1;const Kv=()=>{$f||($f=!0,zv(),vv())};const Yv=()=>{},Gv=Object.freeze(Object.defineProperty({__proto__:null,BaseTransition:D1,BaseTransitionPropsValidators:bc,Comment:ut,DeprecationTypes:cv,EffectScope:cc,ErrorCodes:Fm,ErrorTypeStrings:nv,Fragment:Y,KeepAlive:ng,ReactiveEffect:oi,Static:Rs,Suspense:Og,Teleport:ca,Text:Ts,TrackOpTypes:xm,Transition:vt,TransitionGroup:Qs,TriggerOpTypes:Am,VueElement:ma,assertNumber:Mm,callWithAsyncErrorHandling:yn,callWithErrorHandling:Po,camelize:tt,capitalize:Js,cloneVNode:Rn,compatUtils:lv,compile:Yv,computed:F,createApp:Br,createBlock:D,createCommentVNode:A,createElementBlock:C,createElementVNode:S,createHydrationRenderer:f0,createPropsRestProxy:Z1,createRenderer:u0,createSSRApp:X0,createSlots:Wt,createStaticVNode:E0,createTextVNode:rt,createVNode:H,customRef:gc,defineAsyncComponent:wc,defineComponent:z,defineCustomElement:H0,defineEmits:lg,defineExpose:cg,defineModel:dg,defineOptions:ug,defineProps:ag,defineSSRCustomElement:Iv,defineSlots:fg,devtools:sv,effect:Q2,effectScope:l1,getCurrentInstance:dt,getCurrentScope:_i,getCurrentWatcher:$m,getTransitionRawChildren:ua,guardReactiveProps:Ze,h:nn,handleError:Xs,hasInjectionContext:Ac,hydrate:qv,hydrateOnIdle:Gm,hydrateOnInteraction:Zm,hydrateOnMediaQuery:Qm,hydrateOnVisible:Xm,initCustomFormatter:Zg,initDirectivesForSSR:Kv,inject:qe,isMemoSame:P0,isProxy:aa,isReactive:_s,isReadonly:is,isRef:Ye,isRuntimeOnly:Jg,isShallow:an,isVNode:Ln,markRaw:go,mergeDefaults:Q1,mergeModels:$n,mergeProps:nt,nextTick:Oe,normalizeClass:T,normalizeProps:Ge,normalizeStyle:Fe,onActivated:j1,onBeforeMount:Mo,onBeforeUnmount:ls,onBeforeUpdate:Cc,onDeactivated:U1,onErrorCaptured:G1,onMounted:be,onRenderTracked:Y1,onRenderTriggered:K1,onScopeDispose:uc,onServerPrefetch:q1,onUnmounted:cn,onUpdated:Fo,onWatcherCleanup:x1,openBlock:m,popScopeId:Dm,provide:In,proxyRefs:mc,pushScopeId:Om,queuePostFlushCb:ai,reactive:Dn,readonly:It,ref:j,registerRuntimeCompiler:Gg,render:hi,renderList:le,renderSlot:M,resolveComponent:un,resolveDirective:ig,resolveDynamicComponent:Be,resolveFilter:av,resolveTransitionHooks:ko,setBlockTracking:di,setDevtoolsHook:ov,setTransitionHooks:rs,shallowReactive:pc,shallowReadonly:al,shallowRef:ze,ssrContextKey:m0,ssrUtils:rv,stop:Z2,toDisplayString:W,toHandlerKey:po,toHandlers:Ec,toRaw:Pe,toRef:T1,toRefs:Cm,toValue:Se,transformVNodeArgs:Ug,triggerRef:bm,unref:l,useAttrs:pg,useCssModule:Fv,useCssVars:yv,useHost:z0,useId:H1,useModel:Jt,useSSRContext:g0,useShadowRoot:Mv,useSlots:Ti,useTemplateRef:z1,useTransitionState:yc,vModelCheckbox:Mc,vModelDynamic:Fc,vModelRadio:ga,vModelSelect:W0,vModelText:_o,vShow:at,version:M0,warn:tv,watch:te,watchEffect:zn,watchPostEffect:da,watchSyncEffect:v0,withAsyncContext:mg,withCtx:O,withDefaults:hg,withDirectives:et,withKeys:va,withMemo:ev,withModifiers:To,withScopeId:Rm},Symbol.toStringTag,{value:"Module"})),eh=z({__name:"VPBadge",props:{text:{},type:{default:"tip"}},setup(e){return(t,n)=>(m(),C("span",{class:T(["VPBadge",e.type])},[M(t.$slots,"default",{},()=>[rt(W(e.text),1)])],2))}}),Jv=window.__VP_SITE_DATA__;function Bc(e,t){return _i()?(uc(e,t),!0):!1}const ja=new WeakMap,Xv=(...e)=>{var t;const n=e[0],s=(t=dt())===null||t===void 0?void 0:t.proxy,o=s??_i();if(o==null&&!Ac())throw new Error("injectLocal must be called in setup");return o&&ja.has(o)&&n in ja.get(o)?ja.get(o)[n]:qe(...e)},th=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const Qv=e=>e!=null,Zv=Object.prototype.toString,e3=e=>Zv.call(e)==="[object Object]",$s=()=>{},Lf=t3();function t3(){var e,t,n;return th&&((e=window)===null||e===void 0||(e=e.navigator)===null||e===void 0?void 0:e.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((t=window)===null||t===void 0||(t=t.navigator)===null||t===void 0?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test((n=window)===null||n===void 0?void 0:n.navigator.userAgent))}function Nc(...e){if(e.length!==1)return T1(...e);const t=e[0];return typeof t=="function"?It(gc(()=>({get:t,set:$s}))):j(t)}function Vc(e,t){function n(...s){return new Promise((o,i)=>{Promise.resolve(e(()=>t.apply(this,s),{fn:t,thisArg:this,args:s})).then(o).catch(i)})}return n}const nh=e=>e();function sh(e,t={}){let n,s,o=$s;const i=c=>{clearTimeout(c),o(),o=$s};let r;return c=>{const u=Se(e),f=Se(t.maxWait);return n&&i(n),u<=0||f!==void 0&&f<=0?(s&&(i(s),s=void 0),Promise.resolve(c())):new Promise((d,h)=>{o=t.rejectOnCancel?h:d,r=c,f&&!s&&(s=setTimeout(()=>{n&&i(n),s=void 0,d(r())},f)),n=setTimeout(()=>{s&&i(s),s=void 0,d(c())},u)})}}function n3(...e){let t=0,n,s=!0,o=$s,i,r,a,c,u;!Ye(e[0])&&typeof e[0]=="object"?{delay:r,trailing:a=!0,leading:c=!0,rejectOnCancel:u=!1}=e[0]:[r,a=!0,c=!0,u=!1]=e;const f=()=>{n&&(clearTimeout(n),n=void 0,o(),o=$s)};return h=>{const p=Se(r),g=Date.now()-t,v=()=>i=h();return f(),p<=0?(t=Date.now(),v()):(g>p?(t=Date.now(),(c||!s)&&v()):a&&(i=new Promise((k,b)=>{o=u?b:k,n=setTimeout(()=>{t=Date.now(),s=!0,k(v()),f()},Math.max(0,p-g))})),!c&&!n&&(n=setTimeout(()=>s=!0,p)),s=!1,i)}}function s3(e=nh,t={}){const{initialState:n="active"}=t,s=Nc(n==="active");function o(){s.value=!1}function i(){s.value=!0}const r=(...a)=>{s.value&&e(...a)};return{isActive:It(s),pause:o,resume:i,eventFilter:r}}function If(e){return e.endsWith("rem")?Number.parseFloat(e)*16:Number.parseFloat(e)}function ur(e){return Array.isArray(e)?e:[e]}function oh(e){return dt()}function o3(e,t=200,n={}){return Vc(sh(t,n),e)}function i3(e,t=200,n=!1,s=!0,o=!1){return Vc(n3(t,n,s,o),e)}function ih(e,t,n={}){const{eventFilter:s=nh,...o}=n;return te(e,Vc(s,t),o)}function r3(e,t,n={}){const{eventFilter:s,initialState:o="active",...i}=n,{eventFilter:r,pause:a,resume:c,isActive:u}=s3(s,{initialState:o});return{stop:ih(e,t,{...i,eventFilter:r}),pause:a,resume:c,isActive:u}}const a3=r3;function ya(e,t=!0,n){oh()?be(e,n):t?e():Oe(e)}function l3(e,t){oh()&&cn(e,t)}function c3(e,t,n={}){const{debounce:s=0,maxWait:o=void 0,...i}=n;return ih(e,t,{...i,eventFilter:sh(s,{maxWait:o})})}const jA=c3;function u3(e,t,n){return te(e,t,{...n,immediate:!0})}function UA(e,t,n){var s;let o;Ye(n)?o={evaluating:n}:o=n||{};const{lazy:i=!1,flush:r="sync",evaluating:a=void 0,shallow:c=!0,onError:u=(s=globalThis.reportError)!==null&&s!==void 0?s:$s}=o,f=ze(!i),d=c?ze(t):j(t);let h=0;return zn(async p=>{if(!f.value)return;h++;const g=h;let v=!1;a&&Promise.resolve().then(()=>{a.value=!0});try{const k=await e(b=>{p(()=>{a&&(a.value=!1),v||b()})});g===h&&(d.value=k)}catch(k){u(k)}finally{a&&g===h&&(a.value=!1),v=!0}},{flush:r}),i?F(()=>(f.value=!0,d.value)):d}const Rt=th?window:void 0;function ba(e){var t;const n=Se(e);return(t=n?.$el)!==null&&t!==void 0?t:n}function Hn(...e){const t=[],n=()=>{t.forEach(a=>a()),t.length=0},s=(a,c,u,f)=>(a.addEventListener(c,u,f),()=>a.removeEventListener(c,u,f)),o=F(()=>{const a=ur(Se(e[0])).filter(c=>c!=null);return a.every(c=>typeof c!="string")?a:void 0}),i=u3(()=>{var a,c;return[(a=(c=o.value)===null||c===void 0?void 0:c.map(u=>ba(u)))!==null&&a!==void 0?a:[Rt].filter(u=>u!=null),ur(Se(o.value?e[1]:e[0])),ur(l(o.value?e[2]:e[1])),Se(o.value?e[3]:e[2])]},([a,c,u,f])=>{if(n(),!a?.length||!c?.length||!u?.length)return;const d=e3(f)?{...f}:f;t.push(...a.flatMap(h=>c.flatMap(p=>u.map(g=>s(h,p,g,d)))))},{flush:"post"}),r=()=>{i(),n()};return Bc(n),r}function f3(){const e=ze(!1),t=dt();return t&&be(()=>{e.value=!0},t),e}function Oc(e){const t=f3();return F(()=>(t.value,!!e()))}function d3(e,t,n={}){const{window:s=Rt,...o}=n;let i;const r=Oc(()=>s&&"MutationObserver"in s),a=()=>{i&&(i.disconnect(),i=void 0)},c=te(F(()=>{const d=ur(Se(e)).map(ba).filter(Qv);return new Set(d)}),d=>{a(),r.value&&d.size&&(i=new MutationObserver(t),d.forEach(h=>i.observe(h,o)))},{immediate:!0,flush:"post"}),u=()=>i?.takeRecords(),f=()=>{c(),a()};return Bc(f),{isSupported:r,stop:f,takeRecords:u}}function h3(e){return typeof e=="function"?e:typeof e=="string"?t=>t.key===e:Array.isArray(e)?t=>e.includes(t.key):()=>!0}function _l(...e){let t,n,s={};e.length===3?(t=e[0],n=e[1],s=e[2]):e.length===2?typeof e[1]=="object"?(t=!0,n=e[0],s=e[1]):(t=e[0],n=e[1]):(t=!0,n=e[0]);const{target:o=Rt,eventName:i="keydown",passive:r=!1,dedupe:a=!1}=s,c=h3(t);return Hn(o,i,f=>{f.repeat&&Se(a)||c(f)&&n(f)},r)}const p3=Symbol("vueuse-ssr-width");function m3(){const e=Ac()?Xv(p3,null):null;return typeof e=="number"?e:void 0}function Nr(e,t={}){const{window:n=Rt,ssrWidth:s=m3()}=t,o=Oc(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function"),i=ze(typeof s=="number"),r=ze(),a=ze(!1),c=u=>{a.value=u.matches};return zn(()=>{if(i.value){i.value=!o.value,a.value=Se(e).split(",").some(u=>{const f=u.includes("not all"),d=u.match(/\(\s*min-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/),h=u.match(/\(\s*max-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/);let p=!!(d||h);return d&&p&&(p=s>=If(d[1])),h&&p&&(p=s<=If(h[1])),f?!p:p});return}o.value&&(r.value=n.matchMedia(Se(e)),a.value=r.value.matches)}),Hn(r,"change",c,{passive:!0}),F(()=>a.value)}const qi=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},Ki="__vueuse_ssr_handlers__",g3=v3();function v3(){return Ki in qi||(qi[Ki]=qi[Ki]||{}),qi[Ki]}function rh(e,t){return g3[e]||t}function ah(e){return Nr("(prefers-color-scheme: dark)",e)}function y3(e){return e==null?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":typeof e=="boolean"?"boolean":typeof e=="string"?"string":typeof e=="object"?"object":Number.isNaN(e)?"any":"number"}const b3={boolean:{read:e=>e==="true",write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}},Pf="vueuse-storage";function Dc(e,t,n,s={}){var o;const{flush:i="pre",deep:r=!0,listenToStorageChanges:a=!0,writeDefaults:c=!0,mergeDefaults:u=!1,shallow:f,window:d=Rt,eventFilter:h,onError:p=q=>{console.error(q)},initOnMounted:g}=s,v=(f?ze:j)(typeof t=="function"?t():t),k=F(()=>Se(e));if(!n)try{n=rh("getDefaultStorage",()=>Rt?.localStorage)()}catch(q){p(q)}if(!n)return v;const b=Se(t),w=y3(b),y=(o=s.serializer)!==null&&o!==void 0?o:b3[w],{pause:_,resume:x}=a3(v,q=>P(q),{flush:i,deep:r,eventFilter:h});te(k,()=>$(),{flush:i});let L=!1;const V=q=>{g&&!L||$(q)},E=q=>{g&&!L||U(q)};d&&a&&(n instanceof Storage?Hn(d,"storage",V,{passive:!0}):Hn(d,Pf,E)),g?ya(()=>{L=!0,$()}):$();function I(q,J){if(d){const G={key:k.value,oldValue:q,newValue:J,storageArea:n};d.dispatchEvent(n instanceof Storage?new StorageEvent("storage",G):new CustomEvent(Pf,{detail:G}))}}function P(q){try{const J=n.getItem(k.value);if(q==null)I(J,null),n.removeItem(k.value);else{const G=y.write(q);J!==G&&(n.setItem(k.value,G),I(J,G))}}catch(J){p(J)}}function N(q){const J=q?q.newValue:n.getItem(k.value);if(J==null)return c&&b!=null&&n.setItem(k.value,y.write(b)),b;if(!q&&u){const G=y.read(J);return typeof u=="function"?u(G,b):w==="object"&&!Array.isArray(G)?{...b,...G}:G}else return typeof J!="string"?J:y.read(J)}function $(q){if(!(q&&q.storageArea!==n)){if(q&&q.key==null){v.value=b;return}if(!(q&&q.key!==k.value)){_();try{const J=y.write(v.value);(q===void 0||q?.newValue!==J)&&(v.value=N(q))}catch(J){p(J)}finally{q?Oe(x):x()}}}}function U(q){$(q.detail)}return v}const k3="*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}";function w3(e={}){const{selector:t="html",attribute:n="class",initialValue:s="auto",window:o=Rt,storage:i,storageKey:r="vueuse-color-scheme",listenToStorageChanges:a=!0,storageRef:c,emitAuto:u,disableTransition:f=!0}=e,d={auto:"",light:"light",dark:"dark",...e.modes||{}},h=ah({window:o}),p=F(()=>h.value?"dark":"light"),g=c||(r==null?Nc(s):Dc(r,s,i,{window:o,listenToStorageChanges:a})),v=F(()=>g.value==="auto"?p.value:g.value),k=rh("updateHTMLAttrs",(_,x,L)=>{const V=typeof _=="string"?o?.document.querySelector(_):ba(_);if(!V)return;const E=new Set,I=new Set;let P=null;if(x==="class"){const $=L.split(/\s/g);Object.values(d).flatMap(U=>(U||"").split(/\s/g)).filter(Boolean).forEach(U=>{$.includes(U)?E.add(U):I.add(U)})}else P={key:x,value:L};if(E.size===0&&I.size===0&&P===null)return;let N;f&&(N=o.document.createElement("style"),N.appendChild(document.createTextNode(k3)),o.document.head.appendChild(N));for(const $ of E)V.classList.add($);for(const $ of I)V.classList.remove($);P&&V.setAttribute(P.key,P.value),f&&(o.getComputedStyle(N).opacity,document.head.removeChild(N))});function b(_){var x;k(t,n,(x=d[_])!==null&&x!==void 0?x:_)}function w(_){e.onChanged?e.onChanged(_,b):b(_)}te(v,w,{flush:"post",immediate:!0}),ya(()=>w(v.value));const y=F({get(){return u?g.value:v.value},set(_){g.value=_}});return Object.assign(y,{store:g,system:p,state:v})}function C3(e={}){const{valueDark:t="dark",valueLight:n=""}=e,s=w3({...e,onChanged:(i,r)=>{var a;e.onChanged?(a=e.onChanged)===null||a===void 0||a.call(e,i==="dark",r,i):r(i)},modes:{dark:t,light:n}}),o=F(()=>s.system.value);return F({get(){return s.value==="dark"},set(i){const r=i?"dark":"light";o.value===r?s.value="auto":s.value=r}})}function Ua(e){return typeof Window<"u"&&e instanceof Window?e.document.documentElement:typeof Document<"u"&&e instanceof Document?e.documentElement:e}const Mf=1;function _3(e,t={}){const{throttle:n=0,idle:s=200,onStop:o=$s,onScroll:i=$s,offset:r={left:0,right:0,top:0,bottom:0},observe:a={mutation:!1},eventListenerOptions:c={capture:!1,passive:!0},behavior:u="auto",window:f=Rt,onError:d=I=>{console.error(I)}}=t,h=typeof a=="boolean"?{mutation:a}:a,p=ze(0),g=ze(0),v=F({get(){return p.value},set(I){b(I,void 0)}}),k=F({get(){return g.value},set(I){b(void 0,I)}});function b(I,P){var N,$,U,q;if(!f)return;const J=Se(e);if(!J)return;(N=J instanceof Document?f.document.body:J)===null||N===void 0||N.scrollTo({top:($=Se(P))!==null&&$!==void 0?$:k.value,left:(U=Se(I))!==null&&U!==void 0?U:v.value,behavior:Se(u)});const G=(J==null||(q=J.document)===null||q===void 0?void 0:q.documentElement)||J?.documentElement||J;v!=null&&(p.value=G.scrollLeft),k!=null&&(g.value=G.scrollTop)}const w=ze(!1),y=Dn({left:!0,right:!1,top:!0,bottom:!1}),_=Dn({left:!1,right:!1,top:!1,bottom:!1}),x=I=>{w.value&&(w.value=!1,_.left=!1,_.right=!1,_.top=!1,_.bottom=!1,o(I))},L=o3(x,n+s),V=I=>{var P;if(!f)return;const N=(I==null||(P=I.document)===null||P===void 0?void 0:P.documentElement)||I?.documentElement||ba(I),{display:$,flexDirection:U,direction:q}=getComputedStyle(N),J=q==="rtl"?-1:1,G=N.scrollLeft;_.left=Gp.value;const ae=Math.abs(G*J)<=(r.left||0),ne=Math.abs(G*J)+N.clientWidth>=N.scrollWidth-(r.right||0)-Mf;$==="flex"&&U==="row-reverse"?(y.left=ne,y.right=ae):(y.left=ae,y.right=ne),p.value=G;let he=N.scrollTop;I===f.document&&!he&&(he=f.document.body.scrollTop),_.top=heg.value;const st=Math.abs(he)<=(r.top||0),je=Math.abs(he)+N.clientHeight>=N.scrollHeight-(r.bottom||0)-Mf;$==="flex"&&U==="column-reverse"?(y.top=je,y.bottom=st):(y.top=st,y.bottom=je),g.value=he},E=I=>{var P;f&&(V((P=I.target.documentElement)!==null&&P!==void 0?P:I.target),w.value=!0,L(I),i(I))};return Hn(e,"scroll",n?i3(E,n,!0,!1):E,c),ya(()=>{try{const I=Se(e);if(!I)return;V(I)}catch(I){d(I)}}),h?.mutation&&e!=null&&e!==f&&e!==document&&d3(e,()=>{const I=Se(e);I&&V(I)},{attributes:!0,childList:!0,subtree:!0}),Hn(e,"scrollend",x,c),{x:v,y:k,isScrolling:w,arrivedState:y,directions:_,measure(){const I=Se(e);f&&I&&V(I)}}}function WA(e,t,n={}){const{window:s=Rt}=n;return Dc(e,t,s?.localStorage,n)}function S3(e={}){const{window:t=Rt}=e,n=t?.navigator,s=Oc(()=>n&&"language"in n),o=ze(n?.language);return Hn(t,"languagechange",()=>{n&&(o.value=n.language)},{passive:!0}),{isSupported:s,language:o}}function lh(e){const t=window.getComputedStyle(e);if(t.overflowX==="scroll"||t.overflowY==="scroll"||t.overflowX==="auto"&&e.clientWidth1?!0:(t.preventDefault&&t.preventDefault(),!1)}const Wa=new WeakMap;function ch(e,t=!1){const n=ze(t);let s=null,o="";te(Nc(e),a=>{const c=Ua(Se(a));if(c){const u=c;if(Wa.get(u)||Wa.set(u,u.style.overflow),u.style.overflow!=="hidden"&&(o=u.style.overflow),u.style.overflow==="hidden")return n.value=!0;if(n.value)return u.style.overflow="hidden"}},{immediate:!0});const i=()=>{const a=Ua(Se(e));!a||n.value||(Lf&&(s=Hn(a,"touchmove",c=>{T3(c)},{passive:!1})),a.style.overflow="hidden",n.value=!0)},r=()=>{const a=Ua(Se(e));!a||!n.value||(Lf&&s?.(),a.style.overflow=o,Wa.delete(a),n.value=!1)};return Bc(r),F({get(){return n.value},set(a){a?i():r()}})}function qA(e,t,n={}){const{window:s=Rt}=n;return Dc(e,t,s?.sessionStorage,n)}function uh(e={}){const{window:t=Rt,...n}=e;return _3(t,n)}function E3(e={}){const{window:t=Rt,initialWidth:n=Number.POSITIVE_INFINITY,initialHeight:s=Number.POSITIVE_INFINITY,listenOrientation:o=!0,includeScrollbar:i=!0,type:r="inner"}=e,a=ze(n),c=ze(s),u=()=>{if(t)if(r==="outer")a.value=t.outerWidth,c.value=t.outerHeight;else if(r==="visual"&&t.visualViewport){const{width:d,height:h,scale:p}=t.visualViewport;a.value=Math.round(d*p),c.value=Math.round(h*p)}else i?(a.value=t.innerWidth,c.value=t.innerHeight):(a.value=t.document.documentElement.clientWidth,c.value=t.document.documentElement.clientHeight)};u(),ya(u);const f={passive:!0};return Hn("resize",u,f),t&&r==="visual"&&t.visualViewport&&Hn(t.visualViewport,"resize",u,f),o&&te(Nr("(orientation: portrait)"),()=>u()),{width:a,height:c}}const x3={};var A3={};const ka=/^(?:[a-z]+:|\/\/)/i,$3="vitepress-theme-appearance",fh=Symbol("stack-view:unpack"),L3=/#.*$/,I3=/[?#].*$/,P3=/(?:(^|\/)index)?\.(?:md|html)$/,wt=typeof document<"u",dh={relativePath:"404.md",filePath:"",title:"404",description:"Not Found",headers:[],frontmatter:{sidebar:!1,layout:"page"},lastUpdated:0,isNotFound:!0};function Ls(e,t,n=!1){if(t===void 0)return!1;if(e=Ff(`/${e}`),n)return new RegExp(t).test(e);if(Ff(t)!==e)return!1;const s=t.match(L3);return s?(wt?location.hash:"")===s[0]:!0}function Ff(e){return decodeURI(e).replace(I3,"").replace(P3,"$1")}function hh(e){return ka.test(e)}function M3(e,t){return Object.keys(e?.locales||{}).find(n=>n!=="root"&&!hh(n)&&Ls(t,`^/${n}/`,!0))||"root"}function F3(e,t){const n=M3(e,t),{label:s,link:o,...i}=e.locales[n]??{};Object.assign(i,{localeIndex:n});const r=R3(e,t),a={head:V3(e.head??[],i.head??[],...r.map(c=>c.head??[]).reverse())};return Rc(a,...r,i,e)}function B3(e,t){const n=t.title||e.title,s=t.titleTemplate??e.titleTemplate;if(typeof s=="string"&&s.includes(":title"))return s.replace(/:title/g,n);const o=N3(e.title,s);return n===o.slice(3)?n:`${n}${o}`}function N3(e,t){return t===!1?"":t===!0||t===void 0?` | ${e}`:e===t?"":` | ${t}`}function V3(...e){const t=[],n=new Map;for(const s of e)for(const o of s){const[i,r]=o,a=Object.entries(r)[0];if(i!=="meta"||!a){t.push(o);continue}const c=`${a[0]}=${a[1]}`,u=n.get(c);u!=null?t[u]=o:(n.set(c,t.length),t.push(o))}return t}const O3=/[\u0000-\u001F"#$&*+,:;<=>?[\]^`{|}\u007F]/g,D3=/^[a-z]:/i;function Bf(e){const t=D3.exec(e),n=t?t[0]:"";return n+e.slice(n.length).replace(O3,"_").replace(/(^|\/)_+(?=[^/]*$)/,"$1")}const qa=new Set;function ph(e){if(qa.size===0){const n=typeof process=="object"&&A3?.VITE_EXTRA_EXTENSIONS||x3?.VITE_EXTRA_EXTENSIONS||"";("3g2,3gp,aac,ai,apng,au,avif,bin,bmp,cer,class,conf,crl,css,csv,dll,doc,eps,epub,exe,gif,gz,ics,ief,jar,jpe,jpeg,jpg,js,json,jsonld,m4a,man,mid,midi,mjs,mov,mp2,mp3,mp4,mpe,mpeg,mpg,mpp,oga,ogg,ogv,ogx,opus,otf,p10,p7c,p7m,p7s,pdf,png,ps,qt,roff,rtf,rtx,ser,svg,t,tif,tiff,tr,ts,tsv,ttf,txt,vtt,wav,weba,webm,webp,woff,woff2,xhtml,xml,yaml,yml,zip"+(n&&typeof n=="string"?","+n:"")).split(",").forEach(s=>qa.add(s))}const t=e.split(".").pop();return t==null||!qa.has(t.toLowerCase())}function KA(e){return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}function R3({additionalConfig:e},t){if(e===void 0)return[];if(typeof e=="function")return e(t)??[];const n=[],s=t.split("/").slice(0,-1);for(;s.length;){const o=`/${s.join("/")}/`;n.push(e[o]),s.pop()}return n.push(e["/"]),n.filter(o=>o!==void 0)}function Rc(...e){const t=e.filter(o=>H3(o));if(t.length<=1)return e[0];const n=new Set(t.flatMap(o=>Reflect.ownKeys(o))),s=[...n];return new Proxy({},{get(o,i){return i===fh?t:Rc(...t.map(r=>r[i]).filter(r=>r!==void 0))},set(){throw new Error("StackView is read-only and cannot be mutated.")},has(o,i){return n.has(i)},ownKeys(){return s},getOwnPropertyDescriptor(o,i){for(const r of t){const a=Object.getOwnPropertyDescriptor(r,i);if(a)return a}}})}Rc.unpack=function(e){return e?.[fh]};function H3(e){return Object.prototype.toString.call(e)==="[object Object]"}const z3=["shellscript","shell","bash","sh","zsh"];function YA(e){return z3.includes(e)}const j3=Symbol(),ks=ze(It(Jv));function GA(e){const t=F(()=>F3(ks.value,e.data.relativePath)),n=t.value.appearance,s=n==="force-dark"?j(!0):n==="force-auto"?ah():n?C3({storageKey:$3,initialValue:()=>n==="dark"?"dark":"auto",...typeof n=="object"?n:{}}):j(!1),o=j(wt?location.hash:"");return wt&&window.addEventListener("hashchange",()=>{o.value=location.hash}),te(()=>e.data,()=>{o.value=wt?location.hash:""}),{site:t,theme:F(()=>t.value.themeConfig),page:F(()=>e.data),frontmatter:F(()=>e.data.frontmatter),params:F(()=>e.data.params),lang:F(()=>t.value.lang),dir:F(()=>e.data.frontmatter.dir||t.value.dir),localeIndex:F(()=>t.value.localeIndex||"root"),title:F(()=>B3(t.value,e.data)),description:F(()=>e.data.description||t.value.description),isDark:s,hash:F(()=>o.value)}}function Ae(){const e=qe(j3);if(!e)throw new Error("vitepress data not properly injected in app");return e}function U3(e,t){return`${e}${t}`.replace(/\/+/g,"/")}function Ee(e){return ka.test(e)||!e.startsWith("/")?e:U3(ks.value.base,e)}function JA(e){let t=e.replace(/\.html$/,"");if(t=decodeURIComponent(t),t=t.replace(/\/$/,"/index"),wt){t=Bf(t.slice(1).replace(/\//g,"_")||"index")+".md";let s=__VP_HASH_MAP__[t.toLowerCase()];if(s||(t=t.endsWith("_index.md")?t.slice(0,-9)+".md":t.slice(0,-3)+"_index.md",s=__VP_HASH_MAP__[t.toLowerCase()]),!s)return null;t=`/assets/${t}.${s}.js`}else t=`./${Bf(t.slice(1).replace(/\//g,"_"))}.md.js`;return t}let fr=[];function Ai(e){fr.push(e),l3(()=>{fr=fr.filter(t=>t!==e)})}function Hc(){let e=ks.value.scrollOffset,t=0,n=24;if(typeof e=="object"&&"padding"in e&&(n=e.padding,e=e.selector),typeof e=="number")t=e;else if(typeof e=="string")t=Nf(e,n);else if(Array.isArray(e))for(const s of e){const o=Nf(s,n);if(o){t=o;break}}return t}function Nf(e,t){const n=document.querySelector(e);if(!n)return 0;const s=n.getBoundingClientRect().bottom;return s<0?0:s+t}const W3=Symbol(),mh="http://a.com",q3=()=>({path:"/",hash:"",query:"",component:null,data:dh});function XA(e,t){const n=Dn(q3()),s={route:n,async go(a,c){a=Tl(a),await s.onBeforeRouteChange?.(a)!==!1&&((!wt||await K3(a,c))&&await i(a),r(),await s.onAfterRouteChange?.(a))}};let o=null;async function i(a,c=0,u=!1){if(await s.onBeforePageLoad?.(a)===!1)return;const f=new URL(a,mh),d=o=f.pathname;try{let h=await e(d);if(!h)throw new Error(`Page not found: ${d}`);if(o===d){o=null;const{default:p,__pageData:g}=h;if(!p)throw new Error(`Invalid route component: ${p}`);await s.onAfterPageLoad?.(a),n.path=wt?d:Ee(d),n.component=go(p),n.data=go(g),r(f),wt&&Oe(()=>{let v=ks.value.base+g.relativePath.replace(/(?:(^|\/)index)?\.md$/,"$1");return!ks.value.cleanUrls&&!v.endsWith("/")&&(v+=".html"),v!==f.pathname&&(f.pathname=v,a=v+f.search+f.hash,history.replaceState({},"",a)),Sl(f.hash,!1,c)})}}catch(h){if(!/fetch|Page not found/.test(h.message)&&!/^\/404(\.html|\/)?$/.test(a)&&console.error(h),!u)try{const p=await fetch(ks.value.base+"hashmap.json");window.__VP_HASH_MAP__=await p.json(),await i(a,c,!0);return}catch{}if(o===d){o=null,n.path=wt?d:Ee(d),n.component=t?go(t):null;const p=wt?n.path.replace(/(^|\/)$/,"$1index").replace(/(\.html)?$/,".md").slice(ks.value.base.length):"404.md";n.data={...dh,relativePath:p},r(f)}}}function r(a=wt?location:{search:"",hash:""}){n.query=a.search,n.hash=decodeURIComponent(a.hash)}return wt&&(history.state===null&&history.replaceState({},""),window.addEventListener("click",a=>{if(a.defaultPrevented||!(a.target instanceof Element)||a.target.closest("button")||a.button!==0||a.ctrlKey||a.shiftKey||a.altKey||a.metaKey)return;const c=a.target.closest("a");if(!c||c.closest(".vp-raw")||c.hasAttribute("download")||c.hasAttribute("target"))return;const u=c.getAttribute("href")??(c instanceof SVGAElement?c.getAttribute("xlink:href"):null);if(u==null)return;const{href:f,origin:d,pathname:h}=new URL(u,c.baseURI),p=new URL(location.href);d===p.origin&&ph(h)&&(a.preventDefault(),s.go(f,{smoothScroll:c.classList.contains("header-anchor")}))},{capture:!0}),window.addEventListener("popstate",async a=>{if(a.state===null)return;const c=Tl(location.href);await i(c,a.state&&a.state.scrollPosition||0),r(),await s.onAfterRouteChange?.(c)}),window.addEventListener("hashchange",a=>{a.preventDefault(),r()})),s}function jn(){const e=qe(W3);if(!e)throw new Error("useRouter() is called without provider.");return e}function kn(){return jn().route}function Sl(e,t=!1,n=0){if(!e||n){window.scrollTo(0,n);return}let s=null;try{s=document.getElementById(decodeURIComponent(e).slice(1))}catch(a){console.warn(a)}if(!s)return;const o=window.scrollY+s.getBoundingClientRect().top-Hc()+Number.parseInt(window.getComputedStyle(s).paddingTop,10)||0,i=window.matchMedia("(prefers-reduced-motion)").matches?"instant":t&&Math.abs(o-window.scrollY)<=window.innerHeight?"smooth":"auto";requestAnimationFrame(()=>{if(window.scrollTo({left:0,top:o,behavior:i}),s.focus({preventScroll:!0}),document.activeElement===s||s.hasAttribute("tabindex"))return;const a=()=>{s.removeAttribute("tabindex"),s.removeEventListener("blur",a)};s.setAttribute("tabindex","-1"),s.addEventListener("blur",a),s.focus({preventScroll:!0}),document.activeElement!==s&&a()})}function Tl(e){const t=new URL(e,mh);return t.pathname=t.pathname.replace(/(^|\/)index(\.html)?$/,"$1"),ks.value.cleanUrls?t.pathname=t.pathname.replace(/\.html$/,""):!t.pathname.endsWith("/")&&!t.pathname.endsWith(".html")&&(t.pathname+=".html"),t.pathname+t.search+t.hash}async function K3(e,{smoothScroll:t=!1,initialLoad:n=!1,replace:s=!1}={}){const o=Tl(location.href),i=new URL(e,location.origin),r=new URL(o,location.origin);if(e===o){if(!n)return Sl(i.hash,t),!1}else if(s?history.replaceState({},"",e):(history.replaceState({scrollPosition:window.scrollY},""),history.pushState({},"",e)),i.pathname===r.pathname)return i.hash!==r.hash&&(window.dispatchEvent(new HashChangeEvent("hashchange",{oldURL:r.href,newURL:i.href})),Sl(i.hash,t)),!1;return!0}const Yi=()=>fr.forEach(e=>e()),QA=z({name:"VitePressContent",props:{as:{type:[Object,String],default:"div"}},setup(e){const t=kn(),{frontmatter:n,site:s}=Ae();return te(n,Yi,{deep:!0,flush:"post"}),()=>nn(e.as,s.value.contentProps??{style:{position:"relative"}},[t.component?nn(t.component,{onVnodeMounted:Yi,onVnodeUpdated:Yi,onVnodeUnmounted:Yi}):"404 Page Not Found"])}});function gh(e=!0){const t="http://a.com",n=jn(),{site:s,theme:o,localeIndex:i}=Ae(),{base:r,cleanUrls:a}=s.value,{permalinks:c={}}=o.value,u=Object.keys(c),f=async p=>{if(!u.length)return;const{pathname:g,search:v,hash:k}=new URL(p,t),b=decodeURIComponent(g.slice(r.length)),w=c.map[b.replace(/\.html/,"")];if(w==="/"+b)return;if(w)return Oe(async()=>{const _=r.replace(/\/$/,"")+w+v+k;history.replaceState(history.state||null,"",_),await n.onAfterUrlLoad?.(_)});const y=d(g);if(y){const _=r+y+v+k;history.replaceState(history.state||null,"",_),await n.go(_)}else await n.onAfterUrlLoad?.(p)};e&&Mo(async()=>{n.state.permalinkPlugin||(n.state={...n.state,permalinkPlugin:!0}),await f(window.location.href)});const d=p=>{const g="/"+decodeURIComponent(p.slice(r.length)).replace(/\/$/,"").replace(/\.html/,""),v=i.value,k=a?g:g+".html";let b="";return v!=="root"&&!k.startsWith(`/${v}/`)?b=c.inv[`/${v}${k}`]:b=c.inv[k],`/${b}`===g?"":b};return{startWatch:()=>{if(!u.length||(n.state||{}).permalinkPlugin)return;const g=n.onBeforeRouteChange;n.onBeforeRouteChange=async k=>{if(await g?.(k)===!1)return!1;if(k===r)return;const{pathname:w,search:y,hash:_}=new URL(k,t),x=d(w);if(x){const L=r+x+y+_;return await n.go(L),!1}};const v=n.onAfterRouteChange;n.onAfterRouteChange=async k=>{await f(k),await v?.(k)},n.state={...n.state,permalinkPlugin:!0}},teyGetFilePathByPermalink:d}}const xe=Ae;function Y3(e,t){let n,s=!1;return()=>{n&&clearTimeout(n),s?n=setTimeout(e,t):(e(),(s=!0)&&setTimeout(()=>s=!1,t))}}function El(e){return e.startsWith("/")?e:`/${e}`}function zc(e){const{pathname:t,search:n,hash:s,protocol:o}=new URL(e,"http://a.com");if(hh(e)||e.startsWith("#")||!o.startsWith("http")||!ph(t))return e;const{site:i}=xe(),r=t.endsWith("/")||t.endsWith(".html")?e:e.replace(/(?:(^\.+)\/)?.*$/,`$1${t.replace(/(\.md)?$/,i.value.cleanUrls?"":".html")}${n}${s}`);return Ee(r)}function $i({correspondingLink:e=!1}={}){const{site:t,localeIndex:n,page:s,theme:o,hash:i}=xe(),r=F(()=>({label:t.value.locales[n.value]?.label,link:t.value.locales[n.value]?.link||(n.value==="root"?"/":`/${n.value}/`)}));return{localeLinks:F(()=>Object.entries(t.value.locales).flatMap(([c,u])=>r.value.label===u.label?[]:{text:u.label,link:G3(u.link||(c==="root"?"/":`/${c}/`),o.value.i18nRouting!==!1&&e,s.value.relativePath.slice(r.value.link.length-1),!t.value.cleanUrls)+i.value,lang:u.lang,dir:u.dir})),currentLang:r}}function G3(e,t,n,s){return t?e.replace(/\/$/,"")+El(n.replace(/(^|\/)index\.md$/,"$1").replace(/\.md$/,s?".html":"")):e}const J3={class:"NotFound"},X3={class:"code"},Q3={class:"title"},Z3={class:"quote"},e4={class:"action"},t4=["href","aria-label"],n4=z({__name:"NotFound",setup(e){const{theme:t}=xe(),{currentLang:n}=$i();return(s,o)=>(m(),C("div",J3,[S("p",X3,W(l(t).notFound?.code??"404"),1),S("h1",Q3,W(l(t).notFound?.title??"PAGE NOT FOUND"),1),o[0]||(o[0]=S("div",{class:"divider"},null,-1)),S("blockquote",Z3,W(l(t).notFound?.quote??"But if you don't change your direction, and if you keep looking, you may end up where you are heading."),1),S("div",e4,[S("a",{class:"link",href:l(Ee)(l(t).notFound?.link??l(n).link),"aria-label":l(t).notFound?.linkLabel??"go to home"},W(l(t).notFound?.linkText??"Take me home"),9,t4)])]))}}),ke=(e,t)=>{const n=e.__vccOpts||e;for(const[s,o]of t)n[s]=o;return n},vh=ke(n4,[["__scopeId","data-v-1b32e0f1"]]),s4=z({__name:"NotFoundDelay",setup(e){const t=jn(),{site:n,theme:s}=Ae(),{teyGetFilePathByPermalink:o}=gh(!1),i=j(!0),r=()=>{i.value=!1};return Mo(async()=>{const{permalinks:a}=s.value;if(!a&&!Object.keys(a||{}).length)return r();const{search:c,hash:u}=new URL(window.location.href),f=o(t.route.path);if(f){const d=n.value.base+f+c+u;history.replaceState(history.state||null,"",d),await t.go(d),setTimeout(r,3e3)}else r()}),(a,c)=>i.value?A("",!0):M(a.$slots,"not-found",{key:0},()=>[H(vh)])}}),o4={key:0,class:"VPBackdrop"},i4=z({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(e){return(t,n)=>(m(),D(vt,{name:"fade"},{default:O(()=>[e.show?(m(),C("div",o4)):A("",!0)]),_:1}))}}),r4=ke(i4,[["__scopeId","data-v-f703a812"]]);function yh(e,t){if(Array.isArray(e))return dr(e);if(e==null)return[];t=El(t);const n=Object.keys(e).sort((o,i)=>i.split("/").length-o.split("/").length).find(o=>t.startsWith(El(o))),s=n?e[n]:[];return Array.isArray(s)?dr(s):dr(s.items,s.base)}function a4(e){const t=[];let n=0;for(const s in e){const o=e[s];if(o.items){n=t.push(o);continue}t[n]||t.push({items:[]}),t[n].items.push(o)}return t}function l4(e){const t=[];function n(s){for(const o of s)o.text&&o.link&&t.push({text:o.text,link:o.link,docFooterText:o.docFooterText}),o.items&&n(o.items)}return n(e),t}function xl(e,t){return Array.isArray(t)?t.some(n=>xl(e,n)):Ls(e,t.link)?!0:t.items?xl(e,t.items):!1}function dr(e,t){return[...e].map(n=>{const s={...n},o=s.base||t;return o&&s.link&&(s.link=o+s.link.replace(/^\//,o.endsWith("/")?"":"/")),s.items&&(s.items=dr(s.items,o)),s})}function c4(){const{hasSidebar:e}=cs(),t=Nr("(min-width: 960px)"),n=Nr("(min-width: 1280px)");return{isAsideEnabled:F(()=>!n.value&&!t.value?!1:e.value?n.value:t.value)}}const u4=/\b(?:VPBadge|header-anchor|footnote-ref|ignore-header)\b/,Al=[];function bh(e){return typeof e.outline=="object"&&!Array.isArray(e.outline)&&e.outline.label||e.outlineTitle||"On this page"}function f4(e){const t=[...document.querySelectorAll(".VPDoc h1, .VPDoc h2, .VPDoc h3, .VPDoc h4, .VPDoc h5, .VPDoc h6")].filter(n=>n.id&&n.hasChildNodes()).map(n=>{const s=Number(n.tagName[1]);return{element:n,title:d4(n),link:"#"+n.id,level:s}});return h4(t,e)}function d4(e){let t="";for(const n of e.childNodes)if(n.nodeType===1){if(u4.test(n.className))continue;t+=n.textContent}else n.nodeType===3&&(t+=n.textContent);return t.trim()}function h4(e,t){if(t===!1)return[];const n=(typeof t=="object"&&!Array.isArray(t)?t.level:t)||2,[s,o]=typeof n=="number"?[n,n]:n==="deep"?[2,6]:n;return g4(e,s,o)}function p4(e,t){const{isAsideEnabled:n}=c4(),s=Y3(i,100);let o=null;be(()=>{requestAnimationFrame(i),window.addEventListener("scroll",s)}),Fo(()=>{r(location.hash)}),cn(()=>{window.removeEventListener("scroll",s)});function i(){if(!n.value)return;const a=window.scrollY,c=window.innerHeight,u=document.body.offsetHeight,f=Math.abs(a+c-u)<1,d=Al.map(({element:p,link:g})=>({link:g,top:m4(p)})).filter(({top:p})=>!Number.isNaN(p)).sort((p,g)=>p.top-g.top);if(!d.length){r(null);return}if(a<1){r(null);return}if(f){r(d[d.length-1].link);return}let h=null;for(const{link:p,top:g}of d){if(g>a+Hc()+4)break;h=p}r(h)}function r(a){o&&o.classList.remove("active"),a==null?o=null:o=e.value.querySelector(`a[href="${decodeURIComponent(a)}"]`);const c=o;c?(c.classList.add("active"),t.value.style.top=c.offsetTop+39+"px",t.value.style.opacity="1"):(t.value.style.top="33px",t.value.style.opacity="0")}}function m4(e){let t=0;for(;e!==document.body;){if(e===null)return NaN;t+=e.offsetTop,e=e.offsetParent}return t}function g4(e,t,n){Al.length=0;const s=[],o=[];return e.forEach(i=>{const r={...i,children:[]};let a=o[o.length-1];for(;a&&a.level>=r.level;)o.pop(),a=o[o.length-1];if(r.element.classList.contains("ignore-header")||a&&"shouldIgnore"in a){o.push({level:r.level,shouldIgnore:!0});return}r.level>n||r.level{t=co.value?document.activeElement:void 0}),be(()=>{window.addEventListener("keyup",n)}),cn(()=>{window.removeEventListener("keyup",n)});function n(s){s.key==="Escape"&&co.value&&(e(),t?.focus())}}function y4(){function e(){co.value=!0}function t(){co.value=!1}function n(){co.value?t():e()}return{isOpen:co,open:e,close:t,toggle:n}}function b4(e){const{page:t,hash:n}=xe(),s=j(!1),o=F(()=>e.value.collapsed!=null),i=F(()=>!!e.value.link),r=j(!1),a=()=>{r.value=Ls(t.value.relativePath,e.value.link)};te([t,e,n],a),be(a);const c=F(()=>r.value?!0:e.value.items?xl(t.value.relativePath,e.value.items):!1),u=F(()=>!!(e.value.items&&e.value.items.length));zn(()=>{s.value=!!(o.value&&e.value.collapsed)}),da(()=>{(r.value||c.value)&&(s.value=!1)});function f(){o.value&&(s.value=!s.value)}return{collapsed:s,collapsible:o,isLink:i,isActiveLink:r,hasActiveLink:c,hasChildren:u,toggle:f}}const $l=ze([]),ei=ze([]),Ll=ze(!1);function cs(){const{frontmatter:e,theme:t}=xe(),n=F(()=>!!(e.value.isHome??e.value.layout==="home")),s=F(()=>e.value.sidebar!==!1&&ei.value.length>0&&!n.value),o=F(()=>s.value&&Ll.value),i=F(()=>s.value?a4(ei.value):[]),r=F(()=>n.value?!1:e.value.aside!=null?!!e.value.aside:t.value.aside!==!1),a=F(()=>r.value?e.value.aside==null?t.value.aside==="left":e.value.aside==="left":!1),c=F(()=>$l.value.length>0);return{isHome:n,sidebar:al(ei),sidebarGroups:i,hasSidebar:s,isSidebarEnabled:o,hasAside:r,leftAside:a,headers:al($l),hasLocalNav:c}}function k4({closeSidebar:e}){const{frontmatter:t,page:n,theme:s}=xe();te(()=>[n.value.relativePath,s.value.sidebar],([i,r])=>{const a=r?yh(r,i):[];JSON.stringify(a)!==JSON.stringify(ei.value)&&(ei.value=a)},{immediate:!0,deep:!0,flush:"sync"}),Ai(()=>{$l.value=f4(t.value.outline??s.value.outline)}),wt&&(Ll.value=window.innerWidth>=960,window.addEventListener("resize",()=>{Ll.value=window.innerWidth>=960},{passive:!0}));const o=kn();te(()=>o.path,e),v4(e)}const kh=Symbol("layout-info"),w4=["href","title"],C4=z({__name:"VPDocOutlineItem",props:{headers:{},root:{type:Boolean}},setup(e){return(t,n)=>{const s=un("VPDocOutlineItem",!0);return m(),C("ul",{class:T(["VPDocOutlineItem",e.root?"root":"nested"])},[(m(!0),C(Y,null,le(e.headers,({children:o,link:i,title:r})=>(m(),C("li",null,[S("a",{class:"outline-link",href:i,title:r},W(r),9,w4),o?.length?(m(),D(s,{key:0,headers:o},null,8,["headers"])):A("",!0)]))),256))],2)}}}),wh=ke(C4,[["__scopeId","data-v-d90f9aed"]]),_4={class:"content"},S4={"aria-level":"2",class:"outline-title",id:"doc-outline-aria-label",role:"heading"},T4=z({__name:"VPDocAsideOutline",setup(e){const{theme:t}=xe(),n=j(),s=j(),{headers:o,hasLocalNav:i}=cs();return p4(n,s),(r,a)=>(m(),C("nav",{"aria-labelledby":"doc-outline-aria-label",class:T(["VPDocAsideOutline",{"has-outline":l(i)}]),ref_key:"container",ref:n},[S("div",_4,[S("div",{class:"outline-marker",ref_key:"marker",ref:s},null,512),S("div",S4,W(l(bh)(l(t))),1),H(wh,{headers:l(o),root:!0},null,8,["headers"])])],2))}}),E4=ke(T4,[["__scopeId","data-v-3f819b94"]]),x4={class:"VPDocAsideCarbonAds"},A4=z({__name:"VPDocAsideCarbonAds",props:{carbonAds:{}},setup(e){const t=()=>null;return(n,s)=>(m(),C("div",x4,[H(l(t),{"carbon-ads":e.carbonAds},null,8,["carbon-ads"])]))}}),$4={class:"VPDocAside"},L4=z({__name:"VPDocAside",setup(e){const{theme:t}=xe();return(n,s)=>(m(),C("div",$4,[M(n.$slots,"aside-top",{},void 0,!0),M(n.$slots,"aside-outline-before",{},void 0,!0),H(E4),M(n.$slots,"aside-outline-after",{},void 0,!0),s[0]||(s[0]=S("div",{class:"spacer"},null,-1)),M(n.$slots,"aside-ads-before",{},void 0,!0),l(t).carbonAds?(m(),D(A4,{key:0,"carbon-ads":l(t).carbonAds},null,8,["carbon-ads"])):A("",!0),M(n.$slots,"aside-ads-after",{},void 0,!0),M(n.$slots,"aside-bottom",{},void 0,!0)]))}}),I4=ke(L4,[["__scopeId","data-v-77a1b21d"]]);function P4(){const{theme:e,page:t}=xe();return F(()=>{const{text:n="Edit this page",pattern:s=""}=e.value.editLink||{};let o;return typeof s=="function"?o=s(t.value):o=s.replace(/:path/g,t.value.filePath),{url:o,text:n}})}function M4(){const{page:e,theme:t,frontmatter:n}=xe();return F(()=>{const s=yh(t.value.sidebar,e.value.relativePath),o=l4(s),i=F4(o,u=>u.link.replace(/[?#].*$/,"")),r=i.findIndex(u=>Ls(e.value.relativePath,u.link)),a=t.value.docFooter?.prev===!1&&!n.value.prev||n.value.prev===!1,c=t.value.docFooter?.next===!1&&!n.value.next||n.value.next===!1;return{prev:a?void 0:{text:(typeof n.value.prev=="string"?n.value.prev:typeof n.value.prev=="object"?n.value.prev.text:void 0)??i[r-1]?.docFooterText??i[r-1]?.text,link:(typeof n.value.prev=="object"?n.value.prev.link:void 0)??i[r-1]?.link},next:c?void 0:{text:(typeof n.value.next=="string"?n.value.next:typeof n.value.next=="object"?n.value.next.text:void 0)??i[r+1]?.docFooterText??i[r+1]?.text,link:(typeof n.value.next=="object"?n.value.next.link:void 0)??i[r+1]?.link}}})}function F4(e,t){const n=new Set;return e.filter(s=>{const o=t(s);return n.has(o)?!1:n.add(o)})}const Vn=z({__name:"VPLink",props:{tag:{},href:{},noIcon:{type:Boolean},target:{},rel:{}},setup(e){const t=e,n=F(()=>t.tag??(t.href?"a":"span")),s=F(()=>t.href&&ka.test(t.href)||t.target==="_blank");return(o,i)=>(m(),D(Be(n.value),{class:T(["VPLink",{link:e.href,"vp-external-link-icon":s.value,"no-icon":e.noIcon}]),href:e.href?l(zc)(e.href):void 0,target:e.target??(s.value?"_blank":void 0),rel:e.rel??(s.value?"noreferrer":void 0)},{default:O(()=>[M(o.$slots,"default")]),_:3},8,["class","href","target","rel"]))}}),B4={class:"VPLastUpdated"},N4=["datetime"],V4=z({__name:"VPDocFooterLastUpdated",setup(e){const{theme:t,page:n,lang:s}=xe(),{language:o}=S3(),i=z1("timeRef"),r=F(()=>new Date(n.value.lastUpdated)),a=F(()=>r.value.toISOString()),c=ze("");return be(()=>{zn(()=>{const u=t.value.lastUpdated?.formatOptions?.forceLocale?s.value:o.value;c.value=new Intl.DateTimeFormat(u,t.value.lastUpdated?.formatOptions??{dateStyle:"medium",timeStyle:"medium"}).format(r.value),u&&s.value!==u?i.value?.setAttribute("lang",u):i.value?.removeAttribute("lang")})}),(u,f)=>(m(),C("p",B4,[rt(W(l(t).lastUpdated?.text||l(t).lastUpdatedText||"Last updated")+": ",1),S("time",{ref_key:"timeRef",ref:i,datetime:a.value},W(c.value),9,N4)]))}}),O4=ke(V4,[["__scopeId","data-v-8f712c9b"]]),D4={key:0,class:"VPDocFooter"},R4={key:0,class:"edit-info"},H4={key:0,class:"edit-link"},z4={key:1,class:"last-updated"},j4={key:1,class:"prev-next","aria-labelledby":"doc-footer-aria-label"},U4={class:"pager"},W4=["innerHTML"],q4=["innerHTML"],K4={class:"pager"},Y4=["innerHTML"],G4=["innerHTML"],J4=z({__name:"VPDocFooter",setup(e){const{theme:t,page:n,frontmatter:s}=xe(),o=P4(),i=M4(),r=F(()=>t.value.editLink&&s.value.editLink!==!1),a=F(()=>n.value.lastUpdated),c=F(()=>r.value||a.value||i.value.prev||i.value.next);return(u,f)=>c.value?(m(),C("footer",D4,[M(u.$slots,"doc-footer-before",{},void 0,!0),r.value||a.value?(m(),C("div",R4,[r.value?(m(),C("div",H4,[H(Vn,{class:"edit-link-button",href:l(o).url,"no-icon":!0},{default:O(()=>[f[0]||(f[0]=S("span",{class:"vpi-square-pen edit-link-icon"},null,-1)),rt(" "+W(l(o).text),1)]),_:1},8,["href"])])):A("",!0),a.value?(m(),C("div",z4,[H(O4)])):A("",!0)])):A("",!0),l(i).prev?.link||l(i).next?.link?(m(),C("nav",j4,[f[1]||(f[1]=S("span",{class:"visually-hidden",id:"doc-footer-aria-label"},"Pager",-1)),S("div",U4,[l(i).prev?.link?(m(),D(Vn,{key:0,class:"pager-link prev",href:l(i).prev.link},{default:O(()=>[S("span",{class:"desc",innerHTML:l(t).docFooter?.prev||"Previous page"},null,8,W4),S("span",{class:"title",innerHTML:l(i).prev.text},null,8,q4)]),_:1},8,["href"])):A("",!0)]),S("div",K4,[l(i).next?.link?(m(),D(Vn,{key:0,class:"pager-link next",href:l(i).next.link},{default:O(()=>[S("span",{class:"desc",innerHTML:l(t).docFooter?.next||"Next page"},null,8,Y4),S("span",{class:"title",innerHTML:l(i).next.text},null,8,G4)]),_:1},8,["href"])):A("",!0)])])):A("",!0)])):A("",!0)}}),X4=ke(J4,[["__scopeId","data-v-af105c74"]]),Q4={class:"container"},Z4={class:"aside-container"},e6={class:"aside-content"},t6={class:"content"},n6={class:"content-container"},s6={class:"main"},o6=z({__name:"VPDoc",setup(e){const{theme:t}=xe(),n=kn(),{hasSidebar:s,hasAside:o,leftAside:i}=cs(),r=F(()=>n.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(a,c)=>{const u=un("Content");return m(),C("div",{class:T(["VPDoc",{"has-sidebar":l(s),"has-aside":l(o)}])},[M(a.$slots,"doc-top",{},void 0,!0),S("div",Q4,[l(o)?(m(),C("div",{key:0,class:T(["aside",{"left-aside":l(i)}])},[c[0]||(c[0]=S("div",{class:"aside-curtain"},null,-1)),S("div",Z4,[S("div",e6,[H(I4,null,{"aside-top":O(()=>[M(a.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":O(()=>[M(a.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":O(()=>[M(a.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":O(()=>[M(a.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":O(()=>[M(a.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":O(()=>[M(a.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):A("",!0),S("div",t6,[S("div",n6,[M(a.$slots,"doc-before",{},void 0,!0),S("main",s6,[H(u,{class:T(["vp-doc",[r.value,l(t).externalLinkIcon&&"external-link-icon-enabled"]])},null,8,["class"])]),H(X4,null,{"doc-footer-before":O(()=>[M(a.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),M(a.$slots,"doc-after",{},void 0,!0)])])]),M(a.$slots,"doc-bottom",{},void 0,!0)],2)}}}),i6=ke(o6,[["__scopeId","data-v-256763c0"]]),r6=z({__name:"VPButton",props:{tag:{},size:{default:"medium"},theme:{default:"brand"},text:{},href:{},target:{},rel:{}},setup(e){const t=e,n=F(()=>t.href&&ka.test(t.href)),s=F(()=>t.tag||(t.href?"a":"button"));return(o,i)=>(m(),D(Be(s.value),{class:T(["VPButton",[e.size,e.theme]]),href:e.href?l(zc)(e.href):void 0,target:t.target??(n.value?"_blank":void 0),rel:t.rel??(n.value?"noreferrer":void 0)},{default:O(()=>[M(o.$slots,"default",{},()=>[rt(W(e.text),1)],!0)]),_:3},8,["class","href","target","rel"]))}}),a6=ke(r6,[["__scopeId","data-v-b44745dc"]]),l6=["src","alt"],c6=z({inheritAttrs:!1,__name:"VPImage",props:{image:{},alt:{}},setup(e){return(t,n)=>{const s=un("VPImage",!0);return e.image?(m(),C(Y,{key:0},[typeof e.image=="string"||"src"in e.image?(m(),C("img",nt({key:0,class:"VPImage"},typeof e.image=="string"?t.$attrs:{...e.image,...t.$attrs},{src:l(Ee)(typeof e.image=="string"?e.image:e.image.src),alt:e.alt??(typeof e.image=="string"?"":e.image.alt||"")}),null,16,l6)):(m(),C(Y,{key:1},[H(s,nt({class:"dark",image:e.image.dark,alt:e.image.alt},t.$attrs),null,16,["image","alt"]),H(s,nt({class:"light",image:e.image.light,alt:e.image.alt},t.$attrs),null,16,["image","alt"])],64))],64)):A("",!0)}}}),Vr=ke(c6,[["__scopeId","data-v-e0e0d586"]]),u6={class:"container"},f6={class:"main"},d6={class:"heading"},h6=["innerHTML"],p6=["innerHTML"],m6=["innerHTML"],g6={key:0,class:"actions"},v6={key:0,class:"image"},y6={class:"image-container"},b6=z({__name:"VPHero",props:{name:{},text:{},tagline:{},image:{},actions:{}},setup(e){const{heroImageSlotExists:t}=qe(kh);return(n,s)=>(m(),C("div",{class:T(["VPHero",{"has-image":e.image||l(t)}])},[S("div",u6,[S("div",f6,[M(n.$slots,"home-hero-info-before",{},void 0,!0),M(n.$slots,"home-hero-info",{},()=>[S("h1",d6,[e.name?(m(),C("span",{key:0,innerHTML:e.name,class:"name clip"},null,8,h6)):A("",!0),e.text?(m(),C("span",{key:1,innerHTML:e.text,class:"text"},null,8,p6)):A("",!0)]),e.tagline?(m(),C("p",{key:0,innerHTML:e.tagline,class:"tagline"},null,8,m6)):A("",!0)],!0),M(n.$slots,"home-hero-info-after",{},void 0,!0),e.actions?(m(),C("div",g6,[(m(!0),C(Y,null,le(e.actions,o=>(m(),C("div",{key:o.link,class:"action"},[H(a6,{tag:"a",size:"medium",theme:o.theme,text:o.text,href:o.link,target:o.target,rel:o.rel},null,8,["theme","text","href","target","rel"])]))),128))])):A("",!0),M(n.$slots,"home-hero-actions-after",{},void 0,!0)]),e.image||l(t)?(m(),C("div",v6,[S("div",y6,[s[0]||(s[0]=S("div",{class:"image-bg"},null,-1)),M(n.$slots,"home-hero-image",{},()=>[e.image?(m(),D(Vr,{key:0,class:"image-src",image:e.image},null,8,["image"])):A("",!0)],!0)])])):A("",!0)])],2))}}),k6=ke(b6,[["__scopeId","data-v-09867ed5"]]),w6=z({__name:"VPHomeHero",setup(e){const{frontmatter:t}=xe();return(n,s)=>l(t).hero?(m(),D(k6,{key:0,class:"VPHomeHero",name:l(t).hero.name,text:l(t).hero.text,tagline:l(t).hero.tagline,image:l(t).hero.image,actions:l(t).hero.actions},{"home-hero-info-before":O(()=>[M(n.$slots,"home-hero-info-before")]),"home-hero-info":O(()=>[M(n.$slots,"home-hero-info")]),"home-hero-info-after":O(()=>[M(n.$slots,"home-hero-info-after")]),"home-hero-actions-after":O(()=>[M(n.$slots,"home-hero-actions-after")]),"home-hero-image":O(()=>[M(n.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):A("",!0)}}),C6={class:"box"},_6={key:0,class:"icon"},S6=["innerHTML"],T6=["innerHTML"],E6=["innerHTML"],x6={key:4,class:"link-text"},A6={class:"link-text-value"},$6=z({__name:"VPFeature",props:{icon:{},title:{},details:{},link:{},linkText:{},rel:{},target:{}},setup(e){return(t,n)=>(m(),D(Vn,{class:"VPFeature",href:e.link,rel:e.rel,target:e.target,"no-icon":!0,tag:e.link?"a":"div"},{default:O(()=>[S("article",C6,[typeof e.icon=="object"&&e.icon.wrap?(m(),C("div",_6,[H(Vr,{image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])])):typeof e.icon=="object"?(m(),D(Vr,{key:1,image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])):e.icon?(m(),C("div",{key:2,class:"icon",innerHTML:e.icon},null,8,S6)):A("",!0),S("h2",{class:"title",innerHTML:e.title},null,8,T6),e.details?(m(),C("p",{key:3,class:"details",innerHTML:e.details},null,8,E6)):A("",!0),e.linkText?(m(),C("div",x6,[S("p",A6,[rt(W(e.linkText)+" ",1),n[0]||(n[0]=S("span",{class:"vpi-arrow-right link-text-icon"},null,-1))])])):A("",!0)])]),_:1},8,["href","rel","target","tag"]))}}),L6=ke($6,[["__scopeId","data-v-684de982"]]),I6={key:0,class:"VPFeatures"},P6={class:"container"},M6={class:"items"},F6=z({__name:"VPFeatures",props:{features:{}},setup(e){const t=e,n=F(()=>{const s=t.features.length;if(s){if(s===2)return"grid-2";if(s===3)return"grid-3";if(s%3===0)return"grid-6";if(s>3)return"grid-4"}else return});return(s,o)=>e.features?(m(),C("div",I6,[S("div",P6,[S("div",M6,[(m(!0),C(Y,null,le(e.features,i=>(m(),C("div",{key:i.title,class:T(["item",[n.value]])},[H(L6,{icon:i.icon,title:i.title,details:i.details,link:i.link,"link-text":i.linkText,rel:i.rel,target:i.target},null,8,["icon","title","details","link","link-text","rel","target"])],2))),128))])])])):A("",!0)}}),B6=ke(F6,[["__scopeId","data-v-4422ade5"]]),N6=z({__name:"VPHomeFeatures",setup(e){const{frontmatter:t}=xe();return(n,s)=>l(t).features?(m(),D(B6,{key:0,class:"VPHomeFeatures",features:l(t).features},null,8,["features"])):A("",!0)}}),V6=z({__name:"VPHomeContent",setup(e){const{width:t}=E3({initialWidth:0,includeScrollbar:!1});return(n,s)=>(m(),C("div",{class:"vp-doc container",style:Fe(l(t)?{"--vp-offset":`calc(50% - ${l(t)/2}px)`}:{})},[M(n.$slots,"default",{},void 0,!0)],4))}}),O6=ke(V6,[["__scopeId","data-v-1b679879"]]),D6=z({__name:"VPHome",setup(e){const{frontmatter:t,theme:n}=xe();return(s,o)=>{const i=un("Content");return m(),C("div",{class:T(["VPHome",{"external-link-icon-enabled":l(n).externalLinkIcon}])},[M(s.$slots,"home-hero-before",{},void 0,!0),H(w6,null,{"home-hero-info-before":O(()=>[M(s.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":O(()=>[M(s.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":O(()=>[M(s.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":O(()=>[M(s.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":O(()=>[M(s.$slots,"home-hero-image",{},void 0,!0)]),_:3}),M(s.$slots,"home-hero-after",{},void 0,!0),M(s.$slots,"home-features-before",{},void 0,!0),H(N6),M(s.$slots,"home-features-after",{},void 0,!0),l(t).markdownStyles!==!1?(m(),D(O6,{key:0},{default:O(()=>[H(i)]),_:1})):(m(),D(i,{key:1}))],2)}}}),R6=ke(D6,[["__scopeId","data-v-10bb9ea0"]]),H6={},z6={class:"VPPage"};function j6(e,t){const n=un("Content");return m(),C("div",z6,[M(e.$slots,"page-top"),H(n),M(e.$slots,"page-bottom")])}const U6=ke(H6,[["render",j6]]),W6=z({__name:"VPContent",setup(e){const{page:t,frontmatter:n}=xe(),{isHome:s,hasSidebar:o}=cs();return(i,r)=>(m(),C("div",{class:T(["VPContent",{"has-sidebar":l(o),"is-home":l(s)}]),id:"VPContent"},[l(t).isNotFound?M(i.$slots,"not-found",{key:0},()=>[H(vh)],!0):l(n).layout==="page"?(m(),D(U6,{key:1},{"page-top":O(()=>[M(i.$slots,"page-top",{},void 0,!0)]),"page-bottom":O(()=>[M(i.$slots,"page-bottom",{},void 0,!0)]),_:3})):l(n).layout==="home"?(m(),D(R6,{key:2},{"home-hero-before":O(()=>[M(i.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":O(()=>[M(i.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":O(()=>[M(i.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":O(()=>[M(i.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":O(()=>[M(i.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":O(()=>[M(i.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":O(()=>[M(i.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":O(()=>[M(i.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":O(()=>[M(i.$slots,"home-features-after",{},void 0,!0)]),_:3})):l(n).layout&&l(n).layout!=="doc"?(m(),D(Be(l(n).layout),{key:3})):(m(),D(i6,{key:4},{"doc-top":O(()=>[M(i.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":O(()=>[M(i.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":O(()=>[M(i.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":O(()=>[M(i.$slots,"doc-before",{},void 0,!0)]),"doc-after":O(()=>[M(i.$slots,"doc-after",{},void 0,!0)]),"aside-top":O(()=>[M(i.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":O(()=>[M(i.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":O(()=>[M(i.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":O(()=>[M(i.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":O(()=>[M(i.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":O(()=>[M(i.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}}),q6=ke(W6,[["__scopeId","data-v-19ca35aa"]]),K6={class:"container"},Y6=["innerHTML"],G6=["innerHTML"],J6=z({__name:"VPFooter",setup(e){const{theme:t,frontmatter:n}=xe(),{hasSidebar:s}=cs();return(o,i)=>l(t).footer&&l(n).footer!==!1?(m(),C("footer",{key:0,class:T(["VPFooter",{"has-sidebar":l(s)}])},[S("div",K6,[l(t).footer.message?(m(),C("p",{key:0,class:"message",innerHTML:l(t).footer.message},null,8,Y6)):A("",!0),l(t).footer.copyright?(m(),C("p",{key:1,class:"copyright",innerHTML:l(t).footer.copyright},null,8,G6)):A("",!0)])],2)):A("",!0)}}),X6=ke(J6,[["__scopeId","data-v-105f771f"]]),Q6={class:"menu-text"},Z6={class:"header"},e8={class:"outline"},t8=z({__name:"VPLocalNavOutlineDropdown",props:{headers:{},navHeight:{}},setup(e){const t=e,{theme:n}=xe(),s=j(!1),o=j(0),i=j(),r=j();function a(d){i.value?.contains(d.target)||(s.value=!1)}te(s,d=>{if(d){document.addEventListener("click",a);return}document.removeEventListener("click",a)}),_l("Escape",()=>{s.value=!1}),Ai(()=>{s.value=!1});function c(){s.value=!s.value,o.value=window.innerHeight+Math.min(window.scrollY-t.navHeight,0)}function u(d){d.target.classList.contains("outline-link")&&(r.value&&(r.value.style.transition="none"),Oe(()=>{s.value=!1}))}function f(){s.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}return(d,h)=>(m(),C("div",{class:"VPLocalNavOutlineDropdown",style:Fe({"--vp-vh":o.value+"px"}),ref_key:"main",ref:i},[e.headers.length>0?(m(),C("button",{key:0,onClick:c,class:T({open:s.value})},[S("span",Q6,W(l(bh)(l(n))),1),h[0]||(h[0]=S("span",{class:"vpi-chevron-right icon"},null,-1))],2)):(m(),C("button",{key:1,onClick:f},W(l(n).returnToTopLabel||"Return to top"),1)),H(vt,{name:"flyout"},{default:O(()=>[s.value?(m(),C("div",{key:0,ref_key:"items",ref:r,class:"items",onClick:u},[S("div",Z6,[S("a",{class:"top-link",href:"#",onClick:f},W(l(n).returnToTopLabel||"Return to top"),1)]),S("div",e8,[H(wh,{headers:e.headers},null,8,["headers"])])],512)):A("",!0)]),_:1})],4))}}),n8=ke(t8,[["__scopeId","data-v-6ab9adca"]]),s8={class:"container"},o8=["aria-expanded"],i8={class:"menu-text"},r8=z({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(e){const{theme:t}=xe(),{isHome:n,hasSidebar:s,headers:o,hasLocalNav:i}=cs(),{y:r}=uh(),a=j(0);be(()=>{a.value=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--vp-nav-height"))});const c=F(()=>({VPLocalNav:!0,"has-sidebar":s.value,empty:!i.value,fixed:!i.value&&!s.value}));return(u,f)=>!l(n)&&(l(i)||l(s)||l(r)>=a.value)?(m(),C("div",{key:0,class:T(c.value)},[S("div",s8,[l(s)?(m(),C("button",{key:0,class:"menu","aria-expanded":e.open,"aria-controls":"VPSidebarNav",onClick:f[0]||(f[0]=d=>u.$emit("open-menu"))},[f[1]||(f[1]=S("span",{class:"vpi-align-left menu-icon"},null,-1)),S("span",i8,W(l(t).sidebarMenuLabel||"Menu"),1)],8,o8)):A("",!0),H(n8,{headers:l(o),navHeight:a.value},null,8,["headers","navHeight"])])],2)):A("",!0)}}),a8=ke(r8,[["__scopeId","data-v-8f018525"]]);function l8(){const e=j(!1);function t(){e.value=!0,window.addEventListener("resize",o)}function n(){e.value=!1,window.removeEventListener("resize",o)}function s(){e.value?n():t()}function o(){window.outerWidth>=768&&n()}const i=kn();return te(()=>i.path,n),{isScreenOpen:e,openScreen:t,closeScreen:n,toggleScreen:s}}const jc=Symbol("nav"),c8={},u8={class:"VPSwitch",type:"button",role:"switch"},f8={class:"check"},d8={key:0,class:"icon"};function h8(e,t){return m(),C("button",u8,[S("span",f8,[e.$slots.default?(m(),C("span",d8,[M(e.$slots,"default",{},void 0,!0)])):A("",!0)])])}const p8=ke(c8,[["render",h8],["__scopeId","data-v-5fd96198"]]),m8=z({__name:"VPSwitchAppearance",setup(e){const{isDark:t,theme:n}=xe(),s=qe("toggle-appearance",()=>{t.value=!t.value}),o=j("");return da(()=>{o.value=t.value?n.value.lightModeSwitchTitle||"Switch to light theme":n.value.darkModeSwitchTitle||"Switch to dark theme"}),(i,r)=>(m(),D(p8,{title:o.value,class:"VPSwitchAppearance","aria-checked":l(t),onClick:l(s)},{default:O(()=>[...r[0]||(r[0]=[S("span",{class:"vpi-sun sun"},null,-1),S("span",{class:"vpi-moon moon"},null,-1)])]),_:1},8,["title","aria-checked","onClick"]))}}),Uc=ke(m8,[["__scopeId","data-v-fd2b5f2c"]]),g8={key:0,class:"VPNavBarAppearance"},v8=z({__name:"VPNavBarAppearance",setup(e){const{site:t}=xe();return(n,s)=>l(t).appearance&&l(t).appearance!=="force-dark"&&l(t).appearance!=="force-auto"?(m(),C("div",g8,[H(Uc)])):A("",!0)}}),y8=ke(v8,[["__scopeId","data-v-0fac236d"]]),Wc=j();let Ch=!1,Ka=0;function b8(e){const t=j(!1);if(wt){!Ch&&k8(),Ka++;const n=te(Wc,s=>{s===e.el.value||e.el.value?.contains(s)?(t.value=!0,e.onFocus?.()):(t.value=!1,e.onBlur?.())});cn(()=>{n(),Ka--,Ka||w8()})}return It(t)}function k8(){document.addEventListener("focusin",_h),Ch=!0,Wc.value=document.activeElement}function w8(){document.removeEventListener("focusin",_h)}function _h(){Wc.value=document.activeElement}const C8={class:"VPMenuLink"},_8=["innerHTML"],S8=z({inheritAttrs:!1,__name:"VPMenuLink",props:{item:{}},setup(e){const t=e,{page:n}=xe(),s=F(()=>typeof t.item.link=="function"?t.item.link(n.value):t.item.link);return(o,i)=>(m(),C("div",C8,[H(Vn,nt(o.$attrs,{class:{active:l(Ls)(l(n).relativePath,e.item.activeMatch||s.value,!!e.item.activeMatch)},href:s.value,target:e.item.target,rel:e.item.rel,"no-icon":e.item.noIcon}),{default:O(()=>[S("span",{innerHTML:e.item.text},null,8,_8)]),_:1},16,["class","href","target","rel","no-icon"])]))}}),wa=ke(S8,[["__scopeId","data-v-c995c7e2"]]),T8={class:"VPMenuGroup"},E8={key:0,class:"title"},x8=z({__name:"VPMenuGroup",props:{text:{},items:{}},setup(e){return(t,n)=>(m(),C("div",T8,[e.text?(m(),C("p",E8,W(e.text),1)):A("",!0),(m(!0),C(Y,null,le(e.items,s=>(m(),C(Y,{key:JSON.stringify(s)},["link"in s?(m(),D(wa,{key:0,item:s},null,8,["item"])):A("",!0)],64))),128))]))}}),A8=ke(x8,[["__scopeId","data-v-0d91e4ea"]]),$8={class:"VPMenu"},L8={key:0,class:"items"},I8=z({__name:"VPMenu",props:{items:{}},setup(e){return(t,n)=>(m(),C("div",$8,[e.items?(m(),C("div",L8,[(m(!0),C(Y,null,le(e.items,s=>(m(),C(Y,{key:JSON.stringify(s)},["link"in s?(m(),D(wa,{key:0,item:s},null,8,["item"])):"component"in s?(m(),D(Be(s.component),nt({key:1,ref_for:!0},s.props),null,16)):(m(),D(A8,{key:2,text:s.text,items:s.items},null,8,["text","items"]))],64))),128))])):A("",!0),M(t.$slots,"default",{},void 0,!0)]))}}),P8=ke(I8,[["__scopeId","data-v-62da9740"]]),M8=["aria-expanded","aria-label"],F8={key:0,class:"text"},B8=["innerHTML"],N8={key:1,class:"vpi-more-horizontal icon"},V8={class:"menu"},O8=z({__name:"VPFlyout",props:{icon:{},button:{},label:{},items:{}},setup(e){const t=j(!1),n=j();b8({el:n,onBlur:s});function s(){t.value=!1}return(o,i)=>(m(),C("div",{class:"VPFlyout",ref_key:"el",ref:n,onMouseenter:i[1]||(i[1]=r=>t.value=!0),onMouseleave:i[2]||(i[2]=r=>t.value=!1)},[S("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":t.value,"aria-label":e.label,onClick:i[0]||(i[0]=r=>t.value=!t.value)},[e.button||e.icon?(m(),C("span",F8,[e.icon?(m(),C("span",{key:0,class:T([e.icon,"option-icon"])},null,2)):A("",!0),e.button?(m(),C("span",{key:1,innerHTML:e.button},null,8,B8)):A("",!0),i[3]||(i[3]=S("span",{class:"vpi-chevron-down text-icon"},null,-1))])):(m(),C("span",N8))],8,M8),S("div",V8,[H(P8,{items:e.items},{default:O(()=>[M(o.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}}),qc=ke(O8,[["__scopeId","data-v-c0d6c551"]]),D8=["href","aria-label","rel","innerHTML"],R8=z({__name:"VPSocialLink",props:{icon:{},link:{},ariaLabel:{},me:{type:Boolean}},setup(e){const t=e,n=j();be(async()=>{await Oe();const o=n.value?.children[0];o instanceof HTMLElement&&o.className.startsWith("vpi-social-")&&(getComputedStyle(o).maskImage||getComputedStyle(o).webkitMaskImage)==="none"&&o.style.setProperty("--icon",`url('https://api.iconify.design/simple-icons/${t.icon}.svg')`)});const s=F(()=>typeof t.icon=="object"?t.icon.svg:``);return(o,i)=>(m(),C("a",{ref_key:"el",ref:n,class:"VPSocialLink no-icon",href:e.link,"aria-label":e.ariaLabel??(typeof e.icon=="string"?e.icon:""),target:"_blank",rel:e.me?"me noopener":"noopener",innerHTML:s.value},null,8,D8))}}),H8=ke(R8,[["__scopeId","data-v-94c580ff"]]),z8={class:"VPSocialLinks"},j8=z({__name:"VPSocialLinks",props:{links:{},me:{type:Boolean,default:!0}},setup(e){return(t,n)=>(m(),C("div",z8,[(m(!0),C(Y,null,le(e.links,({link:s,icon:o,ariaLabel:i})=>(m(),D(H8,{key:s,icon:o,link:s,ariaLabel:i,me:e.me},null,8,["icon","link","ariaLabel","me"]))),128))]))}}),Kc=ke(j8,[["__scopeId","data-v-0f495aab"]]),U8={key:0,class:"group translations"},W8={class:"trans-title"},q8={key:1,class:"group"},K8={class:"item appearance"},Y8={class:"label"},G8={class:"appearance-action"},J8={key:2,class:"group"},X8={class:"item social-links"},Q8=z({__name:"VPNavBarExtra",setup(e){const{site:t,theme:n}=xe(),{localeLinks:s,currentLang:o}=$i({correspondingLink:!0}),i=F(()=>s.value.length&&o.value.label||t.value.appearance||n.value.socialLinks);return(r,a)=>i.value?(m(),D(qc,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:O(()=>[l(s).length&&l(o).label?(m(),C("div",U8,[S("p",W8,W(l(o).label),1),(m(!0),C(Y,null,le(l(s),c=>(m(),D(wa,{key:c.link,item:c,lang:c.lang,dir:c.dir},null,8,["item","lang","dir"]))),128))])):A("",!0),l(t).appearance&&l(t).appearance!=="force-dark"&&l(t).appearance!=="force-auto"?(m(),C("div",q8,[S("div",K8,[S("p",Y8,W(l(n).darkModeSwitchLabel||"Appearance"),1),S("div",G8,[H(Uc)])])])):A("",!0),l(n).socialLinks?(m(),C("div",J8,[S("div",X8,[H(Kc,{class:"social-links-list",links:l(n).socialLinks},null,8,["links"])])])):A("",!0)]),_:1})):A("",!0)}}),Z8=ke(Q8,[["__scopeId","data-v-cf5e177b"]]),e5=["aria-expanded"],t5=z({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(e){return(t,n)=>(m(),C("button",{type:"button",class:T(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:n[0]||(n[0]=s=>t.$emit("click"))},[...n[1]||(n[1]=[S("span",{class:"container"},[S("span",{class:"top"}),S("span",{class:"middle"}),S("span",{class:"bottom"})],-1)])],10,e5))}}),n5=ke(t5,[["__scopeId","data-v-1d142719"]]),s5=["innerHTML"],o5=z({__name:"VPNavBarMenuLink",props:{item:{}},setup(e){const t=e,{page:n}=xe(),s=F(()=>typeof t.item.link=="function"?t.item.link(n.value):t.item.link);return(o,i)=>(m(),D(Vn,{class:T({VPNavBarMenuLink:!0,active:l(Ls)(l(n).relativePath,e.item.activeMatch||s.value,!!e.item.activeMatch)}),href:s.value,target:e.item.target,rel:e.item.rel,"no-icon":e.item.noIcon,tabindex:"0"},{default:O(()=>[S("span",{innerHTML:e.item.text},null,8,s5)]),_:1},8,["class","href","target","rel","no-icon"]))}}),i5=ke(o5,[["__scopeId","data-v-bf8a0d28"]]),r5=z({__name:"VPNavBarMenuGroup",props:{item:{}},setup(e){const t=e,{page:n}=xe(),s=i=>"component"in i?!1:"link"in i?Ls(n.value.relativePath,typeof i.link=="function"?i.link(n.value):i.link,!!t.item.activeMatch):i.items.some(s),o=F(()=>s(t.item));return(i,r)=>(m(),D(qc,{class:T({VPNavBarMenuGroup:!0,active:l(Ls)(l(n).relativePath,e.item.activeMatch,!!e.item.activeMatch)||o.value}),button:e.item.text,items:e.item.items},null,8,["class","button","items"]))}}),a5={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},l5=z({__name:"VPNavBarMenu",setup(e){const{theme:t}=xe();return(n,s)=>l(t).nav?(m(),C("nav",a5,[s[0]||(s[0]=S("span",{id:"main-nav-aria-label",class:"visually-hidden"}," Main Navigation ",-1)),(m(!0),C(Y,null,le(l(t).nav,o=>(m(),C(Y,{key:JSON.stringify(o)},["link"in o?(m(),D(i5,{key:0,item:o},null,8,["item"])):"component"in o?(m(),D(Be(o.component),nt({key:1,ref_for:!0},o.props),null,16)):(m(),D(r5,{key:2,item:o},null,8,["item"]))],64))),128))])):A("",!0)}}),c5=ke(l5,[["__scopeId","data-v-39023d39"]]),u5="modulepreload",f5=function(e){return"/"+e},Vf={},d5=function(t,n,s){let o=Promise.resolve();if(n&&n.length>0){let c=function(u){return Promise.all(u.map(f=>Promise.resolve(f).then(d=>({status:"fulfilled",value:d}),d=>({status:"rejected",reason:d}))))};document.getElementsByTagName("link");const r=document.querySelector("meta[property=csp-nonce]"),a=r?.nonce||r?.getAttribute("nonce");o=c(n.map(u=>{if(u=f5(u),u in Vf)return;Vf[u]=!0;const f=u.endsWith(".css"),d=f?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${u}"]${d}`))return;const h=document.createElement("link");if(h.rel=f?"stylesheet":u5,f||(h.as="script"),h.crossOrigin="",h.href=u,a&&h.setAttribute("nonce",a),document.head.appendChild(h),f)return new Promise((p,g)=>{h.addEventListener("load",p),h.addEventListener("error",()=>g(new Error(`Unable to preload CSS for ${u}`)))})}))}function i(r){const a=new Event("vite:preloadError",{cancelable:!0});if(a.payload=r,window.dispatchEvent(a),!a.defaultPrevented)throw r}return o.then(r=>{for(const a of r||[])a.status==="rejected"&&i(a.reason);return t().catch(i)})};function h5(e){const{localeIndex:t,theme:n}=xe();function s(o){const i=o.split("."),r=n.value.search?.options,a=r&&typeof r=="object",c=a&&r.locales?.[t.value]?.translations||null,u=a&&r.translations||null;let f=c,d=u,h=e;const p=i.pop();for(const g of i){let v=null;const k=h?.[g];k&&(v=h=k);const b=d?.[g];b&&(v=d=b);const w=f?.[g];w&&(v=f=w),k||(h=v),b||(d=v),w||(f=v)}return f?.[p]??d?.[p]??h?.[p]??""}return s}const p5=["aria-label"],m5={class:"DocSearch-Button-Container"},g5={class:"DocSearch-Button-Placeholder"},Of=z({__name:"VPNavBarSearchButton",setup(e){const n=h5({button:{buttonText:"Search",buttonAriaLabel:"Search"}});return(s,o)=>(m(),C("button",{type:"button","aria-label":l(n)("button.buttonAriaLabel"),"aria-keyshortcuts":"/ control+k meta+k",class:"DocSearch DocSearch-Button"},[S("span",m5,[o[0]||(o[0]=S("span",{class:"vpi-search DocSearch-Search-Icon"},null,-1)),S("span",g5,W(l(n)("button.buttonText")),1)]),o[1]||(o[1]=S("span",{class:"DocSearch-Button-Keys"},[S("kbd",{class:"DocSearch-Button-Key"}),S("kbd",{class:"DocSearch-Button-Key"})],-1))],8,p5))}}),v5={class:"VPNavBarSearch"},y5={id:"local-search"},b5={key:1,id:"docsearch"},k5=z({__name:"VPNavBarSearch",setup(e){const t=wc(()=>d5(()=>import("./VPLocalSearchBox.Dqu_3HXH.js"),[])),n=()=>null,{theme:s}=xe(),o=j(!1),i=j(!1);be(()=>{});function r(){o.value||(o.value=!0,setTimeout(a,16))}function a(){const d=new Event("keydown");d.key="k",d.metaKey=!0,window.dispatchEvent(d),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||a()},16)}function c(d){const h=d.target,p=h.tagName;return h.isContentEditable||p==="INPUT"||p==="SELECT"||p==="TEXTAREA"}const u=j(!1);_l("k",d=>{(d.ctrlKey||d.metaKey)&&(d.preventDefault(),u.value=!0)}),_l("/",d=>{c(d)||(d.preventDefault(),u.value=!0)});const f="local";return(d,h)=>(m(),C("div",v5,[l(f)==="local"?(m(),C(Y,{key:0},[u.value?(m(),D(l(t),{key:0,onClose:h[0]||(h[0]=p=>u.value=!1)})):A("",!0),S("div",y5,[H(Of,{onClick:h[1]||(h[1]=p=>u.value=!0)})])],64)):l(f)==="algolia"?(m(),C(Y,{key:1},[o.value?(m(),D(l(n),{key:0,algolia:l(s).search?.options??l(s).algolia,onVnodeBeforeMount:h[2]||(h[2]=p=>i.value=!0)},null,8,["algolia"])):A("",!0),i.value?A("",!0):(m(),C("div",b5,[H(Of,{onClick:r})]))],64)):A("",!0)]))}}),w5=z({__name:"VPNavBarSocialLinks",setup(e){const{theme:t}=xe();return(n,s)=>l(t).socialLinks?(m(),D(Kc,{key:0,class:"VPNavBarSocialLinks",links:l(t).socialLinks},null,8,["links"])):A("",!0)}}),C5=ke(w5,[["__scopeId","data-v-cd4c0ab6"]]),_5=["href","rel","target"],S5=["innerHTML"],T5={key:2},E5=z({__name:"VPNavBarTitle",setup(e){const{site:t,theme:n}=xe(),{hasSidebar:s}=cs(),{currentLang:o}=$i(),i=F(()=>typeof n.value.logoLink=="string"?n.value.logoLink:n.value.logoLink?.link),r=F(()=>typeof n.value.logoLink=="string"?void 0:n.value.logoLink?.rel),a=F(()=>typeof n.value.logoLink=="string"?void 0:n.value.logoLink?.target);return(c,u)=>(m(),C("div",{class:T(["VPNavBarTitle",{"has-sidebar":l(s)}])},[S("a",{class:"title",href:i.value??l(zc)(l(o).link),rel:r.value,target:a.value},[M(c.$slots,"nav-bar-title-before",{},void 0,!0),l(n).logo?(m(),D(Vr,{key:0,class:"logo",image:l(n).logo},null,8,["image"])):A("",!0),l(n).siteTitle?(m(),C("span",{key:1,innerHTML:l(n).siteTitle},null,8,S5)):l(n).siteTitle===void 0?(m(),C("span",T5,W(l(t).title),1)):A("",!0),M(c.$slots,"nav-bar-title-after",{},void 0,!0)],8,_5)],2))}}),x5=ke(E5,[["__scopeId","data-v-e5d5fdf8"]]),A5={class:"items"},$5={class:"title"},L5=z({__name:"VPNavBarTranslations",setup(e){const{theme:t}=xe(),{localeLinks:n,currentLang:s}=$i({correspondingLink:!0});return(o,i)=>l(n).length&&l(s).label?(m(),D(qc,{key:0,class:"VPNavBarTranslations",icon:"vpi-languages",label:l(t).langMenuLabel||"Change language"},{default:O(()=>[S("div",A5,[S("p",$5,W(l(s).label),1),(m(!0),C(Y,null,le(l(n),r=>(m(),D(wa,{key:r.link,item:r,lang:r.lang,dir:r.dir},null,8,["item","lang","dir"]))),128))])]),_:1},8,["label"])):A("",!0)}}),I5=ke(L5,[["__scopeId","data-v-1c347a57"]]),P5={class:"wrapper"},M5={class:"container"},F5={class:"title"},B5={class:"content"},N5={class:"content-body"},V5=z({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(e){const t=e,{y:n}=uh(),{isHome:s,hasSidebar:o}=cs(),i=j({});return da(()=>{i.value={"has-sidebar":o.value,home:s.value,top:n.value===0,"screen-open":t.isScreenOpen}}),(r,a)=>(m(),C("div",{class:T(["VPNavBar",i.value])},[S("div",P5,[S("div",M5,[S("div",F5,[H(x5,null,{"nav-bar-title-before":O(()=>[M(r.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":O(()=>[M(r.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),S("div",B5,[S("div",N5,[M(r.$slots,"nav-bar-content-before",{},void 0,!0),H(k5,{class:"search"}),H(c5,{class:"menu"}),H(I5,{class:"translations"}),H(y8,{class:"appearance"}),H(C5,{class:"social-links"}),H(Z8,{class:"extra"}),M(r.$slots,"nav-bar-content-after",{},void 0,!0),H(n5,{class:"hamburger",active:e.isScreenOpen,onClick:a[0]||(a[0]=c=>r.$emit("toggle-screen"))},null,8,["active"])])])])]),a[1]||(a[1]=S("div",{class:"divider"},[S("div",{class:"divider-line"})],-1))],2))}}),O5=ke(V5,[["__scopeId","data-v-a10c09a7"]]),D5={key:0,class:"VPNavScreenAppearance"},R5={class:"text"},H5=z({__name:"VPNavScreenAppearance",setup(e){const{site:t,theme:n}=xe();return(s,o)=>l(t).appearance&&l(t).appearance!=="force-dark"&&l(t).appearance!=="force-auto"?(m(),C("div",D5,[S("p",R5,W(l(n).darkModeSwitchLabel||"Appearance"),1),H(Uc)])):A("",!0)}}),z5=ke(H5,[["__scopeId","data-v-0c49eb9f"]]),j5=["innerHTML"],U5=z({__name:"VPNavScreenMenuLink",props:{item:{}},setup(e){const t=e,{page:n}=xe(),s=F(()=>typeof t.item.link=="function"?t.item.link(n.value):t.item.link),{closeScreen:o}=qe(jc);return(i,r)=>(m(),D(Vn,{class:"VPNavScreenMenuLink",href:s.value,target:e.item.target,rel:e.item.rel,"no-icon":e.item.noIcon,onClick:l(o)},{default:O(()=>[S("span",{innerHTML:e.item.text},null,8,j5)]),_:1},8,["href","target","rel","no-icon","onClick"]))}}),W5=ke(U5,[["__scopeId","data-v-f0c07abe"]]),q5=["innerHTML"],K5=z({__name:"VPNavScreenMenuGroupLink",props:{item:{}},setup(e){const t=e,{page:n}=xe(),s=F(()=>typeof t.item.link=="function"?t.item.link(n.value):t.item.link),{closeScreen:o}=qe(jc);return(i,r)=>(m(),D(Vn,{class:"VPNavScreenMenuGroupLink",href:s.value,target:e.item.target,rel:e.item.rel,"no-icon":e.item.noIcon,onClick:l(o)},{default:O(()=>[S("span",{innerHTML:e.item.text},null,8,q5)]),_:1},8,["href","target","rel","no-icon","onClick"]))}}),Sh=ke(K5,[["__scopeId","data-v-1c460cf9"]]),Y5={class:"VPNavScreenMenuGroupSection"},G5={key:0,class:"title"},J5=z({__name:"VPNavScreenMenuGroupSection",props:{text:{},items:{}},setup(e){return(t,n)=>(m(),C("div",Y5,[e.text?(m(),C("p",G5,W(e.text),1)):A("",!0),(m(!0),C(Y,null,le(e.items,s=>(m(),D(Sh,{key:s.text,item:s},null,8,["item"]))),128))]))}}),X5=ke(J5,[["__scopeId","data-v-b9d15d51"]]),Q5=["aria-controls","aria-expanded"],Z5=["innerHTML"],e7=["id"],t7={key:0,class:"item"},n7={key:1,class:"item"},s7={key:2,class:"group"},o7=z({__name:"VPNavScreenMenuGroup",props:{text:{},items:{}},setup(e){const t=e,n=j(!1),s=F(()=>`NavScreenGroup-${t.text.replace(" ","-").toLowerCase()}`);function o(){n.value=!n.value}return(i,r)=>(m(),C("div",{class:T(["VPNavScreenMenuGroup",{open:n.value}])},[S("button",{class:"button","aria-controls":s.value,"aria-expanded":n.value,onClick:o},[S("span",{class:"button-text",innerHTML:e.text},null,8,Z5),r[0]||(r[0]=S("span",{class:"vpi-plus button-icon"},null,-1))],8,Q5),S("div",{id:s.value,class:"items"},[(m(!0),C(Y,null,le(e.items,a=>(m(),C(Y,{key:JSON.stringify(a)},["link"in a?(m(),C("div",t7,[H(Sh,{item:a},null,8,["item"])])):"component"in a?(m(),C("div",n7,[(m(),D(Be(a.component),nt({ref_for:!0},a.props,{"screen-menu":""}),null,16))])):(m(),C("div",s7,[H(X5,{text:a.text,items:a.items},null,8,["text","items"])]))],64))),128))],8,e7)],2))}}),i7=ke(o7,[["__scopeId","data-v-8ab0c53a"]]),r7={key:0,class:"VPNavScreenMenu"},a7=z({__name:"VPNavScreenMenu",setup(e){const{theme:t}=xe();return(n,s)=>l(t).nav?(m(),C("nav",r7,[(m(!0),C(Y,null,le(l(t).nav,o=>(m(),C(Y,{key:JSON.stringify(o)},["link"in o?(m(),D(W5,{key:0,item:o},null,8,["item"])):"component"in o?(m(),D(Be(o.component),nt({key:1,ref_for:!0},o.props,{"screen-menu":""}),null,16)):(m(),D(i7,{key:2,text:o.text||"",items:o.items},null,8,["text","items"]))],64))),128))])):A("",!0)}}),l7=z({__name:"VPNavScreenSocialLinks",setup(e){const{theme:t}=xe();return(n,s)=>l(t).socialLinks?(m(),D(Kc,{key:0,class:"VPNavScreenSocialLinks",links:l(t).socialLinks},null,8,["links"])):A("",!0)}}),c7={class:"list"},u7=z({__name:"VPNavScreenTranslations",setup(e){const{localeLinks:t,currentLang:n}=$i({correspondingLink:!0}),s=j(!1);function o(){s.value=!s.value}return(i,r)=>l(t).length&&l(n).label?(m(),C("div",{key:0,class:T(["VPNavScreenTranslations",{open:s.value}])},[S("button",{class:"title",onClick:o},[r[0]||(r[0]=S("span",{class:"vpi-languages icon lang"},null,-1)),rt(" "+W(l(n).label)+" ",1),r[1]||(r[1]=S("span",{class:"vpi-chevron-down icon chevron"},null,-1))]),S("ul",c7,[(m(!0),C(Y,null,le(l(t),a=>(m(),C("li",{key:a.link,class:"item"},[H(Vn,{class:"link",href:a.link,lang:a.lang,dir:a.dir},{default:O(()=>[rt(W(a.text),1)]),_:2},1032,["href","lang","dir"])]))),128))])],2)):A("",!0)}}),f7=ke(u7,[["__scopeId","data-v-85de7b6f"]]),d7={class:"container"},h7=z({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(e){const t=j(null),n=ch(wt?document.body:null);return(s,o)=>(m(),D(vt,{name:"fade",onEnter:o[0]||(o[0]=i=>n.value=!0),onAfterLeave:o[1]||(o[1]=i=>n.value=!1)},{default:O(()=>[e.open?(m(),C("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:t,id:"VPNavScreen"},[S("div",d7,[M(s.$slots,"nav-screen-content-before",{},void 0,!0),H(a7,{class:"menu"}),H(f7,{class:"translations"}),H(z5,{class:"appearance"}),H(l7,{class:"social-links"}),M(s.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):A("",!0)]),_:3}))}}),p7=ke(h7,[["__scopeId","data-v-e0c26501"]]),m7={key:0,class:"VPNav"},g7=z({__name:"VPNav",setup(e){const{isScreenOpen:t,closeScreen:n,toggleScreen:s}=l8(),{frontmatter:o}=xe(),i=F(()=>o.value.navbar!==!1);return In(jc,{closeScreen:n}),zn(()=>{wt&&document.documentElement.classList.toggle("hide-nav",!i.value)}),(r,a)=>i.value?(m(),C("header",m7,[H(O5,{"is-screen-open":l(t),onToggleScreen:l(s)},{"nav-bar-title-before":O(()=>[M(r.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":O(()=>[M(r.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":O(()=>[M(r.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":O(()=>[M(r.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),H(p7,{open:l(t)},{"nav-screen-content-before":O(()=>[M(r.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":O(()=>[M(r.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])])):A("",!0)}}),v7=ke(g7,[["__scopeId","data-v-d78ad477"]]),y7=["role","tabindex"],b7={key:1,class:"items"},k7=z({__name:"VPSidebarItem",props:{item:{},depth:{}},setup(e){const t=e,{collapsed:n,collapsible:s,isLink:o,isActiveLink:i,hasActiveLink:r,hasChildren:a,toggle:c}=b4(F(()=>t.item)),u=F(()=>a.value?"section":"div"),f=F(()=>o.value?"a":"div"),d=F(()=>a.value?t.depth+2===7?"p":`h${t.depth+2}`:"p"),h=F(()=>o.value?void 0:"button"),p=F(()=>[[`level-${t.depth}`],{collapsible:s.value},{collapsed:n.value},{"is-link":o.value},{"is-active":i.value},{"has-active":r.value}]);function g(k){"key"in k&&k.key!=="Enter"||!t.item.link&&c()}function v(){t.item.link&&c()}return(k,b)=>{const w=un("VPSidebarItem",!0);return m(),D(Be(u.value),{class:T(["VPSidebarItem",p.value])},{default:O(()=>[e.item.text?(m(),C("div",nt({key:0,class:"item",role:h.value},Ec(e.item.items?{click:g,keydown:g}:{},!0),{tabindex:e.item.items&&0}),[b[1]||(b[1]=S("div",{class:"indicator"},null,-1)),e.item.link?(m(),D(Vn,{key:0,tag:f.value,class:"link",href:e.item.link,rel:e.item.rel,target:e.item.target},{default:O(()=>[(m(),D(Be(d.value),{class:"text",innerHTML:e.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href","rel","target"])):(m(),D(Be(d.value),{key:1,class:"text",innerHTML:e.item.text},null,8,["innerHTML"])),e.item.collapsed!=null&&e.item.items&&e.item.items.length?(m(),C("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:v,onKeydown:va(v,["enter"]),tabindex:"0"},[...b[0]||(b[0]=[S("span",{class:"vpi-chevron-right caret-icon"},null,-1)])],32)):A("",!0)],16,y7)):A("",!0),e.item.items&&e.item.items.length?(m(),C("div",b7,[e.depth<5?(m(!0),C(Y,{key:0},le(e.item.items,y=>(m(),D(w,{key:y.text,item:y,depth:e.depth+1},null,8,["item","depth"]))),128)):A("",!0)])):A("",!0)]),_:1},8,["class"])}}}),w7=ke(k7,[["__scopeId","data-v-c0d2b08d"]]),C7=z({__name:"VPSidebarGroup",props:{items:{}},setup(e){const t=j(!0);let n=null;return be(()=>{n=setTimeout(()=>{n=null,t.value=!1},300)}),ls(()=>{n!=null&&(clearTimeout(n),n=null)}),(s,o)=>(m(!0),C(Y,null,le(e.items,i=>(m(),C("div",{key:i.text,class:T(["group",{"no-transition":t.value}])},[H(w7,{item:i,depth:0},null,8,["item"])],2))),128))}}),_7=ke(C7,[["__scopeId","data-v-3423a55b"]]),S7={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},T7=z({__name:"VPSidebar",props:{open:{type:Boolean}},setup(e){const{sidebarGroups:t,hasSidebar:n}=cs(),s=e,o=j(null),i=ch(wt?document.body:null);te([s,o],()=>{s.open?(i.value=!0,o.value?.focus()):i.value=!1},{immediate:!0,flush:"post"});const r=j(0);return te(t,()=>{r.value+=1},{deep:!0}),(a,c)=>l(n)?(m(),C("aside",{key:0,class:T(["VPSidebar",{open:e.open}]),ref_key:"navEl",ref:o,onClick:c[0]||(c[0]=To(()=>{},["stop"]))},[c[2]||(c[2]=S("div",{class:"curtain"},null,-1)),S("nav",S7,[c[1]||(c[1]=S("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),M(a.$slots,"sidebar-nav-before",{},void 0,!0),(m(),D(_7,{items:l(t),key:r.value},null,8,["items"])),M(a.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):A("",!0)}}),E7=ke(T7,[["__scopeId","data-v-3ad41a46"]]),x7={href:"#VPContent",class:"VPSkipLink visually-hidden"},A7=z({__name:"VPSkipLink",setup(e){const{theme:t}=xe(),n=kn(),s=j();return te(()=>n.path,()=>s.value.focus()),(o,i)=>(m(),C(Y,null,[S("span",{ref_key:"backToTop",ref:s,tabindex:"-1"},null,512),S("a",x7,W(l(t).skipToContentLabel||"Skip to content"),1)],64))}}),$7=ke(A7,[["__scopeId","data-v-84877a60"]]),L7=z({__name:"Layout",setup(e){const{isOpen:t,open:n,close:s}=y4();k4({closeSidebar:s});const{frontmatter:o}=xe(),i=Ti(),r=F(()=>!!i["home-hero-image"]);return In(kh,{heroImageSlotExists:r}),gh().startWatch(),(a,c)=>{const u=un("Content");return l(o).layout!==!1?(m(),C("div",{key:0,class:T(["Layout",l(o).pageClass])},[M(a.$slots,"layout-top",{},void 0,!0),H($7),H(r4,{class:"backdrop",show:l(t),onClick:l(s)},null,8,["show","onClick"]),H(v7,null,{"nav-bar-title-before":O(()=>[M(a.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":O(()=>[M(a.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":O(()=>[M(a.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":O(()=>[M(a.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":O(()=>[M(a.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":O(()=>[M(a.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),H(a8,{open:l(t),onOpenMenu:l(n)},null,8,["open","onOpenMenu"]),H(E7,{open:l(t)},{"sidebar-nav-before":O(()=>[M(a.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":O(()=>[M(a.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),H(q6,null,{"page-top":O(()=>[M(a.$slots,"page-top",{},void 0,!0)]),"page-bottom":O(()=>[M(a.$slots,"page-bottom",{},void 0,!0)]),"not-found":O(()=>[H(s4,null,{"not-found":O(()=>[M(a.$slots,"not-found",{},void 0,!0)]),_:3})]),"home-hero-before":O(()=>[M(a.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":O(()=>[M(a.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":O(()=>[M(a.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":O(()=>[M(a.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":O(()=>[M(a.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":O(()=>[M(a.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":O(()=>[M(a.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":O(()=>[M(a.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":O(()=>[M(a.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":O(()=>[M(a.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":O(()=>[M(a.$slots,"doc-before",{},void 0,!0)]),"doc-after":O(()=>[M(a.$slots,"doc-after",{},void 0,!0)]),"doc-top":O(()=>[M(a.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":O(()=>[M(a.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":O(()=>[M(a.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":O(()=>[M(a.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":O(()=>[M(a.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":O(()=>[M(a.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":O(()=>[M(a.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":O(()=>[M(a.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),H(X6),M(a.$slots,"layout-bottom",{},void 0,!0)],2)):(m(),D(u,{key:1}))}}}),I7=ke(L7,[["__scopeId","data-v-17498edd"]]),Th={Layout:I7,enhanceApp:({app:e})=>{e.component("Badge",eh)}},Df=e=>/^(http?:|https?:|mailto:|tel:)/.test(e),Yc=e=>{try{return new URL(e),!0}catch{return!1}},Bo=(e,t)=>Object.prototype.toString.call(e)===`[object ${t}]`,ht=e=>Bo(e,"Function")||M7(e),ti=e=>e!==null&&Bo(e,"Object"),Gc=e=>Bo(e,"Number")&&!Number.isNaN(e),P7=e=>Je(e)?!Number.isNaN(Number(e)):!1,M7=e=>Bo(e,"AsyncFunction"),Je=e=>Bo(e,"String"),es=e=>Bo(e,"Boolean"),F7=e=>typeof Array.isArray>"u"?Object.prototype.toString.call(e)==="[object Array]":Array.isArray(e),Il=e=>typeof Element>"u"?!1:e instanceof Element,B7=()=>me&&window?.navigator?.userAgent&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||window?.navigator?.maxTouchPoints>2&&/iPad|Macintosh/.test(window?.navigator.userAgent)),N7=e=>{if(e.tabIndex>0||e.tabIndex===0&&e.getAttribute("tabIndex")!==null)return!0;if(e.tabIndex<0||e.hasAttribute("disabled")||e.getAttribute("aria-disabled")==="true")return!1;switch(e.nodeName){case"A":return!!e.href&&e.rel!=="ignore";case"INPUT":return!(e.type==="hidden"||e.type==="file");case"BUTTON":case"SELECT":case"TEXTAREA":return!0;default:return!1}},me=typeof window<"u"&&typeof document<"u",Rf=(e="yyyy-MM-dd hh:mm:ss",t=!0)=>pi(new Date,e,t),pi=(e,t="yyyy-MM-dd hh:mm:ss",n=!0)=>{if(!e)return"";const s=new Date(e),o=n?s.getUTCFullYear():s.getFullYear(),i=String((n?s.getUTCMonth():s.getMonth())+1).padStart(2,"0"),r=String(n?s.getUTCDate():s.getDate()).padStart(2,"0"),a=String(n?s.getUTCHours():s.getHours()).padStart(2,"0"),c=String(n?s.getUTCMinutes():s.getMinutes()).padStart(2,"0"),u=String(n?s.getUTCSeconds():s.getSeconds()).padStart(2,"0");return t.replace("yyyy",o.toString()).replace("MM",i).replace("dd",r).replace("hh",a).replace("mm",c).replace("ss",u)},V7=(e,t)=>{const n=+new Date(e),s=+new Date,o=Math.abs(s-n),i=1e3,r=i*60,a=r*60,c=a*24,u=c*7,f=c*30,d=f*12;return o<1?"ๅˆšๅˆš":o{const n=+new Date(e),s=+new Date;return Math.floor(Math.abs(n-s)/(1e3*60*60*24))},Hf=e=>e.charAt(0).toUpperCase()+e.slice(1),sn=(e,t="px")=>e?Gc(e)||P7(e)?`${e}${t}`:Je(e)?e:"":"",D7=(e,t="px")=>{if(e){if(Gc(e))return e;if(Je(e))return Number(e.replace(t,""))}},R7=(e,t,n)=>{let s={...e};return t.includes(".")?(t.split(".").forEach(o=>s=s[o]??""),s||n):s[t]||n},Eh=e=>{let t="";if(!/^\#?[0-9A-Fa-f]{6}$/.test(e))return console.error("[Teek Error] ่พ“ๅ…ฅ้”™่ฏฏ็š„ hex");e=e.replace("#",""),t=e.match(/../g);for(let s=0;s<3;s++)t[s]=parseInt(t[s],16);return t},xh=(e,t,n)=>{const s=/^\d{1,3}$/;if(!s.test(e)||!s.test(t)||!s.test(n))return console.error("[Teek Error] ่พ“ๅ…ฅ้”™่ฏฏ็š„ rgb ้ขœ่‰ฒๅ€ผ");const o=[e.toString(16),t.toString(16),n.toString(16)];for(let i=0;i<3;i++)o[i].length===1&&(o[i]=`0${o[i]}`);return`#${o.join("")}`},Cn=(e,t)=>{if(!/^\#?[0-9A-Fa-f]{6}$/.test(e))return console.error("[Teek Error] ่พ“ๅ…ฅ้”™่ฏฏ็š„ hex ้ขœ่‰ฒๅ€ผ");const s=Eh(e);for(let o=0;o<3;o++)s[o]=Math.round(20.5*t+s[o]*(1-t));return xh(s[0],s[1],s[2])},_n=(e,t)=>{if(!/^\#?[0-9A-Fa-f]{6}$/.test(e))return console.error("[Teek Error] ่พ“ๅ…ฅ้”™่ฏฏ็š„ hex ้ขœ่‰ฒๅ€ผ");const s=Eh(e);for(let o=0;o<3;o++)s[o]=Math.round(255*t+s[o]*(1-t));return xh(s[0],s[1],s[2])},H7=e=>{if(!me)return;const{id:t,production:n=!0}=e||{};if(!t)return console.warn("[Teek Warning] Baidu analytics id is empty");if(!document.querySelector(`#baidu-analytics-${t}`)){window._hmt=window._hmt||[];const s=document.createElement("script");s.id=`baidu-analytics-${t}`,s.async=!0,s.src=`https://hm.baidu.com/hm.js?${t}`,document.querySelector("head")?.appendChild(s)}},z7=(e,t)=>{if(!me)return;const{id:n,production:s=!0}=e||{};if(n){if((!t||!Je(t))&&(t="/"),t.startsWith("http")){const o=t.split("/"),i=`${o[0]}//${o[2]}`;t=t.replace(i,"")}window._hmt&&(window._hmt.push(["_setAccount",n]),window._hmt.push(["_trackPageview",t]))}},j7=e=>{if(!me||window.dataLayer&&window.gtag)return;const{id:t,production:n=!0}=e||{};if(!t)return console.warn("[Teek Warning] Google analytics id is empty");if(!document.querySelector(`#google-analytics-${t}`)){const s=document.createElement("script");s.id=`google-analytics-${t}`,s.src=`https://www.googletagmanager.com/gtag/js?id=${t}`,s.async=!0,document.head.appendChild(s),window.dataLayer=window.dataLayer||[],window.gtag=function(){dataLayer.push(arguments)},gtag("js",new Date),gtag("config",t)}},U7=(e,t=!0)=>{if(!me)return;let n=[];if(Array.isArray(e)?n.push(...e):n.push(e),n=n.filter(s=>!!s.id),!!n.length)for(const s of n){const{id:o,src:i}=s;if(!document.querySelector(`#umami-analytics-${o}`)){const r=document.createElement("script");r.id=`umami-analytics-${o}`,r.async=!0,r.defer=!0,r.setAttribute("data-website-id",o),r.src=i,document.head.appendChild(r)}}};typeof window<"u"&&(window._iconfont_svg_string_4999519='',(e=>{var t=(n=(n=document.getElementsByTagName("script"))[n.length-1]).getAttribute("data-injectcss"),n=n.getAttribute("data-disable-injectsvg");if(!n){var s,o,i,r,a,c=function(d,h){h.parentNode.insertBefore(d,h)};if(t&&!e.__iconfont__svg__cssinject__){e.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(d){console&&console.log(d)}}s=function(){var d,h=document.createElement("div");h.innerHTML=e._iconfont_svg_string_4999519,(h=h.getElementsByTagName("svg")[0])&&(h.setAttribute("aria-hidden","true"),h.style.position="absolute",h.style.width=0,h.style.height=0,h.style.overflow="hidden",h=h,(d=document.body).firstChild?c(h,d.firstChild):d.appendChild(h))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(s,0):(o=function(){document.removeEventListener("DOMContentLoaded",o,!1),s()},document.addEventListener("DOMContentLoaded",o,!1)):document.attachEvent&&(i=s,r=e.document,a=!1,f(),r.onreadystatechange=function(){r.readyState=="complete"&&(r.onreadystatechange=null,u())})}function u(){a||(a=!0,i())}function f(){try{r.documentElement.doScroll("left")}catch{return void setTimeout(f,50)}u()}})(window));var Ah=`{ae&&Ut(ae,x,_),G&&q.enter(y),U&&Nn(_,null,x,"mounted")},L)}return y.nextSibling},p=(y,_,x,L,V,E,I)=>{I=I||!!_.dynamicChildren;const P=_.children,N=P.length;for(let $=0;${const{slotScopeIds:I}=_;I&&(V=V?V.concat(I):I);const P=r(y),N=p(i(y),_,P,x,L,V,E);return N&&lo(N)&&N.data==="]"?i(_.anchor=N):(to(),c(_.anchor=u("]"),P,N),N)},v=(y,_,x,L,V,E)=>{if(zi(y.parentElement,1)||to(),_.el=null,E){const N=k(y);for(;;){const $=i(y);if($&&$!==N)a($);else break}}const I=i(y),P=r(y);return a(y),n(null,_,P,I,x,L,Hi(P),V),x&&(x.vnode.el=_.el,pa(x,_.el)),I},k=(y,_="[",x="]")=>{let L=0;for(;y;)if(y=i(y),y&&lo(y)&&(y.data===_&&L++,y.data===x)){if(L===0)return i(y);L--}return y},b=(y,_,x)=>{const L=_.parentNode;L&&L.replaceChild(y,_);let V=x;for(;V;)V.vnode.el===_&&(V.vnode.el=V.subTree.el=y),V=V.parent},w=y=>y.nodeType===1&&y.tagName==="TEMPLATE";return[f,d]}const Qu="data-allow-mismatch",qm={0:"text",1:"children",2:"class",3:"style",4:"attribute"};function zi(e,t){if(t===0||t===1)for(;e&&!e.hasAttribute(Qu);)e=e.parentElement;const n=e&&e.getAttribute(Qu);if(n==null)return!1;if(n==="")return!0;{const s=n.split(",");return t===0&&s.includes("children")?!0:s.includes(qm[t])}}const Km=ta().requestIdleCallback||(e=>setTimeout(e,1)),Ym=ta().cancelIdleCallback||(e=>clearTimeout(e)),Gm=(e=1e4)=>t=>{const n=Km(t,{timeout:e});return()=>Ym(n)};function Jm(e){const{top:t,left:n,bottom:s,right:o}=e.getBoundingClientRect(),{innerHeight:i,innerWidth:r}=window;return(t>0&&t0&&s0&&n0&&o(t,n)=>{const s=new IntersectionObserver(o=>{for(const i of o)if(i.isIntersecting){s.disconnect(),t();break}},e);return n(o=>{if(o instanceof Element){if(Jm(o))return t(),s.disconnect(),!1;s.observe(o)}}),()=>s.disconnect()},Qm=e=>t=>{if(e){const n=matchMedia(e);if(n.matches)t();else return n.addEventListener("change",t,{once:!0}),()=>n.removeEventListener("change",t)}},Zm=(e=[])=>(t,n)=>{_e(e)&&(e=[e]);let s=!1;const o=r=>{s||(s=!0,i(),t(),r.target.dispatchEvent(new r.constructor(r.type,r)))},i=()=>{n(r=>{for(const a of e)r.removeEventListener(a,o)})};return n(r=>{for(const a of e)r.addEventListener(a,o,{once:!0})}),i};function eg(e,t){if(lo(e)&&e.data==="["){let n=1,s=e.nextSibling;for(;s;){if(s.nodeType===1){if(t(s)===!1)break}else if(lo(s))if(s.data==="]"){if(--n===0)break}else s.data==="["&&n++;s=s.nextSibling}}else t(e)}const Ss=e=>!!e.type.__asyncLoader;function wc(e){ye(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:s,delay:o=200,hydrate:i,timeout:r,suspensible:a=!0,onError:c}=e;let u=null,f,d=0;const h=()=>(d++,u=null,p()),p=()=>{let g;return u||(g=u=t().catch(v=>{if(v=v instanceof Error?v:new Error(String(v)),c)return new Promise((k,b)=>{c(v,()=>k(h()),()=>b(v),d+1)});throw v}).then(v=>g!==u&&u?u:(v&&(v.__esModule||v[Symbol.toStringTag]==="Module")&&(v=v.default),f=v,v)))};return z({name:"AsyncComponentWrapper",__asyncLoader:p,__asyncHydrate(g,v,k){let b=!1;(v.bu||(v.bu=[])).push(()=>b=!0);const w=()=>{b||k()},y=i?()=>{const _=i(w,x=>eg(g,x));_&&(v.bum||(v.bum=[])).push(_)}:w;f?y():p().then(()=>!v.isUnmounted&&y())},get __asyncResolved(){return f},setup(){const g=St;if(kc(g),f)return()=>ji(f,g);const v=y=>{u=null,Xs(y,g,13,!s)};if(a&&g.suspense||wo)return p().then(y=>()=>ji(y,g)).catch(y=>(v(y),()=>s?H(s,{error:y}):null));const k=j(!1),b=j(),w=j(!!o);return o&&setTimeout(()=>{w.value=!1},o),r!=null&&setTimeout(()=>{if(!k.value&&!b.value){const y=new Error(`Async component timed out after ${r}ms.`);v(y),b.value=y}},r),p().then(()=>{k.value=!0,g.parent&&Si(g.parent.vnode)&&g.parent.update()}).catch(y=>{v(y),b.value=y}),()=>{if(k.value&&f)return ji(f,g);if(b.value&&s)return H(s,{error:b.value});if(n&&!w.value)return ji(n,g)}}})}function ji(e,t){const{ref:n,props:s,children:o,ce:i}=t.vnode,r=H(e,s,o);return r.ref=n,r.ce=i,delete t.vnode.ce,r}const Si=e=>e.type.__isKeepAlive,tg={name:"KeepAlive",__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(e,{slots:t}){const n=dt(),s=n.ctx;if(!s.renderer)return()=>{const w=t.default&&t.default();return w&&w.length===1?w[0]:w};const o=new Map,i=new Set;let r=null;const a=n.suspense,{renderer:{p:c,m:u,um:f,o:{createElement:d}}}=s,h=d("div");s.activate=(w,y,_,x,L)=>{const V=w.component;u(w,y,_,0,a),c(V.vnode,w,y,_,V,a,x,w.slotScopeIds,L),pt(()=>{V.isDeactivated=!1,V.a&&mo(V.a);const E=w.props&&w.props.onVnodeMounted;E&&Ut(E,V.parent,w)},a)},s.deactivate=w=>{const y=w.component;Ar(y.m),Ar(y.a),u(w,h,null,1,a),pt(()=>{y.da&&mo(y.da);const _=w.props&&w.props.onVnodeUnmounted;_&&Ut(_,y.parent,w),y.isDeactivated=!0},a)};function p(w){Va(w),f(w,n,a,!0)}function g(w){o.forEach((y,_)=>{const x=bl(y.type);x&&!w(x)&&v(_)})}function v(w){const y=o.get(w);y&&(!r||!Tn(y,r))?p(y):r&&Va(r),o.delete(w),i.delete(w)}te(()=>[e.include,e.exclude],([w,y])=>{w&&g(_=>qo(w,_)),y&&g(_=>!qo(y,_))},{flush:"post",deep:!0});let k=null;const b=()=>{k!=null&&($r(n.subTree.type)?pt(()=>{o.set(k,Ui(n.subTree))},n.subTree.suspense):o.set(k,Ui(n.subTree)))};return be(b),Fo(b),ls(()=>{o.forEach(w=>{const{subTree:y,suspense:_}=n,x=Ui(y);if(w.type===x.type&&w.key===x.key){Va(x);const L=x.component.da;L&&pt(L,_);return}p(w)})}),()=>{if(k=null,!t.default)return r=null;const w=t.default(),y=w[0];if(w.length>1)return r=null,w;if(!Ln(y)||!(y.shapeFlag&4)&&!(y.shapeFlag&128))return r=null,y;let _=Ui(y);if(_.type===ut)return r=null,_;const x=_.type,L=bl(Ss(_)?_.type.__asyncResolved||{}:x),{include:V,exclude:E,max:I}=e;if(V&&(!L||!qo(V,L))||E&&L&&qo(E,L))return _.shapeFlag&=-257,r=_,y;const P=_.key==null?x:_.key,N=o.get(P);return _.el&&(_=Rn(_),y.shapeFlag&128&&(y.ssContent=_)),k=P,N?(_.el=N.el,_.component=N.component,_.transition&&rs(_,_.transition),_.shapeFlag|=512,i.delete(P),i.add(P)):(i.add(P),I&&i.size>parseInt(I,10)&&v(i.values().next().value)),_.shapeFlag|=256,r=_,$r(y.type)?y:_}}},ng=tg;function qo(e,t){return ce(e)?e.some(n=>qo(n,t)):_e(e)?e.split(",").includes(t):$2(e)?(e.lastIndex=0,e.test(t)):!1}function j1(e,t){W1(e,"a",t)}function U1(e,t){W1(e,"da",t)}function W1(e,t,n=St){const s=e.__wdc||(e.__wdc=()=>{let o=n;for(;o;){if(o.isDeactivated)return;o=o.parent}return e()});if(fa(t,s,n),n){let o=n.parent;for(;o&&o.parent;)Si(o.parent.vnode)&&sg(s,t,n,o),o=o.parent}}function sg(e,t,n,s){const o=fa(t,e,s,!0);cn(()=>{rc(s[t],o)},n)}function Va(e){e.shapeFlag&=-257,e.shapeFlag&=-513}function Ui(e){return e.shapeFlag&128?e.ssContent:e}function fa(e,t,n=St,s=!1){if(n){const o=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...r)=>{ss();const a=qs(n),c=yn(t,n,e,r);return a(),os(),c});return s?o.unshift(i):o.push(i),i}}const as=e=>(t,n=St)=>{(!wo||e==="sp")&&fa(e,(...s)=>t(...s),n)},Mo=as("bm"),be=as("m"),Cc=as("bu"),Fo=as("u"),ls=as("bum"),cn=as("um"),q1=as("sp"),K1=as("rtg"),Y1=as("rtc");function G1(e,t=St){fa("ec",e,t)}const _c="components",og="directives";function un(e,t){return Sc(_c,e,!0,t)||e}const J1=Symbol.for("v-ndc");function Be(e){return _e(e)?Sc(_c,e,!1)||e:e||J1}function ig(e){return Sc(og,e)}function Sc(e,t,n=!0,s=!1){const o=Tt||St;if(o){const i=o.type;if(e===_c){const a=bl(i,!1);if(a&&(a===t||a===tt(t)||a===Js(tt(t))))return i}const r=Zu(o[e]||i[e],t)||Zu(o.appContext[e],t);return!r&&s?i:r}}function Zu(e,t){return e&&(e[t]||e[tt(t)]||e[Js(tt(t))])}function le(e,t,n,s){let o;const i=n&&n[s],r=ce(e);if(r||_e(e)){const a=r&&_s(e);let c=!1,u=!1;a&&(c=!an(e),u=is(e),e=oa(e)),o=new Array(e.length);for(let f=0,d=e.length;ft(a,c,void 0,i&&i[c]));else{const a=Object.keys(e);o=new Array(a.length);for(let c=0,u=a.length;c{const i=s.fn(...o);return i&&(i.key=s.key),i}:s.fn)}return e}function M(e,t,n={},s,o){if(Tt.ce||Tt.parent&&Ss(Tt.parent)&&Tt.parent.ce){const u=Object.keys(n).length>0;return t!=="default"&&(n.name=t),m(),D(Y,null,[H("slot",n,s&&s())],u?-2:64)}let i=e[t];i&&i._c&&(i._d=!1),m();const r=i&&Tc(i(n)),a=n.key||r&&r.key,c=D(Y,{key:(a&&!Gt(a)?a:`_${t}`)+(!r&&s?"_fb":"")},r||(s?s():[]),r&&e._===1?64:-2);return!o&&c.scopeId&&(c.slotScopeIds=[c.scopeId+"-s"]),i&&i._c&&(i._d=!0),c}function Tc(e){return e.some(t=>Ln(t)?!(t.type===ut||t.type===Y&&!Tc(t.children)):!0)?e:null}function Ec(e,t){const n={};for(const s in e)n[t&&/[A-Z]/.test(s)?`on:${s}`:po(s)]=e[s];return n}const cl=e=>e?A0(e)?xi(e):cl(e.parent):null,Xo=Ie(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>cl(e.parent),$root:e=>cl(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>xc(e),$forceUpdate:e=>e.f||(e.f=()=>{vc(e.update)}),$nextTick:e=>e.n||(e.n=Oe.bind(e.proxy)),$watch:e=>Lg.bind(e)}),Oa=(e,t)=>e!==Le&&!e.__isScriptSetup&&De(e,t),ul={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:s,data:o,props:i,accessCache:r,type:a,appContext:c}=e;let u;if(t[0]!=="$"){const p=r[t];if(p!==void 0)switch(p){case 1:return s[t];case 2:return o[t];case 4:return n[t];case 3:return i[t]}else{if(Oa(s,t))return r[t]=1,s[t];if(o!==Le&&De(o,t))return r[t]=2,o[t];if((u=e.propsOptions[0])&&De(u,t))return r[t]=3,i[t];if(n!==Le&&De(n,t))return r[t]=4,n[t];fl&&(r[t]=0)}}const f=Xo[t];let d,h;if(f)return t==="$attrs"&&Pt(e.attrs,"get",""),f(e);if((d=a.__cssModules)&&(d=d[t]))return d;if(n!==Le&&De(n,t))return r[t]=4,n[t];if(h=c.config.globalProperties,De(h,t))return h[t]},set({_:e},t,n){const{data:s,setupState:o,ctx:i}=e;return Oa(o,t)?(o[t]=n,!0):s!==Le&&De(s,t)?(s[t]=n,!0):De(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:o,propsOptions:i,type:r}},a){let c,u;return!!(n[a]||e!==Le&&a[0]!=="$"&&De(e,a)||Oa(t,a)||(c=i[0])&&De(c,a)||De(s,a)||De(Xo,a)||De(o.config.globalProperties,a)||(u=r.__cssModules)&&u[a])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:De(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}},rg=Ie({},ul,{get(e,t){if(t!==Symbol.unscopables)return ul.get(e,t,e)},has(e,t){return t[0]!=="_"&&!B2(t)}});function ag(){return null}function lg(){return null}function cg(e){}function ug(e){}function fg(){return null}function dg(){}function hg(e,t){return null}function Ti(){return X1().slots}function pg(){return X1().attrs}function X1(e){const t=dt();return t.setupContext||(t.setupContext=I0(t))}function ui(e){return ce(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}function Q1(e,t){const n=ui(e);for(const s in t){if(s.startsWith("__skip"))continue;let o=n[s];o?ce(o)||ye(o)?o=n[s]={type:o,default:t[s]}:o.default=t[s]:o===null&&(o=n[s]={default:t[s]}),o&&t[`__skip_${s}`]&&(o.skipFactory=!0)}return n}function $n(e,t){return!e||!t?e||t:ce(e)&&ce(t)?e.concat(t):Ie({},ui(e),ui(t))}function Z1(e,t){const n={};for(const s in e)t.includes(s)||Object.defineProperty(n,s,{enumerable:!0,get:()=>e[s]});return n}function mg(e){const t=dt();let n=e();return gl(),ac(n)&&(n=n.catch(s=>{throw qs(t),s})),[n,()=>qs(t)]}let fl=!0;function gg(e){const t=xc(e),n=e.proxy,s=e.ctx;fl=!1,t.beforeCreate&&ef(t.beforeCreate,e,"bc");const{data:o,computed:i,methods:r,watch:a,provide:c,inject:u,created:f,beforeMount:d,mounted:h,beforeUpdate:p,updated:g,activated:v,deactivated:k,beforeDestroy:b,beforeUnmount:w,destroyed:y,unmounted:_,render:x,renderTracked:L,renderTriggered:V,errorCaptured:E,serverPrefetch:I,expose:P,inheritAttrs:N,components:$,directives:U,filters:q}=t;if(u&&vg(u,s,null),r)for(const ae in r){const ne=r[ae];ye(ne)&&(s[ae]=ne.bind(n))}if(o){const ae=o.call(n,n);Ue(ae)&&(e.data=Dn(ae))}if(fl=!0,i)for(const ae in i){const ne=i[ae],he=ye(ne)?ne.bind(n,n):ye(ne.get)?ne.get.bind(n,n):Ht,st=!ye(ne)&&ye(ne.set)?ne.set.bind(n):Ht,je=F({get:he,set:st});Object.defineProperty(s,ae,{enumerable:!0,configurable:!0,get:()=>je.value,set:yt=>je.value=yt})}if(a)for(const ae in a)e0(a[ae],s,n,ae);if(c){const ae=ye(c)?c.call(n):c;Reflect.ownKeys(ae).forEach(ne=>{In(ne,ae[ne])})}f&&ef(f,e,"c");function G(ae,ne){ce(ne)?ne.forEach(he=>ae(he.bind(n))):ne&&ae(ne.bind(n))}if(G(Mo,d),G(be,h),G(Cc,p),G(Fo,g),G(j1,v),G(U1,k),G(G1,E),G(Y1,L),G(K1,V),G(ls,w),G(cn,_),G(q1,I),ce(P))if(P.length){const ae=e.exposed||(e.exposed={});P.forEach(ne=>{Object.defineProperty(ae,ne,{get:()=>n[ne],set:he=>n[ne]=he,enumerable:!0})})}else e.exposed||(e.exposed={});x&&e.render===Ht&&(e.render=x),N!=null&&(e.inheritAttrs=N),$&&(e.components=$),U&&(e.directives=U),I&&kc(e)}function vg(e,t,n=Ht){ce(e)&&(e=dl(e));for(const s in e){const o=e[s];let i;Ue(o)?"default"in o?i=qe(o.from||s,o.default,!0):i=qe(o.from||s):i=qe(o),Ye(i)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>i.value,set:r=>i.value=r}):t[s]=i}}function ef(e,t,n){yn(ce(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function e0(e,t,n,s){let o=s.includes(".")?y0(n,s):()=>n[s];if(_e(e)){const i=t[e];ye(i)&&te(o,i)}else if(ye(e))te(o,e.bind(n));else if(Ue(e))if(ce(e))e.forEach(i=>e0(i,t,n,s));else{const i=ye(e.handler)?e.handler.bind(n):t[e.handler];ye(i)&&te(o,i,e)}}function xc(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:o,optionsCache:i,config:{optionMergeStrategies:r}}=e.appContext,a=i.get(t);let c;return a?c=a:!o.length&&!n&&!s?c=t:(c={},o.length&&o.forEach(u=>xr(c,u,r,!0)),xr(c,t,r)),Ue(t)&&i.set(t,c),c}function xr(e,t,n,s=!1){const{mixins:o,extends:i}=t;i&&xr(e,i,n,!0),o&&o.forEach(r=>xr(e,r,n,!0));for(const r in t)if(!(s&&r==="expose")){const a=yg[r]||n&&n[r];e[r]=a?a(e[r],t[r]):t[r]}return e}const yg={data:tf,props:nf,emits:nf,methods:Ko,computed:Ko,beforeCreate:Vt,created:Vt,beforeMount:Vt,mounted:Vt,beforeUpdate:Vt,updated:Vt,beforeDestroy:Vt,beforeUnmount:Vt,destroyed:Vt,unmounted:Vt,activated:Vt,deactivated:Vt,errorCaptured:Vt,serverPrefetch:Vt,components:Ko,directives:Ko,watch:kg,provide:tf,inject:bg};function tf(e,t){return t?e?function(){return Ie(ye(e)?e.call(this,this):e,ye(t)?t.call(this,this):t)}:t:e}function bg(e,t){return Ko(dl(e),dl(t))}function dl(e){if(ce(e)){const t={};for(let n=0;n1)return n&&ye(t)?t.call(s&&s.proxy):t}}function Ac(){return!!(dt()||Ds)}const n0={},s0=()=>Object.create(n0),o0=e=>Object.getPrototypeOf(e)===n0;function _g(e,t,n,s=!1){const o={},i=s0();e.propsDefaults=Object.create(null),i0(e,t,o,i);for(const r in e.propsOptions[0])r in o||(o[r]=void 0);n?e.props=s?o:pc(o):e.type.props?e.props=o:e.props=i,e.attrs=i}function Sg(e,t,n,s){const{props:o,attrs:i,vnode:{patchFlag:r}}=e,a=Pe(o),[c]=e.propsOptions;let u=!1;if((s||r>0)&&!(r&16)){if(r&8){const f=e.vnode.dynamicProps;for(let d=0;d{c=!0;const[h,p]=r0(d,t,!0);Ie(r,h),p&&a.push(...p)};!n&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}if(!i&&!c)return Ue(e)&&s.set(e,fo),fo;if(ce(i))for(let f=0;fe==="_"||e==="_ctx"||e==="$stable",Lc=e=>ce(e)?e.map(qt):[qt(e)],Eg=(e,t,n)=>{if(t._n)return t;const s=O((...o)=>Lc(t(...o)),n);return s._c=!1,s},a0=(e,t,n)=>{const s=e._ctx;for(const o in e){if($c(o))continue;const i=e[o];if(ye(i))t[o]=Eg(o,i,s);else if(i!=null){const r=Lc(i);t[o]=()=>r}}},l0=(e,t)=>{const n=Lc(t);e.slots.default=()=>n},c0=(e,t,n)=>{for(const s in t)(n||!$c(s))&&(e[s]=t[s])},xg=(e,t,n)=>{const s=e.slots=s0();if(e.vnode.shapeFlag&32){const o=t._;o?(c0(s,t,n),n&&s1(s,"_",o,!0)):a0(t,s)}else t&&l0(e,t)},Ag=(e,t,n)=>{const{vnode:s,slots:o}=e;let i=!0,r=Le;if(s.shapeFlag&32){const a=t._;a?n&&a===1?i=!1:c0(o,t,n):(i=!t.$stable,a0(t,o)),r=t}else t&&(l0(e,t),r={default:1});if(i)for(const a in o)!$c(a)&&r[a]==null&&delete o[a]},pt=C0;function u0(e){return d0(e)}function f0(e){return d0(e,Wm)}function d0(e,t){const n=ta();n.__VUE__=!0;const{insert:s,remove:o,patchProp:i,createElement:r,createText:a,createComment:c,setText:u,setElementText:f,parentNode:d,nextSibling:h,setScopeId:p=Ht,insertStaticContent:g}=e,v=(B,R,K,ee=null,X=null,Q=null,re=void 0,oe=null,se=!!R.dynamicChildren)=>{if(B===R)return;B&&!Tn(B,R)&&(ee=Ne(B),yt(B,X,Q,!0),B=null),R.patchFlag===-2&&(se=!1,R.dynamicChildren=null);const{type:Z,ref:ve,shapeFlag:ue}=R;switch(Z){case Ts:k(B,R,K,ee);break;case ut:b(B,R,K,ee);break;case Rs:B==null&&w(R,K,ee,re);break;case Y:$(B,R,K,ee,X,Q,re,oe,se);break;default:ue&1?x(B,R,K,ee,X,Q,re,oe,se):ue&6?U(B,R,K,ee,X,Q,re,oe,se):(ue&64||ue&128)&&Z.process(B,R,K,ee,X,Q,re,oe,se,bt)}ve!=null&&X?yo(ve,B&&B.ref,Q,R||B,!R):ve==null&&B&&B.ref!=null&&yo(B.ref,null,Q,B,!0)},k=(B,R,K,ee)=>{if(B==null)s(R.el=a(R.children),K,ee);else{const X=R.el=B.el;R.children!==B.children&&u(X,R.children)}},b=(B,R,K,ee)=>{B==null?s(R.el=c(R.children||""),K,ee):R.el=B.el},w=(B,R,K,ee)=>{[B.el,B.anchor]=g(B.children,R,K,ee,B.el,B.anchor)},y=({el:B,anchor:R},K,ee)=>{let X;for(;B&&B!==R;)X=h(B),s(B,K,ee),B=X;s(R,K,ee)},_=({el:B,anchor:R})=>{let K;for(;B&&B!==R;)K=h(B),o(B),B=K;o(R)},x=(B,R,K,ee,X,Q,re,oe,se)=>{if(R.type==="svg"?re="svg":R.type==="math"&&(re="mathml"),B==null)L(R,K,ee,X,Q,re,oe,se);else{const Z=B.el&&B.el._isVueCE?B.el:null;try{Z&&Z._beginPatch(),I(B,R,X,Q,re,oe,se)}finally{Z&&Z._endPatch()}}},L=(B,R,K,ee,X,Q,re,oe)=>{let se,Z;const{props:ve,shapeFlag:ue,transition:pe,dirs:Ce}=B;if(se=B.el=r(B.type,Q,ve&&ve.is,ve),ue&8?f(se,B.children):ue&16&&E(B.children,se,null,ee,X,Da(B,Q),re,oe),Ce&&Nn(B,null,ee,"created"),V(se,B,B.scopeId,re,ee),ve){for(const Xe in ve)Xe!=="value"&&!Cs(Xe)&&i(se,Xe,null,ve[Xe],Q,ee);"value"in ve&&i(se,"value",null,ve.value,Q),(Z=ve.onVnodeBeforeMount)&&Ut(Z,ee,B)}Ce&&Nn(B,null,ee,"beforeMount");const Me=h0(X,pe);Me&&pe.beforeEnter(se),s(se,R,K),((Z=ve&&ve.onVnodeMounted)||Me||Ce)&&pt(()=>{Z&&Ut(Z,ee,B),Me&&pe.enter(se),Ce&&Nn(B,null,ee,"mounted")},X)},V=(B,R,K,ee,X)=>{if(K&&p(B,K),ee)for(let Q=0;Q{for(let Z=se;Z{const oe=R.el=B.el;let{patchFlag:se,dynamicChildren:Z,dirs:ve}=R;se|=B.patchFlag&16;const ue=B.props||Le,pe=R.props||Le;let Ce;if(K&&Ps(K,!1),(Ce=pe.onVnodeBeforeUpdate)&&Ut(Ce,K,R,B),ve&&Nn(R,B,K,"beforeUpdate"),K&&Ps(K,!0),(ue.innerHTML&&pe.innerHTML==null||ue.textContent&&pe.textContent==null)&&f(oe,""),Z?P(B.dynamicChildren,Z,oe,K,ee,Da(R,X),Q):re||ne(B,R,oe,null,K,ee,Da(R,X),Q,!1),se>0){if(se&16)N(oe,ue,pe,K,X);else if(se&2&&ue.class!==pe.class&&i(oe,"class",null,pe.class,X),se&4&&i(oe,"style",ue.style,pe.style,X),se&8){const Me=R.dynamicProps;for(let Xe=0;Xe{Ce&&Ut(Ce,K,R,B),ve&&Nn(R,B,K,"updated")},ee)},P=(B,R,K,ee,X,Q,re)=>{for(let oe=0;oe{if(R!==K){if(R!==Le)for(const Q in R)!Cs(Q)&&!(Q in K)&&i(B,Q,R[Q],null,X,ee);for(const Q in K){if(Cs(Q))continue;const re=K[Q],oe=R[Q];re!==oe&&Q!=="value"&&i(B,Q,oe,re,X,ee)}"value"in K&&i(B,"value",R.value,K.value,X)}},$=(B,R,K,ee,X,Q,re,oe,se)=>{const Z=R.el=B?B.el:a(""),ve=R.anchor=B?B.anchor:a("");let{patchFlag:ue,dynamicChildren:pe,slotScopeIds:Ce}=R;Ce&&(oe=oe?oe.concat(Ce):Ce),B==null?(s(Z,K,ee),s(ve,K,ee),E(R.children||[],K,ve,X,Q,re,oe,se)):ue>0&&ue&64&&pe&&B.dynamicChildren?(P(B.dynamicChildren,pe,K,X,Q,re,oe),(R.key!=null||X&&R===X.subTree)&&Ic(B,R,!0)):ne(B,R,K,ve,X,Q,re,oe,se)},U=(B,R,K,ee,X,Q,re,oe,se)=>{R.slotScopeIds=oe,B==null?R.shapeFlag&512?X.ctx.activate(R,K,ee,re,se):q(R,K,ee,X,Q,re,se):J(B,R,se)},q=(B,R,K,ee,X,Q,re)=>{const oe=B.component=x0(B,ee,X);if(Si(B)&&(oe.ctx.renderer=bt),$0(oe,!1,re),oe.asyncDep){if(X&&X.registerDep(oe,G,re),!B.el){const se=oe.subTree=H(ut);b(null,se,R,K),B.placeholder=se.el}}else G(oe,B,R,K,X,Q,re)},J=(B,R,K)=>{const ee=R.component=B.component;if(Ng(B,R,K))if(ee.asyncDep&&!ee.asyncResolved){ae(ee,R,K);return}else ee.next=R,ee.update();else R.el=B.el,ee.vnode=R},G=(B,R,K,ee,X,Q,re)=>{const oe=()=>{if(B.isMounted){let{next:ue,bu:pe,u:Ce,parent:Me,vnode:Xe}=B;{const Zt=p0(B);if(Zt){ue&&(ue.el=Xe.el,ae(B,ue,re)),Zt.asyncDep.then(()=>{B.isUnmounted||oe()});return}}let We=ue,zt;Ps(B,!1),ue?(ue.el=Xe.el,ae(B,ue,re)):ue=Xe,pe&&mo(pe),(zt=ue.props&&ue.props.onVnodeBeforeUpdate)&&Ut(zt,Me,ue,Xe),Ps(B,!0);const Et=ar(B),wn=B.subTree;B.subTree=Et,v(wn,Et,d(wn.el),Ne(wn),B,X,Q),ue.el=Et.el,We===null&&pa(B,Et.el),Ce&&pt(Ce,X),(zt=ue.props&&ue.props.onVnodeUpdated)&&pt(()=>Ut(zt,Me,ue,Xe),X)}else{let ue;const{el:pe,props:Ce}=R,{bm:Me,m:Xe,parent:We,root:zt,type:Et}=B,wn=Ss(R);if(Ps(B,!1),Me&&mo(Me),!wn&&(ue=Ce&&Ce.onVnodeBeforeMount)&&Ut(ue,We,R),Ps(B,!0),pe&&Qt){const Zt=()=>{B.subTree=ar(B),Qt(pe,B.subTree,B,X,null)};wn&&Et.__asyncHydrate?Et.__asyncHydrate(pe,B,Zt):Zt()}else{zt.ce&&zt.ce._def.shadowRoot!==!1&&zt.ce._injectChildStyle(Et);const Zt=B.subTree=ar(B);v(null,Zt,K,ee,B,X,Q),R.el=Zt.el}if(Xe&&pt(Xe,X),!wn&&(ue=Ce&&Ce.onVnodeMounted)){const Zt=R;pt(()=>Ut(ue,We,Zt),X)}(R.shapeFlag&256||We&&Ss(We.vnode)&&We.vnode.shapeFlag&256)&&B.a&&pt(B.a,X),B.isMounted=!0,R=K=ee=null}};B.scope.on();const se=B.effect=new oi(oe);B.scope.off();const Z=B.update=se.run.bind(se),ve=B.job=se.runIfDirty.bind(se);ve.i=B,ve.id=B.uid,se.scheduler=()=>vc(ve),Ps(B,!0),Z()},ae=(B,R,K)=>{R.component=B;const ee=B.vnode.props;B.vnode=R,B.next=null,Sg(B,R.props,ee,K),Ag(B,R.children,K),ss(),Wu(B),os()},ne=(B,R,K,ee,X,Q,re,oe,se=!1)=>{const Z=B&&B.children,ve=B?B.shapeFlag:0,ue=R.children,{patchFlag:pe,shapeFlag:Ce}=R;if(pe>0){if(pe&128){st(Z,ue,K,ee,X,Q,re,oe,se);return}else if(pe&256){he(Z,ue,K,ee,X,Q,re,oe,se);return}}Ce&8?(ve&16&&we(Z,X,Q),ue!==Z&&f(K,ue)):ve&16?Ce&16?st(Z,ue,K,ee,X,Q,re,oe,se):we(Z,X,Q,!0):(ve&8&&f(K,""),Ce&16&&E(ue,K,ee,X,Q,re,oe,se))},he=(B,R,K,ee,X,Q,re,oe,se)=>{B=B||fo,R=R||fo;const Z=B.length,ve=R.length,ue=Math.min(Z,ve);let pe;for(pe=0;peve?we(B,X,Q,!0,!1,ue):E(R,K,ee,X,Q,re,oe,se,ue)},st=(B,R,K,ee,X,Q,re,oe,se)=>{let Z=0;const ve=R.length;let ue=B.length-1,pe=ve-1;for(;Z<=ue&&Z<=pe;){const Ce=B[Z],Me=R[Z]=se?ys(R[Z]):qt(R[Z]);if(Tn(Ce,Me))v(Ce,Me,K,null,X,Q,re,oe,se);else break;Z++}for(;Z<=ue&&Z<=pe;){const Ce=B[ue],Me=R[pe]=se?ys(R[pe]):qt(R[pe]);if(Tn(Ce,Me))v(Ce,Me,K,null,X,Q,re,oe,se);else break;ue--,pe--}if(Z>ue){if(Z<=pe){const Ce=pe+1,Me=Cepe)for(;Z<=ue;)yt(B[Z],X,Q,!0),Z++;else{const Ce=Z,Me=Z,Xe=new Map;for(Z=Me;Z<=pe;Z++){const en=R[Z]=se?ys(R[Z]):qt(R[Z]);en.key!=null&&Xe.set(en.key,Z)}let We,zt=0;const Et=pe-Me+1;let wn=!1,Zt=0;const Ro=new Array(Et);for(Z=0;Z=Et){yt(en,X,Q,!0);continue}let Mn;if(en.key!=null)Mn=Xe.get(en.key);else for(We=Me;We<=pe;We++)if(Ro[We-Me]===0&&Tn(en,R[We])){Mn=We;break}Mn===void 0?yt(en,X,Q,!0):(Ro[Mn-Me]=Z+1,Mn>=Zt?Zt=Mn:wn=!0,v(en,R[Mn],K,null,X,Q,re,oe,se),zt++)}const Ou=wn?$g(Ro):fo;for(We=Ou.length-1,Z=Et-1;Z>=0;Z--){const en=Me+Z,Mn=R[en],Du=R[en+1],Ru=en+1{const{el:Q,type:re,transition:oe,children:se,shapeFlag:Z}=B;if(Z&6){je(B.component.subTree,R,K,ee);return}if(Z&128){B.suspense.move(R,K,ee);return}if(Z&64){re.move(B,R,K,bt);return}if(re===Y){s(Q,R,K);for(let ue=0;ueoe.enter(Q),X);else{const{leave:ue,delayLeave:pe,afterLeave:Ce}=oe,Me=()=>{B.ctx.isUnmounted?o(Q):s(Q,R,K)},Xe=()=>{Q._isLeaving&&Q[Jn](!0),ue(Q,()=>{Me(),Ce&&Ce()})};pe?pe(Q,Me,Xe):Xe()}else s(Q,R,K)},yt=(B,R,K,ee=!1,X=!1)=>{const{type:Q,props:re,ref:oe,children:se,dynamicChildren:Z,shapeFlag:ve,patchFlag:ue,dirs:pe,cacheIndex:Ce}=B;if(ue===-2&&(X=!1),oe!=null&&(ss(),yo(oe,null,K,B,!0),os()),Ce!=null&&(R.renderCache[Ce]=void 0),ve&256){R.ctx.deactivate(B);return}const Me=ve&1&&pe,Xe=!Ss(B);let We;if(Xe&&(We=re&&re.onVnodeBeforeUnmount)&&Ut(We,R,B),ve&6)Zs(B.component,K,ee);else{if(ve&128){B.suspense.unmount(K,ee);return}Me&&Nn(B,null,R,"beforeUnmount"),ve&64?B.type.remove(B,R,K,bt,ee):Z&&!Z.hasOnce&&(Q!==Y||ue>0&&ue&64)?we(Z,R,K,!1,!0):(Q===Y&&ue&384||!X&&ve&16)&&we(se,R,K),ee&&Wn(B)}(Xe&&(We=re&&re.onVnodeUnmounted)||Me)&&pt(()=>{We&&Ut(We,R,B),Me&&Nn(B,null,R,"unmounted")},K)},Wn=B=>{const{type:R,el:K,anchor:ee,transition:X}=B;if(R===Y){us(K,ee);return}if(R===Rs){_(B);return}const Q=()=>{o(K),X&&!X.persisted&&X.afterLeave&&X.afterLeave()};if(B.shapeFlag&1&&X&&!X.persisted){const{leave:re,delayLeave:oe}=X,se=()=>re(K,Q);oe?oe(B.el,Q,se):se()}else Q()},us=(B,R)=>{let K;for(;B!==R;)K=h(B),o(B),B=K;o(R)},Zs=(B,R,K)=>{const{bum:ee,scope:X,job:Q,subTree:re,um:oe,m:se,a:Z}=B;Ar(se),Ar(Z),ee&&mo(ee),X.stop(),Q&&(Q.flags|=8,yt(re,B,R,K)),oe&&pt(oe,R),pt(()=>{B.isUnmounted=!0},R)},we=(B,R,K,ee=!1,X=!1,Q=0)=>{for(let re=Q;re{if(B.shapeFlag&6)return Ne(B.component.subTree);if(B.shapeFlag&128)return B.suspense.next();const R=h(B.anchor||B.el),K=R&&R[M1];return K?h(K):R};let Ke=!1;const gt=(B,R,K)=>{B==null?R._vnode&&yt(R._vnode,null,null,!0):v(R._vnode||null,B,R,null,null,null,K),R._vnode=B,Ke||(Ke=!0,Wu(),Tr(),Ke=!1)},bt={p:v,um:yt,m:je,r:Wn,mt:q,mc:E,pc:ne,pbc:P,n:Ne,o:e};let Nt,Qt;return t&&([Nt,Qt]=t(bt)),{render:gt,hydrate:Nt,createApp:Cg(gt,Nt)}}function Da({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function Ps({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function h0(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Ic(e,t,n=!1){const s=e.children,o=t.children;if(ce(s)&&ce(o))for(let i=0;i>1,e[n[a]]0&&(t[s]=n[i-1]),n[i]=s)}}for(i=n.length,r=n[i-1];i-- >0;)n[i]=r,r=t[r];return n}function p0(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:p0(t)}function Ar(e){if(e)for(let t=0;tqe(m0);function zn(e,t){return Ei(e,null,t)}function da(e,t){return Ei(e,null,{flush:"post"})}function v0(e,t){return Ei(e,null,{flush:"sync"})}function te(e,t,n){return Ei(e,t,n)}function Ei(e,t,n=Le){const{immediate:s,deep:o,flush:i,once:r}=n,a=Ie({},n),c=t&&s||!t&&i!=="post";let u;if(wo){if(i==="sync"){const p=g0();u=p.__watcherHandles||(p.__watcherHandles=[])}else if(!c){const p=()=>{};return p.stop=Ht,p.resume=Ht,p.pause=Ht,p}}const f=St;a.call=(p,g,v)=>yn(p,f,g,v);let d=!1;i==="post"?a.scheduler=p=>{pt(p,f&&f.suspense)}:i!=="sync"&&(d=!0,a.scheduler=(p,g)=>{g?p():vc(p)}),a.augmentJob=p=>{t&&(p.flags|=4),d&&(p.flags|=2,f&&(p.id=f.uid,p.i=f))};const h=Lm(e,t,a);return wo&&(u?u.push(h):c&&h()),h}function Lg(e,t,n){const s=this.proxy,o=_e(e)?e.includes(".")?y0(s,e):()=>s[e]:e.bind(s,s);let i;ye(t)?i=t:(i=t.handler,n=t);const r=qs(this),a=Ei(o,i.bind(s),n);return r(),a}function y0(e,t){const n=t.split(".");return()=>{let s=e;for(let o=0;o{let f,d=Le,h;return v0(()=>{const p=e[o];Ot(f,p)&&(f=p,u())}),{get(){return c(),n.get?n.get(f):f},set(p){const g=n.set?n.set(p):p;if(!Ot(g,f)&&!(d!==Le&&Ot(p,d)))return;const v=s.vnode.props;v&&(t in v||o in v||i in v)&&(`onUpdate:${t}`in v||`onUpdate:${o}`in v||`onUpdate:${i}`in v)||(f=p,u()),s.emit(`update:${t}`,g),Ot(p,g)&&Ot(p,d)&&!Ot(g,h)&&u(),d=p,h=g}}});return a[Symbol.iterator]=()=>{let c=0;return{next(){return c<2?{value:c++?r||Le:a,done:!1}:{done:!0}}}},a}const b0=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${tt(t)}Modifiers`]||e[`${Kt(t)}Modifiers`];function Ig(e,t,...n){if(e.isUnmounted)return;const s=e.vnode.props||Le;let o=n;const i=t.startsWith("update:"),r=i&&b0(s,t.slice(7));r&&(r.trim&&(o=n.map(f=>_e(f)?f.trim():f)),r.number&&(o=n.map(ea)));let a,c=s[a=po(t)]||s[a=po(tt(t))];!c&&i&&(c=s[a=po(Kt(t))]),c&&yn(c,e,6,o);const u=s[a+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[a])return;e.emitted[a]=!0,yn(u,e,6,o)}}const Pg=new WeakMap;function k0(e,t,n=!1){const s=n?Pg:t.emitsCache,o=s.get(e);if(o!==void 0)return o;const i=e.emits;let r={},a=!1;if(!ye(e)){const c=u=>{const f=k0(u,t,!0);f&&(a=!0,Ie(r,f))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!i&&!a?(Ue(e)&&s.set(e,null),null):(ce(i)?i.forEach(c=>r[c]=null):Ie(r,i),Ue(e)&&s.set(e,r),r)}function ha(e,t){return!e||!Ys(t)?!1:(t=t.slice(2).replace(/Once$/,""),De(e,t[0].toLowerCase()+t.slice(1))||De(e,Kt(t))||De(e,t))}function ar(e){const{type:t,vnode:n,proxy:s,withProxy:o,propsOptions:[i],slots:r,attrs:a,emit:c,render:u,renderCache:f,props:d,data:h,setupState:p,ctx:g,inheritAttrs:v}=e,k=ci(e);let b,w;try{if(n.shapeFlag&4){const _=o||s,x=_;b=qt(u.call(x,_,f,d,p,h,g)),w=a}else{const _=t;b=qt(_.length>1?_(d,{attrs:a,slots:r,emit:c}):_(d,null)),w=t.props?a:Fg(a)}}catch(_){Qo.length=0,Xs(_,e,1),b=H(ut)}let y=b;if(w&&v!==!1){const _=Object.keys(w),{shapeFlag:x}=y;_.length&&x&7&&(i&&_.some(ic)&&(w=Bg(w,i)),y=Rn(y,w,!1,!0))}return n.dirs&&(y=Rn(y,null,!1,!0),y.dirs=y.dirs?y.dirs.concat(n.dirs):n.dirs),n.transition&&rs(y,n.transition),b=y,ci(k),b}function Mg(e,t=!0){let n;for(let s=0;s{let t;for(const n in e)(n==="class"||n==="style"||Ys(n))&&((t||(t={}))[n]=e[n]);return t},Bg=(e,t)=>{const n={};for(const s in e)(!ic(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function Ng(e,t,n){const{props:s,children:o,component:i}=e,{props:r,children:a,patchFlag:c}=t,u=i.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return s?of(s,r,u):!!r;if(c&8){const f=t.dynamicProps;for(let d=0;de.__isSuspense;let pl=0;const Vg={name:"Suspense",__isSuspense:!0,process(e,t,n,s,o,i,r,a,c,u){if(e==null)Dg(t,n,s,o,i,r,a,c,u);else{if(i&&i.deps>0&&!e.suspense.isInFallback){t.suspense=e.suspense,t.suspense.vnode=t,t.el=e.el;return}Rg(e,t,n,s,o,r,a,c,u)}},hydrate:Hg,normalize:zg},Og=Vg;function fi(e,t){const n=e.props&&e.props[t];ye(n)&&n()}function Dg(e,t,n,s,o,i,r,a,c){const{p:u,o:{createElement:f}}=c,d=f("div"),h=e.suspense=w0(e,o,s,t,d,n,i,r,a,c);u(null,h.pendingBranch=e.ssContent,d,null,s,h,i,r),h.deps>0?(fi(e,"onPending"),fi(e,"onFallback"),u(null,e.ssFallback,t,n,s,null,i,r),bo(h,e.ssFallback)):h.resolve(!1,!0)}function Rg(e,t,n,s,o,i,r,a,{p:c,um:u,o:{createElement:f}}){const d=t.suspense=e.suspense;d.vnode=t,t.el=e.el;const h=t.ssContent,p=t.ssFallback,{activeBranch:g,pendingBranch:v,isInFallback:k,isHydrating:b}=d;if(v)d.pendingBranch=h,Tn(v,h)?(c(v,h,d.hiddenContainer,null,o,d,i,r,a),d.deps<=0?d.resolve():k&&(b||(c(g,p,n,s,o,null,i,r,a),bo(d,p)))):(d.pendingId=pl++,b?(d.isHydrating=!1,d.activeBranch=v):u(v,o,d),d.deps=0,d.effects.length=0,d.hiddenContainer=f("div"),k?(c(null,h,d.hiddenContainer,null,o,d,i,r,a),d.deps<=0?d.resolve():(c(g,p,n,s,o,null,i,r,a),bo(d,p))):g&&Tn(g,h)?(c(g,h,n,s,o,d,i,r,a),d.resolve(!0)):(c(null,h,d.hiddenContainer,null,o,d,i,r,a),d.deps<=0&&d.resolve()));else if(g&&Tn(g,h))c(g,h,n,s,o,d,i,r,a),bo(d,h);else if(fi(t,"onPending"),d.pendingBranch=h,h.shapeFlag&512?d.pendingId=h.component.suspenseId:d.pendingId=pl++,c(null,h,d.hiddenContainer,null,o,d,i,r,a),d.deps<=0)d.resolve();else{const{timeout:w,pendingId:y}=d;w>0?setTimeout(()=>{d.pendingId===y&&d.fallback(p)},w):w===0&&d.fallback(p)}}function w0(e,t,n,s,o,i,r,a,c,u,f=!1){const{p:d,m:h,um:p,n:g,o:{parentNode:v,remove:k}}=u;let b;const w=jg(e);w&&t&&t.pendingBranch&&(b=t.pendingId,t.deps++);const y=e.props?kr(e.props.timeout):void 0,_=i,x={vnode:e,parent:t,parentComponent:n,namespace:r,container:s,hiddenContainer:o,deps:0,pendingId:pl++,timeout:typeof y=="number"?y:-1,activeBranch:null,pendingBranch:null,isInFallback:!f,isHydrating:f,isUnmounted:!1,effects:[],resolve(L=!1,V=!1){const{vnode:E,activeBranch:I,pendingBranch:P,pendingId:N,effects:$,parentComponent:U,container:q,isInFallback:J}=x;let G=!1;x.isHydrating?x.isHydrating=!1:L||(G=I&&P.transition&&P.transition.mode==="out-in",G&&(I.transition.afterLeave=()=>{N===x.pendingId&&(h(P,q,i===_?g(I):i,0),ai($),J&&E.ssFallback&&(E.ssFallback.el=null))}),I&&(v(I.el)===q&&(i=g(I)),p(I,U,x,!0),!G&&J&&E.ssFallback&&(E.ssFallback.el=null)),G||h(P,q,i,0)),bo(x,P),x.pendingBranch=null,x.isInFallback=!1;let ae=x.parent,ne=!1;for(;ae;){if(ae.pendingBranch){ae.effects.push(...$),ne=!0;break}ae=ae.parent}!ne&&!G&&ai($),x.effects=[],w&&t&&t.pendingBranch&&b===t.pendingId&&(t.deps--,t.deps===0&&!V&&t.resolve()),fi(E,"onResolve")},fallback(L){if(!x.pendingBranch)return;const{vnode:V,activeBranch:E,parentComponent:I,container:P,namespace:N}=x;fi(V,"onFallback");const $=g(E),U=()=>{x.isInFallback&&(d(null,L,P,$,I,null,N,a,c),bo(x,L))},q=L.transition&&L.transition.mode==="out-in";q&&(E.transition.afterLeave=U),x.isInFallback=!0,p(E,I,null,!0),q||U()},move(L,V,E){x.activeBranch&&h(x.activeBranch,L,V,E),x.container=L},next(){return x.activeBranch&&g(x.activeBranch)},registerDep(L,V,E){const I=!!x.pendingBranch;I&&x.deps++;const P=L.vnode.el;L.asyncDep.catch(N=>{Xs(N,L,0)}).then(N=>{if(L.isUnmounted||x.isUnmounted||x.pendingId!==L.suspenseId)return;L.asyncResolved=!0;const{vnode:$}=L;vl(L,N,!1),P&&($.el=P);const U=!P&&L.subTree.el;V(L,$,v(P||L.subTree.el),P?null:g(L.subTree),x,r,E),U&&($.placeholder=null,k(U)),pa(L,$.el),I&&--x.deps===0&&x.resolve()})},unmount(L,V){x.isUnmounted=!0,x.activeBranch&&p(x.activeBranch,n,L,V),x.pendingBranch&&p(x.pendingBranch,n,L,V)}};return x}function Hg(e,t,n,s,o,i,r,a,c){const u=t.suspense=w0(t,s,n,e.parentNode,document.createElement("div"),null,o,i,r,a,!0),f=c(e,u.pendingBranch=t.ssContent,n,u,i,r);return u.deps===0&&u.resolve(!1,!0),f}function zg(e){const{shapeFlag:t,children:n}=e,s=t&32;e.ssContent=rf(s?n.default:n),e.ssFallback=s?rf(n.fallback):H(ut)}function rf(e){let t;if(ye(e)){const n=Ws&&e._c;n&&(e._d=!1,m()),e=e(),n&&(e._d=!0,t=Mt,_0())}return ce(e)&&(e=Mg(e)),e=qt(e),t&&!e.dynamicChildren&&(e.dynamicChildren=t.filter(n=>n!==e)),e}function C0(e,t){t&&t.pendingBranch?ce(e)?t.effects.push(...e):t.effects.push(e):ai(e)}function bo(e,t){e.activeBranch=t;const{vnode:n,parentComponent:s}=e;let o=t.el;for(;!o&&t.component;)t=t.component.subTree,o=t.el;n.el=o,s&&s.subTree===n&&(s.vnode.el=o,pa(s,o))}function jg(e){const t=e.props&&e.props.suspensible;return t!=null&&t!==!1}const Y=Symbol.for("v-fgt"),Ts=Symbol.for("v-txt"),ut=Symbol.for("v-cmt"),Rs=Symbol.for("v-stc"),Qo=[];let Mt=null;function m(e=!1){Qo.push(Mt=e?null:[])}function _0(){Qo.pop(),Mt=Qo[Qo.length-1]||null}let Ws=1;function di(e,t=!1){Ws+=e,e<0&&Mt&&t&&(Mt.hasOnce=!0)}function S0(e){return e.dynamicChildren=Ws>0?Mt||fo:null,_0(),Ws>0&&Mt&&Mt.push(e),e}function C(e,t,n,s,o,i){return S0(S(e,t,n,s,o,i,!0))}function D(e,t,n,s,o){return S0(H(e,t,n,s,o,!0))}function Ln(e){return e?e.__v_isVNode===!0:!1}function Tn(e,t){return e.type===t.type&&e.key===t.key}function Ug(e){}const T0=({key:e})=>e??null,lr=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?_e(e)||Ye(e)||ye(e)?{i:Tt,r:e,k:t,f:!!n}:e:null);function S(e,t=null,n=null,s=0,o=null,i=e===Y?0:1,r=!1,a=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&T0(t),ref:t&&lr(t),scopeId:la,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:s,dynamicProps:o,dynamicChildren:null,appContext:null,ctx:Tt};return a?(Pc(c,n),i&128&&e.normalize(c)):n&&(c.shapeFlag|=_e(n)?8:16),Ws>0&&!r&&Mt&&(c.patchFlag>0||i&6)&&c.patchFlag!==32&&Mt.push(c),c}const H=Wg;function Wg(e,t=null,n=null,s=0,o=null,i=!1){if((!e||e===J1)&&(e=ut),Ln(e)){const a=Rn(e,t,!0);return n&&Pc(a,n),Ws>0&&!i&&Mt&&(a.shapeFlag&6?Mt[Mt.indexOf(e)]=a:Mt.push(a)),a.patchFlag=-2,a}if(Qg(e)&&(e=e.__vccOpts),t){t=Ze(t);let{class:a,style:c}=t;a&&!_e(a)&&(t.class=T(a)),Ue(c)&&(aa(c)&&!ce(c)&&(c=Ie({},c)),t.style=Fe(c))}const r=_e(e)?1:$r(e)?128:F1(e)?64:Ue(e)?4:ye(e)?2:0;return S(e,t,n,s,o,r,i,!0)}function Ze(e){return e?aa(e)||o0(e)?Ie({},e):e:null}function Rn(e,t,n=!1,s=!1){const{props:o,ref:i,patchFlag:r,children:a,transition:c}=e,u=t?nt(o||{},t):o,f={__v_isVNode:!0,__v_skip:!0,type:e.type,props:u,key:u&&T0(u),ref:t&&t.ref?n&&i?ce(i)?i.concat(lr(t)):[i,lr(t)]:lr(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:a,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Y?r===-1?16:r|16:r,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Rn(e.ssContent),ssFallback:e.ssFallback&&Rn(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&s&&rs(f,c.clone(f)),f}function rt(e=" ",t=0){return H(Ts,null,e,t)}function E0(e,t){const n=H(Rs,null,e);return n.staticCount=t,n}function A(e="",t=!1){return t?(m(),D(ut,null,e)):H(ut,null,e)}function qt(e){return e==null||typeof e=="boolean"?H(ut):ce(e)?H(Y,null,e.slice()):Ln(e)?ys(e):H(Ts,null,String(e))}function ys(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Rn(e)}function Pc(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(ce(t))n=16;else if(typeof t=="object")if(s&65){const o=t.default;o&&(o._c&&(o._d=!1),Pc(e,o()),o._c&&(o._d=!0));return}else{n=32;const o=t._;!o&&!o0(t)?t._ctx=Tt:o===3&&Tt&&(Tt.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else ye(t)?(t={default:t,_ctx:Tt},n=32):(t=String(t),s&64?(n=16,t=[rt(t)]):n=8);e.children=t,e.shapeFlag|=n}function nt(...e){const t={};for(let n=0;nSt||Tt;let Lr,ml;{const e=ta(),t=(n,s)=>{let o;return(o=e[n])||(o=e[n]=[]),o.push(s),i=>{o.length>1?o.forEach(r=>r(i)):o[0](i)}};Lr=t("__VUE_INSTANCE_SETTERS__",n=>St=n),ml=t("__VUE_SSR_SETTERS__",n=>wo=n)}const qs=e=>{const t=St;return Lr(e),e.scope.on(),()=>{e.scope.off(),Lr(t)}},gl=()=>{St&&St.scope.off(),Lr(null)};function A0(e){return e.vnode.shapeFlag&4}let wo=!1;function $0(e,t=!1,n=!1){t&&ml(t);const{props:s,children:o}=e.vnode,i=A0(e);_g(e,s,i,t),xg(e,o,n||t);const r=i?Yg(e,t):void 0;return t&&ml(!1),r}function Yg(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,ul);const{setup:s}=n;if(s){ss();const o=e.setupContext=s.length>1?I0(e):null,i=qs(e),r=Po(s,e,0,[e.props,o]),a=ac(r);if(os(),i(),(a||e.sp)&&!Ss(e)&&kc(e),a){if(r.then(gl,gl),t)return r.then(c=>{vl(e,c,t)}).catch(c=>{Xs(c,e,0)});e.asyncDep=r}else vl(e,r,t)}else L0(e,t)}function vl(e,t,n){ye(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Ue(t)&&(e.setupState=mc(t)),L0(e,n)}let Ir,yl;function Gg(e){Ir=e,yl=t=>{t.render._rc&&(t.withProxy=new Proxy(t.ctx,rg))}}const Jg=()=>!Ir;function L0(e,t,n){const s=e.type;if(!e.render){if(!t&&Ir&&!s.render){const o=s.template||xc(e).template;if(o){const{isCustomElement:i,compilerOptions:r}=e.appContext.config,{delimiters:a,compilerOptions:c}=s,u=Ie(Ie({isCustomElement:i,delimiters:a},r),c);s.render=Ir(o,u)}}e.render=s.render||Ht,yl&&yl(e)}{const o=qs(e);ss();try{gg(e)}finally{os(),o()}}}const Xg={get(e,t){return Pt(e,"get",""),e[t]}};function I0(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,Xg),slots:e.slots,emit:e.emit,expose:t}}function xi(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(mc(go(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Xo)return Xo[n](e)},has(t,n){return n in t||n in Xo}})):e.proxy}function bl(e,t=!0){return ye(e)?e.displayName||e.name:e.name||t&&e.__name}function Qg(e){return ye(e)&&"__vccOpts"in e}const F=(e,t)=>Em(e,t,wo);function nn(e,t,n){try{di(-1);const s=arguments.length;return s===2?Ue(t)&&!ce(t)?Ln(t)?H(e,null,[t]):H(e,t):H(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&Ln(n)&&(n=[n]),H(e,t,n))}finally{di(1)}}function Zg(){}function ev(e,t,n,s){const o=n[s];if(o&&P0(o,e))return o;const i=t();return i.memo=e.slice(),i.cacheIndex=s,n[s]=i}function P0(e,t){const n=e.memo;if(n.length!=t.length)return!1;for(let s=0;s0&&Mt&&Mt.push(e),!0}const M0="3.5.24",tv=Ht,nv=Bm,sv=io,ov=P1,iv={createComponentInstance:x0,setupComponent:$0,renderComponentRoot:ar,setCurrentRenderingInstance:ci,isVNode:Ln,normalizeVNode:qt,getComponentPublicInstance:xi,ensureValidVNode:Tc,pushWarningContext:Im,popWarningContext:Pm},rv=iv,av=null,lv=null,cv=null;let kl;const af=typeof window<"u"&&window.trustedTypes;if(af)try{kl=af.createPolicy("vue",{createHTML:e=>e})}catch{}const F0=kl?e=>kl.createHTML(e):e=>e,uv="http://www.w3.org/2000/svg",fv="http://www.w3.org/1998/Math/MathML",Gn=typeof document<"u"?document:null,lf=Gn&&Gn.createElement("template"),dv={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const o=t==="svg"?Gn.createElementNS(uv,e):t==="mathml"?Gn.createElementNS(fv,e):n?Gn.createElement(e,{is:n}):Gn.createElement(e);return e==="select"&&s&&s.multiple!=null&&o.setAttribute("multiple",s.multiple),o},createText:e=>Gn.createTextNode(e),createComment:e=>Gn.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Gn.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,o,i){const r=n?n.previousSibling:t.lastChild;if(o&&(o===i||o.nextSibling))for(;t.insertBefore(o.cloneNode(!0),n),!(o===i||!(o=o.nextSibling)););else{lf.innerHTML=F0(s==="svg"?`${e}`:s==="mathml"?`${e}`:e);const a=lf.content;if(s==="svg"||s==="mathml"){const c=a.firstChild;for(;c.firstChild;)a.appendChild(c.firstChild);a.removeChild(c)}t.insertBefore(a,n)}return[r?r.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},fs="transition",zo="animation",Co=Symbol("_vtc"),B0={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},N0=Ie({},bc,B0),hv=e=>(e.displayName="Transition",e.props=N0,e),vt=hv((e,{slots:t})=>nn(D1,V0(e),t)),Ms=(e,t=[])=>{ce(e)?e.forEach(n=>n(...t)):e&&e(...t)},cf=e=>e?ce(e)?e.some(t=>t.length>1):e.length>1:!1;function V0(e){const t={};for(const $ in e)$ in B0||(t[$]=e[$]);if(e.css===!1)return t;const{name:n="v",type:s,duration:o,enterFromClass:i=`${n}-enter-from`,enterActiveClass:r=`${n}-enter-active`,enterToClass:a=`${n}-enter-to`,appearFromClass:c=i,appearActiveClass:u=r,appearToClass:f=a,leaveFromClass:d=`${n}-leave-from`,leaveActiveClass:h=`${n}-leave-active`,leaveToClass:p=`${n}-leave-to`}=e,g=pv(o),v=g&&g[0],k=g&&g[1],{onBeforeEnter:b,onEnter:w,onEnterCancelled:y,onLeave:_,onLeaveCancelled:x,onBeforeAppear:L=b,onAppear:V=w,onAppearCancelled:E=y}=t,I=($,U,q,J)=>{$._enterCancelled=J,ps($,U?f:a),ps($,U?u:r),q&&q()},P=($,U)=>{$._isLeaving=!1,ps($,d),ps($,p),ps($,h),U&&U()},N=$=>(U,q)=>{const J=$?V:w,G=()=>I(U,$,q);Ms(J,[U,G]),uf(()=>{ps(U,$?c:i),Fn(U,$?f:a),cf(J)||ff(U,s,v,G)})};return Ie(t,{onBeforeEnter($){Ms(b,[$]),Fn($,i),Fn($,r)},onBeforeAppear($){Ms(L,[$]),Fn($,c),Fn($,u)},onEnter:N(!1),onAppear:N(!0),onLeave($,U){$._isLeaving=!0;const q=()=>P($,U);Fn($,d),$._enterCancelled?(Fn($,h),wl($)):(wl($),Fn($,h)),uf(()=>{$._isLeaving&&(ps($,d),Fn($,p),cf(_)||ff($,s,k,q))}),Ms(_,[$,q])},onEnterCancelled($){I($,!1,void 0,!0),Ms(y,[$])},onAppearCancelled($){I($,!0,void 0,!0),Ms(E,[$])},onLeaveCancelled($){P($),Ms(x,[$])}})}function pv(e){if(e==null)return null;if(Ue(e))return[Ra(e.enter),Ra(e.leave)];{const t=Ra(e);return[t,t]}}function Ra(e){return kr(e)}function Fn(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Co]||(e[Co]=new Set)).add(t)}function ps(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const n=e[Co];n&&(n.delete(t),n.size||(e[Co]=void 0))}function uf(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let mv=0;function ff(e,t,n,s){const o=e._endId=++mv,i=()=>{o===e._endId&&s()};if(n!=null)return setTimeout(i,n);const{type:r,timeout:a,propCount:c}=O0(e,t);if(!r)return s();const u=r+"end";let f=0;const d=()=>{e.removeEventListener(u,h),i()},h=p=>{p.target===e&&++f>=c&&d()};setTimeout(()=>{f(n[g]||"").split(", "),o=s(`${fs}Delay`),i=s(`${fs}Duration`),r=df(o,i),a=s(`${zo}Delay`),c=s(`${zo}Duration`),u=df(a,c);let f=null,d=0,h=0;t===fs?r>0&&(f=fs,d=r,h=i.length):t===zo?u>0&&(f=zo,d=u,h=c.length):(d=Math.max(r,u),f=d>0?r>u?fs:zo:null,h=f?f===fs?i.length:c.length:0);const p=f===fs&&/\b(?:transform|all)(?:,|$)/.test(s(`${fs}Property`).toString());return{type:f,timeout:d,propCount:h,hasTransform:p}}function df(e,t){for(;e.lengthhf(n)+hf(e[s])))}function hf(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function wl(e){return(e?e.ownerDocument:document).body.offsetHeight}function gv(e,t,n){const s=e[Co];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Pr=Symbol("_vod"),D0=Symbol("_vsh"),at={name:"show",beforeMount(e,{value:t},{transition:n}){e[Pr]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):jo(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:s}){!t!=!n&&(s?t?(s.beforeEnter(e),jo(e,!0),s.enter(e)):s.leave(e,()=>{jo(e,!1)}):jo(e,t))},beforeUnmount(e,{value:t}){jo(e,t)}};function jo(e,t){e.style.display=t?e[Pr]:"none",e[D0]=!t}function vv(){at.getSSRProps=({value:e})=>{if(!e)return{style:{display:"none"}}}}const R0=Symbol("");function yv(e){const t=dt();if(!t)return;const n=t.ut=(o=e(t.proxy))=>{Array.from(document.querySelectorAll(`[data-v-owner="${t.uid}"]`)).forEach(i=>Mr(i,o))},s=()=>{const o=e(t.proxy);t.ce?Mr(t.ce,o):Cl(t.subTree,o),n(o)};Cc(()=>{ai(s)}),be(()=>{te(s,Ht,{flush:"post"});const o=new MutationObserver(s);o.observe(t.subTree.el.parentNode,{childList:!0}),cn(()=>o.disconnect())})}function Cl(e,t){if(e.shapeFlag&128){const n=e.suspense;e=n.activeBranch,n.pendingBranch&&!n.isHydrating&&n.effects.push(()=>{Cl(n.activeBranch,t)})}for(;e.component;)e=e.component.subTree;if(e.shapeFlag&1&&e.el)Mr(e.el,t);else if(e.type===Y)e.children.forEach(n=>Cl(n,t));else if(e.type===Rs){let{el:n,anchor:s}=e;for(;n&&(Mr(n,t),n!==s);)n=n.nextSibling}}function Mr(e,t){if(e.nodeType===1){const n=e.style;let s="";for(const o in t){const i=J2(t[o]);n.setProperty(`--${o}`,i),s+=`--${o}: ${i};`}n[R0]=s}}const bv=/(?:^|;)\s*display\s*:/;function kv(e,t,n){const s=e.style,o=_e(n);let i=!1;if(n&&!o){if(t)if(_e(t))for(const r of t.split(";")){const a=r.slice(0,r.indexOf(":")).trim();n[a]==null&&cr(s,a,"")}else for(const r in t)n[r]==null&&cr(s,r,"");for(const r in n)r==="display"&&(i=!0),cr(s,r,n[r])}else if(o){if(t!==n){const r=s[R0];r&&(n+=";"+r),s.cssText=n,i=bv.test(n)}}else t&&e.removeAttribute("style");Pr in e&&(e[Pr]=i?s.display:"",e[D0]&&(s.display="none"))}const pf=/\s*!important$/;function cr(e,t,n){if(ce(n))n.forEach(s=>cr(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=wv(e,t);pf.test(n)?e.setProperty(Kt(s),n.replace(pf,""),"important"):e[s]=n}}const mf=["Webkit","Moz","ms"],Ha={};function wv(e,t){const n=Ha[t];if(n)return n;let s=tt(t);if(s!=="filter"&&s in e)return Ha[t]=s;s=Js(s);for(let o=0;oza||(Tv.then(()=>za=0),za=Date.now());function xv(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;yn(Av(s,n.value),t,5,[s])};return n.value=e,n.attached=Ev(),n}function Av(e,t){if(ce(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(s=>o=>!o._stopped&&s&&s(o))}else return t}const wf=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,$v=(e,t,n,s,o,i)=>{const r=o==="svg";t==="class"?gv(e,s,r):t==="style"?kv(e,n,s):Ys(t)?ic(t)||_v(e,t,n,s,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Lv(e,t,s,r))?(yf(e,t,s),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&vf(e,t,s,r,i,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!_e(s))?yf(e,tt(t),s,i,t):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),vf(e,t,s,r))};function Lv(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&wf(t)&&ye(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const o=e.tagName;if(o==="IMG"||o==="VIDEO"||o==="CANVAS"||o==="SOURCE")return!1}return wf(t)&&_e(n)?!1:t in e}const Cf={};function H0(e,t,n){let s=z(e,t);Qr(s)&&(s=Ie({},s,t));class o extends ma{constructor(r){super(s,r,n)}}return o.def=s,o}const Iv=((e,t)=>H0(e,t,X0)),Pv=typeof HTMLElement<"u"?HTMLElement:class{};class ma extends Pv{constructor(t,n={},s=Br){super(),this._def=t,this._props=n,this._createApp=s,this._isVueCE=!0,this._instance=null,this._app=null,this._nonce=this._def.nonce,this._connected=!1,this._resolved=!1,this._patching=!1,this._dirty=!1,this._numberProps=null,this._styleChildren=new WeakSet,this._ob=null,this.shadowRoot&&s!==Br?this._root=this.shadowRoot:t.shadowRoot!==!1?(this.attachShadow(Ie({},t.shadowRootOptions,{mode:"open"})),this._root=this.shadowRoot):this._root=this}connectedCallback(){if(!this.isConnected)return;!this.shadowRoot&&!this._resolved&&this._parseSlots(),this._connected=!0;let t=this;for(;t=t&&(t.parentNode||t.host);)if(t instanceof ma){this._parent=t;break}this._instance||(this._resolved?this._mount(this._def):t&&t._pendingResolve?this._pendingResolve=t._pendingResolve.then(()=>{this._pendingResolve=void 0,this._resolveDef()}):this._resolveDef())}_setParent(t=this._parent){t&&(this._instance.parent=t._instance,this._inheritParentContext(t))}_inheritParentContext(t=this._parent){t&&this._app&&Object.setPrototypeOf(this._app._context.provides,t._instance.provides)}disconnectedCallback(){this._connected=!1,Oe(()=>{this._connected||(this._ob&&(this._ob.disconnect(),this._ob=null),this._app&&this._app.unmount(),this._instance&&(this._instance.ce=void 0),this._app=this._instance=null,this._teleportTargets&&(this._teleportTargets.clear(),this._teleportTargets=void 0))})}_processMutations(t){for(const n of t)this._setAttr(n.attributeName)}_resolveDef(){if(this._pendingResolve)return;for(let s=0;s{this._resolved=!0,this._pendingResolve=void 0;const{props:i,styles:r}=s;let a;if(i&&!ce(i))for(const c in i){const u=i[c];(u===Number||u&&u.type===Number)&&(c in this._props&&(this._props[c]=kr(this._props[c])),(a||(a=Object.create(null)))[tt(c)]=!0)}this._numberProps=a,this._resolveProps(s),this.shadowRoot&&this._applyStyles(r),this._mount(s)},n=this._def.__asyncLoader;n?this._pendingResolve=n().then(s=>{s.configureApp=this._def.configureApp,t(this._def=s,!0)}):t(this._def)}_mount(t){this._app=this._createApp(t),this._inheritParentContext(),t.configureApp&&t.configureApp(this._app),this._app._ceVNode=this._createVNode(),this._app.mount(this._root);const n=this._instance&&this._instance.exposed;if(n)for(const s in n)De(this,s)||Object.defineProperty(this,s,{get:()=>l(n[s])})}_resolveProps(t){const{props:n}=t,s=ce(n)?n:Object.keys(n||{});for(const o of Object.keys(this))o[0]!=="_"&&s.includes(o)&&this._setProp(o,this[o]);for(const o of s.map(tt))Object.defineProperty(this,o,{get(){return this._getProp(o)},set(i){this._setProp(o,i,!0,!this._patching)}})}_setAttr(t){if(t.startsWith("data-v-"))return;const n=this.hasAttribute(t);let s=n?this.getAttribute(t):Cf;const o=tt(t);n&&this._numberProps&&this._numberProps[o]&&(s=kr(s)),this._setProp(o,s,!1,!0)}_getProp(t){return this._props[t]}_setProp(t,n,s=!0,o=!1){if(n!==this._props[t]&&(this._dirty=!0,n===Cf?delete this._props[t]:(this._props[t]=n,t==="key"&&this._app&&(this._app._ceVNode.key=n)),o&&this._instance&&this._update(),s)){const i=this._ob;i&&(this._processMutations(i.takeRecords()),i.disconnect()),n===!0?this.setAttribute(Kt(t),""):typeof n=="string"||typeof n=="number"?this.setAttribute(Kt(t),n+""):n||this.removeAttribute(Kt(t)),i&&i.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),hi(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const n=H(this._def,Ie(t,this._props));return this._instance||(n.ce=s=>{this._instance=s,s.ce=this,s.isCE=!0;const o=(i,r)=>{this.dispatchEvent(new CustomEvent(i,Qr(r[0])?Ie({detail:r},r[0]):{detail:r}))};s.emit=(i,...r)=>{o(i,r),Kt(i)!==i&&o(Kt(i),r)},this._setParent()}),n}_applyStyles(t,n){if(!t)return;if(n){if(n===this._def||this._styleChildren.has(n))return;this._styleChildren.add(n)}const s=this._nonce;for(let o=t.length-1;o>=0;o--){const i=document.createElement("style");s&&i.setAttribute("nonce",s),i.textContent=t[o],this.shadowRoot.prepend(i)}}_parseSlots(){const t=this._slots={};let n;for(;n=this.firstChild;){const s=n.nodeType===1&&n.getAttribute("slot")||"default";(t[s]||(t[s]=[])).push(n),this.removeChild(n)}}_renderSlots(){const t=this._getSlots(),n=this._instance.type.__scopeId;for(let s=0;s(delete e.props.mode,e),Nv=Bv({name:"TransitionGroup",props:Ie({},N0,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=dt(),s=yc();let o,i;return Fo(()=>{if(!o.length)return;const r=e.moveClass||`${e.name||"v"}-move`;if(!Rv(o[0].el,n.vnode.el,r)){o=[];return}o.forEach(Vv),o.forEach(Ov);const a=o.filter(Dv);wl(n.vnode.el),a.forEach(c=>{const u=c.el,f=u.style;Fn(u,r),f.transform=f.webkitTransform=f.transitionDuration="";const d=u[Fr]=h=>{h&&h.target!==u||(!h||h.propertyName.endsWith("transform"))&&(u.removeEventListener("transitionend",d),u[Fr]=null,ps(u,r))};u.addEventListener("transitionend",d)}),o=[]}),()=>{const r=Pe(e),a=V0(r);let c=r.tag||Y;if(o=[],i)for(let u=0;u{a.split(/\s+/).forEach(c=>c&&s.classList.remove(c))}),n.split(/\s+/).forEach(a=>a&&s.classList.add(a)),s.style.display="none";const i=t.nodeType===1?t:t.parentNode;i.appendChild(s);const{hasTransform:r}=O0(s);return i.removeChild(s),r}const As=e=>{const t=e.props["onUpdate:modelValue"]||!1;return ce(t)?n=>mo(t,n):t};function Hv(e){e.target.composing=!0}function Sf(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const vn=Symbol("_assign");function Tf(e,t,n){return t&&(e=e.trim()),n&&(e=ea(e)),e}const _o={created(e,{modifiers:{lazy:t,trim:n,number:s}},o){e[vn]=As(o);const i=s||o.props&&o.props.type==="number";Zn(e,t?"change":"input",r=>{r.target.composing||e[vn](Tf(e.value,n,i))}),(n||i)&&Zn(e,"change",()=>{e.value=Tf(e.value,n,i)}),t||(Zn(e,"compositionstart",Hv),Zn(e,"compositionend",Sf),Zn(e,"change",Sf))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:s,trim:o,number:i}},r){if(e[vn]=As(r),e.composing)return;const a=(i||e.type==="number")&&!/^0\d/.test(e.value)?ea(e.value):e.value,c=t??"";a!==c&&(document.activeElement===e&&e.type!=="range"&&(s&&t===n||o&&e.value.trim()===c)||(e.value=c))}},Mc={deep:!0,created(e,t,n){e[vn]=As(n),Zn(e,"change",()=>{const s=e._modelValue,o=So(e),i=e.checked,r=e[vn];if(ce(s)){const a=na(s,o),c=a!==-1;if(i&&!c)r(s.concat(o));else if(!i&&c){const u=[...s];u.splice(a,1),r(u)}}else if(Gs(s)){const a=new Set(s);i?a.add(o):a.delete(o),r(a)}else r(q0(e,i))})},mounted:Ef,beforeUpdate(e,t,n){e[vn]=As(n),Ef(e,t,n)}};function Ef(e,{value:t,oldValue:n},s){e._modelValue=t;let o;if(ce(t))o=na(t,s.props.value)>-1;else if(Gs(t))o=t.has(s.props.value);else{if(t===n)return;o=xs(t,q0(e,!0))}e.checked!==o&&(e.checked=o)}const ga={created(e,{value:t},n){e.checked=xs(t,n.props.value),e[vn]=As(n),Zn(e,"change",()=>{e[vn](So(e))})},beforeUpdate(e,{value:t,oldValue:n},s){e[vn]=As(s),t!==n&&(e.checked=xs(t,s.props.value))}},W0={deep:!0,created(e,{value:t,modifiers:{number:n}},s){const o=Gs(t);Zn(e,"change",()=>{const i=Array.prototype.filter.call(e.options,r=>r.selected).map(r=>n?ea(So(r)):So(r));e[vn](e.multiple?o?new Set(i):i:i[0]),e._assigning=!0,Oe(()=>{e._assigning=!1})}),e[vn]=As(s)},mounted(e,{value:t}){xf(e,t)},beforeUpdate(e,t,n){e[vn]=As(n)},updated(e,{value:t}){e._assigning||xf(e,t)}};function xf(e,t){const n=e.multiple,s=ce(t);if(!(n&&!s&&!Gs(t))){for(let o=0,i=e.options.length;oString(u)===String(a)):r.selected=na(t,a)>-1}else r.selected=t.has(a);else if(xs(So(r),t)){e.selectedIndex!==o&&(e.selectedIndex=o);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function So(e){return"_value"in e?e._value:e.value}function q0(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const Fc={created(e,t,n){Wi(e,t,n,null,"created")},mounted(e,t,n){Wi(e,t,n,null,"mounted")},beforeUpdate(e,t,n,s){Wi(e,t,n,s,"beforeUpdate")},updated(e,t,n,s){Wi(e,t,n,s,"updated")}};function K0(e,t){switch(e){case"SELECT":return W0;case"TEXTAREA":return _o;default:switch(t){case"checkbox":return Mc;case"radio":return ga;default:return _o}}}function Wi(e,t,n,s,o){const r=K0(e.tagName,n.props&&n.props.type)[o];r&&r(e,t,n,s)}function zv(){_o.getSSRProps=({value:e})=>({value:e}),ga.getSSRProps=({value:e},t)=>{if(t.props&&xs(t.props.value,e))return{checked:!0}},Mc.getSSRProps=({value:e},t)=>{if(ce(e)){if(t.props&&na(e,t.props.value)>-1)return{checked:!0}}else if(Gs(e)){if(t.props&&e.has(t.props.value))return{checked:!0}}else if(e)return{checked:!0}},Fc.getSSRProps=(e,t)=>{if(typeof t.type!="string")return;const n=K0(t.type.toUpperCase(),t.props&&t.props.type);if(n.getSSRProps)return n.getSSRProps(e,t)}}const jv=["ctrl","shift","alt","meta"],Uv={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>jv.some(n=>e[`${n}Key`]&&!t.includes(n))},To=(e,t)=>{const n=e._withMods||(e._withMods={}),s=t.join(".");return n[s]||(n[s]=((o,...i)=>{for(let r=0;r{const n=e._withKeys||(e._withKeys={}),s=t.join(".");return n[s]||(n[s]=(o=>{if(!("key"in o))return;const i=Kt(o.key);if(t.some(r=>r===i||Wv[r]===i))return e(o)}))},Y0=Ie({patchProp:$v},dv);let Zo,Af=!1;function G0(){return Zo||(Zo=u0(Y0))}function J0(){return Zo=Af?Zo:f0(Y0),Af=!0,Zo}const hi=((...e)=>{G0().render(...e)}),qv=((...e)=>{J0().hydrate(...e)}),Br=((...e)=>{const t=G0().createApp(...e),{mount:n}=t;return t.mount=s=>{const o=Z0(s);if(!o)return;const i=t._component;!ye(i)&&!i.render&&!i.template&&(i.template=o.innerHTML),o.nodeType===1&&(o.textContent="");const r=n(o,!1,Q0(o));return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),r},t}),X0=((...e)=>{const t=J0().createApp(...e),{mount:n}=t;return t.mount=s=>{const o=Z0(s);if(o)return n(o,!0,Q0(o))},t});function Q0(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Z0(e){return _e(e)?document.querySelector(e):e}let $f=!1;const Kv=()=>{$f||($f=!0,zv(),vv())};const Yv=()=>{},Gv=Object.freeze(Object.defineProperty({__proto__:null,BaseTransition:D1,BaseTransitionPropsValidators:bc,Comment:ut,DeprecationTypes:cv,EffectScope:cc,ErrorCodes:Fm,ErrorTypeStrings:nv,Fragment:Y,KeepAlive:ng,ReactiveEffect:oi,Static:Rs,Suspense:Og,Teleport:ca,Text:Ts,TrackOpTypes:xm,Transition:vt,TransitionGroup:Qs,TriggerOpTypes:Am,VueElement:ma,assertNumber:Mm,callWithAsyncErrorHandling:yn,callWithErrorHandling:Po,camelize:tt,capitalize:Js,cloneVNode:Rn,compatUtils:lv,compile:Yv,computed:F,createApp:Br,createBlock:D,createCommentVNode:A,createElementBlock:C,createElementVNode:S,createHydrationRenderer:f0,createPropsRestProxy:Z1,createRenderer:u0,createSSRApp:X0,createSlots:Wt,createStaticVNode:E0,createTextVNode:rt,createVNode:H,customRef:gc,defineAsyncComponent:wc,defineComponent:z,defineCustomElement:H0,defineEmits:lg,defineExpose:cg,defineModel:dg,defineOptions:ug,defineProps:ag,defineSSRCustomElement:Iv,defineSlots:fg,devtools:sv,effect:Q2,effectScope:l1,getCurrentInstance:dt,getCurrentScope:_i,getCurrentWatcher:$m,getTransitionRawChildren:ua,guardReactiveProps:Ze,h:nn,handleError:Xs,hasInjectionContext:Ac,hydrate:qv,hydrateOnIdle:Gm,hydrateOnInteraction:Zm,hydrateOnMediaQuery:Qm,hydrateOnVisible:Xm,initCustomFormatter:Zg,initDirectivesForSSR:Kv,inject:qe,isMemoSame:P0,isProxy:aa,isReactive:_s,isReadonly:is,isRef:Ye,isRuntimeOnly:Jg,isShallow:an,isVNode:Ln,markRaw:go,mergeDefaults:Q1,mergeModels:$n,mergeProps:nt,nextTick:Oe,normalizeClass:T,normalizeProps:Ge,normalizeStyle:Fe,onActivated:j1,onBeforeMount:Mo,onBeforeUnmount:ls,onBeforeUpdate:Cc,onDeactivated:U1,onErrorCaptured:G1,onMounted:be,onRenderTracked:Y1,onRenderTriggered:K1,onScopeDispose:uc,onServerPrefetch:q1,onUnmounted:cn,onUpdated:Fo,onWatcherCleanup:x1,openBlock:m,popScopeId:Dm,provide:In,proxyRefs:mc,pushScopeId:Om,queuePostFlushCb:ai,reactive:Dn,readonly:It,ref:j,registerRuntimeCompiler:Gg,render:hi,renderList:le,renderSlot:M,resolveComponent:un,resolveDirective:ig,resolveDynamicComponent:Be,resolveFilter:av,resolveTransitionHooks:ko,setBlockTracking:di,setDevtoolsHook:ov,setTransitionHooks:rs,shallowReactive:pc,shallowReadonly:al,shallowRef:ze,ssrContextKey:m0,ssrUtils:rv,stop:Z2,toDisplayString:W,toHandlerKey:po,toHandlers:Ec,toRaw:Pe,toRef:T1,toRefs:Cm,toValue:Se,transformVNodeArgs:Ug,triggerRef:bm,unref:l,useAttrs:pg,useCssModule:Fv,useCssVars:yv,useHost:z0,useId:H1,useModel:Jt,useSSRContext:g0,useShadowRoot:Mv,useSlots:Ti,useTemplateRef:z1,useTransitionState:yc,vModelCheckbox:Mc,vModelDynamic:Fc,vModelRadio:ga,vModelSelect:W0,vModelText:_o,vShow:at,version:M0,warn:tv,watch:te,watchEffect:zn,watchPostEffect:da,watchSyncEffect:v0,withAsyncContext:mg,withCtx:O,withDefaults:hg,withDirectives:et,withKeys:va,withMemo:ev,withModifiers:To,withScopeId:Rm},Symbol.toStringTag,{value:"Module"})),eh=z({__name:"VPBadge",props:{text:{},type:{default:"tip"}},setup(e){return(t,n)=>(m(),C("span",{class:T(["VPBadge",e.type])},[M(t.$slots,"default",{},()=>[rt(W(e.text),1)])],2))}}),Jv=window.__VP_SITE_DATA__;function Bc(e,t){return _i()?(uc(e,t),!0):!1}const ja=new WeakMap,Xv=(...e)=>{var t;const n=e[0],s=(t=dt())===null||t===void 0?void 0:t.proxy,o=s??_i();if(o==null&&!Ac())throw new Error("injectLocal must be called in setup");return o&&ja.has(o)&&n in ja.get(o)?ja.get(o)[n]:qe(...e)},th=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const Qv=e=>e!=null,Zv=Object.prototype.toString,e3=e=>Zv.call(e)==="[object Object]",$s=()=>{},Lf=t3();function t3(){var e,t,n;return th&&((e=window)===null||e===void 0||(e=e.navigator)===null||e===void 0?void 0:e.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((t=window)===null||t===void 0||(t=t.navigator)===null||t===void 0?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test((n=window)===null||n===void 0?void 0:n.navigator.userAgent))}function Nc(...e){if(e.length!==1)return T1(...e);const t=e[0];return typeof t=="function"?It(gc(()=>({get:t,set:$s}))):j(t)}function Vc(e,t){function n(...s){return new Promise((o,i)=>{Promise.resolve(e(()=>t.apply(this,s),{fn:t,thisArg:this,args:s})).then(o).catch(i)})}return n}const nh=e=>e();function sh(e,t={}){let n,s,o=$s;const i=c=>{clearTimeout(c),o(),o=$s};let r;return c=>{const u=Se(e),f=Se(t.maxWait);return n&&i(n),u<=0||f!==void 0&&f<=0?(s&&(i(s),s=void 0),Promise.resolve(c())):new Promise((d,h)=>{o=t.rejectOnCancel?h:d,r=c,f&&!s&&(s=setTimeout(()=>{n&&i(n),s=void 0,d(r())},f)),n=setTimeout(()=>{s&&i(s),s=void 0,d(c())},u)})}}function n3(...e){let t=0,n,s=!0,o=$s,i,r,a,c,u;!Ye(e[0])&&typeof e[0]=="object"?{delay:r,trailing:a=!0,leading:c=!0,rejectOnCancel:u=!1}=e[0]:[r,a=!0,c=!0,u=!1]=e;const f=()=>{n&&(clearTimeout(n),n=void 0,o(),o=$s)};return h=>{const p=Se(r),g=Date.now()-t,v=()=>i=h();return f(),p<=0?(t=Date.now(),v()):(g>p?(t=Date.now(),(c||!s)&&v()):a&&(i=new Promise((k,b)=>{o=u?b:k,n=setTimeout(()=>{t=Date.now(),s=!0,k(v()),f()},Math.max(0,p-g))})),!c&&!n&&(n=setTimeout(()=>s=!0,p)),s=!1,i)}}function s3(e=nh,t={}){const{initialState:n="active"}=t,s=Nc(n==="active");function o(){s.value=!1}function i(){s.value=!0}const r=(...a)=>{s.value&&e(...a)};return{isActive:It(s),pause:o,resume:i,eventFilter:r}}function If(e){return e.endsWith("rem")?Number.parseFloat(e)*16:Number.parseFloat(e)}function ur(e){return Array.isArray(e)?e:[e]}function oh(e){return dt()}function o3(e,t=200,n={}){return Vc(sh(t,n),e)}function i3(e,t=200,n=!1,s=!0,o=!1){return Vc(n3(t,n,s,o),e)}function ih(e,t,n={}){const{eventFilter:s=nh,...o}=n;return te(e,Vc(s,t),o)}function r3(e,t,n={}){const{eventFilter:s,initialState:o="active",...i}=n,{eventFilter:r,pause:a,resume:c,isActive:u}=s3(s,{initialState:o});return{stop:ih(e,t,{...i,eventFilter:r}),pause:a,resume:c,isActive:u}}const a3=r3;function ya(e,t=!0,n){oh()?be(e,n):t?e():Oe(e)}function l3(e,t){oh()&&cn(e,t)}function c3(e,t,n={}){const{debounce:s=0,maxWait:o=void 0,...i}=n;return ih(e,t,{...i,eventFilter:sh(s,{maxWait:o})})}const jA=c3;function u3(e,t,n){return te(e,t,{...n,immediate:!0})}function UA(e,t,n){var s;let o;Ye(n)?o={evaluating:n}:o=n||{};const{lazy:i=!1,flush:r="sync",evaluating:a=void 0,shallow:c=!0,onError:u=(s=globalThis.reportError)!==null&&s!==void 0?s:$s}=o,f=ze(!i),d=c?ze(t):j(t);let h=0;return zn(async p=>{if(!f.value)return;h++;const g=h;let v=!1;a&&Promise.resolve().then(()=>{a.value=!0});try{const k=await e(b=>{p(()=>{a&&(a.value=!1),v||b()})});g===h&&(d.value=k)}catch(k){u(k)}finally{a&&g===h&&(a.value=!1),v=!0}},{flush:r}),i?F(()=>(f.value=!0,d.value)):d}const Rt=th?window:void 0;function ba(e){var t;const n=Se(e);return(t=n?.$el)!==null&&t!==void 0?t:n}function Hn(...e){const t=[],n=()=>{t.forEach(a=>a()),t.length=0},s=(a,c,u,f)=>(a.addEventListener(c,u,f),()=>a.removeEventListener(c,u,f)),o=F(()=>{const a=ur(Se(e[0])).filter(c=>c!=null);return a.every(c=>typeof c!="string")?a:void 0}),i=u3(()=>{var a,c;return[(a=(c=o.value)===null||c===void 0?void 0:c.map(u=>ba(u)))!==null&&a!==void 0?a:[Rt].filter(u=>u!=null),ur(Se(o.value?e[1]:e[0])),ur(l(o.value?e[2]:e[1])),Se(o.value?e[3]:e[2])]},([a,c,u,f])=>{if(n(),!a?.length||!c?.length||!u?.length)return;const d=e3(f)?{...f}:f;t.push(...a.flatMap(h=>c.flatMap(p=>u.map(g=>s(h,p,g,d)))))},{flush:"post"}),r=()=>{i(),n()};return Bc(n),r}function f3(){const e=ze(!1),t=dt();return t&&be(()=>{e.value=!0},t),e}function Oc(e){const t=f3();return F(()=>(t.value,!!e()))}function d3(e,t,n={}){const{window:s=Rt,...o}=n;let i;const r=Oc(()=>s&&"MutationObserver"in s),a=()=>{i&&(i.disconnect(),i=void 0)},c=te(F(()=>{const d=ur(Se(e)).map(ba).filter(Qv);return new Set(d)}),d=>{a(),r.value&&d.size&&(i=new MutationObserver(t),d.forEach(h=>i.observe(h,o)))},{immediate:!0,flush:"post"}),u=()=>i?.takeRecords(),f=()=>{c(),a()};return Bc(f),{isSupported:r,stop:f,takeRecords:u}}function h3(e){return typeof e=="function"?e:typeof e=="string"?t=>t.key===e:Array.isArray(e)?t=>e.includes(t.key):()=>!0}function _l(...e){let t,n,s={};e.length===3?(t=e[0],n=e[1],s=e[2]):e.length===2?typeof e[1]=="object"?(t=!0,n=e[0],s=e[1]):(t=e[0],n=e[1]):(t=!0,n=e[0]);const{target:o=Rt,eventName:i="keydown",passive:r=!1,dedupe:a=!1}=s,c=h3(t);return Hn(o,i,f=>{f.repeat&&Se(a)||c(f)&&n(f)},r)}const p3=Symbol("vueuse-ssr-width");function m3(){const e=Ac()?Xv(p3,null):null;return typeof e=="number"?e:void 0}function Nr(e,t={}){const{window:n=Rt,ssrWidth:s=m3()}=t,o=Oc(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function"),i=ze(typeof s=="number"),r=ze(),a=ze(!1),c=u=>{a.value=u.matches};return zn(()=>{if(i.value){i.value=!o.value,a.value=Se(e).split(",").some(u=>{const f=u.includes("not all"),d=u.match(/\(\s*min-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/),h=u.match(/\(\s*max-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/);let p=!!(d||h);return d&&p&&(p=s>=If(d[1])),h&&p&&(p=s<=If(h[1])),f?!p:p});return}o.value&&(r.value=n.matchMedia(Se(e)),a.value=r.value.matches)}),Hn(r,"change",c,{passive:!0}),F(()=>a.value)}const qi=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},Ki="__vueuse_ssr_handlers__",g3=v3();function v3(){return Ki in qi||(qi[Ki]=qi[Ki]||{}),qi[Ki]}function rh(e,t){return g3[e]||t}function ah(e){return Nr("(prefers-color-scheme: dark)",e)}function y3(e){return e==null?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":typeof e=="boolean"?"boolean":typeof e=="string"?"string":typeof e=="object"?"object":Number.isNaN(e)?"any":"number"}const b3={boolean:{read:e=>e==="true",write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}},Pf="vueuse-storage";function Dc(e,t,n,s={}){var o;const{flush:i="pre",deep:r=!0,listenToStorageChanges:a=!0,writeDefaults:c=!0,mergeDefaults:u=!1,shallow:f,window:d=Rt,eventFilter:h,onError:p=q=>{console.error(q)},initOnMounted:g}=s,v=(f?ze:j)(typeof t=="function"?t():t),k=F(()=>Se(e));if(!n)try{n=rh("getDefaultStorage",()=>Rt?.localStorage)()}catch(q){p(q)}if(!n)return v;const b=Se(t),w=y3(b),y=(o=s.serializer)!==null&&o!==void 0?o:b3[w],{pause:_,resume:x}=a3(v,q=>P(q),{flush:i,deep:r,eventFilter:h});te(k,()=>$(),{flush:i});let L=!1;const V=q=>{g&&!L||$(q)},E=q=>{g&&!L||U(q)};d&&a&&(n instanceof Storage?Hn(d,"storage",V,{passive:!0}):Hn(d,Pf,E)),g?ya(()=>{L=!0,$()}):$();function I(q,J){if(d){const G={key:k.value,oldValue:q,newValue:J,storageArea:n};d.dispatchEvent(n instanceof Storage?new StorageEvent("storage",G):new CustomEvent(Pf,{detail:G}))}}function P(q){try{const J=n.getItem(k.value);if(q==null)I(J,null),n.removeItem(k.value);else{const G=y.write(q);J!==G&&(n.setItem(k.value,G),I(J,G))}}catch(J){p(J)}}function N(q){const J=q?q.newValue:n.getItem(k.value);if(J==null)return c&&b!=null&&n.setItem(k.value,y.write(b)),b;if(!q&&u){const G=y.read(J);return typeof u=="function"?u(G,b):w==="object"&&!Array.isArray(G)?{...b,...G}:G}else return typeof J!="string"?J:y.read(J)}function $(q){if(!(q&&q.storageArea!==n)){if(q&&q.key==null){v.value=b;return}if(!(q&&q.key!==k.value)){_();try{const J=y.write(v.value);(q===void 0||q?.newValue!==J)&&(v.value=N(q))}catch(J){p(J)}finally{q?Oe(x):x()}}}}function U(q){$(q.detail)}return v}const k3="*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}";function w3(e={}){const{selector:t="html",attribute:n="class",initialValue:s="auto",window:o=Rt,storage:i,storageKey:r="vueuse-color-scheme",listenToStorageChanges:a=!0,storageRef:c,emitAuto:u,disableTransition:f=!0}=e,d={auto:"",light:"light",dark:"dark",...e.modes||{}},h=ah({window:o}),p=F(()=>h.value?"dark":"light"),g=c||(r==null?Nc(s):Dc(r,s,i,{window:o,listenToStorageChanges:a})),v=F(()=>g.value==="auto"?p.value:g.value),k=rh("updateHTMLAttrs",(_,x,L)=>{const V=typeof _=="string"?o?.document.querySelector(_):ba(_);if(!V)return;const E=new Set,I=new Set;let P=null;if(x==="class"){const $=L.split(/\s/g);Object.values(d).flatMap(U=>(U||"").split(/\s/g)).filter(Boolean).forEach(U=>{$.includes(U)?E.add(U):I.add(U)})}else P={key:x,value:L};if(E.size===0&&I.size===0&&P===null)return;let N;f&&(N=o.document.createElement("style"),N.appendChild(document.createTextNode(k3)),o.document.head.appendChild(N));for(const $ of E)V.classList.add($);for(const $ of I)V.classList.remove($);P&&V.setAttribute(P.key,P.value),f&&(o.getComputedStyle(N).opacity,document.head.removeChild(N))});function b(_){var x;k(t,n,(x=d[_])!==null&&x!==void 0?x:_)}function w(_){e.onChanged?e.onChanged(_,b):b(_)}te(v,w,{flush:"post",immediate:!0}),ya(()=>w(v.value));const y=F({get(){return u?g.value:v.value},set(_){g.value=_}});return Object.assign(y,{store:g,system:p,state:v})}function C3(e={}){const{valueDark:t="dark",valueLight:n=""}=e,s=w3({...e,onChanged:(i,r)=>{var a;e.onChanged?(a=e.onChanged)===null||a===void 0||a.call(e,i==="dark",r,i):r(i)},modes:{dark:t,light:n}}),o=F(()=>s.system.value);return F({get(){return s.value==="dark"},set(i){const r=i?"dark":"light";o.value===r?s.value="auto":s.value=r}})}function Ua(e){return typeof Window<"u"&&e instanceof Window?e.document.documentElement:typeof Document<"u"&&e instanceof Document?e.documentElement:e}const Mf=1;function _3(e,t={}){const{throttle:n=0,idle:s=200,onStop:o=$s,onScroll:i=$s,offset:r={left:0,right:0,top:0,bottom:0},observe:a={mutation:!1},eventListenerOptions:c={capture:!1,passive:!0},behavior:u="auto",window:f=Rt,onError:d=I=>{console.error(I)}}=t,h=typeof a=="boolean"?{mutation:a}:a,p=ze(0),g=ze(0),v=F({get(){return p.value},set(I){b(I,void 0)}}),k=F({get(){return g.value},set(I){b(void 0,I)}});function b(I,P){var N,$,U,q;if(!f)return;const J=Se(e);if(!J)return;(N=J instanceof Document?f.document.body:J)===null||N===void 0||N.scrollTo({top:($=Se(P))!==null&&$!==void 0?$:k.value,left:(U=Se(I))!==null&&U!==void 0?U:v.value,behavior:Se(u)});const G=(J==null||(q=J.document)===null||q===void 0?void 0:q.documentElement)||J?.documentElement||J;v!=null&&(p.value=G.scrollLeft),k!=null&&(g.value=G.scrollTop)}const w=ze(!1),y=Dn({left:!0,right:!1,top:!0,bottom:!1}),_=Dn({left:!1,right:!1,top:!1,bottom:!1}),x=I=>{w.value&&(w.value=!1,_.left=!1,_.right=!1,_.top=!1,_.bottom=!1,o(I))},L=o3(x,n+s),V=I=>{var P;if(!f)return;const N=(I==null||(P=I.document)===null||P===void 0?void 0:P.documentElement)||I?.documentElement||ba(I),{display:$,flexDirection:U,direction:q}=getComputedStyle(N),J=q==="rtl"?-1:1,G=N.scrollLeft;_.left=Gp.value;const ae=Math.abs(G*J)<=(r.left||0),ne=Math.abs(G*J)+N.clientWidth>=N.scrollWidth-(r.right||0)-Mf;$==="flex"&&U==="row-reverse"?(y.left=ne,y.right=ae):(y.left=ae,y.right=ne),p.value=G;let he=N.scrollTop;I===f.document&&!he&&(he=f.document.body.scrollTop),_.top=heg.value;const st=Math.abs(he)<=(r.top||0),je=Math.abs(he)+N.clientHeight>=N.scrollHeight-(r.bottom||0)-Mf;$==="flex"&&U==="column-reverse"?(y.top=je,y.bottom=st):(y.top=st,y.bottom=je),g.value=he},E=I=>{var P;f&&(V((P=I.target.documentElement)!==null&&P!==void 0?P:I.target),w.value=!0,L(I),i(I))};return Hn(e,"scroll",n?i3(E,n,!0,!1):E,c),ya(()=>{try{const I=Se(e);if(!I)return;V(I)}catch(I){d(I)}}),h?.mutation&&e!=null&&e!==f&&e!==document&&d3(e,()=>{const I=Se(e);I&&V(I)},{attributes:!0,childList:!0,subtree:!0}),Hn(e,"scrollend",x,c),{x:v,y:k,isScrolling:w,arrivedState:y,directions:_,measure(){const I=Se(e);f&&I&&V(I)}}}function WA(e,t,n={}){const{window:s=Rt}=n;return Dc(e,t,s?.localStorage,n)}function S3(e={}){const{window:t=Rt}=e,n=t?.navigator,s=Oc(()=>n&&"language"in n),o=ze(n?.language);return Hn(t,"languagechange",()=>{n&&(o.value=n.language)},{passive:!0}),{isSupported:s,language:o}}function lh(e){const t=window.getComputedStyle(e);if(t.overflowX==="scroll"||t.overflowY==="scroll"||t.overflowX==="auto"&&e.clientWidth1?!0:(t.preventDefault&&t.preventDefault(),!1)}const Wa=new WeakMap;function ch(e,t=!1){const n=ze(t);let s=null,o="";te(Nc(e),a=>{const c=Ua(Se(a));if(c){const u=c;if(Wa.get(u)||Wa.set(u,u.style.overflow),u.style.overflow!=="hidden"&&(o=u.style.overflow),u.style.overflow==="hidden")return n.value=!0;if(n.value)return u.style.overflow="hidden"}},{immediate:!0});const i=()=>{const a=Ua(Se(e));!a||n.value||(Lf&&(s=Hn(a,"touchmove",c=>{T3(c)},{passive:!1})),a.style.overflow="hidden",n.value=!0)},r=()=>{const a=Ua(Se(e));!a||!n.value||(Lf&&s?.(),a.style.overflow=o,Wa.delete(a),n.value=!1)};return Bc(r),F({get(){return n.value},set(a){a?i():r()}})}function qA(e,t,n={}){const{window:s=Rt}=n;return Dc(e,t,s?.sessionStorage,n)}function uh(e={}){const{window:t=Rt,...n}=e;return _3(t,n)}function E3(e={}){const{window:t=Rt,initialWidth:n=Number.POSITIVE_INFINITY,initialHeight:s=Number.POSITIVE_INFINITY,listenOrientation:o=!0,includeScrollbar:i=!0,type:r="inner"}=e,a=ze(n),c=ze(s),u=()=>{if(t)if(r==="outer")a.value=t.outerWidth,c.value=t.outerHeight;else if(r==="visual"&&t.visualViewport){const{width:d,height:h,scale:p}=t.visualViewport;a.value=Math.round(d*p),c.value=Math.round(h*p)}else i?(a.value=t.innerWidth,c.value=t.innerHeight):(a.value=t.document.documentElement.clientWidth,c.value=t.document.documentElement.clientHeight)};u(),ya(u);const f={passive:!0};return Hn("resize",u,f),t&&r==="visual"&&t.visualViewport&&Hn(t.visualViewport,"resize",u,f),o&&te(Nr("(orientation: portrait)"),()=>u()),{width:a,height:c}}const x3={};var A3={};const ka=/^(?:[a-z]+:|\/\/)/i,$3="vitepress-theme-appearance",fh=Symbol("stack-view:unpack"),L3=/#.*$/,I3=/[?#].*$/,P3=/(?:(^|\/)index)?\.(?:md|html)$/,wt=typeof document<"u",dh={relativePath:"404.md",filePath:"",title:"404",description:"Not Found",headers:[],frontmatter:{sidebar:!1,layout:"page"},lastUpdated:0,isNotFound:!0};function Ls(e,t,n=!1){if(t===void 0)return!1;if(e=Ff(`/${e}`),n)return new RegExp(t).test(e);if(Ff(t)!==e)return!1;const s=t.match(L3);return s?(wt?location.hash:"")===s[0]:!0}function Ff(e){return decodeURI(e).replace(I3,"").replace(P3,"$1")}function hh(e){return ka.test(e)}function M3(e,t){return Object.keys(e?.locales||{}).find(n=>n!=="root"&&!hh(n)&&Ls(t,`^/${n}/`,!0))||"root"}function F3(e,t){const n=M3(e,t),{label:s,link:o,...i}=e.locales[n]??{};Object.assign(i,{localeIndex:n});const r=R3(e,t),a={head:V3(e.head??[],i.head??[],...r.map(c=>c.head??[]).reverse())};return Rc(a,...r,i,e)}function B3(e,t){const n=t.title||e.title,s=t.titleTemplate??e.titleTemplate;if(typeof s=="string"&&s.includes(":title"))return s.replace(/:title/g,n);const o=N3(e.title,s);return n===o.slice(3)?n:`${n}${o}`}function N3(e,t){return t===!1?"":t===!0||t===void 0?` | ${e}`:e===t?"":` | ${t}`}function V3(...e){const t=[],n=new Map;for(const s of e)for(const o of s){const[i,r]=o,a=Object.entries(r)[0];if(i!=="meta"||!a){t.push(o);continue}const c=`${a[0]}=${a[1]}`,u=n.get(c);u!=null?t[u]=o:(n.set(c,t.length),t.push(o))}return t}const O3=/[\u0000-\u001F"#$&*+,:;<=>?[\]^`{|}\u007F]/g,D3=/^[a-z]:/i;function Bf(e){const t=D3.exec(e),n=t?t[0]:"";return n+e.slice(n.length).replace(O3,"_").replace(/(^|\/)_+(?=[^/]*$)/,"$1")}const qa=new Set;function ph(e){if(qa.size===0){const n=typeof process=="object"&&A3?.VITE_EXTRA_EXTENSIONS||x3?.VITE_EXTRA_EXTENSIONS||"";("3g2,3gp,aac,ai,apng,au,avif,bin,bmp,cer,class,conf,crl,css,csv,dll,doc,eps,epub,exe,gif,gz,ics,ief,jar,jpe,jpeg,jpg,js,json,jsonld,m4a,man,mid,midi,mjs,mov,mp2,mp3,mp4,mpe,mpeg,mpg,mpp,oga,ogg,ogv,ogx,opus,otf,p10,p7c,p7m,p7s,pdf,png,ps,qt,roff,rtf,rtx,ser,svg,t,tif,tiff,tr,ts,tsv,ttf,txt,vtt,wav,weba,webm,webp,woff,woff2,xhtml,xml,yaml,yml,zip"+(n&&typeof n=="string"?","+n:"")).split(",").forEach(s=>qa.add(s))}const t=e.split(".").pop();return t==null||!qa.has(t.toLowerCase())}function KA(e){return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}function R3({additionalConfig:e},t){if(e===void 0)return[];if(typeof e=="function")return e(t)??[];const n=[],s=t.split("/").slice(0,-1);for(;s.length;){const o=`/${s.join("/")}/`;n.push(e[o]),s.pop()}return n.push(e["/"]),n.filter(o=>o!==void 0)}function Rc(...e){const t=e.filter(o=>H3(o));if(t.length<=1)return e[0];const n=new Set(t.flatMap(o=>Reflect.ownKeys(o))),s=[...n];return new Proxy({},{get(o,i){return i===fh?t:Rc(...t.map(r=>r[i]).filter(r=>r!==void 0))},set(){throw new Error("StackView is read-only and cannot be mutated.")},has(o,i){return n.has(i)},ownKeys(){return s},getOwnPropertyDescriptor(o,i){for(const r of t){const a=Object.getOwnPropertyDescriptor(r,i);if(a)return a}}})}Rc.unpack=function(e){return e?.[fh]};function H3(e){return Object.prototype.toString.call(e)==="[object Object]"}const z3=["shellscript","shell","bash","sh","zsh"];function YA(e){return z3.includes(e)}const j3=Symbol(),ks=ze(It(Jv));function GA(e){const t=F(()=>F3(ks.value,e.data.relativePath)),n=t.value.appearance,s=n==="force-dark"?j(!0):n==="force-auto"?ah():n?C3({storageKey:$3,initialValue:()=>n==="dark"?"dark":"auto",...typeof n=="object"?n:{}}):j(!1),o=j(wt?location.hash:"");return wt&&window.addEventListener("hashchange",()=>{o.value=location.hash}),te(()=>e.data,()=>{o.value=wt?location.hash:""}),{site:t,theme:F(()=>t.value.themeConfig),page:F(()=>e.data),frontmatter:F(()=>e.data.frontmatter),params:F(()=>e.data.params),lang:F(()=>t.value.lang),dir:F(()=>e.data.frontmatter.dir||t.value.dir),localeIndex:F(()=>t.value.localeIndex||"root"),title:F(()=>B3(t.value,e.data)),description:F(()=>e.data.description||t.value.description),isDark:s,hash:F(()=>o.value)}}function Ae(){const e=qe(j3);if(!e)throw new Error("vitepress data not properly injected in app");return e}function U3(e,t){return`${e}${t}`.replace(/\/+/g,"/")}function Ee(e){return ka.test(e)||!e.startsWith("/")?e:U3(ks.value.base,e)}function JA(e){let t=e.replace(/\.html$/,"");if(t=decodeURIComponent(t),t=t.replace(/\/$/,"/index"),wt){t=Bf(t.slice(1).replace(/\//g,"_")||"index")+".md";let s=__VP_HASH_MAP__[t.toLowerCase()];if(s||(t=t.endsWith("_index.md")?t.slice(0,-9)+".md":t.slice(0,-3)+"_index.md",s=__VP_HASH_MAP__[t.toLowerCase()]),!s)return null;t=`/assets/${t}.${s}.js`}else t=`./${Bf(t.slice(1).replace(/\//g,"_"))}.md.js`;return t}let fr=[];function Ai(e){fr.push(e),l3(()=>{fr=fr.filter(t=>t!==e)})}function Hc(){let e=ks.value.scrollOffset,t=0,n=24;if(typeof e=="object"&&"padding"in e&&(n=e.padding,e=e.selector),typeof e=="number")t=e;else if(typeof e=="string")t=Nf(e,n);else if(Array.isArray(e))for(const s of e){const o=Nf(s,n);if(o){t=o;break}}return t}function Nf(e,t){const n=document.querySelector(e);if(!n)return 0;const s=n.getBoundingClientRect().bottom;return s<0?0:s+t}const W3=Symbol(),mh="http://a.com",q3=()=>({path:"/",hash:"",query:"",component:null,data:dh});function XA(e,t){const n=Dn(q3()),s={route:n,async go(a,c){a=Tl(a),await s.onBeforeRouteChange?.(a)!==!1&&((!wt||await K3(a,c))&&await i(a),r(),await s.onAfterRouteChange?.(a))}};let o=null;async function i(a,c=0,u=!1){if(await s.onBeforePageLoad?.(a)===!1)return;const f=new URL(a,mh),d=o=f.pathname;try{let h=await e(d);if(!h)throw new Error(`Page not found: ${d}`);if(o===d){o=null;const{default:p,__pageData:g}=h;if(!p)throw new Error(`Invalid route component: ${p}`);await s.onAfterPageLoad?.(a),n.path=wt?d:Ee(d),n.component=go(p),n.data=go(g),r(f),wt&&Oe(()=>{let v=ks.value.base+g.relativePath.replace(/(?:(^|\/)index)?\.md$/,"$1");return!ks.value.cleanUrls&&!v.endsWith("/")&&(v+=".html"),v!==f.pathname&&(f.pathname=v,a=v+f.search+f.hash,history.replaceState({},"",a)),Sl(f.hash,!1,c)})}}catch(h){if(!/fetch|Page not found/.test(h.message)&&!/^\/404(\.html|\/)?$/.test(a)&&console.error(h),!u)try{const p=await fetch(ks.value.base+"hashmap.json");window.__VP_HASH_MAP__=await p.json(),await i(a,c,!0);return}catch{}if(o===d){o=null,n.path=wt?d:Ee(d),n.component=t?go(t):null;const p=wt?n.path.replace(/(^|\/)$/,"$1index").replace(/(\.html)?$/,".md").slice(ks.value.base.length):"404.md";n.data={...dh,relativePath:p},r(f)}}}function r(a=wt?location:{search:"",hash:""}){n.query=a.search,n.hash=decodeURIComponent(a.hash)}return wt&&(history.state===null&&history.replaceState({},""),window.addEventListener("click",a=>{if(a.defaultPrevented||!(a.target instanceof Element)||a.target.closest("button")||a.button!==0||a.ctrlKey||a.shiftKey||a.altKey||a.metaKey)return;const c=a.target.closest("a");if(!c||c.closest(".vp-raw")||c.hasAttribute("download")||c.hasAttribute("target"))return;const u=c.getAttribute("href")??(c instanceof SVGAElement?c.getAttribute("xlink:href"):null);if(u==null)return;const{href:f,origin:d,pathname:h}=new URL(u,c.baseURI),p=new URL(location.href);d===p.origin&&ph(h)&&(a.preventDefault(),s.go(f,{smoothScroll:c.classList.contains("header-anchor")}))},{capture:!0}),window.addEventListener("popstate",async a=>{if(a.state===null)return;const c=Tl(location.href);await i(c,a.state&&a.state.scrollPosition||0),r(),await s.onAfterRouteChange?.(c)}),window.addEventListener("hashchange",a=>{a.preventDefault(),r()})),s}function jn(){const e=qe(W3);if(!e)throw new Error("useRouter() is called without provider.");return e}function kn(){return jn().route}function Sl(e,t=!1,n=0){if(!e||n){window.scrollTo(0,n);return}let s=null;try{s=document.getElementById(decodeURIComponent(e).slice(1))}catch(a){console.warn(a)}if(!s)return;const o=window.scrollY+s.getBoundingClientRect().top-Hc()+Number.parseInt(window.getComputedStyle(s).paddingTop,10)||0,i=window.matchMedia("(prefers-reduced-motion)").matches?"instant":t&&Math.abs(o-window.scrollY)<=window.innerHeight?"smooth":"auto";requestAnimationFrame(()=>{if(window.scrollTo({left:0,top:o,behavior:i}),s.focus({preventScroll:!0}),document.activeElement===s||s.hasAttribute("tabindex"))return;const a=()=>{s.removeAttribute("tabindex"),s.removeEventListener("blur",a)};s.setAttribute("tabindex","-1"),s.addEventListener("blur",a),s.focus({preventScroll:!0}),document.activeElement!==s&&a()})}function Tl(e){const t=new URL(e,mh);return t.pathname=t.pathname.replace(/(^|\/)index(\.html)?$/,"$1"),ks.value.cleanUrls?t.pathname=t.pathname.replace(/\.html$/,""):!t.pathname.endsWith("/")&&!t.pathname.endsWith(".html")&&(t.pathname+=".html"),t.pathname+t.search+t.hash}async function K3(e,{smoothScroll:t=!1,initialLoad:n=!1,replace:s=!1}={}){const o=Tl(location.href),i=new URL(e,location.origin),r=new URL(o,location.origin);if(e===o){if(!n)return Sl(i.hash,t),!1}else if(s?history.replaceState({},"",e):(history.replaceState({scrollPosition:window.scrollY},""),history.pushState({},"",e)),i.pathname===r.pathname)return i.hash!==r.hash&&(window.dispatchEvent(new HashChangeEvent("hashchange",{oldURL:r.href,newURL:i.href})),Sl(i.hash,t)),!1;return!0}const Yi=()=>fr.forEach(e=>e()),QA=z({name:"VitePressContent",props:{as:{type:[Object,String],default:"div"}},setup(e){const t=kn(),{frontmatter:n,site:s}=Ae();return te(n,Yi,{deep:!0,flush:"post"}),()=>nn(e.as,s.value.contentProps??{style:{position:"relative"}},[t.component?nn(t.component,{onVnodeMounted:Yi,onVnodeUpdated:Yi,onVnodeUnmounted:Yi}):"404 Page Not Found"])}});function gh(e=!0){const t="http://a.com",n=jn(),{site:s,theme:o,localeIndex:i}=Ae(),{base:r,cleanUrls:a}=s.value,{permalinks:c={}}=o.value,u=Object.keys(c),f=async p=>{if(!u.length)return;const{pathname:g,search:v,hash:k}=new URL(p,t),b=decodeURIComponent(g.slice(r.length)),w=c.map[b.replace(/\.html/,"")];if(w==="/"+b)return;if(w)return Oe(async()=>{const _=r.replace(/\/$/,"")+w+v+k;history.replaceState(history.state||null,"",_),await n.onAfterUrlLoad?.(_)});const y=d(g);if(y){const _=r+y+v+k;history.replaceState(history.state||null,"",_),await n.go(_)}else await n.onAfterUrlLoad?.(p)};e&&Mo(async()=>{n.state.permalinkPlugin||(n.state={...n.state,permalinkPlugin:!0}),await f(window.location.href)});const d=p=>{const g="/"+decodeURIComponent(p.slice(r.length)).replace(/\/$/,"").replace(/\.html/,""),v=i.value,k=a?g:g+".html";let b="";return v!=="root"&&!k.startsWith(`/${v}/`)?b=c.inv[`/${v}${k}`]:b=c.inv[k],`/${b}`===g?"":b};return{startWatch:()=>{if(!u.length||(n.state||{}).permalinkPlugin)return;const g=n.onBeforeRouteChange;n.onBeforeRouteChange=async k=>{if(await g?.(k)===!1)return!1;if(k===r)return;const{pathname:w,search:y,hash:_}=new URL(k,t),x=d(w);if(x){const L=r+x+y+_;return await n.go(L),!1}};const v=n.onAfterRouteChange;n.onAfterRouteChange=async k=>{await f(k),await v?.(k)},n.state={...n.state,permalinkPlugin:!0}},teyGetFilePathByPermalink:d}}const xe=Ae;function Y3(e,t){let n,s=!1;return()=>{n&&clearTimeout(n),s?n=setTimeout(e,t):(e(),(s=!0)&&setTimeout(()=>s=!1,t))}}function El(e){return e.startsWith("/")?e:`/${e}`}function zc(e){const{pathname:t,search:n,hash:s,protocol:o}=new URL(e,"http://a.com");if(hh(e)||e.startsWith("#")||!o.startsWith("http")||!ph(t))return e;const{site:i}=xe(),r=t.endsWith("/")||t.endsWith(".html")?e:e.replace(/(?:(^\.+)\/)?.*$/,`$1${t.replace(/(\.md)?$/,i.value.cleanUrls?"":".html")}${n}${s}`);return Ee(r)}function $i({correspondingLink:e=!1}={}){const{site:t,localeIndex:n,page:s,theme:o,hash:i}=xe(),r=F(()=>({label:t.value.locales[n.value]?.label,link:t.value.locales[n.value]?.link||(n.value==="root"?"/":`/${n.value}/`)}));return{localeLinks:F(()=>Object.entries(t.value.locales).flatMap(([c,u])=>r.value.label===u.label?[]:{text:u.label,link:G3(u.link||(c==="root"?"/":`/${c}/`),o.value.i18nRouting!==!1&&e,s.value.relativePath.slice(r.value.link.length-1),!t.value.cleanUrls)+i.value,lang:u.lang,dir:u.dir})),currentLang:r}}function G3(e,t,n,s){return t?e.replace(/\/$/,"")+El(n.replace(/(^|\/)index\.md$/,"$1").replace(/\.md$/,s?".html":"")):e}const J3={class:"NotFound"},X3={class:"code"},Q3={class:"title"},Z3={class:"quote"},e4={class:"action"},t4=["href","aria-label"],n4=z({__name:"NotFound",setup(e){const{theme:t}=xe(),{currentLang:n}=$i();return(s,o)=>(m(),C("div",J3,[S("p",X3,W(l(t).notFound?.code??"404"),1),S("h1",Q3,W(l(t).notFound?.title??"PAGE NOT FOUND"),1),o[0]||(o[0]=S("div",{class:"divider"},null,-1)),S("blockquote",Z3,W(l(t).notFound?.quote??"But if you don't change your direction, and if you keep looking, you may end up where you are heading."),1),S("div",e4,[S("a",{class:"link",href:l(Ee)(l(t).notFound?.link??l(n).link),"aria-label":l(t).notFound?.linkLabel??"go to home"},W(l(t).notFound?.linkText??"Take me home"),9,t4)])]))}}),ke=(e,t)=>{const n=e.__vccOpts||e;for(const[s,o]of t)n[s]=o;return n},vh=ke(n4,[["__scopeId","data-v-1b32e0f1"]]),s4=z({__name:"NotFoundDelay",setup(e){const t=jn(),{site:n,theme:s}=Ae(),{teyGetFilePathByPermalink:o}=gh(!1),i=j(!0),r=()=>{i.value=!1};return Mo(async()=>{const{permalinks:a}=s.value;if(!a&&!Object.keys(a||{}).length)return r();const{search:c,hash:u}=new URL(window.location.href),f=o(t.route.path);if(f){const d=n.value.base+f+c+u;history.replaceState(history.state||null,"",d),await t.go(d),setTimeout(r,3e3)}else r()}),(a,c)=>i.value?A("",!0):M(a.$slots,"not-found",{key:0},()=>[H(vh)])}}),o4={key:0,class:"VPBackdrop"},i4=z({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(e){return(t,n)=>(m(),D(vt,{name:"fade"},{default:O(()=>[e.show?(m(),C("div",o4)):A("",!0)]),_:1}))}}),r4=ke(i4,[["__scopeId","data-v-f703a812"]]);function yh(e,t){if(Array.isArray(e))return dr(e);if(e==null)return[];t=El(t);const n=Object.keys(e).sort((o,i)=>i.split("/").length-o.split("/").length).find(o=>t.startsWith(El(o))),s=n?e[n]:[];return Array.isArray(s)?dr(s):dr(s.items,s.base)}function a4(e){const t=[];let n=0;for(const s in e){const o=e[s];if(o.items){n=t.push(o);continue}t[n]||t.push({items:[]}),t[n].items.push(o)}return t}function l4(e){const t=[];function n(s){for(const o of s)o.text&&o.link&&t.push({text:o.text,link:o.link,docFooterText:o.docFooterText}),o.items&&n(o.items)}return n(e),t}function xl(e,t){return Array.isArray(t)?t.some(n=>xl(e,n)):Ls(e,t.link)?!0:t.items?xl(e,t.items):!1}function dr(e,t){return[...e].map(n=>{const s={...n},o=s.base||t;return o&&s.link&&(s.link=o+s.link.replace(/^\//,o.endsWith("/")?"":"/")),s.items&&(s.items=dr(s.items,o)),s})}function c4(){const{hasSidebar:e}=cs(),t=Nr("(min-width: 960px)"),n=Nr("(min-width: 1280px)");return{isAsideEnabled:F(()=>!n.value&&!t.value?!1:e.value?n.value:t.value)}}const u4=/\b(?:VPBadge|header-anchor|footnote-ref|ignore-header)\b/,Al=[];function bh(e){return typeof e.outline=="object"&&!Array.isArray(e.outline)&&e.outline.label||e.outlineTitle||"On this page"}function f4(e){const t=[...document.querySelectorAll(".VPDoc h1, .VPDoc h2, .VPDoc h3, .VPDoc h4, .VPDoc h5, .VPDoc h6")].filter(n=>n.id&&n.hasChildNodes()).map(n=>{const s=Number(n.tagName[1]);return{element:n,title:d4(n),link:"#"+n.id,level:s}});return h4(t,e)}function d4(e){let t="";for(const n of e.childNodes)if(n.nodeType===1){if(u4.test(n.className))continue;t+=n.textContent}else n.nodeType===3&&(t+=n.textContent);return t.trim()}function h4(e,t){if(t===!1)return[];const n=(typeof t=="object"&&!Array.isArray(t)?t.level:t)||2,[s,o]=typeof n=="number"?[n,n]:n==="deep"?[2,6]:n;return g4(e,s,o)}function p4(e,t){const{isAsideEnabled:n}=c4(),s=Y3(i,100);let o=null;be(()=>{requestAnimationFrame(i),window.addEventListener("scroll",s)}),Fo(()=>{r(location.hash)}),cn(()=>{window.removeEventListener("scroll",s)});function i(){if(!n.value)return;const a=window.scrollY,c=window.innerHeight,u=document.body.offsetHeight,f=Math.abs(a+c-u)<1,d=Al.map(({element:p,link:g})=>({link:g,top:m4(p)})).filter(({top:p})=>!Number.isNaN(p)).sort((p,g)=>p.top-g.top);if(!d.length){r(null);return}if(a<1){r(null);return}if(f){r(d[d.length-1].link);return}let h=null;for(const{link:p,top:g}of d){if(g>a+Hc()+4)break;h=p}r(h)}function r(a){o&&o.classList.remove("active"),a==null?o=null:o=e.value.querySelector(`a[href="${decodeURIComponent(a)}"]`);const c=o;c?(c.classList.add("active"),t.value.style.top=c.offsetTop+39+"px",t.value.style.opacity="1"):(t.value.style.top="33px",t.value.style.opacity="0")}}function m4(e){let t=0;for(;e!==document.body;){if(e===null)return NaN;t+=e.offsetTop,e=e.offsetParent}return t}function g4(e,t,n){Al.length=0;const s=[],o=[];return e.forEach(i=>{const r={...i,children:[]};let a=o[o.length-1];for(;a&&a.level>=r.level;)o.pop(),a=o[o.length-1];if(r.element.classList.contains("ignore-header")||a&&"shouldIgnore"in a){o.push({level:r.level,shouldIgnore:!0});return}r.level>n||r.level{t=co.value?document.activeElement:void 0}),be(()=>{window.addEventListener("keyup",n)}),cn(()=>{window.removeEventListener("keyup",n)});function n(s){s.key==="Escape"&&co.value&&(e(),t?.focus())}}function y4(){function e(){co.value=!0}function t(){co.value=!1}function n(){co.value?t():e()}return{isOpen:co,open:e,close:t,toggle:n}}function b4(e){const{page:t,hash:n}=xe(),s=j(!1),o=F(()=>e.value.collapsed!=null),i=F(()=>!!e.value.link),r=j(!1),a=()=>{r.value=Ls(t.value.relativePath,e.value.link)};te([t,e,n],a),be(a);const c=F(()=>r.value?!0:e.value.items?xl(t.value.relativePath,e.value.items):!1),u=F(()=>!!(e.value.items&&e.value.items.length));zn(()=>{s.value=!!(o.value&&e.value.collapsed)}),da(()=>{(r.value||c.value)&&(s.value=!1)});function f(){o.value&&(s.value=!s.value)}return{collapsed:s,collapsible:o,isLink:i,isActiveLink:r,hasActiveLink:c,hasChildren:u,toggle:f}}const $l=ze([]),ei=ze([]),Ll=ze(!1);function cs(){const{frontmatter:e,theme:t}=xe(),n=F(()=>!!(e.value.isHome??e.value.layout==="home")),s=F(()=>e.value.sidebar!==!1&&ei.value.length>0&&!n.value),o=F(()=>s.value&&Ll.value),i=F(()=>s.value?a4(ei.value):[]),r=F(()=>n.value?!1:e.value.aside!=null?!!e.value.aside:t.value.aside!==!1),a=F(()=>r.value?e.value.aside==null?t.value.aside==="left":e.value.aside==="left":!1),c=F(()=>$l.value.length>0);return{isHome:n,sidebar:al(ei),sidebarGroups:i,hasSidebar:s,isSidebarEnabled:o,hasAside:r,leftAside:a,headers:al($l),hasLocalNav:c}}function k4({closeSidebar:e}){const{frontmatter:t,page:n,theme:s}=xe();te(()=>[n.value.relativePath,s.value.sidebar],([i,r])=>{const a=r?yh(r,i):[];JSON.stringify(a)!==JSON.stringify(ei.value)&&(ei.value=a)},{immediate:!0,deep:!0,flush:"sync"}),Ai(()=>{$l.value=f4(t.value.outline??s.value.outline)}),wt&&(Ll.value=window.innerWidth>=960,window.addEventListener("resize",()=>{Ll.value=window.innerWidth>=960},{passive:!0}));const o=kn();te(()=>o.path,e),v4(e)}const kh=Symbol("layout-info"),w4=["href","title"],C4=z({__name:"VPDocOutlineItem",props:{headers:{},root:{type:Boolean}},setup(e){return(t,n)=>{const s=un("VPDocOutlineItem",!0);return m(),C("ul",{class:T(["VPDocOutlineItem",e.root?"root":"nested"])},[(m(!0),C(Y,null,le(e.headers,({children:o,link:i,title:r})=>(m(),C("li",null,[S("a",{class:"outline-link",href:i,title:r},W(r),9,w4),o?.length?(m(),D(s,{key:0,headers:o},null,8,["headers"])):A("",!0)]))),256))],2)}}}),wh=ke(C4,[["__scopeId","data-v-d90f9aed"]]),_4={class:"content"},S4={"aria-level":"2",class:"outline-title",id:"doc-outline-aria-label",role:"heading"},T4=z({__name:"VPDocAsideOutline",setup(e){const{theme:t}=xe(),n=j(),s=j(),{headers:o,hasLocalNav:i}=cs();return p4(n,s),(r,a)=>(m(),C("nav",{"aria-labelledby":"doc-outline-aria-label",class:T(["VPDocAsideOutline",{"has-outline":l(i)}]),ref_key:"container",ref:n},[S("div",_4,[S("div",{class:"outline-marker",ref_key:"marker",ref:s},null,512),S("div",S4,W(l(bh)(l(t))),1),H(wh,{headers:l(o),root:!0},null,8,["headers"])])],2))}}),E4=ke(T4,[["__scopeId","data-v-3f819b94"]]),x4={class:"VPDocAsideCarbonAds"},A4=z({__name:"VPDocAsideCarbonAds",props:{carbonAds:{}},setup(e){const t=()=>null;return(n,s)=>(m(),C("div",x4,[H(l(t),{"carbon-ads":e.carbonAds},null,8,["carbon-ads"])]))}}),$4={class:"VPDocAside"},L4=z({__name:"VPDocAside",setup(e){const{theme:t}=xe();return(n,s)=>(m(),C("div",$4,[M(n.$slots,"aside-top",{},void 0,!0),M(n.$slots,"aside-outline-before",{},void 0,!0),H(E4),M(n.$slots,"aside-outline-after",{},void 0,!0),s[0]||(s[0]=S("div",{class:"spacer"},null,-1)),M(n.$slots,"aside-ads-before",{},void 0,!0),l(t).carbonAds?(m(),D(A4,{key:0,"carbon-ads":l(t).carbonAds},null,8,["carbon-ads"])):A("",!0),M(n.$slots,"aside-ads-after",{},void 0,!0),M(n.$slots,"aside-bottom",{},void 0,!0)]))}}),I4=ke(L4,[["__scopeId","data-v-77a1b21d"]]);function P4(){const{theme:e,page:t}=xe();return F(()=>{const{text:n="Edit this page",pattern:s=""}=e.value.editLink||{};let o;return typeof s=="function"?o=s(t.value):o=s.replace(/:path/g,t.value.filePath),{url:o,text:n}})}function M4(){const{page:e,theme:t,frontmatter:n}=xe();return F(()=>{const s=yh(t.value.sidebar,e.value.relativePath),o=l4(s),i=F4(o,u=>u.link.replace(/[?#].*$/,"")),r=i.findIndex(u=>Ls(e.value.relativePath,u.link)),a=t.value.docFooter?.prev===!1&&!n.value.prev||n.value.prev===!1,c=t.value.docFooter?.next===!1&&!n.value.next||n.value.next===!1;return{prev:a?void 0:{text:(typeof n.value.prev=="string"?n.value.prev:typeof n.value.prev=="object"?n.value.prev.text:void 0)??i[r-1]?.docFooterText??i[r-1]?.text,link:(typeof n.value.prev=="object"?n.value.prev.link:void 0)??i[r-1]?.link},next:c?void 0:{text:(typeof n.value.next=="string"?n.value.next:typeof n.value.next=="object"?n.value.next.text:void 0)??i[r+1]?.docFooterText??i[r+1]?.text,link:(typeof n.value.next=="object"?n.value.next.link:void 0)??i[r+1]?.link}}})}function F4(e,t){const n=new Set;return e.filter(s=>{const o=t(s);return n.has(o)?!1:n.add(o)})}const Vn=z({__name:"VPLink",props:{tag:{},href:{},noIcon:{type:Boolean},target:{},rel:{}},setup(e){const t=e,n=F(()=>t.tag??(t.href?"a":"span")),s=F(()=>t.href&&ka.test(t.href)||t.target==="_blank");return(o,i)=>(m(),D(Be(n.value),{class:T(["VPLink",{link:e.href,"vp-external-link-icon":s.value,"no-icon":e.noIcon}]),href:e.href?l(zc)(e.href):void 0,target:e.target??(s.value?"_blank":void 0),rel:e.rel??(s.value?"noreferrer":void 0)},{default:O(()=>[M(o.$slots,"default")]),_:3},8,["class","href","target","rel"]))}}),B4={class:"VPLastUpdated"},N4=["datetime"],V4=z({__name:"VPDocFooterLastUpdated",setup(e){const{theme:t,page:n,lang:s}=xe(),{language:o}=S3(),i=z1("timeRef"),r=F(()=>new Date(n.value.lastUpdated)),a=F(()=>r.value.toISOString()),c=ze("");return be(()=>{zn(()=>{const u=t.value.lastUpdated?.formatOptions?.forceLocale?s.value:o.value;c.value=new Intl.DateTimeFormat(u,t.value.lastUpdated?.formatOptions??{dateStyle:"medium",timeStyle:"medium"}).format(r.value),u&&s.value!==u?i.value?.setAttribute("lang",u):i.value?.removeAttribute("lang")})}),(u,f)=>(m(),C("p",B4,[rt(W(l(t).lastUpdated?.text||l(t).lastUpdatedText||"Last updated")+": ",1),S("time",{ref_key:"timeRef",ref:i,datetime:a.value},W(c.value),9,N4)]))}}),O4=ke(V4,[["__scopeId","data-v-8f712c9b"]]),D4={key:0,class:"VPDocFooter"},R4={key:0,class:"edit-info"},H4={key:0,class:"edit-link"},z4={key:1,class:"last-updated"},j4={key:1,class:"prev-next","aria-labelledby":"doc-footer-aria-label"},U4={class:"pager"},W4=["innerHTML"],q4=["innerHTML"],K4={class:"pager"},Y4=["innerHTML"],G4=["innerHTML"],J4=z({__name:"VPDocFooter",setup(e){const{theme:t,page:n,frontmatter:s}=xe(),o=P4(),i=M4(),r=F(()=>t.value.editLink&&s.value.editLink!==!1),a=F(()=>n.value.lastUpdated),c=F(()=>r.value||a.value||i.value.prev||i.value.next);return(u,f)=>c.value?(m(),C("footer",D4,[M(u.$slots,"doc-footer-before",{},void 0,!0),r.value||a.value?(m(),C("div",R4,[r.value?(m(),C("div",H4,[H(Vn,{class:"edit-link-button",href:l(o).url,"no-icon":!0},{default:O(()=>[f[0]||(f[0]=S("span",{class:"vpi-square-pen edit-link-icon"},null,-1)),rt(" "+W(l(o).text),1)]),_:1},8,["href"])])):A("",!0),a.value?(m(),C("div",z4,[H(O4)])):A("",!0)])):A("",!0),l(i).prev?.link||l(i).next?.link?(m(),C("nav",j4,[f[1]||(f[1]=S("span",{class:"visually-hidden",id:"doc-footer-aria-label"},"Pager",-1)),S("div",U4,[l(i).prev?.link?(m(),D(Vn,{key:0,class:"pager-link prev",href:l(i).prev.link},{default:O(()=>[S("span",{class:"desc",innerHTML:l(t).docFooter?.prev||"Previous page"},null,8,W4),S("span",{class:"title",innerHTML:l(i).prev.text},null,8,q4)]),_:1},8,["href"])):A("",!0)]),S("div",K4,[l(i).next?.link?(m(),D(Vn,{key:0,class:"pager-link next",href:l(i).next.link},{default:O(()=>[S("span",{class:"desc",innerHTML:l(t).docFooter?.next||"Next page"},null,8,Y4),S("span",{class:"title",innerHTML:l(i).next.text},null,8,G4)]),_:1},8,["href"])):A("",!0)])])):A("",!0)])):A("",!0)}}),X4=ke(J4,[["__scopeId","data-v-af105c74"]]),Q4={class:"container"},Z4={class:"aside-container"},e6={class:"aside-content"},t6={class:"content"},n6={class:"content-container"},s6={class:"main"},o6=z({__name:"VPDoc",setup(e){const{theme:t}=xe(),n=kn(),{hasSidebar:s,hasAside:o,leftAside:i}=cs(),r=F(()=>n.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(a,c)=>{const u=un("Content");return m(),C("div",{class:T(["VPDoc",{"has-sidebar":l(s),"has-aside":l(o)}])},[M(a.$slots,"doc-top",{},void 0,!0),S("div",Q4,[l(o)?(m(),C("div",{key:0,class:T(["aside",{"left-aside":l(i)}])},[c[0]||(c[0]=S("div",{class:"aside-curtain"},null,-1)),S("div",Z4,[S("div",e6,[H(I4,null,{"aside-top":O(()=>[M(a.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":O(()=>[M(a.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":O(()=>[M(a.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":O(()=>[M(a.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":O(()=>[M(a.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":O(()=>[M(a.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):A("",!0),S("div",t6,[S("div",n6,[M(a.$slots,"doc-before",{},void 0,!0),S("main",s6,[H(u,{class:T(["vp-doc",[r.value,l(t).externalLinkIcon&&"external-link-icon-enabled"]])},null,8,["class"])]),H(X4,null,{"doc-footer-before":O(()=>[M(a.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),M(a.$slots,"doc-after",{},void 0,!0)])])]),M(a.$slots,"doc-bottom",{},void 0,!0)],2)}}}),i6=ke(o6,[["__scopeId","data-v-256763c0"]]),r6=z({__name:"VPButton",props:{tag:{},size:{default:"medium"},theme:{default:"brand"},text:{},href:{},target:{},rel:{}},setup(e){const t=e,n=F(()=>t.href&&ka.test(t.href)),s=F(()=>t.tag||(t.href?"a":"button"));return(o,i)=>(m(),D(Be(s.value),{class:T(["VPButton",[e.size,e.theme]]),href:e.href?l(zc)(e.href):void 0,target:t.target??(n.value?"_blank":void 0),rel:t.rel??(n.value?"noreferrer":void 0)},{default:O(()=>[M(o.$slots,"default",{},()=>[rt(W(e.text),1)],!0)]),_:3},8,["class","href","target","rel"]))}}),a6=ke(r6,[["__scopeId","data-v-b44745dc"]]),l6=["src","alt"],c6=z({inheritAttrs:!1,__name:"VPImage",props:{image:{},alt:{}},setup(e){return(t,n)=>{const s=un("VPImage",!0);return e.image?(m(),C(Y,{key:0},[typeof e.image=="string"||"src"in e.image?(m(),C("img",nt({key:0,class:"VPImage"},typeof e.image=="string"?t.$attrs:{...e.image,...t.$attrs},{src:l(Ee)(typeof e.image=="string"?e.image:e.image.src),alt:e.alt??(typeof e.image=="string"?"":e.image.alt||"")}),null,16,l6)):(m(),C(Y,{key:1},[H(s,nt({class:"dark",image:e.image.dark,alt:e.image.alt},t.$attrs),null,16,["image","alt"]),H(s,nt({class:"light",image:e.image.light,alt:e.image.alt},t.$attrs),null,16,["image","alt"])],64))],64)):A("",!0)}}}),Vr=ke(c6,[["__scopeId","data-v-e0e0d586"]]),u6={class:"container"},f6={class:"main"},d6={class:"heading"},h6=["innerHTML"],p6=["innerHTML"],m6=["innerHTML"],g6={key:0,class:"actions"},v6={key:0,class:"image"},y6={class:"image-container"},b6=z({__name:"VPHero",props:{name:{},text:{},tagline:{},image:{},actions:{}},setup(e){const{heroImageSlotExists:t}=qe(kh);return(n,s)=>(m(),C("div",{class:T(["VPHero",{"has-image":e.image||l(t)}])},[S("div",u6,[S("div",f6,[M(n.$slots,"home-hero-info-before",{},void 0,!0),M(n.$slots,"home-hero-info",{},()=>[S("h1",d6,[e.name?(m(),C("span",{key:0,innerHTML:e.name,class:"name clip"},null,8,h6)):A("",!0),e.text?(m(),C("span",{key:1,innerHTML:e.text,class:"text"},null,8,p6)):A("",!0)]),e.tagline?(m(),C("p",{key:0,innerHTML:e.tagline,class:"tagline"},null,8,m6)):A("",!0)],!0),M(n.$slots,"home-hero-info-after",{},void 0,!0),e.actions?(m(),C("div",g6,[(m(!0),C(Y,null,le(e.actions,o=>(m(),C("div",{key:o.link,class:"action"},[H(a6,{tag:"a",size:"medium",theme:o.theme,text:o.text,href:o.link,target:o.target,rel:o.rel},null,8,["theme","text","href","target","rel"])]))),128))])):A("",!0),M(n.$slots,"home-hero-actions-after",{},void 0,!0)]),e.image||l(t)?(m(),C("div",v6,[S("div",y6,[s[0]||(s[0]=S("div",{class:"image-bg"},null,-1)),M(n.$slots,"home-hero-image",{},()=>[e.image?(m(),D(Vr,{key:0,class:"image-src",image:e.image},null,8,["image"])):A("",!0)],!0)])])):A("",!0)])],2))}}),k6=ke(b6,[["__scopeId","data-v-09867ed5"]]),w6=z({__name:"VPHomeHero",setup(e){const{frontmatter:t}=xe();return(n,s)=>l(t).hero?(m(),D(k6,{key:0,class:"VPHomeHero",name:l(t).hero.name,text:l(t).hero.text,tagline:l(t).hero.tagline,image:l(t).hero.image,actions:l(t).hero.actions},{"home-hero-info-before":O(()=>[M(n.$slots,"home-hero-info-before")]),"home-hero-info":O(()=>[M(n.$slots,"home-hero-info")]),"home-hero-info-after":O(()=>[M(n.$slots,"home-hero-info-after")]),"home-hero-actions-after":O(()=>[M(n.$slots,"home-hero-actions-after")]),"home-hero-image":O(()=>[M(n.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):A("",!0)}}),C6={class:"box"},_6={key:0,class:"icon"},S6=["innerHTML"],T6=["innerHTML"],E6=["innerHTML"],x6={key:4,class:"link-text"},A6={class:"link-text-value"},$6=z({__name:"VPFeature",props:{icon:{},title:{},details:{},link:{},linkText:{},rel:{},target:{}},setup(e){return(t,n)=>(m(),D(Vn,{class:"VPFeature",href:e.link,rel:e.rel,target:e.target,"no-icon":!0,tag:e.link?"a":"div"},{default:O(()=>[S("article",C6,[typeof e.icon=="object"&&e.icon.wrap?(m(),C("div",_6,[H(Vr,{image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])])):typeof e.icon=="object"?(m(),D(Vr,{key:1,image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])):e.icon?(m(),C("div",{key:2,class:"icon",innerHTML:e.icon},null,8,S6)):A("",!0),S("h2",{class:"title",innerHTML:e.title},null,8,T6),e.details?(m(),C("p",{key:3,class:"details",innerHTML:e.details},null,8,E6)):A("",!0),e.linkText?(m(),C("div",x6,[S("p",A6,[rt(W(e.linkText)+" ",1),n[0]||(n[0]=S("span",{class:"vpi-arrow-right link-text-icon"},null,-1))])])):A("",!0)])]),_:1},8,["href","rel","target","tag"]))}}),L6=ke($6,[["__scopeId","data-v-684de982"]]),I6={key:0,class:"VPFeatures"},P6={class:"container"},M6={class:"items"},F6=z({__name:"VPFeatures",props:{features:{}},setup(e){const t=e,n=F(()=>{const s=t.features.length;if(s){if(s===2)return"grid-2";if(s===3)return"grid-3";if(s%3===0)return"grid-6";if(s>3)return"grid-4"}else return});return(s,o)=>e.features?(m(),C("div",I6,[S("div",P6,[S("div",M6,[(m(!0),C(Y,null,le(e.features,i=>(m(),C("div",{key:i.title,class:T(["item",[n.value]])},[H(L6,{icon:i.icon,title:i.title,details:i.details,link:i.link,"link-text":i.linkText,rel:i.rel,target:i.target},null,8,["icon","title","details","link","link-text","rel","target"])],2))),128))])])])):A("",!0)}}),B6=ke(F6,[["__scopeId","data-v-4422ade5"]]),N6=z({__name:"VPHomeFeatures",setup(e){const{frontmatter:t}=xe();return(n,s)=>l(t).features?(m(),D(B6,{key:0,class:"VPHomeFeatures",features:l(t).features},null,8,["features"])):A("",!0)}}),V6=z({__name:"VPHomeContent",setup(e){const{width:t}=E3({initialWidth:0,includeScrollbar:!1});return(n,s)=>(m(),C("div",{class:"vp-doc container",style:Fe(l(t)?{"--vp-offset":`calc(50% - ${l(t)/2}px)`}:{})},[M(n.$slots,"default",{},void 0,!0)],4))}}),O6=ke(V6,[["__scopeId","data-v-1b679879"]]),D6=z({__name:"VPHome",setup(e){const{frontmatter:t,theme:n}=xe();return(s,o)=>{const i=un("Content");return m(),C("div",{class:T(["VPHome",{"external-link-icon-enabled":l(n).externalLinkIcon}])},[M(s.$slots,"home-hero-before",{},void 0,!0),H(w6,null,{"home-hero-info-before":O(()=>[M(s.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":O(()=>[M(s.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":O(()=>[M(s.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":O(()=>[M(s.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":O(()=>[M(s.$slots,"home-hero-image",{},void 0,!0)]),_:3}),M(s.$slots,"home-hero-after",{},void 0,!0),M(s.$slots,"home-features-before",{},void 0,!0),H(N6),M(s.$slots,"home-features-after",{},void 0,!0),l(t).markdownStyles!==!1?(m(),D(O6,{key:0},{default:O(()=>[H(i)]),_:1})):(m(),D(i,{key:1}))],2)}}}),R6=ke(D6,[["__scopeId","data-v-10bb9ea0"]]),H6={},z6={class:"VPPage"};function j6(e,t){const n=un("Content");return m(),C("div",z6,[M(e.$slots,"page-top"),H(n),M(e.$slots,"page-bottom")])}const U6=ke(H6,[["render",j6]]),W6=z({__name:"VPContent",setup(e){const{page:t,frontmatter:n}=xe(),{isHome:s,hasSidebar:o}=cs();return(i,r)=>(m(),C("div",{class:T(["VPContent",{"has-sidebar":l(o),"is-home":l(s)}]),id:"VPContent"},[l(t).isNotFound?M(i.$slots,"not-found",{key:0},()=>[H(vh)],!0):l(n).layout==="page"?(m(),D(U6,{key:1},{"page-top":O(()=>[M(i.$slots,"page-top",{},void 0,!0)]),"page-bottom":O(()=>[M(i.$slots,"page-bottom",{},void 0,!0)]),_:3})):l(n).layout==="home"?(m(),D(R6,{key:2},{"home-hero-before":O(()=>[M(i.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":O(()=>[M(i.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":O(()=>[M(i.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":O(()=>[M(i.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":O(()=>[M(i.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":O(()=>[M(i.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":O(()=>[M(i.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":O(()=>[M(i.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":O(()=>[M(i.$slots,"home-features-after",{},void 0,!0)]),_:3})):l(n).layout&&l(n).layout!=="doc"?(m(),D(Be(l(n).layout),{key:3})):(m(),D(i6,{key:4},{"doc-top":O(()=>[M(i.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":O(()=>[M(i.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":O(()=>[M(i.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":O(()=>[M(i.$slots,"doc-before",{},void 0,!0)]),"doc-after":O(()=>[M(i.$slots,"doc-after",{},void 0,!0)]),"aside-top":O(()=>[M(i.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":O(()=>[M(i.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":O(()=>[M(i.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":O(()=>[M(i.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":O(()=>[M(i.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":O(()=>[M(i.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}}),q6=ke(W6,[["__scopeId","data-v-19ca35aa"]]),K6={class:"container"},Y6=["innerHTML"],G6=["innerHTML"],J6=z({__name:"VPFooter",setup(e){const{theme:t,frontmatter:n}=xe(),{hasSidebar:s}=cs();return(o,i)=>l(t).footer&&l(n).footer!==!1?(m(),C("footer",{key:0,class:T(["VPFooter",{"has-sidebar":l(s)}])},[S("div",K6,[l(t).footer.message?(m(),C("p",{key:0,class:"message",innerHTML:l(t).footer.message},null,8,Y6)):A("",!0),l(t).footer.copyright?(m(),C("p",{key:1,class:"copyright",innerHTML:l(t).footer.copyright},null,8,G6)):A("",!0)])],2)):A("",!0)}}),X6=ke(J6,[["__scopeId","data-v-105f771f"]]),Q6={class:"menu-text"},Z6={class:"header"},e8={class:"outline"},t8=z({__name:"VPLocalNavOutlineDropdown",props:{headers:{},navHeight:{}},setup(e){const t=e,{theme:n}=xe(),s=j(!1),o=j(0),i=j(),r=j();function a(d){i.value?.contains(d.target)||(s.value=!1)}te(s,d=>{if(d){document.addEventListener("click",a);return}document.removeEventListener("click",a)}),_l("Escape",()=>{s.value=!1}),Ai(()=>{s.value=!1});function c(){s.value=!s.value,o.value=window.innerHeight+Math.min(window.scrollY-t.navHeight,0)}function u(d){d.target.classList.contains("outline-link")&&(r.value&&(r.value.style.transition="none"),Oe(()=>{s.value=!1}))}function f(){s.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}return(d,h)=>(m(),C("div",{class:"VPLocalNavOutlineDropdown",style:Fe({"--vp-vh":o.value+"px"}),ref_key:"main",ref:i},[e.headers.length>0?(m(),C("button",{key:0,onClick:c,class:T({open:s.value})},[S("span",Q6,W(l(bh)(l(n))),1),h[0]||(h[0]=S("span",{class:"vpi-chevron-right icon"},null,-1))],2)):(m(),C("button",{key:1,onClick:f},W(l(n).returnToTopLabel||"Return to top"),1)),H(vt,{name:"flyout"},{default:O(()=>[s.value?(m(),C("div",{key:0,ref_key:"items",ref:r,class:"items",onClick:u},[S("div",Z6,[S("a",{class:"top-link",href:"#",onClick:f},W(l(n).returnToTopLabel||"Return to top"),1)]),S("div",e8,[H(wh,{headers:e.headers},null,8,["headers"])])],512)):A("",!0)]),_:1})],4))}}),n8=ke(t8,[["__scopeId","data-v-6ab9adca"]]),s8={class:"container"},o8=["aria-expanded"],i8={class:"menu-text"},r8=z({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(e){const{theme:t}=xe(),{isHome:n,hasSidebar:s,headers:o,hasLocalNav:i}=cs(),{y:r}=uh(),a=j(0);be(()=>{a.value=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--vp-nav-height"))});const c=F(()=>({VPLocalNav:!0,"has-sidebar":s.value,empty:!i.value,fixed:!i.value&&!s.value}));return(u,f)=>!l(n)&&(l(i)||l(s)||l(r)>=a.value)?(m(),C("div",{key:0,class:T(c.value)},[S("div",s8,[l(s)?(m(),C("button",{key:0,class:"menu","aria-expanded":e.open,"aria-controls":"VPSidebarNav",onClick:f[0]||(f[0]=d=>u.$emit("open-menu"))},[f[1]||(f[1]=S("span",{class:"vpi-align-left menu-icon"},null,-1)),S("span",i8,W(l(t).sidebarMenuLabel||"Menu"),1)],8,o8)):A("",!0),H(n8,{headers:l(o),navHeight:a.value},null,8,["headers","navHeight"])])],2)):A("",!0)}}),a8=ke(r8,[["__scopeId","data-v-8f018525"]]);function l8(){const e=j(!1);function t(){e.value=!0,window.addEventListener("resize",o)}function n(){e.value=!1,window.removeEventListener("resize",o)}function s(){e.value?n():t()}function o(){window.outerWidth>=768&&n()}const i=kn();return te(()=>i.path,n),{isScreenOpen:e,openScreen:t,closeScreen:n,toggleScreen:s}}const jc=Symbol("nav"),c8={},u8={class:"VPSwitch",type:"button",role:"switch"},f8={class:"check"},d8={key:0,class:"icon"};function h8(e,t){return m(),C("button",u8,[S("span",f8,[e.$slots.default?(m(),C("span",d8,[M(e.$slots,"default",{},void 0,!0)])):A("",!0)])])}const p8=ke(c8,[["render",h8],["__scopeId","data-v-5fd96198"]]),m8=z({__name:"VPSwitchAppearance",setup(e){const{isDark:t,theme:n}=xe(),s=qe("toggle-appearance",()=>{t.value=!t.value}),o=j("");return da(()=>{o.value=t.value?n.value.lightModeSwitchTitle||"Switch to light theme":n.value.darkModeSwitchTitle||"Switch to dark theme"}),(i,r)=>(m(),D(p8,{title:o.value,class:"VPSwitchAppearance","aria-checked":l(t),onClick:l(s)},{default:O(()=>[...r[0]||(r[0]=[S("span",{class:"vpi-sun sun"},null,-1),S("span",{class:"vpi-moon moon"},null,-1)])]),_:1},8,["title","aria-checked","onClick"]))}}),Uc=ke(m8,[["__scopeId","data-v-fd2b5f2c"]]),g8={key:0,class:"VPNavBarAppearance"},v8=z({__name:"VPNavBarAppearance",setup(e){const{site:t}=xe();return(n,s)=>l(t).appearance&&l(t).appearance!=="force-dark"&&l(t).appearance!=="force-auto"?(m(),C("div",g8,[H(Uc)])):A("",!0)}}),y8=ke(v8,[["__scopeId","data-v-0fac236d"]]),Wc=j();let Ch=!1,Ka=0;function b8(e){const t=j(!1);if(wt){!Ch&&k8(),Ka++;const n=te(Wc,s=>{s===e.el.value||e.el.value?.contains(s)?(t.value=!0,e.onFocus?.()):(t.value=!1,e.onBlur?.())});cn(()=>{n(),Ka--,Ka||w8()})}return It(t)}function k8(){document.addEventListener("focusin",_h),Ch=!0,Wc.value=document.activeElement}function w8(){document.removeEventListener("focusin",_h)}function _h(){Wc.value=document.activeElement}const C8={class:"VPMenuLink"},_8=["innerHTML"],S8=z({inheritAttrs:!1,__name:"VPMenuLink",props:{item:{}},setup(e){const t=e,{page:n}=xe(),s=F(()=>typeof t.item.link=="function"?t.item.link(n.value):t.item.link);return(o,i)=>(m(),C("div",C8,[H(Vn,nt(o.$attrs,{class:{active:l(Ls)(l(n).relativePath,e.item.activeMatch||s.value,!!e.item.activeMatch)},href:s.value,target:e.item.target,rel:e.item.rel,"no-icon":e.item.noIcon}),{default:O(()=>[S("span",{innerHTML:e.item.text},null,8,_8)]),_:1},16,["class","href","target","rel","no-icon"])]))}}),wa=ke(S8,[["__scopeId","data-v-c995c7e2"]]),T8={class:"VPMenuGroup"},E8={key:0,class:"title"},x8=z({__name:"VPMenuGroup",props:{text:{},items:{}},setup(e){return(t,n)=>(m(),C("div",T8,[e.text?(m(),C("p",E8,W(e.text),1)):A("",!0),(m(!0),C(Y,null,le(e.items,s=>(m(),C(Y,{key:JSON.stringify(s)},["link"in s?(m(),D(wa,{key:0,item:s},null,8,["item"])):A("",!0)],64))),128))]))}}),A8=ke(x8,[["__scopeId","data-v-0d91e4ea"]]),$8={class:"VPMenu"},L8={key:0,class:"items"},I8=z({__name:"VPMenu",props:{items:{}},setup(e){return(t,n)=>(m(),C("div",$8,[e.items?(m(),C("div",L8,[(m(!0),C(Y,null,le(e.items,s=>(m(),C(Y,{key:JSON.stringify(s)},["link"in s?(m(),D(wa,{key:0,item:s},null,8,["item"])):"component"in s?(m(),D(Be(s.component),nt({key:1,ref_for:!0},s.props),null,16)):(m(),D(A8,{key:2,text:s.text,items:s.items},null,8,["text","items"]))],64))),128))])):A("",!0),M(t.$slots,"default",{},void 0,!0)]))}}),P8=ke(I8,[["__scopeId","data-v-62da9740"]]),M8=["aria-expanded","aria-label"],F8={key:0,class:"text"},B8=["innerHTML"],N8={key:1,class:"vpi-more-horizontal icon"},V8={class:"menu"},O8=z({__name:"VPFlyout",props:{icon:{},button:{},label:{},items:{}},setup(e){const t=j(!1),n=j();b8({el:n,onBlur:s});function s(){t.value=!1}return(o,i)=>(m(),C("div",{class:"VPFlyout",ref_key:"el",ref:n,onMouseenter:i[1]||(i[1]=r=>t.value=!0),onMouseleave:i[2]||(i[2]=r=>t.value=!1)},[S("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":t.value,"aria-label":e.label,onClick:i[0]||(i[0]=r=>t.value=!t.value)},[e.button||e.icon?(m(),C("span",F8,[e.icon?(m(),C("span",{key:0,class:T([e.icon,"option-icon"])},null,2)):A("",!0),e.button?(m(),C("span",{key:1,innerHTML:e.button},null,8,B8)):A("",!0),i[3]||(i[3]=S("span",{class:"vpi-chevron-down text-icon"},null,-1))])):(m(),C("span",N8))],8,M8),S("div",V8,[H(P8,{items:e.items},{default:O(()=>[M(o.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}}),qc=ke(O8,[["__scopeId","data-v-c0d6c551"]]),D8=["href","aria-label","rel","innerHTML"],R8=z({__name:"VPSocialLink",props:{icon:{},link:{},ariaLabel:{},me:{type:Boolean}},setup(e){const t=e,n=j();be(async()=>{await Oe();const o=n.value?.children[0];o instanceof HTMLElement&&o.className.startsWith("vpi-social-")&&(getComputedStyle(o).maskImage||getComputedStyle(o).webkitMaskImage)==="none"&&o.style.setProperty("--icon",`url('https://api.iconify.design/simple-icons/${t.icon}.svg')`)});const s=F(()=>typeof t.icon=="object"?t.icon.svg:``);return(o,i)=>(m(),C("a",{ref_key:"el",ref:n,class:"VPSocialLink no-icon",href:e.link,"aria-label":e.ariaLabel??(typeof e.icon=="string"?e.icon:""),target:"_blank",rel:e.me?"me noopener":"noopener",innerHTML:s.value},null,8,D8))}}),H8=ke(R8,[["__scopeId","data-v-94c580ff"]]),z8={class:"VPSocialLinks"},j8=z({__name:"VPSocialLinks",props:{links:{},me:{type:Boolean,default:!0}},setup(e){return(t,n)=>(m(),C("div",z8,[(m(!0),C(Y,null,le(e.links,({link:s,icon:o,ariaLabel:i})=>(m(),D(H8,{key:s,icon:o,link:s,ariaLabel:i,me:e.me},null,8,["icon","link","ariaLabel","me"]))),128))]))}}),Kc=ke(j8,[["__scopeId","data-v-0f495aab"]]),U8={key:0,class:"group translations"},W8={class:"trans-title"},q8={key:1,class:"group"},K8={class:"item appearance"},Y8={class:"label"},G8={class:"appearance-action"},J8={key:2,class:"group"},X8={class:"item social-links"},Q8=z({__name:"VPNavBarExtra",setup(e){const{site:t,theme:n}=xe(),{localeLinks:s,currentLang:o}=$i({correspondingLink:!0}),i=F(()=>s.value.length&&o.value.label||t.value.appearance||n.value.socialLinks);return(r,a)=>i.value?(m(),D(qc,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:O(()=>[l(s).length&&l(o).label?(m(),C("div",U8,[S("p",W8,W(l(o).label),1),(m(!0),C(Y,null,le(l(s),c=>(m(),D(wa,{key:c.link,item:c,lang:c.lang,dir:c.dir},null,8,["item","lang","dir"]))),128))])):A("",!0),l(t).appearance&&l(t).appearance!=="force-dark"&&l(t).appearance!=="force-auto"?(m(),C("div",q8,[S("div",K8,[S("p",Y8,W(l(n).darkModeSwitchLabel||"Appearance"),1),S("div",G8,[H(Uc)])])])):A("",!0),l(n).socialLinks?(m(),C("div",J8,[S("div",X8,[H(Kc,{class:"social-links-list",links:l(n).socialLinks},null,8,["links"])])])):A("",!0)]),_:1})):A("",!0)}}),Z8=ke(Q8,[["__scopeId","data-v-cf5e177b"]]),e5=["aria-expanded"],t5=z({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(e){return(t,n)=>(m(),C("button",{type:"button",class:T(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:n[0]||(n[0]=s=>t.$emit("click"))},[...n[1]||(n[1]=[S("span",{class:"container"},[S("span",{class:"top"}),S("span",{class:"middle"}),S("span",{class:"bottom"})],-1)])],10,e5))}}),n5=ke(t5,[["__scopeId","data-v-1d142719"]]),s5=["innerHTML"],o5=z({__name:"VPNavBarMenuLink",props:{item:{}},setup(e){const t=e,{page:n}=xe(),s=F(()=>typeof t.item.link=="function"?t.item.link(n.value):t.item.link);return(o,i)=>(m(),D(Vn,{class:T({VPNavBarMenuLink:!0,active:l(Ls)(l(n).relativePath,e.item.activeMatch||s.value,!!e.item.activeMatch)}),href:s.value,target:e.item.target,rel:e.item.rel,"no-icon":e.item.noIcon,tabindex:"0"},{default:O(()=>[S("span",{innerHTML:e.item.text},null,8,s5)]),_:1},8,["class","href","target","rel","no-icon"]))}}),i5=ke(o5,[["__scopeId","data-v-bf8a0d28"]]),r5=z({__name:"VPNavBarMenuGroup",props:{item:{}},setup(e){const t=e,{page:n}=xe(),s=i=>"component"in i?!1:"link"in i?Ls(n.value.relativePath,typeof i.link=="function"?i.link(n.value):i.link,!!t.item.activeMatch):i.items.some(s),o=F(()=>s(t.item));return(i,r)=>(m(),D(qc,{class:T({VPNavBarMenuGroup:!0,active:l(Ls)(l(n).relativePath,e.item.activeMatch,!!e.item.activeMatch)||o.value}),button:e.item.text,items:e.item.items},null,8,["class","button","items"]))}}),a5={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},l5=z({__name:"VPNavBarMenu",setup(e){const{theme:t}=xe();return(n,s)=>l(t).nav?(m(),C("nav",a5,[s[0]||(s[0]=S("span",{id:"main-nav-aria-label",class:"visually-hidden"}," Main Navigation ",-1)),(m(!0),C(Y,null,le(l(t).nav,o=>(m(),C(Y,{key:JSON.stringify(o)},["link"in o?(m(),D(i5,{key:0,item:o},null,8,["item"])):"component"in o?(m(),D(Be(o.component),nt({key:1,ref_for:!0},o.props),null,16)):(m(),D(r5,{key:2,item:o},null,8,["item"]))],64))),128))])):A("",!0)}}),c5=ke(l5,[["__scopeId","data-v-39023d39"]]),u5="modulepreload",f5=function(e){return"/"+e},Vf={},d5=function(t,n,s){let o=Promise.resolve();if(n&&n.length>0){let c=function(u){return Promise.all(u.map(f=>Promise.resolve(f).then(d=>({status:"fulfilled",value:d}),d=>({status:"rejected",reason:d}))))};document.getElementsByTagName("link");const r=document.querySelector("meta[property=csp-nonce]"),a=r?.nonce||r?.getAttribute("nonce");o=c(n.map(u=>{if(u=f5(u),u in Vf)return;Vf[u]=!0;const f=u.endsWith(".css"),d=f?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${u}"]${d}`))return;const h=document.createElement("link");if(h.rel=f?"stylesheet":u5,f||(h.as="script"),h.crossOrigin="",h.href=u,a&&h.setAttribute("nonce",a),document.head.appendChild(h),f)return new Promise((p,g)=>{h.addEventListener("load",p),h.addEventListener("error",()=>g(new Error(`Unable to preload CSS for ${u}`)))})}))}function i(r){const a=new Event("vite:preloadError",{cancelable:!0});if(a.payload=r,window.dispatchEvent(a),!a.defaultPrevented)throw r}return o.then(r=>{for(const a of r||[])a.status==="rejected"&&i(a.reason);return t().catch(i)})};function h5(e){const{localeIndex:t,theme:n}=xe();function s(o){const i=o.split("."),r=n.value.search?.options,a=r&&typeof r=="object",c=a&&r.locales?.[t.value]?.translations||null,u=a&&r.translations||null;let f=c,d=u,h=e;const p=i.pop();for(const g of i){let v=null;const k=h?.[g];k&&(v=h=k);const b=d?.[g];b&&(v=d=b);const w=f?.[g];w&&(v=f=w),k||(h=v),b||(d=v),w||(f=v)}return f?.[p]??d?.[p]??h?.[p]??""}return s}const p5=["aria-label"],m5={class:"DocSearch-Button-Container"},g5={class:"DocSearch-Button-Placeholder"},Of=z({__name:"VPNavBarSearchButton",setup(e){const n=h5({button:{buttonText:"Search",buttonAriaLabel:"Search"}});return(s,o)=>(m(),C("button",{type:"button","aria-label":l(n)("button.buttonAriaLabel"),"aria-keyshortcuts":"/ control+k meta+k",class:"DocSearch DocSearch-Button"},[S("span",m5,[o[0]||(o[0]=S("span",{class:"vpi-search DocSearch-Search-Icon"},null,-1)),S("span",g5,W(l(n)("button.buttonText")),1)]),o[1]||(o[1]=S("span",{class:"DocSearch-Button-Keys"},[S("kbd",{class:"DocSearch-Button-Key"}),S("kbd",{class:"DocSearch-Button-Key"})],-1))],8,p5))}}),v5={class:"VPNavBarSearch"},y5={id:"local-search"},b5={key:1,id:"docsearch"},k5=z({__name:"VPNavBarSearch",setup(e){const t=wc(()=>d5(()=>import("./VPLocalSearchBox.WaTilTWb.js"),[])),n=()=>null,{theme:s}=xe(),o=j(!1),i=j(!1);be(()=>{});function r(){o.value||(o.value=!0,setTimeout(a,16))}function a(){const d=new Event("keydown");d.key="k",d.metaKey=!0,window.dispatchEvent(d),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||a()},16)}function c(d){const h=d.target,p=h.tagName;return h.isContentEditable||p==="INPUT"||p==="SELECT"||p==="TEXTAREA"}const u=j(!1);_l("k",d=>{(d.ctrlKey||d.metaKey)&&(d.preventDefault(),u.value=!0)}),_l("/",d=>{c(d)||(d.preventDefault(),u.value=!0)});const f="local";return(d,h)=>(m(),C("div",v5,[l(f)==="local"?(m(),C(Y,{key:0},[u.value?(m(),D(l(t),{key:0,onClose:h[0]||(h[0]=p=>u.value=!1)})):A("",!0),S("div",y5,[H(Of,{onClick:h[1]||(h[1]=p=>u.value=!0)})])],64)):l(f)==="algolia"?(m(),C(Y,{key:1},[o.value?(m(),D(l(n),{key:0,algolia:l(s).search?.options??l(s).algolia,onVnodeBeforeMount:h[2]||(h[2]=p=>i.value=!0)},null,8,["algolia"])):A("",!0),i.value?A("",!0):(m(),C("div",b5,[H(Of,{onClick:r})]))],64)):A("",!0)]))}}),w5=z({__name:"VPNavBarSocialLinks",setup(e){const{theme:t}=xe();return(n,s)=>l(t).socialLinks?(m(),D(Kc,{key:0,class:"VPNavBarSocialLinks",links:l(t).socialLinks},null,8,["links"])):A("",!0)}}),C5=ke(w5,[["__scopeId","data-v-cd4c0ab6"]]),_5=["href","rel","target"],S5=["innerHTML"],T5={key:2},E5=z({__name:"VPNavBarTitle",setup(e){const{site:t,theme:n}=xe(),{hasSidebar:s}=cs(),{currentLang:o}=$i(),i=F(()=>typeof n.value.logoLink=="string"?n.value.logoLink:n.value.logoLink?.link),r=F(()=>typeof n.value.logoLink=="string"?void 0:n.value.logoLink?.rel),a=F(()=>typeof n.value.logoLink=="string"?void 0:n.value.logoLink?.target);return(c,u)=>(m(),C("div",{class:T(["VPNavBarTitle",{"has-sidebar":l(s)}])},[S("a",{class:"title",href:i.value??l(zc)(l(o).link),rel:r.value,target:a.value},[M(c.$slots,"nav-bar-title-before",{},void 0,!0),l(n).logo?(m(),D(Vr,{key:0,class:"logo",image:l(n).logo},null,8,["image"])):A("",!0),l(n).siteTitle?(m(),C("span",{key:1,innerHTML:l(n).siteTitle},null,8,S5)):l(n).siteTitle===void 0?(m(),C("span",T5,W(l(t).title),1)):A("",!0),M(c.$slots,"nav-bar-title-after",{},void 0,!0)],8,_5)],2))}}),x5=ke(E5,[["__scopeId","data-v-e5d5fdf8"]]),A5={class:"items"},$5={class:"title"},L5=z({__name:"VPNavBarTranslations",setup(e){const{theme:t}=xe(),{localeLinks:n,currentLang:s}=$i({correspondingLink:!0});return(o,i)=>l(n).length&&l(s).label?(m(),D(qc,{key:0,class:"VPNavBarTranslations",icon:"vpi-languages",label:l(t).langMenuLabel||"Change language"},{default:O(()=>[S("div",A5,[S("p",$5,W(l(s).label),1),(m(!0),C(Y,null,le(l(n),r=>(m(),D(wa,{key:r.link,item:r,lang:r.lang,dir:r.dir},null,8,["item","lang","dir"]))),128))])]),_:1},8,["label"])):A("",!0)}}),I5=ke(L5,[["__scopeId","data-v-1c347a57"]]),P5={class:"wrapper"},M5={class:"container"},F5={class:"title"},B5={class:"content"},N5={class:"content-body"},V5=z({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(e){const t=e,{y:n}=uh(),{isHome:s,hasSidebar:o}=cs(),i=j({});return da(()=>{i.value={"has-sidebar":o.value,home:s.value,top:n.value===0,"screen-open":t.isScreenOpen}}),(r,a)=>(m(),C("div",{class:T(["VPNavBar",i.value])},[S("div",P5,[S("div",M5,[S("div",F5,[H(x5,null,{"nav-bar-title-before":O(()=>[M(r.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":O(()=>[M(r.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),S("div",B5,[S("div",N5,[M(r.$slots,"nav-bar-content-before",{},void 0,!0),H(k5,{class:"search"}),H(c5,{class:"menu"}),H(I5,{class:"translations"}),H(y8,{class:"appearance"}),H(C5,{class:"social-links"}),H(Z8,{class:"extra"}),M(r.$slots,"nav-bar-content-after",{},void 0,!0),H(n5,{class:"hamburger",active:e.isScreenOpen,onClick:a[0]||(a[0]=c=>r.$emit("toggle-screen"))},null,8,["active"])])])])]),a[1]||(a[1]=S("div",{class:"divider"},[S("div",{class:"divider-line"})],-1))],2))}}),O5=ke(V5,[["__scopeId","data-v-a10c09a7"]]),D5={key:0,class:"VPNavScreenAppearance"},R5={class:"text"},H5=z({__name:"VPNavScreenAppearance",setup(e){const{site:t,theme:n}=xe();return(s,o)=>l(t).appearance&&l(t).appearance!=="force-dark"&&l(t).appearance!=="force-auto"?(m(),C("div",D5,[S("p",R5,W(l(n).darkModeSwitchLabel||"Appearance"),1),H(Uc)])):A("",!0)}}),z5=ke(H5,[["__scopeId","data-v-0c49eb9f"]]),j5=["innerHTML"],U5=z({__name:"VPNavScreenMenuLink",props:{item:{}},setup(e){const t=e,{page:n}=xe(),s=F(()=>typeof t.item.link=="function"?t.item.link(n.value):t.item.link),{closeScreen:o}=qe(jc);return(i,r)=>(m(),D(Vn,{class:"VPNavScreenMenuLink",href:s.value,target:e.item.target,rel:e.item.rel,"no-icon":e.item.noIcon,onClick:l(o)},{default:O(()=>[S("span",{innerHTML:e.item.text},null,8,j5)]),_:1},8,["href","target","rel","no-icon","onClick"]))}}),W5=ke(U5,[["__scopeId","data-v-f0c07abe"]]),q5=["innerHTML"],K5=z({__name:"VPNavScreenMenuGroupLink",props:{item:{}},setup(e){const t=e,{page:n}=xe(),s=F(()=>typeof t.item.link=="function"?t.item.link(n.value):t.item.link),{closeScreen:o}=qe(jc);return(i,r)=>(m(),D(Vn,{class:"VPNavScreenMenuGroupLink",href:s.value,target:e.item.target,rel:e.item.rel,"no-icon":e.item.noIcon,onClick:l(o)},{default:O(()=>[S("span",{innerHTML:e.item.text},null,8,q5)]),_:1},8,["href","target","rel","no-icon","onClick"]))}}),Sh=ke(K5,[["__scopeId","data-v-1c460cf9"]]),Y5={class:"VPNavScreenMenuGroupSection"},G5={key:0,class:"title"},J5=z({__name:"VPNavScreenMenuGroupSection",props:{text:{},items:{}},setup(e){return(t,n)=>(m(),C("div",Y5,[e.text?(m(),C("p",G5,W(e.text),1)):A("",!0),(m(!0),C(Y,null,le(e.items,s=>(m(),D(Sh,{key:s.text,item:s},null,8,["item"]))),128))]))}}),X5=ke(J5,[["__scopeId","data-v-b9d15d51"]]),Q5=["aria-controls","aria-expanded"],Z5=["innerHTML"],e7=["id"],t7={key:0,class:"item"},n7={key:1,class:"item"},s7={key:2,class:"group"},o7=z({__name:"VPNavScreenMenuGroup",props:{text:{},items:{}},setup(e){const t=e,n=j(!1),s=F(()=>`NavScreenGroup-${t.text.replace(" ","-").toLowerCase()}`);function o(){n.value=!n.value}return(i,r)=>(m(),C("div",{class:T(["VPNavScreenMenuGroup",{open:n.value}])},[S("button",{class:"button","aria-controls":s.value,"aria-expanded":n.value,onClick:o},[S("span",{class:"button-text",innerHTML:e.text},null,8,Z5),r[0]||(r[0]=S("span",{class:"vpi-plus button-icon"},null,-1))],8,Q5),S("div",{id:s.value,class:"items"},[(m(!0),C(Y,null,le(e.items,a=>(m(),C(Y,{key:JSON.stringify(a)},["link"in a?(m(),C("div",t7,[H(Sh,{item:a},null,8,["item"])])):"component"in a?(m(),C("div",n7,[(m(),D(Be(a.component),nt({ref_for:!0},a.props,{"screen-menu":""}),null,16))])):(m(),C("div",s7,[H(X5,{text:a.text,items:a.items},null,8,["text","items"])]))],64))),128))],8,e7)],2))}}),i7=ke(o7,[["__scopeId","data-v-8ab0c53a"]]),r7={key:0,class:"VPNavScreenMenu"},a7=z({__name:"VPNavScreenMenu",setup(e){const{theme:t}=xe();return(n,s)=>l(t).nav?(m(),C("nav",r7,[(m(!0),C(Y,null,le(l(t).nav,o=>(m(),C(Y,{key:JSON.stringify(o)},["link"in o?(m(),D(W5,{key:0,item:o},null,8,["item"])):"component"in o?(m(),D(Be(o.component),nt({key:1,ref_for:!0},o.props,{"screen-menu":""}),null,16)):(m(),D(i7,{key:2,text:o.text||"",items:o.items},null,8,["text","items"]))],64))),128))])):A("",!0)}}),l7=z({__name:"VPNavScreenSocialLinks",setup(e){const{theme:t}=xe();return(n,s)=>l(t).socialLinks?(m(),D(Kc,{key:0,class:"VPNavScreenSocialLinks",links:l(t).socialLinks},null,8,["links"])):A("",!0)}}),c7={class:"list"},u7=z({__name:"VPNavScreenTranslations",setup(e){const{localeLinks:t,currentLang:n}=$i({correspondingLink:!0}),s=j(!1);function o(){s.value=!s.value}return(i,r)=>l(t).length&&l(n).label?(m(),C("div",{key:0,class:T(["VPNavScreenTranslations",{open:s.value}])},[S("button",{class:"title",onClick:o},[r[0]||(r[0]=S("span",{class:"vpi-languages icon lang"},null,-1)),rt(" "+W(l(n).label)+" ",1),r[1]||(r[1]=S("span",{class:"vpi-chevron-down icon chevron"},null,-1))]),S("ul",c7,[(m(!0),C(Y,null,le(l(t),a=>(m(),C("li",{key:a.link,class:"item"},[H(Vn,{class:"link",href:a.link,lang:a.lang,dir:a.dir},{default:O(()=>[rt(W(a.text),1)]),_:2},1032,["href","lang","dir"])]))),128))])],2)):A("",!0)}}),f7=ke(u7,[["__scopeId","data-v-85de7b6f"]]),d7={class:"container"},h7=z({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(e){const t=j(null),n=ch(wt?document.body:null);return(s,o)=>(m(),D(vt,{name:"fade",onEnter:o[0]||(o[0]=i=>n.value=!0),onAfterLeave:o[1]||(o[1]=i=>n.value=!1)},{default:O(()=>[e.open?(m(),C("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:t,id:"VPNavScreen"},[S("div",d7,[M(s.$slots,"nav-screen-content-before",{},void 0,!0),H(a7,{class:"menu"}),H(f7,{class:"translations"}),H(z5,{class:"appearance"}),H(l7,{class:"social-links"}),M(s.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):A("",!0)]),_:3}))}}),p7=ke(h7,[["__scopeId","data-v-e0c26501"]]),m7={key:0,class:"VPNav"},g7=z({__name:"VPNav",setup(e){const{isScreenOpen:t,closeScreen:n,toggleScreen:s}=l8(),{frontmatter:o}=xe(),i=F(()=>o.value.navbar!==!1);return In(jc,{closeScreen:n}),zn(()=>{wt&&document.documentElement.classList.toggle("hide-nav",!i.value)}),(r,a)=>i.value?(m(),C("header",m7,[H(O5,{"is-screen-open":l(t),onToggleScreen:l(s)},{"nav-bar-title-before":O(()=>[M(r.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":O(()=>[M(r.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":O(()=>[M(r.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":O(()=>[M(r.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),H(p7,{open:l(t)},{"nav-screen-content-before":O(()=>[M(r.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":O(()=>[M(r.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])])):A("",!0)}}),v7=ke(g7,[["__scopeId","data-v-d78ad477"]]),y7=["role","tabindex"],b7={key:1,class:"items"},k7=z({__name:"VPSidebarItem",props:{item:{},depth:{}},setup(e){const t=e,{collapsed:n,collapsible:s,isLink:o,isActiveLink:i,hasActiveLink:r,hasChildren:a,toggle:c}=b4(F(()=>t.item)),u=F(()=>a.value?"section":"div"),f=F(()=>o.value?"a":"div"),d=F(()=>a.value?t.depth+2===7?"p":`h${t.depth+2}`:"p"),h=F(()=>o.value?void 0:"button"),p=F(()=>[[`level-${t.depth}`],{collapsible:s.value},{collapsed:n.value},{"is-link":o.value},{"is-active":i.value},{"has-active":r.value}]);function g(k){"key"in k&&k.key!=="Enter"||!t.item.link&&c()}function v(){t.item.link&&c()}return(k,b)=>{const w=un("VPSidebarItem",!0);return m(),D(Be(u.value),{class:T(["VPSidebarItem",p.value])},{default:O(()=>[e.item.text?(m(),C("div",nt({key:0,class:"item",role:h.value},Ec(e.item.items?{click:g,keydown:g}:{},!0),{tabindex:e.item.items&&0}),[b[1]||(b[1]=S("div",{class:"indicator"},null,-1)),e.item.link?(m(),D(Vn,{key:0,tag:f.value,class:"link",href:e.item.link,rel:e.item.rel,target:e.item.target},{default:O(()=>[(m(),D(Be(d.value),{class:"text",innerHTML:e.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href","rel","target"])):(m(),D(Be(d.value),{key:1,class:"text",innerHTML:e.item.text},null,8,["innerHTML"])),e.item.collapsed!=null&&e.item.items&&e.item.items.length?(m(),C("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:v,onKeydown:va(v,["enter"]),tabindex:"0"},[...b[0]||(b[0]=[S("span",{class:"vpi-chevron-right caret-icon"},null,-1)])],32)):A("",!0)],16,y7)):A("",!0),e.item.items&&e.item.items.length?(m(),C("div",b7,[e.depth<5?(m(!0),C(Y,{key:0},le(e.item.items,y=>(m(),D(w,{key:y.text,item:y,depth:e.depth+1},null,8,["item","depth"]))),128)):A("",!0)])):A("",!0)]),_:1},8,["class"])}}}),w7=ke(k7,[["__scopeId","data-v-c0d2b08d"]]),C7=z({__name:"VPSidebarGroup",props:{items:{}},setup(e){const t=j(!0);let n=null;return be(()=>{n=setTimeout(()=>{n=null,t.value=!1},300)}),ls(()=>{n!=null&&(clearTimeout(n),n=null)}),(s,o)=>(m(!0),C(Y,null,le(e.items,i=>(m(),C("div",{key:i.text,class:T(["group",{"no-transition":t.value}])},[H(w7,{item:i,depth:0},null,8,["item"])],2))),128))}}),_7=ke(C7,[["__scopeId","data-v-3423a55b"]]),S7={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},T7=z({__name:"VPSidebar",props:{open:{type:Boolean}},setup(e){const{sidebarGroups:t,hasSidebar:n}=cs(),s=e,o=j(null),i=ch(wt?document.body:null);te([s,o],()=>{s.open?(i.value=!0,o.value?.focus()):i.value=!1},{immediate:!0,flush:"post"});const r=j(0);return te(t,()=>{r.value+=1},{deep:!0}),(a,c)=>l(n)?(m(),C("aside",{key:0,class:T(["VPSidebar",{open:e.open}]),ref_key:"navEl",ref:o,onClick:c[0]||(c[0]=To(()=>{},["stop"]))},[c[2]||(c[2]=S("div",{class:"curtain"},null,-1)),S("nav",S7,[c[1]||(c[1]=S("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),M(a.$slots,"sidebar-nav-before",{},void 0,!0),(m(),D(_7,{items:l(t),key:r.value},null,8,["items"])),M(a.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):A("",!0)}}),E7=ke(T7,[["__scopeId","data-v-3ad41a46"]]),x7={href:"#VPContent",class:"VPSkipLink visually-hidden"},A7=z({__name:"VPSkipLink",setup(e){const{theme:t}=xe(),n=kn(),s=j();return te(()=>n.path,()=>s.value.focus()),(o,i)=>(m(),C(Y,null,[S("span",{ref_key:"backToTop",ref:s,tabindex:"-1"},null,512),S("a",x7,W(l(t).skipToContentLabel||"Skip to content"),1)],64))}}),$7=ke(A7,[["__scopeId","data-v-84877a60"]]),L7=z({__name:"Layout",setup(e){const{isOpen:t,open:n,close:s}=y4();k4({closeSidebar:s});const{frontmatter:o}=xe(),i=Ti(),r=F(()=>!!i["home-hero-image"]);return In(kh,{heroImageSlotExists:r}),gh().startWatch(),(a,c)=>{const u=un("Content");return l(o).layout!==!1?(m(),C("div",{key:0,class:T(["Layout",l(o).pageClass])},[M(a.$slots,"layout-top",{},void 0,!0),H($7),H(r4,{class:"backdrop",show:l(t),onClick:l(s)},null,8,["show","onClick"]),H(v7,null,{"nav-bar-title-before":O(()=>[M(a.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":O(()=>[M(a.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":O(()=>[M(a.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":O(()=>[M(a.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":O(()=>[M(a.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":O(()=>[M(a.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),H(a8,{open:l(t),onOpenMenu:l(n)},null,8,["open","onOpenMenu"]),H(E7,{open:l(t)},{"sidebar-nav-before":O(()=>[M(a.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":O(()=>[M(a.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),H(q6,null,{"page-top":O(()=>[M(a.$slots,"page-top",{},void 0,!0)]),"page-bottom":O(()=>[M(a.$slots,"page-bottom",{},void 0,!0)]),"not-found":O(()=>[H(s4,null,{"not-found":O(()=>[M(a.$slots,"not-found",{},void 0,!0)]),_:3})]),"home-hero-before":O(()=>[M(a.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":O(()=>[M(a.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":O(()=>[M(a.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":O(()=>[M(a.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":O(()=>[M(a.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":O(()=>[M(a.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":O(()=>[M(a.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":O(()=>[M(a.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":O(()=>[M(a.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":O(()=>[M(a.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":O(()=>[M(a.$slots,"doc-before",{},void 0,!0)]),"doc-after":O(()=>[M(a.$slots,"doc-after",{},void 0,!0)]),"doc-top":O(()=>[M(a.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":O(()=>[M(a.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":O(()=>[M(a.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":O(()=>[M(a.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":O(()=>[M(a.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":O(()=>[M(a.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":O(()=>[M(a.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":O(()=>[M(a.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),H(X6),M(a.$slots,"layout-bottom",{},void 0,!0)],2)):(m(),D(u,{key:1}))}}}),I7=ke(L7,[["__scopeId","data-v-17498edd"]]),Th={Layout:I7,enhanceApp:({app:e})=>{e.component("Badge",eh)}},Df=e=>/^(http?:|https?:|mailto:|tel:)/.test(e),Yc=e=>{try{return new URL(e),!0}catch{return!1}},Bo=(e,t)=>Object.prototype.toString.call(e)===`[object ${t}]`,ht=e=>Bo(e,"Function")||M7(e),ti=e=>e!==null&&Bo(e,"Object"),Gc=e=>Bo(e,"Number")&&!Number.isNaN(e),P7=e=>Je(e)?!Number.isNaN(Number(e)):!1,M7=e=>Bo(e,"AsyncFunction"),Je=e=>Bo(e,"String"),es=e=>Bo(e,"Boolean"),F7=e=>typeof Array.isArray>"u"?Object.prototype.toString.call(e)==="[object Array]":Array.isArray(e),Il=e=>typeof Element>"u"?!1:e instanceof Element,B7=()=>me&&window?.navigator?.userAgent&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||window?.navigator?.maxTouchPoints>2&&/iPad|Macintosh/.test(window?.navigator.userAgent)),N7=e=>{if(e.tabIndex>0||e.tabIndex===0&&e.getAttribute("tabIndex")!==null)return!0;if(e.tabIndex<0||e.hasAttribute("disabled")||e.getAttribute("aria-disabled")==="true")return!1;switch(e.nodeName){case"A":return!!e.href&&e.rel!=="ignore";case"INPUT":return!(e.type==="hidden"||e.type==="file");case"BUTTON":case"SELECT":case"TEXTAREA":return!0;default:return!1}},me=typeof window<"u"&&typeof document<"u",Rf=(e="yyyy-MM-dd hh:mm:ss",t=!0)=>pi(new Date,e,t),pi=(e,t="yyyy-MM-dd hh:mm:ss",n=!0)=>{if(!e)return"";const s=new Date(e),o=n?s.getUTCFullYear():s.getFullYear(),i=String((n?s.getUTCMonth():s.getMonth())+1).padStart(2,"0"),r=String(n?s.getUTCDate():s.getDate()).padStart(2,"0"),a=String(n?s.getUTCHours():s.getHours()).padStart(2,"0"),c=String(n?s.getUTCMinutes():s.getMinutes()).padStart(2,"0"),u=String(n?s.getUTCSeconds():s.getSeconds()).padStart(2,"0");return t.replace("yyyy",o.toString()).replace("MM",i).replace("dd",r).replace("hh",a).replace("mm",c).replace("ss",u)},V7=(e,t)=>{const n=+new Date(e),s=+new Date,o=Math.abs(s-n),i=1e3,r=i*60,a=r*60,c=a*24,u=c*7,f=c*30,d=f*12;return o<1?"ๅˆšๅˆš":o{const n=+new Date(e),s=+new Date;return Math.floor(Math.abs(n-s)/(1e3*60*60*24))},Hf=e=>e.charAt(0).toUpperCase()+e.slice(1),sn=(e,t="px")=>e?Gc(e)||P7(e)?`${e}${t}`:Je(e)?e:"":"",D7=(e,t="px")=>{if(e){if(Gc(e))return e;if(Je(e))return Number(e.replace(t,""))}},R7=(e,t,n)=>{let s={...e};return t.includes(".")?(t.split(".").forEach(o=>s=s[o]??""),s||n):s[t]||n},Eh=e=>{let t="";if(!/^\#?[0-9A-Fa-f]{6}$/.test(e))return console.error("[Teek Error] ่พ“ๅ…ฅ้”™่ฏฏ็š„ hex");e=e.replace("#",""),t=e.match(/../g);for(let s=0;s<3;s++)t[s]=parseInt(t[s],16);return t},xh=(e,t,n)=>{const s=/^\d{1,3}$/;if(!s.test(e)||!s.test(t)||!s.test(n))return console.error("[Teek Error] ่พ“ๅ…ฅ้”™่ฏฏ็š„ rgb ้ขœ่‰ฒๅ€ผ");const o=[e.toString(16),t.toString(16),n.toString(16)];for(let i=0;i<3;i++)o[i].length===1&&(o[i]=`0${o[i]}`);return`#${o.join("")}`},Cn=(e,t)=>{if(!/^\#?[0-9A-Fa-f]{6}$/.test(e))return console.error("[Teek Error] ่พ“ๅ…ฅ้”™่ฏฏ็š„ hex ้ขœ่‰ฒๅ€ผ");const s=Eh(e);for(let o=0;o<3;o++)s[o]=Math.round(20.5*t+s[o]*(1-t));return xh(s[0],s[1],s[2])},_n=(e,t)=>{if(!/^\#?[0-9A-Fa-f]{6}$/.test(e))return console.error("[Teek Error] ่พ“ๅ…ฅ้”™่ฏฏ็š„ hex ้ขœ่‰ฒๅ€ผ");const s=Eh(e);for(let o=0;o<3;o++)s[o]=Math.round(255*t+s[o]*(1-t));return xh(s[0],s[1],s[2])},H7=e=>{if(!me)return;const{id:t,production:n=!0}=e||{};if(!t)return console.warn("[Teek Warning] Baidu analytics id is empty");if(!document.querySelector(`#baidu-analytics-${t}`)){window._hmt=window._hmt||[];const s=document.createElement("script");s.id=`baidu-analytics-${t}`,s.async=!0,s.src=`https://hm.baidu.com/hm.js?${t}`,document.querySelector("head")?.appendChild(s)}},z7=(e,t)=>{if(!me)return;const{id:n,production:s=!0}=e||{};if(n){if((!t||!Je(t))&&(t="/"),t.startsWith("http")){const o=t.split("/"),i=`${o[0]}//${o[2]}`;t=t.replace(i,"")}window._hmt&&(window._hmt.push(["_setAccount",n]),window._hmt.push(["_trackPageview",t]))}},j7=e=>{if(!me||window.dataLayer&&window.gtag)return;const{id:t,production:n=!0}=e||{};if(!t)return console.warn("[Teek Warning] Google analytics id is empty");if(!document.querySelector(`#google-analytics-${t}`)){const s=document.createElement("script");s.id=`google-analytics-${t}`,s.src=`https://www.googletagmanager.com/gtag/js?id=${t}`,s.async=!0,document.head.appendChild(s),window.dataLayer=window.dataLayer||[],window.gtag=function(){dataLayer.push(arguments)},gtag("js",new Date),gtag("config",t)}},U7=(e,t=!0)=>{if(!me)return;let n=[];if(Array.isArray(e)?n.push(...e):n.push(e),n=n.filter(s=>!!s.id),!!n.length)for(const s of n){const{id:o,src:i}=s;if(!document.querySelector(`#umami-analytics-${o}`)){const r=document.createElement("script");r.id=`umami-analytics-${o}`,r.async=!0,r.defer=!0,r.setAttribute("data-website-id",o),r.src=i,document.head.appendChild(r)}}};typeof window<"u"&&(window._iconfont_svg_string_4999519='',(e=>{var t=(n=(n=document.getElementsByTagName("script"))[n.length-1]).getAttribute("data-injectcss"),n=n.getAttribute("data-disable-injectsvg");if(!n){var s,o,i,r,a,c=function(d,h){h.parentNode.insertBefore(d,h)};if(t&&!e.__iconfont__svg__cssinject__){e.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(d){console&&console.log(d)}}s=function(){var d,h=document.createElement("div");h.innerHTML=e._iconfont_svg_string_4999519,(h=h.getElementsByTagName("svg")[0])&&(h.setAttribute("aria-hidden","true"),h.style.position="absolute",h.style.width=0,h.style.height=0,h.style.overflow="hidden",h=h,(d=document.body).firstChild?c(h,d.firstChild):d.appendChild(h))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(s,0):(o=function(){document.removeEventListener("DOMContentLoaded",o,!1),s()},document.addEventListener("DOMContentLoaded",o,!1)):document.attachEvent&&(i=s,r=e.document,a=!1,f(),r.onreadystatechange=function(){r.readyState=="complete"&&(r.onreadystatechange=null,u())})}function u(){a||(a=!0,i())}function f(){try{r.documentElement.doScroll("left")}catch{return void setTimeout(f,50)}u()}})(window));var Ah=`{const e=document.querySelector(".VPHero .text"),t=document.querySelector("#hero-text");if(!(!e||!t)){for(;e.lastChild;)e.lastChild.remove();e.append(t)}}),(e,t)=>(a(),c("div",null,[t[1]||(t[1]=l("div",{style:{display:"none"},hidden:"true","aria-hidden":"true"},"Are you an LLM? View /llms.txt for optimized Markdown documentation, or /llms-full.txt for full documentation bundle",-1)),l("span",h,[r(d(m(i).hero.text)+" ",1),(a(),c("svg",u,[...t[0]||(t[0]=[l("path",{d:"M20.766 10.187c.939-.024.386-.885.552-1.401 1.105-.301.553.626.962 1.061.685-.263 1.171-1.1 1.696-1.085.044.144.15.191.044.378.697-.736 2.21-.134 2.995-1.052a.55.55 0 0 1 .127.215 3.35 3.35 0 0 1-.204-1.204c.42-.034.751-.593.94 0-.255 0-.266.23-.377.416l.426-.273c.448.813-.586.316-.553.927.84-.306 1.802-1.037 2.476-.831.182.803-1.525.339-.608 1.023l-1.033-.268c.85 1.248-.625-.057.171 1.276 1.348.177 1.47-.478 2.818-.3.276-.479-.132-.66.144-1.124 1.857-.885 1.602 1.984 2.94.846.337-.555.42-1.582 1.442-1.08l-.276.889c1.298.038.668-1.348 2.06-.784-.226.368-1.005.344-.8.444.917.689.59-.545 1.27-.569l.16.827c1.371-.181 2.863-.827 4.388-1.037-.072.249-.326.512.044.746 1.912-.478 4.123-.058 6.007.368l.68-.727c.05.015.095.04.132.074a.275.275 0 0 1 .077.118c.014.044.015.091.004.136a.27.27 0 0 1-.07.122c.74.243 0-.445.354-.732.414-.062.552.383.315.603 1.248-.636 3.586-1.401 4.973-.694l-.254.22c1.06.249 1.105-1.477 2.127-.855l-.182.129c2.293.23 4.785-.478 6.564.52.293-1.017 2.272.393 2.365-1.022 1.327.664.967.927 2.813 1.348.492.052.702-.899 1.299-1.061l.044.731.79-.794.47.87.552-.205a.66.66 0 0 1-.332-.2.517.517 0 0 1-.132-.33c.873-.354 2.177.477 2.21.831l2.078-.679c-.039.301-.387.411-.657.607 1.105-.779.226.77 1.232.053-.144-.163.06-.44.077-.588.553.435 1.691.416 2.547.205l-.149.512c1.558.1 3.271-.31 5.018-.335-.636-.224-.514-1.109 0-1.204l.226.774c.32-.478-.552-.282.122-.884.652.076.464.875.094 1.138l.784-.287c.056.23-.127.358-.165.655.309-.478 1.387.75 1.834-.096l.05.23c1.746-.03 2.53-.316 3.95-.383 0-.674.553-.535.984-1.085 1.05.196 2.21.707 3.482.63.878-.343.243-.568.635-.955.077.612 1.332.535.69.985a15.353 15.353 0 0 0 3.83-.68c-.21-.243-.447-.353-.331-.563a.738.738 0 0 1 .275.01c.09.02.173.058.245.11a.58.58 0 0 1 .169.188c.04.072.061.151.062.232l-.088.067c2.127-.956 4.973 1.706 6.669.41l-.099.068 1.763-.684c.817.1-.481.478.127.842 1.9-1.043 3.022.12 4.586-.574 1.243 1.793 4.327-.167 5.979.956l-.1-.42c.426-.421.52.234.835.33-.05-.33-.464-.378-.205-.613 3.598-.545 7.438.598 11.129.956 1.348.11.757-2.203 2.465-1.195l-.481.794c2.719-.956 5.564 0 8.233-.77-.154.182-.16.416-.425.416.552.574 2.083.034 2.094-.435.42.053.1.425.354.665.552.339 1.42-.732 1.718-.158.05.09-.16.186-.265.23.37-.278 1.719.076 1.365-.589 1 .32 1.917-.287 2.713.105.553-.736 1.713.364 1.884-.683-.077 1.08 1.752.875 2.387.377-.215.326.553.345.299.794.718 0 1.381-.206 1.265-.76 1.315 1.305 2.686-1.018 3.415.645a45.888 45.888 0 0 1 6.078-1.17c-.082 1.075-2.138.09-2.066 1.218 1.834-.425 2.906-1.343 4.719-1.066.47.153-.276.478-.437.65 1.835-.43 3.537.148 5.172-.42 0 .1-.182.21-.348.291.321-.033.741.167.713-.325l-.315.13c-.497-.718 1.304-1.468 1.365-1.841-.553 1.396 1.602.377.707 2.137a.73.73 0 0 0 .337-.263.58.58 0 0 0 .1-.383c.315.1.409.297.083.665 1.155-.254.757-.78 1.801-.75 0 .233-.221.324-.337.601.553-.478 1.078-.908 1.951-.697-.056.143.044.33-.216.325 1.509-.048 2.603-1.195 4.249-.722-.513 1.023.553.349.625 1.243l.895-.254-.348-.44c.785.034 1.492-.602 2.155-.296l-.591.354 1.47-.139-.824-.354c.807-.444-.055-1.132.978-.86-.21.086.785.029 1.177.56.398-.278.801-.57 1.376-.335.138.291-.149.984-.055 1.176.398-.736 1.834-.168 2.337-.956-.143.227-.192.49-.138.745l.337-.597c.359.2.409.296.337.669 1.105.134-.309-1.138.967-.626-.105.048-.055.138-.27.23 1.287.277 2.519-.335 3.702 0 .326.903-1.05.195-.669.955 1.724-.129 3.592-.999 5.25-.74l-.31-.106c.277-1.262 1.221.66 2.083.086-.21.086-.298.693-.237.555 1.105.234 2.343-.249 4.083-.603l-.226.32c.657.311 1.763.216 2.481.383.226-.315.641-.253.403-.731 2.166 1.912 4.305-.89 6.228.726-.238 0-.553.268-.387.273l1.702-.244c-.111-.554-.21-.34-.553-.784.124-.163.292-.298.489-.392.198-.094.419-.145.644-.148-.774.34-.028.884.287 1.205-.049-.173.072-.354.05-.526.846 1.008.199-1.11 1.376-.407l-.077.287c.458-.134.889-.478 1.37-.401.177.645-.492.282-.552.803.685 0 1.403-1.162 1.994-.507-.298.167-.718.158-1.016.325.641.77.729.583 1.221.717h-.044l1.138.378-.282-.21c.928-1.635 1.752-.25 2.951-1.3-1.166.994-.21.592-.332 1.309.288.21.724.454.586.65.553-.564.89.478 1.696-.34 0 .235.581.044.431.627.713-.163-.149-.411-.077-.703 1.133-.76 2.514 1.061 4.139.029 1.376-.397 1.658-1.171 2.94-1.515.403.392-.393.836-.393.836.267.161.581.255.906.27a1.97 1.97 0 0 0 .934-.184c-.138.196 0 .373.172.64.519-.038.386-.831 1.05-.477a3.24 3.24 0 0 1-.553.918c.619-.192 1.243-.603 1.884-.79.149.412-.409.603-.646.856.718-.153 1.851-.296 2.105-.927l-.442-.248c.26 0 .105.559-.094.669-.63.478-.862-.258-.884-.478l.459-.134c-.387-1.382-1.818.148-2.719.033l.431-.956-.973.784c-.182-.263-.287-.822.166-.956-.624-.516-.591.33-1.105-.239-.055-.086-.028-.134.033-.172l-.646.273c.132-.201-.072-.703.309-.545-1.105-.617-1.873.674-2.26-.096l.099-.057c-1.596.272-.193.721-1.414 1.534l-.713-1.83-.188.721c-.16-.033-.481-.1-.409-.387-.63.478.089.32-.287.78-.752-.699-2.172.229-2.293-.957-.31.545.729.478-.127.813-.183-1.258-.978.181-1.658-.416.254-.636.917-.273.226-.875-.486 1.076-1.386-.282-2-.096-.066.87-1.332.32-2.354.579.078-.292-1.89-.54-2.818-.885l.033-.148c-.221.87-1.182.674-1.901.832a.906.906 0 0 1 .132-.55c.102-.169.258-.31.449-.406h-.669a.979.979 0 0 1-.34.327 1.167 1.167 0 0 1-.478.151l.194-.65c-.885 0-1.813.712-2.94.244-.083.607.84 1.725-.381 2.103-.034-.335-.056-.899.27-1.028-.105.043-.381.263-.585.12l.502-.545c-.508-.258-.287.478-.701.397 0-.478-.293-.35-.221-.722.11-.038.359.205.525 0a1.931 1.931 0 0 1-.691-.264 1.649 1.649 0 0 1-.503-.487c.028.268-.028.636-.37.684-.89 0-.282-.574-.79-.832-.227.325-.78-.033-.824.674-.259 0-.293-.34-.387-.535-.469.3-2.149.033-1.657.793l.116.053s-.05 0-.078.033c-1.525.66-3.105-.478-4.608-.224V3.34c-.895.244-1.984.106-2.636.593a.711.711 0 0 1-.402-.28.553.553 0 0 1-.084-.442c-.691.158-.774.416-1.746 0 .701-.396-.221-.373.713-.287-.879-.224-1.067-.607-2.039 0 .342-.597-.641-.774-1.067-.602l.608.445c-.436.053-.88.039-1.31-.043l.254-.794c-1.784-1.004-3.315 1.578-4.647-.067-.497.545.973.411.553 1.052-.829-.124-1.658-1.286-1.929-1.29-1.132-.479-1.105 1.137-2.282.812a.818.818 0 0 1 .031.774.938.938 0 0 1-.264.323 1.11 1.11 0 0 1-.397.198c-.829-.124-.994-1.214-.464-1.434.205 0 .299.072.288.168.27-.096.629-.21.303-.526l-.116.282c-.403-.297-1.552-.292-1.271-.75-.635.257-.281.477.183.616-1.061-.435-1.658-.053-2.763-.344.171.162.326.478.155.478-1.608-.378-.724.526-1.824.636-.608-.445.249-1.033-.862-.684-.668-.306-.127-.755.149-.985-1.016.536-1.867-.387-2.442-.478l.553-.22a1.892 1.892 0 0 1-.846.12l.293.573c-.309-.105-.553-.11-.553-.348-.326.368.227.956-.42 1.434-.403-.297-1.265.286-1.392-.478 1.298.272-.127-.76.978-.866a1.102 1.102 0 0 1-.851.024c-.044-.086.044-.157.133-.2-1.233-.689-.592.846-1.879.807.171-.42-.287-.808-.497-.721.519 0 .237.712-.249 1.027-.823-.34-.906.235-1.337.187l.491.162c-.176.426-.585.364-1.165.478-.045-.33.524-.22.326-.368-.652.736-1.437-.793-2.338-.306-.409-.291-.027-.798-.387-.999-1.011.54-1.077-.588-2.133-.148.293.574.349.435-.403.985l1.735-.387-1.105.822c.525 0 1.105-.35 1.42-.249-.553.478-.481.316-.238.794-.701-.86-1.425.478-2.21-.1l.044-1.41c-1.232-.641-2.21.702-3.823.334l.513.248c-.221.56-.994.072-1.519.292.055-.478-.271-.645-.492-.956.028.349-1.177-.043-1.337.899l-.707-.627c-1.305-.267-1.503 1.33-2.763 1.157.381-.507-.183-.846.657-1.21-.414 0-.79-.095-.801.23-.276-.263-1.199.646-1.575.215-.182.206-.243.698-.713.655a.337.337 0 0 1 0-.234c0 .234-.735.31-.331.837-1.271-1.478-3.592.095-4.708-1.172-.936.165-1.883.277-2.835.335.05-.139 0-.234.16-.186-1.143-.44-.707 1.352-2.005.86-.664-.765.69-.411.276-.703-.171-1.553-1.564.21-2.437-.702l.21-.091c-.663-.555-1.608.564-2.713.454a.326.326 0 0 0 0-.234c-.746.784-2.155 1.051-3.205 1.271.326-.607.475-.32.276-.956-.47.091.138.99-.801 1.167-.304-.33-.984-.622-1.078-1.282l.89-.019c-.459-.85-1.149.034-1.613-.114l.055-.368c-1.36.124-1.376 1.06-2.835.999l.155.282c-.796.956-.674-.521-1.465.172l-.248-.956c-.871.453-1.797.82-2.763 1.094.552-.698 1.658-1.06 2.315-1.477-.519 0-1.774.072-2.044.54.21-.09.475-.325.685-.181a2.832 2.832 0 0 1-1.094.83 3.298 3.298 0 0 1-1.42.27c.171-1.832-2.713-.455-3.482-1.865-1.834.693-3.652-.258-5.796-.13.774 1.435-.625.049-.481 1.507-.497.1-.685.076-.729 0l-1.525-.86c-.365-.421.469-.326.42-.65-1.106-.106-.465-.618-1.194-1 .155.521-.37.75-1 .56l.901.659c-1.52.793-1.338-1.214-2.868-.43l.48-.478c-.79.277-2.917 0-3.674 1.204-.144-.167-.332-.564 0-.674-1.89-.148-4.183 1.31-5.664.612l.138-.358c-.348.105-.602.678-1.05.325 0-.148.138-.359 0-.378-.182.124-.923.64-1.392.44l.386-.411c-1.85-.44-2.807 1.023-4.343 1.29 0-1.051-1.475-1.376-2.21-1.53V.685c-2.15-.086-3.625.956-5.598 1.4-1.265-1.118-4.188-.392-6.194-.99.31.182 0 .818-.37.957-.475-.206-1.266.755-1.221-.21h.165c-.375-.957-1.326-.67-2.072-.675l-.083 1.267c-2.006-1.778-5.106.813-6.227-.803-.459.33-1.045.34-1.498.67v-.68a12.396 12.396 0 0 0-3.575 0l.31-.478c-.912 0-1.072 1.98-1.912 2.042l-.288-1c-1.591.053-3.232-.774-4.763.192 0-.148.055-.445.31-.478-.746 0-2.918-.588-2.587.788-.06-.903-1.657-.038-2.48.388l.104-.689c-.685.875-.701 1.11-1.696 1.377-.243-.076-.238-.526.088-.368-.812-.32-.59.655-1.574.33l.342-.435c-.823-.029-.746.2-1.177.707-.503.287-1.564-.114-1.713-.712-.094.368-.52.875-1.011.717a.38.38 0 0 1 .013-.245.442.442 0 0 1 .164-.2c-1.393-.406-2 .851-2.973.235a.553.553 0 0 0-.182-.392 9.431 9.431 0 0 1 1.89.028c0-.616-.912-.688-.255-1.563-.685.478-1.845 1.54-2.713 1.286a.84.84 0 0 1-.1-.215l.061-.072a.668.668 0 0 0-.295 0 .61.61 0 0 0-.257.125 1.992 1.992 0 0 0-.718-.158c-.128-.507-1.023-.234-1.465-.244.072.67-.508.583.06 1.119-.07-.048.078-.086.366-.125a.528.528 0 0 0 .188-.076l-.028.062c.287-.033.663-.062 1.105-.09-.332.358-.68.654-1.183.3-.204.445-.43.894-.552 1.11-.647-.914-1.83-1.377-2.022-1.946-1.321.43-3.145.368-3.918 1.663-.376.177-.459-.344-.614-.535.216-.139.476-.13.586-.316-.74.354-2.249.216-2.381 1.105-.984-.364.491-.837-.818-.636l.166-.277c-2.675-1.291-4.09 2.433-7.068.755.204.105.304.148.354.296-3.316-.645-6.709 1.038-10.018-.062-.94-.205-1 .359-1.531.818l-.249-.713-.906.88c-1.315.679-2.47-1.65-4.117-.411l.254.478c-.624-.058-1.939.387-1.873-.177-.055.09-.166.516-.425.272l-.044-.372-1.487.712c-1.199-.215.078-1.506-1.658-1.492C.895 5.105-.22 6.114.04 6.362c.178.01.347.073.478.179a.645.645 0 0 1 .24.4l-.558.225C.17 8.279-.194 9.44 1.304 10.144l.917-.732.36.521-.818.1c.513.479.784 0 1.105-.305.07.225.233.42.458.55l.907-1.114c.149.43-.376.884.292 1.094.426-.516-.502-.956.233-1.314.513.478.403.898.933.44a.447.447 0 0 1 .012.336.525.525 0 0 1-.233.27c.476-.367 1.304-.214 1.525-.817.553.598 1.658-.248 1.691.808.29-.433.74-.77 1.277-.956-.752 1.3 1.724 0 1.591 1.348.553-1.162 2.21-.617 3.255-1.3-.055.095-.16.282-.265.23.624.061.823.391 1.237.592 0-.956.967-1.195 1.448-1.797.812.87-.392 1.118-.1 1.974-.082-.755 1.272-.813.973-1.434.614.53.514.248.862 1.008.028-1.17.553-.22.962-.956.873.54.282 1.086 1.182.689.453.354-.342.808-.342.808Zm21.793-2.93-.447.057.447-.058Zm1.818-.091a7.552 7.552 0 0 0-.801 0c-.072-.23 0-.478.171-.478-.083.186.348.305.63.478Zm-4.128-4.49c.288-.109.393 0 .442.159-.172.02-.343.053-.508.1v.081a.973.973 0 0 1 .066-.34Z"},null,-1)])]))])]))}});export{f as __pageData,x as default}; +import{d as o,u as n,o as s,g as c,h as a,i as l,S as r,x as d,l as m}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const h={id:"hero-text",style:{display:"inline-block",position:"relative"}},u={style:{color:"var(--vp-c-brand)",position:"absolute","z-index":"-1",top:"1em",left:"0.2em",width:"calc(100% - 0.7em)",height:"auto"},width:"240",height:"11",viewBox:"0 0 240 11",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"},f=JSON.parse('{"title":"้ฆ–้กต","titleTemplate":":title | Insight Stack Blog","description":"","frontmatter":{"layout":"home","title":"้ฆ–้กต","titleTemplate":":title | Insight Stack Blog","tk":{"teekHome":true,"features":[{"title":"ๅ…จๆ ˆ","details":"Engineering ร— Product ร— AI","link":"/fullstack/overview","image":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/topic/icon_full_stack_circle.webp"},{"title":"AI ๅญฆไน ไธŽๅฎž่ทต","details":"Model ร— Agent ร— Engineering","link":"/ai-learning/overview","image":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/topic/icon_llm_circle.webp"},{"title":"ไบงๅ“ Sense","details":"Impact ร— Simplicity","link":"/product-sense","image":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/topic/icon_product_sense_circle.webp"}]},"hero":{"name":"Insight Stack Blog","text":"AI & ๅ…จๆ ˆๆŠ€ๆœฏ & ไบงๅ“ๆ€่€ƒไธŽๆˆ้•ฟ่ฎฐๅฝ•","tagline":"โœจๆŽข็ดขๆŠ€ๆœฏๅ‰ๆฒฟ๏ผŒๆฒ‰ๆท€ไบงๅ“ๆ€่€ƒ๏ผŒ่ฎฐๅฝ•ๆˆ้•ฟ็‚นๆปด๏ผŒ็›ธไฟกๆ—ถ้—ด็š„ๅŠ›้‡","actions":[{"theme":"brand","text":"ๅ…ณไบŽๆˆ‘","link":"/about/me"},{"theme":"alt","text":"่ต„ๆบๆŽจ่","link":"/growth/sites"},{"theme":"alt","text":"ไนฆ็ฑๆŽจ่","link":"/growth/books"}],"image":{"src":"/img/full-stack/insight_stack.png","alt":"Insight Stack Blog"}},"features":[{"icon":"๐Ÿ“–","title":"ๅ…จๆ ˆๆŠ€ๆœฏ","details":"ๅ‰็ซฏ & NodeJS & Python ็ญ‰","link":"/fullstack/overview"},{"icon":"๐ŸŽ‰","title":"ไบงๅ“ Sense","details":"ไบงๅ“ Sense = ็”จๆˆทไปทๅ€ผๆดžๅฏŸ ร— ๅ•†ไธšๅฏ่กŒๆ€ง ร— ๆŠ€ๆœฏๅฏๅฎž็Žฐๆ€ง","link":"/product-sense"},{"icon":"๐ŸŽ‡","title":"LLM ๅบ”็”จๅญฆไน ไธŽๅฎž่ทต","details":"ๆขณ็†ๅคง่ฏญ่จ€ๆจกๅž‹ๅบ”็”จใ€Agent ๆŠ€ๆœฏใ€ไธŠไธ‹ๆ–‡ๅทฅ็จ‹ไธŽAI็ผ–็จ‹็ญ‰ไธ“้ข˜๏ผŒๆŽข็ดข AI ๆ—ถไปฃ็š„ๆŠ€ๆœฏไธŽๅบ”็”จใ€‚","link":"/ai-learning/overview"},{"icon":"๐Ÿ“","title":"ไธชไบบๆˆ้•ฟ","details":"ๆ”ถๅฝ•ไธ€ไบ›ไธ้”™็š„็ซ™็‚นใ€ๆŠ€ๆœฏๅ‘จๅˆŠใ€AI ็ญ‰่ต„ๆบ๏ผŒๆ€ป็ป“ไธชไบบๅœจๆ—ถ้—ด็ฎก็†ใ€ๆ•ˆ็އๅทฅๅ…ทใ€ๅฅๅบท็ฎก็†็ญ‰ๆ–น้ข็š„ๆˆ้•ฟ็ป้ชŒใ€‚","link":"/about/me"}]},"headers":[],"relativePath":"index.md","filePath":"index.md"}'),p={name:"index.md"},x=o({...p,setup(g){const{frontmatter:i}=n();return s(()=>{const e=document.querySelector(".VPHero .text"),t=document.querySelector("#hero-text");if(!(!e||!t)){for(;e.lastChild;)e.lastChild.remove();e.append(t)}}),(e,t)=>(a(),c("div",null,[t[1]||(t[1]=l("div",{style:{display:"none"},hidden:"true","aria-hidden":"true"},"Are you an LLM? View /llms.txt for optimized Markdown documentation, or /llms-full.txt for full documentation bundle",-1)),l("span",h,[r(d(m(i).hero.text)+" ",1),(a(),c("svg",u,[...t[0]||(t[0]=[l("path",{d:"M20.766 10.187c.939-.024.386-.885.552-1.401 1.105-.301.553.626.962 1.061.685-.263 1.171-1.1 1.696-1.085.044.144.15.191.044.378.697-.736 2.21-.134 2.995-1.052a.55.55 0 0 1 .127.215 3.35 3.35 0 0 1-.204-1.204c.42-.034.751-.593.94 0-.255 0-.266.23-.377.416l.426-.273c.448.813-.586.316-.553.927.84-.306 1.802-1.037 2.476-.831.182.803-1.525.339-.608 1.023l-1.033-.268c.85 1.248-.625-.057.171 1.276 1.348.177 1.47-.478 2.818-.3.276-.479-.132-.66.144-1.124 1.857-.885 1.602 1.984 2.94.846.337-.555.42-1.582 1.442-1.08l-.276.889c1.298.038.668-1.348 2.06-.784-.226.368-1.005.344-.8.444.917.689.59-.545 1.27-.569l.16.827c1.371-.181 2.863-.827 4.388-1.037-.072.249-.326.512.044.746 1.912-.478 4.123-.058 6.007.368l.68-.727c.05.015.095.04.132.074a.275.275 0 0 1 .077.118c.014.044.015.091.004.136a.27.27 0 0 1-.07.122c.74.243 0-.445.354-.732.414-.062.552.383.315.603 1.248-.636 3.586-1.401 4.973-.694l-.254.22c1.06.249 1.105-1.477 2.127-.855l-.182.129c2.293.23 4.785-.478 6.564.52.293-1.017 2.272.393 2.365-1.022 1.327.664.967.927 2.813 1.348.492.052.702-.899 1.299-1.061l.044.731.79-.794.47.87.552-.205a.66.66 0 0 1-.332-.2.517.517 0 0 1-.132-.33c.873-.354 2.177.477 2.21.831l2.078-.679c-.039.301-.387.411-.657.607 1.105-.779.226.77 1.232.053-.144-.163.06-.44.077-.588.553.435 1.691.416 2.547.205l-.149.512c1.558.1 3.271-.31 5.018-.335-.636-.224-.514-1.109 0-1.204l.226.774c.32-.478-.552-.282.122-.884.652.076.464.875.094 1.138l.784-.287c.056.23-.127.358-.165.655.309-.478 1.387.75 1.834-.096l.05.23c1.746-.03 2.53-.316 3.95-.383 0-.674.553-.535.984-1.085 1.05.196 2.21.707 3.482.63.878-.343.243-.568.635-.955.077.612 1.332.535.69.985a15.353 15.353 0 0 0 3.83-.68c-.21-.243-.447-.353-.331-.563a.738.738 0 0 1 .275.01c.09.02.173.058.245.11a.58.58 0 0 1 .169.188c.04.072.061.151.062.232l-.088.067c2.127-.956 4.973 1.706 6.669.41l-.099.068 1.763-.684c.817.1-.481.478.127.842 1.9-1.043 3.022.12 4.586-.574 1.243 1.793 4.327-.167 5.979.956l-.1-.42c.426-.421.52.234.835.33-.05-.33-.464-.378-.205-.613 3.598-.545 7.438.598 11.129.956 1.348.11.757-2.203 2.465-1.195l-.481.794c2.719-.956 5.564 0 8.233-.77-.154.182-.16.416-.425.416.552.574 2.083.034 2.094-.435.42.053.1.425.354.665.552.339 1.42-.732 1.718-.158.05.09-.16.186-.265.23.37-.278 1.719.076 1.365-.589 1 .32 1.917-.287 2.713.105.553-.736 1.713.364 1.884-.683-.077 1.08 1.752.875 2.387.377-.215.326.553.345.299.794.718 0 1.381-.206 1.265-.76 1.315 1.305 2.686-1.018 3.415.645a45.888 45.888 0 0 1 6.078-1.17c-.082 1.075-2.138.09-2.066 1.218 1.834-.425 2.906-1.343 4.719-1.066.47.153-.276.478-.437.65 1.835-.43 3.537.148 5.172-.42 0 .1-.182.21-.348.291.321-.033.741.167.713-.325l-.315.13c-.497-.718 1.304-1.468 1.365-1.841-.553 1.396 1.602.377.707 2.137a.73.73 0 0 0 .337-.263.58.58 0 0 0 .1-.383c.315.1.409.297.083.665 1.155-.254.757-.78 1.801-.75 0 .233-.221.324-.337.601.553-.478 1.078-.908 1.951-.697-.056.143.044.33-.216.325 1.509-.048 2.603-1.195 4.249-.722-.513 1.023.553.349.625 1.243l.895-.254-.348-.44c.785.034 1.492-.602 2.155-.296l-.591.354 1.47-.139-.824-.354c.807-.444-.055-1.132.978-.86-.21.086.785.029 1.177.56.398-.278.801-.57 1.376-.335.138.291-.149.984-.055 1.176.398-.736 1.834-.168 2.337-.956-.143.227-.192.49-.138.745l.337-.597c.359.2.409.296.337.669 1.105.134-.309-1.138.967-.626-.105.048-.055.138-.27.23 1.287.277 2.519-.335 3.702 0 .326.903-1.05.195-.669.955 1.724-.129 3.592-.999 5.25-.74l-.31-.106c.277-1.262 1.221.66 2.083.086-.21.086-.298.693-.237.555 1.105.234 2.343-.249 4.083-.603l-.226.32c.657.311 1.763.216 2.481.383.226-.315.641-.253.403-.731 2.166 1.912 4.305-.89 6.228.726-.238 0-.553.268-.387.273l1.702-.244c-.111-.554-.21-.34-.553-.784.124-.163.292-.298.489-.392.198-.094.419-.145.644-.148-.774.34-.028.884.287 1.205-.049-.173.072-.354.05-.526.846 1.008.199-1.11 1.376-.407l-.077.287c.458-.134.889-.478 1.37-.401.177.645-.492.282-.552.803.685 0 1.403-1.162 1.994-.507-.298.167-.718.158-1.016.325.641.77.729.583 1.221.717h-.044l1.138.378-.282-.21c.928-1.635 1.752-.25 2.951-1.3-1.166.994-.21.592-.332 1.309.288.21.724.454.586.65.553-.564.89.478 1.696-.34 0 .235.581.044.431.627.713-.163-.149-.411-.077-.703 1.133-.76 2.514 1.061 4.139.029 1.376-.397 1.658-1.171 2.94-1.515.403.392-.393.836-.393.836.267.161.581.255.906.27a1.97 1.97 0 0 0 .934-.184c-.138.196 0 .373.172.64.519-.038.386-.831 1.05-.477a3.24 3.24 0 0 1-.553.918c.619-.192 1.243-.603 1.884-.79.149.412-.409.603-.646.856.718-.153 1.851-.296 2.105-.927l-.442-.248c.26 0 .105.559-.094.669-.63.478-.862-.258-.884-.478l.459-.134c-.387-1.382-1.818.148-2.719.033l.431-.956-.973.784c-.182-.263-.287-.822.166-.956-.624-.516-.591.33-1.105-.239-.055-.086-.028-.134.033-.172l-.646.273c.132-.201-.072-.703.309-.545-1.105-.617-1.873.674-2.26-.096l.099-.057c-1.596.272-.193.721-1.414 1.534l-.713-1.83-.188.721c-.16-.033-.481-.1-.409-.387-.63.478.089.32-.287.78-.752-.699-2.172.229-2.293-.957-.31.545.729.478-.127.813-.183-1.258-.978.181-1.658-.416.254-.636.917-.273.226-.875-.486 1.076-1.386-.282-2-.096-.066.87-1.332.32-2.354.579.078-.292-1.89-.54-2.818-.885l.033-.148c-.221.87-1.182.674-1.901.832a.906.906 0 0 1 .132-.55c.102-.169.258-.31.449-.406h-.669a.979.979 0 0 1-.34.327 1.167 1.167 0 0 1-.478.151l.194-.65c-.885 0-1.813.712-2.94.244-.083.607.84 1.725-.381 2.103-.034-.335-.056-.899.27-1.028-.105.043-.381.263-.585.12l.502-.545c-.508-.258-.287.478-.701.397 0-.478-.293-.35-.221-.722.11-.038.359.205.525 0a1.931 1.931 0 0 1-.691-.264 1.649 1.649 0 0 1-.503-.487c.028.268-.028.636-.37.684-.89 0-.282-.574-.79-.832-.227.325-.78-.033-.824.674-.259 0-.293-.34-.387-.535-.469.3-2.149.033-1.657.793l.116.053s-.05 0-.078.033c-1.525.66-3.105-.478-4.608-.224V3.34c-.895.244-1.984.106-2.636.593a.711.711 0 0 1-.402-.28.553.553 0 0 1-.084-.442c-.691.158-.774.416-1.746 0 .701-.396-.221-.373.713-.287-.879-.224-1.067-.607-2.039 0 .342-.597-.641-.774-1.067-.602l.608.445c-.436.053-.88.039-1.31-.043l.254-.794c-1.784-1.004-3.315 1.578-4.647-.067-.497.545.973.411.553 1.052-.829-.124-1.658-1.286-1.929-1.29-1.132-.479-1.105 1.137-2.282.812a.818.818 0 0 1 .031.774.938.938 0 0 1-.264.323 1.11 1.11 0 0 1-.397.198c-.829-.124-.994-1.214-.464-1.434.205 0 .299.072.288.168.27-.096.629-.21.303-.526l-.116.282c-.403-.297-1.552-.292-1.271-.75-.635.257-.281.477.183.616-1.061-.435-1.658-.053-2.763-.344.171.162.326.478.155.478-1.608-.378-.724.526-1.824.636-.608-.445.249-1.033-.862-.684-.668-.306-.127-.755.149-.985-1.016.536-1.867-.387-2.442-.478l.553-.22a1.892 1.892 0 0 1-.846.12l.293.573c-.309-.105-.553-.11-.553-.348-.326.368.227.956-.42 1.434-.403-.297-1.265.286-1.392-.478 1.298.272-.127-.76.978-.866a1.102 1.102 0 0 1-.851.024c-.044-.086.044-.157.133-.2-1.233-.689-.592.846-1.879.807.171-.42-.287-.808-.497-.721.519 0 .237.712-.249 1.027-.823-.34-.906.235-1.337.187l.491.162c-.176.426-.585.364-1.165.478-.045-.33.524-.22.326-.368-.652.736-1.437-.793-2.338-.306-.409-.291-.027-.798-.387-.999-1.011.54-1.077-.588-2.133-.148.293.574.349.435-.403.985l1.735-.387-1.105.822c.525 0 1.105-.35 1.42-.249-.553.478-.481.316-.238.794-.701-.86-1.425.478-2.21-.1l.044-1.41c-1.232-.641-2.21.702-3.823.334l.513.248c-.221.56-.994.072-1.519.292.055-.478-.271-.645-.492-.956.028.349-1.177-.043-1.337.899l-.707-.627c-1.305-.267-1.503 1.33-2.763 1.157.381-.507-.183-.846.657-1.21-.414 0-.79-.095-.801.23-.276-.263-1.199.646-1.575.215-.182.206-.243.698-.713.655a.337.337 0 0 1 0-.234c0 .234-.735.31-.331.837-1.271-1.478-3.592.095-4.708-1.172-.936.165-1.883.277-2.835.335.05-.139 0-.234.16-.186-1.143-.44-.707 1.352-2.005.86-.664-.765.69-.411.276-.703-.171-1.553-1.564.21-2.437-.702l.21-.091c-.663-.555-1.608.564-2.713.454a.326.326 0 0 0 0-.234c-.746.784-2.155 1.051-3.205 1.271.326-.607.475-.32.276-.956-.47.091.138.99-.801 1.167-.304-.33-.984-.622-1.078-1.282l.89-.019c-.459-.85-1.149.034-1.613-.114l.055-.368c-1.36.124-1.376 1.06-2.835.999l.155.282c-.796.956-.674-.521-1.465.172l-.248-.956c-.871.453-1.797.82-2.763 1.094.552-.698 1.658-1.06 2.315-1.477-.519 0-1.774.072-2.044.54.21-.09.475-.325.685-.181a2.832 2.832 0 0 1-1.094.83 3.298 3.298 0 0 1-1.42.27c.171-1.832-2.713-.455-3.482-1.865-1.834.693-3.652-.258-5.796-.13.774 1.435-.625.049-.481 1.507-.497.1-.685.076-.729 0l-1.525-.86c-.365-.421.469-.326.42-.65-1.106-.106-.465-.618-1.194-1 .155.521-.37.75-1 .56l.901.659c-1.52.793-1.338-1.214-2.868-.43l.48-.478c-.79.277-2.917 0-3.674 1.204-.144-.167-.332-.564 0-.674-1.89-.148-4.183 1.31-5.664.612l.138-.358c-.348.105-.602.678-1.05.325 0-.148.138-.359 0-.378-.182.124-.923.64-1.392.44l.386-.411c-1.85-.44-2.807 1.023-4.343 1.29 0-1.051-1.475-1.376-2.21-1.53V.685c-2.15-.086-3.625.956-5.598 1.4-1.265-1.118-4.188-.392-6.194-.99.31.182 0 .818-.37.957-.475-.206-1.266.755-1.221-.21h.165c-.375-.957-1.326-.67-2.072-.675l-.083 1.267c-2.006-1.778-5.106.813-6.227-.803-.459.33-1.045.34-1.498.67v-.68a12.396 12.396 0 0 0-3.575 0l.31-.478c-.912 0-1.072 1.98-1.912 2.042l-.288-1c-1.591.053-3.232-.774-4.763.192 0-.148.055-.445.31-.478-.746 0-2.918-.588-2.587.788-.06-.903-1.657-.038-2.48.388l.104-.689c-.685.875-.701 1.11-1.696 1.377-.243-.076-.238-.526.088-.368-.812-.32-.59.655-1.574.33l.342-.435c-.823-.029-.746.2-1.177.707-.503.287-1.564-.114-1.713-.712-.094.368-.52.875-1.011.717a.38.38 0 0 1 .013-.245.442.442 0 0 1 .164-.2c-1.393-.406-2 .851-2.973.235a.553.553 0 0 0-.182-.392 9.431 9.431 0 0 1 1.89.028c0-.616-.912-.688-.255-1.563-.685.478-1.845 1.54-2.713 1.286a.84.84 0 0 1-.1-.215l.061-.072a.668.668 0 0 0-.295 0 .61.61 0 0 0-.257.125 1.992 1.992 0 0 0-.718-.158c-.128-.507-1.023-.234-1.465-.244.072.67-.508.583.06 1.119-.07-.048.078-.086.366-.125a.528.528 0 0 0 .188-.076l-.028.062c.287-.033.663-.062 1.105-.09-.332.358-.68.654-1.183.3-.204.445-.43.894-.552 1.11-.647-.914-1.83-1.377-2.022-1.946-1.321.43-3.145.368-3.918 1.663-.376.177-.459-.344-.614-.535.216-.139.476-.13.586-.316-.74.354-2.249.216-2.381 1.105-.984-.364.491-.837-.818-.636l.166-.277c-2.675-1.291-4.09 2.433-7.068.755.204.105.304.148.354.296-3.316-.645-6.709 1.038-10.018-.062-.94-.205-1 .359-1.531.818l-.249-.713-.906.88c-1.315.679-2.47-1.65-4.117-.411l.254.478c-.624-.058-1.939.387-1.873-.177-.055.09-.166.516-.425.272l-.044-.372-1.487.712c-1.199-.215.078-1.506-1.658-1.492C.895 5.105-.22 6.114.04 6.362c.178.01.347.073.478.179a.645.645 0 0 1 .24.4l-.558.225C.17 8.279-.194 9.44 1.304 10.144l.917-.732.36.521-.818.1c.513.479.784 0 1.105-.305.07.225.233.42.458.55l.907-1.114c.149.43-.376.884.292 1.094.426-.516-.502-.956.233-1.314.513.478.403.898.933.44a.447.447 0 0 1 .012.336.525.525 0 0 1-.233.27c.476-.367 1.304-.214 1.525-.817.553.598 1.658-.248 1.691.808.29-.433.74-.77 1.277-.956-.752 1.3 1.724 0 1.591 1.348.553-1.162 2.21-.617 3.255-1.3-.055.095-.16.282-.265.23.624.061.823.391 1.237.592 0-.956.967-1.195 1.448-1.797.812.87-.392 1.118-.1 1.974-.082-.755 1.272-.813.973-1.434.614.53.514.248.862 1.008.028-1.17.553-.22.962-.956.873.54.282 1.086 1.182.689.453.354-.342.808-.342.808Zm21.793-2.93-.447.057.447-.058Zm1.818-.091a7.552 7.552 0 0 0-.801 0c-.072-.23 0-.478.171-.478-.083.186.348.305.63.478Zm-4.128-4.49c.288-.109.393 0 .442.159-.172.02-.343.053-.508.1v.081a.973.973 0 0 1 .066-.34Z"},null,-1)])]))])]))}});export{f as __pageData,x as default}; diff --git a/assets/index.md.Dpw0tPo2.lean.js b/assets/index.md.CZC8OIc5.lean.js similarity index 99% rename from assets/index.md.Dpw0tPo2.lean.js rename to assets/index.md.CZC8OIc5.lean.js index ebc9796b..182d4341 100644 --- a/assets/index.md.Dpw0tPo2.lean.js +++ b/assets/index.md.CZC8OIc5.lean.js @@ -1 +1 @@ -import{d as o,u as n,o as s,g as c,h as a,i as l,S as r,x as d,l as m}from"./chunks/vitepress-theme-teek.CJu9alwu.js";const h={id:"hero-text",style:{display:"inline-block",position:"relative"}},u={style:{color:"var(--vp-c-brand)",position:"absolute","z-index":"-1",top:"1em",left:"0.2em",width:"calc(100% - 0.7em)",height:"auto"},width:"240",height:"11",viewBox:"0 0 240 11",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"},f=JSON.parse('{"title":"้ฆ–้กต","titleTemplate":":title | Insight Stack Blog","description":"","frontmatter":{"layout":"home","title":"้ฆ–้กต","titleTemplate":":title | Insight Stack Blog","tk":{"teekHome":true,"features":[{"title":"ๅ…จๆ ˆ","details":"Engineering ร— Product ร— AI","link":"/fullstack/overview","image":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/topic/icon_full_stack_circle.webp"},{"title":"AI ๅญฆไน ไธŽๅฎž่ทต","details":"Model ร— Agent ร— Engineering","link":"/ai-learning/overview","image":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/topic/icon_llm_circle.webp"},{"title":"ไบงๅ“ Sense","details":"Impact ร— Simplicity","link":"/product-sense","image":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/topic/icon_product_sense_circle.webp"}]},"hero":{"name":"Insight Stack Blog","text":"AI & ๅ…จๆ ˆๆŠ€ๆœฏ & ไบงๅ“ๆ€่€ƒไธŽๆˆ้•ฟ่ฎฐๅฝ•","tagline":"โœจๆŽข็ดขๆŠ€ๆœฏๅ‰ๆฒฟ๏ผŒๆฒ‰ๆท€ไบงๅ“ๆ€่€ƒ๏ผŒ่ฎฐๅฝ•ๆˆ้•ฟ็‚นๆปด๏ผŒ็›ธไฟกๆ—ถ้—ด็š„ๅŠ›้‡","actions":[{"theme":"brand","text":"ๅ…ณไบŽๆˆ‘","link":"/about/me"},{"theme":"alt","text":"่ต„ๆบๆŽจ่","link":"/growth/sites"},{"theme":"alt","text":"ไนฆ็ฑๆŽจ่","link":"/growth/books"}],"image":{"src":"/img/full-stack/insight_stack.png","alt":"Insight Stack Blog"}},"features":[{"icon":"๐Ÿ“–","title":"ๅ…จๆ ˆๆŠ€ๆœฏ","details":"ๅ‰็ซฏ & NodeJS & Python ็ญ‰","link":"/fullstack/overview"},{"icon":"๐ŸŽ‰","title":"ไบงๅ“ Sense","details":"ไบงๅ“ Sense = ็”จๆˆทไปทๅ€ผๆดžๅฏŸ ร— ๅ•†ไธšๅฏ่กŒๆ€ง ร— ๆŠ€ๆœฏๅฏๅฎž็Žฐๆ€ง","link":"/product-sense"},{"icon":"๐ŸŽ‡","title":"LLM ๅบ”็”จๅญฆไน ไธŽๅฎž่ทต","details":"ๆขณ็†ๅคง่ฏญ่จ€ๆจกๅž‹ๅบ”็”จใ€Agent ๆŠ€ๆœฏใ€ไธŠไธ‹ๆ–‡ๅทฅ็จ‹ไธŽAI็ผ–็จ‹็ญ‰ไธ“้ข˜๏ผŒๆŽข็ดข AI ๆ—ถไปฃ็š„ๆŠ€ๆœฏไธŽๅบ”็”จใ€‚","link":"/ai-learning/overview"},{"icon":"๐Ÿ“","title":"ไธชไบบๆˆ้•ฟ","details":"ๆ”ถๅฝ•ไธ€ไบ›ไธ้”™็š„็ซ™็‚นใ€ๆŠ€ๆœฏๅ‘จๅˆŠใ€AI ็ญ‰่ต„ๆบ๏ผŒๆ€ป็ป“ไธชไบบๅœจๆ—ถ้—ด็ฎก็†ใ€ๆ•ˆ็އๅทฅๅ…ทใ€ๅฅๅบท็ฎก็†็ญ‰ๆ–น้ข็š„ๆˆ้•ฟ็ป้ชŒใ€‚","link":"/about/me"}]},"headers":[],"relativePath":"index.md","filePath":"index.md"}'),p={name:"index.md"},x=o({...p,setup(g){const{frontmatter:i}=n();return s(()=>{const e=document.querySelector(".VPHero .text"),t=document.querySelector("#hero-text");if(!(!e||!t)){for(;e.lastChild;)e.lastChild.remove();e.append(t)}}),(e,t)=>(a(),c("div",null,[t[1]||(t[1]=l("div",{style:{display:"none"},hidden:"true","aria-hidden":"true"},"Are you an LLM? View /llms.txt for optimized Markdown documentation, or /llms-full.txt for full documentation bundle",-1)),l("span",h,[r(d(m(i).hero.text)+" ",1),(a(),c("svg",u,[...t[0]||(t[0]=[l("path",{d:"M20.766 10.187c.939-.024.386-.885.552-1.401 1.105-.301.553.626.962 1.061.685-.263 1.171-1.1 1.696-1.085.044.144.15.191.044.378.697-.736 2.21-.134 2.995-1.052a.55.55 0 0 1 .127.215 3.35 3.35 0 0 1-.204-1.204c.42-.034.751-.593.94 0-.255 0-.266.23-.377.416l.426-.273c.448.813-.586.316-.553.927.84-.306 1.802-1.037 2.476-.831.182.803-1.525.339-.608 1.023l-1.033-.268c.85 1.248-.625-.057.171 1.276 1.348.177 1.47-.478 2.818-.3.276-.479-.132-.66.144-1.124 1.857-.885 1.602 1.984 2.94.846.337-.555.42-1.582 1.442-1.08l-.276.889c1.298.038.668-1.348 2.06-.784-.226.368-1.005.344-.8.444.917.689.59-.545 1.27-.569l.16.827c1.371-.181 2.863-.827 4.388-1.037-.072.249-.326.512.044.746 1.912-.478 4.123-.058 6.007.368l.68-.727c.05.015.095.04.132.074a.275.275 0 0 1 .077.118c.014.044.015.091.004.136a.27.27 0 0 1-.07.122c.74.243 0-.445.354-.732.414-.062.552.383.315.603 1.248-.636 3.586-1.401 4.973-.694l-.254.22c1.06.249 1.105-1.477 2.127-.855l-.182.129c2.293.23 4.785-.478 6.564.52.293-1.017 2.272.393 2.365-1.022 1.327.664.967.927 2.813 1.348.492.052.702-.899 1.299-1.061l.044.731.79-.794.47.87.552-.205a.66.66 0 0 1-.332-.2.517.517 0 0 1-.132-.33c.873-.354 2.177.477 2.21.831l2.078-.679c-.039.301-.387.411-.657.607 1.105-.779.226.77 1.232.053-.144-.163.06-.44.077-.588.553.435 1.691.416 2.547.205l-.149.512c1.558.1 3.271-.31 5.018-.335-.636-.224-.514-1.109 0-1.204l.226.774c.32-.478-.552-.282.122-.884.652.076.464.875.094 1.138l.784-.287c.056.23-.127.358-.165.655.309-.478 1.387.75 1.834-.096l.05.23c1.746-.03 2.53-.316 3.95-.383 0-.674.553-.535.984-1.085 1.05.196 2.21.707 3.482.63.878-.343.243-.568.635-.955.077.612 1.332.535.69.985a15.353 15.353 0 0 0 3.83-.68c-.21-.243-.447-.353-.331-.563a.738.738 0 0 1 .275.01c.09.02.173.058.245.11a.58.58 0 0 1 .169.188c.04.072.061.151.062.232l-.088.067c2.127-.956 4.973 1.706 6.669.41l-.099.068 1.763-.684c.817.1-.481.478.127.842 1.9-1.043 3.022.12 4.586-.574 1.243 1.793 4.327-.167 5.979.956l-.1-.42c.426-.421.52.234.835.33-.05-.33-.464-.378-.205-.613 3.598-.545 7.438.598 11.129.956 1.348.11.757-2.203 2.465-1.195l-.481.794c2.719-.956 5.564 0 8.233-.77-.154.182-.16.416-.425.416.552.574 2.083.034 2.094-.435.42.053.1.425.354.665.552.339 1.42-.732 1.718-.158.05.09-.16.186-.265.23.37-.278 1.719.076 1.365-.589 1 .32 1.917-.287 2.713.105.553-.736 1.713.364 1.884-.683-.077 1.08 1.752.875 2.387.377-.215.326.553.345.299.794.718 0 1.381-.206 1.265-.76 1.315 1.305 2.686-1.018 3.415.645a45.888 45.888 0 0 1 6.078-1.17c-.082 1.075-2.138.09-2.066 1.218 1.834-.425 2.906-1.343 4.719-1.066.47.153-.276.478-.437.65 1.835-.43 3.537.148 5.172-.42 0 .1-.182.21-.348.291.321-.033.741.167.713-.325l-.315.13c-.497-.718 1.304-1.468 1.365-1.841-.553 1.396 1.602.377.707 2.137a.73.73 0 0 0 .337-.263.58.58 0 0 0 .1-.383c.315.1.409.297.083.665 1.155-.254.757-.78 1.801-.75 0 .233-.221.324-.337.601.553-.478 1.078-.908 1.951-.697-.056.143.044.33-.216.325 1.509-.048 2.603-1.195 4.249-.722-.513 1.023.553.349.625 1.243l.895-.254-.348-.44c.785.034 1.492-.602 2.155-.296l-.591.354 1.47-.139-.824-.354c.807-.444-.055-1.132.978-.86-.21.086.785.029 1.177.56.398-.278.801-.57 1.376-.335.138.291-.149.984-.055 1.176.398-.736 1.834-.168 2.337-.956-.143.227-.192.49-.138.745l.337-.597c.359.2.409.296.337.669 1.105.134-.309-1.138.967-.626-.105.048-.055.138-.27.23 1.287.277 2.519-.335 3.702 0 .326.903-1.05.195-.669.955 1.724-.129 3.592-.999 5.25-.74l-.31-.106c.277-1.262 1.221.66 2.083.086-.21.086-.298.693-.237.555 1.105.234 2.343-.249 4.083-.603l-.226.32c.657.311 1.763.216 2.481.383.226-.315.641-.253.403-.731 2.166 1.912 4.305-.89 6.228.726-.238 0-.553.268-.387.273l1.702-.244c-.111-.554-.21-.34-.553-.784.124-.163.292-.298.489-.392.198-.094.419-.145.644-.148-.774.34-.028.884.287 1.205-.049-.173.072-.354.05-.526.846 1.008.199-1.11 1.376-.407l-.077.287c.458-.134.889-.478 1.37-.401.177.645-.492.282-.552.803.685 0 1.403-1.162 1.994-.507-.298.167-.718.158-1.016.325.641.77.729.583 1.221.717h-.044l1.138.378-.282-.21c.928-1.635 1.752-.25 2.951-1.3-1.166.994-.21.592-.332 1.309.288.21.724.454.586.65.553-.564.89.478 1.696-.34 0 .235.581.044.431.627.713-.163-.149-.411-.077-.703 1.133-.76 2.514 1.061 4.139.029 1.376-.397 1.658-1.171 2.94-1.515.403.392-.393.836-.393.836.267.161.581.255.906.27a1.97 1.97 0 0 0 .934-.184c-.138.196 0 .373.172.64.519-.038.386-.831 1.05-.477a3.24 3.24 0 0 1-.553.918c.619-.192 1.243-.603 1.884-.79.149.412-.409.603-.646.856.718-.153 1.851-.296 2.105-.927l-.442-.248c.26 0 .105.559-.094.669-.63.478-.862-.258-.884-.478l.459-.134c-.387-1.382-1.818.148-2.719.033l.431-.956-.973.784c-.182-.263-.287-.822.166-.956-.624-.516-.591.33-1.105-.239-.055-.086-.028-.134.033-.172l-.646.273c.132-.201-.072-.703.309-.545-1.105-.617-1.873.674-2.26-.096l.099-.057c-1.596.272-.193.721-1.414 1.534l-.713-1.83-.188.721c-.16-.033-.481-.1-.409-.387-.63.478.089.32-.287.78-.752-.699-2.172.229-2.293-.957-.31.545.729.478-.127.813-.183-1.258-.978.181-1.658-.416.254-.636.917-.273.226-.875-.486 1.076-1.386-.282-2-.096-.066.87-1.332.32-2.354.579.078-.292-1.89-.54-2.818-.885l.033-.148c-.221.87-1.182.674-1.901.832a.906.906 0 0 1 .132-.55c.102-.169.258-.31.449-.406h-.669a.979.979 0 0 1-.34.327 1.167 1.167 0 0 1-.478.151l.194-.65c-.885 0-1.813.712-2.94.244-.083.607.84 1.725-.381 2.103-.034-.335-.056-.899.27-1.028-.105.043-.381.263-.585.12l.502-.545c-.508-.258-.287.478-.701.397 0-.478-.293-.35-.221-.722.11-.038.359.205.525 0a1.931 1.931 0 0 1-.691-.264 1.649 1.649 0 0 1-.503-.487c.028.268-.028.636-.37.684-.89 0-.282-.574-.79-.832-.227.325-.78-.033-.824.674-.259 0-.293-.34-.387-.535-.469.3-2.149.033-1.657.793l.116.053s-.05 0-.078.033c-1.525.66-3.105-.478-4.608-.224V3.34c-.895.244-1.984.106-2.636.593a.711.711 0 0 1-.402-.28.553.553 0 0 1-.084-.442c-.691.158-.774.416-1.746 0 .701-.396-.221-.373.713-.287-.879-.224-1.067-.607-2.039 0 .342-.597-.641-.774-1.067-.602l.608.445c-.436.053-.88.039-1.31-.043l.254-.794c-1.784-1.004-3.315 1.578-4.647-.067-.497.545.973.411.553 1.052-.829-.124-1.658-1.286-1.929-1.29-1.132-.479-1.105 1.137-2.282.812a.818.818 0 0 1 .031.774.938.938 0 0 1-.264.323 1.11 1.11 0 0 1-.397.198c-.829-.124-.994-1.214-.464-1.434.205 0 .299.072.288.168.27-.096.629-.21.303-.526l-.116.282c-.403-.297-1.552-.292-1.271-.75-.635.257-.281.477.183.616-1.061-.435-1.658-.053-2.763-.344.171.162.326.478.155.478-1.608-.378-.724.526-1.824.636-.608-.445.249-1.033-.862-.684-.668-.306-.127-.755.149-.985-1.016.536-1.867-.387-2.442-.478l.553-.22a1.892 1.892 0 0 1-.846.12l.293.573c-.309-.105-.553-.11-.553-.348-.326.368.227.956-.42 1.434-.403-.297-1.265.286-1.392-.478 1.298.272-.127-.76.978-.866a1.102 1.102 0 0 1-.851.024c-.044-.086.044-.157.133-.2-1.233-.689-.592.846-1.879.807.171-.42-.287-.808-.497-.721.519 0 .237.712-.249 1.027-.823-.34-.906.235-1.337.187l.491.162c-.176.426-.585.364-1.165.478-.045-.33.524-.22.326-.368-.652.736-1.437-.793-2.338-.306-.409-.291-.027-.798-.387-.999-1.011.54-1.077-.588-2.133-.148.293.574.349.435-.403.985l1.735-.387-1.105.822c.525 0 1.105-.35 1.42-.249-.553.478-.481.316-.238.794-.701-.86-1.425.478-2.21-.1l.044-1.41c-1.232-.641-2.21.702-3.823.334l.513.248c-.221.56-.994.072-1.519.292.055-.478-.271-.645-.492-.956.028.349-1.177-.043-1.337.899l-.707-.627c-1.305-.267-1.503 1.33-2.763 1.157.381-.507-.183-.846.657-1.21-.414 0-.79-.095-.801.23-.276-.263-1.199.646-1.575.215-.182.206-.243.698-.713.655a.337.337 0 0 1 0-.234c0 .234-.735.31-.331.837-1.271-1.478-3.592.095-4.708-1.172-.936.165-1.883.277-2.835.335.05-.139 0-.234.16-.186-1.143-.44-.707 1.352-2.005.86-.664-.765.69-.411.276-.703-.171-1.553-1.564.21-2.437-.702l.21-.091c-.663-.555-1.608.564-2.713.454a.326.326 0 0 0 0-.234c-.746.784-2.155 1.051-3.205 1.271.326-.607.475-.32.276-.956-.47.091.138.99-.801 1.167-.304-.33-.984-.622-1.078-1.282l.89-.019c-.459-.85-1.149.034-1.613-.114l.055-.368c-1.36.124-1.376 1.06-2.835.999l.155.282c-.796.956-.674-.521-1.465.172l-.248-.956c-.871.453-1.797.82-2.763 1.094.552-.698 1.658-1.06 2.315-1.477-.519 0-1.774.072-2.044.54.21-.09.475-.325.685-.181a2.832 2.832 0 0 1-1.094.83 3.298 3.298 0 0 1-1.42.27c.171-1.832-2.713-.455-3.482-1.865-1.834.693-3.652-.258-5.796-.13.774 1.435-.625.049-.481 1.507-.497.1-.685.076-.729 0l-1.525-.86c-.365-.421.469-.326.42-.65-1.106-.106-.465-.618-1.194-1 .155.521-.37.75-1 .56l.901.659c-1.52.793-1.338-1.214-2.868-.43l.48-.478c-.79.277-2.917 0-3.674 1.204-.144-.167-.332-.564 0-.674-1.89-.148-4.183 1.31-5.664.612l.138-.358c-.348.105-.602.678-1.05.325 0-.148.138-.359 0-.378-.182.124-.923.64-1.392.44l.386-.411c-1.85-.44-2.807 1.023-4.343 1.29 0-1.051-1.475-1.376-2.21-1.53V.685c-2.15-.086-3.625.956-5.598 1.4-1.265-1.118-4.188-.392-6.194-.99.31.182 0 .818-.37.957-.475-.206-1.266.755-1.221-.21h.165c-.375-.957-1.326-.67-2.072-.675l-.083 1.267c-2.006-1.778-5.106.813-6.227-.803-.459.33-1.045.34-1.498.67v-.68a12.396 12.396 0 0 0-3.575 0l.31-.478c-.912 0-1.072 1.98-1.912 2.042l-.288-1c-1.591.053-3.232-.774-4.763.192 0-.148.055-.445.31-.478-.746 0-2.918-.588-2.587.788-.06-.903-1.657-.038-2.48.388l.104-.689c-.685.875-.701 1.11-1.696 1.377-.243-.076-.238-.526.088-.368-.812-.32-.59.655-1.574.33l.342-.435c-.823-.029-.746.2-1.177.707-.503.287-1.564-.114-1.713-.712-.094.368-.52.875-1.011.717a.38.38 0 0 1 .013-.245.442.442 0 0 1 .164-.2c-1.393-.406-2 .851-2.973.235a.553.553 0 0 0-.182-.392 9.431 9.431 0 0 1 1.89.028c0-.616-.912-.688-.255-1.563-.685.478-1.845 1.54-2.713 1.286a.84.84 0 0 1-.1-.215l.061-.072a.668.668 0 0 0-.295 0 .61.61 0 0 0-.257.125 1.992 1.992 0 0 0-.718-.158c-.128-.507-1.023-.234-1.465-.244.072.67-.508.583.06 1.119-.07-.048.078-.086.366-.125a.528.528 0 0 0 .188-.076l-.028.062c.287-.033.663-.062 1.105-.09-.332.358-.68.654-1.183.3-.204.445-.43.894-.552 1.11-.647-.914-1.83-1.377-2.022-1.946-1.321.43-3.145.368-3.918 1.663-.376.177-.459-.344-.614-.535.216-.139.476-.13.586-.316-.74.354-2.249.216-2.381 1.105-.984-.364.491-.837-.818-.636l.166-.277c-2.675-1.291-4.09 2.433-7.068.755.204.105.304.148.354.296-3.316-.645-6.709 1.038-10.018-.062-.94-.205-1 .359-1.531.818l-.249-.713-.906.88c-1.315.679-2.47-1.65-4.117-.411l.254.478c-.624-.058-1.939.387-1.873-.177-.055.09-.166.516-.425.272l-.044-.372-1.487.712c-1.199-.215.078-1.506-1.658-1.492C.895 5.105-.22 6.114.04 6.362c.178.01.347.073.478.179a.645.645 0 0 1 .24.4l-.558.225C.17 8.279-.194 9.44 1.304 10.144l.917-.732.36.521-.818.1c.513.479.784 0 1.105-.305.07.225.233.42.458.55l.907-1.114c.149.43-.376.884.292 1.094.426-.516-.502-.956.233-1.314.513.478.403.898.933.44a.447.447 0 0 1 .012.336.525.525 0 0 1-.233.27c.476-.367 1.304-.214 1.525-.817.553.598 1.658-.248 1.691.808.29-.433.74-.77 1.277-.956-.752 1.3 1.724 0 1.591 1.348.553-1.162 2.21-.617 3.255-1.3-.055.095-.16.282-.265.23.624.061.823.391 1.237.592 0-.956.967-1.195 1.448-1.797.812.87-.392 1.118-.1 1.974-.082-.755 1.272-.813.973-1.434.614.53.514.248.862 1.008.028-1.17.553-.22.962-.956.873.54.282 1.086 1.182.689.453.354-.342.808-.342.808Zm21.793-2.93-.447.057.447-.058Zm1.818-.091a7.552 7.552 0 0 0-.801 0c-.072-.23 0-.478.171-.478-.083.186.348.305.63.478Zm-4.128-4.49c.288-.109.393 0 .442.159-.172.02-.343.053-.508.1v.081a.973.973 0 0 1 .066-.34Z"},null,-1)])]))])]))}});export{f as __pageData,x as default}; +import{d as o,u as n,o as s,g as c,h as a,i as l,S as r,x as d,l as m}from"./chunks/vitepress-theme-teek.CqY1sKvl.js";const h={id:"hero-text",style:{display:"inline-block",position:"relative"}},u={style:{color:"var(--vp-c-brand)",position:"absolute","z-index":"-1",top:"1em",left:"0.2em",width:"calc(100% - 0.7em)",height:"auto"},width:"240",height:"11",viewBox:"0 0 240 11",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"},f=JSON.parse('{"title":"้ฆ–้กต","titleTemplate":":title | Insight Stack Blog","description":"","frontmatter":{"layout":"home","title":"้ฆ–้กต","titleTemplate":":title | Insight Stack Blog","tk":{"teekHome":true,"features":[{"title":"ๅ…จๆ ˆ","details":"Engineering ร— Product ร— AI","link":"/fullstack/overview","image":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/topic/icon_full_stack_circle.webp"},{"title":"AI ๅญฆไน ไธŽๅฎž่ทต","details":"Model ร— Agent ร— Engineering","link":"/ai-learning/overview","image":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/topic/icon_llm_circle.webp"},{"title":"ไบงๅ“ Sense","details":"Impact ร— Simplicity","link":"/product-sense","image":"https://insight-stack-1252300811.cos.ap-shanghai.myqcloud.com/topic/icon_product_sense_circle.webp"}]},"hero":{"name":"Insight Stack Blog","text":"AI & ๅ…จๆ ˆๆŠ€ๆœฏ & ไบงๅ“ๆ€่€ƒไธŽๆˆ้•ฟ่ฎฐๅฝ•","tagline":"โœจๆŽข็ดขๆŠ€ๆœฏๅ‰ๆฒฟ๏ผŒๆฒ‰ๆท€ไบงๅ“ๆ€่€ƒ๏ผŒ่ฎฐๅฝ•ๆˆ้•ฟ็‚นๆปด๏ผŒ็›ธไฟกๆ—ถ้—ด็š„ๅŠ›้‡","actions":[{"theme":"brand","text":"ๅ…ณไบŽๆˆ‘","link":"/about/me"},{"theme":"alt","text":"่ต„ๆบๆŽจ่","link":"/growth/sites"},{"theme":"alt","text":"ไนฆ็ฑๆŽจ่","link":"/growth/books"}],"image":{"src":"/img/full-stack/insight_stack.png","alt":"Insight Stack Blog"}},"features":[{"icon":"๐Ÿ“–","title":"ๅ…จๆ ˆๆŠ€ๆœฏ","details":"ๅ‰็ซฏ & NodeJS & Python ็ญ‰","link":"/fullstack/overview"},{"icon":"๐ŸŽ‰","title":"ไบงๅ“ Sense","details":"ไบงๅ“ Sense = ็”จๆˆทไปทๅ€ผๆดžๅฏŸ ร— ๅ•†ไธšๅฏ่กŒๆ€ง ร— ๆŠ€ๆœฏๅฏๅฎž็Žฐๆ€ง","link":"/product-sense"},{"icon":"๐ŸŽ‡","title":"LLM ๅบ”็”จๅญฆไน ไธŽๅฎž่ทต","details":"ๆขณ็†ๅคง่ฏญ่จ€ๆจกๅž‹ๅบ”็”จใ€Agent ๆŠ€ๆœฏใ€ไธŠไธ‹ๆ–‡ๅทฅ็จ‹ไธŽAI็ผ–็จ‹็ญ‰ไธ“้ข˜๏ผŒๆŽข็ดข AI ๆ—ถไปฃ็š„ๆŠ€ๆœฏไธŽๅบ”็”จใ€‚","link":"/ai-learning/overview"},{"icon":"๐Ÿ“","title":"ไธชไบบๆˆ้•ฟ","details":"ๆ”ถๅฝ•ไธ€ไบ›ไธ้”™็š„็ซ™็‚นใ€ๆŠ€ๆœฏๅ‘จๅˆŠใ€AI ็ญ‰่ต„ๆบ๏ผŒๆ€ป็ป“ไธชไบบๅœจๆ—ถ้—ด็ฎก็†ใ€ๆ•ˆ็އๅทฅๅ…ทใ€ๅฅๅบท็ฎก็†็ญ‰ๆ–น้ข็š„ๆˆ้•ฟ็ป้ชŒใ€‚","link":"/about/me"}]},"headers":[],"relativePath":"index.md","filePath":"index.md"}'),p={name:"index.md"},x=o({...p,setup(g){const{frontmatter:i}=n();return s(()=>{const e=document.querySelector(".VPHero .text"),t=document.querySelector("#hero-text");if(!(!e||!t)){for(;e.lastChild;)e.lastChild.remove();e.append(t)}}),(e,t)=>(a(),c("div",null,[t[1]||(t[1]=l("div",{style:{display:"none"},hidden:"true","aria-hidden":"true"},"Are you an LLM? View /llms.txt for optimized Markdown documentation, or /llms-full.txt for full documentation bundle",-1)),l("span",h,[r(d(m(i).hero.text)+" ",1),(a(),c("svg",u,[...t[0]||(t[0]=[l("path",{d:"M20.766 10.187c.939-.024.386-.885.552-1.401 1.105-.301.553.626.962 1.061.685-.263 1.171-1.1 1.696-1.085.044.144.15.191.044.378.697-.736 2.21-.134 2.995-1.052a.55.55 0 0 1 .127.215 3.35 3.35 0 0 1-.204-1.204c.42-.034.751-.593.94 0-.255 0-.266.23-.377.416l.426-.273c.448.813-.586.316-.553.927.84-.306 1.802-1.037 2.476-.831.182.803-1.525.339-.608 1.023l-1.033-.268c.85 1.248-.625-.057.171 1.276 1.348.177 1.47-.478 2.818-.3.276-.479-.132-.66.144-1.124 1.857-.885 1.602 1.984 2.94.846.337-.555.42-1.582 1.442-1.08l-.276.889c1.298.038.668-1.348 2.06-.784-.226.368-1.005.344-.8.444.917.689.59-.545 1.27-.569l.16.827c1.371-.181 2.863-.827 4.388-1.037-.072.249-.326.512.044.746 1.912-.478 4.123-.058 6.007.368l.68-.727c.05.015.095.04.132.074a.275.275 0 0 1 .077.118c.014.044.015.091.004.136a.27.27 0 0 1-.07.122c.74.243 0-.445.354-.732.414-.062.552.383.315.603 1.248-.636 3.586-1.401 4.973-.694l-.254.22c1.06.249 1.105-1.477 2.127-.855l-.182.129c2.293.23 4.785-.478 6.564.52.293-1.017 2.272.393 2.365-1.022 1.327.664.967.927 2.813 1.348.492.052.702-.899 1.299-1.061l.044.731.79-.794.47.87.552-.205a.66.66 0 0 1-.332-.2.517.517 0 0 1-.132-.33c.873-.354 2.177.477 2.21.831l2.078-.679c-.039.301-.387.411-.657.607 1.105-.779.226.77 1.232.053-.144-.163.06-.44.077-.588.553.435 1.691.416 2.547.205l-.149.512c1.558.1 3.271-.31 5.018-.335-.636-.224-.514-1.109 0-1.204l.226.774c.32-.478-.552-.282.122-.884.652.076.464.875.094 1.138l.784-.287c.056.23-.127.358-.165.655.309-.478 1.387.75 1.834-.096l.05.23c1.746-.03 2.53-.316 3.95-.383 0-.674.553-.535.984-1.085 1.05.196 2.21.707 3.482.63.878-.343.243-.568.635-.955.077.612 1.332.535.69.985a15.353 15.353 0 0 0 3.83-.68c-.21-.243-.447-.353-.331-.563a.738.738 0 0 1 .275.01c.09.02.173.058.245.11a.58.58 0 0 1 .169.188c.04.072.061.151.062.232l-.088.067c2.127-.956 4.973 1.706 6.669.41l-.099.068 1.763-.684c.817.1-.481.478.127.842 1.9-1.043 3.022.12 4.586-.574 1.243 1.793 4.327-.167 5.979.956l-.1-.42c.426-.421.52.234.835.33-.05-.33-.464-.378-.205-.613 3.598-.545 7.438.598 11.129.956 1.348.11.757-2.203 2.465-1.195l-.481.794c2.719-.956 5.564 0 8.233-.77-.154.182-.16.416-.425.416.552.574 2.083.034 2.094-.435.42.053.1.425.354.665.552.339 1.42-.732 1.718-.158.05.09-.16.186-.265.23.37-.278 1.719.076 1.365-.589 1 .32 1.917-.287 2.713.105.553-.736 1.713.364 1.884-.683-.077 1.08 1.752.875 2.387.377-.215.326.553.345.299.794.718 0 1.381-.206 1.265-.76 1.315 1.305 2.686-1.018 3.415.645a45.888 45.888 0 0 1 6.078-1.17c-.082 1.075-2.138.09-2.066 1.218 1.834-.425 2.906-1.343 4.719-1.066.47.153-.276.478-.437.65 1.835-.43 3.537.148 5.172-.42 0 .1-.182.21-.348.291.321-.033.741.167.713-.325l-.315.13c-.497-.718 1.304-1.468 1.365-1.841-.553 1.396 1.602.377.707 2.137a.73.73 0 0 0 .337-.263.58.58 0 0 0 .1-.383c.315.1.409.297.083.665 1.155-.254.757-.78 1.801-.75 0 .233-.221.324-.337.601.553-.478 1.078-.908 1.951-.697-.056.143.044.33-.216.325 1.509-.048 2.603-1.195 4.249-.722-.513 1.023.553.349.625 1.243l.895-.254-.348-.44c.785.034 1.492-.602 2.155-.296l-.591.354 1.47-.139-.824-.354c.807-.444-.055-1.132.978-.86-.21.086.785.029 1.177.56.398-.278.801-.57 1.376-.335.138.291-.149.984-.055 1.176.398-.736 1.834-.168 2.337-.956-.143.227-.192.49-.138.745l.337-.597c.359.2.409.296.337.669 1.105.134-.309-1.138.967-.626-.105.048-.055.138-.27.23 1.287.277 2.519-.335 3.702 0 .326.903-1.05.195-.669.955 1.724-.129 3.592-.999 5.25-.74l-.31-.106c.277-1.262 1.221.66 2.083.086-.21.086-.298.693-.237.555 1.105.234 2.343-.249 4.083-.603l-.226.32c.657.311 1.763.216 2.481.383.226-.315.641-.253.403-.731 2.166 1.912 4.305-.89 6.228.726-.238 0-.553.268-.387.273l1.702-.244c-.111-.554-.21-.34-.553-.784.124-.163.292-.298.489-.392.198-.094.419-.145.644-.148-.774.34-.028.884.287 1.205-.049-.173.072-.354.05-.526.846 1.008.199-1.11 1.376-.407l-.077.287c.458-.134.889-.478 1.37-.401.177.645-.492.282-.552.803.685 0 1.403-1.162 1.994-.507-.298.167-.718.158-1.016.325.641.77.729.583 1.221.717h-.044l1.138.378-.282-.21c.928-1.635 1.752-.25 2.951-1.3-1.166.994-.21.592-.332 1.309.288.21.724.454.586.65.553-.564.89.478 1.696-.34 0 .235.581.044.431.627.713-.163-.149-.411-.077-.703 1.133-.76 2.514 1.061 4.139.029 1.376-.397 1.658-1.171 2.94-1.515.403.392-.393.836-.393.836.267.161.581.255.906.27a1.97 1.97 0 0 0 .934-.184c-.138.196 0 .373.172.64.519-.038.386-.831 1.05-.477a3.24 3.24 0 0 1-.553.918c.619-.192 1.243-.603 1.884-.79.149.412-.409.603-.646.856.718-.153 1.851-.296 2.105-.927l-.442-.248c.26 0 .105.559-.094.669-.63.478-.862-.258-.884-.478l.459-.134c-.387-1.382-1.818.148-2.719.033l.431-.956-.973.784c-.182-.263-.287-.822.166-.956-.624-.516-.591.33-1.105-.239-.055-.086-.028-.134.033-.172l-.646.273c.132-.201-.072-.703.309-.545-1.105-.617-1.873.674-2.26-.096l.099-.057c-1.596.272-.193.721-1.414 1.534l-.713-1.83-.188.721c-.16-.033-.481-.1-.409-.387-.63.478.089.32-.287.78-.752-.699-2.172.229-2.293-.957-.31.545.729.478-.127.813-.183-1.258-.978.181-1.658-.416.254-.636.917-.273.226-.875-.486 1.076-1.386-.282-2-.096-.066.87-1.332.32-2.354.579.078-.292-1.89-.54-2.818-.885l.033-.148c-.221.87-1.182.674-1.901.832a.906.906 0 0 1 .132-.55c.102-.169.258-.31.449-.406h-.669a.979.979 0 0 1-.34.327 1.167 1.167 0 0 1-.478.151l.194-.65c-.885 0-1.813.712-2.94.244-.083.607.84 1.725-.381 2.103-.034-.335-.056-.899.27-1.028-.105.043-.381.263-.585.12l.502-.545c-.508-.258-.287.478-.701.397 0-.478-.293-.35-.221-.722.11-.038.359.205.525 0a1.931 1.931 0 0 1-.691-.264 1.649 1.649 0 0 1-.503-.487c.028.268-.028.636-.37.684-.89 0-.282-.574-.79-.832-.227.325-.78-.033-.824.674-.259 0-.293-.34-.387-.535-.469.3-2.149.033-1.657.793l.116.053s-.05 0-.078.033c-1.525.66-3.105-.478-4.608-.224V3.34c-.895.244-1.984.106-2.636.593a.711.711 0 0 1-.402-.28.553.553 0 0 1-.084-.442c-.691.158-.774.416-1.746 0 .701-.396-.221-.373.713-.287-.879-.224-1.067-.607-2.039 0 .342-.597-.641-.774-1.067-.602l.608.445c-.436.053-.88.039-1.31-.043l.254-.794c-1.784-1.004-3.315 1.578-4.647-.067-.497.545.973.411.553 1.052-.829-.124-1.658-1.286-1.929-1.29-1.132-.479-1.105 1.137-2.282.812a.818.818 0 0 1 .031.774.938.938 0 0 1-.264.323 1.11 1.11 0 0 1-.397.198c-.829-.124-.994-1.214-.464-1.434.205 0 .299.072.288.168.27-.096.629-.21.303-.526l-.116.282c-.403-.297-1.552-.292-1.271-.75-.635.257-.281.477.183.616-1.061-.435-1.658-.053-2.763-.344.171.162.326.478.155.478-1.608-.378-.724.526-1.824.636-.608-.445.249-1.033-.862-.684-.668-.306-.127-.755.149-.985-1.016.536-1.867-.387-2.442-.478l.553-.22a1.892 1.892 0 0 1-.846.12l.293.573c-.309-.105-.553-.11-.553-.348-.326.368.227.956-.42 1.434-.403-.297-1.265.286-1.392-.478 1.298.272-.127-.76.978-.866a1.102 1.102 0 0 1-.851.024c-.044-.086.044-.157.133-.2-1.233-.689-.592.846-1.879.807.171-.42-.287-.808-.497-.721.519 0 .237.712-.249 1.027-.823-.34-.906.235-1.337.187l.491.162c-.176.426-.585.364-1.165.478-.045-.33.524-.22.326-.368-.652.736-1.437-.793-2.338-.306-.409-.291-.027-.798-.387-.999-1.011.54-1.077-.588-2.133-.148.293.574.349.435-.403.985l1.735-.387-1.105.822c.525 0 1.105-.35 1.42-.249-.553.478-.481.316-.238.794-.701-.86-1.425.478-2.21-.1l.044-1.41c-1.232-.641-2.21.702-3.823.334l.513.248c-.221.56-.994.072-1.519.292.055-.478-.271-.645-.492-.956.028.349-1.177-.043-1.337.899l-.707-.627c-1.305-.267-1.503 1.33-2.763 1.157.381-.507-.183-.846.657-1.21-.414 0-.79-.095-.801.23-.276-.263-1.199.646-1.575.215-.182.206-.243.698-.713.655a.337.337 0 0 1 0-.234c0 .234-.735.31-.331.837-1.271-1.478-3.592.095-4.708-1.172-.936.165-1.883.277-2.835.335.05-.139 0-.234.16-.186-1.143-.44-.707 1.352-2.005.86-.664-.765.69-.411.276-.703-.171-1.553-1.564.21-2.437-.702l.21-.091c-.663-.555-1.608.564-2.713.454a.326.326 0 0 0 0-.234c-.746.784-2.155 1.051-3.205 1.271.326-.607.475-.32.276-.956-.47.091.138.99-.801 1.167-.304-.33-.984-.622-1.078-1.282l.89-.019c-.459-.85-1.149.034-1.613-.114l.055-.368c-1.36.124-1.376 1.06-2.835.999l.155.282c-.796.956-.674-.521-1.465.172l-.248-.956c-.871.453-1.797.82-2.763 1.094.552-.698 1.658-1.06 2.315-1.477-.519 0-1.774.072-2.044.54.21-.09.475-.325.685-.181a2.832 2.832 0 0 1-1.094.83 3.298 3.298 0 0 1-1.42.27c.171-1.832-2.713-.455-3.482-1.865-1.834.693-3.652-.258-5.796-.13.774 1.435-.625.049-.481 1.507-.497.1-.685.076-.729 0l-1.525-.86c-.365-.421.469-.326.42-.65-1.106-.106-.465-.618-1.194-1 .155.521-.37.75-1 .56l.901.659c-1.52.793-1.338-1.214-2.868-.43l.48-.478c-.79.277-2.917 0-3.674 1.204-.144-.167-.332-.564 0-.674-1.89-.148-4.183 1.31-5.664.612l.138-.358c-.348.105-.602.678-1.05.325 0-.148.138-.359 0-.378-.182.124-.923.64-1.392.44l.386-.411c-1.85-.44-2.807 1.023-4.343 1.29 0-1.051-1.475-1.376-2.21-1.53V.685c-2.15-.086-3.625.956-5.598 1.4-1.265-1.118-4.188-.392-6.194-.99.31.182 0 .818-.37.957-.475-.206-1.266.755-1.221-.21h.165c-.375-.957-1.326-.67-2.072-.675l-.083 1.267c-2.006-1.778-5.106.813-6.227-.803-.459.33-1.045.34-1.498.67v-.68a12.396 12.396 0 0 0-3.575 0l.31-.478c-.912 0-1.072 1.98-1.912 2.042l-.288-1c-1.591.053-3.232-.774-4.763.192 0-.148.055-.445.31-.478-.746 0-2.918-.588-2.587.788-.06-.903-1.657-.038-2.48.388l.104-.689c-.685.875-.701 1.11-1.696 1.377-.243-.076-.238-.526.088-.368-.812-.32-.59.655-1.574.33l.342-.435c-.823-.029-.746.2-1.177.707-.503.287-1.564-.114-1.713-.712-.094.368-.52.875-1.011.717a.38.38 0 0 1 .013-.245.442.442 0 0 1 .164-.2c-1.393-.406-2 .851-2.973.235a.553.553 0 0 0-.182-.392 9.431 9.431 0 0 1 1.89.028c0-.616-.912-.688-.255-1.563-.685.478-1.845 1.54-2.713 1.286a.84.84 0 0 1-.1-.215l.061-.072a.668.668 0 0 0-.295 0 .61.61 0 0 0-.257.125 1.992 1.992 0 0 0-.718-.158c-.128-.507-1.023-.234-1.465-.244.072.67-.508.583.06 1.119-.07-.048.078-.086.366-.125a.528.528 0 0 0 .188-.076l-.028.062c.287-.033.663-.062 1.105-.09-.332.358-.68.654-1.183.3-.204.445-.43.894-.552 1.11-.647-.914-1.83-1.377-2.022-1.946-1.321.43-3.145.368-3.918 1.663-.376.177-.459-.344-.614-.535.216-.139.476-.13.586-.316-.74.354-2.249.216-2.381 1.105-.984-.364.491-.837-.818-.636l.166-.277c-2.675-1.291-4.09 2.433-7.068.755.204.105.304.148.354.296-3.316-.645-6.709 1.038-10.018-.062-.94-.205-1 .359-1.531.818l-.249-.713-.906.88c-1.315.679-2.47-1.65-4.117-.411l.254.478c-.624-.058-1.939.387-1.873-.177-.055.09-.166.516-.425.272l-.044-.372-1.487.712c-1.199-.215.078-1.506-1.658-1.492C.895 5.105-.22 6.114.04 6.362c.178.01.347.073.478.179a.645.645 0 0 1 .24.4l-.558.225C.17 8.279-.194 9.44 1.304 10.144l.917-.732.36.521-.818.1c.513.479.784 0 1.105-.305.07.225.233.42.458.55l.907-1.114c.149.43-.376.884.292 1.094.426-.516-.502-.956.233-1.314.513.478.403.898.933.44a.447.447 0 0 1 .012.336.525.525 0 0 1-.233.27c.476-.367 1.304-.214 1.525-.817.553.598 1.658-.248 1.691.808.29-.433.74-.77 1.277-.956-.752 1.3 1.724 0 1.591 1.348.553-1.162 2.21-.617 3.255-1.3-.055.095-.16.282-.265.23.624.061.823.391 1.237.592 0-.956.967-1.195 1.448-1.797.812.87-.392 1.118-.1 1.974-.082-.755 1.272-.813.973-1.434.614.53.514.248.862 1.008.028-1.17.553-.22.962-.956.873.54.282 1.086 1.182.689.453.354-.342.808-.342.808Zm21.793-2.93-.447.057.447-.058Zm1.818-.091a7.552 7.552 0 0 0-.801 0c-.072-.23 0-.478.171-.478-.083.186.348.305.63.478Zm-4.128-4.49c.288-.109.393 0 .442.159-.172.02-.343.053-.508.1v.081a.973.973 0 0 1 .066-.34Z"},null,-1)])]))])]))}});export{f as __pageData,x as default}; diff --git a/hashmap.json b/hashmap.json index 5e9dd642..792b8e14 100644 --- a/hashmap.json +++ b/hashmap.json @@ -1 +1 @@ -{"01.ๅ…จๆ ˆ_00.overview.md":"DTl63cj_","01.ๅ…จๆ ˆ_01.ai native ๅทฅ็จ‹ๆ€็ปด_01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ ai ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€.md":"Ch3CtLm0","01.ๅ…จๆ ˆ_01.ai native ๅทฅ็จ‹ๆ€็ปด_02.้‡ๆž„ๅผ€ๅ‘่€…๏ผšai ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—.md":"w2dUgYOC","01.ๅ…จๆ ˆ_01.ai native ๅทฅ็จ‹ๆ€็ปด_10.่ฏป anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป ai ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘.md":"BKsOQbXL","01.ๅ…จๆ ˆ_10.ai ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—_00.ai็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ.md":"CQL4JXm2","01.ๅ…จๆ ˆ_40.ๅ‰็ซฏๅทฅ็จ‹_01.react ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšai ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—.md":"C0-Qj7UG","01.ๅ…จๆ ˆ_40.ๅ‰็ซฏๅทฅ็จ‹_02.cssๅทฅ็จ‹ๅŒ–.md":"B6Q9ssdl","01.ๅ…จๆ ˆ_40.ๅ‰็ซฏๅทฅ็จ‹_03.jamstack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—.md":"BHFPzWx_","01.ๅ…จๆ ˆ_40.ๅ‰็ซฏๅทฅ็จ‹_11.react ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ.md":"Bm5uQ9fk","01.ๅ…จๆ ˆ_60.็ฝ‘็ปœไธŽ้€šไฟก_01.ไปŽ http ๅˆฐ websocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—.md":"DlstBmfn","01.ๅ…จๆ ˆ_60.็ฝ‘็ปœไธŽ้€šไฟก_02.ๆตๅผ http ไธŽ sse ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต.md":"DBvMz_Gr","01.ๅ…จๆ ˆ_60.็ฝ‘็ปœไธŽ้€šไฟก_03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–.md":"J0ycjaFX","01.ๅ…จๆ ˆ_80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป_00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—.md":"DMY_isjL","01.ๅ…จๆ ˆ_80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป_01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• typescript ้กน็›ฎๆŒ‡ๅ—.md":"DTw4Rt2C","01.ๅ…จๆ ˆ_80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป_10.่Šไธ€่Š typescript ๆณ›ๅž‹.md":"CavsGSMv","01.ๅ…จๆ ˆ_80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป_20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—_0.overview.md":"BdLdBuUH","01.ๅ…จๆ ˆ_80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป_20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—_1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€.md":"f0WM8qM3","01.ๅ…จๆ ˆ_80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป_20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—_2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†.md":"CDvbKLWO","01.ๅ…จๆ ˆ_80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป_20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—_3.es modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž.md":"B-hcltGc","01.ๅ…จๆ ˆ_80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป_20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—_4.typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ.md":"BJ-pD4L0","01.ๅ…จๆ ˆ_80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป_20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—_5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต.md":"uR00Ga87","01.ๅ…จๆ ˆ_80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป_20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—_6.่งฃๆž nodejs ไธญ็š„ๆจกๅ—ๅŒ–.md":"DRe2iUDr","01.ๅ…จๆ ˆ_90.ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่_90.ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่.md":"Dq7Ydo7v","10.ไบงๅ“ sense_00.ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ.md":"B9Ry8o94","10.ไบงๅ“ sense_01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž_11.ai-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšperplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€….md":"BEH7EQLT","10.ไบงๅ“ sense_02.ๆ–ฐ t ๅž‹ไบบ_20.่ฏปๅŽๆ„Ÿ๏ผšai ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ.md":"Du3qZ8xB","10.ไบงๅ“ sense_02.ๆ–ฐ t ๅž‹ไบบ_21.ๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ sense.md":"JciUte9l","10.ไบงๅ“ sense_04.ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–_30.ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹่ฏปๅŽๆ„Ÿ.md":"CbayMoYI","10.ไบงๅ“ sense_05.ๆ–นๆณ•่ฎบ_40.ๆดžๅฏŸๅŠ›ๆจกๅž‹.md":"-U_WT1WE","10.ไบงๅ“ sense_05.ๆ–นๆณ•่ฎบ_50.็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“.md":"D6Tetc-8","20.ai ๅญฆไน ไธŽๅฎž่ทต_00.ai ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ.md":"C4OWiCyw","20.ai ๅญฆไน ไธŽๅฎž่ทต_02.agent ็ณปๅˆ—_01.agentๆฆ‚่งˆไธŽ็ปผ่ฟฐ.md":"BIpWVkHy","20.ai ๅญฆไน ไธŽๅฎž่ทต_02.agent ็ณปๅˆ—_02.agent ่ง„ๅˆ’ๆจกๅ—.md":"BEUNtIDI","20.ai ๅญฆไน ไธŽๅฎž่ทต_02.agent ็ณปๅˆ—_03.ๆž„ๅปบ agentic ็”Ÿๆ€๏ผšๅฐ†้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต.md":"Bgi-7Dm_","20.ai ๅญฆไน ไธŽๅฎž่ทต_02.agent ็ณปๅˆ—_10.agent skills.md":"DFSiQA8t","20.ai ๅญฆไน ไธŽๅฎž่ทต_04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ_10.ๅŸบไบŽ claude agent sdk ๆญๅปบ deep research agent.md":"DOONNKFw","20.ai ๅญฆไน ไธŽๅฎž่ทต_04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ_20.ๅŸบไบŽ claude agent sdk ๆญๅปบ agent.md":"CWhLwl8r","20.ai ๅญฆไน ไธŽๅฎž่ทต_04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ_60.ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹.md":"DXM5G5Ag","20.ai ๅญฆไน ไธŽๅฎž่ทต_04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ_70.่ฏ—ๆญŒๅฐ็ฒพ็ต.md":"j6xnTKI4","20.ai ๅญฆไน ไธŽๅฎž่ทต_90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่_01.ๅฅฝ็”จ็š„ ai ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่.md":"vaSWKpLD","20.ai ๅญฆไน ไธŽๅฎž่ทต_90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่_11. llm api ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—.md":"Pr48zsHZ","30.ๆ‚ฆ่ฏปๆ—ถๅ…‰_01.ๅฅฝไนฆๆŽจ่.md":"BVzgXE8N","30.ๆ‚ฆ่ฏปๆ—ถๅ…‰_10.่ฏปไนฆไธ‰่ฆไธ‰ไธ่ฆ.md":"DaAm_LXA","30.ๆ‚ฆ่ฏปๆ—ถๅ…‰_21.ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ.md":"Be9IJNun","40.ๅ…ณไบŽ_01.ๅ…ณไบŽๆˆ‘.md":"BzNDwyw3","40.ๅ…ณไบŽ_30.ๆˆ้•ฟ้š็ฌ”_01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘.md":"CJpPM59I","40.ๅ…ณไบŽ_30.ๆˆ้•ฟ้š็ฌ”_10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ.md":"BIUhmRg0","40.ๅ…ณไบŽ_30.ๆˆ้•ฟ้š็ฌ”_20.ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹้˜ถๆฎต้š็ฌ”ๆฑ‡ๆ€ป.md":"C1xoZ0dn","@pages_categoriespage.md":"Cnp1svtv","@pages_tagspage.md":"C5Ifm28k","index.md":"Dpw0tPo2"} +{"01.ๅ…จๆ ˆ_00.overview.md":"DRHSs2EE","01.ๅ…จๆ ˆ_01.ai native ๅทฅ็จ‹ๆ€็ปด_01.ไธๆญขไบŽไปฃ็ ๏ผšๆž„ๅปบ ai ๆ—ถไปฃๅ…จๆ ˆๅทฅ็จ‹ๅธˆ็š„โ€œ่ฎค็Ÿฅไธ‰ๅฑ‚ๅก”โ€.md":"DnAdo66b","01.ๅ…จๆ ˆ_01.ai native ๅทฅ็จ‹ๆ€็ปด_02.้‡ๆž„ๅผ€ๅ‘่€…๏ผšai ๆ—ถไปฃไธ‹็š„ๅทฅ็จ‹ๅธˆ่ƒฝๅŠ›ๅ›พ่ฐฑไธŽๆผ”่ฟ›ๆŒ‡ๅ—.md":"BzWlQ04R","01.ๅ…จๆ ˆ_01.ai native ๅทฅ็จ‹ๆ€็ปด_10.่ฏป anthropic ็ ”็ฉถๆŠฅๅ‘Š๏ผŒๆŽขๅฏป ai ๆ—ถไปฃ็š„ๅทฅ็จ‹่Œƒๅผ้‡ๅก‘.md":"BxS8ZWIM","01.ๅ…จๆ ˆ_10.ai ็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—_00.ai็ผ–็จ‹ๅทฅๅ…ทไธŽ่ต„ๆบ.md":"0WWjtM47","01.ๅ…จๆ ˆ_40.ๅ‰็ซฏๅทฅ็จ‹_01.react ่ฎพ่ฎกๅ“ฒๅญฆ๏ผšai ๅไฝœๆ—ถไปฃ็š„็ป„ไปถๅŒ–ๅผ€ๅ‘ๅฎž่ทตๆŒ‡ๅ—.md":"ip_V3kmi","01.ๅ…จๆ ˆ_40.ๅ‰็ซฏๅทฅ็จ‹_02.cssๅทฅ็จ‹ๅŒ–.md":"DUPhvCof","01.ๅ…จๆ ˆ_40.ๅ‰็ซฏๅทฅ็จ‹_03.jamstack ๆขณ็†ไธŽๅฎž่ทตๆŒ‡ๅ—.md":"CdkgDOAk","01.ๅ…จๆ ˆ_40.ๅ‰็ซฏๅทฅ็จ‹_11.react ๆœๅŠก็ซฏ็Šถๆ€็ฎก็†็š„่Œƒๅผ่ฝฌ็งปไธŽ้€‰ๅž‹ๆทฑๅบฆๅšๅผˆ.md":"BpMi6J2x","01.ๅ…จๆ ˆ_60.็ฝ‘็ปœไธŽ้€šไฟก_01.ไปŽ http ๅˆฐ websocket ็š„ๆŠ€ๆœฏ้€‰ๅž‹ๆŒ‡ๅ—.md":"int3cA6G","01.ๅ…จๆ ˆ_60.็ฝ‘็ปœไธŽ้€šไฟก_02.ๆตๅผ http ไธŽ sse ๅ่ฎฎ๏ผšไปŽๆฆ‚ๅฟต่พจๆžๅˆฐ็”Ÿไบงๅฎž่ทต.md":"Cp-uzdUB","01.ๅ…จๆ ˆ_60.็ฝ‘็ปœไธŽ้€šไฟก_03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–.md":"C2A_-RUG","01.ๅ…จๆ ˆ_80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป_00.ๅฅฅๅกๅง†ๅ‰ƒๅˆ€ๅŽŸๅˆ™๏ผšไปŽ็†่ฎบๅˆฐ็ผ–็จ‹่ฎพ่ฎก็š„ๅฎž่ทตๆŒ‡ๅ—.md":"B1vmVkqI","01.ๅ…จๆ ˆ_80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป_01.็ผ–่ฏ‘ไธŽ่ฐƒ่ฏ• typescript ้กน็›ฎๆŒ‡ๅ—.md":"BHyEzAuH","01.ๅ…จๆ ˆ_80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป_10.่Šไธ€่Š typescript ๆณ›ๅž‹.md":"BpsDJhtc","01.ๅ…จๆ ˆ_80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป_20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—_0.overview.md":"CwRE_Svk","01.ๅ…จๆ ˆ_80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป_20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—_1.ๅ‰็ซฏๆจกๅ—ๅŒ–็ผ–็จ‹ๅŸบ็ก€.md":"BVmOGo8x","01.ๅ…จๆ ˆ_80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป_20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—_2.ไธๅŒๆจกๅ—ๅŒ–่ง„่Œƒๆขณ็†.md":"CRGmbaTn","01.ๅ…จๆ ˆ_80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป_20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—_3.es modules ๆ ธๅฟƒ่ง„่ŒƒไธŽๅฎž่ทต่งฃๆž.md":"fPkWGUxd","01.ๅ…จๆ ˆ_80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป_20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—_4.typescript ๅฏนๆจกๅ—ๅŒ–็ผ–็จ‹็š„ๅขžๅผบ.md":"hJ1lv1QY","01.ๅ…จๆ ˆ_80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป_20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—_5.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅŽŸๅˆ™ไธŽๆœ€ไฝณๅฎž่ทต.md":"LTILHYsI","01.ๅ…จๆ ˆ_80.ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป_20.ๆจกๅ—ๅŒ–็ผ–็จ‹ๅฎž่ทตๆŒ‡ๅ—_6.่งฃๆž nodejs ไธญ็š„ๆจกๅ—ๅŒ–.md":"CGHtK9Bj","01.ๅ…จๆ ˆ_90.ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่_90.ๅ…จๆ ˆๆŠ€ๆœฏ่ต„ๆบๆŽจ่.md":"BBjcdRsJ","10.ไบงๅ“ sense_00.ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ.md":"BlAoRUPp","10.ไบงๅ“ sense_01.ไบงๅ“่ง‚ๅฏŸไธŽๅˆ†ๆž_11.ai-powered ๆœ็ดขๅผ•ๆ“Ž่ง‚ๅฏŸๅˆ†ๆž๏ผšperplexity ไธŽ็Ÿฅ่ฏ†ๅทฅไฝœ่€….md":"BRTIJ78C","10.ไบงๅ“ sense_02.ๆ–ฐ t ๅž‹ไบบ_20.่ฏปๅŽๆ„Ÿ๏ผšai ๅŽŸ็”Ÿๆ—ถไปฃ็š„ๅคๅˆๅž‹ไบบๆ‰๏ผŒ็ฉถ็ซŸ้œ€่ฆๆ€Žๆ ท็š„็‰น่ดจ๏ผŸ.md":"Xe0P5HJr","10.ไบงๅ“ sense_02.ๆ–ฐ t ๅž‹ไบบ_21.ๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ sense.md":"CO18rPj4","10.ไบงๅ“ sense_04.ไบงๅ“ๅˆ›้€ ไธŽๅ•†ไธšๅŒ–_30.ใ€Šๅฐ่€Œ็พŽ๏ผšๆŒ็ปญ็›ˆๅˆฉ็š„็ป่ฅๆณ•ๅˆ™ใ€‹่ฏปๅŽๆ„Ÿ.md":"gAigzrX9","10.ไบงๅ“ sense_05.ๆ–นๆณ•่ฎบ_40.ๆดžๅฏŸๅŠ›ๆจกๅž‹.md":"j-w2xxuV","10.ไบงๅ“ sense_05.ๆ–นๆณ•่ฎบ_50.็”จ็ปๆตŽๅญฆๆ€็ปดๅšไบงๅ“.md":"CUbjYJmR","20.ai ๅญฆไน ไธŽๅฎž่ทต_00.ai ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ.md":"Bq7k-xXb","20.ai ๅญฆไน ไธŽๅฎž่ทต_02.agent ็ณปๅˆ—_01.agentๆฆ‚่งˆไธŽ็ปผ่ฟฐ.md":"DMvs5K_Q","20.ai ๅญฆไน ไธŽๅฎž่ทต_02.agent ็ณปๅˆ—_02.agent ่ง„ๅˆ’ๆจกๅ—.md":"C3XAsz_e","20.ai ๅญฆไน ไธŽๅฎž่ทต_02.agent ็ณปๅˆ—_03.ๆž„ๅปบ agentic ็”Ÿๆ€๏ผšๅฐ†้›ถๆ•ฃ็ป„ไปถๅŒ–ไธบๅฏๆŒ็ปญ็š„ๅทฅไฝœๆต.md":"Dzka5_K9","20.ai ๅญฆไน ไธŽๅฎž่ทต_02.agent ็ณปๅˆ—_10.agent skills.md":"BYP2Q09s","20.ai ๅญฆไน ไธŽๅฎž่ทต_04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ_10.ๅŸบไบŽ claude agent sdk ๆญๅปบ deep research agent.md":"DtQSvR-M","20.ai ๅญฆไน ไธŽๅฎž่ทต_04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ_20.ๅŸบไบŽ claude agent sdk ๆญๅปบ agent.md":"CAQEdrbh","20.ai ๅญฆไน ไธŽๅฎž่ทต_04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ_60.ๆ•ฐๅญฆๅฐๅŠฉๆ‰‹.md":"BVW8ytPR","20.ai ๅญฆไน ไธŽๅฎž่ทต_04.็คพๅŒบๆดปๅŠจไธŽๅฎž่ทตๅฐ้กน็›ฎ_70.่ฏ—ๆญŒๅฐ็ฒพ็ต.md":"C1VKntBb","20.ai ๅญฆไน ไธŽๅฎž่ทต_90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่_01.ๅฅฝ็”จ็š„ ai ๅŠฉๆ‰‹ไธŽๅทฅไฝœ็ซ™ๆŽจ่.md":"DT78Ux7f","20.ai ๅญฆไน ไธŽๅฎž่ทต_90.่ต„ๆบไธŽๅทฅๅ…ทๆŽจ่_11. llm api ๅนณๅฐๆŽจ่ไธŽ้€‰ๅž‹ๆŒ‡ๅ—.md":"qaanG5K2","30.ๆ‚ฆ่ฏปๆ—ถๅ…‰_01.ๅฅฝไนฆๆŽจ่.md":"lGftAF4x","30.ๆ‚ฆ่ฏปๆ—ถๅ…‰_10.่ฏปไนฆไธ‰่ฆไธ‰ไธ่ฆ.md":"BQj2m1KY","30.ๆ‚ฆ่ฏปๆ—ถๅ…‰_21.ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ.md":"C7EJFVmA","31.ๅผ€ๆบๆดžๅฏŸ_00.overview.md":"DsfCImvx","31.ๅผ€ๆบๆดžๅฏŸ_01.fetch-event-source ๆบ็ ่งฃ่ฏป.md":"BP_UYyAh","40.ๅ…ณไบŽ_01.ๅ…ณไบŽๆˆ‘.md":"CkzMieuF","40.ๅ…ณไบŽ_30.ๆˆ้•ฟ้š็ฌ”_01.่ตฐๅ‡บโ€œ็›ฎๆ ‡้šง้“โ€๏ผš็”จ็ณป็ปŸไธŽๆ•ฐๅญฆๆ€็ปด้‡ๆž„ๅบ•ๅฑ‚้€ป่พ‘.md":"DJ7lWg_C","40.ๅ…ณไบŽ_30.ๆˆ้•ฟ้š็ฌ”_10.ๅ‘ๅ†…ๆ€ๅ˜๏ผšๅฝ“็–ซๆƒ…็ป™ไธ–็•ŒๆŒ‰ไธ‹ๆš‚ๅœ้”ฎ๏ผŒๅŽป้‡ๆž„็”Ÿๆดป็งฉๅบ.md":"Cj12M61O","40.ๅ…ณไบŽ_30.ๆˆ้•ฟ้š็ฌ”_20.ๅ‡่‚ฅ่ฟ™ไปถๅฐไบ‹้˜ถๆฎต้š็ฌ”ๆฑ‡ๆ€ป.md":"DNHfVn0b","@pages_categoriespage.md":"DalPAP0h","@pages_tagspage.md":"nlt9sHhH","index.md":"CZC8OIc5"} diff --git a/index.html b/index.html index c7e46135..a9f784be 100644 --- a/index.html +++ b/index.html @@ -8,10 +8,10 @@ - - - - + + + + @@ -104,7 +104,7 @@
ๆ–นๆณ•่ฎบ
-
+
ๅผ€ๆบๆดžๅฏŸ
= 400 && response.status < 500 && response.status !== 429) { + throw new FatalError(); + } else { + throw new RetriableError(); + } + }, + onerror(err) { + if (err instanceof FatalError) { + throw err; // ๅœๆญขๆ“ไฝœ + } + // ่ฟ”ๅ›ž้‡่ฏ•้—ด้š”(ๆฏซ็ง’),undefined ไฝฟ็”จ้ป˜่ฎค 1 ็ง’ + return 2000; + } +}); +``` + +### ๆŠ€ๆœฏๆ ˆๅˆ†ๆž + +| ๆŠ€ๆœฏ | ็‰ˆๆœฌ | ็”จ้€” | +|------|------|------| +| TypeScript | ^4.2.4 | ๅผ€ๅ‘่ฏญ่จ€ | +| Jasmine | ^4.3.1 | ๆต‹่ฏ•ๆก†ๆžถ | +| ES2017 | - | ็›ฎๆ ‡ ECMAScript ็‰ˆๆœฌ | + +#### ้€‰ๅž‹ๅ†ณ็ญ–ๅˆ†ๆž + +**1ใ€ไธบไป€ไนˆ้€‰ๆ‹ฉ TypeScript?** + +* **็ฑปๅž‹ๅฎ‰ๅ…จ**: ไธบ API ๆไพ›ๅฎŒๆ•ด็š„็ฑปๅž‹ๅฎšไน‰,ๆๅ‡ๅผ€ๅ‘ไฝ“้ชŒ +* **็”Ÿๆ€ๅ‹ๅฅฝ**: TypeScript ๅœจๅ‰็ซฏ็”Ÿๆ€ไธญๅทฒๆˆไธบไธปๆต +* **็ปดๆŠคๆ€ง**: ็ฑปๅž‹็ณป็ปŸๆœ‰ๅŠฉไบŽ้•ฟๆœŸ็ปดๆŠคๅ’Œ้‡ๆž„ + +**2ใ€ไธบไป€ไนˆๅŸบไบŽ Fetch API ่€Œ้ž XMLHttpRequest?** + +* **็Žฐไปฃๆ ‡ๅ‡†**: Fetch API ๆ˜ฏ็Žฐไปฃๆต่งˆๅ™จ็š„ๆ ‡ๅ‡† API +* **Promise ๆ”ฏๆŒ**: ๆ›ดไผ˜้›…็š„ๅผ‚ๆญฅๅค„็†ๆ–นๅผ +* **ๅฏๆ‰ฉๅฑ•ๆ€ง**: Request/Response ๅฏน่ฑก่ฎพ่ฎกๆ›ด็ตๆดป +* **ๆตๅผๅค„็†**: ๅŽŸ็”Ÿๆ”ฏๆŒ ReadableStream + +**3ใ€ไธบไป€ไนˆไธ็›ดๆŽฅไฝฟ็”จ WebSocket?** + +* **SSE ๅ…ผๅฎนๆ€ง**: ็Žฐๆœ‰ SSE ๆœๅŠกๅ™จๆ— ้œ€ไฟฎๆ”นๅณๅฏไฝฟ็”จ +* **ๅ•ๅ‘้€šไฟก**: ๅฏนไบŽไป…้œ€ๆœๅŠกๅ™จๆŽจ้€็š„ๅœบๆ™ฏ,SSE ๆ›ด่ฝป้‡ +* **HTTP ๅ‹ๅฅฝ**: ไฝฟ็”จๆ ‡ๅ‡† HTTP,ๆ›ดๅฎนๆ˜“้€š่ฟ‡้˜ฒ็ซๅข™ๅ’Œไปฃ็† +* **่‡ชๅŠจ้‡่ฟž**: SSE ๆœฌ่บซๅฐฑๆœ‰้‡่ฟžๆœบๅˆถ,ๆญคๅบ“่ฟ›ไธ€ๆญฅๅขžๅผบ + +### ้กน็›ฎ็ป“ๆž„ๅˆ่งˆ + +```shell +src/ +โ”œโ”€โ”€ fetch.ts # ๆ ธๅฟƒๅฎž็Žฐ: fetchEventSource ๅ‡ฝๆ•ฐ +โ”œโ”€โ”€ parse.ts # ่งฃๆžๅ™จ: SSE ๆ ผๅผ่งฃๆž +โ”œโ”€โ”€ index.ts # ๅ…ฅๅฃ: ๅฏผๅ‡บๅ…ฌๅ…ฑ API +โ””โ”€โ”€ parse.spec.ts # ๆต‹่ฏ•: ่งฃๆžๅ™จๅ•ๅ…ƒๆต‹่ฏ• +``` + +ๅฎŒๆ•ด็›ฎๅฝ•ๆ ‘๏ผš + +```shell +fetch-event-source/ +โ”œโ”€โ”€ .github/ # GitHub ้…็ฝฎ็›ฎๅฝ• +โ”‚ โ””โ”€โ”€ workflows/ # GitHub Actions ๅทฅไฝœๆต +โ”‚ โ””โ”€โ”€ node.js.yml # Node.js CI ้…็ฝฎ +โ”œโ”€โ”€ src/ # ๆบไปฃ็ ไธป็›ฎๅฝ• +โ”‚ โ”œโ”€โ”€ fetch.ts # fetchEventSource ไธปๅฎž็Žฐ - ่ฟžๆŽฅ็ฎก็†ใ€้‡่ฏ•ใ€้กต้ขๅฏ่งๆ€ง +โ”‚ โ”œโ”€โ”€ index.ts # ๆจกๅ—ๅ…ฅๅฃๆ–‡ไปถ - ็ปŸไธ€ๅฏผๅ‡บๅ…ฌๅ…ฑ API +โ”‚ โ”œโ”€โ”€ parse.spec.ts # ่งฃๆžๅ™จๅ•ๅ…ƒๆต‹่ฏ• +โ”‚ โ””โ”€โ”€ parse.ts # ไบ‹ไปถๆต่งฃๆžๅ™จ - SSE ๆ ผๅผ่งฃๆžๆตๆฐด็บฟ +โ”œโ”€โ”€ .gitignore # Git ๅฟฝ็•ฅๆ–‡ไปถ +โ”œโ”€โ”€ .npmignore # NPM ๅ‘ๅธƒๅฟฝ็•ฅๆ–‡ไปถ +โ”œโ”€โ”€ .nycrc # ๆต‹่ฏ•่ฆ†็›–็އ้…็ฝฎ +โ”œโ”€โ”€ CHANGELOG.md # ๅ˜ๆ›ดๆ—ฅๅฟ— +โ”œโ”€โ”€ CODE_OF_CONDUCT.md # ่กŒไธบๅ‡†ๅˆ™ +โ”œโ”€โ”€ CONTRIBUTING.md # ่ดก็ŒฎๆŒ‡ๅ— +โ”œโ”€โ”€ LICENSE # MIT ่ฎธๅฏ่ฏ +โ”œโ”€โ”€ README.md # ้กน็›ฎ่ฏดๆ˜Žๆ–‡ๆกฃ(่‹ฑๆ–‡) +โ”œโ”€โ”€ SECURITY.md # ๅฎ‰ๅ…จๆ”ฟ็ญ– +โ”œโ”€โ”€ jasmine.json # Jasmine ๆต‹่ฏ•ๆก†ๆžถ้…็ฝฎ +โ”œโ”€โ”€ package-lock.json # NPM ไพ่ต–้”ๅฎšๆ–‡ไปถ +โ”œโ”€โ”€ package.json # NPM ้กน็›ฎ้…็ฝฎ - dual-package (CJS+ESM) +โ”œโ”€โ”€ tsconfig.esm.json # TypeScript ESM ๆž„ๅปบ้…็ฝฎ +โ””โ”€โ”€ tsconfig.json # TypeScript ไธป้…็ฝฎ - strict ๆจกๅผ +``` + +#### ๆ ธๅฟƒๆจกๅ—่Œ่ดฃ + +| ๆจกๅ— | ่Œ่ดฃ | +|------|------| +| `fetch.ts` | ไธป API ๅฎž็Žฐ,่ฟžๆŽฅ็ฎก็†ใ€้‡่ฏ•้€ป่พ‘ใ€้กต้ขๅฏ่งๆ€งๅค„็† | +| `parse.ts` | SSE ๅ่ฎฎ่งฃๆž,ๅญ—่Š‚ๆต โ†’ ่กŒ โ†’ ๆถˆๆฏ็š„่ฝฌๆข | +| `index.ts` | ๆจกๅ—ๅ…ฅๅฃ,็ปŸไธ€ๅฏผๅ‡บ | + +### ไพ่ต–ๅ…ณ็ณป + +#### ๅค–้ƒจไพ่ต– + +* **ๆ— ่ฟ่กŒๆ—ถไพ่ต–**: ่ฟ™ๆ˜ฏไธ€ไธช้›ถไพ่ต–็š„่ฝป้‡็บงๅบ“ +* ไป…ๅผ€ๅ‘ไพ่ต–: `TypeScript`ใ€`Jasmine`ใ€`rimraf`ใ€`source-map-support` + +#### ๅ†…้ƒจไพ่ต– + +```shell +index.ts โ†’ fetch.ts โ†’ parse.ts + โ†˜ + parse.ts (็›ดๆŽฅๅฏผๅ‡บ็ฑปๅž‹) +``` + +### ๆž„ๅปบ่พ“ๅ‡บ + +* **CJS**: CommonJS ๆ ผๅผ (`lib/cjs/index.js`) +* **ESM**: ES Module ๆ ผๅผ (`lib/esm/index.js`) +* **็ฑปๅž‹**: TypeScript ็ฑปๅž‹ๅฎšไน‰ (`lib/cjs/index.d.ts`) + +ๆ”ฏๆŒ dual-package ๅ‘ๅธƒ,ๅŒๆ—ถๅ…ผๅฎน CommonJS ๅ’Œ ES Moduleใ€‚ + +## ็ฌฌไบŒ้ƒจๅˆ†: ๆžถๆž„่ฎพ่ฎก็ฏ‡ + +### ็ณป็ปŸๆ•ดไฝ“ๆžถๆž„ + +```markdown + โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” + โ”‚ fetchEventSource API โ”‚ + โ”‚ (ๅ…ฅๅฃ: src/index.ts) โ”‚ + โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ + โ”‚ + โ–ผ + โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” + โ”‚ ๆ ธๅฟƒๆŽงๅˆถๅ™จ (src/fetch.ts) โ”‚ + โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ + โ”‚ โ”‚ create() - ๅˆ›ๅปบ/้‡่ฏ•่ฟžๆŽฅ็š„ไธปๅพช็Žฏ โ”‚ โ”‚ + โ”‚ โ”‚ dispose() - ๆธ…็†่ต„ๆบ โ”‚ โ”‚ + โ”‚ โ”‚ onVisibilityChange() - ้กต้ขๅฏ่งๆ€งๅ˜ๅŒ–ๅค„็† โ”‚ โ”‚ + โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ + โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ + โ”‚ + โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” + โ”‚ โ”‚ โ”‚ + โ–ผ โ–ผ โ–ผ +โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” +โ”‚ ้กต้ขๅฏ่งๆ€ง็›‘ๅฌ โ”‚ โ”‚ Fetch ่ฏทๆฑ‚ๅค„็† โ”‚ โ”‚ ้‡่ฏ•็ญ–็•ฅๆŽงๅˆถ โ”‚ +โ”‚ - visibilitychange โ”‚ โ”‚ - ่‡ชๅฎšไน‰ๆ–นๆณ•/ๅคด้ƒจ/ไฝ“ โ”‚ โ”‚ - ๅฏ้…็ฝฎ้‡่ฏ•้—ด้š” โ”‚ +โ”‚ - ่‡ชๅŠจๆ–ญๅผ€/้‡่ฟž โ”‚ โ”‚ - Last-Event-ID ๅคด้ƒจ โ”‚ โ”‚ - ้”™่ฏฏๅˆ†็ฑปๅค„็† โ”‚ +โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ + โ”‚ โ”‚ โ”‚ + โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ + โ”‚ + โ–ผ + โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” + โ”‚ ไบ‹ไปถๆต่งฃๆžๅ™จ (src/parse.ts) โ”‚ + โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ + โ”‚ โ”‚ getBytes() - ่ฏปๅ–ๅญ—่Š‚ๆต โ”‚ โ”‚ + โ”‚ โ”‚ getLines() - ่งฃๆž่กŒ็ผ“ๅ†ฒ โ”‚ โ”‚ + โ”‚ โ”‚ getMessages() - ็ป„่ฃ…ๅฎŒๆ•ดๆถˆๆฏ โ”‚ โ”‚ + โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ + โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ + โ”‚ + โ–ผ + โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” + โ”‚ ็”จๆˆทๅ›ž่ฐƒๅ‡ฝๆ•ฐ โ”‚ + โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ + โ”‚ โ”‚ onopen โ”‚ โ”‚ onmessageโ”‚ โ”‚ onclose โ”‚ โ”‚ onerror โ”‚ โ”‚ + โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ + โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ +``` + +### ๆ ธๅฟƒๆจกๅ—่ฎพ่ฎก + +#### 1. fetch.ts - ไธปๆŽงๅˆถๅ™จๆจกๅ— + +**่Œ่ดฃ**: + +* ๆไพ› `fetchEventSource` ไธป API ๅ‡ฝๆ•ฐ +* ็ฎก็†่ฟžๆŽฅ็”Ÿๅ‘ฝๅ‘จๆœŸ +* ๅค„็†้‡่ฏ•้€ป่พ‘ +* ้›†ๆˆ้กต้ขๅฏ่งๆ€ง API +* ๅ่ฐƒ่ฏทๆฑ‚/ๅ“ๅบ”ๅค„็† + +**ๆ ธๅฟƒๆ•ฐๆฎ็ป“ๆž„**: + +```typescript +interface FetchEventSourceInit extends RequestInit { + headers?: Record; + onopen?: (response: Response) => Promise; + onmessage?: (ev: EventSourceMessage) => void; + onclose?: () => void; + onerror?: (err: any) => number | null | undefined | void; + openWhenHidden?: boolean; + fetch?: typeof fetch; +} +``` + +**ๅ…ณ้”ฎๅ‡ฝๆ•ฐๆต็จ‹**: + +```text + fetchEventSource() ๅ…ฅๅฃ + โ”‚ + โ–ผ +โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” +โ”‚ ๅˆๅง‹ๅŒ–้˜ถๆฎต: โ”‚ +โ”‚ 1. ๅคๅˆถๅนถ่ฎพ็ฝฎ้ป˜่ฎค่ฏทๆฑ‚ๅคด (Accept: text/event-stream) โ”‚ +โ”‚ 2. ่ฎพ็ฝฎ้กต้ขๅฏ่งๆ€ง็›‘ๅฌๅ™จ (ๅฆ‚ๆžœ openWhenHidden=false) โ”‚ +โ”‚ 3. ๅˆๅง‹ๅŒ–้‡่ฏ•้—ด้š” (้ป˜่ฎค 1000ms) โ”‚ +โ”‚ 4. ็›‘ๅฌ่พ“ๅ…ฅ AbortSignal โ”‚ +โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ + โ”‚ + โ–ผ + โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” + โ”‚ create() ๅ‡ฝๆ•ฐ โ”‚ โ†โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” + โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ + โ”‚ โ”‚ + โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” + โ”‚ โ”‚ โ”‚ + โ–ผ โ–ผ โ–ผ +โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” +โ”‚ ๅ‘่ตท่ฏทๆฑ‚ โ”‚ โ”‚ ้ชŒ่ฏๅ“ๅบ” โ”‚ โ”‚ ่งฃๆžไบ‹ไปถๆต โ”‚ +โ”‚ fetch() โ”‚ โ”‚ onopen() โ”‚ โ”‚ getBytes() โ”‚ +โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ + โ”‚ โ”‚ โ”‚ + โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ + โ”‚ + โ–ผ + โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” + โ”‚ ๆˆๅŠŸ/้”™่ฏฏๅค„็† โ”‚ + โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ + โ”‚ + โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” + โ”‚ โ”‚ + โ–ผ โ–ผ + ๆญฃๅธธๅฎŒๆˆ ๅผ‚ๅธธๅค„็† + (resolve) (onerror ๅ†ณๅฎšๆ˜ฏๅฆ้‡่ฏ•) + โ”‚ + โ–ผ + ้œ€่ฆ้‡่ฏ•? โ”€โ”€ๆ˜ฏโ”€โ”€โ†’ ้‡่ฏ• create() + โ”‚ + ๅฆ + โ–ผ + ็ปˆๆญข (reject) +``` + +#### 2. parse.ts - ไบ‹ไปถๆต่งฃๆžๆจกๅ— + +**่Œ่ดฃ**: + +* ่งฃๆž SSE ๆ ผๅผ็š„ๅญ—่Š‚ๆต +* ๅค„็†ๅˆ†ๅ—ไผ ่พ“็ผ–็  +* ็ป„่ฃ…ๅฎŒๆ•ด็š„ EventSourceMessage ๅฏน่ฑก + +**่งฃๆžๆตๆฐด็บฟ**: + +```text + ReadableStream + โ”‚ + โ–ผ + โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” + โ”‚ getBytes() โ”‚ - ไปŽๆตไธญ่ฏปๅ–ๅญ—่Š‚ๅ— + โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ + โ”‚ + โ–ผ + โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” + โ”‚ getLines() โ”‚ - ่งฃๆž่กŒ็ผ“ๅ†ฒ,ๅค„็† \r, \n, \r\n + โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ - ่ฏ†ๅˆซๅญ—ๆฎตๅไฝ็ฝฎ (็ฌฌไธ€ไธชๅ†’ๅท) + โ”‚ + โ–ผ + โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” + โ”‚ getMessages() โ”‚ - ็ป„่ฃ…ๅฎŒๆ•ดๆถˆๆฏ + โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ - ๅค„็†ๅคšๅญ—ๆฎต: id, event, data, retry + โ”‚ - ็ฉบ่กŒ่งฆๅ‘ๆถˆๆฏๅ›ž่ฐƒ + โ–ผ + EventSourceMessage +``` + +**ๆ ธๅฟƒๆ•ฐๆฎ็ป“ๆž„**: + +```typescript +interface EventSourceMessage { + id: string; // ไบ‹ไปถ ID + event: string; // ไบ‹ไปถ็ฑปๅž‹ + data: string; // ไบ‹ไปถๆ•ฐๆฎ + retry?: number; // ้‡่ฏ•้—ด้š”(ๆฏซ็ง’) +} +``` + +**่กŒ่งฃๆž็Šถๆ€ๆœบ**: + +```text + โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” + โ”‚ getLines() ็Šถๆ€ๆœบ โ”‚ + โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ + + ๅˆๅง‹็Šถๆ€: buffer=undefined, position=0, fieldLength=-1 + + โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” + โ”‚ ๆ–ฐๅญ—่Š‚ๅ— โ”‚ + โ””โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”˜ + โ”‚ + โ”Œโ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” + โ”‚ buffer ๅญ˜ๅœจ? โ”‚ + โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค + โ”‚ ๅฆ โ”‚ ๆ˜ฏ โ”‚ + โ–ผ โ–ผ โ”‚ + buffer = arr buffer = concat(buffer, arr) โ”‚ + position = 0 โ”‚ + fieldLength = -1 โ”‚ + โ”‚ โ”‚ + โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ + โ”‚ + โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” + โ”‚ while position < bufLength: โ”‚ + โ”‚ โ”‚ + โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ + โ”‚ โ”‚ ๅค„็† discardTrailingNewline โ”‚ โ”‚ + โ”‚ โ”‚ (่ทณ่ฟ‡ๅ‰ไธ€ไธช \r ๅŽ้ข็š„ \n) โ”‚ โ”‚ + โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ + โ”‚ โ”‚ โ”‚ + โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ + โ”‚ โ”‚ ๆŸฅๆ‰พ่กŒๅฐพ (\r ๆˆ– \n) โ”‚ โ”‚ + โ”‚ โ”‚ ๅŒๆ—ถ่ฎฐๅฝ•็ฌฌไธ€ไธชๅ†’ๅทไฝ็ฝฎ (fieldLength)โ”‚ โ”‚ + โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ + โ”‚ โ”‚ โ”‚ + โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ + โ”‚ โ”‚ ๆ‰พๅˆฐ่กŒๅฐพ? โ”‚ โ”‚ + โ”‚ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค โ”‚ + โ”‚ โ”‚ ๅฆ โ”‚ ๆ˜ฏ โ”‚ โ”‚ + โ”‚ โ–ผ โ–ผ โ”‚ โ”‚ + โ”‚ break onLine(line, fieldLength)โ”‚ โ”‚ + โ”‚ (็ญ‰ๅพ…ไธ‹ไธ€ๅ—) lineStart = position โ”‚ โ”‚ + โ”‚ fieldLength = -1 โ”‚ โ”‚ + โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ + โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ + โ”‚ + โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” + โ”‚ ๅค„็†ๅ‰ฉไฝ™ buffer: โ”‚ + โ”‚ - ๅ…จ้ƒจๅค„็†ๅฎŒ: buffer = undefined โ”‚ + โ”‚ - ้ƒจๅˆ†ๅค„็†: buffer = subarray(lineStart)โ”‚ + โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ +``` + +### ๆ ธๅฟƒๆ•ฐๆฎๆต่ฝฌๆ—ถๅบ + +#### ๆญฃๅธธๆถˆๆฏๆŽฅๆ”ถๆต็จ‹ + +```mermaid +sequenceDiagram + participant U as ็”จๆˆทไปฃ็  + participant F as fetchEventSource + participant R as Response + participant B as getBytes + participant L as getLines + participant M as getMessages + participant C as ็”จๆˆทๅ›ž่ฐƒ + + U->>F: fetchEventSource(url, options) + F->>F: create() + F->>R: fetch(input, init) + R-->>F: Response + F->>C: onopen(response) + C-->>F: void + F->>B: getBytes(response.body, onChunk) + loop ๅญ—่Š‚ๆตๅพช็Žฏ + B->>B: reader.read() + B-->>L: onChunk(arr) + loop ่กŒ่งฃๆžๅพช็Žฏ + L-->>M: onLine(line, fieldLength) + alt ้ž็ฉบ่กŒ + M->>M: ่งฃๆžๅญ—ๆฎต (id/event/data/retry) + else ็ฉบ่กŒ + M-->>C: onmessage(msg) + M->>M: ๅˆ›ๅปบๆ–ฐๆถˆๆฏ + end + end + end + B-->>F: ๆตๅ…ณ้—ญ + F->>C: onclose() + F->>F: dispose() + F-->>U: resolve() +``` + +#### ้‡่ฏ•ๆต็จ‹ + +```mermaid +sequenceDiagram + participant U as ็”จๆˆทไปฃ็  + participant F as fetchEventSource + participant R as Response + participant C as ็”จๆˆทๅ›ž่ฐƒ + + U->>F: fetchEventSource(...) + F->>F: create() + F->>R: fetch(...) + + alt ่ฏทๆฑ‚ๅคฑ่ดฅ + R-->>F: Error + F->>C: onerror(err) + alt ้œ€่ฆ้‡่ฏ• + C-->>F: ่ฟ”ๅ›ž้‡่ฏ•้—ด้š” + F->>F: setTimeout(create, interval) + Note over F: ็ญ‰ๅพ…ๆŒ‡ๅฎšๆ—ถ้—ดๅŽ้‡่ฏ• + F->>F: create() + F->>R: fetch(..., Last-Event-ID: id) + else ่‡ดๅ‘ฝ้”™่ฏฏ + C-->>F: ๆŠ›ๅ‡บๅผ‚ๅธธ + F->>F: dispose() + F-->>U: reject(err) + end + else ๅ“ๅบ”ๆˆๅŠŸไฝ†่ฟžๆŽฅๆ–ญๅผ€ + R-->>F: Response + F->>C: onopen() + F->>F: ่งฃๆžไบ‹ไปถๆต... + F->>C: onclose() + F->>C: onerror(undefined) + alt ้œ€่ฆ้‡่ฏ• + C-->>F: ่ฟ”ๅ›ž้‡่ฏ•้—ด้š” + F->>F: setTimeout(create, interval) + else ๅœๆญข + C-->>F: ๆŠ›ๅ‡บๅผ‚ๅธธ + F->>F: dispose() + F-->>U: reject() + end + end +``` + +#### ้กต้ขๅฏ่งๆ€งๅ˜ๅŒ–ๆต็จ‹ + +```mermaid +sequenceDiagram + participant D as Document + participant F as fetchEventSource + participant R as Request + + Note over F: openWhenHidden = false (้ป˜่ฎค) + F->>D: addEventListener('visibilitychange') + + D->>F: visibilitychange (hidden) + F->>F: curRequestController.abort() + F->>R: ๅ–ๆถˆ่ฏทๆฑ‚ + + D->>F: visibilitychange (visible) + F->>F: create() + F->>R: fetch(..., Last-Event-ID: id) +``` + +### ๆŽฅๅฃๅฅ‘็บฆๅฎšไน‰ + +#### ๅ…ฌๅ…ฑ API + +```typescript +/** + * ๅ‘่ตทไธ€ไธช Server-Sent Events (SSE) ่ฏทๆฑ‚ + * @param input ่ฏทๆฑ‚ URL ๆˆ– Request ๅฏน่ฑก + * @param init ้…็ฝฎ้€‰้กน + * @returns Promise,ๅœจ่ฟžๆŽฅๆญฃๅธธๅ…ณ้—ญๆ—ถ resolve,ๅ‡บ้”™ๆ—ถ reject + */ +export function fetchEventSource( + input: RequestInfo, + init: FetchEventSourceInit +): Promise; + +/** + * SSE ๅ“ๅบ”็š„ Content-Type + */ +export const EventStreamContentType = 'text/event-stream'; + +/** + * ้…็ฝฎ้€‰้กนๆŽฅๅฃ,็ปงๆ‰ฟ่‡ช RequestInit + */ +export interface FetchEventSourceInit extends RequestInit { + /** + * ่ฏทๆฑ‚ๅคด,ไป…ๆ”ฏๆŒ Record ๆ ผๅผ + */ + headers?: Record; + + /** + * ๆ”ถๅˆฐๅ“ๅบ”ๆ—ถ่ฐƒ็”จ,็”จไบŽ้ชŒ่ฏๅ“ๅบ”ๆ˜ฏๅฆ็ฌฆๅˆ้ข„ๆœŸ + * ๅฆ‚ๆžœๆœชๆไพ›,้ป˜่ฎค้ชŒ่ฏ content-type ไธบ text/event-stream + * @throws ๅฆ‚ๆžœๅ“ๅบ”ไธ็ฌฆๅˆ้ข„ๆœŸ,ๆŠ›ๅ‡บๅผ‚ๅธธ + */ + onopen?: (response: Response) => Promise; + + /** + * ๆ”ถๅˆฐๆถˆๆฏๆ—ถ่ฐƒ็”จ + * ๆณจๆ„:ไธŽ้ป˜่ฎค EventSource.onmessage ไธๅŒ,ๆญคๅ›ž่ฐƒไผš่ขซๆ‰€ๆœ‰ไบ‹ไปถ่ฐƒ็”จ, + * ๅŒ…ๆ‹ฌๅธฆๆœ‰่‡ชๅฎšไน‰ event ๅญ—ๆฎต็š„ไบ‹ไปถ + */ + onmessage?: (ev: EventSourceMessage) => void; + + /** + * ๅ“ๅบ”็ป“ๆŸๆ—ถ่ฐƒ็”จ + * ๅฆ‚ๆžœไธๆœŸๆœ›ๆœๅŠกๅ™จๅ…ณ้—ญ่ฟžๆŽฅ,ๅฏไปฅๅœจ่ฟ™้‡ŒๆŠ›ๅ‡บๅผ‚ๅธธๅนถ้€š่ฟ‡ onerror ้‡่ฏ• + */ + onclose?: () => void; + + /** + * ๅ‘็”Ÿไปปไฝ•้”™่ฏฏๆ—ถ่ฐƒ็”จ(่ฏทๆฑ‚/ๅค„็†ๆถˆๆฏ/ๅ›ž่ฐƒ็ญ‰) + * ็”จไบŽๆŽงๅˆถ้‡่ฏ•็ญ–็•ฅ: + * - ๅฆ‚ๆžœ้”™่ฏฏๆ˜ฏ่‡ดๅ‘ฝ็š„,ๅœจๅ›ž่ฐƒๅ†…้‡ๆ–ฐๆŠ›ๅ‡บ้”™่ฏฏไปฅๅœๆญขๆ•ดไธชๆ“ไฝœ + * - ๅฆๅˆ™,ๅฏไปฅ่ฟ”ๅ›žไธ€ไธช้—ด้š”(ๆฏซ็ง’),่ฏทๆฑ‚ๅฐ†ๅœจ่ฏฅ้—ด้š”ๅŽ่‡ชๅŠจ้‡่ฏ• + * - ๅฆ‚ๆžœๆœชๆŒ‡ๅฎšๆญคๅ›ž่ฐƒๆˆ–่ฟ”ๅ›ž undefined,ๆ‰€ๆœ‰้”™่ฏฏ้ƒฝ่ขซ่ง†ไธบๅฏ้‡่ฏ•,1็ง’ๅŽ้‡่ฏ• + */ + onerror?: (err: any) => number | null | undefined | void; + + /** + * ๅฆ‚ๆžœไธบ true,ๅณไฝฟๆ–‡ๆกฃ้š่—ไนŸไฟๆŒ่ฏทๆฑ‚ๆ‰“ๅผ€ + * ้ป˜่ฎคๆƒ…ๅ†ตไธ‹,fetchEventSource ไผšๅœจๆ–‡ๆกฃ้š่—ๆ—ถๅ…ณ้—ญ่ฏทๆฑ‚, + * ๅนถๅœจๆ–‡ๆกฃๅ†ๆฌกๅฏ่งๆ—ถ่‡ชๅŠจ้‡ๆ–ฐๆ‰“ๅผ€ + */ + openWhenHidden?: boolean; + + /** + * ไฝฟ็”จ็š„ Fetch ๅ‡ฝๆ•ฐ,้ป˜่ฎคไธบ window.fetch + */ + fetch?: typeof fetch; +} + +/** + * ่กจ็คบไบ‹ไปถๆตไธญ็š„ไธ€ๆกๆถˆๆฏ + * https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events#Event_stream_format + */ +export interface EventSourceMessage { + /** ่ฆ่ฎพ็ฝฎๅˆฐ EventSource ๅฏน่ฑก็š„ๆœ€ๅŽไบ‹ไปถ ID ๅ€ผ็š„ไบ‹ไปถ ID */ + id: string; + /** ๆ ‡่ฏ†ๆ‰€ๆ่ฟฐไบ‹ไปถ็ฑปๅž‹็š„ๅญ—็ฌฆไธฒ */ + event: string; + /** ไบ‹ไปถๆ•ฐๆฎ */ + data: string; + /** ้‡่ฏ•่ฟžๆŽฅๅ‰็ญ‰ๅพ…็š„้‡่ฟž้—ด้š”(ๆฏซ็ง’) */ + retry?: number; +} +``` + +#### ๅ†…้ƒจ่งฃๆž API + +```typescript +/** + * ๅฐ† ReadableStream ่ฝฌๆขไธบๅ›ž่ฐƒๆจกๅผ + * @param stream ่พ“ๅ…ฅ ReadableStream + * @param onChunk ๅฏนๆฏไธชๆ–ฐๅญ—่Š‚ๅ—่ฐƒ็”จ็š„ๅ‡ฝๆ•ฐ + * @returns Promise,ๅœจๆตๅ…ณ้—ญๆ—ถ resolve + */ +export async function getBytes( + stream: ReadableStream, + onChunk: (arr: Uint8Array) => void +): Promise; + +/** + * ่งฃๆžไปปๆ„ๅญ—่Š‚ๅ—ไธบ EventSource ่กŒ็ผ“ๅ†ฒ + * ๆฏ่กŒๆ ผๅผๅบ”ไธบ "field: value",ไปฅ \rใ€\n ๆˆ– \r\n ็ป“ๅฐพ + * @param onLine ๅฏนๆฏไธชๆ–ฐ EventSource ่กŒ่ฐƒ็”จ็š„ๅ‡ฝๆ•ฐ + * @returns ๅบ”่ฏฅๅฏนๆฏไธช่พ“ๅ…ฅๅญ—่Š‚ๅ—่ฐƒ็”จ็š„ๅ‡ฝๆ•ฐ + */ +export function getLines( + onLine: (line: Uint8Array, fieldLength: number) => void +): (arr: Uint8Array) => void; + +/** + * ่งฃๆž่กŒ็ผ“ๅ†ฒไธบ EventSourceMessages + * @param onId ๅฏนๆฏไธช id ๅญ—ๆฎต่ฐƒ็”จ็š„ๅ‡ฝๆ•ฐ + * @param onRetry ๅฏนๆฏไธช retry ๅญ—ๆฎต่ฐƒ็”จ็š„ๅ‡ฝๆ•ฐ + * @param onMessage ๅฏนๆฏๆกๆถˆๆฏ่ฐƒ็”จ็š„ๅ‡ฝๆ•ฐ + * @returns ๅบ”่ฏฅๅฏนๆฏไธช่พ“ๅ…ฅ่กŒ็ผ“ๅ†ฒ่ฐƒ็”จ็š„ๅ‡ฝๆ•ฐ + */ +export function getMessages( + onId: (id: string) => void, + onRetry: (retry: number) => void, + onMessage?: (msg: EventSourceMessage) => void +): (line: Uint8Array, fieldLength: number) => void; +``` + +--- + --- url: /01.ๅ…จๆ ˆ/60.็ฝ‘็ปœไธŽ้€šไฟก/03.้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๅŽŸ็†ใ€ๅฎžๆˆ˜ไธŽ้€‰ๅž‹ๅ†ณ็ญ–.md description: ๆทฑๅ…ฅๅ‰–ๆž้€€้ฟ่ฝฎ่ฏขไธŽ้•ฟ่ฝฎ่ฏข็š„ๆ ธๅฟƒๆœบๅˆถ๏ผŒๆไพ› TypeScript/NestJS ๅฎžๆˆ˜ไปฃ็ ๏ผŒๅนถๆž„ๅปบๆŠ€ๆœฏ้€‰ๅž‹ๅ†ณ็ญ–ๆ ‘ไธŽ้€‚็”จๅœบๆ™ฏ้€ŸๆŸฅใ€‚ @@ -7295,6 +7950,37 @@ description: ไบงๅ“ Sense ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ๏ผŒๆถต็›– AI ไบงๅ“่ง‚ๅฏŸ --- +--- +url: /31.ๅผ€ๆบๆดžๅฏŸ/00.overview.md +--- + +# ๅผ€ๆบๆดžๅฏŸ + +::: note ่ฏดๆ˜Ž๏ผš + +ๆœฌไธ“ๆ ๆ‰€ๆœ‰ๆบ็ ่งฃ่ฏปๆ–‡็ซ ๏ผŒๅ‡ๅ€ŸๅŠฉไบ†ๆœฌไบบๅผ€ๆบ็š„ **[repo-insight](https://github.com/sqliang/repo-insight) Agent Skill** ๆฅ่พ…ๅŠฉ็”Ÿๆˆใ€‚ + +**repo-insight** ๆ˜ฏไธ€ๆฌพไธ“ๆณจไบŽไผ˜็ง€ๅผ€ๆบ้กน็›ฎไปฃ็ ๅบ“่งฃ่ฏป็š„ๆ™บ่ƒฝๅŠฉๆ‰‹๏ผŒๆไพ› GitHub URL ๆˆ–ๆœฌๅœฐ็›ฎๅฝ•็š„ไธ€้”ฎๆทฑๅบฆๅˆ†ๆž่ƒฝๅŠ›ใ€‚ + +* **ไธ€้”ฎๅˆ†ๆž** - ๆ”ฏๆŒ GitHub URL ๆˆ–ๆœฌๅœฐ็›ฎๅฝ•ๅˆ†ๆž +* **ๆทฑๅบฆๆŠฅๅ‘Š** - ็”Ÿๆˆ้กน็›ฎๆฆ‚่ฟฐใ€ๆžถๆž„ๅˆ†ๆžใ€ๆ ธๅฟƒๆจกๅ—่งฃ่ฏป +* **ไธญๆ–‡ๆ”ฏๆŒ** - ่‡ชๅŠจ็ฟป่ฏ‘ READMEใ€็”Ÿๆˆไธญๆ–‡ไปฃ็ ๆณจ้‡Š +* **ๅ…จ่‡ชๅŠจๆ‰ง่กŒ** - ่ฐƒ็”จๅŽๆ— ้œ€ไธญ้—ดไบคไบ’ + +ไธคไธช Skill ๅ‡ๅ…ทๅค‡ไปฅไธŠ่ƒฝๅŠ›๏ผŒๅฏๆ นๆฎ้œ€ๆฑ‚้€‰ๆ‹ฉไฝฟ็”จใ€‚ + +::: right +[ไบ†่งฃ repo-insight โ†’](https://github.com/sqliang/repo-insight) +::: + +## ๅผ€ๆบ้กน็›ฎ่งฃ่ฏป + +| ้กน็›ฎ | ็ฎ€ไป‹ | +|------|------| +| **fetch-event-source** | ๅพฎ่ฝฏๅผ€ๆบ็š„ๅŸบไบŽ Fetch API ็š„ SSE ๅฎขๆˆท็ซฏๅบ“๏ผŒ็”จไบŽ็ฎ€ๅŒ–ไธŽๆœๅŠกๅ™จ็š„ๅฎžๆ—ถ้€šไฟกใ€‚ [่งฃ่ฏปๅ…จๆ–‡ โ†’](/repo-insight/fetch-event-source) | + +--- + --- url: /10.ไบงๅ“ Sense/02.ๆ–ฐ T ๅž‹ไบบ/21.ๅทฅ็จ‹ๅธˆๅฆ‚ไฝ•ๆž„ๅปบไบงๅ“ Sense.md description: >- diff --git a/llms.txt b/llms.txt index cd975c55..944619c9 100644 --- a/llms.txt +++ b/llms.txt @@ -95,11 +95,13 @@ ### Other - [AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ](/20.AI ๅญฆไน ไธŽๅฎž่ทต/00.AI ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ.md): ๅ…จๆ™ฏๅผ AI ๅญฆไน ไธŽๅฎž่ทต็Ÿฅ่ฏ†ๅบ“๏ผŒ็ณป็ปŸๆฒ‰ๆท€ AI Agent ่ฎพ่ฎกๆจกๅผใ€ๅคงๆจกๅž‹ๅทฅ็จ‹ๅŒ–่ฝๅœฐใ€ๅผ€ๆบๅฐ้กน็›ฎๅŠ็คพๅŒบๆดปๅŠจ็ป้ชŒๆ€ป็ป“๏ผŒๆŒ็ปญ่ฟญไปฃไปŽ็†่ฎบๅˆฐ็”Ÿไบง็š„ๅฎŒๆ•ดๆ–นๆณ•่ฎบใ€‚ +- [fetch-event-source ๆบ็ ่งฃ่ฏป](/31.ๅผ€ๆบๆดžๅฏŸ/01.fetch-event-source ๆบ็ ่งฃ่ฏป.md) - [ๅ…จๆ™ฏไธ€่งˆ](/01.ๅ…จๆ ˆ/00.overview.md): ๆœฌ็ณปๅˆ—ๅ›ด็ป•็Žฐไปฃๅ…จๆ ˆๅผ€ๅ‘็š„่ƒฝๅŠ›ไฝ“็ณปๅฑ•ๅผ€๏ผŒไปŽ AI ๆ—ถไปฃ็š„ๅทฅ็จ‹ๆ€็ปดๅ‡บๅ‘๏ผŒ่ฆ†็›–ๅ‰็ซฏๅทฅ็จ‹๏ผˆReact/Vue/CSS๏ผ‰ใ€ๅ…จๆ ˆๅŸบ็ก€็ด ๅ…ป๏ผˆTypeScript/JavaScript๏ผ‰ใ€ๅทฅๅ…ทไธŽ่ต„ๆบๆŽจ่็ญ‰ๆ ธๅฟƒ้ข†ๅŸŸ๏ผŒๅธฎๅŠฉๆž„ๅปบไปŽ"่ฎค็Ÿฅๅฑ‚ โ†’ ๆŠ€ๆœฏ้ข†ๅŸŸ โ†’ ๅทฅ็จ‹่ƒฝๅŠ› โ†’ ๅŸบ็ก€่ฎพๆ–ฝ"็š„ๅฎŒๆ•ดๅ…จๆ ˆ็Ÿฅ่ฏ†ๅ›พ่ฐฑใ€‚ - [ๅ…ณไบŽๆˆ‘](/40.ๅ…ณไบŽ/01.ๅ…ณไบŽๆˆ‘.md): ๆ‘˜่ฆๆ€ป็ป“๏ผšไปŽ Tech Stack ๅˆฐ Insight Stack๏ผŒๅฝ“ AI ๆŽฅ็ฎกไบ†ๅฎž็Žฐ๏ผŒๆˆ‘ๆ›ดๅ…ณๆณจๆžถๆž„็š„ๆƒ่กกไธŽไบงๅ“็š„ไปทๅ€ผ๏ผŒไธ“ๆณจ๏ผšๅทฅ็จ‹ๅŒ– Spec ไธŽ AI ็ผ–็จ‹็ฃจๅˆ็š„ๅฎž่ทต | Agent ่ฝๅœฐ | ็‹ฌ็ซ‹ไบงๅ“ใ€‚ - [ๅˆ†็ฑป](/@pages/categoriesPage.md) - [ๅฅฝไนฆๆŽจ่](/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/01.ๅฅฝไนฆๆŽจ่.md): ่ฏปไนฆๅฟƒๅพ—ใ€ๆŽจ่ไนฆ็ฑๅ’Œ้˜…่ฏปๆŠ€ๅทง - [ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ](/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/21.ๅฆ‚ไฝ•็”„ๅˆซ็œŸๆญฃๆœ‰็”จ็š„ไฟกๆฏ.md): ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจไฟกๆฏ้ซ˜ๅบฆ้€ๆ˜Ž็š„ๆ—ถไปฃ๏ผŒๆต…ๅฑ‚ไฟกๆฏๅทฎๅทฒ่ขซๅฝปๅบ•ๆŠนๅนณ๏ผŒไฟกๆฏๆœฌ่บซ็š„ไปทๅ€ผไธๆ–ญ็จ€้‡Šใ€‚ไบบไธŽไบบ็š„ๆ ธๅฟƒๅทฎ่ทไธๅ†ๆ˜ฏ่Žทๅ–ไฟกๆฏ็š„ๆธ ้“๏ผŒ่€Œๆ˜ฏ้ซ˜ไฟกๅ™ชๆฏ”ไฟกๆฏ็š„็”„ๅˆซ่ƒฝๅŠ›ใ€ๆทฑๅบฆๆ€่€ƒ่ƒฝๅŠ›ไธŽ่ฝๅœฐๆ‰ง่กŒๅŠ›๏ผŒๅ”ฏๆœ‰ไปฅๆ€่€ƒๆ ก้ชŒไฟกๆฏใ€ไปฅๆ‰ง่กŒ้ชŒ่ฏไปทๅ€ผ๏ผŒๅฝขๆˆโ€œไฟกๆฏ-ๅˆคๆ–ญ-ๅฎž่ทต-ๅ้ฆˆโ€็š„ๆ€่€ƒไธŽๆ‰ง่กŒ้—ญ็Žฏ๏ผŒๆ‰่ƒฝ็ช็ ดไฟกๆฏๅฃๅž’ใ€ๅˆ›้€ ็œŸๆญฃไปทๅ€ผใ€‚ - [ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ](/10.ไบงๅ“ Sense/00.ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏ.md): ไบงๅ“ Sense ๅญฆไน ไธŽๅฎž่ทตๅ…จๆ™ฏไธ€่งˆ๏ผŒๆถต็›– AI ไบงๅ“่ง‚ๅฏŸใ€ๅคๅˆๅž‹ไบบๆ‰ๆˆ้•ฟใ€ๅ•†ไธšๅŒ–ๆ€่€ƒๅŠๆ–นๆณ•่ฎบๆ€ป็ป“็ญ‰ใ€‚ +- [ๅผ€ๆบๆดžๅฏŸ](/31.ๅผ€ๆบๆดžๅฏŸ/00.overview.md) - [ๆ ‡็ญพ](/@pages/tagsPage.md) - [่ฏปไนฆโ€œไธ‰่ฆโ€ๅ’Œโ€œไธ‰ไธ่ฆโ€](/30.ๆ‚ฆ่ฏปๆ—ถๅ…‰/10.่ฏปไนฆไธ‰่ฆไธ‰ไธ่ฆ.md): ๆ‘˜่ฆๆ€ป็ป“๏ผšๅœจไฟกๆฏ็ˆ†็‚ธ็š„ๆ—ถไปฃ๏ผŒ่ฏปไนฆไพ็„ถๆ˜ฏ่Žทๅ–ๆทฑๅบฆ็Ÿฅ่ฏ†ๆœ€้ซ˜ๆ•ˆ็š„ๆ–นๅผไน‹ไธ€ใ€‚ไฝ†โ€œๆง่ตทไนฆโ€ๅนถไธ็ญ‰ไบŽโ€œๆœ‰ๆ”ถ่Žทโ€๏ผŒๆ€Žไนˆ่ฏปๅพ€ๅพ€ๆฏ”่ฏปไป€ไนˆๆ›ด้‡่ฆใ€‚ๆœฌๆ–‡ๆ€ป็ป“ไบ†้ซ˜ๆ•ˆ้˜…่ฏป็š„โ€œไธ‰่ฆโ€ไธŽโ€œไธ‰ไธ่ฆโ€๏ผšไปŽๅฎŒๆ•ด้˜…่ฏป่ง‚ๆ‘ฉๅคงๅธˆๆ€็ปดใ€ๅธฆ็€้—ฎ้ข˜ๆž„ๅปบ็Ÿฅ่ฏ†ๆ ‘๏ผŒๅˆฐ้€š่ฟ‡่ฎจ่ฎบๆฃ€้ชŒ็†่งฃ๏ผ›ๅŒๆ—ถๆ้†’้˜…่ฏป่€…่ญฆๆƒ•ๅ“€ๆ€จๅฟƒๆ€ๅฏน้˜…่ฏปๅˆ่กท็š„ๅผ‚ๅŒ–ใ€้ฟๅ…้™ทๅ…ฅๅฏน็‰ฉ็†ๅช’ไป‹็š„โ€œ็Žฉ็‰ฉไธงๅฟ—โ€๏ผŒไปฅๅŠๅˆ‡ๅฟŒ่„ฑ็ฆป็Žฐๅฎž็š„โ€œ็œŸ็ฉบโ€้˜…่ฏปใ€‚้˜…่ฏปไธไป…ๆ˜ฏๅ‘ๅ†…ๆŽข็ดข็š„็ฒพ็ฅžไน‹ๆ—…๏ผŒๆ›ดๆ˜ฏๅ‘ๅค–็†่งฃ็œŸๅฎžไธ–็•Œใ€ๅˆ›้€ ็คพไผšไปทๅ€ผ็š„ๅฎž็”จๅทฅๅ…ทใ€‚ diff --git a/sitemap.xml b/sitemap.xml index cf3c1037..631cf2e0 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -1 +1 @@ -https://sqliang.github.io/01.%E5%85%A8%E6%A0%88/00.overviewhttps://sqliang.github.io/01.%E5%85%A8%E6%A0%88/01.AI%20Native%20%E5%B7%A5%E7%A8%8B%E6%80%9D%E7%BB%B4/01.%E4%B8%8D%E6%AD%A2%E4%BA%8E%E4%BB%A3%E7%A0%81%EF%BC%9A%E6%9E%84%E5%BB%BA%20AI%20%E6%97%B6%E4%BB%A3%E5%85%A8%E6%A0%88%E5%B7%A5%E7%A8%8B%E5%B8%88%E7%9A%84%E2%80%9C%E8%AE%A4%E7%9F%A5%E4%B8%89%E5%B1%82%E5%A1%94%E2%80%9Dhttps://sqliang.github.io/01.%E5%85%A8%E6%A0%88/01.AI%20Native%20%E5%B7%A5%E7%A8%8B%E6%80%9D%E7%BB%B4/02.%E9%87%8D%E6%9E%84%E5%BC%80%E5%8F%91%E8%80%85%EF%BC%9AAI%20%E6%97%B6%E4%BB%A3%E4%B8%8B%E7%9A%84%E5%B7%A5%E7%A8%8B%E5%B8%88%E8%83%BD%E5%8A%9B%E5%9B%BE%E8%B0%B1%E4%B8%8E%E6%BC%94%E8%BF%9B%E6%8C%87%E5%8D%97https://sqliang.github.io/01.%E5%85%A8%E6%A0%88/01.AI%20Native%20%E5%B7%A5%E7%A8%8B%E6%80%9D%E7%BB%B4/10.%E8%AF%BB%20Anthropic%20%E7%A0%94%E7%A9%B6%E6%8A%A5%E5%91%8A%EF%BC%8C%E6%8E%A2%E5%AF%BB%20AI%20%E6%97%B6%E4%BB%A3%E7%9A%84%E5%B7%A5%E7%A8%8B%E8%8C%83%E5%BC%8F%E9%87%8D%E5%A1%91https://sqliang.github.io/01.%E5%85%A8%E6%A0%88/10.AI%20%E7%BC%96%E7%A8%8B%E5%AE%9E%E8%B7%B5%E6%8C%87%E5%8D%97/00.AI%E7%BC%96%E7%A8%8B%E5%B7%A5%E5%85%B7%E4%B8%8E%E8%B5%84%E6%BA%90https://sqliang.github.io/01.%E5%85%A8%E6%A0%88/40.%E5%89%8D%E7%AB%AF%E5%B7%A5%E7%A8%8B/01.React%20%E8%AE%BE%E8%AE%A1%E5%93%B2%E5%AD%A6%EF%BC%9AAI%20%E5%8D%8F%E4%BD%9C%E6%97%B6%E4%BB%A3%E7%9A%84%E7%BB%84%E4%BB%B6%E5%8C%96%E5%BC%80%E5%8F%91%E5%AE%9E%E8%B7%B5%E6%8C%87%E5%8D%97https://sqliang.github.io/01.%E5%85%A8%E6%A0%88/40.%E5%89%8D%E7%AB%AF%E5%B7%A5%E7%A8%8B/02.CSS%E5%B7%A5%E7%A8%8B%E5%8C%96https://sqliang.github.io/01.%E5%85%A8%E6%A0%88/40.%E5%89%8D%E7%AB%AF%E5%B7%A5%E7%A8%8B/03.JAMStack%20%E6%A2%B3%E7%90%86%E4%B8%8E%E5%AE%9E%E8%B7%B5%E6%8C%87%E5%8D%97https://sqliang.github.io/01.%E5%85%A8%E6%A0%88/40.%E5%89%8D%E7%AB%AF%E5%B7%A5%E7%A8%8B/11.React%20%E6%9C%8D%E5%8A%A1%E7%AB%AF%E7%8A%B6%E6%80%81%E7%AE%A1%E7%90%86%E7%9A%84%E8%8C%83%E5%BC%8F%E8%BD%AC%E7%A7%BB%E4%B8%8E%E9%80%89%E5%9E%8B%E6%B7%B1%E5%BA%A6%E5%8D%9A%E5%BC%88https://sqliang.github.io/01.%E5%85%A8%E6%A0%88/60.%E7%BD%91%E7%BB%9C%E4%B8%8E%E9%80%9A%E4%BF%A1/01.%E4%BB%8E%20HTTP%20%E5%88%B0%20WebSocket%20%E7%9A%84%E6%8A%80%E6%9C%AF%E9%80%89%E5%9E%8B%E6%8C%87%E5%8D%97https://sqliang.github.io/01.%E5%85%A8%E6%A0%88/60.%E7%BD%91%E7%BB%9C%E4%B8%8E%E9%80%9A%E4%BF%A1/02.%E6%B5%81%E5%BC%8F%20HTTP%20%E4%B8%8E%20SSE%20%E5%8D%8F%E8%AE%AE%EF%BC%9A%E4%BB%8E%E6%A6%82%E5%BF%B5%E8%BE%A8%E6%9E%90%E5%88%B0%E7%94%9F%E4%BA%A7%E5%AE%9E%E8%B7%B5https://sqliang.github.io/01.%E5%85%A8%E6%A0%88/60.%E7%BD%91%E7%BB%9C%E4%B8%8E%E9%80%9A%E4%BF%A1/03.%E9%80%80%E9%81%BF%E8%BD%AE%E8%AF%A2%E4%B8%8E%E9%95%BF%E8%BD%AE%E8%AF%A2%E7%9A%84%E5%8E%9F%E7%90%86%E3%80%81%E5%AE%9E%E6%88%98%E4%B8%8E%E9%80%89%E5%9E%8B%E5%86%B3%E7%AD%96https://sqliang.github.io/01.%E5%85%A8%E6%A0%88/80.%E5%85%A8%E6%A0%88%E5%9F%BA%E7%A1%80%E7%B4%A0%E5%85%BB/00.%E5%A5%A5%E5%8D%A1%E5%A7%86%E5%89%83%E5%88%80%E5%8E%9F%E5%88%99%EF%BC%9A%E4%BB%8E%E7%90%86%E8%AE%BA%E5%88%B0%E7%BC%96%E7%A8%8B%E8%AE%BE%E8%AE%A1%E7%9A%84%E5%AE%9E%E8%B7%B5%E6%8C%87%E5%8D%97https://sqliang.github.io/01.%E5%85%A8%E6%A0%88/80.%E5%85%A8%E6%A0%88%E5%9F%BA%E7%A1%80%E7%B4%A0%E5%85%BB/01.%E7%BC%96%E8%AF%91%E4%B8%8E%E8%B0%83%E8%AF%95%20TypeScript%20%E9%A1%B9%E7%9B%AE%E6%8C%87%E5%8D%97https://sqliang.github.io/01.%E5%85%A8%E6%A0%88/80.%E5%85%A8%E6%A0%88%E5%9F%BA%E7%A1%80%E7%B4%A0%E5%85%BB/10.%E8%81%8A%E4%B8%80%E8%81%8A%20Typescript%20%E6%B3%9B%E5%9E%8Bhttps://sqliang.github.io/01.%E5%85%A8%E6%A0%88/80.%E5%85%A8%E6%A0%88%E5%9F%BA%E7%A1%80%E7%B4%A0%E5%85%BB/20.%E6%A8%A1%E5%9D%97%E5%8C%96%E7%BC%96%E7%A8%8B%E5%AE%9E%E8%B7%B5%E6%8C%87%E5%8D%97/0.overviewhttps://sqliang.github.io/01.%E5%85%A8%E6%A0%88/80.%E5%85%A8%E6%A0%88%E5%9F%BA%E7%A1%80%E7%B4%A0%E5%85%BB/20.%E6%A8%A1%E5%9D%97%E5%8C%96%E7%BC%96%E7%A8%8B%E5%AE%9E%E8%B7%B5%E6%8C%87%E5%8D%97/1.%E5%89%8D%E7%AB%AF%E6%A8%A1%E5%9D%97%E5%8C%96%E7%BC%96%E7%A8%8B%E5%9F%BA%E7%A1%80https://sqliang.github.io/01.%E5%85%A8%E6%A0%88/80.%E5%85%A8%E6%A0%88%E5%9F%BA%E7%A1%80%E7%B4%A0%E5%85%BB/20.%E6%A8%A1%E5%9D%97%E5%8C%96%E7%BC%96%E7%A8%8B%E5%AE%9E%E8%B7%B5%E6%8C%87%E5%8D%97/2.%E4%B8%8D%E5%90%8C%E6%A8%A1%E5%9D%97%E5%8C%96%E8%A7%84%E8%8C%83%E6%A2%B3%E7%90%86https://sqliang.github.io/01.%E5%85%A8%E6%A0%88/80.%E5%85%A8%E6%A0%88%E5%9F%BA%E7%A1%80%E7%B4%A0%E5%85%BB/20.%E6%A8%A1%E5%9D%97%E5%8C%96%E7%BC%96%E7%A8%8B%E5%AE%9E%E8%B7%B5%E6%8C%87%E5%8D%97/3.ES%20Modules%20%E6%A0%B8%E5%BF%83%E8%A7%84%E8%8C%83%E4%B8%8E%E5%AE%9E%E8%B7%B5%E8%A7%A3%E6%9E%90https://sqliang.github.io/01.%E5%85%A8%E6%A0%88/80.%E5%85%A8%E6%A0%88%E5%9F%BA%E7%A1%80%E7%B4%A0%E5%85%BB/20.%E6%A8%A1%E5%9D%97%E5%8C%96%E7%BC%96%E7%A8%8B%E5%AE%9E%E8%B7%B5%E6%8C%87%E5%8D%97/4.Typescript%20%E5%AF%B9%E6%A8%A1%E5%9D%97%E5%8C%96%E7%BC%96%E7%A8%8B%E7%9A%84%E5%A2%9E%E5%BC%BAhttps://sqliang.github.io/01.%E5%85%A8%E6%A0%88/80.%E5%85%A8%E6%A0%88%E5%9F%BA%E7%A1%80%E7%B4%A0%E5%85%BB/20.%E6%A8%A1%E5%9D%97%E5%8C%96%E7%BC%96%E7%A8%8B%E5%AE%9E%E8%B7%B5%E6%8C%87%E5%8D%97/5.%E6%A8%A1%E5%9D%97%E5%8C%96%E7%BC%96%E7%A8%8B%E5%8E%9F%E5%88%99%E4%B8%8E%E6%9C%80%E4%BD%B3%E5%AE%9E%E8%B7%B5https://sqliang.github.io/01.%E5%85%A8%E6%A0%88/80.%E5%85%A8%E6%A0%88%E5%9F%BA%E7%A1%80%E7%B4%A0%E5%85%BB/20.%E6%A8%A1%E5%9D%97%E5%8C%96%E7%BC%96%E7%A8%8B%E5%AE%9E%E8%B7%B5%E6%8C%87%E5%8D%97/6.%E8%A7%A3%E6%9E%90%20NodeJS%20%E4%B8%AD%E7%9A%84%E6%A8%A1%E5%9D%97%E5%8C%96https://sqliang.github.io/01.%E5%85%A8%E6%A0%88/90.%E5%B7%A5%E5%85%B7%E4%B8%8E%E8%B5%84%E6%BA%90%E6%8E%A8%E8%8D%90/90.%E5%85%A8%E6%A0%88%E6%8A%80%E6%9C%AF%E8%B5%84%E6%BA%90%E6%8E%A8%E8%8D%90https://sqliang.github.io/10.%E4%BA%A7%E5%93%81%20Sense/00.%E5%AD%A6%E4%B9%A0%E4%B8%8E%E5%AE%9E%E8%B7%B5%E5%85%A8%E6%99%AFhttps://sqliang.github.io/10.%E4%BA%A7%E5%93%81%20Sense/01.%E4%BA%A7%E5%93%81%E8%A7%82%E5%AF%9F%E4%B8%8E%E5%88%86%E6%9E%90/11.AI-powered%20%E6%90%9C%E7%B4%A2%E5%BC%95%E6%93%8E%E8%A7%82%E5%AF%9F%E5%88%86%E6%9E%90%EF%BC%9APerplexity%20%E4%B8%8E%E7%9F%A5%E8%AF%86%E5%B7%A5%E4%BD%9C%E8%80%85https://sqliang.github.io/10.%E4%BA%A7%E5%93%81%20Sense/02.%E6%96%B0%20T%20%E5%9E%8B%E4%BA%BA/20.%E8%AF%BB%E5%90%8E%E6%84%9F%EF%BC%9AAI%20%E5%8E%9F%E7%94%9F%E6%97%B6%E4%BB%A3%E7%9A%84%E5%A4%8D%E5%90%88%E5%9E%8B%E4%BA%BA%E6%89%8D%EF%BC%8C%E7%A9%B6%E7%AB%9F%E9%9C%80%E8%A6%81%E6%80%8E%E6%A0%B7%E7%9A%84%E7%89%B9%E8%B4%A8%EF%BC%9Fhttps://sqliang.github.io/10.%E4%BA%A7%E5%93%81%20Sense/02.%E6%96%B0%20T%20%E5%9E%8B%E4%BA%BA/21.%E5%B7%A5%E7%A8%8B%E5%B8%88%E5%A6%82%E4%BD%95%E6%9E%84%E5%BB%BA%E4%BA%A7%E5%93%81%20Sensehttps://sqliang.github.io/10.%E4%BA%A7%E5%93%81%20Sense/04.%E4%BA%A7%E5%93%81%E5%88%9B%E9%80%A0%E4%B8%8E%E5%95%86%E4%B8%9A%E5%8C%96/30.%E3%80%8A%E5%B0%8F%E8%80%8C%E7%BE%8E%EF%BC%9A%E6%8C%81%E7%BB%AD%E7%9B%88%E5%88%A9%E7%9A%84%E7%BB%8F%E8%90%A5%E6%B3%95%E5%88%99%E3%80%8B%E8%AF%BB%E5%90%8E%E6%84%9Fhttps://sqliang.github.io/10.%E4%BA%A7%E5%93%81%20Sense/05.%E6%96%B9%E6%B3%95%E8%AE%BA/40.%E6%B4%9E%E5%AF%9F%E5%8A%9B%E6%A8%A1%E5%9E%8Bhttps://sqliang.github.io/10.%E4%BA%A7%E5%93%81%20Sense/05.%E6%96%B9%E6%B3%95%E8%AE%BA/50.%E7%94%A8%E7%BB%8F%E6%B5%8E%E5%AD%A6%E6%80%9D%E7%BB%B4%E5%81%9A%E4%BA%A7%E5%93%81https://sqliang.github.io/20.AI%20%E5%AD%A6%E4%B9%A0%E4%B8%8E%E5%AE%9E%E8%B7%B5/00.AI%20%E5%AD%A6%E4%B9%A0%E4%B8%8E%E5%AE%9E%E8%B7%B5%E5%85%A8%E6%99%AF%E4%B8%80%E8%A7%88https://sqliang.github.io/20.AI%20%E5%AD%A6%E4%B9%A0%E4%B8%8E%E5%AE%9E%E8%B7%B5/02.Agent%20%E7%B3%BB%E5%88%97/01.Agent%E6%A6%82%E8%A7%88%E4%B8%8E%E7%BB%BC%E8%BF%B0https://sqliang.github.io/20.AI%20%E5%AD%A6%E4%B9%A0%E4%B8%8E%E5%AE%9E%E8%B7%B5/02.Agent%20%E7%B3%BB%E5%88%97/02.Agent%20%E8%A7%84%E5%88%92%E6%A8%A1%E5%9D%97https://sqliang.github.io/20.AI%20%E5%AD%A6%E4%B9%A0%E4%B8%8E%E5%AE%9E%E8%B7%B5/02.Agent%20%E7%B3%BB%E5%88%97/03.%E6%9E%84%E5%BB%BA%20Agentic%20%E7%94%9F%E6%80%81%EF%BC%9A%E5%B0%86%E9%9B%B6%E6%95%A3%E7%BB%84%E4%BB%B6%E5%8C%96%E4%B8%BA%E5%8F%AF%E6%8C%81%E7%BB%AD%E7%9A%84%E5%B7%A5%E4%BD%9C%E6%B5%81https://sqliang.github.io/20.AI%20%E5%AD%A6%E4%B9%A0%E4%B8%8E%E5%AE%9E%E8%B7%B5/02.Agent%20%E7%B3%BB%E5%88%97/10.Agent%20SKillshttps://sqliang.github.io/20.AI%20%E5%AD%A6%E4%B9%A0%E4%B8%8E%E5%AE%9E%E8%B7%B5/04.%E7%A4%BE%E5%8C%BA%E6%B4%BB%E5%8A%A8%E4%B8%8E%E5%AE%9E%E8%B7%B5%E5%B0%8F%E9%A1%B9%E7%9B%AE/10.%E5%9F%BA%E4%BA%8E%20Claude%20Agent%20SDK%20%E6%90%AD%E5%BB%BA%20Deep%20Research%20Agenthttps://sqliang.github.io/20.AI%20%E5%AD%A6%E4%B9%A0%E4%B8%8E%E5%AE%9E%E8%B7%B5/04.%E7%A4%BE%E5%8C%BA%E6%B4%BB%E5%8A%A8%E4%B8%8E%E5%AE%9E%E8%B7%B5%E5%B0%8F%E9%A1%B9%E7%9B%AE/20.%E5%9F%BA%E4%BA%8E%20Claude%20Agent%20SDK%20%E6%90%AD%E5%BB%BA%20Agenthttps://sqliang.github.io/20.AI%20%E5%AD%A6%E4%B9%A0%E4%B8%8E%E5%AE%9E%E8%B7%B5/04.%E7%A4%BE%E5%8C%BA%E6%B4%BB%E5%8A%A8%E4%B8%8E%E5%AE%9E%E8%B7%B5%E5%B0%8F%E9%A1%B9%E7%9B%AE/60.%E6%95%B0%E5%AD%A6%E5%B0%8F%E5%8A%A9%E6%89%8Bhttps://sqliang.github.io/20.AI%20%E5%AD%A6%E4%B9%A0%E4%B8%8E%E5%AE%9E%E8%B7%B5/04.%E7%A4%BE%E5%8C%BA%E6%B4%BB%E5%8A%A8%E4%B8%8E%E5%AE%9E%E8%B7%B5%E5%B0%8F%E9%A1%B9%E7%9B%AE/70.%E8%AF%97%E6%AD%8C%E5%B0%8F%E7%B2%BE%E7%81%B5https://sqliang.github.io/20.AI%20%E5%AD%A6%E4%B9%A0%E4%B8%8E%E5%AE%9E%E8%B7%B5/90.%E8%B5%84%E6%BA%90%E4%B8%8E%E5%B7%A5%E5%85%B7%E6%8E%A8%E8%8D%90/01.%E5%A5%BD%E7%94%A8%E7%9A%84%20AI%20%E5%8A%A9%E6%89%8B%E4%B8%8E%E5%B7%A5%E4%BD%9C%E7%AB%99%E6%8E%A8%E8%8D%90https://sqliang.github.io/20.AI%20%E5%AD%A6%E4%B9%A0%E4%B8%8E%E5%AE%9E%E8%B7%B5/90.%E8%B5%84%E6%BA%90%E4%B8%8E%E5%B7%A5%E5%85%B7%E6%8E%A8%E8%8D%90/11.%20LLM%20API%20%E5%B9%B3%E5%8F%B0%E6%8E%A8%E8%8D%90%E4%B8%8E%E9%80%89%E5%9E%8B%E6%8C%87%E5%8D%97https://sqliang.github.io/30.%E6%82%A6%E8%AF%BB%E6%97%B6%E5%85%89/01.%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90https://sqliang.github.io/30.%E6%82%A6%E8%AF%BB%E6%97%B6%E5%85%89/10.%E8%AF%BB%E4%B9%A6%E4%B8%89%E8%A6%81%E4%B8%89%E4%B8%8D%E8%A6%81https://sqliang.github.io/30.%E6%82%A6%E8%AF%BB%E6%97%B6%E5%85%89/21.%E5%A6%82%E4%BD%95%E7%94%84%E5%88%AB%E7%9C%9F%E6%AD%A3%E6%9C%89%E7%94%A8%E7%9A%84%E4%BF%A1%E6%81%AFhttps://sqliang.github.io/40.%E5%85%B3%E4%BA%8E/01.%E5%85%B3%E4%BA%8E%E6%88%91https://sqliang.github.io/40.%E5%85%B3%E4%BA%8E/30.%E6%88%90%E9%95%BF%E9%9A%8F%E7%AC%94/01.%E8%B5%B0%E5%87%BA%E2%80%9C%E7%9B%AE%E6%A0%87%E9%9A%A7%E9%81%93%E2%80%9D%EF%BC%9A%E7%94%A8%E7%B3%BB%E7%BB%9F%E4%B8%8E%E6%95%B0%E5%AD%A6%E6%80%9D%E7%BB%B4%E9%87%8D%E6%9E%84%E5%BA%95%E5%B1%82%E9%80%BB%E8%BE%91https://sqliang.github.io/40.%E5%85%B3%E4%BA%8E/30.%E6%88%90%E9%95%BF%E9%9A%8F%E7%AC%94/10.%E5%90%91%E5%86%85%E6%80%9D%E5%8F%98%EF%BC%9A%E5%BD%93%E7%96%AB%E6%83%85%E7%BB%99%E4%B8%96%E7%95%8C%E6%8C%89%E4%B8%8B%E6%9A%82%E5%81%9C%E9%94%AE%EF%BC%8C%E5%8E%BB%E9%87%8D%E6%9E%84%E7%94%9F%E6%B4%BB%E7%A7%A9%E5%BA%8Fhttps://sqliang.github.io/40.%E5%85%B3%E4%BA%8E/30.%E6%88%90%E9%95%BF%E9%9A%8F%E7%AC%94/20.%E5%87%8F%E8%82%A5%E8%BF%99%E4%BB%B6%E5%B0%8F%E4%BA%8B%E9%98%B6%E6%AE%B5%E9%9A%8F%E7%AC%94%E6%B1%87%E6%80%BBhttps://sqliang.github.io/@pages/categoriesPagehttps://sqliang.github.io/@pages/tagsPagehttps://sqliang.github.io/https://sqliang.github.io/fullstack/overviewhttps://sqliang.github.io/fullstack/ai-nativehttps://sqliang.github.io/fullstack/ai-engineer-capabilityhttps://sqliang.github.io/fullstack/ai-change-work-workflowhttps://sqliang.github.io/ai-learning/ai-coding-resourceshttps://sqliang.github.io/fullstack/react-design-philosophy-ai-augmentedhttps://sqliang.github.io/full-stack/css-engineeringhttps://sqliang.github.io/fullstack/jamstackhttps://sqliang.github.io/fullstack/server-state-managementhttps://sqliang.github.io/fullstack/networking-protocol-selection-guidehttps://sqliang.github.io/fullstack/networking/sse-practicehttps://sqliang.github.io/fullstack/networking-polling-optimizationhttps://sqliang.github.io/fullstack/occams-razor-software-designhttps://sqliang.github.io/fullstack/typescript-compilation-debugging-guidehttps://sqliang.github.io/fullstack/typescript-generic-typeshttps://sqliang.github.io/fullstack/module-programming-practice-guidehttps://sqliang.github.io/fullstack/frontend-module-programming-basichttps://sqliang.github.io/fullstack/different-module-programming-specificationshttps://sqliang.github.io/fullstack/decode-es-moduleshttps://sqliang.github.io/fullstack/typescript-module-programming-enhancementhttps://sqliang.github.io/fullstack/module-programming-principles-best-practiceshttps://sqliang.github.io/fullstack/nodejs-module-programming-summaryhttps://sqliang.github.io/growth/full-stack-resourceshttps://sqliang.github.io/product-sensehttps://sqliang.github.io/product-sense/perplexity-knowledge-workerhttps://sqliang.github.io/product-sense/ai-native-composite-talentshttps://sqliang.github.io/product-sense/engineer-build-product-sensehttps://sqliang.github.io/product-sense/small-rule-learnhttps://sqliang.github.io/product-sense/insight-modelhttps://sqliang.github.io/product-sense/using-economics-thinkinghttps://sqliang.github.io/ai-learning/overviewhttps://sqliang.github.io/ai-agent/overviewhttps://sqliang.github.io/ai-agent/planning-modulehttps://sqliang.github.io/ai-agent/composition-ai-componentshttps://sqliang.github.io/ai-agent/skills-practice-summaryhttps://sqliang.github.io/ai-agent/deepresearch-agenthttps://sqliang.github.io/ai-practice/claude-agent-sdk-basic-buildhttps://sqliang.github.io/ai-practice/math-bothttps://sqliang.github.io/ai-practice/poetry-bothttps://sqliang.github.io/ai-learning/tools-assistanthttps://sqliang.github.io/ai-learning/llm-api-resourceshttps://sqliang.github.io/growth/bookshttps://sqliang.github.io/pages/growth/reading-tipshttps://sqliang.github.io/growth/distinguish-useful-informationhttps://sqliang.github.io/about/mehttps://sqliang.github.io/growth/outer-experiencehttps://sqliang.github.io/growth/inner-experiencehttps://sqliang.github.io/growth/weight-losshttps://sqliang.github.io/categorieshttps://sqliang.github.io/tags \ No newline at end of file +https://sqliang.github.io/01.%E5%85%A8%E6%A0%88/00.overviewhttps://sqliang.github.io/01.%E5%85%A8%E6%A0%88/01.AI%20Native%20%E5%B7%A5%E7%A8%8B%E6%80%9D%E7%BB%B4/01.%E4%B8%8D%E6%AD%A2%E4%BA%8E%E4%BB%A3%E7%A0%81%EF%BC%9A%E6%9E%84%E5%BB%BA%20AI%20%E6%97%B6%E4%BB%A3%E5%85%A8%E6%A0%88%E5%B7%A5%E7%A8%8B%E5%B8%88%E7%9A%84%E2%80%9C%E8%AE%A4%E7%9F%A5%E4%B8%89%E5%B1%82%E5%A1%94%E2%80%9Dhttps://sqliang.github.io/01.%E5%85%A8%E6%A0%88/01.AI%20Native%20%E5%B7%A5%E7%A8%8B%E6%80%9D%E7%BB%B4/02.%E9%87%8D%E6%9E%84%E5%BC%80%E5%8F%91%E8%80%85%EF%BC%9AAI%20%E6%97%B6%E4%BB%A3%E4%B8%8B%E7%9A%84%E5%B7%A5%E7%A8%8B%E5%B8%88%E8%83%BD%E5%8A%9B%E5%9B%BE%E8%B0%B1%E4%B8%8E%E6%BC%94%E8%BF%9B%E6%8C%87%E5%8D%97https://sqliang.github.io/01.%E5%85%A8%E6%A0%88/01.AI%20Native%20%E5%B7%A5%E7%A8%8B%E6%80%9D%E7%BB%B4/10.%E8%AF%BB%20Anthropic%20%E7%A0%94%E7%A9%B6%E6%8A%A5%E5%91%8A%EF%BC%8C%E6%8E%A2%E5%AF%BB%20AI%20%E6%97%B6%E4%BB%A3%E7%9A%84%E5%B7%A5%E7%A8%8B%E8%8C%83%E5%BC%8F%E9%87%8D%E5%A1%91https://sqliang.github.io/01.%E5%85%A8%E6%A0%88/10.AI%20%E7%BC%96%E7%A8%8B%E5%AE%9E%E8%B7%B5%E6%8C%87%E5%8D%97/00.AI%E7%BC%96%E7%A8%8B%E5%B7%A5%E5%85%B7%E4%B8%8E%E8%B5%84%E6%BA%90https://sqliang.github.io/01.%E5%85%A8%E6%A0%88/40.%E5%89%8D%E7%AB%AF%E5%B7%A5%E7%A8%8B/01.React%20%E8%AE%BE%E8%AE%A1%E5%93%B2%E5%AD%A6%EF%BC%9AAI%20%E5%8D%8F%E4%BD%9C%E6%97%B6%E4%BB%A3%E7%9A%84%E7%BB%84%E4%BB%B6%E5%8C%96%E5%BC%80%E5%8F%91%E5%AE%9E%E8%B7%B5%E6%8C%87%E5%8D%97https://sqliang.github.io/01.%E5%85%A8%E6%A0%88/40.%E5%89%8D%E7%AB%AF%E5%B7%A5%E7%A8%8B/02.CSS%E5%B7%A5%E7%A8%8B%E5%8C%96https://sqliang.github.io/01.%E5%85%A8%E6%A0%88/40.%E5%89%8D%E7%AB%AF%E5%B7%A5%E7%A8%8B/03.JAMStack%20%E6%A2%B3%E7%90%86%E4%B8%8E%E5%AE%9E%E8%B7%B5%E6%8C%87%E5%8D%97https://sqliang.github.io/01.%E5%85%A8%E6%A0%88/40.%E5%89%8D%E7%AB%AF%E5%B7%A5%E7%A8%8B/11.React%20%E6%9C%8D%E5%8A%A1%E7%AB%AF%E7%8A%B6%E6%80%81%E7%AE%A1%E7%90%86%E7%9A%84%E8%8C%83%E5%BC%8F%E8%BD%AC%E7%A7%BB%E4%B8%8E%E9%80%89%E5%9E%8B%E6%B7%B1%E5%BA%A6%E5%8D%9A%E5%BC%88https://sqliang.github.io/01.%E5%85%A8%E6%A0%88/60.%E7%BD%91%E7%BB%9C%E4%B8%8E%E9%80%9A%E4%BF%A1/01.%E4%BB%8E%20HTTP%20%E5%88%B0%20WebSocket%20%E7%9A%84%E6%8A%80%E6%9C%AF%E9%80%89%E5%9E%8B%E6%8C%87%E5%8D%97https://sqliang.github.io/01.%E5%85%A8%E6%A0%88/60.%E7%BD%91%E7%BB%9C%E4%B8%8E%E9%80%9A%E4%BF%A1/02.%E6%B5%81%E5%BC%8F%20HTTP%20%E4%B8%8E%20SSE%20%E5%8D%8F%E8%AE%AE%EF%BC%9A%E4%BB%8E%E6%A6%82%E5%BF%B5%E8%BE%A8%E6%9E%90%E5%88%B0%E7%94%9F%E4%BA%A7%E5%AE%9E%E8%B7%B5https://sqliang.github.io/01.%E5%85%A8%E6%A0%88/60.%E7%BD%91%E7%BB%9C%E4%B8%8E%E9%80%9A%E4%BF%A1/03.%E9%80%80%E9%81%BF%E8%BD%AE%E8%AF%A2%E4%B8%8E%E9%95%BF%E8%BD%AE%E8%AF%A2%E7%9A%84%E5%8E%9F%E7%90%86%E3%80%81%E5%AE%9E%E6%88%98%E4%B8%8E%E9%80%89%E5%9E%8B%E5%86%B3%E7%AD%96https://sqliang.github.io/01.%E5%85%A8%E6%A0%88/80.%E5%85%A8%E6%A0%88%E5%9F%BA%E7%A1%80%E7%B4%A0%E5%85%BB/00.%E5%A5%A5%E5%8D%A1%E5%A7%86%E5%89%83%E5%88%80%E5%8E%9F%E5%88%99%EF%BC%9A%E4%BB%8E%E7%90%86%E8%AE%BA%E5%88%B0%E7%BC%96%E7%A8%8B%E8%AE%BE%E8%AE%A1%E7%9A%84%E5%AE%9E%E8%B7%B5%E6%8C%87%E5%8D%97https://sqliang.github.io/01.%E5%85%A8%E6%A0%88/80.%E5%85%A8%E6%A0%88%E5%9F%BA%E7%A1%80%E7%B4%A0%E5%85%BB/01.%E7%BC%96%E8%AF%91%E4%B8%8E%E8%B0%83%E8%AF%95%20TypeScript%20%E9%A1%B9%E7%9B%AE%E6%8C%87%E5%8D%97https://sqliang.github.io/01.%E5%85%A8%E6%A0%88/80.%E5%85%A8%E6%A0%88%E5%9F%BA%E7%A1%80%E7%B4%A0%E5%85%BB/10.%E8%81%8A%E4%B8%80%E8%81%8A%20Typescript%20%E6%B3%9B%E5%9E%8Bhttps://sqliang.github.io/01.%E5%85%A8%E6%A0%88/80.%E5%85%A8%E6%A0%88%E5%9F%BA%E7%A1%80%E7%B4%A0%E5%85%BB/20.%E6%A8%A1%E5%9D%97%E5%8C%96%E7%BC%96%E7%A8%8B%E5%AE%9E%E8%B7%B5%E6%8C%87%E5%8D%97/0.overviewhttps://sqliang.github.io/01.%E5%85%A8%E6%A0%88/80.%E5%85%A8%E6%A0%88%E5%9F%BA%E7%A1%80%E7%B4%A0%E5%85%BB/20.%E6%A8%A1%E5%9D%97%E5%8C%96%E7%BC%96%E7%A8%8B%E5%AE%9E%E8%B7%B5%E6%8C%87%E5%8D%97/1.%E5%89%8D%E7%AB%AF%E6%A8%A1%E5%9D%97%E5%8C%96%E7%BC%96%E7%A8%8B%E5%9F%BA%E7%A1%80https://sqliang.github.io/01.%E5%85%A8%E6%A0%88/80.%E5%85%A8%E6%A0%88%E5%9F%BA%E7%A1%80%E7%B4%A0%E5%85%BB/20.%E6%A8%A1%E5%9D%97%E5%8C%96%E7%BC%96%E7%A8%8B%E5%AE%9E%E8%B7%B5%E6%8C%87%E5%8D%97/2.%E4%B8%8D%E5%90%8C%E6%A8%A1%E5%9D%97%E5%8C%96%E8%A7%84%E8%8C%83%E6%A2%B3%E7%90%86https://sqliang.github.io/01.%E5%85%A8%E6%A0%88/80.%E5%85%A8%E6%A0%88%E5%9F%BA%E7%A1%80%E7%B4%A0%E5%85%BB/20.%E6%A8%A1%E5%9D%97%E5%8C%96%E7%BC%96%E7%A8%8B%E5%AE%9E%E8%B7%B5%E6%8C%87%E5%8D%97/3.ES%20Modules%20%E6%A0%B8%E5%BF%83%E8%A7%84%E8%8C%83%E4%B8%8E%E5%AE%9E%E8%B7%B5%E8%A7%A3%E6%9E%90https://sqliang.github.io/01.%E5%85%A8%E6%A0%88/80.%E5%85%A8%E6%A0%88%E5%9F%BA%E7%A1%80%E7%B4%A0%E5%85%BB/20.%E6%A8%A1%E5%9D%97%E5%8C%96%E7%BC%96%E7%A8%8B%E5%AE%9E%E8%B7%B5%E6%8C%87%E5%8D%97/4.Typescript%20%E5%AF%B9%E6%A8%A1%E5%9D%97%E5%8C%96%E7%BC%96%E7%A8%8B%E7%9A%84%E5%A2%9E%E5%BC%BAhttps://sqliang.github.io/01.%E5%85%A8%E6%A0%88/80.%E5%85%A8%E6%A0%88%E5%9F%BA%E7%A1%80%E7%B4%A0%E5%85%BB/20.%E6%A8%A1%E5%9D%97%E5%8C%96%E7%BC%96%E7%A8%8B%E5%AE%9E%E8%B7%B5%E6%8C%87%E5%8D%97/5.%E6%A8%A1%E5%9D%97%E5%8C%96%E7%BC%96%E7%A8%8B%E5%8E%9F%E5%88%99%E4%B8%8E%E6%9C%80%E4%BD%B3%E5%AE%9E%E8%B7%B5https://sqliang.github.io/01.%E5%85%A8%E6%A0%88/80.%E5%85%A8%E6%A0%88%E5%9F%BA%E7%A1%80%E7%B4%A0%E5%85%BB/20.%E6%A8%A1%E5%9D%97%E5%8C%96%E7%BC%96%E7%A8%8B%E5%AE%9E%E8%B7%B5%E6%8C%87%E5%8D%97/6.%E8%A7%A3%E6%9E%90%20NodeJS%20%E4%B8%AD%E7%9A%84%E6%A8%A1%E5%9D%97%E5%8C%96https://sqliang.github.io/01.%E5%85%A8%E6%A0%88/90.%E5%B7%A5%E5%85%B7%E4%B8%8E%E8%B5%84%E6%BA%90%E6%8E%A8%E8%8D%90/90.%E5%85%A8%E6%A0%88%E6%8A%80%E6%9C%AF%E8%B5%84%E6%BA%90%E6%8E%A8%E8%8D%90https://sqliang.github.io/10.%E4%BA%A7%E5%93%81%20Sense/00.%E5%AD%A6%E4%B9%A0%E4%B8%8E%E5%AE%9E%E8%B7%B5%E5%85%A8%E6%99%AFhttps://sqliang.github.io/10.%E4%BA%A7%E5%93%81%20Sense/01.%E4%BA%A7%E5%93%81%E8%A7%82%E5%AF%9F%E4%B8%8E%E5%88%86%E6%9E%90/11.AI-powered%20%E6%90%9C%E7%B4%A2%E5%BC%95%E6%93%8E%E8%A7%82%E5%AF%9F%E5%88%86%E6%9E%90%EF%BC%9APerplexity%20%E4%B8%8E%E7%9F%A5%E8%AF%86%E5%B7%A5%E4%BD%9C%E8%80%85https://sqliang.github.io/10.%E4%BA%A7%E5%93%81%20Sense/02.%E6%96%B0%20T%20%E5%9E%8B%E4%BA%BA/20.%E8%AF%BB%E5%90%8E%E6%84%9F%EF%BC%9AAI%20%E5%8E%9F%E7%94%9F%E6%97%B6%E4%BB%A3%E7%9A%84%E5%A4%8D%E5%90%88%E5%9E%8B%E4%BA%BA%E6%89%8D%EF%BC%8C%E7%A9%B6%E7%AB%9F%E9%9C%80%E8%A6%81%E6%80%8E%E6%A0%B7%E7%9A%84%E7%89%B9%E8%B4%A8%EF%BC%9Fhttps://sqliang.github.io/10.%E4%BA%A7%E5%93%81%20Sense/02.%E6%96%B0%20T%20%E5%9E%8B%E4%BA%BA/21.%E5%B7%A5%E7%A8%8B%E5%B8%88%E5%A6%82%E4%BD%95%E6%9E%84%E5%BB%BA%E4%BA%A7%E5%93%81%20Sensehttps://sqliang.github.io/10.%E4%BA%A7%E5%93%81%20Sense/04.%E4%BA%A7%E5%93%81%E5%88%9B%E9%80%A0%E4%B8%8E%E5%95%86%E4%B8%9A%E5%8C%96/30.%E3%80%8A%E5%B0%8F%E8%80%8C%E7%BE%8E%EF%BC%9A%E6%8C%81%E7%BB%AD%E7%9B%88%E5%88%A9%E7%9A%84%E7%BB%8F%E8%90%A5%E6%B3%95%E5%88%99%E3%80%8B%E8%AF%BB%E5%90%8E%E6%84%9Fhttps://sqliang.github.io/10.%E4%BA%A7%E5%93%81%20Sense/05.%E6%96%B9%E6%B3%95%E8%AE%BA/40.%E6%B4%9E%E5%AF%9F%E5%8A%9B%E6%A8%A1%E5%9E%8Bhttps://sqliang.github.io/10.%E4%BA%A7%E5%93%81%20Sense/05.%E6%96%B9%E6%B3%95%E8%AE%BA/50.%E7%94%A8%E7%BB%8F%E6%B5%8E%E5%AD%A6%E6%80%9D%E7%BB%B4%E5%81%9A%E4%BA%A7%E5%93%81https://sqliang.github.io/20.AI%20%E5%AD%A6%E4%B9%A0%E4%B8%8E%E5%AE%9E%E8%B7%B5/00.AI%20%E5%AD%A6%E4%B9%A0%E4%B8%8E%E5%AE%9E%E8%B7%B5%E5%85%A8%E6%99%AF%E4%B8%80%E8%A7%88https://sqliang.github.io/20.AI%20%E5%AD%A6%E4%B9%A0%E4%B8%8E%E5%AE%9E%E8%B7%B5/02.Agent%20%E7%B3%BB%E5%88%97/01.Agent%E6%A6%82%E8%A7%88%E4%B8%8E%E7%BB%BC%E8%BF%B0https://sqliang.github.io/20.AI%20%E5%AD%A6%E4%B9%A0%E4%B8%8E%E5%AE%9E%E8%B7%B5/02.Agent%20%E7%B3%BB%E5%88%97/02.Agent%20%E8%A7%84%E5%88%92%E6%A8%A1%E5%9D%97https://sqliang.github.io/20.AI%20%E5%AD%A6%E4%B9%A0%E4%B8%8E%E5%AE%9E%E8%B7%B5/02.Agent%20%E7%B3%BB%E5%88%97/03.%E6%9E%84%E5%BB%BA%20Agentic%20%E7%94%9F%E6%80%81%EF%BC%9A%E5%B0%86%E9%9B%B6%E6%95%A3%E7%BB%84%E4%BB%B6%E5%8C%96%E4%B8%BA%E5%8F%AF%E6%8C%81%E7%BB%AD%E7%9A%84%E5%B7%A5%E4%BD%9C%E6%B5%81https://sqliang.github.io/20.AI%20%E5%AD%A6%E4%B9%A0%E4%B8%8E%E5%AE%9E%E8%B7%B5/02.Agent%20%E7%B3%BB%E5%88%97/10.Agent%20SKillshttps://sqliang.github.io/20.AI%20%E5%AD%A6%E4%B9%A0%E4%B8%8E%E5%AE%9E%E8%B7%B5/04.%E7%A4%BE%E5%8C%BA%E6%B4%BB%E5%8A%A8%E4%B8%8E%E5%AE%9E%E8%B7%B5%E5%B0%8F%E9%A1%B9%E7%9B%AE/10.%E5%9F%BA%E4%BA%8E%20Claude%20Agent%20SDK%20%E6%90%AD%E5%BB%BA%20Deep%20Research%20Agenthttps://sqliang.github.io/20.AI%20%E5%AD%A6%E4%B9%A0%E4%B8%8E%E5%AE%9E%E8%B7%B5/04.%E7%A4%BE%E5%8C%BA%E6%B4%BB%E5%8A%A8%E4%B8%8E%E5%AE%9E%E8%B7%B5%E5%B0%8F%E9%A1%B9%E7%9B%AE/20.%E5%9F%BA%E4%BA%8E%20Claude%20Agent%20SDK%20%E6%90%AD%E5%BB%BA%20Agenthttps://sqliang.github.io/20.AI%20%E5%AD%A6%E4%B9%A0%E4%B8%8E%E5%AE%9E%E8%B7%B5/04.%E7%A4%BE%E5%8C%BA%E6%B4%BB%E5%8A%A8%E4%B8%8E%E5%AE%9E%E8%B7%B5%E5%B0%8F%E9%A1%B9%E7%9B%AE/60.%E6%95%B0%E5%AD%A6%E5%B0%8F%E5%8A%A9%E6%89%8Bhttps://sqliang.github.io/20.AI%20%E5%AD%A6%E4%B9%A0%E4%B8%8E%E5%AE%9E%E8%B7%B5/04.%E7%A4%BE%E5%8C%BA%E6%B4%BB%E5%8A%A8%E4%B8%8E%E5%AE%9E%E8%B7%B5%E5%B0%8F%E9%A1%B9%E7%9B%AE/70.%E8%AF%97%E6%AD%8C%E5%B0%8F%E7%B2%BE%E7%81%B5https://sqliang.github.io/20.AI%20%E5%AD%A6%E4%B9%A0%E4%B8%8E%E5%AE%9E%E8%B7%B5/90.%E8%B5%84%E6%BA%90%E4%B8%8E%E5%B7%A5%E5%85%B7%E6%8E%A8%E8%8D%90/01.%E5%A5%BD%E7%94%A8%E7%9A%84%20AI%20%E5%8A%A9%E6%89%8B%E4%B8%8E%E5%B7%A5%E4%BD%9C%E7%AB%99%E6%8E%A8%E8%8D%90https://sqliang.github.io/20.AI%20%E5%AD%A6%E4%B9%A0%E4%B8%8E%E5%AE%9E%E8%B7%B5/90.%E8%B5%84%E6%BA%90%E4%B8%8E%E5%B7%A5%E5%85%B7%E6%8E%A8%E8%8D%90/11.%20LLM%20API%20%E5%B9%B3%E5%8F%B0%E6%8E%A8%E8%8D%90%E4%B8%8E%E9%80%89%E5%9E%8B%E6%8C%87%E5%8D%97https://sqliang.github.io/30.%E6%82%A6%E8%AF%BB%E6%97%B6%E5%85%89/01.%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90https://sqliang.github.io/30.%E6%82%A6%E8%AF%BB%E6%97%B6%E5%85%89/10.%E8%AF%BB%E4%B9%A6%E4%B8%89%E8%A6%81%E4%B8%89%E4%B8%8D%E8%A6%81https://sqliang.github.io/30.%E6%82%A6%E8%AF%BB%E6%97%B6%E5%85%89/21.%E5%A6%82%E4%BD%95%E7%94%84%E5%88%AB%E7%9C%9F%E6%AD%A3%E6%9C%89%E7%94%A8%E7%9A%84%E4%BF%A1%E6%81%AFhttps://sqliang.github.io/31.%E5%BC%80%E6%BA%90%E6%B4%9E%E5%AF%9F/00.overviewhttps://sqliang.github.io/31.%E5%BC%80%E6%BA%90%E6%B4%9E%E5%AF%9F/01.fetch-event-source%20%E6%BA%90%E7%A0%81%E8%A7%A3%E8%AF%BBhttps://sqliang.github.io/40.%E5%85%B3%E4%BA%8E/01.%E5%85%B3%E4%BA%8E%E6%88%91https://sqliang.github.io/40.%E5%85%B3%E4%BA%8E/30.%E6%88%90%E9%95%BF%E9%9A%8F%E7%AC%94/01.%E8%B5%B0%E5%87%BA%E2%80%9C%E7%9B%AE%E6%A0%87%E9%9A%A7%E9%81%93%E2%80%9D%EF%BC%9A%E7%94%A8%E7%B3%BB%E7%BB%9F%E4%B8%8E%E6%95%B0%E5%AD%A6%E6%80%9D%E7%BB%B4%E9%87%8D%E6%9E%84%E5%BA%95%E5%B1%82%E9%80%BB%E8%BE%91https://sqliang.github.io/40.%E5%85%B3%E4%BA%8E/30.%E6%88%90%E9%95%BF%E9%9A%8F%E7%AC%94/10.%E5%90%91%E5%86%85%E6%80%9D%E5%8F%98%EF%BC%9A%E5%BD%93%E7%96%AB%E6%83%85%E7%BB%99%E4%B8%96%E7%95%8C%E6%8C%89%E4%B8%8B%E6%9A%82%E5%81%9C%E9%94%AE%EF%BC%8C%E5%8E%BB%E9%87%8D%E6%9E%84%E7%94%9F%E6%B4%BB%E7%A7%A9%E5%BA%8Fhttps://sqliang.github.io/40.%E5%85%B3%E4%BA%8E/30.%E6%88%90%E9%95%BF%E9%9A%8F%E7%AC%94/20.%E5%87%8F%E8%82%A5%E8%BF%99%E4%BB%B6%E5%B0%8F%E4%BA%8B%E9%98%B6%E6%AE%B5%E9%9A%8F%E7%AC%94%E6%B1%87%E6%80%BBhttps://sqliang.github.io/@pages/categoriesPagehttps://sqliang.github.io/@pages/tagsPagehttps://sqliang.github.io/https://sqliang.github.io/fullstack/overviewhttps://sqliang.github.io/fullstack/ai-nativehttps://sqliang.github.io/fullstack/ai-engineer-capabilityhttps://sqliang.github.io/fullstack/ai-change-work-workflowhttps://sqliang.github.io/ai-learning/ai-coding-resourceshttps://sqliang.github.io/fullstack/react-design-philosophy-ai-augmentedhttps://sqliang.github.io/full-stack/css-engineeringhttps://sqliang.github.io/fullstack/jamstackhttps://sqliang.github.io/fullstack/server-state-managementhttps://sqliang.github.io/fullstack/networking-protocol-selection-guidehttps://sqliang.github.io/fullstack/networking/sse-practicehttps://sqliang.github.io/fullstack/networking-polling-optimizationhttps://sqliang.github.io/fullstack/occams-razor-software-designhttps://sqliang.github.io/fullstack/typescript-compilation-debugging-guidehttps://sqliang.github.io/fullstack/typescript-generic-typeshttps://sqliang.github.io/fullstack/module-programming-practice-guidehttps://sqliang.github.io/fullstack/frontend-module-programming-basichttps://sqliang.github.io/fullstack/different-module-programming-specificationshttps://sqliang.github.io/fullstack/decode-es-moduleshttps://sqliang.github.io/fullstack/typescript-module-programming-enhancementhttps://sqliang.github.io/fullstack/module-programming-principles-best-practiceshttps://sqliang.github.io/fullstack/nodejs-module-programming-summaryhttps://sqliang.github.io/growth/full-stack-resourceshttps://sqliang.github.io/product-sensehttps://sqliang.github.io/product-sense/perplexity-knowledge-workerhttps://sqliang.github.io/product-sense/ai-native-composite-talentshttps://sqliang.github.io/product-sense/engineer-build-product-sensehttps://sqliang.github.io/product-sense/small-rule-learnhttps://sqliang.github.io/product-sense/insight-modelhttps://sqliang.github.io/product-sense/using-economics-thinkinghttps://sqliang.github.io/ai-learning/overviewhttps://sqliang.github.io/ai-agent/overviewhttps://sqliang.github.io/ai-agent/planning-modulehttps://sqliang.github.io/ai-agent/composition-ai-componentshttps://sqliang.github.io/ai-agent/skills-practice-summaryhttps://sqliang.github.io/ai-agent/deepresearch-agenthttps://sqliang.github.io/ai-practice/claude-agent-sdk-basic-buildhttps://sqliang.github.io/ai-practice/math-bothttps://sqliang.github.io/ai-practice/poetry-bothttps://sqliang.github.io/ai-learning/tools-assistanthttps://sqliang.github.io/ai-learning/llm-api-resourceshttps://sqliang.github.io/growth/bookshttps://sqliang.github.io/pages/growth/reading-tipshttps://sqliang.github.io/growth/distinguish-useful-informationhttps://sqliang.github.io/repo-insight/overviewhttps://sqliang.github.io/repo-insight/fetch-event-sourcehttps://sqliang.github.io/about/mehttps://sqliang.github.io/growth/outer-experiencehttps://sqliang.github.io/growth/inner-experiencehttps://sqliang.github.io/growth/weight-losshttps://sqliang.github.io/categorieshttps://sqliang.github.io/tags \ No newline at end of file