AI가 전문성을 압축해줄 때, 끝내 인간에게 남는 것
(eggp.dev)안녕하세요 저는 8년차 프론트엔드 개발자입니다.
AI의 도움으로 DSL 컴파일러를 설계하고 arXiv에 논문까지
올리게 된 경험을 글로 정리해봤습니다.
- 여러 SaaS를 만들며 느꼈던 "도메인마다 같은 구조가 반복된다"는 직감에서 출발했습니다
- AI를 코딩 보조가 아닌 각 분야 전문가의 사고방식을 빌리는 도구로 활용했습니다
- 실패의 비용이 구조적으로 낮아지면서, 아키텍처를 네 번 갈아엎고도 프로젝트를 밀어붙일
수 있었습니다 - 동시에 AI가 채워줄 수 없는 나머지 20% — "지금 잘못된 걸 묻고 있다"는 직관 — 의
중요성도 체감했습니다
AI 활용의 가능성과 한계를 동시에 느낀 솔직한 경험담입니다.
댓글과 토론
형식 언어가 뭔지는 모르는데 state, computed는 변수고 action은 함수로 보이는데 무엇이 다른 건가요? 글을 보면 상태 다이어그램을 그린건가 싶다가도, 도메인이 반복된다는 내용과 어떤 상관이 있는 건지, 글에 등장하는 단어들이 모르는 단어들은 아닌데 잘 안 읽히네요.
예를들어 우리가 회원가입 폼을 만든다고 생각을 해보겠습니다.
화원가입 폼에서 이름 성별 나이 군대 전역 유무 이렇게 4가지를 받는다라고 할때
"성별이 남자일 경우 셀렉트 박스를 보여주며 군대 전역 유무를 묻는다"
라는 조항이 하나 더 나온다라고 가정 해봅니다.
그리고 제출 버튼이 있으면 그건 우리가 보통 말하는 회원가입에 대한 도메인 모델이라고 할 수 있을겁니다.
그럼 이때 이름, 성별, 나이, 군대 전역 이 4가지는 도메인에 대한 state라고 하며
군대 전역을 묻는 select box 의 visibility 는 성별에서 파생되는 computed
그리고 회원가입 버튼은 action이 매핑되는 겁니다.
아무래도 제가 글 솜씨가 좋지 않아서 글을 잘 읽히게 적지 못한것 같습니다.
개념 자체는 위에서 설명한바와 비슷하다고 생각해주시면 됩니다.
잘 읽었습니다. 블로그에 쓰신 내용도요. 뭔가 비유가 적합한지 모르겠지만, 언어들의 제일 첫번째 튜토리얼이 Hello World! 인 이유와 과거 웹개발 학습을 할때 게시판, 쇼핑몰을 학습하면서 만드는 과정이 결국 말씀하신 것과 궤를 같이 하지 않나란 생각을 합니다. 예전엔 그런생각을 했거든요, 게시판과 쇼핑몰을 만들 수 있는 정도의 테크닉이 있다면 대부분의 웹을 구현 가능하다. 그리고 궁극적으론 결국 프로그래밍이라는 것은 Input과 Output이 있을 뿐이다.
비유가 적절한 것 같습니다. 제 프로젝트도 사람의 Intent 와 Snapshot 2가지로만 사실상 구성되거든요.
결국은 사람의 의도 (eg. 키 입력, 마우스 클릭) 을 어떻게 계산하고 어떤 의미를 가지게 만들것인가가 제 프로젝트가 나아가야할 길이라고 생각하고 있었습니다.
아뇨 state diagram 을 보여드린건 Manifesto 내부의 상태전이를 시각화시켜주는 방법 중 하나이고
결정론적 상태머신을 프레임워크로 만들었습니다.
Manifesto Core 내부의 계산은 같은 상태와 명령에 항상 같은 결과로만 연산되도록 설계되었습니다.
DSL 을 하나 만드신건 알겠는데, 결정론적 상태머신은 무슨 내용인지 잘 모르겠네요. 비결정론적 상태머신도 있나싶고... 아뭏든 잘 봤습니다. 잘 가꿔나가시기 바랍니다.
아 선생님 지적이 맞습니다. 상태머신 자첸체는 결정론적인게 맞습니다. 제가 manifesto에서 도입한건 비 튜링 완전 기반으로 DSL내부에 반복문이 존재하지 않습니다. 그 덕분에 프로그램을 실행하기 전에 프로그램이 어떻게 작동할지 계산이 가능하고 왜 그런 결과가 나왔는지 설명 가능합니다.
지적 감사합니다!