OpenAI가 2026년 4월 20일, macOS용 Codex 앱에 Chronicle이라는 새 기능을 추가했습니다. 이름 그대로 "연대기"처럼 사용자가 최근 무엇을 보고 있었는지를 기록해, 이후 프롬프트를 넣을 때 맥락을 스스로 채워 넣는 기능입니다. 개발자가 "이 오류 고쳐줘", "저 문서대로 리팩터링해줘"라고만 말해도 Codex가 "이게 뭘 가리키는지" 알아차리게 만드는 것이 목표입니다. 이번 글에서는 Chronicle의 동작 원리, 개발자에게 주는 영향, 주의할 프라이버시 이슈를 정리합니다.
1. Chronicle이 해결하려는 문제
AI 코딩 에이전트의 가장 큰 약점은 "지금 내가 뭘 하고 있는지"를 매번 다시 설명해야 한다는 것입니다. 스택 트레이스, 열려 있는 파일, 어떤 에디터를 쓰는지, 어떤 문서를 참고 중인지는 전부 사용자의 머릿속과 화면에만 있습니다. 기존 Codex는 이런 맥락이 없어, 프롬프트를 길게 써야 했고 그래도 빗나가는 경우가 많았습니다.
Chronicle은 백그라운드 에이전트가 화면을 주기적으로 캡처해 요약 메모리를 만듭니다. 그리고 사용자가 Codex에 무언가를 물어볼 때, 이 메모리를 컨텍스트로 미리 주입합니다. 결과적으로 "이 에러 고쳐줘"라고만 해도 Codex는 어느 터미널의 어떤 스택 트레이스를 가리키는지 추정할 수 있게 됩니다.
2. 동작 방식 한눈에 보기
[차트 삽입 위치: Chronicle 데이터 흐름 다이어그램 — 화면 캡처 → 백그라운드 에이전트 → 로컬 메모리 → Codex 응답]
흐름은 단순합니다. macOS의 화면 기록(Screen Recording)과 접근성(Accessibility) 권한을 승인하면, 메뉴바의 Codex 앱이 주기적으로 스크린샷을 찍습니다. 백그라운드 에이전트가 이 캡처를 요약해 로컬에 Markdown 형식의 메모리로 저장합니다. 원본 스크린샷 자체는 오래 보관되지 않고 상대적으로 짧은 시간 안에 휘발됩니다. 사용자가 Codex에 프롬프트를 넣으면, 저장된 메모리가 모델의 컨텍스트에 합쳐져 응답이 생성됩니다.
3. 📊 이전 Codex vs Chronicle 비교
| 항목 | 이전 Codex | Codex + Chronicle |
|---|---|---|
| 작업 맥락 제공 | 사용자가 프롬프트에 수동 입력 | 최근 화면에서 자동 추출 |
| 참조 대상 인식 | "this error" 같은 지시사에 취약 | 열려 있던 창/로그/문서 자동 연결 |
| 메모리 저장 위치 | 서버 측 세션 메모리 위주 | 로컬 Markdown 요약 파일 |
| 플랫폼 | 웹, macOS, CLI 등 | macOS 앱 전용(현재 프리뷰) |
| 권한 요구 | API 키 수준 | 화면 기록 + 접근성 |
| 사용 대상 | 전 플랜 | ChatGPT Pro 대상 프리뷰 |
| Rate Limit 영향 | 프롬프트 크기 기반 | 백그라운드 요약으로 빠르게 소진 |
눈여겨볼 대목은 메모리가 로컬 파일 시스템의 Markdown으로 저장된다는 점입니다. 사용자가 직접 열어보고, 수정하고, 필요하면 삭제할 수 있습니다. 다만 OpenAI는 "다른 앱이 이 파일에 접근할 수 있다"는 점을 명시적으로 경고합니다. 메모리가 "로컬에 있으니 안전"이라는 착각은 위험합니다.
4. 💻 코드 예시: 메모리와 함께 쓰는 Codex 프롬프트
Chronicle이 활성화된 상태에서 Codex에 보내는 프롬프트는 훨씬 짧아져도 됩니다. 아래는 두 가지 시나리오를 나란히 비교한 예시입니다.
# Before (Chronicle 없이)
현재 디렉터리 ~/work/api-server에서 `pytest`를 돌렸을 때
test_auth.py::test_login_expired가 다음과 같이 실패합니다.
AssertionError: expected 401 but got 200
핵심 원인을 짚고, auth/middleware.py의 토큰 만료 체크 로직을 고쳐주세요.
# After (Chronicle 켠 상태)
방금 본 pytest 실패 원인을 짚고, auth/middleware.py를 고쳐줘.
두 번째 프롬프트는 훨씬 짧지만, 앞서 터미널에 표시된 스택 트레이스와 실패 테스트 이름이 Chronicle 메모리에 이미 들어 있기 때문에 Codex가 같은 수준의 응답을 낼 수 있습니다. 다만 "방금 본"이라는 표현은 Chronicle이 제공하는 최근 화면 요약을 가리키므로, 팀 공유 프롬프트로 재활용하면 오작동의 원인이 됩니다.
# 메뉴바 아이콘에서 일시 정지/재개할 때 사용하는 흐름
# Codex 메뉴바 아이콘 → Pause Chronicle
# 필요 시 다시 → Resume Chronicle
# 권한 확인(macOS)
# 시스템 설정 → 개인정보 보호 및 보안 → 화면 기록 : Codex
# 시스템 설정 → 개인정보 보호 및 보안 → 접근성 : Codex
5. 개발자 관점 심층 분석
Chronicle은 코딩 에이전트가 IDE 플러그인을 넘어 데스크톱 레벨의 맥락을 가지는 첫 상용 기능에 가깝습니다. 이게 의미하는 바는 세 가지입니다.
첫째, 프롬프트 길이 전쟁의 종말입니다. 지금까지 "컨텍스트를 얼마나 잘 주입하느냐"가 품질의 대부분을 좌우했습니다. Chronicle은 맥락 주입을 사용자에서 OS 레벨로 이전시킵니다. 잘 짜인 프롬프트 템플릿보다 잘 짜인 워크플로가 더 중요해질 수 있습니다.
둘째, 에이전트 보안 모델의 재설계가 필요합니다. 스크린샷은 소스 코드, 슬랙 메시지, 비밀번호 창, 고객 데이터까지 포함할 수 있는 "강한 권한"입니다. 로컬에 저장된다고 해도, 해당 파일은 결국 다른 프로세스가 읽을 수 있고, 백업·동기화 경로를 타면 의도치 않게 유출될 수 있습니다. 회사 정책상 비밀번호 매니저·보안 경고창·VPN 프롬프트가 뜨는 동안은 Chronicle을 일시 정지하는 운영 가이드가 필요합니다.
셋째, 레이트 리미트 계산이 바뀝니다. OpenAI는 "Chronicle은 레이트 리미트를 빠르게 소진한다"고 명시했습니다. 화면 요약 자체가 모델 호출을 유발하기 때문입니다. Pro 요금제로도 하루 사용량 상한에 걸릴 수 있으니, 긴 회의나 유튜브 시청 같은 "코딩과 무관한 화면"에서는 Pause로 두는 편이 효율적입니다.
6. 실전 적용 가이드
도입은 단계적으로 권장합니다. 먼저 개인 사이드 프로젝트 터미널/에디터 위주로 Chronicle을 켜서, 얼마나 응답 품질이 올라가는지 하루만 체감해봅니다. 그다음 회사 리포지토리 작업에 쓰되, 브라우저 탭·사내 문서·슬랙 DM이 보이는 구간에서는 반드시 Pause해야 합니다. 마지막으로, 팀 단위로 도입한다면 "Chronicle 켜짐/꺼짐 규칙"을 사내 문서로 명문화하는 것이 좋습니다.
테스트 포인트로는 다음 세 가지를 권장합니다. ① 같은 에러를 "긴 프롬프트"와 "짧은 프롬프트"로 각각 줬을 때 응답 품질 차이. ② Chronicle이 메모리로 남기는 Markdown 파일을 직접 열어, 민감 정보가 포함되는지 한 주 동안 점검. ③ 로컬 레이트 리미트 대시보드에서 Codex 일일 사용량이 Chronicle 켠 전후로 얼마나 달라지는지 측정.
7. 마무리
Chronicle은 "AI가 당신의 화면을 본다"는 개념을 대중적으로 소비자용 제품에 탑재한 첫 사례에 속합니다. 생산성 관점에서는 분명 큰 도약이지만, 스크린 녹화 권한을 가진 상시 실행 에이전트라는 점에서 보안·프라이버시 설계가 함께 따라와야 합니다. EU·영국·스위스 등 일부 지역 제한과 Pro 전용 프리뷰라는 조건도 도입 전 반드시 확인해야 합니다. 다음 관전 포인트는, 경쟁사(Claude, Gemini, Cursor)가 유사한 "데스크톱 맥락 수집" 기능을 어떤 보안 모델로 내놓을지입니다. 이번 주 Codex 사용자를 대상으로 한 정성적 피드백이 향후 업계 디자인 패턴을 결정할 가능성이 높습니다.
출처
'AI News' 카테고리의 다른 글
| GPT Image 2: 개발자가 알아야 할 모든 것 (0) | 2026.04.23 |
|---|---|
| Claude Pro에서 Claude Code가 사라졌다 — 무슨 일이 벌어진 걸까 (0) | 2026.04.22 |
| Gemini 3.1 Flash TTS 출시: 오디오 태그로 "감정까지" 제어하는 새 TTS 시대 (1) | 2026.04.21 |
| OpenAI Agents SDK 대규모 업데이트 해부: 모델 네이티브 하네스·샌드박스·매니페스트까지 (0) | 2026.04.19 |
| vLLM v0.18 / v0.19 업데이트 해부: gRPC 서빙, 비동기 스케줄링, CVE-2026-0994까지 (1) | 2026.04.19 |