Home / ์—์ด์ „ํŠธ ์ƒํƒœ์™€ ํ”„๋กฌํ”„ํŠธ / ๐ŸŽฏ ์—์ด์ „ํŠธ ์ƒํƒœ์™€ ํ”„๋กฌํ”„ํŠธ
Module

๐ŸŽฏ ์—์ด์ „ํŠธ ์ƒํƒœ์™€ ํ”„๋กฌํ”„ํŠธ

messages[], ์„ธ์…˜, ์ƒํƒœ ์ˆ˜๋ช…, ์‹œ์Šคํ…œ ํ”„๋กฌํ”„ํŠธ 4๋ธ”๋ก, ์ถ”๋ก  ์œ ๋„

โฑ 50๋ถ„ 71 / 189

์—์ด์ „ํŠธ ์ƒํƒœ์™€ ํ”„๋กฌํ”„ํŠธ

messages[] ยท ์„ธ์…˜ ยท ์ƒํƒœ ์ˆ˜๋ช… ยท ์‹œ์Šคํ…œ ํ”„๋กฌํ”„ํŠธ ยท ์ถ”๋ก  ์œ ๋„

์—์ด์ „ํŠธ์˜ ๊ธฐ์–ต๊ณผ ํŒ๋‹จ์„ ์„ค๊ณ„ํ•œ๋‹ค

์ƒํƒœ ๊ด€๋ฆฌ ๋ฉ”์ปค๋‹ˆ์ฆ˜๊ณผ ์—์ด์ „ํŠธ ํ”„๋กฌํ”„ํŠธ ์„ค๊ณ„์˜ ํ•ต์‹ฌ ์›๋ฆฌ

messages[]์™€ ์„ธ์…˜

messages[] ๊ตฌ์กฐ ยท session_id ยท ์ธ๋ฉ”๋ชจ๋ฆฌ ํ•œ๊ณ„

PART 1 ยท messages[]์™€ ์„ธ์…˜

messages[]์™€ ์„ธ์…˜

๋Œ€ํ™”๊ฐ€ ๋ชจ๋ธ์— ์ „๋‹ฌ๋˜๋Š” ์‹ค์ œ ๊ตฌ์กฐ์™€ ์ธ๋ฉ”๋ชจ๋ฆฌ ํ•œ๊ณ„์˜ ์กฐ๊ฐ

๋ชจ๋ธ์€ ๊ธฐ์–ตํ•˜์ง€ ์•Š๋Š”๋‹ค โ€” ๋งค๋ฒˆ ๋‹ค์‹œ ์ฝ๋Š”๋‹ค

๋งค ํ˜ธ์ถœ๋งˆ๋‹ค messages[] ์ „์ฒด๊ฐ€ ๋ชจ๋ธ์— ์žฌ์ „์†ก๋ฉ๋‹ˆ๋‹ค โ€” session_id๋กœ ๋Œ€ํ™”๋ฅผ ๊ฒฉ๋ฆฌํ•˜๊ณ  ์ธ๋ฉ”๋ชจ๋ฆฌ ํ•œ๊ณ„๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

  • messages[] โ€” user ยท assistant ยท toolUse ยท toolResult ๋ˆ„์ 
  • session_id โ€” ์‚ฌ์šฉ์žร—๋Œ€ํ™” ๊ฒฉ๋ฆฌ, ๋ฉ€ํ‹ฐ์œ ์ € ์„œ๋น™์˜ ๊ธฐ๋ณธ
  • ์ธ๋ฉ”๋ชจ๋ฆฌ ํ•œ๊ณ„ โ€” ์œ ์‹ค ยท ํ† ํฐ ํญ๋ฐœ ยท ์œˆ๋„์šฐ ์ดˆ๊ณผ ยท ํ˜ผ์„ 
  • SessionManager โ€” ์™ธ๋ถ€ ์ €์žฅ์†Œ ์˜์†ํ™”๋กœ ์œ ์‹ค ํ•ด๊ฒฐ
takeaway

๋ชจ๋ธ์—๋Š” ๊ธฐ์–ต์ด ์—†๊ณ  ๋งค ํ˜ธ์ถœ messages[] ์ „์ฒด๋ฅผ ๋‹ค์‹œ ์ฝ์Šต๋‹ˆ๋‹ค โ€” ์ด ๊ตฌ์กฐ๊ฐ€ ์ƒํƒœ ๊ด€๋ฆฌ ์ „์ฒด์˜ ์ถœ๋ฐœ์ ์ž…๋‹ˆ๋‹ค.

