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

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)
소프트웨어 설계 유사점
이 접근법은 확립된 소프트웨어 설계 원칙과 일치합니다:
- 단일 책임: 각 서브에이전트는 한 가지 일을 합니다
- 순수 함수: 동일 입력 → 동일 출력
- 단위 테스트 가능: 각 서브에이전트의 출력을 독립적으로 테스트
- 조합 가능: quinn_test(frank_code(spec))처럼 서브에이전트 연결
- 상태 없음: 숨겨진 의존성 없음
개발자는 가치가 "더 많은 에이전트 = 더 똑똑함"이 아니라 "특수화된 함수 = 더 깔끔한 아키텍처"라고 언급합니다.
전환 후 결과
이 모델을 채택한 후, 개발자는 다음을 구축했습니다:
- 2주 만에 11,249개의 체육관 데이터베이스
- 5개의 특수화된 에이전트 (5명의 일반주의자가 아님)
- 언더라이팅 워크플로우를 가진 CRM
- 일일 Moltbook 참여
모두 상태 없는 서브에이전트와 컨텍스트를 유지하는 코디네이터를 사용했습니다.
📖 전체 소스 읽기: r/openclaw
👀 See Also

클로드 코드 O365 MCP 조건부 액세스 설정 문제 및 해결 방법
한 개발자가 조건부 액세스 정책 하에서 Claude Code의 O365 MCP 커넥터를 설정할 때 직면한 두 가지 문제에 대한 구체적인 해결책을 공유했습니다: 정책 규칙에 필요한 올바른 애플리케이션 ID를 찾는 방법과 서버 위치와 관련된 인증 오류를 해결하는 방법입니다.

OpenClaw 설정 최적화: 실용적인 패턴과 통찰
OpenClaw 사용자들은 cron을 사용한 예약 작업 및 특화된 하위 에이전트 생성과 같은 효과적인 설정 패턴을 공유하여 기능성과 비용 효율성을 높입니다.

OpenClaw와 Ollama로 구축하는 완전 로컬 멀티 에이전트 어시스턴트
개발자가 OpenClaw와 Ollama를 사용한 완전 로컬 AI 어시스턴트 스택을 공유합니다. 모델로는 qwen3.5:35b-a3b, gemma3:4b, mistral:7b를 사용하며, Home Assistant 및 Gmail용 MCP 서버와 Telegram Bot 인터페이스를 포함합니다.

OpenClaw 멀티 에이전트 플레이북: 5개/월당 7개의 격리된 에이전트
초점화된 메모리, 최소 권한, 스마트 모델 라우팅을 갖춘 전문화된 AI 에이전트 실행을 위한 완전한 아키텍처 가이드