<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Kseniya Seliverstava</title>
    <description>The latest articles on DEV Community by Kseniya Seliverstava (@kseniyaseliverstava).</description>
    <link>https://dev.to/kseniyaseliverstava</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3774527%2Fb0843473-1308-4067-a793-4e3838020a23.png</url>
      <title>DEV Community: Kseniya Seliverstava</title>
      <link>https://dev.to/kseniyaseliverstava</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kseniyaseliverstava"/>
    <language>en</language>
    <item>
      <title>Stop Writing Prompts. Start Engineering AI Systems.</title>
      <dc:creator>Kseniya Seliverstava</dc:creator>
      <pubDate>Wed, 25 Feb 2026 20:36:54 +0000</pubDate>
      <link>https://dev.to/kseniyaseliverstava/stop-writing-prompts-start-engineering-ai-systems-2182</link>
      <guid>https://dev.to/kseniyaseliverstava/stop-writing-prompts-start-engineering-ai-systems-2182</guid>
      <description>&lt;p&gt;Status: Draft.&lt;/p&gt;

&lt;p&gt;Most teams think they are building with AI.&lt;/p&gt;

&lt;p&gt;Most are just prompting.&lt;/p&gt;

&lt;p&gt;The difference between a chatbot user and an AI engineer is not creativity.&lt;br&gt;&lt;br&gt;
It is the ability to turn LLM behavior into a controlled, testable, secure product system.&lt;/p&gt;


&lt;h2&gt;
  
  
  1. The Real Upgrade: From Prompt to Engineering Loop
&lt;/h2&gt;

&lt;p&gt;In classical software, you write deterministic code.&lt;/p&gt;

&lt;p&gt;In AI systems, behavior is probabilistic.&lt;br&gt;&lt;br&gt;
You don’t hardcode logic. You shape it.&lt;/p&gt;

&lt;p&gt;The hard problem isn’t generating text.&lt;/p&gt;

&lt;p&gt;It’s controlling behavior across thousands of interactions.&lt;/p&gt;

&lt;p&gt;Control comes from engineering the loop.&lt;/p&gt;
&lt;h3&gt;
  
  
  The AI Engineering Loop
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;+------------------+
|       GOAL       |
+------------------+
          ↓
+------------------+
| SUCCESS CRITERIA |
+------------------+
          ↓
+------------------+
|    TEST CASES    |
+------------------+
          ↓
+------------------+
| PROMPT + CONTEXT |
|     VERSION      |
+------------------+
          ↓
+------------------+
|   MEASUREMENT    |
+------------------+
          ↓
+------------------+
|    ITERATION     |
+------------------+
          ↺
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;If you do not define success before writing prompts, you are not engineering.&lt;/p&gt;

&lt;p&gt;If you do not test behavior across structured cases, you are not engineering.&lt;/p&gt;

&lt;p&gt;If you cannot compare versions and measure improvement, you are not engineering.&lt;/p&gt;

&lt;p&gt;You are experimenting.&lt;/p&gt;


&lt;h2&gt;
  
  
  2. Prompt Engineering Is Table Stakes
&lt;/h2&gt;

&lt;p&gt;A predictable prompt contains structure:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;ROLE
&lt;/li&gt;
&lt;li&gt;CONTEXT
&lt;/li&gt;
&lt;li&gt;TASK
&lt;/li&gt;
&lt;li&gt;CONSTRAINTS
&lt;/li&gt;
&lt;li&gt;REFERENCES (examples and anti-examples)
&lt;/li&gt;
&lt;li&gt;OUTPUT FORMAT
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This increases reliability.&lt;/p&gt;

&lt;p&gt;But prompt structure is like a function signature.&lt;/p&gt;

&lt;p&gt;Necessary. Not sufficient.&lt;/p&gt;

&lt;p&gt;The moment you ask:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What happens after 20 turns?&lt;/li&gt;
&lt;li&gt;What happens across 1,000 users?&lt;/li&gt;
&lt;li&gt;What happens under adversarial input?&lt;/li&gt;
&lt;li&gt;What happens when tools execute real actions?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You are no longer designing prompts.&lt;/p&gt;

&lt;p&gt;You are designing systems.&lt;/p&gt;


&lt;h2&gt;
  
  
  3. Context Engineering: The Discipline Most Teams Miss
&lt;/h2&gt;

&lt;p&gt;Prompt engineering is about what you say.&lt;/p&gt;

