제품

여러 터미널 앞에서, 어디부터 볼지 고르는 일

빌더의 일기: 에이전트 모자이크로 전체를 훑고 하나를 고르는 흐름, 그리고 보는 일과 결과를 확인하는 일 사이의 간격.

여러 에이전트가 일하는 모습을 소개하려고 앉았을 때, 저는 기능 이름보다 먼저 질문 하나를 적었습니다. 지금 어느 터미널부터 봐야 할까. 화면을 많이 보여 주는 것만으로 그 질문에 답할 수 있을까. 이번 빌더의 일기는 그 질문에서 시작합니다. 에이전트 모자이크라는 화면을 이야기하지만, 제가 정리하고 싶은 것은 화면 앞에서 판단하는 순서입니다.

처음부터 멋진 성과를 적고 싶지는 않았습니다. 여러 터미널이 함께 보이는 모습은 그 자체로 바빠 보입니다. 하지만 바빠 보이는 장면과 제가 상황을 이해한 장면은 다를 수 있습니다. 이 글에서는 그 간격을 쉽게 건너뛰지 않으려고 합니다. 어떤 화면을 열 수 있는지 설명하고, 그 화면을 보면서 제가 어떤 질문을 이어 가려는지 적겠습니다.

장면 1 — 하나를 보고 전체를 안다고 생각하기

설명을 위해 공개해도 되는 예제 작업 네 개를 준비하는 상황을 떠올려 봅니다. 하나는 문장을 다듬고, 하나는 작은 계산 예제를 확인하고, 나머지는 샘플 자료를 정리합니다. 실제 고객의 작업을 옮겨 놓을 필요는 없습니다. 여러 작업이 있다는 상황만 있어도, 제가 어느 화면부터 확인할지 정해야 한다는 문제는 충분히 설명할 수 있습니다.

제가 조심하려는 실수는 가장 최근에 열어 둔 터미널 하나에 시선이 머무는 것입니다. 그 화면에서 새로운 줄이 나오면 전체가 잘 흘러가는 듯한 느낌을 받을 수 있습니다. 반대로 눈앞의 출력이 잠시 멈춰 있으면 다른 작업도 함께 멈춘 것처럼 받아들이기 쉽습니다. 하지만 제가 보고 있는 것은 어디까지나 선택한 한 화면입니다.

그래서 저는 설명의 첫 질문을 바꾸기로 했습니다. 모든 출력을 지금 당장 읽을 수 있느냐고 묻기 전에, 어떤 출력부터 읽을지 고를 수 있느냐고 묻는 겁니다. 시작부터 세부 내용 안으로 들어가면 고르는 일과 읽는 일이 섞입니다. 먼저 대상을 고르고 나서 내용을 읽는 순서라면, 적어도 제가 무엇을 아직 보지 않았는지는 의식할 수 있겠습니다.

이 차이는 화면을 몇 개 띄우느냐보다 제 주의력을 어디에 쓰느냐에 가깝습니다. 출력 하나를 오래 읽는 시간이 필요할 때도 있고, 여러 작업을 짧게 훑어볼 때도 있습니다. 어느 쪽이 언제나 더 좋다고 말하려는 것은 아닙니다. 지금 제가 하려는 일이 무엇인지 먼저 정하고, 그 목적에 맞는 보기를 선택하려고 합니다.

작은 미리보기에서 시작하기

마블로의 에이전트 모자이크는 진행 중인 에이전트들의 실제 터미널 출력을 한 화면에 여러 칸으로 모아 보여 줍니다. 플릿 에이전트 화면에서 ‘진행 중’을 고른 다음 ‘모자이크’를 선택하는 흐름입니다. 전체 목록에서 같은 보기를 찾는 방식은 아닙니다. 모자이크는 v3.0.43부터 포함돼 있습니다. 이 글에서는 그 화면을 출발점으로 삼아 보겠습니다.

