用 Kimi K3 开发智能体:接入网页搜索和本地函数的最小闭环

按 Kimi K3 官方示例跑通搜索工具和本地函数,说明工具 ID 回填、结果验收及循环终止条件。

开发 Kimi 智能体的最小闭环是:模型收到任务,调用网页搜索取得最新资料,再调用你自己写的确定性函数,应用把每个结果连同 tool_call_id 回填给模型,最后得到带来源的答复。这里用“梳理某行业近两年公开信息”作演示任务,流程依据 2026 年 10 月 1 日读取的Kimi K3 官方智能体完整示例,不是我们已替你实际运行的案例。

先定义输入和合格输出

演示输入可以是“研究 2024—2026 年中国人形机器人产业”。合格输出至少包含研究范围、关键发现、相互矛盾的来源、风险和来源链接。没有来源的市场规模数字只能标成待核实,不能当作事实。把任务分成检索、分析、交付三段,比只说“帮我研究”更容易检查。

用 Kimi K3 开发智能体:接入网页搜索和本地函数的最小闭环

准备环境并运行官方完整示例

  1. 准备 Python 3.9 或更新版本,安装 openai 和 httpx:python -m pip install --upgrade openai httpx。
  2. 从Kimi 开放平台获取 API Key,通过环境变量 MOONSHOT_API_KEY 提供给程序,不要粘进源码。先确认账号可用余额和 K3 权限;K3 官方说明指出成功充值后才能解锁模型。
  3. 打开上述官方教程的“Complete Agent Loop”,将完整 Python 示例保存为 agent.py。先不删掉其中的错误分支和最大工具回合限制;只替换 main() 中的行业问题为自己的演示问题。
  4. 执行 python agent.py。成功时应输出有摘要、发现、风险和来源的报告;再逐条打开引用核对数字和日期。若只输出原始搜索片段,说明交付阶段没有完成。

为什么官方示例同时用两类工具

build_research_plan 是本地函数,它把主题、地区、起止年份变成固定结构,模型不能替代它的参数校验。下面是官方示例中的核心判断,可在本地单独运行并检查返回值:

def build_research_plan(topic, region, start_year, end_year):
    if start_year > end_year:
        return {"error": "start_year must not exceed end_year"}
    return {"topic": topic, "region": region,
            "period": f"{start_year}-{end_year}"}

print(build_research_plan("人形机器人", "China", 2024, 2026))

moonshot/web-search:latest 是官方搜索 Formula,运行前从 /formulas/{formula_uri}/tools 动态取得工具定义,模型选择搜索后再由程序请求对应 fiber。官方工具说明列有此调用流程;检索服务可能另计费,使用前核对搜索工具价格页。

这段简化伪代码标明循环边界,实际可运行的异常处理、HTTP 请求和完整参数请以官方示例为准:

for _ in range(8):
    response = await client.chat.completions.create(
        model="kimi-k3", messages=messages, tools=tools,
        max_completion_tokens=8192)
    msg = response.choices[0].message
    messages.append(msg)  # 保留完整消息,包括 reasoning_content
    if not msg.tool_calls:
        return msg.content
    for call in msg.tool_calls:
        result = await dispatch(call)  # 本地函数或官方搜索
        messages.append({"role": "tool", "tool_call_id": call.id,
                         "content": result})
raise RuntimeError("工具调用超过预设回合")

关键是保留完整模型消息,并让每个工具结果使用对应的 tool_call_id。只回填文本、不回填调用 ID,会破坏下一回合上下文。官方示例还对输出截断直接报错;不能把 finish_reason=length 当成完成。

验收与失败边界

  • 本地函数应得到有主题、地区、年份的研究计划;网页搜索应返回可打开的来源,最终报告引用要能对应这些来源。
  • 如果连续重复调用工具,先缩小任务、检查工具描述是否重叠,再检查返回结构;不要无限增加回合数。
  • 若报认证或权限错误,核对 Key、端点、Formula URI 和账户可用性。若官方工具不可用,停在错误状态,不要编造搜索结果。
  • 报告涉及投资、行业规模等决策时,仍需人工核对原始资料。演示问题不构成商业结论。

Ai菜鸟网。发布者:AI小管家,转载请注明出处:https://www.alyyhw.com/31041.html

赞 (0)
AI小管家的头像AI小管家
Kimi API 请求前怎么预估 Token?用估算接口核对输入长度
上一篇 11小时前
Kimi 智能体额度不够怎么办?区分会员任务次数、API 余额与限流
下一篇 11小时前

相关推荐

联系我们

联系我们

1

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
关注微信
分享本页
返回顶部