当 AI 开始写代码之后,我更在意的是:代码写完以后怎么办?

这两年,AI 编程工具发展得很快。

从最早的代码补全,到现在直接根据自然语言生成函数、模块,甚至一个完整的小项目,很多以前需要半天完成的事情,已经可以在几轮对话里得到结果。

但实际用下来,我越来越明显地感觉到一个问题:

代码生成并不是开发工作的终点。

恰恰相反,当"写代码"越来越容易以后,真正让人花时间的东西,反而开始变得更加突出------项目怎么运行?不同项目的 Python 环境怎么管理?做出来的小工具怎么启动?网页应用和本地脚本怎么放在一起?一个 AI 临时帮我生成的小程序,过几天我还能不能找到?

以前这些问题不算什么,因为一个人可能一年也就维护几个项目。

现在不一样了。

AI 让"做一个小工具"这件事的成本大幅下降,随之而来的,是越来越多零散但有价值的小应用。

于是我开始觉得,桌面开发环境缺的可能并不是又一个代码编辑器,而是一个能够把开发、运行和应用管理串起来的工作台。

一、AI 把"写一个工具"的门槛降低了,但也带来了新的混乱

以前做一个 Python 小工具,通常要经历这样的流程:

创建目录、建虚拟环境、安装依赖、写代码、调试、运行。

如果项目多一点,还要考虑不同版本的 Python、不同依赖之间的冲突,以及各种启动脚本。

这个过程其实很合理。

问题在于,当 AI 加入之后,很多人会开始频繁地做一些以前不会做的小项目。

比如:

"帮我写一个批量重命名文件的工具。"

"帮我做一个 CSV 数据清洗脚本。"

"帮我写一个图片处理小工具。"

"帮我做一个简单的网页界面。"

"把刚才这个程序再增加一个导出功能。"

这些事情的共同特点是:项目本身不一定大,但数量会越来越多。

项目一多,管理成本就出现了。

我的一个很直观的感受是:

AI 降低了应用的创建成本,却没有同步解决应用的组织成本。

这也是我后来开始尝试 PyBox 这类桌面工作台的一个原因。


二、把"项目"和"应用"区分开,其实很重要

以前我们经常把"代码"和"软件"混为一谈。

但对于个人开发者来说,这两者其实是两个完全不同的概念。

一个 Python 项目,关注的是代码、依赖、配置和版本。

一个真正拿来使用的应用,关注的却是:

怎么启动?

怎么停止?

在哪里找到?

需要什么运行环境?

能不能创建快捷方式?

以后还能不能继续修改?

当我开始从"管理应用"的角度重新看待自己的项目时,很多事情反而清晰起来。

比如,一个临时写出来的 Python 工具,只要登记到统一的应用列表里,就不需要每次重新找项目目录。

脚本类工具和网页应用,也没必要因为技术实现方式不同,就分别放在完全不同的工作流里。

于是"项目管理"逐渐变成了"应用管理"。

这个变化看起来很小,但真正用起来之后会发现,它解决的是另外一个层面的问题。


三、我比较喜欢的一种工作流:让 AI 负责创建,人负责决定它留下来没有

AI 编程工具一个很有意思的变化,是"开发"越来越像一次对话。

以前我可能会先想清楚目录结构,再开始敲代码。

现在有时候只需要说清楚需求,让 AI 先把第一个版本做出来。

例如:

"做一个读取 Excel,然后按照指定字段分类导出的 Python 工具。"

第一版能不能用,暂且不说。

更重要的是,几个来回之后,一个原本只存在于脑中的想法,已经变成了一个可以实际运行的项目。

这里有一个很大的好处:

试错成本变低了。

以前因为"做起来麻烦",可能根本不会去做某个小工具。

现在因为 AI 可以快速完成原型,反而有机会把一些重复性的工作变成自己的小应用。

但接下来就出现第二个问题:

做出来以后怎么办?

我的处理方式是,把 AI 生成项目的过程和应用使用过程分开。

在研发阶段,可以让 AI 辅助创建、修改 Python 项目;

项目基本稳定之后,再把它登记成一个可直接运行的应用。

PyBox 的"研发中心"就是围绕这个思路做的:通过对话的方式创建或修改 Python 项目,再把项目放进应用列表里。

它不是要取代传统 IDE,而是更偏向于解决"我已经决定要做一个小工具,现在如何快速把它做出来并长期使用"这个问题。

官网放在这里,感兴趣可以自己看看:

https://pybox.site


四、另一个容易被忽视的问题:运行环境

Python 项目数量一多,环境问题几乎一定会出现。

A 项目需要某个版本的依赖。

B 项目又需要另外一个版本。

C 项目甚至因为系统环境变化,突然就不能运行了。

对于经常写 Python 的人来说,这些已经属于日常操作。

但如果我们的目标是"做一些马上能用的小应用",那么每次启动之前都去处理虚拟环境,其实是一种额外负担。

所以我觉得,应用运行环境应该尽可能从用户的日常操作里退到后台。

