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

72 lines
4.5 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.
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 900 450" width="900" height="450" role="img" aria-labelledby="title desc">
<title id="title">Loop interaksi AgentEnvironment</title>
<desc id="desc">Agent berisi Model yang dikelilingi Harness. Environment mengembalikan observasi kepada Agent, dan Agent mengirim tindakan ke Environment; Harness menjadi perantara interaksi, tetapi bukan Environment.</desc>
<defs>
<marker id="arrow-dark" markerWidth="10" markerHeight="8" refX="9" refY="4" orient="auto" markerUnits="userSpaceOnUse">
<polygon points="0 0, 10 4, 0 8" fill="#333333"/>
</marker>
<style>
.sans { font-family: Arial, "Helvetica Neue", Helvetica, "PingFang SC", "Microsoft YaHei", sans-serif; }
.heading { fill: #303030; font-size: 20px; font-weight: 700; }
.subheading { fill: #333333; font-size: 17px; font-weight: 700; }
.body { fill: #333333; font-size: 15px; }
.note { fill: #666666; font-size: 13.5px; }
.box { stroke: #3f3f3f; stroke-width: 2; }
.flow { fill: none; stroke: #333333; stroke-width: 2.2; marker-end: url(#arrow-dark); }
</style>
</defs>
<rect width="900" height="500" fill="#ffffff"/>
<!-- Agent boundary -->
<rect class="box" x="28" y="42" width="432" height="382" rx="12" fill="#ffffff"/>
<text class="sans heading" x="50" y="72" dominant-baseline="middle">Agent</text>
<!-- Harness surrounds the model but remains inside the Agent boundary -->
<rect x="58" y="92" width="372" height="300" rx="10" fill="#f3f3f3" stroke="#666666" stroke-width="2" stroke-dasharray="8 4"/>
<text class="sans subheading" x="244" y="112" text-anchor="middle" dominant-baseline="middle">Harness (lapisan runtime &amp; interaksi model)</text>
<rect class="box" x="145" y="130" width="250" height="58" rx="7" fill="#ffffff"/>
<text class="sans subheading" x="270" y="151" text-anchor="middle" dominant-baseline="middle">Context</text>
<text class="sans note" x="270" y="172" text-anchor="middle" dominant-baseline="middle">observasi · riwayat · memori · status tugas</text>
<line class="flow" x1="270" y1="190" x2="270" y2="207"/>
<rect class="box" x="145" y="210" width="250" height="78" rx="8" fill="#d5d5d5"/>
<text class="sans heading" x="270" y="236" text-anchor="middle" dominant-baseline="middle">Model</text>
<text class="sans body" x="270" y="263" text-anchor="middle" dominant-baseline="middle">memahami · menalar · memilih tindakan berikutnya</text>
<line class="flow" x1="270" y1="290" x2="270" y2="313"/>
<rect class="box" x="145" y="316" width="250" height="50" rx="7" fill="#ffffff"/>
<text class="sans subheading" x="270" y="341" text-anchor="middle" dominant-baseline="middle">Tool &amp; antarmuka tindakan</text>
<text class="sans note" x="244" y="382" text-anchor="middle" dominant-baseline="middle">loop · manajemen status · izin · verifikasi · koreksi</text>
<!-- Environment boundary -->
<rect class="box" x="620" y="78" width="252" height="322" rx="12" fill="#eeeeee"/>
<text class="sans heading" x="746" y="111" text-anchor="middle" dominant-baseline="middle">Environment</text>
<text class="sans note" x="746" y="136" text-anchor="middle" dominant-baseline="middle">status &amp; aturan transisi</text>
<rect x="650" y="161" width="192" height="67" rx="7" fill="#ffffff" stroke="#777777" stroke-width="1.7"/>
<text class="sans subheading" x="746" y="184" text-anchor="middle" dominant-baseline="middle">Status saat ini</text>
<text class="sans note" x="746" y="207" text-anchor="middle" dominant-baseline="middle">status baru setelah tindakan</text>
<line x1="650" y1="247" x2="842" y2="247" stroke="#b0b0b0"/>
<text class="sans body" x="670" y="274" dominant-baseline="middle">sistem berkas · basis data</text>
<text class="sans body" x="670" y="304" dominant-baseline="middle">web · API · aplikasi</text>
<text class="sans body" x="670" y="334" dominant-baseline="middle">pengguna · Agent lain</text>
<text class="sans body" x="670" y="364" dominant-baseline="middle">dunia simulasi atau fisik</text>
<!-- Classic AgentEnvironment loop -->
<path class="flow" d="M 620 145 H 398"/>
<rect x="477" y="119" width="116" height="22" rx="4" fill="#ffffff"/>
<text class="sans body" x="535" y="131" text-anchor="middle" dominant-baseline="middle">observasi</text>
<path class="flow" d="M 398 341 H 617"/>
<rect x="477" y="311" width="116" height="22" rx="4" fill="#ffffff"/>
<text class="sans body" x="535" y="323" text-anchor="middle" dominant-baseline="middle">tindakan</text>
</svg>