Skip to content

Commit a35fbb0

Browse files
authored
Merge pull request #29 from jim60105/refine-zhTW
i18n(zh-TW): multi-pass refinement of Traditional Chinese content
2 parents ea746b2 + 3d8c3f7 commit a35fbb0

71 files changed

Lines changed: 1753 additions & 1741 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

docs-readme/zh-TW/README.md

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ Learn Harness Engineering 是一門專注於 AI 程式設計代理工程化的
4545
## ✨ 視覺預覽
4646

4747
### 🏠 課程首頁
48-
> 完整的課程大綱與核心理念介紹,提供清晰的上手路徑
48+
> 完整的課程大綱與核心理念介紹,提供明確的上手路徑
4949
5050
![課程首頁預覽](../../docs/public/screenshots/readme/en-home.png)
5151

@@ -55,7 +55,7 @@ Learn Harness Engineering 是一門專注於 AI 程式設計代理工程化的
5555
![課程講座預覽](../../docs/public/screenshots/readme/en-lecture-01.png)
5656

5757
### 🗂️ 即用的資源庫
58-
> 專為解決多輪 AI 代理開發中常見陷阱(如上下文遺失、過早宣告任務完成)而設計的模板與參考配置。
58+
> 專為解決多輪 AI 代理開發中常見陷阱(如脈絡遺失、過早宣告任務完成)而設計的模板與參考配置。
5959
6060
![資源庫預覽](../../docs/public/screenshots/readme/en-resources.png)
6161

@@ -72,15 +72,15 @@ Learn Harness Engineering 是一門專注於 AI 程式設計代理工程化的
7272

7373
## 模型很聰明,Harness 讓它可靠
7474

75-
大多數人都是慘痛教訓後才明白一個殘酷的事實:**世界上最強大的模型,如果你不在它周圍建構適當的環境,它在真實工程任務上仍然會失敗。**
75+
大多數人都是慘痛教訓後才明白,**世界上最強大的模型,如果你不在它周圍建構適當的環境,它在真實工程任務上仍然會失敗。**
7676

77-
你可能自己也見過這種情況。你讓 Claude 或 GPT 在你的儲存庫中執行一項任務。它一開始表現不錯——讀取檔案、撰寫程式碼,看起來很有效率。然後出了問題。它跳過了一個步驟。它破壞了一個測試。它說「完成了」,但實際上什麼都不能用。你最後花的時間比自己動手做還多。
77+
你可能自己也見過這種情況。你讓 Claude 或 GPT 在你的儲存庫中執行一項任務。它一開始表現不錯讀取檔案、撰寫程式碼,看起來很有效率。然後出了問題。它跳過了一個步驟。它破壞了一個測試。它說「完成了」,但實際上什麼都不能用。你最後花的時間比自己動手做還多。
7878

79-
這不是模型的問題。這是 harness 的問題
79+
問題出在 harness 的設計,而非模型本身
8080

81-
證據很明確。Anthropic 進行了一項對照實驗相同的模型(Opus 4.5)、相同的提示(「建構一個 2D 復古遊戲編輯器」)。沒有 harness 的情況下,它在 20 分鐘內花了 9 美元,產出的東西無法運作。有了完整的 harness(規劃器 + 生成器 + 評估器),它在 6 小時內花了 200 美元,建構出一個你真的可以玩的遊戲。模型沒有變。變的是 harness。
81+
證據很明確。Anthropic 進行了一項對照實驗相同的模型(Opus 4.5)、相同的提示(「建構一個 2D 復古遊戲編輯器」)。沒有 harness 的情況下,它在 20 分鐘內花了 9 美元,產出的東西無法運作。有了完整的 harness(規劃器 + 生成器 + 評估器),它在 6 小時內花了 200 美元,建構出一個你真的可以玩的遊戲。模型沒有變。變的是 harness。
8282

83-
OpenAI 也報告了 Codex 的相同結果在一個 well-harnessed 的儲存庫中,相同的模型從「不可靠」變成「可靠」。這不是邊際改善——這是質的飛躍
83+
OpenAI 也報告了 Codex 的相同結果在一個 well-harnessed 的儲存庫中,相同的模型從「不可靠」變成「可靠」。改變的規模遠超邊際調整,是質的轉變
8484

