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

55 lines
10 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 780 520" width="780" 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><marker id="ah-sm" markerWidth="6" markerHeight="4" refX="6" refY="2" orient="auto"><polygon points="0 0, 6 2, 0 4" fill="#999999"/></marker></defs>
<rect x="30" y="65" width="310" height="240" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="185" y="87" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">電話 Agent</text>
<text x="185" y="107" 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">Node.js · リアルタイム音声通話</text>
<rect x="40" y="125" width="290" height="36" rx="3" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="50" y="139" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">ユーザー音声</text>
<text x="50" y="153" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">マイク入力</text>
<line x1="185" y1="161" x2="185" y2="167" stroke="#999999" stroke-width="2" marker-end="url(#ah-sm)"/>
<rect x="40" y="167" width="290" height="36" rx="3" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="50" y="181" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">VAD + ASR</text>
<text x="50" y="195" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Silero VAD → STT 文字起こし</text>
<line x1="185" y1="203" x2="185" y2="209" stroke="#999999" stroke-width="2" marker-end="url(#ah-sm)"/>
<rect x="40" y="209" width="290" height="36" rx="3" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="50" y="223" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">LLM 推論</text>
<text x="50" y="237" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">意図を理解 + 情報を抽出</text>
<line x1="185" y1="245" x2="185" y2="251" stroke="#999999" stroke-width="2" marker-end="url(#ah-sm)"/>
<rect x="40" y="251" width="290" height="36" rx="3" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="50" y="265" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">TTS 合成</text>
<text x="50" y="279" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">音声応答を生成 → 再生</text>
<rect x="440" y="65" width="310" height="240" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="595" y="87" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">コンピュータ Agent</text>
<text x="595" y="107" 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">Python · ブラウザ自動化</text>
<rect x="450" y="125" width="290" height="36" rx="3" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="460" y="139" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">スクリーンショット</text>
<text x="460" y="153" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">ブラウザの現在ページ</text>
<line x1="595" y1="161" x2="595" y2="167" stroke="#999999" stroke-width="2" marker-end="url(#ah-sm)"/>
<rect x="450" y="167" width="290" height="36" rx="3" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="460" y="181" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Vision LLM</text>
<text x="460" y="195" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">ページ構造 + フォーム項目を理解</text>
<line x1="595" y1="203" x2="595" y2="209" stroke="#999999" stroke-width="2" marker-end="url(#ah-sm)"/>
<rect x="450" y="209" width="290" height="36" rx="3" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="460" y="223" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">アクション計画</text>
<text x="460" y="237" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">項目を特定 → 入力順序を計画</text>
<line x1="595" y1="245" x2="595" y2="251" stroke="#999999" stroke-width="2" marker-end="url(#ah-sm)"/>
<rect x="450" y="251" width="290" height="36" rx="3" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="460" y="265" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">アクションを実行</text>
<text x="460" y="279" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">クリック / 入力 / 送信</text>
<rect x="30" y="320" width="720" height="36" rx="4" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="390" y="338" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="bold">WebSocket 双方向通信(ws://localhost:8849</text>
<line x1="185" y1="307" x2="185" y2="318" stroke="#999999" stroke-width="2" marker-end="url(#ah-light)"/>
<line x1="595" y1="307" x2="595" y2="318" stroke="#999999" stroke-width="2" marker-end="url(#ah-light)"/>
<rect x="30" y="370" width="720" height="150" rx="4" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="390" y="388" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">リアルタイム双方向メッセージストリーム(通話しながらコンピュータを操作)</text>
<text x="42" y="412" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">電話 → コンピュータ</text>
<text x="210" y="412" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">[FROM_PHONE_AGENT] ユーザーが名前は Zhang San と言った</text>
<text x="42" y="438" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="bold">コンピュータ → 電話</text>
<text x="210" y="438" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">[FROM_COMPUTER_AGENT] 氏名を入力済み、ID 番号が必要</text>
<text x="42" y="464" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">電話 → コンピュータ</text>
<text x="210" y="464" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">[FROM_PHONE_AGENT] ID 番号 310101199001011234</text>
<text x="42" y="490" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="bold">コンピュータ → 電話</text>
<text x="210" y="490" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">[FROM_COMPUTER_AGENT] フォーム送信完了、登録成功</text>
<text x="390" y="510" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">ポイント: 2つの Agent が独立した ReAct ループを並列で実行、ノンブロッキング</text>
</svg>