跳至主要内容

架構與診斷

根據操作歸屬定位故障。模型回覆成功、計算成功和產物核驗成功是不同的觀察結果,應收集發生故障那個階段的證據。

架構與職責

flowchart LR
UI[桌面或浏览器界面] --> MAIN[应用主进程]
MAIN --> STORE[设置、数据库和托管文件]
MAIN --> AGENT[代理框架和模型提供方]
MAIN --> NB[Notebook 运行时]
MAIN --> SERVICES[Connectors 和 Compute Hosts]
AGENT --> EVENTS[消息和工具事件]
NB --> EVENTS
SERVICES --> EVENTS
EVENTS --> UI
MAIN --> ART[产物版本和来源证据]
ART --> UI
元件負責內容應檢查的證據
介面和預覽顯示狀態、控制元件、檔案渲染頁面、當前專案/會話、檔名、預覽錯誤
主程序持久化操作、應用服務和訪問邊界操作錯誤及相關診斷
代理框架/提供方模型連線、執行協議和回覆流框架/提供方/模型、連線測試、失敗工具或輪次
Notebook直譯器、程式碼執行、輸出和實時變數執行時 ID/版本、失敗單元、標準輸出/錯誤和執行記錄
Connector外部服務請求Connector/工具名、脫敏輸入、服務狀態或錯誤
遠端 Compute HostSSH 和直接/排程作業主機/模式、探測結果、作業 ID、遠端日誌
產物儲存託管版本、校驗和及捕獲證據檔案/版本 ID、內容狀態、Code/Environment/Review

桌面入口跨越 preload API 邊界。瀏覽器入口使用受保護的本地服務傳輸,見無介面服務和瀏覽器訪問。瀏覽器不是第二套獨立研究資料庫。

區分檔案內容與證據

狀態或訊息含義下一步
產物內容可用所選版本的位元組可讀取,並透過適用的完整性檢查檢查科學結果是否正確
內容不可用:missing找不到預期內容保留版本身份,檢查儲存可用性
內容不可用:checksum mismatch內容與記錄的完整性值不符保留診斷,不要替換位元組後仍稱為原版本
環境部分捕獲環境記錄不完整閱讀警告,另行保留直譯器和包資訊
有界執行日誌只保留了有大小範圍限制的不可變執行證據檢視缺口提示和可用的實時 Notebook
當前版本無稽核沒有適用 Reviewer 結果不要將該版本標為已稽核

這些狀態可能同時存在,應分別檢查內容完整性、執行證據和稽核狀態。

查詢錯誤資訊

故障位置對應查詢入口
模型/API、Connector 或代理的 HTTP 響應HTTP 狀態碼
應用無法開啟資料庫資料庫啟動錯誤碼
Notebook 匯入、路徑或權限問題報錯資訊
SSH、遠端路徑和作業狀態遠端錯誤
提交缺陷與社群求助問題反饋

記錄錯誤標識時保留來源。系統 errno、Python 異常、遠端作業錯誤碼和 Provider HTTP 狀態不可混為一談。複製附帶訊息及可用的底層原因;同一個標識可能對應多種失敗路徑。

保留有用的診斷記錄

記錄應用版本、作業系統、受影響專案/會話、執行操作、預期結果、準確錯誤,以及出錯前發生的事情。計算問題應包含執行時和輸入校驗和;有產物版本或遠端作業 ID 時也應記錄。

使用可用的 DetailsDiagnostic details 或日誌介面保留原因,不要只擷取短標題。能用公開或最小輸入復現時,優先保留這種復現。分享前檢查賬號令牌、請求頭、私人路徑和研究內容。

主程序日誌使用結構化 JSON 行。預設單檔案達到 5 MiB 時輪換,共保留三個檔案;特殊致命錯誤寫入可能多出一條記錄。因此日誌有保留視窗,不能當作永久審計檔案。診斷欄位也可能截斷,故障後應及時保留相關記錄。“沒有找到”不等於“事件沒有發生”。

原始碼:日誌與保留診斷脫敏Notebook 錯誤長度限制產物內容狀態

排查時,先區分操作失敗與提交後的重新整理/清理失敗,以及後臺作業完成與結果送達。重試寫入前檢查實際儲存狀態。恢復提示表涵蓋佇列恢復受阻、PDF 條目保留、集合過期編輯及 Windows 安裝錯誤。後臺任務說明執行狀態,遠端監控錯誤仍與作業最終結果分別處理。