Verdent Docs
고급 기능

확장성 및 사용자 지정

사용자 지정 서브에이전트, 규칙, MCP 연동으로 Verdent의 기능을 확장합니다

배울 내용

사용자 지정 서브에이전트, 규칙 시스템, MCP 연동이라는 세 가지 강력한 확장 방법으로 Verdent for VS Code을 사용자 지정하고 확장하는 방법을 알아봅니다.


확장성 개요

Verdent for VS Code은 기능을 확장하고 동작을 사용자 지정할 수 있는 세 가지 주요 방법을 제공합니다.

  1. 사용자 지정 서브에이전트 - 도메인별 작업을 위한 전문 AI 에이전트를 생성합니다
  2. 규칙 시스템 - VERDENT.md, AGENTS.md, plan_rules.md를 통해 동작을 안내합니다
  3. MCP 연동 - Model Context Protocol을 통해 외부 도구와 서비스를 연결합니다

각 방법은 서로 다른 사용자 지정 요구를 해결하며, 종합적인 워크플로 최적화를 위해 함께 사용할 수 있습니다.


방법 1: 사용자 지정 서브에이전트

개요

사용자 지정 서브에이전트는 전용 시스템 프롬프트, 호출 정책, 작업별 전문성을 갖춘 전문 AI 에이전트입니다. 프로젝트별 기능으로 Verdent의 기본 서브에이전트(@Verifier, @Explorer, @Code-reviewer)를 확장합니다.

저장 위치: ~/.verdent/subagents/

사용자 지정 서브에이전트 생성

파일 구조:

---
name: subagent-name
description: One-line purpose description
---
# System Prompt

[Behavior definition, personality, task interpretation approach]

Invocation policy (strict|flexible): Policy description

When to use:
- Scenario 1
- Scenario 2

When NOT to use:
- Avoid scenario 1
- Avoid scenario 2

생성 방법:

방법 1: 설정 메뉴

  1. Settings → Subagents
  2. "Create new subagent"
  3. 이름, 설명, 시스템 프롬프트를 정의합니다
  4. 호출 정책을 구성합니다
  5. ~/.verdent/subagents/에 저장합니다

방법 2: 직접 파일 생성

  1. ~/.verdent/subagents/로 이동합니다
  2. 마크다운 파일을 생성합니다(예: security-reviewer.md)
  3. YAML frontmatter를 추가합니다
  4. 시스템 프롬프트와 사용 지침을 작성합니다

사용자 지정 서브에이전트 사용 사례

도메인별 전문성:

  • 재무 계산: 세무 준수, 금융 규정
  • 의료 HIPAA 준수: 환자 데이터 처리 표준
  • 암호화: 보안 구현 모범 사례

팀별 워크플로:

  • 코드 스타일 적용: linter 규칙을 넘어서는 팀 코딩 표준
  • 문서 일관성: 문서가 팀 템플릿을 따르도록 보장
  • 의존성 감사: 승인된 목록을 기준으로 타사 패키지 모니터링

기술 스택 전문가:

  • React 성능 최적화: 불필요한 재렌더링 식별
  • SQL 쿼리 최적화: 데이터베이스 성능 분석 및 개선
  • Docker 구성 리뷰: 컨테이너화 방식 검증

품질 보증:

  • 테스트 커버리지 분석: 테스트되지 않은 코드 경로 식별
  • 오류 처리 리뷰: 포괄적인 예외 처리 보장
  • 로깅 표준 적용: 로깅 관행 검증

예시: API 문서 생성기

---
name: api-documenter
description: Generates comprehensive API documentation from code
---
# System Prompt

You are an API documentation specialist.

Documentation approach:
- Extract endpoints, parameters, and responses from code
- Generate OpenAPI/Swagger specifications
- Include usage examples and error codes
- Document authentication requirements

Output format:
- Markdown tables for endpoints
- Code examples in multiple languages
- Authentication flow diagrams

Invocation policy (strict): Only run when explicitly requested.

When to use:
- User requests API documentation generation
- Need to document REST/GraphQL endpoints
- Creating developer guides

When NOT to use:
- Inline code comments
- User-facing documentation

사용법:

@api-documenter document the /api/users endpoints

