OpenAI, Hugging Face, and reward hacking as a security incident

OpenAI was evaluating a frontier model on cyber-security tasks inside ExploitGym, a sandboxed benchmark — informally, a “cyber gym.” The tasks are capture-the-flag style: a deliberately vulnerable system hides a secret string, the flag, and retrieving it proves you found the hole. The intended loop: 1 2 3 4 5 6 7 Find a vulnerability ↓ Exploit it ↓ Read the flag ↓ Return the flag Returning the flag is what earns the reward. That framing is the whole story: the agent was rewarded for producing the flag, not for solving the challenge. ...

August 21, 2026 · 2 min · Amir Hadifar

Autonomous Kaggling

I recently started a Kaggle competition and decided to apply autoresearch to it: an agent that loops forever to ace the leaderboard. The Kaggle problem is student health risk prediction: categorize records into three classes (unhealthy, at-risk, fit) from categorical features like sleep_duration, gender, and water_intake. I based my problem.md on autoresearch’s description with small modifications; it’s in hadifar/autonomous-kaggling, along with the full run. The commit history on the shr-v1 branch shows what ideas the agent applied and where each one landed, and results.csv in the root tracks the scores. ...

July 31, 2026 · 4 min · Amir Hadifar

Elastic as a Vector Search Engine

There are many vector databases available today, such as Chroma, Pinecone, Qdrant, Milvus, pgvector, and Elastic. Each offers unique capabilities and is useful in different situations. For developers integrating vector search into their applications for the first time, Chroma and Milvus tend to provide excellent documentation and straightforward implementations. However, many production systems still rely on traditional sparse or boolean retrieval engines like Elasticsearch. In those contexts, Elasticsearch remains extremely efficient and is arguably one of the best solutions available. That said, Elasticsearch joined the vector-search space relatively late (basic dense-vector support was introduced around version 8.x), and historically you needed custom scripts for many advanced features. ...

December 2, 2025 · 3 min · Amir Hadifar

Token-Oriented Object Notation: An Alternative to JSON?

I first came across TOON (Token-Oriented Object Notation) on LinkedIn, where developers were discussing its promise: lossless compression of JSON and YAML, specifically optimized for large language models (LLMs). The core idea? Reduce token count without sacrificing information, which directly translates to lower costs and potentially faster processing. Comparison between TOON and JSON for nested objects At first glance, TOON looks familiar yet distinct. For instance, a TOON object always begins with the number of items (e.g., [2] in the figure above), and unlike JSON it drops quotation marks (") around keys. This minimalism becomes especially powerful with flat data structures. In those cases, TOON starts to resemble CSV format: a header row followed by values. The result? Significant token savings (I used their Python version for my experiments). ...

November 27, 2025 · 2 min · Amir Hadifar