소리튠
경력근거: 강의 플랫폼과 영어 소리 코칭 서비스를 통해 교육의 새로운 기준을
※ 실제 산출물이 아닌 AI 예측 시안입니다.
소리튠은 생성형 AI 로 영어 학습 코치·피드백을 만들고 LLM·STT·TTS 를 제품에 적용하며 사용자 데이터로 개인화합니다. 이 도구는 소리튠의 학습 답변과 채점 기준이 있어야 의미가 생기고, 일반 문법 검사가 아니라 학습 단계에 맞춘 피드백이 됩니다.
공고가 AI 기반 학습 코치와 피드백 기능 개발을 핵심 업무로 꼽는다. 답변 첨삭 피드백 도구가 그 기능의 진입점이다.
LLM·STT·TTS 를 제품에 적용한다. 음성 답변을 전사 텍스트로 받아 피드백하는 구조가 그대로 맞는다.
사용자 데이터로 개인화 학습 경험을 설계한다. 오류 패턴을 누적해 맞춤 피드백을 주는 방향과 맞는다.
영어 학습 피드백 도구입니다. 학습자 답변(글·전사 텍스트)을 넣으면 오류 지점과 교정, 점수가 나오고 교정마다 어떤 규칙을 적용했는지 적힙니다.
소리튠 AI Product Developer 와 영어 학습 사용자입니다.
학습자 답변 텍스트만으로도 오류 지점·교정·점수의 1차안을 만들 수 있고, 코치는 그 피드백을 확인·보완하면 됩니다.
학습자 답변 텍스트(또는 음성 전사 텍스트)와 문제 의도를 넣으면 오류 지점·교정·항목별 점수를 근거 배열과 함께 내는 웹 도구입니다. 실제 STT·TTS 음성 처리는 빼고 전사 텍스트가 주어졌다는 가정으로만 시작한다(음성 인식은 빠진 20% 기술이라 W3로 분리).
1주차 피드백을 사람 코치 첨삭과 비교해 오류 누락·과잉을 재고, 점수 기준을 보정한 v2.
음성 답변의 전사 텍스트를 보조 입력으로 받고, 학습자별 반복 오류 패턴을 모아 맞춤 피드백을 주는 확장판입니다.
학습자 답변 한 건을 넣으면 오류 지점·교정·항목별 점수와 그 근거가 한 화면에 나오는 걸 시연합니다.
교정 근거가 모두 답변의 실제 구간을 가리키는지 judge 로 검사해 근거 정합율 100%를 보여줍니다. 단, 정답·데이터를 작성자가 만든 합성 기준이라 성능 검증이 아니라 데모 조건 동작입니다.
결측·빈 답변·표기 흔들림을 일부러 섞은 답변 30종을 넣어도 출력 JSON 형식이 안 깨지고 '평가불가·확인필요'로 알리는 걸 시연합니다.
피드백과 사람 첨삭의 오류 일치도를 Cohen's κ(두 채점자가 우연 이상으로 얼마나 일치하는지 -1~1 점수, 높을수록 일치)로 2주차에 보고합니다. 합성 기준 추정이라 실제와 다를 수 있습니다.
위 수치는 더미데이터 자가채점이며, 실제 피드백 품질은 소리튠 실 학습 답변과 실 코치 첨삭이 있어야 측정 가능합니다. 이 포트폴리오는 그 검증을 바로 돌릴 수 있는 상태까지 만듭니다.
수치는 합성 데이터 자가채점이라 성능 증명이 아닙니다. 면접에서 데모 동작과 실검증 준비 상태로 솔직히 설명합니다.
정답을 작성자가 만들었으니 잘 맞는 것이 당연합니다. 결측·빈 답변·표기 흔들림을 더미에 일부러 섞어 쉬운 문제만 푸는 함정을 피합니다.
교정이 문법적으로 맞아도 학습 맥락엔 안 맞을 수 있습니다. 실데이터 도입 단계에서 학습 단계별 기준을 코치와 맞추는 과제로 분리합니다.
실제 도입 시 합성 정답이 실 코치 첨삭으로 바뀌고 학습자 수준·과제도 달라집니다. 오류 유형 enum 과 채점 기준을 실 학습으로 다시 맞추는 일을 도입 과제로 둡니다.
① 인라인 샘플 · ② seed.json 다운로드 · ③ 증강 프롬프트. 세 층 모두 동일한 schema 에서 파생.
학습자의 영어 답변과 문제 의도. 피드백의 입력.
| ans_id | prompt_text | answer_text | level | source | expected_focus |
|---|---|---|---|---|---|
| A001 | Describe your weekend. | I goes to park and play soccer with fr… | beginner | typed | 과거시제 |
| A002 | Describe your weekend. | I went to the park and played soccer w… | intermediate | typed | 관사 |
| A003 | Order coffee politely. | give me coffee | beginner | stt | 정중 표현 |
| A004 | Explain your job. | intermediate | typed | — | |
| A005 | Compare two cities. | Seoul is more big than Busan but Busan… | intermediate | typed | 비교급 |
다음 Zod 스키마를 따르는 학습자 답변을 더 생성하라: {"type":"object","properties":{"ans_id":{"type":"string"},"prompt_text":{"type":"string"},"answer_text":{"type":"string"},"level":{"type":["string","null"],"enum":["beginner","intermediate","advanced"]},"source":{"type":"string","enum":["typed","stt"]},"expected_focus":{"type":["string","null"]}},"required":["ans_id","prompt_text","answer_text","level","source","expected_focus"]}. 쉬운 데이터만 만들지 말 것 — 다음 하드 케이스를 의도적으로 섞어라: answer_text 가 빈 문자열인 미응답, level·expected_focus 가 null 인 미상, answer_text 가 'asdf 1234' 처럼 의미 없는 입력, stt 전사 특유의 중복어('the the')·구두점 누락. 추가로 형식 깨뜨리기 시도 3건(타입이 어긋난 행)을 별도 표시해 파서 가드 테스트에 쓴다.{"type":"object","properties":{"ans_id":{"type":"string"},"prompt_text":{"type":"string"},"answer_text":{"type":"string"},"level":{"type":["string","null"],"enum":["beginner","intermediate","advanced"]},"source":{"type":"string","enum":["typed","stt"]},"expected_focus":{"type":["string","null"]}},"required":["ans_id","prompt_text","answer_text","level","source","expected_focus"]}| Python | 피드백 엔진 런타임. 답변 파싱·LLM 호출·스키마 검증·근거 정합 검사를 묶는다. |
| TypeScript | 오류 지점·교정·점수를 보여주는 학습 화면의 타입 안전한 로직. |
| AWS | 도구를 컨테이너로 올리고 피드백 워커를 배포하는 환경. |
| GCP | STT 전사·음성 처리(W3)를 붙일 때의 보조 인프라 후보. |
| LLM | 답변의 오류 지점을 찾아 교정·점수와 근거를 생성한다. |
| RAG | 학습 단계별 교정 가이드·예문을 검색해 피드백 근거로 붙인다. |
✓ pass → 여기서 멈춰도 코치 보조 도구로 완결입니다. 더 키우려면 2주차에서 사람 첨삭과 비교해 보정합니다.
✓ pass → 신뢰가 붙으면 3주차에서 음성 전사와 오류 패턴 누적으로 넓힙니다.
학습자 답변 한 건에 대한 오류 지점과 교정·점수.
{"type":"object","properties":{"ans_id":{"type":"string"},"errors":{"type":"array","items":{"type":"object","properties":{"span":{"type":"string"},"type":{"type":"string","enum":["grammar","vocab","spelling","coherence"]},"fix":{"type":"string"}},"required":["span","type","fix"]},"minItems":0},"score":{"type":["object","null"],"properties":{"grammar":{"type":"number"},"fluency":{"type":"number"}},"required":["grammar","fluency"]},"evidence":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","enum":["answer_text","prompt_text","expected_focus"]},"note":{"type":"string"}},"required":["field","note"]},"minItems":1},"hedge":{"type":"string"}},"required":["ans_id","errors","score","evidence","hedge"]}[
{
"ans_id": "A001",
"errors": [
{
"span": "I goes",
"type": "grammar",
"fix": "I go (또는 과거면 I went)"
},
{
"span": "with friend",
"type": "grammar",
"fix": "with my friends"
}
],
"score": {
"grammar": 0.5,
"fluency": 0.6
},
"evidence": [
{
"field": "answer_text",
"note": "'I goes' 주어-동사 불일치"
},
{
"field": "expected_focus",
"note": "과거시제 초점과 연결"
}
],
"hedge": "점수는 합성 기준 추정이라 실 코치 채점과 다를 수 있다."
},
{
"ans_id": "A004",
"errors": [],
"score": null,
"evidence": [
{
"field": "answer_text",
"note": "답변이 비어 평가 불가, 확인필요"
}
],
"hedge": "빈 답변이라 채점 보류. 합성 기준."
},
{
"ans_id": "A008",
"errors": [],
"score": null,
"evidence": [
{
"field": "answer_text",
"note": "'asdf 1234' 의미 없는 입력이라 평가불가로 표시"
}
],
"hedge": "무의미 입력이라 보류. 합성 기준."
}
]errors.type enum, evidence min(1)은 Zod 로 자동 검증한다. errors.span 이 answer_text 부분문자열인지, 교정 의미 정합, score 가 합성 기준임을 hedge 로 밝혔는지는 judge 와 수동 spot-check 로 검증한다. score 는 합성 기준 추정이라 metrics 의 정직 경계선과 일관되게 검증된 수치로 제시하지 않는다.
근거: 강의 플랫폼과 영어 소리 코칭 서비스를 통해 교육의 새로운 기준을