[AI 활용 정보] 코딩을 몰라도 가능할까? Codex로 퍼드0 올인원 프로그램을 만들어 본 경험

1. 무엇에 쓰는지 — 어떤 상황에서 쓰는 활용법인가요?

저는 프로그래밍 지식이 거의 없고 코드를 직접 작성할 줄도 모릅니다. 그런데 퍼즐앤드래곤
0(퍼드0)을 플레이하다 보니 퍼즐을 직접 맞추거나 이동 경로를 계산하는 과정이 번거롭게
느껴졌습니다. 그래서 AI를 이용해 퍼즐을 대신 계산해 주는 프로그램을 만들어 보면 어떨까
생각했습니다.

처음부터 거창한 프로그램을 만들 생각은 아니었습니다. 단순히 콤보팟을 기준으로 8콤보 이상을
달성하는 것이 첫 목표였습니다. 하지만 게임을 계속 플레이하면서 필요한 기능이 하나씩 생겼고,
그때마다 AI에게 기능 추가를 요청하다 보니 자연스럽게 올인원 프로그램으로 발전했습니다.

현재는 다음과 같은 기능들을 구현하고 개선해 왔습니다.

• 게임 화면의 퍼즐판 인식 및 경로 계산
• 계산된 경로를 이용한 퍼즐 자동 이동
• 가시 드롭 등 특수 드롭 인식
• 파티 조건에 따른 특정 속성 우선 계산
• L자 및 십자 모양 퍼즐 조건 대응
• 크리스탈 및 캐릭터 인식·관리
• 경로 계산과 실행 옵션 설정
• 반복 플레이 및 자동 파밍 기능 개발

특히 파티 구성에 따라 필요한 퍼즐 조건이 달라지기 때문에 단순히 콤보 수를 높이는 것뿐 아니라,
원하는 속성이나 특정 모양까지 고려하도록 기능을 확장했습니다. 다만 현재는 반자동 플레이 위주로
안정적으로 활용하고 있으며, 완전 자동 파밍은 아직 개선 중입니다.

2. 사용한 AI — 서비스 이름과 무료·유료 여부

사용한 AI: OpenAI Codex / 이용 요금제: ChatGPT Plus (유료) / 개발 환경: GitHub 저장소와 Codex
연결

프로그램 개발에는 OpenAI의 Codex를 사용했습니다. GitHub에 프로젝트를 저장하고 Codex를 연결한 뒤,
AI가 기존 코드를 확인하면서 필요한 기능을 추가하거나 수정하도록 요청했습니다. 제가 직접 코드를
작성하기보다는 원하는 기능을 말로 설명하고, AI가 작성한 결과를 실제 게임에서 테스트하는
방식이었습니다.

여기서 제가 사용한 방법 중 하나는 작업 난이도에 따라 AI의 추론 성능을 조절하는 것이었습니다.
처음에는 가장 낮은 성능 설정으로 프로그램의 기본 뼈대를 만들고 간단한 기능을 추가했습니다.
그러다가 같은 문제를 2~3번 수정해도 해결되지 않으면 해당 기능에 한해서만 울트라 수준의 높은 추론
성능으로 전환했습니다. 실제로 낮은 성능에서 해결하지 못했던 문제도 높은 성능으로 전환했을 때
대부분 해결할 수 있었습니다. 그래서 모든 작업에 높은 성능을 사용하기보다는 쉬운 작업은 낮은
성능으로, 반복해서 실패하는 어려운 작업은 높은 성능으로 처리하는 방식을 사용했습니다.

참고로 AI 성능 설정의 명칭이나 사용 가능 여부는 서비스와 요금제, 이용 시점에 따라 다를 수
있습니다.

3. 프롬프트 또는 설정 — 다른 사람도 따라 할 수 있는 방법

제가 사용한 방법에서 중요한 것은 처음부터 모든 기능을 구현하려고 하지 않는 것이었습니다. 우선
가장 필요한 기능 하나를 만들고, 직접 사용하면서 부족한 부분을 개선했습니다.

