王福强的个人博客:一个架构士的思考与沉淀

王福强的个人博客:一个架构士的思考与沉淀

从《太平年》看职场典型三大代表

从《太平年》看职场典型三大代表 -王福强的个人博客:一个架构士的思考与沉淀 pre > code{ white-space: pre-wrap; font-family: monospace; font-size: 14px; /* border-left: blueviolet; border-left-width: thick; border-left-style: double; padding-left: 1rem !important; */ } .x-indicator{ display:none; } .htmx-request .x-indicator{ display:inline; } .htmx-request.x-indicator{ display:inline; } { "@context": "https://schema.org", "@type": "NewsArticle", "headline": "从《太平年》看职场典型三大代表", "image": [ "https://afoo.me/images/fb_subscribe.jpg" ], "datePublished": "2026-02-07", "author": [{ "@type": "Person", "name": "王福强", "url": "https://afoo.me" }] } 福强私学 福强AI学堂 架构百科 博客文章 创作出版 产品与服务 登录信息 更多链接 (adsbygoogle = window.adsbygoogle || []).push({}); (adsbygoogle = window.adsbygoogle || []).push({}); 从《太平年》看职场典型三大代表 王福强 2026-02-07 (adsbygoogle = window.adsbygoogle || []).push({}); 这阵子一直在刷一个剧: 《太平年》 刚刷到胡进思废钱弘倧(老七)前后的剧情,发现里面几个人物的表现很经典… 这三大典型就是: 胡进思 水丘昭券 元相公 胡进思属于当权派典型代表,通常属于权力部门领导,表现出来的往往强势,让人忌惮,当然,也会让人觉得飞扬跋扈。 这或许也是老七跟他不对付的一个主要原因。 这类人有两个典型解决,一个是胡进思/司马懿这种, 处乱世,博弈空间更大,所以,遇到老大想搞他的时候,他还有挣扎的空间; 另一个就是白起这种,无处他投,老大赐死,那只能就范; 常青树不多,毕竟,用完就扔的也不少,比如来俊臣 🤣 水丘属于实干派,技术官僚,王安石一类的,对官家来说,绝对放心那种,但对人性、人事和权力斗争这些其实不如当权派看得明白,跟对老大还好,跟错老大(比如老七这种),结局也挺悲催。 水丘给职场人最大的警示就是,主明不明,自己有时候说了不算。太过热心甚至越权得罪小人,得先掂量下自己能不能承受招惹的因果。 这方面,第三个典型就做得比较好了,元相公,中庸派,或者说明哲保身派。 你说元相公看不透整个朝堂的势力格局吗?他看得透透儿的,但他分寸拿捏的也绝对到位。该说的说,不该说的不说。 看到水丘请求留下跟老七一对一谈话,他犹豫了下还是闭嘴了,🤣 元相公升一个级别就是冯道,而冯道之所以10朝元老不倒,也是因为他年轻的时候差点儿被刘守光给刀了,所以后面明白了,自己就是一个打工的,不该管的事儿,别吓操心🤣, 从这个角度来说,“吃亏要趁早”绝对是对的🤣 (adsbygoogle = window.adsbygoogle || []).push({}); >>>>>> 更多阅读 <<<<<< 说说组织这东西 哪里是阶级固化,明明就是阶级消亡 好聚好散是最好的结局和起点 「福强私学」来一个? 「福强私学」, 一部沉淀了个人成长、技术与架构、组织与管理以及商业上的方法与心法的百科全书。 福强老师的 AI 通识课 开天窗,拉认知,订阅「福报」,即刻拥有自己的全模态人工智能。 Copyright © 王福强个人版权所有 - Since 2004 (Everything is homebrewed with Pandoc and Markdown, little Scala also included.) // Set "light" theme as default if (!localStorage.theme) { localStorage.theme = "light"; } if ( localStorage.theme === 'dark' || (!('theme' in localStorage) && window.matchMedia('(prefers-color-scheme: dark)').matches) ) { document.documentElement.classList.add('dark'); } else { document.documentElement.classList.remove('dark'); } function attachEvent(selector, event, fn) { const matches = document.querySelectorAll(selector); if (matches && matches.length) { matches.forEach((elem) => { elem.addEventListener(event, () => fn(elem), false); }); } } window.onload = function () { attachEvent('[data-toggle-menu]', 'click', function (elem) { elem.classList.toggle('expanded'); document.body.classList.toggle('overflow-hidden'); document.getElementById('header')?.classList.toggle('h-screen'); document.querySelector('#header nav')?.classList.toggle('hidden'); }); attachEvent("[data-toggle-color-scheme]", "click", function () { document.documentElement.classList.toggle("light"); localStorage.theme = "light"; }); }; window.onpageshow = function () { const elem = document.querySelector('[data-toggle-menu]'); if (elem) { elem.classList.remove('expanded'); } document.body.classList.remove('overflow-hidden'); document.getElementById('header')?.classList.remove('h-screen'); document.querySelector('#header nav')?.classList.add('hidden'); }; var gitalk = new Gitalk({ clientID: '518a605d711883414ac0', clientSecret: '69fb8ccc0616c5bcbc64d24ece0d06d279da91ff', repo: 'afoo.me.comments', owner: 'fujohnwang', admin: ['fujohnwang'], id: location.pathname.substring(0, 49), // Ensure uniqueness and length less than 50 distractionFreeMode: false // Facebook-like distraction free mode }) gitalk.render('comments') /* paste this line in verbatim */ window.formbutton=window.formbutton||function(){(formbutton.q=formbutton.q||[]).push(arguments)}; /* customize formbutton below*/ formbutton("create", { action: "https://formspree.io/f/xknlpkkd", title: "有什么可以帮到您?💕💕💕 How can I help you?", buttonImg: "", fields: [ { type: "email", label: "您的电子邮箱(方便与您联系):", name: "email", required: true, placeholder: "your@email.com" }, { type: "textarea", label: "您想提交的反馈和询问信息:", name: "message", placeholder: "What's on your mind?", }, { type: "submit" } ], styles: { title: { backgroundColor: "blue" }, button: { backgroundColor: "blue" } } }); // tooltips tippy('#aiedu', { content: "As to AI nowadays, LLM and Stable Diffusion are hot even hottest among them, If your want to both know-why and know-how with them, instead of only know-how which can't repeat itself, you should get you to https://ai.afoo.me right now ❗" });

2026/2/7
articleCard.readMore

免费!免费!免费! FooSnippets正式上架MacOS AppStore!

免费!免费!免费! FooSnippets正式上架MacOS AppStore! -王福强的个人博客:一个架构士的思考与沉淀 pre > code{ white-space: pre-wrap; font-family: monospace; font-size: 14px; /* border-left: blueviolet; border-left-width: thick; border-left-style: double; padding-left: 1rem !important; */ } .x-indicator{ display:none; } .htmx-request .x-indicator{ display:inline; } .htmx-request.x-indicator{ display:inline; } { "@context": "https://schema.org", "@type": "NewsArticle", "headline": "免费!免费!免费! FooSnippets正式上架MacOS AppStore!", "image": [ "https://afoo.me/images/fb_subscribe.jpg" ], "datePublished": "2026-02-04", "author": [{ "@type": "Person", "name": "王福强", "url": "https://afoo.me" }] } 福强私学 福强AI学堂 架构百科 博客文章 创作出版 产品与服务 登录信息 更多链接 (adsbygoogle = window.adsbygoogle || []).push({}); (adsbygoogle = window.adsbygoogle || []).push({}); 免费!免费!免费! FooSnippets正式上架MacOS AppStore! 王福强 2026-02-04 (adsbygoogle = window.adsbygoogle || []).push({}); 首先,你肯定疑惑, FooSnippets是个啥东东? 假如你使用MacOS系统, 假如你是MacOS老用户, 你大概率听说过Text Expander这类软件 也就是你输入简单的字词,它自动帮你替换成你想要它替换的内容。(技术术语一般叫 macro/宏) 福强老师用了10多年的Dash.app也属于这类软件。 去年, CodeBuddy 刚出来的时候, TVP组织大家发挥创意搞创作 我就尝试复刻了一个类似的工具产品, 不过当时起名字叫 Prompt Manager 后来,在 “吃自己狗粮 (Eat one’s own dog food)”的过程中, 发现还有很多不方便的点 所以就做了一些改进 稍加打磨之后发现用起来还算顺手 就发布到了 App Store 分享给大家(过程中经历了四、五次被打回重审😂) 一个是回馈 Code Buddy 当时的免费额度 一个是回馈一直关注我的同学(要不啥产品都收费,显得我小气,哈哈哈哈) 现在这个工具产品以 FooSnippets 的名字发布 取 Foo(福)+ Snippets(功能)之意 虽然现在很多人都语音输入 + Vibe Coding了 但我相信 FooSnippets 还是可以帮助很多人管理自己的私有知识资产 🤪 哦,对了 你可以从 这里 直达 FooSnippets 的 App Store 位置然后安装。 二维码就不放了,毕竟不符合桌面端用户的习惯和设备属性。 毕竟,FooSnippets 只面向 MacOS桌面端用户。 快去试试吧~ (adsbygoogle = window.adsbygoogle || []).push({}); >>>>>> 更多阅读 <<<<<< 最终还是不得不发出这样的邮件 技术书写的跟说明书那么枯燥是一种劣势吗? 精神再高贵顽强也经不起身体神殿的崩塌 「福强私学」来一个? 「福强私学」, 一部沉淀了个人成长、技术与架构、组织与管理以及商业上的方法与心法的百科全书。 福强老师的 AI 通识课 开天窗,拉认知,订阅「福报」,即刻拥有自己的全模态人工智能。 Copyright © 王福强个人版权所有 - Since 2004 (Everything is homebrewed with Pandoc and Markdown, little Scala also included.) // Set "light" theme as default if (!localStorage.theme) { localStorage.theme = "light"; } if ( localStorage.theme === 'dark' || (!('theme' in localStorage) && window.matchMedia('(prefers-color-scheme: dark)').matches) ) { document.documentElement.classList.add('dark'); } else { document.documentElement.classList.remove('dark'); } function attachEvent(selector, event, fn) { const matches = document.querySelectorAll(selector); if (matches && matches.length) { matches.forEach((elem) => { elem.addEventListener(event, () => fn(elem), false); }); } } window.onload = function () { attachEvent('[data-toggle-menu]', 'click', function (elem) { elem.classList.toggle('expanded'); document.body.classList.toggle('overflow-hidden'); document.getElementById('header')?.classList.toggle('h-screen'); document.querySelector('#header nav')?.classList.toggle('hidden'); }); attachEvent("[data-toggle-color-scheme]", "click", function () { document.documentElement.classList.toggle("light"); localStorage.theme = "light"; }); }; window.onpageshow = function () { const elem = document.querySelector('[data-toggle-menu]'); if (elem) { elem.classList.remove('expanded'); } document.body.classList.remove('overflow-hidden'); document.getElementById('header')?.classList.remove('h-screen'); document.querySelector('#header nav')?.classList.add('hidden'); }; var gitalk = new Gitalk({ clientID: '518a605d711883414ac0', clientSecret: '69fb8ccc0616c5bcbc64d24ece0d06d279da91ff', repo: 'afoo.me.comments', owner: 'fujohnwang', admin: ['fujohnwang'], id: location.pathname.substring(0, 49), // Ensure uniqueness and length less than 50 distractionFreeMode: false // Facebook-like distraction free mode }) gitalk.render('comments') /* paste this line in verbatim */ window.formbutton=window.formbutton||function(){(formbutton.q=formbutton.q||[]).push(arguments)}; /* customize formbutton below*/ formbutton("create", { action: "https://formspree.io/f/xknlpkkd", title: "有什么可以帮到您?💕💕💕 How can I help you?", buttonImg: "", fields: [ { type: "email", label: "您的电子邮箱(方便与您联系):", name: "email", required: true, placeholder: "your@email.com" }, { type: "textarea", label: "您想提交的反馈和询问信息:", name: "message", placeholder: "What's on your mind?", }, { type: "submit" } ], styles: { title: { backgroundColor: "blue" }, button: { backgroundColor: "blue" } } }); // tooltips tippy('#aiedu', { content: "As to AI nowadays, LLM and Stable Diffusion are hot even hottest among them, If your want to both know-why and know-how with them, instead of only know-how which can't repeat itself, you should get you to https://ai.afoo.me right now ❗" });