PART 1 ยท messages[]์™€ ์„ธ์…˜

messages[]์˜ ์‹ค์ฒด

๋ชจ๋ธ์€ "๊ธฐ์–ต"์ด ์•„๋‹ˆ๋ผ ๋งค๋ฒˆ ๋‹ค์‹œ ์ฝ๋Š” ๊ฒƒ โ€” ๋‹ค์Œ ํ˜ธ์ถœ์— ์‹ค์ œ๋กœ ๋‚˜๊ฐ€๋Š” ํŽ˜์ด๋กœ๋“œ






Converse API ์š”์ฒญ ๋ฐ”๋”” โ€” "messages": [ ... ]



์ด์ „ ํ„ด ๋ˆ„์ ๋ถ„ โ€” ๋งค ํ˜ธ์ถœ๋งˆ๋‹ค ์ „๋ถ€ ๋‹ค์‹œ ์ „์†ก

{ "role": "user", "content": "์ œ์ฃผ๋„ ์—ฌํ–‰ ๊ณ„ํš ์„ธ์›Œ์ค˜" }์‚ฌ์šฉ์ž ์งˆ๋ฌธ

{ "role": "assistant", "content": "2๋ฐ•3์ผ ์ถ”์ฒœ๋“œ๋ฆด๊ฒŒ์š”..." }๋ชจ๋ธ ์‘๋‹ต

{ "role": "assistant", "content": [{ "toolUse": { "name": "get_weather", "input": { "city": "jeju" } } }] }๋ชจ๋ธ์˜ ๋„๊ตฌ ํ˜ธ์ถœ ์š”์ฒญ

{ "role": "user", "content": [{ "toolResult": { "content": "๋ง‘์Œ, 28๋„" } }] }ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ๋„ฃ์€ ์‹คํ–‰ ๊ฒฐ๊ณผ



{ "role": "user", "content": "๊ทธ๋Ÿผ ์šฐ์‚ฐ ์ฑ™๊ฒจ์•ผ ํ•ด?" }
NEW ยท ์ด๋ฒˆ ํ„ด




toolUseยทtoolResult๊นŒ์ง€ ๋ชจ๋‘ messages[]์— ์Œ“์ด๊ณ  ๋‹ค์Œ ํ˜ธ์ถœ์— ์ „๋ถ€ ๋‹ค์‹œ ์ „์†ก๋ฉ๋‹ˆ๋‹ค โ€” ๋Œ€ํ™”๊ฐ€ ๊ธธ์ˆ˜๋ก ์ž…๋ ฅ ํ† ํฐ์ด ์ปค์ง€๋Š” ์ด์œ ์ž…๋‹ˆ๋‹ค.


PART 1 ยท messages[]์™€ ์„ธ์…˜

session_id ์„ค๊ณ„

๋Œ€ํ™”๋ฅผ ๊ตฌ๋ถ„ํ•˜๋Š” ํ‚ค โ€” ๋ฉ€ํ‹ฐ์œ ์ € ์„œ๋น™์˜ ๊ธฐ๋ณธ

์‚ฌ์šฉ์ž๋‹น 1๊ฐœ

user_id

  • ๋Œ€ํ™” 1๊ฐœ๋งŒ ์œ ์ง€
  • ๋‹จ์ˆœํ•˜์ง€๋งŒ ๋Œ€ํ™” ๋ถ„๋ฆฌ ๋ถˆ๊ฐ€

์–ธ์ œ โ€” ๋‹จ์ˆœ ๋ด‡ (1์‚ฌ์šฉ์ž = 1๋Œ€ํ™”)

๋Œ€ํ™”๋ณ„ ๋ถ„๋ฆฌ

user_id-conv_id

  • ์—ฌ๋Ÿฌ ๋Œ€ํ™” ๋…๋ฆฝ ์œ ์ง€
  • ChatGPT ๋ฐฉ์‹ (์ขŒ์ธก ๋Œ€ํ™” ๋ชฉ๋ก)

์–ธ์ œ โ€” ๋ฉ€ํ‹ฐ ๋Œ€ํ™” ์•ฑ (๋Œ€๋ถ€๋ถ„์˜ ํ”„๋กœ๋•์…˜)

