Aprendizagem pessoal com IA
e orientação prática
豆包Marscode1

LangGraph CodeAct: geração de código para ajudar as inteligências a resolver tarefas complexas

Introdução geral

LangGraph O CodeAct é uma estrutura de código aberto no GitHub pela equipe de IA da LangChain, com base na arquitetura do CodeAct (consulte o artigo arXiv:2402.01030 para obter detalhes). Ela ajuda as inteligências a processar tarefas complexas com eficiência, gerando e executando código Python. Essa ferramenta está sendo Manus.im usa, em oposição ao JSON tradicional chamada de funçãoEle usa todo o poder de programação do Python para integrar a saída de várias ferramentas e reduzir o número de etapas. Ele oferece suporte ao histórico de mensagens e ao salvamento de variáveis para diálogo contínuo ou cenários de tarefas avançadas. Desde 29 de março de 2025, o projeto ainda é mantido ativamente e está aberto a desenvolvedores de IA.

 

Lista de funções

  • Os corpos inteligentes geram e executam código Python para concluir tarefas diretamente.
  • Salvar o histórico do diálogo e apoiar o questionamento contínuo.
  • Preserve as variáveis Python para facilitar a referência em tarefas subsequentes.
  • apoiar algo .invoke() Obter o resultado final, ou .stream() Obtenha resultados passo a passo.
  • Compatível com ferramentas personalizadas, ferramentas LangChain e MCP Ferramentas.
  • Funciona com qualquer modelo compatível com LangChain (somente testes oficiais) Claude 3.7).
  • Oferece uma interface de sandbox de código personalizado para maior flexibilidade.
  • As palavras do prompt do sistema podem ser ajustadas livremente.

 

Usando a Ajuda

O LangGraph CodeAct é uma estrutura de código aberto para desenvolvedores que é executada principalmente no ambiente Python. Aqui está um guia detalhado de instalação e uso para ajudá-lo a começar.

Processo de instalação

Você precisará do Python 3.8 ou superior para poder usá-lo. As etapas de instalação são as seguintes:

  1. Download do projeto
    Abra um terminal e digite o comando Clone Repository:
git clone https://github.com/langchain-ai/langgraph-codeact.git

Em seguida, vá para o diretório do projeto:

cd langgraph-codeact
  1. Instalação das dependências do núcleo
    Execute o seguinte comando para instalar as dependências básicas:
pip install langgraph-codeact

A instalação também é necessária se você precisar executar exemplos ou usar um modelo específico (por exemplo, o Claude 3.7):

pip install langchain langchain-anthropic
  1. Configuração de variáveis de ambiente
    Ao usar o modelo Claude, você precisa definir o Antrópica Chave da API. Insira-a no terminal:
export ANTHROPIC_API_KEY="你的密钥"

A chave pode ser obtida no site da Anthropic. Se estiver usando outros modelos, consulte a documentação correspondente para obter a configuração.

Uso básico

Após a conclusão da instalação, o LangGraph CodeAct é chamado a partir de um script Python:

  1. Inicialização da inteligência
    Crie um script simples, como run_agent.pyDigite o seguinte código:
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. Execução de tarefas
    Insira um problema e deixe que as inteligências gerem o código e o executem. Exemplo:

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

    O resultado é semelhante:sqrt(5) = 2.23606797749979.

Adicionar ferramentas

O exemplo oficial fornece ferramentas matemáticas para capacitar as inteligências. Veja como adicioná-lo:

  1. Ferramentas de definição
    Adicione funções matemáticas ao script:

    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. Ferramentas de integração
    Modificar o código de inicialização:

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

    A Intelligentsia agora pode usar add(3, 4) talvez sqrt(16).

Sandbox de código personalizado

Uso padrão eval Execute o código, mas o ambiente de produção precisa estar em uma área restrita segura. Código de amostra:

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}", {}

Passe essa função:

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

Operação da função em destaque

  • Gerar código
    Digite "Calculate the sum of 3 and 5" (Calcular a soma de 3 e 5), e a inteligência será gerada:

    result = add(3, 5)
    print(result)  # 输出 8
    
  • Diálogo com a história
    Em seguida, pergunte "resultado mais 2" e, de forma inteligente, aprenda a se lembrar disso resultGeração:

    new_result = result + 2
    print(new_result)  # 输出 10
    
  • saída de streaming
    fazer uso de .stream() Veja os resultados passo a passo:

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

advertência

  • Os ambientes de produção evitam o uso direto de evalEle precisa ser protegido por uma caixa de areia.
  • O Claude 3.7 é o modelo oficial recomendado; outros modelos podem precisar ser ajustados para palavras-chave.
  • As definições de ferramentas precisam estar em conformidade com a especificação LangChain com tipos de parâmetros claros.

Com essas etapas, você pode criar inteligências para resolver várias tarefas usando o LangGraph CodeAct.


 

cenário do aplicativo

  1. educação matemática
    Os alunos inserem tópicos como "Calculate Parabolic Distance" (Calcular distância parabólica) e o corpo inteligente gera código e apresenta resultados para ajudar no aprendizado.
  2. processamento de dados
    Os desenvolvedores o utilizam para gerar scripts automaticamente, processar arquivos CSV ou calcular estatísticas.
  3. Experimentos de IA
    Os pesquisadores testam os recursos de geração de código das inteligências para otimizar processos de tarefas complexas.

 

QA

  1. Quais linguagens de programação são compatíveis?
    Atualmente, somente o Python é compatível, pois é a linguagem de execução principal.
  2. Como depurar erros de código?
    fazer uso de .stream() Visualize o código gerado ou verifique se há mensagens de erro na saída da sandbox.
  3. Você não pode usar ferramentas?
    Sim, definido na inicialização tools=[]A tecnologia de código de barras é uma das mais importantes, pois depende exclusivamente do modelo para gerar o código.
Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " LangGraph CodeAct: geração de código para ajudar as inteligências a resolver tarefas complexas
pt_BRPortuguês do Brasil