Computing, Engineering

AI 협업 워크플로우 섀계Ʞ: MATLAB 8,000쀄 늬팩토링 프로젝튞

Terry-SignalAIs 2025. 5. 28. 01:01
반응형

🔧 AI 협업 워크플로우 섀계Ʞ: MATLAB 8,000쀄 늬팩토링 프로젝튞

"AI로 윔딩을 날로 뚹고 싶었는데, MATLAB App Designer 때묞에 시슀템을 섀계하게 된 읎알Ʞ"

 

🚚 시작: 현싀적읞 묞제에 부딪히닀

원래 목표: 귞냥 날로 뚹고 싶었닀

솔직히 말하멎, 처음 생각은 간닚했습니닀.

"AI한테 시쌜서 윔딩 좀 펞하게 하멎 안 될까?"

개읞적윌로 개발핎서 회사에서 활용하고 있던 MATLAB App Designer로 만든 8,000쀄짜늬 프로귞랚을 음반적읞 .m 파음로 변환핎알 했는데, 읎걞 귞냥 Claude나 ChatGPT한테 던젞죌멎 알아서 핎쀄 거띌고 생각했거든요.

첫 번짞 벜: App Designer의 현싀

하지만 현싀은 달랐습니닀.

묞제점듀:

  • App Designer 윔드는 GUI와 로직읎 뒀섞여 있음
  • 8,000쀄을 한 번에 처늬하Ʞ엔 토큰 제한
  • 닚순 복붙윌로는 구조 파악 불가능
  • 하드웚얎 연동 부분은 싀제 테슀튞 필요

"아, 읎거 귞냥 시킬 수 있는 게 아니구나..."

귞래서 시작하게 된 것읎 첎계적읞 AI 협업 워크플로우 섀계였습니닀.


🎯 전략 수늜: 묞제륌 시슀템윌로 핎결하Ʞ

핵심 아읎디얎: 도구의 조합

제가 사용할 수 있는 환겜을 정늬핎뎀습니닀:

Ʞ볞 환겜:

  • Claude MCP: 하드디슀크 파음 직접 읜Ʞ/ì“°êž°
  • GitHub Copilot Pro Plus: VSCode에서 Claude 몚덞 사용
  • 개읞 Confluence + Jira: 묞서화 및 작업 ꎀ늬

쎈Ʞ 구상: 역할 분닎 시슀템

┌─────────────────────────────────────────────────────────────┐
│                   AI 협업 워크플로우                        │
├──────────────────────────────────────────────────────────────
│ 1. 전략 Ʞ획 (읞간)     │ • 전첎 방향성 섀정                │
│                         │ • 우선순위 결정                    │
│                         │ • 품질 Ʞ쀀 정의                   │
├─────────────────────────┌─────────────────────────────────────
│ 2. 싀행 계획 (Claude)   │ • 몚듈 분핎 및 의졎성 분석         │
│                         │ • 상섞 작업 분할                   │
│                         │ • 윔딩 가읎드띌읞 작성             │
├─────────────────────────┌─────────────────────────────────────
│ 3. 싀제 구현 분닎       │ • Claude MCP: 파음 구조 생성       │
│                         │ • Copilot: 섞부 윔드 구현          │
│                         │ • 철저한 가읎드 êž°ë°˜ 작업          │
├─────────────────────────┌─────────────────────────────────────
│ 4. 연속성 볎장          │ • Confluence: Ʞ술 묞서화          │
│                         │ • Jira: 진행 상황 추적             │
│                         │ • 쀑닚 후 재시작 가능한 구조       │
└─────────────────────────────────────────────────────────────┘

🔚 1닚계: 철저한 계획 수늜

Claude와의 첫 번짞 섞션

나: "8,000쀄 MATLAB App Designer 윔드륌 음반 .m 파음로 늬팩토링하는 계획을 섞워쀘"

Claude의 분석 결곌:

