음성은 모든 AI 에이전트 플랫폼이 서둘러 출시하려는 기능이 되었습니다. 당연한 선택은 이를 웹 앱, CLI 도구 또는 Telegram 봇 옆에 놓이는 독립적인 채널로 구축하는 것입니다. 직관적으로 느껴집니다. 음성을 보면 음성 인터페이스를 만듭니다. 하지만 그 본능은 취약한 아키텍처를 만듭니다. 이는 작업을 중복시키고, 로그를 오염시키며, 프로젝트 컨텍스트를 서서히 뒤틀리게 만듭니다.

APC와 APX에서 우리는 다른 길을 선택했습니다. 음성은 채널이 아닙니다. 모드입니다. 음성은 표면(surface)을 대체하는 것이 아니라 그 위에 놓입니다. 이 차이를 정확히 구분하는 것이 시스템이 분산되는 것을 막는 핵심입니다.

잘못된 추상화

음성을 별도의 채널로 취급하면, 에이전트에게 말하는 것이 타이핑하는 것과 근본적으로 다른 대화라고 암묵적으로 가정하게 됩니다. 엔지니어링 팀은 코드베이스를 분리하는 방식으로 대응합니다. 갑자기 CLI 채널과 별도의 voice-CLI 채널이 생깁니다. 웹 채널과 병렬적인 voice-web 채널이 생깁니다. 각각은 고유한 프롬프트 변형, 포맷팅 규칙, 컨텍스트 처리 로직을 요구합니다.

여기서부터 혼란이 시작됩니다. 에이전트의 동작을 약간 수정하려면 이제 여러 프롬프트 트리 전체에 변경 사항을 복사해야 합니다. 팀이 하나의 표면을 잊어버리면 경험이 파편화됩니다. 사용자는 텍스트로는 한 가지 톤을, 음성으로는 약간 다른 성격을 경험하게 됩니다. 시간이 지나면서 이러한 작은 불일치들이 쌓여 시스템 드리프트(system drift)로 이어집니다. 이식 가능한 컨텍스트 레이어는 한쪽 브랜치에서는 음성 전달을 고려해야 하고, 다른 쪽에서는 무음 텍스트를 고려해야 하기 때문에 더 이상 이식 가능하지 않게 됩니다. 추상화가 누수되고, 한때 통일되었던 프로젝트 정의는 채널별 해킹(hacks)의 집합으로 해체됩니다.

컨텍스트와 런타임의 분리

이를 방지하기 위해, 우리는 엄격히 분리된 두 레이어 간에 책임을 나눕니다.

APC는 프로젝트 컨텍스트를 보유합니다. 프로젝트를 구성하는 에이전트, 규칙, 스킬을 정의합니다. 이를 시스템의 안정적인 의미(stable meaning)라고 생각하십시오. APC는 구조적인 질문에 답합니다. 이 에이전트는 무엇을 알고 있는가? 무엇을

정확한 로깅. 채널은 상호작용이 어디서 발생했는지를 기록합니다. 모드는 답변이 어떻게 전달되었는지를 기록합니다. 사용자가 답변을 읽었든 들었든, 데스크톱 상호작용은 여전히 데스크톱 상호작용입니다. 팀이 버그를 추적하거나 분석 데이터를 검토할 때, "desktop-voice"와 "desktop-text"를 마치 서로 다른 제품 인터페이스인 것처럼 대조하며 조정할 필요가 없습니다. 채널 식별자는 깔끔하게 유지되며, 모드 플래그는 메타데이터 내에서 그 옆에 정갈하게 위치합니다. 위치와 동작이 서로 뒤엉키지 않기 때문에 로그는 정직하게 유지되고 디버깅은 단순해집니다.

깔끔한 프로젝트 컨텍스트. APC는 규약을 정의합니다. 답변이 말로 전달되는지, 속삭임으로 전달되는지, 혹은 모노스페이스 글꼴로 렌더링되는지는 APC가 신경 쓸 일이 아닙니다. 그것들은 런타임 관련 사항입니다. 음성 포맷팅을 APX 내부에 유지함으로써 APC의 이식성을 보존합니다. APC 프로젝트 정의를 가져와 음성 전용 포맷팅 가정이나 음성 최적화 관련 불필요한 코드들을 끌고 다니지 않고도 완전히 새로운 런타임 환경에 그대로 적용할 수 있습니다. 경계는 유지되며, 프로젝트의 의미는 안정적으로 남습니다.

데스크톱에서의 증명

저희의 데스크톱 경로를 통해 일상적인 사용 환경에서 이를 확인할 수 있습니다. 데스크톱은 표면입니다. 사용자가 음성 기능을 활성화하면, 시스템은 동일한 데스크톱 표면을 음성 모드로 실행합니다. 음성은 모드 레이어에 존재하기 때문에, 데스크톱 채널은 전체 컨텍스트와 동작을 그대로 유지합니다. 다른 규칙을 가진 별개의 제품이 되지 않습니다. 프롬프트 빌더는 단순히 플래그를 감지하여 필요한 경우에만 음성 지침을 추가합니다. 사용자가 다시 텍스트로 전환하면 해당 지침은 완전히 사라집니다. 근본적인 프로젝트 컨텍스트는 전혀 변하지 않았습니다. 데스크톱은 언제나 데스크톱이었습니다.

핵심 요약

핵심 아이디어는 간단합니다. APC는 안정적인 프로젝트 의미를 기술합니다. APX는 런타임 실행을 기술합니다. 음성은 표면의 대체재가 아니라 표면에 적용되는 수정 요소입니다. 그렇게 처리하면 프롬프트는 간결하게 유지됩니다. 로그는 명확해집니다. 귀하의