메뉴
HN
Hacker News • 50일 전

AI와 코딩은 스테이크 요리와 닮아 있다

IMP
7/10
핵심 요약

최근 AI를 활용한 소프트웨어 개발은 기술적 이해 없이 결과물만 기대하는 스테이크 요리와 같습니다. AI는 개발의 속도를 높여주는 훌륭한 도구일 뿐, 근본적인 품질 기준이나 설계에 대한 개발자의 판단력을 대체할 수 없습니다. 결국 원하는 수준의 완성도를 갖춘 소프트웨어를 만들려면, 개발자는 요리법을 배우듯 시스템의 원리와 디테일을 깊이 이해해야 합니다.

번역된 본문

스테이크를 요리하는 데는 거의 기술이 필요하지 않습니다. 뜨거운 팬에 올리고, 조금 기다렸다가 뒤집기만 하면 기술적으로 먹을 수 있는 결과물이 나옵니다. 하지만 가장자리부터 중심까지 완벽한 미디움 레어로, 갈색으로 적절히 구워지고, 양념이 잘 맞으며, 언제 먹어도 맛있는 진짜 좋은 스테이크는 완전히 다른 문제입니다.

AI를 활용한 소프트웨어 개발 역시 이와 똑같은 느낌이 들기 시작했습니다. 우리는 끊임없이 무언가를 만들어냅니다. AI를 사용하거나, AI 없이, 출퇴근길에, 화장실에서, 심지어 잠자는 동안에도 말입니다. 우리는 에이전트(agent), 하네스(harness), 도구, 기술, 프롬프트, 피드백 루프, 정교한 워크플로를 만들어냅니다. 그런 다음 그 모든 것을 AI 모델에 던져놓고, 내부가 어떻게 작동하는지 이해할 필요 없이 우리가 상상한 결과물을 내어주길 바랍니다.

그리고 우리가 원하는 건 뭘까요? 우리는 완벽한 스테이크를 원합니다. 우리는 제대로 작동하고, 보기 좋고, 다듬어졌으며, 우리가 상상했던 그대로 도착하는 소프트웨어를 원합니다. 무엇보다 우리는 매번 똑같은 결과를 원합니다.

우리는 그것을 얻고 있을까요? 매번 얻는 건 아닙니다. 매번 가까이 가본 적도 없죠. 때로는 모델이 놀라울 정도로 좋은 무언가를 건네주기도 합니다. 하지만 다른 때는 타버린 숯덩이에 타임 가지를 얹고 미디엄 레어라고 자신 있게 거짓말을 하기도 합니다.

그래서 우리는 어떻게 합니까? 우리는 식당에 갑니다. 프리미엄 AI 제품에 돈을 지불하고, 대행사를 고용하고, 또 다른 코딩 어시스턴트에 구독하고, 전문적인 결과를 약속하는 새로운 프레임워크로 눈을 돌립니다. 우리는 누군가가 이미 우리를 위해 이 문제를 해결해 주었기를 바랍니다. 때로는 그들이 그렇게 했을 때도 있습니다. 하지만 상당히 자주, 그들은 그러지 못했습니다.

그러면 이제 두 가지 선택지만 남게 됩니다. 제대로 요리하는 법을 스스로 배우거나, 다음 번 또 다른 비싼 실망감을 위해 지갑을 준비하며 계속 친구에게 식당 추천을 부탁하는 것입니다.

우리 대부분은 구현 디테일에 매몰되지 않고 AI를 통해 우리가 신경 쓰는 무언가를 만들고 싶어 합니다. 우리의 주방에서 일하는 전문 셰프를 대하듯 하고 싶어 합니다. 우리가 원하는 것을 말하고, 한 발짝 물러섰다가 저녁 식사가 준비되면 다시 돌아오는 식으로 말이죠.

하지만 AI는 셰프가 아닙니다. 아무리 좋아봐야 그것은 스테이크 머신일 뿐입니다. 레시피를 따를 수는 있습니다. 온도를 지켜보고, 알맞은 순간에 뒤집고, 버터를 넣을 수 있죠. 충분한 도구와 지침을 주면 이 과정을 빠르고 거대한 규모로 반복할 것입니다. 하지만 이 머신이 당신이 진짜로 원하는 게 뭔지 아는 것은 아닙니다. 당신 머릿속에 있는 그림을 요구 사항, 제약 조건, 예시, 테스트, 피드백으로 번역하지 않는 한 그것은 당신의 머릿속 그림을 볼 수 없습니다. 그리고 그렇게 한다고 해도, 여전히 머신 자체의 한계와 컨텍스트 윈도우(context window), 그리고 이를 감싸고 있는 시스템의 품질이라는 틀에 갇혀 있습니다.

머신 옆에 서서 30초마다 교정해 줄 수는 있습니다. 그게 도움이 될 수도 있죠. 하지만 그렇다고 기계를 미슐랭 셰프로 만들지는 못합니다.

결국, 좌절한 당신은 꿈의 스테이크를 돈 주고 사기로 결심합니다. 당신은 비싼 식당을 고릅니다. 자리에 앉아, 메뉴를 살펴보고, 마침내 확신을 가지고 주문을 합니다. 당신은 첫 입을 기다립니다. 접시가 도착합니다. 집에서 내가 만들었던 것과 똑같은, 타버린 스테이크입니다.

왜 그럴까요? 도시에 있는 모든 식당이 똑같은 AI 요리사를 고용했기 때문입니다. "비용 최적화"라고 경영진은 말합니다. "대부분의 사람들은 눈치채지 못할 겁니다." 그리고 그들은 아마 맞을 것입니다. 대부분의 사람들은 눈치채지 못할 테니까요.

