Главная / Статьи / Как связать ИИ-инструменты в ежедневный процесс без бесконечных промптов

Как связать ИИ-инструменты в ежедневный процесс без бесконечных промптов

Как превратить разрозненные ИИ-инструменты в повторяемый конвейер: избежать накопления ошибок от ручных промптов, взять простой оркестратор и спроектировать, протестировать и проверить каждый этап.

1270 слов

Пользоваться одним ИИ-инструментом просто. Сложнее связать несколько так, чтобы цепочку можно было запускать каждый день и не стоять над ней. Если на каждом шаге приходится заново набирать инструкции и проверять результат руками, это не рабочий процесс, а повинность. Разберём, как выглядит процесс на практике, где ломаются постоянные промпты и как небольшой оркестратор держит всё вместе.

Что считать рабочим процессом

ИИ-процесс (workflow) — это цепочка автоматических шагов, которые с помощью ИИ доводят до конца одну конкретную задачу. Представьте конвейер: каждый пост делает одну операцию, но делает её хорошо, а готовое изделие выходит лучше, потому что никому не нужно таскать детали между постами. В разработке это может быть ревью кода, генерация документации или прогон тестов.

Главная мысль — разрезать большую размытую задачу на небольшие куски, каждый из которых можно автоматизировать и настроить отдельно.

Два термина помогут не путаться. Модель — это обученное математическое представление задачи, которое делает прогнозы или принимает решения на основе данных. Инструмент — это приложение, которое оборачивает одну или несколько моделей ради конкретной работы. Например, инструмент для ревью кода может использовать языковую модель, чтобы прочитать дифф и написать замечания.

Цель не в отдельных автоматизациях. Нужен один цельный процесс, где несколько инструментов передают друг другу результаты и вместе дают хороший итог. Самый простой строительный блок — функция, которая вызывает serverless-функцию и возвращает её ответ:

// Import the required AWS SDK package
import { LambdaClient, InvokeCommand } from "@aws-sdk/client-lambda";
// Create a new Lambda client
const lambdaClient = new LambdaClient({ region: "us-west-2" });
// Define a function to invoke a Lambda function
async function invokeLambda(functionName: string) {
  // Create a new InvokeCommand
  const command = new InvokeCommand({
    FunctionName: functionName,
  });
  // Invoke the Lambda function
  const response = await lambdaClient.send(command);
  // Return the response
  return response;
}

Все следующие примеры используют этот хелпер, так что каждый ИИ-инструмент живёт за своей функцией и вызывается одинаково.

Чем вредят постоянные промпты

Промпт — это входные данные или указание, которые направляют модель к нужному результату. Без чёткого указания модель отвечает посредственно, а иногда и вовсе бесполезно. Лекарство — ясный, короткий и точно сформулированный запрос, который показывает модели, что именно вам нужно.

Поможет аналогия. Вы едете в ресторан в незнакомом городе, а у вас нет ни адреса, ни маршрута. Скорее всего, будете плутать или приедете не туда. Модель без точного промпта ведёт себя так же.

Промпт может быть совсем простым объектом с текстом:

// Define a function to prompt an AI model
function promptAIModel(promptText: string) {
  // Create a new prompt object
  const prompt = {
    text: promptText,
  };
// Return the prompt object
  return prompt;
}
// Example usage:
const prompt = promptAIModel("Generate a summary of the code review results");
console.log(prompt);

Настоящая проблема появляется, когда это приходится делать снова и снова, вручную, на каждом этапе. Мелкие ошибки первого шага уходят во второй, там они разрастаются, и к концу результат уже никуда не годится. Такой эффект снежного кома называют накопленной ошибкой, и именно из-за него работа «промпт за промптом» не масштабируется. Промпты нужно написать один раз, один раз проверить и дальше запускать автоматически.

Как соединить инструменты

Чтобы свести промпты к минимуму, инструменты объединяют через оркестратор. Это приложение, которое запускает несколько ИИ-инструментов по порядку и собирает их результаты в один ответ. Здесь один шаг делает ревью кода, следующий генерирует документацию, а оркестратор сливает оба ответа в один объект:

// Import the required AWS SDK package
import { LambdaClient, InvokeCommand } from "@aws-sdk/client-lambda";
// Define a function to orchestrate an AI workflow
async function orchestrateWorkflow() {
  // Invoke the first AI tool (e.g., code review)
  const codeReviewResponse = await invokeLambda("code-review-function");
  // Invoke the second AI tool (e.g., documentation generation)
  const documentationResponse = await invokeLambda("documentation-generation-function");
  // Combine the outputs of the two AI tools
  const workflowOutput = {
    codeReview: codeReviewResponse,
    documentation: documentationResponse,
  };
  // Return the workflow output
  return workflowOutput;
}

Соберите всё так — и получите один повторяемый процесс, где печатать вам почти ничего не придётся.

Конкретный пример: ревью плюс документация

Частый реальный сценарий — автоматическое ревью кода вместе с генерацией документации. Участвуют три части: инструмент ревью, инструмент документации и оркестратор, который их координирует. Если ревью делает Claude, документацию пишет Cursor, а вызовы по очереди запускает Lambda-функция, связующий код выглядит так:

// Define a function to integrate Claude, Cursor, and Lambda into an AI workflow
async function integrateAIWorkflow() {
  // Invoke the Claude AI tool for code review
  const claudeResponse = await invokeLambda("claude-function");
// Invoke the Cursor AI tool for documentation generation
  const cursorResponse = await invokeLambda("cursor-function");
  // Use Lambda to orchestrate the workflow
  const lambdaResponse = await invokeLambda("workflow-orchestrator-function");
  // Return the workflow output
  return lambdaResponse;
}

Тот же подход работает далеко за пределами программирования. Анализ данных, отчёты и многие другие задачи тоже раскладываются на этапы, которые передают работу друг другу.

Как спроектировать свой процесс

Надёжным процесс делают три привычки.

  1. Сначала чётко определите цели. Запишите, что процесс должен выдавать: от этого зависят все остальные решения.
  2. Подбирайте инструменты под каждый этап. Выбирайте их под конкретную задачу, а не по бренду, и не заставляйте один инструмент делать всё.
  3. Тестируйте и проверяйте процесс целиком. Убедитесь, что результат хороший и что ошибки не разрастаются незаметно от шага к шагу.

Всё это можно уложить в одну функцию проектирования: цели, список инструментов и реальный прогон оркестратора для проверки.

// Define a function to design an AI workflow
async function designWorkflow() {
  // Define clear goals and objectives for the workflow
  const workflowGoals = {
    objective: "Automate code review and documentation generation",
  };
// Choose the right AI tools for the workflow
  const aiTools = ["Claude", "Cursor", "Lambda"];
  // Test and validate the workflow
  const workflowOutput = await orchestrateWorkflow();
  // Return the workflow design
  return {
    goals: workflowGoals,
    tools: aiTools,
    output: workflowOutput,
  };
}

Если пройти эти шаги, получится процесс, который выдаёт качественный результат с минимумом ошибок.

Коротко

  • Рабочий процесс — это цепочка автоматических шагов, которая доводит до конца одну определённую задачу.
  • Польза — в цельном процессе, который объединяет несколько инструментов, а не в автоматизации отдельных задач по одной.
  • Постоянные ручные промпты приводят к накоплению ошибок и слабым результатам.
  • Оркестратор, объединяющий инструменты, сокращает количество нужных промптов.
  • Начинайте с ясных целей, подбирайте инструменты под каждый этап и тестируйте весь прогон.
  • Подход работает в разработке, анализе данных и многих других областях.

Прежде чем доверять примерам кода в продакшене, сверьте их с официальной документацией каждого инструмента: детали SDK меняются.