ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

Composio Eve 文档助手系统提示词全解析:为 AI Agent 设计可落地的文档问答行为规范

Composio Eve 文档助手系统提示词全解析:为 AI Agent 设计可落地的文档问答行为规范 Composio Eve 文档助手系统提示词全解析为 AI Agent 设计可落地的文档问答行为规范【免费下载链接】composioComposio powers 1000 toolkits, tool search, context management, authentication, and a sandboxed workbench to help you build AI agents that turn intent into action.项目地址: https://gitcode.com/GitHub_Trending/co/composioComposio 在官方文档站右侧边栏内置了一个名为Eve的文档问答助手它回答开发者关于 Composio SDK、Session、认证、触发器等问题。本文以 docs/agent/instructions.md 这份系统提示词system prompt为骨架结合仓库中真实的工具实现、检索算法与部署配置逐层拆解一个合格的文档问答 Agent 提示词应该包含哪些要素角色边界、工具集设计、检索工作流、硬性规则与对话风格。读完你可以把这套行为规范直接迁移到自己的文档站或知识库助手场景。Eve 是什么先定义能做什么与绝不能做什么系统提示词的第一件事是给 Agent 一个明确的身份与边界。Eve 的定义只有一句话它是 Composio 文档站的侧边栏助手帮助开发者理解文档。紧接着的 What you are, and are not 段落是整个提示词的地基它用三个不是划出了严格的行动边界只回答 Composio 文档相关问题解释概念、API、如何用 SDK 构建且答案必须 grounded 在文档内容里不能凭空发挥。不是客户支持不能查账号、查工单、查账单状态、访问仪表盘或解决账号相关问题这类请求要引导用户去支持渠道或控制台而不是猜测。不是一个可以操作 Composio 的 Agent不能创建 session、连接账号、执行工具或改动用户项目中的任何东西。它只能描述如何用 SDK 去做而不能亲自去做。最后补一条兜底规则如果请求超出文档问答范围支持、账号状态、执行操作、无关话题要简短说明并指到正确的页面或支持渠道不要假装已经完成了某事。这条规则的价值在于明确的拒绝路径能防止 Agent 在越权场景下产生幻觉式回答或编造操作结果。这一设计理念在仓库中有对应的工程体现Eve 的提示词反复强调你只有两个工具、没有网络搜索、没有文件访问而源码确实把默认开发框架自带的工具全部禁用了见下文。最小工具集两个检索工具 一份常驻概念图谱提示词明确列出 Eve 的能力面一份概念图谱concept map始终在上下文中 恰好两个工具search_docs与read_doc。没有 web search、没有文件系统访问因此所有答案只能来自这两条检索通道。search_docs本地 BM25 词法检索search_docs(query)是一个快速的本地 BM25 风格文档搜索返回相关页面、有界的完整正文与顶部结果的 section 锚点。提示词特别说明当 eager context 缺失、较弱、含糊或过于狭窄时可以随时调用它。其底层实现位于 docs/agent/lib/docs-search.ts。核心打分逻辑在score函数docs/agent/lib/docs-search.ts词频用经典 BM25 公式计算BM25_K1 1.2、BM25_B 0.75见 docs/agent/lib/docs-search.ts并乘以 8 的权重字段加权fieldBoost叠加命中标题 12、命中 URL 6、命中描述 5、命中标题 4见 docs/agent/lib/docs-search.tslegacy 页面重惩罚/docs/tools-direct、/docs/auth-configuration、/docs/sessions-vs-direct-execution等旧式直接执行文档被识别为 legacy 后总分乘以0.12大幅降权只有在当前 session 模型文档无匹配时才可能浮出水面migration 页面在非迁移类提问中再乘 0.35 降权避免旧 API 词汇干扰常规问题排序集合优先级PRIORITYdocs/agent/lib/docs-search.ts为 docs 与 curated knowledge 1.3、examples 1.1、reference 0.85、toolkits 0.9保证文档正页优先于参考手册。read_doc按 URL 读取整页正文read_doc(url)用于读取某页的完整 Markdown 正文当 eager context 或search_docs返回的内容不足以回答时再调用。实现位于 docs/agent/tools/read_doc.ts它会清理 URL去掉#anchor与 query优先从磁盘上的content/目录按.mdx/.md/index.mdx/index.md候选顺序解析源文件toolkit 页面则从public/data/toolkits.json目录数据合成正文见 docs/agent/lib/docs.ts。正文长度上限 12000 字符超长会被截断。概念图谱常驻检索入口instructions/context.md 是一份永远在线的概念图谱把每个 Composio 概念映射到规范页面canonical page例如Session一个用户的运行时上下文composio.create(userId)或composio.sessions.create(...)返回 session绑定用户、toolkits、认证、connected accounts 与代码执行沙箱默认暴露 meta tools 供 Agent 运行时发现、认证和执行工具指向 What is a session?Toolkit / Tool某个服务的相关工具集合如github、gmailtool 是单个动作命名{TOOLKIT}_{ACTION}如GITHUB_CREATE_ISSUE指向 Configuring sessionsMeta tools每个 session 固定暴露的COMPOSIO_SEARCH_TOOLS、COMPOSIO_GET_TOOL_SCHEMAS、COMPOSIO_MANAGE_CONNECTIONS、COMPOSIO_MULTI_EXECUTE_TOOL等指向 toolkits/meta-tools认证Connect Links auth configsOAUTH2、API_KEY、BEARER_TOKEN、BASIC四种模式→ connected accounts指向 Authentication 与 auth-configs 参考。提示词要求优先使用概念图谱里的规范链接而不是search_docs随机返回的链接。这份图谱还明确标注了哪些功能只在 API reference 里有文档、没有/docs指南如 Projects、Logs、Files要求 Agent 按 reference 页面回答而不是说未记录。Eager context把一次检索结果提前注入回合提示词提到你可能会收到随用户最新消息注入的 eager docs search context它是模型步骤前自动执行的search_docs结果用于省去延迟。这是 Eve 低延迟回答的关键机制实现在 docs/agent/channels/eve.tsshouldRunEagerDocsSearchdocs/agent/lib/docs-search.ts用正则先做一次意图过滤如果消息同时命中账号/账单类词account、billing、ticket、subscription…和个人化操作词my、check、cancel、delete…则判定为账号相关请求跳过 eager 检索交给 Agent 按非文档问答路径处理通过过滤后通道在模型推理前以limit3、前 2 个结果附带最多 6000 字符正文、最多 6 个 section 锚点的配置执行搜索docs/agent/channels/eve.ts并把结果格式化为docs_search_context注入上下文注入时同步给出每条结果的Sections: 标题列表让 Agent 可以直接引用具体锚点链接。这解释了提示词第 14 行的可能收到 eager context它不是可选项而是通道层在每次消息进来时自动完成的一次预检索把最可能相关的文档片段和锚点提前摆在模型面前。回答问题的工作流五步走提示词为任何非平凡问题定义了明确工作流这实际上是一个检索增强生成的落地顺序先从概念图谱与回合内已有的 eager context 出发若已覆盖就直接作答对清晰概念sessions、authentication、triggers、sandbox…直接用已知的规范页面其他情况在 eager context 缺失或不足时调用search_docs当返回内容足够回答时直接基于 eager context 或search_docs的正文作答只有需要未被包含的页面或未截断的更多上下文时才调read_doc不要猜测 API、参数或行为用行内 Markdown 链接引用来源优先在首段给出至少一个一级文档链接并尽可能使用 section 锚点例如userID best practices而不是笼统的页面链接只有真正搜索并读过 top 结果、确认确实不覆盖之后才能说没找到。这套流程的精髓是按需升级检索深度eager context → 概念图谱 →search_docs→read_doc每一层都服务于尽量少一次往返、尽量不猜的目标。锚点链接之所以可行是因为 docs/agent/lib/docs.ts 的extractSections会从页面 Markdown 标题生成与文档站 heading-id 约定一致的 anchor slug。硬性规则永远回答当前的模型提示词有一条最容易踩坑的规则除非用户明确询问底层直接执行 API否则绝不主动引导到 legacy / direct-execution 文档/docs/sessions-vs-direct-execution、/docs/tools-direct/*、/docs/auth-configuration/*。原因在于 Composio 已全面切换到基于 session 的模型旧文档描述的是已被取代的 pre-session API。配套的偏好规则是示例中一律使用当前 API即composio.create(userId)/composio.sessions.create(...)、session tools、meta tools以及 MCP 场景的{ mcp: true }。这条规则同时作用于两个层面提示词层面行为约束检索层面工程强制docs/agent/lib/docs.ts 的LEGACY_URL_PATTERNS把三个旧路径前缀标记为 legacy检索打分直接乘 0.12。所以即使开发者问怎么用直接执行 APIsearch_docs也会优先给出 session 版本文档Agent 再按提示词决定是否深入旧文档。提示词规则与检索算法互为保险这是本提示词设计上最值得借鉴的一点。引用规范同样严格只允许标准 Markdown 链接如Authentication禁止任何 citation 标记、reference token如cite、turn0search0之类的痕迹保证侧边栏聊天里展示的是干净的文档链接而不是模型供应商的引用噪音。对话风格规范聊天侧边栏不是文档页提示词用一整节约束输出风格因为 Eve 的交互场景是右侧聊天侧边栏而非正式的文档页面先给答案第一句话直接解决问题不要铺垫、不要复述问题、不要说 Great question不注水删掉总结、结论和 in short 式复述不堆砌用户没问的 caveat不枚举用户没要求的选项散文优先于列表默认用完整句子只有真正并列的内容步骤、三个以上互斥选项才用列表绝不把单一想法列成一条也不要把一个答案堆成一面标题墙代码值得出现时才出现只有当代码比文字更快回答问题时才给出最小可运行示例若用户指定语言只给该语言否则TypeScript 和 Python 背靠背各给一段两个连续代码块聊天界面会把相邻不同语言的代码块渲染成 tab每语言一段、不加第三种变体、两段之间不插散文第二人称、平实自信用缩写删掉 vague intensifierspowerful、robust、seamlessly、simply、easily和营销话术不用 emoji、不用 em-dash标点用句号、逗号、冒号或括号代替破折号术语首次出现时加粗一次之后不再加粗所有标识符、路径、slug、命令都要加反引号。TS/Python 双代码块背靠背渲染成 tab这条规则在 MDX 文档站场景是站得住的因为 docs/mdx-components.tsx 这类组件层可以感知相邻的不同语言代码块并分组为 tab。它把多语言示例这个常见需求压缩成了一条简洁提示既保证覆盖面又避免 Agent 输出第三种语言或插入解释性散文。工程落地模型、通道与挂载提示词本身不涉及运行时但仓库给出了完整配套让这套行为规范真正跑起来模型配置docs/agent/agent.ts默认走 Inception Labs Mercury 2INCEPTION_MODEL默认mercury-2OpenAI 兼容 chat 端点上下文窗口 128K tokensreasoningEffort取medium也可通过DOCS_AGENT_MODEL_FLOWgateway切到 Vercel AI Gateway默认openai/gpt-5.4-mini。模型选择与工具调用能力直接相关注释里写明选择 chat-completions 路径是因为 Mercury 在 chat 端点上暴露 tool calling。通道docs/agent/channels/eve.ts因为文档是公开的、任何访客都能打开聊天会话路由使用none()无认证注释同时坦诚指出这在生产前需要补速率限制与滥用防护。挂载withEve在 docs/next.config.mjs 中把 agent 挂到同源/eve/v1/*路由与 Next.js 应用同一次 Vercel 部署运行。工具收口默认框架带有的bash、glob、grep、read_file、web_fetch、web_search、write_file全部通过disableTool()显式禁用见 docs/agent/tools/bash.ts、docs/agent/tools/grep.ts、docs/agent/tools/read_file.ts 等从机制上保证 Eve没有网络搜索、没有文件访问、只能通过两个文档工具回答。这与提示词开篇的自我描述完全一致提示词声明边界工具集强制执行边界。可复用的设计清单如果把这份提示词抽象成一套可迁移的文档问答 Agent 设计模式核心是五件事显式边界用是什么 / 不是三个什么 / 兜底拒绝路径锁定 Agent 的职责防止越权与幻觉式已完成最小工具面只给检索所需的两三个工具其余全部禁用让只能基于文档回答从口头约束变成机制约束常驻概念图谱 分层检索概念 → 规范页面映射常驻上下文回答路径按 eager context →search_docs→read_doc逐级加深且用 BM25 字段加权与 legacy 降权保证检索排序与产品方向一致规则与算法双保险重要的产品方向如回答当前 API同时在提示词和检索打分里强制执行单点失效时另一层兜底场景化风格规范按侧边栏聊天而不是文档页来定风格用先给答案、散文优先、TS/Python 双代码块、无 emoji、标识符加反引号等可执行条款控制输出形态。Eve 的价值不在于它多聪明而在于它的提示词把回答范围、工具权限、检索顺序、引用格式、输出风格全部显式化并且与仓库里的检索算法、工具禁用、通道注入形成了完整闭环。对任何打算在自家文档站内置 AI 助手的团队这份 instructions.md 连同 context.md 都是一份可以直接对照参考的实现蓝本。【免费下载链接】composioComposio powers 1000 toolkits, tool search, context management, authentication, and a sandboxed workbench to help you build AI agents that turn intent into action.项目地址: https://gitcode.com/GitHub_Trending/co/composio创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表