550 000 чиновников, одна база знаний: как Polimill сделала AI-инфраструктуру для японских муниципалитетов
Как Polimill подключила 550 000 чиновников к одной AI-системе на GPT и Codex — архитектура, подводные камни и что из этого можно взять в свой проект.
Японская компания Polimill подключила к своей платформе QommonsAI около 1 050 местных органов власти — и теперь 550 000 государственных служащих работают с единой AI-базой административных знаний вместо разрозненных локальных инструментов. Разбираемся, как устроена эта система и что из неё можно забрать в корпоративный или продуктовый проект.
Зачем вообще централизовать знания в госструктурах
Каждый японский муниципалитет исторически хранит свои регламенты, прецеденты и внутренние инструкции по-своему: в PDF, в Excel, в головах опытных сотрудников. Когда такой сотрудник уходит на пенсию, знания уходят вместе с ним. Проблема не уникальная для Японии — она воспроизводится в любой крупной бюрократической структуре.
Стандартное «решение» — каждый муниципалитет покупает свой AI-инструмент. В итоге получается зоопарк из несовместимых систем, дублирующихся данных и разных уровней качества. Polimill пошла в другую сторону: единая платформа, единая база знаний, единая точка обновления моделей.
Что внутри QommonsAI
Платформа строится на двух компонентах OpenAI: GPT-модели для понимания и генерации текста на японском языке и Codex для ускорения разработки самой платформы. Это важное разделение — Codex здесь не продуктовая фича для конечных пользователей, а инструмент внутри инженерного процесса Polimill.
Архитектурно система решает одну ключевую задачу: поиск и извлечение административных знаний по естественно-языковому запросу. Чиновник не листает PDF с регламентами — он спрашивает, как оформить конкретный случай, и получает ответ с указанием источника внутри базы.
Пример из практики: в ноябре 2024 года городской совет Вако (префектура Сайтама) внедрил QommonsAI для подготовки ответов на парламентские запросы. Система помогает формулировать первичный черновик ответа на основе существующих регламентов и прецедентов.
Как выглядит подключение нового муниципалитета
Polimill не публикует открытую документацию по API, но из архитектуры платформы можно вычленить типовой паттерн подключения корпоративной базы знаний к GPT. Он воспроизводится в большинстве RAG-систем (Retrieval-Augmented Generation — генерация с подкреплённым поиском):
Шаг 1. Подготовка и индексация документов
Административные документы (PDF, Word, HTML) конвертируются в текст, чистятся от артефактов и разбиваются на чанки.
import tiktoken
def split_into_chunks(text: str, max_tokens: int = 512) -> list[str]:
enc = tiktoken.encoding_for_model("gpt-4o")
tokens = enc.encode(text)
chunks = []
for i in range(0, len(tokens), max_tokens):
chunk_tokens = tokens[i:i + max_tokens]
chunks.append(enc.decode(chunk_tokens))
return chunksШаг 2. Векторизация и хранение
Каждый чанк превращается в эмбеддинг и сохраняется в векторной базе данных (pgvector, Qdrant, Weaviate — выбор зависит от требований к изоляции данных).
from openai import OpenAI
client = OpenAI()
def embed_chunk(text: str) -> list[float]:
response = client.embeddings.create(
input=text,
model="text-embedding-3-large"
)
return response.data[0].embeddingШаг 3. Поиск по запросу
Запрос пользователя векторизуется тем же эмбеддером, затем находятся ближайшие чанки по косинусному расстоянию.
def search_knowledge_base(query: str, top_k: int = 5) -> list[dict]:
query_embedding = embed_chunk(query)
# здесь — запрос к векторной БД, например через pgvector
# SELECT content, source FROM docs ORDER BY embedding <=> %s LIMIT %s
...Шаг 4. Генерация ответа с контекстом
Найденные фрагменты передаются в системный промпт вместе с исходным запросом.
def generate_answer(query: str, context_chunks: list[str]) -> str:
context = "\n\n".join(context_chunks)
response = client.chat.completions.create(
model="gpt-4o",
messages=[
{
"role": "system",
"content": (
"Ты помощник для государственных служащих. "
"Отвечай строго на основе предоставленного контекста. "
"Если ответа нет в контексте — сообщи об этом явно.\n\n"
f"Контекст:\n{context}"
)
},
{"role": "user", "content": query}
]
)
return response.choices[0].message.contentГде ломается централизованная база знаний
Модель Polimill элегантна на бумаге, но у неё есть несколько реальных узких мест.
Качество источников. Если муниципалитет загружает устаревшие или противоречивые документы, модель будет уверенно генерировать устаревшие ответы. Валидация и версионирование документов — не опция, а обязательное требование.
Опыт ветеранов не оцифрован. Как отмечают сами наблюдатели системы, знания опытных чиновников существуют в устной форме и в базу не попадают. AI воспроизводит только то, что было записано. Неформальные прецеденты — слепое пятно.
Изоляция данных между муниципалитетами. При единой платформе критически важно, чтобы документы муниципалитета А не утекали в ответы на запросы муниципалитета Б. Это решается на уровне метаданных и фильтрации при поиске, но требует аккуратной реализации.
Языковые нюансы. Японский административный язык насыщен формальными конструкциями и региональными вариациями терминологии. GPT справляется, но edge cases остаются — особенно в диалектных формулировках местных регламентов.
Зависимость от вендора. Вся инфраструктура держится на OpenAI. Изменение ценовой политики или условий использования немедленно бьёт по 1 050 муниципалитетам одновременно.
Что попробовать дальше
Если вы строите похожую систему для корпоративной базы знаний — начните с малого: возьмите один отдел, один тип документов, один сценарий запроса. RAG хорошо масштабируется горизонтально, но плохо прощает ошибки в базовой архитектуре.
Для изоляции данных между подразделениями смотрите на namespace-фильтрацию в Qdrant или row-level security в pgvector. Для версионирования документов — на LlamaIndex с интеграцией систем хранения типа S3.
Если Codex как инструмент внутри инженерного процесса вас интересует отдельно — это уже другая история про AI-ассистированную разработку, где он ускоряет написание бойлерплейта и тестов, а не пишет бизнес-логику.
FAQ
Что такое QommonsAI и кто им пользуется?
QommonsAI — платформа японской компании Polimill для поиска административных знаний. По состоянию на 2026 год к ней подключены около 1 050 местных органов власти Японии и примерно 550 000 государственных служащих.
На каких моделях OpenAI работает платформа?
Polimill использует GPT-модели OpenAI для обработки и генерации текста на японском языке, а также Codex — для ускорения внутренней разработки платформы.
Что такое RAG и почему это подходит для корпоративных баз знаний?
RAG (Retrieval-Augmented Generation) — подход, при котором модель сначала ищет релевантные фрагменты в базе документов, а затем генерирует ответ на их основе. Это позволяет работать с актуальными внутренними данными без дообучения модели.
Как защитить данные разных подразделений при единой платформе?
Используйте фильтрацию по метаданным при векторном поиске: каждый документ получает тег организации или отдела, и запросы фильтруются до поиска. В pgvector это реализуется через WHERE-условия, в Qdrant — через payload filters.
Можно ли воспроизвести такую систему без OpenAI?
Да. Архитектура RAG не привязана к конкретному провайдеру. Эмбеддеры и LLM можно заменить на open-source альтернативы (например, Mistral + nomic-embed-text), развёрнутые локально. Это решает проблему зависимости от вендора, но увеличивает операционную сложность.
Источники
Читайте также
Комментарии
Пока никто не написал. Будьте первым.


