Майбутнє штучного інтелекту (ШІ) розвивається швидкими темпами, при цьому мовні моделі (LLM) відіграють все більш важливу роль в автоматизації робочих процесів і трансформації способу взаємодії з технологіями. Однак, з розвитком можливостей ШІ, питання нагляду з боку людини та надійності стає дедалі актуальнішим. І ось тут на допомогу приходить HumanLayer — революційний набір інструментів для Python, який дозволяє агентам ШІ безпечно, надійно і асинхронно взаємодіяти з людьми.
Проблема: функції високого ризику :
Функції та інструменти є важливими складовими агентних робочих процесів, дозволяючи LLM взаємодіяти з навколишнім світом і автоматизувати складні завдання. Однак найбільш корисні функції часто є й найбільш ризикованими, вимагаючи людського нагляду, щоб запобігти можливим катастрофам. Наприклад, адміністратор баз даних ШІ, який може налаштовувати та рефакторити SQL бази даних, є надзвичайно цінним, але надання LLM доступу до виконання довільних SQL запитів до виробничої бази даних — це пряма дорога до катастрофи.
Рішення: HumanLayer
HumanLayer надає набір інструментів, які детерміновано гарантують людський нагляд за функціями високого ризику. Завдяки інтеграції людини в процес, агентні інструменти можуть отримувати доступ до більш потужних і значущих функцій та завдань, мінімізуючи ризик помилок або галюцинацій. Основні функції HumanLayer включають:
- Вимога людського схвалення для викликів функцій: Декоратор
[@hl](http://twitter.com/hl).require_approval()
блокує виклики певних функцій до того, як людина дасть свою згоду, забезпечуючи захист від можливих помилок. - Людина як інструмент: Функція
hl.human_as_tool()
дозволяє звернутися до людини за відповідями, порадами або відгуками, даючи змогу агентам ШІ звертатися за допомогою, коли це необхідно. - OmniChannel контакт: HumanLayer дозволяє контактувати з людьми через різні канали, зокрема Slack, Email, Discord і багато інших, забезпечуючи безшовну комунікацію.
- Тонка маршрутизація: Схвалення можуть бути направлені до конкретних команд або осіб, щоб забезпечити, що правильні люди отримують сповіщення та залучаються до процесу ухвалення рішень.
Майбутнє: автономні агенти та зовнішній цикл
З розвитком ШІ ми можемо очікувати виникнення автономних агентів, які працюють у "зовнішньому циклі", рухаючись до своїх цілей, використовуючи різні інструменти та функції. Ці агенти потребуватимуть людського нагляду для чутливих операцій і матимуть необхідність консультуватися з людьми щодо різних завдань. HumanLayer побудовано для того, щоб підтримати наступне покоління агентів ШІ, надаючи необхідні інструменти для безпечної та надійної співпраці людини та ШІ.
Основні функції та приклади :
HumanLayer підтримує будь-який LLM та всі основні фреймворки оркестрації, які підтримують виклик інструментів, що робить його ідеальним рішенням для широкого спектра застосувань.
Набір інструментів включає:
Вимога схвалення: Блокує певні виклики функцій, поки не буде проконсультовано людину
Людина як інструмент: Дозволяє зв'язатися з людиною для отримання відповідей, порад чи відгуків
OmniChannel контакт: Забезпечує контакт з людьми через різні канали
Тонка маршрутизація: Направляє схвалення до конкретних команд чи осіб
Репозиторій HumanLayer містить кілька прикладів використання інструментів набору, зокрема:
LangChain Math: Демонструє використання HumanLayer з LangChain
LangChain Human As Tool: Показує, як використовувати функцію hl.human_as_tool()
з LangChain
CrewAI Math: Ілюструє використання HumanLayer з CrewAI
ControlFlow Math: Демонструє використання HumanLayer з ControlFlow
# Для встановлення humanlayer
pip install humanlayer
# Базове використання
from humanlayer import HumanLayer
hl = HumanLayer()
@hl.require_approval()
def send_emails(to: str, subject: str, body: str):
"""Надіслати електронний лист користувачеві"""
...
# вигадана функція, використовуйте будь-який
# фреймворк виклику інструментів на ваш вибір
run_llm_task(
prompt="""Надіслати електронний лист, який вітає клієнта на платформі
та заохочує його запросити члена команди.""",
tools=[send_emails],
llm="gpt-4o"
)
Використовуйте нижче код як базовий приклад електронного листа для клієнта з людським наглядом за допомогою ollama:
from dotenv import load_dotenv
from llama_toolkit import LlamaToolkit
from humanlayer import ContactChannel, HumanLayer, SlackContactChannel
load_dotenv()
toolkit = LlamaToolkit(model_name="llama3.1", temperature=0.1)
hl = HumanLayer(
verbose=True,
contact_channel=ContactChannel(
slack=SlackContactChannel(
channel_or_user_id="",
experimental_slack_blocks=True,
)
),
# run_id є необов'язковим - його можна використовувати для ідентифікації агента в історії схвалень
run_id="langchain-customer-email",
)
task_prompt = """
Ви — асистент для електронної пошти. Ви перевіряєте прогрес клієнтів
і на основі цієї інформації ви
надсилаєте дружні та мотивуючі листи клієнтам, щоб допомогти їм повністю пройти реєстрацію
в продукті.
Перед тим як надіслати листа, ви консультуєтесь з керівником відділу маркетингу для отримання відгуків,
а потім надсилаєте листа.
Ваше завдання — підготувати листа для відправки клієнту [email protected]
"""
@toolkit.add_function()
def get_info_about_customer(email: str) -> str:
return f"Клієнт {email} є маленькою компанією, яка виробляє продукт під назвою MetaCorp. Вони шукають нового співробітника для своєї команди."
@toolkit.add_function()
@hl.require_approval()
def send_email(email: str, subject: str, body: str) -> str:
return f"Лист надіслано на {email} з темою: {subject}"
agent = toolkit.create_agent()
if __name__ == "__main__":
agent.invoke(task_prompt)
Дорожня карта та майбутні розробки :
Дорожня карта HumanLayer амбіційна, з кількома запланованими функціями та інтеграціями на майбутнє, зокрема:
CLI Схвалення: Забезпечує можливість схвалень через інтерфейс командного рядка
CLI Людина як інструмент: Дозволяє функціональність людини як інструменту через інтерфейс командного рядка
Slack Схвалення: Забезпечує схвалення через Slack
Підтримка Langchain: Офіційна підтримка LangChain
Підтримка CrewAI: Офіційна підтримка CrewAI
Підтримка GripTape: Альфа підтримка GripTape
Налаштовані варіанти відповіді: Дозволяє налаштовувати варіанти відповіді
Відкритий протокол для BYO сервера: Забезпечує підтримку для власних серверів
Висновок :
HumanLayer готовий революціонізувати спосіб нашої взаємодії з ШІ, надаючи безпечний та надійний набір інструментів для співпраці людини та ШІ. Дозволяючи агентам ШІ спілкуватися з людьми значущим та асинхронним способом, HumanLayer розкриває весь потенціал LLM і автономних агентів. Оскільки ландшафт ШІ продовжує розвиватися, HumanLayer є необхідним інструментом для кожного, хто прагне використовувати потужність ШІ, забезпечуючи при цьому надійність і відповідальність.
Приєднуйтесь до спільноти HumanLayer сьогодні та відкрийте майбутнє співпраці з ШІ.
Посилання на репозиторій GitHub:
https://github.com/humanlayer/humanlayer?tab=readme-ov-file
Перекладено з: Revolutionizing AI Introducing HumanLayer, the Ultimate Toolkit for Safe and Reliable Human-In-Loop-AI Collaboration