2026/2/4
articleCard.readMore

KeeNotes 桌面版支持本地数据导入啦~

KeeNotes 桌面版支持本地数据导入啦~ -王福强的个人博客:一个架构士的思考与沉淀 pre > code{ white-space: pre-wrap; font-family: monospace; font-size: 14px; /* border-left: blueviolet; border-left-width: thick; border-left-style: double; padding-left: 1rem !important; */ } .x-indicator{ display:none; } .htmx-request .x-indicator{ display:inline; } .htmx-request.x-indicator{ display:inline; } pre > code.sourceCode { white-space: pre; position: relative; } pre > code.sourceCode > span { line-height: 1.25; } pre > code.sourceCode > span:empty { height: 1.2em; } .sourceCode { overflow: visible; } code.sourceCode > span { color: inherit; text-decoration: inherit; } div.sourceCode { margin: 1em 0; } pre.sourceCode { margin: 0; } @media screen { div.sourceCode { overflow: auto; } } @media print { pre > code.sourceCode { white-space: pre-wrap; } pre > code.sourceCode > span { display: inline-block; text-indent: -5em; padding-left: 5em; } } pre.numberSource code { counter-reset: source-line 0; } pre.numberSource code > span { position: relative; left: -4em; counter-increment: source-line; } pre.numberSource code > span > a:first-child::before { content: counter(source-line); position: relative; left: -1em; text-align: right; vertical-align: baseline; border: none; display: inline-block; -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; padding: 0 4px; width: 4em; color: #aaaaaa; } pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa; padding-left: 4px; } div.sourceCode { } @media screen { pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; } } code span.al { color: #ff0000; font-weight: bold; } /* Alert */ code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } /* Annotation */ code span.at { color: #7d9029; } /* Attribute */ code span.bn { color: #40a070; } /* BaseN */ code span.bu { color: #008000; } /* BuiltIn */ code span.cf { color: #007020; font-weight: bold; } /* ControlFlow */ code span.ch { color: #4070a0; } /* Char */ code span.cn { color: #880000; } /* Constant */ code span.co { color: #60a0b0; font-style: italic; } /* Comment */ code span.cv { color: #60a0b0; font-weight: bold; font-style: italic; } /* CommentVar */ code span.do { color: #ba2121; font-style: italic; } /* Documentation */ code span.dt { color: #902000; } /* DataType */ code span.dv { color: #40a070; } /* DecVal */ code span.er { color: #ff0000; font-weight: bold; } /* Error */ code span.ex { } /* Extension */ code span.fl { color: #40a070; } /* Float */ code span.fu { color: #06287e; } /* Function */ code span.im { color: #008000; font-weight: bold; } /* Import */ code span.in { color: #60a0b0; font-weight: bold; font-style: italic; } /* Information */ code span.kw { color: #007020; font-weight: bold; } /* Keyword */ code span.op { color: #666666; } /* Operator */ code span.ot { color: #007020; } /* Other */ code span.pp { color: #bc7a00; } /* Preprocessor */ code span.sc { color: #4070a0; } /* SpecialChar */ code span.ss { color: #bb6688; } /* SpecialString */ code span.st { color: #4070a0; } /* String */ code span.va { color: #19177c; } /* Variable */ code span.vs { color: #4070a0; } /* VerbatimString */ code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warning */ { "@context": "https://schema.org", "@type": "NewsArticle", "headline": "KeeNotes 桌面版支持本地数据导入啦~", "image": [ "https://afoo.me/images/fb_subscribe.jpg" ], "datePublished": "2026-01-25", "author": [{ "@type": "Person", "name": "王福强", "url": "https://afoo.me" }] } 福强私学 福强AI学堂 架构百科 博客文章 创作出版 产品与服务 登录信息 更多链接 (adsbygoogle = window.adsbygoogle || []).push({}); (adsbygoogle = window.adsbygoogle || []).push({}); KeeNotes 桌面版支持本地数据导入啦~ 王福强 2026-01-25 (adsbygoogle = window.adsbygoogle || []).push({}); Keenotes 新发布的 V1.3.4.26 版 支持用户从本地导入自己之前的闪念,不管是自己持有的,还是其它软件的。 通过桌面版KeeNotes,你有两种方式导入数据(从而在所有端上都可以访问): 使用本地API导入 在Settings -> Data Import 选择本地NDJSON文件导入 使用本地API导入 桌面版KeeNotes在本地开放了一个简单的数据导入API: 默认端口开在1979,你可以根据自己喜好更改这个端口(或者因为本地端口冲突?)。 API的使用其实也很简单: http localhost:1979 content="API test for local import server" channel="cli" created_at="2024-10-24 11:11:01" 即以POST形式发送JSON格式的Payload即可, JSON必要字段如上所示: content:闪念内容主体 channel:来源或者分类 created_at:创建时候的时间戳 还有一个可选字段是encrypted,主要针对导入其它KeeNotes服务器的数据的场景,对于普通用户来说,一般不需要了解。 择本地NDJSON文件导入 KeeNotes桌面版支持的第二种数据导入方式是,允许用户选择本地文件批量导入。 文件格式是NDJSON格式,这个格式其实也不复杂,所谓NDJSON格式,其实就是一行一个JSON对象。 比如: {"content": "test content/测试内容","channel":"data_import","created_at":"2024-10-25 11:25:00"} {"content": "test content/测试内容2","channel":"data_import","ts":"2024-10-25 10:35:00"} ... 用户如果想把其它系统的数据导入KeeNotes, 只要将原系统的数据导出为NDJSON格式,然后在KeeNotes桌面版的Settings -> Data Import界面选择目标NDJSON文件,KeeNotes桌面版就会自动在后台开始数据导入的任务了。 NDJSON每一行JSON的内容和必要字段,跟使用本地API导入使用的格式一样。(不过也多个可选项,就是created_at字段也可以用ts字段代替,这两个字段在NDJSON这里代表时间戳字段都可以) 比如, 假如我要把自己原来keebox里的闪念导入keenotes,我直接用下面的命令导出NDJSON就可以了: sqlite3 -list -noheader "notes.sqlite3" "select json_object('content', content, 'channel', channel, 'created_at', created_at) from notes;" > out.ndjson 因为原来的数据就是sqlite3数据库存储,所以,直接使用sqlite3的json_object函数导出就可以了。 至于对于用户你来说,AI时代,不知道怎么把老数据转成NDJSON,直接交代AI去干就好了,原本它也适合干这个 ^-^ 写在最后 经常遇到有人问 keenotes 跟其它同类软件有啥差别,其实个人也没特别想要去做这方面的对比, 把这个东西做出来,纯粹是自己实践了(或者说毫不费力地坚持了)9年,觉得应该有人会有类似的需求,所以才开始正式打磨出来。 如果你实在想做个对比,可以看看这篇简单介绍,自己对比吧🤣 https://mp.weixin.qq.com/s/eLSm7OqUiny66LuPZaCNQw (adsbygoogle = window.adsbygoogle || []).push({}); >>>>>> 更多阅读 <<<<<< 普通文本的“麻雀变凤凰”之路 PPT、专利与白嫖 local first OR online first? 「福强私学」来一个? 「福强私学」, 一部沉淀了个人成长、技术与架构、组织与管理以及商业上的方法与心法的百科全书。 福强老师的 AI 通识课 开天窗,拉认知,订阅「福报」,即刻拥有自己的全模态人工智能。 Copyright © 王福强个人版权所有 - Since 2004 (Everything is homebrewed with Pandoc and Markdown, little Scala also included.) // Set "light" theme as default if (!localStorage.theme) { localStorage.theme = "light"; } if ( localStorage.theme === 'dark' || (!('theme' in localStorage) && window.matchMedia('(prefers-color-scheme: dark)').matches) ) { document.documentElement.classList.add('dark'); } else { document.documentElement.classList.remove('dark'); } function attachEvent(selector, event, fn) { const matches = document.querySelectorAll(selector); if (matches && matches.length) { matches.forEach((elem) => { elem.addEventListener(event, () => fn(elem), false); }); } } window.onload = function () { attachEvent('[data-toggle-menu]', 'click', function (elem) { elem.classList.toggle('expanded'); document.body.classList.toggle('overflow-hidden'); document.getElementById('header')?.classList.toggle('h-screen'); document.querySelector('#header nav')?.classList.toggle('hidden'); }); attachEvent("[data-toggle-color-scheme]", "click", function () { document.documentElement.classList.toggle("light"); localStorage.theme = "light"; }); }; window.onpageshow = function () { const elem = document.querySelector('[data-toggle-menu]'); if (elem) { elem.classList.remove('expanded'); } document.body.classList.remove('overflow-hidden'); document.getElementById('header')?.classList.remove('h-screen'); document.querySelector('#header nav')?.classList.add('hidden'); }; var gitalk = new Gitalk({ clientID: '518a605d711883414ac0', clientSecret: '69fb8ccc0616c5bcbc64d24ece0d06d279da91ff', repo: 'afoo.me.comments', owner: 'fujohnwang', admin: ['fujohnwang'], id: location.pathname.substring(0, 49), // Ensure uniqueness and length less than 50 distractionFreeMode: false // Facebook-like distraction free mode }) gitalk.render('comments') /* paste this line in verbatim */ window.formbutton=window.formbutton||function(){(formbutton.q=formbutton.q||[]).push(arguments)}; /* customize formbutton below*/ formbutton("create", { action: "https://formspree.io/f/xknlpkkd", title: "有什么可以帮到您?💕💕💕 How can I help you?", buttonImg: "", fields: [ { type: "email", label: "您的电子邮箱(方便与您联系):", name: "email", required: true, placeholder: "your@email.com" }, { type: "textarea", label: "您想提交的反馈和询问信息:", name: "message", placeholder: "What's on your mind?", }, { type: "submit" } ], styles: { title: { backgroundColor: "blue" }, button: { backgroundColor: "blue" } } }); // tooltips tippy('#aiedu', { content: "As to AI nowadays, LLM and Stable Diffusion are hot even hottest among them, If your want to both know-why and know-how with them, instead of only know-how which can't repeat itself, you should get you to https://ai.afoo.me right now ❗" });

2026/1/25
articleCard.readMore

打造 Keenotes 过程中使用 AI/Coding Agents 的一些感想

打造 Keenotes 过程中使用 AI/Coding Agents 的一些感想 -王福强的个人博客:一个架构士的思考与沉淀 pre > code{ white-space: pre-wrap; font-family: monospace; font-size: 14px; /* border-left: blueviolet; border-left-width: thick; border-left-style: double; padding-left: 1rem !important; */ } .x-indicator{ display:none; } .htmx-request .x-indicator{ display:inline; } .htmx-request.x-indicator{ display:inline; } { "@context": "https://schema.org", "@type": "NewsArticle", "headline": "打造 Keenotes 过程中使用 AI/Coding Agents 的一些感想", "image": [ "https://afoo.me/images/fb_subscribe.jpg" ], "datePublished": "2026-01-22", "author": [{ "@type": "Person", "name": "王福强", "url": "https://afoo.me" }] } 福强私学 福强AI学堂 架构百科 博客文章 创作出版 产品与服务 登录信息 更多链接 (adsbygoogle = window.adsbygoogle || []).push({}); (adsbygoogle = window.adsbygoogle || []).push({}); 打造 Keenotes 过程中使用 AI/Coding Agents 的一些感想 王福强 2026-01-22 (adsbygoogle = window.adsbygoogle || []).push({}); 关于什么是keenotes, 看这里 all in 还是 cherry-pick 其实很长一段时间,我都不敢放开把所有都交给AI,所以,从来都是用AI做调研,确定差不多了,再让它写局部代码,然后人工合并到codebase。 这种方式我称其为cherry-pick, 也就是挑出能用的再用。 但在搞keenotes的过程中,我加快了动作,把目标和要求写完后,让AI/Coding Agents 1自己去搞,搞完之后,我在从外围以黑盒的形式做验收,验收不过的,也不直接改代码,而是让coding agent自己去分析原因并修复。 这个时候,你会发现,当什么都交给AI/coding agent去干的时候,你相当于放弃了对实现细节的掌控。而且,随着codebase的增大,你也很难去从全局到细节事无巨细的完全了解。 这时候职能AI对AI,完全放权给AI去搞,所以,我称这种方式为all-in 这两种方式,我觉得后者的挑战其实挺大的,因为你一旦决定用这种all-in的方式,就意味着此后所有的动作都需要AI native。 企业负责人敢不敢这么干,自己的团队有没有能力承载,这些可能都是顾虑的点。 不过,整体上来看,效率肯定是提升的,所以,我相信慢慢地大家还是会发现如何更好的管理AI在这条路上的效率与风险。 验收 验收依然是最重要的工作,或者说,依然是管理者最重要的工作。 有了AI之后,从0到1其实更简单了,但从1到100甚至1000、10000更难了,因为迭代过程中对细节的验证和修复上耗费的时间和精力,可能也更多了。 按下葫芦起了瓢,成了常态,玩过的都知道吧?🤣 毕竟,魔鬼藏在细节里,从产品层面黑盒式的打磨,相当考验耐心。 plan first and plan matters 很多时候,再打磨细节的过程中,经常会被AI的反复(按下葫芦起了瓢)搞得想发疯,这时候,你肯定会吼AI,但吼它是没用的。 吼它确实发泄情绪了,但不解决问题,而且耗费tokens(也意味着耗费金钱,哈哈哈) 这时候,就得回顾本心,冷静一下, 从头开始梳理目标和路径,然后再让AI去分析和执行。 也就是你想得多了、想得全面了, AI就不用在模糊的上下文里猜来猜去了, 说白了,能把需求说清楚,执行反而是最快的, 跟曾经一个研发遇到一个好的产品经理一样,哈哈哈 Instead of shouting to AI, you should think more in front and give a crystal-clear context to it. 写完上面这句英文总结,恰好又读了 这篇文章,发现真是 “great mind think alike” 🤣 模型优先于对模型的调教 基本上只用opus 4.5和sonnet 4.5模型,opus贵, 2个credit,4.5便宜点儿,1.3个credit,(嗯,定价方面,kiro鸡贼,用credit代替了token数量) 对于思考范围要大一些的重构,我一般就切换到opus; 对于小范围局部修复,我一般就切到sonnet; 但有时候对于一些大点儿的重构,sonnet的效果也不错, 反而你让opus去做一些小范围的修复,反而效果不咋地。 订阅的额度用完了后,没想升级到更高的price plan,就尝试了下国内几个模型,比如GLM4.7和Minimax2.1, 效果跟预期的差别很大,不知道是营销的成分更大,还是模型层面就是不如opus和sonnet 但不管怎么说,整体感觉, 模型好可以解决大部分问题, 模型不行,工具再炫也没鸟用。 token或者price plan便宜是一会儿事儿,最主要浪费时间和感情🤣 NOTE 据说openai的gpt5.2在处理深度问题上效果不错,不过, 2023年注册了chatgpt后就没用过, 所以,没一手体感,就不做评价了。 Vibe VS. SDD(Spec-Driven Development) 虽然Kiro老早就提出了两种方式,而且当我写了比较长、比较规范的prompt给它的时候,它经常自动提示让我切到spec driven的模式,但大部分时候都让我拒绝掉了。 整个过程下来,我可能还是vibe的成分多一些。 不过,为了让它别瞎搞,我在steering file里(也就是Kiro里定义的rules,类似于CLAUDE.md或者AGENTS.md)加了一些约束。 而且,为了让它按照我的流程来,我也将CLAUDE.md里定义的流程要求放到了steering file里。 我的流程其实也挺简单的,就是“阿里黑话”的适配版,将“我说你听,你说我听”转成了类似“我提出了需求给你,你先了解,不明白的地方,可以跟我确认,所有事情清晰之后,得到我的运行你才能开工”。 大部分时候,它还算遵循这套流程要求, 但偶尔也会都已经干了一半了,session会话里跟你说,“哎呀不好意思啊,我忘了先跟你确认了”,艹, 这就像是“先干了再跟你道歉的人”一样, 甚至于哪天用哪个模型测试的时候,它改错了东西居然说“手滑了”,我日! 跟tmd推卸责任的员工一模一样🤣 “手滑”这词儿我还是2019年在上海第一次从某推卸责任的员工嘴里听到的… focus on the goal 纵观各种自媒体,你会发现极其高亢 但假如你被他们带着走,那可能就有点儿走偏了。 我要说的是, Don’t focus on the tools, focus on the goals. 除非是你专职做AI自媒体的,那么,没问题,毕竟, 你玩的就是流量。(If you are focusing on social media traffic, then forget about it) 假如你不是专职做AI自媒体的,那么,应该冷静下,想想自己的目标到底什么,不管AI工具如何变换,他们终归是工具,它们应该是帮你完成目标的东西。 这其实也是为啥我选了Kiro之后,基本主力就用它了。 你说其它工具有没有比它更好的,肯定有,但不重要,我的目标又不是AI工具评测🤪 我用的kiro,好处有两个: 1. 不需要翻墙,不受梯子稳定性影响(这个很影响心情);2. 信用卡直接购买。(前期免费使用额度也挺高,不过这阵子估计被薅羊毛薅凸了吧,降低了额度,还去掉了opus模型)↩︎ (adsbygoogle = window.adsbygoogle || []).push({}); >>>>>> 更多阅读 <<<<<< AI、开源与微服务:老王两个观点,谈谈个人想法 栽了,呵呵 AI 时代依然要善用工具! 「福强私学」来一个? 「福强私学」, 一部沉淀了个人成长、技术与架构、组织与管理以及商业上的方法与心法的百科全书。 福强老师的 AI 通识课 开天窗,拉认知,订阅「福报」,即刻拥有自己的全模态人工智能。 Copyright © 王福强个人版权所有 - Since 2004 (Everything is homebrewed with Pandoc and Markdown, little Scala also included.) // Set "light" theme as default if (!localStorage.theme) { localStorage.theme = "light"; } if ( localStorage.theme === 'dark' || (!('theme' in localStorage) && window.matchMedia('(prefers-color-scheme: dark)').matches) ) { document.documentElement.classList.add('dark'); } else { document.documentElement.classList.remove('dark'); } function attachEvent(selector, event, fn) { const matches = document.querySelectorAll(selector); if (matches && matches.length) { matches.forEach((elem) => { elem.addEventListener(event, () => fn(elem), false); }); } } window.onload = function () { attachEvent('[data-toggle-menu]', 'click', function (elem) { elem.classList.toggle('expanded'); document.body.classList.toggle('overflow-hidden'); document.getElementById('header')?.classList.toggle('h-screen'); document.querySelector('#header nav')?.classList.toggle('hidden'); }); attachEvent("[data-toggle-color-scheme]", "click", function () { document.documentElement.classList.toggle("light"); localStorage.theme = "light"; }); }; window.onpageshow = function () { const elem = document.querySelector('[data-toggle-menu]'); if (elem) { elem.classList.remove('expanded'); } document.body.classList.remove('overflow-hidden'); document.getElementById('header')?.classList.remove('h-screen'); document.querySelector('#header nav')?.classList.add('hidden'); }; var gitalk = new Gitalk({ clientID: '518a605d711883414ac0', clientSecret: '69fb8ccc0616c5bcbc64d24ece0d06d279da91ff', repo: 'afoo.me.comments', owner: 'fujohnwang', admin: ['fujohnwang'], id: location.pathname.substring(0, 49), // Ensure uniqueness and length less than 50 distractionFreeMode: false // Facebook-like distraction free mode }) gitalk.render('comments') /* paste this line in verbatim */ window.formbutton=window.formbutton||function(){(formbutton.q=formbutton.q||[]).push(arguments)}; /* customize formbutton below*/ formbutton("create", { action: "https://formspree.io/f/xknlpkkd", title: "有什么可以帮到您?💕💕💕 How can I help you?", buttonImg: "", fields: [ { type: "email", label: "您的电子邮箱(方便与您联系):", name: "email", required: true, placeholder: "your@email.com" }, { type: "textarea", label: "您想提交的反馈和询问信息:", name: "message", placeholder: "What's on your mind?", }, { type: "submit" } ], styles: { title: { backgroundColor: "blue" }, button: { backgroundColor: "blue" } } }); // tooltips tippy('#aiedu', { content: "As to AI nowadays, LLM and Stable Diffusion are hot even hottest among them, If your want to both know-why and know-how with them, instead of only know-how which can't repeat itself, you should get you to https://ai.afoo.me right now ❗" });

2026/1/20
articleCard.readMore

AI时代,每个人都应该学点儿管理思维和实践

AI时代,每个人都应该学点儿管理思维和实践 -王福强的个人博客:一个架构士的思考与沉淀 pre > code{ white-space: pre-wrap; font-family: monospace; font-size: 14px; /* border-left: blueviolet; border-left-width: thick; border-left-style: double; padding-left: 1rem !important; */ } .x-indicator{ display:none; } .htmx-request .x-indicator{ display:inline; } .htmx-request.x-indicator{ display:inline; } { "@context": "https://schema.org", "@type": "NewsArticle", "headline": "AI时代,每个人都应该学点儿管理思维和实践", "image": [ "https://afoo.me/images/fb_subscribe.jpg" ], "datePublished": "2026-01-14", "author": [{ "@type": "Person", "name": "王福强", "url": "https://afoo.me" }] } 福强私学 福强AI学堂 架构百科 博客文章 创作出版 产品与服务 登录信息 更多链接 (adsbygoogle = window.adsbygoogle || []).push({}); (adsbygoogle = window.adsbygoogle || []).push({}); AI时代,每个人都应该学点儿管理思维和实践 王福强 2026-01-14 (adsbygoogle = window.adsbygoogle || []).push({}); 前几天不是提到周日出门参加个技术活动嘛 期间分享嘉宾提到的一个概念: DRO 给我的印象比较深刻 当然,这个概念也不是分享嘉宾自己原创的 好像是Claude亦或是Open AI团队提到的一个概念 DRO 即 Delegate、Review 和 Own 的缩写。 为啥对这个概念印象深刻呢? 因为只要你干过管理工作 你就会直觉性地get到它在说什么 那为什么是一个搞AI的团队又提出这么个概念呢? 因为AI Agents(智能体)时代 AI Agents成了每个人新的员工 每个人类员工反而自然而然地上升到了管理者的位置、承担了管理者的角色 而DRO,恰恰就是一个管理者角色自带的属性 管理的本质就是 D 管理的日常就是 R 管理者的职责就是 O 这其实就是AI时代每个要学点儿管理思维的原因 至于管理实践 我现在每天用到的一个倒是可以跟大家分享 这个实践比较有意思在于 它其实就是阿里黑话之一🤣 也就是: 我说你听,你说我听。 我做你看,你做我看。 只不过, 我只用了前半句, 后半句,只用了AI Agents做,我看(Review) 为什么要用这个实践呢? 因为用了 AI 开局很爽 但迭代才是关键 The devil is in the details 这个时候你就会开始面对一个实习生员工了🤪 运气好,它会让你惊喜 运气不好,它会让你怒气冲天 哈哈哈哈 反正很多时候,一点儿也不比人类员工省心 🤣 所以,迭代的过程中 为了避免越改越坏 我通常会在context file里定义至少这么一句: ## 要求 - 未经允许,不得私自创建和生成任何.md格式的总结之类的文档 - 修复问题的时候,永远先说明你对需求的理解,经过双方讨论之后,同意你开展工作,你才能开始工作。 否则,你真不知道它会给你的是惊喜还是惊吓🤪 提到管理,王婆卖瓜一下, 推荐大家看看福强老师的《极简管理课》, 纯实践干货, 至于怎么找到,有心人自然能找到啦,哈哈哈 不过里面的内容感觉有些有点儿逆周期,所以,你得学会辩证的看,根据所处环境、企业文化等因素自行权衡。 (adsbygoogle = window.adsbygoogle || []).push({}); >>>>>> 更多阅读 <<<<<< 不可不知的三个GPT的Magic Moment 扶墙老师谈微服务(Microservices Essential) Markdown不吹不黑:谈谈自己的Markdown故事 「福强私学」来一个? 「福强私学」, 一部沉淀了个人成长、技术与架构、组织与管理以及商业上的方法与心法的百科全书。 福强老师的 AI 通识课 开天窗,拉认知,订阅「福报」,即刻拥有自己的全模态人工智能。 Copyright © 王福强个人版权所有 - Since 2004 (Everything is homebrewed with Pandoc and Markdown, little Scala also included.) // Set "light" theme as default if (!localStorage.theme) { localStorage.theme = "light"; } if ( localStorage.theme === 'dark' || (!('theme' in localStorage) && window.matchMedia('(prefers-color-scheme: dark)').matches) ) { document.documentElement.classList.add('dark'); } else { document.documentElement.classList.remove('dark'); } function attachEvent(selector, event, fn) { const matches = document.querySelectorAll(selector); if (matches && matches.length) { matches.forEach((elem) => { elem.addEventListener(event, () => fn(elem), false); }); } } window.onload = function () { attachEvent('[data-toggle-menu]', 'click', function (elem) { elem.classList.toggle('expanded'); document.body.classList.toggle('overflow-hidden'); document.getElementById('header')?.classList.toggle('h-screen'); document.querySelector('#header nav')?.classList.toggle('hidden'); }); attachEvent("[data-toggle-color-scheme]", "click", function () { document.documentElement.classList.toggle("light"); localStorage.theme = "light"; }); }; window.onpageshow = function () { const elem = document.querySelector('[data-toggle-menu]'); if (elem) { elem.classList.remove('expanded'); } document.body.classList.remove('overflow-hidden'); document.getElementById('header')?.classList.remove('h-screen'); document.querySelector('#header nav')?.classList.add('hidden'); }; var gitalk = new Gitalk({ clientID: '518a605d711883414ac0', clientSecret: '69fb8ccc0616c5bcbc64d24ece0d06d279da91ff', repo: 'afoo.me.comments', owner: 'fujohnwang', admin: ['fujohnwang'], id: location.pathname.substring(0, 49), // Ensure uniqueness and length less than 50 distractionFreeMode: false // Facebook-like distraction free mode }) gitalk.render('comments') /* paste this line in verbatim */ window.formbutton=window.formbutton||function(){(formbutton.q=formbutton.q||[]).push(arguments)}; /* customize formbutton below*/ formbutton("create", { action: "https://formspree.io/f/xknlpkkd", title: "有什么可以帮到您?💕💕💕 How can I help you?", buttonImg: "", fields: [ { type: "email", label: "您的电子邮箱(方便与您联系):", name: "email", required: true, placeholder: "your@email.com" }, { type: "textarea", label: "您想提交的反馈和询问信息:", name: "message", placeholder: "What's on your mind?", }, { type: "submit" } ], styles: { title: { backgroundColor: "blue" }, button: { backgroundColor: "blue" } } }); // tooltips tippy('#aiedu', { content: "As to AI nowadays, LLM and Stable Diffusion are hot even hottest among them, If your want to both know-why and know-how with them, instead of only know-how which can't repeat itself, you should get you to https://ai.afoo.me right now ❗" });

2026/1/14
articleCard.readMore

claude code proxy方案调研

claude code proxy方案调研 -王福强的个人博客:一个架构士的思考与沉淀 pre > code{ white-space: pre-wrap; font-family: monospace; font-size: 14px; /* border-left: blueviolet; border-left-width: thick; border-left-style: double; padding-left: 1rem !important; */ } .x-indicator{ display:none; } .htmx-request .x-indicator{ display:inline; } .htmx-request.x-indicator{ display:inline; } { "@context": "https://schema.org", "@type": "NewsArticle", "headline": "claude code proxy方案调研", "image": [ "https://afoo.me/images/fb_subscribe.jpg" ], "datePublished": "2026-01-07", "author": [{ "@type": "Person", "name": "王福强", "url": "https://afoo.me" }] } 福强私学 福强AI学堂 架构百科 博客文章 创作出版 产品与服务 登录信息 更多链接 (adsbygoogle = window.adsbygoogle || []).push({}); (adsbygoogle = window.adsbygoogle || []).push({}); claude code proxy方案调研 王福强 2026-01-07 (adsbygoogle = window.adsbygoogle || []).push({}); 偏命令行方案: ccr (claude code router) claude-code-proxy claude-code-proxy-enhance claude2openai-proxy claude_proxy cliproxyapi (有对应的GUI, easycli) litellm 最后还是选了litellm,一个是命令行启动参数的设计符合直觉, 另一个社区比较成熟,最重要的是,测试后,确实可用。 至于其它几个GUI类型的产品,太复杂,我这种老登已经看不懂了,但感谢推荐的同学,这几个产品是: Antigravity Tools (注意,不是google的Antigravity) ProxyCast cc switch (这个个人开始在用,后来发现启动的频次也不高) ProxyPal 反正这个破事儿浪费了我昨天半天和今天半天 😂 (adsbygoogle = window.adsbygoogle || []).push({}); >>>>>> 更多阅读 <<<<<< 为啥大清后期那么多人去日本留学? 今年值得期待的几个技术发布 生成艺术二维码的三种套路 「福强私学」来一个? 「福强私学」, 一部沉淀了个人成长、技术与架构、组织与管理以及商业上的方法与心法的百科全书。 福强老师的 AI 通识课 开天窗,拉认知,订阅「福报」,即刻拥有自己的全模态人工智能。 Copyright © 王福强个人版权所有 - Since 2004 (Everything is homebrewed with Pandoc and Markdown, little Scala also included.) // Set "light" theme as default if (!localStorage.theme) { localStorage.theme = "light"; } if ( localStorage.theme === 'dark' || (!('theme' in localStorage) && window.matchMedia('(prefers-color-scheme: dark)').matches) ) { document.documentElement.classList.add('dark'); } else { document.documentElement.classList.remove('dark'); } function attachEvent(selector, event, fn) { const matches = document.querySelectorAll(selector); if (matches && matches.length) { matches.forEach((elem) => { elem.addEventListener(event, () => fn(elem), false); }); } } window.onload = function () { attachEvent('[data-toggle-menu]', 'click', function (elem) { elem.classList.toggle('expanded'); document.body.classList.toggle('overflow-hidden'); document.getElementById('header')?.classList.toggle('h-screen'); document.querySelector('#header nav')?.classList.toggle('hidden'); }); attachEvent("[data-toggle-color-scheme]", "click", function () { document.documentElement.classList.toggle("light"); localStorage.theme = "light"; }); }; window.onpageshow = function () { const elem = document.querySelector('[data-toggle-menu]'); if (elem) { elem.classList.remove('expanded'); } document.body.classList.remove('overflow-hidden'); document.getElementById('header')?.classList.remove('h-screen'); document.querySelector('#header nav')?.classList.add('hidden'); }; var gitalk = new Gitalk({ clientID: '518a605d711883414ac0', clientSecret: '69fb8ccc0616c5bcbc64d24ece0d06d279da91ff', repo: 'afoo.me.comments', owner: 'fujohnwang', admin: ['fujohnwang'], id: location.pathname.substring(0, 49), // Ensure uniqueness and length less than 50 distractionFreeMode: false // Facebook-like distraction free mode }) gitalk.render('comments') /* paste this line in verbatim */ window.formbutton=window.formbutton||function(){(formbutton.q=formbutton.q||[]).push(arguments)}; /* customize formbutton below*/ formbutton("create", { action: "https://formspree.io/f/xknlpkkd", title: "有什么可以帮到您?💕💕💕 How can I help you?", buttonImg: "", fields: [ { type: "email", label: "您的电子邮箱(方便与您联系):", name: "email", required: true, placeholder: "your@email.com" }, { type: "textarea", label: "您想提交的反馈和询问信息:", name: "message", placeholder: "What's on your mind?", }, { type: "submit" } ], styles: { title: { backgroundColor: "blue" }, button: { backgroundColor: "blue" } } }); // tooltips tippy('#aiedu', { content: "As to AI nowadays, LLM and Stable Diffusion are hot even hottest among them, If your want to both know-why and know-how with them, instead of only know-how which can't repeat itself, you should get you to https://ai.afoo.me right now ❗" });

2026/1/7
articleCard.readMore

三个有关 AI 的预测

三个有关 AI 的预测 -王福强的个人博客:一个架构士的思考与沉淀 pre > code{ white-space: pre-wrap; font-family: monospace; font-size: 14px; /* border-left: blueviolet; border-left-width: thick; border-left-style: double; padding-left: 1rem !important; */ } .x-indicator{ display:none; } .htmx-request .x-indicator{ display:inline; } .htmx-request.x-indicator{ display:inline; } { "@context": "https://schema.org", "@type": "NewsArticle", "headline": "三个有关 AI 的预测", "image": [ "https://afoo.me/images/fb_subscribe.jpg" ], "datePublished": "2026-01-05", "author": [{ "@type": "Person", "name": "王福强", "url": "https://afoo.me" }] } 福强私学 福强AI学堂 架构百科 博客文章 创作出版 产品与服务 登录信息 更多链接 (adsbygoogle = window.adsbygoogle || []).push({}); (adsbygoogle = window.adsbygoogle || []).push({}); 三个有关 AI 的预测 王福强 2026-01-05 (adsbygoogle = window.adsbygoogle || []).push({}); Token费将是新的电费 今天有小伙伴在我们群里说,花了15美金,发现啥也没做出来。 其实你想开点就好了。 现在可能还有一些免费token让你试用, 因为现在是AI初级阶段,还在推广产品, 将来这个token的费用相当于新时代的电力费用,也就是电费, 现在生活你电费离不了,对不对? 将来Token的费用也离不了,就是将会持续的缴费🤣 业务研发和技术研发已死,但永存 过去技术团队会分业务研发和技术研发 AI时代或许不会这么叫了 他们会升级 业务研发会叫Vibe Coder 技术研发会叫基础设施Coder 一个复杂概率性系统,一个负责确定性系统 就像微软 CEO 萨提亚 2024 年说的那样 将来, ERP/MIS/CRM这些系统将被Agents + 数据库取代 而Agents,就是Vibe Coder将要面对的 数据库,就是基础设施Coder将会面对的 浮沙可以漂 但建不成高塔 概率性系统依然会建立在确定性系统之上 将来二者依然会共存。 AI时代,不升级的研发将被抛弃 但凡你已经Vibe了一段时间 你就会有感受 丫的谁还关心怎么实现的啊 什么原理不原理的 快速拿到结果交活儿了事 这时候就带来两个趋势 交活儿的人中,用AI的与不用AI的,将会拉大距离,最终差距可能会天壤之别 验收的人中,用AI的雨不用AI的,也是两种感受,这两种感受也是天壤之别,不用AI的估计会被验收工作给淹没还拿不到满意的结果,而善用AI的,却可以从从容容游刃有余,最后拼的是思维升级与观念的改变,以及随之而来的能力变化。 (adsbygoogle = window.adsbygoogle || []).push({}); >>>>>> 更多阅读 <<<<<< ICO之我见 为什么说技术创业更难? 开源啦~ 开源啦~ 有自己出版电子书需求的同学欢迎自取~ 「福强私学」来一个? 「福强私学」, 一部沉淀了个人成长、技术与架构、组织与管理以及商业上的方法与心法的百科全书。 福强老师的 AI 通识课 开天窗,拉认知,订阅「福报」,即刻拥有自己的全模态人工智能。 Copyright © 王福强个人版权所有 - Since 2004 (Everything is homebrewed with Pandoc and Markdown, little Scala also included.) // Set "light" theme as default if (!localStorage.theme) { localStorage.theme = "light"; } if ( localStorage.theme === 'dark' || (!('theme' in localStorage) && window.matchMedia('(prefers-color-scheme: dark)').matches) ) { document.documentElement.classList.add('dark'); } else { document.documentElement.classList.remove('dark'); } function attachEvent(selector, event, fn) { const matches = document.querySelectorAll(selector); if (matches && matches.length) { matches.forEach((elem) => { elem.addEventListener(event, () => fn(elem), false); }); } } window.onload = function () { attachEvent('[data-toggle-menu]', 'click', function (elem) { elem.classList.toggle('expanded'); document.body.classList.toggle('overflow-hidden'); document.getElementById('header')?.classList.toggle('h-screen'); document.querySelector('#header nav')?.classList.toggle('hidden'); }); attachEvent("[data-toggle-color-scheme]", "click", function () { document.documentElement.classList.toggle("light"); localStorage.theme = "light"; }); }; window.onpageshow = function () { const elem = document.querySelector('[data-toggle-menu]'); if (elem) { elem.classList.remove('expanded'); } document.body.classList.remove('overflow-hidden'); document.getElementById('header')?.classList.remove('h-screen'); document.querySelector('#header nav')?.classList.add('hidden'); }; var gitalk = new Gitalk({ clientID: '518a605d711883414ac0', clientSecret: '69fb8ccc0616c5bcbc64d24ece0d06d279da91ff', repo: 'afoo.me.comments', owner: 'fujohnwang', admin: ['fujohnwang'], id: location.pathname.substring(0, 49), // Ensure uniqueness and length less than 50 distractionFreeMode: false // Facebook-like distraction free mode }) gitalk.render('comments') /* paste this line in verbatim */ window.formbutton=window.formbutton||function(){(formbutton.q=formbutton.q||[]).push(arguments)}; /* customize formbutton below*/ formbutton("create", { action: "https://formspree.io/f/xknlpkkd", title: "有什么可以帮到您?💕💕💕 How can I help you?", buttonImg: "", fields: [ { type: "email", label: "您的电子邮箱(方便与您联系):", name: "email", required: true, placeholder: "your@email.com" }, { type: "textarea", label: "您想提交的反馈和询问信息:", name: "message", placeholder: "What's on your mind?", }, { type: "submit" } ], styles: { title: { backgroundColor: "blue" }, button: { backgroundColor: "blue" } } }); // tooltips tippy('#aiedu', { content: "As to AI nowadays, LLM and Stable Diffusion are hot even hottest among them, If your want to both know-why and know-how with them, instead of only know-how which can't repeat itself, you should get you to https://ai.afoo.me right now ❗" });

2026/1/5
articleCard.readMore

Keenotes 2025 年度报告出炉了 …

Keenotes 2025 年度报告出炉了 … -王福强的个人博客:一个架构士的思考与沉淀 pre > code{ white-space: pre-wrap; font-family: monospace; font-size: 14px; /* border-left: blueviolet; border-left-width: thick; border-left-style: double; padding-left: 1rem !important; */ } .x-indicator{ display:none; } .htmx-request .x-indicator{ display:inline; } .htmx-request.x-indicator{ display:inline; } { "@context": "https://schema.org", "@type": "NewsArticle", "headline": "Keenotes 2025 年度报告出炉了 …", "image": [ "https://afoo.me/images/fb_subscribe.jpg" ], "datePublished": "2025-12-31", "author": [{ "@type": "Person", "name": "王福强", "url": "https://afoo.me" }] } 福强私学 福强AI学堂 架构百科 博客文章 创作出版 产品与服务 登录信息 更多链接 (adsbygoogle = window.adsbygoogle || []).push({}); (adsbygoogle = window.adsbygoogle || []).push({}); Keenotes 2025 年度报告出炉了 … 王福强 2025-12-31 (adsbygoogle = window.adsbygoogle || []).push({}); 原始数据: LuckyJohn💫 ➜ keevol.cn git:(master) sqlite3 $HOME/keebox.sqlite3 "select strftime('%Y', updated) as y, count(*) from keenotes group by y;" -- Loading resources from /Users/fq/.sqliterc y = 2017 count(*) = 636 y = 2018 count(*) = 1634 y = 2019 count(*) = 2215 y = 2020 count(*) = 4002 y = 2021 count(*) = 3867 y = 2022 count(*) = 2696 y = 2023 count(*) = 1399 y = 2024 count(*) = 1127 y = 2025 count(*) = 886 可视化页面(https://afoo.me/note-stat.html): 然后,我数了下… 卧槽, keenotes记录了9年了,我tmd还以为就7、8年😂 想来,这所谓的创业也是9年,但我感觉我一直趴在地上,不算啥创业😂 Anyway, keenotes 2025年度汇总出炉了, 这个数据趋势充分说明了, 做事儿的时候,明显会降低胡思乱想的强度, 被圈的时候,就只能胡思乱想🫠 另外,明年打算重新打造一版keenotes,全平台+安全私密,感兴趣的同学可以先关注起来了🤪 https://afoo.me/knotes.html 所有客户端免费,但服务器端收费,哈哈哈 (adsbygoogle = window.adsbygoogle || []).push({}); >>>>>> 更多阅读 <<<<<< 我曾经跟阿里内部人说过的话 我们”有薪人”上线啦~ 疫情管控之下的上海困局 「福强私学」来一个? 「福强私学」, 一部沉淀了个人成长、技术与架构、组织与管理以及商业上的方法与心法的百科全书。 福强老师的 AI 通识课 开天窗,拉认知,订阅「福报」,即刻拥有自己的全模态人工智能。 Copyright © 王福强个人版权所有 - Since 2004 (Everything is homebrewed with Pandoc and Markdown, little Scala also included.) // Set "light" theme as default if (!localStorage.theme) { localStorage.theme = "light"; } if ( localStorage.theme === 'dark' || (!('theme' in localStorage) && window.matchMedia('(prefers-color-scheme: dark)').matches) ) { document.documentElement.classList.add('dark'); } else { document.documentElement.classList.remove('dark'); } function attachEvent(selector, event, fn) { const matches = document.querySelectorAll(selector); if (matches && matches.length) { matches.forEach((elem) => { elem.addEventListener(event, () => fn(elem), false); }); } } window.onload = function () { attachEvent('[data-toggle-menu]', 'click', function (elem) { elem.classList.toggle('expanded'); document.body.classList.toggle('overflow-hidden'); document.getElementById('header')?.classList.toggle('h-screen'); document.querySelector('#header nav')?.classList.toggle('hidden'); }); attachEvent("[data-toggle-color-scheme]", "click", function () { document.documentElement.classList.toggle("light"); localStorage.theme = "light"; }); }; window.onpageshow = function () { const elem = document.querySelector('[data-toggle-menu]'); if (elem) { elem.classList.remove('expanded'); } document.body.classList.remove('overflow-hidden'); document.getElementById('header')?.classList.remove('h-screen'); document.querySelector('#header nav')?.classList.add('hidden'); }; var gitalk = new Gitalk({ clientID: '518a605d711883414ac0', clientSecret: '69fb8ccc0616c5bcbc64d24ece0d06d279da91ff', repo: 'afoo.me.comments', owner: 'fujohnwang', admin: ['fujohnwang'], id: location.pathname.substring(0, 49), // Ensure uniqueness and length less than 50 distractionFreeMode: false // Facebook-like distraction free mode }) gitalk.render('comments') /* paste this line in verbatim */ window.formbutton=window.formbutton||function(){(formbutton.q=formbutton.q||[]).push(arguments)}; /* customize formbutton below*/ formbutton("create", { action: "https://formspree.io/f/xknlpkkd", title: "有什么可以帮到您?💕💕💕 How can I help you?", buttonImg: "", fields: [ { type: "email", label: "您的电子邮箱(方便与您联系):", name: "email", required: true, placeholder: "your@email.com" }, { type: "textarea", label: "您想提交的反馈和询问信息:", name: "message", placeholder: "What's on your mind?", }, { type: "submit" } ], styles: { title: { backgroundColor: "blue" }, button: { backgroundColor: "blue" } } }); // tooltips tippy('#aiedu', { content: "As to AI nowadays, LLM and Stable Diffusion are hot even hottest among them, If your want to both know-why and know-how with them, instead of only know-how which can't repeat itself, you should get you to https://ai.afoo.me right now ❗" });

2025/12/31
articleCard.readMore

“斩杀线”只反映了单侧单向…

“斩杀线”只反映了单侧单向… -王福强的个人博客:一个架构士的思考与沉淀 pre > code{ white-space: pre-wrap; font-family: monospace; font-size: 14px; /* border-left: blueviolet; border-left-width: thick; border-left-style: double; padding-left: 1rem !important; */ } .x-indicator{ display:none; } .htmx-request .x-indicator{ display:inline; } .htmx-request.x-indicator{ display:inline; } { "@context": "https://schema.org", "@type": "NewsArticle", "headline": "“斩杀线”只反映了单侧单向…", "image": [ "https://afoo.me/images/fb_subscribe.jpg" ], "datePublished": "2025-12-24", "author": [{ "@type": "Person", "name": "王福强", "url": "https://afoo.me" }] } 福强私学 福强AI学堂 架构百科 博客文章 创作出版 产品与服务 登录信息 更多链接 (adsbygoogle = window.adsbygoogle || []).push({}); (adsbygoogle = window.adsbygoogle || []).push({}); “斩杀线”只反映了单侧单向… 王福强 2025-12-24 (adsbygoogle = window.adsbygoogle || []).push({}); 这几天频繁看到一个词儿叫“斩杀线” 我还纳闷为啥呀? 这词儿啥意思呢? 我就随手问了下Grok, 它给我的回复是这样的: “斩杀线”是一个源于游戏的网络术语,主要有两种常见用法: 游戏原意(最常见的来源): 在各种游戏(如《魔兽世界》、《炉石传说》、《英雄联盟》(LOL)、《王者荣耀》、《DNF》等)中,指敌方单位(英雄、怪物、BOSS)的血量降到一个特定临界值时,可以被玩家的一套技能组合或特定大招瞬间击杀(秒杀)的血量阈值。 例如: 《英雄联盟》里,盖伦、诺手、派克等英雄的大招有百分比斩杀效果,当敌人血量低于一定比例时,就能直接处决。 《王者荣耀》里,召唤师技能“终结”(以前叫“斩杀”)造成已损失生命值14%的真实伤害,当敌人血量剩约12-13%时,就能用它收割。 玩家常说“进入斩杀线”意思是血量危险了,一不小心就被秒;高手会精确计算伤害,预判是否能一套带走对手。 这个词强调“一旦跨过这条线,就没悬念了,直接死”。 近期网络热梗延伸(尤其是2025年底在中国社交平台流行): 借用游戏概念,比喻现实生活(特别是美国社会)中,一个人的财务或生活状态到达某个临界点后,会触发连锁反应(如失业+大病+债务+失去住房),迅速从普通中产滑落到底层(破产、无家可归),几乎无法翻身。 常称为“美国斩杀线”或“中产斩杀线”,用来调侃或批评美国的社会保障薄弱、医疗昂贵、容错率低等问题。一旦“掉血”到这条线,就被“系统一套连招秒杀”。 原来就是下坠方向上不可逆的那个点(或者说线)啊… 但大家为啥只关注这个点和线呢? 其实全貌应该是“雪锦霜花”线啊,只有雪上加霜这个方向上到了那个点,才不可逆的,但大多数时候你还是可以在“雪锦霜花”之间颠倒颠啊! Never give up,bro~ (adsbygoogle = window.adsbygoogle || []).push({}); >>>>>> 更多阅读 <<<<<< “管理”这个东西… 行车记录 “Linkedin Search 「福强私学」来一个? 「福强私学」, 一部沉淀了个人成长、技术与架构、组织与管理以及商业上的方法与心法的百科全书。 福强老师的 AI 通识课 开天窗,拉认知,订阅「福报」,即刻拥有自己的全模态人工智能。 Copyright © 王福强个人版权所有 - Since 2004 (Everything is homebrewed with Pandoc and Markdown, little Scala also included.) // Set "light" theme as default if (!localStorage.theme) { localStorage.theme = "light"; } if ( localStorage.theme === 'dark' || (!('theme' in localStorage) && window.matchMedia('(prefers-color-scheme: dark)').matches) ) { document.documentElement.classList.add('dark'); } else { document.documentElement.classList.remove('dark'); } function attachEvent(selector, event, fn) { const matches = document.querySelectorAll(selector); if (matches && matches.length) { matches.forEach((elem) => { elem.addEventListener(event, () => fn(elem), false); }); } } window.onload = function () { attachEvent('[data-toggle-menu]', 'click', function (elem) { elem.classList.toggle('expanded'); document.body.classList.toggle('overflow-hidden'); document.getElementById('header')?.classList.toggle('h-screen'); document.querySelector('#header nav')?.classList.toggle('hidden'); }); attachEvent("[data-toggle-color-scheme]", "click", function () { document.documentElement.classList.toggle("light"); localStorage.theme = "light"; }); }; window.onpageshow = function () { const elem = document.querySelector('[data-toggle-menu]'); if (elem) { elem.classList.remove('expanded'); } document.body.classList.remove('overflow-hidden'); document.getElementById('header')?.classList.remove('h-screen'); document.querySelector('#header nav')?.classList.add('hidden'); }; var gitalk = new Gitalk({ clientID: '518a605d711883414ac0', clientSecret: '69fb8ccc0616c5bcbc64d24ece0d06d279da91ff', repo: 'afoo.me.comments', owner: 'fujohnwang', admin: ['fujohnwang'], id: location.pathname.substring(0, 49), // Ensure uniqueness and length less than 50 distractionFreeMode: false // Facebook-like distraction free mode }) gitalk.render('comments') /* paste this line in verbatim */ window.formbutton=window.formbutton||function(){(formbutton.q=formbutton.q||[]).push(arguments)}; /* customize formbutton below*/ formbutton("create", { action: "https://formspree.io/f/xknlpkkd", title: "有什么可以帮到您?💕💕💕 How can I help you?", buttonImg: "", fields: [ { type: "email", label: "您的电子邮箱(方便与您联系):", name: "email", required: true, placeholder: "your@email.com" }, { type: "textarea", label: "您想提交的反馈和询问信息:", name: "message", placeholder: "What's on your mind?", }, { type: "submit" } ], styles: { title: { backgroundColor: "blue" }, button: { backgroundColor: "blue" } } }); // tooltips tippy('#aiedu', { content: "As to AI nowadays, LLM and Stable Diffusion are hot even hottest among them, If your want to both know-why and know-how with them, instead of only know-how which can't repeat itself, you should get you to https://ai.afoo.me right now ❗" });

2025/12/24
articleCard.readMore

2025 年 AI 小结 与 2026 年 AI 展望

2025 年 AI 小结 与 2026 年 AI 展望 -王福强的个人博客:一个架构士的思考与沉淀 pre > code{ white-space: pre-wrap; font-family: monospace; font-size: 14px; /* border-left: blueviolet; border-left-width: thick; border-left-style: double; padding-left: 1rem !important; */ } .x-indicator{ display:none; } .htmx-request .x-indicator{ display:inline; } .htmx-request.x-indicator{ display:inline; } { "@context": "https://schema.org", "@type": "NewsArticle", "headline": "2025 年 AI 小结 与 2026 年 AI 展望", "image": [ "https://afoo.me/images/fb_subscribe.jpg" ], "datePublished": "2025-12-24", "author": [{ "@type": "Person", "name": "王福强", "url": "https://afoo.me" }] } 福强私学 福强AI学堂 架构百科 博客文章 创作出版 产品与服务 登录信息 更多链接 (adsbygoogle = window.adsbygoogle || []).push({}); (adsbygoogle = window.adsbygoogle || []).push({}); 2025 年 AI 小结 与 2026 年 AI 展望 王福强 2025-12-24 (adsbygoogle = window.adsbygoogle || []).push({}); 以下所有内容均福强老师个人观点,有失偏颇也好,胡说八道也罢,总之概不负责真假对错,各位看官自行甄别。 2025 年度重要 AI 概念 MCP 这个年度给某运营商全国CIO培训的时候提到过,我标注成非正常颜色只是因为我觉得这个是常识了。 Agent 嗯,都在喊Agent 元年,所以,Agent 肯定算是2025 年度概念。 从 Claude Skills 到 Agent Skills Skills这个概念之所以重要在于,它以 AI Agent 友好的方式提供了能力的“模块化”支持。这东西的重要性就算是传统软件研发也能理解,因为模块化、复用/重用、服务化、单元化…, 所有这些概念的本质,其实就是模块化。 开始只是 Claude 一家在自己的Agent里用并分享出来,后来各家企业纷纷采纳,所以,到今天,直接升级成了Agent Skills规范,这样,AI产业界就都可以从中受益了,互联互动,总是可以避免不必要的重复建设,让用户受益的。 相对于Agent,我更喜欢Skills这个年度概念,因为它更工程务实。 Context Engineering 这个概念也是2025年里一个重要的AI概念,相对于Prompting Engineering, Context Engineering已经从一个点扩展为去关注系统性的大模型curate策略和方案了。 而之所以前面说Skill是个好东西就在于,它其实就是Context Engineering这个大概念下的一个最佳实践。 Context Engineering如果算概念和口号,那Skill算最佳实践和落地举措。 当然,这个大概念下,也同样覆盖了 Memory 管理这些相关概念和举措。 生成式UI 咋说呢? 就是顺带一提吧,我觉得没(自)媒体吹的那么玄乎,响应的, 我也没觉得像A2UI这些概念有多好,用肯定会有人用,就跟菜系一样,不同人不同口味而已,我不感冒。 A2A和Multi Agent也属于我不感冒的一类, 它俩的出现也早于A2UI。 Vibe Everything 这个就有意思了, Vibe Everything 是我总结的 从Vibe Coding这个概念开始, 什么Vibe Workflow啦, Vibe Dashboard啦, Vibe UI啦(包含了Vibe Dashboard这类更具体的场景), 总之就是动动嘴,剩下的活儿交给AI干就行了。 尤其是下面会提到,巨头们在2025年争抢AI语音输入法这块阵地,也是为Vibe Everything争抢入口。 大模型 大模型继续酣战 海外亮眼的有: Claude家的Sonnet4.5/Opus4.5等 Open AI的GPT 5.2 Google家的Gemini3和Nana banana pro xAI的Grok4.1 还有一些周边厂家,比如Mistral还在继续参与游戏 国内亮眼的有: 阿里的Qwen3 字节的 GLM4.7, 主打一个对标claude家的代码模型第一名 Minimax的M2/M2.1 Kimi K2 小米也刚发布了Mimo flash, 我用它折腾了一天半的keenotes开发,怎么说呢,效果上跟claude家的代码模型还是有不少差距 AI Agent框架 这个其实没啥太大新意了,自己习惯什么、熟悉什么计算机语言就选相关的框架就好了。 比如你熟悉python,那老牌儿的langchain这些肯定ok 假如你熟悉java,那从Spring AI 到 langchain4j,甚至是Spring框架之父新搞的Embabel也值得一试(个人不喜欢,因为对annotation没啥好感,哈哈哈) AI Agent 平台 开源的: 老牌n8n值得信赖(新出了个致命的安全漏洞,记得升级哟) dify coze(从闭源到开源) 还有很多不同公司AI Agent平台,像google的gems, lovable, v0这些,都算。 其它 AI Agent 规范与实践 除了前面提到的Agent Skills,再提一个durable streams,大家可以看看 AI商业 反正各行各业都在拥抱AI,我也不是啥行业都熟悉,就简单罗列了些,大家随便看看吧: 里面投入精力最多是向量数据库,因为如果你关注我时间比较长,应该知道我写了个KVectors向量数据库,所以,过程中肯定不少精力耗费在向量数据库这个细分领域。 2026的 AI 会怎么样 说实话, 真不知道, 反正方向是没问题的。 且行且看吧~ (adsbygoogle = window.adsbygoogle || []).push({}); >>>>>> 更多阅读 <<<<<< Stable Diffusion系列第三部「ComfyUI从入门到精通」炽热上线啦~ When people meet something they don’t know at first time 原来章鱼才是最孤独的存在… 「福强私学」来一个? 「福强私学」, 一部沉淀了个人成长、技术与架构、组织与管理以及商业上的方法与心法的百科全书。 福强老师的 AI 通识课 开天窗,拉认知,订阅「福报」,即刻拥有自己的全模态人工智能。 Copyright © 王福强个人版权所有 - Since 2004 (Everything is homebrewed with Pandoc and Markdown, little Scala also included.) // Set "light" theme as default if (!localStorage.theme) { localStorage.theme = "light"; } if ( localStorage.theme === 'dark' || (!('theme' in localStorage) && window.matchMedia('(prefers-color-scheme: dark)').matches) ) { document.documentElement.classList.add('dark'); } else { document.documentElement.classList.remove('dark'); } function attachEvent(selector, event, fn) { const matches = document.querySelectorAll(selector); if (matches && matches.length) { matches.forEach((elem) => { elem.addEventListener(event, () => fn(elem), false); }); } } window.onload = function () { attachEvent('[data-toggle-menu]', 'click', function (elem) { elem.classList.toggle('expanded'); document.body.classList.toggle('overflow-hidden'); document.getElementById('header')?.classList.toggle('h-screen'); document.querySelector('#header nav')?.classList.toggle('hidden'); }); attachEvent("[data-toggle-color-scheme]", "click", function () { document.documentElement.classList.toggle("light"); localStorage.theme = "light"; }); }; window.onpageshow = function () { const elem = document.querySelector('[data-toggle-menu]'); if (elem) { elem.classList.remove('expanded'); } document.body.classList.remove('overflow-hidden'); document.getElementById('header')?.classList.remove('h-screen'); document.querySelector('#header nav')?.classList.add('hidden'); }; var gitalk = new Gitalk({ clientID: '518a605d711883414ac0', clientSecret: '69fb8ccc0616c5bcbc64d24ece0d06d279da91ff', repo: 'afoo.me.comments', owner: 'fujohnwang', admin: ['fujohnwang'], id: location.pathname.substring(0, 49), // Ensure uniqueness and length less than 50 distractionFreeMode: false // Facebook-like distraction free mode }) gitalk.render('comments') /* paste this line in verbatim */ window.formbutton=window.formbutton||function(){(formbutton.q=formbutton.q||[]).push(arguments)}; /* customize formbutton below*/ formbutton("create", { action: "https://formspree.io/f/xknlpkkd", title: "有什么可以帮到您?💕💕💕 How can I help you?", buttonImg: "", fields: [ { type: "email", label: "您的电子邮箱(方便与您联系):", name: "email", required: true, placeholder: "your@email.com" }, { type: "textarea", label: "您想提交的反馈和询问信息:", name: "message", placeholder: "What's on your mind?", }, { type: "submit" } ], styles: { title: { backgroundColor: "blue" }, button: { backgroundColor: "blue" } } }); // tooltips tippy('#aiedu', { content: "As to AI nowadays, LLM and Stable Diffusion are hot even hottest among them, If your want to both know-why and know-how with them, instead of only know-how which can't repeat itself, you should get you to https://ai.afoo.me right now ❗" });

2025/12/24
articleCard.readMore

M4芯片上跑了下KVectors向量数据库的性能测试,没想到…

M4芯片上跑了下KVectors向量数据库的性能测试,没想到… -王福强的个人博客:一个架构士的思考与沉淀 pre > code{ white-space: pre-wrap; font-family: monospace; font-size: 14px; /* border-left: blueviolet; border-left-width: thick; border-left-style: double; padding-left: 1rem !important; */ } .x-indicator{ display:none; } .htmx-request .x-indicator{ display:inline; } .htmx-request.x-indicator{ display:inline; } pre > code.sourceCode { white-space: pre; position: relative; } pre > code.sourceCode > span { line-height: 1.25; } pre > code.sourceCode > span:empty { height: 1.2em; } .sourceCode { overflow: visible; } code.sourceCode > span { color: inherit; text-decoration: inherit; } div.sourceCode { margin: 1em 0; } pre.sourceCode { margin: 0; } @media screen { div.sourceCode { overflow: auto; } } @media print { pre > code.sourceCode { white-space: pre-wrap; } pre > code.sourceCode > span { display: inline-block; text-indent: -5em; padding-left: 5em; } } pre.numberSource code { counter-reset: source-line 0; } pre.numberSource code > span { position: relative; left: -4em; counter-increment: source-line; } pre.numberSource code > span > a:first-child::before { content: counter(source-line); position: relative; left: -1em; text-align: right; vertical-align: baseline; border: none; display: inline-block; -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; padding: 0 4px; width: 4em; color: #aaaaaa; } pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa; padding-left: 4px; } div.sourceCode { } @media screen { pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; } } code span.al { color: #ff0000; font-weight: bold; } /* Alert */ code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } /* Annotation */ code span.at { color: #7d9029; } /* Attribute */ code span.bn { color: #40a070; } /* BaseN */ code span.bu { color: #008000; } /* BuiltIn */ code span.cf { color: #007020; font-weight: bold; } /* ControlFlow */ code span.ch { color: #4070a0; } /* Char */ code span.cn { color: #880000; } /* Constant */ code span.co { color: #60a0b0; font-style: italic; } /* Comment */ code span.cv { color: #60a0b0; font-weight: bold; font-style: italic; } /* CommentVar */ code span.do { color: #ba2121; font-style: italic; } /* Documentation */ code span.dt { color: #902000; } /* DataType */ code span.dv { color: #40a070; } /* DecVal */ code span.er { color: #ff0000; font-weight: bold; } /* Error */ code span.ex { } /* Extension */ code span.fl { color: #40a070; } /* Float */ code span.fu { color: #06287e; } /* Function */ code span.im { color: #008000; font-weight: bold; } /* Import */ code span.in { color: #60a0b0; font-weight: bold; font-style: italic; } /* Information */ code span.kw { color: #007020; font-weight: bold; } /* Keyword */ code span.op { color: #666666; } /* Operator */ code span.ot { color: #007020; } /* Other */ code span.pp { color: #bc7a00; } /* Preprocessor */ code span.sc { color: #4070a0; } /* SpecialChar */ code span.ss { color: #bb6688; } /* SpecialString */ code span.st { color: #4070a0; } /* String */ code span.va { color: #19177c; } /* Variable */ code span.vs { color: #4070a0; } /* VerbatimString */ code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warning */ { "@context": "https://schema.org", "@type": "NewsArticle", "headline": "M4芯片上跑了下KVectors向量数据库的性能测试,没想到…", "image": [ "https://afoo.me/images/fb_subscribe.jpg" ], "datePublished": "2025-12-02", "author": [{ "@type": "Person", "name": "王福强", "url": "https://afoo.me" }] } 福强私学 福强AI学堂 架构百科 博客文章 创作出版 产品与服务 登录信息 更多链接 (adsbygoogle = window.adsbygoogle || []).push({}); (adsbygoogle = window.adsbygoogle || []).push({}); M4芯片上跑了下KVectors向量数据库的性能测试,没想到… 王福强 2025-12-02 (adsbygoogle = window.adsbygoogle || []).push({}); 正好前阵子有哥们儿给了我台M4,就用它来跑下KVectors向量数据库的性能测试,预期肯定比我这老Intel款MBP强,但强到我看到这个结果还是好好数了下数字的个数🤣 search 10000 vectors in 4399 milli press any key to exit... 平均0.4毫秒 😆 (依然是基于100万向量的sift small数据集,从中查询10000条向量的相似向量) 不过这个性能结果还算符合预期啦,毕竟之前在老款Intel芯片的MBP上跑IVF_FLAT索引测试,结果也是1.1毫秒 ~ 1.3毫秒这个区间, M4再怎么样硬件性能上要好的多得多。 不过M4在IVF_RABITQ索引的向量集合测试上折戟了,我还不确定是为啥: => M4 上kvectors IVF_RABITQ性能测试 search 10000 vectors in 381487 milli // without indexing press any key to start to build index ... search 10000 vectors in 206182 milli press any key to exit... 为啥感觉性能还不如intel款的老MBP测试的性能?! 我记得之前是13毫秒左右,这个直接干到了20毫秒左右。 向量压缩后做ANNS反而慢了?! 可能百万级别不值得搞向量压缩和ANNS? 又或者我的RABITQ压缩算法还有很大的改进空间? Anyway,埋头拉磨的模式该休一休了,后面得多想想怎么让KVectors这款产品给客户创造价值,让客户愿意埋单 🤣 (adsbygoogle = window.adsbygoogle || []).push({}); >>>>>> 更多阅读 <<<<<< ChatGPT的宿命 你想成为什么样的人,是由这件事决定的… 初识Graal 「福强私学」来一个? 「福强私学」, 一部沉淀了个人成长、技术与架构、组织与管理以及商业上的方法与心法的百科全书。 福强老师的 AI 通识课 开天窗,拉认知,订阅「福报」,即刻拥有自己的全模态人工智能。 Copyright © 王福强个人版权所有 - Since 2004 (Everything is homebrewed with Pandoc and Markdown, little Scala also included.) // Set "light" theme as default if (!localStorage.theme) { localStorage.theme = "light"; } if ( localStorage.theme === 'dark' || (!('theme' in localStorage) && window.matchMedia('(prefers-color-scheme: dark)').matches) ) { document.documentElement.classList.add('dark'); } else { document.documentElement.classList.remove('dark'); } function attachEvent(selector, event, fn) { const matches = document.querySelectorAll(selector); if (matches && matches.length) { matches.forEach((elem) => { elem.addEventListener(event, () => fn(elem), false); }); } } window.onload = function () { attachEvent('[data-toggle-menu]', 'click', function (elem) { elem.classList.toggle('expanded'); document.body.classList.toggle('overflow-hidden'); document.getElementById('header')?.classList.toggle('h-screen'); document.querySelector('#header nav')?.classList.toggle('hidden'); }); attachEvent("[data-toggle-color-scheme]", "click", function () { document.documentElement.classList.toggle("light"); localStorage.theme = "light"; }); }; window.onpageshow = function () { const elem = document.querySelector('[data-toggle-menu]'); if (elem) { elem.classList.remove('expanded'); } document.body.classList.remove('overflow-hidden'); document.getElementById('header')?.classList.remove('h-screen'); document.querySelector('#header nav')?.classList.add('hidden'); }; var gitalk = new Gitalk({ clientID: '518a605d711883414ac0', clientSecret: '69fb8ccc0616c5bcbc64d24ece0d06d279da91ff', repo: 'afoo.me.comments', owner: 'fujohnwang', admin: ['fujohnwang'], id: location.pathname.substring(0, 49), // Ensure uniqueness and length less than 50 distractionFreeMode: false // Facebook-like distraction free mode }) gitalk.render('comments') /* paste this line in verbatim */ window.formbutton=window.formbutton||function(){(formbutton.q=formbutton.q||[]).push(arguments)}; /* customize formbutton below*/ formbutton("create", { action: "https://formspree.io/f/xknlpkkd", title: "有什么可以帮到您?💕💕💕 How can I help you?", buttonImg: "", fields: [ { type: "email", label: "您的电子邮箱(方便与您联系):", name: "email", required: true, placeholder: "your@email.com" }, { type: "textarea", label: "您想提交的反馈和询问信息:", name: "message", placeholder: "What's on your mind?", }, { type: "submit" } ], styles: { title: { backgroundColor: "blue" }, button: { backgroundColor: "blue" } } }); // tooltips tippy('#aiedu', { content: "As to AI nowadays, LLM and Stable Diffusion are hot even hottest among them, If your want to both know-why and know-how with them, instead of only know-how which can't repeat itself, you should get you to https://ai.afoo.me right now ❗" });

2025/12/2
articleCard.readMore