8585
**這門課程教你如何建構那個環境。**
8686

@@ -143,7 +143,7 @@ Harness Engineering 是關於在模型周圍建構一個完整的工作環境,
143143

144144
每個子系統各有其職責:
145145

146-
- **Instructions(指令)** — 告訴代理該做什麼、以什麼順序、以及在開始前該閱讀什麼。不是一個巨大的檔案;而是一個漸進揭露的結構,讓代理按需導航。
146+
- **Instructions(指令)** — 告訴代理該做什麼、以什麼順序、以及在開始前該閱讀什麼。以漸進揭露的結構組織,讓代理按需導航,而非堆成一個巨大的檔案
147147
- **State(狀態)** — 追蹤已完成的事項、正在進行的事項、以及接下來該做的事。持久化到磁碟,讓下一個工作階段可以精確地從上一個階段停止的地方接續。
148148
- **Verification(驗證)** — 只有通過的測試套件才算數。代理不能在沒有可執行證據的情況下宣告勝利。
149149
- **Scope(範圍)** — 將代理限制在每次只做一個功能。不過度延伸。不三件事做一半。不改寫功能列表來隱藏未完成的工作。
@@ -153,9 +153,9 @@ Harness Engineering 是關於在模型周圍建構一個完整的工作環境,
153153

154154
## 為什麼會有這門課程
155155

156-
問題不是「模型能不能寫程式?」它們能。問題是**它們能不能在真實的儲存庫中,跨越多個工作階段,在沒有持續人工監督的情況下,可靠地完成真實的工程任務?**
156+
問題不是「模型能不能寫程式?」它們能。問題是**它們能不能在真實的儲存庫中,跨越多個工作階段,在沒有持續人工監督的情況下,可靠地完成真實的工程任務?**
157157

158-
目前的答案是沒有 harness 就不行。
158+
目前的答案是沒有 harness 就不行。
159159

160160
```text
161161
沒有 HARNESS 有 HARNESS
@@ -202,7 +202,7 @@ Harness Engineering 是關於在模型周圍建構一個完整的工作環境,
202202

203203
你不需要讀完所有 12 堂講座才能開始受益。如果你已經在真實專案中使用程式設計代理,以下是如何立刻改善它的方法。
204204

205-
概念很簡單與其只寫提示,不如給你的代理一組結構化的檔案,定義該做什麼、已經做了什麼、以及如何驗證工作。這些檔案存在你的儲存庫中,所以每個工作階段都從相同的狀態開始。
205+
概念很簡單與其只寫提示,不如給你的代理一組結構化的檔案,定義該做什麼、已經做了什麼、以及如何驗證工作。這些檔案存在你的儲存庫中,所以每個工作階段都從相同的狀態開始。
206206

207207
```text
208208
你的專案根目錄
@@ -275,7 +275,7 @@ Harness Engineering 是關於在模型周圍建構一個完整的工作環境,
275275
階段 3:連接工作階段 階段 4:回饋與範圍
276276
======================= ==================
277277
278-
L05 跨工作階段保持上下文 L07 劃清任務邊界
278+
L05 跨工作階段保持脈絡 L07 劃清任務邊界
279279
L06 每次代理工作階段前初始化 L08 功能列表作為 harness
280280
基本元素
281281
|
@@ -303,21 +303,21 @@ Harness Engineering 是關於在模型周圍建構一個完整的工作環境,
303303

304304
## 課程大綱
305305

306-
### 講座 — 12 個概念單元,每個回答一個核心問題
306+
### 講座 — 12 個概念單元,每個聚焦一個關鍵提問
307307

