Anthropic ็คพ์ Prompt Engineering ์๋ฒฝ ๊ฐ์ด๋
์๋ณธ ๊ฒ์๊ธ: https://velog.io/@euisuk-chung/Anthropic-Prompt-Engineering-์๋ฒฝ-๊ฐ์ด๋
AI ๊ฐ๋ฐ์ ์ฒด ์คํธ๋กํฝ(Anthropic)์ด ์์ฌ AI ๋ชจ๋ธ ํด๋ก๋(Claude)์ ์ฑ๋ฅ์ ์ต์ ํํ ์ ์๋ ํ๋กฌํํธ ์์ง๋์ด๋ง ๊ฐ์ด๋๋ฅผ ๊ณต์ ๋ฌธ์๋ก ๊ณต๊ฐํ์ต๋๋ค. ์ด๋ AI ๋ชจ๋ธ ํ์ฉ ๋ฐฉ์์ ์์ด ํจ๋ฌ๋ค์ ์ํํธ๋ฅผ ์๋ฏธํ๋ ์ค์ํ ๋ฐํ์ ๋๋ค.
source: https://docs.anthropic.com/en/docs/build-with-claude/prompt-engineering/
ํ๋กฌํํธ ์์ง๋์ด๋ง vs ํ์ธํ๋: ํจ์จ์ฑ์ ํ์
์คํธ๋กํฝ์ ์ด๋ฒ ๊ฐ์ด๋์์ ํ๋กฌํํธ ์์ง๋์ด๋ง์ด ๊ธฐ์กด ํ์ธํ๋ ๋ฐฉ์๋ณด๋ค ํจ์ฌ ํจ์จ์ ์ด๋ผ๊ณ ๊ฐ์กฐํ์ต๋๋ค. ๊ทธ ๊ทผ๊ฑฐ๋ ๋ช ํํฉ๋๋ค:
ํ์ธํ๋์ ํ๊ณ:
- ๊ณ ์ฑ๋ฅ GPU์ ๋์ฉ๋ ๋ฉ๋ชจ๋ฆฌ ํ์
- ์๋นํ ๋น์ฉ๊ณผ ์๊ฐ ์์ (์ ์๊ฐ~์ ์ผ)
- ๋๋์ ์์ ๋ณ ๋ ์ด๋ธ๋ ๋ฐ์ดํฐ ํ์
- ์น๋ช ์ ๋ง๊ฐ(Catastrophic Forgetting)์ผ๋ก ๋ชจ๋ธ์ ์ผ๋ฐ ์ง์ ์์ค ์ํ
ํ๋กฌํํธ ์์ง๋์ด๋ง์ ํ์ :
- ํ ์คํธ ์ ๋ ฅ๋ง์ผ๋ก ๊ฑฐ์ ์ฆ๊ฐ์ ์ธ ๊ฒฐ๊ณผ ๋ฌ์ฑ
- Few-shot์ด๋ zero-shot ํ์ต์ผ๋ก๋ ํจ๊ณผ์ ์๋
- ๋ชจ๋ธ ์ ๋ฐ์ดํธ ์์๋ ๋ฒ์ ๊ฐ ๋ณ๊ฒฝ ์์ด ์ฌ์ฉ ๊ฐ๋ฅ
- ๋ชจ๋ธ์ ๊ด๋ฒ์ํ ์ผ๋ฐ ์ง์๊ณผ ๋ฅ๋ ฅ ์์ ๋ณด์กด
๋ฐ์ดํฐ ์ฌ์ด์ธ์ค ๊ด์ ์์์ ํต์ฌ ์ฅ์
ํนํ ๋ฐ์ดํฐ ์ฌ์ด์ธ์ค์ AI ๊ฐ๋ฐ ๋ถ์ผ์์ ํ๋กฌํํธ ์์ง๋์ด๋ง์ ๋ค์๊ณผ ๊ฐ์ ํ์ ์ ์ด์ ์ ์ ๊ณตํฉ๋๋ค:
- ๋น ๋ฅธ ๋ฐ๋ณต ์คํ: ๊ฐ์ค ๊ฒ์ฆ๊ณผ ๋ชจ๋ธ ํ ์คํธ ์ฌ์ดํด ๋จ์ถ
- ๋๋ฉ์ธ๋ณ ๋ง์ถค ์ ์: ์ ๊ณ๋ณ ์ ๋ฌธ ์ง์ ์ฆ์ ์ ์ฉ
- ์ธ๋ถ ๋ฌธ์ ์ดํด๋ ฅ ํฅ์: ๋์ฉ๋ ๋ฐ์ดํฐ์ ๊ณผ ๋ณด๊ณ ์ ๋ถ์ ๋ฅ๋ ฅ ๊ฐํ
- ๋์ ํฌ๋ช ์ฑ: ์ถ๋ก ๊ณผ์ ์ ๋ช ํํ ์ถ์ ๊ณผ ๋๋ฒ๊น ๊ฐ๋ฅ
- ์ ์ง๋ณด์ ์ฉ์ด์ฑ: ์ง์์ ์ธ ๋ชจ๋ธ ๊ฐ์ ๊ณผ ์ต์ ํ
๋ณธ ๊ฐ์ด๋์ ๊ตฌ์ฑ
์ด๋ฒ ๊ฐ์ด๋๋ ์คํธ๋กํฝ์ ๊ณต์ ๋ฌธ์(Anthropic Prompt Engineering Guide)๋ฅผ ๊ธฐ๋ฐ์ผ๋ก, ๊ฐ์ฅ ๊ด๋ฒ์ํ๊ฒ ํจ๊ณผ์ ์ธ ๊ธฐ๋ฒ๋ถํฐ ์ ๋ฌธ์ ์ธ ๊ธฐ๋ฒ ์์๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค. ์ฑ๋ฅ ๊ฐ์ ์ด ํ์ํ ๋ ํด๋น ์์๋๋ก ์ ์ฉํ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค.
AI์์ ํจ๊ณผ์ ์ธ ์ํต์ ํ์ฌ ๋ฐ์ดํฐ ๊ณผํ๊ณผ AI ๊ฐ๋ฐ์์ ํ์์ ์ธ ๊ธฐ์ ์ด ๋์์ต๋๋ค. ํนํ Claude์ ๊ฐ์ ๋ํํ AI ๋ชจ๋ธ์ ํ์ฉํ ๋, ์ฌ๋ฐ๋ฅธ ํ๋กฌํํ ๊ธฐ๋ฒ์ ์ฌ์ฉํ๋ฉด ์ฑ๋ฅ์ ๊ทน์ ์ผ๋ก ํฅ์์ํฌ ์ ์์ต๋๋ค.
์ด ๊ธ์์๋ Claude๋ฅผ ์ํ 9๊ฐ์ง ํต์ฌ prompt engineering ๊ธฐ๋ฒ์ ๋จ๊ณ๋ณ๋ก ์ดํด๋ณด๊ฒ ์ต๋๋ค.
-
Prompt Generator: ํจ๊ณผ์ ์ธ ํ๋กฌํํธ ์๋ ์์ฑ
https://docs.anthropic.com/en/docs/build-with-claude/prompt-engineering/prompt-generator
๊ธฐ๋ณธ ๊ฐ๋
Prompt generator๋ ํน์ ์์ ์ ๋ง๋ ๊ณ ํ์ง ํ๋กฌํํธ ํ ํ๋ฆฟ์ ์๋์ผ๋ก ์์ฑํด์ฃผ๋ ๋๊ตฌ์ ๋๋ค. ์ด๋ ํนํ ํ๋กฌํํ ๊ฒฝํ์ด ์ ๊ฑฐ๋ ๋ณต์กํ ์์ ์ ์ํํ ๋ ๋งค์ฐ ์ ์ฉํฉ๋๋ค.
ํ์ฉ ๋ฐฉ๋ฒ
1
2
3
# Anthropic Console์์ prompt generator ์ฌ์ฉ ์์
# "๊ณ ๊ฐ ํผ๋๋ฐฑ ๋ถ์์ ์ํ ํ๋กฌํํธ๋ฅผ ์์ฑํด์ฃผ์ธ์"๋ผ๊ณ ์์ฒญํ๋ฉด
# ์๋์ผ๋ก ์ต์ ํ๋ ํ๋กฌํํธ ํ
ํ๋ฆฟ์ ์ ๊ณต๋ฐ์ ์ ์์ต๋๋ค
(๊ฐ์ธ์๊ฐ) ํด๋น prompt genertor์ ์ฑ๋ฅ์ด ์ผ๋ง๋ ์ข์์ง ๋ชจ๋ฅด์ง๋ง, prompting์ ์ฒ์ํ์๊ฑฐ๋ ๊ท์ฐฎ์ผ์ ๋ถ๋ค ๋ง๊ณ ๋ ์ผ๋ง๋ ์ฌ์ฉํ ์ง ๊ถ๊ธํ๋ค์ ๐
-
๋ช ํํ๊ณ ์ง์ ์ ์ธ ์ง์: ์ ํ์ฑ์ ๊ธฐ์ด
https://docs.anthropic.com/en/docs/build-with-claude/prompt-engineering/be-clear-and-direct
ํฉ๊ธ ๊ท์น
ํ๋กฌํํธ๋ฅผ ์์ฑํ ๋๋ ๋๋ฃ์๊ฒ ์ ๋ฌด๋ฅผ ์ค๋ช ํ๋ฏ์ด ๋ช ํํ๊ณ ๊ตฌ์ฒด์ ์ผ๋ก ์์ฑํด์ผ ํฉ๋๋ค. Claude๋ ๋ฐ์ด๋ ๋ฅ๋ ฅ์ ๊ฐ์ง ์ ์ ์ฌ์๊ณผ ๊ฐ๋ค๊ณ ์๊ฐํ๊ณ , ๋ช ์์ ์ธ ์ง์นจ์ด ํ์ํฉ๋๋ค.
ํจ๊ณผ์ ์ธ ์์ฑ ์์
- ๋งฅ๋ฝ ์ ๋ณด ์ ๊ณต: ์์ ๊ฒฐ๊ณผ์ ์ฉ๋, ๋์ ๋ ์, ์ ์ฒด ์ํฌํ๋ก์ฐ์์์ ์์น
- ๊ตฌ์ฒด์ ์ธ ์ง์์ฌํญ: ์ํ๋ ๊ฒฐ๊ณผ๋ฌผ์ ํํ์ ์ ์ฝ์ฌํญ ๋ช ์
- ์์ฐจ์ ๋จ๊ณ: ๋ฒํธ๋ ๋ถ๋ฆฟ ํฌ์ธํธ๋ฅผ ์ฌ์ฉํ ๋จ๊ณ๋ณ ์ง์นจ
์ค์ ์์: ๊ณ ๊ฐ ํผ๋๋ฐฑ ์ต๋ช ํ
๋ถ๋ช ํํ ํ๋กฌํํธ:
1
์ด ๊ณ ๊ฐ ํผ๋๋ฐฑ ๋ฉ์์ง๋ค์์ ๊ฐ์ธ์๋ณ์ ๋ณด๋ฅผ ์ ๊ฑฐํด์ฃผ์ธ์:
๋ช ํํ ํ๋กฌํํธ:
1
2
3
4
5
6
7
8
9
10
11
๋ถ๊ธฐ๋ณ ๊ฒํ ๋ฅผ ์ํ ๊ณ ๊ฐ ํผ๋๋ฐฑ ์ต๋ช
ํ ์์
์
๋๋ค.
์ง์นจ:
1. ๊ณ ๊ฐ ์ด๋ฆ์ "CUSTOMER_[ID]"๋ก ๋ณ๊ฒฝ (์: "๊น์ฒ ์" โ "CUSTOMER_001")
2. ์ด๋ฉ์ผ ์ฃผ์๋ฅผ "EMAIL_[ID]@example.com"๋ก ๋ณ๊ฒฝ
3. ์ ํ๋ฒํธ๋ฅผ "PHONE_[ID]"๋ก ๋ณ๊ฒฝ
4. ํน์ ์ ํ๋ช
(์: "AcmeCloud")์ ๊ทธ๋๋ก ์ ์ง
5. ๊ฐ์ธ์ ๋ณด๊ฐ ์๋ ๊ฒฝ์ฐ ๋ฉ์์ง๋ฅผ ๊ทธ๋๋ก ๋ณต์ฌ
6. ์ฒ๋ฆฌ๋ ๋ฉ์์ง๋ง ์ถ๋ ฅํ๊ณ , "---"๋ก ๊ตฌ๋ถ
์ฒ๋ฆฌํ ๋ฐ์ดํฐ:
-
์์ ํ์ฉ(Multishot Prompting): ์ ํ์ฑ ํฅ์์ ํต์ฌ
https://docs.anthropic.com/en/docs/build-with-claude/prompt-engineering/multishot-prompting
๊ธฐ๋ณธ ์๋ฆฌ
Few-shot ๋๋ multishot prompting์ Claude๊ฐ ์ํ๋ ๊ฒฐ๊ณผ๋ฌผ์ ์ ํํ ์ดํดํ ์ ์๋๋ก 3-5๊ฐ์ ๋ค์ํ ์์๋ฅผ ์ ๊ณตํ๋ ๊ธฐ๋ฒ์ ๋๋ค.
ํจ๊ณผ์ ์ธ ์์ ์์ฑ ๊ฐ์ด๋
- ๊ด๋ จ์ฑ: ์ค์ ์ฌ์ฉ ์ฌ๋ก์ ์ ์ฌํ ์์ ์ฌ์ฉ
- ๋ค์์ฑ: ๊ทน๋จ์ ์ธ ๊ฒฝ์ฐ์ ๋ค์ํ ์๋๋ฆฌ์ค ํฌํจ
- ๋ช
ํ์ฑ:
<example>
ํ๊ทธ๋ก ๊ตฌ์กฐํ
์ค์ ์ ์ฉ: ๊ณ ๊ฐ ํผ๋๋ฐฑ ๋ถ์
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
CSํ์ด ๊ตฌ์กฐํ๋์ง ์์ ํผ๋๋ฐฑ์ผ๋ก ์ด๋ ค์์ ๊ฒช๊ณ ์์ต๋๋ค.
ํผ๋๋ฐฑ์ ๋ถ์ํ์ฌ ์ ํํ๊ณผ ์์ง๋์ด๋งํ์ ์ํด ์ด์๋ฅผ ๋ถ๋ฅํด์ฃผ์ธ์.
์นดํ
๊ณ ๋ฆฌ: UI/UX, Performance, Feature Request, Integration, Pricing, Other
๊ฐ์ : Positive/Neutral/Negative
์ฐ์ ์์: High/Medium/Low
<example>
์
๋ ฅ: ์ ๋์๋ณด๋๊ฐ ์๋ง์ด์์! ๋ก๋ฉ์ด ๋๋ฌด ์ค๋ ๊ฑธ๋ฆฌ๊ณ , ๋ด๋ณด๋ด๊ธฐ ๋ฒํผ์ ์ฐพ์ ์ ์์ด์. ๋นจ๋ฆฌ ๊ณ ์ณ์ฃผ์ธ์!
์นดํ
๊ณ ๋ฆฌ: UI/UX, Performance
๊ฐ์ : Negative
์ฐ์ ์์: High
</example>
์ด์ ๋ค์ ํผ๋๋ฐฑ์ ๋ถ์ํด์ฃผ์ธ์:
-
์ฌ๊ณ ๊ณผ์ ์ ๋(Chain of Thought): ๋ณต์กํ ๋ถ์์ ํต์ฌ
https://docs.anthropic.com/en/docs/build-with-claude/prompt-engineering/chain-of-thought
์ ์ฉ ์๊ธฐ
- ๋ณต์กํ ์ํ ๊ณ์ฐ
- ๋ค๋จ๊ณ ๋ถ์
- ๋ ผ๋ฆฌ์ ์ถ๋ก ์ด ํ์ํ ์์
- ์์ฌ๊ฒฐ์ ์ ์ฌ๋ฌ ์์๊ฐ ๊ด๋ จ๋ ๊ฒฝ์ฐ
๊ตฌ์กฐํ๋ ์ฌ๊ณ ํ๋กฌํํ
1
2
3
4
5
6
7
8
9
10
11
12
13
ํฌ์ ์กฐ์ธ์ ์ํ ์ฌ๋ฌด ๋ถ์์ ์ํํด์ฃผ์ธ์.
<thinking>
1. ๋จผ์ ๊ณ ๊ฐ์ ๋ชฉํ์ ์๊ฐ ํ๋ ์ ๋ถ์
2. ๊ฐ ํฌ์ ์ต์
์ ์ ์ฌ์ ์์ต๋ฅ ๊ณ์ฐ
3. ๋ฆฌ์คํฌ ์์๋ค ํ๊ฐ
4. ์์ฅ ๋ณ๋์ฑ๊ณผ ๊ณผ๊ฑฐ ์ฑ๊ณผ ๊ฒํ
5. ์ต์ข
๊ถ๊ณ ์ ๋์ถ
</thinking>
<answer>
๋ถ์ ๊ฒฐ๊ณผ์ ๊ถ๊ณ ์ฌํญ์ ์ฌ๊ธฐ์ ์์ฑ
</answer>
์ค์ ์์: ์ฌ๋ฌด ๋ถ์
์ฌ๊ณ ๊ณผ์ ์๋ ๋ถ์:
๋จ์ํ โ6% ์ฑ๊ถ์ ์ถ์ฒํฉ๋๋คโ๋ผ๋ ๊ฒฐ๋ก ๋ง ์ ์
์ฌ๊ณ ๊ณผ์ ์ด ํฌํจ๋ ๋ถ์:
- ํฌ์ ๋ชฉํ ๋ถ์ (์ฃผํ ๊ตฌ๋งค ์๊ธ)
- ์๊ฐ ํ๋ ์ ๊ณ ๋ ค (5๋ )
- ๊ฐ ์ต์ ์ ์์ต๋ฅ ๊ณ์ฐ
- ๋ฆฌ์คํฌ ํ์ฉ๋ ํ๊ฐ
- ๊ณผ๊ฑฐ ์์ฅ ๋ฐ์ดํฐ ๊ฒํ
- ์์ธํ ๊ทผ๊ฑฐ์ ํจ๊ป ์ต์ข ๊ถ๊ณ
-
XML ํ๊ทธ ํ์ฉ: ๊ตฌ์กฐํ๋ ํ๋กฌํํธ ์ค๊ณ
https://docs.anthropic.com/en/docs/build-with-claude/prompt-engineering/use-xml-tags
ํต์ฌ ์ฅ์
- ๋ช ํ์ฑ: ํ๋กฌํํธ์ ๊ฐ ๋ถ๋ถ์ ๋ช ํํ ๊ตฌ๋ถ
- ์ ํ์ฑ: Claude์ ํผ๋์ ๋ฐฉ์ง
- ์ ์ฐ์ฑ: ํ๋กฌํํธ์ ์ผ๋ถ๋ถ์ ์ฝ๊ฒ ์์ ๊ฐ๋ฅ
- ํ์ฑ ๊ฐ๋ฅ์ฑ: ์๋ต์ ํน์ ๋ถ๋ถ์ ํ๋ก๊ทธ๋๋ฐ์ ์ผ๋ก ์ถ์ถ ๊ฐ๋ฅ
์ค์ ํ์ฉ: ๋ฒ์ ๊ณ์ฝ์ ๋ถ์
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
์ํํธ์จ์ด ๋ผ์ด์ ์ค ๊ณ์ฝ์์ ๋ฒ์ ๋ฆฌ์คํฌ์ ์ฑ
์์ ๋ถ์ํด์ฃผ์ธ์.
์ฐ๋ฆฌ๋ ํต์ฌ ๋ฐ์ดํฐ ์ธํ๋ผ๋ฅผ ์ํด ์ด ๊ณ์ฝ์ ๊ณ ๋ ค ์ค์ธ ๋ค๊ตญ์ ๊ธฐ์
์
๋๋ค.
<agreement>
</agreement>
<standard_contract>
</standard_contract>
<instructions>
1. ๋ค์ ์กฐํญ๋ค์ ๋ถ์:
- ๋ฉด์ฑ
์กฐํญ
- ์ฑ
์ ์ ํ
- ์ง์ ์ฌ์ฐ๊ถ ์์ ๊ถ
2. ํน์ดํ๊ฑฐ๋ ์ฐ๋ ค๋๋ ์กฐํญ ํ์
3. ํ์ค ๊ณ์ฝ์์ ๋น๊ต
4. <findings> ํ๊ทธ๋ก ๋ฐ๊ฒฌ์ฌํญ ์์ฝ
5. <recommendations> ํ๊ทธ๋ก ์คํ ๊ฐ๋ฅํ ๊ถ๊ณ ์ฌํญ ์ ์
</instructions>
-
์ญํ ๋ถ์ฌ(System Prompts): ์ ๋ฌธ์ฑ ๊ฐํ
https://docs.anthropic.com/en/docs/build-with-claude/prompt-engineering/system-prompts
๊ธฐ๋ณธ ๊ฐ๋
System parameter๋ฅผ ํตํด Claude์๊ฒ ํน์ ์ญํ ์ ๋ถ์ฌํ๋ฉด, ํด๋น ๋๋ฉ์ธ์ ์ ๋ฌธ๊ฐ ์์ค์ ์ฑ๋ฅ์ ์ป์ ์ ์์ต๋๋ค.
API ๊ตฌํ ์์
1
2
3
4
5
6
7
8
9
10
11
12
import anthropic
client = anthropic.Anthropic()
response = client.messages.create(
model="claude-sonnet-4-20250514",
max_tokens=2048,
system="๋น์ ์ Fortune 500 ๊ธฐ์
์ ์์ ๋ฐ์ดํฐ ์ฌ์ด์ธํฐ์คํธ์
๋๋ค.", # ์ญํ ์ค์
messages=[
{"role": "user", "content": "์ด ๋ฐ์ดํฐ์
์์ ์ด์์น๋ฅผ ๋ถ์ํด์ฃผ์ธ์: <dataset></dataset>"}
]
)
์ญํ ๋ณ ์ฑ๋ฅ ์ฐจ์ด
์ญํ ์๋ ๋ถ์: ์ผ๋ฐ์ ์ธ ๊ณ์ฝ์ ๊ฒํ ์์ค
์ญํ ์๋ ๋ถ์ (์ต๊ณ ๋ฒ๋ฌด์ฑ
์์):
- ์๋ฐฑ๋ง ๋ฌ๋ฌ ์์ค ๊ฐ๋ฅ์ฑ์ด ์๋ ์ค๋ํ ์ด์ ์๋ณ
- ์ ๊ณ ํ์ค ๋๋น ๊ตฌ์ฒด์ ์ธ ๋ฆฌ์คํฌ ํ๊ฐ
- ํ์์ ์ํ ๊ตฌ์ฒด์ ์ธ ๋์ ์ ์
-
์๋ต ์ฌ์ ์ ๋ ฅ(Prefilling): ์ถ๋ ฅ ํํ ์ ์ด
https://docs.anthropic.com/en/docs/build-with-claude/prompt-engineering/prefill-claudes-response
ํ์ฉ ์๋๋ฆฌ์ค
- JSON ํํ๋ก ์ง์ ์ถ๋ ฅ ํ์
- ํน์ ํ์ ๊ฐ์
- ์ญํ ๊ทน์์ ์บ๋ฆญํฐ ์ ์ง
- ์๋ก ์๋ตํ๊ณ ํต์ฌ ๋ด์ฉ ์ง์ ์ถ๋ ฅ
JSON ์ถ๋ ฅ ์์
1
2
3
4
5
6
7
8
# ์ฌ์ ์
๋ ฅ ์์ด
response = client.messages.create(
messages=[
{"role": "user", "content": "์ ํ ์ค๋ช
์ JSON์ผ๋ก ์ถ์ถํด์ฃผ์ธ์"},
{"role": "assistant", "content": "{"} # ์ฌ์ ์
๋ ฅ์ผ๋ก JSON ์์ ๊ฐ์
]
)
# ๊ฒฐ๊ณผ: ์๋ก ์์ด ๋ฐ๋ก JSON ๊ฐ์ฒด ์ถ๋ ฅ
์บ๋ฆญํฐ ์ ์ง ์์
1
2
3
4
5
# ๊ธด ๋ํ ํ์๋ ์ญํ ์ ์ง
messages=[
{"role": "user", "content": "์ด ์ ๋ฐ์ ์ฃผ์ธ์ ๋ํด ๋ฌด์์ ์ถ๋ก ํ ์ ์๋์?"},
{"role": "assistant", "content": "[Sherlock Holmes]"} # ์บ๋ฆญํฐ ์ ์ง ์ฌ์ ์
๋ ฅ
]
-
๋ณต์กํ ํ๋กฌํํธ ์ฐ์(Chain Prompts): ์ ํ์ฑ ๊ทน๋ํ
https://docs.anthropic.com/en/docs/build-with-claude/prompt-engineering/chain-prompts
์ธ์ ์ฌ์ฉํด์ผ ํ๋๊ฐ
- ๋ค๋จ๊ณ ๋ถ์์ด๋ ์ฐ๊ตฌ ์ข ํฉ
- ๋ฌธ์ ๋ถ์
- ๋ฐ๋ณต์ ์ฝํ ์ธ ์์ฑ
- ์ฌ๋ฌ ๋ณํ ๊ณผ์ ์ด ํ์ํ ์์
์ฐ์ ๊ตฌ์กฐ ์ค๊ณ
- ํ์ ์์ ์๋ณ: ๋ณต์กํ ์์ ์ ๋ช ํํ ๋จ๊ณ๋ก ๋ถํด
- XML์ ํตํ ๋ช ํํ ์ ๋ฌ: ๋จ๊ณ ๊ฐ ๊ฒฐ๊ณผ๋ฌผ์ ๊ตฌ์กฐํ๋ ํํ๋ก ์ ๋ฌ
- ๋จ์ผ ๋ชฉํ ์ค์ : ๊ฐ ๋จ๊ณ๋ ํ๋์ ๋ช ํํ ๋ชฉ์ ์ ๊ฐ์ ธ์ผ ํจ
- ๋ฐ๋ณต ๊ฐ์ : ๋ฌธ์ ๊ฐ ์๋ ๋จ๊ณ๋ฅผ ๋ ๋ฆฝ์ ์ผ๋ก ๊ฐ์
์ค์ ์์: ๋ฒ์ ๊ณ์ฝ์ ๋ถ์ ์ฐ์
1๋จ๊ณ: ๋ฆฌ์คํฌ ๋ถ์
1
SaaS ๊ณ์ฝ์์ ๋ฆฌ์คํฌ๋ฅผ ๋ถ์ํ๊ณ <risks> ํ๊ทธ๋ก ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํด์ฃผ์ธ์.
2๋จ๊ณ: ์ด๋ฉ์ผ ์ด์ ์์ฑ
1
2
๋ค์ ์ฐ๋ ค์ฌํญ์ ๋ฐํ์ผ๋ก ๋ฒค๋์๊ฒ ๋ณด๋ผ ์ด๋ฉ์ผ์ ์์ฑํด์ฃผ์ธ์:
<concerns></concerns>
3๋จ๊ณ: ํ์ง ๊ฒํ
1
2
๋ค์ ์ด๋ฉ์ผ์ ํค, ๋ช
ํ์ฑ, ์ ๋ฌธ์ฑ์ ํ๊ฐํด์ฃผ์ธ์:
<email></email>
์๊ธฐ ์์ ์ฐ์(Self-correction Chains)
Claude๊ฐ ์์ ์ ์์ ์ ๊ฒํ ํ๊ณ ๊ฐ์ ํ๋๋ก ํ๋ ๊ณ ๊ธ ๊ธฐ๋ฒ:
- ์ด๊ธฐ ๋ถ์ ์ํ
- ์์ฒด ๊ฒํ ๋ฐ ํผ๋๋ฐฑ ์์ฑ
-
ํผ๋๋ฐฑ์ ๋ฐํ์ผ๋ก ๊ฐ์ ๋ ๋ฒ์ ์์ฑ
-
๊ธด ๋งฅ๋ฝ ์ฒ๋ฆฌ(Long Context Tips): ๋์ฉ๋ ๋ฐ์ดํฐ ํ์ฉ
https://docs.anthropic.com/en/docs/build-with-claude/prompt-engineering/long-context-tips
ํต์ฌ ์ ๋ต
Claude์ 200K ํ ํฐ ์ปจํ ์คํธ ์๋์ฐ๋ฅผ ํจ๊ณผ์ ์ผ๋ก ํ์ฉํ๊ธฐ ์ํ ๊ธฐ๋ฒ๋ค์ ๋๋ค.
์ต์ ํ ๊ธฐ๋ฒ
1. ๊ธด ๋ฌธ์๋ฅผ ์๋จ์ ๋ฐฐ์น
1
2
3
4
5
6
7
8
9
10
11
<documents>
<document index="1">
<source>annual_report_2023.pdf</source>
<document_content>
</document_content>
</document>
</documents>
<!-- ์ค์ ์ง๋ฌธ์ ๋ฌธ์ ๋ค์์ ๋ฐฐ์น -->
์ฐ๊ฐ ๋ณด๊ณ ์๋ฅผ ๋ถ์ํ์ฌ ์ ๋ต์ ์ฐ์์ ์ ์๋ณํ๊ณ Q3 ์ง์ค ์์ญ์ ์ถ์ฒํด์ฃผ์ธ์.
2. ๊ด๋ จ ์ธ์ฉ๊ตฌ ๋จผ์ ์ถ์ถ
1
2
3
4
5
6
7
<quotes>
ํ์ ๊ธฐ๋ก์์ ์ง๋จ๊ณผ ๊ด๋ จ๋ ์ธ์ฉ๊ตฌ๋ฅผ ๋จผ์ ์ถ์ถํด์ฃผ์ธ์.
</quotes>
<diagnosis>
์ถ์ถ๋ ์ธ์ฉ๊ตฌ๋ฅผ ๋ฐํ์ผ๋ก ์ง๋จ ์ ๋ณด๋ฅผ ์ ๊ณตํด์ฃผ์ธ์.
</diagnosis>
3. ๋ฉํ๋ฐ์ดํฐ๋ก ๋ฌธ์ ๊ตฌ์กฐํ
์ฌ๋ฌ ๋ฌธ์๋ฅผ ๋ค๋ฃฐ ๋๋ ๊ฐ ๋ฌธ์๋ฅผ ๋ช
ํํ ํ๊ทธํ๊ณ ์ถ์ฒ๋ฅผ ํ์ํฉ๋๋ค.
์ค์ ์ ์ฉ์ ์ํ ๊ถ๊ณ ์ฌํญ
์ ์ง์ ์ ๊ทผ
- ๊ธฐ๋ณธ๊ธฐ๋ถํฐ: ๋ช ํํ๊ณ ์ง์ ์ ์ธ ์ง์๋ถํฐ ์์
- ์์ ์ถ๊ฐ: 3-5๊ฐ์ ๋ค์ํ ์์๋ก ์ ํ์ฑ ํฅ์
- ๊ตฌ์กฐํ: XML ํ๊ทธ๋ก ๋ณต์กํ ํ๋กฌํํธ ๊ตฌ์กฐํ
- ์ ๋ฌธ์ฑ ๊ฐํ: ์ญํ ๋ถ์ฌ๋ก ๋๋ฉ์ธ ํนํ ์ฑ๋ฅ ํ๋ณด
- ๊ณ ๊ธ ๊ธฐ๋ฒ: ์ฐ์์ ๊ธด ๋งฅ๋ฝ ์ฒ๋ฆฌ๋ก ๋ณต์กํ ์์ ์ํ
์ฑ๋ฅ ์ธก์ ๊ณผ ๊ฐ์
- A/B ํ ์คํธ๋ฅผ ํตํ ํ๋กฌํํธ ๋น๊ต
- ๋จ๊ณ๋ณ ์ฑ๋ฅ ๋ชจ๋ํฐ๋ง
- ๋ฌธ์ ๋ฐ์ ์ ๊ฐ๋ณ ๋จ๊ณ ๊ฒฉ๋ฆฌ ๋ฐ ๊ฐ์
- ์ฌ์ฉ์ ํผ๋๋ฐฑ์ ํตํ ์ง์์ ๊ฐ์
๊ฒฐ๋ก
ํจ๊ณผ์ ์ธ prompt engineering์ Claude์์ ์ํธ์์ฉ์ ํฌ๊ฒ ํฅ์์ํต๋๋ค. ์ด 9๊ฐ์ง ๊ธฐ๋ฒ์ ๋จ๊ณ์ ์ผ๋ก ์ ์ฉํ๋ฉด์, ์ฌ๋ฌ๋ถ์ ํน์ ์ฌ์ฉ ์ฌ๋ก์ ๋ง๊ฒ ์กฐ์ ํด๋๊ฐ์๊ธฐ ๋ฐ๋๋๋ค. ํนํ ๋ฐ์ดํฐ ์ฌ์ด์ธ์ค์ AI ๊ฐ๋ฐ ๋ถ์ผ์์๋ ์ด๋ฌํ ๊ธฐ๋ฒ๋ค์ด ๋ชจ๋ธ์ ์ฑ๋ฅ์ ๊ทน๋ํํ๊ณ ๋ ์ ํํ๊ณ ์ ์ฉํ ๊ฒฐ๊ณผ๋ฅผ ์ป๋ ๋ฐ ํ์์ ์ ๋๋ค.
์ฝ์ด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค ๐ธ