์‹œ๊ฐ„ ๊ธฐ๋ฐ˜

user_id-2026-07-19

  • ๋‚ ์งœ๋ณ„ ์ž๋™ ๋ถ„๋ฆฌ
  • ์ด์ „ ๋‚ ์งœ ๋Œ€ํ™” ์ž๋™ ์•„์นด์ด๋ธŒ

์–ธ์ œ โ€” ์ผ์ผ ๋ณด๊ณ , ๋ฐ์ผ๋ฆฌ ์–ด์‹œ์Šคํ„ดํŠธ

takeaway

๋Œ€๋ถ€๋ถ„์˜ ํ”„๋กœ๋•์…˜์€ user_id-conv_id ๋Œ€ํ™”๋ณ„ ๋ถ„๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค โ€” ํ‚ค ์„ค๊ณ„๊ฐ€ ๋Œ€ํ™” ๊ฒฉ๋ฆฌ ์ˆ˜์ค€์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค.

PART 1 ยท messages[]์™€ ์„ธ์…˜

์ธ๋ฉ”๋ชจ๋ฆฌ ์ƒํƒœ์˜ 4๊ฐ€์ง€ ๋ฌธ์ œ

์ƒํƒœ ๊ด€๋ฆฌ ์—†์ด๋Š” ํ”„๋กœ๋•์…˜ ๋ถˆ๊ฐ€

๊ธฐ์–ต ์ƒ์‹ค

ํ”„๋กœ์„ธ์Šค ์ข…๋ฃŒ ์‹œ messages[] ์ „์ฒด ์œ ์‹ค โ€” ์„œ๋ฒ„ ์žฌ์‹œ์ž‘, ๋ฐฐํฌ, Lambda ์ฝœ๋“œ์Šคํƒ€ํŠธ

ํ† ํฐ ํญ๋ฐœ

๋Œ€ํ™”๊ฐ€ ๊ธธ์–ด์ง€๋ฉด ๋งค ํ˜ธ์ถœ๋งˆ๋‹ค ์ˆ˜๋งŒ ํ† ํฐ ์ „์†ก โ€” ๋น„์šฉโ†‘ ์ง€์—ฐโ†‘

์œˆ๋„์šฐ ์ดˆ๊ณผ

์ปจํ…์ŠคํŠธ ์œˆ๋„์šฐ๋ฅผ ๋„˜์œผ๋ฉด API ์—๋Ÿฌ โ€” ์—์ด์ „ํŠธ ๋ฉˆ์ถค

๋ฉ€ํ‹ฐ์œ ์ € ํ˜ผ์„ 

session_id ์—†์ด ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž์˜ messages[]๊ฐ€ ์„ž์ž„

takeaway

๋„ค ๋ฌธ์ œ ๋ชจ๋‘ ์ƒํƒœ๋ฅผ ํ”„๋กœ์„ธ์Šค ๋ฉ”๋ชจ๋ฆฌ์—๋งŒ ๋‘์–ด์„œ ์ƒ๊น๋‹ˆ๋‹ค โ€” ๋‹ค์Œ ํŒŒํŠธ์˜ ์ƒํƒœ ๊ด€๋ฆฌ ๊ตฌ์„ฑ์š”์†Œ๊ฐ€ ๊ฐ๊ฐ์˜ ํ•ด๋ฒ•์ž…๋‹ˆ๋‹ค.

์ƒํƒœ ๊ด€๋ฆฌ ๊ตฌ์„ฑ์š”์†Œ

Session ยท Conversation ยท Memory ยท Context ยท Snapshots ยท Interrupts

PART 2 ยท ์ƒํƒœ ๊ด€๋ฆฌ ๊ตฌ์„ฑ์š”์†Œ

์ƒํƒœ ๊ด€๋ฆฌ ๊ตฌ์„ฑ์š”์†Œ

๋…๋ฆฝ์ ์ธ 6๊ฐ€์ง€ ๊ตฌ์„ฑ์š”์†Œ์™€ ์ƒํƒœ๋ฅผ ์ˆ˜๋ช…์œผ๋กœ ๊ตฌ๋ถ„ํ•˜๋Š” ๊ด€์ ์˜ ์กฐ๊ฐ

6๊ฐ€์ง€ ๊ตฌ์„ฑ์š”์†Œ ยท ์ˆ˜๋ช… 3๊ณ„์ธต

