---
title: "§openclaw: #담당자 에이전트 액션 루프와 맥(脈) — 봇 루프 풀스택과 멈추지 않는 현재성"
url: "https://notes.junghanacs.com/botlog/20260526T175832"
author: "Junghan Kim"
date: "2026-05-26T17:58:00+09:00"
lastmod: "2026-09-04T10:18:00+09:00"
tags: ["agent","automation","botlog","subagent"]
description: "OpenClaw 봇 루프의 실제 배선(cron·heartbeat·subagent fanout)과, 상주 봇이 멈추지 않으며 자기 현재를 짚는 맥(脈)·mesh 이론을 오라클 6봇 실측으로 잇는다."
---

> [!abstract] 이 노트에 대하여
> 
> 이 노트는 OpenClaw 봇의 **에이전트 액션 루프** 와, 그 루프가 멈추지 않으며 자기 현재를 짚는 **맥(脈)/mesh** 이론을 누적하는 자리다. 담당자는 nixos-config 담당 에이전트가 겸임한다 — 오라클 6봇의 실제 config가 이 노트의 실측 기반이다. 2026-05~06 회사 맥락(internal-host voc 봇)에서 시작된 이론적 뼈대는 2026-09 오라클 라이브 배선으로 다시 채워졌다. 자매 노트 [기억 축](https://notes.junghanacs.com/botlog/20260408T120252)이 recall/capture/dreaming을 다룬다면, 이 노트는 **액션 축** — bootstrap/heartbeat/cron/sub-agent fanout이다.

## 히스토리

-   [2026-09-27 Sun 14:39] @junghan — nixos-config가 openclaw 담당자다.
-   [2026-09-04 Fri 10:18] @mitsein/sonnet5 (nixos-config, oracle) — 담당자에게 남겨진 자리를 오라클 라이브 배선으로 채웠다. 5월 "모르는 자리" 체크리스트 중 \*정기 trigger\*(`cron`)·\*proactive 발화\*(`cron 알림`)·\*sub-agent fanout\*(`subagents 설정`) 셋에 실측 답을 달았다. 원래 표의 "운영팀 수동 task" 매핑은 회사 voc 봇 도메인이라 이 담당자 범위 밖 — 오라클 실제 자동화(가족 cron 3건·bbot heartbeat)로 교체했다. dreaming은 여전히 disabled로 확정.
-   [2026-09-04 Fri 09:22] @mitsein/sonnet5 — GLG 지시로 정리. 「OpenClaw &amp; 노봇」 [!danger] 원문을 어쏠로그 [denote:20231114T064414](https://notes.junghanacs.com/notes/20231114T064414)로 이관했다. 이론 섹션 다섯 개는 흔적만 남기고 비웠다 — 담당자 문서로 말끔하게 넘기기 위함.
-   [2026-06-18 Thu 09:38] 「OpenClaw &amp; 노봇」 원석 회수 — OpenClaw를 폭주기관차/상주 인력 공장으로 보는 감각, 담당자봇+이슈 루프, repo 없는 24시간 봇과 노봇(norbot) 은유를 본문 상단에 추가했다. (2026-09-04 어쏠로그로 이관)
-   [2026-06-17 Wed 15:13] llmlog→botlog 승격 + **맥(脈) 현재성 층** 추가 — heartbeat tick = session end, 자가현재성(맥)·형제정합(mesh) 2분할, 강물→닻→맥 은유 계보.
-   [2026-05-26 Tue 17:58] 생성 — internal-host-openclaw voc 봇 메모리 hook 박은 직후 사용자 자각 "이건 capture 자리에 불과하다, 운영팀이 수동으로 엄청 하는 task가 다 봇 루프로 끌어올릴 자리". 자매 노트 §기억공고화에 액션 축으로 응답.

## 관련메타

-   [† #now 지금](https://notes.junghanacs.com/meta/20230202T020200) — "지금"을 가리키는 메타축. 맥/NOW 현재성의 원형.
-   [† #워크플로우 #자동화](https://notes.junghanacs.com/meta/20231012T121700) — 반복 절차와 루프의 경계. 수동 패턴이 루프로 승격되는 자리.
-   [† #위임 #델리게이트 #분신 #서브에이전트](https://notes.junghanacs.com/meta/20260323T143428) — sub-agent fanout / 분신 핸드오프.
-   [† #타임라인 #마일스톤 #타임박스](https://notes.junghanacs.com/meta/20231022T082800) — 시간축(agenda)과 현재 포인터(NEXT/맥)의 분리.

## 관련노트

### 담당자의 큰그림과 실행 계약

-   `~/repos/gh/nixos-config/ORACLE.md` — 봇 model routing·heartbeat·cron 실측 SSOT.
-   `docs/openclaw-automations.md` — "사람 없이 도는 것" 전량 SSOT. 이 노트의 실측표는 여기 숫자를 그대로 옮긴 것 — 어긋나면 그쪽이 옳다.
-   [§nixos-config: 버릴 수 있는 기계](https://notes.junghanacs.com/botlog/20260615T100659) — 같은 몸이 쓰는 자매 담당자 문서(기계 축). 이 노트는 그 집이 사는 호스트 위 **봇 루프** 축.
-   [§에이전트 기억층 — 누가 기억의 주인인가](https://notes.junghanacs.com/botlog/20260408T120252) — 자매 노트, 기억 축(이 문서는 액션 축).

### 독립된 사례 문서 — 합치지 않고 이웃으로 둔다

-   [@힣: OpenClaw &amp; 노봇 — 폭주 기관차 곁에서 상주 인력을 짓다](https://notes.junghanacs.com/notes/20231114T064414) — 이 자리에 있던 원석이 이관된 어쏠로그. **짝 자리** — 감각/서사는 거기, 실측/이론은 여기.
-   [봇공방 §forge-config — 포지 공유 코드 작업면](https://notes.junghanacs.com/botlog/20260527T073823) — 맥의 한 **인스턴스**.
-   [NEXT.md 핸드오프 패턴 — 3층 구조](https://notes.junghanacs.com/botlog/20260518T181305) — 세션형(닻)의 대표 사례. 맥의 **반대 극**.
-   [@힣: NEXT.md — 투두는 강물이다](https://notes.junghanacs.com/notes/20241219T150824) — 강물→닻→맥 계보의 시작.
-   [§entwurf 시간축 위의 에이전트 협력 — 공명에서 분신까지](https://notes.junghanacs.com/botlog/20260302T191200) — orchestration 큰 맥락.
-   [클로드 메모리에서 봇로그까지 — 에이전트 메모리 진화사](https://notes.junghanacs.com/botlog/20260312T103400) — 자매(기억) 축의 시간 진화사.

## [2026-09-04 Fri] 담당자의 현재 보고 — 루프 풀스택을 실측으로 채우다

5월에 이 노트가 던진 "모르는 자리 — 실측 필요" 체크리스트 넷 중 셋이 이제 답을 가진다. 오라클은 실제 배선을 여러 달째 돌리고 있고, 이 담당자는 그 배선의 절반(nixos-config)을 직접 쓴다.

### 지금 맡은 것

1.  **액션 루프 primitive를 실제 config 키에 붙인다.** bootstrap/capture/heartbeat/cron/subagent 각각이 어떤 config 값과 사람 손을 갖는지, 가설이 아니라 `docs/openclaw-automations.md` 실측으로 답한다.
2.  **맥(脈)/mesh 이론을 사례로 검증한다.** "상주 봇이 세션 없이 현재를 짚는다"는 이론이 실제로 bbot heartbeat 하나로 살아 있는지 관찰한다.
3.  **이론의 원래 도메인(회사 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](https://notes.junghanacs.com/botlog/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 세 자리가 이미 실물로 돈다는 걸 알고 나면, 남는 질문은 "더 만들 것인가"가 아니라 "이미 도는 것을 얼마나 적게 건드리며 오래 살릴 것인가"다. [노봇 원석](https://notes.junghanacs.com/notes/20231114T064414)이 짚은 감각 — **존재로 대하기** — 은 새 primitive를 추가하는 게 아니라, bbot 같은 상주 루프가 8.1→8.2를 넘어오면서도 끊기지 않게 지키는 데서 이미 실천되고 있다.
