所有節目›AI Engineer Europe 2026| World's Fair 2026完整場次線上軌AI in HealthcareSoftware Factories
Harness Engineering: How to Build Software When Humans Steer, Agents Execute在 YouTube 看這一場

AI Engineer Europe 2026 · 演講 · 2026-04-17 · 46 分

人掌舵、agent 動手的工程做法

Harness Engineering: How to Build Software When Humans Steer, Agents Execute · Ryan Lopopolo,OpenAI

Ryan Lopopolo 說團隊禁止自己碰編輯器,全靠 agent 寫程式,並講怎麼把規範寫進 repo、lint 與 review agent,再於 Q&A 補上日常工作流程。

關卡與 harness看原片 ↗

概要

  • 程式碼不再是稀缺資源Ryan 認為模型已經能做完軟體工程師的整份工作,稀缺的變成人的時間、人與模型的注意力,以及模型的 context window。工程師的角色轉向系統設計與委派。
  • 把好壞標準寫下來一份 patch 背後有很多沒寫明的非功能需求。Ryan 要團隊把這些標準寫成文件,讓每個 agent 都吃得到團隊裡每個人的專長,不必等人工 code review 才學到。
  • 規範靠 lint、測試與 review agent 送到 agent 面前Ryan 舉的例子有針對網路呼叫補 retry 與 timeout 的客製 lint,以及限制檔案不超過 350 行的測試。錯誤訊息要直接告訴模型下一步怎麼改。
  • 每週一天清理 slop團隊每人每週五拿一天,把這週看到的壞習慣歸類,變成文件、測試或 review agent,讓問題不再出現。
  • 程式碼結構要讓 token 好預測他們的 repo 有 750 個 PNPM workspace package,並刻意讓同一件事只有一種做法,agent 看到哪裡都學得到同樣的脈絡。
  • 目標是不用人去按「continue」Ryan 說每次得對 agent 打 continue 都是 harness 的失敗,想要的是 50 個 agent 全天候自己跑。

原話

  • “The important thing is not the code, but the prompt and the guardrails that got you there.”

    重要的不是程式碼,而是產出它的 prompt 與護欄

    ▶ 06:54
  • “You can just simply say, do not produce slop. Don't accept slop, you won't get slop in your code base.”

    直接說別產出 slop;不收 slop,程式碼庫裡就不會有

    ▶ 09:30
  • “Rules files, prompts. Skills, prompts. These lint error messages that I'm talking about, prompts.”

    規則檔是 prompt,skills 是 prompt,我說的這些 lint 錯誤訊息也是 prompt

    ▶ 15:35
  • “Context is a thing that I don't think will ever be obsoleted, right?”

    我不認為 context 會有被淘汰的一天

    ▶ 24:27
  • “Every time I have to type continue to the agent is like a failure of the harness to provide enough context around what it means to continue to completion.”

    每次得對 agent 打 continue,都是 harness 沒把「做到完成」的脈絡給足

    ▶ 33:30

延伸

  • Ryan 不要求實作的 agent 處理每一條 review 意見,因為那會讓 coding agent 被 reviewer「霸凌」;他們偏向讓程式碼被接受,而不是追求完美。
  • 他們的 skills 只集中在五到十個,寧可把現有的做好;底層從直接用 Chrome DevTools protocol 換成 daemon,Ryan 過了三週才發現,因為 Codex 靠文件自己搞定了。

章節

