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

70 lines
4.7 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 0 820 470" width="820" height="470" role="img" aria-labelledby="title desc" lang="zh-Hant">
<title id="title">自主 Agent 的執行迴圈</title>
<desc id="desc">Agent 依次思考、行動和觀察,再根據退出條件決定輸出最終結果或繼續下一輪迴圈。</desc>
<defs>
<marker id="arrow-dark" markerWidth="9" markerHeight="7" refX="8" refY="3.5" orient="auto" markerUnits="userSpaceOnUse">
<polygon points="0 0, 9 3.5, 0 7" fill="#333333"/>
</marker>
<marker id="arrow-light" markerWidth="9" markerHeight="7" refX="8" refY="3.5" orient="auto" markerUnits="userSpaceOnUse">
<polygon points="0 0, 9 3.5, 0 7" fill="#777777"/>
</marker>
<style>
.sans { font-family: Arial, "Helvetica Neue", Helvetica, "PingFang TC", "Microsoft JhengHei", sans-serif; }
.code { font-family: "Courier New", Courier, monospace; }
.heading { fill: #333333; font-size: 16px; font-weight: 700; }
.body { fill: #333333; font-size: 15px; }
.note { fill: #666666; font-size: 14px; }
.box { stroke: #333333; stroke-width: 2; }
.flow { fill: none; stroke: #333333; stroke-width: 2; marker-end: url(#arrow-dark); }
</style>
</defs>
<rect width="820" height="470" fill="#ffffff"/>
<rect class="box" x="45" y="70" width="210" height="96" rx="8" fill="#e8e8e8"/>
<text class="sans heading" x="60" y="95" dominant-baseline="middle">① 思考(Reasoning</text>
<rect x="60" y="112" width="180" height="38" rx="5" fill="#ffffff" stroke="#777777"/>
<text class="code body" x="150" y="132" text-anchor="middle" dominant-baseline="middle">&quot;還需更多資訊&quot;</text>
<rect class="box" x="305" y="70" width="210" height="96" rx="8" fill="#f0f0f0"/>
<text class="sans heading" x="320" y="95" dominant-baseline="middle">② 行動(Acting</text>
<rect x="320" y="112" width="180" height="38" rx="5" fill="#ffffff" stroke="#777777"/>
<text class="code body" x="410" y="132" text-anchor="middle" dominant-baseline="middle">web_search(...)</text>
<rect class="box" x="565" y="70" width="210" height="96" rx="8" fill="#f0f0f0"/>
<text class="sans heading" x="580" y="95" dominant-baseline="middle">③ 觀察(Observing</text>
<rect x="580" y="112" width="180" height="38" rx="5" fill="#ffffff" stroke="#777777"/>
<text class="code body" x="670" y="132" text-anchor="middle" dominant-baseline="middle">tool_result: &quot;...&quot;</text>
<line class="flow" x1="255" y1="118" x2="302" y2="118"/>
<line class="flow" x1="515" y1="118" x2="562" y2="118"/>
<line class="flow" x1="670" y1="166" x2="670" y2="207"/>
<rect x="45" y="220" width="430" height="145" rx="8" fill="#ffffff" stroke="#777777" stroke-width="2" stroke-dasharray="7 4"/>
<text class="sans heading" x="65" y="244" dominant-baseline="middle">退出條件(任一滿足)</text>
<line x1="65" y1="258" x2="455" y2="258" stroke="#cccccc"/>
<text class="sans body" x="65" y="282" dominant-baseline="middle">① 任務完成</text>
<text class="sans body" x="250" y="282" dominant-baseline="middle">② 呼叫 final_answer</text>
<text class="sans body" x="65" y="314" dominant-baseline="middle">③ 無工具呼叫返回</text>
<text class="sans body" x="250" y="314" dominant-baseline="middle">④ 錯誤次數超限</text>
<text class="sans body" x="65" y="346" dominant-baseline="middle">⑤ 達到最大輪次</text>
<path d="M 475 260 H 587" fill="none" stroke="#777777" stroke-width="2" stroke-dasharray="6 4" marker-end="url(#arrow-light)"/>
<rect x="502" y="238" width="62" height="20" rx="3" fill="#ffffff"/>
<text class="sans note" x="533" y="248" text-anchor="middle" dominant-baseline="middle">判斷依據</text>
<polygon class="box" points="670,208 750,260 670,312 590,260" fill="#e2e2e2"/>
<text class="sans heading" x="670" y="252" text-anchor="middle" dominant-baseline="middle">滿足退出</text>
<text class="sans heading" x="670" y="273" text-anchor="middle" dominant-baseline="middle">條件?</text>
<path class="flow" d="M 750 260 H 795 V 35 H 150 V 67"/>
<text class="sans note" x="773" y="245" text-anchor="middle" dominant-baseline="middle"></text>
<rect x="360" y="43" width="120" height="22" rx="3" fill="#ffffff"/>
<text class="sans note" x="420" y="54" text-anchor="middle" dominant-baseline="middle">繼續下一輪迴圈</text>
<line class="flow" x1="670" y1="312" x2="670" y2="379"/>
<text class="sans note" x="685" y="346" dominant-baseline="middle"></text>
<rect class="box" x="555" y="382" width="230" height="68" rx="8" fill="#d6d6d6"/>
<text class="sans heading" x="670" y="416" text-anchor="middle" dominant-baseline="middle">輸出最終結果</text>
</svg>