SessionยทConversationยทMemoryยทContextยทSnapshotsยทInterrupts๋ฅผ ํ•„์š”ํ•œ ๊ฒƒ๋งŒ ๊ณจ๋ผ ์กฐํ•ฉํ•˜๊ณ , ์ƒํƒœ๋ฅผ ์ˆ˜๋ช…์œผ๋กœ ๊ตฌ๋ถ„ํ•ฉ๋‹ˆ๋‹ค.

  • 6๊ฐ€์ง€ ๊ตฌ์„ฑ์š”์†Œ โ€” ๊ฐ๊ฐ ๋…๋ฆฝ, ์„ ํƒ ์กฐํ•ฉ
  • ์ˆ˜๋ช… 3๊ณ„์ธต โ€” ํ„ด ยท ์„ธ์…˜ ยท ์„ธ์…˜ ๋„ˆ๋จธ
  • agent.state โ€” ์„ธ์…˜ ์œ ์ง€, ๋„๊ตฌ ๊ฐ„ ๊ณต์œ  ๋ฉ”๋ชจ์žฅ
  • invocation_state โ€” 1ํ„ด ์œ ํšจ, ์™ธ๋ถ€ ์ฃผ์ž… ๋น„๋ฐ€
takeaway

์–ด๋–ค ์ƒํƒœ๊ฐ€ ์–ผ๋งˆ๋‚˜ ์˜ค๋ž˜ ์‚ด์•„์•ผ ํ•˜๋Š”์ง€๊ฐ€ ๋จผ์ €์ž…๋‹ˆ๋‹ค โ€” ์ˆ˜๋ช…์ด ์ €์žฅ์†Œ์™€ ๊ตฌ์„ฑ์š”์†Œ ์„ ํƒ์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค.

PART 2 ยท ์ƒํƒœ ๊ด€๋ฆฌ ๊ตฌ์„ฑ์š”์†Œ

์ƒํƒœ ๊ด€๋ฆฌ 6๊ฐ€์ง€ ๊ตฌ์„ฑ์š”์†Œ

๊ฐ ๊ตฌ์„ฑ์š”์†Œ๋Š” ๋…๋ฆฝ์  โ€” ํ•„์š”ํ•œ ๊ฒƒ๋งŒ ์„ ํƒํ•˜์—ฌ ์กฐํ•ฉ

SessionManager

messages[]๋ฅผ ์™ธ๋ถ€ ์ €์žฅ์†Œ์— ์ €์žฅ/๋ณต์› โ€” ํ”„๋กœ์„ธ์Šค ์žฌ์‹œ์ž‘ ํ›„ ๋Œ€ํ™” ์ด์–ด๊ฐ€๊ธฐ

ConversationManager

๋ชจ๋ธ ์ „๋‹ฌ ์ „ messages[] ์ถ•์†Œ โ€” ์Šฌ๋ผ์ด๋”ฉ ์œˆ๋„์šฐ, ์š”์•ฝ ์••์ถ•

MemoryManager

์„ธ์…˜ ๋„ˆ๋จธ ์žฅ๊ธฐ ๊ธฐ์–ต โ€” ์‚ฌ์šฉ์ž ์„ ํ˜ธ, ์ด์ „ ์„ธ์…˜ ์š”์•ฝ, ํŒจํ„ด ํ•™์Šต

Context Management

ํฐ ๋„๊ตฌ ๊ฒฐ๊ณผ ์ž๋™ ์˜คํ”„๋กœ๋“œ โ€” ๋ฏธ๋ฆฌ๋ณด๊ธฐ๋งŒ ์ปจํ…์ŠคํŠธ์— ์œ ์ง€

Snapshots

ํŠน์ • ์‹œ์  ์ƒํƒœ ์บก์ฒ˜ + ๋กค๋ฐฑ โ€” ์ž˜๋ชป๋œ ๊ฒฝ๋กœ์—์„œ ๋˜๋Œ๋ฆฌ๊ธฐ

Interrupts

์œ„ํ—˜ ์ž‘์—… ์ „ ๋ฉˆ์ถค + ์‚ฌ์šฉ์ž ์Šน์ธ ํ›„ ์žฌ๊ฐœ

PART 2 ยท ์ƒํƒœ ๊ด€๋ฆฌ ๊ตฌ์„ฑ์š”์†Œ

์ƒํƒœ ์ˆ˜๋ช… 3๊ณ„์ธต

