spinny:~/writing $ less codex-multi-agent-workflows.md
12코딩 에이전트가 처음으로 버그를 수정해 주었을 때 반응은 거의 항상 같았습니다. 열정과 의심이 뒤섞인 반응이었습니다. 물론이죠. 하지만 차이점을 보고 자문해 보세요. "좋아, 그런데 그 사람이 정확히 무엇을 만졌지? 내가 그를 믿을 수 있을까? 내일 또 같은 방식으로 할 것인가?"34흥미로운 부분이 시작되는 곳이 바로 여기라고 생각합니다. 에이전트가 함수를 작성할 때가 아니라 저장소 읽기, 패치 생성, 테스트 실행, PR 열기, 검토 의견 후 다시 돌아오는 등 전체 작업을 수행할 수 있을 만큼 충분히 능력을 갖추었을 때입니다. Codex는 백그라운드 작업, 별도의 작업 트리, 통합 브라우저, 자동화, 플러그인, 메모리 및 보다 명시적인 권한 제어와 같은 방향으로 정확하게 움직이고 있습니다.56요점은 더 이상 아무도 코드를 읽지 않는 미래를 상상하는 것이 아닙니다. 그것은 아주 순진할 뿐만 아니라 끔찍한 미래가 될 것입니다. 요점은 모든 일을 시키지 않고도 많은 일을 할 수 있는 상담원과 협력하는 방법을 알아내는 것입니다.78## 습관의 변화910기존의 자동 완성 기능을 사용하면 항상 운전대를 잡았습니다. AI가 라인을 제안하면 당신이 결정합니다. 그러나 에이전트와 함께라면 관계가 달라집니다. 에이전트에게 목표를 제시하면 에이전트는 스스로 여러 단계를 거치게 됩니다.1112이는 강력하지만 문제를 전환시킵니다. 문제는 더 이상 "모델 프로그램이 가능합니까?"가 아닙니다. 질문은 다음과 같습니다.1314- 내가 그에게 충분히 작은 범위를 주었나요?15- 결과를 확인하는 방법을 알고 있나요?16- 격리된 환경에서 일하고 있나요?17- 최종 검토는 여전히 인도적이고 신중합니까?1819건강한 작업 흐름은 마술 지팡이라기보다는 다음과 같습니다.2021```mermaid22flowchart LR23 Idea[인간의 임무] --> Scope[작고 검증 가능한 목적]24 Scope --> Agent[격리된 작업 트리의 에이전트]25 Agent --> Checks[테스트, 린트, 빌드, 브라우저]26 Checks --> Review[사람의 검토]27 Review --> Merge[병합 또는 새 반복]28 Review --> Iterate[차이점에 대한 정확한 설명]29 Iterate --> Agent30```3132"에이전트가 모든 것을 구축합니다"보다 덜 낭만적으로 들리지만 훨씬 더 잘 작동합니다. 또한 명확한 작업, 빠른 피드백, 명시적인 책임 등 인간과 잘 협력하는 팀이 일하는 방식이기도 합니다.3334## 좋은 프롬프트는 거의 좋은 티켓입니다3536가장 위험한 프롬프트는 모호하지만 확신에 찬 프롬프트입니다. "인보이스 페이지 수정", "아키텍처 개선", "인증 모듈 정리". 이는 생산적으로 들리고 엄청난 차이를 생성하는 요청입니다. 그런데 당신은 고고학을 하고 있는 자신을 발견하게 됩니다.3738유용한 프롬프트는 더 지루합니다. 예를 들어, 테이블이 `app/(dashboard)/invoices/page.tsx`에 있고 쿼리가 `src/server/invoices.ts`에 있으며 `app/(dashboard)/reports`에 이미 유사한 패턴이 있다는 것을 알고 송장 페이지에 대한 CSV 내보내기를 구현합니다.3940그런 다음 명확한 제약 조건을 추가합니다. 데이터베이스 스키마를 변경하지 말고 작은 유틸리티로 충분하다면 종속성을 추가하지 말고 기존 UI 스타일을 유지하세요. 그리고 `npm test -- invoices` 및 `npm run build` 확인으로 닫습니다.4142이러한 유형의 브리핑은 "AI에게 더 잘 설명"하기 위한 것이 아닙니다. 이는 무엇보다도 귀하가 위임하는 내용을 더욱 명확하게 하는 역할을 합니다. 구체적으로 기록할 수 없다면 아직 상담원이 작업을 수행할 준비가 되지 않은 것일 수 있습니다.4344## 내가 기꺼이 위임하는 세 가지 직업4546첫 번째는 테스트 추가, 호출을 새로운 내부 API로 마이그레이션, 가져오기 업데이트, 더 이상 사용되지 않는 구성 요소 교체, TypeScript 오류 수정 등 반복적이지만 검증 가능한 작업입니다. 여기서 상담원은 시간을 절약할 수 있으며 위험을 제어할 수 있습니다.4748두 번째는 탐색 작업입니다. "이 합계가 계산되는 위치 찾기", "이 테스트가 왜 취약한지 설명하기", "버그를 재현하고 어떤 파일이 영향을 받는지 알려주기". 패치를 바로 생성하지 않더라도 유용한 정찰을 수행할 수 있습니다.4950세 번째는 반복되는 유지 관리 작업입니다. 소규모 종속성 업데이트, 이전 기능 플래그 정리, 차단된 PR 요약, 잊어버린 TODO 확인 등이 있습니다. 화려하지는 않지만 정확히 쌓이는 경향이 있는 종류의 작업입니다.5152## 내가 사람을 지키는 세 가지 직업5354제품 결정은 인간의 손에 달려 있습니다. 변경으로 인해 사용자가 결제하는 방법, 데이터 삭제하는 방법, 가격 확인하는 방법, 권한 이해하는 방법이 변경되는 경우 책임자가 필요합니다.5556인증, 역할, 토큰, 민감한 데이터 로깅, 데이터베이스 마이그레이션과 같은 보안 경계에도 주의를 기울여야 합니다. 에이전트는 구현을 도울 수 있지만 유일한 의사 결정자가 될 필요는 없습니다.5758마지막으로 건축적인 취향이 필요한 모든 것을 인간적으로 유지합니다. 에이전트는 리팩터링을 제안할 수 있지만 추상화가 실제로 필요한지 또는 존재하지 않는 문제를 해결하는 것인지 이해하는 것은 여전히 작업입니다.5960## 리뷰는 선택사항이 아닙니다6162에이전트가 좋으면 CI의 녹색을 신뢰하고 싶은 유혹이 듭니다. 이해할 수 있습니다. 문제가 시작되는 순간이기도 합니다.6364나는 항상 최소한 다섯 가지를 살펴봅니다.65661. 패치는 요청한 작업만 해결합니까?672. 관련 없는 파일을 만졌나요?683. 테스트는 새로운 행동을 다루나요, 아니면 단지 행복한 기회를 다루나요?694. 코드가 로컬 패턴을 따르나요?705. 프로젝트의 나머지 부분과 마찬가지로 오류가 처리됩니까?7172뭔가 잘못된 경우 피드백은 구체적이어야 합니다. "수정"은 게으른 일입니다. 더 나은 점: 이 유틸리티는 `parseMoney`을 `src/lib/money.ts`에 복제합니다. 해당 기능을 재사용하고, EUR 사례에 대한 테스트를 추가하고, 청구 모듈의 공개 API를 변경하지 마세요.7374상담원은 작고 검증 가능한 댓글에 훨씬 더 잘 응답합니다. 신기하게도 사람들도 마찬가지다.7576## 노력할만한 가치가 있는 난간7778에이전트가 파일을 읽고, 코드를 작성하고, 명령을 실행할 수 있다면 이는 강력한 프로세스로 간주되어야 합니다. 편집증은 필요하지 않으며 위생이 필요합니다.7980별도의 작업 트리 또는 분기를 사용하십시오. 따라서 차이점을 비교하고, 실패한 실험을 버리고, 에이전트의 작업을 현재 수행 중인 작업과 혼동하지 않을 수 있습니다.8182권한을 제한하세요. `rg`, `git diff`, `npm test` 및 `npm run build`과 같은 명령은 매우 무료일 수 있습니다. 배포, 데이터베이스 마이그레이션, 비밀에 대한 액세스 및 파괴적인 명령은 명시적으로 유지되어야 합니다.8384필요하지 않을 때는 네트워크 액세스를 줄이세요. 많은 작업의 경우 공식 문서, 패키지 레지스트리 및 특정 내부 서비스로 충분합니다. 표면적이 적고 놀라움이 적습니다.8586작업을 추적합니다. 패치가 검토 중에 도착하면 프롬프트, 실행된 명령, 통과한 테스트 및 수정된 파일을 재구성할 수 있어야 합니다. 관료주의를 만들기 위해서가 아니라, 뭔가 잘못되면 무슨 일이 일어났는지 이해할 수 있기 위해서입니다.8788## 팀으로 시작하는 쉬운 방법8990소규모 팀에 에이전트를 도입한다면 큰 변화 없이 시작할 것입니다.9192범위가 명확한 문제에 대해서는 `agent-ready` 라벨을 만들겠습니다. 컨텍스트, 제약 조건 및 확인 명령이 포함된 템플릿을 추가하겠습니다. 이상적으로는 수백 줄 미만의 작은 PR을 요청하겠습니다. 눈에 띄는 변경 사항에 대해서는 테스트나 스크린샷이 필요합니다. 그리고 무엇보다도 나는 합병을 책임지는 사람을 두겠습니다.93942주 후에 저는 데이터를 살펴보았습니다. 어떤 작업이 실제로 속도가 빨라졌는지, 어떤 리뷰가 무거웠는지, 어떤 프롬프트가 혼란스러웠는지, 코드베이스의 어떤 부분이 너무 취약해서 위임할 수 없었습니다.9596"오늘부터 에이전트와 함께 모든 걸 하겠다"보다는 덜 화려한 접근 방식이지만, 3주차까지 후회 없이 갈 수 있게 해주는 접근 방식이다.9798## 가장 인간적인 부분99100재미있는 점은 자율적인 에이전트가 많아질수록 좋은 티켓 작성, 작은 컷 만들기, 테스트 만들기, 차이점 읽기, 장단점 전달과 같은 고전적인 기술이 다시 더 중요해진다는 것입니다. 에이전트는 이미 작업 방법을 잘 알고 있는 사람들을 가속화합니다. 이는 또한 잘못 위임한 사람들의 혼란을 증폭시킵니다.101102아니요, 저는 다중 에이전트 워크플로를 엔지니어링 작업을 중단하는 지름길로 보지 않습니다. 나는 이를 중요한 부분, 즉 무엇을 구축할지 결정하고, 그것이 작동하는지 확인하고, 시스템을 이해하기 쉽게 유지하는 데 더 많은 에너지를 집중시키는 방법이라고 생각합니다.103104에이전트는 훌륭한 비동기식 동료가 될 수 있습니다. 그러나 비동기식 동료가 유용하려면 컨텍스트, 경계 및 검토가 필요합니다. 다른 사람들처럼.105106## 유용한 소스107108- [(거의) 모든 것을 위한 코덱스 - OpenAI](https://openai.com/index/codex-for-almost-everything/)109- [OpenAI에서 Codex를 안전하게 실행](https://openai.com/index/running-codex-safely/)110- [Codex 소개 - OpenAI](https://openai.com/index/introducing-codex/)111- [GitHub Copilot 코딩 에이전트의 새로운 기능](https://github.blog/ai-and-ml/github-copilot/whats-new-with-github-copilot-coding-agent/)112
:Codex 및 다중 에이전트 작업 흐름: 통제력을 잃지 않고 에이전트와 작업lines 1-112 (END) — press q to close