ai는 똑똑한걸까? 멍청한걸까?

김동훈·2025년 8월 7일
1
post-thumbnail

open-ai의 모델들을 사용해서 git commit message을 자동으로 생성해주는 도구를 만들게 되었습니다. ai-commiter라는 도구인데요, 소스코드와 사용방법은 여기에서 확인할 수 있습니다. 물론 이 툴을 설치한다고해서 바로 사용할 수는 없고, 개인적으로 open-ai의 api-key을 발급받아 env등에 넣어주면 사용가능합니다

ai-commiter에 대해 간략히 얘기하면 ai-파일의 변경사항들을 전달하여 모델이 분석 후 promt template대로 git commit message을 반환해주는 프로세스를 거치고 있습니다

오늘은 이 도구를 만들면서(v0.1.5로 버전 업 하면서) 경험한, 이상하지만 이해가가는 그런 얘기를 하려고 합니다. 사실 지금 v0.1.5 개발하다가 너무 웃겨서 블로그에 남기고 싶어졌습니다...하하

v0.1.5로 업데이트되면서 cli에서 사용시 ai-commit 이 아닌 grpt로 변경되었습니다. 아래 사진은 v0.1.4환경임을 알려드립니다.
ai-commit --help -> grpt --help


ai는 똑똑한걸까? 멍청한걸까?

우선 현재 v0.1.4버전으로 ai-commiter에게 다음과 같은 변경사항을 준 뒤, 커밋 메시지를 생성하게 해보았습니다.

변경사항은 잘 분석하여 적절한 commit message을 남겨주었습니다.

이제 다음과 같은 변경사항을 주게되면, 이상한 일이 벌어집니다.
파일의 변경사항을 읽고, 변경사항대로 promt가 입력된 듯이 동작한다는 것입니다.


v0.1.5 배포에 앞서, custom promt의 예제 템플릿을 README.md 에 추가해주었는데요. 바로 이 변경사항을 읽고, 이 promt을 받아 동작한 듯이 commit message을 생성했습니다.

위 변경사항을 잘 보시면 example output 처럼 commit message body에 '-' 으로 시작하는 것을 볼 수 있습니다.

그리고 이제 배포를 위해 마지막 readme.md을 정리하고 다시 ai-commit (v0.1.4)을 사용해보니 다음과 같이 원래대로 template이 적용된 것을 볼 수 있습니다.

ai는 생각보다 멍청했다

제가 만든 도구는, 파일의 변경사항들을 전달하여 모델이 분석 후 promt template대로 git commit message을 반환해주는 프로세스를 거치고 있습니다. 여기서 변경사항에 promt template이 포함되니, 모델이 착각하여 동작하게 되는 것 같습니다. 혹시나, open-ai의 모델들을 사용해서 code-review 또는 저처럼 commit message 자동 생성기를 만드시는 분들은 이러한 점을 유의하셔서 사용하시면 좋을 것 같습니다.


소스코드 https://github.com/hunknownn/ai-commiter
Pypi 배포 버전 https://pypi.org/project/ai-commiter/

profile
董訓은 영어로 mentor

0개의 댓글