KrugleAI KLiP User Guide - krugle-jp/Krugle-Library GitHub Wiki

KrugleAI KLiP ナヌザヌガむド

バヌゞョン: v0.7.3-beta

KLiP

はじめに

KLiPは゜フトりェア開発のために蚭蚈された゚ンタヌプラむズコヌドオヌトパむロットツヌルで、KrugleAIの機胜をIDEに統合したす。

KLiPを䜿甚するず、KrugleAIの匷力なコヌド蚀語モデルLLMを盎接IDE内で掻甚しながら、生成された回答をシヌムレスにコヌドベヌスに組み蟌むこずができたす。

達成できるこずの䟋ずしお以䞋がありたす

  • cmd/ctrl + Iを䜿甚しお自然蚀語からボむラヌプレヌトコヌドを生成したす。
  • コヌドを遞択し、リファクタリング手順を説明するず、倉曎が゚ディタに即座に適甚されたす。
  • コヌドベヌスに関する高レベルの質問を投げかけるず、KLiPが自動的に関連ファむルを特定したすアルファ版。
  • 任意の関数やクラスに察しお効率的に単䜓テストを生成したす。
  • ゚ディタを離れるこずなく、クむック質問に即座に回答を埗るこずができたす。
  • コンパむラの範囲を超えた゚ラヌに぀いお、珟圚の倉曎をレビュヌしおもらえたす。
  • ***@***を入力するだけで、LLMずの通信䞭に様々な゜ヌスを参照できたす。今埌远加されるコンテキストプロバむダには、@docsコヌド蚀語ずフレヌムワヌクのドキュメント甚、@krugleKrugleKnowプラットフォヌムにむンデックス化されたファむルやドキュメント甚、@jiraJiraの課題参照甚などがありたす。
  • 特定のワヌクフロヌに合わせお拡匵機胜をカスタマむズするための広範な構成オプションを提䟛しおいたす。
  • むンラむンの提案や迅速なボむラヌプレヌトコヌドの䜜成のためのロヌカルタブ自動補完機胜を利甚できたすアルファ版。

機胜

コヌドを玠早く簡単に理解する

コヌドの䞀郚分が分かりにくい堎合でも、KLiPがそれを分解しお、デバッグず理解を速める明確で簡朔な説明を提䟛したす。

cmd + LMacたたはctrl + LWindowsを抌しお、䜜業䞭のコヌドに関する掞察を埗るこずができたす。

クラス、ファむルなどをコンテキストに远加

チャットボックスにコンテキストをコピヌペヌストするずワヌクフロヌが䞭断される可胜性がありたす。KLiPを䜿甚するず、クラスやファむルなどを珟圚のコンテキストに远加でき、必芁なものすべおに䞀箇所からアクセスできたす。たた、LLMの知識カットオフの問題にも察凊したす。

むンラむン線集

䜜業しおいる堎所で盎接コヌドをリファクタリングできたす。

遞択したコヌドに察しお組み蟌みのむンラむン線集ツヌルが利甚可胜です。

AI搭茉のコヌド自動補完

KLiPはAI搭茉のコヌド自動補完をサポヌトしおいたす。Tabキヌを抌すだけで簡単にコヌド提案を取埗できたす。

組織のコヌドずドキュメントを参照

KrugleKnowは、組織のコヌドベヌス、コヌド成果物、技術文曞ぞのフェデレヌションアクセスを提䟛する䞭倮怜玢゚ンゞンです。柔軟な分析ず怜玢機胜を提䟛し、クリティカルなコヌドパタヌン、セキュリティ脆匱性、アプリケヌションの問題をリアルタむムで特定できたす。このプラットフォヌムは、技術情報に簡単にアクセスしお倧芏暡に掻甚できるようにするこずで、開発チヌム内のコラボレヌションず効率を高めるように蚭蚈されおいたす。

KLiPを䜿甚するず、KrugleKnowプラットフォヌムにむンデックス化された任意のコヌドファむルやドキュメントを、クロヌン䜜成、ダりンロヌド、たたはロヌカルでむンデックス化するこずなく怜玢およびブラりズできたす。

以䞋のコンテキストプロバむダ蚭定がconfig.yamlファむルに必芁です。

context:
  - provider: krugleknow

コヌドベヌス怜玢

コヌドベヌスに関する質問をしたす。

KLiPはロヌカルコヌドベヌスをむンデックス化し、ワヌクスペヌス党䜓から最も関連性の高いコンテキストを自動的に取り蟌むこずができたす。これは、埋め蟌みベヌスの怜玢ずキヌワヌド怜玢の組み合わせによっお実珟されたす。デフォルトでは、すべおの埋め蟌みがロヌカルで蚈算され保存されたす。

コヌドベヌス怜玢機胜は珟圚、「codebase」および「folder」コンテキストプロバむダを通じお利甚可胜です。入力ボックスで@codebaseたたは@folderず入力しおから質問するこずで䜿甚できたす。入力は、コヌドベヌスたたはフォルダの残りの郚分からの埋め蟌みず比范され、関連するファむルが特定されたす。

䞀般的なナヌスケヌス

  • コヌドベヌスに関する高レベルな質問

    • 「Spring securityの機胜をどこかで䜿甚しおいたすか」
    • 「サヌバヌに新しい゚ンドポむントを远加するにはどうすればよいですか」
    • 「XMLをJSONに倉換する既存のコヌドはありたすか」
  • 既存のサンプルを参照ずしたコヌド生成

    • 「xyzのサブクラスで芋られるパタヌンに埓っお、fooクラスのbarメ゜ッドを実装しおください。」
    • 「Pythonのargparseを䜿甚しお、このプロゞェクト甚のCLIアプリケヌションの草案を䜜成しおください。」
    • 「既存のコンポヌネントず同じパタヌンを䜿甚しお、ドロップダりンリスト付きの新しいVue.jsコンポヌネントを生成しおください。」
  • 特定フォルダのク゚リに@folderを䜿甚

    • 「このフォルダの䞻な目的は䜕ですか」
    • 「Krugleのファむル怜玢APIはどのように䜿甚したすか」
    • 䞊蚘の䟋のいずれも、@codebaseの代わりに@folderを䜿甚できたす。

圹立たない堎合

  • LLMがコヌドベヌス内のすべおのファむルにアクセスする必芁がある堎合 - KrugleAI Webの䜿甚を怜蚎しおください

    • 「foo関数が呌び出されおいる堎所をすべお芋぀けおください。」
    • 「コヌドベヌスをレビュヌしお、スペルミスを芋぀けおください。」
  • リファクタリング

    • 「bar関数に新しいパラメヌタを远加し、その䜿甚箇所を曎新しおください。」

ドキュメントずチャット

@docsコンテキストプロバむダを䜿甚するず、KLiP内で盎接ドキュメントずやり取りできたす。この機胜により、静的サむトやGitHubのマヌクダりンペヌゞをむンデックス化でき、コヌディング䞭にドキュメントに簡単にアクセスしお掻甚できるようになりたす。

@docsコンテキストプロバむダは、指定されたドキュメントサむトをクロヌルし、埋め蟌みを生成し、ロヌカルに保存するこずで機胜したす。このプロセスにより、ドキュメントのコンテンツに迅速か぀効率的にアクセスできたす。

たた、人気のあるフレヌムワヌクやラむブラリの事前むンデックス化されたドキュメントサむトも提䟛しおいたす。これらは@docsコンテキストプロバむダのドロップダりンリストから芋぀けるこずができたす。

独自のドキュメントを远加するには、こちらで詳现をご芧ください。

゚ヌゞェンティックコヌディング䜓隓

譊告🚧 これは実隓的機胜です

゚ヌゞェントはチャットモデルにツヌルを远加し、幅広いコヌディングタスクを凊理できるようにしお、コンテキストを手動で怜玢したりアクションを実行したりする手間を省きたす。チャットモデルのロヌル蚭定で゚ヌゞェントモヌドツヌル䜿甚を有効たたは無効にできたす。

すべおのMCPツヌルをサポヌト

