소프트웨어 3.0 시대는 자연어 프롬프트가 프로그램이 되는 시대이며, LLM의 능력을 제어하고 활용하게 돕는 도구인 하네스(Harness)의 중요성이 커지고 있습니다.
•
앤트로픽의 Claude Code 구조를 뜯어보면 우리가 익숙하게 사용해 온 전통적인 레이어드 아키텍처(Controller, Service, Domain, Adapter)와 놀라울 정도로 닮아 있습니다.
•
좋은 에이전트 설계는 기존 엔지니어링 원칙인 단일 책임 원칙(SRP)이나 파사드 패턴을 따르며, 예외를 던지는 대신 인간에게 질문(HITL)할 수 있는 것이 핵심 차별점입니다.
🥦 인사이트
•
익숙한 지식의 재발견
새로운 기술 용어 쏟아지니까 솔직히 인지 부하부터 오기 쉽잖아요. 하지만 본질을 들여다보면 결국 우리가 수십 년간 검증해 온 좋은 설계의 원칙(응집도, 결합도, 추상화)이 에이전트 시대에도 그대로 코드 스멜과 안티패턴으로 작동하고 있어요.
•
예외(Exception)가 질문(Question)으로 바뀌는 패러다임
전통적인 코드에서는 스펙 외의 상황이 터지면 에러를 뿜으며 멈추는 게 전부였죠. 하지만 3.0 시대의 에이전트는 인간과 협력하는 Human-in-the-Loop(HITL)를 통해 애매한 순간 판단을 위임하며 "질문할 줄 아는 존재"가 되었다는 게 가장 흥미로운 지점이에요.
•
토큰은 곧 메모리라는 현실적인 감각
과거에 서버 개발자들이 RAM 용량과 클래스 폭발을 경계했던 것처럼, 이제 에이전트를 설계할 때는 컨텍스트 윈도우와 토큰 소모량을 최적화해야 해요. 판단이 필요 없는 반복적이고 결정적인 로직은 굳이 LLM에게 매번 해석하게 만들지 말고, 스크립트로 분리해 캡슐화하는 지혜가 필요하죠.
🥄 실행 한 스푼
•
오늘 만드는 프롬프트나 에이전트 워크플로우가 있다면 단일 책임 원칙(SRP)을 잘 지키고 있는지 딱 한 번만 점검해 볼까요? 도구는 바뀌어도 본질은 변하지 않으니, 이미 가지고 계신 탄탄한 개발 엔지니어링 역량을 믿고 과감하게 AI 3.0 시대를 리드해 나가시길 응원해요.
—— 원문 보기 ——
소프트웨어 3.0 시대란?
2025년 6월, Andrej Karpathy는 Y Combinator AI Startup School에서 흥미로운 발표를 했습니다. 그는 소프트웨어의 진화를 세 단계로 구분했습니다.
Software 1.0: 우리가 수십 년간 해온 방식입니다. Python, Java, C++로 명시적인 로직을 작성합니다. if-else로 분기하고, for로 반복하고, 함수로 추상화합니다. 어떻게(How) 해야 하는지를 코드로 작성하는 시대입니다.
Software 2.0: 2010년대 딥러닝의 부상과 함께 시작됐습니다. 더 이상 규칙을 직접 작성하지 않습니다. 데이터를 모으고, 모델을 학습시키면, 신경망의 가중치가 곧 프로그램이 됩니다. Tesla Autopilot에서 수많은 C++ 코드가 신경망으로 대체된 것처럼요.
Software 3.0: 지금 우리가 진입하고 있는 시대입니다. LLM에게 자연어로 무엇을(What) 원하는지 말하면 됩니다. 프롬프트가 곧 프로그램입니다.