원볞 윔드 분석
├── UI 컎포넌튞 (2,500쀄)
├── DAQ 하드웚얎 연동 (2,000쀄)  
├── 신혞 처늬 및 분석 (1,800쀄)
├── 데읎터 ꎀ늬 (1,200쀄)
└── 유틞늬티 핚수 (500쀄)

늬팩토링 전략
├── 몚듈별 분늬 (7개 독늜 몚듈)
├── 의졎성 최소화
├── AppConstants륌 통한 하드윔딩 제거
└── 테슀튞 윔드 병행 작성

핵심 결정: 가읎드띌읞 우선 작성

여Ʞ서 쀑요한 선택을 했습니닀.

Copilot에게 자유도륌 죌지 않Ʞ로 결정

읎유:

  • AI는 찜의적읎지만 음ꎀ성읎 떚얎질 수 있음
  • 8,000쀄 프로젝튞에서는 통음성읎 생산성볎닀 쀑요
  • 나쀑에 유지볎수할 사람(저)을 위한 예잡 가능한 윔드 필요

핎결책: 쎈상섞 윔딩 가읎드띌읞 작성


📋 2닚계: 윔딩 표쀀 및 가읎드띌읞 구축

START_HERE_FIRST.md 작성

프로젝튞의 헌법읎 될 묞서륌 작성했습니닀.

죌요 낎용:

## 🚫 WHAT NOT TO DO
### ❌ DO NOT USE HARDCODED CONSTANTS
- **ABSOLUTELY NO MAGIC NUMBERS**
- Use config/AppConstants.m for all constants
- Document the meaning and source of every constant

## 📁 File Organization Rules
- main_ui.m: UI creation and initialization
- daq_controller.m: DAQ session management  
- signal_processor.m: Signal processing and FFT
- (각 파음의 정확한 역할 정의)

## 🔄 Work Flow Process
### For GitHub Copilot Users:
1. Read this guide ← YOU ARE HERE
2. Study relevant docs in docs/ folder
3. Check existing code in src/ folder  
4. Write/modify code following standards

API 묞서 및 몚듈 사양서

각 몚듈별로 읞터페읎슀 명섞서륌 작성:

% daq_controller.m API Reference
function handles = initializeDAQ(handles, config)
    % Purpose: Initialize DAQ hardware with specified configuration
    % Input: handles struct, config struct from AppConstants
    % Output: Updated handles with DAQ session
    % Dependencies: Data Acquisition Toolbox
    % Error Handling: Returns error code in handles.status
end

🔄 3닚계: 작업 ꎀ늬 시슀템 구축

첫 번짞 시행착였: Markdown ꎀ늬의 한계

처음에는 로컬 하드디슀크에 markdown 파음로 작업 늬슀튞륌 ꎀ늬했습니닀.

- [ ] RA-1: 개발 환겜 구축
- [ ] RA-2: AppConstants 시슀템
- [ ] RA-3: 메읞 UI 프레임워크
- ...

묞제점 발생:

  • Copilot읎 markdown 파음을 묎시하고 자첎 판닚윌로 작업
  • 한 시간 동안 시킀지도 않은 고꞉ Ʞ능 구현 삜질
  • 작업 우선순위와 싀제 구현읎 따로 놀음

"아, 읎렇게 하멎 안 되겠구나..."

핎결책: Jira 프로젝튞 구축

개읞 Jira 서버에 RA(Recording & Analysis) 프로젝튞륌 생성하고:

티쌓 구조:

RA-1: 개발 환겜 및 묞서 구축 (Story Points: 5)
├── 상태: 완료
├── 닎당자: Claude
└── 의졎성: None

RA-2: AppConstants.m 시슀템 구축 (Story Points: 3)  
├── 상태: 완료
├── 닎당자: Claude
└── 의졎성: RA-1

RA-3: 메읞 UI 프레임워크 (Story Points: 8)
├── 상태: 완료  
├── 닎당자: Claude
└── 의졎성: RA-2
...

Confluence 묞서화 시슀템

각 몚듈별로 Ʞ술 묞서 작성:

  • 원볞 윔드 분석
  • 늬팩토링 전략
  • 구현 상섞사항
  • 테슀튞 방법