초기에는 콤보팟을 기준으로 8콤보를 넘기는 것이 목표였지만 실제로 실행해 보니 문제가 많았습니다.
콤보 계산에 10초 이상 걸리는 경우도 있었고, 가시 드롭을 다른 드롭으로 잘못 인식하는 일도
잦았습니다. 계산이 끝나더라도 원하는 콤보 수를 달성하지 못하는 경우가 있었습니다.

처음에는 "계산이 느리다", "드롭 인식이 잘못된다"처럼 간단하게 문제를 설명했습니다. 이후에는 계산
시간을 줄이거나 특정 드롭의 인식 정확도를 높여 달라고 구체적으로 요청했습니다. 말로 설명하기
어려울 때는 실제 게임 화면을 캡처하거나 오류 로그를 제공하고 문제를 분석하도록 했습니다. 이렇게
AI가 코드를 수정하면 게임에서 다시 테스트하고, 문제가 남아 있으면 추가로 수정하는 과정을
반복했습니다.

[다른 사람도 활용할 수 있는 프롬프트 예시]

아래 프롬프트들은 실제 개발하면서 사용한 요청 방식과 경험을 바탕으로 다른 사람도 복사해서 사용할
수 있도록 재구성한 예시입니다. 실제 Codex에 입력했던 문장을 그대로 복사한 원문은 아닙니다.

① 기본 프로그램 제작

```
[프로그램 이름]을 만들고 싶어.
목적은 [해결하고 싶은 문제]를 자동으로 처리하거나 보조하는 거야.
나는 프로그래밍 지식이 거의 없으니 기본 구조부터 만들어 줘.
처음부터 모든 기능을 구현하지 말고 가장 핵심적인 기능 하나가 정상 작동하는 것부터 목표로 해줘.
이후 기능을 하나씩 확장할 수 있도록 프로그램 구조를 구성해줘.
구현 후에는 실행 방법과 테스트 방법, 현재 구현된 기능과 한계점도 설명해줘.
```

제 경우에는 프로그램 이름을 퍼드0 도우미로, 해결하고 싶은 문제를 퍼즐 경로 계산과 8콤보 달성으로
설정한 셈입니다.

② 기존 프로그램에 기능 추가

```
현재 GitHub 저장소에 있는 기존 프로젝트를 기준으로 작업해줘.
추가하고 싶은 기능은 다음과 같아.
[추가할 기능 설명]
기존에 정상 작동하던 기능들은 최대한 유지하면서 필요한 부분만 수정해줘.
새로운 기능이 기존 기능과 충돌할 가능성도 확인해줘.
수정이 완료되면 어떤 부분을 변경했는지, 어떻게 테스트하면 되는지 알려줘.
```

실제로 개발할 때도 기존 프로그램을 유지하면서 특수 드롭 인식, 파티 조건에 따른 퍼즐 계산, 자동
조작 등의 기능을 하나씩 추가했습니다.

③ 오류 분석 및 개선

```
현재 프로그램에서 다음 문제가 발생하고 있어.
[발생한 문제]
발생 조건: [어떤 상황에서 문제가 발생하는지]
기대한 결과: [원래 어떻게 작동해야 하는지]
실제 결과: [실제로 어떤 문제가 발생했는지]
첨부한 스크린샷이나 오류 로그를 참고해서 원인을 분석해줘.
기존 기능에 미치는 영향을 고려해 수정하고, 같은 문제가 다시 발생하지 않도록 확인할 방법도
알려줘.
원인이 불확실하다면 추측으로 수정하기보다 먼저 확인이 필요한 부분을 설명해줘.
```

이 프롬프트에는 실제 오류 화면이나 로그를 함께 제공하면 좋습니다.

[실제로 사용했던 방식에 가까운 짧은 요청 예시]

• "콤보 계산 시간이 너무 오래 걸려. 계산 속도를 개선해줘."
• "가시 드롭을 다른 드롭으로 인식하고 있어. 구분할 수 있도록 수정해줘."
• "계산된 경로를 따라 드롭이 이동하도록 해줘."
• "파티 조건에 맞춰 특정 속성을 우선적으로 계산하는 기능을 추가해줘."
• "8콤보를 달성하지 못하는 경우가 있어. 원인을 분석하고 개선해줘."
※ 위 문장들도 실제 사용 방식에 맞춰 재구성한 예시입니다. 간단한 수정은 낮은 추론 성능으로
요청했고, 2~3번 반복해도 해결되지 않는 문제는 높은 추론 성능으로 전환해 해결을 시도했습니다.

