AI 때문에 내가 멍청하게 느껴져서 시스템 전반에 걸친 기술 사전을 만들었다

발행: (2026년 2월 22일 오후 02:16 GMT+9)
11 분 소요
원문: Dev.to

It looks like only the source citation was provided, but the article’s text itself isn’t included. Could you please paste the content you’d like translated? Once I have the full text, I’ll translate it into Korean while preserving the formatting and leaving the source line unchanged.

소개

몇 달 전, 나는 Claude에게 배포 파이프라인을 설정하는 데 도움을 달라고 요청했습니다. 그러자 nginx reverse proxy, Docker multi‑stage builds, health‑check endpoints, 그리고 graceful‑shutdown handlers가 포함된 완벽히 작동하는 설정을 제공해 주었습니다.

첫 시도부터 바로 작동했습니다.

그리고 나는 그 내용의 40 % 정도만 이해했습니다.

나는 그것을 수 있었습니다. 복사‑붙여넣기도 가능했고, 약간 수정하는 것도 가능했습니다. 하지만 누군가가 역방향 프록시가 실제로 무엇을 하는지, 혹은 Docker 빌드에 FROM 문이 여러 개 있는 이유를 물어본다면, 나는 대충 얽어매야 할 것입니다.

이것이 우리 많은 사람들에게 새로운 일상이 되었습니다. AI가 작동하는 코드를 작성하지만, 우리는 아직 완전히 내재화하지 못한 용어들을 사용합니다. “작동한다”와 “왜 그런지 이해한다” 사이의 격차는 점점 커지고 있습니다.

흐름 문제

명백한 답은 “그냥 찾아보는 것”이다. 하지만 실제로는 이렇게 진행된다:

  1. VS Code에서 AI가 만든 코드를 읽고 있다.
  2. 완전히 이해하지 못한 용어를 만난다.
  3. 브라우저를 열어 구글에 검색한다.
  4. 다른 상황을 가정한 Stack Overflow 답변을 얻는다.
  5. 세 단락을 읽고, 두 개의 탭을 더 연다.
  6. 자신이 하던 일을 잊어버린다.
  7. 반복한다.

또는 AI에게 설명을 요청하면 새로운 채팅 스레드가 열리고, 컨텍스트가 사라져 5초짜리 질문이 2분짜리 대화가 된다.

내가 원하는 것: 용어를 선택하고, 키를 눌러 답을 얻고, 계속 진행한다.

Source:

그래서 만들었습니다

Quill은 macOS 메뉴‑바 앱으로, 한 가지 일을 합니다:

  • 모든 앱에서 원하는 용어를 선택합니다.
  • Ctrl + Option + Q를 누릅니다.
  • 커서 근처에 떠 있는 패널이 나타나 설명을 보여줍니다.
  • 패널이 포커스를 빼앗지 않으므로 원래 사용 중이던 앱이 계속 활성 상태를 유지합니다.

이것이 핵심이지만, 몇 가지 추가 기능이 학습에 실제로 유용하도록 만들어 줍니다. (단순한 빠른 조회를 넘어서).

설명 수준

모두가 같은 깊이를 필요로 하는 것은 아닙니다. Quill은 한 번의 클릭으로 전환할 수 있는 5단계를 제공합니다:

단계제공 내용
ELI5간단한 단어와 비유. “WebSocket은 편지를 보내는 대신 전화 통화와 같습니다.”
ELI15실제 용어, 명확한 언어. 중급 학습자에게 적합.
Pro트레이드‑오프, 패턴, 언제 무엇을 사용할지, 엣지 케이스.
Samples2‑3개의 실용적인 코드 스니펫.
Resources다음에 공부할 내용, 공식 문서, 흔히 겪는 함정.

핵심 통찰: 보통은 ELI5부터 시작하고, 이해가 되면 더 깊이 파고 싶어합니다. 모든 수준을 한 번의 클릭으로 제공하면 자연스럽게 그렇게 할 수 있습니다.

Drill‑down: the rabbit‑hole feature

이것은 제가 가장 많이 사용하는 부분입니다. AI가 설명에서 관련 용어를 이중 대괄호로 표시하면, Quill이 이를 클릭 가능한 링크로 변환합니다.

  • WebSocket 설명 안에 있는 “TCP” 를 클릭 → TCP에 대한 설명을 확인합니다.
  • 그 안에 있는 “packet” 을 클릭 → 더 깊이 들어갑니다.

빵 부스러기(breadcrumb) 경로가 현재 위치를 추적합니다:

WebSocket > TCP > packet

