# Agentic engineering experiment 4 > 에이전트 기반 코딩 실험 1, 실험 2, 실험 3에서 이어지는 내용. 2026년 3월 13일에 정리. [에이전트 기반 코딩 실험 1](https://wiki.g15e.com/pages/Agentic%20coding%20experiment%201.txt), [실험 2](https://wiki.g15e.com/pages/Agentic%20coding%20experiment%202.txt), [실험 3](https://wiki.g15e.com/pages/Agentic%20coding%20experiment%203.txt)에서 이어지는 내용. <2026년 3월 13일>에 정리. [s4](https://wiki.g15e.com/pages/Semi-structured%20software%20spec.txt)를 보강하여 [specdown](https://wiki.g15e.com/pages/specdown.txt)이라는 걸 만들어봤다. 마크다운으로 명세서를 작성하며 중간중간에 실행 가능한 <인수 테스트> 및 [Alloy](https://wiki.g15e.com/pages/Alloy%20Analyzer.txt) 모델을 끼워 넣는 방식. ## 기존 실험에서 아쉬웠던 점 - 명세서를 인간이 읽고 쓰기도 좋으면서 로직에 의해 쉽게 분석될 수 있으면 좋겠다는 생각에서 [반구조적 소프트웨어 명세서](https://wiki.g15e.com/pages/Semi-structured%20software%20spec.txt)에서는 을 썼었는데, YAML은 인간이 읽기에 [마크다운](https://wiki.g15e.com/pages/Markdown.txt)만큼 편하지는 않았다. - 명세와 코드 사이의 불일치 문제를 줄이기 위해 단일 파일에 실행 가능한 명세서를 모두 적으려고 하니까 명세서가 한없이 길어지는 문제가 있었다. - <소프트웨어 추적성> 개념을 도입한 건 좋았으나 비즈니스 목표 → 기능 → 인수 테스트로 이어지는 흐름으로 하드코딩된 게 마음에 안들었다. 다른 종류의 그래프(예: 에픽 → 스토리 → 인수 테스트 등)도 자유롭게 표현할 수 있으면 좋겠다. - [자연어로 작성된 명세서](https://wiki.g15e.com/pages/Specification%20written%20in%20natural%20language.txt) 문제를 제대로 다루지 못한 점이 아쉬웠다. - [LLM](https://wiki.g15e.com/pages/Large%20language%20model.txt)에게 를 쥐어주고 CLI가 LLM을 가이드하게 하자는 발상([재귀적 신경기호 제어 역전](https://wiki.g15e.com/pages/Recursive%20Neuro-Symbloic%20Inversion%20of%20Control.txt))도 괜찮았다. 지금은 LLM과 CLI가 찰떡궁합이라는 인식이 널리 퍼진 것 같다. ## 개선 [specdown](https://wiki.g15e.com/pages/specdown.txt)이라는 걸 만들어봤다. 작년에 만들었던 [s4](https://wiki.g15e.com/pages/Semi-structured%20software%20spec.txt)와 유사하게 실행 가능한 명세서를 반구조화된 문서로 표현하는 방식이다. - 전체를 로 하는 대신, YAML frontmatter가 있는 마크다운 형식으로 바꿨다. 이 정도만 되어도 충분히 구조적이다. - 약 20년 전에 [워드 커닝엄](https://wiki.g15e.com/pages/Ward%20Cunningham.txt)이 만든 [FIT](https://wiki.g15e.com/pages/Framework%20for%20integrated%20test.txt)를 참고해서(더 멀리는 <도널드 커누스>의 <문학적 프로그래밍>을 참고해서) 문서와 실행 가능한 코드가 잘 어우러지는 방식을 구현해봤다. - [Alloy Analyzer](https://wiki.g15e.com/pages/Alloy%20Analyzer.txt)를 쓸 수 있도록 했다. 이제 자연어, 모델링 언어, 인수 테스트가 하나의 문서에 좀 더 잘 엮이게 됐다. [자연어로 작성된 명세서](https://wiki.g15e.com/pages/Specification%20written%20in%20natural%20language.txt)의 문제를 조금 더 개선했다. - 마크다운 링크로 <소프트웨어 추적성>을 자연스럽게 구현했고, 설정 파일에서 간단하게 그래프의 성질을 정의할 수 있게 했다. ## 개밥 먹기 - specdown 자체를 specdown으로 정의한 명세서: https://corca-ai.github.io/specdown/ - 이 위키의 명세서: https://wiki.g15e.com/specdown/ - 그 외 비공개 프로젝트 3개