9

知識型部落客末日?AI 工廠文時代來臨?

 1 year ago
source link: https://blog.darkthread.net/blog/blog-post-by-chatgpt/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

知識型部落客末日?AI 工廠文時代來臨?

2023-04-22 09:51 AM 0 1,068

Bing Chat 除了跟 ChatGPT 一樣可以聊天,還有個撰寫功能,能幫你寫段落、電子郵件、部落格文章跟構想...

Fig1_638177251368953040.png

修蛋幾壘! 叫 ChatGPT 寫部落格文章是什麼意思,把彰顯個人風格、抒發心情、推展想法、傳承知識的神聖工作丟給機器做是什麼意思?這叫部落客怎麼活? ChatGPT 寫的東西再好讀,始終缺乏思想沒有靈魂啊啊啊... (謎:把刷流水帳誤當寫文學名著,閣下真是史上第一人)

滾滾洪水已至,若不想抱著橋柱喝水喝到飽,隨波逐流才是識時務的表現(咦?)。既然擋不住其他人用 AI 寫文章,就來看看當代 AI 寫的部落格文章品質如何,真人部落客要面臨何種競爭吧?

嚴格來說,走美食、旅遊、運動、親子、美妝... 等路線的部落格還不用擔心,以目前 AI 的創作能力(未來不知),你的文章只要寫寫真實經歷、附上幾張實拍美照便能輕易把 AI 的幻想文甩到五條街之外。AI 真正會威脅的應是知識分享或技術類部落客,本人不幸隸屬其中。

好奇心起,用前天寫的文章為題 - 「介紹如何在 .NET 6 安裝 ildasm 與 ilasm 工具」,讓 Bing Chat 用五種語氣:很專業、悠閒、熱情、新聞、有趣,各寫一篇長篇部落格文章。(說是長篇但上限其實不及七百字,有時會沒寫完也無法繼續)

先說說正確性。對於這個有點冷門的開放式問答題,ChatGPT 說得有模有樣,實際是鬼扯的情況特別嚴重,產生結果具隨機性。但很妙的是,我第一個嘗試的「很專業」版本,意外地很接近正確答案,它提到 .NET 6 SDK 不包含 ildasm 及 ilasm,要依據執行平台下載 runtime.win-x64.Microsoft.NETCore.ILAsm NuGet 套件,並自己解壓縮取得 .exe (註:正統做法應是參照再建置,由 bin 取得工具執行檔)。但實際再跑第二次,又變成安裝過時無法使用的工具或安裝 Visual Studio 取得,由此可知得到什麼結果具機率性,並不因為選「很專業」更容易得到正確答案。(笑)

Bing Chat 產生內容會包含一些參考連結,有些連結是有效且正確的!! 例如: 「有趣」版提到設定環境參數時引用了一篇 https://www.architectryan.com/2018/03/17/add-to-the-path-on-windows-10/,講的真的是「Add to the PATH on Windows 10」;但在「新聞」版,提到另一個 https://aka.ms/ildasmpackage-x64 應是它幻想出來的,故這部分的行為跟我們認知的 ChatGPT 接近。

而「新聞」版有段讓我笑了出來:

根據黑暗執行緒部落格的文章,你可以使用以下的步驟來安裝 ildasm 工具

Fig2_638177251370791154.png

是哪隻眼睛看到拎杯說可以下載 ZIP 解壓縮 C:\ilasm 這招?自己胡扯一通還說是我講的,這樣對嗎?咳... 針對妨害名譽部分,本人將保留法律追訴權(嚴肅貌)

結論是,Bing Chat 產生的技術部落格文章,每一篇看起來專業度都不差,引經據典有模有樣,還附上指令碼並詳細解說,但絕大部分教的方法都不可行。這倒完全符合 ChatGPT 特性,但我們在詢問 ChatGPT 開放式問題已養成戒心,對答案先抱七分懷疑。但如果有人用 Bing Chat 之類的工具產量貼成部落格文章,加減賺流量收廣告費,以 AI 的生產速度,數量將遠勝文章農場,催生大量「工廠文」。

