관찰 가능한 다중 에이전트 코딩: 서로의 계획을 분기(Fork), 주도 및 승인하는 세션
요약
본 기사는 다중 에이전트 코딩 환경을 사용자에게 '관찰 가능'하게 만드는 방법을 설명합니다. 기존의 비가시적인 워커 방식에서 벗어나, 세션 간에 상호작용과 계획 승인 과정을 일반 채팅 기록으로 공개합니다. 이를 통해 사용자는 모든 개발 단계를 실시간으로 모니터링하고 개입할 수 있습니다.
핵심 포인트
- 세션 분기(/fork)를 통해 대화 내용을 독립적인 작업 공간으로 복사 가능합니다.
- 각 세션은 서로의 상태, 실행 위치, 승인 대기 계획 등을 확인할 수 있습니다.
- 한 세션이 다른 세션에게 작업을 부여하고, 그 계획을 검토 및 승인할 수 있습니다.
- 모든 에이전트 활동이 일반적인 채팅 기록에 남아 투명하게 관찰됩니다.
대부분의 코딩용 다중 에이전트 설정은 숨겨진 상태로 실행됩니다. 즉, 리드 에이전트가 사용자가 볼 수 없는 워커들을 생성하고, 사용자는 마지막에 요약된 내용을 읽게 됩니다. Atlarix 15.10 및 15.11은 이미 사용하던 채팅 세션(chat session)으로부터 기능을 구축합니다. 세션들은 분기할 수 있고, 서로를 찾을 수 있으며, 서로에게 작업을 보내고, 서로의 모드(mode)를 변경하며, 서로의 계획을 승인할 수 있습니다. 그리고 이 모든 것은 사용자가 열고, 읽고, 중지시킬 수 있는 일반적인 세션입니다.
/fork로 시작하기
/fork는 대화 내용을 새로운 세션으로 복사합니다. 데스크톱 앱, CLI, VS Code 및 Agent Client Protocol을 통해 포크(forking)를 지원하는 모든 에디터에서 사용할 수 있습니다. 복사본은 원본이 그 시점까지 알고 있던 모든 것을 알게 되며, 원본은 그대로 남아있습니다. 두 번 포크하면 동일한 작업 이해도를 공유하는 세션 세 개가 생깁니다.
세션들이 서로를 볼 수 있다
세션은 list_sessions를 호출하여 다른 세션들을 확인할 수 있습니다. 각 세션이 어디에서 실행되는지(앱, CLI, 에디터), 유휴 상태인지 작업 중인지, 모드와 모델, 그리고 승인을 기다리는 계획 등이 표시됩니다. result_of를 사용하면 다른 세션의 가장 최근 완료된 턴을 읽어올 수 있습니다. 어떻게 끝났는지, 응답 내용과 변경한 파일 목록, 또는 "아직 작업 중"이라는 상태입니다.
이것이 이 패턴을 작동하게 만드는 부분입니다. 리드 에이전트는 워커들이 보고할 필요가 없습니다. 직접 확인할 수 있기 때문입니다.
하나의 세션이 주도하다
send_message를 사용하면 한 세션이 다른 세션에게 작업을 부여하고, 모드와 모델(설정된 제공업체 중 선택)을 설정하며, 그 계획을 검토할 수 있습니다. 승인하면 상대방 세션은 마치 사용자가 Build 버튼을 클릭한 것처럼 정확하게 빌드를 시작합니다. 이유와 함께 거부하면 다시 계획을 짜고; 대체하면 그것으로 진행합니다.
수신 측의 세션에는 누가 무엇을 변경했는지에 대한 줄이 표시됩니다. 예를 들어 "Rix가 승인한 계획입니다. 빌드 중." 또는 "다음 턴부터 Rix가 검토 모드로 설정했습니다."와 같습니다. 해당 세션이 턴 중간에 있는 동안에는 변경 사항이 거부되므로, 그 아래 아무것도 전환되지 않습니다.
왜 세션으로부터 구축해야 하는가
어디에서든 개입할 수 있기 때문입니다. 각 워커(worker)는 일반적인 세션이며, 앱이나 VS Code에서 열고 내용을 읽거나, 직접 입력하거나, 중지시키거나, 또는 인계받을 수 있습니다. 두 곳에서 열린 세션은 동기화 상태를 유지하므로, CLI가 한 턴을 실행하는 동안 앱에서는 실시간으로 그 결과를 보여줄 수 있습니다. 리드(lead)의 결정에 관한 내용은 나중에 파헤쳐야 하는 로그 속에 숨겨져 있지 않습니다. 채팅 기록에 남아있습니다.
이는 또한 각 워커가 다른 모델로 실행될 수 있음을 의미합니다. 저렴하고 빠른 모델은 기계적인 부분을 처리할 수 있고, 더 강력한 모델이 검토를 수행할 수 있습니다.
간단한 예시
세션에게 기능 계획을 요청한 다음, 이를 두 번 /fork 합니다. 첫 번째 포크(fork)에서 이 세션에게 리드하도록 요청합니다. 그러면 해당 세션은 다른 워커들을 나열하고, 한 워커에게는 API 절반을, 다른 워커에게는 테스트를 보내며, 테스트 세션을 더 저렴한 모델로 설정하고, 적절하다고 판단될 때마다 각 계획을 승인합니다. 둘 다 완료되면, result_of 명령어를 사용하여 그들의 결과를 읽고 변경된 파일들을 검토합니다. 사용자는 이 세 개의 워커 중 어느 것을든 원하는 시점에 관찰하거나 중지시킬 수 있습니다.
실시간 세션과 /fork 기능은 Atlarix 15.10에 탑재되었으며, 서로를 주도하고 읽는 세션은 15.11에 탑재되었습니다. 단일 턴 내에서 작동하는 에이전트의 경우 [sub-agents] 문서를 참고하세요.
FAQ
Atlarix에서 하나의 AI 코딩 세션이 다른 세션을 제어할 수 있나요?
예. 한 세션은 다른 세션들을 나열하고, 그들에게 작업을 보내고, 모드와 모델을 설정하며, 계획을 승인하거나 거부하거나 대체할 수 있습니다. 모든 변경 사항은 대상 세션에 표시됩니다.
Atlarix에서 /fork는 무엇을 하나요?
대화 내용을 앱, CLI, VS Code 또는 ACP 에디터의 새로운 세션으로 복사합니다. 원본 내용은 변경되지 않습니다.
원래 게시일: atlarix.dev.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기