

建议至少拆成两类 skills:
generate_daily_summary:输出日报/复盘结构(更偏真实感与时间线)。
generate_xhs_post:输出小红书帖子结构(标题、开头钩子、分段正文、标签、图片提示词)。
(论文场景扩展时)
draft_paper_section:输出论文某章节的结构化草稿(带可追溯引用占位符)。
工具(Tools)与 MCP 接入点
把工具分为三类:
内容生成无关的"事实/素材型工具"(适合 MCP)
写作与格式化的"轻量本地工具"(可直接作为 Python tool 或 ADK 工具函数)
与外部系统交互的"动作型工具"(典型适合 MCP)
推荐 MCP Tools(示例)
web_search(query, max_results):用于热点与可选证据。
document_search(query, k):用于知识库/RAG。
hashtag_rank(topic, audience, limit):基于规则或数据源生成标签建议。
image_asset_search(style_keywords, limit):找参考图/素材(用于 ImagePromptAgent)。
style_guide_get(template_id):返回模板风格约束与示例。
MCP 与 ADK 的接入方式(落地要点)
在 ADK agent 创建时把 mcptools 注入到 LlmAgent/tools:对应你仓库里 [backend/slide_outline/main_api.py](backend/slide_outline/main_api.py) 的 mcptools = load_mcp_tools(...) 与 tools=mcptools。
在 ADK 运行时,工具调用会以函数调用事件形式进入 event stream,再由 A2A executor 把结果继续流式展示/最终封装进 artifact。
数据契约(建议定义成 JSON schema)
为了"固定模板填充"稳定,建议你先把输出约束写成 schema,例如:
PostPlan: {title, hook, sections:[{heading, paragraphs[]}], conclusion, hashtags[], image_prompts:[{prompt, size, style}], metadata}
EvidencePack: {claims:[{claim, source_ids[], quote_spans}], references[]}
QualityGate 的职责之一就是验证 schema 与长度/格式。
时序与数据流图
flowchart TD
U[UserInput] -->|HTTPS/A2A message| A2A[A2A Endpoint]
A2A -->|task/context| ADK[ADK Runner]
ADK --> Agents[Agent Graph: Normalizer->Filler->Style->Image->Gate]
Agents -->|tool calls| MCP[MCP Tools: search/style/assets]
MCP --> Agents
Agents -->|final artifact| A2A
A2A -->|SSE/response| U