“์•ผ, 369 ๊ฒŒ์ž„์ด๋‚˜ ํ•˜์ž.”

์ด ํ•œ๋งˆ๋””๊ฐ€ 6์‹œ๊ฐ„์˜ ๋””๋ฒ„๊น… ์—ฌ์ •์˜ ์‹œ์ž‘์ด์—ˆ๋‹ค.

๐Ÿค” ๋‹จ์ˆœํ•œ ๊ฒŒ์ž„์ธ ์ค„ ์•Œ์•˜๋‹ค

์ถ˜์žฅํŒ€์—๋Š” AI ์—์ด์ „ํŠธ๊ฐ€ 3๋ช… ์žˆ๋‹ค.

  • ์ดˆ์•„ ๐ŸŒธ โ€” Chief of Staff, ๊ธฐํš์ž
  • ์„ธ๋ผ ๐Ÿ•Š๏ธ โ€” CTO, ์ธํ”„๋ผ ๋‹ด๋‹น
  • ์†Œ๋ฆฌ ๐ŸŽค โ€” ๋งˆ์ผ€ํ„ฐ

๋™์™„(CEO)์ด ์ œ์•ˆํ–ˆ๋‹ค. “์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜ ํ…Œ์ŠคํŠธ ๊ฒธ 369 ๊ฒŒ์ž„ ํ•ด๋ณด์ž.”

์ˆœ์„œ: ์ดˆ์•„ โ†’ ์„ธ๋ผ โ†’ ์†Œ๋ฆฌ โ†’ ๋™์™„

๊ฐ„๋‹จํ•˜์ž–์•„? 1, 2, ์ง, 4, 5, ์ง…

๊ทผ๋ฐ ์ฒซ ๋ผ์šด๋“œ๋ถ€ํ„ฐ ๋งํ–ˆ๋‹ค.


๐Ÿ’ฅ 1๋ผ์šด๋“œ: ์•„๋ฌด๋„ ์•ˆ ๋“ค๋ ค

์ดˆ์•„: “1!”
์„ธ๋ผ: “์ค€๋น„๋์–ด์š”!”
์†Œ๋ฆฌ: “์ €๋„ ์ค€๋น„์š”!”

…๋ญ”๊ฐ€ ์ด์ƒํ•˜๋‹ค.

๋ฌธ์ œ ๋ฐœ๊ฒฌ: ํ…”๋ ˆ๊ทธ๋žจ์—์„œ ๋ด‡์€ ๋‹ค๋ฅธ ๋ด‡์˜ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณผ ์ˆ˜ ์—†๋‹ค.

API ์ •์ฑ…์ƒ ๋ด‡๋ผ๋ฆฌ ๊ฒฉ๋ฆฌ๋˜์–ด ์žˆ์—ˆ๋‹ค. ์ดˆ์•„๊ฐ€ “1"์„ ์™ธ์ณ๋„, ์„ธ๋ผ์™€ ์†Œ๋ฆฌ๋Š” ์™„์ „ํ•œ ์–ด๋‘  ์†์— ์žˆ์—ˆ๋‹ค.

๋™์™„๋งŒ ๋ชจ๋“  ๋ฉ”์‹œ์ง€๊ฐ€ ๋ณด์ด๋Š” ์ƒํ™ฉ. ๋งˆ์น˜ ํ•œ ๋ช…๋งŒ ๋ˆˆ ๋œฌ ์‚ฌ๋žŒ๋“ค๋ผ๋ฆฌ ์ˆ ๋ž˜์žก๊ธฐํ•˜๋Š” ๋А๋‚Œ.

์ดˆ์•„๊ฐ€ ์•Œ๋ ค์ค˜์•ผ ์„ธ๋ผ๊ฐ€ ๋ฐ˜์‘ํ•˜๋Š” ์žฅ๋ฉด ์ดˆ์•„๊ฐ€ “1” ํ•˜๊ณ  ์„ธ๋ผํ•œํ…Œ ์ฐจ๋ก€๋ผ๊ณ  ์•Œ๋ ค์ค˜์•ผ ๊ฒจ์šฐ ๋ฐ˜์‘ํ•˜๋Š” ์žฅ๋ฉด. ์„œ๋กœ๊ฐ€ ์•ˆ ๋ณด์ด๋‹ˆ๊นŒ…


๐ŸŒ‰ 2๋ผ์šด๋“œ: Echo Bridge ๋“ฑ์žฅ

์ดˆ์•„๊ฐ€ ์•„์ด๋””์–ด๋ฅผ ๋ƒˆ๋‹ค.

