LangGraph CodeAct: 지능이 복잡한 작업을 해결하는 데 도움이 되는 코드 생성

최신 AI 리소스5개월 전에 게시 됨 AI 공유 서클
12.3K 00

일반 소개

LangGraph 코드액트는 코드액트 아키텍처를 기반으로 한 LangChain AI 팀이 GitHub에서 오픈소스로 제공하는 프레임워크입니다(자세한 내용은 논문 arXiv:2402.01030 참조). 이 프레임워크는 인공지능이 Python 코드를 생성하고 실행하여 복잡한 작업을 효율적으로 처리할 수 있도록 도와줍니다. 이 도구는 Manus.im이 사용하는 기존 JSON과 달리 함수 호출파이썬의 모든 프로그래밍 기능을 사용하여 여러 도구의 출력을 통합하고 단계 수를 줄입니다. 지속적인 대화 또는 고급 작업 시나리오를 위한 메시지 기록 및 변수 저장을 지원합니다. 2025년 3월 29일 현재, 이 프로젝트는 여전히 활발하게 유지되고 있으며 AI 개발자들에게 공개되어 있습니다.

 

기능 목록

  • 인텔리전트 바디는 작업을 직접 완료하기 위해 Python 코드를 생성하고 실행합니다.
  • 대화 기록을 저장하고 지속적인 질문을 지원하세요.
  • 후속 작업에서 쉽게 참조할 수 있도록 Python 변수를 보존하세요.
  • 지원 .invoke() 최종 결과를 얻거나 .stream() 단계별 출력을 얻습니다.
  • 사용자 지정 도구, LangChain 도구 및 MCP 도구.
  • 모든 LangChain 지원 모델에서 작동합니다(공식 테스트만 해당). Claude 3.7).
  • 유연성을 위한 사용자 지정 코드 샌드박스 인터페이스를 제공합니다.
  • 시스템 프롬프트 문구를 자유롭게 조정할 수 있습니다.

 

도움말 사용

랭그래프 코드액트는 주로 파이썬 환경에서 실행되는 개발자용 오픈 소스 프레임워크입니다. 다음은 시작하는 데 도움이 되는 자세한 설치 및 사용 가이드입니다.

설치 프로세스

이 기능을 사용하려면 Python 3.8 이상이 필요합니다. 설치 단계는 다음과 같습니다:

  1. 프로젝트 다운로드
    터미널을 열고 복제 저장소 명령을 입력합니다:
git clone https://github.com/langchain-ai/langgraph-codeact.git

그런 다음 프로젝트 디렉토리로 이동합니다:

cd langgraph-codeact
  1. 핵심 종속성 설치
    다음 명령을 실행하여 기본 종속성을 설치합니다:
pip install langgraph-codeact

예제를 실행하거나 특정 모델(예: Claude 3.7)을 사용해야 하는 경우에도 설치가 필요합니다:

pip install langchain langchain-anthropic
  1. 환경 변수 구성
    클로드 모델을 사용할 때는 다음과 같이 설정해야 합니다. 인류학 API 키를 입력합니다. 터미널에 입력합니다:
export ANTHROPIC_API_KEY="你的密钥"

키는 Anthropic 웹사이트에서 얻을 수 있습니다. 다른 모델을 사용하는 경우 해당 설명서를 참조하여 구성하세요.

기본 사용법

설치가 완료된 후 Python 스크립트에서 LangGraph CodeAct를 호출하는 방법은 다음과 같습니다:

  1. 인텔리전스 초기화하기
    다음과 같은 간단한 스크립트를 만듭니다. run_agent.py를 클릭하고 다음 코드를 입력합니다:
from langchain.chat_models import init_chat_model
from langgraph_codeact import create_codeact
from langgraph.checkpoint.memory import MemorySaver
# 初始化模型
model = init_chat_model("claude-3-7-sonnet-latest", model_provider="anthropic")
# 创建 CodeAct 实例(无工具示例)
code_act = create_codeact(model, tools=[], eval=None)
# 编译智能体,启用内存保存
agent = code_act.compile(checkpointer=MemorySaver())
  1. 실행 중인 작업
    문제를 입력하면 인텔리전스가 코드를 생성하고 실행하도록 합니다. 예시:

    messages = [{"role": "user", "content": "计算 5 的平方根"}]
    result = agent.invoke({"messages": messages})
    print(result["messages"][-1].content)
    

    결과물은 비슷합니다:sqrt(5) = 2.23606797749979.

