<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[REPLWARE]]></title><description><![CDATA[分享睿博資訊 (replware.dev) 為客戶諮詢時，給出的意見。]]></description><link>https://replware.substack.com</link><image><url>https://substackcdn.com/image/fetch/$s_!NDHI!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff85e5821-53d5-4856-915c-1c448022825b_400x400.jpeg</url><title>REPLWARE</title><link>https://replware.substack.com</link></image><generator>Substack</generator><lastBuildDate>Tue, 16 Jun 2026 19:50:55 GMT</lastBuildDate><atom:link href="https://replware.substack.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Laurence Chen]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[replware@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[replware@substack.com]]></itunes:email><itunes:name><![CDATA[Laurence Chen]]></itunes:name></itunes:owner><itunes:author><![CDATA[Laurence Chen]]></itunes:author><googleplay:owner><![CDATA[replware@substack.com]]></googleplay:owner><googleplay:email><![CDATA[replware@substack.com]]></googleplay:email><googleplay:author><![CDATA[Laurence Chen]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[選擇分享的題目]]></title><description><![CDATA[&#26377;&#20154;&#21839;&#25105;&#65292;&#24590;&#40636;&#23563;&#25214;&#25237;&#31295; conference &#30340;&#38988;&#30446;]]></description><link>https://replware.substack.com/p/d89</link><guid isPermaLink="false">https://replware.substack.com/p/d89</guid><dc:creator><![CDATA[Laurence Chen]]></dc:creator><pubDate>Sun, 14 Jun 2026 23:01:25 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!t9Qy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd989ea5a-1f84-4914-8c10-9b4bb8055cf8_3984x2656.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>6&#26376;13&#34399;&#25105;&#21435; Sciwork &#30340; seminar &#32102;&#20102;&#19968;&#22580; <a href="https://seminar2026.sciwork.dev/workshops">workshop</a>&#65292;&#20027;&#38988;&#26159;&#35527;&#22294;&#23416;&#36039;&#26009;&#24235;&#12290;</p><p>&#32080;&#26463;&#30340;&#26178;&#20505;&#65292;&#26377;&#32893;&#30526;&#21839;&#20102;&#19968;&#20491;&#21839;&#38988;&#65292;&#20182;&#35498;&#65306;&#12300;&#25105;&#32893;&#35498;&#20320;&#20170;&#24180;&#20063;&#26371;&#21435; jcconf &#30070;&#35611;&#32773;&#65292;&#21040;&#24213;&#25237;&#31295;&#35201;&#36984;&#20160;&#40636;&#38988;&#30446;&#21834;&#65311;&#25105;&#37117;&#24819;&#19981;&#21040;&#21512;&#36969;&#30340;&#38988;&#30446;&#12290;&#12301;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!t9Qy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd989ea5a-1f84-4914-8c10-9b4bb8055cf8_3984x2656.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!t9Qy!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd989ea5a-1f84-4914-8c10-9b4bb8055cf8_3984x2656.jpeg 424w, https://substackcdn.com/image/fetch/$s_!t9Qy!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd989ea5a-1f84-4914-8c10-9b4bb8055cf8_3984x2656.jpeg 848w, https://substackcdn.com/image/fetch/$s_!t9Qy!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd989ea5a-1f84-4914-8c10-9b4bb8055cf8_3984x2656.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!t9Qy!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd989ea5a-1f84-4914-8c10-9b4bb8055cf8_3984x2656.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!t9Qy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd989ea5a-1f84-4914-8c10-9b4bb8055cf8_3984x2656.jpeg" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d989ea5a-1f84-4914-8c10-9b4bb8055cf8_3984x2656.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3123832,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://replware.substack.com/i/201947607?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd989ea5a-1f84-4914-8c10-9b4bb8055cf8_3984x2656.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!t9Qy!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd989ea5a-1f84-4914-8c10-9b4bb8055cf8_3984x2656.jpeg 424w, https://substackcdn.com/image/fetch/$s_!t9Qy!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd989ea5a-1f84-4914-8c10-9b4bb8055cf8_3984x2656.jpeg 848w, https://substackcdn.com/image/fetch/$s_!t9Qy!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd989ea5a-1f84-4914-8c10-9b4bb8055cf8_3984x2656.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!t9Qy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd989ea5a-1f84-4914-8c10-9b4bb8055cf8_3984x2656.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>&#25105;&#30332;&#29694;&#25105;&#22823;&#33268;&#19978;&#25505;&#29992;&#20102;&#20841;&#20491;&#26041;&#27861;&#35542;&#20358;&#23563;&#25214;&#38988;&#30446;&#12290;</p><h2><strong>&#24478;&#25033;&#29992;&#20986;&#30332;</strong></h2><p>&#22312;&#23526;&#38555;&#30340;&#24037;&#20316;&#20013;&#65292;&#32317;&#26159;&#26371;&#36935;&#21040;&#24456;&#22810;&#25361;&#25136;&#12290;</p><ol><li><p>&#32173;&#35703;&#31995;&#32113;&#30340;&#32147;&#39511;&#65306;</p></li></ol><p>&#27604;&#26041;&#35498;&#24171;&#23458;&#25142;&#32173;&#35703;&#19968;&#20491; MES &#31995;&#32113;&#65292;&#35442;&#31995;&#32113;&#26377;&#19968;&#20123;&#33287;&#31532;&#19977;&#26041; API &#25972;&#21512;&#30340;&#37096;&#20998;&#12290;&#31532;&#19977;&#26041; API &#24120;&#24120;&#21628;&#21483;&#19981;&#21040;&#65292;&#23566;&#33268;&#31995;&#32113;&#30064;&#24120;&#65307;&#20294;&#25105; debug &#26178;&#65292;&#24517;&#38920;&#22312;&#19968;&#22823;&#32676; Log &#35041;&#38754;&#23563;&#25214;&#36321;&#35937;&#65292;&#22240;&#28858;&#31532;&#19977;&#26041; API &#30340; Log &#36319; Web Server &#30340; Log &#37117;&#28151;&#22312;&#19968;&#36215;&#65292;&#38750;&#24120;&#38627;&#20197;&#34389;&#29702;&#12290;&#32780;&#19988;&#25105;&#20063;&#27794;&#26377;&#36774;&#27861;&#31777;&#21934;&#22320;&#19968;&#37749;&#37325;&#21855; API &#21628;&#21483;&#65292;&#20063;&#27794;&#26377; UI &#21487;&#20197;&#26597;&#30475;&#31532;&#19977;&#26041; API &#30340;&#21628;&#21483;&#23436;&#25104;&#30340;&#29376;&#24907;&#12290;&#36889;&#39006;&#21839;&#38988;&#32147;&#36942;&#30740;&#31350;&#24460;&#65292;&#25105;&#23601;&#25214;&#21040;&#20102;&#12300;&#27969;&#31243;&#24341;&#25806;&#12301;&#36889;&#20491;&#26041;&#21521;&#65292;&#26377;&#36259;&#30340;&#20107;&#24773;&#26159;&#65292;2025 JCConf &#24050;&#32147;&#26377;&#35611;&#32773;&#35527;&#36942;<a href="https://pretalx.com/jcconf-2025/talk/MG9UCH/">&#36889;&#20491;&#38988;&#30446;</a>&#12290;</p><ol start="2"><li><p>&#29986;&#21697;&#38283;&#30332;&#30340;&#21855;&#30332;&#65306;</p></li></ol><p>  &#21448;&#27604;&#22914;&#25105;&#20043;&#21069;&#22312; Gaiwan &#24037;&#20316;&#26178;&#65292;&#25105;&#30340;&#32769;&#38342; Arne Brasseur &#22312;&#24037;&#20316;&#20013;&#30332;&#29694;&#65292;&#20182;&#32317;&#26159;&#19968;&#27425;&#21448;&#19968;&#27425;&#22320;&#37325;&#26032;&#23526;&#29694;&#30331;&#20837;&#24115;&#34399;&#12289;&#23494;&#30908;&#12289;2FA &#31561;&#31561;&#30340;&#21151;&#33021;&#12290;&#20182;&#35469;&#28858;&#36889;&#20123;&#26481;&#35199;&#25033;&#35442;&#29544;&#31435;&#25104;&#19968;&#20491; Service&#65292;&#25152;&#20197;&#23601;&#23531;&#20102;&#19968;&#20491; Clojure &#29256;&#26412;&#30340; <a href="https://git.gaiwan.co/gaiwan/Oak/">Oak</a>&#12290;</p><p>&#20854;&#23526;&#36889;&#39006;&#38656;&#27714;&#24050;&#32147;&#26377;&#19968;&#20491;&#25104;&#29087;&#30340;&#35299;&#27770;&#26041;&#26696;&#21483; Keycloak&#12290;&#30070;&#25105;&#30340;&#23458;&#25142;&#22312;&#38754;&#26495;&#24288;&#23566;&#20837; Modern Data Stack &#26178;&#65292;&#20182;&#20497;&#35430;&#22294;&#25972;&#21512; Superset&#65292;&#21371;&#30332;&#29694; Superset &#19981;&#25903;&#25588; LDAP Single Sign-On&#65288;SSO&#65289;&#65292;&#26044;&#26159;&#23601;&#38918;&#21218;&#23566;&#20837;&#20102; Keycloak &#20358;&#35299;&#27770;&#36889;&#20491;&#21839;&#38988;&#12290;</p><h2><strong>&#24478;&#21407;&#29702;&#20986;&#30332;</strong></h2><p>&#23565;&#36575;&#39636;&#24037;&#31243;&#24107;&#20358;&#35498;&#65292;&#25152;&#35586;&#23565;&#21407;&#29702;&#30340;&#30740;&#31350;&#65292;&#24120;&#24120;&#23601;&#26159;&#23565;&#33258;&#24049;&#25152;&#20351;&#29992;&#30340;&#24037;&#20855;&#30340;&#30740;&#31350;&#12290;&#22240;&#28858;&#35201;&#25226;&#24037;&#20855;&#29992;&#24471;&#22909;&#12289;&#29992;&#24471;&#24039;&#22937;&#65292;&#36890;&#24120;&#29309;&#28041;&#21040;&#26159;&#21542;&#30495;&#30340;&#30637;&#35299;&#20854;&#24213;&#23652;&#36939;&#20316;&#21407;&#29702;&#12290;</p><p>&#27604;&#26041;&#35498;&#65292;&#25105;&#38263;&#26399;&#20351;&#29992; Neovim &#25645;&#37197; Conjure &#20358;&#20570; Clojure &#30340;&#20114;&#21205;&#24335;&#38283;&#30332;&#65288;Interactive Development&#65289;&#65292;&#20294;&#19968;&#30452;&#20197;&#20358;&#23565; Conjure &#37117;&#27794;&#26377;&#28145;&#20837;&#30340;&#29702;&#35299;&#12290;&#24460;&#20358;&#22240;&#28858;&#19968;&#20123;&#27231;&#32227;&#24039;&#21512;&#65292;&#25105;&#38283;&#22987;&#21435;&#20102;&#35299; Neovim &#30340; Plugin &#21487;&#20197;&#24590;&#40636;&#38283;&#30332;&#65292;&#20197;&#21450; Conjure &#30340;&#20316;&#32773; Olical &#22914;&#20309;&#24341;&#36914; Fennel &#35486;&#35328;&#65292;&#35731;&#20182;&#33021;&#29992;&#19968;&#31278; Lisp &#35486;&#35328;&#38283;&#30332;&#20986;&#20687; Conjure &#36889;&#27171;&#35079;&#38620;&#30340; Plugin&#12290;</p><p>&#36889;&#20491;&#30740;&#31350;&#30340;&#32147;&#39511;&#35731;&#25105;&#24819;&#20102; 2025 JCConf Talk &#30340;&#26032;&#20027;&#38988;&#12300;<a href="https://pretalx.com/jcconf-2025/talk/HRKTVE/">&#35299;&#23494;&#31243;&#24335;&#30908;&#30340;&#39592;&#39612;</a>&#12301;</p><h2><strong>&#22238;&#21040;&#37027;&#20491;&#21839;&#38988;</strong></h2><p>&#25105;&#35352;&#19981;&#28165;&#37027;&#22825;&#25105;&#22238;&#31572;&#20160;&#40636;&#20102;&#65292;&#25033;&#35442;&#26159;&#19981;&#28165;&#19981;&#26970;&#12290;</p><p>&#37027;&#20301;&#32893;&#30526;&#35498;&#20182;&#12300;&#24819;&#19981;&#21040;&#21512;&#36969;&#30340;&#38988;&#30446;&#12301;&#65292;&#20294;&#25105;&#22238;&#38957;&#30475;&#20043;&#21069;&#24190;&#20491;&#38988;&#30446;&#30340;&#20358;&#27511;&#65292;&#19981;&#22826;&#31639;&#26159;&#12300;&#24819;&#12301;&#20986;&#20358;&#30340;&#12290;&#38988;&#30446;&#19981;&#26159;&#24977;&#31354;&#25361;&#30340;&#65292;&#32780;&#26159;&#28014;&#29694;&#20986;&#20358;&#30340;&#12290;&#28961;&#35542;&#26159;&#12300;&#24478;&#25033;&#29992;&#20986;&#30332;&#12301;&#36996;&#26159;&#12300;&#24478;&#21407;&#29702;&#20986;&#30332;&#12301;&#65292;&#20849;&#36890;&#40670;&#37117;&#26159;&#65306;&#20808;&#26377;&#20102;&#26576;&#31278;&#20999;&#36523;&#30340;&#32147;&#39511;&#65292;&#38988;&#30446;&#25165;&#36319;&#33879;&#20986;&#29694;&#12290;</p><p>&#25152;&#20197;&#22914;&#26524;&#35201;&#25105;&#37325;&#26032;&#22238;&#31572;&#37027;&#20301;&#32893;&#30526;&#65292;&#25105;&#22823;&#27010;&#26371;&#36889;&#27171;&#35498;&#65306;&#12300;&#20808;&#20180;&#32048;&#24819;&#24819;&#65292;&#26377;&#20160;&#40636;&#21839;&#38988;&#35731;&#20320;&#21345;&#20102;&#24456;&#20037;&#12289;&#26377;&#20160;&#40636;&#24037;&#20855;&#35731;&#20320;&#21448;&#24859;&#21448;&#24680;&#12289;&#26377;&#20160;&#40636;&#26481;&#35199;&#20320;&#19968;&#30452;&#24819;&#25630;&#25026;&#21371;&#36996;&#27794;&#25630;&#25026;&#12290;&#37027;&#20123;&#22320;&#26041;&#65292;&#23601;&#26159;&#38988;&#30446;&#34255;&#36523;&#30340;&#20301;&#32622;&#12290;&#12301;</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://replware.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading REPLWARE! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[DevOps 雜談]]></title><description><![CDATA[DevOps &#30340;&#12300;&#28858;&#20309;&#12301;&#33287;&#12300;&#22914;&#20309;&#12301;]]></description><link>https://replware.substack.com/p/devops</link><guid isPermaLink="false">https://replware.substack.com/p/devops</guid><dc:creator><![CDATA[Laurence Chen]]></dc:creator><pubDate>Sun, 07 Jun 2026 23:00:29 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ESac!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf4703e8-6ab5-49ea-86d8-55729af9b69e_4770x2370.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#26377;&#19968;&#22238;&#65292;&#25105;&#36319;&#26379;&#21451;&#38290;&#32842;&#65292;&#32842;&#33879;&#32842;&#33879;&#65292;&#25105;&#20497;&#35527;&#21040;&#20102;&#19968;&#20491;&#35527;&#21040;&#24555;&#35201;&#29211;&#25481;&#30340;&#35422;&#65306;DevOps&#12290;&#32780;&#21451;&#20154;&#21578;&#35380;&#25105;&#65292;&#22312;&#21488;&#28771;&#30340;&#35441;&#65292;&#22914;&#26524;&#20027;&#31649;&#35498;&#35201;&#25512; DevOps&#65292;&#36890;&#24120;&#20182;&#30340;&#24847;&#24605;&#19981;&#22806;&#20046;&#65306;</p><ol><li><p>&#20182;&#35201;&#30340;&#26159; CI/CD pipeline&#12290;</p></li><li><p>&#35201;&#19968;&#20491;&#26371;&#32173;&#36939;&#30340;&#24037;&#31243;&#24107;&#12290;</p></li><li><p>&#21482;&#26159;&#22238;&#25033;&#19978;&#38754;&#30340;&#22739;&#21147;&#12290;</p></li></ol><p>&#12300;&#20160;&#40636;&#65281;&#23621;&#28982;&#26159;&#36889;&#27171;&#23376;&#21966;&#65281;&#65311;&#12301;&#24819;&#20102;&#19968;&#24819;&#65292;&#35258;&#24471;&#36996;&#26159;&#25226;&#25105;&#24515;&#35041;&#30340; DevOps &#23531;&#19968;&#23531;&#12290;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ESac!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf4703e8-6ab5-49ea-86d8-55729af9b69e_4770x2370.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ESac!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf4703e8-6ab5-49ea-86d8-55729af9b69e_4770x2370.png 424w, https://substackcdn.com/image/fetch/$s_!ESac!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf4703e8-6ab5-49ea-86d8-55729af9b69e_4770x2370.png 848w, https://substackcdn.com/image/fetch/$s_!ESac!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf4703e8-6ab5-49ea-86d8-55729af9b69e_4770x2370.png 1272w, https://substackcdn.com/image/fetch/$s_!ESac!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf4703e8-6ab5-49ea-86d8-55729af9b69e_4770x2370.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ESac!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf4703e8-6ab5-49ea-86d8-55729af9b69e_4770x2370.png" width="1456" height="723" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/af4703e8-6ab5-49ea-86d8-55729af9b69e_4770x2370.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:723,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:369759,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://replware.substack.com/i/200943807?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf4703e8-6ab5-49ea-86d8-55729af9b69e_4770x2370.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ESac!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf4703e8-6ab5-49ea-86d8-55729af9b69e_4770x2370.png 424w, https://substackcdn.com/image/fetch/$s_!ESac!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf4703e8-6ab5-49ea-86d8-55729af9b69e_4770x2370.png 848w, https://substackcdn.com/image/fetch/$s_!ESac!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf4703e8-6ab5-49ea-86d8-55729af9b69e_4770x2370.png 1272w, https://substackcdn.com/image/fetch/$s_!ESac!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf4703e8-6ab5-49ea-86d8-55729af9b69e_4770x2370.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2><strong>DevOps &#28858;&#20309;&#32780;&#20570;&#65311;</strong></h2><p>DevOps &#30340;&#26680;&#24515;&#65292;&#25033;&#35442;&#36215;&#28304;&#26044;&#19968;&#20491;&#27934;&#23519;&#65306;&#12300;&#20659;&#32113;&#32068;&#32340;&#30340;&#31185;&#23652;&#32080;&#27083;&#19981;&#21033;&#26044;&#36575;&#39636;&#20729;&#20540;&#30340;&#21109;&#36896;&#12290;&#12301;</p><p>&#20659;&#32113;&#30340;&#36575;&#39636;&#32068;&#32340;&#38263;&#36889;&#20491;&#27171;&#23376;&#65306;&#38283;&#30332;&#22296;&#38538;&#65288;Dev&#65289;&#36000;&#36012;&#23531; code&#12289;&#28204;&#35430;&#22296;&#38538;&#36000;&#36012;&#39511;&#25910;&#12289;&#32173;&#36939;&#22296;&#38538;&#65288;Ops&#65289;&#36000;&#36012;&#37096;&#32626;&#21644;&#32173;&#35703;&#32218;&#19978;&#31995;&#32113;&#12290;&#19977;&#20491;&#22296;&#38538;&#65292;&#19977;&#20491;&#30446;&#27161;&#65292;&#19977;&#20491; KPI&#12290;&#38283;&#30332;&#22296;&#38538;&#30340;&#30446;&#27161;&#26159;&#24555;&#36895;&#20132;&#20184;&#26032;&#21151;&#33021;&#65292;&#32173;&#36939;&#22296;&#38538;&#30340;&#30446;&#27161;&#26159;&#20445;&#25345;&#31995;&#32113;&#31337;&#23450;&#8212;&#8212;&#36889;&#20841;&#20491;&#30446;&#27161;&#65292;&#22825;&#29983;&#23601;&#26159;&#34909;&#31361;&#30340;&#12290;</p><p>&#36889;&#20491;&#34909;&#31361;&#30340;&#20855;&#39636;&#39636;&#29694;&#65292;&#23601;&#26159;&#12300;&#20132;&#25509;&#65288;hand off&#65289;&#12301;&#12290;&#38283;&#30332;&#23531;&#23436; code&#65292;&#19999;&#32102;&#28204;&#35430;&#65292;&#28204;&#35430;&#36942;&#20102;&#65292;&#20877;&#19999;&#32102;&#32173;&#36939;&#37096;&#32626;&#12290;&#27599;&#19968;&#27425;&#20132;&#25509;&#65292;&#37117;&#26159;&#19968;&#27425;&#36039;&#35338;&#25613;&#32791;&#12289;&#36012;&#20219;&#27169;&#31946;&#12289;&#36895;&#24230;&#19979;&#38477;&#30340;&#27231;&#26371;&#12290;&#20986;&#20102;&#21839;&#38988;&#65292;&#27599;&#20491;&#22296;&#38538;&#30340;&#31532;&#19968;&#20491;&#21453;&#25033;&#26159;&#12300;&#36889;&#19981;&#26159;&#25105;&#30340;&#21839;&#38988;&#12301;&#12290;</p><p>Amazon &#30340; CTO Werner Vogels &#22312; 2006 &#24180;&#35611;&#36942;&#19968;&#21477;&#35441;&#65292;&#24460;&#20358;&#35722;&#25104; DevOps &#30340;&#31934;&#31070;&#27161;&#35486;&#65306;</p><blockquote><p><strong>You build it, you run it.</strong></p></blockquote><p>&#24847;&#24605;&#26159;&#65306;&#23531;&#36889;&#20491;&#26381;&#21209;&#30340;&#20154;&#65292;&#23601;&#26159;&#36000;&#36012;&#36305;&#36889;&#20491;&#26381;&#21209;&#30340;&#20154;&#12290;&#27794;&#26377;&#20132;&#25509;&#65292;&#27794;&#26377;&#25512;&#21368;&#36012;&#20219;&#30340;&#32299;&#38553;&#12290;&#36889;&#20491;&#29702;&#24565;&#65292;&#22312;&#32068;&#32340;&#35373;&#35336;&#19978;&#23565;&#25033;&#21040;&#30340;&#26159; <strong>Stream-aligned Team</strong>&#8212;&#8212;&#19968;&#20491;&#22296;&#38538;&#31471;&#21040;&#31471;&#36000;&#36012;&#19968;&#20491;&#26989;&#21209; domain&#65292;&#24478;&#38283;&#30332;&#12289;&#28204;&#35430;&#12289;&#37096;&#32626;&#12289;&#21040;&#32218;&#19978;&#32173;&#36939;&#65292;&#20840;&#37096;&#33258;&#24049;&#20358;&#12290;</p><p>&#36889;&#27171;&#30340;&#35373;&#35336;&#65292;&#35731;&#12300;&#25105;&#23531;&#30340; code &#20986;&#21839;&#38988;&#65292;&#20940;&#26216;&#19977;&#40670;&#21483;&#37266;&#30340;&#26159;&#25105;&#33258;&#24049;&#12301;&#35722;&#25104;&#19968;&#20491;&#21046;&#24230;&#24615;&#30340;&#23433;&#25490;&#65292;&#32780;&#19981;&#26159;&#38752;&#20491;&#20154;&#36947;&#24503;&#24863;&#32173;&#25345;&#12290;&#23427;&#24118;&#20358;&#30340;&#21103;&#20316;&#29992;&#26159;&#65306;&#24037;&#31243;&#24107;&#33258;&#28982;&#26371;&#38283;&#22987;&#22312;&#24847;&#21487;&#35264;&#28204;&#24615;&#65288;observability&#65289;&#12289;&#37096;&#32626;&#30340;&#23433;&#20840;&#24615;&#12289;&#31995;&#32113;&#30340;&#38860;&#24615;&#8212;&#8212;&#22240;&#28858;&#36889;&#20123;&#26481;&#35199;&#20986;&#21839;&#38988;&#65292;&#26159;&#20182;&#20497;&#33258;&#24049;&#35201;&#25509;&#38651;&#35441;&#30340;&#12290;</p><p>&#26576;&#31278;&#35282;&#24230;&#20358;&#35498;&#65292;&#36889;&#26159;&#19968;&#31278;&#32147;&#28639;&#23416;&#30340;&#35480;&#22240;&#35373;&#35336;&#12290;</p><h2><strong>DevOps &#35442;&#22914;&#20309;&#20570;&#65311;</strong></h2><p>&#29702;&#24565;&#19978;&#30340; DevOps &#24456;&#32654;&#65292;&#20294; Stream-aligned Team &#35201;&#30495;&#27491;&#31471;&#21040;&#31471;&#36000;&#36012;&#65292;&#21069;&#25552;&#26159;&#25033;&#29992;&#31243;&#24335;&#26412;&#36523;&#24517;&#38920;&#26159;&#21487;&#25511;&#30340;&#8212;&#8212;&#37096;&#32626;&#35201;&#21487;&#37325;&#29694;&#12289;&#20381;&#36084;&#35201;&#36879;&#26126;&#12289;&#29376;&#24907;&#35201;&#21487;&#38928;&#28204;&#12290;&#21542;&#21063;&#65292;&#35480;&#22240;&#23565;&#40778;&#20102;&#65292;&#31995;&#32113;&#21371;&#26159;&#20491;&#40657;&#30418;&#23376;&#65292;&#36012;&#20219;&#36996;&#26159;&#33853;&#19981;&#20102;&#22320;&#12290;&#36889;&#37002;&#20511;&#29992; <strong>12 Factor App</strong> &#20358;&#35498;&#26126;&#36889;&#20214;&#20107;&#12290;</p><p>12 Factor App &#26159; Heroku &#30340;&#24037;&#31243;&#24107;&#22312; 2011 &#24180;&#25972;&#29702;&#20986;&#20358;&#30340;&#21313;&#20108;&#26781;&#21407;&#21063;&#65292;&#25551;&#36848;&#12300;&#19968;&#20491;&#36969;&#21512;&#22312;&#38642;&#31471;&#29872;&#22659;&#36305;&#30340;&#25033;&#29992;&#31243;&#24335;&#65292;&#25033;&#35442;&#38263;&#20160;&#40636;&#27171;&#23376;&#12301;&#12290;&#21407;&#25991;&#26159;&#21313;&#20108;&#26781;&#36880;&#26781;&#21015;&#20986;&#65292;&#20294;&#25105;&#35258;&#24471;&#36889;&#27171;&#35712;&#24456;&#23481;&#26131;&#35211;&#27193;&#19981;&#35211;&#26519;&#12290;&#22914;&#26524;&#25226;&#36889;&#21313;&#20108;&#26781;&#21152;&#20197;&#25910;&#25986;&#65292;&#32972;&#24460;&#20854;&#23526;&#26377;&#19968;&#20491;&#20849;&#21516;&#30340;&#20449;&#24565;&#65306;<strong>&#28040;&#28357;&#38577;&#34255;&#30340;&#35722;&#25976;&#12290;</strong></p><p>&#26356;&#20855;&#39636;&#20358;&#35498;&#65292;&#21487;&#20197;&#20998;&#25104;&#19977;&#39006;&#65306;</p><p><strong>&#19968;&#12289;State &#22806;&#37096;&#21270;</strong></p><p>&#25033;&#29992;&#31243;&#24335;&#26412;&#36523;&#19981;&#25033;&#35442;&#20445;&#23384;&#20219;&#20309;&#29376;&#24907;&#65288;state&#65289;&#12290;&#20351;&#29992;&#32773;&#30340; session&#12289;&#24555;&#21462;&#12289;&#27284;&#26696;&#65292;&#37117;&#25033;&#35442;&#23384;&#21040;&#22806;&#37096;&#30340; backing service&#65288;&#36039;&#26009;&#24235;&#12289;Redis&#12289;S3&#65289;&#65292;&#32780;&#19981;&#26159;&#25918;&#22312;&#25033;&#29992;&#31243;&#24335;&#30340;&#35352;&#25014;&#39636;&#25110;&#26412;&#22320;&#30913;&#30879;&#35041;&#12290;</p><p>&#28858;&#20160;&#40636;&#65311;&#22240;&#28858;&#19968;&#26086;&#25033;&#29992;&#31243;&#24335;&#33258;&#24049;&#20445;&#23384;&#29376;&#24907;&#65292;&#20320;&#23601;&#27794;&#36774;&#27861;&#38568;&#24847;&#25226;&#23427;&#38364;&#25481;&#12289;&#37325;&#21855;&#12289;&#25110;&#27700;&#24179;&#25844;&#23637;&#8212;&#8212;&#27599;&#19968;&#20491; instance &#30340;&#29376;&#24907;&#37117;&#19981;&#19968;&#27171;&#65292;&#31995;&#32113;&#23601;&#35722;&#25104;&#20102;&#19968;&#20491;&#20320;&#19981;&#25954;&#20098;&#21205;&#30340;&#40657;&#30418;&#23376;&#12290;</p><p><strong>&#20108;&#12289;&#20381;&#36084;&#26126;&#30906;&#21270;</strong></p><p>&#25152;&#26377;&#30340;&#22806;&#37096;&#20381;&#36084;&#65288;libraries&#12289;&#31995;&#32113;&#24037;&#20855;&#12289;&#29872;&#22659;&#35722;&#25976;&#65289;&#65292;&#37117;&#24517;&#38920;&#34987;&#26126;&#30906;&#23459;&#21578;&#65292;&#19981;&#33021;&#20381;&#36084;&#12300;&#31995;&#32113;&#19978;&#21083;&#22909;&#35037;&#20102;&#36889;&#20491;&#26481;&#35199;&#12301;&#30340;&#20551;&#35373;&#12290;</p><p><code>package.json</code>&#12289;<code>deps.edn</code>&#12289;<code>requirements.txt</code> &#36889;&#20123;&#26481;&#35199;&#23384;&#22312;&#30340;&#29702;&#30001;&#65292;&#23601;&#26159;&#35731;&#20219;&#20309;&#20154;&#25343;&#21040;&#36889;&#20221; code&#65292;&#37117;&#33021;&#22312;&#19968;&#20491;&#20094;&#28136;&#30340;&#29872;&#22659;&#35041;&#25226;&#20381;&#36084;&#35037;&#40778;&#65292;&#36305;&#36215;&#20358;&#12290;&#38577;&#24615;&#20381;&#36084;&#26159; bug &#30340;&#28331;&#24202;&#65292;&#20063;&#26159;&#12300;&#22312;&#25105;&#38651;&#33126;&#19978;&#27794;&#21839;&#38988;&#12301;&#30340;&#26681;&#28304;&#20043;&#19968;&#12290;</p><p><strong>&#19977;&#12289;&#21487;&#37325;&#29694;&#24615;</strong></p><p>&#21516;&#27171;&#30340; code&#12289;&#21516;&#27171;&#30340; config&#12289;&#21516;&#27171;&#30340;&#29872;&#22659;&#65292;&#25033;&#35442;&#27704;&#36960;&#29986;&#29983;&#21516;&#27171;&#30340;&#32080;&#26524;&#12290;</p><p>&#36889;&#35041;&#21253;&#21547;&#24190;&#20214;&#20107;&#65306;Build&#12289;Release&#12289;Run &#19977;&#20491;&#38542;&#27573;&#35201;&#22196;&#26684;&#20998;&#38626;&#65292;&#19981;&#20801;&#35377;&#22312; runtime &#20599;&#25913; code&#65307;&#38283;&#30332;&#29872;&#22659;&#21644;&#32218;&#19978;&#29872;&#22659;&#35201;&#30433;&#37327;&#19968;&#33268;&#65292;&#19981;&#33021;&#31561;&#19978;&#20102; production &#25165;&#30332;&#29694;&#34892;&#28858;&#19981;&#21516;&#65307;admin &#30340;&#19968;&#27425;&#24615;&#33139;&#26412;&#65292;&#20063;&#35201;&#22312;&#36319;&#20027;&#31243;&#24335;&#23436;&#20840;&#30456;&#21516;&#30340;&#29872;&#22659;&#19979;&#22519;&#34892;&#65292;&#19981;&#33021;&#38283;&#20491;&#26412;&#27231;&#32066;&#31471;&#27231;&#38568;&#20415;&#36305;&#12290;</p><p>&#19978;&#36848;&#19977;&#20491;&#32000;&#24459;&#35498;&#36215;&#20358;&#23481;&#26131;&#65292;&#20294;&#22312;&#23526;&#21209;&#19978;&#65292;&#36949;&#21453;&#23427;&#20497;&#30340;&#27231;&#29575;&#30064;&#24120;&#30340;&#39640;&#12290;State &#22622;&#22312;&#25033;&#29992;&#31243;&#24335;&#35041;&#12289;&#20381;&#36084;&#38752;&#21475;&#32819;&#30456;&#20659;&#12289;dev &#21644; prod &#29872;&#22659;&#38263;&#24471;&#19981;&#19968;&#27171;&#8212;&#8212;&#36889;&#20123;&#37117;&#26159;&#35731;&#31995;&#32113;&#35722;&#24471;&#33030;&#24369;&#12289;&#38627;&#20197;&#32173;&#35703;&#30340;&#38577;&#24418;&#25104;&#26412;&#12290;</p><p>&#32068;&#32340;&#22914;&#26524;&#24819;&#35201;&#35731;&#36889;&#20123;&#32000;&#24459;&#21487;&#20197;&#34987;&#36011;&#24505;&#65292;&#21218;&#24517;&#24471;&#22312;&#32068;&#32340;&#30340;&#35373;&#35336;&#19978;&#19979;&#26356;&#22810;&#21151;&#22827;&#65292;&#20854;&#20013;&#19968;&#31278;&#26041;&#24335;&#65292;&#23601;&#26159;&#35201;&#35373;&#35336;&#25152;&#35586;&#30340; <strong>Platform Team</strong>&#65292;&#30001; Platform Team &#25552;&#20379;&#25351;&#23566;&#12289;&#25991;&#20214;&#12289;&#24037;&#20855;&#12289;&#20989;&#24335;&#24235;&#12289;&#26694;&#26550;&#12289;&#24179;&#21488;&#20358;&#32102;&#12288;Stream-aligned Team &#20351;&#29992;&#12290;&#22914;&#27492;&#19968;&#20358;&#65292;Steam-aligned Team &#25165;&#33021;&#23560;&#27880;&#26044;&#26989;&#21209;&#37007;&#36655;&#12290;</p><h2><strong>&#32317;&#32080;</strong></h2><p>&#29702;&#24819;&#20013;&#30340; DevOps &#26159;&#32068;&#32340;&#23565;&#12300;&#36575;&#39636;&#20729;&#20540;&#22914;&#20309;&#27969;&#21205;&#12301;&#30340;&#26681;&#26412;&#24615;&#22238;&#31572;&#12290;CI/CD pipeline &#21487;&#20197;&#19968;&#36913;&#24314;&#22909;&#65292;&#20294;&#35731;&#22296;&#38538;&#30495;&#27491;&#31471;&#21040;&#31471;&#36000;&#36012;&#12289;&#35731;&#24037;&#31243;&#32000;&#24459;&#25104;&#28858;&#25991;&#21270;&#8212;&#8212;&#36889;&#20214;&#20107;&#65292;&#27794;&#26377;&#25463;&#24465;&#12290;</p><p>&#26377;&#20123;&#20027;&#31649;&#20497;&#25110;&#35377;&#36996;&#22312;&#21839;&#12300;DevOps &#35201;&#36023;&#21738;&#22871;&#24037;&#20855;&#65311;&#12301;&#12289;&#12300;DevOps &#35201;&#21435;&#19978;&#20160;&#40636;&#35506;&#65311;&#12301;&#25105;&#35469;&#28858;&#65292;&#31532;&#19968;&#27493;&#25033;&#35442;&#26159;&#24819;&#28165;&#26970;&#65306;&#12300;DevOps &#30340;&#28858;&#20309;&#33287;&#22914;&#20309;&#12301;&#12290;</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://replware.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading REPLWARE! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[輕量級工作流程]]></title><description><![CDATA[&#24478; Graphviz DOT language &#21040; LangGraph]]></description><link>https://replware.substack.com/p/1bf</link><guid isPermaLink="false">https://replware.substack.com/p/1bf</guid><dc:creator><![CDATA[Laurence Chen]]></dc:creator><pubDate>Sun, 31 May 2026 23:01:34 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!z55Q!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2c29843-80be-4179-8dfa-868d2c21811f_910x475.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#21069;&#38499;&#23376;&#65292;&#25105;&#22312; vibe coding &#26178;&#65292;&#19968;&#37002;&#30475;&#33879; AI agent &#24590;&#40636;&#23531;&#31243;&#24335;&#65292;&#19968;&#37002;&#24605;&#32771;&#65306;&#38928;&#35373;&#30340;&#34892;&#28858;&#30495;&#30340;&#26159;&#26368;&#20778;&#30340;&#21966;&#65311;&#26044;&#26159;&#23601;&#36215;&#24515;&#21205;&#24565;&#38283;&#30332;&#20102;&#24190;&#20491; skills&#12290;&#38283;&#30332;&#36942;&#31243;&#20013;&#65292;&#25105;&#36935;&#21040;&#20102;&#19968;&#20491;&#21839;&#38988;&#65306;&#12302;&#24590;&#40636;&#28165;&#26970;&#22320;&#21578;&#35380; AI agent &#20808;&#20570;&#31532;&#19968;&#27493;&#12289;&#20877;&#20570;&#31532;&#20108;&#27493;&#12289;&#36935;&#21040;&#26781;&#20214;&#21028;&#26039;&#26178;&#35442;&#22914;&#20309;&#20998;&#25903;&#65311;&#12303;&#29992;&#33258;&#28982;&#35486;&#35328;&#24456;&#38627;&#23531;&#28165;&#26970;&#24037;&#20316;&#27969;&#31243;&#65292;&#23601;&#31639;&#23531;&#23436;&#20102;&#65292;&#20063;&#19981;&#22909;&#39511;&#35388;&#26377;&#27794;&#26377;&#23531;&#37679;&#12290;&#36889;&#20491;&#38627;&#38988;&#65292;&#22312;&#19968;&#20491;&#20598;&#28982;&#30340;&#27231;&#26371;&#24471;&#21040;&#20102;&#35299;&#31572;&#12290;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!z55Q!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2c29843-80be-4179-8dfa-868d2c21811f_910x475.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!z55Q!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2c29843-80be-4179-8dfa-868d2c21811f_910x475.png 424w, https://substackcdn.com/image/fetch/$s_!z55Q!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2c29843-80be-4179-8dfa-868d2c21811f_910x475.png 848w, https://substackcdn.com/image/fetch/$s_!z55Q!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2c29843-80be-4179-8dfa-868d2c21811f_910x475.png 1272w, https://substackcdn.com/image/fetch/$s_!z55Q!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2c29843-80be-4179-8dfa-868d2c21811f_910x475.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!z55Q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2c29843-80be-4179-8dfa-868d2c21811f_910x475.png" width="910" height="475" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d2c29843-80be-4179-8dfa-868d2c21811f_910x475.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:475,&quot;width&quot;:910,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:45101,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://replware.substack.com/i/199708121?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2c29843-80be-4179-8dfa-868d2c21811f_910x475.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!z55Q!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2c29843-80be-4179-8dfa-868d2c21811f_910x475.png 424w, https://substackcdn.com/image/fetch/$s_!z55Q!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2c29843-80be-4179-8dfa-868d2c21811f_910x475.png 848w, https://substackcdn.com/image/fetch/$s_!z55Q!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2c29843-80be-4179-8dfa-868d2c21811f_910x475.png 1272w, https://substackcdn.com/image/fetch/$s_!z55Q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2c29843-80be-4179-8dfa-868d2c21811f_910x475.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2><strong>superpowers &#30340;&#21855;&#30332;</strong></h2><p>&#25105;&#32763;&#38321;&#21040; superpowers &#37096;&#20998;&#30340; skill &#20839;&#37096;&#23526;&#20316;&#26178;&#65292;&#30332;&#29694;&#20102;&#19968;&#31278;&#24037;&#31243;&#27969;&#31243;&#30340;&#23531;&#27861;&#12290;</p><p>superpowers &#30340;&#26576;&#20123; skill &#20839;&#21547;&#20102;<strong>&#36629;&#37327;&#32026;&#30340;&#24037;&#20316;&#27969;&#31243;</strong>&#8212;&#8212;&#26126;&#30906;&#25351;&#20196; LLM &#35201;&#20808;&#20570;&#27493;&#39519; 1&#12289;&#20877;&#20570;&#27493;&#39519; 2&#12289;&#28982;&#24460;&#34389;&#29702;&#26781;&#20214;&#21028;&#26039;&#12290;</p><p>&#36319;&#19968;&#33324;&#20154;&#23531;&#30340; skill &#19981;&#21516;&#30340;&#40670;&#26159;&#65292;superpowers &#35041;&#30340;&#36629;&#37327;&#32026;&#30340;&#24037;&#20316;&#27969;&#31243;&#65292;&#23427;&#26159;&#29992; Graphviz &#30340; DOT language &#23531;&#25104;&#65292;&#32780;&#19981;&#26159;&#33258;&#28982;&#35486;&#35328;&#25944;&#36848;&#12290;</p><p>&#29992; DOT language &#23531;&#25104;&#30340;&#24037;&#20316;&#27969;&#31243;&#65292;&#38263;&#25104;&#22914;&#19979;&#65306;</p><pre><code><code>digraph debugging_workflow {
    rankdir=LR;
    node [shape=box, style=rounded];
    edge [fontsize=10];
       
    "$A1" -&gt; "$A2"
    "$A2" -&gt; "$A3"
    "$A3" -&gt; "$A4"
    ... 
}</code></code></pre><p>&#32020;&#25991;&#23383;&#30340;&#26684;&#24335;&#65292;LLM &#23436;&#20840;&#30475;&#24471;&#25026;&#65292;&#21152;&#19978;&#26159; formal language &#65292;&#27495;&#32681;&#20063;&#23569;&#20102;&#35377;&#22810;&#12290;&#21516;&#26178;&#65292;&#19978;&#36848;&#30340;&#24037;&#20316;&#27969;&#31243;&#30001;&#26044;&#26159; DOT language &#23531;&#30340;&#65292;&#36996;&#21487;&#20197;&#30059;&#25104;&#22294;&#12290;&#32780;&#20154;&#39006;&#30475;&#22294;&#30340;&#35441;&#65292;&#23601;&#23481;&#26131;&#29702;&#35299;&#35377;&#22810;&#12290;</p><h2><strong>&#24478;&#36629;&#37327;&#32026;&#24037;&#20316;&#27969;&#31243;&#21040; LangGraph</strong></h2><p>&#29992; DOT language &#23531; skill &#20839;&#37096;&#30340;&#24037;&#20316;&#27969;&#31243;&#65292;&#26412;&#36074;&#19978;&#26159;&#19968;&#20214;&#24456;&#26377;&#24847;&#24605;&#30340;&#20107;&#12290;&#34920;&#38754;&#19978;&#30475;&#36215;&#20358;&#21482;&#26159;&#25563;&#20102;&#26684;&#24335;&#12290;&#20294;&#26412;&#36074;&#19978;&#65292;DOT language &#26159;&#19968;&#31278;&#26377;&#21521;&#22294;&#30340;&#23459;&#21578;&#24335;&#35486;&#35328;&#8212;&#8212;&#25551;&#36848;&#30340;&#19981;&#26159;&#12300;&#24590;&#40636;&#20570;&#12301;&#65292;&#32780;&#26159;&#12300;&#32080;&#27083;&#26159;&#20160;&#40636;&#12301;&#12290;&#31680;&#40670;&#12289;&#37002;&#12289;&#26781;&#20214;&#20998;&#25903;&#20840;&#37096;&#39023;&#24335;&#23459;&#21578;&#65292;&#27794;&#26377;&#27495;&#32681;&#31354;&#38291;&#12290;LLM &#35712;&#21040;&#36889;&#20491;&#65292;&#19981;&#26159;&#22312;&#12300;&#29702;&#35299;&#24847;&#22294;&#12301;&#65292;&#32780;&#26159;&#22312;&#12300;&#22519;&#34892;&#35215;&#26684;&#12301;&#12290;</p><p>&#36889;&#20491;&#24046;&#21029;&#65292;&#35731;&#20154;&#24819;&#21040;&#21478;&#19968;&#20491;&#26481;&#35199;&#65306;LangGraph&#12290;</p><p>LangGraph &#26159; LangChain &#20844;&#21496;&#20027;&#21147;&#25512;&#30340; agent workflow engine&#12290;&#23427;&#30340;&#26680;&#24515;&#27010;&#24565;&#65292;&#20063;&#26159; node&#12289;edge&#12289;conditional routing&#8212;&#8212;&#36319; DOT graph &#30340;&#32080;&#27083;&#24190;&#20046;&#26159;&#19968;&#23565;&#19968;&#26144;&#23556;&#30340;&#12290;&#24046;&#21029;&#22312;&#26044;&#65292;LangGraph &#26159;&#25226;&#36889;&#20491;&#32080;&#27083;&#25918;&#22312; runtime &#23652;&#24375;&#21046;&#22519;&#34892;&#65292;&#32780;&#19981;&#26159;&#38752; LLM &#33258;&#24459;&#36981;&#24490;&#12290;</p><p>&#36889;&#35731;&#20841;&#32773;&#20043;&#38291;&#20986;&#29694;&#20102;&#19968;&#26781;&#24456;&#33258;&#28982;&#30340;&#36335;&#24465;&#65306;</p><p>&#29992; DOT language &#23531; skill&#65292;&#26412;&#36074;&#19978;&#26159;&#22312;&#20570;&#19968;&#20214;&#36319; LangGraph &#21516;&#27083;&#30340;&#20107;&#65292;&#21482;&#26159;&#26356;&#36629;&#37327;&#12290;&#23427;&#36969;&#21512;&#29992;&#20358;&#24555;&#36895;&#39511;&#35657;&#19968;&#20491; workflow &#30340;&#26989;&#21209;&#37007;&#36655;&#26159;&#21542;&#21512;&#29702;&#12290;&#19968;&#26086;&#39511;&#35657;&#23436;&#25104;&#65292;&#38656;&#35201;&#24448; production &#25512;&#36914;&#8212;&#8212;&#29305;&#21029;&#26159;&#30070;&#20320;&#38656;&#35201; human-in-the-loop&#12289;&#38656;&#35201;&#20013;&#36884;&#26283;&#20572;&#24674;&#24489;&#12289;&#38656;&#35201;&#22833;&#25943;&#24460;&#24478; checkpoint &#32380;&#32396;&#8212;&#8212;DOT graph &#30340;&#32080;&#27083;&#65292;&#24688;&#22909;&#21487;&#20197;&#24190;&#20046;&#30452;&#25509;&#32763;&#35695;&#25104; LangGraph &#30340; node &#21644; edge&#65292;&#19981;&#38656;&#35201;&#37325;&#26032;&#35373;&#35336;&#12290;</p><p>&#25152;&#20197;&#65292;DOT language &#23531;&#30340;&#36629;&#37327;&#32026;&#24037;&#20316;&#27969;&#31243;&#65292;&#25110;&#35377;&#19981;&#21482;&#26159;&#19968;&#20491;&#23531; skill &#30340;&#25216;&#24039;&#65292;&#32780;&#26159;&#19968;&#31278;&#24605;&#32771;&#26041;&#24335;&#65306;&#12300;&#20808;&#25226;&#32080;&#27083;&#24819;&#28165;&#26970;&#65292;&#20877;&#27770;&#23450;&#29992;&#20160;&#40636; runtime &#20358;&#36305;&#23427;&#12290;&#12301;</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://replware.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading REPLWARE! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[用 AI 當顧問]]></title><description><![CDATA[AI &#39015;&#21839;&#29983;&#25104;&#22120;]]></description><link>https://replware.substack.com/p/ai-51a</link><guid isPermaLink="false">https://replware.substack.com/p/ai-51a</guid><dc:creator><![CDATA[Laurence Chen]]></dc:creator><pubDate>Sun, 24 May 2026 23:01:21 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!D0IM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa42c27b2-9e07-4cc5-b59c-138cb7348d44_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#21451;&#20154;&#26368;&#36817;&#25214;&#25105;&#32842;&#20182;&#30340;&#32887;&#28079;&#21644;&#20844;&#21496;&#32147;&#29151;&#12290;&#25105;&#25512;&#34214;&#20102;&#25105;&#25226; AI &#35722;&#25104;&#31574;&#30053;&#21161;&#29702;&#30340;&#20570;&#27861;&#65292;&#20006;&#19988;&#35731;&#20182;&#30475;&#20102;&#25105;&#30340; project instructions&#65292;&#32780;&#20182;&#30475;&#20102;&#25105;&#30340; project instructions &#33287; <a href="https://replware.substack.com/p/ai-61f">AI &#21103;&#25163;&#19968;&#25991;</a>&#24460;&#65292;&#35258;&#24471;&#26041;&#21521;&#23565;&#65292;&#20294;&#38568;&#21363;&#21371;&#27493;&#20102;&#12290;</p><p>&#12300;&#20320;&#30340; project instructions &#37027;&#40636;&#38263;&#65292;&#12301;&#20182;&#35498;&#65292;&#12300;&#25105;&#26681;&#26412;&#19981;&#30693;&#36947;&#33258;&#24049;&#35442;&#23531;&#20160;&#40636;&#36914;&#21435;&#12290;&#12301;</p><p>&#20182;&#35498;&#24471;&#24456;&#26377;&#36947;&#29702;&#12290;&#25105;&#30340; project instructions &#30906;&#23526;&#24456;&#20887;&#38263;&#65292;&#32780;&#19988;&#23427;&#26159;&#32147;&#36942;&#22810;&#36650;&#23565;&#35441;&#12289;&#19981;&#26039;&#35036;&#20805;&#25165;&#35722;&#25104;&#29694;&#22312;&#36889;&#27171;&#12290;&#23565;&#19968;&#20491;&#25165;&#35201;&#38283;&#22987;&#30340;&#20154;&#20358;&#35498;&#65292;&#30475;&#33879;&#19968;&#20221;&#35920;&#23500;&#30340; instructions&#65292;&#26371;&#24456;&#38627;&#24819;&#20687;&#33258;&#24049;&#24590;&#27171;&#19968;&#27493;&#27493;&#24314;&#31435;&#36215;&#20358;&#12290;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!D0IM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa42c27b2-9e07-4cc5-b59c-138cb7348d44_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!D0IM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa42c27b2-9e07-4cc5-b59c-138cb7348d44_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!D0IM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa42c27b2-9e07-4cc5-b59c-138cb7348d44_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!D0IM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa42c27b2-9e07-4cc5-b59c-138cb7348d44_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!D0IM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa42c27b2-9e07-4cc5-b59c-138cb7348d44_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!D0IM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa42c27b2-9e07-4cc5-b59c-138cb7348d44_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a42c27b2-9e07-4cc5-b59c-138cb7348d44_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1445125,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://replware.substack.com/i/198817042?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa42c27b2-9e07-4cc5-b59c-138cb7348d44_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!D0IM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa42c27b2-9e07-4cc5-b59c-138cb7348d44_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!D0IM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa42c27b2-9e07-4cc5-b59c-138cb7348d44_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!D0IM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa42c27b2-9e07-4cc5-b59c-138cb7348d44_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!D0IM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa42c27b2-9e07-4cc5-b59c-138cb7348d44_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2><strong>&#21453;&#21521;&#24037;&#31243;&#19968;&#20491;&#29983;&#25104;&#22120;</strong></h2><p>&#26044;&#26159;&#25105;&#24819;&#21040;&#21478;&#19968;&#20491;&#20570;&#27861;&#65306;&#12300;&#33287;&#20854;&#21483;&#20182;&#24478;&#38646;&#38283;&#22987;&#24930;&#24930;&#25720;&#32034;&#65292;&#19981;&#22914;&#29992; AI &#20358;&#21839;&#20182;&#12289;&#20358;&#24341;&#23566;&#20182;&#12290;&#12301;</p><p>&#25105;&#26681;&#25818;&#33258;&#24049;&#29694;&#26377;&#30340; project instructions&#65292;&#21453;&#21521;&#25512;&#23566;&#20986;&#19968;&#20491;&#12300;<a href="https://gist.github.com/humorless/4201efd149b3a5b872baaa2b91ef3a6f">instructions generator prompt</a>&#12301;&#12290;&#36889;&#20491; prompt &#26371;&#36880;&#27493;&#21521;&#20182;&#25552;&#21839;&#8212;&#8212;&#38364;&#26044;&#31574;&#30053;&#21161;&#29702;&#30340;&#35282;&#33394;&#23450;&#20301;&#12289;&#20182;&#30340;&#20491;&#20154;&#29305;&#36074;&#12289;&#20844;&#21496;&#32972;&#26223;&#12289;&#23458;&#25142;&#36650;&#24275;&#12289;&#32147;&#29151;&#38480;&#21046;&#12289;&#38263;&#26399;&#30446;&#27161;&#12290;&#27599;&#19968;&#20491;&#21312;&#22602;&#21839; 2&#65374;3 &#20491;&#21839;&#38988;&#65292;&#30906;&#35469;&#24460;&#20877;&#32380;&#32396;&#12290;</p><p>&#26368;&#24460;&#65292;AI &#26681;&#25818;&#20182;&#30340;&#22238;&#31572;&#65292;&#33258;&#21205;&#32068;&#32340;&#25104;&#19968;&#20221;&#23436;&#25972;&#30340; project instructions&#12290;</p><h2><strong>&#28858;&#20160;&#40636;&#36889;&#20491;&#26041;&#27861;&#26371;&#26377;&#25928;</strong></h2><p>&#20045;&#30475;&#20043;&#19979;&#65292;&#36889;&#21482;&#26159;&#25226;&#12300;&#25163;&#24037;&#23531;&#12301;&#25913;&#25104;&#12300;AI &#21839;&#12301;&#12290;&#20294;&#23526;&#38555;&#19978;&#65292;&#23427;&#25913;&#35722;&#20102;&#19968;&#20491;&#38364;&#37749;&#30340;&#26481;&#35199;&#12290;</p><p>&#22312;&#25105;&#30340;&#32147;&#39511;&#35041;&#65292;project instructions &#35722;&#24471;&#35920;&#23500;&#65292;&#26159;&#22240;&#28858;&#25105;&#22312;&#22810;&#36650;&#23565;&#35441;&#20013;&#65292;&#36880;&#28472;&#30332;&#29694;&#12300;&#21834;&#65292;&#25105;&#36996;&#27794;&#21578;&#35380; AI &#36889;&#20491;&#12301;&#12290;&#27604;&#22914;&#65292;&#25105;&#26368;&#21021;&#27794;&#24819;&#21040;&#35201;&#26126;&#30906;&#23531;&#19979;&#12300;&#19968;&#20154;&#20844;&#21496;&#30340;&#32004;&#26463;&#12301;&#65292;&#26159;&#22312;&#34987; AI &#30340;&#24314;&#35696;&#12300;&#37327;&#28204;&#12289;&#20570; A/B testing&#12301;&#31998;&#27491;&#20102;&#24190;&#27425;&#20043;&#24460;&#65292;&#25165;&#24847;&#35672;&#21040;&#38656;&#35201;&#35036;&#20805;&#12290;</p><p>&#36889;&#20491;&#36942;&#31243;&#31649;&#29992;&#65292;&#20294;&#25928;&#29575;&#19981;&#39640;&#12290;&#20320;&#35201;&#20808;&#21839;&#21839;&#38988;&#65292;&#20877;&#34987;&#31998;&#27491;&#65292;&#20877;&#35036;&#20805;&#12290;</p><p>&#20294;&#22914;&#26524;&#29992; generator &#21453;&#36942;&#20358;&#20570;&#65292;<strong>AI &#20808;&#21839;&#20320;&#65292;&#36924;&#20320;&#22312;&#19968;&#38283;&#22987;&#23601;&#24819;&#28165;&#26970;</strong>&#12290;&#30070;&#23427;&#21839;&#12300;&#20320;&#30446;&#21069;&#26368;&#22823;&#30340;&#29942;&#38968;&#26159;&#20160;&#40636;&#12301;&#26178;&#65292;&#20320;&#24517;&#38920;&#32102;&#20986;&#31572;&#26696;&#65292;&#21363;&#20351;&#20063;&#35377;&#19981;&#26159;&#27491;&#30906;&#30340;&#31572;&#26696;&#12290;</p><p>&#20320;&#34987;&#36843;&#22312;&#19968;&#38283;&#22987;&#23601;&#25552;&#20379;&#38364;&#37749;&#20449;&#24687;&#65292;&#32780;&#19981;&#26159;&#31561;&#33879;&#34987;&#23565;&#35441;&#31998;&#27491;&#12290;&#32080;&#26524;&#26159;&#65292;&#29983;&#25104;&#20986;&#20358;&#30340; project instructions &#24478;&#31532;&#19968;&#29256;&#38283;&#22987;&#65292;&#23601;&#21253;&#21547;&#20102;&#37027;&#20123;&#12300;&#35201;&#32147;&#36942;&#22810;&#36650;&#23565;&#35441;&#25165;&#26371;&#30332;&#29694;&#12301;&#30340;&#32173;&#24230;&#12290;</p><p>&#25563;&#21477;&#35441;&#35498;&#65292;<strong>generator &#25226;&#25105;&#33457;&#22810;&#36650;&#23565;&#35441;&#25165;&#23416;&#21040;&#30340;&#12300;&#38364;&#27880;&#40670;&#12301;&#65292;&#19968;&#38283;&#22987;&#23601;&#21839;&#20102;</strong>&#12290;</p><h3><strong>&#24037;&#21830;&#26178;&#38291; (Graph Thinking)</strong></h3><p>&#19979;&#20491;&#26376;&#25105;&#26371;&#22312; sciwork &#20998;&#20139; Graph Thinking&#12290;</p><p>&#22914;&#26524;&#20320;&#22312;&#20570;&#25512;&#34214;&#31995;&#32113;&#12289;&#35408;&#27450;&#20597;&#28204;&#12289;&#25110;&#32773;&#21482;&#26159;&#35258;&#24471; SQL JOIN &#23531;&#24471;&#24456;&#30171;&#65292;&#36889;&#22580;&#21487;&#33021;&#23565;&#20320;&#26377;&#29992;&#12290;6/13&#65292;&#27489;&#36814;&#20358;&#21443;&#21152;&#12290;</p><ul><li><p>&#27963;&#21205;&#26085;&#26399;&#65306;2026/06/13(&#20845;)</p></li><li><p>&#27963;&#21205;&#22320;&#40670;&#65306;&#22283;&#31435;&#38525;&#26126;&#20132;&#36890;&#22823;&#23416;&#24037;&#31243;&#19977;&#39208;</p></li><li><p>&#36092;&#31080;&#32178;&#22336;&#65306;<a href="https://sciwork.kktix.cc/events/seminar2026">https://sciwork.kktix.cc/events/seminar2026</a></p></li><li><p>&#35443;&#32048;&#36039;&#35338;&#65306;<a href="https://seminar.sciwork.dev/">https://seminar.sciwork.dev/</a></p></li><li><p>Workshop &#36039;&#35338;&#65306;<a href="https://seminar.sciwork.dev/workshops">https://seminar.sciwork.dev/workshops</a></p></li></ul><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://replware.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading REPLWARE! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[導入 AI 之後，為什麼你的企業還是沒有變快？]]></title><description><![CDATA[X-as-a-service &#30340;&#25913;&#36914;&#27861;]]></description><link>https://replware.substack.com/p/ai-fe9</link><guid isPermaLink="false">https://replware.substack.com/p/ai-fe9</guid><dc:creator><![CDATA[Laurence Chen]]></dc:creator><pubDate>Sun, 17 May 2026 23:01:10 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!DLLY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc748bf37-bede-49ec-862f-22504e5ce16a_4170x2330.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#20844;&#21496;&#35037;&#20102; Copilot&#65292;&#27599;&#20491;&#20154;&#37117;&#22312;&#29992; AI &#23531;&#20449;&#12289;&#25972;&#29702;&#26371;&#35696;&#35352;&#37636;&#12289;&#26597;&#35426;&#36039;&#26009;&#12290;&#20294;&#26376;&#22577;&#65292;&#36996;&#26159;&#35201;&#36305;&#19977;&#22825;&#12290;</p><p>&#36889;&#19981;&#26159;&#20491;&#26696;&#12290;&#36889;&#26159;&#19968;&#20491;&#32080;&#27083;&#24615;&#30340;&#35492;&#35299;&#12290;</p><h2><strong>&#20225;&#26989;&#27969;&#31243;&#30340;&#38577;&#21547;&#20551;&#35373;</strong></h2><p>&#21644;&#23458;&#25142;&#31805;&#32004;&#26178;&#65292;&#25505;&#36092;&#24120;&#21578;&#35380;&#25105;&#65292;&#25949;&#20844;&#21496;&#20184;&#27454;&#26159;&#19977;&#21313;&#26085;&#26376;&#32080;&#12290;&#36889;&#20491;&#19977;&#21313;&#26085;&#24590;&#40636;&#20358;&#30340;&#65311;</p><p>&#20225;&#26989;&#35041;&#19968;&#20491;&#20184;&#27454;&#30340;&#27969;&#31243;&#23601;&#26159;&#35201;&#32147;&#36942;&#37325;&#37325;&#23529;&#25209;&#65292;&#27599;&#36942;&#19968;&#38364;&#65292;&#23601;&#26371;&#26377;&#19968;&#36650;&#30340; Email &#24448;&#36820;&#65292;&#19968;&#27425;&#30340;&#31561;&#24453;&#12290;&#23529;&#25209;&#30340;&#26178;&#38291;&#12289;&#23526;&#36074;&#20316;&#26989;&#30340;&#26178;&#38291;&#20840;&#37096;&#21152;&#36215;&#20358;&#20063;&#35377;&#19981;&#21040;&#19968;&#23567;&#26178;&#65292;&#20294;&#26159;&#65292;&#19968;&#38364;&#21448;&#19968;&#38364;&#30340;&#23529;&#25209;&#22534;&#30090;&#36215;&#20358;&#65292;&#23601;&#26371;&#26159;&#21313;&#20493;&#12289;&#30334;&#20493;&#30340;&#26178;&#38291;&#12290;</p><p>&#19978;&#36848;&#30340;&#29694;&#35937;&#26222;&#36941;&#20986;&#29694;&#22312;&#21508;&#31278;&#20225;&#26989;&#65292;&#20063;&#22240;&#27492;&#65292;&#22823;&#23478;&#37117;&#30693;&#36947;&#20013;&#23567;&#20225;&#26989;&#30340;&#21453;&#25033;&#36895;&#24230;&#24448;&#24448;&#36611;&#24555;&#12290;&#20063;&#26377;&#36575;&#39636;&#26989; CEO &#26366;&#32147;&#30452;&#30333;&#22320;&#35498;&#65306;&#12300;&#24037;&#20316;&#27969;&#31243;&#27599;&#22810;&#19968;&#23652;&#23529;&#25209;&#65292;&#23601;&#24930;&#21313;&#20493;&#12290;&#12301;</p><p>&#22823;&#22810;&#25976;&#20225;&#26989;&#22312;&#23566;&#20837; AI &#30340;&#26178;&#20505;&#65292;&#21839;&#30340;&#21839;&#38988;&#26159;&#65306;&#12300;&#24590;&#40636;&#35731;&#21729;&#24037;&#25033;&#29992; AI &#35722;&#24555;&#65311;&#12301;</p><p>&#36889;&#20491;&#21839;&#38988;&#27794;&#26377;&#21839;&#37679;&#65292;&#28982;&#32780;&#65292;&#22914;&#26524;&#26082;&#26377;&#30340;&#27969;&#31243;&#35041;&#65292;&#23526;&#36074;&#20316;&#26989;&#26178;&#38291;&#30340;&#20308;&#27604;&#23601;&#21482;&#26377; 1/10&#65292;&#37027; AI &#20877;&#24590;&#40636;&#21152;&#36895;&#65292;&#20063;&#21482;&#33021;&#24555; 10%&#12290;</p><p><strong>&#30495;&#27491;&#30340;&#21839;&#38988;&#25033;&#35442;&#26159;&#65306;&#20320;&#30340;&#20844;&#21496;&#65292;&#27969;&#31243;&#22312;&#21738;&#35041;&#31561;&#24453;&#65311;</strong></p><h2><strong>&#20160;&#40636;&#26159;&#12300;&#27969;&#31243;&#26039;&#40670;&#12301;&#65311;</strong></h2><p>&#22312;&#25105;&#20570;&#20225;&#26989;&#39015;&#21839;&#30340;&#36942;&#31243;&#20013;&#65292;&#35264;&#23519;&#21040;&#19968;&#20491;&#20849;&#21516;&#29305;&#24501;&#65306;&#22823;&#22810;&#25976;&#20225;&#26989;&#30340;&#24037;&#20316;&#27969;&#31243;&#35041;&#65292;&#37117;&#34255;&#33879;&#24190;&#20491;&#12300;&#27969;&#31243;&#26039;&#40670;&#12301;&#8212;&#8212;&#26576;&#20491;&#29872;&#31680;&#21345;&#20303;&#65292;&#25972;&#26781;&#27969;&#31243;&#23601;&#20572;&#19979;&#20358;&#31561;&#12290;&#23427;&#20497;&#38263;&#36889;&#27171;&#65306;</p><ul><li><p>&#19968;&#20491;&#27969;&#31243;&#20570;&#21040;&#19968;&#21322;&#65292;&#24517;&#38920;&#31561;&#26576;&#20491;&#29305;&#23450;&#30340;&#20154;&#25165;&#33021;&#32380;&#32396;&#25512;&#36914;</p></li><li><p>&#26376;&#22577;&#35201;&#19977;&#22825;&#65292;&#19981;&#26159;&#22240;&#28858;&#20998;&#26512;&#24930;&#65292;&#32780;&#26159;&#22240;&#28858;&#36039;&#26009;&#35201;&#24478;&#20116;&#20491; Excel &#25163;&#21205;&#24409;&#25972;</p></li></ul><p>&#36889;&#20123;&#26039;&#40670;&#65292;&#19981;&#26159;&#24037;&#20855;&#21839;&#38988;&#65292;&#26159;<strong>&#27969;&#31243;&#35373;&#35336;&#21839;&#38988;</strong>&#12290;&#25226; AI &#25554;&#36914;&#20358;&#65292;&#21482;&#26159;&#35731;&#26412;&#20358;&#23601;&#22312;&#31561;&#24453;&#30340;&#20154;&#21487;&#20197;&#26356;&#26377;&#25928;&#22320;&#31561;&#24453;&#12290;</p><h2><strong>&#20841;&#31278;&#23566;&#20837;&#26041;&#24335;&#65292;&#32080;&#26524;&#24046;&#21313;&#20493;</strong></h2><p>&#25105;&#25226;&#20225;&#26989;&#23566;&#20837; AI &#30340;&#26041;&#24335;&#20998;&#25104;&#20841;&#39006;&#12290;&#36889;&#35041;&#30340;&#12300;10%&#12301;&#21644;&#12300;10x&#12301;&#26159;&#27010;&#24565;&#19978;&#30340;&#37327;&#32026;&#24046;&#36317;&#65292;&#19981;&#26159;&#31934;&#30906;&#25976;&#23383;&#65292;&#32780;&#26159;&#25551;&#36848;&#20841;&#31278;&#25130;&#28982;&#19981;&#21516;&#30340;&#32080;&#26524;&#65306;</p><p><strong>&#25913;&#36914; 10%</strong>&#65306;&#29992; AI &#35731;&#29694;&#26377;&#27969;&#31243;&#36305;&#26356;&#24555;&#12290;&#21729;&#24037;&#22238;&#20449;&#26356;&#24555;&#12289;&#25991;&#20214;&#25972;&#29702;&#26356;&#24555;&#12289;Debug &#26356;&#24555;&#12290;&#36889;&#26159;&#30495;&#23526;&#30340;&#25913;&#21892;&#65292;&#20294;&#25913;&#21892;&#24133;&#24230;&#26377;&#38480;&#65292;&#22240;&#28858;&#27969;&#31243;&#30340;&#29942;&#38968;&#27794;&#26377;&#21205;&#12290;</p><p><strong>&#25913;&#36914; 10x</strong>&#65306;&#37325;&#26032;&#35373;&#35336;&#27969;&#31243;&#12290;&#37325;&#40670;&#19981;&#22312;&#26044;&#35731;&#20154;&#36305;&#24471;&#26356;&#24555;&#65292;&#32780;&#26159;&#25226;&#37027;&#20491;&#24517;&#38920;&#12300;&#31561;&#20154;&#12301;&#30340;&#29872;&#31680;&#65292;&#36681;&#35722;&#25104;&#19968;&#20491;&#20219;&#20309;&#20154;&#37117;&#21487;&#20197;&#33258;&#21161;&#30340;&#26381;&#21209;&#12290;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!DLLY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc748bf37-bede-49ec-862f-22504e5ce16a_4170x2330.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!DLLY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc748bf37-bede-49ec-862f-22504e5ce16a_4170x2330.png 424w, https://substackcdn.com/image/fetch/$s_!DLLY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc748bf37-bede-49ec-862f-22504e5ce16a_4170x2330.png 848w, https://substackcdn.com/image/fetch/$s_!DLLY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc748bf37-bede-49ec-862f-22504e5ce16a_4170x2330.png 1272w, https://substackcdn.com/image/fetch/$s_!DLLY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc748bf37-bede-49ec-862f-22504e5ce16a_4170x2330.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!DLLY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc748bf37-bede-49ec-862f-22504e5ce16a_4170x2330.png" width="1456" height="814" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c748bf37-bede-49ec-862f-22504e5ce16a_4170x2330.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:814,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:196142,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://replware.substack.com/i/197808243?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc748bf37-bede-49ec-862f-22504e5ce16a_4170x2330.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!DLLY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc748bf37-bede-49ec-862f-22504e5ce16a_4170x2330.png 424w, https://substackcdn.com/image/fetch/$s_!DLLY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc748bf37-bede-49ec-862f-22504e5ce16a_4170x2330.png 848w, https://substackcdn.com/image/fetch/$s_!DLLY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc748bf37-bede-49ec-862f-22504e5ce16a_4170x2330.png 1272w, https://substackcdn.com/image/fetch/$s_!DLLY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc748bf37-bede-49ec-862f-22504e5ce16a_4170x2330.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>&#24046;&#21029;&#22312;&#21738;&#35041;&#65311;&#35731;&#25105;&#29992;&#20841;&#20491;&#26696;&#20363;&#35498;&#26126;&#12290;</p><h2><strong>&#26696;&#20363;&#19968;&#65306;&#24291;&#21578;&#20844;&#21496;&#30340;&#33258;&#21161;&#35386;&#26039;&#24037;&#20855;</strong></h2><p>&#35377;&#22810;&#24291;&#21578;&#31185;&#25216;&#20844;&#21496;&#30340;&#27969;&#31243;&#26159;&#36889;&#27171;&#30340;&#65306;&#23458;&#25142;&#30340;&#36861;&#36452;&#30908;&#65288;Pixel&#65289;&#22475;&#37679;&#20102;&#65292;&#24291;&#21578;&#25104;&#25928;&#23601;&#30475;&#19981;&#21040;&#12290;&#23458;&#25142;&#30332;&#29694;&#21839;&#38988;&#65292;&#25552;&#20132; ticket &#32102;&#24291;&#21578;&#31185;&#25216;&#20844;&#21496;&#65292;Ad Tech Support &#24037;&#31243;&#24107;&#25509;&#25163; debug&#65292;&#35299;&#27770;&#24460;&#22238;&#35206;&#23458;&#25142;&#12290;</p><p>2020 &#24180;&#65292;&#25105;&#22312; LINE Taiwan &#30340;&#26989;&#21209;&#37096;&#25812;&#20219; Ad Tech Support&#65292;&#23601;&#26159;&#20570;&#19978;&#36848;&#30340;&#20107;&#12290;&#37027;&#19968;&#24180;&#65292;LINE &#30340;&#26989;&#21209;&#25104;&#38263;&#38750;&#24120;&#24555;&#65292;Ad Tech Support &#26681;&#26412;&#24537;&#19981;&#36942;&#20358;&#65292;&#25152;&#20197;&#25105;&#34987;&#33256;&#26178;&#27966;&#21435;&#25903;&#25588;&#12290;&#28982;&#32780;&#65292;&#23601;&#31639;&#25105;&#20491;&#20154;&#30340; Debug &#36895;&#24230;&#27604;&#21516;&#20107;&#24555; 20 &#20493;&#65292;&#25972;&#20491;&#22296;&#38538;&#30340;&#29986;&#20986;&#20006;&#27794;&#26377;&#39023;&#33879;&#19978;&#21319;&#65292;&#22240;&#28858;&#23458;&#25142;&#31561;&#24453;&#30340;&#26178;&#38291;&#20173;&#28982;&#26159;&#20197;&#22825;&#35336;&#12290;</p><p>&#30495;&#27491;&#30340;&#21313;&#20493;&#29986;&#20986;&#65292;&#30332;&#29983;&#22312; Ad Tech Support &#22296;&#38538;&#38283;&#30332;&#20986;&#19968;&#20491;&#39006;&#20284; Pixel Helper &#30340;&#24037;&#20855;&#65288;LINE Tag Helper&#65289;&#65292;&#35731;&#23458;&#25142;&#33258;&#24049;&#23601;&#33021;&#35386;&#26039;&#21839;&#38988;&#20043;&#24460;&#12290;&#24478;&#27492;&#65292;Ad Tech Support &#30340;&#24037;&#20316;&#24478;&#12300;&#34389;&#29702; ticket&#12301;&#35722;&#25104;&#12300;&#32173;&#35703;&#36889;&#20491;&#24037;&#20855;&#12301;&#12290;</p><p>&#32080;&#26524;&#19981;&#21482;&#26159;&#36895;&#24230;&#24046;&#30064;&#65292;&#25972;&#20491;&#27969;&#31243;&#30340;&#24615;&#36074;&#37117;&#25913;&#35722;&#20102;&#65306;&#24478;&#12300;&#20154;&#24037;&#26381;&#21209;&#12301;&#35722;&#25104;&#12300;&#24179;&#21488;&#26381;&#21209;&#12301;&#12290;&#21407;&#26412;&#27599;&#22825;&#35201;&#20154;&#24037;&#34389;&#29702;&#30340; ticket &#37327;&#28040;&#22833;&#20102;&#65292;&#24037;&#31243;&#24107;&#30340;&#20729;&#20540;&#24478;&#20154;&#21147;&#25903;&#25588;&#36681;&#31227;&#25104;&#24314;&#36896;&#25903;&#25588;&#30340;&#31995;&#32113;&#12290;</p><p>&#36889;&#23601;&#26159; X-as-a-Service &#30340;&#37007;&#36655;&#65306;&#25226;&#19968;&#20491;&#38656;&#35201;&#12300;&#31561;&#20154;&#12301;&#30340;&#27969;&#31243;&#26039;&#40670;&#65292;&#36681;&#21270;&#25104;&#19968;&#20491;&#38568;&#26178;&#21487;&#29992;&#30340;&#26381;&#21209;&#12290;&#38364;&#37749;&#22312;&#26044;&#65292;&#23559;&#21407;&#26412;&#21482;&#26377;&#29305;&#23450;&#20154;&#25165;&#25345;&#26377;&#30340;&#23560;&#26989;&#30693;&#35672;&#65292;&#32232;&#30908;&#36914;&#20837;&#19968;&#20491;&#21487;&#20197; 24 &#23567;&#26178;&#22312;&#32218;&#30340;&#24037;&#20855;&#12290;</p><h2><strong>&#26696;&#20363;&#20108;&#65306;&#35069;&#36896;&#26989;&#30340;&#36039;&#26009;&#24179;&#21488;</strong></h2><p>&#22312;&#21488;&#28771;&#65292;&#35377;&#22810;&#35069;&#36896;&#26989;&#22312;&#29983;&#25104;&#22577;&#34920;&#26178;&#65292;&#24120;&#35211;&#30340;&#20316;&#27861;&#26159;&#35731; IT &#22296;&#38538;&#29992; BI &#36575;&#39636;&#65292;&#28858;&#36001;&#21209;&#12289;&#34892;&#37559;&#12289;&#29983;&#31649;&#31561;&#37096;&#38272;&#21508;&#33258;&#35069;&#20316;&#22577;&#34920;&#12290;</p><p>&#20197; PowerBI &#28858;&#20363;&#65292;&#23427;&#20351;&#29992;&#30340;&#38936;&#22495;&#23560;&#29992;&#35486;&#35328; DAX&#65292;&#36942;&#21435;&#38272;&#27323;&#24456;&#39640;&#65292;&#35377;&#22810;&#20154;&#23531;&#19981;&#22909;&#12290;&#26377;&#20102; AI &#20043;&#24460;&#65292;DAX &#30340;&#25776;&#23531;&#38627;&#24230;&#22823;&#24133;&#19979;&#38477;&#12290;&#20294;&#21839;&#38988;&#20358;&#20102;&#65306;&#23601;&#31639;&#20491;&#21029;&#24037;&#31243;&#24107;&#23531; DAX &#30340;&#36895;&#24230;&#35722;&#24555;&#65292;&#31561;&#24453;&#22577;&#34920;&#30340;&#29694;&#35937;&#20381;&#33290;&#23384;&#22312;&#12290;&#21407;&#22240;&#26159;&#65292;&#27969;&#31243;&#26039;&#40670;&#19981;&#22312;&#26044;&#12300;&#23531;&#24471;&#24930;&#12301;&#65292;&#32780;&#22312;&#26044;&#12300;&#25152;&#26377;&#38656;&#27714;&#37117;&#35201;&#25490;&#38538;&#31561; IT &#34389;&#29702;&#12301;&#12290;&#21482;&#35201;&#36889;&#20491;&#32080;&#27083;&#27794;&#35722;&#65292;&#21152;&#36895;&#20491;&#20154;&#30340;&#24037;&#20855;&#21482;&#26159;&#35731;&#20154;&#26356;&#26377;&#25928;&#29575;&#22320;&#25490;&#38538;&#12290;</p><p>&#30495;&#27491;&#30340;&#21313;&#20493;&#20316;&#27861;&#26159;&#20160;&#40636;&#65311;&#23566;&#20837;&#29694;&#20195;&#36039;&#26009;&#26855;&#65288;Modern Data Stack&#65289;&#65292;&#35731;&#20225;&#26989;&#30340;&#36039;&#26009;&#20489;&#20786;&#24478;&#12300;IT &#37096;&#38272;&#31649;&#29702;&#30340;&#36575;&#39636;&#12301;&#65292;&#36681;&#35722;&#25104;&#12300;&#20840;&#20844;&#21496;&#37117;&#33021;&#33258;&#21161;&#26597;&#35426;&#30340;&#36039;&#26009;&#24179;&#21488;&#12301;&#12290;&#36039;&#26009;&#22296;&#38538;&#30340;&#35282;&#33394;&#24478;&#22519;&#34892;&#32773;&#35722;&#25104;&#32173;&#35703;&#32773;&#65292;&#26039;&#40670;&#24478;&#27492;&#28040;&#22833;&#12290;</p><p>2025 &#24180;&#65292;&#25105;&#22312;&#21488;&#28771;&#19968;&#23478;&#38754;&#26495;&#24288;&#21332;&#21161;&#23566;&#20837;&#29694;&#20195;&#36039;&#26009;&#26855;&#20043;&#24460;&#65292;&#21021;&#27493;&#25104;&#26524;&#35731;&#19968;&#20221;&#26082;&#26377;&#22577;&#34920;&#30340;&#29986;&#20986;&#26178;&#38291;&#24478; 27 &#20998;&#37912;&#32302;&#30701;&#28858; 10 &#31186;&#12290;&#20294;&#36889;&#36996;&#21482;&#26159;&#25216;&#34899;&#23652;&#38754;&#30340;&#25913;&#21892;&#12290;&#26356;&#26681;&#26412;&#30340;&#35722;&#21270;&#22312;&#26044;&#65306;&#21508;&#37096;&#38272;&#21487;&#20197;&#30452;&#25509;&#23384;&#21462;&#36039;&#26009;&#24179;&#21488;&#65288;&#23565;&#26044;&#19968;&#20123;&#30456;&#23565;&#21934;&#32020;&#30340;&#34920;&#26684;&#65289;&#65292;&#19981;&#20877;&#38656;&#35201;&#31561;&#24453; IT &#25490;&#31243;&#12290;</p><p>&#38568;&#33879;&#36039;&#26009;&#24179;&#21488;&#25345;&#32396;&#23436;&#21892;&#65292;&#19979;&#19968;&#27493;&#29978;&#33267;&#21487;&#20197;&#35731; AI agent &#30452;&#25509;&#23384;&#21462;&#24179;&#21488;&#12289;&#33258;&#21205;&#29983;&#25104;&#35079;&#38620;&#22577;&#34920;&#8212;&#8212;&#36889;&#20491;&#38542;&#27573;&#65292;&#26989;&#30028;&#31281;&#20043;&#28858; <strong>Agent-Ready Data</strong>&#65306;&#36039;&#26009;&#24050;&#32147;&#25972;&#20633;&#21040;&#36275;&#20197;&#35731; AI &#33258;&#20027;&#36939;&#29992;&#65292;&#19981;&#38656;&#35201;&#20154;&#24037;&#20013;&#20171;&#12290;&#36889;&#19981;&#26159;&#36953;&#36960;&#30340;&#26410;&#20358;&#65292;&#32780;&#26159;&#36039;&#26009;&#24179;&#21488;&#24314;&#32622;&#21040;&#20301;&#24460;&#65292;&#33258;&#28982;&#21487;&#20197;&#25509;&#36556;&#30340;&#19979;&#19968;&#27493;&#12290;</p><h2><strong>&#19981;&#35201;&#21839;&#12300;&#25105;&#20497;&#20844;&#21496;&#35442;&#24590;&#40636;&#29992; AI&#65311;&#12301;</strong></h2><p>&#36889;&#20491;&#21839;&#38988;&#26412;&#36523;&#23601;&#25226;&#26041;&#21521;&#25630;&#37679;&#20102;&#12290;&#23427;&#38928;&#35373;&#20102;&#12300;&#20808;&#25214;&#24037;&#20855;&#65292;&#20877;&#25214;&#29992;&#36884;&#12301;&#30340;&#38918;&#24207;&#12290;</p><p>&#27491;&#30906;&#30340;&#38918;&#24207;&#26159;&#21453;&#36942;&#20358;&#65306;<strong>&#20808;&#25214;&#26039;&#40670;&#65292;&#20877;&#25214;&#24037;&#20855;&#12290;</strong></p><p>&#20320;&#21487;&#20197;&#24478;&#36889;&#20491;&#21839;&#38988;&#38283;&#22987;&#65306;&#20844;&#21496;&#35041;&#26377;&#21738;&#20491;&#27969;&#31243;&#65292;&#27599;&#27425;&#25512;&#36914;&#21040;&#19968;&#21322;&#23601;&#26371;&#20572;&#8212;&#8212;&#32780;&#12300;&#20572;&#12301;&#26159;&#22240;&#28858;&#35201;&#31561;&#26576;&#20491;&#29305;&#23450;&#30340;&#20154;&#25165;&#33021;&#32380;&#32396;&#65311;</p><p>&#25214;&#21040;&#37027;&#20491;&#22320;&#26041;&#65292;&#20855;&#39636;&#21839;&#65306;&#36889;&#20491;&#31561;&#24453;&#21487;&#20197;&#34987;&#19968;&#20491;&#24037;&#20855;&#25110;&#24179;&#21488;&#21462;&#20195;&#21966;&#65311;&#36889;&#35041;&#30340;&#30693;&#35672;&#65292;&#33021;&#19981;&#33021;&#34987;&#32232;&#30908;&#25104;&#19968;&#20491;&#26381;&#21209;&#65311;</p><p>&#22914;&#26524;&#31572;&#26696;&#26159;&#32943;&#23450;&#30340;&#65292;&#37027;&#25165;&#26159;&#20540;&#24471;&#25226; AI &#30495;&#27491;&#29992;&#19978;&#21435;&#30340;&#20301;&#32622;&#12290;</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://replware.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading REPLWARE! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Agent-Ready-Stack]]></title><description><![CDATA[&#28858;&#20160;&#40636;&#20320;&#30340; Stack &#36984;&#25799;&#65292;&#27770;&#23450;&#20102; Agent &#33021;&#36208;&#22810;&#36960;&#65311;]]></description><link>https://replware.substack.com/p/agent-ready-stack</link><guid isPermaLink="false">https://replware.substack.com/p/agent-ready-stack</guid><dc:creator><![CDATA[Laurence Chen]]></dc:creator><pubDate>Sun, 10 May 2026 23:01:44 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!OVj5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9c9bea5-b76d-4388-80f6-e80740ae9fd5_1260x838.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#26368;&#36817;&#24120;&#24120;&#30475;&#21040;&#21029;&#20154;&#20998;&#20139;&#20182;&#20497;&#29992; vibe coding &#25171;&#36896;&#30340;&#25033;&#29992;&#31243;&#24335;&#65292;&#19968;&#26041;&#38754;&#25105;&#24685;&#21916;&#20182;&#20497;&#65292;&#30050;&#31455;&#22914;&#26524;&#26159;&#29983;&#24179;&#31532;&#19968;&#27425;&#21205;&#25163;&#20570;&#20986;&#33258;&#24049;&#30340;&#24819;&#35201;&#30340;&#29986;&#21697;&#65292;&#36889;&#31278;&#39636;&#39511;&#26159;&#36899;&#35377;&#22810;&#23500;&#35946;&#37117;&#26371;&#36305;&#19979;&#20358;&#29609;&#30340;&#12290;&#21478;&#19968;&#26041;&#38754;&#65292;&#20182;&#20497;&#24120;&#24120;&#26371;&#35611;&#65292;&#36984;&#25799;&#30340; tech stack &#26159; TypeScript/React + Supabase &#65292;&#20284;&#20046;&#26159; Lovable &#25110;&#26159; Cursor &#30340;&#25512;&#34214;&#65292;&#36889;&#40670;&#35731;&#25105;&#20840;&#36523;&#19981;&#23565;&#21185;&#65292;&#22240;&#28858;&#26126;&#26126;&#23601;&#26377;&#26356;&#22909;&#12289;&#23565; AI agent &#26356;&#21152;&#21451;&#21892;&#12289;&#26356;&#21152;&#20195;&#29702;&#23601;&#32210; (agent-ready) &#30340;&#36984;&#38917;&#12290;</p><h2><strong>Context Window &#30340;&#37325;&#35201;&#24615;</strong></h2><p>&#22312;&#35527;&#12300;&#21738;&#20491; tech stack &#26356;&#21152; agent-ready&#12301;&#20043;&#21069;&#65292;&#20808;&#35201;&#24314;&#31435;&#19968;&#20491;&#22522;&#30990;&#35469;&#30693;&#65306;<strong>context &#30340;&#22823;&#23567;&#65292;&#30452;&#25509;&#27770;&#23450;&#20102; AI agent &#33021;&#20570;&#20570;&#24471;&#22810;&#22909;&#12290;</strong></p><p>&#36889;&#19981;&#21482;&#26159;&#30452;&#35258;&#65292;&#26159;&#26377;&#23526;&#39511;&#25976;&#25818;&#25903;&#25744;&#30340;&#12290;LongCodeBench &#30340;&#30740;&#31350;&#30332;&#29694;&#65292;Claude 3.5 Sonnet &#22312; bug fixing &#20219;&#21209;&#19978;&#65292;context &#24478; 32K &#22686;&#21152;&#21040; 256K &#26178;&#65292;&#28310;&#30906;&#29575;&#24478; 29% &#23849;&#36300;&#33267; 3%&#8212;&#8212;&#19981;&#26159;&#37002;&#38555;&#34928;&#28187;&#65292;&#26159;&#23849;&#28528;&#24335;&#34928;&#28187;&#12290;Chroma &#28204;&#35430;&#20102; 18 &#20491;&#21069;&#27839;&#27169;&#22411;&#65292;&#27599;&#19968;&#20491;&#37117;&#26377;&#36889;&#20491;&#29694;&#35937;&#65292;&#27794;&#26377;&#20363;&#22806;&#12290;</p><p>&#26356;&#31967;&#30340;&#26159;&#65292;coding agent &#30340;&#24037;&#20316;&#27169;&#24335;&#26371;&#20027;&#21205;&#21152;&#36895;&#36889;&#20491;&#34928;&#28187;&#12290;&#27599;&#19968;&#27425; tool call&#12289;&#27599;&#19968;&#27425; file read&#12289;&#27599;&#19968;&#27425; error message&#65292;&#37117;&#26371;&#30041;&#22312; context &#35041;&#12290;&#19968;&#20491;&#36305; 30 &#27493;&#30340; agent session&#65292;context &#28040;&#32791;&#21487;&#33021;&#26159;&#21934;&#27425;&#23565;&#35441;&#30340;&#21313;&#20493;&#20197;&#19978;&#12290;</p><p>&#25152;&#20197;&#21839;&#38988;&#20358;&#20102;&#65306;<strong>context window &#30340;&#28040;&#32791;&#36895;&#24230;&#65292;&#24456;&#22823;&#31243;&#24230;&#19978;&#21462;&#27770;&#26044;&#20320;&#36984;&#30340; stack&#12290;</strong></p><p>AI &#22312;&#25512;&#34214; tech stack &#26178;&#65292;&#20670;&#21521;&#26044;&#25512;&#34214;&#35347;&#32244;&#36039;&#26009;&#26368;&#22810;&#30340;&#36984;&#38917;&#8212;&#8212;TypeScript + React + Supabase &#23601;&#26159;&#36889;&#27171;&#34987;&#25512;&#21040;&#20027;&#27969;&#30340;&#12290;&#36889;&#20491;&#37007;&#36655;&#26159;&#12300;&#35347;&#32244;&#36039;&#26009;&#22810; &#8594; &#29983;&#25104;&#25104;&#21151;&#29575;&#39640; &#8594; &#30475;&#36215;&#20358;&#26159;&#22909;&#24314;&#35696;&#12301;&#12290;&#20294;&#36889;&#20491;&#37007;&#36655;&#26377;&#19968;&#20491;&#38577;&#34255;&#20551;&#35373;&#65306;&#12300;&#29983;&#25104;&#23481;&#26131;&#12301;&#31561;&#21516;&#26044;&#12300;&#38263;&#26399; AI &#36628;&#21161;&#38283;&#30332;&#25928;&#29575;&#39640;&#12301;&#12290;</p><p>&#36889;&#20491;&#20551;&#35373;&#26159;&#37679;&#30340;&#12290;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!OVj5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9c9bea5-b76d-4388-80f6-e80740ae9fd5_1260x838.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!OVj5!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9c9bea5-b76d-4388-80f6-e80740ae9fd5_1260x838.png 424w, https://substackcdn.com/image/fetch/$s_!OVj5!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9c9bea5-b76d-4388-80f6-e80740ae9fd5_1260x838.png 848w, https://substackcdn.com/image/fetch/$s_!OVj5!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9c9bea5-b76d-4388-80f6-e80740ae9fd5_1260x838.png 1272w, https://substackcdn.com/image/fetch/$s_!OVj5!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9c9bea5-b76d-4388-80f6-e80740ae9fd5_1260x838.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!OVj5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9c9bea5-b76d-4388-80f6-e80740ae9fd5_1260x838.png" width="1260" height="838" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e9c9bea5-b76d-4388-80f6-e80740ae9fd5_1260x838.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:838,&quot;width&quot;:1260,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2406598,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://replware.substack.com/i/197080709?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9c9bea5-b76d-4388-80f6-e80740ae9fd5_1260x838.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!OVj5!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9c9bea5-b76d-4388-80f6-e80740ae9fd5_1260x838.png 424w, https://substackcdn.com/image/fetch/$s_!OVj5!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9c9bea5-b76d-4388-80f6-e80740ae9fd5_1260x838.png 848w, https://substackcdn.com/image/fetch/$s_!OVj5!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9c9bea5-b76d-4388-80f6-e80740ae9fd5_1260x838.png 1272w, https://substackcdn.com/image/fetch/$s_!OVj5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9c9bea5-b76d-4388-80f6-e80740ae9fd5_1260x838.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2><strong>Context Efficiency &#26159;&#26694;&#26550;&#36984;&#25799;&#30340;&#38364;&#37749;&#32173;&#24230;</strong></h2><p>AI &#35201;&#23436;&#25104;&#19968;&#20491;&#20219;&#21209;&#65292;&#19981;&#38656;&#35201;&#35712;&#25972;&#20491; codebase&#65292;&#21482;&#38656;&#35201;&#35712;&#12300;&#20219;&#21209;&#30456;&#38364;&#30340;&#37027;&#24190;&#20491;&#27284;&#26696;&#12301;&#8212;&#8212;&#25105;&#20497;&#21487;&#20197;&#31281;&#20043;&#28858;<strong>&#23616;&#37096;&#23376;&#22294;&#65288;task-relevant subgraph&#65289;</strong>&#12290;&#36889;&#20491;&#23376;&#22294;&#30340;&#22823;&#23567;&#65292;&#30452;&#25509;&#27770;&#23450;&#20102; context &#30340;&#28040;&#32791;&#37327;&#12290;</p><p>&#38364;&#37749;&#22312;&#26044;&#65306;<strong>&#23616;&#37096;&#23376;&#22294;&#30340;&#22823;&#23567;&#65292;&#26159;&#30001;&#26694;&#26550;&#30340;&#26550;&#27083;&#35373;&#35336;&#27770;&#23450;&#30340;&#65292;&#32780;&#19981;&#26159;&#30001;&#27169;&#22411;&#27770;&#23450;&#30340;&#12290;</strong></p><p>TypeScript + React + Supabase &#30340;&#21839;&#38988;&#22312;&#26044;&#65292;&#19968;&#20491;&#21151;&#33021;&#22825;&#29983;&#23601;&#26371;&#27243;&#36328;&#22810;&#20491;&#23652;&#27425;&#8212;&#8212;component&#12289;hook&#12289;state&#12289;api client&#12289;type definition&#8212;&#8212;&#27599;&#19968;&#20491;&#37117;&#22312;&#19981;&#21516;&#30340;&#27284;&#26696;&#35041;&#12290;&#23616;&#37096;&#23376;&#22294;&#19968;&#38283;&#22987;&#23601;&#24456;&#22823;&#65292;&#32780;&#19988;&#38568;&#33879;&#23560;&#26696;&#35215;&#27169;&#22686;&#38263;&#65292;&#20849;&#29992;&#30340;&#20381;&#36084; (shared dependencies) &#36234;&#20358;&#36234;&#22810;&#65292;&#23376;&#22294;&#21482;&#26371;&#36234;&#20358;&#36234;&#22823;&#12290;</p><p>&#36889;&#23601;&#26159;&#28858;&#20160;&#40636;&#12300;&#35347;&#32244;&#36039;&#26009;&#26368;&#22810;&#30340; stack&#12301;&#19981;&#31561;&#26044;&#12300;&#26368; agent-ready &#30340; stack&#12301;&#12290;</p><h2><strong>&#21738;&#20123;&#26550;&#27083;&#35373;&#35336;&#65292;&#23565; Agent &#26356;&#21451;&#21892;</strong></h2><p>&#25105;&#20491;&#20154;&#24120;&#29992;&#30340; tech stack &#65292;&#26159; <a href="https://stack.bogoyavlensky.com/">Clojure Stack Lite</a> &#65292;&#32780;&#23427;&#33267;&#23569;&#26377;&#19977;&#20491;&#35373;&#35336;&#36984;&#25799;&#65292;&#21487;&#20197;&#32302;&#23567;&#23616;&#37096;&#23376;&#22294;&#65292;&#28187;&#23569; context &#30340;&#28040;&#32791;&#65306;HTMX&#12289;HoneySQL&#12289;Blocking IO &#12290;</p><h3><strong>HTMX&#65306;&#29992; curl &#39511;&#35657;&#21069;&#31471;&#65292;&#19981;&#38656;&#35201;&#27169;&#25836; client state</strong></h3><p>React &#25033;&#29992;&#31243;&#24335;&#30340;&#21069;&#31471;&#37007;&#36655;&#27963;&#22312; client &#31471;&#65306;<code>useState</code>&#12289;<code>useEffect</code>&#12289;<code>zustand</code>&#12289;<code>react-query</code>&#8212;&#8212;&#36889;&#20123; state &#20998;&#25955;&#22312;&#22810;&#20491;&#27284;&#26696;&#65292;&#20114;&#30456;&#20381;&#36084;&#12290;Agent &#35201;&#39511;&#35657;&#19968;&#20491;&#21151;&#33021;&#26159;&#21542;&#27491;&#30906;&#65292;&#24517;&#38920;&#25226;&#36889;&#20123;&#20840;&#37096;&#24118;&#20837; context&#65292;&#36996;&#35201;&#27169;&#25836; browser &#30340;&#34892;&#28858;&#12290;</p><p>HTMX &#30340;&#27169;&#22411;&#23436;&#20840;&#19981;&#21516;&#12290;&#25152;&#26377;&#30340;&#20114;&#21205;&#34892;&#28858;&#30001; server response &#39493;&#21205;&#65292;&#21069;&#31471;&#24190;&#20046;&#27794;&#26377;&#29376;&#24907;&#12290;&#36889;&#24118;&#20358;&#19968;&#20491;&#38750;&#24120;&#23526;&#38555;&#30340;&#22909;&#34389;&#65306;<strong>agent &#21487;&#20197;&#30452;&#25509;&#29992; curl &#39511;&#35657;&#21151;&#33021;&#12290;</strong></p><pre><code><code># &#39511;&#35657;&#19968;&#20491;&#30331;&#20837;&#21151;&#33021;&#26159;&#21542;&#27491;&#24120;
curl -X POST http://localhost:3000/login \
  -d "email=test@example.com&amp;password=secret"</code></code></pre><p>response &#23601;&#26159; HTML fragment&#65292;&#23565;&#23601;&#26159;&#23565;&#65292;&#37679;&#23601;&#26159;&#37679;&#65292;&#19981;&#38656;&#35201;&#21855;&#21205; browser&#12289;&#19981;&#38656;&#35201;&#27169;&#25836; React render&#12289;&#19981;&#38656;&#35201;&#36861;&#36452; client state&#12290;</p><p>&#23565; agent &#20358;&#35498;&#65292;&#36889;&#24847;&#21619;&#33879;&#39511;&#35657;&#34892;&#28858;&#26412;&#36523;&#23601;&#30456;&#23565;&#31680;&#30465; context&#8212;&#8212;curl &#30340; response &#27604; browser DevTools &#30340; output &#23567;&#19968;&#20491;&#25976;&#37327;&#32026;&#12290;</p><h3><strong>HoneySQL&#65306;&#35731; debug &#30340;&#23376;&#22294;&#32302;&#23567;&#19977;&#21040;&#20116;&#20493;</strong></h3><p>ORM &#26159;&#19968;&#20491;&#38364;&#26044; context &#30340;&#38519;&#38449;&#12290;</p><p>&#30070; ORM &#20986;&#29694; N+1 &#21839;&#38988;&#26178;&#65288;&#36889;&#24190;&#20046;&#26159;&#27599;&#20491;&#29992; ORM &#30340;&#23560;&#26696;&#37117;&#26371;&#36935;&#21040;&#30340;&#21839;&#38988;&#65289;&#65292;debug &#36942;&#31243;&#38656;&#35201;&#25226; model definition&#12289;association &#35373;&#23450;&#12289;migration file &#20840;&#37096;&#24118;&#36914; context&#65292;&#22240;&#28858;&#21839;&#38988;&#30340;&#26681;&#28304;&#34255;&#22312; ORM &#30340;&#38577;&#24335;&#34892;&#28858;&#35041;&#8212;&#8212;lazy loading &#22312;&#20320;&#19981;&#27880;&#24847;&#30340;&#22320;&#26041;&#24708;&#24708;&#30332;&#29983;&#12290;</p><p>HoneySQL &#29992; SQL-as-data &#30340;&#26041;&#24335;&#34920;&#36948;&#26597;&#35426;&#65306;</p><pre><code><code>(sql/format {:select [:u.id :u.name :p.title]
             :from   [[:users :u]]
             :join   [[:posts :p][] [:= :u.id :p.user-id]]
             :where  [:= :u.active true]})</code></code></pre><p>&#27794;&#26377; lazy loading&#65292;&#27794;&#26377; association magic&#12290;&#35201;&#25343;&#38364;&#32879;&#36039;&#26009;&#65292;&#20320;&#24517;&#38920;&#26126;&#30906;&#23531; JOIN&#8212;&#8212;N+1 &#19981;&#26371;&#12300;&#19981;&#23567;&#24515;&#12301;&#30332;&#29983;&#65292;&#22240;&#28858;&#20320;&#28961;&#27861;&#22312;&#19981;&#30693;&#24773;&#30340;&#29376;&#27841;&#19979;&#35731;&#23427;&#30332;&#29983;&#12290;</p><p>&#30070;&#30495;&#30340;&#20986;&#29694; query &#21839;&#38988;&#65292;debug &#30340;&#23376;&#22294;&#21482;&#26377;&#19968;&#20491;&#22320;&#26041;&#65306;&#37027;&#20491; query function&#12290;&#19981;&#38656;&#35201;&#36861;&#36452; ORM &#30340; model &#23450;&#32681;&#65292;&#19981;&#38656;&#35201;&#30475; association &#35373;&#23450;&#12290;<strong>&#23376;&#22294;&#24478;&#20116;&#20491;&#27284;&#26696;&#35722;&#25104;&#19968;&#20491;&#27284;&#26696;&#12290;</strong></p><h3><strong>Blocking IO&#65306;&#35731; Error &#23565; Agent &#21487;&#35211;</strong></h3><p>Async &#27169;&#22411;&#26377;&#19968;&#20491;&#32080;&#27083;&#24615;&#29305;&#24501;&#65292;&#19981;&#26159;&#23531;&#27861;&#21839;&#38988;&#65292;&#32780;&#26159;&#35373;&#35336;&#26412;&#36074;&#65306;<strong>error path &#26159;&#38577;&#24335;&#30340;&#12290;</strong></p><p>&#22312;&#21516;&#27493;&#31243;&#24335;&#30908;&#35041;&#65292;exception &#21482;&#26377;&#19968;&#26781;&#36335;&#8212;&#8212;&#24448;&#19978;&#20659;&#65292;&#30452;&#21040;&#34987; catch&#12290;&#20294;&#22312; async &#27169;&#22411;&#35041;&#65292;&#27599;&#19968;&#20491; async &#21628;&#21483;&#40670;&#37117;&#26159;&#28507;&#22312;&#30340; error &#26039;&#40670;&#12290;&#38283;&#30332;&#32773;&#24517;&#38920;&#22312;&#27599;&#20491;&#22320;&#26041;&#26126;&#30906;&#34389;&#29702;&#65292;&#21542;&#21063; exception &#26371;&#34987;&#23553;&#35037;&#36914; rejected Promise&#65292;&#33287;&#20027;&#27969;&#31243;&#33067;&#37476;&#12290;</p><p>&#22312; Node.js &#35041;&#65292;&#36889;&#20491;&#21839;&#38988;&#30340;&#20856;&#22411;&#22580;&#26223;&#65306;</p><pre><code><code>async function saveUser(data) {
  await db.insert(data);        // throws here
}

async function handleRequest(req) {
  saveUser(req.body);           // missing await &#8212; Promise is detached
  res.json({ ok: true });       // executes normally
}</code></code></pre><p>&#36889;&#27573;&#31243;&#24335;&#30908;&#22312;&#29694;&#20195; Node.js&#65288;v15+&#65289;&#19981;&#26371;&#38748;&#40664;&#28040;&#22833;&#8212;&#8212;runtime &#26371;&#25291;&#20986; <code>UnhandledPromiseRejection</code>&#65292;&#29978;&#33267;&#35731; process crash&#12290;&#20294;&#21839;&#38988;&#19981;&#22312;&#26044; error &#30475;&#19981;&#35211;&#65292;&#32780;&#22312;&#26044;<strong>error &#33287;&#21628;&#21483;&#40670;&#33067;&#37476;</strong>&#65306;crash &#30340; stack trace &#25351;&#21521; <code>saveUser</code> &#20839;&#37096;&#65292;&#32780;&#19981;&#26159; <code>handleRequest</code> &#35041;&#37027;&#34892;&#24536;&#35352; await &#30340;&#22320;&#26041;&#12290;</p><p>&#23565; AI coding agent &#20358;&#35498;&#65292;&#36889;&#26159; context &#36000;&#25812;&#30340;&#20358;&#28304;&#12290;&#35201;&#23450;&#20301;&#26681;&#22240;&#65292;agent &#24517;&#38920;&#65306;</p><ul><li><p>&#36861;&#36452;&#27599;&#19968;&#20491; async &#21628;&#21483;&#40670;&#65292;&#30906;&#35469;&#26159;&#21542;&#26377; await</p></li><li><p>&#23559;&#25972;&#26781;&#21628;&#21483;&#37832;&#19978;&#30340;&#27284;&#26696;&#32013;&#20837; context</p></li><li><p>&#22312;&#27794;&#26377;&#26126;&#30906; error boundary &#30340;&#24773;&#27841;&#19979;&#65292;&#25512;&#26039; error &#24478;&#21738;&#35041;&#33067;&#37476;</p></li></ul><p>&#36889;&#20491;&#36861;&#36452;&#36942;&#31243;&#38656;&#35201;&#30340; context &#23532;&#24230;&#65292;&#38568;&#21628;&#21483;&#37832;&#30340;&#38263;&#24230;&#32218;&#24615;&#22686;&#38263;&#12290;</p><p>Clojure &#30340; blocking IO &#32080;&#27083;&#19981;&#21516;&#12290;exception &#21482;&#26377;&#19968;&#26781; path&#65306;&#24448;&#19978;&#20659;&#65292;&#22312; middleware &#32113;&#19968;&#34389;&#29702;&#12290;&#27794;&#26377; async boundary&#65292;&#23601;&#27794;&#26377;&#33067;&#37476;&#30340;&#21487;&#33021;&#12290;Agent debug &#26178;&#21482;&#38656;&#35201;&#20841;&#20491;&#22320;&#26041;&#65306;<strong>middleware &#30340; log</strong>&#65292;&#20197;&#21450; <strong>log &#25351;&#21521;&#30340;&#21628;&#21483;&#40670;</strong>&#12290;Context &#30340;&#31684;&#22285;&#26159;&#22266;&#23450;&#30340;&#65292;&#19981;&#38568;&#31995;&#32113;&#35215;&#27169;&#25844;&#22823;&#12290;</p><p>&#36889;&#26159;&#20841;&#31278;&#27169;&#22411;&#22312;&#21487;&#38500;&#37679;&#24615;&#19978;&#30340;&#32080;&#27083;&#24046;&#30064;&#65292;&#19981;&#26159; Node.js &#33287; Clojure &#30340;&#35486;&#35328;&#20778;&#21155;&#27604;&#36611;&#12290;</p><h3><strong>&#28858;&#20160;&#40636;&#12302;&#39023;&#24335;&#12303;&#23565; Agent &#36889;&#40636;&#37325;&#35201;</strong></h3><p>&#19978;&#36848;&#19977;&#20491;&#29305;&#33394;&#20854;&#23526;&#26377;&#20849;&#21516;&#30340;&#29305;&#33394;&#65306;<strong>&#38577;&#24335;&#34892;&#28858;&#36234;&#23569;&#65292;agent &#38656;&#35201;&#24118;&#20837; context &#30340;&#31684;&#22285;&#23601;&#36234;&#23567;&#12290;</strong> HTMX &#28040;&#38500;&#20102;&#38577;&#24335; client state&#65292;HoneySQL &#28040;&#38500;&#20102;&#38577;&#24335; lazy loading&#65292;Blocking IO &#28040;&#38500;&#20102;&#38577;&#24335;&#22519;&#34892;&#38918;&#24207;&#33287;&#38577;&#24335; error path&#12290;</p><p>&#36889;&#37002;&#30340;&#37325;&#40670;&#19981;&#26159;&#22312; Clojure &#27604; TypeScript &#22909;&#65292;&#37325;&#40670;&#26159;&#22312;&#26044;&#26694;&#26550;&#35373;&#35336;&#21746;&#23416;&#30340;&#35264;&#23519;&#65306;<strong>&#39023;&#24335;&#20778;&#26044;&#38577;&#24335;&#65292;&#23565;&#20154;&#39006;&#38283;&#30332;&#32773;&#26159;&#32654;&#24503;&#65292;&#23565; AI agent &#26159;&#30906;&#20445;&#23427;&#20497;&#19981;&#26371;&#25552;&#26089;&#35722;&#31528;&#12290;</strong></p><h2><strong>&#38283;&#22987;&#20351;&#29992; Clojure Stack Lite</strong></h2><p>&#22914;&#26524;&#20320;&#23565;&#36889;&#20491;&#26041;&#21521;&#26377;&#33288;&#36259;&#65292;&#26368;&#24555;&#30340;&#26041;&#24335;&#23601;&#26159;&#30452;&#25509;&#35430;&#35430;&#30475;&#12290;Clojure Stack Lite &#21487;&#20197;&#35731;&#20320;&#29992;&#19968;&#20491;&#25351;&#20196;&#29983;&#25104;&#19968;&#20491; agent-ready &#30340; empty &#23560;&#26696;&#65292;&#28982;&#24460;&#25226;&#21097;&#19979;&#30340;&#20107;&#24773;&#20132;&#32102; agent&#12290;</p><p>&#20197;&#19979;&#26159;&#25105;&#30340; vibe coding &#20316;&#27861;&#12290;</p><h3><strong>&#29872;&#22659;&#35373;&#32622;</strong></h3><p>&#29872;&#22659;&#35373;&#32622;&#26377;&#22235;&#20491;&#27493;&#39519;&#65306;</p><ul><li><p>Step 1: &#23559; Claude Code &#30340; model &#35373;&#32622;&#28858; Haiku 4.5 &#12290;&#30001;&#26044;&#22914;&#26524;&#20351;&#29992;&#20102; superpower &#30340;&#35441;&#65292;&#23565; token &#30340;&#28040;&#32791;&#24456;&#28608;&#28872;&#65292;&#25152;&#20197;&#25105;&#20570;&#36889;&#20491;&#35519;&#25972;&#65292;&#32780; greenfield project &#36890;&#24120;&#20063;&#19981;&#38656;&#35201;&#22826;&#35079;&#38620;&#30340;&#25512;&#29702;&#12290;</p></li></ul><pre><code><code>claude 
&gt; /model</code></code></pre><ul><li><p>Step 2: &#22312; Claude Code &#23433;&#35037; superpower &#12290;&#35201;&#35037;&#36889;&#20491;&#30340;&#21407;&#22240;&#26159;&#65306;&#22914;&#26524;&#29992;&#20102; superpower &#30340;&#35441;&#65292;&#30070; Claude Code &#20570; TDD &#26178;&#65292;&#26371;&#20027;&#21205;&#20570; Integration Test&#12290;</p></li></ul><pre><code><code>claude 
&gt; /plugin install superpowers@claude-plugins-official</code></code></pre><ul><li><p>Step 3: &#23433;&#35037; mise &#65292;&#20043;&#24460;&#24190;&#20046;&#25152;&#26377;&#30340;&#22871;&#20214;&#37117;&#21487;&#20197;&#36879;&#36942; mise &#20358;&#23433;&#35037;&#33287;&#31649;&#29702;&#12290;</p></li></ul><pre><code><code>brew install mise</code></code></pre><ul><li><p>Step 4: &#23433;&#35037; neil &#65292;&#22240;&#28858;&#25105;&#35201;&#29992;&#20358;&#29983;&#25104; empty project &#30340; <strong>Clojure Stack Lite</strong> &#35201;&#29992; neil</p></li></ul><pre><code><code>brew install babashka/brew/neil</code></code></pre><p>&#27599;&#20491;&#23560;&#26696;&#21855;&#21205;&#26178;&#65292;&#21063;&#38656;&#35201;&#26377;&#20197;&#19979;&#30340;&#27493;&#39519;&#65306;</p><ul><li><p>Step 1: &#29992; Clojure Stack Lite &#29983;&#25104;&#23560;&#26696; myproject</p></li></ul><pre><code><code>neil new io.github.abogoyavlensky/clojure-stack-lite myproject :auth true</code></code></pre><ul><li><p>Step 2: &#22522;&#26412;&#35373;&#32622;&#33287;&#23433;&#35037;&#36575;&#39636;</p></li></ul><pre><code><code>cd myproject 
mise trust &amp;&amp; mise install</code></code></pre><ul><li><p>Step 3: &#20570;&#20491;&#29256;&#26412;&#25511;&#31649;</p></li></ul><pre><code><code>git init
git add .
git commit -am 'Initial commit'</code></code></pre><p>&#28982;&#24460;&#23601;&#21487;&#20197;&#21483; agent &#38283;&#22987;&#24037;&#20316;&#20102;&#12290;</p><h3><strong>&#36914;&#38542;&#35373;&#32622;</strong></h3><p>&#19978;&#38754;&#26159;&#24555;&#36895;&#36215;&#27493;&#30340;&#35373;&#32622;&#65292;&#32780;&#23526;&#21209;&#19978;&#25105;&#36996;&#26371;&#22312; agent &#27491;&#24335;&#38283;&#22987;&#24037;&#20316;&#20043;&#21069;&#65292;&#20877;&#22810;&#21152;&#35373;&#32622; brepl &#33287; nrepl &#65292;&#36889;&#20027;&#35201;&#26159;&#28858;&#20102;&#35731; Agent &#21487;&#20197;&#36879;&#36942; nrepl &#20358;&#20570;&#24555;&#36895;&#22320;&#25506;&#32034; (&#31680;&#30465; tokens)&#12290;</p><ul><li><p>&#23433;&#35037; brepl</p></li></ul><pre><code><code>curl -fsSL https://raw.githubusercontent.com/licht1stein/brepl/master/brepl -o ~/.local/bin/brepl
chmod +x ~/.local/bin/brepl</code></code></pre><ul><li><p>&#22312;&#23560;&#26696;&#36039;&#26009;&#22846; (myproject) &#35041;&#65292;&#35373;&#32622;&#22909; brepl</p></li></ul><pre><code><code>brepl hooks install</code></code></pre><ul><li><p>&#22312;&#23560;&#26696;&#36039;&#26009;&#22846; (myproject) &#35041;&#30340; deps.edn &#35041;&#65292;&#21152;&#20837; nrepl &#30340;&#20381;&#36084;</p></li></ul><pre><code><code>neil add nrepl</code></code></pre><ul><li><p>&#25163;&#21205;&#20462;&#25913; bb.edn &#65292;&#22686;&#21152;&#19968;&#20491; alias <code>clj-nrepl</code></p></li></ul><pre><code><code> 16    clj-repl {:doc "Run built-in Clojure REPL"
 17              :task (shell "clj -A:dev:test")}                                            
 18                                      
 19 +  clj-nrepl {:doc "Run Clojure REPL with nREPL server"                                  
 20 +             :task (shell "clj -A:dev:test:nrepl")}                                     
 21 +                                                                                        
 22    fmt-check {:doc "Check code formatting"
 23               :task (shell "cljfmt" "check")}</code></code></pre><ul><li><p>&#25163;&#21205;&#20462;&#25913; README.md &#35041;&#65292;&#23559; <code>bb clj-repl</code> &#25913;&#28858; <code>bb clj-nrepl</code></p></li></ul><h3><strong>&#20358;&#32842;&#32842;</strong></h3><p>&#22914;&#26524;&#20320;&#23565; Clojure Stack Lite &#26377;&#33288;&#36259;&#65292;&#25110;&#26159;&#23565; agent-ready-stack &#30340;&#26041;&#21521;&#26377;&#24819;&#27861;&#65292;&#27489;&#36814;&#21152;&#20837; <a href="https://lu.ma/clojuretw">Clojure Taiwan Telegram &#32676;</a>&#19968;&#36215;&#35342;&#35542;&#12290;&#20063;&#21487;&#20197;&#30452;&#25509;&#23531;&#20449;&#32102;&#25105;&#65306;laurence@replware.dev</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://replware.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading REPLWARE! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[AI 代理就緒的企業]]></title><description><![CDATA[Agent-Ready-X &#30340;&#25361;&#25136;&#33287;&#27231;&#26371;]]></description><link>https://replware.substack.com/p/ai-43c</link><guid isPermaLink="false">https://replware.substack.com/p/ai-43c</guid><dc:creator><![CDATA[Laurence Chen]]></dc:creator><pubDate>Sun, 03 May 2026 23:01:16 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Cuy3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff94284af-710e-4c22-8044-3b9b660c6a25_1240x824.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>2025 &#24180;&#24213;&#65292;&#26377;&#19968;&#20214;&#20107;&#24773;&#24708;&#24708;&#22320;&#30332;&#29983;&#20102;&#12290;</p><p>Cursor &#30340;&#20351;&#29992;&#32773;&#25976;&#37327;&#22312;&#24190;&#20491;&#26376;&#20839;&#32763;&#20102;&#22909;&#24190;&#20493;&#12290;GitHub Copilot &#30340; Workspace &#21151;&#33021;&#38283;&#22987;&#26377;&#24037;&#31243;&#24107;&#35469;&#30495;&#22320;&#22312;&#26085;&#24120;&#38283;&#30332;&#20013;&#20351;&#29992;&#12290;&#31038;&#32676;&#23186;&#39636;&#19978;&#65292;&#24037;&#31243;&#24107;&#20497;&#38283;&#22987;&#20998;&#20139;&#35731; AI &#29544;&#31435;&#23436;&#25104;&#25972;&#20491;&#21151;&#33021;&#23526;&#20316;&#30340;&#32147;&#39511;&#65292;&#32780;&#19981;&#21482;&#26159;&#35036;&#20840;&#26576;&#19968;&#34892;&#31243;&#24335;&#30908;&#12290;</p><p>&#19968;&#20301;&#24037;&#31243;&#24107;&#26379;&#21451;&#65292;&#22312; 2025 &#24180;&#24213;&#21578;&#35380;&#25105;&#65306;&#12300;&#26377;&#19968;&#20491;&#20219;&#21209;&#65292;&#25105;&#26412;&#20358;&#38928;&#20272;&#35201;&#20570;&#20841;&#22825;&#65292;&#32080;&#26524;&#35731; agent &#36305;&#20102;&#19968;&#20491;&#26202;&#19978;&#65292;&#26089;&#19978;&#36215;&#20358;&#65292;&#24190;&#20046;&#37117;&#20570;&#23436;&#20102;&#65292;&#32780;&#19988;&#21697;&#36074;&#36996;&#19981;&#37679;&#12290;&#12301;</p><p>&#24478; 2025 &#24180;&#31532;&#22235;&#23395;&#38283;&#22987;&#65292;coding agent &#24478;&#12300;&#26377;&#40670;&#26377;&#29992;&#30340;&#24037;&#20855;&#12301;&#65292;&#31361;&#28982;&#35722;&#25104;&#20102;&#12300;&#35731;&#25972;&#20491;&#38283;&#30332;&#27969;&#31243;&#37325;&#26032;&#35373;&#35336;&#12301;&#30340;&#21147;&#37327;&#12290;</p><h2><strong>&#36889;&#25581;&#31034;&#20102;&#20160;&#40636;&#65311;</strong></h2><blockquote><p>coding agent &#28858;&#20160;&#40636;&#26371;&#22312;&#36889;&#20491;&#26178;&#38291;&#40670;&#22823;&#37327;&#34987;&#25505;&#29992;&#65311;&#32780;&#19988;&#19968;&#36335;&#21521;&#19978;&#12290;</p></blockquote><p>&#34920;&#38754;&#19978;&#30340;&#35299;&#37323;&#26159;&#65306;&#12300;&#27169;&#22411;&#35722;&#24375;&#20102;&#12290;&#12301;&#36889;&#20491;&#35299;&#37323;&#26377;&#19968;&#23450;&#36947;&#29702;&#65292;&#30050;&#31455;&#24478; GPT-4 &#21040; Claude 3.5 Sonnet&#12289;&#20877;&#21040; Claude 3.7 Sonnet &#36889;&#19968;&#20195;&#27169;&#22411;&#65292;&#33021;&#21147;&#30340;&#25552;&#21319;&#26159;&#23526;&#36074;&#19988;&#24040;&#22823;&#30340;&#12290;</p><p>&#26356;&#38364;&#37749;&#30340;&#21839;&#38988;&#26159;&#65306;&#28858;&#20160;&#40636;&#21516;&#19968;&#25209;&#27169;&#22411;&#65292;&#22312;&#24171;&#21161;&#24037;&#31243;&#24107;&#23531;&#31243;&#24335;&#30340;&#26178;&#20505;&#22914;&#27492;&#24375;&#22823;&#65292;&#20294;&#26159;&#22312;&#21332;&#21161;&#20225;&#26989;&#34389;&#29702;&#23458;&#26381;&#27969;&#31243;&#12289;&#25505;&#36092;&#23529;&#25209;&#12289;&#34892;&#37559;&#35215;&#21123;&#30340;&#26178;&#20505;&#65292;&#21371;&#30456;&#23565;&#21463;&#38480;&#35377;&#22810;&#65311;</p><p>&#27169;&#22411;&#27794;&#26377;&#19981;&#21516;&#12290;&#19968;&#27171;&#30340; Claude&#65292;&#19968;&#27171;&#30340; GPT&#12290;&#24046;&#21029;&#19981;&#22312;&#27169;&#22411;&#65292;&#24046;&#21029;&#22312;&#38936;&#22495;&#12290;<strong>&#37027;&#20123;&#36996;&#27794;&#26377;&#34987; agent &#34389;&#29702;&#24471;&#22909;&#30340;&#38936;&#22495; (Domain)&#65292;&#20006;&#19981;&#26159;&#22312;&#31561;&#24453;&#26356;&#22909;&#30340;&#27169;&#22411;&#12290;&#23427;&#20497;&#26159;&#22312;&#31561;&#24453;&#33258;&#24049;&#28310;&#20633;&#22909;&#12290;</strong></p><p>&#36889;&#23601;&#26159;<strong>&#20195;&#29702;&#23601;&#32210;&#65288;agent-ready&#65289;</strong>&#30340;&#27010;&#24565;&#12290;</p><h2><strong>&#20195;&#29702;&#23601;&#32210;&#30340;&#20841;&#20491;&#26781;&#20214;</strong></h2><p>&#19968;&#20491;&#38936;&#22495;&#35201;&#25104;&#28858; agent-ready&#65292;&#33267;&#23569;&#38656;&#35201;&#20841;&#20491;&#26680;&#24515;&#26781;&#20214;&#65306;</p><h3><strong>&#19968;&#12289;Agent &#35201;&#21487;&#20197;&#21462;&#24471; Feedback</strong></h3><p>Coding agent &#20043;&#25152;&#20197;&#26377;&#25928;&#65292;&#19968;&#20491;&#38750;&#24120;&#37325;&#35201;&#30340;&#21407;&#22240;&#26159;&#65306;<strong>&#23427;&#21487;&#20197;&#31435;&#21051;&#30693;&#36947;&#33258;&#24049;&#20570;&#24471;&#23565;&#19981;&#23565;&#12290;</strong></p><p>Agent &#23531;&#20102;&#19968;&#27573;&#31243;&#24335;&#30908;&#65292;&#23601;&#21628;&#21483; compiler &#30475;&#30475;&#26377;&#27794;&#26377; syntax error&#65307;&#23531;&#23436;&#20043;&#24460;&#65292;&#36305; test suite &#30475;&#30475;&#26377;&#27794;&#26377; regression&#65307;&#22914;&#26524;&#25913;&#20102; API&#65292;&#23601;&#36215;&#19968;&#20491; server&#12289;&#25171;&#19968;&#20491; request&#65292;&#30475;&#30475;&#22238;&#20659;&#26159;&#21542;&#27491;&#30906;&#12290;</p><p>&#25972;&#20491;&#36942;&#31243;&#35041;&#65292;feedback &#38750;&#24120;&#26126;&#30906;&#65292;&#32780;&#19988;&#26159;&#21363;&#26178;&#30340;&#12290;&#36889;&#20491;&#29305;&#24615;&#35731; agent &#21487;&#20197;&#36914;&#20837;&#19968;&#20491;&#38750;&#24120;&#30701;&#30340;&#12300;&#34892;&#21205; &#8594; &#35264;&#23519; &#8594; &#20462;&#27491;&#12301;&#24490;&#29872;&#12290;</p><p>&#32780;&#29694;&#22312;&#22810;&#25976;&#20844;&#21496;&#30340; CRM &#31995;&#32113;&#35041;&#30340;&#37559;&#21806;&#27969;&#31243;&#65292;&#21487;&#20197;&#35731; agent &#20570;&#19968;&#20491;&#25805;&#20316;&#12289;&#28982;&#24460;&#31435;&#21051;&#30693;&#36947;&#32080;&#26524;&#27491;&#30906;&#19981;&#27491;&#30906;&#21966;&#65311;&#20320;&#30340;&#25505;&#36092;&#23529;&#25209;&#27969;&#31243;&#65292;&#26377;&#27794;&#26377;&#20219;&#20309; CLI &#21487;&#20197;&#21628;&#21483;&#65292;&#35731; agent &#30906;&#35469;&#19968;&#20491;&#21205;&#20316;&#26159;&#21542;&#25104;&#21151;&#65311;</p><p>&#22823;&#22810;&#25976;&#20225;&#26989;&#30340;&#31572;&#26696;&#26159;&#65306;&#27794;&#26377;&#12290;</p><h3><strong>&#20108;&#12289;Agent &#35201;&#21487;&#20197;&#21462;&#24471; Context</strong></h3><p>&#36889;&#26159;&#31532;&#20108;&#20491;&#26781;&#20214;&#65292;&#20063;&#26159;&#26356;&#38627;&#28415;&#36275;&#30340;&#37027;&#19968;&#20491;&#12290;</p><p>Coding agent &#28858;&#20160;&#40636;&#33021;&#29702;&#35299;&#19968;&#27573;&#38476;&#29983;&#30340;&#31243;&#24335;&#30908;&#65311;&#22240;&#28858;<strong>&#31243;&#24335;&#30908;&#26412;&#36523;&#23601;&#26159; formal language</strong>&#12290;&#20989;&#25976;&#21517;&#31281;&#26377;&#35486;&#24847;&#65292;&#36039;&#26009;&#32080;&#27083;&#26377;&#23450;&#32681;&#65292;&#21628;&#21483;&#38364;&#20418;&#26159;&#39023;&#24335;&#30340;&#12290;&#30070; agent &#35712;&#20102;&#31243;&#24335;&#30908;&#65292;&#23601;&#21487;&#20197;&#30456;&#30070;&#31243;&#24230;&#22320;&#29702;&#35299;&#23427;&#30340; what&#65288;&#36889;&#27573;&#31243;&#24335;&#30908;&#20570;&#20160;&#40636;&#65289;&#12289;how&#65288;&#29992;&#20160;&#40636;&#26041;&#24335;&#20570;&#65289;&#12289;&#29978;&#33267; why&#65288;&#28858;&#20160;&#40636;&#36889;&#27171;&#35373;&#35336;&#65289;&#12290;</p><p>&#36889;&#19981;&#26159;&#20598;&#28982;&#12290;&#31243;&#24335;&#35486;&#35328;&#26412;&#20358;&#23601;&#26159;&#28858;&#20102;&#35731;&#27231;&#22120;&#65288;&#21644;&#20154;&#65289;&#37117;&#33021;&#29702;&#35299;&#32780;&#35373;&#35336;&#30340;&#12290;&#23427;&#22825;&#28982;&#23601;&#26159;&#32080;&#27083;&#21270;&#30340;&#12289;&#35486;&#24847;&#28165;&#26224;&#30340;&#12290;</p><p>&#20294;&#20225;&#26989;&#35041;&#22823;&#22810;&#25976;&#30340;&#26989;&#21209;&#30693;&#35672;&#65292;&#20006;&#19981;&#26159;&#36889;&#27171;&#30340;&#12290;</p><p>&#25505;&#36092;&#27969;&#31243;&#30340;&#35215;&#21063;&#25955;&#33853;&#22312;&#21508;&#31278; Word &#25991;&#20214;&#12289;&#38651;&#23376;&#37109;&#20214;&#21644;&#21729;&#24037;&#30340;&#33126;&#34955;&#35041;&#12290;&#12300;&#23458;&#25142; A &#36319;&#25105;&#20497;&#26377;&#29305;&#27530;&#32004;&#23450;&#65292;&#36229;&#36942;&#19968;&#23450;&#37329;&#38989;&#30340;&#35330;&#21934;&#65292;&#35201;&#25552;&#21069;&#19977;&#22825;&#36890;&#30693;&#12301;&#8212;&#8212;&#36889;&#31278;&#30693;&#35672;&#65292;&#36890;&#24120;&#26681;&#26412;&#27794;&#26377;&#34987;&#32080;&#27083;&#21270;&#20786;&#23384;&#12290;</p><p>&#36889;&#23601;&#26159; agent-ready &#30340;&#26412;&#36074;&#25361;&#25136;&#65306;<strong>&#24456;&#22810;&#20225;&#26989;&#30340;&#30693;&#35672;&#65292;&#29694;&#22312;&#30340;&#23384;&#22312;&#30340;&#24418;&#24335;&#21482;&#36969;&#21512;&#35731;&#20154;&#29702;&#35299;&#65292;&#19981;&#36969;&#21512;&#35731; agent &#29702;&#35299;&#12290;</strong></p><h2><strong>&#20195;&#29702;&#23601;&#32210;&#30340;&#36039;&#26009;&#20489;&#20786;</strong></h2><p>&#23531;&#31243;&#24335;&#20063;&#35377;&#38626;&#19968;&#33324;&#20154;&#36611;&#36960;&#65292;&#20877;&#24478;&#19968;&#20491;&#30456;&#23565;&#26377;&#27231;&#26371;&#12300;&#20195;&#29702;&#23601;&#32210;&#12301;&#30340;&#20363;&#23376;&#20358;&#35498;&#26126;&#65306;&#36039;&#26009;&#20489;&#20786;&#12290;</p><p>Text-to-SQL &#26159;&#19968;&#20491;&#24456;&#32654;&#22909;&#30340;&#24819;&#27861;&#65306;&#12300;&#35731;&#20351;&#29992;&#32773;&#29992;&#33258;&#28982;&#35486;&#35328;&#21839;&#21839;&#38988;&#65292;AI &#33258;&#21205;&#36681;&#25104; SQL &#26597;&#35426;&#65292;&#24478;&#36039;&#26009;&#24235;&#35041;&#21462;&#24471;&#31572;&#26696;&#12290;&#12301;&#20197;&#20170;&#26085;&#30340;&#27169;&#22411;&#20358;&#35611;&#65292;&#23531; SQL &#19981;&#26159;&#38627;&#20107;&#65292;&#20294; Text-to-SQL &#35201;&#22312;&#20225;&#26989;&#25104;&#21151;&#22320;&#33853;&#22320;&#65292;&#21371;&#20173;&#28982;&#22256;&#38627;&#37325;&#37325;&#12290;</p><p>&#21839;&#38988;&#19981;&#26159;&#22312;&#26044;&#27169;&#22411;&#19981;&#22816;&#32880;&#26126;&#65292;&#32780;&#26159;&#22312;&#26044; <strong>context &#19981;&#22816;</strong>&#12290;</p><p>&#20320;&#21839; AI&#65306;&#12300;&#19978;&#20491;&#23395;&#24230;&#65292;&#25105;&#20497;&#30340;&#23458;&#25142;&#27969;&#22833;&#29575;&#26159;&#22810;&#23569;&#65311;&#12301;</p><p>AI &#24517;&#38920;&#30693;&#36947;&#24456;&#22810;&#20107;&#24773;&#65292;&#25165;&#33021;&#25226;&#36889;&#21477;&#35441;&#36681;&#25104;&#27491;&#30906;&#30340; SQL&#65306;</p><ul><li><p>&#12300;&#23458;&#25142;&#12301;&#22312;&#36889;&#23478;&#20844;&#21496;&#30340;&#36039;&#26009;&#24235;&#35041;&#65292;&#23565;&#25033;&#30340;&#26159;&#21738;&#19968;&#24373;&#36039;&#26009;&#34920;&#65311;&#26159; <code>users</code>&#12289;<code>accounts</code>&#12289;&#36996;&#26159; <code>customers</code>&#65311;</p></li><li><p>&#12300;&#27969;&#22833;&#12301;&#30340;&#23450;&#32681;&#26159;&#20160;&#40636;&#65311;&#26159;&#36229;&#36942; 90 &#22825;&#27794;&#26377;&#30331;&#20837;&#65311;&#26159;&#20027;&#21205;&#21462;&#28040;&#35330;&#38321;&#65311;&#36996;&#26159;&#36899;&#32396;&#19977;&#20491;&#26376;&#28040;&#36027;&#37329;&#38989;&#28858;&#38646;&#65311;</p></li><li><p>&#12300;&#19978;&#20491;&#23395;&#24230;&#12301;&#30340;&#35336;&#31639;&#37007;&#36655;&#26159;&#20160;&#40636;&#65311;&#26159;&#33258;&#28982;&#23395;&#65311;&#36996;&#26159;&#20844;&#21496;&#33258;&#23450;&#32681;&#30340;&#36001;&#26371;&#23395;&#24230;&#65311;</p></li><li><p>&#22914;&#26524;&#12300;&#23458;&#25142;&#27969;&#22833;&#29575;&#12301;&#26159;&#19968;&#20491;&#36328;&#22810;&#24373;&#36039;&#26009;&#34920;&#30340;&#35336;&#31639;&#65292;join &#30340;&#26781;&#20214;&#26159;&#20160;&#40636;&#12289;&#20998;&#27597;&#26159;&#20160;&#40636;&#12289;&#20998;&#23376;&#26159;&#20160;&#40636;&#65311;</p></li></ul><p>&#36889;&#20123;&#30693;&#35672;&#65292;&#19981;&#22312; SQL schema &#35041;&#12290;SQL schema &#21482;&#21578;&#35380;&#20320;&#36039;&#26009;&#34920;&#26377;&#21738;&#20123;&#27396;&#20301;&#65292;&#19981;&#21578;&#35380;&#20320;&#36889;&#20123;&#27396;&#20301;&#30340;&#26989;&#21209;&#35486;&#24847;&#12290;</p><p>&#36889;&#27491;&#26159;&#28858;&#20160;&#40636;&#65292;&#24819;&#35201;&#35731; Text-to-SQL &#21487;&#38752;&#22320;&#36939;&#20316;&#65292;&#24448;&#24448;&#38656;&#35201;&#20808;&#23566;&#20837;<strong>&#29694;&#20195;&#36039;&#26009;&#26855; (Modern Data Stack)</strong>&#12290;&#19968;&#26086;&#26377;&#20102;&#39006;&#20284; dbt &#36889;&#27171;&#30340;&#24037;&#20855;&#65292;&#35731;&#20998;&#26512;&#24037;&#31243;&#24107;&#22312;&#25776;&#23531; data model &#30340;&#26178;&#20505;&#65292;&#21516;&#26178;&#24314;&#31435;&#35443;&#30433;&#30340; metadata&#12290;</p><p>&#19968;&#20491;&#35373;&#35336;&#22909;&#30340; dbt model&#65292;&#23427;&#30340;&#27396;&#20301;&#35498;&#26126;&#21487;&#33021;&#38263;&#36889;&#27171;&#65306;</p><pre><code>- name: churned_at
  description: &gt;
    &#23458;&#25142;&#27969;&#22833;&#30340;&#26178;&#38291;&#25139;&#35352;&#12290;&#23450;&#32681;&#28858;&#35330;&#38321;&#29376;&#24907;&#36681;&#28858; &#8216;cancelled&#8217; &#19988;&#36229;&#36942; 30 &#22825;&#26410;&#37325;&#26032;&#35330;&#38321;&#30340;&#26178;&#38291;&#40670;&#12290;
    &#33509;&#23458;&#25142;&#23578;&#26410;&#27969;&#22833;&#65292;&#27492;&#27396;&#20301;&#28858; NULL&#12290;
    &#35336;&#31639;&#37007;&#36655;&#21443;&#32771; finance team 2024-Q2 &#30340;&#23450;&#32681;&#25991;&#20214;&#12290;</code></pre><p>&#36889;&#27573;&#25551;&#36848;&#65292;&#23601;&#26159;&#22312;&#25226;&#26989;&#21209;&#35486;&#24847;&#65292;&#32080;&#27083;&#21270;&#22320;&#38468;&#33879;&#22312;&#36039;&#26009;&#19978;&#12290;&#26377;&#20102;&#36889;&#27171;&#30340; metadata&#65292;AI &#25165;&#26377;&#36275;&#22816;&#30340; context &#20358;&#29983;&#25104;&#27491;&#30906;&#30340; SQL&#12290;</p><p>&#28982;&#32780;&#65292;&#36889;&#37002;&#26377;&#19968;&#20491;&#25361;&#25136;&#65306;&#12300; dbt Model &#30340; metadata &#35201;&#22914;&#20309;&#29983;&#25104;&#21602;&#65311;&#12301;</p><p>&#36889;&#37002;&#24341;&#29992;&#12296;<a href="https://replware.substack.com/p/6ca">&#20998;&#26512;&#24037;&#31243;&#24107;</a>&#12297;&#19968;&#25991;&#35041;&#26377;&#35527;&#21040;&#30340;&#65306;&#20998;&#26512;&#24037;&#31243;&#24107;&#30340;&#26680;&#24515;&#20729;&#20540;&#65292;&#22312;&#26044;&#20182;&#21516;&#26178;&#25026;&#26989;&#21209;&#21644;&#25216;&#34899;&#8212;&#8212;&#33021;&#22816;&#25226;&#26989;&#21209;&#37096;&#38272;&#30340;&#35486;&#24847;&#38656;&#27714;&#65292;&#36681;&#21270;&#25104;&#36039;&#26009;&#27169;&#22411;&#30340;&#23450;&#32681;&#12290;&#36889;&#20491;&#33021;&#21147;&#65292;&#22312; agent-ready &#30340;&#36039;&#26009;&#20489;&#20786;&#35041;&#65292;&#35722;&#24471;&#27604;&#20197;&#24448;&#26356;&#21152;&#37325;&#35201;&#12290;&#27794;&#26377;&#36889;&#27171;&#30340;&#20154;&#22312;&#20013;&#38291;&#25645;&#27211;&#65292;AI &#23601;&#31639;&#20877;&#32880;&#26126;&#65292;&#20063;&#19981;&#30693;&#36947;&#12300;&#27969;&#22833;&#12301;&#22312;&#36889;&#23478;&#20844;&#21496;&#30340;&#24847;&#24605;&#26159;&#20160;&#40636;&#12290;</p><p>&#36039;&#26009;&#20489;&#20786;&#35201;&#35722;&#25104; agent-ready&#65292;&#38656;&#35201;&#30340;&#19981;&#21482;&#26159; Text to SQL &#30340;&#31995;&#32113;&#65292;&#26356;&#38656;&#35201;&#30340;&#26159;&#65292;&#26377;&#20154;&#19968;&#27493;&#19968;&#27493;&#25226;&#26989;&#21209;&#35486;&#24847;&#37328;&#28165;&#65292;&#20180;&#32048;&#22320;&#23531;&#36914; metadata&#12290;&#36889;&#24456;&#21487;&#33021;&#26159;&#20998;&#26512;&#24037;&#31243;&#24107;&#30340;&#24037;&#20316;&#65292;&#22240;&#28858;&#26159;&#19968;&#38917;&#38656;&#35201;&#21516;&#26178;&#25026;&#25216;&#34899;&#21644;&#26989;&#21209;&#30340;&#20154;&#25165;&#33021;&#20570;&#22909;&#30340;&#24037;&#20316;&#12290;</p><p><em>&#22914;&#26524;&#20320;&#27491;&#22312;&#35413;&#20272;&#24478;&#36039;&#26009;&#20489;&#20786;&#38283;&#22987;&#20999;&#20837;&#20195;&#29702;&#23601;&#32210; (Agent-Ready-Data)&#65292;&#20006;&#32771;&#24942;&#23566;&#20837;&#36039;&#26009;&#24179;&#21488;&#65292;&#12298;<a href="https://www.books.com.tw/products/0011032047">&#24478;&#35430;&#31639;&#34920;&#21040;&#36039;&#26009;&#24179;&#21488;</a>&#12299;&#35041;&#26377;&#31995;&#32113;&#24615;&#22320;&#35342;&#35542; Modern Data Stack &#30340;&#23566;&#20837;&#33287;&#25033;&#29992;&#65292;&#21253;&#25324;&#25216;&#34899;&#36984;&#22411;&#12289;&#36039;&#26009;&#20998;&#26512;&#33287;&#32068;&#32340;&#25512;&#21205;&#12290;</em></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Cuy3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff94284af-710e-4c22-8044-3b9b660c6a25_1240x824.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Cuy3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff94284af-710e-4c22-8044-3b9b660c6a25_1240x824.png 424w, https://substackcdn.com/image/fetch/$s_!Cuy3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff94284af-710e-4c22-8044-3b9b660c6a25_1240x824.png 848w, https://substackcdn.com/image/fetch/$s_!Cuy3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff94284af-710e-4c22-8044-3b9b660c6a25_1240x824.png 1272w, https://substackcdn.com/image/fetch/$s_!Cuy3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff94284af-710e-4c22-8044-3b9b660c6a25_1240x824.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Cuy3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff94284af-710e-4c22-8044-3b9b660c6a25_1240x824.png" width="1240" height="824" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f94284af-710e-4c22-8044-3b9b660c6a25_1240x824.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:824,&quot;width&quot;:1240,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2208585,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://replware.substack.com/i/196115070?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff94284af-710e-4c22-8044-3b9b660c6a25_1240x824.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Cuy3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff94284af-710e-4c22-8044-3b9b660c6a25_1240x824.png 424w, https://substackcdn.com/image/fetch/$s_!Cuy3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff94284af-710e-4c22-8044-3b9b660c6a25_1240x824.png 848w, https://substackcdn.com/image/fetch/$s_!Cuy3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff94284af-710e-4c22-8044-3b9b660c6a25_1240x824.png 1272w, https://substackcdn.com/image/fetch/$s_!Cuy3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff94284af-710e-4c22-8044-3b9b660c6a25_1240x824.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2><strong>&#20195;&#29702;&#23601;&#32210;&#30340;&#20225;&#26989;</strong></h2><p>&#22914;&#26524;&#25226; Agent-Ready-X &#26694;&#26550;&#24478;&#36039;&#26009;&#20489;&#20786;&#24310;&#20280;&#21040;&#25972;&#38291;&#20225;&#26989;&#65292;&#21839;&#38988;&#26371;&#35722;&#24471;&#26356;&#35079;&#38620;&#65292;&#36996;&#26159;&#26356;&#28165;&#26224;&#21602;&#65311;</p><h3><strong>&#23458;&#25142;&#38364;&#20418;&#31649;&#29702;&#65288;CRM&#65289;</strong></h3><p>Salesforce &#26159;&#20840;&#29699;&#26368;&#22823;&#30340; CRM &#24179;&#21488;&#65292;&#29702;&#35542;&#19978;&#20855;&#20633;&#25104;&#28858; agent-ready &#31995;&#32113;&#30340;&#26781;&#20214;&#12290;</p><p>&#28982;&#32780;&#29694;&#23526;&#30340;&#25361;&#25136;&#22312;&#26044;&#65306;&#30070;&#19968;&#20301;&#26989;&#21209;&#21729;&#22312; Salesforce &#35041;&#26356;&#26032;&#20102;&#19968;&#20491; opportunity &#30340;&#38542;&#27573;&#65292;&#36889;&#20491;&#21205;&#20316;&#21487;&#33021;&#35320;&#30332;&#36890;&#30693;&#12289;&#26356;&#26032;&#22577;&#34920;&#65292;&#25110;&#32773;&#20160;&#40636;&#37117;&#19981;&#20570;&#8212;&#8212;&#21462;&#27770;&#26044;&#36889;&#23478;&#20844;&#21496;&#22914;&#20309;&#35373;&#23450;&#33258;&#21205;&#21270;&#35215;&#21063;&#12290;&#36889;&#20123;&#35215;&#21063;&#20998;&#25955;&#22312; Flow&#12289;Validation Rule&#12289;Apex Trigger &#31561;&#19981;&#21516;&#27231;&#21046;&#35041;&#65292;&#36879;&#36942; UI &#24314;&#31435;&#65292;&#38614;&#28982;&#25216;&#34899;&#19978;&#21487;&#20197;&#36879;&#36942; Metadata API &#25110; Salesforce CLI &#21295;&#20986;&#65292;&#20294;&#26684;&#24335;&#20006;&#38750;&#28858; agent &#35373;&#35336;&#65292;&#38656;&#35201;&#38989;&#22806;&#35299;&#35712;&#25165;&#33021;&#36681;&#21270;&#25104;&#21487;&#29992;&#30340; context&#12290;</p><p>&#26356;&#26681;&#26412;&#30340;&#21839;&#38988;&#26159;&#39640;&#24230;&#23458;&#35069;&#21270;&#12290;&#27599;&#19968;&#23478;&#20844;&#21496;&#30340; Salesforce &#35373;&#23450;&#24190;&#20046;&#37117;&#19981;&#21516;&#65292;&#21516;&#19968;&#20491;&#27396;&#20301;&#22312;&#19981;&#21516;&#20844;&#21496;&#21487;&#33021;&#20195;&#34920;&#23436;&#20840;&#19981;&#21516;&#30340;&#26989;&#21209;&#35486;&#24847;&#12290;&#36889;&#20351;&#24471;&#36890;&#29992;&#30340; agent &#24456;&#38627;&#22312;&#27794;&#26377;&#20154;&#24037;&#36681;&#21270;&#30340;&#24773;&#27841;&#19979;&#65292;&#29702;&#35299;&#29305;&#23450;&#20844;&#21496;&#30340;&#26989;&#21209;&#35215;&#21063;&#12290;</p><h3><strong>&#26989;&#21209;&#27969;&#31243;&#31649;&#29702;&#65288;BPM&#65289;</strong></h3><p>BPM &#31995;&#32113;&#65288;&#22914; SAP&#12289;Oracle EBS&#12289;&#21508;&#31278; ERP&#65289;&#38754;&#33256;&#39006;&#20284;&#20294;&#26356;&#35079;&#38620;&#30340;&#25361;&#25136;&#12290;</p><p>&#19968;&#20491;&#20856;&#22411;&#30340;&#25505;&#36092;&#27969;&#31243;&#65292;&#21487;&#33021;&#38263;&#36889;&#27171;&#65306;&#25552;&#20986;&#30003;&#35531; &#8594; &#37096;&#38272;&#20027;&#31649;&#26680;&#20934; &#8594; &#36001;&#21209;&#30906;&#35469;&#38928;&#31639; &#8594; &#25505;&#36092;&#37096;&#38272;&#35426;&#20729; &#8594; &#25552;&#20986;&#25505;&#36092;&#21934; &#8594; &#21103;&#32317;&#26680;&#20934; &#8594; &#22519;&#34892;&#25505;&#36092;&#12290;</p><p>&#27599;&#19968;&#20491;&#27493;&#39519;&#32972;&#24460;&#65292;&#37117;&#26377;&#23565;&#25033;&#30340;&#35215;&#21063;&#65306;&#35504;&#21487;&#20197;&#26680;&#20934;&#12289;&#26680;&#20934;&#26781;&#20214;&#26159;&#20160;&#40636;&#12289;&#26680;&#20934;&#32773;&#19981;&#22312;&#26178;&#35504;&#21487;&#20197;&#20195;&#29702;&#12290;&#36889;&#20123;&#35215;&#21063;&#22312;&#20659;&#32113; ERP &#31995;&#32113;&#35041;&#65292;&#36890;&#24120;&#36879;&#36942;&#22294;&#24418;&#21270;&#20171;&#38754;&#35373;&#23450;&#65292;&#19988;&#25955;&#33853;&#22312;&#22810;&#20491;&#19981;&#21516;&#30340;&#35373;&#23450;&#38913;&#38754;&#35041;&#12290;</p><p>&#35201;&#35731; agent &#29702;&#35299;&#36889;&#20491;&#27969;&#31243;&#65292;&#19968;&#27171;&#38656;&#35201;&#20108;&#27171;&#26481;&#35199;&#65306;</p><ul><li><p>&#19968;&#20491;&#21487;&#20197;&#25551;&#36848;&#26989;&#21209;&#35486;&#24847;&#30340; metadata &#23652;</p></li><li><p>&#19968;&#20491;&#21487;&#20197;&#22519;&#34892;&#27599;&#20491;&#27493;&#39519;&#20006;&#21462;&#24471;&#32080;&#26524;&#30340;&#20171;&#38754; (API &#25110; CLI)</p></li></ul><p>SAP&#12289;Oracle EBS &#31561;&#31995;&#32113;&#30906;&#23526;&#25552;&#20379; API&#65288;&#22914; SAP &#30340; BAPI&#12289;OData&#65292;Oracle &#30340; REST API&#65289;&#65292;&#20294;&#36889;&#20123;&#20171;&#38754;&#30340;&#35373;&#35336;&#30446;&#27161;&#26159;&#31995;&#32113;&#25972;&#21512;&#65292;&#32780;&#38750;&#35731; agent &#26597;&#35426;&#12300;&#27969;&#31243;&#35215;&#21063;&#26412;&#36523;&#12301;&#12290;&#26680;&#20934;&#26781;&#20214;&#12289;&#20195;&#29702;&#37007;&#36655;&#31561;&#26989;&#21209;&#35215;&#21063;&#65292;&#35206;&#33995;&#31684;&#22285;&#19981;&#23436;&#25972;&#65292;&#25110;&#20197;&#19981;&#36969;&#21512; agent &#30452;&#25509;&#20351;&#29992;&#30340;&#26684;&#24335;&#20786;&#23384;&#22312;&#31995;&#32113;&#20839;&#37096;&#12290;</p><h3><strong>&#22294;&#24418;&#21270;&#20171;&#38754;&#26159;&#19968;&#36947;&#29254;</strong></h3><p>&#27491;&#22914;&#12296;<a href="https://replware.substack.com/p/ai-cli-dsl">AI, CLI &#31243;&#24335;, &#33287; DSL</a>&#12297;&#19968;&#25991;&#35041;&#35527;&#21040;&#30340;&#65292;CLI &#21644; DSL &#23565; AI &#30340;&#37325;&#35201;&#24615;&#65292;&#26159;&#24120;&#24120;&#34987;&#20302;&#20272;&#30340;&#12290;&#19968;&#20491;&#21482;&#26377;&#22294;&#24418;&#20171;&#38754;&#12289;&#27794;&#26377; CLI &#30340;&#31995;&#32113;&#65292;agent &#24517;&#38920;&#38752;&#25130;&#22294;&#12289;&#38752;&#35222;&#35258;&#29702;&#35299;&#12289;&#38752;&#27169;&#25836;&#28369;&#40736;&#40670;&#25802;&#65292;&#25165;&#33021;&#25805;&#20316;&#23427;&#12290;&#36889;&#20491;&#26041;&#27861;&#19981;&#21482;&#20302;&#25928;&#65292;&#32780;&#19988;&#38750;&#24120;&#33030;&#24369;&#12290;</p><p>&#36942;&#21435;&#19977;&#21313;&#24180;&#65292;&#20225;&#26989;&#36575;&#39636;&#30340;&#35373;&#35336;&#21746;&#23416;&#26159;&#65306;&#35731;&#23427;&#30433;&#21487;&#33021;&#22320;&#12300;&#22909;&#29992;&#12301;&#65292;&#24847;&#24605;&#26159;&#20570;&#25104;&#28418;&#20142;&#30340;&#22294;&#24418;&#20171;&#38754;&#65292;&#35731;&#19981;&#25026;&#31243;&#24335;&#30340;&#26989;&#21209;&#20154;&#21729;&#21487;&#20197;&#36629;&#39686;&#25805;&#20316;&#12290;</p><p>&#36889;&#20491;&#26041;&#21521;&#65292;&#20854;&#23526;&#22312;&#19981;&#30693;&#19981;&#35258;&#38291;&#65292;&#25226; agent &#25803;&#22312;&#20102;&#38272;&#22806;&#12290;</p><p>&#19968;&#20491;&#21482;&#26377; UI &#35373;&#23450;&#12289;&#27794;&#26377; DSL &#30340;&#27969;&#31243;&#23450;&#32681;&#65292;agent &#27794;&#26377;&#36774;&#27861;&#12300;&#38321;&#35712;&#12301;&#36889;&#20491;&#27969;&#31243;&#30340;&#35215;&#21063;&#65292;&#26356;&#27794;&#26377;&#36774;&#27861;&#12300;&#25512;&#29702;&#12301;&#22312;&#19981;&#21516;&#24773;&#22659;&#19979;&#25033;&#35442;&#24590;&#40636;&#34389;&#29702;&#12290;&#22294;&#24418;&#21270;&#35373;&#35336;&#65292;&#36889;&#20491;&#26412;&#20358;&#28858;&#20102;&#35731;&#20154;&#26356;&#23481;&#26131;&#20351;&#29992;&#32780;&#35373;&#35336;&#30340;&#24605;&#36335;&#65292;&#21453;&#32780;&#25104;&#20102; agent &#36914;&#20837;&#30340;&#38272;&#27323;&#12290;</p><p>&#20195;&#29702;&#23601;&#32210;&#30340; BPM &#25110; CRM&#65292;&#25033;&#35442;&#26159;&#36889;&#27171;&#30340;&#65306;</p><ul><li><p>&#27599;&#19968;&#20491;&#26989;&#21209;&#27969;&#31243;&#65292;&#37117;&#26377;&#19968;&#20491;&#32080;&#27083;&#21270;&#30340;&#23450;&#32681; (DSL)&#65292;&#21487;&#20197;&#29992;&#31243;&#24335;&#35712;&#21462;</p></li><li><p>&#27599;&#19968;&#20491;&#25805;&#20316;&#65292;&#37117;&#26377;&#19968;&#20491; API &#31471;&#40670;&#25110; CLI &#21487;&#20197;&#21628;&#21483;&#65292;&#20006;&#19988;&#22238;&#20659;&#28165;&#26970;&#30340;&#25104;&#21151;&#25110;&#22833;&#25943;&#35338;&#34399;</p></li><li><p>&#27599;&#19968;&#20491;&#26989;&#21209;&#29289;&#20214;&#65288;&#23458;&#25142;&#12289;&#35330;&#21934;&#12289;&#25505;&#36092;&#21934;&#65289;&#65292;&#37117;&#26377;&#28165;&#26970;&#30340; metadata&#65292;&#35498;&#26126;&#36889;&#20491;&#29289;&#20214;&#22312;&#36889;&#23478;&#20844;&#21496;&#35041;&#20195;&#34920;&#20160;&#40636;&#35486;&#24847;</p></li></ul><p>&#36889;&#20123;&#26781;&#20214;&#65292;&#22312;&#22823;&#22810;&#25976;&#29694;&#26377;&#30340;&#20225;&#26989;&#31995;&#32113;&#35041;&#65292;&#26159;&#19981;&#23384;&#22312;&#30340;&#12290;&#25110;&#32773;&#35498;&#65292;&#23427;&#20497;&#21482;&#23384;&#22312;&#26044;&#37096;&#20998;&#31995;&#32113;&#30340; API &#25991;&#20214;&#35041;&#65292;&#20294;&#27794;&#26377;&#34987;&#26377;&#24847;&#35672;&#22320;&#31649;&#29702;&#25104; agent &#21487;&#20197;&#21462;&#29992;&#30340; context&#12290;</p><h2><strong>&#30693;&#35672;&#22294;&#35676;&#30340;&#22256;&#22659;&#33287;&#20986;&#36335;</strong></h2><p>&#22914;&#26524;&#35498;&#65292;&#35731;&#25972;&#38291;&#20225;&#26989;&#35722;&#25104; agent-ready&#65292;&#38656;&#35201;&#30340;&#26159;&#12300;&#19968;&#20221;&#23436;&#25972;&#25551;&#36848;&#20225;&#26989;&#25152;&#26377;&#30693;&#35672;&#30340; context &#24235;&#12301;&#65292;&#37027;&#40636;&#65292;&#36889;&#20491;&#27010;&#24565;&#20854;&#23526;&#20006;&#19981;&#26032;&#12290;</p><p>&#36889;&#27491;&#26159;<strong>&#30693;&#35672;&#22294;&#35676;&#65288;Knowledge Graph&#65289;</strong>&#19968;&#30452;&#22312;&#22039;&#35430;&#35299;&#27770;&#30340;&#21839;&#38988;&#12290;</p><p>&#30693;&#35672;&#22294;&#35676;&#30340;&#24819;&#27861;&#26159;&#65306;&#25226;&#20225;&#26989;&#35041;&#25152;&#26377;&#30340;&#27010;&#24565;&#12289;&#29289;&#20214;&#12289;&#38364;&#20418;&#65292;&#29992;&#22294;&#24418;&#30340;&#24418;&#24335;&#34920;&#31034;&#20986;&#20358;&#12290;&#12300;&#23458;&#25142;&#12301;&#26159;&#19968;&#20491;&#31680;&#40670;&#65292;&#12300;&#35330;&#21934;&#12301;&#26159;&#21478;&#19968;&#20491;&#31680;&#40670;&#65292;&#23427;&#20497;&#20043;&#38291;&#26377;&#19968;&#26781;&#12300;&#19979;&#35330;&#12301;&#30340;&#37002;&#12290;&#12300;&#29986;&#21697;&#12301;&#26159;&#31680;&#40670;&#65292;&#12300;&#20998;&#39006;&#12301;&#26159;&#31680;&#40670;&#65292;&#23427;&#20497;&#20043;&#38291;&#26377;&#12300;&#23660;&#26044;&#12301;&#30340;&#37002;&#12290;&#25226;&#36889;&#24373;&#22294;&#24314;&#22909;&#20102;&#65292;&#29702;&#35542;&#19978;&#65292;&#20219;&#20309;&#21839;&#38988;&#37117;&#21487;&#20197;&#34987;&#22238;&#31572;&#12290;</p><p>&#20294;&#29702;&#35542;&#19978;&#21644;&#29694;&#23526;&#20013;&#65292;&#24448;&#24448;&#24046;&#36317;&#24456;&#22823;&#12290;</p><p>&#22823;&#22411;&#30340;&#20225;&#26989;&#30693;&#35672;&#22294;&#35676;&#65292;&#26159;&#20986;&#20102;&#21517;&#30340;&#38627;&#20197;&#24314;&#31435;&#12289;&#26356;&#38627;&#20197;&#32173;&#35703;&#12290;&#38627;&#22312;&#21738;&#35041;&#65311;</p><p><strong>&#31532;&#19968;&#65292;&#20225;&#26989;&#30693;&#35672;&#19981;&#26159;&#38748;&#24907;&#30340;&#12290;</strong> &#23458;&#25142;&#30340;&#23450;&#32681;&#26371;&#25913;&#35722;&#65292;&#26989;&#21209;&#27969;&#31243;&#26371;&#35519;&#25972;&#65292;&#32068;&#32340;&#32080;&#27083;&#26371;&#37325;&#32068;&#12290;&#19968;&#20491;&#38656;&#35201;&#20154;&#24037;&#32173;&#35703;&#30340;&#22823;&#22411; KG&#65292;&#24448;&#24448;&#22312;&#24314;&#22909;&#30340;&#37027;&#19968;&#21051;&#23601;&#24050;&#32147;&#38283;&#22987;&#36942;&#26178;&#20102;&#12290;</p><p><strong>&#31532;&#20108;&#65292;&#36328;&#37096;&#38272;&#30340;&#35486;&#24847;&#34909;&#31361;&#24456;&#38627;&#35299;&#27770;&#12290;</strong> &#12300;&#23458;&#25142;&#12301;&#36889;&#20491;&#35422;&#65292;&#22312;&#26989;&#21209;&#37096;&#12289;&#36001;&#21209;&#37096;&#12289;&#29986;&#21697;&#37096;&#65292;&#21487;&#33021;&#26377;&#23436;&#20840;&#19981;&#21516;&#30340;&#23450;&#32681;&#12290;&#22312; CRM &#35041;&#65292;&#23458;&#25142;&#21487;&#33021;&#26159;&#12300;&#26366;&#32147;&#25509;&#35320;&#36942;&#30340;&#28507;&#22312;&#36023;&#23478;&#12301;&#65307;&#22312;&#36001;&#21209;&#31995;&#32113;&#35041;&#65292;&#23458;&#25142;&#21487;&#33021;&#26159;&#12300;&#26366;&#32147;&#29986;&#29983;&#30332;&#31080;&#30340;&#20184;&#27454;&#26041;&#12301;&#65307;&#22312;&#29986;&#21697;&#36039;&#26009;&#24235;&#35041;&#65292;&#23458;&#25142;&#21487;&#33021;&#26159;&#12300;&#26377;&#38283;&#36890;&#24115;&#34399;&#30340;&#20351;&#29992;&#32773;&#12301;&#12290;&#35201;&#25226;&#36889;&#19977;&#20491;&#23450;&#32681;&#32113;&#19968;&#21040;&#19968;&#20491;&#30693;&#35672;&#22294;&#35676;&#35041;&#65292;&#38656;&#35201;&#22823;&#37327;&#30340;&#28317;&#36890;&#12289;&#35527;&#21028;&#21644;&#22949;&#21332;&#12290;</p><p><strong>&#31532;&#19977;&#65292;ROI &#19981;&#26126;&#30906;&#12290;</strong> &#30693;&#35672;&#22294;&#35676;&#30340;&#24314;&#31435;&#25104;&#26412;&#26997;&#39640;&#65292;&#20294;&#23427;&#21109;&#36896;&#30340;&#20729;&#20540;&#65292;&#24456;&#38627;&#34987;&#37327;&#21270;&#12290;&#36889;&#35731;&#24456;&#22810;&#20225;&#26989;&#22312;&#25237;&#20837;&#21021;&#26399;&#38928;&#31639;&#20043;&#24460;&#65292;&#24448;&#24448;&#22312;&#23560;&#26696;&#20013;&#36884;&#25918;&#26820;&#12290;</p><p>&#35430;&#22294;&#22312;&#21934;&#19968;&#20225;&#26989;&#35041;&#24314;&#31435;&#19968;&#20491;&#28085;&#33995;&#25152;&#26377;&#30693;&#35672;&#30340;&#22823;&#22411; KG&#65292;&#22833;&#25943;&#30340;&#26696;&#20363;&#36960;&#22810;&#26044;&#25104;&#21151;&#30340;&#26696;&#20363;&#12290;</p><h3><strong>&#32879;&#37030;&#24335; Domain-Specific Context Layer</strong></h3><p>&#25105;&#35469;&#28858;&#65292;&#31572;&#26696;&#19981;&#26159;&#24314;&#31435;&#19968;&#20491;&#12300;&#36229;&#32026;&#30693;&#35672;&#22294;&#35676;&#12301;&#65292;&#32780;&#26159;&#24314;&#31435;&#19968;&#20491;<strong>&#22810;&#20491; Domain-Specific Context Layer &#30340;&#32879;&#37030;</strong>&#12290;</p><p>&#36889;&#20491;&#24819;&#27861;&#26159;&#65306;&#19981;&#35201;&#35430;&#22294;&#29992;&#19968;&#20491;&#32113;&#19968;&#30340;&#22294;&#35676;&#25551;&#36848;&#25152;&#26377;&#30693;&#35672;&#65292;&#32780;&#26159;&#35731;&#27599;&#19968;&#20491; domain &#36000;&#36012;&#33258;&#24049;&#30340; context&#65306;</p><ul><li><p>&#36039;&#26009;&#20489;&#20786;&#26377;&#36039;&#26009;&#23383;&#20856;&#65292;&#25551;&#36848;&#26989;&#21209;&#25351;&#27161;&#30340;&#35486;&#24847;</p></li><li><p>CRM &#31995;&#32113;&#26377;&#27969;&#31243;&#23450;&#32681;&#65292;&#25551;&#36848;&#37559;&#21806;&#27969;&#31243;&#30340;&#35215;&#21063;</p></li><li><p>ERP/BPM &#26377;&#26989;&#21209;&#29289;&#20214; schema&#65292;&#25551;&#36848;&#36001;&#21209;&#21644;&#25505;&#36092;&#30340;&#37007;&#36655;</p></li></ul><p>&#36889;&#20123; context layer &#21508;&#33258;&#32173;&#35703;&#33258;&#24049;&#30340;&#38936;&#22495;&#65292;&#19981;&#38656;&#35201;&#24375;&#21046;&#32113;&#19968;&#35486;&#24847;&#12290;Agent &#22312;&#38656;&#35201;&#26178;&#65292;&#36879;&#36942; MCP&#65288;Model Context Protocol&#65289;&#25110;&#39006;&#20284;&#30340;&#21332;&#35696;&#65292;&#21521;&#21508;&#20491; context layer &#21462;&#29992;&#23427;&#38656;&#35201;&#30340; context&#12290;</p><p>&#36889;&#20491;&#26041;&#24335;&#30340;&#20778;&#40670;&#26159;&#65306;&#27599;&#20491; domain &#30340;&#35079;&#38620;&#24230;&#26159;&#21487;&#31649;&#29702;&#30340;&#65292;&#32173;&#35703;&#30340;&#36012;&#20219;&#26159;&#20998;&#25955;&#30340;&#65292;&#23616;&#37096;&#30340;&#26356;&#26032;&#19981;&#26371;&#24433;&#38911;&#25972;&#20491;&#31995;&#32113;&#12290;</p><p><strong>&#20294;&#36889;&#20491;&#26041;&#24335;&#20063;&#26377;&#19968;&#20491;&#22196;&#37325;&#30340;&#38480;&#21046;&#65306;&#36328; domain &#30340;&#25512;&#29702;&#12290;</strong></p><p>&#24819;&#20687;&#19968;&#20491;&#21839;&#38988;&#65306;&#12300;&#36889;&#20491;&#23458;&#25142;&#30340;&#25505;&#36092;&#35330;&#21934;&#65292;&#26159;&#21542;&#31526;&#21512;&#25105;&#20497;&#30340;&#20449;&#29992;&#26781;&#20214;&#65311;&#12301;</p><p>&#36889;&#20491;&#21839;&#38988;&#65292;&#38656;&#35201;&#21516;&#26178;&#21462;&#29992; CRM&#65288;&#36889;&#20491;&#23458;&#25142;&#30340;&#27511;&#21490;&#35352;&#37636;&#65289;&#12289;&#36001;&#21209;&#31995;&#32113;&#65288;&#23458;&#25142;&#30340;&#20449;&#29992;&#38989;&#24230;&#21644;&#20184;&#27454;&#35352;&#37636;&#65289;&#12289;&#25505;&#36092;&#31995;&#32113;&#65288;&#36889;&#31558;&#35330;&#21934;&#30340;&#37329;&#38989;&#21644;&#26781;&#27454;&#65289;&#30340; context&#65292;&#28982;&#24460;&#22871;&#29992;&#26576;&#20491;&#35215;&#21063;&#65292;&#20570;&#20986;&#21028;&#26039;&#12290;</p><p>&#22914;&#26524;&#27599;&#20491; domain &#30340; context layer &#26159;&#29544;&#31435;&#30340;&#65292;agent &#35201;&#22238;&#31572;&#36889;&#20491;&#21839;&#38988;&#65292;&#24517;&#38920;&#20998;&#21029;&#24478;&#19977;&#20491;&#19981;&#21516;&#30340; context layer &#21462;&#24471;&#36039;&#35338;&#65292;&#20877;&#25226;&#36889;&#20123;&#36039;&#35338;&#25972;&#21512;&#22312;&#19968;&#36215;&#65292;&#22871;&#29992;&#36328; domain &#30340;&#25512;&#29702;&#35215;&#21063;&#65292;&#24471;&#20986;&#32080;&#35542;&#12290;</p><p>&#36889;&#20491;&#25512;&#29702;&#27493;&#39519;&#65292;&#26159;&#21839;&#38988;&#25152;&#22312;&#12290; agent &#21487;&#20197;&#22039;&#35430;&#33258;&#24049;&#25512;&#29702;&#65292;&#20294;&#30070;&#25512;&#29702;&#35215;&#21063;&#35079;&#38620;&#12289;&#28041;&#21450;&#22810;&#20491; domain &#30340;&#35486;&#24847;&#26178;&#65292;agent &#24456;&#23481;&#26131;&#25758;&#21040;&#33021;&#21147;&#30340;&#19978;&#38480;&#65292;&#29986;&#29983;&#37679;&#35492;&#30340;&#32080;&#35542;&#12290;</p><p>&#36889;&#35041;&#23601;&#20986;&#29694;&#20102;&#19968;&#20491;&#19981;&#24120;&#34987;&#35342;&#35542;&#30340;&#25216;&#34899;&#38656;&#27714;&#65306;<strong>&#26576;&#31278;&#25512;&#29702;&#24341;&#25806;&#65292;&#29992;&#20358;&#34389;&#29702;&#36328; domain &#30340;&#25512;&#29702;&#12290;</strong> Datalog &#23601;&#26159;&#19968;&#31278;&#29305;&#21029;&#36969;&#21512;&#29992;&#20358;&#20570;&#25512;&#29702;&#30340;&#24418;&#24335;&#35486;&#35328;&#65292;&#33509;&#26377;&#20808;&#25226;&#12300;&#25512;&#23566;&#35215;&#21063;&#12301;&#39023;&#24335;&#22320;&#23450;&#32681;&#20986;&#20358;&#65292;&#37027; Datalog &#26597;&#35426;&#24341;&#25806;&#23601;&#21487;&#20197;&#33258;&#21205;&#25033;&#29992;&#12290;</p><p>&#32102;&#23450;&#12300;&#23458;&#25142; A &#30340;&#20449;&#29992;&#35413;&#32026;&#26159; B+&#12301;&#12289;&#12300;&#20449;&#29992;&#35413;&#32026; B+ &#20197;&#19978;&#30340;&#23458;&#25142;&#25505;&#36092;&#19978;&#38480;&#26159;&#19968;&#30334;&#33836;&#12301;&#12289;&#12300;&#36889;&#31558;&#35330;&#21934;&#37329;&#38989;&#26159;&#20843;&#21313;&#33836;&#12301;&#65292;Datalog &#24341;&#25806;&#21487;&#20197;&#33258;&#21205;&#25512;&#23566;&#20986;&#12300;&#36889;&#31558;&#35330;&#21934;&#31526;&#21512;&#20449;&#29992;&#26781;&#20214;&#12301;&#12290;</p><p>&#22914;&#26524;&#27794;&#26377;&#36889;&#27171;&#30340;&#25512;&#29702;&#24341;&#25806;&#65292;&#38752; agent &#20570;&#36328; domain &#25512;&#29702;&#65292;agent &#27599;&#27425;&#37117;&#35201;&#12300;&#33258;&#24049;&#24819;&#12301;&#65292;&#32780;&#19988;&#24819;&#30340;&#32080;&#26524;&#21487;&#33021;&#19981;&#31337;&#23450;&#12289;&#19981;&#21487;&#35299;&#37323;&#12290;&#26377;&#20102;&#25512;&#29702;&#24341;&#25806;&#65292;&#35079;&#38620;&#30340;&#36328; domain &#35215;&#21063;&#21487;&#20197;&#34987;&#39023;&#24335;&#22320;&#23450;&#32681;&#65292;&#25512;&#29702;&#30340;&#36942;&#31243;&#26159;&#21487;&#39511;&#35657;&#12289;&#21487;&#31293;&#26680;&#30340;&#12290;</p><p>&#36889;&#20491;&#26041;&#21521;&#65292;&#26159;&#25509;&#19979;&#20358;&#24190;&#24180;&#65292;&#20225;&#26989; AI &#26550;&#27083;&#35041;&#26368;&#20540;&#24471;&#38364;&#27880;&#30340;&#31354;&#30333;&#22320;&#24118;&#20043;&#19968;&#12290;</p><h2><strong>&#22739;&#21147;&#26159;&#30495;&#23526;&#30340;&#65292;&#25361;&#25136;&#20063;&#26159;&#30495;&#23526;&#30340;</strong></h2><p>&#22238;&#21040;&#26368;&#38283;&#22987;&#30340;&#21839;&#38988;&#65306;&#28858;&#20160;&#40636; coding agent &#31361;&#28982;&#22823;&#37327;&#29190;&#30332;&#65311;</p><p>&#22240;&#28858;&#36575;&#39636;&#38283;&#30332;&#36889;&#20491;&#38936;&#22495;&#65292;&#21083;&#22909;&#21516;&#26178;&#28415;&#36275;&#20102; agent-ready &#30340;&#20841;&#20491;&#26781;&#20214;&#65306;</p><ol><li><p><strong>Feedback &#26126;&#30906;</strong>&#65306;&#26377; compiler&#12289;&#26377; test&#12289;&#26377;&#22519;&#34892;&#32080;&#26524;</p></li><li><p><strong>Context &#28165;&#26224;</strong>&#65306;&#31243;&#24335;&#30908;&#26159; formal language&#65292;&#35486;&#24847;&#37002;&#30028;&#28165;&#26970;</p></li></ol><p>&#27169;&#22411;&#21040;&#20301;&#20102;&#65292;&#29872;&#22659;&#20063;&#21040;&#20301;&#20102;&#65292;&#25152;&#20197;&#29190;&#30332;&#20102;&#12290;</p><p>&#29694;&#22312;&#65292;&#27169;&#22411;&#32380;&#32396;&#22312;&#21040;&#20301;&#12290;Claude Opus 4&#12289;Claude Sonnet 4.5&#12289;&#26410;&#20358;&#30340;&#27169;&#22411;&#65292;&#26371;&#25345;&#32396;&#22320;&#36234;&#20358;&#36234;&#24375;&#12290;<strong>&#20294;&#20225;&#26989;&#30340;&#20854;&#20182;&#38936;&#22495;&#65292;&#29872;&#22659;&#36996;&#27794;&#26377;&#21040;&#20301;&#12290;</strong></p><p>&#36889;&#26159;&#19968;&#20491;&#22739;&#21147;&#24456;&#22823;&#12289;&#20294;&#25361;&#25136;&#20063;&#24456;&#30495;&#23526;&#30340;&#34389;&#22659;&#12290;</p><p>&#22739;&#21147;&#24456;&#22823;&#65292;&#22240;&#28858;&#31478;&#29229;&#23565;&#25163;&#21487;&#33021;&#27604;&#20320;&#26356;&#26089;&#25226;&#29872;&#22659;&#24314;&#22909;&#65292;&#35731; agent &#22312;&#20182;&#37027;&#35041;&#21487;&#20197;&#20570;&#20320;&#30340;&#24037;&#31243;&#24107;&#20570;&#30340;&#20107;&#12290;&#31478;&#29229;&#23565;&#25163;&#19968;&#26086;&#20808;&#23601;&#32210;&#65292;&#23427;&#30340;&#22519;&#34892;&#36895;&#24230;&#23601;&#26377;&#27231;&#26371;&#22823;&#24133;&#25552;&#39640;&#65292;&#32780;&#36845;&#20195;&#21152;&#36895;&#24120;&#24120;&#23601;&#26159;&#19968;&#31278;&#31478;&#29229;&#21147;&#12290;</p><p>&#25361;&#25136;&#24456;&#30495;&#23526;&#65292;&#22240;&#28858;&#24314;&#31435; agent-ready &#30340;&#29872;&#22659;&#65292;&#19981;&#26159;&#36023;&#19968;&#20491;&#36575;&#39636;&#12289;&#35037;&#19968;&#20491;&#25554;&#20214;&#23601;&#33021;&#23436;&#25104;&#30340;&#20107;&#24773;&#12290;&#23427;&#38656;&#35201;&#65306;</p><ul><li><p><strong>&#28858;&#31995;&#32113;&#24314;&#31435;&#21487;&#31243;&#24335;&#21270;&#30340;&#20171;&#38754;</strong>&#65306;API&#12289;CLI&#12289;DSL&#65292;&#35731; agent &#21487;&#20197;&#25805;&#20316;&#21644;&#38321;&#35712;&#31995;&#32113;&#29376;&#24907;&#65292;&#24471;&#21040; feedback&#12290;</p></li><li><p><strong>&#25226;&#26989;&#21209;&#35486;&#24847;&#32080;&#27083;&#21270;</strong>&#65306;&#21738;&#20123;&#27010;&#24565;&#26159;&#37325;&#35201;&#30340;&#65311;&#23427;&#20497;&#30340;&#23450;&#32681;&#26159;&#20160;&#40636;&#65311;&#36889;&#38656;&#35201;&#23565;&#26989;&#21209;&#26377;&#28145;&#24230;&#29702;&#35299;&#30340;&#20154;&#20358;&#20570;&#12290;</p></li></ul><p>&#36889;&#20841;&#20214;&#20107;&#35041;&#65292;&#29305;&#21029;&#26159;&#24460;&#32773;&#65292;&#23427;&#32085;&#23565;&#26159;&#12300;&#20154;&#30340;&#24037;&#20316;&#12301;&#12290;&#27794;&#26377;&#36774;&#27861;&#38752; AI &#33258;&#21205;&#23436;&#25104;&#65292;&#22240;&#28858;&#23427;&#38656;&#35201;&#23565;&#36889;&#23478;&#20225;&#26989;&#30340;&#26989;&#21209;&#26377;&#28145;&#20837;&#30340;&#29702;&#35299;&#12290;</p><h3><strong>&#37027;&#40636;&#65292;&#38656;&#35201;&#20160;&#40636;&#27171;&#30340;&#20154;&#65311;</strong></h3><p>&#36889;&#20491;&#20154;&#38656;&#35201;&#21516;&#26178;&#25026;&#26989;&#21209;&#12289;&#25026;&#25216;&#34899;&#12289;&#25026; AI &#30340;&#33021;&#21147;&#37002;&#30028;&#8212;&#8212;&#29978;&#33267;&#36996;&#35201;&#36328;&#37096;&#38272;&#25512;&#21205;&#25913;&#35722;&#12290;</p><p>&#21839;&#38988;&#22312;&#26044;&#65292;&#36889;&#27171;&#30340;&#20154;&#65292;&#22810;&#25976;&#30340;&#20225;&#26989;&#36890;&#24120;&#27794;&#26377;&#12290;&#26681;&#26412;&#30340;&#21407;&#22240;&#26159;&#65292;&#22810;&#25976;&#20225;&#26989;&#30340;&#25991;&#21270;&#65292;&#20063;&#19981;&#26371;&#33258;&#28982;&#22521;&#39178;&#20986;&#36889;&#27171;&#30340;&#20154;&#65306;&#26989;&#21209;&#31471;&#21644;&#25216;&#34899;&#31471;&#38263;&#26399;&#21508;&#33258;&#28858;&#25919;&#65292;AI &#30340;&#29702;&#35299;&#21448;&#26159;&#21478;&#19968;&#20491;&#23560;&#26989;&#12290;&#36889;&#19977;&#32773;&#30340;&#20132;&#38598;&#65292;&#22312;&#32068;&#32340;&#20839;&#37096;&#24190;&#20046;&#19981;&#26371;&#33258;&#28982;&#24418;&#25104;&#12290;</p><p>&#36889;&#20063;&#26159;&#28858;&#20160;&#40636;&#65292;&#24819;&#35201;&#24555;&#36895;&#36319;&#19978; agent &#28010;&#28526;&#30340;&#20225;&#26989;&#65292;&#24448;&#24448;&#38656;&#35201;&#24478;&#22806;&#37096;&#24341;&#20837;&#23560;&#26989;&#20154;&#22763;&#30340;&#21332;&#21161;&#12290;</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://replware.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading PruningSuccess! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[AI 副手]]></title><description><![CDATA[&#35731; AI &#20358;&#20998;&#25812;&#27770;&#31574;&#12289;&#24605;&#32771;&#30340;&#24037;&#20316;]]></description><link>https://replware.substack.com/p/ai-61f</link><guid isPermaLink="false">https://replware.substack.com/p/ai-61f</guid><dc:creator><![CDATA[Laurence Chen]]></dc:creator><pubDate>Sun, 26 Apr 2026 23:01:16 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ExTQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20f26759-6f40-4b87-b780-e6caa4a46ee6_1080x716.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#25105;&#26368;&#36817;&#22312;&#29992;&#19968;&#20491;&#26041;&#27861;&#65292;&#35731; AI &#24171;&#25105;&#34389;&#29702;&#26368;&#38627;&#30340;&#21839;&#38988;&#8212;&#8212;&#19981;&#26159;&#25343;&#23427;&#20358;&#23531;&#31243;&#24335;&#12289;&#32763;&#35695;&#65292;&#32780;&#26159;&#35731;&#23427;&#21443;&#33287;&#27604;&#36611;&#28145;&#23652;&#30340;&#20107;&#65306;&#20844;&#21496;&#32147;&#29151;&#31574;&#30053;&#12289;&#23567;&#23401;&#30340;&#25945;&#39178;&#26041;&#21521;&#12290;</p><p>&#36889;&#20491;&#26041;&#27861;&#35498;&#36215;&#20358;&#19981;&#35079;&#38620;&#65292;&#20294;&#38656;&#35201;&#19968;&#40670;&#32784;&#24515;&#21435;&#24314;&#31435;&#12290;</p><h2><strong>&#35920;&#23500;&#30340; Context&#65292;&#25345;&#32396;&#20778;&#21270;&#30340; Custom Instruction</strong></h2><p>&#39318;&#20808;&#65292;&#25105;&#30332;&#35258;&#22914;&#26524;&#35201;&#36879;&#36942; AI &#25506;&#35342;&#20844;&#21496;&#32147;&#29151;&#31574;&#30053;&#65292;&#32102;&#30340; Context &#24517;&#38920;&#30064;&#24120;&#35920;&#23500;&#65292;&#23427;&#25165;&#33021;&#32102;&#20104;&#30456;&#23565;&#22909;&#30340;&#24314;&#35696;&#12290;</p><p>&#25105;&#30340;&#20570;&#27861;&#20998;&#22235;&#27493;&#65306;</p><p><strong>&#31532;&#19968;&#27493;&#65306;&#38283;&#29544;&#31435;&#30340; Project&#12290;</strong> &#37341;&#23565;&#27604;&#36611;&#22256;&#38627;&#30340;&#35696;&#38988;&#8212;&#8212;&#20844;&#21496;&#32147;&#29151;&#12289;&#23567;&#23401;&#25945;&#39178;&#8212;&#8212;&#21508;&#33258;&#38283;&#19968;&#20491;&#29544;&#31435;&#30340; AI Project&#65292;&#35731;&#19981;&#21516;&#35696;&#38988;&#30340;&#23565;&#35441;&#19981;&#26371;&#20114;&#30456;&#24178;&#25854;&#12290;</p><p><strong>&#31532;&#20108;&#27493;&#65306;&#20808;&#24977;&#24863;&#35258;&#23531;&#19968;&#20491; Custom Instruction&#12290;</strong> &#19968;&#38283;&#22987;&#19981;&#38656;&#35201;&#23436;&#25972;&#65292;&#21482;&#35201;&#25551;&#36848;&#22823;&#27010;&#30340;&#29376;&#27841;&#8212;&#8212;&#20844;&#21496;&#22312;&#20570;&#20160;&#40636;&#12289;&#29694;&#22312;&#38754;&#23565;&#20160;&#40636;&#21839;&#38988;&#12289;&#30456;&#38364;&#30340;&#20154;&#26159;&#35504;&#12290;&#36889;&#26159;&#31532;&#19968;&#29256;&#30340;&#12300;&#32972;&#26223;&#35498;&#26126;&#26360;&#12301;&#12290;</p><p><strong>&#31532;&#19977;&#27493;&#65306;&#27599;&#27425;&#23565;&#35441;&#32080;&#26463;&#26178;&#65292;&#21839; AI &#36889;&#20491;&#21839;&#38988;&#65306;</strong> &#12300;&#22312;&#36889;&#20491;&#23565;&#35441;&#20013;&#65292;&#26377;&#27794;&#26377;&#30332;&#29694;&#20160;&#40636;&#26032;&#30340; insight&#65292;&#20540;&#24471;&#21152;&#20837; Custom Instruction&#65311;&#12301;&#25509;&#19979;&#20358;&#65292;&#25105;&#23601;&#26371;&#24478;&#20013;&#25361;&#36984;&#36319;&#25105;&#35469;&#28858;&#27491;&#30906;&#30340; insight&#65292;&#28982;&#24460;&#65292;&#25163;&#21205;&#21152;&#20837;&#35442; Project &#30340; Custom Instruction&#12290;</p><p><strong>&#31532;&#22235;&#27493;&#65306;&#37325;&#35079;&#12290;</strong> &#36890;&#24120;&#32147;&#36942;&#20116;&#21040;&#21313;&#36650;&#23565;&#35441;&#20043;&#24460;&#65292;Custom Instruction &#30340;&#20839;&#23481;&#26371;&#35722;&#24471;&#38750;&#24120;&#35920;&#23500;&#12290;&#22312;&#36889;&#20043;&#24460;&#65292; AI &#25552;&#20986;&#30340;&#24314;&#35696;&#12289;&#35264;&#40670;&#26371;&#38283;&#22987;&#20986;&#29694;&#12302;&#21697;&#36074;&#12303;&#30340;&#22823;&#24133;&#25552;&#26119;&#12290;&#27604;&#26041;&#35498;&#65292;&#26377;&#26356;&#28145;&#23652;&#27425;&#30340;&#27934;&#23519;&#12289;&#25110;&#26159;&#24314;&#35696;&#35722;&#24471;&#30456;&#23565;&#21487;&#34892;&#35377;&#22810;&#12290;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ExTQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20f26759-6f40-4b87-b780-e6caa4a46ee6_1080x716.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ExTQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20f26759-6f40-4b87-b780-e6caa4a46ee6_1080x716.png 424w, https://substackcdn.com/image/fetch/$s_!ExTQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20f26759-6f40-4b87-b780-e6caa4a46ee6_1080x716.png 848w, https://substackcdn.com/image/fetch/$s_!ExTQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20f26759-6f40-4b87-b780-e6caa4a46ee6_1080x716.png 1272w, https://substackcdn.com/image/fetch/$s_!ExTQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20f26759-6f40-4b87-b780-e6caa4a46ee6_1080x716.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ExTQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20f26759-6f40-4b87-b780-e6caa4a46ee6_1080x716.png" width="1080" height="716" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/20f26759-6f40-4b87-b780-e6caa4a46ee6_1080x716.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:716,&quot;width&quot;:1080,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1329992,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://replware.substack.com/i/195409315?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20f26759-6f40-4b87-b780-e6caa4a46ee6_1080x716.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ExTQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20f26759-6f40-4b87-b780-e6caa4a46ee6_1080x716.png 424w, https://substackcdn.com/image/fetch/$s_!ExTQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20f26759-6f40-4b87-b780-e6caa4a46ee6_1080x716.png 848w, https://substackcdn.com/image/fetch/$s_!ExTQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20f26759-6f40-4b87-b780-e6caa4a46ee6_1080x716.png 1272w, https://substackcdn.com/image/fetch/$s_!ExTQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20f26759-6f40-4b87-b780-e6caa4a46ee6_1080x716.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2><strong>&#28858;&#20160;&#40636;&#36889;&#20491;&#26041;&#27861;&#26371;&#31649;&#29992;&#65311;</strong></h2><p>&#25105;&#22312;&#35712; Tailscale CEO Avery Pennarun &#30340;&#19968;&#31687;&#25991;&#31456;&#8212;&#8212;<a href="https://apenwarr.ca/log/20190926">What do executives do, anyway?</a>&#8212;&#8212;&#31361;&#28982;&#35258;&#24471;&#36889;&#20841;&#20214;&#20107;&#22312;&#35498;&#21516;&#19968;&#20491;&#36947;&#29702;&#12290;</p><p>Avery &#24341;&#29992; Andy Grove &#30340;&#12298;High Output Management&#12299;&#65292;&#25552;&#20986;&#19968;&#20491;&#38364;&#37749;&#35542;&#40670;&#65306;<strong>&#22823;&#20844;&#21496;&#30340;&#20027;&#31649;&#65292;&#27704;&#36960;&#26159;&#25151;&#38291;&#35041;&#36039;&#35338;&#26368;&#23569;&#30340;&#20154;&#12290;</strong> &#20182;&#27599;&#24180;&#38914;&#22810;&#33457; 15 &#20998;&#37912;&#22312;&#27599;&#20491;&#19979;&#23660;&#36523;&#19978;&#65292;&#26681;&#26412;&#19981;&#21487;&#33021;&#27604;&#31532;&#19968;&#32218;&#30340;&#20154;&#26356;&#20102;&#35299;&#32048;&#31680;&#12290;&#25152;&#20197;&#20182;&#30340;&#32080;&#35542;&#26159;&#65306;&#20027;&#31649;&#30340;&#24037;&#20316;&#19981;&#26159;&#20570;&#27770;&#31574;&#65292;&#32780;&#26159;&#12300;&#23450;&#32681;&#20006;&#24375;&#21270;&#25991;&#21270;&#33287;&#20729;&#20540;&#35264;&#65292;&#20197;&#21450;&#26680;&#21487;&#22909;&#30340;&#27770;&#31574;&#12301;&#12290;</p><p>&#30495;&#27491;&#30340;&#27770;&#31574;&#65292;&#25033;&#35442;&#30001;&#25484;&#25569;&#26368;&#22810;&#36039;&#35338;&#30340;&#20154;&#20358;&#20570;&#12290;&#20027;&#31649;&#30340;&#35282;&#33394;&#65292;&#26159;&#35373;&#35336;&#19968;&#20491;&#35731;&#36889;&#20214;&#20107;&#33021;&#30332;&#29983;&#30340;&#27231;&#21046;&#12290;</p><p>&#26576;&#31278;&#31243;&#24230;&#65292;&#36889;&#33287;&#35201;&#35731; AI &#20358;&#20570;&#27770;&#31574;&#65292;&#30456;&#30070;&#22320;&#30456;&#20284;&#65306;&#12302;&#37117;&#38656;&#35201;&#35373;&#35336;&#27231;&#21046;&#12290;&#12303;</p><p>&#19968;&#20491;&#21083;&#38283;&#21855;&#30340; AI &#23565;&#35441;&#65292;&#23601;&#20687;&#19968;&#20491;&#20160;&#40636;&#37117;&#19981;&#30693;&#36947;&#30340;&#26032;&#39015;&#21839;&#12290;&#20320;&#21839;&#23427;&#20844;&#21496;&#31574;&#30053;&#65292;&#23427;&#21482;&#33021;&#32102;&#20320;&#25945;&#31185;&#26360;&#30340;&#31572;&#26696;&#65292;&#22240;&#28858;&#23427;&#23565;&#20320;&#30340;&#34389;&#22659;&#19968;&#28961;&#25152;&#30693;&#65292;&#23427;&#26371;&#26377;&#22823;&#37327;&#30340;&#38577;&#21547;&#20551;&#35373;&#12290;<strong>&#28982;&#32780;&#65292; AI &#30340;&#24314;&#35696;&#21697;&#36074;&#65292;&#39640;&#24230;&#20381;&#36084;&#26044;&#23427;&#25484;&#25569;&#30340; context &#28145;&#24230;&#12290;</strong></p><p>&#25152;&#20197;&#65292;&#25226; context &#39221;&#32102; AI &#36889;&#20214;&#20107;&#65292;&#20854;&#23526;&#23601;&#26159;&#22312;&#35299;&#27770;&#21644;&#22823;&#20844;&#21496;&#20027;&#31649;&#19968;&#27171;&#30340;&#21839;&#38988;&#65306;<strong>&#35731;&#27770;&#31574;&#32773;&#29554;&#24471;&#36275;&#22816;&#30340;&#36039;&#35338;&#65292;&#25165;&#33021;&#32102;&#20986;&#30495;&#27491;&#26377;&#29992;&#30340;&#21028;&#26039;&#12290;</strong></p><p>&#26356;&#26377;&#36259;&#30340;&#26159;&#65292;Avery &#35498;&#65292;&#20027;&#31649;&#30340;&#20729;&#20540;&#35264;&#24517;&#38920;&#22312;&#27599;&#27425;&#27770;&#31574;&#20013;&#21453;&#35206;&#24375;&#21270;&#65292;&#25165;&#33021;&#30495;&#27491;&#28402;&#36879;&#21040;&#32068;&#32340;&#35041;&#12290;&#25105;&#30340;&#20570;&#27861;&#27491;&#22909;&#23565;&#25033;&#36889;&#19968;&#40670;&#8212;&#8212;&#27599;&#36650;&#23565;&#35441;&#32080;&#26463;&#24460;&#26356;&#26032; Custom Instruction&#65292;&#23601;&#26159;&#22312;<strong>&#21453;&#35206;&#26657;&#28310;&#36889;&#20491; AI &#30340;&#12300;&#19990;&#30028;&#35264;&#12301;</strong>&#65292;&#35731;&#23427;&#24840;&#20358;&#24840;&#20687;&#19968;&#20491;&#30495;&#27491;&#20102;&#35299;&#20320;&#34389;&#22659;&#30340;&#39015;&#21839;&#65292;&#32780;&#19981;&#21482;&#26159;&#19968;&#20491;&#27867;&#29992;&#30340;&#21839;&#31572;&#27231;&#22120;&#12290;</p><h2><strong>&#28858;&#20160;&#40636;&#27512;&#32013; insight &#36889;&#20214;&#20107;&#65292;&#33258;&#24049;&#36996;&#26159;&#24517;&#38920;&#21443;&#33287;&#65311;</strong></h2><p>&#26377;&#20491;&#21839;&#38988;&#24456;&#33258;&#28982;&#26371;&#28014;&#29694;&#65306;&#26082;&#28982;&#27599;&#36650;&#37117;&#35201;&#21839; AI&#12300;&#26377;&#20160;&#40636; insight &#20540;&#24471;&#21152;&#20837; Custom Instruction&#12301;&#65292;&#28858;&#20160;&#40636;&#19981;&#20094;&#33030;&#35731; AI &#33258;&#21205;&#26356;&#26032;&#23601;&#22909;&#65311;</p><p>&#25105;&#35469;&#28858;&#19981;&#34892;&#65292;&#21407;&#22240;&#20027;&#35201;&#26377;&#20108;&#12290;</p><p><strong>&#31532;&#19968;&#65292;AI &#19981;&#30693;&#36947;&#20160;&#40636;&#23565;&#20320;&#37325;&#35201;&#12290;</strong> Custom Instruction &#19981;&#26159;&#20013;&#31435;&#30340;&#36039;&#35338;&#24409;&#25972;&#65292;&#23427;&#21453;&#26144;&#30340;&#26159;&#20320;&#30340;&#21028;&#26039;&#8212;&#8212;&#21738;&#20123;&#35264;&#23519;&#20540;&#24471;&#34987;&#35352;&#20303;&#65292;&#21738;&#20123;&#21482;&#26159;&#19968;&#26178;&#30340;&#35342;&#35542;&#12290;AI &#27794;&#26377;&#36774;&#27861;&#20570;&#36889;&#20491;&#21462;&#25448;&#65292;&#22240;&#28858;&#23427;&#19981;&#30693;&#36947;&#20320;&#30340;&#20778;&#20808;&#38918;&#24207;&#12290;</p><p><strong>&#31532;&#20108;&#65292;&#37679;&#35492;&#30340; context &#27604;&#27794;&#26377; context &#26356;&#21361;&#38570;&#12290;</strong> &#22914;&#26524;&#35731; AI &#33258;&#21205;&#32047;&#31309; instruction&#65292;&#23427;&#21487;&#33021;&#26371;&#25226;&#19968;&#20491;&#30070;&#19979;&#30340;&#35492;&#21028;&#30070;&#25104;&#38263;&#26399;&#30340;&#23450;&#35542;&#65292;&#23531;&#36914;&#32972;&#26223;&#35373;&#23450;&#35041;&#65292;&#24433;&#38911;&#20043;&#24460;&#25152;&#26377;&#30340;&#23565;&#35441;&#12290;&#20154;&#24037;&#23529;&#26680;&#65292;&#26159;&#36889;&#20491;&#27969;&#31243;&#35041;&#26368;&#37325;&#35201;&#30340;&#21697;&#31649;&#29872;&#31680;&#12290;</p><h2><strong>&#32317;&#32080;</strong></h2><p>&#36889;&#20491;&#21033;&#29992; AI &#20358;&#36628;&#21161;&#27770;&#31574;&#26041;&#27861;&#30340;&#26680;&#24515;&#65292;&#20854;&#23526;&#24456;&#21476;&#32769;&#65306;<strong>&#32102;&#27770;&#31574;&#32773;&#36275;&#22816;&#30340;&#36039;&#35338;&#65292;&#35731;&#20182;&#33021;&#20570;&#20986;&#22909;&#30340;&#21028;&#26039;&#12290;</strong> &#21482;&#26159;&#29694;&#22312;&#65292;&#36889;&#20491;&#12300;&#27770;&#31574;&#32773;&#12301;&#25563;&#25104;&#20102; AI&#65292;&#32780;&#20320;&#35722;&#25104;&#20102;&#37027;&#20491;&#35373;&#35336;&#27231;&#21046;&#12289;&#26680;&#21487;&#26041;&#21521;&#30340;&#20154;&#12290;</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://replware.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading PruningSuccess! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[個人知識管理]]></title><description><![CDATA[&#26377;&#25928;&#33287;&#27794;&#25928;&#30340;&#26041;&#27861;]]></description><link>https://replware.substack.com/p/64b</link><guid isPermaLink="false">https://replware.substack.com/p/64b</guid><dc:creator><![CDATA[Laurence Chen]]></dc:creator><pubDate>Sun, 19 Apr 2026 23:00:48 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!fS3v!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc1067fd-7038-46b4-bd28-ea721d1e71d4_514x560.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#26377;&#35712;&#32773;&#21839;&#36942;&#25105;&#65306;&#12300;&#20320;&#26159;&#24590;&#40636;&#31337;&#23450;&#22320;&#30332; weekly newsletter &#65311;&#26377;&#27794;&#26377;&#20570;&#20160;&#40636;&#12302;&#20491;&#20154;&#30693;&#35672;&#31649;&#29702;&#12303;&#65311;&#21448;&#25110;&#26159;&#35498;&#65292;&#35373;&#35336;&#20102;&#31070;&#22855;&#30340; prompt &#65292;&#35731; LLM &#33258;&#21205;&#29983;&#25104; newsletter &#20043;&#39006;&#30340;&#65311;&#12301;</p><p>&#31572;&#26696;&#21487;&#33021;&#35731;&#35712;&#32773;&#20497;&#22833;&#26395;&#20102;&#65292;&#27794;&#26377;&#20160;&#40636; technology &#12290;</p><ol><li><p>&#31337;&#23450;&#30332; newsletter &#30340;&#35201;&#35363;&#65306;&#12300;&#23531;&#20316;&#33287;&#30332;&#25991;&#25286;&#25104;&#20841;&#20214;&#20107;&#20358;&#20570;&#12290;&#12301;&#25105;&#36890;&#24120;&#26159;&#36984;&#19968;&#20491;&#26178;&#38291;&#20358;&#23531;&#20316;&#12289;&#28982;&#24460;&#29992; substack &#24179;&#21488;&#30340; scheduling &#21151;&#33021;&#65292;&#35373;&#23450;&#26178;&#38291;&#20358;&#30332;&#25991;&#12290;&#36889;&#20491;&#20316;&#27861;&#23427;&#21487;&#20197;&#30906;&#20445;&#23531;&#20316;&#30340;&#21697;&#36074;&#33287;&#27138;&#36259;&#12290;&#27794;&#24515;&#24773;&#26178;&#65292;&#21487;&#20197;&#38568;&#20415;&#20098;&#23531;&#19968;&#20123;&#26481;&#35199;&#65292;30 &#20998;&#37912;&#20132;&#20214;&#12290;&#36935;&#21040;&#26377;&#24847;&#24605;&#30340;&#38988;&#30446;&#12289;&#24819;&#35201;&#36879;&#36942;&#23531;&#20316;&#20358;&#24819;&#28165;&#26970;&#30340;&#38988;&#30446;&#65292;&#25105;&#20063;&#21487;&#20197;&#23531;&#19977;&#12289;&#22235;&#20491;&#37912;&#38957;&#12290;</p></li><li><p>&#20027;&#35201;&#30340;&#24037;&#20855;&#65306;Markdown &#26684;&#24335;&#65292; Typeless &#35486;&#38899;&#36664;&#20837;&#65292; &#21483; LLM &#32102;&#20104;&#23531;&#20316;&#30340;&#21453;&#39243;</p></li><li><p>&#38500;&#20102;&#23531;&#20316;&#33287;&#20844;&#38283;&#30332;&#34920;&#20316;&#21697;&#65292;&#27794;&#26377;&#20219;&#20309;&#20854;&#23427;&#30340;&#20491;&#20154;&#30693;&#35672;&#31649;&#29702; (personal knowledge management)</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!fS3v!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc1067fd-7038-46b4-bd28-ea721d1e71d4_514x560.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!fS3v!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc1067fd-7038-46b4-bd28-ea721d1e71d4_514x560.png 424w, https://substackcdn.com/image/fetch/$s_!fS3v!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc1067fd-7038-46b4-bd28-ea721d1e71d4_514x560.png 848w, https://substackcdn.com/image/fetch/$s_!fS3v!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc1067fd-7038-46b4-bd28-ea721d1e71d4_514x560.png 1272w, https://substackcdn.com/image/fetch/$s_!fS3v!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc1067fd-7038-46b4-bd28-ea721d1e71d4_514x560.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!fS3v!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc1067fd-7038-46b4-bd28-ea721d1e71d4_514x560.png" width="514" height="560" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fc1067fd-7038-46b4-bd28-ea721d1e71d4_514x560.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:560,&quot;width&quot;:514,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:530762,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://replware.substack.com/i/194559568?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc1067fd-7038-46b4-bd28-ea721d1e71d4_514x560.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!fS3v!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc1067fd-7038-46b4-bd28-ea721d1e71d4_514x560.png 424w, https://substackcdn.com/image/fetch/$s_!fS3v!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc1067fd-7038-46b4-bd28-ea721d1e71d4_514x560.png 848w, https://substackcdn.com/image/fetch/$s_!fS3v!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc1067fd-7038-46b4-bd28-ea721d1e71d4_514x560.png 1272w, https://substackcdn.com/image/fetch/$s_!fS3v!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc1067fd-7038-46b4-bd28-ea721d1e71d4_514x560.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2><strong>&#38263;&#31687;&#23531;&#20316;&#20316;&#28858;&#19968;&#31278;&#26377;&#25928;&#30340; PKM</strong></h2><p>&#26366;&#32147;&#30475;&#36942;&#21029;&#20154;&#23531;&#65292;&#23531;&#20316;&#26159;&#35201;&#25226;&#33258;&#24049;&#33126;&#23376;&#35041;&#30340;&#30693;&#35672;&#65292;&#21270;&#28858;&#32218;&#24615;&#20358;&#36664;&#20986;&#12290;&#25105;&#19981;&#22826;&#21516;&#24847;&#65292;&#33267;&#23569;&#23565;&#25105;&#20358;&#35611;&#65292;&#25105;&#36890;&#24120;&#26159;&#27193;&#29376;&#22320;&#22312;&#23531;&#20316;&#12290;&#20351;&#29992; Markdown &#26684;&#24335;&#21487;&#20197;&#35731;&#36889;&#40670;&#35722;&#24471;&#24456;&#26126;&#39023;&#12290;&#27599;&#19968;&#20491;&#19981;&#21516;&#23652;&#32026;&#30340; heading (#, ##, ###) &#37117;&#26159;&#19968;&#20491;&#36229;&#22823;&#30340;&#23376;&#27193; (sub tree)&#65292;&#32780;&#23376;&#27193;&#21448;&#21487;&#20197;&#21253;&#21547;&#20854;&#23427;&#30340;&#23376;&#27193;&#65292;&#30452;&#21040;&#26368;&#24460;&#21270;&#28858;&#19968;&#31687;&#21448;&#19968;&#31687;&#30340;&#23567;&#25991;&#31456;&#12289;&#23567;&#27573;&#33853;&#28858;&#27490;&#12290;</p><p>&#27599;&#19968;&#31687;&#25991;&#31456;&#23601;&#26159;&#19968;&#38982;&#23376;&#27193;&#65292;&#23427;&#21487;&#33021;&#21482;&#26377; 1, 2 &#20491;&#20027;&#35201;&#27010;&#24565;&#65292;&#37027;&#23601;&#26159;&#19968;&#20841;&#20491;&#32080;&#40670;&#65292;&#25645;&#37197;&#38957;&#23614;&#21435;&#32068;&#21512;&#12290;&#32780;&#38263;&#31687;&#23531;&#20316;&#26178; (&#27604;&#26041;&#35498;&#65292;&#23531;&#20491; 3 &#33836;&#23383;&#20197;&#19978;) &#65292;&#21063;&#35201;&#20107;&#21069;&#20808;&#27083;&#24605;&#22823;&#32177;&#65292;&#25226;&#35201;&#23531;&#30340;&#23376;&#27193;&#65292;&#20998;&#31456;&#31680;&#23433;&#25490;&#22909;&#12290;</p><p>&#32780;&#24456;&#26377;&#36259;&#30340;&#20107;&#24773;&#26159;&#65292;&#28961;&#35542;&#25105;&#22312;&#20107;&#21069;&#24590;&#40636;&#23433;&#25490;&#22823;&#32177;&#65292;&#20760;&#37327;&#23559;&#22823;&#32177;&#23531;&#24471;&#24456;&#35920;&#23500;&#65292;&#25105;&#36890;&#24120;&#30495;&#30340;&#22312;&#23531;&#30340;&#26178;&#20505;&#65292;&#24448;&#24448;&#36996;&#26159;&#28961;&#27861;&#29031;&#32177;&#23531;&#20316;&#12290;&#30495;&#23526;&#22312;&#23531;&#30340;&#26178;&#20505;&#65292;&#22240;&#28858;&#21453;&#35206;&#20462;&#25913;&#30340;&#38364;&#31995;&#65292;&#21448;&#26371;&#24819;&#20986;&#26032;&#30340;&#35438;&#35695;&#26041;&#24335;&#12289;&#26032;&#30340;&#28436;&#32377;&#26041;&#24335;&#65292;&#26368;&#24460;&#24448;&#24448;&#20063;&#26159;&#19968;&#37002;&#23531;&#20986;&#25104;&#21697;&#65292;&#28982;&#24460;&#22238;&#38957;&#20877;&#21435;&#20462;&#25913;&#22823;&#32177;&#12290;</p><p>&#25105;&#22312;&#23531;&#12298;<a href="https://www.books.com.tw/products/0011032047">&#24478;&#35430;&#31639;&#34920;&#21040;&#36039;&#26009;&#24179;&#21488;</a>&#12299;&#19968;&#26360;&#26178;&#65292;&#30001;&#26044;&#26360;&#30340;&#31532;&#20108;&#37096;&#20998;&#26159;&#35527;&#36039;&#26009;&#20998;&#26512;&#65292;&#36889;&#26159;&#19968;&#20491;&#23565;&#25105;&#20358;&#35498;&#65292;&#30456;&#23565;&#38627;&#23531;&#30340;&#20027;&#38988;&#65292;&#22240;&#28858;&#25105;&#36942;&#21435;&#24478;&#20107;&#30340;&#24037;&#20316;&#35041;&#65292;&#36039;&#26009;&#20998;&#26512;&#30340;&#37096;&#20998;&#23526;&#22312;&#19981;&#22810;&#12290;&#28982;&#32780;&#65292;&#32771;&#24942;&#21040;&#25105;&#26368;&#21021;&#23531;&#20316;&#35373;&#23450;&#30340;&#30446;&#27161;&#65292;&#24076;&#26395;&#23531;&#19968;&#26412;&#21487;&#20197;&#35527;&#22909;&#36039;&#26009;&#24037;&#31243;&#33287;&#36039;&#26009;&#20998;&#26512;&#30340;&#26360;&#65292;&#36996;&#26159;&#35258;&#24471;&#26360;&#25033;&#35442;&#35201;&#21253;&#21547;&#36889;&#20491;&#37096;&#20998;&#12290;&#32317;&#20043;&#65292;&#30495;&#23526;&#30340;&#23531;&#20316;&#36942;&#31243;&#26159;&#65306;&#12300;&#25105;&#20808;&#25226;&#31532;&#20108;&#37096;&#20998;&#23531;&#20102;&#20841;&#33836;&#23383;&#65292;&#24460;&#20358;&#21448;&#35258;&#24471;&#26159;&#22403;&#22334;&#65292;&#25972;&#20491;&#25172;&#25481;&#37325;&#23531;&#12290;&#12301;</p><p>&#32780;&#24460;&#65292;&#21448;&#20877;&#22810;&#26597;&#36039;&#26009;&#12289;&#21448;&#20877;&#37325;&#26032;&#20358;&#36942;&#23531;&#23436;&#30340;&#36039;&#26009;&#20998;&#26512;&#65292;&#32317;&#31639;&#26159;&#19968;&#20491;&#19981;&#26371;&#35731;&#25105;&#35258;&#24471;&#19999;&#20154;&#30340;&#20316;&#21697;&#12290;</p><h2><strong>&#28858;&#20309;&#21051;&#24847;&#30340; PKM &#27794;&#26377;&#25928;&#65311;</strong></h2><p>&#37027;&#28858;&#20160;&#40636;&#27794;&#26377;&#20570;&#20160;&#40636;&#20491;&#20154;&#30693;&#35672;&#31649;&#29702;&#21602;&#65311;</p><p>&#20570;&#36942;&#65292;&#20294;&#24460;&#20358;&#35258;&#24471;&#27794;&#26377;&#29305;&#21029;&#26377;&#25928;&#65292;&#23601;&#25078;&#24471;&#20570;&#20102;&#12290;&#26366;&#32147;&#35430;&#36942;&#25226;&#35712;&#36942;&#30340;&#26481;&#35199;&#25972;&#29702;&#25104;&#31558;&#35352;&#12289;&#36899;&#32080;&#25104;&#30693;&#35672;&#32178;&#36335;&#12290;&#20294;&#26159;&#65292;&#19968;&#20358;&#25105;&#36890;&#24120;&#20006;&#27794;&#26377;&#20160;&#40636;&#26178;&#38291;&#22238;&#21435;&#30475;&#65292;&#20108;&#20358;&#65292;&#25972;&#29702;&#20043;&#24460;&#65292;&#33126;&#23376;&#20063;&#27794;&#26377;&#35722;&#24471;&#29305;&#21029;&#28165;&#26970;&#12290;</p><p>&#21839;&#38988;&#20986;&#22312;&#21738;&#65311;&#25105;&#24460;&#20358;&#30340;&#29702;&#35299;&#26159;&#65306;<strong>&#25972;&#29702;&#26412;&#36523;&#19981;&#26159;&#24605;&#32771;&#12290;</strong></p><p>&#25226;&#36039;&#35338;&#27512;&#39006;&#12289;&#25171;&#27161;&#31844;&#12289;&#24314;&#36899;&#32080;&#65292;&#36889;&#20123;&#21205;&#20316;&#32102;&#20154;&#19968;&#31278;&#30693;&#35672;&#22312;&#22686;&#38263;&#30340;&#37679;&#35258;&#12290;&#20294;&#20854;&#23526;&#21482;&#26159;&#22312;&#25644;&#36939;&#65292;&#19981;&#26159;&#22312;&#28040;&#21270;&#12290;&#30693;&#35672;&#35201;&#30495;&#27491;&#35722;&#25104;&#33258;&#24049;&#30340;&#65292;&#38656;&#35201;&#19968;&#20491;&#36942;&#31243;&#65306;&#20320;&#35201;&#34987;&#36924;&#33879;&#25226;&#27169;&#31946;&#30340;&#29702;&#35299;&#35498;&#28165;&#26970;&#65292;&#25226;&#33258;&#20197;&#28858;&#25026;&#30340;&#22320;&#26041;&#36924;&#20986;&#30772;&#32187;&#65292;&#28982;&#24460;&#37325;&#26032;&#24314;&#27083;&#12290;</p><p>&#36889;&#20491;&#36942;&#31243;&#24456;&#30171;&#33510;&#65292;&#32780;&#21051;&#24847;&#30340; PKM &#31995;&#32113;&#24190;&#20046;&#24478;&#20358;&#19981;&#26371;&#32102;&#20320;&#36889;&#31278;&#22739;&#21147;&#12290;&#23531;&#20316;&#26371;&#12290;&#23588;&#20854;&#26159;&#20844;&#38283;&#30332;&#34920;&#30340;&#23531;&#20316;&#12290;&#30693;&#36947;&#26377;&#20154;&#26371;&#35712;&#65292;&#20320;&#23601;&#19981;&#33021;&#21547;&#31946;&#24118;&#36942;&#12290;&#19968;&#20491;&#35611;&#19981;&#28165;&#26970;&#30340;&#27010;&#24565;&#65292;&#22312;&#33126;&#23376;&#35041;&#21487;&#20197;&#19968;&#30452;&#21547;&#31946;&#19979;&#21435;&#65307;&#19968;&#26086;&#35201;&#23531;&#25104;&#25991;&#23383;&#65292;&#28431;&#27934;&#31435;&#21051;&#23601;&#29694;&#24418;&#20102;&#12290;</p><p>&#21363;&#20351;&#26085;&#24460;&#24456;&#23569;&#22238;&#21435;&#20877;&#37325;&#35712;&#33258;&#24049;&#30340;&#20316;&#21697;&#65292;&#37027;&#20123;&#37325;&#26032;&#21453;&#35206;&#29702;&#35299;&#12289;&#37325;&#26032;&#29983;&#25104;&#30340;&#32147;&#39511;&#65292;&#20063;&#26371;&#24118;&#20358;&#23526;&#36074;&#30340;&#30693;&#35672;&#36681;&#21270;&#12290;</p><h2><strong>&#32080;&#35542;</strong></h2><p>&#20160;&#40636;&#27171;&#30340;&#30693;&#35672;&#31649;&#29702;&#26159;&#26377;&#25928;&#30340;&#65311;</p><p>&#25105;&#30340;&#31572;&#26696;&#26159;&#65306;&#12300;&#33021;&#36924;&#20320;<strong>&#24605;&#32771;</strong>&#30340;&#36890;&#24120;&#23601;&#26371;&#26377;&#25928;&#12290;&#12301;</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://replware.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading PruningSuccess! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[網路爬蟲帶來的資料困境]]></title><description><![CDATA[&#38577;&#32780;&#19981;&#29694;&#30340;&#36039;&#26009;&#24037;&#31243;&#21839;&#38988;]]></description><link>https://replware.substack.com/p/69f</link><guid isPermaLink="false">https://replware.substack.com/p/69f</guid><dc:creator><![CDATA[Laurence Chen]]></dc:creator><pubDate>Sun, 12 Apr 2026 23:01:11 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!F4Ly!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0d9cfac-c59c-474d-ac87-489076c922a1_1214x810.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#25105;&#26377;&#20491;&#26379;&#21451;&#65292;&#20182;&#32147;&#29151;&#19968;&#20154;&#20844;&#21496;&#12290;&#35442;&#20844;&#21496;&#25152;&#25552;&#20379;&#20043;&#26381;&#21209;&#65292;&#20854;&#32972;&#24460;&#30340;&#36939;&#20316;&#65292;&#26377;&#36879;&#36942;&#32178;&#36335;&#29228;&#34802;(web crawler) &#25910;&#38598;&#32178;&#36335;&#19978;&#30340;&#36039;&#26009;&#20358;&#20570;&#36039;&#26009;&#25033;&#29992;&#12290;</p><p>&#25105;&#20043;&#21069;&#20986;&#26360;&#30340;&#26178;&#65292;&#22240;&#28858;&#36319;&#20182;&#22312;&#21516;&#19968;&#20491; Coworking Space &#24037;&#20316;&#65292;&#25105;&#26377;&#20998;&#20139;&#36039;&#35338;&#32102;&#20182;&#12290;&#19978;&#36913;&#20182;&#20659;&#20102;&#19968;&#20491;&#35338;&#24687;&#32102;&#25105;&#65292;&#26159;&#19968;&#20491;&#25130;&#22294;&#65292;&#35041;&#38957;&#23531;&#20102;&#12300;&#28246;&#20489;&#26550;&#27083;&#12301;&#65288;Data Lakehouse&#65289;&#12289;&#12300;&#29518;&#29260;&#26550;&#27083;&#12301;&#65288;Medallion Architecture&#65289;&#31561;&#38364;&#37749;&#23383;&#12290;&#20182;&#21839;&#25105;&#35498;&#65292;&#20687;&#36889;&#20123;&#27010;&#24565;&#65292;&#19981;&#30693;&#36947;&#26377;&#27794;&#26377;&#20160;&#40636;&#26360;&#21487;&#20197;&#21443;&#32771;&#30475;&#30475;&#12290;</p><p>&#25105;&#22238;&#31572;&#20182;&#35498;&#65292;&#36889;&#26159;&#36319; <a href="https://www.books.com.tw/products/0011032047">Modern Data Stack</a> &#26377;&#38364;&#30340;&#26360;&#12290;&#36889;&#39006;&#30340;&#26360;&#19981;&#22810;&#65292;&#25818;&#25105;&#25152;&#30693;&#65292;&#32321;&#39636;&#20013;&#25991;&#30340;&#31532;&#19968;&#26412;&#23601;&#26159;&#25105;&#30340;&#33879;&#20316;&#12290;&#20182;&#32893;&#20102;&#23601;&#22238;&#31572;&#25105;&#35498;&#65306;&#12300;&#21908;&#65281;&#21407;&#20358;&#21483;&#20570; Modern Data Stack &#21834;&#65311;&#37027;&#25105;&#20877;&#21435;&#22825;&#29903;&#26360;&#23616;&#25214;&#25214;&#12290;&#12301;</p><p>&#32317;&#20043;&#65292;&#24460;&#20358;&#65292;&#25105;&#20497;&#32004;&#20102;&#19968;&#20491;&#26178;&#38291;&#32842;&#19968;&#19979;&#20182;&#30340;&#21839;&#38988;&#12290;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!F4Ly!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0d9cfac-c59c-474d-ac87-489076c922a1_1214x810.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!F4Ly!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0d9cfac-c59c-474d-ac87-489076c922a1_1214x810.png 424w, https://substackcdn.com/image/fetch/$s_!F4Ly!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0d9cfac-c59c-474d-ac87-489076c922a1_1214x810.png 848w, https://substackcdn.com/image/fetch/$s_!F4Ly!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0d9cfac-c59c-474d-ac87-489076c922a1_1214x810.png 1272w, https://substackcdn.com/image/fetch/$s_!F4Ly!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0d9cfac-c59c-474d-ac87-489076c922a1_1214x810.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!F4Ly!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0d9cfac-c59c-474d-ac87-489076c922a1_1214x810.png" width="1214" height="810" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b0d9cfac-c59c-474d-ac87-489076c922a1_1214x810.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:810,&quot;width&quot;:1214,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2218528,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://replware.substack.com/i/193042594?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0d9cfac-c59c-474d-ac87-489076c922a1_1214x810.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!F4Ly!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0d9cfac-c59c-474d-ac87-489076c922a1_1214x810.png 424w, https://substackcdn.com/image/fetch/$s_!F4Ly!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0d9cfac-c59c-474d-ac87-489076c922a1_1214x810.png 848w, https://substackcdn.com/image/fetch/$s_!F4Ly!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0d9cfac-c59c-474d-ac87-489076c922a1_1214x810.png 1272w, https://substackcdn.com/image/fetch/$s_!F4Ly!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0d9cfac-c59c-474d-ac87-489076c922a1_1214x810.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>&#20182;&#29992;&#29228;&#34802;&#24478;&#32178;&#36335;&#21462;&#24471;&#20102;&#19968;&#20123;&#26989;&#21209;&#38656;&#35201;&#30340;&#21407;&#22987;&#36039;&#26009;&#65292;&#20786;&#23384;&#22312;&#38651;&#33126;&#30340;&#19968;&#20491; DuckDB &#36039;&#26009;&#24235;&#35041;&#12290;&#32178;&#36335;&#19978;&#25235;&#19979;&#20358;&#30340;&#21407;&#22987;&#36039;&#26009;&#38656;&#35201;&#20808;&#28165;&#27927;&#12289;&#25972;&#29702;&#12289;&#27161;&#35387;&#20043;&#24460;&#65292;&#25165;&#33021;&#20351;&#29992;&#12290;&#22312;&#27794;&#26377;&#23566;&#20837; Modern Data Stack &#30340;&#21069;&#25552;&#20043;&#19979;&#65292;&#20182;&#20006;&#27794;&#26377;&#19968;&#20491;&#31243;&#24335;&#30908;&#33287;&#36039;&#26009;&#30340;&#31649;&#29702;&#26041;&#24335;&#65292;&#20197;&#33268;&#26044;&#24840;&#20358;&#24840;&#20098;&#12289;&#24840;&#20358;&#24840;&#30475;&#19981;&#25026;&#12289;&#24840;&#20358;&#24840;&#38627;&#31649;&#29702;&#12290;&#36996;&#26377;&#65292;&#34389;&#29702;&#23436;&#36039;&#26009;&#24460;&#65292;&#22914;&#26524;&#21407;&#22987;&#36039;&#26009;&#26377;&#35722;&#21205;&#65292;&#20182;&#20063;&#24120;&#24120;&#19981;&#30693;&#36947;&#35442;&#24478;&#21738;&#35041;&#38283;&#22987;&#37325;&#26032;&#34389;&#29702;&#12290;</p><p>&#32317;&#20043;&#65292;&#25105;&#32102;&#20102;&#20182;&#24190;&#20491;&#24847;&#35211;&#65306;</p><ol><li><p>&#35299;&#37323;&#28858;&#20160;&#40636;&#29518;&#29260;&#26550;&#27083;&#21487;&#33021;&#19981;&#26159;&#29694;&#22312;&#20182;&#26368;&#38656;&#35201;&#30340;&#26481;&#35199;&#12290;&#20182;&#30340; use case &#29992;&#20491;&#20154;&#38651;&#33126;&#23601;&#36305;&#24471;&#21205;&#20102;&#8212;&#8212;&#35215;&#27169;&#22816;&#22823;&#20102;&#20877;&#25913;&#29992;&#23565;&#25033;&#30340;&#26550;&#27083;&#21363;&#21487;&#65292;&#19981;&#38656;&#35201;&#28858;&#20102;&#36319;&#19978;&#27969;&#34892;&#32780;&#22686;&#21152;&#35079;&#38620;&#24230;&#12290;</p></li><li><p>&#21443;&#32771;&#25105;&#30340;&#26360;&#65292;&#23566;&#20837; Modern Data Stack &#12290;</p></li><li><p>dbt incremental model &#22823;&#27010;&#24590;&#40636;&#23531;&#12290;</p></li></ol><h2><strong>&#24515;&#24471;</strong></h2><p>&#24478;&#36889;&#20491;&#23565;&#35527;&#65292;&#25105;&#23416;&#21040;&#20102;&#19968;&#20214;&#20107;&#65306;Modern Data Stack &#30340;&#36969;&#29992;&#38272;&#27323;&#65292;&#36319;&#36039;&#26009;&#37327;&#25110;&#20844;&#21496;&#35215;&#27169;&#30340;&#38364;&#20418;&#19981;&#22823;&#65292;&#36319;&#36039;&#26009;&#34389;&#29702;&#30340;&#35079;&#38620;&#24230;&#38364;&#20418;&#25165;&#22823;&#12290;&#26377;&#22312;&#29992;&#32178;&#36335;&#29228;&#34802;&#30340;&#23560;&#26696;&#65292;&#21407;&#22987;&#36039;&#26009;&#39634;&#12289;&#35722;&#21205;&#38971;&#32321;&#12289;&#28165;&#27927;&#37007;&#36655;&#21448;&#23481;&#26131;&#24840;&#30090;&#24840;&#35079;&#38620;&#8212;&#8212;&#36889;&#31278;&#24773;&#22659;&#65292;&#24448;&#24448;&#23601;&#26159; Modern Data Stack &#26368;&#33021;&#30332;&#25582;&#20729;&#20540;&#30340;&#22320;&#26041;&#12290;</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://replware.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading PruningSuccess! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[函數式編程的不同層次]]></title><description><![CDATA[&#20358;&#35527;&#35527;&#19981;&#21516;&#23652;&#27425;&#30340;&#20989;&#25976;&#24335;&#32232;&#31243;]]></description><link>https://replware.substack.com/p/192</link><guid isPermaLink="false">https://replware.substack.com/p/192</guid><dc:creator><![CDATA[Laurence Chen]]></dc:creator><pubDate>Sun, 05 Apr 2026 23:00:59 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!_rAA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65a0d85d-9a76-4f05-ab68-1eeeb94f4d52_1330x878.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#24456;&#22810;&#21021;&#23416;&#32773;&#22312;&#25509;&#35320; FP &#19981;&#20037;&#24460;&#26371;&#26377;&#19968;&#20491;&#24456;&#12068;&#30340;&#30097;&#21839;&#65306;</p><blockquote><p>&#25105;&#26371;&#12132; map, filter, reduce &#20102;&#65292;&#37027;&#25105;&#31639;&#26159;&#26371; FP &#20102;&#21966;&#65311;</p></blockquote><p>&#24456;&#21487;&#24796;&#65292;&#22810;&#25976;&#30340;&#20154;&#22914;&#26524;&#21482;&#26371;&#23531; <code>map</code>&#12289;<code>filter</code>&#12289;<code>reduce</code>&#30340;&#35441;&#65292;&#25972;&#39636;&#31243;&#24335;&#30908;&#20381;&#28982;&#26159;&#23531;&#25104; imperative &#30340;&#39080;&#26684;&#12290;</p><p>&#30495;&#27491;&#30340;&#24046;&#36317;&#19981;&#22312;&#26044;&#29992;&#20102;&#21738;&#20123;&#20989;&#25976;&#65292;&#32780;&#22312;&#26044;<strong>&#24605;&#32771;&#26041;&#24335;</strong>&#65306;</p><ul><li><p>Imperative&#65306;&#25105;&#35201;&#24590;&#40636;<strong>&#20570;</strong>&#36889;&#20214;&#20107;&#65311;&#65288;&#27493;&#39519;&#65289;</p></li><li><p>Functional&#65306;&#36889;&#20214;&#20107;&#30340;<strong>&#32080;&#26524;&#26159;&#20160;&#40636;</strong>&#65311;&#65288;&#36039;&#26009;&#36681;&#25563;&#65289;</p></li></ul><p>&#27492;&#22806;&#65292;&#38568;&#33879;&#38936;&#24735;&#30340;&#23652;&#27425;&#21152;&#28145;&#65292;&#29087;&#32244; functional style &#30340;&#20154;&#65292;&#36996;&#26371;&#21051;&#24847;&#23559;&#20302;&#38542;&#20294;&#30452;&#35258;&#30340;&#23531;&#27861;&#65292;&#25913;&#25104;&#39640;&#38542;&#19988;&#21487;&#20197;&#20659;&#36948;&#24847;&#22294;&#30340;&#23531;&#27861;&#12290;</p><p>&#20197;&#19979;&#29992;&#19968;&#20123;&#38988;&#30446;&#33287;&#35299;&#27861;&#20358;&#27604;&#23565; imperative &#33287; functional &#30340;&#35299;&#27861;&#12290;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_rAA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65a0d85d-9a76-4f05-ab68-1eeeb94f4d52_1330x878.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_rAA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65a0d85d-9a76-4f05-ab68-1eeeb94f4d52_1330x878.png 424w, https://substackcdn.com/image/fetch/$s_!_rAA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65a0d85d-9a76-4f05-ab68-1eeeb94f4d52_1330x878.png 848w, https://substackcdn.com/image/fetch/$s_!_rAA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65a0d85d-9a76-4f05-ab68-1eeeb94f4d52_1330x878.png 1272w, https://substackcdn.com/image/fetch/$s_!_rAA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65a0d85d-9a76-4f05-ab68-1eeeb94f4d52_1330x878.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_rAA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65a0d85d-9a76-4f05-ab68-1eeeb94f4d52_1330x878.png" width="1330" height="878" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/65a0d85d-9a76-4f05-ab68-1eeeb94f4d52_1330x878.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:878,&quot;width&quot;:1330,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2410529,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://replware.substack.com/i/193139957?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65a0d85d-9a76-4f05-ab68-1eeeb94f4d52_1330x878.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!_rAA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65a0d85d-9a76-4f05-ab68-1eeeb94f4d52_1330x878.png 424w, https://substackcdn.com/image/fetch/$s_!_rAA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65a0d85d-9a76-4f05-ab68-1eeeb94f4d52_1330x878.png 848w, https://substackcdn.com/image/fetch/$s_!_rAA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65a0d85d-9a76-4f05-ab68-1eeeb94f4d52_1330x878.png 1272w, https://substackcdn.com/image/fetch/$s_!_rAA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65a0d85d-9a76-4f05-ab68-1eeeb94f4d52_1330x878.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2><strong>&#38988;&#30446;&#19968;&#65306;Quick Sort</strong></h2><h3><strong>Python&#65288;Imperative &#24605;&#32173;&#65289;</strong></h3><pre><code>def qsort(lst):
    if len(lst) &lt;= 1:
        return lst
    pivot = lst[0]
    left = []
    right = []
    for x in lst[1:]:
        if x &lt;= pivot:
            left.append(x)
        else:
            right.append(x)
    return qsort(left) + [pivot] + qsort(right)</code></pre><h3><strong>Python&#65288;&#26371;&#23531; filter &#30340;&#20154;&#65289;</strong></h3><pre><code>def qsort(lst):
    if not lst:
        return []
    pivot = lst[0]
    rest = lst[1:]
    return (qsort(list(filter(lambda x: x &lt;= pivot, rest)))
            + [pivot]
            + qsort(list(filter(lambda x: x &gt; pivot, rest))))</code></pre><h3><strong>Clojure</strong></h3><pre><code>(defn qsort [[pivot &amp; rest]]
  (when pivot
    (let [smaller (filter #(&lt;= % pivot) rest)
          larger  (filter #(&gt; % pivot) rest)]
      (concat (qsort smaller) [pivot] (qsort larger)))))</code></pre><p><strong>&#24046;&#30064;&#30340;&#26412;&#36074;</strong>&#65306;&#31532;&#19968;&#31278; Python &#30340;&#23531;&#27861;&#26159;&#20856;&#22411;&#30340;&#23531;&#27861;&#65292;&#32780;&#31532;&#20108;&#31278; Python &#30340;&#23531;&#27861;&#23601;&#38750;&#24120;&#22320;&#20989;&#25976;&#24335;&#65292;&#26412;&#36074;&#19978;&#36319; Clojure &#30340;&#23531;&#27861;&#24190;&#20046;&#19968;&#33268;&#12290;&#19968;&#33324;&#30340; Python programmer &#21363;&#20351;&#26371; map, filter &#65292;&#20063;&#24456;&#23481;&#26131;&#22312;&#36889;&#19968;&#38988;&#65292;&#33258;&#21205;&#25913;&#22238;&#21435;&#29992; imperative &#30340;&#23531;&#27861;&#12290;</p><div><hr></div><h2><strong>&#38988;&#30446;&#20108;&#65306;mapcat &#23637;&#38283;&#65288;repeat &#30340;&#35486;&#24847;&#65289;</strong></h2><p><strong>&#38988;&#30446;</strong>&#65306;&#36664;&#20837; <code>[1 2 3]</code>&#65292;&#36664;&#20986; <code>(1 2 2 3 3 3)</code>&#65288;&#27599;&#20491;&#20803;&#32032;&#37325;&#35079;&#33258;&#24049;&#30340;&#27425;&#25976;&#65289;&#12290;</p><h3><strong>Python&#65288;Imperative&#65289;</strong></h3><pre><code>result = []
for x in [1, 2, 3]:
    for _ in range(x):
        result.append(x)</code></pre><h3><strong>Python&#65288;&#26371;&#23531; list comprehension &#30340;&#20154;&#65289;</strong></h3><pre><code>result = [x for x in [1, 2, 3] for _ in range(x)]</code></pre><h3><strong>Clojure</strong></h3><pre><code>(mapcat #(repeat % %) [1 2 3])
;; =&gt; (1 2 2 3 3 3)</code></pre><p><strong>&#24046;&#30064;&#30340;&#26412;&#36074;</strong>&#65306;Clojure &#20154;&#30475;&#21040;&#36889;&#20491;&#21839;&#38988;&#65292;&#31532;&#19968;&#20491;&#21453;&#25033;&#26159;&#65306;&#12300;&#27599;&#20491;&#20803;&#32032;&#29986;&#29983;&#19968;&#20491; sequence&#65292;&#20877;&#25226;&#25152;&#26377; sequence &#25509;&#36215;&#20358;&#12301;&#9472;&#9472;&#36889;&#23601;&#26159; <code>mapcat</code> &#30340;&#35486;&#24847;&#12290;<code>repeat</code> &#21063;&#26159;&#25226;&#12300;&#37325;&#35079;&#12301;&#36889;&#20214;&#20107;&#25277;&#35937;&#21270;&#12290;Python &#30340; list comprehension &#38614;&#28982;&#31777;&#28500;&#65292;&#20294;&#23427;&#30340;&#24605;&#32173;&#27169;&#22411;&#20173;&#28982;&#26159;&#20841;&#23652;&#36852;&#22280;&#65292;&#32780;&#19981;&#26159;&#12300;&#23637;&#38283;&#12301;&#36889;&#20491;&#27010;&#24565;&#12290;</p><div><hr></div><h2><strong>&#38988;&#30446;&#19977;&#65306;Running Sum&#65288;reductions&#65289;</strong></h2><p><strong>&#38988;&#30446;</strong>&#65306;&#36664;&#20837; <code>[1 2 3 4 5]</code>&#65292;&#36664;&#20986;&#32047;&#31309;&#21644; <code>[1 3 6 10 15]</code>&#12290;</p><h3><strong>Python&#65288;Imperative&#65289;</strong></h3><pre><code>nums = [1, 2, 3, 4, 5]
result = []
total = 0
for x in nums:
    total += x
    result.append(total)</code></pre><h3><strong>Python&#65288;functional &#22039;&#35430;&#65289;</strong></h3><pre><code>from functools import reduce
# reduce &#21482;&#33021;&#32102;&#26368;&#32066;&#32080;&#26524;&#65292;&#19981;&#23481;&#26131;&#21462;&#21040;&#20013;&#38291;&#29376;&#24907;</code></pre><h3><strong>Clojure</strong></h3><pre><code>(reductions + [1 2 3 4 5])
;; =&gt; (1 3 6 10 15)</code></pre><p><strong>&#24046;&#30064;&#30340;&#26412;&#36074;</strong>&#65306;<code>reductions</code> &#26159; <code>reduce</code> &#30340;&#12300;&#30041;&#19979;&#25152;&#26377;&#20013;&#38291;&#20540;&#12301;&#29256;&#26412;&#12290;Clojure &#20154;&#30693;&#36947;&#36889;&#20491;&#25277;&#35937;&#23384;&#22312;&#65292;&#25152;&#20197;&#36899;&#12300;&#29992;&#20160;&#40636;&#12301;&#37117;&#19981;&#38656;&#35201;&#24605;&#32771;&#12290;Python &#20154;&#36890;&#24120;&#19981;&#30693;&#36947; <code>itertools.accumulate</code> &#30340;&#23384;&#22312;&#65292;&#21363;&#20351;&#30693;&#36947;&#65292;&#20063;&#24448;&#24448;&#26159;&#24460;&#20358;&#26597;&#21040;&#30340;&#65292;&#32780;&#19981;&#26159;&#30452;&#35258;&#21453;&#25033;&#12290;<strong>FP &#30340;&#29087;&#32244;&#24230;&#65292;&#24456;&#22823;&#31243;&#24230;&#19978;&#26159;&#12300;&#30693;&#36947;&#21738;&#20123;&#25277;&#35937;&#23384;&#22312;&#12301;&#30340;&#29087;&#32244;&#24230;&#12290;</strong></p><div><hr></div><h2><strong>&#38988;&#30446;&#22235;&#65306;Nested If &#8594; cond not</strong></h2><p><strong>&#38988;&#30446;</strong>&#65306;&#20381;&#24207;&#39511;&#35657;&#22810;&#20491;&#26781;&#20214;&#65292;&#22833;&#25943;&#26178;&#21508;&#33258;&#26377;&#23565;&#25033;&#30340; handler&#12290;</p><h3><strong>Python&#65288;Imperative&#65289;</strong></h3><pre><code>def process(ctx):
    if step_a(ctx):
        if step_b(ctx):
            if step_c(ctx):
                return do_something(ctx)
            else:
                return handle_c(ctx)
        else:
            return handle_b(ctx)
    else:
        return handle_a(ctx)</code></pre><h3><strong>Clojure&#65288;&#30452;&#35258;&#20294;&#19981;&#22816;&#22909;&#65289;</strong></h3><pre><code>(if (step-a ctx)
  (if (step-b ctx)
    (if (step-c ctx)
      (do-something ctx)
      (handle-c ctx))
    (handle-b ctx))
  (handle-a ctx))</code></pre><h3><strong>Clojure&#65288;cond not pattern&#65289;</strong></h3><pre><code>(cond
  (not (step-a ctx)) (handle-a ctx)
  (not (step-b ctx)) (handle-b ctx)
  (not (step-c ctx)) (handle-c ctx)
  :else              (do-something ctx))</code></pre><p><strong>&#24046;&#30064;&#30340;&#26412;&#36074;</strong>&#65306;<code>cond not</code> &#25226;&#12300;&#20381;&#24207;&#39511;&#35657;&#65292;&#36935;&#37679;&#23601;&#20572;&#12301;&#36889;&#20491;&#35486;&#24847;&#32218;&#24615;&#22320;&#34920;&#36948;&#20986;&#20358;&#12290;Python &#20154;&#24448;&#24448;&#19981;&#26371;&#24819;&#21040;&#21453;&#36681;&#26781;&#20214;&#65292;&#22240;&#28858;&#32722;&#24931;&#20102;&#12300;&#36914;&#20837; if &#34920;&#31034;&#25104;&#21151;&#12301;&#30340;&#24605;&#32173;&#12290;&#36889;&#20491; pattern &#30340;&#27934;&#35211;&#22312;&#26044;&#65306;<strong>&#25226;&#12300;happy path&#12301;&#25918;&#21040;&#26368;&#24460;&#65292;&#35731;&#27599;&#19968;&#34892;&#37117;&#26159;&#19968;&#20491;&#29544;&#31435;&#30340;&#38450;&#31142;&#26781;&#20214;</strong>&#12290;</p><div><hr></div><h2><strong>&#38988;&#30446;&#20116;&#65306;fnil&#65288;&#38928;&#35373;&#20540;&#30340;&#35486;&#24847;&#65289;</strong></h2><p><strong>&#38988;&#30446;</strong>&#65306;&#23565;&#19968;&#20491; map &#30340;&#26576;&#20491; path &#20570; <code>conj</code>&#65292;&#33509;&#35442; path &#19981;&#23384;&#22312;&#65292;&#21063;&#21021;&#22987;&#21270;&#28858;&#31354; vector&#12290;</p><h3><strong>Python&#65288;Imperative&#65289;</strong></h3><pre><code>def add_to_path(hm, path, val):
    if get_nested(hm, path) is None:
        return set_nested(hm, path, [val])
    else:
        return update_nested(hm, path, lambda xs: xs + [val])</code></pre><h3><strong>Clojure&#65288;&#30452;&#35258;&#23531;&#27861;&#65289;</strong></h3><pre><code>(if (nil? (get-in hm path))
  (assoc-in hm path [val])
  (update-in hm path conj val))</code></pre><h3><strong>Clojure&#65288;fnil&#65289;</strong></h3><pre><code>(update-in hm path (fnil conj []) val)</code></pre><p><strong>&#24046;&#30064;&#30340;&#26412;&#36074;</strong>&#65306;<code>fnil</code> &#30340;&#35486;&#24847;&#26159;&#12300;&#33509;&#21443;&#25976;&#28858; nil&#65292;&#26367;&#25563;&#25104;&#38928;&#35373;&#20540;&#12301;&#12290;&#23427;&#25226;&#12300;&#38450;&#31142;&#24615; if&#12301;&#23553;&#35037;&#25104;&#19968;&#20491;&#20989;&#25976;&#20462;&#39166;&#22120;&#30340;&#27010;&#24565;&#65292;&#35731;&#20320;&#23560;&#27880;&#22312;&#12300;&#25105;&#35201;&#20570; conj&#12301;&#65292;&#32780;&#19981;&#26159;&#12300;&#25105;&#35201;&#20808;&#21028;&#26039; nil &#20877;&#27770;&#23450;&#20570;&#20160;&#40636;&#12301;&#12290;</p><div><hr></div><h2><strong>&#38988;&#30446;&#20845;&#65306;Atom Validator&#65288;&#25226;&#19981;&#35722;&#24335;&#23459;&#21578;&#20986;&#20358;&#65289;</strong></h2><p><strong>&#38988;&#30446;</strong>&#65306;&#26377;&#19968;&#20491;&#35336;&#25976;&#22120;&#65292;&#24517;&#38920;&#27704;&#36960;&#20445;&#25345;&#27491;&#25976;&#12290;</p><h3><strong>Python&#65288;Imperative&#65289;</strong></h3><pre><code>count = 3
&#8203;
def decrement():
    global count
    new_val = count - 1
    if new_val &lt;= 0:
        raise ValueError(&#8221;count must be positive&#8221;)
    count = new_val</code></pre><h3><strong>Clojure&#65288;&#22312;&#27599;&#27425; swap &#25163;&#23531; if&#65289;</strong></h3><pre><code>(def a (atom 3))
&#8203;
(swap! a (fn [n]
           (if (pos? (dec n))
             (dec n)
             (throw (ex-info &#8220;must be positive&#8221; {})))))</code></pre><h3><strong>Clojure&#65288;:validator&#65289;</strong></h3><pre><code>(def a (atom 3 :validator pos?))
&#8203;
(swap! a dec)  ; &#33258;&#21205;&#39511;&#35657;&#65292;&#36949;&#21453;&#21063;&#19999;&#20986;&#20363;&#22806;</code></pre><p><strong>&#24046;&#30064;&#30340;&#26412;&#36074;</strong>&#65306;<code>:validator</code> &#35731;&#20320;&#25226;<strong>&#19981;&#35722;&#24335;&#65288;invariant&#65289;&#23459;&#21578;&#22312;&#36039;&#26009;&#23450;&#32681;&#30340;&#20301;&#32622;</strong>&#65292;&#32780;&#19981;&#26159;&#25955;&#33853;&#22312;&#27599;&#20491;&#25805;&#20316;&#35041;&#12290;&#36889;&#26159; FP &#24605;&#32173;&#30340;&#26680;&#24515;&#20043;&#19968;&#65306;<strong>&#25226;&#35215;&#21063;&#38468;&#33879;&#22312;&#36039;&#26009;&#19978;&#65292;&#32780;&#19981;&#26159;&#38468;&#33879;&#22312;&#25805;&#20316;&#19978;</strong>&#12290;</p><div><hr></div><h2><strong>&#32317;&#32080;&#65306;&#24046;&#36317;&#22312;&#21738;&#35041;&#65311;</strong></h2><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;\\begin{array}{|l|l|}\n\\hline\n\\textbf{&#23652;&#27425;} &amp; \\textbf{&#25551;&#36848;} \\\\\n\\hline\n\\textbf{Level 0} &amp; \\text{&#21482;&#29992; for loop&#12289;if/else} \\\\\n\\hline\n\\textbf{Level 1} &amp; \\text{&#26371;&#29992; map&#12289;filter&#12289;reduce&#65292;&#20294;&#24605;&#32173;&#36996;&#26159;&#12300;&#27493;&#39519;&#12301;} \\\\\n\\hline\n\\textbf{Level 2} &amp; \\text{&#30693;&#36947;&#26356;&#22810;&#30340;&#25277;&#35937;&#23384;&#22312;&#65288;mapcat&#12289;reductions&#65289;&#65292;&#32780;&#19988;&#21487;&#20197;&#30452;&#25509;&#36984;&#29992;&#12290;} \\\\\n\\hline\n\\textbf{Level 3} &amp; \\text{&#36935;&#21040; if&#65292;&#26371;&#20572;&#19979;&#20358;&#21839;&#12300;&#36889;&#20491; if &#30340;&#35486;&#24847;&#26159;&#20160;&#40636;&#12301;&#65292;&#28982;&#24460;&#25214;&#23565;&#25033;&#30340;&#25277;&#35937;&#12290;} \\\\\n\\hline\n\\textbf{Level 4} &amp; \\text{&#25226;&#35215;&#21063;&#12289;&#19981;&#35722;&#24335;&#23459;&#21578;&#22312;&#36039;&#26009;&#23450;&#32681;&#19978;&#65292;&#32780;&#19981;&#26159;&#25955;&#33853;&#22312;&#25805;&#20316;&#35041;&#12290;} \\\\\n\\hline\n\\end{array}&quot;,&quot;id&quot;:&quot;HLSTKIULBJ&quot;}" data-component-name="LatexBlockToDOM"></div><p><strong><br>Clojure programmer &#30340;&#20778;&#21218;&#65292;&#19981;&#21482;&#26159;&#35486;&#27861;&#26356;&#31777;&#28500;&#65292;&#32780;&#26159; Clojure &#31038;&#32676;&#38263;&#24180;&#32047;&#31309;&#20102;&#22823;&#37327;&#23565;&#25033;&#12300;&#35486;&#24847;&#27169;&#24335;&#12301;&#30340;&#24931;&#29992;&#23531;&#27861;&#65288;idioms&#65289;&#12290;</strong> &#23416;&#32722; Clojure &#30340;&#36942;&#31243;&#65292;&#20063;&#24448;&#24448;&#26159;&#22312;&#23416;&#32722;&#36889;&#20123; idioms &#26178;&#65292;&#36880;&#27493;&#28145;&#21270;&#20102;&#23565; functional style &#30340;&#29702;&#35299;&#33287;&#38936;&#24735;&#12290;</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://replware.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading PruningSuccess! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[AI, CLI 程式, 與 DSL]]></title><description><![CDATA[feedback loop &#33287;&#36039;&#26009;&#39493;&#21205;&#31243;&#24335;&#35373;&#35336;]]></description><link>https://replware.substack.com/p/ai-cli-dsl</link><guid isPermaLink="false">https://replware.substack.com/p/ai-cli-dsl</guid><dc:creator><![CDATA[Laurence Chen]]></dc:creator><pubDate>Sun, 29 Mar 2026 23:01:55 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!yA20!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ed522cf-8c98-424d-bebf-6c963360bae6_1158x684.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#23458;&#25142;&#21578;&#35380;&#25105;&#65292;&#20182;&#36319;&#25105;&#19968;&#27171;&#65292;<a href="https://replware.substack.com/p/738">&#29992; AI &#20358;&#36628;&#21161;&#20570;&#25237;&#24433;&#29255;</a>&#65292;&#20294;&#19981;&#19968;&#27171;&#30340;&#22320;&#26041;&#26159;&#65292;&#20182;&#25226; token &#19968;&#24230;&#29992;&#29190;&#20102;&#12290;&#25105;&#24819;&#65292;&#24590;&#40636;&#21487;&#33021;&#21602;&#65311;&#22810;&#21839;&#20102;&#19968;&#19979;&#65292;&#25105;&#25165;&#25630;&#25026;&#65292;&#21407;&#20358;&#25105;&#20497;&#20841;&#20491;&#20154;&#25033;&#29992; AI &#30340;&#26041;&#24335;&#19981;&#19968;&#27171;&#12290;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yA20!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ed522cf-8c98-424d-bebf-6c963360bae6_1158x684.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yA20!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ed522cf-8c98-424d-bebf-6c963360bae6_1158x684.png 424w, https://substackcdn.com/image/fetch/$s_!yA20!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ed522cf-8c98-424d-bebf-6c963360bae6_1158x684.png 848w, https://substackcdn.com/image/fetch/$s_!yA20!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ed522cf-8c98-424d-bebf-6c963360bae6_1158x684.png 1272w, https://substackcdn.com/image/fetch/$s_!yA20!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ed522cf-8c98-424d-bebf-6c963360bae6_1158x684.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yA20!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ed522cf-8c98-424d-bebf-6c963360bae6_1158x684.png" width="1158" height="684" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0ed522cf-8c98-424d-bebf-6c963360bae6_1158x684.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:684,&quot;width&quot;:1158,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:123133,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://replware.substack.com/i/192076236?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ed522cf-8c98-424d-bebf-6c963360bae6_1158x684.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!yA20!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ed522cf-8c98-424d-bebf-6c963360bae6_1158x684.png 424w, https://substackcdn.com/image/fetch/$s_!yA20!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ed522cf-8c98-424d-bebf-6c963360bae6_1158x684.png 848w, https://substackcdn.com/image/fetch/$s_!yA20!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ed522cf-8c98-424d-bebf-6c963360bae6_1158x684.png 1272w, https://substackcdn.com/image/fetch/$s_!yA20!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ed522cf-8c98-424d-bebf-6c963360bae6_1158x684.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>&#23458;&#25142;&#30340;&#25033;&#29992;&#26041;&#24335;&#65306;</p><ol><li><p>&#28310;&#20633;&#32032;&#26448;&#12290;</p></li><li><p>&#21483; AI &#25972;&#29702;&#19968;&#19979;&#32032;&#26448;&#12290;</p></li><li><p>&#21483; AI &#26681;&#25818;&#32032;&#26448;&#65292;&#29983;&#25104;&#23565;&#25033;&#30340;&#25237;&#24433;&#29255;&#12290;&#28982;&#24460;&#65292;&#23565;&#19981;&#28415;&#24847;&#20043;&#34389;&#21453;&#35206;&#35519;&#25972;&#12290;</p></li></ol><p>&#25105;&#30340;&#25033;&#29992;&#26041;&#24335;&#65306;</p><ol><li><p>&#23559;&#25105;&#30340;&#25991;&#23383;&#25972;&#29702;&#25104; <a href="https://github.com/marp-team/marp-cli">marp CLI</a> markdown &#30340;&#26684;&#24335;&#12289;&#22294;</p></li><li><p>&#21453;&#35206; AI &#23565;&#35441;&#65292;&#25913;&#25991;&#23383;&#12289;&#32232;&#20462;&#25991;&#23383;&#12289;&#35519;&#25972;&#22294;&#30340;&#25511;&#21046;&#35486;&#27861;&#12290;</p></li><li><p>&#29992; marp CLI &#20358;&#29983;&#25104;&#23565;&#25033;&#30340;&#25237;&#24433;&#29255;&#12290;</p></li></ol><p>&#36889;&#20841;&#31278;&#25033;&#29992;&#26041;&#24335;&#65292;&#26377;&#20491;&#38364;&#37749;&#24046;&#30064;&#65306;</p><ul><li><p>&#25105;&#30340;&#25033;&#29992;&#26041;&#24335;&#65292;&#35731; AI &#30340; feedback loop &#30456;&#23565;&#24456;&#30701;&#65292;&#22240;&#28858; AI &#19981;&#38656;&#35201;&#25226;&#20839;&#23481;&#36681;&#25104;&#25237;&#24433;&#29255;&#65292;&#23569;&#20102;&#19968;&#27573;&#24037;&#20316;&#12290;&#32780;&#19988; AI &#30340;&#36664;&#20837;&#33287;&#36664;&#20986;&#65292;&#37117;&#26159;&#32020;&#25991;&#23383;&#30340; marp CLI markdown &#26684;&#24335;&#65292;&#36889;&#20063;&#31680;&#30465;&#20102;&#35377;&#22810;&#30340; token &#12290;</p></li></ul><h2><strong>CLI &#31243;&#24335;&#33287; DSL</strong></h2><p>&#19978;&#36848;&#30340;&#36889;&#31278;&#25033;&#29992;&#26041;&#24335;&#65292;&#23565;&#26576;&#20123; IT &#23560;&#26989;&#20154;&#22763;&#20358;&#35611;&#65292;&#25033;&#35442;&#26159;&#30452;&#35258;&#21040;&#19981;&#34892;&#65292;&#23565;&#19968;&#33324;&#20154;&#20358;&#35498;&#65292;&#21371;&#19981;&#22826;&#23481;&#26131;&#24819;&#21040;&#65292;&#38656;&#35201;&#26356;&#22810;&#30340;&#24819;&#35937;&#21147;&#12290;&#20180;&#32048;&#24819;&#24819;&#65292;&#25105;&#20284;&#20046;&#20063;&#26159;&#22312;&#26576;&#20491;&#26178;&#21051;&#65292;&#25165;&#25226;&#36889;&#20491;&#35264;&#24565;&#25171;&#36890;&#30340;&#12290;</p><p>&#20108;&#21313;&#22810;&#24180;&#21069;&#65292;&#22312;&#25105;&#22823;&#23416;&#19968;&#20108;&#24180;&#32026;&#26178;&#65292;&#23416;&#26657;&#20027;&#35201;&#25945; C++ &#65292;&#21516;&#26178;&#65292;&#25105;&#21443;&#21152;&#22823;&#23560; CAD &#31478;&#36093;&#26178;&#65292;&#23448;&#26041;&#20063;&#26159;&#35201;&#27714;&#23531; C/C++ &#12290;&#37027;&#26178;&#30495;&#30340;&#24456;&#22810;&#25033;&#29992;&#65292;&#25105;&#31532;&#19968;&#26178;&#38291;&#22312;&#24605;&#32771;&#33258;&#21205;&#21270;&#65292;&#23601;&#26159;&#29992; C++ &#21435;&#24819;&#12290;</p><p>&#26377;&#19968;&#22238;&#65292;&#25105;&#30340;&#19968;&#20491;&#26379;&#21451;&#65292;&#20182;&#30340; word &#25991;&#20214;&#35041;&#65292;&#26377;&#26997;&#24230;&#35079;&#38620;&#30340;&#25991;&#23383;&#32232;&#36655;&#24037;&#20316;&#65292;&#27794;&#26377;&#36774;&#27861;&#29992;&#21934;&#32020;&#30340;&#12302;&#23563;&#25214;/&#21462;&#20195;&#12303;&#23436;&#25104;&#26178;&#65292;&#25105;&#31532;&#19968;&#26178;&#38291;&#24605;&#32771;&#30340;&#26041;&#24335;&#65292;&#20063;&#26159;&#22312;&#24819;&#65306;&#12300;&#25105;&#26377;&#27794;&#26377;&#21487;&#33021;&#23531;&#31243;&#24335;&#65292;&#35712;&#21462;&#25152;&#26377;&#30340;&#23383;&#20018;&#65292;&#28982;&#24460;&#65292;&#25226;&#32232;&#36655;&#30340;&#35079;&#38620;&#35215;&#21063;&#37117;&#22312;&#31243;&#24335;&#30908;&#35041;&#20570;&#23436;&#12290;&#12301;</p><p>&#36889;&#20491;&#24819;&#27861;&#30070;&#28982;&#26159;&#22833;&#25943;&#20102;&#65292;&#22240;&#28858;&#38283;&#30332; C++ &#31243;&#24335;&#23526;&#22312;&#22826;&#24930;&#20102;&#65292;&#19981;&#23526;&#29992;&#12290;</p><p>&#32780;&#24460;&#20358;&#65292;&#25105;&#22810;&#23416;&#20102;&#24456;&#22810;&#26481;&#35199;&#20043;&#24460;&#65292;&#36935;&#21040;&#39006;&#20284;&#30340;&#21839;&#38988;&#65292;&#25105;&#26371;&#32771;&#24942;&#65306;</p><ol><li><p>&#29992; regular expression &#65292;&#36889;&#27171;&#23376;&#30340;&#35441;&#65292;&#23601;&#23481;&#26131;&#34920;&#36948;&#26356;&#35079;&#38620;&#30340;&#23383;&#20018;&#34389;&#29702;&#37007;&#36655;&#12290;</p></li><li><p>&#29992; Linux &#19978;&#30340; shell script &#25340;&#35037;&#19968;&#20123;&#24037;&#20855;&#20358;&#20570;&#65292;&#27604;&#26041;&#35498;&#65306;sed, wc, awk, tr &#31561;&#12290;</p></li></ol><p>&#36889;&#20491;&#25925;&#20107;&#36319;&#19978;&#36848;&#30340; AI &#25033;&#29992;&#26377;&#38364;&#21966;&#65311;&#26377;&#30340;&#12290;</p><p>&#26576;&#31278;&#31243;&#24230;&#65292;&#22914;&#26524;&#19968;&#33324;&#20154;&#38568;&#24847;&#22320;&#21855;&#21205; Claude Cowork &#65292;&#20006;&#19988;&#23565; AI &#19979;&#25351;&#20196;&#65292;AI &#35299;&#27770;&#21839;&#38988;&#30340;&#26041;&#24335;&#65292;&#24448;&#24448;&#23601;&#26159;&#26292;&#21147;&#22320;&#30452;&#25509;&#23531;&#31243;&#24335;&#20358;&#34389;&#29702;&#65292;&#36890;&#24120;&#26159; Python &#12290;Python &#24050;&#32147;&#19981;&#31639;&#26159;&#22826;&#28040;&#32791; token &#20102;&#12290;&#28982;&#32780;&#65292;&#22914;&#26524;&#20351;&#29992;&#32773;&#32102;&#30340;&#27284;&#26696;&#26684;&#24335;&#65292;&#21448;&#26159; word &#21448;&#26159; excel &#30340;&#35441;&#65292;AI &#30340;&#35712;&#21462;&#33287;&#36664;&#20986;&#65292;&#20840;&#37096;&#37117;&#35201;&#19981;&#20572;&#22320;&#23531;&#31243;&#24335;&#65292;&#37027; token &#30340;&#28040;&#32791;&#37327;&#33258;&#28982;&#23601;&#22823;&#20102;&#12290;</p><p>&#21478;&#19968;&#26041;&#38754;&#65292;&#22914;&#26524;&#21483; AI &#20570;&#20107;&#65292;&#19968;&#26041;&#38754;&#25351;&#23450;&#20102;&#32020;&#25991;&#23383;&#30340;&#26684;&#24335;&#65292;&#21448;&#24341;&#23566; AI &#20351;&#29992;&#19968;&#20123; CLI &#31243;&#24335;&#65292;&#35731; AI &#30340;&#36664;&#20986;&#12289;&#36664;&#20837;&#37117;&#26159; DSL (domain specific language) &#65292;&#37027; AI &#30340; feedback loop &#33258;&#28982;&#22823;&#24133;&#32302;&#30701;&#65292;token &#30340;&#25928;&#29575;&#20063;&#23601;&#25552;&#39640;&#20102;&#12290;</p><h2><strong>&#26356;&#28145;&#23652;&#30340;&#36899;&#32080;&#65306;&#36039;&#26009;&#39493;&#21205;&#31243;&#24335;&#35373;&#35336;</strong></h2><p>&#19978;&#36848;&#30340;&#27010;&#24565;&#65292;&#20854;&#23526;&#36996;&#21487;&#20197;&#36899;&#32080;&#21040;&#36039;&#26009;&#39493;&#21205;&#31243;&#24335;&#35373;&#35336; (Data-driven programming) &#65292;&#36889;&#26159;&#22312; The Art of UNIX Programming &#19968;&#26360;&#25552;&#21040;&#30340;&#27010;&#24565;&#12290;&#20197;&#19979;&#26159;&#26360;&#20013;&#30340;&#19968;&#27573;&#35441;&#65306;</p><blockquote><p>UNIX programmer &#32722;&#24931;&#26044;&#23531;&#12300;&#35486;&#27861;&#35299;&#26512;&#22120;&#30340;&#35215;&#26684;&#12301;&#20358;&#29983;&#25104;&#12300;&#35486;&#27861;&#35299;&#26512;&#22120;&#12301;&#65292;&#22909;&#29992;&#20358;&#34389;&#29702;&#12300;&#27161;&#35352;&#35486;&#35328;&#12301;&#12290;&#22240;&#28858;&#20570;&#23436;&#35486;&#27861;&#35299;&#26512;&#22120;&#20043;&#24460;&#65292;&#21097;&#19979;&#30340;&#24037;&#20316;&#23601;&#26159;&#23565;&#37197;&#32622;&#25991;&#20214;&#20358;&#20570;&#19968;&#33324;&#30340;&#12300;&#27193;&#36208;&#35370;&#12301;&#23601;&#21487;&#20197;&#23436;&#25104;&#20102;&#12290;&#35201;&#28418;&#20142;&#22320;&#35299;&#27770;&#21839;&#38988;&#65292;&#38656;&#35201;&#36039;&#26009;&#39493;&#21205;&#31243;&#24335;&#35373;&#35336;&#30340;&#20841;&#20491;&#38542;&#27573;&#20358;&#36948;&#25104;&#65292;&#32780;&#20854;&#20013;&#19968;&#20491; (&#27193;&#36208;&#35370;) &#24314;&#27083;&#26044;&#26044;&#21478;&#19968;&#20491; (&#35486;&#27861;&#35299;&#26512;) &#20043;&#19978;&#12290;</p></blockquote><p>&#22312;&#19978;&#36848;&#24341;&#25991;&#35041;&#30340;&#12300;&#27161;&#35352;&#35486;&#35328;&#12301;&#21487;&#20197;&#26377;&#24456;&#22810;&#19981;&#21516;&#30340;&#24418;&#24335;&#65306;</p><ul><li><p>marp CLI markdown</p></li><li><p>regular expression</p></li></ul><p>&#36889;&#20123;&#12300;&#27161;&#35352;&#35486;&#35328;&#12301;&#37117;&#26159; DSL &#12290;</p><p>&#22312;&#23526;&#21209;&#30340;&#25033;&#29992;&#35041;&#65292;DSL &#30340;&#20986;&#29694;&#65292;&#23565;&#25105;&#20358;&#35498;&#24847;&#21619;&#33879;&#65292;&#24037;&#20316;&#21487;&#20197;&#20998;&#21106;&#25104;&#20841;&#20491;&#38542;&#27573;&#65306;<strong>&#23531;&#20316; DSL &#30340;&#37096;&#20998;</strong>&#21487;&#20197;&#20132;&#32102;&#38752;&#36817;&#21830;&#26989;&#31471;&#30340;&#20154;&#65292;<strong>&#22519;&#34892; DSL &#30340;&#24037;&#20316;</strong>&#21487;&#20197;&#20132;&#32102;&#38752;&#36817;&#24037;&#31243;&#30340;&#20154;&#12290;</p><p>&#38263;&#20037;&#20197;&#20358;&#65292;&#23531;&#20316; DSL &#30340;&#24037;&#20316;&#65292;&#30001;&#26044;&#27794;&#26377; AI &#36628;&#21161;&#65292;&#24120;&#24120;&#36996;&#26159;&#30041;&#22312; IT &#24037;&#31243;&#24107;&#36523;&#19978;&#12290;&#22312; AI &#27969;&#34892;&#30340;&#26178;&#20195;&#65292;&#25033;&#35442;&#21487;&#20197;&#20132;&#26356;&#22810;&#20986;&#21435;&#21543;&#65311;</p><p>&#38468;&#24118;&#19968;&#25552;&#65292;&#20320;&#26377;&#22312;&#34389;&#29702;&#36039;&#26009;&#20489;&#20786;&#25110;&#26159; Excel &#21966;&#65311;&#22914;&#26524;&#23565;&#26412;&#31687;&#25991;&#31456;&#30340;&#27010;&#24565;&#26377;&#33288;&#36259;&#65292;&#21487;&#20197;&#21443;&#32771;&#25105;&#30340;&#26360;<a href="https://www.tenlong.com.tw/products/9786267757284">&#12298;&#24478;&#35430;&#31639;&#34920;&#21040;&#36039;&#26009;&#24179;&#21488;&#12299;</a>&#65292;&#36889;&#26412;&#26360;&#20171;&#32057;&#20102; Modern Data Stack &#30340;&#27010;&#24565;&#65292;&#23427;&#26371;&#35731;&#20320;&#23565; SQL &#36889;&#31278; DSL &#30340;&#25033;&#29992;&#26377;&#26032;&#30340;&#30475;&#27861;&#12290;</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://replware.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading PruningSuccess! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[分離客觀與主觀的程式碼]]></title><description><![CDATA[&#37325;&#27083;&#33287;&#25552;&#21462;&#20989;&#24335;&#24235;&#30340;&#26041;&#27861;&#35542;]]></description><link>https://replware.substack.com/p/811</link><guid isPermaLink="false">https://replware.substack.com/p/811</guid><dc:creator><![CDATA[Laurence Chen]]></dc:creator><pubDate>Sun, 22 Mar 2026 23:01:24 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!WSJC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F229ec1a7-feec-4018-a167-98daff1c5b00_1344x748.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#22312; LambdaIsland &#30340; blog &#19978;&#26377;&#19968;&#31687;&#25991;&#31456; <a href="https://lambdaisland.com/blog/2022-03-10-mechanism-vs-policy">Improve your code by separating mechanism from policy </a> &#12290;&#19968;&#30452;&#20197;&#20358;&#65292;&#25105;&#37117;&#35469;&#28858;&#23427;&#26368;&#37325;&#35201;&#65292;&#21487;&#24796;&#65292;&#25105;&#35712;&#20102;&#22909;&#24190;&#36941;&#65292;&#21371;&#19968;&#30452;&#23565;&#35442;&#25991;&#30340;&#27010;&#24565;&#27794;&#26377;&#22816;&#28145;&#30340;&#29702;&#35299;&#12290;</p><p>&#28858;&#20160;&#40636;&#35258;&#24471;&#23427;&#37325;&#35201;&#21602;&#65311;&#36942;&#21435;&#25105;&#36996;&#22312;&#28858; Arne &#24037;&#20316;&#26178;&#65292;&#20182;&#20570; code review &#26178;&#65292;&#26371;&#21205;&#25163;&#25913;&#20491;&#24190;&#31558;&#65292;&#26377;&#26178;&#20505;&#37002;&#25913;&#20182;&#26371;&#37002;&#35498;&#65306;&#12300;&#36889;&#20491;&#37096;&#20998;&#26159; policy &#65292;&#19981;&#35201;&#25226;&#23427;&#36319; mechanism &#25918;&#22312;&#19968;&#36215;&#12290;&#12301;&#39006;&#20284;&#30340;&#20107;&#65292;&#30332;&#29983;&#20102;&#20841;&#19977;&#27425;&#12290;&#32317;&#20043;&#65292;&#20182;&#20063;&#23531;&#20102;&#25991;&#31456;&#20358;&#38369;&#36848;&#36889;&#20491;&#27010;&#24565;&#65292;&#25105;&#24819;&#8230;&#65292;&#20063;&#35377;&#20182;&#20197;&#28858;&#25105;&#26576;&#31278;&#31243;&#24230;&#22320;&#25026;&#20102;&#21543;&#12290;&#21487;&#24796;&#65292;&#25105;&#27794;&#26377;&#12290;</p><p>&#26368;&#36817;&#25105;&#29992; Claude Code &#20570;&#20102;&#19968;&#20491;&#21483;&#20570; <a href="https://github.com/humorless/clj-native-agent/">/clj-refactor</a> &#30340; commands &#65292;&#20006;&#19988;&#29992;&#36889;&#20491; command &#20358;&#25209;&#25913;&#25105;&#30340;&#31243;&#24335;&#30908;&#12290;&#28982;&#24460;&#65292;&#31070;&#22855;&#30340;&#20107;&#30332;&#29983;&#20102;&#65292;&#23427;&#25209;&#25913;&#26178;&#65292;&#32102;&#25105;&#30340;&#24314;&#35696;&#65292;&#36996;&#30495;&#30340;&#36319; Arne &#26132;&#26085;&#32102;&#30340;&#38263;&#24471;&#36229;&#20687;&#12290;&#36879;&#36942;&#36889;&#27171;&#23376;&#30340;&#25805;&#20316;&#65292;&#25105;&#23565;&#36889;&#20491;&#27010;&#24565;&#24471;&#21040;&#20102;&#26032;&#30340;&#29702;&#35299;&#12290;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!WSJC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F229ec1a7-feec-4018-a167-98daff1c5b00_1344x748.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!WSJC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F229ec1a7-feec-4018-a167-98daff1c5b00_1344x748.png 424w, https://substackcdn.com/image/fetch/$s_!WSJC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F229ec1a7-feec-4018-a167-98daff1c5b00_1344x748.png 848w, https://substackcdn.com/image/fetch/$s_!WSJC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F229ec1a7-feec-4018-a167-98daff1c5b00_1344x748.png 1272w, https://substackcdn.com/image/fetch/$s_!WSJC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F229ec1a7-feec-4018-a167-98daff1c5b00_1344x748.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!WSJC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F229ec1a7-feec-4018-a167-98daff1c5b00_1344x748.png" width="1344" height="748" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/229ec1a7-feec-4018-a167-98daff1c5b00_1344x748.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:748,&quot;width&quot;:1344,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:168333,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://replware.substack.com/i/191728806?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F229ec1a7-feec-4018-a167-98daff1c5b00_1344x748.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!WSJC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F229ec1a7-feec-4018-a167-98daff1c5b00_1344x748.png 424w, https://substackcdn.com/image/fetch/$s_!WSJC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F229ec1a7-feec-4018-a167-98daff1c5b00_1344x748.png 848w, https://substackcdn.com/image/fetch/$s_!WSJC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F229ec1a7-feec-4018-a167-98daff1c5b00_1344x748.png 1272w, https://substackcdn.com/image/fetch/$s_!WSJC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F229ec1a7-feec-4018-a167-98daff1c5b00_1344x748.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2><strong>&#28858;&#20160;&#40636;&#21407;&#22987;&#25991;&#31456;&#24456;&#38627;&#25026;</strong></h2><p>&#21407;&#22987;&#30340;&#25991;&#31456;&#38627;&#25026;&#65292;&#20027;&#35201;&#26159;&#26377;&#24190;&#20491;&#21839;&#38988;&#65306;</p><ol><li><p>&#35422;&#24409;&#30340;&#36984;&#25799;&#12290;</p></li><li><p>&#32570;&#20047;&#20363;&#23376;&#12290;</p></li><li><p>&#19981;&#24179;&#34913;&#12290;&#25991;&#31456;&#26368;&#37325;&#35201;&#30340;&#37096;&#20998;&#65292;&#20308;&#29992;&#30340;&#27604;&#20363;&#22826;&#23569;&#12290;</p></li></ol><h3><strong>&#35422;&#24409;&#36984;&#25799;</strong></h3><p>&#20316;&#32773;&#36984;&#25799;&#20351;&#29992; Mechanism &#33287; Policy &#20841;&#20491;&#35422;&#24409;&#20358;&#25551;&#36848;&#12302;&#23458;&#35264;&#12303;&#33287;&#12302;&#20027;&#35264;&#12303;&#36889;&#20841;&#31278;&#27010;&#24565;&#65292;&#22240;&#28858;&#20182;&#26368;&#21021;&#26159;&#22312; UNIX &#30340;&#26360;&#35041;&#23416;&#21040;&#36889;&#20841;&#20491;&#35422;&#12290;</p><p>&#28982;&#32780;&#65292;&#23526;&#36074;&#19978;&#65292;&#20316;&#32773;&#22312;&#25991;&#31456;&#35041;&#29992;&#20102;&#30456;&#30070;&#30340;&#31687;&#24133;&#21435;&#37325;&#26032;&#23450;&#32681;&#36889;&#20841;&#20491;&#35422; (&#21443;&#32771;&#19979;&#34920;)&#12290;&#26082;&#28982;&#36889;&#27171;&#23376;&#30340;&#35441;&#65292;&#22909;&#20687;&#20854;&#23526;&#21487;&#20197;&#19981;&#38656;&#35201;&#29992;&#36889;&#31278;&#12302;&#35201;&#24819;&#19968;&#19979;&#12303;&#30340;&#35422;&#20102;&#65292;&#21487;&#20197;&#26356;&#20094;&#33030;&#22320;&#29992;&#23458;&#35264;&#20358;&#20195;&#34920; mechanism &#65307;&#29992;&#20027;&#35264;&#20358;&#20195;&#34920; policy&#12290;</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;\\begin{array}{|l|l|}\n\\hline\n\\text{Mechanism Code} &amp; \\text{Policy Code} \\\\\n\\hline\n\\text{Unopinionated} &amp; \\text{Opinionated} \\\\\n\\text{Context-free} &amp; \\text{Contextual} \\\\\n\\text{Individual pieces} &amp; \\text{Integrated whole} \\\\\n\\text{Simple} &amp; \\text{Easy} \\\\\n\\text{Explicit parameters} &amp; \\text{Hard coded values and defaults} \\\\\n\\text{Functional} &amp; \\text{Procedural} \\\\\n\\text{Abstract} &amp; \\text{Concrete} \\\\\n\\text{High level of reuse (rewiring)} &amp; \\text{Reuse through copy-paste-edit} \\\\\n\\text{&#8221;Model&#8221;} &amp; \\text{&#8221;Controller&#8221;} \\\\\n\\text{Low level} &amp; \\text{High level} \\\\\n\\text{Easy to test} &amp; \\text{Tedious to test} \\\\\n\\hline\n\\end{array}&quot;,&quot;id&quot;:&quot;XOXHRVTOQF&quot;}" data-component-name="LatexBlockToDOM"></div><p>&#23565;&#35712;&#32773;&#20358;&#35498;&#65292;&#31532;&#19968;&#27425;&#35712;&#23601;&#35201;&#25226;&#25972;&#20491;&#23565;&#29031;&#34920;&#32972;&#19979;&#20358;&#12289;&#25110;&#26159;&#39636;&#26371;&#23427;&#65292;&#21487;&#33021;&#19981;&#22826;&#23481;&#26131;&#12290;&#35352;&#19981;&#20303;&#23565;&#29031;&#34920;&#30340;&#35441;&#65292;&#21487;&#33021;&#23601;&#21482;&#35352;&#24471;&#20102; policy &#33287; mechanism &#12290;&#26044;&#26159;&#36889;&#35722;&#25104;&#25991;&#31456;&#30340;&#35201;&#26088;&#36996;&#26159;&#35352;&#19981;&#22826;&#20303;&#12290;&#35352;&#19981;&#22826;&#20303;&#30340;&#35441;&#65292;&#35201;&#22312;&#26085;&#24460;&#30340;&#31243;&#24335;&#35373;&#35336;&#36942;&#31243;&#20013;&#29986;&#29983;&#29702;&#35299;&#23601;&#21448;&#26356;&#38627;&#20102;&#12290;</p><p>&#30070;&#28982;&#65292;&#29992;&#20102;&#31934;&#30906;&#30340;&#35422;&#36996;&#26159;&#26377;&#31934;&#30906;&#35422;&#30340;&#22909;&#34389;&#65292;&#20197;&#23416;&#34899;&#30340;&#35282;&#24230;&#20358;&#30475;&#65292;&#36889;&#35731;&#25991;&#31456;&#26356;&#39023;&#24471;&#28165;&#26224;&#12290;&#20027;&#35264;&#36890;&#24120;&#25351;&#12300;&#20381;&#20491;&#20154;&#20559;&#22909;&#32780;&#23450;&#12301;&#65292;&#30906;&#23526;&#33287;&#36575;&#39636;&#38283;&#30332;&#35041;&#30340;&#20027;&#35264;&#12300;&#20381;&#30070;&#19979;&#21830;&#26989;&#27770;&#31574;&#32780;&#23450;&#12301;&#35422;&#24847;&#26377;&#25152;&#19981;&#21516;&#12290;</p><h3><strong>&#32570;&#20047;&#33289;&#20363;</strong></h3><p>&#32570;&#20047;&#33289;&#20363;&#36889;&#40670;&#23526;&#22312;&#26159;&#19968;&#20491;&#30828;&#20663;&#12290;&#25152;&#24184;&#65292;&#25105;&#29992;&#20102;&#35442;&#25991;&#31456;&#21435;&#20570;&#20986;&#20102; /refactor-pm &#36889;&#20491;&#25351;&#20196;&#20043;&#24460;&#65292;&#25105;&#23601;&#24478;&#25105;&#23531;&#30340;&#31243;&#24335;&#30908;&#35041;&#65292;&#24471;&#21040;&#20102;&#19981;&#23569;&#30340;&#20363;&#23376;&#65292;&#22823;&#24133;&#25913;&#21892;&#20102;&#25105;&#30340;&#29702;&#35299;&#12290;</p><p>&#20197;&#19979;&#20197;&#21628;&#21483; LLM API &#28858;&#20363;&#65292;&#31034;&#31684;&#20841;&#32773;&#28151;&#38620;&#26178;&#30340;&#27171;&#23376;&#65292;&#20197;&#21450;&#37325;&#27083;&#24460;&#30340;&#32080;&#26524;&#12290;</p><ul><li><p>&#37325;&#27083;&#21069;</p></li></ul><pre><code>(defn call-llm [user-message]
  ;; policy: model choice, temperature, max-tokens are hardcoded
  (let [response (http/post &#8220;https://api.anthropic.com/v1/messages&#8221;
                            {:headers {&#8221;x-api-key&#8221; (System/getenv &#8220;ANTHROPIC_API_KEY&#8221;)
                                       &#8220;content-type&#8221; &#8220;application/json&#8221;}
                             :body (json/encode
                                    {:model &#8220;claude-sonnet-4-20250514&#8221;
                                     :max_tokens 1000
                                     :temperature 0.7
                                     :messages [{:role &#8220;user&#8221;
                                                 :content user-message}]})})]
    ;; policy: error handling strategy is also baked in
    (if (= 200 (:status response))
      (-&gt; response :body json/decode (get-in [&#8221;content&#8221; 0 &#8220;text&#8221;]))
      (throw (ex-info &#8220;LLM call failed&#8221; {:status (:status response)})))))</code></pre><ul><li><p>&#37325;&#27083;&#24460;</p></li></ul><pre><code>;; mechanism: just knows how to talk to the API
(defn call-llm [{:keys [model max-tokens temperature messages]}]
  (let [response (http/post &#8220;https://api.anthropic.com/v1/messages&#8221;
                            {:headers {&#8221;x-api-key&#8221; (System/getenv &#8220;ANTHROPIC_API_KEY&#8221;)
                                       &#8220;content-type&#8221; &#8220;application/json&#8221;}
                             :body (json/encode
                                    {:model model
                                     :max_tokens max-tokens
                                     :temperature temperature
                                     :messages messages})})]
    {:status (:status response)
     :body (-&gt; response :body json/decode)}))
&#8203;
;; policy: opinions live here
(defn summarize-text [text]
  (let [result (call-llm {:model &#8220;claude-sonnet-4-20250514&#8221;
                          :max-tokens 1000
                          :temperature 0.3
                          :messages [{:role &#8220;user&#8221;
                                      :content (str &#8220;Summarize: &#8220; text)}]})]
    (if (= 200 (:status result))
      (get-in result [:body &#8220;content&#8221; 0 &#8220;text&#8221;])
      (throw (ex-info &#8220;Summarize failed&#8221; result)))))</code></pre><h3><strong>&#19981;&#24179;&#34913;</strong></h3><p>&#25991;&#31456;&#30340;&#19968;&#22823;&#35201;&#26088;&#26159;&#22312;&#20854;&#20013;&#19968;&#21477;&#65306;</p><blockquote><p>The distinction here isn&#8217;t so much in what the code does, as in how it is written.</p></blockquote><p>&#27794;&#26377;&#36889;&#19968;&#21477;&#30340;&#35441;&#65292;&#25991;&#31456;&#21487;&#33021;&#26371;&#34987;&#36889;&#27171;&#35299;&#35712;&#33287;&#25033;&#29992;&#65306;&#12300;&#25509;&#19979;&#20358;&#35201;&#38283;&#30332;&#30340;&#36889;&#19968;&#22602;&#31243;&#24335;&#30908;&#26159;&#33287; LLM API &#28317;&#36890;&#65292;&#25152;&#20197;&#65292;&#37027;&#23427;&#25033;&#35442;&#26159; mechanism &#12290;(what the code does)&#12301;</p><p>&#21152;&#20102;&#36889;&#19968;&#21477;&#20043;&#24460;&#65292;&#25991;&#31456;&#30340;&#35299;&#35712;&#33287;&#25033;&#29992;&#21063;&#35722;&#25104;&#65306;&#12300;&#25509;&#19979;&#20358;&#35201;&#38283;&#30332;&#30340;&#36889;&#19968;&#22602;&#31243;&#24335;&#26159;&#33287; LLM API &#28317;&#36890;&#12290;&#37027;&#40636;&#65292;&#22312;&#38283;&#30332;&#23436;&#20043;&#24460;&#65292;&#25033;&#35442;&#35201;&#20358;&#20180;&#32048;&#30475;&#31243;&#24335;&#30908;&#35041;&#65292;&#21738;&#20123;&#37096;&#20998;&#21516;&#26178;&#21547;&#26377; mechanism &#33287; policy &#65292;&#22914;&#26524;&#26377;&#20841;&#32773;&#28151;&#38620;&#30340;&#35441;&#65292;&#35201;&#25226; mechanism &#24448;&#19979;&#31227;&#65292;&#25226; policy &#24448;&#19978;&#31227;&#12290;&#12301;</p><h2><strong>&#31243;&#24335;&#30908;&#30340;&#32068;&#32340;&#26041;&#24335;</strong></h2><p>&#31243;&#24335;&#30908;&#24456;&#22810;&#26178;&#20505;&#22285;&#32350;&#33879;&#23427;&#30340;&#29305;&#24615;&#32780;&#32068;&#32340;&#30340;&#65306;&#12302;<strong>&#25928;&#33021;</strong>&#12303;&#26159;&#19968;&#31278;&#37325;&#35201;&#30340;&#29305;&#24615;&#65292;&#32780;&#28858;&#25928;&#33021;&#20570;&#26997;&#33268;&#26368;&#20339;&#21270;&#30340;&#31243;&#24335;&#30908;&#24448;&#24448;&#38627;&#20197;&#38321;&#35712;&#65292;&#25152;&#20197;&#26371;&#23559;&#20854;&#29544;&#31435;&#32068;&#32340;&#36215;&#20358; (&#23553;&#35037;)&#65292;&#33267;&#23569;&#35731;&#23427;&#30340;&#20171;&#38754;&#23481;&#26131;&#29702;&#35299;&#12290;&#12302;<strong>&#21103;&#20316;&#29992;</strong>&#12303;&#20063;&#26159;&#19968;&#31278;&#38364;&#37749;&#30340;&#29305;&#24615;&#65292;&#21482;&#35201;&#26159;&#33287;&#22806;&#30028;&#28317;&#36890;&#12289;&#33287;&#31995;&#32113;&#36039;&#28304;&#28317;&#36890;&#30340;&#31243;&#24335;&#30908;&#65292;&#37117;&#26371;&#26377; I/O &#12289;&#26371;&#26377;&#20363;&#22806;&#38656;&#35201;&#32771;&#24942;&#65292;&#20063;&#22240;&#27492;&#21103;&#20316;&#29992;&#30456;&#38364;&#30340;&#31243;&#24335;&#30908;&#24448;&#24448;&#20063;&#26371;&#33287;<strong>&#36039;&#26009;&#36681;&#25563;&#30340;&#31243;&#24335;&#30908;</strong>&#20998;&#38283;&#32068;&#32340;&#12290;</p><p>&#37027;&#12300;&#23458;&#35264;&#12301;&#33287;&#12300;&#20027;&#35264;&#12301;&#21602;&#65311;&#23427;&#20497;&#23565;&#25033;&#30340;&#29305;&#24615;&#26159;&#12302;<strong>&#35722;&#21205;&#36895;&#24230;</strong>&#12303;&#12290;&#23458;&#35264;&#30340;&#37096;&#20998;&#35722;&#21205;&#24471;&#24456;&#24930;&#65307;&#20027;&#35264;&#30340;&#37096;&#20998;&#38568;&#26178;&#22312;&#35722;&#21205;&#12290;&#23601;&#20687;&#22312;&#21407;&#25991;&#35041;&#25152;&#35498;&#30340;&#65306;</p><blockquote><p>So the rate of change is very different. Good mechanism code can live on for years with hardly any changes. You may fix a bug from time to time, or make it more efficient, or perhaps extend it to support more features, but the core thing that it does stays the same.</p><p>Policy code on the other hand is really just a bunch of opinions. This is how we decided that things should currently work. Expect to be tweaking and changing this almost constantly.</p></blockquote><h2><strong>&#32317;&#32080;</strong></h2><p>&#26368;&#36817;&#65292;&#25105;&#22312;&#24605;&#32771;&#19968;&#20491;&#21839;&#38988;&#65306;&#12300;&#29992; LLM agent &#20358;&#36628;&#21161;&#36575;&#39636;&#38283;&#30332;&#30340;&#35441;&#65292;&#35442;&#24590;&#40636;&#35731;&#23560;&#26696;&#38263;&#22823;&#20102;&#20043;&#24460;&#65292;&#23560;&#26696;&#36996;&#26159;&#30475;&#24471;&#25026;&#65311;&#12301;&#19968;&#30452;&#20197;&#20358;&#65292;&#25105;&#24515;&#35041;&#30340;&#31572;&#26696;&#20043;&#19968;&#26159;&#65306;&#12300;&#37002;&#38283;&#30332;&#35201;&#37002;&#35373;&#27861;&#23559;&#20989;&#24335;&#24235; (library) &#25277;&#21462;&#20986;&#20358;&#12290;&#12301;&#37027;&#35201;&#24590;&#40636;&#35731; LLM &#20063;&#33021;&#35264;&#23519;&#20986; pattern &#65292;&#20358;&#21332;&#21161;&#25105;&#20497;&#25214;&#20986;&#36969;&#21512;&#25552;&#21462; library &#30340;&#31243;&#24335;&#30908;&#21602;&#65311;</p><p>&#23458;&#35264;&#30340;&#37096;&#20998;&#35722;&#21205;&#24930;&#12289;&#37002;&#30028;&#28165;&#26224;&#65292;&#27491;&#26159;&#36969;&#21512;&#25277;&#21462;&#25104; library &#30340;&#29305;&#24501;&#12290;&#25563;&#21477;&#35441;&#35498;&#65292;&#25345;&#32396;&#37325;&#27083;&#35731; mechanism &#28014;&#29694;&#30340;&#36942;&#31243;&#65292;&#20854;&#23526;&#23601;&#26159;&#22312;&#28858;&#26410;&#20358;&#25277;&#21462; library &#37610;&#36335;&#65292;&#20063;&#35731; LLM &#26356;&#23481;&#26131;&#24478;&#31337;&#23450;&#30340;&#32080;&#27083;&#35041;&#36776;&#35672;&#20986;&#21487;&#35079;&#29992;&#30340; pattern&#12290;</p><p>&#21069;&#20154;&#30340;&#25991;&#31456;&#24050;&#32147;&#32102;&#20102;&#31572;&#26696;&#65292;&#37002;&#38283;&#30332;&#23601;&#35201;&#37002;&#19981;&#26039;&#22320;&#37325;&#27083;&#65292;&#25165;&#33021;&#35731;&#23458;&#35264;&#30340;&#37096;&#20998;&#36880;&#27493;&#28014;&#29694;&#12290;</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://replware.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading PruningSuccess! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Metabase Pivot 的效能問題]]></title><description><![CDATA[Dimensional N+1 &#21839;&#38988;]]></description><link>https://replware.substack.com/p/metabase-pivot</link><guid isPermaLink="false">https://replware.substack.com/p/metabase-pivot</guid><dc:creator><![CDATA[Laurence Chen]]></dc:creator><pubDate>Sun, 15 Mar 2026 23:01:31 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!IfXE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc16b25a-f613-430a-a4bf-91836ad6c583_1216x786.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h1><strong>Metabase Pivot &#30340;&#25928;&#33021;&#21839;&#38988;</strong></h1><blockquote><p>Dimensional N+1 &#21839;&#38988;</p></blockquote><p>&#23458;&#25142;&#22238;&#22577;&#20102;&#19968;&#20491;&#21839;&#38988;&#12290;</p><p>&#20182;&#20497;&#29992; Metabase &#30475;&#19968;&#24373; ClickHouse &#36039;&#26009;&#34920;&#65292;6000 &#31558;&#36039;&#26009;&#65292;&#30452;&#25509;&#30475;&#27794;&#21839;&#38988;&#65292;&#22823;&#32004; 10 &#31186;&#12290;&#20294;&#21482;&#35201;&#20999;&#25563;&#25104;&#36039;&#26009;&#36879;&#35222;&#34920;&#65288;Pivot Table&#65289;&#65292;&#23601;&#35201;&#31561; 120 &#31186;&#12290;</p><p>&#21516;&#19968;&#20221;&#36039;&#26009;&#65292;&#24930;&#20102; 12 &#20493;&#12290;</p><h2><strong>Pivot Table &#26159;&#20160;&#40636;</strong></h2><p>&#21516;&#27171;&#26159;&#36889;&#20221;&#36039;&#26009;&#65306;</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;\\begin{array}{|c|c|c|}\n\\hline\n\\text{&#26376;&#20221;} &amp; \\text{&#22320;&#21312;} &amp; \\text{&#37329;&#38989;} \\\\\n\\hline\n\\text{1&#26376;} &amp; \\text{&#21271;&#37096;} &amp; 5000 \\\\\n\\text{1&#26376;} &amp; \\text{&#21335;&#37096;} &amp; 3000 \\\\\n\\text{2&#26376;} &amp; \\text{&#21271;&#37096;} &amp; 4000 \\\\\n\\text{2&#26376;} &amp; \\text{&#21335;&#37096;} &amp; 6000 \\\\\n\\hline\n\\end{array}&quot;,&quot;id&quot;:&quot;FTDMOFRXYL&quot;}" data-component-name="LatexBlockToDOM"></div><p>Pivot &#20043;&#24460;&#65292;&#35722;&#25104;&#36889;&#27171;&#65306;</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;\\begin{array}{|c|c|c|c|}\n\\hline\n\\text{&#26376;&#20221;} &amp; \\text{&#21271;&#37096;} &amp; \\text{&#21335;&#37096;} &amp; \\text{&#23567;&#35336;} \\\\\n\\hline\n\\text{1&#26376;} &amp; 5000 &amp; 3000 &amp; 8000 \\\\\n\\text{2&#26376;} &amp; 4000 &amp; 6000 &amp; 10000 \\\\\n\\hline\n\\textbf{&#32317;&#35336;} &amp; \\textbf{9000} &amp; \\textbf{9000} &amp; \\textbf{18000} \\\\\n\\hline\n\\end{array}&quot;,&quot;id&quot;:&quot;JCFVDOWNUC&quot;}" data-component-name="LatexBlockToDOM"></div><p><strong><br></strong>&#36039;&#26009;&#27794;&#26377;&#35722;&#65292;&#20294;&#12300;2&#26376;&#21335;&#37096;&#26368;&#22909;&#12301;&#36889;&#20491;&#32080;&#35542;&#65292;&#29694;&#22312;&#26159;&#35222;&#35258;&#30452;&#25509;&#21578;&#35380;&#20320;&#30340;&#12290;</p><p>&#36889;&#20491;&#20363;&#23376;&#21482;&#26377; 2 &#20491;&#32173;&#24230;&#12290;&#32173;&#24230;&#19968;&#22810;&#65292;&#23567;&#35336;&#30340;&#32068;&#21512;&#23601;&#26371;&#25351;&#25976;&#22686;&#38263;&#12290;&#22914;&#26524;&#35712;&#32773;&#23565; Pivot &#32972;&#24460;&#30340; SQL &#27231;&#21046;&#26377;&#33288;&#36259;&#65292;&#25105;&#22312;<a href="https://www.tenlong.com.tw/products/9786267757284">&#12298;&#24478;&#35430;&#31639;&#34920;&#21040;&#36039;&#26009;&#24179;&#21488;&#12299;</a>&#19968;&#26360;&#35041;&#26377;&#26356;&#23436;&#25972;&#30340;&#35342;&#35542;&#12290;</p><h2><strong>&#25235;&#21839;&#38988;&#30340;&#26041;&#24335;</strong></h2><p>&#36935;&#21040;&#36889;&#31278;&#25928;&#33021;&#21839;&#38988;&#65292;&#22914;&#26524;&#21487;&#20197;&#24555;&#36895;&#22320;&#37325;&#35069;&#24773;&#22659;&#65292;&#37027;&#23601;&#21487;&#20197;&#24478; frontend &#30340;&#12288;Chrome Debugger &#21435;&#30475;&#20986;&#21508;&#20491; backend RESTful API &#22823;&#32004;&#21508;&#33457;&#22810;&#23569;&#26178;&#38291;&#65292;&#24456;&#24555;&#22320;&#20358;&#23450;&#20301;&#25928;&#33021;&#29942;&#38968;&#12290;</p><p>&#19981;&#36942;&#65292;&#30001;&#26044;&#37325;&#35069;&#24773;&#22659;&#21487;&#33021;&#38656;&#35201;&#30456;&#23565;&#22823;&#30340; dataset (6000 &#31558;)&#65292;&#25152;&#20197;&#25105;&#27770;&#23450;&#36208;&#21478;&#19968;&#26781;&#36335;&#12290;</p><p>&#25105;&#19979;&#36617;&#20102; <a href="https://github.com/metabase/metabase">Metabase &#30340; source code</a>&#65292;&#28982;&#24460;&#29992; Claude Code &#20358;&#20570; code tracing&#12290;</p><p>&#36942;&#21435;&#36889;&#31278;&#20107;&#24773;&#24456;&#33457;&#26178;&#38291;&#65292;&#20809;&#26159;&#29702;&#35299;&#19968;&#20491;&#38476;&#29983; codebase &#30340;&#26550;&#27083;&#23601;&#35201;&#21322;&#22825;&#12290;&#20294;&#29694;&#22312; Claude Code &#21487;&#20197;&#24478; frontend &#30340;&#20803;&#20214;&#19968;&#36335;&#36861;&#21040; backend &#30340;&#26597;&#35426;&#34389;&#29702;&#23652;&#65292;&#20006;&#24456;&#24555;&#22320;&#23601;&#36208;&#35370;&#23436;&#20102;&#23436;&#25972;&#30340;&#21628;&#21483;&#37832;&#12290;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!IfXE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc16b25a-f613-430a-a4bf-91836ad6c583_1216x786.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!IfXE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc16b25a-f613-430a-a4bf-91836ad6c583_1216x786.png 424w, https://substackcdn.com/image/fetch/$s_!IfXE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc16b25a-f613-430a-a4bf-91836ad6c583_1216x786.png 848w, https://substackcdn.com/image/fetch/$s_!IfXE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc16b25a-f613-430a-a4bf-91836ad6c583_1216x786.png 1272w, https://substackcdn.com/image/fetch/$s_!IfXE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc16b25a-f613-430a-a4bf-91836ad6c583_1216x786.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!IfXE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc16b25a-f613-430a-a4bf-91836ad6c583_1216x786.png" width="1216" height="786" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dc16b25a-f613-430a-a4bf-91836ad6c583_1216x786.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:786,&quot;width&quot;:1216,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:147086,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://replware.substack.com/i/190905049?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc16b25a-f613-430a-a4bf-91836ad6c583_1216x786.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!IfXE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc16b25a-f613-430a-a4bf-91836ad6c583_1216x786.png 424w, https://substackcdn.com/image/fetch/$s_!IfXE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc16b25a-f613-430a-a4bf-91836ad6c583_1216x786.png 848w, https://substackcdn.com/image/fetch/$s_!IfXE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc16b25a-f613-430a-a4bf-91836ad6c583_1216x786.png 1272w, https://substackcdn.com/image/fetch/$s_!IfXE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc16b25a-f613-430a-a4bf-91836ad6c583_1216x786.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2><strong>&#35386;&#26039;&#65306;Dimensional N+1</strong></h2><p>&#39318;&#20808;&#25490;&#38500;&#20102; frontend&#12290;</p><p>frontend &#30906;&#23526;&#26377;&#19968;&#20123;&#23567;&#21839;&#38988;&#65292;&#20687;&#26159; canvas &#25991;&#23383;&#28204;&#37327;&#30340; style flush &#36896;&#25104;&#30340; layout thrashing&#65292;CLJS &#36039;&#26009;&#36681;&#25563;&#20063;&#26159;&#21516;&#27493;&#22519;&#34892;&#65292;&#20294;&#36889;&#20123;&#21152;&#36215;&#20358;&#38914;&#22810;&#24190;&#30334;&#27627;&#31186;&#12290;&#35299;&#37323;&#19981;&#20102; 110 &#31186;&#30340;&#24046;&#36317;&#12290;</p><p>&#21839;&#38988;&#22312; backend&#12290;</p><p>&#30070;&#20351;&#29992;&#32773;&#20999;&#25563;&#21040; Pivot Table&#65292;Metabase &#19981;&#26159;&#36865;&#21516;&#19968;&#26781; SQL &#26597;&#35426;&#65292;&#32780;&#26159;&#25563;&#20102;&#19968;&#26781;&#23436;&#20840;&#19981;&#21516;&#30340;&#22519;&#34892;&#36335;&#24465;&#65288;<code>card.clj:337</code>&#65289;&#65306;</p><pre><code><code>(if (= :pivot (:display card))
  qp.pivot/run-pivot-query       ; &#8592; Pivot Table &#36208;&#36889;&#26781;
  process-query-for-card-default-qp)</code></code></pre><p><code>run-pivot-query</code> &#26371;&#21628;&#21483; <code>generate-queries</code>&#65292;&#23565;&#25152;&#26377;&#30340; breakout &#27396;&#20301;&#35336;&#31639;&#20906;&#38598;&#65288;powerset&#65289;&#65292;&#28858;&#27599;&#19968;&#31278;&#23567;&#35336;&#33287;&#32317;&#35336;&#21508;&#33258;&#29986;&#29983;&#19968;&#26781; SQL&#65306;</p><pre><code><code>breakout: [&#22320;&#21312;, &#21697;&#39006;, &#24180;&#20221;]
&#8594; &#29986;&#29983;&#20197;&#19979;&#26597;&#35426;&#65306;

  [&#22320;&#21312;, &#21697;&#39006;, &#24180;&#20221;]   &#8592; &#20027;&#36039;&#26009;
  [&#22320;&#21312;,       &#24180;&#20221;]   &#8592; &#27396;&#23567;&#35336;
  [&#22320;&#21312;, &#21697;&#39006;      ]   &#8592; &#21015;&#23567;&#35336;
  [&#22320;&#21312;            ]   &#8592; &#21015;&#23567;&#35336;&#65288;&#26356;&#39640;&#23652;&#65289;
  [            &#24180;&#20221;]   &#8592; &#27396;&#32317;&#35336;
  [                ]   &#8592; &#21491;&#19979;&#35282;&#32317;&#35336;</code></code></pre><p>&#36889;&#20123;&#26597;&#35426;&#65292;&#22312; <code>process-multiple-queries</code>&#65288;<code>pivot.clj:363</code>&#65289;&#35041;<strong>&#36880;&#19968;&#12289;&#24490;&#24207;&#22519;&#34892;</strong>&#65292;&#27794;&#26377;&#20006;&#34892;&#12290;</p><p>&#19968;&#26781;&#26597;&#35426; 10 &#31186;&#65292;&#36305; 12 &#26781;&#65292;&#23601;&#26159; 120 &#31186;&#12290;</p><p>&#36889;&#23601;&#26159; N+1 &#21839;&#38988;&#65292;&#21482;&#26159;&#25563;&#20102;&#20491;&#23610;&#24230;&#12290;&#20659;&#32113;&#30340; N+1 &#21839;&#38988;&#26159;&#12300;&#21462;&#19968;&#25209;&#36039;&#26009;&#65292;&#28982;&#24460;&#23565;&#27599;&#31558;&#36039;&#26009;&#20877;&#21508;&#36865;&#19968;&#27425;&#26597;&#35426;&#12301;&#12290;&#36889;&#35041;&#30340; N+1 &#21063;&#26159;&#12300;&#19968;&#24373; Pivot Table&#65292;&#25286;&#25104; N &#26781;&#26597;&#35426;&#65292;&#19968;&#26781;&#19968;&#26781;&#22320;&#36865;&#36914;&#36039;&#26009;&#24235;&#22519;&#34892;&#12301;&#12290;&#25105;&#25226;&#23427;&#31281;&#28858; Dimensional N+1&#12290;</p><h2><strong>&#28858;&#20160;&#40636;&#19981;&#33021;&#21482;&#25913; ClickHouse Adapter</strong></h2><p>&#33258;&#28982;&#22320;&#65292;&#19979;&#19968;&#20491;&#21839;&#38988;&#26159;&#65306;&#12300;&#21487;&#20197;&#19981;&#25913; Metabase &#30340;&#26680;&#24515;&#65292;&#21482;&#20462;&#25913; ClickHouse &#30340; adapter &#21966;&#65311;&#12301;</p><p>&#19981;&#34892;&#12290;</p><p>Metabase &#30340; driver &#26550;&#27083;&#26159;&#38752; multimethod &#20358;&#20570;&#25844;&#20805;&#65292;driver &#21487;&#20197; override SQL &#30340;&#32232;&#35695;&#12289;&#22411;&#21029;&#36681;&#25563;&#12289;&#26085;&#26399;&#34389;&#29702;&#31561;&#31561;&#12290;&#20294; <code>generate-queries</code> &#21644; <code>process-multiple-queries</code> &#37117;&#26159; <code>pivot.clj</code> &#35041;&#30340; <strong>private plain function</strong>&#65292;&#19981;&#26159; multimethod&#65292;adapter &#27794;&#26377;&#20219;&#20309; hook &#21487;&#20197;&#20171;&#20837;&#12290;</p><p>&#30070; driver &#25343;&#21040; SQL &#30340;&#26178;&#20505;&#65292;&#24050;&#32147;&#26159;&#25286;&#22909;&#30340;&#22810;&#26781;&#26597;&#35426;&#20102;&#12290;&#23427;&#19981;&#30693;&#36947;&#33258;&#24049;&#26159;&#22312;&#22519;&#34892; pivot&#65292;&#33258;&#28982;&#20063;&#28961;&#27861;&#25226;&#26597;&#35426;&#21512;&#20341;&#12290;</p><p>&#20854;&#23526;&#35299;&#27861;&#24456;&#28165;&#26970;&#65306;&#20027;&#27969;&#30340; OLAP &#36039;&#26009;&#24235;&#24190;&#20046;&#37117;&#21407;&#29983;&#25903;&#25588; <code>GROUPING SETS</code> &#25110; <code>ROLLUP</code>&#65292;&#21487;&#20197;&#29992;&#19968;&#26781; SQL &#34920;&#36948; Metabase &#29694;&#22312;&#29992; N &#26781;&#26597;&#35426;&#25165;&#33021;&#20570;&#21040;&#30340;&#20107;&#12290;ClickHouse &#20063;&#25903;&#25588;&#12290;&#20294; Metabase &#25972;&#20491; codebase &#27794;&#26377;&#20219;&#20309;&#19968;&#34892;&#29992;&#21040;&#36889;&#20123;&#35486;&#27861;&#65292;&#32780;&#19988;&#35201;&#20351;&#29992;&#30340;&#35441;&#65292;&#24517;&#38920;&#25913;&#21205; core&#65292;&#19981;&#26159;&#25913; adapter &#23601;&#33021;&#35299;&#27770;&#30340;&#12290;</p><h2><strong>&#32080;&#35486;</strong></h2><p>&#25972;&#29702;&#23436;&#35386;&#26039;&#20043;&#24460;&#65292;&#25105;&#21435; Metabase &#30340; GitHub &#25552;&#20102; <a href="https://github.com/metabase/metabase/issues/70779">issue</a>&#12290;&#28982;&#24460;&#30332;&#29694;&#65292;2023 &#24180;&#23601;&#26377;&#20154;&#25552;&#36942;&#39006;&#20284;&#30340;&#21839;&#38988;&#20102;&#12290;</p><p>&#37027;&#20491; issue &#34987;&#27161;&#35352;&#28858; <code>difficult</code>&#65292;&#33267;&#20170;&#20173;&#28982;&#38283;&#33879;&#12290;&#30475;&#20358;&#36996;&#35201;&#20877;&#31561;&#19968;&#27573;&#26178;&#38291;&#12290;</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://replware.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading PruningSuccess! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[懶人投影片]]></title><description><![CDATA[&#21482;&#31649;&#20839;&#23481;&#12289;&#19981;&#31649;&#21576;&#29694;]]></description><link>https://replware.substack.com/p/738</link><guid isPermaLink="false">https://replware.substack.com/p/738</guid><dc:creator><![CDATA[Laurence Chen]]></dc:creator><pubDate>Sun, 08 Mar 2026 23:00:16 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!aIzO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa178beb6-6a8d-4de2-82d1-eed68eb67748_848x527.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#19978;&#36913;&#25105;&#23526;&#39511;&#20102;&#19968;&#20491;&#26032;&#30340;&#20570;&#27861;&#20358;&#20570;&#25237;&#24433;&#29255;&#65292;&#26159;&#29992; marp CLI &#36889;&#25903;&#31243;&#24335;&#23565;&#25033;&#30340; Markdown &#26684;&#24335;&#20358;&#25776;&#23531;&#12290;</p><p>&#19968;&#30452;&#20197;&#20358;&#25105;&#20570;&#25237;&#24433;&#29255;&#37117;&#26377;&#19968;&#20491;&#22256;&#25854;&#65306;&#22914;&#26524;&#29992;&#19968;&#33324;&#30340; Google Slides &#25110;&#25237;&#24433;&#29255;&#36575;&#39636;&#65292;&#25105;&#24120;&#24120;&#35201;&#19968;&#37002;&#23531;&#20839;&#23481;&#12289;&#19968;&#37002;&#24819;&#37197;&#22294;&#65292;&#36996;&#35201;&#34389;&#29702;&#25490;&#29256;&#12289;&#23383;&#39636;&#22823;&#23567;&#65292;&#20197;&#21450;&#25972;&#20491;&#25237;&#24433;&#29255;&#30340; Look and Feel&#12290;</p><p>&#25105;&#26412;&#20358;&#23601;&#30693;&#36947;&#26377;&#19968;&#31278;&#26041;&#24335;&#21487;&#20197;&#29992; Markdown &#26684;&#24335;&#20358;&#20570;&#25237;&#24433;&#29255;&#65292;&#27604;&#26041;&#35498;&#29992;&#20841;&#20491; heading&#65288;##&#65289;&#34920;&#31034;&#19968;&#24373;&#25237;&#24433;&#29255;&#30340;&#27161;&#38988;&#65292;&#20006;&#21033;&#29992;&#19977;&#20491;&#27243;&#32218;&#65288;---&#65289;&#20358;&#34920;&#31034;&#25237;&#24433;&#29255;&#20043;&#38291;&#30340;&#36339;&#38913;&#65292;&#36889;&#23601;&#26159; marp &#30340; Markdown &#26684;&#24335;&#12290;</p><p>marp &#30340; Markdown &#26684;&#24335;&#31684;&#20363;&#22914;&#19979;&#65306;</p><pre><code><code>## Agenda

- &#20160;&#40636;&#26159; Lisp ?
- Lisp &#30340;&#36215;&#28304;
- Lisp &#30340;&#29694;&#22312;
- Lisp &#30340;&#26410;&#20358;


---

## &#20160;&#40636;&#26159; Lisp ?

(+ 1 2) 
;; =&gt; 3
</code></code></pre><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!aIzO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa178beb6-6a8d-4de2-82d1-eed68eb67748_848x527.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!aIzO!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa178beb6-6a8d-4de2-82d1-eed68eb67748_848x527.png 424w, https://substackcdn.com/image/fetch/$s_!aIzO!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa178beb6-6a8d-4de2-82d1-eed68eb67748_848x527.png 848w, https://substackcdn.com/image/fetch/$s_!aIzO!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa178beb6-6a8d-4de2-82d1-eed68eb67748_848x527.png 1272w, https://substackcdn.com/image/fetch/$s_!aIzO!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa178beb6-6a8d-4de2-82d1-eed68eb67748_848x527.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!aIzO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa178beb6-6a8d-4de2-82d1-eed68eb67748_848x527.png" width="848" height="527" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a178beb6-6a8d-4de2-82d1-eed68eb67748_848x527.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:527,&quot;width&quot;:848,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:126905,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://replware.substack.com/i/190181847?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa178beb6-6a8d-4de2-82d1-eed68eb67748_848x527.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!aIzO!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa178beb6-6a8d-4de2-82d1-eed68eb67748_848x527.png 424w, https://substackcdn.com/image/fetch/$s_!aIzO!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa178beb6-6a8d-4de2-82d1-eed68eb67748_848x527.png 848w, https://substackcdn.com/image/fetch/$s_!aIzO!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa178beb6-6a8d-4de2-82d1-eed68eb67748_848x527.png 1272w, https://substackcdn.com/image/fetch/$s_!aIzO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa178beb6-6a8d-4de2-82d1-eed68eb67748_848x527.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><br><br>&#25105;&#20043;&#21069;&#30340;&#23526;&#39511;&#26159;&#65292;&#29992;&#36889;&#27171;&#19968;&#20491; Markdown &#27284;&#25918;&#20102;&#20363;&#22914; 30 &#24373;&#25237;&#24433;&#29255;&#30340;&#20839;&#23481;&#65292;&#20877;&#29992; marp CLI &#31243;&#24335;&#21435;&#36681;&#25563;&#12290;&#20294;&#30070;&#26178;&#20986;&#29694;&#30340;&#21839;&#38988;&#26159;&#36681;&#20986;&#20358;&#30340;&#25237;&#24433;&#29255;&#26371;&#12300;&#30772;&#22294;&#12301;&#65292;&#21407;&#22240;&#22312;&#26044;&#22914;&#26524;&#25105;&#27794;&#26377;&#29305;&#21029;&#21435;&#35519;&#25972;&#27599;&#24373;&#22294;&#29255;&#30340;&#38263;&#23532;&#65292;&#23427;&#20006;&#19981;&#26371;&#33258;&#21205;&#32302;&#25918;&#12290;&#38614;&#28982; marp &#26684;&#24335;&#35041;&#26377;&#19968;&#20123;&#25511;&#21046;&#35486;&#27861;&#21487;&#20197;&#33258;&#21205;&#35519;&#25972;&#22294;&#30340;&#22823;&#23567;&#65292;&#20294;&#25105;&#35258;&#24471;&#37027;&#20123;&#35486;&#27861;&#23565;&#25105;&#20358;&#35498;&#26377;&#40670;&#22256;&#38627;&#12290;</p><h2><strong>LLM + marp CLI</strong></h2><p>&#32317;&#20043;&#65292;&#19978;&#36913;&#25105;&#23526;&#39511;&#30340;&#32080;&#26524;&#26159;&#65306;</p><ol><li><p>&#25105;&#25226;&#25237;&#24433;&#29255;&#30340;&#20839;&#23481;&#20840;&#37096;&#25918;&#22312;&#19968;&#20491; Markdown &#27284;&#35041;&#12290;</p></li><li><p>&#22312;&#27599;&#24373;&#25237;&#24433;&#29255;&#20013;&#65292;&#36879;&#36942; Markdown &#23884;&#20837;&#22294;&#29255;&#30340;&#21151;&#33021;&#65292;&#21435; reference &#20854;&#20182;&#36039;&#26009;&#22846;&#35041;&#30340;&#22294;&#29255;&#12290;</p></li><li><p>&#25105;&#25226;&#22294;&#29255;&#36039;&#26009;&#22846;&#21644;&#36889;&#20491; Markdown &#27284;&#65292;&#25918;&#21040;&#19968;&#20491; Claude Cowork &#21487;&#20197;&#23384;&#21462;&#30340;&#36039;&#26009;&#22846;&#12290;</p></li></ol><p>&#25509;&#33879;&#25105;&#35531; Claude Cowork &#24171;&#25105;&#25226;&#36889;&#20123;&#20839;&#23481;&#20570;&#25104;&#25237;&#24433;&#29255;&#12290;&#32080;&#26524;&#24456;&#38918;&#21033;&#22320;&#20570;&#20986;&#20102;&#19968;&#20221; Slide&#65292;&#32780;&#19988;&#23427;&#30340; Look and Feel &#36996;&#26377;&#22294;&#29255;&#30340;&#20301;&#32622;&#37117;&#38750;&#24120;&#27491;&#30906;&#12290;<br><br>&#25105;&#35430;&#36942;&#30340;&#20841;&#31278; prompts<br><br>1. <code>&#26681;&#25818; slides.md &#36889;&#20491;&#27284;&#26696;&#65292;&#24171;&#25105;&#29983;&#25104; slides &#65292;&#20006;&#19988;&#20570;&#36969;&#24230;&#30340;&#32654;&#21270;&#12290;&#27880;&#24847;&#22294;&#30340;&#22823;&#23567;&#12290;<br></code><br>2. <code>&#29992; marp &#23559; slides.md&#65288;&#21547; images/ &#22294;&#27284;&#65289;&#36681;&#20986;&#28858; slides.pdf&#12290;<br>&#38656;&#27714;&#65306;&#22312;&#36681;&#20986;&#21069;&#65292;&#20462;&#27491;&#25152;&#26377;&#22294;&#29255;&#30340; Marp &#35486;&#27861;&#65292;&#20351;&#20854;&#19981;&#36229;&#20986;&#25237;&#24433;&#29255;&#37002;&#30028;&#8212;&#8212;&#22294;&#29255;&#20308;&#28415;&#29256;&#30340;&#29992; ![bg contain]&#65292;&#22294;&#25991;&#28151;&#25490;&#30340;&#29992; ![h:Npx] &#38480;&#39640;&#12290;</code><br><br>&#25105;&#21839; Claude Cowork &#26159;&#24590;&#40636;&#20570;&#21040;&#30340;&#65292;&#23427;&#35498;&#23427;&#20043;&#25152;&#20197;&#21487;&#20197;&#20570;&#24471;&#36889;&#40636;&#22909;&#65292;&#26159;&#22240;&#28858;&#23427;&#30452;&#25509;&#23531;&#20102; Python &#31243;&#24335;&#21435;&#37327;&#28204;&#27599;&#19968;&#24373;&#22294;&#29255;&#30340;&#38263;&#23532;&#65292;&#20006;&#35373;&#35336;&#21512;&#29702;&#30340;&#26041;&#27861;&#25490;&#20837;&#22294;&#29255;&#65292;&#25152;&#20197;&#23601;&#19981;&#26371;&#26377;&#30772;&#22294;&#30340;&#21839;&#38988;&#12290;</p><p>&#32147;&#36942;&#36889;&#20491;&#23526;&#39511;&#65292;&#25105;&#26377;&#24190;&#40670;&#24515;&#24471;&#65306;</p><ol><li><p>&#25105;&#24456;&#21916;&#27489; CLI &#31243;&#24335;&#21644; Markdown &#30340;&#26684;&#24335;&#65292;&#36889;&#20123;&#26481;&#35199;&#26368;&#27794;&#26377;&#38620;&#35338;&#21482;&#26377;&#35338;&#34399;&#12290;&#24456;&#24184;&#36939;&#30340;&#26159;&#65292;CLI &#31243;&#24335;&#21644; Markdown &#26684;&#24335;&#20063;&#38750;&#24120;&#36969;&#21512; LLM &#20351;&#29992;&#65292;&#25152;&#20197;&#25105;&#30340;&#24037;&#20316;&#27969;&#31243;&#26412;&#20358;&#23601;&#24456;&#36969;&#21512;&#35731; AI &#20358;&#21332;&#21161;&#12290;</p></li><li><p>&#38364;&#26044;&#20154;&#36319; AI &#20043;&#38291;&#30340;&#21332;&#20316;&#65292;&#20154;&#25033;&#35442;&#36996;&#26159;&#35201;&#23560;&#27880;&#22312;&#26368;&#37325;&#35201;&#12289;&#26368;&#26680;&#24515;&#30340;&#20839;&#23481;&#65307;&#33267;&#26044;&#37027;&#20123;&#27604;&#36611;&#33457;&#24515;&#21147;&#30340;&#25490;&#29256;&#32048;&#31680;&#65292;&#19981;&#22952;&#23601;&#20132;&#32102; AI &#21543;&#12290;</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://replware.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading PruningSuccess! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div></li></ol>]]></content:encoded></item><item><title><![CDATA[分享我的 AI 應用技巧]]></title><description><![CDATA[&#35386;&#26039;&#24037;&#20316;&#27969;&#20013;&#30340;&#12300;&#20302;&#21697;&#36074;&#26039;&#40670;&#12301;&#65292;&#35731; AI &#30495;&#27491;&#25104;&#28858;&#20320;&#30340;&#23560;&#26989;&#21103;&#39381;&#39387;]]></description><link>https://replware.substack.com/p/ai-067</link><guid isPermaLink="false">https://replware.substack.com/p/ai-067</guid><dc:creator><![CDATA[Laurence Chen]]></dc:creator><pubDate>Sun, 01 Mar 2026 23:01:15 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!i6ll!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F760983d4-6c15-4c0c-a460-36abe274428e_1132x762.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#32178;&#36335;&#19978;&#27599;&#22825;&#37117;&#26377;&#26032;&#30340; AI &#25033;&#29992;&#25991;&#65292;&#20294;&#26159;&#65292;&#20854;&#20013;&#30340;&#35377;&#22810;&#23565;&#38750; IT &#32972;&#26223;&#30340;&#20154;&#24456;&#19981;&#21451;&#21892;&#65292;&#36889;&#37002;&#26159;&#19968;&#31687;&#19968;&#33324;&#20154;&#20063;&#21487;&#20197;&#29992;&#30340;&#25216;&#24039;&#12290;</p><ol><li><p>&#25512;&#33616;&#20351;&#29992; typeless &#35486;&#38899;&#36664;&#20837;</p></li><li><p>&#25512;&#33616;&#20351;&#29992; Claude Cowork</p></li><li><p>&#20998;&#20139;&#25105;&#30340; Claude personal preferences</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!i6ll!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F760983d4-6c15-4c0c-a460-36abe274428e_1132x762.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!i6ll!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F760983d4-6c15-4c0c-a460-36abe274428e_1132x762.png 424w, https://substackcdn.com/image/fetch/$s_!i6ll!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F760983d4-6c15-4c0c-a460-36abe274428e_1132x762.png 848w, https://substackcdn.com/image/fetch/$s_!i6ll!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F760983d4-6c15-4c0c-a460-36abe274428e_1132x762.png 1272w, https://substackcdn.com/image/fetch/$s_!i6ll!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F760983d4-6c15-4c0c-a460-36abe274428e_1132x762.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!i6ll!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F760983d4-6c15-4c0c-a460-36abe274428e_1132x762.png" width="1132" height="762" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/760983d4-6c15-4c0c-a460-36abe274428e_1132x762.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:762,&quot;width&quot;:1132,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:764410,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://replware.substack.com/i/189253273?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F760983d4-6c15-4c0c-a460-36abe274428e_1132x762.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!i6ll!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F760983d4-6c15-4c0c-a460-36abe274428e_1132x762.png 424w, https://substackcdn.com/image/fetch/$s_!i6ll!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F760983d4-6c15-4c0c-a460-36abe274428e_1132x762.png 848w, https://substackcdn.com/image/fetch/$s_!i6ll!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F760983d4-6c15-4c0c-a460-36abe274428e_1132x762.png 1272w, https://substackcdn.com/image/fetch/$s_!i6ll!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F760983d4-6c15-4c0c-a460-36abe274428e_1132x762.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2><strong>typeless</strong></h2><p>&#23601;&#20687;&#32178;&#36335;&#19978;&#35377;&#22810;&#20154;&#35611;&#30340;&#19968;&#27171;&#65292;&#28415;&#22909;&#29992;&#30340;&#12290;</p><p>&#19981;&#36942;&#65292;&#30495;&#30340;&#29992;&#20102;&#24190;&#22825;&#20043;&#24460;&#65292;&#36996;&#26159;&#27794;&#26377;&#24819;&#35937;&#20013;&#30340;&#38918;&#25163;&#12290;&#20027;&#35201;&#26159;&#22240;&#28858;&#25105;&#24179;&#24120;&#23531;&#26360;&#26178;&#65292;&#20284;&#20046;&#26159;&#35469;&#30495;&#23531;&#20316;&#23621;&#22810;&#65292;&#32232;&#36655;&#30340;&#26178;&#38291;&#24456;&#22810;&#12290;&#19968;&#20491;&#27573;&#33853;&#24448;&#24448;&#26159;&#21453;&#35206;&#32232;&#36655;&#20116;&#12289;&#20845;&#27425;&#25165;&#26371;&#28415;&#24847;&#12290;</p><p>&#22823;&#37327;&#32232;&#36655;&#30340;&#21069;&#25552;&#20043;&#19979;&#65292;typeless &#23601;&#27794;&#26377;&#24819;&#35937;&#20013;&#30340;&#39640;&#25928;&#20102;&#12290;&#22914;&#26524;&#21482;&#26159;&#36319;&#26379;&#21451;&#20659;&#35338;&#24687;&#30340;&#36889;&#31278;&#65292;&#36996;&#19981;&#37679;&#12290;&#27489;&#36814;&#40670;&#25105;&#30340;<a href="https://typeless.com/refer?code=UXBUEEM">&#25512;&#33616;&#36899;&#32080;</a>&#12290;</p><h2><strong>Claude Cowork</strong></h2><p>&#26368;&#36817;&#19968;&#20123; Excel &#30340;&#20107;&#65292;&#37117;&#36879;&#36942; Claude Cowork &#20358;&#20195;&#21214;&#12290;&#24863;&#35258;&#19978;&#65292;&#20197;&#21069;<a href="https://replware.substack.com/p/62b">&#25945;&#21451;&#21839;&#25105;&#30340;&#21839;&#38988;</a>&#65292;&#35498;&#19981;&#23450;&#20063;&#21487;&#20197;&#29992; Claude Cowork &#20358;&#34389;&#29702;&#12290;</p><p>Claude Cowork &#26159;&#35201;&#20184;&#36027;&#25165;&#33021;&#29992;&#30340;&#21151;&#33021;&#65292;&#25105;&#20184;&#36027;&#36023;&#26368;&#22522;&#26412;&#30340; Claude Pro &#20043;&#24460;&#65292;&#35258;&#24471;&#26368;&#22909;&#29992;&#30340;&#23601;&#26159;&#36889;&#20491;&#21151;&#33021;&#12290;</p><h2><strong>&#25105;&#30340; Claude personal preferences</strong></h2><pre><code><code>1. &#38928;&#35373;&#20351;&#29992;&#32321;&#39636;&#20013;&#25991;&#21488;&#28771;&#29992;&#35486;&#22238;&#31572;&#12290;
2. &#29992;&#32321;&#39636;&#20013;&#25991;&#36664;&#20986;&#22238;&#31572;&#26178;&#65292;&#20351;&#29992;&#20840;&#22411;&#30340;&#20013;&#25991;&#27161;&#40670;&#31526;&#34399;&#65288;&#65292;&#12290;&#65281;&#65311;&#65289;&#31561;
3. &#20351;&#29992;&#21488;&#28771;&#24120;&#29992;&#30340;&#25216;&#34899;&#34899;&#35486;&#65292;&#32780;&#38750;&#30452;&#35695;&#30340;&#20013;&#25991;&#35422;&#24409; (&#20363;&#22914;:&#12300;&#37096;&#32626;&#12301;&#32780;&#38750;&#12300;&#20296;&#32626;&#12301;)
4. &#22238;&#31572;&#26178;&#20445;&#25345;&#31777;&#28500;&#65292;&#36991;&#20813;&#36942;&#24230;&#20887;&#38263;&#30340;&#35299;&#37323;&#65292;&#38500;&#38750;&#25105;&#26126;&#30906;&#35201;&#27714;&#35443;&#32048;&#35498;&#26126;&#12290;
5. &#32763;&#35695;&#12289;&#25913;&#23531;&#25991;&#31456;&#12289;&#36664;&#20986;&#38263;&#25991;&#26178;&#65292;&#38928;&#35373;&#20351;&#29992; markdown &#26684;&#24335;&#36664;&#20986;&#65292;&#32780;&#19988;&#19981;&#35201; render &#12290;
6. &#23531;&#31243;&#24335;&#30908;&#26178;&#65292;&#35387;&#35299;&#19968;&#24459;&#20351;&#29992;&#33521;&#25991;&#12290;
7. &#30070;&#22238;&#31572;&#28041;&#21450;&#25512;&#35542;&#12289;&#38928;&#28204;&#12289;&#22240;&#26524;&#20998;&#26512;&#25110;&#24314;&#35696;&#26178;&#65292;&#20381;&#24773;&#22659;&#36984;&#25799;&#24615;&#38468;&#19978;&#65306;&#20449;&#24515;&#21312;&#38291;&#12289;&#26368;&#24375;&#21453;&#23565;&#35542;&#40670;&#12289;&#38364;&#37749;&#38577;&#24615;&#20551;&#35373;&#12289;&#25110;&#22522;&#28310;&#29575;&#25976;&#25818;&#12290;
8. &#35531;&#26681;&#25818;&#20219;&#21209;&#39006;&#22411;&#35519;&#25972;&#24744;&#30340;&#20114;&#21205;&#27169;&#24335;&#65306;
* &#29983;&#25104;&#33287;&#37325;&#27083;&#39006;&#20219;&#21209;&#65288;&#20363;&#22914;&#65306;&#37325;&#23531;&#12289;&#37325;&#26032;&#32068;&#32340;&#12289;&#20462;&#27491;&#25110;&#32232;&#36655;&#65289;&#65306;&#22312;&#38283;&#22987;&#22519;&#34892;&#21069;&#65292;&#35531;&#20808;&#25552;&#20986;&#37328;&#28165;&#24615;&#30340;&#21839;&#38988;&#12290;&#36889;&#39006;&#20219;&#21209;&#36890;&#24120;&#38656;&#35201;&#26356;&#22810;&#32972;&#26223;&#36039;&#35338;&#65292;&#25165;&#33021;&#31526;&#21512;&#25105;&#30340;&#38928;&#26399;&#12290;
* &#25910;&#25986;&#33287;&#20998;&#26512;&#39006;&#20219;&#21209;&#65288;&#20363;&#22914;&#65306;&#35413;&#35542;&#25991;&#31456;&#12289;&#20998;&#26512;&#37007;&#36655;&#65289;&#65306;&#35531;&#31435;&#21363;&#38283;&#22987;&#22519;&#34892;&#20219;&#21209;&#65292;&#28961;&#38656;&#20107;&#20808;&#25552;&#21839;&#12290;
9. &#23531;&#31243;&#24335;&#30908;&#26178;&#65292; web application &#20778;&#20808;&#20351;&#29992; Clojure&#12290;shell script &#20778;&#20808;&#20351;&#29992; Babashka &#12290;&#20854;&#23427;&#30340;&#20107;&#24773;&#65292;&#27604;&#26041;&#35498;&#65292;Data Analytics &#65292;&#21063;&#19981;&#22312;&#27492;&#38480;&#65292;&#21487;&#20197;&#36984;&#25799;&#26368;&#21512;&#29702;&#30340;&#36984;&#38917;&#12290;</code></code></pre><p>&#27604;&#36611;&#29305;&#21029;&#30340;&#65292;&#25033;&#35442;&#26159;&#31532;&#19971;&#33287;&#31532;&#20843;&#40670;&#12290;</p><p>&#31532;&#19971;&#40670;&#26159;&#22240;&#28858;&#25105;&#30070;&#21483; AI &#24171;&#25105;&#25512;&#35542;&#12289;&#38928;&#28204;&#12289;&#32102;&#24314;&#35696;&#65292;&#25105;&#37117;&#24456;&#25812;&#24515;&#36942;&#20998;&#33258;&#20449;&#12290;&#31532;&#20843;&#40670;&#30340;&#35441;&#65292;&#21063;&#26159;&#22240;&#28858;&#29983;&#25104;&#33287;&#37325;&#27083;&#39006;&#30340;&#20219;&#21209;&#65292;&#36890;&#24120;&#25105;&#32102;&#30340; context &#37117;&#19981;&#22816;&#12290;</p><h2><strong>&#32317;&#32080;</strong></h2><p>&#25105;&#32317;&#35258;&#24471;&#65292;&#20351;&#29992;&#31185;&#25216;&#33287;&#25552;&#26119;&#29983;&#29986;&#21147;&#20043;&#38291;&#36996;&#26159;&#26377;&#19968;&#20491;&#38364;&#37749;&#65306;&#12300;&#24478;&#21839;&#38988;&#21435;&#23563;&#25214;&#35299;&#27770;&#26041;&#26696;&#12301;&#12290;&#25152;&#20197;&#65292;&#35201;&#25552;&#26119;&#29983;&#29986;&#21147;&#65292;&#26368;&#37325;&#35201;&#30340;&#36996;&#26159;&#20808;&#35264;&#23519;&#20986;&#24179;&#24120;&#24037;&#20316;&#30340;&#27969;&#31243;&#35041;&#65292;&#26377;&#21738;&#20123;&#37096;&#20998;&#26159;&#20302;&#21697;&#36074;&#30340;&#12289;&#26159;&#26039;&#40670;&#65292;&#28982;&#24460;&#20877;&#21435;&#23563;&#25214;&#35299;&#27770;&#26041;&#26696;&#12290;</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://replware.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading PruningSuccess! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[數學是「學」出來的，而英文是「活」出來的]]></title><description><![CDATA[&#24478;&#35036;&#32722;&#30340;&#25237;&#36039;&#30475;&#38542;&#32026;&#38272;&#27323;]]></description><link>https://replware.substack.com/p/6a2</link><guid isPermaLink="false">https://replware.substack.com/p/6a2</guid><dc:creator><![CDATA[Laurence Chen]]></dc:creator><pubDate>Sun, 22 Feb 2026 23:00:27 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!KaMh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5270b113-5a7f-4396-9bd7-b56047049daa_1366x880.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#36942;&#24180;&#25918;&#20102;&#38263;&#20551;&#65292;&#26377;&#35377;&#22810;&#26178;&#38291;&#36319;&#23567;&#23401;&#24453;&#22312;&#19968;&#36215;&#65292;&#30070;&#19971;&#27506;&#30340;&#22899;&#20818;&#22312;&#32842;&#22825;&#26178;&#19968;&#21475;&#27683;&#36899;&#35611;&#20102;&#19971;&#20491;&#19981;&#24859;&#29240;&#29240;&#30340;&#29702;&#30001;&#26178;&#65292;&#25105;&#24819;&#36215;&#20102;&#31038;&#26371;&#23416;&#30340;&#35542;&#36848;&#65306;&#12300;&#19981;&#21516;&#30340;&#31038;&#26371;&#38542;&#32026;&#25945;&#39178;&#23376;&#22899;&#30340;&#26041;&#24335;&#19981;&#21516;&#12290;&#39640;&#31038;&#32147;&#22320;&#20301;&#30340;&#23478;&#24237;&#65292;&#22312;&#22521;&#39178;&#23376;&#22899;&#26178;&#65292;&#26371;&#20670;&#21521;&#29992;&#24314;&#35696;&#12289;&#35299;&#37323;&#29702;&#30001;&#20358;&#21462;&#20195;&#21934;&#32020;&#30340;&#21629;&#20196;&#65292;&#40723;&#21237;&#23376;&#22899;&#33287;&#20043;<strong>&#36783;&#35542;</strong>&#65292;&#22521;&#39178;&#23376;&#22899;&#25361;&#25136;&#27402;&#23041;&#30340;&#34389;&#19990;&#26041;&#24335;&#12290;&#12301;</p><p>&#38918;&#33879;&#36889;&#20491;&#24605;&#32771;&#65292;&#26597;&#20102;&#19968;&#20123;&#31038;&#26371;&#30340;&#32113;&#35336;&#33287;&#30740;&#31350;&#65292;&#21448;&#30475;&#21040;&#20102;&#19968;&#20123;&#31038;&#26371;&#30340;&#29694;&#23526;&#12290;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!KaMh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5270b113-5a7f-4396-9bd7-b56047049daa_1366x880.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!KaMh!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5270b113-5a7f-4396-9bd7-b56047049daa_1366x880.png 424w, https://substackcdn.com/image/fetch/$s_!KaMh!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5270b113-5a7f-4396-9bd7-b56047049daa_1366x880.png 848w, https://substackcdn.com/image/fetch/$s_!KaMh!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5270b113-5a7f-4396-9bd7-b56047049daa_1366x880.png 1272w, https://substackcdn.com/image/fetch/$s_!KaMh!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5270b113-5a7f-4396-9bd7-b56047049daa_1366x880.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!KaMh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5270b113-5a7f-4396-9bd7-b56047049daa_1366x880.png" width="1366" height="880" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5270b113-5a7f-4396-9bd7-b56047049daa_1366x880.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:880,&quot;width&quot;:1366,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1904274,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://replware.substack.com/i/188762237?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5270b113-5a7f-4396-9bd7-b56047049daa_1366x880.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!KaMh!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5270b113-5a7f-4396-9bd7-b56047049daa_1366x880.png 424w, https://substackcdn.com/image/fetch/$s_!KaMh!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5270b113-5a7f-4396-9bd7-b56047049daa_1366x880.png 848w, https://substackcdn.com/image/fetch/$s_!KaMh!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5270b113-5a7f-4396-9bd7-b56047049daa_1366x880.png 1272w, https://substackcdn.com/image/fetch/$s_!KaMh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5270b113-5a7f-4396-9bd7-b56047049daa_1366x880.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2><strong>&#33521;&#35486;&#35036;&#32722;&#30340;&#21453;&#36681;&#29694;&#35937;</strong></h2><p>&#22312;&#21488;&#28771;&#30340;&#24433;&#23376;&#25945;&#32946;&#30740;&#31350;&#20013;&#65292;&#26377;&#19968;&#20491;&#38750;&#24120;&#26377;&#24847;&#24605;&#30340;&#25976;&#25818;&#20998;&#27495;&#12290;&#20659;&#32113;&#19978;&#65292;&#25105;&#20497;&#35469;&#28858;&#12300;&#36234;&#26377;&#37666;&#65292;&#35036;&#32722;&#23601;&#35036;&#24471;&#36234;&#20807;&#12301;&#65292;&#36889;&#22312;&#25976;&#23416;&#12289;&#29702;&#21270;&#31561;&#23416;&#31185;&#30906;&#23526;&#26159;&#30495;&#29702;&#65292;&#20294;&#22312;&#33521;&#35486;&#36889;&#38272;&#23416;&#31185;&#19978;&#65292;&#21371;&#22312; PR 90 &#30340;&#23478;&#25142;&#38272;&#27323;&#65288;&#32004;&#24180;&#25910; 300 &#33836;&#21488;&#24163;&#20197;&#19978;&#65289;&#20986;&#29694;&#20102;&#12300;&#21453;&#36681;&#12301;&#12290;</p><p>&#26681;&#25818;&#23416;&#32773;&#38364;&#31177;&#23493;&#12289;&#26519;&#22823;&#26862;&#31561;&#20154;&#30340;&#23526;&#35657;&#35264;&#23519;&#65292;&#30070;&#23478;&#24237;&#31038;&#32147;&#22320;&#20301;&#36948;&#21040;&#38914;&#31471;&#26178;&#65292;&#23401;&#23376;&#22312;&#22283;&#39640;&#20013;&#38542;&#27573;&#30340;&#33521;&#35486;&#35036;&#32722;&#21443;&#33287;&#29575;&#21453;&#32780;&#38283;&#22987;&#19979;&#38477;&#12290;&#36889;&#19981;&#26159;&#22240;&#28858;&#36889;&#32676;&#12300;&#22825;&#20043;&#39509;&#23376;&#12301;&#19981;&#37325;&#35222;&#33521;&#25991;&#65292;&#32780;&#26159;&#20182;&#20497;&#26089;&#24050;&#36879;&#36942;&#26356;&#26114;&#36020;&#30340;&#36335;&#24465;&#65292;&#25552;&#26089;&#23436;&#25104;&#20102;&#36889;&#22580;&#31478;&#36093;&#12290;</p><p>&#36889;&#20491;&#29694;&#35937;&#32972;&#24460;&#38577;&#21547;&#20102;&#19968;&#20491;&#31038;&#26371;&#23416;&#30340;&#37007;&#36655;&#65306;&#25976;&#23416;&#26159;&#12300;&#24418;&#24335;&#31185;&#23416;&#12301;&#65292;&#20294;&#33521;&#25991;&#26159;&#12300;&#25991;&#21270;&#24931;&#32722;&#12301;&#12290;</p><p>&#23565;&#26044; PR 90 &#20197;&#19978;&#30340;&#23478;&#24237;&#20358;&#35498;&#65292;&#33521;&#25991;&#20006;&#38750;&#32771;&#21367;&#19978;&#30340;&#36984;&#25799;&#38988;&#65292;&#32780;&#26159;&#23458;&#24307;&#35041;&#30340; Podcast&#12289;&#39184;&#26700;&#19978;&#30340;&#22806;&#31821;&#20445;&#22982;&#65292;&#25110;&#26159;&#26257;&#20551;&#37027;&#22580;&#21205;&#36626; 30 &#33836;&#21488;&#24163;&#30340;&#28023;&#22806;&#36938;&#23416;&#12290;&#31038;&#26371;&#23416;&#23478;&#24067;&#36842;&#21380;&#65288;Pierre Bourdieu&#65289;&#31281;&#20043;&#28858;<strong>&#12300;&#20855;&#36523;&#21270;&#25991;&#21270;&#36039;&#26412;&#65288;Embodied Capital&#65289;&#12301;</strong>&#12290;&#30070;&#33521;&#25991;&#35722;&#25104;&#20102;&#12300;&#29983;&#27963;&#29872;&#22659;&#12301;&#30340;&#19968;&#37096;&#20998;&#65292;&#23427;&#23601;&#34987;&#33258;&#28982;&#32722;&#24471;&#20102;&#65288;Acquisition&#65289;&#65307;&#32780;&#23565;&#20013;&#29986;&#25110;&#22522;&#23652;&#23478;&#24237;&#20358;&#35498;&#65292;&#33521;&#25991;&#27704;&#36960;&#21482;&#26159;&#19968;&#38272;&#38656;&#35201;&#36879;&#36942;&#30171;&#33510;&#32972;&#35494;&#12289;&#22312;&#35036;&#32722;&#29677;&#12300;&#23416;&#32722;&#65288;Learning&#65289;&#12301;&#30340;&#12300;&#32771;&#31185;&#12301;&#12290;</p><h2><strong>&#38656;&#35201;&#28966;&#24942;&#21966;&#65311;</strong></h2><p>&#28966;&#24942;&#26159;&#20027;&#35264;&#30340;&#65292;&#36996;&#26159;&#20358;&#35527;&#25033;&#23565;&#20043;&#36947;&#21543;&#12290;</p><p>&#39318;&#20808;&#65292;PR 90 &#30340;&#23478;&#24237;&#65292;&#20006;&#19981;&#26159;&#27599;&#19968;&#23478;&#27599;&#19968;&#25142;&#37117;&#36889;&#40636;&#35469;&#30495;&#12290;&#24448;&#24448;&#26159;&#39640;&#25910;&#20837;&#19988;&#26997;&#39640;&#23416;&#27511;&#30340;&#23478;&#24237;&#30340;&#37096;&#20998;&#65292;&#25165;&#26371;&#31309;&#26997;&#22320;&#29992;&#29983;&#27963;&#29872;&#22659;&#20358;&#21462;&#20195;&#35036;&#32722;&#65292;&#32780;&#19988;&#24456;&#21487;&#33021;&#36889;&#27171;&#23376;&#20570;&#23478;&#38263;&#20063;&#38750;&#24120;&#19981;&#36629;&#39686;&#12290;</p><p>&#20043;&#21069;&#22312;&#26032;&#32862;&#19978;&#38706;&#20986;&#24456;&#22823;&#19968;&#31687;&#30340;&#20197;&#39340;&#20839;&#21033;&#23567;&#31461;&#65292;&#23478;&#24237;&#25910;&#20837;&#30340; PR &#20540;&#25033;&#35442;&#36960;&#36229;&#36942; 90 &#12290;&#26681;&#25818;&#25581;&#38706;&#30340;&#36039;&#35338;&#65292;&#35036;&#32722;&#30340;&#24375;&#24230;&#20043;&#39640;&#65292;&#39640;&#21040;&#35731;&#25105;&#25079;&#30097;&#65292;&#36889;&#21040;&#24213;&#26159;&#32570;&#20047;&#31574;&#30053;&#24605;&#32771;&#21040;&#20160;&#40636;&#31243;&#24230;&#65311;&#26377;&#37666;&#21040;&#36889;&#31278;&#31243;&#24230;&#65292;&#26126;&#26126;&#23601;&#26377;&#26356;&#22909;&#30340;&#36039;&#28304;&#36939;&#29992;&#26041;&#24335;&#12290;</p><p>&#32102;&#20013;&#29986;&#23478;&#24237;&#30340;&#24314;&#35696;&#21602;&#65311;</p><p>&#26178;&#38291;&#26377;&#38480;&#65292;&#20778;&#20808;&#25226;&#33521;&#25991;&#20197;&#22806;&#30340;&#31185;&#30446;&#35036;&#22909;&#65292;&#33521;&#25991;&#35373;&#27861;&#23416;&#21040;<strong>&#19981;&#22826;&#24046;</strong>&#12289;<strong>&#35712;&#23531;&#21487;&#29992;</strong>&#21363;&#21487;&#12290;&#21097;&#19979;&#30340;&#35201;&#38752;&#23567;&#23401;&#33258;&#24049;&#12290;&#29702;&#30001;&#22914;&#19979;&#65306;</p><p>&#19968;&#26041;&#38754;&#65292;&#33521;&#25991;&#35036;&#32722;&#19981;&#26159;&#12300;&#27785;&#28024;&#24335;&#30340;&#25945;&#23416;&#12301;&#65292;&#24456;&#22810;&#21482;&#33021;&#20107;&#20493;&#21151;&#21322;&#65292;&#21516;&#27171;&#30340;&#26178;&#38291;&#25343;&#21435;&#35036;&#25976;&#23416;&#12289;&#22283;&#35486;&#12289;&#20316;&#25991;&#65292;&#30456;&#23565;&#26377;&#27231;&#26371;&#24471;&#21040;&#19977;&#20493;&#30340;&#25104;&#25928;&#12290;&#20197;&#24120;&#35211;&#30340;&#20818;&#31461;&#32654;&#35486;&#35036;&#32722;&#26178;&#25976;&#20272;&#31639;&#65292;&#21516;&#27171;&#26178;&#38291;&#25343;&#21435;&#35036;&#20854;&#20182;&#31185;&#30446;&#65292;ROI &#22823;&#32004;&#26159;&#25976;&#20493;&#20197;&#19978;&#12290;&#20063;&#22240;&#27492;&#65292;&#22312;&#26178;&#38291;&#37329;&#37666;&#26377;&#38480;&#30340;&#21069;&#25552;&#19979;&#65292;&#25033;&#35442;&#36984;&#25799; ROI &#39640;&#30340;&#38917;&#30446;&#65292;&#34892;&#26377;&#39192;&#21147;&#65292;&#20877;&#21435;&#36861;&#27714;&#33521;&#25991;&#12290;&#21478;&#19968;&#26041;&#38754;&#65292;PR 90+ &#23478;&#24237;&#30340;&#23376;&#22899;&#65292;&#25630;&#19981;&#22909;&#23601;&#26989;&#24460;&#35377;&#22810;&#20006;&#19981;&#22312;&#22283;&#20839;&#33287;&#20013;&#29986;&#23478;&#24237;&#30340;&#23376;&#22899;&#31478;&#29229;&#65292;&#25563;&#35328;&#20043;&#65292;&#37027;&#21475;&#22312;&#22283;&#20839;&#26178;&#19968;&#38283;&#21475;&#23601;&#25955;&#30332;&#33879;&#38542;&#32026;&#24863;&#30340;&#27969;&#21033;&#33521;&#25991;&#65292;&#20063;&#26377;&#21487;&#33021;&#26085;&#24460;&#21482;&#26159;&#22283;&#38555;&#24066;&#22580;&#30340;&#20837;&#22580;&#21048;&#12290;</p><p>&#37027;&#20013;&#29986;&#38542;&#32026;&#30340;&#23376;&#22899;&#23601;&#27794;&#26377;&#27231;&#26371;&#25226;&#33521;&#25991;&#23416;&#21040;<strong>&#27969;&#21033;</strong>&#20102;&#21966;&#65311;&#29694;&#22312;&#24050;&#32147;&#26377;&#35377;&#22810;&#32178;&#36335;&#23416;&#32722;&#36039;&#28304;&#65292;&#36275;&#20197;&#21109;&#36896;&#27785;&#28024;&#24335;&#29872;&#22659;&#20102;&#65292;&#21482;&#26159;&#35498;&#65292;&#36889;&#24456;&#38656;&#35201;&#38752;&#23416;&#29983;&#26412;&#20154;&#30340;&#33258;&#24459;&#33287;&#20027;&#21205;&#24615;&#12290;&#32780;&#23569;&#25976;&#20013;&#29986;&#38542;&#32026;&#26997;&#33268;&#30340;&#26178;&#38291;&#28611;&#32302;&#25945;&#39178;&#26041;&#24335;&#65292;&#24688;&#22909;&#19981;&#21033;&#26044;&#22521;&#39178;&#20027;&#21205;&#24615;&#12290;</p><p>&#27492;&#22806;&#65292;&#22312;&#19968;&#20491;&#26377; LLM &#30340;&#26178;&#20195;&#65292;&#26576;&#31278;&#31243;&#24230;&#65292;&#27597;&#35486;&#30340;&#29087;&#32244;&#24230;&#12289;&#27597;&#35486;&#30340;&#23531;&#20316;&#33021;&#21147;&#65292;&#22312;&#32887;&#22580;&#25033;&#29992;&#20358;&#35611;&#65292;ROI &#21487;&#33021;&#27604;&#33521;&#25991;&#26356;&#22909;&#12290;</p><h2><strong>&#32080;&#35542;</strong></h2><p>&#33457;&#36027;&#38263;&#26178;&#38291;&#12300;&#35036;&#33521;&#25991;&#12301;&#30340;&#23416;&#29983;&#65292;&#25630;&#19981;&#22909;&#26085;&#24460;&#33521;&#25991;&#21475;&#38899;&#36996;&#26159;&#38935;&#19981;&#33258;&#28982;&#65292;&#23601;&#36319;&#22810;&#25976;&#30340;&#21488;&#28771;&#20154;&#19968;&#27171;&#65307;&#32780;&#37027;&#20123;&#24478;&#27794;&#36914;&#36942;&#33521;&#25991;&#35036;&#32722;&#29677;&#30340;&#23416;&#29983;&#35041;&#65292;&#20854;&#20013;&#30340;&#23569;&#25976;&#20154;&#65292;&#22312;&#38754;&#35430;&#26178;&#38283;&#21475;&#23601;&#26159;&#19968;&#21475;&#27969;&#21033;&#30340;&#33108;&#35519;&#12290;</p><p>&#36889;&#19981;&#26159;&#21162;&#21147;&#33287;&#21542;&#30340;&#21839;&#38988;&#65292;&#26159;&#29872;&#22659;&#27770;&#23450;&#20102;&#20320;&#33021;&#38263;&#20986;&#20160;&#40636;&#27171;&#30340;&#35486;&#35328;&#12290;&#20197;&#21313;&#20843;&#27506;&#30340;&#23567;&#23401;&#20358;&#35611;&#65292;&#20182;&#20497;&#35486;&#35328;&#33021;&#21147;&#30340;&#22825;&#33457;&#26495;&#65292;&#24448;&#24448;&#34987;&#23478;&#24237;&#30340;&#26085;&#24120;&#29983;&#27963;&#32102;&#23450;&#37672;&#20102;&#12290;</p><p>&#20013;&#29986;&#23478;&#24237;&#33021;&#20570;&#30340;&#65292;&#26159;&#25509;&#21463;&#36889;&#20491;&#29694;&#23526;&#65292;&#28982;&#24460;&#25226;&#36039;&#28304;&#25918;&#22312;&#30495;&#27491;&#20540;&#24471;&#25276;&#27880;&#30340;&#22320;&#26041;&#8212;&#8212;&#33521;&#25991;&#23416;&#21040;&#21487;&#29992;&#65292;&#20854;&#20182;&#31185;&#30446;&#21359;&#36215;&#20358;&#25340;&#65292;&#21097;&#19979;&#30340;&#36984;&#25799;&#65292;&#20132;&#32102;&#35201;&#29992;&#30340;&#37027;&#20491;&#20154;&#21435;&#33258;&#24049;&#27963;&#20986;&#20358;&#12290;</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://replware.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading PruningSuccess! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[寫作是一種自我的展現]]></title><description><![CDATA[&#21033;&#29992; LLM &#20358;&#24478;&#23531;&#20316;&#23563;&#25214;&#28507;&#22312;&#30340;&#20107;&#29289;]]></description><link>https://replware.substack.com/p/225</link><guid isPermaLink="false">https://replware.substack.com/p/225</guid><dc:creator><![CDATA[Laurence Chen]]></dc:creator><pubDate>Sun, 15 Feb 2026 23:01:00 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Lu8t!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F418e3094-c517-4b44-9a85-690fee7f25cd_1242x1108.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#20197;&#21069;&#25105;&#22312;&#35712;&#12298;On Writing Well&#12299;&#19968;&#26360;&#26178;&#65292;&#35712;&#21040;&#36942;&#19968;&#21477;&#35441;&#65292;&#35731;&#25105;&#24456;&#26377;&#24863;&#65306;</p><blockquote><p>Writing is an act of ego, and you might as well admit it.</p></blockquote><p>William Zinsser &#23531;&#19979;&#36889;&#19968;&#21477;&#65292;&#20006;&#38750;&#40723;&#21237;&#33258;&#22823;&#65292;&#32780;&#26159;&#25552;&#37266;&#20316;&#32773;&#35201;&#23565;&#33258;&#25105;&#35488;&#23526;&#12290;&#26082;&#28982;&#23531;&#20316;&#26159;&#33258;&#25105;&#30340;&#23637;&#29694;&#65292;&#20316;&#32773;&#23601;&#25033;&#23565;&#25991;&#23383;&#36000;&#36215;&#12300;&#22196;&#32901;&#30475;&#24453;&#12301;&#30340;&#36012;&#20219;&#65292;&#35469;&#30495;&#25171;&#30952;&#25216;&#24039;&#20197;&#21576;&#29694;&#26368;&#28165;&#26224;&#30340;&#24819;&#27861;&#65307;&#21478;&#19968;&#26041;&#38754;&#65292;&#36889;&#20063;&#24847;&#21619;&#33879;&#23531;&#20316;&#24517;&#38920;&#12300;&#28858;&#33258;&#24049;&#32780;&#23531;&#12301;&#65292;&#19981;&#24517;&#21051;&#24847;&#35342;&#22909;&#35712;&#32773;&#65292;&#32780;&#36889;&#20221;&#23565;&#30495;&#23526;&#33258;&#25105;&#30340;&#22533;&#25345;&#65292;&#30906;&#23526;&#38656;&#35201;&#19981;&#23569;&#12300;&#34987;&#35342;&#21421;&#30340;&#21191;&#27683;&#12301;&#12290;</p><p>&#26368;&#36817;&#65292;&#25105;&#22312;&#23531;&#20316;&#26178;&#65292;&#19968;&#26178;&#33288;&#36215;&#65292;&#23601;&#21483; LLM &#20358;&#27512;&#32013;&#25105;&#30340;&#23531;&#20316;&#39080;&#26684;&#12290;&#38283;&#22987;&#29609;&#20043;&#24460;&#65292;&#19968;&#30332;&#19981;&#21487;&#25910;&#25342;&#65292;&#25105;&#36996;&#25343;&#32178;&#36335;&#19978;&#30340;&#19968;&#20123; KOL &#30340;&#25991;&#23383;&#20063;&#20570;&#30456;&#20284;&#30340;&#29609;&#27861;&#65292;&#28982;&#24460;&#65292;&#30332;&#29694;&#23531;&#20316;&#39080;&#26684;&#33287;&#32887;&#28079;&#36984;&#25799;&#20043;&#38291;&#26377;&#20123;&#32784;&#20154;&#23563;&#21619;&#30340;&#38364;&#32879;&#12290;</p><p>&#25105;&#19968;&#30452;&#28961;&#27861;&#29702;&#35299;&#65306;</p><ul><li><p>&#26576;&#20123;&#25216;&#34899; KOL &#28858;&#20160;&#40636;&#35201;&#20570;&#22914;&#27492;&#36763;&#33510;&#30340;&#24037;&#20316;&#65292;&#26126;&#26126;&#26377;&#30456;&#23565;&#36629;&#39686;&#19981;&#23569;&#30340;&#36984;&#38917;&#12290;</p></li><li><p>&#32085;&#23565;&#19981;&#26159;&#19981;&#25026;&#23531;&#20316;&#65292;&#20294;&#26159;&#65292;&#19981;&#30693;&#28858;&#20309;&#65292;&#32317;&#26159;&#21916;&#27489;&#29992;&#19968;&#31278;&#21152;&#20837;&#23436;&#25972;&#26696;&#20363;&#30340;&#23531;&#27861;&#12289;&#32080;&#35542;&#24460;&#32622;&#30340;&#23531;&#27861;&#12289;&#32080;&#35542;&#28858;&#26696;&#20363;&#26381;&#21209;&#30340;&#23531;&#27861;&#12290;</p></li><li><p>&#28858;&#20309;&#25991;&#31456;&#24050;&#32147;&#36942;&#38263;&#20102;&#21371;&#26377;&#30526;&#22810;&#35712;&#32773;</p></li></ul><p>&#26576;&#20123;&#25216;&#34899; KOL &#36984;&#25799;&#20570; Fractional CTO &#30340;&#24037;&#20316;&#12290;&#32769;&#23526;&#35498;&#65292;&#36889;&#31278;&#24037;&#20316;&#24456;&#38627;&#20570;&#65292;&#24180;&#34218;&#19981;&#20302;&#65292;&#20294;&#26159;&#32771;&#24942;&#21040;&#32317;&#26159;&#35201;&#19981;&#20572;&#22320;&#25937;&#28779;&#65292;&#38263;&#26399;&#32047;&#31309;&#19979;&#20358;&#65292;&#23565;&#36523;&#24515;&#30340;&#22739;&#21147;&#37117;&#38750;&#24120;&#22823;&#12290;&#30456;&#23565;&#22320;&#65292;&#25105;&#30340; IT &#39015;&#21839;&#24037;&#20316;&#65292;&#22312;&#26368;&#21021;&#36215;&#27493;&#26178;&#65292;&#30906;&#23526;&#20063;&#20570;&#20102; 2, 3 &#20491;<strong>&#25937;&#28779;</strong>&#30340;&#26696;&#23376; (extreme problem solving)&#65292;&#20294;&#26159;&#65292;&#38568;&#33879;&#25105;&#24460;&#20358;&#38283;&#22987;&#31309;&#26997;&#22320;&#20570;&#31038;&#32676;&#12289;&#30332;&#34920;&#38263;&#25991;&#65292;&#25214;&#19978;&#38272;&#30340;&#23458;&#25142;&#65292;&#28472;&#28472;&#22320;&#36681;&#21521;&#20102;<strong>&#22909;&#19978;&#21152;&#22909;</strong>&#30340;&#26696;&#23376; (innovation) &#12290;&#26696;&#23376;&#30340;&#24615;&#36074;&#25913;&#35722;&#20102;&#65292;&#38500;&#20102;&#20729;&#26684;&#26356;&#22909;&#19968;&#20123;&#65292;&#21516;&#26178;&#65292;&#22519;&#34892;&#23560;&#26696;&#26178;&#38468;&#24118;&#30340;&#34909;&#31361;&#33287;&#22739;&#21147;&#26356;&#26159;&#23569;&#20102;&#19968;&#21322;&#20197;&#19978;&#12290;</p><p>&#29992; LLM &#20570;&#20102;&#38263;&#25991;&#30340;&#20998;&#26512;&#20043;&#24460;&#65292;&#24471;&#20986;&#30340;&#35299;&#37323;&#26159;&#65306;</p><ul><li><p>&#32887;&#28079;&#19978;&#65292;&#36889;&#39006; KOL &#20670;&#21521;&#36984;&#25799;&#39640;&#22739;&#25937;&#28779;&#22411;&#24037;&#20316;&#65292;&#21487;&#33021;&#36879;&#36942;&#35299;&#27770;&#22256;&#38627;&#21839;&#38988;&#20358;&#24314;&#31435;&#23560;&#26989;&#35469;&#21516;</p></li><li><p>&#23531;&#20316;&#19978;&#65292;&#20559;&#22909;&#32048;&#31680;&#35920;&#23500;&#12289;&#32080;&#35542;&#24460;&#32622;&#30340;&#39080;&#26684;&#65292;&#21516;&#27171;&#26159;&#36879;&#36942;&#35443;&#30433;&#35352;&#37636;&#20358;&#24375;&#21270;&#23560;&#26989;&#24418;&#35937;</p></li><li><p>&#33021;&#25345;&#32396;&#38321;&#35712;&#36889;&#39006;&#38263;&#25991;&#30340;&#35712;&#32773;&#65292;&#21487;&#33021;&#20063;&#22312;&#23563;&#25214;&#39006;&#20284;&#30340;&#30906;&#23450;&#24863;&#65292;&#20182;&#20497;&#21916;&#27489;&#36879;&#36942;&#23436;&#25972;&#30340;&#26696;&#20363;&#32048;&#31680;&#20358;&#39511;&#35657;&#26041;&#27861;&#30340;&#21487;&#34892;&#24615;&#65292;&#32780;&#38750;&#21482;&#35201;&#19968;&#20491;&#31777;&#28500;&#30340;&#32080;&#35542;&#12290;</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Lu8t!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F418e3094-c517-4b44-9a85-690fee7f25cd_1242x1108.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Lu8t!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F418e3094-c517-4b44-9a85-690fee7f25cd_1242x1108.png 424w, https://substackcdn.com/image/fetch/$s_!Lu8t!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F418e3094-c517-4b44-9a85-690fee7f25cd_1242x1108.png 848w, https://substackcdn.com/image/fetch/$s_!Lu8t!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F418e3094-c517-4b44-9a85-690fee7f25cd_1242x1108.png 1272w, https://substackcdn.com/image/fetch/$s_!Lu8t!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F418e3094-c517-4b44-9a85-690fee7f25cd_1242x1108.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Lu8t!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F418e3094-c517-4b44-9a85-690fee7f25cd_1242x1108.png" width="1242" height="1108" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/418e3094-c517-4b44-9a85-690fee7f25cd_1242x1108.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1108,&quot;width&quot;:1242,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:364734,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://replware.substack.com/i/187924869?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F418e3094-c517-4b44-9a85-690fee7f25cd_1242x1108.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Lu8t!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F418e3094-c517-4b44-9a85-690fee7f25cd_1242x1108.png 424w, https://substackcdn.com/image/fetch/$s_!Lu8t!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F418e3094-c517-4b44-9a85-690fee7f25cd_1242x1108.png 848w, https://substackcdn.com/image/fetch/$s_!Lu8t!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F418e3094-c517-4b44-9a85-690fee7f25cd_1242x1108.png 1272w, https://substackcdn.com/image/fetch/$s_!Lu8t!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F418e3094-c517-4b44-9a85-690fee7f25cd_1242x1108.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2><strong>LLM &#23531;&#20316;&#20998;&#26512;&#27969;&#31243;</strong></h2><ol><li><p>&#25214;&#29305;&#23450;&#20316;&#32773;&#30340; 3~5 &#31687;&#65292;&#35527;&#35542;&#19981;&#21516;&#20027;&#38988;&#65292;&#26377;&#39023;&#33879;&#24046;&#30064;&#30340;&#25991;&#39636;&#65292;&#32102; LLM &#20998;&#26512;&#12290;</p></li><li><p>&#20808;&#35531; LLM <strong>&#27512;&#32013;</strong>&#23531;&#20316;&#39080;&#26684;&#12290;</p></li><li><p>&#20877;&#35531; LLM <strong>&#20998;&#26512;</strong>&#20154;&#26684;&#29305;&#36074;&#65292;&#21516;&#26178;&#27492;&#19968;&#20998;&#26512;&#22522;&#26044;&#20197;&#19979;&#30340;&#29702;&#30001;&#65306;</p></li></ol><pre><code><code>&#19968;&#20491;&#20154;&#21487;&#20197;&#25511;&#21046;&#12300;&#35498;&#20160;&#40636;&#12301;
&#20294;&#38627;&#20197;&#25511;&#21046;&#12300;&#24590;&#40636;&#35498;&#12301;
&#19968;&#20491;&#20154;&#21487;&#20197;&#36984;&#25799;&#12300;&#25581;&#38706;&#20160;&#40636;&#12301;
&#20294;&#38627;&#20197;&#38577;&#34255;&#12300;&#28858;&#20160;&#40636;&#25581;&#38706;&#12301;</code></code></pre><p>&#23601;&#36889;&#40636;&#31777;&#21934;&#32780;&#24050;&#12290;&#30446;&#21069;&#23526;&#39511;&#30340;&#32080;&#26524;&#65292;&#26377;&#26178;&#20505;&#24456;&#31934;&#37319;&#12290;&#32780;&#31934;&#37319;&#30340;&#31243;&#24230;&#65292;&#36319;&#25991;&#39636;&#30340;&#35722;&#21270;&#24230;&#26377;&#38364;&#65292;&#20063;&#36319;&#25991;&#31456;&#30340;&#32317;&#38263;&#24230;&#26377;&#38364;&#12290;</p><p>&#30070;&#28982;&#65292;&#19978;&#36848;&#30340;&#20998;&#26512;&#20063;&#26377;&#20407;&#38480;&#24615;&#65292;&#23601;&#20687;&#30526;&#22810;&#30340;&#24515;&#29702;&#23416;&#25033;&#29992;&#33287; LLM &#25033;&#29992;&#19968;&#27171;&#12290;&#36889;&#37002;&#36996;&#26159;&#35201;&#25506;&#35342;&#19968;&#19979;&#65292;&#26159;&#21542;&#20998;&#26512;&#26377;&#20854;&#21512;&#29702;&#24615;&#65311;&#19978;&#36848;&#30340;&#20154;&#26684;&#29305;&#36074;&#20998;&#26512;&#21407;&#21063;&#21463;&#21040;&#20841;&#20491;&#30740;&#31350;&#38936;&#22495;&#30340;&#25903;&#25345;&#65306;</p><ul><li><p>&#35486;&#35328;&#24515;&#29702;&#23416; (Levelt, 1989; Pennebaker, 2011)&#65306;&#35486;&#35328;&#29986;&#20986;&#30340;&#24418;&#24335;&#21270;&#38542;&#27573;&#65288;&#22914;&#21151;&#33021;&#35422;&#36984;&#25799;&#12289;&#21477;&#27861;&#32080;&#27083;&#65289;&#22823;&#37096;&#20998;&#26159;&#33258;&#21205;&#21270;&#30340;&#65292;&#38627;&#20197;&#26377;&#24847;&#35672;&#25511;&#21046;&#12290;</p></li><li><p>&#34920;&#36948;&#24615;&#23531;&#20316;&#30740;&#31350; (Pennebaker &amp; Beall, 1986)&#65306;&#21363;&#20351;&#20154;&#20497;&#21051;&#24847;&#25511;&#21046;&#26360;&#23531;&#20839;&#23481;&#65292;&#20027;&#38988;&#37325;&#35079;&#24615;&#21644;&#24773;&#24863;&#25237;&#20837;&#27604;&#20363;&#20173;&#26371;&#27945;&#28431;&#28145;&#23652;&#24515;&#29702;&#35696;&#38988;&#12290;</p></li></ul><h2><strong>&#26132;&#26085;&#30340;&#35712;&#32773;&#30340;&#21839;&#38988;</strong></h2><p>&#25105;&#29992;&#36889;&#20491;&#26041;&#24335;&#20998;&#26512;&#20102;&#33258;&#24049;&#30340;&#23531;&#20316;&#39080;&#26684;&#20043;&#24460;&#65292;&#37325;&#26032;&#22238;&#31572;&#20102;&#19968;&#27425;&#35712;&#32773;&#26366;&#21839;&#36942;&#25105;&#30340;&#21839;&#38988;&#65306;</p><blockquote><p>&#20320;&#26377;&#30332;&#29694;&#20320;&#24456;&#26371;&#35498;&#26381;&#21966;&#65311;</p></blockquote><p>&#25105;&#31532;&#19968;&#27425;&#32893;&#21040;&#65292;&#21453;&#25033;&#26159;&#65306;&#12300;&#25105;&#23531;&#25105;&#33258;&#24049;&#30456;&#20449;&#30340;&#20107;&#12290;&#12301;</p><p>&#32780;&#36889;&#20491;&#21839;&#38988;&#65292; LLM &#21063;&#25552;&#20986;&#20102;&#21478;&#19968;&#20491;&#21487;&#33021;&#30340;&#31572;&#26696;&#65306;</p><blockquote><p>&#36889;&#21517;&#20316;&#32773;&#33268;&#21147;&#26044;&#25361;&#25136;&#26082;&#23450;&#20551;&#35373;&#20006;&#25581;&#31034;&#38577;&#34255;&#27231;&#21046;&#12290;&#20854;&#25991;&#23383;&#19981;&#20677;&#26159;&#36039;&#35338;&#30340;&#36617;&#39636;&#65292;&#26356;&#26159;&#19968;&#22871;&#24037;&#20855;&#65292;&#24341;&#38936;&#35712;&#32773;&#36879;&#35222;&#34920;&#38754;&#29694;&#35937;&#65292;&#36914;&#32780;&#29702;&#35299;&#24213;&#23652;&#32080;&#27083;&#12290;&#20854;&#26368;&#32066;&#30446;&#27161;&#19981;&#21482;&#26159;&#20659;&#36958;&#35338;&#24687;&#65292;&#26356;&#26159;&#35201;&#37325;&#22609;&#35712;&#32773;&#30340;&#24605;&#32173;&#27169;&#22411;&#12290;</p></blockquote><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://replware.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading PruningSuccess! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Metabase 參數儀表板開發]]></title><description><![CDATA[&#25033;&#29992; AI agent &#30340;&#23567;&#25216;&#24039;]]></description><link>https://replware.substack.com/p/metabase</link><guid isPermaLink="false">https://replware.substack.com/p/metabase</guid><dc:creator><![CDATA[Laurence Chen]]></dc:creator><pubDate>Sun, 08 Feb 2026 23:01:19 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!JgVo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37385a69-30a7-47c6-9e55-b64bb101958a_1228x920.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#26368;&#36817;&#22312;&#24171;&#23458;&#25142;&#38283;&#30332; Metabase &#30340;&#21443;&#25976;&#21270;&#20736;&#34920;&#26495;&#65288;parameterized dashboard&#65289;&#26178;&#65292;&#25105;&#30332;&#29694;&#20102;&#19968;&#20491;&#26377;&#36259;&#30340;&#38283;&#30332;&#27169;&#24335;&#12290;</p><h2><strong>&#20160;&#40636;&#26159;&#21443;&#25976;&#21270;&#20736;&#34920;&#26495;?</strong></h2><p>&#21443;&#25976;&#21270;&#20736;&#34920;&#26495;&#23601;&#26159;&#37027;&#31278;&#12300;&#35731;&#20351;&#29992;&#32773;&#33258;&#24049;&#36984;&#26085;&#26399;&#31684;&#22285;&#12289;&#39006;&#21029;&#12289;&#22320;&#21312;&#12301;&#30340;&#20114;&#21205;&#24335;&#22577;&#34920;&#12290;&#27604;&#26041;&#35498;&#65292;&#26989;&#21209;&#20027;&#31649;&#24819;&#30475;&#12300;2024 &#24180;&#31532;&#19968;&#23395;&#65292;&#38651;&#23376;&#29986;&#21697;&#39006;&#21029;&#65292;&#22312;&#21488;&#21271;&#22320;&#21312;&#30340;&#37559;&#21806;&#36264;&#21218;&#12301;&#65292;&#20182;&#23601;&#22312;&#20736;&#34920;&#26495;&#19978;&#36984;&#25799;&#36889;&#20123;&#21443;&#25976;&#65292;&#22294;&#34920;&#23601;&#21363;&#26178;&#26356;&#26032;&#12290;</p><p>&#32893;&#36215;&#20358;&#24456;&#31777;&#21934;&#65292;&#20294;&#23526;&#20316;&#36215;&#20358;&#26377;&#20123;&#30473;&#35282;:</p><ul><li><p>SQL query &#35201;&#34389;&#29702;&#21487;&#36984;&#21443;&#25976;(&#26377;&#20123;&#21443;&#25976;&#21487;&#33021;&#19981;&#22635;)</p></li><li><p>&#21443;&#25976;&#20043;&#38291;&#21487;&#33021;&#26377;&#30456;&#20381;&#24615;(&#36984;&#20102;&#26576;&#20491;&#39006;&#21029;&#65292;&#23376;&#39006;&#21029;&#30340;&#36984;&#38917;&#35201;&#36319;&#33879;&#35722;)</p></li><li><p>Query &#25928;&#33021;&#35201;&#39015;&#22909;(&#20351;&#29992;&#32773;&#19981;&#26371;&#24819;&#31561; 30 &#31186;)</p></li></ul><h2><strong>AI &#30340;&#27161;&#28310;&#31572;&#26696;</strong></h2><p>&#25105;&#21839;&#20102; AI&#65306;&#12300;&#22914;&#20309;&#36879;&#36942; AI &#38283;&#30332; Metabase &#21443;&#25976;&#21270;&#20736;&#34920;&#26495;?&#12301;</p><p>AI &#32102;&#20102;&#24456;&#20856;&#22411;&#30340;&#22238;&#31572;:</p><ol><li><p><strong>&#38656;&#27714;&#35342;&#35542;&#38542;&#27573;</strong>&#65306;&#25551;&#36848;&#20736;&#34920;&#26495;&#30446;&#30340;&#12289;&#30446;&#27161;&#20351;&#29992;&#32773;&#12289;&#38364;&#37749;&#25351;&#27161;</p></li><li><p><strong>Query &#29983;&#25104;</strong>&#65306;AI &#29986;&#29983; SQL&#65292;&#20320;&#22312; Metabase &#30340; SQL editor &#35041;&#28204;&#35430;</p></li><li><p><strong>&#21443;&#25976;&#35373;&#23450;</strong>&#65306;AI &#24314;&#35696;&#29992;&#20160;&#40636;&#39006;&#22411;&#30340;&#21443;&#25976;(&#19979;&#25289;&#36984;&#21934;&#12289;&#26085;&#26399;&#36984;&#25799;&#22120;&#12289;&#36664;&#20837;&#26694;)</p></li><li><p><strong>&#38500;&#37679;</strong>&#65306;&#36935;&#21040;&#21839;&#38988;&#26178;&#25226;&#37679;&#35492;&#35338;&#24687;&#19999;&#32102; AI</p></li></ol><p>&#36889;&#20491;&#27969;&#31243;&#26412;&#36523;&#27794;&#37679;&#65292;&#20294;&#26377;&#20491;&#23526;&#21209;&#19978;&#30340;&#24456;&#19981;&#26041;&#20415;&#65306;&#20154;&#35201;&#22312; Metabase UI &#21644; AI &#20043;&#38291;&#19981;&#26039; copy and paste&#12290;</p><ul><li><p>&#25226; AI &#29983;&#25104;&#30340; SQL &#36028;&#21040; Metabase</p></li><li><p>&#28204;&#35430;&#22833;&#25943;&#65292;&#25226;&#37679;&#35492;&#35338;&#24687;&#35079;&#35069;&#22238;&#21435;&#32102; AI</p></li><li><p>AI &#20462;&#27491;&#24460;&#65292;&#20877;&#36028;&#22238; Metabase</p></li><li><p>&#37325;&#35079;&#20197;&#19978;&#27493;&#39519;</p></li></ul><p>&#22914;&#26524;&#26159;&#31777;&#21934;&#30340; query&#65292;&#36889;&#27171;&#20570;&#36996;&#22909;&#12290;&#20294;&#21443;&#25976;&#21270;&#20736;&#34920;&#26495;&#30340; SQL &#36890;&#24120;&#19981;&#31777;&#21934;&#65292;&#21487;&#33021;&#26377;&#22810;&#23652;&#37007;&#36655;&#12289;&#22810;&#20491;&#21487;&#36984;&#21443;&#25976;&#12289;&#35079;&#38620;&#30340; JOIN&#12290;&#36996;&#26377;&#65292;&#26368;&#40635;&#29033;&#30340;&#36996;&#26159;&#35201;&#35079;&#35069;&#26597;&#35426;&#20986;&#20358;&#30340;&#22577;&#34920;&#65292;&#27599;&#27425;&#20462;&#25913;&#37117;&#35201;&#25163;&#21205; copy and paste&#65292;&#25105;&#20094;&#33030;&#33258;&#24049;&#21205;&#33126;&#24819;&#65292;&#25630;&#19981;&#22909;&#36996;&#21213;&#36942;&#21453;&#35206; copy and paste &#30340;&#26178;&#38291;&#12290;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JgVo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37385a69-30a7-47c6-9e55-b64bb101958a_1228x920.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JgVo!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37385a69-30a7-47c6-9e55-b64bb101958a_1228x920.png 424w, https://substackcdn.com/image/fetch/$s_!JgVo!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37385a69-30a7-47c6-9e55-b64bb101958a_1228x920.png 848w, https://substackcdn.com/image/fetch/$s_!JgVo!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37385a69-30a7-47c6-9e55-b64bb101958a_1228x920.png 1272w, https://substackcdn.com/image/fetch/$s_!JgVo!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37385a69-30a7-47c6-9e55-b64bb101958a_1228x920.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JgVo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37385a69-30a7-47c6-9e55-b64bb101958a_1228x920.png" width="1228" height="920" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/37385a69-30a7-47c6-9e55-b64bb101958a_1228x920.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:920,&quot;width&quot;:1228,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:104894,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://replware.substack.com/i/187076469?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37385a69-30a7-47c6-9e55-b64bb101958a_1228x920.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!JgVo!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37385a69-30a7-47c6-9e55-b64bb101958a_1228x920.png 424w, https://substackcdn.com/image/fetch/$s_!JgVo!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37385a69-30a7-47c6-9e55-b64bb101958a_1228x920.png 848w, https://substackcdn.com/image/fetch/$s_!JgVo!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37385a69-30a7-47c6-9e55-b64bb101958a_1228x920.png 1272w, https://substackcdn.com/image/fetch/$s_!JgVo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37385a69-30a7-47c6-9e55-b64bb101958a_1228x920.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2><strong>&#24341;&#20837; DuckDB &#30340;&#24555;&#36895;&#39511;&#35657;</strong></h2><p>&#25105;&#24819;&#20102;&#24819;&#65292;&#27770;&#23450;&#25563;&#20491;&#20570;&#27861;:<strong>&#20808;&#22312; DuckDB &#35041;&#39511;&#35657;&#37007;&#36655;&#65292;&#20877;&#36681;&#21040; Metabase</strong>&#12290;</p><p>DuckDB &#26377;&#20491;&#24456;&#26834;&#30340;&#29305;&#24615;&#65306;&#23427;&#30340; view &#21487;&#20197;&#24341;&#29992; session variable&#12290;&#36889;&#24847;&#21619;&#33879;&#25105;&#21487;&#20197;&#22312;&#26412;&#22320;&#24314;&#31435;&#12300;&#21443;&#25976;&#21270;&#30340; view&#12301;&#65292;&#24555;&#36895;&#39511;&#35657;&#37007;&#36655;&#26159;&#21542;&#27491;&#30906;&#12290;</p><p>&#24037;&#20316;&#27969;&#31243;&#35722;&#25104;&#36889;&#27171;:</p><pre><code><code>-- 1. &#35373;&#23450;&#28204;&#35430;&#21443;&#25976;
SET VARIABLE start_date = '2024-01-01';
SET VARIABLE category = 'electronics';

-- 2. &#24314;&#31435;&#21443;&#25976;&#21270; view
CREATE VIEW sales_summary AS
SELECT 
  order_date&#65292;
  SUM(total) as revenue
FROM orders
WHERE created_at &gt;= getvariable('start_date')
  AND category = getvariable('category')
GROUP BY order_date;

-- 3. &#31435;&#21363;&#28204;&#35430;
SELECT * FROM sales_summary;
</code></code></pre><p>&#25913;&#25104;&#36889;&#20491;&#27969;&#31243;&#24460;&#65292;&#24471;&#21040;&#30340;&#25913;&#35722;&#26159;:</p><p><strong>&#24555;&#36895;&#36845;&#20195;</strong>&#65306;&#20154;&#19981;&#29992;&#22312; Metabase UI &#40670;&#20358;&#40670;&#21435;&#65292;AI &#30452;&#25509;&#36879;&#36942;&#32066;&#31471;&#27231;&#25805;&#20316; DuckDB&#12290;&#25913;&#19968;&#34892;&#28204;&#19968;&#27425;&#65292;&#24190;&#31186;&#37912;&#23601;&#30693;&#36947;&#32080;&#26524;&#12290;</p><p><strong>&#36628;&#21161;&#39511;&#35388;</strong>&#65306;&#21407;&#22987;&#36039;&#26009;&#12289;&#12300;&#21443;&#25976;&#21270;&#30340; view&#12301;&#12289;&#36996;&#26377;&#38928;&#26399;&#26371;&#38263;&#25104;&#30340;&#32080;&#26524;&#30340; Excel &#36039;&#26009;&#65292;&#25105;&#20063;&#25226;&#23427;&#19968;&#20341;&#25918;&#36914;&#20102; DuckDB &#12290;&#30452;&#25509;&#21483; AI &#24171;&#25105;&#39511;&#35388;&#12290;</p><h2><strong>&#24478; DuckDB &#21040; Metabase</strong></h2><p>&#30070;&#28982;&#65292;&#26368;&#24460;&#36996;&#26159;&#35201;&#36681;&#22238; Metabase&#12290;DuckDB &#21644; Metabase &#30340;&#21443;&#25976;&#35486;&#27861;&#19981;&#22826;&#19968;&#27171;:</p><pre><code><code>-- DuckDB
WHERE created_at &gt;= getvariable('start_date')

-- Metabase
WHERE created_at &gt;= {{start_date}}

-- &#25110;&#32773;&#29992; optional parameter
[[WHERE created_at &gt;= {{start_date}}]]
</code></code></pre><p>&#25105;&#29978;&#33267;&#23531;&#20102;&#20491;&#31777;&#21934;&#30340; Babashka Script &#20358;&#33258;&#21205;&#21270;&#36889;&#20491;&#36681;&#25563;&#65306;</p><pre><code><code>(defn duck-&gt;metabase [sql]
  (-&gt; sql
      (str/replace #"getvariable\('(\w+)'\)" "{{$1}}")
      ;; &#20854;&#20182;&#36681;&#25563;&#35215;&#21063;...
      ))</code></code></pre><p>&#36889;&#27171;&#19968;&#20358;&#65292;&#25972;&#20491;&#38283;&#30332;&#27969;&#31243;&#23601;&#35722;&#24471;&#24456;&#38918;&#26274;:</p><ol><li><p>&#22312; DuckDB &#35041;&#24555;&#36895;&#39511;&#35657;&#37007;&#36655;(&#33287; AI &#21332;&#20316;)</p></li><li><p>&#30906;&#35469;&#28961;&#35492;&#24460;&#65292;&#29992;&#33139;&#26412;&#36681;&#25563;&#35486;&#27861;</p></li><li><p>&#36028;&#21040; Metabase&#65292;&#24494;&#35519; UI &#32048;&#31680;</p></li></ol><h2><strong>Process Knowledge &#20877;&#29694;</strong></h2><p>&#36889;&#20491;&#32147;&#39511;&#35731;&#25105;&#21448;&#30475;&#21040;&#19968;&#27425;&#12300;&#20154;&#36000;&#36012; process,AI &#36000;&#36012; content&#12301;&#30340;&#27169;&#24335;&#12290;</p><p>AI &#25552;&#20379;&#20102;&#20160;&#40636; content?</p><ul><li><p>SQL &#35486;&#27861;&#32048;&#31680;</p></li><li><p>Metabase &#21443;&#25976;&#30340;&#29992;&#27861;</p></li><li><p>&#24120;&#35211;&#30340;&#25928;&#33021;&#20778;&#21270;&#25216;&#24039;</p></li></ul><p>&#20294;&#25972;&#20491;&#38283;&#30332;&#27969;&#31243;&#30340;&#35373;&#35336;&#65292;&#21371;&#26159;&#25105;&#33258;&#24049;&#27770;&#23450;&#30340;:</p><ul><li><p>&#25105;&#21028;&#26039;&#12300;copy and paste &#20358;&#22238;&#22826;&#40635;&#29033;&#12301;</p></li><li><p>&#25105;&#30693;&#36947; DuckDB &#26377; session variable &#36889;&#20491;&#29305;&#24615;</p></li><li><p>&#25105;&#35373;&#35336;&#20102;&#12300;&#20808;&#22312;&#26412;&#22320;&#39511;&#35657;&#65292;&#20877;&#36681;&#21040; Metabase&#12301;&#30340;&#27969;&#31243;</p></li><li><p>&#25105;&#27770;&#23450;&#23531;&#33139;&#26412;&#33258;&#21205;&#21270;&#35486;&#27861;&#36681;&#25563;</p></li></ul><p>&#36889;&#20123;&#37117;&#26159; process knowledge&#12290;AI &#21487;&#20197;&#21578;&#35380;&#25105;&#12300;Metabase &#24590;&#40636;&#29992;&#12301;&#65292;&#20294;&#23427;&#19981;&#26371;&#20027;&#21205;&#24314;&#35696;&#12300;&#20320;&#25033;&#35442;&#20808;&#29992; DuckDB &#39511;&#35657;&#12301;&#12290;&#22240;&#28858;&#36889;&#20491;&#21028;&#26039;&#38656;&#35201;:</p><ul><li><p>&#23565;&#24037;&#20855;&#29983;&#24907;&#30340;&#20102;&#35299; =&gt; &#30693;&#36947; DuckDB &#23384;&#22312;&#19988;&#36969;&#21512;&#36889;&#20491;&#24773;&#22659;</p></li><li><p>&#23565;&#38283;&#30332;&#30340;&#25935;&#24863;&#24230; =&gt; &#23519;&#35258; copy and paste &#26371;&#26159;&#29942;&#38968;</p></li><li><p>&#23565;&#25972;&#39636;&#27969;&#31243;&#30340;&#25484;&#25511; =&gt; &#30693;&#36947;&#20160;&#40636;&#26178;&#20505;&#35442;&#24341;&#20837;&#26032;&#24037;&#20855;</p></li></ul><p>&#36889;&#20123;&#27969;&#31243;&#30693;&#35672;&#26159;&#24478;&#30495;&#23526;&#30340;&#38283;&#30332;&#32147;&#39511;&#20013;&#32047;&#31309;&#20986;&#20358;&#30340;&#12290;&#32780;&#12300;&#20160;&#40636;&#24773;&#27841;&#35442;&#29992;&#20160;&#40636;&#27969;&#31243;&#12301;&#30340;&#30452;&#35258;&#65292;&#24456;&#22810;&#26178;&#20505;&#25105;&#20063;&#26159;&#29376;&#27841;&#20358;&#20102;&#65292;&#30452;&#35258;&#25165;&#20882;&#20986;&#20358;&#12290;</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://replware.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading PruningSuccess! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[流程知識 (Process Knowledge)]]></title><description><![CDATA[AI &#26178;&#20195;&#19981;&#21487;&#24573;&#30053;&#30340;&#38364;&#37749;]]></description><link>https://replware.substack.com/p/process-knowledge</link><guid isPermaLink="false">https://replware.substack.com/p/process-knowledge</guid><dc:creator><![CDATA[Laurence Chen]]></dc:creator><pubDate>Sun, 01 Feb 2026 23:00:33 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Ionh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F870d8c56-f98e-4f0f-bc4c-e5f093fd26c7_846x758.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#19978;&#36913;&#65292;&#25105;&#36879;&#36942;&#25033;&#29992; AI &#38918;&#21033;&#22320;&#35299;&#25481;&#20102;&#19968;&#20491;&#65292;&#36942;&#21435;&#25105;&#32317;&#26159;&#35258;&#24471;&#38935;&#22256;&#38627;&#12289;&#20670;&#21521;&#30452;&#25509;&#25918;&#26820;&#30340; bug &#12290;&#32780;&#36889;&#20214;&#20107;&#35731;&#25105;&#37325;&#26032;&#24605;&#32771;&#20102;&#12300;&#33287; AI &#21332;&#20316;&#12301;&#19968;&#20107;&#12290;</p><p>&#20844;&#21496;&#26377;&#19968;&#20491; Clojure &#23531;&#25104;&#30340; web application &#30340;&#23560;&#26696;&#65292;&#30001;&#26044;&#23427;&#26371;&#34987;&#24067;&#32626;&#21040; GCP &#19978;&#65292;&#25152;&#20197;&#23427;&#30340;&#24314;&#32622;&#27969;&#31243;&#30456;&#23565;&#35079;&#38620;&#65292;&#26368;&#24460;&#30340;&#29986;&#20986;&#29289;&#19981;&#26159;&#21934;&#32020;&#30340; jar &#27284;&#65292;&#32780;&#26159; docker image &#27284;&#12290;&#24314;&#32622;&#27969;&#31243;&#36890;&#24120;&#37117;&#30001;&#25105;&#30340;&#21516;&#20107;&#34389;&#29702;&#23436;&#65292;&#20063;&#22240;&#27492;&#36889;&#19968;&#22602;&#25105;&#26997;&#24230;&#19981;&#29087;&#24713;&#12290;&#22522;&#26044;&#26576;&#20123;&#21407;&#22240;&#65292;&#24314;&#32622;&#27969;&#31243;&#22750;&#25481;&#20102;&#65292;&#25152;&#20197;&#25105;&#38283;&#30332;&#23436;&#26032;&#30340;&#21151;&#33021;&#65292;&#21371;&#28961;&#27861;&#24067;&#32626; (deploy)&#12290;</p><p>&#30001;&#26044;&#19978;&#36913;&#22235;&#23601;&#26159;&#25105;&#22312;&#21069;&#20844;&#21496;&#30340;&#26368;&#24460;&#19968;&#22825;&#65292;&#38626;&#32887;&#21069;&#25105;&#24076;&#26395;&#30059;&#19979;&#19968;&#20491;&#23436;&#32654;&#30340;&#21477;&#40670;&#65292;&#25105;&#27770;&#23450;&#25361;&#25136;&#19968;&#19979;&#24314;&#32622;&#27969;&#31243;&#30340; bug &#12290;</p><p>&#39318;&#20808;&#65292;&#25105;&#25226;&#32066;&#31471;&#27231;&#19999;&#20986;&#30340;&#37679;&#35492;&#35338;&#24687;&#32102; AI &#65292;&#35531;&#23427;&#24171;&#24537;&#12290;</p><pre><code><code>${&#24773;&#22659;&#25551;&#36848;}
${&#37679;&#35492;&#35338;&#24687;}
&#20320;&#35258;&#24471;&#21487;&#33021;&#21407;&#22240;&#28858;&#20309;&#65311;&#19979;&#19968;&#20491;&#32218;&#32034;&#19978;&#21738;&#25214;&#65311;</code></code></pre><p>&#20854;&#20013;&#65292;&#37679;&#35492;&#35338;&#24687;&#35041;&#30340;&#38364;&#37749;&#25104;&#20998;&#26159;&#65306;</p><pre><code><code>Execution error (IllegalArgumentException) at juxt.pack.jib/make-builtin-layers$fn (jib.clj:145).
No matching clause: </code></code></pre><p>AI &#31572;&#26352;&#65306;</p><pre><code><code>&#21839;&#38988;&#22312; juxt.pack.jib/make-builtin-layers &#30340;&#31532; 145 &#34892;&#65292;&#22312;&#34389;&#29702;&#26576;&#20491; layer &#26178;&#30340; case &#25110; cond &#38515;&#36848;&#24335;&#22833;&#25943;&#20102;&#12290;

&#35299;&#27770;&#26041;&#26696;&#65306;${&#37679;&#30340;&#35299;&#27861;}</code></code></pre><p>&#25105;&#35469;&#28858; AI &#23565;&#37679;&#35492;&#35338;&#24687;&#30340;&#35299;&#37323;&#21512;&#29702;&#65292;&#20294;&#26159;&#35299;&#27861;&#19981;&#23565;&#65292;&#25152;&#20197;&#25105;&#20877;&#35036;&#20102;&#19968;&#20491; prompt</p><pre><code><code>&#26159;&#21542;&#26377;&#20160;&#40636;&#26041;&#27861;&#65292;&#21487;&#20197;&#26356;&#21152;&#31934;&#30906;&#30340;&#23450;&#20301;&#21839;&#38988;&#65292;&#20877;&#20358;&#24819;&#35299;&#27861;&#65311;</code></code></pre><p>AI &#31572;&#26352;&#65306;</p><pre><code><code>&#20462;&#25913; release.clj &#30340; ${&#26576;&#34389;}&#65292;&#23559; ${&#35722;&#25976;&#20839;&#23481;} &#21360;&#20986;&#12290;</code></code></pre><p>&#28982;&#24460;&#65292;&#25105;&#23601;&#25630;&#25026;&#20102;&#21839;&#38988;&#65292;&#20006;&#19988;&#33258;&#24049;&#24819;&#20986;&#20102;&#21512;&#29702;&#30340;&#35299;&#27861;&#12290;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Ionh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F870d8c56-f98e-4f0f-bc4c-e5f093fd26c7_846x758.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Ionh!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F870d8c56-f98e-4f0f-bc4c-e5f093fd26c7_846x758.png 424w, https://substackcdn.com/image/fetch/$s_!Ionh!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F870d8c56-f98e-4f0f-bc4c-e5f093fd26c7_846x758.png 848w, https://substackcdn.com/image/fetch/$s_!Ionh!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F870d8c56-f98e-4f0f-bc4c-e5f093fd26c7_846x758.png 1272w, https://substackcdn.com/image/fetch/$s_!Ionh!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F870d8c56-f98e-4f0f-bc4c-e5f093fd26c7_846x758.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Ionh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F870d8c56-f98e-4f0f-bc4c-e5f093fd26c7_846x758.png" width="846" height="758" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/870d8c56-f98e-4f0f-bc4c-e5f093fd26c7_846x758.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:758,&quot;width&quot;:846,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1068917,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://replware.substack.com/i/186178901?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F870d8c56-f98e-4f0f-bc4c-e5f093fd26c7_846x758.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Ionh!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F870d8c56-f98e-4f0f-bc4c-e5f093fd26c7_846x758.png 424w, https://substackcdn.com/image/fetch/$s_!Ionh!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F870d8c56-f98e-4f0f-bc4c-e5f093fd26c7_846x758.png 848w, https://substackcdn.com/image/fetch/$s_!Ionh!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F870d8c56-f98e-4f0f-bc4c-e5f093fd26c7_846x758.png 1272w, https://substackcdn.com/image/fetch/$s_!Ionh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F870d8c56-f98e-4f0f-bc4c-e5f093fd26c7_846x758.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2><strong>&#23565;&#38500;&#37679;&#27969;&#31243;&#30340;&#21453;&#24605;</strong></h2><p>&#22238;&#39015;&#36889;&#20491;&#36942;&#31243;&#65292;&#25105;&#30332;&#29694;&#19968;&#20491;&#26377;&#36259;&#30340;&#20998;&#24037;&#27169;&#24335;&#65306;</p><p>AI &#25552;&#20379;&#20102;&#22823;&#37327;&#30340;&#20839;&#23481;&#30693;&#35672; (content knowledge)&#65306;&#37679;&#35492;&#35338;&#24687;&#30340;&#21487;&#33021;&#24847;&#28085;&#12289;Clojure &#30340;&#35486;&#27861;&#32048;&#31680; (&#21738;&#20123;&#35486;&#27861;&#21487;&#20197;&#29986;&#29983;&#29305;&#23450;&#30340;&#37679;&#35492;&#35338;&#24687;)&#12289;&#24314;&#32622;&#24037;&#20855;&#30340;&#36939;&#20316;&#26041;&#24335;&#12290;&#36889;&#20123;&#37117;&#26159;&#25105;&#19981;&#29087;&#24713;&#30340;&#38936;&#22495;&#65292;&#22914;&#26524;&#35201;&#33258;&#24049;&#24478;&#38957;&#26597;&#36039;&#26009;&#65292;&#21487;&#33021;&#35201;&#33457;&#19978; 1~2 &#23567;&#26178;&#65292;&#21516;&#26178;&#65292;&#26997;&#24230;&#28040;&#32791;&#25105;&#30340;&#23560;&#27880;&#21147;&#12290;</p><p>&#20294;&#25972;&#20491;&#38500;&#37679;&#30340;&#27969;&#31243;&#30693;&#35672; (process knowledge)&#65292;&#21371;&#23436;&#20840;&#26159;&#30001;&#25105;&#25484;&#25511;&#30340;&#65306;&#25105;&#30693;&#36947;&#35442;&#21839;&#20160;&#40636;&#21839;&#38988;&#12289;&#22914;&#20309;&#21028;&#26039; AI &#30340;&#31572;&#26696;&#26159;&#21542;&#21512;&#29702;&#12289;&#19979;&#19968;&#27493;&#35442;&#24448;&#21738;&#20491;&#26041;&#21521;&#25506;&#32034;&#12289;&#20160;&#40636;&#26178;&#20505;&#35442;&#20572;&#27490;&#20381;&#36084; AI &#33258;&#24049;&#21205;&#25163;&#12290;</p><p>&#26356;&#37325;&#35201;&#30340;&#26159;&#65292;&#30070; AI &#32102;&#20986;&#12300;&#37679;&#30340;&#35299;&#27861;&#12301;&#26178;&#65292;&#25105;&#33021;&#31435;&#21051;&#23519;&#35258;&#12290;&#19981;&#26159;&#22240;&#28858;&#25105;&#25026; Clojure &#24314;&#32622;&#27969;&#31243;&#30340;&#32048;&#31680;&#65292;&#32780;&#26159;&#22240;&#28858;&#25105;&#25026;&#38500;&#37679;&#30340;&#27969;&#31243;&#65306;&#12300;&#22312;&#36996;&#27794;&#31934;&#30906;&#23450;&#20301;&#21839;&#38988;&#21069;&#65292;&#19981;&#35442;&#24613;&#33879;&#22871;&#29992;&#35299;&#27861;&#12301;&#12290;</p><p>&#36889;&#35731;&#25105;&#21453;&#21839;&#33258;&#24049;&#19968;&#20491;&#21839;&#38988;&#65306;&#12300;&#22312; AI &#26178;&#20195;&#65292;&#20160;&#40636;&#27171;&#30340;&#30693;&#35672;&#35722;&#24471;&#26356;&#37325;&#35201;&#20102;&#65311;&#12301;</p><h2><strong>Process Knowledge vs. Content Knowledge</strong></h2><p>&#29992;&#35486;&#35328;&#23416;&#32722;&#20358;&#27604;&#21947;&#30340;&#35441;&#65292;process knowledge &#23601;&#20687;&#25991;&#27861;&#65292;content knowledge &#23601;&#20687;&#21934;&#23383;&#12290;</p><p>&#35486;&#35328;&#23560;&#23478;&#26371;&#35498;&#65306;&#12300;&#25991;&#27861;&#26377;&#38480;&#65292;&#24456;&#24555;&#23601;&#23416;&#23436;&#20102;&#65307;&#21934;&#23383;&#28961;&#37002;&#28961;&#38555;&#65292;&#23416;&#19981;&#23436;&#12290;&#12301;&#20294;&#23565;&#36996;&#19981;&#26371;&#30340;&#20154;&#20358;&#35611;&#65292;&#25991;&#27861;&#21371;&#38750;&#24120;&#38627;&#23416;&#65292;&#27604;&#21934;&#23383;&#38627;&#23416;&#24471;&#22810;&#12290;</p><p>&#28858;&#20160;&#40636;&#65311;&#22240;&#28858;&#25991;&#27861;&#26159;&#25277;&#35937;&#30340;&#12289;&#31995;&#32113;&#24615;&#30340;&#12289;&#38656;&#35201;&#29702;&#35299;&#12300;&#28858;&#20160;&#40636;&#36889;&#27171;&#35498;&#12301;&#30340;&#35215;&#21063;&#12290;&#21934;&#23383;&#26159;&#20855;&#39636;&#30340;&#65292;&#19981;&#25026;&#23601;&#26597;&#65292;&#26597;&#20102;&#23601;&#35352;&#24471;&#65288;&#33267;&#23569;&#26283;&#26178;&#35352;&#24471;&#65289;&#12290;</p><p>&#20294;&#25991;&#27861;&#19968;&#26086;&#25484;&#25569;&#20102;&#65292;&#23601;&#21487;&#20197;&#27963;&#29992;&#35486;&#35328;&#12290;&#21934;&#23383;&#20877;&#22810;&#65292;&#27794;&#26377;&#25991;&#27861;&#65292;&#20063;&#32068;&#19981;&#20986;&#26377;&#24847;&#32681;&#30340;&#35441;&#12290;</p><p> &#36575;&#39636;&#38283;&#30332;&#30340; process knowledge &#20063;&#26159;&#22914;&#27492;&#12290;&#23427;&#24448;&#24448;&#26159;&#38364;&#26044;&#65306;&#22914;&#20309;&#35386;&#26039;&#21839;&#38988;&#12289;&#35373;&#35336;&#23526;&#39511;&#12289;&#27770;&#31574; &#12290;&#36889;&#20123;&#30693;&#35672;&#25976;&#37327;&#26377;&#38480;&#65292;&#20294;&#26997;&#24230;&#25277;&#35937;&#65292;&#32780;&#19988;&#39640;&#24230;&#20381;&#36084;&#24773;&#22659;&#21644;&#32147;&#39511;&#12290;&#26356;&#31967;&#30340;&#26159;&#65292;&#23427;&#20497;&#22823;&#22810;&#26159;&#38577;&#24615;&#30693;&#35672; (tacit knowledge)&#65292;&#36899;&#25793;&#26377;&#23427;&#30340;&#23560;&#23478;&#37117;&#24456;&#38627;&#26126;&#30906;&#35498;&#20986;&#12300;&#25105;&#26159;&#24590;&#40636;&#20570;&#30340;&#12301;&#12290;</p><p>&#21453;&#35264; content knowledge&#65306;&#36889;&#20491;&#37679;&#35492;&#35338;&#24687;&#20195;&#34920;&#20160;&#40636;&#12289;&#36889;&#20491; API &#24590;&#40636;&#29992;&#12289;&#36889;&#20491;&#29986;&#26989;&#30340;&#27161;&#28310;&#20570;&#27861;&#26159;&#20160;&#40636;&#12290;&#36889;&#20123;&#30693;&#35672;&#28961;&#37002;&#28961;&#38555;&#65292;&#20294;&#21482;&#35201;&#36899;&#19978;&#32178;&#38555;&#32178;&#36335;&#65292;&#36890;&#24120;&#37117;&#21487;&#20197;&#26597;&#24471;&#21040;&#12290;</p><h2><strong>AI &#30495;&#30340;&#23416;&#21040; Process &#20102;&#21966;&#65311;</strong></h2><p>&#36889;&#24118;&#20986;&#19968;&#20491;&#38364;&#37749;&#21839;&#38988;&#65306;&#30070;&#25105;&#20497;&#35498; AI&#12300;&#24456;&#21426;&#23475;&#12301;&#26178;&#65292;&#23427;&#21040;&#24213;&#23416;&#21040;&#20102;&#20160;&#40636;&#65311;</p><p>LLM (&#22823;&#22411;&#35486;&#35328;&#27169;&#22411;) &#30340;&#35347;&#32244;&#36942;&#31243;&#65292;&#26412;&#36074;&#19978;&#26159;&#24478;&#28023;&#37327;&#25991;&#26412;&#20013;&#23416;&#32722;&#12300;&#22312;&#36889;&#31278;&#24773;&#22659;&#19979;&#65292;&#36890;&#24120;&#25509;&#19979;&#20358;&#26371;&#20986;&#29694;&#20160;&#40636;&#12301;&#12290;&#23427;&#24314;&#31435;&#30340;&#26159;&#19968;&#20491;&#40848;&#22823;&#30340; pattern library&#65292;&#35352;&#37636;&#33879;&#28961;&#25976;&#30340;&#12300;&#24773;&#22659;/&#22238;&#25033;&#12301;&#37197;&#23565;&#12290;</p><p>&#36889;&#35731;&#23427;&#22312;&#25552;&#20379; content knowledge &#19978;&#34920;&#29694;&#39514;&#20154;&#12290;&#20320;&#21839;&#23427;&#19968;&#20491;&#25216;&#34899;&#21839;&#38988;&#65292;&#23427;&#33021;&#24478;&#35347;&#32244;&#36039;&#26009;&#20013;&#25214;&#21040;&#30456;&#20284;&#30340;&#27169;&#24335;&#65292;&#32102;&#20320;&#30475;&#36215;&#20358;&#24456;&#21512;&#29702;&#30340;&#31572;&#26696;&#12290;</p><p>&#20294;&#23427;&#30495;&#30340;&#25484;&#25569;&#20102; process knowledge &#21966;&#65311;</p><p>&#35731;&#25105;&#20497;&#30475;&#19968;&#20491;&#23565;&#27604;&#65306;AlphaGo&#12290;</p><p>AlphaGo &#26159;&#36879;&#36942;&#12300;&#22312;&#30495;&#23526;&#30340;&#22285;&#26827;&#19990;&#30028;&#20013;&#28961;&#38480;&#22320;<strong>&#25628;&#23563;</strong> (&#35299;&#27770;&#26041;&#26696;) &#33287;<strong>&#23416;&#32722;</strong> (&#19981;&#21516;&#35299;&#27861;&#30340;&#24460;&#26524;)&#12301;&#20358;&#25484;&#25569;&#22285;&#26827;&#30340;&#12290;&#23427;&#19979;&#20102;&#25976;&#30334;&#33836;&#30436;&#26827;&#65292;&#27599;&#19968;&#27493;&#37117;&#24471;&#21040;&#21363;&#26178;&#30340;&#12289;&#26126;&#30906;&#30340;&#22238;&#39243;&#65288;&#36889;&#27493;&#26827;&#22909;&#25110;&#19981;&#22909;&#65289;&#12290;&#23427;&#19981;&#21482;&#26159;&#35352;&#20303;&#12300;&#22312;&#36889;&#31278;&#26827;&#22411;&#19979;&#20154;&#39006;&#36890;&#24120;&#24590;&#40636;&#19979;&#12301;&#65292;&#23427;&#26159;&#30495;&#27491;&#22312;&#25506;&#32034;&#12300;&#20160;&#40636;&#31574;&#30053;&#26371;&#36111;&#12301;&#12290;</p><p>&#36889;&#31278;&#35347;&#32244;&#27861;&#21487;&#20197;&#35347;&#32244;&#20986;&#36899;&#20154;&#39006;&#37117;&#28961;&#27861;&#25484;&#25569;&#30340; process knowledge&#12290;</p><p>&#20294; LLM &#27794;&#26377;&#36889;&#27171;&#30340;&#23416;&#32722;&#27231;&#21046;&#12290;&#23427;&#27794;&#26377;&#22312;&#30495;&#23526;&#19990;&#30028;&#20013;&#35430;&#37679;&#12289;&#27794;&#26377;&#24471;&#21040;&#26126;&#30906;&#30340;&#25104;&#21151;/&#22833;&#25943;&#22238;&#39243;&#12289;&#27794;&#26377;&#27231;&#26371;&#39511;&#35657;&#12300;&#36889;&#20491;&#27969;&#31243;&#26159;&#21542;&#30495;&#30340;&#26377;&#25928;&#12301;&#12290;</p><p>&#23427;&#21482;&#26159;&#30475;&#36942;&#24456;&#22810;&#20154;&#22312;&#39006;&#20284;&#24773;&#27841;&#19979;&#24590;&#40636;&#20570;&#65292;&#28982;&#24460;&#35352;&#20303;&#20102;&#36889;&#20123; patterns&#12290;</p><p>&#36889;&#24847;&#21619;&#33879;&#65306;</p><ul><li><p>LLM &#21487;&#20197;&#21578;&#35380;&#20320;&#12300;&#19979;&#19968;&#27493;&#36889;&#27171;&#20570;&#27231;&#29575;&#12301;&#26368;&#39640;&#65292;&#20294;&#19981;&#33021;&#20445;&#35388;&#12300;&#25269;&#36948;&#32066;&#40670;&#30340;&#27231;&#29575;&#12301;&#26368;&#39640;</p></li><li><p>&#23427;&#21487;&#20197;&#22312;&#35347;&#32244;&#36039;&#26009;&#35206;&#33995;&#30340;&#31684;&#22285;&#20839;&#34920;&#29694;&#24456;&#22909;&#65292;&#20294;&#36935;&#21040;&#30495;&#27491;&#26032;&#30340;&#24773;&#22659;&#23601;&#21487;&#33021;&#22833;&#25928;&#12290;</p></li></ul><p>&#22238;&#21040;&#25105;&#30340;&#38500;&#37679;&#32147;&#39511;&#65306;AI &#32102;&#25105;&#30340;&#31532;&#19968;&#20491;&#35299;&#27861;&#28858;&#20160;&#40636;&#26159;&#37679;&#30340;&#65311;&#22240;&#28858;&#23427;&#21482;&#26159;&#24478;&#35347;&#32244;&#36039;&#26009;&#20013;&#25214;&#21040;&#12300;&#36935;&#21040;&#36889;&#31278;&#37679;&#35492;&#35338;&#24687;&#65292;&#36890;&#24120;&#36889;&#27171;&#20462;&#12301;&#65292;&#20294;&#23427;&#19981;&#26371;&#33258;&#21205;&#20999;&#25563;&#24118;&#20837;&#38500;&#37679;&#27969;&#31243;&#12290;</p><p>&#25033;&#35442;&#24118;&#20837;&#38500;&#37679;&#27969;&#31243;&#36889;&#20491;&#21028;&#26039;&#65292;&#38656;&#35201; process knowledge&#12290;&#32780;&#36889;&#20491;&#20999;&#25563;&#30340; knowledge&#65292;&#30446;&#21069;&#21482;&#22312;&#25105;&#33126;&#20013;&#12290;</p><h2><strong>&#20154;&#33287; AI &#30340;&#29702;&#24819;&#20998;&#24037;</strong></h2><p>&#22522;&#26044;&#20197;&#19978;&#30340;&#20998;&#26512;&#65292;&#25105;&#35469;&#28858;&#22312; AI &#26178;&#20195;&#65292;&#29702;&#24819;&#30340;&#20154;&#27231;&#21332;&#20316;&#25033;&#35442;&#26159;&#65306;</p><p><strong>&#20154;&#36000;&#36012; process&#65292;AI &#36000;&#36012; content&#12290;</strong></p><p>&#26356;&#20855;&#39636;&#22320;&#35498;&#65306;</p><ul><li><p>&#20154;&#39006;&#25484;&#25511;&#27969;&#31243;&#65306;&#21839;&#20160;&#40636;&#21839;&#38988;&#12289;&#22914;&#20309;&#39511;&#35657;&#31572;&#26696;&#12289;&#19979;&#19968;&#27493;&#24448;&#21738;&#36208;&#12289;&#20309;&#26178;&#20570;&#27770;&#31574;</p></li><li><p>AI &#25552;&#20379;&#20839;&#23481;&#65306;&#36039;&#26009;&#12289;&#26696;&#20363;&#12289;&#21487;&#33021;&#30340;&#36984;&#38917;&#12289;&#25216;&#34899;&#32048;&#31680;</p></li></ul><p>&#28858;&#20160;&#40636;&#36889;&#27171;&#20998;&#24037;&#26356;&#31337;&#20581; (robust)&#65311;</p><p>&#22240;&#28858; process knowledge &#26159;&#22312;&#30495;&#23526;&#19990;&#30028;&#30340;&#20195;&#20729;&#20013;&#28140;&#29001;&#20986;&#20358;&#30340;&#12290;&#19968;&#20491;&#32147;&#39511;&#35920;&#23500;&#30340;&#24037;&#31243;&#24107;&#65292;&#20182;&#30340;&#38500;&#37679;&#27969;&#31243;&#26159;&#32147;&#36942;&#28961;&#25976;&#27425;&#12300;&#35430;&#37679;-&#21453;&#24605;-&#20462;&#27491;&#12301;&#24314;&#31435;&#36215;&#20358;&#30340;&#12290;&#36889;&#20123;&#32147;&#39511;&#38614;&#28982;&#38577;&#24615;&#12289;&#38627;&#20197;&#35328;&#35498;&#65292;&#20294;&#23427;&#20497;&#26159;&#30495;&#23526;&#26377;&#25928;&#30340;&#12290;</p><p>&#30456;&#23565;&#22320;&#65292;LLM &#30340;&#12300;process-like behavior&#12301;&#21482;&#26159;&#32113;&#35336;&#19978;&#30340;&#30456;&#38364;&#24615;&#65292;&#27794;&#26377;&#32147;&#36942;&#30495;&#23526;&#19990;&#30028;&#30340;&#39511;&#35657;&#12290;&#30070;&#36935;&#21040;&#32597;&#35211;&#24773;&#27841;&#26178;&#65292;&#26377;&#32147;&#39511;&#30340;&#20154;&#26356;&#21487;&#33021;&#26377;&#12300;&#36889;&#35041;&#19981;&#22826;&#23565;&#21185;&#12301;&#30340;&#30452;&#35258;&#65292;&#22240;&#28858;&#36889;&#20491;&#30452;&#35258;&#26159;&#29992;&#30495;&#23526;&#30340;&#22833;&#25943;&#12300;&#36023;&#12301;&#20358;&#30340;&#12290;</p><p>&#36889;&#19981;&#26159;&#35498; AI &#27794;&#26377;&#20729;&#20540;&#12290;&#24688;&#24688;&#30456;&#21453;&#65292;AI &#22312;&#25552;&#20379; content &#19978;&#30340;&#33021;&#21147;&#26159;&#38761;&#21629;&#24615;&#30340;&#12290;&#36942;&#21435;&#25105;&#38656;&#35201;&#33457;&#25976;&#23567;&#26178;&#26597;&#25991;&#20214;&#65292;&#29694;&#22312; AI &#24190;&#31186;&#20839;&#23601;&#33021;&#32102;&#25105;&#30456;&#38364;&#30340;&#36039;&#35338;&#12290;&#36889;&#35731;&#25105;&#21487;&#20197;&#25226;&#26356;&#22810;&#24515;&#21147;&#25918;&#22312;&#12300;&#24605;&#32771;&#12301;&#32780;&#19981;&#26159;&#12300;&#26597;&#36039;&#26009;&#12301;&#19978;&#12290;</p><h2><strong>&#23565; AI &#25033;&#29992;&#35373;&#35336;&#30340;&#21855;&#31034;</strong></h2><p>&#22914;&#26524;&#25509;&#21463;&#12300;&#20154;&#36000;&#36012; process&#65292;AI &#36000;&#36012; content&#12301;&#36889;&#20491;&#21407;&#21063;&#65292;&#37027;&#40636;&#22312;&#35373;&#35336; AI &#25033;&#29992;&#26178;&#65292;&#25105;&#20497;&#25033;&#35442;&#21839;&#30340;&#21839;&#38988;&#23601;&#19981;&#19968;&#27171;&#20102;&#12290;</p><p>&#19981;&#26159;&#12300;&#22914;&#20309;&#35731; AI &#33258;&#21205;&#21270;&#25972;&#20491;&#27969;&#31243;&#12301;&#65292;&#32780;&#26159;&#65306;</p><ul><li><p>&#27969;&#31243;&#20013;&#21738;&#20123;&#29872;&#31680;&#26159;&#12300;&#26597;&#36039;&#26009;&#12289;&#25552;&#20379;&#36984;&#38917;&#12301;&#65288;&#36969;&#21512; AI&#65289;&#65311;</p></li><li><p>&#21738;&#20123;&#29872;&#31680;&#26159;&#12300;&#21028;&#26039;&#12289;&#27770;&#31574;&#12289;&#34389;&#29702;&#20363;&#22806;&#12301;&#65288;&#38656;&#35201;&#20154;&#39006;&#65289;&#65311;</p></li><li><p>&#22914;&#20309;&#35373;&#35336;&#20171;&#38754;&#65292;&#35731;&#20154;&#39006;&#21487;&#20197;&#36629;&#39686;&#22320;&#25484;&#25511; process&#65292;&#21516;&#26178;&#39640;&#25928;&#22320;&#21033;&#29992; AI &#30340; content&#65311;</p></li><li><p>&#36996;&#26377;&#65292;&#21738;&#19968;&#39006;&#30340;&#20154;&#65292;&#20182;&#20497;&#23565; process knowledge &#26368;&#25935;&#24863;&#65311;<br></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://replware.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading PruningSuccess! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div></li></ul>]]></content:encoded></item></channel></rss>