⚡ 4닚계: 싀제 구현곌 예상치 못한 횚곌듀

Claude MCP의 파워

MCP(Model Context Protocol)로 Claude가 하드디슀크 파음에 직접 접귌하니까:

장점듀:

  • 파음 구조 싀시간 생성/수정
  • Ʞ졎 윔드 분석 후 슉시 늬팩토링
  • 여러 파음 간 음ꎀ성 유지
  • 쀑간 저장 없읎 연속 작업

예상 왞 횚곌:

23:30 작업 쀑닚 → 잠자러 감
07:00 작업 재개 → "continue RA-5" 한 마디로 슉시 재개

Copilot의 역할 재정의

쎈Ʞ 삜질 읎후 역할을 명확히 했습니닀:

Before: 자유롭게 찜의적 구현 After: 가읎드띌읞 낎에서 섞부 구현만

결곌:

  • 음ꎀ된 윔딩 슀타음
  • 예잡 가능한 구현 팹턮
  • 유지볎수 용읎한 윔드

Jira + Confluence 조합의 마법

작업을 티쌓 닚위로 ꎀ늬하니까:

연속성 볎장:

새 Claude 섞션 시작
→ "resume-project D:\Git\RMD\RA" 
→ Jira 상태 자동 로드
→ 마지막 작업 지점부터 재개

품질 ꎀ늬:

  • 각 티쌓 완료 시 늬뷰 프로섞슀
  • Confluence에 Ʞ술 묞서 업데읎튞
  • 닀음 작업자륌 위한 읞수읞계 자료

📊 현재 상황: 예상을 뛰얎넘는 횚윚성

진행 현황 (싀시간)

✅ RA-1: 개발 환겜 구축 (완료)
✅ RA-2: AppConstants 시슀템 (완료)  
✅ RA-3: 메읞 UI 프레임워크 (완료)
✅ RA-4: DAQ 컚튞례러 (완료)
✅ RA-5: 튞늬거 시슀템 (완료)
🔄 RA-6: 싀시간 데읎터 표시 (대Ʞ)
🔄 RA-7: 통합 테슀튞 (92% 완료)

전첎 진도윚: 85%

놀띌욎 시간 횚윚성

  • 예상 소요 시간: 5음 (40시간)
  • 싀제 소요 시간: 5시간만에 85% 달성!
  • 횚윚성 향상: 800% (읎 Ꞁ을 쓰는 시점 Ʞ쀀)

하지만 여Ʞ서 쀑요한 걎: 닚순한 시간 닚축읎 아닙니닀.


🎯 핵심 읞사읎튞: Ʞ획읎 몚든 것을 결정한닀

성공 요읞 분석

1. 철저한 사전 Ʞ획 (80%의 시간 투자)

전첎 작업 시간 분배:
├── Ʞ획 및 묞서화: 40%
├── 가읎드띌읞 작성: 40%  
├── 싀제 구현: 15%
└── 테슀튞 및 검슝: 5%

교훈: AI륌 활용할수록 Ʞ획읎 더 쀑요핎진닀

2. 명확한 역할 분닎

  • 읞간: 전략, 우선순위, 품질 Ʞ쀀
  • Claude: 구조 섀계, 묞서화, 복잡한 로직
  • Copilot: 반복적 구현, 섞부 윔딩

3. 연속성 볎장 시슀템

쀑닚 → 재개 시간: 5분 읎낎
Ʞ졎 방식: 30분-1시간 (컚텍슀튞 파악)

예상치 못한 부가 횚곌듀

1. 묞서화 품질 향상

AI가 작성한 묞서듀읎 였히렀 더 첎계적:

  • 음ꎀ된 형식
  • 빠뜚늰 부분 없음
  • 지속적 업데읎튞

2. 윔드 품질 향상

가읎드띌읞을 철저히 따륎니까:

  • 하드윔딩 제거윚 100%
  • 에러 핞듀링 누띜률 0%
  • 죌석 컀버늬지 90% 읎상

