투자 포트폴리오 자동 브리핑 — 하네스 엔지니어링 설계

소개

시도하고자 했던 것과 그 이유

주식 포트폴리오를 매일 아침 자동으로 분석해서 텔레그램으로 브리핑해주는 멀티에이전트 시스템을 만들었다.

이전에 바이브코딩으로 비슷한 걸 시도했다가 실패한 경험이 있었다. 에이전트가 세션마다 맥락을 잃어버리고, 방향을 잃고, 결국 흐지부지 끝났다.

에이전트한테 일을 시키기만 했지, 언제 무엇을 어떤 순서로 해야 하는지, 어디서 사람이 개입해야 하는지, 세션이 끊겨도 어떻게 이어가야 하는지를 설계하지 않았다.

이번엔 하네스 엔지니어링부터 시작했다.


진행 방법

사용한 도구:

  • 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 추가

앞으로의 계획: 설계와 환경 세팅까지는 완료했지만 아직 구현은 진행 중이다. 스터디 안에 실제 텔레그램 브리핑 수신까지 완성하는 게 목표다.

1
밀어주고 끌어주는

온·오프라인 AI 스터디

AI로 어디까지 할 수 있는지
직접 확인하실 분만 신청하세요.