微软 Copilot Cowork 深度解析:用 Kotlin + 147API 手搓一个 AI Agent

微软 Copilot Cowork 深度解析:用 Kotlin + 147API 手搓一个 AI Agent

微软最近发布的 Copilot Cowork 在技术圈炸开了锅。它变了。它不再是那个只会补全代码的插件,而是变成了你的 “Coworker”(同事)。基于 Anthropic 的 Claude 构建,它现在能像真人一样处理复杂任务。

作为开发者,我们不仅要会用,更要懂得背后的原理。今天我们就来拆解一下 Copilot Cowork 的核心逻辑,并教你如何利用 Kotlin147API 构建一个属于自己的简易 AI Agent。

从 Chatbot 到 Agent

传统的 Copilot 就像一个实习生,你给它一个指令,它执行一个动作。而 Copilot Cowork 更像是一个成熟的合作伙伴。它具备了 感知(Perception)规划(Planning)执行(Execution) 的完整闭环。

  • 感知:读取邮件、文档、代码仓库。
  • 规划:拆解任务,决定先做什么后做什么。
  • 执行:调用工具,生成内容,发送反馈。

这种能力的背后,是大模型的进化。微软这次选择了 Claude,看中的就是它在长文本处理和逻辑推理上的优势。

实战:用 Kotlin 手搓一个 AI Agent

Copilot Cowork 是闭源的,但我们可以利用大模型 API 来模拟它的工作流。为了保证调用的稳定性和成本控制,我推荐使用 147API

为什么选择 147API?

构建 Agent 需要频繁调用大模型进行推理。147API 是我目前的首选:

  1. 接口兼容:你可以直接使用标准的 OpenAI SDK,迁移成本几乎为零。
  2. 模型全:不仅支持 GPT-5.4,还支持 Claude 4.6 Sonnet(Copilot Cowork 同款核心),让你在同一个接口下体验不同模型的优势。
  3. 专线优化:Agent 的运行依赖于多次连续的 API 调用,任何一次失败都可能导致任务中断。147API 的专线优化能有效保障复杂任务链的执行。

代码实现

下面是一个简单的 Kotlin 示例,展示如何通过 147API 调用 Claude 模型来模拟一个简单的任务规划 Agent。

import okhttp3.MediaType.Companion.toMediaType import okhttp3.OkHttpClient import okhttp3.Request import okhttp3.RequestBody.Companion.toRequestBody import org.json.JSONObject import java.util.concurrent.TimeUnit // 配置 147APIconstval API_KEY ="sk-xxxxxxxxxxxxxxxxxxxxxxxx"// 替换为你的 147API Keyconstval BASE_URL ="https://api.147api.com/v1/chat/completions"// 147API 地址val client = OkHttpClient.Builder().connectTimeout(60, TimeUnit.SECONDS).readTimeout(60, TimeUnit.SECONDS).build()funmain(){val task ="帮我分析一下项目代码,并写一份重构计划"println("收到任务: $task")// 模拟 Agent 的思考过程val plan =think(task)println("Agent 规划如下:\n$plan")}funthink(task: String): String {val prompt =""" 你是一个高级软件工程师 Agent。请针对以下任务制定详细的执行步骤: 任务:$task 请以 JSON 格式输出步骤列表。 """.trimIndent()val jsonBody =JSONObject().apply{put("model","claude-3-5-sonnet-20240620")// 使用 Copilot Cowork 同款模型put("messages", org.json.JSONArray().put(JSONObject().apply{put("role","user")put("content", prompt)}))}.toString()val request = Request.Builder().url(BASE_URL).addHeader("Authorization","Bearer $API_KEY").addHeader("Content-Type","application/json").post(jsonBody.toRequestBody("application/json".toMediaType())).build() client.newCall(request).execute().use{ response ->if(!response.isSuccessful)throwRuntimeException("API 调用失败: ${response.code}")val responseBody = response.body?.string()val jsonResponse =JSONObject(responseBody)return jsonResponse.getJSONArray("choices").getJSONObject(0).getJSONObject("message").getString("content")}}

这段代码展示了如何利用 147API 快速接入 Claude 模型。通过简单的 Prompt Engineering,我们就能让模型输出结构化的执行计划。

总结

Copilot Cowork 的出现预示着 AI 开发的新范式。通过 147API 这样稳定且高性价比的中转服务,我们个人开发者也能以极低的门槛构建出具备 “Cowork” 能力的智能应用。与其担心被 AI 取代,不如现在就开始动手,打造你的 AI 队友。

Read more

前端防范 XSS(跨站脚本攻击)

目录 一、防范措施 1.layui util  核心转义的特殊字符 示例 2.js-xss.js库 安装 1. Node.js 环境(npm/yarn) 2. 浏览器环境 核心 API 基础使用 1. 基础过滤(默认规则) 2. 自定义过滤规则 (1)允许特定标签 (2)允许特定属性 (3)自定义标签处理 (4)自定义属性处理 (5)转义特定字符 常见场景示例 1. 过滤用户输入的评论内容 2. 允许特定富文本标签(如富文本编辑器内容) 注意事项 更多配置 XSS(跨站脚本攻击)是一种常见的网络攻击手段,它允许攻击者将恶意脚本注入到其他用户的浏览器中。

详细教程:如何从前端查看调用接口、传参及返回结果(附带图片案例)

详细教程:如何从前端查看调用接口、传参及返回结果(附带图片案例)

目录 1. 打开浏览器开发者工具 2. 使用 Network 面板 3. 查看具体的API请求 a. Headers b. Payload c. Response d. Preview e. Timing 4. 实际操作步骤 5. 常见问题及解决方法 a. 无法看到API请求 b. 请求失败 c. 跨域问题(CORS) 作为一名后端工程师,理解前端如何调用接口、传递参数以及接收返回值是非常重要的。下面将详细介绍如何通过浏览器开发者工具(F12)查看和分析这些信息,并附带图片案例帮助你更好地理解。 1. 打开浏览器开发者工具 按下 F12 或右键点击页面选择“检查”可以打开浏览器的开发者工具。常用的浏览器如Chrome、Firefox等都内置了开发者工具。下面是我选择我的一篇文章,打开开发者工具进行演示。 2. 使用

Cursor+Codex隐藏技巧:用截图秒修前端Bug的保姆级教程(React/Chakra UI案例)

Cursor+Codex隐藏技巧:用截图秒修前端Bug的保姆级教程(React/Chakra UI案例) 前端开发中最令人头疼的莫过于那些难以定位的UI问题——元素错位、样式冲突、响应式失效...传统调试方式往往需要反复修改代码、刷新页面、检查元素。现在,通过Cursor编辑器集成的Codex功能,你可以直接用截图交互快速定位和修复这些问题。本文将带你从零开始,掌握这套革命性的调试工作流。 1. 环境准备与基础配置 在开始之前,确保你已经具备以下环境: * Cursor编辑器最新版(v2.5+) * Node.js 18.x及以上版本 * React 18项目(本文以Chakra UI 2.x为例) 首先在Cursor中安装Codex插件: 1. 点击左侧扩展图标 2. 搜索"Codex"并安装 3. 登录你的OpenAI账户(需要ChatGPT Plus订阅) 关键配置项: // 在项目根目录创建.