Home / μ—μ΄μ „νŠΈ μƒνƒœμ™€ ν”„λ‘¬ν”„νŠΈ / πŸ“ μ—μ΄μ „νŠΈ ν”„λ‘¬ν”„νŒ…
Note

πŸ“ μ—μ΄μ „νŠΈ ν”„λ‘¬ν”„νŒ…

도ꡬ μ„€λͺ…, μ‹œμŠ€ν…œ ν”„λ‘¬ν”„νŠΈ ꡬ쑰, μΆ”λ‘  λͺ¨λ“œ μœ λ„

⏱ 35λΆ„ 73 / 189

μ—μ΄μ „νŠΈ ν”„λ‘¬ν”„νŠΈ 섀계

도ꡬ μ„€λͺ…, μ‹œμŠ€ν…œ ν”„λ‘¬ν”„νŠΈ ꡬ쑰, μΆ”λ‘  λͺ¨λ“œ μœ λ„

μ—μ΄μ „νŠΈμ˜ κΈ°μ–΅κ³Ό νŒλ‹¨μ„ μ„€κ³„ν•œλ‹€

μƒνƒœ 관리 λ©”μ»€λ‹ˆμ¦˜κ³Ό μ—μ΄μ „νŠΈ ν”„λ‘¬ν”„νŠΈ μ„€κ³„μ˜ 핡심 원리

μ—μ΄μ „νŠΈ ν”„λ‘¬ν”„νŠΈ 섀계

일반 vs μ—μ΄μ „νŠΈ Β· μ‹œμŠ€ν…œ ν”„λ‘¬ν”„νŠΈ ꡬ쑰 Β· description Β· μΆ”λ‘  μœ λ„

PART 4 Β· μ—μ΄μ „νŠΈ ν”„λ‘¬ν”„νŠΈ 섀계

μ—μ΄μ „νŠΈ ν”„λ‘¬ν”„νŠΈ 섀계

μ‹œμŠ€ν…œ ν”„λ‘¬ν”„νŠΈ ꡬ쑰뢀터 μΆ”λ‘  λͺ¨λ“œ μœ λ„κΉŒμ§€ β€” 닡변이 μ•„λ‹ˆλΌ 행동을 μ„€κ³„ν•˜λŠ” 관점

쒋은 닡변이 μ•„λ‹ˆλΌ μ˜¬λ°”λ₯Έ 행동

μ—μ΄μ „νŠΈ ν”„λ‘¬ν”„νŠΈλŠ” 도ꡬ 선택과 싀행을 μ§€λ°°ν•©λ‹ˆλ‹€ β€” 4블둝 ꡬ쑰와 description ν’ˆμ§ˆ, μΆ”λ‘  λͺ¨λ“œ μœ λ„κ°€ 행동 ν’ˆμ§ˆμ„ κ²°μ •ν•©λ‹ˆλ‹€.

  • μ‹œμŠ€ν…œ ν”„λ‘¬ν”„νŠΈ 4블둝 β€” μ—­ν•  Β· κ·œμΉ™ Β· ν˜•μ‹ Β· μ œν•œ
  • description ν’ˆμ§ˆ β€” 도ꡬ 선택 정확도λ₯Ό κ²°μ •
  • μΆ”λ‘  μœ λ„ β€” ReAct vs Plan-and-Execute
  • κ°œμ„  루프 β€” ν…ŒμŠ€νŠΈ β†’ μ œμ•½ μΆ”κ°€ β†’ μžλ™ 평가
takeaway

잘λͺ»λœ ν”„λ‘¬ν”„νŠΈμ˜ λŒ€κ°€λŠ” λΆ€μ •ν™•ν•œ ν…μŠ€νŠΈκ°€ μ•„λ‹ˆλΌ 잘λͺ»λœ 도ꡬ ν˜ΈμΆœμ΄λΌλŠ” λΆ€μž‘μš©μž…λ‹ˆλ‹€.

PART 4 Β· μ—μ΄μ „νŠΈ ν”„λ‘¬ν”„νŠΈ 섀계

일반 ν”„λ‘¬ν”„νŠΈ vs μ—μ΄μ „νŠΈ ν”„λ‘¬ν”„νŠΈ

"쒋은 λ‹΅λ³€"이 μ•„λ‹ˆλΌ "μ˜¬λ°”λ₯Έ 행동"을 μœ λ„

