브라우저를 직접 만들자는 생각은 처음부터 거창한 기능 목록에서 출발하지 않았다. 기존 도구로 읽기와 입력, 파일 처리를 시험하면서 에이전트가 어떤 구조에서 편해지는지 봤고, 그 흐름을 우리 업무에 맞춰 계속 수정할 수 있으면 좋겠다는 요구로 이어졌다.
완성된 프로그램과 고칠 수 있는 구조의 차이
개발 대화의 시작에는 내려받은 것이 브라우저 본체인지 제어 코드인지, 설치 파일만으로 수정할 수 있는지 묻는 과정이 있다. 이미 실행되는 프로그램을 사용하는 것과 그 프로그램의 작업 방식을 바꿀 수 있는 것은 다른 선택이었다. 나는 반복 업무에서 막힌 지점을 직접 고칠 수 있는 구조를 남기고 싶었다.
이것을 기존 브라우저가 쓸모없다는 판단으로 쓰지는 않는다. 먼저 써 본 도구에서 구조화된 읽기와 연속 조작이 편하다는 점을 확인했기 때문에 같은 질문을 더 구체적으로 할 수 있었다. 무엇을 만들지 결정하는 재료가 사용 중의 관찰이었다. 설치 파일을 갖는 것과 수정 가능한 소스를 갖는 것도 나눠 이해했다.
화면을 보는 일 다음에 실제 업무가 있었다
페이지를 열어 제목을 읽는 데 성공해도 글쓰기·첨부·예약을 끝낼 수 있는지는 별개의 질문이다. 내가 주로 하려는 일에는 계정과 탭, 자료와 입력 순서, 서버에 남은 결과가 함께 필요했다. 읽기가 편하다는 인상만으로 업무 도구의 완성도를 판단할 수 없었다.
그래서 새 브라우저의 기준을 업무 흐름에서 정했다. 현재 탭을 기본으로 쓰되 명시한 목적지를 따르고, 같은 작업의 기존 원고를 보존하고, 반복 절차는 Python과 주피터로 남기는 방향이다. 보기 좋은 화면 하나보다 요청에서 검증된 결과까지 이어지는 연결을 내가 이해하고 고칠 수 있어야 했다.
제어 코드를 새 브라우저 엔진으로 오해하지 않았다
북극성은 자체 웹 엔진을 처음부터 작성한 프로젝트가 아니다. Electron과 Chromium 기반의 웹 화면 위에 작업 소유권과 관찰·입력·검증, 프로젝트와 실행 도구를 연결했다. 에이전트가 다루기 쉬운 구조를 만든다는 말은 이 연결 계층의 책임을 설계한다는 뜻이다.
기존 제어 스킬이나 다른 자동화 라이브러리의 이름이 나왔다고 그 전체 프로그램을 사용한 것으로 소개해서도 안 된다. 어떤 아이디어를 참고했고 어떤 부분은 자체 코드로 구현했는지 기록에서 구분했다. 공개 설명에도 내 작업의 범위를 남겨야 독자가 필요한 것을 선택할 수 있다.
처음의 답을 계속 바꿀 수 있어야 했다
처음에는 오른쪽 내부 CLI에서 요청을 처리하는 구성을 만들었다. 이후에는 외부 대화와 MCP로 연결하는 실행 호스트로 바꿨다. 프로젝트별 실행과 플러그인, 주피터도 실제 사용과 검증에 따라 구체화됐다. 초기 설계 문서의 목표와 현재 제품을 같은 상태로 쓰지 않는다.
이 변화가 가능하려면 한 기능을 고칠 때 주변의 작업 자산을 보존할 수 있어야 한다. 탭과 로그인, 노트북과 기존 프로그램을 매번 새로 만들지 않게 하는 기준이 커졌다. 수정 가능한 구조를 원했다는 출발점은 기능을 많이 넣겠다는 말보다 기존 사용을 지키면서 구조를 바꿀 수 있겠느냐는 질문에 가까웠다.
회사에 맞는 도구를 만든다는 의미
회사의 반복 업무도 범용 제품의 모든 기능을 다시 만드는 일로 시작할 필요는 없다. 실제로 반복되는 입력과 확인, 불필요하게 새로 고르는 대상이 어디인지 먼저 찾을 수 있다. 그 흐름에 맞춰 필요한 실행 도구를 만들고 다른 업무와 공유할 기능을 분리하면 다음 개선의 기준이 생긴다.
다만 직접 만든다고 유지보수와 검증이 없어지는 것은 아니다. 사이트가 바뀌고 인증이 만료되고 실행 결과가 불확실해지는 문제를 계속 다뤄야 한다. 나에게 자체 제작의 가치는 그런 책임이 사라진다는 약속이 아니라 필요한 지점에서 구조와 판단을 다시 고칠 수 있다는 데 있었다.
시작한 이유를 결과 소개와 함께 남긴다
이 글은 개발 대화의 선택 순서와 실제 소스 구조를 읽어 구성했다. 모든 기능이 처음 계획대로 완성됐다는 이야기도, 다른 브라우저보다 모든 면에서 낫다는 비교도 아니다. 새 운영 시험을 수행한 보고서로 쓰지 않으며 확인한 구현과 과거 시험의 범위를 나눈다.
이후 글에서는 한 요청이 어떻게 작은 실행 입력이 되고, 어떤 절차가 저장돼 다시 쓰이며, 무엇을 확인해야 다음 단계로 갈 수 있는지 구체적으로 풀어 간다. 나는 북극성을 기능 목록으로만 남기고 싶지 않았다. 왜 이런 도구를 만들었고 어디서 판단이 바뀌었는지까지 다음 사람이 읽을 수 있는 제작 기록으로 남기려 한다.