AI 가 코딩을 한다면?
LLM 이 지금보다 얼마나 코딩을 잘할지 모르겠으나, 새로운 프로덕트나 버젼이 올라갈수록 성능이 점점 좋아지는 것은 체감 할 수 있다. 그러다보니 "개발자가 AI 에 의해 대체될 것인가?" 에 대한 우려섞인 궁금증을 가진 사람들이 많은데, 이 질문을 분해해서 답해보려고 한다. 1. AI 가 대신 코딩할 수 있을까? 대답은 "이미 그렇다." Prompt 로 옮길 수 있는 것에 대한 코딩은 매우 잘하고 있다. 예를 들어 `Create merkle tree class that generate leaves and merkle root in typescript.` 이런 요청에 대해 ChatGPT 는 상당히 괜찮은 코드를 빠른 시간내에 출력해낸다. 정확하게 작동하지 않는 부분을 테스트하며 수정할 필요가 있다는 것을 감안해도, 어떤 개념을 구현하는 속도가 매우 빠르다. 테스트 코드를 뽑아내는 것도 잘하기 때문에 안정적으로 코딩하는데 큰 도움이 된다. 2. AI 가 대신 개발할 수 있을까? 대답은 "아니다" 적어도 꽤 오랫동안은. 작은 프로젝트라고 해도 생각보다 코드량이 많다. LLM 이 가진 토큰 제한과 메모리를 생각해볼때 전체 프로젝트 코드를 작성하는 것은 무리라고 본다. Hallucination 도 구조적으로 완전히 없애기 어렵기 때문에 전체 코드 베이스를 AI 로 만든다는 건 현시점에서는 리스크가 너무 크다. 또한 전체적인 구조를 Prompt 로 설명하기도 쉽지 않고, 인프라 부분은 결국 사람이 해결해야 하는 요소가 아직은 많다. 3. AI 코딩의 미래는 뭘까? 아무리 AI 가 발전해도 사람의 판단은 중요할 것으로 보인다. 결정을 더 잘하고 못하고를 떠나 사람이 결정하지 않는 시대가 된다면, 이미 인간은 더이상 존재가치가 없을테니, 이런 이야기 자체가 의미 없을 것이다. 때문에 의사결정의 재료가 되는 DB 의 존재와 사람에게 필요한 Frontend 인터페이스는 여전히 의미 있을 것이다. 결국 개발이라는 것이 심하게 비약하면 DB 에 데이터를 입력하고 출력하기 위한 포장지에 지나지 않는다고 볼 수 있다. AI 가 본격적으로 개발에 도입되기 시작하면 개발자가 직접 개입해야 하는 "코딩"의 형태가 아니라 누군가 제안한 backend-GPT 즉 "블랙박스" 형태로 발전할 가능성이 더 높다. 코딩은 본질적으로 인간이 읽기 위한 형태이지 기계가 원하는 형태가 아니기 때문이다. 어떤 데이터에 대한 요구사항을 주고 이를 알아서 DB 에 넣고, 필요한 요청에 대한 아웃라인에 대해 DB 에서 쿼리를 진행하는 등 일련의 "조건" 을 사람이 제시하고 이에 대한 것은 블랙박스로 던져넣되, 그에 대한 데이터는 DB 에서 확인하는 형태, 자연어든 사진이든 알아서 인식해서 저장하는 것이 미래의 AI 개발이라고 볼 수 있을 것이다. 아니, 정확하게 어떻게 돌아가는지도 모르는 걸 어떻게 믿고 쓰냐고 말 할 수 있을 것이다. 이렇게 반문하고 싶다. "지금 LLM 과 여타 AI들이 돌아가는 원리와 구조를 정확하게 설명할 수 있는 사람은 있을까요?"
GitHub
GitHub - RootbeerComputer/backend-GPT
- 0
- 0
- Quote