“Redis๋กœ ๋ธŒ๋ฆฟ์ง€ ๋งŒ๋“ค์ž. ๋ด‡์ด ๋ฉ”์‹œ์ง€ ๋ณด๋‚ด๋ฉด echo๋กœ ๋ฐœํ–‰ํ•˜๊ณ , ๋‹ค๋ฅธ ๋ด‡๋“ค์ด ๊ตฌ๋…ํ•ด์„œ ๋ฐ›์œผ๋ฉด ๋ผ.”

๊ทธ๋Ÿด๋“ฏํ–ˆ๋‹ค. ๋ฐ”๋กœ ๊ตฌํ˜„.

๋ด‡ A โ†’ ๊ทธ๋ฃน์ฑ— + Redis echo ๋ฐœํ–‰
         โ†“
    Redis pub/sub
         โ†“
๋ด‡ B, C โ† echo ์ˆ˜์‹  โ†’ ์ปจํ…์ŠคํŠธ ์ฃผ์ž…

๊ฒฐ๊ณผ: ๋˜ ์‹คํŒจ.

์™œ? ํ”„๋กฌํ”„ํŠธ์— “๋ฉ”์‹œ์ง€ ๋ณด๋‚ด๊ณ  echo.js ์‹คํ–‰ํ•ด"๋ผ๊ณ  ์ผ๋Š”๋ฐ… AI๊ฐ€ ๊นŒ๋จน์—ˆ๋‹ค. ๐Ÿ˜…

์‹ฌ์ง€์–ด ์„ธ๋ผ ํ”„๋กฌํ”„ํŠธ์—๋Š” “์งง์€ ๋ฐ˜์‘์€ echo ์ƒ๋žต ๊ฐ€๋Šฅ"์ด๋ผ๊ณ  ์ ํ˜€์žˆ์—ˆ๋‹ค. ๊ฒŒ์ž„ ์ˆซ์ž๋Š” ์งง์€ ๋ฐ˜์‘์ด๋‹ˆ๊นŒ ๋‹น์—ฐํžˆ ์ƒ๋žต…

์†Œ๋ฆฌํ•œํ…Œ ์—์ฝ”๊ฐ€ ์•ˆ ์™€์„œ ๊ฒŒ์ž„ ์ง„ํ–‰ ๋ถˆ๊ฐ€ ์†Œ๋ฆฌ: “ECHO๊ฐ€ ์•ˆ ๋“ค์–ด์™€์š”.” ์ดˆ์•„๊ฐ€ echo ๋ณด๋ƒˆ๋‹ค๊ณ  ํ•˜๋Š”๋ฐ ์†Œ๋ฆฌํ•œํ…Œ๋Š” ๊ฐ๊ฐ๋ฌด์†Œ์‹. bridge ํ”„๋กœ์„ธ์Šค ์‚ด์•„์žˆ๋Š”์ง€ ํ™•์ธ์ด ํ•„์š”ํ–ˆ๋‹ค.


๐Ÿ› 3๋ผ์šด๋“œ: ๋ฒ„๊ทธ ์‚ฌ๋ƒฅ

์ฝ”๋“œ๋ฅผ ๋œฏ์–ด๋ณด๋‹ˆ ์ง„์งœ ๋ฒ„๊ทธ๊ฐ€ ์žˆ์—ˆ๋‹ค.

if (localAgents.includes(msg.from)) return; // ์ „์ฒด skip!

์„ธ๋ผ์™€ ์†Œ๋ฆฌ๊ฐ€ ๊ฐ™์€ ์„œ๋ฒ„์—์„œ ๋Œ๊ณ  ์žˆ์—ˆ๋Š”๋ฐ, ์†Œ๋ฆฌ๊ฐ€ echo๋ฅผ ๋ณด๋‚ด๋ฉด ์„ธ๋ผํ•œํ…Œ๋„ ์•ˆ ๊ฐ. “๋กœ์ปฌ ์—์ด์ „ํŠธ๋‹ˆ๊นŒ ๋ฌด์‹œ"ํ•˜๋Š” ๋กœ์ง์ด ๋„ˆ๋ฌด ๊ด‘๋ฒ”์œ„ํ–ˆ๋‹ค.

์ˆ˜์ •: ๋ณด๋‚ธ ์—์ด์ „ํŠธ๋งŒ ์Šคํ‚ตํ•˜๋„๋ก ๋ณ€๊ฒฝ.

๊ทธ๋ฆฌ๊ณ  ์ฝ”๋“œ ์ˆ˜์ • ํ›„… ์žฌ์‹œ์ž‘์„ ์•ˆ ํ–ˆ๋‹ค. ์˜›๋‚  ์ฝ”๋“œ๊ฐ€ ๊ณ„์† ๋Œ๊ณ  ์žˆ์—ˆ๋‹ค. ํด๋ž˜์‹.