모자이크가 상태 이름만 나열하는 화면이라면, 저는 여전히 각각의 출력을 보기 위해 다음 화면을 열어야 할 것입니다. 여기서는 여러 터미널의 출력이 함께 보입니다. 그 차이 덕분에 이번 설명에서는 먼저 여러 칸을 훑어보는 장면을 넣을 수 있습니다. 다만 작은 칸에 나온 내용을 전부 빠짐없이 읽겠다는 목표를 세우지는 않았습니다.

칸 위에는 작업 제목과 모델 표시, 에이전트 이름이 나옵니다. 작업 제목이 없으면 에이전트 이름이 보이고, 긴 제목은 짧게 표시될 수 있습니다. 그래서 촬영에 쓸 예제의 이름도 짧고 서로 구분되게 준비하려고 합니다. 제목만으로 내용을 다 설명하려고 하기보다, 어느 예제를 보는지 알아볼 수 있을 정도면 충분하다고 생각합니다.

여기서 제 설명이 실제보다 커지지 않도록 붙잡아 두고 싶은 표현이 있습니다. ‘한눈에’라는 말입니다. 여러 출력이 같은 화면에 있다는 뜻으로는 쓸 수 있지만, 모든 내용이 저절로 이해된다는 뜻으로 쓰고 싶지는 않습니다. 화면이 모였다는 사실에서 이해가 끝났다는 결론으로 바로 넘어가면, 제가 처음에 적은 질문을 또 놓칠 것 같습니다.

장면 2 — 훑어보기와 읽기를 한 번에 하려는 마음

이 화면을 설명하며 제가 붙잡은 원인은 두 가지 목적이 섞이기 쉽다는 점입니다. 하나는 전체에서 볼 대상을 고르는 일이고, 다른 하나는 선택한 출력의 의미를 읽는 일입니다. 작은 칸 여러 개를 보면서 긴 내용을 모두 이해하려 하면 어려워집니다. 그렇다고 한 화면만 크게 보면, 그 순간 다른 출력은 제 눈앞에 없습니다.

저는 이 두 목적을 순서로 풀어 보려고 합니다. 모자이크에서는 여러 칸을 훑습니다. 작업 이름을 보고, 지금 어떤 출력이 보이는지 보고, 더 읽고 싶은 대상을 정합니다. 그다음에야 하나의 화면으로 들어갑니다. 이 순서가 모든 상황의 정답이라는 뜻은 아닙니다. 이번 기능을 소개할 때 제가 제안하고 싶은 관찰 방식입니다.

이때 출력이 많이 나오는 칸부터 무조건 선택하겠다는 규칙도 만들지 않았습니다. 글자가 빠르게 바뀌는 것이 중요한 일이라는 근거는 아니기 때문입니다. 천천히 읽어야 할 문장이 보일 수도 있고, 제가 처음 맡긴 내용을 다시 확인해야 할 수도 있습니다. 무엇에 주의를 기울일지는 여전히 화면 앞에 있는 제가 생각해야 할 문제로 남겨 둡니다.

모자이크가 저 대신 중요도를 판정한다고 설명하면 이야기는 쉬워질지도 모릅니다. 하지만 이 글에서 소개하는 동작은 여러 출력을 함께 보고 하나를 선택하는 흐름입니다. 제가 붙이는 의미와 화면이 실제로 제공하는 동작을 구분해서 쓰려 합니다. 기능을 설명하는 글일수록 제 기대가 설명에 섞이지 않도록 천천히 문장을 고를 필요가 있겠습니다.

읽기 전용이라는 경계

모자이크의 미리보기는 읽기 전용입니다. 작은 칸에 명령을 입력하면서 여러 에이전트에게 동시에 지시하는 화면으로 소개하지 않습니다. 저는 이 점을 사용 흐름의 한가운데에 넣고 싶었습니다. 어떤 장면에서 무엇을 할 수 있는지 분명해야, 처음 보는 사람도 화면의 모양만 보고 다른 동작을 기대하지 않을 것 같기 때문입니다.

