현대 코딩 에이전트로 되살린 옛 수학 앱과 새로 만든 앱
1 day ago
4
- 지원이 끊긴 Java 1.0 수학 애플릿 약 24개를 현대 AI 코딩 에이전트로 JavaScript에 이식하고, 과거에 구현하지 못했던 시각화 도구까지 완성함
- 기존 애플릿은 몇 시간 만에 복원됐으며, Besicovitch 집합의 컬러 표시 같은 그래픽 개선과 1999년 Allen Knutson과 만든 honeycomb 애플릿의 재구현도 이뤄짐
- 이식 과정에서 에이전트가 만든 버그는 드래그 처리와 관련된 사소한 문제 1개였고, 반대로 기존 코드의 미확인 버그 2개를 찾아 전체 코드 품질은 비슷한 수준을 유지함
- 복잡성 때문에 1999년에 포기했던 “Minkowski 공간의 Inkscape” 구상을 몇 시간의 바이브 코딩으로 특수상대성이론 시각화 앱의 알파 버전으로 구현하고, Gilbreath 추측 시각화도 새로 제작함
- 수학적 논증의 핵심이 아닌 보조 시각화는 LLM 생성 코드의 버그가 미칠 위험이 상대적으로 낮아, 향후 논문의 대화형 보충 자료로 활용할 수 있음
Java 1.0 애플릿의 시작과 중단
- 1999년부터 기계를 이용해 수학을 연구하고 가르치는 방법에 관심을 두고, 복소해석과 선형대수 강의를 위한 여러 애플릿을 Java 1.0으로 개발함
- 강의뿐 아니라 honeycomb과 Besicovitch 집합을 비롯한 여러 수학적 대상을 시각화하는 데도 애플릿을 활용함
- 어느 정도 성과를 거뒀지만 직접 프로그래밍하는 데 많은 시간이 필요했고, 웹 표준이 해당 Java 버전을 지원하지 않게 되면서 애플릿들이 작동하지 않게 됨
AI를 활용한 JavaScript 이식
- 기존 웹페이지와 블로그 데이터를 유지보수하기 쉬운 저장소로 옮기면서 현대적인 AI 지원을 활용함
- 실험 삼아 에이전트에게 기존 애플릿을 현재 지원되는 언어로 이식하도록 요청했고, 최종적으로 JavaScript를 선택함
- 약 24개의 기존 애플릿이 몇 시간 만에 다시 작동했으며 일부 그래픽도 개선됨
새 버그와 기존 코드의 오류 발견
- LLM 기반 코딩 에이전트가 명백하거나 미묘한 버그를 만들 수 있지만, 이번 이식에서 새로 발견된 문제는 사소한 버그 1개였음
- 복소해석 애플릿 하나에서 주 영역 밖으로 드래그할 때 원하지 않는 동작이 발생함
- 반대로 에이전트는 기존 코드에 숨어 있던 미확인 버그 2개를 찾아냈으며, 이를 함께 고려하면 전체 코드 품질은 비슷한 수준임
- 이 애플릿들은 수학적 논증의 핵심 구성요소가 아닌 보조 시각 자료여서, 버그가 발생하더라도 그에 따른 위험은 상대적으로 낮음
1999년에 포기했던 특수상대성이론 도구
- 기존 앱 이식이 어렵지 않게 진행되자 새로운 앱 제작도 시도함
- 1999년 특수상대성이론 시각화 도구로 “Minkowski 공간의 Inkscape”와 같은 구상을 세웠지만, 당시에는 Inkscape도 출시되기 전이었음
- Java 코드 작성을 시작했으나 복잡성을 감당하기 어려워 프로젝트를 포기함
- AI 에이전트와 몇 시간 동안 바이브 코딩한 끝에 당시 구상과 일치하는 시공간 다이어그램 애플릿을 구현함
- 제작 대화 요약도 공개했으며, 반복적인 기술 구현 보고는 편집 과정에서 다수 제거함
- 현재 앱은 일부 플레이 테스트만 마친 알파 버전으로, LLM 생성 코드 특성상 해결되지 않은 버그와 거친 부분이 남아 있을 수 있어 추가 피드백이 필요함
Gilbreath 추측 시각화
- Gilbreath 추측 논문에 관한 블로그 글을 작성한 뒤, 논문과 게시물에 첨부할 시각화 도구도 에이전트에게 요청함
- 몇 시간의 대화를 거쳐 Gilbreath 추측 시각화를 완성함
- 제작 과정 대화록도 함께 공개했으며, 개발은 큰 어려움 없이 진행됨
논문의 대화형 보충 자료로 활용
- 향후 논문에 대화형 시각화를 보충 자료로 추가하는 방안을 고려함
- 이런 시각화는 논문의 핵심 부분에 필수적이지 않으므로, LLM 에이전트와의 안내된 상호작용으로 생성하더라도 오류에 따른 위험을 감수할 수 있는 수준임
-
Homepage
-
Tech blog
- 현대 코딩 에이전트로 되살린 옛 수학 앱과 새로 만든 앱