One Month Without AI
https://blog.bustikiller.com/2026/09/25/one-month-without-ai.html📌 停用 AI 一個月後,他發現自己已經不會寫程式了
TL;DR:一位開發者反思長期依賴 AI coding agent,如何一步步讓自己失去對程式碼的掌控與判斷力。
朋友跟他說:「你該試試看,會覺得自己變得超強。」一旦開始用,就停不下來,原本要花好幾天的任務,幾小時就能完成。這聽起來像是某種上癮的開場白,而作者自己也坦言,某種程度上,AI 確實讓他上癮了。
🤔 明明禁了 FOSS 專案的 AI 貢獻,工作卻離不開它
作者維護一個開源專案 LibreWeddingPlanner,幾個月前決定不再接受 AI 生成的貢獻,主要是為了提前避免爭議、劃清立場。然而私底下,他在職場上依然頻繁使用 AI coding agent,這在他的同事與開發者朋友圈中相當普遍。
💡 從「幫我寫測試」到「把整張 Jira 票貼給你」
一開始只是請 AI 幫忙寫一個函式或補測試。身為長期奉行 TDD 的開發者,他習慣先請 AI 寫測試,再自己實作程式碼,結果卻演變成連程式碼也交給 AI 寫,TDD 原本用來避免「測試被實作綁死」的目的因此失去意義。接著他開始直接把整張 Jira 票的描述貼給 AI,讓它獨立完成整個任務。
失控是漸進發生的:在不熟悉的程式碼庫上,他漸漸失去對「哪些改動真正必要」的判斷,心態變成「AI 讀過整個專案的每一行程式碼,它說需要,那就是需要吧」。他也提到,身邊討論過這件事的同事都坦承,自己並不真正清楚自己推上生產環境的程式碼在做什麼,或許連兩成都不到。
後來他開始透過 ACLI 把多個 AI agent 連接到 Jira,讓它們同時在不同的 git worktree 裡處理不同任務。這種「多工」乍看提升效率,實際上代價是他自己的注意力被切得七零八落:一個 AI agent 二十分鐘能做完的小任務,他卻要花上兩天才審完,因為同時有太多任務在切換。他甚至察覺自己已經有好幾個月沒有親手寫過一行程式碼,連 commit 都是打字告訴 AI「commit and push」。
⚠️ 品質不穩定,還可能越用越貴
作者提到 AI 產出的程式碼品質並不穩定,有時明明是同一類任務,AI 卻表現得像從沒做過一樣,需要重新解釋一次做法。他也曾看到某個 agent 卡住三十分鐘毫無進度,換一句強硬的語氣要求後,二十秒內就給出結果——但那三十分鐘的空轉,光是 token 費用就燒掉了 30 美元卻毫無產出。他自己也提出一個類比:這種體驗讓他聯想到 Google 過去被指控刻意降低搜尋結果品質,逼使用者多次搜尋、多看廣告的做法,並猜測 AI 公司在財務壓力下是否也可能如此操作。這僅是作者個人的推測,並非有實證支持的結論。
值得一提的是,他也曾發現 AI agent 會自動在 commit 中加上共同署名,他隨即關閉了這個設定,坦言自己「想假裝這段程式碼是我自己寫的」。
🎯 對工程師的實務啟示
這篇文章最值得借鏡的地方,不是「AI 不好用」,而是失控往往發生在你沒注意到的漸進過程中:從輔助寫測試,到整包任務外包,到多 agent 並行卻拖垂了自己的審查效率。若你也大量使用 coding agent,可以自問:現在推上生產環境的程式碼,你真的理解到什麼程度?審查是否已經流於形式化地放行「聽起來很專業」的 PR 描述?
🔗 來源
- 標題:One Month Without AI
- 作者/機構:saibotk(Hacker News 使用者)
- 連結:https://blog.bustikiller.com/2026/09/25/one-month-without-ai.html
#AICoding #DeveloperProductivity #CodeReview #TDD #AIAgent #SoftwareEngineering #TechnicalDebt #AIAddiction #OpenSource #DevExperience
原始資料 Hacker News · 收集於 2026-09-26
摘要原文
Several months ago, I decided that AI contributions were no longer welcome in a FOSS project I am building and maintaining - LibreWeddingPlanner . It’s not that it got a lot of contributions with AI — actually all contributions I’ve had are translations and feature requests — but I wanted to avoid future drama and have a position against AI. However, although I was not using AI for my FOSS contributions, I kept using it at work. In my workplace, as well as in many of my developer friends’, using AI to work is very, very common. Not without a degree of shame, let me tell you about this experience, and how it was turning me dumber, lazy, and a worse developer. The sweet start A friend told me hey, you should try it, you feel so powerful. Once you start using it, you cannot stop. The tasks that took you days, you can have them in hours. No, we’re not talking about cocaine, although to some degree I consider the use of AI, an addiction. I started enabling the enhanced autocomplete in vscode (or was it enabled automatically?), and downloading and using other code generation models just followed. When I was a child, I remember my parents saying be careful with the bad guys who offer candies at the school gate, those are not candies, those are drugs . When I was in my twenties, I’d pull their leg saying yeah, it’s like they give away the drugs now hum? Well, in my thirties I think they may very well do. Once you start using AI coding agents, things spiral out of control very quickly. At the start, you ask AI to implement a function for you, or to write tests for a certain piece of code. If you’ve been a TDD guy for a long time, you’re inclined to ask it to do the tests for you first, so that you can later write the code. Except you don’t write the code anymore, you just ask AI to do it, and half of the purpose of TDD (not biasing the tests by how you’ve implemented the code) is gone. But you feel you go so fast that you start not caring. One day, I saw the agent was co-signing the commits I was making, and I ran to opt-out from that setting. Like, I wanted to pretend the code was my own. Gosh. Losing control It would not be so bad if things had stopped there, but that’s not how most human brains work. If you like something and you can have 2x, you’ll have it. I started pasting the whole Jira description of a ticket, and let AI implement it for me. Yay!! So powerful!! Working on a codebase that was relatively new to me, I started losing control over which changes were really needed to fulfill the task. I thought if the AI, which has read every line of code in the project says it’s needed, so be it . Control is an illusion. Other folks I’ve discussed this with agree that they don’t know 100% of what the code they are pushing to production actually does. I bet we not even 20%. Fucking scary. But it also didn’t stop there. When I had a small task, I gave it to the AI, and in ~30 minutes I had a PR. What was I doing during those 30 minutes? Changing focus. Soon I realized I could have not one, but multiple agents working on different tasks simultaneously, in multiple git worktrees. Full power! Tokenmaxxing! I connected the agents to Jira via ACLI (command-line interface) and just asked them “work on this jira ticket in a separate worktree”. And it would start working on it. I felt ecstatic. When the task was not so small, you’d think I was working on it myself right? Hell, no. I would of course ask AI to decompose it into smaller tasks, and work on them. AI would then give me a super convincing PR with a bunch of changes I didn’t quite understand. How on Earth was I going to ask for a code review of those changes? What would my peers say? What was I going to say when they (more experienced, specially in that codebase) ask me why I did this or that? How was I going to admit it was all AI, and I was nothing but an AI shepherd? So I forced myself to understand the code. Not that I wanted to understand the architecture of the codebase, I wanted to avoid the humiliation of not knowing what the fuck I was doing. At some point, I had so many AI agents working, that the focus change was too much for me. There were tasks I could have done in 20 minutes easily, that took 5 minutes of an AI agent, and then 2 days for me to review. Because there were so many other things. And maybe AI and computers are good at context switching, but not me. I was exhausted. Because if it was just about approving PRs that are perfectly written, it would be good. But for each PR I had to look at the code, the tests, the style, give feedback , switch to something else, go back again, push, see if I have any PR comments, if CI passed, wait, now the linter complains. And it takes you 2 days to deliver something that could have been literally 1 hour single-focused. In my personal experience, multiplied AI performance is just an illusion. Multiplied frustration and exhaustion is guaranteed, though. I think there was not a single task I gave to the AI that I could merge as is. Of course, I didn’t write the commits or the PR descriptions myself (what is this, 2024??), AI was doing it for me, and it made sure there was a 7-paragraph description in the PR, explaining what it had done. I stopped reading those descriptions, like, I told it what to do, I assume it did what I said. The description is for others . Because there has to be a description, right? AI is so fucking good as sounding professional, that you relax and let it be. It’s not that I actually thought the code was good, but you get convinced over time, you get lazy, you become complacent. You stop questioning, and start accepting as good some code you would have never accepted, just because you cannot tell why it’s bad. You have lost control. Most AI developers will deny it, but deep inside, they know it’s true. Just don’t want to face it. Months passed by, and one day I realized I had not written a single line of code myself in several months. I didn’t even commit myself. Countless times I’ve written in the AI agent chat “commit and push”. What. The. Hell. If that is not laziness, I don’t know what it is. AI was also not able to solve all the tasks that I gave it. Not even half of them. Once and again, I had to babysit the AI agent saying “now, apply this pattern” or “in the specs, separate the test setup in a before block, and add the assertions in a different block”. Like I was mentoring a junior. Don’t get me wrong, I love mentoring, I’ve done it for years, and I think it was good for the mentor and the mentee. But I’m not going to fucking babysit a machine, sorry. Often times, I would see that the quality of the code written by AI had decreased significantly. Not that it was brilliant at the start, but I got the feeling of “dude, you’ve done this before, why are you uncapable of doing this again?”. So I had to prompt it again to re-explain how to do it. Or link it to a file with my preferences. Alright, I know what you mean now, sorry about the confusion. Let me redo it for you. And again it would do a fucking mess that is not what I was requesting. It started reminding me of the strategy where Google lowered the quality of the search results, forcing users to search several times, and see several times as many ads. And if that worked for Google, how is it not going to work for AI? Specially in the uncertain financial times the AI companies are going through, do you really think they would not do it? Come on. They will do this and more. Other days, I would see that an agent had been stalled for 30 minutes without giving me an answer. What to do about it? Do you think I took the task and worked on it myself? Absolutely not. I took the verbal whip and, sounding authoritarian, demanded my actual code! The AI agent profusely apologized, and gave me in 20 seconds what it had not given me in 30 minutes. I looked at the token expenses, and it had spent $30 in tokens for absolutely nothing. (165 points, 199 comments on Hacker News)
由 claude-code/sonnet 自動生成