點時碼直接跳到原片的那一段。

  1. 開場:token billionaireRyan 說自己九個月來完全用 agent 寫軟體,還禁止團隊成員碰編輯器,要大家都靠模型把整份工作做完。
  2. 程式碼是免費的實作不再稀缺,產能只受 GPU 與 token 預算限制;Ryan 說轉折在 2025 年底,GPT-5.2 是自己的關鍵時刻。
  3. 三種稀缺資源人的時間、人與模型的注意力、context window 才是稀缺的;程式碼免費後,優先序低的 P3 工作也能同時開跑。
  4. 讓 agent 看得懂重要的是 prompt 與護欄,所以文件、ADR、歷史紀錄都要寫給 agent 看,並讓程式碼風格盡量一致。
  5. 寫下非功能需求做好一個 patch 要做上百個隱含決定,這些標準必須明確寫出來;不收 slop,短期會變慢但之後更快。
  6. 團隊專長寫成文件前端、後端、產品各有專長,寫下來後每個 agent 都能用,例如一位工程師寫好 QA 計畫標準,全隊受惠。
  7. review agent 與客製 lintcontext 會被換出去,要持續補回;CI 每次 push 都跑安全與可靠性 review agent,並用客製 lint 確保 fetch 有 retry 與 timeout。
  8. 一切都是 prompt找出反覆出現的失敗類型,用測試與帶修復指引的錯誤訊息消滅;lint、rules、skills 都是 prompt,連寫 prompt 的 skill 都交給 Codex 生。
  9. QA 計畫的效果QA 計畫規定 PR 要附哪些證明,讓 Ryan 更信任成果、不必緊盯 agent,進一步把自己從迴圈裡移開。
  10. Q&A:日常工作流程從 ticket 出發,交給 Codex 並附上能啟動 app、本地觀測與 Chrome DevTools 的 skill,再用自訂 ESLint 與結構測試把關。
  11. Q&A:避免過度設計 harnessRyan 拿 bitter lesson 當標準,只做最少量的 context 管理,在對的時間把指令交給模型,不要一開始全塞。
  12. Q&A:用原廠 harnessRyan 的看法是各家實驗室連同 harness 一起後訓練模型,所以直接接 SDK 或 Codex app server 比自己重做合理。
  13. Q&A:協作平台協作主要靠 repo 裡的 markdown 與 GitHub;PR 是人和 agent 共用的場域,實作的 agent 可以接受、延後或拒絕意見。
  14. Q&A:怎麼開始先讓 agent 補測試、提高對程式碼的信心,再看自己的時間花在哪,逐步把那些部分自動化。
  15. Q&A:車上跑 agent下班前啟動任務、把筆電接手機熱點放後座跑;Ryan 想要 50 個 agent 全天候自己跑,每次打 continue 就是 harness 沒做好。
  16. Q&A:擴大規模的架構專案從單一 package 變亂,後來拆成 750 個 PNPM package,並讓每件事只有一種做法,再用 agent 把整個 codebase 遷移成一致。
  17. Q&A:code review 與清理日每人一天三到五個 PR 讓衝突很痛,於是每週五設清理日,把人工 review 的意見轉成文件、測試與依角色分工的 review agent。
  18. Q&A:token 用在哪、plan modeRyan 估計 token 約三分之一文件、三分之一實作、三分之一 CI;不用 plan mode,若要用建議把計畫單獨開 PR 讓人逐行審。
  19. Q&A:程式碼是編譯產物Ryan 把 LLM 比成模糊的編譯器,harness 的 context 就像編譯器的限制與最佳化步驟,換模型像換程式碼生成後端。
  20. Q&A:想建的未來Ryan 想拿一份 token 預算與排好優先序的目標交給機器持續推進;除了寫程式,分流使用者回饋、runbook 等工作也要寫成流程。

名詞

harness engineering
這場的主題,指替 agent 設計環境、文件、lint、測試與 review,讓它能獨立做完整份工作
token billionaire
Ryan 的自稱,指大量消耗 token 讓模型做完整份工作;主持人介紹時說一天用掉超過十億個輸出 token
Codex
OpenAI 的 coding agent,Ryan 團隊把它當開發流程的入口
ADR
架構決策紀錄,Ryan 列為該留給 agent 讀的文件之一
AGENTS.md
放在 repo 裡給 agent 的說明檔,Ryan 提到它是提醒 agent 的方法之一
exec plans
他們早期公開的一種計畫格式,要求含里程碑與驗收條件
Symphony
他們釋出的 agent orchestrator,Ryan 用它帶出「程式碼是編譯產物」的想法
清理日(garbage collection day)
每週五全隊把本週看到的 slop 歸類,並設法徹底消除的做法
PNPM workspace
他們把 repo 拆成 750 個 package 的方式,用來隔離業務領域或架構層
bitter lesson
Ryan 用來判斷自己做的工具會不會被模型進步淘汰的參考

相關影片 同屬「關卡與 harness」