← 返回列表

AI серія співбесід 7: Як правильно визначити Skill

1. Основна концепція Skill

Skill — це набір виконуваних одиниць, інкапсульованих в Agent (агент) або AI систему. Він зазвичай містить:

  • Умови запуску: коли викликається (наприклад, команда користувача, системна подія).
  • Вхідні параметри: дані або контекст, які необхідно отримати.
  • Логіка виконання: конкретні кроки обробки (наприклад, виклик API, запуск коду, запит до бази знань).
  • Вихідний результат: відповідь або дія, що повертається викликаючому.

2. Кроки для правильного визначення Skill

1. Визначте назву та опис Skill

  • Назва: коротка, унікальна, семантична (наприклад, search_web, send_email).
  • Опис: одним реченням поясніть функціонал Skill, щоб Agent міг автоматично підібрати його.

2. Визначте вхідні параметри (Input Schema)

Використовуйте JSON Schema або подібний формат, чітко вказуючи тип кожного параметра, обов'язковість, значення за замовчуванням та обмеження.

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "ключове слово для пошуку",
      "required": true
    },
    "max_results": {
      "type": "integer",
      "description": "максимальна кількість результатів",
      "default": 10
    }
  }
}

3. Напишіть логіку виконання (Execution Logic)

  • Детермінована логіка: прямий виклик функції, API або бази даних.
  • Недетермінована логіка: використання LLM для генерації відповіді (потрібно надати шаблон prompt).
  • Обробка помилок: визначте стратегії тайм-ауту, повторних спроб, зниження функціональності.

4. Визначте формат вихідних даних (Output Schema)

Також використовуйте JSON Schema для опису структури даних, що повертаються.

{
  "type": "object",
  "properties": {
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "title": { "type": "string" },
          "url": { "type": "string", "format": "uri" }
        }
      }
    }
  }
}

5. Додайте метадані (Metadata)

  • Версія: для зручності ітераційного управління.
  • Автор/відповідальний: визначення відповідальності.
  • Залежності: зовнішні сервіси або бібліотеки, що потрібні.
  • Обмеження використання: наприклад, обмеження частоти, вимоги до прав.

3. Приклад: повне визначення Skill

name: "weather_query"
description: "Отримати поточну погоду за назвою міста"
version: "1.0.0"
author: "AI Team"

input:
  type: object
  properties:
    city:
      type: string
      description: "Назва міста, наприклад 'Київ'"
      required: true
    unit:
      type: string
      enum: ["celsius", "fahrenheit"]
      default: "celsius"

execute:
  - step: "Виклик API погоди"
    api: "https://api.weather.com/v1/current"
    method: "GET"
    params:
      city: "{input.city}"
      unit: "{input.unit}"
  - step: "Форматування результату"
    format: "Поточна температура в {city}: {temperature}°{unit}"

output:
  type: object
  properties:
    temperature:
      type: number
    condition:
      type: string
    humidity:
      type: number

4. Найкращі практики

  • Єдина відповідальність: кожен Skill виконує лише одну дію, уникаючи надмірного зв'язування.
  • Самодостатність: намагайтеся не залежати від зовнішнього глобального стану; вхідні дані визначають вихідні.
  • Тестованість: надайте mock-дані або пісочницю для модульного тестування.
  • Документованість: для кожного Skill напишіть інструкцію з використання та приклади.

Завдяки такому підходу до визначення Skill, його можна динамічно використовувати AI Agent, а також безпосередньо інтегрувати в системи розробниками, досягаючи ефекту "написати один раз, використовувати всюди".

评论

暂无已展示的评论。

发表评论(匿名)