學習

沿著問題,一步步讀懂。

文章頁用於查找;這裡提供建議順序。專案頁看整體結構,實驗頁查協議與證據,實作頁動手嘗試。

0 / 59 · 你的閱讀進度,僅儲存在目前瀏覽器。

從下方選一條路線開始。

構建 / AI 應用開發

Java、HTTP 與 JSON 基礎

已發布的閱讀順序 · 17
  1. 構建 · 入門

    用 Java 8 呼叫大型語言模型:從第一次請求到多輪對話 →

    讀後能做什麼:發送請求、解析回答,並正確傳遞多輪歷史。

    先修:Java、HTTP 與 JSON 基礎

    專案 · Java LLM 實作集 →

    下一步:Java LLM 實踐(二):HTTP 200 之后,怎樣驗收模型的 JSON? →

    15 分鐘
  2. 構建 · 進階

    Java LLM 實踐(二):HTTP 200 之后,怎樣驗收模型的 JSON? →

    讀後能做什麼:將傳輸、JSON 結構與業務驗收分開。

    先修:用 Java 8 呼叫大型語言模型:從第一次請求到多輪對話

    專案 · Java LLM 實作集 →

    下一步:Java LLM 實作(三):逾時之後,別讓對話歷史悄悄變了 →

    16 分鐘
  3. 構建 · 進階

    Java LLM 實作(三):逾時之後,別讓對話歷史悄悄變了 →

    讀後能做什麼:讓一次問答原子提交,失敗不留下半輪。

    先修:Java LLM 實踐(二):HTTP 200 之后,怎樣驗收模型的 JSON?

    實驗 · A1 / 對話歷史的提交邊界 →專案 · Java LLM 實作集 →

    下一步:Java LLM 實踐(四):兩個請求同時返回,誰有資格寫入歷史? →

    10 分鐘
  4. 構建 · 進階

    Java LLM 實踐(四):兩個請求同時返回,誰有資格寫入歷史? →

    讀後能做什麼:用版本票據實作先提交者勝出,說明與序列執行的差異。

    先修:Java LLM 實作(三):逾時之後,別讓對話歷史悄悄變了

    實驗 · A2 / 並發歷史提交 →專案 · Java LLM 實作集 →

    下一步:Java LLM 實踐(五):工具超時了,為什麼任務還在執行? →

    8 分鐘
  5. 構建 · 進階

    Java LLM 實踐(五):工具超時了,為什麼任務還在執行? →

    讀後能做什麼:限制工具白名單、參數與預算,區分逾時和真正停止。

    先修:Java LLM 實踐(二):HTTP 200 之后,怎樣驗收模型的 JSON?

    實驗 · 工具呼叫失敗復原實驗 →專案 · Java LLM 實作集 →

    下一步:Java LLM 實踐(八):流式回答斷了,半句答案該不該進入歷史? →

    8 分鐘
  6. 構建 · 進階

    Java LLM 實踐(八):流式回答斷了,半句答案該不該進入歷史? →

    讀後能做什麼:區分串流預覽與可提交的完整回答。

    先修:Java LLM 實踐(二):HTTP 200 之后,怎樣驗收模型的 JSON?

    實驗 · Java LLM 實踐(八):流式回答斷了,半句答案該不該進入歷史? →專案 · Java LLM 實作集 →

    下一步:Java LLM 實踐(九):取消請求後,舊回答為什麼還會覆蓋新會話? →

    11 分鐘
  7. 構建 · 進階

    Java LLM 實踐(九):取消請求後,舊回答為什麼還會覆蓋新會話? →

    讀後能做什麼:比較三種會話策略,阻止舊回呼覆蓋目前請求。

    先修:Java LLM 實踐(八):流式回答斷了,半句答案該不該進入歷史?

    實驗 · Java LLM 實踐(九):取消請求後,舊回答為什麼還會覆蓋新會話? →專案 · Java LLM 實作集 →

    下一步:Java LLM 實踐(十):點了取消,讀取執行緒為什麼還在運行? →

    10 分鐘
  8. 構建 · 進階

    Java LLM 實踐(十):點了取消,讀取執行緒為什麼還在運行? →

    讀後能做什麼:區分本機取消、連線停止和遠端任務終止。

    先修:Java LLM 實踐(九):取消請求後,舊回答為什麼還會覆蓋新會話?

    實驗 · Java LLM 實踐(十):點了取消,讀取執行緒為什麼還在運行? →專案 · Java LLM 實作集 →

    下一步:TypeScript 能保證模型輸出正確嗎?32組輸入與 Java 驗證器的邊界對照 →

    11 分鐘
  9. 構建 · 進階

    TypeScript 能保證模型輸出正確嗎?32組輸入與 Java 驗證器的邊界對照 →

    讀後能做什麼:理解靜態型別為何不能取代外部回應的執行期校驗。

    先修:Java LLM 實踐(二):HTTP 200 之后,怎樣驗收模型的 JSON?

    實驗 · TypeScript / 輸出邊界對照 →專案 · Java LLM 實作集 →

    下一步:AI Radar 工程拆解:從 RSS 到網站,中間發生了什麼? →

    11 分鐘
  10. 構建 · 進階

    AI Radar 工程拆解:從 RSS 到網站,中間發生了什麼? →

    讀後能做什麼:追蹤採集、去重與發布,區分歷史實作與目前設定。

    先修:Java、HTTP 與 JSON 基礎

    專案 · Hohoo’s AI Lab →

    下一步:Java 會話歷史與請求窗口:裁掉的舊事實還能回來嗎? →

    12 分鐘
  11. 構建 · 進階

    Java 會話歷史與請求窗口:裁掉的舊事實還能回來嗎? →

    讀後能做什麼:通過裁剪、提交、重啟和擴窗的連續實驗,分離可回看的完整歷史與一次模型請求的上下文。

    先修:Java LLM 實作(三):逾時之後,別讓對話歷史悄悄變了

    實驗 · Java 會話歷史與請求窗口:裁掉的舊事實還能回來嗎? →專案 · Java LLM 實作集 →

    下一步:Java 請求重試:三次超時,不等于一個總期限 →

    9 分鐘
  12. 構建 · 進階

    Java 請求重試:三次超時,不等于一個總期限 →

    讀後能做什麼:七種真實本地 HTTP 情況,比較狀態碼、Retry-After、嘗試上限和總等待預算。

    先修:Java LLM 實踐(十):點了取消,讀取執行緒為什麼還在運行?

    實驗 · Java 請求重試:三次超時,不等于一個總期限 →專案 · Java LLM 實作集 →

    下一步:Java 對話歷史落盤:程序崩潰後,半輪記錄怎么辦? →

    9 分鐘
  13. 構建 · 進階

    Java 對話歷史落盤:程序崩潰後,半輪記錄怎么辦? →

    讀後能做什麼:校驗追加日志、142種截斷前綴和三個真實異常退出子進程,明確本地提交與遠端冪等的邊界。

    先修:Java 會話歷史與請求窗口:裁掉的舊事實還能回來嗎?

    實驗 · Java 對話歷史落盤:程序崩潰後,半輪記錄怎么辦? →專案 · Java LLM 實作集 →

    下一步:Java 冪等重試:沒收到回答,不等于沒有執行 →

    9 分鐘
  14. 構建 · 進階

    Java 冪等重試:沒收到回答,不等于沒有執行 →

    讀後能做什麼:辨識回覆遺失與效果未知,重現並行去重及程序崩潰窗口。

    先修:Java 請求重試:三次超時,不等于一個總期限 · Java 對話歷史落盤:程序崩潰後,半輪記錄怎么辦?

    實驗 · Java 冪等重試:沒收到回答,不等于沒有執行 →專案 · Java LLM 實作集 →

    下一步:持久冪等:讓操作身份與結果一起提交 →

    11 分鐘
  15. 構建 · 進階

    持久冪等:讓操作身份與結果一起提交 →

    讀後能做什麼:用帶CRC的追加紀錄、行程崩潰與99個截斷前綴,解釋持久冪等的提交邊界。

    先修:Java 冪等重試:沒收到回答,不等于沒有執行

    實驗 · 持久投遞與歷史恢復 →專案 · Java LLM 實作集 →

    下一步:Outbox投遞:本地可靠,不等於遠端只執行一次 →

    10 分鐘
  16. 構建 · 進階

    Outbox投遞:本地可靠,不等於遠端只執行一次 →

    讀後能做什麼:對照有鍵和無鍵接收端,解釋回復丟失、回執缺失與遠端重複副作用。

    先修:持久冪等:讓操作身份與結果一起提交

    實驗 · 持久投遞與歷史恢復 →專案 · Java LLM 實作集 →

    下一步:對話恢復:從意圖、回執到完整問答 →

    10 分鐘
  17. 構建 · 進階

    對話恢復:從意圖、回執到完整問答 →

    讀後能做什麼:在三個提交邊界真實終止JVM,以持久事實恢復完整歷史,保留遠端重複執行反例。

    先修:Outbox投遞:本地可靠,不等於遠端只執行一次

    實驗 · 持久投遞與歷史恢復 →專案 · Java LLM 實作集 →
    10 分鐘