예시: 데이터베이스 마이그레이션 리뷰어

---
name: migration-reviewer
description: Reviews database migrations for safety and correctness
---
# System Prompt

You are a database migration safety specialist.

Review checklist:
- Check for destructive operations (DROP, DELETE without WHERE)
- Verify reversible migrations (up/down compatibility)
- Identify potential data loss scenarios
- Validate index creation strategies
- Check for blocking operations on large tables

Risk assessment:
- Categorize migrations: low/medium/high risk
- Recommend staging environment testing for high-risk changes
- Suggest rollback procedures

Invocation policy (strict): Only run when explicitly requested.

When to use:
- User creates or modifies migration files
- Pre-deployment migration review
- Investigating migration failures

When NOT to use:
- Schema design from scratch
- Query optimization

호출 정책

엄격한 정책:

  • 서브에이전트는 @-mention으로 명시적으로 요청할 때만 실행됩니다
  • 사용자가 호출을 완전히 제어합니다
  • 전문적이고 가끔 사용하는 서브에이전트에 가장 적합합니다

유연한 정책:

  • 작업 패턴 감지에 따라 자동 호출을 허용합니다
  • 메인 에이전트가 일치하는 작업을 자동으로 라우팅합니다
  • 자주 사용하고 명확히 정의된 서브에이전트에 가장 적합합니다

방법 2: 규칙 시스템

개요

규칙 파일은 코드 변경 없이 Verdent의 동작, 출력 형식, 의사결정을 안내하는 Markdown 문서입니다. 세 가지 규칙 유형이 종합적인 사용자 지정을 제공합니다.

규칙 유형범위우선순위저장 위치
VERDENT.md모든 프로젝트 전역중간~/.verdent/VERDENT.md
AGENTS.md프로젝트별(팀)가장 높음프로젝트 루트 디렉터리
plan_rules.mdPlan Mode 형식독립적~/.verdent/plan_rules.md

규칙 우선순위

충돌이 발생하면:

  1. AGENTS.md(가장 높음) - 프로젝트 규칙이 사용자 선호를 덮어씁니다
  2. VERDENT.md(중간) - 프로젝트 충돌이 없을 때 적용됩니다
  3. 기본 동작(가장 낮음) - Verdent의 기본 내장값

충돌 예시:

VERDENT.md: "Use 2-space indentation"
AGENTS.md: "Use 4-space indentation for this project"
→ Result: 4-space indentation (project rules win)

VERDENT.md(전역 선호)

목적: 모든 프로젝트에 적용되는 개인 코딩 스타일과 선호

예시:

# User Rules

## TypeScript Preferences
- Use strict mode in tsconfig.json
- Prefer interfaces over type aliases
- Include return types on all functions

## Code Organization
- One component per file
- Named exports instead of default exports
- Organize imports: external, internal, types

## Documentation
- TSDoc comments for public APIs
- Include @param and @returns tags

## Communication
- Provide explanations before showing code
- Highlight breaking changes explicitly

접근: Settings → Rules → User Rules

AGENTS.md(프로젝트 규칙)

목적: 팀 전체 코딩 표준과 프로젝트별 규칙

예시:

# AGENTS.md

## Dev environment tips
- Use `pnpm dlx turbo run where <project_name>` to navigate
- Run `pnpm install --filter <project_name>` for dependencies
- Check package.json name field for correct package name

## Testing instructions
- Run `pnpm turbo run test --filter <project_name>`
- From package root: `pnpm test`
- Focus on one test: `pnpm vitest run -t "<test name>"`
- Fix all errors before merge

## PR instructions
- Title format: [<project_name>] <Title>
- Always run `pnpm lint` and `pnpm test` before committing

접근: 프로젝트 루트 디렉터리(버전 관리됨)

plan_rules.md(플랜 사용자 지정)

목적: Plan Mode 출력 형식과 상세 수준 제어

예시:

# Plan Rules

## Plan Structure
- Start with brief summary (2-3 sentences)
- Include estimated time for each major step
- List prerequisites before implementation steps
- Identify potential risks

## Level of Detail
- Break tasks into subtasks of 15-30 minutes
- Include specific file paths for modifications
- List functions/components to create/modify

## Format
- Use numbered lists for sequential steps
- Use bullet points for options
- Include code snippets for complex changes

