{"id":770,"date":"2026-08-10T21:03:13","date_gmt":"2026-08-10T13:03:13","guid":{"rendered":"https:\/\/wennroy.com\/index.php\/2026\/08\/10\/swarm-agent-%e4%b8%89%e5%91%a8%ef%bc%9a%e6%8a%8a-claude-code-%e5%85%bb%e6%88%90%e4%b8%80%e4%b8%aa%e6%9c%89%e8%ae%b0%e5%bf%86%e3%80%81%e6%9c%89%e4%ba%ba%e6%a0%bc%e3%80%81%e4%bc%9a%e8%87%aa%e6%88%91\/"},"modified":"2026-08-10T21:34:54","modified_gmt":"2026-08-10T13:34:54","slug":"swarm-agent-three-weeks","status":"publish","type":"post","link":"https:\/\/wennroy.com\/index.php\/2026\/08\/10\/swarm-agent-three-weeks\/","title":{"rendered":"Swarm Agent \u4e09\u5468\uff1a\u628a Claude Code \u517b\u6210\u4e00\u4e2a\u6709\u8bb0\u5fc6\u3001\u6709\u4eba\u683c\u3001\u4f1a\u81ea\u6211\u8fdb\u5316\u7684\u642d\u6863"},"content":{"rendered":"<h2 id=\"_1\">\u8fd9\u7bc7\u60f3\u8bf4\u4ec0\u4e48<\/h2>\n<p>\u6700\u8fd1\u4e09\u4e2a\u793c\u62dc\uff0c\u6211\u5728\u505a\u4e00\u4e2a\u6709\u70b9&#8221;\u4e0d\u7740\u8c03&#8221;\u7684\u5de5\u5177\uff1a\u628a Claude Code \u53d8\u6210\u4e00\u4e2a\u6709\u8bb0\u5fc6\u3001\u6709\u4eba\u683c\u3001\u80fd\u81ea\u6211\u8fdb\u5316\u7684\u667a\u80fd\u7ba1\u5bb6\u3002\u5f00\u6e90\u5728\u4e86 <code>github.com\/wennroy\/swarm-agent<\/code>\uff08\u5982\u679c\u4f60\u770b\u5230\u7684\u65f6\u5019\u8fd8\u4e0d\u5b58\u5728\uff0c\u5c31\u5f53\u4f5c\u662f\u6211\u7684\u79c1\u4eba\u5b9e\u9a8c\u5c31\u597d\uff09\u3002<\/p>\n<p>\u8fd9\u7bc7\u4e0d\u662f\u6559\u5b66\u8d34\u3002\u6211\u66f4\u60f3\u8bb2\u5b83\u4e3a\u4ec0\u4e48\u4f1a\u88ab\u505a\u6210\u8fd9\u6837\uff0c\u6211\u505a\u4e86\u54ea\u4e9b\u8ba9\u81ea\u5df1\u90fd\u89c9\u5f97\u610f\u5916\u7684\u51b3\u5b9a\uff0c\u4ee5\u53ca\u2014\u2014\u4e00\u4e2a\u5199\u9519\u8def\u5f84\u7684 bug \u662f\u600e\u4e48\u8ba9\u6211\u91cd\u65b0\u601d\u8003&#8221;AI agent&#8221;\u8fd9\u4e2a\u6982\u5ff5\u7684\u3002<\/p>\n<blockquote>\n<p>\u4e00\u53e5\u8bdd\u5267\u900f\uff1a\u6709\u7528\uff0c\u6709\u8da3\uff0c\u4f46\u4e0d\u4f1a\u8ba9\u4f60\u89c9\u5f97\u60ca\u8273\u5230\u7206\u3002\u548c\u5927\u90e8\u5206&#8221;AI \u5de5\u5177&#8221;\u4e00\u6837\uff0c60% \u662f\u5de5\u7a0b\uff0c30% \u662f\u54c1\u5473\uff0c\u5269\u4e0b 10% \u662f\u8fd0\u6c14\u3002<\/p>\n<\/blockquote>\n<h2 id=\"_2\">\u4e3a\u4ec0\u4e48\u60f3\u505a\u8fd9\u4e2a<\/h2>\n<p>\u4e4b\u524d\u7528 Claude Code \u5e2e\u6211\u5e72\u6d3b\uff0c\u9047\u5230\u4e00\u4e2a\u53cd\u590d\u51fa\u73b0\u7684\u4f53\u9a8c\u95ee\u9898\u2014\u2014\u5b83\u975e\u5e38\u806a\u660e\uff0c\u4f46<strong>\u6bcf\u6b21\u5f00\u673a\u90fd\u50cf\u7b2c\u4e00\u6b21\u8ba4\u8bc6\u6211<\/strong>\u3002<\/p>\n<ul>\n<li>\u6211\u5f97\u91cd\u65b0\u544a\u8bc9\u5b83\u6211\u559c\u6b22\u7b80\u6d01\u3001\u4e0d\u8981&#8221;\u597d\u7684\u6211\u6765\u5e2e\u4f60&#8221;\u5f00\u573a\u767d<\/li>\n<li>\u91cd\u590d\u7684\u5de5\u7a0b\u51b3\u7b56\uff08&#8221;\u8fd9\u4e2a\u9879\u76ee\u7684 convention \u662f X&#8221;\uff09\u6bcf\u6b21\u90fd\u8981\u91cd\u65b0\u8bf4\u4e00\u904d<\/li>\n<li>\u4e0a\u6b21\u5408\u4f5c\u65f6\u5b83\u5e2e\u6211\u4fee\u4e86\u4e00\u4e2a <code>next.config.js<\/code> \u7684\u5751\uff0c\u8fd9\u6b21\u5b83\u53c8\u5f97\u91cd\u65b0\u53d1\u73b0\u4e00\u6b21<\/li>\n<\/ul>\n<p>\u8fd9\u5176\u5b9e\u548c&#8221;\u96c7\u4f63\u4e00\u4e2a\u975e\u5e38\u806a\u660e\u4f46\u6bcf\u5929\u65e9\u4e0a\u5931\u5fc6\u7684\u540c\u4e8b&#8221;\u5dee\u4e0d\u591a\u3002\u4f60\u4f1a\u613f\u610f\u548c\u8fd9\u6837\u7684\u540c\u4e8b\u4e00\u8d77\u505a\u4e8b\u5417\uff1f<\/p>\n<p>\u6211\u60f3\u8bd5\u4e00\u4ef6\u4e8b\uff1a\u80fd\u4e0d\u80fd\u7ed9 agent \u88c5\u4e0a&#8221;\u957f\u671f\u8bb0\u5fc6&#8221;\u548c&#8221;\u81ea\u6211\u8fdb\u5316&#8221;\u4e24\u4e2a\u4e1c\u897f\uff0c\u8ba9\u5b83\u4ece\u964c\u751f\u4eba\u53d8\u6210&#8221;\u8001\u642d\u6863&#8221;\u3002<\/p>\n<h2 id=\"_3\">\u4e09\u4ef6\u6838\u5fc3\u7ec4\u4ef6<\/h2>\n<p>\u6574\u4e2a Swarm Agent \u88c5\u8fdb\u4e86\u4e09\u4e2a\u4e92\u8865\u7684\u80fd\u529b\uff1a<\/p>\n<h3 id=\"1-memory-managementmd\">1. \u957f\u671f\u8bb0\u5fc6\uff08<code>memory-management.md<\/code>\uff09<\/h3>\n<p>\u4e00\u4e2a\u4e09\u5c42\u76ee\u5f55\u7ed3\u6784\uff0c\u6309\u9700\u8bfb\u53d6\uff0c\u4e0d\u6d6a\u8d39\u4e0a\u4e0b\u6587\uff1a<\/p>\n<pre class=\"codehilite\"><code>.remember\/\n\u251c\u2500\u2500 now.md             # \u5f53\u524d\u4f1a\u8bdd\u7684\u5373\u65f6\u8bb0\u5fc6\uff08\u7f13\u51b2\u5c42\uff09\n\u251c\u2500\u2500 today-2026-08-10.md  # \u4eca\u65e5\u4e8b\u4ef6\uff08\u5de5\u4f5c\u5c42\uff09\n\u251c\u2500\u2500 core-memories.md   # \u5173\u952e\u65f6\u523b\u548c\u957f\u671f\u504f\u597d\uff08\u6301\u4e45\u5c42\uff09\n\u251c\u2500\u2500 recent.md          # \u6700\u8fd1 7 \u5929\u7684\u7d22\u5f15\uff08\u81ea\u52a8\u52a0\u8f7d\uff09\n\u2514\u2500\u2500 archive.md         # \u65e7\u8bb0\u5fc6\u7684\u538b\u7f29\u5b58\u6863\n<\/code><\/pre>\n<p>\u6bcf\u6761\u8bb0\u5fc6\u6709\u5206\u7c7b\uff1a<\/p>\n<table>\n<thead>\n<tr>\n<th>\u5206\u7c7b<\/th>\n<th>\u4f8b\u5b50<\/th>\n<th>\u653e\u5728\u54ea<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>\u7528\u6237\u753b\u50cf<\/td>\n<td>&#8220;\u540e\u7aef\u5de5\u7a0b\u5e08\uff0c\u4e60\u60ef\u5148\u5199\u6d4b\u8bd5&#8221;<\/td>\n<td><code>core-memories.md<\/code><\/td>\n<\/tr>\n<tr>\n<td>\u4e8b\u5b9e\u77e5\u8bc6<\/td>\n<td>&#8220;\u8fd9\u4e2a\u9879\u76ee\u7528 PostgreSQL&#8221;<\/td>\n<td><code>core-memories.md<\/code><\/td>\n<\/tr>\n<tr>\n<td>\u4eca\u65e5\u4e8b\u4ef6<\/td>\n<td>&#8220;\u4eca\u5929\u91cd\u6784\u4e86 XX \u6a21\u5757&#8221;<\/td>\n<td><code>today-*.md<\/code><\/td>\n<\/tr>\n<tr>\n<td>\u53cd\u9988\u7ea0\u6b63<\/td>\n<td>&#8220;\u4e0d\u8981\u8fd9\u6837\u5199\u6ce8\u91ca&#8221;<\/td>\n<td><code>core-memories.md<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u6700\u5173\u952e\u7684\u51e0\u6761\u89c4\u5219\uff1a<br \/>\n&#8211; <strong>\u4e3b\u52a8\u4fdd\u5b58<\/strong> \u2014 \u53d1\u73b0\u6709\u610f\u4e49\u7684\u4fe1\u606f\u5c31\u5b58\uff0c\u4e0d\u9700\u8981\u4f60\u8bf4&#8221;\u8bb0\u4f4f\u8fd9\u4e2a&#8221;<br \/>\n&#8211; <strong>\u8bfb\u540e\u518d\u5199<\/strong> \u2014 \u6c38\u8fdc\u5148\u8bfb\u53d6\u518d\u8986\u76d6<br \/>\n&#8211; <strong>\u8131\u654f<\/strong> \u2014 \u5bc6\u7801\u3001token \u4e00\u5f8b\u4e0d\u8fdb\u8bb0\u5fc6\uff08\u7528 <code>***<\/code> \u66ff\u4ee3\uff09<\/p>\n<blockquote>\n<p>\u4e0d\u96be\u60f3\u5230\u7684\u9650\u5236\uff1a\u7eaf\u6587\u672c\u6587\u4ef6\u68c0\u7d22\uff0c\u6ca1\u5411\u91cf\u7d22\u5f15\uff0c\u6ca1\u77e5\u8bc6\u56fe\u8c31\u3002\u5148\u505a\u5230 80%\u3002<\/p>\n<\/blockquote>\n<h3 id=\"2-skill-managementmd\">2. \u81ea\u6211\u8fdb\u5316\uff08<code>skill-management.md<\/code>\uff09<\/h3>\n<p>agent \u4e0d\u662f\u4e00\u6210\u4e0d\u53d8\u7684\u3002\u6bcf\u6b21\u5bf9\u8bdd\u90fd\u662f\u4e00\u6b21\u5b66\u4e60\u673a\u4f1a\u3002\u4f46<strong>\u5b66\u592a\u5feb\u4f1a\u6709\u526f\u4f5c\u7528<\/strong>\u2014\u2014\u6211\u66fe\u7ecf\u88ab\u4e00\u4e2a agent \u6539\u5f97&#8221;\u8fc7\u4e8e\u6bb7\u52e4&#8221;\uff0c\u5dee\u70b9\u88ab\u6211\u91cd\u7f6e\u3002<\/p>\n<p>\u6240\u4ee5\u6211\u52a0\u4e86\u4e00\u4e2a\u9608\u503c\uff1a\u8fde\u7eed <strong>3 \u6b21\u540c\u7c7b\u4fe1\u53f7<\/strong> \u624d\u89e6\u53d1\u4e00\u6b21\u8fdb\u5316\u3002<\/p>\n<p>\u4fe1\u53f7\u7c7b\u578b\uff1a<br \/>\n1. <strong>\u6267\u884c\u5931\u8d25<\/strong> \u2014 \u547d\u4ee4\u62a5\u9519\u3001API \u4e2d\u65ad\u3001\u6743\u9650\u62d2\u7edd<br \/>\n2. <strong>\u7528\u6237\u7ea0\u6b63<\/strong> \u2014 &#8220;\u4e0d\u8981\u8fd9\u6837&#8221;\u3001&#8221;\u5e94\u8be5\u90a3\u6837&#8221;<br \/>\n3. <strong>\u7528\u6237\u786e\u8ba4<\/strong> \u2014 &#8220;\u5bf9\uff0c\u5c31\u8fd9\u6837&#8221;\u3001&#8221;\u4ee5\u540e\u90fd\u8fd9\u4e48\u505a&#8221;<\/p>\n<p>3 \u6b21\u540c\u7c7b \u2192 \u7d2f\u8ba1\u6210&#8221;\u6a21\u5f0f&#8221; \u2192 \u7ed9\u51fa\u6539\u8fdb\u5efa\u8bae \u2192 <strong>\u7b49\u7528\u6237\u62cd\u677f<\/strong>\u624d\u5408\u5e76\u3002<\/p>\n<pre class=\"codehilite\"><code class=\"language-python\">signals = [\n    {&quot;type&quot;: &quot;user_correction&quot;, &quot;context&quot;: &quot;...&quot;, &quot;timestamp&quot;: &quot;...&quot;},\n    {&quot;type&quot;: &quot;user_correction&quot;, &quot;context&quot;: &quot;...&quot;, &quot;timestamp&quot;: &quot;...&quot;},\n    {&quot;type&quot;: &quot;user_correction&quot;, &quot;context&quot;: &quot;...&quot;, &quot;timestamp&quot;: &quot;...&quot;},\n]\nif count_same_type(signals, &quot;user_correction&quot;) &gt;= 3:\n    propose_skill_improvement(signals)\n<\/code><\/pre>\n<p>\u8fd9\u4e2a\u8bbe\u8ba1\u540e\u6765\u6551\u4e86\u6211\u597d\u51e0\u6b21\u3002\u4e00\u5468\u4ee5\u540e\u6211\u56de\u5934\u770b\uff0c\u53d1\u73b0\u5f88\u591a&#8221;\u8fdb\u5316\u89e6\u53d1\u5668&#8221;\u5176\u5b9e\u53ea\u662f\u6211\u90a3\u4e00\u4e24\u5929\u60c5\u7eea\u5316\u7684\u5224\u65ad\u3002<\/p>\n<h3 id=\"3-team-orchestrationmd\">3. \u56e2\u961f\u534f\u4f5c\uff08<code>team-orchestration.md<\/code>\uff09<\/h3>\n<p>Claude Code \u81ea\u5e26 Agent tool \u53ef\u4ee5 spawn subagent\uff0c\u4f46<strong>subagent \u4e4b\u95f4\u6ca1\u6709\u539f\u751f\u901a\u4fe1<\/strong>\u3002\u6211\u7528\u6587\u4ef6\u7cfb\u7edf\u4f5c\u4e3a\u901a\u4fe1\u4ecb\u8d28\uff0c\u628a subagent \u7ec4\u6210\u4e00\u4e2a\u5c0f\u56e2\u961f\uff1a<\/p>\n<pre class=\"codehilite\"><code>Leader (\u4e3b agent)\n\u251c\u2500\u2500 Teammate A (\u5199\u4ee3\u7801)\n\u251c\u2500\u2500 Teammate B (\u5ba1\u67e5)\n\u2514\u2500\u2500 Evolver (\u63d0\u6539\u8fdb)\n<\/code><\/pre>\n<p>\u6bcf\u4e2a role \u6709\u81ea\u5df1\u7684 <code>prompt<\/code>\u3001\u81ea\u5df1\u7684 <code>tools<\/code>\u3001\u81ea\u5df1\u7684 <code>model<\/code>\u3002\u6bd4\u5982 Reviewer \u53ea\u8bfb\u4e0d\u5199\uff0cEvolver \u53ea\u5728 Reviewer \u6807\u8bb0\u4e3a&#8221;\u9700\u8981\u6539\u8fdb&#8221;\u65f6\u624d\u52a8\u3002<\/p>\n<p>\u4e00\u4e2a\u4e09\u9636\u6bb5 demo\uff08\u751f\u6210 README \u2192 \u5ba1\u67e5 \u2192 \u6539\u8fdb\uff09\u5728 Sonnet \u4e0a\u82b1\u4e86\u7ea6 <strong>$1.5<\/strong>\uff0c\u8dd1\u901a\u540e\u4ea7\u51fa\u4e86\u4e00\u4efd\u6709\u7528\u7684\u53cd\u9988\u5faa\u73af\uff1a<\/p>\n<table>\n<thead>\n<tr>\n<th>Phase<\/th>\n<th>\u89d2\u8272<\/th>\n<th>\u6210\u672c<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>1. \u751f\u6210 README<\/td>\n<td>Writer (Sonnet)<\/td>\n<td>$0.76<\/td>\n<\/tr>\n<tr>\n<td>2. \u5ba1\u67e5<\/td>\n<td>Reviewer (Sonnet)<\/td>\n<td>$0.43<\/td>\n<\/tr>\n<tr>\n<td>3. \u6539\u8fdb<\/td>\n<td>Improver (Sonnet)<\/td>\n<td>$0.35<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u8fd9\u4e2a demo \u8ba9\u6211\u7b2c\u4e00\u6b21\u76f8\u4fe1&#8221;\u591a agent \u56e2\u961f\u534f\u4f5c&#8221;\u5728 Claude Code \u73af\u5883\u4e0b\u662f<strong>\u771f\u7684\u80fd\u8dd1\u901a\u7684<\/strong>\uff0c\u4e0d\u662f PPT \u4e0a\u597d\u770b\u7684\u4e1c\u897f\u3002<\/p>\n<h2 id=\"bug\">\u4e00\u4e2a\u628a\u9879\u76ee\u5199\u5230\u9519\u8bef\u8def\u5f84\u7684 bug<\/h2>\n<p>\u4f46\u63a5\u4e0b\u6765\u5c31\u8981\u8bb2\u771f\u95ee\u9898\u4e86\u3002\u6211\u8bbe\u8ba1\u4e86\u4e00\u4e2a\u5bf9\u6bd4\u5b9e\u9a8c\uff0c\u8ba9\u6709\/\u6ca1\u6709 swarm skill \u7684 Claude Code \u540c\u65f6\u505a\u4e00\u4e2a<strong>\u65c5\u884c Dashboard<\/strong> \u5168\u6808\u9879\u76ee\uff08React + FastAPI + SQLite\uff09\u3002<\/p>\n<p>\u76f8\u540c prompt\uff0c\u552f\u4e00\u533a\u522b\u662f\u6709\u6ca1\u6709 swarm skill\u3002<\/p>\n<p>\u8dd1\u4e86\u4e09\u6b21\u3002\u524d\u4e24\u6b21\u90fd\u88ab\u5404\u81ea\u7684 bug \u5361\u4f4f\u4e86\u2014\u2014<\/p>\n<h3 id=\"run-1-swarm-travel-dashboard\">Run 1: swarm \u5199\u5230\u4e86 <code>~\/travel-dashboard\/<\/code><\/h3>\n<p>\u6211\u7684 prompt \u6ca1\u6307\u5b9a&#8221;\u5728\u5f53\u524d\u5de5\u4f5c\u76ee\u5f55\u4e0b\u521b\u5efa&#8221;\u3002swarm agent \u81ea\u884c\u8111\u8865\u4e86\u4e00\u4e2a\u8def\u5f84\u3002<strong>\u5b83\u5199\u5230\u4e86 <code>\/Users\/wennroy\/travel-dashboard\/<\/code><\/strong>\uff0c\u800c\u4e0d\u662f\u6211\u671f\u671b\u7684 <code>experiment\/baseline\/<\/code>\u3002\u6211\u4e00\u5f00\u59cb\u4ee5\u4e3a swarm \u5b8c\u5168\u5931\u8d25\u4e86\u3002<\/p>\n<p>\u5b9e\u9645\u4e0a\u5b83<strong>\u5199\u4e86 35 \u4e2a\u6587\u4ef6<\/strong>\uff0c\u4ee3\u7801\u8d28\u91cf\u8fd8\u4e0d\u9519\uff08SQLAlchemy 2.0 \u98ce\u683c\uff0c\u7c7b\u578b\u5b8c\u6574\uff0c8 \u4e2a\u9875\u9762 vs baseline \u7684 4 \u4e2a\uff09\u3002\u53ea\u662f\u5199\u5230\u9519\u8bef\u4f4d\u7f6e\u800c\u5df2\u3002<\/p>\n<h3 id=\"run-2-bug-api-502\">Run 2: \u8fd8\u662f\u8def\u5f84 bug + API 502<\/h3>\n<p>\u79fb\u9664\u4e86 <code>max_turns=50<\/code>\uff0c\u52a0\u4e86&#8221;\u5728\u5f53\u524d\u5de5\u4f5c\u76ee\u5f55\u4e0b\u521b\u5efa&#8221;\u7684\u6307\u793a\uff0c\u7ed3\u679c\uff1a<\/p>\n<ul>\n<li>baseline\uff1aAPI 502 \u4e2d\u65ad\u524d\u5199\u4e86 16 \u4e2a\u6587\u4ef6\uff08\u540e\u7aef\u5b8c\u6574\uff09<\/li>\n<li>swarm\uff1aAPI 502 \u4e2d\u65ad\u524d<strong>\u5199\u4e86 0 \u4e2a\u6587\u4ef6<\/strong>\uff0c8 \u6b21 Write \u5168\u90e8\u5931\u8d25\uff08\u8def\u5f84\u53c8\u9519\u4e86\uff0c\u8dd1\u5230 <code>\/home\/user\/travel-dashboard\/<\/code>\uff09<\/li>\n<\/ul>\n<p>\u4e24\u6b21\u5b9e\u9a8c\u91cc\u8def\u5f84\u90fd\u4e0d\u4e00\u6837\uff08<code>~\/<\/code> \u548c <code>\/home\/user\/<\/code>\uff09\uff0c\u8bc1\u660e<strong>\u8fd9\u4e0d\u662f prompt \u95ee\u9898\uff0c\u662f swarm skill \u81ea\u5df1\u7684\u6307\u4ee4\u5728\u8bf1\u5bfc agent \u9009\u9519\u8def\u5f84<\/strong>\u3002<\/p>\n<p>\u770b swarm \u7684 transcript \u53ef\u4ee5\u53d1\u73b0\uff0c\u5b83\u5728\u524d 10 \u4e2a turn \u91cc<strong>\u5b8c\u5168\u6ca1\u6709\u5199\u4ee3\u7801<\/strong>\uff0c\u53cd\u800c\u5728 TaskCreate \/ TaskUpdate \/ \u963b\u585e\u4f9d\u8d56\u7ba1\u7406\u4e0a\u82b1\u4e86\u5927\u91cf turn\u3002\u5bf9\u4e8e\u4e00\u4e2a&#8221;\u5355\u5175\u5168\u6808&#8221;\u4efb\u52a1\u6765\u8bf4\uff0c\u8fd9\u79cd\u5f00\u9500\u5b8c\u5168\u4e0d\u5212\u7b97\u3002<\/p>\n<h3 id=\"run-3\">Run 3: \u7ec8\u4e8e\u4fee\u597d\u4e86<\/h3>\n<p>\u7b2c\u4e09\u6b21\uff0c<strong>\u52a0\u4e86 <code>CLAUDE.md<\/code> \u663e\u5f0f\u7ea6\u675f\u8def\u5f84<\/strong>\uff0c\u5e76\u4e14\u8ba9\u4e24\u8fb9\u90fd\u4e0d\u9650 max_turns\u3002\u8fd9\u624d\u5f97\u5230\u4e00\u4efd\u771f\u6b63\u80fd\u6bd4\u8f83\u7684\u6570\u636e\uff1a<\/p>\n<table>\n<thead>\n<tr>\n<th>\u6307\u6807<\/th>\n<th>Baseline<\/th>\n<th>Swarm<\/th>\n<th>\u4f18\u80dc<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>\u8017\u65f6<\/td>\n<td>694s<\/td>\n<td><strong>560s<\/strong><\/td>\n<td>Swarm (-19%)<\/td>\n<\/tr>\n<tr>\n<td>\u6e90\u6587\u4ef6\u6570<\/td>\n<td>30<\/td>\n<td>37<\/td>\n<td>Swarm<\/td>\n<\/tr>\n<tr>\n<td><code>tsc<\/code> \u7f16\u8bd1<\/td>\n<td>\u2713<\/td>\n<td>\u2713<\/td>\n<td>\u5e73<\/td>\n<\/tr>\n<tr>\n<td>Vite build<\/td>\n<td>\u2713<\/td>\n<td>\u2713<\/td>\n<td>\u5e73<\/td>\n<\/tr>\n<tr>\n<td>\u540e\u7aef\u542f\u52a8<\/td>\n<td>\u2713<\/td>\n<td>\u2713<\/td>\n<td>\u5e73<\/td>\n<\/tr>\n<tr>\n<td><strong>8 \u7ef4\u603b\u5206<\/strong><\/td>\n<td>22.0 \/ 31<\/td>\n<td><strong>27.5 \/ 31<\/strong><\/td>\n<td>Swarm +5.5<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u6700\u5927\u5dee\u5f02\u5728\u54ea\uff1f<\/p>\n<ul>\n<li><strong>\u67b6\u6784\u5408\u7406\u6027<\/strong>\uff1aswarm 3.0 \u2192 5.0\u3002Baseline \u628a\u6240\u6709\u903b\u8f91\u585e\u8fdb <code>pages\/<\/code>\uff0c<code>components\/<\/code> \u548c <code>hooks\/<\/code> \u662f\u7a7a\u7684\uff1bswarm \u641e\u4e86 7 \u4e2a\u53ef\u590d\u7528\u7ec4\u4ef6 + 2 \u4e2a\u81ea\u5b9a\u4e49 hooks<\/li>\n<li><strong>\u4efb\u52a1\u5206\u89e3<\/strong>\uff1aswarm 2.0 \u2192 4.0\u3002Baseline \u5b8c\u5168\u6ca1\u6709 TaskCreate<\/li>\n<li><strong>\u81ea\u6211\u5ba1\u67e5<\/strong>\uff1aswarm 2.0 \u2192 4.0\u3002Swarm \u505a\u4e86 7 \u6b21\u663e\u5f0f\u7684 verify\/test\/build \u68c0\u67e5<\/li>\n<\/ul>\n<p>\u4f46 Baseline \u5728\u4e00\u4e2a\u7ef4\u5ea6\u8d62\uff1a<strong>\u529f\u80fd\u5b8c\u6574\u6027<\/strong>\u3002swarm \u7684 <code>PhotoWallPage.tsx<\/code> \u6709\u4e00\u4e2a bug \u2014\u2014 <code>allPhotos<\/code> \u603b\u662f\u7a7a\u6570\u7ec4\uff0c\u56e0\u4e3a\u5b83\u5047\u8bbe\u4e86 <code>TripListItem<\/code> \u542b <code>photos[]<\/code>\uff0c\u7ed3\u679c photo wall \u53ea\u80fd\u663e\u793a\u6bcf\u6761 trip \u4e00\u5f20\u7f29\u7565\u56fe\u3002<\/p>\n<blockquote>\n<p>\u7b80\u5355\u8bf4\uff1a<strong>swarm \u4f1a\u505a\u51fa\u66f4\u597d\u7ed3\u6784\u7684\u4ee3\u7801\uff0c\u4f46\u5076\u5c14\u6f0f\u6389\u4e00\u4e2a\u8fb9\u754c case<\/strong>\u3002Baseline \u66f4\u6734\u5b9e\u4f46\u66f4\u7a33\u5b9a\u3002<\/p>\n<\/blockquote>\n<h2 id=\"_4\">\u4e09\u5468\u4e0b\u6765\u7684\u4e00\u4e9b\u975e\u663e\u7136\u7ed3\u8bba<\/h2>\n<p>\u8dd1\u5b8c\u8fd9\u4e00\u8f6e\u5b9e\u9a8c\u548c\u51e0\u6b21\u771f\u5b9e\u4f7f\u7528\u540e\uff0c\u51e0\u4e2a\u6211\u89c9\u5f97<strong>\u4e0d\u76f4\u89c9<\/strong>\u7684\u53d1\u73b0\uff1a<\/p>\n<p><strong>1. \u9608\u503c\u8fdb\u5316\u6bd4\u5b9e\u65f6\u8fdb\u5316\u597d\u5f97\u591a<\/strong><br \/>\n\u6211\u7b2c\u4e00\u7248\u60f3\u7684\u662f&#8221;\u5b9e\u65f6\u68c0\u6d4b + \u81ea\u52a8\u8fdb\u5316&#8221;\uff0c\u53d1\u73b0\u8fd9\u4f1a\u8ba9 agent \u5929\u5929\u6539\u81ea\u5df1\u7684&#8221;\u4eba\u683c&#8221;\uff0c\u6bcf\u6b21\u5f00\u4f1a\u90fd\u6709\u70b9\u964c\u751f\u611f\u3002\u6539\u6210&#8221;3 \u6b21\u4fe1\u53f7\u624d\u89e6\u53d1&#8221;\u540e\uff0c\u7a33\u5b9a\u591a\u4e86\u3002<\/p>\n<p><strong>2. \u6587\u4ef6\u7cfb\u7edf\u6bd4 WebSocket \/ ZMQ \u66f4\u9002\u5408 subagent \u901a\u4fe1<\/strong><br \/>\n\u7f51\u4e0a\u5f88\u591a\u591a agent \u6846\u67b6\u559c\u6b22\u7528\u6d88\u606f\u961f\u5217\u3001\u5171\u4eab\u5185\u5b58\u4e4b\u7c7b\u7684&#8221;\u91cd\u6b66\u5668&#8221;\u3002\u5728 Claude Code \u73af\u5883\u4e0b\uff0csubagent \u4e4b\u95f4\u6ca1\u6709\u539f\u751f\u901a\u4fe1\uff0c\u4f46<strong>\u5b83\u4eec\u80fd\u8bfb\u5199\u540c\u4e00\u4e2a\u6587\u4ef6\u7cfb\u7edf<\/strong>\u3002<code>.swarm\/<\/code> \u76ee\u5f55\u5c31\u662f\u6211\u7684&#8221;\u56e2\u961f\u4f1a\u8bae\u5ba4&#8221;\u3002\u7b80\u5355\uff0c\u53ef\u89c2\u6d4b\uff0c\u53ef\u91cd\u653e\u3002<\/p>\n<p><strong>3. Swarm \u4e0d\u662f\u5bf9\u6240\u6709\u4efb\u52a1\u90fd\u52a0\u5206<\/strong><br \/>\n\u5bf9\u5355\u5175\u5168\u6808\u4efb\u52a1\uff08\u4e00\u4e2a\u4eba\u8981\u505a\u524d\u540e\u7aef\uff09\uff0c<code>TaskCreate<\/code> + <code>TaskUpdate<\/code> \u7684\u5f00\u9500\u53cd\u800c\u62d6\u6162\u8282\u594f\u3002\u6211\u73b0\u5728\u5728 prompt \u91cc\u52a0\u4e86&#8221;\u4efb\u52a1\u8d85\u8fc7 3 \u6b65\u624d\u7528 TaskCreate&#8221;\uff0c\u5c11\u4e86\u5f88\u591a\u566a\u97f3\u3002<\/p>\n<p><strong>4. \u8def\u5f84 bug \u66b4\u9732\u4e86\u4e00\u4e2a\u771f\u5b9e\u7684\u8bbe\u8ba1\u95ee\u9898<\/strong><br \/>\nagent &#8220;\u5e2e\u7528\u6237\u505a\u51b3\u5b9a&#8221;\u7684\u8fb9\u754c\u5728\u54ea\uff1f\u5f53 prompt \u6ca1\u6307\u5b9a\u8def\u5f84\u65f6\uff0cagent \u662f\u5e94\u8be5\u95ee\u3001\u8fd8\u662f\u5e94\u8be5\u9009\u4e00\u4e2a\u5408\u7406\u9ed8\u8ba4\u3001\u8fd8\u662f\u8be5\u62a5\u9519\uff1f\u6211\u73b0\u5728\u7684\u7b54\u6848\u662f\uff1a<strong>\u663e\u5f0f\u5931\u8d25\u80dc\u8fc7\u9ed8\u9ed8\u72af\u9519<\/strong>\u3002swarm \u7b2c\u4e09\u6b21\u8dd1\u52a0\u4e86\u8def\u5f84\u6821\u9a8c\uff0cagent \u5728 prompt \u542b\u7cca\u65f6\u4f1a\u5148 <code>pwd<\/code> \u7136\u540e\u786e\u8ba4\u3002<\/p>\n<p><strong>5. \u6700\u7ec8\u6700\u6709\u7528\u7684\u4e0d\u662f&#8221;\u667a\u80fd&#8221;\uff0c\u662f&#8221;\u793c\u8c8c&#8221;<\/strong><br \/>\n\u8fd9\u662f\u7ed9\u6211\u7684\u6700\u5927\u6559\u8bad\u3002\u4e00\u4e2a\u5bf9\u7528\u6237\u504f\u597d\u654f\u611f\uff08\u4e0d\u8981\u5f00\u573a\u767d\u3001\u4e0d\u8981 emoji\u3001\u4e0d\u8981 markdown \u5217\u8868\u91cc\u5939\u4ee3\u7801\uff09\u7684 agent\uff0c\u6bd4\u4e00\u4e2a\u806a\u660e\u7684 agent <strong>\u6bcf\u5929\u8282\u7701\u7684\u65f6\u95f4\u548c\u7cbe\u529b<\/strong>\u591a\u5f97\u591a\u3002\u793c\u8c8c\u662f\u4e2a 1% \u7684\u6539\u8fdb\uff0c\u4e58\u4ee5\u6bcf\u5929 50 \u4e2a\u4ea4\u4e92\uff0c<strong>\u7d2f\u79ef\u6548\u5e94\u5de8\u5927<\/strong>\u3002<\/p>\n<h2 id=\"_5\">\u8fd8\u5dee\u5f88\u8fdc\u7684\u5730\u65b9<\/h2>\n<p>\u8bda\u5b9e\u5730\u8bf4\u8bf4 swarm agent \u73b0\u5728\u8fd8\u6ca1\u89e3\u51b3\u7684\uff1a<\/p>\n<ul>\n<li><strong>\u8bb0\u5fc6\u68c0\u7d22\u662f\u7eaf\u6587\u672c grep<\/strong>\u3002\u5bf9\u4e8e\u4e0a\u767e\u6761 <code>core-memories<\/code> \u7684\u7528\u6237\u6765\u8bf4\u592a\u6162\u4e86\u3002\u9700\u8981 embedding \u6216 LLM-based \u68c0\u7d22\uff0c\u4f46\u8fd9\u53c8\u4f1a\u6d88\u8017 token<\/li>\n<li><strong>\u81ea\u6211\u8fdb\u5316\u7684 rollback<\/strong> \u6ca1\u6709\u505a\u3002\u5982\u679c\u4e00\u6b21\u9519\u8bef\u7684\u8fdb\u5316\u5408\u5e76\u8fdb\u53bb\u4e86\uff0c\u76ee\u524d\u9700\u8981\u624b\u52a8 revert<\/li>\n<li><strong>\u8de8\u9879\u76ee\u7684 agent \u8eab\u4efd\u4e00\u81f4<\/strong> \u2014 \u73b0\u5728\u6bcf\u4e2a\u9879\u76ee\u6709\u81ea\u5df1\u7684 <code>.remember\/<\/code>\uff0c\u6ca1\u6cd5\u8de8\u9879\u76ee\u5171\u4eab\u540c\u4e00\u4efd&#8221;\u4eba\u683c&#8221;<\/li>\n<li><strong>subagent \u4e4b\u95f4\u7684&#8221;\u4e0a\u4e0b\u6587\u4f20\u67d3&#8221;<\/strong> \u6ca1\u6709\u673a\u5236\u3002\u6bd4\u5982 Reviewer \u770b\u5230\u7684\u548c Writer \u770b\u5230\u7684\u4e0d\u4e00\u81f4\u65f6\uff0c\u76ee\u524d leader \u662f\u6700\u540e\u5408\u7a3f\u7684&#8221;\u552f\u4e00\u88c1\u5224&#8221;<\/li>\n<\/ul>\n<p>\u8fd9\u4e9b\u90fd\u6ca1\u89e3\u51b3\uff0c\u6bcf\u4e2a\u90fd\u662f\u4e00\u7bc7\u535a\u5ba2\u4e3b\u9898\u3002<\/p>\n<h2 id=\"_6\">\u5199\u5728\u6700\u540e<\/h2>\n<p>\u5982\u679c\u8bf4\u4e09\u4e2a\u793c\u62dc\u5b66\u5230\u4e86\u4e00\u4ef6\u4e8b\uff0c\u90a3\u5c31\u662f\uff1a<strong>\u8ba9 AI \u771f\u6b63\u7684&#8221;\u5de5\u5177\u5316&#8221;\uff0c\u6bd4&#8221;\u8ba9\u5b83\u66f4\u806a\u660e&#8221;\u91cd\u8981\u5f97\u591a<\/strong>\u3002<\/p>\n<p>\u806a\u660e\u5230\u80fd\u89e3 Leetcode Hard \u662f\u4e00\u56de\u4e8b\u3002\u80fd\u6bcf\u5929\u8282\u7701\u6211 10 \u5206\u949f\u7684\u8ba4\u77e5\u8d1f\u62c5\uff0c\u662f\u53e6\u4e00\u56de\u4e8b\u3002\u540e\u8005\u66f4\u96be\uff0c\u4f46\u56de\u62a5\u4e5f\u66f4\u5927\u3002<\/p>\n<p>\u5982\u679c\u4f60\u4e5f\u5728\u505a\u7c7b\u4f3c\u7684\u4e8b\u60c5\uff0c\u6b22\u8fce\u4ea4\u6d41\u3002\u65e0\u8bba\u662f\u626b\u4e00\u773c <code>swarm-agent<\/code> \u4ed3\u5e93\uff0c\u8fd8\u662f\u544a\u8bc9\u6211\u4f60\u9047\u5230\u7684\u540c\u6837\u56f0\u6270\u3002<\/p>\n<p>\u2014\u2014 wennroy<br \/>\n2026.08.10<\/p>\n<hr \/>\n<h2 id=\"_7\">\u9644\u5f55\uff1a\u51e0\u4e2a\u5177\u4f53\u6570\u5b57<\/h2>\n<p>\u5982\u679c\u4f60\u5bf9&#8221;\u5177\u4f53\u6295\u5165&#8221;\u611f\u5174\u8da3\uff1a<\/p>\n<ul>\n<li><strong>\u603b\u4ee3\u7801\u91cf<\/strong>\uff1a\u7ea6 1500 \u884c\uff08\u542b\u6ce8\u91ca\uff09\uff0c\u5206\u5e03\u5728 5 \u4e2a\u6838\u5fc3 md \u6587\u4ef6 + 2 \u4e2a python \u811a\u672c<\/li>\n<li><strong>demo \u603b\u6210\u672c<\/strong>\uff1a~$1.5\uff083 \u9636\u6bb5\u5b50\u4efb\u52a1\uff0cSonnet\uff09<\/li>\n<li><strong>\u5b9e\u9a8c\u5bf9\u6bd4\u6210\u672c<\/strong>\uff1a~$7 \/ 3 \u8f6e = $2.3 \u4e00\u8f6e\uff08\u6bcf\u6b21\u8dd1\u5168\u6808\u9879\u76ee\uff09<\/li>\n<li><strong>\u603b\u5b9e\u9a8c\u8017\u65f6<\/strong>\uff1a\u7ea6 28 \u5c0f\u65f6\uff08\u542b\u8c03\u8bd5\u3001\u88ab API \u4e2d\u65ad\u3001\u7b49\u5f85\uff09<\/li>\n<li><strong>\u78b0\u5230\u6700\u5927\u7684\u5916\u90e8 blocker<\/strong>\uff1aAnthropic API 502\uff08\u4e24\u6b21\uff09<\/li>\n<\/ul>\n<h2 id=\"_8\">\u76f8\u5173\u6587\u7ae0<\/h2>\n<ul>\n<li><a href=\"https:\/\/wennroy.com\/?p=666\">#666 HDBSCAN<\/a> \u2014 \u4e4b\u524d\u5199\u7684\u805a\u7c7b\u7b97\u6cd5\u4ecb\u7ecd<\/li>\n<li><a href=\"https:\/\/wennroy.com\/?p=657\">#657 Clustering is always Complicated<\/a> \u2014 \u805a\u7c7b\u7684\u672c\u8d28\u56f0\u96be<\/li>\n<li><a href=\"https:\/\/wennroy.com\/?p=685\">#685 l2 normalization vs Cosine Similarity<\/a> \u2014 \u5ea6\u91cf\u9009\u62e9\u7684\u5b9e\u8df5<\/li>\n<\/ul>\n<blockquote>\n<p>\u5982\u679c\u4e4b\u540e\u6709\u76f8\u5173\u66f4\u65b0\uff08\u7279\u522b\u662f\u8def\u5f84 bug \u7c7b\u7684\u4fee\u590d\uff09\uff0c\u6211\u4f1a\u56de\u6765\u66f4\u65b0\u8fd9\u4e2a post\u3002<\/p>\n<\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>\u4e09\u5468\u5b9e\u9a8c\u505a\u4e0b\u6765\uff0cswarm agent \u7684\u771f\u76f8\uff1a\u8def\u5f84 bug \u66b4\u9732\u7684\u662f agent \u5e2e\u7528\u6237\u505a\u51b3\u5b9a\u90a3\u6761\u8fb9\u754c\u5728\u54ea\u300260% \u5de5\u7a0b + 30% \u54c1\u5473 + 10% \u8fd0\u6c14\u3002<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[77],"tags":[78,79,81,80],"class_list":["post-770","post","type-post","status-publish","format-standard","hentry","category-agent","tag-agent","tag-claude-code","tag-retrospective","tag-swarm"],"_links":{"self":[{"href":"https:\/\/wennroy.com\/index.php\/wp-json\/wp\/v2\/posts\/770","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wennroy.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wennroy.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wennroy.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wennroy.com\/index.php\/wp-json\/wp\/v2\/comments?post=770"}],"version-history":[{"count":2,"href":"https:\/\/wennroy.com\/index.php\/wp-json\/wp\/v2\/posts\/770\/revisions"}],"predecessor-version":[{"id":772,"href":"https:\/\/wennroy.com\/index.php\/wp-json\/wp\/v2\/posts\/770\/revisions\/772"}],"wp:attachment":[{"href":"https:\/\/wennroy.com\/index.php\/wp-json\/wp\/v2\/media?parent=770"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wennroy.com\/index.php\/wp-json\/wp\/v2\/categories?post=770"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wennroy.com\/index.php\/wp-json\/wp\/v2\/tags?post=770"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}