채팅 UI 성장: 크기 조정 가능한 레이아웃, 중첩된 도구 호출, 하위 에이전트 카드
오늘 두 개의 통과 라인: 인터페이스가 성장했습니다. 크기 조정 가능한 레이아웃, 할 일 아래에 중첩된 도구 호출, 자체 카드가 있는 하위 에이전트, 하나의 파이프라인으로 통합된 라이브 및 재생입니다. 백엔드는 플러그인 런타임(이벤트 버스, 권한 엔진, 샌드박스 파일 API, 플러그인 매니페스트)이라는 큰 기반을 조용히 마련하여 "모든 기능을 플러그인할 수 있습니다." 또한 엔진은 구성 요소 어휘를 확장하고 장면 자산을 도입했습니다.
눈에 보이는 것, 조용한 것: 백엔드가 기초를 다지는 동안 UI는 커집니다.
하루의 일은 눈에 보이는 부분과 보이지 않는 부분으로 나뉜다. 눈에 보이는 절반: 채팅 인터페이스가 한 단계 발전했습니다. 이는 사용자가 매일 직면하는 상황이며 모든 진행 상황이 즉시 표시됩니다. 보이지 않는 절반: 백엔드는 "타사 기능을 플러그인으로 안전하게 설치"할 수 있는 런타임인 광범위한 기반을 조용히 쏟아냈습니다. 후자는 그날 사용자가 인식할 수 있는 거의 아무것도 제공하지 않았지만 플랫폼이 "하드코딩된 기능을 갖춘 앱"에서 "끝없이 확장될 수 있고 사용자가 구축할 수 있는 플랫폼"으로 성장할 수 있는지 여부를 결정합니다. 같은 날 본 두 제품은 균형을 구현합니다. 즉, 장기적인 확장성에 투자하면서 현재 경험을 계속 연마하는 것입니다.
채팅 성숙도: 크기 조정 가능한 레이아웃 + 할 일 아래에 중첩된 도구 호출
이날 인터페이스의 진행은 '정보를 보다 명확하게 정리'하는 데 중점을 두었습니다. 하나: 사이드바, 채팅 영역 및 하단 패널은 모두 크기 조정이 가능하므로 무엇을 하든 화면 공간을 할당할 수 있습니다. 코드를 읽을 때 채팅 범위를 좁히고 출력을 볼 때 하단 패널을 올립니다. 두 번째, 더 중요한 점은 도구 호출이 이제 하나의 길고 단조로운 목록으로 퍼지지 않고 자신이 속한 할 일 항목 아래에 중첩된다는 점입니다. 에이전트가 다단계 작업을 실행할 때 계층 구조를 한눈에 볼 수 있어 "이 단계를 완료하기 위해 어떤 도구를 호출했는지" 명확하게 확인할 수 있습니다. 긴 대화와 다단계 작업이 가장 두려워하는 것은 정보가 덩어리져서 진행 상황을 숨기는 것입니다. 이 두 가지 변화를 통해 "누가 무엇을 하고 있는지, 얼마나 진행되고 있는지 명확하게 확인"하는 것이 가능해졌습니다.
하위 에이전트는 자신의 카드를 받습니다.
다중 에이전트 협업이 보편화되면서 "리드 에이전트가 여러 하위 에이전트에게 위임하는" 시나리오가 일상화되었습니다. 오늘은 하위 에이전트 활동에 자체 카드 프레젠테이션이 제공되었습니다. 하위 작업은 더 이상 기본 대화의 텍스트 스트림에 섞이지 않지만 각 작업은 자체 컨텍스트가 포함된 접이식 카드를 얻습니다. 이를 통해 "누가 누구를 위해 일하고 있으며, 각자가 어떻게 진행되고 있는지"를 즉각적으로 구별할 수 있습니다. "한 사람이 AI 팀을 지휘하는 것"을 핵심 시나리오로 취급하는 플랫폼의 경우 "각 구성원의 작업에 자신의 자리를 부여하는" 방식이 필수적입니다. 그렇지 않으면 팀이 성장함에 따라 화면이 읽을 수 없는 스튜가 됩니다. 하위 에이전트 카드는 추상적인 "다중 에이전트"를 눈으로 직접 읽을 수 있는 그림으로 바꾸는 첫 번째 단계입니다.
하나의 파이프라인으로 통합된 라이브 및 재생
그 전에는 "에이전트 실시간 보기"와 "나중에 기록 재생"이 두 개의 별도 렌더링 경로였을 가능성이 높습니다. 따라서 동일한 콘텐츠의 경우 실시간으로 본 내용과 재생된 내용이 세부적으로 일치하지 않는 경우가 많았습니다. 오늘은 동일한 처리 콜백을 공유하는 하나의 파이프라인으로 통합했습니다. 콘텐츠가 라이브로 스트리밍되든 기록 원장에서 재생되든 정확히 동일한 구문 분석 및 표시 경로로 이동합니다. 중요한 것은 일관성입니다. 일련의 역사를 다시 열면 세부 사항이 왜곡되지 않고 실제로 무슨 일이 일어났는지 정확히 알 수 있습니다. 이 "단일 소스 경로" 설계는 두 가지 논리를 유지해야 하는 부담을 제거하고 근본적으로 가장 혼란스러운 버그 클래스인 "라이브와 재생이 일치하지 않음"을 제거합니다.
백엔드 플러그인-런타임 기반: 버스, 권한, 샌드박스
이날 백엔드에서 가장 힘든 작업은 '서드파티 기능을 플러그인으로 안전하게 설치하고 실행할 수 있도록' 하는 것을 목표로 하는 플러그인-런타임 기반을 쏟아 붓기 시작한 것이었습니다. 이는 메쉬 부분으로 구성됩니다. 즉, 구성 요소가 게시/구독을 통해 느슨하게 통신하도록 하는 진행 중인 이벤트 버스입니다. 매니페스트가 선언하는 "범위"에 대한 위조 방지를 통해 플러그인 매니페스트의 구문 분석 및 유효성 검사(플러그인이 해당 권한에 대해 거짓말을 할 수 없도록 함) 각 플러그인이 건드릴 수 있는 것과 건드릴 수 없는 것을 규칙으로 제한하는 권한 엔진; 협력적 파일 잠금 기능을 갖춘 샌드박스 파일 API로 여러 플러그인 읽기 및 쓰기가 서로 손상되지 않습니다. 게다가 무슨 일이 일어났는지 기록하는 추가 전용 파일 원장도 있습니다. 이 전체 세트는 당시 사용자에게 거의 아무것도 제공되지 않았지만 장기적인 "모든 것이 플러그인입니다" 방향의 진정한 출발점입니다. 이를 통해 새로운 도구, 새로운 워크벤치 또는 새로운 에이전트는 나중에 추가할 때마다 코어를 다시 작성하지 않고도 통합되고 제어되는 샌드박스 방식으로 연결할 수 있습니다.
엔진: 확장된 구성 요소 어휘 + 장면 자산
엔진은 게임 세계를 설명하는 "어휘"를 계속 확장했습니다. 구성 요소 시스템은 문자열, 고정/가변 길이 배열 및 내장된 "이름" 구성 요소와 같은 데이터 셰이프에 대한 지원을 얻었습니다. 따라서 장면의 모든 개체는 내부 숫자가 아닌 읽을 수 있는 이름을 가질 수 있어 디버깅 및 나중에 편집기에서 보기가 훨씬 더 편리해졌습니다. 더 중요한 것은 "장면 자산"이 도입되었다는 것입니다. 즉, 장면을 세계로 인스턴스화하는 메커니즘을 사용하여 전체 장면을 참조 가능하고 인스턴스화 가능한 자산 개체로 관리합니다. 이는 이제 모델 및 텍스처와 마찬가지로 장면을 구조적으로 저장, 참조 및 재사용할 수 있음을 의미합니다. 이는 "편집기에서 장면 구축, 장면을 레벨로 조립"과 같은 모든 이후 기능의 기본 전제 조건입니다.
엔진 품질 게이트: 2채널 검사
엔진은 또한 오늘 2채널 품질 게이트를 높여 두 가지 보완적인 각도에서 코드 품질을 자동으로 확인합니다. 한 채널은 기존 스타일 및 규칙 검사를 수행하고 다른 채널은 특별히 "내부 인터페이스"의 사용 경계를 감시하여 내부 전용 항목이 의도치 않게 공개적으로 노출되지 않도록 보장합니다. 두 채널 모두 커밋할 때마다 자동으로 지속적인 통합으로 실행됩니다. 그 가치는 이전 렌더링 벤치마크의 일부입니다. "코드 품질이 올바른지"를 사람의 검토 및 자기 훈련에서 자동적이고 객관적이며 피할 수 없는 게이트로 바꾸는 것입니다. 장기적으로 발전하고 더 많은 협력자를 상대하기 위한 엔진은 천천히 썩지 않고 빠르게 반복하기 위해 자동 게이트 이후의 게이트에 의존합니다.
오늘의 의미
하루의 두 줄은 성숙한 제품이 동시에 유지해야 하는 두 가지 목적을 정확하게 나타냅니다. 하나는 사용자의 현재 느낌이고 다른 하나는 플랫폼의 장기적인 뼈대입니다. 채팅 인터페이스의 성숙으로 인해 지금 당장 사용하기가 더 편안해지며, 백엔드의 거의 눈에 띄지 않는 플러그인 런타임은 "이 플랫폼이 나중에 제한 없이 확장될 수 있는지 여부"에 대한 씨앗을 심습니다. 현재를 돌보고 당일에 장기적으로 투자하려면 명확한 분업과 우선순위에 대한 판단이 필요합니다. 이는 즉시 성과를 거두어야 하는 경험이자 더디더라도 굳건히 놓을 수 있는 기반입니다. 이는 향후 개발을 위해 남겨둘 가치가 있는 경험입니다. 눈에 보이는 기능만 쌓아두지 말고, 보이지 않는 기초에 자신을 묻어두지도 마세요. 정말 어려운 일은 둘 다 단축하는 것입니다.