빵 부스러기 중 하나를 클릭하면 다시 돌아갈 수 있습니다. 개인 위키피디아와 같은 역할을 하는데, 모든 문서는 사용자가 선택한 수준에 맞게 작성됩니다.

설명 중 어느 텍스트든 선택하고 다시 단축키를 누르면—대괄호 없이도—동작합니다. 탐색하고 싶은 용어가 보이나요? 해당 용어를 선택하고 단축키를 눌러 더 깊이 들어가세요.

아키텍처 (궁금한 분들을 위해)

Swift에서 헥사고날 아키텍처 (Ports & Adapters) 를 사용했습니다:

Domain/          — Models + Ports (AIServiceProtocol)
Infrastructure/ — AI backends, Accessibility API, Keychain
Presentation/   — FloatingPanel, Settings, MenuBar

흥미로울 수 있는 몇 가지 기술적 결정

  • 비활성화 NSPanel.
    플로팅 패널은 .nonActivatingPanel 옵션을 가진 NSPanel을 사용합니다. 이것이 핵심 트릭인데, 창이 활성화(포커스를 얻)하면 원본 앱이 포커스를 잃고 Accessibility API가 텍스트를 교체할 수 없게 됩니다. 대부분의 macOS 플로팅‑윈도우 튜토리얼은 이 점을 놓칩니다.

  • Accessibility API, 샌드박스 없음.
    앱은 AXUIElement를 통해 선택된 텍스트를 읽어옵니다. 이는 Accessibility 권한이 필요하므로 앱을 샌드박스할 수 없으며, 따라서 App Store 배포가 불가능합니다. 시스템 전역 기능을 위해서는 감수할 만한 트레이드‑오프입니다.

  • 프로토콜 기반 AI 백엔드.
    AIServiceProtocol이 포트를 정의합니다. Gemini, Claude API, Claude CLI가 어댑터 역할을 합니다. 새로운 백엔드(Ollama, 로컬 LLM 등)를 추가하려면 해당 프로토콜만 구현하면 됩니다. 도메인 레이어는 어떤 백엔드가 활성화됐는지 알 필요가 없습니다.

  • 다계층 JSON 파싱.
    AI 응답이 항상 올바른 JSON 형식은 아닙니다. 파서 체인은 Codable → 일반적인 문제 정제 → JSONSerialization → 정규식 추출 → 원시 텍스트 폴백 순으로 진행됩니다. 중괄호 매칭 깊이 추적기를 사용해 잘린 응답을 단순히 lastIndex(of: "}") 로 찾는 방식보다 더 정확하게 처리합니다.

  • stdin을 통한 프롬프트.
    Claude CLI 어댑터는 프롬프트를 stdin으로 전달해 ps 출력에 나타나지 않게 합니다. 사소한 부분이지만 보안 측면에서 중요합니다.

전체 코드는 약 3 000줄의 Swift와 세 개의 의존성으로 구성됩니다. Xcode 프로젝트가 필요 없으며 swift build만으로 빌드가 가능합니다.

Source:

무료이며 오픈 소스입니다

Quill은 MIT 라이선스를 따릅니다. 기본적으로 Google Gemini의 무료 티어를 사용하므로 비용을 지불하지 않고 바로 사용할 수 있습니다. 원한다면 Claude도 지원됩니다.

기여 방법

  • 새 AI 백엔드 — Ollama, 로컬 LLM, 기타 제공자 (단 AIServiceProtocol만 구현하면 됩니다).
  • UI/UX — 플로팅‑패널 디자인, 마크다운 렌더링, 접근성 개선.
  • 현지화 — 설명은 시스템 언어에 맞게 조정되지만 UI는 영어‑전용입니다.
  • 테스트 — 육각형 아키텍처 덕분에 단위 테스트가 깔끔하지만 커버리지는 아직 부족합니다.

The bigger point

우리는 AI가 생산성을 높여주지만 잠재적으로 지식은 줄어드는 이상한 시대에 살고 있습니다. 코드는 동작하지만 왜 그런지는 항상 이해하지 못합니다.

AI 사용을 중단하는 것이 답이라고 생각하지 않습니다. 답은 “작동한다”와 “이해한다” 사이에 더 좋은 다리를 놓는 것입니다. Quill은 그 작은 다리 하나를 만들려는 시도입니다.

AI가 생성한 코드를 절반도 이해하지 못하면서도 고개를 끄덕인 적이 있다면… Quill을 사용해 보세요.

It — give it a try. And if you have ideas for making it better, PRs are open.
0 조회
Back to Blog

관련 글

더 보기 »