도구 추가

공식 예제는 지능을 강화하는 수학적 도구를 제공합니다. 추가하는 방법은 다음과 같습니다:

  1. 정의 도구
    스크립트에 수학 함수를 추가합니다:

    from langchain_core.tools import tool
    import math
    @tool
    def add(a: float, b: float) -> float:
    """加法工具"""
    return a + b
    @tool
    def sqrt(a: float) -> float:
    """平方根工具"""
    return math.sqrt(a)
    tools = [add, sqrt]
    
  2. 통합 도구
    초기화 코드를 수정합니다:

    code_act = create_codeact(model, tools=tools, eval=None)
    agent = code_act.compile(checkpointer=MemorySaver())
    

    이제 인텔리전스는 다음을 사용할 수 있습니다. add(3, 4) 어쩌면 sqrt(16).

사용자 지정 코드 샌드박스

기본 사용 eval 코드를 실행하되 프로덕션 환경을 안전하게 샌드박스화해야 합니다. 샘플 코드:

def custom_sandbox(code: str, _locals: dict) -> tuple[str, dict]:
try:
with open("temp.py", "w") as f:
f.write(code)
import subprocess
result = subprocess.check_output(["python", "temp.py"], text=True)
return result, {}
except Exception as e:
return f"错误: {e}", {}

이 함수를 전달합니다:

code_act = create_codeact(model, tools=tools, eval=custom_sandbox)

주요 기능 작동

  • 코드 생성
    "3과 5의 합을 계산하세요"라고 입력하면 인텔리전스가 생성됩니다:

    result = add(3, 5)
    print(result)  # 输出 8
    
  • 역사와의 대화
    그런 다음 "결과 더하기 2"를 물어보고 지능적으로 기억하는 법을 배웁니다. result세대:

    new_result = result + 2
    print(new_result)  # 输出 10
    
  • 스트리밍 출력
    활용 .stream() 단계별 결과 보기:

    for typ, chunk in agent.stream({"messages": messages}):
    if typ == "messages":
    print(chunk[0].content, end="")
    

주의

  • 프로덕션 환경에서는 다음을 직접 사용하지 않습니다. eval샌드박스로 보호해야 합니다.
  • Claude 3.7은 공식 권장 모델이며, 다른 모델은 큐워드에 맞게 조정해야 할 수 있습니다.
  • 도구 정의는 명확한 매개변수 유형으로 LangChain 사양을 준수해야 합니다.

이 단계를 통해 LangGraph CodeAct를 사용하여 다양한 작업을 해결할 수 있는 인텔리전스를 구축할 수 있습니다.

 

애플리케이션 시나리오

  1. 수학 교육
    학생이 '포물선 거리 계산'과 같은 주제를 입력하면 스마트 바디가 코드를 생성하고 결과를 출력하여 학습에 도움을 줍니다.
  2. 데이터 처리
    개발자는 이 기능을 사용하여 스크립트를 자동으로 생성하거나 CSV 파일을 처리하거나 통계를 계산할 수 있습니다.
  3. AI 실험
    연구원들은 복잡한 작업 프로세스를 최적화하기 위해 인텔리전스의 코드 생성 기능을 테스트합니다.

 

QA

  1. 어떤 프로그래밍 언어가 지원되나요?
    현재는 기본 실행 언어인 Python만 지원됩니다.
  2. 코드 오류를 디버깅하는 방법은 무엇인가요?
    활용 .stream() 생성된 코드를 보거나 샌드박스 출력에서 오류 메시지를 확인합니다.
  3. 도구를 사용할 수 없나요?
    예, 초기화 시 설정 tools=[]를 사용하여 모델에만 의존하여 코드를 생성합니다.
© 저작권 정책

관련 문서

댓글 없음

댓글에 참여하려면 로그인해야 합니다!
지금 로그인
없음
댓글 없음...