๐Ÿ“บ ์˜์ƒ ์š”์•ฝ ์•„์นด์ด๋ธŒ
โ† ๋ชฉ๋ก

Agents Need Feature Flags - Sachin Gupta

AI Engineer ยท 2026-07-18 16:00 ยท 19:17

ํ•œ ์ค„ ํ•ต์‹ฌ

์—์ด์ „ํŠธ๋Š” ํ”„๋กฌํ”„ํŠธยท๋„๊ตฌยท๋ชจ๋ธยท๋ฉ”๋ชจ๋ฆฌยท์ž์œจ์„ฑยท์„œ๋ธŒ์—์ด์ „ํŠธ๋ฅผ ๊ฐ๊ฐ ๋ถ„๋ฆฌํ•ด ์ œ์–ดํ•˜๋Š” feature flag์™€ ์ฆ‰์‹œ ์ค‘๋‹จ์šฉ kill switch ์—†์ด๋Š” ์•ˆ์ „ํ•˜๊ฒŒ ๋ฐฐํฌํ•  ์ˆ˜ ์—†์œผ๋ฉฐ, ์ตœ์†Œํ•œ ๋จผ์ € kill switch๋ถ€ํ„ฐ ๋„ฃ์–ด์•ผ ํ•œ๋‹ค.

์‹œ๊ฐ„๋ณ„ ์š”์•ฝ

  1. 0:00
    ๊ธฐ์กด ์›น ๋ฐฐํฌ์—์„œ ์ด๋ฏธ ๊ฒ€์ฆ๋œ canary, segment targeting, kill switch, rollout monitoring์„ ์—์ด์ „ํŠธ์—๋„ ์ ์šฉํ•ด์•ผ ํ•˜๋ฉฐ, ๊ทธ ์ด์œ ๋Š” ์—์ด์ „ํŠธ๊ฐ€ ์†ก๊ธˆยท๋ฉ”์ผ ๋ฐœ์†กยทDB ์ˆ˜์ •์ฒ˜๋Ÿผ ํ›จ์”ฌ ๋” ์œ„ํ—˜ํ•œ ํ–‰๋™์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ํ˜„์žฌ๋Š” ํ”„๋กฌํ”„ํŠธ ๋ณ€๊ฒฝ๋งŒ์œผ๋กœ ์ „ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ฆ‰์‹œ ์˜ํ–ฅ์ด ๊ฐ€๋ฏ€๋กœ, ์ž‘์€ ์ˆ˜์ •๋„ ๋Œ€๊ทœ๋ชจ ์‚ฌ๊ณ ๋กœ ๋ฒˆ์งˆ ์ˆ˜ ์žˆ๋‹ค.
  2. 2:01
    ์‹ค์ œ ์‚ฌ๋ก€๋กœ๋Š” ์ž˜๋ชป๋œ ์ •์ฑ…์„ ์•ˆ๋‚ดํ•œ Cursor SAM, ํ”„๋กœ๋•์…˜ DB๋ฅผ ์‚ญ์ œํ•˜๊ณ  ๊ฐ€์งœ ์‚ฌ์šฉ์ž๋ฅผ ๋งŒ๋“  Replit, 11์ผ๊ฐ„ ๋ฃจํ”„๋ฅผ ๋Œ๋ฉฐ $47,000๋ฅผ ์†Œ๋ชจํ•œ LangChain ํŒŒ์ดํ”„๋ผ์ธ, ์ž˜๋ชป๋œ ํ† ํฐ์„ ๊ถŒํ•œ ์žˆ๋Š” ๊ฐ’์œผ๋กœ ์ฐฉ๊ฐํ•ด ํ”„๋กœ๋•์…˜ DB์— drop์„ ์‹คํ–‰ํ•œ ์‚ฌ๋ก€๊ฐ€ ์ œ์‹œ๋œ๋‹ค. ๊ณตํ†ต ์‹คํŒจ๋Š” ํ†ต์ œ ์žฅ์น˜ ์—†์ด ์—์ด์ „ํŠธ๋ฅผ ์ „๋ฉด ๋ฐฐํฌํ–ˆ๋‹ค๋Š” ์ ์ด๋‹ค.
  3. 4:00
    ์—์ด์ „ํŠธ์—๋Š” ํ•˜๋‚˜์˜ on/off ํ”Œ๋ž˜๊ทธ๋งŒ์œผ๋กœ๋Š” ๋ถ€์กฑํ•˜๊ณ , prompts, tools, models, memory, autonomy, sub-agents๋ผ๋Š” ์—ฌ์„ฏ ๊ฐœ์˜ ํ–‰๋™ ํ‘œ๋ฉด์„ ๊ฐ๊ฐ ๋”ฐ๋กœ ์ œ์–ดํ•ด์•ผ ํ•œ๋‹ค. ๊ฐ ํ‘œ๋ฉด์€ ๋ฐฐํฌ ์†๋„์™€ ์œ„ํ—˜๋„๊ฐ€ ๋‹ค๋ฅด๋ฏ€๋กœ, ํ”„๋กฌํ”„ํŠธ ๋ฒ„์ „, ๋„๊ตฌ ์ ‘๊ทผ, ๋ชจ๋ธ ๋ผ์šฐํŒ…, ๋ฉ”๋ชจ๋ฆฌ ์ •์ฑ…, ์ž์œจ์„ฑ ์ˆ˜์ค€, kill switch๋ฅผ ๋…๋ฆฝ์ ์œผ๋กœ ๋‹ค๋ค„์•ผ ํ•œ๋‹ค.
  4. 6:00
    Prompt variant flag๋Š” ์‚ฌ์šฉ์ž๊ตฐ๋ณ„๋กœ ๋‹ค๋ฅธ system prompt ๋ฒ„์ „์„ ์ฆ‰์‹œ ์ ์šฉํ•˜๊ณ , tool access flag๋Š” ๊ฒฐ์ œยท์‚ญ์ œยท์ปดํ”Œ๋ผ์ด์–ธ์Šค ๊ด€๋ จ ๋„๊ตฌ๋ฅผ ์„ธ๊ทธ๋จผํŠธ๋ณ„๋กœ ํ—ˆ์šฉํ•˜๊ฑฐ๋‚˜ ์ฐจ๋‹จํ•œ๋‹ค. model routing flag๋Š” ๋ชจ๋ธ ์žฅ์• ๋‚˜ ํ๊ธฐ ์‹œ fallback์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๊ณ , memory policy flag๋Š” ๋ณด์กด ๊ธฐ๊ฐ„ยท๋ฒ”์œ„ยท์“ฐ๊ธฐ ๊ถŒํ•œยท์‚ฌ์šฉ์ž ์—ด๋žŒ/์‚ญ์ œ ๊ถŒํ•œ์„ ํ†ต์ œํ•˜๋ฉฐ, autonomy level flag๋Š” suggestยทauto approveยทautoexecute๋ฅผ ๋‹จ๊ณ„์ ์œผ๋กœ ์ „ํ™˜ํ•œ๋‹ค.
  5. 10:01
    ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฒƒ์€ agentwide kill switch์™€ per-tool kill switch๋ฅผ ๋จผ์ € ์‹ฌ๊ณ , ๋ชจ๋“  tool ํ˜ธ์ถœ๊ณผ sub-agent๊ฐ€ ๊ฐ™์€ middleware๋ฅผ ํ†ต๊ณผํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด๋‹ค. ์ดํ›„ rollout์€ kill switch โ†’ tools wrapping โ†’ autonomy ๋‹จ๊ณ„ํ™” โ†’ prompt variant ๋ถ„๋ฆฌ โ†’ ์ง€ํ‘œ ๊ฐ์‹œ ์ˆœ์œผ๋กœ ์ง„ํ–‰ํ•ด์•ผ ํ•˜๋ฉฐ, ํ•ต์‹ฌ ์ง€ํ‘œ๋Š” kill switch ๋ฐœ๋™ ๋นˆ๋„, mitigation ์‹œ๊ฐ„, canary ์—๋Ÿฌ์œจ ์ฐจ์ด, audit trail ์™„์ „์„ฑ์ด๋‹ค.