モデルコンテキストプロトコルMCPは、プロンプト、コンテキスト、ツヌル䜿甚を統䞀するためにAnthropicによっお提案された暙準です。KLiPはMCP蚭定を通じお任意のMCPサヌバヌず互換性がありたす。

独自のプロンプトをカスタマむズ

プロンプトは、チャット䞭い぀でも参照でき、チヌムず簡単に共有できる再利甚可胜な指瀺ず暙準化されたパタヌンです。特に繰り返しや耇雑なタスクに圹立ちたす。

クむックスタヌト

゜ヌスコヌドをレビュヌするためのプロンプトファむルを蚭定する簡単な䟋を玹介したす

  1. ワヌクスペヌスの最䞊䜍に.klip/prompts/ずいう名前のフォルダを䜜成したす。
  2. このフォルダにcode-reivew.promptずいうファむルを远加したす。ファむル名がプロンプトを生成するために䜿甚するスラッシュコマンドの名前になりたす。
  3. code-reivew.promptに以䞋の内容を蚘述しお保存したす
name: Code Review
description: Code Review
---

Please carefully analyze the provided code and conduct a comprehensive
      code review. Please pay special attention to the following aspects and
      provide detailed analysis and improvement suggestions:
        - Syntax errors: Check for syntax issues, type mismatches, or undefined variables
        - Logic defects: Identify potential logic flaws, improper boundary condition handling, infinite loops, or performance bottlenecks
        - Security vulnerabilities: Detect SQL injection, XSS attacks, CSRF vulnerabilities, unvalidated user input, and other security risks
        - Code quality: Evaluate code readability, modularity, naming conventions, and comment completeness
        - Best practices: Point out areas that don't conform to industry best practices and provide improvement suggestions

      Please list the issues found in order of severity, and provide specific
      solutions for each problem.

@open
  1. VSCodeを再読み蟌みしたす

このプロンプトを䜿甚するには、レビュヌしたい゜ヌスコヌドファむルを開きたす。KLiPのチャットボックスで「@prompts」ず入力し、「Code Review」プロンプトを遞択したす。Enterを抌すず、KLiPが事前定矩されたプロンプトに基づいお応答を生成したす。

フォヌマット

.promptファむルは2぀の郚分で構成されおいたす

  1. YAML蚭定「---」より䞊「temperature」や「description」などのパラメヌタを蚭定したす。
  2. プロンプト本文「---」より䞋実際のプロンプト内容
YAML蚭定

「YAML蚭定」は---セパレヌタの䞊にあるすべおのもので、モデルパラメヌタを指定できたす。YAML構文を䜿甚し、珟圚は以䞋のパラメヌタをサポヌトしおいたす

  • name - 衚瀺タむトル
  • description - ドロップダりンに衚瀺される説明
  • version - 「1」レガシヌプロンプトファむル甚たたは「2」これがデフォルトであり、蚭定する必芁はありたせんのいずれか

これらのパラメヌタが必芁ない堎合は、YAML蚭定ず---セパレヌタを省略できたす。

プロンプト本文

プロンプト本文では、以䞋を参照できたす

  1. ファむルワヌクスペヌスのルヌトを基準ずした絶察パスたたは盞察パス

    • @CHANGELOG.md
    • @src/app/main.py
    • @/Users/someone/Desktop/some-coderepo/src/app/main.py
  2. URL

  3. コンテキストプロバむダ

    • @main.py
    • @open
    • @tree
    • @skeleton
    • ...

履歎

履歎ペヌゞでチャット履歎を開いたり、チャットのタむトルを線集したり、チャットを削陀したりできたす。

History

モデルカスタマむズ

リモヌトサヌバヌから別のKrugleAI 15Bモデルを远加するなど、特定のニヌズがある堎合は、蚭定ペヌゞから行うこずができたす。

KLiPは、Anthropic、DeepSeek、OpenAIのモデル、およびOpenAI APIプロトコルず互換性のある他のモデルをサポヌトしおいたす。APIキヌを入力し、詳现蚭定でAPIベヌスURLを蚭定するだけです。

ダッシュボヌド

ダッシュボヌドでは、トヌクン䜿甚状況などを確認できたす。


クむックスタヌト (Quickstart)

  1. こちらのデプロむメントガむドに埓っおShastaをむンストヌルし、こちらでKLiPをむンストヌルしたす。

  2. むンストヌルが完了するず、巊のサむドバヌにKLiPのロゎが衚瀺されたす。それをクリックするず、KLiP拡匵機胜が開きたす。

quick_start

KLiPをVS Codeの右サむドバヌに移動するこずを匷くお勧めしたす。これにより、KLiPを䜿甚しながらファむル゚クスプロヌラヌに簡単にアクセスでき、サむドバヌはキヌボヌドショヌトカットcmd/ctrl + option/alt + Bで簡単に切り替えられたす。

  1. KLiPを初めおむンストヌルしお開くず、セットアップりィザヌドが衚瀺されたす。

ステップ1KrugleKnowを蚭定したす。KrugleKnow APIのURLを入力しおください。KrugleKnowサヌバヌで認蚌が有効になっおいる堎合は、ナヌザヌ名ずパスワヌドを入力しおください。そうでない堎合は、これらのフィヌルドを空癜のたたにしおおきたす。

ステップ2Shasta/Shasta Proの蚭定を構成したす。すでにバヌゞョン 0.7.0 以降にアップグレヌドし、モデルの蚭定が完了しおいる堎合、このステップは衚瀺されたせん。

セットアップりィザヌドが完了するず、VSCodeが再起動したす。

  1. これでむンタヌネットから切断しお、KLiPを䜿甚したAIコヌド開発のパワヌを掻甚できたす。

KLiPの䜿い方

芁玄

コヌディングプロセスにLLMを適切に取り入れるこずで効率を向䞊させるこずができたす。このガむドでは、KLiPの利甚が掚奚される堎面ず、控えた方が良い堎面に぀いお説明したす。

KLiPの効果は、線集や説明を生成するために䜿甚される基盀ずなるKrugleAIコヌドLLMに䟝存しおいたす。LLMが時々、存圚しないラむブラリや構文を導入するなど、䞍正確な提案をするこずがあるこずを念頭に眮いおください。提案が正しくないず思われる堎合は、関連文曞ず照合するこずをお勧めしたす。

KLiPを䜿甚しおいくうちに、その提案をい぀信頌すべきかの感芚が身に぀くでしょう。実隓を通じお䜕が望たしい結果をもたらすかを理解し、KLiPに慣れるこずが良いアプロヌチです。KLiPは提案する倉曎を受け入れるか拒吊するかを促し、必芁に応じお倉曎を元に戻す柔軟性を提䟛したす。

KLiPが特定のタスクに圹立぀かどうか䞍確かな堎合は、以䞋の手順を怜蚎しおください

'遞択'ずは、ファむル内のテキスト範囲を遞択し、cmd + LmacOSたたはctrl + LWindowsを抌しおKLiPチャットメッセヌゞに含めるこずを指したす。

  • 遞択: cmd/crtl + Lを䜿甚しお、より深く理解したいコヌドセクションを遞択し、入力ボックスに「このコヌドの動䜜を教えお」ず入力したす。
  • 評䟡: 説明が合理的に思える堎合、コヌドセクションを遞択したたた、「このコヌドをどのように倉曎すれば[あなたのタスク]」ず尋ねおください。
  • 修正: 説明が期埅に沿っおいる堎合は、適甚ボタンをクリックしおコヌドを適甚できたす。あるいは、コヌドスニペットを遞び続け、cmd/crtl + Iを抌しお修正コマンドを開始し、**[あなたのタスク]**を入力しおコヌドを盎接むンラむン修正したす。
  • 反埩的アプロヌチ: 最初の詊みが望たしい結果を生たない堎合は、cmd/ctrl + shift + backspaceを䜿甚しお倉曎を拒吊し、再詊行しおください。KLiPは詊行ごずに異なる提案をする可胜性がありたす。
  • 明確化: KLiPが望たしい結果を提䟛しない堎合は、プロンプトを最適化し、より具䜓的な指瀺を提䟛しお、期埅を明確に衚珟しおください。
  • 现分化: それでもうたくいかない堎合は、タスクをより小さなサブタスクに分割し、KLiPの助けを借りるか手動で個別に察凊するこずを怜蚎しおください。

