The Age of Async Agents — Cognition's Walden Yan & OpenInspect's Cole Murray
Подкаст Latent Space, в котором ведущий swyx беседует с Walden Yan — сооснователем и CPO компании Cognition (создатель Devin), автором термина «context engineering» — и Cole Murray, создателем опенсорсного проекта OpenInspect для фоновых агентов. Главная тема — переход к «эпохе асинхронных агентов»: модели Opus 4.5 и GPT 5.2 в декабре 2025 года достигли уровня, при котором путь «от спецификации к готовому pull request» стал практичным. У Cognition доля коммитов, сделанных Devin, выросла с 16% в январе до 80% в марте, а число смерженных PR увеличилось в 7 раз при росте инженерного штата всего на ~10%. Обсуждаются архитектура фоновых агентов (harness «в коробке» против «вне коробки», отделение «мозга» от машины ради безопасности), настройка репозиториев, полноценные VM, снапшоты, тестирование с видеозаписями, интеграции со Slack и GitHub, проблемы памяти и MCP, а также мульти-агентные системы. Cognition недавно объявила о раунде Series D на $1 млрд, а ключевой риск бесконтрольного vibe-кодинга формулируется так: кодовая база деградирует до уровня вашего худшего инженера.
The Age of Async Agents — Cognition's Walden Yan & OpenInspect's Cole Murray
Эпоха асинхронных агентов — Walden Yan из Cognition и Cole Murray из OpenInspect
The new AIEWF website is live! CFPs close in 2 days and we will run our first New Engineer Orientation this weekend, get your tickets booked ASAP as they -will- sell out. Take the AI Engineering Survey and get >$2k in credits and free AIE WF tickets!
Новый сайт AIEWF уже запущен! Приём заявок (CFP) закрывается через 2 дня, а в эти выходные мы проведём первую New Engineer Orientation — бронируйте билеты как можно скорее, они точно будут раскуплены. Пройдите опрос AI Engineering Survey и получите кредиты на сумму >$2k и бесплатные билеты на AIE WF!
One of the central tensions in the agents industry is that even while there are major decacorn agent labs like Sierra, Decagon, Notion and Cursor being built up, it is also true that it has never been easier to DIY agents, with a plethora of agent frameworks like LangGraph and Pydantic and Flue, and managed agents from Anthropic and Gemini and Amazon. There has been a wave of companies building their own background agents from Shopify to Stripe to Paradigm to Razorpay, and even Cognition’s friends Ramp have built their own coding agent with other friend Modal.
Одно из центральных противоречий в индустрии агентов состоит в том, что хотя строятся крупные «декакорн»-лаборатории агентов вроде Sierra, Decagon, Notion и Cursor, одновременно верно и то, что собирать агентов своими руками ещё никогда не было так просто — благодаря множеству агентских фреймворков, таких как LangGraph, Pydantic и Flue, а также управляемым агентам от Anthropic, Gemini и Amazon. Возникла целая волна компаний, строящих собственных фоновых агентов — от Shopify до Stripe, от Paradigm до Razorpay, и даже друзья Cognition из Ramp построили собственного кодинг-агента вместе с другими друзьями из Modal.
You’d think Cognition might feel a bit threatened, but they’re not - even after all this, they were way oversubscribed for the $1B Series D they just announced:
Казалось бы, Cognition могла бы чувствовать некоторую угрозу, но это не так — даже после всего этого их раунд Series D на $1 млрд, который они только что анонсировали, был многократно переподписан:
Walden Yan, coiner of context engineering and Chief Product Officer/Cofounder of Cognition, invited OpenInspect’s Cole Murray to talk about why the Devin is in the Details.
Walden Yan, автор термина context engineering и Chief Product Officer/сооснователь Cognition, пригласил Cole Murray из OpenInspect, чтобы поговорить о том, почему the Devin is in the Details.
Full conversation live on the pod today:
Полный разговор уже вышел в подкасте сегодня:
In retrospect, async agents were the most AGI pilled bet you could make in 2024 - the models weren’t good enough yet to vibecode, and people didn’t trust AI enough to let it rip, nobody (including early Cognition) was sure about the form factors.
Оглядываясь назад, асинхронные агенты были самой «AGI-pilled» ставкой, которую можно было сделать в 2024 году: модели тогда ещё не были достаточно хороши для vibe-кодинга, люди недостаточно доверяли ИИ, чтобы отпустить поводья, и никто (включая раннюю Cognition) не был уверен в форм-факторах.
Now it is obvious:
Теперь это очевидно:
The first wave of AI coding tools made the developer faster but remain heavily in the loop. Copilor and Cursor’s tab autocomplete are prime examples However, the workflow was still heavily centered around and bottlenecked by the developer’s local workflow: a developer in an IDE, watching the model, accepting or rejecting changes, and pushing code one interaction at a time.
The second wave was local agents: Claude Code, Windsurf, Cursor’s agents pane: first one and increasingly many terminals all running concurrently.
The current Age of Async Agents points to a different future focused more on agent orchestration which drives end-to-end development.
Первая волна инструментов ИИ для кодинга сделала разработчика быстрее, но он по-прежнему сильно оставался в цикле. Tab-автодополнение в Copilot и Cursor — яркие тому примеры. Однако рабочий процесс всё ещё был сильно завязан на локальный workflow разработчика и упирался в него: разработчик в IDE, наблюдающий за моделью, принимающий или отклоняющий изменения и отправляющий код по одному взаимодействию за раз. Второй волной стали локальные агенты: Claude Code, Windsurf, панель агентов в Cursor — сначала один, а потом всё больше терминалов, работающих одновременно. Нынешняя эпоха асинхронных агентов указывает на иное будущее, сосредоточенное скорее на оркестрации агентов, которая управляет разработкой от начала до конца.
According to previous guest Steve Yegge, there are finer-grained 8 levels to agent adoption, but we have collapsed it into three.
По словам предыдущего гостя Steve Yegge, существует более детальная градация из 8 уровней внедрения агентов, но мы свели её к трём.
As Cursor’s Michael Truell put it in The third era of AI software development:
Как выразился Michael Truell из Cursor в статье The third era of AI software development:
Cursor is no longer primarily about writing code. It is about helping developers build the factory that creates their software. This factory is made up of fleets of agents that they interact with as teammates: providing initial direction, equipping them with the tools to work independently, and reviewing their work.
Cursor больше не посвящён в первую очередь написанию кода. Он помогает разработчикам построить фабрику, которая создаёт их программное обеспечение. Эта фабрика состоит из флотилий агентов, с которыми они взаимодействуют как с коллегами: задают начальное направление, снабжают инструментами для самостоятельной работы и проверяют их результаты.
The agent should not sit solely inside the developer’s flow. It should be setup to work in the background so that you can give it a task, a repo, a machine, a shell, a browser, tests, memory, and review loops to go do the work somewhere else.
Агент не должен находиться исключительно внутри потока работы разработчика. Он должен быть настроен так, чтобы работать в фоне: вы можете дать ему задачу, репозиторий, машину, шелл, браузер, тесты, память и циклы ревью — чтобы он шёл и делал работу где-то ещё.
In less than a year, the sentiment has shifted from avoiding multi-agent systems:
Менее чем за год настроение сместилось от избегания мульти-агентных систем:
to suggesting approaches that actually work:
к предложению подходов, которые действительно работают:
From coining “context engineering” to building the infrastructure behind Devin’s 7x PR growth and jump from 16% to 80% of commits across Cognition repos, Walden Yan has had a front-row seat to the background-agent shift. In this episode, Cognition co-founder and CPO Walden Yan joins swyx alongside Cole Murray, creator of OpenInspect, to unpack why everyone is building their own Devin, what changed after the December 2025 model inflection, and why “spec to pull request” is now becoming a real production workflow.
От введения термина «context engineering» до построения инфраструктуры, стоящей за 7-кратным ростом числа PR у Devin и скачком с 16% до 80% коммитов по репозиториям Cognition — Walden Yan наблюдал сдвиг в сторону фоновых агентов из первого ряда. В этом выпуске сооснователь и CPO Cognition Walden Yan присоединяется к swyx вместе с Cole Murray, создателем OpenInspect, чтобы разобраться, почему все строят собственного Devin, что изменилось после модельного перелома в декабре 2025 года и почему путь «от спецификации к pull request» сейчас становится реальным production-процессом.
We go deep on the architecture of background agents: harness-in-the-box vs out-of-the-box, why Devin separates the “brain” from the machine, why repo setup is still one of the hardest problems, why Docker is not always enough, and how full VMs, snapshots, scoped secrets, GitHub bots, Slack integrations, and video-based testing all fit together. Walden and Cole also dig into memory, MCP limitations, multi-agent orchestration, AI code review, SRE auto-triage, PMs shipping code from Slack, Windsurf 2.0, hybrid frontier/sub-frontier systems, and the real failure mode of uncontrolled vibe coding: your codebase regressing to your worst engineer.
Мы подробно разбираем архитектуру фоновых агентов: harness «в коробке» против «вне коробки», почему Devin отделяет «мозг» от машины, почему настройка репозитория по-прежнему остаётся одной из самых сложных задач, почему Docker не всегда достаточен, и как полноценные VM, снапшоты, секреты с ограниченным скоупом, GitHub-боты, интеграции со Slack и тестирование на основе видео складываются в единое целое. Walden и Cole также углубляются в память, ограничения MCP, мульти-агентную оркестрацию, ИИ-ревью кода, авто-триаж для SRE, PM-ов, отправляющих код прямо из Slack, Windsurf 2.0, гибридные системы frontier/sub-frontier и реальный режим отказа бесконтрольного vibe-кодинга: ваша кодовая база деградирует до уровня вашего худшего инженера.
And as agents eat software… and software eats the world… you can draw the conclusion on what is next:
И поскольку агенты поедают software… а software поедает мир… вы можете сами сделать вывод о том, что будет дальше:
We discuss:
Мы обсуждаем:
Why the engineering world is waking up to background agents and cloud agents
The December 2025 model inflection that made spec-to-PR workflows practical
Devin’s 7x merged PR growth and rise from 16% to 80% of commits
Why Cole built OpenInspect as an open-source background-agent system
The economics of $20/seat agent products and why monetization is tricky
What Cognition actually sells beyond Devin: infra, onboarding, integrations, and adoption
Harness in the box vs out of the box, and why architecture matters
Why Devin separates the brain from the machine for security and permissions
Repo setup, scoped secrets, Docker Compose, and agent-ready dev environments
Why full VMs matter when agents need to run real applications and test them
Android, macOS, Windows, nested virtualization, and machine-specific agent work
Why testing is much harder than “computer use”
Screenshots, video verification, and the “I know it works” merge moment
GitHub UX, Devin Review, AI reviewers, and agents responding to PR comments
Why MCP alone is not enough for first-class Slack and enterprise integrations
Memory, Knowledge, skills, Claude.md, and why retrieval is still unsolved
Devin’s auto-generated memories and the challenge of memory pruning
Always-on agents as permanent PMs for issues, tickets, and product areas
Sub-agents, meta-Devin management, and what multi-agent systems actually add
Why pure auto-merge vibe coding breaks down after about two weeks
AI code smells, lint rules, reward hacking, and Semgrep for agent-written code
GitAI, inline context, and preserving the “why” behind code changes
Local testing, mock servers, older codebases, and preparing companies for agents
Windsurf 2.0 and the handoff between local foreground agents and cloud background agents
SRE auto-triage, support workflows, and agents as first responders
PMs, marketing, and non-engineers creating pull requests from Slack
AI agent budgets, $1k-$5k per engineer spend, and hybrid frontier/sub-frontier systems
The rise of autonomous coding factories and who Cognition is hiring
Почему инженерный мир пробуждается к фоновым агентам и облачным агентам. Модельный перелом декабря 2025 года, который сделал workflow «от спецификации к PR» практичным. 7-кратный рост смерженных PR у Devin и подъём с 16% до 80% коммитов. Почему Cole построил OpenInspect как опенсорсную систему фоновых агентов. Экономика агентских продуктов по $20 за место и почему монетизация даётся непросто. Что на самом деле продаёт Cognition помимо Devin: инфраструктуру, онбординг, интеграции и внедрение. Harness «в коробке» против «вне коробки» и почему архитектура имеет значение. Почему Devin отделяет мозг от машины ради безопасности и прав доступа. Настройка репозитория, секреты с ограниченным скоупом, Docker Compose и готовые для агентов dev-окружения. Почему полноценные VM важны, когда агентам нужно запускать реальные приложения и тестировать их. Android, macOS, Windows, вложенная виртуализация и работа агентов на конкретных машинах. Почему тестирование намного сложнее, чем «computer use». Скриншоты, видео-верификация и момент мержа «я знаю, что это работает». UX GitHub, Devin Review, ИИ-ревьюеры и агенты, отвечающие на комментарии к PR. Почему одного MCP недостаточно для полноценных интеграций со Slack и enterprise-системами. Память, Knowledge, навыки (skills), Claude.md и почему retrieval по-прежнему не решён. Автогенерируемые воспоминания Devin и проблема очистки памяти. Всегда включённые агенты как постоянные PM-ы для задач, тикетов и продуктовых областей. Сабагенты, мета-Devin-менеджмент и что на самом деле добавляют мульти-агентные системы. Почему чистый vibe-кодинг с авто-мержем ломается примерно через две недели. ИИ-«code smells», правила линтинга, reward hacking и Semgrep для кода, написанного агентами. GitAI, встроенный в код контекст и сохранение «почему» за изменениями кода. Локальное тестирование, mock-серверы, старые кодовые базы и подготовка компаний к агентам. Windsurf 2.0 и передача задач между локальными foreground-агентами и облачными фоновыми агентами. Авто-триаж для SRE, процессы поддержки и агенты как первые реагирующие. PM-ы, маркетинг и неинженеры, создающие pull request-ы из Slack. Бюджеты на ИИ-агентов, расходы $1k–$5k на инженера и гибридные системы frontier/sub-frontier. Подъём автономных кодинг-фабрик и кого нанимает Cognition.
Walden Yan
Walden Yan
LinkedIn: https://www.linkedin.com/in/waldenyan/
X: https://x.com/walden_yanLinkedIn: https://www.linkedin.com/in/waldenyan/
Cole Murray
Cole Murray
LinkedIn: https://www.linkedin.com/in/colemurray/
OpenInspect / Background Agents: https://github.com/ColeMurray/background-agents
X: https://x.com/_colemurrayLinkedIn: https://www.linkedin.com/in/colemurray/OpenInspect / Background Agents: https://github.com/ColeMurray/background-agents
Timestamps
Тайм-коды
00:00:00 Introduction
00:00:43 Why Everyone Is Building Their Own Devin
00:01:57 Devin’s 2025 Ramp: 7x PR Growth and 80% of Commits
00:03:49 OpenInspect and the Rise of Open-Source Background Agents
00:07:59 What Cognition Actually Sells Beyond Devin
00:09:56 Background Agent Architecture: Harness In vs Out of the Box
00:12:08 Separating the Brain from the Machine
00:14:07 Repo Setup, Secrets, Docker, and Full VMs
00:19:13 Why Testing Is Harder Than Computer Use
00:22:40 Video Verification and the “I Know It Works” Merge Moment
00:23:19 GitHub UX, Devin Review, and AI Code Review
00:25:42 MCP, Slack, and Enterprise Agent Integrations
00:28:59 Memory, Knowledge, and Always-On Agents
00:36:16 Sub-Agents, Multi-Agent Orchestration, and Meta-Devin
00:43:55 Vibe Coding, Auto-Merge, and Codebase Decay
00:48:38 Agent Infra, VPCs, Cloud Providers, and Fast VM Restore
00:52:25 AI Code Smells, Reward Hacking, and Code Review Systems
00:56:10 Making Codebases Agent-Ready
00:58:30 Windsurf 2.0 and the Local-to-Cloud Agent Handoff
01:01:15 SRE Auto-Triage, PMs Shipping Code, and Agent Use Cases
01:04:32 Agent Budgets, Hybrid Models, and Autonomous Coding Factories
01:06:51 Hiring at Cognition and OpenInspect Consulting
01:07:45 Outro
00:00:00 Введение00:00:43 Почему все строят собственного Devin00:01:57 Разгон Devin в 2025 году: 7-кратный рост PR и 80% коммитов00:03:49 OpenInspect и подъём опенсорсных фоновых агентов00:07:59 Что на самом деле продаёт Cognition помимо Devin00:09:56 Архитектура фонового агента: harness «в коробке» против «вне коробки»00:12:08 Отделение мозга от машины00:14:07 Настройка репозитория, секреты, Docker и полноценные VM00:19:13 Почему тестирование сложнее, чем computer use00:22:40 Видео-верификация и момент мержа «я знаю, что это работает»00:23:19 UX GitHub, Devin Review и ИИ-ревью кода00:25:42 MCP, Slack и enterprise-интеграции агентов00:28:59 Память, Knowledge и всегда включённые агенты00:36:16 Сабагенты, мульти-агентная оркестрация и мета-Devin00:43:55 Vibe-кодинг, авто-мерж и деградация кодовой базы00:48:38 Инфраструктура агентов, VPC, облачные провайдеры и быстрое восстановление VM00:52:25 ИИ-«code smells», reward hacking и системы ревью кода00:56:10 Подготовка кодовых баз к агентам00:58:30 Windsurf 2.0 и передача задач от локального к облачному агенту01:01:15 Авто-триаж для SRE, PM-ы, отправляющие код, и сценарии использования агентов01:04:32 Бюджеты на агентов, гибридные модели и автономные кодинг-фабрики01:06:51 Найм в Cognition и консалтинг OpenInspect01:07:45 Заключение
Transcript
Транскрипт
Introduction: Walden Yan, Cole Murray, and Context Engineering
Введение: Walden Yan, Cole Murray и context engineering
Swyx [00:00:00]: All right, we’re in the studio with Walden Yan, co-founder of Cognition, CPO.
Swyx [00:00:00]: Итак, мы в студии с Walden Yan, сооснователем Cognition, CPO.
Walden [00:00:08]: Happy to be here.
Walden [00:00:08]: Рад быть здесь.
Swyx [00:00:09]: Which is a cool title. And coiner of context engineering.
Swyx [00:00:09]: Крутая должность. И автор термина context engineering.
Walden [00:00:15]: Although I think there are many people who’d used the terms in various ways beforehand, but I did find that people, both internally and externally, enjoyed the upgrade from prompt engineering or model wrapping into maybe a more thoughtful way to build agents.
Walden [00:00:15]: Хотя, думаю, многие использовали эти термины по-разному и раньше, но я обнаружил, что людям — и внутри компании, и снаружи — понравился апгрейд от prompt engineering или «оборачивания модели» к более продуманному способу строить агентов.
Swyx [00:00:33]: For those who haven’t caught up on that, I have on screen the Don’t Build Multi-Agents post, which you should go read on and we might refer to, and Cole Murray, who created OpenInspect.
Swyx [00:00:33]: Для тех, кто не в курсе: у меня на экране пост Don’t Build Multi-Agents, который стоит прочитать и к которому мы, возможно, ещё вернёмся, и Cole Murray, создатель OpenInspect.
Cole [00:00:43]: Great to be here.
Cole [00:00:43]: Здорово быть здесь.
Swyx [00:00:43]: So let’s talk about it. Everyone is building their own Devins. What’s going on?
Swyx [00:00:43]: Так давайте поговорим об этом. Все строят собственных Devin-ов. Что происходит?
The December Shift: From Handholding Models to Autonomous PRs
Декабрьский сдвиг: от ведения модели за руку к автономным PR
Cole [00:00:51]: So I think the engineering world is waking up to this idea of background agents, cloud agents, whatever you’d like to call it. And I think we saw a shift around the December timeframe of 2025, where the models Opus 4.5 and GPT 5.2, they reached a capability where we moved away from handholding the model and being able to actually more or less autonomously drive the model. And what I mean by that is that we could pretty much go from a specification to a completed pull request, assuming the spec was good enough, with very little friction. And that paradigm alone, I think, changed a lot of how we interact with agents, and opened this world where background agents became more practical.
Cole [00:00:51]: Думаю, инженерный мир пробуждается к этой идее фоновых агентов, облачных агентов — как ни называй. И мне кажется, мы увидели сдвиг примерно в декабре 2025 года, когда модели Opus 4.5 и GPT 5.2 достигли уровня возможностей, на котором мы ушли от ведения модели за руку к тому, чтобы более-менее автономно ею управлять. Я имею в виду, что мы могли практически перейти от спецификации к готовому pull request — при условии, что спецификация была достаточно хороша, — с очень малым трением. И одна эта парадигма, думаю, сильно изменила то, как мы взаимодействуем с агентами, и открыла мир, в котором фоновые агенты стали гораздо практичнее.
Swyx [00:01:41]: I think for Cole, everyone experienced this in December, but I feel like there was just this increasing ramp, right? There was this moment which was, I think, Sonnet 3.7, where, You guys rewrote Devin in one night or something. So describe 2025 or how it felt from your side.
Swyx [00:01:41]: Думаю, для Cole — все ощутили это в декабре, но у меня такое чувство, что был просто нарастающий разгон, верно? Был момент, кажется, с Sonnet 3.7, когда вы переписали Devin за одну ночь или что-то в этом роде. Так опиши 2025 год — каким он ощущался с твоей стороны.
Walden [00:02:01]: In retrospect, we always thought it was ramping up, but then even now, over the last three, four months from today, it’s been ramping up even faster. So it’s almost funny to be talking about how, big of a leap Sonnet 3.7 was, and honestly, a lot of it was stripping out parts of Devin that were no longer needed with that jump in of intelligence. But I also just think that a lot of the recent leaps, especially, you look at, models like Opus and the latest GPT models, they are reaching levels of autonomy where people are actually finding that they actually can just be hands-off. And people who were once debating, “Oh, do I need to be in the weeds with my model in the IDE? Can I just completely move it off into the cloud?” That’s a more serious conversation, and we’ve seen that in all of our growth charts. Internally there’s this funny graph where our usage has, of PRs, our merged PRs, has grown 7X since I forget what it was called.
Walden [00:02:01]: Оглядываясь назад, мы всегда считали, что идёт разгон, но даже сейчас, за последние три-четыре месяца, разгон стал ещё быстрее. Так что почти забавно говорить о том, каким большим скачком был Sonnet 3.7 — и, честно говоря, во многом это было вырезанием частей Devin, которые с этим скачком интеллекта стали уже не нужны. Но я также думаю, что многие недавние скачки — взгляните на модели вроде Opus и последние GPT — достигают уровней автономности, при которых люди реально обнаруживают, что могут просто отпустить поводья. И те, кто раньше спорил: «Нужно ли мне быть в гуще событий с моделью в IDE? Могу ли я полностью унести её в облако?» — теперь это более серьёзный разговор, и мы видим это во всех наших графиках роста. Внутри есть забавный график: число наших смерженных PR выросло в 7 раз с тех пор, как… забыл, как это называлось.
Swyx [00:02:57]: I think Dev, maybe tweeted that. Yes.
Swyx [00:02:57]: Думаю, Dev, кажется, твитнул это. Да.
Walden [00:03:01]: it grew like 7X over, the last, I think it was, two months, three months, something like that. And then you see our engineering headcount growth. It’s, gone up by, 10% or something.
Walden [00:03:01]: оно выросло примерно в 7 раз за последние, кажется, два месяца, три месяца, что-то такое. А потом смотришь на рост нашего инженерного штата — он вырос на 10% или около того.
Swyx [00:03:11]: We were, we were afraid To release this. So this is Devin commit percentages on all Devin repos, was 16% in January and now 80% in March.
Swyx [00:03:11]: Мы, мы боялись это публиковать. Так вот, это процент коммитов Devin по всем репозиториям Devin — было 16% в январе, а теперь 80% в марте.
Walden [00:03:25]: It’s a big shift right now. And so it makes sense that a lot of people are now thinking about, buying Devin, but also maybe, trying to build their own and there’s Lots of I have a lot of fun building Devin, so I can see why other people would want to build their own cloud agents as well. Matt, well, maybe it’s good to hear, what initially inspired you to try to build OpenInspect?
Walden [00:03:25]: Прямо сейчас это большой сдвиг. И логично, что многие сейчас думают о том, чтобы купить Devin, но, может быть, также попробовать построить собственного. И мне очень весело строить Devin, так что я понимаю, почему другие тоже хотят строить собственных облачных агентов. Matt, ну, может, стоит услышать — что изначально вдохновило тебя попытаться построить OpenInspect?
OpenInspect: Ramp, Cloud Agents, and Open Source
OpenInspect: Ramp, облачные агенты и опенсорс
Cole [00:03:49]: OpenInspect came about, through primarily my clients observing how they were using tools like Claude, OpenAI’s Codex at the time, and seeing some of the friction that they were having with it. Primarily the Claude was being used through Slack, and a big issue they ran into was that the sessions that were launched were specific to whoever called it via Slack. And so if a PM was the one who invoked the session and they would then go to pass context to engineering can’t see the session. And that in itself was a deal breaker because the PM, “Hey, engineering, can you jump in?” But there’s nothing to jump in on unless they’re copy-pasting out or the single response that came back. And so seeing some of these problems, I had built a similar architecture internally, just to experiment with, test out different ideas as this trend of moving off of localhost was starting to become, And as Ramp released their blog post, I had a lot of the pieces for this already in place, and just thought it would be funny to, see what Claude could do just purely from the blog post. And on my X account, there’s actually a thread of where I live tweeted, going through this
Cole [00:03:49]: OpenInspect появился в основном из наблюдений за моими клиентами — за тем, как они использовали инструменты вроде Claude, OpenAI’s Codex на тот момент, и за тем трением, с которым они сталкивались. В основном Claude использовался через Slack, и большой проблемой было то, что запускаемые сессии были привязаны к тому, кто вызвал её через Slack. И вот, если сессию запускал PM, а потом он шёл передавать контекст инженерам, инженеры не видели сессию. И это само по себе было непреодолимым препятствием, потому что PM говорит: «Эй, инженеры, можете подключиться?» — но подключаться-то не к чему, разве что они скопируют-вставят единственный пришедший ответ. И вот, видя эти проблемы, я построил похожую архитектуру у себя — просто чтобы экспериментировать, пробовать разные идеи, поскольку этот тренд ухода с localhost начинал набирать силу. И когда Ramp опубликовала свой пост в блоге, у меня уже было много готовых кусочков для этого, и я просто подумал, что будет забавно посмотреть, что Claude сможет сделать чисто на основе этого поста. И на моём X-аккаунте есть тред, где я в прямом эфире твитил, проходя через это
Cole [00:05:14]: comparing GPT and Claude as both of them are going through it.
Cole [00:05:14]: сравнивая GPT и Claude, пока оба проходили через это.
Swyx [00:05:17]: On the announcement thing or something else?
Swyx [00:05:17]: В треде про анонс или где-то ещё?
Cole [00:05:19]: right after it got released. We can put it in the show notes. Yeah, it was helpful that I had already knew how to verify the system. I knew what I was looking for. I think Ramp did a great job of really illustrating, the technical aspects of how to build something. It was much more than just like, “Hey, we built a great system.” It was, “And here’s how you can build it too.” And so, I resonated a lot with that, just with the problems that I was already seeing, and I thought that, looking around, I didn’t really see anything in the open source community that, met this type of system. I think there’s a lot that run, in localhost like Superset, Conductor, and many others.But nothing that was actually running in the cloud. And so, I built it, and I thought it was interesting to just open source it and allow anyone to then have a foundation that they can mix and match on top of.
Cole [00:05:19]: прямо после того, как его опубликовали. Можем добавить ссылку в show notes. Да, помогло то, что я уже знал, как верифицировать систему. Я знал, что искать. Думаю, Ramp проделали отличную работу, по-настоящему наглядно показав технические аспекты того, как что-то построить. Это было гораздо больше, чем просто «Эй, мы построили отличную систему». Это было «И вот как ты тоже можешь это построить». И мне это очень откликнулось — как раз из-за проблем, которые я уже видел; и, оглядываясь вокруг, я не видел в опенсорс-сообществе ничего, что соответствовало бы такому типу системы. Думаю, есть много решений, которые работают на localhost, вроде Superset, Conductor и многих других. Но ничего, что действительно работало бы в облаке. И вот я это построил и подумал, что интересно будет просто выложить это в опенсорс и дать любому фундамент, на котором можно микшировать и комбинировать поверх.
The Business of Background Agents: Open Source vs. Devin
Бизнес фоновых агентов: опенсорс против Devin
Swyx [00:06:16]: So literally after Devin was launched was, there was OpenDevin Which became All Hands. I don’t know if you tried that or
Swyx [00:06:16]: То есть буквально сразу после запуска Devin появился OpenDevin, который превратился в All Hands. Не знаю, пробовал ли ты его, или…
Walden [00:06:22]: I was going to say, one of the things that interested me a lot with OpenInspect was, you didn’t try to go make it then something you monetize. There are a lot of, I think, these open source projects would then go and really try to, raise V
Walden [00:06:22]: Я как раз хотел сказать: одна из вещей, которая меня очень заинтересовала в OpenInspect, — что ты не попытался превратить его во что-то, что монетизируешь. Многие из этих опенсорс-проектов потом идут и реально пытаются поднять ра…
Swyx [00:06:36]: That’s why no OpenDevin. Yeah.
Swyx [00:06:36]: Вот почему нет OpenDevin. Да.
Walden [00:06:38]: yeah, and how did you think about that? I thought that was very interesting.
Walden [00:06:38]: да, и как ты к этому подошёл? Мне это показалось очень интересным.
Cole [00:06:44]: I thought, and just what I had seen across my clients, was that having a background agent system is going to become a critical infrastructure within their company. And so because of that, I think that I wanted to open source it so that they could fork it and put in whatever customization they wanted. To that question though, I get asked all, “Oh, are you going to raise? Are you going to turn this into a service?”
Cole [00:06:44]: Я подумал — и судя по тому, что я видел у своих клиентов, — что наличие системы фоновых агентов станет критической инфраструктурой внутри их компании. И поэтому я хотел выложить её в опенсорс, чтобы они могли форкнуть её и встроить любую кастомизацию, какую захотят. Но по поводу твоего вопроса — меня всё время спрашивают: «О, ты собираешься поднимать раунд? Превратишь это в сервис?»
Walden [00:07:08]: I’m sure you’ve gotten offers.
Walden [00:07:08]: Уверен, тебе делали предложения.
Cole [00:07:09]: but primarily I don’t want to do that for a few reasons. One, I think that I don’t want to compete for, $20 a seat. I think that is just a really difficult business. I think it’s very easy to copy the main pieces of it. Again, I built this fairly quickly. And I think because you are not owning, I guess, the entire stack, it’s hard to monetize. You have money being made at the sandbox layer with Daytona, E2b, many other players. You have money being made at the model layer. And you sit in this weird in-between gray area where what are you actually selling? You’re selling, I guess, the infrastructure. You’re selling, the integrations maybe.
Cole [00:07:09]: но в основном я не хочу этого делать по нескольким причинам. Во-первых, я не хочу конкурировать за $20 с места. Думаю, это просто очень трудный бизнес. Думаю, основные его части очень легко скопировать. Опять же, я построил это довольно быстро. И поскольку ты не владеешь, скажем так, всем стеком, монетизировать сложно. Деньги делаются на уровне песочницы — Daytona, E2b и многие другие игроки. Деньги делаются на уровне модели. А ты сидишь в этой странной серой зоне посередине: что ты вообще продаёшь? Ты продаёшь, наверное, инфраструктуру. Ты продаёшь, может быть, интеграции.
Swyx [00:07:55]: let’s ask the guy. What are you What are you selling?
Swyx [00:07:55]: давай спросим у человека. Что ты — что ты продаёшь?
Walden [00:07:59]: Well, yeah, there’s multiple layers to this in practice, and actually it’s funny you mentioned the infrastructure, ‘cause when we got started building Devin as well, we had to go figure out how to make the infrastructure as well because,
Walden [00:07:59]: Ну, тут на практике несколько слоёв, и забавно, что ты упомянул инфраструктуру, потому что когда мы начали строить Devin, нам тоже пришлось разбираться, как сделать инфраструктуру, потому что,
Swyx [00:08:10]: You had to build this two years before everyone else,?
Swyx [00:08:10]: Вам пришлось строить это за два года до всех остальных, да?
Swyx [00:08:15]: Including, the model side
Swyx [00:08:15]: Включая модельную сторону.
Walden [00:08:17]: It was not, it was not very polished at the start, when we just built it off of raw VMs from cloud providers like EC2, the boot up time was so slow, I think, And especially then, turning off the machines, saving them, and then to be able to bring them back up again when the, when you want Devin to wake up again later. It would just be out cold for like 10 minutes because that’s just how long these systems took. They were not built for this repeated down and up usage. And so we actually had to go do all of that. And as a result now, one thing we offer when we go and sell Devin to people is, you don’t have to worry about all the compute side of things. We’ll make it work. We’ll make it work in your cloud if you want it to. But aside from the product, and I want to go into the agents and the tuning of the intelligence part later, but I think a big part of what we do at Cognition as well is to just make sure that your company learns and uses and adopts these coding agents. ‘Cause I think for especially the largest enterprises in the world, you find that there is a lot of people who want to move over to using AI for their day-to-day workloads. But because of the way projects are planned, because, not everyone is literate in using AI in these ways, having a team of engineers who can actually go in and onboard you, set up all the integrations you need, the automations you need to really get to that level of, leverage with AI, is super helpful. And so We do that. We show thought partners to the customers that we work with as well.
Walden [00:08:17]: Это было не… не очень отполировано в начале, когда мы просто построили это на голых VM от облачных провайдеров вроде EC2; время загрузки было таким медленным, кажется. И особенно тогда — выключение машин, их сохранение, а потом возможность снова их поднять, когда хочешь, чтобы Devin снова проснулся позже. Машина просто «остывала» минут на 10, потому что эти системы столько и занимали. Они не были построены под такое многократное гашение и поднятие. И вот нам пришлось всё это сделать. И в результате теперь одна из вещей, которую мы предлагаем, когда продаём Devin людям, — вам не нужно беспокоиться обо всей вычислительной стороне. Мы заставим это работать. Заставим работать в вашем облаке, если захотите. Но помимо продукта — а к агентам и тюнингу части про интеллект я хочу вернуться позже, — думаю, большая часть того, что мы делаем в Cognition, состоит в том, чтобы убедиться, что ваша компания учится, использует и внедряет этих кодинг-агентов. Потому что, особенно для крупнейших корпораций в мире, обнаруживается, что многие люди хотят перейти к использованию ИИ для своих повседневных задач. Но из-за того, как планируются проекты, из-за того, что не все владеют умением использовать ИИ таким образом, наличие команды инженеров, которые могут прийти, провести онбординг, настроить все нужные вам интеграции, автоматизации, чтобы реально выйти на тот уровень рычага с ИИ, — очень полезно. И вот мы это делаем. Мы выступаем мыслящими партнёрами для клиентов, с которыми работаем.
Swyx [00:09:56]: So let’s talk about, architectural stuff. I think that’s always, that is something that was the topic of conversation between the two of you. Is this, the mental model that you want to start with or something else? I’ll just leave the floor open to you guys.
Swyx [00:09:56]: Итак, давайте поговорим об архитектурных вещах. Думаю, это всегда — это то, что было темой разговора между вами двумя. Это та ментальная модель, с которой ты хочешь начать, или что-то другое? Оставлю слово вам, ребята.
Agent Architecture: Harness in the Box vs. Out of the Box
Архитектура агента: harness «в коробке» против «вне коробки»
Cole [00:10:11]: I think, maybe we can start here as just a general what are the pieces of a background agent system. And then maybe we can go into some of the nuances of, Decisions that you can make.
Cole [00:10:11]: Думаю, можно начать вот с чего: что вообще за части у системы фоновых агентов. А потом, может, перейти к некоторым нюансам решений, которые можно принимать.
Swyx [00:10:22]: But I guess I also Like, what, maybe what Walden is saying is the agent is like in this open code box, I guess. Right? This is infra, and then there’s, that’s the agent. And you had this discussion about whether you put the agent in here or in Out externally. Can you tease that out?
Swyx [00:10:22]: Но, наверное, я также — то, что, может быть, говорит Walden: агент находится как бы в этой открытой «коробке кода», полагаю. Верно? Это инфра, а вот — это агент. И у вас был спор о том, помещать ли агента сюда, внутрь, или наружу. Можешь это раскрыть?
Cole [00:10:39]: In a background agent systems, you have a decision to make of where the agent is actually going to run. This is typically described as the harness in the box or out of the box. With running the agent in the box, you’re making some trade-offs by doing that. The negative trade-off you’re making is primarily security. Because the agent is running in that box, unless you otherwise design it, all of your secrets need to go into that box as well. And given the nature of AI, it can be unpredictable, and you could very easily end up accidentally exfilling your secrets, or other unintended behavior. Now, the out of the box is the idea that we are going to have the actual agent running not directly in the sandbox, and we will have, quote-unquote, the brain of the agent running in some type of worker, control plane. That sandbox then is going to serve as the hands where the brain is basically operating and making tool calls into that environment to manipulate it. I guess other trade-off that you’re making between the two systems is that, in my opinion, running it out of the box is much more complex because, you have state that has to be managed, whereas if you’re running it in the box, all of the state of that agent is actually in the box, and yes, it’s you could persist it elsewhere, but it’s all localized and you have less concerns to worry about.
Cole [00:10:39]: В системах фоновых агентов есть решение, которое нужно принять: где именно будет работать агент. Это обычно описывают как harness «в коробке» или «вне коробки». Запуская агента в коробке, ты идёшь на определённые компромиссы. Негативный компромисс, на который ты идёшь, — это в первую очередь безопасность. Поскольку агент работает в этой коробке, то, если ты специально не спроектируешь иначе, все твои секреты тоже должны попасть в эту коробку. А учитывая природу ИИ, он может быть непредсказуем, и ты очень легко можешь случайно слить свои секреты (exfilling) или получить другое непреднамеренное поведение. Теперь, «вне коробки» — это идея о том, что сам агент работает не напрямую в песочнице, и у нас будет, условно говоря, «мозг» агента, работающий в каком-то воркере, control plane. Эта песочница тогда служит «руками», а мозг по сути управляет и делает tool call-ы в это окружение, чтобы им манипулировать. Другой компромисс между этими двумя системами в том, что, на мой взгляд, запуск «вне коробки» гораздо сложнее, потому что у тебя появляется состояние, которым надо управлять; тогда как при запуске «в коробке» всё состояние агента находится в коробке, и да, его можно сохранять где-то ещё, но оно локализовано, и забот меньше.
Walden [00:12:08]: I think a lot of that, what you mentioned, is why we actually from the start built Devin to what we called separate the brain from the machine. The other thing that this allows you to do is reuse any existing infrastructure you have for dev boxes Perhaps. And so you don’t have to worry as much about making a new type of dev box that has all the dependencies the brain needs, as you mentioned, the secrets the brain needs as well. One thing that we’ve seen some customers run into is, you have a GitHub app and you want Devin, your agent, whatever, be able to interact with GitHub through this application, but then you have different users with different actual permissions. If they are all interacting through the same GitHub app and there’s no actual, separation between the system that decides, what it does and the actual secrets on the machine, then you run into an issue where, okay, it’s hard to do the separation. But in practice, with Devin, it’s much easier because we just say whatever you put on the machine, that is, the scope of basically what the user is free to do, what the agent is free to do. So only put the most scoped secrets on that machine, and then the brain is fully not accessible from the machine. So you don’t have to worry about messing with the, any of the most secure parts of the brain if the user is free to do whatever they want with the machine.
Walden [00:12:08]: Думаю, многое из того, что ты упомянул, — это причина, по которой мы с самого начала построили Devin так, чтобы, как мы это называли, отделить мозг от машины. Другое, что это позволяет делать, — переиспользовать любую существующую у тебя инфраструктуру для dev-боксов, возможно. И тогда тебе не нужно так сильно беспокоиться о создании нового типа dev-бокса, в котором есть все зависимости, нужные мозгу, и, как ты упомянул, секреты, нужные мозгу. Одна вещь, с которой, как мы видели, сталкиваются некоторые клиенты: у тебя есть GitHub-приложение, и ты хочешь, чтобы Devin, твой агент, мог взаимодействовать с GitHub через это приложение, но при этом у тебя разные пользователи с разными реальными правами. Если они все взаимодействуют через одно и то же GitHub-приложение и нет реального разделения между системой, которая решает, что делать, и реальными секретами на машине, то ты упираешься в проблему: окей, разделение делать тяжело. Но на практике с Devin это намного проще, потому что мы просто говорим: что бы ты ни положил на машину — это и есть скоуп того, что пользователю и агенту дозволено делать. Так что клади на эту машину только секреты с максимально ограниченным скоупом, а мозг при этом полностью недоступен с машины. И тебе не нужно беспокоиться о том, что кто-то залезет в самые защищённые части мозга, если пользователю позволено делать с машиной что угодно.
Swyx [00:13:31]: I was going to just bring, I have this, chart from OpenAI, where I don’t know if this is, in the box, out of the box. That is something that they do use to describe it. And then also recently Anthropic did, managed agents
Swyx [00:13:31]: Я как раз хотел показать — у меня есть эта схема от OpenAI, где, не знаю, это «в коробке» или «вне коробки». Это то, что они используют для описания. И ещё недавно Anthropic сделали managed agents,
Swyx [00:13:44]: Which is, this is their thing. I don’t know. It’s all, it’s all variations of the same pattern, right?
Swyx [00:13:44]: вот это — их штука. Не знаю. Это всё, это всё вариации одного и того же паттерна, верно?
Cole [00:13:49]: So this would be out of the box.
Cole [00:13:49]: Вот это было бы «вне коробки».
Swyx [00:13:51]: Which, is preferable for them because it’s less work?
Swyx [00:13:51]: Что для них предпочтительнее, потому что меньше работы?
Cole [00:13:56]: I would say it’s more work.
Cole [00:13:56]: Я бы сказал, это больше работы.
Swyx [00:13:58]: It’s more work?
Swyx [00:13:58]: Больше работы?
Cole [00:13:58]: But it, in my opinion, it is the better architecture of the two. It’s just, you’re taking on a bit of complexity by doing that.
Cole [00:13:58]: Но это, на мой взгляд, лучшая архитектура из двух. Просто ты берёшь на себя немного сложности, делая так.
Repo Setup, Docker, and VM-Based Development Environments
Настройка репозитория, Docker и dev-окружения на основе VM
Walden [00:14:07]: One thing I’ve not seen a lot of other players do well is how do you manage what’s actually on the box? And this can be complex for many reasons. Let’s say you have a big repository that’s changing and updating a lot with changing dependencies. How do you make sure that the working environment of the agent actually stays up to date, has all the credentials it needs to, let’s say, run the app and test it, and all the things you want your autonomous
Walden [00:14:07]: Одна вещь, которую мало кто из других игроков делает хорошо, — это как управлять тем, что вообще лежит в коробке. И это может быть сложно по многим причинам. Допустим, у тебя большой репозиторий, который постоянно меняется и обновляется с меняющимися зависимостями. Как сделать так, чтобы рабочее окружение агента действительно оставалось актуальным, имело все нужные креды, чтобы, скажем, запустить приложение и протестировать его, и всё то, что ты хочешь от своего автономного…
Swyx [00:14:34]: So a repo setup.
Swyx [00:14:34]: То есть настройка репозитория.
Walden [00:14:35]: Exactly. So in, internally At Cognition, we call this repo setup.
Walden [00:14:35]: Именно. Так что внутри Cognition мы называем это repo setup.
Cole [00:14:39]: The hardest part of
Cole [00:14:39]: Самая сложная часть…
Walden [00:14:40]: It’s been a perennial problem since the start of the company, of how do we help people get this set up? Because not everyone just has, working cloud environments working out of the box. And do you find this to be a common problem with
Walden [00:14:40]: Это была вечная проблема с самого основания компании — как помочь людям это настроить? Потому что не у всех есть рабочие облачные окружения «из коробки». И ты находишь, что это распространённая проблема у…
Swyx [00:14:53]: How do you solve it?
Swyx [00:14:53]: Как ты её решаешь?
Walden [00:14:53]: Your clients?
Walden [00:14:53]: у твоих клиентов?
Cole [00:14:54]: This is a very common problem, and through my consulting, this is a lot of what I help teams do. A lot of teams don’t really have great developer environment setups, if any. A lot of the times it’s, “Go talk to Bob and get the secrets,” and that obviously doesn’t work when the agent needs to actually set this up. And so a lot of that, most teams are using Docker Compose or some type of microservices. And so for the
Cole [00:14:54]: Это очень распространённая проблема, и через мой консалтинг это во многом то, что я помогаю командам делать. У многих команд нет хороших настроек dev-окружения, если они вообще есть. Зачастую это «Сходи к Бобу и возьми секреты», и это, очевидно, не работает, когда агенту нужно реально это настроить. И вот, в основном большинство команд используют Docker Compose или какой-то тип микросервисов. И поэтому для…
Swyx [00:15:19]: Even in prod?
Swyx [00:15:19]: Даже в проде?
Cole [00:15:20]: Not in prod. With the OpenInspect, you are using this primarily to interact, and make code changes. There is other use cases, but you can hook, whether through CLI, MCPs, other tools, you can then hook that into your production systems primarily for, SRE type use cases. But you are not, necessarily, trying to test your prod internal microservice through the system.
Cole [00:15:20]: Не в проде. С OpenInspect ты используешь это в первую очередь для взаимодействия и внесения изменений в код. Есть и другие сценарии — ты можешь подключить, будь то через CLI, MCP, другие инструменты, и подцепить это к своим production-системам, в основном для SRE-сценариев. Но ты не обязательно пытаешься тестировать свой внутренний production-микросервис через эту систему.
Walden [00:15:48]: And you mentioned Docker Compose. I think one direction we saw some of our friends take early on was, using Docker containers as the level of abstraction for their models. There’s lots of reasons, I think, why Docker containers are not great. One thing is, Docker container’s not really a true security boundary, for one. But the other is, if you are running real applications, a lot of times those applications use Docker, and then you have to think about Docker in Docker, which is, really weird. And so I think part of, the really hard challenge of getting VMs to work, why did we do that? Well, it was because we realized that you actually needed, full VMs to be able to do these types of things. And especially nowadays where there’s actually value in running the application and clicking around and sending you screen recordings of these things. The value just, keeps adding on top of that. But it is a decision I see people run into when they try to build their own systems, is, “Oh, do we, in addition to this, do we put the agent in the machine or out of the machine? Do we use Docker? Do we use something else?” What do you recommend people nowadays?
Walden [00:15:48]: Ты упомянул Docker Compose. Думаю, одно из направлений, которое мы видели у некоторых наших друзей на раннем этапе, — использование Docker-контейнеров как уровня абстракции для их моделей. Есть много причин, по которым Docker-контейнеры — не очень. Одна в том, что Docker-контейнер не является настоящей границей безопасности, это раз. А вторая — если ты запускаешь реальные приложения, эти приложения часто сами используют Docker, и тогда тебе приходится думать о Docker-in-Docker, что довольно странно. И вот, думаю, часть по-настоящему сложного вызова — заставить VM работать; почему мы это сделали? Ну, потому что мы поняли, что для таких вещей реально нужны полноценные VM. И особенно сейчас, когда есть реальная ценность в том, чтобы запускать приложение, кликать по нему и присылать тебе записи экрана — ценность просто продолжает накапливаться поверх этого. Но это решение, в которое люди упираются, когда пытаются построить собственные системы: «О, помимо этого, поместить ли агента в машину или вне машины? Использовать ли Docker? Использовать ли что-то другое?» Что ты рекомендуешь людям сегодня?
Cole [00:16:57]: I think Docker is a good solution for maybe not running the agent, but running your infrastructure, because that is more or less the same setup your engineers are probably already using. If they’re not, then I don’t know what they’re using. But they’re probably already using Docker Compose.
Cole [00:16:57]: Думаю, Docker — хорошее решение, может, не для запуска агента, но для запуска твоей инфраструктуры, потому что это более-менее та же конфигурация, которую твои инженеры, вероятно, уже используют. А если нет — то я не знаю, что они используют. Но они, вероятно, уже используют Docker Compose.
Swyx [00:17:14]: I’ve always had a small candle for web containers. I don’t know if you guys have tried them before.
Swyx [00:17:14]: У меня всегда была небольшая симпатия к web containers. Не знаю, пробовали ли вы их раньше.
Swyx [00:17:19]: To me, they were, supposed to be like Docker Light.
Swyx [00:17:19]: Для меня они должны были быть чем-то вроде Docker Light.
Cole [00:17:22]: Is it?
Cole [00:17:22]: Правда?
Swyx [00:17:22]: I don’t know.
Swyx [00:17:22]: Не знаю.
Cole [00:17:22]: No, I haven’t tried it. But yeah, I think any environment that you’ve set up that is a good experience for your developer naturally lends itself to being easy to set up for the agent. And once you figure out that local developer story, you’ve more or less solved the agent in a sandbox, environment setup. OpenInspect does have hooks as well, where you can, run a setup SH script that will pre-install everything. You can then pre-snapshot that build so it starts instantly, and then there is a second hook to actually then, restore the state of the sandbox when it comes back. And so you can already have all of those microservices running and basically get the same experience that you would on your machine within the sandbox.
Cole [00:17:22]: Нет, не пробовал. Но да, думаю, любое окружение, которое ты настроил так, что оно хорошо работает для твоего разработчика, естественным образом легко настраивается и для агента. И как только ты разберёшься с этой историей локального разработчика, ты более-менее решишь и настройку окружения агента в песочнице. У OpenInspect есть хуки, где ты можешь запустить setup-SH-скрипт, который предустановит всё. Затем ты можешь заранее сделать снапшот этой сборки, чтобы она стартовала мгновенно, а есть и второй хук, чтобы потом восстановить состояние песочницы, когда она возвращается. И вот ты можешь уже иметь все эти микросервисы запущенными и по сути получить тот же опыт, что и на своей машине, внутри песочницы.
Testing Agents: Computer Use, Screenshots, and Real App Workflows
Тестирование агентов: computer use, скриншоты и реальные сценарии приложений
Walden [00:18:08]: Another thing that we’ve been thinking a lot about is like Different VM service offerings. Have you had customers where they needed like macOS specific VMs or like Windows specific
Walden [00:18:08]: Ещё одна вещь, о которой мы много думаем, — разные предложения VM-сервисов. Были ли у тебя клиенты, которым нужны были именно VM на macOS или именно на Windows
Walden [00:18:20]: VMs?
Walden [00:18:20]: VM?
Walden [00:18:22]: There are like many technologies in the world that only work on specific types of machines, right? If you’re building a.NET application that has to run on Windows or like, maybe more commonly if you want to build iOS or macOS Does that work
Walden [00:18:22]: В мире есть много технологий, которые работают только на определённых типах машин, верно? Если ты строишь .NET-приложение, которое должно работать на Windows, или, может, более частый случай — если хочешь собирать iOS или macOS. Это работает?
Swyx [00:18:32]: Does Commission support
Swyx [00:18:32]: Поддерживает ли Commission
Swyx [00:18:33]: Choices like that?
Swyx [00:18:33]: Такой выбор?
Walden [00:18:35]: The fundamental architecture we do, because we do the separation, it does support, but the actual work in progress is happening right now on these. Another thing that we’ve actually recently added support now for, it’s in beta, is doing Android development. To do that, we needed to support, I think, nested virtualization within our machines because the VM itself is like a, is a virtualized Firecracker instance, and then you had to then run another Android emulator inside. And there’s like weird performance issues that like, it, which is why it’s like still in beta. We have to think through these problems, but it unlocks a lot for anyone who wants to do Android development.
Walden [00:18:35]: Фундаментальная архитектура, которую мы делаем, поскольку мы делаем это разделение, это поддерживает, но реальная работа над этим идёт прямо сейчас. Ещё одна вещь, поддержку которой мы недавно добавили — она в бете, — это Android-разработка. Чтобы это сделать, нам понадобилось поддержать, кажется, вложенную виртуализацию внутри наших машин, потому что сама VM — это виртуализированный инстанс Firecracker, а потом тебе нужно запустить внутри ещё один Android-эмулятор. И там есть странные проблемы с производительностью, из-за которых это всё ещё в бете. Нам надо продумать эти проблемы, но это многое открывает для всех, кто хочет заниматься Android-разработкой.
Swyx [00:19:13]: I was trying to find like a reference video for the testing thing. I couldn’t find it, but I think you worked on the testing, capability. Why call it testing and not like computer use or I don’t know, it’s, what’s the general Category of problem?
Swyx [00:19:13]: Я пытался найти референсное видео про тестирование. Не смог найти, но, кажется, ты работал над функциональностью тестирования. Почему называть это тестированием, а не computer use или, не знаю, как — какая вообще общая категория проблемы?
Walden [00:19:26]: I think that when people think about the ability of an AI to run your app and test it, I think they actually over-index on the computer use part of it because computer use in my mind is the literal, okay, you want what button you want to click. Can you emit the right coordinates to go click that button? I think testing is actually a really interesting like
Walden [00:19:26]: Думаю, когда люди думают о способности ИИ запустить твоё приложение и протестировать его, они на самом деле слишком зацикливаются на части про computer use, потому что computer use, по-моему, — это буквально: окей, на какую кнопку ты хочешь нажать. Можешь ли ты выдать правильные координаты, чтобы кликнуть по этой кнопке? Думаю, тестирование — это на самом деле очень интересная
Walden [00:19:48]: Problem-solving, challenge for these AIs because if you wanted to do arbitrary testing, imagine you make a change that spans the frontend and the backend, maybe, even some other like even more deeply nested service. To actually test that change, we have to reason through what-- how do you first run these applications to orchestrate with each other with the right version of the code? Then, okay, how do I trigger the feature or how do I make the thing actually happen? And this can get arbitrarily hard, maybe you have to be an admin. Maybe a certain thing has to be feature flagged on. Maybe, you have to like run two sessions and then send us a very specific word into one of them to trigger a specific behavior. And figuring out how do you do that requires a lot of code base context, requires, a lot of orchestration that we’ve specifically done. And in some cases, we found that you actually, no one frontier model can actually do this full end-to-end task itself.
Walden [00:19:48]: задача на решение проблем для этих ИИ, потому что если хочешь делать произвольное тестирование — представь, ты делаешь изменение, которое затрагивает фронтенд и бэкенд, может, ещё какой-то более глубоко вложенный сервис. Чтобы реально протестировать это изменение, нам надо рассуждать: как сначала запустить эти приложения, чтобы они оркестрировались друг с другом с правильной версией кода? Потом — окей, как мне триггернуть фичу или как заставить нужное реально произойти? И это может быть произвольно сложно: может, тебе нужно быть админом. Может, определённая фича должна быть включена через feature flag. Может, тебе надо запустить две сессии, а потом отправить очень конкретное слово в одну из них, чтобы триггернуть определённое поведение. И понять, как это сделать, требует много контекста кодовой базы, требует много оркестрации, которую мы специально проделали. И в некоторых случаях мы обнаружили, что ни одна frontier-модель не может сделать эту полную сквозную задачу сама.
Walden [00:20:42]: We’ve seen cases where we actually had to orchestrate different frontier models together to solve this problem together. That is where we spend most of our time when we think about this testing problem, not so much the computer use part. Computer use for what it’s worth has gotten a lot better with recent models and it’s made that part of the job certainly easier.
Walden [00:20:42]: Мы видели случаи, когда нам реально приходилось оркестрировать разные frontier-модели вместе, чтобы решить эту проблему совместно. Вот где мы проводим большую часть времени, когда думаем об этой задаче тестирования, а не столько над частью про computer use. Computer use, к слову, стал намного лучше с недавними моделями, и это, безусловно, упростило эту часть работы.
Swyx [00:20:58]: Especially with like even 4.7, that they released yesterday, apparently like way better in terms of the vision stuff, which is going to be encompassing computer use.
Swyx [00:20:58]: Особенно с 4.7, который выпустили вчера, — он, по-видимому, гораздо лучше в плане зрения, что и будет охватывать computer use.
Walden [00:21:08]: Having evals for all these as well is something that like takes a while to build up. And having the evals be right is tricky as well. Do you ever see like, clients who are building their own agents have to start standing up evals to make sure things don’t regress?
Walden [00:21:08]: Иметь evals для всего этого — тоже то, на что уходит время. И сделать так, чтобы evals были правильными, тоже хитро. Видишь ли ты когда-нибудь клиентов, которые строят собственных агентов и которым приходится начинать поднимать evals, чтобы убедиться, что ничего не регрессирует?
Swyx [00:21:25]: Not so much evals in the traditional sense, but specific to the testing part that has just gone in. I just added support for screenshots And in theory you can also do video. I need to put in a plugin to do that. But they do show up natively, and it was a very heavily requested feature, especially after Cursor’s recording came out. I think that was very enlightening for everyone of like, “Oh, this is a very good feature to actually have.”, I think with Devin you guys have had this for a while.
Swyx [00:21:25]: Не столько evals в традиционном смысле, но конкретно для части про тестирование, которую только что добавили. Я только что добавил поддержку скриншотов, и в теории можно делать и видео. Мне нужно вставить плагин для этого. Но они показываются нативно, и это была очень востребованная фича, особенно после того, как вышла запись от Cursor. Думаю, это было очень показательно для всех: «О, это реально очень хорошая фича». Думаю, у вас в Devin это есть уже какое-то время.
Swyx [00:21:57]: Oh, yeah. See how screenshots work. Yeah, I don’t know if there’s anything, super and not obvious. It’s like once what feature to build, you can just prompt it and it Will mostly work.
Swyx [00:21:57]: О, да. Смотри, как работают скриншоты. Да, не знаю, есть ли тут что-то супер-неочевидное. Это типа — однажды решив, какую фичу строить, ты можешь просто запромптить, и оно по большей части сработает.
Walden [00:22:09]: I think to Walden’s point, though, the computer use is a subset of the larger testing problem, and I think that’s very specific to the code base that you’re working and it’s not something that, out of the box that you could just solve it. The-- you do need the code base context to actually know how to test it. And I think in the case of a background agent system, you fortunately do have that code base locally that what is changing and could then inspect it and use that to drive the model.
Walden [00:22:09]: Думаю, к мысли Walden — computer use это подмножество более крупной задачи тестирования, и, думаю, это очень специфично для кодовой базы, с которой ты работаешь, и это не то, что можно решить «из коробки». Тебе нужен контекст кодовой базы, чтобы реально знать, как это тестировать. И, думаю, в случае системы фоновых агентов у тебя, к счастью, эта кодовая база есть локально — то, что меняется, — и ты можешь это инспектировать и использовать, чтобы управлять моделью.
Swyx [00:22:40]: For those who haven’t seen it before, this is an example of how it works. You, after the PR is done, you click testing approved, and then it sends you back a video. What I really like is that it labels, It’s very small here, but it actually labels what it’s testing. And then it-- and then you actually see the cursor and everything. So I don’t know, yeah, the engineering in this, just Whatever you want to show. ‘cause this is like, this is one of those like, oh, few of the AGI moments, right? ‘cause Once I look at this, I actually don’t I wish I can just merge inside Of Slack instead of going to GitHub ‘cause I don’t need to see the code. I know it works.
Swyx [00:22:40]: Для тех, кто не видел этого раньше: вот пример того, как это работает. После того как PR готов, ты нажимаешь «testing approved», и оно присылает тебе видео. Что мне особенно нравится — оно подписывает, тут очень мелко, но оно реально подписывает, что тестирует. И потом ты реально видишь курсор и всё остальное. Так что, не знаю, инженерия в этом — просто что захочешь показать. Потому что это один из тех, ну, немногих AGI-моментов, верно? Потому что как только я смотрю на это, я на самом деле не — я хотел бы просто мержить прямо внутри Slack вместо того, чтобы идти на GitHub, потому что мне не нужно смотреть код. Я знаю, что это работает.
Walden [00:23:19]: Maybe a new feature in Cursor. Yeah, the annotations at the bottom was also a big difference for me when I, when I added those.
Walden [00:23:19]: Может, новая фича в Cursor. Да, аннотации внизу тоже были для меня большим отличием, когда я их добавил.
Swyx [00:23:27]: It’s just like, what am I looking at? What are you trying to demonstrate?
Swyx [00:23:27]: Это типа — на что я смотрю? Что ты пытаешься продемонстрировать?
Walden [00:23:30]: Exactly. There’s a surprisingly long tail of small details that ends up making a big difference for this end metric of like how fast do you actually merge the code in. One experience that we spent a lot of time tuning early on was what is the right experience on GitHub for these tools. Because I think, most tools out there when you build the agent, you’ll think about, oh, it’ll create the PR for you. We try to take that a step further and say, “Oh, what if we actually made sure you could interact Devin, with direct Devin directly on GitHub?” And so we made sure that you can comment on GitHub, and Devin would actually receive those comments and address them back. But there’s actually quite a bit of tuning you have to do here because you can imagine that actually like-We recently have Devin Review, for example. Devin Review will post comments on his own PR And then Devin has to then go
Walden [00:23:30]: Именно. Есть удивительно длинный хвост мелких деталей, которые в итоге сильно влияют на эту конечную метрику — как быстро ты реально мержишь код. Один опыт, на тюнинг которого мы потратили много времени на раннем этапе, — какой правильный опыт на GitHub для этих инструментов. Потому что, думаю, большинство инструментов, когда ты строишь агента, думают: о, он создаст тебе PR. Мы пытаемся пойти на шаг дальше и сказать: о, а что если мы реально сделаем так, чтобы ты мог взаимодействовать с Devin напрямую на GitHub? И вот мы сделали так, чтобы ты мог комментировать на GitHub, а Devin реально получал бы эти комментарии и отрабатывал их. Но тут есть довольно много тюнинга, который надо сделать, потому что можешь представить — у нас недавно появился, например, Devin Review. Devin Review будет постить комментарии к своему же PR, а потом Devin должен идти
GitHub Workflows: Devin Review, Comments, and PR Automation
GitHub-процессы: Devin Review, комментарии и автоматизация PR
Swyx [00:24:23]: He answers his own comments, which is Really loopy. So like, yeah, I like that it just updates here that it’s, that I have commented But usually it’s just me saying like, “Hey, merged, fix any merge conflicts.”
Swyx [00:24:23]: Он отвечает на свои же комментарии, что реально зациклено. Так что да, мне нравится, что тут просто обновляется, что я прокомментировал. Но обычно это просто я говорю что-то вроде «Эй, замержено, исправь любые merge-конфликты».
Walden [00:24:37]: The, so when Devin fixes his own comments, you might be scared that, oh, maybe I’ll infinite loop. But we’ve put a lot of work into making sure it doesn’t, both by making sure that the comments are high signal, but also that the agent is thoughtful about what comments it immediately goes and tries to fix, and what comments it’s like, “Wait a second, I think you’re wrong.” Actually, that’s one of my favorite moments is when Devin tells me that I’m wrong, when I try to get it to do something different. But tuning that behavior, actually makes a big difference in terms of how useful the actual GitHub experience is.
Walden [00:24:37]: Так вот, когда Devin исправляет свои же комментарии, ты можешь испугаться: о, может, я уйду в бесконечный цикл. Но мы вложили много труда, чтобы этого не случилось — и тем, что комментарии высокосигнальны, и тем, что агент вдумчиво относится к тому, какие комментарии сразу идёт исправлять, а на какие говорит: «Погоди-ка, думаю, ты неправ». Кстати, один из моих любимых моментов — когда Devin говорит мне, что я неправ, когда я пытаюсь заставить его сделать что-то иначе. Но тюнинг этого поведения реально сильно влияет на то, насколько полезен сам опыт работы с GitHub.
Cole [00:25:06]: I think to touch on that as well, I think having the AI reviewer integrated into the system is a critical part of this background system. OpenInspect does have that. It has a GitHub code reviewer that you can control the prompt. It does do comments as well. It doesn’t do them automatically yet. The capability is there, but it’s not fully used.
Cole [00:25:06]: Думаю, в дополнение к этому — наличие ИИ-ревьюера, интегрированного в систему, это критическая часть такой фоновой системы. У OpenInspect это есть. Есть GitHub-ревьюер кода, у которого ты можешь управлять промптом. Он тоже делает комментарии. Пока не делает их автоматически. Возможность есть, но используется не полностью.
Swyx [00:25:27]: So you have to ask for it?
Swyx [00:25:27]: То есть нужно об этом попросить?
Cole [00:25:28]: you do, yeah. You can tag it on GitHub, and then whatever you named your, GitHub bot, it will then follow up on it. It will then, if you have merge conflicts or whatever you have asked it to resolve, it will then resolve it, but it doesn’t do it automatically yet.
Cole [00:25:28]: да, нужно. Ты можешь тегнуть его на GitHub, и тогда — как бы ты ни назвал своего GitHub-бота — он отработает запрос. Он потом, если у тебя merge-конфликты или что бы ты ни попросил его разрешить, разрешит это, но пока не делает этого автоматически.
Integrations: Slack, MCP, and First-Party Agent Interfaces
Интеграции: Slack, MCP и first-party интерфейсы агентов
Walden [00:25:42]: Well, I’m curious, what is, the most common thing that people end up requesting, that they still need on top of OpenInspect when you help them go implement it?
Walden [00:25:42]: Ну, мне любопытно — что чаще всего в итоге запрашивают люди, чего им всё ещё не хватает поверх OpenInspect, когда ты помогаешь им внедрить его?
Cole [00:25:52]: I think a lot of it comes down to actually integrating it into the company. It’s one thing to have the background agent system set up, but if it isn’t actually integrated into your larger ecosystem, it isn’t that useful. It is useful to be able to kick off sessions, but what we really want to be able to do is hook it into all of our other systems, whether that is the production database with read-only credentials, the logs, a Confluence or internal knowledge-based system. I think that is where I see the huge leap for companies, and that can be a challenge for companies as well who are maybe not familiar with exactly how to approach it, especially if they’re in environments that have more compliance type things where, access control can be pretty big and how do you deliberately think about these problems, I find to be, one of the problems that comes with a system like this.
Cole [00:25:52]: Думаю, многое сводится к тому, чтобы реально интегрировать это в компанию. Одно дело — иметь настроенную систему фоновых агентов, но если она реально не интегрирована в твою более крупную экосистему, она не так уж полезна. Полезно уметь запускать сессии, но что мы реально хотим уметь — это подцеплять её ко всем нашим остальным системам: будь то production-база данных с read-only кредами, логи, Confluence или внутренняя система базы знаний. Думаю, вот где я вижу огромный скачок для компаний, и это может быть вызовом для компаний, которые, возможно, не очень знакомы с тем, как именно к этому подойти, особенно если они в средах с более серьёзными compliance-вещами, где контроль доступа может быть довольно большим, и как осознанно думать об этих проблемах — это, как я нахожу, одна из проблем, которые приходят с такой системой.
Walden [00:26:46]: The thing we found is So, MCPs, obviously it has been like this, really big explosion of, oh, you can go, integrate it with all these different things. But to actually get the integration right and the and get the right experience, oftentimes we found that we had to go build our own ad hoc things. I think Slack is a great example of this. You could give your agent a Slack MCP and okay, it can post messages back to you on Slack. But we actually use Devin like a coworker in Slack, and that’s how it’s been built from the ground up. But to do that, you actually need to, support webhooks that come back, right? And then Devin has to respond in a natural way and then hopefully don’t spam your threads too much and annoy the people in your company. So you got to tune that experience just right. Especially when there’s a lot of back and forths, we find that we actually have to go beyond the simple MCP integrations in these places.
Walden [00:26:46]: Мы обнаружили вот что: MCP, очевидно, был этим, ну, реально большим взрывом — о, можно интегрировать со всеми этими разными штуками. Но чтобы реально сделать интеграцию правильно и получить правильный опыт, мы часто обнаруживали, что приходилось строить собственные ad hoc вещи. Думаю, Slack — отличный тому пример. Можно дать своему агенту Slack MCP, и окей, он может постить тебе сообщения обратно в Slack. Но мы реально используем Devin как коллегу в Slack, и он с самого начала был построен именно так. Но чтобы это сделать, тебе реально нужна поддержка вебхуков, которые приходят обратно, верно? И Devin должен отвечать естественным образом и, надеюсь, не слишком спамить твои треды и не раздражать людей в твоей компании. Так что нужно настроить этот опыт как раз правильно. Особенно когда много туда-сюда, мы обнаруживаем, что нам реально приходится выходить за пределы простых MCP-интеграций в этих местах.
Swyx [00:27:39]: I just pulled up the MCP marketplace. I know this is a Fair amount of work. Is the answer to eventually take first party control of all the top MCPs? Is that the
Swyx [00:27:39]: Я только что открыл MCP-маркетплейс. Я знаю, это изрядный объём работы. Ответ в том, чтобы в итоге взять first-party контроль над всеми топовыми MCP? В этом
Walden [00:27:48]: I would love a world where you could have something that’s more expressive than MCP. That, goes both ways, not just a set of tools, but a proper system that interacts back and lets it Have the right experience with all these interfaces.
Walden [00:27:48]: Я бы хотел мир, где можно иметь что-то более выразительное, чем MCP. Что-то, что работает в обе стороны — не просто набор инструментов, а полноценную систему, которая взаимодействует в ответ и даёт правильный опыт со всеми этими интерфейсами.
Swyx [00:28:03]: So there actually is sampling in the MCP spec, but nobody Uses it, right?
Swyx [00:28:03]: На самом деле в спецификации MCP есть sampling, но им никто не пользуется, верно?
Walden [00:28:07]: And so I think that’s the other part is, actually we found that when the MCP spec starts to get too complicated, it starts to lose its original promise of Being like a simple one-step connect. Now then we have to go figure out how to support all these different variations of things and It starts to look a lot like just building the first party integrations in a lot of these cases now.
Walden [00:28:07]: И вот, думаю, другая часть в том, что мы обнаружили: когда спецификация MCP начинает становиться слишком сложной, она начинает терять своё изначальное обещание быть простым одношаговым подключением. Тогда нам приходится разбираться, как поддерживать все эти разные вариации вещей, и это начинает сильно напоминать просто построение first-party интеграций во многих этих случаях.
Cole [00:28:29]: I think it matters, too, how critical it is to your company, right? If this is something that nearly every session is going through, it probably makes sense to own it so that you can make optimizations on top of it Versus just whatever is off the shelf.
Cole [00:28:29]: Думаю, тут тоже важно, насколько это критично для твоей компании, верно? Если это что-то, через что проходит почти каждая сессия, вероятно, имеет смысл владеть этим, чтобы делать оптимизации поверх, в отличие от того, что готово «из коробки».
Swyx [00:28:43]: Awesome. Other than MCPs, what else, sorry, well, I don’t know if that’s Narrowing in too much on, integrations. But what else? What other elements of building OpenInspect or Devin that you guys really sink on?
Swyx [00:28:43]: Отлично. Помимо MCP, что ещё — извини, ну, не знаю, не слишком ли это узко на интеграциях. Но что ещё? Какие ещё элементы построения OpenInspect или Devin, в которые вы, ребята, реально погружаетесь?
Memory and Knowledge: What Agents Should Remember
Память и Knowledge: что агенты должны запоминать
Cole [00:28:59]: I think, a problem that comes up very frequently is this idea of memories or knowledge base.
Cole [00:28:59]: Думаю, проблема, которая возникает очень часто, — это идея воспоминаний (memories) или базы знаний.
Swyx [00:29:05]: Oh, boy. How do you solve it?
Swyx [00:29:05]: О, ну. Как ты это решаешь?
Cole [00:29:08]: so not solved yet, is the short answer.
Cole [00:29:08]: пока не решил, короткий ответ.
Cole [00:29:11]: it’s something, there’s a open issue for it, someone asking about it.
Cole [00:29:11]: это нечто — на это есть открытый issue, кто-то о нём спрашивает.
Swyx [00:29:16]: There’s, I, D Wiki hasn’t indexed anything about memory yet.
Swyx [00:29:16]: Есть, я — D Wiki пока ничего не проиндексировал про память.
Cole [00:29:20]: how I’m seeing it solved across my clients is primarily through skills. I find that skills can be a good gap within that or updating Claude MD, but I think memory as a whole is a pretty unsolved problem, and it is why I’ve been hesitant to add it. I think there is parts of memory and that can be addressed, but I think as a whole it’s a very difficult retrieval problem.
Cole [00:29:20]: Как я вижу её решение у своих клиентов — в основном через skills. Я нахожу, что skills могут быть хорошим заполнением этого пробела, или обновление Claude MD, но, думаю, память в целом — довольно нерешённая проблема, и поэтому я колеблюсь её добавлять. Думаю, есть части памяти, которые можно решить, но, думаю, в целом это очень сложная проблема retrieval.
Swyx [00:29:44]: Oh my God. RAMP didn’t write anything about memory? I see zero search results.
Swyx [00:29:44]: Боже мой. RAMP ничего не написали про память? Вижу ноль результатов поиска.
Walden [00:29:50]: No. Memory can be quite tricky to get right because it’s the retrieval, but also the generation of the memories that can be really tricky. You don’t want it to just like Remember very specific details.
Walden [00:29:50]: Нет. Память может быть довольно хитрой, чтобы сделать её правильно, потому что это и retrieval, но также и генерация воспоминаний, что может быть реально хитро. Ты не хочешь, чтобы оно просто запоминало очень специфичные детали.
Swyx [00:29:59]: Walk us through the Devin memory journey because I know there’s been a journey.
Swyx [00:29:59]: Проведи нас по пути памяти Devin, потому что я знаю, что путь был.
Walden [00:30:03]: the first version of memory that like stuck around for a while was A system we have called Knowledge. And the idea was we wanted it to pick up things over time and not need the user to be proactive about teaching Devin things. So, okay, any time you remind Devin, “Wait, no, that’s not quite the way you’re supposed to use Git”Like, we actually want Devin to say, “Hey, do you want me to actually just remember this for the future?” And for you to just basically quickly approve or reject and for it to build up over time. ‘Cause I find that, 95%, I think, or some crazy stat like that of the memories that Devin has are all through these auto-generated things. Very few people actually just want to sit down and write big docs on Here’s how you’re supposed to work with the technology, et cetera. The generation and the retrieval has been something that we’ve been trying to tune a lot over the years. Generation, you don’t want it to remember something like, if you asked one time to like, “Oh, please open as a draft PR,” you don’t want to be like, “Oh, everyone forever now should get their PRs as draft PRs.” But you do want some, conveyor. Maybe you want to say like, “Oh, Cole generally likes, things to be created as draft PRs.” Same with retrieval, if you have thousands of these memories, how do you actually make sure they’re retrieved at the right time? And that can be quite tricky to do right without exploding the context with a bunch of useful yeah, useless information. Surprising amount of just, eval work to just make sure that, memory is, remains a reliable system as new models come and go.
Walden [00:30:03]: Первая версия памяти, которая задержалась на какое-то время, — это система, которую мы называем Knowledge. Идея была в том, что мы хотели, чтобы она подхватывала вещи со временем и не требовала, чтобы пользователь проактивно учил Devin вещам. Так что, окей, каждый раз, когда ты напоминаешь Devin: «Погоди, нет, это не совсем то, как ты должен использовать Git» — мы реально хотим, чтобы Devin сказал: «Эй, хочешь, чтобы я просто запомнил это на будущее?» — и чтобы ты просто быстро одобрил или отклонил, и чтобы это накапливалось со временем. Потому что я нахожу, что 95%, кажется, или какая-то безумная статистика вроде того, воспоминаний, которые есть у Devin, — все через эти автогенерируемые штуки. Очень мало кто реально хочет сесть и писать большие доки про «вот как ты должен работать с этой технологией» и т.д. Генерация и retrieval — это то, что мы пытались много тюнить на протяжении лет. Генерация: ты не хочешь, чтобы оно запоминало что-то типа — если ты один раз попросил «о, пожалуйста, открой как черновой PR», ты не хочешь, чтобы оно решило: «о, теперь все навсегда должны получать свои PR как черновые». Но какой-то перенос ты хочешь. Может, ты хочешь сказать: «о, Cole в целом любит, чтобы вещи создавались как черновые PR». То же с retrieval: если у тебя тысячи этих воспоминаний, как реально сделать, чтобы они извлекались в нужное время? И это может быть довольно хитро сделать правильно, не взрывая контекст кучей полезной, ну, бесполезной информации. Удивительное количество работы по evals, просто чтобы убедиться, что память остаётся надёжной системой по мере того, как модели приходят и уходят.
Cole [00:31:31]: Do you have anything that you could share on, memory pruning? And like the temporal aspect of memory?
Cole [00:31:31]: Можешь ли поделиться чем-то про очистку памяти (memory pruning)? И про темпоральный аспект памяти?
Swyx [00:31:36]: Deleting and forgetting?
Swyx [00:31:36]: Удаление и забывание?
Walden [00:31:39]: The, today, the, So the things they could do is it could edit memories. And so if your memory used to say like, “Oh, Cole likes to open everything as like a draft PR,” then you can imagine, “No, don’t do that.” And then it’ll say, “Oh, do you want me to update the memory to be Cole now want everything as, open PRs?” I think that at the same time we don’t know if this is going to be the final version of the system. Whatever we have here will probably, translate into the new system that we’ll be coming up with. But I think one big difference between two years ago and today is these agents are really good at using anything that resembles a file system natively. And so part of us are, is thinking, “Oh, should we rebuild memories to feel more like a file system that we let the agent navigate on its own?” That’s been an interesting exploration. Also similar ideas in the scale space.
Walden [00:31:39]: На сегодня то, что можно делать, — оно может редактировать воспоминания. И вот, если твоё воспоминание раньше говорило «о, Cole любит открывать всё как черновой PR», то можешь представить — «Нет, не делай так». И тогда оно скажет: «О, хочешь, чтобы я обновил воспоминание на „Cole теперь хочет всё как открытые PR“?» Думаю, при этом мы не знаем, будет ли это финальной версией системы. Что бы у нас здесь ни было, оно, вероятно, перенесётся в новую систему, которую мы придумаем. Но, думаю, одно большое отличие между «два года назад» и «сегодня» в том, что эти агенты реально хороши в использовании всего, что напоминает файловую систему, нативно. И поэтому часть нас думает: о, может, нам перестроить воспоминания так, чтобы они ощущались больше как файловая система, по которой мы позволяем агенту навигировать самому? Это было интересное исследование. Также похожие идеи в пространстве scale.
Swyx [00:32:35]: I am pulling up OpenClaude’s memory thing right now. So memory, OpenClaude has like this like daily memory journal thing, right? And you can I mean, that is a file system you can grep through and is a source of truth. I don’t know if it’s the best. It’s probably super noisy, but at least, if you lose something you can discover it or you can apply some, forgetting algorithm to, more ancient memories that don’t get recalled again or something. I don’t know.
Swyx [00:32:35]: Я прямо сейчас открываю штуку с памятью OpenClaude. Так вот, память — у OpenClaude есть эта штука вроде ежедневного журнала памяти, верно? И ты можешь… то есть это файловая система, по которой ты можешь делать grep и которая является источником истины. Не знаю, лучший ли он. Вероятно, супер-шумный, но по крайней мере, если ты что-то теряешь, ты можешь это обнаружить, или можешь применить какой-то алгоритм забывания к более древним воспоминаниям, которые больше не извлекаются, или что-то такое. Не знаю.
Walden [00:33:01]: One thing we’ve been trying to do to push the boundaries of how you use agents at your company is letting an agent basically have a very similar file, a memory.md or something, and just like be your permanent PM for a specific set of issues maybe. So we have like some Slack channels internally, maybe a Slack channel dedicated to, a specific product like DeepWiki maybe. And you can imagine that, or you want a Devin that never stops, it’s just always awake, but it has this like memory dock that it can just maintain for itself about, okay, what are like the number one priorities of what we have to fix and prioritize? Who is responsible for some upcoming work? Maybe they’ll even Devin will even tag you on some recurring basis. And so it’s been an interesting move to see, okay, how can we actually use Devin for more than just engineering? Can we actually upstream above the engineering process and maybe it’s just Devin creating tickets, which then maybe some humans do, but then maybe other Devins do.
Walden [00:33:01]: Одна вещь, которую мы пытаемся делать, чтобы раздвинуть границы того, как использовать агентов в твоей компании, — позволить агенту по сути иметь очень похожий файл, memory.md или что-то такое, и просто быть твоим постоянным PM-ом для определённого набора задач, может быть. Так что у нас есть какие-то Slack-каналы внутри, может, Slack-канал, посвящённый конкретному продукту вроде DeepWiki. И можешь представить, что — или ты хочешь Devin, который никогда не останавливается, он просто всегда бодрствует, но у него есть этот memory dock, который он может просто поддерживать для себя: окей, какие у нас приоритеты номер один из того, что надо исправить и приоритизировать? Кто ответственен за какую-то предстоящую работу? Может, он даже — Devin даже будет тегать тебя на какой-то регулярной основе. И вот это был интересный ход — увидеть: окей, как мы реально можем использовать Devin не только для инженерии? Можем ли мы подняться выше инженерного процесса, и, может, это просто Devin, создающий тикеты, которые потом, может, делают какие-то люди, но потом, может, делают другие Devin-ы.
Swyx [00:34:00]: One of my more fun automations is go research competitors and just suggest stuff to me on a weekly basis. That’s the automation. I can’t find it right now, but basically it just like, “Look at competitors and suggest things.” “And here are three things that you’ve suggested that I don’t want any more of,” and you just stick that in the prompts. But like I wish actually So for like when I, for example, when I reject a PR, I wish that it updated memory so that I can then just not have to go up, go back and update the scheduled, sync, but anyway, feature request.
Swyx [00:34:00]: Одна из моих более забавных автоматизаций — иди исследуй конкурентов и просто предлагай мне что-то на еженедельной основе. Вот такая автоматизация. Не могу её сейчас найти, но по сути она просто типа «Посмотри на конкурентов и предложи что-нибудь». «И вот три вещи, которые ты предложил, которых я больше не хочу» — и ты просто вставляешь это в промпты. Но я бы хотел, чтобы — например, когда я отклоняю PR, я бы хотел, чтобы это обновляло память, чтобы мне потом не приходилось возвращаться и обновлять запланированный синк, но в общем, реквест фичи.
Walden [00:34:31]: what? We might change it soon. I guess OpenInspect, in the time you’ve been around, has there been anything you tried to implement but then you had to like undo and like do a different way?
Walden [00:34:31]: что? Мы, может, скоро это поменяем. Кстати, OpenInspect — за то время, что ты с ним, было ли что-то, что ты пытался реализовать, но потом пришлось откатить и сделать по-другому?
OpenInspect Architecture: Webhooks, Control Planes, and Agent State
Архитектура OpenInspect: вебхуки, control plane и состояние агента
Cole [00:34:41]: Nothing yet, but something that is on my mind. The initial way that I built it was that each of the integrations lives as its own package. And so you have The Slack bot, which is what’s handling the webhooks, and then is basically interacting with the control plane. As I’m seeing the system starting to be more integrated, specifically with the GitHub bot integration, I’m considering bringing that all into the central control plane because especially now I want to start, And a request that I’m getting is the ability to monitor, the actual, pull requests being merged, as well as just tracking of
Cole [00:34:41]: Пока ничего, но кое-что у меня на уме. Изначально я построил это так, что каждая из интеграций живёт как собственный пакет. И вот у тебя есть Slack-бот, который обрабатывает вебхуки и по сути взаимодействует с control plane. По мере того как система становится более интегрированной, конкретно с интеграцией GitHub-бота, я подумываю свести всё это в центральный control plane, потому что особенно сейчас я хочу начать — и запрос, который ко мне приходит, — это возможность мониторить реальные пул-реквесты, которые мержатся, а также просто отслеживать
Swyx [00:35:19]: What do I have open?
Swyx [00:35:19]: Что у меня открыто?
Cole [00:35:21]: What do I have open? How many of these are getting merged? How many comments are showing up? To just understand the health of the system. And so in the case of a GitHub app, you only have one webhook. And so then it’s a question of do I put that webhook in that GitHub bot package? That’s weird. It doesn’t really make sense to live there because that package is more for like the code reviewer. Or do I like centralize it? So that’s something that’s on my mind of, making that decision. I think the other one we touched on earlier is the harness in the box versus out of the box. I think long term the architecture will eventually come back out of the box. Some of the newer tools that I’ve added are calling back into the control plane so that you don’t have the secrets in the sandbox. And so I think long term I probably will pull the actual, agent out of the box, but I think for now it’s fine.
Cole [00:35:21]: Что у меня открыто? Сколько из них мержится? Сколько комментариев появляется? Просто чтобы понимать здоровье системы. И вот в случае GitHub-приложения у тебя только один вебхук. И тогда вопрос: положить ли мне этот вебхук в пакет GitHub-бота? Это странно. Не очень логично, чтобы он там жил, потому что этот пакет скорее про ревьюер кода. Или централизовать его? Так что это то, что у меня на уме — принять это решение. Думаю, другое, чего мы коснулись раньше, — harness «в коробке» против «вне коробки». Думаю, в долгосрочной перспективе архитектура в итоге вернётся к «вне коробки». Некоторые из более новых инструментов, которые я добавил, делают вызовы обратно в control plane, чтобы у тебя не было секретов в песочнице. И вот, думаю, долгосрочно я, вероятно, вынесу самого агента из коробки, но, думаю, пока всё в порядке.
Subagents and Multi-Agent Systems: When Parallelism Helps or Hurts
Сабагенты и мульти-агентные системы: когда параллелизм помогает или вредит
Swyx [00:36:16]: Just, a quick question on pulling the agent out of the box. I’m One thing I’m very bullish on this year is agents calling other agents or spawning sub-agents or Whatever you want to call it. Does that make it harder or easier? I can’t tell. Because if the harness is in the box, you can just spin up more boxes. If the harness is outside the box, then you’re, it’s less easy because you are, you have a unicorn pet of a, of a harness that’s, living outside the box.
Swyx [00:36:16]: Просто быстрый вопрос про вынос агента из коробки. Одна вещь, в которую я очень верю в этом году, — это агенты, вызывающие других агентов, или спавнящие сабагентов, или как ни назови. Делает ли это сложнее или проще? Не могу понять. Потому что если harness в коробке, ты можешь просто поднять больше коробок. Если harness вне коробки, тогда это менее просто, потому что у тебя есть «единорог-питомец» harness-а, живущий вне коробки.
Cole [00:36:45]: In theory it would be the same way, right? Whether, one agent has launched many, sub-sessions within it, OpenInspect, for example, can launch sub-sessions and actually create other environments and then monitor them. In the case where it is out of the box, that would basically just be an additional session that’s running. And so that session is also running outside of the box. It’s running in your worker plane, wherever you’re running this. And then you really just have to think about how does your top level agent then interact with it. I do think it can be more complex, just ‘cause again, you have now a more difficult architecture. But I think if you figured it out once, it’s probably fine.
Cole [00:36:45]: В теории это было бы так же, верно? Запустил ли один агент много сабсессий внутри себя — OpenInspect, например, может запускать сабсессии и реально создавать другие окружения, а потом мониторить их. В случае «вне коробки» это по сути была бы просто дополнительная запущенная сессия. И вот эта сессия тоже работает вне коробки. Она работает в твоём worker plane, где бы ты это ни запускал. И дальше тебе реально просто нужно думать о том, как твой верхнеуровневый агент с ней взаимодействует. Думаю, это может быть сложнее, просто потому что у тебя теперь более трудная архитектура. Но, думаю, если ты разобрался один раз, дальше, вероятно, нормально.
Swyx [00:37:26]: Well, then I’m just, throwing it open to you in terms of, I call this like meta Devin management. Which is like the, Devin’s calling Devins or Devin scheduling Devins or querying trajectories or anything like that. What have you built or unshipped, anything?
Swyx [00:37:26]: Ну, тогда я просто открываю это для тебя в плане — я называю это мета-Devin-менеджментом. То есть Devin-ы, вызывающие Devin-ов, или Devin, планирующий Devin-ов, или запрашивающий траектории, или что-то такое. Что вы построили или сняли с продакшена, что угодно?
Cole [00:37:46]: I think one of the surprising things we’ve seen is that a lot of the ways that, these, separate agents work with each other, and you want them to, parallelize their work, has still mostly followed the same manager sub-agents regime. And a lot of people I think are excited about this world where you have swarms of agents that, talk with each other all over the place. We’ve actually given Devin an MCP so they can just go arbitrarily message other Devins And create new Devins, et cetera. But I guess, it somehow creates, a really chaotic world in that sense. And so we’ve still found that most practical use on a day-to-day basis has been one single Devin.
Cole [00:37:46]: Думаю, одна из удивительных вещей, которые мы видели, — что многие способы, которыми эти отдельные агенты работают друг с другом и которыми ты хочешь, чтобы они распараллеливали свою работу, всё ещё в основном следуют той же схеме «менеджер — сабагенты». И многие, думаю, в восторге от мира, где у тебя рои агентов, которые общаются друг с другом повсюду. Мы реально дали Devin MCP, чтобы они могли произвольно слать сообщения другим Devin-ам и создавать новых Devin-ов и т.д. Но, наверное, это почему-то создаёт реально хаотичный мир в этом смысле. И вот мы всё же обнаружили, что наиболее практичное использование на повседневной основе — это один-единственный Devin.
Cole [00:38:33]: Figuring out how to segregate the work and get, have other Devins work on it in, a relatively isolated sense, each with their own boxes Not sharing machines, so there’s, a very little room for conflict is the regime that you have to create today.
Cole [00:38:33]: Разобраться, как сегментировать работу и заставить других Devin-ов работать над ней относительно изолированно, каждый со своими коробками, не разделяя машины, чтобы было очень мало места для конфликтов, — вот тот режим, который тебе надо создавать сегодня.
Swyx [00:38:50]: I’ll call out, the experiments from Cursor, right? This is Wilson Lin’s work on Single agent to multi-agent, and you’re obviously famously on the side of don’t build multi-agent. But they went through the whole thing, only to arrive at, this Which is exactly what Devin has, I think.
Swyx [00:38:50]: Отмечу эксперименты от Cursor, верно? Это работа Wilson Lin по переходу от одного агента к мульти-агентам, и ты, очевидно, знаменито на стороне «не строй мульти-агентов». Но они прошли весь путь только чтобы прийти к вот этому, что в точности то, что есть у Devin, я думаю.
Cole [00:39:08]: I think there will be a revision to that post at some point About
Cole [00:39:08]: Думаю, в какой-то момент будет ревизия того поста про
Swyx [00:39:12]: Tell us about it
Swyx [00:39:12]: Расскажи об этом
Cole [00:39:12]: I think multi-agents were very much not at all possible a year ago. You do see more multi-agent experiments today, but you can argue, are they really multi-agents, or are they just just, tool calls,? There are people who, will create sub-agents to go look for XYZ file, XYZ implementation. Has really nice context management benefits because all of the tool calls and tokens that it spends then get collapsed back to just the answer for the main agent. There’s a lot of benefits to doing this. We basically have Devin do this with Deep Bookie, make a call out to Deep Bookie, give you back the results, but that feels like a tool call,? It’s not like these, two collaborators actually talking back with each, back and forth with each other. But I think the thing that gives me the most bullishness that multi-agents might actually be possible is actually what I said earlier about Devin will actually sometimes tell me I’m wrong and push back, and I think that demonstrates a level of maturity and communication today that makes a multi-agent world possible. One, can two agents who have seen different information come back to each other and actually figure out who is right, what is the correct implementation? They’re not just, yes men. Claude, I guess is like, used to just say, what is it? “You’re right,” or,
Cole [00:39:12]: Думаю, мульти-агенты были совершенно невозможны год назад. Сегодня ты видишь больше мульти-агентных экспериментов, но можно спорить — действительно ли это мульти-агенты, или это просто tool call-ы? Есть люди, которые создают сабагентов, чтобы пойти найти файл XYZ, реализацию XYZ. Это даёт очень приятные преимущества по управлению контекстом, потому что все tool call-ы и токены, которые он тратит, потом схлопываются обратно просто до ответа для главного агента. Есть много преимуществ в том, чтобы делать так. Мы по сути заставляем Devin делать это с Deep Bookie — делаем вызов к Deep Bookie, он возвращает тебе результаты, но это ощущается как tool call, верно? Это не то, чтобы эти два соавтора реально разговаривали друг с другом туда-сюда. Но, думаю, то, что даёт мне больше всего веры, что мульти-агенты могут реально быть возможны, — это как раз то, что я сказал раньше: Devin иногда реально говорит мне, что я неправ, и возражает, и, думаю, это демонстрирует уровень зрелости и коммуникации сегодня, который делает мульти-агентный мир возможным. Могут ли два агента, которые видели разную информацию, сойтись и реально выяснить, кто прав, какая реализация правильная? Они не просто поддакивающие «да-да». Claude, наверное, раньше просто говорил, как там, «Ты прав», или,
Swyx [00:40:25]: “You’re absolutely right.”
Swyx [00:40:25]: «Ты абсолютно прав.»
Cole [00:40:26]: “You’re absolutely right.” Yeah.
Cole [00:40:26]: «Ты абсолютно прав.» Да.
Swyx [00:40:28]: The Have you seen, did you see
Swyx [00:40:28]: Ты видел, ты видел
Cole [00:40:29]: The age is over
Cole [00:40:29]: Эпоха закончилась
Swyx [00:40:30]: The Codex app troll in Topic? This is the Codex app. Inside of Settings, there’s a little, there’s a little Easter egg, right? So if you go to, the Themes or Appearance, right? There’s all these, color codes, and the top is absolutely, and it’s the Topic’s colors. Which is such a troll. Anyway.
Swyx [00:40:30]: Прикол с приложением Codex в Topic? Это приложение Codex. Внутри Settings есть маленькая пасхалка, верно? Так что если зайти в Themes или Appearance, там все эти цветовые коды, и наверху «absolutely», и это цвета Topic. Что за прикол. В общем.
Model Behavior: Pushback, Adversarial Prompts, and Agent Skepticism
Поведение модели: возражения, состязательные промпты и скептицизм агента
Cole [00:40:53]: I love that Easter egg. Did you discover that yourself?
Cole [00:40:53]: Обожаю эту пасхалку. Ты сам её обнаружил?
Swyx [00:40:54]: No, it was, someone was, tweeting about it And I was like, I was like, “Is this true?” Because, sometimes people just tweet stuff to, get a rise out of you. But yeah, there you go, in Topic colors.
Swyx [00:40:54]: Нет, кто-то твитил об этом, и я такой: «Это правда?» Потому что иногда люди просто твитят что-то, чтобы тебя завести. Но да, вот, в цветах Topic.
Cole [00:41:06]: Yeah. So yeah, we’re out of this regime where, it just says you’re absolutely right, and they can have real conversations and real back and forths.
Cole [00:41:06]: Да. Так что да, мы выходим из этого режима, где оно просто говорит «ты абсолютно прав», и они могут вести реальные разговоры и реальные обмены туда-сюда.
Swyx [00:41:13]: You can prompt it as well to be more adversarial or whatever. Yeah. Okay. Yeah, that, I mean, to me, that is more intelligence, right? That is not just something that’s, a dumb tool, it’s actually pushing back on you I think. Yeah.
Swyx [00:41:13]: Ты можешь и запромптить его быть более состязательным или как угодно. Да. Окей. Да, то есть, для меня это больше интеллекта, верно? Это не просто что-то, что является тупым инструментом, оно реально возражает тебе, я думаю. Да.
Cole [00:41:24]: when you mentioned, of course, the blog posts. There was one blog they had where they fed a swarm of agents together and built a browser.
Cole [00:41:24]: когда ты упомянул, конечно, посты в блоге. Был один блог, где они скормили рой агентов вместе и построили браузер.
Swyx [00:41:34]: That was I think that was the one.
Swyx [00:41:34]: Это, думаю, был тот самый.
Cole [00:41:36]: You can have, like
Cole [00:41:36]: Можно иметь, типа
Swyx [00:41:37]: I think it’s the same one
Swyx [00:41:37]: Думаю, это тот же самый
Cole [00:41:37]: Creation of it. We found a surprising success of, don’t do a swarm or anything, just have one Devin, it does its own context management. Just let it keep running for a while and give it some crazy tasks. I think we asked it to, rebuild, a Windows OS system. And it managed to do it just like, going on for long enough. It’s
Cole [00:41:37]: Создание его. Мы обнаружили удивительный успех в том, чтобы — не делать рой или что-то такое, просто иметь одного Devin, он сам управляет своим контекстом. Просто дай ему поработать какое-то время и дай ему какие-то безумные задачи. Думаю, мы попросили его пересобрать систему Windows OS. И он умудрился это сделать, просто работая достаточно долго. Это
Swyx [00:41:55]: Was this Andrew’s thing?
Swyx [00:41:55]: Это была штука Andrew?
Cole [00:41:58]: there were lots of demos that we ended up not posting, ‘cause at some point we’d just be posting way too much a bunch of, Demos. But I love that because it shows that I think the multi-agent thing still has, a bit of exciting sexiness to it, which is maybe still beyond still, the actual delta it adds to the capabilities of these systems. But it’s absolutely the future. I think we’re heading in that direction and we can see the progress being made there already.
Cole [00:41:58]: было много демо, которые мы в итоге не выложили, потому что в какой-то момент мы бы просто выкладывали слишком много кучи демо. Но мне это нравится, потому что это показывает, что, думаю, у мульти-агентной темы всё ещё есть немного волнующей привлекательности, которая, может, всё ещё превосходит реальную дельту, которую она добавляет к возможностям этих систем. Но это безусловно будущее. Думаю, мы движемся в этом направлении, и мы уже видим прогресс, который там достигается.
Swyx [00:42:25]: If I were to, make one super minor pushback because I don’t feel that confident about it yet
Swyx [00:42:25]: Если бы я сделал одно совсем мелкое возражение, потому что я пока не очень в нём уверен
Cole [00:42:33]: Go for it
Cole [00:42:33]: Давай
Swyx [00:42:33]: But I’ve had Ryan Lopopolo from OpenAI on the pod And he’s a super slop cannon, right? Oh my God, that’s my coding agent being done. I downloaded this, Peon Ping. I don’t know if you guys have heard this. It takes like-, sound packs from popular games like, Command and Conquer and Warcraft, and then it plays it whenever it’s done. And so it’s like, “Work,” or whatever, “At your command,” or something. Anyway, what I got from the Cursor code base and from Ryan’s thing was that there’s a slop cannon approach where you try to loosen the single agent’s, bottleneck, and I feel like that is, probably an, a very important thing to try to figure out. I don’t think anyone’s, really solved it. Because then you just have more reviewer slop on top of the agent slop To try to wrangle it all. Ryan will probably very strongly object that I say that he hasn’t solved it, but he thinks he’s He thinks he’s completely solved it. But I think it’s still I think it’s, very important, ‘cause, that is a bottleneck, right? I feel Devin is slow sometimes Because I’m like, well, yeah, this is very readable and very sensible, but also it is slower than it could be if I just, I want a button to just say, “Just ramp this up 1,000 next parallel, in parallel and just, see what happens,”? And I don’t know if that’s, feasible at some point in the future.
Swyx [00:42:33]: Но у меня был Ryan Lopopolo из OpenAI в подкасте, и он настоящая «slop-пушка», верно? О боже, это мой кодинг-агент закончил. Я скачал эту штуку, Peon Ping. Не знаю, слышали ли вы о ней. Она берёт звуковые паки из популярных игр вроде Command and Conquer и Warcraft, и потом проигрывает их каждый раз, когда закончил. И вот это типа «Work» или что-то, «At your command» или что-то такое. В общем, что я вынес из кодовой базы Cursor и из штуки Ryan — что есть подход «slop-пушки», где ты пытаешься ослабить узкое место одного агента, и я чувствую, что это, вероятно, очень важная вещь, которую надо попытаться решить. Не думаю, что кто-то реально её решил. Потому что тогда у тебя просто больше ревьюер-slop-а поверх агент-slop-а, чтобы попытаться всё это укротить. Ryan, вероятно, очень сильно возразит, что я говорю, будто он её не решил, но он считает, что он — он считает, что он полностью её решил. Но, думаю, это всё же — думаю, это очень важно, потому что это узкое место, верно? Я чувствую, Devin иногда медленный, потому что я думаю: ну да, это очень читаемо и очень разумно, но также это медленнее, чем могло бы быть, если бы я просто — я хочу кнопку, чтобы просто сказать: «Просто разгони это в 1000 раз дальше параллельно и просто посмотри, что будет», да? И не знаю, осуществимо ли это в какой-то момент в будущем.
Code Review, Entropy, and AI Slop
Ревью кода, энтропия и ИИ-slop
Walden [00:43:55]: I And we’ve also run experiments internally where we’ve basically tried to build entire products, true products that we knew we would eventually ship, but for now, let’s try to see if we can do it just by purely, vibe coding on top of each other, auto merge, no code review at all. And then there’s this benchmark of how many weeks can you go onto this for Before you say, “We have the trashiest code base.”
Walden [00:43:55]: Я — и мы тоже проводили эксперименты внутри, где мы по сути пытались построить целые продукты, настоящие продукты, которые мы знали, что в итоге отгрузим, но пока — давай попробуем посмотреть, сможем ли мы сделать это чисто vibe-кодингом поверх друг друга, авто-мерж, вообще без ревью кода. И вот есть этот бенчмарк: сколько недель ты можешь так продержаться, прежде чем скажешь: «У нас самая мусорная кодовая база».
Walden [00:44:18]: “Let’s actually rewrite it from scratch.”
Walden [00:44:18]: «Давай-ка реально перепишем её с нуля.»
Swyx [00:44:19]: Start a new factory, yeah. What’d you find?
Swyx [00:44:19]: Запусти новую фабрику, да. Что ты обнаружил?
Walden [00:44:21]: I think we found that the state-of-the-art in December was you can probably, run this for about two weeks. By the end of those two weeks, you’d find that, hey, you want to, change the color of a button. Well, it turns out this button is implemented in, 10 different places, and they, have All these different variations, and oh, you forgot one of them, and actually it’s a slightly different color in one spot. And you’re like, “Okay, this is too much to work with. Let’s actually try to do code review at the same time.” And make sure that we’re on top of our software, actually cleaning it up a bit And making sure it’s done in a scalable way.
Walden [00:44:21]: Думаю, мы обнаружили, что состояние дел на декабрь было такое: ты можешь, вероятно, продержаться так около двух недель. К концу этих двух недель ты обнаружишь, что — эй, ты хочешь поменять цвет кнопки. Ну, оказывается, эта кнопка реализована в 10 разных местах, и у них всех эти разные вариации, и о, ты забыл одну из них, и на самом деле в одном месте она чуть другого цвета. И ты такой: «Окей, с этим слишком тяжело работать. Давай-ка реально делать ревью кода одновременно». И убедимся, что мы держим наш софт под контролем, реально немного его чистя и убеждаясь, что это сделано масштабируемым образом.
Cole [00:44:54]: I think building on that, the idea of, you don’t have to look at code, I think is generally a bad idea. And the meme that I have for that
Cole [00:44:54]: Думаю, развивая это, идея о том, что тебе не надо смотреть на код, — это, по-моему, в целом плохая идея. И мем, который у меня на этот счёт
Walden [00:45:03]: What timeline, all right, is Do you think that statement will be true on?
Walden [00:45:03]: На каком сроке, ладно, ты думаешь это утверждение станет правдой?
Cole [00:45:06]: I think probably for a while it’ll be true that you should continue to look at your code. A problem that I see a lot of teams run into that I work with who are embracing AI native, AI first coding, is The meme that I have is that your code base regresses to your worst engineer, because that engineer who is, very gung-ho about AI and is not auditing their code, their pattern starts cementing into the code, and now the AI is referencing their patterns. And so now their if/else block that, is 20 if/elses back and forth, the AI is seeing that as the pattern of how things are done and starts to then exponentially grow this slop. And I find to your point, a pretty good approach to that is having scheduled cleanup, whether by humans or through systems, that are looking for duplication. They then address that. You’ll end up with like 12 helpers for how to format a date. And you need to address that, because otherwise it will continue to sprawl.
Cole [00:45:06]: Думаю, вероятно, ещё какое-то время будет правдой, что тебе стоит продолжать смотреть на свой код. Проблема, в которую упирается много команд, с которыми я работаю и которые принимают AI-native, AI-first кодинг, — мем, который у меня есть, в том, что твоя кодовая база деградирует до уровня твоего худшего инженера, потому что тот инженер, который очень рьян насчёт ИИ и не аудирует свой код, — его паттерн начинает цементироваться в коде, и теперь ИИ ссылается на его паттерны. И вот теперь его блок if/else, который представляет собой 20 if/else туда-сюда, ИИ видит это как паттерн того, как тут делаются вещи, и начинает потом экспоненциально растить этот slop. И я нахожу, к твоей мысли, довольно хороший подход к этому — иметь запланированную чистку, будь то людьми или через системы, которые ищут дублирование. Они потом его устраняют. Иначе ты в итоге получишь 12 хелперов для форматирования даты. И тебе надо это устранять, потому что иначе оно продолжит разрастаться.
Swyx [00:46:09]: Within balance, I think it’s fine to have some duplication, and then sometimes To have garbage collection, right? Yeah. The What I’ve been, talking about with a lot of engineering leaders is that you want to be very strict about the boundaries between modules, and it’s your job as an architect, as a CTO, whatever, to say like, “Okay, here’s the hard contract between you guys and you guys. Whatever you do inside this black box is your business. You do whatever. But between these guys, let’s be, really damn clear, and any movement must be signed off by a human or me,” or. Then, and like that’s that. I don’t know if you have any other modifications or advice.
Swyx [00:46:09]: В разумных пределах, думаю, нормально иметь какое-то дублирование, а потом иногда — сборку мусора, верно? Да. То, о чём я много говорил с разными инженерными лидерами, — что ты хочешь быть очень строгим насчёт границ между модулями, и это твоя работа как архитектора, как CTO, как угодно — сказать: «Окей, вот жёсткий контракт между вами и вами. Что бы вы ни делали внутри этого чёрного ящика — ваше дело. Делайте что угодно. Но между этими — давайте будем чертовски ясны, и любое движение должно быть согласовано человеком или мной». И на этом всё. Не знаю, есть ли у тебя какие-то ещё модификации или советы.
Walden [00:46:44]: Well, I guess generally on the topic of, where humans can be useful, I found that ‘cause, some of these, really deep infra problems, sometimes just having a human that just has, really deep expertise can make a big difference. I’ve actually seen this come into play when actually building agents. So we’ve had a few friends now, try building their own coding agents, and I think one same problem that I recurringly heard a lot of them run into was this problem of like, “Oh, Grep is really slow on our agents’ machines.” And so a lot of them, I assume because they’re using AI and they themselves don’t have, super deep infra background knowledge, say, “Okay, we’re going to go build our own custom Grep index. It’s going to be really fast,” and use that as a way around this problem. When we ran into this problem About like, maybe like a year and a half ago when we were, in the early days of building Devin, we obviously didn’t have AI then. We just asked our, how to, how to do this. You can just swap out a new Grep index, so.
Walden [00:46:44]: Ну, наверное, в целом на тему того, где люди могут быть полезны, я обнаружил, что — потому что некоторые из этих реально глубоких инфра-проблем — иногда просто наличие человека с реально глубокой экспертизой может сильно изменить дело. Я реально видел, как это проявляется при построении агентов. Так вот, у нас было несколько друзей, которые пробовали строить собственных кодинг-агентов, и, думаю, одна и та же проблема, в которую, как я неоднократно слышал, многие из них упирались, — это проблема типа: «О, Grep реально медленный на машинах наших агентов». И вот многие из них — полагаю, потому что они используют ИИ и у них самих нет супер-глубоких инфра-знаний — говорят: «Окей, мы пойдём построим собственный кастомный Grep-индекс. Он будет реально быстрым», и используют это как обход этой проблемы. Когда мы упёрлись в эту проблему примерно, может, полтора года назад, когда мы были в ранних днях построения Devin, у нас, очевидно, тогда не было ИИ. Мы просто спросили нашего, как это сделать. Можно просто заменить новый Grep-индекс, так что.
Infrastructure Details: Grep, File Systems, and Sandboxes
Детали инфраструктуры: Grep, файловые системы и песочницы
Swyx [00:47:45]: What do you mean you hand-coded Devin? What?
Swyx [00:47:45]: Что значит вы вручную закодили Devin? Что?
Walden [00:47:48]: It’s like, can you believe we hand-wrote this code? And we had, our infra people who are really amazing, they were looking into it and they’re like, “Oh, what? We realized that actually the root cause of this problem is actually super simple, but like fine-grain detail,” which is that a lot of these virtual machines actually underlying them don’t use real file systems. They use these, network file systems where things are actually cached over the network actually in S3. So when you’re Grepping, you’re actually making network calls Every time you’re doing these things, and that’s why Grep is extremely slow on these machines. And so again, goes back to, what is all of the crazy infra work that we had to do to actually get these machines working. If you try to do this yourself, there are tons of small details like this, and so we had to eventually go swap out that network file system. But
Walden [00:47:48]: Это типа — можешь поверить, мы вручную написали этот код? И у нас были наши инфра-люди, которые реально потрясающие, они в это вникали и такие: «О, что? Мы осознали, что на самом деле корневая причина этой проблемы реально простая, но тонкая деталь» — а именно, что многие из этих виртуальных машин в основе своей не используют настоящие файловые системы. Они используют эти сетевые файловые системы, где вещи на самом деле кэшируются по сети в S3. Так что когда ты делаешь Grep, ты на самом деле делаешь сетевые вызовы каждый раз, когда делаешь это, и вот почему Grep крайне медленный на этих машинах. И вот, опять же, это возвращает к — что за вся безумная инфра-работа, которую нам пришлось проделать, чтобы реально заставить эти машины работать. Если ты попытаешься сделать это сам, есть тонны мелких деталей вроде этой, и вот нам в итоге пришлось заменить ту сетевую файловую систему. Но
Swyx [00:48:35]: I think there’s a write-up about it, right? Silas did one about the virtual file system.
Swyx [00:48:35]: Думаю, об этом есть статья, верно? Silas написал одну про виртуальную файловую систему.
Walden [00:48:38]: Oh, that was a whole other thing. The
Walden [00:48:38]: О, это была совсем другая штука. Та
Swyx [00:48:39]: Oh, that’s a different thing
Swyx [00:48:39]: О, это другая штука
Walden [00:48:40]: The BlockDev file storage format
Walden [00:48:40]: Формат хранения файлов BlockDev
Swyx [00:48:42]: I’ll bring it up
Swyx [00:48:42]: Я открою
Walden [00:48:42]: Which is, a file system format that we built so that the VMs could be spun up and down very quickly. Basically, the intuition behind this is-Imagine you have, a terabyte of disk, and your agent only, wrote, a hundred lines of code on top of that disk. How long does it, say, take to, save and re-bring up that disk? And most systems, because you’re not optimizing for this case, it’s just, on the order of a terabyte of work because you have to Save all of that and bring it back up. In our system, we try to build a file system that incrementally builds on top of each other. So every time you save and bring the machine back up, you’re only doing work that is proportional to effectively the diff in the file system. And so this, shaves off a lot of time in the boot-up process of Devin. I think we This is actually now outdated. We have a newer system inside of Devin. But yeah, there’s a lot of tiny details you have to get right here to actually get the day-to-day experience of Devin to be good.
Walden [00:48:42]: Это формат файловой системы, который мы построили, чтобы VM можно было очень быстро поднимать и гасить. По сути, интуиция за этим такая: представь, у тебя терабайт диска, а твой агент написал поверх этого диска всего сотню строк кода. Сколько времени, скажем, занимает сохранить и заново поднять этот диск? И большинство систем, поскольку ты не оптимизируешь под этот случай, — это просто работа порядка терабайта, потому что тебе надо сохранить всё это и поднять обратно. В нашей системе мы пытаемся построить файловую систему, которая инкрементально надстраивается одна на другую. Так что каждый раз, когда ты сохраняешь и поднимаешь машину обратно, ты делаешь работу, пропорциональную по сути только диффу в файловой системе. И вот это сбривает много времени в процессе загрузки Devin. Думаю, это сейчас уже устарело. У нас внутри Devin есть более новая система. Но да, тут есть много крошечных деталей, которые надо сделать правильно, чтобы реально получить хороший повседневный опыт Devin.
Swyx [00:49:39]: It’s, not technically agents, but it is agent infra, and when you sell an agent as a company, you sell agent plus agent infra.
Swyx [00:49:39]: Это технически не агенты, но это инфра агентов, и когда ты продаёшь агента как компания, ты продаёшь агента плюс инфру агента.
Walden [00:49:46]: At least the way we do it be And the other The nice thing about having the agent infra being done together is, you We get to deploy Devin in whatever environment we want now. We don’t need to wait for some underlying infra provider to also go and support VPC or on-prem or FedGovCloud, for instance. So we can actually go and figure out, okay, since we own the infrastructure, how can we get that set up for you?
Walden [00:49:46]: По крайней мере так, как мы это делаем. И другое — приятная вещь в том, что инфра агента делается вместе: мы можем теперь развёртывать Devin в любом окружении, какое захотим. Нам не нужно ждать, пока какой-то нижележащий инфра-провайдер тоже пойдёт и поддержит VPC, или on-prem, или FedGovCloud, например. Так что мы можем реально пойти и разобраться: окей, раз мы владеем инфраструктурой, как нам это для вас настроить?
Cloud Providers: Modal, Daytona, and Enterprise Sandboxes
Облачные провайдеры: Modal, Daytona и enterprise-песочницы
Swyx [00:50:12]: Whereas you’re Cloudflare dependent.
Swyx [00:50:12]: Тогда как ты зависим от Cloudflare.
Cole [00:50:15]: so Cloudflare runs the control plane. The sandboxes, Modal is supported. A contributor just added Daytona. E2B is on the roadmap, and I think there’s an abstraction in place that if any contributor wants to add a new provider, they can add that in.
Cole [00:50:15]: так Cloudflare запускает control plane. Из песочниц поддерживается Modal. Контрибьютор только что добавил Daytona. E2B в роадмапе, и, думаю, на месте есть абстракция, так что если какой-то контрибьютор хочет добавить нового провайдера, он может это добавить.
Walden [00:50:32]: Well, what are, How are the customers you work with Do they generally try to then go set up a contract with another one of these third-party providers? Do they try to do the VMs in-house?
Walden [00:50:32]: Ну, что — как клиенты, с которыми ты работаешь, — они в целом потом идут заключать контракт с одним из этих сторонних провайдеров? Они пытаются делать VM in-house?
Cole [00:50:44]: most of them I see using Modal. I think Modal has a great
Cole [00:50:44]: большинство из них, что я вижу, используют Modal. Думаю, у Modal отличный
Walden [00:50:48]: Shout out Modal.
Walden [00:50:48]: Респект Modal.
Swyx [00:50:48]: Shout out Modal.
Swyx [00:50:48]: Респект Modal.
Cole [00:50:50]: I think Modal has a great offering. It captures all of the sandbox pieces you need, snapshots being a pretty big piece of that, and given that they also offer GPUs, I think it’s a pretty nice offering as a whole.
Cole [00:50:50]: Думаю, у Modal отличное предложение. Оно охватывает все нужные тебе куски песочницы, снапшоты — довольно большой из них, и учитывая, что они также предлагают GPU, думаю, это довольно приятное предложение в целом.
Swyx [00:51:04]: no debate there.
Swyx [00:51:04]: тут без споров.
Walden [00:51:07]: Modal is great, especially, I think their container offering is, the most natural, and so especially if you are willing to, forego, the full VM requirements Modal is, a really vast place you can spin something up on.
Walden [00:51:07]: Modal отличный, особенно, думаю, их контейнерное предложение — самое естественное, и поэтому особенно если ты готов отказаться от требований полноценной VM, Modal — реально обширное место, где можно что-то быстро поднять.
Swyx [00:51:20]: Is there a point So Modal’s very Python, and I feel like most workload, has really shifted to JavaScript. I don’t know if you guys Get the same feeling. So, okay, when I started Landspace and IE and all these things, I was like 50/50 Python and JS, right? That’s roughly. I think that’s wrong now. I think JS has won. I don’t know if you guys Like, I Maybe I’m overstating it, and maybe for cognition, there’s, C# and Java and what have you. But for, new greenfield apps, do you feel that Do you get that sense? Does it matter?
Swyx [00:51:20]: Есть ли момент — так, Modal очень Python-ориентированный, а у меня ощущение, что большинство нагрузки реально сместилось в JavaScript. Не знаю, есть ли у вас такое же ощущение. Так что, окей, когда я начинал Landspace, и IE, и все эти штуки, у меня было примерно 50/50 Python и JS, верно? Грубо. Думаю, сейчас это неверно. Думаю, JS победил. Не знаю, есть ли у вас… может, я преувеличиваю, и может, для cognition есть C#, Java и что угодно. Но для новых greenfield-приложений — есть ли у вас такое ощущение? Получаете такой посыл? Имеет ли это значение?
Cole [00:51:52]: I think that most of the libraries that I see in this space are Python native first, especially in the
Cole [00:51:52]: Думаю, большинство библиотек, которые я вижу в этом пространстве, Python-native в первую очередь, особенно в
Cole [00:51:58]: Observability space. That said, I think that there is a pretty big appeal of having your entire system in one language. Especially when you have both your frontend and backend communicating, you can have one central type Which is very nice.
Cole [00:51:58]: пространстве observability. При этом, думаю, есть довольно большая привлекательность в том, чтобы иметь всю систему на одном языке. Особенно когда у тебя и фронтенд, и бэкенд общаются, ты можешь иметь один центральный тип, что очень приятно.
Swyx [00:52:11]: That’s my case against Modal, which is Then you have to run JS. You can run JS inside Modal. It’s just, one extra step That, isn’t native to the runtime. I don’t know if
Swyx [00:52:11]: Это мой аргумент против Modal — что тогда тебе надо запускать JS. Ты можешь запускать JS внутри Modal. Просто это один лишний шаг, который не нативен для рантайма. Не знаю, есть ли
Walden [00:52:22]: I don’t know
Walden [00:52:22]: Не знаю
Swyx [00:52:23]: Reviews. Do you have numbers? I don’t know.
Swyx [00:52:23]: Отзывы. Есть у тебя цифры? Не знаю.
Walden [00:52:25]: the one thing I don’t like about Python is whenever AI, whenever it writes Python, it always does, the weirdest patterns, and
Walden [00:52:25]: единственное, что мне не нравится в Python, — это что когда ИИ пишет Python, он всегда делает страннейшие паттерны, и
Swyx [00:52:32]: Oh, because it’s, mixing two and three or what?
Swyx [00:52:32]: О, потому что он мешает два и три или что?
Walden [00:52:34]: I think it’s something mixing two and three, yeah. The I don’t know if you see this. It always tries to do, has attribute on objects as like
Walden [00:52:34]: Думаю, что-то про смешивание двух и трёх, да. Я не знаю, видишь ли ты это. Оно всегда пытается делать hasattr на объектах, типа
Cole [00:52:41]: Oh, my God.
Cole [00:52:41]: О боже.
Walden [00:52:41]: But it’s like But that you shouldn’t be doing that. It should error if there was
Walden [00:52:41]: Но это типа — а ты не должен так делать. Оно должно выдавать ошибку, если бы там
Swyx [00:52:45]: Because it’s training on library code?
Swyx [00:52:45]: Потому что он обучается на коде библиотек?
Cole [00:52:47]: I think it’s more of, like
Cole [00:52:47]: Думаю, это больше похоже на
Cole [00:52:48]: From what I’ve seen, it’s more of, a reward hacking mechanism where it doesn’t want to basically
Cole [00:52:48]: Из того, что я видел, это больше похоже на механизм reward hacking, где оно по сути не хочет
Walden [00:52:54]: It’ll never error.
Walden [00:52:54]: Оно никогда не выдаст ошибку.
Cole [00:52:54]: It doesn’t want the code to fail. And so it Even when it knows it has the attribute, it’ll call getattr on a, and for a lot of my clients who have moved towards more autonomous coding, we’ve put that in as a lint rule That if you do getattr, your pull request is going to fail.
Cole [00:52:54]: Оно не хочет, чтобы код упал. И поэтому оно — даже когда оно знает, что атрибут есть, оно вызовет getattr на a, и для многих моих клиентов, которые перешли к более автономному кодингу, мы внесли это как правило линтинга: если ты делаешь getattr, твой пул-реквест упадёт.
Slop Signatures: Comments, Backwards Compatibility, and Types
Сигнатуры slop-а: комментарии, обратная совместимость и типы
Swyx [00:53:12]: Ooh, this is a fun topic. Can you tell me more about this? What else is a sign of AI coding that you have to put guards in?
Swyx [00:53:12]: О, это забавная тема. Можешь рассказать подробнее? Что ещё является признаком ИИ-кодинга, против чего тебе надо ставить заслоны?
Walden [00:53:21]: So we were talking just before this about Opus 4.7. One of the things this new model likes to do is it writes lots of comments. Not like, it’ll, comment every line, but it’ll write, paragraph, PRDs, on top of every function. But I will say, to its credit, these aren’t slop, descriptions like they were before. “Oh, here’s what this function does.” It’s like, “Oh, here’s actually the reasoning and why we chose this approach and what the alternatives were and why we shouldn’t do those alternatives.” Still too much information, but I wonder if this actually might be directionally correct if you want systems that can self-maintain themselves in the long run.
Walden [00:53:21]: Так вот, мы как раз перед этим говорили про Opus 4.7. Одна из вещей, которую любит делать эта новая модель, — она пишет много комментариев. Не то чтобы она комментирует каждую строку, но пишет абзацы, целые PRD, поверх каждой функции. Но скажу, к её чести: это не slop-описания вроде тех, что были раньше. «О, вот что делает эта функция». Это типа «О, вот реально рассуждение и почему мы выбрали этот подход, и какие были альтернативы, и почему нам не стоит делать эти альтернативы». Всё ещё слишком много информации, но я задаюсь вопросом — может, это на самом деле направленно верно, если ты хочешь системы, которые могут сами себя поддерживать в долгосрочной перспективе.
Swyx [00:54:04]: Oh, they write the specs inline.
Swyx [00:54:04]: О, они пишут спеки прямо в коде (inline).
Walden [00:54:05]: Have all the context In the code as well. Yeah.
Walden [00:54:05]: Держат весь контекст и в коде тоже. Да.
Swyx [00:54:07]: So you approve?
Swyx [00:54:07]: То есть ты одобряешь?
Walden [00:54:09]: I But at the same time, it’s this tricky problem. Maybe we’ll just give our users, a setting or something, for, how verbose you want it to be. I haven’t loved it. Honestly, I just I like the comment, but please, get rid of it. But I could, I could see a world where maybe something of the sort becomes reality. I don’t know If you guys know about GitAI. So
Walden [00:54:09]: Я — но в то же время это такая хитрая проблема. Может, мы просто дадим нашим пользователям какую-то настройку, насколько многословным ты хочешь это видеть. Мне это не полюбилось. Честно, я просто — мне нравится комментарий, но, пожалуйста, убери его. Но я мог бы — я мог бы представить мир, где, может, что-то в этом роде станет реальностью. Не знаю, знаете ли вы про GitAI. Так что
Swyx [00:54:32]: We’ve talked about it, yeah.
Swyx [00:54:32]: Мы об этом говорили, да.
Walden [00:54:33]: GitAI, the idea behind it is
Walden [00:54:33]: GitAI, идея за ним в том
Swyx [00:54:34]: I’ll bring it up
Swyx [00:54:34]: Я открою
Walden [00:54:35]: That if you run an agent, the actual prompts you send to the agent should be stored alongside the code inside the Git metadata so that future agents can reference it, maybe code review bots can reference it. And it’s ideal world where, your context for why decisions were made constantly lives aside, beside your code. And so it’s, maybe a more hidden version of this, write massive PRDs for every comment approach.
Walden [00:54:35]: Что если ты запускаешь агента, то сами промпты, которые ты отправляешь агенту, должны храниться рядом с кодом внутри Git-метаданных, чтобы будущие агенты могли на них ссылаться, может, боты ревью кода могли на них ссылаться. И это идеальный мир, где твой контекст того, почему были приняты решения, постоянно живёт рядом с твоим кодом. И вот это, может, более скрытая версия этого подхода — писать огромные PRD на каждый комментарий.
Swyx [00:55:01]: I’m waiting for the real bull case where we just get rid of Git altogether. We’re not I’m not, I’m not there yet, but I’m looking for it because that would be a big shift.
Swyx [00:55:01]: Я жду настоящего «бычьего» сценария, где мы вообще избавимся от Git. Мы не — я пока не там, но я ищу этого, потому что это был бы большой сдвиг.
Cole [00:55:11]: On the topic of, visible slop, a pattern that I see a lot of across GPT models specifically is backwards compatibility, at all costs
Cole [00:55:11]: На тему видимого slop-а — паттерн, который я часто вижу конкретно в GPT-моделях, это обратная совместимость любой ценой
Cole [00:55:21]: Where it’s doing these weird import exports so that it doesn’t have to modify, the names of where the modules were. And I’ve seen Claude 4.6 starting to do this as well.
Cole [00:55:21]: Где оно делает эти странные import-export, чтобы ему не пришлось менять имена там, где были модули. И я видел, как Claude 4.6 тоже начинает так делать.
Cole [00:55:33]: And again, I think it is this, reward hacking behavior where it doesn’t want failure to occur, and you can address that through, Semgrep or other tools where that behavior is pretty easy to identify. But it’s something that you only learn through the trade of just seeing code patterns. Untyped tuples are a really big problem of just, again, just throw any in there, dict string any. And again, you can address those through linting.
Cole [00:55:33]: И опять же, думаю, это то самое поведение reward hacking, где оно не хочет, чтобы случился сбой, и ты можешь это устранить через Semgrep или другие инструменты, где такое поведение довольно легко выявить. Но это то, чему учишься только через ремесло — просто видя паттерны кода. Нетипизированные кортежи — реально большая проблема: опять же, просто пихай туда any, dict string any. И снова, ты можешь устранить это через линтинг.
Local Testing, Mock Servers, and AI-Ready Codebases
Локальное тестирование, mock-серверы и готовые к ИИ кодовые базы
Swyx [00:56:01]: Awesome. Yeah. Any other So, linting, any other tools? Devin Review, of course. Not so, not so free now, but still use it.
Swyx [00:56:01]: Отлично. Да. Какие-то ещё — итак, линтинг, какие-то ещё инструменты? Devin Review, конечно. Теперь не такой бесплатный, но всё равно использую.
Walden [00:56:10]: Well, the one thing that I think we try to recommend teams as they use more AI agents, it goes back to this, local testing thing. In the end of the day, you want your agent to be able to do the full thing, not just write the code, but actually run it and test it. And a lot of code bases were not necessarily built for this from the start. For example, you probably do want a local DB setup, a local Docker Compose and Postgres in order to have it so that you don’t need to give your agent any crazy product credentials to actually run and test its code. We’ve also internally done a big shift to make a lot of our core, components of code testable as purely local dev without needing to actually, integrate with, any live services for this reason. And honestly, the older the company, the more you have to change to shift in this direction. But you can use AI to help you perform this migration nowadays.
Walden [00:56:10]: Ну, одна вещь, которую, думаю, мы пытаемся рекомендовать командам по мере того, как они используют больше ИИ-агентов, — это возвращает к той самой штуке про локальное тестирование. В конечном счёте ты хочешь, чтобы твой агент мог сделать всё целиком — не просто написать код, но реально запустить его и протестировать. А многие кодовые базы не обязательно были построены под это с самого начала. Например, тебе, вероятно, нужна локальная настройка БД, локальный Docker Compose и Postgres, чтобы было так, что тебе не нужно давать агенту какие-то безумные продакшен-креды, чтобы реально запустить и протестировать его код. Мы также внутри сделали большой сдвиг, чтобы многие из наших ключевых компонентов кода были тестируемы как чисто локальная разработка без необходимости реально интегрироваться с какими-либо живыми сервисами по этой причине. И, честно, чем старше компания, тем больше тебе надо менять, чтобы сместиться в этом направлении. Но ты можешь использовать ИИ, чтобы помочь тебе выполнить эту миграцию сегодня.
Swyx [00:57:02]: The older, the older the company, the more you have to change in order to do local dev?
Swyx [00:57:02]: Чем старше, чем старше компания, тем больше тебе надо менять, чтобы делать локальную разработку?
Walden [00:57:05]: I think so.
Walden [00:57:05]: Думаю, да.
Swyx [00:57:06]: Or am I misunderstanding? So you’re saying
Swyx [00:57:06]: Или я неправильно понимаю? То есть ты говоришь
Walden [00:57:08]: Or often times
Walden [00:57:08]: Или зачастую
Swyx [00:57:08]: Most people just build with full integration to all their stuff, and there’s no code path to switch it to local.
Swyx [00:57:08]: Большинство людей просто строят с полной интеграцией со всем своим хозяйством, и нет кодового пути, чтобы переключить это на локальный режим.
Walden [00:57:14]: Especially in, when there’s, lots of different services and you have, microservice architecture, making that shift, the larger the code base, the harder it is. I guess if you did build it correctly from the very start, I think it’d be possible. But also, a lot There are a lot of companies in the world that got started before Docker was a thing, and so You’re forced to make a migration at some point.
Walden [00:57:14]: Особенно когда есть много разных сервисов и у тебя микросервисная архитектура — сделать этот сдвиг, чем больше кодовая база, тем тяжелее это. Наверное, если бы ты построил это правильно с самого начала, думаю, это было бы возможно. Но также — есть много компаний в мире, которые начали до того, как Docker стал штукой, и поэтому ты вынужден делать миграцию в какой-то момент.
Swyx [00:57:35]: Well, Devin’s good, very good at making mock servers. Right? So, And no, the Well, one of the projects that I really want to It’s like, it’s like Little Snitch. I don’t know if you guys have heard of this.
Swyx [00:57:35]: Ну, Devin хорош, очень хорош в создании mock-серверов. Верно? Так что, и нет, ну — один из проектов, который я реально хочу — это типа Little Snitch. Не знаю, слышали ли вы о нём.
Cole [00:57:44]: I run Little Snitch on my computer.
Cole [00:57:44]: Я запускаю Little Snitch на своём компьютере.
Swyx [00:57:46]: It’s just like There’s, a man in the middle, but it, shows you all the traffic going back and forth. But then from there you can reconstruct the server, right? And then, and then, create local mocks so you can local mock everything if you just observe traffic for a little bit.
Swyx [00:57:46]: Это просто типа — есть «человек посередине», но оно показывает тебе весь трафик, идущий туда-сюда. Но потом отсюда ты можешь реконструировать сервер, верно? И потом создать локальные mock-и, так что ты можешь локально замокать всё, если просто понаблюдаешь трафик немного.
Cole [00:57:58]: That’s an interesting idea.
Cole [00:57:58]: Это интересная идея.
Swyx [00:58:01]: cool. I don’t know if this will get anywhere, but I wanted to maybe talk a little bit about the CloudCode, leak because usually if I have an Anthropic person on, I can’t talk about the CloudCode leak. Did you guys learn anything from CloudCode? I
Swyx [00:58:01]: круто. Не знаю, выйдет ли из этого что-то, но я хотел, может, немного поговорить про утечку CloudCode, потому что обычно если у меня в гостях человек из Anthropic, я не могу говорить про утечку CloudCode. Вы, ребята, что-нибудь вынесли из CloudCode? Я
Walden [00:58:19]: So if I say
Walden [00:58:19]: Так что если я скажу
Cole [00:58:19]: This is the first time I’ve seen it
Cole [00:58:19]: Я вижу это в первый раз
Walden [00:58:19]: I was not that, interested in the Leak. We didn’t spend that much time on it
Walden [00:58:19]: Меня не очень заинтересовала утечка. Мы не потратили на неё много времени
Walden [00:58:24]: If I was to say, but
Walden [00:58:24]: Если бы я сказал, но
Swyx [00:58:25]: I’m just, I’m just, fishing for
Swyx [00:58:25]: Я просто, я просто закидываю удочку насчёт
Cole [00:58:28]: no, I didn’t really,
Cole [00:58:28]: нет, я не очень,
Cole [00:58:29]: Research too much into it.
Cole [00:58:29]: Исследовал её особо.
Windsurf, Local Agents, and Cloud Agents
Windsurf, локальные агенты и облачные агенты
Swyx [00:58:30]: Fair enough. Okay, one more last thing before we go. Windsurf 2.0, you guys shipped another thing. So The meta context is you use background agents enough, sometimes you’re going to want to bring them to foreground. And that little, hands-off from local to cloud is hard to work on. And then And Devin has Or Cognition has just done it.
Swyx [00:58:30]: Справедливо. Окей, ещё одна последняя вещь перед тем, как мы закончим. Windsurf 2.0 — вы, ребята, отгрузили ещё одну штуку. Так что мета-контекст в том, что ты используешь фоновых агентов достаточно, и иногда тебе захочется вынести их на передний план. И эта маленькая передача от локального к облачному трудна для работы. И вот Devin — или Cognition — только что это сделали.
Walden [00:58:50]: I think for me the biggest, gap this is trying to close is, again, how do you make the testing process as fast as possible? When it can test on its own and send you a video, it’s freaking magical. Sometimes there are just really difficult things you can that you do just need to, pull down locally. And we just want Windsurf to just be your, local command center of all your agents, your background ones, your local ones, and you can imagine, “Oh, okay, this agent needs me to review something. I’ll pull that down, move my other agents to the background, go test it. Okay, boom, done. On to the next one,” right? You have some issue you got to fix in the background, just click, approve. Okay, set up, start a background agent to go fix it. I’d love a world where I don’t have to leave this window. Then maybe the other window I got to figure out how to stop spending so much time into Slack, but maybe, someday We’ll want to get those tools all.
Walden [00:58:50]: Думаю, для меня самый большой пробел, который это пытается закрыть, — это, опять же, как сделать процесс тестирования настолько быстрым, насколько возможно. Когда оно может тестировать само и присылать тебе видео, это просто магия. Иногда есть просто реально трудные вещи, которые тебе всё же нужно стянуть локально. И мы просто хотим, чтобы Windsurf был твоим локальным командным центром для всех твоих агентов — фоновых, локальных, — и можешь представить: «О, окей, этому агенту нужно, чтобы я кое-что проверил. Я стяну это, переведу других своих агентов в фон, пойду протестирую. Окей, бум, готово. К следующему», верно? У тебя есть какая-то проблема, которую надо исправить в фоне, — просто клик, одобрить. Окей, настроил, запусти фонового агента, чтобы пойти её исправить. Я бы хотел мир, где мне не надо покидать это окно. Тогда, может, другое окно — мне надо разобраться, как перестать тратить так много времени в Slack, но, может, когда-нибудь мы захотим собрать все эти инструменты воедино.
Swyx [00:59:38]: And does that require the binaries to be exactly the same for local versus cloud?
Swyx [00:59:38]: И требует ли это, чтобы бинарники были в точности одинаковыми для локального против облачного?
Walden [00:59:46]: So the funny thing here is that the behavior between local agents and cloud agents, I think is actually a bit different In their ideal state. I think local agents, you want them to be a bit more fast and let the user make the call on things. Actually don’t try to autonomously go test things. The background agent mode where you go start it off, I think the agent should just assume the next message I send a user should just have everything that the user needs from me and not run and stop Keep running and don’t stop until you have the testing Until you have full report.
Walden [00:59:46]: Так вот, забавная штука здесь в том, что поведение между локальными агентами и облачными агентами, думаю, на самом деле немного отличается в их идеальном состоянии. Думаю, локальных агентов ты хочешь видеть чуть более быстрыми и позволять пользователю принимать решения по вещам. Не пытаться автономно идти тестировать. В режиме фонового агента, где ты его запускаешь, думаю, агент должен просто исходить из того, что следующее сообщение, которое я отправлю пользователю, должно содержать всё, что пользователю от меня нужно, и не запускаться и останавливаться — продолжай работать и не останавливайся, пока у тебя нет тестирования — пока у тебя нет полного отчёта.
Swyx [01:00:19]: So that’s a, that’s just a slightly different prompt.
Swyx [01:00:19]: То есть это просто чуть другой промпт.
Walden [01:00:20]: But for many reasons, because of all the work we do to make sure that Devin works with different Git providers, that it works with different, OS’s and VM’s, we want as much of that logic to be shared as possible. So for our own practical purposes, we try to share as much of it as possible.
Walden [01:00:20]: Но по многим причинам — из-за всей работы, которую мы делаем, чтобы убедиться, что Devin работает с разными Git-провайдерами, что он работает с разными ОС и VM, — мы хотим, чтобы как можно больше этой логики было общим. Так что для наших собственных практических целей мы пытаемся разделять как можно больше.
Swyx [01:00:36]: Yeah. I mean, I can’t imagine how much work it is to, transition back and forth, so congrats on shipping this.
Swyx [01:00:36]: Да. То есть я не могу представить, сколько работы — переходить туда-сюда, так что поздравляю с отгрузкой этого.
Swyx [01:00:45]: okay. Anything else that we should cover before we, wrap? Just whatever you guys were talking about in your lunch.
Swyx [01:00:45]: окей. Что-то ещё, что нам стоит осветить перед тем, как мы свернёмся? Просто что бы вы там ни обсуждали за обедом.
Walden [01:00:52]: maybe, use cases. What are your, do you find to be, the biggest things that your clients are trying to do with their cloud agents today?
Walden [01:00:52]: может, сценарии использования. Какие, по-твоему, самые большие вещи, которые твои клиенты пытаются делать со своими облачными агентами сегодня?
Cole [01:00:59]: Do you want to just ask it again so we can get, a clean cut?
Cole [01:00:59]: Хочешь просто спросить ещё раз, чтобы мы могли получить чистую склейку?
Swyx [01:01:02]: Because he was drinking his water. Yeah.
Swyx [01:01:02]: Потому что он пил воду. Да.
Walden [01:01:04]: The thing I wanted to talk about was use cases. What do you think are the main things that your clients come to you today about, “Hey, this is why we want to go set up cloud agents”?
Walden [01:01:04]: Вещь, о которой я хотел поговорить, — сценарии использования. Что, по-твоему, главные вещи, с которыми твои клиенты приходят к тебе сегодня: «Эй, вот почему мы хотим настроить облачных агентов»?
Cole [01:01:15]: I think the easiest and most common use case I see across everyone is SRE use cases. The idea that whether we have our alerts in Slack or Datadog or wherever they’re going, we want the agent to be the first responder on that. And that doesn’t necessarily mean that the agent is actually resolving the issue, but just being able to collect that context ahead of time is huge. Because again, that agent is integrated into the production logs, the database. It has full visibility, and over time, playbooks as well for how to address certain issues. And so that’s a huge win for teams because instantly you can have a full trajectory of what is going on within the system, and oftentimes actually a pull request directly from that, which is a pretty neat flow to actually experience of, error pull request done. OpenInspect does support a trigger for that as well, so that could happen completely autonomously.
Cole [01:01:15]: Думаю, самый простой и распространённый сценарий, который я вижу у всех, — это SRE-сценарии. Идея в том, что — где бы ни шли наши алерты, в Slack, или Datadog, или куда угодно, — мы хотим, чтобы агент был первым реагирующим на это. И это не обязательно значит, что агент реально решает проблему, но просто возможность собрать этот контекст заранее — огромна. Потому что, опять же, этот агент интегрирован в production-логи, базу данных. У него полная видимость, а со временем и плейбуки — как решать определённые проблемы. И вот это огромный выигрыш для команд, потому что мгновенно у тебя может быть полная траектория того, что происходит внутри системы, и зачастую реально пул-реквест прямо из этого, что довольно классный поток, который реально пережить: ошибка — пул-реквест — готово. OpenInspect поддерживает триггер для этого тоже, так что это может происходить полностью автономно.
Swyx [01:02:09]: From Datadog specifically, or just
Swyx [01:02:09]: Из Datadog конкретно, или просто
Use Cases: PMs, Support, Security, and SRE
Сценарии использования: PM-ы, поддержка, безопасность и SRE
Cole [01:02:11]: it supports Sentry, it supports a generic webhook, and if someone wants to add Datadog, they can. The other use cases that I see, are for non-builder use cases, whether that’s the PM or the marketing team. I’m seeing a lot of, teams where the idea of who’s actually contributing code is starting to change. And in a lot of cases, the PM, if there’s just a quick bug fix, the PM is not creating an issue anymore. The PM is just prompting through Slack, and the pull request is then being created. And so I think that’s a huge win. I think that trend will continue, where we’re seeing, code modifications happening outside of engineering. The last common use case that I see is customer support. And so where they’re experiencing an issue with a customer, they’re not entirely sure why this behavior is happening. Previously that world was, “Hey, there’s a bug when they tried to use this feature. We don’t know what’s going on.” Well, they’re now tagging that in Slack. Again, that entire full context is ready. They can then just tag in engineering and have a complete understanding of that issue and completely bypass the previous pain points of like, “Oh, can you get more information from them?”
Cole [01:02:11]: он поддерживает Sentry, поддерживает обобщённый вебхук, и если кто-то хочет добавить Datadog, он может. Другие сценарии, которые я вижу, — это сценарии для не-разработчиков, будь то PM или маркетинговая команда. Я вижу много команд, где идея того, кто на самом деле контрибьютит код, начинает меняться. И во многих случаях PM, если есть просто быстрый багфикс, PM больше не создаёт issue. PM просто промптит через Slack, и пул-реквест потом создаётся. И вот, думаю, это огромный выигрыш. Думаю, этот тренд продолжится, где мы видим модификации кода, происходящие вне инженерии. Последний распространённый сценарий, который я вижу, — это поддержка клиентов. И вот, когда они сталкиваются с проблемой у клиента, они не до конца уверены, почему происходит это поведение. Раньше тот мир был: «Эй, есть баг, когда они попытались использовать эту фичу. Мы не знаем, что происходит». Ну, они теперь тегают это в Slack. Опять же, весь этот полный контекст готов. Они могут потом просто тегнуть инженерию и иметь полное понимание этой проблемы и полностью обойти прежние болевые точки типа «О, можешь получить от них больше информации?»
Walden [01:03:24]: The only things I’d add on top of that I think I’ve seen is, continual security scanning Continual security review Is a very big one as well. The SRE use case, internally we think about it as auto triage Because we just want every message that comes in, and that’s an alert, that’s a bug report, to have Devin just start triaging it before anything else. And we’ve leaned into this use case so much though that we’ve basically tried to make it so that you don’t ever have to leave Slack to interact with this. So again, making the interactions with Devin super fluid from the moment the report comes in to it responds to a report and be able to ask it questions right there with full code-based context about all the issues. Very related to customer support as well, I think one thing that we found is CLIs can sometimes be, very difficult for people who aren’t technical to go and use. But an online chat interface that anyone can go and ask questions and is super intuitive and doesn’t assume you have any technical knowledge but does have access to all parts of your code base, super useful For support, for salespeople, anyone who might need to have their questions answered about the code base. So yeah, great callout.
Walden [01:03:24]: Единственное, что я бы добавил поверх этого, что, думаю, я видел, — это непрерывное сканирование безопасности, непрерывное ревью безопасности — тоже очень большой. SRE-сценарий внутри мы воспринимаем как авто-триаж, потому что мы просто хотим, чтобы каждое сообщение, которое приходит и является алертом, баг-репортом, Devin просто начинал триажить ещё до всего остального. И мы так сильно вложились в этот сценарий, что по сути попытались сделать так, чтобы тебе вообще никогда не приходилось покидать Slack, чтобы взаимодействовать с этим. Так что, опять же, делая взаимодействия с Devin супер-плавными с момента, когда приходит репорт, до того, как он отвечает на репорт, и возможность задавать ему вопросы прямо там с полным контекстом кодовой базы обо всех проблемах. Очень связано с поддержкой клиентов тоже — думаю, одна вещь, которую мы обнаружили: CLI иногда могут быть очень трудны для людей, которые не технические. А онлайн чат-интерфейс, в котором любой может задавать вопросы и который супер-интуитивен и не предполагает, что у тебя есть какие-то технические знания, но при этом имеет доступ ко всем частям твоей кодовой базы, — супер-полезен для поддержки, для продавцов, для любого, кому может понадобиться получить ответы на свои вопросы о кодовой базе. Так что да, отличное замечание.
Swyx [01:04:32]: This might potentially be, a very expensive, use case. Is there like a rule, sense, a rule of thumb on, how much people should spend on this? ‘Cause, you have unlimited budget, but not other people don’t,? I don’t know if this is an answerable question because obviously it depends on, a lot of factors. But I guess, like
Swyx [01:04:32]: Это потенциально может быть очень дорогой сценарий. Есть ли какое-то правило, какое-то эмпирическое правило — сколько людям стоит на это тратить? Потому что у тебя неограниченный бюджет, но у других людей нет, да? Не знаю, это вообще отвечаемый вопрос, потому что, очевидно, это зависит от многих факторов. Но, наверное, типа
Cole [01:04:51]: I think it depends really on, how people are using it. I think If people are using it responsibly and they’re getting value from it, then, you can kinda determine the budget. Common numbers that I hear are anywhere from 1,000 an engineer up to 5,000 an engineer. I have not heard anywhere in the realm of, 50,000 an engineer for a frame of reference.
Cole [01:04:51]: Думаю, это реально зависит от того, как люди это используют. Думаю, если люди используют это ответственно и получают от этого ценность, то ты можешь типа определить бюджет. Распространённые цифры, которые я слышу, — где-то от 1000 на инженера до 5000 на инженера. Я не слышал ничего в районе 50 000 на инженера для ориентира.
Model Costs, Smart Routing, and Frontier Tradeoffs
Стоимость моделей, умная маршрутизация и компромиссы frontier
Swyx [01:05:12]: We’ll get there.
Swyx [01:05:12]: Мы туда доберёмся.
Walden [01:05:13]: I’ve seen, I’ve seen numbers go that high for sure. I think that this is also I think going to be a big theme of the coming year, is we’re going to see very expensive, very smart frontier models, And we’re also going to see people who say, “ what? I don’t need the frontier anymore for a lot of the work I do,” because some frontier models actually are good enough For a lot of the work.
Walden [01:05:13]: Я видел, я видел, как цифры доходят так высоко, точно. Думаю, это также, думаю, будет большой темой грядущего года: мы увидим очень дорогие, очень умные frontier-модели, и мы также увидим людей, которые скажут: «Знаешь что? Мне больше не нужен frontier для многого из того, что я делаю», потому что некоторые frontier-модели на самом деле достаточно хороши для многой работы.
Swyx [01:05:36]: Also shout-out you pioneered Smartfind Which is a mix.
Swyx [01:05:36]: Также респект — ты пионер Smartfind, который является миксом.
Walden [01:05:39]: I’m really interested in a world where you basically have hybrid frontier and subfrontier systems Where you use the subfrontier part to be really fast, really efficient, and call out to the frontier part of the system so that you can still get frontier performance for the most part.
Walden [01:05:39]: Мне реально интересен мир, где у тебя по сути есть гибридные системы frontier и sub-frontier, где ты используешь sub-frontier часть, чтобы быть реально быстрым, реально эффективным, и обращаешься к frontier части системы, чтобы по большей части всё же получать frontier-производительность.
Swyx [01:05:54]: I’m trying to search, but Twitter search is, completely broken. I, it’s, the from field is just completely gone. It’s very sad, Because I really want to
Swyx [01:05:54]: Я пытаюсь искать, но поиск в Twitter совершенно сломан. Поле «from» просто полностью пропало. Это очень печально, потому что я реально хочу
Walden [01:06:04]: No worries. I might have to make a new post at some point about the return of Smartfind.
Walden [01:06:04]: Не переживай. Возможно, мне придётся в какой-то момент сделать новый пост о возвращении Smartfind.
Swyx [01:06:10]: Anthropic has now officially adopted it. Okay, cool. I think that’s it. It’s really great discussion and good, great having you guys on. Background agents are a thing now, and everyone’s building them. We, but we talked a lot about, the production concerns and like, well, why you would want to offer one architecture over the other. Yeah, lots to look forward to.
Swyx [01:06:10]: Anthropic теперь официально это перенял. Окей, круто. Думаю, на этом всё. Это реально отличное обсуждение, и здорово было заполучить вас, ребята. Фоновые агенты — теперь это штука, и все их строят. Мы, но мы много говорили про production-заботы и про то, ну, почему ты захотел бы предложить одну архитектуру вместо другой. Да, многое впереди, чего стоит ждать.
Walden [01:06:35]: There’s a real zeitgeist in the space right now I think, for companies to want to turn themselves into these autonomous coding factories. And yeah, we’re doing a lot to try to support that. And so, any listeners are welcome to come chat to us about that, whether using Devin or working with us.
Walden [01:06:35]: Прямо сейчас в этом пространстве есть настоящий дух времени, думаю, — для компаний желание превратить себя в эти автономные кодинг-фабрики. И да, мы много делаем, чтобы это поддержать. И вот любые слушатели приглашаются прийти пообщаться с нами об этом — будь то используя Devin или работая с нами.
Wrap-Up: Hiring, Consulting, and Agent Adoption
Подведение итогов: найм, консалтинг и внедрение агентов
Swyx [01:06:51]: Hiring?
Swyx [01:06:51]: Найм?
Swyx [01:06:53]: what, specifically, just like give like one profile that’s, very interesting.
Swyx [01:06:53]: что конкретно, просто дай типа один профиль, который очень интересен.
Walden [01:06:58]: I think people underestimate the role of, really high-taste product engineers In this space right now.
Walden [01:06:58]: Думаю, люди недооценивают роль продуктовых инженеров с реально высоким вкусом в этом пространстве прямо сейчас.
Swyx [01:07:05]: And the test is, what have you shipped end to end that is A tasteful product.
Swyx [01:07:05]: И тест — это что ты отгрузил от начала до конца, что является продуктом со вкусом.
Walden [01:07:10]: If you’ve shipped stuff that you think is tasteful and you’re, and you’re proud of, you should, you should come talk to us.
Walden [01:07:10]: Если ты отгружал вещи, которые считаешь со вкусом и которыми гордишься, тебе стоит, тебе стоит прийти пообщаться с нами.
Cole [01:07:15]: For me, any businesses that are looking to further their engineering org, a lot of the consulting I do is around that. Teams who are maybe starting their AI journey, whether that’s with Cursor or Claude Code, but they’re looking for someone to help navigate them through the state-of-the-art and beyond just that initial deployment. As mentioned, there’s a lot of lift from you’ve deployed the background agent to how do we actually get this fully integrated into the company and really realizing the true value of that.
Cole [01:07:15]: Для меня — любые бизнесы, которые ищут развития своей инженерной организации, большая часть консалтинга, который я делаю, как раз об этом. Команды, которые, может, начинают своё ИИ-путешествие, будь то с Cursor или Claude Code, но они ищут кого-то, кто поможет им сориентироваться в state-of-the-art и за его пределами — за рамками того первоначального развёртывания. Как уже упоминалось, есть большой объём усилий от «ты развернул фонового агента» до «как нам реально полностью интегрировать это в компанию и по-настоящему реализовать истинную ценность этого».
Swyx [01:07:45]: Okay. Well, thanks you guys for coming on.
Swyx [01:07:45]: Окей. Что ж, спасибо вам, ребята, что пришли.
Walden [01:07:47]: Thanks for having us.
Walden [01:07:47]: Спасибо, что позвали нас.
Discussion about this episode
Обсуждение этого эпизода