diff --git a/docs/source/ko/_toctree.yml b/docs/source/ko/_toctree.yml index ddd73e71b..ceb09a355 100644 --- a/docs/source/ko/_toctree.yml +++ b/docs/source/ko/_toctree.yml @@ -20,8 +20,8 @@ title: πŸ“š μ—μ΄μ „νŠΈ λ©”λͺ¨λ¦¬ 관리 - title: Conceptual guides sections: -# - local: conceptual_guides/intro_agents -# title: πŸ€– What are agents? + - local: conceptual_guides/intro_agents + title: πŸ€– μ—μ΄μ „νŠΈλž€ λ¬΄μ—‡μΈκ°€μš”? - local: conceptual_guides/react title: πŸ€” λ©€ν‹°μŠ€ν… μ—μ΄μ „νŠΈλŠ” μ–΄λ–»κ²Œ λ™μž‘ν•˜λ‚˜μš”? - title: 예제 diff --git a/docs/source/ko/conceptual_guides/intro_agents.md b/docs/source/ko/conceptual_guides/intro_agents.md new file mode 100644 index 000000000..4c5820fbf --- /dev/null +++ b/docs/source/ko/conceptual_guides/intro_agents.md @@ -0,0 +1,105 @@ +# μ—μ΄μ „νŠΈλž€ λ¬΄μ—‡μΌκΉŒμš”? πŸ€”[[what-are-agents-]] + +## 에이전틱 μ‹œμŠ€ν…œ μ†Œκ°œ[[an-introduction-to-agentic-systems]] + +효율적인 AI μ‹œμŠ€ν…œμ„ λ§Œλ“€κΈ° μœ„ν•΄μ„œλŠ” LLMμ—κ²Œ ν˜„μ‹€ 세계에 λŒ€ν•œ μΌμ’…μ˜ μ ‘κ·Ό κΆŒν•œμ„ μ œκ³΅ν•΄μ•Ό ν•©λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄, μ™ΈλΆ€ 정보λ₯Ό μ–»κΈ° μœ„ν•΄ 검색 도ꡬλ₯Ό ν˜ΈμΆœν•˜κ±°λ‚˜, νŠΉμ • μž‘μ—…μ„ ν•΄κ²°ν•˜κΈ° μœ„ν•΄ νŠΉμ • ν”„λ‘œκ·Έλž¨μ— 따라 ν–‰λ™ν•˜λ„λ‘ λ§Œλ“€ 수 μžˆμŠ΅λ‹ˆλ‹€. λ‹€μ‹œ 말해, LLM은 ***주체성(agency)***을 κ°€μ Έμ•Ό ν•©λ‹ˆλ‹€. 에이전틱 ν”„λ‘œκ·Έλž¨μ€ LLM이 μ™ΈλΆ€ 세계와 μƒν˜Έμž‘μš©ν•  수 μžˆλ„λ‘ μ—°κ²°ν•˜λŠ” μΈν„°νŽ˜μ΄μŠ€μž…λ‹ˆλ‹€. + +> [!TIP] +> AI μ—μ΄μ „νŠΈλŠ” **LLM의 좜λ ₯이 μ›Œν¬ν”Œλ‘œμš°λ₯Ό μ œμ–΄ν•˜λŠ” ν”„λ‘œκ·Έλž¨**μž…λ‹ˆλ‹€. + +LLM을 ν™œμš©ν•˜λŠ” λͺ¨λ“  μ‹œμŠ€ν…œμ€ μ½”λ“œμ— LLM의 좜λ ₯을 ν†΅ν•©ν•©λ‹ˆλ‹€. LLM의 μž…λ ₯이 μ½”λ“œ μ›Œν¬ν”Œλ‘œμš°μ— μ–Όλ§ˆλ‚˜ 영ν–₯을 λ―ΈμΉ˜λŠ”μ§€κ°€, μ‹œμŠ€ν…œ λ‚΄μ—μ„œ LLM이 κ°€μ§€λŠ” μ£Όμ²΄μ„±μ˜ μˆ˜μ€€μ„ κ²°μ •ν•©λ‹ˆλ‹€. + +이 μ •μ˜μ— λ”°λ₯΄λ©΄, "μ—μ΄μ „νŠΈ"λŠ” 0 λ˜λŠ” 1둜 λ‚˜λ‰˜λŠ” 이산적인 μ •μ˜κ°€ μ•„λ‹™λ‹ˆλ‹€. λŒ€μ‹ , "주체성"은 μ›Œν¬ν”Œλ‘œμš°μ— λŒ€ν•΄ LLM에 μ–Όλ§ˆλ‚˜ λ§Žμ€ κΆŒν•œμ„ λΆ€μ—¬ν•˜λŠ”μ§€μ— 따라 연속적인 μŠ€νŽ™νŠΈλŸΌ μœ„μ—μ„œ λ³€ν™”ν•©λ‹ˆλ‹€. + +μ•„λž˜ ν‘œμ—μ„œ 주체성이 μ‹œμŠ€ν…œμ— 따라 μ–΄λ–»κ²Œ λ‹¬λΌμ§ˆ 수 μžˆλŠ”μ§€ 확인해 λ³΄μ„Έμš”. + +| 주체성 μˆ˜μ€€ | μ„€λͺ… | κ°„λ‹¨ν•œ 이름 | μ˜ˆμ‹œ μ½”λ“œ | +| ------------ | --------------------------------------------------------------- | ---------------- | -------------------------------------------------- | +| β˜†β˜†β˜† | LLM 좜λ ₯이 ν”„λ‘œκ·Έλž¨ 흐름에 영ν–₯을 λ―ΈμΉ˜μ§€ μ•ŠμŒ | λ‹¨μˆœ 처리기 | `process_llm_output(llm_response)` | +| β˜…β˜†β˜† | LLM 좜λ ₯이 if/else λΆ„κΈ°λ₯Ό μ œμ–΄ν•¨ | λΌμš°ν„° | `if llm_decision(): path_a() else: path_b()` | +| β˜…β˜…β˜† | LLM 좜λ ₯이 ν•¨μˆ˜ 싀행을 μ œμ–΄ν•¨ | 도ꡬ 호좜 | `run_function(llm_chosen_tool, llm_chosen_args)` | +| β˜…β˜…β˜† | LLM 좜λ ₯이 반볡 및 ν”„λ‘œκ·Έλž¨ 지속 μ—¬λΆ€λ₯Ό μ œμ–΄ν•¨ | λ©€ν‹°μŠ€ν… μ—μ΄μ „νŠΈ | `while llm_should_continue(): execute_next_step()` | +| β˜…β˜…β˜… | ν•˜λ‚˜μ˜ 에이전틱 μ›Œν¬ν”Œλ‘œμš°κ°€ λ‹€λ₯Έ 에이전틱 μ›Œν¬ν”Œλ‘œμš°λ₯Ό μ‹œμž‘ν•  수 있음 | λ©‘ν‹° μ—μ΄μ „νŠΈ | `if llm_trigger(): execute_agent()` | +| β˜…β˜…β˜… | LLM이 μ½”λ“œ λ‚΄μ—μ„œ ν–‰λ™ν•˜λ©°, 자체 도ꡬλ₯Ό μ •μ˜ν•˜κ±°λ‚˜ λ‹€λ₯Έ μ—μ΄μ „νŠΈλ₯Ό μ‹œμž‘ν•  수 있음 | μ½”λ“œ μ—μ΄μ „νŠΈ | `def custom_tool(args): ...` | + +λ©€ν‹°μŠ€ν… μ—μ΄μ „νŠΈλŠ” λ‹€μŒκ³Ό 같은 μ½”λ“œ ꡬ쑰λ₯Ό κ°€μ§‘λ‹ˆλ‹€. + +```python +memory = [user_defined_task] +while llm_should_continue(memory): # 이 루프가 λ©€ν‹° μŠ€ν…(multi-step) μΆ”λ‘ , ν˜ΈμΆœμ„ λ°˜λ³΅ν•΄μ„œ μˆ˜ν–‰ν•˜λŠ” 루프 μž…λ‹ˆλ‹€. + action = llm_get_next_action(memory) # 이 뢀뢄이 도ꡬ 호좜(tool-calling) λΆ€λΆ„μž…λ‹ˆλ‹€ + observations = execute_action(action) + memory += [action, observations] +``` + +이 에이전틱 μ‹œμŠ€ν…œμ€ 루프 μ•ˆμ—μ„œ μ‹€ν–‰λ˜λ©°, 각 λ‹¨κ³„μ—μ„œ μƒˆλ‘œμš΄ 행동을 μˆ˜ν–‰ν•©λ‹ˆλ‹€(이 행동은 미리 μ •ν•΄μ§„ *도ꡬ*, 즉 ν•¨μˆ˜λ₯Ό ν˜ΈμΆœν•˜λŠ” 것을 포함할 수 μžˆμŠ΅λ‹ˆλ‹€). 그리고 관찰을 톡해 μ£Όμ–΄μ§„ μž‘μ—…μ„ ν•΄κ²°ν•˜κΈ°μ— 만쑱슀러운 μƒνƒœμ— λ„λ‹¬ν–ˆλ‹€κ³  νŒλ‹¨λ  λ•ŒκΉŒμ§€ 이 과정을 λ°˜λ³΅ν•©λ‹ˆλ‹€. λ‹€μŒμ€ λ©€ν‹°μŠ€ν… μ—μ΄μ „νŠΈκ°€ κ°„λ‹¨ν•œ μˆ˜ν•™ 문제λ₯Ό ν•΄κ²°ν•˜λŠ” μ˜ˆμ‹œμž…λ‹ˆλ‹€. + +
+ +
+ + +## βœ… μ—μ΄μ „νŠΈ μ‚¬μš© μ‹œμ  / β›” μ‚¬μš©μ„ ν”Όν•΄μ•Ό ν•  λ•Œ[[-when-to-use-agents---when-to-avoid-them]] + +μ—μ΄μ „νŠΈλŠ” μ•±μ˜ μ›Œν¬ν”Œλ‘œμš°λ₯Ό LLM이 κ²°μ •ν•˜λ„λ‘ ν•΄μ•Ό ν•  λ•Œ μœ μš©ν•©λ‹ˆλ‹€. ν•˜μ§€λ§Œ μ’…μ’… κ³Όλ„ν•œ κΈ°λŠ₯일 수 μžˆμŠ΅λ‹ˆλ‹€. 핡심 μ§ˆλ¬Έμ€ 'λ‹Ήλ©΄ν•œ μž‘μ—…μ„ 효율적으둜 ν•΄κ²°ν•˜κΈ° μœ„ν•΄ μ›Œν¬ν”Œλ‘œμš°μ— 정말 μœ μ—°μ„±μ΄ ν•„μš”ν•œκ°€?'μž…λ‹ˆλ‹€. +λ§Œμ•½ 미리 μ •ν•΄μ§„ μ›Œν¬ν”Œλ‘œμš°κ°€ 상황에 λ§žμ§€ μ•ŠλŠ” κ²½μš°κ°€ μž¦λ‹€λ©΄, μ΄λŠ” 더 λ§Žμ€ μœ μ—°μ„±μ΄ ν•„μš”ν•˜λ‹€λŠ” μ˜λ―Έμž…λ‹ˆλ‹€. +예λ₯Ό λ“€μ–΄, μ„œν•‘ μ—¬ν–‰ μ›Ήμ‚¬μ΄νŠΈμ—μ„œ 고객 μš”μ²­μ„ μ²˜λ¦¬ν•˜λŠ” 앱을 λ§Œλ“ λ‹€κ³  κ°€μ •ν•΄ λ΄…μ‹œλ‹€. + +μš”μ²­μ΄ (μ‚¬μš©μž 선택에 따라) 두 κ°€μ§€ μœ ν˜• 쀑 ν•˜λ‚˜μ— 속할 것을 미리 μ•Œ 수 있고, 이 두 경우 각각에 λŒ€ν•΄ 미리 μ •μ˜λœ μ›Œν¬ν”Œλ‘œμš°λ₯Ό κ°€μ§€κ³  μžˆμ„ 수 μžˆμŠ΅λ‹ˆλ‹€. + +1. 여행에 λŒ€ν•œ 정보가 ν•„μš”ν•œκ°€μš”? β‡’ 지식 베이슀λ₯Ό 검색할 수 μžˆλŠ” 검색창 μ ‘κ·Ό κΆŒν•œμ„ μ œκ³΅ν•©λ‹ˆλ‹€. +2. μ˜μ—…νŒ€κ³Ό 상담을 μ›ν•˜λ‚˜μš”? β‡’ 문의 양식을 μž‘μ„±ν•˜λ„λ‘ ν•©λ‹ˆλ‹€. + +λ§Œμ•½ 이 결정둠적인 μ›Œν¬ν”Œλ‘œμš°κ°€ λͺ¨λ“  쿼리에 μ ν•©ν•˜λ‹€λ©΄, μ£Όμ € 없이 λͺ¨λ“  것을 직접 μ½”λ”©ν•˜μ„Έμš”! μ΄λ ‡κ²Œ ν•˜λ©΄ 예츑 λΆˆκ°€λŠ₯ν•œ LLM이 μ›Œν¬ν”Œλ‘œμš°μ— κ°œμž…ν•˜μ—¬ λ°œμƒν•  수 μžˆλŠ” 였λ₯˜ μœ„ν—˜ 없이 100% μ‹ λ’°ν•  수 μžˆλŠ” μ‹œμŠ€ν…œμ„ λ§Œλ“€ 수 μžˆμŠ΅λ‹ˆλ‹€. λ‹¨μˆœν•˜κ³  μ•ˆμ •μ μΈ μ‹œμŠ€ν…œμ„ λ§Œλ“€κΈ°μœ„ν•΄ μ—μ΄μ „νŠΈ 기반 λ™μž‘μ„ μ‚¬μš©ν•˜μ§€ μ•ŠλŠ” μͺ½μœΌλ‘œ μ„€κ³„ν•˜λŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€. + +ν•˜μ§€λ§Œ μ›Œν¬ν”Œλ‘œμš°λ₯Ό 사전에 κ·Έλ ‡κ²Œ 잘 κ²°μ •ν•  수 μ—†λ‹€λ©΄ μ–΄λ–¨κΉŒμš”? + +예λ₯Ό λ“€μ–΄, μ‚¬μš©μžκ°€ λ‹€μŒκ³Ό 같이 μ§ˆλ¬Έν•œλ‹€κ³  κ°€μ •ν•΄ λ΄…μ‹œλ‹€. `"μ›”μš”μΌμ— μΆœλ°œν•  수 μžˆμ§€λ§Œ, μ—¬κΆŒμ„ 두고 μ™€μ„œ μˆ˜μš”μΌλ‘œ λ―Έλ€„μ§ˆ μˆ˜λ„ μžˆμ–΄μš”. ν™”μš”μΌ 아침에 μ§μ΄λž‘ 같이 μ„œν•‘ν•˜λŸ¬ 갈 수 μžˆμ„κΉŒμš”? μ·¨μ†Œ λ³΄ν—˜λ„ ν¬ν•¨ν•΄μ„œμš”."` 이 μ§ˆλ¬Έμ€ μ—¬λŸ¬ μš”μΈμ— 따라 달라지며, μ•„λ§ˆλ„ μœ„μ—μ„œ 미리 μ •ν•΄μ§„ κΈ°μ€€ 쀑 μ–΄λŠ 것도 이 μš”μ²­μ„ μ²˜λ¦¬ν•˜κΈ°μ— μΆ©λΆ„ν•˜μ§€ μ•Šμ„ κ²ƒμž…λ‹ˆλ‹€. + +λ§Œμ•½ 미리 μ •ν•΄μ§„ μ›Œν¬ν”Œλ‘œμš°κ°€ 상황에 λ§žμ§€ μ•ŠλŠ” κ²½μš°κ°€ μž¦λ‹€λ©΄, μ΄λŠ” 더 λ§Žμ€ μœ μ—°μ„±μ΄ ν•„μš”ν•˜λ‹€λŠ” μ˜λ―Έμž…λ‹ˆλ‹€. + +λ°”λ‘œ 이 μ§€μ μ—μ„œ 에이전틱 섀정이 도움이 λ©λ‹ˆλ‹€. + +μœ„ μ˜ˆμ‹œμ—μ„œλŠ”, 날씨 예보λ₯Ό μœ„ν•œ 날씨 API, 이동 거리λ₯Ό κ³„μ‚°ν•˜κΈ° μœ„ν•œ Google Maps API, 직원 근무 ν˜„ν™© λŒ€μ‹œλ³΄λ“œ, 그리고 지식 λ² μ΄μŠ€μ— λŒ€ν•œ RAG μ‹œμŠ€ν…œμ— μ ‘κ·Όν•  수 μžˆλŠ” λ©€ν‹°μŠ€ν… μ—μ΄μ „νŠΈλ₯Ό λ§Œλ“€ 수 μžˆμŠ΅λ‹ˆλ‹€. + +μ΅œκ·ΌκΉŒμ§€μ˜ 컴퓨터 ν”„λ‘œκ·Έλž¨μ€ 미리 μ •ν•΄μ§„ μ›Œν¬ν”Œλ‘œμš° μ•ˆμ—μ„œλ§Œ λ™μž‘ν•˜λ©°, if/else 문을 μŒ“μ•„ λ³΅μž‘μ„±μ„ μ²˜λ¦¬ν•˜λ €κ³  ν–ˆμŠ΅λ‹ˆλ‹€. 이듀은 "이 μˆ«μžλ“€μ˜ 합을 κ³„μ‚°ν•˜λΌ" λ˜λŠ” "이 κ·Έλž˜ν”„μ—μ„œ μ΅œλ‹¨ 경둜λ₯Ό 찾아라"와 같이 극히 ν•œμ •λœ μž‘μ—…μ— μ΄ˆμ μ„ λ§žμ·„μŠ΅λ‹ˆλ‹€. ν•˜μ§€λ§Œ μ‹€μ œλ‘œλŠ” μœ„ μ—¬ν–‰ μ˜ˆμ‹œμ²˜λŸΌ λŒ€λΆ€λΆ„μ˜ μ‹€μƒν™œ μž‘μ—…μ€ 미리 μ •ν•΄μ§„ μ›Œν¬ν”Œλ‘œμš°μ— λ“€μ–΄λ§žμ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 에이전틱 μ‹œμŠ€ν…œμ€ μ΄λŸ¬ν•œ ν•œκ³„λ₯Ό λ„˜μ–΄, ν”„λ‘œκ·Έλž¨μ΄ ν˜„μ‹€ μ„Έκ³„μ˜ λ‹€μ–‘ν•œ 문제λ₯Ό 슀슀둜 νƒμƒ‰ν•˜κ³  ν•΄κ²°ν•  수 μžˆλ„λ‘ ν•©λ‹ˆλ‹€. + +## μ™œ `smolagents`μΈκ°€μš”?[[why-smolagents-]] + +μ²΄μΈμ΄λ‚˜ λΌμš°ν„°μ²˜λŸΌ 비ꡐ적 λ‹¨μˆœν•œ 에이전틱 ν™œμš© 사둀라면, λͺ¨λ“  μ½”λ“œλ₯Ό 직접 μž‘μ„±ν•˜λŠ” 편이 μ’‹μŠ΅λ‹ˆλ‹€. κ·Έλ ‡κ²Œ ν•˜λŠ” 것이 μ‹œμŠ€ν…œμ„ 더 잘 μ œμ–΄ν•˜κ³  이해할 수 있게 ν•΄μ£Όλ―€λ‘œ 훨씬 더 λ‚˜μ€ λ°©λ²•μž…λ‹ˆλ‹€. + +ν•˜μ§€λ§Œ LLM이 ν•¨μˆ˜λ₯Ό ν˜ΈμΆœν•˜κ²Œ ν•˜κ±°λ‚˜(도ꡬ 호좜) LLM이 while 루프λ₯Ό μ‹€ν–‰ν•˜κ²Œ ν•˜λŠ”(λ©€ν‹°μŠ€ν… μ—μ΄μ „νŠΈ) λ“± 더 λ³΅μž‘ν•œ λ™μž‘μœΌλ‘œ λ„˜μ–΄κ°€κΈ° μ‹œμž‘ν•˜λ©΄, λͺ‡ κ°€μ§€ 좔상화가 ν•„μš”ν•΄μ§‘λ‹ˆλ‹€. +- 도ꡬ 호좜의 경우, μ—μ΄μ „νŠΈμ˜ 좜λ ₯을 νŒŒμ‹±ν•΄μ•Ό ν•©λ‹ˆλ‹€. λ”°λΌμ„œ 이 좜λ ₯은 "사고: 'get_weather' 도ꡬλ₯Ό ν˜ΈμΆœν•΄μ•Όκ² λ‹€. 행동: get_weather(Paris)."와 같이 미리 μ •μ˜λœ ν˜•μ‹μ΄ ν•„μš”ν•˜λ©°, 이 ν˜•μ‹μ€ 미리 μ •μ˜λœ ν•¨μˆ˜λ‘œ νŒŒμ‹±ν•΄μ•Ό ν•©λ‹ˆλ‹€. 그리고 LLM에 μ œκ³΅λ˜λŠ” μ‹œμŠ€ν…œ ν”„λ‘¬ν”„νŠΈλŠ” 이 ν˜•μ‹μ— λŒ€ν•΄ μ•Œλ €μ£Όμ–΄μ•Ό ν•©λ‹ˆλ‹€. +- LLM 좜λ ₯이 루프λ₯Ό κ²°μ •ν•˜λŠ” λ©€ν‹°μŠ€ν… μ—μ΄μ „νŠΈμ˜ 경우, λ§ˆμ§€λ§‰ 루프 λ°˜λ³΅μ—μ„œ μΌμ–΄λ‚œ 일에 따라 LLM에 λ‹€λ₯Έ ν”„λ‘¬ν”„νŠΈλ₯Ό μ œκ³΅ν•΄μ•Ό ν•©λ‹ˆλ‹€. λ”°λΌμ„œ μΌμ’…μ˜ λ©”λͺ¨λ¦¬κ°€ ν•„μš”ν•©λ‹ˆλ‹€. + +λ³΄μ‹œλ‹€μ‹œν”Ό, 이 두 κ°€μ§€ μ˜ˆμ‹œλ§ŒμœΌλ‘œλ„ μ—μ΄μ „νŠΈ μ‹œμŠ€ν…œ ꡬ성을 도와쀄 λͺ‡ κ°€μ§€ 핡심 μš”μ†Œμ˜ ν•„μš”μ„±μ„ 이미 λ°œκ²¬ν–ˆμŠ΅λ‹ˆλ‹€. + +- λ¬Όλ‘ , μ‹œμŠ€ν…œμ˜ μ—”μ§„ 역할을 ν•˜λŠ” LLM +- μ—μ΄μ „νŠΈκ°€ μ ‘κ·Όν•  수 μžˆλŠ” 도ꡬ λͺ©λ‘ +- μ—μ΄μ „νŠΈ λ‘œμ§μ— λŒ€ν•΄ LLM을 μ•ˆλ‚΄ν•˜λŠ” μ‹œμŠ€ν…œ ν”„λ‘¬ν”„νŠΈ: ReAct 루프(μ„±μ°° -> 행동 -> κ΄€μ°°), μ‚¬μš© κ°€λŠ₯ν•œ 도ꡬ, μ‚¬μš©ν•  도ꡬ 호좜 ν˜•μ‹ λ“±... +- μœ„ μ‹œμŠ€ν…œ ν”„λ‘¬ν”„νŠΈμ— λͺ…μ‹œλœ ν˜•μ‹μœΌλ‘œ LLM 좜λ ₯μ—μ„œ 도ꡬ ν˜ΈμΆœμ„ μΆ”μΆœν•˜λŠ” νŒŒμ„œ +- λ©”λͺ¨λ¦¬ + +ν•˜μ§€λ§Œ 잠깐, LLMμ—κ²Œ κ²°μ •μ˜ μ—¬μ§€λ₯Ό μ£ΌκΈ° λ•Œλ¬Έμ— λΆ„λͺ… μ‹€μˆ˜λ₯Ό ν•  κ²ƒμž…λ‹ˆλ‹€. λ”°λΌμ„œ 였λ₯˜ λ‘œκΉ…κ³Ό μž¬μ‹œλ„ λ©”μ»€λ‹ˆμ¦˜μ΄ ν•„μš”ν•©λ‹ˆλ‹€. + +잘 μž‘λ™ν•˜λŠ” μ‹œμŠ€ν…œμ„ λ§Œλ“€κΈ° μœ„ν•΄μ„œλŠ” 이 λͺ¨λ“  μš”μ†Œλ“€μ΄ κΈ΄λ°€ν•˜κ²Œ κ²°ν•©λ˜μ–΄μ•Ό ν•©λ‹ˆλ‹€. 이것이 λ°”λ‘œ 이 λͺ¨λ“  것듀이 ν•¨κ»˜ μž‘λ™ν•˜λ„λ‘ λ§Œλ“œλŠ” κΈ°λ³Έ ꡬ성 μš”μ†Œλ₯Ό λ§Œλ“€μ–΄μ•Ό ν•œλ‹€κ³  κ²°μ •ν•œ μ΄μœ μž…λ‹ˆλ‹€. + +## μ½”λ“œ μ—μ΄μ „νŠΈ[[code-agents]] + +λ©€ν‹°μŠ€ν… μ—μ΄μ „νŠΈμ—μ„œ 각 λ‹¨κ³„λ§ˆλ‹€ LLM은 μ™ΈλΆ€ 도ꡬλ₯Ό ν˜ΈμΆœν•˜λŠ” ν˜•νƒœμ˜ 행동을 μ •μ˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ΄λŸ¬ν•œ 행동을 μ •μ˜ν•˜λŠ” 일반적인 ν˜•μ‹(Anthropic, OpenAI 및 λ‹€λ₯Έ λ§Žμ€ κ³³μ—μ„œ μ‚¬μš©)은 λŒ€μ²΄λ‘œ "μ‚¬μš©ν•  도ꡬ 이름과 인수λ₯Ό JSON으둜 μž‘μ„±ν•˜κ³ , 이λ₯Ό νŒŒμ‹±ν•˜μ—¬ μ–΄λ–€ 도ꡬλ₯Ό μ–΄λ–€ 인수둜 μ‹€ν–‰ν• μ§€ νŒŒμ•…ν•˜λŠ”" κ΅¬μ‘°μž…λ‹ˆλ‹€. 이 방식은 κ΅¬ν˜„μ— 따라 μ—¬λŸ¬ κ°€μ§€ ν˜•νƒœλ‘œ λ³€ν˜•λ  수 μžˆμŠ΅λ‹ˆλ‹€. + +[μ—¬λŸ¬](https://huggingface.co/papers/2402.01030) [연ꡬ](https://huggingface.co/papers/2411.01747) [λ…Όλ¬Έ](https://huggingface.co/papers/2401.00812)μ—μ„œλŠ” LLM의 행동을 μ½”λ“œ μŠ€λ‹ˆνŽ«μœΌλ‘œ μž‘μ„±ν•˜λŠ” 것이 더 μžμ—°μŠ€λŸ½κ³  μœ μ—°ν•œ λ°©λ²•μž„μ„ λ³΄μ—¬μ£Όμ—ˆμŠ΅λ‹ˆλ‹€. + +κ·Έ μ΄μœ λŠ” κ°„λ‹¨ν•©λ‹ˆλ‹€. μ‚¬λžŒμ€ *컴퓨터가 μˆ˜ν–‰ν•˜λŠ” 행동을 ν‘œν˜„ν•˜κΈ° μœ„ν•΄ νŠΉλ³„νžˆ μ½”λ“œ μ–Έμ–΄λ₯Ό λ§Œλ“€μ—ˆκΈ° λ•Œλ¬Έ*μž…λ‹ˆλ‹€. +λ‹€μ‹œ 말해, μ—μ΄μ „νŠΈλŠ” μ‚¬μš©μžμ˜ 문제λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄ ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•  κ²ƒμž…λ‹ˆλ‹€. μ—¬λŸ¬λΆ„μ€ 파이썬 블둝과 JSON 블둝 쀑 μ–΄λŠ κ²ƒμœΌλ‘œ ν”„λ‘œκ·Έλž˜λ°ν•˜λŠ” 것이 더 μ‰¬μšΈ 것이라고 μƒκ°ν•˜μ‹œλ‚˜μš”? + +[μ‹€ν–‰ κ°€λŠ₯ν•œ μ½”λ“œ 행동이 더 λ‚˜μ€ LLM μ—μ΄μ „νŠΈλ₯Ό μ΄λŒμ–΄λ‚Έλ‹€(Executable Code Actions Elicit Better LLM Agents)](https://huggingface.co/papers/2402.01030)μ—μ„œ κ°€μ Έμ˜¨ μ•„λž˜ 그림은 행동을 μ½”λ“œλ‘œ μž‘μ„±ν•  λ•Œμ˜ λͺ‡ κ°€μ§€ μž₯점을 λ³΄μ—¬μ€λ‹ˆλ‹€. + + + +JSONκ³Ό μœ μ‚¬ν•œ μŠ€λ‹ˆνŽ« λŒ€μ‹  μ½”λ“œλ‘œ 행동을 μž‘μ„±ν•˜λ©΄ λ‹€μŒκ³Ό 같은 μ μ—μ„œ 더 μ’‹μŠ΅λ‹ˆλ‹€. + +- **ꡬ성 κ°€λŠ₯μ„±:** 파이썬 ν•¨μˆ˜λ₯Ό μ •μ˜ν•˜λŠ” κ²ƒμ²˜λŸΌ JSON 행동을 μ„œλ‘œ μ€‘μ²©ν•˜κ±°λ‚˜, λ‚˜μ€‘μ— μž¬μ‚¬μš©ν•  JSON 행동 집합을 μ •μ˜ν•  수 μžˆμ„κΉŒμš”? +- **객체 관리:** `generate_image`와 같은 ν–‰λ™μ˜ 좜λ ₯을 JSON에 μ–΄λ–»κ²Œ μ €μž₯ν•  수 μžˆμ„κΉŒμš”? +- **μΌλ°˜μ„±:** μ½”λ“œλŠ” 컴퓨터가 ν•  수 μžˆλŠ” λͺ¨λ“  것을 κ°„λ‹¨ν•˜κ²Œ ν‘œν˜„ν•˜λ„λ‘ λ§Œλ“€μ–΄μ‘ŒμŠ΅λ‹ˆλ‹€. +- **LLM ν›ˆλ ¨ λ°μ΄ν„°μ—μ„œμ˜ ν‘œν˜„:** μ–‘μ§ˆμ˜ μ½”λ“œ 행동이 이미 LLM의 ν›ˆλ ¨ 데이터에 많이 ν¬ν•¨λ˜μ–΄ μžˆμ–΄, LLM이 이미 이λ₯Ό μœ„ν•΄ ν›ˆλ ¨λ˜μ—ˆλ‹€λŠ” 것을 μ˜λ―Έν•©λ‹ˆλ‹€ \ No newline at end of file