목록으로
교육·학습을 위한 AI 활용
화해할 시간을 자리로 선물하다: 교실과 급식실을 함께 고려하는 담임용 자리 배치 웹앱
다툰 아이들이 화해할 시간을 갖도록 교실과 급식실에서 동시에 충분한 거리를 두는 자리를, 코딩을 모르는 담임이 AI와 대화로 만든 웹앱이 대신 계산해 줍니다.
🤖 활용 AI 도구
Gemini(Google): 첫 버전 제작 / Claude(Anthropic): 코드 분석·개선·시뮬레이션 검증
[상황: 왜 필요했나]
3학년 아이들은 감수성이 예민합니다. 서로 상처를 주고받기도 하지만, 생각보다 쉽게 화해합니다. 다만 사과하고 화해하기까지 각자 마음을 추스를 약간의 시간이 필요합니다. 그 시간에 바로 옆자리에 앉거나 급식실에서 마주 앉으면 감정이 다시 부딪히기 쉽습니다. 담임으로서 이 시간을 교실과 급식 환경으로 자연스럽게 마련해 주고 싶었습니다.
우리 반은 15명입니다. 인원이 많지 않아도 여러 아이의 관계를 동시에 따져 자리를 짜다 보면, 자리를 바꿀 때마다 40분 가까이 걸렸습니다. 게다가 교실 자리를 잘 짜도 급식실은 테이블 모양이 달라서, 교실에서 떨어뜨린 아이들이 급식실에서 다시 가까이 앉게 되기도 했습니다. 15명을 앉히는 방법만 해도 약 1조 3천억 가지라서, 교실과 급식실 두 공간을 동시에 따지는 일은 사람이 머리로 할 수 있는 계산이 아니었습니다. 그래서 AI의 도움을 받기로 했습니다.
[사용한 AI와 방식]
1) 첫 버전 만들기 (Gemini)
코딩을 배운 적은 없지만, 원하는 기능을 말로 설명해 코드를 받는 '바이브 코딩'으로 웹앱을 만들었습니다. 결과를 바로 화면으로 확인하며 고치기 쉬워서 Gemini를 썼습니다.
- 구성: 교실·급식실 칸 수 정하기 → 실제 앉는 자리 순서 클릭 → 이름 입력 → 거리가 필요한 짝 입력 → 급식실 자리 클릭 → 배치. 교실 자리 번호에 맞춰 급식 자리가 자동으로 정해지므로, 급식실에서도 자리 번호 순서대로 앉으면 됩니다.
- 사용: 1학기인 5월부터 지금까지 자리를 바꿀 때마다 계속 써 왔습니다.
2) 문제 발견
오래 쓰다 보니, 교실에서는 떨어져 앉은 아이들이 급식실에서 다시 가까이 앉게 되는 경우가 보였습니다.
3) 원인 분석과 개선 (Claude)
긴 코드를 읽고 원인을 설명하는 데 강한 Claude에게 기존 파일을 보여 주었습니다. 그 결과 기존 앱은 교실에서만 거리를 검사하고, 무작위로 200번 섞어 보는 방식이라는 것을 알게 됐습니다. 그래서 이렇게 요청했습니다.
"아이들이 교실에서 떨어져도 급식자리에서 만나는 경우가 있어서 동시에 최대한 떨어지도록 해 줘. 처음으로 적은 짝일수록 최우선 조건으로 해 줘."
개선한 앱은 다음과 같이 작동합니다.
- 교실과 급식실 두 곳에서 동시에 앞뒤·옆·대각선으로 붙지 않게 합니다.
- 먼저 적은 짝이 무조건 우선입니다. 1순위 짝은 뒤 순위 조건을 희생해서라도 지킵니다.
- 자리를 하나씩 바꿔 보며 더 나은 배치를 찾는 방식으로 바꿨습니다. 같은 조건이어도 결과는 매번 다르게 나옵니다.
개선한 앱으로도 실제 자리 바꾸기를 해 보았습니다.
4) 검증
실제 아이들 이름 대신 가명으로, 우리 반과 같은 교실(5×3)·급식실(7×3) 배치에 거리가 필요한 짝 4쌍을 넣어 기존 앱과 개선한 앱을 비교했습니다.
[결과 변화]
- 급식실에서 다시 붙는 문제: 기존 앱은 300번 중 70%에서 짝이 급식실에서 다시 붙었습니다. 개선한 앱은 30번 중 한 번도 붙지 않았고, 모든 짝이 교실과 급식실 모두에서 최소 3칸 떨어졌습니다. (가명 데이터 시뮬레이션)
- 우선순위: 일부러 다 지킬 수 없을 만큼 조건을 걸어도 1순위 짝은 매번 지켜졌습니다.
- 시간: 40분 가까이 걸리던 자리 고민을 앱이 대신 계산해 줍니다. 계산은 1초 안에 끝납니다.
- 교실의 변화: 웹앱을 참고해 자리를 바꾼 뒤로, 갈등이 있던 아이들이 서로 부딪히는 시간이 줄었습니다. 덕분에 아이들은 억지로 떨어뜨려졌다는 느낌 없이, 자연스럽게 자신만의 시간을 가지며 마음을 정리할 수 있었습니다.
[나만의 개선점: 아이들 마음을 지키는 설계]
1) 판단은 교사가, 계산은 AI가: 누구에게 거리가 필요한지는 AI가 아니라 담임이 아이들을 관찰해 정합니다. 화해하면 바로 조건을 지웁니다. 거리는 벌이 아니라 잠시 마음을 정리할 시간이기 때문입니다.
2) 낙인 방지: 처음에는 '최대한 멀리' 떨어뜨렸는데, 그러면 같은 아이들이 늘 교실 끝으로 밀려날 확률이 있다는 걸 알게 됐습니다. 그래서 '충분한 거리'(기본 3칸)만 확보하면 나머지는 무작위로 섞도록 고쳤습니다. 화면 문구도 '분리 짝'이 아니라 '잠시 거리가 필요한 짝'으로 바꿨습니다.
3) 드러나지 않게: 결과 화면에는 "조건을 지켰어요"만 표시됩니다. 누구와 누구의 거리를 둔 것인지는 '교사용 조건 확인'을 눌러야 보여서, 화면을 함께 보더라도 특정 아이가 드러나지 않습니다.
4) 개인정보 보호: 교우관계는 민감한 정보라서 서버도 저장 기능도 없이 교사 컴퓨터의 브라우저 안에서만 작동합니다. 창을 닫으면 이름과 조건이 모두 사라집니다. AI에게 코드를 보여 주거나 테스트할 때도 실제 이름은 넣지 않고 가명만 썼습니다.
5) 실수 방지: 짝을 입력할 때 이름을 직접 치지 않고 목록에서 고르게 해 오타로 조건이 빠지는 일을 막았습니다. 동명이인은 미리 알려 주고, 손으로 자리를 바꾸면 조건을 다시 검사합니다.
6) AI 결과를 AI로 다시 검증: 첫 AI(Gemini)가 만든 결과를 다른 AI(Claude)로 분석하고, 효과를 숫자로 확인한 뒤에 교실에 적용했습니다.
[한계와 책임 있는 사용]
- 자리 수에 비해 조건이 너무 많으면 모든 짝을 떼어 놓을 수 없습니다. 이럴 때 앱은 지키지 못한 조건을 교사에게만 알려 주고, 최종 판단과 조정은 교사가 합니다.
- 이 앱은 일상적인 다툼 뒤 화해를 돕는 도구입니다. 학교폭력 사안의 분리 조치처럼 공식 절차가 필요한 경우를 대신하지 않습니다.
[재현 가능성]
웹앱은 HTML 파일 하나라서 설치 없이 더블클릭으로 열 수 있고, 인터넷이 없어도 작동합니다. 다른 담임 선생님도 ① 칸 수 정하기 → ② 앉는 자리 순서 클릭 → ③ 이름(가명 가능) 입력 → ④ 거리가 필요한 짝을 우선순위대로 선택 → ⑤ 급식 자리 클릭 → ⑥ 무작위 섞기 순서로 바로 쓸 수 있습니다. 모둠 활동, 체험학습 버스, 강당처럼 아이들이 함께 있는 공간이 여러 곳인 상황에도 같은 방식으로 넓힐 수 있습니다
3학년 아이들은 감수성이 예민합니다. 서로 상처를 주고받기도 하지만, 생각보다 쉽게 화해합니다. 다만 사과하고 화해하기까지 각자 마음을 추스를 약간의 시간이 필요합니다. 그 시간에 바로 옆자리에 앉거나 급식실에서 마주 앉으면 감정이 다시 부딪히기 쉽습니다. 담임으로서 이 시간을 교실과 급식 환경으로 자연스럽게 마련해 주고 싶었습니다.
우리 반은 15명입니다. 인원이 많지 않아도 여러 아이의 관계를 동시에 따져 자리를 짜다 보면, 자리를 바꿀 때마다 40분 가까이 걸렸습니다. 게다가 교실 자리를 잘 짜도 급식실은 테이블 모양이 달라서, 교실에서 떨어뜨린 아이들이 급식실에서 다시 가까이 앉게 되기도 했습니다. 15명을 앉히는 방법만 해도 약 1조 3천억 가지라서, 교실과 급식실 두 공간을 동시에 따지는 일은 사람이 머리로 할 수 있는 계산이 아니었습니다. 그래서 AI의 도움을 받기로 했습니다.
[사용한 AI와 방식]
1) 첫 버전 만들기 (Gemini)
코딩을 배운 적은 없지만, 원하는 기능을 말로 설명해 코드를 받는 '바이브 코딩'으로 웹앱을 만들었습니다. 결과를 바로 화면으로 확인하며 고치기 쉬워서 Gemini를 썼습니다.
- 구성: 교실·급식실 칸 수 정하기 → 실제 앉는 자리 순서 클릭 → 이름 입력 → 거리가 필요한 짝 입력 → 급식실 자리 클릭 → 배치. 교실 자리 번호에 맞춰 급식 자리가 자동으로 정해지므로, 급식실에서도 자리 번호 순서대로 앉으면 됩니다.
- 사용: 1학기인 5월부터 지금까지 자리를 바꿀 때마다 계속 써 왔습니다.
2) 문제 발견
오래 쓰다 보니, 교실에서는 떨어져 앉은 아이들이 급식실에서 다시 가까이 앉게 되는 경우가 보였습니다.
3) 원인 분석과 개선 (Claude)
긴 코드를 읽고 원인을 설명하는 데 강한 Claude에게 기존 파일을 보여 주었습니다. 그 결과 기존 앱은 교실에서만 거리를 검사하고, 무작위로 200번 섞어 보는 방식이라는 것을 알게 됐습니다. 그래서 이렇게 요청했습니다.
"아이들이 교실에서 떨어져도 급식자리에서 만나는 경우가 있어서 동시에 최대한 떨어지도록 해 줘. 처음으로 적은 짝일수록 최우선 조건으로 해 줘."
개선한 앱은 다음과 같이 작동합니다.
- 교실과 급식실 두 곳에서 동시에 앞뒤·옆·대각선으로 붙지 않게 합니다.
- 먼저 적은 짝이 무조건 우선입니다. 1순위 짝은 뒤 순위 조건을 희생해서라도 지킵니다.
- 자리를 하나씩 바꿔 보며 더 나은 배치를 찾는 방식으로 바꿨습니다. 같은 조건이어도 결과는 매번 다르게 나옵니다.
개선한 앱으로도 실제 자리 바꾸기를 해 보았습니다.
4) 검증
실제 아이들 이름 대신 가명으로, 우리 반과 같은 교실(5×3)·급식실(7×3) 배치에 거리가 필요한 짝 4쌍을 넣어 기존 앱과 개선한 앱을 비교했습니다.
[결과 변화]
- 급식실에서 다시 붙는 문제: 기존 앱은 300번 중 70%에서 짝이 급식실에서 다시 붙었습니다. 개선한 앱은 30번 중 한 번도 붙지 않았고, 모든 짝이 교실과 급식실 모두에서 최소 3칸 떨어졌습니다. (가명 데이터 시뮬레이션)
- 우선순위: 일부러 다 지킬 수 없을 만큼 조건을 걸어도 1순위 짝은 매번 지켜졌습니다.
- 시간: 40분 가까이 걸리던 자리 고민을 앱이 대신 계산해 줍니다. 계산은 1초 안에 끝납니다.
- 교실의 변화: 웹앱을 참고해 자리를 바꾼 뒤로, 갈등이 있던 아이들이 서로 부딪히는 시간이 줄었습니다. 덕분에 아이들은 억지로 떨어뜨려졌다는 느낌 없이, 자연스럽게 자신만의 시간을 가지며 마음을 정리할 수 있었습니다.
[나만의 개선점: 아이들 마음을 지키는 설계]
1) 판단은 교사가, 계산은 AI가: 누구에게 거리가 필요한지는 AI가 아니라 담임이 아이들을 관찰해 정합니다. 화해하면 바로 조건을 지웁니다. 거리는 벌이 아니라 잠시 마음을 정리할 시간이기 때문입니다.
2) 낙인 방지: 처음에는 '최대한 멀리' 떨어뜨렸는데, 그러면 같은 아이들이 늘 교실 끝으로 밀려날 확률이 있다는 걸 알게 됐습니다. 그래서 '충분한 거리'(기본 3칸)만 확보하면 나머지는 무작위로 섞도록 고쳤습니다. 화면 문구도 '분리 짝'이 아니라 '잠시 거리가 필요한 짝'으로 바꿨습니다.
3) 드러나지 않게: 결과 화면에는 "조건을 지켰어요"만 표시됩니다. 누구와 누구의 거리를 둔 것인지는 '교사용 조건 확인'을 눌러야 보여서, 화면을 함께 보더라도 특정 아이가 드러나지 않습니다.
4) 개인정보 보호: 교우관계는 민감한 정보라서 서버도 저장 기능도 없이 교사 컴퓨터의 브라우저 안에서만 작동합니다. 창을 닫으면 이름과 조건이 모두 사라집니다. AI에게 코드를 보여 주거나 테스트할 때도 실제 이름은 넣지 않고 가명만 썼습니다.
5) 실수 방지: 짝을 입력할 때 이름을 직접 치지 않고 목록에서 고르게 해 오타로 조건이 빠지는 일을 막았습니다. 동명이인은 미리 알려 주고, 손으로 자리를 바꾸면 조건을 다시 검사합니다.
6) AI 결과를 AI로 다시 검증: 첫 AI(Gemini)가 만든 결과를 다른 AI(Claude)로 분석하고, 효과를 숫자로 확인한 뒤에 교실에 적용했습니다.
[한계와 책임 있는 사용]
- 자리 수에 비해 조건이 너무 많으면 모든 짝을 떼어 놓을 수 없습니다. 이럴 때 앱은 지키지 못한 조건을 교사에게만 알려 주고, 최종 판단과 조정은 교사가 합니다.
- 이 앱은 일상적인 다툼 뒤 화해를 돕는 도구입니다. 학교폭력 사안의 분리 조치처럼 공식 절차가 필요한 경우를 대신하지 않습니다.
[재현 가능성]
웹앱은 HTML 파일 하나라서 설치 없이 더블클릭으로 열 수 있고, 인터넷이 없어도 작동합니다. 다른 담임 선생님도 ① 칸 수 정하기 → ② 앉는 자리 순서 클릭 → ③ 이름(가명 가능) 입력 → ④ 거리가 필요한 짝을 우선순위대로 선택 → ⑤ 급식 자리 클릭 → ⑥ 무작위 섞기 순서로 바로 쓸 수 있습니다. 모둠 활동, 체험학습 버스, 강당처럼 아이들이 함께 있는 공간이 여러 곳인 상황에도 같은 방식으로 넓힐 수 있습니다