# Learning Palantir Foundry
🚀 Action Types are what decisively separate Foundry from read-only BI. Approvals and assignments become safe, validated, structured writes.
📌 Title and Feature URL
Title: アクションタイプ
URL:
📝 Overview
An Action Type defines a set of changes a user can apply to ontology objects, properties, and links in a single transaction. It encapsulates both the data modifications and any side effects triggered on submission, letting users think in terms of overall goals rather than individual property edits.
🔧 How It Works
- Write-back to the ontology: when an action runs, all changes are committed to the ontology and reflected across every app. The latest object data, including user edits, is captured in the object type's write-back dataset.
- Parameters and defaults: parameters standardize input, supporting default values, filtered dropdown results, and overrides.
- Rules: define when and how an action executes, including object relationships and property constraints.
- Submission criteria and validation: validation rules control execution eligibility and error handling before changes persist.
- Action logs: a full audit trail of every executed action supports accountability and compliance.
🛠 Practical Usage
- Run an "Assign Employee" style action that changes a role property, auto-creates a manager-employee link, and notifies stakeholders in one transaction.
- Embed submission criteria like "only a director may submit amounts over 1M yen" as validation, replacing Excel-plus-email approvals with structured operations.
- Reuse the same validation logic and workflow consistently across every user-facing app.
🎯 Use Cases
- Standardize status changes, approvals, and assignments as permissioned, criteria-bound operations.
- Let non-technical users safely execute multi-step changes spanning several objects.
- Use the action log of every operation as an audit trail for internal controls.
⚠️ Caveats
- Actions execute only after passing their validation rules, so submission-criteria design drives the quality of your controls.
- Changes propagate immediately across the ontology and all apps, so do not leave rule and parameter design ambiguous.
#
PalantirFoundry# #
Ontology#
もっと見る
# OpenAI Agent SDKの便利だけど知られていない機能
🌍 ツールの結果をそのまま最終出力にしたいのに、モデルが余計な要約を挟んでいませんか?
`tool_use_behavior` を設定すれば、ツール出力をそのまま最終結果にしたり、特定のツールで停止させるなど、出力の制御を細かくカスタマイズできます。
📌 タイトル:tool_use_behavior
🔗 URL:
🧩 概要
`tool_use_behavior` はエージェントがツールを呼び出した後の挙動を制御するオプションです。`"stop_on_first_tool"` を指定すると、最初のツール出力がそのまま最終出力になります。`StopAtTools(stop_at_tool_names=[...])` で特定ツールのみ停止対象にできます。さらにカスタム関数を渡せば、`ToolsToFinalOutputResult(is_final_output=True, final_output=...)` を返すことで、出力を加工してから最終結果にすることも可能です。
🛠 使い方
```python
from agents import Agent, StopAtTools, ToolsToFinalOutputResult
# 最初のツール出力をそのまま最終結果に
agent_direct = Agent(
name="direct",
tools=[search_tool],
tool_use_behavior="stop_on_first_tool",
)
# 特定ツールでのみ停止
agent_selective = Agent(
name="selective",
tools=[search_tool, format_tool, send_tool],
tool_use_behavior=StopAtTools(
stop_at_tool_names=["format_tool"]
),
)
# カスタム関数で出力を制御
def custom_behavior(context, tool_results):
result = tool_results[0]
if result.tool_name == "get_answer":
return ToolsToFinalOutputResult(
is_final_output=True,
final_output=f"回答: {result.output}",
)
return ToolsToFinalOutputResult(is_final_output=False)
agent_custom = Agent(
name="custom",
tools=[get_answer, search_tool],
tool_use_behavior=custom_behavior,
)
```
🏗 本番システムへの組み込み方
・API呼び出し結果をそのまま返すプロキシ型エージェントに `"stop_on_first_tool"` を活用する
・パイプライン内の特定ステップで出力を確定させ、無駄なLLM呼び出しを削減する
・カスタム関数で出力フォーマットを統一し、下流システムとのインテグレーションを安定させる
・構造化データ(JSON等)をモデルに要約させず、そのまま後続処理に渡す
💡 ユースケース
🔌 API結果をそのまま返すプロキシエージェント
📊 データベースクエリ結果の直接出力
🔄 パイプラインの中間ステップでの出力確定
🎯 特定ツールの結果だけを最終出力にする選択的制御
⚠️ 注意点
`"stop_on_first_tool"` を使うと、モデルによる結果の解釈や補足が行われなくなります。ユーザー向けの分かりやすい出力が必要な場合はカスタム関数で調整してください。複数ツールが並列呼び出しされた場合の挙動も事前に確認しましょう。
✨ `tool_use_behavior` で、エージェントの出力を「モデル任せ」から「設計通り」に制御しましょう。
#
OpenAIAgentSDK# #
AIAgent#
もっと見る
# Claude Agent SDKの便利だけど知られていない機能
🌍 エージェントのツール実行が遅い?読み取り専用ツールを並列化すれば大幅に高速化できます!
readOnlyHint を設定するだけで、安全なツールが自動的に並列実行されるようになります。
📌 タイトル:読み取り専用ツールの並列実行 (readOnlyHint)
🔗 URL:
🧩 概要
Claude Agent SDKでは、読み取り専用のツール(Read、Glob、Grep、および `readOnlyHint` が設定されたMCPツール)が自動的に並列実行されます。一方、書き込みを伴うツール(Edit、Write、Bash)は安全のため逐次実行されます。カスタムツールはデフォルトで逐次実行ですが、MCP SDKのアノテーションで `readOnlyHint` を設定することで並列実行の対象にできます。
🛠 使い方
```typescript
// MCP ツール定義で readOnlyHint を設定
const tool = {
name: "search_database",
description: "Search the database for records",
inputSchema: { /* ... */ },
annotations: {
readOnlyHint: true, // これで並列実行の対象になる
},
};
```
```python
# Python - MCP サーバーでのツール定義
@server.tool(
name="search_database",
annotations={"readOnlyHint": True},
)
async def search_database(query: str) -> str:
# 読み取り専用の処理
return results
```
🏗 本番システムへの組み込み方
・データベース検索や外部API参照など、副作用のないカスタムツールには必ず `readOnlyHint` を設定します
・書き込みを伴うツールは逐次実行のままにして、データの整合性を保ちます
・並列実行による速度向上を計測し、ボトルネックを特定します
・MCP サーバーの設計段階で、読み取り専用と書き込みツールを明確に分離します
💡 ユースケース
🔍 複数のファイルを同時に検索して、コードベース全体の調査を高速化する
📊 複数のデータソースから同時にデータを取得して、分析レポートを素早く作成する
🌐 複数の外部APIを並列で呼び出して、情報収集のレイテンシーを削減する
⚠️ 注意点
・`readOnlyHint` はあくまでヒントであり、ツールが実際に副作用を持たないことは開発者が保証する必要があります
・副作用のあるツールに誤って `readOnlyHint` を設定すると、並列実行による競合が発生する可能性があります
・カスタムツールはデフォルトで逐次実行のため、明示的に設定しないと並列化されません
・フィールド名は MCP SDK の仕様に由来しています
✨ ちょっとした設定一つで、エージェントの実行速度が劇的に変わることがあります。読み取り専用ツールへの `readOnlyHint` 設定は、最もコスパの良い最適化の一つです!
#
ClaudeAgentSDK# #
AIAgent#
もっと見る
# ADK 2.0の便利だけど知られていない機能
🌍 ワークフローの構造を実行時に動的に決めたい — そんな要求に応えるのが動的ワークフローです。
ADK 2.0の動的ワークフロー機能では、`
@node`デコレータと`
📌 タイトル:動的ワークフロー
🔗 URL:
🧩 概要
動的ワークフローは、`
@node`デコレータで関数をノードとしてマークし、`
🛠 使い方
`
@node`デコレータで関数をラップし、`
```python
from adk import node, WorkflowContext
import asyncio
@node
async def process_items(ctx: WorkflowContext):
items = ctx.input.output["items"]
# ループ処理
for item in items:
await input=item)
# 並列実行
tasks = [ input=item) for item in items]
results = await asyncio.gather(*tasks)
return Event(output={"results": results})
@node(rerun_on_resume=True)
async def orchestrator(ctx: WorkflowContext):
# このノードは再開時にも再実行される
data = await
processed = await input=data)
return Event(output=processed)
```
RequestInputと組み合わせれば、動的ワークフロー内でもHuman-in-the-Loopを実現できます。
🏗 本番システムへの組み込み方
・チェックポイントを活用し、長時間実行ワークフローの耐障害性を確保する
・`rerun_on_resume=True`は状態に依存する親ノードにのみ適用し、冪等性を意識する
・並列実行数を制御し、外部APIのレートリミットに配慮する
・再帰の深さに上限を設け、無限ループを防止する
💡 ユースケース
🔁 可変長のデータリストに対するループ処理(件数が事前に分からないケース)
⚡ 複数の独立したタスクを`asyncio.gather()`で並列実行
🌳 ツリー構造のデータを再帰的に処理するワークフロー
🔄 処理結果に応じて次のステップを動的に決定するアダプティブパイプライン
⚠️ 注意点
動的ワークフローは柔軟性が高い反面、静的なグラフ定義に比べてフローの全体像が把握しにくくなります。再帰やループの終了条件を明示的に定義し、無限ループに陥らないよう注意してください。また、`asyncio.gather()`での並列実行時は、各タスクのエラーハンドリングを個別に行う必要があります。
✨ 静的なグラフでは表現できない複雑なロジックを、Pythonの自然な制御構造で記述できるのが動的ワークフローの強みです。チェックポイント機能と組み合わせて、堅牢な本番ワークフローを構築しましょう。
#
ADK# #
AIAgent#
もっと見る
Breaking down TSMC's glass core substrate slide
On June 11, at JPCA Show 2026 in Japan, TSMC gave a roughly 40-slide presentation titled "Advanced Packaging Technology Essential to the Evolution of AI" (AIの進化に不可欠な先端パッケージング技術). One slide from the deck, titled "Glass Substrate Development for CoWoS," has since leaked online and widespread attention.
Here's a closer read of that slide (see attached image). I'll skip the technical background that is already widely available. One thing to flag: the "COP" on the slide does not stand for Chip-on-Package. It means Coplanarity.
▌ Key conclusions:
1. TSMC has officially announced a partnership with Ibiden and Innolux to develop a glass core substrate. The structure is a three-layer design, a glass core sandwiched between two ABF build-up layers. This is the "oS" in CoPoS.
2. The market underestimates how important the glass core substrate is. It's a must-have capability for TSMC. In other words, within CoPoS the "oS" matters more than the "CoP", which is also why, when it was tested, it was paired with the existing CoW rather than with CoP.
3. The glass core substrate costs several times more per unit than existing ABF substrates. The glass processed by Innolux is very expensive per unit and is the single most critical material. Besides Nvidia, two US-based customers have also expressed strong interest.
▌ Industry checks tied to this slide:
1. The glass core substrate shown on the slide is cut from a full-size 250×250mm one. The ABF build-up layers mainly use Ajinomoto's GL107, mixed with ABF-GCP, and were tested at 24–28 layers, which is the mainstream ABF spec for AI chips in 2027–2028.
2. The CoW used in TSMC's experiment is a test vehicle. It is sufficient to validate the most challenging mechanical-structure issues that arise when working with composite materials. Good results mean TSMC, Ibiden, and Innolux have together broken through the critical technical bottleneck.
3. Ibiden currently handles cutting the 250×250mm glass core substrate. When the 510×515mm format is used for pre-mass-production simulation in 2H27, if Ibiden still wants to reduce production complexity to protect its ultra-high gross margins, it may hand the cutting over to Innolux, which is more familiar with the properties of glass.
▌ The leaked slide shows the validation results of pairing CoW with the "oS" in CoPoS, i.e., the glass core substrate (labeled "glass-SBT" on the slide). This addresses the "Substrate mechanical and electrical Dilemma" raised on the previous slide, and it strongly underscores how important the "oS" is within CoPoS.
1. Within CoPoS, what CoP solves is production efficiency / cutting economics, which ties to cost and price. What the oS solves is warpage and durability, which determines whether the chip can be made at all, and whether it can work.
2. CoP and oS complement each other well when integrated, but looking out over the next few years their technical roles still differ. CoP is a very-nice-to-have optimization, and going without it simply means a more expensive chip. But the oS is a must-have. Without it, even being able to make a usable chip is in doubt.
3. Comparing their roles isn't about elevating oS at the expense of CoP. It comes down to the practical question of which technical piece customers are willing to pay for. Details below.
▌ The real gold here is the power integrity (PI) improvement shown on the slide. This matters a great deal to customers, and it means that once glass core substrate production stabilizes, TSMC's profitability and competitive edge should rise in tandem.
1. How it works: the glass core substrate is thin → the vertical conduction path through TGV (through-glass vias) is short → conduction-path resistance (R) and loop inductance (L) both drop → PI improves.
2. Why it matters to customers: better PI → more stable power delivery → frees up power headroom → room to integrate more transistors, or to push clock speeds higher → more AI compute.
3. For customers, production efficiency is TSMC's basic responsibility, so they won't pay extra for it. But gains in AI compute translate directly into the customer's own competitiveness and profit, so customers are willing to pay for that. This is why Nvidia is so positive on the glass core substrate.
4. For TSMC, the glass core substrate raises yield and lowers cost while also boosting both the compute and the selling price of AI chips. It's both a cost-cutting tool and a pricing lever, a plus for profitability and competitiveness alike.
5. Substrate cost currently accounts for a low single-digit percentage of an AI chip's BOM, while losses from packaging yield run roughly 5–10× the substrate cost. So even if the glass core substrate ends up costing several times more than today's, its share of the BOM stays low, and it can cut the losses from packaging yield. The high unit price is therefore not expected to dampen customers' willingness to adopt it.
▌ In the Q&A after the presentation, an audience member asked about TGV details for the glass core substrate. TSMC declined to answer on the spot, because TGV is the key technology behind the glass core substrate, and the core know-how currently sits with TSMC and Innolux. By contrast, when another attendee asked about integrating IVR, eDTC, and LSI, TSMC answered at length.
▌ According to industry checks, if all goes well, TSMC is aiming to start mass production of the glass core substrate in 4Q28–1Q29, to match the cadence of Nvidia's AI chip iterations. As a side note: the Ibiden earnings presentation slide that many people have been circulating lists the glass core substrate timeline as CY30. My read is this: Ibiden, which has always been conservative and cautious in public, has now formally put the glass core substrate on its roadmap, which further confirms the long-term trend for this technology. That said, some other details on Ibiden's slide don't fully line up with what's known in the market. For example, its reticle timeline is off from TSMC's public claims by about a generation, and the Rubin Ultra substrate size is clearly larger than the 90×90 it marked for CY26–27. It's a reminder to always cross-check across multiple sources when forecasting the future.
もっと見る
# Learning Palantir Foundry
🚀 Put business logic right on the ontology. Functions cure the "numbers don't match across departments" problem by centralizing logic in one place.
📌 Title and Feature URL
Title: ファンクション
URL:
📝 Overview
Functions let you write server-side logic that executes in isolated environments, powering operational apps like dashboards and decision-support tools. They are designed to work with Foundry ontologies, so they can read object properties, traverse links, and perform flexible ontology edits.
🔧 How It Works
- Supported languages: TypeScript (full feature support) and Python (beta, with growing support especially for serverless and deployed execution).
- Serverless execution: spins up on demand when invoked and bills only during execution, with a 60-second total wall-clock timeout (30s CPU plus a 30s network buffer). Multiple versions can run simultaneously, making upgrades safer.
- Deployed execution: reserves dedicated resources for cases serverless cannot meet, runs a single version at a time, and bills continuously while deployed.
- Capability differences: ontology read/write, Workshop integration, and external API calls work in both languages. Pipeline Builder is Python, while model embedding and semantic search are TypeScript.
🛠 Practical Usage
- Derived properties: display function-computed values as table columns.
- Function-backed Actions: implement complex edits spanning multiple objects.
- Workshop integration: run functions to compute or display variables.
- API gateway: invoke query functions programmatically to reuse the same logic everywhere.
🎯 Use Cases
- Implement derived-KPI logic once and return identical results to Workshop, OSDK, and the API.
- Query external systems to enrich ontology objects.
- Build complex validation or bulk updates as function-backed Actions.
⚠️ Caveats
- The 60-second timeout applies uniformly across execution modes, so optimize for efficiency.
- Available capabilities depend on the invocation context (for example, model embedding and semantic search are TypeScript only), so decide on language early.
#
PalantirFoundry# #
DataEngineering#
もっと見る