AI 코딩을 위한 음성 입력: 타이핑 없이 Cursor와 Claude Code에 음성 프롬프트
바이브 코딩은 변경 사항을 타이핑하는 대신 말로 설명할 수 있을 때 더 빨라져요. 실제 예시 여섯 개, 저희가 수렴한 프롬프트 패턴, 그리고 다국어 식별자를 다루는 법.
요약
Cursor에 음성으로 프롬프트를 넣는 방법, 혹은 모든 식별자를 일일이 받아쓰지 않고 Claude Code 받아쓰기를 제대로 하는 방법을 찾고 있다면 이게 실용 가이드예요. AI 코딩을 위한 음성 입력이 통하는 이유는 프롬프트가 대부분 산문이기 때문이에요: 컨텍스트, 의도, 제약, 테스트 기대치. Loqua는 여기에 멀티모달 화면 컨텍스트, 구조화된 프롬프트 포맷팅, 기술 어휘 처리, 그리고 문장 중간 영어+중국어 혼용을 더해줘요. 바이브 코딩 보이스 워크플로가 가장 큰 보상을 주는 곳: 긴 Cursor 프롬프트, Claude Code 디버깅, 리팩터 스펙, 테스트 설명. 짧은 "fix this" 프롬프트는 음성이 별로 빠르지 않은 경우가 많아요 — 진짜 이득은 빽빽한 지시에서 나와요.
Loqua는 맥용 컨텍스트 인식 음성 입력 도구로, 작가님이 작업 중인 환경을 보고 그에 맞게 출력을 잡아줘요. AI 코딩 측면에서는 Cursor의 chat panel, Claude Code의 터미널, ChatGPT의 프롬프트 박스를 감지해서 각 도구가 가장 잘 처리하는 구조로 프롬프트를 만들어줄 수 있다는 뜻이에요.
이건 생산성 listicle 같은 홍보가 아니에요. 저희도 매일 AI 코딩에 음성을 쓰고, 긴 지시에서는 프롬프트 작성 시간을 대략 절반으로 줄여요 — 이득이 가장 큰 지점이에요. 짧은 프롬프트("fix this")는 비등비등해요. 긴 구조화된 프롬프트(리팩터 스펙, 여러 파일 변경, 디버그 설명)가 음성이 값어치를 하는 곳이에요.
왜 음성이 AI 코딩과 잘 맞을까
AI 코딩 프롬프트의 형태는 코드의 형태와 달라요. 좋은 프롬프트에는 컨텍스트 블록(내가 어디 있는지, 뭘 보고 있는지, 방금 뭘 시도했는지), 지시 블록(뭘 원하는지), 제약(X는 바꾸지 마, Y는 유지해, Z 테스트를 통과해야 해)이 있어요. 그건 문법이 아니라 산문이에요 — 산문은 음성이 잘하는 영역이에요.
타이핑보다 생각이 빨라요 — 산문에서는 2배 정도 차이가 쉽게 나요. 병목은 사고 모델이 아니라 키 입력 비용이에요. LLM에게 복잡한 상황을 설명하는 프롬프트에서는 그 차이가 의미가 커요. Loqua는 기본 받아쓰기 위에 세 가지를 더해요: IDE 상태를 봐서 컨텍스트 블록이 알아서 써지고, 프롬프트를 구조적으로 포맷팅하고(system + user, 또는 불릿 스텝 리스트), 식별자를 일일이 받아쓰지 않아도 기술 어휘를 처리해요.
AI 코딩을 위한 설정
이 섹션은 Loqua가 설치돼 있다고 가정해요(맥에서 코드 받아쓰기 설치 가이드 참고). AI 코딩에 특화된 설정은 Loqua에 Accessibility 권한을 주는 것뿐이에요 — 활성 앱의 선택 영역과 인접 텍스트를 읽을 수 있게 해줘요. macOS Accessibility는 developer.apple.com에 문서화돼 있어요. 스크린 리더와 자동화 도구가 쓰는 그 API예요.
들이면 좋은 세 가지 습관:
- 받아쓰기 전에 선택부터. 프롬프트가 특정 블록에 작용하길 원하면 먼저 선택하세요. Loqua가 선택을 컨텍스트로 넘겨요.
- chat panel을 인라인으로 열어두세요. Cursor에서 chat panel이 보이면 Loqua에게 "지금 편집이 아니라 프롬프트"라고 알려주는 거예요.
- 구조 구분을 위해 멈추세요. 반 초 정도의 멈춤이 프롬프트에서 단락 구분으로 읽혀요 — 컨텍스트와 지시를 분리할 때 유용해요.
잘 동작하는 프롬프트 구조
몇 달간 음성으로 프롬프트를 쓰면서, 가장 깔끔한 LLM 동작을 만들어내는 세 가지 구조로 수렴했어요. Loqua는 발화 시작을 어떻게 잡는지를 읽어서 출력을 그에 맞춰요.
| 먼저 이렇게 말하면 | 이런 출력 형태로 |
|---|---|
| "Refactor this so..." | Refactor: [목표]. Constraints: [선택에서 암시됨]. Output: [코드]. |
| "Debug this — when I X, Y happens but I expected Z" | steps, expected, actual이 있는 서술형 버그 리포트. |
| "Write a spec for..." | 구조화된 스펙: Goal / Inputs / Outputs / Edge cases / Tests. |
| "Add a test that..." | 테스트 설명 + 수용 기준. |
| "Explain why this code..." | 일반 산문, 기술적 톤. |
실제 예시 여섯 가지
AuthClient. Remove the legacy fallback path — confirmed unused elsewhere in the codebase. Preserve the public function signature.Steps:
1. POST /search with body
{ "query": "" }2. Server responds 500 (expected: 200 with empty array)
Hypothesis: the empty-string path skips the early-return and hits the indexer with an invalid query.
Fix: add an early return for empty queries.
**Goal:** users save a search query and reload it later.
**Inputs:** search query (string), user id, optional name (string, defaults to first N chars of query).
**Behavior:**
- Persist to user's saved-searches collection.
- Sync across devices via existing user-data sync.
- Queryable by name (case-insensitive substring match).
**Edge cases:** duplicate names → suffix with index; deleted user → cascade delete.
- Send 10 requests in a 60-second window — all succeed.
- 11th request should return 429.
- Response must include a
Retry-After header with seconds-remaining value.- Use existing test fixtures for time control.
userController.ts into three modules — authController, profileController, preferencesController. Keep the public API surface unchanged. Update the router to import from the new locations. No behavior changes; this is a structural refactor only.merge function. The test should snapshot the existing outputs so we can detect any drift introduced by the refactor.Loqua가 파일 컨텍스트를 보게 하기
선택 없이 "refactor this"라고 말하면 Loqua는 지시만 보내요. 텍스트를 선택해두면, 선택된 게 뭔지 설명하는 짧은 컨텍스트 블록 — 파일 이름, 줄 번호, 주변 식별자 — 을 지시 앞에 붙여요. 컨텍스트를 받아쓸 필요 없어요. 멀티모달 레이어가 알아서 읽어요.
이건 명시적인 컨텍스트의 덕을 보는 AI 도구들에 중요해요(특히 Claude Code는 파일 경로와 줄 번호의 덕을 많이 봐요). Loqua의 옴니모달 스택이 이걸 가능하게 해요 — 연구 수준의 직관이 궁금하면 보이스, 비전을 만나다: 옴니모달 받아쓰기에 더 깊이 들어가 있어요.
문장 중간 EN+中
저희 엔지니어링 팀 논의의 상당수가 영어 기술 용어가 섞인 만다린어로 이뤄져요. 이런 톤으로 AI 도구에 음성 프롬프트를 넣는 게 매일 하는 일이에요. Loqua는 모드 전환 없이 code-switching을 처리해요:
도구 간 재사용
같은 음성 표현을 서로 다른 AI 도구에 받아쓰면 도구에 맞게 다른 프롬프트가 나와요. 작가님이 다시 짤 필요 없어요 — Loqua가 알아서 해요:
| 도구 | Loqua가 만들어내는 프롬프트 형태 |
|---|---|
| Cursor (chat panel) | 암묵적 파일 컨텍스트가 들어간 대화형 지시 |
| Claude Code (터미널) | 명시적인 파일 경로와 간단한 계획이 들어간 구조화된 지시 |
| ChatGPT (웹) | 섹션이 있는 마크다운 형식 프롬프트 |
| Aider (터미널) | 타깃 경로가 명시된 직접적인 파일 편집 지시 |
음성으로 한 번만 말하면 — Loqua가 도착지마다 다시 잡아줘요.
주의할 점
- 코드를 글자 단위로 받아쓰지 마세요. 음성은 프롬프트의 산문 부분을 위한 거예요. 코드는 LLM이 만들게 두세요. 코드를 한 글자씩 받아쓰려 하면 본래 의미가 무너져요.
- 선택이 중요해요. 선택된 코드를 Loqua가 컨텍스트로 포함하길 원하면 받아쓰기 전에 선택하세요. 안 하면 지시만 전송돼요.
- 긴 멈춤은 받아쓰기를 끝내요. 1.5초 침묵이 발화 종료로 읽혀요. 문장 중간에 생각 중이라면 필러 단어를 쓰세요 — Loqua가 출력에서 필러는 걷어내지만, 녹음을 유지하는 데에는 활용해요.
- Cursor의 chat panel 상태가 중요해요. panel이 안 보이면 Loqua가 받아쓰기를 프롬프트가 아니라 코드 편집으로 다룰 수도 있어요. 먼저 열어두세요.
- 식별자를 그냥 받아쓰지 마세요. 흔치 않은 커스텀 라이브러리 이름이 있다면 Settings의 Personal Dictionary에 추가하거나 한 단어로 발음하세요.
전체적인 효과: 긴 지시에서 프롬프트 작성 시간이 대략 절반으로 줄고, 프롬프트 자체도 더 좋아져요 — 음성 형식이 변경 사항을 명명만 하는 게 아니라 의도를 설명하도록 유도하니까요. 그 부분이 순수 속도보다 더 중요해요. 더 넓은 보이스 AI 코딩 패턴 — Cursor 음성 프롬프트 흐름, Claude Code 받아쓰기, 긴 세션 동안 키보드에서 손을 떼는 법 — 에 관해서는 위에 링크된 동반 가이드들을 참고하세요.
왜 음성이 AI 작업과 잘 맞는지 더 긴 글로 보고 싶다면 AI와 함께 생각하기에 키보드가 잘못된 도구인 이유를 보세요.
자주 묻는 질문
오늘 Loqua를 써보세요
무료로 시작. 맥 네이티브. 매일 직접 쓰는 알고리즘 연구자들이 만들었어요.
맥용 다운로드