在 Google 查 3C 型號時常有一種偽裝成有用資訊的部落格廢文,查少見型號時還可能出現在搜尋結果第一頁,往往一次被塞了好幾篇。文章內容用相同範本套上不同商品文字大量產生,沒什麼營養,目的是騙流量賺廣告,由於版型固定,基本上一眼可以識破,起初罵聲幹退出來就算了,到後來練成看搜尋摘要便知跳過的能力。

Fig3_638177251376318232.png

現在有了 ChatGPT/Bing Chat,連知識類或技術型文章都能這麼搞,丟標題進去等十幾秒就能生一篇有模有樣的文章出來;以往用固定版型能一眼識破,而 GPT 生成的文字有時要閱讀一兩段才能分辨出來,生產成本低仿真度又高,說不定 AI 工廠文的時代很快就會來臨。

若此一現象成真,大量 AI 量產文章成功混雜在搜尋引擎結果中,將嚴重稀釋正確解答的濃度,迫使我們花更多精神過濾這堆真假難辨的工廠文,有些可能還會引誘你照著試看看,花了大把時間才發現是鬼址。

我猜未來應該會有些因應機制出現,例如:

  • 搜尋引擎會強化偵測 AI 作品能力,調整其 SEO 降低排名
  • 出現一些瀏覽器外掛,偵測並標示(或過濾) AI 產生內容
  • 推動活人網站標章(支持將「常寫錯字」納入活人評量參數 XD),像 CAS 優良肉品一樣供讀者安心選用

以上這些會不會發生?且讓我們繼續看下去...

最後,附上實測 Bing Chat 產生的各種部落格版本給大家笑一下。

【很專業】(最接近正解的版本)

介紹如何在 .NET 6 安裝 ildasm 與 ilasm 工具

.NET 6 是 Microsoft 最新的跨平台開發框架,提供了許多新的功能和改進。但是,如果你想要深入了解 .NET 6 的中繼語言 (IL) 和 PE 檔案格式,你可能會發現 .NET 6 的 SDK 並沒有提供 ildasm 和 ilasm 這兩個工具。這兩個工具分別可以將 .NET 程式集反組譯成 IL 文字檔,或將 IL 文字檔組譯成 .NET 程式集。它們對於分析和修改 .NET 程式碼非常有用。

那麼,如何在 .NET 6 安裝 ildasm 和 ilasm 呢?其實,這兩個工具已經以 NuGet 套件的形式發佈在 nuget.org 上了。你只需要根據你的執行平台,選擇適合的套件版本,然後下載並解壓縮到你想要的目錄即可。例如,如果你使用 Windows x64 的平台,你可以下載 runtime.win-x64.Microsoft.NETCore.ILAsm 和 runtime.win-x64.Microsoft.NETCore.ILDAsm 這兩個套件。你可以在這裡找到所有可用的套件版本:

https://www.nuget.org/packages/runtime.win-x64.Microsoft.NETCore.ILAsm https://www.nuget.org/packages/runtime.win-x64.Microsoft.NETCore.ILDAsm

下載並解壓縮後,你就可以在命令列中使用 ilasm.exe 和 ildasm.exe 了。例如,如果你想要將一個名為 test.dll 的 .NET 程式集反組譯成 test.il 的 IL 文字檔,你可以執行以下命令:

ildasm.exe test.dll /output:test.il

反之,如果你想要將一個名為 test.il 的 IL 文字檔組譯成 test.dll 的 .NET 程式集,你可以執行以下命令:

ilasm.exe test.il /dll /output:test.dll

這些命令都有許多選項和參數可以調整,你可以使用 /? 選項來查看詳細的語法和說明。例如:

ilasm.exe /? ildasm.exe /?

這樣,你就可以在 .NET 6 中使用 ildasm 和 ilasm 工具了。希望這篇文章對你有所幫助,如果你有任何問題或建議,歡迎留言討論。