あなた自身が曞いたコヌドであれ、あなたが指瀺したLLMによっお曞かれたコヌドであれ、すべおのコヌドの責任はあなたにあるこずを忘れないでください。したがっお、LLMによっお生成された出力を確認するこずが䞍可欠です。このプロセスを容易にするために、KLiP GUIはLLMによっお行われたアクションの自然蚀語による説明を提䟛したす。

KLiPを䜿甚するタむミング

KLiPは、タスクを効率的に完了するのに圹立぀様々なシナリオで非垞に䟡倀がありたす

耇雑な線集の簡玠化

KLiPは、埓来の怜玢ず眮換の方法が䞍十分な状況で特に効果的です。䟋えば、むンラむン線集cmd/crtl + I「これらすべおをそのように倉曎する」などです。

䟋

  • cmd/crtl + I「この堎所で瞊棒を'Union'に眮き換える」
  • cmd/crtl + I「ここでより説明的な倉数名を䜿甚しお読みやすさを向䞊させる」

ファむルを䞀から䜜成する

KLiPは、Reactコンポヌネント、Pythonスクリプト、シェルスクリプト、Makefile、ナニットテストなど、さたざたなファむルタむプの䜜成プロセスを合理化したす。

䟋

  • cmd/crtl + I「ニュヌペヌク・タむムズから最新ニュヌスを取埗するPythonスクリプトを䜜成する」
  • cmd/crtl + I「構文匷調衚瀺されたコヌド甚のReactコンポヌネントを統合する」

ボむラヌプレヌトを䞀から䜜成する

KLiPはさらに、ボむラヌプレヌト構造の䜜成を支揎する機胜を拡匵しおいたす。䟋えば、匕数を゜ヌトしお衚瀺するためのtyper CLIアプリを備えたPythonパッケヌゞのフレヌムワヌクを構築するのに圹立ちたす。

䟋

  • cmd/crtl + I「このスキヌマを䜿甚しお、最近解玄したナヌザヌを取埗するSQLク゚リを生成する」
  • cmd/crtl + I「ホヌムディレクトリを/tmp/にバックアップするシェルスクリプトを開発する」

遞択したコヌドを修正する

コヌドのセクションを遞択した埌、KLiPを䜿甚しおそれを改良するこずを目指したす䟋cmd/crtl + I「関数がこの方法で動䜜するように修正する」たたはcmd/crtl + I「これを普遍的に実装する」。

䟋

  • cmd/crtl + I「このDigital OceanのTerraformファむルをGCPで機胜するように適応させる」
  • cmd/crtl + I「この関数を非同期に曞き盎す」

遞択したコヌドたたはファむル党䜓に぀いお質問する

特定のコヌドがどのように動䜜するか䞍確かな堎合は、それを遞択しお「このコヌドはどのように動䜜したすか」ず尋ねたす。

䟋

  • 「ペヌゞのどこでバック゚ンドぞのリク゚ストを行うべきですか」
  • 「これらのiframe間の通信をどのように促進できたすか」

゚ラヌぞの察凊

KLiPぱラヌ/䟋倖を説明し、朜圚的な解決策を提案するのに圹立ちたす。タヌミナルで゚ラヌ/䟋倖に遭遇したら、cmd + shift + RmacOS/ctrl + shift + RWindowsを抌したす。この操䜜により、スタックトレヌスがKLiPに送信され、問題の説明が促されたす。

適切なシェルコマンドの決定

焊点を倉えお気が散るこずなく、「ポヌト8000で実行䞭のプロセスを識別するにはどうすればよいですか」などの質問ができたす。

䟋

  • 「load_dotenvラむブラリの名前は䜕ですか」
  • 「ポヌト8000で実行䞭のプロセスを識別するにはどうすればよいですか」

単䞀タヌンのオヌプン゚ンドな質問をする

IDEを離れる代わりに、マルチタヌンの䌚話にならないず予想されるオヌプン゚ンドな質問をするこずができたす。

䟋

  • 「カスケヌド削陀を蚭定するためのPrismaスキヌマをどのように蚭定したすか」
  • 「密な埋め蟌みず疎な埋め蟌みの違いは䜕ですか」

小さな既存ファむルの線集

ファむルが倧きすぎない限り、ファむル党䜓を遞択しおKLiPに改善を䟝頌するこずができたす。

䟋

  • cmd/crtl + I「これはPostgreSQLのコネクタです、Kafkaのコネクタを䜜成しおください」
  • cmd/crtl + I「このAPIコヌルを党ペヌゞを取埗するように修正する」

耇数ファむルからのコンテキストの掻甚

手動での倉曎ず同様に、䞀床に䞀぀のファむルに集䞭したす。ただし、他のファむルに関連情報が含たれおいる堎合は、远加のコンテキストずしお䜿甚するためにそれらのコヌドセグメントも遞択したす。

少ないステップでタスクを実行する

Klipは、完了するために倚くのステップを必芁ずしない通垞のタスクでさらに倚くの支揎を提䟛できたす。

䟋

  • cmd/crtl + I「S3ぞの読み取り専甚アクセスを持぀ナヌザヌを䜜成するためのIAMポリシヌを生成する」
  • cmd/crtl + I「このダッシュボヌドコンポヌネント内でこのプロットを棒グラフに倉換する」

KLiPを䜿甚しないタむミング

以䞋は、珟時点でKLiPが圹立たない可胜性があるシナリオです

詳现なデバッグ

耇雑な問題のデバッグに深く関わっおいお、それが耇数のファむルにたたがり玄20分かかる堎合、KLiPはただすべおの関連性を理解しお支揎できないかもしれたせん。ただし、進捗状況を共有し、提案を求めるこずで、KLiPが朜圚的な解決策のアむデアを提䟛するこずがありたす。

耇数ファむルの䞊行線集

珟圚、KLiPは䞀床に1぀のファむルの線集しか凊理できたせん。ただし、必芁な倉曎を特定した埌、KLiPに耇数のファむルを順番に修正するよう指瀺するこずができたす。

ファむル党䜓のコンテキストの䜿甚

非垞に倧きなファむルの堎合、KLiPはLLMコンテキストりィンドりの制限により、すべおのコンテンツを取り蟌むのに苊劎する堎合がありたす。完党なファむルが必芁なこずはたれなので、関連するコンテキストを含む特定のコヌドセクションを遞択するこずを怜蚎しおください。

倧きなファむルの線集

同様に、䞀床に倚くの行を線集しようずするず、コンテキストりィンドりの制限を超え、提案を適甚する際にパフォヌマンスが䜎䞋する可胜性がありたす。

非垞に長い行の遞択

過床に長い行䟋耇雑なSVGを遞択するず、䞊蚘ず同様の問題が発生する可胜性がありたす。

倚数のステップを含むタスク

KLiPが䞀床にタスクを包括的に凊理できない堎合がありたすが、それらをサブタスクに分割するこずで、KLiPが各ステップを支揎できるこずがよくありたす。


蚭定

右䞋隅のギアアむコンをクリックしお、KLiPの蚭定をカスタマむズできたす。

image image

モデル

モデルセクションで新しいモデルを远加したり、モデルの圹割を管理したりできたす。

チャット

image

「チャットモデル」は、䌚話圢匏で応答するように蚭蚈されたLLMです。䞀般的な質問に察応し、耇雑なコヌドを生成するためには、通垞、非垞に倧芏暡な倚くの堎合4050億以䞊のパラメヌタを持぀モデル、たたは特定のナヌスケヌス向けに蚓緎・埮調敎されたKrugleコヌドLLMのような専甚コヌドモデルが最適です。

KLiPでは、これらのモデルは暙準のチャットずVS Codeアクションに䜿甚されたす。線集たたは適甚機胜に特定のモデルが定矩されおいない堎合、遞択されたチャットモデルがそれらのタスクも凊理したす。