PyBox 的做法是让应用使用相对独立的 Python 运行环境,把环境管理和应用本身尽量隔离开。

从使用角度来看,我更希望看到的是:

点击应用 → 启动 → 工作。

而不是:

打开终端 → 进入目录 → 激活环境 → 检查依赖 → 再运行。

当然,这并不意味着传统命令行方式不好。

对于开发者来说,终端依然是非常高效的工具。

只是当一个项目已经从"代码"变成"我要每天使用的软件"以后,它值得拥有另外一套更接近桌面应用的使用方式。


五、为什么我觉得"应用商店"这个概念,在 AI 时代可能会重新变得有意思

以前的应用商店,解决的是"软件从哪里下载"。

但 AI 时代的情况有点不同。

很多人现在具备了一个很有意思的能力:

自己制作小软件。

不一定是商业软件,也不一定有成千上万的用户。

可能只是一个帮自己处理照片的工具,一个整理文件的小程序,一个办公室里的自动化脚本,或者一个简单的内部网页应用。

问题是,这些工具通常做完就结束了。

如果能够把它们标准化,然后放到一个统一的应用体系里,就有机会从"我写了一个脚本"进一步变成"我拥有了一个应用"。

这也是我觉得 PyBox 商店比较有意思的地方。

它并不只是一个传统意义上的软件下载区。

一方面可以同步、下载别人分享的应用;另一方面,也可以把自己制作的应用提交进去。

这里其实形成了一个挺有意思的闭环:

AI 帮你降低制作门槛 → 桌面工作台负责运行 → 商店负责分享。

对于个人开发者来说,这种模式可能比单纯写一个 Demo 更有价值。


六、桌面应用和网页应用,为什么不能同时存在?

现在大家都喜欢讲 Web。

确实,网页应用有很多优势。

打开浏览器就能用,不需要复杂安装,更新也方便。

但是桌面应用仍然有自己的位置。

特别是文件处理、自动化任务、本地数据处理这一类场景,程序天然需要访问电脑上的资源。

因此我并不认为未来会变成"网页应用完全取代桌面应用"。

更现实的情况可能是:

不同类型的任务,用不同形态的应用。

本地 Python 工具,可以直接作为桌面应用运行。

自动化脚本,可以作为一个随时启动的任务入口。

需要网页界面的项目,也可以作为网页应用使用。

如果这些东西都能够在同一个桌面工作台里管理,那么用户其实不需要太关心它内部采用的是哪一种技术。

这也是我在设计 PyBox 时比较看重的一点:

技术实现可以不同,但应用的使用入口可以统一。


七、还有一类事情,我以前完全不会想到交给"应用"来做

那就是办公。

以前"写程序"和"办公"是两套完全不同的事情。

但现在 AI 出现以后,两者之间的边界已经越来越模糊。

整理一份资料、生成一个表格、处理文本、批量处理文件、辅助完成一些重复工作,这些事情既可以属于开发,也可以属于办公自动化。

所以 PyBox 里除了应用管理和研发中心之外,还放了一个"办公秘书"。

它的定位不是再做一个聊天机器人,而是尝试把 AI 放进一些更具体的桌面工作流里。

这个思路背后的逻辑其实很简单:

如果 AI 最终要进入日常工作,那么它应该离实际任务更近,而不是永远停留在一个聊天窗口里。


八、我越来越觉得,未来个人电脑上的"软件"可能会发生变化

过去我们安装软件,是因为有人已经替我们把需求做成了产品。

未来可能会出现另一种方式:

我有一个需求 → AI 帮我生成应用 → 应用立即在本机运行 → 我长期使用它 → 需要的时候再继续修改。

这意味着软件的颗粒度可能会越来越小。

以前一个软件要解决几十个问题。

以后一个人完全可能拥有几十个只解决一个问题的小工具。

而当"小工具"的数量开始增加时,真正重要的又会重新变成:

怎么组织这些工具。

所以从这个角度来看,我认为 AI 编程真正推动的,并不只是"程序员写代码更快"。

它可能还会推动一个变化:

越来越多的人,会从软件使用者,慢慢变成自己工作流的构建者。

而这恰好也是我做 PyBox 时最想验证的一件事。

它不是一个纯粹的 IDE,也不是一个单纯的软件启动器,更不是传统意义上的应用商店。

我更愿意把它理解成一个放在 Windows 桌面上的"小型个人工作台":

开发的时候,可以让 AI 帮忙;

做好的项目,可以直接运行;

日常工具,可以集中管理;

别人做的应用,可以拿来使用;

自己做的应用,也可以分享出去。

这个方向到底有没有必要,其实没有标准答案。

至少对我自己而言,当电脑里那些零散的 Python 项目、自动化脚本和网页工具开始越来越多之后,我确实不太想再回到"每个项目各自躺在某个文件夹里"的状态。

软件越来越容易被创造出来之后,如何把这些软件真正变成生产力,可能才是下一个值得解决的问题。

而这也是我现在继续做 PyBox 的原因。

项目主页:

https://pybox.site