오픈클로 서브에이전트를 지속적인 팀 구성원이 아닌 무상태 함수로 취급하기

✍️ OpenClawRadar📅 게시일: April 1, 2026🔗 Source
오픈클로 서브에이전트를 지속적인 팀 구성원이 아닌 무상태 함수로 취급하기
Ad

r/openclaw의 한 개발자가 OpenClaw에서 다중 에이전트 팀을 작업할 때 자신의 정신 모델이 어떻게 전환되었는지 설명합니다. 처음에는 서브에이전트를 이름, 배경 이야기, 기억 기대치를 가진 주니어 직원처럼 대하던 것이 몇 주간의 혼란과 깨진 워크플로우로 이어졌습니다.

함수 비유

돌파구는 서브에이전트가 작은 나 자신이나 지속적인 팀원이 아니라 함수라는 점을 인식하면서 찾아왔습니다. 구체적으로:

  • 서브에이전트는 지속적인 팀원이 아닌 상태 없는 함수 호출입니다
  • 그들은 개발자의 주니어 버전이 아닌 특수화된 도구입니다
  • 그들은 컨텍스트를 기억하지 않고 순수 입력 → 출력으로 작동합니다
  • 그들은 서로 대화하기보다 호출자에게 값을 반환합니다

소스는 잘못된 접근법과 올바른 접근법을 대비하는 코드 예시를 제공합니다:

# 잘못됨: 서브에이전트를 지속적인 객체처럼 대하기
frank = Agent("Frank")
frank.build_feature()
frank.fix_it() # Frank가 기억한다고 가정

올바름: 서브에이전트를 함수 호출처럼 대하기

result = frank_task( instructions="로그인 페이지 구축", context={"requirements": reqs, "design": mockup} )

frank_task 실행, 출력 반환, 종료

실용적 함의

이 정신 모델 전환은 몇 가지 구체적인 함의를 가집니다:

1. SOUL.md를 함수 독스트링으로: 개성 프로필 대신, SOUL.md는 명세서 문서가 됩니다:

# frank_task()

목적: Next.js 기능 구축 입력: 요구사항 (딕셔너리), 디자인 (선택사항) 출력: {코드, 테스트, 노트} 제약: 승인 없이 외부 API 호출 금지

2. 반복을 위한 명시적 상태 전달: 서브에이전트가 컨텍스트를 기억하지 않으므로, 필요한 모든 정보를 매개변수로 전달해야 합니다:

# 잘못됨
frank_fix("버그 수정") # 생성, 시도, 소멸
frank_fix("여전히 고장남") # 새로운 생성, 컨텍스트 없음

올바름

result = frank_fix({ "code": previous_output, "issues": ["로그인 검증 실패", "모바일 CSS 고장"], "test_cases": failing_tests }) # 매개변수에 전체 컨텍스트 포함

3. 코디네이터를 메인 프로그램으로: 개발자는 팀 매니저가 아닌 오케스트레이터 함수가 됩니다:

def build_feature(spec):

순차적으로 함수 호출

code = frank_build(spec) tests = quinn_audit(code)

if tests["passed"]: return deploy(code) else: # 명시적 컨텍스트로 반복 fixed = frank_fix({ "code": code, "failures": tests["failures"] }) return deploy(fixed)

Ad

소프트웨어 설계 유사점

이 접근법은 확립된 소프트웨어 설계 원칙과 일치합니다:

  • 단일 책임: 각 서브에이전트는 한 가지 일을 합니다
  • 순수 함수: 동일 입력 → 동일 출력
  • 단위 테스트 가능: 각 서브에이전트의 출력을 독립적으로 테스트
  • 조합 가능: quinn_test(frank_code(spec))처럼 서브에이전트 연결
  • 상태 없음: 숨겨진 의존성 없음

개발자는 가치가 "더 많은 에이전트 = 더 똑똑함"이 아니라 "특수화된 함수 = 더 깔끔한 아키텍처"라고 언급합니다.

전환 후 결과

이 모델을 채택한 후, 개발자는 다음을 구축했습니다:

  • 2주 만에 11,249개의 체육관 데이터베이스
  • 5개의 특수화된 에이전트 (5명의 일반주의자가 아님)
  • 언더라이팅 워크플로우를 가진 CRM
  • 일일 Moltbook 참여

모두 상태 없는 서브에이전트와 컨텍스트를 유지하는 코디네이터를 사용했습니다.

📖 전체 소스 읽기: r/openclaw

Ad

👀 See Also

Claude Desktop/Code용 C# .NET Framework MCP 도구 작성 문서
Guides

Claude Desktop/Code용 C# .NET Framework MCP 도구 작성 문서

.NET Framework 4.8을 사용하여 사용자 정의 MCP 도구를 만드는 완전한 문서와 C# 코딩 예제로, Claude Desktop/Code가 외부 프로세스, 소프트웨어, API 및 IoT 장치와의 상호작용을 자동화할 수 있도록 합니다.

OpenClawRadar
클로드 코드 워크플로우 시각화: 메모리 계층 구조와 스킬 시스템 설명
Guides

클로드 코드 워크플로우 시각화: 메모리 계층 구조와 스킬 시스템 설명

레딧 사용자가 Claude Code의 워크플로우 구조를 보여주는 시각적 다이어그램을 공유했으며, CLAUDE.md 파일을 통한 메모리 계층화와 .claude/skills/ 디렉토리에 정의된 재사용 가능한 스킬을 포함합니다. 워크플로우 루프는 Plan 모드 사용, 기능 설명, 자동 수락, 그리고 자주 커밋하는 것을 제안합니다.

OpenClawRadar
효율적인 AI 에이전트 워크플로우를 위한 12가지 OpenClaw 파워 유저 팁
Guides

효율적인 AI 에이전트 워크플로우를 위한 12가지 OpenClaw 파워 유저 팁

레딧 게시물에서는 주제별 스레드로 대화를 분할하고, 입력에 음성 메모를 사용하며, 작업에 맞는 모델을 선택하고, 작업을 하위 에이전트에 위임하며, 보안 계층을 구현하는 등 OpenClaw 사용을 최적화하는 실용적인 전략을 설명합니다.

OpenClawRadar
OpenClaw를 원활한 에이전트 간 통신을 위해 구성하기
Guides

OpenClaw를 원활한 에이전트 간 통신을 위해 구성하기

레딧 사용자가 OpenClaw의 에이전트 간 통신에서 타임아웃을 줄이는 특정 구성 설정을 공유했습니다. 여기에는 도구 가시성 설정, 메모리 지시사항, 그리고 ANNOUNCE_SKIP 제한을 우회하는 방법이 포함됩니다.

OpenClawRadar