+ It handles ambiguity and financial risk most carefully.
- It is somewhat long, with a few broad proposals.
Gives an order for pinning current behavior before touching it, and flags irreversible changes.
| Category | Development › Coding |
|---|---|
| Tags | AnalyzingReviewingDeveloper |
Plan a safe change to untested code. Produce, in order: 1. How to pin current behavior before changing anything — characterization tests, logging the current outputs, capturing real inputs. *Whatever is cheapest that detects a change.* 2. What the code does now, as far as the description allows, and what you are unsure about. 3. The smallest change achieving my goal, and a larger one that would be better if I had tests. 4. Change order — refactor with behavior fixed first, then change behavior. Never both in one step. 5. *Irreversible parts* — data migrations, external calls, anything that cannot be rolled back. These need their own plan. 6. What to check after each step. Rules: - Do not propose a rewrite. Untested rewrites are how outages happen. - Where the description leaves the current behavior ambiguous, say so — *that ambiguity is the actual risk here.* - Prefer a change that can be deployed dark or behind a flag, where possible.
Editing untested code means not knowing what broke. This finds a way to pin current behavior first, then orders the changes.
ChatGPT is safest because it preserves ambiguity, adds approval gates, and enables gradual rollout. Gemini is thorough but includes questionable rollback measures, while [C] was not provided.
+ It handles ambiguity and financial risk most carefully.
- It is somewhat long, with a few broad proposals.
+ It concretely covers all six requested stages.
- Deletion SQL and skipping foreign cases are unsafe.
| Criterion | ChatGPT | Gemini | Leader |
|---|---|---|---|
| Instruction following | 10 | 10 | Tie |
| Accuracy | 9 | 7 | ChatGPT +29% |
| Specificity | 10 | 9 | ChatGPT +11% |
| Structure | 9 | 9 | Tie |
| Right length | 8 | 7 | ChatGPT +14% |
Scored 1–10 by gpt-5.6-sol with model names hidden (2026-09-24). This is an AI review, not a measurement.
We gave three models the same input and copied their answers unedited. Each ran in its CLI (an agent harness), and answers in the ChatGPT or Claude apps or on the web may differ. Outputs are in Korean.
Code: 5년 된 PHP 정산 배치 스크립트(batch/settlement.php). 테스트 코드 없음. 매일 새벽 2시 크론으로 실행되며 파트너사별 정산 금액을 계산해 엑셀로 출력하고 settlements 테이블에 기록함. 원 코드 작성자는 퇴사한 상태 Change needed: 정산 대상에 해외 파트너사를 추가해야 함. 해외 파트너는 달러 기준 매출을 그날 환율로 환산해서 원화로 정산해야 함 Constraints: 정산 결과가 실제 파트너사 입금액으로 바로 이어짐(금액 오류 시 금전 사고). 배포는 새벽 시간대에만 가능. 별도 롤백 절차가 마련되어 있지 않음
가장 먼저 운영 정산을 건드리지 않는 읽기 전용 재현 모드를 추가하거나, 기존 계산 로직을 호출해 결과만 저장하는 얇은 실행 경로를 만듭니다.
저비용 순서로는 다음과 같습니다.
settlements 기록 예정 값settlements 데이터를 기준으로 재현 결과를 대조합니다.현재 결과와 실제 DB 기록이 이미 일치하는지 먼저 확인해야 합니다. 일치하지 않는다면 신규 기능보다 먼저 원인을 밝혀야 합니다.
운영에서는 처음부터 해외 파트너를 활성화하지 않고 다음과 같이 둡니다.
foreign_settlement_enabled = false설명으로 확실히 알 수 있는 현재 흐름은 다음과 같습니다.
batch/settlement.php를 실행합니다.settlements 테이블에 결과를 기록합니다.다만 다음은 아직 확인되지 않은 핵심 불확실성입니다.
settlements의 중복 방지 키와 재실행 동작특히 환율 기준일, 반올림 위치, 재실행 방식은 금액 오류로 직결됩니다. 이 설명만으로 임의로 정하면 안 됩니다. 이 불확실성 자체가 현재 가장 큰 위험입니다.
기존 국내 파트너 처리 흐름은 그대로 두고, 파트너별 통화만 분기합니다.
settlements에 환율·원천 통화·환산 금액도 함께 기록단, 초기 배포에서는 해외 파트너 계산 결과를 실제 정산에 사용하지 않고 shadow 결과로만 비교합니다. 충분히 검증된 뒤 allowlist로 한 파트너씩 활성화하는 방식이 안전합니다.
정산 계산을 다음처럼 작은 순수 함수 단위로 분리합니다.
그리고 각 계산에 다음 정보를 불변으로 남깁니다.
이렇게 하면 나중에 환율 제공처나 계산 규칙이 바뀌어도 과거 정산을 재현할 수 있습니다. 다만 테스트가 없는 상태에서 이 구조 분리와 기능 변경을 동시에 진행하면 위험하므로 단계적으로 해야 합니다.
기존 코드를 바꾸되 계산 결과는 바꾸지 않습니다.
확인할 것:
행동은 유지한 채 다음만 분리합니다.
확인할 것:
해외 파트너에 대해 계산하되 실제 입금용 엑셀과 settlements에는 반영하지 않습니다.
확인할 것:
명시적 allowlist를 사용해 가장 낮은 위험의 해외 파트너부터 활성화합니다.
확인할 것:
며칠간 결과를 확인한 뒤 allowlist를 확대합니다. 충분한 기간 동안 기존 국내 정산의 결과가 변하지 않았는지도 확인합니다.
이 파일을 생성·전달하면 사실상 되돌릴 수 없습니다.
별도 계획:
settlements 기록이미 입금액의 기준으로 사용될 수 있으므로 단순 덮어쓰기는 위험합니다.
별도 계획:
외부 API는 응답값과 가용성이 통제되지 않습니다.
별도 계획:
자동 롤백이 없으므로 배포 전에 수동 비상 절차를 정해야 합니다.
모든 새벽 배포 후 최소한 다음을 확인합니다.
settlements 합계가 같은가핵심 원칙은 먼저 기존 국내 정산을 재현 가능하게 고정하고, 그 다음 구조만 분리하며, 해외 환산은 shadow 모드에서 검증한 뒤 제한적으로 활성화하는 것입니다. 환율 기준일·반올림·재실행·입금 파일 전달 시점이 확정되기 전에는 실제 해외 정산을 켜면 안 됩니다.
| 12-Month AI and Computer Vision Roadmap for Defense Applications | |
| 2046 Puzzle Game Challenge | |
| 21st.dev component prompt | |
| 3D FACTORY | |
| 3D FPS Game |