AI就像一匹马:关于AI能力与边界的绝佳隐喻
这篇文章巧妙地将AI比作一匹“马”,深刻剖析了其能力边界。A...
这篇文章巧妙地将AI比作一匹“马”,深刻剖析了其能力边界。A...
开发者推出了一款名为 zTerm 的现代化终端模拟器,采用 ...
WorkAny 是一款开源的桌面 AI Agent 产品,以...
一位Go开发者在构建支持从单体到微服务演进的脚手架“Crab...
本文以支持自定义API的AI狼人杀游戏为例,深入分析了当前A...
在主流媒体聚焦AI能力的当下,Linux.do社区发起了一场...
埃隆·马斯克近日发表惊人言论,称在太空建设太阳能AI数据中心...
开源AI工具AMC发布重要更新,深度集成Gemini生态。新...
谷歌宣布对其可编程搜索引擎产品进行重大调整,限制小众搜索引擎...
针对 Claude Code 用户多账号管理的痛点,一款基于...
一位开发者分享了尝试使用 Claude Code 的经验,重...
独立开发者分享了 Flutter 金融 App 的性能优化实...
清华大学地球系统科学团队推出AutoGIS,一个面向自然语言请求的自动化地理空间分析智能体系统,相关论文已在国际学术期刊发表,代码与模型同步开源。该系统针对城市管理、环境监测和灾害管理等场景中地理空间分析自动化程度不足的问题,采用将自动化过程视为代码生成的技术思路,把可验证约定与运行环境反馈作为顶层设计。AutoGIS由数据和编程两大智能体构成:数据智能体基于地理资源知识图谱GAKG,实现路径无关的数据发现、数据获取、数据处理和可信度检验,输出可供分析的数据及其约定;编程智能体依据这些约定和PyQGIS算法约定生成并运行代码,借助堆栈和日志信息实现自我修复。团队还提出三阶段阶梯式对齐策略,训练出专门面向GIS领域的QGIS-GPT大模型,重点提升长尾算子的理解与调用能力。实验表明,该系统在多源地理空间任务的资源检索、任务编排、算法理解、代码生成及修复效果等方面均有提升,并通过缓冲区分析、归一化植被指数(NDVI)变化监测、土地利用监督分类三个案例展示了端到端操作能力。项目代码已托管于GitHub,QGIS-GPT模型上线ModelScope平台,为自动地理建模的进一步发展奠定了基础。
核心观点:垂直智能体的胜负手不在通用模型能力,而在领域约定的工程化落地,AutoGIS用知识图谱加自修复闭环提供了可复制范式。
原文链接:Linux.do
科技论坛 Linux.do 上出现了名为 AgentSeed 的开源系列项目,旨在系统记录 Agent 内核开发经验,第一篇教程以大模型 API 调用为起点展开。作者指出,日常通过网页或桌面应用使用 AI 时,客户端实际上只完成了收集输入、发送请求、展示结果三件事,真正理解问题和生成回答的是远程模型服务。而直接使用 AI 与用代码调用 AI 的核心区别在于谁控制调用过程——前者受限于预设功能,后者可实现灵活的个性化定制。教程随后演示了构建命令行对话“Agent 原型机”的完整过程:项目托管于 GitHub,读者克隆仓库并切换至 v0.1 版本即可运行。代码使用 Python 的 httpx 库向模型服务发送 HTTP POST 请求,需配置 base_url(服务地址)、api_key(访问密钥)、model(模型名称)三个参数。作者选择以 v1/messages 结尾的 Anthropic Messages API 格式,理由是该格式相对稳定且被广泛使用。文章以“你是谁、找谁、什么事”类比请求头、访问地址、请求体的作用,并逐字段解析了模型返回的 JSON 响应,包括 content 内容块、stop_reason 停止原因、usage 中的 Token 消耗等。作者特别提醒,实际响应中 content 列表可能包含 thinking 思考块,第一个块不一定是正文,需遍历筛选 type 为 text 的内容。系列后续将逐步演进为完整的 Agent Loop。
核心观点:Agent 框架泛滥的当下,绕过封装直连 API 的原理级教学,正是开发者从“套壳”走向“内功”的必经之路。
原文链接:Linux.do
一位开发者因不满ccswitch频繁篡改API与URL配置的问题,自主开发了开源项目APISwitch,并在Linux.do社区发布。该项目定位为面向多个AI Agent工具的第三方供应商切换应用,融合了ccswitch与Antigravity Tools两款工具的核心功能。在Antigravity相关功能上,用户登录谷歌账户后可快速切换账号,并直接查看各账号的用量额度,免去重复登录的麻烦;同时支持从Antigravity Tools一键导入账号。开发者原计划实现一键激活5小时限额的功能,但因存在bug暂时隐藏了按钮,留待后续优化。在其他功能方面,APISwitch的基本逻辑与ccswitch类似:导入供应商、获取模型列表后即可在对应Agent内使用。当前版本已支持Codex、Claude Code、Claude Desktop、OpenCode、Pi等主流Agent工具;Grok与Antigravity CLI因用户较少暂未适配,后续视需求添加。OpenCode与Pi还可主动读取本地配置并导入APISwitch,设置中可修改本地路由端口。后续更新计划包括多语言支持、用量监控统计以及对更多Agent的适配。值得一提的是,该项目由开发者借助Gemini模型完全编写而成,代码已在GitHub上完整开源,开发者也表示软件经验有限,欢迎用户反馈bug。
核心观点:大模型配额墙越筑越高,围绕多账号、多供应商管理的第三方工具正在填补官方留出的生态缝隙。
原文链接:Linux.do