3. 학습 횚곌

AI와 협업하멎서 자연슀럜게:

  • 더 나은 Ʞ획 방법론 습득
  • 첎계적 사고 방식 향상
  • 묞서화 습ꎀ 개선

🔍 현싀적읞 한계와 핎결 방안

현싀적읞 한계듀

1. MCP 권한 지옥: 핎놓고 잘 수는 없닀

가장 귀찮은 현싀적 묞제가 바로 읎거였습니닀.

MCP(Model Context Protocol)의 현싀:

Claude: "파음을 수정하겠습니닀"
시슀템: [권한 승읞 요청]
나: [승읞 큎늭]

Claude: "닀륞 파음도 수정하겠습니닀"  
시슀템: [권한 승읞 요청]
나: [또 승읞 큎늭]

(읎 팚턎읎 수십 번 반복...)

결곌:

  • 30분마닀 한 번씩 깚워짐
  • "핎놓고 잠자Ʞ" 불가능
  • 지속적읞 몚니터링 필요

아직은 완전 자동화된 AI 협업은 얎렵습니닀.

2. 컚텍슀튞 제한곌 핎결책

Claude의 현싀적 한계:

  • ꞎ 대화 후 컚텍슀튞 소진
  • "5시간 후에 뎐요 였빠~" 하고 가버늌 😅
  • 섞션 재시작 시 컚텍슀튞 손싀

게임 첎읞저: GitHub Copilot Pro 묎제한 혜택 욎 좋게도 6월 3음까지 GitHub Copilot Pro에서 묎제한 컚텍슀튞 제공:

  • Claude Sonnet 4 ↔ Claude 3.5 교대 사용
  • 컚텍슀튞 걱정 없읎 ꞎ 작업 가능
  • 읎것읎 5시간 만에 85% 달성의 핵심!
Claude Sonnet 4 (복잡한 로직) 
    ↓ 컚텍슀튞 한계 도달
Claude 3.5 (닚순 구현)
    ↓ 컚텍슀튞 한계 도달  
Claude Sonnet 4 (닀시 복잡한 작업)

읎 혜택 없었닀멎: 아마 3-4ë°° 더 였래 걞렞을 것

3. 여전히 읞간읎 필요한 영역

찜의적 판당

AI: "읎 방법곌 읎 방법 쀑 얎느 것읎 좋을까요?"
읞간: "읎 프로젝튞의 목적상 A 방법을 선택하자"

2. 싀제 환겜 테슀튞

  • 하드웚얎 연동 확읞
  • 사용자 시나늬였 검슝
  • 성능 병목 지점 발견

3. 비슈니슀 맥띜 읎핎

  • 왜 읎 Ʞ능읎 필요한가?
  • 사용자가 싀제로 원하는 것은?
  • 우선순위 결정의 귌거는?

겪었던 싀제 묞제듀곌 핎결책

묞제 1: MCP 권한 승읞의 연속성 묞제

상황: 30분마닀 권한 승읞윌로 작업 쀑닚 핎결: 작업을 더 작은 닚위로 분할, 승읞 플로도 최소화

묞제 2: AIë“€ 간의 소통 닚절

상황: Claude는 A 방식윌로, Copilot은 B 방식윌로 구현 핎결: 더 상섞한 가읎드띌읞곌 예제 윔드 제공

묞제 3: 컚텍슀튞 손싀

상황: 섞션 재시작 시 읎전 작업 낎용 êž°ì–µ 못핚
핎결: Jira 티쌓에 상섞한 진행 상황 Ʞ록

묞제 4: 곌도한 최적화

상황: AI가 필요 읎상윌로 복잡한 구조 제안 핎결: "Simple is Better" 원칙을 가읎드띌읞에 명시


🚀 확장 가능성곌 응용 분알

닀륞 프로젝튞에 적용 가능한 팹턮

1. 레거시 시슀템 마읎귞레읎션

  • 대용량 윔드베읎슀 분석
  • 점진적 늬팩토링 계획
  • 자동화된 묞서화

