oh-my-customcode 0.1.2 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +45 -32
- package/dist/cli/index.js +12 -20
- package/dist/index.js +3 -3
- package/package.json +2 -2
- package/templates/.claude/rules/MUST-orchestrator-coordination.md +68 -0
- package/templates/.claude/rules/MUST-parallel-execution.md +66 -9
- package/templates/.claude/rules/MUST-tool-identification.md +79 -17
- package/templates/.claude/rules/SHOULD-hud-statusline.md +8 -1
- package/templates/agents/index.yaml +6 -0
- package/templates/agents/infra-engineer/aws-expert/refs/aws/common-patterns.md +169 -0
- package/templates/agents/infra-engineer/aws-expert/refs/aws/index.yaml +26 -0
- package/templates/agents/infra-engineer/aws-expert/refs/aws/well-architected.md +143 -0
- package/templates/agents/infra-engineer/aws-expert/refs/aws-best-practices/SKILL.md +279 -0
- package/templates/agents/infra-engineer/aws-expert/refs/aws-best-practices/index.yaml +27 -0
- package/templates/agents/infra-engineer/docker-expert/refs/docker/compose-best-practices.md +284 -0
- package/templates/agents/infra-engineer/docker-expert/refs/docker/dockerfile-best-practices.md +262 -0
- package/templates/agents/infra-engineer/docker-expert/refs/docker/index.yaml +26 -0
- package/templates/agents/infra-engineer/docker-expert/refs/docker-best-practices/SKILL.md +274 -0
- package/templates/agents/infra-engineer/docker-expert/refs/docker-best-practices/index.yaml +26 -0
- package/templates/agents/manager/creator/refs/rules/MAY-optimization.md +93 -0
- package/templates/agents/manager/creator/refs/rules/MUST-agent-design.md +107 -0
- package/templates/agents/manager/creator/refs/rules/MUST-agent-identification.md +108 -0
- package/templates/agents/manager/creator/refs/rules/MUST-continuous-improvement.md +132 -0
- package/templates/agents/manager/creator/refs/rules/MUST-intent-transparency.md +199 -0
- package/templates/agents/manager/creator/refs/rules/MUST-language-policy.md +62 -0
- package/templates/agents/manager/creator/refs/rules/MUST-orchestrator-coordination.md +334 -0
- package/templates/agents/manager/creator/refs/rules/MUST-parallel-execution.md +398 -0
- package/templates/agents/manager/creator/refs/rules/MUST-permissions.md +84 -0
- package/templates/agents/manager/creator/refs/rules/MUST-safety.md +69 -0
- package/templates/agents/manager/creator/refs/rules/MUST-sync-verification.md +219 -0
- package/templates/agents/manager/creator/refs/rules/MUST-tool-identification.md +174 -0
- package/templates/agents/manager/creator/refs/rules/SHOULD-ecomode.md +145 -0
- package/templates/agents/manager/creator/refs/rules/SHOULD-error-handling.md +102 -0
- package/templates/agents/manager/creator/refs/rules/SHOULD-hud-statusline.md +96 -0
- package/templates/agents/manager/creator/refs/rules/SHOULD-interaction.md +103 -0
- package/templates/agents/manager/creator/refs/rules/SHOULD-memory-integration.md +114 -0
- package/templates/agents/manager/creator/refs/rules/SHOULD-pipeline-mode.md +165 -0
- package/templates/agents/manager/creator/refs/rules/index.yaml +125 -0
- package/templates/agents/manager/supplier/refs/guides/aws/common-patterns.md +169 -0
- package/templates/agents/manager/supplier/refs/guides/aws/index.yaml +26 -0
- package/templates/agents/manager/supplier/refs/guides/aws/well-architected.md +143 -0
- package/templates/agents/manager/supplier/refs/guides/claude-code/01-overview.md +42 -0
- package/templates/agents/manager/supplier/refs/guides/claude-code/03-tools.md +107 -0
- package/templates/agents/manager/supplier/refs/guides/claude-code/04-agent-skills.md +90 -0
- package/templates/agents/manager/supplier/refs/guides/claude-code/05-agent-sdk.md +129 -0
- package/templates/agents/manager/supplier/refs/guides/claude-code/06-mcp.md +165 -0
- package/templates/agents/manager/supplier/refs/guides/claude-code/07-prompt-engineering.md +100 -0
- package/templates/agents/manager/supplier/refs/guides/claude-code/08-testing.md +58 -0
- package/templates/agents/manager/supplier/refs/guides/claude-code/09-guardrails.md +80 -0
- package/templates/agents/manager/supplier/refs/guides/claude-code/10-monitoring.md +89 -0
- package/templates/agents/manager/supplier/refs/guides/claude-code/11-sub-agents.md +159 -0
- package/templates/agents/manager/supplier/refs/guides/claude-code/index.yaml +51 -0
- package/templates/agents/manager/supplier/refs/guides/docker/compose-best-practices.md +284 -0
- package/templates/agents/manager/supplier/refs/guides/docker/dockerfile-best-practices.md +262 -0
- package/templates/agents/manager/supplier/refs/guides/docker/index.yaml +26 -0
- package/templates/agents/manager/supplier/refs/guides/fastapi/best-practices.md +232 -0
- package/templates/agents/manager/supplier/refs/guides/fastapi/index.yaml +21 -0
- package/templates/agents/manager/supplier/refs/guides/go-backend/index.yaml +26 -0
- package/templates/agents/manager/supplier/refs/guides/go-backend/project-layout.md +243 -0
- package/templates/agents/manager/supplier/refs/guides/go-backend/uber-style.md +212 -0
- package/templates/agents/manager/supplier/refs/guides/golang/concurrency.md +282 -0
- package/templates/agents/manager/supplier/refs/guides/golang/effective-go.md +309 -0
- package/templates/agents/manager/supplier/refs/guides/golang/error-handling.md +250 -0
- package/templates/agents/manager/supplier/refs/guides/golang/index.yaml +27 -0
- package/templates/agents/manager/supplier/refs/guides/index.yaml +101 -0
- package/templates/agents/manager/supplier/refs/guides/kotlin/coding-conventions.md +247 -0
- package/templates/agents/manager/supplier/refs/guides/kotlin/idioms.md +234 -0
- package/templates/agents/manager/supplier/refs/guides/kotlin/index.yaml +26 -0
- package/templates/agents/manager/supplier/refs/guides/python/index.yaml +26 -0
- package/templates/agents/manager/supplier/refs/guides/python/pep8-style-guide.md +202 -0
- package/templates/agents/manager/supplier/refs/guides/python/zen-of-python.md +79 -0
- package/templates/agents/manager/supplier/refs/guides/rust/error-handling.md +262 -0
- package/templates/agents/manager/supplier/refs/guides/rust/index.yaml +26 -0
- package/templates/agents/manager/supplier/refs/guides/rust/ownership.md +180 -0
- package/templates/agents/manager/supplier/refs/guides/springboot/best-practices.md +361 -0
- package/templates/agents/manager/supplier/refs/guides/springboot/index.yaml +22 -0
- package/templates/agents/manager/supplier/refs/guides/typescript/advanced-types.md +225 -0
- package/templates/agents/manager/supplier/refs/guides/typescript/index.yaml +26 -0
- package/templates/agents/manager/supplier/refs/guides/typescript/type-system.md +219 -0
- package/templates/agents/manager/supplier/refs/guides/web-design/accessibility.md +66 -0
- package/templates/agents/manager/supplier/refs/guides/web-design/index.yaml +20 -0
- package/templates/agents/manager/supplier/refs/guides/web-design/performance.md +102 -0
- package/templates/agents/manager/supplier/refs/rules/MAY-optimization.md +93 -0
- package/templates/agents/manager/supplier/refs/rules/MUST-agent-design.md +107 -0
- package/templates/agents/manager/supplier/refs/rules/MUST-agent-identification.md +108 -0
- package/templates/agents/manager/supplier/refs/rules/MUST-continuous-improvement.md +132 -0
- package/templates/agents/manager/supplier/refs/rules/MUST-intent-transparency.md +199 -0
- package/templates/agents/manager/supplier/refs/rules/MUST-language-policy.md +62 -0
- package/templates/agents/manager/supplier/refs/rules/MUST-orchestrator-coordination.md +334 -0
- package/templates/agents/manager/supplier/refs/rules/MUST-parallel-execution.md +398 -0
- package/templates/agents/manager/supplier/refs/rules/MUST-permissions.md +84 -0
- package/templates/agents/manager/supplier/refs/rules/MUST-safety.md +69 -0
- package/templates/agents/manager/supplier/refs/rules/MUST-sync-verification.md +219 -0
- package/templates/agents/manager/supplier/refs/rules/MUST-tool-identification.md +174 -0
- package/templates/agents/manager/supplier/refs/rules/SHOULD-ecomode.md +145 -0
- package/templates/agents/manager/supplier/refs/rules/SHOULD-error-handling.md +102 -0
- package/templates/agents/manager/supplier/refs/rules/SHOULD-hud-statusline.md +96 -0
- package/templates/agents/manager/supplier/refs/rules/SHOULD-interaction.md +103 -0
- package/templates/agents/manager/supplier/refs/rules/SHOULD-memory-integration.md +114 -0
- package/templates/agents/manager/supplier/refs/rules/SHOULD-pipeline-mode.md +165 -0
- package/templates/agents/manager/supplier/refs/rules/index.yaml +125 -0
- package/templates/agents/manager/supplier/refs/skills/backend/fastapi-best-practices/SKILL.md +269 -0
- package/templates/agents/manager/supplier/refs/skills/backend/fastapi-best-practices/index.yaml +25 -0
- package/templates/agents/manager/supplier/refs/skills/backend/go-backend-best-practices/SKILL.md +337 -0
- package/templates/agents/manager/supplier/refs/skills/backend/go-backend-best-practices/index.yaml +26 -0
- package/templates/agents/manager/supplier/refs/skills/backend/springboot-best-practices/SKILL.md +356 -0
- package/templates/agents/manager/supplier/refs/skills/backend/springboot-best-practices/index.yaml +27 -0
- package/templates/agents/manager/supplier/refs/skills/development/go-best-practices/SKILL.md +202 -0
- package/templates/agents/manager/supplier/refs/skills/development/go-best-practices/index.yaml +25 -0
- package/templates/agents/manager/supplier/refs/skills/development/kotlin-best-practices/SKILL.md +255 -0
- package/templates/agents/manager/supplier/refs/skills/development/kotlin-best-practices/index.yaml +27 -0
- package/templates/agents/manager/supplier/refs/skills/development/python-best-practices/SKILL.md +221 -0
- package/templates/agents/manager/supplier/refs/skills/development/python-best-practices/index.yaml +25 -0
- package/templates/agents/manager/supplier/refs/skills/development/react-best-practices/SKILL.md +100 -0
- package/templates/agents/manager/supplier/refs/skills/development/react-best-practices/index.yaml +39 -0
- package/templates/agents/manager/supplier/refs/skills/development/rust-best-practices/SKILL.md +266 -0
- package/templates/agents/manager/supplier/refs/skills/development/rust-best-practices/index.yaml +26 -0
- package/templates/agents/manager/supplier/refs/skills/development/typescript-best-practices/SKILL.md +320 -0
- package/templates/agents/manager/supplier/refs/skills/development/typescript-best-practices/index.yaml +28 -0
- package/templates/agents/manager/supplier/refs/skills/development/vercel-deploy/SKILL.md +73 -0
- package/templates/agents/manager/supplier/refs/skills/development/vercel-deploy/index.yaml +30 -0
- package/templates/agents/manager/supplier/refs/skills/development/web-design-guidelines/SKILL.md +117 -0
- package/templates/agents/manager/supplier/refs/skills/development/web-design-guidelines/index.yaml +34 -0
- package/templates/agents/manager/supplier/refs/skills/index.yaml +129 -0
- package/templates/agents/manager/supplier/refs/skills/infrastructure/aws-best-practices/SKILL.md +279 -0
- package/templates/agents/manager/supplier/refs/skills/infrastructure/aws-best-practices/index.yaml +27 -0
- package/templates/agents/manager/supplier/refs/skills/infrastructure/docker-best-practices/SKILL.md +274 -0
- package/templates/agents/manager/supplier/refs/skills/infrastructure/docker-best-practices/index.yaml +26 -0
- package/templates/agents/manager/supplier/refs/skills/orchestration/intent-detection/SKILL.md +214 -0
- package/templates/agents/manager/supplier/refs/skills/orchestration/intent-detection/index.yaml +30 -0
- package/templates/agents/manager/supplier/refs/skills/orchestration/intent-detection/patterns/agent-triggers.yaml +342 -0
- package/templates/agents/manager/supplier/refs/skills/orchestration/pipeline-execution/SKILL.md +188 -0
- package/templates/agents/manager/supplier/refs/skills/orchestration/pipeline-execution/index.yaml +27 -0
- package/templates/agents/manager/supplier/refs/skills/system/memory-management/SKILL.md +194 -0
- package/templates/agents/manager/supplier/refs/skills/system/memory-management/index.yaml +30 -0
- package/templates/agents/manager/supplier/refs/skills/system/result-aggregation/SKILL.md +163 -0
- package/templates/agents/manager/supplier/refs/skills/system/result-aggregation/index.yaml +36 -0
- package/templates/agents/manager/updater/refs/rules/MAY-optimization.md +93 -0
- package/templates/agents/manager/updater/refs/rules/MUST-agent-design.md +107 -0
- package/templates/agents/manager/updater/refs/rules/MUST-agent-identification.md +108 -0
- package/templates/agents/manager/updater/refs/rules/MUST-continuous-improvement.md +132 -0
- package/templates/agents/manager/updater/refs/rules/MUST-intent-transparency.md +199 -0
- package/templates/agents/manager/updater/refs/rules/MUST-language-policy.md +62 -0
- package/templates/agents/manager/updater/refs/rules/MUST-orchestrator-coordination.md +334 -0
- package/templates/agents/manager/updater/refs/rules/MUST-parallel-execution.md +398 -0
- package/templates/agents/manager/updater/refs/rules/MUST-permissions.md +84 -0
- package/templates/agents/manager/updater/refs/rules/MUST-safety.md +69 -0
- package/templates/agents/manager/updater/refs/rules/MUST-sync-verification.md +219 -0
- package/templates/agents/manager/updater/refs/rules/MUST-tool-identification.md +174 -0
- package/templates/agents/manager/updater/refs/rules/SHOULD-ecomode.md +145 -0
- package/templates/agents/manager/updater/refs/rules/SHOULD-error-handling.md +102 -0
- package/templates/agents/manager/updater/refs/rules/SHOULD-hud-statusline.md +96 -0
- package/templates/agents/manager/updater/refs/rules/SHOULD-interaction.md +103 -0
- package/templates/agents/manager/updater/refs/rules/SHOULD-memory-integration.md +114 -0
- package/templates/agents/manager/updater/refs/rules/SHOULD-pipeline-mode.md +165 -0
- package/templates/agents/manager/updater/refs/rules/index.yaml +125 -0
- package/templates/agents/orchestrator/dev-lead/AGENT.md +47 -0
- package/templates/agents/orchestrator/secretary/AGENT.md +49 -0
- package/templates/agents/orchestrator/secretary/refs/rules/MAY-optimization.md +93 -0
- package/templates/agents/orchestrator/secretary/refs/rules/MUST-agent-design.md +107 -0
- package/templates/agents/orchestrator/secretary/refs/rules/MUST-agent-identification.md +108 -0
- package/templates/agents/orchestrator/secretary/refs/rules/MUST-continuous-improvement.md +132 -0
- package/templates/agents/orchestrator/secretary/refs/rules/MUST-intent-transparency.md +199 -0
- package/templates/agents/orchestrator/secretary/refs/rules/MUST-language-policy.md +62 -0
- package/templates/agents/orchestrator/secretary/refs/rules/MUST-orchestrator-coordination.md +334 -0
- package/templates/agents/orchestrator/secretary/refs/rules/MUST-parallel-execution.md +398 -0
- package/templates/agents/orchestrator/secretary/refs/rules/MUST-permissions.md +84 -0
- package/templates/agents/orchestrator/secretary/refs/rules/MUST-safety.md +69 -0
- package/templates/agents/orchestrator/secretary/refs/rules/MUST-sync-verification.md +219 -0
- package/templates/agents/orchestrator/secretary/refs/rules/MUST-tool-identification.md +174 -0
- package/templates/agents/orchestrator/secretary/refs/rules/SHOULD-ecomode.md +145 -0
- package/templates/agents/orchestrator/secretary/refs/rules/SHOULD-error-handling.md +102 -0
- package/templates/agents/orchestrator/secretary/refs/rules/SHOULD-hud-statusline.md +96 -0
- package/templates/agents/orchestrator/secretary/refs/rules/SHOULD-interaction.md +103 -0
- package/templates/agents/orchestrator/secretary/refs/rules/SHOULD-memory-integration.md +114 -0
- package/templates/agents/orchestrator/secretary/refs/rules/SHOULD-pipeline-mode.md +165 -0
- package/templates/agents/orchestrator/secretary/refs/rules/index.yaml +125 -0
- package/templates/agents/sw-engineer/backend/fastapi-expert/refs/fastapi/best-practices.md +232 -0
- package/templates/agents/sw-engineer/backend/fastapi-expert/refs/fastapi/index.yaml +21 -0
- package/templates/agents/sw-engineer/backend/fastapi-expert/refs/fastapi-best-practices/SKILL.md +269 -0
- package/templates/agents/sw-engineer/backend/fastapi-expert/refs/fastapi-best-practices/index.yaml +25 -0
- package/templates/agents/sw-engineer/backend/go-backend-expert/refs/go-backend/index.yaml +26 -0
- package/templates/agents/sw-engineer/backend/go-backend-expert/refs/go-backend/project-layout.md +243 -0
- package/templates/agents/sw-engineer/backend/go-backend-expert/refs/go-backend/uber-style.md +212 -0
- package/templates/agents/sw-engineer/backend/go-backend-expert/refs/go-backend-best-practices/SKILL.md +337 -0
- package/templates/agents/sw-engineer/backend/go-backend-expert/refs/go-backend-best-practices/index.yaml +26 -0
- package/templates/agents/sw-engineer/backend/springboot-expert/refs/springboot/best-practices.md +361 -0
- package/templates/agents/sw-engineer/backend/springboot-expert/refs/springboot/index.yaml +22 -0
- package/templates/agents/sw-engineer/backend/springboot-expert/refs/springboot-best-practices/SKILL.md +356 -0
- package/templates/agents/sw-engineer/backend/springboot-expert/refs/springboot-best-practices/index.yaml +27 -0
- package/templates/agents/sw-engineer/frontend/vercel-agent/refs/react-best-practices/SKILL.md +100 -0
- package/templates/agents/sw-engineer/frontend/vercel-agent/refs/react-best-practices/index.yaml +39 -0
- package/templates/agents/sw-engineer/frontend/vercel-agent/refs/vercel-deploy/SKILL.md +73 -0
- package/templates/agents/sw-engineer/frontend/vercel-agent/refs/vercel-deploy/index.yaml +30 -0
- package/templates/agents/sw-engineer/frontend/vercel-agent/refs/web-design/accessibility.md +66 -0
- package/templates/agents/sw-engineer/frontend/vercel-agent/refs/web-design/index.yaml +20 -0
- package/templates/agents/sw-engineer/frontend/vercel-agent/refs/web-design/performance.md +102 -0
- package/templates/agents/sw-engineer/frontend/vercel-agent/refs/web-design-guidelines/SKILL.md +117 -0
- package/templates/agents/sw-engineer/frontend/vercel-agent/refs/web-design-guidelines/index.yaml +34 -0
- package/templates/agents/sw-engineer/language/golang-expert/refs/go-best-practices/SKILL.md +202 -0
- package/templates/agents/sw-engineer/language/golang-expert/refs/go-best-practices/index.yaml +25 -0
- package/templates/agents/sw-engineer/language/golang-expert/refs/golang/concurrency.md +282 -0
- package/templates/agents/sw-engineer/language/golang-expert/refs/golang/effective-go.md +309 -0
- package/templates/agents/sw-engineer/language/golang-expert/refs/golang/error-handling.md +250 -0
- package/templates/agents/sw-engineer/language/golang-expert/refs/golang/index.yaml +27 -0
- package/templates/agents/sw-engineer/language/kotlin-expert/refs/kotlin/coding-conventions.md +247 -0
- package/templates/agents/sw-engineer/language/kotlin-expert/refs/kotlin/idioms.md +234 -0
- package/templates/agents/sw-engineer/language/kotlin-expert/refs/kotlin/index.yaml +26 -0
- package/templates/agents/sw-engineer/language/kotlin-expert/refs/kotlin-best-practices/SKILL.md +255 -0
- package/templates/agents/sw-engineer/language/kotlin-expert/refs/kotlin-best-practices/index.yaml +27 -0
- package/templates/agents/sw-engineer/language/python-expert/refs/python/index.yaml +26 -0
- package/templates/agents/sw-engineer/language/python-expert/refs/python/pep8-style-guide.md +202 -0
- package/templates/agents/sw-engineer/language/python-expert/refs/python/zen-of-python.md +79 -0
- package/templates/agents/sw-engineer/language/python-expert/refs/python-best-practices/SKILL.md +221 -0
- package/templates/agents/sw-engineer/language/python-expert/refs/python-best-practices/index.yaml +25 -0
- package/templates/agents/sw-engineer/language/rust-expert/refs/rust/error-handling.md +262 -0
- package/templates/agents/sw-engineer/language/rust-expert/refs/rust/index.yaml +26 -0
- package/templates/agents/sw-engineer/language/rust-expert/refs/rust/ownership.md +180 -0
- package/templates/agents/sw-engineer/language/rust-expert/refs/rust-best-practices/SKILL.md +266 -0
- package/templates/agents/sw-engineer/language/rust-expert/refs/rust-best-practices/index.yaml +26 -0
- package/templates/agents/sw-engineer/language/typescript-expert/refs/typescript/advanced-types.md +225 -0
- package/templates/agents/sw-engineer/language/typescript-expert/refs/typescript/index.yaml +26 -0
- package/templates/agents/sw-engineer/language/typescript-expert/refs/typescript/type-system.md +219 -0
- package/templates/agents/sw-engineer/language/typescript-expert/refs/typescript-best-practices/SKILL.md +320 -0
- package/templates/agents/sw-engineer/language/typescript-expert/refs/typescript-best-practices/index.yaml +28 -0
- package/templates/agents/tutor/go-tutor/AGENT.md +130 -0
- package/templates/agents/tutor/go-tutor/index.yaml +48 -0
- package/templates/examples/code-review.yaml +66 -0
- package/templates/guides/claude-code/11-sub-agents.md +159 -0
- package/templates/index.yaml +18 -0
- package/templates/manifest.json +55 -0
- package/templates/skills/orchestration/intent-detection/patterns/agent-triggers.yaml +9 -0
- package/templates/templates/pipeline-template.yaml +50 -0
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
# Agent SDK 개요
|
|
2
|
+
|
|
3
|
+
Claude Code를 라이브러리로 사용하여 프로덕션 AI 에이전트 구축
|
|
4
|
+
|
|
5
|
+
## 소개
|
|
6
|
+
|
|
7
|
+
파일을 자동으로 읽고, 명령을 실행하고, 웹을 검색하고, 코드를 편집하는 등의 작업을 수행하는 AI 에이전트를 구축하세요. Agent SDK는 Claude Code를 강화하는 동일한 도구, 에이전트 루프 및 컨텍스트 관리를 Python과 TypeScript로 프로그래밍할 수 있게 제공합니다.
|
|
8
|
+
|
|
9
|
+
## 빠른 시작 예제
|
|
10
|
+
|
|
11
|
+
```python
|
|
12
|
+
import asyncio
|
|
13
|
+
from claude_agent_sdk import query, ClaudeAgentOptions
|
|
14
|
+
|
|
15
|
+
async def main():
|
|
16
|
+
async for message in query(
|
|
17
|
+
prompt="Find and fix the bug in auth.py",
|
|
18
|
+
options=ClaudeAgentOptions(allowed_tools=["Read", "Edit", "Bash"])
|
|
19
|
+
):
|
|
20
|
+
print(message)
|
|
21
|
+
|
|
22
|
+
asyncio.run(main())
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
```typescript
|
|
26
|
+
import { query } from "@anthropic-ai/claude-agent-sdk";
|
|
27
|
+
|
|
28
|
+
for await (const message of query({
|
|
29
|
+
prompt: "Find and fix the bug in auth.py",
|
|
30
|
+
options: { allowedTools: ["Read", "Edit", "Bash"] }
|
|
31
|
+
})) {
|
|
32
|
+
console.log(message);
|
|
33
|
+
}
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## 기능
|
|
37
|
+
|
|
38
|
+
### 기본 제공 도구
|
|
39
|
+
|
|
40
|
+
| 도구 | 기능 |
|
|
41
|
+
|------|------|
|
|
42
|
+
| **Read** | 작업 디렉토리의 모든 파일 읽기 |
|
|
43
|
+
| **Write** | 새 파일 생성 |
|
|
44
|
+
| **Edit** | 기존 파일에 정확한 편집 수행 |
|
|
45
|
+
| **Bash** | 터미널 명령, 스크립트, git 작업 실행 |
|
|
46
|
+
| **Glob** | 패턴으로 파일 찾기 |
|
|
47
|
+
| **Grep** | 정규식으로 파일 내용 검색 |
|
|
48
|
+
| **WebSearch** | 현재 정보를 위해 웹 검색 |
|
|
49
|
+
| **WebFetch** | 웹 페이지 내용 가져오기 및 파싱 |
|
|
50
|
+
|
|
51
|
+
### 훅 (Hooks)
|
|
52
|
+
|
|
53
|
+
에이전트 라이프사이클의 주요 지점에서 사용자 정의 코드를 실행합니다.
|
|
54
|
+
|
|
55
|
+
**사용 가능한 훅**: `PreToolUse`, `PostToolUse`, `Stop`, `SessionStart`, `SessionEnd`, `UserPromptSubmit` 등
|
|
56
|
+
|
|
57
|
+
### 서브에이전트
|
|
58
|
+
|
|
59
|
+
특화된 에이전트를 생성하여 집중된 부작업을 처리합니다. `Task` 도구를 활성화하여 Claude가 위임의 이점을 얻을 수 있을 정도로 복잡한 작업이라고 판단할 때 서브에이전트를 생성하도록 합니다.
|
|
60
|
+
|
|
61
|
+
### MCP (Model Context Protocol)
|
|
62
|
+
|
|
63
|
+
외부 시스템에 연결: 데이터베이스, 브라우저, API 등
|
|
64
|
+
|
|
65
|
+
### 권한
|
|
66
|
+
|
|
67
|
+
에이전트가 사용할 수 있는 도구를 정확히 제어합니다. 안전한 작업을 허용하고, 위험한 작업을 차단하거나, 민감한 작업에 대해 승인을 요구합니다.
|
|
68
|
+
|
|
69
|
+
### 세션
|
|
70
|
+
|
|
71
|
+
여러 교환 간에 컨텍스트를 유지합니다. Claude는 읽은 파일, 수행한 분석 및 대화 기록을 기억합니다.
|
|
72
|
+
|
|
73
|
+
## Claude Code 기능 지원
|
|
74
|
+
|
|
75
|
+
| 기능 | 설명 | 위치 |
|
|
76
|
+
|------|------|------|
|
|
77
|
+
| Skills | Markdown에 정의된 특화된 기능 | `.claude/skills/SKILL.md` |
|
|
78
|
+
| Slash commands | 일반적인 작업을 위한 사용자 정의 명령 | `.claude/commands/*.md` |
|
|
79
|
+
| Memory | 프로젝트 컨텍스트 및 지침 | `CLAUDE.md` 또는 `.claude/CLAUDE.md` |
|
|
80
|
+
| Plugins | 사용자 정의 명령, 에이전트 및 MCP 서버로 확장 | `plugins` 옵션을 통한 프로그래밍 방식 |
|
|
81
|
+
|
|
82
|
+
## 설치
|
|
83
|
+
|
|
84
|
+
### Claude Code 설치
|
|
85
|
+
|
|
86
|
+
```bash
|
|
87
|
+
# macOS/Linux/WSL
|
|
88
|
+
curl -fsSL https://claude.ai/install.sh | bash
|
|
89
|
+
|
|
90
|
+
# Homebrew
|
|
91
|
+
brew install --cask claude-code
|
|
92
|
+
|
|
93
|
+
# npm
|
|
94
|
+
npm install -g @anthropic-ai/claude-code
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
### SDK 설치
|
|
98
|
+
|
|
99
|
+
```bash
|
|
100
|
+
# TypeScript
|
|
101
|
+
npm install @anthropic-ai/claude-agent-sdk
|
|
102
|
+
|
|
103
|
+
# Python
|
|
104
|
+
pip install claude-agent-sdk
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
### API 키 설정
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
export ANTHROPIC_API_KEY=your-api-key
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
## Agent SDK vs Client SDK
|
|
114
|
+
|
|
115
|
+
| 구분 | Client SDK | Agent SDK |
|
|
116
|
+
|------|-----------|-----------|
|
|
117
|
+
| 도구 실행 | 직접 구현 | Claude가 처리 |
|
|
118
|
+
| 복잡도 | 도구 루프 구현 필요 | 자동화됨 |
|
|
119
|
+
| 유연성 | 완전한 제어 | 추상화된 편의성 |
|
|
120
|
+
|
|
121
|
+
## Agent SDK vs Claude Code CLI
|
|
122
|
+
|
|
123
|
+
| 사용 사례 | 최적의 선택 |
|
|
124
|
+
|----------|-----------|
|
|
125
|
+
| 대화형 개발 | CLI |
|
|
126
|
+
| CI/CD 파이프라인 | SDK |
|
|
127
|
+
| 사용자 정의 애플리케이션 | SDK |
|
|
128
|
+
| 일회성 작업 | CLI |
|
|
129
|
+
| 프로덕션 자동화 | SDK |
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
# MCP 커넥터
|
|
2
|
+
|
|
3
|
+
Claude의 Model Context Protocol (MCP) 커넥터 기능을 사용하여 Messages API에서 별도의 MCP 클라이언트 없이 원격 MCP 서버에 직접 연결할 수 있습니다.
|
|
4
|
+
|
|
5
|
+
## 주요 기능
|
|
6
|
+
|
|
7
|
+
- **직접 API 통합**: MCP 클라이언트를 구현하지 않고도 MCP 서버에 연결
|
|
8
|
+
- **도구 호출 지원**: Messages API를 통해 MCP 도구에 액세스
|
|
9
|
+
- **유연한 도구 구성**: 모든 도구 활성화, 특정 도구 허용 목록 작성 또는 원하지 않는 도구 거부 목록 작성
|
|
10
|
+
- **도구별 구성**: 사용자 정의 설정으로 개별 도구 구성
|
|
11
|
+
- **OAuth 인증**: 인증된 서버를 위한 OAuth Bearer 토큰 지원
|
|
12
|
+
- **여러 서버**: 단일 요청에서 여러 MCP 서버에 연결
|
|
13
|
+
|
|
14
|
+
## 제한 사항
|
|
15
|
+
|
|
16
|
+
- MCP 사양의 기능 집합 중 도구 호출만 현재 지원
|
|
17
|
+
- 서버는 HTTP를 통해 공개적으로 노출되어야 함 (Streamable HTTP 및 SSE 전송 모두 지원)
|
|
18
|
+
- 로컬 STDIO 서버는 직접 연결할 수 없음
|
|
19
|
+
- Amazon Bedrock 및 Google Vertex에서 현재 지원되지 않음
|
|
20
|
+
|
|
21
|
+
## 기본 예제
|
|
22
|
+
|
|
23
|
+
```python
|
|
24
|
+
import anthropic
|
|
25
|
+
|
|
26
|
+
client = anthropic.Anthropic()
|
|
27
|
+
|
|
28
|
+
response = client.beta.messages.create(
|
|
29
|
+
model="claude-sonnet-4-5",
|
|
30
|
+
max_tokens=1000,
|
|
31
|
+
messages=[{
|
|
32
|
+
"role": "user",
|
|
33
|
+
"content": "What tools do you have available?"
|
|
34
|
+
}],
|
|
35
|
+
mcp_servers=[{
|
|
36
|
+
"type": "url",
|
|
37
|
+
"url": "https://mcp.example.com/sse",
|
|
38
|
+
"name": "example-mcp",
|
|
39
|
+
"authorization_token": "YOUR_TOKEN"
|
|
40
|
+
}],
|
|
41
|
+
tools=[{
|
|
42
|
+
"type": "mcp_toolset",
|
|
43
|
+
"mcp_server_name": "example-mcp"
|
|
44
|
+
}],
|
|
45
|
+
betas=["mcp-client-2025-11-20"]
|
|
46
|
+
)
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## MCP 서버 구성
|
|
50
|
+
|
|
51
|
+
| 속성 | 유형 | 필수 | 설명 |
|
|
52
|
+
|------|------|------|------|
|
|
53
|
+
| `type` | string | 예 | 현재 "url"만 지원 |
|
|
54
|
+
| `url` | string | 예 | MCP 서버의 URL (https://로 시작) |
|
|
55
|
+
| `name` | string | 예 | 이 MCP 서버의 고유 식별자 |
|
|
56
|
+
| `authorization_token` | string | 아니오 | OAuth 인증 토큰 |
|
|
57
|
+
|
|
58
|
+
## MCP 도구 집합 구성
|
|
59
|
+
|
|
60
|
+
```json
|
|
61
|
+
{
|
|
62
|
+
"type": "mcp_toolset",
|
|
63
|
+
"mcp_server_name": "example-mcp",
|
|
64
|
+
"default_config": {
|
|
65
|
+
"enabled": true,
|
|
66
|
+
"defer_loading": false
|
|
67
|
+
},
|
|
68
|
+
"configs": {
|
|
69
|
+
"specific_tool_name": {
|
|
70
|
+
"enabled": true,
|
|
71
|
+
"defer_loading": true
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
## 일반적인 구성 패턴
|
|
78
|
+
|
|
79
|
+
### 모든 도구 활성화
|
|
80
|
+
|
|
81
|
+
```json
|
|
82
|
+
{
|
|
83
|
+
"type": "mcp_toolset",
|
|
84
|
+
"mcp_server_name": "google-calendar-mcp"
|
|
85
|
+
}
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### 허용 목록 - 특정 도구만 활성화
|
|
89
|
+
|
|
90
|
+
```json
|
|
91
|
+
{
|
|
92
|
+
"type": "mcp_toolset",
|
|
93
|
+
"mcp_server_name": "google-calendar-mcp",
|
|
94
|
+
"default_config": {
|
|
95
|
+
"enabled": false
|
|
96
|
+
},
|
|
97
|
+
"configs": {
|
|
98
|
+
"search_events": { "enabled": true },
|
|
99
|
+
"create_event": { "enabled": true }
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### 거부 목록 - 특정 도구 비활성화
|
|
105
|
+
|
|
106
|
+
```json
|
|
107
|
+
{
|
|
108
|
+
"type": "mcp_toolset",
|
|
109
|
+
"mcp_server_name": "google-calendar-mcp",
|
|
110
|
+
"configs": {
|
|
111
|
+
"delete_all_events": { "enabled": false },
|
|
112
|
+
"share_calendar_publicly": { "enabled": false }
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
## 응답 콘텐츠 유형
|
|
118
|
+
|
|
119
|
+
### MCP 도구 사용 블록
|
|
120
|
+
|
|
121
|
+
```json
|
|
122
|
+
{
|
|
123
|
+
"type": "mcp_tool_use",
|
|
124
|
+
"id": "mcptoolu_014Q35RayjACSWkSj4X2yov1",
|
|
125
|
+
"name": "echo",
|
|
126
|
+
"server_name": "example-mcp",
|
|
127
|
+
"input": { "param1": "value1" }
|
|
128
|
+
}
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
### MCP 도구 결과 블록
|
|
132
|
+
|
|
133
|
+
```json
|
|
134
|
+
{
|
|
135
|
+
"type": "mcp_tool_result",
|
|
136
|
+
"tool_use_id": "mcptoolu_014Q35RayjACSWkSj4X2yov1",
|
|
137
|
+
"is_error": false,
|
|
138
|
+
"content": [{ "type": "text", "text": "Hello" }]
|
|
139
|
+
}
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
## 여러 MCP 서버 연결
|
|
143
|
+
|
|
144
|
+
```json
|
|
145
|
+
{
|
|
146
|
+
"mcp_servers": [
|
|
147
|
+
{
|
|
148
|
+
"type": "url",
|
|
149
|
+
"url": "https://mcp.example1.com/sse",
|
|
150
|
+
"name": "mcp-server-1",
|
|
151
|
+
"authorization_token": "TOKEN1"
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
"type": "url",
|
|
155
|
+
"url": "https://mcp.example2.com/sse",
|
|
156
|
+
"name": "mcp-server-2",
|
|
157
|
+
"authorization_token": "TOKEN2"
|
|
158
|
+
}
|
|
159
|
+
],
|
|
160
|
+
"tools": [
|
|
161
|
+
{ "type": "mcp_toolset", "mcp_server_name": "mcp-server-1" },
|
|
162
|
+
{ "type": "mcp_toolset", "mcp_server_name": "mcp-server-2" }
|
|
163
|
+
]
|
|
164
|
+
}
|
|
165
|
+
```
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
# 프롬프트 엔지니어링 개요
|
|
2
|
+
|
|
3
|
+
프롬프트 엔지니어링 기법을 사용하여 Claude의 성능을 최적화하는 방법을 알아봅니다.
|
|
4
|
+
|
|
5
|
+
## 프롬프트 엔지니어링 전에
|
|
6
|
+
|
|
7
|
+
이 가이드는 다음을 가정합니다:
|
|
8
|
+
1. 사용 사례에 대한 명확한 성공 기준 정의
|
|
9
|
+
2. 해당 기준에 대해 경험적으로 테스트할 수 있는 방법
|
|
10
|
+
3. 개선하고 싶은 첫 번째 초안 프롬프트
|
|
11
|
+
|
|
12
|
+
## 프롬프팅 vs. 파인튜닝
|
|
13
|
+
|
|
14
|
+
프롬프트 엔지니어링이 파인튜닝보다 나은 이유:
|
|
15
|
+
|
|
16
|
+
- **리소스 효율성**: 텍스트 입력만 필요
|
|
17
|
+
- **비용 효율성**: 기본 모델을 사용하므로 더 저렴
|
|
18
|
+
- **모델 업데이트 유지**: 프롬프트는 일반적으로 변경 없이 버전 간에 작동
|
|
19
|
+
- **시간 절약**: 거의 즉각적인 결과
|
|
20
|
+
- **최소한의 데이터 필요**: 소수 샷 또는 제로 샷 학습으로도 작동
|
|
21
|
+
- **유연성 및 빠른 반복**: 다양한 접근 방식을 빠르게 시도
|
|
22
|
+
- **도메인 적응**: 재학습 없이 프롬프트에 도메인별 컨텍스트 제공
|
|
23
|
+
- **이해도 개선**: 외부 콘텐츠를 모델이 더 잘 이해하도록 도움
|
|
24
|
+
- **일반 지식 보존**: 모델의 광범위한 기능을 유지
|
|
25
|
+
- **투명성**: 프롬프트는 인간이 읽을 수 있음
|
|
26
|
+
|
|
27
|
+
## 프롬프트 엔지니어링 기법
|
|
28
|
+
|
|
29
|
+
가장 광범위하게 효과적인 기법부터 더 전문화된 기법까지:
|
|
30
|
+
|
|
31
|
+
### 1. 프롬프트 생성기
|
|
32
|
+
첫 번째 초안 프롬프트가 없다면 Claude 콘솔에서 프롬프트 생성기를 사용하세요.
|
|
33
|
+
|
|
34
|
+
### 2. 명확하고 직접적으로
|
|
35
|
+
Claude에게 무엇을 원하는지 명확하게 전달하세요.
|
|
36
|
+
|
|
37
|
+
### 3. 예제 사용 (멀티샷)
|
|
38
|
+
구체적인 예제를 제공하여 원하는 출력 형식을 보여주세요.
|
|
39
|
+
|
|
40
|
+
### 4. Claude가 생각하도록 하기 (사고의 연쇄)
|
|
41
|
+
복잡한 문제의 경우 Claude에게 단계별로 생각하도록 요청하세요.
|
|
42
|
+
|
|
43
|
+
### 5. XML 태그 사용
|
|
44
|
+
구조화된 입력과 출력을 위해 XML 태그를 활용하세요.
|
|
45
|
+
|
|
46
|
+
### 6. Claude에게 역할 부여 (시스템 프롬프트)
|
|
47
|
+
특정 역할이나 페르소나를 부여하여 일관된 응답을 유도하세요.
|
|
48
|
+
|
|
49
|
+
### 7. Claude의 응답 미리 채우기
|
|
50
|
+
응답의 시작 부분을 미리 채워 원하는 형식으로 유도하세요.
|
|
51
|
+
|
|
52
|
+
### 8. 복잡한 프롬프트 연결
|
|
53
|
+
큰 작업을 여러 단계로 나누어 처리하세요.
|
|
54
|
+
|
|
55
|
+
### 9. 긴 컨텍스트 팁
|
|
56
|
+
긴 문서나 대화를 효과적으로 처리하는 방법을 익히세요.
|
|
57
|
+
|
|
58
|
+
## 프롬프트 엔지니어링 예제
|
|
59
|
+
|
|
60
|
+
### 기본 프롬프트 구조
|
|
61
|
+
|
|
62
|
+
```
|
|
63
|
+
[역할/컨텍스트]
|
|
64
|
+
당신은 코드 리뷰 전문가입니다.
|
|
65
|
+
|
|
66
|
+
[작업]
|
|
67
|
+
다음 코드를 검토하고 개선점을 제안해주세요.
|
|
68
|
+
|
|
69
|
+
[입력]
|
|
70
|
+
<code>
|
|
71
|
+
{사용자 코드}
|
|
72
|
+
</code>
|
|
73
|
+
|
|
74
|
+
[출력 형식]
|
|
75
|
+
1. 문제점 목록
|
|
76
|
+
2. 개선 제안
|
|
77
|
+
3. 수정된 코드
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### XML 태그 활용
|
|
81
|
+
|
|
82
|
+
```xml
|
|
83
|
+
<context>
|
|
84
|
+
프로젝트는 Python 기반의 웹 애플리케이션입니다.
|
|
85
|
+
</context>
|
|
86
|
+
|
|
87
|
+
<task>
|
|
88
|
+
보안 취약점을 분석해주세요.
|
|
89
|
+
</task>
|
|
90
|
+
|
|
91
|
+
<code>
|
|
92
|
+
{분석할 코드}
|
|
93
|
+
</code>
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## 추가 리소스
|
|
97
|
+
|
|
98
|
+
- GitHub 프롬프팅 튜토리얼
|
|
99
|
+
- Google Sheets 프롬프팅 튜토리얼
|
|
100
|
+
- Claude API 문서
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# 테스트 및 평가
|
|
2
|
+
|
|
3
|
+
> 이 문서는 Claude 공식 문서에서 해당 페이지가 아직 공개되지 않아 기본 구조만 제공합니다.
|
|
4
|
+
|
|
5
|
+
## 개요
|
|
6
|
+
|
|
7
|
+
Claude 기반 애플리케이션의 품질을 보장하기 위한 테스트 및 평가 방법론입니다.
|
|
8
|
+
|
|
9
|
+
## 핵심 개념
|
|
10
|
+
|
|
11
|
+
### 1. 성공 기준 정의
|
|
12
|
+
- 명확한 목표 설정
|
|
13
|
+
- 측정 가능한 지표 정의
|
|
14
|
+
- 기대 결과 문서화
|
|
15
|
+
|
|
16
|
+
### 2. 테스트 케이스 설계
|
|
17
|
+
- 경계 조건 테스트
|
|
18
|
+
- 다양한 입력 시나리오
|
|
19
|
+
- 에러 핸들링 검증
|
|
20
|
+
|
|
21
|
+
### 3. 평가 메트릭
|
|
22
|
+
- 정확도 (Accuracy)
|
|
23
|
+
- 관련성 (Relevance)
|
|
24
|
+
- 일관성 (Consistency)
|
|
25
|
+
- 안전성 (Safety)
|
|
26
|
+
|
|
27
|
+
## 테스트 유형
|
|
28
|
+
|
|
29
|
+
### 단위 테스트
|
|
30
|
+
개별 프롬프트나 도구의 동작 검증
|
|
31
|
+
|
|
32
|
+
### 통합 테스트
|
|
33
|
+
여러 컴포넌트가 함께 작동하는 시나리오 검증
|
|
34
|
+
|
|
35
|
+
### 회귀 테스트
|
|
36
|
+
변경 사항이 기존 기능에 영향을 미치지 않는지 확인
|
|
37
|
+
|
|
38
|
+
### A/B 테스트
|
|
39
|
+
다른 프롬프트나 설정의 효과 비교
|
|
40
|
+
|
|
41
|
+
## 평가 프레임워크
|
|
42
|
+
|
|
43
|
+
### 자동 평가
|
|
44
|
+
- 패턴 매칭
|
|
45
|
+
- 구조 검증
|
|
46
|
+
- 출력 형식 확인
|
|
47
|
+
|
|
48
|
+
### 인간 평가
|
|
49
|
+
- 품질 검토
|
|
50
|
+
- 유용성 평가
|
|
51
|
+
- 안전성 검토
|
|
52
|
+
|
|
53
|
+
## 모범 사례
|
|
54
|
+
|
|
55
|
+
1. **일찍, 자주 테스트**: 개발 초기부터 테스트 통합
|
|
56
|
+
2. **다양한 시나리오 커버**: 일반적인 케이스와 엣지 케이스 모두
|
|
57
|
+
3. **메트릭 추적**: 시간에 따른 성능 변화 모니터링
|
|
58
|
+
4. **피드백 루프**: 평가 결과를 개선에 반영
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
# 가드레일 강화
|
|
2
|
+
|
|
3
|
+
> 이 문서는 Claude 공식 문서에서 해당 페이지가 아직 공개되지 않아 기본 구조만 제공합니다.
|
|
4
|
+
|
|
5
|
+
## 개요
|
|
6
|
+
|
|
7
|
+
가드레일은 AI 에이전트가 안전하고 의도된 범위 내에서 작동하도록 보장하는 메커니즘입니다.
|
|
8
|
+
|
|
9
|
+
## 가드레일 유형
|
|
10
|
+
|
|
11
|
+
### 1. 입력 가드레일
|
|
12
|
+
- 프롬프트 인젝션 방지
|
|
13
|
+
- 악의적인 입력 필터링
|
|
14
|
+
- 입력 유효성 검사
|
|
15
|
+
|
|
16
|
+
### 2. 출력 가드레일
|
|
17
|
+
- 민감 정보 필터링
|
|
18
|
+
- 유해 콘텐츠 차단
|
|
19
|
+
- 형식 준수 확인
|
|
20
|
+
|
|
21
|
+
### 3. 행동 가드레일
|
|
22
|
+
- 도구 사용 제한
|
|
23
|
+
- 파일 시스템 접근 제어
|
|
24
|
+
- 네트워크 요청 제한
|
|
25
|
+
|
|
26
|
+
### 4. 리소스 가드레일
|
|
27
|
+
- 토큰 사용량 제한
|
|
28
|
+
- 실행 시간 제한
|
|
29
|
+
- API 호출 제한
|
|
30
|
+
|
|
31
|
+
## 구현 전략
|
|
32
|
+
|
|
33
|
+
### 권한 관리
|
|
34
|
+
```python
|
|
35
|
+
options = ClaudeAgentOptions(
|
|
36
|
+
allowed_tools=["Read", "Glob", "Grep"], # 읽기 전용
|
|
37
|
+
permission_mode="bypassPermissions"
|
|
38
|
+
)
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### 훅을 통한 검증
|
|
42
|
+
```python
|
|
43
|
+
hooks={
|
|
44
|
+
"PreToolUse": [{
|
|
45
|
+
"matcher": "Bash",
|
|
46
|
+
"hooks": [{
|
|
47
|
+
"type": "command",
|
|
48
|
+
"command": "validate_command.sh"
|
|
49
|
+
}]
|
|
50
|
+
}]
|
|
51
|
+
}
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### 도구 필터링
|
|
55
|
+
특정 도구만 허용하거나 특정 도구를 차단하여 에이전트의 능력을 제한
|
|
56
|
+
|
|
57
|
+
## 모범 사례
|
|
58
|
+
|
|
59
|
+
1. **최소 권한 원칙**: 필요한 최소한의 권한만 부여
|
|
60
|
+
2. **계층적 검증**: 여러 레벨에서 검증 수행
|
|
61
|
+
3. **실패 안전**: 검증 실패 시 안전한 기본값으로 폴백
|
|
62
|
+
4. **로깅 및 감사**: 모든 작업을 기록하여 추적 가능
|
|
63
|
+
5. **정기적 검토**: 가드레일 효과성 주기적 평가
|
|
64
|
+
|
|
65
|
+
## 보안 고려사항
|
|
66
|
+
|
|
67
|
+
### 프롬프트 인젝션 방어
|
|
68
|
+
- 사용자 입력과 시스템 지침 분리
|
|
69
|
+
- XML 태그를 사용한 구조화
|
|
70
|
+
- 입력 이스케이프 처리
|
|
71
|
+
|
|
72
|
+
### 데이터 보호
|
|
73
|
+
- 민감 데이터 마스킹
|
|
74
|
+
- 출력 스크러빙
|
|
75
|
+
- 접근 제어 적용
|
|
76
|
+
|
|
77
|
+
### 코드 실행 안전
|
|
78
|
+
- 샌드박스 환경 사용
|
|
79
|
+
- 실행 시간 제한
|
|
80
|
+
- 리소스 쿼터 적용
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
# 관리 및 모니터링
|
|
2
|
+
|
|
3
|
+
> 이 문서는 Claude 공식 문서에서 해당 페이지가 아직 공개되지 않아 기본 구조만 제공합니다.
|
|
4
|
+
|
|
5
|
+
## 개요
|
|
6
|
+
|
|
7
|
+
프로덕션 환경에서 AI 에이전트를 효과적으로 관리하고 모니터링하는 방법입니다.
|
|
8
|
+
|
|
9
|
+
## 모니터링 영역
|
|
10
|
+
|
|
11
|
+
### 1. 성능 모니터링
|
|
12
|
+
- 응답 시간 (Latency)
|
|
13
|
+
- 처리량 (Throughput)
|
|
14
|
+
- 에러율 (Error Rate)
|
|
15
|
+
- 성공률 (Success Rate)
|
|
16
|
+
|
|
17
|
+
### 2. 비용 모니터링
|
|
18
|
+
- 토큰 사용량
|
|
19
|
+
- API 호출 수
|
|
20
|
+
- 도구 실행 비용
|
|
21
|
+
- 월별/일별 비용 추이
|
|
22
|
+
|
|
23
|
+
### 3. 품질 모니터링
|
|
24
|
+
- 출력 정확도
|
|
25
|
+
- 사용자 만족도
|
|
26
|
+
- 태스크 완료율
|
|
27
|
+
- 재시도 비율
|
|
28
|
+
|
|
29
|
+
### 4. 안전 모니터링
|
|
30
|
+
- 가드레일 트리거 횟수
|
|
31
|
+
- 차단된 요청
|
|
32
|
+
- 보안 이벤트
|
|
33
|
+
- 이상 탐지
|
|
34
|
+
|
|
35
|
+
## 로깅 전략
|
|
36
|
+
|
|
37
|
+
### 구조화된 로깅
|
|
38
|
+
```json
|
|
39
|
+
{
|
|
40
|
+
"timestamp": "2025-01-22T10:30:00Z",
|
|
41
|
+
"agent_id": "agent-123",
|
|
42
|
+
"action": "tool_use",
|
|
43
|
+
"tool": "Edit",
|
|
44
|
+
"input": {...},
|
|
45
|
+
"output": {...},
|
|
46
|
+
"duration_ms": 150,
|
|
47
|
+
"tokens_used": 500
|
|
48
|
+
}
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### 로그 레벨
|
|
52
|
+
- **DEBUG**: 상세 디버깅 정보
|
|
53
|
+
- **INFO**: 일반 작업 정보
|
|
54
|
+
- **WARN**: 잠재적 문제
|
|
55
|
+
- **ERROR**: 오류 발생
|
|
56
|
+
- **CRITICAL**: 심각한 시스템 문제
|
|
57
|
+
|
|
58
|
+
## 알림 설정
|
|
59
|
+
|
|
60
|
+
### 임계값 기반 알림
|
|
61
|
+
- 에러율 > 5%
|
|
62
|
+
- 응답 시간 > 10초
|
|
63
|
+
- 일일 비용 > 예산
|
|
64
|
+
|
|
65
|
+
### 패턴 기반 알림
|
|
66
|
+
- 비정상적인 사용 패턴
|
|
67
|
+
- 갑작스러운 트래픽 증가
|
|
68
|
+
- 연속 실패
|
|
69
|
+
|
|
70
|
+
## 대시보드 구성
|
|
71
|
+
|
|
72
|
+
### 핵심 메트릭
|
|
73
|
+
- 실시간 요청 수
|
|
74
|
+
- 평균 응답 시간
|
|
75
|
+
- 현재 에러율
|
|
76
|
+
- 활성 세션 수
|
|
77
|
+
|
|
78
|
+
### 트렌드 분석
|
|
79
|
+
- 시간별 사용량
|
|
80
|
+
- 주간 비용 추이
|
|
81
|
+
- 성능 변화 추적
|
|
82
|
+
|
|
83
|
+
## 운영 모범 사례
|
|
84
|
+
|
|
85
|
+
1. **자동화된 모니터링**: 24/7 자동 모니터링 구축
|
|
86
|
+
2. **알림 피로 방지**: 중요한 알림만 전송
|
|
87
|
+
3. **인시던트 대응**: 명확한 대응 절차 수립
|
|
88
|
+
4. **용량 계획**: 사용량 예측 및 확장 계획
|
|
89
|
+
5. **정기 리뷰**: 주기적인 성능 검토 미팅
|