В этой статье мы рассмотрим, как построить PR-Agent с использованием «AI Engine от Sakura», предоставляемого компанией Sakura Internet. Для человека, работающего в Sakura Internet, выбор не использовать это в разработке, вероятно, отсутствует.
Что такое AI Engine от Sakura
«AI Engine от Sakura» — это сервис, который позволяет использовать модели генеративного AI, предоставляемые Sakura Internet, на платформе генеративного AI.
«AI Engine от Sakura» — это платформа на основе почасовой оплаты, предлагающая различные модели генеративного AI.
Все поддерживаемые модели LLM хостятся Sakura Internet, поэтому все данные обрабатываются только между клиентом и
Sakura Internet, и данные, используемые для таких задач, как дополнение сообщений, не используются для обучения моделей LLM,
что делает сервис высоко безопасным с точки зрения данных.
Таким образом, поскольку это предоставляется отечественной компанией, данные не отправляются за границу, что позволяет использовать его с уверенностью.
Что такое PR-Agent
PR-Agent — это инструмент, который автоматически рецензирует pull-запросы на GitHub, используя LLM (модели большого языка). PR-Agent может понимать изменения в коде и указывать на потенциальные проблемы или улучшения. Это позволяет разработчикам сосредоточиться на повышении качества, снижая нагрузку от код-ревью.
Использование PR-Agent с AI Engine от Sakura
Согласно руководству, получите токен учетной записи для AI Engine от Sakura.
Настройка TOKEN в репозитории для PR-Agent
Перейдите в репозиторий GitHub в раздел Settings > Secrets and variables > Actions и добавьте секрет с названием SAKURA_AI_ENGINE_API_KEY.
Настройка GitHub Actions
PR-Agent работает с использованием GitHub Actions. Создайте следующий YAML-файл в каталоге .github/workflows вашего репозитория.
В этом случае мы будем использовать модель Qwen3-Coder-480B-A35B-Instruct-FP8.
name: PR-Agent
on:
pull_request:
types: [opened, reopened, synchronize, ready_for_review]
issue_comment:
types: [created, edited]
workflow_dispatch:
permissions:
issues: write
pull-requests: write
contents: write
jobs:
pr_agent_job:
runs-on: ubuntu-latest
name: Запуск pr agent на каждом pull-запросе
steps:
- name: Шаг действия PR Agent
id: pragent
uses: qodo-ai/pr-agent@main
env:
OPENAI_KEY: ${{ secrets.SAKURA_AI_ENGINE_API_KEY }}
OPENAI__API_BASE: https://api.ai.sakura.ad.jp/v1
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
github_action_config.auto_review: "true"
github_action_config.auto_describe: "true"
github_action_config.auto_improve: "true"
config.model: "openai/Qwen3-Coder-480B-A35B-Instruct-FP8"
config.custom_model_max_tokens: "100000"
config.fallback_models: '[ "openai/Qwen3-Coder-480B-A35B-Instruct-FP8" ]'
pr_reviewer.extra_instructions: >-
Пожалуйста, отвечайте на японском языке.
pr_description.extra_instructions: >-
Пожалуйста, отвечайте на японском языке.
pr_code_suggestions.extra_instructions: >-
Пожалуйста, отвечайте на японском языке.
pr_code_suggestions.num_code_suggestions: "2"
Не забудьте не добавлять префикс openai/ к имени модели, иначе PR-Agent не сможет его распознать.
Попробуем запустить
GitHub Actions для PR-Agent будет запущен, и автоматически добавит комментарии к рецензии к pull-запросу. Теперь давайте создадим файл main.go, который, вероятно, будет подвержен рецензии, и создадим PR.
package main
import (
"fmt"
"io/ioutil"
"net/http"
)
func main() {
http.HandleFunc("/", handler)
http.ListenAndServe(":8080", nil)
}
func handler(w http.ResponseWriter, r *http.Request) {
name := r.URL.Query().Get("name")
if name == "" {
name = "World"
}
body, err := ioutil.ReadAll(r.Body)
if err != nil {
http.Error(w, "Невозможно прочитать тело", http.StatusBadRequest)
return
}
r.Body.Close()
fmt.Fprintf(w, "Привет, %s!", name)
fmt.Fprintf(w, "\nВы отправили: %s", string(body))
}
func calculate(x int, y int) int {
result := x + y
return result
}
func processData(data []string) {
for _, item := range data {
fmt.Println(item)
}
}
После создания PR CI PR-Agent будет работать.
Через некоторое время к PR будут добавлены комментарии с описанием и рецензией.
Резюме
- Репозиторий для тестирования
- Автоматизация код-ревью с помощью PR-Agent + AI Engine от Sakura
- AI Engine от Sakura — это отечественная платформа генеративного AI с высокой безопасностью данных
- Использование API OpenAI означает, что данные не отправляются за границу, что также усиливает уверенность (психологически)