일반 ν”„λ‘¬ν”„νŠΈ μ—μ΄μ „νŠΈ ν”„λ‘¬ν”„νŠΈ
λͺ©ν‘œ 쒋은 ν…μŠ€νŠΈ 생성 μ˜¬λ°”λ₯Έ 도ꡬ 선택 + μ‹€ν–‰
μ‹€νŒ¨ λͺ¨λ“œ λΆ€μ •ν™•ν•œ λ‹΅λ³€ (ν…μŠ€νŠΈ) 잘λͺ»λœ 도ꡬ 호좜 (λΆ€μž‘μš©)
핡심 μš”μ†Œ μ§€μ‹œ / λ§₯락 / μ˜ˆμ‹œ μ—­ν•  + 도ꡬ μ„€λͺ… + 행동 κ·œμΉ™
평가 κΈ°μ€€ λ‹΅λ³€ ν’ˆμ§ˆ (BLEU, μ‚¬λžŒ 평가) 도ꡬ 선택 정확도 + μž‘μ—… μ™„λ£Œμœ¨

도ꡬ μ •μ˜μ™€ μŠ€ν‚€λ§ˆ μž‘μ„±μ˜ 기본은 γ€ŒAI μ—μ΄μ „νŠΈ κΈ°μ΄ˆγ€ λͺ¨λ“ˆμ˜ 도ꡬ 섀계 νŒŒνŠΈμ—μ„œ λ‹€λ£Ήλ‹ˆλ‹€. 이 νŒŒνŠΈλŠ” μ‹œμŠ€ν…œ ν”„λ‘¬ν”„νŠΈ ꡬ쑰와 μΆ”λ‘  μœ λ„ κ΄€μ μ—μ„œ μ‹¬ν™”ν•©λ‹ˆλ‹€.

PART 4 Β· μ—μ΄μ „νŠΈ ν”„λ‘¬ν”„νŠΈ 섀계

μ‹œμŠ€ν…œ ν”„λ‘¬ν”„νŠΈ 4블둝 ꡬ쑰

μ—μ΄μ „νŠΈκ°€ μ˜¬λ°”λ₯΄κ²Œ ν–‰λ™ν•˜λ„λ‘ ν•˜λŠ” 섀계 ꡬ쑰

python
# μ‹œμŠ€ν…œ ν”„λ‘¬ν”„νŠΈ 4블둝 β€” μ—­ν• Β·κ·œμΉ™Β·ν˜•μ‹Β·μ œν•œ
"""
## β‘  μ—­ν•  (Role)
당신은 AWS λΉ„μš© 뢄석 μ „λ¬Έκ°€μž…λ‹ˆλ‹€.
도ꡬλ₯Ό μ‚¬μš©ν•˜μ—¬ μ •ν™•ν•œ 데이터 기반으둜 λ‹΅λ³€ν•©λ‹ˆλ‹€.

## β‘‘ 행동 κ·œμΉ™ (Rules)
- λΉ„μš© 데이터 ν•„μš” β†’ get_cost_data λ¨Όμ € 호좜
- μΆ”μΈ‘ κΈˆμ§€ β€” 항상 도ꡬ κ²°κ³Ό 기반
- ν•œ λ²ˆμ— 도ꡬ 3개 이상 연속 호좜 κΈˆμ§€

## β‘’ 좜λ ₯ ν˜•μ‹ (Format)
- κΈˆμ•‘: USD, μ†Œμˆ˜μ  2자리
- 증감λ₯ : νΌμ„ΌνŠΈ
- μš”μ•½ λ¨Όμ €, 상세 λ‚˜μ€‘μ—

## β‘£ μ œν•œ (Constraints)
- λΉ„μš© μ΅œμ ν™” "μ‹€ν–‰"은 κΈˆμ§€ (뢄석과 μ œμ•ˆλ§Œ)
- λ‹€λ₯Έ 계정 μ ‘κ·Ό κΈˆμ§€
"""
  • μ—­ν•  β€” 정체성 + 행동 λ°©μΉ¨. "λ„κ΅¬λ‘œ 데이터 기반 λ‹΅λ³€"κΉŒμ§€ 역할에 포함
  • 행동 κ·œμΉ™ β€” 도ꡬ μ‚¬μš© μˆœμ„œΒ·μΆ”μΈ‘ κΈˆμ§€Β·ν˜ΈμΆœ 횟수 μ œν•œ. μ˜€λ™μž‘ μ‹œ κ°€μž₯ λ¨Όμ € 손볼 블둝
  • 좜λ ₯ ν˜•μ‹ β€” λ‹¨μœ„Β·μžλ¦Ώμˆ˜Β·μ„œμˆ  μˆœμ„œλ₯Ό κ³ μ •ν•΄ 응닡 일관성 확보
  • μ œν•œ β€” κΆŒν•œμ˜ 경계. λͺ» ν•˜κ²Œ ν•  일(μ‹€ν–‰ κΈˆμ§€Β·κ³„μ • μ ‘κ·Ό κΈˆμ§€)을 λͺ…μ‹œ