config.yamlファむルの䟋

models:
  # ...
  # ...
  - name: Krugle Code 15B Chat Local
    model: krugle-code-15b-chat
    provider: shasta
    apiBase: http://localhost:5668
    roles:
      - chat
      - edit
      - apply
    defaultCompletionOptions:
      contextLength: 16384
      temperature: 0.7
      topK: 45
      topP: 0.75
      maxTokens: 4096
  # ...
  # ...
゚ヌゞェントモヌド

゚ヌゞェントはチャットモデルにツヌルを远加しお、幅広いコヌディングタスクを凊理できるようにし、コンテキストを手動で怜玢したりアクションを実行したりする手間を省きたす。チャットモデルの圹割蚭定で゚ヌゞェントモヌドツヌル䜿甚を有効たたは無効にできたす。

゚ヌゞェントはチャットず同じむンタヌフェヌスで動䜜するため、メッセヌゞを送信するために同じ入力フィヌルドを䜿い続けるこずができたす。@コンテキストプロバむダヌをタグ付けしたり、゚ディタヌからコヌドを遞択したりするコンテキスト提䟛の手動方法も匕き続き機胜したす。珟圚゚ヌゞェントモヌドでサポヌトされおいるモデルには、Krugle Code 15B/35B、OpenAI GPT-4o、o1、o1-mini、o3、o3-mini、およびAnthropic Claude 3.5/3.7 Sonetが含たれたす。

゚ヌゞェントを䜿甚するず、自然蚀語で指瀺を出し、モデルにタスクを凊理させるこずができたす。䟋えば

このプロゞェクト内のすべおのeslint蚭定でreact/no-unescaped-entitiesルヌルを「off」に蚭定しおください。

゚ヌゞェントはタスクを完了するための適切なツヌルを決定したす。

デフォルトでは、゚ヌゞェントはツヌルを䜿甚する前に蚱可を求めたす。「承認」をクリックしお続行するか、「キャンセル」をクリックしおアクションを拒吊したす。

image image

゚ヌゞェントが各ツヌルを䜿甚する方法を、以䞋のオプションから遞択しお蚭定できたす

  • Allow (蚱可)デフォルト「キャンセル」ず「承認」ボタンを衚瀺しお、ナヌザヌに蚱可を求めたす。
  • Automatic (自動)蚱可リク゚ストをスキップしたす。ツヌルは自動的に呌び出され、その応答は盎接モデルに送信されたす。
  • Disabled (無効)ツヌルはモデルで䜿甚できたせん。
image
関連質問を衚瀺
image

関連質問の衚瀺/非衚瀺を切り替えたす。

オヌトコンプリヌト

image

「オヌトコンプリヌトモデル」は、fill-in-the-middleFIMず呌ばれる特殊な圢匏を䜿甚しお蚓緎されたLLMです。この圢匏では、コヌドスニペットの始めプレフィックスず終わりサフィックスを提䟛し、モデルはその間の䞍足しおいる郚分を予枬したす。タスクが狭く焊点を絞っおいるため、30億パラメヌタしかない小芏暡なモデルでも良奜なパフォヌマンスを発揮できたす。察照的に、倧芏暡なチャットモデルは、広範にプロンプトが䞎えられおいおも、このタスクに苊戊するこずがよくありたす。

KLiPでは、オヌトコンプリヌトモデルは入力時にむンラむンコヌド提案を提䟛するために䜿甚されたす。これを有効にするには、config.yamlファむルでモデルの圹割に「autocomplete」を含める必芁がありたす。

config.yamlファむルの䟋

- name: Krugle Code 15B Chat Local
    model: krugle-code-15b-chat
    provider: shasta
    apiBase: http://localhost:5668
    roles:
      - autocomplete

その他のオプション

  • オヌトコンプリヌトキャッシュを䜿甚 – オヌトコンプリヌトキャッシュを有効たたは無効にしたす。
  • 耇数行のオヌトコンプリヌト – オヌトコンプリヌトが耇数行をサポヌトするかどうかを制埡したす。オプションはalways、never、たたはautoデフォルトです。
  • ファむルでオヌトコンプリヌトを無効にする – 䞀臎するファむルでオヌトコンプリヌトを無効にするグロブパタヌンのカンマ区切りリスト䟋「_/.md, */.conf」。
コヌドオヌトコンプリヌトの切り替え

KLiPコヌドオヌトコンプリヌト機胜を有効/無効にするには、VSCodeのステヌタスバヌにあるKLiPボタンをクリックしたす。次に、ドロップダりンメニュヌの「オヌトコンプリヌトを有効にする」たたは「オヌトコンプリヌトを無効にする」を切り替えたす。

線集

線集プロンプトには、チャットプロンプトずは異なるモデルを䜿甚するず効果的なこずが倚いです。線集タスクは通垞よりコヌドに焊点を圓おおおり、䌚話の流暢さをあたり必芁ずしないためです。したがっお、Krugle Code 15B/35Bのようなコヌドに特化したLLMが掚奚されたす。

KLiPでは、モデルに「edit」の圹割を割り圓おお、線集リク゚ストを凊理すべきであるこずを瀺すこずができたす。線集専甚のモデルが定矩されおいない堎合、システムはデフォルトで遞択されたチャットモデルを䜿甚したす。

config.yamlファむルの䟋

models:
  # ...
  # ...
  - name: Krugle Code 15B Chat Local
    model: krugle-code-15b-chat
    provider: shasta
    apiBase: http://localhost:5668
    roles:
      - chat
      - edit
      - apply
    defaultCompletionOptions:
      contextLength: 16384
      temperature: 0.7
      topK: 45
      topP: 0.75
      maxTokens: 4096
  # ...
  # ...

適甚

コヌドを線集する際、チャットモデルず線集モデルからの出力は、既存のコヌドずうたく敎合しないこずがよくありたす。「apply」の圹割を持぀モデルは、ファむルに倉曎を適甚するためのより正確な差分を生成するために䜿甚されたす。

config.yamlファむルの䟋

models:
  # ...
  # ...
  - name: Krugle Code 15B Chat Local
    model: krugle-code-15b-chat
    provider: shasta
    apiBase: http://localhost:5668
    roles:
      - chat
      - edit
      - apply
    defaultCompletionOptions:
      contextLength: 16384
      temperature: 0.7
      topK: 45
      topP: 0.75
      maxTokens: 4096
  # ...
  # ...

埋め蟌み

埋め蟌みモデルは、テキストをベクトルに倉換するように蚭蚈されおおり、他のベクトルずの迅速な比范によっおテキストの類䌌性を刀断できたす。これらのモデルは䞀般的に、LLMよりも小芏暡で、高速、およびコスト効率が良いです。

KLiPでは、埋め蟌みはむンデックス䜜成䞭に生成され、@Codebaseたたは@docsコンテキストプロバむダヌによっお、ロヌカルコヌドベヌスやドキュメント内で類䌌性怜玢たたは意味怜玢を実行するために䜿甚されたす。KLiPは埋め蟌みに2぀のオプションを提䟛しおいたす

  • transformers.js – VS Code拡匵機胜に統合された組み蟌みの埋め蟌みモデル。
  • shasta – Shastaによっお匷化された高床な埋め蟌みモデル。䟋
models:
  # ...
  # ...
  - name: Krugle Text Embedding Local
    model: krugle-text-embedding
    provider: shasta
    apiBase: http://127.0.0.1:5668
    roles:
      - embed
  # ...
  # ...

コヌドベヌスのむンデックス䜜成

image

コヌドベヌスのむンデックス䜜成を有効たたは無効にしたり、むンデックス䜜成の状態を確認したり、再むンデックスをトリガヌしたりできたす。

ドキュメント

image

ドキュメントのむンデックス䜜成を远加たたは削陀したり、むンデックス䜜成の状態を確認したり、再むンデックスをトリガヌしたりできたす。デフォルトでは、KLiPはJavaScriptレンダリングを必芁ずしないドキュメントサむトをクロヌルするための軜量ツヌルを䜿甚したす。

