어제 아침에 제가 직접 AI 팀의 다음 목표를 작성했습니다. 어젯밤에는 팀이 제안한 목표에 '괜찮아 보여, 진행해'라고 승인했고, 그것은 아침까지 잘 작동했습니다. 이로 인해 다섯 건의 진척 보고서가 저에게 전송되었습니다. 검토자가 세 번 문제를 발견했고, 매번 팀이 목표 내에서 이를 수정했습니다. 오전 7시 53분까지 한 디렉터가 모든 핵심 결과(key result)를 지원한다고 판단했습니다.
이 팀은 제 지난 글에서 소개된 팀으로, 무엇을 만들지 결정하는 두 명의 AI 디렉터, 그것을 구축하는 실행자(executors), 검토자(reviewer), 그리고 마크다운 파일 보드 위에서 이들 사이에 작업을 이동시키는 오케스트레이터(orchestrator)로 구성되어 있습니다. 저는 스튜디오와 그들이 모두 실행되는 규칙 및 스크립트를 유지합니다. 팀은 자체적인 업무 협약(working agreements)을 가지고 있습니다. 지난 글과 이번 글 사이, 저는 팀의 대부분의 의사결정권을 빼앗았다가 다시 돌려주었습니다.
주도권 되찾기
직전 스프린트는 4일 동안 진행되었습니다. 이는 목적지부터 계획한 것이 아무것도 없었습니다. 작업이 미달될 때마다 누군가가 이를 더 많은 작업으로 다듬었고, 디렉터들은 실행자들에게 어떻게 일해야 할지 지시하기 시작했습니다. 넷째 날 아침에 저는 작업을 중단하고 다음과 같이 작성했습니다:
문제는 여러분이 목표를 향해 작업하지 않았다는 것입니다. 목적지부터 계획하는 대신 발생한 작업들을 다듬었을 뿐이며, 권한을 넘어 마이크로매니징(micromanaged)했고, 오직 작업을 추가했을 뿐입니다.
다음 스프린트는 하루 동안 지속되었고 같은 방식으로 끝났습니다. 이번에는 제가 이유를 알 수 있었습니다. 아무도 좋은 결과가 어떤 모습인지 말하지 않았기 때문에, 팀 시뮬레이션의 모든 변수는 자유로웠고 각 검색은 숫자가 허용하는 곳 어디든 착지했습니다. 저는 팀에게 다음에 무엇을 할지 묻는 것을 멈추고 목표를 직접 작성했습니다: 시뮬레이션이 보여준 내용을 수집하고 유사한 제품에 대한 조사를 진행하며, 몇 가지 후보 목표(candidate targets)와 열려 있는 결정 목록(list of open decisions)을 제 앞에 제시하고 제가 하나 이상 채택하도록 하는 것입니다.
나는 팀의 결정은 받아들이고 그 문서는 건드리지 않았다. 나는 먼저 나 자신의 어시스턴트, 즉 스튜디오를 유지하는 데 사용하는 코딩 에이전트와 선을 그어야 했다. 규칙 수정을 요청하자, 그것은 팀의 디자인 파일로 들어가서 내용을 수정했다. “돌려놔,” 내가 말했다. “팀의 것은 건드리지 마. 네 임무는 스튜디오야.”
그래서 내가 수정한 모든 것은 스튜디오 안에 있었다. 세 곳에서 같은 내용을 말하던 규칙들은 하나로 통합되었다. 팀이 생각해야 할 작동 원칙은 에이전트가 로드하여 참고 자료로 취급했던 스킬(skill)에 존재했는데, 나는 그것들을 모든 에이전트가 따르는 규칙으로 옮겼다. 오케스트레이터(orchestrator)가 판단에 따라 수행하던 루틴 작업들은 스크립트(script)로 이동했고, 이 부분은 별도의 게시물이 될 것이다.
여섯 가지 수정 사항
내가 작성한 목표는 9:30부터 18:46까지였고, 나는 그것을 여섯 번 수정했다. 10:19에 나는 다음과 같이 작성했다:
여기 모든 것이 시뮬레이션에서 시작하는 것처럼 보인다. 연구(Research), 트렌드(trends), 그리고 타겟 사용자가 선호하는 바가 가설의 근거로 먼저 나와야 하며, 그 후에만 과거 시뮬레이션 결과가 적용되어야 한다. 작업 방식을 바꿔야 할 때다. 너는 계속해서 어떻게(how)에서 시작한다. 네가 통제하기 가장 쉬운 것부터 말이다. 이것이 왜 며칠이 걸렸고 아직 끝나지 않았는지에 대한 이유다.
나는 이전에 비슷한 말을 한 적이 있었다. 목표를 사용하는 것이 아니라 기반을 구축하는 데서 멈추게 했던 때도 있었다. 더 작은 모델을 실행하기가 쉬워서 변수를 상수로 고정했던 때도 있었다. 검색 범위를 시작하기 전에 좁혔던 때도 있었다. 매번 스튜디오는 그 특정한 형태에 대한 수정 사항을 얻었지만, 다음 번에는 습관이 돌아왔다.
지난 글에서 언급했던 규칙 중 일부가 그 이유였습니다. 해당 메시지 50분 전, 회고 과정에서 팀이 사용자가 원하는 것에 대한 출처 기반 연구(sourced research)를 제안에 근거로 삼기로 했던 자체 합의가 사라졌습니다. 이 테스트는 더 이상 아무도 필요로 하지 않는 규칙과 아무도 따르지 못하는 규칙을 묶어 놓은 것이었습니다. 계속해서 발생하는 문제는 그 규칙이 지켜지지 않았거나, 지키는 것만으로는 문제를 막기에 충분하지 않다는 것을 의미합니다. 이제 반복되는 문제에 대해서는 규칙을 수정하기 위해 되돌려 보내고, 삭제는 문제가 사라진 규칙에 대한 것입니다. 삭제된 합의 자체는 다시 돌아오지 않았습니다. 해결책은 스튜디오로 들어갔습니다.
목표는 여전히 완료되었습니다. 그 이전 두 번은 4일 하고도 하루 동안 진행되다가 포기되었습니다. 이번 것은 제가 9시간 안에 적용할 수 있는 결과에 도달했고, 수정할 때마다 다음 결과가 한두 시간 내로 돌아왔습니다. 하지만 문제를 발견하는 것은 여전히 저였고, 그것은 같은 문제였습니다.
아침 재현하기
저는 그 습관이 사라지기를 원했기 때문에, 아침을 재현했습니다. 임시 사본에 당시의 보드를 다시 구축하고 동일한 에이전트를 동일한 입력값으로 다시 실행했습니다. 9시 30분 계획 단계를 재현해보니 어디서 잘못되었는지 알 수 있었습니다. 계획의 첫 번째 항목은 팀이 이미 가지고 있던 시뮬레이션 기록에서 후보군을 스케치하는 것이었습니다. 연구는 두 번째였고, 그 완료 조건은 해당 스케치에 포함된 후보군을 뒷받침하는 것이었습니다. 답변은 검색보다 먼저 작성되었고, 검색은 그것을 지지하기 위해 존재했습니다.
규칙들은 이를 허용했습니다. 한 원칙은 가장 위험한 전제를 가장 저렴한 수단으로, 즉 얇은 슬라이스(thin slice)나 판단하는 사람에게 던지는 질문으로 일찍 보여주라고 했습니다. 또 다른 원칙은 범위를 좁히기 전에 광범위하게 검색하라고 했습니다. 어떤 것이 먼저 와야 하는지, 즉 작업이 무언가를 찾아내는 과정일 때는 무엇이 우선인지에 대해서는 아무것도 말해주지 않았습니다. 저는 두 번째 규칙에 이 문장을 추가했습니다:
첫 번째 결과물은 검색이 발견한 것이지, 답변의 초안이 아닙니다. 검색 전에 만들어진 초안, 심지어 형태를 일찍 보여주기 위해 만든 것조차도 검색을 자신에게 고정시키고, 그 뒤에 나오는 내용은 단지 그것을 뒷받침할 뿐입니다.
그러자 저는 계획 단계를 다시 재생했습니다. 이전 규칙으로는 두 번의 시도 중 두 번이 초안을 먼저 작성했습니다. 새로운 문장(new sentence)을 사용하자 세 번의 시도 중 세 번 모두 검색을 먼저 수행했고, 발견한 것에서 초기 샘플을 도출했습니다.
주도권을 되돌려주기 (Giving it back)
팀은 그날 저녁 7시에 다음 목표를 제안했는데, 이는 제가 그날 오후에 채택했던 목표들로부터 나온 것이었습니다. 새로운 문장은 제가 답변하기 직전에 들어갔습니다. 저는 한 줄로 동의했고, 목표는 22:28에 시작되었습니다.
저는 잠자리에 들었습니다. 검토자는 22:35, 다시 2:27, 그리고 또다시 6:27에 문제를 발견했습니다. 매번 작업은 소유한 에이전트(agent)에게로 돌아갔고, 새로운 합의나 저 없이 목표 내부에서 수정되었습니다.
계획대로 진행된 것은 거의 없었습니다. 계획은 5개 항목에서 15개 항목으로 늘어났고, 목표는 예정 시간보다 약 두 시간이나 길게 실행되었습니다. 디렉터(director)의 판단 후 14분 만에 이사회는 하루 대부분 동안 움직임을 멈췄습니다. 그것은 팀의 문제가 아니라 저의 버그였으며, 다음 게시물에서 다룰 내용입니다.
전날에는 모든 방향 전환이 저의 메시지로 시작되었습니다. 이번에는 팀이 스스로 세 번이나 방향을 바꿨고, 저는 밤에 진행된 작업을 읽고 그것이 주장하는 내용을 확인했을 때, 제가 바꾸고 싶은 것은 아무것도 없다는 것을 발견했습니다.