СПРАВОЧНИК
Справочник по реализации
Точки входа, типы результатов и первичные документы для интеграции.
Код контекста — запускается где угодно
Это блок, который важен, если вы просто хотите пользоваться, а не тестировать библиотеку. Не нужен ни Claude Code, ни MCP, ни аккаунт — работает в любом Python-процессе: в вашем агенте, в ноутбуке, в CI-джобе, или вставленный прямо в чат-сессию, чтобы разом задать контекст. Адаптировано напрямую из README пакета:
pip install fpf-thinking-map
from fpf_thinking_map.state import SemanticMap, RuntimeBinding
from fpf_thinking_map.primitives import (
ContextPrimitive, RolePrimitive, GatePrimitive, GateCheck, TransitionPrimitive,
)
from fpf_thinking_map.logic import LogicLayer, DecisionRule, RuleKind, EvidencePresent, GatePasses
from fpf_thinking_map.traversal import ThinkingMapTraversal
# 1. your domain: contexts, roles, gates, transitions
sm = SemanticMap()
sm.register_context(ContextPrimitive("my_domain", "My Domain",
glossary={"review": "check code for correctness"}))
sm.register_role(RolePrimitive("reviewer", "Reviewer", "my_domain"))
sm.register_gate(GatePrimitive("review_gate", "Review Gate", "my_domain", checks=[
GateCheck("tests", "Tests must pass", required_evidence=["test_results"]),
]))
sm.register_transition(TransitionPrimitive(
"start_to_reviewed", "Start -> Reviewed", "my_domain",
from_state="start", to_state="reviewed",
required_gate_id="review_gate", required_evidence=["test_results"],
))
# 2. optional: your own logic rules
logic = LogicLayer()
logic.add_rule(DecisionRule(
name="review_ready",
condition=EvidencePresent("test_results").AND(GatePasses("review_gate")),
action_if_true="proceed_to_review", action_if_false="not_ready",
kind=RuleKind.ROUTE, tags=["review"],
))
# 3. the engine, one step
engine = ThinkingMapTraversal(sm, logic_layer=logic)
binding = RuntimeBinding(
task="review PR #42", actor_role_ids=["reviewer"],
active_context_id="my_domain", current_evidence=["test_results"],
)
state = engine.build_active_state(binding, current_state="start")
outcome = engine.step(state, transition_id="start_to_reviewed")
print(outcome.kind, outcome.llm_prompt_state)
Замените my_domain/reviewer/review_gate на свой контекст, роль и шлюз — остальной механизм (состояние, срез, типизированный результат) остаётся тем же.
Хотите попробовать без кода? Режим пользователя vs. режим разработчика, в Claude Code
Шесть шагов установки, дальше выбираете, что делать:
- 1.Клонируйте репозиторий —
git clone https://github.com/igareosh/fpf-agentic-thinking-map - 2.Перейдите в папку —
cd fpf-agentic-thinking-map - 3.Установите локально —
pip install -e . - 4.Установите тестовый сервер —
pip install -r dev_mcp/requirements.txt - 5.Проверьте его —
python -m dev_mcp.test_server— должно быть 13/13 - 6.Добавьте в Claude Code, одной командой —
claude mcp add fpf-test -- python -m dev_mcp.server
Режим пользователя
Тестируете свой собственный домен, в диалоге. Просите Claude: «построй run_scenario с scope="user-extension" для моего случая, оттолкнувшись от кода контекста выше» — Claude пишет и запускает сценарий, вы видите результат.
Режим разработчика
Аудируете саму библиотеку. Просите Claude: «запусти get_audit_gaps с scope="core" и покажи пробел в покрытии» — полезно, если хотите внести вклад или проверить границы, а не научиться пользоваться.
Оба варианта — режим для изучения, а не для продакшена: отлично, чтобы почувствовать инструмент за 10 минут перед решением о серьёзной интеграции. Для продакшена используете сразу код контекста выше, в своём собственном процессе.
Основные объекты
| SemanticMap | Статическая структура и допустимые отношения. |
|---|---|
| RuntimeBinding | Текущая роль, состояние и данные. |
| ThinkingMapTraversal | Выбор кандидатов, проверка шлюзов и результат. |
Типы результатов
CONTINUE · COLLECT_EVIDENCE · BRIDGE · IDLE · ESCALATE
Документы репозитория
- README ↗
- fpf_thinking_map/README.md — источник кода контекста ↗
- ARCHITECTURE ↗
- REFLECTIONS ↗
- dev_mcp — тестовый сервер, использованный выше ↗
- GitHub ↗
Хотите это в своём проекте?
Если вы хотите встроить ATM в реальную агентную систему — финансы, e-commerce, что угодно, где агенту нужна рамка, а не только импровизация — пишите прямо: igareosh@igareosh.com — мой личный адрес, читаю и отвечаю сам, а не анонимная форма обратной связи.