ํ„ด ยท ์„ธ์…˜ ยท ์„ธ์…˜ ๋„ˆ๋จธ โ€” ๊ฐ ์ƒํƒœ์˜ ์œ ํšจ ๋ฒ”์œ„

๋ฒ”์œ„์œ ์ง€๋˜๋Š” ์ƒํƒœ์ €์žฅ์†Œ์˜ˆ์‹œ
1ํ„ดinvocation_state๋ฉ”๋ชจ๋ฆฌ (๋งค ํ˜ธ์ถœ ์žฌ์ฃผ์ž…)user_id, api_key, request_id
์„ธ์…˜messages[] + agent.stateSessionManager (File/S3)๋Œ€ํ™” ํžˆ์Šคํ† ๋ฆฌ, ์ธ์ฆ ํ† ํฐ
์„ธ์…˜ ๋„ˆ๋จธMemoryManagerAgentCore Memory / Knowledge Base์‚ฌ์šฉ์ž ์„ ํ˜ธ, ์ด์ „ ์„ธ์…˜ ์š”์•ฝ
takeaway

ํ„ด์ด ๋๋‚˜๋ฉด invocation_state๊ฐ€, ์„ธ์…˜์ด ๋๋‚˜๋ฉด messages[]๊ฐ€ ์‚ฌ๋ผ์ง‘๋‹ˆ๋‹ค โ€” ์„ธ์…˜ ๋„ˆ๋จธ๊นŒ์ง€ ๋‚จ๊ธธ ๊ฒƒ๋งŒ MemoryManager๋กœ ์˜ฌ๋ฆฝ๋‹ˆ๋‹ค.

PART 2 ยท ์ƒํƒœ ๊ด€๋ฆฌ ๊ตฌ์„ฑ์š”์†Œ

agent.state vs invocation_state

๋‘˜ ๋‹ค ๋ชจ๋ธ์—๋Š” ์•ˆ ๋ณด์ด๋Š” ์กด์žฌ โ€” ์ˆ˜๋ช…๊ณผ ์ฃผ์ž… ๋ฐฉํ–ฅ์˜ ์ฐจ์ด

agent.state

์„ธ์…˜ ์ „์ฒด ์œ ์ง€

  • ๋„๊ตฌ/ํ›…์ด .set() / .get()
  • ์„ธ์…˜ ๋™์•ˆ ์—ฌ๋Ÿฌ ํ„ด์— ๊ฑธ์ณ ์œ ์ง€
  • SessionManager๊ฐ€ ํ•จ๊ป˜ ์˜์†ํ™”
  • ์šฉ๋„: ์ธ์ฆ ํ† ํฐ, ํ˜ธ์ถœ ์นด์šดํ„ฐ, ๋„๊ตฌ ๊ฐ„ ๊ณต์œ  ๋ฐ์ดํ„ฐ

๋„๊ตฌ๊ฐ€ ์ค‘๊ฐ„ ๊ฒฐ๊ณผ๋ฅผ ์ €์žฅํ•˜๊ณ , ๋‹ค๋ฅธ ํ„ด์˜ ๋‹ค๋ฅธ ๋„๊ตฌ๊ฐ€ ์ฝ์–ด ์“ฐ๋Š” "์—์ด์ „ํŠธ ๋‚ด๋ถ€ ๋ฉ”๋ชจ์žฅ"์ž…๋‹ˆ๋‹ค.

invocation_state

1ํ„ด๋งŒ ์œ ํšจ

  • ํ˜ธ์ถœ์ž(caller)๊ฐ€ ์™ธ๋ถ€์—์„œ ์ฃผ์ž…
  • agent(prompt, invocation_state={...})
  • ์ €์žฅ ์•ˆ ๋จ โ€” ๋งค ํ˜ธ์ถœ๋งˆ๋‹ค ์žฌ์ฃผ์ž…
  • ์šฉ๋„: API ํ‚ค, user_id, ์—ญํ• (role), ์„ธ์…˜ ๋น„๋ฐ€

ํ˜ธ์ถœํ•  ๋•Œ๋งˆ๋‹ค ์™ธ๋ถ€์—์„œ ๋„ฃ์–ด์ฃผ๋Š” "ํŒŒ๋ผ๋ฏธํ„ฐ ๋ด‰ํˆฌ". ๋„๊ตฌ๊ฐ€ tool_context.invocation_state๋กœ ๊บผ๋ƒ…๋‹ˆ๋‹ค.

