Skip to content

Tutorial 3 Your First Agent Task zh HK

James Morris edited this page Jul 29, 2026 · 1 revision

教程 3 · 你的第一個智能體任務

🌎 語言: 繁體中文(香港)查看全部 33 種語言

目標: 通過指導智能體,端到端為 CLI 加入一個全新指令。我們將加入 lockedin endorse:它會為幾乎肯定不具備某項技能的陌生人背書。很符合品牌調性。

這是教程的核心。你將練習真正的循環:規格 → 測試 → 實作 → 綠色門禁 → 審查。

← 上一章:教程 2:程式碼如何工作 · 下一章: 教程 4:提示與審查


步驟 0 —— 先定義“完成”

在提示智能體前,先用普通語言寫出規格。模糊請求只會得到模糊程式碼,無論執行者是人還是智能體。

endorse 輸出 5–7 行,每行從既有 NAMES 池隨機選擇一個人,再從新的流行語 技能池隨機選擇一項進行背書。結尾是一句諷刺短句。它必須能通過 lockedin endorse 和會話內 /endorse 呼叫,並出現在 help 中。所有隨機性必須使用 帶種子的 pick / shuffle 助手,以保持確定性。npm test 必須保持綠色,並新增至少一個 固定不變量的測試。

把這段交給智能體。它明確包含第 2 章的約束:帶種子的 RNG、測試門禁和不變量習慣。

步驟 1 —— 先讓智能體規劃,不要編碼

先要求一份計劃,以便在檔案被改動前發現錯誤方向。

“我想為 LockedIn CLI 加入 endorse 指令。規格如下:[paste your spec]。 先不要寫程式碼,請說明會修改哪些檔案及實作方法,等我批準。遵循 connect 指令的現有模式。”

好計劃應提到:在 src/lockedin.js 加入 SKILLS 池和 renderEndorse(),接入 dispatch()handleSlash(),向 renderHelp() 加入一行,導出新函式和池,並在兩份測試檔案中 加入測試。如果遺漏帶種子 RNG 或測試,請立即指出。

步驟 2 —— 測試優先

讓智能體先寫測試,再寫實作。測試優先會把規格變成可執行內容,也讓智能體不能蒙混過關。

“很好。先只加入失敗測試:單元測試確認 renderEndorse() 返回的文字提到一個已知技能, 且至少包含 5 項背書;cli.test.js 測試確認 lockedin endorse 以 0 退出並輸出背書。 使用固定種子。暫時不要實作 renderEndorse,先觀察測試按預期失敗。”

執行:

npm test

確認它因正確原因失敗:函式還不存在。

步驟 3 —— 讓智能體實作

現在批準實作:

“現在實作功能並讓測試通過。遵循 connect 模式:加入約 25 項流行語技能的 SKILLS 池, 編寫傳回字串的 renderEndorse(),接入 dispatchhandleSlash,加入 help 行, 並導出新增內容。隨機性只能使用 pick / shuffle。”

結果應與其余程式碼很相似,例如:

const SKILLS = [
  '思想領導力', '協同', '講故事', '氛圍',
  '戰略小睡', '持份者對齊', '激進坦誠', /* ...約 25 項... */
];

function renderEndorse() {
  const people = shuffle(NAMES).slice(0, 5 + Math.floor(rand() * 3)); // 5–7
  const skills = shuffle(SKILLS);
  const out = [''];
  people.forEach((n, i) =>
    out.push('  ✔ 為 ' + n + ' 的「' + skills[i % skills.length] + '」技能背書'));
  out.push('', '  你為 6 名陌生人的技能背書,但其實無法核實。對方會在一小時內回贈背書。');
  return out.join('\n');
}

還需在 dispatch()handleSlash()renderHelp() 中各加入一行,並把 SKILLS, renderEndorse 加入到 module.exports

步驟 4 —— 門禁

npm test

變綠了嗎?你剛剛用智能體以測試優先方式交付了一個功能。沒變綠也很正常:進入第 4 章的迭代循環, 把確切失敗資訊交給智能體。

隨後親自查看真實輸出:

node bin/lockedin.js endorse
LOCKEDIN_SEED=1 node bin/lockedin.js endorse   # 可重現

步驟 5 —— 接受前審查

不要接受未讀過的差異。重點檢查:

  • 是否遵循模式? 新指令應仿照 connect,不增加相依性,不在 src/ 中使用 console.log
  • 是否只使用帶種子的 RNG? 搜索差異中的 Math.random,結果應為空。
  • 是否觸碰無關內容? 改動應主要是增量式的,無關行不應移動。
  • 新測試是否有意義? 日後功能被破壞時它必須失敗,而不是只斷言 true

有問題就要求修復;沒有問題便完成。


✅ 和你的智能體一起試試

實際完成上面的整個循環。額外練習:

  • “讓 endorse 接受可選姓名:lockedin endorse Ada 應專門為 Ada 背書。 加入測試,並保持門禁綠色。”

你已經端到端構建了一個功能。下一章會講如何像技術負責人一樣順暢地提示和審查。

下一章:教程 4:提示與審查 o

📘 LockedIn CLI wiki

Tutorial

Reference


Satire · Sátira · 風刺. Not affiliated with LinkedIn. GPL-3.0-or-later.

Clone this wiki locally