&lt;p&gt;Context engineering is about what the model sees.&lt;/p&gt;

&lt;p&gt;In production, the model’s context window contains:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;System instructions
&lt;/li&gt;
&lt;li&gt;Conversation history
&lt;/li&gt;
&lt;li&gt;Retrieved documents
&lt;/li&gt;
&lt;li&gt;Tool outputs
&lt;/li&gt;
&lt;li&gt;Memory summaries
&lt;/li&gt;
&lt;li&gt;Integration state
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All of this competes for finite tokens.&lt;/p&gt;

&lt;p&gt;Tokens are a scarce resource.&lt;/p&gt;

&lt;p&gt;Add too much context → attention dilutes.&lt;br&gt;&lt;br&gt;
Add irrelevant context → reasoning collapses.&lt;br&gt;&lt;br&gt;
Mix instructions with untrusted data → behavior shifts unpredictably.&lt;/p&gt;

&lt;p&gt;This is not a bug.&lt;/p&gt;

&lt;p&gt;It is physics.&lt;/p&gt;
&lt;h3&gt;
  
  
  Context Window Architecture
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;+------------------------------------------------------+
| CONTEXT WINDOW |
+------------------------------------------------------+
| [SYSTEM INSTRUCTIONS] |
| - Role |
| - Rules |

- Constraints
[RETRIEVED DOCUMENTS]
- High-signal chunks only
------------------------------------------------------
[TOOL RESULTS]
- DB queries
- Code output
------------------------------------------------------
[CONVERSATION MEMORY]
- Summarized prior turns
+------------------------------------------------------+
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;If you dump everything into context, quality degrades.&lt;/p&gt;

&lt;p&gt;If you curate aggressively, stability improves.&lt;/p&gt;

&lt;p&gt;RAG is not a feature.&lt;/p&gt;

&lt;p&gt;It is memory architecture.&lt;/p&gt;

&lt;p&gt;External knowledge must be:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Indexed
&lt;/li&gt;
&lt;li&gt;Chunked correctly
&lt;/li&gt;
&lt;li&gt;Ranked
&lt;/li&gt;
&lt;li&gt;Injected with discipline
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Poor retrieval destroys generation quality.&lt;/p&gt;


&lt;h2&gt;
  
  
  4. Tool Use: When Text Becomes Action
&lt;/h2&gt;

&lt;p&gt;The moment your model can call tools, you do not have a chatbot.&lt;/p&gt;

&lt;p&gt;You have an agent.&lt;/p&gt;

&lt;p&gt;A minimal agent loop looks like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;User Request
↓
Model decides: Tool needed?
↓
[tool_use call]
↓
External Tool Executes
↓
[tool_result returned]
↓
Model continues reasoning
↓
Final Output
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This is how you build:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AI-assisted coding systems
&lt;/li&gt;
&lt;li&gt;Database-backed assistants
&lt;/li&gt;
&lt;li&gt;Autonomous workflows
&lt;/li&gt;
&lt;li&gt;CI-integrated agents
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But tools increase leverage and risk simultaneously.&lt;/p&gt;

&lt;p&gt;You must validate:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Tool inputs
&lt;/li&gt;
&lt;li&gt;Tool outputs
&lt;/li&gt;
&lt;li&gt;Execution boundaries
&lt;/li&gt;
&lt;li&gt;Failure states
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Otherwise your system will act incorrectly with confidence.&lt;/p&gt;




&lt;h2&gt;
  
  
  5. Security Is Architectural
&lt;/h2&gt;

&lt;p&gt;Large language models blur the boundary between:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Instructions
&lt;/li&gt;
&lt;li&gt;Data
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If untrusted content enters the same context space as system rules, behavior can be manipulated.&lt;/p&gt;

&lt;p&gt;This is structural.&lt;/p&gt;

&lt;p&gt;Not edge-case.&lt;/p&gt;

&lt;p&gt;Security must be built into the loop:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Separate system rules from user content
&lt;/li&gt;
&lt;li&gt;Sanitize retrieved documents
&lt;/li&gt;
&lt;li&gt;Validate tool calls
&lt;/li&gt;
&lt;li&gt;Include adversarial test cases
&lt;/li&gt;
&lt;li&gt;Run red-team scenarios
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If your agent can act, it can be exploited.&lt;/p&gt;

&lt;p&gt;Design accordingly.&lt;/p&gt;