PART 4 Β· μ—μ΄μ „νŠΈ ν”„λ‘¬ν”„νŠΈ 섀계

description이 정확도λ₯Ό κ²°μ •

LLM이 도ꡬλ₯Ό κ³ λ₯΄λŠ” μœ μΌν•œ κ·Όκ±° β€” description

ν•œ 쀄 μ„€λͺ…

λͺ¨ν˜Έν•œ μ„œμˆ  β€” μœ μ‚¬ 도ꡬ와 ν˜Όλ™

μ‘°κ±΄Β·ν˜•μ‹Β·μ˜ˆμ‹œλ₯Ό 담은 μ„€λͺ…

호좜 μ‹œμ  + νŒŒλΌλ―Έν„° ν˜•μ‹ + λ°˜ν™˜ μ˜ˆμ‹œ

κ³Όλ„ν•œ μ„€λͺ…

핡심 λ°–μ˜ μ„ΈλΆ€κ°€ λ…Έμ΄μ¦ˆλ‘œ μž‘μš©

takeaway

description은 길이가 μ•„λ‹ˆλΌ νŒλ‹¨ μ •λ³΄μ˜ 밀도가 κ΄€κ±΄μž…λ‹ˆλ‹€ β€” 호좜 μ‹œμ Β·μž…λ ₯·좜λ ₯이 λ“œλŸ¬λ‚˜λŠ”μ§€λ₯Ό κΈ°μ€€μœΌλ‘œ λ‹€λ“¬μŠ΅λ‹ˆλ‹€.

PART 4 Β· μ—μ΄μ „νŠΈ ν”„λ‘¬ν”„νŠΈ 섀계

쒋은 description 곡식

"μ–Έμ œ" + "뭘 λ„£κ³ " + "뭘 λ°›λ‚˜" + "μ£Όμ˜μ‚¬ν•­"

ν•„μˆ˜ μš”μ†Œ

  • μ–Έμ œ: "λΉ„μš© κΈˆμ•‘/증감/좔이 질문 μ‹œ 호좜"
  • μž…λ ₯: service β€” AWS μ„œλΉ„μŠ€λͺ… (ec2, s3)
  • μž…λ ₯: period β€” 쑰회 κΈ°κ°„ (last-7d)
  • 좜λ ₯: 일별 λΉ„μš© 데이터 (JSON)
  • 주의: μ„œλΉ„μŠ€λͺ… 뢈λͺ…ν™•ν•˜λ©΄ 확인 ν›„ 호좜

λ‚˜μœ 예

  • "데이터λ₯Ό κ°€μ Έμ˜΅λ‹ˆλ‹€"
  • "λΉ„μš© κ΄€λ ¨ μž‘μ—…"
  • "query" (νŒŒλΌλ―Έν„°λ§Œ)
PART 4 Β· μ—μ΄μ „νŠΈ ν”„λ‘¬ν”„νŠΈ 섀계

μΆ”λ‘  λͺ¨λ“œ μœ λ„

μ‹œμŠ€ν…œ ν”„λ‘¬ν”„νŠΈλ‘œ μ—μ΄μ „νŠΈμ˜ 사고 방식을 κ²°μ •

ReAct μœ λ„

κΈ°λ³Έ β€” 단계별 적응

  • "λ‹¨κ³„λ³„λ‘œ λ‹΅ν•˜μ„Έμš”"
  • "도ꡬλ₯Ό ν•˜λ‚˜μ”© ν˜ΈμΆœν•˜κ³  κ²°κ³Όλ₯Ό 확인"
  • κ°„λ‹¨ν•œ 질의, 도ꡬ 1~2κ°œμ— 적합
  • Strands κΈ°λ³Έ λ™μž‘