後續計畫 · 尚未發表
  1. 構建 · 計畫選題

    Tool Calling

  2. 構建 · 計畫選題

    Spring AI 快速入門

  3. 構建 · 計畫選題

    Agent 工作流程

  4. 構建 · 計畫選題

    評估效果、記錄失敗與改進

  5. 構建 · 計畫選題

    AI 應用可觀測性

  6. 構建 · 計畫選題

    Production

  7. 構建 · 計畫選題

    AI Coding

  8. 構建 · 計畫選題

    Codex

  9. 構建 · 計畫選題

    MCP

  10. 構建 · 計畫選題

    Skills

  11. 構建 · 計畫選題

    Harness Engineering

  12. 構建 · 計畫選題

    Testing

  13. 構建 · 計畫選題

    Performance

理解 / LLM

Python、陣列與矩陣運算基礎;機制實驗不使用訓練好的大型模型

已發布的閱讀順序 · 18
  1. 理解 · 進階

    KV Cache 拆解:多輪對話的歷史,為什麼還要再傳一遍? →

    讀後能做什麼:估算 K/V 陣列容量,區分會話記憶與計算重用。

    先修:Python、陣列與矩陣運算基礎;機制實驗不使用訓練好的大型模型

    下一步:LLM機制實驗(一):改動未來Token,前面的輸出應該變嗎? →

    10 分鐘
  2. 理解 · 進階

    LLM機制實驗(一):改動未來Token,前面的輸出應該變嗎? →

    讀後能做什麼:用未來資訊洩漏反例檢驗因果遮罩。

    先修:KV Cache 拆解:多輪對話的歷史,為什麼還要再傳一遍?

    實驗 · L2–L4 / 注意力與快取機制 →專案 · Java LLM 實作集 →

    下一步:LLM機制實驗(二):KV Cache省掉了什麼,怎樣證明沒有算錯? →

    8 分鐘
  3. 理解 · 進階

    LLM機制實驗(二):KV Cache省掉了什麼,怎樣證明沒有算錯? →

    讀後能做什麼:逐步比較完整重算與增量計算的數值結果。

    先修:LLM機制實驗(一):改動未來Token,前面的輸出應該變嗎?

    實驗 · L2–L4 / 注意力與快取機制 →專案 · Java LLM 實作集 →

    下一步:LLM機制實驗(三):快取只留四格,為什麼不等於重算四個Token? →

    8 分鐘
  4. 理解 · 進階

    LLM機制實驗(三):快取只留四格,為什麼不等於重算四個Token? →

    讀後能做什麼:滑動視窗裁切後仍保留正確位置語義。

    先修:LLM機制實驗(二):KV Cache省掉了什麼,怎樣證明沒有算錯?

    實驗 · L2–L4 / 注意力與快取機制 →專案 · Java LLM 實作集 →

    下一步:LLM 機制實驗(四):前綴改了,舊 KV Cache 還能繼續用嗎? →

    8 分鐘
  5. 理解 · 進階

    LLM 機制實驗(四):前綴改了,舊 KV Cache 還能繼續用嗎? →

    讀後能做什麼:辨識模型、位置與輸入變更後的失效條件。

    先修:LLM機制實驗(三):快取只留四格,為什麼不等於重算四個Token?

    實驗 · L5 / 前綴快取失效 →專案 · Java LLM 實作集 →

    下一步:LLM 機制實驗(五):改了歷史,能否只重算變化的後綴? →

    9 分鐘
  6. 理解 · 進階

    LLM 機制實驗(五):改了歷史,能否只重算變化的後綴? →

    讀後能做什麼:比對最長有效前綴並續算剩餘 Token。

    先修:LLM 機制實驗(四):前綴改了,舊 KV Cache 還能繼續用嗎?

    實驗 · LLM 機制實驗(五):改了歷史,能否只重算變化的後綴? →專案 · Java LLM 實作集 →

    下一步:LLM 機制實驗(六):快取加大了,為什麼還是一次都沒命中? →

    10 分鐘
  7. 理解 · 進階

    LLM 機制實驗(六):快取加大了,為什麼還是一次都沒命中? →

    讀後能做什麼:依陣列位元組數限制 LRU,解釋工作集放不下時的零命中。

    先修:LLM 機制實驗(五):改了歷史,能否只重算變化的後綴?

    實驗 · LLM 機制實驗(六):快取加大了,為什麼還是一次都沒命中? →專案 · Java LLM 實作集 →

    下一步:LLM 機制實驗(七):快取省了計算,為什麼實測反而更慢? →

    11 分鐘
  8. 理解 · 進階

    LLM 機制實驗(七):快取省了計算,為什麼實測反而更慢? →

    讀後能做什麼:同時判斷數值等價、計算節省與實測時間。

    先修:LLM 機制實驗(六):快取加大了,為什麼還是一次都沒命中?

    實驗 · LLM 機制實驗(七):快取省了計算,為什麼實測反而更慢? →專案 · Java LLM 實作集 →

    下一步:把答案放在上下文中間,模型就會漏掉嗎?一次提前停止的對照試驗 →

    12 分鐘
  9. 理解 · 進階

    把答案放在上下文中間,模型就會漏掉嗎?一次提前停止的對照試驗 →

    讀後能做什麼:區分計畫、嘗試與有效回應,保留限流後的不完整結果。

    先修:Python、陣列與矩陣運算基礎;機制實驗不使用訓練好的大型模型

    專案 · Java LLM 實作集 →實驗 · L1 / 上下文位置試驗:提前停止的一輪 →

    下一步:LLM 實驗(二):先讓對照成立,再談上下文位置 →

    12 分鐘
  10. 理解 · 進階

    LLM 實驗(二):先讓對照成立,再談上下文位置 →

    讀後能做什麼:複核 24 次真實對照,說明全對結果的測量天花板。

    先修:把答案放在上下文中間,模型就會漏掉嗎?一次提前停止的對照試驗

    專案 · Java LLM 實作集 →實驗 · L1 / 上下文位置試驗:提前停止的一輪 →

    下一步:24次全對之後:怎樣設計更有區分度的上下文實驗? →

    16 分鐘
  11. 理解 · 進階

    24次全對之後:怎樣設計更有區分度的上下文實驗? →

    讀後能做什麼:檢查 128 項離線實驗設計,不將準備完成當成模型結果。

    先修:LLM 實驗(二):先讓對照成立,再談上下文位置

    專案 · Java LLM 實作集 →

    下一步:KV 快取開銷剖析:把省下的計算和新增的工作分開 →

    10 分鐘
  12. 理解 · 進階

    KV 快取開銷剖析:把省下的計算和新增的工作分開 →

    讀後能做什麼:對909次查詢做分段計時,驗證源碼簽名、查找、復制與續算分別花在哪里,同時保留快取仍慢的結果。

    先修:LLM 機制實驗(七):快取省了計算,為什麼實測反而更慢?

    實驗 · KV 快取開銷剖析:把省下的計算和新增的工作分開 →專案 · Java LLM 實作集 →

    下一步:注意力分塊:不保存完整分數矩陣,如何保持結果? →

    9 分鐘
  13. 理解 · 進階

    注意力分塊:不保存完整分數矩陣,如何保持結果? →

    讀後能做什麼:從錯誤的分塊平均出發,推導在線Softmax累加,并用9組陣列和558次計時區分省內存與加速。

    先修:LLM機制實驗(二):KV Cache省掉了什麼,怎樣證明沒有算錯?

    實驗 · 注意力分塊:不保存完整分數矩陣,如何保持結果? →專案 · Java LLM 實作集 →

    下一步:KV 量化入門:省下多少位元組,又引入什麼誤差? →

    9 分鐘
  14. 理解 · 進階

    KV 量化入門:省下多少位元組,又引入什麼誤差? →

    讀後能做什麼:比較整張量與逐行int8量化,顯式計入scale,觀察離群值對注意力輸出的影響。

    先修:注意力分塊:不保存完整分數矩陣,如何保持結果?

    實驗 · KV 量化入門:省下多少位元組,又引入什麼誤差? →專案 · Java LLM 實作集 →

    下一步:KV 量化軸:Key 與 Value 為什么不能一概而論? →

    9 分鐘
  15. 理解 · 進階

    KV 量化軸:Key 與 Value 為什么不能一概而論? →

    讀後能做什麼:依離群值分布選擇量化軸,獨立重算輸出誤差及scale開銷。

    先修:KV 量化入門:省下多少位元組,又引入什麼誤差?

    實驗 · KV 量化軸:Key 與 Value 為什么不能一概而論? →專案 · Java LLM 實作集 →

    下一步:KV分組打包:4-bit到底省了多少? →

    10 分鐘
  16. 理解 · 進階

    KV分組打包:4-bit到底省了多少? →

    讀後能做什麼:實際保存半位元組整數碼,復算分組scale開銷、補齊位元組與注意力輸出誤差。

    先修:KV 量化軸:Key 與 Value 為什么不能一概而論?

    實驗 · KV打包、殘差窗口與分塊成本 →專案 · Java LLM 實作集 →

    下一步:KV殘差窗口:最近Token一定值得高精度嗎? →

    10 分鐘
  17. 理解 · 進階

    KV殘差窗口:最近Token一定值得高精度嗎? →

    讀後能做什麼:用早段與近段注意力對照,解釋同樣的float32窗口為何收益不同。

    先修:KV分組打包:4-bit到底省了多少?

    實驗 · KV打包、殘差窗口與分塊成本 →專案 · Java LLM 實作集 →

    下一步:KV分塊反量化:工作區小了,為什么更慢? →

    10 分鐘
  18. 理解 · 進階

    KV分塊反量化:工作區小了,為什么更慢? →

    讀後能做什麼:區分快取負載、工作陣列和實測耗時,保留分塊CPU實現更慢的810條計時記錄。

    先修:KV殘差窗口:最近Token一定值得高精度嗎?

    實驗 · KV打包、殘差窗口與分塊成本 →專案 · Java LLM 實作集 →
    10 分鐘
