544 - 《takumi 开发笔记 01:实现思路》

发布于 2025年4月1日

有内部的同学感兴趣,应邀写了这一篇,顺便分享到这里。

1、takumi 的实现参考了 Claude Code 的第一个版本,包括内置 tools、context 的组织和部分功能等。但其中 LLMs 调用的方案不同,Claude Code 是基于 OpenAI 然后剩下的都是手写,我为了快速实现 MVP,用了 ai 这个 npm 包。

2、我理解 Agent = LLMs + System Prompt + Context + Tools 。Agent 接收 User Prompt 的输入,执行任务并返回结果。目前 takumi 的 Context 包含 目录结构、Git、Code Style、Claude Files、README.md 等信息;而 Tools 则包含 FileEdit、Bash、FileRead、FileWrite、Glob、Grep、Ls 等,具备了编辑、搜索、查找代码的基本能力;同时 Tools 支持通过 MCP 的方式进行扩展。

3、再说一下为什么用 AI 这个 npm 包。

1)他支持各种 llms 的 provider,市面上有的,应该都能够非常快速地去接入
2)支持 Tools ,并且内部考虑了各种并发执行来提出的场景
3)最近试验性地支持了 MCP

一些示例。

import { createOpenAI } from '@ai-sdk/openai';
import { streamText } from 'ai';
const openai = createOpenAI({ apiKey, baseURL });
const model = openai('<your-model-name>');
const result = streamText({ model, messages, system, tools });
for await (const text of result.textStream) {

内容预览已结束

此内容需要会员权限。请先登录以查看完整内容。