저는 오픈로지(openlogi) 데스크톱 클라이언트의 Rust 버전 대체제를 꽤 많이 개발해 둔 상태예요. 훨씬 낫죠.
로지텍 기기들을 좋아하고 앱 기능도 좋아하지만, 인위적으로 제한이 걸려 있고 메모리와 CPU를 너무 많이 잡아먹는다고 생각해요. 게다가 GUI 전용이라 제 에이전트들이 커스터마이징할 수도 없고요.
그래서 세 가지 목표를 세웠습니다:
- 백그라운드 프로세스에서 CPU를 3~5%씩 잡아먹지 않는 작동하는 앱.
- 에이전트가 변경 사항을 주도할 수 있도록 프로그래밍 방식으로 접근 가능할 것. 예: "야 에이전트야, 화면 스크린샷 찍어서 터미널 열고, 나랑 얘기한 뒤에 버그 리포트를 PR로 제출해줘."
- 완전한 커스터마이징. 동일한 액션 링과 매크로를 어떤 애플리케이션에서든 사용 가능하게 할 것.
예를 들어, 저는 프롬프트용 링 아이템이 있어서 즐겨찾는 프롬프트를 재사용할 수 있어요. 카테고리별로 나뉘어 있고 각 프롬프트는 무엇인지, 어떤 내용인지, 언제 사용하는지 설명하는 카드를 보여주죠. 만약 에이전트들이 PR 리뷰를 할 때 엣지 케이스나 에러 처리를 항상 놓친다고 해봅시다. 'review.md'를 작성할 수도 있겠지만, 어디에 있는지 기억해야 하거나 지시사항 파일에서 소중한 줄을 낭비해야 하죠. 이제는 그럴 필요 없이 그냥 선택만 하면 자동으로 지시사항이 붙여넣기 됩니다. 더 나은가요? 저한테는 그렇지만, 아닐 수도 있겠죠.
전용 리뷰 에이전트를 만들 수도 있어요. 리뷰에 필요한 최소한의 재료만 추가하는 거죠. 이 경우 에이전트를 배치해서 리뷰를 시킬 수 있습니다. 메인 에이전트에게 항상 PR 경로를 제공하라고 지시하면, 액션 링 매크로가 당신이 강조 표시한 경로를 전달받아 리뷰하는 에이전트를 실행하는 식이죠.
앞으로 스크립트 캐싱이나 도커 컨테이너를 클릭 한 번으로 실행/일시정지/종료하는 기능 등으로 확장할 계획입니다.
바퀴를 재발명했다고 할 생각은 없지만, 목표는 달성했다고 말하고 싶네요. 백그라운드 사용량은 50분의 1 수준이고 침습적인 텔레메트리도 전혀 없습니다.
다음에는 C/C++를 사용해서 저수준 메모리 영역까지 파고들 생각입니다.