{'text': 'λ§€ μŠ€ν… 적응이 ν•„μš”ν•œ λŒ€ν™”ν˜• μ—μ΄μ „νŠΈμ— μ ν•©ν•©λ‹ˆλ‹€. μ‚¬μš©μž μ˜λ„κ°€ λ°”λ€” 수 μžˆμ„ λ•Œ.', 'code': 'system_prompt = """\nμ‚¬μš©μž μ§ˆλ¬Έμ— λ‹¨κ³„λ³„λ‘œ λ‹΅ν•˜μ„Έμš”.\n각 λ‹¨κ³„μ—μ„œ ν•„μš”ν•œ 도ꡬλ₯Ό ν•˜λ‚˜μ”© ν˜ΈμΆœν•˜κ³ ,\nκ²°κ³Όλ₯Ό ν™•μΈν•œ λ’€ λ‹€μŒ 단계λ₯Ό κ²°μ •ν•˜μ„Έμš”.\n"""', 'codeLang': 'python'}

Plan-and-Execute μœ λ„

볡합 μž‘μ—…μš©

  • "λ¨Όμ € κ³„νšμ„ μ„Έμš°μ„Έμš”"
  • "κ³„νšμ„ 보여주고 승인 ν›„ μ‹€ν–‰"
  • 볡합 μž‘μ—…, 도ꡬ 3+개 쑰합에 적합
  • ν”„λ‘¬ν”„νŠΈλ‘œ μœ λ„ (λͺ…μ‹œμ  μ§€μ‹œ)

{'text': 'λ³΅μž‘ν•œ λ©€ν‹°μŠ€ν… μž‘μ—…μ—μ„œ μ‚¬μš©μžκ°€ κ³„νšμ„ 미리 ν™•μΈν•˜κ³  싢을 λ•Œ. HITLκ³Ό μžμ—°μŠ€λŸ½κ²Œ κ²°ν•©.', 'code': 'system_prompt = """\nμ‚¬μš©μž μ§ˆλ¬Έμ„ λ°›μœΌλ©΄:\n1. ν•„μš”ν•œ 단계λ₯Ό κ³„νšν•˜μ„Έμš” (도ꡬ 호좜 μˆœμ„œ)\n2. κ³„νšμ„ μ‚¬μš©μžμ—κ²Œ λ³΄μ—¬μ£Όμ„Έμš”\n3. 승인 ν›„ μˆœμ„œλŒ€λ‘œ μ‹€ν–‰ν•˜μ„Έμš”\n"""', 'codeLang': 'python'}

PART 4 Β· μ—μ΄μ „νŠΈ ν”„λ‘¬ν”„νŠΈ 섀계

ν”„λ‘¬ν”„νŠΈ κ°œμ„  루프

1νšŒμ„±μ΄ μ•„λ‹Œ 지속적 반볡 κ°œμ„ 

  1. 1
    초기 μž‘μ„±

    μ—­ν•  + κ·œμΉ™ + ν˜•μ‹ + μ œν•œμœΌλ‘œ μ΄ˆμ•ˆ μž‘μ„±

  2. 2
    ν…ŒμŠ€νŠΈ

    5~10건 μ‹€ν–‰ β†’ μ‹€νŒ¨ νŒ¨ν„΄ μˆ˜μ§‘ (도ꡬ 선택 였λ₯˜, λ²”μœ„ 초과)

  3. 3
    μ œμ•½ μΆ”κ°€

    μ‹€νŒ¨ νŒ¨ν„΄μ— λŒ€ν•œ λͺ…μ‹œμ  κ·œμΉ™ μΆ”κ°€ β†’ μž¬ν…ŒμŠ€νŠΈ

  4. 4
    μžλ™ 평가

    strands-agents-evals둜 점수 기반 비ꡐ β†’ A/B ν…ŒμŠ€νŠΈ

takeaway

μ‹€νŒ¨ νŒ¨ν„΄μ„ λͺ¨μ•„ λͺ…μ‹œμ  κ·œμΉ™μœΌλ‘œ λ˜λ¨Ήμ΄λŠ” λ°˜λ³΅μž…λ‹ˆλ‹€ β€” 감이 μ•„λ‹ˆλΌ strands-agents-evals 점수둜 κ°œμ„ μ„ κ²€μ¦ν•©λ‹ˆλ‹€.

μƒνƒœλŠ” μ˜μ†ν•˜κ³ , ν”„λ‘¬ν”„νŠΈλŠ” 행동을 μ§€λ°°ν•©λ‹ˆλ‹€.

messages[] Β· SessionManager Β· description Β· 행동 κ·œμΉ™