심포니 에이전트가 깃허브 이슈를 스스로 해결하게 만드는 설정법
9 मई 2026
0
컴퓨터/소프트웨어Related Video
6:20OpenAI는 왜 Symphony를 만들고 무료로 공개했을까?
Better Stack
Comments (0)
Log in to leave a comment
No posts yet
6:20Better Stack
Log in to leave a comment
No posts yet
이슈 트래커에 쌓인 티켓을 에이전트가 직접 처리하게 만들려면 프로젝트 루트에 WORKFLOW.md부터 던져 넣어야 합니다. 심포니(Symphony)는 프로젝트 관리 보드의 상태 변화를 감지해 격리된 워크스페이스를 할당하는 구조를 갖고 있습니다. 실제로 OpenAI 내부 팀이 이 방식을 도입했을 때, 최종 병합된 풀 리퀘스트 수가 3주 만에 500%나 뛰었습니다. 수치가 좀 과해 보이지만 에이전트가 환경 세팅과 할당 작업을 알아서 처리하니 개발자는 코드만 보면 된다는 뜻입니다.
먼저 YAML 설정에 깃허브 저장소 경로와 ai-fix 같은 트리거 라벨을 박으십시오. 그 다음 Rust로 짠 broomva/symphony나 Go 버전인 itervox/symphony-go 데몬을 올려서 30초마다 이슈를 감시하게 만듭니다. 이렇게 세팅해두면 누구한테 이 일을 맡길지 고민하며 메신저를 뒤지는 시간부터 사라집니다.
에이전트한테 일을 맡기면 가끔 말도 안 되는 코드를 짜놓고 당당하게 제출합니다. 보안 키를 노출하거나 팀 컨벤션을 무시하는 식입니다. 심포니의 hooks.after_run은 에이전트가 만든 결과물을 저장소에 기록하기 직전에 가동하는 검문소입니다. 여기서 실행한 스크립트가 에러를 뱉으면 심포니는 즉시 작업을 중단하고 쓰레기 코드가 섞이는 걸 막습니다.
after_run 단계에 딱 세 줄만 추가하십시오. npx prettier --write로 서식을 맞추고, npx eslint --fix로 문법을 잡은 뒤, npx tsc --noEmit으로 타입 체킹까지 끝내야 합니다. 이 자동 검증 루프를 돌리면 에이전트가 짠 코드를 사람이 다시 고치는 수고가 절반으로 줄어듭니다. 에이전트가 싼 똥을 치우느라 시간을 다 쓰는 상황을 피하고 싶다면 필수입니다.
에이전트 여럿을 동시에 돌리다 보면 내 로컬 머신이 비명을 지르기 마련입니다. CPU를 다 점유해서 마우스가 멈추거나 파일 시스템이 꼬여서 코드가 덮어씌워지는 사고가 터집니다. 심포니 오케스트레이터는 내부적으로 filepath.EvalSymlinks 함수를 써서 경로를 분석하므로 디렉토리 탈출 시도는 막아주지만 리소스 분배는 직접 설정해야 합니다.
안정적으로 5개 이상의 세션을 굴리려면 Docker 컨테이너를 슬롯처럼 활용하십시오. --memory="2g"와 --cpu-shares=100 옵션으로 자원을 제한하고, --network=none으로 외부 통신을 끊어버리는 게 안전합니다. 에이전트가 네트워크 어딘가로 데이터를 쏘거나 시스템을 마비시키는 꼴을 보고 싶지 않다면 이 정도 격리는 당연한 조치입니다.
에이전트가 메인 브랜치에 직접 커밋하게 두는 건 자살 행위입니다. 아무리 AI 성능이 좋아졌어도 인간의 최종 승인 없이는 한 줄도 합쳐선 안 됩니다. 작업을 마친 결과물은 무조건 staging/ai-patch- 같은 접두사가 붙은 임시 브랜치로 밀어내야 합니다.
파이프라인 마지막에 깃허브 CLI(gh) 명령어를 넣으십시오. gh pr create를 비대화형 모드로 실행해서 나를 리뷰어로 지정하고, 슬랙으로 알림을 쏘게 만듭니다. 코드를 훑어보고 문제없을 때만 gh pr merge --squash로 합치면 끝입니다. 기계가 초안을 잡고 사람이 도장을 찍는 구조가 가장 빠르면서도 안전합니다.