Skip to content

前期调研报告

Author: 徐铭凯

Better Shell

作为一种广泛使用脚本编程语言,Shell 无疑是连接用户与操作系统内核的桥梁。合适的 Shell 可以极大提高生产力。当前最为常见的 Linux Shell 包括 bash,ksh,csh,zsh 等,它们大多拥有强大的辅助功能。 编写一个完善而功能强大的 Shell 是可供参考的选题之一。目前,大语言模型等新兴 AI 技术已经得到广泛应用,AIOS 成为热门的研究课题。将 AI 嵌入 Shell 有助于构建用户友好且易于实现的 Shell 解释器。 除了基本的 Shell 功能,可以通过 AI 辅助实现的功能包括:

  • 自然语言转 Shell 命令:有些初次使用 Linux 的用户可能对部分操作对应的指令了解不多,而 LLM 可以理解自然语言,并将其对应到 Shell 命令。例如,当用户输入自然语言(如“列出当前目录下所有大于 100MB 的文件”),AI Shell 可生成对应的 find 或 du 命令,并解释命令逻辑。从技术上来说,该功能可以远程调用 LLM 的 API,亦或将其内置到本地。在扩展性上,AI Shell 能够支持安全提示(如删除操作前确认),可以由用户自定义模型或提供数据集来适配特定场景。
  • AI 辅助自动补全:这一功能早已被多个主流 Shell 所实现,但 AI 有助于更加精准智能地完成补全。借助于某些轻量级语言模型,Shell 可以根据上下文与历史记录推测用户最有可能输入的指令与参数,与 Copilot 和 IntelliSense 类似。
  • 自动生成命令别名:Linux 的 alias 命令可以创建别名,但由用户手动创建有时过于繁琐。而 AI 可以发现、提示或自动生成某些常用命令的别名,大大简化工作流程,让 Shell 更加用户友好。

文件聚类

文件管理系统是操作系统的重要组成部分之一。平时在个人电脑上完成各项工作时,很多人常因保存文件时不得不在多层文件夹的套娃中点击多次来给出正确的路径,亦或查找特定文件时大海捞针、搜索缓慢而感到困扰。而更加完善的文件管理系统可以根据文件类型、标题、内容等信息,将性质相似的文件聚类到一起,以此实现自动分类。例如,当用户完成了一份格式鲜明的大物实验报告时,文件系统可以识别之,并在保存它时自动跳转到存储此类报告的文件夹中(即使用户最近编辑的是其他课程的报告,默认的路径本应是该报告所属的文件夹)。 聚类的具体技术实现是多样的,可以由一些无监督学习算法(例如 K-means)完成,用大模型进行标签提取和多模态标记(去年的项目 vivo50 所实现的内容)等等。更进一步地,文件的组织形式也不一定要拘泥于传统结构,而可以根据其内容、属性等信息组织成树状或图状结构(这正是最终确定的选题的一个要点)。