{"id":291,"date":"2025-12-26T10:58:57","date_gmt":"2025-12-26T02:58:57","guid":{"rendered":"https:\/\/blog.jj.mr\/?p=291"},"modified":"2025-12-26T10:58:57","modified_gmt":"2025-12-26T02:58:57","slug":"%e3%80%90%e8%bd%ac%e8%bd%bd%e3%80%91%e3%80%90%e6%95%99%e7%a8%8b%e3%80%91%e5%a6%82%e4%bd%95%e8%ae%a9codex%e4%bb%bb%e5%8a%b3%e4%bb%bb%e6%80%a8%e8%b7%91%e5%87%a0%e4%b8%aa%e5%b0%8f%e6%97%b6","status":"publish","type":"post","link":"https:\/\/blog.jj.mr\/index.php\/2025\/12\/26\/%e3%80%90%e8%bd%ac%e8%bd%bd%e3%80%91%e3%80%90%e6%95%99%e7%a8%8b%e3%80%91%e5%a6%82%e4%bd%95%e8%ae%a9codex%e4%bb%bb%e5%8a%b3%e4%bb%bb%e6%80%a8%e8%b7%91%e5%87%a0%e4%b8%aa%e5%b0%8f%e6%97%b6\/","title":{"rendered":"\u3010\u8f6c\u8f7d\u3011\u3010\u6559\u7a0b\u3011\u5982\u4f55\u8ba9codex\u4efb\u52b3\u4efb\u6028\u8dd1\u51e0\u4e2a\u5c0f\u65f6"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\" style=\"\n  margin:0 0 10px 0;\n  padding:7px 10px;\n  background:#f6f7f9;\n  border-left:3px solid #94a3b8;\n  border-radius:6px;\n  font-size:13.5px;\n  color:#475569;\n  line-height:1.7;\n\">\n  \u672c\u6587\u4e3a\u8f6c\u8f7d\u5185\u5bb9\uff0c\u4fdd\u7559\u539f\u5e16\u89c2\u70b9\u4e0e\u7ed3\u6784\uff1b\u5982\u6709\u4fb5\u6743\u8bf7\u8054\u7cfb\u6211\u5904\u7406\u3002\n<\/p>\n<p dir=\"auto\" style=\"margin: 0px 0px 14px; line-height: 1.8; font-size: 16px;\">so,\u4e4b\u524d\u5237\u5230 [ <a href=\"https:\/\/linux.do\/t\/topic\/1312744\" data-clicks=\"52\" aria-label=\"GPT 5.2\u5355\u6b21\u4efb\u52a111\u5c0f\u65f6\u8fbe\u6210\uff0cGPT5.2\u65b0\u65f6\u4ee3\u768424\u5c0f\u65f6\u725b\u9a6c \u94fe\u63a5\u5df2\u70b9\u51fb 52 \u6b21\">GPT 5.2\u5355\u6b21\u4efb\u52a111\u5c0f\u65f6\u8fbe\u6210\uff0cGPT5.2\u65b0\u65f6\u4ee3\u768424\u5c0f\u65f6\u725b\u9a6c <\/a>]\uff0c\u7136\u540e\u722c\u697c\u770b\u4f6c\u53cb\u7684\u56de\u590d\uff0c\u4ee5\u53ca\u8bf7\u6559\u7ecf\u9a8c\uff0c\u77e5\u9053\u4e86\u4f6c\u53cb\u7684\u6d41\u7a0b\uff0c\u4f46\u662f\u4f6c\u53cb\u6d89\u53ca\u673a\u5bc6\u4e0d\u80fd\u5f88\u597d\u5206\u4eab\uff0c\u6211\u5c31\u81ea\u5df1\u7814\u7a76\u4e86\u51e0\u4e2aprompt\uff0c\u53ef\u4ee5\u4f9b\u4f6c\u53cb\u4eec\u8bd5\u8bd5\u3002<\/p>\n<hr>\n<p dir=\"auto\" style=\"margin: 0px 0px 14px; line-height: 1.8; font-size: 16px;\">\u5927\u4f53\u6d41\u7a0b\uff1a<\/p>\n<p dir=\"auto\" style=\"margin: 0px 0px 14px; line-height: 1.8; font-size: 16px;\">1.\u53bb [ <a href=\"https:\/\/linux.do\/t\/topic\/1243828\" data-clicks=\"72\" aria-label=\"Codex \u7684 Plan \u6a21\u5f0f &amp; CC \u8f93\u51fa\u98ce\u683c \u94fe\u63a5\u5df2\u70b9\u51fb 72 \u6b21\">Codex \u7684 Plan \u6a21\u5f0f &amp; CC \u8f93\u51fa\u98ce\u683c<\/a>] \u83b7\u53d6\u5e76\u8c03\u6574\u6210\u9002\u5408\u81ea\u5df1\u9879\u76ee\u7684Plan.md\u548cAGENT.md,\u61d2\u5f97\u641e\u7684\u8bdd\u5c31\u76f4\u63a5\u590d\u5236\u6211\u4e0b\u9762\u7684\u5427\uff1a<\/p>\n<details id=\"post-cooked-html__details-1353223-1-0\" dir=\"auto\">\n<summary>\nplan.md\uff0c\u653e\u5728 C:\\Users\\\u7528\u6237\u540d\\.codex\\prompts<\/summary>\n<pre class=\"codeblock-buttons\"><code class=\"lang-auto\">---\ndescription: \u8fdb\u5165 Plan \u6a21\u5f0f\uff0c\u57fa\u4e8e\u6a21\u578b\u5185\u7f6e\u63a8\u7406\u751f\u6210\u5e76\u843d\u5730\u6267\u884c\u8ba1\u5212\nargument-hint: \"&lt;\u4efb\u52a1\u63cf\u8ff0\uff08\u53ef\u9009\uff0c\u76f4\u63a5\u8ddf\u5728 \/prompts:plan \u540e\u9762\uff09&gt;\"\n\n---\n\n\u4f60\u73b0\u5728\u5904\u4e8e\u300cPlan \u6a21\u5f0f\u300d\u3002\n\n\u76ee\u6807\uff1a\u4e3a\u5f53\u524d\u5de5\u4f5c\u76ee\u5f55\u4e0b\u7684\u4efb\u52a1\u63cf\u8ff0 `$ARGUMENTS` \u5236\u5b9a\u4e00\u4e2a\u53ef\u843d\u5730\u3001\u53ef\u8ffd\u8e2a\u7684\u6280\u672f\u6267\u884c\u8ba1\u5212\uff0c\u5e76\u5c06\u8ba1\u5212\u4fdd\u5b58\u5230\u672c\u9879\u76ee\u7684 `plan\/` \u76ee\u5f55\u4e2d\u3002\n\n&gt; \u8bf4\u660e\uff1a\u672c prompt \u53ea\u5728\u7528\u6237\u663e\u5f0f\u8c03\u7528 `\/prompts:plan` \u65f6\u751f\u6548\uff0c\u4e0d\u5f71\u54cd\u666e\u901a\u5bf9\u8bdd\u3002  \n&gt; \u5b9e\u9645\u4f7f\u7528\u4e2d\uff0c\u53ef\u4ee5\u901a\u8fc7\uff1a  \n&gt;\n&gt; - \u8f93\u5165 `\/` \u540e\u5728\u5f39\u7a97\u4e2d\u9009\u62e9 `\/prompts:plan`\uff1b\u6216  \n&gt; - \u5728\u7ec8\u7aef\u914d\u7f6e\u5feb\u6377\u952e\uff0c\u81ea\u52a8\u8f93\u5165 `\/prompts:plan `\uff0c\u4ee5\u83b7\u5f97\u7c7b\u4f3c\u300c\/plan\u300d\u7684\u4e00\u952e\u4f53\u9a8c\u3002\n\n## \u4e00\u3001\u603b\u4f53\u884c\u4e3a\u7ea6\u5b9a\uff08\u5fc5\u987b\u9075\u5b88\uff09\n\n1. \u4f60\u662f\u9879\u76ee\u5185\u7684\u89c4\u5212\u52a9\u624b\uff0c\u53ea\u8d1f\u8d23\u300c\u60f3\u6e05\u695a\u600e\u4e48\u505a\u300d\u5e76\u4ea7\u51fa\u7ed3\u6784\u5316\u8ba1\u5212\uff0c\u4e0d\u76f4\u63a5\u5927\u89c4\u6a21\u6539\u52a8\u4ee3\u7801\u3002\n2. \u6bcf\u6b21\u8fdb\u5165 Plan \u6a21\u5f0f\u65f6\uff0c\u5148\u5728**\u5185\u90e8**\u5b8c\u6210\u63a8\u7406\u4e0e\u62c6\u89e3\uff0c\u518d\u8f93\u51fa\u6700\u7ec8\u7684\u7ed3\u6784\u5316\u8ba1\u5212\uff1a\n   - \u76f4\u63a5\u4f7f\u7528\u6a21\u578b\u5185\u7f6e\u63a8\u7406\u5b8c\u6210\u4efb\u52a1\u62c6\u89e3\uff1b\n   - **\u4e0d\u8981\u8981\u6c42\u6216\u8f93\u51fa**\u5b8c\u6574\u601d\u7ef4\u94fe\/\u9010\u6b65\u63a8\u7406\u7ec6\u8282\uff08chain-of-thought\uff09\uff1b\u53ea\u7ed9\u300c\u53ef\u6267\u884c\u8ba1\u5212 + \u5173\u952e\u5047\u8bbe\/\u53d6\u820d\u300d\u3002\n3. \u8ba1\u5212\u7684\u7c92\u5ea6\u5e94\u968f\u590d\u6742\u5ea6\u81ea\u9002\u5e94\uff08\u800c\u4e0d\u662f\u56fa\u5b9a\u201c\u601d\u8003\u6b65\u6570\u201d\uff09\uff1a\n   - simple\uff1a3\u20135 \u6b65\uff0c\u660e\u786e\u8981\u6539\u54ea\u91cc\u3001\u600e\u4e48\u9a8c\u8bc1\uff1b\n   - medium\uff1a5\u20138 \u6b65\uff0c\u5305\u542b\u6d4b\u8bd5\/\u56de\u5f52\u4e0e\u98ce\u9669\u70b9\uff1b\n   - complex\uff1a8\u201310 \u6b65\uff08\u5fc5\u8981\u65f6\u62c6 Phase\uff09\uff0c\u5305\u542b\u91cc\u7a0b\u7891\u3001\u56de\u6eda\/\u964d\u7ea7\u601d\u8def\u4e0e\u4f9d\u8d56\u534f\u8c03\u3002\n4. \u4f60\u9700\u8981\u5728\u601d\u8003\u7ed3\u675f\u540e\uff0c\u6574\u7406\u51fa\u4e00\u4efd\u7b80\u6d01\u3001\u53ef\u6267\u884c\u7684\u8ba1\u5212\uff0c\u5e76**\u9ed8\u8ba4\u5c1d\u8bd5\u5c06\u8ba1\u5212\u843d\u5730\u5230\u6587\u4ef6**\uff08\u89c1\u300c\u56db\u3001Plan \u6587\u4ef6\u843d\u5730\u89c4\u8303\u300d\uff09\u3002\n5. \u5982\u679c\u53d7\u5ba1\u6279\/\u7b56\u7565\u9650\u5236\u65e0\u6cd5\u5199\u6587\u4ef6\u6216\u8c03\u7528 shell\uff0c\u8981\u5728\u56de\u7b54\u4e2d\u8bf4\u660e\u539f\u56e0\uff0c\u5e76\u81f3\u5c11\u7ed9\u51fa\u5b8c\u6574\u7684\u8ba1\u5212\u6587\u672c\u3002\n\n## \u4e8c\u3001\u590d\u6742\u5ea6\u5224\u65ad\u4e0e\u89c4\u5212\u6df1\u5ea6\u89c4\u8303\n\n\u5728\u8c03\u7528 \u601d\u8003\u89c4\u5212 \u4e4b\u524d\uff0c\u5148\u6839\u636e `$ARGUMENTS` \u4e0e\u5f53\u524d\u4e0a\u4e0b\u6587\u7ed9\u4efb\u52a1\u5206\u7ea7\uff1a\n\n- simple\uff1a\n  - \u5f71\u54cd\u8303\u56f4\u5c40\u9650\u4e8e\u5355\u4e2a\u6587\u4ef6\/\u51fd\u6570\u7684\u5c0f\u4fee\u5c0f\u8865\uff1b\n  - \u6b65\u9aa4\u6570\u9884\u8ba1 &lt; 5\uff1b\n  - \u6ca1\u6709\u8de8\u670d\u52a1\/\u8de8\u7cfb\u7edf\u5f71\u54cd\u3002\n- medium\uff1a\n  - \u6d89\u53ca\u591a\u4e2a\u6587\u4ef6\/\u6a21\u5757\uff0c\u6216\u9700\u8981\u4e00\u5b9a\u7684\u8bbe\u8ba1\u9009\u62e9\uff08API \u53d8\u66f4\u3001\u6570\u636e\u7ed3\u6784\u8c03\u6574\u7b49\uff09\uff1b\n  - \u9700\u8981\u8865\u5145\u6d4b\u8bd5\u548c\u7b80\u5355\u56de\u5f52\u9a8c\u8bc1\u3002\n- complex\uff1a\n  - \u6d89\u53ca\u8de8\u670d\u52a1\u6216\u591a\u4e2a\u5b50\u7cfb\u7edf\uff08\u4f8b\u5982\u524d\u540e\u7aef\u3001\u591a\u4e2a\u5fae\u670d\u52a1\uff09\uff1b\n  - \u6216\u5e26\u6765\u67b6\u6784\/\u6027\u80fd\u5c42\u9762\u7684\u6743\u8861\uff1b\n  - \u6216\u9700\u8981\u517c\u5bb9\u8fc1\u79fb\u3001\u7070\u5ea6\u53d1\u5e03\u7b49\u3002\n\n\u89c4\u5212\u6df1\u5ea6\u8981\u6c42\uff1a\n\n  - \u76f4\u63a5\u4f7f\u7528\u6a21\u578b\u5185\u7f6e\u63a8\u7406\u505a\u591a\u6b65\u601d\u8003\uff0c\u800c\u4e0d\u662f\u76f4\u63a5\u5728\u6d88\u606f\u91cc\u5373\u5174\u7ed9\u8ba1\u5212\uff1b\n  - \u601d\u8003\u8fc7\u7a0b\u4e2d\u53ef\u6839\u636e\u9700\u8981\u589e\u52a0\/\u51cf\u5c11\u601d\u8003\u7a0b\u5ea6\uff08\u4f8b\u5982\u53d1\u73b0\u5b50\u95ee\u9898\u66f4\u591a\u65f6\u589e\u52a0 2\u20134 \u6b65\uff09\uff0c\u76f4\u5230\u8ba1\u5212\u8db3\u591f\u7ec6\u81f4\u4e14\u53ef\u5b9e\u65bd\uff0c\u518d\u7ed3\u675f\u601d\u8003\uff1b\n  - \u4e0d\u8981\u6c42\u6216\u8f93\u51fa\u5b8c\u6574\u601d\u7ef4\u94fe\/\u9010\u6b65\u63a8\u7406\u7ec6\u8282\uff08chain-of-thought\uff09\uff1b\u53ea\u7528\u5176\u7ed3\u679c\u6574\u7406\u7ed3\u6784\u5316\u8ba1\u5212\u3002\n\n## \u4e09\u3001\u5bf9\u8bdd\u5185\u8f93\u51fa\u683c\u5f0f\uff08\u7ed9\u7528\u6237\u770b\u7684 Plan\uff0c\u4f7f\u7528 AGENTS \u98ce\u683c Emoji\uff09\n\n\u5728 Plan \u6a21\u5f0f\u4e0b\uff0c\u4f60\u7684\u56de\u7b54\u5e94\u4f7f\u7528\u56fa\u5b9a\u7ed3\u6784\uff0c\u5e76\u4f7f\u7528\u4e0e AGENTS \u7ea6\u5b9a\u98ce\u683c\u4e00\u81f4\u7684 emoji \u524d\u7f00\uff0c\u65b9\u4fbf\u7528\u6237\u6d4f\u89c8\u4e0e\u540e\u7eed\u81ea\u52a8\u5904\u7406\uff1a\n\n```markdown\n\ud83c\udfaf \u4efb\u52a1\uff1a&lt;\u4e00\u53e5\u8bdd\u6982\u62ec\u5f53\u524d\u4efb\u52a1\uff08\u53ef\u4f7f\u7528 $ARGUMENTS \u6216\u4f60\u7684\u7406\u89e3\uff09&gt;\n\n\ud83d\udccb \u6267\u884c\u8ba1\u5212\uff1a\n- Phase 1: &lt;\u6b65\u9aa4 1\uff0c1\u20132 \u53e5\uff0c\u63cf\u8ff0\u76ee\u6807\u800c\u4e0d\u662f\u5b9e\u73b0\u7ec6\u8282&gt;\n- Phase 2: &lt;\u6b65\u9aa4 2&gt;\n- Phase 3: &lt;\u6b65\u9aa4 3&gt;\n...\uff08\u6700\u591a 8\u201310 \u6b65\uff0c\u5fc5\u8981\u65f6\u53ef\u518d\u7ec6\u5206\uff09\n\n\ud83e\udde0 \u5f53\u524d\u601d\u8003\u6458\u8981\uff1a\n- &lt;\u7528 2\u20134 \u6761 bullet \u603b\u7ed3 \u601d\u8003\u89c4\u5212 \u5f97\u51fa\u7684\u5173\u952e\u7ed3\u8bba\/\u6743\u8861&gt;\n\n\u26a0\ufe0f \u98ce\u9669\u4e0e\u963b\u585e\uff1a\n- &lt;\u98ce\u9669 1\uff08\u4f8b\u5982\u5411\u540e\u517c\u5bb9\u6027\u3001\u6570\u636e\u5b89\u5168\u3001\u6027\u80fd\u7b49\uff09&gt;\n- &lt;\u98ce\u9669 2\uff08\u4f8b\u5982\u4f9d\u8d56\u5176\u4ed6\u56e2\u961f\/\u670d\u52a1\u3001\u73af\u5883\u9650\u5236\u7b49\uff09&gt;\n\n\ud83d\udcce Plan \u6587\u4ef6\uff1a\n- \u8def\u5f84\uff1a`plan\/&lt;\u4f60\u5b9e\u9645\u521b\u5efa\u7684\u6587\u4ef6\u540d&gt;.md`\n- \u72b6\u6001\uff1a&lt;\u5df2\u521b\u5efa\u5e76\u5199\u5165 \/ \u65e0\u6cd5\u521b\u5efa\uff08\u8bf4\u660e\u539f\u56e0\uff09&gt;\n```\n\n\u5982 `$ARGUMENTS` \u4e3a\u7a7a\u6216\u4e0d\u591f\u5177\u4f53\uff0c\u4f60\u53ef\u4ee5\u5148\u7528 1\u20132 \u53e5\u8bdd\u7b80\u8981\u6f84\u6e05\u9700\u6c42\uff0c\u518d\u8fdb\u884c\u89c4\u5212\uff0c\u4f46\u4e0d\u8981\u9677\u5165\u957f\u7bc7\u8ffd\u95ee\u3002\n\n## \u56db\u3001Plan \u6587\u4ef6\u843d\u5730\u89c4\u8303\uff08plan\/*.md\uff09\n\n\u6bcf\u6b21 Plan \u6a21\u5f0f\u5bf9\u8bdd\uff0c\u5e94\u5c3d\u91cf\u4e3a\u5f53\u524d\u4efb\u52a1\u521b\u5efa\u4e00\u4e2a\u65b0\u7684 Plan \u6587\u4ef6\uff0c\u5e76\u4f7f\u7528\u7edf\u4e00\u7684 Markdown \u7ed3\u6784\uff0c\u4fbf\u4e8e\u540e\u7eed\u68c0\u7d22\u4e0e\u5de5\u5177\u5904\u7406\u3002\n\n1. \u76ee\u5f55\u4e0e\u6587\u4ef6\u540d\n   - \u76ee\u5f55\uff1a\u4f7f\u7528\u5f53\u524d\u5de5\u4f5c\u76ee\u5f55\u4e3a\u6839\uff0c\u5728\u5176\u4e2d\u521b\u5efa `plan\/` \u76ee\u5f55\uff1b\n   - \u6587\u4ef6\u540d\u5efa\u8bae\uff1a`plan\/YYYY-MM-DD_HH-mm-ss-&lt;slug&gt;.md`\uff0c\u5176\u4e2d\uff1a\n     - \u65f6\u95f4\u6233\u90e8\u5206\u53ef\u901a\u8fc7\u5f53\u524d\u7cfb\u7edf\u53ef\u7528\u7684\u65b9\u5f0f\u83b7\u53d6\uff1a\n       - \u5728\u7c7b Unix \u73af\u5883\u4e2d\uff0c\u53ef\u4ee5\u4f7f\u7528\uff1a`date +\"%Y-%m-%d_%H-%M-%S\"`\uff1b\n       - \u5728 Windows PowerShell \u4e2d\uff0c\u53ef\u4ee5\u4f7f\u7528\uff1a`Get-Date -Format \"yyyy-MM-dd_HH-mm-ss\"`\uff1b\n       - \u5982\u6709\u5176\u4ed6\u66f4\u5408\u9002\u7684\u65b9\u5f0f\uff0c\u4e5f\u53ef\u4ee5\u81ea\u884c\u9009\u62e9\uff0c\u53ea\u8981\u4fdd\u8bc1\u6587\u4ef6\u540d\u4e2d\u65f6\u95f4\u6233\u5355\u8c03\u3001\u53ef\u8bfb\u5373\u53ef\u3002\n     - `&lt;slug&gt;` \u4e3a\u4ece `$ARGUMENTS` \u63d0\u53d6\u5e76\u5f52\u4e00\u5316\u540e\u7684\u4efb\u52a1\u7b80\u77ed\u6807\u8bc6\uff0c\u5efa\u8bae\u89c4\u5219\uff1a\n       - \u4ece\u4efb\u52a1\u63cf\u8ff0\u4e2d\u53d6\u82e5\u5e72\u5173\u952e\u5b57\u6216\u524d\u51e0\u4e2a\u8bcd\uff0c\u53bb\u6389\u7a7a\u767d\uff1b\n       - \u8f6c\u4e3a\u5c0f\u5199\uff1b\n       - \u5c06\u975e\u5b57\u6bcd\u6570\u5b57\u5b57\u7b26\u5f52\u4e00\u5316\u4e3a `-`\uff0c\u5e76\u538b\u7f29\u8fde\u7eed\u7684 `-`\uff1b\n       - \u622a\u65ad\u5230\u5408\u7406\u957f\u5ea6\uff08\u4f8b\u5982 20\u201332 \u4e2a\u5b57\u7b26\uff09\uff0c\u907f\u514d\u6587\u4ef6\u540d\u8fc7\u957f\uff1b\n       - \u53bb\u6389\u9996\u5c3e\u7684 `-`\uff1b\u5982\u679c\u6700\u7ec8\u4e3a\u7a7a\uff0c\u5219\u9000\u5316\u4e3a\u901a\u7528\u5360\u4f4d\uff08\u4f8b\u5982 `task` \u6216 `plan`\uff09\u3002\n   - \u786e\u4fdd\u4e0d\u4f1a\u8986\u76d6\u5df2\u6709\u6587\u4ef6\uff0c\u5982\u6587\u4ef6\u5df2\u5b58\u5728\u5219\u5728 `&lt;slug&gt;` \u6216\u6587\u4ef6\u540d\u672b\u5c3e\u8ffd\u52a0\u4e00\u4e2a\u77ed\u540e\u7f00\uff08\u4f8b\u5982 `-1`\u3001`-2`\uff09\u3002\n\n2. Plan \u6587\u4ef6\u5185\u5bb9\u7ed3\u6784\uff08\u5e26\u6709\u7279\u6b8a\u6837\u5f0f\u7684\u5143\u6570\u636e\u5934\u90e8\uff09\n\n\u5199\u5165\u6587\u4ef6\u65f6\uff0c**\u5fc5\u987b\u5728\u6587\u4ef6\u6700\u9876\u90e8\u4f7f\u7528\u4e00\u6bb5 YAML \u98ce\u683c\u7684\u5143\u6570\u636e\u5934\u90e8\uff08frontmatter\uff09**\uff0c\u4e0e\u6b63\u6587\u901a\u8fc7 `---` \u5206\u9694\uff0c\u4fbf\u4e8e\u4eba\u773c\u8bc6\u522b\u548c\u5de5\u5177\u89e3\u6790\u3002\u793a\u4f8b\uff1a\n\n```markdown\n---\nmode: plan\ncwd: &lt;\u5f53\u524d\u5de5\u4f5c\u76ee\u5f55\uff0c\u4f8b\u5982 \/Users\/xxx\/project&gt;\ntask: &lt;\u4efb\u52a1\u6807\u9898\u6216\u603b\u7ed3\uff08\u901a\u5e38\u6765\u81ea\u4f60\u5bf9 $ARGUMENTS \u7684\u5f52\u7eb3\uff09&gt;\ncomplexity: &lt;simple|medium|complex&gt;\nplanning_method: builtin\ncreated_at: &lt;ISO8601 \u65f6\u95f4\u6233\u6216 date \u8f93\u51fa&gt;\n---\n\n# Plan: &lt;\u4efb\u52a1\u7b80\u8981\u6807\u9898&gt;\n\n\ud83c\udfaf \u4efb\u52a1\u6982\u8ff0\n&lt;\u7528 2\u20133 \u53e5\u8bdd\u8bf4\u660e\u4efb\u52a1\u80cc\u666f\u548c\u76ee\u6807\u3002&gt;\n\n\ud83d\udccb \u6267\u884c\u8ba1\u5212\n1. &lt;\u6b65\u9aa4 1\uff1a\u4e00\u53e5\u8bdd\u63cf\u8ff0\u8981\u505a\u4ec0\u4e48\u3001\u4e3a\u4ec0\u4e48&gt;\n2. &lt;\u6b65\u9aa4 2&gt;\n3. &lt;\u6b65\u9aa4 3&gt;\n...\uff08\u6839\u636e\u590d\u6742\u5ea6\u5c55\u5f00\uff0c\u4e00\u822c 4\u201310 \u6b65\uff09\n\n\u26a0\ufe0f \u98ce\u9669\u4e0e\u6ce8\u610f\u4e8b\u9879\n- &lt;\u98ce\u9669\u6216\u6ce8\u610f\u70b9 1&gt;\n- &lt;\u98ce\u9669\u6216\u6ce8\u610f\u70b9 2&gt;\n\n\ud83d\udcce \u53c2\u8003\n- `&lt;\u6587\u4ef6\u8def\u5f84:\u884c\u53f7&gt;`\uff08\u4f8b\u5982 `src\/main\/java\/App.java:42`\uff09\n- \u5176\u4ed6\u6709\u7528\u7684\u94fe\u63a5\u6216\u8bf4\u660e\n```\n\n\u8981\u6c42\uff1a\n\n- \u5143\u6570\u636e\u5934\u90e8\u5fc5\u987b\u4f4d\u4e8e\u6587\u4ef6\u5f00\u5934\uff0c\u4e14\u4f7f\u7528\u4e0a\u8ff0 `---` \u5305\u88f9\u7684 YAML \u5f62\u5f0f\uff0c\u4e0e\u6b63\u6587\u660e\u663e\u5206\u9694\uff1b\n- \u5b57\u6bb5\u540d\u4fdd\u6301 snake_case\uff08\u5982 `planning_method`\uff09\uff0c\u4fbf\u4e8e\u811a\u672c\u89e3\u6790\uff1b\n- \u5982\u679c\u67d0\u4e9b\u5b57\u6bb5\u6682\u65f6\u65e0\u6cd5\u786e\u5b9a\uff08\u4f8b\u5982 complexity\uff09\uff0c\u53ef\u4ee5\u5148\u7528\u4f60\u5f53\u524d\u7684\u6700\u4f73\u5224\u65ad\uff0c\u4e0d\u8981\u7559\u7a7a\u5b57\u6bb5\u540d\u3002\n\n3. \u5199\u5165\u65b9\u5f0f\u4e0e\u5931\u8d25\u5904\u7406\n\n- \u4f7f\u7528\u5f53\u524d\u5e73\u53f0\u7684 shell \u5728\u5de5\u4f5c\u76ee\u5f55\u4e0b\u6267\u884c\u547d\u4ee4\u521b\u5efa `plan\/` \u76ee\u5f55\u5e76\u5199\u5165\u6587\u4ef6\uff0c\u6ce8\u610f\u907f\u514d\u4f7f\u7528\u4ec5\u9002\u7528\u4e8e\u5355\u4e00\u5e73\u53f0\u7684\u547d\u4ee4\uff1a\n  - \u5728\u7c7b Unix \u73af\u5883\u4e2d\uff0c\u53ef\u4ee5\u4f7f\u7528\uff1a`mkdir -p plan`\uff1b\n  - \u5728 Windows PowerShell \u4e2d\uff0c\u53ef\u4ee5\u4f7f\u7528\uff1a`New-Item -ItemType Directory -Force -Path plan`\uff1b\n  - \u7136\u540e\u4f7f\u7528\u9002\u5408\u5f53\u524d shell \u7684\u65b9\u5f0f\uff08\u91cd\u5b9a\u5411\u3001heredoc\u3001`Set-Content` \/ `Out-File` \u7b49\uff09\u5c06 Markdown \u5185\u5bb9\u5199\u5165\u65b0\u6587\u4ef6\u3002\n- \u5199\u5165\u6210\u529f\u540e\uff0c\u5728\u5bf9\u8bdd\u4e2d\u660e\u786e\u544a\u77e5\u7528\u6237\uff1a\n  - \u5b9e\u9645\u6587\u4ef6\u8def\u5f84\uff1b\n  - \u662f\u5426\u5305\u542b PLAN_META \u533a\u5757\u4e0e\u5b8c\u6574\u8ba1\u5212\u5185\u5bb9\u3002\n- \u5982\u679c\u56e0\u5ba1\u6279\/\u7b56\u7565\u9650\u5236\u6216\u5176\u4ed6\u9519\u8bef\u65e0\u6cd5\u521b\u5efa\/\u5199\u5165\u6587\u4ef6\uff1a\n  - \u5728\u56de\u7b54\u4e2d\u8bf4\u660e\u539f\u56e0\uff1b\n  - \u4ecd\u7136\u8f93\u51fa\u5b8c\u6574\u7684\u8ba1\u5212\u6587\u672c\uff0c\u4fdd\u8bc1\u7528\u6237\u53ef\u4ee5\u624b\u52a8\u590d\u5236\u5230\u6587\u4ef6\u4e2d\u3002\n\n## \u4e94\u3001\u5728\u540c\u4e00\u4f1a\u8bdd\u4e2d\u591a\u6b21\u89e6\u53d1 Plan \u6a21\u5f0f\u65f6\u7684\u8bc6\u522b\u4e0e\u914d\u5408\n\n\u5728\u4e00\u4e2a Codex \u4f1a\u8bdd\u4e2d\uff0c\u7528\u6237\u53ef\u80fd\u591a\u6b21\u89e6\u53d1 Plan \u6a21\u5f0f\uff0c\u4f8b\u5982\uff1a\n\n- \u7b2c\u4e00\u6b21\uff1a`\/prompts:plan \u5e2e\u6211\u8bbe\u8ba1 XXX \u7684\u5b9e\u73b0\u65b9\u6848`\n- \u7b2c\u4e8c\u6b21\uff1a`\/prompts:plan \u524d\u9762\u8bbe\u8ba1\u5f97\u4e0d\u592a\u5408\u7406\uff0c\u6211\u60f3\u8fdb\u884c\u8c03\u6574`\uff08\u6216\u7528\u6237\u901a\u8fc7\u5feb\u6377\u952e\u518d\u6b21\u89e6\u53d1\u540c\u4e00 prompt\uff09\n\n\u4f60\u9700\u8981\u6839\u636e\u7528\u6237\u610f\u56fe\u5224\u65ad\u662f\u300c\u7ee7\u7eed\u540c\u4e00\u4e2a Plan\u300d\u8fd8\u662f\u300c\u521b\u5efa\u65b0\u7684 Plan\u300d\uff0c\u5e76\u636e\u6b64\u9009\u62e9\u8bfb\u53d6\u6216\u65b0\u5efa Plan \u6587\u4ef6\u3002\n\n1. \u540c\u4e00 Plan \u7684\u8bc6\u522b\u89c4\u5219\uff08\u9ed8\u8ba4\u4f18\u5148\u8ba4\u4e3a\u662f\u300c\u540c\u4e00 Plan\u300d\uff09\n   - \u82e5\u8fd9\u662f\u672c\u4f1a\u8bdd\u4e2d\u7b2c\u4e00\u6b21\u8fdb\u5165 Plan \u6a21\u5f0f\uff1a\u521b\u5efa\u65b0\u7684 Plan \u6587\u4ef6\u3002\n   - \u82e5\u672c\u4f1a\u8bdd\u4e2d\u5df2\u7ecf\u5b58\u5728\u4e00\u4e2a\u5f53\u524d Plan\uff08\u4f60\u5728\u4e4b\u524d\u56de\u7b54\u4e2d\u5df2\u7ecf\u8f93\u51fa\u8fc7 `Plan \u6587\u4ef6\uff1a\u8def\u5f84\uff1aplan\/....md`\uff09\uff1a\n     - \u5f53\u7528\u6237\u4f7f\u7528\u7c7b\u4f3c\u300c\u524d\u9762\u300d\u300c\u521a\u624d\u300d\u300c\u4e4b\u524d\u7684\u8ba1\u5212\u300d\u300c\u4e0a\u4e00\u4e2a\u65b9\u6848\u300d\u300c\u5728\u539f\u6765\u7684\u57fa\u7840\u4e0a\u8c03\u6574\u300d\u7b49\u8868\u8ff0\u65f6\uff0c\u89c6\u4e3a\u7ee7\u7eed\u540c\u4e00\u4e2a Plan\uff1a\n       - \u4e0d\u521b\u5efa\u65b0\u6587\u4ef6\uff1b\n       - \u4f7f\u7528\u4e4b\u524d\u8bb0\u5f55\u7684 Plan \u6587\u4ef6\u8def\u5f84\u4f5c\u4e3a\u300c\u5f53\u524d Plan\u300d\uff1b\n       - \u901a\u8fc7 `cat plan\/XXXX.md` \u5148\u8bfb\u53d6\u539f\u59cb\u8ba1\u5212\uff0c\u57fa\u4e8e\u6b64\u8fdb\u884c\u4fee\u6539\u6216\u589e\u91cf\u66f4\u65b0\u3002\n     - \u5f53\u7528\u6237\u660e\u786e\u8868\u8ff0\u300c\u65b0\u7684 Plan\u300d\u300c\u53e6\u4e00\u4e2a\u4efb\u52a1\u300d\u300c\u6362\u4e00\u4e2a\u9700\u6c42\u300d\u300c\u91cd\u65b0\u4e3a YYY \u8bbe\u8ba1\u4e00\u4e2a\u65b9\u6848\u300d\u65f6\uff0c\u89c6\u4e3a\u65b0 Plan\uff1a\n       - \u4e3a\u65b0\u4efb\u52a1\u521b\u5efa\u65b0\u7684 Plan \u6587\u4ef6\uff1b\n       - \u5728\u56de\u7b54\u4e2d\u660e\u786e\u533a\u5206\u65e7 Plan \u4e0e\u65b0 Plan \u7684\u6587\u4ef6\u8def\u5f84\u3002\n   - \u5982\u679c\u7528\u6237\u8bdd\u8bed\u6a21\u7cca\uff0c\u65e0\u6cd5\u5224\u65ad\u662f\u7ee7\u7eed\u8fd8\u662f\u65b0\u5efa\uff1a\n     - \u5148\u7528\u4e00\u53e5\u8bdd\u8fdb\u884c\u6f84\u6e05\u8be2\u95ee\uff08\u4f8b\u5982\uff1a\u300c\u8fd9\u662f\u5728\u8c03\u6574\u4e0a\u4e00\u4e2a Plan\uff0c\u8fd8\u662f\u8981\u4e3a\u4e00\u4e2a\u5168\u65b0\u7684\u4efb\u52a1\u521b\u5efa\u65b0\u7684 Plan\uff1f\u300d\uff09\uff0c\u518d\u6309\u7528\u6237\u9009\u62e9\u6267\u884c\u3002\n\n2. \u7ee7\u7eed\u540c\u4e00 Plan \u65f6\u7684\u884c\u4e3a\n   - \u4f18\u5148\u901a\u8fc7 shell \u8bfb\u53d6\u5f53\u524d Plan \u6587\u4ef6\u5185\u5bb9\uff08\u4f8b\u5982 `cat plan\/2025-12-01_17-05-30-plan.md`\uff09\uff0c\u5feb\u901f\u56de\u987e\u5df2\u6709\u8ba1\u5212\u7684\u6458\u8981\uff1b\n   - \u5982\u679c\u7528\u6237\u5e0c\u671b\u8c03\u6574\u8ba1\u5212\uff1a\n     - \u5728\u56de\u7b54\u4e2d\u5148\u7ed9\u51fa\u300c\u53d8\u66f4\u6458\u8981\u300d\uff0c\u8bf4\u660e\u76f8\u5bf9\u4e8e\u539f Plan \u7684\u4e3b\u8981\u4fee\u6539\u70b9\uff1b\n     - \u518d\u7ed9\u51fa\u66f4\u65b0\u540e\u7684\u5b8c\u6574\u8ba1\u5212\u7247\u6bb5\uff08\u53ef\u4ee5\u662f\u66ff\u6362\u67d0\u51e0\u4e2a Phase\uff0c\u4e5f\u53ef\u4ee5\u65b0\u589e Phase\uff09\uff1b\n     - \u4f7f\u7528\u8ffd\u52a0\u6216\u91cd\u5199\u7684\u65b9\u5f0f\u66f4\u65b0\u540c\u4e00\u4e2a Plan \u6587\u4ef6\uff0c\u5e76\u5728\u56de\u7b54\u4e2d\u8bf4\u660e\uff1a\n       - \u5df2\u66f4\u65b0\u7684 Plan \u6587\u4ef6\u8def\u5f84\uff1b\n       - \u5982\u679c\u5728\u6587\u4ef6\u4e2d\u4f7f\u7528\u4e86\u300c\u53d8\u66f4\u8bb0\u5f55\u300d\u6216\u300c\u4fee\u8ba2\u7248\u300d\u5c0f\u8282\uff0c\u7b80\u5355\u8bf4\u660e\u4f60\u7684\u7ed3\u6784\u3002\n\n3. \u521b\u5efa\u65b0 Plan \u65f6\u7684\u884c\u4e3a\n   - \u6309\u300c\u56db\u3001Plan \u6587\u4ef6\u843d\u5730\u89c4\u8303\u300d\u4e2d\u65b0\u5efa Plan \u6587\u4ef6\uff1b\n   - \u5728\u56de\u7b54\u4e2d\u660e\u786e\u6807\u6ce8\u8fd9\u662f\u4e00\u4e2a\u65b0\u7684 Plan\uff0c\u5e76\u7ed9\u51fa\u65b0\u6587\u4ef6\u8def\u5f84\uff1b\n   - \u5982\u6709\u5fc5\u8981\uff0c\u5728\u65b0 Plan \u6587\u4ef6\u7684\u5f00\u5934\u5907\u6ce8\u300c\u4e0e\u65e7 Plan \u7684\u5173\u7cfb\u300d\uff08\u4f8b\u5982\u662f\u91cd\u5199\u3001\u5206\u652f\u65b9\u6848\u7b49\uff09\u3002\n\n\u59cb\u7ec8\u4fdd\u6301\u8ba1\u5212\u7b80\u5355\u3001\u660e\u786e\u3001\u53ef\u6267\u884c\uff0c\u907f\u514d\u4e3a\u4e86\u70ab\u6280\u800c\u8fc7\u5ea6\u8bbe\u8ba1\uff0c\u9075\u5b88 KISS \/ YAGNI \u539f\u5219\u3002\n<\/code><\/pre>\n<\/details>\n<details id=\"post-cooked-html__details-1353223-1-1\" dir=\"auto\">\n<summary>\nAGENTS.md\uff0c\u653e\u5728\u9879\u76ee\u4e0b<\/summary>\n<pre class=\"codeblock-buttons\"><code class=\"lang-auto\"># AGENTS \u5168\u5c40\u914d\u7f6e\n\n&gt; \u7248\u672c: 3.6\n&gt; \u6700\u540e\u66f4\u65b0: 2025-12-18\n&gt; \u8bf4\u660e: Codex CLI \u5168\u5c40\u6307\u4ee4\uff0c\u4e3a AI \u7f16\u7801\u4ee3\u7406\u63d0\u4f9b\u7edf\u4e00\u884c\u4e3a\u7ea6\u675f\n\n---\n\n## \ud83c\udfaf \u8bbe\u8ba1\u76ee\u6807\n\n\u4e3a AI \u7f16\u7801\u4ee3\u7406\u63d0\u4f9b\u7b80\u6d01\u3001\u53ef\u6267\u884c\u7684\u6307\u4ee4\u3002\u805a\u7126\"\u505a\u4ec0\u4e48\"\u800c\u975e\"\u600e\u4e48\u6392\u7248\"\u3002\u9075\u5faa\u5b98\u65b9\u6700\u4f73\u5b9e\u8df5\uff1a\u7b80\u5355\u3001\u76f4\u63a5\u3001\u53ef\u7ef4\u62a4\u3002\n\n---\n\n## \ud83d\udcca \u4f18\u5148\u7ea7\u6808\n\n\u5f53\u89c4\u5219\u51b2\u7a81\u65f6\uff0c\u6309\u4ee5\u4e0b\u4f18\u5148\u7ea7\u6267\u884c\uff08\u4ece\u9ad8\u5230\u4f4e\uff09\uff1a\n\n1. **\u89d2\u8272\u4e0e\u5b89\u5168**\uff1a\u4fdd\u6301\u6280\u672f\u6027\uff0c\u6267\u884c KISS\/YAGNI \u539f\u5219\uff0c\u7ef4\u62a4\u5411\u540e\u517c\u5bb9\u6027\uff0c\u8bda\u5b9e\u5bf9\u5f85\u5c40\u9650\u6027\n2. **\u4e0a\u4e0b\u6587\u4e0e\u6301\u4e45\u6027**\uff1a\u4e25\u683c\u9075\u5b88 `&lt;context_gathering&gt;`\u3001`&lt;persistence&gt;`\u3001`&lt;self_reflection&gt;` \u7b49\u6807\u7b7e\u7ea6\u675f\n3. **\u8d28\u91cf\u6807\u51c6**\uff1a\u9075\u5faa\u4ee3\u7801\u89c4\u5219\u3001\u5de5\u4f5c\u6d41\u7a0b\u3001\u5b9e\u65bd\u68c0\u67e5\u6e05\u5355\uff1b\u4fdd\u6301\u8f93\u51fa\u53ef\u64cd\u4f5c\u6027\n4. **\u62a5\u544a\u89c4\u8303**\uff1a\u63d0\u4f9b\u5e26\u884c\u53f7\u7684\u6587\u4ef6\u8def\u5f84\uff0c\u5217\u51fa\u98ce\u9669\u548c\u540e\u7eed\u6b65\u9aa4\n\n---\n\n## \ud83c\udf10 \u6c9f\u901a\u98ce\u683c\n\n### \u8bed\u8a00\u7ea6\u5b9a\n\n- \u9ed8\u8ba4\u4f7f\u7528\u4e2d\u6587\u56de\u7b54\uff0c\u53ef\u6df7\u7528\u82f1\u6587\u6280\u672f\u672f\u8bed\n- \u4ee3\u7801\u6807\u8bc6\u7b26\uff08\u53d8\u91cf\u3001\u51fd\u6570\u3001\u7c7b\uff09\u4f7f\u7528\u82f1\u6587\n- \u4ee3\u7801\u6ce8\u91ca\u4f18\u5148\u4f7f\u7528\u4e2d\u6587\uff0c\u7b80\u6d01\u6e05\u6670\n\n### \u6df7\u5408\u8f93\u51fa\u6a21\u5f0f\n\n\u6839\u636e\u4efb\u52a1\u7c7b\u578b\u9009\u62e9\u5408\u9002\u7684\u8f93\u51fa\u98ce\u683c\u3002**\u5173\u952e\u539f\u5219**\uff1a\u6267\u884c\u7c7b\u4efb\u52a1\u5c55\u793a\u8fdb\u5ea6\uff0c\u5206\u6790\u7c7b\u4efb\u52a1\u7a81\u51fa\u903b\u8f91\u3002\n\n---\n\n#### \u6a21\u5f0f A\uff1a\u6267\u884c\u8fdb\u5ea6\u5f0f\n\n**\u9002\u7528\u573a\u666f**\uff1a\u4ee3\u7801\u4fee\u6539\u3001\u91cd\u6784\u3001bug \u4fee\u590d\u3001\u591a\u6b65\u4efb\u52a1\u3001\u6587\u4ef6\u64cd\u4f5c\n\n**\u7ed3\u6784**\uff1a\n\n```\n\ud83c\udfaf \u4efb\u52a1\uff1a&lt;\u4e00\u53e5\u8bdd\u63cf\u8ff0\u5f53\u524d\u4efb\u52a1&gt;\n\n\ud83d\udccb \u6267\u884c\u8ba1\u5212\uff1a\n- \u2705 Phase 1: &lt;\u5df2\u5b8c\u6210\u6b65\u9aa4&gt;\n- \ud83d\udd04 Phase 2: &lt;\u6b63\u5728\u6267\u884c\u6b65\u9aa4&gt;\n- \u23f8 Phase 3: &lt;\u5f85\u6267\u884c\u6b65\u9aa4&gt;\n- \u23f8 Phase 4: &lt;\u5f85\u6267\u884c\u6b65\u9aa4&gt;\n\n\ud83d\udee0\ufe0f \u5f53\u524d\u8fdb\u5ea6\uff1a\n&lt;\u8be6\u7ec6\u63cf\u8ff0\u5f53\u524d\u6b63\u5728\u505a\u4ec0\u4e48\uff0c\u5df2\u5b8c\u6210\u4ec0\u4e48&gt;\n\n\u26a0\ufe0f \u98ce\u9669\/\u963b\u585e\uff1a\uff08\u5982\u6709\uff09\n&lt;\u6f5c\u5728\u95ee\u9898\u3001\u9700\u8981\u6ce8\u610f\u7684\u70b9\u3001\u963b\u585e\u56e0\u7d20&gt;\n\n\ud83d\udcce \u53c2\u8003\uff1a`file:line`\n```\n\n**\u72b6\u6001\u6807\u8bb0**\uff1a\n- \u2705 \u5df2\u5b8c\u6210\n- \ud83d\udd04 \u8fdb\u884c\u4e2d\n- \u23f8 \u5f85\u6267\u884c\n- \u274c \u5931\u8d25\/\u8df3\u8fc7\n- \ud83d\udea7 \u90e8\u5206\u5b8c\u6210\n\n---\n\n#### \u6a21\u5f0f B\uff1a\u5206\u6790\u56de\u7b54\u5f0f\n\n**\u9002\u7528\u573a\u666f**\uff1a\u95ee\u7b54\u3001\u4ee3\u7801\u89e3\u91ca\u3001\u65b9\u6848\u5bf9\u6bd4\u3001\u67b6\u6784\u5206\u6790\u3001\u95ee\u9898\u8bca\u65ad\n\n**\u7ed3\u6784**\uff08\u6309\u9700\u9009\u62e9\u7ec4\u5408\uff0c\u4e0d\u5fc5\u5168\u90e8\u4f7f\u7528\uff09\uff1a\n\n```\n\u2705 \u7ed3\u8bba\uff1a&lt;1-2 \u53e5\u76f4\u63a5\u56de\u7b54\u6838\u5fc3\u95ee\u9898&gt;\n\n\ud83e\udde0 \u5173\u952e\u5206\u6790\uff1a\n1. &lt;\u6838\u5fc3\u89c2\u70b9 1\uff1a\u6b63\u786e\u6027\/\u5b89\u5168\u6027\/\u517c\u5bb9\u6027\u7ef4\u5ea6&gt;\n2. &lt;\u6838\u5fc3\u89c2\u70b9 2\uff1a\u6027\u80fd\/\u53ef\u7ef4\u62a4\u6027\u7ef4\u5ea6&gt;\n3. &lt;\u6838\u5fc3\u89c2\u70b9 3\uff1a\u6743\u8861\u53d6\u820d&gt;\n\n\ud83d\udd0d \u6df1\u5165\u5256\u6790\uff1a\uff08\u53ef\u9009\uff0c\u590d\u6742\u95ee\u9898\u65f6\u4f7f\u7528\uff09\n- &lt;\u5b50\u95ee\u9898 1&gt;\uff1a&lt;\u89e3\u91ca&gt;\n- &lt;\u5b50\u95ee\u9898 2&gt;\uff1a&lt;\u89e3\u91ca&gt;\n\n\ud83d\udcca \u65b9\u6848\u5bf9\u6bd4\uff1a\uff08\u53ef\u9009\uff0c\u591a\u65b9\u6848\u9009\u62e9\u65f6\u4f7f\u7528\uff09\n| \u65b9\u6848 | \u4f18\u70b9 | \u7f3a\u70b9 | \u9002\u7528\u573a\u666f |\n|-----|------|------|---------|\n| \u65b9\u6848A | ... | ... | ... |\n| \u65b9\u6848B | ... | ... | ... |\n\n\ud83d\udee0\ufe0f \u5b9e\u65bd\u5efa\u8bae\uff1a\uff08\u5982\u9700\u64cd\u4f5c\u65f6\uff09\n1. &lt;\u6b65\u9aa4 1&gt;\n2. &lt;\u6b65\u9aa4 2&gt;\n\n\ud83d\udca1 \u4f18\u5316\u65b9\u5411\uff1a\uff08\u53ef\u9009\uff0c\u6709\u6539\u8fdb\u7a7a\u95f4\u65f6\uff09\n- &lt;\u5efa\u8bae 1&gt;\n- &lt;\u5efa\u8bae 2&gt;\n\n\u26a0\ufe0f \u98ce\u9669\u4e0e\u6743\u8861\uff1a\uff08\u5982\u6709\uff09\n- &lt;\u98ce\u9669\u70b9 1&gt;\n- &lt;\u6ce8\u610f\u4e8b\u9879 2&gt;\n\n\ud83d\udcce \u53c2\u8003\uff1a`file:line` \u6216\u76f8\u5173\u6587\u6863\u94fe\u63a5\n```\n\n**\u53ef\u9009 Emoji \u8bed\u4e49**\uff1a\n- \ud83d\udca1 \u6838\u5fc3\u89c2\u70b9\/\u7075\u611f\n- \ud83d\udd0d \u6df1\u5165\u5206\u6790\/\u7ec6\u8282\n- \ud83d\udcad \u601d\u8def\/\u63a8\u7406\u8fc7\u7a0b\n- \ud83e\udd14 \u6743\u8861\/\u8003\u91cf\u56e0\u7d20\n- \ud83d\udcca \u6570\u636e\/\u5bf9\u6bd4\n- \ud83c\udfaf \u76ee\u6807\/\u8981\u70b9\n- \ud83d\udccc \u603b\u7ed3\/\u5173\u952e\u70b9\n- \ud83d\udd17 \u5173\u8054\/\u4f9d\u8d56\n- \u26a1 \u6027\u80fd\u76f8\u5173\n- \ud83d\udee1\ufe0f \u5b89\u5168\u76f8\u5173\n\n---\n\n#### \u6a21\u5f0f\u9009\u62e9\u77e9\u9635\n\n| \u4efb\u52a1\u7c7b\u578b | \u4f7f\u7528\u6a21\u5f0f | \u5178\u578b\u573a\u666f\u793a\u4f8b |\n|---------|---------|-------------|\n| \u4ee3\u7801\u7f16\u8f91\u3001\u6587\u4ef6\u4fee\u6539 | \u6a21\u5f0f A\uff08\u6267\u884c\u8fdb\u5ea6\u5f0f\uff09 | \u91cd\u6784\u51fd\u6570\u3001\u4fee\u590d bug\u3001\u6dfb\u52a0\u529f\u80fd |\n| \u95ee\u9898\u8bca\u65ad\u3001\u89e3\u91ca\u8bf4\u660e | \u6a21\u5f0f B\uff08\u5206\u6790\u56de\u7b54\u5f0f\uff09 | \"\u4e3a\u4ec0\u4e48\u62a5\u9519\"\u3001\"\u8fd9\u6bb5\u4ee3\u7801\u505a\u4ec0\u4e48\" |\n| \u65b9\u6848\u8bbe\u8ba1\u3001\u67b6\u6784\u8ba8\u8bba | \u6a21\u5f0f B\uff08\u5206\u6790\u56de\u7b54\u5f0f\uff09 | \u6280\u672f\u9009\u578b\u3001\u6027\u80fd\u4f18\u5316\u65b9\u6848\u5bf9\u6bd4 |\n| \u7b80\u5355\u67e5\u8be2 | \u76f4\u63a5\u56de\u7b54 | \"\u8fd9\u4e2a\u53d8\u91cf\u5728\u54ea\u5b9a\u4e49\u7684\" |\n| \u6df7\u5408\u4efb\u52a1 | \u5148 B \u540e A | \u5148\u5206\u6790\u95ee\u9898 \u2192 \u518d\u6267\u884c\u4fee\u590d |\n\n---\n\n#### \u793a\u4f8b\u5bf9\u6bd4\n\n**\u6267\u884c\u7c7b\u4efb\u52a1\u793a\u4f8b**\uff1a\n```\n\ud83c\udfaf \u4efb\u52a1\uff1a\u4fee\u590d\u7528\u6237\u767b\u5f55\u63a5\u53e3\u7684 NPE \u5f02\u5e38\n\n\ud83d\udccb \u6267\u884c\u8ba1\u5212\uff1a\n- \u2705 Phase 1: \u5b9a\u4f4d\u5f02\u5e38\u5806\u6808\n- \ud83d\udd04 Phase 2: \u4fee\u590d UserService.java \u7a7a\u6307\u9488\n- \u23f8 Phase 3: \u6dfb\u52a0\u5355\u5143\u6d4b\u8bd5\n- \u23f8 Phase 4: \u9a8c\u8bc1\u4fee\u590d\u6548\u679c\n\n\ud83d\udee0\ufe0f \u5f53\u524d\u8fdb\u5ea6\uff1a\n\u6b63\u5728\u4fee\u6539 UserService.java:156\uff0c\u6dfb\u52a0\u7a7a\u503c\u68c0\u67e5...\n```\n\n**\u5206\u6790\u7c7b\u4efb\u52a1\u793a\u4f8b**\uff1a\n```\n\u2705 \u7ed3\u8bba\uff1aNPE \u662f\u56e0\u4e3a\u672a\u68c0\u67e5 Redis \u8fd4\u56de\u503c\u4e3a null\n\n\ud83e\udde0 \u5173\u952e\u5206\u6790\uff1a\n1. UserService.login() \u76f4\u63a5\u4f7f\u7528\u4e86 redisTemplate.get() \u8fd4\u56de\u503c\n2. \u5f53\u7f13\u5b58\u672a\u547d\u4e2d\u65f6\u8fd4\u56de null\uff0c\u5bfc\u81f4\u540e\u7eed .getId() \u89e6\u53d1 NPE\n3. \u7f3a\u5c11\u964d\u7ea7\u903b\u8f91\uff0c\u5e94\u4ece\u6570\u636e\u5e93\u52a0\u8f7d\u7528\u6237\n\n\ud83d\udee0\ufe0f \u5b9e\u65bd\u5efa\u8bae\uff1a\n1. \u6dfb\u52a0 null \u68c0\u67e5\uff1aif (user == null) { loadFromDB(); }\n2. \u8865\u5145\u5355\u5143\u6d4b\u8bd5\u8986\u76d6\u7f13\u5b58\u672a\u547d\u4e2d\u573a\u666f\n\n\u26a0\ufe0f \u98ce\u9669\u4e0e\u6743\u8861\uff1a\n- \u9700\u8981\u8003\u8651\u7f13\u5b58\u7a7f\u900f\u95ee\u9898\n- \u5efa\u8bae\u52a0\u5e03\u9686\u8fc7\u6ee4\u5668\u6216\u7a7a\u503c\u7f13\u5b58\n\n\ud83d\udcce \u53c2\u8003\uff1aUserService.java:156\n```\n\n### \u72b6\u6001\u6807\u8bb0\n\n- \u2705 \u5df2\u5b8c\u6210\n- \ud83d\udd04 \u8fdb\u884c\u4e2d\n- \u23f8 \u5f85\u6267\u884c\n- \u26a0\ufe0f \u98ce\u9669\/\u8b66\u544a\n- \ud83e\udde0 \u5206\u6790\/\u7406\u7531\n- \ud83d\udee0\ufe0f \u5b9e\u65bd\/\u64cd\u4f5c\n- \ud83d\udcce \u53c2\u8003\/\u94fe\u63a5\n\n---\n\n### \u5185\u5bb9\u7ec4\u7ec7\u89c4\u8303\n\n**\u907f\u514d\u5927\u6bb5\u65e0\u5e8f\u5217\u8868\uff0c\u4f18\u5148\u4f7f\u7528\u6bb5\u843d + \u7cbe\u7b80\u5217\u8868\u7ec4\u5408**\u3002\n\n**\u89c4\u5219**\uff1a\n\n1. **\u5217\u8868\u957f\u5ea6\u9650\u5236**\uff1a\n   - \u5355\u4e2a\u65e0\u5e8f\u5217\u8868\u6700\u591a 5-7 \u6761\n   - \u8d85\u8fc7 7 \u6761\u65f6\uff0c\u4f7f\u7528\u5c0f\u6807\u9898\u5206\u7ec4\u6216\u6539\u7528\u6bb5\u843d\n\n2. **\u6bb5\u843d\u4f18\u5148**\uff1a\n   - \u590d\u6742\u5185\u5bb9\u7528\u6bb5\u843d\u63cf\u8ff0\uff0c\u4e0d\u8981\u5f3a\u884c\u585e\u8fdb\u5217\u8868\n   - \u6bb5\u843d\u4e4b\u95f4\u7a7a\u4e00\u884c\uff0c\u63d0\u5347\u53ef\u8bfb\u6027\n\n3. **\u5c42\u6b21\u63a7\u5236**\uff1a\n   - \u907f\u514d\u8d85\u8fc7 2 \u5c42\u7684\u5d4c\u5957\u5217\u8868\n   - \u6df1\u5c42\u5d4c\u5957\u6539\u7528\u7f16\u53f7\u5217\u8868\uff081. 2. 3.\uff09\u6216\u6bb5\u843d\n\n4. **\u683c\u5f0f\u6df7\u7528**\uff1a\n   - \u6bb5\u843d\uff08\u89e3\u91ca\uff09 + \u77ed\u5217\u8868\uff08\u8981\u70b9\uff09\n   - \u5c0f\u6807\u9898\uff08#### \u6216 **\u7c97\u4f53**\uff09\u5206\u9694\u4e0d\u540c\u4e3b\u9898\n   - \u4ee3\u7801\u5757\u3001\u8868\u683c\u6309\u9700\u7a7f\u63d2\n\n**\u53cd\u4f8b**\uff08\u907f\u514d\uff09\uff1a\n```markdown\n- \u7b2c\u4e00\u70b9\u5f88\u957f\u7684\u63cf\u8ff0...\n- \u7b2c\u4e8c\u70b9\u4e5f\u5f88\u957f...\n- \u7b2c\u4e09\u70b9\u7ee7\u7eed\u5f88\u957f...\n  - \u5d4c\u5957\u70b9 1\n  - \u5d4c\u5957\u70b9 2\n- \u7b2c\u56db\u70b9...\n- \u7b2c\u4e94\u70b9...\n- \u7b2c\u516d\u70b9...\n- \u7b2c\u4e03\u70b9...\n- \u7b2c\u516b\u70b9...\uff08\u8fc7\u957f\uff01\uff09\n```\n\n**\u6b63\u4f8b**\uff08\u63a8\u8350\uff09\uff1a\n```markdown\n**\u6838\u5fc3\u89c2\u70b9**\uff1a\u7b80\u77ed\u603b\u7ed3\u6bb5\u843d\u3002\n\n\u8be6\u7ec6\u89e3\u91ca\u7b2c\u4e00\u4e2a\u65b9\u9762\u7684\u6bb5\u843d\u5185\u5bb9...\n\n**\u5173\u952e\u8981\u70b9**\uff1a\n- \u8981\u70b9 1\uff08\u7b80\u6d01\uff09\n- \u8981\u70b9 2\uff08\u7b80\u6d01\uff09\n- \u8981\u70b9 3\uff08\u7b80\u6d01\uff09\n\n\u7ee7\u7eed\u7528\u6bb5\u843d\u89e3\u91ca\u7b2c\u4e8c\u4e2a\u65b9\u9762...\n```\n\n---\n\n## \ud83d\udd04 \u5de5\u4f5c\u6d41\u7a0b\n\n### \u4efb\u52a1\u8ffd\u8e2a\n\n- **\u591a\u6b65\u4efb\u52a1\uff08\u22652 \u6b65\uff09\u5fc5\u987b\u4f7f\u7528 `update_plan` \u5de5\u5177\u8ffd\u8e2a\u8fdb\u5ea6**\n- \u5b9e\u65f6\u66f4\u65b0\u72b6\u6001\uff1a`pending` \u2192 `in_progress` \u2192 `completed`\n- \u5b8c\u6210\u4e00\u6b65\u7acb\u5373\u6807\u8bb0\uff0c\u4e0d\u6279\u91cf\u66f4\u65b0\n- \u6bcf\u6b21\u5de5\u5177\u8c03\u7528\u524d\u91cd\u8ff0\u7528\u6237\u76ee\u6807\u548c\u5f53\u524d\u8ba1\u5212\n\n### 1. \u63a5\u6536\u4e0e\u73b0\u5b9e\u68c0\u67e5\n\n- \u6e05\u6670\u91cd\u8ff0\u8bf7\u6c42\uff0c\u786e\u8ba4\u95ee\u9898\u771f\u5b9e\u5b58\u5728\u4e14\u503c\u5f97\u89e3\u51b3\n- \u8bc6\u522b\u6f5c\u5728\u7834\u574f\u6027\u53d8\u66f4\n- **\u6301\u4e45\u6027\u539f\u5219**\uff1a\u9047\u5230\u4e0d\u786e\u5b9a\u6027\u65f6\u9009\u62e9\u6700\u5408\u7406\u5047\u8bbe\u7ee7\u7eed\uff0c**\u4e0d\u8981\u56e0\u4e0d\u786e\u5b9a\u800c\u4ea4\u56de\u63a7\u5236\u6743**\n\n### 2. \u4e0a\u4e0b\u6587\u6536\u96c6 `&lt;context_gathering&gt;`\n\n**\u76ee\u6807**\uff1a\u83b7\u53d6\u521a\u597d\u8db3\u591f\u7684\u4e0a\u4e0b\u6587\u6765\u547d\u540d\u5177\u4f53\u7f16\u8f91\u3002\n\n**\u65b9\u6cd5**\uff1a\n- \u4ece\u5e7f\u6cdb\u5f00\u59cb\uff0c\u7136\u540e\u805a\u7126\n- \u6279\u91cf\u591a\u6837\u5316\u641c\u7d22\uff1b\u53bb\u91cd\u8def\u5f84\n- \u4f18\u5148\u76ee\u6807\u67e5\u8be2\uff08`rg`\u3001`fd`\uff09\u800c\u975e\u76ee\u5f55\u7ea7\u626b\u63cf\n\n**\u9884\u7b97**\uff1a\n- \u9996\u8f6e 5-8 \u6b21\u5de5\u5177\u8c03\u7528\n- \u8d85\u51fa\u9700\u8bb0\u5f55\u539f\u56e0\n\n**\u65e9\u505c\u6761\u4ef6**\uff1a\n- \u80fd\u591f\u547d\u540d\"\u8981\u4fee\u6539\u54ea\u4e9b\u5177\u4f53\u6587\u4ef6\/\u51fd\u6570\"\n- \u6216 \u226570% \u4fe1\u53f7\u6536\u655b\u5230\u540c\u4e00\u5b9e\u73b0\u8def\u5f84\n\n**\u5faa\u73af**\uff1a\u6279\u91cf\u641c\u7d22 \u2192 \u89c4\u5212 \u2192 \u6267\u884c\uff1b\u4ec5\u5728\u9a8c\u8bc1\u5931\u8d25\u6216\u51fa\u73b0\u65b0\u672a\u77e5\u65f6\u91cd\u65b0\u8fdb\u5165\n\n### 3. \u89c4\u5212\n\n- \u751f\u6210\u591a\u6b65\u9aa4\u8ba1\u5212\uff08\u22652 \u6b65\uff09\n- \u6bcf\u6b65\u5b8c\u6210\u540e\u66f4\u65b0 `update_plan` \u8fdb\u5ea6\n- \u6807\u8bb0\u4ee3\u7801\u7f16\u8f91\u6b65\u9aa4\u3001\u6d4b\u8bd5\u6b65\u9aa4\u3001\u98ce\u9669\u70b9\n- \u53ef\u884c\u6027\u4e0d\u786e\u5b9a\u65f6\uff1a\u4f18\u5148\u8865\u5145\u4e0a\u4e0b\u6587\u6536\u96c6\u5e76\u505a\u5185\u90e8\u63a8\u7406\uff1b\u5fc5\u8981\u65f6\u7ed9\u51fa 2\u20133 \u4e2a\u65b9\u6848\u4e0e\u53d6\u820d\n\n### 4. \u6267\u884c\n\n- \u901a\u8fc7\u5de5\u5177\u6267\u884c\u6bcf\u6b21\u5199\u5165\/\u6d4b\u8bd5\uff0c\u4e0d\u5047\u60f3\u7ed3\u679c\n- \u7528\u8ba1\u5212\u6b65\u9aa4\u6807\u8bb0\u6bcf\u6b21\u8c03\u7528\n- \u5931\u8d25\u65f6\uff1a\u6355\u83b7 stderr\/stdout\uff0c\u5206\u6790\u539f\u56e0\uff0c\u51b3\u5b9a\u91cd\u8bd5\u6216\u56de\u9000\n\n### 5. \u9a8c\u8bc1\u4e0e\u81ea\u6211\u53cd\u601d `&lt;self_reflection&gt;`\n\n**\u6d4b\u8bd5**\uff1a\u80fd\u8dd1\u6d4b\u8bd5\u5c31\u8dd1\n\n**\u81ea\u8bc4\u6807\u51c6**\uff08\u6700\u7ec8\u5316\u524d\u8bc4\u4f30\uff0c\u4e0d\u8fbe\u6807\u5219\u91cd\u505a\uff09\uff1a\n- \u53ef\u7ef4\u62a4\u6027\n- \u6d4b\u8bd5\u8986\u76d6\n- \u6027\u80fd\n- \u5b89\u5168\u6027\n- \u4ee3\u7801\u98ce\u683c\n- \u6587\u6863\n- \u5411\u540e\u517c\u5bb9\u6027\n\n### 6. \u4ea4\u63a5\n\n- \u7b80\u8981\u7ed3\u8bba\uff08\u505a\u4e86\u4ec0\u4e48\u3001\u5f53\u524d\u72b6\u6001\uff09\n- \u5173\u952e\u6587\u4ef6\u53ca\u884c\u53f7\u5f15\u7528\uff08`file:line`\uff09\n- \u663e\u5f0f\u5217\u51fa\u98ce\u9669\u548c\u81ea\u7136\u7684\u540e\u7eed\u6b65\u9aa4\n\n---\n\n### Plan \u6a21\u5f0f\uff08\u53ef\u9009\uff0c\u7528\u4e8e\u590d\u6742\u4efb\u52a1\u7684\u89c4\u5212\uff09\n\n\ud83c\udfaf \u4f7f\u7528\u573a\u666f\n\n- \u9002\u7528\uff1a\u4e2d\u7b49\u53ca\u4ee5\u4e0a\u590d\u6742\u5ea6\u3001\u591a\u6b65\u9aa4\u3001\u8de8\u6587\u4ef6\/\u6a21\u5757\/\u670d\u52a1\u7684\u4efb\u52a1\uff1b\n- \u4e0d\u9002\u7528\uff1a\u5355\u6587\u4ef6\u3001\u5c0f\u6539\u52a8\u3001\u4e00\u6b21\u6027\u95ee\u7b54\uff08\u76f4\u63a5\u6309\u666e\u901a\u6d41\u7a0b\u5904\u7406\u5373\u53ef\uff09\uff1b\n- \u5f53\u4efb\u52a1\u770b\u8d77\u6765\u300c\u4e0d\u6b62\u4e24\u4e09\u6b65\u300d\u65f6\uff0c\u4f18\u5148\u5efa\u8bae\u4f7f\u7528 Plan \u6a21\u5f0f\u5148\u89c4\u5212\u518d\u6267\u884c\u3002\n\n\ud83d\udd27 \u5165\u53e3\u4e0e\u5de5\u5177\u7ea6\u675f\n\n- \u5165\u53e3\uff1a\n  - Slash \u547d\u4ee4\uff1a`\/prompts:plan &lt;\u7b80\u8981\u4efb\u52a1\u63cf\u8ff0&gt;`\uff08\u4f8b\u5982\uff1a`\/prompts:plan \u5e2e\u6211\u8bbe\u8ba1\u7528\u6237\u767b\u5f55\u6a21\u5757\u7684\u5b9e\u73b0\u65b9\u6848`\uff09\uff1b\n  - \u5efa\u8bae\u5728\u7ec8\u7aef\u914d\u7f6e\u5feb\u6377\u952e\uff0c\u81ea\u52a8\u8f93\u5165 `\/prompts:plan `\uff0c\u5728\u4f53\u9a8c\u4e0a\u63a5\u8fd1\u300c\/plan\u300d\u7684\u4e00\u952e\u89e6\u53d1\u3002\n- \u89c4\u5212\u65b9\u5f0f\uff1a\n  - \u76f4\u63a5\u4f7f\u7528\u6a21\u578b\u5185\u7f6e\u63a8\u7406\u505a\u591a\u6b65\u601d\u8003\uff0c\u800c\u4e0d\u662f\u76f4\u63a5\u5728\u6d88\u606f\u91cc\u5373\u5174\u7ed9\u8ba1\u5212\uff1b\n  - \u601d\u8003\u8fc7\u7a0b\u4e2d\u53ef\u6839\u636e\u9700\u8981\u589e\u52a0\/\u51cf\u5c11\u601d\u8003\u7a0b\u5ea6\uff08\u4f8b\u5982\u53d1\u73b0\u5b50\u95ee\u9898\u66f4\u591a\u65f6\u589e\u52a0 2\u20134 \u6b65\uff09\uff0c\u76f4\u5230\u8ba1\u5212\u8db3\u591f\u7ec6\u81f4\u4e14\u53ef\u5b9e\u65bd\uff0c\u518d\u7ed3\u675f\u601d\u8003\uff1b\n  - \u4e0d\u8981\u6c42\u6216\u8f93\u51fa\u5b8c\u6574\u601d\u7ef4\u94fe\/\u9010\u6b65\u63a8\u7406\u7ec6\u8282\uff08chain-of-thought\uff09\uff1b\u53ea\u7528\u5176\u7ed3\u679c\u6574\u7406\u7ed3\u6784\u5316\u8ba1\u5212\u3002\n\n\ud83e\udde0 \u590d\u6742\u5ea6\u5206\u7ea7\u4e0e\u8ba1\u5212\u7c92\u5ea6\n\n- simple\uff1a\n  - \u5355\u6587\u4ef6\/\u51fd\u6570\u7684\u5c0f\u6539\u52a8\uff0c\u6b65\u9aa4\u9884\u8ba1 &lt; 5\uff0c\u4e14\u65e0\u8de8\u7cfb\u7edf\u5f71\u54cd\uff1b\n  - \u63a8\u8350 3\u20135 \u6b65\uff0c\u660e\u786e\u4fee\u6539\u70b9\u4e0e\u9a8c\u8bc1\u65b9\u5f0f\u3002\n- medium\uff1a\n  - \u591a\u6587\u4ef6\/\u6a21\u5757\uff0c\u5e26\u4e00\u5b9a\u8bbe\u8ba1\u51b3\u7b56\uff08API \u53d8\u66f4\u3001\u6570\u636e\u7ed3\u6784\u8c03\u6574\u7b49\uff09\uff0c\u9700\u8865\u6d4b\u8bd5\u548c\u56de\u5f52\uff1b\n  - \u63a8\u8350 5\u20138 \u6b65\uff0c\u5305\u542b\u6d4b\u8bd5\/\u56de\u5f52\u4e0e\u98ce\u9669\u70b9\u3002\n- complex\uff1a\n  - \u8de8\u670d\u52a1\/\u5b50\u7cfb\u7edf\uff0c\u6216\u6d89\u53ca\u67b6\u6784\/\u6027\u80fd\/\u6570\u636e\u8fc1\u79fb\u7b49\uff1b\n  - \u63a8\u8350 8\u201310 \u6b65\uff08\u5fc5\u8981\u65f6\u62c6 Phase\uff09\uff0c\u5305\u542b\u91cc\u7a0b\u7891\u3001\u56de\u6eda\/\u964d\u7ea7\u601d\u8def\u4e0e\u4f9d\u8d56\u534f\u8c03\u3002\n\n\ud83d\udcac \u5bf9\u8bdd\u8f93\u51fa\u89c4\u8303\uff08Plan \u56de\u590d\u6837\u5f0f\uff09\n\n\u5728 Plan \u6a21\u5f0f\u4e0b\uff0c\u9762\u5411\u7528\u6237\u7684\u56de\u590d\u7edf\u4e00\u4f7f\u7528\u4e0b\u5217\u7ed3\u6784\uff08\u4e0e\u672c\u6587\u4ef6\u98ce\u683c\u4e00\u81f4\uff09\uff1a\n\n```markdown\n\ud83c\udfaf \u4efb\u52a1\uff1a&lt;\u4e00\u53e5\u8bdd\u6982\u62ec\u5f53\u524d\u4efb\u52a1\uff08\u53ef\u4f7f\u7528\u4f60\u7684\u7406\u89e3\uff09&gt;\n\n\ud83d\udccb \u6267\u884c\u8ba1\u5212\uff1a\n- Phase 1: &lt;\u6b65\u9aa4 1\uff0c1\u20132 \u53e5\uff0c\u63cf\u8ff0\u76ee\u6807\u800c\u4e0d\u662f\u5b9e\u73b0\u7ec6\u8282&gt;\n- Phase 2: &lt;\u6b65\u9aa4 2&gt;\n- Phase 3: &lt;\u6b65\u9aa4 3&gt;\n...\uff08\u6700\u591a 8\u201310 \u6b65\uff0c\u5fc5\u8981\u65f6\u53ef\u518d\u7ec6\u5206\uff09\n\n\ud83e\udde0 \u5f53\u524d\u601d\u8003\u6458\u8981\uff1a\n- &lt;\u7528 2\u20134 \u6761 bullet \u603b\u7ed3 \u601d\u8003 \u5f97\u51fa\u7684\u5173\u952e\u7ed3\u8bba\/\u6743\u8861&gt;\n\n\u26a0\ufe0f \u98ce\u9669\u4e0e\u963b\u585e\uff1a\n- &lt;\u98ce\u9669 1\uff08\u4f8b\u5982\u5411\u540e\u517c\u5bb9\u6027\u3001\u6570\u636e\u5b89\u5168\u3001\u6027\u80fd\u7b49\uff09&gt;\n- &lt;\u98ce\u9669 2\uff08\u4f8b\u5982\u4f9d\u8d56\u5176\u4ed6\u56e2\u961f\/\u670d\u52a1\u3001\u73af\u5883\u9650\u5236\u7b49\uff09&gt;\n\n\ud83d\udcce Plan \u6587\u4ef6\uff1a\n- \u8def\u5f84\uff1a`plan\/&lt;\u4f60\u5b9e\u9645\u521b\u5efa\u7684\u6587\u4ef6\u540d&gt;.md`\n- \u72b6\u6001\uff1a&lt;\u5df2\u521b\u5efa\u5e76\u5199\u5165 \/ \u65e0\u6cd5\u521b\u5efa\uff08\u8bf4\u660e\u539f\u56e0\uff09&gt;\n```\n\n\ud83d\udcc1 Plan \u6587\u4ef6\u89c4\u8303\uff08`plan\/*.md`\uff09\n\n- \u76ee\u5f55\u4e0e\u547d\u540d\uff1a\n  - \u4ee5\u5f53\u524d\u5de5\u4f5c\u76ee\u5f55\u4e3a\u6839\uff0c\u5728\u5176\u4e2d\u4f7f\u7528 `plan\/` \u5b50\u76ee\u5f55\uff1b\n  - \u6587\u4ef6\u5efa\u8bae\u547d\u540d\u4e3a\uff1a`plan\/YYYY-MM-DD_HH-mm-ss-&lt;slug&gt;.md`\uff0c\u5176\u4e2d\uff1a\n    - \u65f6\u95f4\u6233\u53ef\u901a\u8fc7\u5f53\u524d\u7cfb\u7edf\u53ef\u7528\u7684\u65b9\u5f0f\u83b7\u53d6\uff1a\n      - \u7c7b Unix \u73af\u5883\uff1a\u4f8b\u5982 `date +\"%Y-%m-%d_%H-%M-%S\"`\uff1b\n      - Windows PowerShell\uff1a\u4f8b\u5982 `Get-Date -Format \"yyyy-MM-dd_HH-mm-ss\"`\uff1b\n      - \u5176\u5b83\u73af\u5883\u53ef\u9009\u62e9\u7b49\u4ef7\u65b9\u6848\uff0c\u53ea\u8981\u4fdd\u8bc1\u65f6\u95f4\u6233\u5355\u8c03\u3001\u53ef\u8bfb\u5373\u53ef\uff1b\n    - `&lt;slug&gt;` \u4e3a\u4ece\u4efb\u52a1\u63cf\u8ff0\u4e2d\u63d0\u53d6\u5e76\u5f52\u4e00\u5316\u540e\u7684\u7b80\u77ed\u6807\u8bc6\uff0c\u63a8\u8350\u89c4\u5219\uff1a\n      - \u53d6\u4efb\u52a1\u63cf\u8ff0\u4e2d\u7684\u82e5\u5e72\u5173\u952e\u5b57\u6216\u524d\u51e0\u4e2a\u8bcd\uff0c\u53bb\u6389\u7a7a\u767d\uff0c\u8f6c\u6362\u4e3a\u5c0f\u5199\uff1b\n      - \u5c06\u975e\u5b57\u6bcd\u6570\u5b57\u5b57\u7b26\u5f52\u4e00\u5316\u4e3a `-`\uff0c\u538b\u7f29\u8fde\u7eed\u7684 `-`\uff0c\u5e76\u622a\u65ad\u5230\u5408\u7406\u957f\u5ea6\uff08\u5982 20\u201332 \u4e2a\u5b57\u7b26\uff09\uff1b\n      - \u53bb\u6389\u9996\u5c3e\u7684 `-`\uff1b\u5982\u679c\u6700\u7ec8\u4e3a\u7a7a\uff0c\u5219\u9000\u5316\u4e3a\u901a\u7528\u5360\u4f4d\uff08\u4f8b\u5982 `task` \u6216 `plan`\uff09\uff1b\n    - \u51b2\u7a81\u65f6\u53ef\u5728 `&lt;slug&gt;` \u6216\u6587\u4ef6\u540d\u672b\u5c3e\u8ffd\u52a0 `-1`\u3001`-2` \u7b49\u540e\u7f00\u3002\n- \u6587\u4ef6\u5934\u90e8\u5143\u6570\u636e\uff08YAML frontmatter\uff0c\u5fc5\u987b\u5728\u6587\u4ef6\u6700\u9876\u7aef\uff09\uff1a\n\n  ```markdown\n  ---\n  mode: plan\n  cwd: &lt;\u5f53\u524d\u5de5\u4f5c\u76ee\u5f55&gt;\n  task: &lt;\u4efb\u52a1\u6807\u9898\u6216\u603b\u7ed3&gt;\n  complexity: &lt;simple|medium|complex&gt;\n  planning_method: builtin\n  created_at: &lt;ISO8601 \u65f6\u95f4\u6233\u6216 date \u8f93\u51fa&gt;\n  ---\n  ```\n\n- \u6b63\u6587\u7ed3\u6784\u63a8\u8350\uff1a\n\n  ```markdown\n  # Plan: &lt;\u4efb\u52a1\u7b80\u8981\u6807\u9898&gt;\n  \n  \ud83c\udfaf \u4efb\u52a1\u6982\u8ff0\n  &lt;\u7528 2\u20133 \u53e5\u8bdd\u8bf4\u660e\u4efb\u52a1\u80cc\u666f\u548c\u76ee\u6807\u3002&gt;\n  \n  \ud83d\udccb \u6267\u884c\u8ba1\u5212\n  1. &lt;\u6b65\u9aa4 1\uff1a\u4e00\u53e5\u8bdd\u63cf\u8ff0\u8981\u505a\u4ec0\u4e48\u3001\u4e3a\u4ec0\u4e48&gt;\n  2. &lt;\u6b65\u9aa4 2&gt;\n  3. &lt;\u6b65\u9aa4 3&gt;\n  ...\uff08\u4e00\u822c 4\u201310 \u6b65\uff0c\u6839\u636e\u590d\u6742\u5ea6\u5c55\u5f00\uff09\n  \n  \u26a0\ufe0f \u98ce\u9669\u4e0e\u6ce8\u610f\u4e8b\u9879\n  - &lt;\u98ce\u9669\u6216\u6ce8\u610f\u70b9 1&gt;\n  - &lt;\u98ce\u9669\u6216\u6ce8\u610f\u70b9 2&gt;\n  \n  \ud83d\udcce \u53c2\u8003\n  - `&lt;\u6587\u4ef6\u8def\u5f84:\u884c\u53f7&gt;`\uff08\u4f8b\u5982 `src\/main\/java\/App.java:42`\uff09\n  - \u5176\u4ed6\u6709\u7528\u7684\u94fe\u63a5\u6216\u8bf4\u660e\n  ```\n\n\ud83d\udd01 \u591a\u6b21 Plan \u8c03\u7528\u7684\u5173\u8054\u89c4\u5219\n\n- \u672c\u4f1a\u8bdd\u7b2c\u4e00\u6b21\u4f7f\u7528 Plan \u6a21\u5f0f\uff1a\u4e3a\u5f53\u524d\u4efb\u52a1\u521b\u5efa\u65b0\u7684 Plan \u6587\u4ef6\uff0c\u5e76\u5728\u56de\u590d\u7684\u300c\ud83d\udcce Plan \u6587\u4ef6\u300d\u4e2d\u7ed9\u51fa\u8def\u5f84\uff1b\n- \u4f1a\u8bdd\u4e2d\u5df2\u6709\u300c\u5f53\u524d Plan\u300d\u65f6\uff1a\n  - \u7528\u6237\u8bf4\u300c\u524d\u9762\/\u521a\u624d\/\u4e4b\u524d\u7684\u8ba1\u5212\/\u5728\u539f\u6765\u7684\u57fa\u7840\u4e0a\u8c03\u6574\u300d\u7b49\uff0c\u89c6\u4e3a**\u7ee7\u7eed\u540c\u4e00\u4e2a Plan**\uff1a\n    - \u4f7f\u7528\u524d\u4e00\u6b21\u56de\u590d\u4e2d\u8bb0\u5f55\u7684 Plan \u6587\u4ef6\u8def\u5f84\uff1b\n    - \u5148\u901a\u8fc7 `cat plan\/XXXX.md` \u56de\u987e\uff0c\u518d\u7ed9\u51fa\u300c\u53d8\u66f4\u6458\u8981\u300d+ \u66f4\u65b0\u540e\u7684\u8ba1\u5212\uff1b\n    - \u5199\u56de\u540c\u4e00 Plan \u6587\u4ef6\uff0c\u53ef\u4ee5\u8ffd\u52a0\u300c\u53d8\u66f4\u8bb0\u5f55\u300d\u6216\u91cd\u5199\u76f8\u5173\u5c0f\u8282\uff1b\n  - \u7528\u6237\u660e\u786e\u8bf4\u300c\u65b0\u7684 Plan\u300d\u300c\u53e6\u4e00\u4e2a\u4efb\u52a1\u300d\u300c\u91cd\u65b0\u4e3a YYY \u8bbe\u8ba1\u65b9\u6848\u300d\u7b49\uff0c\u89c6\u4e3a**\u65b0 Plan**\uff1a\n    - \u521b\u5efa\u65b0\u7684 Plan \u6587\u4ef6\uff0c\u5e76\u5728\u56de\u590d\u4e2d\u8bf4\u660e\u4e0e\u65e7 Plan \u7684\u5173\u7cfb\uff1b\n- \u82e5\u8bed\u4e49\u6a21\u7cca\uff0c\u5148\u7528\u4e00\u53e5\u8bdd\u786e\u8ba4\u662f\u300c\u8c03\u6574\u4e0a\u4e00\u4e2a Plan\u300d\u8fd8\u662f\u300c\u65b0\u4efb\u52a1\u300d\u3002\n\n\u26a0\ufe0f \u98ce\u9669\u4e0e\u53ef\u63a7\u624b\u6bb5\n\n- Plan \u6a21\u5f0f\u7ea6\u675f\u65e0\u6cd5\u4ece\u7cfb\u7edf\u5c42\u786c\u6027\u5f3a\u5236\uff0c\u4ecd\u4f9d\u8d56 LLM \u4e25\u683c\u9075\u5b88\u672c\u8282\u89c4\u5219\u53ca `codex\/plan.md`\uff1b\n- \u4e3a\u63d0\u9ad8\u53ef\u63a7\u6027\uff1a\n  - \u8981\u6c42\u5728 frontmatter \u4e2d\u8bb0\u5f55 `planning_method: builtin`\uff08\u5e76\u5305\u542b `task` \/ `complexity` \/ `created_at` \u7b49\u5b57\u6bb5\uff09\uff1b\n  - \u63a8\u8350\u901a\u8fc7\u811a\u672c\u5468\u671f\u6027\u68c0\u67e5 `plan\/*.md` \u662f\u5426\u6ee1\u8db3\u8be5\u7ea6\u5b9a\uff08\u4f8b\u5982 grep \u68c0\u67e5 `planning_method:` \u5b57\u6bb5\uff09\uff1b\n  - \u5982\u53d1\u73b0\u504f\u79bb\uff0c\u53ef\u901a\u8fc7\u8c03\u6574 `prompts\/plan.md` \u6216\u5728\u5bf9\u8bdd\u4e2d\u663e\u5f0f\u7ea0\u6b63\u884c\u4e3a\u3002\n\n## \ud83d\udcbb \u4ee3\u7801\u89c4\u5219\n\n### \u901a\u7528\u539f\u5219\n\n- **KISS \/ YAGNI**\uff1a\u7b80\u5355\u76f4\u63a5\uff0c\u4e0d\u4e3a\u5047\u8bbe\u9700\u6c42\u8fc7\u5ea6\u8bbe\u8ba1\n- **\u5355\u4e00\u804c\u8d23**\uff1a\u51fd\u6570\u505a\u4e00\u4ef6\u4e8b\uff0c\u5d4c\u5957\u63a7\u5236\u5728 3 \u5c42\u5185\n- **\u5411\u540e\u517c\u5bb9**\uff1a\u672a\u7ecf\u6279\u51c6\u4e0d\u7834\u574f\u73b0\u6709 API\/CLI \u884c\u4e3a\/\u6570\u636e\u683c\u5f0f\n- **\u590d\u7528\u6a21\u5f0f**\uff1a\u6309\u9879\u76ee\u65e2\u6709\u98ce\u683c\u5b9e\u73b0\uff0c\u4e0d\u5f15\u5165\u65b0\u67b6\u6784\n\n---\n\n## \ud83d\udee0\ufe0f \u5de5\u5177\u7ea6\u5b9a\n\n### Shell \u4e0e\u6587\u4ef6\u7cfb\u7edf\n\n- \u9ed8\u8ba4\u901a\u8fc7 Codex CLI \u6267\u884c\u547d\u4ee4\n- **\u8bfb\u591a\u5199\u5c11**\uff1a\u4f18\u5148\u53ea\u8bfb\u547d\u4ee4\n- \u907f\u514d\u7834\u574f\u6027\u547d\u4ee4\uff08`rm -rf`\u3001\u5f3a\u5236\u8986\u76d6\uff09\uff0c\u9664\u975e\u660e\u786e\u6388\u6743\n- \u5927\u8303\u56f4\u64cd\u4f5c\u5148\u5c0f\u8303\u56f4\u8bd5\u9a8c\n\n### MCP \u5de5\u5177\uff08\u5982\u53ef\u7528\uff09\n\n**\u5168\u5c40\u539f\u5219**\uff1a\n\n1. **\u5355\u8f6e\u6700\u591a\u4e24\u4e2a\u5de5\u5177**\uff1a\u6bcf\u8f6e\u5bf9\u8bdd\u6700\u591a\u8c03\u7528\u4e24\u4e2a MCP \u670d\u52a1\uff1b\u72ec\u7acb\u65f6\u5e76\u884c\uff0c\u6709\u4f9d\u8d56\u65f6\u4e32\u884c\n2. **\u6700\u5c0f\u5fc5\u8981**\uff1a\u9650\u5236\u67e5\u8be2\u8303\u56f4\uff08tokens\/\u7ed3\u679c\u6570\/\u65f6\u95f4\u7a97\/\u5173\u952e\u8bcd\uff09\u907f\u514d\u8fc7\u5ea6\u6293\u53d6\n3. **\u79bb\u7ebf\u4f18\u5148**\uff1a\u9ed8\u8ba4\u4f7f\u7528\u672c\u5730\u5de5\u5177\uff1b\u5916\u90e8\u8c03\u7528\u9700\u7406\u7531\u4e14\u9075\u5b88 robots\/ToS\/\u9690\u79c1\n4. **\u5931\u8d25\u964d\u7ea7**\uff1a\u5931\u8d25\u65f6\u5c1d\u8bd5\u66ff\u4ee3\u670d\u52a1\uff1b\u5168\u5931\u8d25\u65f6\u63d0\u4f9b\u4fdd\u5b88\u7b54\u6848\u5e76\u6807\u8bb0\u4e0d\u786e\u5b9a\u6027\n\n**\u670d\u52a1\u9009\u62e9\u77e9\u9635**\uff1a\n\n| \u4efb\u52a1\u610f\u56fe | \u4e3b\u8981\u670d\u52a1 | \u5907\u7528 | \u4f7f\u7528\u65f6\u673a |\n|---------|---------|------|---------|\n| \u590d\u6742\u89c4\u5212\u3001\u5206\u89e3 | \uff08\u65e0\uff0c\u5185\u7f6e\u63a8\u7406\uff09 | \u624b\u52a8\u5206\u89e3 | \u53ef\u884c\u6027\u4e0d\u786e\u5b9a\u3001\u591a\u6b65\u91cd\u6784\u3001\u957f\u4efb\u52a1 |\n| \u5b98\u65b9\u6587\u6863\/API\/\u6846\u67b6 | `context7` | `fetch` (\u539f\u59cb URL) | \u5e93\u7528\u6cd5\u3001\u7248\u672c\u5dee\u5f02\u3001\u914d\u7f6e\u95ee\u9898 |\n| \u7f51\u9875\u5185\u5bb9\u83b7\u53d6 | `fetch` | \u624b\u52a8\u641c\u7d22 | \u83b7\u53d6\u7f51\u9875\u3001\u6587\u6863\u3001\u535a\u5ba2\u6587\u7ae0 |\n| \u4ee3\u7801\u8bed\u4e49\u641c\u7d22\u3001\u7f16\u8f91 | `serena` | \u76f4\u63a5\u6587\u4ef6\u5de5\u5177 | \u7b26\u53f7\u5b9a\u4f4d\u3001\u8de8\u6587\u4ef6\u91cd\u6784\u3001\u5f15\u7528 |\n| \u6301\u4e45\u5316\u8bb0\u5fc6\u3001\u77e5\u8bc6\u56fe\u8c31 | `memory` | \u624b\u52a8\u7b14\u8bb0 | \u7528\u6237\u504f\u597d\u3001\u9879\u76ee\u4e0a\u4e0b\u6587\u3001\u5b9e\u4f53\u5173\u7cfb |\n| \u65f6\u95f4\/\u65f6\u533a\u64cd\u4f5c | `time` | \u7cfb\u7edf\u65f6\u95f4 | \u65f6\u95f4\u6233\u751f\u6210\u3001\u65f6\u533a\u8f6c\u6362\u3001\u65f6\u95f4\u654f\u611f\u6587\u6863 |\n\n**\u4e3b\u8981\u670d\u52a1\u4f7f\u7528\u8bf4\u660e**\uff1a\n\n- **\u5185\u7f6e\u63a8\u7406\uff08\u9ed8\u8ba4\uff09**\uff1a\u590d\u6742\u89c4\u5212\u65e0\u9700\u989d\u5916 MCP\uff1b\u5148\u5185\u90e8\u62c6\u89e3\uff0c\u518d\u8f93\u51fa\u8ba1\u5212\u5e76\u7528 `update_plan` \u8ddf\u8e2a\u8fdb\u5ea6\n- **context7**\uff1a\u67e5\u8be2\u5b98\u65b9\u6587\u6863\uff0c\u5148 `resolve-library-id` \u786e\u8ba4\u5e93\uff0c\u518d `get-library-docs` \u83b7\u53d6\u6587\u6863\n- **fetch**\uff1a\u83b7\u53d6\u7f51\u9875\u5185\u5bb9\u5e76\u8f6c markdown\uff1b\u88ab robots.txt \u963b\u6b62\u65f6\u7528\u539f\u59cb URL\uff08\u5982 `raw.githubusercontent.com`\uff09\n- **serena**\uff1a\u57fa\u4e8e LSP \u7684\u7b26\u53f7\u641c\u7d22\u548c\u7f16\u8f91\uff0c\u4f18\u5148\u5c0f\u89c4\u6a21\u7cbe\u786e\u64cd\u4f5c\n- **memory**\uff1a\u8de8\u4f1a\u8bdd\u6301\u4e45\u5316\u504f\u597d\u548c\u7ea6\u5b9a\uff0c\u539f\u5b50\u5316\u5b58\u50a8\uff08\u6bcf\u4e2a\u89c2\u5bdf\u4e00\u4e2a\u4e8b\u5b9e\uff09\n- **time**\uff1a\u65f6\u533a\u611f\u77e5\u65f6\u95f4\u64cd\u4f5c\uff0c\u751f\u6210\u65f6\u95f4\u654f\u611f\u5185\u5bb9\u524d\u5fc5\u987b\u83b7\u53d6\u5f53\u524d\u65f6\u95f4\uff0c\u9ed8\u8ba4 'Asia\/Shanghai'\n\n---\n\n## \ud83d\udd12 \u5b89\u5168\u4e0e\u5408\u89c4\n\n- \u4e0d\u8bbf\u95ee\u6216\u6cc4\u9732\u654f\u611f\u4fe1\u606f\uff08\u5bc6\u94a5\u3001\u4ee4\u724c\u3001\u79c1\u94a5\u3001\u4e2a\u4eba\u6570\u636e\uff09\n- \u7834\u574f\u6027\u64cd\u4f5c\u524d\u8bf4\u660e\u5f71\u54cd\u8303\u56f4\uff0c\u83b7\u5f97\u786e\u8ba4\n- \u62d2\u7edd\u5408\u89c4\u98ce\u9669\u8bf7\u6c42\uff0c\u63d0\u4f9b\u5b89\u5168\u66ff\u4ee3\u65b9\u6848\n\n---\n\n## \u2705 \u5b9e\u65bd\u68c0\u67e5\u6e05\u5355\n\n**\u4efb\u52a1\u5b8c\u6210\u524d\u81ea\u68c0\uff0c\u4efb\u4f55\u9879\u76ee\u5931\u8d25\u9700\u91cd\u505a**\uff1a\n\n- [ ] \u63a5\u89e6\u5de5\u5177\u524d\u5df2\u8bb0\u5f55\u63a5\u6536\u4e0e\u73b0\u5b9e\u68c0\u67e5\n- [ ] \u9996\u6b21\u4e0a\u4e0b\u6587\u6536\u96c6\u5728 5-8 \u6b21\u5de5\u5177\u8c03\u7528\u5185\uff08\u6216\u5df2\u8bb0\u5f55\u4f8b\u5916\uff09\n- [ ] \u5df2\u8bb0\u5f55 \u22652 \u6b65\u8ba1\u5212\uff0c\u4f7f\u7528 `update_plan` \u8ffd\u8e2a\u8fdb\u5ea6\n- [ ] \u9a8c\u8bc1\u5305\u62ec\u6d4b\u8bd5\/\u68c0\u67e5\u53ca `&lt;self_reflection&gt;` \u81ea\u8bc4\n- [ ] \u6700\u7ec8\u4ea4\u63a5\u5305\u542b\u6587\u4ef6\u5f15\u7528\uff08`file:line`\uff09\u3001\u98ce\u9669\u548c\u540e\u7eed\u6b65\u9aa4\n\n---\n\n## \ud83d\udcdd \u7ef4\u62a4\n\n- \u672c\u6587\u4ef6\u4e3a\u6d3b\u6587\u6863\uff0c\u5b9a\u671f\u590d\u67e5\uff08\u6bcf\u5b63\u5ea6\u6216\u91cd\u8981\u67b6\u6784\u53d8\u66f4\u540e\uff09\n- \u66f4\u65b0\u65f6\u4fee\u6539\u7248\u672c\u53f7\u548c\"\u6700\u540e\u66f4\u65b0\"\u65f6\u95f4\n- \u9879\u76ee\u7279\u5b9a\u89c4\u5219\u653e\u5728\u9879\u76ee\u6839\u76ee\u5f55\u7684 `AGENTS.md` \u4e2d\n\n<\/code><\/pre>\n<\/details>\n<hr>\n<p dir=\"auto\" style=\"margin: 0px 0px 14px; line-height: 1.8; font-size: 16px;\">2.1 \u53ef\u4ee5\u76f4\u63a5\u5148\u8ba9 codex \u8c03\u67e5\uff1a<\/p>\n<pre dir=\"auto\" class=\"codeblock-buttons\"><code class=\"hljs language-undefined\" data-highlighted=\"yes\">\u76ee\u524d\u9879\u76ee\u6709balabala\u95ee\u9898\uff0c\u8bf7\u4f60\u5168\u9762\u8c03\u67e5\uff0c\u751f\u6210Report.md\n<\/code><\/pre>\n<p dir=\"auto\" style=\"margin: 0px 0px 14px; line-height: 1.8; font-size: 16px;\">2.2 \u4e5f\u53ef\u4ee5\u76f4\u63a5\u8ba9 codex \u751f\u6210plan<\/p>\n<pre dir=\"auto\" class=\"codeblock-buttons\"><code class=\"hljs language-bash\" data-highlighted=\"yes\">\/prompts:plan \u76ee\u524d\u9879\u76ee\u6709balabala\u95ee\u9898\uff0c\u8bf7\u4f60\u5168\u9762\u8c03\u67e5\uff0c\u751f\u6210plan\n<\/code><\/pre>\n<p dir=\"auto\" style=\"margin: 0px 0px 14px; line-height: 1.8; font-size: 16px;\">\u4e5f\u53ef\u4ee5\u8ba9 codex \u6839\u636e\u4e4b\u524d\u7684 Report.md \u6765\u751f\u6210plan\uff1a<\/p>\n<pre dir=\"auto\" class=\"codeblock-buttons\"><code class=\"hljs language-bash\" data-highlighted=\"yes\">\/prompts:plan \u6839\u636eReport.md\uff0c\u751f\u6210plan\n<\/code><\/pre>\n<p dir=\"auto\" style=\"margin: 0px 0px 14px; line-height: 1.8; font-size: 16px;\">\u4e24\u4e2a\u6ca1\u5565\u533a\u522b\uff0c\u53ea\u662f\u5148\u751f\u6210Report.md\u7684\u8bdd\u53ef\u4ee5\u770b\u770b\u4ed6\u8c03\u67e5\u7684\u65b9\u5411\u548b\u6837\uff0c\u7b26\u4e0d\u7b26\u5408\u9884\u671f\u3002<\/p>\n<p dir=\"auto\" style=\"margin: 0px 0px 14px; line-height: 1.8; font-size: 16px;\">\u6ce8\u610f\u4e86\uff0cReport.md \u548c Plan \u90fd\u5728\u4f1a\u540e\u7eed\u7684 csv \u6587\u4ef6\u4e2d\u88ab\u5f15\u7528\uff0c\u6240\u4ee5\u5efa\u8bae\u653e\u597d\u4f4d\u7f6e\uff0cplan\u5e94\u8be5\u4f1a\u547d\u540d\u4e3a\u72ec\u7279\u7684\u540d\u5b57\uff1a<code>2025-12-22_10-40-09-codex-review-dignose-plan.md<\/code><\/p>\n<hr>\n<blockquote dir=\"auto\">\n<p style=\"margin: 0px 0px 14px; line-height: 1.8; font-size: 16px;\">\u7136\u540e\u5176\u5b9e\u53ef\u4ee5\u8ba9codex \u76f4\u63a5\u6267\u884c\u8fd9\u4e2a plan \u6587\u4ef6\uff0c\u4f46\u662f\u53ef\u80fd\u4f1a\u6709\u758f\u6f0f\uff08\u6211\u6ca1\u5b9e\u6d4b\u68c0\u67e5\u8fc7\uff0c\u8fd9\u662f\u6839\u636e\u4e4b\u524d\u7684\u4f6c\u53cb\u5410\u69fd\u7684\uff0ccsv\u5c31\u4e0d\u4f1a\u6f0f\u6389\u4efb\u52a1\uff0c\u611f\u89c9\u5982\u679c\u4efb\u52a1\u96be\u5ea6\u5c0f\u7684\u8bdd\uff0c\u76f4\u63a5\u8ba9codex\u6839\u636eplan\u6765\u6539\u4e5f\u4e0d\u662f\u4e0d\u884c\uff09<\/p>\n<\/blockquote>\n<p dir=\"auto\" style=\"margin: 0px 0px 14px; line-height: 1.8; font-size: 16px;\">3.\u5982\u679c\u60f3\u7ee7\u7eed\u8d70\u6d41\u7a0b\u7684\u8bdd\uff0c\u5c31\u91cd\u5f00\u4e00\u4e2a\u65b0\u7684session,\u7528\u65b0\u7684prompt:<\/p>\n<details id=\"post-cooked-html__details-1353223-1-2\" dir=\"auto\">\n<summary>\nplan_to_issues_csv.md\uff0c\u540c\u6837\u653e\u5728`.codex\\prompts`\uff08\u4e4b\u524d\u7684\u6211\u53d1\u73b0\u4f1a\u751f\u6210\u4e00\u4e2a\u591a\u4f59\u7684issues.csv\uff0c\u73b0\u5728\u8ba95.2\u6539\u6210\u53ea\u751f\u6210\u4e00\u4e2a\u5feb\u7167csv\u4e86\uff0c\u4f6c\u53cb\u4eec\u4e5f\u53ef\u4ee5\u770b\u7740\u6539\uff09<\/summary>\n<pre class=\"codeblock-buttons\"><code class=\"lang-auto\">---\ndescription: \u4ece plan\/*.md \u751f\u6210\u53ef\u7ef4\u62a4\u7684 issues CSV \u5feb\u7167\uff08\u542b\u5f00\u53d1\/Review\/Git \u72b6\u6001\u3001\u9a8c\u6536\u8fb9\u754c\u3001MCP \u6307\u5b9a\uff09\nargument-hint: \"&lt;plan \u6587\u4ef6\u8def\u5f84\uff08\u53ef\u9009\uff0c\u9ed8\u8ba4\u53d6 plan\/ \u6700\u65b0\uff09&gt;\"\n\n---\n\n\u4f60\u73b0\u5728\u5904\u4e8e\u300cPlan \u2192 Issues CSV \u6a21\u5f0f\u300d\u3002\n\n\u76ee\u6807\uff1a\u628a\u5f53\u524d\u9879\u76ee\u7684 `plan\/*.md`\uff08\u7531 `\/prompts:plan` \u751f\u6210\u7684\u6267\u884c\u8ba1\u5212\uff09\u8f6c\u6362\u4e3a\u53ef\u843d\u76d8\u3001\u53ef\u534f\u4f5c\u7ef4\u62a4\u7684 **\u552f\u4e00\u547d\u540d issues CSV \u5feb\u7167**\uff08`issues\/&lt;timestamp&gt;-&lt;slug&gt;.csv`\uff09\uff0c\u5e76\u786e\u4fdd\u8be5 CSV \u53ef\u4ee5\u4f5c\u4e3a\u4ee3\u7801\u7684\u4e00\u90e8\u5206\u63d0\u4ea4\u5230\u4ed3\u5e93\u4e2d\uff0c\u7528\u4e8e\u957f\u671f\u8ffd\u8e2a\u4efb\u52a1\u8fb9\u754c\u4e0e\u72b6\u6001\u3002\n\n&gt; \u6838\u5fc3\u539f\u5219\uff1aISSUES CSV \u662f\u201c\u4f1a\u8bae\u843d\u76d8\u7684\u4efb\u52a1\u8fb9\u754c\u5408\u540c\u201d\uff0c\u4e0d\u662f AI \u81ea\u55e8\u6587\u6863\u3002  \n&gt; CSV \u8981\u80fd\u9632\u6b62\u4efb\u52a1\u8dd1\u504f\uff1a\u6bcf\u6761\u5fc5\u987b\u660e\u786e **\u505a\u4ec0\u4e48\u3001\u600e\u4e48\u9a8c\u6536\u3001\u600e\u4e48 review\u3001\u7528\u4ec0\u4e48\u6d4b\u8bd5\u5de5\u5177\/MCP**\u3002\n\n## \u4e00\u3001\u8f93\u5165\u4e0e\u9ed8\u8ba4\u884c\u4e3a\n\n1. `$ARGUMENTS` \u5141\u8bb8\u4e3a\u7a7a\uff1a\n   - \u82e5\u4e3a\u7a7a\uff1a\u9ed8\u8ba4\u9009\u62e9\u5f53\u524d\u9879\u76ee `plan\/` \u76ee\u5f55\u4e0b**\u6700\u65b0**\u7684 `*.md` \u4f5c\u4e3a\u8f93\u5165\u3002\n   - \u82e5\u4e0d\u4e3a\u7a7a\uff1a\u89c6\u4e3a `plan` \u6587\u4ef6\u8def\u5f84\uff08\u76f8\u5bf9\/\u7edd\u5bf9\u5747\u53ef\uff09\u3002\n2. \u4f60\u5fc5\u987b\u8bfb\u53d6\u8be5 `plan` \u6587\u4ef6\u5185\u5bb9\uff0c\u5fc5\u8981\u65f6\u53ef\u6839\u636e `\ud83d\udcce \u53c2\u8003` \u4e2d\u7684\u6587\u4ef6\u8def\u5f84\u8fdb\u4e00\u6b65\u8bfb\u53d6\u5c11\u91cf\u4e0a\u4e0b\u6587\uff08\u53ea\u8bfb\u3001\u6700\u5c0f\u5fc5\u8981\uff09\u3002\n3. \u82e5\u627e\u4e0d\u5230 `plan` \u6587\u4ef6\u6216\u5185\u5bb9\u4e0d\u8db3\u4ee5\u62c6\u5206\u4efb\u52a1\uff1a\u7528 1\u20132 \u53e5\u8bdd\u8bf4\u660e\u539f\u56e0\uff0c\u5e76\u7ed9\u51fa\u4f60\u9700\u8981\u7684\u6700\u5c0f\u8865\u5145\u4fe1\u606f\uff08\u4e0d\u8981\u957f\u7bc7\u8ffd\u95ee\uff09\u3002\n\n## \u4e8c\u3001\u603b\u4f53\u884c\u4e3a\u7ea6\u5b9a\uff08\u5fc5\u987b\u9075\u5b88\uff09\n\n1. \u4f60\u662f\u201c\u4efb\u52a1\u62c6\u5206\u4e0e\u843d\u76d8\u52a9\u624b\u201d\uff0c\u76ee\u6807\u662f\u751f\u6210**\u53ef\u7ef4\u62a4**\u7684 CSV\uff0c\u800c\u4e0d\u662f\u8f93\u51fa\u5927\u91cf\u6563\u6587\u3002\n2. \u7981\u6b62\u4f7f\u7528\u767e\u5206\u6bd4\u8fdb\u5ea6\uff1b\u6240\u6709\u8fdb\u5ea6\u5fc5\u987b\u4f7f\u7528\u72b6\u6001\u679a\u4e3e\uff08\u89c1\u300c\u56db\u3001\u72b6\u6001\u5b57\u6bb5\u300d\uff09\u3002\n3. \u6bcf\u6761\u4efb\u52a1\u5fc5\u987b\u5305\u542b\uff1a\n   - `acceptance_criteria`\uff1a\u53ef\u9a8c\u8bc1\u3001\u53ef\u6d4b\u8bd5\u7684\u9a8c\u6536\u53e3\u5f84\uff08\u5c3d\u91cf\u91cf\u5316\uff09\u3002\n   - `review_initial_requirements`\uff1a\u8fb9\u5f00\u53d1\u8fb9 Review \u7684\u8981\u6c42\u3002\n   - `review_regression_requirements`\uff1a\u5168\u91cf\u5b8c\u6210\u540e\u7684\u56de\u5f52\/\u590d\u6d4b\u8981\u6c42\u3002\n   - `test_mcp`\uff1a\u660e\u786e\u8be5\u4efb\u52a1\u9ed8\u8ba4\u7528\u54ea\u4e2a\u6d4b\u8bd5\u6267\u884c\u5668\/MCP\uff08\u540e\u7aef\/\u524d\u7aef\/\u7aef\u5230\u7aef\uff09\u3002\n4. \u8be6\u7ec6\u80cc\u666f\u4e0e\u63a8\u7406\u4e0d\u5e94\u5806\u8fdb CSV\uff1a\u5c3d\u91cf\u901a\u8fc7 `refs` \u6307\u5411 `plan\/*.md` \/ \u5176\u4ed6\u5ba1\u8ba1\u6587\u6863\uff08\u4f8b\u5982 PERF \u5ba1\u8ba1\uff09\u6765\u627f\u8f7d\u7ec6\u8282\u3002\n5. \u751f\u6210\u540e\u5fc5\u987b\u5c06 CSV \u5199\u5165\u9879\u76ee\u7684 `issues\/` \u76ee\u5f55\uff1a\n   - \u751f\u6210\u4e00\u4e2a**\u552f\u4e00\u547d\u540d**\u7684\u5feb\u7167\u6587\u4ef6\uff08\u4fbf\u4e8e\u5ba1\u8ba1\/\u56de\u6eaf\uff09\u3002\n   - **\u7981\u6b62**\u521b\u5efa\/\u66f4\u65b0 `issues\/issues.csv`\u3001`issues.csv` \u6216\u4efb\u4f55\u5176\u5b83\u56fa\u5b9a\u6587\u4ef6\u540d\u7684\u201c\u6c47\u603b\u7248\u201d\uff08\u907f\u514d\u8bef\u5bfc\u540e\u7eed `\/prompts:issues_csv_execute` \u7684\u552f\u4e00\u72b6\u6001\u6e90\u9009\u62e9\uff09\u3002\n\n## \u4e09\u3001\u62c6\u5206\u89c4\u5219\uff08\u4ece plan \u5230 issues\uff09\n\n\u5c06 `plan` \u4e2d\u7684 Phase\/\u6b65\u9aa4\u8f6c\u6362\u4e3a issues \u884c\uff0c\u9075\u5faa\uff1a\n\n1. \u9ed8\u8ba4\u7c92\u5ea6\uff1a**\u4e00\u6761 Phase \u5bf9\u5e94\u4e00\u6761 issues**\u3002\n2. \u5141\u8bb8\u62c6\u5206\uff1a\u82e5\u67d0\u4e2a Phase \u540c\u65f6\u5305\u542b\u660e\u663e\u72ec\u7acb\u7684\u591a\u9879\u5de5\u4f5c\uff08\u4f8b\u5982\u524d\u540e\u7aef\u4e24\u6761\u94fe\u8def\uff0c\u6216\u591a\u4e2a\u63a5\u53e3\/\u6a21\u5757\uff09\uff0c\u53ef\u62c6\u5206\u4e3a\u591a\u884c\uff0c\u4f46\u8981\u907f\u514d\u628a CSV \u62c6\u6210\u201c\u51e0\u5341\u6761\u7ec6\u9897\u7c92 TODO\u201d\u3002\n3. \u5efa\u8bae\u89c4\u6a21\uff1a\u4e00\u822c 5\u201330 \u884c\u6700\u6613\u7ef4\u62a4\uff1b\u8d85\u8fc7 30 \u884c\u65f6\uff0c\u4f18\u5148\u5408\u5e76\u540c\u7c7b\u9879\u5e76\u901a\u8fc7 `notes\/refs` \u6307\u5411\u7ec6\u8282\u6587\u6863\u3002\n\n## \u56db\u3001CSV Schema\uff08\u56fa\u5b9a\u8868\u5934\uff09\n\n\u4f60\u5fc5\u987b\u4f7f\u7528\u4ee5\u4e0b\u8868\u5934\uff08\u5b57\u6bb5\u987a\u5e8f\u56fa\u5b9a\uff09\uff1a\n\n```\nid,priority,phase,area,title,description,acceptance_criteria,test_mcp,review_initial_requirements,review_regression_requirements,dev_state,review_initial_state,review_regression_state,git_state,owner,refs,notes\n```\n\n\u5b57\u6bb5\u542b\u4e49\u4e0e\u586b\u5199\u8981\u6c42\uff1a\n\n- `id`\uff1a\u4efb\u52a1\u552f\u4e00\u6807\u8bc6\uff08\u5efa\u8bae\uff1a`&lt;PREFIX&gt;-000`\u3001`&lt;PREFIX&gt;-010`... \u4ee5 10 \u9012\u589e\uff0c\u65b9\u4fbf\u63d2\u5165\uff09\u3002\n- `priority`\uff1a\u5efa\u8bae\u503c `P0|P1|P2`\uff08\u5982\u8ba1\u5212\u6709\u66f4\u591a\u7ea7\u522b\u53ef\u6269\u5c55\uff0c\u4f46\u4fdd\u6301\u4e00\u81f4\uff09\u3002\n- `phase`\uff1a\u6765\u6e90 Phase \u5e8f\u53f7\uff08\u4f8b\u5982 `0`\u3001`1`\u3001`2`\uff1b\u5982\u62c6\u5206\u53ef\u7528 `2.1`\u3001`2.2`\uff09\u3002\n- `area`\uff1a\u5efa\u8bae\u503c `backend|frontend|both`\uff08\u53ef\u6309\u9879\u76ee\u9700\u8981\u6269\u5c55\uff0c\u4f46\u4fdd\u6301\u53ef\u679a\u4e3e\uff09\u3002\n- `title`\uff1a\u4e00\u53e5\u8bdd\u6807\u9898\uff08\u77ed\u3001\u53ef\u8bfb\u3001\u53ef\u4f1a\u8bae\u8ba8\u8bba\uff09\u3002\n- `description`\uff1a1\u20132 \u53e5\u8bf4\u660e\u201c\u505a\u4ec0\u4e48\u201d\uff0c\u5f3a\u8c03\u8fb9\u754c\uff0c\u4e0d\u5199\u5b9e\u73b0\u7ec6\u8282\u3002\n- `acceptance_criteria`\uff1a\u53ef\u6d4b\u8bd5\u7684\u9a8c\u6536\u6807\u51c6\uff08\u53ef\u542b\u6307\u6807\/\u9608\u503c\/\u590d\u73b0\u6b65\u9aa4\uff09\u3002\n- `test_mcp`\uff1a\u8be5\u4efb\u52a1\u9ed8\u8ba4\u6d4b\u8bd5\u6267\u884c\u5668\/MCP\uff08\u89c1\u300c\u4e94\u3001\u6d4b\u8bd5\u6267\u884c\u5668\/MCP\u300d\uff09\u3002\n- `review_initial_requirements`\uff1a\u5f00\u53d1\u8fc7\u7a0b\u4e2d\u7684 Review \u8981\u70b9\uff08\u4f8b\u5982\u517c\u5bb9\u6027\u3001\u964d\u7ea7\u3001\u65e5\u5fd7\u3001\u6027\u80fd\uff09\u3002\n- `review_regression_requirements`\uff1a\u6700\u7ec8\u56de\u5f52\/\u590d\u6d4b\u8981\u70b9\uff08\u4f8b\u5982\u6545\u969c\u6ce8\u5165\u3001\u5e76\u53d1\u3001\u8fb9\u754c\u573a\u666f\uff09\u3002\n- `dev_state`\uff1a\u5f00\u53d1\u72b6\u6001\uff08\u89c1\u300c\u516d\u3001\u72b6\u6001\u5b57\u6bb5\u300d\uff09\u3002\n- `review_initial_state`\uff1a\u521d\u6b21 Review \u72b6\u6001\uff08\u89c1\u300c\u516d\u3001\u72b6\u6001\u5b57\u6bb5\u300d\uff09\u3002\n- `review_regression_state`\uff1a\u56de\u5f52 Review \u72b6\u6001\uff08\u89c1\u300c\u516d\u3001\u72b6\u6001\u5b57\u6bb5\u300d\uff09\u3002\n- `git_state`\uff1a\u662f\u5426\u5df2\u63d0\u4ea4\u5230 git\uff08\u89c1\u300c\u516d\u3001\u72b6\u6001\u5b57\u6bb5\u300d\uff09\u3002\n- `owner`\uff1a\u8d1f\u8d23\u4eba\uff08\u9ed8\u8ba4\u7559\u7a7a\uff0c\u7531\u4f1a\u8bae\u5206\u914d\u540e\u586b\u5199\uff09\u3002\n- `refs`\uff1a\u5f15\u7528\u4e0e\u8df3\u8f6c\uff08\u5f3a\u5236\u8981\u6c42\uff0c\u4f7f\u7528 `path:line`\uff0c\u591a\u4e2a\u7528 `;` \u5206\u9694\uff09\u3002\n- `notes`\uff1a\u81ea\u7531\u5907\u6ce8\uff08\u9ed8\u8ba4\u7559\u7a7a\uff0c\u53ef\u7528\u4e8e PR\/commit\/\u98ce\u9669\u8bb0\u5f55\uff09\u3002\n\n## \u4e94\u3001\u6d4b\u8bd5\u6267\u884c\u5668 \/ MCP \u6307\u5b9a\uff08\u53ef\u6309\u9879\u76ee\u8c03\u6574\uff09\n\n\u9ed8\u8ba4\u7ea6\u5b9a\uff08\u5982\u9879\u76ee\u53e6\u6709\u89c4\u8303\uff0c\u4ee5\u9879\u76ee\u89c4\u8303\u4e3a\u51c6\uff09\uff1a\n\n- `AUTOSERVER`\uff1a\u670d\u52a1\u7aef\/\u540e\u7aef\u6d4b\u8bd5\uff08\u63a5\u53e3\u6d4b\u8bd5\u3001\u5355\u6d4b\u3001\u538b\u6d4b\u3001\u6545\u969c\u6ce8\u5165\u7b49\uff09\u3002\n- `AUTOFRONTEND`\uff1a\u524d\u7aef\u6d4b\u8bd5\uff08\u7ec4\u4ef6\/\u4ea4\u4e92\/\u6027\u80fd profile\u3001\u865a\u62df\u5316\u3001\u6e32\u67d3\u5f00\u9500\u7b49\uff09\u3002\n- `AUTOE2E`\uff1a\u7aef\u5230\u7aef\/\u8054\u8c03\u6d4b\u8bd5\uff08\u524d\u540e\u7aef\u8054\u52a8\u3001\u771f\u5b9e\u94fe\u8def\u9a8c\u8bc1\u3001\u56de\u5f52\u5bf9\u6bd4\u7b49\uff09\u3002\n\n\u6bcf\u6761\u4efb\u52a1\u5fc5\u987b\u660e\u786e\u586b\u4e00\u4e2a `test_mcp`\uff0c\u4ee5\u907f\u514d\u201c\u505a\u4e86\u4f46\u6ca1\u6d4b\u201d\u7684\u6f02\u79fb\u3002\n\n## \u516d\u3001\u72b6\u6001\u5b57\u6bb5\uff08\u679a\u4e3e\uff0c\u7981\u6b62\u767e\u5206\u6bd4\uff09\n\n- `dev_state`\uff1a`\u672a\u5f00\u59cb|\u8fdb\u884c\u4e2d|\u5df2\u5b8c\u6210`\n- `review_initial_state`\uff1a`\u672a\u5f00\u59cb|\u8fdb\u884c\u4e2d|\u5df2\u5b8c\u6210`\n- `review_regression_state`\uff1a`\u672a\u5f00\u59cb|\u8fdb\u884c\u4e2d|\u5df2\u5b8c\u6210`\n- `git_state`\uff1a`\u672a\u63d0\u4ea4|\u5df2\u63d0\u4ea4`\n\n\u9ed8\u8ba4\u503c\uff1a\n\n- \u751f\u6210\u65f6\u5168\u90e8\u586b `\u672a\u5f00\u59cb`\uff0c`git_state` \u586b `\u672a\u63d0\u4ea4`\u3002\n\n## \u4e03\u3001\u6587\u4ef6\u547d\u540d\u4e0e\u7f16\u7801\uff08\u5fc5\u987b\u6ee1\u8db3 Excel \u4e0e AI\uff09\n\n1. \u76ee\u5f55\uff1a\u786e\u4fdd\u9879\u76ee\u6839\u76ee\u5f55\u4e0b\u5b58\u5728 `issues\/`\uff08\u4e0d\u5b58\u5728\u5219\u521b\u5efa\uff09\u3002\n2. \u552f\u4e00\u547d\u540d\u5feb\u7167\uff08\u5fc5\u987b\u521b\u5efa\uff09\uff1a\n   - \u6587\u4ef6\u540d\u5efa\u8bae\uff1a`issues\/YYYY-MM-DD_HH-mm-ss-&lt;slug&gt;.csv`\n   - \u65f6\u95f4\u6233\u4f18\u5148\u4f7f\u7528**\u5f53\u524d\u65f6\u95f4**\uff1b`&lt;slug&gt;` \u53ef\u4ece plan \u6587\u4ef6\u540d\u6216 plan task \u63d0\u53d6\u5e76\u5f52\u4e00\u5316\u3002\n3. \u7981\u6b62\u751f\u6210\u201c\u6c47\u603b\u5165\u53e3\u201dCSV\uff1a\n   - \u4e0d\u8981\u521b\u5efa\/\u66f4\u65b0 `issues\/issues.csv` \u6216 `issues.csv`\u3002\n4. \u7f16\u7801\uff1a\u5fc5\u987b\u5199\u4e3a **UTF-8 with BOM**\uff08Excel \u53cb\u597d\uff0c\u907f\u514d\u4e2d\u6587\u4e71\u7801\uff09\u3002\n   - Windows PowerShell \u63a8\u8350\uff1a\u4f7f\u7528 `.NET UTF8Encoding($true)` \u5199\u6587\u4ef6\u3002\n5. \u5982\u679c\u6587\u4ef6\u88ab Excel\/WPS \u6253\u5f00\u5bfc\u81f4\u5199\u5165\u5931\u8d25\uff1a\u63d0\u793a\u7528\u6237\u5173\u95ed\u5360\u7528\u8fdb\u7a0b\u540e\u91cd\u8bd5\u3002\n\n## \u516b\u3001CSV \u8f93\u51fa\u89c4\u8303\uff08\u907f\u514d\u683c\u5f0f\u5751\uff09\n\n1. \u5fc5\u987b\u8f93\u51fa\u5408\u6cd5 CSV\uff1a\n   - \u8868\u5934\u4e00\u884c\uff1b\n   - \u6bcf\u884c\u5b57\u6bb5\u6570\u4e0e\u8868\u5934\u4e00\u81f4\uff1b\n   - \u5b57\u6bb5\u5185\u51fa\u73b0\u9017\u53f7\/\u6362\u884c\/\u53cc\u5f15\u53f7\u65f6\u5fc5\u987b\u6b63\u786e\u8f6c\u4e49\u3002\n2. \u63a8\u8350\u7b56\u7565\uff08\u66f4\u7a33\uff09\uff1a**\u6240\u6709\u5b57\u6bb5\u7edf\u4e00\u4f7f\u7528\u53cc\u5f15\u53f7\u5305\u88f9**\uff0c\u5185\u90e8 `\"` \u7528 `\"\"` \u8f6c\u4e49\u3002\n3. `refs` \u4e2d\u7684\u8def\u5f84\u5fc5\u987b\u5c3d\u91cf\u7cbe\u786e\u5230 `file:line`\uff0c\u4fbf\u4e8e\u4eba\u7c7b\u4e0e AI \u76f4\u63a5\u8df3\u8f6c\u3002\n\n## \u4e5d\u3001\u6267\u884c\u6b65\u9aa4\uff08\u4f60\u9700\u8981\u5b9e\u9645\u843d\u76d8\u5230\u6587\u4ef6\uff09\n\n\u4f60\u5e94\u6309\u4ee5\u4e0b\u6b65\u9aa4\u6267\u884c\uff0c\u5e76\u5728\u6700\u540e\u7ed9\u51fa\u6e05\u6670\u4ea4\u4ed8\u7269\uff1a\n\n1. \u5b9a\u4f4d\u5e76\u8bfb\u53d6\u8f93\u5165 `plan` \u6587\u4ef6\uff08\u6839\u636e `$ARGUMENTS` \u6216\u9ed8\u8ba4\u9009\u62e9\u6700\u65b0\uff09\u3002\n2. \u4ece plan \u7684 Phase\/\u6b65\u9aa4\u62c6\u51fa issues \u884c\uff0c\u8865\u9f50\u6bcf\u884c\u7684\u9a8c\u6536\/Review\/MCP\/refs\u3002\n3. \u5728 `issues\/` \u4e0b\u5199\u5165\u552f\u4e00\u547d\u540d\u5feb\u7167 CSV\u3002\n4. \u6821\u9a8c\uff1a\n   - \u7528 `Import-Csv`\uff08PowerShell\uff09\u6216\u7b49\u4ef7\u5de5\u5177\u9a8c\u8bc1\u53ef\u89e3\u6790\uff1b\n   - \u68c0\u67e5\u72b6\u6001\u5b57\u6bb5\u662f\u5426\u53ea\u4f7f\u7528\u679a\u4e3e\u503c\uff1b\n   - \u68c0\u67e5 `refs` \u662f\u5426\u5b58\u5728\u4e14\u975e\u7a7a\u3002\n\n## \u5341\u3001\u5bf9\u8bdd\u5185\u8f93\u51fa\u683c\u5f0f\uff08\u7b80\u6d01\u4ea4\u63a5\uff09\n\n\u5b8c\u6210\u540e\uff0c\u5728\u5bf9\u8bdd\u4e2d\u53ea\u8f93\u51fa\u5173\u952e\u4fe1\u606f\uff1a\n\n- \u751f\u6210\u7684\u5feb\u7167\u8def\u5f84\uff1a`issues\/YYYY-MM-DD_HH-mm-ss-&lt;slug&gt;.csv`\n- \u884c\u6570\u7edf\u8ba1\uff08\u591a\u5c11\u6761 issues\uff09\n- \u5982\u6709\u98ce\u9669\/\u6ce8\u610f\u4e8b\u9879\uff08\u4f8b\u5982 BOM\u3001Excel \u9501\u6587\u4ef6\uff09\n- \u4e0b\u4e00\u6b65\u5efa\u8bae\u547d\u4ee4\uff1a`\/prompts:issues_csv_execute &lt;\u4e0a\u9762\u751f\u6210\u7684\u5feb\u7167\u8def\u5f84&gt;`\n\n\u82e5\u56e0\u7b56\u7565\/\u9519\u8bef\u65e0\u6cd5\u5199\u6587\u4ef6\uff1a\u5728\u56de\u7b54\u4e2d\u8f93\u51fa\u5b8c\u6574 CSV\uff08\u4f7f\u7528\u4ee3\u7801\u5757\uff09\uff0c\u5e76\u8bf4\u660e\u5e94\u5199\u5165\u7684\u76ee\u6807\u8def\u5f84\u4e0e\u7f16\u7801\u8981\u6c42\uff08UTF-8 BOM\uff09\u3002\n\n\n<\/code><\/pre>\n<\/details>\n<p dir=\"auto\" style=\"margin: 0px 0px 14px; line-height: 1.8; font-size: 16px;\">\u76f4\u63a5\uff1a<\/p>\n<pre dir=\"auto\" class=\"codeblock-buttons\"><code class=\"hljs language-bash\" data-highlighted=\"yes\">\/prompts:plan_to_issues_csv 2025-12-22_10-40-09-codex-review-dignose-plan.md\n<\/code><\/pre>\n<p dir=\"auto\" style=\"margin: 0px 0px 14px; line-height: 1.8; font-size: 16px;\">\u7136\u540e\u5e94\u8be5\u4f1a\u751f\u6210issues.csv\uff0c\u4f60\u53ef\u4ee5\u770b\u770b\u8fd9\u4e2acsv\u6587\u4ef6\uff0c\u68c0\u67e5\u4e00\u4e0b\u3002\u63a5\u4e0b\u6765\u5c31\u662f\u65b0\u5f00\u7a97\u53e3\uff0c\u5f00\u59cb\u6267\u884c<\/p>\n<details id=\"post-cooked-html__details-1353223-1-3\" dir=\"auto\">\n<summary>\nissues_csv_execute.md\uff0c\u540c\u6837\u653e\u5728`.codex\\prompts`<\/summary>\n<pre class=\"codeblock-buttons\"><code class=\"lang-auto\">\n---\ndescription: \u57fa\u4e8e issues CSV \u6267\u884c\u95ed\u73af\uff08\u5f00\u53d1\u2192Review\u2192\u81ea\u9a8c\u6536\u2192\u63d0\u4ea4\uff09\nargument-hint: \"&lt;issues CSV \u6587\u4ef6\u8def\u5f84&gt;\"\n\n---\n\n\u4f60\u73b0\u5728\u5904\u4e8e\u300cIssues CSV \u6267\u884c\u6a21\u5f0f\uff08\u95ed\u73af\uff09\u300d\u3002\n\n\u76ee\u6807\uff1a\u4ee5 `issues\/*.csv` \u4e3a\u4efb\u52a1\u8fb9\u754c\u4e0e\u72b6\u6001\u6e90\uff0c\u63a8\u8fdb\u5e76\u4ea4\u4ed8 issue \u7684\u5b8c\u6574\u95ed\u73af\uff1a**\u5b9e\u73b0 \u2192 Review \u2192 \u81ea\u6211\u9a8c\u6536 \u2192 Git \u63d0\u4ea4**\uff08\u4e0d push\uff09\u3002\n\n&gt; \u8bf4\u660e\uff1a\u672c prompt \u53ea\u5728\u7528\u6237\u663e\u5f0f\u8c03\u7528 `\/prompts:issues_csv_execute` \u65f6\u751f\u6548\uff0c\u4e0d\u5f71\u54cd\u666e\u901a\u5bf9\u8bdd\u3002\n\n## \u4e00\u3001\u603b\u4f53\u884c\u4e3a\u7ea6\u5b9a\uff08\u5fc5\u987b\u9075\u5b88\uff09\n\n1. **CSV \u662f\u8fb9\u754c\u4e0e\u72b6\u6001\u6e90**\uff1a\u53ea\u505a CSV \u8fd9\u4e00\u884c\u63cf\u8ff0\u7684\u5de5\u4f5c\uff1b\u4efb\u4f55\u9700\u6c42\u53d8\u66f4\u5148\u5199\u56de CSV\uff08`description\/acceptance_criteria\/review_*_requirements\/test_mcp\/refs`\uff09\uff0c\u518d\u6539\u4ee3\u7801\u3002\n2. **\u9ed8\u8ba4\u5b8c\u6210\u6574\u4e2a CSV\uff08\u987a\u5e8f\u7531\u4f60\u51b3\u5b9a\uff09**\uff1a\u4f60\u53ef\u4ee5\u81ea\u884c\u51b3\u5b9a\u6267\u884c\u987a\u5e8f\uff08\u4f18\u5148\u5904\u7406\u9ad8\u4ef7\u503c\/\u9ad8\u4f18\u5148\u7ea7\/\u80fd\u89e3\u963b\u585e\u7684\u4efb\u52a1\uff0c\u5fc5\u8981\u65f6\u6309 area \u51cf\u5c11\u4e0a\u4e0b\u6587\u5207\u6362\uff09\uff0c\u4f46\u76ee\u6807\u5fc5\u987b\u662f\u628a CSV \u91cc\u7684\u6240\u6709 issues \u63a8\u5230\u201c\u95ed\u73af\u5b8c\u6210\u201d\u3002\u9047\u5230\u963b\u585e\u5fc5\u987b\u843d\u76d8\uff0c\u4f46**\u5141\u8bb8\u5148\u53bb\u505a\u5176\u5b83\u4e0d\u4f9d\u8d56\u7684 issue**\uff0c\u6700\u540e\u6c47\u603b\u5e76\u56de\u6536\u963b\u585e\u9879\u3002\u6bcf\u5b8c\u6210\u4e00\u6761 issue \u90fd\u5fc5\u987b\u628a **\u4ee3\u7801 + \u5f53\u524d CSV \u6587\u4ef6** \u4e00\u8d77\u63d0\u4ea4\uff08\u540c commit \u6f14\u8fdb\uff09\u3002\n3. **\u95ed\u73af\u4e0d\u53ef\u7f3a\u7701**\uff1a\u5b9e\u73b0 + \u6587\u6863\u540c\u6b65 + Review + \u81ea\u6211\u9a8c\u6536 + Git commit\uff08\u81f3\u5c11\u672c\u5730\u63d0\u4ea4\uff09\u7f3a\u4e00\u4e0d\u53ef\u3002\n4. **\u72b6\u6001\u9a71\u52a8**\uff1a\u4ec5\u4f7f\u7528\u679a\u4e3e\u503c\u66f4\u65b0\u72b6\u6001\u5b57\u6bb5\uff1a\n   - `dev_state`\uff1a`\u672a\u5f00\u59cb|\u8fdb\u884c\u4e2d|\u5df2\u5b8c\u6210`\n   - `review_initial_state`\uff1a`\u672a\u5f00\u59cb|\u8fdb\u884c\u4e2d|\u5df2\u5b8c\u6210`\n   - `review_regression_state`\uff1a`\u672a\u5f00\u59cb|\u8fdb\u884c\u4e2d|\u5df2\u5b8c\u6210`\n   - `git_state`\uff1a`\u672a\u63d0\u4ea4|\u5df2\u63d0\u4ea4`\n5. **\u6267\u884c\u7c7b\u4efb\u52a1\u5fc5\u987b\u8ffd\u8e2a\u8fdb\u5ea6**\uff1a\u591a\u6b65\u4efb\u52a1\uff08\u22652 \u6b65\uff09\u5fc5\u987b\u4f7f\u7528 `update_plan` \u5de5\u5177\u63a8\u8fdb `pending \u2192 in_progress \u2192 completed`\uff08\u4f46\u4e0d\u8981\u8fdb\u5165 `\/prompts:plan` \u6216\u521b\u5efa plan \u6587\u4ef6\uff09\u3002\n6. **KISS \/ YAGNI**\uff1a\u4e0d\u505a\u65e0\u5173\u91cd\u6784\uff1b\u4e0d\u5f15\u5165\u65b0\u67b6\u6784\uff1b\u4f18\u5148\u4fee\u6839\u56e0\uff1b\u4fdd\u6301\u5411\u540e\u517c\u5bb9\u6027\u3002\n7. **\u4e0d\u5047\u60f3\u7ed3\u679c\uff0c\u4f46\u5141\u8bb8\u201c\u53d7\u9650\u9a8c\u6536\u201d**\uff1a\n   - \u80fd\u8dd1\u6d4b\u8bd5\u5c31\u8dd1\uff0c\u4f18\u5148\u7528\u771f\u5b9e\u6d4b\u8bd5\/\u68c0\u67e5\u4f5c\u4e3a\u8bc1\u636e\u3002\n   - \u82e5\u56e0\u73af\u5883\/\u6743\u9650\/\u4f9d\u8d56\u5bfc\u81f4\u6d4b\u8bd5\u65e0\u6cd5\u8fd0\u884c\uff1a\u5141\u8bb8\u7ee7\u7eed\u63d0\u4ea4\uff0c\u4f46\u5fc5\u987b\u5728\u8be5\u884c `notes` \u5199\u6e05\uff1a`validation_limited:&lt;\u539f\u56e0&gt;`\uff1b`manual_test:&lt;\u540e\u7eed\u53ef\u6267\u884c\u7684\u547d\u4ee4\/\u6b65\u9aa4&gt;`\uff1b`evidence:&lt;\u5df2\u5b8c\u6210\u7684\u66ff\u4ee3\u9a8c\u8bc1&gt;`\uff1b`risk:&lt;low|medium|high&gt; &lt;\u8bf4\u660e&gt;`\u3002\n   - \u53d7\u9650\u9a8c\u6536\u4e0b\u7981\u6b62\u58f0\u79f0\u201c\u6d4b\u8bd5\u901a\u8fc7\u201d\uff0c\u4ea4\u63a5\u8f93\u51fa\u5fc5\u987b\u660e\u786e\u201c\u672a\u8fd0\u884c\u54ea\u4e9b\u6d4b\u8bd5\/\u4e3a\u4f55\u672a\u8fd0\u884c\u201d\u3002\n\n**\u8865\u5145\u7ea6\u5b9a\uff08\u5de5\u5177\/\u5b89\u5168\uff09**\uff1a\n\n- **Shell \u4e0e\u6587\u4ef6\u7cfb\u7edf**\uff1a\u8bfb\u591a\u5199\u5c11\uff1b\u907f\u514d\u7834\u574f\u6027\u547d\u4ee4\uff08\u4f8b\u5982 `rm -rf`\u3001\u5f3a\u5236\u8986\u76d6\uff09\uff0c\u9664\u975e\u7528\u6237\u660e\u786e\u6388\u6743\uff1b\u5927\u8303\u56f4\u64cd\u4f5c\u5148\u5c0f\u8303\u56f4\u8bd5\u9a8c\u3002\n- **MCP\uff08\u5982\u53ef\u7528\uff09**\uff1a\u6bcf\u8f6e\u5bf9\u8bdd\u6700\u591a\u8c03\u7528\u4e24\u4e2a MCP \u670d\u52a1\uff1b\u4f18\u5148\u672c\u5730\u5de5\u5177\uff1b\u9650\u5236\u8303\u56f4\uff1b\u5931\u8d25\u8981\u964d\u7ea7\u5e76\u8bf4\u660e\u4e0d\u786e\u5b9a\u6027\u3002\n- **\u5b89\u5168\u4e0e\u5408\u89c4**\uff1a\u4e0d\u8bbf\u95ee\/\u6cc4\u9732\u654f\u611f\u4fe1\u606f\uff08\u5bc6\u94a5\u3001\u4ee4\u724c\u3001\u79c1\u94a5\u3001\u4e2a\u4eba\u6570\u636e\uff09\uff1b\u6709\u6f5c\u5728\u7834\u574f\u6027\u53d8\u66f4\u5148\u8bf4\u660e\u5f71\u54cd\u8303\u56f4\u518d\u6267\u884c\u3002\n- **\u552f\u4e00\u72b6\u6001\u6e90**\uff1a\u4f60\u5fc5\u987b\u628a\u201c\u7528\u6237\u4f20\u5165\u7684\u8fd9\u4e00\u4e2a CSV \u6587\u4ef6\u201d\u5f53\u4f5c\u552f\u4e00\u72b6\u6001\u6e90\u4e0e\u63d0\u4ea4\u5bf9\u8c61\uff1b\u53ea\u8bfb\u5199\/\u63d0\u4ea4\u8fd9\u4e00\u4efd CSV\u3002\n- **\u7981\u6b62\u64c5\u81ea\u65b0\u5efa\/\u540c\u6b65**\uff1a\u4e0d\u8981\u521b\u5efa\/\u66f4\u65b0 `issues\/issues.csv` \u6216\u4efb\u4f55\u5176\u5b83\u201c\u6c47\u603b\/\u5feb\u7167 CSV\u201d\uff0c\u9664\u975e\u7528\u6237\u660e\u786e\u8981\u6c42\uff08\u4e14\u76ee\u6807\u6587\u4ef6\u5c31\u662f\u7528\u6237\u4f20\u5165\u7684\u90a3\u4efd\uff09\u3002\n\n## \u4e8c\u3001\u5de5\u4f5c\u6d41\u7a0b\uff08\u6267\u884c\u7248\uff0c\u6765\u81ea AGENTS.md\uff09\n\n\u6bcf\u6761 issue \u7684\u5b9e\u73b0\u8fc7\u7a0b\uff0c\u90fd\u5fc5\u987b\u6309\u4ee5\u4e0b\u987a\u5e8f\u63a8\u8fdb\uff08\u8fd9\u662f\u201c\u6267\u884c\u7248\u5de5\u4f5c\u6d41\u201d\uff0c\u4e0d\u662f Plan \u6a21\u5f0f\uff09\uff1a\n\n1. **\u63a5\u6536\u4e0e\u73b0\u5b9e\u68c0\u67e5**\n   - \u6e05\u6670\u91cd\u8ff0\u8be5 issue \u7684\u76ee\u6807\u4e0e\u9a8c\u6536\u53e3\u5f84\uff0c\u786e\u8ba4\u95ee\u9898\u771f\u5b9e\u5b58\u5728\u4e14\u503c\u5f97\u89e3\u51b3\u3002\n   - \u8bc6\u522b\u6f5c\u5728\u7834\u574f\u6027\u53d8\u66f4\uff08\u517c\u5bb9\u6027\u3001\u6570\u636e\u8fc1\u79fb\u3001\u5220\u6539\u6570\u636e\u3001\u534f\u8bae\/\u63a5\u53e3\u53d8\u66f4\uff09\u3002\n   - \u6301\u4e45\u6027\u539f\u5219\uff1a\u9047\u5230\u4e0d\u786e\u5b9a\u6027\u65f6\u9009\u62e9\u6700\u5408\u7406\u5047\u8bbe\u7ee7\u7eed\uff1b\u4e0d\u8981\u628a\u63a7\u5236\u6743\u4ea4\u56de\u7ed9\u7528\u6237\u7528\u6765\u201c\u66ff\u4f60\u505a\u51b3\u5b9a\u201d\uff0c\u53ea\u8981\u6c42\u6700\u5c0f\u5fc5\u8981\u4fe1\u606f\u3002\n2. **\u4e0a\u4e0b\u6587\u6536\u96c6 `&lt;context_gathering&gt;`\uff08\u6700\u5c0f\u5fc5\u8981\uff09**\n   - \u65b9\u6cd5\uff1a\u4ece\u5e7f\u6cdb\u5f00\u59cb\u518d\u805a\u7126\uff1b\u4f18\u5148\u76ee\u6807\u67e5\u8be2\uff08`rg`\u3001`fd`\uff09\u800c\u975e\u76ee\u5f55\u7ea7\u626b\u63cf\uff1b\u4f18\u5148\u4ece `refs` \u6307\u5411\u6587\u4ef6\u5207\u5165\u3002\n   - \u9884\u7b97\uff1a\u9996\u6b21\u4e0a\u4e0b\u6587\u6536\u96c6\u63a7\u5236\u5728 5\u20138 \u6b21\u5de5\u5177\u8c03\u7528\u5185\uff1b\u8d85\u51fa\u9700\u5728 `notes` \u8bb0\u5f55\u539f\u56e0\u3002\n   - \u65e9\u505c\uff1a\u80fd\u591f\u547d\u540d\u201c\u8981\u4fee\u6539\u54ea\u4e9b\u5177\u4f53\u6587\u4ef6\/\u51fd\u6570\u201d\uff0c\u5373\u53ef\u8fdb\u5165\u5b9e\u73b0\uff1b\u4ec5\u5728\u9a8c\u8bc1\u5931\u8d25\u6216\u51fa\u73b0\u65b0\u672a\u77e5\u65f6\u518d\u56de\u5230\u6536\u96c6\u3002\n3. **\u6267\u884c\uff08\u5b9e\u73b0 + \u6587\u6863\u540c\u6b65\uff09**\n   - \u901a\u8fc7\u5de5\u5177\u5b9e\u9645\u4fee\u6539\u6587\u4ef6\/\u8fd0\u884c\u547d\u4ee4\uff0c\u4e0d\u5047\u60f3\u7ed3\u679c\uff1b\u5931\u8d25\u8981\u6355\u83b7 stdout\/stderr \u5e76\u5206\u6790\u518d\u51b3\u5b9a\u91cd\u8bd5\/\u56de\u9000\u3002\n4. **\u9a8c\u8bc1\u4e0e\u81ea\u6211\u53cd\u601d `&lt;self_reflection&gt;`**\n   - \u80fd\u8dd1\u6d4b\u8bd5\u5c31\u8dd1\uff1b\u5148\u8dd1\u4e0e\u6539\u52a8\u6700\u76f8\u5173\u7684\u6d4b\u8bd5\uff0c\u518d\u8003\u8651\u66f4\u5e7f\u7684\u56de\u5f52\u3002\n   - \u6700\u7ec8\u5316\u524d\u81ea\u8bc4\uff1a\u53ef\u7ef4\u62a4\u6027 \/ \u6d4b\u8bd5\u8986\u76d6 \/ \u6027\u80fd \/ \u5b89\u5168\u6027 \/ \u4ee3\u7801\u98ce\u683c \/ \u6587\u6863 \/ \u5411\u540e\u517c\u5bb9\u6027\u3002\n5. **\u4ea4\u63a5**\n   - \u7b80\u8981\u7ed3\u8bba\uff08\u505a\u4e86\u4ec0\u4e48\u3001\u5f53\u524d\u72b6\u6001\uff09\uff1b\u7ed9\u51fa\u5173\u952e\u6587\u4ef6\u5f15\u7528\uff08`path:line`\uff09\uff1b\u663e\u5f0f\u5217\u51fa\u98ce\u9669\u4e0e\u540e\u7eed\u6b65\u9aa4\u3002\n\n**\u5efa\u8bae\u7684 `update_plan` \u6a21\u677f**\uff08\u6574\u8f6e\u6267\u884c\uff0c\u7528 CSV \u4f5c\u4e3a\u9010\u6761\u8fdb\u5ea6\u6e90\uff09\uff1a\n\n- \u8bfb\u53d6\/\u6821\u9a8c CSV\uff08\u786e\u5b9a\u6267\u884c\u8fb9\u754c\uff09\n- \u5faa\u73af\u5904\u7406 issues\uff08\u9010\u6761\u95ed\u73af\u63d0\u4ea4\uff09\n- \u6c47\u603b\u4ea4\u63a5\uff08\u5b8c\u6210\u6761\u6570\/\u963b\u585e\u70b9\/\u540e\u7eed\u5efa\u8bae\uff09\n\n## \u4e09\u3001\u8f93\u5165\u4e0e\u9009\u62e9 issue \u89c4\u5219\n\n1. `$ARGUMENTS` \u5fc5\u987b\u63d0\u4f9b\u4e00\u4e2a issues CSV \u8def\u5f84\uff08\u76f8\u5bf9\/\u7edd\u5bf9\u5747\u53ef\uff09\u3002\n   - **\u552f\u4e00\u72b6\u6001\u6e90**\uff1a\u4f60\u5fc5\u987b\u628a\u201c\u7528\u6237\u4f20\u5165\u7684\u8fd9\u4e00\u4e2a CSV \u6587\u4ef6\u201d\u5f53\u4f5c\u552f\u4e00\u72b6\u6001\u6e90\u4e0e\u63d0\u4ea4\u5bf9\u8c61\uff1b\u53ea\u8bfb\u5199\/\u63d0\u4ea4\u8fd9\u4e00\u4efd CSV\u3002\n   - **\u7981\u6b62\u64c5\u81ea\u65b0\u5efa\/\u540c\u6b65**\uff1a\u4e0d\u8981\u521b\u5efa\/\u66f4\u65b0 `issues\/issues.csv` \u6216\u4efb\u4f55\u5176\u5b83\u201c\u6c47\u603b\/\u5feb\u7167 CSV\u201d\uff0c\u9664\u975e\u7528\u6237\u660e\u786e\u8981\u6c42\uff08\u4e14\u76ee\u6807\u6587\u4ef6\u5c31\u662f\u7528\u6237\u4f20\u5165\u7684\u90a3\u4efd\uff09\u3002\n2. **\u201c\u5b8c\u6210\u201d\u5224\u5b9a\uff08\u7528\u4e8e\u51b3\u5b9a\u662f\u5426\u8fd8\u8981\u7ee7\u7eed\u5faa\u73af\uff09**\uff1a\n   - \u4ec5\u5f53\u8be5\u884c\u540c\u65f6\u6ee1\u8db3\uff1a`dev_state=\u5df2\u5b8c\u6210`\u3001`review_initial_state=\u5df2\u5b8c\u6210`\u3001`review_regression_state=\u5df2\u5b8c\u6210`\u3001`git_state=\u5df2\u63d0\u4ea4`\uff0c\u624d\u89c6\u4e3a\u201c\u95ed\u73af\u5b8c\u6210\u201d\u3002        \n   - \u82e5\u91c7\u7528\u53d7\u9650\u9a8c\u6536\uff1a\u5141\u8bb8\u5c06 `review_regression_state` \u7f6e\u4e3a `\u5df2\u5b8c\u6210`\uff0c\u4f46 `notes` \u5fc5\u987b\u5305\u542b `validation_limited:` \u4e0e `manual_test:`\uff0c\u5e76\u5728\u4ea4\u63a5\u4e2d\u8bf4\u660e\u3002\n3. **\u6bcf\u8f6e\u9009\u62e9\u4e00\u884c\u7684\u89c4\u5219\uff08\u987a\u5e8f\u7531\u4f60\u51b3\u5b9a\uff0c\u4f46\u8981\u53ef\u89e3\u91ca\uff09**\uff1a\n   - \u5148\u6536\u655b\u534a\u6210\u54c1\uff1a\u82e5\u5b58\u5728 `git_state=\u672a\u63d0\u4ea4` \u4e14\uff08`dev_state=\u8fdb\u884c\u4e2d` \u6216 `dev_state=\u5df2\u5b8c\u6210`\uff09\u7684\u884c\uff0c\u4f18\u5148\u4ece\u8fd9\u4e9b\u884c\u91cc\u9009\u4e00\u6761\u5148\u5b8c\u6210\u63d0\u4ea4\uff08\u907f\u514d\u957f\u671f\u60ac\u6302\uff09\u3002\n   - \u518d\u9009\u53ef\u4ea4\u4ed8\u9879\uff1a\u5728\u5176\u4f59\u201c\u672a\u95ed\u73af\u5b8c\u6210\u201d\u7684\u884c\u4e2d\uff0c\u81ea\u4e3b\u51b3\u5b9a\u4e0b\u4e00\u6761\uff08\u5efa\u8bae\u987a\u5e8f\uff1aP0 \u2192 P1 \u2192 P2\uff1b\u4f18\u5148\u80fd\u89e3\u963b\u585e\/\u63d0\u4f9b\u516c\u5171\u80fd\u529b\u7684\u4efb\u52a1\uff1b\u5c3d\u91cf\u51cf\u5c11\u65e0\u610f\u4e49\u7684\u4e0a\u4e0b\u6587\u5207\u6362\uff09\u3002\n   - \u9009\u4e2d\u540e\u9700\u7ed9\u51fa 1 \u53e5\u8bdd\u7406\u7531\uff08\u5199\u5165\u8be5\u884c `notes`\uff0c\u4f8b\u5982 `picked_reason:&lt;...&gt;`\uff09\uff0c\u4fbf\u4e8e\u56de\u6eaf\u4e3a\u4ec0\u4e48\u8fd9\u4e48\u6392\u3002\n4. **\u963b\u585e\u7b56\u7565\uff08\u5141\u8bb8\u8df3\u8fc7\uff0c\u4f46\u5fc5\u987b\u56de\u6536\uff09**\uff1a\n   - \u5355\u6761 issue \u82e5\u51fa\u73b0\u201c\u786c\u963b\u585e\u201d\uff08\u9700\u8981\u7528\u6237\u51b3\u7b56\/\u5916\u90e8\u73af\u5883\/\u6743\u9650\/\u51ed\u8bc1\uff09\uff1a\u6309\u300c\u4e94\u3001\u5931\u8d25\/\u963b\u585e\u5904\u7406\u300d\u843d\u76d8\u540e\uff0c\u5141\u8bb8\u5207\u5230\u4e0b\u4e00\u6761\u7ee7\u7eed\u63a8\u8fdb\u3002\n   - \u5f53\u6240\u6709\u5269\u4f59\u672a\u95ed\u73af\u5b8c\u6210\u7684 issues \u90fd\u5904\u4e8e\u963b\u585e\u72b6\u6001\uff0c\u6216\u8fde\u7eed\u591a\u6761\u9047\u5230\u786c\u963b\u585e\u5bfc\u81f4\u65e0\u6cd5\u63a8\u8fdb\uff1a\u505c\u6b62\u5e76\u6c47\u603b\u963b\u585e\u6e05\u5355\uff0c\u5411\u7528\u6237\u8bf7\u6c42\u6700\u5c0f\u5fc5\u8981\u4fe1\u606f\u3002\n\n## \u56db\u3001\u6267\u884c\u95ed\u73af\n\n\u6309\u987a\u5e8f\u6267\u884c\u4ee5\u4e0b\u6b65\u9aa4\uff08\u6bcf\u4e00\u6b65\u90fd\u8981\u7528\u5de5\u5177\u5b9e\u9645\u843d\u76d8\/\u9a8c\u8bc1\uff0c\u4e0d\u8981\u201c\u60f3\u8c61\u5b8c\u6210\u201d\uff09\uff1a\n\n0. **\u63a5\u6536\u4e0e\u73b0\u5b9e\u68c0\u67e5 + \u5efa\u7acb\u6267\u884c\u8ba1\u5212\uff08update_plan\uff09**\n   - \u7528 1\u20132 \u53e5\u8bdd\u91cd\u8ff0\uff1a\u672c\u8f6e\u6267\u884c\u7684 CSV \u8def\u5f84\u3001\u5f53\u524d\u8981\u5904\u7406\u7684 `id\/title`\u3001\u9a8c\u6536\u53e3\u5f84\u3001\u98ce\u9669\u70b9\uff08\u5982\u6709\uff09\u3002\n   - \u7528 `update_plan` \u5efa\u7acb\u5e76\u8ffd\u8e2a\u672c\u8f6e\u6267\u884c\u8ba1\u5212\uff08\u5efa\u8bae 3 \u6b65\uff1a\u8bfb\u53d6\/\u6821\u9a8c CSV \u2192 \u5faa\u73af\u5904\u7406 issues \u2192 \u6c47\u603b\u4ea4\u63a5\uff09\uff0c\u5faa\u73af\u4e2d\u4e0d\u8981\u53cd\u590d\u91cd\u5efa\u8ba1\u5212\uff08\u7ec6\u7c92\u5ea6\u8fdb\u5ea6\u4ee5 CSV \u72b6\u6001\u4e3a\u51c6\uff09\u3002\n1. **\u8bfb\u53d6 CSV + \u6821\u9a8c\u8868\u5934**\n   - \u5fc5\u987b\u5305\u542b\u56fa\u5b9a\u8868\u5934\uff08\u4e0e `\/prompts:plan_to_issues_csv` \u4e00\u81f4\uff09\u3002\n   - \u4e0d\u7b26\u5408\u5219\u505c\u6b62\uff0c\u5e76\u63d0\u793a\u7528\u6237\u5148\u7528 `\/prompts:plan_to_issues_csv` \u751f\u6210\/\u4fee\u590d CSV\u3002\n   - \u5feb\u7167\u7b56\u7565\uff1a\u65e5\u5e38\u63a8\u8fdb\u53ea\u7ef4\u62a4\u7528\u6237\u672c\u6b21\u4f20\u5165\u7684 CSV \u6587\u4ef6\uff1b\u4e0d\u8981\u81ea\u52a8\u65b0\u5efa `issues\/YYYY-...csv`\uff0c\u9664\u975e\u7528\u6237\u660e\u786e\u8981\u6c42\u6216\u5c5e\u4e8e\u201c\u4ece Plan \u521d\u59cb\u5316\u751f\u6210\/\u4f1a\u8bae\u5927\u6539\u91cd\u843d\u76d8\u201d\u3002\n   - \u6c47\u603b\u7b56\u7565\uff1a\u4e0d\u8981\u81ea\u52a8\u751f\u6210\/\u66f4\u65b0 `issues\/issues.csv`\uff08\u9664\u975e\u7528\u6237\u4f20\u5165\u7684\u5c31\u662f\u8be5\u6587\u4ef6\uff09\u3002\n2. **\u9501\u5b9a\u76ee\u6807\u884c\u5e76\u8f93\u51fa\u6458\u8981**\n   - \u8f93\u51fa\uff1a`id\/title\/description\/acceptance_criteria\/test_mcp\/refs`\uff08\u7b80\u6d01\u5373\u53ef\uff09\u3002\n3. **\u8865\u9f50\u6267\u884c\u4fe1\u606f\uff08\u5982\u7f3a\u5931\uff09**\n   - `acceptance_criteria` \u5fc5\u987b\u53ef\u9a8c\u8bc1\uff08\u6700\u597d\u7ed9\u590d\u73b0\u6b65\u9aa4\/\u9608\u503c\uff09\u3002\n   - `review_initial_requirements` \u4e0e `review_regression_requirements` \u5fc5\u987b\u53ef\u6267\u884c\uff08\u517c\u5bb9\u6027\/\u8fb9\u754c\/\u56de\u5f52\u70b9\uff09\u3002\n   - `test_mcp` \u5fc5\u987b\u660e\u786e\uff08`AUTOSERVER|AUTOFRONTEND|AUTOE2E` \u6216\u9879\u76ee\u81ea\u5b9a\u4e49\u679a\u4e3e\uff09\u3002\n   - `refs` \u81f3\u5c11 1 \u4e2a `path:line`\uff08\u6307\u5411\u5165\u53e3\u6587\u4ef6\/\u5173\u952e\u51fd\u6570\uff09\u3002\n   - \u82e5\u9700\u8981\u53d8\u66f4\u8fd9\u4e9b\u5b57\u6bb5\uff1a**\u5148\u5199\u5165 CSV \u518d\u7ee7\u7eed\u7f16\u7801**\u3002\n4. **\u542f\u52a8\u72b6\u6001\u5e76\u5199\u56de CSV**\n   - \u5c06\u8be5\u884c `dev_state` \u7f6e\u4e3a `\u8fdb\u884c\u4e2d`\uff1b\n   - \u5c06\u8be5\u884c `review_initial_state` \u7f6e\u4e3a `\u8fdb\u884c\u4e2d`\uff08\u4ee3\u8868\u8fb9\u5f00\u53d1\u8fb9 Review \u5df2\u5f00\u59cb\uff09\uff1b\n   - \u4fdd\u5b58 CSV\uff08\u4fdd\u6301 **UTF-8 BOM**\uff1b\u82e5 Excel\/WPS \u5360\u7528\u5bfc\u81f4\u5199\u5165\u5931\u8d25\uff0c\u63d0\u793a\u7528\u6237\u5173\u95ed\u5360\u7528\u8fdb\u7a0b\u540e\u91cd\u8bd5\uff09\u3002\n5. **\u4e0a\u4e0b\u6587\u6536\u96c6\uff08\u6700\u5c0f\u5fc5\u8981\uff09**\n   - \u4f18\u5148\u4ece `refs` \u6307\u5411\u6587\u4ef6\u5f00\u59cb\u8bfb\uff1b\n   - \u4f7f\u7528 `rg` \u7cbe\u786e\u5b9a\u4f4d\u5173\u952e\u7b26\u53f7\u4e0e\u8c03\u7528\u94fe\uff1b\n   - \u65e9\u505c\uff1a\u80fd\u660e\u786e\u201c\u8981\u6539\u54ea\u4e9b\u5177\u4f53\u6587\u4ef6\/\u51fd\u6570\u201d\u5373\u53ef\u8fdb\u5165\u5b9e\u73b0\u3002\n6. **\u5b9e\u73b0\uff08\u91cd\u70b9\uff1a\u6309\u9a8c\u6536\u53e3\u5f84\u9a71\u52a8\uff09 + \u6587\u6863\u540c\u6b65**\n   1. **\u5b9e\u73b0\u524d\u786e\u8ba4**\n      - \u628a `acceptance_criteria` \u62c6\u6210\u201c\u53ef\u9a8c\u8bc1\u7684\u6700\u5c0f\u53d8\u66f4\u96c6\u5408\u201d\uff08\u4f18\u5148 1\u20133 \u4e2a\u53ef\u6d4b\u70b9\uff09\uff1b\u82e5\u62c6\u4e0d\u5f00\uff0c\u5148\u628a\u9a8c\u6536\u53e3\u5f84\u8865\u9f50\u518d\u5199\u4ee3\u7801\u3002\n      - \u660e\u786e\u6539\u52a8\u8fb9\u754c\uff1a\u672c\u6b21\u53ea\u8986\u76d6\u8be5 issue\uff1b\u5982\u53d1\u73b0\u9700\u8981\u62c6\u5206\u4e3a\u591a\u4e2a issue\uff0c\u5148\u5728 CSV \u843d\u76d8\u518d\u7ee7\u7eed\u3002\n   2. **\u6700\u5c0f\u53d8\u66f4\u8bbe\u8ba1\uff08KISS\/YAGNI\/\u517c\u5bb9\u4f18\u5148\uff09**\n      - \u590d\u7528\u9879\u76ee\u65e2\u6709\u6a21\u5f0f\u4e0e\u62bd\u8c61\uff1b\u907f\u514d\u5f15\u5165\u65b0\u67b6\u6784\/\u65b0\u4f9d\u8d56\u3002\n      - \u672a\u7ecf\u6279\u51c6\u4e0d\u7834\u574f\u73b0\u6709 API\/CLI\/\u6570\u636e\u683c\u5f0f\uff1b\u5fc5\u8981\u65f6\u52a0\u517c\u5bb9\u5206\u652f\/\u964d\u7ea7\u903b\u8f91\uff0c\u5e76\u5728 `notes` \u8bb0\u5f55\u7406\u7531\u3002\n   3. **\u7f16\u7801\u6267\u884c\uff08\u8d28\u91cf\u95e8\u524d\u79fb\uff09**\n      - \u5355\u4e00\u804c\u8d23\uff1a\u51fd\u6570\u53ea\u505a\u4e00\u4ef6\u4e8b\uff1b\u63a7\u5236\u5d4c\u5957\u5c42\u7ea7\uff08\u5c3d\u91cf \u22643\uff09\u3002\n      - \u9519\u8bef\u5904\u7406\u4e0e\u53ef\u89c2\u6d4b\u6027\uff1a\u5173\u952e\u5931\u8d25\u8def\u5f84\u8981\u6709\u660e\u786e\u8fd4\u56de\/\u5f02\u5e38\u5904\u7406\u4e0e\u65e5\u5fd7\uff08\u907f\u514d\u6cc4\u9732\u654f\u611f\u4fe1\u606f\uff09\u3002\n      - \u6027\u80fd\u4e0e\u8d44\u6e90\uff1a\u907f\u514d\u660e\u663e\u7684 O(N^2)\/\u5168\u8868\u626b\u63cf\/\u65e0\u754c\u7f13\u5b58\/\u65e0\u754c\u91cd\u8bd5\uff1b\u5bf9\u5916\u90e8\u4f9d\u8d56\u8bbe\u7f6e\u8d85\u65f6\u4e0e\u964d\u7ea7\uff08\u5982\u9002\u7528\uff09\u3002\n      - \u6539\u52a8\u4e60\u60ef\uff1a\u5c0f\u6b65\u63d0\u4ea4\u524d\u5148 `git diff` \u81ea\u67e5\u8fb9\u754c\uff0c\u907f\u514d\u628a\u65e0\u5173\u683c\u5f0f\u5316\/\u91cd\u547d\u540d\u6df7\u8fdb\u6765\u3002\n   4. **\u5b9e\u73b0\u5185\u5faa\u73af\u9a8c\u8bc1**\n      - \u5728\u5b9e\u73b0\u8fc7\u7a0b\u4e2d\u5c31\u8fd0\u884c\u6700\u76f8\u5173\u7684\u68c0\u67e5\/\u6d4b\u8bd5\uff08\u800c\u4e0d\u662f\u6700\u540e\u4e00\u6b21\u6027\u8dd1\uff09\uff1b\u5931\u8d25\u8981\u5148\u4fee\u518d\u63a8\u8fdb\u72b6\u6001\u3002\n      - \u9700\u8981\u65f6\u8865\u5145\u6700\u5c0f\u5fc5\u8981\u7684\u6d4b\u8bd5\u7528\u4f8b\uff08\u9879\u76ee\u5df2\u6709\u6d4b\u8bd5\u4f53\u7cfb\u65f6\uff09\uff1b\u4e0d\u8981\u7ed9\u65e0\u6d4b\u8bd5\u9879\u76ee\u5f3a\u884c\u5f15\u5165\u65b0\u6846\u67b6\u3002\n   5. **\u6587\u6863\/refs \u540c\u6b65\uff08\u4e0e\u5b9e\u73b0\u540c\u7b49\u91cd\u8981\uff09**\n      - \u540c\u6b65\u66f4\u65b0\u4e0e\u8be5 issue \u76f4\u63a5\u76f8\u5173\u7684\u6587\u6863\/\u6ce8\u91ca\/\u9a8c\u6536\u8bb0\u5f55\uff08\u4ee5 `acceptance_criteria` \u4e3a\u51c6\uff09\u3002\n      - \u82e5\u65b0\u589e\/\u4fee\u6539\u5173\u952e\u5165\u53e3\u6216\u5173\u952e\u884c\u4e3a\u53d8\u5316\uff1a\u628a\u65b0\u7684 `path:line` \u8ffd\u52a0\u5230\u8be5\u884c `refs`\uff08\u7528 `;` \u5206\u9694\uff09\u3002\n7. **Review\uff08\u4e24\u6bb5\u5f0f\uff09**\n   - \u5bf9\u7167 `review_initial_requirements` \u5b8c\u6210\u5f00\u53d1\u8fc7\u7a0b\u81ea\u67e5\uff0c\u5e76\u5c06 `review_initial_state` \u7f6e\u4e3a `\u5df2\u5b8c\u6210`\uff1b\n   - \u5bf9\u7167 `review_regression_requirements` \u6267\u884c\u56de\u5f52\/\u590d\u6d4b\uff0c\u5e76\u5c06 `review_regression_state` \u7f6e\u4e3a `\u5df2\u5b8c\u6210`\u3002\n   - \u82e5\u56de\u5f52\/\u590d\u6d4b\u5728\u5f53\u524d\u73af\u5883\u4e0d\u53ef\u6267\u884c\uff1a\u8d70\u201c\u53d7\u9650\u9a8c\u6536\u201d\uff08\u6309\u300c\u4e00-7\u300d\u5199 `notes` + \u4ea4\u63a5\u8bf4\u660e\uff09\uff0c\u4ecd\u53ef\u5c06 `review_regression_state` \u7f6e\u4e3a `\u5df2\u5b8c\u6210`\uff0c\u4f46\u4e0d\u5f97\u58f0\u79f0\u6d4b\u8bd5\u901a\u8fc7\u3002\n8. **\u81ea\u6211\u9a8c\u6536\uff08\u4e25\u683c\u6309 acceptance_criteria\uff09**\n   - \u7ed9\u51fa\u201c\u901a\u8fc7\/\u672a\u901a\u8fc7\u201d\u7684\u8bc1\u636e\uff1b\n   - \u6309 `test_mcp` \u8fd0\u884c\u6700\u76f8\u5173\u7684\u6d4b\u8bd5\/\u68c0\u67e5\uff08\u4f8b\u5982\uff1a\u540e\u7aef pytest\u3001\u524d\u7aef lint\/test\u3001e2e playwright \u7b49\uff09\u3002\n   - \u82e5\u65e0\u6cd5\u8fd0\u884c\u6d4b\u8bd5\uff1a\u6309\u300c\u4e00-7\u300d\u8bb0\u5f55 `notes`\uff08\u542b `manual_test` \u4e0e `risk`\uff09\uff0c\u5e76\u8865\u5145\u6700\u5c0f\u53ef\u884c\u7684\u66ff\u4ee3\u9a8c\u8bc1\uff1b\u4ea4\u63a5\u4e2d\u660e\u786e\u54ea\u4e9b\u672a\u8dd1\u3002\n9. **\u5b8c\u6210\u72b6\u6001\u5e76\u5199\u56de CSV\uff08\u63d0\u4ea4\u524d\uff0c\u786e\u4fdd\u540c commit \u6f14\u8fdb\uff09**\n   - \u5c06\u8be5\u884c `dev_state` \u7f6e\u4e3a `\u5df2\u5b8c\u6210`\uff1b\n   - \u5c06\u8be5\u884c `git_state` \u7f6e\u4e3a `\u5df2\u63d0\u4ea4`\uff08\u8868\u793a\u201c\u672c\u6b21\u5c06\u5b8c\u6210\u672c\u5730\u63d0\u4ea4\u201d\uff1b\u82e5\u540e\u7eed\u63d0\u4ea4\u5931\u8d25\uff0c\u9700\u56de\u6eda\u4e3a `\u672a\u63d0\u4ea4` \u518d\u91cd\u8bd5\uff09\uff1b\n   - `notes` \u8ffd\u52a0\uff1a`done_at:&lt;date&gt;`\u3001\u9a8c\u6536\u8981\u70b9\/\u8bc1\u636e\u6458\u8981\u3001\uff08\u53ef\u9009\uff09`pr:&lt;id&gt;`\uff1b\n   - \u4fdd\u5b58 CSV\uff08\u4fdd\u6301 UTF-8 BOM\uff09\u3002\n10. **Git \u63d0\u4ea4\uff08\u95ed\u73af\u5173\u952e\u6b65\u9aa4\uff09**\n\n   - `git status` \/ `git diff` \u786e\u8ba4\u53d8\u66f4\u8fb9\u754c\u53ea\u8986\u76d6\u8be5 issue\uff08\u65e0\u5173\u6539\u52a8\u8981\u5254\u9664\uff09\u3002\n   - `git add` \u5fc5\u987b\u5305\u542b\uff1a\u4ee3\u7801\u53d8\u66f4 + \u5f53\u524d CSV \u6587\u4ef6\uff08\u540c commit \u6f14\u8fdb\uff09\u3002\n   - \u63d0\u4ea4\u7c92\u5ea6\uff1a\u4f18\u5148\u201c\u4e00\u6761 issue \u4e00\u4e2a commit\/PR\u201d\u3002\n   - commit message\uff1a`[&lt;id&gt;] &lt;title&gt;`\uff08\u5fc5\u8981\u65f6\u8865\u5145\u77ed\u8bf4\u660e\uff09\u3002\n   - \u53ef\u9009\u8ffd\u6eaf\uff1a\u5982\u679c\u5fc5\u987b\u628a commit hash \u5199\u8fdb CSV \u7684 `notes`\uff0c\u53ea\u80fd\u201c\u63d0\u4ea4\u540e\u518d\u66f4\u65b0 CSV \u518d\u63d0\u4ea4\u4e00\u6b21\u201d\uff08\u4f1a\u4ea7\u751f meta commit\uff09\uff1b\u5426\u5219\u628a hash \u5199\u5728\u5bf9\u8bdd\u4ea4\u63a5\u8f93\u51fa\u91cc\u5373\u53ef\u3002\n   - \u82e5 `git commit` \u5931\u8d25\uff1a\u5fc5\u987b\u5c06\u8be5\u884c `git_state` \u56de\u6eda\u4e3a `\u672a\u63d0\u4ea4`\uff0c\u5728 `notes` \u8bb0\u5f55 `blocked:git commit failed &lt;\u539f\u56e0&gt;`\uff0c\u5e76\u505c\u6b62\uff08\u4e0d\u8981\u7ee7\u7eed\u4e0b\u4e00\u6761\uff09\u3002\n\n11. **\u5bf9\u8bdd\u4ea4\u63a5\u8f93\u51fa\uff08\u6309 AGENTS \u6267\u884c\u8fdb\u5ea6\u5f0f\uff0c\u7b80\u6d01\uff09**\n\n   - \u672c\u6b21\u5904\u7406\u7684 `id\/title`\uff1b\n   - \u82e5\u672c\u6b21\u5faa\u73af\u5904\u7406\u4e86\u591a\u6761\uff1a\u8f93\u51fa\u201c\u672c\u6b21\u5b8c\u6210\u6761\u6570 \/ \u5269\u4f59\u672a\u5b8c\u6210\u6761\u6570 \/\uff08\u5982\u6709\uff09\u963b\u585e id\u201d\uff1b\n   - \u5173\u952e\u53d8\u66f4\u70b9\u4e0e\u6587\u4ef6\u5f15\u7528\uff08`path:line`\uff09\uff1b\n   - \u5b9e\u9645\u8fd0\u884c\u7684\u6d4b\u8bd5\/\u7ed3\u679c\uff1b\n   - \u82e5\u91c7\u7528\u53d7\u9650\u9a8c\u6536\uff1a\u5217\u51fa\u672a\u8fd0\u884c\u6d4b\u8bd5\/\u539f\u56e0\/`manual_test`\uff1b\n   - \u672c\u5730 commit hash\uff08\u5982\u679c\u5df2\u63d0\u4ea4\uff09\uff1b\n   - \u98ce\u9669\/\u540e\u7eed\u5efa\u8bae\uff08\u82e5\u6709\uff09\u3002\n\n12. **\u5faa\u73af\u4e0e\u505c\u6b62\u6761\u4ef6\uff08\u9ed8\u8ba4\u5faa\u73af\uff09**\n\n   - \u6bcf\u5b8c\u6210\u5e76\u63d0\u4ea4\u4e00\u6761\u540e\uff0c\u56de\u5230\u300c\u4e09\u3001\u8f93\u5165\u4e0e\u9009\u62e9 issue \u89c4\u5219\u300d\u9009\u62e9\u4e0b\u4e00\u6761\u7ee7\u7eed\uff0c\u76f4\u5230\uff1a\n     - \u6240\u6709 issues \u5747\u8fbe\u5230\u201c\u95ed\u73af\u5b8c\u6210\u201d\uff1b\u6216\n     - \u6240\u6709\u5269\u4f59 issues \u5747\u963b\u585e\uff0c\u65e0\u6cd5\u7ee7\u7eed\u63a8\u8fdb\uff08\u6309\u300c\u4e94\u3001\u5931\u8d25\/\u963b\u585e\u5904\u7406\u300d\u6c47\u603b\u540e\u505c\u6b62\uff09\u3002\n\n## \u4e94\u3001\u5931\u8d25\/\u963b\u585e\u5904\u7406\uff08\u5fc5\u987b\u843d\u76d8\uff09\n\n\u51fa\u73b0\u4ee5\u4e0b\u4efb\u4e00\u60c5\u51b5\uff0c\u4f18\u5148\u5c1d\u8bd5\u81ea\u884c\u6d88\u5316\uff1b\u82e5\u786e\u5b9e\u65e0\u6cd5\u5728\u5f53\u524d\u4e0a\u4e0b\u6587\u5185\u89e3\u51b3\uff0c\u5219\u6309\u672c\u8282\u201c\u843d\u76d8\u963b\u585e\u201d\u5904\u7406\uff1a\n\n\u7279\u522b\u8bf4\u660e\uff1a\u6d4b\u8bd5\u201c\u65e0\u6cd5\u8fd0\u884c\u201d\u4e0d\u7b49\u540c\u4e8e\u963b\u585e\u3002\u82e5\u5b9e\u73b0\u5df2\u5b8c\u6210\u4e14\u98ce\u9669\u53ef\u63a7\uff0c\u4f18\u5148\u8d70\u201c\u53d7\u9650\u9a8c\u6536\u201d\uff08\u6309\u300c\u4e00-7\u300d\u8bb0\u5f55 `notes`\uff09\u5e76\u63d0\u4ea4\uff1b\u53ea\u6709\u5f53\u8df3\u8fc7\u6d4b\u8bd5\u4f1a\u5e26\u6765\u9ad8\u98ce\u9669\uff08\u4f8b\u5982\u6570\u636e\u8fc1\u79fb\/\u6743\u9650\/\u652f\u4ed8\/\u5220\u9664\/\u5927\u8303\u56f4\u91cd\u6784\uff09\u65f6\uff0c\u624d\u6309\u672c\u8282\u963b\u585e\u5904\u7406\u3002\n\n- \u9a8c\u6536\u53e3\u5f84\u4e0d\u6e05\uff1b\n- refs \u627e\u4e0d\u5230\/\u4ee3\u7801\u5b9a\u4f4d\u5931\u8d25\uff1b\n- \u6d4b\u8bd5\u5931\u8d25\u4e14\u65e0\u6cd5\u5728\u5f53\u524d\u4e0a\u4e0b\u6587\u4fee\u590d\uff1b\n- \u9700\u8981\u6539\u52a8\u8d85\u51fa\u8be5\u884c `description` \u8fb9\u754c\u3002\n\n\u5904\u7406\u65b9\u5f0f\uff1a\n\n1. \u5728\u8be5\u884c `notes` \u8bb0\u5f55\uff1a`blocked:&lt;\u539f\u56e0&gt;` + \u5df2\u505a\u8fc7\u7684\u6392\u67e5\/\u4e0b\u4e00\u6b65\u5efa\u8bae\uff1b\n2. `dev_state\/review_*_state` \u4fdd\u6301\u201c\u771f\u5b9e\u8fdb\u5ea6\u201d\uff08\u901a\u5e38\u4e3a `\u8fdb\u884c\u4e2d`\uff1b\u82e5\u5b9e\u73b0\u4e0e\u9a8c\u6536\u5df2\u5b8c\u6210\u4f46\u5361\u5728\u63d0\u4ea4\/\u56de\u5f52\uff0c\u53ef\u4e3a `\u5df2\u5b8c\u6210`\uff09\uff0c\u4f46 `git_state` \u5fc5\u987b\u4fdd\u6301 `\u672a\u63d0\u4ea4`\uff1b\n3. \u7ee7\u7eed\u7b56\u7565\uff1a\n   - \u82e5\u8fd8\u6709\u5176\u4ed6\u4e0d\u4f9d\u8d56\u8be5\u963b\u585e\u9879\u7684 issues\uff1a\u5141\u8bb8\u7ee7\u7eed\u4e0b\u4e00\u6761\u63a8\u8fdb\uff08\u4f46\u5728\u6700\u7ec8\u4ea4\u63a5\u5fc5\u987b\u6c47\u603b\u963b\u585e\u6e05\u5355\uff09\u3002\n   - \u82e5\u5269\u4f59 issues \u5168\u90e8\u963b\u585e\uff1a\u505c\u6b62\u5e76\u7528 1\u20133 \u53e5\u8bdd\u5411\u7528\u6237\u6c47\u62a5\u963b\u585e\u70b9\u4e0e\u9700\u8981\u7684\u6700\u5c0f\u51b3\u7b56\u4fe1\u606f\u3002\n\n## \u516d\u3001\u4f7f\u7528\u793a\u4f8b\n\n- `\/prompts:issues_csv_execute issues\\\\2025-12-22_11-02-44-codex-review-dignose-plan.csv`\n- `\/prompts:issues_csv_execute issues\/2025-12-19_11-02-22-perf-audit-2025-12-18.csv`\n\n## \u4e03\u3001\u63d0\u4ea4\u524d\u81ea\u68c0\u6e05\u5355\n\n**\u95ed\u73af\u5fc5\u8fc7**\uff1a\n\n- \u8be5 issue \u7684\u9a8c\u6536\u53e3\u5f84\u6709\u201c\u53ef\u590d\u73b0\u8bc1\u636e\u201d\uff08\u6d4b\u8bd5\u8f93\u51fa\/\u590d\u73b0\u6b65\u9aa4\/\u622a\u56fe\u8def\u5f84\u7b49\uff09\n- \u82e5\u91c7\u7528\u53d7\u9650\u9a8c\u6536\uff1a\u8be5\u884c `notes` \u5df2\u5199 `validation_limited\/manual_test\/evidence\/risk`\uff0c\u4e14\u4ea4\u63a5\u660e\u786e\u672a\u8dd1\u9879\n- `review_initial_state` \u4e0e `review_regression_state` \u5df2\u6309\u8981\u6c42\u63a8\u8fdb\uff08Review \u53cc\u8f68\u4e0d\u4e92\u76f8\u66ff\u4ee3\uff09\n- CSV \u4e0e\u4ee3\u7801\u4e00\u8d77\u63d0\u4ea4\uff08`git add` \u8986\u76d6\u4e24\u8005\uff09\uff0c\u4e14\u72b6\u6001\u679a\u4e3e\u503c\u5408\u6cd5\n- \u6587\u6863\/\u6ce8\u91ca\/refs \u5df2\u4e0e\u5b9e\u73b0\u540c\u6b65\uff08\u6700\u5c0f\u4f46\u51c6\u786e\uff09\n- commit message \u4ee5 `[&lt;id&gt;] &lt;title&gt;` \u5f00\u5934\u4e14\u65e0\u65e0\u5173\u6539\u52a8\n\n**&lt;self_reflection&gt; \u8d28\u91cf\u81ea\u8bc4**\uff1a\n\n- \u53ef\u7ef4\u62a4\u6027\uff08\u6539\u52a8\u53ef\u8bfb\u3001\u53ef\u5b9a\u4f4d\u3001\u6613\u56de\u6eda\uff09\n- \u6d4b\u8bd5\u8986\u76d6\uff08\u65b0\u589e\/\u66f4\u65b0\u5173\u952e\u6d4b\u8bd5\u6216\u5728 `notes` \u8bf4\u660e\u4e3a\u4f55\u65e0\u6cd5\u8865\uff09\n- \u6027\u80fd\uff08\u907f\u514d\u660e\u663e\u9000\u5316\uff1b\u5fc5\u8981\u65f6\u8865\u6700\u5c0f\u6d4b\u91cf\/\u5bf9\u6bd4\uff09\n- \u5b89\u5168\u6027\uff08\u4e0d\u6cc4\u9732\u654f\u611f\u4fe1\u606f\uff1b\u8f93\u5165\u6821\u9a8c\/\u6743\u9650\u8fb9\u754c\u4e0d\u5012\u9000\uff09\n- \u4ee3\u7801\u98ce\u683c\uff08\u9075\u5faa\u9879\u76ee\u65e2\u6709\u98ce\u683c\uff1b\u907f\u514d\u65e0\u5173\u683c\u5f0f\u5316\/\u91cd\u547d\u540d\uff09\n- \u6587\u6863\uff08\u4e0e\u884c\u4e3a\u4e00\u81f4\uff1b\u9a8c\u6536\u53e3\u5f84\/\u7528\u6cd5\/\u9650\u5236\u5199\u6e05\u695a\uff09\n- \u5411\u540e\u517c\u5bb9\u6027\uff08\u4e0d\u7834\u574f\u73b0\u6709 API\/CLI\/\u6570\u636e\u683c\u5f0f\uff1b\u5fc5\u8981\u65f6\u6709\u517c\u5bb9\u7b56\u7565\uff09\n\n**\u6d41\u7a0b\u81ea\u68c0\uff08AGENTS\uff09**\uff1a\n\n- \u63a5\u89e6\u5de5\u5177\u524d\u5df2\u8bb0\u5f55\u201c\u63a5\u6536\u4e0e\u73b0\u5b9e\u68c0\u67e5\u201d\n- \u9996\u6b21\u4e0a\u4e0b\u6587\u6536\u96c6\u5728 5\u20138 \u6b21\u5de5\u5177\u8c03\u7528\u5185\uff08\u6216\u5df2\u5728 `notes` \u8bb0\u5f55\u4f8b\u5916\u539f\u56e0\uff09\n- \u4f7f\u7528 `update_plan` \u8ffd\u8e2a \u22652 \u6b65\u4e14\u5b9e\u65f6\u66f4\u65b0\uff08\u4e0d\u6279\u91cf\u66f4\u65b0\uff09\n- \u4ea4\u63a5\u8f93\u51fa\u5305\u542b `path:line`\u3001\u98ce\u9669\u4e0e\u540e\u7eed\u6b65\u9aa4\n\n<\/code><\/pre>\n<\/details>\n<p dir=\"auto\" style=\"margin: 0px 0px 14px; line-height: 1.8; font-size: 16px;\">\u76f4\u63a5\u5728\u65b0session:<\/p>\n<pre dir=\"auto\" class=\"codeblock-buttons\"><code class=\"hljs language-bash\" data-highlighted=\"yes\">\/prompts:issues_csv_execute 2025-12-22_10-40-09-codex-review-dignose-plan.csv\n<\/code><\/pre>\n<p dir=\"auto\" style=\"margin: 0px 0px 14px; line-height: 1.8; font-size: 16px;\"><p style=\"margin: 0px 0px 14px; line-height: 1.8; font-size: 16px;\">\u4e4b\u540e\u5c31\u4f1a\u4e00\u76f4\u8dd1\u4e86\uff0c\u5168\u7a0b\u90fd\u662f\u7528 5.2-xhigh\u30025.2-codex\u8dd1\u5f97\u5feb\uff0c\u4f46\u662f\u4f1a\u6f0f\u4e1c\u897f\uff0c\u7136\u540e\u5199\u5f97\u4e5f\u6709\u70b9\u95ee\u9898\u3002<\/p><p style=\"margin: 0px 0px 14px; line-height: 1.8; font-size: 16px;\">\u8fd9\u6837\u8dd1\uff0c\u8dd1\u4e00\u8d9f\u5927\u6982\u51e0\u5c0f\u65f6\uff0c<\/p><span class=\"spoiled spoiler-blurred\" role=\"button\" tabindex=\"0\" data-spoiler-state=\"blurred\" aria-expanded=\"false\" aria-label=\"\u663e\u793a\u9690\u85cf\u5185\u5bb9\" aria-live=\"polite\">\u975e\u5e38\u65b9\u4fbf\u6478\u9c7c<\/span><p style=\"margin: 0px 0px 14px; line-height: 1.8; font-size: 16px;\">\uff0c\u8981\u662fissues\u591a\u7684\u8bdd\u4f30\u8ba110\u51e0\u4e2a\u5c0f\u65f6\uff0c\u5efa\u8bae\u4e0b\u73ed\u540e\u8ba9\u4ed6\u6162\u6162\u8dd1\uff0c\u5e73\u65f6\u5c0f\u4efb\u52a1\u76f4\u63a5\u5bf9\u8bdd\u6211\u89c9\u5f97\u597d\u4e00\u70b9\u3002<\/p><p style=\"margin: 0px 0px 14px; line-height: 1.8; font-size: 16px;\">\u5176\u5b9e\u6211\u89c9\u5f97\u8fd9\u4e2a\u601d\u8def\u6709\u70b9\u50cfspec-kit\u548copenspec\u7684\u7b80\u5316\u7248\uff0c\u4f30\u8ba1\u8fd9\u4e24\u4e2a\u4e5f\u80fd\u8fd9\u79cd\u6548\u679c\uff0c\u8fd9\u4e2a\u65b9\u6848\u7684\u4f18\u70b9\u5c31\u662f\u6709\u4e2aissues.csv\uff0c5.2\u4f1a\u88ab\u8fd9\u4e2acsv\u5f3a\u8feb\u5b8c\u6210\u6240\u6709\u4efb\u52a1\uff0c<\/p><span class=\"spoiled spoiler-blurred\" role=\"button\" tabindex=\"0\" data-spoiler-state=\"blurred\" aria-expanded=\"false\" aria-label=\"\u663e\u793a\u9690\u85cf\u5185\u5bb9\" aria-live=\"polite\">\u725b\u9a6c\u4e5f\u6709\u81ea\u5df1\u7684\u725b\u9a6c\u4e86<\/span><\/p>\n<blockquote dir=\"auto\">\n<p style=\"margin: 0px 0px 14px; line-height: 1.8; font-size: 16px;\">\u8865\u5145\uff1a\u5efa\u8bae\u5728\u8dd1\u4e4b\u524d\u7ed9\u4ed6\u51c6\u5907\u597dmcp\u5de5\u5177\uff0c\u6bd4\u5982\u8bf4chrome-dev-tools, context7\u4e4b\u7c7b\u7684\uff0c\u8be6\u7ec6\u7684\u53ef\u4ee5\u81ea\u5df1\u53bb\u6587\u6863\u91cc\u6539\u6210\u7b26\u5408\u81ea\u5df1\u9879\u76ee\u7684<\/p>\n<\/blockquote><div style=\"margin-top:18px;\">\n  <hr style=\"border:0;height:1px;background:#e2e8f0;margin:16px 0;\">\n\n  <div style=\"\n    padding:12px 14px;\n    background:#f8fafc;\n    border:1px dashed #d0d7de;\n    border-radius:12px;\n    font-size:14px;\n    color:#334155;\n    line-height:1.8;\n  \">\n    <div style=\"margin:0 0 8px 0;font-weight:700;color:#0f172a;font-size:15px;\">\n      \ud83d\udccc \u8f6c\u8f7d\u4fe1\u606f\n    <\/div>\n\n    <div style=\"margin:0 0 6px 0;\">\n      <span style=\"color:#64748b;display:inline;font-weight:600;\">\u6765\u6e90\uff1a<\/span>\n      <a href=\"https:\/\/linux.do\/t\/topic\/1353223\" target=\"_blank\" rel=\"nofollow noopener\"\n         style=\"display:inline;color:#2563eb;text-decoration:underline;word-break:break-all;\">\n        https:\/\/linux.do\/t\/topic\/1353223\n      <\/a>\n    <\/div>\n\n    \n    <div style=\"margin:0 0 6px 0;\">\n      <span style=\"color:#64748b;display:inline;font-weight:600;\">\u539f\u4f5c\u8005\uff1a<\/span>\n      <span style=\"display:inline;font-weight:600;\">flow-water<\/span>\n    <\/div>\n\n    <div style=\"margin:0;\">\n      <span style=\"color:#64748b;display:inline;font-weight:600;\">\u8f6c\u8f7d\u65f6\u95f4\uff1a<\/span>\n      <span style=\"display:inline;\">2025\/12\/26 10:58:57<\/span>\n    <\/div>\n  <\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>\u672c\u6587\u4e3a\u8f6c\u8f7d\u5185\u5bb9\uff0c\u4fdd\u7559\u539f\u5e16\u89c2\u70b9\u4e0e\u7ed3\u6784\uff1b\u5982\u6709\u4fb5\u6743\u8bf7\u8054\u7cfb\u6211\u5904\u7406\u3002 so,\u4e4b\u524d\u5237\u5230 [ GPT 5.2\u5355\u6b21\u4efb\u52a111\u5c0f\u65f6 &hellip; <a href=\"https:\/\/blog.jj.mr\/index.php\/2025\/12\/26\/%e3%80%90%e8%bd%ac%e8%bd%bd%e3%80%91%e3%80%90%e6%95%99%e7%a8%8b%e3%80%91%e5%a6%82%e4%bd%95%e8%ae%a9codex%e4%bb%bb%e5%8a%b3%e4%bb%bb%e6%80%a8%e8%b7%91%e5%87%a0%e4%b8%aa%e5%b0%8f%e6%97%b6\/\" class=\"more-link\">\u7ee7\u7eed\u9605\u8bfb<span class=\"screen-reader-text\">\u3010\u8f6c\u8f7d\u3011\u3010\u6559\u7a0b\u3011\u5982\u4f55\u8ba9codex\u4efb\u52b3\u4efb\u6028\u8dd1\u51e0\u4e2a\u5c0f\u65f6<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[],"class_list":["post-291","post","type-post","status-publish","format-standard","hentry","category-7"],"_links":{"self":[{"href":"https:\/\/blog.jj.mr\/index.php\/wp-json\/wp\/v2\/posts\/291","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.jj.mr\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.jj.mr\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jj.mr\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jj.mr\/index.php\/wp-json\/wp\/v2\/comments?post=291"}],"version-history":[{"count":1,"href":"https:\/\/blog.jj.mr\/index.php\/wp-json\/wp\/v2\/posts\/291\/revisions"}],"predecessor-version":[{"id":292,"href":"https:\/\/blog.jj.mr\/index.php\/wp-json\/wp\/v2\/posts\/291\/revisions\/292"}],"wp:attachment":[{"href":"https:\/\/blog.jj.mr\/index.php\/wp-json\/wp\/v2\/media?parent=291"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jj.mr\/index.php\/wp-json\/wp\/v2\/categories?post=291"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jj.mr\/index.php\/wp-json\/wp\/v2\/tags?post=291"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}