소개
시도하고자 했던 것과 그 이유
주식 포트폴리오를 매일 아침 자동으로 분석해서 텔레그램으로 브리핑해주는 멀티에이전트 시스템을 만들었다.
이전에 바이브코딩으로 비슷한 걸 시도했다가 실패한 경험이 있었다. 에이전트가 세션마다 맥락을 잃어버리고, 방향을 잃고, 결국 흐지부지 끝났다.
에이전트한테 일 을 시키기만 했지, 언제 무엇을 어떤 순서로 해야 하는지, 어디서 사람이 개입해야 하는지, 세션이 끊겨도 어떻게 이어가야 하는지를 설계하지 않았다.
이번엔 하네스 엔지니어링부터 시작했다.
진행 방법
사용한 도구:
Claude Code
cmux (멀티 에이전트 병렬 실행)
핵심 프롬프트:
매일 아침 7시, 내 포트폴리오 분석해서
텔레그램으로 보내줘. 느낌 말고 수치로.이 한 줄로 전체가 돌아갔다. 가능했던 이유는 하네스를 먼저 설계했기 때문이다.
하네스 설계 과정
하네스는 4개 파일로 구성했다:
CLAUDE.md → 항상 읽기
프로젝트 개요, 세션 시작/종료 루틴,
승인 지점 정의
AGENTS.md → 에이전트 수정시에만 읽기
각 에이전트 역할, 판단 기준, 출력 포맷
HARNESS.md → 하네스 수정시에만 읽기
실행 루프, 승인 지점, 로깅 구조
DECISIONS.md → 의사결정 확인시에만 읽기
설계 근거 기록, 토큰 효율 가이드실행 루프:
[06:00] 1차 데이터 수집
[06:30] 분석 에이전트 3개 병렬 실행 (cmux)
[06:50] 각 analys 페르소나 → 종합 + 토론
[07:00] 텔레그램 브리핑 발송승인 지점:
자동 실행:
→ 데이터 수집, 분석, 발 송
사람이 개입:
→ 데이터 수집 실패시
→ 포트폴리오 급변시
→ 실적 발표 긴급 감지시
세션 간 핸드오프:
json
{
"id": "F002",
"name": "Scout — 주가/환율 수집",
"priority": 2,
"passes": false
}세션이 리셋돼도 passes false인 것부터 순서대로 이어간다. 에이전트가 길을 잃지 않는 구조다.
결과와 배운 점
결과:
항목
Before
After
매일 공시 챙기는 시간
1~2시간
3분
실적 발표 감지
다음날 확인
즉시 알림
판단 근거
느낌
수치 기반
세션 단절시
처음부터 다시
이어서 진행
배운 점:
프롬프트 한 줄로 전체가 돌아간 이유는 하네스가 에이전트한테 필요한 모든 맥락을 이미 담고 있었기 때문이다.
프롬프트 품질이 아니라 하네스 설계가 에이전트 성능을 결정한다.
시행착오:
처음엔 하네스 없이 바이브코딩으로 시작 → 세션마다 맥락 잃고 흐지부지 끝남
claude md 하나에 모든 컨텍스트 집중 → 토큰 효율 저하, 컨텍스트 윈도우 조기 소진 → 목적별 파일 분리로 해결
평가 기준 없이 분석 맡기면 항상 "전망 밝습니다"로 끝남 → 수치 기반 판단 기준 정의로 해결
종목 파일에 데이터 무한정 쌓으면 컨텍스트 오염 → 3개월 롤링 구조로 해결
나만의 꿀팁:
하네스를 처음부터 복잡하게 만들 필요 없다. 최소 구조로 시작하고 병목이 생길 때 추가하는 게 맞다.
1단계: 그냥 시켜보기
2단계: 안되면 feature_list 추가
3단계: 그래도 안되면 에이전트 분리
4단계: 품질 문제면 Evaluator 추가앞으로의 계획: 설계와 환경 세팅까지는 완료했지만 아직 구현은 진행 중이다. 스터디 안에 실제 텔레그램 브리핑 수신까지 완성하는 게 목표다.