看到 Ternary Bonsai 2 27B,后面又跟着 FP16、1.75 bpw、GGUF、262K Context,很容易觉得自己正在读一张显卡电路图。
先记住一个比喻:大模型是一台有几百亿个“小旋钮”的数学机器。 训练负责调整旋钮;使用模型时,机器根据这些位置处理输入,一步步生成回答。
这串术语主要在回答三个问题:有多少个旋钮?每个旋钮的位置记录得多精细?机器工作时,还需要多大的桌面?把参数、精度和运行内存分开,就能看懂一大半本地模型介绍。
本文用 Ternary Bonsai 2 27B 串起这些概念。产品数据核对于 2026 年 9 月 19 日,依据 PrismML 的官方模型卡与运行说明;文中的算式是估算,性能数据是发布方报告,本文没有进行本机模型实测。
一个语言模型的核心,是计算结构和训练好的数字。那些数字可能长这样:
0.183 -0.726 1.294 0.004 -0.532
结构规定“先算什么、后算什么”,数字决定每一步怎样影响结果。输入“中国的首都是”,模型会计算接下来各个文本片段出现的概率,再按生成规则逐步输出。模型也可能算错,或者给出看似流畅却不可靠的回答。
参数(Parameter) 是训练可以调整的数值位置。权重(Weight) 通常指参与计算的那些可学习数值。在本地模型的日常讨论里,两者经常近似混用;严格说,参数还可以包含偏置等其他可学习量。
借用旋钮比喻:参数是“可以调的旋钮”,权重值是“旋钮目前停在哪里”。知识和行为分散在大量参数及其相互作用中,不能找一个旋钮说“北京就存在这里”。
训练像反复做练习后调旋钮;推理(Inference) 则是用调好的机器处理新输入。普通聊天通常不会修改模型权重。对话中记得你的名字,主要是因为名字还在当前输入上下文里。
B 在模型名称中通常是 Billion,即十亿。
| 模型标注 | 约多少参数 |
|---|---|
| 1.7B | 17 亿 |
| 7B | 70 亿 |
| 14B | 140 亿 |
| 27B | 270 亿 |
| 70B | 700 亿 |
27B 描述的是数量,不是下载大小,也不是智力分数。训练数据、训练方法、模型结构和后训练都会影响表现,参数更多不能单独证明回答更好。
PrismML 将 Bonsai 2 27B 的母模型列为 Qwen3.8-27B,总参数约 27.36B,其中包含视觉部分。因此,把“全模型参数总量”直接乘平均位宽,未必能精确还原“纯语言权重文件”的大小。官方 GGUF 模型卡
同一个旋钮位置,可以记录为 0.72849365,也可以近似写成 0.73。记录方式越节省,通常就越难保留全部细节。
计算机用 bit,位 表示最基本的二进制信息。8 bit 等于 1 Byte,也就是 1 字节。注意这里的两个 B:27B 中的 B 是十亿,GB 中的 B 是字节。
FP16 是一种 16 位浮点数格式。它用总共 16 bit 表示一个数,包含符号、指数和有效数字。可以把它想成一种有限长度的科学计数法。“16 位”不等于“小数点后 16 位”。
如果用恰好 270 亿个权重做算术演示,每个都用 FP16 保存:
270 亿 × 16 bit ÷ 8
= 540 亿 Byte
≈ 54 GB
54 GB 主要来自大量数值的存储需求。它不能用来推算模型“背下了多少篇文章”。
INT8 是 8 位整数表示。Q4、Q5、Q8 等名字,则常被用来标识量化方案或精度档位。理解文件大小,可以先看一个简化表:
| 每个权重的位数 | 270 亿个权重的理论大小 |
|---|---|
| 16 bit | 54 GB |
| 8 bit | 27 GB |
| 4 bit | 13.5 GB |
| 2 bit | 6.75 GB |
这里使用十进制 GB,即 10 亿字节。系统工具还常用 GiB,1 GiB 等于 1,073,741,824 字节;同一文件用这两个单位显示,数字会不同。
表中只算了权重主体。真实文件还可能包含缩放因子、部分高精度参数和元数据。看到“4bit 模型”,不能要求下载文件恰好等于参数量乘 4 再除以 8。
量化(Quantization) 是把数值映射到更有限的表示集合。一个直观但不完整的例子是:
原始: 0.127 0.493 0.817 -0.263
近似: 0.1 0.5 0.8 -0.3
真实模型量化会考虑分组、缩放、数值分布和误差,远比逐个保留一位小数复杂。这个例子只说明:表示更粗,存储成本可以更低,误差也随之产生。
减少误差很重要。一个小偏差进入很多层计算后,可能影响最终选择哪个词,也可能影响推理过程。低位宽能否保住能力,取决于模型和压缩方法,不能简单列出“8bit 永远安全、2bit 一定不能用”的等级表。
压缩后也不保证更快。权重更小,搬运量可能减少;但拆包和恢复计算需要额外工作。运行软件有没有专门优化,往往决定了节省的空间能否换成更低的延迟。
这类量化还不同于给模型文件打 ZIP:ZIP 解压后恢复原来的数据;有损量化改变了数值表示,目标是在允许的误差内完成计算。
Binary 是二值,只有两种状态,例如 −1 和 +1。Ternary 是三值,常见状态为 −1、0、+1。给出零这个选项,可以让接近零的数有更合适的落点。
不过,把 −0.72、0、+0.69 直接写成 −1、0、+1,数值大小就变了。因此还要加一个 Scale,缩放因子:
三值编码: -1 0 +1
组内比例尺:0.7
还原近似值:-0.7 0 +0.7
Group-wise scaling,分组缩放,就是让一小组权重共享一把比例尺。比例尺也要占空间,但比每个数都保存完整精度节省得多。
Bonsai 2 当前模型卡采用每 128 个权重共享一个 FP16 缩放因子的描述,还包含量化前的分块 Hadamard 旋转。可以把旋转粗略想成换一个坐标方向来表示这批数字,方便压缩;运行时必须配合对应变换。三值加比例尺只是入门理解,完整方法并非把原模型逐个四舍五入。权重表示说明
单独保存一个三值符号,直接用两位二进制最方便:四种编码里用掉三种即可。
把很多符号一起打包,就能减少浪费。例如 5 个三值符号共有 3⁵ = 243 种组合,而 8 bit 能表达 256 种组合。于是,5 个符号装进 8 bit,平均每个只用 1.6 bit。
一般地,大量三值符号的组合编码成本可以接近 log₂(3) ≈ 1.585 bit。这是编码空间的计算,不表示内存里真的有一颗“0.585 bit”的零件。
加上比例尺后,以每组 128 个权重计算:
三值编码成本 + 比例尺的平均成本
≈ 1.585 + 16 ÷ 128
≈ 1.710 bit / weight
bpw 就是 bits per weight,平均每个权重用了多少位。真正落盘还受打包方式、对齐和特殊参数影响,因此理论表示与文件体积需要分开看。
压缩记录方式后,仍然可以保留约 270 亿个参数位置。文件小了,不能直接判断模型被删成了 3B。
用相机作辅助类比:一张照片保持相同像素数量,也能因为有损编码而变小。模型量化同样可能减少细节,但照片“看着差不多”不能证明模型在所有任务上表现相同。
官方当前区分了几种口径:
| 口径或封装 | 约平均位宽 | 语言部分大小 |
|---|---|---|
| FP16 基线 | 16 bpw | 54 GB |
| 三值表示的理想口径 | 1.72 bpw | 5.8 GB |
| GGUF 的 PTQ1_0 | 1.75 bpw | 5.95 GB |
| GGUF 的 PQ2_0 | 2.13 bpw | 7.21 GB |
PTQ1_0 把三值符号紧密打包;PQ2_0 给每个符号留两位,解包的计算特点不同。两者各有适合的硬件,最小文件未必最快。官方封装与体积表
因此,早期介绍中的“约 1.76 bpw”不宜当成所有 Bonsai 2 文件的统一规格。下载时看完整文件名和当前模型卡,比只记一个宣传数字有用。
这里的约 5.9 GB 指语言部分。看图还涉及视觉组件,聊天还需要运行内存。27B 是参数规模,5.95 GB 是某种封装的文件大小,两者量的是不同东西。
Benchmark,基准测试,可以理解成给模型出的标准考卷。不同考卷测数学、代码、知识、视觉或工具调用,不同设置也会影响得分。
PrismML 当前模型卡给出的 14 项 thinking-mode 基准平均分是:FP16 参考模型 86.32,Bonsai 2 为 84.78。两者相除:
84.78 ÷ 86.32 × 100%
≈ 98.2%
这支持的说法是:在发布方这套测试与设置中,Bonsai 2 的平均分约为 FP16 参考模型的 98.2%。官方基准表
它不能换算成人类智商,也不能保证每个问题只下降 1.8%。综合平均值还可能掩盖单项差异:数学接近原版,不代表长文阅读或工具调用也接近。
如果你主要让模型改中文文案,自己的文章就是更贴近用途的考卷。如果用它查代码问题,就该拿真实代码和已知错误试。论文分数提供比较线索,日常任务决定是否合用。
有一份模型文件,还需要软件读取它、安排计算并调用硬件。
GGUF 是模型文件格式。 文件里可以装权重张量和相关元数据,例如结构、分词器与量化信息。类比视频中的 MP4,它说明包装方式,不能保证每个播放器都支持包装里面的每一种编码。GGUF 格式规范
llama.cpp 是模型推理软件。 它负责把兼容的模型跑起来,可以在不同硬件后端工作。于是有这样一条链路:
模型文件(GGUF)
→ 兼容的运行软件(如 llama.cpp)
→ CPU / GPU
→ 逐步生成回答
MLX 是机器学习框架。 它出自 Apple 机器学习研究团队,Apple Silicon 是其重要使用场景。在这条路线中,模型常用 safetensors 等文件配合配置与加载代码,因此“GGUF 和 MLX”并不是两个同级的文件格式。MLX 官方项目
Bonsai 2 对软件兼容性有额外要求。截至本文核对时,GGUF 文件需要 PrismML 适配的 llama.cpp;MLX 包也要求配套加载代码处理模型变换。只有程序能读到文件,不能证明它算对了。运行项目;MLX 加载说明
MLX 包的大小也不能照搬“5.9 GB”:当前模型卡列出语言部分约 7.67 GB,加上视觉部分后磁盘文件约 8.60 GB。框架的分组存储方式不同,可以让相同三值权重占用不同空间。MLX 封装说明
假设 GPU 是厨师,显存(VRAM) 就是它面前的操作台。厨房里能放下一本厚菜谱,不代表已经有空间摆锅、切菜和装盘。
模型推理主要涉及几类内存:
| 名词 | 工作台上的比喻 | 实际保存什么 |
|---|---|---|
| Weight,权重 | 固定的菜谱 | 已训练参数的表示 |
| KV Cache,键值缓存 | 随手备忘 | 注意力计算中可复用的历史键和值 |
| Activation,激活值 | 正在处理的食材 | 当前计算产生的中间结果 |
| 运行框架开销 | 厨具与周转空间 | 缓冲区、调度与其他运行数据 |
KV Cache 的“记忆”比喻尤其容易误导:它通常不是保存一份聊天原文,更不是把聊天内容训练进模型。它缓存已经算出的中间表示,让后续生成可以复用,少做重复计算。Hugging Face 缓存解释
估算运行需求时,可以先写下:
权重驻留 + 上下文缓存与状态 + 临时计算数据 + 框架开销
各部分分配在系统内存还是显存,要看软件和卸载设置。能够加载文件、能够生成短回答、能够流畅处理长文档,是三种不同的使用状态。
Token 是分词器把文本转换成的处理单位,可以对应一个词、词的一部分、一个字符或其他片段。它不是固定意义上的一个汉字;同一段文本在不同分词器中可能有不同长度。
Context,上下文窗口,表示模型一次处理时允许容纳的 token 范围。提示词、历史对话、工具返回和新生成内容通常都要考虑进去。标注 262K tokens,不等于 26 万个汉字,也不保证每一处细节都能被准确利用。
普通全注意力层需要为更多 token 保留 KV,因此上下文变长通常会增加缓存。混合注意力模型还包含其他状态,不能把某一个模型的每 token 用量套到全部模型上。
Bonsai 官方运行说明给出上限 262,144 tokens,并用 FP16 KV 约 64 KiB/token 做估算。按这个口径,100,000 tokens 约需 6.10 GiB;若 100K 指 100 × 1024,则是 6.25 GiB,接近文档写的约 6.3 GiB。官方上下文说明
把 5.95 GB 权重换算为约 5.54 GiB,再加 100,000 tokens 的约 6.10 GiB KV,已经约 11.64 GiB。这个加法还没有纳入其他运行开销,不能当成设备内存的购买下限。
软件也可能在启动时按配置的上下文容量预分配缓存。所以“刚开聊天就占了很多内存”,并不一定是泄漏。
tok/s 是 tokens per second,每秒处理或生成多少 token。比较数字时,要先看测的是哪个阶段。
Prefill,预填充,是读入并处理提示词。Decode,解码生成,是随后逐步产出 token。读一份长文档可能花很久,但开始回答后出字很快;一个生成速度数字无法描述这两段体验。
单人、小批量生成时,程序往往需要反复读取大量权重。算力够用但数据搬得慢,就会受到内存带宽限制。带宽可以想成仓库到工作台之间的运输能力。
如果每步要读约 6 GB 数据、有效带宽是 120 GB/s,极度简化的搬运预算就是每秒约 20 步。这个算式只帮助理解瓶颈,不是测速预测:缓存访问、其他运算、量化解包和硬件利用率都会改变结果。
Mac 上常说的 Unified Memory,统一内存,指 CPU、GPU 等组件共享内存池。MLX 可利用共享内存,减少设备间的数据搬运。MLX 的统一内存说明
共享不等于独占。24 GB 统一内存还要分给系统和其他应用,可供模型使用的部分也受运行环境限制。模型进程的占用,不能直接等同于整台机器应配备的容量。
所以,看到某台机器的 tok/s,至少要连着看硬件、封装格式、上下文长度和测试阶段。Bonsai 文件变小提供了机会,具体速度仍由整条运行链路决定。
现在再看这串介绍:
Ternary-Bonsai-2-27B
GGUF / PTQ1_0
约 1.75 bpw / 5.95 GB
262K Context / 98.2%
它描述了一组彼此相关、但不能互相替代的指标:
| 看到的名词 | 可以怎样理解 |
|---|---|
| 27B | 参数规模约 270 亿 |
| FP16 / 4bit / 2bit | 数值表示精度或量化档位 |
| Ternary | 权重主体采用三值表示 |
| Scaling | 用共享比例尺还原数值大小 |
| bpw | 平均每个权重的存储位数 |
| GGUF / PTQ1_0 | 外层文件格式 / 里面的具体封装方式 |
| llama.cpp / MLX | 运行软件 / 机器学习框架 |
| VRAM / Unified Memory | 显存 / 共享内存体系 |
| KV Cache / Activation | 历史计算缓存 / 当前中间结果 |
| Token / Context | 文本处理单位 / 上下文容量 |
| tok/s | 特定测试条件下每秒处理或生成的 token 数 |
| Benchmark / 98.2% | 测试方法 / 发布方报告的相对平均分 |
准备下载时,按这个顺序检查就够了:找到完整文件名和配套软件;确认权重大小;给准备使用的上下文留出空间;最后拿自己的任务检查速度和回答质量。
Bonsai 2 提供了一个很具体的例子:约 270 亿个“小旋钮”,可以用不同精度和封装保存成不同大小的文件。判断自己的电脑能不能用,还要把工作台一起算进去。
Linux.do社区用户发布了一款开源的DSH对话管理工具,旨在弥补DeepSeek官方网页端在对话管理上的功能缺失。开发者在使用过程中发现,官方界面仅提供归档功能,归档后的记录难以找回,且归档并不等于删除;对话不支持全局关键词搜索,查找历史内容十分麻烦;对话与项目均无法删除、回溯或导出,难以清理存储空间。针对这些痛点,该工具提供了完整的增删改查能力:可将对话在“使用中”与“已归档”状态间自由切换并管理全部对话;可真实删除对话完整数据,附带风险提醒与自动备份机制,便于误删后回溯恢复;可从任意历史对话处开分支继续,而非局限于最后一次对话;还支持跨对话全文检索。此外,工具提供三种粒度的导出功能,其中包含面向AI Agent的接手包。安装方面,用户可从GitHub下载压缩包后直接交由AI Agent完成部署,或通过git clone克隆仓库后运行Node.js服务,Windows用户双击批处理文件即可在浏览器中打开,操作方式接近官方界面。项目还附带开发文档DEVELOPMENT.md,便于开发者借助AI Agent按个人需求定制功能。项目已在GitHub完整开源,仓库地址为cleverbo01/DSH-Chat-Manager。
核心观点:大模型卷参数之时,对话数据的管理与主权正成为被忽视的体验刚需,社区工具正在填补官方盲区。
原文链接:Linux.do
一位开发者在 V2EX 分享了一款自行开发的 macOS 窗口切换工具,旨在替代系统原生的 Cmd+Tab 快捷键操作。该工具提供两种核心功能:其一,按下 Cmd+Tab 时显示应用列表,并在每个应用下方展示对应的窗口列表,用户可以直接定位到具体窗口;其二,按下 Cmd+`(反引号键)可显示当前激活应用的所有窗口列表,便于在同一应用的多个窗口间快速切换。项目介绍页面托管在 GitHub Pages 上。长期以来,macOS 的窗口管理机制被不少用户诟病:原生 Cmd+Tab 只在应用层面切换,无法直接跳转到某个具体窗口,而从 Windows 迁移过来的用户尤其不适应 Alt+Tab 与 Cmd+Tab 的行为差异,这一痛点此前已催生 AltTab、Contexts 等知名第三方替代工具。此次分享的工具在交互设计上采用应用与窗口两级列表的展示方式,将应用切换与窗口切换整合在同一界面中,同时保留 Cmd+` 作为独立管理当前应用窗口的快捷通道,兼顾了两类高频使用场景。该工具现已通过项目页面面向 macOS 用户开放。
核心观点:macOS 原生窗口管理的细节缺口长期未补,恰是独立开发者工具生态最坚实的生存土壤。
原文链接:V2EX 分享发现