Kimi K2는 전문 분야에서 최첨단 성능과 경제성 및 오픈소스 유연성을 결합한 AI 에이전트의 새로운 시대를 대표합니다. 320억 개의 활성화된 파라미터와 총 1조 개의 파라미터를 갖춘 Kimi K2는 STEM, 코딩 및 도구 사용에 특화된 강점으로 두드러집니다.
이 글에서는 함수 호출이 Kimi K2의 에이전트 역량을 어떻게 향상시키는지, 이 기능이 무엇을 의미하는지, 그리고 Kimi K2가 AI 에이전트의 미래에서 선두주자로 자리매김하는 방식을 살펴봅니다.
Kimi K2의 코드 에이전트 역량
-
STEM 및 코딩 능숙도
- Kimi K2는 LiveCodeBench 및 OJBench 를 포함한 STEM 및 코딩 벤치마크에서 최고 수준(SOTA) 성능 을 달성합니다.
- 복잡한 코드를 생성하고, 문제를 디버깅하며, 정밀하게 복잡한 알고리즘을 시뮬레이션할 수 있습니다.
-
도구 사용 전문성
- Kimi K2는 수백 개의 도메인에 걸친 다중 턴 도구 사용 시나리오 에서 훈련되었습니다.
- 도구가 필요할 때를 식별하고 다단계 워크플로를 실행하는 능력은 매우 실용적인 코딩 어시스턴트로 만듭니다.
-
작업 실행을 위한 강화 학습
- 루브릭 기반 자체 평가 ** 및 ** 온-폴리시 학습을 활용하여 Kimi K2는 판단력과 의사 결정력을 지속적으로 개선합니다.

출처: Kimi
Kimi K2의 에이전트 역량은 함수 호출에 의존합니다
Kimi K2의 코딩 및 도구 사용에 내재된 강점은 인상적이지만, 에이전트 역량은 함수 호출에 크게 의존합니다. 이 기능이 없으면 외부 도구 및 시스템과 상호작용하는 능력이 심각하게 제한됩니다.
함수 호출이란 무엇인가요?
함수 호출은 대규모 언어 모델(LLM)이 외부 시스템, 도구 또는 API와 상호작용할 수 있도록 하는 구조화된 메커니즘입니다. 단순히 텍스트를 생성하는 대신, 함수 호출을 지원하는 LLM은 사용자 프롬프트를 분석하고 외부 작업이 필요할 때를 식별하며 특정 함수를 실행하기 위한 구조화된 JSON 호출을 생성할 수 있습니다.
https://www.youtube.com/watch?v=KUEmEb71vzQ
함수 호출의 작동 방식
- 프롬프트 분석: LLM이 사용자의 요청을 해석하고 함수 호출이 필요한지 결정합니다.
- JSON 호출 생성: 함수 이름과 필요한 매개변수를 포함하는 구조화된 JSON 객체를 생성합니다.
- 외부 시스템에 의한 실행: 외부 시스템이 JSON 호출을 수신하고 함수를 실행한 후 결과를 반환합니다.
- 응답 생성: LLM이 반환된 데이터를 사용하여 사용자에게 최종 응답을 제공합니다.
이 주기는 다단계 또는 복잡한 작업에서 반복될 수 있으며, 모델이 동적이고 상호작용적인 에이전트로 작동할 수 있게 합니다.
함수 호출이 필수적인 이유
- 지식을 행동으로 전환: 함수 호출을 통해 Kimi K2는 "지식 제공자"에서 "작업 실행자"로 변모할 수 있습니다.
- 실제 세계와의 상호작용: Kimi K2가 API, 데이터베이스 및 외부 시스템과 상호작용하여 일정 관리, 데이터 검색, IoT 제어와 같은 작업을 효과적으로 자동화할 수 있습니다.
- 다단계 워크플로: Kimi K2는 여러 함수 호출을 연결하여 데이터 가져오기, 처리 및 결과 저장과 같은 복잡한 워크플로를 실행할 수 있습니다.
함수 호출 vs SDK
| **기능 ** | ** 함수 호출 ** | SDK |
|---|---|---|
| 정의 | LLM이 외부 함수 또는 API를 트리거하는 구조화된 메커니즘 | API 및 외부 시스템과의 상호작용을 단순화하는 툴킷 |
| 목적 | 함수 호출(예: JSON)을 생성하여 작업을 직접 실행 가능 | 사전 구축된 도구 및 라이브러리를 제공하여 API 통합 용이 |
| 유연성 | 매우 동적이며, 정의된 모든 함수와 상호작용 가능 | SDK에서 지원하는 기능 및 엔드포인트로 제한됨 |
| 구현 | 함수, 스키마 정의 및 응답 수동 처리가 필요 | API 로직을 추상화하여 플러그 앤 플레이 경험 제공 |
| 사용 사례 | 다단계 작업 자동화 및 실시간 의사 결정에 이상적 | 사전 정의된 워크플로로 빠른 개발에 최적 |
| 개발자 노력 | 함수 호출 정의 및 관리에 더 많은 설정 필요 | 최소한의 노력; 사전 구축된 메서드로 API 사용 단순화 |
Kimi K2 + 함수 호출로 무엇을 달성할 수 있나요?
Kimi K2의 강점과 함수 호출 기능의 조합은 다양한 실제 응용 프로그램을 가능하게 합니다:
1. 실제 작업 실행
- 자동화: 약속 예약, 양식 제출 또는 보고서 생성과 같은 반복 작업을 자동화합니다.
- IoT 제어: IoT 장치와 상호작용하여 실내 온도 조절 또는 조명 켜기/끄기 등의 작업을 수행합니다.
2. 실시간 데이터 액세스
- 동적 업데이트: API 호출을 통해 실시간 데이터(예: 날씨, 주가)를 검색합니다.
- 향상된 응답: 실시간 정보를 답변에 통합하여 정확성과 관련성을 개선합니다.
3. 고급 멀티모달 애플리케이션
- 이미지 및 비디오 처리: 이미지 편집 또는 비디오 트리밍과 같은 작업을 위해 외부 도구를 트리거합니다.
- 교차 형식 통합: 텍스트, 이미지 및 오디오 입력을 처리하여 복잡한 작업을 수행합니다.
4. 복잡한 워크플로 및 파이프라인
- 여러 함수 호출을 연결하여 데이터 가져오기 → 분석 → 결과 저장과 같은 데이터 파이프라인을 실행합니다.
- 고급 워크플로를 위해 데이터베이스 및 분석 도구와의 원활한 통합을 가능하게 합니다.
5. 개발자 친화적인 솔루션
- 사용자 정의 API: 개발자는 Kimi K2를 미세 조정하여 독점 API 및 도구와 상호작용할 수 있습니다.
- 확장 가능한 통합: 주요 인프라 변경 없이 새로운 함수를 쉽게 추가하여 기능을 확장할 수 있습니다.
Kimi K2 + 함수 호출을 보여주는 데모
1. 총 예산은 $10,000이며, 교통, 숙소, 티켓을 포함한 모든 비용을 충당해야 합니다. 여행 전체에 대한 상세한 예산 내역을 제공해 주세요. 주요 평가 기준은 교통 편의성, 티켓 가용성 및 현지 관광 명소의 품질입니다.
2. 위에서 언급한 총 예산을 참고해 주세요.
3. 위에서 지정한 총 예산 외에도 현지 경험을 제공하는 숙소를 찾고 있어 Airbnb를 선호합니다.
4. Google 메일을 확인하고 Google 캘린더에 항목을 생성해 주세요.


