에이전트
특화된 에이전트를 구성하고 사용합니다.
에이전트는 특정 작업과 워크플로우를 위해 구성할 수 있는 특화된 AI 어시스턴트입니다. 사용자 정의 프롬프트, 모델 및 도구 접근 권한을 가진 집중된 도구를 만들 수 있습니다.
팁:
계획 에이전트를 사용하여 코드를 분석하고 제안을 검토하되 코드 변경은 하지 않습니다.
세션 중에 에이전트 간에 전환하거나 @ 멘션으로 호출할 수 있습니다.
유형
Dropstone에는 두 가지 유형의 에이전트가 있습니다: 주 에이전트와 서브에이전트입니다.
주 에이전트
주 에이전트는 직접 상호작용하는 주요 어시스턴트입니다. Tab 키 또는 구성된 switch_agent 키바인드를 사용하여 순환할 수 있습니다. 이 에이전트들은 주요 대화를 처리합니다. 도구 접근은 권한을 통해 구성됩니다: 예를 들어 Build는 모든 도구가 활성화되어 있고 Plan은 제한됩니다.
팁:
세션 중에 Tab 키를 사용하여 주 에이전트 간에 전환할 수 있습니다.
Dropstone은 두 개의 기본 제공 주 에이전트인 Build와 Plan을 제공합니다. 아래에서 이들을 살펴보겠습니다.
서브에이전트
서브에이전트는 주 에이전트가 특정 작업을 위해 호출할 수 있는 특화된 어시스턴트입니다. 메시지에서 @ 멘션으로 수동으로 호출할 수도 있습니다.
Dropstone은 두 개의 기본 제공 서브에이전트인 General과 Explore를 제공합니다. 아래에서 이들을 살펴보겠습니다.
기본 제공
Dropstone은 두 개의 기본 제공 주 에이전트와 두 개의 기본 제공 서브에이전트를 제공합니다.
Build 사용
모드: primary
Build는 모든 도구가 활성화된 기본 주 에이전트입니다. 파일 작업 및 시스템 명령에 대한 전체 접근이 필요한 개발 작업을 위한 표준 에이전트입니다.
Plan 사용
모드: primary
계획 및 분석을 위해 설계된 제한된 에이전트입니다. 권한 시스템을 사용하여 더 많은 제어를 제공하고 의도하지 않은 변경을 방지합니다.
기본적으로 다음 모두는 ask로 설정됩니다:
file edits: 모든 쓰기, 패치 및 편집bash: 모든 bash 명령
이 에이전트는 LLM이 코드를 분석하고, 변경을 제안하거나, 코드베이스에 실제 수정을 하지 않고 계획을 작성하기를 원할 때 유용합니다.
General 사용
모드: subagent
복잡한 질문을 조사하고 다단계 작업을 실행하기 위한 범용 에이전트입니다. 전체 도구 접근 권한(todo 제외)이 있으므로 필요할 때 파일을 변경할 수 있습니다. 이를 사용하여 여러 작업 단위를 병렬로 실행합니다.
Explore 사용
모드: subagent
코드베이스를 탐색하기 위한 빠르고 읽기 전용 에이전트입니다. 파일을 수정할 수 없습니다. 패턴으로 파일을 빠르게 찾거나, 코드에서 키워드를 검색하거나, 코드베이스에 대한 질문에 답해야 할 때 사용합니다.
Compaction 사용
모드: primary
긴 컨텍스트를 더 작은 요약으로 압축하는 숨겨진 시스템 에이전트입니다. 필요할 때 자동으로 실행되며 UI에서 선택할 수 없습니다.
Title 사용
모드: primary
짧은 세션 제목을 생성하는 숨겨진 시스템 에이전트입니다. 자동으로 실행되며 UI에서 선택할 수 없습니다.
Summary 사용
모드: primary
세션 요약을 작성하는 숨겨진 시스템 에이전트입니다. 자동으로 실행되며 UI에서 선택할 수 없습니다.
사용
-
주 에이전트의 경우 세션 중에 Tab 키를 사용하여 순환합니다. 구성된
switch_agent키바인드를 사용할 수도 있습니다. -
서브에이전트는 다음과 같이 호출할 수 있습니다:
-
자동으로 주 에이전트에 의해 설명에 따라 특화된 작업을 위해.
-
메시지에서 @ 멘션으로 수동으로. 예를 들어:
@general help me search for this function
-
-
세션 간 탐색: 서브에이전트가 자식 세션을 생성할 때
session_child_first(기본값: <Leader>+Down)를 사용하여 부모에서 첫 번째 자식 세션으로 들어갑니다. -
자식 세션에 있으면 다음을 사용합니다:
session_child_cycle(기본값: Right)로 다음 자식 세션으로 순환session_child_cycle_reverse(기본값: Left)로 이전 자식 세션으로 순환session_parent(기본값: Up)로 부모 세션으로 돌아가기
이를 통해 주요 대화와 특화된 서브에이전트 작업 간에 전환할 수 있습니다.
구성
기본 제공 에이전트를 사용자 정의하거나 구성을 통해 자신만의 에이전트를 만들 수 있습니다. 에이전트는 두 가지 방법으로 구성할 수 있습니다:
JSON
dropstone.json 구성 파일에서 에이전트를 구성합니다:
{
"$schema": "https://dropstone.io/schema/config.json",
"agent": {
"build": {
"mode": "primary",
"model": "dropstone/dropstone-pro",
"prompt": "{file:./prompts/build.txt}",
"permission": {
"edit": "allow",
"bash": "allow"
}
},
"plan": {
"mode": "primary",
"model": "dropstone/dropstone-fast",
"permission": {
"edit": "deny",
"bash": "deny"
}
},
"code-reviewer": {
"description": "Reviews code for best practices and potential issues",
"mode": "subagent",
"model": "dropstone/dropstone-pro",
"prompt": "You are a code reviewer. Focus on security, performance, and maintainability.",
"permission": {
"edit": "deny"
}
}
}
}
Markdown
마크다운 파일을 사용하여 에이전트를 정의할 수도 있습니다. 다음 위치에 배치합니다:
- 전역:
~/.config/dropstone/agents/ - 프로젝트별:
.dropstone/agents/
---
description: Reviews code for quality and best practices
mode: subagent
model: dropstone/dropstone-pro
temperature: 0.1
permission:
edit: deny
bash: deny
---
You are in code review mode. Focus on:
- Code quality and best practices
- Potential bugs and edge cases
- Performance implications
- Security considerations
Provide constructive feedback without making direct changes.
마크다운 파일 이름이 에이전트 이름이 됩니다. 예를 들어 review.md는 review 에이전트를 만듭니다.
옵션
이 구성 옵션을 자세히 살펴보겠습니다.
설명
description 옵션을 사용하여 에이전트가 수행하는 작업과 사용 시기에 대한 간단한 설명을 제공합니다.
{
"agent": {
"review": {
"description": "Reviews code for best practices and potential issues"
}
}
}
이는 필수 구성 옵션입니다.
온도
temperature 구성으로 LLM 응답의 무작위성과 창의성을 제어합니다.
낮은 값은 응답을 더 집중되고 결정론적으로 만들고, 높은 값은 창의성과 가변성을 증가시킵니다.
{
"agent": {
"plan": {
"temperature": 0.1
},
"creative": {
"temperature": 0.8
}
}
}
온도 값은 일반적으로 0.0에서 1.0 범위입니다:
- 0.0-0.2: 매우 집중되고 결정론적인 응답, 코드 분석 및 계획에 이상적
- 0.3-0.5: 약간의 창의성이 있는 균형 잡힌 응답, 일반 개발 작업에 좋음
- 0.6-1.0: 더 창의적이고 다양한 응답, 브레인스토밍 및 탐색에 유용
{
"agent": {
"analyze": {
"temperature": 0.1,
"prompt": "{file:./prompts/analysis.txt}"
},
"build": {
"temperature": 0.3
},
"brainstorm": {
"temperature": 0.7,
"prompt": "{file:./prompts/creative.txt}"
}
}
}
온도를 지정하지 않으면 Dropstone은 각 계층에 맞게 조정된 합리적인 기본값을 사용합니다.
최대 단계
에이전트가 텍스트 전용 응답으로 강제되기 전에 수행할 수 있는 최대 에이전트 반복 횟수를 제어합니다. 이를 통해 비용을 제어하려는 사용자가 에이전트 작업에 제한을 설정할 수 있습니다.
이를 설정하지 않으면 에이전트는 모델이 중지하기로 선택하거나 사용자가 세션을 중단할 때까지 계속 반복합니다.
{
"agent": {
"quick-thinker": {
"description": "Fast reasoning with limited iterations",
"prompt": "You are a quick thinker. Solve problems with minimal steps.",
"steps": 5
}
}
}
제한에 도달하면 에이전트는 작업 요약과 권장되는 남은 작업으로 응답하도록 지시하는 특수 시스템 프롬프트를 받습니다.
더 이상 사용되지 않음:
레거시 maxSteps 필드는 더 이상 사용되지 않습니다. 대신 steps를 사용하세요.
비활성화
에이전트를 비활성화하려면 true로 설정합니다.
{
"agent": {
"review": {
"disable": true
}
}
}
프롬프트
prompt 구성으로 이 에이전트에 대한 사용자 정의 시스템 프롬프트 파일을 지정합니다. 프롬프트 파일에는 에이전트의 목적에 특정한 지침이 포함되어야 합니다.
{
"agent": {
"review": {
"prompt": "{file:./prompts/code-review.txt}"
}
}
}
이 경로는 구성 파일이 있는 위치를 기준으로 합니다. 따라서 전역 Dropstone 구성과 프로젝트별 구성 모두에서 작동합니다.
모델
model 구성을 사용하여 이 에이전트의 모델을 재정의합니다. 다양한 작업에 최적화된 다양한 모델을 사용하는 데 유용합니다. 예를 들어 계획을 위한 더 빠른 모델, 구현을 위한 더 강력한 모델입니다.
팁:
모델을 지정하지 않으면 주 에이전트는 전역으로 구성된 모델을 사용하고 서브에이전트는 이를 호출한 주 에이전트의 모델을 상속합니다.
{
"agent": {
"plan": {
"model": "dropstone/dropstone-fast"
}
}
}
모델 ID는 dropstone/<tier> 형식을 사용합니다. dropstone/dropstone-fast, dropstone/dropstone-pro 또는 dropstone/dropstone-heavy를 사용합니다.
도구 (더 이상 사용되지 않음)
tools는 더 이상 사용되지 않습니다. 새 구성, 업데이트 및 더 세밀한 제어를 위해 에이전트의 permission 필드를 선호합니다.
이 에이전트에서 사용 가능한 도구를 제어할 수 있습니다. true 또는 false로 설정하여 특정 도구를 활성화하거나 비활성화할 수 있습니다. 에이전트의 tools 구성에서 true는 {"*": "allow"} 권한과 동일하고 false는 {"*": "deny"} 권한과 동일합니다.
{
"$schema": "https://dropstone.io/schema/config.json",
"tools": {
"write": true,
"bash": true
},
"agent": {
"plan": {
"tools": {
"write": false,
"bash": false
}
}
}
}
Note:
에이전트별 구성이 전역 구성을 재정의합니다.
레거시 tools 항목에서 와일드카드를 사용하여 한 번에 여러 도구를 제어할 수도 있습니다. 예를 들어 MCP 서버의 모든 도구를 비활성화하려면:
{
"$schema": "https://dropstone.io/schema/config.json",
"agent": {
"readonly": {
"tools": {
"mymcp_*": false,
"write": false,
"edit": false
}
}
}
}
권한
권한을 구성하여 에이전트가 수행할 수 있는 작업을 관리할 수 있습니다. 각 권한 키는 다음과 같이 설정할 수 있습니다:
"ask": 도구를 실행하기 전에 승인 요청"allow": 승인 없이 모든 작업 허용"deny": 도구 비활성화
사용 가능한 권한 키는:
| 키 | 제어하는 도구 |
|---|---|
read | read |
edit | write, edit, apply_patch |
glob | glob |
grep | grep |
list | list |
bash | bash |
task | task |
external_directory | 프로젝트 worktree 외부의 파일을 읽거나 쓰는 모든 도구 |
todowrite | todowrite, todoread |
webfetch | webfetch |
websearch | websearch |
lsp | lsp |
skill | skill |
question | question |
doom_loop | 에이전트가 막혀 있는 것처럼 보일 때 복구 프롬프트 |
read, edit, glob, grep, list, bash, task, external_directory, lsp 및 skill은 단축 작업("allow" | "ask" | "deny") 또는 세밀한 제어를 위한 glob/패턴 → 작업 객체를 허용합니다. 나머지 키는 단축 작업만 허용합니다.
Note:
권한 키는 기본 도구 이름에 대한 와일드카드 패턴으로 일치하므로 기본 제공, 사용자 정의 및 MCP 도구에 대해 동일한 구문이 작동합니다. 예를 들어 "mymcp_*": "deny"는 MCP 서버의 모든 도구를 거부하고, "mymcp_search": "ask"는 단일 도구를 대상으로 합니다.
{
"$schema": "https://dropstone.io/schema/config.json",
"permission": {
"edit": "deny"
}
}
에이전트별로 이 권한을 재정의할 수 있습니다.
{
"$schema": "https://dropstone.io/schema/config.json",
"permission": {
"edit": "deny"
},
"agent": {
"build": {
"permission": {
"edit": "ask"
}
}
}
}
마크다운 에이전트에서도 권한을 설정할 수 있습니다.
---
description: Code review without edits
mode: subagent
permission:
edit: deny
bash:
"*": ask
"git diff": allow
"git log*": allow
"grep *": allow
webfetch: deny
---
Only analyze code and suggest changes.
특정 bash 명령에 대한 권한을 설정할 수 있습니다.
{
"$schema": "https://dropstone.io/schema/config.json",
"agent": {
"build": {
"permission": {
"bash": {
"git push": "ask",
"grep *": "allow"
}
}
}
}
}
이는 glob 패턴을 사용할 수 있습니다.
{
"$schema": "https://dropstone.io/schema/config.json",
"agent": {
"build": {
"permission": {
"bash": {
"git *": "ask"
}
}
}
}
}
그리고 * 와일드카드를 사용하여 모든 명령에 대한 권한을 관리할 수도 있습니다.
마지막 일치 규칙이 우선하므로 * 와일드카드를 먼저 놓고 특정 규칙을 뒤에 놓습니다.
{
"$schema": "https://dropstone.io/schema/config.json",
"agent": {
"build": {
"permission": {
"bash": {
"*": "ask",
"git status *": "allow"
}
}
}
}
}
모드
mode 구성으로 에이전트의 모드를 제어합니다. mode 옵션은 에이전트를 사용할 수 있는 방식을 결정하는 데 사용됩니다.
{
"agent": {
"review": {
"mode": "subagent"
}
}
}
mode 옵션은 primary, subagent 또는 all로 설정할 수 있습니다. mode를 지정하지 않으면 기본값은 all입니다.
숨김
hidden: true로 서브에이전트를 @ 자동완성 메뉴에서 숨깁니다. 다른 에이전트에 의해 Task 도구를 통해 프로그래밍 방식으로만 호출되어야 하는 내부 서브에이전트에 유용합니다.
{
"agent": {
"internal-helper": {
"mode": "subagent",
"hidden": true
}
}
}
이는 자동완성 메뉴에서 사용자 가시성에만 영향을 줍니다. 숨겨진 에이전트는 권한이 허용하면 모델이 Task 도구를 통해 호출할 수 있습니다.
Note:
mode: subagent 에이전트에만 적용됩니다.
작업 권한
permission.task로 에이전트가 Task 도구를 통해 호출할 수 있는 서브에이전트를 제어합니다. 유연한 일치를 위해 glob 패턴을 사용합니다.
{
"agent": {
"orchestrator": {
"mode": "primary",
"permission": {
"task": {
"*": "deny",
"orchestrator-*": "allow",
"code-reviewer": "ask"
}
}
}
}
}
deny로 설정하면 서브에이전트가 Task 도구 설명에서 완전히 제거되므로 모델이 호출을 시도하지 않습니다.
팁:
규칙은 순서대로 평가되고 마지막 일치 규칙이 우승합니다. 위의 예에서 orchestrator-planner는 * (deny)와 orchestrator-* (allow) 모두와 일치하지만 orchestrator-*이 * 뒤에 오므로 결과는 allow입니다.
팁:
사용자는 에이전트의 작업 권한이 이를 거부하더라도 @ 자동완성 메뉴를 통해 항상 모든 서브에이전트를 직접 호출할 수 있습니다.
색상
color 옵션으로 에이전트의 UI 시각적 모양을 사용자 정의합니다. 이는 에이전트가 인터페이스에 표시되는 방식에 영향을 줍니다.
유효한 16진수 색상(예: #FF5733) 또는 테마 색상: primary, secondary, accent, success, warning, error, info를 사용합니다.
{
"agent": {
"creative": {
"color": "#ff6b6b"
},
"code-reviewer": {
"color": "accent"
}
}
}
Top P
top_p 옵션으로 응답 다양성을 제어합니다. 무작위성 제어를 위한 온도의 대안입니다.
{
"agent": {
"brainstorm": {
"top_p": 0.9
}
}
}
값은 0.0에서 1.0 범위입니다. 낮은 값은 더 집중되고, 높은 값은 더 다양합니다.
추가
구성에서 지정하는 다른 옵션은 모델 옵션으로 직접 전달됩니다. Dropstone의 계층의 경우 지원되는 통과 옵션은 추론 깊이와 텍스트 상세도입니다:
{
"agent": {
"deep-thinker": {
"description": "Agent that uses high reasoning effort for complex problems",
"model": "dropstone/dropstone-heavy",
"variant": "xhigh",
"textVerbosity": "low"
}
}
}
팁:
dropstone models를 실행하여 사용 가능한 계층을 확인합니다.
에이전트 생성
다음 명령을 사용하여 새 에이전트를 만들 수 있습니