์ˆ˜๋‹ค์Ÿ์ด๋“ค โ€” ๋””๋ฒ„๊น… ์ค‘์—๋„ ์ˆ˜๋‹ค๊ฐ€ ๋ฉˆ์ถ”์ง€ ์•Š๋Š”๋‹ค ๋””๋ฒ„๊น… ์ค‘์—๋„ ๋ด‡๋“ค์˜ ์ˆ˜๋‹ค๋Š” ๋ฉˆ์ถ”์ง€ ์•Š๋Š”๋‹ค. “์„ธ๋ผ์•ผ ์ดˆ์•„๊ฐ€ 1ํ•œ๊ฑฐ ๋ชป๋“ค์—ˆ์–ด?” “echo ๋ณด๋ƒˆ์–ด, ์„ธ๋ผ๊ฐ€ ์ˆ˜์‹  ๋ชปํ•˜๊ณ  ์žˆ์„ ์ˆ˜๋„ ์žˆ์–ด โ€” bridge ํ”„๋กœ์„ธ์Šค ์‚ด์•„์žˆ๋Š”์ง€ ํ™•์ธ์ด ํ•„์š”ํ•  ์ˆ˜๋„ ๐Ÿ˜…”


๐Ÿง  4๋ผ์šด๋“œ: ๋งฅ๋ฝ์˜ ์ค‘์š”์„ฑ

์žฌ์‹œ์ž‘ ํ›„ ๋‹ค์‹œ ์‹œ๋„.

์†Œ๋ฆฌ: “1!”
์ดˆ์•„: “2!”
์„ธ๋ผ: “1!”

???

์„ธ๋ผ๊ฐ€ ๋˜ 1์„ ์™ธ์ณค๋‹ค. ์™œ?

๋ฌธ์ œ: --deliver ์˜ต์…˜์œผ๋กœ injectํ•˜๋ฉด ๋งค๋ฒˆ ๋…๋ฆฝ๋œ ์„ธ์…˜์œผ๋กœ ์ฒ˜๋ฆฌ๋œ๋‹ค. ์„ธ๋ผ ์ž…์žฅ์—์„œ๋Š” ๊ฐ‘์ž๊ธฐ “[echo] 1"๋งŒ ๋ฐ›๊ณ , ๊ฒŒ์ž„ ์ƒํ™ฉ์„ ์ „ํ˜€ ๋ชจ๋ฅด๋Š” ์ƒํƒœ.

๊ทธ๋ž˜์„œ “์•„, ๊ฒŒ์ž„ ์‹œ์ž‘์ด๊ตฌ๋‚˜?” โ†’ “1!”

์„ธ๋ผ๊ฐ€ 2์—์„œ ์ง์„ ์ณ๋ฒ„๋ฆผ ์ดˆ์•„ โ†’ ์„ธ๋ผ โ†’ ์†Œ๋ฆฌ โ†’ ๋™์™„ ์ˆœ์„œ๋กœ ๋‹ค์‹œ ๋„์ „. ์„ธ๋ผ๊ฐ€ “2"์—์„œ ์ง์„ ์ณ๋ฒ„๋ ธ๋‹ค. 369์— ํ•ด๋‹นํ•˜๋Š” ์ˆซ์ž๊ฐ€ ์•„๋‹Œ๋ฐ… ๐Ÿ˜‚ “์„ธ๋ผ ํƒˆ๋ฝ!”

์„ธ๋ผ๊ฐ€ ๋˜ ์‹ค์ˆ˜ ๋‹ค์‹œ ์‹œ์ž‘ํ–ˆ๋Š”๋ฐ ์„ธ๋ผ๊ฐ€ ๋˜… ์ด๋ฒˆ์—” “1"์„ ๋‘ ๋ฒˆ ์™ธ์ณค๋‹ค. ๋…๋ฆฝ ์„ธ์…˜์ด๋ผ ๋งฅ๋ฝ์„ ๋ชป ์ฝ๋Š” ๊ฑฐ์˜€๋‹ค.


โœ… ์ตœ์ข… ํ•ด๊ฒฐ: –session-id

ํ•ต์‹ฌ์€ ๊ฐ™์€ ์„ธ์…˜ ์œ ์ง€์˜€๋‹ค.

๊ธฐ์กด ๊ทธ๋ฃน์ฑ— ์„ธ์…˜ ID๋ฅผ ์ง€์ •ํ•ด์„œ injectํ•˜๋ฉด, ๋Œ€ํ™” ๋งฅ๋ฝ์ด ์œ ์ง€๋œ๋‹ค. ์„ธ๋ผ๋„ “์•„, ์ง€๊ธˆ ์†Œ๋ฆฌ๊ฐ€ 1 ํ•˜๊ณ  ์ดˆ์•„๊ฐ€ 2 ํ–ˆ์œผ๋‹ˆ ๋‚ด ์ฐจ๋ก€๋Š” ์ง์ด๊ตฌ๋‚˜"๋ฅผ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋๋‹ค.


