produto

Apresentando o Agent SDK

Rustam Lalkaka6 min de leitura

Equipes de software usam agentes definidos como código para cuidar de tarefas recorrentes ao longo do ciclo de desenvolvimento. Esses agentes se conectam às ferramentas em que a equipe trabalha e entram em ação quando ocorrem eventos relevantes, seja para revisar um PR, executar um fluxo de trabalho de conformidade ou investigar um incidente.

Os agentes mais úteis são os adaptados ao jeito de trabalhar de cada equipe. Até agora, desenvolver um agente geralmente significava adotar um produto pensado para o fluxo de trabalho de outra pessoa ou começar do zero.

Hoje, estamos lançando o Agent SDK, o framework que usamos para construir nossos próprios agentes gerenciados, como o Bugbot, o revisor de segurança e o Rollouts. Com o Agent SDK, você define agentes em código e os gerencia como qualquer outro projeto de software. Comece a partir de um modelo ou indique a nossa documentação ao seu agente de programação. Quando o agente estiver pronto, use agent-sdk deploy para implementá-lo na infraestrutura do Cursor com um único comando.

Construa em torno do seu fluxo de trabalho

O Agent SDK permite construir e implementar rapidamente agentes que trabalham do jeito que a sua equipe trabalha. Eles respondem aos eventos que sua equipe já trata e seguem políticas que sua equipe pode inspecionar e alterar.

A revisão de código é um exemplo. Cada equipe tem seus próprios padrões sobre o que exige atenção e quem deve fazer a revisão. Com o Agent SDK, você pode construir um agente que responde a eventos de PR do GitHub, GitLab ou Bitbucket. O agente pode avaliar o risco de uma alteração, encaminhá-la para a equipe certa e aprovar alterações que estejam de acordo com a sua política.

Por exemplo, uma equipe do Cursor havia desenvolvido uma base de conhecimento grande e em rápido crescimento com lições aprendidas e queria que cada PR fosse verificado com base nela. Assim, as decisões anteriores da equipe continuariam valendo mesmo com a evolução da base de código. Com o Agent SDK, eles construíram o kb-reviewer em cerca de um dia. Agora ele roda em todos os PRs da base de código principal, sinaliza alterações que contradizem uma lição registrada, cita a nota que fundamenta cada achado e incentiva os engenheiros a resolver as divergências que aponta.

Para trabalhos mais complexos, os agentes podem repassar uma tarefa a outro agente especializado, com suas próprias ferramentas e sessões. Eles também podem dividir um trabalho entre subagentes executando em paralelo.

O Agent SDK também oferece suporte nativo a evals e à reprodução de eventos, permitindo um desenvolvimento ágil com a garantia de que fluxos de trabalho críticos sejam executados como você espera. O PGA Tour usa o Agent SDK como base da sua fábrica de desenvolvimento de software. As evals ajudam a equipe a manter o ritmo acelerado.

O Agent SDK permitiu à PGA construir cada componente da nossa fábrica de software sobre a infraestrutura do Cursor. Ele oferece a flexibilidade de que precisamos para construir agentes que impulsionam nosso processo de desenvolvimento. E o suporte integrado a evals nos permite iterar rapidamente em novas ideias e otimizar os recursos existentes com confiabilidade.

Michael Gyarmathy
Engenheiro Principal, PGA America

Defina tudo em código

Um agente do Agent SDK é organizado como um pequeno projeto de software. As instruções que o orientam ficam ao lado do código das suas ferramentas, das conexões com serviços externos e das evals usadas para testá-lo.

Cada arquivo representa algo que o agente sabe ou consegue fazer. Os prompts são escritos em Markdown, e as ferramentas são definidas como funções TypeScript. Como tudo é código, as alterações podem passar pelo mesmo processo de controle de versão e revisão usado no restante do seu software.

Implemente agentes onde você precisar

Quando seu agente estiver pronto para uso, você pode implementá-lo no Cursor executando agent-sdk deploy no diretório do projeto. O comando compila o agente, atribui uma URL a ele e o inicia na nossa infraestrutura. Você pode gerenciar segredos e integrações pelo dashboard e continuar usando os mesmos logs, evals e playground disponíveis localmente.

Você também pode executar o agente na sua própria infraestrutura. Cada agente roda como um único processo Node, que pode ser empacotado em um contêiner.

Primeiros passos

Começar a usar o Agent SDK é bem parecido com iniciar qualquer outro projeto de software. Crie um diretório para o projeto e, em seguida, inicie o playground local:

import { homedir } from "node:os";
import { join } from "node:path";
import { defineAgent } from "@cursor/agent-sdk";

export default defineAgent({
  name: "Robo",
  model: {
    id: "composer-2.5",
    params: [
      { id: "effort", value: "high" },
      { id: "fast", value: "true" },
    ],
  },
  local: {
    cwd: join(homedir(), ".cache", "factory", "robo"),
  },
})

A partir daí, você pode iterar localmente e executar evals antes de implementar com agent-sdk deploy.

O Agent SDK também vem com habilidades que orientam agentes de programação ao longo do processo de desenvolvimento. Você pode indicar a documentação a um agente e pedir que ele ajude a construir o bot junto com você.

O Agent SDK já está disponível para o público geral. Leia a documentação e dê os primeiros passos.

Publicado em: produto

Autor: Rustam Lalkaka