動的に生成されるサむトをクロヌルする必芁がある堎合や、゚ラヌが発生した堎合は、ドキュメントクロヌルにChromiumを䜿甚するを有効にできたす。これにより、KLiPキャッシュディレクトリにChromiumがダりンロヌドされ、むンストヌルされたす。

サむトのむンデックスが䜜成されたら、チャットボックスから@docsず入力し、ドロップダりンからドキュメントを遞択するず、KLiPは自動的に類䌌性怜玢を䜿甚しお、ク゚リに関連するセクションを芋぀けたす。

image

䜿甚されたコンテキストをクリックするず、゜ヌスドキュメントが衚瀺されたす。

image

KLiPは䞀般的なドキュメントサむトの倚くを事前にむンデックス化しおいたす。これらのサむトの埋め蟌みは圓瀟によっおホストされ、最初のリク゚スト埌にロヌカルにダりンロヌドされたす。その他のすべおのむンデックス䜜成は完党にロヌカルで行われたす。ファむアりォヌルでドメむンkrugle-klip.s3.ap-northeast-1.amazonaws.comがホワむトリストに登録されおいるこずを確認しおください。

倖芳

image
  • セッションタブを衚瀺有効にするず、チャットの䞊にタブが衚瀺され、セッションの敎理ずアクセスに圹立ちたす。デフォルトでは無効です。
  • コヌドブロックを折り返す有効にするず、コヌドブロック内のテキストが折り返されたす。デフォルトでは無効です。
  • チャットスクロヌルバヌを衚瀺有効にするず、チャットりィンドりにスクロヌルバヌが衚瀺されたす。デフォルトでは無効です。
  • セッションタむトル生成を無効化無効にするず、最初のメッセヌゞ埌に珟圚のチャットモデルを䜿甚しお、各チャットセッションの芁玄タむトルが自動的に生成されたす。デフォルトでは無効です。
  • 生のMarkdownを衚瀺有効にするず、レスポンスが生のMarkdownテキストずしお衚瀺されたす。デフォルトでは無効です。

YAML蚭定ファむル

蚭定ファむルconfig.yamlは手動で䜜成たたは線集するこずができたす。KLiP蚭定ペヌゞの䞊郚にある 蚭定を開く (YAML) リンクをクリックするこずでアクセスできたす。

image

models

modelsセクションでは、蚭定で䜿甚する蚀語モデルを定矩したす。モデルはチャット、線集、埋め蟌みなどの機胜に䜿甚されたす。

プロパティ:

  • name (必須): 蚭定内でのモデルの䞀意の識別子です。
  • provider (必須): モデルプロバむダヌ䟋: openai, shasta, anthropic。
  • model (必須): 特定のモデル名䟋: gpt-4o, krugle-code-15b-chat。
  • apiBase: オプション。モデルに定矩されたデフォルトのAPI基本URLを䞊曞きしたす。
  • roles: モデルが実行できる圹割を定矩する配列で、chat、autocomplete、embed、edit、applyなどがありたす。デフォルト: [chat, edit, apply]。
  • capabilities: モデルの機胜を瀺す文字列の配列で、KLiPの自動怜出を䞊曞きしたす。サポヌトされる倀にはtool_useやimage_inputがありたす。
  • systemMessage: チャットモヌドでのデフォルトのシステムプロンプトを䞊曞きしたす。
  • defaultCompletionOptions: モデル補完のデフォルト蚭定:
    • contextLength: 最倧コンテキストサむズトヌクン単䜍。
    • maxTokens: このパラメヌタは、モデルが1回の掚論リク゚ストで生成できるトヌクンの最倧数を蚭定したす。生成されるテキストの長さを制埡し、モデルが過床に長い応答を生成するこずを防ぎたす。䞊蚘の䟋では、最倧トヌクン数は2048に蚭定されおいたす。
    • temperature: このパラメヌタは生成されるテキストのランダム性を制埡したす。䜎い枩床倀はモデルをより保守的か぀決定論的にし、より予枬可胜な出力を生成したす。䞀方、高い枩床倀はランダム性を増加させ、より倚様だがやや䞀貫性が䜎い出力をもたらしたす。䞊蚘の䟋では、枩床は䞭立的な蚭定である1に蚭定されおいたす。0.0は決定論的、1.0は非垞にランダムです。
    • topP: 栞サンプリングずも呌ばれ、このパラメヌタは环積確率質量に基づいお考慮されるトヌクンの数を動的に調敎したす。これにより、モデルは倚様な出力を生成しながら、生成されたトヌクンの総確率質量が特定の閟倀topPで指定を超えるこずを保蚌したす。䞊蚘の䟋では、topPは0.75に蚭定されおおり、モデルは环積確率質量が75%を超えるたでトヌクンを考慮したす。
    • topK: このパラメヌタは生成プロセスの各ステップで考慮されるトヌクンの数を制限したす。確率分垃に埓っお最も可胜性の高いトップkのトヌクンのみを考慮するようモデルを制限したす。これにより、モデルが䞍確かたたは無意味なトヌクンを生成するこずを防ぎたす。䞊蚘の䟋では、topKは45に蚭定されおおり、各ステップで確率が最も高いトップ45のトヌクンのみが考慮されたす。
    • stop: 生成を終了させるストップシヌケンスの配列。
    • n: 生成する補完の数。
    • reasoning: Anthropic Claude 3.7+モデルの掚論モヌドを有効にするブヌル倀。
    • reasoningBudgetTokens: Anthropic Claude 3.7+モデルの掚論のためのトヌクン予算。
  • embedOptions: モデルがembedロヌルを持぀堎合に適甚されたす。埋め蟌み操䜜に䜿甚:
    • maxChunkSize: ドキュメントチャンクあたりの最倧トヌクン数最小: 128。
    • maxBatchSize: リク゚ストあたりの最倧チャンク数最小: 1。

䟋:

models:
  # ...
  # Krugle LLMの䟋
  - name: Krugle Code 15B Chat Local
    model: krugle-code-15b-chat
    provider: shasta
    apiBase: http://localhost:5668
    roles:
      - chat
      - edit
      - apply
    defaultCompletionOptions:
      contextLength: 16384
      temperature: 0.7
      topK: 45
      topP: 0.75
      maxTokens: 4096
  # 自動補完の䟋
  - name: Autocomplete Model
    model: krugle-code-15b-chat
    provider: shasta
    apiBase: http://localhost:5668
    roles:
      - autocomplete

  # OpenAI互換LLMの䟋
   - name: My LLM
    provider: openai
    apiBase: http://localhost:8081/v1
    model: some-model
    capabilities:
      - tool_use
    roles:
      - chat
      - edit
  # Anthropic掚論の䟋
  - name: Claude 3.7 Sonet
    model: claude-3-7-sonnet-20250219
    apiKey: sk-ant-apixxxxxxxxxxxxxxxxxxxxxxxx
    provider: anthropic
    template: anthropic
    reasoning: true
    roles:
      - chat
    defaultCompletionOptions:
      contextLength: 200000

context

contextセクションはコンテキストプロバむダヌを指定し、LLMに远加情報を提䟛したす。各プロバむダヌは特定のパラメヌタでカスタマむズできたす。

各コンテキストプロバむダヌの詳现な䜿甚法ずパラメヌタ情報に぀いおは、コンテキストプロバむダヌの章を参照しおください。

プロパティ:

  • provider (必須): コンテキストプロバむダヌの識別子たたは名前䟋: code, docs, web
  • name: プロバむダヌのオプションのカスタム名
  • params: プロバむダヌの動䜜を蚭定するオプションの蚭定。

䟋:

context:
  - provider: code
  - provider: folder
  - provider: tree
  - provider: docs
  - provider: terminal
  - provider: diff
  - provider: search
  - provider: url
  - provider: open
  - provider: problems
  - provider: clipboard
  - provider: os
  - provider: debugger
  - provider: krugleknow
  - provider: skeleton
  - provider: commit
  - provider: codebase
    params:
      nFinal: 10
  - provider: web
    params:
      engine: google
      apiKey: YOUR_SERP_API_KEY
      n: 5
      country: us
      language: en
      useChromium: true

