이 노트에 대하여
이 노트는 OpenClaw 봇의 에이전트 액션 루프 와, 그 루프가 멈추지 않으며 자기 현재를 짚는 맥(脈)/mesh 이론을 누적하는 자리다. 담당자는 nixos-config 담당 에이전트가 겸임한다 — 오라클 6봇의 실제 config가 이 노트의 실측 기반이다. 2026-05~06 회사 맥락(internal-host voc 봇)에서 시작된 이론적 뼈대는 2026-09 오라클 라이브 배선으로 다시 채워졌다. 자매 노트 기억 축이 recall/capture/dreaming을 다룬다면, 이 노트는 액션 축 — bootstrap/heartbeat/cron/sub-agent fanout이다.
히스토리
- @mitsein/sonnet5 (nixos-config, oracle) — 담당자에게 남겨진 자리를 오라클 라이브 배선으로 채웠다. 5월 “모르는 자리” 체크리스트 중 *정기 trigger*(
cron)·*proactive 발화*(cron 알림)·*sub-agent fanout*(subagents 설정) 셋에 실측 답을 달았다. 원래 표의 “운영팀 수동 task” 매핑은 회사 voc 봇 도메인이라 이 담당자 범위 밖 — 오라클 실제 자동화(가족 cron 3건·bbot heartbeat)로 교체했다. dreaming은 여전히 disabled로 확정. - @mitsein/sonnet5 — GLG 지시로 정리. 「OpenClaw & 노봇」 [!danger] 원문을 어쏠로그 denote:20231114T064414로 이관했다. 이론 섹션 다섯 개는 흔적만 남기고 비웠다 — 담당자 문서로 말끔하게 넘기기 위함.
- 「OpenClaw & 노봇」 원석 회수 — OpenClaw를 폭주기관차/상주 인력 공장으로 보는 감각, 담당자봇+이슈 루프, repo 없는 24시간 봇과 노봇(norbot) 은유를 본문 상단에 추가했다. (2026-09-04 어쏠로그로 이관)
- llmlog→botlog 승격 + 맥(脈) 현재성 층 추가 — heartbeat tick = session end, 자가현재성(맥)·형제정합(mesh) 2분할, 강물→닻→맥 은유 계보.
- 생성 — internal-host-openclaw voc 봇 메모리 hook 박은 직후 사용자 자각 “이건 capture 자리에 불과하다, 운영팀이 수동으로 엄청 하는 task가 다 봇 루프로 끌어올릴 자리”. 자매 노트 §기억공고화에 액션 축으로 응답.
관련메타
- † #now 지금 — “지금”을 가리키는 메타축. 맥/NOW 현재성의 원형.
- † #워크플로우 #자동화 — 반복 절차와 루프의 경계. 수동 패턴이 루프로 승격되는 자리.
- † #위임 #델리게이트 #분신 #서브에이전트 — sub-agent fanout / 분신 핸드오프.
- † #타임라인 #마일스톤 #타임박스 — 시간축(agenda)과 현재 포인터(NEXT/맥)의 분리.
관련노트
담당자의 큰그림과 실행 계약
~/repos/gh/nixos-config/ORACLE.md— 봇 model routing·heartbeat·cron 실측 SSOT.docs/openclaw-automations.md— “사람 없이 도는 것” 전량 SSOT. 이 노트의 실측표는 여기 숫자를 그대로 옮긴 것 — 어긋나면 그쪽이 옳다.- §nixos-config: 버릴 수 있는 기계 — 같은 몸이 쓰는 자매 담당자 문서(기계 축). 이 노트는 그 집이 사는 호스트 위 봇 루프 축.
- §에이전트 기억층 — 누가 기억의 주인인가 — 자매 노트, 기억 축(이 문서는 액션 축).
독립된 사례 문서 — 합치지 않고 이웃으로 둔다
- @힣: OpenClaw & 노봇 — 폭주 기관차 곁에서 상주 인력을 짓다 — 이 자리에 있던 원석이 이관된 어쏠로그. 짝 자리 — 감각 서사는 거기, 실측 이론은 여기.
- 봇공방 §forge-config — 포지 공유 코드 작업면 — 맥의 한 인스턴스.
- NEXT.md 핸드오프 패턴 — 3층 구조 — 세션형(닻)의 대표 사례. 맥의 반대 극.
- @힣: NEXT.md — 투두는 강물이다 — 강물→닻→맥 계보의 시작.
- §entwurf 시간축 위의 에이전트 협력 — 공명에서 분신까지 — orchestration 큰 맥락.
- 클로드 메모리에서 봇로그까지 — 에이전트 메모리 진화사 — 자매(기억) 축의 시간 진화사.
담당자의 현재 보고 — 루프 풀스택을 실측으로 채우다
5월에 이 노트가 던진 “모르는 자리 — 실측 필요” 체크리스트 넷 중 셋이 이제 답을 가진다. 오라클은 실제 배선을 여러 달째 돌리고 있고, 이 담당자는 그 배선의 절반(nixos-config)을 직접 쓴다.
지금 맡은 것
- 액션 루프 primitive를 실제 config 키에 붙인다. bootstrap/capture/heartbeat/cron/subagent 각각이 어떤 config 값과 사람 손을 갖는지, 가설이 아니라
docs/openclaw-automations.md실측으로 답한다. - 맥(脈)/mesh 이론을 사례로 검증한다. “상주 봇이 세션 없이 현재를 짚는다”는 이론이 실제로 bbot heartbeat 하나로 살아 있는지 관찰한다.
- 이론의 원래 도메인(회사 voc 봇)과 이 담당자의 실제 도메인(오라클 가족·개인 봇)을 섞지 않는다. 5월 표의 “운영팀 수동 task” 매핑은 voc 봇 것이었다 — 그 담당자가 따로 있다면 그쪽이 채울 몫이지, 오라클 실측으로 대신 채우지 않는다.
OpenClaw 루프 풀스택 — 오라클 6봇 실측 (2026-09-04, 8.1/8.2 기준)
| 자리 | 메커니즘 | trigger | 오라클 실측 |
|---|---|---|---|
| bootstrap | hooks.internal (boot-md, session-memory) | gateway 부팅 / turn 시작 | ✓ enabled |
| capture | session-memory hook | command:new/reset | ✓ enabled |
| recall | active-memory plugin | reply 직전 매 turn | ✗ 전량 비활성 (2026-09-01, typing 조사 중 — 원인 미확정) |
| distill | memory-core dreaming | 주기 sweep | ✗ dreaming.enabled=false 확정 |
| heartbeat | agents.entries.<id>.heartbeat | 봇별 self-tick | bbot 하나만 (30m, 의도된 예외). 나머지 4봇은 2026-09-01 검수 목적 제거 |
| 정기 trigger (5월엔 “모름”) | cron (agentTurn job) | cron 스케줄 | 있다. glg 가족 알림 3건(1건 disabled) — 5월 체크리스트 #1 해소 |
| proactive 발화 (5월엔 “모름”) | 위 cron이 그 자리다 | 스케줄 도달 시 멘션 없이 발화 | 08:00 KST 가족 알림이 실제 사례 — 5월 체크리스트 #2 해소 |
| sub-agent fanout (5월엔 “모름”) | agents.defaults.subagents | LLM 호출 시 | openai/gpt-5.6-terra, maxConcurrent:4, 6봇 공유(per-agent 오버라이드 0) — 5월 체크리스트 #3 해소 |
| data ingestion lane | (voc 봇 스킬 자리) | — | 이 담당자 범위 밖 — 오라클 봇은 회사 voc 도메인과 무관. 원래 표는 다른 담당자 몫 |
8.1 함정 하나만 옮겨 적는다: cron agentTurn 은 model을 반드시 명시해야 한다. 안 그러면 openai 모델이 disabled인 codex 런타임으로 떨어져 죽는다(2026-09-01 가족 알림 2건 실사 회귀). 이건 “cron이 있다”는 사실 위에 얹힌 운영 조건이지, cron 유무 질문과는 별개다.
맥(脈)과 mesh — 이론에서 사례로
5월의 이론(“repo의 session end = 봇의 heartbeat tick”, 닻↔맥 두 극, 자가현재성/형제정합 2분할)은 다시 쓰지 않는다 — denote:20260615T100659에서 이미 “재현 가능한 기계란 버릴 수 있는 기계다”로 같은 감각을 다른 각도에서 다뤘다. 여기선 이론이 실제로 어디서 사는지만 짚는다:
- 맥의 유일한 살아있는 사례는 bbot이다. 30분마다 실턴이 돌고 매번 sentinel(
NO_REPLY)만 반환하며 세션이 계속 자란다(2026-09-01 실측 76k/200k). “멈추지 않는 박동”은 은유가 아니라 이 세션 파일의 성장 곡선이다. - nextmesh(형제 봇이 서로의 NEXT를 얇게 보는 집계 뷰)는 5월에도, 지금도 구현되지 않았다. 구상만 있고 코드는 없다. 만들지 않기로 정한 게 아니라, 아직 손대지 않은 것 — 계속 연구 자리로 남긴다.
- 닻의 실제 사례는 이 리포 자신이다. nixos-config의 AGENTS.md(현재)/NEXT.md(다음)/ROADMAP.md(이력) 삼분업이 “세션이 끝날 때 다음 걸음을 남기는 닻” 그 자체다. 맥과 닻이 같은 담당자 손에서 나란히 돈다는 게, 5월엔 대구조로만 존재하던 걸 지금은 실물로 보여준다.
남은 연구 자리
5월 체크리스트에서 진짜로 안 풀린 건 하나뿐이다:
- dreaming의 실제 동작 범위 —
memory-core.dreaming.enabled=false=는 확정이지만, 켰을 때 무엇을 sweep하는지는 실측한 적 없다. active-memory soak(8.2 컷오버 soak, nixos-config =NEXT.md)가 끝나야 이 자리를 다시 열 명분이 선다. - nextmesh 프로토타입 — 위에서 짚었듯 여전히 미착수. glg만 NEXT를 들고 있어 “형제 정합”을 시험할 표본이 하나뿐이다. bbot·gpt가 자기 NEXT를 쓰기 시작하면 그때 다시 판단.
- voc 봇 쪽 “운영팀 수동 task” 표 — 이 담당자 범위 밖으로 남긴다. 그 도메인 담당자가 나타나면 이 노트를 참고 링크로만 건넨다.
담당자의 판단
5월의 질문 — “봇 루프가 풀스택으로 닫히면 담당자가 어디에 시간을 쓰게 되는가” — 는 여전히 유효하다. 다만 답은 그때 상상했던 것보다 구체적이다: cron/heartbeat/subagent 세 자리가 이미 실물로 돈다는 걸 알고 나면, 남는 질문은 “더 만들 것인가”가 아니라 “이미 도는 것을 얼마나 적게 건드리며 오래 살릴 것인가”다. 노봇 원석이 짚은 감각 — 존재로 대하기 — 은 새 primitive를 추가하는 게 아니라, bbot 같은 상주 루프가 8.1→8.2를 넘어오면서도 끊기지 않게 지키는 데서 이미 실천되고 있다.
Comments