【很專業】(瞎址版)

dotnet-ildasm 這個工具是社群開發的,但只支援到 .NET Core 3.0,內容提到的連結都是錯的

.NET 6 是微軟最新的跨平台開發框架,它提供了許多新的功能和改進,讓開發者可以更容易地建立高效能和高品質的應用程式。在本文中,我們將介紹如何在 .NET 6 安裝 ildasm 與 ilasm 工具,以及如何使用它們來檢視和修改中間語言 (IL) 程式碼。

ildasm (IL Disassembler) 是一個工具,可以將 .NET 組件 (.dll 或 .exe 檔案) 反組譯成 IL 程式碼和元資料。這樣可以讓開發者分析組件的結構和邏輯,或者找出錯誤和效能問題。ilasm (IL Assembler) 是一個工具,可以將 IL 程式碼和元資料組譯成 .NET 組件。這樣可以讓開發者修改 IL 程式碼,或者建立自己的組件。

在 .NET 6 中,要安裝 ildasm 和 ilasm 工具,有兩種方法。第一種方法是使用 dotnet 命令列工具,執行以下指令:

dotnet tool install --global dotnet-ildasm
dotnet tool install --global dotnet-ilasm

這樣就可以在全域範圍內使用 ildasm 和 ilasm 工具了。要使用它們,只要在命令列中輸入以下指令:

dotnet ildasm <assembly>
dotnet ilasm <source>

其中 是要反組譯的組件檔案名稱,是要組譯的 IL 程式碼檔案名稱。你也可以加上一些選項參數,來控制輸出的格式和內容。詳細的用法,可以參考官方文件:https://docs.microsoft.com/zh-tw/dotnet/core/tools/dotnet-ildasm 和 https://docs.microsoft.com/zh-tw/dotnet/core/tools/dotnet-ilasm

第二種方法是使用 Visual Studio 2022,它已經內建了 ildasm 和 ilasm 工具。要使用它們,只要在 Visual Studio 中打開你的專案,然後在方案總管中選擇你要反組譯或組譯的組件,右鍵點選 [開啟命令提示字元]。這樣就會打開一個命令提示字元視窗,你可以在裡面執行以下指令:

ildasm <assembly>
ilasm <source>

其中 和的意義與上面相同。你也可以加上一些選項參數,來控制輸出的格式和內容。詳細的用法,可以參考官方文件:https://docs.microsoft.com/zh-tw/visualstudio/debugger/how-to-use-the-il-disassembler?view=vs-2022 和 https://docs.microsoft.com/zh-tw/visualstudio/debugger/how-to-use-the-il-assembler?view=vs-2022

這就是如何在 .NET 6 安裝 ildasm 與 ilasm 工具,以及如何使用它們來檢視

你好,歡迎來到我的部落格,今天我要介紹如何在 .NET 6 安裝 ildasm 與 ilasm 工具。這些工具可以讓你查看和修改 .NET 程式的中間語言 (IL) 代碼,非常有用,但是在 .NET 6 中,它們不是預設安裝的,所以你需要自己動手安裝。

安裝 ildasm 與 ilasm 工具的步驟如下:

  1. 打開終端機,輸入 dotnet tool install --global dotnet-ildasm --version 0.25.0 來安裝 dotnet-ildasm 工具,這個工具可以讓你將 .NET 程式反組譯成 IL 代碼並輸出到檔案或終端機。
  2. 輸入 dotnet tool install --global ilasm --version 6.0.0-preview.7.21377.19 來安裝 ilasm 工具,這個工具可以讓你將 IL 代碼組譯成 .NET 程式。
  3. 確認你的環境變數 PATH 中有包含 dotnet tools 的路徑,通常是 C:\Users<username>.dotnet\tools ,如果沒有的話,請自行加入。
  4. 測試一下工具是否安裝成功,輸入 dotnet-ildasm -h 和 ilasm -h ,如果看到工具的使用說明,就表示安裝成功了。

