Files
liqiang b119135836
Build latest book artifacts / build (push) Canceled after 0s
dependency resolution / resolve (3.11) (push) Canceled after 0s
dependency resolution / resolve (3.13) (push) Canceled after 0s
deploy-pages / build (push) Canceled after 0s
deploy-pages / deploy (push) Canceled after 0s
i18n consistency check / check (push) Canceled after 0s
provider adoption tests / test (chapter2/context-compression) (push) Canceled after 0s
provider adoption tests / test (chapter2/prompt-injection) (push) Canceled after 0s
provider adoption tests / test (chapter2/system-hint) (push) Canceled after 0s
provider adoption tests / test (chapter3/log-sanitization) (push) Canceled after 0s
web-search-agent tests / test (push) Canceled after 0s
web-search-agent tests / agentbook (push) Canceled after 0s
ai-agent-book 精选快照(<2MB 代码与文档,来自 github.com/bojieli/ai-agent-book)
2026-08-20 13:12:50 +00:00

44 lines
24 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Послесловие: возвращаясь к формуле «Агент = LLM + Контекст + Инструменты» {.unnumbered}
В начале книги мы вывели формулу: **Агент = LLM + Контекст + Инструменты**. Все десять глав книги разворачивают эти три слова.
**Первая глава** выстраивает три уровня понимания формулы — уровень реализации, уровень интуиции и академический уровень — и даёт спектр оркестрации от рабочего процесса до автономного Agent. Последующие главы разворачиваются поэтапно по линии «построение — оценка и эволюция — сотрудничество».
- **Построение агента (главы 2–6).** Инженерия контекста определяет, что агент видит в рамках одной задачи, а память и базы знаний расширяют информацию на несколько сессий; инструменты определяют, что он умеет делать, генерация кода даёт метаспособность создавать новые инструменты и системы, а глава о взаимодействии выводит пространства наблюдений и действий из текстовой пошаговости в голос, графические интерфейсы и физический мир.
- **Оценка и эволюция (главы 7–9).** Оценка превращает результаты в достоверные сигналы, постобучение записывает многомерные способности в параметры модели, а непрерывная эволюция преобразует опыт эксплуатации в контролируемые обновления знаний, инструкций, программ или параметров.
- **Сотрудничество (глава 10).** Многоагентное сотрудничество дополнительно меняет способ организации контекста, инструментов и ответственности.
Эти три уровня — не независимые друг от друга полки книжного шкафа. Восьмая глава особенно опирается на все предшествующие основания: без траекторий и системы знаний опыт негде сохранять; без способности работать с кодом Agent не может изменять инструменты и Harness; без оценки система тем более не может определить, является ли конкретное изменение улучшением или ухудшением. Тем самым эта глава становится точкой схождения, в которой книга переходит от вопроса «как построить Agent» к вопросу «как сделать так, чтобы Agent становился лучше в долгосрочной перспективе».
## Два облака {.unnumbered}
В 1900 году Кельвин сказал, что на ясном небе физики всё же плывут два облака — позже одно превратилось в теорию относительности, другое — в квантовую механику. Небо агентов сегодня тоже нельзя назвать безоблачным, и я вижу свои два облака.
**Первое облако — как агенту взаимодействовать со средой потоково, в реальном времени.** Сегодня подавляющее большинство агентов всё ещё работают в режиме «запрос — ответ» по очереди (turn-by-turn): вы договорили фразу, агент обдумывает весь кусок целиком, а затем разом выдаёт результат. Но реальный мир не станет ждать, пока он додумает — речь может быть прервана, картинка постоянно меняется, письма приходят непрерывно. По-настоящему «живой» агент должен уметь слушать и думать одновременно, говорить и думать одновременно, начинать планировать, ещё не дослушав вашу фразу до конца, и без указаний самостоятельно замечать: «это письмо пора обработать». К такой реальновременности ведут два пути, которые обычно движутся параллельно: первый — **архитектурное разделение на быстрое и медленное** — реальное время и интеллект почти ортогональны, единая модель с трудом совмещает и то, и другое, поэтому быстрая модель на переднем плане поддерживает ритм разговора, а медленная модель на фоне отвечает за глубокое размышление; второй — **ускорить сам вывод (inference)** — когда скорость декодирования достаточно высока, ожидание в режиме «по очереди» сокращается почти до нуля, и граница между turn-by-turn и «реальным временем» размывается. Этот путь стремительно продвигают чипы и системы вывода: Xiaomi MiMo уже позволила модели на 1 трлн параметров на одном узле с 8 GPU превысить скорость генерации в 1000 token/s[^mimo], а специализированные решения, при которых модель целиком «зашивается» прямо в чип (например, Taalas HC1), доводят модель на 8 млрд параметров до примерно 17000 token/s с задержкой отклика менее 100 миллисекунд[^taalas]. Когда модель способна выдавать тысячи символов в секунду, разница в ощущениях между «сначала подумать, потом сказать» и «думать и говорить одновременно» стирается.
**Второе облако — как агенту, подобно человеку, непрерывно накапливать опыт из успехов и неудач взаимодействия со средой.** Сегодняшняя модель больше похожа на гения с прекрасной памятью, который, однако, не умеет учиться ничему новому: во время обучения она зазубривает человеческие знания назубок, но после выхода «на работу» практически перестаёт расти — по завершении каждой задачи все набитые шишки и найденные хитрости в основном выбрасываются вместе с контекстом. Является ли это настоящей проблемой, зависит от того, какое из двух противостоящих друг другу предположений верно.
Одно — **«гипотеза малого мира»**: достаточно большая модель — скажем, на несколько триллионов параметров — сама по себе способна вместить почти все важные универсальные знания физического мира, и выучить их достаточно один раз. Сторонники этого взгляда (немало таких и среди исследователей OpenAI, Anthropic) укажут, что AI сегодня сильнее всего именно в программировании не потому, что код чем-то особенным для модели, а потому, что программирование — самая открытая область человеческой деятельности: огромный массив открытого кода лежит прямо под рукой, доступный для обучения, тогда как в подавляющем большинстве отраслей просто нет публично доступной информации и данных. Поэтому передовые лаборатории на самом деле занимаются тем, что сотрудничают с компаниями из разных отраслей одна за другой, «дистиллируя» их профессиональные знания в одну и ту же большую модель. Согласно этой точке зрения, узкое место не в ёмкости модели и не в её способности учиться, а в достаточности данных — их нужно просто загрузить и один раз обучить модель, и проблема решена.
Но **«гипотеза большого мира»** указывает на слой, который невозможно восполнить одним лишь «однократным обучением»: знания, принадлежащие конкретному пользователю или конкретной компании. Стандарты кода и предпочтения в оформлении PPT конкретной компании, а также особый характер конкретного клиента — всего этого нет ни в одном обучающем корпусе, и всё это постоянно меняется; чтобы соответствовать этому «большому миру», сложенному из бесчисленных конкретных ситуаций, модель должна непрерывно учиться уже после выхода «на работу» — нельзя рассчитывать, что при выпуске она будет раз и навсегда укомплектована всем необходимым. Именно это направление исследуют память из третьей главы и непрерывная эволюция из восьмой: записывать ли опыт в виде документов знаний, инструкций или программ либо после отбора использовать его для обновления параметров модели? Более того, «RSI (рекурсивное самоулучшение)» и «AI for Science» подталкивают Agent к передовым рубежам, где нет готовых ответов; там ему остаётся самостоятельно учиться на успехах и неудачах многочисленных экспериментов, а не по каждому поводу обращаться к человеку. Поэтому сильнейшей способностью модели в конечном счёте станет не запоминание, а обучение и адаптация.
Ни одно из этих двух облаков не рассеется просто так, за счёт одного очередного апгрейда модели. Чтобы понять, как их в конце концов преодолеют, нужно сначала ясно увидеть одну вещь: модель и агент никогда не были в отношениях «выше по потоку — ниже по потоку», они всегда двигались вперёд вместе.
## Совместная эволюция модели и агента {.unnumbered}
Оглянитесь на всю эту многослойную подстраховочную логику внутри harness — многоуровневое сжатие контекста, повторные попытки, отключающиеся только после тысяч неудач, пессимистичные по умолчанию решения о правах доступа «небезопасно», — каждый из этих на вид неуклюжих кусков «навороченного кода» фиксирует то место, где модель на данный момент ещё нестабильна. Когда следующее поколение модели интернализирует эти ограничения, соответствующий код можно удалить; а способность модели их интернализировать как раз и появляется благодаря тому, что агент уже прошёл через все эти ямы в реальном бизнесе, и это осело в виде сигнала для следующего раунда обучения. Пользователь ставит реальную сложную задачу, прикладной уровень с помощью harness восполняет то, с чем модель пока не справляется, а эти заплатки в свою очередь становятся обучающим сигналом для следующей итерации модели. Это самоусиливающийся маховик.
Этот маховик даёт ответ и на вопрос, оставленный открытым в первой главе: **поглотит ли модель в конце концов Harness? Ответ этой книги: да, но не сразу — слой за слоем, и этот процесс никогда не завершится.** Как только модель стабильно интернализирует какую-то способность, соответствующий слой Harness можно удалить — модель взаимодействия из девятой главы как раз такой пример: прерывание, вставка реплик — поведение, которое раньше приходилось собирать с помощью внешнего harness, — теперь встроено прямо в модель. Но это «поглощение» никогда не завершится полностью. Во-первых, обучение занимает месяцы, модель может подождать, а бизнес — нет; во-вторых, модель не способна интернализировать все ограничения и предпочтения реального бизнеса, всегда остаётся какой-то самый свежий рубеж, который нужно подстраховывать внешней логикой; в-третьих, каждое новое поколение модели открывает новый фронт возможностей, а именно на этом фронте модель наименее стабильна. Так что Harness не исчезнет, он просто будет постоянно мигрировать вместе с моделью к новым фронтирам. Именно так стоит прочитывать «Горький урок» применительно к эпохе агентов: универсальный метод в конце концов победит, но каждый отрезок пути к этому «в конце концов» проложен именно Harness.
Быстрее всего маховик крутится там, где оба конца держит в руках один и тот же игрок. Именно это делает Anthropic с помощью Claude Code: модель и собственный harness взаимно подпитывают и совместно эволюционируют друг друга — модель знает, как её будет вызывать harness, а harness понимает, где границы модели, и каждое изменение на любом из концов немедленно возвращается обратной связью другому. Однажды был проведён эксперимент: без смены модели, изменив только harness, точность выполнения задач подскочила с 52,8% до 66,5% — это одновременно показывает, насколько велик сегодня рычаг harness, и напоминает: он обладает таким большим рычагом именно потому, что модель ещё не дошла до этой точки. Именно поэтому сам этот маховик — самый глубокий ров этой эпохи: чем плотнее сцепляются реальный бизнес, обратная связь данных и итерации модели, тем труднее кому-то догнать это извне.
Что это значит для вас, зависит от того, на каком конце маховика вы стоите. Если вы создаёте модель, ров — это раскрутить этот маховик, чтобы обратная связь из реальных сценариев как можно быстрее возвращалась в обучение. Если вы строите приложение поверх модели, harness — ваш самый острый технический рычаг в краткосрочной перспективе, но нужно ясно понимать: с каждым слоем ограничений, интернализованным моделью, стирается и часть преимуществ, построенных исключительно на harness. По-настоящему долговечный ров прикладного уровня чаще лежит за пределами технологий — эксклюзивные данные, устойчивые каналы, доверие пользователей, сетевые эффекты, а также сценарии физического мира, требующие сотрудничества человека и агента. Использовать harness, чтобы выиграть время, а это время потратить на выстраивание барьеров за пределами технологий, — вот надёжная стратегия.
Так что не стоит переживать, что находящийся в ваших руках фреймворк устареет. Модель обновляется каждые несколько месяцев, конкретные API, продукты и рейтинги будут постоянно меняться, но три вопроса — «что видит», «что может делать», «как проверить, правильно ли сделано» — не устареют: они описывают не способ использования какой-то конкретной модели, а базовый способ взаимодействия интеллектуальной системы с миром. Освоив их, вы будете знать, в какое место формулы поместить любую новую способность следующего поколения моделей, какие бы возможности она ни принесла, и сможете сразу увидеть, насколько далеко она ещё от того, чтобы рассеять эти два облака.
Технологии агентов всё ещё стремительно развиваются, и одна книга не угонится за всеми изменениями. Но если эта книга оставит у вас в руках не конкретный способ использования какого-то API, а набор суждений, позволяющий сохранять ясность мышления в потоке технологических изменений, — значит, она выполнила свою миссию. Весь основной текст, все иллюстрации и весь сопутствующий экспериментальный код этой книги открыты; я приглашаю вас сходить в репозиторий, самостоятельно прогнать эксперименты, оставить issue и прислать PR. А самое очаровательное в агенте — именно то, что он способен создавать новые возможности с помощью написания кода, и даже совершенствовать себя самого; дочитав до этого места, вы уже держите в руках принцип «создания». Дальше — идите и создайте что-нибудь.
[^mimo]: Xiaomi MiMo-V2.5-Pro-UltraSpeed благодаря совместному проектированию модели и системы — FP4 квантизации, DFlash параллельному спекулятивному декодированию и TileRT системе вывода — впервые довела скорость генерации модели на 1 трлн параметров на одном универсальном узле с 8 GPU до значения выше 1000 token/s. См. официальный технический блог Xiaomi MiMo «Pushing 1T-Parameter Model Generation Speed to 1000 TPS», 2026. https://mimo.xiaomi.com/blog/mimo-tilert-1000tps
[^taalas]: Taalas HC1 «зашивает» целиком всю модель Llama 3.1 8B в 6nm чип, достигая примерно 17000 token/s при задержке отклика менее 100 миллисекунд; ценой этого становится то, что чип может выполнять только ту модель, которая в него «зашита», а для обновления модели требуется заново изготавливать кристалл. См. Karl Freund, «Taalas Launches Hardcore Chip With Insane AI Inference Performance,» Forbes, 2026. https://www.forbes.com/sites/karlfreund/2026/02/19/taalas-launches-hardcore-chip-with-insane-ai-inference-performance/.