How much of F-Droid is LLM generated?
How much of F-Droid is LLM generated?
F-Droid 中有多少内容是由大语言模型(LLM)生成的?
I love F-Droid. I love what F-Droid stands for and I like the freedom that it gives its users. As a FOSS app maintainer I also have nothing but good things to say about the people behind the project. Maybe they’re even a bit too nice, considering how many times repro has failed due to me forgetting to commit before building 😅. 我热爱 F-Droid。我热爱 F-Droid 所代表的理念,也喜欢它赋予用户的自由。作为一名自由开源软件(FOSS)的维护者,我对该项目的幕后人员也只有赞美之词。也许他们甚至有点太好了,考虑到我因为在构建前忘记提交代码而导致 repro 失败了多少次 😅。
But my god is it hard to find human-written software now. 但天哪,现在想要找到人类编写的软件真是太难了。
Intro
引言
The problem 问题所在
Sometimes I open F-Droid just to browse. You know, maybe I’ll find an app that solves a problem I didn’t know I had, or maybe I’ll find a better alternative to something I already use. 有时我打开 F-Droid 只是为了浏览。你知道的,也许我会发现一个能解决我此前未曾察觉的问题的应用程序,或者找到我现有工具的更好替代品。
And one day, while browsing, I noticed an app with an obvious and ugly AI generated icon. It’s not on the list and I will not shame it, but it got me thinking. How much of F-Droid is AI? 有一天,在浏览时,我注意到一个应用程序,它的图标明显是由人工智能生成的,而且很难看。它不在本文的列表中,我也不会去羞辱它,但这让我开始思考:F-Droid 中有多少内容是 AI 生成的?
As someone who does programming for fun and is only a student, untarnished by honest work, I get my knowledge of what the coding world is like mostly from clickbaity YT videos and Reddit posts of CS professionals. They either describe LLMs as god reincarnate or as glorified autocomplete. 作为一个以编程为乐的学生,尚未被繁重的工作所“玷污”,我对编程世界的了解主要来自 YouTube 上的标题党视频和 Reddit 上计算机专业人士的帖子。他们要么将大语言模型(LLM)描述为神灵转世,要么将其贬低为高级自动补全工具。
Both are, obviously, wrong, but that’s not really helpful in determining what I want to know. What is the actual state of programming nowadays? Whenever I use FOSS software, how likely it is that it has been vibe-coded by a rando in an afternoon? 显然,这两种观点都是错误的,但这对于确定我想知道的事情并没有什么帮助。如今编程的真实状态究竟如何?每当我使用 FOSS 软件时,它是由某个路人在一个下午“凭感觉编码”(vibe-coded)出来的可能性有多大?
How to know if an app is vibe-coded?
如何判断一个应用是否是“凭感觉编码”的?
That’s the trick—you can’t. Text just doesn’t carry enough meta information for any kind of assessments to be even close to accurate. However, just as that em-dash I used in the first sentence probably triggered an alarm in your brain, there are signs. 诀窍在于——你无法判断。文本本身携带的元信息不足以支撑任何准确的评估。然而,就像我在第一句话中使用的破折号可能会触发你大脑中的警报一样,确实存在一些迹象。
While that does make the task at hand sound fickle and dependent on happenstance, the signs, especially concerning LLM code repositories, are never too hard to find. 虽然这使得手头的任务听起来有些反复无常且依赖偶然性,但这些迹象——尤其是关于 LLM 代码仓库的迹象——并不难发现。
You see, the main allure of LLMs is that they allow the developer to be more lazy. That’s kind of the whole point! You just prompt, sit back and relax. So it should not surprise you to hear that this attitude is then reflected in everything the vibe-coder touches. 你看,LLM 的主要吸引力在于它们允许开发者变得更懒。这正是重点所在!你只需输入提示词,然后坐下来放松即可。因此,当你听到这种态度反映在“凭感觉编码者”所触及的一切事物中时,不必感到惊讶。
Why write a README from scratch? Lol, just let the LLM do it. 为什么要从零开始写 README?哈哈,让 LLM 来做就行了。
Do code-review? Naw, just let the LLM review its own changes and then also give it access to the repo so you don’t even need to press the commit button. 做代码审查?不,直接让 LLM 审查它自己的更改,然后给它仓库访问权限,这样你甚至连提交按钮都不用按了。
If a project was concerned with looking legitimate, it would be trivial to do such things by hand. But it’s low effort all the way down. 如果一个项目在意看起来是否正规,那么手动完成这些事情是轻而易举的。但现在的情况是,从头到尾都透着一种低努力的敷衍感。
My biases
我的偏见
This part can be skipped if you don’t care about my stance on LLMs, but I need to make my position clear to avoid contributing to the circlejerk too much. 如果你不在乎我对 LLM 的立场,可以跳过这一部分,但我需要明确我的立场,以避免过多地参与到这种回声壁效应中。
To begin with, I’d like to acknowledge that LLMs are incredibly useful and capable. As 2026 has progressed, this has become more and more visible, but people being able to one-shot medium scale games and software in half an hour is ridiculously impressive, even if the end product is usually not very good. 首先,我承认 LLM 非常有用且功能强大。随着 2026 年的推进,这一点变得越来越明显。人们能够在半小时内一次性完成中等规模的游戏和软件开发,这确实令人印象深刻,即使最终的产品通常质量并不高。
I also am very much in favor of software getting faster and more secure. The story of the Linux kernel development has shown that LLMs are capable of finding and sometimes even solving many types of code issues. 我也非常支持软件变得更快、更安全。Linux 内核开发的案例表明,LLM 有能力发现甚至解决许多类型的代码问题。
With the pleasantries out of the way though, I have to admit I really hate LLMs and what they have done to programming, related engineering fields, and society as a whole. 不过,客套话就说到这里,我必须承认我真的很讨厌 LLM,以及它们对编程、相关工程领域乃至整个社会所做的一切。
Their mere existence makes educating yourself and going on fun side projects much less rewarding. Like yeah, I did something, but with an LLM I could have done this in a quarter of the time. And when you do take the black pill and vibe-code, it’s even worse. It’s not like you did anything. The machine did that. 它们的存在使得自我教育和进行有趣的副项目变得不再那么有成就感。就像是,没错,我确实做了一些事情,但如果用 LLM,我本可以在四分之一的时间内完成。而当你选择“吞下黑药丸”开始“凭感觉编码”时,情况就更糟了。这根本不算你做了什么,是机器做的。
Then there’s the atrophying effects on human brains, their unfathomable capability for serving plausibly sounding misinformation and the climate disaster that we’re just kinda ignoring. All very fun things to think about. 此外,还有它们对人类大脑的萎缩作用、它们提供听起来言之凿凿的错误信息的能力,以及我们正在某种程度上忽视的气候灾难。这些都是非常值得深思的事情。
Criteria / The experiment
标准 / 实验
As mentioned before, there’s no way to effectively detect slop, so I propose a rough 3 tier system based on the aesthetics of the repo: 如前所述,没有办法有效地检测垃圾内容,所以我根据仓库的美学特征提出了一个粗略的三级系统:
Mostly AI 主要是 AI This is mostly for projects that have significant LLM smells and means I expect >50% of the code is LLM authored. Any kind of agentic infrastructure automatically lands an app in this tier as I do not believe it is possible to use AI responsibly from within a coding harness. 这主要针对那些有明显 LLM 味道的项目,意味着我预计超过 50% 的代码是由 LLM 编写的。任何类型的代理基础设施都会自动将应用程序归入此类别,因为我不相信在编码框架内能够负责任地使用 AI。
Hard to say / Mostly human / Other 难以判断 / 主要是人类编写 / 其他 Occasional LLM commits either by maintainers or contributors, but mostly looks human. May have an LLM policy which per… 偶尔有维护者或贡献者提交的 LLM 代码,但大部分看起来是人类编写的。可能包含一项 LLM 政策,该政策……