인공지능

안티그래비티(AntiGravity) 최대한 활용하기(rule, skill, workflow)

2026. 02. 11. 수요일 오후 10시 7분

안티그래비티가 뭔가요?

현대적인 소프트웨어 개발에서 AI 에이전트는 단순한 도구를 넘어 최고의 협업 파트너로 진화하고 있습니다. 구글 딥마인드 팀이 개발한 **안티그래비티(Antigravity)**는 에이전트 중심 개발(Agentic Coding)을 위한 도구입니다.

설명이 좀 거창했는데, 쉽게 생각하면 에이전트 기능이 많이 강화된 Visual Studio Code라고 보시면 됩니다. VS Code의 오픈소스 버전인 Code - OSS를 기반으로 만들어진 제품이라 거의 똑같고, VS Code에서 사용할 수 있는 익스텐션을 거의 그대로 사용할 수 있습니다. 여기서 안티그래비티는 아래와 같은 AI 에이전트 기능을 추가로 제공합니다.

  • 상황에 맞게 적용되는 에이전트 규칙
  • 에이전트 스킬
  • 에이전트 워크플로우

안티그래비티의 성능을 다 이끌어내려면, 에이전트에게 충분한 컨텍스트를 제공할 수 있어야 합니다. 이를 위해 .agent 폴더에서 rules, skills, workflows를 설정하는 방법을 자세히 알아보겠습니다.

.agent 폴더

안티그래비티는 프로젝트 루트의 .agent 폴더를 통해 프로젝트 특화 지시사항을 학습합니다. 이 폴더는 크게 세 가지 핵심 요소로 구성됩니다.

  • Rules
  • Skills
  • Workflows

각각의 기능에 대해 자세히 알아보겠습니다.

1. Rules: 에이전트를 위한 규칙

Rules는 에이전트가 코드를 작성하거나 수정할 때 반드시 따라야 하는 원칙을 정의하는 공간입니다. 개발자가 프로젝트의 컨벤션이나 아키텍처 원칙을 매번 설명할 필요 없이, 에이전트가 스스로 이 규칙을 참고하여 일관성 있는 코드를 작성하도록 돕습니다.

저는 개인 프로젝트에서 아래와 같이 구성합니다.

  • basic.md: 프로젝트의 기술 스택, 데이터베이스 설정, 핵심 라이브러리 경로 등 전반적인 환경 정보를 명시합니다. 에이전트가 "이 프로젝트는 Next.js 15와 Prisma를 사용한다"는 사실을 인지하고 시작할 수 있게 합니다.
  • fe.md / be.md: 프론트엔드와 백엔드의 코딩 스타일, 컴포넌트 구조, 에러 처리 방식 등을 정의합니다. 예를 들어 "모든 UI 컴포넌트는 src/components/ui 경로에 위치해야 한다"와 같은 구체적인 지침을 줄 수 있습니다.

이 때, basic.md는 모든 프롬프트에 대해 항상 적용하고 fe나 be같은 경우, 필요에 따라 적용합니다. 화면 작업할 때 백엔드 규칙을 적용할 필요는 없으니까요. 안티그래비티의 룰은 md 파일의 맨 앞에 작성하는 프론트매터로 이를 설정합니다.

아래는 basic.md에 대한 규칙입니다.

1---
2trigger: always_on
3---
4
5... 항상 적용해야 하는 규칙에 대해 작성
6

특정 상황에만 적용해야 하는 규칙은 trigger를 model_decision으로 설정하고, 해당 규칙을 언제 적용해야 하는지는 description에 작성합니다. 아래는 backend.md에 대한 규칙입니다.

1---
2trigger: model_decision
3description: 백엔드 개발자로서 백엔드에 관련된 분야(Server Action, Service, Prisma, Auth, DTO, Security)를 담당한다.
4---
5

이렇게 명시된 규칙 덕분에 에이전트는 프로젝트의 맥락을 벗어나지 않고, 팀의 코딩 표준을 준수하는 결과를 만들어냅니다.

2. Skills: 에이전트를 위한 기술

어떤 상황에, 어떤 방법을 사용해서 문제를 해결해야 하는지를 정의하는 것이 스킬입니다. 우리는 스킬을 언제 어떻게 사용해야 하는지만 정의해주면 됩니다.

문제를 어떻게 해결해야 할지를 알려줄 때, 어떤 MCP 서버를 사용해야 하는지를 알려주면, 에이전트는 해당 MCP 서버를 최대한 사용해서 문제를 해결하니, 이에 대한 내용을 추가해주면 더 좋습니다.

예시: 최근 변경 내역 조회

참고로 스킬은 .agent/skills 폴더에 작성하면 됩니다. 아래 예시의 경우 .agent/skills/git-history/SKILL.md에 작성했습니다.