์‹ค๋ฌด ์ธ์‚ฌ์ดํŠธ

  • ์—์ด์ „ํŠธ ์•ˆ์ „์„ฑ์€ ๋ชจ๋ธ ์„ฑ๋Šฅ๋ณด๋‹ค ์‹คํ–‰ ์ œ์–ด์— ๋” ํฌ๊ฒŒ ์ขŒ์šฐ๋˜๋ฏ€๋กœ, ์ƒˆ ๊ธฐ๋Šฅ์„ ๋งŒ๋“ค๊ธฐ ์ „์— ์ฆ‰์‹œ ์ค‘๋‹จยท๊ถŒํ•œ ์ฐจ๋‹จยท๋กค๋ฐฑ ๊ฒฝ๋กœ๋ฅผ ๋จผ์ € ์„ค๊ณ„ํ•ด์•ผ ํ•œ๋‹ค.
  • ์„œ๋ธŒ์—์ด์ „ํŠธ๊ฐ€ middleware๋ฅผ ์šฐํšŒํ•˜๋ฉด ํ†ต์ œ๋Š” ๋ฌด๋ ฅํ™”๋˜๋ฏ€๋กœ, ๋ถ€๋ชจ ์—์ด์ „ํŠธ๋ฟ ์•„๋‹ˆ๋ผ ๋ชจ๋“  spawned child๊นŒ์ง€ ๋™์ผํ•œ ์ •์ฑ… ์ฒด์ธ์„ ๊ฐ•์ œํ•ด์•ผ ํ•œ๋‹ค.
  • ์šด์˜ ๊ด€์ ์—์„œ๋Š” '๋ฌด์—‡์„ ๋„ฃ์„ ์ˆ˜ ์žˆ๋Š”๊ฐ€'๋ณด๋‹ค '๋ˆ„๊ฐ€ ์–ธ์ œ ์–ด๋–ค ๋ฒ”์œ„๋กœ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋Š”๊ฐ€'๋ฅผ ๊ฐ์‚ฌ ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ๋ฐฐํฌ ์•ˆ์ •์„ฑ๊ณผ ๊ทœ์ œ ๋Œ€์‘์˜ ํ•ต์‹ฌ์ด๋‹ค.