휴대폰에서 에이전트의 진행 상황과 품질 검토하기
AI 코딩 에이전트가 실제로 무엇을 했는지 확인하고, 작업의 패턴을 발견하고, 여러 세션에 걸쳐 실수가 쌓이기 전에 잡아내는 방법.
- CLI
- 0.2.17
- 프리뷰 ref
- a2c45c8
여러 AI 에이전트를 병렬로 돌리면 한 가지 패턴이 나타납니다. 권한은 승인되고 에이전트는 계속 일하지만, 실제로 무엇을 했는지는 한참 뒤까지 아무도 체계적으로 검토하지 않습니다.
diff를 볼 때쯤에는 패턴이 생겨 있습니다.
- 한 에이전트는 원치 않는 디버그 출력을 추가하고 있었고
- 다른 에이전트는 관련 없는 파일을 계속 다시 포맷하고 있었고
- 세 번째는 진행은 했지만 더 일찍 방향을 잡았어야 할 쪽으로 가고 있었습니다
도움이 되는 건 이런 패턴이 세션 전반으로 퍼지기 전에 잡아내는 모바일 중심 검토 워크플로입니다.
요약
- 중요한 턴이 끝난 뒤나 자연스러운 휴식 지점에서 에이전트가 무엇을 바꿨는지 검토
- 휴대폰에서 Happier의 diff 검토 사용(SSH 불필요)
- 패턴 확인: 포맷 변경, 범위 확장, 디버그 잔재
- 몇 시간 뒤가 아니라 맥락이 생생할 때 실수 잡기
- 에이전트가 여럿일 때: 매일 모든 세션을 검토해 세션 간 패턴 발견
문제
AI 에이전트는 빠르게 일합니다. 그게 핵심입니다.
하지만 빠르다는 건:
- 변경이 빠르게 쌓임
- 전체 diff가 아니라 설명을 보고 권한을 승인함
- git diff를 볼 때쯤엔 수십 개 파일이 바뀌어 있음
- "에이전트가 엇나가고 있다"는 걸 너무 늦게 알아챔
비싼 실패는 나쁜 변경 하나가 아닙니다.
- 에이전트에게 패턴이 생김(과도한 주석, 불필요한 리팩터링)
- 3시간 동안 알아채지 못함
- 이제 그 패턴이 세션 4개의 파일 6개에 있음
- 되돌리려면 맥락을 다시 설명해야 함
일반적인 방법과 트레이드오프
- 하루 끝에 검토: 너무 늦습니다. 패턴이 이미 퍼졌습니다.
- SSH로 git diff 실행: 되지만 모바일에서는 번거롭습니다. 서두르다 놓치기 쉽습니다.
- GitHub PR diff: 최종 검토엔 좋지만 커밋 전에 확인하고 싶습니다.
- 에이전트를 믿기: 빠르지만 위험합니다. 품질은 작업 복잡도에 따라 다릅니다.
Happier의 모바일 diff 검토가 이를 해결합니다.
- SSH 없이 휴대폰에서 diff 보기
- 매 턴 후 또는 일정에 따라 검토
- 세션 맥락과 함께 보기
- 즉시 변경 요청 가능
Happier가 처음이라면
Happier는 Claude Code, Codex, OpenCode 같은 AI 코딩 에이전트를 위한 오픈 소스 컴패니언 앱입니다.
여기서의 워크플로: 에이전트는 내 머신에서 실행되고, Happier가 휴대폰에 무엇이 바뀌었는지 보여 주며, 문제가 쌓이기 전에 발견할 수 있습니다.
설정하기:
- 휴대폰에서 Happier 사용하는 방법
- GitHub: https://github.com/happier-dev/happier
- 설치/다운로드: https://github.com/happier-dev/happier#how-it-works
- Discord (커뮤니티 + 지원): https://discord.gg/W6Pb8KuHfg
단계별: 휴대폰에서 에이전트 변경 검토하기
1) 세션 열기
Happier 앱에서:
- 검토할 세션을 탭
- 현재 턴이 끝나길 기다림(또는 실행 중에 열기)
2) diff 검토 열기
diff/변경 진입점을 찾으세요.
- 세션 트랜스크립트에서 턴 요약에 변경 표시가 있을 수 있음
- 세션 정보/세부 사항에 파일 변경 수가 표시되는 경우가 많음
- 스와이프하거나 탭해서 diff 화면 열기
3) 변경된 파일 검토
diff 화면에는 다음이 표시됩니다.
- 어떤 파일이 바뀌었는지
- 줄 단위 추가와 삭제
- 구문 강조
- 파일 경로 맥락
모바일에서는:
- 파일을 하나씩 스크롤
- 위험이 큰 변경(핵심 로직, 설정 파일)에 집중
- 안전한 변경(테스트, 주석)은 훑어보기
4) 패턴 찾기
일찍 잡아야 할 흔한 에이전트 패턴:
디버그 잔재:
# Added debug print the agent forgot to remove
print(f"DEBUG: user_id={user_id}")포맷 변경:
- existing_function()
+ existing_function(
+ )로직은 바뀌지 않았는데 모든 줄이 수정된 것으로 보입니다.
범위 확장:
# You asked to fix auth.py
# Agent also reformatted database.py, models.py, utils.py과도한 주석:
# Initialize the variable
x = 0
# Increment the variable
x += 1불필요한 복잡성: 에이전트가 5줄을 과하게 설계된 20줄짜리 추상화로 바꿨습니다.
5) 발견한 것에 대응하기
변경이 괜찮아 보이면:
- 다음 세션이나 작업으로 이동
- 논리적인 멈춤 지점이면 커밋
문제를 발견하면:
- 에이전트에게 답장: "계속하기 전에 auth.py에서 디버그 출력을 지워"
- 또는: "database.py의 포맷 변경을 되돌려. 그 파일은 범위 밖이었어"
- 커밋하기 전에 에이전트가 고칠 수 있습니다
여러 병렬 에이전트를 위한 워크플로
에이전트 3~5개를 동시에 돌릴 때:
아침 확인
- 각 세션 열기
- 각 에이전트가 밤사이 한 일 검토
- 세션 간 패턴 발견
발견 예:
"세 에이전트 모두 타입 힌트를 일관성 없이 추가하고 있다. 둘은
typing.List, 하나는list. 기준을 정하자."
점심 검토
- 턴을 끝낸 세션 확인
- 그 diff 검토
- 다음 단계 승인 또는 수정 요청
하루 마무리 점검
- 모든 세션의 커밋되지 않은 변경 전부 검토
- 세션 간 패턴 찾기
- 깔끔한 작업은 커밋, 나머지는 고치거나 버리기
지켜볼 품질 패턴
파일 선택 정확도
에이전트가 예상한 파일을 건드렸나?
좋음:
- auth 수정을 요청함
- 수정된 파일:
auth.py,auth_test.py
위험 신호:
- auth 수정을 요청함
- 수정된 파일:
auth.py,database.py,utils.py,config.py,README.md
변경 단위
변경이 집중되어 있나, 퍼져 있나?
좋음:
- 50줄 함수 수정, 3줄 변경
위험 신호:
- 50줄 함수 수정, 45줄 변경(편집을 기대했는데 다시 쓴 것일 수 있음)
테스트 범위
에이전트가 테스트를 추가/업데이트했나?
좋음:
feature.py를 수정하고feature_test.py에 테스트 추가
위험 신호:
- 핵심 로직을 수정했는데 테스트 변경 없음
커밋 경계
이 작업을 깔끔하게 커밋할 수 있나?
좋음:
- 논리적 변경 하나, 커밋할 준비가 됨
위험 신호:
- 관련 없는 변경 세 개가 섞여 있음
- 디버그 코드가 아직 있음
- 주석 처리된 코드가 남아 있음
에이전트 드리프트 일찍 잡기
에이전트 드리프트: 작업에 대한 에이전트의 이해가 점점 바뀌는 것.
징후:
- 첫 번째 변경: 요청한 그대로
- 두 번째 변경: 여전히 관련 있지만 더 넓음
- 세 번째 변경: 요청하지 않은 인접 문제를 풀고 있음
일찍 잡으면:
매 턴 후에 검토합니다. 턴 2에서 드리프트가 보이면 바로 방향을 바꿉니다.
"CSV 내보내기는 좋아 보여. 하지만 가져오기 시스템 전체를 아직 리팩터링하지는 마. 먼저 내보내기를 테스트하자."
일찍 잡지 못하면:
마지막에 검토합니다. 이제 에이전트가 파일 12개에 걸쳐 가져오기를 리팩터링했고, 무엇을 남겨도 안전한지 풀어내야 합니다.
모바일 검토 팁
정보가 많은 파일에 집중
변경된 모든 파일을 줄 단위로 검토할 필요는 없습니다.
우선순위:
- 핵심 로직 파일(인증, 비즈니스 로직, API 핸들러)
- 설정 파일(모든 걸 깨뜨릴 수 있음)
- 테스트(올바른 걸 테스트하는지 확인)
- 문서(위험이 낮으니 나중에 검토)
변경 수로 분류
세션이 바꾼 것이:
- 파일 3개, 50줄: 지금 검토, 빠르게 훑기
- 파일 12개, 300줄: 지금 검토, 핵심 파일에 집중
- 파일 50개, 2000줄: 아마 포맷이나 리팩터링, 핵심 파일 5개만 샘플 확인
자연스러운 경계에서 검토
에이전트가 막힌 게 아니라면 턴 중간에 검토하지 마세요.
검토할 때:
- 에이전트가 턴을 끝내고 다음에 뭘 할지 물을 때
- 에이전트가 논리적인 단계를 마쳤을 때
- 다음 큰 권한을 승인하려 할 때
문제 해결
증상: 앱에서 diff가 보이지 않음
가능한 원인:
- Happier가 접근할 수 없는 머신에서 세션이 실행 중
- Git 리포지토리가 초기화되지 않음
- 이 세션 유형에서는 diff 화면을 쓸 수 없음
해결:
- 세션의 머신에 접근 가능한지 확인
- 세션이 git 리포지토리 안에 있는지 확인
- 세션 유형이 diff 검토를 지원하는지 확인
증상: 변경이 너무 많아 모바일에서 검토할 수 없음
가능한 원인:
- 에이전트가 대대적인 리팩터링이나 포맷 변경을 함
- 여러 턴이 합쳐짐
해결:
- 분류: 핵심 파일 먼저
- 전체 검토는 데스크톱으로 전환
- 또는: 에이전트에게 파일별 변경 요약 요청
증상: 에이전트가 같은 실수를 반복함
가능한 원인:
- 에이전트 지시에서 그 패턴을 명시적으로 다루지 않음
- 에이전트에게 프로젝트 스타일 가이드가 없음
해결:
- 스타일 규칙이 담긴
AGENTS.md만들기 또는 업데이트 - 명확히 말하기: "디버그 출력 추가하지 마", "범위 밖 파일은 포맷하지 마"
- 수정 후 다음 턴에서 에이전트가 이해했는지 확인
자주 묻는 질문
매 턴 검토해야 하나요?
아니요. 논리적인 경계에서 검토하세요.
- 하위 작업을 마친 뒤
- 커밋하기 전
- 여러 턴이 쌓였을 때
- 에이전트를 바꿀 때
탐색적 작업은 덜 자주, 프로덕션 코드는 더 자주 검토하세요.
몇 시간 뒤에 실수를 발견하면요?
에이전트에게 고쳐 달라고 하세요.
"auth.py 45번째 줄에 디버그 출력을 추가했네. 지우고 다른 것도 있는지 확인해."
또는 파일을 되돌리세요.
git checkout HEAD -- auth.py그런 다음 그 특정 변경만 다시 하라고 에이전트에게 요청하세요.
Happier 없이도 검토할 수 있나요?
네.
git diff
git status하지만 모바일에서는 SSH + git이 Happier UI보다 불편합니다.
모든 에이전트에서 되나요?
git 리포지토리에서 실행되는 에이전트라면 모두 됩니다.
- Claude Code
- Codex
- OpenCode
- 사용자 지정 에이전트
diff는 에이전트별 출력이 아니라 표준 git 출력입니다.
여러 에이전트의 작업은 어떻게 검토하나요?
휴대폰에서:
- Happier 열기
- 각 세션의 최근 변경 확인
- 충돌하는 패턴이나 겹치는 편집 찾기
또는 데스크톱에서:
git diff main
git log --oneline --graph