접근: Settings → Rules → Plan Rules

규칙 작성 모범 사례

구체적이고 지시적으로 작성:

✓ Good: "Always use async/await for asynchronous operations"
✗ Vague: "Try to use modern JavaScript"

논리적으로 구성:

  • 관련 규칙을 섹션 제목 아래에 묶습니다
  • 관심사를 분리합니다(스타일, 테스트, 문서, 보안)
  • 파일 전반에 일관된 구조를 사용합니다

중요 규칙 우선 배치:

  • 각 섹션에서 중요한 규칙을 먼저 배치합니다
  • 협상 불가능한 표준에는 강조를 사용합니다: **NEVER** commit credentials
  • 버그 예방과 보안에 집중합니다

효과 검증:

  • 새 대화를 시작해 규칙 적용을 확인합니다
  • 실제 에이전트 동작을 바탕으로 규칙을 다듬습니다
  • 프로젝트가 발전함에 따라 업데이트합니다

방법 3: MCP 연동

개요

Model Context Protocol(MCP)은 외부 도구, 데이터 소스, 서비스를 연결해 Verdent을 확장합니다. MCP 서버는 Verdent과 외부 시스템 사이의 브리지 역할을 합니다.

구성: Settings → MCP Servers를 통해 ~/.verdent/mcp.json

MCP 기능

외부 시스템 접근:

  • 데이터베이스 쿼리 도구(PostgreSQL, MySQL, MongoDB)
  • 클라우드 서비스 APIs(AWS, Azure, GCP)
  • 프로젝트 관리(Jira, Linear, Asana)
  • CI/CD 파이프라인(Jenkins, GitHub Actions)
  • 모니터링 서비스(Datadog, New Relic)

사용자 지정 도구 개발: 독점 시스템을 위한 MCP 서버를 생성합니다.

  • 내부 API 연동
  • 레거시 시스템 브리지
  • 특수 데이터 소스
  • 워크플로 자동화 도구

MCP vs. 사용자 지정 서브에이전트 vs. 규칙

필요가장 적합한 방법이유
전문 AI 분석사용자 지정 서브에이전트사용자 지정 컨텍스트를 활용한 AI 추론이 필요합니다
코딩 표준 적용규칙(AGENTS.md)간단한 동작 지침입니다
외부 데이터베이스 접근MCP 연동외부 시스템 연결이 필요합니다
개인 코딩 선호규칙(VERDENT.md)전역 동작 사용자 지정입니다
팀 규칙규칙(AGENTS.md)공유 프로젝트 표준입니다
API 연동MCP 연동외부 서비스 상호작용입니다
Plan 형식 사용자 지정규칙(plan_rules.md)Plan Mode 출력 제어입니다
도메인 전문성(재무, 의료)사용자 지정 서브에이전트전문 지식 적용입니다

예시: 세 가지 방법 모두 결합

시나리오: 엄격한 컴플라이언스 요구사항이 있는 풀스택 개발팀

사용자 지정 서브에이전트:

---
name: compliance-auditor
description: Audits code for regulatory compliance (SOC2, HIPAA)
---
[System prompt for compliance checking]

AGENTS.md(프로젝트 규칙):

## Security Standards
- All API endpoints must validate inputs
- Never log PII or credentials
- Encrypt sensitive data at rest and in transit

## Compliance
- Run @compliance-auditor before all PRs
- Document data retention policies in code comments
- Include audit trails for data access

MCP 연동:

  • 컴플라이언스 데이터베이스 MCP 서버: 컴플라이언스 규칙에 맞춰 작업을 확인합니다
  • 감사 로그 MCP 서버: 모든 민감 데이터 접근을 기록합니다

워크플로:

User: "Create endpoint for user profile updates"
Verdent: [Applies AGENTS.md rules]
         [Generates secure endpoint with validation]
         [Automatically invokes @compliance-auditor]
         [Uses MCP to log operation in audit system]
         Result: Compliant, secure, audited endpoint

확장성 모범 사례

단순하게 시작하고 점진적으로 확장

