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

60 lines
11 KiB
XML
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.
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 880 520" width="880" height="520" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="20" y="60" width="200" height="60" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="120" y="82" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Ввод пользователя</text>
<text x="120" y="100" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">"Я хочу забронировать рейс в Пекин"</text>
<line x1="220" y1="90" x2="260" y2="90" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="260" y="55" width="260" height="140" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2" stroke-dasharray="8,4"/>
<text x="390" y="75" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Анализ LLM → генерация кода формы</text>
<rect x="270" y="90" width="240" height="140" rx="3" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="276" y="103" font-family="'Courier New', Courier, monospace" font-size="9" fill="#333333" text-anchor="start" dominant-baseline="central">&lt;form id=&quot;clarify&quot;&gt;</text>
<text x="276" y="116" font-family="'Courier New', Courier, monospace" font-size="9" fill="#333333" text-anchor="start" dominant-baseline="central"> &lt;input type=&quot;text&quot;</text>
<text x="276" y="129" font-family="'Courier New', Courier, monospace" font-size="9" fill="#333333" text-anchor="start" dominant-baseline="central"> name="from" label="Город отправления"/&gt;</text>
<text x="276" y="142" font-family="'Courier New', Courier, monospace" font-size="9" fill="#333333" text-anchor="start" dominant-baseline="central"> &lt;input type=&quot;date&quot;</text>
<text x="276" y="155" font-family="'Courier New', Courier, monospace" font-size="9" fill="#333333" text-anchor="start" dominant-baseline="central"> name="depart" label="Дата отправления"/&gt;</text>
<text x="276" y="168" font-family="'Courier New', Courier, monospace" font-size="9" fill="#333333" text-anchor="start" dominant-baseline="central"> &lt;select name=&quot;type&quot;&gt;</text>
<text x="276" y="181" font-family="'Courier New', Courier, monospace" font-size="9" fill="#333333" text-anchor="start" dominant-baseline="central"> &lt;option&gt;В одну сторону&lt;/option&gt;</text>
<text x="276" y="194" font-family="'Courier New', Courier, monospace" font-size="9" fill="#333333" text-anchor="start" dominant-baseline="central"> &lt;option&gt;Туда и обратно&lt;/option&gt;</text>
<text x="276" y="207" font-family="'Courier New', Courier, monospace" font-size="9" fill="#333333" text-anchor="start" dominant-baseline="central"> &lt;/select&gt;</text>
<text x="276" y="220" font-family="'Courier New', Courier, monospace" font-size="9" fill="#333333" text-anchor="start" dominant-baseline="central">&lt;/form&gt;</text>
<line x1="520" y1="130" x2="560" y2="130" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="560" y="55" width="300" height="200" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2"/>
<text x="710" y="75" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Интерфейс отрендеренной формы</text>
<text x="548" y="95" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Город отправления</text>
<rect x="660" y="83" width="180" height="24" rx="3" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="709.2" y="95" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">Шанхай</text>
<text x="548" y="135" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Дата отправления</text>
<rect x="660" y="123" width="180" height="24" rx="3" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="696.4" y="135" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">2025-08-15</text>
<text x="548" y="175" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Тип поездки</text>
<rect x="660" y="163" width="180" height="24" rx="3" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="668" y="175" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">Круговой путь ▾</text>
<text x="548" y="215" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Дата возврата</text>
<rect x="660" y="203" width="180" height="24" rx="3" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="668" y="215" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">2025-08-22</text>
<rect x="660" y="238" width="80" height="26" rx="13" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="700.0" y="251.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="bold">Отправить</text>
<line x1="710" y1="268" x2="710" y2="300" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="560" y="300" width="300" height="110" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2" stroke-dasharray="8,4"/>
<text x="710" y="318" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Структурированный JSON-ответ</text>
<rect x="570" y="330" width="280" height="74" rx="3" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="578" y="344" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">{"from": "Шанхай",</text>
<text x="578" y="360" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central"> &quot;depart&quot;: &quot;2025-08-15&quot;,</text>
<text x="578" y="376" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central"> "type": "Круговой путь",</text>
<text x="578" y="392" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central"> &quot;return&quot;: &quot;2025-08-22&quot;}</text>
<line x1="560" y1="390" x2="400" y2="440" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="100" y="430" width="500" height="50" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="350" y="448" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Агент продолжает выполнение с полными параметрами</text>
<text x="350" y="468" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">search_flights(from='Shanghai', to='Beijing', depart='2025-08-15', ...)</text>
<rect x="20" y="280" width="250" height="140" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="145" y="300" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Сравнение: обычный текст vs форма</text>
<text x="30" y="318" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">Текстовый Q&amp;A: 10 раундов диалога</text>
<text x="30" y="331" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central"> В1: Город отправления? О: Шанхай</text>
<text x="30" y="344" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central"> В2: Дата? О: 15 августа</text>
<text x="30" y="357" font-family="'Courier New', Courier, monospace" font-size="9" fill="#333333" text-anchor="start" dominant-baseline="central"> В3: В одну сторону или туда-обратно? ...</text>
<text x="30" y="370" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central"></text>
<text x="30" y="383" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">Динамическая форма: 1 отправка</text>
<text x="30" y="396" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central"> Вся информация собирается сразу</text>
<text x="30" y="409" font-family="'Courier New', Courier, monospace" font-size="8" fill="#333333" text-anchor="start" dominant-baseline="central"> Каскадная логика обрабатывается автоматически</text>
<text x="440.0" y="510" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Код формы динамически генерируется LLM → Каскадная логика: дата возврата автоматически показывается при выборе "В обе стороны"</text>
</svg>