Codex use case
반복 개선으로 어려운 문제 해결하기
Codex로 결과를 채점하고 개선하는 과정을 반복해 어려운 과제를 해결하세요.
채점 스크립트와 직접 검토할 수 있는 산출물 등으로 평가 체계를 마련하세요. Codex는 이 체계를 활용해 점수가 충분히 높아질 때까지 어려운 과제의 결과물을 개선할 수 있습니다.
Best for
- 매번 결과를 채점할 수 있지만 최상의 결과를 얻으려면 대개 여러 차례 개선해야 하는 문제
- 시각적 결과물이나 주관적 판단이 필요한 결과물을 평가할 때 결정론적 검사와 LLM이 매긴 점수를 함께 써야 하는 작업
- 오래 이어지는 Codex 채팅에서 대화 컨텍스트에만 의존하지 않고 진행 상황을 명확히 추적하려는 경우
Contents
반복 개선으로 어려운 문제 해결하기
Codex로 결과를 채점하고 개선하는 과정을 반복해 어려운 과제를 해결하세요.
채점 스크립트와 직접 검토할 수 있는 산출물 등으로 평가 체계를 마련하세요. Codex는 이 체계를 활용해 점수가 충분히 높아질 때까지 어려운 과제의 결과물을 개선할 수 있습니다.
채점 스크립트와 직접 검토할 수 있는 산출물 등으로 평가 체계를 마련하세요. Codex는 이 체계를 활용해 점수가 충분히 높아질 때까지 어려운 과제의 결과물을 개선할 수 있습니다.
Related links
Best for
- 매번 결과를 채점할 수 있지만 최상의 결과를 얻으려면 대개 여러 차례 개선해야 하는 문제
- 시각적 결과물이나 주관적 판단이 필요한 결과물을 평가할 때 결정론적 검사와 LLM이 매긴 점수를 함께 써야 하는 작업
- 오래 이어지는 Codex 채팅에서 대화 컨텍스트에만 의존하지 않고 진행 상황을 명확히 추적하려는 경우
Starter prompt
소개
한 번만 확인하면 끝나는 작업도 있습니다. 빌드에 성공하고 테스트를 모두 통과하면 작업이 끝납니다. 하지만 풀기 어려운 최적화 문제는 변경할 때마다 곧바로 평가하는 과정을 여러 번 반복해야 합니다. Codex가 다음에 무엇을 바꿀지 결정하려면 현재 결과를 살펴보고 점수를 매겨야 합니다. 결과가 충분히 좋아질 때까지 이 과정을 반복합니다.
이런 작업에는 진행 상황을 눈으로 확인할 수 있는 맞춤형 UI가 잘 맞습니다. Codex가 매번 출력과 생성한 결과물을 기록하도록 하세요. 앱에서 Codex가 작업을 이어가는 동안 목표로 삼은 결과물이나 모델 출력, 생성된 에셋이 점차 개선되는 모습을 확인할 수 있습니다. 이를 위해 Codex에 평가 지표를 계산하고 검토할 결과물을 생성하는 데 필요한 스크립트를 제공하세요.
평가부터 시작하기
작업을 시작하기 전에 성공 여부를 어떻게 판단할지 정하세요. 대개 다음 두 가지 평가를 함께 사용하는 것이 가장 효과적입니다.
- 결정론적 평가: 제약 조건 위반 여부나 코드로 계산한 결정론적 지표처럼 스크립트가 직접 점수를 매길 수 있는 항목을 평가합니다.
- LLM을 활용한 평가: 유사도, 가독성, 유용성, 전반적인 품질처럼 코드로 정확히 표현하기 어려운 특성은 LLM이 평가 기준표에 따라 점수를 매깁니다. 텍스트나 이미지 출력을 평가에 사용할 수 있습니다.
주관적인 판단이 중요하다면 모델을 호출하고 점수를 구조화된 형식으로 반환하는 스크립트를 Codex에 제공하세요. 예를 들어 Responses API를 사용할 수 있습니다. 사람이 눈으로 판단해야 했던 항목을 모델이 일관된 기준으로 채점하면 결정론적 평가를 보완할 수 있습니다.
평가 결과는 기계가 읽을 수 있는 형식으로 매번 저장하세요. 이전 결과와 쉽게 비교할 수 있어야 반복 평가가 효과적입니다.
팁: 어떤 항목을 검사할지 설명하고 Codex에 평가 스크립트를 작성해 달라고 요청하세요.
Codex에 종료 조건 지정하기
어려운 작업에서는 프롬프트에 “계속 개선하세요”라고만 쓰고 언제 멈출지 알려 주지 않으면 방향을 잃기 쉽습니다. 종료 조건을 명확히 지정하세요.
다음과 같이 설정할 수 있습니다.
- 종합 점수의 목표치를 정하세요.
- LLM 평가의 평균 점수에 별도의 목표치를 정하세요.
- 두 점수가 모두 각자의 목표치를 넘을 때까지 작업을 계속하도록 Codex에 지시하세요.
예를 들어 높은 품질의 결과물이 목표라면 종합 점수와 LLM 평가의 평균 점수가 모두 90%를 넘을 때까지 계속하라고 요청하세요. 그러면 Codex가 아직 목표에 미달하는지, 어떤 부분이 부족한지, 최근 변경이 도움이 되었는지 판단할 수 있습니다.
반복 과정 기록하기
작업이 길어질수록 Codex가 채팅 컨텍스트에만 의존하지 않고 반복 과정을 기록해 두는 편이 훨씬 안정적입니다.
Codex가 매번 다음 내용을 기록하도록 하세요.
- 지금까지의 최고 점수
- 직전 단계에서 변경한 내용
- 평가 결과에서 개선되거나 악화된 항목
- Codex가 다음에 시도할 내용
작업이 오래 걸릴 때는 이런 기록이 특히 중요합니다. 작업을 재개할 때 어디서부터 이어갈지 알 수 있고, 현재 실행에서 Codex가 스스로 내린 평가도 확인할 수 있습니다.
로그와 함께 결과물 직접 살펴보기
어려운 작업에서는 코드 변경 사항과 지표만으로 충분히 판단하기 어려울 때가 있습니다. Codex가 직접 만든 결과물도 살펴봐야 합니다.
생성한 이미지나 레이아웃, 렌더링된 화면처럼 눈으로 확인할 수 있는 출력이라면 Codex가 결과물을 직접 검토하도록 하세요. 예를 들어 출력이 디스크에 이미지 파일로 저장되어 있다면 Codex가 현재 이미지를 지금까지의 최고 결과와 비교하거나 정해 둔 평가 기준표에 비추어 검토하도록 하세요.
이렇게 하면 다음 변경을 더 정확하게 결정할 수 있습니다.
- 평가 스크립트로 점수를 확인합니다.
- 결과물을 살펴보면 점수에 드러나지 않은 부분을 확인할 수 있습니다.
- 점수와 결과물을 모두 고려해 다음 변경을 결정합니다.
실행할 때마다 뚜렷한 근거 없이 코드를 바꾸는 것보다 이 두 가지를 함께 살피는 편이 훨씬 효과적입니다.
매번 따를 절차 정하기
Codex에 매번 같은 절차를 따르도록 요청하세요.
- 현재 상태를 기준으로 평가를 실행하세요.
- 점수와 결과물을 살펴 가장 큰 문제를 찾으세요.
- 그 문제를 해결하는 데 집중해 한 가지만 변경하세요.
- 평가를 다시 실행하세요.
- 새 점수와 변경이 도움이 되었는지를 기록하세요.
- 각 점수가 목표치를 충족할 때까지 반복하세요.
이 절차를 꾸준히 지키는 것이 중요합니다. 한 번에 너무 많은 것을 바꾸면 Codex가 어떤 변경 덕분에 점수가 올랐는지 판단할 수 없습니다. 기록을 건너뛰면 작업 결과를 신뢰하기 어렵고 나중에 작업을 재개하기도 어렵습니다.
Related use cases
대규모 코드베이스 이해하기
Codex는 낯선 코드베이스의 구조를 정리하고 각 모듈의 역할과 데이터 흐름을 설명합니다. 코드를 수정하기 전에 어떤 파일을 먼저 읽으면 좋을지도 알려 줍니다.
목표를 향해 작업하기
Codex가 여러 대화 턴에 걸쳐 작업을 이어가야 하고 종료 조건의 충족 여부를 확인할 수 있다면 `/goal`을 사용하세요.
브라우저 게임 만들기
Codex로 게임 기획안을 구체적인 개발 계획으로 정리한 뒤, 그 계획에 따라 브라우저 게임을 만드세요