恭喜你,你已經成功安裝了 ildasm 與 ilasm 工具,在 .NET 6 中,你可以隨心所欲地查看和修改 IL 代碼了。希望這篇部落格對你有幫助,如果你喜歡我的內容,請按讚和分享,謝謝你的支持!

【熱情】(過長,未產生完)

你是不是想要在 .NET 6 中使用 ildasm 與 ilasm 工具來查看和修改 IL 代碼呢?如果是的話,你來對地方了!在這篇博客文章中,我將介紹如何在 .NET 6 安裝 ildasm 與 ilasm 工具,以及如何使用它們來進行一些有趣的實驗。

首先,你可能會問,什麼是 IL 代碼?IL 代碼是中間語言(Intermediate Language)的簡稱,它是 .NET 平台上的一種通用的低級語言,可以被不同的高級語言(如 C#、VB.NET、F# 等)編譯成。IL 代碼可以被 JIT 編譯器(Just-In-Time Compiler)在運行時轉換成本機代碼,也可以被 AOT 編譯器(Ahead-Of-Time Compiler)在發佈時轉換成本機代碼。IL 代碼包含了程序的邏輯、數據、元數據等信息,並且遵循一定的格式和規則。

那麼,什麼是 ildasm 與 ilasm 工具呢?ildasm 是 IL 反編譯器(IL Disassembler),它可以將 .NET 程序集(Assembly)中的 IL 代碼反編譯成可讀的文本格式,並且顯示出程序集的結構、類型、方法、屬性、字段等信息。ilasm 是 IL 編譯器(IL Assembler),它可以將文本格式的 IL 代碼編譯成 .NET 程序集,並且生成相應的元數據和清單(Manifest)。通過使用這兩個工具,你可以對 IL 代碼進行查看、修改、重建等操作,從而深入了解 .NET 平台的工作原理和特性。

那麼,如何在 .NET 6 安裝 ildasm 與 ilasm 工具呢?其實很簡單,只需要幾個步驟:

  1. 打開命令提示符或 PowerShell,輸入 dotnet --info 命令,查看你當前安裝的 .NET SDK 的版本和路徑。例如,我的輸出如下:

.NET SDK (反映任何 global.json): Version: 6.0.100 Commit: 9e8b04bbff

運行時環境: OS Name: Windows OS Version: 10.0.19043 OS Platform: Windows RID: win10-x64 Base Path: C:\Program Files\dotnet\sdk\6.0.100\

  1. 根據你的運行時環境(RID)和基礎路徑(Base Path),找到相應的 .NET SDK 文件夾。例如,我的文件夾是 C:\Program Files\dotnet\sdk\6.0.100\win10-x64。
  2. 在該文件夾中,你會找到兩個文件:ildasm.exe 和 ilasm.exe。這就是我們要用的工具。你可以將它們複製到其他地方,或者直接在該文件夾中使用它們。

【新聞】(過長,未產生完,同段落出現兩次,還拉黑大背書 XD)

介紹如何在 .NET 6 安裝 ildasm 與 ilasm 工具

.NET 6 是 Microsoft 最新的跨平台開發框架,它提供了許多新的功能和改進,例如最佳化的編譯器、更快的執行速度、更多的語言支援等。但是,如果你想要深入了解 .NET 6 的中繼語言 (IL) 程式碼,或者想要修改或產生 IL 程式碼,你可能會需要使用 ildasm 和 ilasm 這兩個工具。

ildasm 是 IL 反組譯工具,它可以將包含 IL 程式碼的可攜式可執行檔 (PE) 檔案轉換成適合作為 ilasm 輸入的文字檔。ilasm 是 IL 組譯工具,它可以將包含 IL 程式碼和中繼資料指示詞的文字檔轉換成 PE 檔案。這兩個工具可以讓你查看、分析、修改或產生 .NET 6 的 IL 程式碼,對於學習或測試 .NET 6 的內部運作很有幫助。

那麼,如何在 .NET 6 安裝這兩個工具呢?在 .NET Framework 時代,這兩個工具是隨 Visual Studio 一起安裝的,你可以在開發人員命令提示字元或 PowerShell 中執行它們。但是,在 .NET 6 中,這兩個工具並不是預設安裝的,你需要另外下載和安裝它們。

根據 Microsoft Learn 的文件,你可以使用以下的步驟來安裝 ilasm 工具:

  1. 下載 ilasm 工具的 zip 檔案,根據你的目標處理器選擇適合的版本。例如,如果你想要產生 x64 的映像,你可以下載 https://aka.ms/ilasmpackage-x64 這個連結。
  2. 解壓縮 zip 檔案到一個目錄中,例如 C:\ilasm。
  3. 將 ilasm 工具所在的目錄加入到系統環境變數 PATH 中,或者在命令提示字元或 PowerShell 中使用完整路徑來執行 ilasm 工具。

根據黑暗執行緒部落格的文章,你可以使用以下的步驟來安裝 ildasm 工具:

  1. 下載 ildasm 工具的 zip 檔案,根據你的目標處理器選擇適合的版本。例如,如果你想要產生 x64 的映像,你可以下載 https://aka.ms/ildasmpackage-x64 這個連結。
  2. 解壓縮 zip 檔案到一個目錄中,例如 C:\ildasm。
  3. 將 ildasm 工具所在的目錄加入到系統環境變數 PATH 中,或者在命令提示字元或 PowerShell 中使用完整路徑來執行 ildasm 工具。

安裝完成後,你就可以在命

【有趣】(環境變數教學連結是對的,Github 有檔案可以下載,但裡面是原始碼,沒有工具)

你好,歡迎來到我的博客,今天我要介紹如何在 .NET 6 安裝 ildasm 與 ilasm 工具。這些工具可以讓你查看和修改 .NET 程式的中間語言 (IL) 代碼,非常有趣和實用。不過,如果你不小心使用它們,可能會造成一些問題,比如破壞你的程式或者違反版權法。所以,在使用之前,請確保你知道你在做什麼,並且尊重其他人的智慧財產權。

要安裝 ildasm 和 ilasm 工具,你需要先安裝 .NET 6 SDK,如果你還沒有安裝,可以到這裡下載:https://dotnet.microsoft.com/download/dotnet/6.0。安裝好後,打開命令提示字元,輸入 dotnet --version 確認你的 .NET 版本是 6.0 或以上。

接下來,你需要下載 ildasm 和 ilasm 的二進制檔案,它們不是 .NET SDK 的一部分,所以你需要另外找到它們。一個簡單的方法是從 GitHub 上的 dotnet/runtime 專案下載:https://github.com/dotnet/runtime/releases/tag/v6.0.0。在 Assets 部分,找到 runtime.win-x64.Microsoft.NETCore.ILAsm 和 runtime.win-x64.Microsoft.NETCore.ILDAsm 的 zip 檔案,分別下載並解壓縮到你想要的位置。

最後,你需要將 ildasm 和 ilasm 的路徑加入到環境變數 PATH 中,這樣你就可以在任何地方使用它們了。如果你不知道怎麼做,可以參考這篇文章:https://www.architectryan.com/2018/03/17/add-to-the-path-on-windows-10/。

恭喜你,你已經成功安裝了 ildasm 和 ilasm 工具!現在你可以開始玩轉 IL 代碼了。不過,在此之前,我要提醒你一件事:請不要用它們來做壞事。比如說,不要用它們來反編譯別人的程式,然後修改或者盜用它們。這樣不僅是不道德的,也是違法的。如果你被發現了,可能會面臨法律的制裁。所以,請只用它們來學習和實驗自己的程式,或者幫助別人解決問題。

好了,這就是今天的博客內容了,希望你喜歡和學到了一些東西。如果你有任何問題或建議,歡迎在下面留言。我會盡快回覆你的。感謝你的閱讀和支持!


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK