Глава 26

Google ADK: framework для agents и workflow agents

ADK для TypeScript даёт LlmAgent, FunctionTool, sessions, state, детерминированные workflow agents и evals. Брать его стоит, когда все эти primitives нужны как единая Google-native runtime-модель, а не по отдельности - иначе прямой Interactions API проще.

Требование текущего quickstart. На дату проверки TypeScript ADK требует Node.js 24.13.0 или новее и npm 11.8.0 или новее. Это требование относится к ADK-главе, а не ко всем трём direct API SDK.
Bash
npm install @google/adk
npm install -D @google/adk-devtools

Агент собирается из FunctionTool и LlmAgent - похоже на другие фреймворки, но с Google-семантикой.

TypeScript
import { FunctionTool, LlmAgent } from "@google/adk";
import { z } from "zod";

export function makeRootAgent(context: TrustedToolContext) {
  const orderTool = new FunctionTool({
    name: "order_read",
    description: "Read the current user's verified public order view.",
    parameters: z.object({ order_id: z.string() }),
    async execute(input) {
      return orderRead(input, context);
    }
  });

  return new LlmAgent({
    name: "commerce_support",
    model: process.env.GOOGLE_MODEL ?? "gemini-3.6-flash",
    description: "Resolves supported store policy and order questions.",
    instruction: buildPrompt(context.locale),
    tools: [orderTool]
  });
}

Что именно даёт ADK, удобно видеть по потребностям.

Нужно · ADK primitive

  • Фиксированный порядок - Sequential workflow agent
  • Независимые ветви - Parallel workflow agent
  • Повтор до условия - Loop workflow agent с явным лимитом
  • Память разговора - Session и state services
  • Regression testing - ADK Evaluation и environment simulation

Фиксированный порядок закрывает Sequential workflow agent, независимые ветви - Parallel, повтор до условия - Loop с явным лимитом, память разговора - session и state, regression testing - ADK Evaluation и environment simulation. И главный совет про то, когда вообще нужен LLM-agent.

Workflow agent экономит неопределённость. Если порядок retrieval, validation и generation известен, закрепите его кодом. LLM-agent нужен только там, где выбор следующего шага действительно зависит от смысла промежуточного результата.

Три провайдера разобраны. Теперь сведём их различия в одну карту - потому что одинаковые имена методов скрывают разную семантику.

Ссылки