Цей допис є Частиною 1 з чотирьох частин серії. Обов’язково переглянь інші дописи в серії для детальнішого занурення в наш генератор бізнес-планів на базі ШІ.
Частина 1: Як ми створили генератор бізнес-планів на базі ШІ, використовуючи LangGraph & LangChain
Частина 2: Як ми оптимізували генерацію бізнес-планів на базі ШІ: швидкість проти якості
Частина 3: Як ми створили 273 юніт-тести за 3 дні без написання жодного рядка коду
Частина 4: Рамки оцінювання ШІ — Як ми створили систему для оцінки та поліпшення ШІ-генерованих бізнес-планів
При створенні генератора бізнес-планів з ШІ, ми почали з нуля, використовуючи LangChain та LangGraph, оскільки нам була необхідна агентна структура, здатна обробляти складні робочі процеси. На відміну від нашого попереднього проекту, Бізнес-консультант — чат-агент, який базувався на SDK OpenAI та обробці на основі пайплайну — цей новий проект вимагав структурованого, багатоступеневого робочого процесу ШІ для динамічного генерування та уточнення бізнес-планів.
Наша команда розробників визначила основну функціональність так:
- Користувачі проходили через бізнес-інтерв’ю, де відповідали на структуровані запитання.
- Кожна пара питання-відповідь відповідала певним розділам бізнес-плану.
- Користувачі могли пізніше оновити відповіді, що спричиняло регенерацію зацікавлених розділів.
- Система була розроблена для підтримки майбутніх предметно-орієнтованих агентів, таких як спеціалісти з фінансового моделювання або дослідження ринків.
Враховуючи зростаючу тенденцію до багатоагентних робочих процесів з ШІ у бізнес-додатках, ми структурували нашу систему з модульними, масштабованими компонентами ШІ, які могли б ефективно співпрацювати, забезпечуючи точність, послідовність та адаптивність.
Чому ми обрали LangChain & LangGraph
Створення складного додатку на базі ШІ вимагало більшого, ніж просто простих запитів LLM. Нам потрібно було:
- Архітектура, незалежна від моделі: Можливість перемикання між моделями OpenAI, Claude та навіть локальними LLM без значних переписувань.
- Графове виконання: Спосіб динамічної структуризації робочих процесів, що уникає жорстких пайплайнів.
- Постійна пам’ять: Здатність системи зберігати проміжні результати на протязі кроків.
- Масштабованість: Гнучкість у додаванні більш спеціалізованих штучних інтелектів у майбутньому.
LangChain та LangGraph забезпечували ці можливості через орієнтований ациклічний граф (DAG)-базовані робочі процеси, що дозволяли складні взаємодії між кількома вузлами обробки.
Хоча ми не впровадили спеціалізованих агентів для конкретних доменів відразу, систему було розроблено таким чином, щоб у майбутньому підтримувати моделі ШІ, які спеціалізуються на фінансових прогнозах, правовій відповідності або аналізі ринку, забезпечуючи гнучкість фреймворку.
Однією з головних тенденцій, яку ми виявили, було зростання використання робочих процесів багатоагентного ШІ у складних бізнес-застосунках. Компанії, такі як LinkedIn та Uber, успішно впровадили архітектури на базі агентів для покращення операцій та прийняття рішень. Надихнувшись цим, ми спроектували нашу систему таким чином, щоб кілька вузлів ШІ могли динамічно співпрацювати, забезпечуючи оптимізацію кожного етапу обробки незалежно при збереженні плавної інтеграції.
Впровадження Робочого Процесу З ШІ
Основна архітектура складалася з:
- Відповіді користувачів з інтерв’ю зберігаються у структурованому вигляді.
- Робочий процес на базі LangGraph що динамічно направляє завдання до відповідних вузлів ШІ.
- Гібридна стратегія вибору моделей, яка дозволяє різним завданням оброблятися різними моделями OpenAI (GPT-4o для детальних розділів, GPT-4o-mini для загального проектування).
- Гібридний підхід до генерації, де деякі розділи генерувалися індивідуально для точності, а інші оброблялися в пакетах для ефективності.
Покроковий Розбір Операцій
Наш процес генерації бізнес-плану включав декілька послідовних кроків:
- Чернетка Вузла — Створює початковий проект бізнес-плану на основі відповідей користувача.
- Вузол Оцінки — Оцінює проект, виявляючи прогалини та області для поліпшення.
- Уточнення після Оцінки — Коригує проект на основі відгуків оцінювання.
- Остаточне Створення — Виробляє фінальну версію, забезпечуючи повноту і зв’язність.
Цей багатоетапний підхід забезпечив поступове удосконалення бізнес-плану, а не спирався лише на одноразове створення ШІ. Однак, через обмеження продуктивності, ми пізніше спростили це до одноетапного процесу генерації з міркувань зручності, про що ми розповімо в майбутній статті.
Приклад Обробки на Основі Графів
graph TD;
A[Інтерв'ю з користувачем] --> B[Створення проекту];
B --> C[Оцінка];
C --> D[Уточнення після оцінки];
D --> E[Кінцевий бізнес-план];
Ця структура ілюструє, як завдання проходять через окремі етапи, забезпечуючи модульне та масштабоване виконання.
Приклад: Використання Інструменту Для Структурованої Генерації
Одним із наших ключових рішень було використання виклику інструменту у строгому режимі OpenAI. Це дозволило моделям ШІ взаємодіяти зі структурованими функціями та забезпечувати передбачувані, форматовані відповіді, зменшуючи галюцинації.
Приклад Виклику Інструменту: Генерація Розділів Бізнес-Плану
import { StructuredToolWithStrict } from 'langchain/tools';
import { z } from 'zod';
const sectionsSchema = z.object({ sections: z.array( z.object({ id: z.string().describe('Ідентифікатор секції'), slug: z.string().describe('Шаблонний псевдонім для цієї секції'), content: z.string().describe('Згенерований контент для цієї секції') }) ).describe('Набір секцій бізнес-плану') }).strict(); export class GenerateBusinessPlanSections extends StructuredToolWithStrict { name = 'generate_sections'; description = 'Генерація структурованих секцій бізнес-плану на основі вхідних даних користувача.'; schema = sectionsSchema; async _call(input) { return { sections: input.sections }; // Згенерований зміст надається як аргументи інструменту } }
Використання Zod для перевірки схеми забезпечило, що відповіді завжди були правильно сформовані та типобезпечні, зменшуючи помилки розбору та дозволяючи автоматизовану перевірку змісту, створеного ШІ.
Виклики & Модифікації LangChain
Незважаючи на переваги LangChain та LangGraph, ми зіткнулися з численними перешкодами, які вимагали індивідуальних змін:
- Обмеження LangChain → Відсутність строгого режиму для викликання інструментів та відсутність підтримки потокової передачі виводів інструментів. Ми розширили вбудовані функції LangChain, щоб забезпечити більш суворі обмеження виводів, і модифікували LangGraph для інкрементальної потокової передачі структурованих відповідей.
- Недостатня документація LangChain → Часто нам доводилося читати і аналізувати вихідний код LangChain через нестачу документації, що уповільнювало реалізацію та ускладнювало відлагодження.
- Проблеми з якістю коду → Деякі області реалізації LangChain мали низьку підтримуваність, що вимагало від нас рефакторингу та оптимізації ключових компонентів.
- Проблеми з продуктивністю при використанні API помічників OpenAI → Спочатку ми використовували Assistants API, але виявили, що створення потоків вводило значні затримки, а додаткові неструктуровані повідомлення в викликах інструментів сповільнювали час відгуку. Зрештою ми перейшли на Chat API для структурованих відповідей та підвищення ефективності.
Щоб вирішити ці питання, ми розробили спеціалізований компонент OpenAIAssistantRunnable, заснований на існуючій реалізації LangChain, але вдосконалений для підтримки потокової передачі, строгих викликів інструментів та багатокрокових робочих процесів.
Остаточне Регулювання Архітектури
Хоча первісна архітектура операцій залишилася незмінною, ми мінімізували кількість кроків обробки від кількох ітерацій до генерації одним кроком для покращення швидкості та користувацького досвіду у фінальному випуску.
Основні Висновки
- LangChain + LangGraph були незамінними але потребували глибокої настройки для структурованих відповідей та виклику інструментів.
- Гібридні підходи до генерації — поєднання індивідуальної та пакетної обробки — дозволили нам знайти баланс між точністю та ефективністю.
- Структуровані відповіді та перевірка схем суттєво покращили якість та надійність виводу ШІ.
- Багатоетапний підхід до обробки спочатку був використаний, але через обмеження продуктивності було впроваджено спрощену одноетапну генерацію.
- Оптимізація швидкості виконання ШІ шляхом переходу з Assistants API на Chat API різко зменшила час генерації, зберігаючи при цьому структуровані відповіді.
Спробуй Наш Пакет Для Бізнесу На ШІ
Відчуйте повні можливості наших бізнес-інструментів на базі ШІ, створених та розміщених на DreamHost. Від планування бізнесу до генерації контенту, наш набір інструментів ШІ призначений для допомоги підприємцям та бізнесам оптимізувати їхню діяльність.
Клієнти DreamHost можуть клікнути тут, щоб почати та вивчити наш генератор бізнес-планів на базі ШІ та інші інструменти ШІ.
Цей пост є Частиною 1 з 4-частинної серії. Обов’язково ознайомся з іншими постами серії, щоб глибше зануритися у наш генератор бізнес-планів з ШІ.
Частина 1: Як ми створили генератор бізнес-планів з ШІ, використовуючи LangGraph & LangChain
Частина 2: Як ми оптимізували генерацію бізнес-планів з ШІ: швидкість проти якості
Частина 3: Як ми створили 273 модульних тестів за 3 дні без написання жодного рядка коду
Частина 4: Рамки оцінювання ШІ — Як ми створили систему для оцінки та вдосконалення бізнес-планів, створених ШІ