# Show GN: Tenet - 인터뷰부터 DAG 실행, 3중 critic, steer 메시지까지 포함한 장시간 AI 코딩 하네스

> Clean Markdown view of GeekNews topic #28791. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=28791](https://news.hada.io/topic?id=28791)
- GeekNews Markdown: [https://news.hada.io/topic/28791.md](https://news.hada.io/topic/28791.md)
- Type: show
- Author: [jeikei](https://news.hada.io/@jeikei)
- Published: 2026-04-23T07:55:00+09:00
- Updated: 2026-04-23T07:55:00+09:00
- Original source: [github.com/JeiKeiLim](https://github.com/JeiKeiLim/tenet)
- Points: 6
- Comments: 0

## Topic Body

안녕하세요.  
장시간 자율 실행이 가능한 AI coding agent harness인 Tenet을 만들고 있어서 공유해봅니다.  
  
AI 코딩 에이전트를 써보면 짧은 작업은 꽤 잘 되는데, 몇 시간 이상 가는 구현으로 넘어가면 금방 불안해질 때가 많았습니다.  
스펙이 흐려지거나, 테스트는 돌아가는데 충분한지 모르겠고, 중간에 방향을 바꾸기도 애매하고, 세션이 끊기면 맥락도 같이 날아가고요.  
  
Tenet은 그 문제를 줄이려고 만든 하네스입니다.  
그냥 “오래 돌리는 에이전트”라기보다, 오래 돌려도 방향과 품질을 유지하게 하는 구조 쪽에 더 가깝습니다.  
  
대략 이런 흐름으로 동작합니다.  
  
1. Interview  
   - 먼저 요구사항을 인터뷰로 구체화합니다.  
   - 필요한 경우 기술 조사도 같이 합니다.  
  
2. Visuals / Architecture  
   - 아키텍처 다이어그램이나 UI mockup을 만듭니다.  
   - UI 작업이면 variation을 여러 개 만들고, 어떤 방향으로 갈지 먼저 고를 수 있게 했습니다.  
  
3. Spec / Harness / Scenarios  
   - 구현 spec, 테스트/검증 harness, scenario를 문서로 남깁니다.  
   - “무엇을 만들지”뿐 아니라 “무엇으로 통과로 볼지”도 같이 고정합니다.  
  
4. DAG decomposition  
   - 작업을 dependency graph로 쪼갭니다.  
   - 독립적인 job은 병렬로 실행할 수 있습니다.  
  
5. Autonomous execution loop  
   - 각 job을 실행하고, 끝나면 평가를 붙입니다.  
   - 이 루프를 오래 돌릴 수 있게 설계했습니다.  
  
평가 방식  
  
각 job은 끝났다고 바로 다음으로 넘어가지 않고, 3개의 critic을 통과해야 합니다.  
  
- code critic: 구현이 spec 의도와 맞는지  
- test critic: 지금 있는 테스트가 정말 이 job을 검증하기에 충분한지  
- Playwright e2e eval: 실제 사용자 관점에서 동작하는지  
  
중요하게 본 건, 이 critic들이 가능한 한 작성자 맥락과 분리된 fresh context에서 보도록 한 점입니다.  
코드 쓴 에이전트가 자기 결과물을 너무 쉽게 통과시키는 걸 줄이고 싶었습니다.  
  
README에도 적어뒀지만, 특히 test 쪽은 “테스트가 있냐”보다 *테스트가 제대로 검증하고 있냐*가 더 중요하다고 봤습니다.  
  
중간 steer  
  
장시간 돌리다 보면 사람이 중간에 방향을 조금 바꾸고 싶을 때가 있습니다.  
  
Tenet에서는 그때 실행을 처음부터 다시 설명하는 대신,  
그냥 *steer message*를 던지면 저장해두고 이후 관련 job에서 반영하도록 했습니다.  
  
즉,  
- 지금 당장 루프를 다 끊지 않아도 되고  
- 관련 있는 단계에서 다시 pickup 하게 하는 방식입니다.  
  
문서와 흔적을 남기는 쪽을 중요하게 봤습니다  
  
제가 이걸 만들면서 특히 중요하게 본 건,  
결과만 남기지 않고 *의사결정과 작업 흔적도 같이 남기는 것*이었습니다.  
  
.tenet/ 아래에 이런 것들이 남습니다.  
  
- interview  
- spec  
- harness  
- visuals  
- knowledge  
- journal  
- steer  
- status  
- SQLite state  
  
그래서 한 번 실행하고 끝나는 세션형 에이전트라기보다,  
*다음 작업에서도 다시 참고할 수 있는 개발 기록을 계속 쌓는 구조*를 지향하고 있습니다.  
  
느낌으로는  
“프리랜서나 외주에게 일을 넘길 때 필요한 문서화/검증/핸드오프 구조”를  
AI agent 쪽으로 가져오려는 시도에 더 가깝습니다.  
  
현재 상태  
  
아직 초기 단계입니다.  
그래도 기본적인 흐름은 이미 구현되어 있고, 현재는 다음 같은 것들이 들어 있습니다.  
  
- Claude Code / OpenCode / Codex 어댑터  
- MCP 서버 + CLI  
- DAG 기반 job orchestration  
- SQLite + WAL 기반 persistent state  
- orphan job recovery  
- 3-critic evaluation pipeline  
- steer message 처리  
- .tenet/ 문서 구조  
  
실제로 이걸 사용해 꽤 오래 돌려봤고,  
*6시간 넘게 사람 개입 없이 실행한 뒤 즉시 사용 가능한 결과가 나오는걸 확인했습니다.  
지금 제가 매일 쓰는 구현물 중 하나도 tenet을 사용해 나온 결과입니다.  
  
초기 단계 프로젝트라 거친 부분이 많습니다.  
어떠한 피드백도 편하게 주시면 감사하겠습니다.

## Comments



_No public comments on this page._