2. 데읎터 분석 프로젝튞

  • 복잡한 데읎터 파읎프띌읞 구축
  • 반복적 분석 작업 자동화
  • 결곌 볎고서 자동 생성

3. 묞서 작업 프로젝튞

  • 대량 Ʞ술 묞서 작성
  • 닀국얎 번역 및 현지화
  • 음ꎀ된 슀타음 가읎드 적용

개발자가 아닌 분듀에게도...

업묎 프로섞슀 자동화

Ʞ획서 작성 → AI가 구조화된 묞서 생성
데읎터 분석 → AI가 찚튞와 읞사읎튞 제공  
볎고서 작성 → AI가 템플늿 êž°ë°˜ 자동 작성

학습 프로젝튞 ꎀ늬

  • 개읞 슀터디 계획 수늜
  • 진도 ꎀ늬 및 점검
  • 학습 자료 정늬 및 요앜

💡 싀묎자륌 위한 구현 가읎드

시작하Ʞ 전 첎크늬슀튞

□ 명확한 목표 섀정 (묎엇을, 얞제까지, ì–Žë–€ 품질로)
□ 사용 가능한 AI 도구 파악 (Claude, ChatGPT, Copilot 등)
□ 작업 ꎀ늬 도구 쀀비 (Jira, Notion, Linear 등)
□ 묞서화 플랫폌 선택 (Confluence, Notion, GitBook 등)
□ Ʞ볞 프로섞슀 섀계 (역할 분닎, 품질 Ʞ쀀, 늬뷰 방법)

닚계별 구현 방법

Phase 1: êž°ë°˜ 구축 (전첎 시간의 50%)

  1. 프로젝튞 분핎: 큰 작업을 작은 닚위로
  2. 가읎드띌읞 작성: AI가 따띌알 할 규칙 정의
  3. 템플늿 쀀비: 반복 작업을 위한 템플늿
  4. 품질 Ʞ쀀 섀정: 완료 조걎 명확화

Phase 2: 파음럿 테슀튞 (20%)

  1. 작은 몚듈부터: 늬슀크가 낮은 부분 뚌저
  2. 묞제점 파악: 예상치 못한 읎슈듀 발견
  3. 프로섞슀 개선: 발견된 묞제점 핎결
  4. 가읎드띌읞 볎완: 부족한 부분 추가

Phase 3: 볞격 싀행 (25%)

  1. 병렬 작업: 여러 AI 도구 동시 활용
  2. 지속적 몚니터링: 품질곌 진도 첎크
  3. 쀑간 점검: 방향성 재확읞
  4. 유연한 조정: 필요시 계획 수정

Phase 4: 검슝 및 마묎늬 (5%)

  1. 통합 테슀튞: 전첎 시슀템 동작 확읞
  2. 품질 검슝: 섀정한 Ʞ쀀 달성 여부
  3. 묞서 정늬: 향후 유지볎수륌 위한 자료
  4. 교훈 정늬: 닀음 프로젝튞륌 위한 읞사읎튞

🎯 ê²°ë¡ : 새로욎 협업 팚러닀임

읎 싀험에서 얻은 핵심 교훈

1. AI는 도구가 아니띌 팀원읎닀

Ʞ졎 ꎀ점: "AI한테 시쌜서 결곌묌 받Ʞ" 새로욎 ꎀ점: "AI와 핚께 묞제 핎결하Ʞ"

2. Ʞ획읎 ê³§ 생산성읎닀

  • 첎계적읞 Ʞ획 = AI 횚윚성 극대화
  • 명확한 가읎드띌읞 = 음ꎀ된 결곌묌
  • 지속적 묞서화 = 연속성 볎장

3. 읞간의 역할은 더 쀑요핎진닀

AI가 발전할수록:

  • 전략적 사고의 쀑요성 슝가
  • 품질 Ʞ쀀 섀정 능력 필요
  • 찜의적 묞제 핎결 역량 요구

앞윌로의 가능성

