한 달 넘게 Codex를 주로 사용했다.

1. Codex Web
Github repository랑 연동해서 PR을 보낼 수 있다. (Public/Private 상관없이 연동할 수 있다.)
소개 영상을 보면 어떻게 쓰이는지 감이 올 것이다.
주로 Codex CLI를 사용했고 웹은 잘 활용하진 않았다.
예를 들면,
- Codex CLI : 질문1 → 응답1 → 내가 직접 코드 수정 → 질문2 → 응답2
- Codex 웹 : 질문1 → 응답1 → 질문1-2 → 응답1-2 → 질문2 → 응답2
웹은 프롬프트로만 코드에 개입할 수 있는 반면, CLI는 코드에 직접 개입하며 진행할 수 있다.
기능 구현할 때는 코드에 개입하며 작업하는 편이 더 빠르고 의도대로 진행되며,
웹은 PR 반영 과정까지 거쳐야 하므로 바쁘게 구현 중일 때 사용하기엔 번거롭다.
다만, 룰이 갖춰진 프로젝트에서 검사나 제안 같은 프로세스를 수행하기에 좋아보인다.
+ PR Failed to create (25.11.28)


PR 만들기가 안될 때가 있다. "PR Failed to create"


"환경 만들기"와는 별개로, Connector에 Repository 접근 권한이 허용되야 PR이 가능하다.
2. Codex CLI
사용 방법,예시
`npm i -g @openai/codex`
Codex CLI는 npm 하나로 준비가 끝난다. 나는 윈도우 wsl에서 사용했다.




'예시2' 처럼 "수정하지 말고 검토해줘" 뉘앙스로 말하고, 개선 방향과 변경 범위를 확인하고 반영하는 것도 좋다.
상태 의존성이 높은 코드에서 수정할 때, 필요 이상으로 복잡하게 만들 때가 있는데
이럴 때 어떻게 구현할지 확인하고, 의도를 명확히 한 뒤 반영하면 편하다.
멀티 모달인지 다른 처리인지는 모르겠지만 이미지/엑셀/PDF 등 파일도 분석된다.
그래서 스크린샷이나 다이어그램을 통해 기능 구현도 가능하다.
(wsl기준 경로만 정확하면 프로젝트 루트 밖에 있어도 Read된다.)
사용량 제한

두 가지 토큰 제한이 있다. 체감상 weekly limit은 여유 있고,
5h limit은 리팩토링이나 패키지명 수정처럼 코드 베이스를 넓게 탐색하는 질의를 반복하면 도달할 때가 있다.
나는 5h limit이 가까워지면 `Ctrl+C`로 중단하고, 리셋된 후 “이어서 해줘”하는 방식으로 조절했다.
(중간에 멈췄다가 이어도 흐름이 잘 이어진다.)
그리고 로그를 보면 Codex 동작이 어느 정도 보이기 때문에,
의도치 않은 곳을 들쑤시고 있다면 바로 정정할 수 있다. ex) 외부 패키지, 내장 패키지, 빌드 파일 등

5h, weekly limit과는 별개로 Session마다 context left가 있는데 이건 비교적 금방 찬다.
0%가 되면 해당 세션에서는 더 이상 질의할 수 없다는 점을 참고하길 바란다.
Agents.md
docs: https://agents.md/
Codex에서 System Instruction과 유사한 설정을 적용할 수 있다.
가장 우선되는 프롬프트는 아니지만 반영된다.
Example1
## Scope of Modification
- Do not modify anything unless explicitly instructed or requested by the author.
## Preserve Author’s Intent
- Maintain the original tone, structure, and wording style whenever possible.
- Only correct clear typos or objective errors.
## Record All Changes
- Document every modification along with the reason and the exact change made.
## Always Reflect the Latest File
- All updates must be based on the latest version currently stored in the repository.
- Previous conversation history should be considered as reference only, not the source of truth.
- If any previous statement conflicts with the current file, always prioritize the latest file.
## Language Preference
- Korean is the default language for responses unless the user requests otherwise.
- Technical terms or error messages may include English with appropriate Korean explanation when needed.
Example2
## Setting Color Transparency
- withOpacity() 말고 withAlpha(0~255)를 사용해줘
- withOpacity 는 deprecated 됐어
플러터 개발에서, deprecated된 withOpacity() 메서드로 코드를 생성하길래 Example2처럼 추가했더니 withAlpha 메서드를 사용했다.
Example1은 일반적인 내용을 작성했다.
눈에 띄는 영향을 보려면 스크립트나 테스트 관련 지침을 설정하는 편이 효과적이다.
Session
대화를 시작하면 세션이 활성화되면서 OpenAI 클라우드 인프라에 독립된 공간이 할당되고, 세션이 만료되면 그 공간이 삭제되는 구조로 보인다.

`codex resume` 명령어를 사용하면 기존 세션을 선택할 수 있다.
codex 로 시작하면 기본적으로는 새로운 세션이 생성되며, `codex resume --last` 를 사용하면 가장 최근 세션으로 접근한다.
docs:https://github.com/openai/codex/blob/main/docs/getting-started.md#cli-usage
Codex 에서 git
윈도우에서 Codex를 사용할 때 `git status`를 Codex 환경에서 실행해보면 모든 파일이 수정된 것으로 표시된다. 이는 개행(EOL) 차이 때문인 것으로 보인다.
따라서 “git 변경 사항 확인하고 commit 메시지 작성해줘” 같은 질의를 못했다.
생각한 김에
그런데 Codex에서의 수정 사항이 로컬에 반영될 때는 개행 문제가 발생하지 않는다.
Codex가 로컬에 변경 내용을 반영하는 흐름은 대략 다음과 같을 것이다.
- 로컬 프로젝트 Cloud에 복사
- Cloud에서 코드 수정 그리고 `git patch` 생성
- 로컬에서 `git apply` 반영
여기서 patch는 변경 내용만 기술하며, 개행 정책은 `git apply`하는 로컬 환경이 결정한다.
Codex CLI 아쉬운 점
예를 들어
질문1 → 응답1 → 내가 수정 → 질문2 → 응답2
이런 흐름에서 내가 수정한 내용이 반영되지 않은 채 응답2가 생성되는 경우가 많다.
그럴 때 Codex는 내가 수정한 코드를 무시하고, 마치 수정 전 상태(응답1)로 되돌아가 그 버전에서 코드를 이어서 수정하는 듯한 동작을 보인다.
AGENTS.md 에 관련 지침을 추가해도 잘 적용되지 않는 것 같고,
질의 시 “방금 수정했으니 최신 파일을 읽고 반영해줘” 처럼 직접 언급하는 편이 비교적 확실하다.