PART 2 ยท ์ƒํƒœ ๊ด€๋ฆฌ ๊ตฌ์„ฑ์š”์†Œ

๋ชจ๋ธ์ด ๋ณด๋Š” ๊ฒƒ vs ๋ชป ๋ณด๋Š” ๊ฒƒ

LLM์— ๋…ธ์ถœ๋˜๋ฉด ์•ˆ ๋˜๋Š” ๋ฏผ๊ฐ ์ •๋ณด๋Š” invocation_state๋กœ

์ƒํƒœLLM์ด ๋ด„?๋„๊ตฌ/ํ›… ์ ‘๊ทผ?์šฉ๋„
messages[]โœ“ ๋งค๋ฒˆ ์ „์ฒด ์ „์†กโœ“๋Œ€ํ™” ๋งฅ๋ฝ ์œ ์ง€
agent.stateโœ—โœ“ .get()/.set()๋„๊ตฌ ๊ฐ„ ๋‚ด๋ถ€ ๋ฐ์ดํ„ฐ
invocation_stateโœ—โœ“ tool_context์™ธ๋ถ€ ์ฃผ์ž… ๋น„๋ฐ€/์„ค์ •

API ํ‚ค, ํ† ํฐ ๋“ฑ ๋ฏผ๊ฐ ์ •๋ณด๋ฅผ messages[]์— ๋„ฃ์œผ๋ฉด ๋ชจ๋ธ์— ๋…ธ์ถœ๋ฉ๋‹ˆ๋‹ค. ๋ฐ˜๋“œ์‹œ invocation_state๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”.

๋ฉ€ํ‹ฐ์—์ด์ „ํŠธ ์ƒํƒœ ๊ณต์œ 

Agents-as-Tools ยท Swarm ยท Graph ยท invocation_state ์ „ํŒŒ

PART 3 ยท ๋ฉ€ํ‹ฐ์—์ด์ „ํŠธ ์ƒํƒœ ๊ณต์œ 

๋ฉ€ํ‹ฐ์—์ด์ „ํŠธ ์ƒํƒœ ๊ณต์œ 

์—์ด์ „ํŠธ ์‚ฌ์ด์—์„œ ๊ฒฐ๊ณผ๊ฐ€ ํ๋ฅด๋Š” ํ†ต๋กœ์™€ ํ๋ฅด์ง€ ์•Š๋Š” ๊ฒƒ์˜ ์กฐ๊ฐ

ํŒจํ„ด๋งˆ๋‹ค ๊ณต์œ  ํ†ต๋กœ๊ฐ€ ๋‹ค๋ฅด๋‹ค

Agents-as-ToolsยทSwarmยทGraph๋Š” ๊ฒฐ๊ณผ๊ฐ€ ํ๋ฅด๋Š” ๋ฐฉํ–ฅ๊ณผ ๋ฐฉ์‹์ด ๊ฐ๊ฐ ๋‹ค๋ฅด๊ณ , agent.state๋Š” ์–ด๋””์„œ๋„ ์ง์ ‘ ๊ณต์œ ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

  • Agents-as-Tools โ€” toolResult๋กœ ๋ถ€๋ชจโ†์ž์‹ ๋‹จ๋ฐฉํ–ฅ
  • Swarm โ€” Shared Context๊ฐ€ ํ•ธ๋“œ์˜คํ”„๋งˆ๋‹ค ๋ˆ„์ 
  • Graph โ€” Output Propagation, DAG ๋ฐฉํ–ฅ ์ „ํŒŒ
  • ๊ณต์œ  ๋ถˆ๊ฐ€ โ€” agent.state ยท messages[] ์ง์ ‘ ์ ‘๊ทผ ์—†์Œ
takeaway

messages[]์™€ agent.state๋Š” ์–ด๋–ค ํŒจํ„ด์—์„œ๋„ ๋ณต์‚ฌ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค โ€” ํŒจํ„ด์ด ์ œ๊ณตํ•˜๋Š” ํ†ต๋กœ๋กœ๋งŒ ๊ฒฐ๊ณผ๊ฐ€ ํ๋ฆ…๋‹ˆ๋‹ค.

PART 3 ยท ๋ฉ€ํ‹ฐ์—์ด์ „ํŠธ ์ƒํƒœ ๊ณต์œ 

