Sean Wu
02/11/2026, 7:14 PMAntonii Belyshev
02/13/2026, 7:54 AMSean Wu
02/15/2026, 7:54 PMAntonii Belyshev
02/16/2026, 11:31 AMAIAgent(
...
) {
install(PromptInjection) {
updatePrompt { prompt: Prompt ->
val updatedPrompt = ... // inject some messages if needed, e.g. val updatedPrompt = prompt(prompt) { user("You have the following skill ...") }
updatedPrompt
}
}
}
It will update the prompt just before sending it to the llm and not inject the skill in the message history. After we have this generic component, we can see if we need to add some out-of-the-box skill-specific heuristics for prompt injections.
cc: @Vadim Briliantov WDYT?Vadim Briliantov
02/16/2026, 1:14 PMSean Wu
02/18/2026, 5:47 PMSean Wu
02/18/2026, 5:47 PMSean Wu
02/18/2026, 5:52 PMSean Wu
02/18/2026, 6:06 PMSean Wu
02/18/2026, 6:08 PMVadim Briliantov
02/19/2026, 11:03 AMai.koog:koog-agents (https://mvnrepository.com/artifact/ai.koog/koog-agents) for convenience that contains everything so that you can have a fast setupVadim Briliantov
02/19/2026, 11:07 AMAIAgent is an interface and you can wrap anything inside. For instance, here in this PR (https://github.com/JetBrains/koog/pull/1413) Anton has wrapped Claude Code (as well as other “remotely running” or non-Koog-native agents) into AIAgent interface.Vadim Briliantov
02/19/2026, 11:08 AMSean Wu
02/19/2026, 8:41 PMSean Wu
02/19/2026, 8:46 PMSean Wu
02/19/2026, 10:11 PMAntonii Belyshev
02/20/2026, 10:50 AM