oh-my-customcode 0.1.2 → 0.1.3
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 +25 -0
- 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 +291 -0
- package/templates/agents/manager/creator/refs/rules/MUST-parallel-execution.md +341 -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 +112 -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 +89 -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/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 +291 -0
- package/templates/agents/manager/supplier/refs/rules/MUST-parallel-execution.md +341 -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 +112 -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 +89 -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 +291 -0
- package/templates/agents/manager/updater/refs/rules/MUST-parallel-execution.md +341 -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 +112 -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 +89 -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/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 +291 -0
- package/templates/agents/orchestrator/secretary/refs/rules/MUST-parallel-execution.md +341 -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 +112 -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 +89 -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/manifest.json +55 -0
- package/templates/skills/orchestration/intent-detection/patterns/agent-triggers.yaml +9 -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. **정기 리뷰**: 주기적인 성능 검토 미팅
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# Claude Code Guide Index
|
|
2
|
+
# Claude로 에이전트를 구축하기 위한 가이드 문서 인덱스
|
|
3
|
+
|
|
4
|
+
documents:
|
|
5
|
+
- name: overview
|
|
6
|
+
title: 기능 개요
|
|
7
|
+
description: Claude의 핵심 기능 및 도구 요약
|
|
8
|
+
path: ./01-overview.md
|
|
9
|
+
|
|
10
|
+
- name: tools
|
|
11
|
+
title: 도구 사용
|
|
12
|
+
description: Claude와 도구 통합 방법
|
|
13
|
+
path: ./03-tools.md
|
|
14
|
+
|
|
15
|
+
- name: agent-skills
|
|
16
|
+
title: 에이전트 스킬
|
|
17
|
+
description: Skills로 Claude 기능 확장
|
|
18
|
+
path: ./04-agent-skills.md
|
|
19
|
+
|
|
20
|
+
- name: agent-sdk
|
|
21
|
+
title: 에이전트 SDK
|
|
22
|
+
description: Python/TypeScript로 에이전트 구축
|
|
23
|
+
path: ./05-agent-sdk.md
|
|
24
|
+
|
|
25
|
+
- name: mcp
|
|
26
|
+
title: MCP 커넥터
|
|
27
|
+
description: Model Context Protocol 서버 연결
|
|
28
|
+
path: ./06-mcp.md
|
|
29
|
+
|
|
30
|
+
- name: prompt-engineering
|
|
31
|
+
title: 프롬프트 엔지니어링
|
|
32
|
+
description: 프롬프트 최적화 기법
|
|
33
|
+
path: ./07-prompt-engineering.md
|
|
34
|
+
|
|
35
|
+
- name: testing
|
|
36
|
+
title: 테스트 및 평가
|
|
37
|
+
description: 품질 보장을 위한 테스트 방법
|
|
38
|
+
path: ./08-testing.md
|
|
39
|
+
status: placeholder # 공식 문서 미공개
|
|
40
|
+
|
|
41
|
+
- name: guardrails
|
|
42
|
+
title: 가드레일 강화
|
|
43
|
+
description: 안전한 에이전트 운영을 위한 제약
|
|
44
|
+
path: ./09-guardrails.md
|
|
45
|
+
status: placeholder # 공식 문서 미공개
|
|
46
|
+
|
|
47
|
+
- name: monitoring
|
|
48
|
+
title: 관리 및 모니터링
|
|
49
|
+
description: 프로덕션 에이전트 운영
|
|
50
|
+
path: ./10-monitoring.md
|
|
51
|
+
status: placeholder # 공식 문서 미공개
|