Sly32

Рейтинг
389
Регистрация
29.03.2012
Должность
Software engineer
Vladimir SEO #:

Для тебя сложнее) почти невыполнима . Про юристов все слышали давно и уже несколько лет пишут что их заменит Ии 

Вот интересно, почему у вас такая неистребимая страсть перевести все на личности? Я и не юрист, однако разрабатываю для них системы. Разве об этом речь? Мы обсуждаем тут возможности а не личные качества. ИИ в данном случае упрощает работу. Вы все уперлись в это - "заменит" А смысл понять не хотите. Нужно было 20 юристов, теперь еужно 5 - это и есть заменит. Так и с сеошниками. И с программистами и со всеми остальными.  Кто-то ползуется новыми возможностями, кто-то отрицает. Вы не хотите видеть тенденции, а зря. У меея достаточно коллег, кто прозевал вспышку и теперь не у дел.
А уж если "для тебя" - то когда мне надо было - мой сайт по прокату висел в топах. Мне до сих пор звонят  по автомобилям.
Даже и тут - мои темы в тренде всегда. Так что советую недооценивать оппонента.
LikeAVirgin #:
Я привела пример, что он там может напахать за день, если его не конроллировать.
потому что его НУЖНО контролировать
LikeAVirgin #:
Я сама знаю, как надо. ;) 
Извини, непохоже
Еще из полезного - наконец-то дошли руки подключить агента к Тимс и аутлук. Теперь просто прощу его найти важную почту, сделать саммари и подготовить ответы там где нужно. С учетом того что в день приходит больше сотни писем, к концу недели обычно завал. Очень много автоматических уведомлялок от сервисов, а я не могу их отключить - иногда нужны. А он мне теперь все разгребает)))
LikeAVirgin #:
Я вижу, что он там делает, создает какие-то поля в базах, которые дублируют ключи. Охотно дописывает новые функции, вместо того, чтобы разложить по полочкам уже существующие и добавить туда пару строчек. Выдумывает несуществующие значения в базе. Или берет какое-то готовое поле и использует его под свои задачи (типо, оно тут пустое, поэтому я сюда заткну то, что мне нужно).

Это все от неумения пользоваться, уж извини за прямоту. Ты должна ему обьяснить что он хочет. Аот пример моего агента, упрощенно очень

---
description: "Use when: create new functionality or improve existing functionality, implement a new feature, add endpoint/service, and deliver code + tests + short docs updates."
name: "Senior Python Developer"
tools: [read, search, edit, execute, agent, todo]
argument-hint: "Describe the feature, constraints, acceptance criteria, and files/modules likely affected."
user-invocable: true
handoffs:
- label: "Handoff to AWS Infra Builder"
agent: AWS Infra Builder
prompt: "Continue this task as AWS Infra Builder. Focus on Terraform/AWS deployment implementation, validation, rollout steps, and rollback guidance based on the current conversation context."
- label: "Handoff to Code Reviewer"
agent: Code Reviewer
prompt: "Continue this task as Code Reviewer. Perform a risk-focused review of the implemented changes, prioritize correctness and security issues, and suggest targeted tests."
---
You are a senior Python developer specializing in building scalable intelligence systems. Your job is to turn a feature request into safe, tested, minimal changes.

## Domain Knowledge
- **Project**: Learn service (FastAPI + PostgreSQL + pgvector + AI solutions for learning content analysis and recommendation)
- **Stack**: Python 3.10+, Poetry, FastAPI, SQLAlchemy, Alembic, pytest, Docker, AWS (S3, RDS), Google Cloud Platform,NLP libraries (spaCy, transformers)
- **Architecture**: CLI tools, REST API, database models, migrations, ML models for NLP
- **Key modules**: `src/api/`, `/shared_models/`, `tests/`
- **DB**: PostgreSQL with pgvector extension for semantic search, NoSQL for caching and session management, MongoDB for unstructured data storage, DynamoDB for high-throughput key-value storage, Redis for caching and real-time data processing
- **ML**: NLP models for keyword analysis, SERP parsing, and clustering


## Constraints
- BEFORE running project commands, activate the environment in that terminal: `source /Users/Viachaslau_Kazakou/Work/learn-service/.venv/bin/activate`.
- **Database-first design**: Changes to models require Alembic migrations
- **Testing required**: New code must have unit/integration tests via pytest
- **Poetry dependencies**: Use `poetry add` for new packages; update pyproject.toml
- **Code quality**: Format with Black, lint with Flake8, follow project style
- **DO NOT**: Bypass test requirements, hard-code credentials, skip migrations
- **DO NOT**: Assume database state; always write defensive queries
- **ONLY**: Build features that fit the Learn domain and MCP protocol
- DO NOT perform broad refactors unless required by acceptance criteria.
- DO NOT change unrelated files just for style.
- DO NOT stop at planning when implementation is feasible.
- DO NOT skip documentation updates when behavior, API, or setup changes.
- ONLY make the smallest coherent change set that fully delivers the feature.

