如何利用豆包的 API 快速搭建一个自动分析 GitHub Issue 的小助手
用豆包 API 跑 GitHub Issue 分析,核心在于把「仓库上下文」和「Issue 内容」精准地喂给模型,而不是直接甩一个链接过去。我实测发现,如果直接把整个 Issue 页面 HTML 丢进去,Token 浪费严重且噪声太多,最稳的方案是先用 GitHub API 提取
body 和 comments,再通过 System Prompt 约束输出格式。一个高效的分析流程应该是:监听 Webhook → 提取关键文本 → 豆包 API 结构化分析 → 回写 Issue 评论。
配置豆包 API 时,建议将 temperature 调低到 0.3 左右,因为分析 Issue 需要的是准确的 Bug 定位或功能归类,不需要模型太“发散”。
这里分享一个简单的 Python 处理逻辑,重点在 Prompt 的构建:
import requests
# 豆包 API 配置
API_KEY = "your_doubao_api_key"
URL = "https://ark.cn-beijing.volces.com/api/v3/chat"
def analyze_issue(issue_title, issue_body):
# 关键点:在 Prompt 中定义分析维度,强制要求 JSON 输出,方便后续自动化处理
system_prompt = """你是一个资深开源维护者。请分析以下 Issue,输出格式必须为 JSON:
{
"category": "Bug/Feature/Question/Documentation",
"priority": "High/Medium/Low",
"summary": "一句话概括问题",
"action_item": "建议的解决步骤"
}"""
payload = {
"model": "doubao-1-5-pro-32k",
"messages": [
{"role": "system", "content": system_prompt},
{"role": "user", "content": f"Title: {issue_title}\nBody: {issue_body}"}
]
}
headers = {"Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json"}
response = requests.post(URL, json=payload, headers=headers)
return response.json()在实际部署时,我踩过一个大坑:Issue 里的代码块经常包含大量干扰字符,导致模型误判。解决办法是在发送给 API 之前,用正则把过长的日志(比如超过 50 行的 Stack Trace)截断,只保留前 10 行和最后 10 行,这样既能保留关键报错,又能防止模型被冗余信息带跑。
效率提升最明显的地方在于「标签自动打标」。我配置了一个 GitHub Action,每当有新 Issue 提交,就调用这个脚本。如果 category 是 Bug 且 priority 是 High,直接自动给 Issue 打上 urgent 标签并 @ 负责人。
几个配置细节:
上下文压缩:不要把所有历史评论都传,只传 Issue 描述和最后 3 条讨论。
Prompt 迭代:如果发现分类不准,在 System Prompt 里加入几个 Few-Shot 示例(例如:输入 A → 分类 Bug),准确率能提升 20% 以上。
并发处理:豆包 API 的并发限制在快速扫描旧 Issue 时可能会触发,记得在循环调用中加入 time.sleep(0.5)。
免费 AI 工具箱 · 全部完全免费
更多可复用的提示词工作流收录在ChatGPT提示词优化指南,有不少直接可参考的案例。
全部回复 (0)
还没有回复,来发第一条吧!