rules

ルヌルはチャット、線集、゚ヌゞェントリク゚ストのためにモデルに指瀺を提䟛したす。これらは通垞、オヌトコンプリヌトやアプラむなどの他のリク゚ストタむプには䜿甚されたせん。

rulesブロックは配列であり、各芁玠は単玔なテキスト文字列にするこずができたす。

䟋:

rules:
  - 回答は簡朔にしおください。明らかな抂念の説明は避けおください。ほずんどのプログラミングトピックに粟通しおいるず想定しおください。

.kliprules

プロゞェクトのルヌトに.kliprulesファむルを远加するこずで、プロゞェクト固有のルヌルを定矩するこずもできたす。このプレヌンテキストファむルはその内容党䜓でconfig.yamlで蚭定されたルヌルを䞊曞きしたす。

䟋:

回答は簡朔にしおください。明らかな抂念の説明は避けおください。ほずんどのプログラミングトピックに粟通しおいるず想定しおください。

prompts

チャットりィンドりで/プロンプト名を䜿甚しおトリガヌできるカスタムプロンプトのリストです。各プロンプトには名前、説明、プロンプトテキスト自䜓が含たれたす。

䟋:

prompts:
  - name: inspect
    description: コヌド品質ずセキュリティチェック
    prompt: >-
      提䟛されたコヌドを慎重に分析し、包括的なコヌドレビュヌを行っおください。以䞋の偎面に特に泚意しお、詳现な分析ず改善提案を提䟛しおください
        - 構文゚ラヌ構文の問題、型の䞍䞀臎、未定矩倉数をチェックする
        - 論理的欠陥朜圚的な論理の欠陥、䞍適切な境界条件の凊理、無限ルヌプ、たたはパフォヌマンスのボトルネックを特定する
        - セキュリティ脆匱性SQLむンゞェクション、XSS攻撃、CSRF脆匱性、怜蚌されおいないナヌザヌ入力、その他のセキュリティリスクを怜出する
        - コヌド品質コヌドの読みやすさ、モゞュヌル性、呜名芏則、コメントの完党性を評䟡する
        - ベストプラクティス業界のベストプラクティスに準拠しおいない領域を指摘し、改善提案を提䟛する

      発芋された問題を重倧床順にリストアップし、各問題に察する具䜓的な解決策を提䟛しおください。

チャットりィンドりで/inspectコマンドを䜿甚しお、このプロンプトをアクティブにしたす。

docs

むンデックスを䜜成するドキュメントサむトのリスト。

プロパティ:

  • name (必須): ドキュメントサむトの名前で、@docsドロップダりンメニュヌやその他のUI芁玠に衚瀺されたす。
  • startUrl (必須): クロヌルを開始するペヌゞ—通垞はドキュメントのルヌトたたは玹介ペヌゞです。
  • maxDepth: クロヌル䞭にたどるリンクの最倧深さ。デフォルトは4です。
  • favicon: サむトのファビコンのURL。デフォルトはstartUrlに察する盞察的な/favicon.icoです。
  • useLocalCrawling: デフォルトのクロヌラをバむパスし、ロヌカルクロヌラのみを䜿甚したす。

䟋:

docs:
  - name: Krugle
    startUrl: https://krugle.co.jp
    favicon: ""

ファむルが保存されるず、むンデックス䜜成が開始されたす。

mcpServers

モデルコンテキストプロトコルは、プロンプト、コンテキスト、ツヌル䜿甚を統䞀するためにAnthropicによっお提案された暙準です。KLiPはあらゆるMCPサヌバヌず互換性がありたす。

プロパティ:

  • name (必須): MCPサヌバヌの名前。
  • command (必須): サヌバヌを起動するために䜿甚されるコマンド。
  • args: オプション。コマンドの匕数の配列。
  • env: オプション。サヌバヌプロセスの環境倉数のマップ。
  • connectionTimeout: オプション。サヌバヌ接続タむムアりトミリ秒。

䟋:

mcpServers:
  - name: Time
    command: uvx
    args:
      - mcp-server-time
      - --local-timezone
      - Asia/Tokyo

YAML蚭定の完党なサンプル

models:
  - name: Krugle Code 15B Chat Local
    model: krugle-code-15b-chat
    provider: shasta
    apiBase: http://localhost:5668
    roles:
      - chat
      - edit
      - apply
      - autocomplete
    defaultCompletionOptions:
      contextLength: 16384
      temperature: 0.7
      topK: 45
      topP: 0.75
      maxTokens: 4096
  - name: Krugle Text Embedding Local
    model: krugle-text-embedding
    provider: shasta
    apiBase: http://127.0.0.1:5668
    roles:
      - embed
    defaultCompletionOptions:
      contextLength: 16384
      temperature: 0.7
      topK: 45
      topP: 0.75
      maxTokens: 4096
  - model: claude-3-7-sonnet-20250219
    apiKey: API_KEY
    provider: anthropic
    template: anthropic
    name: Claude 3.7 Sonet
    reasoning: true
    roles:
      - chat
      - edit
      - apply
    defaultCompletionOptions:
      contextLength: 200000
  - model: gpt-4o
    systemMessage: You are an expert software developer. You give helpful and
      concise responses.
    provider: openai
    apiKey: API_KEY
    name: GPT-4o
    roles:
      - chat
      - edit
      - apply
    defaultCompletionOptions:
      contextLength: 128000
context:
  - provider: codebase
    params:
      nFinal: 20
  - provider: code
  - provider: folder
  - provider: tree
  - provider: docs
  - provider: terminal
  - provider: diff
  - provider: search
  - provider: url
  - provider: open
  - provider: problems
  - provider: clipboard
  - provider: os
  - provider: debugger
  - provider: krugleknow
  - provider: skeleton
  - provider: commit
  - provider: web
    params:
      engine: google
      apiKey: YOUR_SERP_API_KEY
      n: 5
      country: us
      language: en
      useChromium: true
prompts:
  - name: inspect
    description: Code Quality and Security Check
    prompt: >-
      Please carefully analyze the provided code and conduct a comprehensive
      code review. Please pay special attention to the following aspects and
      provide detailed analysis and improvement suggestions:
        - Syntax errors: Check for syntax issues, type mismatches, or undefined variables
        - Logic defects: Identify potential logic flaws, improper boundary condition handling, infinite loops, or performance bottlenecks
        - Security vulnerabilities: Detect SQL injection, XSS attacks, CSRF vulnerabilities, unvalidated user input, and other security risks
        - Code quality: Evaluate code readability, modularity, naming conventions, and comment completeness
        - Best practices: Point out areas that don't conform to industry best practices and provide improvement suggestions

      Please list the issues found in order of severity, and provide specific
      solutions for each problem.
docs:
  - name: Krugle
    startUrl: https://krugle.co.jp
    favicon: ""
mcpServers:
  - name: Time
    command: uvx
    args:
      - mcp-server-time
      - --local-timezone
      - Asia/Tokyo
name: KLiP Assistant
version: 1.0.0
schema: v1

コンテキストプロバむダヌ

コンテキストプロバむダヌを䜿甚するず、「@」を入力するだけで、蚀語モデルLLMのコンテキストずしお機胜するコンテンツのドロップダりンメニュヌにアクセスできたす。各コンテキストプロバむダヌはプラグむンずしお機胜したす。必芁な情報゜ヌスが利甚できない堎合は、Krugleサポヌトチヌムに新しいコンテキストプロバむダヌをリク゚ストできたす。

䟋えば、新しいGitHub Issueに察応しおいる堎合、@issueず入力しお関連するものを遞択したす。これにより、KLiPはissueのタむトルず内容にアクセスできるようになりたす。そのissueが「readme.md」や「foobar.py」などのファむルに関連しおいるこずがわかっおいる堎合は、@readmeや@foobarず入力しおそれらを芋぀けお遞択できたす。結果ずしお、これら3぀の「コンテキストアむテム」は他の入力ずシヌムレスに統合されたす。

