[7팀 윤지훈] Chapter 1-2. AI와 테스트를 활용한 안정적인 기능 개발#86
Open
Jihoon-Yoon96 wants to merge 106 commits intohanghae-plus:mainfrom
Open
[7팀 윤지훈] Chapter 1-2. AI와 테스트를 활용한 안정적인 기능 개발#86Jihoon-Yoon96 wants to merge 106 commits intohanghae-plus:mainfrom
Jihoon-Yoon96 wants to merge 106 commits intohanghae-plus:mainfrom
Conversation
…단테(기능구현)이후 통테도 실행시킬 수 있도록 수정)
29 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
과제 체크포인트
필수 스펙
기본 과제
공통 제출
기본 과제(Easy)
기본 과제(Hard)
심화 과제
과제 셀프회고
1주차 과제는 어렵다 느껴졌지만 도전할수록 테스트 개념에 대한 확신이 점점 커졌다면,
2주차 과제는 감 잡았다! 싶은 순간마다 좌절감을 안겨주는 느낌이었다.
하지만, 퀄리티야 어찌됐든 완주를 해냈고 그 과정에서 4년간 경험해본적 없는 것들을 얻어갔다고 생각한다.
(내가 언제 또 TDD 싸이클을 이렇게나 많이 돌려볼까 + 나에게 AI를 가장 개발자 답게 사용하도록 알려주고 시키는 사람이 또 있을까)
먼저, 과제의 방향성 자체는 정말 잘 잡았다는 느낌이 든다.
여러 명(?)의 AI 에이전트들과 그들을 총괄하는 오케스트레이션을 구성해야 했는데,
비용적 부담을 줄이고 최소한의 AI 모델을 사용하기 위해서 하나의 AI모델에 여러 개의 역할군을 부여하는 방식으로 진행하면 된다고 판단했다.
(마치, 백종원은 한 명이지만, 사업하는 백종원 / 예능하는 백종원 / 육아하는 백종원 등 여러 역할이 있듯이..)
그리고 각각의 에이전트들은 각자의 규칙과 목표를 가지고 임무를 수행하며, 임무 수행이 완료된 시점에는 특정한 산출물을 생산해야하고,
다른 에이전트들이 그 산출물을 활용하여 본인의 업무를 수행하게 되는 구조를 만들어야 했다.
(필요하다면 특정 단계에서 활용될 규칙에 대한 문서를 따로 모아서 해당 단계에 에이전트가 참고하게 한다.)
이렇게 명확하게 나눠졌지만 '콘텍스트'로 연결된 에이전트들이 TDD전략을 사용하여 달력의 '반복 일정' 기능을 구현해내도록 이끄는 것이 주 방향성인 것 같다.
이렇게 방향이 잡혔을 무렵, 내가 세운 과제 전략은 아래와 같다.
이 것들과 함께 과제 결과물에 대해 신경쓴 부분도 많다.
--> 에이전트 명세 문서에서 좋은 output에 대한 양식을 작성 (평일 Q&A 참고함)
--> 여러 번의 기능 개발 + 최소한의 통합 과정 (에이전트가 생성한 PRD문서 내용을 기준으로, UI 통합이 필요한 시점에만 통합테스트 진행)
--> TDD의 싸이클을 빠르게 자주 돌림으로써 얻는 코드의 견고함과 개발자의 성취감을 느껴보고자 함 (발제자료 참고)
--> 나 스스로가 오케스트레이션이 역할을 하여 각 워크플로우에서 나오는 산출물들이 어떤지 최대한 파악해보고자 함
지금 돌이켜 보면, 2번의 싸이클을 너무 자주 하기도 했고, PRD문서 상 UI 통합 구간이 생각보다 많이 등장하는 바람에 시간 부족 현상으로 이어졌다...
결국 마지막에 가서는 일관성도 틀어져버린 것 같고, 결과물도 초반에 비해 꼼꼼하게 살피질 못햇지만,
TDD 전략이 어떤 흐름/패턴으로 진행되고, 또 왜 켄트백 아저씨가 AI를 활용한 TDD 전략은 최고다 라고 평가한 이유를 좀 느끼게 되었다.
(잦은 싸이클 때문에 AI가 없었다면 과제의 1/4도 제출하지 못했을 것이다..)
+ 깜빡하고 못적은 사항들
용두사미처럼 끝나버린 2주차 과제이지만, 지금 이렇게 글을 쓰며 생각을 정리하다보니 "회사에선 쉽게 해볼 수 없는" 값진 경험을 해봄을 느끼고 있다.
기술적 성장
AI관련 지식들
--> 에이전트들의 산출물 퀄리티를 올리기 위해 8학군 학부모에 빙의하여 좋다고 유명한 글들을 많이 보게 된 것 같다.
(프롬프팅 체이닝, CoT, 좋은 프롬프팅 기법, 에이전트 템플릿 양식 등등)
나만의 TDD 활용법
--> 위에서도 언급했듯이, TDD 전략을 최대한 활용해보고 싶었다.
그래서, 실제로 쓰이는 기법일수도 있겠지만 빠른 싸이클 회전을 위해 단위 테스트 중점적으로 진행하면서 빠른 기능 구현에 집중해보았고,
기능 통합 과정은 최소한으로 해보고자 했다. 마지막엔 기능 통합 과정이 좀 잦았지만, 오히려 그 덕에 "너무 잦은 기능 통합 과정은 사이드 이펙트 점검을 더 자주하게 만들어 개발 속도를 더디게 만듦"을 느낄 수 있었다.
코드 품질
처음이라 미숙했던 것인지 내가 중간중간 코드도 고치고, 명세서 내용도 수정하는 과정이 잦았던 것 같다. (나중가서는 시간이 부족해 웬만한건 넘어갔..)
학습 효과 분석
내가 오케스트레이션의 역할을 수행하면서 "결국엔 내가 잘 이해하고 잘 판단할 수 있어야" 최적의 결과물을 낼 수 있음을 느꼈다.
과제 피드백
리뷰 받고 싶은 내용
궁금한 사항