여러 화면이 함께 있으면 제 관심도 여러 곳으로 나뉩니다. 그 상태에서 당장 무언가 바꾸겠다고 서두르기보다, 우선 볼 대상을 정해 보려 합니다. 지금은 읽는 단계인지, 내용을 더 확인해야 하는 단계인지 스스로 말해 보는 겁니다. 읽기 전용이라는 표시를 설명하면서, 제가 이 화면을 어떤 목적으로 열었는지도 함께 정리할 수 있었습니다.

작은 미리보기만으로 충분한 때와 충분하지 않은 때도 나누어 생각하려고 합니다. 여러 칸의 배치를 보는 것만으로도 지금 제가 확인할 대상이 여럿이라는 사실은 떠올릴 수 있습니다. 하지만 어느 출력의 문맥을 자세히 읽어야 한다면 그 단계로 넘어가야 합니다. 화면 하나에서 모든 목적을 끝내려고 하면 다시 처음의 혼동으로 돌아갈 수 있습니다.

이 구분을 길게 적는 이유는 작은 화면이 불편하다는 이야기로 끝내고 싶지 않아서입니다. 모든 내용을 작은 칸에서 읽으려고 할 때 불편한 것과, 다음에 읽을 대상을 고르려고 작은 칸을 보는 것은 다른 경험일 수 있습니다. 저는 먼저 목적을 정하고 나서 화면의 크기를 이야기하는 편이 더 정확하다고 느낍니다.

아홉 칸이라는 범위도 함께 설명하기

모자이크 미리보기는 최대 아홉 칸입니다. 에이전트가 그보다 많으면 초과 수를 안내합니다. 그래서 저는 ‘여러 터미널을 모아 본다’는 문장 옆에 이 범위도 함께 적습니다. 모든 에이전트의 출력을 제한 없이 한 화면에서 본다는 식으로 읽히면 실제 동작과 달라집니다. 짧은 소개에서도 이 부분을 빼놓지 않으려고 합니다.

이번 설명을 위한 데모는 네 개를 기준으로 잡았습니다. 최대치까지 채운 화면을 만드는 것보다, 각 칸의 이름과 선택할 위치를 알아볼 수 있게 보여 주는 편을 택한 겁니다. 네 개는 촬영 구성의 예시입니다. 제가 평소에 쓰는 수나 다른 사람이 쓰는 수를 보여 주는 자료로 삼으려는 것은 아닙니다.

기능의 상한을 말하면 소개가 덜 인상적으로 들릴까 잠깐 생각할 수는 있습니다. 그래도 저는 사용자가 화면을 열기 전에 알면 좋은 정보라면 함께 적는 편이 낫다고 생각합니다. 어떤 범위에서 기대할 수 있는지 알아야, 실제 화면을 보고 자신이 찾던 흐름인지 판단할 수 있습니다. 설명이 화면보다 앞서 달려가지는 않았으면 합니다.

또 숫자 자체를 이 글의 결론으로 삼고 싶지는 않습니다. 이번에 제가 기록하려는 것은 몇 칸까지 채울 수 있느냐는 경쟁이 아닙니다. 여러 출력을 함께 보는 단계와 하나를 골라 읽는 단계를 어떻게 이어 설명할지입니다. 아홉 칸이라는 정보는 그 흐름을 이해하기 위한 범위로 적고, 그보다 큰 성능 이야기를 덧붙이지 않겠습니다.

장면 3 — 칸의 머리글에서 하나를 고르기

자세히 볼 대상을 골랐다면 칸의 머리글을 클릭합니다. 그러면 해당 에이전트의 개별 보기로 들어갑니다. 머리글을 선택하고 Enter나 Space를 눌러도 같은 선택을 할 수 있습니다. 촬영에서도 포인터가 어디를 누르는지 천천히 보여 주려고 합니다. 작은 터미널 본문 아무 곳을 누르는 장면으로 설명하면 실제 선택 위치가 흐려질 수 있기 때문입니다.

여기까지 오면 질문도 바뀝니다. 모자이크 앞에서는 어디를 볼지 골랐다면, 개별 보기에서는 지금 보이는 출력이 무엇을 뜻하는지 읽습니다. 제가 맡긴 내용과 어떤 관련이 있는지, 이어서 확인할 부분은 무엇인지 생각합니다. 같은 터미널을 보는 일이지만 제가 주의를 기울이는 범위는 달라집니다. 전체를 고르는 단계에서 하나의 내용을 읽는 단계로 넘어온 셈입니다.

