바이브 코드가 스파게티 코드를 만들어요 ㅠㅠ

Lv.1 머릿속이꽃밭 (211.♡.37.146)

2025년 12월 3일 PM 03:10 · 수정됨(12. 04. 13:52)

조회 790 공감 0

영상처리 프로그램을 만드는데 성능 때문에 c++ 로 작성중입니다.

codex 5.1 max가 말 잘 알아듣고 기능구현 잘해주고 좋기는 좋은데,

얘도 스파게티 코드를 만들어요.

되기만 하면 되는거 아니냐는 듯한 뭔가 지극히 사람스러운 행동을 합니다.


조금 씩 기능을 추가하면서 따박따박 지적해줘야 했는데,

테스트에서 문제없길래 코드리뷰 빡세게 안하고 기능을 팍팍 집어넣었더니 엄청 난잡한 코드를 만들어버렸어요.


가령 3중 for loop 코드를 만들어놓은 상태에서

기능을 추가시켰더니 loop 가장 안쪽에서 if, switch 분기, 함수호출 같은 비싼 일들을 하고 있네요 ㅠㅠ

결과물은 잘 만드는데 성능이 말이 아닙니다...

수정을 요구해도 어느 정도 만들어진 상황에선 작은 부분만 고치려고 하니 코드가 더 꼬여가는 - 스파게티화 되어갑니다.


commit 다시 뒤로 돌려 손코드로 다시 짜야하는데 잠시 머리를 식혀야겠습니다 ㅠㅠ

댓글 (10)

  • ㅡIUㅡ

    ㅡIUㅡ Lv.1

    25.12.03 · 106.♡.173.194

    본아뻬띠~
    입니당
  • SDK

    SDK Lv.1

    25.12.03 · 127.♡.0.1

    그렇죠 ㅠㅠ
  • 커널패닉

    커널패닉 Lv.1

    25.12.03 · 119.♡.59.225

    [code]# ~/.claude/CLAUDE.md
    - 혹시 변경된 코드 클린업 없이 바로 푸시하자고 하면 먼저 코드 클린업을 해야 한다고 노티해줘
    - 버그가 있는지 사전 테스트를 해야하니, 내가 지시하기 전까지 알아서 커밋 및 푸시를 하면 안돼
    [/code]

    클로드 코드 기준이지만 아마 코덱스도 사전에 얘기하면 중복되거나 최적화 문제가 있는 코드를 체크해서 리팩토링 해줄겁니다.
    하지만, 리팩토링하는 과정에서 토큰을 매우 많이 소모하니 토큰 잔여량을 꼭 확인하셔야 합니다. (리팩토링 중에 토큰이 없다고 멈춰버리면 그것도 곤란하니까요)
  • SDK

    SDK Lv.1 → 커널패닉

    25.12.03 · 127.♡.0.1

    스스로 커밋 푸시하더라고요 . 진작 배워둘것을 그랬네요
  • 커널패닉

    커널패닉 Lv.1 → SDK

    25.12.03 · 119.♡.59.225

    클로드가 "이제 커밋 후 푸시하겠습니다" 라고 말하면 빠르게 esc 키를 누르는 것도 방법(?) 입니다 {emo:onion-051.gif:50}
  • 머릿속이꽃밭 Lv.1 → 커널패닉 작성자

    25.12.03 · 211.♡.37.146

    최적화 문제가 있는 부분을 내가 콕찝어서 얘기해주면 그제서야 맞장구나 치고,
    리팩토링 큰 부분은 해달라고 해도 안하고 서너줄 바꾸는 걸로 퉁치려고 하면서 깨작거리고... ㅠㅠ
    $200 짜리 쓰고 있어서 토큰은 안모자라는거 같은데, 컨텍스트 윈도우 50% 넘어가면 답못내고 정신 못차려요 ㅠㅠ
  • 커널패닉

    커널패닉 Lv.1 → 머릿속이꽃밭

    25.12.03 · 119.♡.59.225

    https://github.com/unstable-code/lyrics/commit/7c5add71a748a3b2c58e5fdf1d1803daa5ccd9be

    이런식으로 리팩토링을 요청하면 자체적으로 분석 툴을 돌려서 리팩토링해 줍니다.
    "코드 베이스를 분석해서 심각도가 HIGH 이상인 애들을 리팩토링해줘" 라고 하면 될 것 같습니다.

    그리고 컨텍스트 윈도우의 경우는 하나의 작업 단위가 끝날 때 compact 명령을 실행해 주면 좋을 것 같네요.
    작업단위 별로 compact 명령을 실행하지 않으면 작업이 완료된 내용으로 인해 간혹 환각 현상이 발생하기도 합니다.
    또한 컨텍스트 윈도우 크기가 토큰 사용량과 비례 관계이니 compact 를 자주 안하면 금방 5시간 제한이 걸리더군요.
  • 머릿속이꽃밭 Lv.1 → 커널패닉 작성자

    25.12.03 · 211.♡.37.146

    최근에 codex로 바이브 코드를 시작해서 compact 명령어라는 게 있는지 몰랐는데 알려주셔서 감사합니다.
    그동안 제가 코드를 계속 리뷰하면서 비슷한 잔소리를 계속해서 코드가 비교적 깔끔하게 유지되었는데,
    잔소리 안하고 코드 늘어놓게 만들었더니, 이젠 compact 명령어로 해결안되는 단계까지 와버렸나봐요 ㅠㅠ
  • 커널패닉

    커널패닉 Lv.1 → 머릿속이꽃밭

    25.12.04 · 119.♡.59.225

    [https://s3.damoang.net/data/editor/2512/c5627fa.png]

    codex 는 사용을 안해봐서 세부 명령까진 잘 모르겠습니다만 clear 명령을 사용하면 아마 모든 컨텍스트가 지워질 겁니다.
    그리고 init 명령을 사용해서 프로젝트의 코드베이스를 식별해서 구조를 먼저 파악하도록 하고,
    현재 프로젝트를 리팩토링해 달라 하면 환각이랑 컨텍스트 등의 문제는 없을 겁니다.

    그리고 codex 설정에서 Auto Compact 관련 설정을 비활성화하고 수동으로 compact 명령을 사용하시는게 흐름상 좋을 듯 합니다. 그 이유는 컨텍스트 여유공간이 부족해져서 대화중에 자동으로 compact가 실행이 되면 중요한 정보들이 간혹 유실되버리는 경우가 있으니까요.
  • 머릿속이꽃밭 Lv.1 → 커널패닉 작성자

    25.12.04 · 211.♡.37.146

    덕분에 많은 공부되었습니다. 감사합니다!

댓글을 작성하려면 이 필요합니다.