그림(ref1)
해결할 문제를 소프트웨어로 어떻게 표현할 것인지를 고민하는 일을 모델링이라고 부른다. 다이어그램은 모델링 결과물을 시각화(일러스트레이팅)한 결과물이다(ref1). 소프트웨어 개발 프로젝트 초기에 집중해야 하는 것은 다이어그램이 아니라 모델링이다.
AI에게 도메인 모델에 대해 LLM에게 잘 정리해 설명할 수 있는 능력이 있더라도, 도메인 모델을 만드는 방법을 전혀 모르기 때문에 병목이 되고 있음을 느끼는 최근이다. 내가 인식한 현실 세상의 모델과 LLM이 인식한 문제해결 범위를 동일하게 맞추고 구현을 위임하기 위해서는 도메인 모델을 잘 만드는 것이 중요하다. 명세에 포함되지 않은 중요한 제약조건으로 인해 나와 LLM의 인식에 차이가 발생하고, 이렇게 작성된 LLM의 코드를 고치며 소비하는 시간을 줄일 수 있다.
parse me : 언젠가 이 글에 쓰이면 좋을 것 같은 재료을 보관해 두는 영역입니다.
1.
None
from : 과거의 어떤 원자적 생각이 이 생각을 만들었는지 연결하고 설명합니다.
1.
•
앞의 글은 ‘무엇을 만들지 정의하는 일’이 중요하다고 했지만 이는 조금 모호하다. 무엇을 만들지는 한 문장으로도 표현할 수 있다. 그러면 이것을 어디까지 정의해야 하는가, 어떻게 정의해야 하는가? 조금 더 다듬어진 표현으로 중요한 것은 ‘모델링’이다.
2.
•
이 글을 작성하기 전, 앞의 엔트리포인트에서 정리해 둔 소프트웨어 설계 과정은 다이어그램 중심이었다. 이 다이어그램을 그리고, 저 다이어그램을 그리고, … 하지만 그럼에도 나는 막상 다이어그램을 그리는 것을 피하게 되고, 쉽지도 않았다. 모델링과 다이어그램 일러스트레이팅이 다른 것이라고 생각해보면 그 이유를 알 것 같기도 하다. 다이어그램을 그리는 작업은 대부분 표준을 공유하는 사람들끼리 쉽게 알아볼 수 있게 만드는 일에 주안점을 둔다. 그 전에 모델링은 어떻게 하면 잘 할 수 있을까를 고민하면 문제에 접근하는 것이 훨씬 수월하다.
supplementary : 어떤 새로운 생각이 이 문서에 작성된 생각을 뒷받침하는지 연결합니다.
1.
opposite : 어떤 새로운 생각이 이 문서에 작성된 생각과 대조되는지 연결합니다.
1.
None
to : 이 문서에 작성된 생각이 어떤 생각으로 발전되거나 이어지는지를 작성하는 영역입니다.
1.
None
ref : 생각에 참고한 자료입니다.