Novita Kimi K2 API가 함수 호출을 지원합니다
이 가이드에서는 함수 호출을 사용하여 사용자가 지정한 위치의 현재 날씨 정보를 검색하는 방법을 보여줍니다. 완전한 Python 코드 예제를 단계별로 살펴보겠습니다.
함수 호출의 특정 API 형식은 Docs를 참조하세요!

- 클라이언트 초기화
먼저 Novita API 키로 클라이언트를 초기화해야 합니다.
from openai import OpenAI
import json
client = OpenAI(
base_url="https://api.novita.ai/v3/openai",
# Get the Novita AI API Key from: https://novita.ai/settings/key-management.
api_key="<YOUR Novita AI API Key>",
)
model = "moonshotai/kimi-k2-instruct"
- 호출할 함수 정의
다음으로, 모델이 호출할 수 있는 Python 함수를 정의합니다. 이 예제에서는 날씨 정보를 가져오는 함수입니다.
# Example function to simulate fetching weather data.
def get_weather(location):
"""Retrieves the current weather for a given location."""
print("Calling get_weather function with location: ", location)
# In a real application, you would call an external weather API here.
# This is a simplified example returning hardcoded data.
return json.dumps({"location": location, "temperature": "60 degrees Fahrenheit"})
- 도구 및 사용자 메시지로 API 요청 구성
이제 Novita 엔드포인트에 API 요청을 생성합니다. 이 요청에는 모델이 사용할 수 있는 함수를 정의하는 tools 매개변수와 사용자 메시지가 포함됩니다.
tools = [
{
"type": "function",
"function": {
"name": "get_weather",
"description": "Get weather of an location, the user shoud supply a location first",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "The city and state, e.g. San Francisco, CA",
}
},
"required": ["location"]
},
}
},
]
messages = [
{
"role": "user",
"content": "What is the weather in San Francisco?"
}
]
# Let's send the request and print the response.
response = client.chat.completions.create(
model=model,
messages=messages,
tools=tools,
)
# Please check if the response contains tool calls if in production.
tool_call = response.choices[0].message.tool_calls[0]
print(tool_call.model_dump())
- 출력
{'id': '0', 'function': {'arguments': '{"location": "San Francisco, CA"}', 'name': 'get_weather'}, 'type': 'function'}
- 함수 호출 결과로 응답하고 최종 답변 얻기
다음 단계는 함수 호출을 처리하고, get_weather 함수를 실행한 후 결과를 모델에 다시 보내 최종 응답을 생성하는 것입니다.
# Ensure tool_call is defined from the previous step
if tool_call:
# Extend conversation history with the assistant's tool call message
messages.append(response.choices[0].message)
function_name = tool_call.function.name
if function_name == "get_weather":
function_args = json.loads(tool_call.function.arguments)
# Execute the function and get the response
function_response = get_weather(
location=function_args.get("location"))
# Append the function response to the messages
messages.append(
{
"tool_call_id": tool_call.id,
"role": "tool",
"content": function_response,
}
)
# Get the final response from the model, now with the function result
answer_response = client.chat.completions.create(
model=model,
messages=messages,
# Note: Do not include tools parameter here.
)
print(answer_response.choices[0].message)
- 출력
{'id': '0', 'function': {'arguments': '{"location": "San Francisco, CA"}', 'name': 'get_weather'}, 'type': 'function'}
Novita AI, 이제 Anthropic SDK와 호환 가능
Kimi K2와 Claude Code의 조합은 AI 커뮤니티에서 빠르게 화제가 되고 있으며, 실제 애플리케이션을 위한 탁월한 에이전트 기능을 제공합니다. 이 통합을 더욱 원활하게 만들기 위해 Novita AI는 이제 Anthropic SDK와 호환성을 제공하여, 익숙한 Claude Code 인터페이스를 통해 Kimi K2의 강력한 기능을 쉽게 활용할 수 있습니다.
자세한 내용은 docs를 확인하세요!
1. Anthropic SDK 설치
pip install anthropic
2. 클라이언트 초기화
Anthropic SDK는 환경 변수 ANTHROPIC_API_KEY 및 ANTHROPIC_BASE_URL에서 API 키와 기본 URL을 가져오도록 설계되었습니다. 또한, 초기화할 때 Anthropic 클라이언트에 매개변수를 제공할 수 있습니다.
API 키는 설정 페이지에서 확인하고 관리할 수 있습니다.
- 환경 변수 사용
export ANTHROPIC_BASE_URL="https://api.novita.ai/anthropic"
export ANTHROPIC_API_KEY="<YOUR_NOVITA_API_KEY>"
- Anthropic 클라이언트 초기화 시 매개변수 설정
import anthropic
client = anthropic.Anthropic(
base_url="https://api.novita.ai/anthropic",
api_key="<YOUR_NOVITA_API_KEY>"
)
3. API 호출
import anthropic
# Initialize the client, if you already set `ANTHROPIC_BASE_URL` and `ANTHROPIC_API_KEY`
# in the environment variables, you can omit the `api_key` and `base_url` parameters.
client = anthropic.Anthropic(
base_url="https://api.novita.ai/anthropic",
api_key="<YOUR_NOVITA_API_KEY>"
)
message = client.messages.create(
model="moonshotai/kimi-k2-instruct",
max_tokens=1000,
temperature=1,
system="You are a world-class poet. Respond only with short poems.",
messages=[
{
"role": "user",
"content": [
{
"type": "text",
"text": "Why is the ocean salty?"
}
]
}
]
)
print(message.content)
Kimi K2의 함수 호출 ** 지원은 고성능 LLM에서 실제 세계와 상호작용하고 작업을 실행할 수 있는 ** 차세대 AI 에이전트로 업그레이드합니다. STEM 및 코딩에서의 지배력과 결합하여, 이 기능은 Kimi K2를 실용적이고 동적인 AI 시스템 개발을 위한 비용 효율적이고 특화된 솔루션으로 자리매김하게 합니다.
지식과 행동 사이의 격차를 해소함으로써 Kimi K2는 사용자 경험을 향상시킬 뿐만 아니라 고급 AI 기능에 대한 접근성을 대중화합니다. 오픈소스 특성과 경제성은 AI 환경에서 파괴적인 힘이 되어 광범위한 혁신과 채택의 길을 열어줍니다.
자주 묻는 질문
LLM 맥락에서 함수 호출이란 무엇인가요?
함수 호출은 대규모 언어 모델이 특정 작업에 외부 함수나 도구가 필요함을 인식하고 해당 함수를 실행하기 위한 구조화된 데이터를 생성하는 기술입니다.
함수 호출 사용의 주요 이점은 무엇인가요?
주요 이점으로는 작업 처리 효율성 증가, 개발자가 함수를 쉽게 업데이트할 수 있는 유연성 향상, 광범위한 변경 없이 새로운 기능을 추가할 수 있는 확장성, 개인화된 사용자 상호작용이 있습니다.
Kimi K2가 GPT-4나 Claude와 같은 독점 모델을 대체할 수 있나요?
Kimi K2는 범용 모델을 대체하려는 것이 아닙니다. 대신 STEM, 코딩 및 도구 사용에 강점을 가진 **전문 에이전트 ** 에 초점을 맞추며, 함수 호출 기능 으로 보완됩니다.
Novita AI는 AI 야망을 실현하는 올인원 클라우드 플랫폼입니다. 통합 API, 서버리스, GPU 인스턴스 — 필요한 비용 효율적인 도구. 인프라를 제거하고 무료로 시작하여 AI 비전을 현실로 만드세요.