308308
*[文件網站](https://walkinglabs.github.io/learn-harness-engineering/)上閱讀每堂講座的完整內容。*
309309

310310
| 場次 | 問題 | 核心概念 |
311311
|---------|----------|-----------|
312312
| [L01](../../docs/en/lectures/lecture-01-why-capable-agents-still-fail/index.md) | 為什麼強大的模型在真實任務上仍然會失敗? | 基準測試與真實工程之間的能力差距 |
313-
| [L02](../../docs/en/lectures/lecture-02-what-a-harness-actually-is/index.md) | 「harness」到底是什麼意思? | 五個子系統指令、狀態、驗證、範圍、生命週期 |
313+
| [L02](../../docs/en/lectures/lecture-02-what-a-harness-actually-is/index.md) | 「harness」到底是什麼意思? | 五個子系統指令、狀態、驗證、範圍、生命週期 |
314314
| [L03](../../docs/en/lectures/lecture-03-why-the-repository-must-become-the-system-of-record/index.md) | 為什麼儲存庫必須是唯一的真實來源? | 如果代理看不到它,它就不存在 |
315-
| [L04](../../docs/en/lectures/lecture-04-why-one-giant-instruction-file-fails/index.md) | 為什麼一個巨大的指令檔案會失敗? | 漸進揭露給一張地圖,不是一本百科全書 |
315+
| [L04](../../docs/en/lectures/lecture-04-why-one-giant-instruction-file-fails/index.md) | 為什麼一個巨大的指令檔案會失敗? | 漸進揭露給一張地圖,不是一本百科全書 |
316316
| [L05](../../docs/en/lectures/lecture-05-why-long-running-tasks-lose-continuity/index.md) | 為什麼長時間執行的任務會失去連續性? | 將進度持久化到磁碟;從你停止的地方接續 |
317317
| [L06](../../docs/en/lectures/lecture-06-why-initialization-needs-its-own-phase/index.md) | 為什麼初始化需要自己的階段? | 在代理開始工作之前驗證環境是否健康 |
318318
| [L07](../../docs/en/lectures/lecture-07-why-agents-overreach-and-under-finish/index.md) | 為什麼代理會過度延伸和過早結束? | 每次一個功能;明確的完成定義 |
319319
| [L08](../../docs/en/lectures/lecture-08-why-feature-lists-are-harness-primitives/index.md) | 為什麼功能列表是 harness 的基本元素? | 機器可讀的範圍邊界,代理無法忽略 |
320-
| [L09](../../docs/en/lectures/lecture-09-why-agents-declare-victory-too-early/index.md) | 為什麼代理會過早宣告勝利? | 驗證缺口信心不等於正確 |
320+
| [L09](../../docs/en/lectures/lecture-09-why-agents-declare-victory-too-early/index.md) | 為什麼代理會過早宣告勝利? | 驗證缺口信心不等於正確 |
321321
| [L10](../../docs/en/lectures/lecture-10-why-end-to-end-testing-changes-results/index.md) | 為什麼端到端測試能改變結果? | 只有完整的流程執行才算真正的驗證 |
322322
| [L11](../../docs/en/lectures/lecture-11-why-observability-belongs-inside-the-harness/index.md) | 為什麼可觀測性應該屬於 harness 內部? | 如果你看不到代理做了什麼,你就無法修復它破壞的東西 |
323323
| [L12](../../docs/en/lectures/lecture-12-why-every-session-must-leave-a-clean-state/index.md) | 為什麼每個工作階段都必須留下乾淨的狀態? | 下一個工作階段的成功取決於這個工作階段的清理 |
@@ -326,12 +326,12 @@ Harness Engineering 是關於在模型周圍建構一個完整的工作環境,
326326

327327
| 專案 | 你要做什麼 | Harness 機制 |
328328
|---------|------------|-------------------|
329-
| [P01](../../docs/en/projects/project-01-baseline-vs-minimal-harness/index.md) | 將同一任務執行兩次僅提示 vs. 規則優先 | 最小 harnessAGENTS.md + init.sh + feature_list.json |
329+
| [P01](../../docs/en/projects/project-01-baseline-vs-minimal-harness/index.md) | 將同一任務執行兩次僅提示 vs. 規則優先 | 最小 harnessAGENTS.md + init.sh + feature_list.json |
330330
| [P02](../../docs/en/projects/project-02-agent-readable-workspace/index.md) | 重構儲存庫,讓代理能夠閱讀它 | 代理可讀的工作空間 + 持久化狀態檔案 |
331331
| [P03](../../docs/en/projects/project-03-multi-session-continuity/index.md) | 讓代理從上次停止的地方接續 | 進度日誌 + 工作階段交接 + 多工作階段連續性 |
332332
| [P04](../../docs/en/projects/project-04-incremental-indexing/index.md) | 阻止代理做得太多或太少 | 執行時回饋 + 範圍控制 + 增量索引 |
333333
| [P05](../../docs/en/projects/project-05-grounded-qa-verification/index.md) | 讓代理驗證自己的工作 | 自我驗證 + 有依據的問答 + 基於證據的完成 |
334-
| [P06](../../docs/en/projects/project-06-runtime-observability-and-debugging/index.md) | 從零建構一個完整的 harness(畢業專案) | 完整 harness所有機制 + 可觀測性 + 消融實驗 |
334+
| [P06](../../docs/en/projects/project-06-runtime-observability-and-debugging/index.md) | 從零建構一個完整的 harness(畢業專案) | 完整 harness所有機制 + 可觀測性 + 消融實驗 |
335335

336336
```text
337337
專案演進
@@ -479,7 +479,7 @@ npm run docs:preview # 預覽建置後的網站
479479
必要條件:
480480

481481
- 熟悉終端機、git 和本地開發環境
482-
- 能夠使用至少一種常見應用程式技術棧閱讀和撰寫程式碼
482+
- 能夠使用至少一種常見應用程式技術堆疊閱讀和撰寫程式碼
483483
- 基本的軟體除錯經驗(閱讀日誌、測試和執行時行為)
484484
- 有足夠的時間投入實作導向的課程
485485

@@ -560,7 +560,7 @@ learn-harness-engineering/
560560

561561
[![Hands-on Modern RL](https://img.shields.io/badge/HANDS--ON_MODERN_RL-0052cc?style=for-the-badge)](https://github.com/walkinglabs/hands-on-modern-rl)
562562

563-
**Hands-on Modern RL**一個開源的實作課程,從基礎 RL 概念銜接到 LLM 對齊、RLVR 和進階 Agentic 系統。
563+
**Hands-on Modern RL**一個開源的實作課程,從基礎 RL 概念銜接到 LLM 對齊、RLVR 和進階 Agentic 系統。
564564

565565
---
566566

docs/.vitepress/config.mts

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -454,37 +454,37 @@ const zhTWLectureItems = [
454454
{ text: "歡迎", link: "/zh-TW/" },
455455
{ text: "模型能力強,不等於執行可靠", link: "/zh-TW/lectures/lecture-01-why-capable-agents-still-fail/" },
456456
{ text: "Harness 到底是什麼", link: "/zh-TW/lectures/lecture-02-what-a-harness-actually-is/" },
457-
{ text: "讓代碼倉庫成為唯一的事實來源", link: "/zh-TW/lectures/lecture-03-why-the-repository-must-become-the-system-of-record/" },
457+
{ text: "讓程式碼儲存庫成為唯一的事實來源", link: "/zh-TW/lectures/lecture-03-why-the-repository-must-become-the-system-of-record/" },
458458
{ text: "把指令拆分到不同檔案裡", link: "/zh-TW/lectures/lecture-04-why-one-giant-instruction-file-fails/" },
459-
{ text: "讓跨會話的任務保持上下文連續", link: "/zh-TW/lectures/lecture-05-why-long-running-tasks-lose-continuity/" },
459+
{ text: "讓跨工作階段的任務保持脈絡連續", link: "/zh-TW/lectures/lecture-05-why-long-running-tasks-lose-continuity/" },
460460
{ text: "讓 agent 每次工作前先初始化", link: "/zh-TW/lectures/lecture-06-why-initialization-needs-its-own-phase/" },
461461
{ text: "給 agent 劃清每次任務的邊界", link: "/zh-TW/lectures/lecture-07-why-agents-overreach-and-under-finish/" },
462462
{ text: "用功能清單約束 agent 該做什麼", link: "/zh-TW/lectures/lecture-08-why-feature-lists-are-harness-primitives/" },
463463
{ text: "防止 agent 提前宣告完成", link: "/zh-TW/lectures/lecture-09-why-agents-declare-victory-too-early/" },
464464
{ text: "跑通完整流程才算真正驗證", link: "/zh-TW/lectures/lecture-10-why-end-to-end-testing-changes-results/" },
465-
{ text: "讓 agent 的運行過程可觀測", link: "/zh-TW/lectures/lecture-11-why-observability-belongs-inside-the-harness/" },
466-
{ text: "每次會話結束前都做好交接", link: "/zh-TW/lectures/lecture-12-why-every-session-must-leave-a-clean-state/" }
465+
{ text: "讓 agent 的執行過程可觀測", link: "/zh-TW/lectures/lecture-11-why-observability-belongs-inside-the-harness/" },
466+
{ text: "每次工作階段結束前都做好交接", link: "/zh-TW/lectures/lecture-12-why-every-session-must-leave-a-clean-state/" }
467467
];
468468

469469
const zhTWProjectItems = [
470-
{ text: "歡迎", link: "/zh-TW/projects/" },
471-
{ text: "提示詞驅動 vs 規則驅動", link: "/zh-TW/projects/project-01-baseline-vs-minimal-harness/" },
472-
{ text: "讓 agent 看懂項目、接住上次的工作", link: "/zh-TW/projects/project-02-agent-readable-workspace/" },
473-
{ text: "讓 agent 關掉再打開還能接著幹", link: "/zh-TW/projects/project-03-multi-session-continuity/" },
474-
{ text: "用運行反饋修正 agent 的行為", link: "/zh-TW/projects/project-04-incremental-indexing/" },
475-
{ text: "讓 agent 自己檢查自己做的對不對", link: "/zh-TW/projects/project-05-grounded-qa-verification/" },
476-
{ text: "搭建一套完整的 agent 工作環境", link: "/zh-TW/projects/project-06-runtime-observability-and-debugging/" }
470+
{ text: "歡迎來到專案實戰", link: "/zh-TW/projects/" },
471+
{ text: "只寫提示詞讓代理做,和定好規則再讓它做,差多少", link: "/zh-TW/projects/project-01-baseline-vs-minimal-harness/" },
472+
{ text: "讓代理看懂專案、銜接上次的工作", link: "/zh-TW/projects/project-02-agent-readable-workspace/" },
473+
{ text: "讓代理重啟後還能繼續執行", link: "/zh-TW/projects/project-03-multi-session-continuity/" },
474+
{ text: "用執行回饋修正代理的行為", link: "/zh-TW/projects/project-04-incremental-indexing/" },
475+
{ text: "讓代理自己檢查自己做得對不對", link: "/zh-TW/projects/project-05-grounded-qa-verification/" },
476+
{ text: "搭建完整的代理工作環境", link: "/zh-TW/projects/project-06-runtime-observability-and-debugging/" }
477477
];
478478

479479
const zhTWResourceItems = [
480-
{ text: "資料庫總覽", link: "/zh-TW/resources/" },
481-
{ text: "繁體中文範本", link: "/zh-TW/resources/templates/" },
482-
{ text: "繁體中文參考", link: "/zh-TW/resources/reference/" },
483-
{ text: "進階資源包", link: "/zh-TW/resources/openai-advanced/" }
480+
{ text: "繁體中文資源庫", link: "/zh-TW/resources/" },
481+
{ text: "範本指南", link: "/zh-TW/resources/templates/" },
482+
{ text: "參考資料", link: "/zh-TW/resources/reference/" },
483+
{ text: "OpenAI 高階資源包", link: "/zh-TW/resources/openai-advanced/" }
484484
];
485485

486486
const zhTWSkillItems = [
487-
{ text: "技能總覽", link: "/zh-TW/skills/" }
487+
{ text: "Skills(技能集)", link: "/zh-TW/skills/" }
488488
];
489489

490490
const jaSourceItems = { lectures: jaLectureItems, projects: jaProjectItems, resources: jaResourceItems, skills: jaSkillItems };

0 commit comments

Comments
 (0)