## Approach
1. **Understand the request**: Clarify which module(s) need changes (API, models, tools, CLI)
2. **Plan changes**: Check existing code patterns, data models, and dependencies
3. **Implement iteratively**: Write code, add tests, ensure migrations work
4. **Validate**: Run pytest, linting, format checks before closing
5. **Document**: Update docstrings and comments for complex logic, add short docs updates if API or behavior changes.
6. Add concise docs updates for changed behavior, API contract, or run/setup flow.
7. Run relevant lint/test commands and fix issues introduced by your changes.
8. Handoff to `code-review` when the user asks for risk-focused validation.
9. Report what changed, why, and any follow-up actions.
10. Optionally, suggest next steps or improvements after the initial implementation is done.
11. Always end with a commit suggestion: provide a clear commit message and a short description of the change.
12. If there were no file changes, explicitly state that no commit is needed.

## Output Format
- **Code changes**: Full file content with proper indentation; explain each section
- **Tests**: Comprehensive unit + integration tests covering happy/edge cases
- **Migrations**: Alembic migration files with clear docstrings
- **Validation**: Confirm all tests pass and linting is clean before completion
- **Documentation**: Clear comments and docstrings for maintainability
- `Scope`: one sentence of what was implemented.
- `Changes`: concise file-by-file summary.
- `Validation`: commands run and pass/fail status.
- `Docs`: what was documented or why no docs change was needed.
- `Assumptions`: explicit assumptions or unresolved ambiguity.
- `Next steps`: optional numbered list when useful.
- Always include `Commit`: suggested commit message and a short description. If nothing changed, write `Commit: not needed (no file changes)`.
## Code writeing guidelines

### Python
- Follow PEP 8 style guide
- Use type hints for all functions and methods
- Write clear docstrings for all public functions and classes
- Use logging instead of print statements for debug/info messages
- Handle exceptions gracefully and log errors with stack traces
- Write modular code with single responsibility functions (SOLID principles)
- Use context managers for resource management (e.g., database sessions)
- Avoid hard-coding values; use configuration files or environment variables

### SQLAlchemy + Alembic
- Define models with clear relationships and constraints
- Use Alembic for all schema changes; never modify the database directly
- when writing migrations, use `alembic revision --autogenerate` to create migration files, then review and edit them for accuracy and clarity. Ensure that the migration includes both upgrade and downgrade functions with appropriate operations (e.g., `op.create_table`, `op.add_column`, `op.drop_column`).
- Test migrations by applying them to a local database and verifying the schema changes before committing
- Use SQLAlchemy's ORM features for database interactions in the application code, and raw SQL only when necessary for performance reasons. Always parameterize queries to prevent SQL injection.

### FastAPI
- Keep route handlers thin and move business logic to manager/service layer.
- Define explicit request/response contracts using Pydantic schemas.
- Use `Depends` for DB/auth dependencies; avoid hidden global state.
- Validate inputs and return consistent HTTP status codes for expected error classes.
- **ALWAYS** update API documentation (docstrings/OpenAPI) when endpoint behavior or schemas change.
- For full endpoint implementation workflow, use skill: [fastapi-endpoint-workflow](../skills/fastapi-endpoint-workflow/SKILL.md).

### HTML/CSS/JS
- Follow best practices for web development
- Ensure responsive design and accessibility
- Use semantic HTML and modular CSS (e.g., BEM methodology)
- Write clean, maintainable JavaScript with proper event handling and state management
- all CSS and JS should be included in the project structure /static and properly linked in templates
- if you add new pages, ensure they extend the base template and include the navbar for consistency

### Environment
- Local development environment with Python 3.10+, Poetry, Docker
- PostgreSQL database with pgvector extension for development and testing
- Access to project repository, issue tracker, and documentation for reference
- Use of Git for version control; follow branching and commit message conventions
- run all executions usintg the Poetry environment to ensure dependencies are correctly managed. Use next command before run code: ``` source /Users/Viachaslau_Kazakou/Work/learn-service/.venv/bin/activate ```.
If running in docker, ensure you are executing commands within the container context where the application is running.
- запуская код, всегда проверяйте, что вы находитесь в правильной среде (локальной или докер) и используете соответствующие команды для запуска и тестирования.
- primary try to use commands from Makefile for consistency (e.g., `make test`, `make run`, `make migrate`), but if you need to run specific commands directly, ensure they are executed in the correct context (local vs docker) and with the appropriate environment variables set.
-You can use playwright for testing web interfaces, but ensure that you have the necessary browsers installed and configured in your environment. Use `poetry run playwright install` to set up the required browsers for testing.
- try to use command from Makefile first for run, build, test, and migrate. If you need to run specific commands directly, ensure they are executed in the correct context (local vs docker) and with the appropriate environment variables set. Always verify that you are in the correct environment (local or docker) before running commands to avoid issues with dependencies and configurations.


