AI 엔진: 단순한 번역이 아닙니다
왜 DevLingo는 사전 API를 직접 사용하지 않을까요? 단순한 API 조회는 정적이고 컨텍스트 없는 정보를 반환합니다. DevLingo의 AI 엔진은 사전이 할 수 없는 세 가지를 합니다.
1. 컨텍스트 이해
섹션 제목: “1. 컨텍스트 이해”사전은 “deploy”를 “배포”라고만 알려줍니다. 하지만 개발자는 다음을 알아야 합니다:
| 상황 | 의미 | 예문 |
|---|---|---|
| 앱 배포 | 프로덕션에 릴리스 | ”We deployed the new version to production.” |
| 리소스 배치 | 리소스 할당/활성화 | ”Deploy additional servers to handle traffic.” |
| 전술 (군사 용어) | 전개, 배치 | ”The team is deployed across different time zones.” |
DevLingo AI는 당신이 Xcode에서 코드를 읽고 있다는 것을 알기 때문에 첫 번째 의미를 강조합니다. HR 소프트웨어에서 “deploy”를 보면 세 번째 의미가 더 관련될 수 있습니다.
{ "sourceApp": "com.apple.dt.Xcode" }→ AI가 응답 스타일 조정: 기술 중심, 코드 관련 예문 우선
{ "sourceApp": "com.tinyspeck.slackmacgap" }→ AI가 응답 스타일 조정: 팀 커뮤니케이션, 더 구어체:::tip 앱 인식 DevLingo는 NSWorkspace를 통해 현재 활성 앱의 Bundle Identifier를 가져와 Claude에 전달합니다. AI는 이에 따라 응답을 조정합니다. :::
2. 구조화된 출력
섹션 제목: “2. 구조화된 출력”사전은 텍스트 블록을 반환합니다. DevLingo AI는 구조화된 JSON을 반환합니다:
Word 모드
섹션 제목: “Word 모드”{ "word": "idempotent", "ipa": "/ɪˈdɛmpətənt/", "pos": "adjective", "definition_en": "Describing an operation that, when applied multiple times, produces the same result as when applied once.", "meaning_ko": "멱등의; 여러 번 적용해도 한 번 적용한 것과 결과가 같은", "examples": [ { "en": "Ensure your API endpoints are idempotent to handle retry requests safely.", "ko": "재시도 요청을 안전하게 처리하려면 API 엔드포인트가 멱등하도록 보장하세요.", "context": "API design" }, { "en": "This function's idempotent nature makes it safe to call multiple times.", "ko": "이 함수의 멱등 특성 덕분에 여러 번 호출해도 안전합니다.", "context": "Function design" } ], "synonyms": [ { "word": "repeatable", "difference": "더 일반적; 반복 가능한 모든 작업을 의미합니다. 'idempotent'는 더 전문적이고 정확합니다." } ], "collocations": [ "idempotent operation", "idempotent function", "idempotent API" ], "grammar_notes": "형용사, 불가산. 기술 문서에서 관형어 또는 보어로 자주 사용됩니다.", "l1_tips": { "ko": "한국어에는 대응하는 일상 어휘가 없습니다. 'idempotent'는 수학/프로그래밍 용어로 '멱등'에 대응하지만, 기술 토론에서는 영어를 직접 사용하는 것이 더 일반적입니다." }, "tech_pronunciation": { "ipa": "/ɪˈdɛmpətənt/", "common_mispronounce": "i-DEM-po-tent (오류; 강세는 DEM에 있어야 함)", "correct_stress": "i-**DEM**-pu-tunt", "etymology": "수학 용어에서 유래, 라틴어 'idem'(같은)과 'potent'(강력한)에서 파생" }}각 필드는 UI에서 다른 카드 영역에 대응합니다. 텍스트 덩어리가 아니라 정성스럽게 구성된 학습 자료입니다.
Phrase 모드
섹션 제목: “Phrase 모드”{ "phrase": "rubber ducking", "type": "compound (noun phrase)", "register": "informal / tech culture", "definition_en": "A debugging method where you explain your code to a rubber duck (or any object), often revealing bugs through the act of articulation.", "meaning_ko": "고무 오리(또는 아무 물건)에게 코드를 설명하면서 디버깅하는 방법으로, 설명하는 과정에서 종종 버그를 발견하게 됩니다.", "stress_pattern": "RUB-ber DUCK-ing", "usage_patterns": [ { "pattern": "[Subject] [is/uses] rubber ducking", "example": "I've been rubber ducking this problem for 10 minutes and just found the issue.", "ko": "10분 동안 rubber ducking을 했더니 문제를 찾았습니다." }, { "pattern": "[Let's] do some rubber ducking [on X]", "example": "Let's do some rubber ducking on this algorithm.", "ko": "이 알고리즘에 대해 rubber ducking을 해봅시다." } ], "alternatives": [ { "phrase": "debugging by explanation", "note": "더 정식적인 표현; 'rubber ducking'만큼 문화적 특색이 없음" }, { "phrase": "talk it out", "note": "더 구어체; 디버깅 방법을 특정하지 않음" } ]}3. 개발자 강화
섹션 제목: “3. 개발자 강화”기술 용어 인식
섹션 제목: “기술 용어 인식”입력이 개발 용어인 경우 AI가 추가 정보를 제공합니다:
단어: latency표준 출력: definition, examples, pronunciation...
추가 출력 (기술 용어 전용):• 관련 측정 단위: 밀리초(ms) / 마이크로초(μs)• 대응 개념: throughput, bandwidth• 실전 시나리오: "P99 latency < 100ms"가 무슨 의미인지• 업계 기준: 일반 네트워크 지연 50ms, 나쁜 것은 500ms+시나리오 기반 예문
섹션 제목: “시나리오 기반 예문”“고양이가 매트 위에 앉아 있다” 같은 예문이 아니라:
단어: concurrent예문 (실제 개발에서):1. "This function is not concurrent-safe; you need to add locking." → 코드 리뷰 시나리오2. "We redesigned the system to handle concurrent requests efficiently." → 아키텍처 설계 시나리오3. "Make sure your HTTP client supports concurrent connections." → 성능 최적화 시나리오L1 (모국어) 간섭 팁
섹션 제목: “L1 (모국어) 간섭 팁”사용자의 모국어에 따라 AI가 주동적으로 일반적인 함정을 지적합니다:
사용자: 한국어 모국어단어: article / the / a
AI 팁:"한국어 모국어 사용자 일반적 문제: 한국어에는 관사가 없지만 영어는 definite article (the)과 indefinite article (a/an)을 구분합니다.
오류 예: 'I saw cat' → 'I saw a cat' 또는 'I saw the cat' (컨텍스트에 따라)
기억법: 영어에서 가산 명사에는 보통 관사가 필요합니다. 한국어에서 '고양이'는 그냥 고양이지만, 영어에서는 'a cat' 또는 'the cat'이라고 해야 합니다.":::note L1 간섭 이것이 DevLingo의 고유한 특징입니다. 표준 사전은 “이 단어를 잘못 사용하는 이유가 모국어 배경 때문”이라고 알려주지 않습니다. :::
AI 모델: Claude by Anthropic
섹션 제목: “AI 모델: Claude by Anthropic”DevLingo가 Claude를 선택한 이유:
- 뛰어난 구조화된 출력 능력: Claude는 포맷된 JSON을 생성하는 데 뛰어나며 신뢰성이 높음
- 깊은 컨텍스트 이해: Claude는 앱 컨텍스트, 코드 컨텍스트, L1 간섭을 이해 가능
- 개발자 친화적: Claude의 기술 용어, 코드, 개발 워크플로우에 대한 이해가 범용 LLM보다 우수
- 제어 가능성: 프롬프트 엔지니어링을 통해 DevLingo가 출력 형식과 품질을 정밀하게 제어 가능
프롬프트 엔지니어링 (Prompt Engineering)
섹션 제목: “프롬프트 엔지니어링 (Prompt Engineering)”DevLingo의 Claude 호출에는 정교하게 설계된 프롬프트 템플릿이 포함됩니다:
You are an English learning assistant for developers.The user selected: "{selectedText}"Mode: {mode}User's native language: {userLanguage}Current application: {sourceApp}Surrounding context: "{context}"
Respond with JSON in the following structure:{ "mode": "word|phrase|sentence|paragraph|express", ... [detailed schema]}
Important:1. Examples must be from software development context2. Provide 2-3 examples per item3. For native speakers of {userLanguage}, highlight common interference patterns4. If applicable, note pronunciation and stress patterns5. Keep definitions concise (< 20 words)이 프롬프트가 보장하는 것:
- 일관된 출력 형식
- 개발 컨텍스트에서 나온 예문
- L1 간섭 중시
- 학습에 타겟팅된 결과
비교: 사전 vs DevLingo AI
섹션 제목: “비교: 사전 vs DevLingo AI”| 기능 | 사전 API | DevLingo AI |
|---|---|---|
| 기본 정의 | ✓ | ✓ |
| 여러 예문 | ✓ (보통 비타겟팅) | ✓ (모두 기술 시나리오) |
| 컨텍스트 인식 | ✗ | ✓ (어떤 앱을 사용하는지 앎) |
| L1 간섭 팁 | ✗ | ✓ |
| 구조화된 출력 | ✗ (텍스트만) | ✓ (JSON, UI 친화적) |
| 기술 용어 보너스 | ✗ | ✓ (어원, 업계 기준 등) |
| 동의어 변별 | ✗ (동의어만 나열) | ✓ (차이 설명) |
| 발음과 IPA | ✓ (부분적) | ✓ (완전 + 4종 액센트) |
비용과 성능의 균형
섹션 제목: “비용과 성능의 균형”:::note AI를 계층적으로 사용하지 않는 이유 DevLingo의 계층적 조회 시스템이 보장하는 것:
- 자주 사용하는 어휘 (로컬 사전 적중): AI 0ms, 100% 빠름
- 캐시 적중 (사용자가 이전에 조회): AI 0ms, 100% 빠름
- 드문 어휘 (AI 호출): <2s에 완료, 여전히 빠름
이로써 사용자의 95% 조회에 API 호출이 필요하지 않아 비용을 낮추고 경험을 향상시킵니다. :::
DevLingo의 AI 엔진은 “번역”이 아니라 “이해와 교육”을 위한 것입니다. 당신이 무엇을 하고 있는지, 당신의 언어 배경이 무엇인지, 어떻게 가르치는 것이 가장 효과적인지를 알고 있습니다.