---
title: Видение Code2Prompt
description: Узнайте о видении Code2Prompt и том, как оно улучшает взаимодействие LLM с кодом.
---

import { Card } from "@astrojs/starlight/components";
import { Aside } from "@astrojs/starlight/components";

<Card title="Цель 🎯">
  `code2prompt` был создан для помощи разработчикам и агентам ИИ более
  эффективно взаимодействовать с кодовыми базами.
</Card>

## Проблема 🚩

Большие языковые модели (LLM) революционизировали способ взаимодействия с кодом. Однако они все еще сталкиваются с существенными проблемами при генерации кода:

- **Планирование и рассуждение**: LLM не хватает способности планировать и рассуждать, что крайне важно для задач, таких как генерация кода, рефакторинг и отладка. Они часто испытывают трудности с пониманием общей картины и имеют ограниченный взгляд.
- **Размер контекста**: LLM имеют ограниченное окно контекста, что ограничивает их способность анализировать и понимать большие кодовые базы.
- **Галлюцинация**: LLM могут генерировать код, который выглядит правильным, но на самом деле является неверным или бессмысленным. Это явление, известное как галлюцинация, возникает, когда модель не имеет достаточного контекста или понимания кодовой базы.

Именно здесь вступает в действие `code2prompt`.

## Решение ✅

Мы считаем, что планирование и рассуждение могут быть достигнуты человеком или агентами ИИ с помощью методов структурирования. Этим агентам необходимо собрать **высококачественный контекст** кодовой базы, который отфильтрован, структурирован и отформатирован для конкретной задачи.

Основное правило будет таким:

<Aside type="tip">
  > предоставляйте как можно меньше контекста, но как можно больше, чтобы это
  было необходимо
</Aside>

На практике это сложно достичь, особенно для больших кодовых баз. Однако `code2prompt` — это простой инструмент, который может помочь разработчикам и агентам ИИ более эффективно усваивать кодовую базу.

Он автоматизирует процесс обхода кодовой базы, фильтрации файлов и форматирования их в структурированные подсказки, которые могут понять LLM. Таким образом, он помогает смягчить проблемы планирования, рассуждения и галлюцинации.

Вы можете понять, как `code2prompt` предназначен для решения этих проблем, в следующем разделе.

## Архитектура ⛩️

<img
  src="/assets/images/architecture.svg"
  alt="Архитектура code2prompt"
  style="width: 75%;"
/>

`code2prompt` разработан по модульному принципу, что позволяет легко интегрировать его в различные рабочие процессы. Его можно использовать в качестве основной библиотеки, интерфейса командной строки (CLI), набора средств разработки (SDK) или даже в качестве сервера протокола контекста модели (MCP).

### Основная часть

`code2prompt` — это инструмент усвоения кода, который упрощает процесс создания подсказок LLM для анализа кода, генерации и других задач. Он работает, обходя директории, создавая древовидную структуру и собирая информацию о каждом файле. Основная библиотека может быть легко интегрирована в другие приложения.

### CLI

Интерфейс командной строки `code2prompt` (CLI) был разработан для людей, чтобы генерировать подсказки непосредственно из вашей кодовой базы. Сгенерированная подсказка автоматически копируется в буфер обмена и может быть сохранена в выходной файл. Кроме того, вы можете настроить генерацию подсказок с помощью шаблонов Handlebars. Ознакомьтесь с предоставленными подсказками в документации!

### SDK

Набор средств разработки `code2prompt` (SDK) предлагает привязку Python к основной библиотеке. Это идеально подходит для агентов ИИ или скриптов автоматизации, которые хотят взаимодействовать с кодовой базой беспрепятственно. SDK размещен на Pypi и может быть установлен с помощью pip.

### MCP

`code2prompt` также доступен в качестве сервера протокола контекста модели (MCP), что позволяет запускать его в качестве локальной службы. Это позволяет LLM на стероидах, предоставляя им инструмент для автоматического сбора хорошо структурированного контекста вашей кодовой базы.

> Эта страница была автоматически переведена для вашего удобства. Обратитесь к английской версии для получения оригинального содержания.
