9 Observations from Building with AI Agents
Автор делится девятью наблюдениями после года разработки систем AI-агентов. Для непредсказуемых входных данных стоит прототипировать на самых сильных моделях, а узкие задачи специализировать через файнтюнинг — например, дообученный Qwen 3 8B обходит GPT 5.2 в zero-shot и работает локально. Статическая типизация (Rust вместо Ruby) повышает долю успешных one-shot решений, а команда из Claude, Gemini и Codex даёт качественную взаимную критику планов и реализации. Открытые модели вроде Qwen 3, GLM, DeepSeek V3 и Kimi K2.5 достигли порога качества по бенчмарку Tau2, и теперь конкуренция идёт по цене. Ночная оптимизация промптов через LLM-as-judge на основе последних 100 диалогов и горячая перезагрузка промпт-файлов (в духе DSPy) позволяют системе улучшаться без ручного вмешательства. Финальный вывод: skills — для интерактивных диалогов, код — для агентов, потому что skills проще отлаживать.
I’ve spent the last year building AI agent systems. Here are nine observations.
Последний год я строил системы AI-агентов. Вот девять наблюдений.
1. Prototype with the Best
1. Прототипируйте на лучших моделях
When the input is unpredictable, email parsing, voice transcription, messy data extraction, reach for state of the art. Figure out what works with the best models, then specialize them over time.
Когда вход непредсказуем — парсинг почты, транскрипция голоса, извлечение данных из мусора — берите state of the art. Сначала разберитесь, что работает на лучших моделях, а потом специализируйте их со временем.
2. Polish Small Gems
2. Шлифуйте маленькие самоцветы
I fine-tuned Qwen 3 for task classification using rLLM1. The 8B model beats GPT 5.2 zero-shot prompting & runs locally on my laptop. Fine-tuning shines when the task is well-defined & the input distribution is stable.
Я дообучил Qwen 3 для классификации задач с помощью rLLM1. Модель на 8B параметров обходит GPT 5.2 в zero-shot-промптинге и работает локально на моём ноутбуке. Файнтюнинг хорош, когда задача чётко определена, а распределение входов стабильно.
3. Use Built-In Spell-Check
3. Используйте встроенный спелл-чек
Static typing forces the AI to face a spell-check/compiler. Ruby let agents hallucinate valid-looking code that failed at runtime. Rust checks code’s grammar. One-shot success rates improve substantially for medium-complexity tasks.
Статическая типизация заставляет AI столкнуться со спелл-чеком/компилятором. Ruby позволял агентам галлюцинировать корректно выглядящий код, который падал в рантайме. Rust проверяет «грамматику» кода. Для задач средней сложности доля успехов с первой попытки заметно растёт.
4. Cajole your Team of Agent Rivals
4. Уговаривайте свою команду агентов-соперников
Build your agentic braintrust. Ask Claude to create a plan. Then prod Gemini & Codex to critique it; Claude addresses the critiques & implements the code. Once implemented, ask Gemini & Codex to critique the implementation relative to the plan & Claude to revise. Agents are great micromanagers.
Соберите свой агентский braintrust. Попросите Claude составить план. Затем подзадорьте Gemini и Codex покритиковать его; Claude отвечает на критику и пишет код. Когда реализация готова, попросите Gemini и Codex покритиковать её относительно плана, а Claude — внести правки. Агенты — отличные микроменеджеры.
5. Put All the Clay in One Pot
5. Сложите всю глину в один горшок
Building an agent is an exercise in Play-Doh. Some yellow, some red, some green clay. Each from a different pot. I’d like all the tools in one place : manage my memory, manage my prompts, capture my logs because it’s all a single closed loop to improvement with the model. Prompt → Output → Evaluation → Optimization → Prompt.
Построение агента похоже на лепку из Play-Doh. Немного жёлтой, немного красной, немного зелёной глины. Каждая — из своего горшка. Я хочу, чтобы все инструменты были в одном месте: управление памятью, управление промптами, сбор логов — ведь всё это единый замкнутый контур улучшения вместе с моделью. Промпт → Вывод → Оценка → Оптимизация → Промпт.
6. Recognize The iPhone 15 Era of AI
6. Признайте, что мы в эпохе iPhone 15 для AI
Qwen 3, GLM, DeepSeek V3, & Kimi K2.5 deliver strong performance at a fraction of the cost. The models are now strong enough for workflow tool calling that more intelligence may not have as concrete a benefit. Tau22 shows many models have attained this threshold & now we’re comparing them on cost rather than accuracy.
Qwen 3, GLM, DeepSeek V3 и Kimi K2.5 дают сильную производительность за долю стоимости. Модели уже достаточно сильны для вызова инструментов в рабочих процессах, и дополнительный интеллект может не давать ощутимой выгоды. Tau22 показывает, что многие модели достигли этого порога, и теперь мы сравниваем их по стоимости, а не по точности.
7. Document FTW
7. Документация — наше всё
As Harrison Chase put it : “in software, the code documents the app; in AI, the traces do.” Our system runs a nightly prompt optimization system. It collects the last 100 agent conversations, extracts failures (task timeouts, incorrect outputs, user corrections), & generates improved prompts using an LLM-as-judge3. This closed-loop improvement lifts task success rates incrementally each week without manual intervention.
Как сказал Harrison Chase: «в обычном софте приложение документирует код, в AI — трейсы». Наша система каждую ночь запускает оптимизацию промптов. Она собирает последние 100 разговоров агентов, выделяет неудачи (таймауты задач, неверные выводы, правки пользователя) и генерирует улучшенные промпты, используя LLM-as-judge3. Это замкнутое улучшение каждую неделю поэтапно поднимает долю успешных задач без ручного вмешательства.
8. Prompt Musical Chairs
8. Музыкальные стулья промптов
We can’t bring the system down for new prompts. The agents watch a prompt file & reload it automatically when it changes. This separates deployment from experimentation & enables DSPy4-style optimization to run automatically. Combine with versioned prompt files & you get full rollback capability.
Мы не можем останавливать систему ради новых промптов. Агенты следят за файлом промпта и автоматически перезагружают его при изменении. Это отделяет деплой от экспериментов и позволяет автоматически запускать оптимизацию в стиле DSPy4. Сочетайте с версионированием файлов промптов — и получите полный откат.
9. Who Do You Work For?
9. На кого вы работаете?
Skills are for interactive conversations. Code is for agents. Skills are easier to debug. When a skill fails, you know exactly where to look. When an agent chains ten function calls & the output is wrong, you’re hunting through logs.
Skills — для интерактивных диалогов. Код — для агентов. Skills легче отлаживать. Когда падает skill, вы точно знаете, куда смотреть. Когда агент сцепил десять вызовов функций, а вывод неверный, вы роетесь в логах.
What have you learned?
Чему научились вы?
RLLM is a Hugging Face library for reinforcement learning from human feedback on language models. ↩︎
Tau2 is an agentic benchmark measuring tool-calling accuracy across models. ↩︎
LLM-as-judge uses one language model to evaluate the outputs of another. ↩︎
DSPy is Stanford’s framework for programmatically optimizing prompts & few-shot examples. ↩︎
rLLM — это библиотека Hugging Face для обучения с подкреплением от обратной связи человека для языковых моделей. ↩︎ Tau2 — агентский бенчмарк, измеряющий точность вызова инструментов у моделей. ↩︎ LLM-as-judge использует одну языковую модель для оценки выходов другой. ↩︎ DSPy — фреймворк от Stanford для программной оптимизации промптов и few-shot-примеров. ↩︎