计算科学中的共融性

Lobsters Hottest 新闻

摘要

作者讨论了伊万·伊里奇在《Tools for Conviviality》中提出的共融性概念,并将其应用于计算科学,指出与前数字工具相比,研究中的数字工具缺乏共融性,这带来了认知风险。

<p><a href="https://lobste.rs/s/pg7hce/conviviality_computational_science">评论</a></p>
查看原文
查看缓存全文

缓存时间: 2026/07/09 17:40

# Konrad Hinsen 的博客 来源:https://blog.khinsen.net/posts/2026/07/06/conviviality.html ## 计算科学中的“宜人技术” 2026\-07\-06科学 (https://blog.khinsen.net/tag/science.html),科学软件 (https://blog.khinsen.net/tag/scientific-software.html) “宜人技术”(Convivial technology)由伊万·伊里奇(Ivan Illich)在其1973年出版的《宜人工具》(Tools for Conviviality)一书中定义 (https://en.wikipedia.org/wiki/Tools_for_Conviviality)。它指的是支持“宜人社会”的技术——这种社会力求在不妨碍其他成员自主权的前提下,赋予每个成员尽可能多的自主行动能力。因此,宜人技术关乎平等,关乎消除支配关系。宜人技术由使用者根据自身需求塑造,而非受控于企业或政府等实体——这些实体通过施加控制进而对用户群体获得权力。 伊里奇举的一个例子是交通:自行车是宜人的,而铁路和汽车则不是。尤其是汽车,已演变成伊里奇所谓的“激进垄断 (http://olivier.hammam.free.fr/imports/auteurs/illich/tools3.htm#radi)”——一种强加给所有人的技术。一旦社会为适应汽车而改造了景观和基础设施,对大多数人而言,步行或骑车作为出行方式就变得不足了,这仅仅是因为如今的典型距离已变为驾车的典型距离,而非步行的。此外,如果将道路建设、交通事故、环境污染等成本计算在内,汽车出行的总体社会成本是巨大的。 近期一篇题为《数字去增长的宜人技术》(Conviviality for Digital Degrowth)的论文 (https://doi.org/10.4000/16954),由苏菲·昆顿 (https://adn.imag.fr/members/sophie.quinton/) 和让-贝尔纳·斯特凡尼 (https://adn.imag.fr/members/jean-bernard.stefani/index.html) 撰写,讨论了当今数字技术为何不具有宜人性,并概述了如何将其作为向去增长社会转型的一部分加以改变。这篇论文促使我最终写下自己的个人经历——这关乎一个更为谦逊的话题:数字技术在科学研究中的宜人性。这是我思考了三十年的事情,尽管直到近期我才了解伊里奇的著作和术语。 让我先从观察入手:科学研究中的大多数前数字技术*是*宜人的。理论工具(理论、模型等)完全在科学界内部发展演化,不属于任何个人或机构。科学仪器和实验装置要么由科学家设计,要么专门为科学家设计且与他们紧密合作完成。这两种工具均不受外部实体控制,可能除了CERN (https://home.cern/) 这类超大仪器之外。没有人能决定科学家不得再使用核磁共振波谱仪,也没有人能强迫他们用新型显微镜替换所有2000年前的旧型号。然而,随着数字工具的采用以及数字技术融入科学仪器,这一局面已经改变。理论工具如今常以软件形式存在,其复杂性使得用户无法洞悉其行为,并使他们面临因软件崩塌 (https://hal.science/hal-02117588v1) 而失去工具的风险。科学仪器越来越依赖内置计算机,而这恰恰带来了相同的问题。最后,数字技术还实现了数据的工业化规模生产(例如DNA测序),而这种技术本身也不是宜人的。 宜人性对科学的重要性有多重原因。其一是认识论层面:如果你想从工作中获得知识,就必须确切知道自己在做什么,这包括对工具的详细理解。此外,如果你还能反其道而行之——创造一种完全符合你需求的工具——研究将大为便利。由于科学是集体活动,参与者相互批评并基于彼此的工作进行构建,因此对工具的理解需要在学科内共享。尽管这种共享理解一直存在局限,特别是在特定物理装置或独特实验装置方面,但基于“尽力而为”原则建立共享理解始终是科学的隐性基础之一。然而,正如我在一篇关于科学软件信任问题的分析 (https://metaror.org/article/establishing-trust-in-automated-reasoning-2/) 中所讨论的,这种“尽力而为”在数字时代已被抛弃,而宜人性在其中扮演着重要角色。 20世纪80年代末,我开始为硕士和博士论文研究胶体悬浮液的计算机模拟时,研究软件仍然相当宜人。像大多数博士生一样,我编写中型的Fortran程序,这些程序可以在任何装有Fortran编译器的计算机上运行——从我在家使用的Atari ST (https://en.wikipedia.org/wiki/Atari_ST) 到用于生产运行的Cray X\-MP (https://en.wikipedia.org/wiki/Cray_X-MP)。其他科学家如果有足够动力,可以在几天内阅读并理解我的代码,而且我知道确实有人这么做了——因为我收到了他们发来的电子邮件提问。博士生之间相互查看并评论对方的程序也相当常见。那时的软件发布仍然罕见,但确实存在发布渠道,我最终在1993年发表了支撑我低雷诺数水动力学工作的主要代码库 (https://doi.org/10.1016/0010-4655(95)00029-F)。遗憾的是,我没有发布或妥善归档那些用于特定具体系统实际计算的小代码片段,这就是我的论文结果不再可重现的原因 (http://doi.org/10.5281/zenodo.3889694)。但那个库仍然像1993年一样正常工作,并且仍在吸引新用户。 当我转入博士后研究另一领域——生物分子模拟时,我发现了截然不同的世界。当时只有三个大型模拟程序供所有人使用:AMBER (https://en.wikipedia.org/wiki/AMBER)、CHARMM (https://en.wikipedia.org/wiki/CHARMM) 和 GROMOS (https://en.wikipedia.org/wiki/GROMOS)。只有极少数研究人员了解其细节并能够修改它们。其他人则只能计算软件允许他们计算的内容,而非他们真正想计算的内容。但即使只是正确使用软件,如果你不与开发团队有个人联系,也是个挑战——因为文档往往不完整且过时。生物分子模拟软件显然不是宜人的,我将此归因于其底层理论模型的复杂性。同时我也发现了有利于将软件权力集中的政治因素,但当时我并未将两者联系起来。 生物分子模拟的对象——蛋白质和核酸——比我博士期间研究的硬球胶体要复杂得多。用Fortran 77管理蛋白质结构及其上定义的力场既困难又繁琐。也许我们可以通过使用高级编程语言使生物分子软件更具宜人性?这个想法让我发现了Python语言,成为开发Numerical Python (https://doi.org/10.1063/1.4822400)(当今NumPy (https://numpy.org/) 的前身)的Matrix\-SIG (https://www.python.org/community/sigs/retired/matrix-sig/) 的创始成员,并编写了最早的科学Python库之一——分子建模工具包(Molecular Modelling Toolkit, MMTK)(https://github.com/khinsen/MMTK/),于1997年首次发布。 从技术角度看,MMTK确实实现了宜人的生物分子模拟。我与多位研究人员(主要是博士生)保持联系,他们基于MMTK实现了新的模拟方法,并将其作为附加Python模块分享。然而,我也发现领域内大多数研究人员根本不关心宜人性。开发主要软件包的大型团队与小型用户团队之间的权力梯度已融入研究体系,与师徒关系、基金评审等相互交织。多数研究人员选择软件包并非基于其科学或技术优点,而是基于加入其用户社区的政治好处。在伊里奇提出的对宜人性的五种威胁中,我观察到了极化 (http://olivier.hammam.free.fr/imports/auteurs/illich/tools3.htm#pola) 和激进垄断 (http://olivier.hammam.free.fr/imports/auteurs/illich/tools3.htm#radi)。后者一个例证是:一些就MMTK问题联系我的博士生要求我不要与他们的导师谈论他们使用MMTK的情况,因为“出于政治原因,我应该使用软件X”。 个人或小团体无法指望解决那些鼓励支配结构而非宜人性的社会问题。只有当社区中的大多数人将宜人性视为一种价值观时,它才能实现。然而,小团体能够做的是,在自身有限规模内开发和采用宜人工具,以证明其可能性,并为有意者提供可借鉴的模型。我很幸运在法国公立研究机构拥有一份稳定的工作,尽管存在生产力下降的风险,仍让我得以保持这种态度。然而,我始料未及的是(当时尚未了解伊里奇的著作),随后从外部而来的破坏性力量摧毁了宜人性。 科学Python生态系统的历史是伊里奇宜人性框架的一个有趣案例。他描述了机构和技术在重要性提升过程中会经历的两个分水岭 (http://olivier.hammam.free.fr/imports/auteurs/illich/tools1.htm): > 任何工业化机构都会经历两个分水岭时刻。首先,其进步为社会带来明确而实质性的利益。但其次,其过度发展开始背离原始目标,甚至对社会造成破坏。 Python在科学领域的应用在2000年左右达到了第一个分水岭,距离Numerical Python首次发布仅五年。当时的基础设施包括Python、Numerical Python、少量通用工具(绘图等)以及针对少数几个学科的专业库。研究人员可以宜人地开发和共享Python脚本与模块,必要时还包括用C或Fortran编写的所谓“扩展模块”以提高性能。 五年后,开发重心转向NumPy——一个新项目,旨在统一Numerical Python及其衍生版本numarray (https://web.archive.org/web/20081011060530/http://www.stsci.edu/resources/software_hardware/numarray/numarray.html),后者满足不同应用领域的不同需求。NumPy的一个明确目标是,通过使其对主要商业竞争对手Matlab (https://en.wikipedia.org/wiki/MATLAB) 的用户更容易学习,来进一步促进用户社区的增长。正是在这一点上,我开始对生态系统的方向感到不安。Numerical Python拥有一个受APL (https://en.wikipedia.org/wiki/APL_(programming_language)) 启发的小型且一致的API。NumPy则添加了另一个受Matlab启发的API,并对Numerical Python继承而来的API进行了破坏性更改。这意味着给现有用户带来适应工作和更高的认知负担,而唯一目的是吸引新用户。增长优先于那些使软件具有宜人性的品质。 第二个分水岭在2010年至2015年间到来。由于生态系统复杂性增加、企业对开发决策的影响日益增大(尤其是谷歌成为重要赞助商),以及具有破坏性变化的Python版本(Python 3 (https://en.wikipedia.org/wiki/History_of_Python#Version_3))崛起,科学Python生态系统从研究项目稳定的基础设施转变为不稳定的软件层,其频繁的破坏性更改要求研究人员投入越来越多的时间仅仅是为了让代码保持可用状态。宜人性就此丧失。 随后的几年里,Python开发者社区先是鼓励,然后越来越强制要求Python软件的作者迁移到Python 3。本着FOSS精神,Python 3本应被视为Python 2的一个分支,只要有人愿意维护,两个版本都应该被允许共存。但许多人正确地认识到,这会将Python社区分裂为两个竞争派系。支持Python 3的“布尔什维克派”决定通过各种手段扼杀Python 2,包括像Python 3耻辱墙 (https://github.com/ubershmekel/python3wos) 这样极其可疑的做法——一个在线示众栏,列出尚未完成迁移的项目。这可能是FOSS历史上破坏性最强的事件,尤其导致大量只有少数人知道的专业研究软件变得无法使用。如今,科学Python是一种典型的工业软件产品,碰巧是免费的(如啤酒般免费)。它很好地支撑着像PyTorch这样的大型企业库,但对于那些没有资源应对高技术更替率(伊里奇所谓的过时 (http://olivier.hammam.free.fr/imports/auteurs/illich/tools3.htm#obso))的典型研究团队来说,已不再是好的选择。现在,运行一个五年前的Python脚本比运行一个40年前的Fortran程序还要困难,即使能运行,也可能无法产生与过去相同的结果。 我自己的MMTK库随着Python 2的消亡而变得几乎无法使用。将其移植到Python 3需耗费巨大精力,而我缺乏动力去做这项工作。这项工作不仅困难(例如需要逐行检查语义已改变的除法运算),而且繁琐(为Python 1.4编写的C扩展模块必须从头重写)。但最重要的是,这只是进入不断软件崩塌与修复的踏脚板的第一步。我与为数不多依赖MMTK的同事一起寻求资金,希望由他人完成向Python 3的移植和维护,但未能成功。如今MMTK已成为博物馆藏品。你仍然可以通过像Guix (https://guix.gnu.org/) 这样的可重现基础设施运行它,但作为新研究项目的基础已不再合理。 科学Python生态系统是我最熟悉的逐步失去宜人性的例子,但这种现象更为普遍。另一个例证请参见Wieber和Hocquet (https://doi.org/10.1080/02691728.2026.2669573) 关于计算化学中开发者-用户关系的历史叙述(预印本 (https://philsci-archive.pitt.edu/29441/1/Wieber_Hocquet-A_Portrait_Of_The_Scientist_As_A_User.pdf)),该文概述了20世纪60年代计算化学的宜人性如何因许可证、源代码访问受限以及最终向软件即服务的转变而逐渐丧失,从而不断限制研究者的自主权。 在我漫长且最终失败的“Python为宜人性”实验结束后,我又尝试了一些关于宜人计算科学的其他想法。其中之一是数字科学符号 (https://leibniz.khinsen.net/leibniz--a-digital-scientific-notation-evq4rfzogttoyq7rk0lafa662.html)。这主要是我为计算机科学所谓的“形式规范” (https://en.wikipedia.org/wiki/Formal_specification) 语言贴上的新标签。大致如此,但又不完全一样:据我所知,没有一种现有的形式规范语言符合“数字科学

相似文章

反对功利主义

Hacker News Top

一篇认为基础性、‘无用’的研究对未来有用的创新至关重要的文章,以Folk Computer项目为例,这是一个重新构想人机交互的物理计算系统。

制作与关联的文化

Hacker News Top

这篇博客文章反思了Tomáš Petříček的著作《Cultures of Programming》(编程文化),识别出五种编程文化(数学、黑客、工程、管理、人文),并将它们与更广泛的技术和科学研究实践联系起来。文章将这些文化分为制作软件和关联软件两大类。

好工具无形

Hacker News Top

一篇哲学博文,主张好工具应隐形且无摩擦,批评了将工具的缺陷视作有趣谜题而加以称颂的倾向。作者以 vim 和 Sublime 等文本编辑器为例,说明工具选择如何成为部落身份认同。

计算机的速度限制

Lobsters Hottest

本文以伊万·伊里奇1973年关于车辆速度限制的论点为基础,讨论计算机领域,认为超过某一阈值后,计算能力的提升会带来负面社会回报,并以电动自行车限速为例,提出人为设定的硬件限制可以减少不平等现象。