後續計畫 · 尚未發表
  1. 理解 · 計畫選題

    Token 到底是什麼

  2. 理解 · 計畫選題

    Context Window

  3. 理解 · 計畫選題

    Embedding

  4. 理解 · 計畫選題

    Attention

  5. 理解 · 計畫選題

    Transformer

  6. 理解 · 計畫選題

    LLM Evaluation

  7. 理解 · 計畫選題

    Sampling / Inference

探索 / 具身智能

Python 基礎;教學模擬使用 MuJoCo 與直角座標夾爪

已發布的閱讀順序 · 22
  1. 探索 · 入門

    具身智能實踐(一):在 MuJoCo 中抓起方塊,再故意抓偏 →

    讀後能做什麼:執行接觸抓取並保留失敗軌跡。

    先修:Python 基礎;教學模擬使用 MuJoCo 與直角座標夾爪

    專案 · Hohoo 具身實驗 →

    下一步:具身實作(二):沒抓住,就別繼續搬運 →

    18 分鐘
  2. 探索 · 進階

    具身實作(二):沒抓住,就別繼續搬運 →

    讀後能做什麼:搬運前驗收抓取,失敗時停止推進。

    先修:具身智能實踐(一):在 MuJoCo 中抓起方塊,再故意抓偏

    專案 · Hohoo 具身實驗 →實驗 · E2 / 確認抓取後再搬運 →

    下一步:具身實作(三):抓住之後,還要一直確認嗎? →

    12 分鐘
  3. 探索 · 進階

    具身實作(三):抓住之後,還要一直確認嗎? →

    讀後能做什麼:持續監測搬運中的滑落,不僅檢查起點。

    先修:具身實作(二):沒抓住,就別繼續搬運

    專案 · Hohoo 具身實驗 →實驗 · E3 / 搬運中的持續接觸監測 →

    下一步:具身實作(四):訊息還在到,觀測已經過期了 →

    14 分鐘
  4. 探索 · 進階

    具身實作(四):訊息還在到,觀測已經過期了 →

    讀後能做什麼:依取樣時間判斷缺測與舊封包。

    先修:具身實作(三):抓住之後,還要一直確認嗎?

    專案 · Hohoo 具身實驗 →實驗 · E4 / 觀測新鮮度與取樣間隔 →

    下一步:具身智能實作(五):通訊恢復了,為何還不能立刻繼續搬運? →

    14 分鐘
  5. 探索 · 進階

    具身智能實作(五):通訊恢復了,為何還不能立刻繼續搬運? →

    讀後能做什麼:恢復通訊後重新驗收,再決定繼續。

    先修:具身實作(四):訊息還在到,觀測已經過期了

    實驗 · E5 / 觀測恢復後的重新驗收 →專案 · Hohoo 具身實驗 →

    下一步:具身智能實踐(六):恢復門控與路徑重規劃,各自解決了什麼? →

    12 分鐘
  6. 探索 · 進階

    具身智能實踐(六):恢復門控與路徑重規劃,各自解決了什麼? →

    讀後能做什麼:分離恢復門控與路徑重新規劃的影響。

    先修:具身智能實作(五):通訊恢復了,為何還不能立刻繼續搬運?

    實驗 · E6 / 恢復門控與路徑消融 →專案 · Hohoo 具身實驗 →

    下一步:具身智能實踐(七):搬運規則,為什麼會誤停正常下降? →

    14 分鐘
  7. 探索 · 進階

    具身智能實踐(七):搬運規則,為什麼會誤停正常下降? →

    讀後能做什麼:依階段選擇驗收條件,避免下降時誤觸高度規則。

    先修:具身智能實踐(六):恢復門控與路徑重規劃,各自解決了什麼?

    實驗 · E7 / 下降階段的抓取契約 →專案 · Hohoo 具身實驗 →

    下一步:具身智能實踐(八):檢測到掉落以後,夾爪應該做什麼? →

    13 分鐘
  8. 探索 · 進階

    具身智能實踐(八):檢測到掉落以後,夾爪應該做什麼? →

    讀後能做什麼:解釋警報後保持、停止與撤離的物理後果。

    先修:具身智能實踐(七):搬運規則,為什麼會誤停正常下降?

    實驗 · E8 / 報警後的退出動作 →專案 · Hohoo 具身實驗 →

    下一步:具身智能實踐(九):鬆爪命令成功,不等於放置完成 →

    9 分鐘
  9. 探索 · 進階

    具身智能實踐(九):鬆爪命令成功,不等於放置完成 →

    讀後能做什麼:用接觸與穩定視窗驗收釋放結果。

    先修:具身智能實踐(八):檢測到掉落以後,夾爪應該做什麼?

    實驗 · E9 / 釋放後的完成驗收 →專案 · Hohoo 具身實驗 →

    下一步:具身智能實踐(十):恢復次數受控了,為什麼任務反而沒完成? →

    9 分鐘
  10. 探索 · 進階

    具身智能實踐(十):恢復次數受控了,為什麼任務反而沒完成? →

    讀後能做什麼:為重新驗收加上時限,並保留終止原因。

    先修:具身智能實踐(九):鬆爪命令成功,不等於放置完成

    實驗 · E10 / 有界恢復與冷卻 →專案 · Hohoo 具身實驗 →

    下一步:具身智能實踐(十一):已經放好了,為什麼還要撤銷“完成”? →

    9 分鐘
  11. 探索 · 進階

    具身智能實踐(十一):已經放好了,為什麼還要撤銷“完成”? →

    讀後能做什麼:分開記錄歷史完成與目前有效性。

    先修:具身智能實踐(十):恢復次數受控了,為什麼任務反而沒完成?

    實驗 · E11 / 完成事件與當前有效性 →專案 · Hohoo 具身實驗 →

    下一步:具身智能實踐(十二):恢復預算耗盡之後,夾爪應該做什麼? →

    11 分鐘
  12. 探索 · 進階

    具身智能實踐(十二):恢復預算耗盡之後,夾爪應該做什麼? →

    讀後能做什麼:檢驗終止後的撤離動作,不將狀態改名當成安全。

    先修:具身智能實踐(十一):已經放好了,為什麼還要撤銷“完成”?

    實驗 · 具身智能實踐(十二):恢復預算耗盡之後,夾爪應該做什麼? →專案 · Hohoo 具身實驗 →

    下一步:具身智能實踐(十三):下降中斷之後,應該從哪一步恢復? →

    12 分鐘
  13. 探索 · 進階

    具身智能實踐(十三):下降中斷之後,應該從哪一步恢復? →

    讀後能做什麼:連接階段、恢復預算與退出動作。

    先修:具身智能實踐(十二):恢復預算耗盡之後,夾爪應該做什麼?

    實驗 · 具身智能實踐(十三):下降中斷之後,應該從哪一步恢復? →專案 · Hohoo 具身實驗 →

    下一步:具身智能實踐(十四):方塊落進盒子,就能宣布任務完成嗎? →

    13 分鐘
  14. 探索 · 進階

    具身智能實踐(十四):方塊落進盒子,就能宣布任務完成嗎? →

    讀後能做什麼:區分物理放置、目前有效與合格完成。

    先修:具身智能實踐(十三):下降中斷之後,應該從哪一步恢復?

    實驗 · 具身智能實踐(十四):方塊落進盒子,就能宣布任務完成嗎? →專案 · Hohoo 具身實驗 →

    下一步:OpenVLA 程式碼導讀:圖像和一句指令,怎樣變成機器人動作? →

    13 分鐘
  15. 探索 · 進階

    OpenVLA 程式碼導讀:圖像和一句指令,怎樣變成機器人動作? →

    讀後能做什麼:追蹤 OpenVLA 動作介面,不將導讀當成已完成訓練。

    先修:Python 基礎;教學模擬使用 MuJoCo 與直角座標夾爪

    實驗 · 動作表示學習紀錄 →

    下一步:MuJoCo 第二場景:目標位置相同,為什麼有的控制器停不住? →

    12 分鐘
  16. 探索 · 進階

    MuJoCo 第二場景:目標位置相同,為什麼有的控制器停不住? →

    讀後能做什麼:用二維力控執行器比較質量與PD阻尼,記錄飽和、超調和穩定完成,避免把經過目標當作任務成功。

    先修:具身智能實踐(十四):方塊落進盒子,就能宣布任務完成嗎?

    實驗 · MuJoCo 第二場景:目標位置相同,為什麼有的控制器停不住? →專案 · Hohoo 具身實驗 →

    下一步:MuJoCo 繞障:路徑上的點能過去,執行器就能過去嗎? →

    9 分鐘
  17. 探索 · 進階

    MuJoCo 繞障:路徑上的點能過去,執行器就能過去嗎? →

    讀後能做什麼:六條實際接觸軌跡對照直達、貼邊和留餘量路徑,解釋幾何尺寸、跟蹤誤差與碰撞之間的關係。

    先修:MuJoCo 第二場景:目標位置相同,為什麼有的控制器停不住?

    實驗 · MuJoCo 繞障:路徑上的點能過去,執行器就能過去嗎? →專案 · Hohoo 具身實驗 →

    下一步:MuJoCo 延遲觀測:知道舊位置,能預測現在嗎? →

    9 分鐘
  18. 探索 · 進階

    MuJoCo 延遲觀測:知道舊位置,能預測現在嗎? →

    讀後能做什麼:24條配對軌跡比較即時/80ms延遲、位置噪聲和常速度外推,保留超調下降但任務仍失敗的結果。

    先修:MuJoCo 繞障:路徑上的點能過去,執行器就能過去嗎?

    實驗 · MuJoCo 延遲觀測:知道舊位置,能預測現在嗎? →專案 · Hohoo 具身實驗 →

    下一步:MuJoCo 速度估計:濾掉噪聲,也可能讓控制更差 →

    9 分鐘
  19. 探索 · 進階

    MuJoCo 速度估計:濾掉噪聲,也可能讓控制更差 →

    讀後能做什麼:從位置差分推導雜訊放大,重算平滑滯後、控制限幅及穩定完成判定。

    先修:MuJoCo 延遲觀測:知道舊位置,能預測現在嗎? · MuJoCo 第二場景:目標位置相同,為什麼有的控制器停不住?

    實驗 · MuJoCo 速度估計:濾掉噪聲,也可能讓控制更差 →專案 · Hohoo 具身實驗 →

    下一步:MuJoCo控制調參:最優候選不等於驗證通過 →

    11 分鐘
  20. 探索 · 進階

    MuJoCo控制調參:最優候選不等於驗證通過 →

    讀後能做什麼:54個開發回合選擇參數,36個留出回合復核位置誤差與穩定完成契約。

    先修:MuJoCo 速度估計:濾掉噪聲,也可能讓控制更差

    實驗 · 二維控制的調參、失聯與遷移 →專案 · Hohoo 具身實驗 →

    下一步:MuJoCo失聯策略:零力不等於停止 →

    10 分鐘
  21. 探索 · 進階

    MuJoCo失聯策略:零力不等於停止 →

    讀後能做什麼:27回合比較舊觀測控制、超時置零與衰減,展示觀測超時和物理制動的差別。

    先修:MuJoCo控制調參:最優候選不等於驗證通過

    實驗 · 二維控制的調參、失聯與遷移 →專案 · Hohoo 具身實驗 →

    下一步:MuJoCo質量遷移:同一套增益還能用嗎? →

    10 分鐘
  22. 探索 · 進階

    MuJoCo質量遷移:同一套增益還能用嗎? →

    讀後能做什麼:36回合對照固定和質量縮放增益,解釋更低平均誤差為何仍不能通過速度驗收。

    先修:MuJoCo失聯策略:零力不等於停止

    實驗 · 二維控制的調參、失聯與遷移 →專案 · Hohoo 具身實驗 →
    10 分鐘