&lt;h2&gt;
  
  
  6. The AI Product System Stack
&lt;/h2&gt;

&lt;p&gt;An AI-native product is not:&lt;/p&gt;

&lt;p&gt;Model + Prompt.&lt;/p&gt;

&lt;p&gt;It is a layered system.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;+--------------------------------------------------+
| AI PRODUCT SYSTEM |
+--------------------------------------------------+

1. Prompt Specification (versioned)
2. Context Architecture Map
--------------------------------------------------
3. Retrieval Layer (memory + chunking strategy)
--------------------------------------------------
4. Tool Layer (controlled action surface)
--------------------------------------------------
5. Evaluation Suite (automated + human review)
--------------------------------------------------
6. Security Layer (injection defenses)
--------------------------------------------------
7. Iteration Loop (continuous improvement)
+--------------------------------------------------+
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Without these layers, you do not have a product.&lt;/p&gt;

&lt;p&gt;You have a demo.&lt;/p&gt;




&lt;h2&gt;
  
  
  7. Visual Checklist: AI Product Builder Kit
&lt;/h2&gt;

&lt;p&gt;Use this as a founder checklist.&lt;/p&gt;

&lt;h3&gt;
  
  
  Day 1 — Define Success
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;User persona
&lt;/li&gt;
&lt;li&gt;Core workflow (5–7 steps)
&lt;/li&gt;
&lt;li&gt;Explicit success metrics
&lt;/li&gt;
&lt;li&gt;Defined failure cases
&lt;/li&gt;
&lt;li&gt;Risk list
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Artifact: &lt;strong&gt;LLM Success Spec&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Day 2 — Prompt Library
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Role-based system prompts
&lt;/li&gt;
&lt;li&gt;Few-shot examples
&lt;/li&gt;
&lt;li&gt;Anti-examples
&lt;/li&gt;
&lt;li&gt;Output contracts
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Artifact: &lt;strong&gt;Promptbook v1&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Day 3 — Context Map
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;What belongs in system?
&lt;/li&gt;
&lt;li&gt;What is retrieved?
&lt;/li&gt;
&lt;li&gt;What is memory?
&lt;/li&gt;
&lt;li&gt;What is dynamic state?
&lt;/li&gt;
&lt;li&gt;Chunking strategy
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Artifact: &lt;strong&gt;Context Architecture Diagram&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Day 4 — Tool Loop
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Implement 2–3 meaningful tools
&lt;/li&gt;
&lt;li&gt;Validate inputs
&lt;/li&gt;
&lt;li&gt;Log usage
&lt;/li&gt;
&lt;li&gt;Test failures
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Artifact: &lt;strong&gt;Tooling Spec + Working Tool&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Day 5 — Evaluation Suite
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;30–60 test cases
&lt;/li&gt;
&lt;li&gt;Normal cases
&lt;/li&gt;
&lt;li&gt;Edge cases
&lt;/li&gt;
&lt;li&gt;Adversarial cases
&lt;/li&gt;
&lt;li&gt;Automated scoring
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Artifact: &lt;strong&gt;Eval Suite v1&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Day 6 — Prototype
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;AI-assisted implementation
&lt;/li&gt;
&lt;li&gt;Integrated test harness
&lt;/li&gt;
&lt;li&gt;Minimal deployable system
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Artifact: &lt;strong&gt;Working Prototype&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Day 7 — Ship Discipline
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Full evaluation run
&lt;/li&gt;
&lt;li&gt;Context cleanup
&lt;/li&gt;
&lt;li&gt;Security review
&lt;/li&gt;
&lt;li&gt;Version documentation
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Artifact: &lt;strong&gt;AI Product Builder Kit v1&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Final Thought
&lt;/h2&gt;

&lt;p&gt;Model access is becoming a commodity.&lt;/p&gt;

&lt;p&gt;Prompt tricks are a commodity.&lt;/p&gt;

&lt;p&gt;API integration is a commodity.&lt;/p&gt;

&lt;p&gt;What is not a commodity:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Evaluation discipline
&lt;/li&gt;
&lt;li&gt;Context architecture
&lt;/li&gt;
&lt;li&gt;Secure tool integration
&lt;/li&gt;
&lt;li&gt;Iteration velocity
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The moat is not who has the best model.&lt;/p&gt;

&lt;p&gt;It is who builds the best systems around models.&lt;/p&gt;

&lt;p&gt;That is engineering.&lt;/p&gt;

