[추천]Meta의 코딩에이전트 제작에서의 팁 ( 데이터 전처리 & 피드백 루프)
Meta가 데이터 파이프라인 4개 저장소·3개 언어·4,100+ 파일에 흩어진 사내 부족지식(tribal knowledge)을 50+ 전문 AI 에이전트가 사전 추출, AI 도구의 모듈 navigation 커버리지 5% → 100%, 작업당 tool call 40% 감소
요약
Meta가 4개 저장소·3개 언어·4,100+ 파일에 걸친 데이터 처리 파이프라인에 AI 에이전트를 붙였더니 코드 컨벤션을 모르는 채 추측·재탐색만 반복하던 문제를, 50+ 전문 에이전트가 모든 파일을 읽어 59개 컨텍스트 파일과 50+ "non-obvious pattern"을 사전 추출하는 방식으로 해소. AI 도구의 모듈 navigation 커버리지 5%(5 파일) → 100%(59 파일, 4,100+ 파일 커버), 6개 작업 사전 테스트에서 tool call·token 약 40% 감소.
내용
문제 무대는 config-as-code 파이프라인 — Python 설정 + C++ 서비스 + Hack 자동화 스크립트가 여러 저장소에 걸쳐 함께 동작. 데이터 필드 하나를 onboarding하려면 설정 레지스트리·라우팅 로직·DAG 합성·검증 규칙·C++ 코드 생성·자동화 스크립트 등 6개 서브시스템이 동기화돼야 함.
대시보드 스캔이나 과거 인시던트 패턴 매칭 같은 운영 작업에는 AI 도구가 잘 붙었지만, 개발 작업으로 옮기자 무너짐. 두 설정 모드가 같은 작업에 다른 필드명을 쓴다는 사실(바꾸면 silently 잘못된 출력)이나 "deprecated" 표시된 enum 값 수십 개를 직렬화 호환성 때문에 절대 지우면 안 된다는 점 같은 부족지식이 어디에도 문서화돼 있지 않은 게 핵심. 컨텍스트 없이 에이전트는 추측 → 탐색 → 재추측을 반복하며 컴파일은 되는데 살짝 틀린 코드를 만들어냈음.
해결 / 접근
탐색 전에 먼저 가르친다는 방향. 50+ 전문 에이전트를 한 세션에 오케스트레이션해 단계별 분업.
- 탐색기 2개 — 코드베이스 매핑
- 모듈 분석기 11개 — 모든 파일 읽고 다섯 질문 답변
- 작성기 2개 — 컨텍스트 파일 생성
- 비평기 10+개 — 독립 품질 리뷰 3라운드
- 수정기 4개 — 비평 결과 반영
- 업그레이더 8개 — 라우팅 레이어 정련
- 프롬프트 테스터 3개 — 5개 페르소나의 55+ 쿼리 검증
- 갭 메우는 에이전트 4개 — 미커버 디렉터리 보강
- 최종 비평기 3개 — 통합 테스트
모듈당 다섯 질문
- 이 모듈은 무엇을 설정하는가
- 흔한 변경 패턴은 무엇인가
- 빌드 실패를 일으키는 non-obvious 패턴은 무엇인가
- 다른 모듈과의 의존성은 무엇인가
- 코드 코멘트에 묻혀 있는 부족지식은 무엇인가
5번 질문에서 가장 깊은 발견 — 한 파이프라인 단계가 임시 필드명으로 출력하면 다음 단계에서 그걸 rename하는 hidden intermediate naming convention(잘못 참조하면 코드 생성 silently 실패), append-only 식별자 규칙(deprecated 값 제거 시 backward compat 깨짐) 등 50+ 패턴 발굴. 어디에도 적혀 있지 않던 내용.
컨텍스트 파일 형식 — "compass, not encyclopedia"
각 파일 25~35줄(~1,000 토큰), 4개 섹션:
- Quick Commands (복붙 가능한 작업)
- Key Files (실제 필요한 3~5개)
- Non-Obvious patterns
- See Also (상호참조)
59개 전체 합쳐도 최신 모델 컨텍스트 윈도우의 0.1% 미만. 자연어 프롬프트로 적절한 도구로 자동 라우팅하는 오케스트레이션 레이어를 그 위에 얹음 — "파이프라인 정상이야?" → 대시보드 스캔 + 85+ 인시던트 패턴 매칭, "데이터 필드 추가해" → 다단 검증 포함 설정 생성.
자기 유지
몇 주마다 자동 잡이 파일 경로 검증 → 커버리지 갭 탐지 → 비평 에이전트 재실행 → stale 참조 자동 수정. 부패한(decay) 컨텍스트는 없는 것보다 나쁘다는 전제.
cross-repo 의존성 인덱스와 data flow map도 별도 생성 — "X에 무엇이 의존하는가?"가 다중 파일 탐색(~6,000 토큰)에서 그래프 조회 한 번(~200 토큰)으로 단축.
학술 결과와의 차이
[arXiv:2602.11988]은 AI 생성 컨텍스트 파일이 Django·matplotlib 같은 OSS Python 저장소에서 에이전트 성공률을 떨어뜨린다고 보고. Meta 팀은 그 평가가 모델이 사전학습으로 이미 아는 코드베이스 대상이라 컨텍스트가 redundant noise였다는 점을 지적. 사내 proprietary config-as-code는 정반대 — 어떤 모델 학습 데이터에도 없는 부족지식. 세 가지 설계로 위험 회피: 간결(~1,000 토큰), opt-in(관련 시에만 로드), 품질 게이트(다단 비평 + 자동 자기 업그레이드).
결과 / 참고
| 지표 | Before | After |
|---|---|---|
| AI 컨텍스트 커버리지 | 5% (5 파일) | 100% (59 파일) |
| AI navigation 가능 코드베이스 파일 | ~50 | 4,100+ |
| 문서화된 부족지식 | 0 | 50+ non-obvious patterns |
| 테스트된 프롬프트 코어 통과율 | 0 | 55+ (100%) |
- 6개 작업 사전 테스트: 작업당 tool call·token 약 40% 감소
- 복잡 워크플로 가이드: 약 2일 리서치·엔지니어 상담 → 약 30분
- 품질: 3라운드 독립 비평 후 점수 3.65 → 4.20 / 5.0, 참조 파일 경로 환각 0
- 모델 무관: 지식 레이어가 model-agnostic, 주요 모델 모두에서 동작
- 향후: Meta 데이터 인프라 다른 파이프라인으로 확장, 자동 refresh가 stale뿐 아니라 새로 형성되는 부족지식까지 코드 리뷰·커밋에서 감지 가능한지 조사
- 출처: Engineering at Meta (2026-04-06)