AI가 쓴 함수는 그럴듯하지만 기본값을 반환하는 조건이나 실패 동작까지 설명하기는 어려울 수 있습니다. Yenpo에서 코드를 선택해 원하는 모델에 질문한 뒤 각 판단을 소스와 대조해 보세요.

Yenpo, 로컬 프로젝트, 지원 API를 제공하는 모델 서비스가 필요합니다. 코드를 작성한 모델과 다른 모델을 써도 됩니다.

1. 사용할 모델 연결하기

설정의 “모델”에서 더하기 버튼으로 제공업체를 추가하고 “현재 제공업체”로 선택합니다. API 유형, “기본 URL”, “로그인 방식”, 실제 사용할 수 있는 모델 ID를 입력합니다.

API 종류는 “OpenAI Compatible”(OpenAI Chat Completions), “OpenAI Responses”, “Anthropic Messages” 세 가지입니다. 모델 이름만 보고 추측하지 말고 서비스의 프로토콜에 맞추세요. “목록 가져오기”는 선택 사항입니다. 목록을 제공하지 않으면 ID를 직접 입력할 수 있습니다.

API 키는 설정에만 넣고, 해당 서비스로 보내도 되는 코드로 먼저 시작합니다. AI Reader가 선택 범위 밖에서 찾은 관련 코드도 요청에 포함될 수 있습니다. 데이터와 권한, URL 경로와 연결 오류는 모델 연결 안내를 확인하세요.

2. 설명할 코드 첨부하기

파일에서 함수나 작은 블록을 선택합니다. 새 AI Reader 대화를 열고 “선택 영역 설명”를 선택한 뒤 첨부 파일과 줄 범위를 확인합니다. 준비된 질문을 고쳐 보내고 “편집 허용”는 꺼 둡니다.

확인할 수 있는 내용을 요청합니다.

선택한 코드를 실행 순서대로 설명해 주세요. 각 분기에 도달하는 입력이나 상태, 반환값, 부수 효과를 적고 판단마다 정확한 소스 줄을 참조해 주세요. 필요하면 호출자나 테스트를 읽고 코드에 드러난 사실과 실행 시 입력에 대한 가정을 구분해 주세요. 파일은 수정하지 마세요.

선택 범위는 출발점입니다. 이전 변경을 이해하려면 해당 Git 비교를 열어 질문하세요. 현재 파일이 과거 버전과 같다고 가정하면 안 됩니다.

3. 소스 참조 하나씩 확인하기

답변의 참조를 누르면 “빠른 보기”에 해당 줄이 열립니다. 주변 조건이나 호출자가 필요하면 “파일 열기”를 사용합니다.

  1. 경로, 줄 범위, 코드 버전을 확인합니다.
  2. 참조된 연산 앞의 조건을 읽습니다.
  3. 사용자에게 보이는 결과를 설명한다면 값이 호출자에게 전달되는 과정도 추적합니다.
  4. 코드나 실행 정보가 부족한 판단은 미확인으로 남깁니다.

“이 결과가 항상 최종 결과가 된다”는 설명을 받아들이려면 참조된 대입에 도달하는 경로와 이후 다른 쓰기가 있는지 확인하세요.

4. 작은 예제를 줄별로 확인하기

AI가 학습용 프로젝트에 다음 JavaScript 함수를 썼다고 가정해 봅시다.

function displayName(user) {
  if (!user) return 'Guest';
  const name = user.name?.trim();
  return name || 'Guest';
}

아래 줄 번호는 코드 블록의 첫 줄부터 셉니다. 실제 프로젝트에서는 파일의 줄 번호를 사용하세요.

확인할 설명 위치 코드가 뒷받침하는 내용
사용자가 없으면 기본값 반환 2줄 null, undefined 같은 falsy 값이면 이름 접근 전에 "Guest" 반환
공백만 있는 이름은 기본값 사용 3–4줄 trim 결과가 ""이 되어 기본값 반환
잘못된 입력은 모두 안전 3줄 이름이 42 같은 비문자열이면 trim이 없어 TypeError 발생

마지막 설명은 고쳐야 합니다. 이 선택적 체이닝은 이름의 null과 undefined를 처리하지만 모든 타입을 검증하지는 않습니다. 숫자가 함수까지 들어올 수 있는지 호출자나 입력 검증을 읽어 보세요.

5. 약한 결론에 다시 질문하고 검사하기

설명이 범위를 과장했다면 이렇게 질문합니다.

“잘못된 입력은 모두 안전하다”는 설명을 재검토해 주세요. 이름이 숫자라면 어떻게 되나요? 실패할 연산을 참조하고, 호출자나 검증기가 이 입력을 차단하는지 찾아 주세요. 확인할 수 없다면 미해결로 남겨 주세요.

사용자 없음, 공백만 있는 이름, 앞뒤에 공백이 있는 일반 이름, 숫자 이름을 각각 확인합니다. 프로젝트 테스트 러너로 가장 작은 관련 테스트를 실행하고 결과를 읽으세요.

참조 확인 중에는 파일을 유지하세요. 바뀌었다면 최신 코드를 다시 선택해 질문하여 오래된 설명을 새 줄 번호에 맞추지 않도록 합니다.

6. 이해한 내용 기록하기

입력 전제, 분기 동작, 확인한 소스 위치, 실행한 테스트를 짧게 남깁니다. 입력 검증이 어디 있는지 같은 미해결 질문도 기록하면 다음 검토에 도움이 됩니다.

Claude Code의 변경이나 Codex 브랜치를 검토할 때 자세히 읽어야 할 블록에도 같은 방법을 사용할 수 있습니다.