&lt;p&gt;And that is how AI-native companies win.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>AWS App Mesh Deprecated: Migration Guide Before September 2026 Shutdown</title>
      <dc:creator>Kseniya Seliverstava</dc:creator>
      <pubDate>Sun, 15 Feb 2026 21:25:26 +0000</pubDate>
      <link>https://dev.to/kseniyaseliverstava/aws-app-mesh-deprecated-escaping-app-mesh-before-september-2026-1l7m</link>
      <guid>https://dev.to/kseniyaseliverstava/aws-app-mesh-deprecated-escaping-app-mesh-before-september-2026-1l7m</guid>
      <description>&lt;p&gt;&lt;strong&gt;AWS App Mesh End of Life: September 30, 2026.&lt;/strong&gt;[¹] New customers locked out since September 24, 2024. Existing customers have 8 months to migrate. Only critical security updates until shutdown.&lt;/p&gt;

&lt;h2&gt;
  
  
  AWS Official Replacements for App Mesh
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;ECS Service Connect&lt;/strong&gt; (for ECS) - AWS-managed mesh without sidecars&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;VPC Lattice&lt;/strong&gt; (for EKS) - Application networking across VPCs and accounts&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Direct ALB routing&lt;/strong&gt; - Simplest option for basic use cases&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Real-World Migration Case Study
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Migrated one production service: App Mesh → Direct ALB&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Timeline: ~6 hours total&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Active migration: 2 hours&lt;/li&gt;
&lt;li&gt;Troubleshooting: 4 hours&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Breakdown:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Planning &amp;amp; setup: 30 min&lt;/li&gt;
&lt;li&gt;Task definition changes: 15 min&lt;/li&gt;
&lt;li&gt;Service deployment: 20 min&lt;/li&gt;
&lt;li&gt;Security group fixes: 1 hour&lt;/li&gt;
&lt;li&gt;Health check troubleshooting: 2 hours&lt;/li&gt;
&lt;li&gt;ALB configuration: 15 min&lt;/li&gt;
&lt;li&gt;Testing: 1 hour&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Results:&lt;/strong&gt; Zero downtime. Full App Mesh removal. Instant rollback capability maintained.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key insight:&lt;/strong&gt; First service takes 4-6 hours (learning curve). Subsequent services: 1-2 hours each.&lt;/p&gt;

&lt;h2&gt;
  
  
  Critical Pre-Migration Requirements
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Rollback Strategy is Non-Negotiable
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Ensure all changes are reversible&lt;/li&gt;
&lt;li&gt;Don't remove App Mesh infrastructure until new setup is validated in production&lt;/li&gt;
&lt;li&gt;Avoid destructive configuration changes&lt;/li&gt;
&lt;li&gt;Maintain instant revert capability&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Phased Migration Approach
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Deploy new configuration alongside existing App Mesh&lt;/li&gt;
&lt;li&gt;Test thoroughly without affecting production traffic&lt;/li&gt;
&lt;li&gt;Gradually shift traffic to new infrastructure&lt;/li&gt;
&lt;li&gt;Validate stability and performance&lt;/li&gt;
&lt;li&gt;Remove App Mesh components only after proven success&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Common Migration Challenges
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Security Groups:&lt;/strong&gt; Update rules for direct service-to-service communication (no more Envoy proxies)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Health Checks:&lt;/strong&gt; Reconfigure ALB health checks for direct container access&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Service Discovery:&lt;/strong&gt; Implement AWS Cloud Map or ALB target groups&lt;/p&gt;

&lt;h2&gt;
  
  
  Migration Resources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://docs.aws.amazon.com/app-mesh/latest/userguide/what-is-app-mesh.html" rel="noopener noreferrer"&gt;AWS App Mesh End of Life&lt;/a&gt;[¹]&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aws.amazon.com/blogs/containers/migrating-from-aws-app-mesh-to-amazon-ecs-service-connect/" rel="noopener noreferrer"&gt;Migration to ECS Service Connect&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.aws.amazon.com/vpc-lattice/" rel="noopener noreferrer"&gt;VPC Lattice Documentation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;strong&gt;Action Required:&lt;/strong&gt; 8 months until shutdown. Start migration planning now.&lt;/p&gt;

</description>
      <category>aws</category>
      <category>devops</category>
      <category>infrastructure</category>
      <category>cloudcomputing</category>
    </item>
  </channel>
</rss>