저는 이 전환을 크게 포장하고 싶지는 않습니다. 머리글을 누르고 하나를 선택하는 동작은 짧습니다. 다만 그 짧은 동작을 기준으로 지금 무엇을 하는지 말할 수 있습니다. 아직 고르고 있는지, 이미 하나를 읽기 시작했는지 구분하는 겁니다. 설명이 단순해지면 제가 화면을 보며 건너뛰는 질문도 조금 더 잘 드러날 것 같습니다.

그리고 그다음에는 결과를 확인해야 합니다. 개별 보기에서 출력을 읽었다는 사실만으로 작업이 끝났거나 결과가 맞다고 적지 않으려고 합니다. 제가 실제로 무엇을 확인했는지 말할 수 있어야 합니다. 화면을 열었다, 출력을 읽었다, 결과를 검증했다는 표현을 서로 바꾸어 쓰지 않는 것이 이번 글에서 제 스스로 지키고 싶은 문장 규칙입니다.

화면이 보여 준 것과 제가 판단할 것

여러 터미널이 함께 움직이는 장면은 영상으로 옮기기 좋습니다. 하지만 저는 그 장면 위에 성공이라는 자막을 쉽게 붙이고 싶지 않습니다. 화면에서 보이는 것은 출력입니다. 그 출력이 어떤 결과를 가리키는지는 더 읽어야 할 수 있습니다. 눈에 띄는 장면과 결론을 한 컷으로 붙이면 설명이 실제보다 빨라질 것 같습니다.

그래서 이번 이야기에서는 ‘어디를 볼까’라는 질문을 끝까지 남겨 두기로 했습니다. 모자이크는 그 질문을 시작하기 위한 화면으로 소개합니다. 이후 하나를 선택하고 읽고 판단하는 과정도 함께 말합니다. 보는 방법을 설명하면서 판단까지 화면에 맡긴 듯한 인상을 주고 싶지는 않았습니다. 제가 하는 해석의 몫은 제 문장 안에 분명히 남겨 두겠습니다.

이 글을 읽는 분이 다른 방식으로 여러 작업을 확인하고 있다면, 화면의 모양보다 질문의 순서를 비교해 보면 좋겠습니다. 처음에 무엇을 보고, 어떤 근거로 하나를 고르고, 언제 결과를 확인했다고 말하는지 생각해 보는 겁니다. 저도 그 순서를 설명할 수 있을 때 화면을 소개하는 말이 조금 더 정확해진다고 느낍니다.

제가 이번에 적은 흐름은 간단합니다. 플릿에서 진행 중을 고르고, 모자이크를 열고, 여러 출력을 훑고, 머리글에서 하나를 선택합니다. 거기서 내용을 읽은 다음 결과를 따로 확인합니다. 화면을 더 많이 보는 것이 목표라면 놓쳤을 질문을, 이 순서 안에서는 계속 이어서 물을 수 있겠습니다. 저는 그 점을 이번 빌더 로그에 남기려고 합니다.

오늘의 한 줄

한눈에 보는 화면은 다음에 어디를 볼지 고르는 출발점이다.

여러 에이전트가 일할 때 여러분은 어느 터미널부터 확인하시나요? 가장 최근에 연 화면인지, 먼저 맡긴 일인지, 다시 읽고 싶은 출력인지 궁금합니다. 이번에는 제가 제안하는 순서를 적어 보았습니다. 다음 기록에서도 화면이 보여 주는 사실과 제가 거기에 붙이는 해석을 구분하며, 실제로 설명할 수 있는 장면 하나씩 남겨 보려고 합니다.

영문으로 짧게 읽고 싶다면 이 글의 영문 요약을 보실 수 있습니다. 이런 빌더 로그가 도움이 되었다면, 영상으로 이어질 기록도 구독해 주세요.

댓글

댓글 기능은 곧 제공됩니다.