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
+66
View File
@@ -0,0 +1,66 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 880 500" width="880" height="500" 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></defs>
<text x="97.5" y="65" font-family="'Noto Sans CJK KR', 'Apple SD Gothic Neo', 'Malgun Gothic', Arial, sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">이벤트 소스</text>
<rect x="20" y="85" width="155" height="40" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="97.5" y="105.0" font-family="'Noto Sans CJK KR', 'Apple SD Gothic Neo', 'Malgun Gothic', Arial, sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Email</text>
<text x="25" y="141" font-family="'Noto Sans Mono CJK KR', 'Noto Sans CJK KR', 'Apple SD Gothic Neo', monospace" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central">on_email_reply</text>
<text x="25" y="159" font-family="'Noto Sans Mono CJK KR', 'Noto Sans CJK KR', 'Apple SD Gothic Neo', monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">{&quot;from&quot;:&quot;alice@...&quot;,</text>
<text x="25" y="175" font-family="'Noto Sans Mono CJK KR', 'Noto Sans CJK KR', 'Apple SD Gothic Neo', monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central"> &quot;subject&quot;:&quot;Re:회의&quot;}</text>
<rect x="20" y="195" width="155" height="40" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="97.5" y="215.0" font-family="'Noto Sans CJK KR', 'Apple SD Gothic Neo', 'Malgun Gothic', Arial, sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Timer</text>
<text x="25" y="251" font-family="'Noto Sans Mono CJK KR', 'Noto Sans CJK KR', 'Apple SD Gothic Neo', monospace" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central">on_timer_expire</text>
<text x="25" y="269" font-family="'Noto Sans Mono CJK KR', 'Noto Sans CJK KR', 'Apple SD Gothic Neo', monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">{&quot;task_id&quot;:&quot;daily_report&quot;,</text>
<text x="25" y="285" font-family="'Noto Sans Mono CJK KR', 'Noto Sans CJK KR', 'Apple SD Gothic Neo', monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central"> &quot;scheduled&quot;:&quot;09:00&quot;}</text>
<rect x="20" y="305" width="155" height="40" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="97.5" y="325.0" font-family="'Noto Sans CJK KR', 'Apple SD Gothic Neo', 'Malgun Gothic', Arial, sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Webhook</text>
<text x="25" y="361" font-family="'Noto Sans Mono CJK KR', 'Noto Sans CJK KR', 'Apple SD Gothic Neo', monospace" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central">on_webhook</text>
<text x="25" y="379" font-family="'Noto Sans Mono CJK KR', 'Noto Sans CJK KR', 'Apple SD Gothic Neo', monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">{&quot;repo&quot;:&quot;agent-lib&quot;,</text>
<text x="25" y="395" font-family="'Noto Sans Mono CJK KR', 'Noto Sans CJK KR', 'Apple SD Gothic Neo', monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central"> &quot;event&quot;:&quot;pr_merged&quot;}</text>
<rect x="20" y="415" width="155" height="40" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="97.5" y="435.0" font-family="'Noto Sans CJK KR', 'Apple SD Gothic Neo', 'Malgun Gothic', Arial, sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">User</text>
<text x="25" y="471" font-family="'Noto Sans Mono CJK KR', 'Noto Sans CJK KR', 'Apple SD Gothic Neo', monospace" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central">on_user_message</text>
<text x="25" y="489" font-family="'Noto Sans Mono CJK KR', 'Noto Sans CJK KR', 'Apple SD Gothic Neo', monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">{&quot;text&quot;:&quot;내일 날씨를</text>
<text x="25" y="505" font-family="'Noto Sans Mono CJK KR', 'Noto Sans CJK KR', 'Apple SD Gothic Neo', monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central"> 알려 줘&quot;}</text>
<text x="310.0" y="65" font-family="'Noto Sans CJK KR', 'Apple SD Gothic Neo', 'Malgun Gothic', Arial, sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">이벤트 큐</text>
<rect x="215" y="85" width="190" height="390" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2" stroke-dasharray="8,4"/>
<rect x="225" y="105" width="170" height="60" rx="4" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="310.0" y="127" font-family="'Noto Sans CJK KR', 'Apple SD Gothic Neo', 'Malgun Gothic', Arial, sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">user.input</text>
<text x="310.0" y="149" font-family="'Noto Sans CJK KR', 'Apple SD Gothic Neo', 'Malgun Gothic', Arial, sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">우선순위: 일반</text>
<rect x="225" y="190" width="170" height="60" rx="4" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="310.0" y="212" font-family="'Noto Sans CJK KR', 'Apple SD Gothic Neo', 'Malgun Gothic', Arial, sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">email.reply</text>
<text x="310.0" y="234" font-family="'Noto Sans CJK KR', 'Apple SD Gothic Neo', 'Malgun Gothic', Arial, sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">우선순위: 일반</text>
<rect x="225" y="275" width="170" height="60" rx="4" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="310.0" y="297" font-family="'Noto Sans CJK KR', 'Apple SD Gothic Neo', 'Malgun Gothic', Arial, sans-serif" font-size="16" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="bold">user.interrupt</text>
<text x="310.0" y="319" font-family="'Noto Sans CJK KR', 'Apple SD Gothic Neo', 'Malgun Gothic', Arial, sans-serif" font-size="14" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="normal">우선순위: 긴급!</text>
<rect x="225" y="360" width="170" height="60" rx="4" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="310.0" y="382" font-family="'Noto Sans CJK KR', 'Apple SD Gothic Neo', 'Malgun Gothic', Arial, sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">timer.trigger</text>
<text x="310.0" y="404" font-family="'Noto Sans CJK KR', 'Apple SD Gothic Neo', 'Malgun Gothic', Arial, sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">우선순위: 일반</text>
<line x1="177" y1="105" x2="213" y2="120" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<line x1="177" y1="215" x2="213" y2="205" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<line x1="177" y1="325" x2="213" y2="290" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<line x1="177" y1="435" x2="213" y2="375" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<text x="650" y="65" font-family="'Noto Sans CJK KR', 'Apple SD Gothic Neo', 'Malgun Gothic', Arial, sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">에이전트 처리 흐름</text>
<line x1="407" y1="280" x2="448" y2="280" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<text x="427.5" y="270.0" font-family="'Noto Sans CJK KR', 'Apple SD Gothic Neo', 'Malgun Gothic', Arial, sans-serif" font-size="16" fill="#666666" text-anchor="middle">이벤트 꺼내기</text>
<rect x="450" y="110" width="360" height="50" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="540" y="135.0" font-family="'Noto Sans CJK KR', 'Apple SD Gothic Neo', 'Malgun Gothic', Arial, sans-serif" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">라우터</text>
<text x="800" y="135.0" font-family="'Noto Sans CJK KR', 'Apple SD Gothic Neo', 'Malgun Gothic', Arial, sans-serif" font-size="14" fill="#666666" text-anchor="end" dominant-baseline="central" font-weight="normal">LLM이 긴급도 판단</text>
<line x1="630.0" y1="162" x2="630.0" y2="188" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="450" y="190" width="360" height="50" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="540" y="215.0" font-family="'Noto Sans CJK KR', 'Apple SD Gothic Neo', 'Malgun Gothic', Arial, sans-serif" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">궤적에 추가</text>
<text x="800" y="215.0" font-family="'Noto Sans CJK KR', 'Apple SD Gothic Neo', 'Malgun Gothic', Arial, sans-serif" font-size="14" fill="#666666" text-anchor="end" dominant-baseline="central" font-weight="normal">구조화된 이벤트 형식</text>
<line x1="630.0" y1="242" x2="630.0" y2="268" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="450" y="270" width="360" height="50" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="540" y="295.0" font-family="'Noto Sans CJK KR', 'Apple SD Gothic Neo', 'Malgun Gothic', Arial, sans-serif" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">LLM 추론</text>
<text x="800" y="295.0" font-family="'Noto Sans CJK KR', 'Apple SD Gothic Neo', 'Malgun Gothic', Arial, sans-serif" font-size="14" fill="#666666" text-anchor="end" dominant-baseline="central" font-weight="normal">관찰→사고→행동</text>
<line x1="630.0" y1="322" x2="630.0" y2="348" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="450" y="350" width="360" height="50" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="540" y="375.0" font-family="'Noto Sans CJK KR', 'Apple SD Gothic Neo', 'Malgun Gothic', Arial, sans-serif" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">도구 실행</text>
<text x="800" y="375.0" font-family="'Noto Sans CJK KR', 'Apple SD Gothic Neo', 'Malgun Gothic', Arial, sans-serif" font-size="14" fill="#666666" text-anchor="end" dominant-baseline="central" font-weight="normal">비동기/동기 디스패치</text>
<line x1="630.0" y1="402" x2="630.0" y2="428" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="450" y="430" width="360" height="50" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="540" y="455.0" font-family="'Noto Sans CJK KR', 'Apple SD Gothic Neo', 'Malgun Gothic', Arial, sans-serif" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">결과 처리</text>
<text x="800" y="455.0" font-family="'Noto Sans CJK KR', 'Apple SD Gothic Neo', 'Malgun Gothic', Arial, sans-serif" font-size="14" fill="#666666" text-anchor="end" dominant-baseline="central" font-weight="normal">알림/응답/저장</text>
<path d="M 810,450 Q 760.0,290.0 810,130" fill="none" stroke="#999999" stroke-width="2" stroke-dasharray="8,4" marker-end="url(#ah-light)"/>
<text x="785.0" y="280.0" font-family="'Noto Sans CJK KR', 'Apple SD Gothic Neo', 'Malgun Gothic', Arial, sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">루프</text>
</svg>

After

Width:  |  Height:  |  Size: 12 KiB