Datamimic – 코딩 에이전트가 멋대로 테스트 데이터를 만들지 못하게 하는 도구
Datamimic – don't let your coding agent invent its own test world
TL;DR Highlight
시드 고정 합성 데이터 엔진을 에이전트에 붙이면 재현 가능한 테스트 데이터가 나온다
Who Should Read
코딩 에이전트에게 테스트 데이터를 맡겼다가 실행마다 값이 달라져 회귀 테스트가 흔들리는 백엔드·QA 개발자
Core Mechanics
- 시드를 고정하면 같은 데이터가 나온다
- XML에 <setup rngSeed="N">을 쓰면 테스트한 런타임 프로필에서 같은 결과가 재생된다.
- 시드가 없으면 재현이 보장되지 않는다.
- 출력 해시로 동일성을 확인한다
- Python facade의 generate_domain은 determinism_proof.content_hash를 돌려준다.
- 같은 해시면 같은 데이터라는 뜻이다.
- 에이전트용 CLI가 따로 있다
- datamimic authoring 아래에 schema, capabilities, reference, compile, build, lint, dry-run 명령이 있다.
- 모든 authoring 명령은 기본 JSON 출력이고 파일이나 stdin(-)을 받는다.
- XML이 최종 산출물이다
- 저장되는 실행 프로젝트는 XML이고, DM JSON은 에이전트가 쓰는 임시 표현이다.
- Build가 ready가 되면 artifact.compiled_xml을 저장한 뒤 datamimic run model.xml로 실행한다.
- MCP 어댑터는 선택이다
- pip install "datamimic-ce[mcp]"로 같은 기능을 MCP 도구로 노출한다.
- Codex나 Claude Code용 플러그인도 제공된다.
Community Reactions
- 동일성 검증 범위가 정해져 있다는 점
- 원문 CI는 x64 7개 셀(ubuntu Python 3.11/3.12/3.13, 타임존 변형, windows)에서 시드 결과를 골든과 비교한다.
- 그 밖의 Python 버전이나 의존성 조합은 보장 범위 밖이다.
- 커버리지 수치
- Facade 도메인 4/4, 엔티티 23/23, 리터럴 제너레이터 34/35를 검증한다.
- SequenceTableGenerator는 DB 기반이라 해시 검증에서 제외된다.
- 댓글: 에이전트가 데이터를 직접 쓰기보다 생성 코드를 먼저 작성해 실행하는 방식이 낫다는 의견
- 댓글: 외래키 등 관계형 DB 제약을 기본 지원하는지 묻는 질문이 있었다는 반응
How to Apply
- 에이전트에 고정 시드 요청 붙이기
- 오늘 테스트 데이터를 에이전트에 시킬 때 아래 프롬프트를 붙여 넣고 시드와 필드 요구사항을 적는다.
- 결과 XML과 검증 근거를 함께 받아 리뷰한다.
- CI에서 content_hash 비교하기
- generate_domain을 seed와 clock을 고정해 호출하고 해시를 골든 값과 비교하는 테스트를 추가한다.
- 해시가 바뀌면 데이터가 달라진 것이므로 빌드를 실패시킨다.
- 에이전트 작업 흐름을 build → persist로 고정하기
- 에이전트 지침에 outcome=ready에서 멈추고 artifact.compiled_xml을 저장하도록 명시한다.
- 실제 DB 실행은 사람이 요청했을 때만 하도록 제한한다.
Try It
# Claude Code 또는 Codex에 DATAMIMIC 플러그인을 설치한 뒤 붙여넣기 (pip install datamimic-ce)
Create the dataset I describe with the DATAMIMIC plugin's generate-test-data skill and the project CLI. Submit a BuildRequestV4 with transient DM JSON, expectations for my stated requirements, and identifier/FK roles where needed. Repair the reported paths before retrying. Stop on outcome=ready, persist artifact.compiled_xml, and return its path with the separate bounded verification evidence. Execute the XML only if I requested real execution. Return a human-readable model review with the XML and verification evidence.
요구사항: {{만들 데이터 설명}}
이어서 해 볼 것: datamimic run model.xml 을 같은 시드로 두 번 돌려 결과가 같은지 비교해 보기Terminology
관련 논문
같은 시뮬레이션, 다른 근거: 도구 출력을 파일로 넘기면 LLM 에이전트 정확도가 어디서 깎이나
긴 툴 출력을 파일로 넘기자 GPT-5.1은 정확도 11.3%p 하락, 정식 출력 지정하니 회복
가짜 뉴스가 진짜 폭락을: LLM 트레이딩 에이전트 대상 정보 주입 공격
가짜 헤드라인 한 줄로 LLM 트레이딩 에이전트 62%를 조종했다(프롬프트 주입은 14%)
Harness Engineering 101: LLM은 뇌, harness는 몸
에이전트는 JSON 배열을 관리하는 루프이고, 16개 챕터로 직접 만들어 본다
Harness²: 에이전트 harness를 스스로 고쳐 쓰는 재귀 최적화 프레임워크
모델은 고정하고 harness를 재귀로 고쳤더니 벤치마크 점수가 최대 11.8%p 올랐다
해고된 Savannah 경찰관, ICE 요원 남편에게 Flock 계정 공유
경찰관이 Flock 계정을 남편(ICE 요원)에게 공유했고, 감사에서 983건 검색이 드러나 해고됐다
tmux와 Claude Code: 세션, send-keys, 그리고 한계선
tmux로 Claude Code 여러 개를 돌리면 편하지만 에이전트 4개쯤에서 한계가 온다
Hybrid Reasoning Agents: 잠재 공간에서 생각하고 텍스트로 행동하는 LLM 에이전트
잠재 공간 추론과 텍스트 도구 호출을 섞었더니 성능 10.4%↑, 토큰 최대 54.7%↓