Shiny + LLM:快速搭建互联网软件

吴诗涛 2025-04-19

很多工作的本质就是处理数据,学了 R 语言,偶尔见不得身边人被简单重复的数据处理缠身,总想做些什么提高效率,又不至于把别人的活揽到自己头上。在经历了多种方式之后,我确认使用 Shiny 搭建互联网软件是最佳方式。

在日常工作中,数据通常来自于系统导出,比如问卷表单、后台数据……这些数据格式固定,而想要的结果通常也有固定的要求。对于输入输出都有标准的工作,非常适合自动化。

传统需安装的软件,比如 Python 打包 exe 软件,总是冷不丁遇到环境问题,给非技术人员的电脑安装环境更是开天辟地的麻烦事。若是后续还有功能更新,更是分分钟劝退助人之心。

互联网软件在服务器上运行,把配置环境、安装软件、更新功能等细节与用户隔离开。用户只需通过浏览器访问,按要求上传数据,点击运行,下载结果即可。正如《黑客与画家》中讲到

“你的电脑”这个概念正慢慢成为过去时,取而代之的是“你的数据”。

互联网软件并不关心用户从电脑还是手机上传数据,它关心数据本身,处理工作的本质。

Shiny 为不懂网页开发的 R/Python 开发者提供快速搭建网页应用的能力,如今大模型的出现更是打通了数据处理代码与 Shiny 应用代码的隔阂,使得开发者可以在没有学习过 Shiny 的情况下,将数据处理代码改写为 Shiny 应用代码。

目前我搭建互联网软件的流程为:

  1. 向用户获取一份示例输入数据,确认处理逻辑和所需要的结果;
  2. 整理思路,通过示例数据写 R 代码,处理得到结果数据;
  3. 与用户确认结果数据格式与准确性,若有数据方面的建议,则与用户讲解沟通;
  4. 与用户确认无误后,通过大模型(Claude 3.7 或 GPT-4o)将第 2 步所写的代码转为 Shiny 应用脚本,并在本地运行测试。
  5. 通过运维面板,上传第 4 步最终得到的 Shiny 应用脚本至服务器,并测试;
  6. 告知用户应用访问链接,在用户电脑指导其使用一次,后续由其自主操作。

需注意:服务器需有公网 IP,可被外界访问,同时需安装好 Shiny Server