Vibe Coding(自然語言編程)是指用日常語言向 AI 描述你想要的結果,由 AI 撰寫和修改程式碼,而學習者專注在「要做甚麼」與「做出來是否正確」,不是逐行記語法。Vibe coding (natural-language programming) means describing the result you want to an AI in everyday language and letting it write and revise the code, while the learner focuses on what should be built and whether it works, not on memorising syntax line by line.這個詞由 AI 研究者 Andrej Karpathy 在 2025 年 2 月提出[1],一年多之間,它已由工程師之間的說法,變成中學課室裡真的在用的方法。The term was coined by AI researcher Andrej Karpathy in February 2025[1], and within about a year it moved from engineer shorthand into real secondary-school classrooms.

它與傳統編程的分別How it differs from traditional programming

傳統編程的工作,是把想法翻譯成語法;Vibe Coding 的工作,是把想法講清楚,然後驗證成品。兩者的分別不在「用不用 AI」,而在學生的時間花在哪裡。Traditional programming is the work of translating an idea into syntax. Vibe coding is the work of stating the idea clearly, then verifying what comes back. The difference is not whether AI is used. It is where the student's time goes.

傳統編程Traditional programming Vibe Coding(自然語言編程)Vibe coding (natural-language programming)
學生的主要工作The student's job 背語法、記 API、逐行除錯Memorise syntax, remember APIs, debug line by line 定義問題、寫清楚指令、測試結果Define the problem, write clear instructions, test the result
入門門檻Entry threshold 數十小時才做出第一個可用成品Dozens of hours before the first usable build 第一堂就可以做出可運行的東西Something runnable in the first lesson
出錯的時候When it breaks 錯誤通常來自語法Errors usually come from syntax 錯誤通常來自指令不清楚,或需求未想清楚Errors usually come from vague instructions or unexamined requirements
最難的部分The hard part 抽象邏輯與語法細節Abstract logic and syntax detail 判斷 AI 交出來的東西是否真的可用Judging whether what the AI delivered is actually usable
兩者關係The two together 不是替代關係:即使在 Vibe Coding 之下,仍然要知道系統大致怎樣運作(見下文「它的限制」)。Not a replacement: even when vibe coding, you still need to understand roughly how the system works (see the limits section below).

為甚麼中學生學得會,也值得學Why secondary students can learn it, and why it is worth it

  • 入門那一關被移開了。學生放棄編程,通常不是因為不理解問題,而是卡在語法錯誤。當 AI 承接了語法,學生留在問題上的時間就變長了。The entry barrier is moved out of the way. Students rarely give up on programming because they cannot understand the problem: they give up on syntax errors. When the AI handles syntax, the time left over goes on the problem.
  • 它訓練的是判斷,不只是操作。學生要判斷 AI 交出來的東西對不對、夠不夠、有沒有出錯;這種判斷力在沒有 AI 的年代並沒有被這樣直接訓練過。It trains judgement, not just operation. Students have to decide whether what the AI produced is correct, complete and honest. That kind of judgement was not previously trained this directly.
  • 成品可以拿出來給人看。一個已上線、有可分享連結的作品,比一張分數表更能說明學生做過甚麼,也更容易放進 JUPAS/OEA/SLP 的作品集。The outcome can be shown to someone. A live project with a shareable link says more about what a student did than a mark sheet, and it fits naturally into a JUPAS / OEA / SLP portfolio.
  • 它與其他學科的距離變短。同一套方法可以用來整理生物科的實驗數據、製作歷史科的對話式教材、模擬商科的營運情況;學生練到的不是一個軟件,而是一種可以搬到其他科目去的做事方式。The distance to other subjects shrinks. The same method can organise biology experiment data, build a conversational history learning aid, or simulate business operations. What students practise is not a piece of software but a way of working they can carry into other subjects.

它的限制:甚麼時候仍然要寫真正的程式Its limits: when you still need to write real code

如果把 Vibe Coding 說成「以後不用學編程」,那是誇大。以下幾種情況,仍然需要受過訓練的工程師:Describing vibe coding as "you never need to learn programming again" is an exaggeration. In the following situations, trained engineers are still required:

  • 需要極高可靠性的系統(金錢交易、醫療、安全相關):系統架構、審查與測試要由受過訓練的工程師負責。Systems that need very high reliability (money transfers, medical, safety-related): architecture, review and testing belong with trained engineers.
  • 效能與規模問題:當系統要同時服務大量用戶或處理大量數據,叫 AI「再寫一次」不能解決根本的設計問題。Performance and scale: when a system must serve many users or handle large data volumes, asking the AI to "try again" does not fix an underlying design problem.
  • 安全與私隱:不能交由 AI 自行判斷,學生必須知道甚麼資料不可以輸入公開工具。Security and privacy: not something to leave to the AI's judgement; students need to know which data must never be typed into a public tool.
  • 遇到奇怪的錯誤:理解底層正在發生甚麼,往往比再問 AI 一次更快解決問題。Strange bugs: understanding what is happening underneath is often faster than asking the AI again.

這一點有研究支持:2023 年發表於 ACM CCS 的一項使用者研究發現,可以使用 AI 助手的參加者寫出的程式碼明顯較不安全,而且更傾向相信自己寫得安全[2]。換句話說,AI 令寫程式變快,但「驗證」這一環不會自動出現,它需要被教。There is research behind this: a 2023 user study published at ACM CCS found that participants who had access to an AI assistant wrote significantly less secure code, and were more likely to believe their code was secure[2]. In other words, AI makes coding faster, but verification does not appear by itself. It has to be taught.

我們怎樣教這一套How we teach it

Edcosys 於 2024 年由香港科學園的 AI 團隊創立,現時為 F.1–F.6 學生提供 7 門課程,並以到校形式與香港中、小學合作;自成立以來,我們已與 50+ 間香港中、小學合作,累計交付 1,000+ 課節。Edcosys was founded in 2024 by an AI team from Hong Kong Science Park. We run 7 courses for F.1–F.6 students and deliver them on campus with primary and secondary schools; since founding we have worked with 50+ primary and secondary schools in Hong Kong and delivered 1,000+ lessons.

與 Vibe Coding 最直接相關的一門,是 《自然語言編程與人工智能開發》:6 小時,零基礎由構思、下指令、測試與修正,到最後部署上線。四個階段學生都要自己走一次,而「測試與修正」是一個獨立階段,不是附註。The course most directly about vibe coding is Natural-Language Programming & AI Development: six hours, from zero experience through ideation, instructing the AI, testing and refining, to deploying the finished project. Students walk all four stages themselves, and testing and refining is a stage of its own rather than a footnote.