이 섹션에서는 AI 에이전트가 환경(Environment)과 상호작용하는 구체적인 과정을 다룹니다.
다음 내용을 중점적으로 살펴보겠습니다:
1.행동(Actions)0의 표현 방법
행동(Actions)이란?
에이전트 행동(Agent Actions)의 유형
에이전트(Agent)는 다양한 방식으로 행동(Actions)을 수행할 수 있습니다. 다음은 에이전트의 유형(Type of Agent)과 행동의 목적(Type of Action)을 정리한 표입니다.
| 에이전트 유형(Type of Agent) | 설명(Description) |
|---|---|
| JSON 에이전트(JSON Agent) | 행동이 JSON 형식으로 지정됨 |
| 코드 에이전트(Code Agent) | 에이전트가 코드 블록을 작성하고, 외부에서 해석(Interpret)됨 |
| 함수 호출(Function-calling) 에이전트 | JSON 에이전트의 하위 유형으로, 각 행동마다 새로운 메시지를 생성하도록 미세 조정됨 (Fine-Tuned) |
| 행동 유형(Type of Action) | 설명(Description) |
|---|---|
| 정보 수집(Information Gathering) | 웹 검색, 데이터베이스 쿼리, 문서 검색 수행 |
| 도구 사용(Tool Usage) | API 호출, 계산 수행, 코드 실행 |
| 환경 상호작용(Environment Interaction) | 디지털 인터페이스 조작, 물리적 장치 제어 |
| 커뮤니케이션(Communication) | 사용자와 채팅, 다른 에이전트와 협업 |
에이전트의 핵심 기능 중 하나는 행동(Action)이 완료되었을 때 새로운 토큰(Token) 생성을 멈추는 것입니다.
Stop and Parse 접근법은 에이전트의 출력을 구조화(Structured)하고 예측 가능(Predictable)하게 만드는 방법입니다. 이 방식은 다음 세 단계를 포함합니다.
1️⃣ 구조적 형식으로 생성 (Generation in a Structured Format)
에이전트는 JSON 또는 코드(Code)와 같은 미리 정의된 형식(Predetermined Format)으로 출력을 생성합니다.
예제:
{
"action": "search_web",
"parameters": {
"query": "latest AI trends"
}
}
2️⃣ 추가 출력 중지 (Halting Further Generation)
3️⃣ 출력 구문 분석 (Parsing the Output)
외부 파서(External Parser)가 에이전트 출력을 읽고,
어떤 도구(Tool)를 호출해야 하는지 결정하며,
필요한 매개변수(Parameters)를 추출
예제(파이썬 코드로 JSON 구문 분석):
import json
output = '{"action": "search_web", "parameters": {"query": "latest AI trends"}}'
parsed_output = json.loads(output)
action = parsed_output["action"]
parameters = parsed_output["parameters"]
print(f"Calling tool: {action} with parameters: {parameters}")
출력
Calling tool: search_web with parameters: {'query': 'latest AI trends'}
이 접근법을 사용하면 프레임워크가 쉽게 호출할 함수(Function Name)를 식별하고, 적용할 인수(Arguments)를 추출할 수 있습니다
🔹 함수 호출(Function-Calling) 에이전트
Function-Calling Agents도 동일한 방식으로 동작합니다.
이후 섹션에서 함수 호출(Function-Calling) 에이전트에 대해 더 깊이 탐구할 예정입니다. 🚀
코드 에이전트(Code Agents)는 JSON 객체(JSON Object)를 출력하는 대신, 실행 가능한 코드 블록(Executable Code Block)을 생성하는 방식입니다. 일반적으로 Python과 같은 고수준 언어(High-Level Language)로 작성됩니다

🚀 코드 에이전트의 장점(Advantages)
1️⃣ 표현력(Expressiveness)
✅ 코드는 자연스럽게 복잡한 로직(Logic)을 표현할 수 있음
2️⃣ 모듈화 및 재사용(Modularity and Reusability)
✅ 생성된 코드(Generated Code)는 함수(Functions) 및 모듈(Modules)로 구성 가능
3️⃣ 향상된 디버깅(Enhanced Debuggability)
✅ 명확한 프로그래밍 문법(Well-Defined Syntax) 덕분에
4️⃣ 직접적인 통합(Direct Integration)
✅ 외부 라이브러리(Libraries) 및 API와 직접 연결 가능
📌 코드 에이전트(Code Agent) 예제: 날씨 데이터 가져오기
아래는 코드 에이전트(Code Agent)가 날씨 정보를 가져오기 위해 생성할 수 있는 Python 코드 스니펫(Snippet)입니다
# Code Agent Example: Retrieve Weather Information
def get_weather(city):
import requests
api_url = f"https://api.weather.com/v1/location/{city}?apiKey=YOUR_API_KEY"
response = requests.get(api_url)
if response.status_code == 200:
data = response.json()
return data.get("weather", "No weather information available")
else:
return "Error: Unable to fetch weather data."
# Execute the function and prepare the final answer
result = get_weather("New York")
final_answer = f"The current weather in New York is: {result}"
print(final_answer)
📌 이 코드 에이전트가 수행하는 작업
✅ 1️⃣ API 호출(API Call)하여 날씨 데이터 가져오기
✅ 2️⃣ 응답 처리(Response Processing)
✅ 3️⃣ 최종 응답 출력(Final Answer Output)