[다른 프로그램에 응용하려면?]

굳이 퍼드0 같은 게임 프로그램이 아니어도 적용할 수 있는 방법이라고 생각합니다. 위 프롬프트에서
프로그램 이름, 해결하고 싶은 문제, 추가할 기능, 발생한 오류만 자신의 상황에 맞게 변경하면
됩니다.

예를 들어 파일 정리 프로그램을 만들고 싶다면 처음에는 파일을 종류별로 분류하는 기능 하나만
만들고, 이후 중복 파일 확인이나 자동 정리 등의 기능을 하나씩 추가하는 식입니다. 제가 추천하는
방법은 작은 기능 하나를 먼저 완성하고 실제로 사용해 본 뒤, 필요한 기능을 점차 추가하는 것입니다.

4. 실제 결과 — 프로그램을 사용한 화면

처음 만들었던 프로그램은 여러모로 불안정했습니다. 콤보 계산에 10초 이상 걸리기도 했고, 가시
드롭을 잘못 인식하거나 목표로 했던 8콤보를 달성하지 못하는 경우도 있었습니다.

하지만 Codex와 함께 여러 차례 수정하고 테스트한 결과, 현재는 대부분 빠르게 계산할 수 있게 됐고
가시 드롭도 거의 정확하게 인식합니다. 처음 목표였던 8콤보 역시 대부분 안정적으로 달성할 수 있게
됐습니다. 또한 게임을 진행하면서 필요한 기능을 하나씩 추가해 지금은 단순한 퍼즐 계산 도구보다
다양한 상황에 대응할 수 있는 프로그램이 됐습니다.

아래는 실제 퍼즐앤드래곤 0에서 프로그램이 작동하는 모습입니다.


게임화면 인식


다속팟 기준으로 속성 갯수도 인식


콤보 조건에 맞춰서 6콤보 이상도 복합적으로 체크함


실제로 경로 계산하고 이동하는 모습

현재는 반자동 플레이에서 안정적으로 활용하고 있습니다. 다만 완전 자동 파밍은 아직 개선해야 할
부분이 남아 있습니다.

5. 잘 안 되는 조건 — 사용하면서 느낀 한계점

AI를 활용하면 프로그래밍을 잘 몰라도 원하는 기능을 구현할 수 있지만, 모든 기능이 처음부터
완벽하게 작동하는 것은 아니었습니다. 특히 초기에는 퍼즐 계산 속도와 드롭 인식 정확도, 목표 콤보
달성 등 여러 문제가 있었습니다. 이러한 문제들은 반복적인 수정으로 상당 부분 개선했지만, 현재도
해결해야 할 부분은 남아 있습니다.

가장 대표적인 것이 완전 자동 파밍 기능입니다. 반자동으로 플레이할 때는 특별한 문제 없이
안정적으로 사용하고 있지만, 자동 파밍은 반복 플레이 도중 조작이 실패하거나 예상과 다르게
진행되는 경우가 있어 더 많은 개선이 필요합니다.

또한 AI가 코드를 수정했다고 해서 반드시 문제가 해결되는 것은 아니었습니다. 같은 문제를 여러 번
설명해야 할 때도 있었고, 낮은 추론 성능에서는 해결하지 못했던 문제를 높은 성능으로 다시 분석해야
하는 경우도 있었습니다.

이러한 경험을 통해 AI에게 모든 것을 한 번에 맡기기보다는, 작은 기능부터 만들고 직접 테스트하면서
개선하는 것이 중요하다고 느꼈습니다. 저처럼 프로그래밍 지식이 거의 없는 사람도 AI의 도움을 받아
자신에게 필요한 프로그램을 만들어 볼 수 있다는 점은 큰 장점이었습니다. 아직 완성했다고 말하기는
어렵지만, 처음에는 8콤보 달성만 목표로 시작했던 프로그램이 여기까지 발전했다는 점에서 개인적으로
의미 있는 경험이었습니다.