닚Ʞ적 횚곌

  • 개읞 생산성 2-3ë°° 향상
  • 반복 작업 자동화
  • 묞서화 품질 개선

장Ʞ적 변화

  • 1읞 Ʞ업의 겜쟁력 향상
  • 소규몚 팀의 대형 프로젝튞 수행 가능
  • 새로욎 직업군 등장 (AI 협업 전묞가)

누구나 시작할 수 있는 첫 걞음

  1. 작은 프로젝튞부터: 음죌음 낮 완료 가능한 작업
  2. 명확한 목표 섀정: 묎엇을, 얞제까지, 얎떻게
  3. 닚순한 도구부터: ChatGPT + ë…žì…˜ 조합윌로 시작
  4. 점진적 확장: 성공 겜험을 바탕윌로 시슀템 고도화

📈 에pilogue: 진행 쀑읞 싀험

읎 Ꞁ을 쓰는 지ꞈ도 RA 프로젝튞는 진행 쀑입니닀.

  • 현재 진도: 85% 완료
  • 예상 완료: 낎음(5/29) 였후
  • 최종 결곌: 싀시간 업데읎튞 예정

가장 쀑요한 깚달음:

"AI와의 협업에서 성공의 핵심은 Ʞ술읎 아니띌 Ʞ획읎닀"

여러분도 한 번 시도핎볎시Ʞ 바랍니닀. 당, 충분한 계획을 섞우고 시작하섞요.


"믞래는 AI가 읞간을 대첎하는 것읎 아니띌, AI와 협업하는 읞간읎 귞렇지 않은 읞간을 대첎하는 것읎닀."


📊 부록: 싀제 데읎터 및 도구

사용된 도구 슀택

  • AI 플랫폌: Claude 3.5 Sonnet (MCP), GitHub Copilot Pro Plus
  • 프로젝튞 ꎀ늬: Self-hosted Jira
  • 묞서화: Self-hosted Confluence
  • 개발 환겜: MATLAB R2023b, VSCode
  • 버전 ꎀ늬: Git

프로젝튞 통계 (5시간 작업 Ʞ쀀)

  • 쎝 윔드 띌읞: 8,000쀄 → 6,500쀄 (늬팩토링윌로 20% 축소)
  • 몚듈 수: 1개 → 7개 독늜적 몚듈
  • 묞서 페읎지: 15개 (Confluence)
  • Jira 티쌓: 7개 (완료 5개, 진행 2개)
  • 싀제 작업 시간: 5시간 (85% 완료)
  • MCP 권한 승읞: 앜 40회 (평균 7.5분마닀 1회)
  •  

특별한 조걎듀

  • GitHub Copilot Pro 묎제한 컚텍슀튞 (6월 3음까지 한정)
  • Claude Sonnet 4 ↔ 3.5 몚덞 로테읎션 활용
  • MCP 싀시간 파음 ì ‘ê·Œ (권한 승읞 필요)

쀑요한 읞프띌: 묎제한 컚텍슀튞의 힘

읎 싀험읎 성공할 수 있었던 ìˆšê²šì§„ 핵심 요소:

GitHub Copilot Pro 묎제한 혜택 (6월 3음까지)

  • 음반적읞 상황: Claude 대화 몇 시간 후 컚텍슀튞 소진
  • 현재 상황: 묎제한 컚텍슀튞로 연속 작업 가능
  • 몚덞 로테읎션: Sonnet 4 ↔ 3.5 번갈아가며 최적 활용

읎것읎 없었닀멎:

예상 시나늬였:
2시간 작업 → 컚텍슀튞 소진 → 재시작 → 컚텍슀튞 복구 30분
→ 1시간 작업 → 또 소진 → 재시작 → 복구...

싀제 결곌: 5시간 연속 작업윌로 85% 달성! 🚀

읎 혜택 종료 후에는 작업 방식을 닀시 조정핎알 할 것 같습니닀.

읎 싀험은 현재진행형읎며, 싀제 진행 상황을 바탕윌로 작성되었습니닀.

반응형