Створення автономної команди агентів
Я створив невелику команду агентів, щоб відтворити свій інженерний робочий процес. Вона виконує все: від читання завдання до пушу гілки, готової до рев'ю.
Робочий процес складається з таких етапів:
- Clarifier (Уточнювач): перевіряє, чи є завдання достатньо конкретним.
- Planner (Планувальник): досліджує кодову базу та пише план реалізації.
- Implementer (Виконавець): виконує план і робить коміти коду частинами.
- Reviewer (Рецензент): знаходить баги та проблеми зі стилем.
- Tester (Тестувальник): запускає тести та лінтери для забезпечення стабільності.
Головний секрет — у структурованій комунікації.
Агенти не спілкуються між собою у форматі чату. Вони видають структуровані токени, такі як PLAN_WRITTEN або REVIEW_RESULT. Оркестратор аналізує ці токени, щоб визначити наступний крок. Це робить систему швидшою, дешевшою та запобігає галюцинаціям.
Кожен агент має певну роль і модель:
• Planner (Opus): глибоке мислення для визначення шляхів до файлів та точних змін у коді. • Implementer (Sonnet): дотримується плану або виправляє конкретні блокери під час рев'ю. • Reviewer (Sonnet): порівнює код із базовою гілкою. Він використовує поріг впевненості 80%, щоб уникнути зайвого шуму. • Tester (Haiku): запускає команди Go, такі як vet, test та lint.
Ключові дизайнерські рішення для надійності:
- Одна задача на одного агента: це спрощує логіку.
- Фіксовані контракти виводу: це усуває потребу в додаткових викликах LLM для визначення намірів.
- Цикл перегляду та повторної спроби: система дозволяє до двох спроб виправити блокери.
- Оптимізація моделей: я використовую дорогі моделі для планування та дешевші для тестування, щоб заощадити кошти.
Ви можете автоматизувати свої повторювані цикли. Вам просто потрібно їх описати.
Optional learning community: https://t.me/GyaanSetuAi