ํŒจํ„ด๋ณ„ ์ƒํƒœ ๊ณต์œ 

์—์ด์ „ํŠธ A์˜ ๊ฒฐ๊ณผ๋ฅผ ์—์ด์ „ํŠธ B๊ฐ€ ์•Œ์•„์•ผ ํ•  ๋•Œ

Agents-as-Tools
  • ์ž์‹ ์—์ด์ „ํŠธ ๊ฒฐ๊ณผ๊ฐ€ ๋ถ€๋ชจ์˜ toolResult๋กœ ์‚ฝ์ž…
  • ๋‹จ๋ฐฉํ–ฅ โ€” ๋ถ€๋ชจ๋งŒ ์ž์‹ ๊ฒฐ๊ณผ๋ฅผ ๋ด„
  • ๊ฐ€์žฅ ๋‹จ์ˆœํ•œ ํŒจํ„ด
Swarm
  • ํ•ธ๋“œ์˜คํ”„ ์‹œ ์ด์ „ ์—์ด์ „ํŠธ์˜ ์ž‘์—… ๋งฅ๋ฝ์ด ์ž๋™ ๋ˆ„์ 
  • Shared Context โ€” ํ•ธ๋“œ์˜คํ”„๋  ๋•Œ๋งˆ๋‹ค ์Œ“์ž„
  • messages[]๋Š” ๋ณต์‚ฌ ์•ˆ ๋จ โ€” Context๋งŒ ์ „๋‹ฌ
Graph
  • ์ด์ „ ๋…ธ๋“œ ์ถœ๋ ฅ์ด ์—ฃ์ง€๋ฅผ ๋”ฐ๋ผ ์—ฐ๊ฒฐ ๋…ธ๋“œ์˜ ์ž…๋ ฅ์œผ๋กœ ์ „ํŒŒ
  • Output Propagation โ€” DAG ์˜์กด์„ฑ ๋ฐฉํ–ฅ์œผ๋กœ๋งŒ ํ๋ฆ„
  • ๋ณ‘๋ ฌ ๋…ธ๋“œ ๊ฐ„์—๋Š” ๊ณต์œ  ์•ˆ ๋จ
PART 3 ยท ๋ฉ€ํ‹ฐ์—์ด์ „ํŠธ ์ƒํƒœ ๊ณต์œ 

๊ณต์œ  ์•ˆ ๋˜๋Š” ๊ฒƒ

์—์ด์ „ํŠธ ๊ฐ„ ์ง์ ‘ ์ ‘๊ทผ์ด ๋ถˆ๊ฐ€๋Šฅํ•œ ์ƒํƒœ

agent.state๋Š” ์ธ์Šคํ„ด์Šค ๊ท€์†

agent.state๋Š” ํ•ด๋‹น ์—์ด์ „ํŠธ์—๋งŒ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์—์ด์ „ํŠธ๊ฐ€ ์ง์ ‘ ์ฝ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๊ณต์œ ํ•˜๋ ค๋ฉด ๋„๊ตฌ ๋ฐ˜ํ™˜๊ฐ’์œผ๋กœ ๊บผ๋‚ด๊ฑฐ๋‚˜, ์™ธ๋ถ€ ์ €์žฅ์†Œ(AgentCore Memory, DynamoDB)๋ฅผ ๊ฒฝ์œ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ƒํƒœ์ธ์Šคํ„ด์Šค ๊ฐ„ ๊ณต์œ ๊ณต์œ  ๋ฐฉ๋ฒ•
agent.stateโœ— ์ง์ ‘ ์ ‘๊ทผ ๋ถˆ๊ฐ€๋„๊ตฌ ๋ฐ˜ํ™˜๊ฐ’ / ์™ธ๋ถ€ ์ €์žฅ์†Œ
messages[]โœ— ๋ณต์‚ฌ ์•ˆ ๋จShared Context(Swarm) / Output(Graph)
invocation_stateโ–ณ ์ „ํŒŒ ๊ฐ€๋Šฅ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ดํ„ฐ๊ฐ€ ์ž์‹ ํ˜ธ์ถœ ์‹œ ๋™์ผ dict ์ „๋‹ฌ

์—์ด์ „ํŠธ ํ”„๋กฌํ”„ํŠธ ์„ค๊ณ„

์ผ๋ฐ˜ 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 ยท ํ–‰๋™ ๊ทœ์น™