Skip to main content

프롬프트 히스토리

Caret의 프롬프트 히스토리 시스템은 터미널(bash, zsh)을 사용할 때와 동일한 방식으로 이전 메시지를 탐색하고 재사용할 수 있게 해줍니다. 자주 사용하는 명령어나 프롬프트를 매번 다시 입력할 필요가 없어, 작업 효율이 크게 향상됩니다.

작동 방식

입력창에 포커스가 있을 때, 키보드의 위/아래 화살표 키를 사용하여 이전에 입력했던 메시지를 탐색할 수 있습니다.

기본 사용법

위쪽 화살표 (↑): 이전 메시지로 이동합니다. 계속 누르면 더 오래된 메시지로 거슬러 올라갑니다.

아래쪽 화살표 (↓): 다음 메시지로 이동합니다. 가장 최근 메시지를 지나 한 번 더 누르면 현재 입력 중이던 텍스트로 돌아갑니다.

실제 사용 예시

1. "프로젝트의 모든 TypeScript 파일을 보여줘" 입력 후 전송
2. "package.json 파일을 읽어줘" 입력 후 전송
3. "README.md에 사용법 추가해줘" 입력 후 전송

입력창에서:
↑ 한 번 → "README.md에 사용법 추가해줘" 나타남
↑ 한 번 더 → "package.json 파일을 읽어줘" 나타남
↑ 한 번 더 → "프로젝트의 모든 TypeScript 파일을 보여줘" 나타남
↓ 한 번 → "package.json 파일을 읽어줘"로 복귀

주요 기능

영구 저장

입력한 메시지는 자동으로 저장되며, VS Code를 종료하고 다시 시작해도 유지됩니다. 프로젝트를 닫았다가 다시 열어도 이전에 사용했던 프롬프트를 바로 불러올 수 있습니다.

이는 작업 공간(워크스페이스)별로 관리되므로, 프로젝트 A에서 사용한 히스토리와 프로젝트 B에서 사용한 히스토리가 별도로 저장됩니다.

중복 자동 제거

연속으로 동일한 메시지를 입력하면, 히스토리에 한 번만 저장됩니다. 예를 들어 "테스트 실행"을 세 번 연속 입력해도, 히스토리에는 하나만 기록되어 불필요한 중복을 방지합니다.

❌ 중복 저장되지 않음:
"npm run test" 입력
"npm run test" 또다시 입력 → 히스토리에 추가되지 않음

✅ 중복 저장됨:
"npm run test" 입력
"파일 목록 보여줘" 입력
"npm run test" 다시 입력 → 히스토리에 추가됨 (사이에 다른 명령 있음)

사용자 입력만 저장

히스토리에는 당신이 입력한 메시지만 저장됩니다. AI의 응답은 저장되지 않으므로, 화살표 키로 탐색할 때 본인이 입력했던 내용만 깔끔하게 볼 수 있습니다.

최대 1000개 항목

최대 1000개의 메시지 히스토리를 저장할 수 있습니다. 1000개를 초과하면 가장 오래된 항목부터 자동으로 삭제되어, 메모리를 효율적으로 관리합니다.

일반적인 사용 패턴으로는 1000개면 수개월간 사용할 수 있는 충분한 양입니다.

터미널과의 일관성

Caret의 프롬프트 히스토리는 bash나 zsh 같은 터미널 셸의 명령어 히스토리와 정확히 동일하게 작동합니다. 터미널에서 history 명령어를 사용하거나 위/아래 화살표로 이전 명령을 탐색하던 것과 같은 경험을 Caret에서도 그대로 얻을 수 있습니다.

이러한 일관성은 개발자들이 새로운 인터페이스를 학습할 필요 없이, 이미 익숙한 방식으로 바로 사용할 수 있게 해줍니다.

실전 활용 팁

반복 작업 자동화

동일하거나 비슷한 작업을 반복할 때, 히스토리 기능이 큰 도움이 됩니다.

작업 시나리오: 여러 파일에 동일한 패턴 적용

1. "UserController.ts의 모든 함수에 타입 주석 추가해줘" 입력
2. 작업 완료 후
3. ↑ 키로 이전 메시지 불러오기
4. "UserController"를 "ProductController"로 수정
5. 전송

이런 식으로 여러 파일에 빠르게 적용 가능

실험적 프롬프트 재사용

좋은 결과를 낸 프롬프트를 나중에 다시 사용하고 싶을 때, 히스토리에서 쉽게 찾을 수 있습니다.

2주 전에 사용한 효과적인 프롬프트:
"코드 리뷰해줘. 성능, 가독성, 보안 관점에서 분석하고
개선 제안을 우선순위와 함께 제시해줘"

다른 프로젝트에서 이 패턴을 재사용하고 싶을 때:
↑ 키를 눌러 탐색하거나, 비슷한 시기에 입력한 내용 찾기

프로젝트 재개 시

오랜만에 프로젝트를 다시 열었을 때, 히스토리를 보면 이전에 어떤 작업을 하고 있었는지 빠르게 파악할 수 있습니다.

프로젝트를 2주 만에 재개:
↑ 키로 최근 히스토리 확인
→ "인증 시스템에 JWT refresh token 추가"
→ "Redis 세션 저장소 구현"
→ 아, 인증 시스템 작업 중이었구나!

키보드 단축키 참고

동작
↑ (위쪽 화살표)이전 메시지로 이동
↓ (아래쪽 화살표)다음 메시지로 이동
Enter현재 표시된 메시지 전송
Esc히스토리 탐색 취소하고 현재 입력으로 복귀

Cline과의 차이

Cline에는 프롬프트 히스토리 기능이 없습니다. 이전에 입력한 메시지를 다시 사용하려면 매번 처음부터 다시 입력해야 합니다.

Caret의 히스토리 시스템은 이러한 불편함을 완전히 해소하여, 반복적인 입력 작업을 크게 줄여줍니다.

자주 묻는 질문

Q: 히스토리가 저장되는 위치는 어디인가요?

A: VS Code의 워크스페이스 저장소에 자동으로 저장됩니다. 별도로 파일을 관리할 필요가 없으며, VS Code가 자동으로 처리합니다.

Q: 히스토리를 삭제하거나 초기화할 수 있나요?

A: 현재는 자동으로 관리됩니다. 1000개 제한을 초과하면 오래된 항목이 자동 삭제되며, 워크스페이스를 삭제하면 히스토리도 함께 삭제됩니다.

Q: 다른 프로젝트 간에 히스토리를 공유할 수 있나요?

A: 히스토리는 워크스페이스별로 독립적으로 관리되므로, 프로젝트마다 별도의 히스토리를 가집니다. 이는 프로젝트별로 적합한 컨텍스트를 유지하는 데 도움이 됩니다.

Q: 민감한 정보(API 키 등)를 입력했는데 히스토리에 남나요?

A: 네, 입력한 모든 내용이 저장됩니다. 민감한 정보를 프롬프트에 직접 입력하는 것은 권장하지 않습니다. 대신 환경 변수나 설정 파일을 사용하세요.

Q: 멀티라인 입력도 히스토리에 저장되나요?

A: 네, 여러 줄로 입력한 메시지도 정확히 같은 형태로 저장됩니다. ↑ 키로 불러오면 줄바꿈까지 그대로 복원됩니다.


프롬프트 히스토리는 Caret만의 독점 기능입니다. 터미널에서 익숙한 위/아래 화살표 키 탐색을 AI 채팅에서도 그대로 사용할 수 있습니다.