단계적 도입:

  1. 1단계: 기본 규칙(VERDENT.md 또는 AGENTS.md)부터 시작합니다
  2. 2단계: 반복되는 전문 작업에 사용자 지정 서브에이전트를 추가합니다
  3. 3단계: 외부 시스템 연결을 위해 MCP을 연동합니다

방법을 전략적으로 결합

시너지 예시:

규칙 + 서브에이전트:

  • AGENTS.md가 사용자 지정 서브에이전트를 호출할 시점을 지정합니다
  • 규칙으로 서브에이전트 권장사항을 따르도록 합니다

규칙 + MCP:

  • AGENTS.md가 사용 승인된 MCP 서버를 정의합니다
  • 규칙이 외부 데이터 접근이 필요한 시점을 지정합니다

서브에이전트 + MCP:

  • 사용자 지정 서브에이전트가 MCP 도구를 사용해 외부 시스템에 접근합니다
  • 서브에이전트가 전문성을 바탕으로 MCP 결과를 해석합니다

사용자 지정 내용 문서화

팀 문서: 사용자 지정 서브에이전트와 프로젝트 규칙(AGENTS.md)의 경우:

  • 명확하지 않은 규칙이나 서브에이전트의 근거를 문서화합니다
  • 올바른 사용 예시를 제공합니다
  • 문제 해결 가이드를 포함합니다
  • 코드와 함께 버전 관리합니다

개인 문서: VERDENT.md와 개인 서브에이전트의 경우:

  • 복잡한 규칙에는 이유를 주석으로 남깁니다
  • 규칙을 정리된 상태로 최신화합니다
  • 오래된 규칙은 즉시 제거합니다

철저히 테스트

검증 절차:

  1. 사용자 지정 항목(서브에이전트/규칙/MCP 구성)을 생성합니다
  2. 새 대화를 시작해 테스트합니다
  3. 동작이 기대와 일치하는지 확인합니다
  4. 결과를 바탕으로 다듬습니다
  5. 성공적인 패턴을 문서화합니다

일반적인 테스트 시나리오:

  • 예상한 시점에 서브에이전트가 자동 호출되나요?
  • 프로젝트 규칙이 사용자 규칙을 올바르게 덮어쓰나요?
  • MCP 서버가 연결되고 작업을 실행하나요?
  • 결합된 방법들이 충돌 없이 상호작용하나요?

확장성 문제 해결

사용자 지정 서브에이전트 문제

서브에이전트가 호출되지 않음:

  • 호출 정책을 확인합니다(엄격 모드는 명시적 @-mention이 필요함)
  • "When to use" 지침이 요청과 일치하는지 확인합니다
  • 파일이 ~/.verdent/subagents/ 디렉터리에 있는지 확인합니다
  • YAML frontmatter 문법을 확인합니다

예상치 못한 서브에이전트 동작:

  • 시스템 프롬프트가 명확한지 검토합니다
  • "When to use"와 "When NOT to use" 지침을 다듬습니다
  • 명시적 @-mention으로 테스트해 동작을 분리합니다
  • 결과를 바탕으로 시스템 프롬프트를 반복 개선합니다

규칙 충돌

규칙이 적용되지 않음:

  • 규칙 우선순위를 확인합니다(AGENTS.md > VERDENT.md)
  • 파일이 올바른 위치에 있는지 확인합니다
  • 새 대화를 시작해 새로 적용되는지 테스트합니다
  • 규칙을 더 구체적이고 지시적으로 만듭니다

예상치 못한 동작:

  • 같은 파일 안에 서로 모순되는 규칙이 있는지 확인합니다
  • 규칙이 너무 모호하지 않은지 확인합니다
  • 올바른 규칙 파일을 편집 중인지 확인합니다
  • 명시적인 표현을 사용합니다("Always", "Never", "Prefer")

MCP 연동 문제

연결 실패:

  • mcp.json 문법을 확인합니다
  • 인증 자격 증명을 확인합니다
  • MCP 서버가 실행 중이고 접근 가능한지 확인합니다
  • 네트워크 연결을 검증합니다

도구 호출 문제:

  • MCP 서버가 예상 도구를 노출하는지 확인합니다
  • 도구 매개변수 형식을 확인합니다
  • 오류가 있는지 MCP 서버 로그를 검토합니다
  • MCP 서버를 독립적으로 테스트합니다

함께 보기