ai-agent-book 精选快照(<2MB 代码与文档,来自 github.com/bojieli/ai-agent-book)
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

This commit is contained in:
2026-08-20 13:12:50 +00:00
commit b119135836
10275 changed files with 3284984 additions and 0 deletions
+55
View File
@@ -0,0 +1,55 @@
<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>

After

Width:  |  Height:  |  Size: 10 KiB