{ "version": "https://jsonfeed.org/version/1", "title": "Local LLM", "description": "\u8fd9\u4e2a\u8282\u70b9\u8ba8\u8bba\u5728\u672c\u5730\u7535\u8111\u6216\u8005\u5c40\u57df\u7f51\u91cc\u8fd0\u884c LLM\uff08\u5927\u8bed\u8a00\u6a21\u578b\uff09\u7684\u6280\u672f\u7ec6\u8282", "home_page_url": "go/localllm", "feed_url": "feed/localllm.json", "icon": "https://cdn.v2ex.com/navatar/c8ed/21db/722_large.png?m=1751736797", "favicon": "https://cdn.v2ex.com/navatar/c8ed/21db/722_normal.png?m=1751736797", "items": [ { "author": { "url": "member/davidyin", "name": "davidyin", "avatar": "https://cdn.v2ex.com/avatar/6dcb/35fd/43242_large.png?m=1768429019" }, "url": "t/1211566", "title": "\u60f3\u6298\u817e\u4e00\u4e2a AI \u4e3b\u673a\uff0c\u8bf7\u884c\u5bb6\u51fa\u624b", "id": "t/1211566", "date_published": "2026-05-09T17:02:50+00:00", "content_html": "\u6253\u7b97\u81ea\u7ec4\u4e00 AI \u4e3b\u673a\uff0c\u7528\u4e8e\u672c\u5730 llm \u3002 \u53ef\u7528\u4e8e kiro IDE \u7684\uff0cgitlab duo \u3002


\u53ef\u884c\u6027\u6709\u591a\u5927\uff0c\u80fd\u5426\u4ee3\u66ff\u8ba2\u9605\u7684\u90a3\u4e9b ai \u670d\u52a1\uff1f

\u914d\u7f6e\u6709\u6ca1\u6709\u63a8\u8350\u7684\uff0c\u5404 AI \u884c\u5bb6\u8bf7\u51fa\u624b\u76f8\u52a9\u3002" }, { "author": { "url": "member/KaiWuBOSS", "name": "KaiWuBOSS", "avatar": "https://cdn.v2ex.com/gravatar/243db3a31aa62a02d726471a3fd1782e?s=73&d=retro" }, "url": "t/1211391", "title": "\u9524\u5b50\u627e\u9489\u5b50\u7684\u9879\u76ee\u5206\u4eab\uff1a\u5047\u60f3\u4f01\u4e1a\u672c\u5730\u90e8\u7f72\u540e\u4e0d\u7528\u4eba\u5de5\u6d17\u5e93\u63a5\u5165 llm \u7684\u4e2d\u95f4\u5c42\u3002", "id": "t/1211391", "date_published": "2026-05-09T03:15:17+00:00", "content_html": "

\u9524\u5b50\u627e\u9489\u5b50\u7684\u9879\u76ee\u5206\u4eab\uff1a\u5047\u60f3\u4f01\u4e1a\u672c\u5730\u90e8\u7f72\u540e\u4e0d\u7528\u4eba\u5de5\u6d17\u5e93\u63a5\u5165 LLM \u7684\u4e2d\u95f4\u5c42

\n

\u6211\u95ee AI \uff0c\u4f01\u4e1a\u6570\u5b57\u5316\u5dee\u4ec0\u4e48\uff1f

\n

\u4ed6\u8bf4\u6700\u96be\u7684\u662f\u6570\u636e\u6e05\u6d17\uff0c\u5e93\u592a\u591a\uff0c\u6570\u636e\u5f55\u5165\u4e0d\u89c4\u8303\uff0c\u5b57\u6bb5\u547d\u540d\u4e71\u3002ai \u8981\u9760\u731c\u3002

\n

\u6240\u4ee5\u82b1\u4e86\u4e24\u5468\u5199\u4e86\u4e2a\u4e2d\u95f4\u5c42\uff0c\u60f3\u89e3\u51b3\"\u4f01\u4e1a\u591a\u4e2a\u6570\u636e\u5e93\u63a5 LLM \u65f6\u5b57\u6bb5\u4e71\u3001\u6743\u9650\u4e71\u3001\u53e3\u5f84\u4e71\"\u7684\u95ee\u9898\u3002\u5199\u4e86 7000 \u884c Python \u3001134 \u4e2a\u6d4b\u8bd5\u30013 \u4efd\u67b6\u6784 spec \u3002\u7136\u540e\u610f\u8bc6\u5230\uff1a\u6211\u6ca1\u6709\u7528\u6237\uff0c\u6ca1\u6709\u771f\u5b9e\u573a\u666f\u9a8c\u8bc1\uff0c\u53ef\u80fd\u4ece\u5934\u5230\u5c3e\u5728\u89e3\u51b3\u4e00\u4e2a\u6211\u60f3\u8c61\u51fa\u6765\u7684\u95ee\u9898\u3002

\n

\u53d1\u51fa\u6765\u7ed9\u5927\u5bb6\u770b\u770b\uff0c\u4e5f\u8bb8\u6709\u4eba\u771f\u9047\u5230\u8fc7\u8fd9\u4e2a\u75db\u70b9\uff0c\u4e5f\u8bb8\u5927\u5bb6\u5e2e\u6211\u786e\u8ba4\u8fd9\u5c31\u662f\u4e2a\u9524\u5b50\u627e\u9489\u5b50\u3002

\n
\n

\u60f3\u89e3\u51b3\u4ec0\u4e48\u95ee\u9898

\n

\u4f01\u4e1a\u5185\u90e8\u901a\u5e38\u6709\u597d\u51e0\u4e2a\u6570\u636e\u5e93\uff1a\u9500\u552e\u7528 MySQL \u3001\u8d22\u52a1\u7528 PostgreSQL \u3001HR \u7528 SQL Server \u3002\u73b0\u5728\u8001\u677f\u8bf4\u8981\u63a5 LLM \u8ba9\u4e1a\u52a1\u4eba\u5458\u81ea\u7136\u8bed\u8a00\u67e5\u6570\u636e\u3002

\n

\u76f4\u63a5\u63a5\u4f1a\u9047\u5230\u8fd9\u4e9b\u95ee\u9898\uff1a

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\u95ee\u9898\u4e3e\u4f8b
\u5b57\u6bb5\u540d\u65e0\u610f\u4e49aa\u5b57\u6bb5\u662f\u5355\u4ef7\uff0chj\u662f\u5408\u8ba1\uff0cLLM \u731c\u4e0d\u51fa\u6765
\u540c\u540d\u4e0d\u540c\u4e49\u9500\u552e\u5e93\u7684\"\u91d1\u989d\"\u662f\u56de\u6b3e\uff0c\u8d22\u52a1\u5e93\u7684\"\u91d1\u989d\"\u662f\u5f00\u7968
\u6743\u9650\u5931\u63a7\u9500\u552e\u5458\u80fd\u67e5\u5230\u6210\u672c\u548c\u5229\u6da6\u7387
\u6ca1\u6709 SQL \u5ba1\u67e5LLM \u751f\u6210\u7684 SQL \u53ef\u80fd DROP TABLE
\u654f\u611f\u6570\u636e\u88f8\u5954\u624b\u673a\u53f7\u8eab\u4efd\u8bc1\u660e\u6587\u8fd4\u56de

\u6211\u7684\u60f3\u6cd5\u662f\u5728\u6570\u636e\u5e93\u548c LLM \u4e4b\u95f4\u52a0\u4e00\u5c42\uff0c\u628a\u8fd9\u4e9b\u810f\u6d3b\u81ea\u52a8\u5316\uff1a

\n
\u4f01\u4e1a\u6570\u636e\u5e93\u7fa4\uff08 MySQL/PG/SQLite/Oracle/\u8fbe\u68a6\uff09\n \u2193\n\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n\u2502 KaiwuBridge \u2502\n\u2502 \u81ea\u52a8\u7406\u89e3\u5b57\u6bb5\u542b\u4e49\uff08\u4e0d\u7528\u4eba\u5de5\u6807\u6ce8\uff09 \u2502\n\u2502 \u6743\u9650\u63a7\u5236 + SQL \u5ba1\u67e5 + \u6570\u636e\u8131\u654f \u2502\n\u2502 \u8de8\u5e93\u5b57\u6bb5\u81ea\u52a8\u5bf9\u9f50 \u2502\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n \u2193\n\u4efb\u610f LLM \uff08\u672c\u5730 Ollama / DeepSeek / GPT \uff09\n
\n

\u6838\u5fc3\u5356\u70b9\u662f\u4e0d\u7528\u4eba\u5de5\u6d17\u5e93\u2014\u2014\u4f20\u7edf\u505a\u6cd5\u662f DBA \u82b1\u51e0\u5468\u7ed9\u6bcf\u4e2a\u5b57\u6bb5\u5199\u6ce8\u91ca\u3001\u5efa\u6570\u636e\u5b57\u5178\uff0c\u6211\u60f3\u7528 LLM+\u7edf\u8ba1\u65b9\u6cd5\u81ea\u52a8\u641e\u5b9a\u3002

\n
\n

\u5b9e\u73b0\u4e86\u4ec0\u4e48

\n

1. \u81ea\u52a8\u7406\u89e3\u5b57\u6bb5\u542b\u4e49\uff08\u56fe\u4f20\u64ad\u65b9\u6848\uff09

\n

\u4e0d\u662f\u7b80\u5355\u8ba9 LLM \u770b\u5b57\u6bb5\u540d\u731c\u542b\u4e49\uff0c\u800c\u662f\uff1a

\n
    \n
  1. \u6570\u636e\u753b\u50cf\uff1a\u7edf\u8ba1\u6bcf\u4e2a\u5b57\u6bb5\u7684\u5206\u5e03\u3001\u7a7a\u503c\u7387\u3001\u552f\u4e00\u503c\u6bd4\u4f8b
  2. \n
  3. \u4ee3\u6570\u5173\u7cfb\u68c0\u6d4b\uff1a\u81ea\u52a8\u53d1\u73b0 \u5355\u4ef7 \u00d7 \u6570\u91cf \u2248 \u5408\u8ba1 \u8fd9\u79cd\u5173\u7cfb
  4. \n
  5. \u5efa\u56fe\uff1a\u628a\u5b57\u6bb5\u3001\u5916\u952e\u3001\u4ee3\u6570\u5173\u7cfb\u5efa\u6210\u4e00\u5f20\u4f9d\u8d56\u56fe
  6. \n
  7. \u56fe\u4f20\u64ad\uff1aLLM \u5728\u56fe\u4e0a\u8fed\u4ee3 3-5 \u8f6e\uff0c\u6bcf\u8f6e\u770b\u90bb\u5c45\u5b57\u6bb5\u7684\u63cf\u8ff0\u6765\u4fee\u6b63\u81ea\u5df1\u7684\u7406\u89e3
  8. \n
\n

\u8fd9\u6837\u5373\u4f7f\u5b57\u6bb5\u540d\u662faa\uff0c\u7cfb\u7edf\u4e5f\u80fd\u901a\u8fc7\"aa \u00d7 \u6574\u6570\u5b57\u6bb5 \u2248 hj\"\u63a8\u65ad\u51fa aa \u662f\u5355\u4ef7\u3002

\n

\u7075\u611f\u6765\u81ea 2026 \u5e74 3 \u6708\u7684 DBAutoDoc \u8bba\u6587\uff0c\u6838\u5fc3\u601d\u60f3\u662f schema \u7406\u89e3\u672c\u8d28\u4e0a\u662f\u56fe\u7ed3\u6784\u95ee\u9898\u3002

\n

2. \u4e03\u5c42\u5b89\u5168\u9632\u7ebf

\n
\u7269\u7406\u5c42\uff08\u53ea\u8bfb\u8d26\u53f7\uff09\u2192 SQL \u767d\u540d\u5355\uff08\u53ea\u5141\u8bb8 SELECT \uff09\u2192 \u6ce8\u91ca\u7ed5\u8fc7\u9632\u62a4 \u2192\n\u5b57\u6bb5\u7ea7\u6743\u9650\uff08 LLM \u770b\u4e0d\u5230=\u67e5\u4e0d\u5230\uff09\u2192 \u884c\u7ea7\u8fc7\u6ee4 RLAC \uff08\u534e\u4e1c\u5458\u5de5\u53ea\u770b\u534e\u4e1c\u6570\u636e\uff09\u2192\n\u6570\u636e\u8131\u654f\uff08\u624b\u673a\u53f7\u81ea\u52a8\u6253\u7801\uff09\u2192 \u52a8\u6001\u8131\u654f\uff08\u6309\u89d2\u8272\u8fd4\u56de\u4e0d\u540c\u7cbe\u5ea6\uff09\n
\n

3. \u89e3\u8026\u67b6\u6784\uff08\u4e09\u4e2a\u63a5\u53e3\uff09

\n
GET /v1/context \u2014 Agent \u83b7\u53d6 schema+\u6743\u9650+\u6620\u5c04+\u6b67\u4e49\u4fe1\u53f7\nPOST /v1/execute \u2014 Agent \u63d0\u4ea4 SQL \uff0c\u4e2d\u95f4\u5c42\u8d1f\u8d23\u5b89\u5168\u68c0\u67e5+\u6267\u884c+\u8131\u654f\nPOST /v1/chat/completions \u2014 OpenAI \u517c\u5bb9\u63a5\u53e3\uff08\u517c\u5bb9\u5c42\uff09\n
\n

Agent \u5c42\u548c\u6570\u636e\u5c42\u5f7b\u5e95\u5206\u79bb\u3002Agent \u53ea\u7ba1\u751f\u6210 SQL \uff0c\u4e2d\u95f4\u5c42\u53ea\u7ba1\u5b89\u5168\u6267\u884c\u3002

\n

4. \u8de8\u5e93\u5b57\u6bb5\u81ea\u52a8\u5bf9\u9f50

\n\n

5. \u544a\u8b66\u8fc7\u6ee4

\n

\u540c\u4e00\u4e2a\u9519\u8bef\u77ed\u65f6\u95f4\u5185\u53cd\u590d\u51fa\u73b0\u4e14\u4ece\u672a\u6210\u529f \u2192 \u81ea\u52a8\u538b\u5236\uff0c\u4e0d\u6253\u6270\u7528\u6237\u3002\u7ba1\u7406\u5458\u53ef\u4ee5\u770b\u5230\"\u50f5\u5c38\u89c4\u5219\"\u5217\u8868\u3002

\n

6. Schema Linking \uff08 LLM \u8def\u7531\uff09

\n

\u4f01\u4e1a\u53ef\u80fd\u6709\u51e0\u5341\u5f20\u8868\u3001\u51e0\u767e\u4e2a\u5b57\u6bb5\uff0c\u4e0d\u53ef\u80fd\u5168\u585e\u7ed9 LLM \u3002\u9700\u8981\u6839\u636e\u7528\u6237\u95ee\u9898\u7cbe\u51c6\u5b9a\u4f4d\u5230\u76f8\u5173\u7684 2-3 \u5f20\u8868\u3002

\n

\u505a\u6cd5\u53c2\u8003\u4e86 SchemaGraphSQL \uff08 ACL ARR 2025 \uff09\uff1a

\n
    \n
  1. \u5efa\u56fe\uff1a\u628a\u6240\u6709\u8868\u4f5c\u4e3a\u8282\u70b9\uff0c\u5916\u952e\u5173\u7cfb+\u8de8\u5e93\u6620\u5c04\u4f5c\u4e3a\u8fb9
  2. \n
  3. LLM \u5b9e\u4f53\u63d0\u53d6\uff1a\u4e00\u6b21\u8c03\u7528\u4ece\u95ee\u9898\u4e2d\u63d0\u53d6\u5173\u952e\u5b9e\u4f53\uff0c\u6620\u5c04\u5230\u76f8\u5173\u8868
  4. \n
  5. BFS \u6269\u5c55\uff1a\u5728\u56fe\u4e0a\u4ece\u76f8\u5173\u8868\u51fa\u53d1\u8d70 2 \u8df3\uff0c\u628a JOIN \u9700\u8981\u7684\u5173\u8054\u8868\u4e5f\u5e26\u4e0a
  6. \n
  7. \u7cbe\u9009\u5b50\u96c6\uff1a\u6700\u591a\u7ed9 LLM \u770b 5 \u5f20\u8868\u7684 schema \uff0c\u800c\u4e0d\u662f\u5168\u91cf\u51e0\u5341\u5f20
  8. \n
\n

\u8fd9\u6837 LLM \u751f\u6210 SQL \u65f6\u53ea\u770b\u5230\u7cbe\u9009\u7684\u3001\u548c\u95ee\u9898\u76f8\u5173\u7684\u8868\uff0c\u4e0d\u4f1a\u88ab\u65e0\u5173\u8868\u5e72\u6270\uff0c\u751f\u6210\u51c6\u786e\u7387\u663e\u8457\u63d0\u5347\u3002

\n

\u96f6\u6837\u672c\u3001\u4e0d\u9700\u8981 embedding \u6a21\u578b\u3001\u4e0d\u9700\u8981\u8bad\u7ec3\u3002\u4e00\u6b21 LLM \u8c03\u7528\u641e\u5b9a\u8def\u7531\u3002

\n
\n

\u529f\u80fd\u5168\u666f\uff08\u7ecf\u8fc7\u51e0\u6b21\u8fed\u4ee3\u540e\u7684\u5f53\u524d\u72b6\u6001\uff09

\n

\u4ece\u6700\u521d\u53ea\u6709\"\u8fde\u6570\u636e\u5e93+\u8c03 LLM\"\uff0c\u5230\u73b0\u5728\u585e\u4e86\u4e00\u5806\u529f\u80fd\u3002\u7528\u4e00\u5f20\u8868\u8bf4\u6e05\u695a\u6bcf\u4e2a\u6a21\u5757\u5e72\u4ec0\u4e48\uff1a

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\u529f\u80fd\u6a21\u5757\u89e3\u51b3\u4ec0\u4e48\u95ee\u9898\u4ec0\u4e48\u573a\u666f\u7528\u539f\u7406/\u6280\u672f
\u6570\u636e\u753b\u50cf (profiler.py)\u5b57\u6bb5\u540d\u65e0\u610f\u4e49\u65f6\u65e0\u6cd5\u7406\u89e3\u6570\u636escan \u65f6\u81ea\u52a8\u8fd0\u884c\uff0c\u7ed9\u6bcf\u4e2a\u5b57\u6bb5\u5efa\u7edf\u8ba1\u6863\u6848\u7a7a\u503c\u7387/\u552f\u4e00\u503c\u6bd4\u4f8b/\u6570\u503c\u5206\u5e03/\u9ad8\u9891\u503c\u91c7\u6837
\u4ee3\u6570\u5173\u7cfb\u68c0\u6d4b (profiler.py)aa\u00d7bb\u2248cc\u8fd9\u79cd\u9690\u542b\u4e1a\u52a1\u5173\u7cfb\u4eba\u770b\u4e0d\u51fa\u6765\u540c\u8868\u5185\u6570\u503c\u5b57\u6bb5\u4e09\u5143\u7ec4\u679a\u4e3enumpy \u5411\u91cf\u5316\u8ba1\u7b97\uff0c5%\u8bef\u5dee\u5bb9\u5fcd\u5ea6
\u56fe\u4f20\u64ad\u5f15\u64ce (graph_propagation.py)\u5355\u770b\u4e00\u4e2a\u5b57\u6bb5\u731c\u4e0d\u51fa\u542b\u4e49\uff0c\u9700\u8981\u4e0a\u4e0b\u6587scan --semantic \u65f6\u66ff\u4ee3\u9010\u5b57\u6bb5 LLM \u751f\u6210\u5efa\u4f9d\u8d56\u56fe\u2192LLM \u8fed\u4ee3 3-5 \u8f6e\u2192\u90bb\u5c45\u63cf\u8ff0\u4f5c\u4e3a context \u7cbe\u5316
Schema Linking \u8def\u7531 (schema_graph.py)\u51e0\u5341\u5f20\u8868\u4e0d\u80fd\u5168\u585e\u7ed9 LLM\u6bcf\u6b21\u7528\u6237\u63d0\u95ee\u65f6\u81ea\u52a8\u89e6\u53d1\u5916\u952e\u56fe+LLM \u5b9e\u4f53\u63d0\u53d6+BFS 2 \u8df3\u6269\u5c55\uff0c\u7cbe\u9009\u22645 \u5f20\u8868
\u8de8\u5e93\u8bed\u4e49\u5339\u914d (matching.py)\u4e0d\u540c\u5e93\u7684\"\u91d1\u989d\"\u53ef\u80fd\u662f\u4e0d\u540c\u6982\u5ff5scan \u540e\u81ea\u52a8\u4e24\u4e24\u5339\u914d\uff0c\u751f\u6210 pending \u6620\u5c04bge-m3 embedding + Wasserstein \u5206\u5e03\u8ddd\u79bb
\u4e3b\u52a8\u5b66\u4e60 (matching.py RuleExtractor)\u4eba\u5de5\u5ba1\u6838\u6548\u7387\u4f4e\uff0c\u4e0d\u77e5\u9053\u5148\u5ba1\u54ea\u4e2a\u7ba1\u7406\u754c\u9762\u5c55\u793a\u5f85\u5ba1\u6838\u6620\u5c04\u65f6\u6392\u5e8f\u4f18\u5148\u63a8\u9001\u7f6e\u4fe1\u5ea6 0.6-0.8 \u7684\u6848\u4f8b\uff08\u4fe1\u606f\u4ef7\u503c\u6700\u9ad8\uff09
SQL \u767d\u540d\u5355\u5ba1\u67e5 (security.py)LLM \u53ef\u80fd\u751f\u6210 DROP TABLE\u6bcf\u6b21\u6267\u884c SQL \u524d\u5f3a\u5236\u68c0\u67e5sqlparse \u8bed\u6cd5\u6811\u5206\u6790\uff0c\u53ea\u653e\u884c SELECT/WITH
\u5b57\u6bb5\u7ea7\u6743\u9650 (permissions.py)\u9500\u552e\u5458\u4e0d\u8be5\u770b\u5230\u6210\u672c\u5b57\u6bb5schema \u53d1\u7ed9 LLM \u524d\u8fc7\u6ee4\u914d\u7f6e denied_columns \uff0c\u7269\u7406\u79fb\u9664\u5b57\u6bb5
\u884c\u7ea7\u8fc7\u6ee4 RLAC (executor.py)\u534e\u4e1c\u5458\u5de5\u53ea\u80fd\u770b\u534e\u4e1c\u6570\u636eSQL \u6267\u884c\u65f6 CTE \u5b50\u67e5\u8be2\u5305\u88c5\u6ce8\u5165 WHERE\u4e0d\u4f9d\u8d56 LLM\"\u81ea\u89c9\"\uff0c\u6267\u884c\u5c42\u5f3a\u5236\u6ce8\u5165
\u6570\u636e\u8131\u654f (security.py + executor.py)\u624b\u673a\u53f7\u8eab\u4efd\u8bc1\u4e0d\u80fd\u660e\u6587\u8fd4\u56de\u7ed3\u679c\u8fd4\u56de\u524d\u81ea\u52a8\u5904\u7406\u6b63\u5219\u6253\u7801 + \u6309\u89d2\u8272\u52a8\u6001\u7cbe\u5ea6\uff08 full/partial/round \uff09
\u544a\u8b66\u8fc7\u6ee4 (alert_filter.py)\u540c\u4e00\u4e2a\u9519\u8bef\u53cd\u590d\u5f39\u51fa\u70e6\u6b7b\u4eba\u517c\u5bb9\u5c42\u6267\u884c\u5931\u8d25\u65f6\u5224\u65ad\u6ed1\u52a8\u7a97\u53e3\u9891\u7387\u7edf\u8ba1\uff0c\u22655 \u6b21\u4e14 0 \u6210\u529f\u2192\u538b\u5236
\u6b67\u4e49\u68c0\u6d4b (server.py)\"\u9500\u552e\u989d\"\u5728\u4e24\u4e2a\u5e93\u90fd\u6709\uff0c\u7528\u54ea\u4e2a\uff1f/v1/context \u63a5\u53e3\u8fd4\u56de\u6b67\u4e49\u4fe1\u53f7\u8bed\u4e49\u540d\u7247\u5339\u914d+\u591a\u5e93\u6765\u6e90\u68c0\u6d4b\uff0c\u542b confidence
\u6570\u636e\u65b0\u9c9c\u5ea6 (executor.py)\u67e5\u5230\u7684\u6570\u636e\u53ef\u80fd\u662f\u4e0a\u5468\u7684\u6267\u884c\u6210\u529f\u540e\u9644\u52a0\u63d0\u793a\u67e5 MAX(updated_at)\uff0c\u8d85 24 \u5c0f\u65f6\u8b66\u544a
\u6620\u5c04\u5bfc\u5165\u5bfc\u51fa (admin.py)DBA \u60f3\u5728 Excel \u91cc\u6279\u91cf\u7ef4\u62a4\u6620\u5c04\u5173\u7cfb\u7ba1\u7406\u540e\u53f0 CSV \u4e0a\u4f20\u4e0b\u8f7dCSV \u89e3\u6790 + LLM \u9a8c\u8bc1\u5c42\uff08\u68c0\u67e5\u660e\u663e\u9519\u8bef\uff09
\u6301\u7eed\u5b66\u4e60 (admin.py + matching.py)\u7528\u6237\u53cd\u9988\u5e94\u8be5\u8ba9\u7cfb\u7edf\u8d8a\u6765\u8d8a\u51c6confirm/reject \u6620\u5c04\u65f6\u81ea\u52a8\u89e6\u53d1\u8d1d\u53f6\u65af\u66f4\u65b0\u9608\u503c + \u89c4\u5219\u63d0\u53d6\uff08\u4e0d\u53ea\u662f\u8c03\u53c2\uff09
\u89e3\u8026\u63a5\u53e3 (server.py)Agent \u5c42\u548c\u6570\u636e\u5c42\u8026\u5408\u5728\u4e00\u8d77\u4e0d\u597d\u6269\u5c55Agent \u81ea\u5df1\u751f\u6210 SQL \u65f6\u7528 context+executeREST \u5206\u79bb\uff1acontext \u53ea\u7ed9\u6570\u636e\uff0cexecute \u53ea\u7ba1\u6267\u884c

\u4e00\u5171 22 \u4e2a Python \u6a21\u5757\uff0c7015 \u884c\u4ee3\u7801\u3002\u8bf4\u5b9e\u8bdd\u5199\u5230\u540e\u9762\u81ea\u5df1\u90fd\u89c9\u5f97\u529f\u80fd\u5806\u592a\u591a\u4e86\u3002

\n
\n

\u6d4b\u8bd5\u548c\u7ed3\u679c

\n

\u4ee3\u6570\u5173\u7cfb\u68c0\u6d4b

\n

\u7528 100 \u884c\u6a21\u62df\u8ba2\u5355\u6570\u636e\u6d4b\u8bd5\uff1a

\n\n

\u8bed\u4e49\u5339\u914d\u57fa\u7ebf\uff08\u8bda\u5b9e\u62a5\u544a\uff09

\n

\u7528 10 \u5bf9\u624b\u5de5\u6807\u6ce8\u7684\u8de8\u5e93\u5b57\u6bb5\u5bf9\u6d4b\u8bd5\uff1a

\n\n

\u8fd9\u4e2a 0%\u662f\u9884\u671f\u7684\u2014\u2014\u8bc1\u660e\u4e86\u56fe\u4f20\u64ad\u5c42\u7684\u5fc5\u8981\u6027\u3002\u88f8\u5b57\u6bb5\u540dsales_amount\u548crevenue\u7684 embedding \u76f8\u4f3c\u5ea6\u53ea\u6709 0.67 \uff0c\u4f4e\u4e8e 0.85 \u9608\u503c\u3002\u9700\u8981\u56fe\u4f20\u64ad\u5148\u751f\u6210\u4e2d\u6587\u63cf\u8ff0\uff08\"\u6bcf\u7b14\u8ba2\u5355\u7684\u542b\u7a0e\u9500\u552e\u91d1\u989d\"\uff09\uff0c\u518d\u505a\u5339\u914d\u624d\u6709\u610f\u4e49\u3002

\n

\u4f46\u6211\u8fd8\u6ca1\u6709\u5728\u771f\u5b9e\u6570\u636e\u5e93\u4e0a\u8dd1\u8fc7\u5b8c\u6574\u6d41\u6c34\u7ebf\u3002

\n

\u5b89\u5168\u6d4b\u8bd5

\n

65 \u4e2a\u5b89\u5168\u6d4b\u8bd5\u8986\u76d6\uff1aSQL \u6ce8\u5165\uff08\u542b\u6ce8\u91ca\u7ed5\u8fc7\uff09\u3001JWT \u4f2a\u9020\u3001\u8d8a\u6743\u8bbf\u95ee\u3001\u9891\u7387\u9650\u5236\u3001\u6570\u636e\u8131\u654f\u3002\u5168\u90e8\u901a\u8fc7\u3002

\n

\u603b\u8ba1

\n
134 passed, 0 failed, 21 warnings\n
\n
\n

\u6280\u672f\u6808

\n\n

\u5168\u90e8\u4f9d\u8d56 Apache 2.0 / MIT / BSD \uff0c\u53ef\u5546\u7528\u3002

\n
\n

\u4e3a\u4ec0\u4e48\u8bf4\u662f\u9524\u5b50\u627e\u9489\u5b50

\n

\u5199\u5b8c\u4e4b\u540e\u51b7\u9759\u4e0b\u6765\u60f3\u4e86\u51e0\u4e2a\u95ee\u9898\uff1a

\n

1. \u8c01\u662f\u7528\u6237\uff1f

\n

\u6211\u5047\u60f3\u7684\u573a\u666f\u662f\"\u4e2d\u578b\u4f01\u4e1a\uff0c\u6709 3-5 \u4e2a\u4e1a\u52a1\u6570\u636e\u5e93\uff0c\u60f3\u8ba9\u4e1a\u52a1\u4eba\u5458\u81ea\u7136\u8bed\u8a00\u67e5\u6570\u636e\"\u3002\u4f46\u6211\u6ca1\u6709\u627e\u5230\u4e00\u4e2a\u5177\u4f53\u7684\u4f01\u4e1a\u8bf4\"\u6211\u9700\u8981\u8fd9\u4e2a\"\u3002

\n

2. \u771f\u5b9e\u573a\u666f\u4e0b\u8fd9\u4e2a\u95ee\u9898\u5b58\u5728\u5417\uff1f

\n

\u4e5f\u8bb8\u5b58\u5728\uff0c\u4f46\u89e3\u51b3\u65b9\u6848\u53ef\u80fd\u4e0d\u662f\u6211\u60f3\u7684\u8fd9\u6837\uff1a

\n\n

3. \"\u4e0d\u7528\u4eba\u5de5\u6d17\u5e93\"\u8fd9\u4e2a\u5356\u70b9\u6210\u7acb\u5417\uff1f

\n

\u56fe\u4f20\u64ad\u65b9\u6848\u7406\u8bba\u4e0a\u80fd\u81ea\u52a8\u7406\u89e3\u5b57\u6bb5\u542b\u4e49\uff0c\u4f46\uff1a

\n\n

4. \u8fc7\u5ea6\u5de5\u7a0b\u4e86\u5417\uff1f

\n

7000 \u884c\u4ee3\u7801\u3001\u56fe\u4f20\u64ad\u3001\u4e3b\u52a8\u5b66\u4e60\u3001\u544a\u8b66\u8fc7\u6ee4\u3001\u52a8\u6001\u8131\u654f\u2026\u2026\u5982\u679c\u7b2c\u4e00\u4e2a\u7528\u6237\u53ea\u9700\u8981\"\u8fde MySQL + \u6743\u9650\u63a7\u5236 + \u8c03 DeepSeek\"\uff0c\u90a3 90%\u7684\u4ee3\u7801\u90fd\u662f\u63d0\u524d\u4f18\u5316\u3002

\n
\n

\u5982\u679c\u4f60\u9047\u5230\u8fc7\u8fd9\u4e2a\u95ee\u9898

\n

\u60f3\u542c\u542c\u5927\u5bb6\u7684\u770b\u6cd5\uff1a

\n
    \n
  1. \u662f\u6211\u60f3\u7684\u8fd9\u4e48\u7b80\u5355\u4e48\u6570\u5b57\u5316\u843d\u5730?LLM + \u4f18\u5316\u5c42 \u8ba1\u5165\u6570\u636e\u5e93\uff0c\u5c31 AI \u843d\u5730\u4e48\uff1f
  2. \n
  3. \u771f\u5b9e\u4f01\u4e1a\u6570\u5b57\u5316\u843d\u5730\u6700\u96be\u653b\u514b\u4ec0\u4e48\uff1f
  4. \n
  5. \u8fd9\u4e2a\u65b9\u5411\u503c\u5f97\u7ee7\u7eed\u505a\u5417\uff1f\u8fd8\u662f\u5e94\u8be5 pivot \u6210\u66f4\u5177\u4f53\u7684\u4e1c\u897f\uff08\u6bd4\u5982\u53ea\u505a SQL \u5b89\u5168\u5ba1\u67e5\u5c42\uff09\uff1f
  6. \n
\n

\u4ee3\u7801\u5728\u672c\u5730\uff0c\u5982\u679c\u6709\u4eba\u611f\u5174\u8da3\u53ef\u4ee5\u5f00\u6e90\u3002\u4e5f\u6b22\u8fce\u76f4\u63a5\u544a\u8bc9\u6211\u8fd9\u662f\u4e2a\u4f2a\u9700\u6c42\uff0c\u7701\u5f97\u6211\u7ee7\u7eed\u5f80\u91cc\u9762\u6295\u65f6\u95f4\u3002

\n
\n

\u53c2\u8003\u7684\u8bba\u6587\u548c\u5f00\u6e90\u9879\u76ee

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\u6765\u6e90\u7528\u5728\u54ea\u600e\u4e48\u7528\u7684
SchemaGraphSQL (ACL ARR 2025)Schema Linking \u8def\u7531\u6838\u5fc3\u601d\u60f3\uff1a\u7528\u5916\u952e\u5173\u7cfb\u56fe+LLM \u5b9e\u4f53\u63d0\u53d6+BFS \u8def\u5f84\u641c\u7d22\u505a schema linking \uff0c\u96f6\u6837\u672c\u4e0d\u9700\u8981\u8bad\u7ec3\u3002\u6211\u76f4\u63a5\u5b9e\u73b0\u4e86\u8fd9\u4e2a\u65b9\u6848
DBAutoDoc (2026.03)\u56fe\u4f20\u64ad\u5f15\u64ce\u6838\u5fc3\u601d\u60f3\uff1aschema \u7406\u89e3\u662f\u56fe\u7ed3\u6784\u95ee\u9898\uff0c\u901a\u8fc7\u4f9d\u8d56\u56fe\u8fed\u4ee3\u4f20\u64ad\u8bed\u4e49\u4fee\u6b63\u76f4\u5230\u6536\u655b\u3002\u6211\u7b80\u5316\u4e86\u5b9e\u73b0\uff0c\u6ca1\u7528\u539f\u6587\u7684 GNN \uff0c\u76f4\u63a5 LLM \u8fed\u4ee3
LLM-FK (2025)\u5916\u952e\u53d1\u73b0\u601d\u8def\u4e09 agent \u534f\u4f5c\uff08 Interpreter/Refiner/Verifier \uff09\u7684\u601d\u8def\u542f\u53d1\u4e86\u6211\u7684\u7ea6\u675f\u53d1\u73b0\u8bbe\u8ba1\uff0c\u4f46\u6211\u6ca1\u5b9e\u73b0\u591a agent \uff0c\u53ea\u7528\u4e86\u7edf\u8ba1\u65b9\u6cd5
Valentine\u8de8\u5e93\u5339\u914d baselineschema matching \u7684\u5f00\u6e90 benchmark \uff0c\u53c2\u8003\u4e86\u5b83\u7684\u8bc4\u4f30\u65b9\u6cd5\u8bba\uff08 precision/recall on labeled pairs \uff09
ALITE\u7ea6\u675f\u53d1\u73b0\u7528\u6570\u636e\u5206\u6790\u53d1\u73b0\u51fd\u6570\u4f9d\u8d56\u548c\u5305\u542b\u4f9d\u8d56\u7684\u601d\u8def\uff0c\u6211\u7b80\u5316\u6210\u4e86\u4ee3\u6570\u5173\u7cfb\u68c0\u6d4b\uff08 A\u00d7B\u2248C \uff09
sentence-transformersembedding \u8ba1\u7b97\u76f4\u63a5\u7528\u7684 bge-m3 \u6a21\u578b\u505a\u5b57\u6bb5\u8bed\u4e49\u5411\u91cf\u5316
FastAPIWeb \u6846\u67b6OpenAI \u517c\u5bb9\u63a5\u53e3
SQLAlchemy\u6570\u636e\u5e93\u8fde\u63a5\u591a\u6570\u636e\u5e93\u7edf\u4e00\u9002\u914d\u5c42
sqlparseSQL \u5b89\u5168\u5ba1\u67e5\u8bed\u6cd5\u6811\u5206\u6790\uff0c\u767d\u540d\u5355\u9a8c\u8bc1\uff0c\u8868\u540d\u63d0\u53d6

\u90e8\u5206\u8bba\u6587 ai \u641c\u7684\uff0c\uff0c\uff0c\uff0c\n\u8bf4\u5b9e\u8bdd\uff0c\u8bba\u6587\u8bfb\u4e86\u4e0d\u5c11\uff0c\u4f46\u771f\u6b63\u843d\u5730\u65f6\u5927\u5e45\u7b80\u5316\u4e86\u3002DBAutoDoc \u539f\u6587\u7528\u7684\u662f GNN \u505a\u56fe\u4f20\u64ad\uff0c\u6211\u76f4\u63a5\u7528 LLM \u8fed\u4ee3\u66ff\u4ee3\u4e86\uff08\u56e0\u4e3a\u76ee\u6807\u573a\u666f\u662f\u4f01\u4e1a\u5185\u90e8\u51e0\u5341\u5f20\u8868\uff0c\u4e0d\u662f\u51e0\u5343\u5f20\u8868\u7684\u5b66\u672f benchmark \uff0cLLM \u8fed\u4ee3 3-5 \u8f6e\u5b8c\u5168\u591f\u7528\uff09\u3002

\n
\n

\u6280\u672f\u7ec6\u8282\uff1aPython 3.12 / FastAPI / SQLAlchemy / bge-m3 / \u56fe\u4f20\u64ad\u67b6\u6784 / 134 \u6d4b\u8bd5\u5168\u7eff

\n

\u9644\u4ed3\u5e93\uff08\u4e3a\u4e86\u907f\u514d\u8bf4\u63a8\u5e7f\u4ed3\u5e93\u7684\uff0c\u6240\u4ee5\u653e\u6700\u540e\uff09\uff1a\nhttps://github.com/val1813/kwb

\n" }, { "author": { "url": "member/Livid", "name": "Livid", "avatar": "https://cdn.v2ex.com/avatar/c4ca/4238/1_large.png?m=1778546420" }, "url": "t/1210644", "date_modified": "2026-05-06T10:39:09+00:00", "content_html": "https://ollama.com/library/gemma4:31b-coding-mtp-bf16

\u672c\u5730\u90e8\u7f72\u7684\u65f6\u5019\uff0cBest Practices \u90e8\u5206\u6709\u4e00\u4e9b\u6709\u7528\u4fe1\u606f\u3002", "date_published": "2026-05-06T10:38:59+00:00", "title": "gemma4:31b-coding-mtp-bf16", "id": "t/1210644" }, { "author": { "url": "member/linxiaojialin", "name": "linxiaojialin", "avatar": "https://cdn.v2ex.com/avatar/e295/16ba/288578_large.png?m=1533403565" }, "url": "t/1210478", "date_modified": "2026-05-09T05:34:03+00:00", "content_html": "

\u60f3\u6362\u4e2a\u65b0\u7684\u53f0\u5f0f\u7535\u8111\uff0c\u5e73\u5e38\u5f00\u53d1\u7528\u7684\uff0c\u5076\u5c14\u6253\u6e38\u620f\uff0c\u60f3\u7a7a\u95f2\u65f6\u95f4\u80fd\u591f\u672c\u5730\u8bad\u7ec3 AI \uff0c\u8bf7\u95ee\u5927\u5bb6\u6709\u63a8\u8350\u7684\u914d\u7f6e\u6e05\u5355\u5417\uff1f\u6709\u6807\u8bb0\u4ef7\u683c\u5c31\u66f4\u597d\u4e86

\n", "date_published": "2026-05-06T03:23:32+00:00", "title": "\u6709\u9002\u5408\u672c\u5730\u8dd1\u8bad\u7ec3 AI \u7684\u7535\u8111\u914d\u7f6e\u5417\uff1f", "id": "t/1210478" }, { "author": { "url": "member/babymonster", "name": "babymonster", "avatar": "https://cdn.v2ex.com/avatar/a37b/761f/743705_large.png?m=1777516327" }, "url": "t/1210410", "title": "\u90fd 2026 \u5e74\u4e86\uff0c\u4e3a\u4ec0\u4e48\u8fd8\u6709\u4eba\u89c9\u5f97 AMD \u6bd4 Nvidia \u66f4\u9002\u5408\u90e8\u7f72\u672c\u5730\u5927\u6a21\u578b\uff1f", "id": "t/1210410", "date_published": "2026-05-06T01:16:58+00:00", "content_html": "\u4e94\u4e00\u8282\u5047\u65e5\u671f\u95f4\uff0c\u6709\u4e00\u4e2a\u540c\u4e8b\u60f3\u672c\u5730\u90e8\u7f72\u5927\u6a21\u578b\uff0c\u5728\u7fa4\u91cc\u8be2\u95ee\uff0c\u6211\u4eec\u90fd\u7ed9\u4ed6\u63a8\u8350\u4e86 Nvidia \u7684\u5361\uff0c\u7ed3\u679c\u4ed6\u53bb\u5237 B \u7ad9\uff0c\u9009\u62e9\u4e86 AMD AI MAX+ 395 \u3002

\u96be\u9053\u5c0f\u767d\u771f\u7684\u5c31\u8fd9\u6837\u88ab\u5272\u97ed\u83dc\u5417\uff1f" }, { "author": { "url": "member/zsj1029", "name": "zsj1029", "avatar": "https://cdn.v2ex.com/avatar/38a0/9f4d/189266_large.png?m=1777977403" }, "url": "t/1210290", "title": "LiteChat \u8f7b\u91cf\u7ea7\u672c\u5730\u5927\u6a21\u578b\u804a\u5929 WebUI\uff0c\u652f\u6301 vLLM", "id": "t/1210290", "date_published": "2026-05-05T05:26:23+00:00", "content_html": "https://github.com/zsj1029/LiteChat

\u4f01\u4e1a\u5185\u90e8\u573a\u666f\u9002\u7528\uff0c\u4ece llama-cpp \u7684 webui \u6252\u51fa\u6765\u7684\uff0c\u672c\u5730\u6539\u9020\u4e86\u4e0b\u652f\u6301 vllm

\u5168\u7a0b Qwen3.6 27B (vLLM), Claude Vscode \u6539\u9020" }, { "author": { "url": "member/SzgSw5zGyN1iy", "name": "SzgSw5zGyN1iy", "avatar": "https://cdn.v2ex.com/gravatar/20a36637a8fa71a4f8095b77e39308ed?s=73&d=retro" }, "url": "t/1210145", "title": "DGX Spark\u3001ASUS GX10\u3001MSI EdgeXpert \u770b\u8d77\u6765\u90fd\u50cf\u662f\u4e00\u4e2a\u6bcd\u80ce\u7684\u4ea7\u54c1\uff0c\u7528\u8d77\u6765\u6709\u5dee\u522b\u5417\uff1f", "id": "t/1210145", "date_published": "2026-05-03T15:15:04+00:00", "content_html": "

Spark \u6700\u8d35\uff0c\u548c\u540e\u4e24\u8005\u4ef7\u94b1\u6709\u70b9\u513f\u533a\u522b\uff0c\u4e0d\u8fc7\u770b\u8d77\u6765\u90fd\u50cf\u662f\u540c\u4e00\u4e2a\u65b9\u6848\uff0c\u53ea\u662f\u516c\u7248\u548c\u5404\u5bb6\u81ea\u5df1\u724c\u5b50\u7684\u533a\u522b\u800c\u5df2\uff1f

\n\n" }, { "author": { "url": "member/Hermitist", "name": "Hermitist", "avatar": "https://cdn.v2ex.com/gravatar/da6c1e355f86d79cd2887cb34a3c864e?s=73&d=retro" }, "url": "t/1210041", "date_modified": "2026-05-03T03:50:51+00:00", "content_html": "https://tps.bunai.cc/ranking?gpu=apple_m5_32g&ic=nvlink5", "date_published": "2026-05-02T22:04:03+00:00", "title": "\u63a8\u8350\u4e00\u4e2a GPU \u63a8\u7406\u901f\u5ea6\u8ba1\u7b97\u5668, \u53ef\u80fd\u65b9\u4fbf\u4e70\u914d\u4ef6\u81ea\u5efa\u672c\u5730\u5927\u6a21\u578b\u7684\u4eba\u7528\u4e0a", "id": "t/1210041" }, { "author": { "url": "member/stefwoo", "name": "stefwoo", "avatar": "https://cdn.v2ex.com/gravatar/3235f0cda8845c15590a7b5de5c89f10?s=73&d=retro" }, "url": "t/1210011", "title": "github \u770b\u5230\u4e00\u4e2a\u9879\u76ee\uff0c 3090 \u8dd1 27B\uff0c 129tps\uff0c\u6700\u9ad8 207tps", "id": "t/1210011", "date_published": "2026-05-02T13:05:12+00:00", "content_html": "

https://github.com/Luce-Org/lucebox-hub

\n

DFlash DDtree Qwen3.5 & Qwen3.6 27B GGUF on RTX 3090\nFirst GGUF port of DFlash speculative decoding. Qwen3.5-27B on a single RTX 3090, Q4_K_M target + BF16 draft, DDTree budget=22.

\n

Up to 207 tok/s in the demo (207.6 tok/s DFlash vs 38.0 tok/s AR, 5.46\u00d7)\n129.5 tok/s mean on the HumanEval 10-prompt bench\n3.43\u00d7 faster than autoregressive (+15% over chain speculative decoding)\n2.8\u00d7 faster than SGLang AWQ on the same hardware\nUp to 256K context in 24 GB via TurboQuant TQ3_0 KV cache (128K Q4_0 bench: 134.78 tok/s at ctx=131072)

\n

PFlash speculative prefill on RTX 3090\nIn-process speculative prefill, C++/CUDA only. A drafter (Qwen3-0.6B BF16) loaded directly into the dflash daemon scores per-token importance over a long prompt; the heavy target (Qwen3.6-27B Q4_K_M) only prefills the spans that matter. Both models share the same ggml allocator on a single RTX 3090. No Python, no Triton, no PyTorch at runtime \u2014 just the dflash binary and four custom CUDA kernels (mean_K \u2192 score \u2192 select \u2192 sparse_fwd) plus BSA (mit-han-lab/Block-Sparse-Attention, FA-2 derived, sm_80+) for the long-context drafter forward.

\n

~10.4\u00d7 TTFT on 128K context: 24.8 s dflash daemon vs ~257 s llama.cpp (FA on, Q4_0 KV).\n10.0\u00d7 TTFT on 64K context: 13.5 s dflash vs 134.95 s llama.cpp.\nNIAH single-needle retrieved at every measured context (32K \u2192 128K), keep_ratio=0.05, DFLASH_FP_ALPHA=0.85.

\n" }, { "author": { "url": "member/ken2025", "name": "ken2025", "avatar": "https://cdn.v2ex.com/gravatar/ea474030c4b6eba9d5fee409e34a152b?s=73&d=retro" }, "url": "t/1209904", "date_modified": "2026-05-01T22:53:55+00:00", "content_html": "", "date_published": "2026-05-01T14:31:22+00:00", "title": "\u8bf7\u95ee\u5404\u4f4d\u5927\u795e\uff0c\u5728\u9694\u79bb\u73af\u5883\u4e2d\uff0c\u6709\u672c\u5730 qwen \u5927\u6a21\u578b\uff0c\u6709\u6ca1\u4ec0\u4e48\u89e3\u51b3\u65b9\u6848\uff0c\u505a\u672c\u5730\u7684\u77e5\u8bc6\u5e93\u7684\u65b9\u6848\uff0c\u7c7b\u4f3c\u8c37\u6b4c\u90a3\u4e2a notebooklm \uff0c\u4e5f\u52c9\u5f3a\u53ef\u4ee5\uff1f", "id": "t/1209904" }, { "author": { "url": "member/alangz", "name": "alangz", "avatar": "https://cdn.v2ex.com/gravatar/5e4292e3b311398ca05de583f2fb3526?s=73&d=retro" }, "url": "t/1209674", "title": "\u6709\u4e00\u53f0 16 \u5bf8 m1max 64g+1T \u6ee1 GPU \u7684 MacBook Pro \u9002\u5408\u90e8\u7f72\u54ea\u4e2a\u672c\u5730\u6a21\u578b", "id": "t/1209674", "date_published": "2026-04-30T07:49:02+00:00", "content_html": "

\u914d\u7f6e\u4e3a m1max 64g+1T \uff0c\u6700\u8fd1\u641e\u4e86\u4e2a\u5c0f\u5c0f\u9f99\u867e\uff0c\u6d88\u8017\u7684 token \u592a\u5feb\u4e86\uff0c\u6253\u7b97\u90e8\u7f72\u5404\u672c\u5730\u6a21\u578b\uff0c\u4e00\u6765\u4e86\u89e3\u4e86\u89e3\uff0c\u800c\u6765\u662f\u60f3\u505a\u4e0b\u7b80\u5355\u7684\u7ffb\u8bd1\u3001\u6587\u6863\u5904\u7406\u7684\u5de5\u4f5c\u3002\u80fd\u6709\u5408\u9002\u7684\u672c\u5730\u6a21\u578b\u5417\uff1f

\n" }, { "author": { "url": "member/babymonster", "name": "babymonster", "avatar": "https://cdn.v2ex.com/avatar/a37b/761f/743705_large.png?m=1777516327" }, "url": "t/1209582", "title": "\u79c1\u6709\u5316\u90e8\u7f72\u5927\u6a21\u578b\u7684\u201c\u7ec8\u70b9\u201d\u662f Mac \u8fd8\u662f Nvidia\uff1f", "id": "t/1209582", "date_published": "2026-04-30T02:34:14+00:00", "content_html": "\u81ea\u5df1\u5bb6\u91cc\u7684 5070Ti \u8dd1\u6a21\u578b\u8d77\u6765\u592a\u8d39\u52b2\u4e86\uff0c\u7528\u4e86\u4e00\u4e0b\u540c\u4e8b\u7684 macbook \u9876\u914d\u7248\u8dd1\u6a21\u578b\u6bd4 5070Ti \u8981\u5f3a\u4e00\u70b9\u70b9\uff0c\u611f\u89c9\u90fd\u5dee\u4e0d\u591a\uff0c\u6240\u4ee5\u5927\u4f6c\u53ef\u4ee5\u6307\u70b9\u4e0b\u6709\u6ca1\u6709\u5fc5\u8981\u641e\u4e00\u4e2a Mac studio \u8fd8\u662f Nvidia thor \u6216\u8005 DGX Spark" }, { "author": { "url": "member/babymonster", "name": "babymonster", "avatar": "https://cdn.v2ex.com/avatar/a37b/761f/743705_large.png?m=1777516327" }, "url": "t/1209353", "date_modified": "2026-04-29T07:48:44+00:00", "content_html": "

\u5404\u4f4d\u5927\u4f6c\u4eec\uff0c\u6211\u81ea\u5df1\u7535\u8111\u914d\u7f6e\u4e5f\u633a\u9ad8 9800x3d+5070ti,\u4f46\u662f\u81ea\u5df1\u73a9\u5927\u6a21\u578b\u611f\u89c9\u7b97\u529b\u4e0d\u591f\uff0c\u8f93\u51fa\u901f\u5ea6\u597d\u6162\uff0c\u6709\u6ca1\u6709\u5927\u4f6c\u63a8\u8350\u4e00\u4e0b\u4ec0\u4e48\u663e\u5361\u73a9\u5927\u6a21\u578b\u7b97\u529b\u8231\u8fd8\u6bd4\u8f83\u4e0d\u9519\u7684

\n", "date_published": "2026-04-29T05:33:08+00:00", "title": "\u6211\u81ea\u5df1\u7684\u7535\u8111\u662f 5070Ti\uff0c\u603b\u611f\u89c9\u8dd1\u4e00\u4e9b\u6a21\u578b\u7b97\u529b\u4e0d\u591f", "id": "t/1209353" }, { "author": { "url": "member/KaiWuBOSS", "name": "KaiWuBOSS", "avatar": "https://cdn.v2ex.com/gravatar/243db3a31aa62a02d726471a3fd1782e?s=73&d=retro" }, "url": "t/1209195", "title": "\u80fd\u4e00\u8d77\u7ed9\u672c\u5730\u90e8\u7f72\u7684\u5f00\u6e90\u6a21\u578b\u505a\u4e2a\u9002\u914d\u7684 coding agent \u5417\uff1f\u6211\u618b\u4e86\u53e3\u6c14", "id": "t/1209195", "date_published": "2026-04-28T13:24:51+00:00", "content_html": "

\u6211\u505a\u4e86\u4e00\u4e2a\u4e13\u95e8\u4e3a\u672c\u5730\u5f00\u6e90\u6a21\u578b\u4f18\u5316\u7684 Coding Agent \uff0c\u5e0c\u671b\u66f4\u591a\u534e\u4eba\u5f00\u53d1\u8005\u4e00\u8d77\u6765\u641e

\n
\n

\u672c\u8d34\u53d1\u5e03\u7684\u76ee\u7684\u4e0d\u662f\u63a8\u4ea7\u54c1\uff0c\u4e0d\u662f\u70ab\u6280\uff0c\u800c\u662f\u60f3\u626c\u7709\u5410\u6c14\u2014\u2014\u548c\u534e\u4eba\u5f00\u53d1\u8005\u4e00\u8d77\uff0c\u548c\u5f00\u6e90\u6a21\u578b\u672c\u5730\u90e8\u7f72\u5f00\u53d1\u8005\u4e00\u8d77\uff0c\u505a\u4e00\u4ef6\u6211\u4eec\u81ea\u5df1\u7684\u4e8b\u3002

\n
\n
\n

\u4e00\u3001\u6211\u9047\u5230\u4e86\u4ec0\u4e48\u95ee\u9898

\n

\u53bb\u5e74\u5f00\u59cb\u7528\u672c\u5730\u6a21\u578b\u505a\u7f16\u7a0b\u8f85\u52a9\u3002\u539f\u56e0\u5f88\u7b80\u5355\uff1a\u516c\u53f8\u4ee3\u7801\u4e0d\u80fd\u4f20\u5230\u6d77\u5916\u670d\u52a1\u5668\uff0cClaude Code \u548c Cursor \u8d70\u4e0d\u901a\u3002

\n

\u4f46\u66f4\u5927\u7684\u95ee\u9898\u662f\uff1a\u4e2d\u56fd\u5f00\u53d1\u8005\u6839\u672c\u6ca1\u6709\u4e00\u4e2a\u597d\u7528\u7684\u672c\u5730 coding agent \u5e73\u53f0\u3002

\n

CC \u9700\u8981\u7ffb\u5899\uff0c\u8fd8\u8981\u8ba2\u9605\u3002Cursor \u540c\u6837\u3002Codex \u521a\u51fa\u6765\u4e5f\u662f\u6d77\u5916\u670d\u52a1\u3002Hermes \u8fd9\u7c7b\u5f00\u6e90\u5de5\u5177\u4e0d\u652f\u6301 Windows \u539f\u751f\u8fd0\u884c\uff0c\u8981\u88c5 WSL2 \uff0c\u529d\u9000\u4e86\u5927\u591a\u6570\u56fd\u5185\u5f00\u53d1\u8005\u3002\u6700\u540e\u5927\u5bb6\u7684\u9009\u62e9\u662f\uff1a\u8981\u4e48\u7ffb\u5899\u51d1\u5408\u7528\uff0c\u8981\u4e48\u5fcd\u7740\u4e0d\u7528\u3002

\n

\u8fd9\u662f\u4e00\u4e2a\u771f\u5b9e\u5b58\u5728\u7684\u7a7a\u7f3a\uff0c\u6ca1\u6709\u4eba\u586b\u3002

\n

\u672c\u5730\u8dd1 qwen3:8b \uff0c\u7136\u540e\u53d1\u73b0\u95ee\u9898\u4e00\u4e2a\u63a5\u4e00\u4e2a\uff1a

\n

\ud83d\udd34 \u65e0\u9650\u5faa\u73af\uff0c\u50cf\u5361\u5e26\u4e00\u6837

\n

\u8fd9\u662f\u672c\u5730\u5c0f\u6a21\u578b\u6700\u8ba9\u4eba\u6293\u72c2\u7684\u95ee\u9898\u3002\u9047\u5230\u5b83\u4e0d\u4f1a\u5904\u7406\u7684\u573a\u666f\uff0c\u5b83\u4e0d\u4f1a\u8bf4\"\u6211\u4e0d\u77e5\u9053\"\uff0c\u800c\u662f\u5f00\u59cb\u91cd\u590d\u2014\u2014\u540c\u4e00\u53e5\u8bdd\u8bf4\u4e09\u904d\uff0c\u540c\u4e00\u4e2a\u9519\u8bef\u7684\u4fee\u6539\u5efa\u8bae\u5faa\u73af\u51fa\u73b0\uff0c\u540c\u4e00\u6bb5\u4ee3\u7801\u53cd\u590d\u751f\u6210\u3002\u6574\u4e2a\u4efb\u52a1\u5361\u6b7b\uff0c\u53ea\u80fd\u624b\u52a8\u5f3a\u5236\u9000\u51fa\u3002\u8fd9\u4e0d\u662f\u5076\u53d1\u73b0\u8c61\uff0c\u662f\u5c0f\u6a21\u578b\u5728\u63a8\u7406\u80fd\u529b\u4e0d\u8db3\u65f6\u7684\u5178\u578b\u5d29\u6e83\u6a21\u5f0f\u3002

\n

\ud83d\udd34 \u4fee bug \u53cd\u590d\u8e29\u540c\u4e00\u4e2a\u5751

\n

\u8ba9\u5b83\u4fee\u4e00\u4e2a\u51fd\u6570\uff0c\u7b2c\u4e00\u6b21\u5931\u8d25\uff0c\u7b2c\u4e8c\u6b21\u7528\u5b8c\u5168\u4e00\u6837\u7684\u65b9\u5f0f\u518d\u8bd5\uff0c\u7b2c\u4e09\u6b21\u4f9d\u7136\u3002\u4e09\u6b21\u673a\u4f1a\u5168\u6d6a\u8d39\u5728\u540c\u4e00\u4e2a\u9519\u8bef\u4e0a\uff0c\u4ec0\u4e48\u90fd\u6ca1\u63a8\u8fdb\u3002

\n

\ud83d\udd34 \u6a21\u578b\u80fd\u529b\u672c\u8eab\u5c31\u5f31\u4e8e API \u6a21\u578b

\n

\u8fd9\u662f\u65e0\u6cd5\u56de\u907f\u7684\u73b0\u5b9e\u30028B \u300114B \u7684\u53c2\u6570\u91cf\uff0c\u63a8\u7406\u80fd\u529b\u548c Claude Opus \u3001GPT-4 \u5dee\u8ddd\u660e\u663e\u3002\u8ba9\u4e00\u4e2a 8B \u6a21\u578b\u625b\u4e0b\u4e00\u4e2a\u590d\u6742\u4efb\u52a1\u7684\u5168\u90e8\u63a8\u7406\uff0c\u6210\u529f\u7387\u5f88\u4f4e\uff0c\u8fd9\u4e0d\u662f\u54ea\u4e2a\u5de5\u5177\u7684\u95ee\u9898\uff0c\u662f\u6a21\u578b\u672c\u8eab\u7684\u8fb9\u754c\u3002

\n

\ud83d\udd34 \u627e\u4e0d\u5230\u8981\u6539\u7684\u6587\u4ef6

\n

\u9879\u76ee\u5927\u4e86\u4e4b\u540e\uff0c\u6a21\u578b\u6839\u672c\u4e0d\u77e5\u9053\u8981\u6539\u54ea\u4e2a\u6587\u4ef6\u3002\u8ba9\u5b83\u627e bug \uff0c\u5b83\u8981\u4e48\u731c\u9519\uff0c\u8981\u4e48\u8bf4\"\u6211\u9700\u8981\u770b\u66f4\u591a\u4ee3\u7801\"\uff0c\u7136\u540e\u628a\u6574\u4e2a\u9879\u76ee\u585e\u8fdb context \uff0c\u7136\u540e context \u53c8\u7206\u4e86\u3002

\n

\ud83d\udd34 \u5bf9\u8bdd\u51e0\u8f6e\u5c31\u5f00\u59cb\u9057\u5fd8

\n

8B \u6a21\u578b context \u7a97\u53e3\u53ea\u6709 8K \uff0c\u5bf9\u8bdd\u591a\u4e86\u5c31\u6ee1\u4e86\uff0c\u6a21\u578b\u5f00\u59cb\u7ed9\u51fa\u9a74\u5507\u4e0d\u5bf9\u9a6c\u5634\u7684\u56de\u7b54\u3002

\n
\n

\u8fd9\u4e9b\u95ee\u9898\u53e0\u5728\u4e00\u8d77\uff0c\u7528\u672c\u5730\u6a21\u578b\u505a\u5f00\u53d1\u8f85\u52a9\u7684\u4f53\u9a8c\u6781\u5dee\u3002

\n

\u6240\u4ee5\u6211\u60f3\u81ea\u5df1\u505a\u4e00\u4e2a\u4ea7\u54c1\u6765\u8dd1\u3002\u6709\u4eba\u5c31\u4f1a\u8bf4\uff1a\u4e3a\u4ec0\u4e48\u4e0d\u76f4\u63a5\u7528 ollama + cc \uff1f\u8fd8\u53cb\u60c5\u6307\u5bfc\u6211\u547d\u4ee4\u3002

\n

\u54ce\u3002

\n

\u5927\u5382\u7684\u4ea7\u54c1\u53ea\u4f1a\u4e3a\u5b83\u7684\u5546\u4e1a\u6a21\u5f0f\u670d\u52a1\u3002ollama \u653e\u5f03\u4e86\u53c2\u6570\u5fae\u8c03\u6765\u6362\u53d6\u7a33\u5b9a\uff0clm \u8ba9\u5f00\u53d1\u8005\u7ea0\u7ed3\u4ec0\u4e48\u662f\u6700\u4f18\uff0cCC/Codex/Cursor \u90fd\u662f\u5356 token \uff0c\u6ca1\u6709\u4eba\u4f1a\u771f\u7684\u8ba4\u771f\u60f3\u672c\u5730\u90e8\u7f72\u7f3a\u4ec0\u4e48\uff0c\u9700\u8981\u4f18\u5316\u4ec0\u4e48\uff0c\u8bb0\u5fc6\u600e\u4e48\u4f18\u5316\uff0c\u4e0a\u4e0b\u6587\u600e\u4e48\u538b\u7f29\uff0c\u5c0f\u53c2\u6570\u600e\u4e48\u8f85\u52a9\u3002

\n

\u4f46\u6211\u4eba\u5fae\u8a00\u8f7b\uff0c\u6240\u4ee5\u6211\u505a\u4e86\u4e2a MVP \u60f3\u629b\u7816\u5f15\u7389\u3002\u6211\u4eec\u53ef\u4ee5\u4e00\u8d77\u628a\u8981\u4f18\u5316\u7684\u90fd\u4f18\u5316\u4e86\uff0c\u6253\u9020\u6211\u4eec\u81ea\u5df1\u7684\u4ea7\u54c1\u3002

\n

\u6709\u4eba\u4e5f\u8bf4\uff0c\u6211\u80fd\u529b\u4e0d\u591f\u3002

\n

\u90a3\u6211\u7684\u601d\u8def\u662f\uff1a\u4e0d\u591f\u5c31\u505a\u6574\u5408\uff0c\u591f\u4e86\u5c31\u505a\u7a81\u7834\u3002

\n

\u6240\u4ee5\u6211\u505a\u4e86 KWCode \uff0c\u4e0d\u662f\u4e3a\u4e86\u5546\u4e1a\u5316\uff0cMIT \u4efb\u4f55\u4eba\u90fd\u80fd\u62ff\u8d70\uff0c\u53ea\u5e0c\u671b\u54ea\u4e2a\u611f\u5174\u8da3\u7684\u5927\u795e\uff0c\u613f\u610f\u548c\u6211\u6216\u8005\u548c\u6240\u6709\u5f00\u53d1\u8005\u4e00\u8d77\u628a\u5b83\u5b9e\u73b0\u5e76\u5f00\u6e90\uff0c\u7ed9\u6240\u6709\u88ab\u672c\u5730\u90e8\u7f72\u8188\u5e94\u7684\u5b9d\u5b50\u4eec\u3002

\n
\n

\u4e8c\u3001\u6211\u7528\u4e86\u54ea\u4e9b\u601d\u8def

\n

\u601d\u8def\u4e00\uff1aMoE \u67b6\u6784\u2014\u2014\u8ba9 LLM \u53ea\u505a\u5b83\u64c5\u957f\u7684\u90a3\u4e00\u6b65

\n

\u8fd9\u662f KWCode \u6700\u6838\u5fc3\u7684\u8bbe\u8ba1\u51b3\u7b56\uff0c\u4e5f\u662f\u89e3\u51b3\u4e0a\u9762\u6240\u6709\u95ee\u9898\u7684\u6839\u672c\u601d\u8def\u3002

\n

\u4f20\u7edf coding agent \u7684\u67b6\u6784\u662f\uff1a\u4e00\u4e2a LLM \u625b\u5168\u90e8\u2014\u2014\u7406\u89e3\u9700\u6c42\u3001\u5b9a\u4f4d\u4ee3\u7801\u3001\u751f\u6210\u4fee\u6539\u3001\u9a8c\u8bc1\u7ed3\u679c\uff0c\u5168\u8ba9\u540c\u4e00\u4e2a\u6a21\u578b\u505a\u3002\u5f3a\u6a21\u578b\u80fd\u625b\uff0c\u5c0f\u6a21\u578b\u625b\u4e0d\u4f4f\uff0c\u7136\u540e\u5c31\u5f00\u59cb\u5faa\u73af\u3001\u5e7b\u89c9\u3001\u4e71\u8bf4\u3002

\n

KWCode \u7528\u7684\u662f MoE \uff08 Mixture of Experts \uff09\u67b6\u6784\uff1a\u628a\u4efb\u52a1\u5207\u788e\uff0c\u6bcf\u4e2a\u4e13\u5bb6\u53ea\u505a\u4e00\u4ef6\u4e8b\uff0cLLM \u53ea\u8d1f\u8d23 Gate \u5206\u7c7b\u548c\u5185\u5bb9\u751f\u6210\uff0c\u5176\u4ed6\u6b65\u9aa4\u80fd\u4e0d\u8c03 LLM \u5c31\u4e0d\u8c03\u3002

\n
\u7528\u6237\u8f93\u5165\n \u2514\u2500\u25ba Gate \uff08 LLM \u505a\u4e00\u6b21\u5206\u7c7b\uff0c\u5224\u65ad\u4efb\u52a1\u7c7b\u578b\uff09\n \u2514\u2500\u25ba Locator \uff08 BM25 + \u8c03\u7528\u56fe\uff0c\u4e0d\u8c03 LLM \uff0c\u6beb\u79d2\u7ea7\u5b9a\u4f4d\u6587\u4ef6\u548c\u51fd\u6570\uff09\n \u2514\u2500\u25ba Generator \uff08 LLM \u53ea\u5199\u9700\u8981\u4fee\u6539\u7684\u90a3\u51e0\u884c\u4ee3\u7801\uff09\n \u2514\u2500\u25ba Verifier \uff08\u81ea\u52a8\u8dd1\u8bed\u6cd5\u68c0\u67e5 + pytest \uff0c\u4e0d\u8c03 LLM \uff09\n \u2514\u2500\u25ba SearchAugmentor \uff08\u4e24\u6b21\u5931\u8d25\u540e\u81ea\u52a8\u641c\u7d22\uff09\n
\n

LLM \u5728\u8fd9\u6761\u6d41\u6c34\u7ebf\u91cc\u7684\u4efb\u52a1\u88ab\u538b\u5230\u4e86\u6700\u5c0f\uff1aGate \u505a\u4e00\u6b21\u5206\u7c7b\uff0cGenerator \u751f\u6210\u51e0\u884c\u4ee3\u7801\u3002\u5b9a\u4f4d\u6587\u4ef6\u3001\u9a8c\u8bc1\u7ed3\u679c\u8fd9\u4e24\u4ef6\u6700\u8017\u63a8\u7406\u80fd\u529b\u7684\u4e8b\uff0c\u5b8c\u5168\u4e0d\u8ba9 LLM \u505a\u3002

\n
\n

\u53c2\u8003\uff1aAgentless \u8bba\u6587\uff08 ICSE 2025 \uff09\u2014\u2014\u786e\u5b9a\u6027\u6d41\u6c34\u7ebf\u5728 SWE-bench \u4e0a\u540c\u65f6\u8fbe\u5230\u6700\u9ad8\u901a\u8fc7\u7387\u548c\u6700\u4f4e\u6210\u672c\uff0c\u4f18\u4e8e\u8ba9 LLM \u81ea\u4e3b\u51b3\u7b56\u7684\u590d\u6742 agent \u3002\u539f\u56e0\u5f88\u7b80\u5355\uff1a\u6bcf\u4e00\u6b65 scope \u6781\u5c0f\uff0c\u5c0f\u6a21\u578b\u5728\u5c0f scope \u91cc\u8868\u73b0\u7a33\u5b9a\u3002

\n
\n
\n

\u601d\u8def\u4e8c\uff1a\u7528\u8c03\u7528\u56fe\u5b9a\u4f4d\u4ee3\u7801\uff0c\u4e0d\u9760 LLM \u731c

\n

\u4ee3\u7801\u5b9a\u4f4d\u662f\u5c0f\u6a21\u578b\u6700\u5bb9\u6613\u5931\u8d25\u7684\u6b65\u9aa4\uff0c\u628a\u5b83\u4ece LLM \u624b\u91cc\u62ff\u8d70\uff0c\u6362\u6210\u786e\u5b9a\u6027\u7b97\u6cd5\u3002

\n

CodeCompass \uff08 arXiv:2602.20048 \uff0c2026 \u5e74\uff09\u505a\u4e86 258 \u6b21\u5b9e\u9a8c\uff0c\u53d1\u73b0\u4e86\u4e00\u4e2a\u5173\u952e\u7ed3\u8bba\uff1a

\n
\n

\u771f\u5b9e\u9879\u76ee\u91cc\uff0c\u5f88\u591a bug \u7684\u6839\u56e0\u6587\u4ef6\u540d\u548c\u9519\u8bef\u63cf\u8ff0\u6beb\u65e0\u5173\u8054\uff0c\u53ea\u80fd\u901a\u8fc7\u8c03\u7528\u94fe\u8ffd\u8e2a\u624d\u80fd\u627e\u5230\u3002\u5bf9\u8fd9\u7c7b\"\u9690\u85cf\u4f9d\u8d56\"\u4efb\u52a1\uff0cBM25 \u5173\u952e\u8bcd\u641c\u7d22\u51c6\u786e\u7387\u53ea\u6709 **76.2%**\uff0c\u800c\u56fe\u904d\u5386\u8fbe\u5230 **99.4%**\uff0c\u5dee\u4e86 23 \u4e2a\u767e\u5206\u70b9\u3002

\n
\n

KWCode \u7684\u4e24\u9636\u6bb5\u68c0\u7d22\uff1a

\n
    \n
  1. BM25 \u5173\u952e\u8bcd\u53ec\u56de\uff08\u6beb\u79d2\u7ea7\uff0c\u4e0d\u8c03 LLM \uff09\uff1a\u4ece\u4ee3\u7801\u5e93\u6240\u6709\u51fd\u6570/\u7c7b\u4e2d\uff0c\u5feb\u901f\u53ec\u56de top-20 \u5019\u9009
  2. \n
  3. AST \u8c03\u7528\u56fe\u5c55\u5f00\uff08\u6beb\u79d2\u7ea7\uff0c\u4e0d\u8c03 LLM \uff09\uff1a\u5bf9\u6bcf\u4e2a\u5019\u9009\u51fd\u6570\uff0c\u6cbf\u8c03\u7528\u56fe\u5411\u4e0a\u5411\u4e0b\u5404\u5c55\u5f00 2 \u8df3\uff0c\u53d1\u73b0\u9690\u85cf\u4f9d\u8d56
  4. \n
\n

\u6574\u4e2a\u8fc7\u7a0b\u4e0d\u8c03 LLM \uff0cSQLite \u6301\u4e45\u5316\u8c03\u7528\u56fe\uff0c\u91cd\u542f\u4e0d\u91cd\u5efa\u3002

\n

\u6280\u672f\u6808\uff1atree-sitter + rank-bm25 + SQLite\u3002\u4e0d\u9700\u8981 Neo4j \uff0c\u4e0d\u9700\u8981 embedding \u6a21\u578b\uff0c\u4e0d\u9700\u8981\u989d\u5916 Docker \u3002

\n
\n

\u601d\u8def\u4e09\uff1a\u6253\u7834\u5faa\u73af\u2014\u2014\u5931\u8d25\u65f6\u5f3a\u5236\u6362\u7b56\u7565

\n

\u9488\u5bf9\"\u53cd\u590d\u8e29\u540c\u4e00\u4e2a\u5751\"\u548c\"\u65e0\u9650\u5faa\u73af\"\u8fd9\u4e24\u4e2a\u95ee\u9898\uff1a

\n

\u53cd\u65e0\u9650\u5faa\u73af\uff1aMAX_RETRIES \u786c\u7f16\u7801\u4e3a 3 \uff0c\u6ca1\u6709\u4efb\u4f55\u8def\u5f84\u80fd\u7ed5\u8fc7\u3002\u540c\u65f6\u68c0\u6d4b\u8fde\u7eed\u4e24\u6b21\u751f\u6210\u5b8c\u5168\u76f8\u540c\u7684 patch \uff0c\u76f4\u63a5\u8df3\u8fc7\u4e0d\u91cd\u8bd5\uff0c\u544a\u8bc9\u7528\u6237\"\u6a21\u578b\u5361\u4f4f\u4e86\uff0c\u5efa\u8bae\u7f29\u5c0f\u4efb\u52a1\u8303\u56f4\"\u3002

\n

\u53cd\u91cd\u590d\u5931\u8d25\uff1a\u4e09\u6b21\u91cd\u8bd5\u5f3a\u5236\u7528\u4e09\u79cd\u4e0d\u540c\u7684\u95ee\u9898\u8868\u8ff0\uff1a

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\u7b2c\u51e0\u6b21\u7b56\u7565
\u7b2c\u4e00\u6b21\u6b63\u5e38\u63cf\u8ff0\u9700\u6c42
\u7b2c\u4e8c\u6b21\u4ece\u9519\u8bef\u4fe1\u606f\u51fa\u53d1\uff1a\"\u76f4\u63a5\u4fee\u590d\u8fd9\u4e2a\u62a5\u9519\uff0c\u4e0d\u8981\u89e3\u91ca\"
\u7b2c\u4e09\u6b21\u6700\u5c0f\u5316\u4fee\u6539\uff1a\"\u53ea\u6539\u8fd9\u4e00\u4e2a\u51fd\u6570\uff0c\u5176\u4ed6\u4ee3\u7801\u4e00\u884c\u4e0d\u52a8\"

\u7b2c\u4e00\u6b21\u5931\u8d25\u540e\u5148\u505a Reflection\uff1a\u8ba9 LLM \u4e00\u53e5\u8bdd\u5206\u6790\u4e0a\u6b21\u5931\u8d25\u7684\u539f\u56e0\uff0c\u7136\u540e\u628a\u8fd9\u4e2a\u5206\u6790\u6ce8\u5165\u4e0b\u6b21\u7684 prompt \u3002\u4e0d\u662f\u8ba9\u6a21\u578b\u81ea\u7531\u53d1\u6325\uff0c\u662f\u5f3a\u5236\u5b83\u5148\u8bca\u65ad\u518d\u4fee\u3002

\n
\n

\u601d\u8def\u56db\uff1a\u4e13\u5bb6\u98de\u8f6e\uff0c\u8d8a\u7528\u8d8a\u61c2\u4f60\u7684\u9879\u76ee

\n
\n

\u53c2\u8003\uff1aEE-MCP \uff08 NeurIPS 2025 \uff09\u2014\u2014\u4ece\u4efb\u52a1\u6267\u884c\u8f68\u8ff9\u81ea\u52a8\u63d0\u53d6\u7ecf\u9a8c\uff0c\u9a8c\u8bc1\u53ef\u663e\u8457\u63d0\u5347\u540e\u7eed\u540c\u7c7b\u4efb\u52a1\u6210\u529f\u7387\u3002

\n
\n

KWCode \u9884\u7f6e\u4e86 15 \u4e2a\u4e13\u5bb6\uff08 BugFix \u3001TestGen \u3001SpringBoot \u3001FastAPI \u7b49\uff09\uff0c\u6bcf\u4e2a\u4e13\u5bb6\u6709\u72ec\u7acb\u7684 system prompt \u3002

\n

\u540c\u7c7b\u4efb\u52a1\u6210\u529f 5 \u6b21\u4e4b\u540e\uff0c\u98de\u8f6e\u81ea\u52a8\u5206\u6790\u8f68\u8ff9\uff0c\u751f\u6210\u65b0\u4e13\u5bb6\uff0c\u7ecf\u8fc7\u4e09\u9053\u9a8c\u8bc1\u95e8\u540e\u6295\u4ea7\uff1a

\n\n

\u4e13\u5bb6\u53ef\u4ee5\u5bfc\u51fa\u6210 .kwx \u6587\u4ef6\uff0ckwcode expert install URL \u4e00\u884c\u5b89\u88c5\u522b\u4eba\u5206\u4eab\u7684\u4e13\u5bb6\u3002

\n
\n

\u601d\u8def\u4e94\uff1a\u6a21\u578b\u80fd\u529b\u81ea\u9002\u5e94

\n

CC \u4e0d\u9700\u8981\u8003\u8651\u8fd9\u4e2a\uff0c\u56e0\u4e3a\u5b83\u53ea\u7528\u4e00\u4e2a\u6a21\u578b\u3002KWCode \u9700\u8981\u3002

\n

\u81ea\u52a8\u68c0\u6d4b\u5f53\u524d\u6a21\u578b\u7684\u53c2\u6570\u91cf\uff0c\u7136\u540e\u5e94\u7528\u4e0d\u540c\u7b56\u7565\uff1a

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\u6a21\u578b\u89c4\u6a21\u81ea\u52a8\u7b56\u7565
< 10B \uff08 qwen3:8b \uff09\u5f3a\u5236\u8ba1\u5212\u786e\u8ba4 \u00b7 \u4efb\u52a1\u8303\u56f4\u9650 2 \u4e2a\u6587\u4ef6 \u00b7 \u7b2c 1 \u6b21\u5931\u8d25\u89e6\u53d1\u641c\u7d22
10-30B \uff08 qwen3:14b \uff09\u53ef\u9009\u8ba1\u5212 \u00b7 4 \u4e2a\u6587\u4ef6\u8303\u56f4 \u00b7 \u7b2c 2 \u6b21\u5931\u8d25\u89e6\u53d1\u641c\u7d22
> 30B \uff08 qwen3:72b \uff09\u5bbd\u677e\u7b56\u7565 \u00b7 8 \u4e2a\u6587\u4ef6 \u00b7 \u81ea\u52a8\u5904\u7406\u590d\u6742\u4efb\u52a1

\u5207\u6362\u6a21\u578b\uff0c\u7b56\u7565\u81ea\u52a8\u5207\u6362\u3002

\n
\n

\u4e09\u3001\u73b0\u5728\u505a\u4e86\u4ec0\u4e48

\n

\u6838\u5fc3\u529f\u80fd\u8dd1\u901a\u4e86\u3002282/282 \u5355\u5143\u6d4b\u8bd5\u901a\u8fc7\uff0cE2E \u9a8c\u6536\u901a\u8fc7\u7387 87%\uff08 26/30 \uff0c4 \u4e2a\u5931\u8d25\u662f\u6a21\u578b\u80fd\u529b\u8fb9\u754c\uff0c\u4e0d\u662f\u6846\u67b6\u95ee\u9898\uff09\u3002

\n

\u4ee3\u7801\u80fd\u529b

\n\n

\u5de5\u7a0b\u80fd\u529b

\n\n

\u4f53\u9a8c

\n\n
\n

\u56db\u3001\u8fd8\u5dee\u4ec0\u4e48

\n

\u8bf4\u5b9e\u8bdd\uff0c\u6709\u4e9b\u5730\u65b9\u8fd8\u633a\u7c97\u7cd9\u7684\uff1a

\n\n
\n

\u4e94\u3001\u4e3a\u4ec0\u4e48\u60f3\u8ba9\u66f4\u591a\u4eba\u4e00\u8d77\u505a

\n

\u6211\u4e00\u4e2a\u4eba\u505a\u8fd9\u4e2a\u5de5\u5177\u6709\u660e\u663e\u7684\u4e0a\u9650\uff0c\u4e0d\u662f\u6280\u672f\u4e0a\u7684\u4e0a\u9650\uff0c\u662f\u89c6\u91ce\u4e0a\u7684\u4e0a\u9650\u3002

\n

\u6211\u81ea\u5df1\u4e3b\u8981\u7528 Python \u548c FastAPI \uff0c\u6240\u4ee5\u8fd9\u65b9\u9762\u60f3\u5f97\u7ec6\u3002\u4f46\u6211\u4e0d\u77e5\u9053\u6bcf\u5929\u5199 Spring Boot \u7684\u4eba\u6700\u75db\u7684\u70b9\u5728\u54ea\uff0c\u4e0d\u77e5\u9053\u641e Rust \u7684\u4eba\u5728\u672c\u5730\u6a21\u578b\u4e0a\u9047\u5230\u4ec0\u4e48\u95ee\u9898\uff0c\u4e0d\u77e5\u9053\u505a\u5c0f\u7a0b\u5e8f\u7684\u4eba\u9700\u8981\u4ec0\u4e48\u3002

\n

\u66f4\u91cd\u8981\u7684\u662f\uff0c\u8fd9\u4ef6\u4e8b\u4e0d\u5e94\u8be5\u53ea\u662f\u4e00\u4e2a\u4eba\u7684\u5de5\u5177\uff0c\u5e94\u8be5\u662f\u4e2d\u56fd\u5f00\u53d1\u8005\u793e\u533a\u7684\u5de5\u5177\u3002

\n

CC \u662f Anthropic \u7684\uff0cCursor \u662f\u7f8e\u56fd\u516c\u53f8\u7684\uff0cHermes \u662f\u5916\u56fd\u793e\u533a\u505a\u7684\u3002\u6211\u4eec\u7528\u7684\u5de5\u5177\uff0c\u6211\u4eec\u7684\u4f7f\u7528\u4e60\u60ef\u3001\u6280\u672f\u6808\u504f\u597d\u3001\u672c\u5730\u5316\u9700\u6c42\uff0c\u4ece\u6765\u90fd\u662f\u522b\u4eba\u987a\u624b\u52a0\u8fdb\u53bb\u7684\u529f\u80fd\uff0c\u4e0d\u662f\u7b2c\u4e00\u4f18\u5148\u7ea7\u3002

\n

\u6211\u60f3\u505a\u7684\u662f\u53cd\u8fc7\u6765\u2014\u2014\u628a\u4e2d\u56fd\u5f00\u53d1\u8005\u7684\u9700\u6c42\u653e\u5728\u7b2c\u4e00\u4f4d\uff0c\u628a\u672c\u5730\u5f00\u6e90\u6a21\u578b\u7684\u9002\u914d\u653e\u5728\u7b2c\u4e00\u4f4d\uff0c\u7136\u540e\u628a\u8fd9\u4e2a\u5de5\u5177\u505a\u5230\u80fd\u548c\u5927\u5382\u4ea7\u54c1\u63b0\u624b\u8155\u3002

\n

\u8fd9\u4ef6\u4e8b\u4e00\u4e2a\u4eba\u505a\u4e0d\u5230\uff0c\u4f46\u5f00\u6e90\u793e\u533a\u53ef\u4ee5\u3002

\n

Linux \u6253\u8d25\u4e86 Unix \uff0c\u4e0d\u662f\u56e0\u4e3a\u67d0\u4e00\u4e2a\u5929\u624d\uff0c\u800c\u662f\u5168\u7403\u5f00\u53d1\u8005\u5171\u540c\u7ef4\u62a4\u4e86\u51e0\u5341\u5e74\u3002VSCode \u80fd\u8d85\u8fc7\u90a3\u4e48\u591a\u5546\u4e1a IDE \uff0c\u4e5f\u662f\u56e0\u4e3a\u80cc\u540e\u6709\u5e9e\u5927\u7684\u63d2\u4ef6\u548c\u8d21\u732e\u751f\u6001\u3002

\n

KWCode \u4e0d\u9700\u8981\u4f60\u6709\u591a\u9ad8\u7684\u6c34\u5e73\uff0c\u53ea\u9700\u8981\u4f60\u5728\u7528\u672c\u5730\u6a21\u578b\u505a\u5f00\u53d1\uff0c\u7136\u540e\u628a\u4f60\u9047\u5230\u7684\u95ee\u9898\u3001\u4f60\u7684\u89e3\u6cd5\u3001\u4f60\u7684\u6539\u8fdb\u8d21\u732e\u8fdb\u6765\u3002\u591a\u4e00\u4e2a\u4eba\uff0c\u5c31\u591a\u4e00\u4e2a\u4f7f\u7528\u573a\u666f\u88ab\u7167\u987e\u5230\uff0c\u591a\u4e00\u4e2a\u5751\u88ab\u586b\u6389\u3002

\n
\n

Fork \u8fd9\u4e2a\u9879\u76ee\uff0c\u6539\u8fdb\u4f60\u6700\u75db\u7684\u90a3\u4e2a\u70b9\uff0c\u63d0 PR \uff0c\u6211\u4eec\u4e92\u76f8\u501f\u529b\uff0c\u4e00\u8d77\u628a\u5b83\u505a\u597d\u3002

\n
\n

\u95ed\u6e90\u5927\u5382\u6709\u94b1\u6709\u4eba\u6709\u7b97\u529b\uff0c\u6211\u4eec\u6709\u4ec0\u4e48\uff1f\u6211\u4eec\u6709\u771f\u5b9e\u7684\u4f7f\u7528\u573a\u666f\uff0c\u6709\u5bf9\u672c\u5730\u90e8\u7f72\u7684\u771f\u5b9e\u9700\u6c42\uff0c\u6709\u4e0d\u4f9d\u8d56\u6d77\u5916\u670d\u52a1\u7684\u52a8\u529b\u3002\u8fd9\u5df2\u7ecf\u8db3\u591f\u4e86\u3002

\n
\n

\u516d\u3001\u600e\u4e48\u53c2\u4e0e

\n

\u9879\u76ee\u5730\u5740\uff1agithub.com/val1813/kwcode

\n
# Fork \u9879\u76ee\uff0c\u514b\u9686\u5230\u672c\u5730\ngit clone https://github.com/your-fork/kwcode.git\ncd kwcode\n\n# \u5b89\u88c5\u5f00\u53d1\u7248\npip install -e \".[dev]\"\n\n# \u8fd0\u884c\u6d4b\u8bd5\u786e\u8ba4\u73af\u5883\u6b63\u5e38\npython -m pytest kaiwu/tests/ -v\n\n# \u627e\u4e00\u4e2a\u4f60\u6700\u60f3\u6539\u7684\u5730\u65b9\uff0c\u5f00\u59cb\u52a8\u624b\ngit checkout -b fix/your-improvement\n
\n

\u6539\u4ec0\u4e48\u90fd\u53ef\u4ee5\uff1a

\n\n

Issues \u91cc\u5217\u4e86\u5df2\u77e5\u95ee\u9898\u548c\u89c4\u5212\u4e2d\u7684\u529f\u80fd\uff0c\u53ef\u4ee5\u4ece\u90a3\u91cc\u627e\u65b9\u5411\u3002Discussions \u91cc\u53ef\u4ee5\u804a\u6280\u672f\u601d\u8def\uff0c\u804a\u67d0\u4e2a\u65b9\u5411\u503c\u4e0d\u503c\u5f97\u505a\u3002

\n

\u6ca1\u6709\u4ec0\u4e48\u8d21\u732e\u592a\u5c0f\u3002

\n
\n

\u4e03\u3001\u6700\u540e\u8bf4\u4e00\u53e5

\n

\u6211\u4e0d\u77e5\u9053 KWCode \u80fd\u4e0d\u80fd\u771f\u7684\u8d85\u8d8a CC \u6216\u8005 Hermes \u3002

\n

\u4f46\u6211\u77e5\u9053\uff0c\u5982\u679c\u4e2d\u56fd\u5f00\u53d1\u8005\u4e00\u76f4\u7528\u522b\u4eba\u505a\u7684\u5de5\u5177\uff0c\u4e00\u76f4\u628a\u81ea\u5df1\u7684\u9700\u6c42\u5f53\u4f5c\"\u6b21\u8981\u529f\u80fd\"\u7b49\u522b\u4eba\u6765\u5b9e\u73b0\uff0c\u8fd9\u4ef6\u4e8b\u6c38\u8fdc\u4e0d\u4f1a\u6709\u7b54\u6848\u3002

\n

\u6709\u4e9b\u4e1c\u897f\uff0c\u53ea\u6709\u81ea\u5df1\u505a\u624d\u77e5\u9053\u80fd\u4e0d\u80fd\u505a\u5230\u3002

\n

\u9879\u76ee\u662f MIT \u5f00\u6e90\u7684\uff0c\u4f60\u8d21\u732e\u7684\u4ee3\u7801\u6c38\u8fdc\u662f\u4f60\u7684\u3002\u5982\u679c KWCode \u6700\u540e\u505a\u6210\u4e86\uff0c\u8fd9\u4ef6\u4e8b\u662f\u6240\u6709\u53c2\u4e0e\u7684\u4eba\u4e00\u8d77\u505a\u6210\u7684\u3002

\n
\n

\u9879\u76ee\u5730\u5740\uff1agithub.com/val1813/kwcode

\n

\u5929\u5de5\u5f00\u7269 \u00b7 KWCode \u00b7 \u4e2d\u56fd\u5f00\u53d1\u8005\u81ea\u5df1\u7684\u672c\u5730 Coding Agent

\n" }, { "author": { "url": "member/Livid", "name": "Livid", "avatar": "https://cdn.v2ex.com/avatar/c4ca/4238/1_large.png?m=1778546420" }, "url": "t/1208974", "title": "\u7528 antirez \u7684 llama.cpp fork \u628a DeepSeek v4 Flash \u5728\u672c\u5730\u8dd1\u8d77\u6765\u4e86", "id": "t/1208974", "date_published": "2026-04-27T17:53:59+00:00", "content_html": "

\"\"

\n

https://github.com/antirez/llama.cpp-deepseek-v4-flash

\n" }, { "author": { "url": "member/KaiWuBOSS", "name": "KaiWuBOSS", "avatar": "https://cdn.v2ex.com/gravatar/243db3a31aa62a02d726471a3fd1782e?s=73&d=retro" }, "url": "t/1208904", "title": "\u5168\u7403\u672c\u5730\u90e8\u7f72\u5f00\u53d1\u8005\u4eec\u4e00\u8d77\uff0c\u6253\u9020\u4e00\u4e2a\u771f\u6b63\u5c5e\u4e8e\u5f00\u6e90\u793e\u533a\u7684 Coding Agent \u4e86", "id": "t/1208904", "date_published": "2026-04-27T10:19:27+00:00", "content_html": "

\u540c\u5fd7\u4eec\uff0c\u662f\u65f6\u5019\u6253\u9020\u4e00\u628a\u771f\u6b63\u5c5e\u4e8e\u5f00\u6e90\u793e\u533a\u7684 Coding Agent \u4e86\uff01

\n

\u73b0\u72b6\uff1a\u6211\u4eec\u88ab\u5927\u5382\u201c\u5582\u5c4e\u201d\uff0c\u8fd8\u8981\u81ea\u5df1\u64e6\u5c41\u80a1

\n

\u6211\u5199\u8fc7 kaiwu\uff08\u4e00\u4e2a\u672c\u5730\u6a21\u578b\u90e8\u7f72\u5668\uff09\uff0c\u7ed3\u679c\u53d1\u73b0\u2014\u2014\u7528 Local LLM \u505a\u5f00\u53d1\u7684\u670b\u53cb\uff0c\u591a\u5f97\u8d85\u51fa\u60f3\u8c61\u3002

\n

\u5927\u5bb6\u4e0d\u65ad\u63d0\u9700\u6c42\uff1a\u4e0a\u4e0b\u6587\u538b\u7f29\u3001Think \u6a21\u5f0f\u5f00\u5173\u3001\u8054\u7f51\u641c\u7d22\u3001\u5de5\u5177\u8c03\u7528\u2026\u2026

\n

\u53ef\u8fd9\u4e9b\u6839\u672c\u4e0d\u662f Ollama \u6216 LM Studio \u7684\u4e8b\uff01
\n\u5b83\u4eec\u53ea\u8d1f\u8d23\u628a\u6a21\u578b\u8dd1\u8d77\u6765\uff0c\u81f3\u4e8e\u201c\u600e\u4e48\u8ba9\u6a21\u578b\u53d8\u806a\u660e\u201d\u2014\u2014\u90a3\u662f Cursor \u3001Codex \u3001Hermes \u7684\u4e8b\u3002

\n

\u4f46\u5927\u5382\u4eec\u5728\u5e72\u561b\uff1f

\n\n

\u5b83\u4eec\u4e0d\u4f1a\u82b1\u7cbe\u529b\u4f18\u5316\u672c\u5730\u5c0f\u6a21\u578b\u3002
\n\u56e0\u4e3a\u672c\u5730\u8dd1\u5f97\u723d\uff0c\u8c01\u8fd8\u4e70\u5b83\u4eec\u7684 API \uff1f

\n

\u66f4\u522b\u63d0\u90a3\u5835\u5899\u4e86\u2014\u2014
\n\u56fd\u5185\u7f51\u7edc\u65f6\u65ad\u65f6\u7eed\uff0c\u4efb\u52a1\u8dd1\u5230\u4e00\u534a\u65ad\u8fde\uff0c\u4f53\u9a8c\u50cf\u5403\u82cd\u8747\u3002
\n\u60f3\u7528 Claude \uff1f\u5f97\u627e\u4e2d\u8f6c\u3001\u4e70\u6ce8\u6c34\u8d26\u53f7\u3001\u88ab\u6536\u5272\u3001\u8fd8\u88ab\u9119\u89c6\u3002

\n

\u4f46\u5899\u80fd\u62e6\u4f4f\u8d44\u672c\uff0c\u62e6\u4e0d\u4f4f\u4eba\u6c11\u3002
\n\u56fd\u9645\u5171\u4ea7\u4e3b\u4e49\u7cbe\u795e\uff0c\u5c31\u4f53\u73b0\u5728\u4e00\u884c\u884c\u5f00\u6e90\u4ee3\u7801\u91cc\u3002

\n
\n

\u75db\u70b9\uff1a\u6211\u4eec\u6bcf\u5929\u90fd\u88ab\u8fd9\u516d\u628a\u5200\u6345

\n

1. \u4e0a\u4e0b\u6587\u592a\u77ed\uff0c\u538b\u7f29\u5c31\u201c\u5931\u5fc6\u201d

\n\n

2. \u7f51\u7edc\u50cf\u4e00\u5835\u5899\uff0c\u5899\u5185\u5916\u90fd\u662f\u5c4e

\n\n

3. \u672c\u5730\u6a21\u578b\u8fde\u5de5\u5177\u90fd\u4e0d\u4f1a\u7528

\n\n

4. \u5c0f\u6a21\u578b\u672c\u8eab\u80fd\u529b\u5c31\u90a3\u6837\uff0c\u4f46 API \u8fd8\u4e0d\u8ba9\u7528

\n\n

5. \u660e\u660e\u672c\u5730\u8fd0\u884c\uff0c\u5374\u662f\u4e2a\u6ca1\u8bb0\u5fc6\u7684\u94a2\u94c1\u5e9f\u6599

\n\n

6. \u591a\u6a21\u6001\uff1f\u89c6\u9891\u56fe\u7247\uff1f\u4e0d\u5b58\u5728\u7684

\n\n
\n

\u90e8\u7f72\u96be\u3001\u901f\u5ea6\u6162\u3001\u786c\u4ef6\u8981\u6c42\u9ad8\u8fd9\u4e9b\uff0c\u6211\u4e4b\u524d\u7684 kaiwu + LM + Turbo \u80fd\u89e3\u51b3\u3002
\n\u4eca\u5929\u6211\u4eec\u4e0d\u804a\u8fd9\u4e9b\uff0c\u5c31\u804a\u600e\u4e48\u8ba9 8B \u6a21\u578b\u8dd1\u51fa Opus \u7684\u4f53\u9a8c\u3002

\n
\n
\n

\u6211\u7684\u9769\u547d\u601d\u8def\uff1a\u4e0d\u7528 CC \u7684\u4f9d\u8d56\u5f3a LLM \u4e32\u884c\uff0c\u6539\u7528 LLM \u505a Gate + \u786e\u5b9a\u6027\u4e13\u5bb6\u7684 MOE \u67b6\u6784

\n

\u6838\u5fc3\u7406\u5ff5\uff1a
\nLLM \u53ea\u8d1f\u8d23\u5f53\u201c\u63a5\u7ebf\u5458\u201d\uff0c\u771f\u6b63\u5e72\u6d3b\u7684\u662f\u786e\u5b9a\u6027\u4e13\u5bb6\u2014\u2014
\n\u4e0d\u4f9d\u8d56\u6a21\u578b\u201c\u5565\u90fd\u61c2\u201d\uff0c\u800c\u662f\u8ba9\u6a21\u578b\u53ea\u505a\u4e00\u4ef6\u6781\u5c0f\u3001\u6781\u660e\u786e\u7684\u4e8b\u3002

\n

\u539f\u7406\u4e00\uff1aAgentless \u6d41\u6c34\u7ebf\uff08 ICSE 2025 \u6700\u4f73\u8bc1\u660e\uff09

\n
\n

\u4e0d\u8ba9 LLM \u778e\u51b3\u7b56\uff0c\u7528\u56fa\u5b9a\u6d41\u7a0b \u2192 SWE-bench \u4e0a\u901a\u8fc7\u7387\u6700\u9ad8\uff0c\u6210\u672c\u6700\u4f4e\u3002

\n
\n

\u6211\u8bbe\u8ba1\u7684\u6d41\u7a0b\uff08 KWCode \uff09\uff1a\n\u7528\u6237\u8f93\u5165\n\u2514\u2500\u25ba Gate \uff08\u6beb\u79d2\u7ea7\u5206\u7c7b\uff09\n\u2514\u2500\u25ba Locator \uff08\u7cbe\u786e\u5b9a\u4f4d\u6587\u4ef6/\u51fd\u6570\uff09\n\u2514\u2500\u25ba Generator \uff08\u53ea\u6539\u8be5\u6539\u7684\u5730\u65b9\uff09\n\u2514\u2500\u25ba Verifier \uff08\u8bed\u6cd5 + pytest \uff0c\u5931\u8d25\u91cd\u8bd5\uff09

\n

\u5c0f\u6a21\u578b\u53ea\u9700\u8981\u5728\u5c0f\u7a97\u53e3\u91cc\u505a\u4e00\u4ef6\u4e8b\u2014\u2014\u5931\u8bef\u7387\u66b4\u8dcc\uff0c\u9519\u8bef\u53ef\u88ab\u5f53\u573a\u6293\u4f4f\u3002

\n

\u539f\u7406\u4e8c\uff1aBM25 + AST \u8c03\u7528\u56fe\u5b9a\u4f4d\uff08\u4e13\u6cbb\u201c\u9690\u85cf\u4f9d\u8d56\u201d\uff09

\n
\n

\u8bba\u6587 CodeCompass \u53d1\u73b0\u4e00\u4e2a\u53cd\u5e38\u8bc6\u4e8b\u5b9e\uff1a
\ncontext \u8d8a\u5927\u7684\u6a21\u578b\uff0c\u53cd\u800c\u8d8a\u5bb9\u6613\u6f0f\u6389\u67b6\u6784\u4e0a\u5173\u952e\u4f46\u8bed\u4e49\u4e0a\u9065\u8fdc\u7684\u6587\u4ef6\u2014\u2014\u8fd9\u53eb\u201c\u5bfc\u822a\u6096\u8bba\u201d\u3002

\n
\n

\u5b9e\u9a8c\u6570\u636e\uff08 FastAPI \u771f\u5b9e\u9879\u76ee\uff09\uff1a

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\u4efb\u52a1\u7c7b\u578bBM25\u56fe\u904d\u5386
\u6709\u660e\u786e\u5173\u952e\u8bcd100%\u2014
\u53ef\u901a\u8fc7 import \u94fe\u627e\u5230~85%~85%
\u5b8c\u5168\u65e0\u5173\u952e\u8bcd\u7684\u9690\u85cf\u4f9d\u8d5676.2%99.4% \ud83d\ude80

\u6211\u4eec\u7684\u5b9e\u73b0\uff1a

\n
    \n
  1. BM25 \u79d2\u7ea7\u53ec\u56de top-20
  2. \n
  3. AST \u8c03\u7528\u56fe\u5c55\u5f00 2 \u8df3\uff08\u5411\u4e0a\u627e\u8c03\u7528\u8005\uff0c\u5411\u4e0b\u627e\u88ab\u8c03\u7528\u8005\uff09
  4. \n
  5. \u53d1\u73b0\u90a3\u4e9b\u201c\u540d\u5b57\u548c bug \u65e0\u5173\u4f46\u5b9e\u9645\u662f\u6839\u56e0\u201d\u7684\u9b54\u9b3c\u51fd\u6570
  6. \n
\n

\u6280\u672f\u6808\uff1atree-sitter + rank-bm25 + SQLite
\n\u96f6\u4f9d\u8d56\u3001\u96f6 embedding \u3001\u96f6 Docker\u3002
\n\u652f\u6301\uff1aPython \u00b7 JS \u00b7 TS \u00b7 Java \u00b7 Go \u00b7 Rust

\n

\u539f\u7406\u4e09\uff1a\u4e13\u5bb6\u98de\u8f6e\u2014\u2014\u4f60\u7684\u5de5\u5177\u8d8a\u7528\u8d8a\u5f3a\uff0c\u5927\u5382\u6c38\u8fdc\u8ffd\u4e0d\u4e0a

\n
\n

\u6765\u81ea EE-MCP (NeurIPS 2025) + WLBS \u884c\u4e3a\u56fe\u3002

\n
\n

\u9884\u7f6e 12 \u4e2a\u4e13\u5bb6\uff08\u901a\u7528 7 \u4e2a + \u4e2d\u56fd\u573a\u666f 5 \u4e2a\uff09\u3002
\n\u7136\u540e\u5f00\u59cb\u98de\u8f6e\uff1a

\n\n

3 \u4e2a\u6708\u540e\uff0c\u4f60\u7684\u4e13\u5c5e\u4e13\u5bb6\u6c60\u2014\u2014
\nCursor \u548c Hermes \u6c38\u8fdc\u8ffd\u4e0d\u4e0a\uff0c\u56e0\u4e3a\u5b83\u4eec\u65e0\u72b6\u6001\uff0c\u800c\u4f60\u6709\u6c38\u4e45\u8bb0\u5fc6\u3002

\n

\u4e13\u5bb6\u53ef\u4ee5\u5bfc\u51fa\u3001\u5206\u4eab\u5f62\u6210\u6211\u4eec\u7684\u793e\u533a\u6570\u636e\u8d44\u6e90\u3002

\n

\u539f\u7406\u56db\uff1a\u5931\u8d25\u81ea\u52a8\u641c\u7d22\u2014\u2014\u5899\u5185\u7528 Bing \uff0c\u5899\u5916\u7528 DDG

\n

Verifier \u8fde\u6302 2 \u6b21 \u2192 \u81ea\u52a8\u89e6\u53d1\u641c\u7d22\uff1a

\n\n

\u96f6 API key \uff0c\u96f6\u914d\u7f6e\uff0c\u88c5\u5b8c\u5373\u7528\u3002
\n\u60f3\u66f4\u9690\u79c1\uff1f\u81ea\u5df1\u90e8\u7f72 SearXNG \uff0c\u6570\u636e\u4e0d\u51fa\u7f51\u3002

\n
\n

\u529f\u80fd\u4e00\u89c8\uff08\u4e0d\u662f\u4e3a\u4e86\u70ab\u6280\uff0c\u662f\u4e3a\u4e86\u89e3\u51b3\u4f60\u7684\u6bcf\u4e00\u5929\u7684\u75db\uff09

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\u6a21\u5757\u505a\u4e86\u4ec0\u4e48
\u4ee3\u7801\u5b9a\u4f4dBM25 + AST \u8c03\u7528\u56fe\uff0c99.4% \u547d\u4e2d\u9690\u85cf\u4f9d\u8d56
\u4ee3\u7801\u4fee\u6539\u53ea\u6539 patch \uff0c\u4e0d\u91cd\u5199\u5168\u6587\uff0c\u7cbe\u786e\u5339\u914d
\u9a8c\u8bc1\u91cd\u8bd5\u8bed\u6cd5 + pytest \uff0c\u5931\u8d25\u56de\u6eda\uff0c\u5931\u8d25 2 \u6b21\u5f00\u641c\u7d22
\u9879\u76ee\u8bb0\u5fc6PROJECT.md / EXPERT.md / PATTERN.md \u4e09\u5c42\u5206\u79bb\uff0c\u6309\u9700 BM25 \u6ce8\u5165
\u4e13\u5bb6\u7cfb\u7edf12 \u9884\u7f6e + \u98de\u8f6e\u81ea\u751f\u6210 + \u53ef\u5206\u4eab\u5b89\u88c5
\u4e2d\u56fd\u672c\u5730\u5316\u81ea\u52a8\u5207 ModelScope / \u6e05\u534e\u955c\u50cf / Bing \u641c\u7d22 / Windows \u539f\u751f

\n

\u6211\u4eec\u548c\u201c\u5b83\u4eec\u201d\u7684\u4e0d\u4e00\u6837

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\u573a\u666f\u5176\u4ed6\u5de5\u5177KWCode \uff08\u6211\u4eec\uff09
Windows\u903c\u4f60\u88c5 WSL2cmd / PowerShell \u539f\u751f\u8dd1
\u6a21\u578b\u4e0b\u8f7dHuggingFace \u88ab\u5899\u81ea\u52a8\u5207 ModelScope
pip \u5b89\u88c5PyPI \u6162\u6b7b\u81ea\u52a8\u5207 \u6e05\u534e/\u963f\u91cc\u955c\u50cf
\u641c\u7d22\u589e\u5f3aDDG \u88ab\u5899\u81ea\u52a8\u5207 Bing \u4e2d\u6587\u7248
\u63a8\u8350\u6a21\u578bGPT / Claude \uff08\u8981\u94b1/\u8981\u68af\u5b50\uff09DeepSeek \u00b7 Qwen \u00b7 GLM\uff08\u56fd\u4ea7\u514d\u8d39\uff09

\n

\u540c\u5fd7\u4eec\uff0c\u8fd9\u4e0d\u662f\u4e00\u4e2a\u4eba\u7684\u6218\u6597

\n

\u6211\u53ea\u6709\u4e00\u53f0 5060 8G \u663e\u5b58 16G \u5185\u5b58\u5c0f\u7834\u7535\u8111\uff0c\u786c\u76d8\u8fd8\u65f6\u597d\u65f6\u574f\uff0c\u82b1\u94b1\u4e70 api \u4e00\u4e2a\u6708\u4e09\u56db\u5343\u3002\n\u6211\u60f3\u8981\u4eba\u4eba\u4e3a\u9f99\u65f6\u4ee3\uff0c\u800c\u4e0d\u662f api \u72ec\u5927\u65f6\u4ee3\u3002\n\u6240\u4ee5\u6211\u60f3\u6253\u9020\n\u4e00\u4e2a\u771f\u6b63\u5c5e\u4e8e\u5f00\u6e90\u793e\u533a\u3001\u4e0d\u4f9d\u8d56\u5927\u5382 API \u3001\u4e0d\u88ab\u5899\u3001\u8ba9 8B \u6a21\u578b\u4e5f\u80fd\u5e72\u7ffb Opus \u7684 Coding Agent \u3002

\n

\u6211\u4eec\u6709\u8bba\u6587\u652f\u6491\uff0c\u6709\u539f\u578b\u4ee3\u7801\uff0c\u6709\u6ee1\u8154\u6012\u706b\u548c\u70ed\u8840\u3002
\n\u73b0\u5728\u8fd8\u7f3a\u4f60\u2014\u2014
\n\u7f3a\u6bcf\u4e00\u4e2a\u53d7\u591f\u4e86\u88ab\u6536\u5272\u3001\u88ab\u6b67\u89c6\u3001\u88ab\u7f51\u7edc\u66b4\u529b\u7684\u5f00\u53d1\u8005\u3002

\n

GitHub \u4ed3\u5e93\u8fd1\u671f\u5f00\u653e\uff0c\u4ee3\u7801\u5b8c\u5168\u5f00\u6e90\u3002
\n\u4f60\u53ef\u4ee5\uff1a

\n\n

\u56fd\u9645\u5171\u4ea7\u4e3b\u4e49\u7cbe\u795e\uff0c\u4ece\u4e00\u884c\u5f00\u6e90\u4ee3\u7801\u5f00\u59cb\u3002
\n\u8ba9\u5927\u5382\u53bb\u5356 token \u5427\uff0c\u6211\u4eec\u6709\u81ea\u5df1\u7684\u5de5\u5177\u4e86\u3002

\n
\n

\u884c\u52a8\u53f7\u53ec

\n

\ud83d\udc49 \u6709\u6ca1\u6709\u66f4\u597d\u7684\u601d\u8def\u548c\u8def\u5f84\uff0c\u4e0a\u8ff0\u53ea\u662f\u6211\u4e2a\u4eba\u7814\u7a76
\n\ud83d\udc49 \u540e\u7eed\u5728\u672c\u94fe\u63a5\u53d1\u5e03 github \uff0c\u6b22\u8fce fork \u7ee7\u7eed\u6df1\u6316

\n

\u4e0d\u8981\u8ba9\u8d44\u672c\u5b9a\u4e49\u201c\u53ef\u80fd\u201d\u4e0e\u201c\u4e0d\u53ef\u80fd\u201d\u3002
\n\u6211\u4eec\u8bf4\u4e86\u7b97\u3002\n\u6216\u8bb8\u5f88\u5feb\uff0c8B \u6a21\u578b\u771f\u80fd\u8dd1\u8d62 OPUS \uff0c\u6240\u6709\u4eba\u90fd\u80fd\u62e5\u6709\u72ec\u5c5e\u4e8e\u81ea\u5df1\u7684\u667a\u80fd\u4f53

\n

\u8981\u4e0d\u8981\u5148\u5efa\u4e2a\u7fa4\uff0c\u7b97\u4e86 \u6211\u793e\u6050 \u4e0d\u4f1a\u7ef4\u62a4\uff0c\u6709\u4e8b\u54b1\u4eec\u8fd9\u4e2a\u94fe\u63a5\u804a\u628a

\n" }, { "author": { "url": "member/diudiuu", "name": "diudiuu", "avatar": "https://cdn.v2ex.com/avatar/53c0/4118/1055_large.png?m=1777876554" }, "url": "t/1208894", "title": "\u81ea\u5df1\u505a\u4e86\u4e00\u6b3e\u5728\u7ebf GPU \u63a8\u7406\u901f\u5ea6\u8ba1\u7b97\u5668 \u00b7 TPS Calculator", "id": "t/1208894", "date_published": "2026-04-27T09:34:17+00:00", "content_html": "

TPS Calculator \u00b7 GPU \u63a8\u7406\u901f\u5ea6\u8ba1\u7b97\u5668

\n
\n

\u4e70\u4e0d\u8d77\u673a\u5b50\uff0c\u6240\u4ee5\u505a\u4e86\u8fd9\u4e2a\u3002

\n
\n

\u5728\u7ebf\u5730\u5740\uff1atps.bunai.cc

\n
\n

\u7a81\u53d1\u5947\u60f3\u8d76\u7d27\u8bb0\u5f55\u4e0b\u6765\uff0c\u76f4\u63a5 vibe code \uff0c\u8bf4\u6572\u5c31\u5199

\n

\u4e00\u4e2a vibe code \u51fa\u6765\u7684 GPU \u63a8\u7406\u6027\u80fd\u4f30\u7b97\u5de5\u5177\u3002

\n

\u8d77\u56e0\u5f88\u7b80\u5355\u2014\u2014\u663e\u5361\u592a\u8d35\uff0c\u4e70\u4e0d\u8d77\uff0c\u60f3\u8dd1\u4e2a\u6a21\u578b\u53c8\u4e0d\u77e5\u9053\u81ea\u5df1\u7684\u914d\u7f6e\u591f\u4e0d\u591f\uff0c\n\u4e8e\u662f\u628a\u7f51\u4e0a\u6563\u843d\u7684\u53c2\u6570\u548c\u516c\u5f0f\u6c47\u603b\u4e86\u4e00\u4e0b\uff0c\u505a\u6210\u4e86\u8fd9\u4e2a\u8ba1\u7b97\u5668\u3002

\n

\u8f93\u5165\u663e\u5361\u578b\u53f7\u3001\u6a21\u578b\u3001\u91cf\u5316\u65b9\u5f0f\u548c\u8fd0\u884c\u53c2\u6570\uff0c\u5feb\u901f\u4f30\u7b97\uff1a

\n\n
\n

\u9002\u5408\u5e72\u4ec0\u4e48

\n

\u2705 \u5728\u4e70\u673a\u5b50 / \u79df\u5361\u4e4b\u524d\uff0c\u5148\u5927\u6982\u9884\u4f30\u4e00\u4e0b\u8dd1\u4e0d\u8dd1\u5f97\u8d77\u6765
\n\u2705 \u5b66\u4e60\u63a8\u7406\u6027\u80fd\u5efa\u6a21\uff0c\u7406\u89e3\u91cf\u5316\u3001KV Cache \u3001TP \u3001Roofline \u8fd9\u4e9b\u6982\u5ff5
\n\u2705 \u505a\u65b9\u6848\u521d\u7b5b\u548c\u53c2\u6570\u5bf9\u6bd4

\n

\u274c \u4e0d\u9002\u5408\u76f4\u63a5\u66ff\u4ee3\u771f\u5b9e benchmark
\n\u274c \u4e0d\u9002\u5408\u628a\u4f30\u7b97\u503c\u5f53\u4f5c\u751f\u4ea7\u627f\u8bfa
\n\u274c Mac \u7535\u8111\u6ca1\u6709\u653e\u51fa\u6765\uff0c\u9a8c\u8bc1\u4e86\u4e00\u4e0b\u5dee\u8ddd\u6709\u70b9\u5927\uff0c\u5148\u653e\u4e00\u653e

\n
\n

\u53c2\u8003\u8d44\u6599

\n\n

\u8fd9\u5957\u516c\u5f0f\u548c\u53c2\u6570\u662f\u6211\u81ea\u5df1\u6574\u7406\u6c47\u603b\u7684\uff0c\u6ca1\u6709\u5927\u91cf\u771f\u673a\u8dd1\u8fc7\u9a8c\u8bc1\u3002\n\u5982\u679c\u4f60\u624b\u4e0a\u6709\u771f\u5b9e\u7684\u6d4b\u8bd5\u6570\u636e\uff0c\u53d1\u73b0\u54ea\u91cc\u4f30\u7b97\u504f\u5dee\u5927\u3001\u516c\u5f0f\u6709\u95ee\u9898\uff0c\n\u6b22\u8fce\u5f00 Issue \u6216 PR \u6307\u51fa\u6765\uff0c\u5927\u5bb6\u4e00\u8d77\u5b66\u4e60\uff0c\u4e00\u8d77\u628a\u8fd9\u4e2a\u4e1c\u897f\u505a\u5f97\u66f4\u51c6\u3002

\n

\u5e0c\u671b\u6709\u771f\u5b9e\u6570\u636e\u7684\u5927\u4f6c\u5e2e\u5fd9\u6307\u6b63\uff0c\u8c22\u8c22\uff01\ud83d\ude4f

\n" }, { "author": { "url": "member/zsj1029", "name": "zsj1029", "avatar": "https://cdn.v2ex.com/avatar/38a0/9f4d/189266_large.png?m=1777977403" }, "url": "t/1208824", "date_modified": "2026-04-27T23:22:04+00:00", "content_html": "\u641e\u4e86\u4e00\u4e0a\u5348\uff0c\u672c\u5730 a100 40g \uff0c\u8f93\u51fa\u4e5f\u6162 40t/s
\u5927\u6982\u7684\u63d0\u793a\u8bcd\u52b3\u529b\u58eb\u98ce\u683c\uff0c\u7f57\u9a6c\u6570\u5b57\uff0c\u6708\u76f8\u65e5\u5386\uff0c\u9ad8\u8d35\u5178\u96c5


\u6708\u76f8\u90a3\u5757\u641e\u4e86\u597d\u591a\u8f6e

\u7ed3\u8bba:
\u5c0f\u53c2\u6570\u7684\u6a21\u578b\u667a\u529b\u4e0d\u5dee\uff0cTrae IDE agent \u8fde\u63a5\u672c\u5730\u6a21\u578b\uff0ccoding \u5b8c\u5168\u53ef\u7528", "date_published": "2026-04-27T06:36:20+00:00", "title": "qwen3.6 27b \u672c\u5730\u7f16\u7801\u6d4b\u8bd5", "id": "t/1208824" }, { "author": { "url": "member/joeue404", "name": "joeue404", "avatar": "https://cdn.v2ex.com/gravatar/7487abdb33e5648e84c20ea8dee7821a?s=73&d=retro" }, "url": "t/1208804", "title": "xllm \u771f\u7684\u6bd4 vllm+plugin \u6027\u80fd\u597d\u4e48\uff1f", "id": "t/1208804", "date_published": "2026-04-27T05:46:35+00:00", "content_html": "" }, { "author": { "url": "member/Hermitist", "name": "Hermitist", "avatar": "https://cdn.v2ex.com/gravatar/da6c1e355f86d79cd2887cb34a3c864e?s=73&d=retro" }, "url": "t/1208567", "date_modified": "2026-04-26T01:02:44+00:00", "content_html": "27B/31B \u751a\u81f3 35B \u7684 4bit \u90fd\u53ef\u4ee5, \u6d4b\u8bd5\u4e86\u597d\u4e45, \u4e5f\u4e0b\u8f7d\u4e86\u51e0\u5341\u4e2a\u4e86,\u90fd\u4e0d\u592a\u884c, \u611f\u89c9\u964d\u667a\u4e86, \u8fd9\u4e9b\u521a\u51fa\u6765\u7684\u65f6\u5019\u6211\u8fd9\u4e2a\u914d\u7f6e\u80fd\u8dd1\u5230 35tokens/s.


\u51c6\u5907\u76f4\u63a5\u6284\u4f5c\u4e1a, \u8bf7\u7ed9 huggingface \u8fde\u63a5, \u6211\u7684\u672c\u5730\u63a8\u7406\u6846\u67b6\u662f omlx, \u611f\u8c22\u611f\u8c22.", "date_published": "2026-04-26T00:16:06+00:00", "title": "\u5404\u4f4d\u63a8\u8350\u4e00\u4e2a 32G Macbook air M5 \u53ef\u4ee5\u8dd1\u7684 moe \u6a21\u578b", "id": "t/1208567" }, { "author": { "url": "member/evegod", "name": "evegod", "avatar": "https://cdn.v2ex.com/avatar/78f2/2b39/349991_large.png?m=1776690822" }, "url": "t/1208556", "title": "\u6211\u7684\u5f00\u6e90\u9879\u76ee\uff0c\u6b22\u8fce\u5927\u5bb6\u4f7f\u7528\u548c\u6279\u8bc4\uff0c\u672c\u5730\u65e0\u5b57\u5178\u5b57\u7b26\u578b\u6a21\u578b\u8bad\u7ec3\u67b6\u6784\u4ee3\u7801\u5b8c\u5168\u5f00\u6e90\uff0c\u53ef\u5f62\u6210\u8bed\u4e49\u7ed3\u6784", "id": "t/1208556", "date_published": "2026-04-25T17:17:46+00:00", "content_html": "

\u6b22\u8fce\u6279\u8bc4\uff0c\u4e5f\u662f vibe coding \u7684\u4ea7\u7269\uff0c\u6211\u662f\u5728\u5c1d\u8bd5\u5b66\u4e60\u6570\u5b66\u548c\u7269\u7406\u76f8\u5173\u7406\u8bba\u7684\u65f6\u5019\u7ed3\u5408\u7f16\u7801\u5b66\u7684\u4e00\u4e9b\u81ea\u5df1\u7684\u770b\u6cd5\u5728\u505a\u5b9e\u9a8c\uff0c\u5f53\u7136\u5b9e\u9a8c\u5185\u5bb9\u5927\u90e8\u5206\u4e5f\u662f vibe coding \u7684\u4ea7\u7269\uff0c\u73b0\u6709\u57fa\u51c6\u662f\u8fd9\u4e2a\u6a21\u578b\u5728\u672c\u5730\u5b66\u4e60 fineweb \u6570\u636e\u96c6\uff0c\u67b6\u6784\u6ca1\u6709\u8bcd\u5178\u5c42\uff0c\u53ea\u6709\u5b57\u7b26\u5b66\u4e60\u548c\u76f8\u5173\u7eaf\u6570\u5b66\u67b6\u6784\u548c\u7f16\u7801\u5c1d\u8bd5\u7684\u60c5\u51b5\u4e0b\u53ef\u4ee5\u6d8c\u73b0\u7c7b\u82f1\u8bed\u8bed\u4e49\u7ed3\u6784\uff0c\u800c\u4e14\u8bad\u7ec3\u548c\u5c55\u5f00\u8f93\u51fa\u5747\u662f\u663e\u5b58\u548c\u5185\u5b58\u4f18\u5316\u5f62\u5f0f\u7684\uff0c\u5927\u5bb6\u53ef\u4ee5\u5c1d\u8bd5\u81ea\u5df1\u5206\u6790\u548c\u4f7f\u7528\u4e00\u4e0b\uff0c\u76f8\u5173\u7684\u601d\u8003\u65b9\u5f0f\u548c\u67b6\u6784\u672c\u8eab\u4e5f\u5728\u4ee3\u7801\u4e2d\u6ce8\u91ca\u4e86\uff0c\u5982\u679c\u7528\u5176\u4ed6 ai \u53bb\u5206\u6790\u8be5\u9879\u76ee\u4f1a\u5bf9\u5176\u6570\u5b66\u7ed3\u6784\u6709\u4e0d\u540c\u770b\u6cd5\uff0c\u5f53\u7136\u53ef\u80fd\u662f\u6211\u7684\u601d\u8003\u89d2\u5ea6\u5bfc\u81f4\u6211\u7684\u7528\u8bed\u548c\u63d0\u793a\u8bcd\u5bfc\u81f4\u5176\u7ed3\u6784\u504f\u79fb\u548c\u6211\u7684\u7528\u8bed\u6ca1\u6709\u5e7f\u6cdb\u88ab\u63a5\u53d7\u7684\u95ee\u9898\u3002\u8bf7\u5927\u5bb6\u6279\u8bc4\u6307\u6b63\uff0c\u6211\u5c3d\u529b\u63d0\u9ad8\u6211\u81ea\u5df1\u3002\n\u9879\u76ee\u5730\u5740\uff1a https://github.com/makai891124-prog/H2Q-MicroStream

\n" }, { "author": { "url": "member/jamme", "name": "jamme", "avatar": "https://cdn.v2ex.com/avatar/4ec7/2727/199115_large.png?m=1769231137" }, "url": "t/1208538", "date_modified": "2026-04-25T15:16:27+00:00", "content_html": "

\u4e3b\u8981\u662f\u7528\u6765\u90e8\u7f72YOLO26\u505a\u6570\u636e\u96c6\u8bad\u7ec3\u548c\u76ee\u6807\u68c0\u6d4b\u6216\u8ffd\u8e2a\u7684\uff0c\u56fe\u7247\u6570\u636e\u6682\u5b9a 5000 \u5f20\uff08\u5176\u5b9e\u6570\u636e\u6709\u5f88\u591a\uff0c\u4f46\u662f\u6682\u5b9a\u7528\u4e8e\u8bad\u7ec3\u7684\u6570\u636e\u4e0a\u9650\u662f 5000 \u5f20\uff09\u3002

\n

\u76ee\u524d\u6709\u4e00\u53f0 RX6600xt \uff0c\u4f46\u662f directML \u597d\u50cf\u4e5f\u4e0d\u80fd\u4f7f\u8fd9\u5f20\u5361\u53c2\u4e0e\u8bad\u7ec3\u8ba1\u7b97\uff0c\u4e0a\u7f51\u67e5\u4e86\u4e00\u4e0b\u597d\u50cf\u662f\u5bf9 7000 \u7cfb\u5217\u4ee5\u4e0a\u7684\u663e\u5361\u652f\u6301\u7684\u66f4\u597d\u4e00\u4e9b\u3002

\n

\u6240\u4ee5\u8001\u677f\u7684\u610f\u601d\u662f\u91cd\u65b0\u914d\u4e00\u53f0 N \u5361\u4e3b\u673a\uff0c\u4f46\u6211\u4e4b\u524d\u6ca1\u6709\u4f7f\u7528 YOLO \u8bad\u7ec3\u7684\u7ecf\u9a8c\uff0c\u4e0d\u77e5\u9053\u76ee\u524d\u8fd9\u4e2a\u6570\u91cf\u7ea7\u7684\u6570\u636e\u8bad\u7ec3\u4ee5\u53ca\u8fd9\u4e2a\u4f53\u91cf\u7684\u6a21\u578b\u8be5\u4f7f\u7528\u4ec0\u4e48\u5361\u3002\u54a8\u8be2\u5b98\u7f51 AI \u7684\u8bdd\uff0c\u5c31\u662f\u65e0\u8111\u63a8\u8350 4090 \u30015090 \u8fd9\u79cd\u5927\u663e\u5b58\u7684\u5361\u3002\u641e\u5f97\u6211\u5f88\u5934\u75bc~

\n

\u5173\u4e8e\u9884\u7b97\u7684\u8bdd\uff0c\u8001\u677f\u53ea\u8bf4\u4e86\u4e00\u53e5\u4f60\u770b\u7740\u529e\u5427\u3002\u4f46\u4e4b\u524d\u8001\u677f\u7684\u610f\u601d\u662f\u8ba9\u6211\u770b\u770b\u80fd\u4e0d\u80fd\u628a\u73b0\u5728\u8fd9\u53f0\u4e3b\u673a\u7684\u663e\u5361\u6362\u6210 RTX5070 \uff0c\u540e\u6765\u6211\u67e5\u4e86\u4e00\u4e0b\u73b0\u5728\u4e3b\u673a\u7684\u7535\u6e90\uff0c\u624d 500W \uff0c\u5e26\u4e0d\u52a8 5070 \uff0c\u624d\u6709\u4e86\u914d\u65b0\u4e3b\u673a\u7684\u8fd9\u4ef6\u4e8b\u3002\u6240\u4ee5\u6211\u60f3\u7740\u5199\u4e2a\u4e24\u4e09\u5957\u914d\u7f6e\u5355\u7ed9\u8001\u677f\u770b\uff0c\u4f4e\u914d\u9ad8\u914d\u90fd\u5199\u4e00\u4e0b\uff0c\u8ba9\u8001\u677f\u51b3\u5b9a\u9009\u4ec0\u4e48\u3002

\n

\u6709\u6ca1\u6709\u6709YOLO \u8bad\u7ec3+\u76ee\u6807\u68c0\u6d4b\u7ecf\u9a8c\u7684 V \u53cb\u7ed9\u70b9\u5efa\u8bae\uff1f\u8dea\u8c22\u4e86~

\n", "date_published": "2026-04-25T15:02:26+00:00", "title": "\u8bf7\u6559\u4e00\u4e2a\u5173\u4e8e\u6a21\u578b\u8bad\u7ec3\u4e3b\u673a\u914d\u7f6e\u7684\u95ee\u9898", "id": "t/1208538" }, { "author": { "url": "member/KaiWuBOSS", "name": "KaiWuBOSS", "avatar": "https://cdn.v2ex.com/gravatar/243db3a31aa62a02d726471a3fd1782e?s=73&d=retro" }, "url": "t/1208365", "title": "\u6211\u505a\u4e86\u4e2a\u5de5\u5177\u8ba9 8GB \u663e\u5361\u8dd1 30B \u6a21\u578b\u4ece 3 tok/s \u63d0\u5230 21 tok/s\uff0c\u8bb0\u5f55\u4e00\u4e0b\u6280\u672f\u53d1\u73b0", "id": "t/1208365", "date_published": "2026-04-24T10:51:29+00:00", "content_html": "

\u6700\u8fd1\u5728\u6298\u817e\u672c\u5730\u5927\u6a21\u578b\uff0c\u53d1\u73b0\u4e00\u4e2a\u6838\u5fc3\u95ee\u9898\uff1aOllama \u548c LM Studio \u80fd\u8ba9\u6a21\u578b\u8dd1\u8d77\u6765\uff0c\u4f46\u53c2\u6570\u5168\u9760\u731c\u2014\u2014\u4e0a\u4e0b\u6587\u957f\u5ea6\u3001KV cache \u7c7b\u578b\u3001MoE expert \u653e\u54ea\u3001ubatch \u591a\u5927\u2026\u2026\u7528\u9ed8\u8ba4\u53c2\u6570\u57fa\u672c\u662f\u5728\u6d6a\u8d39\u663e\u5361\u3002

\n

\u4e8e\u662f\u505a\u4e86\u4e2a\u5de5\u5177\u81ea\u52a8\u627e\u6700\u4f18\u914d\u7f6e\uff0c\u8fc7\u7a0b\u4e2d\u8e29\u4e86\u4e0d\u5c11\u5751\uff0c\u8bb0\u5f55\u4e00\u4e0b\u3002

\n
\n

\u6838\u5fc3\u53d1\u73b0

\n

1. MoE \u6a21\u578b\u7684 offload \u7b56\u7565\u51b3\u5b9a\u4e86\u4e00\u5207

\n

Qwen3-30B-A3B \u662f MoE \u67b6\u6784\uff0c\u5728 8GB \u663e\u5361\u4e0a\uff1a

\n\n

\u5feb\u4e86 7 \u500d\uff0c\u663e\u5b58\u53cd\u800c\u7701\u4e86 65%\u3002\u5173\u952e\u662f llama.cpp \u652f\u6301\u8fd9\u4e2a\uff0c\u4f46\u4f60\u5f97\u81ea\u5df1\u8bc6\u522b\u54ea\u4e9b tensor \u662f MoE expert \uff08.ffn_.*_exps. \u8fd9\u7c7b\u547d\u540d\uff09\uff0c\u7136\u540e\u624b\u52a8\u914d\u3002

\n

2. KV cache \u7c7b\u578b\u5f71\u54cd\u6bd4\u5927\u591a\u6570\u4eba\u60f3\u7684\u5927

\n

\u540c\u4e00\u5f20 8GB \u663e\u5361\u8dd1 Llama 3.1 8B \uff0c\u4e0d\u540c KV cache \u914d\u7f6e\u901f\u5ea6\u5dee\u5f02\uff1a

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\u914d\u7f6ectx\u901f\u5ea6
iso3+iso3 \uff0c4 slot8K19.4 tok/s
q8_0+q4_0 \uff0c1 slot8K38.2 tok/s
f16+f16 \uff0c1 slot8K51.7 tok/s
f16+f16 \uff0c1 slot \uff08\u81ea\u52a8\uff0964K26.2 tok/s

f16 \u6bd4 iso3 \u5feb\u5c06\u8fd1 3 \u500d\u3002\u4f46 f16 \u663e\u5b58\u5360\u7528\u66f4\u5927\uff0c\u6240\u4ee5\u6b63\u786e\u7b56\u7565\u662f\uff1a\u5148\u7b97 f16 KV cache \u5360\u591a\u5c11\u663e\u5b58\uff0c\u88c5\u5f97\u4e0b\u5c31\u7528 f16 \uff0c\u88c5\u4e0d\u4e0b\u518d\u964d\u7ea7\u3002

\n

\u516c\u5f0f\uff1aKV_MB = 2 \u00d7 layers \u00d7 kv_heads \u00d7 head_dim \u00d7 ctx \u00d7 bytes / 1024\u00b2

\n

3. oobabooga \u516c\u5f0f\u7528\u6765\u9884\u6d4b ctx \u4e0a\u9650

\n

\u793e\u533a\u91cc\u6d41\u4f20\u7684 oobabooga \u663e\u5b58\u4f30\u7b97\u516c\u5f0f\uff0c\u539f\u672c\u7528\u6765\u9884\u6d4b\u88c5\u8f7d\u6a21\u578b\u540e\u5269\u4f59\u663e\u5b58\u80fd\u652f\u6301\u591a\u5927 ctx \u3002\u4f46\u8fd9\u4e2a\u516c\u5f0f\u662f\u57fa\u4e8e q8_0/f16 \u62df\u5408\u7684\uff0c\u7528 iso3 \u7684\u65f6\u5019\u4f1a\u4e25\u91cd\u9ad8\u4f30\u663e\u5b58\u9700\u6c42\uff0c\u5bfc\u81f4 ctx \u53ea\u7b97\u51fa 4K \u3002

\n

\u6700\u540e\u653e\u5f03\u516c\u5f0f\u9884\u6d4b\uff0c\u6539\u6210\u4e8c\u5206\u63a2\u6d4b\uff1a\u4ece min(nativeCtx, 65536) \u5f00\u59cb\uff0cOOM \u5c31\u51cf\u534a\uff0c\u6700\u591a\u63a2 5 \u6b21\uff0c\u8ba9 llama-server \u81ea\u5df1\u544a\u8bc9\u6211\u80fd\u8dd1\u591a\u5c11\u3002Llama 3.1 8B \u7684 ctx \u4ece 4K \u76f4\u63a5\u5230 64K \u3002

\n

4. parallel slot \u6570\u91cf\u5bf9\u5355\u7528\u6237\u573a\u666f\u5f71\u54cd\u5de8\u5927

\n

llama.cpp \u9ed8\u8ba4\u5f00 4 \u4e2a\u5e76\u884c slot \uff08\u4e3a\u4e86\u591a\u7528\u6237\u5e76\u53d1\uff09\uff0c\u4f46\u5355\u7528\u6237\u573a\u666f\u4e0b\u8fd9\u4f1a\u628a VRAM \u5206\u6210 4 \u4efd\u3002

\n

\u5173\u6389\u591a\u4f59 slot \uff08--parallel 1\uff09\u4e4b\u540e\uff1a18.5 \u2192 38.2 tok/s \uff0c\u76f4\u63a5\u7ffb\u500d\u3002

\n

5. ubatch \u5b9e\u6d4b\u6bd4\u7406\u8bba\u66f4\u53ef\u9760

\n

ubatch 128 vs 512 \u7684\u6027\u80fd\u5dee\u5f02\u8ddf\u6a21\u578b\u548c\u663e\u5361\u90fd\u6709\u5173\u7cfb\uff0c\u6ca1\u6709\u901a\u7528\u6700\u4f18\u503c\u3002\u5b9e\u6d4b\u7ed3\u8bba\uff1a

\n\n

\u76f4\u63a5 benchmark \u4e24\u4e2a\u503c\u53d6\u5feb\u7684\uff0c\u6bd4\u67e5\u6587\u6863\u731c\u9760\u8c31\u3002

\n

6. \u5bf9\u8bdd\u538b\u7f29\u4e0d\u8981\u7528\u6a21\u578b\u751f\u6210\u6458\u8981

\n

\u6700\u521d\u65b9\u6848\u662f\u4e0a\u4e0b\u6587\u6ee1\u4e86\u4e4b\u540e\u8c03\u672c\u5730\u6a21\u578b\u751f\u6210\u6458\u8981\u2014\u2014\u7ed3\u679c\u5355 slot \u963b\u585e\uff0c\u76f4\u63a5\u8d85\u65f6\u3002

\n

\u6539\u6210\u7eaf\u7b97\u6cd5\u63d0\u53d6\uff1a\u4fdd\u7559\u5934\u90e8\uff08 system prompt + \u9996\u8f6e\u5bf9\u8bdd\uff09\u548c\u5c3e\u90e8\uff08\u6700\u8fd1 8K tokens \uff09\uff0c\u4e2d\u95f4\u90e8\u5206\u63d0\u53d6\u4ee3\u7801\u8def\u5f84\u3001\u51fd\u6570\u540d\u3001\u6587\u4ef6\u540d\u3001TODO \u7b49\u5173\u952e\u4fe1\u606f\u3002\u538b\u7f29\u7387 73%\uff0c\u8017\u65f6 <1ms \u3002

\n
\n

\u7528\u4e86\u54ea\u4e9b\u6280\u672f\uff0c\u5b9e\u73b0\u4e86\u4ec0\u4e48\u529f\u80fd

\n

llama.cpp \u2014 \u63a8\u7406\u5f15\u64ce\u6838\u5fc3

\n

\u76f4\u63a5\u8c03\u7528 llama.cpp \u7684 llama-server \uff0c\u6240\u6709\u53c2\u6570\uff08 ctx \u3001KV cache \u7c7b\u578b\u3001\u7ebf\u7a0b\u6570\u3001ubatch \u3001mlock \u3001tensor split \uff09\u90fd\u901a\u8fc7\u542f\u52a8\u53c2\u6570\u6ce8\u5165\u3002Kaiwu \u672c\u8d28\u4e0a\u662f\u4e00\u4e2a\u53c2\u6570\u51b3\u7b56\u5c42\uff0c\u4e0d\u6539\u63a8\u7406\u5f15\u64ce\u672c\u8eab\u3002

\n

IsoQuant / TurboQuant \u2014 3-bit KV cache \u538b\u7f29

\n

\u96c6\u6210\u4e86 johndpope \u7684 turboquant fork \uff08feature/planarquant-kv-cache\uff09\uff0c\u652f\u6301 -ctk iso3 -ctv iso3 \u53c2\u6570\u3002iso3 \u7684\u538b\u7f29\u7cfb\u6570\u5b9e\u6d4b 0.73 \uff0c\u7406\u8bba\u503c 0.75 \uff0c\u5728 VRAM \u7d27\u5f20\u7684\u8bbe\u5907\uff08 8GB \uff09\u4e0a\u53ef\u4ee5\u628a KV cache \u5360\u7528\u538b\u7f29\u5230 q8_0 \u7684\u4e00\u534a\u3002\u4f46\u6709\u7ea6 600MB \u56fa\u5b9a\u89e3\u7801 buffer \u5f00\u9500\uff0cVRAM \u5145\u88d5\u65f6\u53cd\u800c\u6bd4 f16 \u6162 8%\uff0c\u6240\u4ee5\u7b56\u7565\u662f VRAM > 16GB \u624d\u9ed8\u8ba4\u5f00 iso3 \u3002

\n

oobabooga \u663e\u5b58\u4f30\u7b97\u516c\u5f0f \u2014 ctx \u4e0a\u9650\u9884\u6d4b\uff08\u5df2\u653e\u5f03\uff09

\n

\u793e\u533a\u6d41\u4f20\u7684\u516c\u5f0f\u7528\u6765\u9884\u6d4b\u5269\u4f59\u663e\u5b58\u80fd\u652f\u6301\u591a\u5927 ctx \uff0c\u57fa\u4e8e q8_0/f16 \u62df\u5408\u3002iso3 \u573a\u666f\u4e0b\u9ad8\u4f30\u663e\u5b58\u9700\u6c42\uff0c\u5bfc\u81f4 ctx \u53ea\u7b97\u51fa 4K \u3002\u6700\u7ec8\u6539\u6210\u4e8c\u5206\u63a2\u6d4b\u4ee3\u66ff\u516c\u5f0f\uff0c\u8ba9 llama-server \u81ea\u5df1\u51b3\u5b9a\u80fd\u8dd1\u591a\u5c11\u3002

\n

GQA \u67b6\u6784\u8bc6\u522b \u2014 KV cache \u7cbe\u51c6\u4f30\u7b97

\n

Qwen3 \u7b49\u65b0\u6a21\u578b\u7528 GQA \uff08 Grouped Query Attention \uff09\uff0ckv_heads \u8fdc\u5c0f\u4e8e attention_heads \u3002KV cache \u5927\u5c0f\u516c\u5f0f\u91cc\u7528\u7684\u662f kv_heads \u800c\u4e0d\u662f heads \uff0c\u4e0d\u8bc6\u522b\u8fd9\u4e00\u70b9\u4f1a\u9ad8\u4f30 3-4 \u500d\u3002\u901a\u8fc7\u8bfb GGUF metadata \u62ff\u5230\u51c6\u786e\u7684 kv_heads \u503c\u518d\u505a\u8ba1\u7b97\u3002

\n

MoE tensor \u8bc6\u522b \u2014 \u81ea\u52a8 expert offload

\n

\u8bfb\u53d6\u6a21\u578b\u7684 tensor \u540d\u79f0\u5217\u8868\uff0c\u5339\u914d .ffn_.*_exps. \u6a21\u5f0f\u8bc6\u522b\u51fa MoE expert \u5c42\uff0c\u81ea\u52a8\u51b3\u5b9a\u628a\u8fd9\u90e8\u5206\u8def\u7531\u5230 CPU \u3002\u4e0d\u9700\u8981\u7528\u6237\u624b\u52a8\u6307\u5b9a\uff0c\u4e5f\u4e0d\u9700\u8981\u63d0\u524d\u77e5\u9053\u6a21\u578b\u67b6\u6784\u3002

\n

Extractive Summary \u2014 \u96f6\u5ef6\u8fdf\u5bf9\u8bdd\u538b\u7f29

\n

\u4e0a\u4e0b\u6587\u5230 75% \u65f6\u89e6\u53d1\uff0c\u7eaf\u7b97\u6cd5\u63d0\u53d6\uff1a\u4fdd\u7559 system prompt \u3001\u9996\u8f6e\u5bf9\u8bdd\u3001\u6700\u8fd1 8K tokens \uff0c\u4e2d\u95f4\u90e8\u5206\u6309\u5173\u952e\u8bcd\u6743\u91cd\u4fdd\u7559\uff08\u4ee3\u7801\u8def\u5f84\u3001\u51fd\u6570\u540d\u3001\u6587\u4ef6\u540d\u3001TODO \u3001\u547d\u4ee4\u884c\u7b49\uff09\u3002\u4e0d\u8c03\u7528\u4efb\u4f55\u6a21\u578b\uff0c\u538b\u7f29\u8017\u65f6 <1ms \uff0c73% \u538b\u7f29\u7387\u3002\u6700\u521d\u8bd5\u8fc7\u8c03\u672c\u5730\u6a21\u578b\u751f\u6210\u6458\u8981\uff0c\u5355 slot \u963b\u585e\u76f4\u63a5\u8d85\u65f6\uff0c\u8fd9\u6761\u8def\u8d70\u4e0d\u901a\u3002

\n

GitHub Actions CI \u2014 \u8de8\u5e73\u53f0\u81ea\u52a8\u7f16\u8bd1

\n

turboquant fork \u9700\u8981\u81ea\u5df1\u7f16\u8bd1\u5e26 iso3 \u652f\u6301\u7684 llama-server \u3002\u7528 GitHub Actions \u540c\u65f6\u7f16\u8bd1 Windows \uff08 MSVC \uff09\u548c Linux \uff08 GCC \uff09\u7248\u672c\uff0cCUDA 12.4 \uff0c\u8986\u76d6 sm_75/80/86/89 \u67b6\u6784\uff0cRTX 50 \u7cfb\u5217\u901a\u8fc7 PTX JIT \u8fd0\u884c\u65f6\u652f\u6301\u3002\u8e29\u4e86\u4e09\u4e2a MSVC \u7f16\u8bd1\u5751\uff08 extern \"C\" \u58f0\u660e\u6539\u5b9a\u4e49\u3001M_PI \u672a\u5b9a\u4e49\u3001\u5168\u5c40\u7b26\u53f7\u7f3a\u5931\uff09\uff0c\u8bb0\u5f55\u5728 PROGRESS.md \u91cc\u3002

\n
\n

\u5de5\u5177

\n

\u628a\u4e0a\u9762\u8fd9\u4e9b\u903b\u8f91\u90fd\u81ea\u52a8\u5316\u4e86\uff0c\u53eb\u5f00\u7269\uff08 Kaiwu \uff09\u3002\u4e00\u884c\u547d\u4ee4\u542f\u52a8\uff0c\u53c2\u6570\u5168\u90e8\u81ea\u52a8\u627e\uff0c\u7ed3\u679c\u7f13\u5b58\u8d77\u6765\uff0c\u7b2c\u4e8c\u6b21 2 \u79d2\u542f\u52a8\u3002

\n

GitHub\uff1a https://github.com/val1813/kaiwu

\n

OpenAI \u517c\u5bb9 API \uff0cContinue / Cursor / Claude Code \u76f4\u63a5\u63a5\u3002

\n
\n

\u6709\u9047\u5230\u7c7b\u4f3c\u95ee\u9898\u7684\u6b22\u8fce\u4ea4\u6d41\uff0c\u5c24\u5176\u662f MoE offload \u548c KV cache \u8fd9\u5757\u8e29\u5751\u633a\u6df1\u7684\u3002

\n" }, { "author": { "url": "member/archxm", "name": "archxm", "avatar": "https://cdn.v2ex.com/avatar/6fb7/882c/72419_large.png?m=1766119273" }, "url": "t/1208354", "date_modified": "2026-04-25T02:19:04+00:00", "content_html": "\n", "date_published": "2026-04-24T09:58:36+00:00", "title": "\u5927\u4f19\u6709\u60f3\u8fc7\u4e8c\u6b21\u8bad\u7ec3\u5417\uff1f", "id": "t/1208354" }, { "author": { "url": "member/qazwsxkevin", "name": "qazwsxkevin", "avatar": "https://cdn.v2ex.com/gravatar/bfefb99d6203d351791672a1d3fc936a?s=73&d=retro" }, "url": "t/1207819", "date_modified": "2026-04-22T11:29:00+00:00", "content_html": "

\u8fd9\u4e1c\u897f\u6211\u90fd\u6ca1\u89c1\u8fc7\u5b9e\u7269\uff0c\u5728 USA \u7684\u540c\u5b66\u6709\u4e00\u53f0\uff0c\u4f46\u662f\u4ed6\u4e0a\u7ebf\u540e\u5e94\u7528\u7684\u4e8b\u60c5\u90fd\u5feb\u62c9\u7206\u4e86\uff0c\u6682\u65f6\u6ca1\u7a7a\u6d4b\u6211\u7684\u60f3\u6cd5\uff0c\u53ea\u80fd\u60f3\u8c61\u7740\u6765\u95ee\u4e00\u4e0b\u8fd9\u91cc\u5404\u4f4d\u4f6c\u4e86:

\n\n

\u95ee\u9898:

\n\n

\u8003\u8651:

\n\n", "date_published": "2026-04-22T11:28:26+00:00", "title": "\u7528 DGX Spark \u505a\u8fd9\u4e9b\u4e8b\u60c5\uff0c\u662f\u5426\u80fd\u529b\u5408\u9002/\u8db3\u591f\uff0c\u6709\u4f6c\u80fd\u89e3\u7b54\u5417?(\u4f30\u7b97\u4e5f\u884c)", "id": "t/1207819" }, { "author": { "url": "member/mingtdlb", "name": "mingtdlb", "avatar": "https://cdn.v2ex.com/avatar/1067/fd49/525301_large.png?m=1742795473" }, "url": "t/1207541", "title": "\u591a\u53f0 GPU \u4e4b\u95f4\u600e\u4e48\u7ec4\u7f51\u4e92\u8054\uff1f", "id": "t/1207541", "date_published": "2026-04-21T09:52:14+00:00", "content_html": "

\u6bd4\u5982\u8981\u90e8\u7f72 deepseek \u6ee1\u8840\u7248\uff0c\u603b\u4e0d\u80fd\u7528\u4e00\u53f0\u8dd1\u5bf9\u5427\uff0c\u90a3\u6bd4\u5982\u6709\u4e09\u53f0 SXM \u7248\u7684 8 \u5361 A100 \u7684 GPU \u670d\u52a1\u5668

\n

\u597d\u5947\u95ee\u4e00\u4e0b\uff0c\u60f3\u5b66\u4e60\u5b66\u4e60

\n" }, { "author": { "url": "member/diudiuu", "name": "diudiuu", "avatar": "https://cdn.v2ex.com/avatar/53c0/4118/1055_large.png?m=1777876554" }, "url": "t/1207254", "date_modified": "2026-04-20T09:43:48+00:00", "content_html": "

\u6bd4\u5982\u770b dgx spark \u8fd9\u53f0\u673a\u5b50\uff0c\u90e8\u7f72 31B BF16 gemma

\n

\u8fd9\u53f0\u673a\u5b50\u7684\u5e26\u5bbd 273 GB/s

\n

31B \u53c2\u6570 \u00d7 2 bytes (BF16) \u00f7 273 GB/s = \u6bcf\u4e2a token 227 ms = \u7406\u8bba\u6700\u5927 4.4 token/s

\n

\u5b9e\u9645\u80fd\u5230 3token/s \u5df2\u7ecf\u662f\u725b\u903c plus \uff0c\u9876\u591a 2.5token/s

\n

\u6240\u4ee5\u6709\u4e2a\u5173\u7cfb\uff0c\u4e0d\u8981\u95ee\u80fd\u4e0d\u80fd\u8fd0\u884c\u548b\u7684\uff0c\u81ea\u5df1\u5927\u6982\u7b97\u4e0b\u57fa\u672c\u5c31\u77e5\u9053\u80fd\u4e0d\u80fd\u7528

\n

\u7b80\u5355\u5f97\u63a8\u7406\u6211\u89c9\u5f97\u81f3\u5c11\u8981\u523025token/s\uff0c\u770b\u8d77\u6765\u624d\u6b63\u5e38

\n

1. \u6a21\u578b\u5fc5\u987b\u80fd\u52a0\u8f7d\u5b8c\uff0c\u663e\u5b58\u53ea\u662f\u57fa\u672c\u6761\u4ef6

\n

2. \u5fc5\u987b\u8981\u770b\u5185\u5b58\u5e26\u5bbd\uff08 Memory Bandwidth \uff09\uff0c\u8fd9\u4e2a\u592a\u4f4e\u5f97\u8bdd\u4f30\u8ba1\u5c31\u662f\u4e2a\u8ddb\u5b50\uff0c\u6211\u770b\u51e0\u4e4e\u5f88\u5c11\u6709\u4eba\u90e8\u7f72\u6a21\u578b\u65f6\u6ce8\u610f\u8fd9\u4e2a\u914d\u7f6e\uff0c\u8fd9\u4e2a\u4e5f\u662f\u975e\u5e38\u91cd\u8981\u5f97\u53c2\u6570

\n

3. \u4e0a\u9762\u5f97\u57fa\u672c\u662f\u6309\u7167\u82f1\u4f1f\u8fbe\u673a\u5b50\u7b97\u51fa\u6765\u5f97\uff0cmac \u673a\u5b50\u6bd4\u8f83\u7279\u6b8a\uff0c\u57fa\u672c\u53ea\u8981\u80fd\u52a0\u8f7d\u5230 gpu \u91cc\u9762\uff0c\u5269\u4f59\u4e00\u70b9\u5185\u5b58\uff0c\u5c31\u80fd\u7528\u901f\u5ea6\u4e0d\u4f1a\u5f88\u6162\uff08 20token/s \u5c06\u5c31\u80fd\u7528\uff09\uff0c\u51b7\u542f\u52a8\u7a0d\u5fae\u6162\u70b9

\n

\u8fd8\u6709\u4e2a\u672c\u5730\u6a21\u578b\u90e8\u7f72\uff0c\u9664\u4e86\u82b1\u5927\u94b1\uff0c\u672c\u5730\u90e8\u7f72\u5c31\u662f\u73a9\u73a9\u53ef\u4ee5\uff0c\u8d77\u7801\u73b0\u5728\u4e0d\u8981\u5984\u60f3\u8d85\u8fc7\u7ebf\u4e0a\u5f97\u6a21\u578b\uff0c\u5c24\u5176\u5199\u4ee3\u7801\u65b9\u9762

\n

\u6211\u4e2a\u4eba\u8ba4\u4e3a\u73b0\u5728\u672c\u5730\u6a21\u578b\u80fd\u505a\u5f97\u4e8b

\n
    \n
  1. ocr
  2. \n
  3. \u603b\u7ed3\u505a\u77e5\u8bc6\u5e93
  4. \n
  5. openclaw \u8fd8\u6709\u4ec0\u4e48\u7231\u9a6c\u4ed5\u8fd9\u4e2a\u63a8\u7406\u4e5f\u53ef\u4ee5\u505a\uff0c\u9700\u8981\u63d0\u524d\u7528\u7ebf\u4e0a\u6a21\u578b\u5b8c\u6210\u590d\u6742\u5f97\u4ee3\u7801\uff0c\u672c\u5730\u6267\u884c\u63a8\u7406\u4e00\u5b9a\u8981\u8bb0\u5f97\u505a\u597d\u673a\u5b50\u6563\u70ed\uff0c\u4e00\u5b9a\uff01\uff01\u4e00\u5b9a\u4e00\u5b9a\uff01\uff01\uff01
  6. \n
\n

\u5e0c\u671b\u5927\u5bb6\u6765\u4ea4\u6d41\u81ea\u5df1\u5f97\u5fc3\u5f97\uff0c\u5927\u5bb6\u5171\u540c\u5b66\u4e60\u8fdb\u6b65

\n", "date_published": "2026-04-20T09:40:14+00:00", "title": "\u90e8\u7f72\u672c\u5730\u6a21\u578b token \u8f93\u51fa\u4e07\u80fd\u516c\u5f0f", "id": "t/1207254" }, { "author": { "url": "member/novaren", "name": "novaren", "avatar": "https://cdn.v2ex.com/avatar/02af/2797/763429_large.png?m=1763452521" }, "url": "t/1207247", "date_modified": "2026-04-20T09:43:53+00:00", "content_html": "

\u4e2a\u4eba\u4f7f\u7528\nnew-api \u914d\u7f6e\u9879\u592a\u591a\u4e86\uff0c\u770b\u7684\u6211\u5934\u75bc\u3002\n\u6709\u6ca1\u6709\u7b80\u5355\u7248\u672c\u7684

\n", "date_published": "2026-04-20T09:26:52+00:00", "title": "\u6709\u6ca1\u6709\u7b80\u5355\u7248\u7684 new-api \u9879\u76ee", "id": "t/1207247" }, { "author": { "url": "member/EchoPrince", "name": "EchoPrince", "avatar": "https://cdn.v2ex.com/avatar/dcd9/48c1/759380_large.png?m=1757561483" }, "url": "t/1207206", "date_modified": "2026-04-20T08:24:17+00:00", "content_html": "

\u516c\u53f8\u505a\u7684\u662f\u7f8e\u56e2\u4e1a\u52a1\uff0c\u9700\u8981\u5b9a\u671f\u89e3\u6790\u4e00\u6279\u7f8e\u56e2\u7684\u8ba2\u5355\u622a\u56fe\uff08\u4e5f\u6709\u4e00\u4e9b\u662f\u624b\u673a\u76f8\u673a\u62cd\u7684\u8ba2\u5355\u9875\u9762\u56fe\u7247\uff09\uff0c\u63d0\u53d6\u51fa\u5176\u4e2d\u7684\u8ba2\u5355\u53f7\u7801\u3002\n\u6211\u8bd5\u7528\u4e86\u4e0b\u817e\u8baf\u7684 ocr \u8bc6\u522b\u6210\u529f\u7387\u5f88\u9ad8\uff0c\u5c31\u662f\u592a\u8d35\u4e86\uff0c\u56fe\u7247\u91cf\u5f88\u5927\u906d\u4e0d\u4f4f\u3002\u54ea\u4f4d\u8001\u54e5\u7814\u7a76\u8fc7 OCR \uff0c\u80fd\u4e0d\u80fd\u63a8\u8350\u4e00\u4e2a\u9002\u5408\u672c\u5730\u90e8\u7f72\u7684\uff0c\u516c\u53f8\u6709 5060 \u663e\u5361\u3002

\n", "date_published": "2026-04-20T07:40:00+00:00", "title": "\u60f3\u5728\u672c\u5730\u90e8\u7f72 OCR \u670d\u52a1\uff0c\u89e3\u6790\u7f8e\u56e2\u7684\u5916\u5356\u8ba2\u5355\u622a\u56fe\uff0c\u6c42\u63a8\u8350\u4e00\u4e2a\u597d\u7528\u7684 OCR \u6a21\u578b", "id": "t/1207206" }, { "author": { "url": "member/jdjingdian", "name": "jdjingdian", "avatar": "https://cdn.v2ex.com/avatar/d58b/cc87/78632_large.png?m=1766736820" }, "url": "t/1207126", "title": "\u672c\u5730\u90e8\u7f72\u9760\u4e0d\u9760\u8c31\uff1f", "id": "t/1207126", "date_published": "2026-04-20T03:34:42+00:00", "content_html": "

\u5728 mac studio \u3001395 Max \u548c DGX Spark \u8fd9\u51e0\u79cd\u8bbe\u5907\u8003\u8651

\n

\u672c\u5730\u90e8\u7f72\u7684 coding \u80fd\u529b\u548c\u6548\u679c\uff0c\u80fd\u63a5\u8fd1 gpt-5.3-codex \u5417\uff1f

\n

\u5982\u679c\u672c\u5730\u90e8\u7f72\u7684 coding \u80fd\u529b\u53ef\u4ee5\uff0c\u6211\u611f\u89c9\u53ef\u4ee5\u8ba9\u725b\u903c\u7684\u6a21\u578b API \u6765\u521b\u5efa\u5206\u89e3\u4efb\u52a1\uff0c\u7136\u540e\u8ba9\u672c\u5730\u6267\u884c\u3002

\n" }, { "author": { "url": "member/catazshadow", "name": "catazshadow", "avatar": "https://cdn.v2ex.com/gravatar/066c0aed93079b8e23b9916a3d7b6c56?s=73&d=retro" }, "url": "t/1206839", "date_modified": "2026-04-23T00:24:28+00:00", "content_html": "\u539f\u6587\uff1a
https://sleepingrobots.com/dreams/stop-using-ollama/

\u201cOllama wrapped that work in a nice CLI, raised VC money on the back of it, spent over a year refusing to credit it, forked it badly, shipped a closed-source app alongside it, and then pivoted the whole thing toward cloud services. At every decision point where they could have been good open-source citizens, they chose the path that made them look more self-sufficient to investors.\u201d

\u603b\u4e4b\u5c31\u662f\u5f00\u6e90\u5c0f\u5077\uff0c\u8fd8\u5c1d\u8bd5\u9501\u6b7b\u7528\u6237

\u539f\u6587\u5efa\u8bae\u7528\u8fd9\u4e9b\uff1a

llama.cpp is the engine. It has an OpenAI-compatible API server (llama-server), a built-in web UI, full control over context windows and sampling parameters, and consistently better throughput than Ollama. In February 2026, Gerganov\u2019s ggml.ai joined Hugging Face to ensure the long-term sustainability of the project. It\u2019s truly community-driven, MIT-licensed, and under active development with 450+ contributors.

llama-swap handles multi-model orchestration, loading, unloading, and hot-swapping models on demand behind a single API endpoint. Pair it with LiteLLM and you get a unified OpenAI-compatible proxy that routes across multiple backends with proper model aliasing.

LM Studio gives you a GUI if that\u2019s what you want. It uses llama.cpp under the hood, exposes all the knobs, and supports any GGUF model without lock-in. Jan is another open-source desktop app with a clean chat interface and local-first design. Msty offers a polished GUI with multi-model support and built-in RAG. koboldcpp is another option with a web UI and extensive configuration options.

Red Hat\u2019s ramalama is worth a look too, a container-native model runner that explicitly credits its upstream dependencies front and center. Exactly what Ollama should have done from the start.", "date_published": "2026-04-18T06:36:25+00:00", "title": "\u4e3a\u4ec0\u4e48\u4f60\u8be5\u505c\u6b62\u4f7f\u7528 Ollama", "id": "t/1206839" }, { "author": { "url": "member/s2555", "name": "s2555", "avatar": "https://cdn.v2ex.com/avatar/72e8/1de9/42293_large.png?m=1393046855" }, "url": "t/1206176", "date_modified": "2026-04-16T06:42:47+00:00", "content_html": "\u6709\u6ca1\u6709\u4eba\u8dd1\u672c\u5730\u5927\u6a21\u578b\u517b\u9f99\u867e\uff0c\u591a\u5927\u663e\u5b58\u80fd\u7528\u5f97\u723d\u4e00\u70b9\uff1f\u6211\u6253\u7b97\u4e70\u4e2a 4090 \u9b54\u6539 48G \u7684\uff0c\u591f\u7528\u4e86\u5417\uff1f", "date_published": "2026-04-15T12:39:31+00:00", "title": "\u672c\u5730\u5927\u6a21\u578b\u591a\u5927\u663e\u5b58\u591f\u7528\uff1f", "id": "t/1206176" }, { "author": { "url": "member/sqshanyao", "name": "sqshanyao", "avatar": "https://cdn.v2ex.com/avatar/e93a/90d3/429516_large.png?m=1704856863" }, "url": "t/1206039", "date_modified": "2026-04-16T00:43:35+00:00", "content_html": "\u6709\u4e00\u53f0\u516b\u5361 llgpu \u670d\u52a1\u5668\uff0c\u60f3\u641e\u4e00\u4e2a\u672c\u5730 AI \u7f16\u7801\uff0c\u6c42\u53ef\u9760\u65b9\u6848", "date_published": "2026-04-15T04:49:38+00:00", "title": "\u6c42\u53ef\u9760\u672c\u5730 vibe coding\uff0c\u6709\u516b\u5361\u7684 L20 \u670d\u52a1\u5668", "id": "t/1206039" }, { "author": { "url": "member/Ken1028", "name": "Ken1028", "avatar": "https://cdn.v2ex.com/gravatar/75ea3ece0c0c4ddafe9c5cd23baece73?s=73&d=retro" }, "url": "t/1205378", "date_modified": "2026-04-14T07:57:48+00:00", "content_html": "", "date_published": "2026-04-13T00:55:57+00:00", "title": "\u60f3\u638f\u4e00\u53f0 Mac mini M4 Pro 64G \u8dd1 gemma4 31b Q4 \u63a5 openclaw \u5904\u7406\u65e5\u5e38\u7684\u95ee\u9898\uff0c\u6709\u4eba\u6d4b\u8bd5\u8fc7\u901f\u5ea6\u5417\uff1f", "id": "t/1205378" }, { "author": { "url": "member/RatioPattern", "name": "RatioPattern", "avatar": "https://cdn.v2ex.com/avatar/23ea/ed19/568767_large.png?m=1641974029" }, "url": "t/1205176", "date_modified": "2026-04-11T13:56:03+00:00", "content_html": "

70B \u4ee5\u4e0b 32B \u5de6\u53f3\u7684

\n", "date_published": "2026-04-11T13:55:39+00:00", "title": "32B \u672c\u5730 vibe coding \u6709\u80fd\u7528\u7684\u6a21\u578b\u5417", "id": "t/1205176" }, { "author": { "url": "member/dacapoday", "name": "dacapoday", "avatar": "https://cdn.v2ex.com/avatar/0c18/0d1d/67392_large.png?m=1428157078" }, "url": "t/1204376", "title": "Gemma4 + LiteRT-LM \u771f\u5f97\u6709\u70b9\u7684\u4e1c\u897f, e2b \u5185\u5b58\u4ec5 2G \u5de6\u53f3\u5360\u7528, \u5728 \u5929\u7391 \u7684\u5b89\u5353\u673a\u4e0a\u8dd1\u7684\u98de\u5feb.", "id": "t/1204376", "date_published": "2026-04-08T09:14:31+00:00", "content_html": "

\u5b89\u5353\u7528\u8fd9\u4e2a:\nhttps://github.com/google-ai-edge/gallery

\n

\u53e6\u5916\u5728 m2 mac \u4e0a\u76f4\u63a5\u8dd1 cli\nhttps://github.com/google-ai-edge/LiteRT-LM

\n

\u8fd9\u79cd\u6027\u80fd\u5df2\u7ecf\u5b8c\u5168\u53ef\u4ee5\u79bb\u7ebf\u8fd0\u884c \u9152\u9986 \u5c0f\u624b\u673a \u4e4b\u7c7b\u7684\u79c1\u5bc6\u573a\u666f.

\n" }, { "author": { "url": "member/ahdw", "name": "ahdw", "avatar": "https://cdn.v2ex.com/avatar/055e/a96e/328218_large.png?m=1774242106" }, "url": "t/1204156", "date_modified": "2026-04-08T23:57:39+00:00", "content_html": "Gemma4 E4B IT 4bit MLX \u80fd\u8dd1\u51fa\u51e0\u5341 tokens/s \uff0c\u4f46\u662f\u6709\u4ec0\u4e48\u7528\u5462\uff1f\u8bd5\u7740\u5728\u540c\u4e00\u5c40\u57df\u7f51\u91cc\u9762\u7684 Mac Mini \uff0c\u628a OpenCode \u7684 Quick \u7c7b\u6307\u5b9a\u6210\u5b83\uff0c\u4f46\u662f 12K \u4e0a\u4e0b\u6587\u90fd\u80fd\u62a5\u9519\uff0ctensors cannot be broadcast \u3002\u8fd9\u73a9\u610f\u513f\u5230\u5e95\u6709\u4ec0\u4e48\u7528\uff1f

\u4e5f\u8bd5\u4e86\u4e00\u4e0b Jackrong \u7684 Qwopus 3.5 9B 6bit MLX \uff0c\u8fd8\u662f\u53ea\u80fd\u5f53\u5355\u6b21\u804a\u5929\u56de\u590d\u673a\u5668\u4eba\u7528\uff0c\u63a5\u5165 OpenCode \u5c31\u62a5\u9519\u3002

\u5b9e\u5728\u662f\u60f3\u4e0d\u51fa\u6765\u672c\u5730 LLM \u6709\u4ec0\u4e48\u7528\u3002

\u52a0\u94b1\u6362 64G \u7684\u65b0\u673a\u5668\uff1f\u90a3\u94b1\u4e70 Coding Plan \u90fd\u591f\u7528\u591a\u957f\u65f6\u95f4\u4e86\uff0c\u4e0d\u6bd4\u672c\u5730\u6a21\u578b\u5f3a\u591a\u4e86\u3002", "date_published": "2026-04-07T16:29:58+00:00", "title": "\u95f2\u7f6e 16GB M1 Pro MBP \u8dd1\u5927\u6a21\u578b", "id": "t/1204156" }, { "author": { "url": "member/wali77", "name": "wali77", "avatar": "https://cdn.v2ex.com/avatar/eded/7e34/625682_large.png?m=1756556242" }, "url": "t/1204041", "date_modified": "2026-04-08T02:57:06+00:00", "content_html": "\u73b0\u5728\u7528\u7684\u662f macbook air \u8dd1\u9f99\u867e\uff0c\u53d1\u73b0 API \u8d3c\u8d35\uff0c\u77ed\u77ed\u51e0\u53e5\u8bdd\u82b1\u4e86\u6211 150.....

\u60f3\u7740\u7528 mac studio \u8fd0\u884c gemma4,\u5927\u90e8\u5206\u7684\u4efb\u52a1\u5c31\u4e0d\u7528\u63a5 API \u4e86

\u5927\u5bb6\u6709\u8bd5\u8fc7\u4e48\uff1f", "date_published": "2026-04-07T07:47:37+00:00", "title": "\u6709\u4eba\u7528 mac studio \u6d4b\u8bd5\u8fc7 gemma4 31b 16 \u5417", "id": "t/1204041" }, { "author": { "url": "member/andyskaura", "name": "andyskaura", "avatar": "https://cdn.v2ex.com/avatar/b316/d75e/520804_large.png?m=1749177318" }, "url": "t/1203908", "date_modified": "2026-04-07T02:34:16+00:00", "content_html": "\u4e4b\u524d\u4f7f\u7528 deepseek qwen \u5728\u8d85\u8ff7\u4f60\u6a21\u578b\uff08 32b \u4ee5\u4e0b\uff09\u4e0a\u5199\u5c0f\u8bf4\uff0c\u57fa\u672c\u9a74\u5507\u4e0d\u5bf9\u9a6c\u5634\u3002
\u8fd9\u6b21\u7684\u8c37\u6b4c\u7684\u6a21\u578b\u786e\u5b9e\u725b\u903c\u4e86\u3002
\u672c\u5730\u90e8\u7f72\u672a\u5ba1\u67e5\u7248\u672c\uff0c\u7b80\u76f4\u5c31\u662f\u5199\u6587\u5229\u5668


1050ti\uff1a
", "date_published": "2026-04-07T01:27:11+00:00", "title": "gemma4:e4b \u7684\u6548\u679c\u51fa\u4e4e\u610f\u6599\uff0c 1050ti \u4e5f\u80fd\u5f88\u597d\u7684\u751f\u6210\u6587\u7ae0", "id": "t/1203908" }, { "author": { "url": "member/wszzh", "name": "wszzh", "avatar": "https://cdn.v2ex.com/avatar/ef44/91cb/554353_large.png?m=1775623879" }, "url": "t/1203630", "date_modified": "2026-04-08T11:44:18+00:00", "content_html": "

\u5982\u9898\uff0c\u770b\u5230\u597d\u591a\u6587\u7ae0\u90fd\u5728\u8bf4 Gemma 4 \u3002\u6216\u8bb8\u79c1\u4eba AI \u52a9\u624b\uff0c\u662f\u4e0d\u662f\u8981\u6210\u4e3a\u6807\u914d\u4e86\uff1f

\n", "date_published": "2026-04-05T04:09:00+00:00", "title": "\u8c37\u6b4c\u7684 Gemma 4 \u600e\u4e48\u6837\uff0c\u6709\u5fc5\u987b\u8981\u672c\u5730\u5f04\u4e00\u4e0b\u5417", "id": "t/1203630" }, { "author": { "url": "member/workbest", "name": "workbest", "avatar": "https://cdn.v2ex.com/avatar/3f0d/63a0/784404_large.png?m=1772172632" }, "url": "t/1203495", "title": "2 \u5e74\u4ee5\u540e\u7684\u786c\u4ef6\u548c\u672c\u5730\u5927\u6a21\u578b", "id": "t/1203495", "date_published": "2026-04-04T03:44:07+00:00", "content_html": "

\u4eca\u5e74\u5185\u5b58\u662f\u5927\u6982\u7387\u4e0d\u4f1a\u964d\u4ef7\u4e86

\n

\u968f\u7740\u4ef7\u683c\u7684\u523a\u6fc0\u548c\u4ea7\u80fd\u7684\u63d0\u5347\uff0c\u4ee5\u53ca\u5bf9\u672c\u5730\u5927\u6a21\u578b\u7684\u9700\u6c42\uff0c2 \u5e74\u4ee5\u540e 256G \u5185\u5b58\u80fd\u5426\u5f97\u5230\u666e\u53ca\uff1f

\n

256G \u5185\u5b58\uff0c\u52a0\u4e0a\u672c\u5730\u6a21\u578b\u7684\u53d1\u5c55\uff0c\u5e94\u8be5\u53ef\u4ee5\u5728\u672c\u5730\u8fd0\u884c\u4e00\u4e9b\u975e\u5e38\u4e0d\u9519\u7684 coding \u6a21\u578b\u4e86

\n" }, { "author": { "url": "member/unt", "name": "unt", "avatar": "https://cdn.v2ex.com/avatar/791c/37c0/562494_large.png?m=1756623194" }, "url": "t/1203454", "date_modified": "2026-04-03T16:45:05+00:00", "content_html": "Qwen-plus \u90a3\u4f1a\u513f\u521a\u51fa\u6765\u7684\u65f6\u5019\u5439\u5f97\u5f88\u5389\u5bb3\uff0c\u6211\u5de5\u4f5c\u4e2d\u4e5f\u8f6c\u5411\u4e86 Qwen-plus \uff0c\u6301\u7eed\u7528\u4e86\u4e00\u4e2a\u591a\u6708\uff0c\u4e3b\u8981\u662f\u95ee\u5de5\u4f5c\u4e2d\u7684\u4e00\u4e9b\u95ee\u9898\uff08\u8f6f\u4ef6\u76f8\u5173\uff0c\u4f46\u662f\u5e76\u975e\u8ba9\u5b83\u5199\u4ee3\u7801\uff09\uff0c\u611f\u89c9\u4e00\u822c\u822c\uff0c\u6709\u4e00\u6b21\u53ef\u80fd\u5b83\u7b54\u9519\u4e86\uff0c\u6211\u5b9e\u5728\u53d7\u4e0d\u4e86\u4e86\uff0c\u53c8\u5207\u56de\u4e86 deepseek \uff0c\u6211\u7684\u5929\uff0c\u611f\u89c9 DeepSeek \u592a\u806a\u660e\u4e86\u3002 \u7136\u540e\u6700\u8fd1\u4f7f\u7528\u7684\u4e5f\u57fa\u672c\u90fd\u662f deepseek+Google AI \u641c\u7d22+cursor \u3002\u6240\u4ee5\uff0c\u8bf7\u95ee\u5404\u4f4d\uff0cQwen-plus \u7684\u80fd\u529b\u7a76\u7adf\u548b\u6837\uff1f", "date_published": "2026-04-03T16:41:09+00:00", "title": "\u4e3a\u4ec0\u4e48 Qwen \u5439\u8fd9\u4e48\u725b\uff0c\u4f46\u662f\u7528\u8d77\u6765\u4f53\u9a8c\u8fd9\u4e48\u62c9\u554a\uff0c\u5b83\u7684\u771f\u5b9e\u80fd\u529b\u7a76\u7adf\u600e\u4e48\u6837", "id": "t/1203454" }, { "author": { "url": "member/unt", "name": "unt", "avatar": "https://cdn.v2ex.com/avatar/791c/37c0/562494_large.png?m=1756623194" }, "url": "t/1203450", "date_modified": "2026-04-08T02:57:29+00:00", "content_html": "", "date_published": "2026-04-03T16:01:43+00:00", "title": "Gemma 4 31B \u5927\u6982\u4ec0\u4e48\u6c34\u5e73\uff0c\u672c\u5730\u90e8\u7f72\u662f\u4e0d\u662f\u53c8\u6210\u4e3a\u73b0\u5b9e\u4e86", "id": "t/1203450" }, { "author": { "url": "member/workbest", "name": "workbest", "avatar": "https://cdn.v2ex.com/avatar/3f0d/63a0/784404_large.png?m=1772172632" }, "url": "t/1203064", "title": "qwen \u672c\u5730\u5927\u6a21\u578b\u7684\u95ee\u9898", "id": "t/1203064", "date_published": "2026-04-02T04:01:09+00:00", "content_html": "

\u6211\u7684\u673a\u5668\u662f M1 Pro \uff0c32G \u5185\u5b58\uff0c\u90e8\u7f72\u672c\u5730\u6a21\u578b\u4e3b\u8981\u662f\u4e24\u4e2a\u9700\u6c42\uff1a

\n
    \n
  1. \u7ffb\u8bd1
  2. \n
  3. \u603b\u7ed3\u5e76\u505a\u7b80\u5355\u7684\u5206\u6790\u63d0\u53d6\u5185\u5bb9
  4. \n
\n

\u6211\u4e00\u5f00\u59cb\u4f7f\u7528\u7684\u662f qwen3.5-9b \u548c qwen3.5-4b \u7684\u6a21\u578b\uff0c\u6d4b\u8bd5\u7684\u65f6\u5019\uff0c\u53ef\u4ee5\u7528\uff0c\u4f46\u662f\u5728\u5b9e\u9645\u8dd1\u8d77\u6765\u7684\u65f6\u5019\uff0c\u53d1\u73b0 qwen \u4f1a\u65e0\u9650\u601d\u8003\uff0c\u7ecf\u5e38 10 \u5206\u949f\u90fd\u6ca1\u6709\u4efb\u4f55\u54cd\u5e94\uff1b\u540e\u6765\u6362\u6210\u4e86 qwen3-4b \u7684\u6a21\u578b\uff0c\u6548\u679c\u6bd4\u8f83\u597d\uff0c\u5f88\u5c11\u51fa\u73b0\u65e0\u9650\u601d\u8003\u7684\u95ee\u9898

\n" }, { "author": { "url": "member/turfbook", "name": "turfbook", "avatar": "https://cdn.v2ex.com/avatar/c904/1cfd/20269_large.png?m=1778507289" }, "url": "t/1202751", "date_modified": "2026-04-02T01:24:20+00:00", "content_html": "\u5982\u679c Claude / Codex \u7b49\u90fd\u4e0d\u80fd\u7528\u4e86, \u6709\u6ca1\u6709\u54ea\u4e2a\u672c\u5730\u6a21\u578b\u53ef\u4ee5 Fallback ?", "date_published": "2026-04-01T03:23:54+00:00", "title": "\u597d\u5947\u6709\u6ca1\u6709\u4eba\u7528\u672c\u5730\u6a21\u578b\u5199\u4ee3\u7801?", "id": "t/1202751" }, { "author": { "url": "member/Hermitist", "name": "Hermitist", "avatar": "https://cdn.v2ex.com/gravatar/da6c1e355f86d79cd2887cb34a3c864e?s=73&d=retro" }, "url": "t/1202513", "date_modified": "2026-04-02T01:24:09+00:00", "content_html": "\u6211\u7528\u4e86 qwen3.5-27B \u80fd\u8dd1\u4f46\u662f\u6bd4\u8f83\u6162, \u6362\u6210 9B \u7684\u6bd4\u8f83\u5feb\u4f46\u4e0d\u592a\u806a\u660e.

\u6211\u672c\u5730\u7528\u7684\u63a8\u7406\u6846\u67b6\u662f omxl, \u7136\u540e\u7528\u5c0f\u9f99\u867e\u5bf9\u63a5, \u5e72\u6d3b\u662f\u80fd\u5e72\u6d3b,\u5c31\u662f\u6709\u70b9\u6162, \u5f53\u7136\u548c codex \u4e0d\u80fd\u6bd4, \u53ef\u60dc codex/claude code \u8fd9\u4e9b key \u70e7\u7684\u592a\u5feb, \u8981\u7b49 7 \u5929\u540e, \u8fd9\u4e5f\u662f\u6211\u672c\u5730\u8dd1\u5927\u6a21\u578b\u8ffd\u53bb\u65e0\u9650 token \u7684\u521d\u8877.

\u8bf7\u95ee\u5404\u4f4d\u80fd\u7ed9\u4e88\u6211\u7684\u914d\u7f6e\u63a8\u8350\u51e0\u4e2a\u66f4\u597d\u66f4\u806a\u660e\u7684\u5927\u6a21\u578b\u5417?

\u53e6\u5916\u57fa\u4e8e\u521a\u51fa\u7684\u8c37\u6b4c atomic chat, \u8fd9\u51e0\u5929\u6709\u4eba\u9006\u5411\u4f18\u5316\u4e86\u5b83, \u53f7\u79f0\u5728\u666e\u901a\u7684 macbook \u4e0a\u4e5f\u53ef\u6d41\u7545\u52a0\u8f7d 35B \u5927\u6a21\u578b\uff0cKV \u7f13\u5b58\u76f4\u63a5\u538b\u7f29 4.6 \u500d,\u4e0d\u5230\u4e00\u5468\u5c31\u6709 1.5K stars \u4e86.

\u8fd9\u662f github \u4ed3\u5e93\u5730\u5740 https://github.com/TheTom/turboquant_plus

\u4e0d\u8fc7\u5b83\u662f\u52a0\u8f7d\u8fdb llama.cpp \u90e8\u7f72, \u8fd9\u4e2a\u5207\u6362\u6a21\u578b\u9700\u8981\u624b\u52a8, \u6211\u61d2\u5f97\u6298\u817e\u4e86, V \u7ad9\u6709\u95f2\u7684\u4eba\u53bb\u6298\u817e\u4e0b, \u7136\u540e\u544a\u8bc9\u6211\u5b9e\u9645\u6548\u679c\u5427, \u53ef\u4ee5\u7684\u8bdd\u6211\u51c6\u5907\u7167\u6284\u4f5c\u4e1a.


\u53e6\u5916\u9644\u52a0\u4e0a\u5f53\u524d qwen3.5-9b \u7684 tokens \u7528\u91cf, \u771f\u7684\u5f88\u5feb, \u968f\u4fbf\u8ba9\u5c0f\u9f99\u867e\u5e72\u70b9\u6d3b\u5c31\u4e0a\u5343\u4e07 token.

", "date_published": "2026-03-31T06:52:04+00:00", "title": "macbook 32G \u5185\u5b58, M5 \u82af\u7247\u672c\u5730\u8dd1\u5927\u6a21\u578b\u6709\u63a8\u8350\u7684\u5417?", "id": "t/1202513" }, { "author": { "url": "member/weishao666", "name": "weishao666", "avatar": "https://cdn.v2ex.com/gravatar/690f81902891f1bb72bbf56f0b551838?s=73&d=retro" }, "url": "t/1201088", "date_modified": "2026-03-26T07:22:26+00:00", "content_html": "

\"\"

\n

\u672c\u5730\u90e8\u7f72 deepseek 70B \u7684\u6a21\u578b\uff0c\u95ee\u7b54\u51e0\u8f6e\u4e4b\u540e\u5c31\u4e71\u7801\u4e86\uff0c\u600e\u4e48\u56de\u4e8b\uff1f\u6211\u540c\u4e8b\u8bf4\u4e00\u822c\u90e8\u7f72\u7684\u672c\u5730\u6a21\u578b\u591a\u8f6e\u95ee\u7b54\u4e4b\u540e\u5c31\u53ef\u80fd\u4f1a\u6709\u8fd9\u4e2a\u95ee\u9898\uff1f

\n", "date_published": "2026-03-25T10:56:42+00:00", "title": "\u672c\u5730\u90e8\u7f72 deepseek 70B\uff0c\u56de\u7b54\u4e71\u7801", "id": "t/1201088" }, { "author": { "url": "member/catyun88", "name": "catyun88", "avatar": "https://cdn.v2ex.com/avatar/6465/e524/700896_large.png?m=1759637564" }, "url": "t/1200033", "date_modified": "2026-03-22T00:19:39+00:00", "content_html": "

\u5982\u9898 3090 \u6da1\u8f6e 24G \u5ba2\u6237\u62ff\u6765\u8dd1\u6587\u672c\u5411\u91cf\u6a21\u578b,\u914d\u7684\u94c2\u91d1 8259CL \u7684\u5904\u7406\u5668 \u662f\u4e0d\u662f\u6709\u70b9\u8fc7\u5269

\n", "date_published": "2026-03-21T09:28:58+00:00", "title": "3090 \u8dd1\u6587\u672c\u5411\u91cf\u6a21\u578b\u53ef\u4ee5\u4e48\uff1f 3090 \u662f\u4e0d\u662f\u6709\u70b9\u8fc7\u5269\uff1f", "id": "t/1200033" }, { "author": { "url": "member/Eleutherios", "name": "Eleutherios", "avatar": "https://cdn.v2ex.com/avatar/7c49/4a43/93623_large.png?m=1709687727" }, "url": "t/1198482", "title": "\u5bb6\u7528\u673a\u5e26\u5bbd\u592a\u5c0f\u73a9\u4e0d\u8f6c local llm \u554a", "id": "t/1198482", "date_published": "2026-03-15T16:37:34+00:00", "content_html": "\u73b0\u5728\u7b97\u529b\u8fc7\u5269\uff0c\u74f6\u9888\u90fd\u662f\u663e\u5b58\u5e26\u5bbd\u548c\u663e\u5b58\u5927\u5c0f\uff0c\u641c\u4e86\u4e00\u5708\uff0c\u611f\u89c9\u5c31\u4e24\u4e2a\u65b9\u6848\u6709\u4e9b\u53ef\u884c\u6027

\u4e00\u662f qwen3 embedding 8b int8 \uff0c\u7ed9\u672c\u5730\u77e5\u8bc6\u5e93\u505a\u5411\u91cf\u5316\uff0c\u7ed3\u5408\u4e91\u7aef API \uff0c\u5e94\u8be5\u80fd\u7701\u4e00\u4e9b tokens \uff0c\u914d\u7f6e\u7684\u8bdd\uff0c16G \u663e\u5b58\u7684 N \u5361\u90fd\u5927\u5dee\u4e0d\u5dee\uff0c\u6216\u8005 Apple M4 + 32G \uff1f\u60f3\u8bd5\u8bd5\u7ed9 claude code \u52a0\u4e2a local embedding mcp

\u4ece\u8fd9\u4e2a\u89d2\u5ea6\u8bb2\uff0cM4+32G \u786e\u5b9e\u662f\u4e2a\u633a\u597d\u7684\u914d\u7f6e

\u4e8c\u662f\u4e70\u5f20\u9b54\u6539\u7684 4090 48G \uff0c\u53ef\u4ee5\u8dd1 30b int8 \u6216\u8005 70b int4 \uff0c\u53ef\u4ee5\u7528 QLoRA \u8c03\u4e00\u4e0b\u6a21\u578b\uff0c\u73a9\u73a9 SillyTavern \uff1f\u4f46\u770b\u7f51\u8bc4\u8fd8\u662f\u6bd4\u4e91\u7aef API \u5dee\u592a\u591a\uff0c\u6240\u4ee5\u4f30\u8ba1\u53ea\u6709 \u5218\u5907 \u73a9\u5bb6\u503c\u5f97\u4e00\u8bd5\uff1f

\u4e0d\u77e5\u9053 3 \u5e74\u540e\uff0c\u56fd\u4ea7 HBM+\u56fd\u4ea7 GPU \u80fd\u4e0d\u80fd\u628a\u5927\u5185\u5b58\u63a8\u7406\u663e\u5361\u7684\u4ef7\u683c\u6253\u4e0b\u6765\u2026\u2026\u73b0\u5728 Local LLM \u8fd8\u662f\u4e0d\u592a\u884c" }, { "author": { "url": "member/pangfahe", "name": "pangfahe", "avatar": "https://cdn.v2ex.com/gravatar/e775df4e38952f299a9c50f937580550?s=73&d=retro" }, "url": "t/1197640", "title": "\u60f3\u90e8\u7f72\u672c\u5730\u5927\u6a21\u578b\u6765\u5206\u6790\u80a1\u7968\u8d8b\u52bf\uff0c\u6709\u6ca1\u6709\u4e13\u95e8\u9488\u5bf9\u80a1\u7968\u7684\u5927\u6a21\u578b\uff1f", "id": "t/1197640", "date_published": "2026-03-12T02:36:26+00:00", "content_html": "

\u4e4b\u524d\u4e00\u76f4\u90fd\u662f\u7528 ds \u6765\u5206\u6790\u80a1\u7968\u6570\u636e\uff0c\u4eca\u5929\u7a81\u7136\u597d\u5947\uff0c\u6709\u6ca1\u6709\u4e13\u95e8\u9488\u5bf9\u80a1\u7968\u7684\u5927\u6a21\u578b\uff1f\u6700\u597d\u662f\u53ef\u4ee5\u90e8\u7f72\u5728\u672c\u5730\u7684\u3002

\n" } ] } ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86