이 문서는 StructFlow 프로젝트를 완전히 이해하기 위한 교재입니다. 설명 → 예시 → 체크 질문 → 요약 구조로 작성되었으며, 모든 설명은 실제 프로젝트 코드와 연결됩니다.


1. 프로젝트 개요

이 프로젝트는 무엇을 해결하는가?

전통적인 구조 설계는 엔지니어가 수작업으로 파라미터를 입력하고, 복잡한 수식을 계산하며, 결과를 해석하는 반복 작업입니다. StructFlow는 이 과정을 자연어 입력 하나로 자동화합니다.

핵심 문제: "이렇게 설계해줘"라는 말을 구조 계산 소프트웨어가 이해하지 못한다.

해결책: LLM이 자연어를 파라미터로 변환 → 시뮬레이션 엔진이 계산 → 3D 시각화로 확인

어떤 문제를 해결하기 위해 만들어졌는가?

  1. 전문 지식의 장벽: Manning 공식, 링 이론 등 수식을 모르는 사람도 설계 결과를 얻을 수 있어야 한다
  2. 반복 작업의 비효율: 파라미터 변경 → 재계산 → 결과 확인 루프를 자동화
  3. 시각화 부재: 계산 결과를 숫자로만 보는 것은 직관적이지 않다
  4. 파이프라인 단절: 입력 → 계산 → 시각화가 서로 다른 도구에 흩어져 있다

주요 기능

기능 설명
자연어 → 파라미터 변환 "지름 600mm, 경사 0.5% 콘크리트 하수관" → JSON 파라미터
유량 계산 (Manning 공식) 유속, 유량, 충전율 계산 및 상태 판정
구조 안전성 분석 (링 이론) 최대 응력, 안전율 계산 및 KDS 기준 판정
3D 시각화 Unity WebGL로 파이프 형상 + 충전 상태 실시간 렌더링
REST API 외부 시스템과 연동 가능한 HTTP 엔드포인트
자연어 요약 계산 결과를 사람이 읽을 수 있는 문장으로 설명

기술 스택

레이어 기술 역할
Frontend React 19 + TypeScript + Vite 사용자 인터페이스
3D 뷰어 Unity 6 (WebGL 빌드) 파이프 시각화
워크플로우 n8n LLM 연동 파이프라인
AI Claude Haiku (Anthropic API) 자연어 → 파라미터 변환
계산 엔진 C# (.NET 10) Manning/링이론 계산
API ASP.NET Minimal API REST 엔드포인트
인프라 Docker + nginx + AWS EC2 배포
테스트 xUnit (66개 테스트) 품질 보증

체크 질문: 이 프로젝트에서 LLM의 역할은 무엇인가? 계산을 하는가, 파라미터를 추출하는가?

정답: LLM은 자연어 → JSON 파라미터 변환만 담당한다. 실제 공학 계산은 C# SimulationEngine이 담당한다. LLM에게 공학 계산을 맡기면 정밀도와 신뢰성을 보장할 수 없기 때문이다.