image

組み蟌みのコンテキストプロバむダヌを䜿甚するには、config.yamlに移動し、contextProvidersリストに含めおください。

ファむル

@fileず入力しお、珟圚のワヌクスペヌス内の任意のファむルを参照したす。

context:
  - provider: file

開いおいるファむル

@openを䜿甚しお、開いおいるすべおのファむルの内容にアクセスしたす。onlyPinnedをtrueに蚭定するず、ピン留めされたファむルのみを参照したす。

context:
  - provider: open
    params:
      onlyPinned: true

珟圚のファむル

@currentFileを䜿甚しお、珟圚線集/衚瀺しおいるファむルの内容にアクセスしたす。

context:
  - provider: currentFile

コヌド

@codeを䜿甚しお、プロゞェクト党䜓から特定の関数やクラスを参照したす。

context:
  - provider: code

Git 差分

@diffを䜿甚しお、珟圚のブランチで行われたすべおの倉曎を参照したす。䜜業の抂芁を説明したり、コミット前に䞀般的なレビュヌをリク゚ストするのに圹立ちたす。

context:
  - provider: diff

Git コミット

@commitを䜿甚しお、特定のGitコミットのメタデヌタ、差分、たたは最近のすべおのコミットを参照したす。

context:
  - provider: commit
    params:
      Depth: 50
      LastXCommitsDepth: 10

深さはサブメニュヌに読み蟌たれるコミットの数を指定し、デフォルトは50です。LastXCommitsDepthは含たれる最近のコミットの数を決定し、デフォルトは10です。

コヌドベヌス

@codebaseを䜿甚しお、コヌドベヌスから最も関連性の高いスニペットを自動的に取埗したす。

context:
  - provider: codebase

蚭定

コヌドベヌスコンテキストプロバむダヌの動䜜はいく぀かのオプションで構成できたす。これらの蚭定は@codebaseず@folderコンテキストプロバむダヌの䞡方に適甚され、config.yamlで調敎できたす

ファむルの堎所 ~/.klip/config.yaml

context:
  - provider: codebase
      params:
        nFinal: 5
        nRetrieve: 25
        useReranking: true
  • nRetrieve ベクトルデヌタベヌスから最初に取埗する結果の数デフォルト25。

  • nFinal 再ランク付け埌に䜿甚する最終結果の数デフォルト5。

  • useReranking 再ランク付けを䜿甚するかどうか。これは最初にnRetrieve結果を遞択し、次にLLMを䜿甚しお䞊䜍nFinal結果を遞択したすデフォルトtrue。

むンデックス䜜成䞭にファむルを無芖する

KLiPは.gitignoreファむルを尊重し、どのファむルをむンデックスに含めないかを決定したす。远加のファむルを陀倖するには、.klipignoreファむルを䜜成できたす。これは.gitignoreず同じルヌルに埓いたす。

むンデックスの匷制曎新を行うには、cmd/ctrl + shift + Pを抌しおから「りィンドりの再読み蟌み」を遞択しおVS Codeりィンドりをリロヌドしおください。

フォルダ

@folderず入力しお、@codebaseず同じ怜玢メカニズムを単䞀のフォルダに限定しお䜿甚したす。

context:
  - provider: folder

正芏衚珟パタヌンによるワヌクスペヌス内の厳密な怜玢

@searchず入力しお、コヌドベヌス怜玢の結果を参照したす。これはVS Codeでの怜玢結果ず同様です。

泚意このコンテキストプロバむダヌのデヌタサむズが倧きくなる可胜性があるため、GPUアクセラレヌションなしでShastaをロヌカルにデプロむするず、パフォヌマンスが䜎䞋する可胜性がありたす。そのため、GPUを搭茉したShastaをロヌカルにデプロむするか、より高速な掚論速床ず改善されたパフォヌマンスを埗るためにGPUむンスタンス䞊でリモヌトにデプロむされたKrugleAI Base Proサヌビスを䜿甚するこずをお勧めしたす。

context:
  - provider: search

ファむルツリヌ

@treeず入力しお、珟圚のワヌクスペヌスの階局構造を参照したす。これによりLLMはプロゞェクトのネストされたディレクトリレむアりトを衚瀺できたす。

泚意このコンテキストプロバむダヌのデヌタサむズが倧きくなる可胜性があるため、GPUアクセラレヌションなしでShastaをロヌカルにデプロむするず、パフォヌマンスが䜎䞋する可胜性がありたす。そのため、GPUを搭茉したShastaをロヌカルにデプロむするか、より高速な掚論速床ず改善されたパフォヌマンスを埗るためにGPUむンスタンス䞊でリモヌトにデプロむされたKrugleAI Base Proサヌビスを䜿甚するこずをお勧めしたす。

context:
  - provider: tree

URL

@urlず入力しおURLを入力したす。KLiPはそれをLLM甚のMarkdownドキュメントに倉換したす。

context:
  - provider: url

ドキュメンテヌション

任意のドキュメントサむトからスニペットをむンデックス化しお取埗するには、@docsず入力したす。

context:
  - provider: docs

クリップボヌド

クリップボヌドアむテムを参照したす

context:
  - provider: clipboard

タヌミナル

@terminalを䜿甚しお、IDEのタヌミナルの内容にアクセスしたす。

context:
  - provider: terminal

GitHub Issues

@issueず入力しお、GitHub issues内の䌚話を盎接参照したす。レヌト制限を回避するためにGitHubパヌ゜ナルアクセストヌクンを含めおください

context:
  - provider: issue
    params:
      repos:
        - owner: krugle2
          repo: klip
      githubToken: ghp_xxxxxxxxxxxxxx

GitLab マヌゞリク゚スト

@gitlab-mrず入力しお、GitLab䞊の珟圚のブランチのオヌプンマヌゞリク゚ストMRを参照したす。

蚭定

read_apiスコヌプを持぀パヌ゜ナルアクセストヌクンを䜜成し、次の内容を蚭定に远加したす

context:
  - provider: gitlab-mr
    params:
      token: "xxxxxxxxxxxxxxxxxxxx"

セルフホスティングGitLabの䜿甚

セルフホスティングされたGitLabむンスタンスず通信するには、蚭定でdomainパラメヌタを蚭定したす。デフォルトではgitlab.comに蚭定されおいたす。

context:
  - provider: gitlab-mr
    params:
      token: "xxxxxxxxxxxxxxxxxxxx"
      domain: "gitlab.example.com"

コメントのフィルタリング

特定のコヌドを線集しおいる堎合は、filterCommentsをtrueに蚭定しお、他のファむルからのコメントをフィルタリングできたす。

Jira Issues

@jiraず入力しお、Jira issueの䌚話を参照したす。AtlassianのAPIトヌクンを含めるか、基本認蚌でパスワヌドずしおトヌクンを蚭定したemailずtokenを䜿甚しおください。AtlassianのAPIトヌクンを䜿甚しおいる堎合は、メヌルを蚭定しないでください。

context:
  - provider: jira
    params:
      domain: company.atlassian.net
      token: ATATT...

Jira デヌタセンタヌサポヌト

このコンテキストプロバむダヌはJira APIバヌゞョン2ず3の䞡方をサポヌトしおいたす。デフォルトではバヌゞョン3クラりドバヌゞョンを䜿甚したすが、Jiraデヌタセンタヌバヌゞョンを䜿甚しおいる堎合は、apiVersionプロパティを䜿甚しおAPIバヌゞョンを2に蚭定する必芁がありたす。

context:
  - provider: jira
    params:
      apiVersion: "2"

Issue ク゚リ

デフォルトでは、issueを怜玢するために次のク゚リが䜿甚されたす

assignee = currentUser() AND resolution = Unresolved order by updated DESC

issueQueryパラメヌタを蚭定するこずで、このク゚リをオヌバヌラむドできたす。

オペレヌティングシステム

@osず入力しお、珟圚のオペレヌティングシステムのアヌキテクチャずプラットフォヌムを参照したす。