後續計畫 · 尚未發表
  1. 探索 · 計畫選題

    什麼是具身智能

  2. 探索 · 計畫選題

    理解感知、決策與行動

  3. 探索 · 計畫選題

    帶著問題讀一篇論文

  4. 探索 · 計畫選題

    VLM 與 VLA

  5. 探索 · 計畫選題

    Action Space

  6. 探索 · 計畫選題

    Embodied Benchmark

檢索 / RAG · 檢索增強生成

Java、HTTP 與 JSON 基礎;先理解檢索候選與回答證據的區別。

已發布兩篇離線實作:BM25 檢索基線、閉合欄位的引用校驗。它們尚不能證明真實模型的回答品質,也不是完整的部落格問答系統。

已發布的閱讀順序 · 2
  1. 檢索 · 進階

    Java LLM 實踐(六):先驗收檢索證據,再談RAG回答 →

    讀後能做什麼:重算 BM25 檢索與無答案誤命中,辨識玩具語料的侷限。

    先修:用 Java 8 呼叫大型語言模型:從第一次請求到多輪對話

    實驗 · 檢索品質對照實驗 →專案 · Java LLM 實作集 →

    下一步:Java LLM 實踐(七):引用是真的,為什麼答案仍然不能通過? →

    8 分鐘
  2. 檢索 · 進階

    Java LLM 實踐(七):引用是真的,為什麼答案仍然不能通過? →

    讀後能做什麼:校驗證據與聲明對應,不將規則比對當成語義蘊含。

    先修:Java LLM 實踐(六):先驗收檢索證據,再談RAG回答

    實驗 · 檢索品質對照實驗 →專案 · Java LLM 實作集 →

    下一步:查看後續研究計畫 →

    9 分鐘