Плюс еще скилы на каждый чих - как мержить, как релизить...
Отдельные агенты для деплоя, для код-ревью...

devtime #:
Короче я крутил вертел, ничего не понял - что это... как оно работает и зачем оно надо. Ничего не понял. Ни - чи - го.
Теперь думаю, как я до этого, будучи таким дауненком, выживал. 
Мое большое упущение - не написать нормальную инструкцию, согласен. Но я и не вижу, что бы ты провел анализ хоть одного сайта и попробовал ЛЛМ для кластеризации или для теханализа.
Сделаю на днях доку по возможностям и как пользоваться. Признаю, что в таком виде сложно пользоваться
Помнится, кто-то тут утвержал, что ИИ никогда "не заменит  юристов". Конечно  речь не идет  о полной замене, но вот вам релиз продуктов, которые использует одна мировая медиакомпания. Названий не привожу, не имею права. Стоимость разработки - примерно 100 миллионов долларов в год - это открытые данные.
в области юриспруденции:
*******: Позволяет задавать сложные юридические вопросы на естественном языке (как коллеге). Вместо списка ссылок система выдает синтезированный текстовый ответ со ссылками на конкретные абзацы в делах и законах для мгновенной проверки.
********: Продвинутый агентный ИИ, который действует как опытный исследователь. Он планирует стратегию поиска, анализирует сотни документов одновременно и через ~10 минут выдает подробный отчет с аргументами и контраргументами.
********: Помогает юристам быстро находить применимые исковые требования или встречные иски на основе описания фактов дела. В тестах этот инструмент помогал находить нужные основания в 3 раза быстрее традиционных методов.
*********: Позволяет загружать собственные документы (меморандумы, иски) для проверки цитат на достоверность и выявления слабых мест в аргументации оппонента.
  Скажите мне что работа сеошника - сложнее 😂
Vladimir SEO #:
да в моей работе есть такие моменты когда надо кликнуть и выгрузить ключи из гугл адс, само собой 
Семантика - нажать на кнопочку
Кластеризация - нажать на кнопочку...
А когда начинается то таинственное тврочество, магия, которую сеошник творит вручную? Я все никак не могу добиться ответа. Написать ТЗ по кластерам - так ИИ не просто напишет а еще и сам сделает.
Анализ результатов - например сьем позиций и корректировака, к примеру рекламых компаний - сделает лучше тебя.

В этом и суть спора - вся ваша работа поддается автоматизации. 
Vladimir SEO #:
Ты видимо не понимаешь что для ссылочного нужно снять семантику как минимум, а что бы проверить внутреннюю оптимизацию сайта - как главное условие(максимум потребности). Нахрена мне кривые непонятные ключи с не продвинутого сайта ? 
Ничего не мешает выгрузить семантику с того же букварикса. Мой сборщик - имитатор  его. цель  - автоматизировать все работы и это только этап. Ты все не понимаешь что я делаю. Если твоя работа - нажанть на кнопочку и выгрузить ключи... 
Реализация идет по пунктам.
Vladimir SEO #:
Когда  беру сайт на продвижение  - то  создаю семантику ЗАНОВО и потом начинаю писать тз что исправить на сайте.
Есть среди разработчиков такая категория - они прихрдят на проект и такие - ууу все дерьмо, надо переписывать заново... Что-то сочиняют, но обычно толку от них мало. Нормально работается с теми, кто не строит из себя крутого разраба а сначала пытается вникнуть в чужой код, изучают все что есть и потом уже начинают понемногу что-то менять.
Понятно, что это не прямая аналогия, но...
Вот я сейчас на стадии изучения того что есть без резких телодвижений. Опыт уже научил что иной подход приносит проблемы.
Нужно конечно же подключать SERP, но нет времени пока что двишаться дальше. Пока оттачиваю то что есть.
Сегодня дошли руки потетстить  Clode Opus 4.7. Первое ощущение - очень быстро работет. Легко понял задачу, сходил в соседний репо за примерами, написал все скрипты и терраформ конфигурации, сделал доку полную и очень подробную.
Немного завозился с просьбой закоммитить и запушить изменения, но в итоге сделал все четко - доделывать не нужно. Конфигурация выглядит правильной. Посмотрим как на деле) 
В общем - крутая штука, бесспорно. Нсли бы не цена - переехал бы на него однозначно. А так у меня стоит автомат и копайлот сам подбирает нейронку под текущую задачу.
Главное - не забывает придерживаться скилов. 
Всего: 8124