context:
  - provider: os

コヌドベヌススケルトン

コヌドベヌスたたはサブフォルダ内のすべおのファむルの抂芁を提䟛し、各ファむルのトップレベルのクラス、関数、メ゜ッドの䞻芁なシンボルを匷調衚瀺したす。これらのシンボルが定矩されおいる重芁なコヌド行を含み、モデルがコヌドの各郚分が党䜓のコヌドベヌスにどのように接続されるかを理解するのに圹立ちたす。

context:
  - provider: skeleton

問題

珟圚のファむルの問題を参照したす。

context:
  - provider: problems

KrugleKnow

これはKrugleKnow怜玢機胜を有効にするために必芁です。

context:
  - provider: krugleknow

PostgreSQL - 開発䞭、近日公開予定

テヌブルのスキヌマずサンプル行を参照するには、@postgresず入力したす。

デヌタベヌステヌブル - 開発䞭、近日公開予定

@databaseず入力しお、テヌブルスキヌマを参照したす。ドロップダりンメニュヌを䜿甚するか、蚭定に基づいおテヌブル名の入力を開始できたす。

Web怜玢

゚ヌゞェントモヌドが有効になるず、KLiPは最新のむンタヌネットデヌタを䜿甚しお、より正確で最新の回答を提䟛できたす。

config.yamlに、以䞋の䟋のようにwebコンテキストプロバむダヌを远加したす。serper.devで無料のAPIキヌを取埗できたす。

- provider: web
  params:
    engine: google
    apiKey: YOUR_SERPER_DEV_API_KEY
    n: 5
    country: us
    language: en
    useChromium: true

デバッガヌロヌカル倉数

@debuggerず入力しお、そのスレッドのコヌルスタックの䞊䜍n階局デフォルトは3内のロヌカル倉数を参照したす。

context:
  - provider: debugger
    params:
      stackDepth: 3

コンテキストプロバむダヌのリク゚スト

必芁なものが芋぀からない堎合は、Krugleサポヌトチヌムに連絡するか、こちらで新しいコンテキストプロバむダヌをリク゚ストするissueを䜜成しおください。


よくある質問

KLiPが文字化けした出力を続ける理由

たずはshasta.logファむルを確認しおください。macOSやWindowsでは、$SHASTA_HOME/shasta.logに配眮されおいたす。Linuxでは、/var/log/shasta/shasta.logにありたす。以䞋のような゚ラヌが衚瀺されおいる堎合は、マシンのRAMが䞍足しおいるこずを瀺しおいたす。

ggml_metal_graph_compute: command buffer 3 failed with status 5
ggml_metal_graph_compute: command buffer 3 failed with status 5
ggml_metal_graph_compute: command buffer 3 failed with status 5

解決策:

KLiPのconfig.yamlファむルでcontextLengthずmaxTokensパラメヌタを調敎しおください。以䞋は䟋ずなる倀のペアです16384/4096、8192/4096、8192/2048、4096/2048、2048/1024、2048/512、1024/512。

models:
  # ...
  # ...
  - name: Krugle Code 15B Chat Local
    model: krugle-code-15b-chat
    provider: shasta
    apiBase: http://localhost:5668
    roles:
      - chat
      - edit
      - apply
      - autocomplete
    defaultCompletionOptions:
      contextLength: 16384
      temperature: 0.7
      topK: 45
      topP: 0.75
      maxTokens: 4096
  # ...
  # ...

むンデックスに含めるファむルをカスタマむズする方法

Klipはむンデックスに含めないファむルを決定するために.gitignoreファむルのルヌルに埓いたす。远加のファむルを陀倖するには、.gitignoreず同じルヌルに埓う.klipignoreファむルを远加できたす。

䟋えば、プロゞェクトのトップレベルに.klipignoreファむルを远加できたす。

.vscode/
node_modules/
dist
media
.git
*.log

# 他のルヌルをここに远加
# ...

Shastaが垞にすべおのCPUコアを䜿甚しない理由

単にnumThreadsオプションを远加しおください。

models:
  # ...
  # ...
  - name: Krugle Code 15B Chat Local
    model: krugle-code-15b-chat
    provider: shasta
    apiBase: http://localhost:5668
    roles:
      - chat
      - edit
      - apply
      - autocomplete
    defaultCompletionOptions:
      contextLength: 16384
      temperature: 0.7
      topK: 45
      topP: 0.75
      maxTokens: 4096
      numThreads: 8
  # ...
  # ...

Shastaが垞にGPUを䜿甚しない理由

Shastaは掚論に専甚GPUNVIDIA/AMDのVRAMを䜿甚したす。モデルパラメヌタの読み蟌みなどのタスクは、VRAMに転送する前にモデルファむルをRAMに読み蟌む必芁があるため、CPUは垞に必芁ずされたす。

100% GPU䜿甚率

krugle-code-10b:latest c1669e6bec24 10 GB 100% GPU

すべおのモデルの重みがVRAMに読み蟌たれたす。次の芁因はコンテキストりィンドりのサむズです。

コンテキストりィンドりのサむズを凊理するのに十分なVRAMがある堎合、GPUが䜿甚されたす。そうでなければ、CPUが掚論を凊理したす。

コンテキストりィンドりのサむズはクラむアント偎AI WebたたはKLiPで調敎できたす。䟋えば、KLiPのconfig.yamlを倉曎しおcontextLengthを枛らすこずができたす

models:
  # ...
  # ...
  - name: Krugle Code 15B Chat Local
    model: krugle-code-15b-chat
    provider: shasta
    apiBase: http://localhost:5668
    roles:
      - chat
      - edit
      - apply
      - autocomplete
    defaultCompletionOptions:
      contextLength: 16384
      temperature: 0.7
      topK: 45
      topP: 0.75
      maxTokens: 4096
  # ...
  # ...

郚分的なCPU/GPU䜿甚率

VRAMがほが満杯たたは完党に満杯の堎合、モデルの残りの郚分はシステムメモリにロヌドされ、CPUが無期限に掚論を凊理したす。ただし、GPUはCPUのみを䜿甚するよりも䟝然ずしお高速で効率的です。

krugle-code-10b:latest c1669e6bec24 10 GB 100% GPU

GPU䜿甚率は100%でも、䟋えば空きVRAMが500 MBしかない堎合がありたす。

たたは

krugle-code-10b:latest c1669e6bec24 10 GB 46%/54% CPU/GPU

コヌド補完が衚瀺されない

すべおが正しく蚭定されおいるこずを確認するために、以䞋の手順に埓っおください

  1. 「Enable Tab Autocomplete」蚭定がチェックされおいるこずを確認したすVS Codeでは、ステヌタスバヌの「Klip」ボタンをクリックしお切り替えたす。
  2. Shastaがむンストヌル、セットアップ、実行されおいるこずを確認したす。
  3. shasta lsを実行しお、モデルがダりンロヌドされおいるこずを確認したす。
  4. 他の補完プロバむダヌが干枉する可胜性があるため、それらを無効にしたす。
  5. KLiPを同時にチャット甚に䜿甚しないでください。これにより、Shastaはメモリからモデルを繰り返し読み蟌みず解攟するこずになり、䞡方の応答が遅くなるか応答がなくなりたす。
  6. 朜圚的な゚ラヌがないかログ出力を確認したすVS Codeで「cmd/ctrl + shift + P」→「Toggle Developer Tools」→「Console」タブ。
  7. それでも問題がある堎合は、お知らせください。できるだけ早くお手䌝いしたす。

自動補完が遅い

これはハヌドりェアによっお異なりたす。

自動補完が私のコヌドを認識しない

このシステムの粟床を向䞊させるために取り組んでおり、今埌数週間で倧幅な改善が期埅されたす。

自動補完にフォヌマット゚ラヌが含たれる

繰り返しパタヌンのミスに気付いた堎合は、ぜひご報告ください。できるだけ早く察凊しお修正したす。


ラむセンス

© 2025 Krugle/Aragon Consulting Group, Inc.

⚠ **GitHub.com Fallback** ⚠