後續計畫 · 尚未發表
  1. 檢索 · 計畫選題

    先固定語料,再比較分塊

    建立可追溯文件與人工標註問題集,分開開發集與保留測試集。

    先修知識
    完成 BM25 基線;能區分文件、片段和引用。
    研究問題
    固定長度與標題分段會在哪些問題上遺失答案上下文?
    計畫產物
    語料快照、文件版本與來源、帶無答案題的標註集、兩種分塊腳本及逐題檢索記錄。
    如何驗證
    固定分詞、檢索器和 top-k;報告 Recall@k、答案跨塊遺失與重複召回案例。測試集不用於選擇分塊參數。

    回到前一步 ↑ · 下一步 →

  2. 檢索 · 計畫選題

    BM25、向量與混合檢索怎麼選

    在同一問題集上比較關鍵詞匹配、語義召回與融合排序。

    先修知識
    已有凍結語料與相關性標註;了解 Embedding 與相似度。
    研究問題
    別名、精確編號與中英文混用分別在哪種檢索策略下失敗?
    計畫產物
    固定模型版本的本地向量索引、BM25/向量/融合三組結果、排名與耗時明細。
    如何驗證
    相同分塊和候選預算下比較 Recall@k、MRR、索引大小及查詢時間;記錄混合檢索不如單一路徑的題目。

    回到前一步 ↑ · 下一步 →

  3. 檢索 · 計畫選題

    重排之後,哪些證據進入上下文

    在固定上下文預算裡選擇涵蓋問題且不過度重複的證據。

    先修知識
    完成檢索對照;了解 Token 預算和引用識別碼。
    研究問題
    重排、去重和截斷分別改善或損壞了哪些證據?
    計畫產物
    候選與重排前後清單、上下文組裝器、引用對照及預算裁剪日誌。
    如何驗證
    逐項消融,比較排序品質、證據涵蓋、重複比例和耗時;不把排序提高直接寫成回答準確率提高。

    回到前一步 ↑ · 下一步 →

  4. 檢索 · 計畫選題

    從命中證據到回答品質與拒答

    分開衡量檢索命中、引用是否支持斷言,以及資料缺失時能否拒答。

    先修知識
    完成證據組裝與引用契約;先凍結評分規範。
    研究問題
    加入檢索後,哪些回答改善,哪些只是帶上了不支持結論的引用?
    計畫產物
    沿用 retrieval-eval:無檢索/有檢索的成對輸出、模型與提示版本、人工證據支持標註、無答案和衝突題的失敗記錄。
    如何驗證
    協議先行;真實模型執行尚未完成。單列正確性、引用支持、錯誤拒答與無依據作答,保留逐題輸出和用量;涉及付費呼叫須另行授權。

    回到前一步 ↑ · 下一步 →

  5. 檢索 · 計畫選題

    知識更新、存取權限與檢索注入

    確保被撤回、過期或無權存取的資料不會作為目前回答證據。

    先修知識
    已有文件版本、來源識別碼和可追溯上下文。
    研究問題
    索引更新與權限變化後,舊片段和快取會不會繼續洩漏或誤導?
    計畫產物
    版本更新/刪除/權限撤銷的回歸案例、索引與快取失效記錄、檢索內容含惡意指令的本地測試資料。
    如何驗證
    權限在證據進入模型前檢查;舊版本不可誤標目前。外部文字始終是資料,模型不可據此擴大工具權限;本地通過不代表通用注入防禦已解決。

    回到前一步 ↑ · 下一步 →

  6. 檢索 · 計畫選題

    整合:可追溯的部落格問答

    把檢索、證據、回答和失敗處理接成一個可復現的最小應用。

    先修知識
    完成前述評估與安全邊界;確認部署成本和產品範圍。
    研究問題
    讀者能否核對來源、識別資料缺失,並在失敗時繼續閱讀原文?
    計畫產物
    保留在 hohoo-ai-lab 的最小工程、固定語料和版本、安裝命令、評估報告及來源/無證據/錯誤介面。
    如何驗證
    從乾淨環境跑通索引到回答;復現失敗與拒答,檢查金鑰僅在伺服器端。尚未部署,不把本階段計為已完成產品。

    回到前一步 ↑

工程基礎

Java · Python · TypeScript · HTTP · JSON

AI 應用與工程專題 →

閱讀清單 · 研究總覽 · 動手實作