# 감지기

> 죽음을 감지하려고 만든 것이 먼저 오탐을 냈습니다. 그리고 첫 완주는 아무것도 안 바꿨습니다.

- 수치: 오탐 1회
- 상태: wip
- 사람이 보는 화면: https://aitryed.com/ko/built/self-evolution/detector/
- 반대 언어: https://aitryed.com/en/built/self-evolution/detector/index.md
- 이 사이트 안내(AI용): https://aitryed.com/ko/llms.txt

---

**계획의 절반을 지우고 넷을 남겼는데, 그중 «새로 만든 건 하나»뿐입니다. 그리고 그게 만들자마자 오탐을 냈습니다.**

## 남긴 넷 중 새것은 하나

| 남긴 것 | 새로 만들었나 |
|---|---|
| 목차는 항상 싣고 본문은 필요할 때 부르기 | **이미 있던 것** |
| 작업 끝에 가공 없이 붙이기 | **이미 있던 것** |
| 주 1회 사람 승인 통합 | **이미 있던 것** |
| **감지기** | **이것만 새로** |

**새로 만든 게 하나뿐**이라는 게 이 프로젝트에서 제일 좋은 결과입니다. 원래 계획은 훨씬 컸는데, **쪼개고 보니 대부분 이미 있었습니다.**

## 왜 감지기만 새로 만들었나

앞의 장치가 **몇 달을 죽어 있을 수 있었던 이유**는 하나였습니다.

> **결과물이 없어도 아무 일도 안 일어났습니다.**

없으면 없는 대로 조용합니다. 그래서 **없는 걸 알려 주는 것**만 새로 필요했습니다.

나머지는 이미 돌고 있었습니다. **빠진 건 「돌고 있나 확인하는 눈」 하나**였습니다.

## 그리고 만들자마자 오탐을 냈습니다

감지기의 판정 기준을 이렇게 잡았습니다 — **「마지막 통합이 10일 넘었으면 경보.」**

만들자마자 **경보가 울렸습니다.**

확인해 보니 **잘못 울린 것**이었습니다. 통합은 오래됐는데, **앞단의 «적어 두기»는 멀쩡히 돌고 있었습니다.**

## 잘못 잡은 이유 — 「한 가지만 봤습니다」

통합이 늦은 데는 **두 가지 완전히 다른 이유**가 있습니다.

| 통합 지연 | 적어 두기 | 실제 상태 |
|---|---|---|
| 있음 | **0건** | **진짜 문제** — 재료가 안 들어옴 |
| 있음 | **살아 있음** | **문제 아님** — 재료는 쌓이는데 정리를 미룬 것 |

아래쪽은 **그냥 제가 바빠서 미룬 것**입니다. 재료는 안전하게 쌓여 있습니다. 나중에 하면 됩니다.

**「통합이 늦었다」 하나만 보면 둘이 똑같이 보입니다.**

## 그래서 두 값을 같이 보게 고쳤습니다

| 통합 지연 | 적어 두기 | 판정 |
|---|---|---|
| 있음 | **0건** | **⚠ 경보** |
| 있음 | 살아 있음 | **ℹ 가벼운 권장** |
| 없음 | — | **조용** |

가운데 줄이 핵심입니다. <strong>경보가 아니라 「권장」</strong>입니다. 경보로 두면 **자주 울리고, 자주 울리면 사람이 무시**합니다. 그러면 **진짜 경보도 같이 무시**됩니다.

> **경보는 아껴 써야 합니다. 자주 울리는 경보는 꺼져 있는 것과 같습니다.**

## 그리고 첫 완주는 아무것도 안 바꿨습니다

이 루프를 처음으로 끝까지 돌린 날 — **고칠 게 없었습니다.**

목차 어긋남 **0건**, 빠진 기록 **0건**. 표시만 갱신하고 끝났습니다.

이걸 적어 두는 이유가 있습니다. **「아무것도 안 바뀐 실행」이 실패가 아니기** 때문입니다.

