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
70 lines
4.8 KiB
XML
70 lines
4.8 KiB
XML
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 820 470" width="820" height="470" role="img" aria-labelledby="title desc" lang="ja">
|
||
<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, "Noto Sans CJK JP", "Hiragino Sans", 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">"情報が不足"</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: "..."</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>
|