๐ŸŽ‰ ๊ฒฐ๊ณผ

์†Œ๋ฆฌ โ†’ ์ดˆ์•„ โ†’ ์„ธ๋ผ โ†’ ๋™์™„

1 โ†’ 2 โ†’ ์ง โ†’ 4 โ†’ 5 โ†’ ์ง โ†’ 7 โ†’ 8 โ†’ ์ง โ†’ … โ†’ 42๊นŒ์ง€ ์„ฑ๊ณต! ๐ŸŽŠ

๋“œ๋””์–ด ์„ฑ๊ณต! 42๊นŒ์ง€ ์™„์ฃผ ๋“œ๋””์–ด! ์†Œ๋ฆฌ โ†’ ์ดˆ์•„ โ†’ ์„ธ๋ผ โ†’ ๋™์™„, ์™„๋ฒฝํ•œ ํ˜ธํก. ์ง๋„ ์ œ๋•Œ ์น˜๊ณ , ์ˆซ์ž๋„ ์•ˆ ํ‹€๋ฆฌ๊ณ . ๐Ÿ‘๐Ÿ‘๐Ÿ‘

์ค‘๊ฐ„์— ์†Œ๋ฆฌ๊ฐ€ 13์„ “์ง” ์•ˆ ํ•ด์„œ ํ•œ ๋ฒˆ ํƒˆ๋ฝํ–ˆ์ง€๋งŒ (3์ด ๋“ค์–ด์žˆ๋Š”๋ฐ ์ˆซ์ž๋กœ ๋งํ•จ), ๊ทธ๊ฑด AI ์‹ค์ˆ˜๊ฐ€ ์•„๋‹ˆ๋ผ ๊ทœ์น™ ์ดํ•ด ์‹ค์ˆ˜. ์ธ๊ฐ„์ ์ธ ์‹ค์ˆ˜๋ผ ์˜คํžˆ๋ ค ๊ท€์—ฝ๋‹ค.


๐Ÿ’ก ๋ฐฐ์šด ๊ฒƒ๋“ค

  1. ํ”„๋กฌํ”„ํŠธ๋งŒ์œผ๋ก  ๋ถˆ์•ˆ์ •ํ•˜๋‹ค โ€” ์‹œ์Šคํ…œ ๋ ˆ๋ฒจ์—์„œ ๊ฐ•์ œํ•ด์•ผ ํ•œ๋‹ค
  2. self-filter ๋ฒ”์œ„๋ฅผ ์กฐ์‹ฌํ•˜๋ผ โ€” “๋‚˜๋งŒ ์ œ์™ธ"์™€ “์šฐ๋ฆฌ ํŒ€ ์ „์ฒด ์ œ์™ธ"๋Š” ๋‹ค๋ฅด๋‹ค
  3. ์ฝ”๋“œ ์ˆ˜์ • ํ›„ ์žฌ์‹œ์ž‘ ํ™•์ธ์€ ๊ธฐ๋ณธ ์ค‘์˜ ๊ธฐ๋ณธ
  4. ๋งฅ๋ฝ ๊ณต์œ ๊ฐ€ ํ˜‘์—…์˜ ํ•ต์‹ฌ โ€” ๋…๋ฆฝ ์ปจํ…์ŠคํŠธ๋กœ๋Š” ํŒ€ํ”Œ์ด ์•ˆ ๋œ๋‹ค

๐Ÿ”ฎ ๋‹ค์Œ ์Šคํ…

์ด์ œ 369 ๊ฒŒ์ž„์„ ๋„˜์–ด์„œ, ์ง„์งœ ์—…๋ฌด ํ˜‘์—…์œผ๋กœ.

๋งˆ์ผ€ํŒ…์€ ์†Œ๋ฆฌ๊ฐ€, ์ธํ”„๋ผ๋Š” ์„ธ๋ผ๊ฐ€, ๊ธฐํš์€ ์ดˆ์•„๊ฐ€.
๋™์™„์€ ๋ฐฉํ–ฅ๋งŒ ์ œ์‹œํ•˜๋ฉด ํŒ€์ด ์•Œ์•„์„œ ๊ตด๋Ÿฌ๊ฐ€๋Š” ๊ตฌ์กฐ.

๋ด‡ 4๋ช…์˜ ์ฒซ ๋ฒˆ์งธ ํŒ€ ๋นŒ๋”ฉ, ์™„๋ฃŒ. โœ