Headlong: 멈추지 않고 계속 생각하는 에이전트용 Bash 마이크로 하니스
Headlong: A microharness for persistent agents
TL;DR Highlight
10K줄 Bash로 에이전트가 요청 없이도 계속 생각하게 만들었다
Who Should Read
요청이 올 때만 동작하는 에이전트의 한계를 느끼고 상시 구동형 에이전트 구조를 고민하는 백엔드·에이전트 개발자
Core Mechanics
- 요청 없이도 계속 생각한다
- 일반 하니스는 작업이 끝나면 다음 요청까지 멈춰 있다.
- Headlong 에이전트는 외부 입력이 없어도 스스로 다음 생각을 이어 간다.
- 사람의 메시지는 세션을 여는 게 아니라 생각 흐름에 들어오는 관찰 하나다.
- 핵심은 무한 루프 하나다
- LLM에 "지난 생각을 보고 다음 생각을 골라라"라는 프롬프트를 계속 호출한다.
- 생각은 속으로 하는 독백이거나 행동을 일으키는 것이다.
- 매 실행은 끝날 때 다음 wake-up을 스스로 예약한다.
- 코어는 Bash 10K줄 미만이다
- bin/과 thinkers/ 합쳐 9.9K줄이다.
- 도구·프레임워크·메모리·스킬이 모두 실행 파일과 파일이라 에이전트가 자기 자신을 읽고 고칠 수 있다.
- Laude 에이전트가 자기 포크에서 작업한 커밋 50개 넘게를 main에 가져왔다.
- 메모리는 해상도를 달리해 압축한다
- 전체 trajectory(생각·행동 기록)를 컨텍스트에 두되 최근 것은 원문, 오래된 것은 점점 요약한다.
- trajectory는 fork와 merge가 있는 jsonl 파일들의 DAG다.
- 컨텍스트는 trajectory를 투영한 결과이고, 에이전트가 원본을 다시 찾아볼 수 있다.
Community Reactions
- 공유 에이전트에는 데이터 격리가 없다는 지적
- 누가 말한 내용이든 모든 대화에 흘러 들어가는데 글이 이를 세 문장으로 넘겼다는 의견이 있었다.
- 원문도 Audel이 비밀을 잘 못 지키고 팀 전체에 공유된다고 가정하라고 밝힌다.
- 루프만으론 성능이 좋아지지 않는다는 반론
- 생각을 루프로 돌려도 학습이 되는 게 아니라는 의견이 있었다.
- RLAIF, STaR 같은 재학습과 사람의 검토가 있어야 실수가 누적되지 않는다고 했다.
- 결국 예약 wake-up이라 기대에 못 미친다는 의견
- turn, FINAL, wake-up 예약 구조가 백그라운드에 상시 켜둔 기존 에이전트와 비슷하다는 의견이 있었다.
- 사람은 다음 생각을 예약하지 않으므로 FINAL 없이 계속 도는 서브초 루프가 더 가깝다고 했다.
- curl | bash 설치와 비용 부담에 대한 불만
- alpha 연구용 소프트웨어를 curl 파이프 bash로 설치하라는 방식을 일반화하지 말자는 의견이 있었다.
- BYOK API만 지원하면 비용이 크다는 의견도 있었고, 프론티어 모델로 칸반 티켓 1개에 $50~150이 든 경험이 언급됐다.
- Pi로 소프트웨어 팩토리를 돌리는 사용자의 활용 구상
- 메인 오케스트레이터를 Headlong으로 바꿔 상시 구동시켜 다른 세션을 몰게 해 볼까 한다는 댓글이 있었다.
How to Apply
- 오늘 직접 격리 환경에서 돌려보기
- 전용 VM이나 Docker가 있는 호스트에서 지출 상한을 건 별도 API 키로 설치 명령을 실행하라.
- 비밀 정보는 에이전트에 주지 마라.
- 설치 후 에이전트 이름을 정하고 메시지 하나를 보내 응답 여부를 에이전트가 정하는지 관찰하라.
- wake-up 간격에 지수 백오프 넣기
- 상시 에이전트에 자기 중지 방지 가드 추가
- trajectory를 해상도별로 압축하는 메모리 설계
Try It
# 논문 방법의 간이 버전: Claude나 ChatGPT 새 대화에 붙여넣기. 지속형 에이전트의 "다음 생각 고르기" 루프를 수동으로 흉내 낸다.
너는 멈추지 않는 에이전트다. 아래 trajectory(과거 생각과 관찰)를 보고 다음 생각 하나만 골라라.
생각은 (1) 속으로 하는 독백, (2) 실행할 행동, (3) 사람에게 보낼 메시지 중 하나다.
새 메시지는 시스템 세션이 아니라 관찰 하나로 취급하고, 답할지 말지는 네가 정해라.
[trajectory]
{{지난 생각과 관찰 목록}}
[새 관찰]
{{새 메시지 또는 "없음"}}
출력 형식:
- 생각 종류:
- 내용:
- 다음 wake-up까지 대기 시간(초):
이어서 해 볼 것: 출력을 trajectory 끝에 붙여 같은 프롬프트를 반복하고, 새 관찰이 없을 때 대기 시간이 스스로 늘어나는지 보라.Terminology
관련 논문
같은 시뮬레이션, 다른 근거: 도구 출력을 파일로 넘기면 LLM 에이전트 정확도가 어디서 깎이나
긴 툴 출력을 파일로 넘기자 GPT-5.1은 정확도 11.3%p 하락, 정식 출력 지정하니 회복
가짜 뉴스가 진짜 폭락을: LLM 트레이딩 에이전트 대상 정보 주입 공격
가짜 헤드라인 한 줄로 LLM 트레이딩 에이전트 62%를 조종했다(프롬프트 주입은 14%)
Harness Engineering 101: LLM은 뇌, harness는 몸
에이전트는 JSON 배열을 관리하는 루프이고, 16개 챕터로 직접 만들어 본다
Harness²: 에이전트 harness를 스스로 고쳐 쓰는 재귀 최적화 프레임워크
모델은 고정하고 harness를 재귀로 고쳤더니 벤치마크 점수가 최대 11.8%p 올랐다
해고된 Savannah 경찰관, ICE 요원 남편에게 Flock 계정 공유
경찰관이 Flock 계정을 남편(ICE 요원)에게 공유했고, 감사에서 983건 검색이 드러나 해고됐다
tmux와 Claude Code: 세션, send-keys, 그리고 한계선
tmux로 Claude Code 여러 개를 돌리면 편하지만 에이전트 4개쯤에서 한계가 온다
Hybrid Reasoning Agents: 잠재 공간에서 생각하고 텍스트로 행동하는 LLM 에이전트
잠재 공간 추론과 텍스트 도구 호출을 섞었더니 성능 10.4%↑, 토큰 최대 54.7%↓