{"id":1883,"date":"2026-08-18T20:14:13","date_gmt":"2026-08-18T12:14:13","guid":{"rendered":"https:\/\/tongchun.website\/index.php\/kimiagent-17-research\/"},"modified":"2026-08-18T20:26:35","modified_gmt":"2026-08-18T12:26:35","slug":"kimiagent-17-research","status":"publish","type":"page","link":"https:\/\/tongchun.website\/index.php\/kimiagent-17-research\/","title":{"rendered":"17 \u00b7 \u6df1\u5ea6\u7814\u7a76\u6280\u80fd\u7ec4\uff08deep-research \u5bb6\u65cf\uff09\u6df1\u62c6"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">\u2190 \u8fd4\u56de\u4e3b\u62a5\u544a\uff1a<a href=\"https:\/\/tongchun.website\/index.php\/2026\/kimi-agent%ef%bc%88%e4%ba%91%e7%ab%af%e6%b2%99%e7%ae%b1%ef%bc%89%e6%8a%80%e6%9c%af%e6%8a%a5%e5%91%8a\/\">Kimi Agent\uff08\u4e91\u7aef\u6c99\u7bb1\uff09\u6280\u672f\u62a5\u544a<\/a> \uff5c <a href=\"https:\/\/github.com\/SHAWNTRIBBIANI\/kimiagent-analysis\/blob\/main\/sections\/17-research.md\">GitHub \u539f\u6587<\/a><\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p><strong>\u5408\u89c4\u4e0e\u98ce\u9669\u58f0\u660e<\/strong>\uff1a\u672c\u62a5\u544a\u4e3a\u5b89\u5168\u7814\u7a76\u4e0e\u4e92\u64cd\u4f5c\u5b66\u4e60\u76ee\u7684\u7684\u9006\u5411\u5206\u6790\uff0c\u5168\u7a0b\u53ea\u8bfb\u91c7\u96c6\uff0c\u672a\u5bf9\u76ee\u6807\u7cfb\u7edf\u505a\u4efb\u4f55\u4fee\u6539\uff1b\u6587\u4e2d\u6240\u6709\u5bc6\u94a5\u3001token\u3001\u8d26\u53f7\u7ea7\u6807\u8bc6\uff08chat_id \/ project_id \/ tenant_id \u7b49\uff09\u5747\u5df2\u8131\u654f\uff1b\u6c99\u7bb1\u5185\u53d1\u73b0\u7684\u9ed8\u8ba4\u5f31\u53e3\u4ee4\uff08VNC\/SSH\uff09\u5c5e\u5e73\u53f0\u4fa7\u914d\u7f6e\uff0c\u4ec5\u4f5c\u5b89\u5168\u53d1\u73b0\u62ab\u9732\uff0c\u8bf7\u52ff\u7528\u4e8e\u8bbf\u95ee\u4efb\u4f55\u4e0d\u5c5e\u4e8e\u81ea\u5df1\u7684\u7cfb\u7edf\u3002docx\/pdf\/xlsx\/kimi-slides \u7b49\u5f15\u64ce\u4e8c\u8fdb\u5236\u4e3a Moonshot \u4e13\u6709\u8bb8\u53ef\uff08\u7981\u518d\u5206\u53d1\/\u9006\u5411\uff09\uff0c\u672c\u6587\u4ec5\u4f5c\u884c\u4e3a\u7ea7\u63cf\u8ff0\u3002\u62a5\u544a\u57fa\u4e8e\u5355\u6b21\u5206\u6790\u7a97\u53e3\uff08\u7ea6 50 \u5206\u949f\u751f\u547d\u5468\u671f\uff09\uff0c\u8f6f\u4ef6\u7248\u672c\u4e0e\u6280\u80fd\u5e93\u5b58\u968f\u955c\u50cf\u66f4\u65b0\u53ef\u80fd\u53d8\u5316\u3002<\/p><\/blockquote>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>\u91c7\u96c6\u65b9\u5f0f\uff1aHTTP \u53ea\u8bfb\uff08http:\/\/127.0.0.1:18080\uff09\u3002\u91c7\u96c6\u7a97\u53e3\u5185\u6c99\u7bb1\u88ab\u56de\u6536\uff08\u8fde\u63a5\u4e2d\u65ad\uff09\uff0c\u4f46\u76ee\u6807\u6587\u4ef6\u5df2\u5728\u6b64\u524d\u5168\u90e8\u62c9\u53d6\u5b8c\u6bd5\uff0c\u672c\u7ae0\u8282\u6240\u6709\u7ed3\u8bba\u5747\u6709\u539f\u6587\u8bc1\u636e\u3002 \u8986\u76d6\u6280\u80fd\uff1a<code>deep-research<\/code>\u3001<code>deep-research-swarm<\/code>\u3001<code>interactive-research-report-en<\/code>\uff08\u540c\u65f6\u4ee5\u7eaf skill \u63d2\u4ef6\u5b58\u5728\u4e8e portal overlay\uff09\u3001\u5bf9\u6bd4\u6837\u672c <code>equity-research<\/code>\u3001<code>stock-research-report<\/code>\uff1b\u53e6\u8ffd\u67e5\u4e86\u5f15\u7528\u94fe\u4e0b\u6e38 <code>docx<\/code> \u6280\u80fd\u7684 md2docx \u7ba1\u7ebf\u3002<\/p><\/blockquote>\n\n\n\n<h2 id=\"0-%25e5%25ae%25b6%25e6%2597%258f%25e5%2585%25a8%25e6%2599%25af%25e4%25b8%258e%25e5%25ae%259a%25e4%25bd%258d\" class=\"wp-block-heading\">0. \u5bb6\u65cf\u5168\u666f\u4e0e\u5b9a\u4f4d<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u6c99\u7bb1\u4e2d research\/report \u7c7b\u6280\u80fd\u591a\u8fbe 23 \u4e2a\uff08<code>deep-research<\/code>\u3001<code>deep-research-swarm<\/code>\u3001<code>equity-research<\/code>\u3001<code>equity-researcher<\/code>\u3001<code>equity-research-report(-cn)<\/code>\u3001<code>interactive-research-report-en<\/code>\u3001<code>stock-research-report(-cn)<\/code>\u3001<code>market-insight-report<\/code>\u3001<code>vc-industry-research<\/code>\u3001<code>report-writing<\/code>\u3001<code>research-advisor<\/code> \u7b49\uff09\u3002\u672c\u7ec4\u4e94\u4e2a\u6838\u5fc3\u6280\u80fd\u6784\u6210\u4e00\u6761\u5b8c\u6574\u6d41\u6c34\u7ebf\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>deep-research\uff08\u5355 agent \u7814\u7a76\u5faa\u73af\uff09\n  \u2514\u2500 deep-research-swarm\uff08\u591a agent \u7f16\u6392\u7248\uff0cPhase 0~7\uff09\n        \u2514\u2500 Phase 7 \u4ea4\u63a5 report-writing \/ paper-writing\uff08\u5199\u4f5c\u6280\u80fd\uff09\n              \u251c\u2500 docx \u6280\u80fd md2docx \u7ba1\u7ebf\uff08citation.jsonl \u2192 Word \u811a\u6ce8\uff09\n              \u2514\u2500 interactive-research-report-en\uff08\u62a5\u544a \u2192 \u4ea4\u4e92\u5f0f\u7f51\u7ad9\uff09\nequity-research\uff08\u5782\u76f4\u9886\u57df\uff1a\u80a1\u7968\u7814\u62a5\uff0c\u81ea\u5e26 3-Task \u67b6\u6784 + Excel \u6a21\u578b\uff09\nstock-research-report\uff08\u6837\u5f0f\u590d\u523b\uff1a\u56fd\u6cf0\u6d77\u901a\/\u6d77\u901a\u56fd\u9645\u89c6\u89c9\u5951\u7ea6\uff09<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u503c\u5f97\u6ce8\u610f\u7684\u5206\u53d1\u5dee\u5f02\uff1a<code>interactive-research-report-en<\/code> \u662f\u552f\u4e00\u4e00\u4e2a<strong>\u540c\u65f6<\/strong>\u51fa\u73b0\u5728 <code>\/app\/.agents\/skills\/<\/code>\uff08\u955c\u50cf\u5185\u7f6e\uff09\u548c <code>\/app\/.agents\/plugins\/<\/code>\uff08portal overlay\uff0c\u7eaf skill \u578b\u63d2\u4ef6\uff0c<code>hostKind:\"hosted\"<\/code>\uff0cbundle 5.7MB\uff0c\u4f5c\u8005\u4e3a\u4e2a\u4eba\u5f00\u53d1\u8005 zhanhaobing\uff0cMIT-0\uff09\u7684\u7814\u7a76\u6280\u80fd\u2014\u2014\u8bf4\u660e\u5b83\u8d70\u7684\u662f&#8221;\u4e91\u7aef\u6309\u4f1a\u8bdd\u4e0b\u53d1&#8221;\u7684\u5546\u4e1a\u5316\u8def\u5f84\uff0c\u4e14 catalog \u63a5\u53d7\u7b2c\u4e09\u65b9\u6295\u7a3f\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 id=\"1-deepresearch%25e5%258d%2595-agent-%25e7%25a0%2594%25e7%25a9%25b6%25e5%25be%25aa%25e7%258e%25af116-%25e8%25a1%258c-skillmd-license%25e6%2597%25a0%25e8%2584%259a%25e6%259c%25ac\" class=\"wp-block-heading\">1. deep-research\uff1a\u5355 agent \u7814\u7a76\u5faa\u73af\uff08116 \u884c SKILL.md + LICENSE\uff0c\u65e0\u811a\u672c\uff09<\/h2>\n\n\n\n<h3 id=\"11-%25e8%25be%2593%25e5%2585%25a5%25e8%25be%2593%25e5%2587%25ba%25e5%25a5%2591%25e7%25ba%25a6\" class=\"wp-block-heading\">1.1 \u8f93\u5165\u8f93\u51fa\u5951\u7ea6<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>\u8f93\u5165<\/strong>\uff1a\u7528\u6237\u590d\u6742\u95ee\u9898 + \u53ef\u9009\u9644\u4ef6\uff1b\u6f84\u6e05\u901a\u8fc7 <code>ask_user<\/code> \u5de5\u5177\u8fdb\u884c\u3002<\/li><li><strong>\u8f93\u51fa<\/strong>\uff1a\u9ed8\u8ba4 Markdown \u5b58 <code>\/mnt\/agents\/output\/<\/code>\uff1b\u7528\u6237\u6307\u5b9a docx\/pdf\/xlsx\/pptx\/webapp \u65f6\u8d70&#8221;\u683c\u5f0f\u8def\u7531&#8221;\u2014\u2014<strong>\u5f3a\u5236\u5148\u8bfb\u5bf9\u5e94\u683c\u5f0f\u6280\u80fd<\/strong>\uff0c\u4e14 docx\/pdf \u5fc5\u987b\u5148\u751f\u6210\u5b8c\u6574 Markdown \u518d\u7ecf\u5bf9\u5e94\u6280\u80fd\u8f6c\u6362\uff08&#8221;Do not generate the DOCX or PDF directly from scratch&#8221;\uff09\u3002webapp \u4efb\u52a1\u5f3a\u5236\u5148\u8bfb <code>webapp-building<\/code> \u6280\u80fd\uff0c\u7981\u6b62 <code>npx<\/code> \u7b49\u4e34\u65f6\u521d\u59cb\u5316\u547d\u4ee4\u3002<\/li><\/ul>\n\n\n\n<h3 id=\"12-%25e6%25a0%25b8%25e5%25bf%2583%25e6%259c%25ba%25e5%2588%25b610-%25e6%25ad%25a5%25e5%25be%25aa%25e7%258e%25af-%25e9%2580%2592%25e5%25bd%2592%25e5%258f%258d%25e6%2580%259d\" class=\"wp-block-heading\">1.2 \u6838\u5fc3\u673a\u5236\uff1a10+ \u6b65\u5faa\u73af + \u9012\u5f52\u53cd\u601d<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>\u226510 \u4e2a\u641c\u7d22\u6b65<\/strong>\u786c\u4e0b\u9650\uff08&#8221;Perform at least 10 search steps&#8221;\uff09\uff0c\u6bcf\u8f6e\u7981\u6b62\u5173\u952e\u8bcd\u91cd\u590d\uff0c&#8221;each round brings substantial new information&#8221;\u3002<\/li><li><strong>\u9012\u5f52\u53cd\u601d<\/strong>\uff1a\u6bcf\u8f6e\u641c\u7d22\u540e\u5f3a\u5236\u8f93\u51fa Thinking Process + Summary \u4e24\u5c0f\u6bb5\uff0c\u4e14\u88ab\u8981\u6c42&#8221;short and concise&#8221;\u2014\u2014\u9632\u6b62\u53cd\u601d\u672c\u8eab\u5403\u6389\u4e0a\u4e0b\u6587\u3002<\/li><li>\u6743\u5a01\u6e90\u4f18\u5148\u7ea7\uff08\u653f\u5e9c\/\u5b66\u672f\/\u540c\u884c\u8bc4\u5ba1\uff09\u3001&#8221;Never fabricate data&#8221;\u3001\u5b9a\u91cf\u5206\u6790\u5fc5\u987b\u7528 Python\u3001\u65f6\u95f4\u57fa\u51c6\u7528\u5f53\u524d\u65e5\u671f\u3002<\/li><\/ul>\n\n\n\n<h3 id=\"13-%25e4%25b8%258d%25e5%258f%25af%25e5%258f%2598%25e5%25bc%2595%25e7%2594%25a8-id-%25e6%259c%25ba%25e5%2588%25b6%25e6%259c%25ac%25e6%258a%2580%25e8%2583%25bd%25e6%259c%2580%25e5%2585%25b3%25e9%2594%25ae%25e7%259a%2584%25e4%25ba%2591%25e7%25ab%25af%25e8%2580%25a6%25e5%2590%2588%25e7%2582%25b9\" class=\"wp-block-heading\">1.3 \u4e0d\u53ef\u53d8\u5f15\u7528 ID \u673a\u5236\uff08\u672c\u6280\u80fd\u6700\u5173\u952e\u7684\u4e91\u7aef\u8026\u5408\u70b9\uff09<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u539f\u6587\uff08SKILL.md L66-74\uff09\uff1a<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p><em>Citation indices are <strong>immutable source IDs from tool\/search results<\/strong>. Do not renumber them based on order of appearance, writing order, or any reference-list order; if a source already has an ID such as <code>[^85^]<\/code> from tool\/search results, that same ID must be preserved everywhere in the document.<\/em> <em>Citation IDs are used for frontend rendering and source mapping, not for a model-generated bibliography.<\/em><\/p><\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">\u914d\u5957\u89c4\u5219\uff1a\u6bcf\u53e5\u6700\u591a\u4e24\u4e2a\u5f15\u7528\uff1b\u591a\u6e90\u5199\u4f5c <code>[^1^][^2^]<\/code>\uff0c\u7981\u6b62 <code>[^1,2^]<\/code>\uff1b<strong>\u7981\u6b62\u5728\u62a5\u544a\u672b\u5c3e\u751f\u6210 References \u5217\u8868<\/strong>\uff08\u53c2\u8003\u6587\u732e\u6e32\u67d3\u662f\u524d\u7aef\u7684\u6d3b\uff0c\u6a21\u578b\u751f\u6210\u4e66\u76ee\u53cd\u800c\u4f1a\u6c61\u67d3\u6620\u5c04\uff09\u3002\u8868\u683c\u4e0d\u8bbe Source \u5217\uff0c\u5f15\u7528\u6807\u8bb0\u76f4\u63a5\u653e\u8fdb\u6570\u636e\u5355\u5143\u683c\u3002<\/p>\n\n\n\n<h3 id=\"14-%25e6%258a%25a5%25e5%2591%258a%25e5%25b7%25a5%25e7%25a8%258b%25e8%25a7%2584%25e8%258c%2583%25e9%2598%25b2-llm-%25e6%2596%2587%25e9%25a3%258e%25e9%2580%2580%25e5%258c%2596%25e7%259a%2584%25e7%25bb%2586%25e7%25b2%2592%25e5%25ba%25a6%25e7%25ba%25a6%25e6%259d%259f\" class=\"wp-block-heading\">1.4 \u62a5\u544a\u5de5\u7a0b\u89c4\u8303\uff08\u9632 LLM \u6587\u98ce\u9000\u5316\u7684\u7ec6\u7c92\u5ea6\u7ea6\u675f\uff09<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>\u6bb5\u843d 100\u20131000 \u8bcd\uff1b\u6bcf\u4e2a\u5b50\u5c0f\u8282\u5fc5\u987b\u591a\u4e8e\u4e00\u6bb5\uff1b\u6761\u4ef6\u5f0f TL;DR\uff08\u4ec5\u5f53\u95ee\u9898\u51e0\u53e5\u8bdd\u53ef\u7b54\u624d\u7ed9\uff09\uff1b<\/li><li><strong>\u8868\u683c\u662f&#8221;\u4e3b\u8981\u7ed3\u6784\u5de5\u5177&#8221;<\/strong>\uff1a\u8de8\u7ae0\u8282\u7684\u91cd\u590d\u5b9e\u4f53\u5fc5\u987b\u805a\u5408\u6210\u96c6\u4e2d\u5bf9\u6bd4\u8868\uff1b<\/li><li>\u4fee\u8ba2\u7eaa\u5f8b\uff1a\u4e0d\u8db3\u65f6\u6269\u5199\u5df2\u6709\u903b\u8f91\u76f8\u5173\u7ae0\u8282\uff0c&#8221;Integrated Improvement&#8221;\uff0c\u7981\u6b62\u9644\u5f55\u5f0f\u6253\u8865\u4e01\uff1b<\/li><li>\u56fe\u8868\uff1a\u9ed8\u8ba4 ECharts \u5148\u884c\uff0c\u5373\u4f7f\u9759\u6001\u62a5\u544a\u4e5f&#8221;\u5148 ECharts \u518d\u5bfc\u51fa PNG \u5d4c\u5165&#8221;\uff0c\u7981\u6b62\u628a option \u5bf9\u8c61\/script \u8d34\u8fdb\u6b63\u6587\uff1b\u56db\u7ef4\u8d28\u91cf\u6761\uff08\u6b63\u786e\u6027\/\u56fe\u578b\u9002\u914d\/\u6e05\u6670\u5ea6\/\u7f8e\u5b66\u4e00\u81f4\u6027\u2014\u2014&#8221;same entity \u2192 same color&#8221;\uff09\u3002<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u5751<\/strong>\uff1a\u65e0 scripts\/references\uff0c\u7eaf\u63d0\u793a\u8bcd\u6280\u80fd\uff1b\u8d28\u91cf\u5b8c\u5168\u4f9d\u8d56\u6a21\u578b\u81ea\u89c9\uff0c\u65e0\u4efb\u4f55\u786e\u5b9a\u6027\u6821\u9a8c\u5668\u515c\u5e95\uff08\u5bf9\u6bd4 equity-research \u6709 report_validator.py\uff09\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 id=\"2-deepresearchswarm%25e5%25a4%259a%25e4%25bb%25a3%25e7%2590%2586%25e7%25bc%2596%25e6%258e%2592%25e5%258d%258f%25e8%25ae%25ae509-%25e8%25a1%258c%25e5%258d%2595%25e6%2596%2587%25e4%25bb%25b6%25e6%2597%25a0%25e8%2584%259a%25e6%259c%25ac\" class=\"wp-block-heading\">2. deep-research-swarm\uff1a\u591a\u4ee3\u7406\u7f16\u6392\u534f\u8bae\uff08509 \u884c\u5355\u6587\u4ef6\uff0c\u65e0\u811a\u672c\uff09<\/h2>\n\n\n\n<h3 id=\"21-phase-0-%25e8%25b7%25af%25e7%2594%25b1%25e5%2599%25a8%25e5%259b%259b%25e6%259d%25a1%25e8%25b7%25af%25e7%2594%25b1\" class=\"wp-block-heading\">2.1 Phase 0 \u8def\u7531\u5668\uff08\u56db\u6761\u8def\u7531\uff09<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u5206\u7c7b\u903b\u8f91\u53ea\u770b\u4e24\u4e2a\u53d8\u91cf\uff1a<strong>\u6709\u6ca1\u6709\u4e0a\u4f20\u6587\u4ef6<\/strong> \u00d7 <strong>\u8bdd\u9898\u5bbd\u5ea6<\/strong>\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>\u4fe1\u53f7<\/th><th>\u8def\u7531<\/th><\/tr><\/thead><tbody><tr><td>\u6709\u6587\u4ef6 + &#8220;only based on files&#8221;\/&#8221;no search&#8221;<\/td><td>C\uff08File-Only\uff0c\u96f6\u5916\u90e8\u641c\u7d22\uff09<\/td><\/tr><tr><td>\u6709\u6587\u4ef6 + &#8220;refer to&#8221;\/&#8221;combine with&#8221;\/\u65e0\u9650\u5236<\/td><td>D\uff08File-Augmented\uff0c\u6587\u4ef6\u4e3a\u4e3b+\u5916\u90e8\u8865\u7f3a\uff09<\/td><\/tr><tr><td>\u65e0\u6587\u4ef6 + \u5bbd\u6cdb\u63a2\u7d22\u578b\u8bdd\u9898<\/td><td>A\uff08Wide Search\uff0c\u4e24\u9636\u6bb5 swarm\uff09<\/td><\/tr><tr><td>\u65e0\u6587\u4ef6 + \u5177\u4f53\u6709\u754c\u95ee\u9898<\/td><td>B\uff08Focused\uff0c\u6807\u51c6\u7ba1\u7ebf\uff09<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u6b67\u4e49\u9ed8\u8ba4\u503c\u90fd\u5199\u6b7b\u4e86\uff1a\u62ff\u4e0d\u51c6\u9009 A \u4e0d\u9009 B\u3001\u9009 D \u4e0d\u9009 C\uff08&#8221;prefer richer output&#8221;\uff09\u3002\u8def\u7531\u7ed3\u679c\u8981\u6c42&#8221;\u4e00\u53e5\u8bdd\u58f0\u660e + \u7406\u7531&#8221;\u518d\u5f00\u8dd1\u3002<\/p>\n\n\n\n<h3 id=\"22-%25e7%259b%25b8%25e4%25bd%258d%25e7%25bb%2593%25e6%259e%2584%25e4%25b8%258e%25e9%2587%258f%25e5%258c%2596%25e9%25a2%2584%25e7%25ae%2597\" class=\"wp-block-heading\">2.2 \u76f8\u4f4d\u7ed3\u6784\u4e0e\u91cf\u5316\u9884\u7b97<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>A \u8def\u72ec\u6709 Phase 1W<\/strong>\uff1a5\u20138 \u4e2a\u4e92\u8865\u4e14<strong>\u523b\u610f \u226520% \u91cd\u53e0<\/strong>\u7684 facet\uff0c\u22655 \u4e2a\u5b50\u4ee3\u7406\u5e76\u884c\uff08\u6bcf\u4e2a \u226510 \u6b21\u641c\u7d22\uff09\u505a\u5e7f\u5ea6\u626b\u63cf\uff0c\u4ea7\u51fa <code>{topic}_wide{NN}.md<\/code>\uff0corchestrator \u5408\u5e76\u540e\u624d\u8fdb Phase 2 \u5206\u89e3\u3002\u91cd\u53e0\u4e0d\u662f\u6d6a\u8d39\uff0c\u662f&#8221;cross-verification pressure&#8221;\u2014\u2014\u8fd9\u4e2a\u7406\u5ff5\u8d2f\u7a7f\u5168\u6587\uff08Phase 2 \u7ef4\u5ea6\u95f4\u4e5f\u8981\u6c42 \u226530% \u6982\u5ff5\u91cd\u53e0\uff09\u3002<\/li><li><strong>Phase 2<\/strong>\uff1a\u226510 \u4e2a\u7ef4\u5ea6\uff08\u5f3a\u5236\u4e0b\u9650\uff09\uff0c\u7ed9\u51fa 6 \u79cd\u7ef4\u5ea6\u7ec4\u7ec7\u8f74\uff08\u5206\u6790\u89d2\u5ea6\/\u60c5\u666f\/\u5229\u76ca\u76f8\u5173\u65b9\/\u5730\u57df\/\u65f6\u95f4\u8de8\u5ea6\/\u6587\u4ef6\u4e3b\u9898\uff09\u3002<\/li><li><strong>Phase 3<\/strong>\uff1a\u226510 \u4e2a\u5b50\u4ee3\u7406\u5e76\u884c\u6df1\u6f5c\uff0c\u6bcf\u4e2a <strong>\u226520 \u6b21\u72ec\u7acb\u641c\u7d22<\/strong>\uff1b\u5b50\u4ee3\u7406 prompt \u5fc5\u987b\u542b\u4e94\u8981\u7d20\uff08\u4efb\u52a1\/\u4e0a\u4e0b\u6587\/\u6587\u4ef6\u4e0a\u4e0b\u6587\/\u8f93\u51fa\u683c\u5f0f\/\u8f93\u51fa\u8def\u5f84\uff09\uff1b\u8f93\u51fa\u683c\u5f0f\u4e3a\u7ed3\u6784\u5316\u8bc1\u636e\u5361\uff1a<code>Claim\/Source\/URL\/Date\/Excerpt(\u9010\u5b57\u539f\u6587\uff0c\u7981\u8f6c\u8ff0)\/Context\/Confidence<\/code>\u3002<\/li><li><strong>Route C \u7279\u89c4<\/strong>\uff1a\u5b50\u4ee3\u7406<strong>\u7981\u6b62\u5916\u90e8\u641c\u7d22<\/strong>\uff0c\u4e14 prompt \u5fc5\u987b\u5185\u5d4c\u6587\u4ef6\u539f\u6587\uff08&#8221;do not assume the sub-agent can access files independently&#8221;\uff09\u2014\u2014\u627f\u8ba4\u4e86\u5b50\u4ee3\u7406\u6c99\u7bb1\u4e0d\u4e00\u5b9a\u5171\u4eab\u6587\u4ef6\u7cfb\u7edf\u7684\u73b0\u5b9e\u3002<\/li><li><strong>\u641c\u7d22\u9884\u7b97\u6309\u8def\u7531\u91cf\u5316<\/strong>\uff1aA \u2265250 \u6b21\u3001B \u2265200 \u6b21\u3001C = 0 \u6b21\u3001D \u2265150 \u6b21\uff08\u6587\u4ef6\u5df2\u63d0\u4f9b\u57fa\u7840\u8bc1\u636e\u6545\u51cf\u91cf\uff09\u3002<\/li><\/ul>\n\n\n\n<h3 id=\"23-%25e5%259b%259b%25e7%25ba%25a7%25e7%25bd%25ae%25e4%25bf%25a1%25e5%25ba%25a6phase-4-%25e4%25ba%25a4%25e5%258f%2589%25e9%25aa%258c%25e8%25af%2581%25e5%25bc%2595%25e6%2593%258e\" class=\"wp-block-heading\">2.3 \u56db\u7ea7\u7f6e\u4fe1\u5ea6\uff08Phase 4 \u4ea4\u53c9\u9a8c\u8bc1\u5f15\u64ce\uff09<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>\u5c42\u7ea7<\/th><th>\u5224\u636e<\/th><\/tr><\/thead><tbody><tr><td>High Confidence<\/td><td>\u22652 \u4e2a\u4ee3\u7406\u3001\u72ec\u7acb\u6765\u6e90\u3001\u8bc1\u636e\u4e00\u81f4<\/td><\/tr><tr><td>Medium<\/td><td>1 \u4e2a\u4ee3\u7406 + \u6743\u5a01\u6765\u6e90<\/td><\/tr><tr><td>Low<\/td><td>\u5f31\u6765\u6e90\/\u535a\u5ba2\u7ea7\/\u5355\u4e00\u672a\u9a8c\u8bc1\u58f0\u660e<\/td><\/tr><tr><td>Conflict Zone<\/td><td>\u6570\u503c\u4e0d\u4e00\u81f4\u3001\u89e3\u91ca\u5206\u6b67\u3001<strong>\u65f6\u95f4\u53e3\u5f84\u4e0d\u4e00\u81f4<\/strong>\uff08\u540c\u6307\u6807\u4e0d\u540c\u671f\u95f4\u4e5f\u7b97\u51b2\u7a81\uff0c\u987b\u8bb0\u5f55\u5404\u81ea\u5f52\u5c5e\u671f\u95f4\uff09<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u51b2\u7a81\u5904\u7406\u539f\u5219\uff1a&#8221;Contradictions are signal \u2014 highlighted and analyzed, never suppressed or averaged away&#8221;\u3002\u6709 Conflict Zone \u6216\u5173\u952e Low \u9879\u624d\u89e6\u53d1 Phase 5\uff08\u6bcf\u4e2a\u51b2\u7a81 \u22653 \u6b21\u5b9a\u5411\u641c\u7d22\u7684\u9a8c\u8bc1\u5b50\u4ee3\u7406\uff0c\u5faa\u73af\u5230 Resolved \u6216&#8221;\u663e\u5f0f\u6807\u8bb0\u4e3a\u9886\u57df\u5185\u771f\u5b9e\u5206\u6b67&#8221;\uff09\uff1b<strong>Route C \u7981\u7528 Phase 5<\/strong>\uff08\u4e0d\u8bb8\u501f\u5916\u90e8\u641c\u7d22\u6d88\u89e3\u51b2\u7a81\uff0c\u5982\u5b9e\u8bb0\u5f55\u5e26\u5165 Phase 6\uff09\u3002<\/p>\n\n\n\n<h3 id=\"24-%25e8%25be%2593%25e5%2587%25ba%25e5%25a5%2591%25e7%25ba%25a6everything-is-a-file\" class=\"wp-block-heading\">2.4 \u8f93\u51fa\u5951\u7ea6\uff1aEverything is a file<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u6240\u6709\u4ea7\u7269\u5f3a\u5236\u843d\u5728 <code>\/mnt\/agents\/output\/research\/<\/code>\uff08&#8221;non-negotiable&#8221;\uff0c\u8fde\u76f4\u63a5\u653e output\/ \u90fd\u7981\u6b62\uff09\uff1a<code>_file_analysis.md<\/code>\uff08F\uff09\u3001<code>_wide{NN}.md<\/code>\uff081W\uff09\u3001<code>_dim{NN}.md<\/code>\uff083\uff09\u3001<code>_cross_verification.md<\/code>\uff084-5\uff0c\u643a\u5e26\u7f6e\u4fe1\u5ea6\u5206\u7ea7\uff0c&#8221;critical&#8221;\uff09\u3001<code>_insight.md<\/code>\uff086\uff0c\u22655 \u6761\u8de8\u7ef4\u5ea6\u6d1e\u5bdf\uff0c\u6bcf\u6761\u987b\u22652 \u4e2a\u7ef4\u5ea6\u8bc1\u636e\u652f\u6491\uff09\u3002Phase 7 \u6309\u6587\u4f53\u8def\u7531\u5230 <code>report-writing<\/code>\/<code>paper-writing<\/code> \u5199\u4f5c\u6280\u80fd\uff0c\u4ea4\u63a5\u65f6\u7ed9<strong>\u663e\u5f0f\u6587\u4ef6\u8def\u5f84\u6e05\u5355<\/strong>\u5e76\u58f0\u660e&#8221;\u7814\u7a76\u5df2\u5b8c\u6210\uff0c\u4e0d\u9700\u8981\u66f4\u591a\u7814\u7a76\u5b50\u4ee3\u7406&#8221;\u3002\u804a\u5929\u901a\u9053\u53ea\u53d1\u72b6\u6001\u66f4\u65b0\uff08&#8221;Chat is for status updates only&#8221;\uff09\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u5de5\u7a0b\u8d28\u91cf\u4eae\u70b9<\/strong>\uff1a\u7eaf prompt \u5b9e\u73b0\u4e86\u4e00\u4e2a MapReduce \u5f0f\u7814\u7a76\u5f15\u64ce\uff0c\u5b50\u4ee3\u7406\u539f\u8bed\u53ea\u4f9d\u8d56 <code>task<\/code>\uff08\u5b50\u4ee3\u7406\uff09+ \u5171\u4eab\u8f93\u51fa\u76ee\u5f55\uff1b\u6bcf\u6761\u89c4\u5219\u90fd\u6709\u91cf\u5316\u5224\u636e\uff08\u226510 \u7ef4\u5ea6\u3001\u226520 \u641c\u7d22\u3001\u226520%\/30% \u91cd\u53e0\uff09\uff0c\u628a&#8221;\u8ba4\u771f\u505a\u7814\u7a76&#8221;\u4ece\u53e3\u53f7\u53d8\u6210\u53ef\u5ba1\u8ba1\u7684 checklist\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u5751<\/strong>\uff1a\u2460 \u2265200 \u6b21\u641c\u7d22\u7684\u9884\u7b97\u5728\u4e91\u73af\u5883\u662f\u5de8\u5927 token\/\u65f6\u5ef6\u5f00\u9500\uff0c\u672c\u5730\u79fb\u690d\u5fc5\u987b\u7f29\u6c34\uff1b\u2461 \u4f9d\u8d56\u5bbf\u4e3b agent \u6846\u67b6\u6709 <code>task<\/code> \u5b50\u4ee3\u7406\u539f\u8bed\u548c\u5171\u4eab\u6587\u4ef6\u76ee\u5f55\uff1b\u2462 \u65e0\u811a\u672c\u6821\u9a8c\uff0cPhase 4 \u7684\u56db\u7ea7\u5206\u7c7b\u5168\u9760 orchestrator \u6a21\u578b\u81ea\u89c9\u6267\u884c\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 id=\"3-%25e5%25bc%2595%25e7%2594%25a8%25e9%2593%25be%25e8%25b7%25af%25e5%2585%25a8%25e6%2599%25af%25e4%25bb%258e%25e5%25b7%25a5%25e5%2585%25b7%25e4%25be%25a7%25e5%2588%25b0%25e5%2589%258d%25e7%25ab%25af%25e7%259a%2584%25e5%25ae%258c%25e6%2595%25b4%25e8%25af%2581%25e6%258d%25ae\" class=\"wp-block-heading\">3. \u5f15\u7528\u94fe\u8def\u5168\u666f\uff1a\u4ece\u5de5\u5177\u4fa7\u5230\u524d\u7aef\u7684\u5b8c\u6574\u8bc1\u636e<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u8fd9\u662f\u672c\u8f6e\u6700\u91cd\u8981\u7684\u8de8\u6280\u80fd\u53d1\u73b0\u3002\u94fe\u8def\u56db\u6bb5\uff0c\u5168\u90e8\u6709\u539f\u6587\u8bc1\u636e\uff1a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u2460 \u4ea7\u751f\uff08\u4e91\u7aef\u641c\u7d22\u5de5\u5177\uff0c\u6c99\u7bb1\u5916\uff09<\/strong>\uff1a\u641c\u7d22\u5de5\u5177\u7ed9\u6bcf\u6761\u7ed3\u679c\u5206\u914d<strong>\u5168\u5c40\u4e0d\u53ef\u53d8\u6570\u5b57\u6e90 ID<\/strong>\uff0c\u5e76\u628a\u6e90\u8bb0\u5f55\u5199\u5165\u6c99\u7bb1\u5de5\u4f5c\u533a\u7684 <code>\/mnt\/agents\/.store\/citation.jsonl<\/code>\uff0c\u6bcf\u884c\u4e00\u4e2a JSON\uff08docx\/references\/md2docx-reference.md L56-59\uff09\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"json\">{\"id\": 123, \"url\": \"https:\/\/example.com\", \"page\": {\"site_name\": \"Example Site\"}}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u6c99\u7bb1\u5185 269 \u4e2a\u6280\u80fd\u4e2d\u6ca1\u6709\u4efb\u4f55\u4ee3\u7801\u751f\u6210\u8fd9\u4e9b ID\u2014\u2014skills \u91cc grep \u5230\u7684\u5168\u662f&#8221;\u4fdd\u7559 ID&#8221;\u7684\u6d88\u8d39\u4fa7\u89c4\u5219\uff0c<strong>\u4ea7\u751f\u65b9\u5728\u4e91\u7aef\u5de5\u5177\u5c42<\/strong>\uff08\u672c\u8f6e HTTP \u53ea\u8bfb\u65e0\u6cd5\u76f4\u63a5\u89c2\u5bdf\u641c\u7d22\u5de5\u5177\u5b9e\u73b0\uff0c\u4f46 <code>\/mnt\/agents\/.store\/<\/code> \u5728\u5de5\u4f5c\u533a\u6302\u8f7d\u5185\uff0c\u8bf4\u660e\u5de5\u5177\u7ed3\u679c\u901a\u8fc7\u4e91\u7aef\u2192\u5de5\u4f5c\u533a\u843d\u76d8\uff09\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u2461 \u5199\u4f5c\uff08\u6a21\u578b\uff0c\u53d7\u6280\u80fd\u7eaa\u5f8b\u7ea6\u675f\uff09<\/strong>\uff1a\u6a21\u578b\u53ea\u51c6\u539f\u6837\u5f15\u7528 <code>[^85^]<\/code>\uff0c\u7981\u6b62\u91cd\u6392\u3001\u7981\u6b62\u5408\u5e76\u5199\u6cd5\u3001\u7981\u6b62\u751f\u6210 References \u8282\uff08deep-research SKILL.md \u00a76\uff0c\u539f\u6587\u89c1 \u00a71.3\uff09\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u2462 \u524d\u7aef\u6620\u5c04\uff08Kimi UI\uff0c\u6c99\u7bb1\u5916\uff09<\/strong>\uff1a&#8221;Citation IDs are used for frontend rendering and source mapping&#8221;\u2014\u2014\u524d\u7aef\u6309 ID \u67e5 citation store \u6e32\u67d3\u6765\u6e90\u5361\u7247\/\u60ac\u505c\u3002\u8fd9\u5c31\u662f\u4e3a\u4ec0\u4e48 ID \u4e0d\u53ef\u53d8\uff1a\u91cd\u6392\u4f1a\u8ba9\u524d\u7aef\u6620\u5c04\u5230\u9519\u8bef\u7684\u6e90\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u5bf9\u79fb\u690d\u7684\u6838\u5fc3\u7ed3\u8bba<\/strong>\uff1a\u8fd9\u5957\u673a\u5236\u5728\u5de5\u7a0b\u4e0a<strong>\u53ef\u4ee5\u8131\u79bb Kimi \u524d\u7aef\u72ec\u7acb\u8fd0\u884c<\/strong>\u2014\u2014ID \u5951\u7ea6\u53ea\u662f&#8221;\u5de5\u5177\u4fa7\u7a33\u5b9a\u7f16\u53f7 + JSONL \u6eaf\u6e90\u5e93 + \u6a21\u578b\u7981\u91cd\u6392 + \u6d88\u8d39\u4fa7\u4e24\u5c42\u7f16\u53f7&#8221;\u56db\u4ef6\u5957\uff0c\u6bcf\u4e00\u73af\u90fd\u80fd\u5728\u81ea\u6709\u6808\u91cc\u7528\u786e\u5b9a\u6027\u4ee3\u7801\u5b9e\u73b0\uff08\u89c1 \u00a77 \u79fb\u690d\u8868\uff09\u3002\u771f\u6b63\u4f9d\u8d56\u4e91\u7aef\u7684\u53ea\u6709\u4e24\u70b9\uff1a\u641c\u7d22\u5de5\u5177\u4fa7\u7684\u7a33\u5b9a ID \u5206\u914d\u5668\uff0c\u548c\u524d\u7aef\u6765\u6e90\u5361\u7247\u6e32\u67d3\uff1b\u524d\u8005\u7ea6 100 \u884c\u4ee3\u7801\uff0c\u540e\u8005\u662f\u53ef\u9009\u589e\u5f3a\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 id=\"4-interactiveresearchreporten%25e6%258a%25a5%25e5%2591%258a-%25e2%2586%2592-%25e4%25ba%25a4%25e4%25ba%2592%25e5%25bc%258f%25e7%25bd%2591%25e7%25ab%2599%25e6%2596%2587%25e6%25a1%25a3%25e9%25a9%25b1%25e5%258a%25a8%25e5%259e%258b%25e6%258a%2580%25e8%2583%25bd%25e7%259a%2584%25e6%259c%2580%25e9%25ab%2598\" class=\"wp-block-heading\">4. interactive-research-report-en\uff1a\u62a5\u544a \u2192 \u4ea4\u4e92\u5f0f\u7f51\u7ad9\uff08\u6587\u6863\u9a71\u52a8\u578b\u6280\u80fd\u7684\u6700\u9ad8\u6c34\u4f4d\uff09<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u4f53\u91cf\uff1aSKILL.md 79 \u884c + DESIGN.md\uff08106 \u884c\uff09+ CHARTS.md\uff08246 \u884c\uff0c23 \u4e2a\u56fe\u578b\u914d\u65b9\uff09+ COVER.md\uff08117 \u884c\uff09+ QA.md\uff0880 \u884c\uff09+ assets\uff08theme.css 20.9KB + fonts.css base64 \u5185\u5d4c ET Book \u5b57\u4f53\uff09+ templates\uff08skeleton.html\/utils.js 152 \u884c\/bundle.py 37 \u884c\uff09+ references\uff08gallery \u622a\u56fe + BUILD_LOG \u8303\u4f8b\uff09+ agents\/openai.yaml\uff08\u4ec5 4 \u884c\u754c\u9762\u5143\u6570\u636e\uff1adisplay_name\/default_prompt\uff09\u3002<\/p>\n\n\n\n<h3 id=\"41-%25e4%25b8%2589%25e5%25b1%2582%25e6%259e%25b6%25e6%259e%2584%25e4%25b8%258e%25e8%25be%2593%25e5%2585%25a5%25e5%25a5%2591%25e7%25ba%25a6\" class=\"wp-block-heading\">4.1 \u4e09\u5c42\u67b6\u6784\u4e0e\u8f93\u5165\u5951\u7ea6<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u6280\u80fd\u81ea\u8ff0\u5206\u4e09\u5c42\uff1a<strong>invariants<\/strong>\uff08\u5b57\u4f53\/\u8272\u677f\/\u5e03\u5c40\/\u7ec4\u4ef6\uff0c\u7167\u6284\u4e0d\u8bb8\u5373\u5174\uff09\u3001<strong>abstraction rules<\/strong>\uff08\u6362\u4e3b\u9898\u7684\u65b9\u6cd5\uff09\u3001<strong>methodology<\/strong>\uff08\u8c03\u8bd5\u5faa\u73af\u4e0e\u4e8b\u540e\u6e05\u5355\uff09\u3002\u8f93\u5165\u5951\u7ea6 5 \u9879\uff08\u5f00\u5de5\u524d\u4e0e\u7528\u6237\u786e\u8ba4\uff09\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li><strong>prose fact source<\/strong>\uff1a\u4e00\u4efd\u62a5\u544a md\/pdf \u4f5c\u4e3a\u552f\u4e00\u4e8b\u5b9e\u6e90\uff0c\u7f51\u9875\u6587\u5b57\u5fe0\u5b9e\u8f6c\u5199\u5e76\u4fdd\u7559\u5bf9\u51b2\u63aa\u8f9e\uff08&#8221;preserving hedged wording&#8221;\uff09\uff1b<\/li><li><strong>\u6570\u636e\u8868<\/strong> \u2192 \u7f16\u8bd1\u6210 <code>js\/data.js<\/code>\uff08<code>window.RPT = { key: [...] }<\/code>\uff0csnake_case \u952e\uff09\uff1b<\/li><li><strong>\u6765\u6e90\u767b\u8bb0<\/strong> \u2192 <code>js\/sources.js<\/code>\uff08K1\u2013Kn \u951a\u8868\uff1b\u65e0\u65e5\u671f\u7684\u6765\u6e90\u5fc5\u987b\u5206\u7ea7\uff1a\u516c\u53f8\u4e00\u624b &gt; \u4ea4\u53c9\u9a8c\u8bc1 &gt; \u5238\u5546\u8f6c\u8ff0 &gt; \u63a8\u7b97\uff09\uff1b<\/li><li><strong>\u4e3b\u9898\u539f\u5b50\uff08theme atom\uff09<\/strong>\uff1a\u4e00\u4e2a\u95ee\u9898\u5b9a\u5168\u5c40\u2014\u2014&#8221;\u8fd9\u4e2a\u884c\u4e1a\u91cc\u6700\u5177\u8c61\u3001\u53ef\u5206\u89e3\u3001\u4e00\u773c\u53ef\u8ba4\u7684\u5b9e\u4f53\u662f\u4ec0\u4e48\uff1f&#8221;\uff08\u82af\u7247=\u5c01\u88c5\/die\uff0c\u732a=\u5de5\u4e1a\u5316\u517b\u6b96\u573a\uff0c\u8239=\u96c6\u88c5\u7bb1\u8239\uff09\uff1b\u56db\u4e2a\u5c01\u9762\u72b6\u6001\u5168\u662f<strong>\u540c\u4e00\u4e2a\u7269\u7406\u5bf9\u8c61<\/strong>\u7684\u4e0d\u540c\u89c6\u56fe\uff1b<\/li><li>\u8bed\u8a00\u4e0e\u4ea4\u4ed8\u5bbd\u5ea6\u57fa\u7ebf\uff08\u9ed8\u8ba4 1680\/1280 \u53cc\u9a8c\u6536\uff09\u3002<\/li><\/ol>\n\n\n\n<h3 id=\"42-qa-%25e9%2597%25a8%25e7%25a6%2581%25e8%25bf%2599%25e6%2598%25af%25e8%25af%25a5%25e6%258a%2580%25e8%2583%25bd%25e6%259c%2580%25e5%2580%25bc%25e9%2592%25b1%25e7%259a%2584%25e9%2583%25a8%25e5%2588%2586\" class=\"wp-block-heading\">4.2 QA \u95e8\u7981\uff08\u8fd9\u662f\u8be5\u6280\u80fd\u6700\u503c\u94b1\u7684\u90e8\u5206\uff09<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u6a21\u5757\u7ea7\u8c03\u8bd5\u5faa\u73af<\/strong>\uff08\u6bcf\u4e2a\u6a21\u5757\u505a\u5b8c\u7acb\u5373\u8fdb\u5165\uff0c\u6536\u655b\u624d\u8bb8\u505a\u4e0b\u4e00\u4e2a\uff09\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\u622a\u56fe\uff08playwright \u65e0\u5934\uff0c\u5148\u6162\u901f\u6eda\u52a8\u89e6\u53d1 IO \u5165\u573a\u52a8\u753b\uff0c\u518d\u5143\u7d20\u7ea7\u622a\u56fe\uff09\n\u2192 \u4ee5\"\u6311\u5254\u8bbe\u8ba1\u603b\u76d1\"\u89c6\u89d2\u76ee\u6d4b\u6279\u8bc4\uff08\u91cd\u53e0\/\u51fa\u754c\/\u8d34\u8fb9\/\u7a7a\u767d\/\u5b57\u4f53\u56de\u9000\/\u8272\u5f69\u7eaa\u5f8b\/\u5b64\u5217\uff09\n\u2192 \u53bb\u6587\u672c\u622a\u56fe\uff1a\u9690\u85cf\u5168\u90e8\u6587\u5b57\u540e\u8fd8\u80fd\u8ba4\u51fa\u884c\u4e1a\u5b9e\u4f53\u6216\u6838\u5fc3\u673a\u5236\u5417\uff1f\n\u2192 \u6362\u76ae\u6d4b\u8bd5\uff1a\u53ea\u6362\u6587\u6848\u5c31\u80fd\u79fb\u690d\u5230\u522b\u7684\u884c\u4e1a = \u5931\u8d25\uff08\u8fc7\u5ea6\u6a21\u677f\u5316\uff09\n\u2192 \u5047\u56fe\u6d4b\u8bd5\uff1a\u9690\u85cf\u6587\u5b57\u540e\u4ecd\u7f16\u7801 \u22652 \u4e2a\u7ed3\u6784\u53d8\u91cf\uff08\u6570\u91cf\/\u65f6\u95f4\/\u6d41\/\u6982\u7387\/\u62d3\u6251\/\u7269\u7406\u5355\u4f4d\uff09\uff0c\u53ea\u5269\u65b9\u6846\u8fde\u7ebf\u72b6\u6001\u70b9 = \u5220\u9664\n\u2192 \u4fee\u590d \u2192 \u590d\u9a8c<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u6536\u5c3e\u95e8\u7981<\/strong>\uff08\u5168\u90e8\u901a\u8fc7\u624d\u7b97\u5b8c\uff09\uff1a<code>node --check<\/code> \u5168\u8fc7\uff1bplaywright <strong>1680\/1280 \u53cc\u5bbd\u5ea6<\/strong>\u6574\u9875\u6162\u6eda\u626b\u63cf\uff080 pageerror \/ 0 console error \/ 0 \u6a2a\u5411\u6ea2\u51fa \/ 0 \u6b8b\u7559\u975e\u76ee\u6807\u8bed\u8a00\uff09\uff1b<code>document.fonts.check('16px et-book')===true<\/code>\uff1b<code>prefers-reduced-motion<\/code> \u4e0b\u5168\u90e8\u52a8\u753b\u663e\u793a\u9759\u6001\u5b8c\u6210\u5e27\uff1b\u6807\u7b7e\u96f6\u91cd\u53e0\u96f6\u51fa\u754c\uff1bbundle.py \u5355\u6587\u4ef6\u7248 file:\/\/ \u76f4\u5f00 0 \u9519\u8bef\uff1b\u62bd\u67e5 5 \u4e2a\u6570\u5b57\u4e0b\u94bb\u56de\u6eaf\u5230 sources.js \u4e0e\u539f\u6587\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u5e76\u884c review agent<\/strong>\uff08QA.md \u00a74\uff0c\u6574\u7ad9\u5b8c\u6210\u540e\uff09\uff1a\u6d3e 3\u20134 \u4e2a<strong>\u53ea\u8bca\u65ad\u4e0d\u6539\u6587\u4ef6<\/strong>\u7684 review agent \u5206\u7247\u2014\u2014\u2460 \u5168\u90e8\u5c01\u9762\u53d8\u4f53+\u524d\u4e24\u7ae0\uff1b\u2461 \u4e2d\u6bb5\u5168\u90e8\u56fe\u8868\uff08\u542b\u4e0b\u94bb\u62bd\u67e5\uff09\uff1b\u2462 \u540e\u6bb5\u81f3 Sources\uff1b\u2463 \u54cd\u5e94\u5f0f\uff081280\/1100\/820 \u4e09\u89c6\u53e3\uff0c\u6bcf 1000px \u622a\u5c4f\u4eba\u5de5\u5ba1 + scrollWidth \u63a2\u9488\uff09\u3002Prompt \u8981\u70b9\u53ef\u76f4\u63a5\u7167\u6284\uff1a\u7ed9 URL \u548c\u8d1f\u8d23\u533a\u6bb5\uff1b\u8981\u6c42\u5148\u6162\u6eda\u518d scrollIntoView \u622a\u56fe\u5230\u6307\u5b9a\u76ee\u5f55\uff1b<strong>\u9010\u5f20\u4eba\u5de5\u770b\u56fe<\/strong>\uff1b\u4ea7\u51fa\u7ed3\u6784\u5316\u6e05\u5355\uff08\u4e00\u53e5\u8bdd\u95ee\u9898\/\u9009\u62e9\u5668+\u622a\u56fe\u540d\/\u4e25\u91cd\u5ea6 P0 broken\u00b7P1 obvious\u00b7P2 polish\/\u4e00\u53e5\u8bdd\u4fee\u6cd5\uff09\uff1b&#8221;\u901a\u8fc7\u9879&#8221;\u4e5f\u8981\u9010\u6761\u5217\u51fa\uff1b\u4e0d\u6539\u6587\u4ef6\u3001\u4e0d\u8d34 base64\u3002\u6536\u56de\u62a5\u544a\u540e\u6309 P1\u2192P2 \u5206\u8bca\u4fee\u590d\uff0c\u8dd1\u4e00\u8f6e\u5168\u7ad9\u56de\u5f52\u518d\u6536\u5c3e\u3002<\/p>\n\n\n\n<h3 id=\"43-%25e6%25a8%25a1%25e6%259d%25bf%25e4%25bb%25a3%25e7%25a0%2581%25e7%259a%2584%25e5%25ae%259e%25e9%2599%2585%25e8%25b4%25a8%25e9%2587%258f\" class=\"wp-block-heading\">4.3 \u6a21\u677f\u4ee3\u7801\u7684\u5b9e\u9645\u8d28\u91cf<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li><code>templates\/bundle.py<\/code>\uff0837 \u884c\uff09\uff1a\u628a\u591a\u6587\u4ef6\u7ad9\u70b9\u5185\u8054\u6210\u5355 HTML\u2014\u2014CSS link \u8f6c <code>&lt;style&gt;<\/code>\u3001\u6309\u539f\u987a\u5e8f\u5185\u8054 <code>&lt;script src&gt;<\/code>\u3001land-110m.json \u62d3\u6251\u6570\u636e\u8f6c\u5168\u5c40\u53d8\u91cf\u5e76\u6539\u5199 dashboard.js \u7684 fetch\u3002\u7b80\u5355\u53ef\u9760\u3002<\/li><li><code>templates\/utils.js<\/code>\uff08152 \u884c\uff09\uff1a\u5171\u4eab\u5de5\u5177 IIFE\u2014\u2014\u79cd\u5b50\u5316 RNG\uff08\u53ef\u590d\u73b0\u7eb9\u7406\uff09\u3001HiDPI canvas \u7ed1\u5b9a\uff08DPR\u22642\uff09\u30013D \u6295\u5f71\u3001\u70b9\u534a\u8272\u8c03\u573a\u3001count-up \u52a8\u753b\u3001<strong>drill-down \u5361\u7247\u7cfb\u7edf<\/strong>\uff08<code>U.showDrill({title,value,delta,sub,source})<\/code>\uff0c\u6765\u6e90\u5fc5\u987b\u5e26\u65e5\u671f\u548c\u8868\u952e\uff09\u3001chart frame \u4e09\u4ef6\u5957\u751f\u6210\u5668\u3002\u8c03\u8272\u677f\u91cc\u57cb\u7740\u9057\u4ea7\u5751\u5e76\u660e\u793a\uff1a<code>PAL.red<\/code> \u5b9e\u9645\u662f\u7535\u5149\u84dd #2251ff\uff08legacy slot name\uff09\uff0c\u771f\u7ea2\u662f <code>PAL.neg<\/code>\u3002<\/li><li><code>assets\/theme.css<\/code> + <code>fonts.css<\/code>\uff1aET Book base64 \u5185\u8054\uff08\u7981\u5916\u90e8\u5b57\u4f53\u94fe\u63a5\uff0c\u4fdd\u8bc1 file:\/\/ \u79bb\u7ebf\u53ef\u7528\uff09\u3002<\/li><\/ul>\n\n\n\n<h3 id=\"44-%25e5%259d%2591postmortem-26-%25e6%259d%25a1%25e7%25b2%25be%25e9%2580%2589%25e5%2585%25a8%25e6%2598%25af%25e5%25ae%259e%25e6%2588%2598%25e5%25ad%25a6%25e8%25b4%25b9\" class=\"wp-block-heading\">4.4 \u5751\uff08postmortem 26 \u6761\u7cbe\u9009\uff0c\u5168\u662f\u5b9e\u6218\u5b66\u8d39\uff09<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>canvas \u5728 <code>display:none<\/code> \u65f6\u521d\u59cb\u5316\u91cf\u5230 0\u00d70 \u2192 \u6fc0\u6d3b\u65f6\u5fc5\u987b\u91cd\u65b0 <code>fit()<\/code>\uff1b&#8221;\u628a\u65b0 canvas \u6f0f\u51fa <code>position:absolute;inset:0<\/code> \u9009\u62e9\u5668&#8221;\u2192 \u6574\u5757\u7a7a\u767d\uff08\u51fa\u73b0\u4e24\u6b21\uff0c\u88ab\u6807\u4e3a&#8221;\u6700\u5e38\u89c1\u5751&#8221;\uff09\uff1b<\/li><li>sticky \u5e03\u5c40\u65e0 <code>height:100vh<\/code> \u2192 \u56fe\u548c\u6587\u5b57\u5168\u6324\u9876\u90e8\uff1b<code>host.clientWidth<\/code> \u9996\u5e27\u4e3a 0 \u2192 \u4e00\u5207 scale \u538b\u6241\uff08\u94c1\u5f8b\uff1a\u56fa\u5b9a viewBox \u5750\u6807\u7cfb\uff0c\u6c38\u4e0d\u91cf\u5bb9\u5668\u5b9e\u9645\u5bbd\u5ea6\uff09\uff1b<\/li><li>ET Book \u53ea\u6709 400\/700 \u4e24\u4e2a\u5b57\u91cd\uff0c\u5199 600\/800 \u9759\u9ed8\u56de\u9000\uff1b<\/li><li>\u53e5\u5b50\u5207\u5206\u6b63\u5219\u5fc5\u987b\u8981\u6c42 <code>[.;]<\/code> \u540e\u63a5\u7a7a\u767d\uff0c\u5426\u5219\u628a\u5c0f\u6570\u70b9\u5f53\u53e5\u672b\uff08&#8221;diluting 65.&#8221;\uff09\uff1b<\/li><li>\u6570\u636e\u7eaa\u5f8b\uff1a\u8868\u91cc\u6ca1\u6709\u7684\u5b9e\u4f53\u5b81\u53ef\u4e0d\u753b\u5e76\u6ce8\u91ca\uff0c\u7f3a\u53e3\u753b\u6210\u7f3a\u53e3\uff08\u7ea2\u659c\u7eb9 + ? + [TBD]\uff09\uff0c<strong>\u7981\u6b62\u63d2\u503c<\/strong>\u3002<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u5b9a\u4f4d\u5224\u65ad<\/strong>\uff1a\u8fd9\u662f&#8221;\u628a McKinsey \u7ea7\u89c6\u89c9 QA \u6d41\u7a0b prompt \u5316&#8221;\u7684\u6781\u7aef\u6837\u672c\uff0c\u5de5\u7a0b\u5bc6\u5ea6\u5168\u7ec4\u6700\u9ad8\uff1b\u4f46\u5b83\u4ea7\u51fa\u7684\u662f\u9759\u6001\u7ad9\u70b9\uff0c\u4e0e\u7814\u7a76\/\u5f15\u7528\u673a\u5236\u96f6\u8026\u5408\uff0c\u53ef\u72ec\u7acb\u79fb\u690d\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 id=\"5-equityresearch%25e5%259e%2582%25e7%259b%25b4%25e9%25a2%2586%25e5%259f%259f%25e7%25a0%2594%25e7%25a9%25b6%25e6%258a%25a5%25e5%2591%258a%25e5%25b7%25a5%25e5%258e%2582%25e5%25af%25b9%25e6%25af%2594%25e6%25a0%25b7%25e6%259c%25ac-1\" class=\"wp-block-heading\">5. equity-research\uff1a\u5782\u76f4\u9886\u57df\u7814\u7a76\u62a5\u544a\u5de5\u5382\uff08\u5bf9\u6bd4\u6837\u672c 1\uff09<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u4f53\u91cf\uff1a5 \u4e2a SKILL \u5165\u53e3\uff08\u4e3b\u8def\u7531 327 \u884c + tearsheet 322 \u884c + task1 414 \u884c + task2 352 \u884c + task3 430 \u884c\uff09+ 6 \u4e2a analysis \u6846\u67b6 + 2 \u4e2a valuation + 6 \u4e2a\u6a21\u5757\u89c4\u683c + 6 \u4e2a references + 6 \u4e2a output \u6587\u4ef6\uff08layout\/qa\/css \u00d72\uff09+ 4 \u4e2a Python \u811a\u672c\u3002\u662f\u672c\u7ec4\u5de5\u7a0b\u5316\u7a0b\u5ea6\u6700\u9ad8\u7684\u5782\u76f4\u6280\u80fd\u3002<\/p>\n\n\n\n<h3 id=\"51-%25e8%25b7%25af%25e7%2594%25b1%25e5%2599%25a8%25e4%25b8%2589-tier-l1l2-%25e4%25bc%25b0%25e5%2580%25bc%25e6%25b7%25b1%25e5%25ba%25a6-%25e7%25a1%25ae%25e5%25ae%259a%25e6%2580%25a7%25e8%25af%25ad%25e8%25a8%2580%25e7%25ae%2597%25e6%25b3%2595\" class=\"wp-block-heading\">5.1 \u8def\u7531\u5668\uff1a\u4e09 Tier + L1\/L2 \u4f30\u503c\u6df1\u5ea6 + \u786e\u5b9a\u6027\u8bed\u8a00\u7b97\u6cd5<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>Tier A\uff08\u660e\u786e\u5173\u952e\u8bcd\uff09\u76f4\u63a5\u8def\u7531\uff1bTier B\uff08\u610f\u56fe\u6a21\u7cca\uff0c\u5982&#8221;\u5e2e\u6211\u770b\u770b\u8305\u53f0&#8221;\uff09<strong>\u5fc5\u987b\u95ee\u7528\u6237<\/strong>\u4e09\u9009\u4e00\uff08\u901f\u89c8\/\u6df1\u5ea6\/\u7b80\u5355\u56de\u7b54\uff09\uff1bTier C\uff08\u7b80\u5355\u4e8b\u5b9e\u95ee\u9898\uff09<strong>\u7981\u6b62\u89e6\u53d1\u6280\u80fd<\/strong>\u3002&#8221;Do not assume they want a full report \u2014 that wastes their time and tokens&#8221;\u3002<\/li><li>\u6df1\u5ea6\u7814\u62a5\u518d\u95ee\u4e00\u5c42\u4f30\u503c\u6df1\u5ea6\uff1aL2\uff08\u4e09\u8868 Excel \u6a21\u578b + DCF + \u654f\u611f\u6027\uff0c3 \u6b65\uff09\/ L1\uff08\u4ec5\u53ef\u6bd4\u516c\u53f8\uff0c2 \u6b65\uff09\u3002<\/li><li><strong>\u8bed\u8a00\u9009\u62e9\u662f\u7b97\u6cd5\u4e0d\u662f\u5224\u65ad<\/strong>\uff08task1 Phase 0.1\uff09\uff1a\u6570\u5b57\u7b26\u6bd4\u4f8b\u5b9a query_lang \u2192 \u6309\u5e02\u573a\u5b9a market_lang \u2192 \u4e00\u81f4\u76f4\u63a5\u7528\u3001\u4e0d\u4e00\u81f4<strong>\u5fc5\u987b\u505c\u4e0b\u6765\u95ee<\/strong>\uff0c\u9501\u5b9a\u540e\u6c38\u4e0d\u66f4\u6539\u3002\u4efb\u52a1\u5185\u90e8\u5374\u7559\u4e86\u77db\u76fe\uff1atask1 \u5199&#8221;Deterministic Algorithm (NO exceptions)&#8221;\uff0ctearsheet \u540c\u4e00\u8282\u5199&#8221;Intelligent Judgment, Not Hard-Coded Rules&#8221;\u2014\u2014\u4e24\u4efd\u6587\u4ef6\u4e0d\u540c\u6b65\uff0c\u662f\u771f\u5b9e\u7ef4\u62a4\u503a\u3002<\/li><\/ul>\n\n\n\n<h3 id=\"52-3task-%25e6%259e%25b6%25e6%259e%2584%25e4%25b8%258estop-%25e5%258d%258f%25e8%25ae%25ae\" class=\"wp-block-heading\">5.2 3-Task \u67b6\u6784\u4e0e&#8221;STOP \u534f\u8bae&#8221;<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">L2 \u5168\u94fe\u8def\uff1aTask 1\uff08\u7814\u7a76\u6587\u6863 \u226513,500 \u8bcd\uff0c\u5206\u8282\u6700\u4f4e\u8bcd\u6570\uff1a\u00a7I \u2265600w\u3001\u00a7II \u22652,250w\u3001\u00a7III \u22651,800w\u3001\u00a7IV \u22652,250w\uff09\u2192 \u4ea4\u4ed8\u5e76 <strong>STOP<\/strong> \u2192 \u7528\u6237\u8bf4&#8221;\u7ee7\u7eed&#8221;\u2192 Task 2\uff08\u771f Excel \u6a21\u578b\uff1a8+ tab\u3001BS \u5fc5\u5e73\u3001\u73b0\u91d1\u6d41\u4e0e BS \u52fe\u7a3d\u3001\u5b57\u4f53\u989c\u8272\u7ea6\u5b9a\u84dd=\u786c\u7f16\u7801\/\u9ed1=\u516c\u5f0f\/\u7eff=\u8de8\u8868\u94fe\u63a5\uff09\u2192 STOP \u2192 Task 3\uff08HTML\u2192PDF \u226525 \u9875\uff09\u3002<strong>\u7981\u6b62\u81ea\u52a8\u4e32\u8054 Task<\/strong>\uff1b\u6570\u636e\u8d70\u6587\u4ef6\u4e0d\u8d70\u8bb0\u5fc6\uff08&#8221;Data flows via files, not memory&#8221;\uff09\u3002<\/p>\n\n\n\n<h3 id=\"53-%25e5%2588%2586%25e6%259e%2590%25e5%25b1%2582%25e2%2586%2594%25e5%25b1%2595%25e7%25a4%25ba%25e5%25b1%2582%25e5%25a5%2591%25e7%25ba%25a6referencesoutputschemamd312-%25e8%25a1%258c\" class=\"wp-block-heading\">5.3 \u5206\u6790\u5c42\u2194\u5c55\u793a\u5c42\u5951\u7ea6\uff08references\/output-schema.md\uff0c312 \u884c\uff09<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u5b9a\u4e49 13 \u4e2a Section \u7684\u7ed3\u6784\u5316\u4e2d\u95f4\u5bf9\u8c61\uff08<code>{company}_{ticker}_analysis_brief.md<\/code>\uff09\uff0c\u516d\u7ef4\u5206\u6790\uff08H1 \u7ade\u4e89\u683c\u5c40\u2026H6 \u6280\u672f\u5468\u671f\uff09\u6bcf\u7ef4\u542b conclusion\/key_data_support\/so_what\/information_class\uff08verified \u5206\u7ea7<strong>\u4ec5\u5185\u90e8\u4f7f\u7528\uff0c\u6c38\u4e0d\u51fa\u73b0\u5728\u62a5\u544a\u91cc<\/strong>\uff09\u3002&#8221;Neither layer should bypass this contract&#8221;\u2014\u2014\u5206\u6790\u5c42\u5fc5\u987b\u586b\u6ee1\u5fc5\u586b\u5b57\u6bb5\uff0c\u5c55\u793a\u5c42\u4e0d\u5f97\u91cd\u65b0\u63a8\u5bfc\u5206\u6790\u7ed3\u8bba\u3002\u672b\u5c3e 7 \u6761\u6821\u9a8c\u89c4\u5219\uff08\u6295\u8d44\u8bba\u70b9\u8868\u5fc5\u987b\u6070\u597d 4 \u884c\u3001\u591a\u7a7a\u56e0\u5b50\u5404 \u22651\u3001\u50ac\u5316\u5242\u65e5\u5386 \u22654 \u4e8b\u4ef6\u542b\u4e0b\u6b21\u8d22\u62a5\u7b49\uff09\u3002<\/p>\n\n\n\n<h3 id=\"54-%25e6%2595%25b0%25e6%258d%25ae%25e7%25ba%25aa%25e5%25be%258bdatasourcesmd447-%25e8%25a1%258c\" class=\"wp-block-heading\">5.4 \u6570\u636e\u7eaa\u5f8b\uff08data-sources.md\uff0c447 \u884c\uff09<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>\u6570\u636e\u6e90\u6309\u5e02\u573a\u5206\u4f18\u5148\u7ea7\uff1aA \u80a1\/\u6e2f\u80a1 iFind &gt; Yahoo &gt; \u5929\u773c\u67e5 &gt; Web Search\uff1b\u7f8e\u80a1 Yahoo \u4f18\u5148\u3002iFind \u62a5\u544a\u671f\u53c2\u6570 <code>YYYYMMDD<\/code> \u4e14 MM DD \u2208 {0331,0630,0930,1231}\uff0c\u7f8e\u80a1\u4ee3\u7801 iFind \u7528 <code>.N\/.O<\/code> \u540e\u7f00\u3001Yahoo \u4e0d\u5e26\u540e\u7f00\uff08\u5e38\u89c1\u9519\u8bef\u5168\u5217\u8868\u5316\uff09\u3002<\/li><li><strong>\u80a1\u4ef7\u6570\u636e\u96f6\u5bb9\u5fcd + \u91cd\u8bd5\u534f\u8bae<\/strong>\uff1a\u5931\u8d25\u4e94\u7c7b\u5b9a\u4e49\uff08\u8d85\u65f6\/\u7a7a\u54cd\u5e94 &lt;100B\/\u663e\u5f0f\u9519\u8bef\/\u6709\u6548\u884c &lt;50\/\u5f02\u5e38\uff09\u2192 \u5355\u6e90\u6700\u591a 3 \u6b21\u91cd\u8bd5\uff08\u6307\u6570\u9000\u907f 2\/4\/8s\uff0c\u6bcf\u6b21\u91cd\u8bd5\u524d\u8dd1\u53c2\u6570\u8bca\u65ad\u51b3\u7b56\u6811\uff09\u2192 \u6362\u6e90\uff08iFind\u2192Yahoo\uff09\u2192 \u5168\u90e8\u8017\u5c3d\u5219<strong>\u8df3\u8fc7\u6a21\u5757\u5e76\u6807\u6ce8&#8221;\u65e0\u516c\u5f00\u6570\u636e&#8221;<\/strong>\u2014\u2014&#8221;\u26d4 NEVER: after 1 failure, immediately fall back to mock data&#8221;\u3002<\/li><li>Web \u641c\u7d22\u9884\u7b97\u5c01\u9876\uff1aTask 1 \u5168\u7a0b \u226425 \u6b21\uff08API \u8c03\u7528\u4e0d\u8ba1\uff09\uff0c\u63a5\u8fd1\u4e0a\u9650\u65f6\u6536\u53e3\u5e76\u628a\u7f3a\u53e3\u8f6c\u4e3a \u00a7X \u98ce\u9669\u8282\u7684&#8221;data limitation&#8221;\u2014\u2014<strong>\u628a\u6570\u636e\u7f3a\u53e3\u5236\u5ea6\u5316\u4e3a\u4e00\u7b49\u516c\u6c11\u8f93\u51fa<\/strong>\uff0c\u4e0e irr \u7684&#8221;\u7f3a\u53e3\u753b\u6210\u7f3a\u53e3&#8221;\u540c\u4e00\u54f2\u5b66\u3002<\/li><\/ul>\n\n\n\n<h3 id=\"55-qa%25e4%25b8%2589%25e5%25b1%2582%25e7%25ba%25a7%25e9%2597%25a8%25e7%25a6%2581-%25e7%25a1%25ae%25e5%25ae%259a%25e6%2580%25a7%25e6%25a0%25a1%25e9%25aa%258c%25e8%2584%259a%25e6%259c%25ac\" class=\"wp-block-heading\">5.5 QA\uff1a\u4e09\u5c42\u7ea7\u95e8\u7981 + \u786e\u5b9a\u6027\u6821\u9a8c\u811a\u672c<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li><code>output\/report-qa.md<\/code>\uff1aA \u7ea7 23 \u9879\uff08\u4efb\u4e00\u5931\u8d25\u7981\u6b62\u4ea4\u4ed8\uff09\/ B \u7ea7 27 \u9879\uff08&gt;3 \u5931\u8d25\u7981\u6b62\u4ea4\u4ed8\uff09\/ C \u7ea7\u4ec5\u8bb0\u5f55\uff1b\u8d28\u91cf\u95e8\u7981\u5faa\u73af\u6700\u591a 3 \u8f6e\uff1b&#8221;\u4efb\u4f55\u4fee\u6539\u540e\u5fc5\u987b\u91cd\u8dd1\u5168\u5faa\u73af\uff0c\u65e0\u4f8b\u5916&#8221;\u3002<\/li><li><code>scripts\/report_validator.py<\/code>\uff08132 \u884c\uff0c\u7eaf stdlib\uff09\uff1a\u6b63\u5219\u68c0\u67e5 HTML \u5b8c\u6574\u6027\uff08<code>&lt;\/body&gt;<\/code>\/<code>&lt;\/html&gt;<\/code> \u5404\u6070\u597d 1 \u4e2a\uff09\u3001\u5fc5\u5907 CSS \u7c7b\uff08<code>.report-container<\/code>\/<code>.cover-split<\/code>\/<code>.debate-table<\/code>\/<code>.exec-summary<\/code>\uff09\u3001\u6a21\u5757\u6570\uff08equity \u226518 \/ tearsheet \u22658\uff09\u3001exhibit \u6570\u3001base64 \u56fe\u8868\u6570\u3001<strong>\u7981\u6b62\u539f\u59cb Mermaid<\/strong>\uff08PDF \u4e0d\u6267\u884c JS\uff09\u3002exit code \u8bed\u4e49\u5316\uff0c\u652f\u6301 <code>--json<\/code>\u3002<\/li><li><code>scripts\/chart_generator.py<\/code>\uff08157 \u884c\uff09\uff1amatplotlib Agg \u540e\u7aef\uff0c5 \u79cd\u56fe\u578b\uff08revenue_segment\/margin_trends\/market_share\/pe_band\/scenario_comparison\uff09\uff0cJSON \u8fdb SVG \u51fa\u3002\u4ee3\u7801\u672c\u8eab\u5e73\u5eb8\uff08\u65e0\u5b57\u4f53\u5904\u7406\u3001\u65e0 hatch \u9884\u6d4b\u6837\u5f0f\u2014\u2014\u5c3d\u7ba1\u6a21\u5757\u89c4\u683c\u4e66\u8981\u6c42 forecast \u671f hatch\uff09\u3002<\/li><li><code>scripts\/embed_charts.py<\/code>\uff08110 \u884c\uff09\uff1a<code>{{PLACEHOLDER}}<\/code> \u2192 base64 SVG <code>&lt;img&gt;<\/code> \u66ff\u6362 + \u56fe\u8868\u8ba1\u6570\u3002<\/li><li><code>scripts\/stock_chart_generator.py<\/code>\uff08102 \u884c\uff09\uff1a52 \u5468\u80a1\u4ef7 + \u57fa\u51c6 rebase \u53e0\u52a0 + \u6210\u4ea4\u91cf\u53cc\u8f74\u3002<\/li><li>Task 3 \u8981\u6c42 \u226510 \u4e2a\u6570\u5b57\u4e0e Excel \u9010\u9879 cross-check\uff08\u5c01\u9762\u8425\u6536=IS tab FY0\u3001\u654f\u611f\u6027\u4e2d\u5fc3\u683c=Sensitivity tab \u4e2d\u5fc3\u7b49\uff0c\u5168\u90e8&#8221;Exact&#8221;\uff09\u3002<\/li><\/ul>\n\n\n\n<h3 id=\"56-%25e6%2596%2587%25e6%25a1%25a3%25e4%25bb%25a3%25e7%25a0%2581%25e4%25b8%258d%25e4%25b8%2580%25e8%2587%25b4%25e7%259c%259f%25e5%25ae%259e%25e5%259d%2591%25e7%25a7%25bb%25e6%25a4%258d%25e5%2589%258d%25e5%25bf%2585%25e9%25a1%25bb%25e4%25bf%25ae\" class=\"wp-block-heading\">5.6 \u6587\u6863-\u4ee3\u7801\u4e0d\u4e00\u81f4\uff08\u771f\u5b9e\u5751\uff0c\u79fb\u690d\u524d\u5fc5\u987b\u4fee\uff09<\/h3>\n\n\n\n<ol class=\"wp-block-list\"><li>SKILL-task3-report.md \u8ba9\u6a21\u578b\u8c03\u7528 <code>embed_charts.py render --specs '[...]'<\/code> \u548c <code>embed_charts.py count --html<\/code>\u2014\u2014<strong>\u8fd9\u4e24\u4e2a\u5b50\u547d\u4ee4\u5728\u5b9e\u9645\u811a\u672c\u91cc\u4e0d\u5b58\u5728<\/strong>\uff08\u5b9e\u9645\u662f <code>--count_only<\/code> + <code>--html\/--chart_dir<\/code>\uff09\uff1b\u6587\u6863\u81ea\u5df1\u4e5f\u627f\u8ba4&#8221;The <code>--json<\/code> flag alone does NOT return base64&#8243;\u5e76\u7ed9\u4e86\u624b\u52a8 4 \u6b65 fallback\uff0c\u8bf4\u660e\u4f5c\u8005\u77e5\u9053 wrapper \u4e0d\u53ef\u9760\u3002<\/li><li>equity-report-charts.md \u7684\u8c03\u7528\u793a\u4f8b\u4f20 <code>{\"years\":...,\"segments\":{...}}<\/code> \u548c <code>--currency\/--unit<\/code> \u53c2\u6570\uff0cchart_generator.py \u5b9e\u9645\u671f\u671b <code>{\"labels\":[],\"datasets\":[]}<\/code> \u4e14\u65e0\u8fd9\u4e24\u4e2a flag\u3002<\/li><li>report-qa.md A23 \u884c\u8868\u683c\u9519\u4f4d\uff08Standard \u5217\u4e32\u8fdb\u4e86 A22 \u7684\u5185\u5bb9\uff09\uff0cmarkdown \u8868\u683c\u5df2\u635f\u574f\u3002<\/li><\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">\u8fd9\u4e09\u5904\u90fd\u6307\u5411\u540c\u4e00\u7ed3\u8bba\uff1a<strong>\u6280\u80fd\u6587\u6863\u9760\u6a21\u578b\u8fd0\u884c\u65f6\u81ea\u9002\u5e94\u7ea0\u9519\u6d3b\u7740<\/strong>\uff0c\u4e0d\u662f\u53ef\u76f2\u4fe1\u7684\u786e\u5b9a\u6027\u89c4\u8303\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 id=\"6-stockresearchreport%25e6%25a0%25b7%25e5%25bc%258f%25e5%25a5%2591%25e7%25ba%25a6%25e9%25a9%25b1%25e5%258a%25a8%25e5%25a4%258d%25e5%2588%25bb%25e5%25af%25b9%25e6%25af%2594%25e6%25a0%25b7%25e6%259c%25ac-2\" class=\"wp-block-heading\">6. stock-research-report\uff1a\u6837\u5f0f\u5951\u7ea6\u9a71\u52a8\u590d\u523b\uff08\u5bf9\u6bd4\u6837\u672c 2\uff09<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">SKILL.md 162 \u884c + references\/structure_contract.md\uff08338 \u884c\uff09+ style_contract.md\uff08286 \u884c\uff09\uff0c\u96f6\u811a\u672c\u3002\u505a\u7684\u662f<strong>\u5238\u5546\u7814\u62a5\u89c6\u89c9\u8eab\u4efd\u590d\u523b<\/strong>\uff08\u56fd\u6cf0\u6d77\u901a\/\u6d77\u901a\u56fd\u9645\u4e24\u53d8\u4f53\uff09\u3002\u65b9\u6cd5\u5b66\u503c\u5f97\u6ce8\u610f\uff1a<strong>\u6240\u6709\u6837\u5f0f\u53c2\u6570\u6765\u81ea\u5bf9\u771f\u5b9e PDF \u53c2\u8003\u4ef6\u7684\u9006\u5411\u63d0\u53d6<\/strong>\u2014\u2014\u989c\u8272\u7528\u6e32\u67d3\u622a\u56fe 200 DPI \u50cf\u7d20\u91c7\u6837\u3001\u5b57\u4f53\u7528 <code>fitz<\/code>\uff08PyMuPDF\uff09\u679a\u4e3e\u786e\u8ba4\uff08\u6b63\u6587\u662f\u6977\u4f53_GB2312 \u800c\u975e\u60f3\u5f53\u7136\u7684\u5b8b\u4f53\uff0c\u6807\u9898\u9ed1\u4f53\uff09\u3002\u5951\u7ea6\u7ec6\u5230\uff1a\u5c01\u9762\u9875 8 \u4e2a\u5fc5\u5907\u5143\u7d20\uff08\u542b&#8221;\u5f80\u671f\u56de\u987e&#8221;\u5217\u8868\u3001\u5206\u6790\u5e08\u767b\u8bb0\u7f16\u53f7\u680f\uff09\u3001\u76ee\u5f55\u5fc5\u987b\u70b9\u7ebf\u524d\u5bfc\u7b26\u3001\u9875\u811a&#8221;\u8bf7\u52a1\u5fc5\u9605\u8bfb\u6b63\u6587\u4e4b\u540e\u7684\u514d\u8d23\u6761\u6b3e\u90e8\u5206 X of Y&#8221;\u3001\u514d\u8d23\u58f0\u660e\u591a\u9875\uff08\u8bc4\u7ea7\u5b9a\u4e49\/\u8bc4\u7ea7\u5206\u5e03\u8868\/\u4e5d\u4e2a\u6cd5\u57df\u7684\u5206\u53d1\u901a\u77e5\uff09\u3001&#8221;NO decorative circles&#8221;\u8fd9\u7c7b\u8d1f\u5411\u7ea6\u675f\u3002<strong>\u7248\u6743\u8b66\u793a<\/strong>\uff1a\u8be5\u6280\u80fd\u590d\u523b\u7684\u662f\u771f\u5b9e\u5238\u5546\u7684\u54c1\u724c\u89c6\u89c9\u8eab\u4efd\uff08logo\u3001\u7248\u5f0f\u3001\u514d\u8d23\u58f0\u660e\u6587\u672c\uff09\uff0c\u81ea\u7528\u7814\u7a76\u7b14\u8bb0\u65e0\u59a8\uff0c\u5bf9\u5916\u5206\u53d1\u6709\u5546\u6807\/\u5408\u89c4\u98ce\u9669\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u4e0e equity-research \u7684\u5206\u5de5\uff1aequity-research \u7ba1&#8221;\u5206\u6790\u4ec0\u4e48\u3001\u600e\u4e48\u9a8c\u8bc1&#8221;\uff0cstock-research-report \u7ba1&#8221;\u957f\u4ec0\u4e48\u6837&#8221;\uff0c\u4e24\u8005\u53ef\u4e32\u8054\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 id=\"7-%25e7%25a7%25bb%25e6%25a4%258d%25e8%25af%2584%25e4%25bc%25b0\" class=\"wp-block-heading\">7. \u79fb\u690d\u8bc4\u4f30<\/h2>\n\n\n\n<h3 id=\"71-%25e5%25bc%2595%25e7%2594%25a8-id-%25e6%259c%25ba%25e5%2588%25b6%25e7%259a%2584%25e4%25be%259d%25e8%25b5%2596%25e6%258b%2586%25e8%25a7%25a3%25e4%25bb%25bb%25e5%258a%25a1%25e9%2587%258d%25e7%2582%25b9%25e9%2597%25ae%25e9%25a2%2598\" class=\"wp-block-heading\">7.1 \u5f15\u7528 ID \u673a\u5236\u7684\u4f9d\u8d56\u62c6\u89e3\uff08\u4efb\u52a1\u91cd\u70b9\u95ee\u9898\uff09<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>\u73af\u8282<\/th><th>\u4e91\u7aef\u4f9d\u8d56<\/th><th>\u8131\u79bb Kimi \u524d\u7aef\u80fd\u5426\u8fd0\u884c<\/th><\/tr><\/thead><tbody><tr><td>\u4e0d\u53ef\u53d8 ID \u5206\u914d<\/td><td>\u4e91\u7aef\u641c\u7d22\u5de5\u5177\uff08\u6bcf\u6b21\u641c\u7d22\u7ed3\u679c\u7ed9\u7a33\u5b9a ID\uff09<\/td><td><strong>\u53ef\u66ff\u4ee3<\/strong>\uff1a\u4efb\u4f55\u641c\u7d22\u5c01\u88c5\u5728\u8fd4\u56de\u7ed3\u679c\u65f6\u5206\u914d\u4f1a\u8bdd\u5185\u5355\u8c03\u9012\u589e ID \u5373\u53ef\uff0c\u7ea6\u51e0\u5341\u884c<\/td><\/tr><tr><td>citation \u6eaf\u6e90\u5e93<\/td><td><code>\/mnt\/agents\/.store\/citation.jsonl<\/code>\uff08\u5de5\u5177\u4fa7\u843d\u76d8\u5230\u5de5\u4f5c\u533a\uff09<\/td><td><strong>\u53ef\u66ff\u4ee3<\/strong>\uff1a\u5de5\u4f5c\u533a\u5199\u4e00\u4e2a JSONL\uff08id\/url\/site_name\/date\uff09\uff0cmd2docx \u7ba1\u7ebf\u76f4\u63a5\u53ef\u7528<\/td><\/tr><tr><td>\u6a21\u578b\u4fa7\u7eaa\u5f8b\uff08\u7981\u91cd\u6392\/\u7981 References \u8282\uff09<\/td><td>\u65e0\uff0c\u7eaf prompt<\/td><td>\u76f4\u63a5\u62f7\u8d1d\uff0c\u96f6\u6210\u672c<\/td><\/tr><tr><td>\u524d\u7aef\u6765\u6e90\u5361\u7247<\/td><td>Kimi \u524d\u7aef\u6309 ID \u6e32\u67d3<\/td><td><strong>\u53ef\u7f3a\u7701<\/strong>\uff1a\u6ca1\u6709\u524d\u7aef\u65f6 marker \u662f\u60f0\u6027\u6587\u672c\uff0c\u4e0d\u5f71\u54cd\u62a5\u544a\u672c\u4f53\uff1b\u81ea\u6709 UI \u53ef\u505a hover \u5361\u7247\uff08JSONL \u67e5\u8be2\u5373\u53ef\uff09<\/td><\/tr><tr><td>\u79bb\u7ebf\u8f6c\u6362\uff08\u811a\u6ce8\/\u5c3e\u6ce8\uff09<\/td><td>md2docx \u4e94\u811a\u672c + pandoc\/python-docx\/lxml<\/td><td><strong>\u5b8c\u5168\u53ef\u79fb\u690d<\/strong>\uff0c\u5f00\u6e90\u4f9d\u8d56\uff0c\u5951\u7ea6\u6e05\u6670\uff08\u4e24\u5c42\u7f16\u53f7\u5206\u79bb + missing \u4fdd\u7559\u8b66\u544a\uff09<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7ed3\u8bba\uff1a\u6574\u5957\u673a\u5236\u53ef\u4ee5\u8131\u79bb Kimi \u524d\u7aef\u72ec\u7acb\u8fd0\u884c\u3002<\/strong> \u786c\u4f9d\u8d56\u4e0d\u662f&#8221;\u524d\u7aef&#8221;\uff0c\u800c\u662f&#8221;\u5de5\u5177\u4fa7 ID \u7a33\u5b9a\u6027&#8221;\u2014\u2014\u53ea\u8981\u81ea\u6709\u641c\u7d22\u5de5\u5177\u5728\u4e00\u6b21\u7814\u7a76\u4f1a\u8bdd\u5185\u5bf9\u540c\u4e00 URL \u8fd4\u56de\u540c\u4e00 ID\uff0c\u94fe\u8def\u5c31\u95ed\u5408\u3002Kimi Code \u79fb\u690d\u65f6\u6700\u5c0f\u5b9e\u73b0 = \u641c\u7d22\u5de5\u5177\u5305\u88c5\u5668\uff08\u5206\u914d ID + \u8ffd\u52a0 JSONL\uff09+ \u6280\u80fd\u539f\u6587 + \uff08\u53ef\u9009\uff09md2docx \u7ba1\u7ebf\u3002<\/p>\n\n\n\n<h3 id=\"72-%25e7%25a7%25bb%25e6%25a4%258d%25e8%25af%2584%25e4%25bc%25b0%25e8%25a1%25a8\" class=\"wp-block-heading\">7.2 \u79fb\u690d\u8bc4\u4f30\u8868<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>\u6280\u80fd\/\u7ec4\u4ef6<\/th><th>\u5bf9 Hermes \u4ef7\u503c<\/th><th>\u5bf9 Kimi Code \u4ef7\u503c<\/th><th>\u79fb\u690d\u5de5\u4f5c\u91cf<\/th><th>\u786c\u4f9d\u8d56<\/th><\/tr><\/thead><tbody><tr><td>deep-research\uff08\u5355 agent \u5faa\u73af\uff09<\/td><td><strong>\u9ad8<\/strong>\u2014\u201410+ \u6b65\u5faa\u73af + \u9012\u5f52\u53cd\u601d + \u5f15\u7528\u7eaa\u5f8b\u662f\u7eaf prompt\uff0c\u76f4\u63a5\u589e\u5f3a Hermes \u7814\u7a76\u80fd\u529b<\/td><td><strong>\u9ad8<\/strong>\u2014\u2014SKILL.md \u5373\u62f7\u5373\u7528\uff0cKimi Code \u5df2\u6709 WebSearch\/WebFetch<\/td><td>\u7eaf\u62f7\u8d1d\uff08\u4ec5\u9700\u628a <code>ask_user<\/code>\u3001<code>\/mnt\/agents\/output<\/code> \u6362\u6210\u672c\u5730\u7b49\u4ef7\u7269\uff09<\/td><td>\u641c\u7d22\u5de5\u5177\u9700\u8fd4\u56de\u7a33\u5b9a\u6e90 ID \u624d\u80fd\u4fdd\u4f4f\u5f15\u7528\u673a\u5236<\/td><\/tr><tr><td>\u4e0d\u53ef\u53d8\u5f15\u7528 ID + citation.jsonl \u5951\u7ea6<\/td><td><strong>\u9ad8<\/strong>\u2014\u2014\u6eaf\u6e90\u5e93 + \u4e24\u5c42\u7f16\u53f7\u5206\u79bb\u662f\u4efb\u4f55\u4e25\u8083\u7814\u7a76 agent \u7684\u57fa\u5efa<\/td><td><strong>\u9ad8<\/strong>\u2014\u2014\u52a0\u4e00\u4e2a\u641c\u7d22\u5305\u88c5\u5668\u5373\u53ef\u95ed\u73af<\/td><td>\u9700\u9002\u914d\uff08\u5199 ID \u5206\u914d\u5668 + JSONL \u843d\u76d8\uff0c\u7ea6 100-200 \u884c\uff09<\/td><td>\u65e0\u95ed\u6e90\u4f9d\u8d56\uff1b\u524d\u7aef\u5361\u7247\u53ef\u9009<\/td><\/tr><tr><td>deep-research-swarm\uff08Phase 0 \u8def\u7531 + \u56db\u7ea7\u7f6e\u4fe1\u5ea6\uff09<\/td><td><strong>\u9ad8<\/strong>\u2014\u2014\u82e5 Hermes \u6709\u5b50\u4ee3\u7406\u539f\u8bed\uff0c\u8fd9\u662f\u73b0\u6210\u7684\u591a\u4ee3\u7406\u7814\u7a76\u4e50\u8c31\uff1b\u8def\u7531\u4fe1\u53f7\u8868\u548c\u7f6e\u4fe1\u5ea6\u5224\u636e\u53ef\u76f4\u63a5\u6284<\/td><td><strong>\u4e2d<\/strong>\u2014\u2014Kimi Code \u5b50\u4ee3\u7406\u80fd\u529b\uff08task\/agent \u5de5\u5177\uff09\u5177\u5907\uff0c\u4f46 \u2265200 \u6b21\u641c\u7d22\u9884\u7b97\u9700\u6309\u672c\u5730\u914d\u989d\u5927\u780d<\/td><td>\u9700\u9002\u914d\uff08\u66ff\u6362 <code>task<\/code> \u539f\u8bed\u3001\u8f93\u51fa\u76ee\u5f55\u3001\u780d\u641c\u7d22\u9884\u7b97\uff09<\/td><td>\u5b50\u4ee3\u7406 + \u5171\u4eab\u76ee\u5f55\uff1b\u65e0\u4e91\u7aef API<\/td><\/tr><tr><td>swarm \u7684 Route C\/D \u6587\u4ef6\u7814\u7a76<\/td><td><strong>\u4e2d<\/strong>\u2014\u2014&#8221;\u6587\u4ef6\u4e3a\u4e3b+\u5916\u90e8\u8865\u7f3a&#8221;\u7684\u5206\u6d41\u903b\u8f91\u901a\u7528<\/td><td><strong>\u4e2d<\/strong><\/td><td>\u7eaf\u62f7\u8d1d\uff08\u89c4\u5219\u90e8\u5206\uff09<\/td><td>\u65e0<\/td><\/tr><tr><td>interactive-research-report-en\uff08\u8bbe\u8ba1\u7cfb\u7edf+QA \u95e8\u7981\uff09<\/td><td><strong>\u4e2d<\/strong>\u2014\u2014Hermes \u82e5\u4e0d\u505a\u53ef\u89c6\u5316\u62a5\u544a\u7ad9\u70b9\u5219\u4ef7\u503c\u9650\u4e8e QA \u65b9\u6cd5\u8bba\uff08\u622a\u56fe\u2192\u6279\u8bc4\u2192\u4fee\u590d\u5faa\u73af\u3001\u4e09\u91cd\u6d4b\u8bd5\u3001\u5206\u7247 review agent \u53ef\u6cdb\u5316\u5230\u4e00\u5207\u524d\u7aef\u4ea7\u51fa\uff09<\/td><td><strong>\u9ad8<\/strong>\u2014\u2014Kimi Code \u6709 playwright\/\u6d4f\u89c8\u5668\u5de5\u5177\u94fe\uff0c\u6574\u4e2a\u6280\u80fd\uff08\u542b theme.css\/utils.js\/bundle.py\/ET Book \u5b57\u4f53\uff09\u53ef\u76ee\u5f55\u7ea7\u62f7\u8d1d\uff0c\u552f\u4e00\u5916\u90e8\u4f9d\u8d56 d3\/topojson \u9700 vendor<\/td><td>\u9700\u9002\u914d\uff08vendor d3 \u672c\u5730\u5316 + \u66ff\u6362 playwright \u8c03\u7528\u65b9\u5f0f\uff09\uff1bQA \u65b9\u6cd5\u8bba\u90e8\u5206\u7eaf\u62f7\u8d1d<\/td><td>d3.min.js\/topojson vendor \u6587\u4ef6\uff08\u672c\u8f6e\u53ea\u786e\u8ba4\u4e86\u5f15\u7528\uff0c\u672a\u53d6\u56de\u672c\u4f53\uff09\uff1bplaywright<\/td><\/tr><tr><td>equity-research \u6574\u4f53<\/td><td><strong>\u4e2d<\/strong>\u2014\u2014\u91d1\u878d\u5782\u76f4\uff0cHermes \u901a\u7528 agent \u7528\u4e0d\u4e0a\u5168\u6d41\u7a0b\uff0c\u4f46 3-Task STOP \u534f\u8bae\u3001Hard Gate Table\u3001output-schema \u5951\u7ea6\u662f\u901a\u7528\u8303\u5f0f<\/td><td><strong>\u4e2d<\/strong>\u2014\u2014Kimi Code \u5df2\u6709 kimi-datasource \u63d2\u4ef6\uff08iFind\/Yahoo\/\u5929\u773c\u67e5\u540c\u6784\uff09\uff0c\u6570\u636e\u6e90\u5c42\u53ef\u5bf9\u63a5<\/td><td>\u9700\u91cd\u5199\u6570\u636e\u6e90\u5c42\uff08ifind_* \u2192 \u672c\u5730\u6570\u636e\u6e90\u63d2\u4ef6\u8c03\u7528\uff09\uff0c\u5176\u4f59 prompt \u53ef\u62f7<\/td><td>iFind\/\u5929\u773c\u67e5\/Caixin \u4e3a\u4e91\u7aef agent-gw \u63d2\u4ef6\uff08\u51ed\u8bc1\u5728 root \u7684 agent-gw.json\uff0c\u6a21\u578b\u7528\u6237\u8bfb\u4e0d\u5230\uff09\uff1bYahoo \u53ef\u516c\u5f00\u66ff\u4ee3<\/td><\/tr><tr><td>equity-research \u7684\u96f6\u5bb9\u5fcd+\u91cd\u8bd5\u534f\u8bae\uff08data-sources.md \u00a7Missing Data\uff09<\/td><td><strong>\u9ad8<\/strong>\u2014\u2014&#8221;\u5931\u8d25\u4e94\u7c7b\u5b9a\u4e49\u2192\u8bca\u65ad\u51b3\u7b56\u6811\u2192\u6307\u6570\u9000\u907f\u2192\u6362\u6e90\u2192\u8df3\u8fc7\u5e76\u6807\u6ce8&#8221;\u662f LLM \u8c03\u5916\u90e8 API \u7684\u901a\u7528\u9632\u7f16\u9020\u7ea2\u5b9d\u4e66<\/td><td><strong>\u9ad8<\/strong><\/td><td>\u7eaf\u62f7\u8d1d\uff08\u6539\u6e90\u540d\uff09<\/td><td>\u65e0<\/td><\/tr><tr><td>report_validator.py \/ chart \u4e09\u811a\u672c<\/td><td><strong>\u4f4e-\u4e2d<\/strong>\u2014\u2014validator \u601d\u8def\uff08\u786e\u5b9a\u6027\u7ed3\u6784\u6821\u9a8c\u515c\u5e95 prompt \u6280\u80fd\uff09\u503c\u5f97\u6284\uff0c\u4ee3\u7801\u672c\u8eab\u5e73\u5eb8\u4e14\u4e0e\u6587\u6863\u4e0d\u4e00\u81f4<\/td><td>\u540c\u5de6<\/td><td>\u9700\u91cd\u5199\uff08\u6587\u6863\u4e0e\u4ee3\u7801\u53c2\u6570\u5951\u7ea6\u5df2\u6f02\u79fb\uff09<\/td><td>matplotlib\/pandas<\/td><\/tr><tr><td>stock-research-report<\/td><td><strong>\u4f4e<\/strong>\u2014\u2014\u5355\u4e00\u5238\u5546\u89c6\u89c9\u8eab\u4efd\uff0c\u4e14\u6709\u5546\u6807\u5408\u89c4\u98ce\u9669<\/td><td><strong>\u4f4e<\/strong><\/td><td>\u7eaf\u62f7\u8d1d<\/td><td>\u65e0\uff1b\u4f46\u6709\u54c1\u724c\/\u7248\u6743\u98ce\u9669<\/td><\/tr><tr><td>md2docx \u5f15\u7528\u8f6c\u6362\u7ba1\u7ebf\uff08docx \u6280\u80fd\u5b50\u4ef6\uff09<\/td><td><strong>\u9ad8<\/strong>\u2014\u2014\u628a <code>[^N^]<\/code> \u62a5\u544a\u8f6c Word \u811a\u6ce8\/\u5c3e\u6ce8\u7684\u786e\u5b9a\u6027\u7ba1\u7ebf\uff0cHermes \u4ea4\u4ed8 docx \u65f6\u76f4\u63a5\u53ef\u7528<\/td><td><strong>\u4e2d<\/strong>\u2014\u2014Kimi Code \u9762\u5411 CLI \u7528\u6237\uff0cdocx \u9700\u6c42\u8f83\u5f31<\/td><td>\u9700\u9002\u914d\uff085 \u4e2a Python \u811a\u672c\u9700\u53d6\u56de\u672c\u4f53\uff1b\u672c\u8f6e\u53ea\u62ff\u5230\u89c4\u8303\u6587\u6863\uff09<\/td><td>pandoc + python-docx + lxml\uff08\u5168\u5f00\u6e90\uff09<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 id=\"73-%25e5%2587%25ad%25e8%25af%2581%25e4%25b8%258e%25e5%25af%2586%25e9%2592%25a5\" class=\"wp-block-heading\">7.3 \u51ed\u8bc1\u4e0e\u5bc6\u94a5<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u672c\u7ec4\u6280\u80fd<strong>\u672a\u53d1\u73b0\u4efb\u4f55\u5bc6\u94a5\/token \u786c\u7f16\u7801<\/strong>\u3002\u5916\u90e8\u6570\u636e\u80fd\u529b\u5168\u90e8\u8d70\u4e91\u7aef agent-gw \u63d2\u4ef6\uff08ifind\/tianyancha\/yahoo_finance \u7b49\u5728 <code>\/app\/.agents\/plugins\/<\/code>\uff0cAPI key \u4f4d\u4e8e root \u7684 <code>\/root\/.kimi\/agent-gw.json<\/code> \u53ea\u8bfb 444\uff0ckimi \u7528\u6237\u4e0e\u6a21\u578b\u4e0a\u4e0b\u6587\u5747\u8bfb\u4e0d\u5230\u2014\u2014\u5f15\u81ea\u4e00\u8f6e 10-plugins \u7ae0\u7ed3\u8bba\uff09\u3002\u6280\u80fd\u6b63\u6587\u53ea\u5f15\u7528\u5de5\u5177\u540d\uff08<code>ifind_get_price<\/code> \u7b49\uff09\uff0c\u4e0d\u63a5\u89e6\u51ed\u8bc1\u3002<\/p>\n\n\n\n<h3 id=\"74-%25e6%25a8%25aa%25e5%2590%2591%25e5%25b7%25a5%25e7%25a8%258b%25e5%2590%25af%25e7%25a4%25ba%25e7%25bb%2599-hermeskimi-code-%25e7%259a%2584%25e6%258a%25bd%25e8%25b1%25a1%25e7%25bb%258f%25e9%25aa%258c\" class=\"wp-block-heading\">7.4 \u6a2a\u5411\u5de5\u7a0b\u542f\u793a\uff08\u7ed9 Hermes\/Kimi Code \u7684\u62bd\u8c61\u7ecf\u9a8c\uff09<\/h3>\n\n\n\n<ol class=\"wp-block-list\"><li><strong>&#8220;\u91cf\u5316\u7eaa\u5f8b&#8221;\u4ee3\u66ff&#8221;\u8ba4\u771f\u505a&#8221;<\/strong>\uff1a\u226510 \u641c\u7d22\u3001\u226520%\/30% \u91cd\u53e0\u3001\u56db\u7ea7\u7f6e\u4fe1\u5ea6\u5224\u636e\u3001A\/B\/C \u4e09\u7ea7\u95e8\u7981\u2014\u2014\u628a\u6240\u6709\u8f6f\u6027\u8d28\u91cf\u8981\u6c42\u5199\u6210\u53ef\u5ba1\u8ba1\u6570\u5b57\uff0c\u662f\u8fd9\u6279\u6280\u80fd\u4e0e\u793e\u533a prompt \u7684\u6700\u5927\u5206\u91ce\u3002<\/li><li><strong>Everything is a file + STOP \u534f\u8bae<\/strong>\uff1a\u591a\u9636\u6bb5\u4ea7\u7269\u7684\u4ea4\u63a5\u5168\u90e8\u8d70\u663e\u5f0f\u6587\u4ef6\u8def\u5f84 + \u7528\u6237\u5355\u8bcd\u7eed\u8dd1\uff08&#8221;\u7ee7\u7eed&#8221;\uff09\uff0c\u628a\u957f\u4efb\u52a1\u62c6\u6210\u53ef\u65ad\u70b9\u7eed\u4f20\u7684\u6d41\u6c34\u7ebf\uff1b\u804a\u5929\u53ea\u53d1\u72b6\u6001\u3002<\/li><li><strong>\u6570\u636e\u7f3a\u53e3\u4e00\u7b49\u516c\u6c11\u5316<\/strong>\uff1a\u641c\u7d22\u9884\u7b97\u8017\u5c3d \u2192 \u7f3a\u53e3\u5199\u5165\u98ce\u9669\u8282\uff1b\u56fe\u8868\u65e0\u6570\u636e \u2192 \u8df3\u8fc7\u6a21\u5757\u5e76\u6807\u6ce8\uff1b\u5f15\u7528\u7f3a\u5931 \u2192 \u4fdd\u7559 marker + \u8b66\u544a\u3002\u5b81\u53ef\u663e\u5f0f\u7f3a\u5931\uff0c\u7edd\u4e0d\u7f16\u9020\u2014\u2014\u8fd9\u5957\u7acb\u573a\u8d2f\u7a7f\u5168\u90e8\u4e94\u4e2a\u6280\u80fd\u3002<\/li><li><strong>\u6587\u6863-\u4ee3\u7801\u6f02\u79fb\u662f\u771f\u5b9e\u5b58\u5728\u7684<\/strong>\uff1aequity-research \u7684\u4e09\u5904\u4e0d\u4e00\u81f4\u8bf4\u660e Kimi \u7684\u6280\u80fd\u8fed\u4ee3\u662f&#8221;\u6587\u6863\u5148\u884c\u3001\u4ee3\u7801\u8ffd\u4e0d\u4e0a&#8221;\uff0c\u79fb\u690d\u65f6\u5fc5\u987b\u4ee5\u4ee3\u7801\u4e3a\u51c6\u91cd\u65b0\u6838\u5bf9\u5951\u7ea6\u3002<\/li><li><strong>\u91c7\u96c6\u9650\u5236\u8bf4\u660e<\/strong>\uff1a\u672c\u8f6e\u540e\u6bb5\u6c99\u7bb1\u88ab\u56de\u6536\uff08HTTP \u96a7\u9053\u4e2d\u65ad\uff0c\u4e0e\u4e00\u8f6e&#8221;\u7ea6 50 \u5206\u949f\u7a7a\u95f2\u56de\u6536&#8221;\u7ed3\u8bba\u4e92\u8bc1\uff09\uff0c\u672a\u80fd\u53d6\u56de irr \u7684 gallery \u622a\u56fe\u3001theme.css\/fonts.css \u672c\u4f53\u4e0e docx \u7684 md2docx \u4e94\u4e2a\u811a\u672c\u6e90\u7801\uff1b\u5982\u9700\u79fb\u690d\u8fd9\u4e24\u4ef6\uff0c\u9700\u4e0b\u4e00\u6b21\u91c7\u96c6\u7a97\u53e3\u8865\u9f50\u3002<\/li><\/ol>\n","protected":false},"excerpt":{"rendered":"<p>\u2190 \u8fd4\u56de\u4e3b\u62a5\u544a\uff1aKimi Agent\uff08\u4e91\u7aef\u6c99\u7bb1\uff09\u6280\u672f\u62a5\u544a \uff5c GitHub \u539f\u6587 \u5408\u89c4\u4e0e\u98ce\u9669\u58f0\u660e\uff1a\u672c\u62a5\u544a\u4e3a\u5b89\u5168 &hellip; <a href=\"https:\/\/tongchun.website\/index.php\/kimiagent-17-research\/\" class=\"more-link\">\u7ee7\u7eed\u9605\u8bfb<span class=\"screen-reader-text\">\u201c17 \u00b7 \u6df1\u5ea6\u7814\u7a76\u6280\u80fd\u7ec4\uff08deep-research \u5bb6\u65cf\uff09\u6df1\u62c6\u201d<\/span><\/a><\/p>\n","protected":false},"author":55404,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"wpai_generated_summary":"","wpai_meta_description":"","footnotes":""},"class_list":["post-1883","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/tongchun.website\/index.php\/wp-json\/wp\/v2\/pages\/1883","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tongchun.website\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/tongchun.website\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/tongchun.website\/index.php\/wp-json\/wp\/v2\/users\/55404"}],"replies":[{"embeddable":true,"href":"https:\/\/tongchun.website\/index.php\/wp-json\/wp\/v2\/comments?post=1883"}],"version-history":[{"count":1,"href":"https:\/\/tongchun.website\/index.php\/wp-json\/wp\/v2\/pages\/1883\/revisions"}],"predecessor-version":[{"id":1903,"href":"https:\/\/tongchun.website\/index.php\/wp-json\/wp\/v2\/pages\/1883\/revisions\/1903"}],"wp:attachment":[{"href":"https:\/\/tongchun.website\/index.php\/wp-json\/wp\/v2\/media?parent=1883"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}