에이전트가 코드를 잘못 고치는 이유는 대부분 '모델이 멍청해서'가 아니다. 모델이 보는 것이 없거나, 잘못 보기 때문이다. App Router 프로젝트에서 Pages Router 패턴을 꺼내오고, 'use client' 경계를 임의로 긋고, 캐싱 규칙을 통째로 무시하는 에이전트의 실수—대부분은 컨텍스트 결핍에서 출발한다. Next.js 16.2, Thask, 그리고 AI 코드 리뷰 자동화라는 세 흐름이 각각 이 문제의 다른 단면을 공략하고 있다는 점이 흥미롭다.
프레임워크가 에이전트를 위해 변하고 있다
Next.js 16.2는 조용하지만 의미심장한 변화를 담았다. 표면적으로는 Turbopack 안정화와 Server Component 렌더링 경로 최적화지만, 에이전트 워크플로우 관점에서 보면 이야기가 달라진다. AI 코딩 루프의 전형적인 형태는 '코드 생성 → dev 서버 실행 → 에러 읽기 → 패치 → 반복'인데, 이 루프의 신뢰성은 서버 콜드스타트 속도와 에러 메시지 품질에 직접 비례한다.
16.2에서 가장 주목할 변화는 create-next-app이 AGENTS.md를 기본 제공하기 시작했다는 것이다. 이 파일은 App Router의 라우팅 규칙, Server Actions 패턴, 캐싱 컨벤션 등 프레임워크 고유의 맥락을 에이전트가 읽을 수 있는 형태로 번들링한다. 인간이 문서를 읽고 이해하는 방식이 아니라, 레포 안에 있는 파일을 에이전트가 참조하는 방식이다. "에이전트에게 지도를 주는 것"이라는 표현이 정확하다—인터넷 전체를 외우라는 게 아니라, 이 프로젝트의 규칙만 알면 된다는 스코프를 잘라주는 것이다.
여기에 더해 브라우저 콘솔 로그의 터미널 포워딩, 하이드레이션 미스매치 신호 명확화, 포트 충돌 같은 dev 서버 에러의 액션어블한 메시지화—이 모두가 '에이전트가 인간의 도움 없이 에러를 읽고 패치할 수 있는가'라는 질문에 대한 프레임워크 레벨의 답변이다. 콘솔 로그를 직접 복사해서 채팅창에 붙여넣지 않아도 되는 세상이 되고 있다.
구조가 안 보이면 에이전트는 장님이다
그런데 프레임워크 컨텍스트만으로는 부족한 지점이 있다. 프로젝트가 커질수록 에이전트는 "이 API를 바꾸면 어디가 깨지는가"를 알 수 없다. 이 문제를 Thask라는 오픈소스 도구가 정면으로 겨냥하고 있다. FLOW, TASK, BUG, API, UI 등 7종의 노드 타입으로 프로젝트 구조를 시각화하고, 노드 하나를 클릭하면 BFS(너비 우선 탐색)로 영향받는 모든 노드를 즉시 하이라이트하는 Impact Mode를 제공한다.
특히 흥미로운 건 MCP 서버 모드 내장이다. thask impact --node <id>라는 CLI 명령이 MCP를 통해 Claude Code나 Cursor에서 직접 호출 가능하다. 에이전트가 코드를 수정하기 전에 "이 변경이 몇 개의 노드에 영향을 미치는가"를 그래프 데이터로 조회할 수 있다는 뜻이다. 스프레드시트나 이슈 트래커에 숨어 있던 의존 관계가 에이전트가 읽을 수 있는 API로 노출되는 것—이것이 컨텍스트 인식의 다음 레이어다.
Thask의 접근이 특히 설득력 있는 이유는 문제 정의가 정확하기 때문이다. AI 코딩 도구로 코드를 빠르게 만드는 건 이미 해결됐다. 문제는 그 속도로 만들어진 코드가 기존 구조와 어떻게 연결되는지를 추적하는 것이다. 의존 그래프 없이 에이전트에게 리팩토링을 맡기는 건, 지뢰밭 지도 없이 지뢰를 제거하라는 것과 같다.
에이전트가 쓴 코드를, 에이전트가 검토한다
루프의 마지막은 검증이다. dev.to에 공개된 Laravel 기반 AI 코드 리뷰 봇 구현 사례는 스택이 다르지만 원리는 보편적이다. 시니어 개발자가 PR마다 "N+1 문제, eager loading 쓰세요"를 반복해서 타이핑하던 것을 자동화한 것이 출발점이다. PHPStan이나 CodeSniffer 같은 정적 분석 도구가 잡지 못하는 컨텍스트 의존적 버그—암묵적 null 반환, 인가 누락, 부하 상황에서 무너지는 패턴—을 LLM이 잡아내는 역할을 한다.
구현의 핵심은 두 가지다. 첫째, temperature: 0.3—리뷰 품질의 일관성을 위해 창의성보다 예측 가능성을 선택한다. 둘째, 구조화된 프롬프트—severity(critical/warning/info), line_hint, security_flags를 JSON으로 강제 출력하게 해서 파싱 가능한 결과를 만든다. 이 패턴은 프레임워크나 언어와 무관하게 '에이전트 출력의 품질 게이트'로 작동할 수 있다.
세 축을 연결하면 루프가 완성된다
이 세 흐름을 하나의 워크플로우로 연결해보면 윤곽이 잡힌다. AGENTS.md가 프레임워크 컨벤션이라는 지도를 주고, Thask의 의존 그래프가 프로젝트 구조라는 지형을 보여주고, AI 코드 리뷰가 생성된 코드의 품질을 게이트한다. 이 세 레이어가 없으면 에이전트는 각 단계에서 컨텍스트를 잃거나, 영향 범위를 모르거나, 자신이 만든 버그를 스스로 검증하지 못한다.
실천적 제안은 단순하다. 새 Next.js 프로젝트를 시작한다면 AGENTS.md를 첫 번째 커밋에 넣고, 팀의 Server Actions 패턴과 fetch 캐싱 컨벤션을 즉시 문서화하라. 프로젝트가 어느 정도 자라면 Thask 같은 의존성 시각화 도구를 MCP로 연결해 에이전트의 영향 분석을 구조화하라. 그리고 PR 단계에서는 LLM 기반 리뷰 봇이 첫 번째 패스를 담당하게 해서, 시니어의 리뷰 비용을 '진짜 판단이 필요한 것'에만 쓰게 하라.
에이전트가 코드를 잘 짜게 만드는 것은 프롬프트 엔지니어링의 문제가 아니다. 에이전트가 볼 수 있는 것의 품질을 높이는 인프라의 문제다. 프레임워크, 시각화 도구, 자동화 리뷰가 각자의 방식으로 그 인프라를 쌓고 있다. 이 방향이 수렴하는 지점에 진짜 에이전트 네이티브 개발 환경이 있다.