Skip to content

feat(v2): 초급 문제 트랙 — 난이도 seed-파생 + is_basic-aware difficulty 완화 (E1+E2)#174

Merged
LsMin124 merged 2 commits into
mainfrom
easy-problem-track
Jun 25, 2026
Merged

feat(v2): 초급 문제 트랙 — 난이도 seed-파생 + is_basic-aware difficulty 완화 (E1+E2)#174
LsMin124 merged 2 commits into
mainfrom
easy-problem-track

Conversation

@LsMin124

Copy link
Copy Markdown
Owner

요약

기본 입출력·산술/논리·조건·반복 누적 등 초급(Bronze) 문제 생성 추가. 사용자 우려("초급용 별도 구성 = 일관 파이프라인 깨짐")에 직답 — 별도 파이프라인 0. 단일 v2 엔진에 is_basic(seed) 파생 난이도 노브로 분기(P1/P2 modes-as-knobs 동형). RFC: docs/improvements/2026-06-25_easy-problem-track-rfc.md.

변경

  • 어휘: TargetAlgorithm + basic_io/arithmetic/conditional/loop_accumulate + is_basic() 분류(단일소스). 난이도=seed 파생 → 모순 불가·request/state/CLI 무수정.
  • strategist: is_basic → 은닉/위장 대신 명확·직접 저작 + composition 팔레트 basic 제외.
  • formalizer: is_basic → 작은 입력·단순 구조·입력의존, 무거운 graph/sequence/edge 머신 배제.
  • qa_reviewer: is_basic-aware difficulty charter — '쉽다'고 막지 않고 진짜 퇴화만(난이도-agnostic 코드화). 다른 QA kind·알고리즘 문제 byte-identical.

측정 (P1 N=3)

카테고리 완화 전 완화 후
arithmetic 1/3 3/3
basic_io 0/3 3/3
conditional 1/3 3/3
loop_accumulate(배열) 0/3 0/3
전체 2/12 (16%) 9/12 (75%)

스칼라 초급 9/9(100%). 배열(loop_accumulate)은 N=0↔constraints 모순(sequence write-side) → 후속 작업 B 필요(A↔B 결합 확증).

테스트 계획

  • 단위: is_basic 분류 / strategist·formalizer easy 프롬프트 / 완화 charter / 팔레트 basic 제외
  • 게이트: 890 passed / mypy --strict 100 / ruff green (비-basic byte-identical)
  • 실 LLM 측정: 스칼라 9/9 출하
  • 출하분 9개 prod 적재 (별도 스텝)
  • E3 큐/스택 (B 선행)

LsMin124 added 2 commits June 25, 2026 15:49
기본 입출력·산술/논리·조건·반복 누적 등 초급 문제 생성. 별도 파이프라인 0 —
단일 엔진에 is_basic(seed) 파생 난이도 노브로 분기(P1/P2 modes-as-knobs 동형).

- TargetAlgorithm + basic_io/arithmetic/conditional/loop_accumulate + is_basic()
  분류(단일소스). 난이도=seed 파생(모순 불가·플러밍 0, request/state/CLI 무수정).
- strategist: is_basic → 은닉/위장 대신 명확·직접 저작 + composition 팔레트 basic 제외.
- formalizer: is_basic → 작은 입력·단순 구조·입력의존, 무거운 graph/sequence/edge 머신 배제.
- qa_reviewer: is_basic-aware difficulty charter — '쉽다'고 막지 않고 진짜 퇴화만
  (난이도-agnostic 원칙 코드화). 다른 QA kind·알고리즘 문제 무영향.

측정 P1 N=3: difficulty 완화 16%→75%, 스칼라(arithmetic/basic_io/conditional) 9/9(100%).
배열(loop_accumulate) 0/3 = N=0↔constraints 모순(sequence write-side, 후속 B).
비-basic seed byte-identical. 게이트 890 passed/mypy --strict 100/ruff green.
초급 문제의 스토리/도메인을 난이도처럼 orthogonal 축으로 분리. A+B 수준에 도메인
스토리는 군더더기이고 ambiguity(반올림·할인 부호 등)·domain 클러스터링의 원인이었다.

- config: ABSTRACT_DOMAIN 센티넬(단일소스 — strategist set, formalizer/narrative read).
- strategist: is_basic 에서 _easy_abstract(run_id) run-seeded 선택(abstract 선호 ~2/3),
  abstract 면 domain 스탬프. domained 경로 byte-identical.
- formalizer: domain==abstract 면 추상 필드명(A,B,N,P)·수학적 output_format 지령
  (narrative 와 io_schema 정합 — quantity↔N 불일치 QA reject 방지).
- narrative: domain==abstract 면 스토리 없이 변수로 맨 서술(_ABSTRACT_SYSTEM_PROMPT).

실 LLM smoke: abstract 3/3 출하('정수 A,B가 주어진다. A×B를 구하라' 류, 서술·형식 변수
일치). domained 도 출하. 게이트 893 passed/mypy --strict 100/ruff. 비-abstract byte-identical.
@LsMin124 LsMin124 merged commit 6112a83 into main Jun 25, 2026
4 checks passed
@LsMin124 LsMin124 deleted the easy-problem-track branch June 25, 2026 07:37
LsMin124 pushed a commit that referenced this pull request Jun 25, 2026
… 초급 트랙)

- meta: main/dev c59244a, tests 768→862 (v1 515 + v2 347 worktree 실측), version '단일 IR 아키텍처 · 초급 트랙'
- summary: 단일 ProblemIR 아키텍처 Phase 2~5a 완결(IR validator+순수투영+백본 G0~G2, #172) + 초급 트랙(#174) + sequence 모순해소(#175)
- recentPrs #156~175, backlog 출하율 재측정 트랙, NFR-6/stack.pytest 347
- 4 HTML 하드코딩 테스트수 862
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant