跳转到内容

User:Cewbot/機器人設計理念

维基百科,自由的百科全书

機器人設計理念

[编辑]

以下列出理想之機器人設計理念:

最小化更動
  • 若是完全不更動也能接受,就不更動。若必須更動,則在可確認的範圍內一次更改到位,包括規範化;否則僅作最小修正。
  • 除非是非修正不可的問題,否則應該盡量避免修改封存紀錄。
一次到位
更動具穩定度。同樣操作執行一次後,第二次執行就不該有更動。
僅更動篩選過的內容
  • 僅處理確認屬於本次任務之 pattern。對於無法解析或有問題者,跳過不處理之。寧可漏判 (false negative) 也不誤判 (false positive)。例如先對內容作盡可能精準模式匹配,並針對符合之部分方作更動。若模糊無法判別,則不更動,而註記為可能需要增加模式、或需要人工判別之內容。
cf. 最小權限原則
考量特殊wikitext
處理頁面最好採用語法解析器。直接處理wikitext時,須考量特殊情形。如:
  • 考量相同表現之語法。如:要尋找所有「軟體」亦須匹配字詞轉換語法「軟-{}-體」。
  • 要偵測所有{{Tl}}須排除「<!-- {{Template:Tl}} -->」或在 <nowiki></nowiki> 中的情況。
  • 使用{{-}}{{!}}{{=}}解析器函數特殊字符魔術字的情況。例如要找「机器人」,也得考慮「{{{name|{{int:Group-bot}}}}}」。
語意化規範化
盡可能使編輯結果容易被人類與機器利用,並方便往後更動。

因此:

完整記錄
盡可能作完整記錄。可能的話還包含 undo script。
更動後須測試再上路
每次更動後皆先作小幅度測試。若發生問題則即時回復,確保沒問題再正式上路,應用於成品/上線環境 (production environment)。
使用最少的資源
最小化所使用的資源,包括電腦記憶體硬碟儲存裝置空間以及網路流量等。能做cache則做cache,讓檢查過的不需再做第二次檢查。
考量人類作業的因素
  • 機器人的操作應該能夠讓人類理解。並且若是人類手動代替機器人操作部分作業時,機器人也能夠正確判別以及運作。
  • 機器人對使用者編輯的修正應採用友善的語氣。
  • 當機器人失靈時,人類應當有辦法手動代替作業。例如不能夠把知道某些密碼密鑰或是雜湊值或者其生成方法當作編輯後能夠正確運作的條件。
  • 機器人應考慮作業到一半被其他人或者其他機器人插斷、編輯衝突的情況,若可行則再次作業,或採行相對應的措施。
開放原始碼並且維持一個能夠即時修改維護程式的團隊
這可以讓機器人在出問題、有漏洞時可以即時更正,並且避免機器人年久失修、無人維護。