1
2---
3name: git-history
4description: 사용자가 최근 변경 내역을 요청할 때 GitHub MCP를 사용하여 커밋 내역을 조회하고 요약합니다.
5---
6
7# 최근 변경 내역 요약 스킬 (git-history)
8
9이 스킬은 사용자가 프로젝트의 최근 변경 사항에 대해 물어볼 때 GitHub MCP를 사용하여 정확한 정보를 수집하고 요약하는 방법을 가이드합니다.
10
11## 대응 시나리오
12- "최근에 바뀐 내용이 뭐야?"
13- "커밋 내역 좀 요약해줘."
14- "어제 작업한 내용들 알려줘."
15
16## 절차
17
18### 1. 리포지토리 정보 확인
19현재 작업 중인 리포지토리의 'owner''repo' 정보를 확인합니다.
20
21### 2. 최근 커밋 목록 조회 ('list_commits')
22'mcp_github-mcp-server_list_commits' 툴을 호출하여 최근 커밋 목록을 가져옵니다.
23- 'perPage' 파라미터를 사용하여 적절한 개수(: 5~10)를 조회합니다.
24- 특정 브랜치의 변경 사항이 궁금하다면 'sha' 파라미터에 브랜치명을 전달합니다.
25
26### 3. 상세 변경 내용 확인 ('get_commit') - 필요한 경우
27단순히 메시지만으로 부족한 경우, 주요 커밋의 SHA를 사용하여 'mcp_github-mcp-server_get_commit'을 호출합니다.
28- 'include_diff: true'를 설정하여 어떤 파일이 어떻게 수정되었는지 확인합니다.
29
30### 4. 내용 요약 및 보고
31수집된 정보를 바탕으로 다음 기준에 따라 요약하여 전달합니다.
32- **주요 변경 사항**: 기능 추가, 버그 수정, 리팩토링 등으로 분류합니다.
33- **영향을 받은 파일**: 주요 수정 파일 목록을 언급합니다.
34- **언어**: 반드시 한국어로 답변합니다.
35
36> [!TIP]
37> 변경 사항이 많을 경우, 날짜별로 그룹화하거나 가장 중요한 변경점 3가지를 먼저 제시하면 사용자가 파악하기 쉽습니다.
38
39

위와 같이 설정하고 프롬프트에 "최근 바뀐게 뭐야?" 라고 물어보겠습니다.

에이전트가 스킬을 사용하는 모습"에이전트가 스킬을 사용하는 모습"

맨 첫 줄을 보면, 에이전트가 해당 스킬을 읽고 생각하는 것을 확인할 수 있습니다. 또한 스킬에서 가이드하는 대로 GitHub MCP 서버를 사용해서 최근 커밋을 읽으려고 하는 것을 확인할 수 있습니다. 스킬을 사용하지 않는다고 해서 에이전트가 MCP 서버를 활용하지 않는건 아니지만, 의도하지 않은 방법으로 문제를 해결하려고 시도해서 토큰을 낭비하는 것을 막을 수 있으니, 적극 활용하는게 좋습니다.

3. Workflows: 반복되는 작업을 자동화하기

Workflows는 개발 과정에서 빈번하게 발생하는 일련의 명령어 흐름을 정의하여 자동화하는 기능입니다. 안티그래비티는 Planning 모드를 사용하는 경우 사용자 요청을 수행하기 위한 계획을 먼저 세우는데, 해당 상황에 맞는 워크플로우가 있다면 계획 흐름에 워크플로우를 반영합니다.

예를 들어 에이전트가 어떤 기능을 구현한 다음 이를 체크하는 플로우를 정의하는 상황을 가정해보겠습니다. .agent/workflows/build-check.md 파일에 아래와 같이 작성합니다.

1---
2description: 프로젝트 빌드 및 타입 체크 워크플로우
3---
4
5프로젝트의 전체적인 신뢰성을 보장하기 위해 빌드 및 타입 체크를 수행합니다.
6
71. 의존성 설치
8// turbo
9'pnpm install'
10
112. 루트에서 타입 체크 실행
12// turbo
13'pnpm check-types'
14
153. 전체 빌드 테스트
16// turbo
17'pnpm build'
18

위의 워크플로우는 아래의 명령어를 순서대로 실행합니다

  • 의존성 설치 (pnpm i)
  • 타입 체크 (pnpm check-types)
  • 빌드 테스트 (pnpm build)

워크플로우에 // turbo와 같은 주석을 발견할 수 있습니다. 이는 AI용 지시어로, 안전하다고 판단된 명령어들을 에이전트가 사용자 승인 없이 자동으로 빠르게 실행하도록 합니다.

매번 에이전트에게 작업을 시킬 때, 의존성 설치하고 타입 체크하고 빌드 테스트까지 수행해줘라고 반복해서 프롬프트를 작성하는 것보다, 이렇게 워크플로우를 한번 정의해두면 반복해서 프롬프트를 입력해야 하는 수고가 줄어듭니다. 또한 팀 규칙으로 워크플로우를 발전시켜 나가면 같은 방법으로 구현된 기능에 대한 확인을 수행하는 장점도 있습니다.


마무리

AI 에이전트와의 협업은 막연한 명령보다는 명확한 컨텍스트 제공에서 시작됩니다. .agent 폴더를 통해 프로젝트의 규칙(Rules), 지식(Skills), 작업 흐름(Workflows)을 체계적으로 정의함으로써, 안티그래비티는 단순한 코딩 도구를 넘어 프로젝트의 든든한 파트너가 될 수 있습니다.

다만, 한 가지 주의할 점이 있습니다. 컨텍스트가 너무 길어지면 에이전트의 답변 품질이 현저히 떨어질 수 있다는 것입니다. AI 모델이 한 번에 처리할 수 있는 정보량의 한계치에 다다르면 지시사항을 망각하거나 환각(Hallucination)이 발생하는 등 성능 저하가 나타나기 때문입니다.

따라서 rules를 정의할 때 모든 규칙을 always_on으로 설정하는 것은 자제하고, 가급적 model_decision을 활용하는 것이 좋습니다. 대신 description을 상세히 작성하여, LLM이 상황에 맞게 최적의 컨텍스트를 스스로 선택해 사용할 수 있도록 유도해야 합니다.

여러분도 프로젝트에 .agent 폴더를 추가하여 에이전트와의 더 나은 협업을 시작해 보시는 건 어떨까요?