Karpathy Software 2.0: 명령문보다 목적함수 설계가 중요한 이유 | DAKER 커뮤니티

영어 프롬프트만으로 앱을 만드는 일이 낯설지 않은 시대입니다. 그런데 결과물이 그럴듯해 보여도, 품질이 안정적으로 유지되느냐는 전혀 다른 문제입니다. 이 차이를 가르는 기준으로 Karpathy의 Software 2.0 관점은 지금 다시 읽어볼 만합니다.

이 관점에서는 개발의 중심이 명령문 작성에서 데이터셋, 목표, 평가 설계로 이동합니다. 그래서 바이브 코딩의 성패도 결국 무엇을 성공으로 볼지 얼마나 분명하게 정했는지에 따라 갈립니다.

hero

Software 2.0을 바라보는 핵심 관점

Karpathy의 Software 2.0 관점은 신경망을 사람이 직접 쓰지 않은 프로그램으로 봅니다. Software 1.0에서는 사람이 코드를 직접 씁니다. 반면 Software 2.0에서는 사람이 데이터와 목적함수를 만들고, 최적화가 프로그램을 찾습니다.

AI 시대의 개발자는 코드를 덜 보는 사람이 아니라, 검증 루프를 더 잘 설계하는 사람입니다.

이 관점을 프롬프트 작업이나 해커톤 제출에 적용해 보면, 실제 품질은 무엇을 성공으로 볼 것인가를 얼마나 잘 정했는지에 따라 갈립니다. 요구사항, 예시, 실패 케이스, 자동 테스트, 사용자 피드백은 모두 새로운 의미의 프로그래밍 재료가 됩니다.

목적함수가 흐리면 생성 결과가 아무리 많아도 품질이 고정되지 않습니다. 반대로 성공 조건이 분명하면, 생성 과정에서 나온 결과를 더 일관된 기준으로 다듬을 수 있습니다.

flow

프롬프트보다 먼저 정해야 할 것

실제로 적용할 때는 프롬프트를 쓰기 전에 성공 조건을 먼저 적어두는 것이 좋습니다. 좋아 보인다는 인상 대신, 입력과 출력의 예시를 두고 실패 예시도 함께 두면 됩니다.

좋아 보임 대신 입력-출력 예시와 실패 예시를 두는 것이 품질을 가르는 기준이 됩니다.

데이터와 피드백도 코드만큼 중요하게 관리해야 합니다. 이 기준이 있어야 생성 결과를 단순히 늘리는 데서 그치지 않고, 어떤 결과가 더 나은지 판단할 수 있습니다.

해커톤과 데모에서 바로 써볼 수 있는 방식

해커톤 데모 전에는 성공 조건 체크리스트 다섯 줄을 만들어 두면 됩니다. 이때 그중 하나는 반드시 실패 케이스로 두는 것이 중요합니다. 통과하지 못한 상태에서 기능만 늘리면, 겉으로는 풍성해 보여도 품질 기준은 더 흐려집니다.

그래서 먼저 통과 기준을 세우고, 그 기준을 넘지 못하면 기능을 추가하기보다 검증 루프를 다시 보는 편이 낫습니다. Software 2.0의 관점은 바로 이런 우선순위를 분명하게 해줍니다.

자주 막히는 지점과 정리 방법

일단 만들어 달라는 요청만 반복하면 화면은 늘어나지만 평가 기준은 남지 않습니다. 반대로 지표만 많고 입력 예시가 없으면 최적화 방향이 흔들립니다.

이럴 때는 성공 조건 문장을 한 줄로 줄인 뒤, 그 한 줄을 통과하는 최소 기능만 남기는 것이 좋습니다. 기준을 먼저 선명하게 만들면, 무엇을 고쳐야 하는지도 더 분명해집니다.

다음 학습으로 이어가기

목적함수를 정했다면, 다음에는 완전 자율보다 검증이 빠른 부분 자율이라는 Software 3.0의 각도로 에이전트 루프를 조절해 볼 수 있습니다. 학습, 해커톤, 레이드 가이드에서도 이런 검증 가능한 제출 습관을 이어가면 도움이 됩니다.

관련 글: Karpathy Software 3.0 부분 자율 · 학습 디렉터리 · 해커톤 · 레이드 가이드

참고 자료

https://daker.ai/community/post-mtt7hf04-bbc1576b
https://daker.ai/community?directory=learning
https://daker.ai/public/hackathons
https://daker.ai/public/basecamp/raid-guide

여러분은 프롬프트보다 먼저 어떤 성공 조건을 적어두는 편인지 궁금합니다.