검사 장치는 **대개 아무것도 안 나와야 정상**입니다. 매번 뭔가 나오면 그게 이상한 것입니다.

그런데 사람 마음은 <strong>아무것도 안 나오면 「이거 제대로 도는 거 맞나」</strong>가 됩니다. 그래서 **첫 완주에서 0건이 나왔다는 사실 자체를 기록**해 뒀습니다 — **나중에 「한 번도 안 걸렸으니 고장인가」를 물을 때 답이 되라고요.**

## 여기부터는 자세한 기록입니다

계획의 절반을 지우고 남긴 것이 넷인데, 그중 **새로 만든 건 감지기 하나**다.

나머지 셋은 이미 있던 것을 정리한 것이다 — 색인은 상시 주입하고 본문은 필요할 때 부르기, 세션 끝에 가공 없이 붙이기, 주 1회 사람 승인 통합. 감지기만 없던 부품이었다.

## 왜 이것만 새로 만들었나

앞의 장치가 몇 달을 죽어 있을 수 있었던 이유는 하나다. **산출물이 없어도 아무 일도 안 일어났다.**

증류기가 안 돌면 본능 파일이 안 생길 뿐이고, 본능 파일이 없어도 세션은 멀쩡히 돈다. 실패에 대가가 없으면 실패가 지속되고, 지속되는 실패는 결국 정상 상태로 보인다.

그래서 감지기의 일은 **대가를 만드는 것**이다. 아무것도 안 하면 알림이 온다.

## 감지기가 먼저 오탐을 냈다

만들자마자 감지기가 경보를 울렸다. 판정 기준이 "마지막 통합이 10일 넘음"이었는데, 그동안 **캡처는 멀쩡히 돌고 있었다.**

통합이 늦은 것과 학습이 멈춘 것은 다르다. 통합은 정리 작업이라 늦어도 정보는 계속 들어오고 있다. 그런데 기준 하나로는 그 둘이 구분이 안 됐다.

그래서 기준을 하나 더 붙였다 — **최근 7일 안에 갱신된 메모리 개수.**

| 통합 지연 | 캡처 | 판정 |
|---|---|---|
| 있음 | **0건** | ⚠ 정체 |
| 있음 | 살아 있음 | ℹ 가벼운 권장 |
| 없음 | — | 조용 |

**두 축이 다 나빠야 경보**를 울린다. 캡처가 살아 있으면 가벼운 권장으로 내린다.

여기서 배운 게 이거다. **감지기의 오탐은 감지기 문제가 아니라 지표 문제였다.** "마지막 통합 시각"은 재기 쉬운 값이라 골랐는데, 재기 쉬운 값이 재고 싶은 것과 다른 경우다. 재고 싶었던 건 "학습이 멈췄나"인데, 잰 건 "정리를 했나"였다.

늑대가 안 왔는데 우는 감지기는 **한 번만 울어도 다음부터 안 읽힌다.** 그게 죽는 것보다 나쁠 수 있다 — 죽은 건 언젠가 들키지만, 무시당하는 건 계속 도는 채로 무용해진다.

## 첫 완주는 아무것도 안 바꿨다

처음으로 끝까지 돌린 날, 색인 어긋남 0건, 누락 캡처 0건이었다. 고칠 게 없어서 마커만 갱신하고 끝났다.

**상시 캡처가 잘 되고 있으면 통합이 no-op인 게 정상이다.**

이걸 미리 적어두지 않았으면 "루프가 아무것도 안 한다"고 판단하고 뭔가를 더 만들었을 것이다. 그게 이 프로젝트가 처음에 밟은 함정과 정확히 같은 함정이다 — **아무 일도 안 일어나는 것을 고장으로 읽고, 고치겠다고 부품을 늘리는 것.**

그래서 no-op을 기대 결과로 미리 적어 두는 게 설계의 일부다. 성공했을 때 무엇이 보일지를 안 적어 두면, 성공을 실패로 오독한다.
