维基专题:電子遊戲/簡訊/2025-04/訪談
外观

訪談:For Each element In group ... Next、SuperGrey
[编辑]- 採訪人:HoweyYuan
在本次规则修订中,最引人注目的成果,非可视化工具ACGATool莫属。该插件的应用,让初来乍到的新手们告别了繁杂的项目代码,让兢兢业业的核对者们告别了wikitext。相信各位读者已经感受感受到了优秀的插件对于维基百科社群的重要性。本次访谈,邀请到了专题活跃的代码贡献者For Each element In group ... Next与SuperGrey,聊聊对程序设计和大型语言模型看法和感悟。
- 问:不知二位是如何了解到程序设计相关知识的?是相关行业的从业者,还是业余爱好者呢?
- For Each...Next答:我是業餘愛好者。最早接觸程序設計方面還真就是wikitext,之所以會探索技術方面,當初「魔术字」這個高端名字功不可沒😂也感謝wikitext的啟蒙,之後我要用到Excel時,上手嵌套公式相當輕鬆。再之後給Excel寫VBA自動化,還有在維基百科上寫Lua模組,算正式接觸程式編寫了。
- SuperGrey答:我是業者。至於程式設計,最早其實是從C++和C#開始學的。接觸到Lua則仰賴一眾MediaWiki企劃,以前在Fandom和萌娘百科做貢獻時,對着前人的原始碼和手冊一點一點學。此次寫的小工具則是以JavaScript為主,雖然對JavaScript稍有涉獵,但在維基百科上寫還是經驗不足,稍顯青澀。
- 問:是什么促使您投入代码贡献,而不是仅仅编辑条目?
- For Each...Next答:我大部分時間都在維護與整理格式,而模板是實現目標的重要一環。當時擅長技術且參與專題的編者幾乎沒有,而我又對寫模板有興趣,就自己動手豐衣足食了。還有此前更新專題訪問量時,一直都是手動查詢、複製、貼上,n年後終於不勝其擾。當時正好有個契機,加上我青睞Python強制空白縮進、沒有吊尾括號的美學,就開始寫Python更新了。
- SuperGrey答:以前為了給Fandom上某維基的Lua模組添加新功能,故以邊學邊寫的方式掌握了Lua,這算是最早的經歷;因而也學會了操作Pywikibot等技能。在中文維基百科上的契機則是2024年初維基百科測試新外觀(Vector 2022),導致小躍的voter出現了bug,我就嘗試修復了一下,順便更新了外觀。之後也陸續出於各種需要(添加功能、修復bug),製作或改良了一些腳本,對電子遊戲專題內的小工具也有參與維護。
- 問:二位主要负责过哪些工具或功能的开发和维护?
- 問:您在维基百科贡献代码的过程中,最有成就感的一刻是什么?
- 問:您怎么看待MediaWiki这个软件的?
- For Each...Next答:支援輕量級的類Markdown標記和強大的HTML,融合了版本控制,還能加入各種擴展。自己搭個伺服器,當筆記工具也很不錯?
- SuperGrey答:MediaWiki是強大的「雙鏈」(bi-directional linking)筆記軟體,而且還有多人協作功能,比Google Docs神多了。關鍵這個軟體開發的時間還特別早,後來許多新興筆記軟體都借鑑了這個設計。
- 問:维基百科的代码维护和管理有哪些独特的地方?(如兼容性、社群协作等)
- For Each...Next答:對程式學習者而言,最需要的就是項目。而維基百科是個很好的平台:從最基礎的wikitext,到可以即時生效的HTML/CSS/JS/Lua,再到能寫bot的Python/Java,還有真實的資料庫可供練習SQL,各方面一應俱全。
- SuperGrey答:維基百科的版本控制實在是一言難盡(比如日常的「編輯衝突」),Phabricator工單系統更是低效得可怕。幸好維基百科以文本為主,所以大家只需專心寫作即可,代碼就由MediaWiki維護人員去操心吧。
- 問:您怎么看待人工智能技术在维基百科式软件开发上的应用?
- 现今,使用可接受的温和许可的人工智能大语言模型逐渐出现,您认为这些软件适合将部署于维基媒体项目,用于来源搜索、新手引导或其他方面吗?它们有什么其他的潜力?
- For Each...Next答:不知道專業軟件開發者如何使用人工智慧。但至少對於我來說,大語言模型比傳統搜尋引擎友好,能即時且直接地提示我還有哪個方向可以思考。至於給一般讀者部署模型,至少就維基百科而言,寫條目是在概括,大語言模型也是擅長概括,不確定兩者會不會打架😂 PS:順便說一下條目寫作,以前最怕看到遊戲評論員說俚語了,傳統翻譯軟體翻不出來,但大語言模型的解釋效果就不錯。
- SuperGrey答:AI是現在網路公司的標配,我日常寫程式也已經離不開AI。我覺得AI部署到Wikimedia是必經之路,只是還不知道該如何用上。而且實際用上了,還需要人工寫作嗎?現在AI寫稿越來越逼真,不會把我們都給取代了吧
- 問:小工具目前在电子游戏专题,和中文维基百科社群有什么应用前景?您希望未来维基百科的技术生态朝哪个方向发展?
- For Each...Next答:全站整體上已經有很多深入人心的小工具,比如TW和連結翻譯器。不知道未來小工具會不會逐漸走向領域化、專題化?說起來,全站層面(以及遊戲專題層面)可能缺一個快速標記來源可靠性的小工具。至於技術生態,希望能關注一下中文圈的問題,比如各用詞的sortkey問題。
- SuperGrey答:小工具自然很方便,不過中文維基百科的安裝器還有點簡陋。要是未來真能出現由MediaWiki維護的小工具商店,倒也不錯。
- 問:二位有没有特别想要开发但还没有实现的功能?
- For Each...Next答:想寫個真正穩定的全自動Bot,而不是以半自動名義在PAWS託管,畢竟後者本身也不是用於長期作業的。之前經常有自動停止的現象,不知道是因為平台升級,還是我代碼太爛,RAM超過分配限額強行停機了😂
- SuperGrey答:剛聽到For Each...Next君提到的「快速標記來源可靠性」的小工具,其實我一直在用英維開發的CiteUnseen。或許我可以將其遷移到中維,這樣就可把中維的來源也加入進去。(更新:CiteUnseen已漢化完成,歡迎使用!
)
- 問:在您设计和开发MediaWiki模板,或是小工具时,总结出什么经验希望与其他开发者分享?
- For Each...Next答:我認為後勤建設——包括模板和工具製作,也包括制度和方案製作——有個共同點,設計要為實際需求服務,目的也是為了解決實際問題。一方面有了具體需求,設計也會更有動力。另一方面,過早的優化乃萬惡之源,如果製作者的出發點只是「越多越好」「英文維基有」或「可能未來有用」,自己卻說不出能解決什麼問題、怎樣解決問題,最後結果可能就是加了刪、刪了加、加了又刪。
- SuperGrey答:我先回應For Each...Next君說的PAWS停機問題——PAWS是按照作業需求來分配資源的,所以不活躍的作業被停機實屬正常,如果要確保一直運行,就只能用自己的服務器了。至於我的經驗嘛,最近感觸最深的有兩條:① 寫JavaScript腳本時,如果需要即時結束腳本運行,有兩種方式。其一便是裝入函數內,這樣便可用return來跳出;其二則是直接throw報錯,雖然給控制檯帶來了pollution,但是沒事誰看控制檯呢?😆 ② MediaWiki開發的OOUI文檔既簡陋又過時,許多函式細節根本找不到,我看得崩潰死了。幸好有GitHub Copilot幫我借鑑了許多前人的「科研成果」,否則實在是猜不到要怎麼寫。如果有新手也想蹚這渾水,建議早早用上GitHub Copilot。
- 問:您会对加入维基百科的技术贡献的新手提出什么建议?
- For Each...Next答:說不出什麼建議,就歡迎加入吧~ 借用我之前的留言:程序很重要,幾分鐘甚至幾秒鐘就能完成人做半天還未必能做對的事情,希望有更多的技術貢獻者加入維基百科😂
- SuperGrey答:我覺得編寫程式其實有點像作詩。聽起來很難,但其實從模仿(抄襲)開始,抄抄改改,很快就能寫出像模像樣的作品,再然後就可以自己從0開始創作了。至於詩的章法,大概學一下就足夠開始寫了——詩的門道深着呢,總不能把所有知識都學完再開始創作吧?如果有不會的,還可以讓AI教你