대부분의 경우, 소프트웨어는 그저 '무난한 수준'이면 충분합니다. 고객들은 이상한 인터페이스, 무의미한 기능, 기묘한 버그, 그리고 아무도 이해하지 못하는 생성된 코드로 겨우 버티고 있는 시스템들을 용인합니다.

하지만 당신은 눈치챌 것입니다. 당신이 눈치챌 것인 이유는, 이것이 당신이 진정으로 만들고 싶어 했던 무언가이기 때문입니다.

그래서 당신은 실망하고, 배가 고프고, 약간 민망해진 채 집으로 돌아와 선반에서 요리책을 꺼냅니다. 이제 선택지는 하나뿐입니다. 요리법을 배우는 것입니다.

당신은 열이 실제로 어떤 역할을 하는지 배웁니다. 어떤 팬이 중요하고 왜 그런지, 두께가 왜 중요한지, 왜 휴지(숙성)가 중요한지, 왜 타이머만으로는 당신을 절대 구원할 수 없었는지를 배웁니다. 당신은 저녁 식사를 몇 번 더 망칩니다. 그런 다음 다시 시도합니다. 또 다시 시도합니다. 결국 당신은 운에 의존하는 것을 멈추고, 힘들게 그 모든 것을 배우게 됩니다.

소프트웨어도 똑같은 방식으로 작동합니다. AI는 당신의 속도를 높여줄 수 있습니다. 반복적인 작업을 자동화하고, 시작점을 뱉어내며, 코드를 설명하고, 아이디어를 시험해 보는 데 도움을 줍니다. 하지만 AI가 할 수 없는 것은 당신의 판단력을 대체하는 것입니다. AI는 당신을 위해 품질을 정의해 줄 수 없고, 어떤 절충안이 허용되는지 결정할 수 없으며, 기술적으로는 맞지만 본질적으로 틀린 순간을 항상 알아챌 수는 없습니다.

원문 보기
원문 보기 (영어)
Cooking a steak requires almost no skill. Put it in a hot pan, wait a little, flip it, and eventually you’ll have something technically edible. But a genuinely good steak, medium-rare from edge to edge, browned properly, seasoned right, consistently delicious, is a different matter entirely. Software development with AI is starting to feel much the same. We build nonstop now. With AI, without AI, during the commute, on the toilet, probably in our sleep. We create agents, harnesses, tools, skills, prompts, feedback loops, elaborate workflows. Then we throw everything at a model and hope it gives us what we imagined, without ever having to understand how any of it actually works. And what do we want? We want the perfect steak. We want software that works, looks good, feels polished, and arrives exactly as we imagined it. Most of all, we want the same result every time. Do we get it? Not every time. Not even close to every time. Sometimes the model hands us something surprisingly good. Other times it serves up charcoal with a sprig of thyme on top and calls it medium-rare, completely confident in the lie. So what do we do? We go to a restaurant. We pay for a premium AI product, hire an agency, subscribe to another coding assistant, jump to a new framework promising professional results. We hope someone else already solved the problem for us. Sometimes they have. Quite often, they haven’t. That leaves two choices: learn to cook properly ourselves, or keep asking friends for restaurant recommendations while preparing our wallets for the next expensive disappointment. Most of us want to build something we care about with AI without getting lost in the implementation details. We want to treat it like a professional chef working in our own kitchen: tell it what we want, step away, come back when dinner’s ready. But AI isn’t a chef. At best, it’s a steak machine. It can follow a recipe. Watch the temperature, flip at the right moment, drop in the butter. Give it enough tools and instructions and it’ll repeat that process fast, at enormous scale. What it doesn’t do is know what you actually want. It can’t see the picture in your head unless you translate it into requirements, constraints, examples, tests, feedback. And even then, it’s boxed in by its own capabilities, its context window, the quality of the system wrapped around it. You can stand next to the machine and correct it every thirty seconds. That might help. It won’t turn the machine into a Michelin-starred chef. Eventually, frustrated, you decide to just pay for the dream steak. You pick the expensive restaurant. Sit down, study the menu, finally, you can order with real confidence. You wait for the first bite. The plate arrives. Same burnt steak you made at home. Why? Because every restaurant in the city hired the same AI cook. “Cost optimization,” management says. “Most people won’t notice.” And they’re probably right. Most people won’t. Most of the time, software only has to be acceptable. Customers tolerate weird interfaces, pointless features, strange bugs, systems held together by generated code nobody actually understands. But you’ll notice. You’ll notice because this was something you actually wanted to make. So you go home disappointed, hungry, a little embarrassed, and pull the cookbook off the shelf. There’s only one option left: learn to cook. You learn what heat actually does. Which pan matters and why. Why thickness matters, why resting matters, why a timer alone was never going to save you. You ruin a few more dinners. Then you try again. And again. Eventually you stop depending on luck, you learned it the hard way. Software works the same way. AI can make you faster. It automates the repetitive stuff, spits out a starting point, explains code, helps you poke at ideas. What it can’t do is replace your judgment. It can’t define quality for you, can’t decide which tradeoffs are acceptable, can’t always catch the moment when something is technically correct but wrong in every way that matters. To build good software with AI, you still have to understand software. You need to know what you’re actually asking for, how to judge what comes back, and when the machine is just confidently serving you charcoal. Keep learning. Keep building. Keep failing. Do that until you can produce the result you want instead of hoping to stumble into it. Then get good enough to open your own small restaurant. Then hire a few AI cooks. Most people still won’t notice the difference. But you will. blog , development , ai ai software-development learning This post is licensed under CC BY 4.0 by the author. Share